From 8bb20925edeea72c837f5bdcaceb47db10b623a3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 21 Oct 2010 22:46:10 +0900 Subject: [PATCH 0001/1463] Adding vague initial draft of GtkCellArea to the codebase (treeview-refactor branch). --- gtk/gtkcellarea.c | 174 ++++++++++++++++++++++++++++++++++++++++++++++ gtk/gtkcellarea.h | 169 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 343 insertions(+) create mode 100644 gtk/gtkcellarea.c create mode 100644 gtk/gtkcellarea.h diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c new file mode 100644 index 0000000000..4b44f388f7 --- /dev/null +++ b/gtk/gtkcellarea.c @@ -0,0 +1,174 @@ + + + +#include "gtkcellarea.h" + + + +G_DEFINE_ABSTRACT_TYPE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED); + + + +/* Basic methods */ +void +gtk_cell_area_add (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->add) + klass->add (area, renderer); + else + g_warning ("GtkCellAreaClass::add not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_remove (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->remove) + klass->remove (area, renderer); + else + g_warning ("GtkCellAreaClass::remove not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (callback != NULL); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->forall) + klass->forall (area, callback, callback_data); + else + g_warning ("GtkCellAreaClass::forall not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_apply_attribute (GtkCellArea *area, + gint attribute, + GValue *value) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (G_IS_VALUE (value)); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->forall) + klass->apply_attribute (area, attribute, value); + else + g_warning ("GtkCellAreaClass::apply_attribute not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + +} + +gint +gtk_cell_area_event (GtkCellArea *area, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area) +{ + GtkCellAreaClass *klass; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); + g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); + g_return_val_if_fail (event != NULL, 0); + g_return_val_if_fail (cell_area != NULL, 0); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->forall) + klass->apply_attribute (area, attribute, value); + else + g_warning ("GtkCellAreaClass::apply_attribute not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_render (GtkCellArea *area, + cairo_t *cr, + GtkWidget *widget, + const GdkRectangle *cell_area) +{ + +} + + +/* Geometry */ +GtkSizeRequestMode +gtk_cell_area_get_request_mode (GtkCellArea *area) +{ + +} + +void +gtk_cell_area_get_preferred_width (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + + +} + +void +gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + +} + +void +gtk_cell_area_get_preferred_height (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + + +} + +void +gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + +} + +void +gtk_cell_area_get_preferred_size (GtkCellArea *area, + GtkWidget *widget, + GtkRequisition *minimum_size, + GtkRequisition *natural_size) +{ + +} diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h new file mode 100644 index 0000000000..57d6781c25 --- /dev/null +++ b/gtk/gtkcellarea.h @@ -0,0 +1,169 @@ +/* gtkcellarea.h + * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_CELL_AREA_H__ +#define __GTK_CELL_AREA_H__ + +#include +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_CELL_AREA (gtk_cell_area_get_type ()) +#define GTK_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA, GtkCellArea)) +#define GTK_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) +#define GTK_IS_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA)) +#define GTK_IS_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA)) +#define GTK_CELL_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) + +typedef struct _GtkCellArea GtkCellArea; +typedef struct _GtkCellAreaClass GtkCellAreaClass; + + +/** + * GtkCellCallback: + * @cell: the cell renderer to operate on + * @data: user-supplied data + * + * The type of the callback functions used for iterating over + * the cell renderers of a #GtkCellArea, see gtk_cell_area_forall(). + */ +typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, + gpointer data); + + +struct _GtkCellArea +{ + GInitiallyUnowned parent_instance; + + /* */ + GtkCellAreaPrivate *priv; +}; + +struct _GtkCellAreaClass +{ + GInitiallyUnownedClass parent_class; + + /* vtable - not signals */ + void (* add) (GtkCellArea *area, + GtkCellRenderer *renderer); + void (* remove) (GtkCellArea *area, + GtkCellRenderer *renderer); + void (* forall) (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); + void (* apply_attribute) (GtkCellArea *area, + gint attribute, + GValue *value); + gint (* event) (GtkCellArea *area, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area); + void (* render) (GtkCellArea *area, + cairo_t *cr, + GtkWidget *widget, + const GdkRectangle *cell_area); + + GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); + void (* get_preferred_width) (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); + void (* get_preferred_height_for_width) (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); + void (* get_preferred_height) (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); + void (* get_preferred_width_for_height) (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); + + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); + void (*_gtk_reserved7) (void); + void (*_gtk_reserved8) (void); +}; + +GType gtk_cell_area_get_type (void) G_GNUC_CONST; + +/* Basic methods */ +void gtk_cell_area_add (GtkCellArea *area, + GtkCellRenderer *renderer); +void gtk_cell_area_remove (GtkCellArea *area, + GtkCellRenderer *renderer); +void gtk_cell_area_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); +void gtk_cell_area_apply_attribute (GtkCellArea *area, + gint attribute, + GValue *value); +gint gtk_cell_area_event (GtkCellArea *area, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area); +void gtk_cell_area_render (GtkCellArea *area, + cairo_t *cr, + GtkWidget *widget, + const GdkRectangle *cell_area); + +/* Geometry */ +GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); +void gtk_cell_area_get_preferred_width (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_get_preferred_height (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_get_preferred_size (GtkCellArea *area, + GtkWidget *widget, + GtkRequisition *minimum_size, + GtkRequisition *natural_size); + + +G_END_DECLS + +#endif /* __GTK_CELL_AREA_H__ */ From 705e7ee100e89280033307275b5037b96c3c57e7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 22 Oct 2010 16:41:52 +0900 Subject: [PATCH 0002/1463] Added GtkCellArea to the build Starting to form a good api, implemented most of GtkCellLayout iface on the base class routing the apis through the new class vfuncs. --- gtk/Makefile.am | 2 + gtk/gtkcellarea.c | 413 +++++++++++++++++++++++++++++++++++++++++----- gtk/gtkcellarea.h | 76 +++++++-- 3 files changed, 439 insertions(+), 52 deletions(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 2f77957b06..ae999f1ce3 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -168,6 +168,7 @@ gtk_public_h_sources = \ gtkbuildable.h \ gtkbutton.h \ gtkcalendar.h \ + gtkcellarea.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ @@ -428,6 +429,7 @@ gtk_base_c_sources = \ gtkbuilderparser.c \ gtkbutton.c \ gtkcalendar.c \ + gtkcellarea.c \ gtkcelleditable.c \ gtkcelllayout.c \ gtkcellrenderer.c \ diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 4b44f388f7..a1bdb046fe 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1,13 +1,236 @@ +/* gtkcellarea.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ - - +#include "gtkcelllayout.h" #include "gtkcellarea.h" +/* GtkCellAreaClass */ +static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); -G_DEFINE_ABSTRACT_TYPE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED); +/* GtkCellLayoutIface */ +static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface); +static void gtk_cell_area_pack_default (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand); +static void gtk_cell_area_clear (GtkCellLayout *cell_layout); +static void gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +static void gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer); +static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); + +G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_cell_area_cell_layout_init)); +static void +gtk_cell_area_init (GtkCellArea *area) +{ + +} + +static void +gtk_cell_area_class_init (GtkCellAreaClass *klass) +{ + /* general */ + klass->add = NULL; + klass->remove = NULL; + klass->forall = NULL; + klass->event = NULL; + klass->render = NULL; + + /* attributes */ + klass->attribute_connect = NULL; + klass->attribute_disconnect = NULL; + klass->attribute_apply = NULL; + klass->attribute_forall = NULL; + + /* geometry */ + klass->get_request_mode = NULL; + klass->get_preferred_width = NULL; + klass->get_preferred_height = NULL; + klass->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; + klass->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; +} + + +/************************************************************* + * GtkCellLayoutIface * + *************************************************************/ +static void +gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface) +{ + iface->pack_start = gtk_cell_area_pack_default; + iface->pack_end = gtk_cell_area_pack_default; + iface->clear = gtk_cell_area_clear; + iface->add_attribute = gtk_cell_area_add_attribute; + iface->clear_attributes = gtk_cell_area_clear_attributes; + iface->get_cells = gtk_cell_area_get_cells; +} + +static void +gtk_cell_area_pack_default (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand) +{ + gtk_cell_area_add (GTK_CELL_AREA (cell_layout), renderer); +} + +static void +gtk_cell_area_clear (GtkCellLayout *cell_layout) +{ + GtkCellArea *area = GTK_CELL_AREA (cell_layout); + GList *l, *cells = + gtk_cell_layout_get_cells (cell_layout); + + for (l = cells; l; l = l->next) + { + GtkCellRenderer *renderer = l->data; + gtk_cell_area_remove (area, renderer); + } + + g_list_free (cells); +} + + +static void +gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id) +{ + gtk_cell_area_attribute_connect (GTK_CELL_AREA (cell_layout), + renderer, attribute, id); +} + + +typedef struct { + const gchar *attribute; + gchar id; +} CellAttribute; + +static void +accum_attributes (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id, + GList **accum) +{ + CellAttribute *attrib = g_slice_new (CellAttribute); + + attrib->attribute = attribute; + attrib->id = id; + + *accum = g_list_prepend (*accum, attrib); +} + +static void +gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer) +{ + GtkCellArea *area = GTK_CELL_AREA (cell_layout); + GList *l, *attributes = NULL; + + /* Get a list of attributes so we dont modify the list inline */ + gtk_cell_area_attribute_forall (area, renderer, + (GtkCellAttributeCallback)accum_attributes, + &attributes); + + for (l = attributes; l; l = l->next) + { + CellAttribute *attrib = l->data; + + gtk_cell_area_attribute_disconnect (area, renderer, + attrib->attribute, attrib->id); + + g_slice_free (CellAttribute, attrib); + } + + g_list_free (attributes); +} + + +static void +accum_cells (GtkCellRenderer *renderer, + GList **accum) +{ + *accum = g_list_prepend (*accum, renderer); +} + +static GList * +gtk_cell_area_get_cells (GtkCellLayout *cell_layout) +{ + GList *cells = NULL; + + gtk_cell_area_forall (GTK_CELL_AREA (cell_layout), + (GtkCellCallback)accum_cells, + &cells); + + return g_list_reverse (cells); +} + + +/************************************************************* + * GtkCellAreaClass * + *************************************************************/ +static void +gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + /* If the area doesnt do height-for-width, fallback on base preferred height */ + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_height, natural_height); +} + +static void +gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + /* If the area doesnt do width-for-height, fallback on base preferred width */ + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_width, natural_width); +} + +/************************************************************* + * API * + *************************************************************/ /* Basic methods */ void @@ -65,26 +288,6 @@ gtk_cell_area_forall (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } -void -gtk_cell_area_apply_attribute (GtkCellArea *area, - gint attribute, - GValue *value) -{ - GtkCellAreaClass *klass; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (G_IS_VALUE (value)); - - klass = GTK_CELL_AREA_GET_CLASS (area); - - if (klass->forall) - klass->apply_attribute (area, attribute, value); - else - g_warning ("GtkCellAreaClass::apply_attribute not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); - -} - gint gtk_cell_area_event (GtkCellArea *area, GtkWidget *widget, @@ -100,11 +303,12 @@ gtk_cell_area_event (GtkCellArea *area, klass = GTK_CELL_AREA_GET_CLASS (area); - if (klass->forall) - klass->apply_attribute (area, attribute, value); - else - g_warning ("GtkCellAreaClass::apply_attribute not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + if (klass->event) + return klass->event (area, widget, event, cell_area); + + g_warning ("GtkCellAreaClass::event not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + return 0; } void @@ -113,15 +317,125 @@ gtk_cell_area_render (GtkCellArea *area, GtkWidget *widget, const GdkRectangle *cell_area) { + GtkCellAreaClass *klass; + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (cr != NULL); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (cell_area != NULL); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->render) + klass->render (area, cr, widget, cell_area); + else + g_warning ("GtkCellAreaClass::render not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + + +/* Attributes */ +void +gtk_cell_area_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (attribute != NULL); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->attribute_connect) + klass->attribute_connect (area, renderer, attribute, id); + else + g_warning ("GtkCellAreaClass::attribute_connect not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (attribute != NULL); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->attribute_disconnect) + klass->attribute_disconnect (area, renderer, attribute, id); + else + g_warning ("GtkCellAreaClass::attribute_disconnect not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_attribute_apply (GtkCellArea *area, + gint id, + GValue *value) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (G_IS_VALUE (value)); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->attribute_apply) + klass->attribute_apply (area, id, value); + else + g_warning ("GtkCellAreaClass::attribute_apply not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_attribute_forall (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellAttributeCallback callback, + gpointer user_data) +{ + GtkCellAreaClass *klass; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (callback != NULL); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->attribute_forall) + klass->attribute_forall (area, renderer, callback, user_data); + else + g_warning ("GtkCellAreaClass::attribute_forall not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /* Geometry */ GtkSizeRequestMode -gtk_cell_area_get_request_mode (GtkCellArea *area) +gtk_cell_area_get_request_mode (GtkCellArea *area) { + GtkCellAreaClass *klass; + g_return_val_if_fail (GTK_IS_CELL_AREA (area), + GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH); + + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->get_request_mode) + return klass->get_request_mode (area); + + g_warning ("GtkCellAreaClass::get_request_mode not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + + return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } void @@ -130,8 +444,18 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, gint *minimum_size, gint *natural_size) { + GtkCellAreaClass *klass; + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->get_preferred_width) + klass->get_preferred_width (area, widget, minimum_size, natural_size); + else + g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } void @@ -141,7 +465,13 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, gint *minimum_height, gint *natural_height) { + GtkCellAreaClass *klass; + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + + klass = GTK_CELL_AREA_GET_CLASS (area); + klass->get_preferred_height_for_width (area, widget, width, minimum_height, natural_height); } void @@ -150,8 +480,18 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, gint *minimum_size, gint *natural_size) { + GtkCellAreaClass *klass; + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + klass = GTK_CELL_AREA_GET_CLASS (area); + + if (klass->get_preferred_height) + klass->get_preferred_height (area, widget, minimum_size, natural_size); + else + g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } void @@ -161,14 +501,11 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, gint *minimum_width, gint *natural_width) { + GtkCellAreaClass *klass; -} - -void -gtk_cell_area_get_preferred_size (GtkCellArea *area, - GtkWidget *widget, - GtkRequisition *minimum_size, - GtkRequisition *natural_size) -{ - + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + + klass = GTK_CELL_AREA_GET_CLASS (area); + klass->get_preferred_width_for_height (area, widget, height, minimum_width, natural_width); } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 57d6781c25..20da8c41d3 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -1,5 +1,9 @@ /* gtkcellarea.h - * Copyright (C) 2000 Red Hat, Inc., Jonathan Blandford + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -42,7 +46,7 @@ typedef struct _GtkCellAreaClass GtkCellAreaClass; /** * GtkCellCallback: - * @cell: the cell renderer to operate on + * @renderer: the cell renderer to operate on * @data: user-supplied data * * The type of the callback functions used for iterating over @@ -52,12 +56,29 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, gpointer data); +/** + * GtkCellAttributeCallback: + * @area: the #GtkCellArea containing @renderer + * @renderer: the #GtkCellRenderer that has an attribute + * @attribute: the property attributed to @id + * @id: the identifier of this attributed value + * @data: user-supplied data + * + * The type of the callback functions used for iterating over the + * attributes of the cell renderers in a #GtkCellArea, + * see gtk_cell_area_attribute_forall(). + */ +typedef void (*GtkCellAttributeCallback) (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id, + gpointer data); + + struct _GtkCellArea { GInitiallyUnowned parent_instance; - /* */ - GtkCellAreaPrivate *priv; }; struct _GtkCellAreaClass @@ -65,6 +86,8 @@ struct _GtkCellAreaClass GInitiallyUnownedClass parent_class; /* vtable - not signals */ + + /* Basic methods */ void (* add) (GtkCellArea *area, GtkCellRenderer *renderer); void (* remove) (GtkCellArea *area, @@ -72,9 +95,6 @@ struct _GtkCellAreaClass void (* forall) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); - void (* apply_attribute) (GtkCellArea *area, - gint attribute, - GValue *value); gint (* event) (GtkCellArea *area, GtkWidget *widget, GdkEvent *event, @@ -84,6 +104,24 @@ struct _GtkCellAreaClass GtkWidget *widget, const GdkRectangle *cell_area); + /* Attributes */ + void (* attribute_connect) (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); + void (* attribute_disconnect) (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); + void (* attribute_apply) (GtkCellArea *area, + gint id, + GValue *value); + void (* attribute_forall) (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellAttributeCallback callback, + gpointer user_data); + + /* Geometry */ GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, GtkWidget *widget, @@ -126,9 +164,6 @@ void gtk_cell_area_remove (GtkCellArea void gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); -void gtk_cell_area_apply_attribute (GtkCellArea *area, - gint attribute, - GValue *value); gint gtk_cell_area_event (GtkCellArea *area, GtkWidget *widget, GdkEvent *event, @@ -138,6 +173,23 @@ void gtk_cell_area_render (GtkCellArea GtkWidget *widget, const GdkRectangle *cell_area); +/* Attributes */ +void gtk_cell_area_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +void gtk_cell_area_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +void gtk_cell_area_attribute_apply (GtkCellArea *area, + gint id, + GValue *value); +void gtk_cell_area_attribute_forall (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellAttributeCallback callback, + gpointer user_data); + /* Geometry */ GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); void gtk_cell_area_get_preferred_width (GtkCellArea *area, @@ -158,10 +210,6 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); -void gtk_cell_area_get_preferred_size (GtkCellArea *area, - GtkWidget *widget, - GtkRequisition *minimum_size, - GtkRequisition *natural_size); G_END_DECLS From 741d10ca4fcb835e134a4ab84c7833dd2577b2c5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 23 Oct 2010 17:01:58 +0900 Subject: [PATCH 0003/1463] Adding initial code skeleton for GtkCellAreaBox. --- gtk/Makefile.am | 2 + gtk/gtkcellarea.c | 138 +++++++++--------- gtk/gtkcellarea.h | 110 +++++++-------- gtk/gtkcellareabox.c | 327 +++++++++++++++++++++++++++++++++++++++++++ gtk/gtkcellareabox.h | 71 ++++++++++ 5 files changed, 524 insertions(+), 124 deletions(-) create mode 100644 gtk/gtkcellareabox.c create mode 100644 gtk/gtkcellareabox.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index cc02f2c353..eae08f0100 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -169,6 +169,7 @@ gtk_public_h_sources = \ gtkbutton.h \ gtkcalendar.h \ gtkcellarea.h \ + gtkcellareabox.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ @@ -432,6 +433,7 @@ gtk_base_c_sources = \ gtkbutton.c \ gtkcalendar.c \ gtkcellarea.c \ + gtkcellareabox.c \ gtkcelleditable.c \ gtkcelllayout.c \ gtkcellrenderer.c \ diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index a1bdb046fe..cb85f5a7a8 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -63,27 +63,27 @@ gtk_cell_area_init (GtkCellArea *area) } static void -gtk_cell_area_class_init (GtkCellAreaClass *klass) +gtk_cell_area_class_init (GtkCellAreaClass *class) { /* general */ - klass->add = NULL; - klass->remove = NULL; - klass->forall = NULL; - klass->event = NULL; - klass->render = NULL; + class->add = NULL; + class->remove = NULL; + class->forall = NULL; + class->event = NULL; + class->render = NULL; /* attributes */ - klass->attribute_connect = NULL; - klass->attribute_disconnect = NULL; - klass->attribute_apply = NULL; - klass->attribute_forall = NULL; + class->attribute_connect = NULL; + class->attribute_disconnect = NULL; + class->attribute_apply = NULL; + class->attribute_forall = NULL; /* geometry */ - klass->get_request_mode = NULL; - klass->get_preferred_width = NULL; - klass->get_preferred_height = NULL; - klass->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; - klass->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; + class->get_request_mode = NULL; + class->get_preferred_width = NULL; + class->get_preferred_height = NULL; + class->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; + class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; } @@ -237,15 +237,15 @@ void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->add) - klass->add (area, renderer); + if (class->add) + class->add (area, renderer); else g_warning ("GtkCellAreaClass::add not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -255,15 +255,15 @@ void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->remove) - klass->remove (area, renderer); + if (class->remove) + class->remove (area, renderer); else g_warning ("GtkCellAreaClass::remove not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -274,15 +274,15 @@ gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (callback != NULL); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->forall) - klass->forall (area, callback, callback_data); + if (class->forall) + class->forall (area, callback, callback_data); else g_warning ("GtkCellAreaClass::forall not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -294,17 +294,17 @@ gtk_cell_area_event (GtkCellArea *area, GdkEvent *event, const GdkRectangle *cell_area) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (cell_area != NULL, 0); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->event) - return klass->event (area, widget, event, cell_area); + if (class->event) + return class->event (area, widget, event, cell_area); g_warning ("GtkCellAreaClass::event not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -317,17 +317,17 @@ gtk_cell_area_render (GtkCellArea *area, GtkWidget *widget, const GdkRectangle *cell_area) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (cr != NULL); g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (cell_area != NULL); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->render) - klass->render (area, cr, widget, cell_area); + if (class->render) + class->render (area, cr, widget, cell_area); else g_warning ("GtkCellAreaClass::render not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -341,16 +341,16 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, const gchar *attribute, gint id) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (attribute != NULL); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->attribute_connect) - klass->attribute_connect (area, renderer, attribute, id); + if (class->attribute_connect) + class->attribute_connect (area, renderer, attribute, id); else g_warning ("GtkCellAreaClass::attribute_connect not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -362,16 +362,16 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, const gchar *attribute, gint id) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (attribute != NULL); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->attribute_disconnect) - klass->attribute_disconnect (area, renderer, attribute, id); + if (class->attribute_disconnect) + class->attribute_disconnect (area, renderer, attribute, id); else g_warning ("GtkCellAreaClass::attribute_disconnect not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -382,15 +382,15 @@ gtk_cell_area_attribute_apply (GtkCellArea *area, gint id, GValue *value) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (G_IS_VALUE (value)); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->attribute_apply) - klass->attribute_apply (area, id, value); + if (class->attribute_apply) + class->attribute_apply (area, id, value); else g_warning ("GtkCellAreaClass::attribute_apply not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -402,16 +402,16 @@ gtk_cell_area_attribute_forall (GtkCellArea *area, GtkCellAttributeCallback callback, gpointer user_data) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (callback != NULL); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->attribute_forall) - klass->attribute_forall (area, renderer, callback, user_data); + if (class->attribute_forall) + class->attribute_forall (area, renderer, callback, user_data); else g_warning ("GtkCellAreaClass::attribute_forall not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -422,15 +422,15 @@ gtk_cell_area_attribute_forall (GtkCellArea *area, GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_val_if_fail (GTK_IS_CELL_AREA (area), GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->get_request_mode) - return klass->get_request_mode (area); + if (class->get_request_mode) + return class->get_request_mode (area); g_warning ("GtkCellAreaClass::get_request_mode not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -444,15 +444,15 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, gint *minimum_size, gint *natural_size) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_WIDGET (widget)); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->get_preferred_width) - klass->get_preferred_width (area, widget, minimum_size, natural_size); + if (class->get_preferred_width) + class->get_preferred_width (area, widget, minimum_size, natural_size); else g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -465,13 +465,13 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, gint *minimum_height, gint *natural_height) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_WIDGET (widget)); - klass = GTK_CELL_AREA_GET_CLASS (area); - klass->get_preferred_height_for_width (area, widget, width, minimum_height, natural_height); + class = GTK_CELL_AREA_GET_CLASS (area); + class->get_preferred_height_for_width (area, widget, width, minimum_height, natural_height); } void @@ -480,15 +480,15 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, gint *minimum_size, gint *natural_size) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_WIDGET (widget)); - klass = GTK_CELL_AREA_GET_CLASS (area); + class = GTK_CELL_AREA_GET_CLASS (area); - if (klass->get_preferred_height) - klass->get_preferred_height (area, widget, minimum_size, natural_size); + if (class->get_preferred_height) + class->get_preferred_height (area, widget, minimum_size, natural_size); else g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -501,11 +501,11 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, gint *minimum_width, gint *natural_width) { - GtkCellAreaClass *klass; + GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_WIDGET (widget)); - klass = GTK_CELL_AREA_GET_CLASS (area); - klass->get_preferred_width_for_height (area, widget, height, minimum_width, natural_width); + class = GTK_CELL_AREA_GET_CLASS (area); + class->get_preferred_width_for_height (area, widget, height, minimum_width, natural_width); } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 20da8c41d3..5da27720d9 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -88,33 +88,33 @@ struct _GtkCellAreaClass /* vtable - not signals */ /* Basic methods */ - void (* add) (GtkCellArea *area, - GtkCellRenderer *renderer); - void (* remove) (GtkCellArea *area, - GtkCellRenderer *renderer); - void (* forall) (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); - gint (* event) (GtkCellArea *area, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area); - void (* render) (GtkCellArea *area, - cairo_t *cr, - GtkWidget *widget, - const GdkRectangle *cell_area); + void (* add) (GtkCellArea *area, + GtkCellRenderer *renderer); + void (* remove) (GtkCellArea *area, + GtkCellRenderer *renderer); + void (* forall) (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); + gint (* event) (GtkCellArea *area, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area); + void (* render) (GtkCellArea *area, + cairo_t *cr, + GtkWidget *widget, + const GdkRectangle *cell_area); /* Attributes */ - void (* attribute_connect) (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); - void (* attribute_disconnect) (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); - void (* attribute_apply) (GtkCellArea *area, - gint id, + void (* attribute_connect) (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); + void (* attribute_disconnect) (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); + void (* attribute_apply) (GtkCellArea *area, + gint id, GValue *value); void (* attribute_forall) (GtkCellArea *area, GtkCellRenderer *renderer, @@ -122,25 +122,25 @@ struct _GtkCellAreaClass gpointer user_data); /* Geometry */ - GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); - void (* get_preferred_width) (GtkCellArea *area, - GtkWidget *widget, - gint *minimum_size, - gint *natural_size); - void (* get_preferred_height_for_width) (GtkCellArea *area, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); - void (* get_preferred_height) (GtkCellArea *area, - GtkWidget *widget, - gint *minimum_size, - gint *natural_size); - void (* get_preferred_width_for_height) (GtkCellArea *area, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); + GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); + void (* get_preferred_width) (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); + void (* get_preferred_height_for_width) (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); + void (* get_preferred_height) (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); + void (* get_preferred_width_for_height) (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); /* Padding for future expansion */ @@ -174,17 +174,17 @@ void gtk_cell_area_render (GtkCellArea const GdkRectangle *cell_area); /* Attributes */ -void gtk_cell_area_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); -void gtk_cell_area_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); -void gtk_cell_area_attribute_apply (GtkCellArea *area, - gint id, - GValue *value); +void gtk_cell_area_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +void gtk_cell_area_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +void gtk_cell_area_attribute_apply (GtkCellArea *area, + gint id, + GValue *value); void gtk_cell_area_attribute_forall (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellAttributeCallback callback, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c new file mode 100644 index 0000000000..5c0beddcd0 --- /dev/null +++ b/gtk/gtkcellareabox.c @@ -0,0 +1,327 @@ +/* gtkcellarea.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "gtkorientable.h" +#include "gtkcellareabox.h" + +/* GObjectClass */ +static void gtk_cell_area_box_finalize (GObject *object); +static void gtk_cell_area_box_dispose (GObject *object); +static void gtk_cell_area_box_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_box_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +/* GtkCellAreaClass */ +static void gtk_cell_area_box_add (GtkCellArea *area, + GtkCellRenderer *renderer); +static void gtk_cell_area_box_remove (GtkCellArea *area, + GtkCellRenderer *renderer); +static void gtk_cell_area_box_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); +static gint gtk_cell_area_box_event (GtkCellArea *area, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area); +static void gtk_cell_area_box_render (GtkCellArea *area, + cairo_t *cr, + GtkWidget *widget, + const GdkRectangle *cell_area); + +static void gtk_cell_area_box_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +static void gtk_cell_area_box_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id); +static void gtk_cell_area_box_attribute_apply (GtkCellArea *area, + gint id, + GValue *value); +static void gtk_cell_area_box_attribute_forall (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellAttributeCallback callback, + gpointer user_data); + +static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); +static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width); +static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); + + +struct _GtkCellAreaBoxPrivate +{ + GtkOrientation orientation; + + +}; + +enum { + PROP_0, + PROP_ORIENTATION +}; + + +G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); + + +static void +gtk_cell_area_box_init (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv; + + box->priv = G_TYPE_INSTANCE_GET_PRIVATE (box, + GTK_TYPE_CELL_AREA_BOX, + GtkCellAreaBoxPrivate); + priv = box->priv; + + priv->orientation = GTK_ORIENTATION_HORIZONTAL; +} + +static void +gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GtkCellAreaClass *area_class = GTK_CELL_AREA_CLASS (class); + + /* GObjectClass */ + object_class->finalize = gtk_cell_area_box_finalize; + object_class->dispose = gtk_cell_area_box_dispose; + object_class->set_property = gtk_cell_area_box_set_property; + object_class->get_property = gtk_cell_area_box_get_property; + + /* GtkCellAreaClass */ + area_class->add = gtk_cell_area_box_add; + area_class->remove = gtk_cell_area_box_remove; + area_class->forall = gtk_cell_area_box_forall; + area_class->event = gtk_cell_area_box_event; + area_class->render = gtk_cell_area_box_render; + + area_class->attribute_connect = gtk_cell_area_box_attribute_connect; + area_class->attribute_disconnect = gtk_cell_area_box_attribute_disconnect; + area_class->attribute_apply = gtk_cell_area_box_attribute_apply; + area_class->attribute_forall = gtk_cell_area_box_attribute_forall; + + area_class->get_request_mode = gtk_cell_area_box_get_request_mode; + area_class->get_preferred_width = gtk_cell_area_box_get_preferred_width; + area_class->get_preferred_height = gtk_cell_area_box_get_preferred_height; + area_class->get_preferred_height_for_width = gtk_cell_area_box_get_preferred_height_for_width; + area_class->get_preferred_width_for_height = gtk_cell_area_box_get_preferred_width_for_height; + + g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); + + + g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxPrivate)); +} + + +/************************************************************* + * GObjectClass * + *************************************************************/ +static void +gtk_cell_area_box_finalize (GObject *object) +{ + G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->finalize (object); +} + +static void +gtk_cell_area_box_dispose (GObject *object) +{ + G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->dispose (object); +} + +static void +gtk_cell_area_box_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + +} + +static void +gtk_cell_area_box_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + +} + + +/************************************************************* + * GtkCellAreaClass * + *************************************************************/ +static void +gtk_cell_area_box_add (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + +} + +static void +gtk_cell_area_box_remove (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + +} + +static void +gtk_cell_area_box_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data) +{ + +} + +static gint +gtk_cell_area_box_event (GtkCellArea *area, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area) +{ + + + return 0; +} + +static void +gtk_cell_area_box_render (GtkCellArea *area, + cairo_t *cr, + GtkWidget *widget, + const GdkRectangle *cell_area) +{ + +} + +static void +gtk_cell_area_box_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id) +{ + +} + +static void +gtk_cell_area_box_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id) +{ + +} + +static void +gtk_cell_area_box_attribute_apply (GtkCellArea *area, + gint id, + GValue *value) +{ + +} + +static void +gtk_cell_area_box_attribute_forall (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellAttributeCallback callback, + gpointer user_data) +{ + +} + + +static GtkSizeRequestMode +gtk_cell_area_box_get_request_mode (GtkCellArea *area) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + + return (priv->orientation) == GTK_ORIENTATION_HORIZONTAL ? + GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH : + GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT; +} + +static void +gtk_cell_area_box_get_preferred_width (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width) +{ + +} + +static void +gtk_cell_area_box_get_preferred_height (GtkCellArea *area, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height) +{ + + +} + +static void +gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + +} + +static void +gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + +} + +/************************************************************* + * API * + *************************************************************/ diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h new file mode 100644 index 0000000000..1e188cecb2 --- /dev/null +++ b/gtk/gtkcellareabox.h @@ -0,0 +1,71 @@ +/* gtkcellareabox.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_CELL_AREA_BOX_H__ +#define __GTK_CELL_AREA_BOX_H__ + +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_CELL_AREA_BOX (gtk_cell_area_box_get_type ()) +#define GTK_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBox)) +#define GTK_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass)) +#define GTK_IS_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX)) +#define GTK_IS_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX)) +#define GTK_CELL_AREA_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass)) + +typedef struct _GtkCellAreaBox GtkCellAreaBox; +typedef struct _GtkCellAreaBoxClass GtkCellAreaBoxClass; +typedef struct _GtkCellAreaBoxPrivate GtkCellAreaBoxPrivate; + +struct _GtkCellAreaBox +{ + GtkCellArea parent_instance; + + GtkCellAreaBoxPrivate *priv; +}; + +struct _GtkCellAreaBoxClass +{ + GtkCellAreaClass parent_class; + + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); +}; + +GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; + + + +G_END_DECLS + +#endif /* __GTK_CELL_AREA_BOX_H__ */ From 45e42ca2d2689499a4ae4e0b8fea9f36878b70e9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 24 Oct 2010 15:44:48 +0900 Subject: [PATCH 0004/1463] Implemented remaining portions of GtkCellLayout iface Now GtkCellArea provides a generic way of applying attributes from a GtkTreeModel/GtkTreeIter, GtkCellArea bookkeeps a hashtable of GtkCellLayoutDataFunc's and completely abstracts the applying of data to cells... GtkCellArea implementations need only to bookkeep the added renderers and attributes (probably we can abstract the attribute bookkeeping in the base class as well). Things starting to take a good and practical shape. --- gtk/gtkcellarea.c | 442 ++++++++++++++++++++++++++++++------------- gtk/gtkcellarea.h | 19 +- gtk/gtkcellareabox.c | 12 -- 3 files changed, 323 insertions(+), 150 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index cb85f5a7a8..e4611e364e 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -24,6 +24,10 @@ #include "gtkcelllayout.h" #include "gtkcellarea.h" +/* GObjectClass */ +static void gtk_cell_area_dispose (GObject *object); +static void gtk_cell_area_finalize (GObject *object); + /* GtkCellAreaClass */ static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, GtkWidget *widget, @@ -36,7 +40,6 @@ static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea gint *minimum_width, gint *natural_width); - /* GtkCellLayoutIface */ static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface); static void gtk_cell_area_pack_default (GtkCellLayout *cell_layout, @@ -47,35 +50,83 @@ static void gtk_cell_area_add_attribute (GtkCellLayout GtkCellRenderer *renderer, const gchar *attribute, gint id); +static void gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy); static void gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *renderer); +static void gtk_cell_area_reorder (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gint position); static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); +/* GtkCellLayoutDataFunc handling */ +typedef struct { + GtkCellLayoutDataFunc func; + gpointer data; + GDestroyNotify destroy; +} CustomCellData; + +static CustomCellData *custom_cell_data_new (GtkCellLayoutDataFunc func, + gpointer data, + GDestroyNotify destroy); +static void custom_cell_data_free (CustomCellData *custom); + +/* Struct to pass data while looping over + * cell renderer attributes + */ +typedef struct { + GtkCellArea *area; + GtkTreeModel *model; + GtkTreeIter *iter; +} AttributeData; + +struct _GtkCellAreaPrivate +{ + GHashTable *custom_cell_data; +}; + G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_cell_area_cell_layout_init)); - static void gtk_cell_area_init (GtkCellArea *area) { + GtkCellAreaPrivate *priv; + area->priv = G_TYPE_INSTANCE_GET_PRIVATE (area, + GTK_TYPE_CELL_AREA, + GtkCellAreaPrivate); + priv = area->priv; + + priv->custom_cell_data = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify)custom_cell_data_free); } static void gtk_cell_area_class_init (GtkCellAreaClass *class) { + GObjectClass *object_class = G_OBJECT_CLASS (class); + + /* GObjectClass */ + object_class->dispose = gtk_cell_area_dispose; + object_class->finalize = gtk_cell_area_finalize; + /* general */ - class->add = NULL; - class->remove = NULL; - class->forall = NULL; - class->event = NULL; - class->render = NULL; + class->add = NULL; + class->remove = NULL; + class->forall = NULL; + class->event = NULL; + class->render = NULL; /* attributes */ class->attribute_connect = NULL; class->attribute_disconnect = NULL; - class->attribute_apply = NULL; class->attribute_forall = NULL; /* geometry */ @@ -84,122 +135,39 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->get_preferred_height = NULL; class->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; + + g_type_class_add_private (object_class, sizeof (GtkCellAreaPrivate)); } /************************************************************* - * GtkCellLayoutIface * + * GObjectClass * *************************************************************/ static void -gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface) +gtk_cell_area_finalize (GObject *object) { - iface->pack_start = gtk_cell_area_pack_default; - iface->pack_end = gtk_cell_area_pack_default; - iface->clear = gtk_cell_area_clear; - iface->add_attribute = gtk_cell_area_add_attribute; - iface->clear_attributes = gtk_cell_area_clear_attributes; - iface->get_cells = gtk_cell_area_get_cells; -} + GtkCellArea *area = GTK_CELL_AREA (object); + GtkCellAreaPrivate *priv = area->priv; -static void -gtk_cell_area_pack_default (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand) -{ - gtk_cell_area_add (GTK_CELL_AREA (cell_layout), renderer); -} + /* All cell renderers should already be removed at this point, + * just kill our hash table here. + */ + g_hash_table_destroy (priv->custom_cell_data); -static void -gtk_cell_area_clear (GtkCellLayout *cell_layout) -{ - GtkCellArea *area = GTK_CELL_AREA (cell_layout); - GList *l, *cells = - gtk_cell_layout_get_cells (cell_layout); - - for (l = cells; l; l = l->next) - { - GtkCellRenderer *renderer = l->data; - gtk_cell_area_remove (area, renderer); - } - - g_list_free (cells); + G_OBJECT_CLASS (gtk_cell_area_parent_class)->finalize (object); } static void -gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id) +gtk_cell_area_dispose (GObject *object) { - gtk_cell_area_attribute_connect (GTK_CELL_AREA (cell_layout), - renderer, attribute, id); -} + /* This removes every cell renderer that may be added to the GtkCellArea, + * subclasses should be breaking references to the GtkCellRenderers + * at this point. + */ + gtk_cell_layout_clear (GTK_CELL_LAYOUT (object)); - -typedef struct { - const gchar *attribute; - gchar id; -} CellAttribute; - -static void -accum_attributes (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id, - GList **accum) -{ - CellAttribute *attrib = g_slice_new (CellAttribute); - - attrib->attribute = attribute; - attrib->id = id; - - *accum = g_list_prepend (*accum, attrib); -} - -static void -gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer) -{ - GtkCellArea *area = GTK_CELL_AREA (cell_layout); - GList *l, *attributes = NULL; - - /* Get a list of attributes so we dont modify the list inline */ - gtk_cell_area_attribute_forall (area, renderer, - (GtkCellAttributeCallback)accum_attributes, - &attributes); - - for (l = attributes; l; l = l->next) - { - CellAttribute *attrib = l->data; - - gtk_cell_area_attribute_disconnect (area, renderer, - attrib->attribute, attrib->id); - - g_slice_free (CellAttribute, attrib); - } - - g_list_free (attributes); -} - - -static void -accum_cells (GtkCellRenderer *renderer, - GList **accum) -{ - *accum = g_list_prepend (*accum, renderer); -} - -static GList * -gtk_cell_area_get_cells (GtkCellLayout *cell_layout) -{ - GList *cells = NULL; - - gtk_cell_area_forall (GTK_CELL_AREA (cell_layout), - (GtkCellCallback)accum_cells, - &cells); - - return g_list_reverse (cells); + G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); } @@ -228,6 +196,174 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_width, natural_width); } +/************************************************************* + * GtkCellLayoutIface * + *************************************************************/ +static CustomCellData * +custom_cell_data_new (GtkCellLayoutDataFunc func, + gpointer data, + GDestroyNotify destroy) +{ + CustomCellData *custom = g_slice_new (CustomCellData); + + custom->func = func; + custom->data = data; + custom->destroy = destroy; + + return custom; +} + +static void +custom_cell_data_free (CustomCellData *custom) +{ + if (custom->destroy) + custom->destroy (custom->data); + + g_slice_free (CustomCellData, custom); +} + +static void +gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface) +{ + iface->pack_start = gtk_cell_area_pack_default; + iface->pack_end = gtk_cell_area_pack_default; + iface->clear = gtk_cell_area_clear; + iface->add_attribute = gtk_cell_area_add_attribute; + iface->set_cell_data_func = gtk_cell_area_set_cell_data_func; + iface->clear_attributes = gtk_cell_area_clear_attributes; + iface->reorder = gtk_cell_area_reorder; + iface->get_cells = gtk_cell_area_get_cells; +} + +static void +gtk_cell_area_pack_default (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand) +{ + gtk_cell_area_add (GTK_CELL_AREA (cell_layout), renderer); +} + +static void +gtk_cell_area_clear (GtkCellLayout *cell_layout) +{ + GtkCellArea *area = GTK_CELL_AREA (cell_layout); + GList *l, *cells = + gtk_cell_layout_get_cells (cell_layout); + + for (l = cells; l; l = l->next) + { + GtkCellRenderer *renderer = l->data; + gtk_cell_area_remove (area, renderer); + } + + g_list_free (cells); +} + +static void +gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id) +{ + gtk_cell_area_attribute_connect (GTK_CELL_AREA (cell_layout), + renderer, attribute, id); +} + +typedef struct { + const gchar *attribute; + gchar id; +} CellAttribute; + +static void +accum_attributes (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint id, + GList **accum) +{ + CellAttribute *attrib = g_slice_new (CellAttribute); + + attrib->attribute = attribute; + attrib->id = id; + + *accum = g_list_prepend (*accum, attrib); +} + +static void +gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy) +{ + GtkCellArea *area = GTK_CELL_AREA (cell_layout); + GtkCellAreaPrivate *priv = area->priv; + CustomCellData *custom; + + if (func) + { + custom = custom_cell_data_new (func, func_data, destroy); + g_hash_table_insert (priv->custom_cell_data, cell, custom); + } + else + g_hash_table_remove (priv->custom_cell_data, cell); +} + + +static void +gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer) +{ + GtkCellArea *area = GTK_CELL_AREA (cell_layout); + GList *l, *attributes = NULL; + + /* Get a list of attributes so we dont modify the list inline */ + gtk_cell_area_attribute_forall (area, renderer, + (GtkCellAttributeCallback)accum_attributes, + &attributes); + + for (l = attributes; l; l = l->next) + { + CellAttribute *attrib = l->data; + + gtk_cell_area_attribute_disconnect (area, renderer, + attrib->attribute, attrib->id); + + g_slice_free (CellAttribute, attrib); + } + + g_list_free (attributes); +} + +static void +gtk_cell_area_reorder (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gint position) +{ + g_warning ("GtkCellLayout::reorder not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (cell_layout))); +} + +static void +accum_cells (GtkCellRenderer *renderer, + GList **accum) +{ + *accum = g_list_prepend (*accum, renderer); +} + +static GList * +gtk_cell_area_get_cells (GtkCellLayout *cell_layout) +{ + GList *cells = NULL; + + gtk_cell_area_forall (GTK_CELL_AREA (cell_layout), + (GtkCellCallback)accum_cells, + &cells); + + return g_list_reverse (cells); +} + + /************************************************************* * API * *************************************************************/ @@ -262,6 +398,10 @@ gtk_cell_area_remove (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); + /* Remove any custom cell data func we have for this renderer */ + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (area), + renderer, NULL, NULL, NULL); + if (class->remove) class->remove (area, renderer); else @@ -333,7 +473,6 @@ gtk_cell_area_render (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } - /* Attributes */ void gtk_cell_area_attribute_connect (GtkCellArea *area, @@ -377,25 +516,6 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } -void -gtk_cell_area_attribute_apply (GtkCellArea *area, - gint id, - GValue *value) -{ - GtkCellAreaClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (G_IS_VALUE (value)); - - class = GTK_CELL_AREA_GET_CLASS (area); - - if (class->attribute_apply) - class->attribute_apply (area, id, value); - else - g_warning ("GtkCellAreaClass::attribute_apply not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); -} - void gtk_cell_area_attribute_forall (GtkCellArea *area, GtkCellRenderer *renderer, @@ -509,3 +629,67 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); class->get_preferred_width_for_height (area, widget, height, minimum_width, natural_width); } + + +static void +apply_attributes (GtkCellRenderer *renderer, + const gchar *attribute, + gint id, + AttributeData *data) +{ + GValue value = { 0, }; + + /* For each attribute of each renderer we apply the value + * from the model to the renderer here + */ + gtk_tree_model_get_value (data->model, data->iter, id, &value); + g_object_set_property (G_OBJECT (renderer), attribute, &value); + g_value_unset (&value); +} + +static void +apply_render_attributes (GtkCellRenderer *renderer, + AttributeData *data) +{ + gtk_cell_area_attribute_forall (data->area, renderer, + (GtkCellAttributeCallback)apply_attributes, + data); +} + +static void +apply_custom_cell_data (GtkCellRenderer *renderer, + CustomCellData *custom, + AttributeData *data) +{ + g_assert (custom->func); + + /* For each renderer that has a GtkCellLayoutDataFunc set, + * go ahead and envoke it to apply the data from the model + */ + custom->func (GTK_CELL_LAYOUT (data->area), renderer, + data->model, data->iter, custom->data); +} + +void +gtk_cell_area_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter) +{ + GtkCellAreaPrivate *priv; + AttributeData data; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); + g_return_if_fail (iter != NULL); + + priv = area->priv; + + /* For every cell renderer, for every attribute, apply the attribute */ + data.area = area; + data.model = tree_model; + data.iter = iter; + gtk_cell_area_forall (area, (GtkCellCallback)apply_render_attributes, &data); + + /* Now go over any custom cell data functions */ + g_hash_table_foreach (priv->custom_cell_data, (GHFunc)apply_custom_cell_data, &data); +} diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 5da27720d9..073f76a2d1 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -30,6 +30,7 @@ #include #include +#include G_BEGIN_DECLS @@ -42,6 +43,7 @@ G_BEGIN_DECLS typedef struct _GtkCellArea GtkCellArea; typedef struct _GtkCellAreaClass GtkCellAreaClass; +typedef struct _GtkCellAreaPrivate GtkCellAreaPrivate; /** @@ -58,7 +60,6 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, /** * GtkCellAttributeCallback: - * @area: the #GtkCellArea containing @renderer * @renderer: the #GtkCellRenderer that has an attribute * @attribute: the property attributed to @id * @id: the identifier of this attributed value @@ -68,8 +69,7 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, * attributes of the cell renderers in a #GtkCellArea, * see gtk_cell_area_attribute_forall(). */ -typedef void (*GtkCellAttributeCallback) (GtkCellArea *area, - GtkCellRenderer *renderer, +typedef void (*GtkCellAttributeCallback) (GtkCellRenderer *renderer, const gchar *attribute, gint id, gpointer data); @@ -79,6 +79,7 @@ struct _GtkCellArea { GInitiallyUnowned parent_instance; + GtkCellAreaPrivate *priv; }; struct _GtkCellAreaClass @@ -113,9 +114,6 @@ struct _GtkCellAreaClass GtkCellRenderer *renderer, const gchar *attribute, gint id); - void (* attribute_apply) (GtkCellArea *area, - gint id, - GValue *value); void (* attribute_forall) (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellAttributeCallback callback, @@ -182,9 +180,6 @@ void gtk_cell_area_attribute_disconnect (GtkCellArea GtkCellRenderer *renderer, const gchar *attribute, gint id); -void gtk_cell_area_attribute_apply (GtkCellArea *area, - gint id, - GValue *value); void gtk_cell_area_attribute_forall (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellAttributeCallback callback, @@ -212,6 +207,12 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea gint *natural_width); +/* Following apis are not class virtual methods */ +void gtk_cell_area_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter); + + G_END_DECLS #endif /* __GTK_CELL_AREA_H__ */ diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 5c0beddcd0..52db6e9ad1 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -61,9 +61,6 @@ static void gtk_cell_area_box_attribute_disconnect (GtkCellArea GtkCellRenderer *renderer, const gchar *attribute, gint id); -static void gtk_cell_area_box_attribute_apply (GtkCellArea *area, - gint id, - GValue *value); static void gtk_cell_area_box_attribute_forall (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellAttributeCallback callback, @@ -141,7 +138,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->attribute_connect = gtk_cell_area_box_attribute_connect; area_class->attribute_disconnect = gtk_cell_area_box_attribute_disconnect; - area_class->attribute_apply = gtk_cell_area_box_attribute_apply; area_class->attribute_forall = gtk_cell_area_box_attribute_forall; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; @@ -254,14 +250,6 @@ gtk_cell_area_box_attribute_disconnect (GtkCellArea *area, } -static void -gtk_cell_area_box_attribute_apply (GtkCellArea *area, - gint id, - GValue *value) -{ - -} - static void gtk_cell_area_box_attribute_forall (GtkCellArea *area, GtkCellRenderer *renderer, From 0722fbe7c872f348d9d29383d7a97eae93e52b0d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 24 Oct 2010 19:20:10 +0900 Subject: [PATCH 0005/1463] Removed attribute handling from class vfuncs of GtkCellArea. Now GtkCellArea handles attribute connections in the base class, subclasses only need to add/remove the renderers, render them, do geometry and handle events. --- gtk/gtkcellarea.c | 413 ++++++++++++++++++++++++------------------- gtk/gtkcellarea.h | 53 +----- gtk/gtkcellareabox.c | 48 ----- 3 files changed, 236 insertions(+), 278 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index e4611e364e..be474232b0 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -49,7 +49,7 @@ static void gtk_cell_area_clear (GtkCellLayout static void gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, const gchar *attribute, - gint id); + gint column); static void gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkCellLayoutDataFunc func, @@ -62,20 +62,31 @@ static void gtk_cell_area_reorder (GtkCellLayout gint position); static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); -/* GtkCellLayoutDataFunc handling */ +/* Attribute/Cell metadata */ typedef struct { - GtkCellLayoutDataFunc func; - gpointer data; - GDestroyNotify destroy; -} CustomCellData; + const gchar *attribute; + gint column; +} CellAttribute; -static CustomCellData *custom_cell_data_new (GtkCellLayoutDataFunc func, - gpointer data, - GDestroyNotify destroy); -static void custom_cell_data_free (CustomCellData *custom); +typedef struct { + GSList *attributes; -/* Struct to pass data while looping over - * cell renderer attributes + GtkCellLayoutDataFunc func; + gpointer data; + GDestroyNotify destroy; +} CellInfo; + +static CellInfo *cell_info_new (GtkCellLayoutDataFunc func, + gpointer data, + GDestroyNotify destroy); +static void cell_info_free (CellInfo *info); +static CellAttribute *cell_attribute_new (GtkCellRenderer *renderer, + const gchar *attribute, + gint column); +static void cell_attribute_free (CellAttribute *attribute); + +/* Struct to pass data along while looping over + * cell renderers to apply attributes */ typedef struct { GtkCellArea *area; @@ -85,7 +96,7 @@ typedef struct { struct _GtkCellAreaPrivate { - GHashTable *custom_cell_data; + GHashTable *cell_info; }; G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, @@ -102,10 +113,10 @@ gtk_cell_area_init (GtkCellArea *area) GtkCellAreaPrivate); priv = area->priv; - priv->custom_cell_data = g_hash_table_new_full (g_direct_hash, - g_direct_equal, - NULL, - (GDestroyNotify)custom_cell_data_free); + priv->cell_info = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify)cell_info_free); } static void @@ -124,11 +135,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->event = NULL; class->render = NULL; - /* attributes */ - class->attribute_connect = NULL; - class->attribute_disconnect = NULL; - class->attribute_forall = NULL; - /* geometry */ class->get_request_mode = NULL; class->get_preferred_width = NULL; @@ -152,7 +158,7 @@ gtk_cell_area_finalize (GObject *object) /* All cell renderers should already be removed at this point, * just kill our hash table here. */ - g_hash_table_destroy (priv->custom_cell_data); + g_hash_table_destroy (priv->cell_info); G_OBJECT_CLASS (gtk_cell_area_parent_class)->finalize (object); } @@ -199,27 +205,70 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, /************************************************************* * GtkCellLayoutIface * *************************************************************/ -static CustomCellData * -custom_cell_data_new (GtkCellLayoutDataFunc func, - gpointer data, - GDestroyNotify destroy) +static CellInfo * +cell_info_new (GtkCellLayoutDataFunc func, + gpointer data, + GDestroyNotify destroy) { - CustomCellData *custom = g_slice_new (CustomCellData); + CellInfo *info = g_slice_new (CellInfo); - custom->func = func; - custom->data = data; - custom->destroy = destroy; + info->attributes = NULL; + info->func = func; + info->data = data; + info->destroy = destroy; - return custom; + return info; } static void -custom_cell_data_free (CustomCellData *custom) +cell_info_free (CellInfo *info) { - if (custom->destroy) - custom->destroy (custom->data); + if (info->destroy) + info->destroy (info->data); - g_slice_free (CustomCellData, custom); + g_slist_foreach (info->attributes, (GFunc)cell_attribute_free, NULL); + g_slist_free (info->attributes); + + g_slice_free (CellInfo, info); +} + +static CellAttribute * +cell_attribute_new (GtkCellRenderer *renderer, + const gchar *attribute, + gint column) +{ + GParamSpec *pspec; + + /* Check if the attribute really exists and point to + * the property string installed on the cell renderer + * class (dont dup the string) + */ + pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (renderer), attribute); + + if (pspec) + { + CellAttribute *cell_attribute = g_slice_new (CellAttribute); + + cell_attribute->attribute = pspec->name; + cell_attribute->column = column; + + return cell_attribute; + } + + return NULL; +} + +static void +cell_attribute_free (CellAttribute *attribute) +{ + g_slice_free (CellAttribute, attribute); +} + +static gint +cell_attribute_find (CellAttribute *cell_attribute, + const gchar *attribute) +{ + return g_strcmp0 (cell_attribute->attribute, attribute); } static void @@ -263,76 +312,68 @@ static void gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, const gchar *attribute, - gint id) + gint column) { gtk_cell_area_attribute_connect (GTK_CELL_AREA (cell_layout), - renderer, attribute, id); -} - -typedef struct { - const gchar *attribute; - gchar id; -} CellAttribute; - -static void -accum_attributes (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id, - GList **accum) -{ - CellAttribute *attrib = g_slice_new (CellAttribute); - - attrib->attribute = attribute; - attrib->id = id; - - *accum = g_list_prepend (*accum, attrib); + renderer, attribute, column); } static void gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, + GtkCellRenderer *renderer, GtkCellLayoutDataFunc func, gpointer func_data, GDestroyNotify destroy) { GtkCellArea *area = GTK_CELL_AREA (cell_layout); GtkCellAreaPrivate *priv = area->priv; - CustomCellData *custom; + CellInfo *info; - if (func) + info = g_hash_table_lookup (priv->cell_info, renderer); + + if (info) { - custom = custom_cell_data_new (func, func_data, destroy); - g_hash_table_insert (priv->custom_cell_data, cell, custom); + if (info->destroy && info->data) + info->destroy (info->data); + + if (func) + { + info->func = func; + info->data = func_data; + info->destroy = destroy; + } + else + { + info->func = NULL; + info->data = NULL; + info->destroy = NULL; + } } else - g_hash_table_remove (priv->custom_cell_data, cell); -} + { + info = cell_info_new (func, func_data, destroy); + g_hash_table_insert (priv->cell_info, renderer, info); + } +} static void gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *renderer) { - GtkCellArea *area = GTK_CELL_AREA (cell_layout); - GList *l, *attributes = NULL; + GtkCellArea *area = GTK_CELL_AREA (cell_layout); + GtkCellAreaPrivate *priv = area->priv; + CellInfo *info; - /* Get a list of attributes so we dont modify the list inline */ - gtk_cell_area_attribute_forall (area, renderer, - (GtkCellAttributeCallback)accum_attributes, - &attributes); + info = g_hash_table_lookup (priv->cell_info, renderer); - for (l = attributes; l; l = l->next) + if (info) { - CellAttribute *attrib = l->data; + g_slist_foreach (info->attributes, (GFunc)cell_attribute_free, NULL); + g_slist_free (info->attributes); - gtk_cell_area_attribute_disconnect (area, renderer, - attrib->attribute, attrib->id); - - g_slice_free (CellAttribute, attrib); + info->attributes = NULL; } - - g_list_free (attributes); } static void @@ -368,7 +409,6 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) * API * *************************************************************/ -/* Basic methods */ void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer) @@ -391,16 +431,17 @@ void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer) { - GtkCellAreaClass *class; + GtkCellAreaClass *class; + GtkCellAreaPrivate *priv; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); class = GTK_CELL_AREA_GET_CLASS (area); + priv = area->priv; - /* Remove any custom cell data func we have for this renderer */ - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (area), - renderer, NULL, NULL, NULL); + /* Remove any custom attributes and custom cell data func here first */ + g_hash_table_remove (priv->cell_info, renderer); if (class->remove) class->remove (area, renderer); @@ -473,71 +514,6 @@ gtk_cell_area_render (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } -/* Attributes */ -void -gtk_cell_area_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id) -{ - GtkCellAreaClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - g_return_if_fail (attribute != NULL); - - class = GTK_CELL_AREA_GET_CLASS (area); - - if (class->attribute_connect) - class->attribute_connect (area, renderer, attribute, id); - else - g_warning ("GtkCellAreaClass::attribute_connect not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); -} - -void -gtk_cell_area_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id) -{ - GtkCellAreaClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - g_return_if_fail (attribute != NULL); - - class = GTK_CELL_AREA_GET_CLASS (area); - - if (class->attribute_disconnect) - class->attribute_disconnect (area, renderer, attribute, id); - else - g_warning ("GtkCellAreaClass::attribute_disconnect not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); -} - -void -gtk_cell_area_attribute_forall (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellAttributeCallback callback, - gpointer user_data) -{ - GtkCellAreaClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - g_return_if_fail (callback != NULL); - - class = GTK_CELL_AREA_GET_CLASS (area); - - if (class->attribute_forall) - class->attribute_forall (area, renderer, callback, user_data); - else - g_warning ("GtkCellAreaClass::attribute_forall not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); -} - - /* Geometry */ GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area) @@ -630,44 +606,118 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, class->get_preferred_width_for_height (area, widget, height, minimum_width, natural_width); } +void +gtk_cell_area_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint column) +{ + GtkCellAreaPrivate *priv; + CellInfo *info; + CellAttribute *cell_attribute; -static void -apply_attributes (GtkCellRenderer *renderer, - const gchar *attribute, - gint id, - AttributeData *data) -{ - GValue value = { 0, }; + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (attribute != NULL); - /* For each attribute of each renderer we apply the value - * from the model to the renderer here - */ - gtk_tree_model_get_value (data->model, data->iter, id, &value); - g_object_set_property (G_OBJECT (renderer), attribute, &value); - g_value_unset (&value); + priv = area->priv; + info = g_hash_table_lookup (priv->cell_info, renderer); + + if (!info) + { + info = cell_info_new (NULL, NULL, NULL); + + g_hash_table_insert (priv->cell_info, renderer, info); + } + else + { + GSList *node; + + /* Check we are not adding the same attribute twice */ + if ((node = g_slist_find_custom (info->attributes, attribute, + (GCompareFunc)cell_attribute_find)) != NULL) + { + cell_attribute = node->data; + + g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' " + "since `%s' is already attributed to column %d", + attribute, + g_type_name (G_TYPE_FROM_INSTANCE (area)), + attribute, cell_attribute->column); + return; + } + } + + cell_attribute = cell_attribute_new (renderer, attribute, column); + + if (!cell_attribute) + { + g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' " + "since attribute does not exist", + attribute, + g_type_name (G_TYPE_FROM_INSTANCE (area))); + return; + } + + info->attributes = g_slist_prepend (info->attributes, cell_attribute); } -static void -apply_render_attributes (GtkCellRenderer *renderer, - AttributeData *data) +void +gtk_cell_area_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute) { - gtk_cell_area_attribute_forall (data->area, renderer, - (GtkCellAttributeCallback)apply_attributes, - data); + GtkCellAreaPrivate *priv; + CellInfo *info; + CellAttribute *cell_attribute; + GSList *node; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (attribute != NULL); + + priv = area->priv; + info = g_hash_table_lookup (priv->cell_info, renderer); + + if (info) + { + node = g_slist_find_custom (info->attributes, attribute, + (GCompareFunc)cell_attribute_find); + if (node) + { + cell_attribute = node->data; + + cell_attribute_free (cell_attribute); + + info->attributes = g_slist_delete_link (info->attributes, node); + } + } } static void -apply_custom_cell_data (GtkCellRenderer *renderer, - CustomCellData *custom, - AttributeData *data) +apply_cell_attributes (GtkCellRenderer *renderer, + CellInfo *info, + AttributeData *data) { - g_assert (custom->func); + CellAttribute *attribute; + GSList *list; + GValue value = { 0, }; - /* For each renderer that has a GtkCellLayoutDataFunc set, - * go ahead and envoke it to apply the data from the model + /* Apply the attributes directly to the renderer */ + for (list = info->attributes; list; list = list->next) + { + attribute = list->data; + + gtk_tree_model_get_value (data->model, data->iter, attribute->column, &value); + g_object_set_property (G_OBJECT (renderer), attribute->attribute, &value); + g_value_unset (&value); + } + + /* Call any GtkCellLayoutDataFunc that may have been set by the user */ - custom->func (GTK_CELL_LAYOUT (data->area), renderer, - data->model, data->iter, custom->data); + if (info->func) + info->func (GTK_CELL_LAYOUT (data->area), renderer, + data->model, data->iter, info->data); } void @@ -684,12 +734,7 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, priv = area->priv; - /* For every cell renderer, for every attribute, apply the attribute */ - data.area = area; - data.model = tree_model; - data.iter = iter; - gtk_cell_area_forall (area, (GtkCellCallback)apply_render_attributes, &data); - - /* Now go over any custom cell data functions */ - g_hash_table_foreach (priv->custom_cell_data, (GHFunc)apply_custom_cell_data, &data); + /* Go over any cells that have attributes or custom GtkCellLayoutDataFuncs and + * apply the data from the treemodel */ + g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 073f76a2d1..145488302d 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -45,7 +45,6 @@ typedef struct _GtkCellArea GtkCellArea; typedef struct _GtkCellAreaClass GtkCellAreaClass; typedef struct _GtkCellAreaPrivate GtkCellAreaPrivate; - /** * GtkCellCallback: * @renderer: the cell renderer to operate on @@ -58,23 +57,6 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, gpointer data); -/** - * GtkCellAttributeCallback: - * @renderer: the #GtkCellRenderer that has an attribute - * @attribute: the property attributed to @id - * @id: the identifier of this attributed value - * @data: user-supplied data - * - * The type of the callback functions used for iterating over the - * attributes of the cell renderers in a #GtkCellArea, - * see gtk_cell_area_attribute_forall(). - */ -typedef void (*GtkCellAttributeCallback) (GtkCellRenderer *renderer, - const gchar *attribute, - gint id, - gpointer data); - - struct _GtkCellArea { GInitiallyUnowned parent_instance; @@ -105,20 +87,6 @@ struct _GtkCellAreaClass GtkWidget *widget, const GdkRectangle *cell_area); - /* Attributes */ - void (* attribute_connect) (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); - void (* attribute_disconnect) (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); - void (* attribute_forall) (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellAttributeCallback callback, - gpointer user_data); - /* Geometry */ GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, @@ -171,20 +139,6 @@ void gtk_cell_area_render (GtkCellArea GtkWidget *widget, const GdkRectangle *cell_area); -/* Attributes */ -void gtk_cell_area_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); -void gtk_cell_area_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); -void gtk_cell_area_attribute_forall (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellAttributeCallback callback, - gpointer user_data); - /* Geometry */ GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); void gtk_cell_area_get_preferred_width (GtkCellArea *area, @@ -211,6 +165,13 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter); +void gtk_cell_area_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint column); +void gtk_cell_area_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute); G_END_DECLS diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 52db6e9ad1..a635df233e 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -53,19 +53,6 @@ static void gtk_cell_area_box_render (GtkCellArea GtkWidget *widget, const GdkRectangle *cell_area); -static void gtk_cell_area_box_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); -static void gtk_cell_area_box_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id); -static void gtk_cell_area_box_attribute_forall (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellAttributeCallback callback, - gpointer user_data); - static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, GtkWidget *widget, @@ -91,7 +78,6 @@ struct _GtkCellAreaBoxPrivate { GtkOrientation orientation; - }; enum { @@ -99,7 +85,6 @@ enum { PROP_ORIENTATION }; - G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); @@ -136,10 +121,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->event = gtk_cell_area_box_event; area_class->render = gtk_cell_area_box_render; - area_class->attribute_connect = gtk_cell_area_box_attribute_connect; - area_class->attribute_disconnect = gtk_cell_area_box_attribute_disconnect; - area_class->attribute_forall = gtk_cell_area_box_attribute_forall; - area_class->get_request_mode = gtk_cell_area_box_get_request_mode; area_class->get_preferred_width = gtk_cell_area_box_get_preferred_width; area_class->get_preferred_height = gtk_cell_area_box_get_preferred_height; @@ -186,7 +167,6 @@ gtk_cell_area_box_get_property (GObject *object, } - /************************************************************* * GtkCellAreaClass * *************************************************************/ @@ -232,34 +212,6 @@ gtk_cell_area_box_render (GtkCellArea *area, } -static void -gtk_cell_area_box_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id) -{ - -} - -static void -gtk_cell_area_box_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint id) -{ - -} - -static void -gtk_cell_area_box_attribute_forall (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellAttributeCallback callback, - gpointer user_data) -{ - -} - - static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area) { From 468a1d3e7c51a7b1964ccfcc680c24a04322338e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 24 Oct 2010 20:01:04 +0900 Subject: [PATCH 0006/1463] Implemented basic child list handling on GtkCellAreaBox Added the child list to GtkCellAreaBox, added _pack_start() and _pack_end() apis to GtkCellAreaBox since they are appropriate there and implemented GtkCellLayoutIface to override the _pack_start()/end() methods (since the base GtkCellArea class simply forwards these apis to the generic ->add() api on the base class). --- gtk/gtkcellarea.c | 121 +++++++++++++++--------------- gtk/gtkcellareabox.c | 174 ++++++++++++++++++++++++++++++++++++++++++- gtk/gtkcellareabox.h | 10 ++- 3 files changed, 243 insertions(+), 62 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index be474232b0..c8a2c3e71d 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -84,6 +84,8 @@ static CellAttribute *cell_attribute_new (GtkCellRenderer *renderer, const gchar *attribute, gint column); static void cell_attribute_free (CellAttribute *attribute); +static gint cell_attribute_find (CellAttribute *cell_attribute, + const gchar *attribute); /* Struct to pass data along while looping over * cell renderers to apply attributes @@ -145,65 +147,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) g_type_class_add_private (object_class, sizeof (GtkCellAreaPrivate)); } - /************************************************************* - * GObjectClass * - *************************************************************/ -static void -gtk_cell_area_finalize (GObject *object) -{ - GtkCellArea *area = GTK_CELL_AREA (object); - GtkCellAreaPrivate *priv = area->priv; - - /* All cell renderers should already be removed at this point, - * just kill our hash table here. - */ - g_hash_table_destroy (priv->cell_info); - - G_OBJECT_CLASS (gtk_cell_area_parent_class)->finalize (object); -} - - -static void -gtk_cell_area_dispose (GObject *object) -{ - /* This removes every cell renderer that may be added to the GtkCellArea, - * subclasses should be breaking references to the GtkCellRenderers - * at this point. - */ - gtk_cell_layout_clear (GTK_CELL_LAYOUT (object)); - - G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); -} - - -/************************************************************* - * GtkCellAreaClass * - *************************************************************/ -static void -gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height) -{ - /* If the area doesnt do height-for-width, fallback on base preferred height */ - GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_height, natural_height); -} - -static void -gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width) -{ - /* If the area doesnt do width-for-height, fallback on base preferred width */ - GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_width, natural_width); -} - -/************************************************************* - * GtkCellLayoutIface * + * CellInfo Basics * *************************************************************/ static CellInfo * cell_info_new (GtkCellLayoutDataFunc func, @@ -264,6 +209,7 @@ cell_attribute_free (CellAttribute *attribute) g_slice_free (CellAttribute, attribute); } +/* GCompareFunc for g_slist_find_custom() */ static gint cell_attribute_find (CellAttribute *cell_attribute, const gchar *attribute) @@ -271,6 +217,65 @@ cell_attribute_find (CellAttribute *cell_attribute, return g_strcmp0 (cell_attribute->attribute, attribute); } +/************************************************************* + * GObjectClass * + *************************************************************/ +static void +gtk_cell_area_finalize (GObject *object) +{ + GtkCellArea *area = GTK_CELL_AREA (object); + GtkCellAreaPrivate *priv = area->priv; + + /* All cell renderers should already be removed at this point, + * just kill our hash table here. + */ + g_hash_table_destroy (priv->cell_info); + + G_OBJECT_CLASS (gtk_cell_area_parent_class)->finalize (object); +} + + +static void +gtk_cell_area_dispose (GObject *object) +{ + /* This removes every cell renderer that may be added to the GtkCellArea, + * subclasses should be breaking references to the GtkCellRenderers + * at this point. + */ + gtk_cell_layout_clear (GTK_CELL_LAYOUT (object)); + + G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); +} + + +/************************************************************* + * GtkCellAreaClass * + *************************************************************/ +static void +gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) +{ + /* If the area doesnt do height-for-width, fallback on base preferred height */ + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_height, natural_height); +} + +static void +gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) +{ + /* If the area doesnt do width-for-height, fallback on base preferred width */ + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_width, natural_width); +} + +/************************************************************* + * GtkCellLayoutIface * + *************************************************************/ static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface) { diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a635df233e..75e004a9db 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -22,6 +22,7 @@ */ #include "gtkorientable.h" +#include "gtkcelllayout.h" #include "gtkcellareabox.h" /* GObjectClass */ @@ -73,11 +74,37 @@ static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea gint *minimum_width, gint *natural_width); +/* GtkCellLayoutIface */ +static void gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface); +static void gtk_cell_area_box_layout_pack_start (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand); +static void gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand); + + +/* CellInfo metadata handling */ +typedef struct { + GtkCellRenderer *renderer; + + guint expand : 1; + guint pack : 1; +} CellInfo; + +static CellInfo *cell_info_new (GtkCellRenderer *renderer, + gboolean expand, + GtkPackType pack); +static void cell_info_free (CellInfo *info); +static gint cell_info_find (CellInfo *info, + GtkCellRenderer *renderer); + struct _GtkCellAreaBoxPrivate { GtkOrientation orientation; + GList *cells; }; enum { @@ -86,9 +113,10 @@ enum { }; G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_cell_area_box_cell_layout_init) G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); - static void gtk_cell_area_box_init (GtkCellAreaBox *box) { @@ -100,6 +128,7 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv = box->priv; priv->orientation = GTK_ORIENTATION_HORIZONTAL; + priv->cells = NULL; } static void @@ -134,6 +163,38 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) } +/************************************************************* + * CellInfo Basics * + *************************************************************/ +static CellInfo * +cell_info_new (GtkCellRenderer *renderer, + gboolean expand, + GtkPackType pack) +{ + CellInfo *info = g_slice_new (CellInfo); + + info->renderer = g_object_ref_sink (renderer); + info->expand = expand; + info->pack = pack; + + return info; +} + +static void +cell_info_free (CellInfo *info) +{ + g_object_unref (info->renderer); + + g_slice_free (CellInfo, info); +} + +static gint +cell_info_find (CellInfo *info, + GtkCellRenderer *renderer) +{ + return (info->renderer == renderer) ? 0 : -1; +} + /************************************************************* * GObjectClass * *************************************************************/ @@ -174,14 +235,31 @@ static void gtk_cell_area_box_add (GtkCellArea *area, GtkCellRenderer *renderer) { - + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), + renderer, FALSE); } static void gtk_cell_area_box_remove (GtkCellArea *area, GtkCellRenderer *renderer) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GList *node; + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); + + if (node) + { + CellInfo *info = node->data; + + cell_info_free (info); + + priv->cells = g_list_delete_link (priv->cells, node); + } + else + g_warning ("Trying to remove a cell renderer that is not present GtkCellAreaBox"); } static void @@ -189,7 +267,16 @@ gtk_cell_area_box_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GList *list; + for (list = priv->cells; list; list = list->next) + { + CellInfo *info = list->data; + + callback (info->renderer, callback_data); + } } static gint @@ -262,6 +349,89 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, } + + +/************************************************************* + * GtkCellLayoutIface * + *************************************************************/ +static void +gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface) +{ + iface->pack_start = gtk_cell_area_box_layout_pack_start; + iface->pack_end = gtk_cell_area_box_layout_pack_end; +} + +static void +gtk_cell_area_box_layout_pack_start (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand) +{ + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (cell_layout), renderer, expand); +} + +static void +gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gboolean expand) +{ + gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand); +} + /************************************************************* * API * *************************************************************/ +GtkCellArea * +gtk_cell_area_box_new (void) +{ + return (GtkCellArea *)g_object_new (GTK_TYPE_CELL_AREA_BOX, NULL); +} + +void +gtk_cell_area_box_pack_start (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand) +{ + GtkCellAreaBoxPrivate *priv; + CellInfo *info; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX (box)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + priv = box->priv; + + if (g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find)) + { + g_warning ("Refusing to add the same cell renderer to a GtkCellAreaBox twice"); + return; + } + + info = cell_info_new (renderer, expand, GTK_PACK_START); + + priv->cells = g_list_append (priv->cells, info); +} + +void +gtk_cell_area_box_pack_end (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand) +{ + GtkCellAreaBoxPrivate *priv; + CellInfo *info; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX (box)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + priv = box->priv; + + if (g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find)) + { + g_warning ("Refusing to add the same cell renderer to a GtkCellArea twice"); + return; + } + + info = cell_info_new (renderer, expand, GTK_PACK_END); + + priv->cells = g_list_append (priv->cells, info); +} diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index 1e188cecb2..1913995ce4 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -62,9 +62,15 @@ struct _GtkCellAreaBoxClass void (*_gtk_reserved4) (void); }; -GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; - +GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; +GtkCellArea *gtk_cell_area_box_new (void); +void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand); +void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand); G_END_DECLS From fe3f948d0a6f7d628f58d0fc456b315dc1dc30be Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 24 Oct 2010 20:08:21 +0900 Subject: [PATCH 0007/1463] Implemented GtkCellLayoutIface->reorder on GtkCellAreaBox. --- gtk/gtkcellareabox.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 75e004a9db..80cb16e548 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -82,6 +82,9 @@ static void gtk_cell_area_box_layout_pack_start (GtkCellLayout static void gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, gboolean expand); +static void gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gint position); /* CellInfo metadata handling */ @@ -359,6 +362,7 @@ gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface) { iface->pack_start = gtk_cell_area_box_layout_pack_start; iface->pack_end = gtk_cell_area_box_layout_pack_end; + iface->reorder = gtk_cell_area_box_layout_reorder; } static void @@ -377,6 +381,28 @@ gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand); } +static void +gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, + GtkCellRenderer *renderer, + gint position) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (cell_layout); + GtkCellAreaBoxPrivate *priv = box->priv; + GList *node; + CellInfo *info; + + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); + + if (node) + { + info = node->data; + + priv->cells = g_list_delete_link (priv->cells, node); + priv->cells = g_list_insert (priv->cells, info, position); + } +} + /************************************************************* * API * *************************************************************/ From b5e529f5784bf2e2b635f2f1364d11750a4695be Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 26 Oct 2010 17:14:20 +0900 Subject: [PATCH 0008/1463] Added GtkCellAreaIter class Added base class to hold alignment and overall size request information while itterating over the size requests of various rows of a GtkTreeModel, updated GtkCellArea/GtkCellAreaBox classes accordingly. --- gtk/Makefile.am | 2 + gtk/gtkcellarea.c | 40 ++- gtk/gtkcellarea.h | 11 + gtk/gtkcellareabox.c | 21 +- gtk/gtkcellareaiter.c | 607 ++++++++++++++++++++++++++++++++++++++++++ gtk/gtkcellareaiter.h | 117 ++++++++ 6 files changed, 789 insertions(+), 9 deletions(-) create mode 100644 gtk/gtkcellareaiter.c create mode 100644 gtk/gtkcellareaiter.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index eae08f0100..dd5c6e478a 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -170,6 +170,7 @@ gtk_public_h_sources = \ gtkcalendar.h \ gtkcellarea.h \ gtkcellareabox.h \ + gtkcellareaiter.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ @@ -434,6 +435,7 @@ gtk_base_c_sources = \ gtkcalendar.c \ gtkcellarea.c \ gtkcellareabox.c \ + gtkcellareaiter.c \ gtkcelleditable.c \ gtkcelllayout.c \ gtkcellrenderer.c \ diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index c8a2c3e71d..37d101a4c6 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -30,11 +30,13 @@ static void gtk_cell_area_finalize (GObject /* GtkCellAreaClass */ static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, @@ -138,6 +140,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->render = NULL; /* geometry */ + class->create_iter = NULL; class->get_request_mode = NULL; class->get_preferred_width = NULL; class->get_preferred_height = NULL; @@ -253,24 +256,26 @@ gtk_cell_area_dispose (GObject *object) *************************************************************/ static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height) { /* If the area doesnt do height-for-width, fallback on base preferred height */ - GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_height, natural_height); + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, iter, widget, minimum_height, natural_height); } static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, gint *natural_width) { /* If the area doesnt do width-for-height, fallback on base preferred width */ - GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, widget, minimum_width, natural_width); + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, iter, widget, minimum_width, natural_width); } /************************************************************* @@ -520,6 +525,25 @@ gtk_cell_area_render (GtkCellArea *area, } /* Geometry */ +GtkCellAreaIter * +gtk_cell_area_create_iter (GtkCellArea *area) +{ + GtkCellAreaClass *class; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + class = GTK_CELL_AREA_GET_CLASS (area); + + if (class->create_iter) + return class->create_iter (area); + + g_warning ("GtkCellAreaClass::create_iter not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + + return NULL; +} + + GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area) { @@ -541,6 +565,7 @@ gtk_cell_area_get_request_mode (GtkCellArea *area) void gtk_cell_area_get_preferred_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_size, gint *natural_size) @@ -553,7 +578,7 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_preferred_width) - class->get_preferred_width (area, widget, minimum_size, natural_size); + class->get_preferred_width (area, iter, widget, minimum_size, natural_size); else g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -561,6 +586,7 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, @@ -572,11 +598,12 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, g_return_if_fail (GTK_IS_WIDGET (widget)); class = GTK_CELL_AREA_GET_CLASS (area); - class->get_preferred_height_for_width (area, widget, width, minimum_height, natural_height); + class->get_preferred_height_for_width (area, iter, widget, width, minimum_height, natural_height); } void gtk_cell_area_get_preferred_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_size, gint *natural_size) @@ -589,7 +616,7 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_preferred_height) - class->get_preferred_height (area, widget, minimum_size, natural_size); + class->get_preferred_height (area, iter, widget, minimum_size, natural_size); else g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -597,6 +624,7 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, @@ -608,7 +636,7 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, g_return_if_fail (GTK_IS_WIDGET (widget)); class = GTK_CELL_AREA_GET_CLASS (area); - class->get_preferred_width_for_height (area, widget, height, minimum_width, natural_width); + class->get_preferred_width_for_height (area, iter, widget, height, minimum_width, natural_width); } void diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 145488302d..5a9c770f71 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -31,6 +31,7 @@ #include #include #include +#include G_BEGIN_DECLS @@ -88,21 +89,26 @@ struct _GtkCellAreaClass const GdkRectangle *cell_area); /* Geometry */ + GtkCellAreaIter *(* create_iter) (GtkCellArea *area); GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_size, gint *natural_size); void (* get_preferred_height_for_width) (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); void (* get_preferred_height) (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_size, gint *natural_size); void (* get_preferred_width_for_height) (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, @@ -140,21 +146,26 @@ void gtk_cell_area_render (GtkCellArea const GdkRectangle *cell_area); /* Geometry */ +GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); void gtk_cell_area_get_preferred_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_size, gint *natural_size); void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); void gtk_cell_area_get_preferred_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_size, gint *natural_size); void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 80cb16e548..059dbf9e07 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1,4 +1,4 @@ -/* gtkcellarea.c +/* gtkcellareabox.c * * Copyright (C) 2010 Openismus GmbH * @@ -54,21 +54,26 @@ static void gtk_cell_area_box_render (GtkCellArea GtkWidget *widget, const GdkRectangle *cell_area); -static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); +static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); +static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_width, gint *natural_width); static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_height, gint *natural_height); static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, @@ -153,6 +158,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->event = gtk_cell_area_box_event; area_class->render = gtk_cell_area_box_render; + area_class->create_iter = gtk_cell_area_box_create_iter; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; area_class->get_preferred_width = gtk_cell_area_box_get_preferred_width; area_class->get_preferred_height = gtk_cell_area_box_get_preferred_height; @@ -302,6 +308,12 @@ gtk_cell_area_box_render (GtkCellArea *area, } +static GtkCellAreaIter * +gtk_cell_area_box_create_iter (GtkCellArea *area) +{ + return NULL; +} + static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area) { @@ -315,6 +327,7 @@ gtk_cell_area_box_get_request_mode (GtkCellArea *area) static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_width, gint *natural_width) @@ -324,6 +337,7 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint *minimum_height, gint *natural_height) @@ -334,6 +348,7 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint width, gint *minimum_height, @@ -344,6 +359,7 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, gint height, gint *minimum_width, @@ -353,7 +369,6 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, } - /************************************************************* * GtkCellLayoutIface * *************************************************************/ diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c new file mode 100644 index 0000000000..1c69a3003c --- /dev/null +++ b/gtk/gtkcellareaiter.c @@ -0,0 +1,607 @@ +/* gtkcellareaiter.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" +#include "gtkintl.h" +#include "gtkmarshalers.h" +#include "gtkorientable.h" +#include "gtkcelllayout.h" +#include "gtkcellareaiter.h" + +/* GObjectClass */ +static void gtk_cell_area_iter_finalize (GObject *object); +static void gtk_cell_area_iter_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +/* GtkCellAreaIterClass */ +static void gtk_cell_area_iter_real_flush_preferred_width (GtkCellAreaIter *iter); +static void gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint width); +static void gtk_cell_area_iter_real_flush_preferred_height (GtkCellAreaIter *iter); +static void gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint height); + +/* CachedSize management */ +typedef struct { + gint min_size; + gint nat_size; +} CachedSize; + +static CachedSize *cached_size_new (gint min_size, gint nat_size); +static void cached_size_free (CachedSize *size); + +struct _GtkCellAreaIterPrivate +{ + gint min_width; + gint nat_width; + gint min_height; + gint nat_height; + + GHashTable *widths; + GHashTable *heights; +}; + +enum { + PROP_0, + PROP_MIN_WIDTH, + PROP_NAT_WIDTH, + PROP_MIN_HEIGHT, + PROP_NAT_HEIGHT +}; + +enum { + SIGNAL_WIDTH_CHANGED, + SIGNAL_HEIGHT_CHANGED, + LAST_SIGNAL +}; + +static guint cell_area_iter_signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE (GtkCellAreaIter, gtk_cell_area_iter, G_TYPE_OBJECT); + +static void +gtk_cell_area_iter_init (GtkCellAreaIter *iter) +{ + GtkCellAreaIterPrivate *priv; + + iter->priv = G_TYPE_INSTANCE_GET_PRIVATE (iter, + GTK_TYPE_CELL_AREA_ITER, + GtkCellAreaIterPrivate); + priv = iter->priv; + + priv->min_width = -1; + priv->nat_width = -1; + priv->min_height = -1; + priv->nat_height = -1; + priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); +} + +static void +gtk_cell_area_iter_class_init (GtkCellAreaIterClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + + /* GObjectClass */ + object_class->finalize = gtk_cell_area_iter_finalize; + object_class->get_property = gtk_cell_area_iter_get_property; + + class->flush_preferred_width = gtk_cell_area_iter_real_flush_preferred_width; + class->flush_preferred_height_for_width = gtk_cell_area_iter_real_flush_preferred_height_for_width; + class->flush_preferred_height = gtk_cell_area_iter_real_flush_preferred_height; + class->flush_preferred_width_for_height = gtk_cell_area_iter_real_flush_preferred_width_for_height; + + cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED] = + g_signal_new (I_("height-changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__INT_INT_INT, + G_TYPE_NONE, 3, + G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + + cell_area_iter_signals[SIGNAL_WIDTH_CHANGED] = + g_signal_new (I_("width-changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__INT_INT_INT, + G_TYPE_NONE, 3, + G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + + g_object_class_install_property (object_class, + PROP_MIN_WIDTH, + g_param_spec_int ("minimum-width", + P_("Minimum Width"), + P_("Minimum cached width"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_object_class_install_property (object_class, + PROP_NAT_WIDTH, + g_param_spec_int ("natural-width", + P_("Minimum Width"), + P_("Minimum cached width"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_object_class_install_property (object_class, + PROP_MIN_HEIGHT, + g_param_spec_int ("minimum-height", + P_("Minimum Height"), + P_("Minimum cached height"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_object_class_install_property (object_class, + PROP_NAT_HEIGHT, + g_param_spec_int ("natural-height", + P_("Minimum Height"), + P_("Minimum cached height"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_type_class_add_private (object_class, sizeof (GtkCellAreaIterPrivate)); +} + + + +/************************************************************* + * Cached Sizes * + *************************************************************/ +static CachedSize * +cached_size_new (gint min_size, + gint nat_size) +{ + CachedSize *size = g_slice_new (CachedSize); + + size->min_size = min_size; + size->nat_size = nat_size; + + return size; +} + +static void +cached_size_free (CachedSize *size) +{ + g_slice_free (CachedSize, size); +} + +/************************************************************* + * GObjectClass * + *************************************************************/ +static void +gtk_cell_area_iter_finalize (GObject *object) +{ + GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); + GtkCellAreaIterPrivate *priv = iter->priv; + + g_hash_table_destroy (priv->widths); + g_hash_table_destroy (priv->heights); + + G_OBJECT_CLASS (gtk_cell_area_iter_parent_class)->finalize (object); +} + +static void +gtk_cell_area_iter_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); + GtkCellAreaIterPrivate *priv = iter->priv; + + switch (prop_id) + { + case PROP_MIN_WIDTH: + g_value_set_int (value, priv->min_width); + break; + case PROP_NAT_WIDTH: + g_value_set_int (value, priv->nat_width); + break; + case PROP_MIN_HEIGHT: + g_value_set_int (value, priv->min_height); + break; + case PROP_NAT_HEIGHT: + g_value_set_int (value, priv->nat_height); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/************************************************************* + * GtkCellAreaIterClass * + *************************************************************/ +static void +gtk_cell_area_iter_real_flush_preferred_width (GtkCellAreaIter *iter) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + priv->min_width = -1; + priv->nat_width = -1; + + g_object_freeze_notify (G_OBJECT (iter)); + g_object_notify (G_OBJECT (iter), "minimum-width"); + g_object_notify (G_OBJECT (iter), "natural-width"); + g_object_thaw_notify (G_OBJECT (iter)); +} + +static void +gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint width) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + /* Flush all sizes for special -1 value */ + if (width < 0) + g_hash_table_remove_all (priv->heights); + else + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + + /* XXX Should we bother signalling removed values as "size-changed" signals ? */ +} + +static void +gtk_cell_area_iter_real_flush_preferred_height (GtkCellAreaIter *iter) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + priv->min_height = -1; + priv->nat_height = -1; + + g_object_freeze_notify (G_OBJECT (iter)); + g_object_notify (G_OBJECT (iter), "minimum-height"); + g_object_notify (G_OBJECT (iter), "natural-height"); + g_object_thaw_notify (G_OBJECT (iter)); +} + +static void +gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint height) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + /* Flush all sizes for special -1 value */ + if (height < 0) + g_hash_table_remove_all (priv->widths); + else + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + + /* XXX Should we bother signalling removed values as "size-changed" signals ? */ +} + +/************************************************************* + * API * + *************************************************************/ + +void +gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaIterPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + if (minimum_width) + *minimum_width = priv->min_width; + + if (natural_width) + *natural_width = priv->nat_width; +} + +void +gtk_cell_area_iter_get_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaIterPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } +} + +void +gtk_cell_area_iter_get_preferred_height (GtkCellAreaIter *iter, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaIterPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + if (minimum_height) + *minimum_height = priv->min_height; + + if (natural_height) + *natural_height = priv->nat_height; +} + +void +gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaIterPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (size) + { + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } +} + + +void +gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaIterPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + g_object_freeze_notify (G_OBJECT (iter)); + + if (minimum_width > priv->min_width) + { + priv->min_width = minimum_width; + + g_object_notify (G_OBJECT (iter), "minimum-width"); + } + + if (natural_width > priv->nat_width) + { + priv->nat_width = natural_width; + + g_object_notify (G_OBJECT (iter), "natural-width"); + } + + g_object_thaw_notify (G_OBJECT (iter)); +} + +void +gtk_cell_area_iter_push_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaIterPrivate *priv; + CachedSize *size; + gboolean changed = FALSE; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (!size) + { + size = cached_size_new (minimum_height, natural_height); + + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), size); + + changed = TRUE; + } + else + { + if (minimum_height > size->min_size) + { + size->min_size = minimum_height; + changed = TRUE; + } + + if (natural_height > size->nat_size) + { + size->nat_size = natural_height; + changed = TRUE; + } + } + + if (changed) + g_signal_emit (iter, cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED], 0, + for_width, size->min_size, size->nat_size); +} + +void +gtk_cell_area_iter_push_preferred_height (GtkCellAreaIter *iter, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaIterPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + g_object_freeze_notify (G_OBJECT (iter)); + + if (minimum_height > priv->min_height) + { + priv->min_height = minimum_height; + + g_object_notify (G_OBJECT (iter), "minimum-height"); + } + + if (natural_height > priv->nat_height) + { + priv->nat_height = natural_height; + + g_object_notify (G_OBJECT (iter), "natural-height"); + } + + g_object_thaw_notify (G_OBJECT (iter)); +} + +void +gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaIterPrivate *priv; + CachedSize *size; + gboolean changed = FALSE; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + priv = iter->priv; + + size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (!size) + { + size = cached_size_new (minimum_width, natural_width); + + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), size); + + changed = TRUE; + } + else + { + if (minimum_width > size->min_size) + { + size->min_size = minimum_width; + changed = TRUE; + } + + if (natural_width > size->nat_size) + { + size->nat_size = natural_width; + changed = TRUE; + } + } + + if (changed) + g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], 0, + for_height, size->min_size, size->nat_size); +} + +void +gtk_cell_area_iter_flush (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + gtk_cell_area_iter_flush_preferred_width (iter); + gtk_cell_area_iter_flush_preferred_height_for_width (iter, -1); + gtk_cell_area_iter_flush_preferred_height (iter); + gtk_cell_area_iter_flush_preferred_width_for_height (iter, -1); +} + +void +gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width (iter); +} + +void +gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height_for_width (iter, for_width); +} + +void +gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height (iter); +} + +void +gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width_for_height (iter, for_height); +} diff --git a/gtk/gtkcellareaiter.h b/gtk/gtkcellareaiter.h new file mode 100644 index 0000000000..92f820fb06 --- /dev/null +++ b/gtk/gtkcellareaiter.h @@ -0,0 +1,117 @@ +/* gtkcellareaiter.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_CELL_AREA_ITER_H__ +#define __GTK_CELL_AREA_ITER_H__ + +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_CELL_AREA_ITER (gtk_cell_area_iter_get_type ()) +#define GTK_CELL_AREA_ITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIter)) +#define GTK_CELL_AREA_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIterClass)) +#define GTK_IS_CELL_AREA_ITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_ITER)) +#define GTK_IS_CELL_AREA_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_ITER)) +#define GTK_CELL_AREA_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIterClass)) + +typedef struct _GtkCellAreaIter GtkCellAreaIter; +typedef struct _GtkCellAreaIterPrivate GtkCellAreaIterPrivate; +typedef struct _GtkCellAreaIterClass GtkCellAreaIterClass; + +struct _GtkCellAreaIter +{ + GObject parent_instance; + + GtkCellAreaIterPrivate *priv; +}; + +struct _GtkCellAreaIterClass +{ + GObjectClass parent_class; + + /* Subclasses can use this to flush their alignments */ + void (* flush_preferred_width) (GtkCellAreaIter *iter); + void (* flush_preferred_height_for_width) (GtkCellAreaIter *iter, + gint width); + void (* flush_preferred_height) (GtkCellAreaIter *iter); + void (* flush_preferred_width_for_height) (GtkCellAreaIter *iter, + gint height); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); +}; + +GType gtk_cell_area_iter_get_type (void) G_GNUC_CONST; + +/* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ +void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_iter_get_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_iter_get_preferred_height (GtkCellAreaIter *iter, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height, + gint *minimum_width, + gint *natural_width); + +/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ +void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, + gint minimum_width, + gint natural_width); +void gtk_cell_area_iter_push_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width, + gint minimum_height, + gint natural_height); +void gtk_cell_area_iter_push_preferred_height (GtkCellAreaIter *iter, + gint minimum_height, + gint natural_height); +void gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height, + gint minimum_width, + gint natural_width); + +/* Apis for GtkCellArea clients to flush the cache */ +void gtk_cell_area_iter_flush (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width); +void gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height); + +G_END_DECLS + +#endif /* __GTK_CELL_AREA_ITER_H__ */ From 97e3ccc58b2fab663ec40b49464b528f2bf6fbf7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 26 Oct 2010 18:22:59 +0900 Subject: [PATCH 0009/1463] Added GtkCellAreaBox subclass to handle alignments of cells across rows inside a GtkCellAreaBox. --- gtk/Makefile.am | 2 + gtk/gtkcellareabox.c | 8 +- gtk/gtkcellareaboxiter.c | 378 +++++++++++++++++++++++++++++++++++++++ gtk/gtkcellareaboxiter.h | 111 ++++++++++++ gtk/gtkcellareaiter.c | 2 - 5 files changed, 497 insertions(+), 4 deletions(-) create mode 100644 gtk/gtkcellareaboxiter.c create mode 100644 gtk/gtkcellareaboxiter.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index dd5c6e478a..ab7f6f9115 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -170,6 +170,7 @@ gtk_public_h_sources = \ gtkcalendar.h \ gtkcellarea.h \ gtkcellareabox.h \ + gtkcellareaboxiter.h \ gtkcellareaiter.h \ gtkcelleditable.h \ gtkcelllayout.h \ @@ -435,6 +436,7 @@ gtk_base_c_sources = \ gtkcalendar.c \ gtkcellarea.c \ gtkcellareabox.c \ + gtkcellareaboxiter.c \ gtkcellareaiter.c \ gtkcelleditable.c \ gtkcelllayout.c \ diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 059dbf9e07..ad4dcfa7ec 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -24,6 +24,7 @@ #include "gtkorientable.h" #include "gtkcelllayout.h" #include "gtkcellareabox.h" +#include "gtkcellareaboxiter.h" /* GObjectClass */ static void gtk_cell_area_box_finalize (GObject *object); @@ -311,7 +312,7 @@ gtk_cell_area_box_render (GtkCellArea *area, static GtkCellAreaIter * gtk_cell_area_box_create_iter (GtkCellArea *area) { - return NULL; + return (GtkCellAreaIter *)g_object_new (GTK_TYPE_CELL_AREA_BOX_ITER, NULL); } static GtkSizeRequestMode @@ -332,7 +333,7 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, gint *minimum_width, gint *natural_width) { - + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); } static void @@ -342,6 +343,7 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, gint *minimum_height, gint *natural_height) { + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); } @@ -354,6 +356,7 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, gint *minimum_height, gint *natural_height) { + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); } @@ -365,6 +368,7 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, gint *minimum_width, gint *natural_width) { + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); } diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c new file mode 100644 index 0000000000..f0c79746a0 --- /dev/null +++ b/gtk/gtkcellareaboxiter.c @@ -0,0 +1,378 @@ +/* gtkcellareaboxiter.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" +#include "gtkintl.h" +#include "gtkcellareaboxiter.h" + +/* GObjectClass */ +static void gtk_cell_area_box_iter_finalize (GObject *object); + +/* GtkCellAreaIterClass */ +static void gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint width); +static void gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint height); + +/* CachedSize management */ +typedef struct { + gint min_size; + gint nat_size; +} CachedSize; + +static CachedSize *cached_size_new (gint min_size, gint nat_size); +static void cached_size_free (CachedSize *size); + +struct _GtkCellAreaBoxIterPrivate +{ + /* Table of per renderer CachedSizes */ + GHashTable *base_widths; + GHashTable *base_heights; + + /* Table of per height/width hash tables of per renderer CachedSizes */ + GHashTable *widths; + GHashTable *heights; +}; + +G_DEFINE_TYPE (GtkCellAreaBoxIter, gtk_cell_area_box_iter, GTK_TYPE_CELL_AREA_ITER); + +static void +gtk_cell_area_box_iter_init (GtkCellAreaBoxIter *box_iter) +{ + GtkCellAreaBoxIterPrivate *priv; + + box_iter->priv = G_TYPE_INSTANCE_GET_PRIVATE (box_iter, + GTK_TYPE_CELL_AREA_BOX_ITER, + GtkCellAreaBoxIterPrivate); + priv = box_iter->priv; + + priv->base_widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + priv->base_heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + + priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)g_hash_table_destroy); + priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)g_hash_table_destroy); +} + +static void +gtk_cell_area_box_iter_class_init (GtkCellAreaBoxIterClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GtkCellAreaIterClass *iter_class = GTK_CELL_AREA_ITER_CLASS (class); + + /* GObjectClass */ + object_class->finalize = gtk_cell_area_box_iter_finalize; + + iter_class->flush_preferred_width = gtk_cell_area_box_iter_flush_preferred_width; + iter_class->flush_preferred_height_for_width = gtk_cell_area_box_iter_flush_preferred_height_for_width; + iter_class->flush_preferred_height = gtk_cell_area_box_iter_flush_preferred_height; + iter_class->flush_preferred_width_for_height = gtk_cell_area_box_iter_flush_preferred_width_for_height; + + g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxIterPrivate)); +} + +/************************************************************* + * Cached Sizes * + *************************************************************/ +static CachedSize * +cached_size_new (gint min_size, + gint nat_size) +{ + CachedSize *size = g_slice_new (CachedSize); + + size->min_size = min_size; + size->nat_size = nat_size; + + return size; +} + +static void +cached_size_free (CachedSize *size) +{ + g_slice_free (CachedSize, size); +} + +/************************************************************* + * GObjectClass * + *************************************************************/ +static void +gtk_cell_area_box_iter_finalize (GObject *object) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (object); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + g_hash_table_destroy (priv->base_widths); + g_hash_table_destroy (priv->base_heights); + g_hash_table_destroy (priv->widths); + g_hash_table_destroy (priv->heights); + + G_OBJECT_CLASS (gtk_cell_area_box_iter_parent_class)->finalize (object); +} + +/************************************************************* + * GtkCellAreaIterClass * + *************************************************************/ +static void +gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + g_hash_table_remove_all (priv->base_widths); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_width (iter); +} + +static void +gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint width) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + /* Flush all sizes for special -1 value */ + if (width < 0) + g_hash_table_remove_all (priv->heights); + else + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_height_for_width (iter, width); +} + +static void +gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + g_hash_table_remove_all (priv->base_heights); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_height (iter); +} + +static void +gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint height) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + /* Flush all sizes for special -1 value */ + if (height < 0) + g_hash_table_remove_all (priv->widths); + else + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_width_for_height (iter, height); +} + +/************************************************************* + * API * + *************************************************************/ + +void +gtk_cell_area_box_push_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaBoxIterPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + priv = box_iter->priv; + size = g_hash_table_lookup (priv->base_widths, renderer); + + if (!size) + { + size = cached_size_new (minimum_width, natural_width); + g_hash_table_insert (priv->base_widths, renderer, size); + } + else + { + size->min_size = MAX (size->min_size, minimum_width); + size->nat_size = MAX (size->nat_size, natural_width); + } +} + +void +gtk_cell_area_box_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaBoxIterPrivate *priv; + GHashTable *cell_table; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + priv = box_iter->priv; + cell_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (!cell_table) + { + cell_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), cell_table); + } + + size = g_hash_table_lookup (cell_table, renderer); + + if (!size) + { + size = cached_size_new (minimum_height, natural_height); + g_hash_table_insert (cell_table, renderer, size); + } + else + { + size->min_size = MAX (size->min_size, minimum_height); + size->nat_size = MAX (size->nat_size, natural_height); + } +} + +void +gtk_cell_area_box_push_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaBoxIterPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + priv = box_iter->priv; + size = g_hash_table_lookup (priv->base_heights, renderer); + + if (!size) + { + size = cached_size_new (minimum_height, natural_height); + g_hash_table_insert (priv->base_widths, renderer, size); + } + else + { + size->min_size = MAX (size->min_size, minimum_height); + size->nat_size = MAX (size->nat_size, natural_height); + } +} + +void +gtk_cell_area_box_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaBoxIterPrivate *priv; + GHashTable *cell_table; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + priv = box_iter->priv; + cell_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (!cell_table) + { + cell_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), cell_table); + } + + size = g_hash_table_lookup (cell_table, renderer); + + if (!size) + { + size = cached_size_new (minimum_width, natural_width); + g_hash_table_insert (cell_table, renderer, size); + } + else + { + size->min_size = MAX (size->min_size, minimum_width); + size->nat_size = MAX (size->nat_size, natural_width); + } +} + +void +gtk_cell_area_box_get_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint *minimum_width, + gint *natural_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + +} + +void +gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + +} + +void +gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_height, + gint natural_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + +} + +void +gtk_cell_area_box_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint *minimum_width, + gint *natural_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + +} diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h new file mode 100644 index 0000000000..36f25bea5a --- /dev/null +++ b/gtk/gtkcellareaboxiter.h @@ -0,0 +1,111 @@ +/* gtkcellareaboxiter.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_CELL_AREA_BOX_ITER_H__ +#define __GTK_CELL_AREA_BOX_ITER_H__ + +#include +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_CELL_AREA_BOX_ITER (gtk_cell_area_box_iter_get_type ()) +#define GTK_CELL_AREA_BOX_ITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX_ITER, GtkCellAreaBoxIter)) +#define GTK_CELL_AREA_BOX_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX_ITER, GtkCellAreaBoxIterClass)) +#define GTK_IS_CELL_AREA_BOX_ITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX_ITER)) +#define GTK_IS_CELL_AREA_BOX_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX_ITER)) +#define GTK_CELL_AREA_BOX_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX_ITER, GtkCellAreaBoxIterClass)) + +typedef struct _GtkCellAreaBoxIter GtkCellAreaBoxIter; +typedef struct _GtkCellAreaBoxIterClass GtkCellAreaBoxIterClass; +typedef struct _GtkCellAreaBoxIterPrivate GtkCellAreaBoxIterPrivate; + +struct _GtkCellAreaBoxIter +{ + GtkCellAreaIter parent_instance; + + GtkCellAreaBoxIterPrivate *priv; +}; + +struct _GtkCellAreaBoxIterClass +{ + GtkCellAreaIterClass parent_class; + +}; + +GType gtk_cell_area_box_iter_get_type (void) G_GNUC_CONST; + + +/* Update cell alignments */ +void gtk_cell_area_box_push_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_width, + gint natural_width); + +void gtk_cell_area_box_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint minimum_height, + gint natural_height); + +void gtk_cell_area_box_push_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_height, + gint natural_height); + +void gtk_cell_area_box_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint minimum_width, + gint natural_width); + +/* Fetch cell alignments */ +void gtk_cell_area_box_get_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint *minimum_width, + gint *natural_width); + +void gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint *minimum_height, + gint *natural_height); + +void gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_height, + gint natural_height); + +void gtk_cell_area_box_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint *minimum_width, + gint *natural_width); + +G_END_DECLS + +#endif /* __GTK_CELL_AREA_BOX_ITER_H__ */ diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c index 1c69a3003c..d4de66b239 100644 --- a/gtk/gtkcellareaiter.c +++ b/gtk/gtkcellareaiter.c @@ -24,8 +24,6 @@ #include "config.h" #include "gtkintl.h" #include "gtkmarshalers.h" -#include "gtkorientable.h" -#include "gtkcelllayout.h" #include "gtkcellareaiter.h" /* GObjectClass */ From 11f8dfe3f40d8b0d40b95bff6ccfdcbfaccee469 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 26 Oct 2010 23:01:17 +0900 Subject: [PATCH 0010/1463] Finished up initial revision of GtkCellAreaBoxIter The interaction between this class and GtkCellAreaBox could use some optimization, maybe the cells and their sizes should be returned as a list and iterated over at the same time as requesting sizes instead of the hash table approach currently taken, however the code is clean this way for now. --- gtk/gtkcellareaboxiter.c | 100 ++++++++++++++++++++++++++++++++++++++- gtk/gtkcellareaboxiter.h | 4 +- 2 files changed, 100 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index f0c79746a0..568f84dffc 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -337,9 +337,31 @@ gtk_cell_area_box_get_cell_width (GtkCellAreaBoxIter *box_iter, gint *minimum_width, gint *natural_width) { + GtkCellAreaBoxIterPrivate *priv; + CachedSize *size; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + priv = box_iter->priv; + size = g_hash_table_lookup (priv->base_widths, renderer); + + if (size) + { + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } } void @@ -349,20 +371,68 @@ gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, gint *minimum_height, gint *natural_height) { + GtkCellAreaBoxIterPrivate *priv; + GHashTable *cell_table; + CachedSize *size = NULL; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + priv = box_iter->priv; + cell_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (cell_table) + size = g_hash_table_lookup (cell_table, renderer); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } } void gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, GtkCellRenderer *renderer, - gint minimum_height, - gint natural_height) + gint *minimum_height, + gint *natural_height) { + GtkCellAreaBoxIterPrivate *priv; + CachedSize *size; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + priv = box_iter->priv; + size = g_hash_table_lookup (priv->base_heights, renderer); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } } void @@ -372,7 +442,33 @@ gtk_cell_area_box_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, gint *minimum_width, gint *natural_width) { + GtkCellAreaBoxIterPrivate *priv; + GHashTable *cell_table; + CachedSize *size = NULL; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + priv = box_iter->priv; + cell_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (cell_table) + size = g_hash_table_lookup (cell_table, renderer); + + if (size) + { + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } } diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h index 36f25bea5a..2d962f4f60 100644 --- a/gtk/gtkcellareaboxiter.h +++ b/gtk/gtkcellareaboxiter.h @@ -97,8 +97,8 @@ void gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_i void gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, GtkCellRenderer *renderer, - gint minimum_height, - gint natural_height); + gint *minimum_height, + gint *natural_height); void gtk_cell_area_box_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, GtkCellRenderer *renderer, From 695e427522ed9f308d4f38cb366871ee8d39d3ce Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 01:01:58 +0900 Subject: [PATCH 0011/1463] Added most of the request code for GtkCellAreaBox Added the following to GtkCellAreaBox: - GtkCellAreaBox:spacing property defines spacing between cells - GtkCellAreaBox:align-cells property defines whether cells should be aligned with cells in adjacent rows. - Implementations for get_preferred_width / get_preferred_height - Implementations for get_preferred_height_for_width and the other when the box is oriented in the easy way (i.e. height_for_width() implemented for a vertical box, no virtual allocations done yet). --- gtk/gtkcellareabox.c | 417 ++++++++++++++++++++++++++++++++++++++- gtk/gtkcellareabox.h | 22 ++- gtk/gtkcellareaboxiter.c | 72 +++---- gtk/gtkcellareaboxiter.h | 72 +++---- 4 files changed, 501 insertions(+), 82 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index ad4dcfa7ec..511e8a0565 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -21,10 +21,14 @@ * Boston, MA 02111-1307, USA. */ +#include "config.h" +#include "gtkintl.h" #include "gtkorientable.h" #include "gtkcelllayout.h" #include "gtkcellareabox.h" #include "gtkcellareaboxiter.h" +#include "gtkprivate.h" + /* GObjectClass */ static void gtk_cell_area_box_finalize (GObject *object); @@ -113,12 +117,18 @@ struct _GtkCellAreaBoxPrivate { GtkOrientation orientation; - GList *cells; + GList *cells; + + gint spacing; + + guint align_cells : 1; }; enum { PROP_0, - PROP_ORIENTATION + PROP_ORIENTATION, + PROP_SPACING, + PROP_ALIGN_CELLS }; G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, @@ -138,6 +148,8 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->orientation = GTK_ORIENTATION_HORIZONTAL; priv->cells = NULL; + priv->spacing = 0; + priv->align_cells = TRUE; } static void @@ -168,6 +180,24 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); + g_object_class_install_property (object_class, + PROP_SPACING, + g_param_spec_int ("spacing", + P_("Spacing"), + P_("Space which is inserted between cells"), + 0, + G_MAXINT, + 0, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_ALIGN_CELLS, + g_param_spec_boolean ("align-cells", + P_("Align Cells"), + P_("Whether cells should be aligned with those " + "rendered in adjacent rows"), + TRUE, + GTK_PARAM_READWRITE)); g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxPrivate)); } @@ -326,6 +356,168 @@ gtk_cell_area_box_get_request_mode (GtkCellArea *area) GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT; } +static void +get_renderer_size (GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (for_size < 0) + gtk_cell_renderer_get_preferred_width (renderer, widget, minimum_size, natural_size); + else + gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, for_size, + minimum_size, natural_size); + } + else /* GTK_ORIENTATION_VERTICAL */ + { + if (for_size < 0) + gtk_cell_renderer_get_preferred_height (renderer, widget, minimum_size, natural_size); + else + gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, for_size, + minimum_size, natural_size); + } +} + +static void +compute_size (GtkCellAreaBox *box, + GtkOrientation orientation, + GtkCellAreaBoxIter *iter, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellInfo *info; + GList *l; + gint min_size = 0; + gint nat_size = 0; + gboolean first_cell = TRUE; + + for (l = priv->cells; l; l = l->next) + { + gint renderer_min_size, renderer_nat_size; + + info = l->data; + + get_renderer_size (info->renderer, orientation, widget, -1, + &renderer_min_size, &renderer_nat_size); + + /* If we're aligning the cells we need to cache the max results + * for all requests performed with the same iter. + */ + if (priv->align_cells) + { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_box_iter_push_cell_width (iter, info->renderer, + renderer_min_size, renderer_nat_size); + else + gtk_cell_area_box_iter_push_cell_height (iter, info->renderer, + renderer_min_size, renderer_nat_size); + } + + if (orientation == priv->orientation) + { + min_size += renderer_min_size; + nat_size += renderer_nat_size; + + if (!first_cell) + { + min_size += priv->spacing; + nat_size += priv->spacing; + } + } + else + { + min_size = MAX (min_size, renderer_min_size); + nat_size = MAX (nat_size, renderer_nat_size); + } + + if (first_cell) + first_cell = FALSE; + } + + *minimum_size = min_size; + *natural_size = nat_size; +} + +static void +update_iter_aligned (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + gint for_size) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellInfo *info; + GList *l; + gint min_size = 0; + gint nat_size = 0; + gboolean first_cell = TRUE; + + for (l = priv->cells; l; l = l->next) + { + gint aligned_min_size, aligned_nat_size; + + info = l->data; + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (for_size < 0) + gtk_cell_area_box_iter_get_cell_width (iter, info->renderer, + &aligned_min_size, + &aligned_nat_size); + else + gtk_cell_area_box_iter_get_cell_width_for_height (iter, info->renderer, + for_size, + &aligned_min_size, + &aligned_nat_size); + } + else + { + if (for_size < 0) + gtk_cell_area_box_iter_get_cell_height (iter, info->renderer, + &aligned_min_size, + &aligned_nat_size); + else + gtk_cell_area_box_iter_get_cell_height_for_width (iter, info->renderer, + for_size, + &aligned_min_size, + &aligned_nat_size); + } + + min_size += aligned_min_size; + nat_size += aligned_nat_size; + + if (!first_cell) + { + min_size += priv->spacing; + nat_size += priv->spacing; + } + + if (first_cell) + first_cell = FALSE; + } + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (for_size < 0) + gtk_cell_area_iter_push_preferred_width (GTK_CELL_AREA_ITER (iter), min_size, nat_size); + else + gtk_cell_area_iter_push_preferred_width_for_height (GTK_CELL_AREA_ITER (iter), + for_size, min_size, nat_size); + } + else + { + if (for_size < 0) + gtk_cell_area_iter_push_preferred_height (GTK_CELL_AREA_ITER (iter), min_size, nat_size); + else + gtk_cell_area_iter_push_preferred_height_for_width (GTK_CELL_AREA_ITER (iter), + for_size, min_size, nat_size); + } +} + static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, GtkCellAreaIter *iter, @@ -333,7 +525,33 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, gint *minimum_width, gint *natural_width) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxPrivate *priv; + gint min_width, nat_width; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + + box_iter = GTK_CELL_AREA_BOX_ITER (iter); + priv = box->priv; + + /* Compute the size of all renderers for current row data, possibly + * bumping cell alignments in the iter along the way */ + compute_size (box, GTK_ORIENTATION_HORIZONTAL, + box_iter, widget, &min_width, &nat_width); + + /* Update width of the iter based on aligned cell sizes if + * appropriate */ + if (priv->align_cells && priv->orientation == GTK_ORIENTATION_HORIZONTAL) + update_iter_aligned (box, box_iter, -1); + else + gtk_cell_area_iter_push_preferred_width (iter, min_width, nat_width); + + if (minimum_width) + *minimum_width = min_width; + + if (natural_width) + *natural_width = nat_width; } static void @@ -343,11 +561,90 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, gint *minimum_height, gint *natural_height) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxPrivate *priv; + gint min_height, nat_height; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + box_iter = GTK_CELL_AREA_BOX_ITER (iter); + priv = box->priv; + /* Compute the size of all renderers for current row data, possibly + * bumping cell alignments in the iter along the way */ + compute_size (box, GTK_ORIENTATION_VERTICAL, + box_iter, widget, &min_height, &nat_height); + + /* Update width of the iter based on aligned cell sizes if + * appropriate */ + if (priv->align_cells && priv->orientation == GTK_ORIENTATION_VERTICAL) + update_iter_aligned (box, box_iter, -1); + else + gtk_cell_area_iter_push_preferred_height (iter, min_height, nat_height); + + if (minimum_height) + *minimum_height = min_height; + + if (natural_height) + *natural_height = nat_height; } +static void +compute_size_for_orientation (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellInfo *info; + GList *l; + gint min_size = 0; + gint nat_size = 0; + gboolean first_cell = TRUE; + + for (l = priv->cells; l; l = l->next) + { + gint renderer_min_size, renderer_nat_size; + + info = l->data; + + get_renderer_size (info->renderer, priv->orientation, widget, for_size, + &renderer_min_size, &renderer_nat_size); + + /* If we're aligning the cells we need to cache the max results + * for all requests performed with the same iter. + */ + if (priv->align_cells) + { + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_box_iter_push_cell_width_for_height (iter, info->renderer, for_size, + renderer_min_size, renderer_nat_size); + else + gtk_cell_area_box_iter_push_cell_height_for_width (iter, info->renderer, for_size, + renderer_min_size, renderer_nat_size); + } + + min_size += renderer_min_size; + nat_size += renderer_nat_size; + + if (!first_cell) + { + min_size += priv->spacing; + nat_size += priv->spacing; + } + + if (first_cell) + first_cell = FALSE; + } + + *minimum_size = min_size; + *natural_size = nat_size; +} + + static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaIter *iter, @@ -356,8 +653,40 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, gint *minimum_height, gint *natural_height) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxPrivate *priv; + gint min_height, nat_height; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + box_iter = GTK_CELL_AREA_BOX_ITER (iter); + priv = box->priv; + + if (priv->orientation == GTK_ORIENTATION_VERTICAL) + { + /* Add up vertical requests of height for width and possibly push the overall + * cached sizes for alignments */ + compute_size_for_orientation (box, box_iter, widget, width, &min_height, &nat_height); + + /* Update the overall cached height for width based on aligned cells if appropriate */ + if (priv->align_cells) + update_iter_aligned (box, box_iter, width); + else + gtk_cell_area_iter_push_preferred_height_for_width (GTK_CELL_AREA_ITER (iter), + width, min_height, nat_height); + } + else + { + /* XXX Juice: virtually allocate cells into the for_width possibly using the + * alignments and then return the overall height for that width, and cache it */ + } + + if (minimum_height) + *minimum_height = min_height; + + if (natural_height) + *natural_height = nat_height; } static void @@ -368,8 +697,40 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, gint *minimum_width, gint *natural_width) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxPrivate *priv; + gint min_width, nat_width; + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + box_iter = GTK_CELL_AREA_BOX_ITER (iter); + priv = box->priv; + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + /* Add up vertical requests of height for width and possibly push the overall + * cached sizes for alignments */ + compute_size_for_orientation (box, box_iter, widget, height, &min_width, &nat_width); + + /* Update the overall cached height for width based on aligned cells if appropriate */ + if (priv->align_cells) + update_iter_aligned (box, box_iter, height); + else + gtk_cell_area_iter_push_preferred_height_for_width (GTK_CELL_AREA_ITER (iter), + height, min_width, nat_width); + } + else + { + /* XXX Juice: virtually allocate cells into the for_width possibly using the + * alignments and then return the overall height for that width, and cache it */ + } + + if (minimum_width) + *minimum_width = min_width; + + if (natural_width) + *natural_width = nat_width; } @@ -480,3 +841,55 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, priv->cells = g_list_append (priv->cells, info); } + +gint +gtk_cell_area_box_get_spacing (GtkCellAreaBox *box) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX (box), 0); + + return box->priv->spacing; +} + +void +gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, + gint spacing) +{ + GtkCellAreaBoxPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX (box)); + + priv = box->priv; + + if (priv->spacing != spacing) + { + priv->spacing = spacing; + + g_object_notify (G_OBJECT (box), "spacing"); + } +} + +gboolean +gtk_cell_area_box_get_align_cells (GtkCellAreaBox *box) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX (box), FALSE); + + return box->priv->align_cells; +} + +void +gtk_cell_area_box_set_align_cells (GtkCellAreaBox *box, + gboolean align) +{ + GtkCellAreaBoxPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX (box)); + + priv = box->priv; + + if (priv->align_cells != align) + { + priv->align_cells = align; + + g_object_notify (G_OBJECT (box), "align-cells"); + } +} diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index 1913995ce4..ee29ffe8a0 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -62,15 +62,21 @@ struct _GtkCellAreaBoxClass void (*_gtk_reserved4) (void); }; -GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; +GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; -GtkCellArea *gtk_cell_area_box_new (void); -void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, - GtkCellRenderer *renderer, - gboolean expand); -void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, - GtkCellRenderer *renderer, - gboolean expand); +GtkCellArea *gtk_cell_area_box_new (void); +void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand); +void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand); +gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); +void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, + gint spacing); +gboolean gtk_cell_area_box_get_align_cells (GtkCellAreaBox *box); +void gtk_cell_area_box_set_align_cells (GtkCellAreaBox *box, + gboolean align); G_END_DECLS diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index 568f84dffc..791d6b4041 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -200,10 +200,10 @@ gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, *************************************************************/ void -gtk_cell_area_box_push_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_width, - gint natural_width) +gtk_cell_area_box_iter_push_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_width, + gint natural_width) { GtkCellAreaBoxIterPrivate *priv; CachedSize *size; @@ -227,11 +227,11 @@ gtk_cell_area_box_push_cell_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint minimum_height, - gint natural_height) +gtk_cell_area_box_iter_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint minimum_height, + gint natural_height) { GtkCellAreaBoxIterPrivate *priv; GHashTable *cell_table; @@ -266,10 +266,10 @@ gtk_cell_area_box_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_push_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_height, - gint natural_height) +gtk_cell_area_box_iter_push_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_height, + gint natural_height) { GtkCellAreaBoxIterPrivate *priv; CachedSize *size; @@ -293,11 +293,11 @@ gtk_cell_area_box_push_cell_height (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint minimum_width, - gint natural_width) +gtk_cell_area_box_iter_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint minimum_width, + gint natural_width) { GtkCellAreaBoxIterPrivate *priv; GHashTable *cell_table; @@ -332,10 +332,10 @@ gtk_cell_area_box_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_get_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_width, - gint *natural_width) +gtk_cell_area_box_iter_get_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint *minimum_width, + gint *natural_width) { GtkCellAreaBoxIterPrivate *priv; CachedSize *size; @@ -365,11 +365,11 @@ gtk_cell_area_box_get_cell_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint *minimum_height, - gint *natural_height) +gtk_cell_area_box_iter_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint *minimum_height, + gint *natural_height) { GtkCellAreaBoxIterPrivate *priv; GHashTable *cell_table; @@ -403,10 +403,10 @@ gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_height, - gint *natural_height) +gtk_cell_area_box_iter_get_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint *minimum_height, + gint *natural_height) { GtkCellAreaBoxIterPrivate *priv; CachedSize *size; @@ -436,11 +436,11 @@ gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint *minimum_width, - gint *natural_width) +gtk_cell_area_box_iter_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint *minimum_width, + gint *natural_width) { GtkCellAreaBoxIterPrivate *priv; GHashTable *cell_table; diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h index 2d962f4f60..0781c28d78 100644 --- a/gtk/gtkcellareaboxiter.h +++ b/gtk/gtkcellareaboxiter.h @@ -61,50 +61,50 @@ GType gtk_cell_area_box_iter_get_type (void) G_GNUC_CONST; /* Update cell alignments */ -void gtk_cell_area_box_push_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_width, - gint natural_width); +void gtk_cell_area_box_iter_push_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_width, + gint natural_width); -void gtk_cell_area_box_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint minimum_height, - gint natural_height); +void gtk_cell_area_box_iter_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint minimum_height, + gint natural_height); -void gtk_cell_area_box_push_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_height, - gint natural_height); +void gtk_cell_area_box_iter_push_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint minimum_height, + gint natural_height); -void gtk_cell_area_box_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint minimum_width, - gint natural_width); +void gtk_cell_area_box_iter_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint minimum_width, + gint natural_width); /* Fetch cell alignments */ -void gtk_cell_area_box_get_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_width, - gint *natural_width); +void gtk_cell_area_box_iter_get_cell_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint *minimum_width, + gint *natural_width); -void gtk_cell_area_box_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint *minimum_height, - gint *natural_height); +void gtk_cell_area_box_iter_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_width, + gint *minimum_height, + gint *natural_height); -void gtk_cell_area_box_get_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_height, - gint *natural_height); +void gtk_cell_area_box_iter_get_cell_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint *minimum_height, + gint *natural_height); -void gtk_cell_area_box_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint *minimum_width, - gint *natural_width); +void gtk_cell_area_box_iter_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, + GtkCellRenderer *renderer, + gint for_height, + gint *minimum_width, + gint *natural_width); G_END_DECLS From 65dd3460ceb42e4412437b27530d00d04caea1d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 26 Oct 2010 06:35:10 +0200 Subject: [PATCH 0012/1463] Fix gtk-doc markup: /* */ should be /*< private >*/ --- gtk/gtkalignment.h | 2 +- gtk/gtkcellrenderer.h | 2 +- gtk/gtkcellrenderercombo.h | 2 +- gtk/gtkcellrendererspin.h | 2 +- gtk/gtkcellrendererspinner.h | 2 +- gtk/gtkcheckmenuitem.h | 2 +- gtk/gtkcolorseldialog.h | 2 +- gtk/gtkcomboboxtext.h | 2 +- gtk/gtkfixed.h | 2 +- gtk/gtkfontsel.h | 2 +- gtk/gtkframe.h | 2 +- gtk/gtkgrid.h | 2 +- gtk/gtkhandlebox.h | 2 +- gtk/gtkhsv.h | 2 +- gtk/gtkiconfactory.h | 2 +- gtk/gtkiconview.h | 2 +- gtk/gtkimage.h | 2 +- gtk/gtkimcontextsimple.h | 2 +- gtk/gtkimmulticontext.h | 2 +- gtk/gtkinvisible.h | 2 +- gtk/gtklayout.h | 2 +- gtk/gtkmenubar.h | 2 +- gtk/gtkmisc.h | 2 +- gtk/gtknotebook.h | 2 +- gtk/gtkprinter.h | 2 +- gtk/gtkprintoperation.h | 2 +- gtk/gtkprintunixdialog.h | 2 +- gtk/gtkprogressbar.h | 2 +- gtk/gtkradiobutton.h | 2 +- gtk/gtkradiomenuitem.h | 2 +- gtk/gtkrecentchoosermenu.h | 2 +- gtk/gtkrecentchooserwidget.h | 2 +- gtk/gtkrecentmanager.h | 2 +- gtk/gtkruler.h | 2 +- gtk/gtkscale.h | 2 +- gtk/gtksizegroup.h | 2 +- gtk/gtkspinbutton.h | 2 +- gtk/gtkspinner.h | 2 +- gtk/gtkstatusbar.h | 2 +- gtk/gtktable.h | 2 +- gtk/gtktearoffmenuitem.h | 2 +- gtk/gtktreeview.h | 2 +- gtk/gtkviewport.h | 2 +- 43 files changed, 43 insertions(+), 43 deletions(-) diff --git a/gtk/gtkalignment.h b/gtk/gtkalignment.h index 498ad93c45..cc4d96da6e 100644 --- a/gtk/gtkalignment.h +++ b/gtk/gtkalignment.h @@ -53,7 +53,7 @@ struct _GtkAlignment { GtkBin bin; - /* */ + /*< private >*/ GtkAlignmentPrivate *priv; }; diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index be230ca4af..44362778ce 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -60,7 +60,7 @@ struct _GtkCellRenderer { GInitiallyUnowned parent_instance; - /* */ + /*< private >*/ GtkCellRendererPrivate *priv; }; diff --git a/gtk/gtkcellrenderercombo.h b/gtk/gtkcellrenderercombo.h index 58bdf98338..7c645bf360 100644 --- a/gtk/gtkcellrenderercombo.h +++ b/gtk/gtkcellrenderercombo.h @@ -44,7 +44,7 @@ struct _GtkCellRendererCombo { GtkCellRendererText parent; - /* */ + /*< private >*/ GtkCellRendererComboPrivate *priv; }; diff --git a/gtk/gtkcellrendererspin.h b/gtk/gtkcellrendererspin.h index b942b360f3..a39880184b 100644 --- a/gtk/gtkcellrendererspin.h +++ b/gtk/gtkcellrendererspin.h @@ -43,7 +43,7 @@ struct _GtkCellRendererSpin { GtkCellRendererText parent; - /* */ + /*< private >*/ GtkCellRendererSpinPrivate *priv; }; diff --git a/gtk/gtkcellrendererspinner.h b/gtk/gtkcellrendererspinner.h index 84a3077ea4..5877ae3796 100644 --- a/gtk/gtkcellrendererspinner.h +++ b/gtk/gtkcellrendererspinner.h @@ -46,7 +46,7 @@ struct _GtkCellRendererSpinner { GtkCellRenderer parent; - /* */ + /*< private >*/ GtkCellRendererSpinnerPrivate *priv; }; diff --git a/gtk/gtkcheckmenuitem.h b/gtk/gtkcheckmenuitem.h index f930768bc7..30b1947861 100644 --- a/gtk/gtkcheckmenuitem.h +++ b/gtk/gtkcheckmenuitem.h @@ -53,7 +53,7 @@ struct _GtkCheckMenuItem { GtkMenuItem menu_item; - /* */ + /*< private >*/ GtkCheckMenuItemPrivate *priv; }; diff --git a/gtk/gtkcolorseldialog.h b/gtk/gtkcolorseldialog.h index 0b4f0aaaa7..41d6807d84 100644 --- a/gtk/gtkcolorseldialog.h +++ b/gtk/gtkcolorseldialog.h @@ -54,7 +54,7 @@ struct _GtkColorSelectionDialog { GtkDialog parent_instance; - /* */ + /*< private >*/ GtkColorSelectionDialogPrivate *priv; }; diff --git a/gtk/gtkcomboboxtext.h b/gtk/gtkcomboboxtext.h index 50ebcb501c..ae08d2d40e 100644 --- a/gtk/gtkcomboboxtext.h +++ b/gtk/gtkcomboboxtext.h @@ -40,7 +40,7 @@ typedef struct _GtkComboBoxTextClass GtkComboBoxTextClass; struct _GtkComboBoxText { - /* */ + /*< private >*/ GtkComboBox parent_instance; GtkComboBoxTextPrivate *priv; diff --git a/gtk/gtkfixed.h b/gtk/gtkfixed.h index 2703c6b1c3..00569c3f2b 100644 --- a/gtk/gtkfixed.h +++ b/gtk/gtkfixed.h @@ -53,7 +53,7 @@ struct _GtkFixed { GtkContainer container; - /* */ + /*< private >*/ GtkFixedPrivate *priv; }; diff --git a/gtk/gtkfontsel.h b/gtk/gtkfontsel.h index 7ec2b354c6..e481b6f81b 100644 --- a/gtk/gtkfontsel.h +++ b/gtk/gtkfontsel.h @@ -70,7 +70,7 @@ struct _GtkFontSelection { GtkVBox parent_instance; - /* */ + /*< private >*/ GtkFontSelectionPrivate *priv; }; diff --git a/gtk/gtkframe.h b/gtk/gtkframe.h index 83b1c4ed3b..d8485f109a 100644 --- a/gtk/gtkframe.h +++ b/gtk/gtkframe.h @@ -53,7 +53,7 @@ struct _GtkFrame { GtkBin bin; - /* */ + /*< private >*/ GtkFramePrivate *priv; }; diff --git a/gtk/gtkgrid.h b/gtk/gtkgrid.h index 860658a0b7..530ef0be25 100644 --- a/gtk/gtkgrid.h +++ b/gtk/gtkgrid.h @@ -45,7 +45,7 @@ typedef struct _GtkGridClass GtkGridClass; struct _GtkGrid { - /* */ + /*< private >*/ GtkContainer container; GtkGridPrivate *priv; diff --git a/gtk/gtkhandlebox.h b/gtk/gtkhandlebox.h index 174ce393a9..bb12afa092 100644 --- a/gtk/gtkhandlebox.h +++ b/gtk/gtkhandlebox.h @@ -57,7 +57,7 @@ struct _GtkHandleBox { GtkBin bin; - /* */ + /*< private >*/ GtkHandleBoxPrivate *priv; }; diff --git a/gtk/gtkhsv.h b/gtk/gtkhsv.h index fda2861f11..ae6bdb3c9d 100644 --- a/gtk/gtkhsv.h +++ b/gtk/gtkhsv.h @@ -56,7 +56,7 @@ struct _GtkHSV { GtkWidget parent_instance; - /* */ + /*< private >*/ GtkHSVPrivate *priv; }; diff --git a/gtk/gtkiconfactory.h b/gtk/gtkiconfactory.h index a9478a0f3b..1019cf6b41 100644 --- a/gtk/gtkiconfactory.h +++ b/gtk/gtkiconfactory.h @@ -53,7 +53,7 @@ struct _GtkIconFactory { GObject parent_instance; - /* */ + /*< private >*/ GtkIconFactoryPrivate *priv; }; diff --git a/gtk/gtkiconview.h b/gtk/gtkiconview.h index 485a0df6b8..cf769b6d59 100644 --- a/gtk/gtkiconview.h +++ b/gtk/gtkiconview.h @@ -81,7 +81,7 @@ struct _GtkIconView { GtkContainer parent; - /* */ + /*< private >*/ GtkIconViewPrivate *priv; }; diff --git a/gtk/gtkimage.h b/gtk/gtkimage.h index f3f785c154..2e6bcc2814 100644 --- a/gtk/gtkimage.h +++ b/gtk/gtkimage.h @@ -135,7 +135,7 @@ struct _GtkImage { GtkMisc misc; - /* */ + /*< private >*/ GtkImagePrivate *priv; }; diff --git a/gtk/gtkimcontextsimple.h b/gtk/gtkimcontextsimple.h index 828983c8da..b949755d1b 100644 --- a/gtk/gtkimcontextsimple.h +++ b/gtk/gtkimcontextsimple.h @@ -52,7 +52,7 @@ struct _GtkIMContextSimple { GtkIMContext object; - /* */ + /*< private >*/ GtkIMContextSimplePrivate *priv; }; diff --git a/gtk/gtkimmulticontext.h b/gtk/gtkimmulticontext.h index 1ed6533d3b..574f793897 100644 --- a/gtk/gtkimmulticontext.h +++ b/gtk/gtkimmulticontext.h @@ -45,7 +45,7 @@ struct _GtkIMMulticontext { GtkIMContext object; - /* */ + /*< private >*/ GtkIMMulticontextPrivate *priv; }; diff --git a/gtk/gtkinvisible.h b/gtk/gtkinvisible.h index 830974d888..2d68fd8210 100644 --- a/gtk/gtkinvisible.h +++ b/gtk/gtkinvisible.h @@ -51,7 +51,7 @@ struct _GtkInvisible { GtkWidget widget; - /* */ + /*< private >*/ GtkInvisiblePrivate *priv; }; diff --git a/gtk/gtklayout.h b/gtk/gtklayout.h index 5c4f8b284e..61ba27f6e9 100644 --- a/gtk/gtklayout.h +++ b/gtk/gtklayout.h @@ -58,7 +58,7 @@ struct _GtkLayout { GtkContainer container; - /* */ + /*< private >*/ GtkLayoutPrivate *priv; }; diff --git a/gtk/gtkmenubar.h b/gtk/gtkmenubar.h index 2120945180..bc1f66c49e 100644 --- a/gtk/gtkmenubar.h +++ b/gtk/gtkmenubar.h @@ -53,7 +53,7 @@ struct _GtkMenuBar { GtkMenuShell menu_shell; - /* */ + /*< private >*/ GtkMenuBarPrivate *priv; }; diff --git a/gtk/gtkmisc.h b/gtk/gtkmisc.h index fe6b7c9df8..1ca83091be 100644 --- a/gtk/gtkmisc.h +++ b/gtk/gtkmisc.h @@ -53,7 +53,7 @@ struct _GtkMisc { GtkWidget widget; - /* */ + /*< private >*/ GtkMiscPrivate *priv; }; diff --git a/gtk/gtknotebook.h b/gtk/gtknotebook.h index e83a7c58a3..d69d4f0835 100644 --- a/gtk/gtknotebook.h +++ b/gtk/gtknotebook.h @@ -58,7 +58,7 @@ typedef struct _GtkNotebookClass GtkNotebookClass; struct _GtkNotebook { - /* */ + /*< private >*/ GtkContainer container; GtkNotebookPrivate *priv; diff --git a/gtk/gtkprinter.h b/gtk/gtkprinter.h index c5bacb35f0..ba7506ad32 100644 --- a/gtk/gtkprinter.h +++ b/gtk/gtkprinter.h @@ -68,7 +68,7 @@ struct _GtkPrinter { GObject parent_instance; - /* */ + /*< private >*/ GtkPrinterPrivate *priv; }; diff --git a/gtk/gtkprintoperation.h b/gtk/gtkprintoperation.h index d4ad22530b..bba15cc632 100644 --- a/gtk/gtkprintoperation.h +++ b/gtk/gtkprintoperation.h @@ -79,7 +79,7 @@ struct _GtkPrintOperation { GObject parent_instance; - /* */ + /*< private >*/ GtkPrintOperationPrivate *priv; }; diff --git a/gtk/gtkprintunixdialog.h b/gtk/gtkprintunixdialog.h index 0cd410ee6c..2c0656676c 100644 --- a/gtk/gtkprintunixdialog.h +++ b/gtk/gtkprintunixdialog.h @@ -46,7 +46,7 @@ struct _GtkPrintUnixDialog { GtkDialog parent_instance; - /* */ + /*< private >*/ GtkPrintUnixDialogPrivate *priv; }; diff --git a/gtk/gtkprogressbar.h b/gtk/gtkprogressbar.h index 554d169375..be14b7c66e 100644 --- a/gtk/gtkprogressbar.h +++ b/gtk/gtkprogressbar.h @@ -51,7 +51,7 @@ struct _GtkProgressBar { GtkWidget parent; - /* */ + /*< private >*/ GtkProgressBarPrivate *priv; }; diff --git a/gtk/gtkradiobutton.h b/gtk/gtkradiobutton.h index b9fd6a43e5..2fe40c69af 100644 --- a/gtk/gtkradiobutton.h +++ b/gtk/gtkradiobutton.h @@ -53,7 +53,7 @@ struct _GtkRadioButton { GtkCheckButton check_button; - /* */ + /*< private >*/ GtkRadioButtonPrivate *priv; }; diff --git a/gtk/gtkradiomenuitem.h b/gtk/gtkradiomenuitem.h index 315ac021f7..bab8380b00 100644 --- a/gtk/gtkradiomenuitem.h +++ b/gtk/gtkradiomenuitem.h @@ -53,7 +53,7 @@ struct _GtkRadioMenuItem { GtkCheckMenuItem check_menu_item; - /* */ + /*< private >*/ GtkRadioMenuItemPrivate *priv; }; diff --git a/gtk/gtkrecentchoosermenu.h b/gtk/gtkrecentchoosermenu.h index a595da7ea1..36c718e103 100644 --- a/gtk/gtkrecentchoosermenu.h +++ b/gtk/gtkrecentchoosermenu.h @@ -45,7 +45,7 @@ struct _GtkRecentChooserMenu { GtkMenu parent_instance; - /* */ + /*< private >*/ GtkRecentChooserMenuPrivate *priv; }; diff --git a/gtk/gtkrecentchooserwidget.h b/gtk/gtkrecentchooserwidget.h index d8b55c9810..dce2805975 100644 --- a/gtk/gtkrecentchooserwidget.h +++ b/gtk/gtkrecentchooserwidget.h @@ -46,7 +46,7 @@ struct _GtkRecentChooserWidget { GtkVBox parent_instance; - /* */ + /*< private >*/ GtkRecentChooserWidgetPrivate *priv; }; diff --git a/gtk/gtkrecentmanager.h b/gtk/gtkrecentmanager.h index 9fdb942309..41e7c841ba 100644 --- a/gtk/gtkrecentmanager.h +++ b/gtk/gtkrecentmanager.h @@ -91,7 +91,7 @@ struct _GtkRecentData */ struct _GtkRecentManager { - /* */ + /*< private >*/ GObject parent_instance; GtkRecentManagerPrivate *priv; diff --git a/gtk/gtkruler.h b/gtk/gtkruler.h index 586b9fc5ee..491748c26c 100644 --- a/gtk/gtkruler.h +++ b/gtk/gtkruler.h @@ -67,7 +67,7 @@ struct _GtkRuler { GtkWidget widget; - /* */ + /*< private >*/ GtkRulerPrivate *priv; }; diff --git a/gtk/gtkscale.h b/gtk/gtkscale.h index 7da4003e87..9a585253b7 100644 --- a/gtk/gtkscale.h +++ b/gtk/gtkscale.h @@ -53,7 +53,7 @@ struct _GtkScale { GtkRange range; - /* */ + /*< private >*/ GtkScalePrivate *priv; }; diff --git a/gtk/gtksizegroup.h b/gtk/gtksizegroup.h index ff1b0b10f9..d3c91119b3 100644 --- a/gtk/gtksizegroup.h +++ b/gtk/gtksizegroup.h @@ -45,7 +45,7 @@ struct _GtkSizeGroup { GObject parent_instance; - /* */ + /*< private >*/ GtkSizeGroupPrivate *priv; }; diff --git a/gtk/gtkspinbutton.h b/gtk/gtkspinbutton.h index d1b1405e4a..f061f29028 100644 --- a/gtk/gtkspinbutton.h +++ b/gtk/gtkspinbutton.h @@ -77,7 +77,7 @@ struct _GtkSpinButton { GtkEntry entry; - /* */ + /*< private >*/ GtkSpinButtonPrivate *priv; }; diff --git a/gtk/gtkspinner.h b/gtk/gtkspinner.h index ddf7610333..123cd4fe79 100644 --- a/gtk/gtkspinner.h +++ b/gtk/gtkspinner.h @@ -48,7 +48,7 @@ struct _GtkSpinner { GtkWidget parent; - /* */ + /*< private >*/ GtkSpinnerPrivate *priv; }; diff --git a/gtk/gtkstatusbar.h b/gtk/gtkstatusbar.h index a69aaf5cb2..4de1f90ddd 100644 --- a/gtk/gtkstatusbar.h +++ b/gtk/gtkstatusbar.h @@ -52,7 +52,7 @@ struct _GtkStatusbar { GtkHBox parent_widget; - /* */ + /*< private >*/ GtkStatusbarPrivate *priv; }; diff --git a/gtk/gtktable.h b/gtk/gtktable.h index e0f20c12ff..4158a093c1 100644 --- a/gtk/gtktable.h +++ b/gtk/gtktable.h @@ -55,7 +55,7 @@ struct _GtkTable { GtkContainer container; - /* */ + /*< private >*/ GtkTablePrivate *priv; }; diff --git a/gtk/gtktearoffmenuitem.h b/gtk/gtktearoffmenuitem.h index 80a4dad65a..542e2c61ee 100644 --- a/gtk/gtktearoffmenuitem.h +++ b/gtk/gtktearoffmenuitem.h @@ -53,7 +53,7 @@ struct _GtkTearoffMenuItem { GtkMenuItem menu_item; - /* */ + /*< private >*/ GtkTearoffMenuItemPrivate *priv; }; diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h index 2dd137b893..4c609d9d42 100644 --- a/gtk/gtktreeview.h +++ b/gtk/gtktreeview.h @@ -62,7 +62,7 @@ struct _GtkTreeView { GtkContainer parent; - /* */ + /*< private >*/ GtkTreeViewPrivate *priv; }; diff --git a/gtk/gtkviewport.h b/gtk/gtkviewport.h index fcc0833300..c1d9ce4307 100644 --- a/gtk/gtkviewport.h +++ b/gtk/gtkviewport.h @@ -55,7 +55,7 @@ struct _GtkViewport { GtkBin bin; - /* */ + /*< private >*/ GtkViewportPrivate *priv; }; From 42de07f2f321245f9dbfa298cbf838501821af94 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 20:57:23 -0400 Subject: [PATCH 0013/1463] Remove size_request from GtkAssistant --- gtk/gtkassistant.c | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index ba9c06ba77..7f5803d09e 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -117,8 +117,12 @@ static void gtk_assistant_init (GtkAssistant *assistant); static void gtk_assistant_destroy (GtkWidget *widget); static void gtk_assistant_style_set (GtkWidget *widget, GtkStyle *old_style); -static void gtk_assistant_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_assistant_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_assistant_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_assistant_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_assistant_map (GtkWidget *widget); @@ -209,7 +213,8 @@ gtk_assistant_class_init (GtkAssistantClass *class) widget_class->destroy = gtk_assistant_destroy; widget_class->style_set = gtk_assistant_style_set; - widget_class->size_request = gtk_assistant_size_request; + widget_class->get_preferred_width = gtk_assistant_get_preferred_width; + widget_class->get_preferred_height = gtk_assistant_get_preferred_height; widget_class->size_allocate = gtk_assistant_size_allocate; widget_class->map = gtk_assistant_map; widget_class->unmap = gtk_assistant_unmap; @@ -1200,6 +1205,29 @@ gtk_assistant_size_request (GtkWidget *widget, requisition->height = height; } +static void +gtk_assistant_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_assistant_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_assistant_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_assistant_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} static void gtk_assistant_size_allocate (GtkWidget *widget, From 2078db969cbff6be2ea731d2f74b1c3aff6c40e6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 20:57:40 -0400 Subject: [PATCH 0014/1463] Remove size_request from GtkButtonBox --- gtk/gtkbbox.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index 92f88fe961..346e9c520f 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -81,8 +81,12 @@ static void gtk_button_box_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_button_box_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_button_box_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_button_box_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_button_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_button_box_remove (GtkContainer *container, @@ -120,7 +124,8 @@ gtk_button_box_class_init (GtkButtonBoxClass *class) gobject_class->set_property = gtk_button_box_set_property; gobject_class->get_property = gtk_button_box_get_property; - widget_class->size_request = gtk_button_box_size_request; + widget_class->get_preferred_width = gtk_button_box_get_preferred_width; + widget_class->get_preferred_height = gtk_button_box_get_preferred_height; widget_class->size_allocate = gtk_button_box_size_allocate; container_class->remove = gtk_button_box_remove; @@ -612,6 +617,30 @@ gtk_button_box_size_request (GtkWidget *widget, requisition->height += border_width * 2; } +static void +gtk_button_box_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_button_box_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_button_box_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_button_box_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + static void gtk_button_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From 23a9127765e6a5cd6649544ffbb595e660dcbdbd Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 21:06:40 -0400 Subject: [PATCH 0015/1463] Remove size_request from GtkCalendar --- gtk/gtkcalendar.c | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index ec059ab005..57a26d6d7e 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -341,8 +341,12 @@ static void gtk_calendar_get_property (GObject *object, static void gtk_calendar_realize (GtkWidget *widget); static void gtk_calendar_unrealize (GtkWidget *widget); -static void gtk_calendar_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_calendar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_calendar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_calendar_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_calendar_draw (GtkWidget *widget, @@ -438,7 +442,8 @@ gtk_calendar_class_init (GtkCalendarClass *class) widget_class->realize = gtk_calendar_realize; widget_class->unrealize = gtk_calendar_unrealize; widget_class->draw = gtk_calendar_draw; - widget_class->size_request = gtk_calendar_size_request; + widget_class->get_preferred_width = gtk_calendar_get_preferred_width; + widget_class->get_preferred_height = gtk_calendar_get_preferred_height; widget_class->size_allocate = gtk_calendar_size_allocate; widget_class->button_press_event = gtk_calendar_button_press; widget_class->button_release_event = gtk_calendar_button_release; @@ -2029,6 +2034,30 @@ gtk_calendar_size_request (GtkWidget *widget, g_object_unref (layout); } +static void +gtk_calendar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_calendar_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_calendar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_calendar_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + static void gtk_calendar_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From 2e4e7264e6d4c0b7876a5773159d3c570cdf87bb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 21:29:58 -0400 Subject: [PATCH 0016/1463] Remove size_request from GtkCheckButton --- gtk/gtkcheckbutton.c | 103 ++++++++++++++++++++++++++++++++----------- 1 file changed, 77 insertions(+), 26 deletions(-) diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c index fa993804c3..9a9b3441f9 100644 --- a/gtk/gtkcheckbutton.c +++ b/gtk/gtkcheckbutton.c @@ -38,8 +38,12 @@ #define INDICATOR_SPACING 2 -static void gtk_check_button_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_check_button_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_check_button_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_check_button_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_check_button_draw (GtkWidget *widget, @@ -57,10 +61,11 @@ static void gtk_check_button_class_init (GtkCheckButtonClass *class) { GtkWidgetClass *widget_class; - + widget_class = (GtkWidgetClass*) class; - - widget_class->size_request = gtk_check_button_size_request; + + widget_class->get_preferred_width = gtk_check_button_get_preferred_width; + widget_class->get_preferred_height = gtk_check_button_get_preferred_height; widget_class->size_allocate = gtk_check_button_size_allocate; widget_class->draw = gtk_check_button_draw; @@ -195,11 +200,58 @@ _gtk_check_button_get_props (GtkCheckButton *check_button, } static void -gtk_check_button_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_check_button_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (widget); + if (gtk_toggle_button_get_mode (toggle_button)) + { + GtkWidget *child; + gint indicator_size; + gint indicator_spacing; + gint focus_width; + gint focus_pad; + guint border_width; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + + gtk_widget_style_get (GTK_WIDGET (widget), + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + *minimum = 2 * border_width; + *natural = 2 * border_width; + + _gtk_check_button_get_props (GTK_CHECK_BUTTON (widget), + &indicator_size, &indicator_spacing); + + child = gtk_bin_get_child (GTK_BIN (widget)); + if (child && gtk_widget_get_visible (child)) + { + gint child_min, child_nat; + + gtk_widget_get_preferred_width (child, &child_min, &child_nat); + + *minimum += child_min + indicator_spacing; + *natural += child_nat + indicator_spacing; + } + + *minimum += (indicator_size + indicator_spacing * 2 + 2 * (focus_width + focus_pad)); + *natural += (indicator_size + indicator_spacing * 2 + 2 * (focus_width + focus_pad)); + } + else + GTK_WIDGET_CLASS (gtk_check_button_parent_class)->get_preferred_width (widget, minimum, natural); +} + +static void +gtk_check_button_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (widget); + if (gtk_toggle_button_get_mode (toggle_button)) { GtkWidget *child; @@ -213,34 +265,33 @@ gtk_check_button_size_request (GtkWidget *widget, border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); - - requisition->width = border_width * 2; - requisition->height = border_width * 2; + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + + *minimum = border_width * 2; + *natural = border_width * 2; _gtk_check_button_get_props (GTK_CHECK_BUTTON (widget), - &indicator_size, &indicator_spacing); - + &indicator_size, &indicator_spacing); + child = gtk_bin_get_child (GTK_BIN (widget)); if (child && gtk_widget_get_visible (child)) - { - GtkRequisition child_requisition; + { + gint child_min, child_nat; - gtk_widget_get_preferred_size (child, &child_requisition, NULL); + gtk_widget_get_preferred_height (child, &child_min, &child_nat); + + *minimum += child_min; + *natural += child_nat; + } - requisition->width += child_requisition.width + indicator_spacing; - requisition->height += child_requisition.height; - } - - requisition->width += (indicator_size + indicator_spacing * 2 + 2 * (focus_width + focus_pad)); - temp = indicator_size + indicator_spacing * 2; - requisition->height = MAX (requisition->height, temp) + 2 * (focus_width + focus_pad); + *minimum = MAX (*minimum, temp) + 2 * (focus_width + focus_pad); + *natural = MAX (*natural, temp) + 2 * (focus_width + focus_pad); } else - GTK_WIDGET_CLASS (gtk_check_button_parent_class)->size_request (widget, requisition); + GTK_WIDGET_CLASS (gtk_check_button_parent_class)->get_preferred_height (widget, minimum, natural); } static void From e165c6c884c26c4b1e689995da4d59fd973378cd Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 21:41:13 -0400 Subject: [PATCH 0017/1463] Remove size_request from GtkEntry --- gtk/gtkentry.c | 78 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 58 insertions(+), 20 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 053e02baa5..4cb2c06eee 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -258,8 +258,12 @@ static void gtk_entry_realize (GtkWidget *widget); static void gtk_entry_unrealize (GtkWidget *widget); static void gtk_entry_map (GtkWidget *widget); static void gtk_entry_unmap (GtkWidget *widget); -static void gtk_entry_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_entry_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_entry_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_entry_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_entry_draw_frame (GtkWidget *widget, @@ -577,7 +581,8 @@ gtk_entry_class_init (GtkEntryClass *class) widget_class->unmap = gtk_entry_unmap; widget_class->realize = gtk_entry_realize; widget_class->unrealize = gtk_entry_unrealize; - widget_class->size_request = gtk_entry_size_request; + widget_class->get_preferred_width = gtk_entry_get_preferred_width; + widget_class->get_preferred_height = gtk_entry_get_preferred_height; widget_class->size_allocate = gtk_entry_size_allocate; widget_class->draw = gtk_entry_draw; widget_class->enter_notify_event = gtk_entry_enter_notify; @@ -2853,8 +2858,9 @@ _gtk_entry_get_borders (GtkEntry *entry, } static void -gtk_entry_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_entry_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkEntry *entry = GTK_ENTRY (widget); GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry); @@ -2862,33 +2868,29 @@ gtk_entry_size_request (GtkWidget *widget, gint xborder, yborder; GtkBorder inner_border; PangoContext *context; - int icon_widths = 0; - int icon_width, i; - + gint icon_widths = 0; + gint icon_width, i; + gint width; + gtk_widget_ensure_style (widget); context = gtk_widget_get_pango_context (widget); metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, - pango_context_get_language (context)); + gtk_widget_get_style (widget)->font_desc, + pango_context_get_language (context)); - entry->ascent = pango_font_metrics_get_ascent (metrics); - entry->descent = pango_font_metrics_get_descent (metrics); - _gtk_entry_get_borders (entry, &xborder, &yborder); _gtk_entry_effective_inner_border (entry, &inner_border); if (entry->width_chars < 0) - requisition->width = MIN_ENTRY_WIDTH + xborder * 2 + inner_border.left + inner_border.right; + width = MIN_ENTRY_WIDTH + xborder * 2 + inner_border.left + inner_border.right; else { gint char_width = pango_font_metrics_get_approximate_char_width (metrics); gint digit_width = pango_font_metrics_get_approximate_digit_width (metrics); gint char_pixels = (MAX (char_width, digit_width) + PANGO_SCALE - 1) / PANGO_SCALE; - - requisition->width = char_pixels * entry->width_chars + xborder * 2 + inner_border.left + inner_border.right; + + width = char_pixels * entry->width_chars + xborder * 2 + inner_border.left + inner_border.right; } - - requisition->height = PANGO_PIXELS (entry->ascent + entry->descent) + yborder * 2 + inner_border.top + inner_border.bottom; for (i = 0; i < MAX_ICONS; i++) { @@ -2897,10 +2899,46 @@ gtk_entry_size_request (GtkWidget *widget, icon_widths += icon_width + 2 * priv->icon_margin; } - if (icon_widths > requisition->width) - requisition->width += icon_widths; + if (icon_widths > width) + width += icon_widths; pango_font_metrics_unref (metrics); + + *minimum = width; + *natural = width; +} + +static void +gtk_entry_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkEntry *entry = GTK_ENTRY (widget); + GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry); + PangoFontMetrics *metrics; + gint xborder, yborder; + GtkBorder inner_border; + PangoContext *context; + gint height; + + gtk_widget_ensure_style (widget); + context = gtk_widget_get_pango_context (widget); + metrics = pango_context_get_metrics (context, + gtk_widget_get_style (widget)->font_desc, + pango_context_get_language (context)); + + entry->ascent = pango_font_metrics_get_ascent (metrics); + entry->descent = pango_font_metrics_get_descent (metrics); + + _gtk_entry_get_borders (entry, &xborder, &yborder); + _gtk_entry_effective_inner_border (entry, &inner_border); + + height = PANGO_PIXELS (entry->ascent + entry->descent) + yborder * 2 + inner_border.top + inner_border.bottom; + + pango_font_metrics_unref (metrics); + + *minimum = height; + *natural = height; } static void From b3f6f67c33728e274005969d98999da763981aa2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 22:28:24 -0400 Subject: [PATCH 0018/1463] Remove size_request from GtkFixed --- gtk/gtkfixed.c | 308 ++++++++++++++++++++++++------------------------- 1 file changed, 151 insertions(+), 157 deletions(-) diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c index 23fb03c484..abdeb54aa5 100644 --- a/gtk/gtkfixed.c +++ b/gtk/gtkfixed.c @@ -21,7 +21,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -44,18 +44,22 @@ enum { }; static void gtk_fixed_realize (GtkWidget *widget); -static void gtk_fixed_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_fixed_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_fixed_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_fixed_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static void gtk_fixed_add (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_fixed_remove (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_fixed_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); static GType gtk_fixed_child_type (GtkContainer *container); static void gtk_fixed_set_child_property (GtkContainer *container, @@ -81,42 +85,39 @@ gtk_fixed_class_init (GtkFixedClass *class) container_class = (GtkContainerClass*) class; widget_class->realize = gtk_fixed_realize; - widget_class->size_request = gtk_fixed_size_request; + widget_class->get_preferred_width = gtk_fixed_get_preferred_width; + widget_class->get_preferred_height = gtk_fixed_get_preferred_height; widget_class->size_allocate = gtk_fixed_size_allocate; container_class->add = gtk_fixed_add; container_class->remove = gtk_fixed_remove; container_class->forall = gtk_fixed_forall; container_class->child_type = gtk_fixed_child_type; - container_class->set_child_property = gtk_fixed_set_child_property; container_class->get_child_property = gtk_fixed_get_child_property; + gtk_container_class_handle_border_width (container_class); gtk_container_class_install_child_property (container_class, - CHILD_PROP_X, - g_param_spec_int ("x", + CHILD_PROP_X, + g_param_spec_int ("x", P_("X position"), P_("X position of child widget"), - G_MININT, - G_MAXINT, - 0, + G_MININT, G_MAXINT, 0, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_Y, - g_param_spec_int ("y", + CHILD_PROP_Y, + g_param_spec_int ("y", P_("Y position"), P_("Y position of child widget"), - G_MININT, - G_MAXINT, - 0, + G_MININT, G_MAXINT, 0, GTK_PARAM_READWRITE)); g_type_class_add_private (class, sizeof (GtkFixedPrivate)); } static GType -gtk_fixed_child_type (GtkContainer *container) +gtk_fixed_child_type (GtkContainer *container) { return GTK_TYPE_WIDGET; } @@ -124,16 +125,11 @@ gtk_fixed_child_type (GtkContainer *container) static void gtk_fixed_init (GtkFixed *fixed) { - GtkFixedPrivate *priv; - - fixed->priv = G_TYPE_INSTANCE_GET_PRIVATE (fixed, - GTK_TYPE_FIXED, - GtkFixedPrivate); - priv = fixed->priv; + fixed->priv = G_TYPE_INSTANCE_GET_PRIVATE (fixed, GTK_TYPE_FIXED, GtkFixedPrivate); gtk_widget_set_has_window (GTK_WIDGET (fixed), FALSE); - priv->children = NULL; + fixed->priv->children = NULL; } GtkWidget* @@ -149,13 +145,11 @@ get_child (GtkFixed *fixed, GtkFixedPrivate *priv = fixed->priv; GList *children; - children = priv->children; - while (children) + for (children = priv->children; children; children = children->next) { GtkFixedChild *child; - + child = children->data; - children = children->next; if (child->widget == widget) return child; @@ -165,10 +159,10 @@ get_child (GtkFixed *fixed, } void -gtk_fixed_put (GtkFixed *fixed, - GtkWidget *widget, - gint x, - gint y) +gtk_fixed_put (GtkFixed *fixed, + GtkWidget *widget, + gint x, + gint y) { GtkFixedPrivate *priv = fixed->priv; GtkFixedChild *child_info; @@ -187,73 +181,69 @@ gtk_fixed_put (GtkFixed *fixed, } static void -gtk_fixed_move_internal (GtkFixed *fixed, - GtkWidget *widget, - gboolean change_x, - gint x, - gboolean change_y, - gint y) +gtk_fixed_move_internal (GtkFixed *fixed, + GtkFixedChild *child, + gint x, + gint y) { - GtkFixedChild *child; - g_return_if_fail (GTK_IS_FIXED (fixed)); - g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (gtk_widget_get_parent (widget) == GTK_WIDGET (fixed)); + g_return_if_fail (gtk_widget_get_parent (child->widget) == GTK_WIDGET (fixed)); - child = get_child (fixed, widget); + gtk_widget_freeze_child_notify (child->widget); - g_assert (child); - - gtk_widget_freeze_child_notify (widget); - - if (change_x) + if (child->x != x) { child->x = x; - gtk_widget_child_notify (widget, "x"); + gtk_widget_child_notify (child->widget, "x"); } - if (change_y) + if (child->y != y) { child->y = y; - gtk_widget_child_notify (widget, "y"); + gtk_widget_child_notify (child->widget, "y"); } - gtk_widget_thaw_child_notify (widget); - - if (gtk_widget_get_visible (widget) && + gtk_widget_thaw_child_notify (child->widget); + + if (gtk_widget_get_visible (child->widget) && gtk_widget_get_visible (GTK_WIDGET (fixed))) gtk_widget_queue_resize (GTK_WIDGET (fixed)); } void -gtk_fixed_move (GtkFixed *fixed, - GtkWidget *widget, - gint x, - gint y) +gtk_fixed_move (GtkFixed *fixed, + GtkWidget *widget, + gint x, + gint y) { - gtk_fixed_move_internal (fixed, widget, TRUE, x, TRUE, y); + gtk_fixed_move_internal (fixed, get_child (fixed, widget), x, y); } static void -gtk_fixed_set_child_property (GtkContainer *container, - GtkWidget *child, - guint property_id, - const GValue *value, - GParamSpec *pspec) +gtk_fixed_set_child_property (GtkContainer *container, + GtkWidget *child, + guint property_id, + const GValue *value, + GParamSpec *pspec) { + GtkFixed *fixed = GTK_FIXED (container); + GtkFixedChild *fixed_child; + + fixed_child = get_child (fixed, child); + switch (property_id) { case CHILD_PROP_X: - gtk_fixed_move_internal (GTK_FIXED (container), - child, - TRUE, g_value_get_int (value), - FALSE, 0); + gtk_fixed_move_internal (fixed, + fixed_child, + g_value_get_int (value), + fixed_child->y); break; case CHILD_PROP_Y: - gtk_fixed_move_internal (GTK_FIXED (container), - child, - FALSE, 0, - TRUE, g_value_get_int (value)); + gtk_fixed_move_internal (fixed, + fixed_child, + fixed_child->x, + g_value_get_int (value)); break; default: GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); @@ -311,7 +301,7 @@ gtk_fixed_realize (GtkWidget *widget) attributes.visual = gtk_widget_get_visual (widget); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK; - + attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; window = gdk_window_new (gtk_widget_get_parent_window (widget), @@ -325,51 +315,64 @@ gtk_fixed_realize (GtkWidget *widget) } static void -gtk_fixed_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_fixed_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { - GtkFixedPrivate *priv; - GtkFixed *fixed; + GtkFixed *fixed = GTK_FIXED (widget); + GtkFixedPrivate *priv = fixed->priv; GtkFixedChild *child; GList *children; - GtkRequisition child_requisition; - guint border_width; + gint child_min, child_nat; - fixed = GTK_FIXED (widget); - priv = fixed->priv; + *minimum = 0; + *natural = 0; - requisition->width = 0; - requisition->height = 0; - - children = priv->children; - while (children) + for (children = priv->children; children; children = children->next) { child = children->data; - children = children->next; - if (gtk_widget_get_visible (child->widget)) - { - gtk_widget_get_preferred_size (child->widget, - &child_requisition, - NULL); + if (!gtk_widget_get_visible (child->widget)) + continue; - requisition->height = MAX (requisition->height, - child->y + - child_requisition.height); - requisition->width = MAX (requisition->width, - child->x + - child_requisition.width); - } + gtk_widget_get_preferred_width (child->widget, &child_min, &child_nat); + + *minimum = MAX (*minimum, child->y + child_min); + *natural = MAX (*natural, child->y + child_nat); } +} - border_width = gtk_container_get_border_width (GTK_CONTAINER (fixed)); - requisition->height += border_width * 2; - requisition->width += border_width * 2; +static void +gtk_fixed_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkFixed *fixed = GTK_FIXED (widget); + GtkFixedPrivate *priv = fixed->priv; + GtkFixedChild *child; + GList *children; + gint child_min, child_nat; + + *minimum = 0; + *natural = 0; + + for (children = priv->children; children; children = children->next) + { + child = children->data; + + if (!gtk_widget_get_visible (child->widget)) + continue; + + gtk_widget_get_preferred_height (child->widget, &child_min, &child_nat); + + *minimum = MAX (*minimum, child->y + child_min); + *natural = MAX (*natural, child->y + child_nat); + } } static void gtk_fixed_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { GtkFixed *fixed = GTK_FIXED (widget); GtkFixedPrivate *priv = fixed->priv; @@ -377,58 +380,52 @@ gtk_fixed_size_allocate (GtkWidget *widget, GtkAllocation child_allocation; GtkRequisition child_requisition; GList *children; - guint border_width; gtk_widget_set_allocation (widget, allocation); if (gtk_widget_get_has_window (widget)) { if (gtk_widget_get_realized (widget)) - gdk_window_move_resize (gtk_widget_get_window (widget), - allocation->x, - allocation->y, - allocation->width, - allocation->height); + gdk_window_move_resize (gtk_widget_get_window (widget), + allocation->x, + allocation->y, + allocation->width, + allocation->height); } - border_width = gtk_container_get_border_width (GTK_CONTAINER (fixed)); - - children = priv->children; - while (children) + for (children = priv->children; children; children = children->next) { child = children->data; - children = children->next; - - if (gtk_widget_get_visible (child->widget)) - { - gtk_widget_get_preferred_size (child->widget, - &child_requisition, NULL); - child_allocation.x = child->x + border_width; - child_allocation.y = child->y + border_width; - if (!gtk_widget_get_has_window (widget)) - { - child_allocation.x += allocation->x; - child_allocation.y += allocation->y; - } - - child_allocation.width = child_requisition.width; - child_allocation.height = child_requisition.height; - gtk_widget_size_allocate (child->widget, &child_allocation); - } + if (!gtk_widget_get_visible (child->widget)) + continue; + + gtk_widget_get_preferred_size (child->widget, &child_requisition, NULL); + child_allocation.x = child->x; + child_allocation.y = child->y; + + if (!gtk_widget_get_has_window (widget)) + { + child_allocation.x += allocation->x; + child_allocation.y += allocation->y; + } + + child_allocation.width = child_requisition.width; + child_allocation.height = child_requisition.height; + gtk_widget_size_allocate (child->widget, &child_allocation); } } static void gtk_fixed_add (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { gtk_fixed_put (GTK_FIXED (container), widget, 0, 0); } static void gtk_fixed_remove (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GtkFixed *fixed = GTK_FIXED (container); GtkFixedPrivate *priv = fixed->priv; @@ -436,26 +433,25 @@ gtk_fixed_remove (GtkContainer *container, GtkWidget *widget_container = GTK_WIDGET (container); GList *children; - children = priv->children; - while (children) + for (children = priv->children; children; children = children->next) { child = children->data; if (child->widget == widget) - { - gboolean was_visible = gtk_widget_get_visible (widget); - - gtk_widget_unparent (widget); + { + gboolean was_visible = gtk_widget_get_visible (widget); - priv->children = g_list_remove_link (priv->children, children); - g_list_free (children); - g_free (child); + gtk_widget_unparent (widget); - if (was_visible && gtk_widget_get_visible (widget_container)) - gtk_widget_queue_resize (widget_container); + priv->children = g_list_remove_link (priv->children, children); + g_list_free (children); + g_free (child); - break; - } + if (was_visible && gtk_widget_get_visible (widget_container)) + gtk_widget_queue_resize (widget_container); + + break; + } children = children->next; } @@ -463,20 +459,18 @@ gtk_fixed_remove (GtkContainer *container, static void gtk_fixed_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) { GtkFixed *fixed = GTK_FIXED (container); GtkFixedPrivate *priv = fixed->priv; GtkFixedChild *child; GList *children; - children = priv->children; - while (children) + for (children = priv->children; children; children = children->next) { child = children->data; - children = children->next; (* callback) (child->widget, callback_data); } From 381cd8b07ca9f0f0352b41acfca29cf43d549465 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 22:56:53 -0400 Subject: [PATCH 0019/1463] Remove size_request from GtkHSV --- gtk/gtkhsv.c | 775 +++++++++++++++++++++++++-------------------------- 1 file changed, 380 insertions(+), 395 deletions(-) diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 86e3985239..e6093fa3b5 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -86,29 +86,31 @@ enum { LAST_SIGNAL }; -static void gtk_hsv_destroy (GtkWidget *widget); -static void gtk_hsv_map (GtkWidget *widget); -static void gtk_hsv_unmap (GtkWidget *widget); -static void gtk_hsv_realize (GtkWidget *widget); -static void gtk_hsv_unrealize (GtkWidget *widget); -static void gtk_hsv_size_request (GtkWidget *widget, - GtkRequisition *requisition); -static void gtk_hsv_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static gint gtk_hsv_button_press (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_hsv_button_release (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_hsv_motion (GtkWidget *widget, - GdkEventMotion *event); -static gboolean gtk_hsv_draw (GtkWidget *widget, - cairo_t *cr); -static gboolean gtk_hsv_grab_broken (GtkWidget *widget, - GdkEventGrabBroken *event); -static gboolean gtk_hsv_focus (GtkWidget *widget, - GtkDirectionType direction); -static void gtk_hsv_move (GtkHSV *hsv, - GtkDirectionType dir); +static void gtk_hsv_destroy (GtkWidget *widget); +static void gtk_hsv_realize (GtkWidget *widget); +static void gtk_hsv_unrealize (GtkWidget *widget); +static void gtk_hsv_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_hsv_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_hsv_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static gboolean gtk_hsv_button_press (GtkWidget *widget, + GdkEventButton *event); +static gboolean gtk_hsv_button_release (GtkWidget *widget, + GdkEventButton *event); +static gboolean gtk_hsv_motion (GtkWidget *widget, + GdkEventMotion *event); +static gboolean gtk_hsv_draw (GtkWidget *widget, + cairo_t *cr); +static gboolean gtk_hsv_grab_broken (GtkWidget *widget, + GdkEventGrabBroken *event); +static gboolean gtk_hsv_focus (GtkWidget *widget, + GtkDirectionType direction); +static void gtk_hsv_move (GtkHSV *hsv, + GtkDirectionType dir); static guint hsv_signals[LAST_SIGNAL]; @@ -122,17 +124,16 @@ gtk_hsv_class_init (GtkHSVClass *class) GtkWidgetClass *widget_class; GtkHSVClass *hsv_class; GtkBindingSet *binding_set; - + gobject_class = (GObjectClass *) class; widget_class = (GtkWidgetClass *) class; hsv_class = GTK_HSV_CLASS (class); widget_class->destroy = gtk_hsv_destroy; - widget_class->map = gtk_hsv_map; - widget_class->unmap = gtk_hsv_unmap; widget_class->realize = gtk_hsv_realize; widget_class->unrealize = gtk_hsv_unrealize; - widget_class->size_request = gtk_hsv_size_request; + widget_class->get_preferred_width = gtk_hsv_get_preferred_width; + widget_class->get_preferred_height = gtk_hsv_get_preferred_height; widget_class->size_allocate = gtk_hsv_size_allocate; widget_class->button_press_event = gtk_hsv_button_press; widget_class->button_release_event = gtk_hsv_button_release; @@ -140,27 +141,27 @@ gtk_hsv_class_init (GtkHSVClass *class) widget_class->draw = gtk_hsv_draw; widget_class->focus = gtk_hsv_focus; widget_class->grab_broken_event = gtk_hsv_grab_broken; - + hsv_class->move = gtk_hsv_move; - + hsv_signals[CHANGED] = g_signal_new (I_("changed"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkHSVClass, changed), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkHSVClass, changed), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); hsv_signals[MOVE] = g_signal_new (I_("move"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GtkHSVClass, move), - NULL, NULL, - _gtk_marshal_VOID__ENUM, - G_TYPE_NONE, 1, - GTK_TYPE_DIRECTION_TYPE); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkHSVClass, move), + NULL, NULL, + _gtk_marshal_VOID__ENUM, + G_TYPE_NONE, 1, + GTK_TYPE_DIRECTION_TYPE); binding_set = gtk_binding_set_by_class (class); @@ -170,22 +171,18 @@ gtk_hsv_class_init (GtkHSVClass *class) gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Up, 0, "move", 1, G_TYPE_ENUM, GTK_DIR_UP); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_Down, 0, "move", 1, G_TYPE_ENUM, GTK_DIR_DOWN); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Down, 0, "move", 1, G_TYPE_ENUM, GTK_DIR_DOWN); - - gtk_binding_entry_add_signal (binding_set, GDK_KEY_Right, 0, "move", 1, G_TYPE_ENUM, GTK_DIR_RIGHT); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Right, 0, "move", 1, G_TYPE_ENUM, GTK_DIR_RIGHT); - gtk_binding_entry_add_signal (binding_set, GDK_KEY_Left, 0, "move", 1, G_TYPE_ENUM, GTK_DIR_LEFT); @@ -196,64 +193,32 @@ gtk_hsv_class_init (GtkHSVClass *class) g_type_class_add_private (gobject_class, sizeof (GtkHSVPrivate)); } -/* Object initialization function for the HSV color selector */ static void gtk_hsv_init (GtkHSV *hsv) { GtkHSVPrivate *priv; priv = G_TYPE_INSTANCE_GET_PRIVATE (hsv, GTK_TYPE_HSV, GtkHSVPrivate); - + hsv->priv = priv; gtk_widget_set_has_window (GTK_WIDGET (hsv), FALSE); gtk_widget_set_can_focus (GTK_WIDGET (hsv), TRUE); - + priv->h = 0.0; priv->s = 0.0; priv->v = 0.0; - + priv->size = DEFAULT_SIZE; priv->ring_width = DEFAULT_RING_WIDTH; } -/* Destroy handler for the HSV color selector */ static void gtk_hsv_destroy (GtkWidget *widget) { GTK_WIDGET_CLASS (gtk_hsv_parent_class)->destroy (widget); } -/* Default signal handlers */ - - -/* Map handler for the HSV color selector */ - -static void -gtk_hsv_map (GtkWidget *widget) -{ - GtkHSV *hsv = GTK_HSV (widget); - GtkHSVPrivate *priv = hsv->priv; - - GTK_WIDGET_CLASS (gtk_hsv_parent_class)->map (widget); - - gdk_window_show (priv->window); -} - -/* Unmap handler for the HSV color selector */ - -static void -gtk_hsv_unmap (GtkWidget *widget) -{ - GtkHSV *hsv = GTK_HSV (widget); - GtkHSVPrivate *priv = hsv->priv; - - gdk_window_hide (priv->window); - - GTK_WIDGET_CLASS (gtk_hsv_parent_class)->unmap (widget); -} - -/* Realize handler for the HSV color selector */ static void gtk_hsv_realize (GtkWidget *widget) { @@ -265,8 +230,6 @@ gtk_hsv_realize (GtkWidget *widget) int attr_mask; gtk_widget_set_realized (widget, TRUE); - - /* Create window */ gtk_widget_get_allocation (widget, &allocation); @@ -279,8 +242,8 @@ gtk_hsv_realize (GtkWidget *widget) attr.event_mask = gtk_widget_get_events (widget); attr.event_mask |= (GDK_KEY_PRESS_MASK | GDK_BUTTON_PRESS_MASK - | GDK_BUTTON_RELEASE_MASK - | GDK_POINTER_MOTION_MASK + | GDK_BUTTON_RELEASE_MASK + | GDK_POINTER_MOTION_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); attr_mask = GDK_WA_X | GDK_WA_Y; @@ -291,11 +254,11 @@ gtk_hsv_realize (GtkWidget *widget) priv->window = gdk_window_new (parent_window, &attr, attr_mask); gdk_window_set_user_data (priv->window, hsv); + gdk_window_show (priv->window); gtk_widget_style_attach (widget); } -/* Unrealize handler for the HSV color selector */ static void gtk_hsv_unrealize (GtkWidget *widget) { @@ -305,14 +268,14 @@ gtk_hsv_unrealize (GtkWidget *widget) gdk_window_set_user_data (priv->window, NULL); gdk_window_destroy (priv->window); priv->window = NULL; - + GTK_WIDGET_CLASS (gtk_hsv_parent_class)->unrealize (widget); } -/* Size_request handler for the HSV color selector */ static void -gtk_hsv_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_hsv_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; @@ -320,18 +283,36 @@ gtk_hsv_size_request (GtkWidget *widget, gint focus_pad; gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); - - requisition->width = priv->size + 2 * (focus_width + focus_pad); - requisition->height = priv->size + 2 * (focus_width + focus_pad); + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + + *minimum = priv->size + 2 * (focus_width + focus_pad); + *natural = priv->size + 2 * (focus_width + focus_pad); +} + +static void +gtk_hsv_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkHSV *hsv = GTK_HSV (widget); + GtkHSVPrivate *priv = hsv->priv; + gint focus_width; + gint focus_pad; + + gtk_widget_style_get (widget, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + + *minimum = priv->size + 2 * (focus_width + focus_pad); + *natural = priv->size + 2 * (focus_width + focus_pad); } -/* Size_allocate handler for the HSV color selector */ static void gtk_hsv_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; @@ -340,10 +321,10 @@ gtk_hsv_size_allocate (GtkWidget *widget, if (gtk_widget_get_realized (widget)) gdk_window_move_resize (priv->window, - allocation->x, - allocation->y, - allocation->width, - allocation->height); + allocation->x, + allocation->y, + allocation->width, + allocation->height); } @@ -354,12 +335,12 @@ gtk_hsv_size_allocate (GtkWidget *widget, /* Converts from HSV to RGB */ static void hsv_to_rgb (gdouble *h, - gdouble *s, - gdouble *v) + gdouble *s, + gdouble *v) { gdouble hue, saturation, value; gdouble f, p, q, t; - + if (*s == 0.0) { *h = *v; @@ -371,129 +352,129 @@ hsv_to_rgb (gdouble *h, hue = *h * 6.0; saturation = *s; value = *v; - + if (hue == 6.0) - hue = 0.0; - + hue = 0.0; + f = hue - (int) hue; p = value * (1.0 - saturation); q = value * (1.0 - saturation * f); t = value * (1.0 - saturation * (1.0 - f)); - + switch ((int) hue) - { - case 0: - *h = value; - *s = t; - *v = p; - break; - - case 1: - *h = q; - *s = value; - *v = p; - break; - - case 2: - *h = p; - *s = value; - *v = t; - break; - - case 3: - *h = p; - *s = q; - *v = value; - break; - - case 4: - *h = t; - *s = p; - *v = value; - break; - - case 5: - *h = value; - *s = p; - *v = q; - break; - - default: - g_assert_not_reached (); - } + { + case 0: + *h = value; + *s = t; + *v = p; + break; + + case 1: + *h = q; + *s = value; + *v = p; + break; + + case 2: + *h = p; + *s = value; + *v = t; + break; + + case 3: + *h = p; + *s = q; + *v = value; + break; + + case 4: + *h = t; + *s = p; + *v = value; + break; + + case 5: + *h = value; + *s = p; + *v = q; + break; + + default: + g_assert_not_reached (); + } } } /* Converts from RGB to HSV */ static void rgb_to_hsv (gdouble *r, - gdouble *g, - gdouble *b) + gdouble *g, + gdouble *b) { gdouble red, green, blue; gdouble h, s, v; gdouble min, max; gdouble delta; - + red = *r; green = *g; blue = *b; - + h = 0.0; - + if (red > green) { if (red > blue) - max = red; + max = red; else - max = blue; - + max = blue; + if (green < blue) - min = green; + min = green; else - min = blue; + min = blue; } else { if (green > blue) - max = green; + max = green; else - max = blue; - + max = blue; + if (red < blue) - min = red; + min = red; else - min = blue; + min = blue; } - + v = max; - + if (max != 0.0) s = (max - min) / max; else s = 0.0; - + if (s == 0.0) h = 0.0; else { delta = max - min; - + if (red == max) - h = (green - blue) / delta; + h = (green - blue) / delta; else if (green == max) - h = 2 + (blue - red) / delta; + h = 2 + (blue - red) / delta; else if (blue == max) - h = 4 + (red - green) / delta; - + h = 4 + (red - green) / delta; + h /= 6.0; - + if (h < 0.0) - h += 1.0; + h += 1.0; else if (h > 1.0) - h -= 1.0; + h -= 1.0; } - + *r = h; *g = s; *b = v; @@ -502,12 +483,12 @@ rgb_to_hsv (gdouble *r, /* Computes the vertices of the saturation/value triangle */ static void compute_triangle (GtkHSV *hsv, - gint *hx, - gint *hy, - gint *sx, - gint *sy, - gint *vx, - gint *vy) + gint *hx, + gint *hy, + gint *sx, + gint *sy, + gint *vx, + gint *vy) { GtkHSVPrivate *priv = hsv->priv; GtkWidget *widget = GTK_WIDGET (hsv); @@ -533,8 +514,8 @@ compute_triangle (GtkHSV *hsv, /* Computes whether a point is inside the hue ring */ static gboolean is_in_ring (GtkHSV *hsv, - gdouble x, - gdouble y) + gdouble x, + gdouble y) { GtkHSVPrivate *priv = hsv->priv; GtkWidget *widget = GTK_WIDGET (hsv); @@ -558,10 +539,10 @@ is_in_ring (GtkHSV *hsv, /* Computes a saturation/value pair based on the mouse coordinates */ static void compute_sv (GtkHSV *hsv, - gdouble x, - gdouble y, - gdouble *s, - gdouble *v) + gdouble x, + gdouble y, + gdouble *s, + gdouble *v) { GtkWidget *widget = GTK_WIDGET (hsv); int ihx, ihy, isx, isy, ivx, ivy; @@ -585,68 +566,68 @@ compute_sv (GtkHSV *hsv, { *s = 1.0; *v = (((x - sx) * (hx - sx) + (y - sy) * (hy-sy)) - / ((hx - sx) * (hx - sx) + (hy - sy) * (hy - sy))); + / ((hx - sx) * (hx - sx) + (hy - sy) * (hy - sy))); if (*v < 0.0) - *v = 0.0; + *v = 0.0; else if (*v > 1.0) - *v = 1.0; + *v = 1.0; } else if (hx * (x - sx) + hy * (y - sy) < 0.0) { *s = 0.0; *v = (((x - sx) * (vx - sx) + (y - sy) * (vy - sy)) - / ((vx - sx) * (vx - sx) + (vy - sy) * (vy - sy))); + / ((vx - sx) * (vx - sx) + (vy - sy) * (vy - sy))); if (*v < 0.0) - *v = 0.0; + *v = 0.0; else if (*v > 1.0) - *v = 1.0; + *v = 1.0; } else if (sx * (x - hx) + sy * (y - hy) < 0.0) { *v = 1.0; *s = (((x - vx) * (hx - vx) + (y - vy) * (hy - vy)) / - ((hx - vx) * (hx - vx) + (hy - vy) * (hy - vy))); + ((hx - vx) * (hx - vx) + (hy - vy) * (hy - vy))); if (*s < 0.0) - *s = 0.0; + *s = 0.0; else if (*s > 1.0) - *s = 1.0; + *s = 1.0; } else { *v = (((x - sx) * (hy - vy) - (y - sy) * (hx - vx)) - / ((vx - sx) * (hy - vy) - (vy - sy) * (hx - vx))); + / ((vx - sx) * (hy - vy) - (vy - sy) * (hx - vx))); if (*v<= 0.0) - { - *v = 0.0; - *s = 0.0; - } + { + *v = 0.0; + *s = 0.0; + } else - { - if (*v > 1.0) - *v = 1.0; + { + if (*v > 1.0) + *v = 1.0; - if (fabs (hy - vy) < fabs (hx - vx)) - *s = (x - sx - *v * (vx - sx)) / (*v * (hx - vx)); - else - *s = (y - sy - *v * (vy - sy)) / (*v * (hy - vy)); - - if (*s < 0.0) - *s = 0.0; - else if (*s > 1.0) - *s = 1.0; - } + if (fabs (hy - vy) < fabs (hx - vx)) + *s = (x - sx - *v * (vx - sx)) / (*v * (hx - vx)); + else + *s = (y - sy - *v * (vy - sy)) / (*v * (hy - vy)); + + if (*s < 0.0) + *s = 0.0; + else if (*s > 1.0) + *s = 1.0; + } } } /* Computes whether a point is inside the saturation/value triangle */ static gboolean is_in_triangle (GtkHSV *hsv, - gdouble x, - gdouble y) + gdouble x, + gdouble y) { int hx, hy, sx, sy, vx, vy; double det, s, v; @@ -664,8 +645,8 @@ is_in_triangle (GtkHSV *hsv, /* Computes a value based on the mouse coordinates */ static double compute_v (GtkHSV *hsv, - gdouble x, - gdouble y) + gdouble x, + gdouble y) { GtkWidget *widget = GTK_WIDGET (hsv); double center_x; @@ -689,39 +670,38 @@ compute_v (GtkHSV *hsv, static void set_cross_grab (GtkHSV *hsv, - guint32 time) + guint32 time) { GtkHSVPrivate *priv = hsv->priv; GdkCursor *cursor; cursor = gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (hsv)), - GDK_CROSSHAIR); + GDK_CROSSHAIR); gdk_pointer_grab (priv->window, FALSE, - (GDK_POINTER_MOTION_MASK - | GDK_POINTER_MOTION_HINT_MASK - | GDK_BUTTON_RELEASE_MASK), - NULL, - cursor, - time); + (GDK_POINTER_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK + | GDK_BUTTON_RELEASE_MASK), + NULL, + cursor, + time); gdk_cursor_unref (cursor); } -static gboolean +static gboolean gtk_hsv_grab_broken (GtkWidget *widget, - GdkEventGrabBroken *event) + GdkEventGrabBroken *event) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; priv->mode = DRAG_NONE; - + return TRUE; } -/* Button_press_event handler for the HSV color selector */ static gint gtk_hsv_button_press (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; @@ -739,9 +719,9 @@ gtk_hsv_button_press (GtkWidget *widget, set_cross_grab (hsv, event->time); gtk_hsv_set_color (hsv, - compute_v (hsv, x, y), - priv->s, - priv->v); + compute_v (hsv, x, y), + priv->s, + priv->v); gtk_widget_grab_focus (widget); priv->focus_on_ring = TRUE; @@ -768,10 +748,9 @@ gtk_hsv_button_press (GtkWidget *widget, return FALSE; } -/* Button_release_event handler for the HSV color selector */ static gint gtk_hsv_button_release (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; @@ -790,26 +769,31 @@ gtk_hsv_button_release (GtkWidget *widget, x = event->x; y = event->y; - + if (mode == DRAG_H) - gtk_hsv_set_color (hsv, compute_v (hsv, x, y), priv->s, priv->v); - else if (mode == DRAG_SV) { - double s, v; - - compute_sv (hsv, x, y, &s, &v); - gtk_hsv_set_color (hsv, priv->h, s, v); - } else - g_assert_not_reached (); - + { + gtk_hsv_set_color (hsv, compute_v (hsv, x, y), priv->s, priv->v); + } + else if (mode == DRAG_SV) + { + gdouble s, v; + + compute_sv (hsv, x, y, &s, &v); + gtk_hsv_set_color (hsv, priv->h, s, v); + } + else + { + g_assert_not_reached (); + } + gdk_display_pointer_ungrab (gdk_window_get_display (event->window), - event->time); + event->time); return TRUE; } -/* Motion_notify_event handler for the HSV color selector */ static gint gtk_hsv_motion (GtkWidget *widget, - GdkEventMotion *event) + GdkEventMotion *event) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; @@ -818,7 +802,7 @@ gtk_hsv_motion (GtkWidget *widget, if (priv->mode == DRAG_NONE) return FALSE; - + gdk_event_request_motions (event); x = event->x; y = event->y; @@ -831,14 +815,15 @@ gtk_hsv_motion (GtkWidget *widget, } else if (priv->mode == DRAG_SV) { - double s, v; - + gdouble s, v; + compute_sv (hsv, x, y, &s, &v); gtk_hsv_set_color (hsv, priv->h, s, v); return TRUE; } - + g_assert_not_reached (); + return FALSE; } @@ -847,8 +832,8 @@ gtk_hsv_motion (GtkWidget *widget, /* Paints the hue ring */ static void -paint_ring (GtkHSV *hsv, - cairo_t *cr) +paint_ring (GtkHSV *hsv, + cairo_t *cr) { GtkHSVPrivate *priv = hsv->priv; GtkWidget *widget = GTK_WIDGET (hsv); @@ -868,9 +853,9 @@ paint_ring (GtkHSV *hsv, gint focus_pad; gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); @@ -880,49 +865,49 @@ paint_ring (GtkHSV *hsv, outer = priv->size / 2.0; inner = outer - priv->ring_width; - + /* Create an image initialized with the ring colors */ - + stride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, width); buf = g_new (guint32, height * stride / 4); - + for (yy = 0; yy < height; yy++) { p = buf + yy * width; - + dy = -(yy - center_y); - + for (xx = 0; xx < width; xx++) - { - dx = xx - center_x; - - dist = dx * dx + dy * dy; - if (dist < ((inner-1) * (inner-1)) || dist > ((outer+1) * (outer+1))) - { - *p++ = 0; - continue; - } - - angle = atan2 (dy, dx); - if (angle < 0.0) - angle += 2.0 * G_PI; - - hue = angle / (2.0 * G_PI); - - r = hue; - g = 1.0; - b = 1.0; - hsv_to_rgb (&r, &g, &b); - - *p++ = (((int)floor (r * 255 + 0.5) << 16) | - ((int)floor (g * 255 + 0.5) << 8) | - (int)floor (b * 255 + 0.5)); - } + { + dx = xx - center_x; + + dist = dx * dx + dy * dy; + if (dist < ((inner-1) * (inner-1)) || dist > ((outer+1) * (outer+1))) + { + *p++ = 0; + continue; + } + + angle = atan2 (dy, dx); + if (angle < 0.0) + angle += 2.0 * G_PI; + + hue = angle / (2.0 * G_PI); + + r = hue; + g = 1.0; + b = 1.0; + hsv_to_rgb (&r, &g, &b); + + *p++ = (((int)floor (r * 255 + 0.5) << 16) | + ((int)floor (g * 255 + 0.5) << 8) | + (int)floor (b * 255 + 0.5)); + } } source = cairo_image_surface_create_for_data ((unsigned char *)buf, - CAIRO_FORMAT_RGB24, - width, height, stride); + CAIRO_FORMAT_RGB24, + width, height, stride); /* Now draw the value marker onto the source image, so that it * will get properly clipped at the edges of the ring @@ -941,8 +926,8 @@ paint_ring (GtkHSV *hsv, cairo_move_to (source_cr, center_x, center_y); cairo_line_to (source_cr, - center_x + cos (priv->h * 2.0 * G_PI) * priv->size / 2, - center_y - sin (priv->h * 2.0 * G_PI) * priv->size / 2); + center_x + cos (priv->h * 2.0 * G_PI) * priv->size / 2, + center_y - sin (priv->h * 2.0 * G_PI) * priv->size / 2); cairo_stroke (source_cr); cairo_destroy (source_cr); @@ -956,9 +941,9 @@ paint_ring (GtkHSV *hsv, cairo_set_line_width (cr, priv->ring_width); cairo_new_path (cr); cairo_arc (cr, - center_x, center_y, - priv->size / 2. - priv->ring_width / 2., - 0, 2 * G_PI); + center_x, center_y, + priv->size / 2. - priv->ring_width / 2., + 0, 2 * G_PI); cairo_stroke (cr); cairo_restore (cr); @@ -969,11 +954,11 @@ paint_ring (GtkHSV *hsv, /* Converts an HSV triplet to an integer RGB triplet */ static void get_color (gdouble h, - gdouble s, - gdouble v, - gint *r, - gint *g, - gint *b) + gdouble s, + gdouble v, + gint *r, + gint *g, + gint *b) { hsv_to_rgb (&h, &s, &v); @@ -984,9 +969,9 @@ get_color (gdouble h, #define SWAP(a, b, t) ((t) = (a), (a) = (b), (b) = (t)) -#define LERP(a, b, v1, v2, i) (((v2) - (v1) != 0) \ - ? ((a) + ((b) - (a)) * ((i) - (v1)) / ((v2) - (v1))) \ - : (a)) +#define LERP(a, b, v1, v2, i) (((v2) - (v1) != 0) \ + ? ((a) + ((b) - (a)) * ((i) - (v1)) / ((v2) - (v1))) \ + : (a)) /* Number of pixels we extend out from the edges when creating * color source to avoid artifacts @@ -996,7 +981,7 @@ get_color (gdouble h, /* Paints the HSV triangle */ static void paint_triangle (GtkHSV *hsv, - cairo_t *cr) + cairo_t *cr) { GtkHSVPrivate *priv = hsv->priv; GtkWidget *widget = GTK_WIDGET (hsv); @@ -1026,15 +1011,15 @@ paint_triangle (GtkHSV *hsv, x1 = hx; y1 = hy; get_color (priv->h, 1.0, 1.0, &r1, &g1, &b1); - + x2 = sx; y2 = sy; get_color (priv->h, 1.0, 0.0, &r2, &g2, &b2); - + x3 = vx; y3 = vy; get_color (priv->h, 0.0, 1.0, &r3, &g3, &b3); - + if (y2 > y3) { SWAP (x2, x3, t); @@ -1043,7 +1028,7 @@ paint_triangle (GtkHSV *hsv, SWAP (g2, g3, t); SWAP (b2, b3, t); } - + if (y1 > y3) { SWAP (x1, x3, t); @@ -1052,7 +1037,7 @@ paint_triangle (GtkHSV *hsv, SWAP (g1, g3, t); SWAP (b1, b3, t); } - + if (y1 > y2) { SWAP (x1, x2, t); @@ -1061,78 +1046,78 @@ paint_triangle (GtkHSV *hsv, SWAP (g1, g2, t); SWAP (b1, b2, t); } - + /* Shade the triangle */ stride = cairo_format_stride_for_width (CAIRO_FORMAT_RGB24, width); buf = g_new (guint32, height * stride / 4); - + for (yy = 0; yy < height; yy++) { p = buf + yy * width; - + if (yy >= y1 - PAD && yy < y3 + PAD) { - y_interp = CLAMP (yy, y1, y3); - - if (y_interp < y2) - { - xl = LERP (x1, x2, y1, y2, y_interp); - - rl = LERP (r1, r2, y1, y2, y_interp); - gl = LERP (g1, g2, y1, y2, y_interp); - bl = LERP (b1, b2, y1, y2, y_interp); - } - else - { - xl = LERP (x2, x3, y2, y3, y_interp); - - rl = LERP (r2, r3, y2, y3, y_interp); - gl = LERP (g2, g3, y2, y3, y_interp); - bl = LERP (b2, b3, y2, y3, y_interp); - } - - xr = LERP (x1, x3, y1, y3, y_interp); - - rr = LERP (r1, r3, y1, y3, y_interp); - gr = LERP (g1, g3, y1, y3, y_interp); - br = LERP (b1, b3, y1, y3, y_interp); - - if (xl > xr) - { - SWAP (xl, xr, t); - SWAP (rl, rr, t); - SWAP (gl, gr, t); - SWAP (bl, br, t); - } + y_interp = CLAMP (yy, y1, y3); - x_start = MAX (xl - PAD, 0); - x_end = MIN (xr + PAD, width); - x_start = MIN (x_start, x_end); + if (y_interp < y2) + { + xl = LERP (x1, x2, y1, y2, y_interp); - c = (rl << 16) | (gl << 8) | bl; + rl = LERP (r1, r2, y1, y2, y_interp); + gl = LERP (g1, g2, y1, y2, y_interp); + bl = LERP (b1, b2, y1, y2, y_interp); + } + else + { + xl = LERP (x2, x3, y2, y3, y_interp); - for (xx = 0; xx < x_start; xx++) - *p++ = c; - - for (; xx < x_end; xx++) - { - x_interp = CLAMP (xx, xl, xr); - - *p++ = ((LERP (rl, rr, xl, xr, x_interp) << 16) | - (LERP (gl, gr, xl, xr, x_interp) << 8) | - LERP (bl, br, xl, xr, x_interp)); - } + rl = LERP (r2, r3, y2, y3, y_interp); + gl = LERP (g2, g3, y2, y3, y_interp); + bl = LERP (b2, b3, y2, y3, y_interp); + } - c = (rr << 16) | (gr << 8) | br; + xr = LERP (x1, x3, y1, y3, y_interp); - for (; xx < width; xx++) - *p++ = c; + rr = LERP (r1, r3, y1, y3, y_interp); + gr = LERP (g1, g3, y1, y3, y_interp); + br = LERP (b1, b3, y1, y3, y_interp); + + if (xl > xr) + { + SWAP (xl, xr, t); + SWAP (rl, rr, t); + SWAP (gl, gr, t); + SWAP (bl, br, t); + } + + x_start = MAX (xl - PAD, 0); + x_end = MIN (xr + PAD, width); + x_start = MIN (x_start, x_end); + + c = (rl << 16) | (gl << 8) | bl; + + for (xx = 0; xx < x_start; xx++) + *p++ = c; + + for (; xx < x_end; xx++) + { + x_interp = CLAMP (xx, xl, xr); + + *p++ = ((LERP (rl, rr, xl, xr, x_interp) << 16) | + (LERP (gl, gr, xl, xr, x_interp) << 8) | + LERP (bl, br, xl, xr, x_interp)); + } + + c = (rr << 16) | (gr << 8) | br; + + for (; xx < width; xx++) + *p++ = c; } } source = cairo_image_surface_create_for_data ((unsigned char *)buf, - CAIRO_FORMAT_RGB24, - width, height, stride); + CAIRO_FORMAT_RGB24, + width, height, stride); /* Draw a triangle with the image as a source */ @@ -1184,25 +1169,25 @@ paint_triangle (GtkHSV *hsv, gint focus_pad; gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); gtk_paint_focus (gtk_widget_get_style (widget), cr, - gtk_widget_get_state (widget), - widget, detail, - xx - FOCUS_RADIUS - focus_width - focus_pad, - yy - FOCUS_RADIUS - focus_width - focus_pad, - 2 * (FOCUS_RADIUS + focus_width + focus_pad), - 2 * (FOCUS_RADIUS + focus_width + focus_pad)); + gtk_widget_get_state (widget), + widget, detail, + xx - FOCUS_RADIUS - focus_width - focus_pad, + yy - FOCUS_RADIUS - focus_width - focus_pad, + 2 * (FOCUS_RADIUS + focus_width + focus_pad), + 2 * (FOCUS_RADIUS + focus_width + focus_pad)); } } /* Paints the contents of the HSV color selector */ static gboolean gtk_hsv_draw (GtkWidget *widget, - cairo_t *cr) + cairo_t *cr) { GtkHSV *hsv = GTK_HSV (widget); GtkHSVPrivate *priv = hsv->priv; @@ -1213,9 +1198,9 @@ gtk_hsv_draw (GtkWidget *widget, if (gtk_widget_has_focus (widget) && priv->focus_on_ring) gtk_paint_focus (gtk_widget_get_style (widget), cr, - gtk_widget_get_state (widget), - widget, NULL, - 0, 0, + gtk_widget_get_state (widget), + widget, NULL, + 0, 0, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget)); @@ -1307,9 +1292,9 @@ gtk_hsv_new (void) */ void gtk_hsv_set_color (GtkHSV *hsv, - gdouble h, - gdouble s, - gdouble v) + gdouble h, + gdouble s, + gdouble v) { GtkHSVPrivate *priv; @@ -1375,8 +1360,8 @@ gtk_hsv_get_color (GtkHSV *hsv, */ void gtk_hsv_set_metrics (GtkHSV *hsv, - gint size, - gint ring_width) + gint size, + gint ring_width) { GtkHSVPrivate *priv = hsv->priv; int same_size; @@ -1411,8 +1396,8 @@ gtk_hsv_set_metrics (GtkHSV *hsv, */ void gtk_hsv_get_metrics (GtkHSV *hsv, - gint *size, - gint *ring_width) + gint *size, + gint *ring_width) { GtkHSVPrivate *priv = hsv->priv; @@ -1471,11 +1456,11 @@ gtk_hsv_is_adjusting (GtkHSV *hsv) */ void gtk_hsv_to_rgb (gdouble h, - gdouble s, - gdouble v, - gdouble *r, - gdouble *g, - gdouble *b) + gdouble s, + gdouble v, + gdouble *r, + gdouble *g, + gdouble *b) { g_return_if_fail (h >= 0.0 && h <= 1.0); g_return_if_fail (s >= 0.0 && s <= 1.0); @@ -1510,11 +1495,11 @@ gtk_hsv_to_rgb (gdouble h, */ void gtk_rgb_to_hsv (gdouble r, - gdouble g, - gdouble b, - gdouble *h, - gdouble *s, - gdouble *v) + gdouble g, + gdouble b, + gdouble *h, + gdouble *s, + gdouble *v) { g_return_if_fail (r >= 0.0 && r <= 1.0); g_return_if_fail (g >= 0.0 && g <= 1.0); From d4a07d566180226649721a53c884d5d97708e755 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 23:03:10 -0400 Subject: [PATCH 0020/1463] Remove size_request from GtkLayout --- gtk/gtklayout.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index 266d6c8f94..fd04e689c4 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -80,7 +80,7 @@ struct _GtkLayoutChild { enum { PROP_0, PROP_HADJUSTMENT, - PROP_VADJUSTMENT, + PROP_VADJUSTMENT, PROP_HSCROLL_POLICY, PROP_VSCROLL_POLICY, PROP_WIDTH, @@ -105,8 +105,12 @@ static void gtk_layout_finalize (GObject *object); static void gtk_layout_realize (GtkWidget *widget); static void gtk_layout_unrealize (GtkWidget *widget); static void gtk_layout_map (GtkWidget *widget); -static void gtk_layout_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_layout_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_layout_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_layout_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gint gtk_layout_draw (GtkWidget *widget, @@ -651,7 +655,8 @@ gtk_layout_class_init (GtkLayoutClass *class) widget_class->realize = gtk_layout_realize; widget_class->unrealize = gtk_layout_unrealize; widget_class->map = gtk_layout_map; - widget_class->size_request = gtk_layout_size_request; + widget_class->get_preferred_width = gtk_layout_get_preferred_width; + widget_class->get_preferred_height = gtk_layout_get_preferred_height; widget_class->size_allocate = gtk_layout_size_allocate; widget_class->draw = gtk_layout_draw; widget_class->style_set = gtk_layout_style_set; @@ -932,15 +937,23 @@ gtk_layout_unrealize (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_layout_parent_class)->unrealize (widget); } -static void -gtk_layout_size_request (GtkWidget *widget, - GtkRequisition *requisition) +static void +gtk_layout_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { - requisition->width = 0; - requisition->height = 0; + *minimum = *natural = 0; } -static void +static void +gtk_layout_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + *minimum = *natural = 0; +} + +static void gtk_layout_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { From f83403098ddb2d9c8cf9787b826f352f32abf045 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 23:16:40 -0400 Subject: [PATCH 0021/1463] Remove size_reuqest from GtkImage --- gtk/gtkimage.c | 84 +++++++++++++++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 31 deletions(-) diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index bbc96122cd..ce0fcbef6a 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -155,34 +155,39 @@ struct _GtkImagePrivate #define DEFAULT_ICON_SIZE GTK_ICON_SIZE_BUTTON -static gint gtk_image_draw (GtkWidget *widget, - cairo_t *cr); -static void gtk_image_unmap (GtkWidget *widget); -static void gtk_image_unrealize (GtkWidget *widget); -static void gtk_image_size_request (GtkWidget *widget, - GtkRequisition *requisition); -static void gtk_image_style_set (GtkWidget *widget, - GtkStyle *prev_style); -static void gtk_image_screen_changed (GtkWidget *widget, - GdkScreen *prev_screen); -static void gtk_image_destroy (GtkWidget *widget); -static void gtk_image_reset (GtkImage *image); -static void gtk_image_calc_size (GtkImage *image); +static gint gtk_image_draw (GtkWidget *widget, + cairo_t *cr); +static void gtk_image_unmap (GtkWidget *widget); +static void gtk_image_unrealize (GtkWidget *widget); +static void gtk_image_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_image_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); -static void gtk_image_update_size (GtkImage *image, - gint image_width, - gint image_height); +static void gtk_image_style_set (GtkWidget *widget, + GtkStyle *prev_style); +static void gtk_image_screen_changed (GtkWidget *widget, + GdkScreen *prev_screen); +static void gtk_image_destroy (GtkWidget *widget); +static void gtk_image_reset (GtkImage *image); +static void gtk_image_calc_size (GtkImage *image); -static void gtk_image_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gtk_image_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void gtk_image_update_size (GtkImage *image, + gint image_width, + gint image_height); -static void icon_theme_changed (GtkImage *image); +static void gtk_image_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_image_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +static void icon_theme_changed (GtkImage *image); enum { @@ -215,7 +220,8 @@ gtk_image_class_init (GtkImageClass *class) widget_class = GTK_WIDGET_CLASS (class); widget_class->draw = gtk_image_draw; widget_class->destroy = gtk_image_destroy; - widget_class->size_request = gtk_image_size_request; + widget_class->get_preferred_width = gtk_image_get_preferred_width; + widget_class->get_preferred_height = gtk_image_get_preferred_height; widget_class->unmap = gtk_image_unmap; widget_class->unrealize = gtk_image_unrealize; widget_class->style_set = gtk_image_style_set; @@ -1928,19 +1934,35 @@ gtk_image_calc_size (GtkImage *image) } static void -gtk_image_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_image_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkImage *image; GtkImagePrivate *priv; - + image = GTK_IMAGE (widget); priv = image->priv; gtk_image_calc_size (image); - requisition->width = priv->required_width; - requisition->height = priv->required_height; + *minimum = *natural = priv->required_width; +} + +static void +gtk_image_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkImage *image; + GtkImagePrivate *priv; + + image = GTK_IMAGE (widget); + priv = image->priv; + + gtk_image_calc_size (image); + + *minimum = *natural = priv->required_height; } static void From eca2d782ce07300aedd82dce5260c4e8a1700d06 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 23:30:48 -0400 Subject: [PATCH 0022/1463] Remove size_request from GtkProgressBar --- gtk/gtkprogressbar.c | 115 ++++++++++++++++++++++++++++++------------- 1 file changed, 82 insertions(+), 33 deletions(-) diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 956192e74a..1caac5df21 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -74,23 +74,28 @@ enum { PROP_ELLIPSIZE }; -static void gtk_progress_bar_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gtk_progress_bar_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void gtk_progress_bar_size_request (GtkWidget *widget, - GtkRequisition *requisition); -static void gtk_progress_bar_real_update (GtkProgressBar *progress); -static gboolean gtk_progress_bar_draw (GtkWidget *widget, - cairo_t *cr); -static void gtk_progress_bar_act_mode_enter (GtkProgressBar *progress); -static void gtk_progress_bar_finalize (GObject *object); -static void gtk_progress_bar_set_orientation (GtkProgressBar *progress, - GtkOrientation orientation); +static void gtk_progress_bar_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_progress_bar_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void gtk_progress_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_progress_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); + +static void gtk_progress_bar_real_update (GtkProgressBar *progress); +static gboolean gtk_progress_bar_draw (GtkWidget *widget, + cairo_t *cr); +static void gtk_progress_bar_act_mode_enter (GtkProgressBar *progress); +static void gtk_progress_bar_finalize (GObject *object); +static void gtk_progress_bar_set_orientation (GtkProgressBar *progress, + GtkOrientation orientation); G_DEFINE_TYPE_WITH_CODE (GtkProgressBar, gtk_progress_bar, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)) @@ -109,11 +114,10 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class) gobject_class->finalize = gtk_progress_bar_finalize; widget_class->draw = gtk_progress_bar_draw; - widget_class->size_request = gtk_progress_bar_size_request; + widget_class->get_preferred_width = gtk_progress_bar_get_preferred_width; + widget_class->get_preferred_height = gtk_progress_bar_get_preferred_height; - g_object_class_override_property (gobject_class, - PROP_ORIENTATION, - "orientation"); + g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); g_object_class_install_property (gobject_class, PROP_INVERTED, @@ -462,8 +466,9 @@ get_current_text (GtkProgressBar *pbar) } static void -gtk_progress_bar_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_progress_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkProgressBar *pbar; GtkProgressBarPrivate *priv; @@ -471,24 +476,21 @@ gtk_progress_bar_size_request (GtkWidget *widget, gchar *buf; PangoRectangle logical_rect; PangoLayout *layout; - gint width, height; - gint xspacing, yspacing; - gint min_width, min_height; + gint width; + gint xspacing; + gint min_width; g_return_if_fail (GTK_IS_PROGRESS_BAR (widget)); - g_return_if_fail (requisition != NULL); style = gtk_widget_get_style (widget); gtk_widget_style_get (widget, "xspacing", &xspacing, - "yspacing", &yspacing, NULL); pbar = GTK_PROGRESS_BAR (widget); priv = pbar->priv; width = 2 * style->xthickness + xspacing; - height = 2 * style->ythickness + yspacing; if (priv->show_text) { @@ -515,6 +517,56 @@ gtk_progress_bar_size_request (GtkWidget *widget, else width += logical_rect.width; + g_object_unref (layout); + g_free (buf); + } + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_widget_style_get (widget, + "min-horizontal-bar-width", &min_width, + NULL); + else + gtk_widget_style_get (widget, + "min-vertical-bar-width", &min_width, + NULL); + + *minimum = *natural = MAX (min_width, width); +} + +static void +gtk_progress_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkProgressBar *pbar; + GtkProgressBarPrivate *priv; + GtkStyle *style; + gchar *buf; + PangoRectangle logical_rect; + PangoLayout *layout; + gint height; + gint yspacing; + gint min_height; + + g_return_if_fail (GTK_IS_PROGRESS_BAR (widget)); + + style = gtk_widget_get_style (widget); + gtk_widget_style_get (widget, + "yspacing", &yspacing, + NULL); + + pbar = GTK_PROGRESS_BAR (widget); + priv = pbar->priv; + + height = 2 * style->ythickness + yspacing; + + if (priv->show_text) + { + buf = get_current_text (pbar); + layout = gtk_widget_create_pango_layout (widget, buf); + + pango_layout_get_pixel_extents (layout, NULL, &logical_rect); + height += logical_rect.height; g_object_unref (layout); @@ -523,17 +575,14 @@ gtk_progress_bar_size_request (GtkWidget *widget, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) gtk_widget_style_get (widget, - "min-horizontal-bar-width", &min_width, "min-horizontal-bar-height", &min_height, NULL); else gtk_widget_style_get (widget, - "min-vertical-bar-width", &min_width, "min-vertical-bar-height", &min_height, NULL); - requisition->width = MAX (min_width, width); - requisition->height = MAX (min_height, height); + *minimum = *natural = MAX (min_height, height); } static void From f336754a8fb8d3283ef77d70ab374c3d3f5bd53e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 26 Oct 2010 23:46:06 -0400 Subject: [PATCH 0023/1463] Remove size_request from GtkSpinButton --- gtk/gtkspinbutton.c | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 18503b6cae..023d6b6e50 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -111,8 +111,10 @@ static void gtk_spin_button_map (GtkWidget *widget); static void gtk_spin_button_unmap (GtkWidget *widget); static void gtk_spin_button_realize (GtkWidget *widget); static void gtk_spin_button_unrealize (GtkWidget *widget); -static void gtk_spin_button_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_spin_button_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); + static void gtk_spin_button_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gint gtk_spin_button_draw (GtkWidget *widget, @@ -200,7 +202,7 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) widget_class->unmap = gtk_spin_button_unmap; widget_class->realize = gtk_spin_button_realize; widget_class->unrealize = gtk_spin_button_unrealize; - widget_class->size_request = gtk_spin_button_size_request; + widget_class->get_preferred_width = gtk_spin_button_get_preferred_width; widget_class->size_allocate = gtk_spin_button_size_allocate; widget_class->draw = gtk_spin_button_draw; widget_class->scroll_event = gtk_spin_button_scroll; @@ -664,8 +666,9 @@ compute_double_length (double val, int digits) } static void -gtk_spin_button_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_spin_button_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin_button->priv; @@ -677,7 +680,7 @@ gtk_spin_button_size_request (GtkWidget *widget, arrow_size = spin_button_get_arrow_size (spin_button); - GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->size_request (widget, requisition); + GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->get_preferred_width (widget, minimum, natural); if (gtk_entry_get_width_chars (entry) < 0) { @@ -694,23 +697,22 @@ gtk_spin_button_size_request (GtkWidget *widget, GtkBorder inner_border; gtk_widget_style_get (widget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + NULL); context = gtk_widget_get_pango_context (widget); metrics = pango_context_get_metrics (context, style->font_desc, - pango_context_get_language (context)); + pango_context_get_language (context)); digit_width = pango_font_metrics_get_approximate_digit_width (metrics); digit_width = PANGO_SCALE * ((digit_width + PANGO_SCALE - 1) / PANGO_SCALE); pango_font_metrics_unref (metrics); - + /* Get max of MIN_SPIN_BUTTON_WIDTH, size of upper, size of lower */ - width = MIN_SPIN_BUTTON_WIDTH; max_string_len = MAX (10, compute_double_length (1e9 * priv->adjustment->step_increment, priv->digits)); @@ -718,19 +720,22 @@ gtk_spin_button_size_request (GtkWidget *widget, string_len = compute_double_length (priv->adjustment->upper, priv->digits); w = PANGO_PIXELS (MIN (string_len, max_string_len) * digit_width); - width = MAX (width, w); - string_len = compute_double_length (priv->adjustment->lower, - priv->digits); + *minimum = MAX (*minimum, w); + *natural = MAX (*natural, w); + string_len = compute_double_length (priv->adjustment->lower, priv->digits); w = PANGO_PIXELS (MIN (string_len, max_string_len) * digit_width); - width = MAX (width, w); - + *minimum = MAX (*minimum, w); + *natural = MAX (*natural, w); + _gtk_entry_get_borders (entry, &xborder, &yborder); _gtk_entry_effective_inner_border (entry, &inner_border); - requisition->width = width + xborder * 2 + inner_border.left + inner_border.right; + *minimum += xborder * 2 + inner_border.left + inner_border.right; + *natural += xborder * 2 + inner_border.left + inner_border.right; } - requisition->width += arrow_size + 2 * style->xthickness; + *minimum += arrow_size + 2 * style->xthickness; + *natural += arrow_size + 2 * style->xthickness; } static void From 16512bd9d3ca1cd675f9cd701dbe5f4a3c760d59 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 13:56:13 +0900 Subject: [PATCH 0024/1463] Fixed unused variable in get_preferred_height(). --- gtk/gtkentry.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 4cb2c06eee..aba634aecc 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -2914,7 +2914,6 @@ gtk_entry_get_preferred_height (GtkWidget *widget, gint *natural) { GtkEntry *entry = GTK_ENTRY (widget); - GtkEntryPrivate *priv = GTK_ENTRY_GET_PRIVATE (entry); PangoFontMetrics *metrics; gint xborder, yborder; GtkBorder inner_border; From 399f353427b7fdcaf9dfb0c45ccbb3f1fa79c4ff Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 13:56:46 +0900 Subject: [PATCH 0025/1463] Remove size_request from GtkHandleBox --- gtk/gtkhandlebox.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index 3cb84b2079..1e02e84f87 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -140,6 +140,12 @@ static void gtk_handle_box_style_set (GtkWidget *widget, GtkStyle *previous_style); static void gtk_handle_box_size_request (GtkWidget *widget, GtkRequisition *requisition); +static void gtk_handle_box_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_handle_box_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_handle_box_size_allocate (GtkWidget *widget, GtkAllocation *real_allocation); static void gtk_handle_box_add (GtkContainer *container, @@ -224,7 +230,8 @@ gtk_handle_box_class_init (GtkHandleBoxClass *class) widget_class->realize = gtk_handle_box_realize; widget_class->unrealize = gtk_handle_box_unrealize; widget_class->style_set = gtk_handle_box_style_set; - widget_class->size_request = gtk_handle_box_size_request; + widget_class->get_preferred_width = gtk_handle_box_get_preferred_width; + widget_class->get_preferred_height = gtk_handle_box_get_preferred_height; widget_class->size_allocate = gtk_handle_box_size_allocate; widget_class->draw = gtk_handle_box_draw; widget_class->button_press_event = gtk_handle_box_button_press; @@ -623,6 +630,31 @@ gtk_handle_box_size_request (GtkWidget *widget, } } +static void +gtk_handle_box_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_handle_box_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_handle_box_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_handle_box_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + + static void gtk_handle_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From 8565b86223cfbf08c7eb23f4272f152c752add7d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 14:11:36 +0900 Subject: [PATCH 0026/1463] Removed size_request from GtkIconView. --- gtk/gtkiconview.c | 42 +++++++++++++++++++----------------------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index de282d04ac..6345682daa 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -272,8 +272,12 @@ static void gtk_icon_view_style_set (GtkWidget GtkStyle *previous_style); static void gtk_icon_view_state_changed (GtkWidget *widget, GtkStateType previous_state); -static void gtk_icon_view_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_icon_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_icon_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_icon_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_icon_view_draw (GtkWidget *widget, @@ -531,7 +535,8 @@ gtk_icon_view_class_init (GtkIconViewClass *klass) widget_class->unrealize = gtk_icon_view_unrealize; widget_class->style_set = gtk_icon_view_style_set; widget_class->get_accessible = gtk_icon_view_get_accessible; - widget_class->size_request = gtk_icon_view_size_request; + widget_class->get_preferred_width = gtk_icon_view_get_preferred_width; + widget_class->get_preferred_height = gtk_icon_view_get_preferred_height; widget_class->size_allocate = gtk_icon_view_size_allocate; widget_class->draw = gtk_icon_view_draw; widget_class->motion_notify_event = gtk_icon_view_motion; @@ -1458,28 +1463,19 @@ gtk_icon_view_style_set (GtkWidget *widget, } static void -gtk_icon_view_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_icon_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { - GtkIconView *icon_view = GTK_ICON_VIEW (widget); - GList *tmp_list; + *minimum = *natural = GTK_ICON_VIEW (widget)->priv->width; +} - requisition->width = icon_view->priv->width; - requisition->height = icon_view->priv->height; - - tmp_list = icon_view->priv->children; - - while (tmp_list) - { - GtkIconViewChild *child = tmp_list->data; - GtkRequisition child_requisition; - - tmp_list = tmp_list->next; - - if (gtk_widget_get_visible (child->widget)) - gtk_widget_get_preferred_size (child->widget, - &child_requisition, NULL); - } +static void +gtk_icon_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + *minimum = *natural = GTK_ICON_VIEW (widget)->priv->height; } static void From 0f9c04769ba82389f5851503910f81fc2a121e98 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 14:12:41 +0900 Subject: [PATCH 0027/1463] Removed size_request from GtkImageMenuItem --- gtk/gtkimagemenuitem.c | 116 ++++++++++++++++++++++++++++++++++------- 1 file changed, 96 insertions(+), 20 deletions(-) diff --git a/gtk/gtkimagemenuitem.c b/gtk/gtkimagemenuitem.c index be43532ffb..520972570c 100644 --- a/gtk/gtkimagemenuitem.c +++ b/gtk/gtkimagemenuitem.c @@ -62,8 +62,16 @@ enum { static GtkActivatableIface *parent_activatable_iface; static void gtk_image_menu_item_destroy (GtkWidget *widget); -static void gtk_image_menu_item_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_image_menu_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_image_menu_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_image_menu_item_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural); static void gtk_image_menu_item_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_image_menu_item_map (GtkWidget *widget); @@ -117,7 +125,9 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass) widget_class->destroy = gtk_image_menu_item_destroy; widget_class->screen_changed = gtk_image_menu_item_screen_changed; - widget_class->size_request = gtk_image_menu_item_size_request; + widget_class->get_preferred_width = gtk_image_menu_item_get_preferred_width; + widget_class->get_preferred_height = gtk_image_menu_item_get_preferred_height; + widget_class->get_preferred_height_for_width = gtk_image_menu_item_get_preferred_height_for_width; widget_class->size_allocate = gtk_image_menu_item_size_allocate; widget_class->map = gtk_image_menu_item_map; @@ -411,13 +421,13 @@ gtk_image_menu_item_get_label (GtkMenuItem *menu_item) } static void -gtk_image_menu_item_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_image_menu_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (widget); GtkImageMenuItemPrivate *priv = image_menu_item->priv; gint child_width = 0; - gint child_height = 0; GtkPackDirection pack_dir; GtkWidget *parent; @@ -435,26 +445,92 @@ gtk_image_menu_item_size_request (GtkWidget *widget, gtk_widget_get_preferred_size (priv->image, &child_requisition, NULL); child_width = child_requisition.width; + } + + GTK_WIDGET_CLASS (gtk_image_menu_item_parent_class)->get_preferred_width (widget, minimum, natural); + + if (pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) + { + *minimum = MAX (*minimum, child_width); + *natural = MAX (*natural, child_width); + } +} + +static void +gtk_image_menu_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (widget); + GtkImageMenuItemPrivate *priv = image_menu_item->priv; + gint child_height = 0; + GtkPackDirection pack_dir; + GtkWidget *parent; + + parent = gtk_widget_get_parent (widget); + + if (GTK_IS_MENU_BAR (parent)) + pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); + else + pack_dir = GTK_PACK_DIRECTION_LTR; + + if (priv->image && gtk_widget_get_visible (priv->image)) + { + GtkRequisition child_requisition; + + gtk_widget_get_preferred_size (priv->image, &child_requisition, NULL); + child_height = child_requisition.height; } - GTK_WIDGET_CLASS (gtk_image_menu_item_parent_class)->size_request (widget, requisition); + GTK_WIDGET_CLASS (gtk_image_menu_item_parent_class)->get_preferred_height (widget, minimum, natural); - /* not done with height since that happens via the - * toggle_size_request - */ - if (pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) - requisition->height = MAX (requisition->height, child_height); - else - requisition->width = MAX (requisition->width, child_width); - - - /* Note that GtkMenuShell always size requests before - * toggle_size_request, so toggle_size_request will be able to use - * priv->image->requisition - */ + if (pack_dir == GTK_PACK_DIRECTION_RTL || pack_dir == GTK_PACK_DIRECTION_LTR) + { + *minimum = MAX (*minimum, child_height); + *natural = MAX (*natural, child_height); + } } +static void +gtk_image_menu_item_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (widget); + GtkImageMenuItemPrivate *priv = image_menu_item->priv; + gint child_height = 0; + GtkPackDirection pack_dir; + GtkWidget *parent; + + parent = gtk_widget_get_parent (widget); + + if (GTK_IS_MENU_BAR (parent)) + pack_dir = gtk_menu_bar_get_child_pack_direction (GTK_MENU_BAR (parent)); + else + pack_dir = GTK_PACK_DIRECTION_LTR; + + if (priv->image && gtk_widget_get_visible (priv->image)) + { + GtkRequisition child_requisition; + + gtk_widget_get_preferred_size (priv->image, &child_requisition, NULL); + + child_height = child_requisition.height; + } + + GTK_WIDGET_CLASS + (gtk_image_menu_item_parent_class)->get_preferred_height_for_width (widget, width, minimum, natural); + + if (pack_dir == GTK_PACK_DIRECTION_RTL || pack_dir == GTK_PACK_DIRECTION_LTR) + { + *minimum = MAX (*minimum, child_height); + *natural = MAX (*natural, child_height); + } +} + + static void gtk_image_menu_item_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From e9f541dc5143062fc2ae521d239cd9067bf7e3e9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 14:30:07 +0900 Subject: [PATCH 0028/1463] Removed size_request from GtkMenuBar --- gtk/gtkmenubar.c | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 8dab56b972..a28622a65f 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -68,6 +68,12 @@ static void gtk_menu_bar_get_property (GObject *object, GParamSpec *pspec); static void gtk_menu_bar_size_request (GtkWidget *widget, GtkRequisition *requisition); +static void gtk_menu_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_menu_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_menu_bar_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gint gtk_menu_bar_draw (GtkWidget *widget, @@ -98,7 +104,8 @@ gtk_menu_bar_class_init (GtkMenuBarClass *class) gobject_class->get_property = gtk_menu_bar_get_property; gobject_class->set_property = gtk_menu_bar_set_property; - widget_class->size_request = gtk_menu_bar_size_request; + widget_class->get_preferred_width = gtk_menu_bar_get_preferred_width; + widget_class->get_preferred_height = gtk_menu_bar_get_preferred_height; widget_class->size_allocate = gtk_menu_bar_size_allocate; widget_class->draw = gtk_menu_bar_draw; widget_class->hierarchy_changed = gtk_menu_bar_hierarchy_changed; @@ -347,6 +354,30 @@ gtk_menu_bar_size_request (GtkWidget *widget, } } +static void +gtk_menu_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_menu_bar_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_menu_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_menu_bar_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + static void gtk_menu_bar_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From af0c4bc656cc6a45e9ad8c7d6afc5de752c9b0ea Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 14:35:04 +0900 Subject: [PATCH 0029/1463] Removed size_request from GtkNotebook --- gtk/gtknotebook.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 2827645f96..5a765eaf6a 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -333,6 +333,12 @@ static void gtk_notebook_realize (GtkWidget *widget); static void gtk_notebook_unrealize (GtkWidget *widget); static void gtk_notebook_size_request (GtkWidget *widget, GtkRequisition *requisition); +static void gtk_notebook_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_notebook_get_preferred_height(GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_notebook_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gint gtk_notebook_draw (GtkWidget *widget, @@ -635,7 +641,8 @@ gtk_notebook_class_init (GtkNotebookClass *class) widget_class->unmap = gtk_notebook_unmap; widget_class->realize = gtk_notebook_realize; widget_class->unrealize = gtk_notebook_unrealize; - widget_class->size_request = gtk_notebook_size_request; + widget_class->get_preferred_width = gtk_notebook_get_preferred_width; + widget_class->get_preferred_height = gtk_notebook_get_preferred_height; widget_class->size_allocate = gtk_notebook_size_allocate; widget_class->draw = gtk_notebook_draw; widget_class->button_press_event = gtk_notebook_button_press; @@ -2209,6 +2216,31 @@ gtk_notebook_size_request (GtkWidget *widget, } } + +static void +gtk_notebook_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_notebook_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_notebook_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_notebook_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + static void gtk_notebook_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From 34e1cd373bcc1276164da3814600df68f443e478 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 14:43:30 +0900 Subject: [PATCH 0030/1463] Removed size_request from GtkOffscreenWindow --- gtk/gtkoffscreenwindow.c | 64 ++++++++++++++++++++++++++++++---------- 1 file changed, 49 insertions(+), 15 deletions(-) diff --git a/gtk/gtkoffscreenwindow.c b/gtk/gtkoffscreenwindow.c index e918a1c0ea..ffa0e513e6 100644 --- a/gtk/gtkoffscreenwindow.c +++ b/gtk/gtkoffscreenwindow.c @@ -51,38 +51,71 @@ G_DEFINE_TYPE (GtkOffscreenWindow, gtk_offscreen_window, GTK_TYPE_WINDOW); static void -gtk_offscreen_window_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_offscreen_window_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkBin *bin = GTK_BIN (widget); GtkWidget *child; gint border_width; - gint default_width, default_height; + gint default_width; border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - requisition->width = border_width * 2; - requisition->height = border_width * 2; + *minimum = border_width * 2; + *natural = border_width * 2; child = gtk_bin_get_child (bin); if (child != NULL && gtk_widget_get_visible (child)) { - GtkRequisition child_req; + gint child_min, child_nat; - gtk_widget_get_preferred_size (child, &child_req, NULL); + gtk_widget_get_preferred_width (child, &child_min, &child_nat); - requisition->width += child_req.width; - requisition->height += child_req.height; + *minimum += child_min; + *natural += child_nat; } gtk_window_get_default_size (GTK_WINDOW (widget), - &default_width, &default_height); - if (default_width > 0) - requisition->width = default_width; + &default_width, NULL); - if (default_height > 0) - requisition->height = default_height; + *minimum = MAX (*minimum, default_width); + *natural = MAX (*natural, default_width); +} + +static void +gtk_offscreen_window_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkBin *bin = GTK_BIN (widget); + GtkWidget *child; + gint border_width; + gint default_height; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + + *minimum = border_width * 2; + *natural = border_width * 2; + + child = gtk_bin_get_child (bin); + + if (child != NULL && gtk_widget_get_visible (child)) + { + gint child_min, child_nat; + + gtk_widget_get_preferred_height (child, &child_min, &child_nat); + + *minimum += child_min; + *natural += child_nat; + } + + gtk_window_get_default_size (GTK_WINDOW (widget), + NULL, &default_height); + + *minimum = MAX (*minimum, default_height); + *natural = MAX (*natural, default_height); } static void @@ -238,7 +271,8 @@ gtk_offscreen_window_class_init (GtkOffscreenWindowClass *class) widget_class->realize = gtk_offscreen_window_realize; widget_class->show = gtk_offscreen_window_show; widget_class->hide = gtk_offscreen_window_hide; - widget_class->size_request = gtk_offscreen_window_size_request; + widget_class->get_preferred_width = gtk_offscreen_window_get_preferred_width; + widget_class->get_preferred_height = gtk_offscreen_window_get_preferred_height; widget_class->size_allocate = gtk_offscreen_window_size_allocate; container_class->check_resize = gtk_offscreen_window_check_resize; From c823f335167d4d4ba7f0a06065164b3a78d1b43e Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Wed, 27 Oct 2010 11:22:06 +0300 Subject: [PATCH 0031/1463] [l10n] Updated Estonian translation --- po-properties/et.po | 3056 ++++++++----------------------------------- 1 file changed, 561 insertions(+), 2495 deletions(-) diff --git a/po-properties/et.po b/po-properties/et.po index 681e93f7c6..13f222b28b 100644 --- a/po-properties/et.po +++ b/po-properties/et.po @@ -2,157 +2,111 @@ # Estonian translation of GTK+-properties. # # Copyright (C) 1999, 2002-2006 Free Software Foundation, Inc. -# Copyright (C) 2007,2009 The GNOME Project. +# Copyright (C) 2007,2009,2010 The GNOME Project. # This file is distributed under the same license as the gtk package. # # Lauris Kaplinski , 1999. # Tõivo Leedjärv , 2002-2004. -# Ivar Smolin , 2005-2007. +# Ivar Smolin , 2005-2007, 2010. # Priit Laes , 2006. # Mattias Põldaru , 2009. # msgid "" msgstr "" "Project-Id-Version: gtk+-properties HEAD\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-02-01 09:03+0300\n" -"Last-Translator: Mattias Põldaru \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" +"+&component=general\n" +"POT-Creation-Date: 2009-07-30 14:59+0000\n" +"PO-Revision-Date: 2010-10-27 08:08+0300\n" +"Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" -"Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gdk/gdkdevice.c:97 -#, fuzzy -msgid "Device Display" -msgstr "Vaikimisi kuva" +msgid "Loop" +msgstr "Korduv" -#: gdk/gdkdevice.c:98 -msgid "Display which the device belongs to" +msgid "Whether the animation should loop when it reaches the end" +msgstr "Kas animatsioonid peavad lõppedes uuesti alustama või mitte" + +msgid "Number of Channels" +msgstr "Kanalite arv" + +msgid "The number of samples per pixel" +msgstr "Näidiste arv piksli kohta" + +msgid "Colorspace" +msgstr "Värviruum" + +msgid "The colorspace in which the samples are interpreted" +msgstr "Värviruum, milles näidiseid tõlgendatakse" + +msgid "Has Alpha" +msgstr "Alfa väärtusega" + +msgid "Whether the pixbuf has an alpha channel" +msgstr "Kas pixbuf'il on alfakanal" + +msgid "Bits per Sample" +msgstr "Bitte näidise kohta" + +msgid "The number of bits per sample" +msgstr "Näidise bittide arv" + +msgid "Width" +msgstr "Laius" + +msgid "The number of columns of the pixbuf" +msgstr "Pixbuf'i tulpade arv" + +msgid "Height" +msgstr "Kõrgus" + +msgid "The number of rows of the pixbuf" +msgstr "Pixbuf'i veergude arv" + +msgid "Rowstride" msgstr "" -#: gdk/gdkdevice.c:112 -#, fuzzy -msgid "Device manager" -msgstr "Hiljutiste kirjete haldur" +msgid "" +"The number of bytes between the start of a row and the start of the next row" +msgstr "Baitide arv rea ja järgmise rea alguse vahel" -#: gdk/gdkdevice.c:113 -msgid "Device manager which the device belongs to" -msgstr "" +msgid "Pixels" +msgstr "Piksleid" -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -#, fuzzy -msgid "Device name" -msgstr "Failinimi" +msgid "A pointer to the pixel data of the pixbuf" +msgstr "Viit pixbuf'i piksliandmetele" -#: gdk/gdkdevice.c:142 -#, fuzzy -msgid "Device type" -msgstr "Kaare liik" - -#: gdk/gdkdevice.c:143 -msgid "Device role in the device manager" -msgstr "" - -#: gdk/gdkdevice.c:159 -msgid "Associated device" -msgstr "" - -#: gdk/gdkdevice.c:160 -msgid "Associated pointer or keyboard with this device" -msgstr "" - -#: gdk/gdkdevice.c:173 -msgid "Input source" -msgstr "" - -#: gdk/gdkdevice.c:174 -msgid "Source type for the device" -msgstr "" - -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -#, fuzzy -msgid "Input mode for the device" -msgstr "Ikoonivaate mudel" - -#: gdk/gdkdevice.c:205 -#, fuzzy -msgid "Whether the device has a cursor" -msgstr "Kas vidin on sisestamisfookuses või mitte" - -#: gdk/gdkdevice.c:206 -#, fuzzy -msgid "Whether there is a visible cursor following device motion" -msgstr "Kas ikooni suuruse omadus on määratud või mitte" - -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -#, fuzzy -msgid "Number of axes in the device" -msgstr "Dokumendis olevate lehekülgede arv." - -#: gdk/gdkdevicemanager.c:134 -#, fuzzy -msgid "Display" -msgstr "Vaikimisi kuva" - -#: gdk/gdkdevicemanager.c:135 -msgid "Display for the device manager" -msgstr "" - -#: gdk/gdkdisplaymanager.c:102 msgid "Default Display" msgstr "Vaikimisi kuva" -#: gdk/gdkdisplaymanager.c:103 msgid "The default display for GDK" msgstr "GDK vaikimisi kuva" -#: gdk/gdkscreen.c:72 +msgid "Screen" +msgstr "Ekraan" + +msgid "the GdkScreen for the renderer" +msgstr "Renderdaja GdkScreen" + msgid "Font options" msgstr "Kirjatüübi valikud" -#: gdk/gdkscreen.c:73 msgid "The default font options for the screen" msgstr "Vaikimisi kasutatava kirjatüübi valikud ekraani jaoks" -#: gdk/gdkscreen.c:80 msgid "Font resolution" msgstr "Fondi eraldusvõime" -#: gdk/gdkscreen.c:81 msgid "The resolution for fonts on the screen" msgstr "Ekraanifontide eraldusvõime" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 -#, fuzzy -msgid "Cursor" -msgstr "Kursori värvus" - -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 -msgid "Device ID" -msgstr "" - -#: gdk/x11/gdkdevice-xi2.c:112 -msgid "Device identifier" -msgstr "" - -#: gdk/x11/gdkdevicemanager-xi.c:84 -msgid "Event base" -msgstr "" - -#: gdk/x11/gdkdevicemanager-xi.c:85 -msgid "Event base for XInput events" -msgstr "" - -#: gtk/gtkaboutdialog.c:269 msgid "Program name" msgstr "Programmi nimi" -#: gtk/gtkaboutdialog.c:270 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -160,53 +114,33 @@ msgstr "" "Programmi nimi. Kui seda pole määratud, siis vaikimisi on " "g_get_application_name()" -#: gtk/gtkaboutdialog.c:284 msgid "Program version" msgstr "Programmi versioon" -#: gtk/gtkaboutdialog.c:285 msgid "The version of the program" msgstr "Programmi versioon" -#: gtk/gtkaboutdialog.c:299 msgid "Copyright string" msgstr "Autoriõiguste string" -#: gtk/gtkaboutdialog.c:300 msgid "Copyright information for the program" msgstr "Programmi kohta kehtivate autoriõiguste andmed" -#: gtk/gtkaboutdialog.c:317 msgid "Comments string" msgstr "Kommentaaristring" -#: gtk/gtkaboutdialog.c:318 msgid "Comments about the program" msgstr "Programmi kohta käivad kommentaarid" -#: gtk/gtkaboutdialog.c:368 -#, fuzzy -msgid "License Type" -msgstr "Teate liik" - -#: gtk/gtkaboutdialog.c:369 -#, fuzzy -msgid "The license type of the program" -msgstr "Programmi versioon" - -#: gtk/gtkaboutdialog.c:385 msgid "Website URL" msgstr "Veebisaidi URL" -#: gtk/gtkaboutdialog.c:386 msgid "The URL for the link to the website of the program" msgstr "Programmi veebisaidi URL" -#: gtk/gtkaboutdialog.c:401 msgid "Website label" msgstr "Veebisaidi silt" -#: gtk/gtkaboutdialog.c:402 msgid "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" @@ -214,44 +148,34 @@ msgstr "" "Programmi veebisaidi URL-i silt. Kui seda pole määratud, siis vaikimis on " "selleks URL ise" -#: gtk/gtkaboutdialog.c:418 msgid "Authors" msgstr "Autorid" -#: gtk/gtkaboutdialog.c:419 msgid "List of authors of the program" msgstr "Programmi autorite nimekiri" -#: gtk/gtkaboutdialog.c:435 msgid "Documenters" msgstr "Dokumenteerijad" -#: gtk/gtkaboutdialog.c:436 msgid "List of people documenting the program" msgstr "Programmi dokumenteerijate nimekiri" -#: gtk/gtkaboutdialog.c:452 msgid "Artists" msgstr "Kunstnikud" -#: gtk/gtkaboutdialog.c:453 msgid "List of people who have contributed artwork to the program" msgstr "Programmile kunstiloomingu teinud autorite nimekiri" -#: gtk/gtkaboutdialog.c:470 msgid "Translator credits" msgstr "Tõlkijad" -#: gtk/gtkaboutdialog.c:471 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "Tõlkijate nimekiri. See string peaks olema märgitud tõlgitavaks" -#: gtk/gtkaboutdialog.c:486 msgid "Logo" msgstr "Logo" -#: gtk/gtkaboutdialog.c:487 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -259,136 +183,100 @@ msgstr "" "Programmi andmete kasti logo. Kui seda pole määratud, siis vaikimisi on " "selleks gtk_window_get_default_icon_list()" -#: gtk/gtkaboutdialog.c:502 msgid "Logo Icon Name" msgstr "Logoikooni nimi" -#: gtk/gtkaboutdialog.c:503 msgid "A named icon to use as the logo for the about box." msgstr "Nimeline ikoon, mida kasutatakse programmi andmete kastis." -#: gtk/gtkaboutdialog.c:516 msgid "Wrap license" msgstr "Litsensiridade murdmine" -#: gtk/gtkaboutdialog.c:517 msgid "Whether to wrap the license text." msgstr "Kas litsentsi tekstu murtakse või mitte." -#: gtk/gtkaccellabel.c:189 msgid "Accelerator Closure" msgstr "" -#: gtk/gtkaccellabel.c:190 msgid "The closure to be monitored for accelerator changes" msgstr "" -#: gtk/gtkaccellabel.c:196 msgid "Accelerator Widget" msgstr "Kiirklahvide vidin" -#: gtk/gtkaccellabel.c:197 msgid "The widget to be monitored for accelerator changes" msgstr "Vidin kiirklahvide muutumiste jälgimiseks" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 msgid "Name" msgstr "Nimi" -#: gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "Toimingu unikaalne nimi" -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 msgid "Label" msgstr "Silt" -#: gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." msgstr "" "Selle toimingu aktiveerivatel menüükirjetel ja nuppudel kasutatav silt." -#: gtk/gtkaction.c:258 msgid "Short label" msgstr "Lühike silt" -#: gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "Tööriistariba nuppudel kasutatav lühike silt." -#: gtk/gtkaction.c:267 msgid "Tooltip" msgstr "Vihje" -#: gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "Selle toimingu kohta käiv vihje." -#: gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "Rühmaikoon" -#: gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "" -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 msgid "GIcon" msgstr "" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 msgid "Icon Name" msgstr "Ikooni nimi" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "Ikooniteemas olev ikooni nimi" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 msgid "Visible when horizontal" msgstr "Nähtav kui horisontaalne" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." msgstr "" -#: gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "Nähtav kui ülejooksev" -#: gtk/gtkaction.c:350 msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." msgstr "" -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 msgid "Visible when vertical" msgstr "Nähtav kui vertikaalne" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." msgstr "Kas tööriistariba kirje on riba püstise suuna korral nähtav." -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 msgid "Is important" msgstr "On tähtis" -#: gtk/gtkaction.c:366 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." @@ -397,153 +285,108 @@ msgstr "" "toimingu puhul kuvavad tööriistakirjete proksid teksti " "GTK_TOOLBAR_BOTH_HORIZ režiimis." -#: gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "Peidetakse kui on tühi" -#: gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "" -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 msgid "Sensitive" msgstr "Tundlik" -#: gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "Kas tegevus on lubatud või mitte." -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 msgid "Visible" msgstr "Nähtav" -#: gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "Kas tegevus on nähtav või mitte." -#: gtk/gtkaction.c:395 msgid "Action Group" msgstr "Tegevuste grupp" -#: gtk/gtkaction.c:396 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." msgstr "" -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 -msgid "Always show image" -msgstr "" - -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 -#, fuzzy -msgid "Whether the image will always be shown" -msgstr "Kas vidin on nähtav või mitte" - -#: gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "Tegevuste grupi nimi." -#: gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "Kas tegevuste grupp on lubatud või mitte." -#: gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "Kas tegevuste grupp on nähtav või mitte." -#: gtk/gtkactivatable.c:290 msgid "Related Action" msgstr "Seotud tegevus" -#: gtk/gtkactivatable.c:291 msgid "The action this activatable will activate and receive updates from" msgstr "" -#: gtk/gtkactivatable.c:313 msgid "Use Action Appearance" msgstr "" -#: gtk/gtkactivatable.c:314 msgid "Whether to use the related actions appearance properties" msgstr "" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 msgid "Value" msgstr "Väärtus" -#: gtk/gtkadjustment.c:94 msgid "The value of the adjustment" msgstr "" -#: gtk/gtkadjustment.c:110 msgid "Minimum Value" msgstr "Väikseim väärtus" -#: gtk/gtkadjustment.c:111 msgid "The minimum value of the adjustment" msgstr "" -#: gtk/gtkadjustment.c:130 msgid "Maximum Value" msgstr "Suurim väärtus" -#: gtk/gtkadjustment.c:131 msgid "The maximum value of the adjustment" msgstr "" -#: gtk/gtkadjustment.c:147 msgid "Step Increment" msgstr "Suurenduse samm" -#: gtk/gtkadjustment.c:148 msgid "The step increment of the adjustment" msgstr "" -#: gtk/gtkadjustment.c:164 msgid "Page Increment" msgstr "" -#: gtk/gtkadjustment.c:165 msgid "The page increment of the adjustment" msgstr "" -#: gtk/gtkadjustment.c:184 msgid "Page Size" msgstr "Lehekülje suurus" -#: gtk/gtkadjustment.c:185 msgid "The page size of the adjustment" msgstr "" -#: gtk/gtkalignment.c:123 msgid "Horizontal alignment" msgstr "Rõhtjoondus" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" msgstr "" -#: gtk/gtkalignment.c:133 msgid "Vertical alignment" msgstr "Püstjoondus" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" msgstr "" -#: gtk/gtkalignment.c:142 msgid "Horizontal scale" msgstr "Rõhtskaala" -#: gtk/gtkalignment.c:143 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -552,11 +395,9 @@ msgstr "" "palju sellest kasutab lapsobjeks. 0.0 tähendab et mitte midagi, 1.0 tähendab " "kõike." -#: gtk/gtkalignment.c:151 msgid "Vertical scale" msgstr "Püstskaala" -#: gtk/gtkalignment.c:152 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -564,238 +405,178 @@ msgstr "" "Kui vaba vertikaalruumi on rohkem, kui lapsobjekt vajab, siis kui palju " "sellest kasutab lapsobjekt. 0.0 tähendab et mitte midagi, 1.0 tähendab kõike." -#: gtk/gtkalignment.c:169 msgid "Top Padding" msgstr "Ülemine polsterdus" -#: gtk/gtkalignment.c:170 msgid "The padding to insert at the top of the widget." msgstr "Vidina ülaosale lisatav polsterdus." -#: gtk/gtkalignment.c:186 msgid "Bottom Padding" msgstr "Alumine polsterdus" -#: gtk/gtkalignment.c:187 msgid "The padding to insert at the bottom of the widget." msgstr "Vidina alaosale lisatav polsterdus." -#: gtk/gtkalignment.c:203 msgid "Left Padding" msgstr "Vasakpoolne polsterdus" -#: gtk/gtkalignment.c:204 msgid "The padding to insert at the left of the widget." msgstr "Vidina vasakule poole lisatav polsterdus." -#: gtk/gtkalignment.c:220 msgid "Right Padding" msgstr "Parempoolne polsterdus" -#: gtk/gtkalignment.c:221 msgid "The padding to insert at the right of the widget." msgstr "Vidina paremale poole lisatav polsterdus." -#: gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Noole suund" -#: gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "Suund kuhu nooleots näitab" -#: gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "Noole vari" -#: gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "Noolt ümbritseva varju välimus" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 msgid "Arrow Scaling" msgstr "Noole skaleerimine" -#: gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "Noole poolt kasutatava ruumi hulk" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 msgid "Horizontal Alignment" msgstr "Rõhtjoondus" -#: gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "Lapse joondamine X-teljel" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 msgid "Vertical Alignment" msgstr "Püstjoondus" -#: gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "Lapse joondamine Y-teljel" -#: gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "Külgede suhe" -#: gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "" "Külgede suhe, kui \"Alamobjekti järgi\" (obey_child) väärtuseks on väär." -#: gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "Alamobjekti järgi" -#: gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "" -#: gtk/gtkassistant.c:310 msgid "Header Padding" msgstr "Päise polsterdus" -#: gtk/gtkassistant.c:311 msgid "Number of pixels around the header." msgstr "Dokumendi päise ümber olevate pikslite arv." -#: gtk/gtkassistant.c:318 msgid "Content Padding" msgstr "Sisu polsterdus" -#: gtk/gtkassistant.c:319 msgid "Number of pixels around the content pages." msgstr "Sisulehtede ümber olevate pikslite arv." -#: gtk/gtkassistant.c:335 msgid "Page type" msgstr "Lehekülje liik" -#: gtk/gtkassistant.c:336 msgid "The type of the assistant page" msgstr "" -#: gtk/gtkassistant.c:353 msgid "Page title" msgstr "Lehe pealkiri" -#: gtk/gtkassistant.c:354 msgid "The title of the assistant page" msgstr "" -#: gtk/gtkassistant.c:370 msgid "Header image" msgstr "Päise pilt" -#: gtk/gtkassistant.c:371 msgid "Header image for the assistant page" msgstr "" -#: gtk/gtkassistant.c:387 msgid "Sidebar image" msgstr "Külgpaani pilt" -#: gtk/gtkassistant.c:388 msgid "Sidebar image for the assistant page" msgstr "" -#: gtk/gtkassistant.c:403 msgid "Page complete" msgstr "" -#: gtk/gtkassistant.c:404 msgid "Whether all required fields on the page have been filled out" msgstr "" -#: gtk/gtkbbox.c:135 msgid "Minimum child width" msgstr "Lapse vähim laius" -#: gtk/gtkbbox.c:136 msgid "Minimum width of buttons inside the box" msgstr "Kastis olevate nuppude väikseim laius" -#: gtk/gtkbbox.c:144 msgid "Minimum child height" msgstr "Lapse vähim kõrgus" -#: gtk/gtkbbox.c:145 msgid "Minimum height of buttons inside the box" msgstr "Kastis olevate nuppude väikseim kõrgus" -#: gtk/gtkbbox.c:153 msgid "Child internal width padding" msgstr "" -#: gtk/gtkbbox.c:154 msgid "Amount to increase child's size on either side" msgstr "" -#: gtk/gtkbbox.c:162 msgid "Child internal height padding" msgstr "" -#: gtk/gtkbbox.c:163 msgid "Amount to increase child's size on the top and bottom" msgstr "" -#: gtk/gtkbbox.c:171 msgid "Layout style" msgstr "Paigutuse laad" -#: gtk/gtkbbox.c:172 -#, fuzzy msgid "" -"How to lay out the buttons in the box. Possible values are: spread, edge, " -"start and end" +"How to layout the buttons in the box. Possible values are default, spread, " +"edge, start and end" msgstr "" "Kuidas nupud kastis asetsevad. Võimalikud väärtused on vaikimisi, kõrvuti, " "serval, alguses ja lõpus" -#: gtk/gtkbbox.c:180 msgid "Secondary" msgstr "" -#: gtk/gtkbbox.c:181 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" msgstr "" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 msgid "Spacing" msgstr "Vaheruum" -#: gtk/gtkbox.c:228 msgid "The amount of space between children" msgstr "Alamkirjete vahel olev ruum" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 msgid "Homogeneous" msgstr "Homogeenne" -#: gtk/gtkbox.c:238 msgid "Whether the children should all be the same size" msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 msgid "Expand" msgstr "Laiendamine" -#: gtk/gtkbox.c:255 msgid "Whether the child should receive extra space when the parent grows" msgstr "Kas lapsobjekt saab rohkem ruumi, kui vanemobjekti suurus kasvab" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 msgid "Fill" msgstr "Täitmine" -#: gtk/gtkbox.c:272 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" @@ -803,564 +584,394 @@ msgstr "" "Kas lapsobjektile antud lisaruum tuleb eraldada lapsobjektile või selle " "polsterdusele" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 msgid "Padding" msgstr "Polsterdus" -#: gtk/gtkbox.c:280 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "Lisavahe mis läheb lapsvidina ja tema naabrite vahele, pikslites" -#: gtk/gtkbox.c:286 msgid "Pack type" msgstr "" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" msgstr "" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 msgid "Position" msgstr "Asukoht" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 msgid "The index of the child in the parent" msgstr "" -#: gtk/gtkbuilder.c:315 msgid "Translation Domain" msgstr "Tõlkedomeen" -#: gtk/gtkbuilder.c:316 msgid "The translation domain used by gettext" msgstr "Gettext'i poolt kasutatav tõlkedomeen" -#: gtk/gtkbutton.c:239 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "Nupul oleva sildividina tekst juhuks, kui nupp sisaldab tekstividinat" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Alakriipsu kasutamine" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" msgstr "" "Määramise korral tähendab tekstis olev alakriips, et sellest järgnevale " -"märgile vastav klahv on mnemooniline kiirendusklahv" +"märgile vastav klahv on mnemooniline kiirklahv" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 msgid "Use stock" msgstr "" -#: gtk/gtkbutton.c:255 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 msgid "Focus on click" msgstr "Fookus klõpsamisel" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Kas nupp saab selle hiirega klõpsamisel fookuse või mitte" -#: gtk/gtkbutton.c:270 msgid "Border relief" msgstr "Äärise reljeef" -#: gtk/gtkbutton.c:271 msgid "The border relief style" msgstr "Äärise reljeefi laad" -#: gtk/gtkbutton.c:288 msgid "Horizontal alignment for child" msgstr "Lapse rõhtjoondus" -#: gtk/gtkbutton.c:307 msgid "Vertical alignment for child" msgstr "Lapse püstjoondus" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 msgid "Image widget" msgstr "Pildividin" -#: gtk/gtkbutton.c:325 msgid "Child widget to appear next to the button text" msgstr "Alamvidin, mis ilmub nuputekstist järgmisena" -#: gtk/gtkbutton.c:339 msgid "Image position" msgstr "Pildi asukoht" -#: gtk/gtkbutton.c:340 msgid "The position of the image relative to the text" msgstr "Pildi asukoht teksti suhtes" -#: gtk/gtkbutton.c:460 msgid "Default Spacing" msgstr "" -#: gtk/gtkbutton.c:461 -#, fuzzy -msgid "Extra space to add for GTK_CAN_DEFAULT buttons" +msgid "Extra space to add for CAN_DEFAULT buttons" msgstr "CAN_DEFAULT nuppudele lisatav täiendav ruum" -#: gtk/gtkbutton.c:475 msgid "Default Outside Spacing" msgstr "" -#: gtk/gtkbutton.c:476 -#, fuzzy msgid "" -"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " -"the border" -msgstr "CAN_DEFAULT nuppudele lisatav täiendav ruum" +"Extra space to add for CAN_DEFAULT buttons that is always drawn outside the " +"border" +msgstr "" -#: gtk/gtkbutton.c:481 msgid "Child X Displacement" msgstr "" -#: gtk/gtkbutton.c:482 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" -#: gtk/gtkbutton.c:489 msgid "Child Y Displacement" msgstr "" -#: gtk/gtkbutton.c:490 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" -#: gtk/gtkbutton.c:506 msgid "Displace focus" msgstr "" -#: gtk/gtkbutton.c:507 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" msgstr "" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 msgid "Inner Border" msgstr "Sisemine ääris" -#: gtk/gtkbutton.c:521 msgid "Border between button edges and child." msgstr "" -#: gtk/gtkbutton.c:534 msgid "Image spacing" msgstr "Pildi kaugus" -#: gtk/gtkbutton.c:535 msgid "Spacing in pixels between the image and label" msgstr "Pildi ja sildi vahel oleva vahe suurus pikslites" -#: gtk/gtkbutton.c:549 msgid "Show button images" msgstr "Nuppude piltide näitamine" -#: gtk/gtkbutton.c:550 msgid "Whether images should be shown on buttons" msgstr "Kas nuppudel näidatakse pilte või mitte" -#: gtk/gtkcalendar.c:478 msgid "Year" msgstr "Aasta" -#: gtk/gtkcalendar.c:479 msgid "The selected year" msgstr "Valitud aasta" -#: gtk/gtkcalendar.c:492 msgid "Month" msgstr "Kuu" -#: gtk/gtkcalendar.c:493 msgid "The selected month (as a number between 0 and 11)" msgstr "Valitud kuu (number vahemikus 0 kuni 11)" -#: gtk/gtkcalendar.c:507 msgid "Day" msgstr "Päev" -#: gtk/gtkcalendar.c:508 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" msgstr "Valitud päev (number vahemikus 1 kuni 31, või 0 valiku tühistamiseks)" -#: gtk/gtkcalendar.c:522 msgid "Show Heading" msgstr "Näita päist" -#: gtk/gtkcalendar.c:523 msgid "If TRUE, a heading is displayed" msgstr "Kui märgitud, siis kuvatakse päist" -#: gtk/gtkcalendar.c:537 msgid "Show Day Names" msgstr "Päevanimede näitamine" -#: gtk/gtkcalendar.c:538 msgid "If TRUE, day names are displayed" msgstr "Kui märgitud, siis kuvatakse päevade nimesid" -#: gtk/gtkcalendar.c:551 msgid "No Month Change" msgstr "Kuud ei saa muuta" -#: gtk/gtkcalendar.c:552 msgid "If TRUE, the selected month cannot be changed" msgstr "Kui märgitud, siis pole kuud võimalik muuta" -#: gtk/gtkcalendar.c:566 msgid "Show Week Numbers" msgstr "Nädalanumbrite näitamine" -#: gtk/gtkcalendar.c:567 msgid "If TRUE, week numbers are displayed" msgstr "Kui märgitud, siis kuvatakse nädalate numberid" -#: gtk/gtkcalendar.c:582 msgid "Details Width" msgstr "Üksikasjade laius" -#: gtk/gtkcalendar.c:583 msgid "Details width in characters" msgstr "Üksikasjade laius märkides" -#: gtk/gtkcalendar.c:598 msgid "Details Height" msgstr "Üksikasjade kõrgus" -#: gtk/gtkcalendar.c:599 msgid "Details height in rows" msgstr "Üksikasjade kõrgus ridades" -#: gtk/gtkcalendar.c:615 msgid "Show Details" msgstr "Üksikasjade näitamine" -#: gtk/gtkcalendar.c:616 msgid "If TRUE, details are shown" msgstr "Kui märgitud, siis näidatakse üksikasju" -#: gtk/gtkcalendar.c:628 -#, fuzzy -msgid "Inner border" -msgstr "Sisemine ääris" - -#: gtk/gtkcalendar.c:629 -#, fuzzy -msgid "Inner border space" -msgstr "Sisemine ääris" - -#: gtk/gtkcalendar.c:640 -#, fuzzy -msgid "Vertical separation" -msgstr "Püstine polsterdus" - -#: gtk/gtkcalendar.c:641 -#, fuzzy -msgid "Space between day headers and main area" -msgstr "Laiendaja noole ümber olev ruum" - -#: gtk/gtkcalendar.c:652 -#, fuzzy -msgid "Horizontal separation" -msgstr "Rõhtne polsterdus" - -#: gtk/gtkcalendar.c:653 -#, fuzzy -msgid "Space between week headers and main area" -msgstr "Laiendaja noole ümber olev ruum" - -#: gtk/gtkcelleditable.c:53 -msgid "Editing Canceled" -msgstr "" - -#: gtk/gtkcelleditable.c:54 -msgid "Indicates that editing has been canceled" -msgstr "" - -#: gtk/gtkcellrendereraccel.c:138 -msgid "Accelerator key" -msgstr "Kiirklahv" - -#: gtk/gtkcellrendereraccel.c:139 -msgid "The keyval of the accelerator" -msgstr "Kiirklahvi väärtus" - -#: gtk/gtkcellrendereraccel.c:155 -msgid "Accelerator modifiers" -msgstr "Kiirklahvide muuteklahvid" - -#: gtk/gtkcellrendereraccel.c:156 -msgid "The modifier mask of the accelerator" -msgstr "Kiirklahvide muuteklahvi mask" - -#: gtk/gtkcellrendereraccel.c:173 -msgid "Accelerator keycode" -msgstr "Kiirklahvi kood" - -#: gtk/gtkcellrendereraccel.c:174 -msgid "The hardware keycode of the accelerator" -msgstr "Kiirklahvi raudvaraline klahvikood" - -#: gtk/gtkcellrendereraccel.c:193 -msgid "Accelerator Mode" -msgstr "Kiirklahvide režiim" - -#: gtk/gtkcellrendereraccel.c:194 -msgid "The type of accelerators" -msgstr "Kiirklahvide liik" - -#: gtk/gtkcellrenderer.c:226 msgid "mode" msgstr "" -#: gtk/gtkcellrenderer.c:227 msgid "Editable mode of the CellRenderer" msgstr "" -#: gtk/gtkcellrenderer.c:235 msgid "visible" msgstr "nähtav" -#: gtk/gtkcellrenderer.c:236 msgid "Display the cell" msgstr "" -#: gtk/gtkcellrenderer.c:243 msgid "Display the cell sensitive" msgstr "" -#: gtk/gtkcellrenderer.c:250 msgid "xalign" msgstr "x-joondus" -#: gtk/gtkcellrenderer.c:251 msgid "The x-align" msgstr "X-joondus" -#: gtk/gtkcellrenderer.c:260 msgid "yalign" msgstr "y-joondus" -#: gtk/gtkcellrenderer.c:261 msgid "The y-align" msgstr "Y-joondus" -#: gtk/gtkcellrenderer.c:270 msgid "xpad" msgstr "" -#: gtk/gtkcellrenderer.c:271 msgid "The xpad" msgstr "" -#: gtk/gtkcellrenderer.c:280 msgid "ypad" msgstr "" -#: gtk/gtkcellrenderer.c:281 msgid "The ypad" msgstr "" -#: gtk/gtkcellrenderer.c:290 msgid "width" msgstr "laius" -#: gtk/gtkcellrenderer.c:291 msgid "The fixed width" msgstr "Fikseeritud laius" -#: gtk/gtkcellrenderer.c:300 msgid "height" msgstr "kõrgus" -#: gtk/gtkcellrenderer.c:301 msgid "The fixed height" msgstr "Fikseeritud kõrgus" -#: gtk/gtkcellrenderer.c:310 msgid "Is Expander" msgstr "On laiendaja" -#: gtk/gtkcellrenderer.c:311 msgid "Row has children" msgstr "Rida omab alamridu" -#: gtk/gtkcellrenderer.c:319 msgid "Is Expanded" msgstr "On laiendatud" -#: gtk/gtkcellrenderer.c:320 msgid "Row is an expander row, and is expanded" msgstr "Rida on laiendaja ja on ka laiendatud olekus" -#: gtk/gtkcellrenderer.c:327 msgid "Cell background color name" msgstr "Lahtri taustavärvi nimi" -#: gtk/gtkcellrenderer.c:328 msgid "Cell background color as a string" msgstr "Lahtri taustavärv stringina" -#: gtk/gtkcellrenderer.c:335 msgid "Cell background color" msgstr "Lahtri taustavärv" -#: gtk/gtkcellrenderer.c:336 msgid "Cell background color as a GdkColor" msgstr "Lahtri taustavärv GdkColor vormingus" -#: gtk/gtkcellrenderer.c:343 msgid "Editing" msgstr "" -#: gtk/gtkcellrenderer.c:344 msgid "Whether the cell renderer is currently in editing mode" msgstr "" -#: gtk/gtkcellrenderer.c:352 msgid "Cell background set" msgstr "" -#: gtk/gtkcellrenderer.c:353 msgid "Whether this tag affects the cell background color" msgstr "" -#: gtk/gtkcellrenderercombo.c:110 +msgid "Accelerator key" +msgstr "Kiirklahv" + +msgid "The keyval of the accelerator" +msgstr "Kiirklahvi väärtus" + +msgid "Accelerator modifiers" +msgstr "Kiirklahvide muuteklahvid" + +msgid "The modifier mask of the accelerator" +msgstr "Kiirklahvide muuteklahvi mask" + +msgid "Accelerator keycode" +msgstr "Kiirklahvi kood" + +msgid "The hardware keycode of the accelerator" +msgstr "Kiirklahvi raudvaraline klahvikood" + +msgid "Accelerator Mode" +msgstr "Kiirklahvide režiim" + +msgid "The type of accelerators" +msgstr "Kiirklahvide liik" + msgid "Model" msgstr "Mudel" -#: gtk/gtkcellrenderercombo.c:111 msgid "The model containing the possible values for the combo box" msgstr "" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 msgid "Text Column" msgstr "Tekstiveerg" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 msgid "A column in the data source model to get the strings from" msgstr "" -#: gtk/gtkcellrenderercombo.c:151 msgid "Has Entry" msgstr "" -#: gtk/gtkcellrenderercombo.c:152 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 msgid "Size" msgstr "Suurus" -#: gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 msgid "Icon" msgstr "Ikoon" -#: gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "Edenemisriba väärtus" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 msgid "Text" msgstr "Tekst" -#: gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "Edenemisriba tekst" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 msgid "Pulse" msgstr "" -#: gtk/gtkcellrendererprogress.c:169 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." msgstr "" -#: gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "Teksti X-joondus" -#: gtk/gtkcellrendererprogress.c:186 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -1368,271 +979,174 @@ msgstr "" "Teksti rõhtjoondus: 0 - vasakult, 1 - paremalt. Vasakult paremale (RTL) " "paigustuste korral vastupidi." -#: gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "Teksti Y-joondus" -#: gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "Teksti püstjoondus: 0 - ülevalt, 1 - alt." -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 -msgid "Inverted" -msgstr "Pööratud" +msgid "Orientation" +msgstr "Asend" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 -#, fuzzy -msgid "Invert the direction in which the progress bar grows" +msgid "Orientation and growth direction of the progress bar" msgstr "Edenemisriba ja selle kasvamise suund" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 msgid "Adjustment" msgstr "Joondus" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 -msgid "The adjustment that holds the value of the spin button" +msgid "The adjustment that holds the value of the spinbutton." msgstr "" -#: gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 msgid "The acceleration rate when you hold down a button" msgstr "" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 msgid "Digits" msgstr "Komakohti" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 msgid "The number of decimal places to display" msgstr "Kuvatavate komakohtade arv" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 -msgid "Active" -msgstr "Aktiivne" - -#: gtk/gtkcellrendererspinner.c:120 -#, fuzzy -msgid "Whether the spinner is active (ie. shown) in the cell" -msgstr "Kas valitud kirjatüübi laadi näidatakse sildil või mitte" - -#: gtk/gtkcellrendererspinner.c:140 -#, fuzzy -msgid "Pulse of the spinner" -msgstr "Printeri nimi" - -#: gtk/gtkcellrendererspinner.c:154 -msgid "The GtkIconSize value that specifies the size of the rendered spinner" -msgstr "" - -#: gtk/gtkcellrenderertext.c:232 msgid "Text to render" msgstr "" -#: gtk/gtkcellrenderertext.c:239 msgid "Markup" msgstr "" -#: gtk/gtkcellrenderertext.c:240 msgid "Marked up text to render" msgstr "" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 msgid "Attributes" msgstr "Atribuudid" -#: gtk/gtkcellrenderertext.c:248 msgid "A list of style attributes to apply to the text of the renderer" msgstr "" -#: gtk/gtkcellrenderertext.c:255 msgid "Single Paragraph Mode" msgstr "Ühe lõigu stiil" -#: gtk/gtkcellrenderertext.c:256 -#, fuzzy -msgid "Whether to keep all text in a single paragraph" +msgid "Whether or not to keep all text in a single paragraph" msgstr "Kas kogu teksti hoitakse ühe lõiguna" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 msgid "Background color name" msgstr "Taustavärvi nimi" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "Taustavärv stringina" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 msgid "Background color" msgstr "Taustavärv" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 msgid "Background color as a GdkColor" msgstr "Taustavärv GdkColor väärtusena" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "Esiplaanivärvi nimi" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "Esiplaanivärv stringina" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "Esiplaanivärv" -#: gtk/gtkcellrenderertext.c:289 msgid "Foreground color as a GdkColor" msgstr "Esiplaanivärv GdkColor väärtusena" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 msgid "Editable" msgstr "Muudetav" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 msgid "Whether the text can be modified by the user" msgstr "Kas tekst on kasutaja poolt muudetav" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 msgid "Font" msgstr "Kirjatüüp" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "Kirjatüübi kirjeldus PangoFontDescription struktuurina" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 msgid "Font family" msgstr "Kirjaperekond" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "Kirjaperekonna nimi (näiteks Sans, Helvetica, Times, Monospace)" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 msgid "Font style" msgstr "Kirja laad" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 msgid "Font variant" msgstr "" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 msgid "Font weight" msgstr "Kirja paksus" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "Kirja venitus" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 msgid "Font size" msgstr "Kirjasuurus" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 msgid "Font points" msgstr "Kirjapunkte" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "Kirja suurus punktides" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 msgid "Font scale" msgstr "" -#: gtk/gtkcellrenderertext.c:388 msgid "Font scaling factor" msgstr "" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 msgid "Rise" msgstr "" -#: gtk/gtkcellrenderertext.c:398 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "Läbikriipsutus" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "Kas tekst on läbi kriipsutatud või mitte" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 msgid "Underline" msgstr "Allajoonimine" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "Teksti allajoonimise stiil" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 msgid "Language" msgstr "Keel" -#: gtk/gtkcellrenderertext.c:427 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " "probably don't need it" msgstr "" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 msgid "Ellipsize" msgstr "" -#: gtk/gtkcellrenderertext.c:448 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" msgstr "" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 msgid "Width In Characters" msgstr "Laius märkides" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 msgid "The desired width of the label, in characters" msgstr "Sildi soovitud laius märkides" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 -msgid "Maximum Width In Characters" -msgstr "Maksimaalne laius märkides" - -#: gtk/gtkcellrenderertext.c:493 -#, fuzzy -msgid "The maximum width of the cell, in characters" -msgstr "Sildi suurim soovitud laius märkides" - -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "Murdmisrežiim" -#: gtk/gtkcellrenderertext.c:512 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1640,601 +1154,520 @@ msgstr "" "Kuidas murda teksti mitmele reale juhul, kui tekstiväli pole terve stringi " "kuvamiseks piisavalt lai." -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 msgid "Wrap width" msgstr "Murdmise laius" -#: gtk/gtkcellrenderertext.c:532 msgid "The width at which the text is wrapped" msgstr "Laius, kustmaalt teksti murtakse" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 msgid "Alignment" msgstr "Joondus" -#: gtk/gtkcellrenderertext.c:553 msgid "How to align the lines" msgstr "Kuidas jooni joondatakse" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 msgid "Background set" msgstr "" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 msgid "Editability set" msgstr "" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 msgid "Font family set" msgstr "" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 msgid "Font style set" msgstr "" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 msgid "Font size set" msgstr "" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 msgid "Rise set" msgstr "" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 msgid "Underline set" msgstr "" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 msgid "Language set" msgstr "" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "" -#: gtk/gtkcellrenderertext.c:621 msgid "Ellipsize set" msgstr "" -#: gtk/gtkcellrenderertext.c:622 msgid "Whether this tag affects the ellipsize mode" msgstr "" -#: gtk/gtkcellrenderertext.c:625 msgid "Align set" msgstr "" -#: gtk/gtkcellrenderertext.c:626 msgid "Whether this tag affects the alignment mode" msgstr "" -#: gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "" -#: gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "" -#: gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "" -#: gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "" -#: gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "Aktiveeritav" -#: gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "" -#: gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "" -#: gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "" -#: gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "Näidiku suurus" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 msgid "Size of check or radio indicator" msgstr "Märkeruudu või raadionäidiku suurus" -#: gtk/gtkcellview.c:200 msgid "CellView model" msgstr "LahtriVaate (CellView) mudel" -#: gtk/gtkcellview.c:201 msgid "The model for cell view" msgstr "Lahtrivaate mudel" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 msgid "Indicator Size" msgstr "Näidiku suurus" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 msgid "Indicator Spacing" msgstr "Ruum näidiku ümber" -#: gtk/gtkcheckbutton.c:80 msgid "Spacing around check or radio indicator" msgstr "Ruum märkeruudu või raadionäidiku ümber" -#: gtk/gtkcheckmenuitem.c:106 +msgid "Active" +msgstr "Aktiivne" + msgid "Whether the menu item is checked" msgstr "" -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 msgid "Inconsistent" msgstr "" -#: gtk/gtkcheckmenuitem.c:114 msgid "Whether to display an \"inconsistent\" state" msgstr "" -#: gtk/gtkcheckmenuitem.c:121 msgid "Draw as radio menu item" msgstr "" -#: gtk/gtkcheckmenuitem.c:122 msgid "Whether the menu item looks like a radio menu item" msgstr "" -#: gtk/gtkcolorbutton.c:159 msgid "Use alpha" msgstr "Läbipaistvuse kasutamine" -#: gtk/gtkcolorbutton.c:160 -#, fuzzy -msgid "Whether to give the color an alpha value" +msgid "Whether or not to give the color an alpha value" msgstr "Kas värvus on läbipaistev või mitte" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 msgid "Title" msgstr "Pealkiri" -#: gtk/gtkcolorbutton.c:175 msgid "The title of the color selection dialog" msgstr "Värvivaliku dialoogiakna pealkiri" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 msgid "Current Color" msgstr "Praegune värvus" -#: gtk/gtkcolorbutton.c:190 msgid "The selected color" msgstr "Valitud värvus" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 msgid "Current Alpha" msgstr "Praegune läbipaistvus" -#: gtk/gtkcolorbutton.c:205 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "Läbipaistvuse tase (0 - täiesti läbipaistev, 65535 - täiesti läbipaistmatu)" -#: gtk/gtkcolorsel.c:309 msgid "Has Opacity Control" msgstr "Koos katvuse määramisega" -#: gtk/gtkcolorsel.c:310 msgid "Whether the color selector should allow setting opacity" msgstr "Kas värvuse valijaga on võimalik katvust määrata või mitte" -#: gtk/gtkcolorsel.c:316 msgid "Has palette" msgstr "Paletiga" -#: gtk/gtkcolorsel.c:317 msgid "Whether a palette should be used" msgstr "Kas paletti kasutatakse või mitte" -#: gtk/gtkcolorsel.c:324 msgid "The current color" msgstr "Praegune värvus" -#: gtk/gtkcolorsel.c:331 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "Praegune katvuse väärtus (0 on täiesti läbipaistev, 65535 on täiesti " "läbipaistmatu)" -#: gtk/gtkcolorsel.c:345 msgid "Custom palette" msgstr "Kohandatud palett" -#: gtk/gtkcolorsel.c:346 msgid "Palette to use in the color selector" msgstr "Värvusevalikus kasutatav palett" -#: gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "Värvuse valik" -#: gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "Dialoogiga põimitud värvusevalik." -#: gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "" -#: gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "Teatedialoogi nupp Olgu." -#: gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "Loobumise nupp" -#: gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "Teatedialoogi nupp Loobu." -#: gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "Abinupp" -#: gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "Dialoogi abinupp." -#: gtk/gtkcombobox.c:683 +msgid "Enable arrow keys" +msgstr "Nooleklahvide lubamine" + +msgid "Whether the arrow keys move through the list of items" +msgstr "Kas nooleklahve saab kasutada kirjete loendis liikumiseks" + +msgid "Always enable arrows" +msgstr "Nooled on alati lubatud" + +msgid "Obsolete property, ignored" +msgstr "Iganenud omadus, mida eiratakse" + +msgid "Case sensitive" +msgstr "Tõstutundlik" + +msgid "Whether list item matching is case sensitive" +msgstr "Kas vastav nimekirja kirje on tõstutundlik või mitte" + +msgid "Allow empty" +msgstr "" + +msgid "Whether an empty value may be entered in this field" +msgstr "" + +msgid "Value in list" +msgstr "" + +msgid "Whether entered values must already be present in the list" +msgstr "" + msgid "ComboBox model" msgstr "" -#: gtk/gtkcombobox.c:684 msgid "The model for the combo box" msgstr "" -#: gtk/gtkcombobox.c:701 msgid "Wrap width for laying out the items in a grid" msgstr "" -#: gtk/gtkcombobox.c:723 msgid "Row span column" msgstr "" -#: gtk/gtkcombobox.c:724 msgid "TreeModel column containing the row span values" msgstr "" -#: gtk/gtkcombobox.c:745 msgid "Column span column" msgstr "" -#: gtk/gtkcombobox.c:746 msgid "TreeModel column containing the column span values" msgstr "" -#: gtk/gtkcombobox.c:767 msgid "Active item" msgstr "Aktiivne element" -#: gtk/gtkcombobox.c:768 msgid "The item which is currently active" msgstr "Hetkel aktiivne element" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 msgid "Add tearoffs to menus" msgstr "" -#: gtk/gtkcombobox.c:788 msgid "Whether dropdowns should have a tearoff menu item" msgstr "" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 msgid "Has Frame" msgstr "Raamiga" -#: gtk/gtkcombobox.c:804 msgid "Whether the combo box draws a frame around the child" msgstr "Kas valikukast joonistab lapskirje ümber raami või mitte" -#: gtk/gtkcombobox.c:812 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "" "Kas valikukast fokuseeritakse sellel hiirega klõpsamise korral või mitte" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 msgid "Tearoff Title" msgstr "Lahtirebimise pealkiri" -#: gtk/gtkcombobox.c:828 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "Hüpikakna lahtirebimise korral aknahalduri poolt kuvatav pealkiri" -#: gtk/gtkcombobox.c:845 msgid "Popup shown" msgstr "" -#: gtk/gtkcombobox.c:846 msgid "Whether the combo's dropdown is shown" msgstr "" -#: gtk/gtkcombobox.c:862 msgid "Button Sensitivity" msgstr "Nupu tundlikkus" -#: gtk/gtkcombobox.c:863 #, fuzzy msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Kas nupp saab selle hiirega klõpsamisel fookuse või mitte" -#: gtk/gtkcombobox.c:870 msgid "Appears as list" msgstr "" -#: gtk/gtkcombobox.c:871 msgid "Whether dropdowns should look like lists rather than menus" msgstr "" -#: gtk/gtkcombobox.c:887 msgid "Arrow Size" msgstr "Noole suurus" -#: gtk/gtkcombobox.c:888 msgid "The minimum size of the arrow in the combo box" msgstr "Ripploendis oleva noole väikseim võimalik suurus" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 msgid "Shadow type" msgstr "Varju liik" -#: gtk/gtkcombobox.c:904 msgid "Which kind of shadow to draw around the combo box" msgstr "Mis liiku vari joonistatakse ripploendi ümber" -#: gtk/gtkcontainer.c:259 msgid "Resize mode" msgstr "Suuruse muutmise režiim" -#: gtk/gtkcontainer.c:260 msgid "Specify how resize events are handled" msgstr "Kuidas suuruse muutumise sündmusi käsitletakse" -#: gtk/gtkcontainer.c:267 msgid "Border width" msgstr "Äärise laius" -#: gtk/gtkcontainer.c:268 msgid "The width of the empty border outside the containers children" msgstr "" -#: gtk/gtkcontainer.c:276 msgid "Child" msgstr "" -#: gtk/gtkcontainer.c:277 msgid "Can be used to add a new child to the container" msgstr "" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +msgid "Curve type" +msgstr "Kaare liik" + +msgid "Is this curve linear, spline interpolated, or free-form" +msgstr "" + +msgid "Minimum X" +msgstr "Väikseim X" + +msgid "Minimum possible value for X" +msgstr "X-i väikseim võimalik väärtus" + +msgid "Maximum X" +msgstr "Suurim X" + +msgid "Maximum possible X value" +msgstr "X-i suurim võimalik väärtus" + +msgid "Minimum Y" +msgstr "Väikseim Y" + +msgid "Minimum possible value for Y" +msgstr "Y-i väikseim võimalik väärtus" + +msgid "Maximum Y" +msgstr "Suurim Y" + +msgid "Maximum possible value for Y" +msgstr "Y-i suurim võimalik väärtus" + +msgid "Has separator" +msgstr "Omab eraldajat" + +msgid "The dialog has a separator bar above its buttons" +msgstr "Kas dialoogil on nuppude kohal eraldaja" + msgid "Content area border" msgstr "Sisupiirkonna ääris" -#: gtk/gtkdialog.c:166 msgid "Width of border around the main dialog area" msgstr "Ümber peadialoogi piirkonna oleva äärise laius" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 msgid "Content area spacing" msgstr "" -#: gtk/gtkdialog.c:184 msgid "Spacing between elements of the main dialog area" msgstr "" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 msgid "Button spacing" msgstr "Nupu kaugus" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 msgid "Spacing between buttons" msgstr "Nuppude vahel olev ruum" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 msgid "Action area border" msgstr "" -#: gtk/gtkdialog.c:201 msgid "Width of border around the button area at the bottom of the dialog" msgstr "" -#: gtk/gtkentry.c:635 msgid "Text Buffer" msgstr "" -#: gtk/gtkentry.c:636 msgid "Text buffer object which actually stores entry text" msgstr "" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 msgid "Cursor Position" msgstr "Kursori asukoht" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 msgid "The current position of the insertion cursor in chars" msgstr "Sisestuskursori asukoht märkide vahel" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 msgid "Selection Bound" msgstr "Valiku piir" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "Kursoriga valitud valiku teise otsa asukoht märkide vahel" -#: gtk/gtkentry.c:664 msgid "Whether the entry contents can be edited" msgstr "Kas kirje sisu saab muuta" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Suurim pikkus" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "" "Suurim märkide arv sellel väljal. Null tähendab, et pikkus pole piiratud" -#: gtk/gtkentry.c:680 msgid "Visibility" msgstr "Nähtavus" -#: gtk/gtkentry.c:681 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" msgstr "" -#: gtk/gtkentry.c:689 msgid "FALSE removes outside bevel from entry" msgstr "" -#: gtk/gtkentry.c:697 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 msgid "Invisible character" msgstr "Nähtamatu märk" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "Märk, mida kasutatakse välja sisu peitmiseks (nö \"paroolisisestamise " "režiimis\")" -#: gtk/gtkentry.c:712 msgid "Activates default" msgstr "" -#: gtk/gtkentry.c:713 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" msgstr "" -#: gtk/gtkentry.c:719 msgid "Width in chars" msgstr "Laius märkides" -#: gtk/gtkentry.c:720 msgid "Number of characters to leave space for in the entry" msgstr "Kirje jaoks jäetava ruumi suurus märkides" -#: gtk/gtkentry.c:729 msgid "Scroll offset" msgstr "" -#: gtk/gtkentry.c:730 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "" -#: gtk/gtkentry.c:740 msgid "The contents of the entry" msgstr "" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 msgid "X align" msgstr "X-joondus" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2242,524 +1675,395 @@ msgstr "" "Rõhtne joondus: 0 - vasakult, 1 - paremalt. RTL (vasakult paremale) " "paigustuste korral vastupidi." -#: gtk/gtkentry.c:772 msgid "Truncate multiline" msgstr "" -#: gtk/gtkentry.c:773 msgid "Whether to truncate multiline pastes to one line." msgstr "" -#: gtk/gtkentry.c:789 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 msgid "Overwrite mode" msgstr "Ülekirjutamine" -#: gtk/gtkentry.c:805 #, fuzzy msgid "Whether new text overwrites existing text" msgstr "Kas sisestatud tekst kirjutab olemasoleva teksti üle või mitte" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Teksti pikkus" -#: gtk/gtkentry.c:820 msgid "Length of the text currently in the entry" msgstr "" -#: gtk/gtkentry.c:835 -#, fuzzy -msgid "Invisible character set" -msgstr "Nähtamatu märk" +msgid "Invisible char set" +msgstr "Nähtamatu märk määratud" -#: gtk/gtkentry.c:836 #, fuzzy -msgid "Whether the invisible character has been set" +msgid "Whether the invisible char has been set" msgstr "Kas ikooni suuruse omadus on määratud või mitte" -#: gtk/gtkentry.c:854 msgid "Caps Lock warning" msgstr "" -#: gtk/gtkentry.c:855 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "" -#: gtk/gtkentry.c:869 #, fuzzy msgid "Progress Fraction" msgstr "Programmi versioon" -#: gtk/gtkentry.c:870 #, fuzzy msgid "The current fraction of the task that's been completed" msgstr "Salve suund" -#: gtk/gtkentry.c:887 msgid "Progress Pulse Step" msgstr "" -#: gtk/gtkentry.c:888 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" msgstr "" -#: gtk/gtkentry.c:904 msgid "Primary pixbuf" msgstr "" -#: gtk/gtkentry.c:905 msgid "Primary pixbuf for the entry" msgstr "" -#: gtk/gtkentry.c:919 #, fuzzy msgid "Secondary pixbuf" msgstr "Teisene tekst" -#: gtk/gtkentry.c:920 msgid "Secondary pixbuf for the entry" msgstr "" -#: gtk/gtkentry.c:934 msgid "Primary stock ID" msgstr "" -#: gtk/gtkentry.c:935 msgid "Stock ID for primary icon" msgstr "" -#: gtk/gtkentry.c:949 #, fuzzy msgid "Secondary stock ID" msgstr "Teisene tekst" -#: gtk/gtkentry.c:950 msgid "Stock ID for secondary icon" msgstr "" -#: gtk/gtkentry.c:964 #, fuzzy msgid "Primary icon name" msgstr "Ikooninimede loetelu" -#: gtk/gtkentry.c:965 msgid "Icon name for primary icon" msgstr "" -#: gtk/gtkentry.c:979 #, fuzzy msgid "Secondary icon name" msgstr "Teisene tekst" -#: gtk/gtkentry.c:980 msgid "Icon name for secondary icon" msgstr "" -#: gtk/gtkentry.c:994 msgid "Primary GIcon" msgstr "" -#: gtk/gtkentry.c:995 #, fuzzy msgid "GIcon for primary icon" msgstr "Selle akna ikoon" -#: gtk/gtkentry.c:1009 #, fuzzy msgid "Secondary GIcon" msgstr "Teisene tekst" -#: gtk/gtkentry.c:1010 msgid "GIcon for secondary icon" msgstr "" -#: gtk/gtkentry.c:1024 #, fuzzy msgid "Primary storage type" msgstr "Lehekülje liik" -#: gtk/gtkentry.c:1025 msgid "The representation being used for primary icon" msgstr "" -#: gtk/gtkentry.c:1040 #, fuzzy msgid "Secondary storage type" msgstr "Teisene tekst" -#: gtk/gtkentry.c:1041 msgid "The representation being used for secondary icon" msgstr "" -#: gtk/gtkentry.c:1062 msgid "Primary icon activatable" msgstr "" -#: gtk/gtkentry.c:1063 #, fuzzy msgid "Whether the primary icon is activatable" msgstr "Kas tegevus on lubatud või mitte." -#: gtk/gtkentry.c:1083 #, fuzzy msgid "Secondary icon activatable" msgstr "Sekundaarse kursori värvus" -#: gtk/gtkentry.c:1084 #, fuzzy msgid "Whether the secondary icon is activatable" msgstr "Kas tegevus on lubatud või mitte." -#: gtk/gtkentry.c:1106 #, fuzzy msgid "Primary icon sensitive" msgstr "Tõstutundlik" -#: gtk/gtkentry.c:1107 #, fuzzy msgid "Whether the primary icon is sensitive" msgstr "Kas vastav nimekirja kirje on tõstutundlik või mitte" -#: gtk/gtkentry.c:1128 #, fuzzy msgid "Secondary icon sensitive" msgstr "Teisene tekst" -#: gtk/gtkentry.c:1129 #, fuzzy msgid "Whether the secondary icon is sensitive" msgstr "Kas tegevus on lubatud või mitte." -#: gtk/gtkentry.c:1145 #, fuzzy msgid "Primary icon tooltip text" msgstr "Tõstutundlik" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 #, fuzzy msgid "The contents of the tooltip on the primary icon" msgstr "Selle vidina vihje sisu" -#: gtk/gtkentry.c:1162 #, fuzzy msgid "Secondary icon tooltip text" msgstr "Sekundaarse kursori värvus" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 #, fuzzy msgid "The contents of the tooltip on the secondary icon" msgstr "Selle vidina vihje sisu" -#: gtk/gtkentry.c:1181 #, fuzzy msgid "Primary icon tooltip markup" msgstr "Ikooninimede loetelu" -#: gtk/gtkentry.c:1200 #, fuzzy msgid "Secondary icon tooltip markup" msgstr "Teisene tekst" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 #, fuzzy msgid "IM module" msgstr "GTK moodulid" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 #, fuzzy msgid "Which IM module should be used" msgstr "Kas paletti kasutatakse või mitte" -#: gtk/gtkentry.c:1235 #, fuzzy msgid "Icon Prelight" msgstr "Kõrgus" -#: gtk/gtkentry.c:1236 #, fuzzy msgid "Whether activatable icons should prelight when hovered" msgstr "Kas sakke näidatakse või mitte" -#: gtk/gtkentry.c:1249 #, fuzzy msgid "Progress Border" msgstr "Sortimisjärjestus" -#: gtk/gtkentry.c:1250 #, fuzzy msgid "Border around the progress bar" msgstr "Edenemisriba tekst" -#: gtk/gtkentry.c:1742 msgid "Border between text and frame." msgstr "Teksti ja raami vahel asuv ääris." -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 +msgid "State Hint" +msgstr "Olekusvihje" + +msgid "Whether to pass a proper state when drawing shadow or background" +msgstr "" + msgid "Select on focus" msgstr "Valimine fokuseerimisel" -#: gtk/gtkentry.c:1748 msgid "Whether to select the contents of an entry when it is focused" msgstr "Kas kirje fokuseerimisel tuleb kirje sisu valida või mitte" -#: gtk/gtkentry.c:1762 msgid "Password Hint Timeout" msgstr "Paroolivihje ajapiirang" -#: gtk/gtkentry.c:1763 msgid "How long to show the last input character in hidden entries" msgstr "" -#: gtk/gtkentrybuffer.c:353 #, fuzzy msgid "The contents of the buffer" msgstr "Sildi tekst" -#: gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "" -#: gtk/gtkentrycompletion.c:280 msgid "Completion Model" msgstr "" -#: gtk/gtkentrycompletion.c:281 msgid "The model to find matches in" msgstr "" -#: gtk/gtkentrycompletion.c:287 msgid "Minimum Key Length" msgstr "Minimaalne võtmepikkus" -#: gtk/gtkentrycompletion.c:288 msgid "Minimum length of the search key in order to look up matches" msgstr "" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 msgid "Text column" msgstr "" -#: gtk/gtkentrycompletion.c:305 msgid "The column of the model containing the strings." msgstr "" -#: gtk/gtkentrycompletion.c:324 msgid "Inline completion" msgstr "" -#: gtk/gtkentrycompletion.c:325 msgid "Whether the common prefix should be inserted automatically" msgstr "" -#: gtk/gtkentrycompletion.c:339 msgid "Popup completion" msgstr "" -#: gtk/gtkentrycompletion.c:340 msgid "Whether the completions should be shown in a popup window" msgstr "" -#: gtk/gtkentrycompletion.c:355 msgid "Popup set width" msgstr "" -#: gtk/gtkentrycompletion.c:356 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "" -#: gtk/gtkentrycompletion.c:374 msgid "Popup single match" msgstr "" -#: gtk/gtkentrycompletion.c:375 msgid "If TRUE, the popup window will appear for a single match." msgstr "" -#: gtk/gtkentrycompletion.c:389 msgid "Inline selection" msgstr "" -#: gtk/gtkentrycompletion.c:390 msgid "Your description here" msgstr "Siia tuleb kirjeldus" -#: gtk/gtkeventbox.c:93 msgid "Visible Window" msgstr "Nähtav aken" -#: gtk/gtkeventbox.c:94 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." msgstr "" -#: gtk/gtkeventbox.c:100 msgid "Above child" msgstr "" -#: gtk/gtkeventbox.c:101 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." msgstr "" -#: gtk/gtkexpander.c:201 msgid "Expanded" msgstr "Laiendatud" -#: gtk/gtkexpander.c:202 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Las laiendaja on lapsvidina näitamiseks avatud või mitte" -#: gtk/gtkexpander.c:210 msgid "Text of the expander's label" msgstr "Laiendaja sildi tekst" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 msgid "Use markup" msgstr "" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "" -#: gtk/gtkexpander.c:234 msgid "Space to put between the label and the child" msgstr "" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 msgid "Label widget" msgstr "Sildividin" -#: gtk/gtkexpander.c:244 msgid "A widget to display in place of the usual expander label" msgstr "" -#: gtk/gtkexpander.c:251 -#, fuzzy -msgid "Label fill" -msgstr "Silt" - -#: gtk/gtkexpander.c:252 -#, fuzzy -msgid "Whether the label widget should fill all available horizontal space" -msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" - -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 msgid "Expander Size" msgstr "Laiendaja suurus" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 msgid "Size of the expander arrow" msgstr "Laiendaja noole suurus" -#: gtk/gtkexpander.c:268 msgid "Spacing around expander arrow" msgstr "Laiendaja noole ümber olev ruum" -#: gtk/gtkfilechooserbutton.c:368 -msgid "Dialog" -msgstr "Dialoog" - -#: gtk/gtkfilechooserbutton.c:369 -msgid "The file chooser dialog to use." -msgstr "Failivalimise dialoog." - -#: gtk/gtkfilechooserbutton.c:400 -msgid "The title of the file chooser dialog." -msgstr "Failivalimise dialoogi pealkiri" - -#: gtk/gtkfilechooserbutton.c:414 -msgid "The desired width of the button widget, in characters." -msgstr "Nupuvidina soovitud laius märkides" - -#: gtk/gtkfilechooser.c:740 msgid "Action" msgstr "Tegevus" -#: gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "Failivalija poolt teostatava operatsiooni liik." -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +msgid "File System Backend" +msgstr "Failisüsteemi taustaprogramm" + +msgid "Name of file system backend to use" +msgstr "Kasutatava failisüsteemi taustaprogrammi nimi" + msgid "Filter" msgstr "Filter" -#: gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "Hetkel aktiivne filter failivaliku kuva filtreerimiseks" -#: gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "Ainult kohalikud" -#: gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "" "Kas valitavaid faile peab piiritlema kohalike file: URL-idega või mitte" -#: gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "Eelvaatevidin" -#: gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." msgstr "Rakenduse poolt toetatud vidin kohandatud vaadete jaoks." -#: gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "Eelvaatevidin aktiivne" -#: gtk/gtkfilechooser.c:766 msgid "" "Whether the application supplied widget for custom previews should be shown." msgstr "Kas kohandatud vaadete eelvaatevidinat näidatakse või mitte." -#: gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "Eelvaate silt" -#: gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." msgstr "" "Kas eelvaate silti koos eelvaadeldava faili nimega kuvatakse või mitte." -#: gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "" -#: gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "" -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "Mitmikvalik" -#: gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "Kas mitme faili valimine on lubatud või mitte" -#: gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "Peidetute näitamine" -#: gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "Kas peidetud faile ja katalooge näidatakse või mitte" -#: gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "Ülekirjutamise kinnitus" -#: gtk/gtkfilechooser.c:807 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." @@ -2767,13 +2071,15 @@ msgstr "" "Kas failivalija peab salvestamisel küsima faili ülekirjutamise kohta " "kinnitust või mitte." -#: gtk/gtkfilechooser.c:823 #, fuzzy -msgid "Allow folder creation" +#| msgid "Show file operations" +msgid "Allow folders creation" msgstr "Näita failitegevusi" -#: gtk/gtkfilechooser.c:824 #, fuzzy +#| msgid "" +#| "Whether a file chooser in save mode will present an overwrite " +#| "confirmation dialog if necessary." msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." @@ -2781,991 +2087,804 @@ msgstr "" "Kas failivalija peab salvestamisel küsima faili ülekirjutamise kohta " "kinnitust või mitte." -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +msgid "Dialog" +msgstr "Dialoog" + +msgid "The file chooser dialog to use." +msgstr "Failivalimise dialoog." + +msgid "The title of the file chooser dialog." +msgstr "Failivalimise dialoogi pealkiri" + +msgid "The desired width of the button widget, in characters." +msgstr "Nupuvidina soovitud laius märkides" + +msgid "Filename" +msgstr "Failinimi" + +msgid "The currently selected filename" +msgstr "Hetkel valitud faili nimi" + +msgid "Show file operations" +msgstr "Näita failitegevusi" + +msgid "Whether buttons for creating/manipulating files should be displayed" +msgstr "" + msgid "X position" msgstr "X-asukoht" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 msgid "X position of child widget" msgstr "Alamvidina asukoht X-teljel" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 msgid "Y position" msgstr "Y-asukoht" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 msgid "Y position of child widget" msgstr "Alamvidina asukoht Y-teljel" -#: gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "Kirjatüübi valiku dialoogiakna pealkiri" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 msgid "Font name" msgstr "Kirjatüübi nimi" -#: gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "Valitud kirjatüübi nimi" -#: gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "Kirjatüüp sildil" -#: gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" msgstr "Kas silt joonistatakse valitud kirjatüübiga või mitte" -#: gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "Suurus sildil" -#: gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "Kas silt joonistatakse valitud suurusega või mitte" -#: gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "Laadi näitamine" -#: gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "Kas valitud kirjatüübi laadi näidatakse sildil või mitte" -#: gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "Suuruse näitamine" -#: gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "Kas valitud kirjatüübi suurust näidatakse sildil või mitte" -#: gtk/gtkfontsel.c:224 #, fuzzy msgid "The string that represents this font" msgstr "Seda kirjatüüpi esitav X-string" -#: gtk/gtkfontsel.c:230 +msgid "The GdkFont that is currently selected" +msgstr "Hetkel valitud GdkFont" + msgid "Preview text" msgstr "Näidistekst" -#: gtk/gtkfontsel.c:231 msgid "The text to display in order to demonstrate the selected font" msgstr "" -#: gtk/gtkframe.c:131 msgid "Text of the frame's label" msgstr "Raami sildi tekst" -#: gtk/gtkframe.c:138 msgid "Label xalign" msgstr "Sildi X-joondus" -#: gtk/gtkframe.c:139 msgid "The horizontal alignment of the label" msgstr "Sildi rõhtne joondamine" -#: gtk/gtkframe.c:147 msgid "Label yalign" msgstr "Sildi Y-joondus" -#: gtk/gtkframe.c:148 msgid "The vertical alignment of the label" msgstr "Sildi püstine joondamine" -#: gtk/gtkframe.c:156 +msgid "Deprecated property, use shadow_type instead" +msgstr "" + msgid "Frame shadow" msgstr "Raami vari" -#: gtk/gtkframe.c:157 msgid "Appearance of the frame border" msgstr "Raami äärise välimus" -#: gtk/gtkframe.c:166 msgid "A widget to display in place of the usual frame label" msgstr "" -#: gtk/gtkhandlebox.c:183 msgid "Appearance of the shadow that surrounds the container" msgstr "Konteineri ümber oleva varju välimus" -#: gtk/gtkhandlebox.c:191 msgid "Handle position" msgstr "Sanga asukoht" -#: gtk/gtkhandlebox.c:192 msgid "Position of the handle relative to the child widget" msgstr "Sanga asukoht lapsvidina suhtes" -#: gtk/gtkhandlebox.c:200 msgid "Snap edge" msgstr "" -#: gtk/gtkhandlebox.c:201 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" msgstr "" -#: gtk/gtkhandlebox.c:209 msgid "Snap edge set" msgstr "" -#: gtk/gtkhandlebox.c:210 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" msgstr "" -#: gtk/gtkhandlebox.c:217 msgid "Child Detached" msgstr "" -#: gtk/gtkhandlebox.c:218 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." msgstr "" -#: gtk/gtkiconview.c:550 msgid "Selection mode" msgstr "Valikurežiim" -#: gtk/gtkiconview.c:551 msgid "The selection mode" msgstr "Valikurežiim" -#: gtk/gtkiconview.c:569 msgid "Pixbuf column" msgstr "" -#: gtk/gtkiconview.c:570 msgid "Model column used to retrieve the icon pixbuf from" msgstr "" -#: gtk/gtkiconview.c:588 msgid "Model column used to retrieve the text from" msgstr "" -#: gtk/gtkiconview.c:607 msgid "Markup column" msgstr "" -#: gtk/gtkiconview.c:608 msgid "Model column used to retrieve the text if using Pango markup" msgstr "" -#: gtk/gtkiconview.c:615 msgid "Icon View Model" msgstr "Ikoonivaate mudel" -#: gtk/gtkiconview.c:616 msgid "The model for the icon view" msgstr "Ikoonivaate mudel" -#: gtk/gtkiconview.c:632 msgid "Number of columns" msgstr "Tulpade arv" -#: gtk/gtkiconview.c:633 msgid "Number of columns to display" msgstr "Kuvatavate tulpade arv" -#: gtk/gtkiconview.c:650 msgid "Width for each item" msgstr "Iga kirje laius" -#: gtk/gtkiconview.c:651 msgid "The width used for each item" msgstr "Iga kirje puhul kasutatav laius" -#: gtk/gtkiconview.c:667 msgid "Space which is inserted between cells of an item" msgstr "Kirje lahtrite vahele jäetav ruum" -#: gtk/gtkiconview.c:682 msgid "Row Spacing" msgstr "Ridadevaheline ruum" -#: gtk/gtkiconview.c:683 msgid "Space which is inserted between grid rows" msgstr "Tabeli ridade vahele jäetav ruum" -#: gtk/gtkiconview.c:698 msgid "Column Spacing" msgstr "Veergudevaheline ruum" -#: gtk/gtkiconview.c:699 msgid "Space which is inserted between grid columns" msgstr "Tabeli veergude vahele jäetav ruum" -#: gtk/gtkiconview.c:714 msgid "Margin" msgstr "Ääris" -#: gtk/gtkiconview.c:715 msgid "Space which is inserted at the edges of the icon view" msgstr "Ikoonivaate servadele lisatav ruum" -#: gtk/gtkiconview.c:730 -#, fuzzy -msgid "Item Orientation" -msgstr "Asend" - -#: gtk/gtkiconview.c:731 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 msgid "Reorderable" msgstr "" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 msgid "View is reorderable" msgstr "" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 msgid "Tooltip Column" msgstr "Vihjeveerg" -#: gtk/gtkiconview.c:756 msgid "The column in the model containing the tooltip texts for the items" msgstr "Mudelis asuv veerg, mis sisaldab kirjete tekstilisi vihjeid" -#: gtk/gtkiconview.c:773 -#, fuzzy -msgid "Item Padding" -msgstr "Alumine polsterdus" - -#: gtk/gtkiconview.c:774 -msgid "Padding around icon view items" -msgstr "" - -#: gtk/gtkiconview.c:783 msgid "Selection Box Color" msgstr "Valikukasti värv" -#: gtk/gtkiconview.c:784 msgid "Color of the selection box" msgstr "Valikukasti värv" -#: gtk/gtkiconview.c:790 msgid "Selection Box Alpha" msgstr "Valikukasti alfa" -#: gtk/gtkiconview.c:791 msgid "Opacity of the selection box" msgstr "Valikukasti läbipaistmatus" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 -msgid "Filename" -msgstr "Failinimi" +msgid "Pixmap" +msgstr "" + +msgid "A GdkPixmap to display" +msgstr "" + +msgid "Image" +msgstr "Pilt" + +msgid "A GdkImage to display" +msgstr "" + +msgid "Mask" +msgstr "Mask" + +msgid "Mask bitmap to use with GdkImage or GdkPixmap" +msgstr "" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "" -#: gtk/gtkimage.c:252 msgid "Icon set" msgstr "" -#: gtk/gtkimage.c:253 msgid "Icon set to display" msgstr "" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 msgid "Icon size" msgstr "Ikooni suurus" -#: gtk/gtkimage.c:261 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" -#: gtk/gtkimage.c:277 msgid "Pixel size" msgstr "Piksli suurus" -#: gtk/gtkimage.c:278 msgid "Pixel size to use for named icon" msgstr "Nimekise ikooni jaoks kasutatav piksli suurus" -#: gtk/gtkimage.c:286 msgid "Animation" msgstr "Animatsioon" -#: gtk/gtkimage.c:287 msgid "GdkPixbufAnimation to display" msgstr "" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "" -#: gtk/gtkimagemenuitem.c:139 msgid "Child widget to appear next to the menu text" msgstr "" -#: gtk/gtkimagemenuitem.c:154 #, fuzzy msgid "Whether to use the label text to create a stock menu item" msgstr "Kas sildi teksti saab hiirega märkida või mitte" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +msgid "Always show image" +msgstr "" + +#, fuzzy +msgid "Whether the image will always be shown" +msgstr "Kas vidin on nähtav või mitte" + #, fuzzy msgid "Accel Group" msgstr "Tegevuste grupp" -#: gtk/gtkimagemenuitem.c:188 #, fuzzy msgid "The Accel Group to use for stock accelerator keys" msgstr "Vidin kiirendite muutumiste jälgimiseks" -#: gtk/gtkimagemenuitem.c:193 msgid "Show menu images" msgstr "" -#: gtk/gtkimagemenuitem.c:194 msgid "Whether images should be shown in menus" msgstr "" -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "Teate liik" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "Teate liik" -#: gtk/gtkinfobar.c:431 #, fuzzy msgid "Width of border around the content area" msgstr "Ümber peadialoogi piirkonna oleva äärise laius" -#: gtk/gtkinfobar.c:448 #, fuzzy msgid "Spacing between elements of the area" msgstr "Nuppude vahel olev ruum" -#: gtk/gtkinfobar.c:480 #, fuzzy msgid "Width of border around the action area" msgstr "Ümber peadialoogi piirkonna oleva äärise laius" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 -msgid "Screen" -msgstr "Ekraan" - -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 msgid "The screen where this window will be displayed" msgstr "" -#: gtk/gtklabel.c:550 msgid "The text of the label" msgstr "Sildi tekst" -#: gtk/gtklabel.c:557 msgid "A list of style attributes to apply to the text of the label" msgstr "" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 msgid "Justification" msgstr "Joondus" -#: gtk/gtklabel.c:579 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " "GtkMisc::xalign for that" msgstr "" -#: gtk/gtklabel.c:587 msgid "Pattern" msgstr "Muster" -#: gtk/gtklabel.c:588 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" msgstr "" -#: gtk/gtklabel.c:595 msgid "Line wrap" msgstr "Reamurdmine" -#: gtk/gtklabel.c:596 msgid "If set, wrap lines if the text becomes too wide" msgstr "Kui määratud, siis liiga pikki ridu murtakse" -#: gtk/gtklabel.c:611 msgid "Line wrap mode" msgstr "Reamurdmisrežiim" -#: gtk/gtklabel.c:612 msgid "If wrap is set, controls how linewrapping is done" msgstr "Kui reamurdmine on määratud, siis kuidas murdmist teostatakse" -#: gtk/gtklabel.c:619 msgid "Selectable" msgstr "Valitav" -#: gtk/gtklabel.c:620 msgid "Whether the label text can be selected with the mouse" msgstr "Kas sildi teksti saab hiirega märkida või mitte" -#: gtk/gtklabel.c:626 msgid "Mnemonic key" msgstr "Mnemooniline klahv" -#: gtk/gtklabel.c:627 msgid "The mnemonic accelerator key for this label" -msgstr "Selle sildi mnemooniline kiirendusklahv" +msgstr "Selle sildi mnemooniline kiirklahv" -#: gtk/gtklabel.c:635 msgid "Mnemonic widget" msgstr "Mnemooniline vidin" -#: gtk/gtklabel.c:636 msgid "The widget to be activated when the label's mnemonic key is pressed" -msgstr "Mnemoonilise kiirendusklahvi vajutamise korral aktiveeritav vidin" +msgstr "Mnemoonilise kiirklahvi vajutamise korral aktiveeritav vidin" -#: gtk/gtklabel.c:682 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" msgstr "" -#: gtk/gtklabel.c:723 msgid "Single Line Mode" msgstr "Üherealine režiim" -#: gtk/gtklabel.c:724 msgid "Whether the label is in single line mode" msgstr "Kas silt on üherealises režiimis või mitte" -#: gtk/gtklabel.c:741 msgid "Angle" msgstr "Nurk" -#: gtk/gtklabel.c:742 msgid "Angle at which the label is rotated" msgstr "Nurk, millega silti pööratakse" -#: gtk/gtklabel.c:764 +msgid "Maximum Width In Characters" +msgstr "Maksimaalne laius märkides" + msgid "The desired maximum width of the label, in characters" msgstr "Sildi suurim soovitud laius märkides" -#: gtk/gtklabel.c:782 msgid "Track visited links" msgstr "Külastatud viitade jälgimine" -#: gtk/gtklabel.c:783 msgid "Whether visited links should be tracked" msgstr "Kas külastatud viitasid tuleb jälgida või mitte" -#: gtk/gtklabel.c:904 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 msgid "Horizontal adjustment" msgstr "" -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 msgid "The GtkAdjustment for the horizontal position" msgstr "" -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 msgid "Vertical adjustment" msgstr "" -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 msgid "The GtkAdjustment for the vertical position" msgstr "" -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 -msgid "Width" -msgstr "Laius" - -#: gtk/gtklayout.c:642 msgid "The width of the layout" msgstr "Paigutuse laius" -#: gtk/gtklayout.c:650 -msgid "Height" -msgstr "Kõrgus" - -#: gtk/gtklayout.c:651 msgid "The height of the layout" msgstr "Paigutuse kõrgus" -#: gtk/gtklinkbutton.c:162 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 msgid "The URI bound to this button" msgstr "" -#: gtk/gtklinkbutton.c:177 msgid "Visited" msgstr "Külastatud" -#: gtk/gtklinkbutton.c:178 msgid "Whether this link has been visited." msgstr "Kas viidatud kohta on külastatud või mitte." -#: gtk/gtkmenubar.c:163 -msgid "Pack direction" -msgstr "" - -#: gtk/gtkmenubar.c:164 -msgid "The pack direction of the menubar" -msgstr "" - -#: gtk/gtkmenubar.c:180 -msgid "Child Pack direction" -msgstr "" - -#: gtk/gtkmenubar.c:181 -msgid "The child pack direction of the menubar" -msgstr "" - -#: gtk/gtkmenubar.c:190 -msgid "Style of bevel around the menubar" -msgstr "" - -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 -msgid "Internal padding" -msgstr "Sisemine polsterdus" - -#: gtk/gtkmenubar.c:198 -msgid "Amount of border space between the menubar shadow and the menu items" -msgstr "Äärise ruum menüüriba varju ja menüükirjete vahel" - -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "Viivitus enne rippmenüüde ilmumist" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "Viivitus enne menüüriba alammenüüde ilmumist" - -#: gtk/gtkmenu.c:526 msgid "The currently selected menu item" msgstr "Hetkel valitud menüükirje" -#: gtk/gtkmenu.c:541 #, fuzzy msgid "The accel group holding accelerators for the menu" -msgstr "Selle sildi mnemooniline kiirendusklahv" +msgstr "Selle sildi mnemooniline kiirklahv" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 msgid "Accel Path" msgstr "" -#: gtk/gtkmenu.c:556 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" -#: gtk/gtkmenu.c:572 #, fuzzy msgid "Attach Widget" msgstr "Vidin" -#: gtk/gtkmenu.c:573 msgid "The widget the menu is attached to" msgstr "" -#: gtk/gtkmenu.c:581 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "" -#: gtk/gtkmenu.c:595 msgid "Tearoff State" msgstr "Lahtirebimise olek" -#: gtk/gtkmenu.c:596 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Tõeväärtus, mis määrab, kas menüü on lahti rebitud või mitte" -#: gtk/gtkmenu.c:610 msgid "Monitor" msgstr "" -#: gtk/gtkmenu.c:611 msgid "The monitor the menu will be popped up on" msgstr "" -#: gtk/gtkmenu.c:617 msgid "Vertical Padding" msgstr "Püstine polsterdus" -#: gtk/gtkmenu.c:618 msgid "Extra space at the top and bottom of the menu" msgstr "Lisaruum menüü ülemisel ja alumisel serval" -#: gtk/gtkmenu.c:640 msgid "Reserve Toggle Size" msgstr "" -#: gtk/gtkmenu.c:641 #, fuzzy msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "Tõeväärtus, mis määrab, kas menüü on lahti rebitud või mitte" -#: gtk/gtkmenu.c:647 msgid "Horizontal Padding" msgstr "Rõhtne polsterdus" -#: gtk/gtkmenu.c:648 msgid "Extra space at the left and right edges of the menu" msgstr "Lisaruum menüü vasakul ja paremal serval" -#: gtk/gtkmenu.c:656 msgid "Vertical Offset" msgstr "Vertikaalne nihe" -#: gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" msgstr "" "Kui menüü on alammenüü, siis määrab see asukoha vertikaalse nihke pikslites" -#: gtk/gtkmenu.c:665 msgid "Horizontal Offset" msgstr "Horisontaalne nihe" -#: gtk/gtkmenu.c:666 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" msgstr "" "Kui menüü on alammenüü, siis määrab see asukoha hosirontaalse nihke pikslites" -#: gtk/gtkmenu.c:674 msgid "Double Arrows" msgstr "Topeltnooled" -#: gtk/gtkmenu.c:675 msgid "When scrolling, always show both arrows." msgstr "Kerimisel näidatakse alati mõlemat noolt." -#: gtk/gtkmenu.c:688 msgid "Arrow Placement" msgstr "Noole asetus" -#: gtk/gtkmenu.c:689 msgid "Indicates where scroll arrows should be placed" msgstr "Kerimisnoolte asukohtade määramine" -#: gtk/gtkmenu.c:697 msgid "Left Attach" msgstr "" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 msgid "The column number to attach the left side of the child to" msgstr "" -#: gtk/gtkmenu.c:705 msgid "Right Attach" msgstr "" -#: gtk/gtkmenu.c:706 msgid "The column number to attach the right side of the child to" msgstr "" -#: gtk/gtkmenu.c:713 msgid "Top Attach" msgstr "" -#: gtk/gtkmenu.c:714 msgid "The row number to attach the top of the child to" msgstr "" -#: gtk/gtkmenu.c:721 msgid "Bottom Attach" msgstr "" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 msgid "The row number to attach the bottom of the child to" msgstr "" -#: gtk/gtkmenu.c:736 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" -#: gtk/gtkmenu.c:823 msgid "Can change accelerators" msgstr "" -#: gtk/gtkmenu.c:824 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" -#: gtk/gtkmenu.c:829 msgid "Delay before submenus appear" msgstr "" -#: gtk/gtkmenu.c:830 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" -#: gtk/gtkmenu.c:837 msgid "Delay before hiding a submenu" msgstr "" -#: gtk/gtkmenu.c:838 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" msgstr "" -#: gtk/gtkmenuitem.c:285 +msgid "Pack direction" +msgstr "" + +msgid "The pack direction of the menubar" +msgstr "" + +msgid "Child Pack direction" +msgstr "" + +msgid "The child pack direction of the menubar" +msgstr "" + +msgid "Style of bevel around the menubar" +msgstr "" + +msgid "Internal padding" +msgstr "Sisemine polsterdus" + +msgid "Amount of border space between the menubar shadow and the menu items" +msgstr "Äärise ruum menüüriba varju ja menüükirjete vahel" + +msgid "Delay before drop down menus appear" +msgstr "Viivitus enne rippmenüüde ilmumist" + +msgid "Delay before the submenus of a menu bar appear" +msgstr "Viivitus enne menüüriba alammenüüde ilmumist" + msgid "Right Justified" msgstr "" -#: gtk/gtkmenuitem.c:286 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" -#: gtk/gtkmenuitem.c:300 msgid "Submenu" msgstr "Alammenüü" -#: gtk/gtkmenuitem.c:301 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "Menüükirje külge ühendatud alammenüü, selle puudumisel aga NULL" -#: gtk/gtkmenuitem.c:319 msgid "Sets the accelerator path of the menu item" msgstr "" -#: gtk/gtkmenuitem.c:334 #, fuzzy msgid "The text for the child label" msgstr "Sildi tekst" -#: gtk/gtkmenuitem.c:397 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "Noole poolt kasutatava ruumi hulk, mis on suhteline menüükirje kirjatüübi " "suurusega" -#: gtk/gtkmenuitem.c:410 msgid "Width in Characters" msgstr "Laius märkides" -#: gtk/gtkmenuitem.c:411 #, fuzzy msgid "The minimum desired width of the menu item in characters" msgstr "Sildi soovitud laius märkides" -#: gtk/gtkmenushell.c:379 msgid "Take Focus" msgstr "" -#: gtk/gtkmenushell.c:380 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "" -#: gtk/gtkmenutoolbutton.c:246 msgid "Menu" msgstr "Menüü" -#: gtk/gtkmenutoolbutton.c:247 msgid "The dropdown menu" msgstr "Rippmenüü" -#: gtk/gtkmessagedialog.c:184 msgid "Image/label border" msgstr "Pildi/sildi ääris" -#: gtk/gtkmessagedialog.c:185 msgid "Width of border around the label and image in the message dialog" msgstr "Sõnumidialoogis oleva pildi või sildi äärise laius" -#: gtk/gtkmessagedialog.c:209 +msgid "Use separator" +msgstr "Eraldaja kasutamine" + +msgid "" +"Whether to put a separator between the message dialog's text and the buttons" +msgstr "Kas teatedialoogi teate ja nuppude vahel peab olema eraldaja" + msgid "Message Buttons" msgstr "Teatenupud" -#: gtk/gtkmessagedialog.c:210 msgid "The buttons shown in the message dialog" msgstr "Teatedialoogis näidatavad nupud" -#: gtk/gtkmessagedialog.c:227 msgid "The primary text of the message dialog" msgstr "Teatedialoogi peamine tekst" -#: gtk/gtkmessagedialog.c:242 msgid "Use Markup" msgstr "" -#: gtk/gtkmessagedialog.c:243 msgid "The primary text of the title includes Pango markup." msgstr "" -#: gtk/gtkmessagedialog.c:257 msgid "Secondary Text" msgstr "Teisene tekst" -#: gtk/gtkmessagedialog.c:258 msgid "The secondary text of the message dialog" msgstr "Teatedialoogi teisene tekst" -#: gtk/gtkmessagedialog.c:273 msgid "Use Markup in secondary" msgstr "" -#: gtk/gtkmessagedialog.c:274 msgid "The secondary text includes Pango markup." msgstr "" -#: gtk/gtkmessagedialog.c:288 -msgid "Image" -msgstr "Pilt" - -#: gtk/gtkmessagedialog.c:289 msgid "The image" msgstr "Pilt" -#: gtk/gtkmessagedialog.c:305 -#, fuzzy -msgid "Message area" -msgstr "Teate liik" - -#: gtk/gtkmessagedialog.c:306 -msgid "GtkVBox that holds the dialog's primary and secondary labels" -msgstr "" - -#: gtk/gtkmisc.c:91 msgid "Y align" msgstr "Y-joondus" -#: gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "Püstine joondus: 0 - ülevalt, 1 - alt" -#: gtk/gtkmisc.c:101 msgid "X pad" msgstr "X-polsterdus" -#: gtk/gtkmisc.c:102 msgid "" "The amount of space to add on the left and right of the widget, in pixels" msgstr "Vidina külgedele jäetava vaba ruumi laius pikslites" -#: gtk/gtkmisc.c:111 msgid "Y pad" msgstr "Y-polsterdus" -#: gtk/gtkmisc.c:112 msgid "" "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "Vidinast üles- ja allapoole jäetava vaba ruumi laius pikslites" -#: gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "Vanem" -#: gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "Ülemine aken" -#: gtk/gtkmountoperation.c:167 #, fuzzy msgid "Is Showing" msgstr "Näita päist" -#: gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "" -#: gtk/gtkmountoperation.c:176 #, fuzzy msgid "The screen where this window will be displayed." msgstr "Hetkel aktiivne filter failivaliku kuva filtreerimiseks" -#: gtk/gtknotebook.c:595 msgid "Page" msgstr "Lehekülg" -#: gtk/gtknotebook.c:596 msgid "The index of the current page" msgstr "Käesoleva lehe indeks" -#: gtk/gtknotebook.c:604 msgid "Tab Position" msgstr "Sakkide asukoht" -#: gtk/gtknotebook.c:605 msgid "Which side of the notebook holds the tabs" msgstr "Millisel märkmiku küljel sakke hoitakse" -#: gtk/gtknotebook.c:612 +msgid "Tab Border" +msgstr "Saki ääris" + +msgid "Width of the border around the tab labels" +msgstr "Saki sildi ümber oleva äärise laius" + +msgid "Horizontal Tab Border" +msgstr "Saki rõhtne ääris" + +msgid "Width of the horizontal border of tab labels" +msgstr "Sakisildi rõhtsa äärise laius" + +msgid "Vertical Tab Border" +msgstr "Saki püstine ääris" + +msgid "Width of the vertical border of tab labels" +msgstr "Sakisildi püstise äärise laius" + msgid "Show Tabs" msgstr "Sakkide näitamine" -#: gtk/gtknotebook.c:613 -#, fuzzy -msgid "Whether tabs should be shown" +msgid "Whether tabs should be shown or not" msgstr "Kas sakke näidatakse või mitte" -#: gtk/gtknotebook.c:619 msgid "Show Border" msgstr "Äärise näitamine" -#: gtk/gtknotebook.c:620 -#, fuzzy -msgid "Whether the border should be shown" +msgid "Whether the border should be shown or not" msgstr "Kas äärist näidatakse või mitte" -#: gtk/gtknotebook.c:626 msgid "Scrollable" msgstr "Keritav" -#: gtk/gtknotebook.c:627 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Kui TÕENE, siis liiga paljude sakkide korral lisatakse sakiribale " "kerimisnooled" -#: gtk/gtknotebook.c:633 msgid "Enable Popup" msgstr "Hüpikakna lubamine" -#: gtk/gtknotebook.c:634 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3773,1776 +2892,1374 @@ msgstr "" "Kui TÕENE, siis märkmikul parema hiirenupuga klõpsamine avab lehekülje " "vahetamise hüpikmenuu" -#: gtk/gtknotebook.c:648 -#, fuzzy -msgid "Group Name" +msgid "Whether tabs should have homogeneous sizes" +msgstr "Kas sakis peavad olema ühesuurused või mitte" + +msgid "Group ID" msgstr "Grupi ID" -#: gtk/gtknotebook.c:649 -#, fuzzy -msgid "Group name for tab drag and drop" +msgid "Group ID for tabs drag and drop" msgstr "Grupi ID sakkide lohistamiseks" -#: gtk/gtknotebook.c:656 +msgid "Group" +msgstr "Grupp" + +msgid "Group for tabs drag and drop" +msgstr "" + msgid "Tab label" msgstr "Saki silt" -#: gtk/gtknotebook.c:657 msgid "The string displayed on the child's tab label" msgstr "" -#: gtk/gtknotebook.c:663 msgid "Menu label" msgstr "Menüüsilt" -#: gtk/gtknotebook.c:664 msgid "The string displayed in the child's menu entry" msgstr "Alammenüü kirjes näidatav silt" -#: gtk/gtknotebook.c:677 msgid "Tab expand" msgstr "" -#: gtk/gtknotebook.c:678 -#, fuzzy -msgid "Whether to expand the child's tab" -msgstr "Kas litsentsi tekstu murtakse või mitte." +msgid "Whether to expand the child's tab or not" +msgstr "" -#: gtk/gtknotebook.c:684 msgid "Tab fill" msgstr "" -#: gtk/gtknotebook.c:685 -#, fuzzy -msgid "Whether the child's tab should fill the allocated area" -msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" +msgid "Whether the child's tab should fill the allocated area or not" +msgstr "" -#: gtk/gtknotebook.c:691 msgid "Tab pack type" msgstr "" -#: gtk/gtknotebook.c:698 msgid "Tab reorderable" msgstr "" -#: gtk/gtknotebook.c:699 -#, fuzzy -msgid "Whether the tab is reorderable by user action" -msgstr "Kas sakk on lahtihaagitav või mitte" +msgid "Whether the tab is reorderable by user action or not" +msgstr "" -#: gtk/gtknotebook.c:705 msgid "Tab detachable" msgstr "Sakk lahtihaagitav" -#: gtk/gtknotebook.c:706 msgid "Whether the tab is detachable" msgstr "Kas sakk on lahtihaagitav või mitte" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 msgid "Secondary backward stepper" msgstr "" -#: gtk/gtknotebook.c:722 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 msgid "Secondary forward stepper" msgstr "" -#: gtk/gtknotebook.c:738 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 msgid "Backward stepper" msgstr "" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 msgid "Display the standard backward arrow button" msgstr "" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 msgid "Forward stepper" msgstr "" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 msgid "Display the standard forward arrow button" msgstr "" -#: gtk/gtknotebook.c:782 msgid "Tab overlap" msgstr "" -#: gtk/gtknotebook.c:783 msgid "Size of tab overlap area" msgstr "" -#: gtk/gtknotebook.c:798 msgid "Tab curvature" msgstr "" -#: gtk/gtknotebook.c:799 msgid "Size of tab curvature" msgstr "" -#: gtk/gtknotebook.c:815 msgid "Arrow spacing" msgstr "" -#: gtk/gtknotebook.c:816 msgid "Scroll arrow spacing" msgstr "" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 -msgid "Orientation" -msgstr "Asend" +msgid "User Data" +msgstr "" + +msgid "Anonymous User Data Pointer" +msgstr "" + +msgid "The menu of options" +msgstr "" + +msgid "Size of dropdown indicator" +msgstr "" + +msgid "Spacing around indicator" +msgstr "Näidiku ümber olev ruum" -#: gtk/gtkorientable.c:64 #, fuzzy msgid "The orientation of the orientable" msgstr "Salve suund" -#: gtk/gtkpaned.c:271 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" -#: gtk/gtkpaned.c:280 msgid "Position Set" msgstr "" -#: gtk/gtkpaned.c:281 msgid "TRUE if the Position property should be used" msgstr "" -#: gtk/gtkpaned.c:287 msgid "Handle Size" msgstr "" -#: gtk/gtkpaned.c:288 msgid "Width of handle" msgstr "" -#: gtk/gtkpaned.c:304 msgid "Minimal Position" msgstr "" -#: gtk/gtkpaned.c:305 msgid "Smallest possible value for the \"position\" property" msgstr "" -#: gtk/gtkpaned.c:322 msgid "Maximal Position" msgstr "" -#: gtk/gtkpaned.c:323 msgid "Largest possible value for the \"position\" property" msgstr "" -#: gtk/gtkpaned.c:340 msgid "Resize" msgstr "" -#: gtk/gtkpaned.c:341 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "" -#: gtk/gtkpaned.c:356 msgid "Shrink" msgstr "" -#: gtk/gtkpaned.c:357 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "" -#: gtk/gtkplug.c:172 -#, fuzzy -msgid "Whether the plug is embedded" -msgstr "Kas olekuikoon on põimitud või mitte" +msgid "Whether or not the plug is embedded" +msgstr "" -#: gtk/gtkplug.c:186 msgid "Socket Window" msgstr "" -#: gtk/gtkplug.c:187 #, fuzzy msgid "The window of the socket the plug is embedded in" msgstr "Kas olekuikoon on põimitud või mitte" -#: gtk/gtkprinter.c:126 +msgid "" +"Whether the preview widget should take up the entire space it is allocated" +msgstr "" + msgid "Name of the printer" msgstr "Printeri nimi" -#: gtk/gtkprinter.c:132 msgid "Backend" msgstr "" -#: gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "" -#: gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "On virtuaalne" -#: gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "Riistvaralise printeri korral on see märkimata" -#: gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "PDF-i tugi" -#: gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "Märgitud juhul, kui printer toetab PDF-i" -#: gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "PostScript'i tugi" -#: gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "Märgitud juhul, kui printer toetab PostScript'i" -#: gtk/gtkprinter.c:160 msgid "State Message" msgstr "Olekusõnum" -#: gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "Printeri käesolevat olekut väljendav string" -#: gtk/gtkprinter.c:167 msgid "Location" msgstr "Asukoht" -#: gtk/gtkprinter.c:168 msgid "The location of the printer" msgstr "Printeri asukoht" -#: gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "Printeri jaoks kasutatava ikooni nimi" -#: gtk/gtkprinter.c:181 msgid "Job Count" msgstr "Tööde arv" -#: gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "Printeri järjekorras olevate tööde arv" -#: gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "Printer pausitud" -#: gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "Märgitud juhul, kui printer on pausitud" -#: gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "Nõustutud prinditöid" -#: gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "" "Märgitud juhul, kui printeril on prinditöid, mille printimiseks on nõusolek " "antud" -#: gtk/gtkprinteroptionwidget.c:122 msgid "Source option" msgstr "Lähtevalik" -#: gtk/gtkprinteroptionwidget.c:123 msgid "The PrinterOption backing this widget" msgstr "" -#: gtk/gtkprintjob.c:116 msgid "Title of the print job" msgstr "Printimistöö pealkiri" -#: gtk/gtkprintjob.c:124 msgid "Printer" msgstr "Printer" -#: gtk/gtkprintjob.c:125 msgid "Printer to print the job to" msgstr "Printer, kuhu töö printida" -#: gtk/gtkprintjob.c:133 msgid "Settings" msgstr "Sätted" -#: gtk/gtkprintjob.c:134 msgid "Printer settings" msgstr "Printeri sätted" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Lehekülje sätted" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "" -#: gtk/gtkprintjob.c:152 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." msgstr "" -#: gtk/gtkprintoperation.c:1005 msgid "Default Page Setup" msgstr "Vaikimisi lehe sätted" -#: gtk/gtkprintoperation.c:1006 msgid "The GtkPageSetup used by default" msgstr "" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Printimissätted" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "" -#: gtk/gtkprintoperation.c:1043 msgid "Job Name" msgstr "Töö nimi" -#: gtk/gtkprintoperation.c:1044 msgid "A string used for identifying the print job." msgstr "Printimistöö tuvastamiseks kasutatav string." -#: gtk/gtkprintoperation.c:1068 msgid "Number of Pages" msgstr "Lehekülgede arv" -#: gtk/gtkprintoperation.c:1069 msgid "The number of pages in the document." msgstr "Dokumendis olevate lehekülgede arv." -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Käesolev lehekülg" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "Dokumendi käesolev lehekülg" -#: gtk/gtkprintoperation.c:1112 msgid "Use full page" msgstr "" -#: gtk/gtkprintoperation.c:1113 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" msgstr "" -#: gtk/gtkprintoperation.c:1134 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." msgstr "" -#: gtk/gtkprintoperation.c:1151 msgid "Unit" msgstr "Ühik" -#: gtk/gtkprintoperation.c:1152 msgid "The unit in which distances can be measured in the context" msgstr "Kontekstis vahemaade määramiseks kasutatav ühik" -#: gtk/gtkprintoperation.c:1169 msgid "Show Dialog" msgstr "Dialoogi kuvamine" -#: gtk/gtkprintoperation.c:1170 msgid "TRUE if a progress dialog is shown while printing." msgstr "Kui märgitud, siis printimise ajal kuvatakse edenemisdialoogi." -#: gtk/gtkprintoperation.c:1193 msgid "Allow Async" msgstr "Asünk. lubatud" -#: gtk/gtkprintoperation.c:1194 msgid "TRUE if print process may run asynchronous." msgstr "Kui märgitud, siis võib printimisprotsess töötada asünkroonselt." -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 msgid "Export filename" msgstr "Ekspordi failinimi" -#: gtk/gtkprintoperation.c:1231 msgid "Status" msgstr "Olek" -#: gtk/gtkprintoperation.c:1232 msgid "The status of the print operation" msgstr "Printimistoimingu olek" -#: gtk/gtkprintoperation.c:1252 msgid "Status String" msgstr "Olekustring" -#: gtk/gtkprintoperation.c:1253 msgid "A human-readable description of the status" msgstr "Oleku kirjeldus inimloetaval kujul" -#: gtk/gtkprintoperation.c:1271 msgid "Custom tab label" msgstr "Kohandatud saki silt" -#: gtk/gtkprintoperation.c:1272 msgid "Label for the tab containing custom widgets." msgstr "Kohandatud vidinaid sisaldava saki silt." -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 #, fuzzy msgid "Support Selection" msgstr "Värvuse valik" -#: gtk/gtkprintoperation.c:1288 msgid "TRUE if the print operation will support print of selection." msgstr "" -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 #, fuzzy msgid "Has Selection" msgstr "Värvuse valik" -#: gtk/gtkprintoperation.c:1305 -msgid "TRUE if a selection exists." +msgid "TRUE if a selecion exists." msgstr "" -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 #, fuzzy msgid "Embed Page Setup" msgstr "Lehekülje sätted" -#: gtk/gtkprintoperation.c:1321 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" -#: gtk/gtkprintoperation.c:1342 -#, fuzzy -msgid "Number of Pages To Print" -msgstr "Lehekülgede arv" - -#: gtk/gtkprintoperation.c:1343 -#, fuzzy -msgid "The number of pages that will be printed." -msgstr "Dokumendis olevate lehekülgede arv." - -#: gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "" -#: gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "Valitud printer" -#: gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "Valitud GtkPrinter" -#: gtk/gtkprintunixdialog.c:332 -msgid "Manual Capabilities" +msgid "Manual Capabilites" msgstr "" -#: gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "" -#: gtk/gtkprintunixdialog.c:342 #, fuzzy msgid "Whether the dialog supports selection" msgstr "Kas silt joonistatakse valitud kirjatüübiga või mitte" -#: gtk/gtkprintunixdialog.c:350 #, fuzzy msgid "Whether the application has a selection" msgstr "Kas tegevus on lubatud või mitte." -#: gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" -#: gtk/gtkprogressbar.c:134 -msgid "Fraction" +msgid "Activity mode" msgstr "" -#: gtk/gtkprogressbar.c:135 -msgid "The fraction of total work that has been completed" +msgid "" +"If TRUE, the GtkProgress is in activity mode, meaning that it signals " +"something is happening, but not how much of the activity is finished. This " +"is used when you're doing something but don't know how long it will take." msgstr "" -#: gtk/gtkprogressbar.c:142 -msgid "Pulse Step" -msgstr "" - -#: gtk/gtkprogressbar.c:143 -msgid "The fraction of total progress to move the bouncing block when pulsed" -msgstr "" - -#: gtk/gtkprogressbar.c:151 -msgid "Text to be displayed in the progress bar" -msgstr "" - -#: gtk/gtkprogressbar.c:158 msgid "Show text" msgstr "Näidata tekstina" -#: gtk/gtkprogressbar.c:159 msgid "Whether the progress is shown as text." msgstr "Kas edenemisriba näidatakse tekstina." -#: gtk/gtkprogressbar.c:181 +msgid "The GtkAdjustment connected to the progress bar (Deprecated)" +msgstr "" + +msgid "Bar style" +msgstr "" + +msgid "Specifies the visual style of the bar in percentage mode (Deprecated)" +msgstr "" + +msgid "Activity Step" +msgstr "" + +msgid "The increment used for each iteration in activity mode (Deprecated)" +msgstr "" + +msgid "Activity Blocks" +msgstr "" + +msgid "" +"The number of blocks which can fit in the progress bar area in activity mode " +"(Deprecated)" +msgstr "" + +msgid "Discrete Blocks" +msgstr "" + +msgid "" +"The number of discrete blocks in a progress bar (when shown in the discrete " +"style)" +msgstr "" + +msgid "Fraction" +msgstr "" + +msgid "The fraction of total work that has been completed" +msgstr "" + +msgid "Pulse Step" +msgstr "" + +msgid "The fraction of total progress to move the bouncing block when pulsed" +msgstr "" + +msgid "Text to be displayed in the progress bar" +msgstr "" + msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." msgstr "" -#: gtk/gtkprogressbar.c:188 -#, fuzzy -msgid "X spacing" +msgid "XSpacing" msgstr "X-ruum" -#: gtk/gtkprogressbar.c:189 msgid "Extra spacing applied to the width of a progress bar." msgstr "Kerimisriba laiusele lisatav täiendav ruum." -#: gtk/gtkprogressbar.c:194 -#, fuzzy -msgid "Y spacing" +msgid "YSpacing" msgstr "Y-ruum" -#: gtk/gtkprogressbar.c:195 msgid "Extra spacing applied to the height of a progress bar." msgstr "Kerimisriba kõrgusele lisatav täiendav ruum." -#: gtk/gtkprogressbar.c:208 -#, fuzzy -msgid "Minimum horizontal bar width" +msgid "Min horizontal bar width" msgstr "Rõhtriba vähim laius" -#: gtk/gtkprogressbar.c:209 msgid "The minimum horizontal width of the progress bar" msgstr "Rõhtsa kerimisriba vähim laius" -#: gtk/gtkprogressbar.c:221 -#, fuzzy -msgid "Minimum horizontal bar height" +msgid "Min horizontal bar height" msgstr "Rõhtriba vähim kõrgus" -#: gtk/gtkprogressbar.c:222 msgid "Minimum horizontal height of the progress bar" msgstr "Rõhtsa kerimisriba vähim kõrgus" -#: gtk/gtkprogressbar.c:234 -#, fuzzy -msgid "Minimum vertical bar width" +msgid "Min vertical bar width" msgstr "Püstriba vähim laius" -#: gtk/gtkprogressbar.c:235 msgid "The minimum vertical width of the progress bar" msgstr "Püstise kerimisriba vähim laius" -#: gtk/gtkprogressbar.c:247 -#, fuzzy -msgid "Minimum vertical bar height" +msgid "Min vertical bar height" msgstr "Püstriba vähim kõrgus" -#: gtk/gtkprogressbar.c:248 msgid "The minimum vertical height of the progress bar" msgstr "Püstise kerimisriba vähim kõrgus" -#: gtk/gtkradioaction.c:118 msgid "The value" msgstr "Väärtus" -#: gtk/gtkradioaction.c:119 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." msgstr "" -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 -msgid "Group" -msgstr "Grupp" - -#: gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "" -#: gtk/gtkradioaction.c:151 msgid "The current value" msgstr "Hetkväärtus" -#: gtk/gtkradioaction.c:152 msgid "" "The value property of the currently active member of the group to which this " "action belongs." msgstr "" -#: gtk/gtkradiobutton.c:161 msgid "The radio button whose group this widget belongs to." msgstr "" -#: gtk/gtkradiomenuitem.c:374 msgid "The radio menu item whose group this widget belongs to." msgstr "" -#: gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "" -#: gtk/gtkrange.c:410 msgid "Update policy" msgstr "" -#: gtk/gtkrange.c:411 msgid "How the range should be updated on the screen" msgstr "" -#: gtk/gtkrange.c:420 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "" -#: gtk/gtkrange.c:428 +msgid "Inverted" +msgstr "Pööratud" + msgid "Invert direction slider moves to increase range value" msgstr "Kas liuguri suund on pööratud või mitte" -#: gtk/gtkrange.c:435 msgid "Lower stepper sensitivity" msgstr "" -#: gtk/gtkrange.c:436 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" msgstr "" -#: gtk/gtkrange.c:444 msgid "Upper stepper sensitivity" msgstr "" -#: gtk/gtkrange.c:445 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" msgstr "" -#: gtk/gtkrange.c:462 msgid "Show Fill Level" msgstr "" -#: gtk/gtkrange.c:463 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" -#: gtk/gtkrange.c:479 msgid "Restrict to Fill Level" msgstr "" -#: gtk/gtkrange.c:480 msgid "Whether to restrict the upper boundary to the fill level." msgstr "" -#: gtk/gtkrange.c:495 msgid "Fill Level" msgstr "" -#: gtk/gtkrange.c:496 msgid "The fill level." msgstr "" -#: gtk/gtkrange.c:504 msgid "Slider Width" msgstr "Liuguri laius" -#: gtk/gtkrange.c:505 msgid "Width of scrollbar or scale thumb" msgstr "" -#: gtk/gtkrange.c:512 msgid "Trough Border" msgstr "" -#: gtk/gtkrange.c:513 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "" -#: gtk/gtkrange.c:520 msgid "Stepper Size" msgstr "" -#: gtk/gtkrange.c:521 msgid "Length of step buttons at ends" msgstr "" -#: gtk/gtkrange.c:536 msgid "Stepper Spacing" msgstr "" -#: gtk/gtkrange.c:537 msgid "Spacing between step buttons and thumb" msgstr "" -#: gtk/gtkrange.c:544 msgid "Arrow X Displacement" msgstr "" -#: gtk/gtkrange.c:545 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" -#: gtk/gtkrange.c:552 msgid "Arrow Y Displacement" msgstr "" -#: gtk/gtkrange.c:553 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" -#: gtk/gtkrange.c:571 +msgid "Draw slider ACTIVE during drag" +msgstr "" + +msgid "" +"With this option set to TRUE, sliders will be drawn ACTIVE and with shadow " +"IN while they are dragged" +msgstr "" + +msgid "Trough Side Details" +msgstr "" + +msgid "" +"When TRUE, the parts of the trough on the two sides of the slider are drawn " +"with different details" +msgstr "" + msgid "Trough Under Steppers" msgstr "" -#: gtk/gtkrange.c:572 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "" -#: gtk/gtkrange.c:585 msgid "Arrow scaling" msgstr "Noole skaleerimine" -#: gtk/gtkrange.c:586 msgid "Arrow scaling with regard to scroll button size" msgstr "Noole skaleerimine sõltuvalt kerimisnupu suurusest" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 msgid "Show Numbers" msgstr "Numbrite näitamine" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 msgid "Whether the items should be displayed with a number" msgstr "Kas kirjeid näidatakse koos numbritega või mitte" -#: gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "Hiljutiste kirjete haldur" -#: gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "Kasutatav RecentManager objekt" -#: gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "Privaatsete näitamine" -#: gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "Kas privaatkirjeid näidatakse või mitte" -#: gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "Vihjete näitamine" -#: gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "Kas kirjele peaks kuvama vihjeid või mitte" -#: gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "Ikoonide näitamine" -#: gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "Kas kirje ligidal peaks olema ikoon või mitte" -#: gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "Puuduvate näitamine" -#: gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "Kas puuduvatele ressurssidele viitavaid kirjeid kuvatakse või mitte" -#: gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "Kas mitme kirje valimine on lubatud või mitte" -#: gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "Ainult kohalik" -#: gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "" "Kas valitud ressurss/ressursid peaks olema piiratud kohalike file: URI-dega " "või mitte" -#: gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "Piirang" -#: gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "Suurim kuvatavate kirjete arv" -#: gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "Sortimise liik" -#: gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "Kuvatavate kirjete sortimisjärjestus" -#: gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "Hetkel aktiivne filter ressursivaliku kuva filtreerimiseks" -#: gtk/gtkrecentmanager.c:291 msgid "The full path to the file to be used to store and read the list" msgstr "" -#: gtk/gtkrecentmanager.c:306 +msgid "" +"The maximum number of items to be returned by gtk_recent_manager_get_items()" +msgstr "" + msgid "The size of the recently used resources list" msgstr "" -#: gtk/gtkruler.c:138 msgid "Lower" msgstr "" -#: gtk/gtkruler.c:139 msgid "Lower limit of ruler" msgstr "" -#: gtk/gtkruler.c:148 msgid "Upper" msgstr "" -#: gtk/gtkruler.c:149 msgid "Upper limit of ruler" msgstr "" -#: gtk/gtkruler.c:159 msgid "Position of mark on the ruler" msgstr "" -#: gtk/gtkruler.c:168 msgid "Max Size" msgstr "" -#: gtk/gtkruler.c:169 msgid "Maximum size of the ruler" msgstr "" -#: gtk/gtkruler.c:184 msgid "Metric" msgstr "" -#: gtk/gtkruler.c:185 msgid "The metric used for the ruler" msgstr "" -#: gtk/gtkscalebutton.c:221 +msgid "The number of decimal places that are displayed in the value" +msgstr "" + +msgid "Draw Value" +msgstr "Väärtuse kuvamine" + +msgid "Whether the current value is displayed as a string next to the slider" +msgstr "Kas hetkeväärtust kuvatakse liuguri järel oleva stringina või mitte" + +msgid "Value Position" +msgstr "Väärtuse asukoht" + +msgid "The position in which the current value is displayed" +msgstr "Hetkeväärtuse kuvamise asukoht" + +msgid "Slider Length" +msgstr "Liuguri pikkus" + +msgid "Length of scale's slider" +msgstr "Skaleerimisliuguri pikkus" + +msgid "Value spacing" +msgstr "Väärtuse kaugus" + +msgid "Space between value text and the slider/trough area" +msgstr "" + msgid "The value of the scale" msgstr "" -#: gtk/gtkscalebutton.c:231 msgid "The icon size" msgstr "Ikooni suurus" -#: gtk/gtkscalebutton.c:240 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "" -#: gtk/gtkscalebutton.c:268 msgid "Icons" msgstr "Ikoonid" -#: gtk/gtkscalebutton.c:269 msgid "List of icon names" msgstr "Ikooninimede loetelu" -#: gtk/gtkscale.c:245 -msgid "The number of decimal places that are displayed in the value" -msgstr "" - -#: gtk/gtkscale.c:254 -msgid "Draw Value" -msgstr "Väärtuse kuvamine" - -#: gtk/gtkscale.c:255 -msgid "Whether the current value is displayed as a string next to the slider" -msgstr "Kas hetkeväärtust kuvatakse liuguri järel oleva stringina või mitte" - -#: gtk/gtkscale.c:262 -msgid "Value Position" -msgstr "Väärtuse asukoht" - -#: gtk/gtkscale.c:263 -msgid "The position in which the current value is displayed" -msgstr "Hetkeväärtuse kuvamise asukoht" - -#: gtk/gtkscale.c:270 -msgid "Slider Length" -msgstr "Liuguri pikkus" - -#: gtk/gtkscale.c:271 -msgid "Length of scale's slider" -msgstr "Skaleerimisliuguri pikkus" - -#: gtk/gtkscale.c:279 -msgid "Value spacing" -msgstr "Väärtuse kaugus" - -#: gtk/gtkscale.c:280 -msgid "Space between value text and the slider/trough area" -msgstr "" - -#: gtk/gtkscrollbar.c:50 msgid "Minimum Slider Length" msgstr "Liuguri vähim pikkus" -#: gtk/gtkscrollbar.c:51 msgid "Minimum length of scrollbar slider" msgstr "Kerimisriba liuguri vähim pikkus" -#: gtk/gtkscrollbar.c:59 msgid "Fixed slider size" msgstr "Liuguri määratud suurus" -#: gtk/gtkscrollbar.c:60 msgid "Don't change slider size, just lock it to the minimum length" msgstr "Liuguri suurust ei muudeta, vaid see lukustatakse vähimale pikkusele" -#: gtk/gtkscrollbar.c:81 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" -#: gtk/gtkscrollbar.c:88 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 msgid "Horizontal Adjustment" msgstr "" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 msgid "Vertical Adjustment" msgstr "" -#: gtk/gtkscrolledwindow.c:257 msgid "Horizontal Scrollbar Policy" msgstr "" -#: gtk/gtkscrolledwindow.c:258 msgid "When the horizontal scrollbar is displayed" msgstr "" -#: gtk/gtkscrolledwindow.c:265 msgid "Vertical Scrollbar Policy" msgstr "" -#: gtk/gtkscrolledwindow.c:266 msgid "When the vertical scrollbar is displayed" msgstr "" -#: gtk/gtkscrolledwindow.c:274 msgid "Window Placement" msgstr "" -#: gtk/gtkscrolledwindow.c:275 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." msgstr "" -#: gtk/gtkscrolledwindow.c:292 msgid "Window Placement Set" msgstr "" -#: gtk/gtkscrolledwindow.c:293 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." msgstr "" -#: gtk/gtkscrolledwindow.c:299 msgid "Shadow Type" msgstr "" -#: gtk/gtkscrolledwindow.c:300 msgid "Style of bevel around the contents" msgstr "" -#: gtk/gtkscrolledwindow.c:314 msgid "Scrollbars within bevel" msgstr "" -#: gtk/gtkscrolledwindow.c:315 msgid "Place scrollbars within the scrolled window's bevel" msgstr "" -#: gtk/gtkscrolledwindow.c:321 msgid "Scrollbar spacing" msgstr "Kerimisriba kaugus" -#: gtk/gtkscrolledwindow.c:322 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Kerimisriba ja keritava akna vahel olevate pikslite arv" -#: gtk/gtkscrolledwindow.c:337 msgid "Scrolled Window Placement" msgstr "" -#: gtk/gtkscrolledwindow.c:338 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." msgstr "" -#: gtk/gtkseparatortoolitem.c:138 msgid "Draw" msgstr "" -#: gtk/gtkseparatortoolitem.c:139 msgid "Whether the separator is drawn, or just blank" msgstr "" -#: gtk/gtksettings.c:225 msgid "Double Click Time" msgstr "" -#: gtk/gtksettings.c:226 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" msgstr "" -#: gtk/gtksettings.c:233 msgid "Double Click Distance" msgstr "" -#: gtk/gtksettings.c:234 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" msgstr "" -#: gtk/gtksettings.c:250 msgid "Cursor Blink" msgstr "" -#: gtk/gtksettings.c:251 msgid "Whether the cursor should blink" msgstr "" -#: gtk/gtksettings.c:258 msgid "Cursor Blink Time" msgstr "" -#: gtk/gtksettings.c:259 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "" -#: gtk/gtksettings.c:278 msgid "Cursor Blink Timeout" msgstr "Kursori vilkumise ajapiirang" -#: gtk/gtksettings.c:279 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Sekundite arv, mille möödudes kursor lõpetab vilkumise" -#: gtk/gtksettings.c:286 msgid "Split Cursor" msgstr "" -#: gtk/gtksettings.c:287 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" msgstr "" -#: gtk/gtksettings.c:294 msgid "Theme Name" msgstr "" -#: gtk/gtksettings.c:295 msgid "Name of theme RC file to load" msgstr "" -#: gtk/gtksettings.c:303 msgid "Icon Theme Name" msgstr "" -#: gtk/gtksettings.c:304 msgid "Name of icon theme to use" msgstr "" -#: gtk/gtksettings.c:312 msgid "Fallback Icon Theme Name" msgstr "" -#: gtk/gtksettings.c:313 msgid "Name of a icon theme to fall back to" msgstr "" -#: gtk/gtksettings.c:321 msgid "Key Theme Name" msgstr "" -#: gtk/gtksettings.c:322 msgid "Name of key theme RC file to load" msgstr "" -#: gtk/gtksettings.c:330 msgid "Menu bar accelerator" msgstr "" -#: gtk/gtksettings.c:331 msgid "Keybinding to activate the menu bar" msgstr "" -#: gtk/gtksettings.c:339 msgid "Drag threshold" msgstr "" -#: gtk/gtksettings.c:340 msgid "Number of pixels the cursor can move before dragging" msgstr "" -#: gtk/gtksettings.c:348 msgid "Font Name" msgstr "Kirjatüübi nimi" -#: gtk/gtksettings.c:349 msgid "Name of default font to use" msgstr "Vaikimisi kasutatava kirjatüübi nimi" -#: gtk/gtksettings.c:371 msgid "Icon Sizes" msgstr "Ikoonide suurused" -#: gtk/gtksettings.c:372 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "" -#: gtk/gtksettings.c:380 msgid "GTK Modules" msgstr "GTK moodulid" -#: gtk/gtksettings.c:381 msgid "List of currently active GTK modules" msgstr "Nimekiri hetkel aktiivsetest GTK moodulitest" -#: gtk/gtksettings.c:390 msgid "Xft Antialias" msgstr "" -#: gtk/gtksettings.c:391 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" -#: gtk/gtksettings.c:400 msgid "Xft Hinting" msgstr "" -#: gtk/gtksettings.c:401 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" -#: gtk/gtksettings.c:410 msgid "Xft Hint Style" msgstr "" -#: gtk/gtksettings.c:411 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" -#: gtk/gtksettings.c:420 msgid "Xft RGBA" msgstr "" -#: gtk/gtksettings.c:421 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "" -#: gtk/gtksettings.c:430 msgid "Xft DPI" msgstr "" -#: gtk/gtksettings.c:431 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" -#: gtk/gtksettings.c:440 msgid "Cursor theme name" msgstr "Kursoriteema nimi" -#: gtk/gtksettings.c:441 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "Kasutatava kursoriteema nimi, vaikimis teema jaoks NULL" -#: gtk/gtksettings.c:449 msgid "Cursor theme size" msgstr "Kursoriteema suurus" -#: gtk/gtksettings.c:450 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Kursorite jaoks kasutatav suurus, vaikimisi suuruse jaoks 0" -#: gtk/gtksettings.c:460 msgid "Alternative button order" msgstr "" -#: gtk/gtksettings.c:461 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" -#: gtk/gtksettings.c:478 msgid "Alternative sort indicator direction" msgstr "" -#: gtk/gtksettings.c:479 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" msgstr "" -#: gtk/gtksettings.c:487 msgid "Show the 'Input Methods' menu" msgstr "" -#: gtk/gtksettings.c:488 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" msgstr "" -#: gtk/gtksettings.c:496 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "" -#: gtk/gtksettings.c:497 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" msgstr "" -#: gtk/gtksettings.c:505 msgid "Start timeout" msgstr "" -#: gtk/gtksettings.c:506 msgid "Starting value for timeouts, when button is pressed" msgstr "" -#: gtk/gtksettings.c:515 msgid "Repeat timeout" msgstr "" -#: gtk/gtksettings.c:516 msgid "Repeat value for timeouts, when button is pressed" msgstr "" -#: gtk/gtksettings.c:525 msgid "Expand timeout" msgstr "" -#: gtk/gtksettings.c:526 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" -#: gtk/gtksettings.c:561 msgid "Color scheme" msgstr "Värviskeem" -#: gtk/gtksettings.c:562 msgid "A palette of named colors for use in themes" msgstr "Nimeliste värvide palett teemas kasutamiseks" -#: gtk/gtksettings.c:571 msgid "Enable Animations" msgstr "Animatsioonide lubamine" -#: gtk/gtksettings.c:572 msgid "Whether to enable toolkit-wide animations." msgstr "Kas tööriistakomplekti ulatuses on animatsioonid lubatud või mitte" -#: gtk/gtksettings.c:590 msgid "Enable Touchscreen Mode" msgstr "Puutetundliku ekraani režiimi lubamine" -#: gtk/gtksettings.c:591 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" "Märkimise korral jäetakse ekraanilt tulevad liikumisega seotud sündmused " "vahendamata" -#: gtk/gtksettings.c:608 msgid "Tooltip timeout" msgstr "Vihje ajapiirang" -#: gtk/gtksettings.c:609 msgid "Timeout before tooltip is shown" msgstr "Aeg, mille möödudes vihjet näitama hakatakse" -#: gtk/gtksettings.c:634 msgid "Tooltip browse timeout" msgstr "" -#: gtk/gtksettings.c:635 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" -#: gtk/gtksettings.c:656 msgid "Tooltip browse mode timeout" msgstr "" -#: gtk/gtksettings.c:657 msgid "Timeout after which browse mode is disabled" msgstr "" -#: gtk/gtksettings.c:676 msgid "Keynav Cursor Only" msgstr "" -#: gtk/gtksettings.c:677 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" -#: gtk/gtksettings.c:694 msgid "Keynav Wrap Around" msgstr "" -#: gtk/gtksettings.c:695 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "" -#: gtk/gtksettings.c:715 msgid "Error Bell" msgstr "Veapiiks" -#: gtk/gtksettings.c:716 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" "Kui märgitud, siis klaviatuuriga navigeerimivigade ja ka muude vigade korral " "tehakse piiksu" -#: gtk/gtksettings.c:733 msgid "Color Hash" msgstr "" -#: gtk/gtksettings.c:734 msgid "A hash table representation of the color scheme." msgstr "" -#: gtk/gtksettings.c:742 msgid "Default file chooser backend" msgstr "" -#: gtk/gtksettings.c:743 msgid "Name of the GtkFileChooser backend to use by default" msgstr "" -#: gtk/gtksettings.c:760 msgid "Default print backend" msgstr "" -#: gtk/gtksettings.c:761 msgid "List of the GtkPrintBackend backends to use by default" msgstr "" -#: gtk/gtksettings.c:784 msgid "Default command to run when displaying a print preview" msgstr "" -#: gtk/gtksettings.c:785 msgid "Command to run when displaying a print preview" msgstr "" -#: gtk/gtksettings.c:801 msgid "Enable Mnemonics" -msgstr "" +msgstr "Mnemoonilised kiirklahvid" -#: gtk/gtksettings.c:802 msgid "Whether labels should have mnemonics" -msgstr "" +msgstr "Kas siltide mnemoonilised kiirklahvid on lubatud või mitte" -#: gtk/gtksettings.c:818 msgid "Enable Accelerators" msgstr "Kiirklahvide lubamine" -#: gtk/gtksettings.c:819 msgid "Whether menu items should have accelerators" msgstr "Kas menüükirjetel on kiirklahvid lubatud või mitte" -#: gtk/gtksettings.c:836 msgid "Recent Files Limit" msgstr "Hiljutiste failide piirang" -#: gtk/gtksettings.c:837 msgid "Number of recently used files" msgstr "Mitu hiljutist faili meeles peetakse" -#: gtk/gtksettings.c:855 msgid "Default IM module" msgstr "" -#: gtk/gtksettings.c:856 msgid "Which IM module should be used by default" msgstr "" -#: gtk/gtksettings.c:874 msgid "Recent Files Max Age" msgstr "Hiljutiste failide suurim vanus" -#: gtk/gtksettings.c:875 msgid "Maximum age of recently used files, in days" msgstr "Hiljutiste failide suurim vanus päevades" -#: gtk/gtksettings.c:884 msgid "Fontconfig configuration timestamp" msgstr "" -#: gtk/gtksettings.c:885 msgid "Timestamp of current fontconfig configuration" msgstr "" -#: gtk/gtksettings.c:907 msgid "Sound Theme Name" msgstr "Heliteema nimi" -#: gtk/gtksettings.c:908 msgid "XDG sound theme name" msgstr "XDG heliteema nimi" #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 msgid "Audible Input Feedback" msgstr "" -#: gtk/gtksettings.c:931 #, fuzzy msgid "Whether to play event sounds as feedback to user input" msgstr "Kas vidin reageerib sisendile või mitte" -#: gtk/gtksettings.c:952 msgid "Enable Event Sounds" msgstr "Sündmuste helide lubamine" -#: gtk/gtksettings.c:953 msgid "Whether to play any event sounds at all" msgstr "Kas helisündmusi üldse esitatakse või mitte" -#: gtk/gtksettings.c:968 msgid "Enable Tooltips" msgstr "Vihjete lubamine" -#: gtk/gtksettings.c:969 msgid "Whether tooltips should be shown on widgets" msgstr "Kas vidinate vihjeid näidatakse või mitte" -#: gtk/gtksettings.c:982 -msgid "Toolbar style" -msgstr "Tööriistarea laad" - -#: gtk/gtksettings.c:983 -msgid "" -"Whether default toolbars have text only, text and icons, icons only, etc." -msgstr "" -"Näitab, kas vaikimisi on tööriistaribadel ainult tekst, ainult ikoonid või " -"mõlemad, jne." - -#: gtk/gtksettings.c:997 -#, fuzzy -msgid "Toolbar Icon Size" -msgstr "Tööriistarea ikooni suurus" - -#: gtk/gtksettings.c:998 -#, fuzzy -msgid "The size of icons in default toolbars." -msgstr "Tööriistareal olevate ikoonide vaikimisi suurus" - -#: gtk/gtksettings.c:1015 -#, fuzzy -msgid "Auto Mnemonics" -msgstr "Mnemooniline klahv" - -#: gtk/gtksettings.c:1016 -msgid "" -"Whether mnemonics should be automatically shown and hidden when the user " -"presses the mnemonic activator." -msgstr "" - -#: gtk/gtksettings.c:1041 -msgid "Application prefers a dark theme" -msgstr "" - -#: gtk/gtksettings.c:1042 -#, fuzzy -msgid "Whether the application prefers to have a dark theme." -msgstr "Kas tegevus on lubatud või mitte." - -#: gtk/gtksizegroup.c:341 msgid "Mode" msgstr "" -#: gtk/gtksizegroup.c:342 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" msgstr "" -#: gtk/gtksizegroup.c:358 msgid "Ignore hidden" msgstr "" -#: gtk/gtksizegroup.c:359 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" -#: gtk/gtkspinbutton.c:236 +msgid "The adjustment that holds the value of the spinbutton" +msgstr "" + msgid "Climb Rate" msgstr "" -#: gtk/gtkspinbutton.c:256 msgid "Snap to Ticks" msgstr "" -#: gtk/gtkspinbutton.c:257 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" msgstr "" -#: gtk/gtkspinbutton.c:264 msgid "Numeric" msgstr "Numbriline" -#: gtk/gtkspinbutton.c:265 msgid "Whether non-numeric characters should be ignored" msgstr "" -#: gtk/gtkspinbutton.c:272 msgid "Wrap" msgstr "" -#: gtk/gtkspinbutton.c:273 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "" -#: gtk/gtkspinbutton.c:280 msgid "Update Policy" msgstr "" -#: gtk/gtkspinbutton.c:281 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" -#: gtk/gtkspinbutton.c:290 msgid "Reads the current value, or sets a new value" msgstr "" -#: gtk/gtkspinbutton.c:299 msgid "Style of bevel around the spin button" msgstr "" -#: gtk/gtkspinner.c:132 -#, fuzzy -msgid "Whether the spinner is active" -msgstr "Kas tegevus on lubatud või mitte." - -#: gtk/gtkspinner.c:146 -#, fuzzy -msgid "Number of steps" -msgstr "Lehekülgede arv" - -#: gtk/gtkspinner.c:147 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" - -#: gtk/gtkspinner.c:162 -#, fuzzy -msgid "Animation duration" -msgstr "Animatsioon" - -#: gtk/gtkspinner.c:163 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" - -#: gtk/gtkstatusbar.c:199 msgid "Has Resize Grip" msgstr "" -#: gtk/gtkstatusbar.c:200 msgid "Whether the statusbar has a grip for resizing the toplevel" msgstr "" -#: gtk/gtkstatusbar.c:245 msgid "Style of bevel around the statusbar text" msgstr "" -#: gtk/gtkstatusicon.c:270 msgid "The size of the icon" msgstr "Ikooni suurus" -#: gtk/gtkstatusicon.c:280 msgid "The screen where this status icon will be displayed" msgstr "" -#: gtk/gtkstatusicon.c:288 -#, fuzzy -msgid "Whether the status icon is visible" +msgid "Blinking" +msgstr "Vilkumine" + +msgid "Whether or not the status icon is blinking" +msgstr "Kas olekuikoon vilgub või mitte" + +msgid "Whether or not the status icon is visible" msgstr "Kas olekuikoon on nähtav või mitte" -#: gtk/gtkstatusicon.c:304 -#, fuzzy -msgid "Whether the status icon is embedded" +msgid "Whether or not the status icon is embedded" msgstr "Kas olekuikoon on põimitud või mitte" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 msgid "The orientation of the tray" msgstr "Salve suund" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 msgid "Has tooltip" msgstr "Omab vihjet" -#: gtk/gtkstatusicon.c:348 msgid "Whether this tray icon has a tooltip" msgstr "Kas sellele salveikoonile näidatakse vihjet või mitte" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 msgid "Tooltip Text" msgstr "Vihje tekst" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 msgid "The contents of the tooltip for this widget" msgstr "Selle vidina vihje sisu" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 msgid "Tooltip markup" msgstr "" -#: gtk/gtkstatusicon.c:398 msgid "The contents of the tooltip for this tray icon" msgstr "Sellele salveikoonile näidatava vihje sisu" -#: gtk/gtkstatusicon.c:416 msgid "The title of this tray icon" msgstr "Selle salveikooni pealkiri" -#: gtk/gtktable.c:148 msgid "Rows" msgstr "Ridu" -#: gtk/gtktable.c:149 msgid "The number of rows in the table" msgstr "Tabelis olevate ridade arv" -#: gtk/gtktable.c:157 msgid "Columns" msgstr "Veerge" -#: gtk/gtktable.c:158 msgid "The number of columns in the table" msgstr "Tabelis olevate veergude arv" -#: gtk/gtktable.c:166 msgid "Row spacing" msgstr "Ruum ridade vahel" -#: gtk/gtktable.c:167 msgid "The amount of space between two consecutive rows" msgstr "Kahe kohakuti oleva rea vahele jäetava ruumi hulk" -#: gtk/gtktable.c:175 msgid "Column spacing" msgstr "Ruum veergude vahel" -#: gtk/gtktable.c:176 msgid "The amount of space between two consecutive columns" msgstr "Kahe kõrvuti oleva veeru vahele jäetava ruumi hulk" -#: gtk/gtktable.c:185 msgid "If TRUE, the table cells are all the same width/height" msgstr "Kui märgitud, siis on kõik tabeli lahtrid sama kõrguse ja laiusega" -#: gtk/gtktable.c:192 msgid "Left attachment" msgstr "" -#: gtk/gtktable.c:199 msgid "Right attachment" msgstr "" -#: gtk/gtktable.c:200 msgid "The column number to attach the right side of a child widget to" msgstr "" -#: gtk/gtktable.c:206 msgid "Top attachment" msgstr "" -#: gtk/gtktable.c:207 msgid "The row number to attach the top of a child widget to" msgstr "" -#: gtk/gtktable.c:213 msgid "Bottom attachment" msgstr "" -#: gtk/gtktable.c:220 msgid "Horizontal options" msgstr "" -#: gtk/gtktable.c:221 msgid "Options specifying the horizontal behaviour of the child" msgstr "" -#: gtk/gtktable.c:227 msgid "Vertical options" msgstr "" -#: gtk/gtktable.c:228 msgid "Options specifying the vertical behaviour of the child" msgstr "" -#: gtk/gtktable.c:234 msgid "Horizontal padding" msgstr "Rõhtne polsterdus" -#: gtk/gtktable.c:235 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" @@ -5550,11 +4267,9 @@ msgstr "" "Alamkirje vasak- ja parempoolse naaberkirje vahele jäetava täiendava ruumi " "hulk pikslites" -#: gtk/gtktable.c:241 msgid "Vertical padding" msgstr "Püstine polsterdus" -#: gtk/gtktable.c:242 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" @@ -5562,1300 +4277,914 @@ msgstr "" "Alamkirje ülemise ja alumise naaberkirje vahele jäetava täiendava ruumi hulk " "pikslites" -#: gtk/gtktextbuffer.c:192 +msgid "Horizontal adjustment for the text widget" +msgstr "Tekstividina rõhtjoondus" + +msgid "Vertical adjustment for the text widget" +msgstr "Tekstividina püstjoondus" + +msgid "Line Wrap" +msgstr "Reamurdmine" + +msgid "Whether lines are wrapped at widget edges" +msgstr "Kas vidinate servas murtakse ridu või mitte" + +msgid "Word Wrap" +msgstr "Sõnade murdmine" + +msgid "Whether words are wrapped at widget edges" +msgstr "Kas sõnad murtakse vidina serval või mite" + msgid "Tag Table" msgstr "" -#: gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "" -#: gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "" -#: gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "" -#: gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "" -#: gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "Kursori asukoht" -#: gtk/gtktextbuffer.c:243 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" -#: gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "" -#: gtk/gtktextbuffer.c:259 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" -#: gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "" -#: gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" msgstr "" -#: gtk/gtktextmark.c:90 msgid "Mark name" msgstr "" -#: gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "" -#: gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "" -#: gtk/gtktexttag.c:168 msgid "Tag name" msgstr "Sildi nimi" -#: gtk/gtktexttag.c:169 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "Sildile viitamiseks kasutatav nimi. NULL tähendab anonüümset silti" -#: gtk/gtktexttag.c:187 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "" -#: gtk/gtktexttag.c:194 msgid "Background full height" msgstr "" -#: gtk/gtktexttag.c:195 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" msgstr "" -#: gtk/gtktexttag.c:211 +msgid "Background stipple mask" +msgstr "" + +msgid "Bitmap to use as a mask when drawing the text background" +msgstr "" + msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "" -#: gtk/gtktexttag.c:218 +msgid "Foreground stipple mask" +msgstr "" + +msgid "Bitmap to use as a mask when drawing the text foreground" +msgstr "" + msgid "Text direction" msgstr "Teksti suund" -#: gtk/gtktexttag.c:219 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Teksti suund, kas vasakult-paremale või paremalt vasakule" -#: gtk/gtktexttag.c:268 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "" -#: gtk/gtktexttag.c:277 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "" -#: gtk/gtktexttag.c:286 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" msgstr "" -#: gtk/gtktexttag.c:297 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "" -#: gtk/gtktexttag.c:306 msgid "Font size in Pango units" msgstr "Kirja suurus Pango ühikutes" -#: gtk/gtktexttag.c:316 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " "such as PANGO_SCALE_X_LARGE" msgstr "" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 msgid "Left, right, or center justification" msgstr "Joondamine vasakule, paremale või keskele" -#: gtk/gtktexttag.c:355 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." msgstr "" -#: gtk/gtktexttag.c:362 msgid "Left margin" msgstr "Vasak veeris" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 msgid "Width of the left margin in pixels" msgstr "Vasaku veerise laius pikslites" -#: gtk/gtktexttag.c:372 msgid "Right margin" msgstr "Paremveeris" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 msgid "Width of the right margin in pixels" msgstr "Parema veerise laius pikslites" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 msgid "Indent" msgstr "Taane" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 msgid "Amount to indent the paragraph, in pixels" msgstr "Lõigu taane pikslites" -#: gtk/gtktexttag.c:395 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" msgstr "" -#: gtk/gtktexttag.c:404 msgid "Pixels above lines" msgstr "" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 msgid "Pixels of blank space above paragraphs" msgstr "" -#: gtk/gtktexttag.c:414 msgid "Pixels below lines" msgstr "" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 msgid "Pixels of blank space below paragraphs" msgstr "" -#: gtk/gtktexttag.c:424 msgid "Pixels inside wrap" msgstr "" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "Kas ridu murtakse sõnade või märkide vahelt või ei murta üldse" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 msgid "Tabs" msgstr "" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 msgid "Custom tabs for this text" msgstr "" -#: gtk/gtktexttag.c:480 msgid "Invisible" msgstr "Nähtamatu" -#: gtk/gtktexttag.c:481 msgid "Whether this text is hidden." msgstr "Kas see tekst on peidetud." -#: gtk/gtktexttag.c:495 msgid "Paragraph background color name" msgstr "Lõigu taustavärvi nimi" -#: gtk/gtktexttag.c:496 msgid "Paragraph background color as a string" msgstr "Lõigu taustavärvi nimi stringina" -#: gtk/gtktexttag.c:511 msgid "Paragraph background color" msgstr "Lõigu taustavärv" -#: gtk/gtktexttag.c:512 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Lõigu taustavärvi nimi GdkColor (võimalik, et eraldamata) väärtusena" -#: gtk/gtktexttag.c:530 msgid "Margin Accumulates" msgstr "" -#: gtk/gtktexttag.c:531 msgid "Whether left and right margins accumulate." msgstr "" -#: gtk/gtktexttag.c:544 msgid "Background full height set" msgstr "" -#: gtk/gtktexttag.c:545 msgid "Whether this tag affects background height" msgstr "" -#: gtk/gtktexttag.c:584 +msgid "Background stipple set" +msgstr "" + +msgid "Whether this tag affects the background stipple" +msgstr "" + +msgid "Foreground stipple set" +msgstr "" + +msgid "Whether this tag affects the foreground stipple" +msgstr "" + msgid "Justification set" msgstr "" -#: gtk/gtktexttag.c:585 msgid "Whether this tag affects paragraph justification" msgstr "" -#: gtk/gtktexttag.c:592 msgid "Left margin set" msgstr "" -#: gtk/gtktexttag.c:593 msgid "Whether this tag affects the left margin" msgstr "" -#: gtk/gtktexttag.c:596 msgid "Indent set" msgstr "" -#: gtk/gtktexttag.c:597 msgid "Whether this tag affects indentation" msgstr "" -#: gtk/gtktexttag.c:604 msgid "Pixels above lines set" msgstr "" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 msgid "Whether this tag affects the number of pixels above lines" msgstr "" -#: gtk/gtktexttag.c:608 msgid "Pixels below lines set" msgstr "" -#: gtk/gtktexttag.c:612 msgid "Pixels inside wrap set" msgstr "" -#: gtk/gtktexttag.c:613 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "" -#: gtk/gtktexttag.c:620 msgid "Right margin set" msgstr "" -#: gtk/gtktexttag.c:621 msgid "Whether this tag affects the right margin" msgstr "" -#: gtk/gtktexttag.c:628 msgid "Wrap mode set" msgstr "" -#: gtk/gtktexttag.c:629 msgid "Whether this tag affects line wrap mode" msgstr "" -#: gtk/gtktexttag.c:632 msgid "Tabs set" msgstr "" -#: gtk/gtktexttag.c:633 msgid "Whether this tag affects tabs" msgstr "" -#: gtk/gtktexttag.c:636 msgid "Invisible set" msgstr "" -#: gtk/gtktexttag.c:637 msgid "Whether this tag affects text visibility" msgstr "" -#: gtk/gtktexttag.c:640 msgid "Paragraph background set" msgstr "" -#: gtk/gtktexttag.c:641 msgid "Whether this tag affects the paragraph background color" msgstr "" -#: gtk/gtktextview.c:638 msgid "Pixels Above Lines" msgstr "" -#: gtk/gtktextview.c:648 msgid "Pixels Below Lines" msgstr "" -#: gtk/gtktextview.c:658 msgid "Pixels Inside Wrap" msgstr "" -#: gtk/gtktextview.c:676 msgid "Wrap Mode" msgstr "Murdmine" -#: gtk/gtktextview.c:694 msgid "Left Margin" msgstr "Vasakveeris" -#: gtk/gtktextview.c:704 msgid "Right Margin" msgstr "Paremveeris" -#: gtk/gtktextview.c:732 msgid "Cursor Visible" msgstr "Kursor nähtav" -#: gtk/gtktextview.c:733 msgid "If the insertion cursor is shown" msgstr "Kas sisestuskursor on nähtav" -#: gtk/gtktextview.c:740 msgid "Buffer" msgstr "" -#: gtk/gtktextview.c:741 msgid "The buffer which is displayed" msgstr "" -#: gtk/gtktextview.c:749 msgid "Whether entered text overwrites existing contents" msgstr "Kas sisestatud tekst kirjutab olemasoleva teksti üle või mitte" -#: gtk/gtktextview.c:756 msgid "Accepts tab" msgstr "" -#: gtk/gtktextview.c:757 msgid "Whether Tab will result in a tab character being entered" msgstr "" -#: gtk/gtktextview.c:786 msgid "Error underline color" msgstr "" -#: gtk/gtktextview.c:787 msgid "Color with which to draw error-indication underlines" msgstr "" -#: gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "" -#: gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" msgstr "" -#: gtk/gtktoggleaction.c:134 -#, fuzzy -msgid "Whether the toggle action should be active" -msgstr "Kas külastatud viitasid tuleb jälgida või mitte" +msgid "If the toggle action should be active in or not" +msgstr "" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 -#, fuzzy -msgid "If the toggle button should be pressed in" -msgstr "Kas nupu sisse/väljalülitamise osa kuvatakse või mitte" +msgid "If the toggle button should be pressed in or not" +msgstr "" -#: gtk/gtktogglebutton.c:124 msgid "If the toggle button is in an \"in between\" state" msgstr "" -#: gtk/gtktogglebutton.c:131 msgid "Draw Indicator" msgstr "Näidiku joonistamine" -#: gtk/gtktogglebutton.c:132 msgid "If the toggle part of the button is displayed" msgstr "Kas nupu sisse/väljalülitamise osa kuvatakse või mitte" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 msgid "Toolbar Style" msgstr "Tööriistarea laad" -#: gtk/gtktoolbar.c:466 msgid "How to draw the toolbar" msgstr "Kuidas tööriistariba joonistatakse" -#: gtk/gtktoolbar.c:473 msgid "Show Arrow" msgstr "Noole näitamine" -#: gtk/gtktoolbar.c:474 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Kui tööriistariba ei mahu aknasse, kas siis näidatakse noolt või mitte" -#: gtk/gtktoolbar.c:495 +msgid "Tooltips" +msgstr "Vihjed" + +msgid "If the tooltips of the toolbar should be active or not" +msgstr "Kas tööriistariba vihjed peaks olema aktiveeritud või mitte" + msgid "Size of icons in this toolbar" msgstr "Ikoonide suurus sellel tööriistaribal" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 msgid "Icon size set" msgstr "Ikooni suurus määratud" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 msgid "Whether the icon-size property has been set" msgstr "Kas ikooni suuruse omadus on määratud või mitte" -#: gtk/gtktoolbar.c:520 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" -#: gtk/gtktoolbar.c:535 msgid "Spacer size" msgstr "" -#: gtk/gtktoolbar.c:536 msgid "Size of spacers" msgstr "" -#: gtk/gtktoolbar.c:545 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "" -#: gtk/gtktoolbar.c:553 msgid "Maximum child expand" msgstr "" -#: gtk/gtktoolbar.c:554 msgid "Maximum amount of space an expandable item will be given" msgstr "" -#: gtk/gtktoolbar.c:562 msgid "Space style" msgstr "Tühikulaad" -#: gtk/gtktoolbar.c:563 msgid "Whether spacers are vertical lines or just blank" msgstr "Näitab, kas ruumitäitjad on vertikaaljooned või lihtsalt tühikud" -#: gtk/gtktoolbar.c:570 msgid "Button relief" msgstr "" -#: gtk/gtktoolbar.c:571 msgid "Type of bevel around toolbar buttons" msgstr "" -#: gtk/gtktoolbar.c:578 msgid "Style of bevel around the toolbar" msgstr "" -#: gtk/gtktoolbutton.c:203 +msgid "Toolbar style" +msgstr "Tööriistarea laad" + +msgid "" +"Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "" +"Näitab, kas vaikimisi on tööriistaribadel ainult tekst, ainult ikoonid või " +"mõlemad, jne." + +msgid "Toolbar icon size" +msgstr "Tööriistarea ikooni suurus" + +msgid "Size of icons in default toolbars" +msgstr "Tööriistareal olevate ikoonide vaikimisi suurus" + msgid "Text to show in the item." msgstr "" -#: gtk/gtktoolbutton.c:210 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" msgstr "" "Määramise korral tähendab sildi omadusel olev alakriips, et sellest " -"järgnevale märgile vastav klahv on mnemooniline kiirendusklahv" +"järgnevale märgile vastav klahv on mnemooniline kiirklahv" -#: gtk/gtktoolbutton.c:217 msgid "Widget to use as the item label" msgstr "" -#: gtk/gtktoolbutton.c:223 msgid "Stock Id" msgstr "" -#: gtk/gtktoolbutton.c:224 msgid "The stock icon displayed on the item" msgstr "" -#: gtk/gtktoolbutton.c:240 msgid "Icon name" msgstr "Ikooni nimi" -#: gtk/gtktoolbutton.c:241 msgid "The name of the themed icon displayed on the item" msgstr "" -#: gtk/gtktoolbutton.c:247 msgid "Icon widget" msgstr "Ikoonividin" -#: gtk/gtktoolbutton.c:248 msgid "Icon widget to display in the item" msgstr "Ikoonividin kirje kuvamiseks" -#: gtk/gtktoolbutton.c:261 msgid "Icon spacing" msgstr "Ikooni kaugus" -#: gtk/gtktoolbutton.c:262 msgid "Spacing in pixels between the icon and label" msgstr "Ikooni ja sildi vahel olev ruum pikslites" -#: gtk/gtktoolitem.c:201 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" msgstr "" -#: gtk/gtktoolitemgroup.c:1572 -#, fuzzy -msgid "The human-readable title of this item group" -msgstr "Oleku kirjeldus inimloetaval kujul" - -#: gtk/gtktoolitemgroup.c:1579 -#, fuzzy -msgid "A widget to display in place of the usual label" -msgstr "Ikoonividin kirje kuvamiseks" - -#: gtk/gtktoolitemgroup.c:1585 -msgid "Collapsed" -msgstr "" - -#: gtk/gtktoolitemgroup.c:1586 -#, fuzzy -msgid "Whether the group has been collapsed and items are hidden" -msgstr "Las laiendaja on lapsvidina näitamiseks avatud või mitte" - -#: gtk/gtktoolitemgroup.c:1592 -#, fuzzy -msgid "ellipsize" -msgstr "Piksli suurus" - -#: gtk/gtktoolitemgroup.c:1593 -msgid "Ellipsize for item group headers" -msgstr "" - -#: gtk/gtktoolitemgroup.c:1599 -#, fuzzy -msgid "Header Relief" -msgstr "Päise pilt" - -#: gtk/gtktoolitemgroup.c:1600 -#, fuzzy -msgid "Relief of the group header button" -msgstr "Nuppude kuvamine veerupäises" - -#: gtk/gtktoolitemgroup.c:1615 -#, fuzzy -msgid "Header Spacing" -msgstr "Päise polsterdus" - -#: gtk/gtktoolitemgroup.c:1616 -#, fuzzy -msgid "Spacing between expander arrow and caption" -msgstr "Laiendaja noole ümber olev ruum" - -#: gtk/gtktoolitemgroup.c:1632 -#, fuzzy -msgid "Whether the item should receive extra space when the group grows" -msgstr "Kas lapsobjekt saab rohkem ruumi, kui vanemobjekti suurus kasvab" - -#: gtk/gtktoolitemgroup.c:1639 -#, fuzzy -msgid "Whether the item should fill the available space" -msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" - -#: gtk/gtktoolitemgroup.c:1645 -msgid "New Row" -msgstr "" - -#: gtk/gtktoolitemgroup.c:1646 -#, fuzzy -msgid "Whether the item should start a new row" -msgstr "Kas kirjeid näidatakse koos numbritega või mitte" - -#: gtk/gtktoolitemgroup.c:1653 -msgid "Position of the item within this group" -msgstr "" - -#: gtk/gtktoolpalette.c:1004 -#, fuzzy -msgid "Size of icons in this tool palette" -msgstr "Ikoonide suurus sellel tööriistaribal" - -#: gtk/gtktoolpalette.c:1034 -#, fuzzy -msgid "Style of items in the tool palette" -msgstr "Ikoonide suurus sellel tööriistaribal" - -#: gtk/gtktoolpalette.c:1050 -msgid "Exclusive" -msgstr "" - -#: gtk/gtktoolpalette.c:1051 -#, fuzzy -msgid "Whether the item group should be the only expanded at a given time" -msgstr "Kas kirjeid näidatakse koos numbritega või mitte" - -#: gtk/gtktoolpalette.c:1066 -#, fuzzy -msgid "" -"Whether the item group should receive extra space when the palette grows" -msgstr "Kas lapsobjekt saab rohkem ruumi, kui vanemobjekti suurus kasvab" - -#: gtk/gtktrayicon-x11.c:134 -#, fuzzy -msgid "Foreground color for symbolic icons" -msgstr "Esiplaanivärv stringina" - -#: gtk/gtktrayicon-x11.c:141 -#, fuzzy -msgid "Error color" -msgstr "Kursori värvus" - -#: gtk/gtktrayicon-x11.c:142 -msgid "Error color for symbolic icons" -msgstr "" - -#: gtk/gtktrayicon-x11.c:149 -#, fuzzy -msgid "Warning color" -msgstr "Taustavärv" - -#: gtk/gtktrayicon-x11.c:150 -msgid "Warning color for symbolic icons" -msgstr "" - -#: gtk/gtktrayicon-x11.c:157 -#, fuzzy -msgid "Success color" -msgstr "Kursori värvus" - -#: gtk/gtktrayicon-x11.c:158 -msgid "Success color for symbolic icons" -msgstr "" - -#: gtk/gtktrayicon-x11.c:166 -#, fuzzy -msgid "Padding that should be put around icons in the tray" -msgstr "Kas kirje ligidal peaks olema ikoon või mitte" - -#: gtk/gtktreemodelsort.c:278 msgid "TreeModelSort Model" msgstr "" -#: gtk/gtktreemodelsort.c:279 msgid "The model for the TreeModelSort to sort" msgstr "" -#: gtk/gtktreeview.c:563 msgid "TreeView Model" msgstr "" -#: gtk/gtktreeview.c:564 msgid "The model for the tree view" msgstr "" -#: gtk/gtktreeview.c:572 msgid "Horizontal Adjustment for the widget" msgstr "Vidina horisontaalne suund" -#: gtk/gtktreeview.c:580 msgid "Vertical Adjustment for the widget" msgstr "Vidina vertikaalne suund" -#: gtk/gtktreeview.c:587 msgid "Headers Visible" msgstr "Päised nähtaval" -#: gtk/gtktreeview.c:588 msgid "Show the column header buttons" msgstr "Nuppude kuvamine veerupäises" -#: gtk/gtktreeview.c:595 msgid "Headers Clickable" msgstr "" -#: gtk/gtktreeview.c:596 msgid "Column headers respond to click events" msgstr "" -#: gtk/gtktreeview.c:603 msgid "Expander Column" msgstr "Laiendusveerg" -#: gtk/gtktreeview.c:604 msgid "Set the column for the expander column" msgstr "Veeru määramine laiendusveeruks" -#: gtk/gtktreeview.c:619 msgid "Rules Hint" msgstr "" -#: gtk/gtktreeview.c:620 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" -#: gtk/gtktreeview.c:627 msgid "Enable Search" msgstr "" -#: gtk/gtktreeview.c:628 msgid "View allows user to search through columns interactively" msgstr "" -#: gtk/gtktreeview.c:635 msgid "Search Column" msgstr "" -#: gtk/gtktreeview.c:636 msgid "Model column to search through during interactive search" msgstr "" -#: gtk/gtktreeview.c:656 msgid "Fixed Height Mode" msgstr "" -#: gtk/gtktreeview.c:657 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "" -#: gtk/gtktreeview.c:677 msgid "Hover Selection" msgstr "" -#: gtk/gtktreeview.c:678 msgid "Whether the selection should follow the pointer" msgstr "" -#: gtk/gtktreeview.c:697 msgid "Hover Expand" msgstr "" -#: gtk/gtktreeview.c:698 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" -#: gtk/gtktreeview.c:712 msgid "Show Expanders" msgstr "" -#: gtk/gtktreeview.c:713 msgid "View has expanders" msgstr "" -#: gtk/gtktreeview.c:727 msgid "Level Indentation" msgstr "" -#: gtk/gtktreeview.c:728 msgid "Extra indentation for each level" msgstr "" -#: gtk/gtktreeview.c:737 msgid "Rubber Banding" msgstr "" -#: gtk/gtktreeview.c:738 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" -#: gtk/gtktreeview.c:745 msgid "Enable Grid Lines" msgstr "" -#: gtk/gtktreeview.c:746 msgid "Whether grid lines should be drawn in the tree view" msgstr "" -#: gtk/gtktreeview.c:754 msgid "Enable Tree Lines" msgstr "" -#: gtk/gtktreeview.c:755 msgid "Whether tree lines should be drawn in the tree view" msgstr "" -#: gtk/gtktreeview.c:763 msgid "The column in the model containing the tooltip texts for the rows" msgstr "" -#: gtk/gtktreeview.c:785 msgid "Vertical Separator Width" msgstr "" -#: gtk/gtktreeview.c:786 msgid "Vertical space between cells. Must be an even number" msgstr "" -#: gtk/gtktreeview.c:794 msgid "Horizontal Separator Width" msgstr "" -#: gtk/gtktreeview.c:795 msgid "Horizontal space between cells. Must be an even number" msgstr "" -#: gtk/gtktreeview.c:803 msgid "Allow Rules" msgstr "" -#: gtk/gtktreeview.c:804 msgid "Allow drawing of alternating color rows" msgstr "" -#: gtk/gtktreeview.c:810 msgid "Indent Expanders" msgstr "" -#: gtk/gtktreeview.c:811 msgid "Make the expanders indented" msgstr "" -#: gtk/gtktreeview.c:817 msgid "Even Row Color" msgstr "Paarisarvulise rea värvus" -#: gtk/gtktreeview.c:818 msgid "Color to use for even rows" msgstr "Paarisarvuliste ridade joonistamiseks kasutatav värvus" -#: gtk/gtktreeview.c:824 msgid "Odd Row Color" msgstr "Paarituarvulise rea värvus" -#: gtk/gtktreeview.c:825 msgid "Color to use for odd rows" msgstr "Paarituarvuliste ridade joonistamiseks kasutatav värvus" -#: gtk/gtktreeview.c:831 +msgid "Row Ending details" +msgstr "" + +msgid "Enable extended row background theming" +msgstr "" + msgid "Grid line width" msgstr "" -#: gtk/gtktreeview.c:832 msgid "Width, in pixels, of the tree view grid lines" msgstr "" -#: gtk/gtktreeview.c:838 msgid "Tree line width" msgstr "" -#: gtk/gtktreeview.c:839 msgid "Width, in pixels, of the tree view lines" msgstr "" -#: gtk/gtktreeview.c:845 msgid "Grid line pattern" msgstr "" -#: gtk/gtktreeview.c:846 msgid "Dash pattern used to draw the tree view grid lines" msgstr "" -#: gtk/gtktreeview.c:852 msgid "Tree line pattern" msgstr "" -#: gtk/gtktreeview.c:853 msgid "Dash pattern used to draw the tree view lines" msgstr "" -#: gtk/gtktreeviewcolumn.c:196 msgid "Whether to display the column" msgstr "" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 msgid "Resizable" msgstr "Suurus muudetav" -#: gtk/gtktreeviewcolumn.c:204 msgid "Column is user-resizable" msgstr "" -#: gtk/gtktreeviewcolumn.c:212 msgid "Current width of the column" msgstr "" -#: gtk/gtktreeviewcolumn.c:221 msgid "Space which is inserted between cells" msgstr "" -#: gtk/gtktreeviewcolumn.c:229 msgid "Sizing" msgstr "" -#: gtk/gtktreeviewcolumn.c:230 msgid "Resize mode of the column" msgstr "" -#: gtk/gtktreeviewcolumn.c:238 msgid "Fixed Width" msgstr "Fikseeritud laius" -#: gtk/gtktreeviewcolumn.c:239 msgid "Current fixed width of the column" msgstr "Veeru fikseeritud laius" -#: gtk/gtktreeviewcolumn.c:248 msgid "Minimum Width" msgstr "Minimaalne laius" -#: gtk/gtktreeviewcolumn.c:249 msgid "Minimum allowed width of the column" msgstr "Veeru minimaalne lubatud laius" -#: gtk/gtktreeviewcolumn.c:258 msgid "Maximum Width" msgstr "Maksimaalne laius" -#: gtk/gtktreeviewcolumn.c:259 msgid "Maximum allowed width of the column" msgstr "Veeru maksimaalne lubatud laius" -#: gtk/gtktreeviewcolumn.c:269 msgid "Title to appear in column header" msgstr "Veeru päises näidatav pealkiri" -#: gtk/gtktreeviewcolumn.c:277 msgid "Column gets share of extra width allocated to the widget" msgstr "" -#: gtk/gtktreeviewcolumn.c:284 msgid "Clickable" msgstr "Klõpsatav" -#: gtk/gtktreeviewcolumn.c:285 msgid "Whether the header can be clicked" msgstr "Päist saab klõpsata või mitte" -#: gtk/gtktreeviewcolumn.c:293 msgid "Widget" msgstr "Vidin" -#: gtk/gtktreeviewcolumn.c:294 msgid "Widget to put in column header button instead of column title" msgstr "" -#: gtk/gtktreeviewcolumn.c:302 msgid "X Alignment of the column header text or widget" msgstr "Veeru päiseteksti või -vidina rõhtjoondus" -#: gtk/gtktreeviewcolumn.c:312 msgid "Whether the column can be reordered around the headers" msgstr "" -#: gtk/gtktreeviewcolumn.c:319 msgid "Sort indicator" msgstr "Sortimisnäidik" -#: gtk/gtktreeviewcolumn.c:320 msgid "Whether to show a sort indicator" msgstr "Kas sortimisnäidikut tuleb näidata või mitte" -#: gtk/gtktreeviewcolumn.c:327 msgid "Sort order" msgstr "Sortimisjärjestus" -#: gtk/gtktreeviewcolumn.c:328 msgid "Sort direction the sort indicator should indicate" msgstr "" -#: gtk/gtktreeviewcolumn.c:344 msgid "Sort column ID" msgstr "" -#: gtk/gtktreeviewcolumn.c:345 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" -#: gtk/gtkuimanager.c:225 msgid "Whether tearoff menu items should be added to menus" msgstr "" -#: gtk/gtkuimanager.c:232 msgid "Merged UI definition" msgstr "" -#: gtk/gtkuimanager.c:233 msgid "An XML string describing the merged UI" msgstr "" -#: gtk/gtkviewport.c:143 msgid "" "The GtkAdjustment that determines the values of the horizontal position for " "this viewport" msgstr "" -#: gtk/gtkviewport.c:151 msgid "" "The GtkAdjustment that determines the values of the vertical position for " "this viewport" msgstr "" -#: gtk/gtkviewport.c:159 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" -#: gtk/gtkwidget.c:714 msgid "Widget name" msgstr "" -#: gtk/gtkwidget.c:715 msgid "The name of the widget" msgstr "" -#: gtk/gtkwidget.c:721 msgid "Parent widget" msgstr "" -#: gtk/gtkwidget.c:722 msgid "The parent widget of this widget. Must be a Container widget" msgstr "" -#: gtk/gtkwidget.c:729 msgid "Width request" msgstr "" -#: gtk/gtkwidget.c:730 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" msgstr "" -#: gtk/gtkwidget.c:738 msgid "Height request" msgstr "" -#: gtk/gtkwidget.c:739 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" msgstr "" -#: gtk/gtkwidget.c:748 msgid "Whether the widget is visible" msgstr "Kas vidin on nähtav või mitte" -#: gtk/gtkwidget.c:755 msgid "Whether the widget responds to input" msgstr "Kas vidin reageerib sisendile või mitte" -#: gtk/gtkwidget.c:761 msgid "Application paintable" msgstr "" -#: gtk/gtkwidget.c:762 msgid "Whether the application will paint directly on the widget" msgstr "" -#: gtk/gtkwidget.c:768 msgid "Can focus" msgstr "Fookus lubatud" -#: gtk/gtkwidget.c:769 msgid "Whether the widget can accept the input focus" msgstr "Kas vidin aktsepteerib sisendi fookust või mitte" -#: gtk/gtkwidget.c:775 msgid "Has focus" msgstr "On fookuses" -#: gtk/gtkwidget.c:776 msgid "Whether the widget has the input focus" msgstr "Kas vidin on sisestamisfookuses või mitte" -#: gtk/gtkwidget.c:782 msgid "Is focus" msgstr "" -#: gtk/gtkwidget.c:783 msgid "Whether the widget is the focus widget within the toplevel" msgstr "" -#: gtk/gtkwidget.c:789 msgid "Can default" msgstr "Võib olla vaikimisi vidin" -#: gtk/gtkwidget.c:790 msgid "Whether the widget can be the default widget" msgstr "Kas vidin võib olla vaikimisi vidin või mitte" -#: gtk/gtkwidget.c:796 msgid "Has default" msgstr "On vaikimisi vidin" -#: gtk/gtkwidget.c:797 msgid "Whether the widget is the default widget" msgstr "Kas vidin on vaikimisi vidin või mitte" -#: gtk/gtkwidget.c:803 msgid "Receives default" msgstr "" -#: gtk/gtkwidget.c:804 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "" -#: gtk/gtkwidget.c:810 msgid "Composite child" msgstr "" -#: gtk/gtkwidget.c:811 msgid "Whether the widget is part of a composite widget" msgstr "" -#: gtk/gtkwidget.c:817 msgid "Style" msgstr "Laad" -#: gtk/gtkwidget.c:818 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "Vidina laad, mis sisaldab andmeid vidina välimuse kohta (värvused jms)" -#: gtk/gtkwidget.c:824 msgid "Events" msgstr "" -#: gtk/gtkwidget.c:825 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" -#: gtk/gtkwidget.c:832 msgid "Extension events" msgstr "" -#: gtk/gtkwidget.c:833 msgid "The mask that decides what kind of extension events this widget gets" msgstr "" -#: gtk/gtkwidget.c:840 msgid "No show all" msgstr "" -#: gtk/gtkwidget.c:841 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "" -#: gtk/gtkwidget.c:864 msgid "Whether this widget has a tooltip" msgstr "Kas sellel vidinal on vihje või mitte" -#: gtk/gtkwidget.c:920 msgid "Window" msgstr "Aken" -#: gtk/gtkwidget.c:921 msgid "The widget's window if it is realized" msgstr "" -#: gtk/gtkwidget.c:935 msgid "Double Buffered" msgstr "" -#: gtk/gtkwidget.c:936 #, fuzzy -msgid "Whether the widget is double buffered" +msgid "Whether or not the widget is double buffered" msgstr "Kas vidin on nähtav või mitte" -#: gtk/gtkwidget.c:951 -msgid "How to position in extra horizontal space" -msgstr "" - -#: gtk/gtkwidget.c:967 -msgid "How to position in extra vertical space" -msgstr "" - -#: gtk/gtkwidget.c:986 -#, fuzzy -msgid "Margin on Left" -msgstr "Ääris" - -#: gtk/gtkwidget.c:987 -msgid "Pixels of extra space on the left side" -msgstr "" - -#: gtk/gtkwidget.c:1007 -msgid "Margin on Right" -msgstr "" - -#: gtk/gtkwidget.c:1008 -msgid "Pixels of extra space on the right side" -msgstr "" - -#: gtk/gtkwidget.c:1028 -#, fuzzy -msgid "Margin on Top" -msgstr "Ääris" - -#: gtk/gtkwidget.c:1029 -msgid "Pixels of extra space on the top side" -msgstr "" - -#: gtk/gtkwidget.c:1049 -msgid "Margin on Bottom" -msgstr "" - -#: gtk/gtkwidget.c:1050 -msgid "Pixels of extra space on the bottom side" -msgstr "" - -#: gtk/gtkwidget.c:1067 -#, fuzzy -msgid "All Margins" -msgstr "Ääris" - -#: gtk/gtkwidget.c:1068 -msgid "Pixels of extra space on all four sides" -msgstr "" - -#: gtk/gtkwidget.c:2741 msgid "Interior Focus" msgstr "" -#: gtk/gtkwidget.c:2742 msgid "Whether to draw the focus indicator inside widgets" msgstr "" -#: gtk/gtkwidget.c:2748 msgid "Focus linewidth" msgstr "" -#: gtk/gtkwidget.c:2749 msgid "Width, in pixels, of the focus indicator line" msgstr "" -#: gtk/gtkwidget.c:2755 msgid "Focus line dash pattern" msgstr "" -#: gtk/gtkwidget.c:2756 msgid "Dash pattern used to draw the focus indicator" msgstr "" -#: gtk/gtkwidget.c:2761 msgid "Focus padding" msgstr "" -#: gtk/gtkwidget.c:2762 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "" -#: gtk/gtkwidget.c:2767 msgid "Cursor color" msgstr "Kursori värvus" -#: gtk/gtkwidget.c:2768 msgid "Color with which to draw insertion cursor" msgstr "Lisamiskursori joonistamise värvus" -#: gtk/gtkwidget.c:2773 msgid "Secondary cursor color" msgstr "Sekundaarse kursori värvus" -#: gtk/gtkwidget.c:2774 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6863,124 +5192,112 @@ msgstr "" "Sekundaarse kursori joonistamise värvus juhuks, kui peaks rööbiti " "redigeeritama nii vasakult-paremale kui paremalt-vasakule teksti" -#: gtk/gtkwidget.c:2779 msgid "Cursor line aspect ratio" msgstr "" -#: gtk/gtkwidget.c:2780 msgid "Aspect ratio with which to draw insertion cursor" msgstr "" -#: gtk/gtkwidget.c:2786 -#, fuzzy -msgid "Window dragging" -msgstr "Akna asukoht" +msgid "Draw Border" +msgstr "Raami joonistamine" -#: gtk/gtkwidget.c:2787 -msgid "Whether windows can be dragged by clicking on empty areas" +msgid "Size of areas outside the widget's allocation to draw" msgstr "" -#: gtk/gtkwidget.c:2800 msgid "Unvisited Link Color" msgstr "Külastamata viida värvus" -#: gtk/gtkwidget.c:2801 msgid "Color of unvisited links" msgstr "Külastamata viitade värvus" -#: gtk/gtkwidget.c:2814 msgid "Visited Link Color" msgstr "Külastatud viida värvus" -#: gtk/gtkwidget.c:2815 msgid "Color of visited links" msgstr "Külastatud viitade värvus" -#: gtk/gtkwidget.c:2829 msgid "Wide Separators" msgstr "" -#: gtk/gtkwidget.c:2830 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" msgstr "" -#: gtk/gtkwidget.c:2844 msgid "Separator Width" msgstr "Eraldaja laius" -#: gtk/gtkwidget.c:2845 msgid "The width of separators if wide-separators is TRUE" msgstr "" -#: gtk/gtkwidget.c:2859 msgid "Separator Height" msgstr "Eraldaja kõrgus" -#: gtk/gtkwidget.c:2860 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "" -#: gtk/gtkwidget.c:2874 msgid "Horizontal Scroll Arrow Length" msgstr "" -#: gtk/gtkwidget.c:2875 msgid "The length of horizontal scroll arrows" msgstr "" -#: gtk/gtkwidget.c:2889 msgid "Vertical Scroll Arrow Length" msgstr "" -#: gtk/gtkwidget.c:2890 msgid "The length of vertical scroll arrows" msgstr "" -#: gtk/gtkwindow.c:567 msgid "Window Type" msgstr "Akna liik" -#: gtk/gtkwindow.c:568 msgid "The type of the window" msgstr "Akna liik" -#: gtk/gtkwindow.c:576 msgid "Window Title" msgstr "Akna pealkiri" -#: gtk/gtkwindow.c:577 msgid "The title of the window" msgstr "Akna pealkiri" -#: gtk/gtkwindow.c:584 msgid "Window Role" msgstr "Akna roll" -#: gtk/gtkwindow.c:585 msgid "Unique identifier for the window to be used when restoring a session" msgstr "Seansi taastamisel kasutatav akna unikaalne identifikaator" -#: gtk/gtkwindow.c:601 msgid "Startup ID" msgstr "Käivitus-ID" -#: gtk/gtkwindow.c:602 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Unikaalne käivitusidentifikaator startup-notification'i poolt kasutatava " "akna jaoks" -#: gtk/gtkwindow.c:610 +msgid "Allow Shrink" +msgstr "" + +#, no-c-format +msgid "" +"If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the " +"time a bad idea" +msgstr "" +"Kui TÕENE, siis aknal puudub minimaalne suurus. Sättides selle TÕESEKS on " +"99% ulatuses halb idee" + +msgid "Allow Grow" +msgstr "Luba kasvada" + +msgid "If TRUE, users can expand the window beyond its minimum size" +msgstr "" +"Kui TÕENE, siis kasutajad saavad laiendada akent miinimumsuurusest suuremaks" + msgid "If TRUE, users can resize the window" msgstr "Kui TÕENE, siis kasutajad saavad akna suurust muuta" -#: gtk/gtkwindow.c:617 msgid "Modal" msgstr "Modaalne" -#: gtk/gtkwindow.c:618 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -6988,379 +5305,128 @@ msgstr "" "Kui tõene, siis on see aken modaalne (teisi aknaid ei saa kasutada, kui see " "aken on pealmine)" -#: gtk/gtkwindow.c:625 msgid "Window Position" msgstr "Akna asukoht" -#: gtk/gtkwindow.c:626 msgid "The initial position of the window" msgstr "Akna algne asukoht" -#: gtk/gtkwindow.c:634 msgid "Default Width" msgstr "Vaikimisi laius" -#: gtk/gtkwindow.c:635 msgid "The default width of the window, used when initially showing the window" msgstr "Akna vaikimisi laius, kasutatakse akna esmakordsel näitamisel" -#: gtk/gtkwindow.c:644 msgid "Default Height" msgstr "Vaikimisi kõrgus" -#: gtk/gtkwindow.c:645 msgid "" "The default height of the window, used when initially showing the window" msgstr "Akna vaikimisi kõrgus, kasutatakse akna esmakordsel näitamisel" -#: gtk/gtkwindow.c:654 msgid "Destroy with Parent" msgstr "Hävib koos vanemaga" -#: gtk/gtkwindow.c:655 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Kas see aken hävitatakse, kui tema vanem hävitatakse" -#: gtk/gtkwindow.c:663 msgid "Icon for this window" msgstr "Selle akna ikoon" -#: gtk/gtkwindow.c:669 -#, fuzzy -msgid "Mnemonics Visible" -msgstr "Mnemooniline klahv" - -#: gtk/gtkwindow.c:670 -msgid "Whether mnemonics are currently visible in this window" -msgstr "" - -#: gtk/gtkwindow.c:686 msgid "Name of the themed icon for this window" -msgstr "Sellele aknale määratud temaatiline ikoon" +msgstr "Sellele aknale määratud teemakohane ikoon" -#: gtk/gtkwindow.c:701 msgid "Is Active" msgstr "On aktiivne" -#: gtk/gtkwindow.c:702 msgid "Whether the toplevel is the current active window" msgstr "" -#: gtk/gtkwindow.c:709 msgid "Focus in Toplevel" msgstr "" -#: gtk/gtkwindow.c:710 msgid "Whether the input focus is within this GtkWindow" msgstr "" -#: gtk/gtkwindow.c:717 msgid "Type hint" msgstr "" -#: gtk/gtkwindow.c:718 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." msgstr "" -#: gtk/gtkwindow.c:726 msgid "Skip taskbar" msgstr "Tegumiriba puudub" -#: gtk/gtkwindow.c:727 msgid "TRUE if the window should not be in the task bar." msgstr "Kui TÕENE, siis aknal ei peaks tegumiriba olema." -#: gtk/gtkwindow.c:734 msgid "Skip pager" msgstr "" -#: gtk/gtkwindow.c:735 msgid "TRUE if the window should not be in the pager." -msgstr "" +msgstr "Kui TÕENE, siis ei peaks akent töölaudade lülitajas näitama." -#: gtk/gtkwindow.c:742 msgid "Urgent" msgstr "" -#: gtk/gtkwindow.c:743 msgid "TRUE if the window should be brought to the user's attention." msgstr "" -#: gtk/gtkwindow.c:757 msgid "Accept focus" msgstr "Fookus lubatud" -#: gtk/gtkwindow.c:758 msgid "TRUE if the window should receive the input focus." msgstr "Kui TÕENE, siis võib aken sisestusfookusesse sattuda." -#: gtk/gtkwindow.c:772 msgid "Focus on map" msgstr "" -#: gtk/gtkwindow.c:773 msgid "TRUE if the window should receive the input focus when mapped." msgstr "" -#: gtk/gtkwindow.c:787 msgid "Decorated" msgstr "Dekoreeritud" -#: gtk/gtkwindow.c:788 msgid "Whether the window should be decorated by the window manager" msgstr "Kas aken peaks olema aknahalduri poolt dekoreeritud" -#: gtk/gtkwindow.c:802 msgid "Deletable" msgstr "Kustutatav" -#: gtk/gtkwindow.c:803 msgid "Whether the window frame should have a close button" msgstr "Kas aknaraamil peaks olema sulgemisnupp" -#: gtk/gtkwindow.c:819 msgid "Gravity" msgstr "Külgetõmme" -#: gtk/gtkwindow.c:820 msgid "The window gravity of the window" msgstr "Akna külgetõmme" -#: gtk/gtkwindow.c:837 msgid "Transient for Window" msgstr "" -#: gtk/gtkwindow.c:838 msgid "The transient parent of the dialog" msgstr "" -#: gtk/gtkwindow.c:853 msgid "Opacity for Window" -msgstr "" +msgstr "Akna läbipaistvus" -#: gtk/gtkwindow.c:854 msgid "The opacity of the window, from 0 to 1" -msgstr "" +msgstr "Akna läbipaistvus, väärtused vahemikus 0-1" -#: modules/input/gtkimcontextxim.c:334 msgid "IM Preedit style" msgstr "" -#: modules/input/gtkimcontextxim.c:335 msgid "How to draw the input method preedit string" msgstr "" -#: modules/input/gtkimcontextxim.c:343 msgid "IM Status style" msgstr "" -#: modules/input/gtkimcontextxim.c:344 msgid "How to draw the input method statusbar" msgstr "Kuidas peab sisendmeetodi olekuriba joonistama" -#~ msgid "Loop" -#~ msgstr "Korduv" - -#~ msgid "Whether the animation should loop when it reaches the end" -#~ msgstr "Kas animatsioonid peavad lõppedes uuesti alustama või mitte" - -#~ msgid "Number of Channels" -#~ msgstr "Kanalite arv" - -#~ msgid "The number of samples per pixel" -#~ msgstr "Näidiste arv piksli kohta" - -#~ msgid "Colorspace" -#~ msgstr "Värviruum" - -#~ msgid "The colorspace in which the samples are interpreted" -#~ msgstr "Värviruum, milles näidiseid tõlgendatakse" - -#~ msgid "Has Alpha" -#~ msgstr "Alfa väärtusega" - -#~ msgid "Whether the pixbuf has an alpha channel" -#~ msgstr "Kas pixbuf'il on alfakanal" - -#~ msgid "Bits per Sample" -#~ msgstr "Bitte näidise kohta" - -#~ msgid "The number of bits per sample" -#~ msgstr "Näidise bittide arv" - -#~ msgid "The number of columns of the pixbuf" -#~ msgstr "Pixbuf'i tulpade arv" - -#~ msgid "The number of rows of the pixbuf" -#~ msgstr "Pixbuf'i veergude arv" - -#~ msgid "" -#~ "The number of bytes between the start of a row and the start of the next " -#~ "row" -#~ msgstr "Baitide arv rea ja järgmise rea alguse vahel" - -#~ msgid "Pixels" -#~ msgstr "Piksleid" - -#~ msgid "A pointer to the pixel data of the pixbuf" -#~ msgstr "Viit pixbuf'i piksliandmetele" - -#~ msgid "the GdkScreen for the renderer" -#~ msgstr "Renderdaja GdkScreen" - -#~ msgid "Has separator" -#~ msgstr "Omab eraldajat" - -#~ msgid "The dialog has a separator bar above its buttons" -#~ msgstr "Kas dialoogil on nuppude kohal eraldaja" - -#~ msgid "Invisible char set" -#~ msgstr "Nähtamatu märk määratud" - -#~ msgid "State Hint" -#~ msgstr "Olekusvihje" - -#~ msgid "The GdkFont that is currently selected" -#~ msgstr "Hetkel valitud GdkFont" - -#~ msgid "Mask" -#~ msgstr "Mask" - -#~ msgid "Use separator" -#~ msgstr "Eraldaja kasutamine" - -#~ msgid "" -#~ "Whether to put a separator between the message dialog's text and the " -#~ "buttons" -#~ msgstr "Kas teatedialoogi teate ja nuppude vahel peab olema eraldaja" - -#~ msgid "Blinking" -#~ msgstr "Vilkumine" - -#~ msgid "Whether or not the status icon is blinking" -#~ msgstr "Kas olekuikoon vilgub või mitte" - -#~ msgid "Draw Border" -#~ msgstr "Raami joonistamine" - -#~ msgid "" -#~ "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of " -#~ "the time a bad idea" -#~ msgstr "" -#~ "Kui TÕENE, siis aknal puudub minimaalne suurus. Sättides selle TÕESEKS on " -#~ "99% ulatuses halb idee" - -#~ msgid "Allow Grow" -#~ msgstr "Luba kasvada" - -#~ msgid "If TRUE, users can expand the window beyond its minimum size" -#~ msgstr "" -#~ "Kui TÕENE, siis kasutajad saavad laiendada akent miinimumsuurusest " -#~ "suuremaks" - -#~ msgid "Enable arrow keys" -#~ msgstr "Nooleklahvide lubamine" - -#~ msgid "Whether the arrow keys move through the list of items" -#~ msgstr "Kas nooleklahve saab kasutada kirjete loendis liikumiseks" - -#~ msgid "Always enable arrows" -#~ msgstr "Nooled on alati lubatud" - -#~ msgid "Obsolete property, ignored" -#~ msgstr "Iganenud omadus, mida eiratakse" - -#~ msgid "Case sensitive" -#~ msgstr "Tõstutundlik" - -#~ msgid "Whether list item matching is case sensitive" -#~ msgstr "Kas vastav nimekirja kirje on tõstutundlik või mitte" - -#~ msgid "Minimum X" -#~ msgstr "Väikseim X" - -#~ msgid "Minimum possible value for X" -#~ msgstr "X-i väikseim võimalik väärtus" - -#~ msgid "Maximum X" -#~ msgstr "Suurim X" - -#~ msgid "Maximum possible X value" -#~ msgstr "X-i suurim võimalik väärtus" - -#~ msgid "Minimum Y" -#~ msgstr "Väikseim Y" - -#~ msgid "Minimum possible value for Y" -#~ msgstr "Y-i väikseim võimalik väärtus" - -#~ msgid "Maximum Y" -#~ msgstr "Suurim Y" - -#~ msgid "Maximum possible value for Y" -#~ msgstr "Y-i suurim võimalik väärtus" - -#~ msgid "File System Backend" -#~ msgstr "Failisüsteemi taustaprogramm" - -#~ msgid "Name of file system backend to use" -#~ msgstr "Kasutatava failisüsteemi taustaprogrammi nimi" - -#~ msgid "The currently selected filename" -#~ msgstr "Hetkel valitud faili nimi" - -#~ msgid "Show file operations" -#~ msgstr "Näita failitegevusi" - -#~ msgid "Tab Border" -#~ msgstr "Saki ääris" - -#~ msgid "Width of the border around the tab labels" -#~ msgstr "Saki sildi ümber oleva äärise laius" - -#~ msgid "Horizontal Tab Border" -#~ msgstr "Saki rõhtne ääris" - -#~ msgid "Width of the horizontal border of tab labels" -#~ msgstr "Sakisildi rõhtsa äärise laius" - -#~ msgid "Vertical Tab Border" -#~ msgstr "Saki püstine ääris" - -#~ msgid "Width of the vertical border of tab labels" -#~ msgstr "Sakisildi püstise äärise laius" - -#~ msgid "Whether tabs should have homogeneous sizes" -#~ msgstr "Kas sakis peavad olema ühesuurused või mitte" - -#~ msgid "Spacing around indicator" -#~ msgstr "Näidiku ümber olev ruum" - -#~ msgid "Horizontal adjustment for the text widget" -#~ msgstr "Tekstividina rõhtjoondus" - -#~ msgid "Vertical adjustment for the text widget" -#~ msgstr "Tekstividina püstjoondus" - -#~ msgid "Line Wrap" -#~ msgstr "Reamurdmine" - -#~ msgid "Whether lines are wrapped at widget edges" -#~ msgstr "Kas vidinate servas murtakse ridu või mitte" - -#~ msgid "Word Wrap" -#~ msgstr "Sõnade murdmine" - -#~ msgid "Whether words are wrapped at widget edges" -#~ msgstr "Kas sõnad murtakse vidina serval või mite" - -#~ msgid "Tooltips" -#~ msgstr "Vihjed" - -#~ msgid "If the tooltips of the toolbar should be active or not" -#~ msgstr "Kas tööriistariba vihjed peaks olema aktiveeritud või mitte" - #~ msgid "The orientation of the toolbar" #~ msgstr "Tööriistariba suund" From 6b5debcaca54b01beb232fd009b7b9574e39d113 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 07:55:27 -0400 Subject: [PATCH 0032/1463] Remove size_request from GtkPaned This is not the final word; GtkPaned should really implement height-for-width, but I didn't have time to complete that now. --- gtk/gtkpaned.c | 76 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 51 insertions(+), 25 deletions(-) diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index 54837c4a8b..d608d066af 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -119,8 +119,13 @@ static void gtk_paned_get_child_property (GtkContainer *container, GParamSpec *pspec); static void gtk_paned_finalize (GObject *object); -static void gtk_paned_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_paned_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_paned_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); + static void gtk_paned_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_paned_realize (GtkWidget *widget); @@ -228,7 +233,8 @@ gtk_paned_class_init (GtkPanedClass *class) object_class->get_property = gtk_paned_get_property; object_class->finalize = gtk_paned_finalize; - widget_class->size_request = gtk_paned_size_request; + widget_class->get_preferred_width = gtk_paned_get_preferred_width; + widget_class->get_preferred_height = gtk_paned_get_preferred_height; widget_class->size_allocate = gtk_paned_size_allocate; widget_class->realize = gtk_paned_realize; widget_class->unrealize = gtk_paned_unrealize; @@ -792,41 +798,44 @@ gtk_paned_finalize (GObject *object) } static void -gtk_paned_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_paned_get_preferred_size (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural) { GtkPaned *paned = GTK_PANED (widget); GtkPanedPrivate *priv = paned->priv; - GtkRequisition child_requisition; + gint child_min, child_nat; - requisition->width = 0; - requisition->height = 0; + *minimum = *natural = 0; if (priv->child1 && gtk_widget_get_visible (priv->child1)) { - gtk_widget_get_preferred_size (priv->child1, - &child_requisition, NULL); + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_widget_get_preferred_width (priv->child1, &child_min, &child_nat); + else + gtk_widget_get_preferred_height (priv->child1, &child_min, &child_nat); - requisition->height = child_requisition.height; - requisition->width = child_requisition.width; + *minimum = child_min; + *natural = child_nat; } if (priv->child2 && gtk_widget_get_visible (priv->child2)) { - gtk_widget_get_preferred_size (priv->child2, - &child_requisition, NULL); + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_widget_get_preferred_width (priv->child2, &child_min, &child_nat); + else + gtk_widget_get_preferred_height (priv->child2, &child_min, &child_nat); - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + if (priv->orientation == orientation) { - requisition->height = MAX (requisition->height, - child_requisition.height); - requisition->width += child_requisition.width; + *minimum += child_min; + *natural += child_nat; } else { - requisition->width = MAX (requisition->width, - child_requisition.width); - requisition->height += child_requisition.height; + *minimum = MAX (*minimum, child_min); + *natural = MAX (*natural, child_nat); } } @@ -837,13 +846,30 @@ gtk_paned_size_request (GtkWidget *widget, gtk_widget_style_get (widget, "handle-size", &handle_size, NULL); - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - requisition->width += handle_size; - else - requisition->height += handle_size; + if (priv->orientation == orientation) + { + *minimum += handle_size; + *natural += handle_size; + } } } +static void +gtk_paned_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_paned_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, minimum, natural); +} + +static void +gtk_paned_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_paned_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, minimum, natural); +} + static void flip_child (GtkWidget *widget, GtkAllocation *child_pos) From 53744b6daf9c9c1fd305302ab082ce2b9089458d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 07:57:03 -0400 Subject: [PATCH 0033/1463] Fix a typo --- gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 97e89f2c51..b37452f7ad 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -88,7 +88,7 @@ * This allows a widget to tell it's parent container whether * it preferrs to be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH * or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. - * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget preferrs to + * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to * have #GtkWidgetClass.get_preferred_width() called and then * #GtkWidgetClass.get_preferred_height_for_width() and is the * default return for unimplemented cases. From 4927c16486951413db2746b9899fc01c8283b30b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 08:10:40 -0400 Subject: [PATCH 0034/1463] Remove size_request from GtkRange --- gtk/gtkrange.c | 51 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 1d0f296e39..7cd33c8d0d 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -182,8 +182,14 @@ static void gtk_range_get_property (GObject *object, GValue *value, GParamSpec *pspec); static void gtk_range_destroy (GtkWidget *widget); -static void gtk_range_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_range_get_preferred_width + (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_range_get_preferred_height + (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_range_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_range_hierarchy_changed (GtkWidget *widget, @@ -293,7 +299,8 @@ gtk_range_class_init (GtkRangeClass *class) gobject_class->get_property = gtk_range_get_property; widget_class->destroy = gtk_range_destroy; - widget_class->size_request = gtk_range_size_request; + widget_class->get_preferred_width = gtk_range_get_preferred_width; + widget_class->get_preferred_height = gtk_range_get_preferred_height; widget_class->size_allocate = gtk_range_size_allocate; widget_class->hierarchy_changed = gtk_range_hierarchy_changed; widget_class->realize = gtk_range_realize; @@ -1550,16 +1557,17 @@ gtk_range_destroy (GtkWidget *widget) } static void -gtk_range_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_range_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkRange *range; gint slider_width, stepper_size, focus_width, trough_border, stepper_spacing; GdkRectangle range_rect; GtkBorder border; - + range = GTK_RANGE (widget); - + gtk_range_get_props (range, &slider_width, &stepper_size, &focus_width, &trough_border, @@ -1571,8 +1579,33 @@ gtk_range_size_request (GtkWidget *widget, focus_width, trough_border, stepper_spacing, &range_rect, &border, NULL, NULL, NULL, NULL); - requisition->width = range_rect.width + border.left + border.right; - requisition->height = range_rect.height + border.top + border.bottom; + *minimum = *natural = range_rect.width + border.left + border.right; +} + +static void +gtk_range_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRange *range; + gint slider_width, stepper_size, focus_width, trough_border, stepper_spacing; + GdkRectangle range_rect; + GtkBorder border; + + range = GTK_RANGE (widget); + + gtk_range_get_props (range, + &slider_width, &stepper_size, + &focus_width, &trough_border, + &stepper_spacing, NULL, + NULL, NULL); + + gtk_range_calc_request (range, + slider_width, stepper_size, + focus_width, trough_border, stepper_spacing, + &range_rect, &border, NULL, NULL, NULL, NULL); + + *minimum = *natural = range_rect.height + border.top + border.bottom; } static gboolean From 70c81d665114830dffb8d9cb11f9bd6abefd2845 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 08:33:42 -0400 Subject: [PATCH 0035/1463] Remove size_request from GtkSeparator --- gtk/gtkseparator.c | 72 +++++++++++++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 27 deletions(-) diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c index e3c1e6b011..025b80f9bc 100644 --- a/gtk/gtkseparator.c +++ b/gtk/gtkseparator.c @@ -61,9 +61,14 @@ static void gtk_separator_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); - -static void gtk_separator_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_separator_get_preferred_width + (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_separator_get_preferred_height + (GtkWidget *widget, + gint *minimum, + gint *natural); static gboolean gtk_separator_draw (GtkWidget *widget, cairo_t *cr); @@ -82,12 +87,12 @@ gtk_separator_class_init (GtkSeparatorClass *class) object_class->set_property = gtk_separator_set_property; object_class->get_property = gtk_separator_get_property; - widget_class->size_request = gtk_separator_size_request; + widget_class->get_preferred_width = gtk_separator_get_preferred_width; + widget_class->get_preferred_height = gtk_separator_get_preferred_height; + widget_class->draw = gtk_separator_draw; - g_object_class_override_property (object_class, - PROP_ORIENTATION, - "orientation"); + g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); g_type_class_add_private (object_class, sizeof (GtkSeparatorPrivate)); } @@ -149,42 +154,55 @@ gtk_separator_get_property (GObject *object, } static void -gtk_separator_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_separator_get_preferred_size (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural) { GtkSeparator *separator = GTK_SEPARATOR (widget); GtkSeparatorPrivate *private = separator->priv; GtkStyle *style; - gboolean wide_separators; - gint separator_width; - gint separator_height; + gboolean wide_sep; + gint sep_width; + gint sep_height; style = gtk_widget_get_style (widget); gtk_widget_style_get (widget, - "wide-separators", &wide_separators, - "separator-width", &separator_width, - "separator-height", &separator_height, + "wide-separators", &wide_sep, + "separator-width", &sep_width, + "separator-height", &sep_height, NULL); - requisition->width = 1; - requisition->height = 1; - - if (private->orientation == GTK_ORIENTATION_HORIZONTAL) + if (orientation == private->orientation) { - if (wide_separators) - requisition->height = separator_height; - else - requisition->height = style->ythickness; + *minimum = *natural = 1; + } + else if (orientation == GTK_ORIENTATION_VERTICAL) + { + *minimum = *natural = wide_sep ? sep_height : style->ythickness; } else { - if (wide_separators) - requisition->width = separator_width; - else - requisition->width = style->xthickness; + *minimum = *natural = wide_sep ? sep_width : style->xthickness; } } +static void +gtk_separator_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_separator_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, minimum, natural); +} + +static void +gtk_separator_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_separator_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, minimum, natural); +} + static gboolean gtk_separator_draw (GtkWidget *widget, cairo_t *cr) From 7f8d92f02ce25e7bf91c357a7f169de74d8b85ed Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 09:13:26 -0400 Subject: [PATCH 0036/1463] Remove size_request from GtkPathBar --- gtk/gtkpathbar.c | 75 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 54 insertions(+), 21 deletions(-) diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index 96586e40f4..d97dc0d21a 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -85,8 +85,12 @@ static void gtk_path_bar_finalize (GObject *object); static void gtk_path_bar_dispose (GObject *object); static void gtk_path_bar_realize (GtkWidget *widget); static void gtk_path_bar_unrealize (GtkWidget *widget); -static void gtk_path_bar_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_path_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_path_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_path_bar_map (GtkWidget *widget); static void gtk_path_bar_unmap (GtkWidget *widget); static void gtk_path_bar_size_allocate (GtkWidget *widget, @@ -216,7 +220,8 @@ gtk_path_bar_class_init (GtkPathBarClass *path_bar_class) gobject_class->finalize = gtk_path_bar_finalize; gobject_class->dispose = gtk_path_bar_dispose; - widget_class->size_request = gtk_path_bar_size_request; + widget_class->get_preferred_width = gtk_path_bar_get_preferred_width; + widget_class->get_preferred_height = gtk_path_bar_get_preferred_height; widget_class->realize = gtk_path_bar_realize; widget_class->unrealize = gtk_path_bar_unrealize; widget_class->map = gtk_path_bar_map; @@ -315,46 +320,74 @@ gtk_path_bar_dispose (GObject *object) * available space. */ static void -gtk_path_bar_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_path_bar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { ButtonData *button_data; GtkPathBar *path_bar; - GtkRequisition child_requisition; GList *list; + gint child_height; + gint height; + gint child_min, child_nat; path_bar = GTK_PATH_BAR (widget); - requisition->width = 0; - requisition->height = 0; + *minimum = *natural = 0; + height = 0; for (list = path_bar->button_list; list; list = list->next) { button_data = BUTTON_DATA (list->data); - gtk_widget_get_preferred_size (button_data->button, - &child_requisition, NULL); + gtk_widget_get_preferred_width (button_data->button, &child_min, &child_nat); + gtk_widget_get_preferred_height (button_data->button, &child_height, NULL); + height = MAX (height, child_height); if (button_data->type == NORMAL_BUTTON) - /* Use 2*Height as button width because of ellipsized label. */ - requisition->width = MAX (child_requisition.height * 2, requisition->width); - else - requisition->width = MAX (child_requisition.width, requisition->width); + { + /* Use 2*Height as button width because of ellipsized label. */ + child_min = MAX (child_min, child_height * 2); + child_nat = MAX (child_min, child_height * 2); + } - requisition->height = MAX (child_requisition.height, requisition->height); + *minimum = MAX (*minimum, child_min); + *natural = MAX (*natural, child_nat); } /* Add space for slider, if we have more than one path */ /* Theoretically, the slider could be bigger than the other button. But we're * not going to worry about that now. */ - path_bar->slider_width = MIN(requisition->height * 2 / 3 + 5, requisition->height); + path_bar->slider_width = MIN (height * 2 / 3 + 5, height); if (path_bar->button_list && path_bar->button_list->next != NULL) - requisition->width += (path_bar->spacing + path_bar->slider_width) * 2; + { + *minimum += (path_bar->spacing + path_bar->slider_width) * 2; + *natural += (path_bar->spacing + path_bar->slider_width) * 2; + } +} - gtk_widget_get_preferred_size (path_bar->up_slider_button, - &child_requisition, NULL); - gtk_widget_get_preferred_size (path_bar->down_slider_button, - &child_requisition, NULL); +static void +gtk_path_bar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + ButtonData *button_data; + GtkPathBar *path_bar; + GList *list; + gint child_min, child_nat; + + path_bar = GTK_PATH_BAR (widget); + + *minimum = *natural = 0; + + for (list = path_bar->button_list; list; list = list->next) + { + button_data = BUTTON_DATA (list->data); + gtk_widget_get_preferred_height (button_data->button, &child_min, &child_nat); + + *minimum = MAX (*minimum, child_min); + *natural = MAX (*natural, child_nat); + } } static void From 113362b16900ad424e0a44474a726b2e36ecaac4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 09:23:07 -0400 Subject: [PATCH 0037/1463] Remove size_request from GtkRuler --- gtk/gtkruler.c | 57 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 17 deletions(-) diff --git a/gtk/gtkruler.c b/gtk/gtkruler.c index 7a630aa55d..a0c5dfe461 100644 --- a/gtk/gtkruler.c +++ b/gtk/gtkruler.c @@ -80,8 +80,14 @@ static void gtk_ruler_get_property (GObject *object, GParamSpec *pspec); static void gtk_ruler_realize (GtkWidget *widget); static void gtk_ruler_unrealize (GtkWidget *widget); -static void gtk_ruler_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_ruler_get_preferred_width + (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_ruler_get_preferred_height + (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_ruler_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_ruler_motion_notify (GtkWidget *widget, @@ -120,7 +126,8 @@ gtk_ruler_class_init (GtkRulerClass *class) widget_class->realize = gtk_ruler_realize; widget_class->unrealize = gtk_ruler_unrealize; - widget_class->size_request = gtk_ruler_size_request; + widget_class->get_preferred_width = gtk_ruler_get_preferred_width; + widget_class->get_preferred_height = gtk_ruler_get_preferred_height; widget_class->size_allocate = gtk_ruler_size_allocate; widget_class->motion_notify_event = gtk_ruler_motion_notify; widget_class->draw = gtk_ruler_draw; @@ -128,9 +135,7 @@ gtk_ruler_class_init (GtkRulerClass *class) class->draw_ticks = gtk_ruler_real_draw_ticks; class->draw_pos = gtk_ruler_real_draw_pos; - g_object_class_override_property (gobject_class, - PROP_ORIENTATION, - "orientation"); + g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); g_object_class_install_property (gobject_class, PROP_LOWER, @@ -532,25 +537,43 @@ gtk_ruler_unrealize (GtkWidget *widget) } static void -gtk_ruler_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_ruler_get_preferred_size (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural) { GtkRuler *ruler = GTK_RULER (widget); GtkRulerPrivate *priv = ruler->priv; GtkStyle *style; + gint thickness; style = gtk_widget_get_style (widget); - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - requisition->width = style->xthickness * 2 + 1; - requisition->height = style->ythickness * 2 + RULER_WIDTH; - } + if (orientation == GTK_ORIENTATION_HORIZONTAL) + thickness = style->xthickness; else - { - requisition->width = style->xthickness * 2 + RULER_WIDTH; - requisition->height = style->ythickness * 2 + 1; - } + thickness = style->ythickness; + + if (priv->orientation == orientation) + *minimum = *natural = thickness * 2 + 1; + else + *minimum = *natural = thickness * 2 + RULER_WIDTH; +} + +static void +gtk_ruler_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_ruler_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, minimum, natural); +} + +static void +gtk_ruler_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_ruler_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, minimum, natural); } static void From cd2a7a899f0a08442fc36b257f9144e3d3f77189 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 22:23:25 +0900 Subject: [PATCH 0038/1463] Removing size_request from GtkTreeview. This should be implemented as propery height-for-width by the treeview-refactor branch. This commit includes a FIXME comment that scroll adjustments should not be updated from inside size requests but only after receiving an allocation. --- gtk/gtktreeview.c | 53 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 42 insertions(+), 11 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 18fdf51a43..619e75ea01 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -167,6 +167,12 @@ static void gtk_tree_view_destroy (GtkWidget *widget); static void gtk_tree_view_realize (GtkWidget *widget); static void gtk_tree_view_unrealize (GtkWidget *widget); static void gtk_tree_view_map (GtkWidget *widget); +static void gtk_tree_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_tree_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_tree_view_size_request (GtkWidget *widget, GtkRequisition *requisition); static void gtk_tree_view_size_allocate (GtkWidget *widget, @@ -519,7 +525,8 @@ gtk_tree_view_class_init (GtkTreeViewClass *class) widget_class->map = gtk_tree_view_map; widget_class->realize = gtk_tree_view_realize; widget_class->unrealize = gtk_tree_view_unrealize; - widget_class->size_request = gtk_tree_view_size_request; + widget_class->get_preferred_width = gtk_tree_view_get_preferred_width; + widget_class->get_preferred_height = gtk_tree_view_get_preferred_height; widget_class->size_allocate = gtk_tree_view_size_allocate; widget_class->button_press_event = gtk_tree_view_button_press; widget_class->button_release_event = gtk_tree_view_button_release; @@ -2034,17 +2041,30 @@ gtk_tree_view_size_request (GtkWidget *widget, requisition->height = tree_view->priv->height + TREE_VIEW_HEADER_HEIGHT (tree_view); tmp_list = tree_view->priv->children; +} - while (tmp_list) - { - GtkTreeViewChild *child = tmp_list->data; - GtkRequisition child_requisition; +static void +gtk_tree_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; - tmp_list = tmp_list->next; + gtk_tree_view_size_request (widget, &requisition); - if (gtk_widget_get_visible (child->widget)) - gtk_widget_get_preferred_size (child->widget, &child_requisition, NULL); - } + *minimum = *natural = requisition.width; +} + +static void +gtk_tree_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_tree_view_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; } static int @@ -6332,12 +6352,23 @@ do_validate_rows (GtkTreeView *tree_view, gboolean queue_resize) if (validated_area) { GtkRequisition requisition; + /* We temporarily guess a size, under the assumption that it will be the * same when we get our next size_allocate. If we don't do this, we'll be * in an inconsistent state when we call top_row_to_dy. */ - gtk_widget_get_preferred_size (GTK_WIDGET (tree_view), - &requisition, NULL); + /* FIXME: This is called from size_request, for some reason it is not infinitely + * recursing, we cannot call gtk_widget_get_preferred_size() here because that's + * not allowed (from inside ->get_preferred_width/height() implementations, one + * should call the vfuncs directly). However what is desired here is the full + * size including any margins and limited by any alignment (i.e. after + * GtkWidget:adjust_size_request() is called). + * + * Currently bypassing this but the real solution is to not update the scroll adjustments + * untill we've recieved an allocation (never update scroll adjustments from size-requests). + */ + gtk_tree_view_size_request (GTK_WIDGET (tree_view), &requisition); + tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->upper, (gfloat)requisition.width); tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->upper, (gfloat)requisition.height); gtk_adjustment_changed (tree_view->priv->hadjustment); From f3d5e20cff2ce5b225955f98691d5194f463c70b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 09:32:42 -0400 Subject: [PATCH 0039/1463] Remove size_request from GtkTable --- gtk/gtktable.c | 54 +++++++++++++++++++++++++++++++++++++------------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/gtk/gtktable.c b/gtk/gtktable.c index 80cf51a5a9..47e94e8454 100644 --- a/gtk/gtktable.c +++ b/gtk/gtktable.c @@ -74,8 +74,12 @@ enum static void gtk_table_finalize (GObject *object); -static void gtk_table_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_table_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_table_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_table_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_table_compute_expand (GtkWidget *widget, @@ -134,7 +138,8 @@ gtk_table_class_init (GtkTableClass *class) gobject_class->get_property = gtk_table_get_property; gobject_class->set_property = gtk_table_set_property; - widget_class->size_request = gtk_table_size_request; + widget_class->get_preferred_width = gtk_table_get_preferred_width; + widget_class->get_preferred_height = gtk_table_get_preferred_height; widget_class->size_allocate = gtk_table_size_allocate; widget_class->compute_expand = gtk_table_compute_expand; @@ -969,31 +974,52 @@ gtk_table_finalize (GObject *object) } static void -gtk_table_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_table_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkTable *table = GTK_TABLE (widget); GtkTablePrivate *priv = table->priv; gint row, col; - requisition->width = 0; - requisition->height = 0; - gtk_table_size_request_init (table); gtk_table_size_request_pass1 (table); gtk_table_size_request_pass2 (table); gtk_table_size_request_pass3 (table); gtk_table_size_request_pass2 (table); - for (col = 0; col < priv->ncols; col++) - requisition->width += priv->cols[col].requisition; - for (col = 0; col + 1 < priv->ncols; col++) - requisition->width += priv->cols[col].spacing; + *minimum = 0; + for (col = 0; col < priv->ncols; col++) + *minimum += priv->cols[col].requisition; + for (col = 0; col + 1 < priv->ncols; col++) + *minimum += priv->cols[col].spacing; + + *natural = *minimum; +} + +static void +gtk_table_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkTable *table = GTK_TABLE (widget); + GtkTablePrivate *priv = table->priv; + gint row, col; + + gtk_table_size_request_init (table); + gtk_table_size_request_pass1 (table); + gtk_table_size_request_pass2 (table); + gtk_table_size_request_pass3 (table); + gtk_table_size_request_pass2 (table); + + *minimum = 0; for (row = 0; row < priv->nrows; row++) - requisition->height += priv->rows[row].requisition; + *minimum += priv->rows[row].requisition; for (row = 0; row + 1 < priv->nrows; row++) - requisition->height += priv->rows[row].spacing; + *minimum += priv->rows[row].spacing; + + *natural = *minimum; } static void From bf75f63f490144e17ff88cc82e111dcd1f777603 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 09:41:37 -0400 Subject: [PATCH 0040/1463] Remove size_request from GtkToolbar This is just a bandaid fix, the toolbar should really return proper min/natural sizes, so that we can handle the overflow properly. --- gtk/gtktoolbar.c | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index c6f520ccd1..007d039467 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -186,8 +186,13 @@ static gint gtk_toolbar_draw (GtkWidget *widget, cairo_t *cr); static void gtk_toolbar_realize (GtkWidget *widget); static void gtk_toolbar_unrealize (GtkWidget *widget); -static void gtk_toolbar_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_toolbar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_toolbar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); + static void gtk_toolbar_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_toolbar_style_set (GtkWidget *widget, @@ -363,7 +368,8 @@ gtk_toolbar_class_init (GtkToolbarClass *klass) widget_class->button_press_event = gtk_toolbar_button_press; widget_class->draw = gtk_toolbar_draw; - widget_class->size_request = gtk_toolbar_size_request; + widget_class->get_preferred_width = gtk_toolbar_get_preferred_width; + widget_class->get_preferred_height = gtk_toolbar_get_preferred_height; widget_class->size_allocate = gtk_toolbar_size_allocate; widget_class->style_set = gtk_toolbar_style_set; widget_class->focus = gtk_toolbar_focus; @@ -994,6 +1000,30 @@ gtk_toolbar_size_request (GtkWidget *widget, priv->button_maxh = max_homogeneous_child_height; } +static void +gtk_toolbar_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_toolbar_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_toolbar_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_toolbar_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + static gint position (GtkToolbar *toolbar, gint from, From 0b3e2ffee6346ce44a88a2b49bd9d2645fb4204d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 22:50:24 +0900 Subject: [PATCH 0041/1463] Removing size_request from GtkToolPalette Note GtkToolPalette is internally height-for-width, it needs to be refactored to cooperate with GTK+'s height-for-width geometry management properly. --- gtk/gtktoolpalette.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index bc60c3d210..1fb8aee806 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -435,6 +435,31 @@ gtk_tool_palette_size_request (GtkWidget *widget, requisition->height += border_width * 2; } +static void +gtk_tool_palette_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_tool_palette_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_tool_palette_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_tool_palette_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + + static void gtk_tool_palette_size_allocate (GtkWidget *widget, GtkAllocation *allocation) @@ -961,7 +986,8 @@ gtk_tool_palette_class_init (GtkToolPaletteClass *cls) oclass->dispose = gtk_tool_palette_dispose; oclass->finalize = gtk_tool_palette_finalize; - wclass->size_request = gtk_tool_palette_size_request; + wclass->get_preferred_width = gtk_tool_palette_get_preferred_width; + wclass->get_preferred_height= gtk_tool_palette_get_preferred_height; wclass->size_allocate = gtk_tool_palette_size_allocate; wclass->draw = gtk_tool_palette_draw; wclass->realize = gtk_tool_palette_realize; From 9f074f8612e5d6909a15d40dca0e28b5136b3bee Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 09:53:46 -0400 Subject: [PATCH 0042/1463] Remove size_request from gtkToolItem --- gtk/gtktoolitem.c | 80 ++++++++++++++++++++++++++--------------------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/gtk/gtktoolitem.c b/gtk/gtktoolitem.c index b094e2176e..6a7a45a131 100644 --- a/gtk/gtktoolitem.c +++ b/gtk/gtktoolitem.c @@ -133,8 +133,14 @@ static void gtk_tool_item_realize (GtkWidget *widget); static void gtk_tool_item_unrealize (GtkWidget *widget); static void gtk_tool_item_map (GtkWidget *widget); static void gtk_tool_item_unmap (GtkWidget *widget); -static void gtk_tool_item_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_tool_item_get_preferred_width + (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_tool_item_get_preferred_height + (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_tool_item_size_allocate (GtkWidget *widget, GtkAllocation *allocation); @@ -163,7 +169,7 @@ gtk_tool_item_class_init (GtkToolItemClass *klass) object_class = (GObjectClass *)klass; widget_class = (GtkWidgetClass *)klass; - + object_class->set_property = gtk_tool_item_set_property; object_class->get_property = gtk_tool_item_get_property; object_class->finalize = gtk_tool_item_finalize; @@ -174,10 +180,13 @@ gtk_tool_item_class_init (GtkToolItemClass *klass) widget_class->unrealize = gtk_tool_item_unrealize; widget_class->map = gtk_tool_item_map; widget_class->unmap = gtk_tool_item_unmap; - widget_class->size_request = gtk_tool_item_size_request; + widget_class->get_preferred_width = gtk_tool_item_get_preferred_width; + widget_class->get_preferred_height = gtk_tool_item_get_preferred_height; widget_class->size_allocate = gtk_tool_item_size_allocate; widget_class->parent_set = gtk_tool_item_parent_set; + gtk_container_class_handle_border_width (GTK_CONTAINER_CLASS (klass)); + klass->create_menu_proxy = _gtk_tool_item_create_menu_proxy; g_object_class_install_property (object_class, @@ -403,20 +412,19 @@ create_drag_window (GtkToolItem *toolitem) GtkAllocation allocation; GtkWidget *widget; GdkWindowAttr attributes; - gint attributes_mask, border_width; + gint attributes_mask; g_return_if_fail (toolitem->priv->use_drag_window == TRUE); widget = GTK_WIDGET (toolitem); - border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_get_allocation (widget, &allocation); attributes.window_type = GDK_WINDOW_CHILD; - attributes.x = allocation.x + border_width; - attributes.y = allocation.y + border_width; - attributes.width = allocation.width - border_width * 2; - attributes.height = allocation.height - border_width * 2; + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; attributes.wclass = GDK_INPUT_ONLY; attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); @@ -493,26 +501,31 @@ gtk_tool_item_unmap (GtkWidget *widget) } static void -gtk_tool_item_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_tool_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkWidget *child; - guint border_width; + + *minimum = *natural = 0; child = gtk_bin_get_child (GTK_BIN (widget)); if (child && gtk_widget_get_visible (child)) - { - gtk_widget_get_preferred_size (child, requisition, NULL); - } - else - { - requisition->height = 0; - requisition->width = 0; - } + gtk_widget_get_preferred_width (child, minimum, natural); +} - border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - requisition->width += border_width * 2; - requisition->height += border_width * 2; +static void +gtk_tool_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkWidget *child; + + *minimum = *natural = 0; + + child = gtk_bin_get_child (GTK_BIN (widget)); + if (child && gtk_widget_get_visible (child)) + gtk_widget_get_preferred_height (child, minimum, natural); } static void @@ -521,27 +534,24 @@ gtk_tool_item_size_allocate (GtkWidget *widget, { GtkToolItem *toolitem = GTK_TOOL_ITEM (widget); GtkAllocation child_allocation; - gint border_width; GtkWidget *child; gtk_widget_set_allocation (widget, allocation); - border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - if (toolitem->priv->drag_window) gdk_window_move_resize (toolitem->priv->drag_window, - allocation->x + border_width, - allocation->y + border_width, - allocation->width - border_width * 2, - allocation->height - border_width * 2); + allocation->x, + allocation->y, + allocation->width, + allocation->height); child = gtk_bin_get_child (GTK_BIN (widget)); if (child && gtk_widget_get_visible (child)) { - child_allocation.x = allocation->x + border_width; - child_allocation.y = allocation->y + border_width; - child_allocation.width = allocation->width - 2 * border_width; - child_allocation.height = allocation->height - 2 * border_width; + child_allocation.x = allocation->x; + child_allocation.y = allocation->y; + child_allocation.width = allocation->width; + child_allocation.height = allocation->height; gtk_widget_size_allocate (child, &child_allocation); } From 0db2b334b0f7613732ee4e8a1200faa394ead29d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 22:59:49 +0900 Subject: [PATCH 0043/1463] Removed size_request from GtkTextView --- gtk/gtktextview.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index ae12071c89..b4cf053f81 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -282,6 +282,12 @@ static void gtk_text_view_get_property (GObject *object, static void gtk_text_view_destroy (GtkWidget *widget); static void gtk_text_view_size_request (GtkWidget *widget, GtkRequisition *requisition); +static void gtk_text_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_text_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_text_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_text_view_realize (GtkWidget *widget); @@ -589,7 +595,8 @@ gtk_text_view_class_init (GtkTextViewClass *klass) widget_class->direction_changed = gtk_text_view_direction_changed; widget_class->grab_notify = gtk_text_view_grab_notify; widget_class->state_changed = gtk_text_view_state_changed; - widget_class->size_request = gtk_text_view_size_request; + widget_class->get_preferred_width = gtk_text_view_get_preferred_width; + widget_class->get_preferred_height = gtk_text_view_get_preferred_height; widget_class->size_allocate = gtk_text_view_size_allocate; widget_class->event = gtk_text_view_event; widget_class->key_press_event = gtk_text_view_key_press_event; @@ -3305,6 +3312,31 @@ gtk_text_view_size_request (GtkWidget *widget, priv->cached_size_request = *requisition; } +static void +gtk_text_view_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_text_view_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_text_view_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_text_view_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + + static void gtk_text_view_compute_child_allocation (GtkTextView *text_view, GtkTextViewChild *vc, From 5e0451de3a4042a218def4bb47d610bbe91ca276 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 10:14:25 -0400 Subject: [PATCH 0044/1463] Use correct icon name in testtoolbar --- tests/testtoolbar.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testtoolbar.c b/tests/testtoolbar.c index 1b92d4fb30..888a52fb73 100644 --- a/tests/testtoolbar.c +++ b/tests/testtoolbar.c @@ -701,7 +701,7 @@ main (gint argc, gchar **argv) add_item_to_list (store, item, "Video"); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); - image = gtk_image_new_from_icon_name ("utility-terminal", GTK_ICON_SIZE_LARGE_TOOLBAR); + image = gtk_image_new_from_icon_name ("utilities-terminal", GTK_ICON_SIZE_LARGE_TOOLBAR); item = gtk_tool_button_new (image, "Terminal"); add_item_to_list (store, item, "Terminal"); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); From ebcb6e6b94c0a39e3129841612e24867c0daf259 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 10:17:58 -0400 Subject: [PATCH 0045/1463] Remove size_request from GtkSeparatorToolItem --- gtk/gtkseparatortoolitem.c | 54 ++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/gtk/gtkseparatortoolitem.c b/gtk/gtkseparatortoolitem.c index d8ebb6354a..1d81d3b7ae 100644 --- a/gtk/gtkseparatortoolitem.c +++ b/gtk/gtkseparatortoolitem.c @@ -66,8 +66,12 @@ static void gtk_separator_tool_item_get_property (GObject guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_separator_tool_item_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_separator_tool_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_separator_tool_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_separator_tool_item_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_separator_tool_item_draw (GtkWidget *widget, @@ -118,7 +122,8 @@ gtk_separator_tool_item_class_init (GtkSeparatorToolItemClass *class) object_class->set_property = gtk_separator_tool_item_set_property; object_class->get_property = gtk_separator_tool_item_get_property; - widget_class->size_request = gtk_separator_tool_item_size_request; + widget_class->get_preferred_width = gtk_separator_tool_item_get_preferred_width; + widget_class->get_preferred_height = gtk_separator_tool_item_get_preferred_height; widget_class->size_allocate = gtk_separator_tool_item_size_allocate; widget_class->draw = gtk_separator_tool_item_draw; widget_class->realize = gtk_separator_tool_item_realize; @@ -213,22 +218,37 @@ gtk_separator_tool_item_get_property (GObject *object, } static void -gtk_separator_tool_item_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_separator_tool_item_get_preferred_size (GtkWidget *widget, + GtkOrientation orientation, + gint *minimum, + gint *natural) { - GtkToolItem *item = GTK_TOOL_ITEM (widget); - GtkOrientation orientation = gtk_tool_item_get_orientation (item); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - requisition->width = get_space_size (item); - requisition->height = 1; - } + if (gtk_tool_item_get_orientation (GTK_TOOL_ITEM (widget)) == orientation) + *minimum = *natural = get_space_size (GTK_TOOL_ITEM (widget)); else - { - requisition->height = get_space_size (item); - requisition->width = 1; - } + *minimum = *natural = 1; +} + +static void +gtk_separator_tool_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_separator_tool_item_get_preferred_size (widget, + GTK_ORIENTATION_HORIZONTAL, + minimum, + natural); +} + +static void +gtk_separator_tool_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + gtk_separator_tool_item_get_preferred_size (widget, + GTK_ORIENTATION_VERTICAL, + minimum, + natural); } static void From 292f32dde8af55d57eefba1c432872b0d3479b05 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 23:34:58 +0900 Subject: [PATCH 0046/1463] Fixed remaining call to ->size_request in GtkTextView. --- gtk/gtktextview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index b4cf053f81..4e6d37218f 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -3921,7 +3921,7 @@ changed_handler (GtkTextLayout *layout, * to avoid the optimization which just returns widget->requisition * if a resize hasn't been queued. */ - GTK_WIDGET_GET_CLASS (widget)->size_request (widget, &new_req); + gtk_text_view_size_request (widget, &new_req); if (old_req.width != new_req.width || old_req.height != new_req.height) From e573a455bb93f24814a6ecc25a5f910615079661 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 27 Oct 2010 23:59:43 +0900 Subject: [PATCH 0047/1463] Removed size_request from GtkTearoffMenuItem --- gtk/gtktearoffmenuitem.c | 49 ++++++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/gtk/gtktearoffmenuitem.c b/gtk/gtktearoffmenuitem.c index 8ff3f8069c..680b0851b3 100644 --- a/gtk/gtktearoffmenuitem.c +++ b/gtk/gtktearoffmenuitem.c @@ -39,13 +39,17 @@ struct _GtkTearoffMenuItemPrivate guint torn_off : 1; }; -static void gtk_tearoff_menu_item_size_request (GtkWidget *widget, - GtkRequisition *requisition); -static gboolean gtk_tearoff_menu_item_draw (GtkWidget *widget, - cairo_t *cr); -static void gtk_tearoff_menu_item_activate (GtkMenuItem *menu_item); -static void gtk_tearoff_menu_item_parent_set (GtkWidget *widget, - GtkWidget *previous); +static void gtk_tearoff_menu_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_tearoff_menu_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); +static gboolean gtk_tearoff_menu_item_draw (GtkWidget *widget, + cairo_t *cr); +static void gtk_tearoff_menu_item_activate (GtkMenuItem *menu_item); +static void gtk_tearoff_menu_item_parent_set (GtkWidget *widget, + GtkWidget *previous); G_DEFINE_TYPE (GtkTearoffMenuItem, gtk_tearoff_menu_item, GTK_TYPE_MENU_ITEM) @@ -65,7 +69,8 @@ gtk_tearoff_menu_item_class_init (GtkTearoffMenuItemClass *klass) menu_item_class = (GtkMenuItemClass*) klass; widget_class->draw = gtk_tearoff_menu_item_draw; - widget_class->size_request = gtk_tearoff_menu_item_size_request; + widget_class->get_preferred_width = gtk_tearoff_menu_item_get_preferred_width; + widget_class->get_preferred_height = gtk_tearoff_menu_item_get_preferred_height; widget_class->parent_set = gtk_tearoff_menu_item_parent_set; menu_item_class->activate = gtk_tearoff_menu_item_activate; @@ -87,8 +92,23 @@ gtk_tearoff_menu_item_init (GtkTearoffMenuItem *tearoff_menu_item) } static void -gtk_tearoff_menu_item_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_tearoff_menu_item_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkStyle *style; + guint border_width; + + style = gtk_widget_get_style (widget); + + border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + *minimum = *natural = (border_width + style->xthickness + BORDER_SPACING) * 2; +} + +static void +gtk_tearoff_menu_item_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkStyle *style; GtkWidget *parent; @@ -97,17 +117,18 @@ gtk_tearoff_menu_item_size_request (GtkWidget *widget, style = gtk_widget_get_style (widget); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - requisition->width = (border_width + style->xthickness + BORDER_SPACING) * 2; - requisition->height = (border_width + style->ythickness) * 2; + *minimum = *natural = (border_width + style->ythickness) * 2; parent = gtk_widget_get_parent (widget); if (GTK_IS_MENU (parent) && GTK_MENU (parent)->torn_off) { - requisition->height += ARROW_SIZE; + *minimum += ARROW_SIZE; + *natural += ARROW_SIZE; } else { - requisition->height += style->ythickness + 4; + *minimum += style->ythickness + 4; + *natural += style->ythickness + 4; } } From 3cdf3bc46cbb7b2a5347ea95a5ee6a41a2bc6882 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 10:32:58 -0400 Subject: [PATCH 0048/1463] Remove size_request from GtkScale --- gtk/gtkscale.c | 61 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index 4e727a18a0..51a4111e3f 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -116,8 +116,12 @@ static void gtk_scale_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_scale_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_scale_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_scale_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_scale_style_set (GtkWidget *widget, GtkStyle *previous); static void gtk_scale_get_range_border (GtkRange *range, @@ -198,7 +202,8 @@ gtk_scale_class_init (GtkScaleClass *class) widget_class->style_set = gtk_scale_style_set; widget_class->screen_changed = gtk_scale_screen_changed; widget_class->draw = gtk_scale_draw; - widget_class->size_request = gtk_scale_size_request; + widget_class->get_preferred_width = gtk_scale_get_preferred_width; + widget_class->get_preferred_height = gtk_scale_get_preferred_height; range_class->slider_detail = "Xscale"; range_class->get_range_border = gtk_scale_get_range_border; @@ -938,32 +943,54 @@ gtk_scale_screen_changed (GtkWidget *widget, } static void -gtk_scale_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_scale_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { - GtkRange *range = GTK_RANGE (widget); - gint n1, w1, h1, n2, w2, h2; - gint slider_length; - - GTK_WIDGET_CLASS (gtk_scale_parent_class)->size_request (widget, requisition); + GTK_WIDGET_CLASS (gtk_scale_parent_class)->get_preferred_width (widget, minimum, natural); - gtk_widget_style_get (widget, "slider-length", &slider_length, NULL); - - - if (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) == GTK_ORIENTATION_HORIZONTAL) + if (gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)) == GTK_ORIENTATION_HORIZONTAL) { + gint n1, w1, h1, n2, w2, h2; + gint slider_length; + gint w; + + gtk_widget_style_get (widget, "slider-length", &slider_length, NULL); + gtk_scale_get_mark_label_size (GTK_SCALE (widget), GTK_POS_TOP, &n1, &w1, &h1, &n2, &w2, &h2); w1 = (n1 - 1) * w1 + MAX (w1, slider_length); w2 = (n2 - 1) * w2 + MAX (w2, slider_length); - requisition->width = MAX (requisition->width, MAX (w1, w2)); + w = MAX (w1, w2); + + *minimum = MAX (*minimum, w); + *natural = MAX (*natural, w); } - else +} + +static void +gtk_scale_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GTK_WIDGET_CLASS (gtk_scale_parent_class)->get_preferred_height (widget, minimum, natural); + + + if (gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)) == GTK_ORIENTATION_VERTICAL) { + gint n1, w1, h1, n2, w2, h2; + gint slider_length; + gint h; + + gtk_widget_style_get (widget, "slider-length", &slider_length, NULL); + gtk_scale_get_mark_label_size (GTK_SCALE (widget), GTK_POS_LEFT, &n1, &w1, &h1, &n2, &w2, &h2); h1 = (n1 - 1) * h1 + MAX (h1, slider_length); h2 = (n2 - 1) * h1 + MAX (h2, slider_length); - requisition->height = MAX (requisition->height, MAX (h1, h2)); + h = MAX (h1, h2); + + *minimum = MAX (*minimum, h); + *natural = MAX (*natural, h); } } From 965b3af8a1c392caa2395df421396da5ccd572d2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 11:16:02 -0400 Subject: [PATCH 0049/1463] Don't g_free gslice-allocated structures This was causing memory corruption when removing remote plugs from sockets. --- gtk/gtkdnd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index b36960a5c6..d951181632 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1300,7 +1300,7 @@ gtk_drag_dest_set_proxy (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (!proxy_window || GDK_IS_WINDOW (proxy_window)); - site = g_new (GtkDragDestSite, 1); + site = g_slice_new (GtkDragDestSite); site->flags = 0; site->have_drag = FALSE; From 2d4f3e13659f2dc0bb2687a9ddbfa5d9f43c0117 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 11:17:40 -0400 Subject: [PATCH 0050/1463] Remove size_request from GtkSocket This is only preliminary, GtkSocket can do minimal/natural width properly, there's code for that in the extended-layout branch. --- gtk/gtksocket.c | 53 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index b78991de7b..b50d1c8384 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -118,8 +118,12 @@ static void gtk_socket_notify (GObject *object, GParamSpec *pspec); static void gtk_socket_realize (GtkWidget *widget); static void gtk_socket_unrealize (GtkWidget *widget); -static void gtk_socket_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_socket_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_socket_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_socket_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_socket_hierarchy_changed (GtkWidget *widget, @@ -197,7 +201,8 @@ gtk_socket_class_init (GtkSocketClass *class) widget_class->realize = gtk_socket_realize; widget_class->unrealize = gtk_socket_unrealize; - widget_class->size_request = gtk_socket_size_request; + widget_class->get_preferred_width = gtk_socket_get_preferred_width; + widget_class->get_preferred_height = gtk_socket_get_preferred_height; widget_class->size_allocate = gtk_socket_size_allocate; widget_class->hierarchy_changed = gtk_socket_hierarchy_changed; widget_class->grab_notify = gtk_socket_grab_notify; @@ -452,30 +457,48 @@ gtk_socket_unrealize (GtkWidget *widget) } static void -gtk_socket_size_request (GtkWidget *widget, - GtkRequisition *requisition) +gtk_socket_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) { GtkSocket *socket = GTK_SOCKET (widget); if (socket->plug_widget) { - gtk_widget_get_preferred_size (socket->plug_widget, requisition, NULL); + gtk_widget_get_preferred_width (socket->plug_widget, minimum, natural); } else { if (socket->is_mapped && !socket->have_size && socket->plug_window) - _gtk_socket_windowing_size_request (socket); + _gtk_socket_windowing_size_request (socket); if (socket->is_mapped && socket->have_size) - { - requisition->width = MAX (socket->request_width, 1); - requisition->height = MAX (socket->request_height, 1); - } + *minimum = *natural = MAX (socket->request_width, 1); else - { - requisition->width = 1; - requisition->height = 1; - } + *minimum = *natural = 1; + } +} + +static void +gtk_socket_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkSocket *socket = GTK_SOCKET (widget); + + if (socket->plug_widget) + { + gtk_widget_get_preferred_height (socket->plug_widget, minimum, natural); + } + else + { + if (socket->is_mapped && !socket->have_size && socket->plug_window) + _gtk_socket_windowing_size_request (socket); + + if (socket->is_mapped && socket->have_size) + *minimum = *natural = MAX (socket->request_height, 1); + else + *minimum = *natural = 1; } } From d86164f90dc0df9f08892558ebc1121e9960ad40 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 28 Oct 2010 01:40:51 +0900 Subject: [PATCH 0051/1463] Revert "Removed size_request from GtkTextView" This reverts commit 87dfa724ebb4e8710bee17461cb4823ba66d8658. I pushed this to the wrong branch, ouch sorry. --- gtk/gtktextview.c | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 4e6d37218f..27c21d0edd 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -282,12 +282,6 @@ static void gtk_text_view_get_property (GObject *object, static void gtk_text_view_destroy (GtkWidget *widget); static void gtk_text_view_size_request (GtkWidget *widget, GtkRequisition *requisition); -static void gtk_text_view_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural); -static void gtk_text_view_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural); static void gtk_text_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_text_view_realize (GtkWidget *widget); @@ -595,8 +589,7 @@ gtk_text_view_class_init (GtkTextViewClass *klass) widget_class->direction_changed = gtk_text_view_direction_changed; widget_class->grab_notify = gtk_text_view_grab_notify; widget_class->state_changed = gtk_text_view_state_changed; - widget_class->get_preferred_width = gtk_text_view_get_preferred_width; - widget_class->get_preferred_height = gtk_text_view_get_preferred_height; + widget_class->size_request = gtk_text_view_size_request; widget_class->size_allocate = gtk_text_view_size_allocate; widget_class->event = gtk_text_view_event; widget_class->key_press_event = gtk_text_view_key_press_event; @@ -3312,31 +3305,6 @@ gtk_text_view_size_request (GtkWidget *widget, priv->cached_size_request = *requisition; } -static void -gtk_text_view_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural) -{ - GtkRequisition requisition; - - gtk_text_view_size_request (widget, &requisition); - - *minimum = *natural = requisition.width; -} - -static void -gtk_text_view_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural) -{ - GtkRequisition requisition; - - gtk_text_view_size_request (widget, &requisition); - - *minimum = *natural = requisition.height; -} - - static void gtk_text_view_compute_child_allocation (GtkTextView *text_view, GtkTextViewChild *vc, From d8fdbd8b72adc3aa119890aeb6ba17766e0094b6 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Wed, 27 Oct 2010 12:40:59 -0400 Subject: [PATCH 0052/1463] GtkSocket: Add error trap around call to XFixesChangeSaveSet() Previously any X error from XFixesChangeSaveSet() was being eaten by the subsequent error trap when sending a client message. With asynchronous error traps, that side effect no longer occurs, so we need to add a proper error trap around the call to XFixesChangeSaveSet(). https://bugzilla.gnome.org/show_bug.cgi?id=633274 --- gtk/gtksocket-x11.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c index a1a32e229a..00a3ce856b 100644 --- a/gtk/gtksocket-x11.c +++ b/gtk/gtksocket-x11.c @@ -281,9 +281,11 @@ _gtk_socket_windowing_embed_notify (GtkSocket *socket) #ifdef HAVE_XFIXES GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (socket)); + gdk_error_trap_push (); XFixesChangeSaveSet (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XWINDOW (socket->plug_window), SetModeInsert, SaveSetRoot, SaveSetUnmap); + gdk_error_trap_pop_ignore (); #endif _gtk_xembed_send_message (socket->plug_window, XEMBED_EMBEDDED_NOTIFY, 0, From 2a37d949baff1557f161ee1baed5b632b1487489 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 27 Oct 2010 17:47:08 +0100 Subject: [PATCH 0053/1463] gtk: Fix crasher when loading symbolic icons If the style didn't include symbolic colors for either success, warning or error, gtk_icon_info_load_symbolic_for_style() would crash. Instead, make sure we don't try to use the colors if they're not available, and fallback on default colors inside _gtk_icon_info_load_symbolic_internal(). --- gtk/gtkicontheme.c | 87 ++++++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 37 deletions(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index e93a900403..f4821d6d0f 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3073,6 +3073,30 @@ _gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, GInputStream *stream; GdkPixbuf *pixbuf; gchar *data; + gchar *success, *warning, *err; + + /* css_fg can't possibly have failed, otherwise + * that would mean we have a broken style */ + g_return_val_if_fail (css_fg != NULL, NULL); + + success = warning = err = NULL; + + if (!css_success) + { + GdkColor success_default_color = { 0, 0x4e00, 0x9a00, 0x0600 }; + success = gdk_color_to_css (&success_default_color); + } + if (!css_warning) + { + GdkColor warning_default_color = { 0, 0xf500, 0x7900, 0x3e00 }; + warning = gdk_color_to_css (&warning_default_color); + } + if (!css_error) + { + GdkColor error_default_color = { 0, 0xcc00, 0x0000, 0x0000 }; + err = gdk_color_to_css (&error_default_color); + } + data = g_strconcat ("\n" "\n" " filename, "\"/>\n" "", NULL); + g_free (warning); + g_free (err); + g_free (success); stream = g_memory_input_stream_new_from_data (data, -1, g_free); pixbuf = gdk_pixbuf_new_from_stream_at_scale (stream, @@ -3175,29 +3202,17 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, *was_symbolic = TRUE; css_fg = gdk_rgba_to_string (fg); - if (!warning_color) - { - GdkColor warning_default_color = { 0, 0xf500, 0x7900, 0x3e00 }; - css_warning = gdk_color_to_css (&warning_default_color); - } - else - css_warning = gdk_rgba_to_string (warning_color); - if (!error_color) - { - GdkColor error_default_color = { 0, 0xcc00, 0x0000, 0x0000 }; - css_error = gdk_color_to_css (&error_default_color); - } - else - css_error = gdk_rgba_to_string (error_color); + css_success = css_warning = css_error = NULL; - if (!success_color) - { - GdkColor success_default_color = { 0, 0x4e00, 0x9a00, 0x0600 }; - css_success = gdk_color_to_css (&success_default_color); - } - else - css_success = gdk_rgba_to_string (success_color); + if (warning_color) + css_warning = gdk_rgba_to_string (warning_color); + + if (error_color) + css_error = gdk_rgba_to_string (error_color); + + if (success_color) + css_success = gdk_rgba_to_string (success_color); pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, css_fg, css_success, @@ -3245,9 +3260,6 @@ gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, GdkColor warning_color; GdkColor error_color; GdkColor *fg; - GdkColor *success = NULL; - GdkColor *warning = NULL; - GdkColor *err = NULL; gchar *css_fg, *css_success; gchar *css_warning, *css_error; @@ -3263,17 +3275,18 @@ gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, *was_symbolic = TRUE; fg = &style->fg[state]; - if (gtk_style_lookup_color (style, "success_color", &success_color)) - success = &success_color; - if (gtk_style_lookup_color (style, "warning_color", &warning_color)) - warning = &warning_color; - if (gtk_style_lookup_color (style, "error_color", &error_color)) - err = &error_color; - css_fg = gdk_color_to_css (fg); - css_success = gdk_color_to_css (success); - css_warning = gdk_color_to_css (warning); - css_error = gdk_color_to_css (err); + + css_success = css_warning = css_error = NULL; + + if (gtk_style_lookup_color (style, "success_color", &success_color)) + css_success = gdk_color_to_css (&success_color); + + if (gtk_style_lookup_color (style, "warning_color", &warning_color)) + css_warning = gdk_color_to_css (&warning_color); + + if (gtk_style_lookup_color (style, "error_color", &error_color)) + css_error = gdk_color_to_css (&error_color); pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, css_fg, css_success, From eb60282b1b2037b31f07c0fc7c71883cb64474d8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 12:53:47 -0400 Subject: [PATCH 0054/1463] Fix gtk_fixed_get_preferred_width When dealing with widths, use x, not y. Spotted by Ignacio Casal Quintero. --- gtk/gtkfixed.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c index abdeb54aa5..cf9fb20dfe 100644 --- a/gtk/gtkfixed.c +++ b/gtk/gtkfixed.c @@ -337,8 +337,8 @@ gtk_fixed_get_preferred_width (GtkWidget *widget, gtk_widget_get_preferred_width (child->widget, &child_min, &child_nat); - *minimum = MAX (*minimum, child->y + child_min); - *natural = MAX (*natural, child->y + child_nat); + *minimum = MAX (*minimum, child->x + child_min); + *natural = MAX (*natural, child->x + child_nat); } } From 9c128ed442bdd06b5364d6b31c830841101cf374 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 13:00:58 -0400 Subject: [PATCH 0055/1463] Fix the build --- gtk/gtksocket-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c index 00a3ce856b..b408fa6bcb 100644 --- a/gtk/gtksocket-x11.c +++ b/gtk/gtksocket-x11.c @@ -285,7 +285,7 @@ _gtk_socket_windowing_embed_notify (GtkSocket *socket) XFixesChangeSaveSet (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XWINDOW (socket->plug_window), SetModeInsert, SaveSetRoot, SaveSetUnmap); - gdk_error_trap_pop_ignore (); + gdk_error_trap_pop_ignored (); #endif _gtk_xembed_send_message (socket->plug_window, XEMBED_EMBEDDED_NOTIFY, 0, From d02443d57cc939fad5deb97b968fd3d7a0ca2519 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 27 Oct 2010 15:55:33 -0400 Subject: [PATCH 0056/1463] Add a migration guide section on size_request --- docs/reference/gtk/migrating-2to3.xml | 176 ++++++++++++++++++++++++++ 1 file changed, 176 insertions(+) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index a2643f56f2..3d72934487 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -343,6 +343,182 @@ cairo_destroy (cr); have been either impossible or impractical. +
+ Replace size_request by get_preferred_width/height + + + The request-phase of the traditional GTK+ geometry management + has been replaced by a more flexible height-for-width system, + which is described in detail in the API documentation + (see ). As a consequence, + the ::size-request signal and vfunc has been removed from + #GtkWidgetClass. The replacement for size_request() can + take several levels of sophistication: + + As a minimal replacement to keep current functionality, + you can simply implement the get_preferred_width() and + get_preferred_height() vfuncs by calling your existing + size_request() function. So you go from + +static void +my_widget_class_init (MyWidgetClass *class) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); + + /* ... */ + + widget_class->size_request = my_widget_size_request; + + /* ... */ +} + + to something that looks more like this: + +static void +my_widget_get_preferred_width (GtkWidget *widget, + gint *minimal_width, + gint *natural_width) +{ + GtkRequisition requisition; + + my_widget_size_request (widget, &requisition); + + *minimal_width = *natural_width = requisition.width; +} + +static void +my_widget_get_preferred_height (GtkWidget *widget, + gint *minimal_height, + gint *natural_height) +{ + GtkRequisition requisition; + + my_widget_size_request (widget, &requisition); + + *minimal_height = *natural_height = requisition.height; +} + + /* ... */ + +static void +my_widget_class_init (MyWidgetClass *class) +{ + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); + + /* ... */ + + widget_class->get_preferred_width = my_widget_get_preferred_width; + widget_class->get_preferred_height = my_widget_get_preferred_height; + + /* ... */ + +} + + Sometimes you can make things a little more streamlined + by replacing your existing size_request() implementation by + one that takes an orientation parameter: + +static void +my_widget_get_preferred_size (GtkWidget *widget, + GtkOrientation orientation, + gint *minimal_size, + gint *natural_size) +{ + + /* do things that are common for both orientations ... */ + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + /* do stuff that only applies to width... */ + + *minimal_size = *natural_size = ... + } + else + { + /* do stuff that only applies to height... */ + + *minimal_size = *natural_size = ... + } +} + +static void +my_widget_get_preferred_width (GtkWidget *widget, + gint *minimal_width, + gint *natural_width) +{ + my_widget_get_preferred_size (widget, + GTK_ORIENTATION_HORIZONTAL, + minimal_width, + natural_width); +} + +static void +my_widget_get_preferred_height (GtkWidget *widget, + gint *minimal_height, + gint *natural_height) +{ + my_widget_get_preferred_size (widget, + GTK_ORIENTATION_VERTICAL, + minimal_height, + natural_height); +} + + /* ... */ + + + If your widget can cope with a small size, + but would appreciate getting some more space (a common + example would be that it contains ellipsizable labels), + you can do that by making your get_preferred_width()/height() + functions return a smaller value for @minimal than for @natural. + For @minimal, you probably want to return the same value + that your size_request() function returned before (since + size_request() was defined as returning the minimal size + a widget can work with). A simple way to obtain good + values for @natural, in the case of containers, is to use + gtk_widget_get_preferred_width() and + gtk_widget_get_preferred_height() on the children of the + container, as in the following example: + +static void +gtk_fixed_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkFixed *fixed = GTK_FIXED (widget); + GtkFixedPrivate *priv = fixed->priv; + GtkFixedChild *child; + GList *children; + gint child_min, child_nat; + + *minimum = 0; + *natural = 0; + + for (children = priv->children; children; children = children->next) + { + child = children->data; + + if (!gtk_widget_get_visible (child->widget)) + continue; + + gtk_widget_get_preferred_height (child->widget, &child_min, &child_nat); + + *minimum = MAX (*minimum, child->y + child_min); + *natural = MAX (*natural, child->y + child_nat); + } +} + + + To make full use of the new capabilities of the + height-for-width geometry management, you need to additionally + implement the get_preferred_height_for_width() and + get_preferred_width_for_height(). For details on these functions, + see . + + + +
+
Replace GdkRegion by cairo_region_t From 3265d46c9d8f8fb6e23b04f671fde546907af988 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 28 Oct 2010 14:56:04 +0900 Subject: [PATCH 0057/1463] Use gtk_widget_set_size_request() instead of handling "size-request" signals. --- gtk/gtktoolitemgroup.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index 2f69c08af8..0f11b29423 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -307,15 +307,6 @@ gtk_tool_item_group_header_draw_cb (GtkWidget *widget, return FALSE; } -static void -gtk_tool_item_group_header_size_request_cb (GtkWidget *widget, - GtkRequisition *requisition, - gpointer data) -{ - GtkToolItemGroup *group = GTK_TOOL_ITEM_GROUP (data); - requisition->height = MAX (requisition->height, group->priv->expander_size); -} - static void gtk_tool_item_group_header_clicked_cb (GtkButton *button, gpointer data) @@ -344,6 +335,8 @@ gtk_tool_item_group_header_adjust_style (GtkToolItemGroup *group) "header-spacing", &(priv->header_spacing), "expander-size", &(priv->expander_size), NULL); + + gtk_widget_set_size_request (alignment, -1, priv->expander_size); switch (gtk_tool_shell_get_orientation (GTK_TOOL_SHELL (group))) { @@ -412,9 +405,6 @@ gtk_tool_item_group_init (GtkToolItemGroup *group) g_signal_connect_after (alignment, "draw", G_CALLBACK (gtk_tool_item_group_header_draw_cb), group); - g_signal_connect_after (alignment, "size-request", - G_CALLBACK (gtk_tool_item_group_header_size_request_cb), - group); g_signal_connect (priv->header, "clicked", G_CALLBACK (gtk_tool_item_group_header_clicked_cb), From 05ca7e14b08cef93b1884a9a66dad18924ea3101 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 28 Oct 2010 15:16:06 +0900 Subject: [PATCH 0058/1463] Removed size_request from GtkToolItemGroup Ofcourse GtkToolPalette needs real migration to height-for-width apis, this patch just removes the need for the size_request signal and vfunc. --- gtk/gtktoolitemgroup.c | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index 0f11b29423..9f238c6cb0 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -568,6 +568,31 @@ gtk_tool_item_group_size_request (GtkWidget *widget, requisition->height += border_width * 2; } +static void +gtk_tool_item_group_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_tool_item_group_size_request (widget, &requisition); + + *minimum = *natural = requisition.width; +} + +static void +gtk_tool_item_group_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural) +{ + GtkRequisition requisition; + + gtk_tool_item_group_size_request (widget, &requisition); + + *minimum = *natural = requisition.height; +} + + static gboolean gtk_tool_item_group_is_item_visible (GtkToolItemGroup *group, GtkToolItemGroupChild *child) @@ -1542,12 +1567,13 @@ gtk_tool_item_group_class_init (GtkToolItemGroupClass *cls) oclass->finalize = gtk_tool_item_group_finalize; oclass->dispose = gtk_tool_item_group_dispose; - wclass->size_request = gtk_tool_item_group_size_request; - wclass->size_allocate = gtk_tool_item_group_size_allocate; - wclass->realize = gtk_tool_item_group_realize; - wclass->unrealize = gtk_tool_item_group_unrealize; - wclass->style_set = gtk_tool_item_group_style_set; - wclass->screen_changed = gtk_tool_item_group_screen_changed; + wclass->get_preferred_width = gtk_tool_item_group_get_preferred_width; + wclass->get_preferred_height = gtk_tool_item_group_get_preferred_height; + wclass->size_allocate = gtk_tool_item_group_size_allocate; + wclass->realize = gtk_tool_item_group_realize; + wclass->unrealize = gtk_tool_item_group_unrealize; + wclass->style_set = gtk_tool_item_group_style_set; + wclass->screen_changed = gtk_tool_item_group_screen_changed; cclass->add = gtk_tool_item_group_add; cclass->remove = gtk_tool_item_group_remove; From b277ba4238842058c375cb0122ebb64216a16353 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 28 Oct 2010 15:17:06 +0900 Subject: [PATCH 0059/1463] Make GtkPathBar use set_size_request() instead of the "size-request" signal. --- gtk/gtkpathbar.c | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index d97dc0d21a..d5447e8cd0 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -1396,25 +1396,25 @@ get_dir_name (ButtonData *button_data) * or not the contents are bold */ static void -label_size_request_cb (GtkWidget *widget, - GtkRequisition *requisition, - ButtonData *button_data) +set_label_size_request (GtkWidget *alignment, + ButtonData *button_data) { const gchar *dir_name = get_dir_name (button_data); PangoLayout *layout = gtk_widget_create_pango_layout (button_data->label, dir_name); - gint bold_width, bold_height; + gint width, height, bold_width, bold_height; gchar *markup; - - pango_layout_get_pixel_size (layout, &requisition->width, &requisition->height); + + pango_layout_get_pixel_size (layout, &width, &height); markup = g_markup_printf_escaped ("%s", dir_name); pango_layout_set_markup (layout, markup, -1); g_free (markup); pango_layout_get_pixel_size (layout, &bold_width, &bold_height); - requisition->width = MAX (requisition->width, bold_width); - requisition->height = MAX (requisition->height, bold_height); - + + gtk_widget_set_size_request (alignment, + MAX (width, bold_width), + MAX (height, bold_height)); g_object_unref (layout); } @@ -1542,18 +1542,19 @@ make_directory_button (GtkPathBar *path_bar, button_data->image = NULL; } - /* label_alignment is created because we can't override size-request - * on label itself and still have the contents of the label centered - * properly in the label's requisition - */ - if (label_alignment) - g_signal_connect (label_alignment, "size-request", - G_CALLBACK (label_size_request_cb), button_data); - button_data->dir_name = g_strdup (dir_name); button_data->file = g_object_ref (file); button_data->file_is_hidden = file_is_hidden; + /* FIXME: Maybe we dont need this alignment at all and we can + * use GtkMisc aligments or even GtkWidget:halign/valign center. + * + * The following function ensures that the alignment will always + * request the same size whether the button's text is bold or not. + */ + if (label_alignment) + set_label_size_request (label_alignment, button_data); + gtk_container_add (GTK_CONTAINER (button_data->button), child); gtk_widget_show_all (button_data->button); From 731853a7ec97be6060507157230f2e3b2b998b1b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 28 Oct 2010 15:41:00 +0900 Subject: [PATCH 0060/1463] Added a runtime warning if any class is implementing the ->size_request() vfunc. --- gtk/gtksizerequest.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index a5a3103d49..9b467b429e 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -108,6 +108,13 @@ static void do_size_request (GtkWidget *widget, GtkRequisition *requisition) { + GtkWidgetClass *widget_class = g_type_class_peek (GTK_TYPE_WIDGET); + + if (GTK_WIDGET_GET_CLASS (widget)->size_request != widget_class->size_request) + g_warning ("%s implements GtkWidgetClass::size_request which is deprecated and " + "will be removed in the next release", + G_OBJECT_TYPE_NAME (widget)); + /* Now we dont bother caching the deprecated "size-request" returns, * just unconditionally invoke here just in case we run into legacy stuff */ gtk_widget_ensure_style (widget); From 89cc46374d069941282756d826f79b2de203ffbd Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 28 Oct 2010 16:00:19 +0900 Subject: [PATCH 0061/1463] Fire a warning if there are any handlers connected to the deprecated "size-request" signal. --- gtk/gtksizerequest.c | 7 +++++++ gtk/gtkwidget.c | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index 9b467b429e..ba94aebab6 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -104,6 +104,8 @@ get_cached_size (SizeRequestCache *cache, return FALSE; } + +extern guint size_request_signal_id; static void do_size_request (GtkWidget *widget, GtkRequisition *requisition) @@ -115,6 +117,11 @@ do_size_request (GtkWidget *widget, "will be removed in the next release", G_OBJECT_TYPE_NAME (widget)); + if (g_signal_has_handler_pending (widget, size_request_signal_id, 0, TRUE)) + g_warning ("A %s (%p) has handler(s) connected to the GtkWidgetClass::size-request signal which is " + "deprecated and will be removed in the next release", + G_OBJECT_TYPE_NAME (widget), widget); + /* Now we dont bother caching the deprecated "size-request" returns, * just unconditionally invoke here just in case we run into legacy stuff */ gtk_widget_ensure_style (widget); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index b37452f7ad..34cf229d14 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -710,6 +710,9 @@ static guint composite_child_stack = 0; static GtkTextDirection gtk_default_direction = GTK_TEXT_DIR_LTR; static GParamSpecPool *style_property_spec_pool = NULL; +/* XXX Temporarily here to fire warnings from gtksizerequest.c */ +guint size_request_signal_id = 0; + static GQuark quark_property_parser = 0; static GQuark quark_aux_info = 0; static GQuark quark_accel_path = 0; @@ -1467,7 +1470,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal. * @requisition: */ - widget_signals[SIZE_REQUEST] = + size_request_signal_id = widget_signals[SIZE_REQUEST] = g_signal_new (I_("size-request"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, From 211c39c50010a0f3bebcb60a14c72f68d63d512f Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Thu, 28 Oct 2010 11:54:05 +0200 Subject: [PATCH 0062/1463] Remove useless vars. --- gtk/gtktable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtktable.c b/gtk/gtktable.c index 47e94e8454..500fe9fc7e 100644 --- a/gtk/gtktable.c +++ b/gtk/gtktable.c @@ -980,7 +980,7 @@ gtk_table_get_preferred_width (GtkWidget *widget, { GtkTable *table = GTK_TABLE (widget); GtkTablePrivate *priv = table->priv; - gint row, col; + gint col; gtk_table_size_request_init (table); gtk_table_size_request_pass1 (table); @@ -1005,7 +1005,7 @@ gtk_table_get_preferred_height (GtkWidget *widget, { GtkTable *table = GTK_TABLE (widget); GtkTablePrivate *priv = table->priv; - gint row, col; + gint row; gtk_table_size_request_init (table); gtk_table_size_request_pass1 (table); From 3b1c301a6627a0cf00cf0ab1f8b40198cae0bab5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 30 Oct 2010 17:32:15 +0900 Subject: [PATCH 0063/1463] Made GtkCellAreaBox:align-cells a packing property per cell Implemented all request apis on GtkCellAreaBox considering alignment of groups of cells (some cells can be aligned while others fill space smartly). --- gtk/gtkcellarea.h | 2 +- gtk/gtkcellareabox.c | 713 +++++++++++++++++++++++++-------------- gtk/gtkcellareabox.h | 9 +- gtk/gtkcellareaboxiter.c | 468 ++++++++++++++++--------- gtk/gtkcellareaboxiter.h | 84 ++--- gtk/gtkcellareaiter.c | 226 ++++++++++--- gtk/gtkcellareaiter.h | 98 +++--- 7 files changed, 1059 insertions(+), 541 deletions(-) diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 5a9c770f71..9d4b16d5b4 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -31,7 +31,6 @@ #include #include #include -#include G_BEGIN_DECLS @@ -45,6 +44,7 @@ G_BEGIN_DECLS typedef struct _GtkCellArea GtkCellArea; typedef struct _GtkCellAreaClass GtkCellAreaClass; typedef struct _GtkCellAreaPrivate GtkCellAreaPrivate; +typedef struct _GtkCellAreaIter GtkCellAreaIter; /** * GtkCellCallback: diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 511e8a0565..f1a7cc1ea9 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -97,20 +97,37 @@ static void gtk_cell_area_box_layout_reorder (GtkCellLayout gint position); -/* CellInfo metadata handling */ +/* CellInfo/CellGroup metadata handling */ typedef struct { GtkCellRenderer *renderer; - guint expand : 1; - guint pack : 1; + guint expand : 1; /* Whether the cell expands */ + guint pack : 1; /* Whether the cell is packed from the start or end */ + guint align : 1; /* Whether to align this cell's position with adjacent rows */ } CellInfo; -static CellInfo *cell_info_new (GtkCellRenderer *renderer, - gboolean expand, - GtkPackType pack); -static void cell_info_free (CellInfo *info); -static gint cell_info_find (CellInfo *info, - GtkCellRenderer *renderer); +typedef struct { + GList *cells; + + guint id : 16; + guint expand : 1; +} CellGroup; + +static CellInfo *cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, + gboolean expand, + gboolean align); +static void cell_info_free (CellInfo *info); +static gint cell_info_find (CellInfo *info, + GtkCellRenderer *renderer); + +static CellGroup *cell_group_new (guint id); +static void cell_group_free (CellGroup *group); + +static GList *list_consecutive_cells (GtkCellAreaBox *box); +static GList *construct_cell_groups (GtkCellAreaBox *box); +static gint count_expand_groups (GtkCellAreaBox *box); +static gint count_expand_cells (CellGroup *group); struct _GtkCellAreaBoxPrivate @@ -118,17 +135,15 @@ struct _GtkCellAreaBoxPrivate GtkOrientation orientation; GList *cells; + GList *groups; gint spacing; - - guint align_cells : 1; }; enum { PROP_0, PROP_ORIENTATION, - PROP_SPACING, - PROP_ALIGN_CELLS + PROP_SPACING }; G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, @@ -136,6 +151,10 @@ G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, gtk_cell_area_box_cell_layout_init) G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); +#define OPPOSITE_ORIENTATION(orientation) \ + ((orientation) == GTK_ORIENTATION_HORIZONTAL ? \ + GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL) + static void gtk_cell_area_box_init (GtkCellAreaBox *box) { @@ -148,8 +167,8 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->orientation = GTK_ORIENTATION_HORIZONTAL; priv->cells = NULL; + priv->groups = NULL; priv->spacing = 0; - priv->align_cells = TRUE; } static void @@ -190,32 +209,25 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) 0, GTK_PARAM_READWRITE)); - g_object_class_install_property (object_class, - PROP_ALIGN_CELLS, - g_param_spec_boolean ("align-cells", - P_("Align Cells"), - P_("Whether cells should be aligned with those " - "rendered in adjacent rows"), - TRUE, - GTK_PARAM_READWRITE)); - g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxPrivate)); } /************************************************************* - * CellInfo Basics * + * CellInfo/CellGroup Basics * *************************************************************/ static CellInfo * cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, gboolean expand, - GtkPackType pack) + gboolean align) { CellInfo *info = g_slice_new (CellInfo); info->renderer = g_object_ref_sink (renderer); - info->expand = expand; info->pack = pack; + info->expand = expand; + info->align = align; return info; } @@ -235,6 +247,139 @@ cell_info_find (CellInfo *info, return (info->renderer == renderer) ? 0 : -1; } +static CellGroup * +cell_group_new (guint id) +{ + CellGroup *group = g_slice_new0 (CellGroup); + + group->id = id; + + return group; +} + +static void +cell_group_free (CellGroup *group) +{ + g_list_free (group->cells); + g_slice_free (CellGroup, group); +} + +static GList * +list_consecutive_cells (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + GList *l, *consecutive_cells = NULL, *pack_end_cells = NULL; + CellInfo *info; + + /* List cells in consecutive order taking their + * PACK_START/PACK_END options into account + */ + for (l = priv->cells; l; l = l->next) + { + info = l->data; + + if (info->pack == GTK_PACK_START) + consecutive_cells = g_list_prepend (consecutive_cells, info); + } + + for (l = priv->cells; l; l = l->next) + { + info = l->data; + + if (info->pack == GTK_PACK_END) + pack_end_cells = g_list_prepend (pack_end_cells, info); + } + + consecutive_cells = g_list_reverse (consecutive_cells); + consecutive_cells = g_list_concat (consecutive_cells, pack_end_cells); + + return consecutive_cells; +} + +static GList * +construct_cell_groups (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellGroup *group; + GList *cells, *l; + GList *groups = NULL; + guint id = 0; + + if (!priv->cells) + return NULL; + + cells = list_consecutive_cells (box); + group = cell_group_new (id++); + groups = g_list_prepend (groups, group); + + for (l = cells; l; l = l->next) + { + CellInfo *info = l->data; + + /* A new group starts with any aligned cell, the first group is implied */ + if (info->align && l != cells) + { + group = cell_group_new (id++); + groups = g_list_prepend (groups, group); + } + + group->cells = g_list_prepend (group->cells, info); + + /* A group expands if it contains any expand cells */ + if (info->expand) + group->expand = TRUE; + } + + g_list_free (cells); + + for (l = cells; l; l = l->next) + { + group = l->data; + group->cells = g_list_reverse (group->cells); + } + + return g_list_reverse (groups); +} + +static gint +count_expand_groups (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + GList *l; + gint expand_groups = 0; + + for (l = priv->groups; l; l = l->next) + { + CellGroup *group = l->data; + + if (group->expand) + expand_groups++; + } + + return expand_groups; +} + +static gint +count_expand_cells (CellGroup *group) +{ + GList *l; + gint expand_cells = 0; + + if (!group->expand) + return 0; + + for (l = group->cells; l; l = l->next) + { + CellInfo *info = l->data; + + if (info->expand) + expand_cells++; + } + + return expand_cells; +} + + /************************************************************* * GObjectClass * *************************************************************/ @@ -256,7 +401,17 @@ gtk_cell_area_box_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (object); + switch (prop_id) + { + case PROP_SPACING: + gtk_cell_area_box_set_spacing (box, g_value_get_int (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -265,7 +420,17 @@ gtk_cell_area_box_get_property (GObject *object, GValue *value, GParamSpec *pspec) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (object); + switch (prop_id) + { + case PROP_SPACING: + g_value_set_int (value, gtk_cell_area_box_get_spacing (box)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } /************************************************************* @@ -276,7 +441,7 @@ gtk_cell_area_box_add (GtkCellArea *area, GtkCellRenderer *renderer) { gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), - renderer, FALSE); + renderer, FALSE, TRUE); } static void @@ -297,6 +462,16 @@ gtk_cell_area_box_remove (GtkCellArea *area, cell_info_free (info); priv->cells = g_list_delete_link (priv->cells, node); + + /* Reconstruct cell groups + * XXX TODO: add a list of iters and weak_ref's on them, then + * flush the iters when we reconstruct groups, change spacing + * or child expand properties (i.e. notify size needs to be + * recalculated). + */ + g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); + g_list_free (priv->groups); + priv->groups = construct_cell_groups (box); } else g_warning ("Trying to remove a cell renderer that is not present GtkCellAreaBox"); @@ -387,137 +562,279 @@ compute_size (GtkCellAreaBox *box, GtkOrientation orientation, GtkCellAreaBoxIter *iter, GtkWidget *widget, + gint for_size, gint *minimum_size, gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; + CellGroup *group; CellInfo *info; - GList *l; + GList *cell_list, *group_list; gint min_size = 0; gint nat_size = 0; - gboolean first_cell = TRUE; - for (l = priv->cells; l; l = l->next) + for (group_list = priv->groups; group_list; group_list = group_list->next) { - gint renderer_min_size, renderer_nat_size; + gint group_min_size = 0; + gint group_nat_size = 0; - info = l->data; + group = group_list->data; - get_renderer_size (info->renderer, orientation, widget, -1, - &renderer_min_size, &renderer_nat_size); - - /* If we're aligning the cells we need to cache the max results - * for all requests performed with the same iter. - */ - if (priv->align_cells) + for (cell_list = group->cells; cell_list; cell_list = cell_list->next) { - if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_box_iter_push_cell_width (iter, info->renderer, - renderer_min_size, renderer_nat_size); + gint renderer_min_size, renderer_nat_size; + + info = cell_list->data; + + get_renderer_size (info->renderer, orientation, widget, for_size, + &renderer_min_size, &renderer_nat_size); + + if (orientation == priv->orientation) + { + if (min_size > 0) + { + min_size += priv->spacing; + nat_size += priv->spacing; + } + + if (group_min_size > 0) + { + group_min_size += priv->spacing; + group_nat_size += priv->spacing; + } + + min_size += renderer_min_size; + nat_size += renderer_nat_size; + group_min_size += renderer_min_size; + group_nat_size += renderer_nat_size; + } else - gtk_cell_area_box_iter_push_cell_height (iter, info->renderer, - renderer_min_size, renderer_nat_size); + { + min_size = MAX (min_size, renderer_min_size); + nat_size = MAX (nat_size, renderer_nat_size); + group_min_size = MAX (group_min_size, renderer_min_size); + group_nat_size = MAX (group_nat_size, renderer_nat_size); + } } - if (orientation == priv->orientation) + if (orientation == GTK_ORIENTATION_HORIZONTAL) { - min_size += renderer_min_size; - nat_size += renderer_nat_size; - - if (!first_cell) - { - min_size += priv->spacing; - nat_size += priv->spacing; - } + if (for_size < 0) + gtk_cell_area_box_iter_push_group_width (iter, group->id, group_min_size, group_nat_size); + else + gtk_cell_area_box_iter_push_group_width_for_height (iter, group->id, for_size, + group_min_size, group_nat_size); } else { - min_size = MAX (min_size, renderer_min_size); - nat_size = MAX (nat_size, renderer_nat_size); + if (for_size < 0) + gtk_cell_area_box_iter_push_group_height (iter, group->id, group_min_size, group_nat_size); + else + gtk_cell_area_box_iter_push_group_height_for_width (iter, group->id, for_size, + group_min_size, group_nat_size); } - - if (first_cell) - first_cell = FALSE; } *minimum_size = min_size; *natural_size = nat_size; } -static void -update_iter_aligned (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - gint for_size) +GtkRequestedSize * +get_group_sizes (CellGroup *group, + GtkOrientation orientation, + GtkWidget *widget, + gint *n_sizes) { - GtkCellAreaBoxPrivate *priv = box->priv; - CellInfo *info; - GList *l; - gint min_size = 0; - gint nat_size = 0; - gboolean first_cell = TRUE; + GtkRequestedSize *sizes; + GList *l; + gint i; - for (l = priv->cells; l; l = l->next) + *n_sizes = g_list_length (group->cells); + sizes = g_new (GtkRequestedSize, *n_sizes); + + for (l = group->cells, i = 0; l; l = l->next, i++) { - gint aligned_min_size, aligned_nat_size; - - info = l->data; + CellInfo *info = l->data; - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - if (for_size < 0) - gtk_cell_area_box_iter_get_cell_width (iter, info->renderer, - &aligned_min_size, - &aligned_nat_size); - else - gtk_cell_area_box_iter_get_cell_width_for_height (iter, info->renderer, - for_size, - &aligned_min_size, - &aligned_nat_size); - } - else - { - if (for_size < 0) - gtk_cell_area_box_iter_get_cell_height (iter, info->renderer, - &aligned_min_size, - &aligned_nat_size); - else - gtk_cell_area_box_iter_get_cell_height_for_width (iter, info->renderer, - for_size, - &aligned_min_size, - &aligned_nat_size); - } - - min_size += aligned_min_size; - nat_size += aligned_nat_size; + sizes[i].data = info; - if (!first_cell) - { - min_size += priv->spacing; - nat_size += priv->spacing; - } - - if (first_cell) - first_cell = FALSE; + get_renderer_size (info->renderer, + orientation, widget, -1, + &sizes[i].minimum_size, + &sizes[i].natural_size); } - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + return sizes; +} + +static void +compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, + CellGroup *group, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + + /* Exception for single cell groups */ + if (!group->cells->next) { - if (for_size < 0) - gtk_cell_area_iter_push_preferred_width (GTK_CELL_AREA_ITER (iter), min_size, nat_size); - else - gtk_cell_area_iter_push_preferred_width_for_height (GTK_CELL_AREA_ITER (iter), - for_size, min_size, nat_size); + CellInfo *info = group->cells->data; + + get_renderer_size (info->renderer, + OPPOSITE_ORIENTATION (priv->orientation), + widget, for_size, minimum_size, natural_size); } else { - if (for_size < 0) - gtk_cell_area_iter_push_preferred_height (GTK_CELL_AREA_ITER (iter), min_size, nat_size); + GtkRequestedSize *orientation_sizes; + CellInfo *info; + gint n_sizes, i; + gint n_expand_cells = count_expand_cells (group); + gint avail_size = for_size; + gint extra_size, extra_extra; + gint min_size = 0, nat_size = 0; + + orientation_sizes = get_group_sizes (group, priv->orientation, widget, &n_sizes); + + /* First naturally allocate the cells in the group into the for_size */ + avail_size -= (n_sizes - 1) * priv->spacing; + for (i = 0; i < n_sizes; i++) + avail_size -= orientation_sizes[i].minimum_size; + + avail_size = gtk_distribute_natural_allocation (avail_size, n_sizes, orientation_sizes); + + /* Calculate/distribute expand for cells */ + if (n_expand_cells > 0) + { + extra_size = avail_size / n_expand_cells; + extra_extra = avail_size % n_expand_cells; + } else - gtk_cell_area_iter_push_preferred_height_for_width (GTK_CELL_AREA_ITER (iter), - for_size, min_size, nat_size); + extra_size = extra_extra = 0; + + for (i = 0; i < n_sizes; i++) + { + gint cell_min, cell_nat; + + info = orientation_sizes[i].data; + + if (info->expand) + { + orientation_sizes[i].minimum_size += extra_size; + if (extra_extra) + { + orientation_sizes[i].minimum_size++; + extra_extra--; + } + } + + get_renderer_size (info->renderer, + OPPOSITE_ORIENTATION (priv->orientation), + widget, + orientation_sizes[i].minimum_size, + &cell_min, &cell_nat); + + min_size = MAX (min_size, cell_min); + nat_size = MAX (nat_size, cell_nat); + } + + *minimum_size = min_size; + *natural_size = nat_size; + + g_free (orientation_sizes); } } +static void +compute_size_for_opposing_orientation (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellGroup *group; + GList *group_list; + GtkRequestedSize *orientation_sizes; + gint n_groups, n_expand_groups, i; + gint avail_size = for_size; + gint extra_size, extra_extra; + gint min_size = 0, nat_size = 0; + + n_expand_groups = count_expand_groups (box); + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + orientation_sizes = gtk_cell_area_box_iter_get_widths (iter, &n_groups); + else + orientation_sizes = gtk_cell_area_box_iter_get_heights (iter, &n_groups); + + /* First start by naturally allocating space among groups of cells */ + avail_size -= (n_groups - 1) * priv->spacing; + for (i = 0; i < n_groups; i++) + avail_size -= orientation_sizes[i].minimum_size; + + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); + + /* Calculate/distribute expand for groups */ + if (n_expand_groups > 0) + { + extra_size = avail_size / n_expand_groups; + extra_extra = avail_size % n_expand_groups; + } + else + extra_size = extra_extra = 0; + + /* Now we need to naturally allocate sizes for cells in each group + * and push the height-for-width for each group accordingly while accumulating + * the overall height-for-width for this row. + */ + for (group_list = priv->groups; group_list; group_list = group_list->next) + { + gint group_min, group_nat; + + group = group_list->data; + + if (group->expand) + { + orientation_sizes[group->id].minimum_size += extra_size; + if (extra_extra) + { + orientation_sizes[group->id].minimum_size++; + extra_extra--; + } + } + + /* Now we have the allocation for the group, request it's height-for-width */ + compute_group_size_for_opposing_orientation (box, group, widget, + orientation_sizes[group->id].minimum_size, + &group_min, &group_nat); + + min_size = MAX (min_size, group_min); + nat_size = MAX (nat_size, group_nat); + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_cell_area_box_iter_push_group_height_for_width (iter, group->id, for_size, + group_min, group_nat); + } + else + { + gtk_cell_area_box_iter_push_group_width_for_height (iter, group->id, for_size, + group_min, group_nat); + } + } + + *minimum_size = min_size; + *natural_size = nat_size; + + g_free (orientation_sizes); +} + + + static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, GtkCellAreaIter *iter, @@ -527,25 +844,16 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxIter *box_iter; - GtkCellAreaBoxPrivate *priv; gint min_width, nat_width; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); box_iter = GTK_CELL_AREA_BOX_ITER (iter); - priv = box->priv; - /* Compute the size of all renderers for current row data, possibly + /* Compute the size of all renderers for current row data, * bumping cell alignments in the iter along the way */ compute_size (box, GTK_ORIENTATION_HORIZONTAL, - box_iter, widget, &min_width, &nat_width); - - /* Update width of the iter based on aligned cell sizes if - * appropriate */ - if (priv->align_cells && priv->orientation == GTK_ORIENTATION_HORIZONTAL) - update_iter_aligned (box, box_iter, -1); - else - gtk_cell_area_iter_push_preferred_width (iter, min_width, nat_width); + box_iter, widget, -1, &min_width, &nat_width); if (minimum_width) *minimum_width = min_width; @@ -563,25 +871,16 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxIter *box_iter; - GtkCellAreaBoxPrivate *priv; gint min_height, nat_height; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); box_iter = GTK_CELL_AREA_BOX_ITER (iter); - priv = box->priv; - /* Compute the size of all renderers for current row data, possibly + /* Compute the size of all renderers for current row data, * bumping cell alignments in the iter along the way */ compute_size (box, GTK_ORIENTATION_VERTICAL, - box_iter, widget, &min_height, &nat_height); - - /* Update width of the iter based on aligned cell sizes if - * appropriate */ - if (priv->align_cells && priv->orientation == GTK_ORIENTATION_VERTICAL) - update_iter_aligned (box, box_iter, -1); - else - gtk_cell_area_iter_push_preferred_height (iter, min_height, nat_height); + box_iter, widget, -1, &min_height, &nat_height); if (minimum_height) *minimum_height = min_height; @@ -590,61 +889,6 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, *natural_height = nat_height; } -static void -compute_size_for_orientation (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) -{ - GtkCellAreaBoxPrivate *priv = box->priv; - CellInfo *info; - GList *l; - gint min_size = 0; - gint nat_size = 0; - gboolean first_cell = TRUE; - - for (l = priv->cells; l; l = l->next) - { - gint renderer_min_size, renderer_nat_size; - - info = l->data; - - get_renderer_size (info->renderer, priv->orientation, widget, for_size, - &renderer_min_size, &renderer_nat_size); - - /* If we're aligning the cells we need to cache the max results - * for all requests performed with the same iter. - */ - if (priv->align_cells) - { - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_box_iter_push_cell_width_for_height (iter, info->renderer, for_size, - renderer_min_size, renderer_nat_size); - else - gtk_cell_area_box_iter_push_cell_height_for_width (iter, info->renderer, for_size, - renderer_min_size, renderer_nat_size); - } - - min_size += renderer_min_size; - nat_size += renderer_nat_size; - - if (!first_cell) - { - min_size += priv->spacing; - nat_size += priv->spacing; - } - - if (first_cell) - first_cell = FALSE; - } - - *minimum_size = min_size; - *natural_size = nat_size; -} - - static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaIter *iter, @@ -665,21 +909,15 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, if (priv->orientation == GTK_ORIENTATION_VERTICAL) { - /* Add up vertical requests of height for width and possibly push the overall + /* Add up vertical requests of height for width and push the overall * cached sizes for alignments */ - compute_size_for_orientation (box, box_iter, widget, width, &min_height, &nat_height); - - /* Update the overall cached height for width based on aligned cells if appropriate */ - if (priv->align_cells) - update_iter_aligned (box, box_iter, width); - else - gtk_cell_area_iter_push_preferred_height_for_width (GTK_CELL_AREA_ITER (iter), - width, min_height, nat_height); + compute_size (box, priv->orientation, box_iter, widget, width, &min_height, &nat_height); } else { - /* XXX Juice: virtually allocate cells into the for_width possibly using the + /* Juice: virtually allocate cells into the for_width using the * alignments and then return the overall height for that width, and cache it */ + compute_size_for_opposing_orientation (box, box_iter, widget, width, &min_height, &nat_height); } if (minimum_height) @@ -709,21 +947,15 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - /* Add up vertical requests of height for width and possibly push the overall + /* Add up horizontal requests of width for height and push the overall * cached sizes for alignments */ - compute_size_for_orientation (box, box_iter, widget, height, &min_width, &nat_width); - - /* Update the overall cached height for width based on aligned cells if appropriate */ - if (priv->align_cells) - update_iter_aligned (box, box_iter, height); - else - gtk_cell_area_iter_push_preferred_height_for_width (GTK_CELL_AREA_ITER (iter), - height, min_width, nat_width); + compute_size (box, priv->orientation, box_iter, widget, height, &min_width, &nat_width); } else { - /* XXX Juice: virtually allocate cells into the for_width possibly using the - * alignments and then return the overall height for that width, and cache it */ + /* Juice: horizontally allocate cells into the for_height using the + * alignments and then return the overall width for that height, and cache it */ + compute_size_for_opposing_orientation (box, box_iter, widget, height, &min_width, &nat_width); } if (minimum_width) @@ -750,7 +982,7 @@ gtk_cell_area_box_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, gboolean expand) { - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (cell_layout), renderer, expand); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, TRUE); } static void @@ -758,7 +990,7 @@ gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, gboolean expand) { - gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand); + gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, TRUE); } static void @@ -795,7 +1027,8 @@ gtk_cell_area_box_new (void) void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, - gboolean expand) + gboolean expand, + gboolean align) { GtkCellAreaBoxPrivate *priv; CellInfo *info; @@ -812,15 +1045,21 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, return; } - info = cell_info_new (renderer, expand, GTK_PACK_START); + info = cell_info_new (renderer, GTK_PACK_START, expand, align); priv->cells = g_list_append (priv->cells, info); + + /* Reconstruct cell groups (TODO, notify created iters that size needs renegotiation) */ + g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); + g_list_free (priv->groups); + priv->groups = construct_cell_groups (box); } void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, - gboolean expand) + gboolean expand, + gboolean align) { GtkCellAreaBoxPrivate *priv; CellInfo *info; @@ -837,9 +1076,14 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, return; } - info = cell_info_new (renderer, expand, GTK_PACK_END); + info = cell_info_new (renderer, GTK_PACK_END, expand, align); priv->cells = g_list_append (priv->cells, info); + + /* Reconstruct cell groups (TODO, notify created iters that size needs renegotiation) */ + g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); + g_list_free (priv->groups); + priv->groups = construct_cell_groups (box); } gint @@ -864,32 +1108,7 @@ gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, { priv->spacing = spacing; + /* TODO, notify created iters that size needs renegotiation */ g_object_notify (G_OBJECT (box), "spacing"); } } - -gboolean -gtk_cell_area_box_get_align_cells (GtkCellAreaBox *box) -{ - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX (box), FALSE); - - return box->priv->align_cells; -} - -void -gtk_cell_area_box_set_align_cells (GtkCellAreaBox *box, - gboolean align) -{ - GtkCellAreaBoxPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA_BOX (box)); - - priv = box->priv; - - if (priv->align_cells != align) - { - priv->align_cells = align; - - g_object_notify (G_OBJECT (box), "align-cells"); - } -} diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index ee29ffe8a0..0a0c052229 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -67,16 +67,15 @@ GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; GtkCellArea *gtk_cell_area_box_new (void); void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, - gboolean expand); + gboolean expand, + gboolean align); void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, - gboolean expand); + gboolean expand, + gboolean align); gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, gint spacing); -gboolean gtk_cell_area_box_get_align_cells (GtkCellAreaBox *box); -void gtk_cell_area_box_set_align_cells (GtkCellAreaBox *box, - gboolean align); G_END_DECLS diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index 791d6b4041..9f3474d84f 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -23,12 +23,19 @@ #include "config.h" #include "gtkintl.h" +#include "gtkcellareabox.h" #include "gtkcellareaboxiter.h" /* GObjectClass */ static void gtk_cell_area_box_iter_finalize (GObject *object); /* GtkCellAreaIterClass */ +static void gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint width); +static void gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint height); static void gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter); static void gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, gint width); @@ -88,6 +95,11 @@ gtk_cell_area_box_iter_class_init (GtkCellAreaBoxIterClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_box_iter_finalize; + iter_class->sum_preferred_width = gtk_cell_area_box_iter_sum_preferred_width; + iter_class->sum_preferred_height_for_width = gtk_cell_area_box_iter_sum_preferred_height_for_width; + iter_class->sum_preferred_height = gtk_cell_area_box_iter_sum_preferred_height; + iter_class->sum_preferred_width_for_height = gtk_cell_area_box_iter_sum_preferred_width_for_height; + iter_class->flush_preferred_width = gtk_cell_area_box_iter_flush_preferred_width; iter_class->flush_preferred_height_for_width = gtk_cell_area_box_iter_flush_preferred_height_for_width; iter_class->flush_preferred_height = gtk_cell_area_box_iter_flush_preferred_height; @@ -137,6 +149,102 @@ gtk_cell_area_box_iter_finalize (GObject *object) /************************************************************* * GtkCellAreaIterClass * *************************************************************/ +typedef struct { + gint min_size; + gint nat_size; + gint spacing; +} AccumData; + +static void +sum_base_size (gpointer group_id, + CachedSize *size, + AccumData *accum) +{ + if (accum->min_size > 0) + { + accum->min_size += accum->spacing; + accum->nat_size += accum->spacing; + } + + accum->min_size += size->min_size; + accum->nat_size += size->nat_size; +} + +static void +sum_for_size (gpointer group_id, + CachedSize *size, + AccumData *accum) +{ + accum->min_size = MAX (accum->min_size, size->min_size); + accum->nat_size = MAX (accum->nat_size, size->nat_size); +} + +static void +gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellArea *area; + AccumData accum = { 0, }; + + area = gtk_cell_area_iter_get_area (iter); + accum.spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + + g_hash_table_foreach (priv->base_widths, (GHFunc)sum_base_size, &accum); + gtk_cell_area_iter_push_preferred_width (iter, accum.min_size, accum.nat_size); +} + +static void +gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint width) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GHashTable *group_table; + AccumData accum = { 0, }; + + group_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (width)); + + if (group_table) + { + g_hash_table_foreach (priv->base_widths, (GHFunc)sum_for_size, &accum); + gtk_cell_area_iter_push_preferred_height_for_width (iter, width, accum.min_size, accum.nat_size); + } +} + +static void +gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellArea *area; + AccumData accum = { 0, }; + + area = gtk_cell_area_iter_get_area (iter); + accum.spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + + g_hash_table_foreach (priv->base_heights, (GHFunc)sum_base_size, &accum); + gtk_cell_area_iter_push_preferred_width (iter, accum.min_size, accum.nat_size); +} + +static void +gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint height) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GHashTable *group_table; + AccumData accum = { 0, }; + + group_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (height)); + + if (group_table) + { + g_hash_table_foreach (priv->base_widths, (GHFunc)sum_for_size, &accum); + gtk_cell_area_iter_push_preferred_width_for_height (iter, height, accum.min_size, accum.nat_size); + } +} + static void gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) { @@ -200,24 +308,23 @@ gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, *************************************************************/ void -gtk_cell_area_box_iter_push_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_width, - gint natural_width) +gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint minimum_width, + gint natural_width) { GtkCellAreaBoxIterPrivate *priv; CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_widths, renderer); + size = g_hash_table_lookup (priv->base_widths, GINT_TO_POINTER (group_id)); if (!size) { size = cached_size_new (minimum_width, natural_width); - g_hash_table_insert (priv->base_widths, renderer, size); + g_hash_table_insert (priv->base_widths, GINT_TO_POINTER (group_id), size); } else { @@ -227,36 +334,35 @@ gtk_cell_area_box_iter_push_cell_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint minimum_height, - gint natural_height) +gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_width, + gint minimum_height, + gint natural_height) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *cell_table; + GHashTable *group_table; CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - priv = box_iter->priv; - cell_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + priv = box_iter->priv; + group_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - if (!cell_table) + if (!group_table) { - cell_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, + group_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)cached_size_free); - g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), cell_table); + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), group_table); } - size = g_hash_table_lookup (cell_table, renderer); + size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); if (!size) { size = cached_size_new (minimum_height, natural_height); - g_hash_table_insert (cell_table, renderer, size); + g_hash_table_insert (group_table, GINT_TO_POINTER (group_id), size); } else { @@ -266,24 +372,23 @@ gtk_cell_area_box_iter_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter } void -gtk_cell_area_box_iter_push_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_height, - gint natural_height) +gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint minimum_height, + gint natural_height) { GtkCellAreaBoxIterPrivate *priv; CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_heights, renderer); + size = g_hash_table_lookup (priv->base_heights, GINT_TO_POINTER (group_id)); if (!size) { size = cached_size_new (minimum_height, natural_height); - g_hash_table_insert (priv->base_widths, renderer, size); + g_hash_table_insert (priv->base_widths, GINT_TO_POINTER (group_id), size); } else { @@ -293,58 +398,162 @@ gtk_cell_area_box_iter_push_cell_height (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, +gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_height, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaBoxIterPrivate *priv; + GHashTable *group_table; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + + priv = box_iter->priv; + group_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (!group_table) + { + group_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), group_table); + } + + size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); + + if (!size) + { + size = cached_size_new (minimum_width, natural_width); + g_hash_table_insert (group_table, GINT_TO_POINTER (group_id), size); + } + else + { + size->min_size = MAX (size->min_size, minimum_width); + size->nat_size = MAX (size->nat_size, natural_width); + } +} + +void +gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaBoxIterPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + + priv = box_iter->priv; + size = g_hash_table_lookup (priv->base_widths, GINT_TO_POINTER (group_id)); + + if (size) + { + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } +} + +void +gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaBoxIterPrivate *priv; + GHashTable *group_table; + CachedSize *size = NULL; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + + priv = box_iter->priv; + group_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (group_table) + size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } +} + +void +gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaBoxIterPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + + priv = box_iter->priv; + size = g_hash_table_lookup (priv->base_heights, GINT_TO_POINTER (group_id)); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } +} + +void +gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, + gint group_id, gint for_height, - gint minimum_width, - gint natural_width) + gint *minimum_width, + gint *natural_width) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *cell_table; - CachedSize *size; + GHashTable *group_table; + CachedSize *size = NULL; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - priv = box_iter->priv; - cell_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + priv = box_iter->priv; + group_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - if (!cell_table) - { - cell_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); - - g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), cell_table); - } - - size = g_hash_table_lookup (cell_table, renderer); - - if (!size) - { - size = cached_size_new (minimum_width, natural_width); - g_hash_table_insert (cell_table, renderer, size); - } - else - { - size->min_size = MAX (size->min_size, minimum_width); - size->nat_size = MAX (size->nat_size, natural_width); - } -} - -void -gtk_cell_area_box_iter_get_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_width, - gint *natural_width) -{ - GtkCellAreaBoxIterPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - - priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_widths, renderer); + if (group_table) + size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); if (size) { @@ -364,111 +573,52 @@ gtk_cell_area_box_iter_get_cell_width (GtkCellAreaBoxIter *box_iter, } } -void -gtk_cell_area_box_iter_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint *minimum_height, - gint *natural_height) +static void +fill_requested_sizes (gpointer group_id_ptr, + CachedSize *cached_size, + GtkRequestedSize *requested) { - GtkCellAreaBoxIterPrivate *priv; - GHashTable *cell_table; - CachedSize *size = NULL; + gint group_id = GPOINTER_TO_INT (group_id_ptr); - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - - priv = box_iter->priv; - cell_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (cell_table) - size = g_hash_table_lookup (cell_table, renderer); - - if (size) - { - if (minimum_height) - *minimum_height = size->min_size; - - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; - - if (natural_height) - *natural_height = -1; - } + requested[group_id].data = group_id_ptr; + requested[group_id].minimum_size = cached_size->min_size; + requested[group_id].natural_size = cached_size->nat_size; } -void -gtk_cell_area_box_iter_get_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_height, - gint *natural_height) +GtkRequestedSize * +gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter *box_iter, + gint *n_widths) { GtkCellAreaBoxIterPrivate *priv; - CachedSize *size; + GtkRequestedSize *widths; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_heights, renderer); - if (size) - { - if (minimum_height) - *minimum_height = size->min_size; + *n_widths = g_hash_table_size (priv->widths); + widths = g_new (GtkRequestedSize, *n_widths); - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; + g_hash_table_foreach (priv->widths, (GHFunc)fill_requested_sizes, widths); - if (natural_height) - *natural_height = -1; - } + return widths; } -void -gtk_cell_area_box_iter_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint *minimum_width, - gint *natural_width) +GtkRequestedSize * +gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, + gint *n_heights) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *cell_table; - CachedSize *size = NULL; + GtkRequestedSize *heights; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); - priv = box_iter->priv; - cell_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + priv = box_iter->priv; - if (cell_table) - size = g_hash_table_lookup (cell_table, renderer); + *n_heights = g_hash_table_size (priv->heights); + heights = g_new (GtkRequestedSize, *n_heights); - if (size) - { - if (minimum_width) - *minimum_width = size->min_size; + g_hash_table_foreach (priv->heights, (GHFunc)fill_requested_sizes, heights); - if (natural_width) - *natural_width = size->nat_size; - } - else - { - if (minimum_width) - *minimum_width = -1; - - if (natural_width) - *natural_width = -1; - } + return heights; } diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h index 0781c28d78..ada15a7666 100644 --- a/gtk/gtkcellareaboxiter.h +++ b/gtk/gtkcellareaboxiter.h @@ -30,6 +30,7 @@ #include #include +#include G_BEGIN_DECLS @@ -57,54 +58,59 @@ struct _GtkCellAreaBoxIterClass }; -GType gtk_cell_area_box_iter_get_type (void) G_GNUC_CONST; +GType gtk_cell_area_box_iter_get_type (void) G_GNUC_CONST; -/* Update cell alignments */ -void gtk_cell_area_box_iter_push_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_width, - gint natural_width); +/* Update cell-group sizes */ +void gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint minimum_width, + gint natural_width); -void gtk_cell_area_box_iter_push_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint minimum_height, - gint natural_height); +void gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_width, + gint minimum_height, + gint natural_height); -void gtk_cell_area_box_iter_push_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint minimum_height, - gint natural_height); +void gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint minimum_height, + gint natural_height); -void gtk_cell_area_box_iter_push_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint minimum_width, - gint natural_width); +void gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_height, + gint minimum_width, + gint natural_width); -/* Fetch cell alignments */ -void gtk_cell_area_box_iter_get_cell_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_width, - gint *natural_width); +/* Fetch cell-group sizes */ +void gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint *minimum_width, + gint *natural_width); -void gtk_cell_area_box_iter_get_cell_height_for_width (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_width, - gint *minimum_height, - gint *natural_height); +void gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_width, + gint *minimum_height, + gint *natural_height); -void gtk_cell_area_box_iter_get_cell_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint *minimum_height, - gint *natural_height); +void gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint *minimum_height, + gint *natural_height); -void gtk_cell_area_box_iter_get_cell_width_for_height (GtkCellAreaBoxIter *box_iter, - GtkCellRenderer *renderer, - gint for_height, - gint *minimum_width, - gint *natural_width); +void gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, + gint group_id, + gint for_height, + gint *minimum_width, + gint *natural_width); + +GtkRequestedSize *gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter *box_iter, + gint *n_widths); +GtkRequestedSize *gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, + gint *n_heights); G_END_DECLS diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c index d4de66b239..4257f4b754 100644 --- a/gtk/gtkcellareaiter.c +++ b/gtk/gtkcellareaiter.c @@ -25,13 +25,19 @@ #include "gtkintl.h" #include "gtkmarshalers.h" #include "gtkcellareaiter.h" +#include "gtkprivate.h" /* GObjectClass */ static void gtk_cell_area_iter_finalize (GObject *object); +static void gtk_cell_area_iter_dispose (GObject *object); static void gtk_cell_area_iter_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); +static void gtk_cell_area_iter_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); /* GtkCellAreaIterClass */ static void gtk_cell_area_iter_real_flush_preferred_width (GtkCellAreaIter *iter); @@ -52,17 +58,20 @@ static void cached_size_free (CachedSize *size); struct _GtkCellAreaIterPrivate { - gint min_width; - gint nat_width; - gint min_height; - gint nat_height; + GtkCellArea *cell_area; - GHashTable *widths; - GHashTable *heights; + gint min_width; + gint nat_width; + gint min_height; + gint nat_height; + + GHashTable *widths; + GHashTable *heights; }; enum { PROP_0, + PROP_CELL_AREA, PROP_MIN_WIDTH, PROP_NAT_WIDTH, PROP_MIN_HEIGHT, @@ -106,7 +115,9 @@ gtk_cell_area_iter_class_init (GtkCellAreaIterClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_iter_finalize; + object_class->dispose = gtk_cell_area_iter_dispose; object_class->get_property = gtk_cell_area_iter_get_property; + object_class->set_property = gtk_cell_area_iter_set_property; class->flush_preferred_width = gtk_cell_area_iter_real_flush_preferred_width; class->flush_preferred_height_for_width = gtk_cell_area_iter_real_flush_preferred_height_for_width; @@ -133,6 +144,14 @@ gtk_cell_area_iter_class_init (GtkCellAreaIterClass *class) G_TYPE_NONE, 3, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("area", + P_("Area"), + P_("The Cell Area this iter was created for"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, PROP_MIN_WIDTH, g_param_spec_int ("minimum-width", @@ -214,6 +233,42 @@ gtk_cell_area_iter_finalize (GObject *object) G_OBJECT_CLASS (gtk_cell_area_iter_parent_class)->finalize (object); } +static void +gtk_cell_area_iter_dispose (GObject *object) +{ + GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); + GtkCellAreaIterPrivate *priv = iter->priv; + + if (priv->cell_area) + { + g_object_unref (priv->cell_area); + + priv->cell_area = NULL; + } + + G_OBJECT_CLASS (gtk_cell_area_iter_parent_class)->dispose (object); +} + +static void +gtk_cell_area_iter_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); + GtkCellAreaIterPrivate *priv = iter->priv; + + switch (prop_id) + { + case PROP_CELL_AREA: + priv->cell_area = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static void gtk_cell_area_iter_get_property (GObject *object, guint prop_id, @@ -225,6 +280,9 @@ gtk_cell_area_iter_get_property (GObject *object, switch (prop_id) { + case PROP_CELL_AREA: + g_value_set_object (value, priv->cell_area); + break; case PROP_MIN_WIDTH: g_value_set_int (value, priv->min_width); break; @@ -307,6 +365,17 @@ gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, /************************************************************* * API * *************************************************************/ +GtkCellArea * +gtk_cell_area_iter_get_area (GtkCellAreaIter *iter) +{ + GtkCellAreaIterPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA_ITER (iter), NULL); + + priv = iter->priv; + + return priv->cell_area; +} void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, @@ -410,6 +479,106 @@ gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, } } +void +gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_width) + class->sum_preferred_width (iter); +} + +void +gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_height_for_width) + class->sum_preferred_height_for_width (iter, for_width); +} + +void +gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_height) + class->sum_preferred_height (iter); +} + +void +gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_width_for_height) + class->sum_preferred_width_for_height (iter, for_height); +} + +void +gtk_cell_area_iter_flush (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + gtk_cell_area_iter_flush_preferred_width (iter); + gtk_cell_area_iter_flush_preferred_height_for_width (iter, -1); + gtk_cell_area_iter_flush_preferred_height (iter); + gtk_cell_area_iter_flush_preferred_width_for_height (iter, -1); +} + +void +gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width (iter); +} + +void +gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height_for_width (iter, for_width); +} + +void +gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height (iter); +} + +void +gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width_for_height (iter, for_height); +} + + void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, @@ -558,48 +727,3 @@ gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], 0, for_height, size->min_size, size->nat_size); } - -void -gtk_cell_area_iter_flush (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - gtk_cell_area_iter_flush_preferred_width (iter); - gtk_cell_area_iter_flush_preferred_height_for_width (iter, -1); - gtk_cell_area_iter_flush_preferred_height (iter); - gtk_cell_area_iter_flush_preferred_width_for_height (iter, -1); -} - -void -gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width (iter); -} - -void -gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height_for_width (iter, for_width); -} - -void -gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height (iter); -} - -void -gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width_for_height (iter, for_height); -} diff --git a/gtk/gtkcellareaiter.h b/gtk/gtkcellareaiter.h index 92f820fb06..b2e0e55a93 100644 --- a/gtk/gtkcellareaiter.h +++ b/gtk/gtkcellareaiter.h @@ -28,7 +28,7 @@ #ifndef __GTK_CELL_AREA_ITER_H__ #define __GTK_CELL_AREA_ITER_H__ -#include +#include G_BEGIN_DECLS @@ -39,7 +39,6 @@ G_BEGIN_DECLS #define GTK_IS_CELL_AREA_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_ITER)) #define GTK_CELL_AREA_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIterClass)) -typedef struct _GtkCellAreaIter GtkCellAreaIter; typedef struct _GtkCellAreaIterPrivate GtkCellAreaIterPrivate; typedef struct _GtkCellAreaIterClass GtkCellAreaIterClass; @@ -62,6 +61,16 @@ struct _GtkCellAreaIterClass void (* flush_preferred_width_for_height) (GtkCellAreaIter *iter, gint height); + /* These must be invoked after a series of requests before consulting + * the iter values, implementors use this to push the overall + * requests while acconting for any internal alignments */ + void (* sum_preferred_width) (GtkCellAreaIter *iter); + void (* sum_preferred_height_for_width) (GtkCellAreaIter *iter, + gint width); + void (* sum_preferred_height) (GtkCellAreaIter *iter); + void (* sum_preferred_width_for_height) (GtkCellAreaIter *iter, + gint height); + /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); @@ -69,48 +78,59 @@ struct _GtkCellAreaIterClass void (*_gtk_reserved4) (void); }; -GType gtk_cell_area_iter_get_type (void) G_GNUC_CONST; +GType gtk_cell_area_iter_get_type (void) G_GNUC_CONST; + +GtkCellArea *gtk_cell_area_iter_get_area (GtkCellAreaIter *iter); /* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ -void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, - gint *minimum_width, - gint *natural_width); -void gtk_cell_area_iter_get_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_iter_get_preferred_height (GtkCellAreaIter *iter, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height, - gint *minimum_width, - gint *natural_width); +void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_iter_get_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_iter_get_preferred_height (GtkCellAreaIter *iter, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height, + gint *minimum_width, + gint *natural_width); -/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ -void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, - gint minimum_width, - gint natural_width); -void gtk_cell_area_iter_push_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width, - gint minimum_height, - gint natural_height); -void gtk_cell_area_iter_push_preferred_height (GtkCellAreaIter *iter, - gint minimum_height, - gint natural_height); -void gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height, - gint minimum_width, - gint natural_width); +/* Apis for GtkCellArea clients to sum up the results of a series of requests, this + * call is required to reduce the processing while calculating the size of each row */ +void gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter); +void gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width); +void gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter); +void gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height); /* Apis for GtkCellArea clients to flush the cache */ -void gtk_cell_area_iter_flush (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width); -void gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height); +void gtk_cell_area_iter_flush (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width); +void gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height); + +/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ +void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, + gint minimum_width, + gint natural_width); +void gtk_cell_area_iter_push_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width, + gint minimum_height, + gint natural_height); +void gtk_cell_area_iter_push_preferred_height (GtkCellAreaIter *iter, + gint minimum_height, + gint natural_height); +void gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height, + gint minimum_width, + gint natural_width); G_END_DECLS From e0d1652a995a8b79e7690c210561828c3059055b Mon Sep 17 00:00:00 2001 From: Vincent Untz Date: Thu, 28 Oct 2010 12:16:55 -0400 Subject: [PATCH 0064/1463] Port tests to GtkScrollable API instead of deprecated GtkLayout API https://bugzilla.gnome.org/show_bug.cgi?id=633374 --- tests/testgtk.c | 8 ++++---- tests/testoffscreen.c | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index d748912894..f240b3fd0a 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -9780,12 +9780,12 @@ void create_layout (GtkWidget *widget) /* We set step sizes here since GtkLayout does not set * them itself. */ - hadjustment = gtk_layout_get_hadjustment (layout); - vadjustment = gtk_layout_get_vadjustment (layout); + hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (layout)); + vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (layout)); gtk_adjustment_set_step_increment (hadjustment, 10.0); gtk_adjustment_set_step_increment (vadjustment, 10.0); - gtk_layout_set_hadjustment (layout, hadjustment); - gtk_layout_set_vadjustment (layout, vadjustment); + gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (layout), hadjustment); + gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (layout), vadjustment); gtk_widget_set_events (layout_widget, GDK_EXPOSURE_MASK); g_signal_connect (layout, "draw", diff --git a/tests/testoffscreen.c b/tests/testoffscreen.c index e20ea38498..8b4e61f753 100644 --- a/tests/testoffscreen.c +++ b/tests/testoffscreen.c @@ -62,7 +62,7 @@ scroll_layout (gpointer data) GtkWidget *layout = data; GtkAdjustment *adj; - adj = gtk_layout_get_hadjustment (GTK_LAYOUT (layout)); + adj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (layout)); gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + 5.0); return TRUE; @@ -96,12 +96,12 @@ create_layout (GtkWidget *vbox) /* We set step sizes here since GtkLayout does not set * them itself. */ - hadjustment = gtk_layout_get_hadjustment (layout); - vadjustment = gtk_layout_get_vadjustment (layout); + hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (layout)); + vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (layout)); gtk_adjustment_set_step_increment (hadjustment, 10.0); gtk_adjustment_set_step_increment (vadjustment, 10.0); - gtk_layout_set_hadjustment (layout, hadjustment); - gtk_layout_set_vadjustment (layout, vadjustment); + gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (layout), hadjustment); + gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (layout), vadjustment); gtk_widget_set_events (layout_widget, GDK_EXPOSURE_MASK); g_signal_connect (layout, "draw", From 1448111a581957b44ad82bb99558879642c5797b Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Thu, 28 Oct 2010 13:25:10 -0400 Subject: [PATCH 0065/1463] [introspection] annotate delete_text invoker to match do_delete_text v-method --- gtk/gtkeditable.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkeditable.c b/gtk/gtkeditable.c index c80eb8c8dd..fc6ea32c26 100644 --- a/gtk/gtkeditable.c +++ b/gtk/gtkeditable.c @@ -227,6 +227,8 @@ gtk_editable_insert_text (GtkEditable *editable, * are those from @start_pos to the end of the text. * * Note that the positions are specified in characters, not bytes. + * + * Virtual: do_delete_text */ void gtk_editable_delete_text (GtkEditable *editable, From 22d01c45cc7a033d5ca2623c5de6eb0ff2bd55cf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 28 Oct 2010 14:22:46 -0400 Subject: [PATCH 0066/1463] GtkButtonBox doesn't do height-for-width GtkButtonBox doesn't do height-for-width, therefore we should explicitly set these methods to NULL instead of hoping that the inherited GtkBox implementations work ok. --- gtk/gtkbbox.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index 346e9c520f..f1531b1eef 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -126,6 +126,8 @@ gtk_button_box_class_init (GtkButtonBoxClass *class) widget_class->get_preferred_width = gtk_button_box_get_preferred_width; widget_class->get_preferred_height = gtk_button_box_get_preferred_height; + widget_class->get_preferred_width_for_height = NULL; + widget_class->get_preferred_height_for_width = NULL; widget_class->size_allocate = gtk_button_box_size_allocate; container_class->remove = gtk_button_box_remove; From ac0b97aa23cbfee3884710645878161539c9aa04 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 28 Oct 2010 14:27:04 -0400 Subject: [PATCH 0067/1463] ifdef X-specific stuff gdk_x11_ APIs can only be used inside #ifdef GDK_WINDOWING_X11. --- gtk/gtkapplication.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index 70c9754177..a4fe5f4fef 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -108,6 +108,7 @@ gtk_application_before_emit (GApplication *application, g_variant_iter_init (&iter, platform_data); while (g_variant_iter_loop (&iter, "{&sv}", &key, &value)) { +#ifdef GDK_WINDOWING_X11 if (strcmp (key, "desktop-startup-id") == 0) { GdkDisplay *display; @@ -117,6 +118,7 @@ gtk_application_before_emit (GApplication *application, id = g_variant_get_string (value, NULL); gdk_x11_display_set_startup_notification_id (display, id); } +#endif } } From 2d65bd08c31aaaa00d22cd24d76057404a0a95f1 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Thu, 28 Oct 2010 16:43:55 -0400 Subject: [PATCH 0068/1463] Remove unused GdkDeviceManager variable gdk_display_get_device_manager() was called but the device manager not used. --- gdk/gdkevents.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 7fd197ec0b..7d7a7dbd02 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -1033,14 +1033,12 @@ gdk_event_get_device (const GdkEvent *event) { GdkDisplay *display; GdkDevice *core_pointer; - GdkDeviceManager *device_manager; g_warning ("Event with type %d not holding a GdkDevice. " "It is most likely synthesized outside Gdk/GTK+\n", event->type); display = gdk_window_get_display (event->any.window); - device_manager = gdk_display_get_device_manager (display); core_pointer = gdk_display_get_core_pointer (display); if (event->type == GDK_KEY_PRESS || From 18797dfa9a4a3bf4457a65992535ee35d5321033 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Thu, 28 Oct 2010 23:01:16 +0200 Subject: [PATCH 0069/1463] Use the client pointer for events with no device. The core pointer is sort of meaningless in a multidevice environment, the client pointer is used instead to fake a GdkDevice on events that don't have one. --- gdk/gdkevents.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 7d7a7dbd02..920245d8cd 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -1032,20 +1032,22 @@ gdk_event_get_device (const GdkEvent *event) case GDK_KEY_RELEASE: { GdkDisplay *display; - GdkDevice *core_pointer; + GdkDeviceManager *device_manager; + GdkDevice *client_pointer; g_warning ("Event with type %d not holding a GdkDevice. " "It is most likely synthesized outside Gdk/GTK+\n", event->type); display = gdk_window_get_display (event->any.window); - core_pointer = gdk_display_get_core_pointer (display); + device_manager = gdk_display_get_device_manager (display); + client_pointer = gdk_device_manager_get_client_pointer (device_manager); if (event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE) - return gdk_device_get_associated_device (core_pointer); + return gdk_device_get_associated_device (client_pointer); else - return core_pointer; + return client_pointer; } break; default: From 92431720dc06a01da08c6ea96643f744fedc514e Mon Sep 17 00:00:00 2001 From: Carles Ferrando Date: Fri, 29 Oct 2010 01:37:58 +0100 Subject: [PATCH 0070/1463] Updated Catalan (Valencian) translation --- po-properties/ca@valencia.po | 4645 +++++++++++++++++----------------- po/ca@valencia.po | 2367 ++++++++--------- 2 files changed, 3471 insertions(+), 3541 deletions(-) diff --git a/po-properties/ca@valencia.po b/po-properties/ca@valencia.po index 4577fb300b..b1901a7757 100644 --- a/po-properties/ca@valencia.po +++ b/po-properties/ca@valencia.po @@ -27,7 +27,7 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ 2.3.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" +"POT-Creation-Date: 2010-10-29 01:32+0100\n" "PO-Revision-Date: 2010-03-29 20:27+0200\n" "Last-Translator: David Planella \n" "Language-Team: Catalan \n" @@ -36,138 +36,49 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: gdk/gdkdevice.c:97 -#, fuzzy -msgid "Device Display" -msgstr "Visualització per defecte" - -# FIXME (dpm) -#: gdk/gdkdevice.c:98 -#, fuzzy -msgid "Display which the device belongs to" -msgstr "Mostra la cel·la de manera sensible" - -#: gdk/gdkdevice.c:112 -#, fuzzy -msgid "Device manager" -msgstr "Gestor recent" - -#: gdk/gdkdevice.c:113 -msgid "Device manager which the device belongs to" -msgstr "" - -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -#, fuzzy -msgid "Device name" -msgstr "Nom del giny" - -#: gdk/gdkdevice.c:142 -#, fuzzy -msgid "Device type" -msgstr "Tipus de corba" - -#: gdk/gdkdevice.c:143 -msgid "Device role in the device manager" -msgstr "" - -#: gdk/gdkdevice.c:159 -msgid "Associated device" -msgstr "" - -#: gdk/gdkdevice.c:160 -msgid "Associated pointer or keyboard with this device" -msgstr "" - -#: gdk/gdkdevice.c:173 -msgid "Input source" -msgstr "" - -#: gdk/gdkdevice.c:174 -#, fuzzy -msgid "Source type for the device" -msgstr "El model per la vista d'arbre" - -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -#, fuzzy -msgid "Input mode for the device" -msgstr "El model per la vista d'arbre" - -#: gdk/gdkdevice.c:205 -#, fuzzy -msgid "Whether the device has a cursor" -msgstr "Si el giny té l'entrada de focus" - -#: gdk/gdkdevice.c:206 -#, fuzzy -msgid "Whether there is a visible cursor following device motion" -msgstr "Si s'ha establit el caràcter d'invisibilitat" - -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -#, fuzzy -msgid "Number of axes in the device" -msgstr "El nombre de pàgines del document." - -#: gdk/gdkdevicemanager.c:134 -#, fuzzy -msgid "Display" -msgstr "Visualització per defecte" - -#: gdk/gdkdevicemanager.c:135 -#, fuzzy -msgid "Display for the device manager" -msgstr "Mostra la cel·la" - -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:103 msgid "Default Display" msgstr "Visualització per defecte" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:104 msgid "The default display for GDK" msgstr "La visualització per defecte per al GDK" -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkpango.c:538 ../gtk/gtkinvisible.c:86 +#: ../gtk/gtkmountoperation.c:176 ../gtk/gtkstatusicon.c:280 +#: ../gtk/gtkwindow.c:641 +msgid "Screen" +msgstr "Pantalla" + +#: ../gdk/gdkpango.c:539 +msgid "the GdkScreen for the renderer" +msgstr "el GdkScreen per al representador" + +#: ../gdk/gdkscreen.c:75 msgid "Font options" msgstr "Opcions del tipus de lletra" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:76 msgid "The default font options for the screen" msgstr "Les opcions per defecte del tipus de lletra per a la pantalla" -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:83 msgid "Font resolution" msgstr "Resolució del tipus de lletra" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:84 msgid "The resolution for fonts on the screen" msgstr "La resolució del tipus de lletra a la pantalla" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:496 ../gdk/gdkwindow.c:497 msgid "Cursor" msgstr "Cursor" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 -msgid "Device ID" -msgstr "" - -#: gdk/x11/gdkdevice-xi2.c:112 -msgid "Device identifier" -msgstr "" - -#: gdk/x11/gdkdevicemanager-xi.c:84 -#, fuzzy -msgid "Event base" -msgstr "Esdeveniments" - -#: gdk/x11/gdkdevicemanager-xi.c:85 -msgid "Event base for XInput events" -msgstr "" - -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:298 msgid "Program name" msgstr "Nom del programa" -#: gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:299 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -175,53 +86,43 @@ msgstr "" "El nom del programa. Si no està definit, per defecte serà el valor de " "g_get_application_name()" -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:313 msgid "Program version" msgstr "Versió del programa" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:314 msgid "The version of the program" msgstr "La versió del programa" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:328 msgid "Copyright string" msgstr "Cadena del copyright" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:329 msgid "Copyright information for the program" msgstr "Informació de copyright per al programa" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:346 msgid "Comments string" msgstr "Cadena de comentaris" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:347 msgid "Comments about the program" msgstr "Comentaris quant al vostre programa" -#: gtk/gtkaboutdialog.c:368 -#, fuzzy -msgid "License Type" -msgstr "Tipus de missatge" - -#: gtk/gtkaboutdialog.c:369 -#, fuzzy -msgid "The license type of the program" -msgstr "La versió del programa" - -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:381 msgid "Website URL" msgstr "URL del lloc web" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:382 msgid "The URL for the link to the website of the program" msgstr "L'URL per a l'enllaç al lloc web del programa" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:397 msgid "Website label" msgstr "Etiqueta del lloc web" -#: gtk/gtkaboutdialog.c:402 +#: ../gtk/gtkaboutdialog.c:398 msgid "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" @@ -229,44 +130,44 @@ msgstr "" "L'etiqueta per a l'enllaç al lloc web del programa. Si no està definida, " "s'usa el valor de l'URL" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:414 msgid "Authors" msgstr "Autors" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:415 msgid "List of authors of the program" msgstr "Llista d'autors del programa" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:431 msgid "Documenters" msgstr "Documentadors" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:432 msgid "List of people documenting the program" msgstr "Llista de gent que documenta el programa" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:448 msgid "Artists" msgstr "Artistes" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:449 msgid "List of people who have contributed artwork to the program" msgstr "Llista de gent que ha contribuït amb imatges al programa" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:466 msgid "Translator credits" msgstr "Traductors" -#: gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:467 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "El nom dels traductors. Esta cadena s'ha de marcar com a traduïble" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:482 msgid "Logo" msgstr "Logotip" -#: gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:483 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -274,107 +175,108 @@ msgstr "" "Un logotip per a la caixa d'informació de l'aplicació. Si no està definit, " "es fa servir el valor de gtk_window_get_default_icon_list()" -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:498 msgid "Logo Icon Name" msgstr "Nom de la icona del logotip" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:499 msgid "A named icon to use as the logo for the about box." msgstr "Una icona amb nom per emprar com a logotip a la caixa d'informació." -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:512 msgid "Wrap license" msgstr "Ajusta la llicència" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:513 msgid "Whether to wrap the license text." msgstr "Si s'han d'ajustar els finals de línia del text de la llicència." -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:178 msgid "Accelerator Closure" msgstr "Tancament de drecera" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:179 msgid "The closure to be monitored for accelerator changes" msgstr "El tancament a supervisar per a canvis de drecera" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:185 msgid "Accelerator Widget" msgstr "Element d'interfície accelerador" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:186 msgid "The widget to be monitored for accelerator changes" msgstr "L'element d'interfície a supervisar per a canvis en l'accelerador" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:220 ../gtk/gtkactiongroup.c:170 ../gtk/gtkprinter.c:111 +#: ../gtk/gtktextmark.c:89 msgid "Name" msgstr "Nom" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:221 msgid "A unique name for the action." msgstr "Un nom únic per a una acció." -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:239 ../gtk/gtkbutton.c:219 ../gtk/gtkexpander.c:197 +#: ../gtk/gtkframe.c:105 ../gtk/gtklabel.c:507 ../gtk/gtkmenuitem.c:305 +#: ../gtk/gtktoolbutton.c:204 ../gtk/gtktoolitemgroup.c:1543 msgid "Label" msgstr "Etiqueta" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:240 msgid "The label used for menu items and buttons that activate this action." msgstr "" "L'etiqueta usada per als elements de menú i els botons que activen esta " "acció." -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:256 msgid "Short label" msgstr "Etiqueta breu" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:257 msgid "A shorter label that may be used on toolbar buttons." msgstr "Una etiqueta més breu que pot ser usada en botons de la barra d'eines." -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:265 msgid "Tooltip" msgstr "Indicador de funció" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:266 msgid "A tooltip for this action." msgstr "Indicador de funció per a esta acció." -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:281 msgid "Stock Icon" msgstr "Icona" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:282 msgid "The stock icon displayed in widgets representing this action." msgstr "La icona mostrada en els controls que representen esta acció." -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:302 ../gtk/gtkstatusicon.c:253 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:303 ../gtk/gtkcellrendererpixbuf.c:206 +#: ../gtk/gtkimage.c:341 ../gtk/gtkstatusicon.c:254 msgid "The GIcon being displayed" msgstr "La icona GIcon que es mostra" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:323 ../gtk/gtkcellrendererpixbuf.c:171 +#: ../gtk/gtkimage.c:323 ../gtk/gtkprinter.c:160 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkwindow.c:633 msgid "Icon Name" msgstr "Nom de la icona" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:324 ../gtk/gtkcellrendererpixbuf.c:172 +#: ../gtk/gtkimage.c:324 ../gtk/gtkstatusicon.c:238 msgid "The name of the icon from the icon theme" msgstr "El nom de la icona del tema d'icones" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:331 ../gtk/gtktoolitem.c:192 msgid "Visible when horizontal" msgstr "Visible en horitzontal" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:332 ../gtk/gtktoolitem.c:193 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." @@ -382,11 +284,11 @@ msgstr "" "Si l'element de la barra d'eines és visible quan la barra d'eines està " "orientada horitzontalment." -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:347 msgid "Visible when overflown" msgstr "Visible en sobreeiximent" -#: gtk/gtkaction.c:350 +#: ../gtk/gtkaction.c:348 msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." @@ -394,11 +296,11 @@ msgstr "" "Quan siga CERT, els apoderats d'elements d'eina per a esta acció es " "representaran en el menú sobreeixit de la barra d'eines." -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:355 ../gtk/gtktoolitem.c:199 msgid "Visible when vertical" msgstr "Visible en vertical" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:356 ../gtk/gtktoolitem.c:200 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." @@ -406,11 +308,11 @@ msgstr "" "Si l'element de la barra d'eines és visible quan la barra d'eines està " "orientada horitzontalment." -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:363 ../gtk/gtktoolitem.c:206 msgid "Is important" msgstr "És important" -#: gtk/gtkaction.c:366 +#: ../gtk/gtkaction.c:364 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." @@ -419,137 +321,138 @@ msgstr "" "elements d'eina per a esta acció mostraran el text en mode " "GTK_TOOLBAR_BOTH_HORIZ." -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:372 msgid "Hide if empty" msgstr "Amaga si és buit" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:373 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "" "Quan siga CERT, els apoderats de menú per a esta acció estaran amagats." -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:379 ../gtk/gtkactiongroup.c:177 +#: ../gtk/gtkcellrenderer.c:193 ../gtk/gtkwidget.c:594 msgid "Sensitive" msgstr "Sensible" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:380 msgid "Whether the action is enabled." msgstr "Si l'acció està habilitada." -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:386 ../gtk/gtkactiongroup.c:184 +#: ../gtk/gtkstatusicon.c:303 ../gtk/gtktreeviewcolumn.c:192 +#: ../gtk/gtkwidget.c:587 msgid "Visible" msgstr "Visible" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:387 msgid "Whether the action is visible." msgstr "Si l'acció és visible." -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:393 msgid "Action Group" msgstr "Grup de l'acció" -#: gtk/gtkaction.c:396 +#: ../gtk/gtkaction.c:394 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." msgstr "" "El GtkActionGroup associat amb esta GtkAction, o NULL (per a ús intern)." -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:412 ../gtk/gtkimagemenuitem.c:169 msgid "Always show image" msgstr "Mostra sempre la imatge" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:413 ../gtk/gtkimagemenuitem.c:170 msgid "Whether the image will always be shown" msgstr "Si es mostrarà sempre la imatge" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:171 msgid "A name for the action group." msgstr "Un nom per al grup d'acció." -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:178 msgid "Whether the action group is enabled." msgstr "Si el grup d'acció és habilitat." -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:185 msgid "Whether the action group is visible." msgstr "Si el grup d'acció és visible." -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:308 msgid "Related Action" msgstr "Acció relacionada" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:309 msgid "The action this activatable will activate and receive updates from" msgstr "" "L'acció que este element activable activarà i de la qual rebrà " "actualitzacions" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:331 msgid "Use Action Appearance" msgstr "Utilitza l'aparença de les accions" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:332 msgid "Whether to use the related actions appearance properties" msgstr "" "Si s'han d'utilitzar les propietats de l'aparença de les accions relacionades" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:93 ../gtk/gtkcellrendererprogress.c:128 +#: ../gtk/gtkscalebutton.c:206 ../gtk/gtkspinbutton.c:269 msgid "Value" msgstr "Valor" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:94 msgid "The value of the adjustment" msgstr "El valor de l'ajustament" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:110 msgid "Minimum Value" msgstr "Valor mínim" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:111 msgid "The minimum value of the adjustment" msgstr "El valor mínim de l'ajustament" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:130 msgid "Maximum Value" msgstr "Valor màxim" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:131 msgid "The maximum value of the adjustment" msgstr "El valor màxim de l'ajustament" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:147 msgid "Step Increment" msgstr "Increment d'un pas" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:148 msgid "The step increment of the adjustment" msgstr "L'increment de pas de l'ajustament" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:164 msgid "Page Increment" msgstr "Increment de pàgina" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:165 msgid "The page increment of the adjustment" msgstr "L'increment de pàgina de l'ajustament" -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:184 msgid "Page Size" msgstr "Mida de pàgina" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:185 msgid "The page size of the adjustment" msgstr "La mida de pàgina de l'ajustament" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:109 msgid "Horizontal alignment" msgstr "Alineació horitzontal" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:110 ../gtk/gtkbutton.c:270 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -557,11 +460,11 @@ msgstr "" "Posició vertical del fill en l'espai disponible. 0.0 s'alinea a l'esquerra, " "1.0 s'alinea a la dreta" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:119 msgid "Vertical alignment" msgstr "Alineació vertical" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:120 ../gtk/gtkbutton.c:289 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -569,11 +472,11 @@ msgstr "" "Posició vertical del fill en espai disponible. 0.0 s'alinea a dalt, 1.0 " "s'alinea a baix" -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:128 msgid "Horizontal scale" msgstr "Escala horitzontal" -#: gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:129 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -581,11 +484,11 @@ msgstr "" "Si l'espai horitzontal disponible és més gran que el necessari per al fill, " "quant se n'ha d'utilitzar per al fill. 0.0 vol dir res, 1.0 vol dir tot" -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:137 msgid "Vertical scale" msgstr "Escala vertical" -#: gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:138 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -593,200 +496,200 @@ msgstr "" "Si l'espai vertical disponible és més gran que el necessari per al fill, " "quant se n'ha d'utilitzar per al fill. 0.0 vol dir res, 1.0 vol dir tot" -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:155 msgid "Top Padding" msgstr "Farciment superior" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:156 msgid "The padding to insert at the top of the widget." msgstr "El farciment superior per inserir a l'element d'interfície." -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:172 msgid "Bottom Padding" msgstr "Farciment inferior" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:173 msgid "The padding to insert at the bottom of the widget." msgstr "El farciment inferior per inserir a l'element d'interfície." -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:189 msgid "Left Padding" msgstr "Farciment esquerre" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:190 msgid "The padding to insert at the left of the widget." msgstr "El farciment esquerre per inserir a l'element d'interfície." -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:206 msgid "Right Padding" msgstr "Farciment dret" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:207 msgid "The padding to insert at the right of the widget." msgstr "El farciment dret per inserir a l'element d'interfície." -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkarrow.c:95 msgid "Arrow direction" msgstr "Direcció de la fletxa" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:96 msgid "The direction the arrow should point" msgstr "La direcció a la que la fletxa ha d'apuntar" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:104 msgid "Arrow shadow" msgstr "Ombra de la fletxa" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:105 msgid "Appearance of the shadow surrounding the arrow" msgstr "Aparença de l'ombra que envolta la fletxa" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:112 ../gtk/gtkmenu.c:717 ../gtk/gtkmenuitem.c:368 msgid "Arrow Scaling" msgstr "Escalat de la fletxa" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:113 msgid "Amount of space used up by arrow" msgstr "Quantitat d'espai que ocupa la fletxa" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:93 msgid "Horizontal Alignment" msgstr "Alineació horitzontal" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:94 msgid "X alignment of the child" msgstr "Alineació X del fill" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:100 msgid "Vertical Alignment" msgstr "Alineació vertical" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:101 msgid "Y alignment of the child" msgstr "Alineació Y del fill" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:107 msgid "Ratio" msgstr "Proporció" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:108 msgid "Aspect ratio if obey_child is FALSE" msgstr "Proporció si obey_child és FALS" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:114 msgid "Obey child" msgstr "Obeeix el fill" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:115 msgid "Force aspect ratio to match that of the frame's child" msgstr "Força la proporció perquè coincidisca amb la forma del fill" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:308 msgid "Header Padding" msgstr "Farciment de la capçalera" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:309 msgid "Number of pixels around the header." msgstr "Nombre de píxels al voltant de la capçalera." -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:316 msgid "Content Padding" msgstr "Farciment del contingut" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:317 msgid "Number of pixels around the content pages." msgstr "Nombre de píxels al voltant de les pàgines de contingut." -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:333 msgid "Page type" msgstr "Tipus de pàgina" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:334 msgid "The type of the assistant page" msgstr "Tipus de pàgina de l'auxiliar" -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:351 msgid "Page title" msgstr "Títol de la pàgina" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:352 msgid "The title of the assistant page" msgstr "El títol de la pàgina de l'auxiliar" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:368 msgid "Header image" msgstr "Imatge de la capçalera" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:369 msgid "Header image for the assistant page" msgstr "Imatge de la capçalera de la pàgina de l'auxiliar" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:385 msgid "Sidebar image" msgstr "Imatge de la barra lateral" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:386 msgid "Sidebar image for the assistant page" msgstr "Imatge de la barra lateral de la pàgina de l'auxiliar" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:401 msgid "Page complete" msgstr "Pàgina completa" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:402 msgid "Whether all required fields on the page have been filled out" msgstr "Si s'han emplenat tots els camps requerits de la pàgina" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:101 msgid "Minimum child width" msgstr "Amplada mínima del fill" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:102 msgid "Minimum width of buttons inside the box" msgstr "Amplada mínima dels botons dins la caixa" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:110 msgid "Minimum child height" msgstr "Alçada mínima del fill" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:111 msgid "Minimum height of buttons inside the box" msgstr "Alçada mínima dels botons dins la caixa" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:119 msgid "Child internal width padding" msgstr "Farciment d'amplada interna del fill" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:120 msgid "Amount to increase child's size on either side" msgstr "Quantitat en que s'incrementa la mida del fill a cada costat" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:128 msgid "Child internal height padding" msgstr "Farciment d'alçada interna del fill" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:129 msgid "Amount to increase child's size on the top and bottom" msgstr "Quantitat en què s'incrementa la mida del fill per dalt i per baix" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:137 msgid "Layout style" msgstr "Estil de la disposició" -#: gtk/gtkbbox.c:172 +#: ../gtk/gtkbbox.c:138 #, fuzzy msgid "" -"How to lay out the buttons in the box. Possible values are: spread, edge, " -"start and end" +"How to lay out the buttons in the box. Possible values are: default, spread, " +"edge, start and end" msgstr "" "Com disposar els botons a la caixa. Els valors possibles són predeterminats, " "escampats, cantonada, inici i final" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:146 msgid "Secondary" msgstr "Secundari" -#: gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:147 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" @@ -794,38 +697,39 @@ msgstr "" "Si és CERT, el fill apareixerà en un grup secundari de fills, adequat, p.e., " "per als botons d'ajuda" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:130 ../gtk/gtkexpander.c:221 ../gtk/gtkiconview.c:666 +#: ../gtk/gtktreeviewcolumn.c:217 msgid "Spacing" msgstr "Espaiament" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:131 msgid "The amount of space between children" msgstr "La quantitat d'espai entre fills" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:140 ../gtk/gtknotebook.c:657 ../gtk/gtktable.c:165 +#: ../gtk/gtktoolbar.c:573 ../gtk/gtktoolitemgroup.c:1596 msgid "Homogeneous" msgstr "Homogeni" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:141 msgid "Whether the children should all be the same size" msgstr "Si tots els fills han de tindre la mateixa mida" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:148 ../gtk/gtkpreview.c:102 ../gtk/gtktoolbar.c:565 +#: ../gtk/gtktoolitemgroup.c:1603 ../gtk/gtktoolpalette.c:1053 +#: ../gtk/gtktreeviewcolumn.c:273 msgid "Expand" msgstr "Expandeix" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:149 msgid "Whether the child should receive extra space when the parent grows" msgstr "Si el fill ha de rebre espai addicional quan el pare crisca" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:155 ../gtk/gtktoolitemgroup.c:1610 msgid "Fill" msgstr "Omple" -#: gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:156 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" @@ -833,19 +737,19 @@ msgstr "" "Si l'espai addicional del fill s'ha d'assignar al fill o s'ha d'utilitzar " "com a separació" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:162 msgid "Padding" msgstr "Separació" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:163 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "Espai addicional per posar entre el fill i els seus veïns, en píxels" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:169 msgid "Pack type" msgstr "Tipus de paquet" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 +#: ../gtk/gtkbox.c:170 ../gtk/gtknotebook.c:724 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -853,36 +757,36 @@ msgstr "" "Un GtkPackType que indica si el fill s'empaqueta en referència a l'inici o " "al final del pare" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:176 ../gtk/gtknotebook.c:702 ../gtk/gtkpaned.c:241 +#: ../gtk/gtkruler.c:148 ../gtk/gtktoolitemgroup.c:1624 msgid "Position" msgstr "Posició" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:177 ../gtk/gtknotebook.c:703 msgid "The index of the child in the parent" msgstr "L'índex del fill en el pare" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:96 msgid "Translation Domain" msgstr "Domini de la traducció" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:97 msgid "The translation domain used by gettext" msgstr "El domini de la traducció que utilitzarà el gettext" -#: gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:220 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "Text de l'etiqueta dins del botó, si el botó conté una etiqueta" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:205 ../gtk/gtklabel.c:528 +#: ../gtk/gtkmenuitem.c:320 ../gtk/gtktoolbutton.c:211 msgid "Use underline" msgstr "Utilitza subratllat" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:228 ../gtk/gtkexpander.c:206 ../gtk/gtklabel.c:529 +#: ../gtk/gtkmenuitem.c:321 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -890,70 +794,71 @@ msgstr "" "Si s'habilita, un subratllat en el text indica que el caràcter següent " "s'hauria d'utilitzar per a la tecla de drecera" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkimagemenuitem.c:150 msgid "Use stock" msgstr "Utilitzeu estoc" -#: gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:236 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "Si s'habilita, l'etiqueta s'utilitza per escollir un element de l'estoc en " "lloc de ser mostrada" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkcombobox.c:796 +#: ../gtk/gtkfilechooserbutton.c:393 msgid "Focus on click" msgstr "Focus en clicar" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:244 ../gtk/gtkfilechooserbutton.c:394 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Si el botó captura el focus quan s'hi fa clic amb el ratolí" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:251 msgid "Border relief" msgstr "Relleu del cantó" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:252 msgid "The border relief style" msgstr "L'estil de relleu del cantó" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:269 msgid "Horizontal alignment for child" msgstr "Alineació horitzontal per al fill" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:288 msgid "Vertical alignment for child" msgstr "Alineació vertical per al fill" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:305 ../gtk/gtkimagemenuitem.c:135 msgid "Image widget" msgstr "Element d'imatge" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:306 msgid "Child widget to appear next to the button text" msgstr "Element d'interfície fill que apareix al costat del text del botó" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:320 msgid "Image position" msgstr "Posició de la imatge" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:321 msgid "The position of the image relative to the text" msgstr "Posició de la imatge relativa al text" -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:441 msgid "Default Spacing" msgstr "Espaiat per defecte" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:442 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Espai addicional a afegir per als botons GTK_CAN_DEFAULT" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:456 msgid "Default Outside Spacing" msgstr "Espaiat exterior per defecte" -#: gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:457 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -961,33 +866,33 @@ msgstr "" "L'espai addicional a afegir per als botons definits com a GTK_CAN_DEFAULT, " "que sempre es dibuixa fora del contorn" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:462 msgid "Child X Displacement" msgstr "Desplaçament X del fill" -#: gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:463 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" "A quina distància s'ha de moure el fill en la direcció X quan s'alliberi el " "botó" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:470 msgid "Child Y Displacement" msgstr "Desplaçament Y del fill" -#: gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:471 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" "A quina distància s'ha de moure el fill en la direcció Y quan s'alliberi el " "botó" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:487 msgid "Displace focus" msgstr "Desplaça el focus" -#: gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:488 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -995,51 +900,51 @@ msgstr "" "Si les propietats de desplaçament dels fills també han d'afectar el " "rectangle del focus" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:501 ../gtk/gtkentry.c:695 ../gtk/gtkentry.c:1740 msgid "Inner Border" msgstr "Vora interior" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:502 msgid "Border between button edges and child." msgstr "Vora entre el cantó del botó i el fill." -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:515 msgid "Image spacing" msgstr "Espaiat de la imatge" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:516 msgid "Spacing in pixels between the image and label" msgstr "L'espai, en píxels, entre la imatge i l'etiqueta" -#: gtk/gtkbutton.c:549 +#: ../gtk/gtkbutton.c:530 msgid "Show button images" msgstr "Mostra imatges de botons" -#: gtk/gtkbutton.c:550 +#: ../gtk/gtkbutton.c:531 msgid "Whether images should be shown on buttons" msgstr "Si s'han de mostrar imatges en els botons" -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:436 msgid "Year" msgstr "Any" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:437 msgid "The selected year" msgstr "L'any seleccionat" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:450 msgid "Month" msgstr "Mes" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:451 msgid "The selected month (as a number between 0 and 11)" msgstr "El mes seleccionat (com a número entre 0 i 11)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:465 msgid "Day" msgstr "Dia" -#: gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:466 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1047,356 +952,359 @@ msgstr "" "El dia seleccionat (com a número entre 1 i 31, o 0 per deseleccionar el dia " "actualment seleccionat)" -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:480 msgid "Show Heading" msgstr "Mostra la capçalera" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:481 msgid "If TRUE, a heading is displayed" msgstr "Si és CERT, es mostrarà una capçalera" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:495 msgid "Show Day Names" msgstr "Mostra el nom dels dies" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:496 msgid "If TRUE, day names are displayed" msgstr "Si és CERT, es mostraran els noms dels dies" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:509 msgid "No Month Change" msgstr "No canvies el mes" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:510 msgid "If TRUE, the selected month cannot be changed" msgstr "Si és CERT, no es podrà canviar el mes seleccionat" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:524 msgid "Show Week Numbers" msgstr "Mostra els números de la setmana" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:525 msgid "If TRUE, week numbers are displayed" msgstr "Si és CERT, es mostraran els números de la setmana" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:540 msgid "Details Width" msgstr "Amplada dels detalls" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:541 msgid "Details width in characters" msgstr "Amplada dels detalls en caràcters" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:556 msgid "Details Height" msgstr "Alçada dels detalls" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:557 msgid "Details height in rows" msgstr "Alçada dels detalls en files" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:573 msgid "Show Details" msgstr "Mostra els detalls" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:574 msgid "If TRUE, details are shown" msgstr "Si és CERT, es mostraran els detalls" -#: gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:586 #, fuzzy msgid "Inner border" msgstr "Vora interior" -#: gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:587 #, fuzzy msgid "Inner border space" msgstr "Vora interior" -#: gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:598 #, fuzzy msgid "Vertical separation" msgstr "Opcions verticals" -#: gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:599 #, fuzzy msgid "Space between day headers and main area" msgstr "Espaiat entre la fletxa de l'expansor i el títol" -#: gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:610 #, fuzzy msgid "Horizontal separation" msgstr "Opcions horitzontals" -#: gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:611 #, fuzzy msgid "Space between week headers and main area" msgstr "Espai entre els elements de l'àrea del diàleg principal" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcelleditable.c:43 msgid "Editing Canceled" msgstr "Edició cancel·lada" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:44 msgid "Indicates that editing has been canceled" msgstr "Indica que s'ha cancel·lat l'edició" -#: gtk/gtkcellrendereraccel.c:138 -msgid "Accelerator key" -msgstr "Tecla acceleradora" - -#: gtk/gtkcellrendereraccel.c:139 -msgid "The keyval of the accelerator" -msgstr "El valor de la tecla (keyval) de l'accelerador" - -#: gtk/gtkcellrendereraccel.c:155 -msgid "Accelerator modifiers" -msgstr "Modificadors de l'accelerador" - -#: gtk/gtkcellrendereraccel.c:156 -msgid "The modifier mask of the accelerator" -msgstr "La màscara modificadora de l'accelerador" - -#: gtk/gtkcellrendereraccel.c:173 -msgid "Accelerator keycode" -msgstr "Codi de tecla de l'accelerador" - -#: gtk/gtkcellrendereraccel.c:174 -msgid "The hardware keycode of the accelerator" -msgstr "El codi de tecla de maquinari de l'accelerador" - -#: gtk/gtkcellrendereraccel.c:193 -msgid "Accelerator Mode" -msgstr "Mode de l'accelerador" - -#: gtk/gtkcellrendereraccel.c:194 -msgid "The type of accelerators" -msgstr "El tipus d'acceleradors" - -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:177 msgid "mode" msgstr "mode" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:178 msgid "Editable mode of the CellRenderer" msgstr "Mode editable del CellRenderer" -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:186 msgid "visible" msgstr "visible" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:187 msgid "Display the cell" msgstr "Mostra la cel·la" # FIXME (dpm) -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:194 msgid "Display the cell sensitive" msgstr "Mostra la cel·la de manera sensible" -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:201 msgid "xalign" msgstr "xalign" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:202 msgid "The x-align" msgstr "L'alineació x" -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:211 msgid "yalign" msgstr "yaling" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:212 msgid "The y-align" msgstr "L'alineació y" -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:221 msgid "xpad" msgstr "xpad" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:222 msgid "The xpad" msgstr "L'xpad" -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:231 msgid "ypad" msgstr "ypad" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:232 msgid "The ypad" msgstr "L'ypad" -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:241 msgid "width" msgstr "amplada" -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:242 msgid "The fixed width" msgstr "L'amplada fixada" -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:251 msgid "height" msgstr "alçada" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:252 msgid "The fixed height" msgstr "L'alçada fixada" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:261 msgid "Is Expander" msgstr "És expansor" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:262 msgid "Row has children" msgstr "La fila té fills" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:270 msgid "Is Expanded" msgstr "És expandida" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:271 msgid "Row is an expander row, and is expanded" msgstr "La fila és expansora, i és expandida" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:278 msgid "Cell background color name" msgstr "Nom del color de fons de la cel·la" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:279 msgid "Cell background color as a string" msgstr "Color de fons de la cel·la com a cadena" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:286 msgid "Cell background color" msgstr "Color de fons de la cel·la" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:287 msgid "Cell background color as a GdkColor" msgstr "Color de fons de la cel·la com a GdkColor" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:294 msgid "Editing" msgstr "En edició" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:295 msgid "Whether the cell renderer is currently in editing mode" msgstr "Si el representador de cel·les està en mode d'edició" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:303 msgid "Cell background set" msgstr "Conjunt de fons de la cel·la" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:304 msgid "Whether this tag affects the cell background color" msgstr "Com afecta esta etiqueta el color de fons de la cel·la" -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrendereraccel.c:114 +msgid "Accelerator key" +msgstr "Tecla acceleradora" + +#: ../gtk/gtkcellrendereraccel.c:115 +msgid "The keyval of the accelerator" +msgstr "El valor de la tecla (keyval) de l'accelerador" + +#: ../gtk/gtkcellrendereraccel.c:131 +msgid "Accelerator modifiers" +msgstr "Modificadors de l'accelerador" + +#: ../gtk/gtkcellrendereraccel.c:132 +msgid "The modifier mask of the accelerator" +msgstr "La màscara modificadora de l'accelerador" + +#: ../gtk/gtkcellrendereraccel.c:149 +msgid "Accelerator keycode" +msgstr "Codi de tecla de l'accelerador" + +#: ../gtk/gtkcellrendereraccel.c:150 +msgid "The hardware keycode of the accelerator" +msgstr "El codi de tecla de maquinari de l'accelerador" + +#: ../gtk/gtkcellrendereraccel.c:169 +msgid "Accelerator Mode" +msgstr "Mode de l'accelerador" + +#: ../gtk/gtkcellrendereraccel.c:170 +msgid "The type of accelerators" +msgstr "El tipus d'acceleradors" + +#: ../gtk/gtkcellrenderercombo.c:107 msgid "Model" msgstr "Model" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:108 msgid "The model containing the possible values for the combo box" msgstr "El model que conté els valors possibles del quadre combinat" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:130 ../gtk/gtkcomboboxentry.c:106 msgid "Text Column" msgstr "Columna de text" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:131 ../gtk/gtkcomboboxentry.c:107 msgid "A column in the data source model to get the strings from" msgstr "Una columna del model de font de dades per obtindre les cadenes" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:148 msgid "Has Entry" msgstr "Té una entrada" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:149 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "" "Si és FALS, no es permetrà introduir cadenes que no siguen les seleccionables" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:111 msgid "Pixbuf Object" msgstr "Objecte pixbuf" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:112 msgid "The pixbuf to render" msgstr "El pixbuf per representar" -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:119 msgid "Pixbuf Expander Open" msgstr "Expansor pixbuf obert" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf for open expander" msgstr "Pixbuf per a l'expansor obert" -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:127 msgid "Pixbuf Expander Closed" msgstr "Expansor pixbuf tancat" -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf for closed expander" msgstr "Pixbuf per a l'expansor tancat" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:135 ../gtk/gtkimage.c:265 +#: ../gtk/gtkstatusicon.c:229 msgid "Stock ID" msgstr "Identificació de la icona" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "The stock ID of the stock icon to render" msgstr "L'identificador de la icona d'estoc per representar" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:143 ../gtk/gtkcellrendererspinner.c:158 +#: ../gtk/gtkrecentmanager.c:250 ../gtk/gtkstatusicon.c:270 msgid "Size" msgstr "Mida" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:144 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "" "El valor de GtkIconSize que especifica la mida de la icona representada" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "Detail" msgstr "Detall" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:154 msgid "Render detail to pass to the theme engine" msgstr "Detall de representació a passar al motor de tema" -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:187 msgid "Follow State" msgstr "Segueix l'estat" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:188 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "" "Si la memòria de píxels representada s'hauria d'acolorir segons l'estat" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:205 ../gtk/gtkimage.c:340 +#: ../gtk/gtkwindow.c:610 msgid "Icon" msgstr "Icona" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:129 msgid "Value of the progress bar" msgstr "Valor de la barra de progrés" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:146 ../gtk/gtkcellrenderertext.c:195 +#: ../gtk/gtkentry.c:738 ../gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkmessagedialog.c:243 ../gtk/gtkprogressbar.c:184 +#: ../gtk/gtktextbuffer.c:198 msgid "Text" msgstr "Text" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:147 msgid "Text on the progress bar" msgstr "Text a la barra de progrés" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:170 ../gtk/gtkcellrendererspinner.c:144 msgid "Pulse" msgstr "Pulsació" -#: gtk/gtkcellrendererprogress.c:169 +#: ../gtk/gtkcellrendererprogress.c:171 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." @@ -1404,11 +1312,11 @@ msgstr "" "Establiu-ho a valors positius per indicar que s'ha fet algun tipus de " "progrés, però no sabeu quant." -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:187 ../gtk/gtkprogress.c:119 msgid "Text x alignment" msgstr "Alineació del Text x" -#: gtk/gtkcellrendererprogress.c:186 +#: ../gtk/gtkcellrendererprogress.c:188 ../gtk/gtkprogress.c:120 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -1416,238 +1324,241 @@ msgstr "" "L'alineació horitzontal del text, des de 0 (esquerre) a 1 (dreta). Només per " "a formats RTL (dreta a esquerra)." -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:204 ../gtk/gtkprogress.c:126 msgid "Text y alignment" msgstr "Alineació Text y" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:205 ../gtk/gtkprogress.c:127 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "L'alineació vertical, des de 0 (a dalt) fins 1 (a baix)." -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 -msgid "Inverted" -msgstr "Invertit" +#: ../gtk/gtkcellrendererprogress.c:221 ../gtk/gtkiconview.c:732 +#: ../gtk/gtkorientable.c:47 ../gtk/gtkprogressbar.c:126 +#: ../gtk/gtkstatusicon.c:335 ../gtk/gtktrayicon-x11.c:110 +msgid "Orientation" +msgstr "Orientació" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 -#, fuzzy -msgid "Invert the direction in which the progress bar grows" +#: ../gtk/gtkcellrendererprogress.c:222 ../gtk/gtkprogressbar.c:127 +msgid "Orientation and growth direction of the progress bar" msgstr "Orientació i direcció de creixement de la barra de progrés" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:93 ../gtk/gtkprogressbar.c:118 +#: ../gtk/gtkrange.c:375 ../gtk/gtkscalebutton.c:225 +#: ../gtk/gtkspinbutton.c:208 msgid "Adjustment" msgstr "Ajust" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 -#, fuzzy -msgid "The adjustment that holds the value of the spin button" -msgstr "L'ajustament que reté el valor del botó de gir" +#: ../gtk/gtkcellrendererspin.c:94 +msgid "The adjustment that holds the value of the spinbutton." +msgstr "L'ajustament que reté el valor del botó de gir." -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:109 msgid "Climb rate" msgstr "Taxa de pujada" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:110 ../gtk/gtkspinbutton.c:217 msgid "The acceleration rate when you hold down a button" msgstr "La taxa d'acceleració quan es manté premut un botó" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:123 ../gtk/gtkscale.c:218 +#: ../gtk/gtkspinbutton.c:226 msgid "Digits" msgstr "Dígits" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:124 ../gtk/gtkspinbutton.c:227 msgid "The number of decimal places to display" msgstr "El nombre de decimals a mostrar" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:124 ../gtk/gtkcheckmenuitem.c:98 +#: ../gtk/gtkmenu.c:507 ../gtk/gtkspinner.c:128 ../gtk/gtktoggleaction.c:119 +#: ../gtk/gtktogglebutton.c:115 ../gtk/gtktoggletoolbutton.c:114 msgid "Active" msgstr "Actiu" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:125 msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Si l'indicador rotatiu és actiu (és a dir, es mostra) a la cel·la" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:145 msgid "Pulse of the spinner" msgstr "Pulsació de l'indicador rotatiu" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:159 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "" "El valor GtkIconSize que especifica la mida de l'indicador rotatiu que es " "representa" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:196 msgid "Text to render" msgstr "Text per representar" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:203 msgid "Markup" msgstr "Marcatge" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:204 msgid "Marked up text to render" msgstr "Text marcat per representar" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:211 ../gtk/gtklabel.c:514 msgid "Attributes" msgstr "Atributs" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:212 msgid "A list of style attributes to apply to the text of the renderer" msgstr "Una llista d'atributs d'estil per aplicar al text del representador" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:219 msgid "Single Paragraph Mode" msgstr "Mode de paràgraf senzill" -#: gtk/gtkcellrenderertext.c:256 -#, fuzzy -msgid "Whether to keep all text in a single paragraph" +#: ../gtk/gtkcellrenderertext.c:220 +msgid "Whether or not to keep all text in a single paragraph" msgstr "Si s'ha de presentar el text en un únic paràgraf" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:228 ../gtk/gtkcellview.c:160 +#: ../gtk/gtktexttag.c:183 msgid "Background color name" msgstr "Nom del color de fons" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:229 ../gtk/gtkcellview.c:161 +#: ../gtk/gtktexttag.c:184 msgid "Background color as a string" msgstr "Color de fons com a cadena" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:236 ../gtk/gtkcellview.c:167 +#: ../gtk/gtktexttag.c:191 msgid "Background color" msgstr "Color de fons" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:237 ../gtk/gtkcellview.c:168 msgid "Background color as a GdkColor" msgstr "Color de fons com a GdkColor" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:244 ../gtk/gtktexttag.c:217 msgid "Foreground color name" msgstr "Nom del color de primer pla" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:245 ../gtk/gtktexttag.c:218 msgid "Foreground color as a string" msgstr "Color de primer pla com a cadena" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:252 ../gtk/gtktexttag.c:225 msgid "Foreground color" msgstr "Color de primer pla" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:253 msgid "Foreground color as a GdkColor" msgstr "Color de primer pla com a GdkColor" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:261 ../gtk/gtkentry.c:662 +#: ../gtk/gtktexttag.c:251 ../gtk/gtktextview.c:576 msgid "Editable" msgstr "Editable" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:262 ../gtk/gtktexttag.c:252 +#: ../gtk/gtktextview.c:577 msgid "Whether the text can be modified by the user" msgstr "Si el text pot ser modificat per l'usuari" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:269 ../gtk/gtkcellrenderertext.c:277 +#: ../gtk/gtkfontsel.c:203 ../gtk/gtktexttag.c:267 ../gtk/gtktexttag.c:275 msgid "Font" msgstr "Tipus de lletra" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtktexttag.c:268 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "" "Descripció del tipus de lletra com una cadena, per exemple «Sans Italic 12»" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:278 ../gtk/gtktexttag.c:276 msgid "Font description as a PangoFontDescription struct" msgstr "Descripció del tipus de lletra com a estructura PangoFontDescription" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:286 ../gtk/gtktexttag.c:283 msgid "Font family" msgstr "Família de tipus de lletra" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:287 ../gtk/gtktexttag.c:284 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "" "Nom de la família del tipus de lletra, p.ex. Sans, Helvetica, Times, " "Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:294 ../gtk/gtkcellrenderertext.c:295 +#: ../gtk/gtktexttag.c:291 msgid "Font style" msgstr "Estil de tipus de lletra" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:303 ../gtk/gtkcellrenderertext.c:304 +#: ../gtk/gtktexttag.c:300 msgid "Font variant" msgstr "Variant de tipus de lletra" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellrenderertext.c:313 +#: ../gtk/gtktexttag.c:309 msgid "Font weight" msgstr "Pes del tipus de lletra" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:322 ../gtk/gtkcellrenderertext.c:323 +#: ../gtk/gtktexttag.c:320 msgid "Font stretch" msgstr "Estirament de tipus de lletra" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:331 ../gtk/gtkcellrenderertext.c:332 +#: ../gtk/gtktexttag.c:329 msgid "Font size" msgstr "Mida del tipus de lletra" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:341 ../gtk/gtktexttag.c:349 msgid "Font points" msgstr "Punts del tipus de lletra" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtktexttag.c:350 msgid "Font size in points" msgstr "Mida del tipus de lletra en punts" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:339 msgid "Font scale" msgstr "Escala del tipus de lletra" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:352 msgid "Font scaling factor" msgstr "Factor d'escalat del tipus de lletra" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:361 ../gtk/gtktexttag.c:418 msgid "Rise" msgstr "Elevació" -#: gtk/gtkcellrenderertext.c:398 +#: ../gtk/gtkcellrenderertext.c:362 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Desplaçament del text per sobre de la línia de base (per sota si l'elevació " "és negativa)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:373 ../gtk/gtktexttag.c:458 msgid "Strikethrough" msgstr "Ratlla" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:374 ../gtk/gtktexttag.c:459 msgid "Whether to strike through the text" msgstr "Si s'ha de ratllar el text" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:381 ../gtk/gtktexttag.c:466 msgid "Underline" msgstr "Subratlla" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:382 ../gtk/gtktexttag.c:467 msgid "Style of underline for this text" msgstr "Estil de subratllat per a este text" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:390 ../gtk/gtktexttag.c:378 msgid "Language" msgstr "Idioma" -#: gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:391 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1657,11 +1568,12 @@ msgstr "" "pista en representar el text. Si no enteneu este paràmetre, probablement no " "el necessitareu" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtklabel.c:639 +#: ../gtk/gtkprogressbar.c:206 msgid "Ellipsize" msgstr "Punts suspensius" -#: gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:412 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1669,29 +1581,20 @@ msgstr "" "El lloc preferit de la cadena on inserir-hi els punts suspensius, si el " "representador de cel·les no conté espai suficient per mostrar tota la cadena" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtkfilechooserbutton.c:421 +#: ../gtk/gtklabel.c:659 msgid "Width In Characters" msgstr "Amplada en caràcters" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtklabel.c:660 msgid "The desired width of the label, in characters" msgstr "L'amplada desitjada de l'etiqueta, en caràcters" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 -msgid "Maximum Width In Characters" -msgstr "Amplada màxima en caràcters" - -#: gtk/gtkcellrenderertext.c:493 -#, fuzzy -msgid "The maximum width of the cell, in characters" -msgstr "L'amplada màxima desitjada de l'etiqueta, en caràcters" - -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:475 msgid "Wrap mode" msgstr "Mode d'ajust" -#: gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:451 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1699,395 +1602,438 @@ msgstr "" "Com separar les cadenes en múltiples línies, si el representador de cadenes " "no conté espai suficient per mostrar tota la cadena" -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtkcombobox.c:685 msgid "Wrap width" msgstr "Ajusta l'amplada" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:471 msgid "The width at which the text is wrapped" msgstr "A quina amplada s'ajusta el text" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:491 ../gtk/gtktreeviewcolumn.c:298 msgid "Alignment" msgstr "Alineació" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:492 msgid "How to align the lines" msgstr "Com alinear les línies" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:502 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:564 msgid "Background set" msgstr "Conjunt de fons" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:503 ../gtk/gtkcellview.c:191 +#: ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the background color" msgstr "Si este marcador afecta el color de fons" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:506 ../gtk/gtktexttag.c:576 msgid "Foreground set" msgstr "Primer pla" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:507 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the foreground color" msgstr "Si este marcador afecta el color de primer pla" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:510 ../gtk/gtktexttag.c:584 msgid "Editability set" msgstr "Editabilitat" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:511 ../gtk/gtktexttag.c:585 msgid "Whether this tag affects text editability" msgstr "Com afecta este marcador l'editabilitat" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:514 ../gtk/gtktexttag.c:588 msgid "Font family set" msgstr "Famílies de tipus de lletra" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:515 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the font family" msgstr "Com afecta esta etiqueta la família de tipus de lletra" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:518 ../gtk/gtktexttag.c:592 msgid "Font style set" msgstr "Estils de tipus de lletra" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtktexttag.c:593 msgid "Whether this tag affects the font style" msgstr "Com afecta este marcador l'estil de tipus de lletra" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:522 ../gtk/gtktexttag.c:596 msgid "Font variant set" msgstr "Variants de tipus de lletra" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:523 ../gtk/gtktexttag.c:597 msgid "Whether this tag affects the font variant" msgstr "Com afecta este marcador la variant de tipus de lletra" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:526 ../gtk/gtktexttag.c:600 msgid "Font weight set" msgstr "Pes de tipus de lletra" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:527 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the font weight" msgstr "Si este marcador afecta el pes del tipus de lletra" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:530 ../gtk/gtktexttag.c:604 msgid "Font stretch set" msgstr "Estirament del tipus de lletra" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:531 ../gtk/gtktexttag.c:605 msgid "Whether this tag affects the font stretch" msgstr "Com afecta este marcador l'estirament de tipus de lletra" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:534 ../gtk/gtktexttag.c:608 msgid "Font size set" msgstr "Mides del tipus de lletra" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:535 ../gtk/gtktexttag.c:609 msgid "Whether this tag affects the font size" msgstr "Si este marcador afecta la mida del tipus de lletra" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:538 ../gtk/gtktexttag.c:612 msgid "Font scale set" msgstr "Escala del tipus de lletra" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:539 ../gtk/gtktexttag.c:613 msgid "Whether this tag scales the font size by a factor" msgstr "Si este marcador escala la mida del tipus de lletra per un factor" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:542 ../gtk/gtktexttag.c:632 msgid "Rise set" msgstr "Elevació" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:543 ../gtk/gtktexttag.c:633 msgid "Whether this tag affects the rise" msgstr "Si esta etiqueta afecta l'elevació" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:546 ../gtk/gtktexttag.c:648 msgid "Strikethrough set" msgstr "Ratlla" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:547 ../gtk/gtktexttag.c:649 msgid "Whether this tag affects strikethrough" msgstr "Si esta etiqueta afecta el ratllat" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:550 ../gtk/gtktexttag.c:656 msgid "Underline set" msgstr "Subratllats" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:551 ../gtk/gtktexttag.c:657 msgid "Whether this tag affects underlining" msgstr "Si este marcador afecta el subratllat" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:554 ../gtk/gtktexttag.c:620 msgid "Language set" msgstr "Idioma" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:555 ../gtk/gtktexttag.c:621 msgid "Whether this tag affects the language the text is rendered as" msgstr "Si esta etiqueta afecta l'idioma amb el que es representa el text" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:558 msgid "Ellipsize set" msgstr "Punts suspensius" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:559 msgid "Whether this tag affects the ellipsize mode" msgstr "Si esta etiqueta afecta el mode de punts suspensius" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:562 msgid "Align set" msgstr "Alineació activada" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:563 msgid "Whether this tag affects the alignment mode" msgstr "Si esta etiqueta afecta el mode d'alineació" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:126 msgid "Toggle state" msgstr "Estat commutat" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:127 msgid "The toggle state of the button" msgstr "L'estat commutat del botó" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:134 msgid "Inconsistent state" msgstr "Estat inconsistent" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:135 msgid "The inconsistent state of the button" msgstr "L'estat inconsistent del botó" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:142 msgid "Activatable" msgstr "Activable" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:143 msgid "The toggle button can be activated" msgstr "El botó commutat pot trobar-se activat" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:150 msgid "Radio state" msgstr "Estat ràdio" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:151 msgid "Draw the toggle button as a radio button" msgstr "Dibuixa el botó de commutació com a botó de ràdio" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:158 msgid "Indicator size" msgstr "Mida de l'indicador" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:159 ../gtk/gtkcheckbutton.c:70 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Size of check or radio indicator" msgstr "Mida de l'indicador de ràdio o de verificació" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:182 msgid "CellView model" msgstr "Model CellView" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:183 msgid "The model for cell view" msgstr "El model per la vista de cel·les" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:69 ../gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkoptionmenu.c:168 msgid "Indicator Size" msgstr "Mida de l'indicador" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkexpander.c:255 +#: ../gtk/gtkoptionmenu.c:174 msgid "Indicator Spacing" msgstr "Espaiat de l'indicador" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:78 msgid "Spacing around check or radio indicator" msgstr "Espai que envolta l'indicador de ràdio o de verificació" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:99 msgid "Whether the menu item is checked" msgstr "Si l'element del menú és seleccionat" -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:106 ../gtk/gtktogglebutton.c:123 msgid "Inconsistent" msgstr "Inconsistent" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether to display an \"inconsistent\" state" msgstr "Si s'ha de visualitzar un estat «inconsistent»" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:114 msgid "Draw as radio menu item" msgstr "Dibuixa com a element de menú de ràdio" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether the menu item looks like a radio menu item" msgstr "Si l'element del menú és seleccionat" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:161 msgid "Use alpha" msgstr "Utilitza alfa" -#: gtk/gtkcolorbutton.c:160 -#, fuzzy -msgid "Whether to give the color an alpha value" +#: ../gtk/gtkcolorbutton.c:162 +msgid "Whether or not to give the color an alpha value" msgstr "Si s'ha de donar un valor alfa al color" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkfilechooserbutton.c:407 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkprintjob.c:116 +#: ../gtk/gtkstatusicon.c:431 ../gtk/gtktreeviewcolumn.c:265 msgid "Title" msgstr "Títol" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:177 msgid "The title of the color selection dialog" msgstr "El títol de finestra de selecció del color" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:191 ../gtk/gtkcolorsel.c:302 msgid "Current Color" msgstr "Color actual" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:192 msgid "The selected color" msgstr "El color seleccionat" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:206 ../gtk/gtkcolorsel.c:309 msgid "Current Alpha" msgstr "Alfa actual" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:207 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "El valor d'opacitat seleccionat (0 totalment transparent, 65535 totalment " "opac)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorsel.c:288 msgid "Has Opacity Control" msgstr "Té control d'opacitat" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:289 msgid "Whether the color selector should allow setting opacity" msgstr "Si el selector podria permetre definir l'opacitat" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:295 msgid "Has palette" msgstr "Té paleta" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:296 msgid "Whether a palette should be used" msgstr "Si s'hauria d'utilitzar una paleta" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:303 msgid "The current color" msgstr "El color actual" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:310 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "El valor d'opacitat actual (0 totalment transparent, 65535 totalment opac)" -#: gtk/gtkcolorsel.c:345 +#: ../gtk/gtkcolorsel.c:324 msgid "Custom palette" msgstr "Paleta personalitzada" -#: gtk/gtkcolorsel.c:346 +#: ../gtk/gtkcolorsel.c:325 msgid "Palette to use in the color selector" msgstr "Paleta a utilitzar en el selector de color" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:102 msgid "Color Selection" msgstr "Selecció de color" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:103 msgid "The color selection embedded in the dialog." msgstr "La selecció de color incrustada en el diàleg." -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:109 msgid "OK Button" msgstr "Botó D'acord" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:110 msgid "The OK button of the dialog." msgstr "El botó de confirmació del diàleg." -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:116 msgid "Cancel Button" msgstr "Botó Cancel·la" -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:117 msgid "The cancel button of the dialog." msgstr "El botó de cancel·lació del diàleg." -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:123 msgid "Help Button" msgstr "Botó Ajuda" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:124 msgid "The help button of the dialog." msgstr "El botó d'ajuda del diàleg." -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombo.c:147 +msgid "Enable arrow keys" +msgstr "Habilita les tecles de fletxa" + +#: ../gtk/gtkcombo.c:148 +msgid "Whether the arrow keys move through the list of items" +msgstr "Si les tecles de fletxa es mouen a través de la llista d'elements" + +#: ../gtk/gtkcombo.c:154 +msgid "Always enable arrows" +msgstr "Habilita sempre les fletxes" + +#: ../gtk/gtkcombo.c:155 +msgid "Obsolete property, ignored" +msgstr "Propietat obsoleta, ignorada" + +#: ../gtk/gtkcombo.c:161 +msgid "Case sensitive" +msgstr "Distingeix entre majúscules i minúscules" + +#: ../gtk/gtkcombo.c:162 +msgid "Whether list item matching is case sensitive" +msgstr "Com els elements emparellats de la llista diferencien majúscules" + +#: ../gtk/gtkcombo.c:169 +msgid "Allow empty" +msgstr "Permetre el buidat" + +#: ../gtk/gtkcombo.c:170 +msgid "Whether an empty value may be entered in this field" +msgstr "Com un valor buit pot ésser introduït en este camp" + +#: ../gtk/gtkcombo.c:177 +msgid "Value in list" +msgstr "Valor a la llista" + +#: ../gtk/gtkcombo.c:178 +msgid "Whether entered values must already be present in the list" +msgstr "Com els valors introduïts poden ésser presents a la llista" + +#: ../gtk/gtkcombobox.c:668 msgid "ComboBox model" msgstr "Model quadre combinat" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:669 msgid "The model for the combo box" msgstr "El model per al quadre combinat" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:686 msgid "Wrap width for laying out the items in a grid" msgstr "Ajusta l'amplada per formatar els elements en una graella" -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:708 msgid "Row span column" msgstr "Columna de l'abast de les files" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:709 msgid "TreeModel column containing the row span values" msgstr "La columna del TreeModel que conté els valors de l'abast de les files" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:730 msgid "Column span column" msgstr "Columna de l'abast de les columnes" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:731 msgid "TreeModel column containing the column span values" msgstr "" "La columna del TreeModel que conté els valors de l'abast de les columnes" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:752 msgid "Active item" msgstr "Element actiu" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:753 msgid "The item which is currently active" msgstr "L'element que actualment està seleccionat" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:772 ../gtk/gtkuimanager.c:226 msgid "Add tearoffs to menus" msgstr "Afig separadors als menús" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:773 msgid "Whether dropdowns should have a tearoff menu item" msgstr "Si els menús desplegables han de tindre un element per desprendre'ls" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:788 ../gtk/gtkentry.c:687 msgid "Has Frame" msgstr "Té marc" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:789 msgid "Whether the combo box draws a frame around the child" msgstr "Si el quadre combinat ha de dibuixar un marc al voltant del fill" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:797 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Si el quadre combinat agafa el focus en fer-hi clic amb el ratolí" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:812 ../gtk/gtkmenu.c:562 msgid "Tearoff Title" msgstr "Títol del menú separat" -#: gtk/gtkcombobox.c:828 +#: ../gtk/gtkcombobox.c:813 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" @@ -2095,148 +2041,196 @@ msgstr "" "Un títol que el gestor de finestres pot visualitzar si s'ha desactivat la " "part desplegable d'un quadre combinat" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:830 msgid "Popup shown" msgstr "Es mostra la part desplegable" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:831 msgid "Whether the combo's dropdown is shown" msgstr "Si s'està mostrant la part desplegable del quadre combinat" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:847 msgid "Button Sensitivity" msgstr "Sensibilitat del botó" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:848 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Si el botó desplegable és sensible quan el model és buit" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:855 msgid "Appears as list" msgstr "Apareix com una llista" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:856 msgid "Whether dropdowns should look like lists rather than menus" msgstr "" "Si els menús desplegables han d'assemblar-se a llistes en lloc de menús" -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:872 msgid "Arrow Size" msgstr "Mida de la fletxa" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:873 msgid "The minimum size of the arrow in the combo box" msgstr "La mida mínima de la fletxa al quadre combinat" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:888 ../gtk/gtkentry.c:787 ../gtk/gtkhandlebox.c:174 +#: ../gtk/gtkmenubar.c:194 ../gtk/gtkstatusbar.c:193 ../gtk/gtktoolbar.c:623 +#: ../gtk/gtkviewport.c:141 msgid "Shadow type" msgstr "Tipus d'ombra" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:889 msgid "Which kind of shadow to draw around the combo box" msgstr "El tipus d'ombra que es dibuixarà al voltant del quadre combinat" -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:238 msgid "Resize mode" msgstr "Mode de redimensió" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:239 msgid "Specify how resize events are handled" msgstr "Especifiqueu com redimensionar les incidències gestionades" -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:246 msgid "Border width" msgstr "Amplada del contorn" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:247 msgid "The width of the empty border outside the containers children" msgstr "L'amplada del contorn buit fora dels fills de l'element contenidor" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:255 msgid "Child" msgstr "Fill" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:256 msgid "Can be used to add a new child to the container" msgstr "Es pot utilitzar per afegir un nou fill a la caixa" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkcurve.c:127 +msgid "Curve type" +msgstr "Tipus de corba" + +#: ../gtk/gtkcurve.c:128 +msgid "Is this curve linear, spline interpolated, or free-form" +msgstr "És esta corba lineal, de tira interpolada, o de lliure-forma" + +#: ../gtk/gtkcurve.c:135 +msgid "Minimum X" +msgstr "X mínim" + +#: ../gtk/gtkcurve.c:136 +msgid "Minimum possible value for X" +msgstr "Valor mínim possible per a X" + +#: ../gtk/gtkcurve.c:144 +msgid "Maximum X" +msgstr "X màxim" + +#: ../gtk/gtkcurve.c:145 +msgid "Maximum possible X value" +msgstr "Valor màxim possible per a X" + +#: ../gtk/gtkcurve.c:153 +msgid "Minimum Y" +msgstr "Y mínim" + +#: ../gtk/gtkcurve.c:154 +msgid "Minimum possible value for Y" +msgstr "Valor mínim possible per a Y" + +#: ../gtk/gtkcurve.c:162 +msgid "Maximum Y" +msgstr "Y màxim" + +#: ../gtk/gtkcurve.c:163 +msgid "Maximum possible value for Y" +msgstr "Valor màxim possible per a Y" + +#: ../gtk/gtkdialog.c:149 +msgid "Has separator" +msgstr "Té separador" + +#: ../gtk/gtkdialog.c:150 +msgid "The dialog has a separator bar above its buttons" +msgstr "El diàleg té una barra espaiadora per sobre dels seus botons" + +#: ../gtk/gtkdialog.c:195 ../gtk/gtkinfobar.c:439 msgid "Content area border" msgstr "Contorn de l'àrea de contingut" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:196 msgid "Width of border around the main dialog area" msgstr "Amplada del contorn al voltant de l'àrea de diàleg principal" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:213 ../gtk/gtkinfobar.c:456 msgid "Content area spacing" msgstr "Espaiat de l'àrea de contingut" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:214 msgid "Spacing between elements of the main dialog area" msgstr "Espai entre els elements de l'àrea del diàleg principal" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:221 ../gtk/gtkinfobar.c:472 msgid "Button spacing" msgstr "Espaiat del botó" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:222 ../gtk/gtkinfobar.c:473 msgid "Spacing between buttons" msgstr "Espaiat entre botons" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:230 ../gtk/gtkinfobar.c:488 msgid "Action area border" msgstr "Contorn d'àrea d'acció" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:231 msgid "Width of border around the button area at the bottom of the dialog" msgstr "Amplada del contorn al voltant l'àrea de botons per sota del diàleg" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:634 msgid "Text Buffer" msgstr "Memòria intermèdia de text" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:635 msgid "Text buffer object which actually stores entry text" msgstr "" "Objecte de memòria intermèdia de text que emmagatzema el text de l'entrada" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:642 ../gtk/gtklabel.c:602 msgid "Cursor Position" msgstr "Posició del cursor" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:643 ../gtk/gtklabel.c:603 msgid "The current position of the insertion cursor in chars" msgstr "La posició actual del cursor d'inserció en caràcters" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:652 ../gtk/gtklabel.c:612 msgid "Selection Bound" msgstr "Límit seleccionat" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:653 ../gtk/gtklabel.c:613 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "La posició del final oposat de la selecció des del cursor en caràcters" -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:663 msgid "Whether the entry contents can be edited" msgstr "Si els continguts d'entrada es poden editar" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:670 ../gtk/gtkentrybuffer.c:383 msgid "Maximum length" msgstr "Llargada màxima" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:671 ../gtk/gtkentrybuffer.c:384 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Nombre màxim de caràcters per esta entrada. Zero si no té màxim" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:679 msgid "Visibility" msgstr "Visibilitat" -#: gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:680 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2244,32 +2238,32 @@ msgstr "" "FALS mostrarà el «caràcter d'invisibilitat» en lloc del text actual (mode de " "contrasenya)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:688 msgid "FALSE removes outside bevel from entry" msgstr "FALS suprimirà el bisell exterior de l'entrada" -#: gtk/gtkentry.c:697 +#: ../gtk/gtkentry.c:696 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" "Vora entre el text i el marc. Substitueix l'estil de la propietat de la vora " "de dins" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:703 ../gtk/gtkentry.c:1269 msgid "Invisible character" msgstr "Caràcter d'invisibilitat" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:704 ../gtk/gtkentry.c:1270 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "El caràcter a emprar quan s'emmascara el contingut de l'entrada (en «mode " "contrasenya»)" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:711 msgid "Activates default" msgstr "Activa per defecte" -#: gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:712 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2277,32 +2271,32 @@ msgstr "" "Si s'ha d'activar el giny per defecte (com a botó per defecte en un diàleg) " "quan es prem Retorn" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:718 msgid "Width in chars" msgstr "Amplada en caràcters" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:719 msgid "Number of characters to leave space for in the entry" msgstr "Nombre de caràcters per als quals deixar espai en l'entrada" -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:728 msgid "Scroll offset" msgstr "Desplaçament" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:729 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "" "Nombre de píxels de l'entrada desplaçats cap a l'esquerre de la pantalla" -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:739 msgid "The contents of the entry" msgstr "Els continguts de l'entrada" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:754 ../gtk/gtkmisc.c:73 msgid "X align" msgstr "Alineació X" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:755 ../gtk/gtkmisc.c:74 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2310,69 +2304,67 @@ msgstr "" "L'alineació horitzontal, des de 0 (esquerre) a 1 (dreta). Només per a " "formats RTL (dreta a esquerra)." -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:771 msgid "Truncate multiline" msgstr "Trunca línies múltiples" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:772 msgid "Whether to truncate multiline pastes to one line." msgstr "Si s'han de truncar enganxades de més d'una línia en una de sola." -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:788 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" "Quin tipus d'ombra s'ha de dibuixar al voltant de l'entrada quan «has-frame» " "està activat" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:803 ../gtk/gtktextview.c:656 msgid "Overwrite mode" msgstr "Mode de sobreescriptura" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:804 msgid "Whether new text overwrites existing text" msgstr "Si el text introduït de nou sobreescriu l'existent" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:818 ../gtk/gtkentrybuffer.c:368 msgid "Text length" msgstr "Llargada del text" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:819 msgid "Length of the text currently in the entry" msgstr "Llargada del text que hi ha actualment a l'entrada" -#: gtk/gtkentry.c:835 -#, fuzzy -msgid "Invisible character set" -msgstr "Caràcter d'invisibilitat" +#: ../gtk/gtkentry.c:834 +msgid "Invisible char set" +msgstr "Caràcter d'invisibilitat establit" -#: gtk/gtkentry.c:836 -#, fuzzy -msgid "Whether the invisible character has been set" +#: ../gtk/gtkentry.c:835 +msgid "Whether the invisible char has been set" msgstr "Si s'ha establit el caràcter d'invisibilitat" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:853 msgid "Caps Lock warning" msgstr "Avís de fixació de majúscules" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:854 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "" "Si en introduir contrasenyes s'ha de mostrar un avís quan la fixació de " "majúscules estiga activada" -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:868 msgid "Progress Fraction" msgstr "Fracció del progrés" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:869 msgid "The current fraction of the task that's been completed" msgstr "La fracció de la tasca actual que s'ha completat" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:886 msgid "Progress Pulse Step" msgstr "Pas de la pulsació de progrés" -#: gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:887 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2380,268 +2372,276 @@ msgstr "" "La fracció de l'amplada total de l'entrada en què es mourà el bloc de rebot " "del progrés cada vegada que s'invoqui la funció gtk_entry_progress_pulse()" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:903 msgid "Primary pixbuf" msgstr "Memòria intermèdia de píxel primària" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:904 msgid "Primary pixbuf for the entry" msgstr "Memòria intermèdia de píxel primària per a l'entrada" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:918 msgid "Secondary pixbuf" msgstr "Memòria intermèdia de píxel secundària" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:919 msgid "Secondary pixbuf for the entry" msgstr "Memòria intermèdia de píxel secundària per a l'entrada" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:933 msgid "Primary stock ID" msgstr "Identificador d'estoc primari" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:934 msgid "Stock ID for primary icon" msgstr "Identificador d'estoc per a la icona primària" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:948 msgid "Secondary stock ID" msgstr "Identificador d'estoc secundari" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:949 msgid "Stock ID for secondary icon" msgstr "Identificador d'estoc per a la icona secundària" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:963 msgid "Primary icon name" msgstr "Nom de la icona primària" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:964 msgid "Icon name for primary icon" msgstr "Nom d'icona per a la icona primària" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:978 msgid "Secondary icon name" msgstr "Nom de la icona secundària" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:979 msgid "Icon name for secondary icon" msgstr "Nom d'icona per a la icona secundària" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:993 msgid "Primary GIcon" msgstr "GIcon primària" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:994 msgid "GIcon for primary icon" msgstr "GIcon per a la icona primària" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1008 msgid "Secondary GIcon" msgstr "GIcon secundària" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1009 msgid "GIcon for secondary icon" msgstr "GIcon per a la icona secundària" -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1023 msgid "Primary storage type" msgstr "Tipus d'emmagatzemament primari" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1024 msgid "The representation being used for primary icon" msgstr "La representació utilitzada per a la icona primària" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1039 msgid "Secondary storage type" msgstr "Tipus d'emmagatzemament secundari" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1040 msgid "The representation being used for secondary icon" msgstr "La representació utilitzada per a la icona secundària" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1061 msgid "Primary icon activatable" msgstr "Icona primària activable" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1062 msgid "Whether the primary icon is activatable" msgstr "Si la icona primària és activable" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1082 msgid "Secondary icon activatable" msgstr "Icona secundària activable" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1083 msgid "Whether the secondary icon is activatable" msgstr "Si la icona secundària és activable" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1105 msgid "Primary icon sensitive" msgstr "Icona primària sensible" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1106 msgid "Whether the primary icon is sensitive" msgstr "Si la icona primària és sensible" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1127 msgid "Secondary icon sensitive" msgstr "Icona secundària sensible" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1128 msgid "Whether the secondary icon is sensitive" msgstr "Si la icona secundària és sensible" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1144 msgid "Primary icon tooltip text" msgstr "Text de l'indicador de funció de la icona primària" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1145 ../gtk/gtkentry.c:1181 msgid "The contents of the tooltip on the primary icon" msgstr "El contingut de l'indicador de funció de la icona primària" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1161 msgid "Secondary icon tooltip text" msgstr "Text de l'indicador de funció de la icona secundària" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1162 ../gtk/gtkentry.c:1200 msgid "The contents of the tooltip on the secondary icon" msgstr "El contingut de l'indicador de funció de la icona secundària" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1180 msgid "Primary icon tooltip markup" msgstr "Marcatge de l'indicador de funció de la icona primària" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1199 msgid "Secondary icon tooltip markup" msgstr "Marcatge de l'indicador de funció de la icona secundària" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1219 ../gtk/gtktextview.c:684 msgid "IM module" msgstr "Mòdul de mètode d'entrada" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1220 ../gtk/gtktextview.c:685 msgid "Which IM module should be used" msgstr "Quin mòdul de mètode d'entrada s'hauria d'utilitzar" -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1234 msgid "Icon Prelight" msgstr "Il·luminació d'icones" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1235 msgid "Whether activatable icons should prelight when hovered" msgstr "" "Si les icones activables s'haurien d'il·luminar en passar-hi el punter per " "sobre" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1248 msgid "Progress Border" msgstr "Vora de la progressió" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1249 msgid "Border around the progress bar" msgstr "Vora al voltant de la barra de progrés" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1741 msgid "Border between text and frame." msgstr "Vora entre el text i el quadre." -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 +#: ../gtk/gtkentry.c:1757 +msgid "State Hint" +msgstr "Indicació d'estat" + +#: ../gtk/gtkentry.c:1758 +msgid "Whether to pass a proper state when drawing shadow or background" +msgstr "Si s'ha de passar un estat de debò en dibuixar ombres o el fons" + +#: ../gtk/gtkentry.c:1763 ../gtk/gtklabel.c:859 msgid "Select on focus" msgstr "Selecciona en enfocar" -#: gtk/gtkentry.c:1748 +#: ../gtk/gtkentry.c:1764 msgid "Whether to select the contents of an entry when it is focused" msgstr "Si s'ha de seleccionar els continguts d'una entrada quan s'enfoca" -#: gtk/gtkentry.c:1762 +#: ../gtk/gtkentry.c:1778 msgid "Password Hint Timeout" msgstr "Temps d'espera de l'ajuda emergent per a contrasenyes" -#: gtk/gtkentry.c:1763 +#: ../gtk/gtkentry.c:1779 msgid "How long to show the last input character in hidden entries" msgstr "" "Durant quant de temps s'ha de mostrar el darrer caràcter introduït en les " "entrades ocultes" -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:354 msgid "The contents of the buffer" msgstr "El contingut de la memòria intermèdia" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:369 msgid "Length of the text currently in the buffer" msgstr "La llargada del text que hi ha actualment a la memòria intermèdia" -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:279 msgid "Completion Model" msgstr "Model de compleció" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:280 msgid "The model to find matches in" msgstr "El model on cercar coincidències" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:286 msgid "Minimum Key Length" msgstr "Longitud mínima de la clau" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:287 msgid "Minimum length of the search key in order to look up matches" msgstr "Longitud mínima de la clau de cerca per cercar coincidències" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:303 ../gtk/gtkiconview.c:587 msgid "Text column" msgstr "Columna de text" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:304 msgid "The column of the model containing the strings." msgstr "La columna del model que conté les cadenes." -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:323 msgid "Inline completion" msgstr "Compleció en línia" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:324 msgid "Whether the common prefix should be inserted automatically" msgstr "Si el prefix comú s'hauria d'inserir automàticament" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:338 msgid "Popup completion" msgstr "Compleció emergent" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:339 msgid "Whether the completions should be shown in a popup window" msgstr "Si les complecions s'haurien de mostrar en una finestra emergent" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:354 msgid "Popup set width" msgstr "Amplada del menú emergent" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:355 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "Si és CERT, la finestra emergent tindrà la mateixa mida que l'entrada" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:373 msgid "Popup single match" msgstr "Amplada d'una coincidència" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:374 msgid "If TRUE, the popup window will appear for a single match." msgstr "" "Si és CERT, la finestra emergent apareixerà amb només una coincidència." -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:388 msgid "Inline selection" msgstr "Selecció en línia" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:389 msgid "Your description here" msgstr "Poseu una descripció ací" -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkeventbox.c:91 msgid "Visible Window" msgstr "Finestra visible" -#: gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:92 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2649,11 +2649,11 @@ msgstr "" "Si la caixa d'esdeveniments és visible, contràriament a invisible i només " "per atrapar esdeveniments." -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:98 msgid "Above child" msgstr "Per sobre del fill" -#: gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:99 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2661,162 +2661,157 @@ msgstr "" "Si la finestra per atrapar incidències de la caixa d'incidències és per " "sobre de la finestra del giny fill, contràriament a per sota seu." -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:189 msgid "Expanded" msgstr "Expandit" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:190 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Si l'extensor s'ha obert per mostrar el giny fill" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:198 msgid "Text of the expander's label" msgstr "Text de l'etiqueta de l'expansor" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:213 ../gtk/gtklabel.c:521 msgid "Use markup" msgstr "Utilitza marques" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:214 ../gtk/gtklabel.c:522 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "" "El text de l'etiqueta inclou les marques XML. Vegeu pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:222 msgid "Space to put between the label and the child" msgstr "Espai a posar entre l'etiqueta i el fill" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:231 ../gtk/gtkframe.c:147 ../gtk/gtktoolbutton.c:218 +#: ../gtk/gtktoolitemgroup.c:1550 msgid "Label widget" msgstr "Giny etiqueta" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:232 msgid "A widget to display in place of the usual expander label" msgstr "Un giny per visualitzar en lloc de la típica etiqueta expansora" -#: gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:239 #, fuzzy msgid "Label fill" msgstr "Farciment de pestanya" -#: gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:240 #, fuzzy msgid "Whether the label widget should fill all available horizontal space" msgstr "Si l'element ha d'omplir tot l'espai disponible" -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:246 ../gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtktreeview.c:780 msgid "Expander Size" msgstr "Mida de l'expansor" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:247 ../gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktreeview.c:781 msgid "Size of the expander arrow" msgstr "Mida de la fila expansora" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:256 msgid "Spacing around expander arrow" msgstr "Espai al voltant de la fletxa de l'expansor" -#: gtk/gtkfilechooserbutton.c:368 -msgid "Dialog" -msgstr "Diàleg" - -#: gtk/gtkfilechooserbutton.c:369 -msgid "The file chooser dialog to use." -msgstr "El diàleg de selecció de fitxer a utilitzar." - -#: gtk/gtkfilechooserbutton.c:400 -msgid "The title of the file chooser dialog." -msgstr "El títol del diàleg de selecció de fitxers." - -#: gtk/gtkfilechooserbutton.c:414 -msgid "The desired width of the button widget, in characters." -msgstr "L'amplada desitjada del giny botó, en caràcters." - -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:759 msgid "Action" msgstr "Acció" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:760 msgid "The type of operation that the file selector is performing" msgstr "El tipus d'operació que fa el selector de fitxers" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:766 +msgid "File System Backend" +msgstr "Rerefons del sistema de fitxers" + +#: ../gtk/gtkfilechooser.c:767 +msgid "Name of file system backend to use" +msgstr "Nom del rerefons del sistema de fitxers a utilitzar" + +#: ../gtk/gtkfilechooser.c:772 ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "Filtre" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:773 msgid "The current filter for selecting which files are displayed" msgstr "El filtre actual per seleccionar quins fitxers es mostraran" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:778 msgid "Local Only" msgstr "Només locals" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:779 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "Si els fitxers seleccionats s'haurien de limitar a fitxers locals: URL" -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:784 msgid "Preview widget" msgstr "Giny de visualització prèvia" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:785 msgid "Application supplied widget for custom previews." msgstr "" "Giny proporcionat per l'aplicació per a visualitzacions prèvies " "personalitzades." -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:790 msgid "Preview Widget Active" msgstr "Giny de visualització prèvia actiu" -#: gtk/gtkfilechooser.c:766 +#: ../gtk/gtkfilechooser.c:791 msgid "" "Whether the application supplied widget for custom previews should be shown." msgstr "" "Si s'ha de mostrar el giny de visualització prèvia que l'aplicació " "proporciona." -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:796 msgid "Use Preview Label" msgstr "Utilitza l'etiqueta de visualització prèvia" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:797 msgid "Whether to display a stock label with the name of the previewed file." msgstr "" "Si s'ha de mostrar l'etiqueta predeterminada amb el nom del fitxer " "visualitzat." -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:802 msgid "Extra widget" msgstr "Giny addicional" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:803 msgid "Application supplied widget for extra options." msgstr "Giny proporcionat per l'aplicació per a opcions addicionals." -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:808 ../gtk/gtkfilesel.c:540 +#: ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "Selecció múltiple" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:809 ../gtk/gtkfilesel.c:541 msgid "Whether to allow multiple files to be selected" msgstr "Si s'ha permetre que fitxers múltiples siguen seleccionats" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:815 msgid "Show Hidden" msgstr "Mostra ocults" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:816 msgid "Whether the hidden files and folders should be displayed" msgstr "Si s'han de mostrar els fitxers i directoris ocults" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:831 msgid "Do overwrite confirmation" msgstr "Confirma la sobreescriptura" -#: gtk/gtkfilechooser.c:807 +#: ../gtk/gtkfilechooser.c:832 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." @@ -2824,12 +2819,11 @@ msgstr "" "Si un selector de fitxers que permeta alçar ha de demanar confirmació en cas " "que se sobreescrigui algun fitxer." -#: gtk/gtkfilechooser.c:823 -#, fuzzy -msgid "Allow folder creation" +#: ../gtk/gtkfilechooser.c:848 +msgid "Allow folders creation" msgstr "Permet la creació de carpetes" -#: gtk/gtkfilechooser.c:824 +#: ../gtk/gtkfilechooser.c:849 msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." @@ -2837,131 +2831,172 @@ msgstr "" "Si un selector de fitxers que no estiga en mode d'obertura oferirà la " "creació de carpetes noves." -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfilechooserbutton.c:376 +msgid "Dialog" +msgstr "Diàleg" + +#: ../gtk/gtkfilechooserbutton.c:377 +msgid "The file chooser dialog to use." +msgstr "El diàleg de selecció de fitxer a utilitzar." + +#: ../gtk/gtkfilechooserbutton.c:408 +msgid "The title of the file chooser dialog." +msgstr "El títol del diàleg de selecció de fitxers." + +#: ../gtk/gtkfilechooserbutton.c:422 +msgid "The desired width of the button widget, in characters." +msgstr "L'amplada desitjada del giny botó, en caràcters." + +#: ../gtk/gtkfilesel.c:526 ../gtk/gtkimage.c:256 ../gtk/gtkrecentmanager.c:214 +#: ../gtk/gtkstatusicon.c:221 +msgid "Filename" +msgstr "Nom del fitxer" + +#: ../gtk/gtkfilesel.c:527 +msgid "The currently selected filename" +msgstr "El nom del fitxer seleccionat actualment" + +#: ../gtk/gtkfilesel.c:533 +msgid "Show file operations" +msgstr "Mostra les operacions de fitxer" + +#: ../gtk/gtkfilesel.c:534 +msgid "Whether buttons for creating/manipulating files should be displayed" +msgstr "Si s'han de visualitzar els botons per crear/manipular fitxers" + +#: ../gtk/gtkfixed.c:90 ../gtk/gtklayout.c:597 msgid "X position" msgstr "Posició X" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:91 ../gtk/gtklayout.c:598 msgid "X position of child widget" msgstr "Posició X del giny fill" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:100 ../gtk/gtklayout.c:607 msgid "Y position" msgstr "Posició Y" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:101 ../gtk/gtklayout.c:608 msgid "Y position of child widget" msgstr "Posició Y del giny fill" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:143 msgid "The title of the font selection dialog" msgstr "El títol del diàleg de selecció del tipus de lletra" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:158 ../gtk/gtkfontsel.c:196 msgid "Font name" msgstr "Nom de tipus de lletra" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:159 msgid "The name of the selected font" msgstr "El nom del tipus de lletra seleccionat" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:160 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:175 msgid "Use font in label" msgstr "Utilitza el tipus de lletra de l'etiqueta" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:176 msgid "Whether the label is drawn in the selected font" msgstr "Si l'etiqueta es dibuixa amb el tipus de lletra seleccionat" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:191 msgid "Use size in label" msgstr "Utilitza la mida de l'etiqueta" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:192 msgid "Whether the label is drawn with the selected font size" msgstr "Si l'etiqueta es dibuixa amb la mida del tipus de lletra seleccionada" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:208 msgid "Show style" msgstr "Mostra l'estil" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:209 msgid "Whether the selected font style is shown in the label" msgstr "Si l'estil del tipus de lletra es mostra en l'etiqueta" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:224 msgid "Show size" msgstr "Mostra la mida" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:225 msgid "Whether selected font size is shown in the label" msgstr "Si es mostra la mida del tipus de lletra en l'etiqueta" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:197 msgid "The string that represents this font" msgstr "La cadena que representa este tipus de lletra" -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:204 +msgid "The GdkFont that is currently selected" +msgstr "El GdkFont actualment està seleccionat" + +#: ../gtk/gtkfontsel.c:210 msgid "Preview text" msgstr "Text previsualitzat" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:211 msgid "The text to display in order to demonstrate the selected font" msgstr "El text a visualitzar per demostrar el tipus de lletra seleccionat" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:106 msgid "Text of the frame's label" msgstr "Text de l'etiqueta del marc" -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:113 msgid "Label xalign" msgstr "Etiqueta xalign" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:114 msgid "The horizontal alignment of the label" msgstr "L'alineació horitzontal de l'etiqueta" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:122 msgid "Label yalign" msgstr "Etiqueta yalign" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:123 msgid "The vertical alignment of the label" msgstr "L'alineació vertical de l'etiqueta" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:131 ../gtk/gtkhandlebox.c:167 +msgid "Deprecated property, use shadow_type instead" +msgstr "Propietat obsoleta, utilitzeu «shadow_type» en el seu lloc" + +#: ../gtk/gtkframe.c:138 msgid "Frame shadow" msgstr "Ombra de marc" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:139 msgid "Appearance of the frame border" msgstr "Aparença del contorn del marc" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:148 msgid "A widget to display in place of the usual frame label" msgstr "Un giny a visualitzar en lloc del típic marc d'etiqueta" -#: gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:175 msgid "Appearance of the shadow that surrounds the container" msgstr "Aspecte de l'ombra que envolta el contenidor" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:183 msgid "Handle position" msgstr "Gestiona posició" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:184 msgid "Position of the handle relative to the child widget" msgstr "Posició de la nansa relativa al giny fill" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:192 msgid "Snap edge" msgstr "Contorn ràpid" -#: gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:193 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -2969,11 +3004,11 @@ msgstr "" "Part del handlebox que es programa amb el punt d'amarratge per amarrar el " "handlebox" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:201 msgid "Snap edge set" msgstr "Conjunt de contorn ràpid" -#: gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:202 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -2981,11 +3016,11 @@ msgstr "" "Si s'ha d'utilitzar el valor de la propietat snap_edge o un valor derivat de " "handle_position" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:209 msgid "Child Detached" msgstr "Fill separat" -#: gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:210 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -2993,270 +3028,286 @@ msgstr "" "Un valor booleà que indica si el fill del quadre de nanses està acoblat o " "separat." -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:550 msgid "Selection mode" msgstr "Mode de selecció" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:551 msgid "The selection mode" msgstr "Mode de selecció" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:569 msgid "Pixbuf column" msgstr "Columna de memòria de píxel" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:570 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Columna del model d'on obtindre la icona de la memòria de píxel" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:588 msgid "Model column used to retrieve the text from" msgstr "Columna del model d'on obtindre el text" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:607 msgid "Markup column" msgstr "Columna d'etiquetatge" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:608 msgid "Model column used to retrieve the text if using Pango markup" msgstr "" "Columna del model d'on obtindre el text si es fa servir l'etiquetatge Pango" -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:615 msgid "Icon View Model" msgstr "Model de vista d'icones" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:616 msgid "The model for the icon view" msgstr "El model per la vista d'icones" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:632 msgid "Number of columns" msgstr "El nombre de columnes" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:633 msgid "Number of columns to display" msgstr "El nombre de columnes a mostrar" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:650 msgid "Width for each item" msgstr "Amplada de cada element" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:651 msgid "The width used for each item" msgstr "L'amplada utilitzada per cada element" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:667 msgid "Space which is inserted between cells of an item" msgstr "Espai inserit entre les cel·les de cada element" -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:682 msgid "Row Spacing" msgstr "Espaiat de files" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:683 msgid "Space which is inserted between grid rows" msgstr "L'espai inserit entre les files d'una graella" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:698 msgid "Column Spacing" msgstr "Espaiat de columnes" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:699 msgid "Space which is inserted between grid columns" msgstr "L'espai inserit entre les columnes d'una graella" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:714 msgid "Margin" msgstr "Marge" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:715 msgid "Space which is inserted at the edges of the icon view" msgstr "Espai inserit a les cantonades de la vista d'icones" -#: gtk/gtkiconview.c:730 -#, fuzzy -msgid "Item Orientation" -msgstr "Orientació" - -#: gtk/gtkiconview.c:731 +#: ../gtk/gtkiconview.c:733 ../gtk/gtkiconview.c:750 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "El posicionament relatiu entre el text i la icona de cada element" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:749 +#, fuzzy +msgid "Item Orientation" +msgstr "Orientació" + +#: ../gtk/gtkiconview.c:766 ../gtk/gtktreeview.c:615 +#: ../gtk/gtktreeviewcolumn.c:308 msgid "Reorderable" msgstr "Reordenable" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:767 ../gtk/gtktreeview.c:616 msgid "View is reorderable" msgstr "La vista és reordenable" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:774 ../gtk/gtktreeview.c:766 msgid "Tooltip Column" msgstr "Columna de l'indicador de funció" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:775 msgid "The column in the model containing the tooltip texts for the items" msgstr "" "La columna del model que conté els textos dels indicadors de funció per als " "elements" -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:792 msgid "Item Padding" msgstr "Farciment dels elements" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:793 msgid "Padding around icon view items" msgstr "Farciment al voltant dels elements de la visualització d'icones" -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:802 msgid "Selection Box Color" msgstr "Color de la caixa de selecció" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:803 msgid "Color of the selection box" msgstr "Color de la caixa de selecció" -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:809 msgid "Selection Box Alpha" msgstr "Transparència de la caixa de selecció" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:810 msgid "Opacity of the selection box" msgstr "Opacitat de la caixa de selecció" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:224 ../gtk/gtkstatusicon.c:213 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:225 ../gtk/gtkstatusicon.c:214 msgid "A GdkPixbuf to display" msgstr "Un GdkPixbuf a visualitzar" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 -msgid "Filename" -msgstr "Nom del fitxer" +#: ../gtk/gtkimage.c:232 +msgid "Pixmap" +msgstr "Mapa de píxels" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:233 +msgid "A GdkPixmap to display" +msgstr "Un GdkPixmap a visualitzar" + +#: ../gtk/gtkimage.c:240 ../gtk/gtkmessagedialog.c:305 +msgid "Image" +msgstr "Imatge" + +#: ../gtk/gtkimage.c:241 +msgid "A GdkImage to display" +msgstr "Un GdkImage per visualitzar" + +#: ../gtk/gtkimage.c:248 +msgid "Mask" +msgstr "Màscara" + +#: ../gtk/gtkimage.c:249 +msgid "Mask bitmap to use with GdkImage or GdkPixmap" +msgstr "Màscara de mapa de bits per utilitzar amb GdkImage o GdkPixmap" + +#: ../gtk/gtkimage.c:257 ../gtk/gtkstatusicon.c:222 msgid "Filename to load and display" msgstr "Nom de fitxer per carregar i visualitzar" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:266 ../gtk/gtkstatusicon.c:230 msgid "Stock ID for a stock image to display" msgstr "ID integrada per a una icona integrada a mostrar" -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:273 msgid "Icon set" msgstr "Definiu icona" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:274 msgid "Icon set to display" msgstr "Definiu icona per visualitzar" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:281 ../gtk/gtkscalebutton.c:216 ../gtk/gtktoolbar.c:540 +#: ../gtk/gtktoolpalette.c:991 msgid "Icon size" msgstr "Mida d'icona" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:282 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Mida simbòlica a utilitzar per a la icona del sistema, conjunt d'icones o " "icona especificada" -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:298 msgid "Pixel size" msgstr "Mida del píxel" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:299 msgid "Pixel size to use for named icon" msgstr "Mida del píxel a utilitzar per a la icona especificada" -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:307 msgid "Animation" msgstr "Animació" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:308 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation per visualitzar" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:348 ../gtk/gtkstatusicon.c:261 msgid "Storage type" msgstr "Tipus d'emmagatzemament" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:349 ../gtk/gtkstatusicon.c:262 msgid "The representation being used for image data" msgstr "La representació utilitzada per les dades de la imatge" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:136 msgid "Child widget to appear next to the menu text" msgstr "Giny fill que apareix al costat del text del menú" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:151 msgid "Whether to use the label text to create a stock menu item" msgstr "" "Si s'ha d'utilitzar el text de l'etiqueta per crear un element de menú " "d'estoc" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:184 ../gtk/gtkmenu.c:522 msgid "Accel Group" msgstr "Grup de dreceres" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:185 msgid "The Accel Group to use for stock accelerator keys" msgstr "El grup de dreceres a utilitzar per a les dreceres de teclat d'estoc" -#: gtk/gtkimagemenuitem.c:193 +#: ../gtk/gtkimagemenuitem.c:190 msgid "Show menu images" msgstr "Mostra imatges del menú" -#: gtk/gtkimagemenuitem.c:194 +#: ../gtk/gtkimagemenuitem.c:191 msgid "Whether images should be shown in menus" msgstr "Si s'han de mostrar imatges en els menús" -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:384 ../gtk/gtkmessagedialog.c:218 msgid "Message Type" msgstr "Tipus de missatge" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:385 ../gtk/gtkmessagedialog.c:219 msgid "The type of message" msgstr "El tipus de missatge" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:440 msgid "Width of border around the content area" msgstr "L'amplada del contorn al voltant de l'àrea de contingut" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:457 msgid "Spacing between elements of the area" msgstr "L'espai entre els elements de l'àrea" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:489 msgid "Width of border around the action area" msgstr "L'amplada del contorn al voltant de l'àrea d'acció" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 -msgid "Screen" -msgstr "Pantalla" - -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:87 ../gtk/gtkwindow.c:642 msgid "The screen where this window will be displayed" msgstr "La pantalla on es mostrarà esta finestra" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:508 msgid "The text of the label" msgstr "El text de l'etiqueta" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:515 msgid "A list of style attributes to apply to the text of the label" msgstr "Una llista d'atributs d'estil per aplicar al text de l'etiqueta" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:536 ../gtk/gtktexttag.c:359 ../gtk/gtktextview.c:593 msgid "Justification" msgstr "Justificació" -#: gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:537 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3266,11 +3317,11 @@ msgstr "" "Això NO afecta l'alineació de l'etiqueta en la seua assignació. Vegeu " "GtkMisc::xalign" -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:545 msgid "Pattern" msgstr "Patró" -#: gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:546 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3278,47 +3329,47 @@ msgstr "" "Una cadena amb caràcters _ en posicions corresponen a caràcters del text per " "subratllar" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:553 msgid "Line wrap" msgstr "Ajustament de línia" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:554 msgid "If set, wrap lines if the text becomes too wide" msgstr "Si és establit, ajusta les línies si el text arriba a ser massa ample" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:569 msgid "Line wrap mode" msgstr "Mode de l'ajustament de línia" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:570 msgid "If wrap is set, controls how linewrapping is done" msgstr "Si s'estableix l'ajustament, controla de quina manera es fa" -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:577 msgid "Selectable" msgstr "Seleccionable" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:578 msgid "Whether the label text can be selected with the mouse" msgstr "Si el ratolí pot seleccionar el text de l'etiqueta" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:584 msgid "Mnemonic key" msgstr "Clau mnemotècnica" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:585 msgid "The mnemonic accelerator key for this label" msgstr "La clau acceleradora mnemotècnica per a esta etiqueta" -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:593 msgid "Mnemonic widget" msgstr "Giny mnemotècnic" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:594 msgid "The widget to be activated when the label's mnemonic key is pressed" -msgstr "El giny a activar quan se'n prema la clau mnemotècnica" +msgstr "El giny a activar quan se'n premi la clau mnemotècnica" -#: gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:640 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3326,153 +3377,119 @@ msgstr "" "El lloc preferit on posar punts suspensius a la cadena, si l'etiqueta no té " "prou espai per mostrar tota la cadena" -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:680 msgid "Single Line Mode" msgstr "Mode de línia simple" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:681 msgid "Whether the label is in single line mode" msgstr "Si l'etiqueta està en mode de línia simple" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:698 msgid "Angle" msgstr "Angle" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:699 msgid "Angle at which the label is rotated" msgstr "L'angle que es gira l'etiqueta" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:719 +msgid "Maximum Width In Characters" +msgstr "Amplada màxima en caràcters" + +#: ../gtk/gtklabel.c:720 msgid "The desired maximum width of the label, in characters" msgstr "L'amplada màxima desitjada de l'etiqueta, en caràcters" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:738 msgid "Track visited links" msgstr "Fes un seguiment dels enllaços que s'hagen visitat" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:739 msgid "Whether visited links should be tracked" msgstr "Si s'ha de fer un seguiment dels enllaços visitats" -#: gtk/gtklabel.c:904 +#: ../gtk/gtklabel.c:860 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Si s'han de seleccionar els continguts d'una etiqueta seleccionable quan " "obtinga el focus" -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 +#: ../gtk/gtklayout.c:617 ../gtk/gtkviewport.c:125 msgid "Horizontal adjustment" msgstr "Ajust horitzontal" -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 +#: ../gtk/gtklayout.c:618 ../gtk/gtkscrolledwindow.c:219 msgid "The GtkAdjustment for the horizontal position" msgstr "El GtkAdjustment per a la posició horitzontal" -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 +#: ../gtk/gtklayout.c:625 ../gtk/gtkviewport.c:133 msgid "Vertical adjustment" msgstr "Ajust vertical" -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 +#: ../gtk/gtklayout.c:626 ../gtk/gtkscrolledwindow.c:226 msgid "The GtkAdjustment for the vertical position" msgstr "El GtkAdjustment per a la posició vertical" -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 +#: ../gtk/gtklayout.c:633 ../gtk/gtktreeviewcolumn.c:208 msgid "Width" msgstr "Amplada" -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:634 msgid "The width of the layout" msgstr "L'amplada de la disposició" -#: gtk/gtklayout.c:650 +#: ../gtk/gtklayout.c:642 msgid "Height" msgstr "Alçada" -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:643 msgid "The height of the layout" msgstr "L'alçada de la disposició" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:145 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:146 msgid "The URI bound to this button" msgstr "L'URI vinculat a este botó" -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:160 msgid "Visited" msgstr "Visitat" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:161 msgid "Whether this link has been visited." msgstr "Si s'ha visitat este enllaç." -#: gtk/gtkmenubar.c:163 -msgid "Pack direction" -msgstr "Direcció de l'empaquetament" - -#: gtk/gtkmenubar.c:164 -msgid "The pack direction of the menubar" -msgstr "La direcció de l'empaquetament de la barra d'eines" - -#: gtk/gtkmenubar.c:180 -msgid "Child Pack direction" -msgstr "Direcció de l'empaquetament fill" - -#: gtk/gtkmenubar.c:181 -msgid "The child pack direction of the menubar" -msgstr "L'orientació de la barra d'eines" - -#: gtk/gtkmenubar.c:190 -msgid "Style of bevel around the menubar" -msgstr "Estil del bisell que envolta la barra de menú" - -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 -msgid "Internal padding" -msgstr "Separació interna" - -#: gtk/gtkmenubar.c:198 -msgid "Amount of border space between the menubar shadow and the menu items" -msgstr "" -"Quantitat d'espai del contorn entre l'ombra de la barra de menú i els " -"elements del menú" - -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "Retard abans que apareguen els menús desplegables" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "Retard abans que apareguen els submenús d'una barra de menú" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:508 msgid "The currently selected menu item" msgstr "L'element de menú seleccionat actualment" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:523 msgid "The accel group holding accelerators for the menu" msgstr "El grup d'acceleradors que conté els acceleradors del menú" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:537 ../gtk/gtkmenuitem.c:290 msgid "Accel Path" msgstr "Camí de l'accelerador" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:538 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "Un camí d'accelerador que s'utilitza per construir els camins d'accelerador " "dels elements fill" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:554 msgid "Attach Widget" msgstr "Giny d'acoblament" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:555 msgid "The widget the menu is attached to" msgstr "El giny al qual el menú està acoblat" -#: gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:563 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3480,35 +3497,35 @@ msgstr "" "Un títol que s'ha de visualitzar mitjançant el gestor de finestres quan este " "menú es desactive" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:577 msgid "Tearoff State" msgstr "Estat del menú separat" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:578 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Un booleà que indica si el menú està arrencat" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:592 msgid "Monitor" msgstr "Monitor" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:593 msgid "The monitor the menu will be popped up on" msgstr "El monitor on es mostrarà el menú" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:599 msgid "Vertical Padding" msgstr "Separació vertical" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:600 msgid "Extra space at the top and bottom of the menu" msgstr "Espai addicional a dalt i abaix del menú" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:622 msgid "Reserve Toggle Size" msgstr "Mida de la reserva dels commutadors" -#: gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:623 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" @@ -3516,339 +3533,404 @@ msgstr "" "Un booleà que indica si el menú ha de reservar espai per als commutadors i " "les icones" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:629 msgid "Horizontal Padding" msgstr "Farciment horitzontal" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:630 msgid "Extra space at the left and right edges of the menu" msgstr "Espai addicional a dreta i esquerra de les vores del menú" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:638 msgid "Vertical Offset" msgstr "Desplaçament vertical" -#: gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:639 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" msgstr "" "Quan el menú és un submenú, es desplaça verticalment este nombre de píxels" -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:647 msgid "Horizontal Offset" msgstr "Desplaçament horitzontal" -#: gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" msgstr "" "Quan el menú és un submenú, es desplaça horitzontalment este nombre de píxels" -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:656 msgid "Double Arrows" msgstr "Fletxes dobles" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:657 msgid "When scrolling, always show both arrows." msgstr "Quan es desplaci, sempre mostra totes dues fletxes." -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:670 msgid "Arrow Placement" msgstr "Ubicació de les fletxes" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:671 msgid "Indicates where scroll arrows should be placed" msgstr "Indica on s'han d'ubicar les fletxes de desplaçament" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:679 msgid "Left Attach" msgstr "Adjunt esquerre" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 +#: ../gtk/gtkmenu.c:680 ../gtk/gtktable.c:174 msgid "The column number to attach the left side of the child to" msgstr "El número de columna on adjuntar la banda esquerra del fill" -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:687 msgid "Right Attach" msgstr "Adjunt dret" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:688 msgid "The column number to attach the right side of the child to" msgstr "El número de columna on adjuntar la banda dreta del fill" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:695 msgid "Top Attach" msgstr "Adjunt superior" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:696 msgid "The row number to attach the top of the child to" msgstr "El número de fila on adjuntar la part superior del fill" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:703 msgid "Bottom Attach" msgstr "Adjunt inferior" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:704 ../gtk/gtktable.c:195 msgid "The row number to attach the bottom of the child to" msgstr "El número de fila on adjuntar la part inferior del fill" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:718 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" "Constant arbitrària per la qual es reduirà la mida de la fletxa de " "desplaçament" -#: gtk/gtkmenu.c:823 +#: ../gtk/gtkmenu.c:805 msgid "Can change accelerators" msgstr "Poden canviar els acceleradors" -#: gtk/gtkmenu.c:824 +#: ../gtk/gtkmenu.c:806 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Si els acceleradors del menú es poden canviar prement una tecla sobre " "l'element del menú" -#: gtk/gtkmenu.c:829 +#: ../gtk/gtkmenu.c:811 msgid "Delay before submenus appear" msgstr "Retard abans que apareguen els submenús" -#: gtk/gtkmenu.c:830 +#: ../gtk/gtkmenu.c:812 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "El temps mínim que el punter ha d'estar sobre d'un element del menú abans " "que n'aparega el submenú" -#: gtk/gtkmenu.c:837 +#: ../gtk/gtkmenu.c:819 msgid "Delay before hiding a submenu" msgstr "Retard abans d'ocultar un submenú" -#: gtk/gtkmenu.c:838 +#: ../gtk/gtkmenu.c:820 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" msgstr "" "El temps abans d'ocultar un submenú quan el punter es mou cap al submenú" -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenubar.c:168 +msgid "Pack direction" +msgstr "Direcció de l'empaquetament" + +#: ../gtk/gtkmenubar.c:169 +msgid "The pack direction of the menubar" +msgstr "La direcció de l'empaquetament de la barra d'eines" + +#: ../gtk/gtkmenubar.c:185 +msgid "Child Pack direction" +msgstr "Direcció de l'empaquetament fill" + +#: ../gtk/gtkmenubar.c:186 +msgid "The child pack direction of the menubar" +msgstr "L'orientació de la barra d'eines" + +#: ../gtk/gtkmenubar.c:195 +msgid "Style of bevel around the menubar" +msgstr "Estil del bisell que envolta la barra de menú" + +#: ../gtk/gtkmenubar.c:202 ../gtk/gtktoolbar.c:590 +msgid "Internal padding" +msgstr "Separació interna" + +#: ../gtk/gtkmenubar.c:203 +msgid "Amount of border space between the menubar shadow and the menu items" +msgstr "" +"Quantitat d'espai del contorn entre l'ombra de la barra de menú i els " +"elements del menú" + +#: ../gtk/gtkmenubar.c:210 +msgid "Delay before drop down menus appear" +msgstr "Retard abans que apareguen els menús desplegables" + +#: ../gtk/gtkmenubar.c:211 +msgid "Delay before the submenus of a menu bar appear" +msgstr "Retard abans que apareguen els submenús d'una barra de menú" + +#: ../gtk/gtkmenuitem.c:257 msgid "Right Justified" msgstr "Alinea a la dreta" -#: gtk/gtkmenuitem.c:286 +#: ../gtk/gtkmenuitem.c:258 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" "Estableix si l'element de menú apareix alineat al costat dret d'una barra de " "menú" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:272 msgid "Submenu" msgstr "Submenú" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:273 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "El submenú adjunt a l'element de menú, o bé NULL si no en té cap" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:291 msgid "Sets the accelerator path of the menu item" msgstr "Estableix el camí de l'accelerador de l'element de menú" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:306 msgid "The text for the child label" msgstr "El text de l'etiqueta filla" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:369 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "Quantitat d'espai que ocupa la fletxa en relació a la mida del tipus de " "lletra de l'element de menú" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:382 msgid "Width in Characters" msgstr "Amplada en caràcters" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:383 msgid "The minimum desired width of the menu item in characters" msgstr "L'amplada desitjada mínima de l'element de menú, en caràcters" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:379 msgid "Take Focus" msgstr "Agafa el focus" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:380 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Un booleà que indica si el menú agafa el focus del teclat" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:245 ../gtk/gtkoptionmenu.c:161 msgid "Menu" msgstr "Menú" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:246 msgid "The dropdown menu" msgstr "El menú desplegable" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:186 msgid "Image/label border" msgstr "Contorn de la imatge/etiqueta" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:187 msgid "Width of border around the label and image in the message dialog" msgstr "" "Amplada del contorn al voltant de l'etiqueta i de la imatge en el diàleg de " "missatge" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:204 +msgid "Use separator" +msgstr "Usa un separador" + +#: ../gtk/gtkmessagedialog.c:205 +msgid "" +"Whether to put a separator between the message dialog's text and the buttons" +msgstr "Si posar un separador entre el text i els botons els diàlegs" + +#: ../gtk/gtkmessagedialog.c:226 msgid "Message Buttons" msgstr "Botons de missatge" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:227 msgid "The buttons shown in the message dialog" msgstr "Els botons mostrats en el diàleg del missatge" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the message dialog" msgstr "El text primari del diàleg de missatge" # termcat (josep) -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:259 msgid "Use Markup" msgstr "Utilitza etiquetatge" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:260 msgid "The primary text of the title includes Pango markup." msgstr "El text primari del títol inclou etiquetatge Pango." -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:274 msgid "Secondary Text" msgstr "Text secundari" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text of the message dialog" msgstr "El text secundari del diàleg de missatge" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:290 msgid "Use Markup in secondary" msgstr "Empra etiquetatge en el secundari" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:291 msgid "The secondary text includes Pango markup." msgstr "El text secundari inclou etiquetatge Pango." -#: gtk/gtkmessagedialog.c:288 -msgid "Image" -msgstr "Imatge" - -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:306 msgid "The image" msgstr "La imatge" -#: gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:322 #, fuzzy msgid "Message area" msgstr "Tipus de missatge" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:323 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "" -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:83 msgid "Y align" msgstr "Alineació X" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:84 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "L'alineació vertical, des de 0 (a dalt) fins 1 (a baix)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:93 msgid "X pad" msgstr "Farciment X" -#: gtk/gtkmisc.c:102 +#: ../gtk/gtkmisc.c:94 msgid "" "The amount of space to add on the left and right of the widget, in pixels" msgstr "L'alineació d'espai a afegir a esquerra i dreta del giny, en píxels" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:103 msgid "Y pad" msgstr "Farciment Y" -#: gtk/gtkmisc.c:112 +#: ../gtk/gtkmisc.c:104 msgid "" "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "L'alineació d'espai a afegir de dalt a baix del giny, en píxels" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:160 msgid "Parent" msgstr "Pare" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:161 msgid "The parent window" msgstr "La finestra pare" -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:168 msgid "Is Showing" msgstr "Es mostra" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:169 msgid "Are we showing a dialog" msgstr "Si es mostra un diàleg" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:177 msgid "The screen where this window will be displayed." msgstr "La pantalla en què es mostrarà esta finestra." -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:585 msgid "Page" msgstr "Pàgina" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:586 msgid "The index of the current page" msgstr "L'índex de la pàgina actual" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:594 msgid "Tab Position" msgstr "Posició de les pestanyes" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:595 msgid "Which side of the notebook holds the tabs" msgstr "Quin costat del bloc de notes conté les pestanyes" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:602 +msgid "Tab Border" +msgstr "Límit de la pestanya" + +#: ../gtk/gtknotebook.c:603 +msgid "Width of the border around the tab labels" +msgstr "Amplada del contorn al voltant de les etiquetes de pestanya" + +#: ../gtk/gtknotebook.c:611 +msgid "Horizontal Tab Border" +msgstr "Contorn pestanya horitzontal" + +#: ../gtk/gtknotebook.c:612 +msgid "Width of the horizontal border of tab labels" +msgstr "Amplada del contorn horitzontal de les etiquetes de pestanya" + +#: ../gtk/gtknotebook.c:620 +msgid "Vertical Tab Border" +msgstr "Contorn pestanya vertical" + +#: ../gtk/gtknotebook.c:621 +msgid "Width of the vertical border of tab labels" +msgstr "Amplada del contorn vertical de les etiquetes de pestanya" + +#: ../gtk/gtknotebook.c:629 msgid "Show Tabs" msgstr "Mostra les pestanyes" -#: gtk/gtknotebook.c:613 -#, fuzzy -msgid "Whether tabs should be shown" +#: ../gtk/gtknotebook.c:630 +msgid "Whether tabs should be shown or not" msgstr "Si les pestanyes s'haurien de mostrar o no" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:636 msgid "Show Border" msgstr "Mostra el contorn" -#: gtk/gtknotebook.c:620 -#, fuzzy -msgid "Whether the border should be shown" +#: ../gtk/gtknotebook.c:637 +msgid "Whether the border should be shown or not" msgstr "Si el contorn hauria de ser mostrat o no" -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:643 msgid "Scrollable" msgstr "Desplaçable" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:644 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Si és CERT, s'afegiran fletxes de desplaçament si hi ha massa pestanyes per " "ajustar" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:650 msgid "Enable Popup" msgstr "Disponible el menú emergent" -#: gtk/gtknotebook.c:634 +#: ../gtk/gtknotebook.c:651 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3856,332 +3938,363 @@ msgstr "" "Si és CERT, prement el botó dret del ratolí sobre el llibre de notes " "apareixerà un menú que podreu utilitzar per anar a una pàgina" -#: gtk/gtknotebook.c:648 -#, fuzzy -msgid "Group Name" +#: ../gtk/gtknotebook.c:658 +msgid "Whether tabs should have homogeneous sizes" +msgstr "Si les pestanyes haurien de tindre mides homogènies" + +#: ../gtk/gtknotebook.c:664 +msgid "Group ID" msgstr "ID del grup" -#: gtk/gtknotebook.c:649 -#, fuzzy -msgid "Group name for tab drag and drop" +#: ../gtk/gtknotebook.c:665 +msgid "Group ID for tabs drag and drop" +msgstr "ID del grup per a pestanyes per arrossegar i deixar anar" + +#: ../gtk/gtknotebook.c:681 ../gtk/gtkradioaction.c:128 +#: ../gtk/gtkradiobutton.c:82 ../gtk/gtkradiomenuitem.c:353 +#: ../gtk/gtkradiotoolbutton.c:65 +msgid "Group" +msgstr "Grup" + +#: ../gtk/gtknotebook.c:682 +msgid "Group for tabs drag and drop" msgstr "Grup per a l'arrossegament i deixada de pestanyes" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:688 msgid "Tab label" msgstr "Etiqueta de la pestanya" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:689 msgid "The string displayed on the child's tab label" msgstr "La cadena mostrada a l'etiqueta de la pestanya del fill" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:695 msgid "Menu label" msgstr "Etiqueta del menú" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:696 msgid "The string displayed in the child's menu entry" msgstr "La cadena mostrada a l'entrada de menú del fill" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:709 msgid "Tab expand" msgstr "Expansió de pestanya" -#: gtk/gtknotebook.c:678 -#, fuzzy -msgid "Whether to expand the child's tab" +#: ../gtk/gtknotebook.c:710 +msgid "Whether to expand the child's tab or not" msgstr "Si s'ha d'ampliar la pestanya dels fills" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:716 msgid "Tab fill" msgstr "Farciment de pestanya" -#: gtk/gtknotebook.c:685 -#, fuzzy -msgid "Whether the child's tab should fill the allocated area" +#: ../gtk/gtknotebook.c:717 +msgid "Whether the child's tab should fill the allocated area or not" msgstr "Si la pestanya del fill hauria d'omplir l'àrea assignada o no" -#: gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:723 msgid "Tab pack type" msgstr "Tipus de paquet de pestanya" -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:730 msgid "Tab reorderable" msgstr "Pestanya reordenable" -#: gtk/gtknotebook.c:699 -#, fuzzy -msgid "Whether the tab is reorderable by user action" +#: ../gtk/gtknotebook.c:731 +msgid "Whether the tab is reorderable by user action or not" msgstr "Si l'usuari pot fer una acció per canviar l'orde de les pestanyes" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:737 msgid "Tab detachable" msgstr "Pestanya separable" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:738 msgid "Whether the tab is detachable" msgstr "Si la pestanya es pot separar" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:753 ../gtk/gtkscrollbar.c:81 msgid "Secondary backward stepper" msgstr "Caminador posterior secundari" -#: gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:754 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Mostra un altre botó amb fletxa cap arrere a l'altre extrem de l'àrea de " "pestanyes" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:769 ../gtk/gtkscrollbar.c:88 msgid "Secondary forward stepper" msgstr "Caminador davanter secundari" -#: gtk/gtknotebook.c:738 +#: ../gtk/gtknotebook.c:770 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Mostra un altre botó amb fletxa cap avant a l'altre extrem de l'àrea de " "pestanyes" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:784 ../gtk/gtkscrollbar.c:67 msgid "Backward stepper" msgstr "Caminador posterior" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:785 ../gtk/gtkscrollbar.c:68 msgid "Display the standard backward arrow button" msgstr "Visualitza el botó de retrocés estàndard" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:799 ../gtk/gtkscrollbar.c:74 msgid "Forward stepper" msgstr "Caminador anterior" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:800 ../gtk/gtkscrollbar.c:75 msgid "Display the standard forward arrow button" msgstr "Visualitza el botó d'avanç estàndard" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:814 msgid "Tab overlap" msgstr "Sobreposat de les pestanyes" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:815 msgid "Size of tab overlap area" msgstr "Mida de l'àrea del sobreposat de les pestanyes" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:830 msgid "Tab curvature" msgstr "Curvatura de la pestanya" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:831 msgid "Size of tab curvature" msgstr "Mida de la curvatura de la pestanya" -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:847 msgid "Arrow spacing" msgstr "Espaiat de la fletxa" -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:848 msgid "Scroll arrow spacing" msgstr "Espaiat de la barra de desplaçament" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 -msgid "Orientation" -msgstr "Orientació" +#: ../gtk/gtkobject.c:370 +msgid "User Data" +msgstr "Dades d'usuari" + +#: ../gtk/gtkobject.c:371 +msgid "Anonymous User Data Pointer" +msgstr "Punter de dades d'usuari anònim" + +#: ../gtk/gtkoptionmenu.c:162 +msgid "The menu of options" +msgstr "El menú d'opcions" + +#: ../gtk/gtkoptionmenu.c:169 +msgid "Size of dropdown indicator" +msgstr "Mida de l'indicador desplegable" + +#: ../gtk/gtkoptionmenu.c:175 +msgid "Spacing around indicator" +msgstr "Espaiat al voltant de l'indicador" # FIXME: no sé ben bé a què es refereix (dpm) -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:48 msgid "The orientation of the orientable" msgstr "L'orientació de l'orientable" -#: gtk/gtkpaned.c:271 +#: ../gtk/gtkpaned.c:242 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" "La posició del separador emmarcat en píxels (0 significa de tot el trajecte " "fins l'esquerra/part superior)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:251 msgid "Position Set" msgstr "Conjunt posició" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:252 msgid "TRUE if the Position property should be used" msgstr "CERT si s'ha d'utilitzar l'atribut Position" -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:258 msgid "Handle Size" msgstr "Mida de la nansa" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:259 msgid "Width of handle" msgstr "Amplada de la nansa" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:275 msgid "Minimal Position" msgstr "Posició mínima" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:276 msgid "Smallest possible value for the \"position\" property" msgstr "El valor més petit possible per a la propietat «position»" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:293 msgid "Maximal Position" msgstr "Posició màxima" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:294 msgid "Largest possible value for the \"position\" property" msgstr "El valor més gran possible per a la propietat «position»" -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:311 msgid "Resize" msgstr "Reajusta" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:312 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "" "Si és CERT, el fill s'expandirà o s'encongirà amb el giny de la subfinestra" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:327 msgid "Shrink" msgstr "Encongeix" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:328 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Si és CERT, el fill es podrà fer més petit del necessari" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:171 ../gtk/gtkstatusicon.c:319 msgid "Embedded" msgstr "Imbricat" -#: gtk/gtkplug.c:172 -#, fuzzy -msgid "Whether the plug is embedded" +#: ../gtk/gtkplug.c:172 +msgid "Whether or not the plug is embedded" msgstr "Si l'endoll és imbricat" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:186 msgid "Socket Window" msgstr "Finestra del sòcol" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:187 msgid "The window of the socket the plug is embedded in" msgstr "La finestra del sòcol en el qual l'endoll està incrustat" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkpreview.c:103 +msgid "" +"Whether the preview widget should take up the entire space it is allocated" +msgstr "" +"Si el giny de visualització prèvia ha d'ocupar tot l'espai que té assignat" + +#: ../gtk/gtkprinter.c:112 msgid "Name of the printer" msgstr "Nom de la impressora" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:118 msgid "Backend" msgstr "Rerefons" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:119 msgid "Backend for the printer" msgstr "Rerefons per a la impressora" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:125 msgid "Is Virtual" msgstr "És virtual" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:126 msgid "FALSE if this represents a real hardware printer" msgstr "FALS si representa una impressora de maquinari real" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:132 msgid "Accepts PDF" msgstr "Accepta PDF" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:133 msgid "TRUE if this printer can accept PDF" msgstr "CERT si esta impressora accepta PDF" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:139 msgid "Accepts PostScript" msgstr "Accepta PostScript" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:140 msgid "TRUE if this printer can accept PostScript" msgstr "CERT si esta impressora accepta PostScript" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:146 msgid "State Message" msgstr "Missatge d'estat" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:147 msgid "String giving the current state of the printer" msgstr "Cadena que informa de l'estat actual de la impressora" -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:153 msgid "Location" msgstr "Ubicació" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:154 msgid "The location of the printer" msgstr "La ubicació de la impressora" -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:161 msgid "The icon name to use for the printer" msgstr "El nom de la icona per a la impressora" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:167 msgid "Job Count" msgstr "Comptatge de treballs" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:168 msgid "Number of jobs queued in the printer" msgstr "El nombre de treballs a la cua de la impressora" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:186 msgid "Paused Printer" msgstr "Impressora en pausa" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:187 msgid "TRUE if this printer is paused" msgstr "CERT si esta impressora està en pausa" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:200 msgid "Accepting Jobs" msgstr "Accepta tasques" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is accepting new jobs" msgstr "CERT si esta impressora accepta tasques noves" -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:123 msgid "Source option" msgstr "Opció de la font" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:124 msgid "The PrinterOption backing this widget" msgstr "La PrinterOption com a rerefons d'este giny" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:117 msgid "Title of the print job" msgstr "Títol del treball d'impressió" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:125 msgid "Printer" msgstr "Impressora" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:126 msgid "Printer to print the job to" msgstr "La impressora on imprimir el treball" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:134 msgid "Settings" msgstr "Paràmetres" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:135 msgid "Printer settings" msgstr "Paràmetres de la impressora" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:143 ../gtk/gtkprintjob.c:144 +#: ../gtk/gtkprintunixdialog.c:302 msgid "Page Setup" msgstr "Configuració de la pàgina" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:152 ../gtk/gtkprintoperation.c:1125 msgid "Track Print Status" msgstr "Segueix l'estat de la impressió" -#: gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:153 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4190,51 +4303,51 @@ msgstr "" "changed» un cop ja s'hagen transmés les dades a la impressora, o al servidor " "d'impressió." -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:997 msgid "Default Page Setup" msgstr "Configuració de la pàgina per defecte" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:998 msgid "The GtkPageSetup used by default" msgstr "El GtkPageSetup utilitzat per defecte" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1016 ../gtk/gtkprintunixdialog.c:320 msgid "Print Settings" msgstr "Paràmetres de la impressora" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1017 ../gtk/gtkprintunixdialog.c:321 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "El GtkPrintSettings utilitzat per inicialitzar el diàleg" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1035 msgid "Job Name" msgstr "Nom del treball" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1036 msgid "A string used for identifying the print job." msgstr "Una cadena per identificar el treball d'impressió." -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1060 msgid "Number of Pages" msgstr "Nombre de pàgines" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1061 msgid "The number of pages in the document." msgstr "El nombre de pàgines del document." -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1082 ../gtk/gtkprintunixdialog.c:310 msgid "Current Page" msgstr "Pàgina actual" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1083 ../gtk/gtkprintunixdialog.c:311 msgid "The current page in the document" msgstr "La pàgina actual en el document" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1104 msgid "Use full page" msgstr "Utilitza la pàgina completa" -#: gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1105 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" @@ -4242,7 +4355,7 @@ msgstr "" "CERT si l'origen del context ha de ser al racó de la pàgina, i no al racó de " "l'àrea representable" -#: gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1126 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4251,162 +4364,220 @@ msgstr "" "d'impressió quan ja s'hagen enviat tots les dades a la impressora o al " "servidor d'impressió." -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1143 msgid "Unit" msgstr "Unitat" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1144 msgid "The unit in which distances can be measured in the context" msgstr "La unitat amb la que es mesuren distàncies en el context" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1161 msgid "Show Dialog" msgstr "Mostra el diàleg" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1162 msgid "TRUE if a progress dialog is shown while printing." msgstr "CERT si el diàleg de progrés es mostra mentre s'imprimeix." # FIXME (josep) -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1185 msgid "Allow Async" msgstr "Permet asíncron" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1186 msgid "TRUE if print process may run asynchronous." msgstr "CERT si el procés d'impressió es pot executar de manera asíncrona." -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1208 ../gtk/gtkprintoperation.c:1209 msgid "Export filename" msgstr "Fitxer a exportar" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1223 msgid "Status" msgstr "Estat" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1224 msgid "The status of the print operation" msgstr "L'estat de l'operació d'impressió" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1244 msgid "Status String" msgstr "Cadena d'estat" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1245 msgid "A human-readable description of the status" msgstr "Descripció de l'estat" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1263 msgid "Custom tab label" msgstr "Etiqueta de pestanya personalitzada" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1264 msgid "Label for the tab containing custom widgets." msgstr "Etiqueta per a la pestanya que continga ginys personalitzats." -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1279 ../gtk/gtkprintunixdialog.c:345 msgid "Support Selection" msgstr "Admet la selecció" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1280 msgid "TRUE if the print operation will support print of selection." msgstr "" "TRUE (cert) si l'operació d'impressió ha d'admetre la impressió de la " "selecció." -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1296 ../gtk/gtkprintunixdialog.c:353 msgid "Has Selection" msgstr "Té selecció" -#: gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1297 #, fuzzy msgid "TRUE if a selection exists." msgstr "TRUE (cert) si existeix una selecció." -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1312 ../gtk/gtkprintunixdialog.c:361 msgid "Embed Page Setup" msgstr "Incrusta la configuració de la pàgina" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1313 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" "TRUE (cert) si els quadres combinats de configuració de pàgina estan " "incrustats en un GtkPrintDialog" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1334 msgid "Number of Pages To Print" msgstr "Nombre de pàgines a imprimir" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1335 msgid "The number of pages that will be printed." msgstr "El nombre de pàgines que s'imprimiran." -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:303 msgid "The GtkPageSetup to use" msgstr "El GtkPageSetup a utilitzar" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:328 msgid "Selected Printer" msgstr "Impressora seleccionada" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:329 msgid "The GtkPrinter which is selected" msgstr "La GtkPrinter seleccionada" -#: gtk/gtkprintunixdialog.c:332 -#, fuzzy -msgid "Manual Capabilities" +#: ../gtk/gtkprintunixdialog.c:336 +msgid "Manual Capabilites" msgstr "Capacitats manuals" -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:337 msgid "Capabilities the application can handle" msgstr "Capacitats que l'aplicació admet" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:346 msgid "Whether the dialog supports selection" msgstr "Si el diàleg admet la selecció" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:354 msgid "Whether the application has a selection" msgstr "Si l'aplicació té una selecció" -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:362 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" "TRUE (cert) si els quadres combinats de la configuració de pàgina estan " "incrustats en un GtkPrintUnixDialog" -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogress.c:103 +msgid "Activity mode" +msgstr "Mode Actiu" + +#: ../gtk/gtkprogress.c:104 +msgid "" +"If TRUE, the GtkProgress is in activity mode, meaning that it signals " +"something is happening, but not how much of the activity is finished. This " +"is used when you're doing something but don't know how long it will take." +msgstr "" +"Si és CERT el GtkProgress és en mode d'activitat, fet que significa que " +"indicarà que passa quelcom, però no quin percentatge de l'activitat ha " +"finalitzat. Això s'utilitzarà quan estigueu realitzant alguna acció que no " +"sabeu quan durarà." + +#: ../gtk/gtkprogress.c:112 +msgid "Show text" +msgstr "Mostra text" + +#: ../gtk/gtkprogress.c:113 +msgid "Whether the progress is shown as text." +msgstr "Si el progrés s'ha de mostrar com a text." + +#: ../gtk/gtkprogressbar.c:119 +msgid "The GtkAdjustment connected to the progress bar (Deprecated)" +msgstr "El GtkAdjustment connectat a la barra de progrés (Obsolet)" + +#: ../gtk/gtkprogressbar.c:135 +msgid "Bar style" +msgstr "Estil de barra" + +#: ../gtk/gtkprogressbar.c:136 +msgid "Specifies the visual style of the bar in percentage mode (Deprecated)" +msgstr "Especifica l'estil visual de la barra en mode percentatge (Obsolet)" + +#: ../gtk/gtkprogressbar.c:144 +msgid "Activity Step" +msgstr "Pas d'activitat" + +#: ../gtk/gtkprogressbar.c:145 +msgid "The increment used for each iteration in activity mode (Deprecated)" +msgstr "L'increment utilitzat per cada iteració en mode actiu (Obsolet)" + +#: ../gtk/gtkprogressbar.c:152 +msgid "Activity Blocks" +msgstr "Blocs d'activitat" + +#: ../gtk/gtkprogressbar.c:153 +msgid "" +"The number of blocks which can fit in the progress bar area in activity mode " +"(Deprecated)" +msgstr "" +"El nombre de blocs que s'adapten a l'àrea de la barra de progrés en mode " +"d'activitat (Obsolet)" + +#: ../gtk/gtkprogressbar.c:160 +msgid "Discrete Blocks" +msgstr "Blocs discrets" + +#: ../gtk/gtkprogressbar.c:161 +msgid "" +"The number of discrete blocks in a progress bar (when shown in the discrete " +"style)" +msgstr "" +"El nombre de blocs discrets en una barra de progrés (quan es mostra en " +"l'estil discret)" + +#: ../gtk/gtkprogressbar.c:168 msgid "Fraction" msgstr "Fracció" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:169 msgid "The fraction of total work that has been completed" msgstr "La fracció de treball total que ha estat completada" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:176 msgid "Pulse Step" msgstr "Pas de la pulsació" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:177 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "" "La fracció de progrés total en què es mourà el bloc de rebot en realitzar el " "moviment polsant" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:185 msgid "Text to be displayed in the progress bar" msgstr "El text que es visualitzarà a la barra de progrés" -#: gtk/gtkprogressbar.c:158 -msgid "Show text" -msgstr "Mostra text" - -#: gtk/gtkprogressbar.c:159 -msgid "Whether the progress is shown as text." -msgstr "Si el progrés s'ha de mostrar com a text." - -#: gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:207 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4414,65 +4585,59 @@ msgstr "" "El lloc preferit on posar punts suspensius a la cadena, si la barra de " "progrés no té prou espai per tota la cadena." -#: gtk/gtkprogressbar.c:188 -#, fuzzy -msgid "X spacing" +#: ../gtk/gtkprogressbar.c:214 +msgid "XSpacing" msgstr "Espaiament X" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:215 msgid "Extra spacing applied to the width of a progress bar." msgstr "Espaiament addicional aplicat a l'amplada de la barra de progrés." -#: gtk/gtkprogressbar.c:194 -#, fuzzy -msgid "Y spacing" +#: ../gtk/gtkprogressbar.c:220 +msgid "YSpacing" msgstr "Espaiament Y" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:221 msgid "Extra spacing applied to the height of a progress bar." msgstr "Espaiament addicional aplicat a l'alçada d'una barra de progrés." -#: gtk/gtkprogressbar.c:208 -#, fuzzy -msgid "Minimum horizontal bar width" +#: ../gtk/gtkprogressbar.c:234 +msgid "Min horizontal bar width" msgstr "Amplada mínima horitzontal de la barra" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:235 msgid "The minimum horizontal width of the progress bar" msgstr "L'amplada mínima horitzontal de la barra de progrés" -#: gtk/gtkprogressbar.c:221 -#, fuzzy -msgid "Minimum horizontal bar height" +#: ../gtk/gtkprogressbar.c:247 +msgid "Min horizontal bar height" msgstr "Alçada mínima horitzontal de la barra" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:248 msgid "Minimum horizontal height of the progress bar" msgstr "L'alçada mínima horitzontal de la barra de progrés" -#: gtk/gtkprogressbar.c:234 -#, fuzzy -msgid "Minimum vertical bar width" +#: ../gtk/gtkprogressbar.c:260 +msgid "Min vertical bar width" msgstr "Amplada mínima vertical de la barra" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:261 msgid "The minimum vertical width of the progress bar" msgstr "L'amplada mínima vertical de la barra de progrés" -#: gtk/gtkprogressbar.c:247 -#, fuzzy -msgid "Minimum vertical bar height" +#: ../gtk/gtkprogressbar.c:273 +msgid "Min vertical bar height" msgstr "Alçada mínima vertical de la barra" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:274 msgid "The minimum vertical height of the progress bar" msgstr "L'alçada mínima vertical de la barra de progrés" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:111 msgid "The value" msgstr "El valor" -#: gtk/gtkradioaction.c:119 +#: ../gtk/gtkradioaction.c:112 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." @@ -4480,20 +4645,15 @@ msgstr "" "el valor que retorna gtk_radio_action_get_current_value() quan esta acció és " "l'acció activa del seu grup." -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 -msgid "Group" -msgstr "Grup" - -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:129 msgid "The radio action whose group this action belongs to." msgstr "L'acció de radi al grup de la qual pertany esta acció." -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:144 msgid "The current value" msgstr "El valor actual" -#: gtk/gtkradioaction.c:152 +#: ../gtk/gtkradioaction.c:145 msgid "" "The value property of the currently active member of the group to which this " "action belongs." @@ -4501,41 +4661,45 @@ msgstr "" "El valor de la propietat del membre actualment actiu del grup al qual " "pertany esta acció." -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:83 msgid "The radio button whose group this widget belongs to." msgstr "El botó de grup al grup del qual pertany este giny." -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:354 msgid "The radio menu item whose group this widget belongs to." msgstr "L'element del botó de grup el grup del qual pertany este giny." # http://en.wikipedia.org/wiki/Radio_button -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "El botó d'opció de l'eina al grup del qual pertany este botó." -#: gtk/gtkrange.c:410 +#: ../gtk/gtkrange.c:366 msgid "Update policy" msgstr "Política d'actualització" -#: gtk/gtkrange.c:411 +#: ../gtk/gtkrange.c:367 msgid "How the range should be updated on the screen" msgstr "Com s'ha d'actualitzar el rang a la pantalla" -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:376 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "El GtkAdjustment que conté el valor actual d'este rang d'objectes" -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:383 +msgid "Inverted" +msgstr "Invertit" + +#: ../gtk/gtkrange.c:384 msgid "Invert direction slider moves to increase range value" msgstr "" "El lliscador de direcció invertida es mou per incrementar el valor del rang" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:391 msgid "Lower stepper sensitivity" msgstr "Sensibilitat del desplaçador inferior" -#: gtk/gtkrange.c:436 +#: ../gtk/gtkrange.c:392 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4543,11 +4707,11 @@ msgstr "" "La directiva de sensibilitat del desplaçador que apunta a la part de baix de " "l'ajustament" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:400 msgid "Upper stepper sensitivity" msgstr "Sensibilitat del desplaçador superior" -#: gtk/gtkrange.c:445 +#: ../gtk/gtkrange.c:401 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4555,89 +4719,113 @@ msgstr "" "La directiva de sensibilitat del desplaçador que apunta a la part de dalt de " "l'ajustament" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:418 msgid "Show Fill Level" msgstr "Mostra el nivell d'emplenat" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:419 msgid "Whether to display a fill level indicator graphics on trough." msgstr "Si s'ha de mostrar un gràfic de nivell d'emplenat a la regata." -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:435 msgid "Restrict to Fill Level" msgstr "Restringeix al nivell d'emplenat" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:436 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Si s'ha de restringir el límit superior al nivell d'emplenat." -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:451 msgid "Fill Level" msgstr "Nivell d'emplenat" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:452 msgid "The fill level." msgstr "El nivell d'emplenat." -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:460 msgid "Slider Width" msgstr "Amplada del lliscador" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:461 msgid "Width of scrollbar or scale thumb" msgstr "Amplada de la barra de desplaçament o del lliscador d'escalat" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:468 msgid "Trough Border" msgstr "Vora de la regata" -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:469 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Espaiat entre el lliscador i la separació de la vora exterior" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:476 msgid "Stepper Size" msgstr "Mida dels desplaçadors" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:477 msgid "Length of step buttons at ends" msgstr "Longitud dels botons de desplaçament als extrems" -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:492 msgid "Stepper Spacing" msgstr "Espaiament dels desplaçadors" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:493 msgid "Spacing between step buttons and thumb" msgstr "Espaiament entre els botons de pas i el polze" -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:500 msgid "Arrow X Displacement" msgstr "Desplaçament X de la fletxa" -#: gtk/gtkrange.c:545 +#: ../gtk/gtkrange.c:501 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "A quina distància s'ha de moure la fletxa en la direcció X quan es prem el " "botó" -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:508 msgid "Arrow Y Displacement" msgstr "Desplaçament Y de la fletxa" -#: gtk/gtkrange.c:553 +#: ../gtk/gtkrange.c:509 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "A quina distància s'ha de moure la fletxa en la direcció Y quan es prem el " "botó" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:525 +msgid "Draw slider ACTIVE during drag" +msgstr "Dibuixa el lliscador ACTIU en arrossegar" + +#: ../gtk/gtkrange.c:526 +msgid "" +"With this option set to TRUE, sliders will be drawn ACTIVE and with shadow " +"IN while they are dragged" +msgstr "" +"Si s'estableix esta opció com a CERTA, els lliscadors es dibuixaran com a " +"ACTIUS amb ombra a DINS quan s'arrosseguin" + +#: ../gtk/gtkrange.c:542 +msgid "Trough Side Details" +msgstr "Detalls de les bandes de la regata" + +#: ../gtk/gtkrange.c:543 +msgid "" +"When TRUE, the parts of the trough on the two sides of the slider are drawn " +"with different details" +msgstr "" +"Quan siga CERT, les parts de la regata de cada banda del lliscador es " +"dibuixaran amb detalls diferents" + +#: ../gtk/gtkrange.c:559 msgid "Trough Under Steppers" msgstr "Regata sota els lliscadors" -#: gtk/gtkrange.c:572 +#: ../gtk/gtkrange.c:560 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4645,261 +4833,280 @@ msgstr "" "Si s'ha de dibuixar la regata per a tot l'abast o bé s'han d'excloure els " "lliscadors i l'espaiament" -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:573 msgid "Arrow scaling" msgstr "Escalat de la fletxa" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:574 msgid "Arrow scaling with regard to scroll button size" msgstr "" "L'escalat de la fletxa en referència a la mida del botó de desplaçament" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrange.c:590 +#, fuzzy +msgid "Stepper Position Details" +msgstr "Conjunt posició" + +#: ../gtk/gtkrange.c:591 +msgid "" +"When TRUE, the detail string for rendering the steppers is suffixed with " +"position information" +msgstr "" + +#: ../gtk/gtkrecentaction.c:616 ../gtk/gtkrecentchoosermenu.c:227 msgid "Show Numbers" msgstr "Mostra els nombres" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:617 ../gtk/gtkrecentchoosermenu.c:228 msgid "Whether the items should be displayed with a number" msgstr "Si els elements s'han de mostrar amb un nombre" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "Gestor recent" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "L'objecte RecentManager a utilitzar" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "Mostra privats" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "Si s'han de mostrar els elements privats" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "Mostra els indicadors de funció" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "Si hi ha d'haver un indicador de funció per a l'element" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "Mostra icones" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "Si hi ha d'haver una icona prop de l'element" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "Mostra els que no es troben" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "Si s'han de mostrar els elements que apuntin a recursos no disponibles" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "Si s'ha permetre que es puguen seleccionar diversos elements" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "Només locals" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "" "Si els recursos seleccionats s'haurien de limitar a fitxers locals: URI" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 ../gtk/gtkrecentmanager.c:234 msgid "Limit" msgstr "Límit" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "El nombre màxim d'elements a mostrar" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "Tipus d'ordenació" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "L'orde d'ordenació dels elements seleccionats" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "El filtre actual per seleccionar quins fitxers es mostraran" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:215 msgid "The full path to the file to be used to store and read the list" msgstr "El camí sencer al fitxer a utilitzar per alçar i llegir la llista" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:235 +msgid "" +"The maximum number of items to be returned by gtk_recent_manager_get_items()" +msgstr "" +"El nombre màxim d'elements que gtk_recent_manager_get_items() ha de tornar" + +#: ../gtk/gtkrecentmanager.c:251 msgid "The size of the recently used resources list" msgstr "La mida de la llista de recursos utilitzada recentment" # NOTA: hem posat "superior" més endavant per a "Upper", # es refereix al "límit" (josep) -#: gtk/gtkruler.c:138 +#: ../gtk/gtkruler.c:128 msgid "Lower" msgstr "Inferior" -#: gtk/gtkruler.c:139 +#: ../gtk/gtkruler.c:129 msgid "Lower limit of ruler" msgstr "Límit inferior de la regla" -#: gtk/gtkruler.c:148 +#: ../gtk/gtkruler.c:138 msgid "Upper" msgstr "Superior" -#: gtk/gtkruler.c:149 +#: ../gtk/gtkruler.c:139 msgid "Upper limit of ruler" msgstr "Límit superior de la regla" -#: gtk/gtkruler.c:159 +#: ../gtk/gtkruler.c:149 msgid "Position of mark on the ruler" msgstr "Posició de la marca a la regla" -#: gtk/gtkruler.c:168 +#: ../gtk/gtkruler.c:158 msgid "Max Size" msgstr "Mida màxima" -#: gtk/gtkruler.c:169 +#: ../gtk/gtkruler.c:159 msgid "Maximum size of the ruler" msgstr "Mida màxima del regle" -#: gtk/gtkruler.c:184 +#: ../gtk/gtkruler.c:174 msgid "Metric" msgstr "Mètrica" -#: gtk/gtkruler.c:185 +#: ../gtk/gtkruler.c:175 msgid "The metric used for the ruler" msgstr "La mètrica utilitzada per al regle" -#: gtk/gtkscalebutton.c:221 -msgid "The value of the scale" -msgstr "El valor de l'escalat" - -#: gtk/gtkscalebutton.c:231 -msgid "The icon size" -msgstr "La mida de la icona" - -#: gtk/gtkscalebutton.c:240 -msgid "" -"The GtkAdjustment that contains the current value of this scale button object" -msgstr "" -"El GtkAdjustment que conté el valor actual d'este objecte de botó d'escalat" - -#: gtk/gtkscalebutton.c:268 -msgid "Icons" -msgstr "Icones" - -#: gtk/gtkscalebutton.c:269 -msgid "List of icon names" -msgstr "Llista de noms d'icona" - -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:219 msgid "The number of decimal places that are displayed in the value" msgstr "El nombre de decimals mostrats en el valor" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:228 msgid "Draw Value" msgstr "Valor del dibuix" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:229 msgid "Whether the current value is displayed as a string next to the slider" msgstr "" "Si el valor actual es mostra com una cadena de text al costat de la barra de " "desplaçament" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:236 msgid "Value Position" msgstr "Posició del valor" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:237 msgid "The position in which the current value is displayed" msgstr "La posició on es mostrarà el valor actual" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:244 msgid "Slider Length" msgstr "Llargària del lliscador" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:245 msgid "Length of scale's slider" msgstr "Llargària del lliscador de l'escala" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:253 msgid "Value spacing" msgstr "Espaiat del valor" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:254 msgid "Space between value text and the slider/trough area" msgstr "Espai entre el text del valor i l'àrea del lliscador/canal" -#: gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscalebutton.c:207 +msgid "The value of the scale" +msgstr "El valor de l'escalat" + +#: ../gtk/gtkscalebutton.c:217 +msgid "The icon size" +msgstr "La mida de la icona" + +#: ../gtk/gtkscalebutton.c:226 +msgid "" +"The GtkAdjustment that contains the current value of this scale button object" +msgstr "" +"El GtkAdjustment que conté el valor actual d'este objecte de botó d'escalat" + +#: ../gtk/gtkscalebutton.c:254 +msgid "Icons" +msgstr "Icones" + +#: ../gtk/gtkscalebutton.c:255 +msgid "List of icon names" +msgstr "Llista de noms d'icona" + +#: ../gtk/gtkscrollbar.c:51 msgid "Minimum Slider Length" msgstr "Llargària mínima del lliscador" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:52 msgid "Minimum length of scrollbar slider" msgstr "Llargària mínima de la barra de desplaçament" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:60 msgid "Fixed slider size" msgstr "Mida del lliscador fixada" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:61 msgid "Don't change slider size, just lock it to the minimum length" msgstr "No canvies la mida del lliscador, mira la llargària mínima" -#: gtk/gtkscrollbar.c:81 +#: ../gtk/gtkscrollbar.c:82 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" "Mostra un segon botó de desplaçament arrere a l'altra banda de la barra de " "desplaçament" -#: gtk/gtkscrollbar.c:88 +#: ../gtk/gtkscrollbar.c:89 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" "Mostra un segon botó de desplaçament cap avant a l'altra banda de la barra " "de desplaçament" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:218 ../gtk/gtktext.c:545 +#: ../gtk/gtktreeview.c:575 msgid "Horizontal Adjustment" msgstr "Ajust horitzontal" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:225 ../gtk/gtktext.c:553 +#: ../gtk/gtktreeview.c:583 msgid "Vertical Adjustment" msgstr "Ajust vertical" -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:232 msgid "Horizontal Scrollbar Policy" msgstr "Política de la barra de desplaçament horitzontal" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:233 msgid "When the horizontal scrollbar is displayed" msgstr "Quan la barra de desplaçament horitzontal es mostra" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:240 msgid "Vertical Scrollbar Policy" msgstr "Política de la barra de desplaçament vertical" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:241 msgid "When the vertical scrollbar is displayed" msgstr "Quan es mostra la barra de desplaçament vertical" -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:249 msgid "Window Placement" msgstr "Emplaçament de la finestra" -#: gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:250 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4907,11 +5114,11 @@ msgstr "" "Si els continguts se situen respecte de les barres de desplaçament. Esta " "propietat només té efecte si «windows-placement-set» és CERT." -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:267 msgid "Window Placement Set" msgstr "Conjunt d'emplaçament de la finestra" -#: gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:268 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4919,39 +5126,39 @@ msgstr "" "Si s'ha d'utilitzar «window-placement» per determinar la situació dels " "continguts de la finestra respecte de les barres de desplaçament." -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:274 msgid "Shadow Type" msgstr "Tipus d'ombra" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:275 msgid "Style of bevel around the contents" msgstr "Estil del bisell que envolta els continguts" -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:289 msgid "Scrollbars within bevel" msgstr "Barres de desplaçament dins del bisell" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:290 msgid "Place scrollbars within the scrolled window's bevel" msgstr "" "Situa les barres de desplaçament dins del bisell de la finestra amb " "desplaçament" -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Scrollbar spacing" msgstr "Espaiat de barra de desplaçament" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:297 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "" "Nombre de píxels entre les barres de desplaçament i la finestra amb " "desplaçament" -#: gtk/gtkscrolledwindow.c:337 +#: ../gtk/gtkscrolledwindow.c:312 msgid "Scrolled Window Placement" msgstr "Situació de la finestra amb desplaçament" -#: gtk/gtkscrolledwindow.c:338 +#: ../gtk/gtkscrolledwindow.c:313 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -4960,19 +5167,19 @@ msgstr "" "barra de desplaçament, si no és que se substitueix per la posició de la " "pròpia finestra." -#: gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkseparatortoolitem.c:105 msgid "Draw" msgstr "Dibuixa" -#: gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:106 msgid "Whether the separator is drawn, or just blank" msgstr "Si es dibuixa el separador o es deixa en blanc" -#: gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:224 msgid "Double Click Time" msgstr "Temps del doble clic" -#: gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:225 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4980,11 +5187,11 @@ msgstr "" "Temps màxim permés entre dos clics perquè es considerin un doble clic (en " "mil·lisegons)" -#: gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:232 msgid "Double Click Distance" msgstr "Distància de doble clic" -#: gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:233 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4992,35 +5199,35 @@ msgstr "" "Distància màxima permesa entre dos clics perquè es considerin un doble clic " "(en píxels)" -#: gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:249 msgid "Cursor Blink" msgstr "Parpelleig del cursor" -#: gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:250 msgid "Whether the cursor should blink" msgstr "Si el cursor hauria de parpellejar" -#: gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:257 msgid "Cursor Blink Time" msgstr "Temps de parpelleig del cursor" -#: gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:258 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Llargària del cicle de parpelleig del cursor, en mil·lisegons" -#: gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:277 msgid "Cursor Blink Timeout" msgstr "Temps de parpelleig del cursor" -#: gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:278 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Temps, en segons, al cap del qual el cursor deixarà de parpallejar" -#: gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:285 msgid "Split Cursor" msgstr "Cursor partit" -#: gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:286 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -5028,85 +5235,85 @@ msgstr "" "Si s'han de mostrar dos cursors en text mixt d'esquerra a dreta i de dreta a " "esquerra" -#: gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:293 msgid "Theme Name" msgstr "Nom del tema" -#: gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:294 msgid "Name of theme RC file to load" msgstr "Nom del fitxer del tema RC a carregar" -#: gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:302 msgid "Icon Theme Name" msgstr "Nom del tema d'icones" -#: gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:303 msgid "Name of icon theme to use" msgstr "Nom del tema d'icones a utilitzar" -#: gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:311 msgid "Fallback Icon Theme Name" msgstr "Nom del tema d'icones alternatiu" -#: gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:312 msgid "Name of a icon theme to fall back to" msgstr "Nom del tema d'icones que es farà servir com a alternativa" # FIXME -#: gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:320 msgid "Key Theme Name" msgstr "Nom clau del Tema" # FIXME -#: gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:321 msgid "Name of key theme RC file to load" msgstr "Nom clau del fitxer de tema RC a carregar" -#: gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:329 msgid "Menu bar accelerator" msgstr "Accelerador de la barra de menú" -#: gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:330 msgid "Keybinding to activate the menu bar" msgstr "Vinculació de tecla per activar la barra de menú" -#: gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:338 msgid "Drag threshold" msgstr "Llindar de l'arrossegament" -#: gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:339 msgid "Number of pixels the cursor can move before dragging" msgstr "Nombre de píxels que el cursor pot moure's abans d'avançar" -#: gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:347 msgid "Font Name" msgstr "Nom del tipus de lletra" -#: gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:348 msgid "Name of default font to use" msgstr "Nom per defecte del tipus de lletra a utilitzar" -#: gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:370 msgid "Icon Sizes" msgstr "Mides d'icona" -#: gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:371 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Llista de mides d'icona (gtk-menu=16,16:gtk-button=20,20..." -#: gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:379 msgid "GTK Modules" msgstr "Mòduls GTK" -#: gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:380 msgid "List of currently active GTK modules" msgstr "Llista de mòduls GTK actualment actius" -#: gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:389 msgid "Xft Antialias" msgstr "Suavitzat de vores Xft" -#: gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:390 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Si s'ha de suavitzar les vores dels tipus de lletra Xft; 0=no, 1=sí, " @@ -5128,75 +5335,75 @@ msgstr "" # CAIRO_HINT_STYLE_MEDIUM Hint outlines with medium strength giving a # compromise between fidelity to the original shapes and contrast # CAIRO_HINT_STYLE_FULL Hint outlines to maximize contrast -#: gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:399 msgid "Xft Hinting" msgstr "Transforma el contorn Xft" -#: gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:400 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Si s'ha de transformar el contorn dels tipus de lletra Xft; 0=no, 1=sí, " "-1=predeterminat" -#: gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:409 msgid "Xft Hint Style" msgstr "Estil de transformació Xft" -#: gtk/gtksettings.c:411 +#: ../gtk/gtksettings.c:410 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "Quin grau de transformació a emprar; hintnone, hintslight, hintmedium, o " "hintfull" -#: gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:419 msgid "Xft RGBA" msgstr "RGBA de Xft" # FIXME: suposo que "none, rgb..." no s'ha de traduir (josep) -#: gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:420 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Tipus d'antidentat de subpíxels; none, rgb, bgr, vrgb, vbgr" -#: gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:429 msgid "Xft DPI" msgstr "DPI de Xft" -#: gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:430 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" "Resolució per a Xft, en 1024 * punts/polzada. -1 per al valor per defecte" -#: gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:439 msgid "Cursor theme name" msgstr "Nom del tema del cursor" -#: gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:440 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "" "Nom del tema de cursors a utilitzar, o NULL per utilitzar el predeterminat" -#: gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:448 msgid "Cursor theme size" msgstr "Mida del tema del cursor" -#: gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:449 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Mida per als cursors, o 0 per a la predeterminada" -#: gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:459 msgid "Alternative button order" msgstr "Orde alternatiu de botons" -#: gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:460 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "Si els botons en els diàlegs haurien d'utilitzar l'orde alternatiu" -#: gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:477 msgid "Alternative sort indicator direction" msgstr "Direcció alternativa dels indicadors d'ordenació" -#: gtk/gtksettings.c:479 +#: ../gtk/gtksettings.c:478 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5205,11 +5412,11 @@ msgstr "" "i en arbre s'ha d'invertir respecte al valor predeterminat (on cap avall " "significa ascendent)" -#: gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:486 msgid "Show the 'Input Methods' menu" msgstr "Mosta el menú de «Mètodes d'entrada»" -#: gtk/gtksettings.c:488 +#: ../gtk/gtksettings.c:487 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5217,11 +5424,11 @@ msgstr "" "Si els menús de context de les entrades i visualitzacions de text han " "d'oferir canviar el mètode d'entrada" -#: gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:495 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Mostra el meú «Insereix caràcters de control Unicode»" -#: gtk/gtksettings.c:497 +#: ../gtk/gtksettings.c:496 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5229,255 +5436,255 @@ msgstr "" "Si els menús de context de les entrades i visualitzacions de text han " "d'oferir entrar caràcters de control" -#: gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:504 msgid "Start timeout" msgstr "Temps excedit d'inici" -#: gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:505 msgid "Starting value for timeouts, when button is pressed" msgstr "Valor d'inici per als temps excedits quan es prem un botó" -#: gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:514 msgid "Repeat timeout" msgstr "Temps excedit per a la repetició" -#: gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:515 msgid "Repeat value for timeouts, when button is pressed" msgstr "Valor de repetició per als temps excedits quan es prem un botó" # FIXME: això no hi ha qui ho entengui (dpm) -#: gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:524 msgid "Expand timeout" msgstr "Temps excedit per a l'expansió" -#: gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:525 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" "Valor d'expansió per als temps excedits quan un giny expandeix una regió nova" -#: gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:560 msgid "Color scheme" msgstr "Esquema de color" -#: gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:561 msgid "A palette of named colors for use in themes" msgstr "Una paleta de colors amb nom per utilitzar en temes" -#: gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:570 msgid "Enable Animations" msgstr "Habilita les animacions" -#: gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:571 msgid "Whether to enable toolkit-wide animations." msgstr "Si s'han d'habilitar animacions per als jocs d'eines." -#: gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:589 msgid "Enable Touchscreen Mode" msgstr "Habilita el mode de pantalla tàctil" -#: gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:590 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" "Si és CERT, no es notificaran esdeveniments de moviment a esta pantalla" -#: gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:607 msgid "Tooltip timeout" msgstr "Temps d'espera dels indicadors de funció" -#: gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:608 msgid "Timeout before tooltip is shown" msgstr "Temps d'espera abans de mostrar un indicador de funció" -#: gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:633 msgid "Tooltip browse timeout" msgstr "Temps d'espera dels indicadors de funció en la navegació" -#: gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:634 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" "Temps d'espera abans de mostrar un indicador de funció amb el mode de " "navegació activat" -#: gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:655 msgid "Tooltip browse mode timeout" msgstr "Temps d'espera dels indicadors de funció en mode de navegació" -#: gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:656 msgid "Timeout after which browse mode is disabled" msgstr "Temps d'espera després del qual s'inhabilitarà el mode de navegació" -#: gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:675 msgid "Keynav Cursor Only" msgstr "Navegació només amb tecles de cursor" -#: gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:676 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" "Si és CERT, només es podran utilitzar les tecles de cursor per navegar pels " "ginys" -#: gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:693 msgid "Keynav Wrap Around" msgstr "La navegació per teclat torna a l'inici" -#: gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:694 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "" "Si s'ha de tornar a l'inici en arribar al final i a la inversa en navegar " "pels ginys amb el teclat" -#: gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:714 msgid "Error Bell" msgstr "Timbre d'error" -#: gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:715 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" "Si és CERT, els errors de la navegació amb el teclat i altres causaran " "l'emissió d'un to sonor" -#: gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:732 msgid "Color Hash" msgstr "Hash de color" -#: gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:733 msgid "A hash table representation of the color scheme." msgstr "Una taula hash que representa l'esquema de color." -#: gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:741 msgid "Default file chooser backend" msgstr "Rerefons predeterminat del selector de fitxers" -#: gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:742 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Nom del rerefons del GtkFileChooser predeterminat" -#: gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:759 msgid "Default print backend" msgstr "Rerefons predeterminat per a la impressió" -#: gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:760 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Llista de rerefons GtkPrintBackend a utilitzar per defecte" -#: gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:783 msgid "Default command to run when displaying a print preview" msgstr "" "Orde que s'ha d'executar per defecte quan es mostre la previsualització de " "la impressió" -#: gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:784 msgid "Command to run when displaying a print preview" msgstr "Orde a executar en mostrar una previsualització d'impressió" -#: gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:800 msgid "Enable Mnemonics" msgstr "Habilita els mnemònics" -#: gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:801 msgid "Whether labels should have mnemonics" msgstr "Si les etiquetes haurien de tindre mnemònics" -#: gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:817 msgid "Enable Accelerators" msgstr "Habilita els acceleradors" -#: gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:818 msgid "Whether menu items should have accelerators" msgstr "Si els menús han de tindre acceleradors" -#: gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:835 msgid "Recent Files Limit" msgstr "Límit de fitxers recents" -#: gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:836 msgid "Number of recently used files" msgstr "Nombre de fitxers utilitzats recentment" -#: gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:854 msgid "Default IM module" msgstr "Mòdul de mètodes d'entrada predeterminat" -#: gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:855 msgid "Which IM module should be used by default" msgstr "" "Quin mòdul de mètodes d'entrada s'ha d'utilitzar de manera predeterminada" -#: gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:873 msgid "Recent Files Max Age" msgstr "Antiguitat màxima dels fitxers recents" -#: gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:874 msgid "Maximum age of recently used files, in days" msgstr "Antiguitat màxima dels fitxers utilitzats recentment, en dies" -#: gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:883 msgid "Fontconfig configuration timestamp" msgstr "Marca horària de la configuració de la fontconfig" -#: gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:884 msgid "Timestamp of current fontconfig configuration" msgstr "Marca horària de la configuració actual de la fontconfig" -#: gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:906 msgid "Sound Theme Name" msgstr "Nom del tema de so" -#: gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:907 msgid "XDG sound theme name" msgstr "Nom del tema de so XDG" # FIXME (dpm) #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:929 msgid "Audible Input Feedback" msgstr "Sons en resposta a l'activitat de l'usuari" -#: gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:930 msgid "Whether to play event sounds as feedback to user input" msgstr "" "Si s'han de reproduir sons per als esdeveniments com a reacció a l'activitat " "de l'usuari" -#: gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:951 msgid "Enable Event Sounds" msgstr "Habilita els sons dels esdeveniments" -#: gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:952 msgid "Whether to play any event sounds at all" msgstr "Si s'han de reproduir sons per als esdeveniments" -#: gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:967 msgid "Enable Tooltips" msgstr "Habilita els indicadors de funció" -#: gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:968 msgid "Whether tooltips should be shown on widgets" msgstr "Si s'han de mostrar els indicadors de funció en els ginys" -#: gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:981 msgid "Toolbar style" msgstr "Estil de barra d'eines" -#: gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:982 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Si les barres d'eines tenen només text, text i icones, només icones, etc." -#: gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:996 msgid "Toolbar Icon Size" msgstr "Mida de les icones de la barra d'eines" -#: gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:997 msgid "The size of icons in default toolbars." msgstr "Mida de les icones a les barres d'eines predeterminades." -#: gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1014 msgid "Auto Mnemonics" msgstr "Mnemònics automàtics" -#: gtk/gtksettings.c:1016 +#: ../gtk/gtksettings.c:1015 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5485,21 +5692,11 @@ msgstr "" "Si s'han de mostrar i ocultar automàticament els mnemònics en prémer el seu " "activador." -#: gtk/gtksettings.c:1041 -#, fuzzy -msgid "Application prefers a dark theme" -msgstr "Aplicació dibuixable" - -#: gtk/gtksettings.c:1042 -#, fuzzy -msgid "Whether the application prefers to have a dark theme." -msgstr "Si l'aplicació té una selecció" - -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksizegroup.c:301 msgid "Mode" msgstr "Mode" -#: gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:302 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" @@ -5507,26 +5704,30 @@ msgstr "" "Les direccions en les quals el grup de mides afecta les mides sol·licitades " "dels seus ginys d'elements" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:318 msgid "Ignore hidden" msgstr "Ignora els amagats" -#: gtk/gtksizegroup.c:359 +#: ../gtk/gtksizegroup.c:319 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" "Si és CERT, els ginys no mapats s'ignoraran quan es determini la mida del " "grup" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:209 +msgid "The adjustment that holds the value of the spinbutton" +msgstr "L'ajustament que reté el valor del botó de gir" + +#: ../gtk/gtkspinbutton.c:216 msgid "Climb Rate" msgstr "Taxa de pujada" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:236 msgid "Snap to Ticks" msgstr "Desplaça a les marques" -#: gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:237 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5534,50 +5735,50 @@ msgstr "" "Si els valors erronis es canvien automàticament a l'increment de pas més " "proper d'un botó de rotació" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:244 msgid "Numeric" msgstr "Numèric" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:245 msgid "Whether non-numeric characters should be ignored" msgstr "Si els caràcters no numèrics s'haurien d'ignorar" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:252 msgid "Wrap" msgstr "Ajust" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:253 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "Si un botó de rotació ha d'ajustar-se sobre els seus límits" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:260 msgid "Update Policy" msgstr "Actualitza la política" -#: gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:261 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Si el botó de rotació s'hauria d'actualitzar sempre, o només quan el valor " "és legal" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:270 msgid "Reads the current value, or sets a new value" msgstr "Llig el valor actual, o fixa'n un de nou" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:279 msgid "Style of bevel around the spin button" msgstr "Estil del bisell al voltant del botó de rotació" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:129 msgid "Whether the spinner is active" msgstr "Si l'indicador rotatiu és actiu" -#: gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:143 msgid "Number of steps" msgstr "Nombre de passos" -#: gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:144 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" @@ -5587,162 +5788,168 @@ msgstr "" "una revolució. L'animació completarà un cicle en un segon de manera " "predeterminada (vegeu #GtkSpinner:cycle-duration)." -#: gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:159 msgid "Animation duration" msgstr "Durada de l'animació" -#: gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:160 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "" "El temps, en mil·lisegons, que ha de trigar l'indicador rotatiu en realitzar " "una revolució completa" -#: gtk/gtkstatusbar.c:199 +#: ../gtk/gtkstatusbar.c:148 msgid "Has Resize Grip" msgstr "Té un agafador per canviar la mida" -#: gtk/gtkstatusbar.c:200 +#: ../gtk/gtkstatusbar.c:149 msgid "Whether the statusbar has a grip for resizing the toplevel" msgstr "" "Si la barra d'estat té un agafador per canviar la mida del nivell superior" -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:194 msgid "Style of bevel around the statusbar text" msgstr "Estil del bisell que envolta el text de la barra d'estat" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:271 msgid "The size of the icon" msgstr "La mida de la icona" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:281 msgid "The screen where this status icon will be displayed" msgstr "La pantalla on es mostrarà esta icona d'estat" -#: gtk/gtkstatusicon.c:288 -#, fuzzy -msgid "Whether the status icon is visible" +#: ../gtk/gtkstatusicon.c:295 +msgid "Blinking" +msgstr "Pampalluguejant" + +#: ../gtk/gtkstatusicon.c:296 +msgid "Whether or not the status icon is blinking" +msgstr "Si la icona d'estat està pampalluguejant" + +#: ../gtk/gtkstatusicon.c:304 +msgid "Whether or not the status icon is visible" msgstr "Si la icona d'estat és visible" -#: gtk/gtkstatusicon.c:304 -#, fuzzy -msgid "Whether the status icon is embedded" +#: ../gtk/gtkstatusicon.c:320 +msgid "Whether or not the status icon is embedded" msgstr "Si la icona d'estat és imbricada" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:336 ../gtk/gtktrayicon-x11.c:111 msgid "The orientation of the tray" msgstr "L'orientació de la safata" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:363 ../gtk/gtkwidget.c:703 msgid "Has tooltip" msgstr "Té indicador de funció" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:364 msgid "Whether this tray icon has a tooltip" msgstr "Si esta icona de la safata té un indicador de funció" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:724 msgid "Tooltip Text" msgstr "Text de l'indicador de funció" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:390 ../gtk/gtkwidget.c:725 ../gtk/gtkwidget.c:746 msgid "The contents of the tooltip for this widget" msgstr "Els continguts de l'indicador de funció d'este giny" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:413 ../gtk/gtkwidget.c:745 msgid "Tooltip markup" msgstr "Etiquetatge de l'indicador de funció" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:414 msgid "The contents of the tooltip for this tray icon" msgstr "El contingut de l'indicador de funció d'esta icona de la safata" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:432 msgid "The title of this tray icon" msgstr "El títol d'esta icona de l'àrea de notificació" -#: gtk/gtktable.c:148 +#: ../gtk/gtktable.c:129 msgid "Rows" msgstr "Files" -#: gtk/gtktable.c:149 +#: ../gtk/gtktable.c:130 msgid "The number of rows in the table" msgstr "El nombre de files a la taula" -#: gtk/gtktable.c:157 +#: ../gtk/gtktable.c:138 msgid "Columns" msgstr "Columnes" -#: gtk/gtktable.c:158 +#: ../gtk/gtktable.c:139 msgid "The number of columns in the table" msgstr "El nombre de columnes a la taula" -#: gtk/gtktable.c:166 +#: ../gtk/gtktable.c:147 msgid "Row spacing" msgstr "Espaiat de files" -#: gtk/gtktable.c:167 +#: ../gtk/gtktable.c:148 msgid "The amount of space between two consecutive rows" msgstr "La quantitat d'espai entre dues files consecutives" -#: gtk/gtktable.c:175 +#: ../gtk/gtktable.c:156 msgid "Column spacing" msgstr "Espaiat de columnes" -#: gtk/gtktable.c:176 +#: ../gtk/gtktable.c:157 msgid "The amount of space between two consecutive columns" msgstr "La quantitat d'espai entre dues columnes consecutives" -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:166 msgid "If TRUE, the table cells are all the same width/height" msgstr "Si és CERT les cel·les de la taula tindran la mateixa amplada/alçada" -#: gtk/gtktable.c:192 +#: ../gtk/gtktable.c:173 msgid "Left attachment" msgstr "Adjunt esquerre" -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:180 msgid "Right attachment" msgstr "Adjunt dret" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:181 msgid "The column number to attach the right side of a child widget to" msgstr "" "El número de la columna on s'ha d'adjuntar el costat dret del giny fill" -#: gtk/gtktable.c:206 +#: ../gtk/gtktable.c:187 msgid "Top attachment" msgstr "Fitxer adjunt superior" -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:188 msgid "The row number to attach the top of a child widget to" msgstr "El número de la fila on adjuntar la part superior del giny fill" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:194 msgid "Bottom attachment" msgstr "Fitxer adjunt inferior" -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:201 msgid "Horizontal options" msgstr "Opcions horitzontals" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:202 msgid "Options specifying the horizontal behaviour of the child" msgstr "Opcions que especifiquen el comportament horitzontal del fill" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:208 msgid "Vertical options" msgstr "Opcions verticals" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:209 msgid "Options specifying the vertical behaviour of the child" msgstr "Opcions que especifiquen el comportament vertical del fill" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:215 msgid "Horizontal padding" msgstr "Separació horitzontal" -#: gtk/gtktable.c:235 +#: ../gtk/gtktable.c:216 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" @@ -5750,11 +5957,11 @@ msgstr "" "L'espai addicional que es posarà entre el fill i els seus veïns a l'esquerra " "i dreta, en píxels" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:222 msgid "Vertical padding" msgstr "Separació vertical" -#: gtk/gtktable.c:242 +#: ../gtk/gtktable.c:223 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" @@ -5762,31 +5969,55 @@ msgstr "" "Espai addicional que es posarà entre el fill i els seus veïns de dalt i de " "baix, en píxels" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktext.c:546 +msgid "Horizontal adjustment for the text widget" +msgstr "Ajustament horitzontal pel giny de text" + +#: ../gtk/gtktext.c:554 +msgid "Vertical adjustment for the text widget" +msgstr "Ajustament vertical pel giny de text" + +#: ../gtk/gtktext.c:561 +msgid "Line Wrap" +msgstr "Ajustament de línia" + +#: ../gtk/gtktext.c:562 +msgid "Whether lines are wrapped at widget edges" +msgstr "Si les línies s'han d'ajustar als marges dels ginys" + +#: ../gtk/gtktext.c:569 +msgid "Word Wrap" +msgstr "Ajust de paraula" + +#: ../gtk/gtktext.c:570 +msgid "Whether words are wrapped at widget edges" +msgstr "Si els mots s'han d'ajustar als marges dels ginys" + +#: ../gtk/gtktextbuffer.c:180 msgid "Tag Table" msgstr "Taula de marcadors" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:181 msgid "Text Tag Table" msgstr "Taula de marcadors de text" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:199 msgid "Current text of the buffer" msgstr "El text actual de la memòria" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:213 msgid "Has selection" msgstr "Té selecció" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:214 msgid "Whether the buffer has some text currently selected" msgstr "Si la memòria intermèdia té text seleccionat" -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:230 msgid "Cursor position" msgstr "Posició del cursor" -#: gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:231 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" @@ -5794,11 +6025,11 @@ msgstr "" "memòria intermèdia)" # FIXME -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:246 msgid "Copy target list" msgstr "Llista de destinacions de còpia" -#: gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:247 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" @@ -5806,11 +6037,11 @@ msgstr "" "copiar al porta-retalls i com a fonts d'arrossegar i deixar anar" # FIXME -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:262 msgid "Paste target list" msgstr "Llista de destinacions d'enganxament" -#: gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:263 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5818,37 +6049,37 @@ msgstr "" "La llista de destinacions que este element de memòria intermèdia permet per " "enganxar del porta-retalls i com a fonts d'arrossegar i deixar anar" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 msgid "Mark name" msgstr "Nom de la marca" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "Gravetat esquerra" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "Si la marca té gravetat a l'esquerra" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:173 msgid "Tag name" msgstr "Nom de marcador" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:174 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "" "Nom utilitzat per referir-se a un marcador de text. NULL per a marcadors " "anònims" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:192 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Color de fons com a (possiblement no assignat) GdkColor" -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:199 msgid "Background full height" msgstr "Alçària completa del fons" -#: gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:200 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5856,29 +6087,47 @@ msgstr "" "Si el color de fons omple l'alçada de la línia sencera o només l'alçada dels " "caràcters marcats" -#: gtk/gtktexttag.c:211 +# FIXME puntejador (josep) +#: ../gtk/gtktexttag.c:208 +msgid "Background stipple mask" +msgstr "Màscara del puntejador de fons" + +#: ../gtk/gtktexttag.c:209 +msgid "Bitmap to use as a mask when drawing the text background" +msgstr "Mapa de bits usat com a màscara quan s'ajusta el fons del text" + +#: ../gtk/gtktexttag.c:226 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Color de primer pla com a (possiblement no assignat) GdkColor" -#: gtk/gtktexttag.c:218 +# FIXME puntejador (josep) +#: ../gtk/gtktexttag.c:234 +msgid "Foreground stipple mask" +msgstr "Màscara del puntejador de primer pla" + +#: ../gtk/gtktexttag.c:235 +msgid "Bitmap to use as a mask when drawing the text foreground" +msgstr "Mapa de bits usat com a màscara quan s'ajusta el primer pla del text" + +#: ../gtk/gtktexttag.c:242 msgid "Text direction" msgstr "Direcció del text" -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:243 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Sentit del text, p.ex. dreta-a-esquerra o esquerra-a-dreta" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:292 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Estil del tipus de lletra com a PangoStyle, p.ex. PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:301 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "" "Variant del tipus de lletra, com a PangoVariant, p.ex. " "PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:310 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5886,16 +6135,16 @@ msgstr "" "Un enter que indica el pes del tipus de lletra, vegeu valors predefinits a " "PangoWeight; per exemple, PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:321 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "" "Amplia el tipus de lletra, com a PangoStretch, p.ex. PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:330 msgid "Font size in Pango units" msgstr "Mida del tipus de lletra en unitats Pango" -#: gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:340 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5905,11 +6154,11 @@ msgstr "" "defecte. Això s'adapta pròpiament a canvis de tema, etc., per tant es " "recomana. El Pango predefineix algunes escales com ara PANGO_SCALE_X_LARGE" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:360 ../gtk/gtktextview.c:594 msgid "Left, right, or center justification" msgstr "Justificació a l'esquerre, dreta, o centre" -#: gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:379 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5917,31 +6166,31 @@ msgstr "" "El codi ISO de l'idioma del text. El Pango ho pot utilitzar com a pista en " "representar el text. Si no s'estableix, s'emprarà el determinat més apropiat." -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:386 msgid "Left margin" msgstr "Marge esquerre" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:603 msgid "Width of the left margin in pixels" msgstr "Amplada del marge esquerre en píxels" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:396 msgid "Right margin" msgstr "Marge dret" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:397 ../gtk/gtktextview.c:613 msgid "Width of the right margin in pixels" msgstr "Amplada del marge dret en píxels" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:622 msgid "Indent" msgstr "Sagnat" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:408 ../gtk/gtktextview.c:623 msgid "Amount to indent the paragraph, in pixels" msgstr "Quantitat a sagnar el paràgraf, en píxels" -#: gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:419 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -5949,346 +6198,372 @@ msgstr "" "Desplaçament del text per sobre de la línia de base (per sota de la línia de " "base si l'elevació és negativa) en unitats del Pango" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:428 msgid "Pixels above lines" msgstr "Píxels per sobre les línies" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:429 ../gtk/gtktextview.c:547 msgid "Pixels of blank space above paragraphs" msgstr "Pìxels d'espais en blanc per sobre els paràgrafs" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:438 msgid "Pixels below lines" msgstr "Píxels per sota les línies" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:439 ../gtk/gtktextview.c:557 msgid "Pixels of blank space below paragraphs" msgstr "Píxels d'espais en blanc per sota els paràgrafs" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:448 msgid "Pixels inside wrap" msgstr "Píxels dins l'ajustament" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:449 ../gtk/gtktextview.c:567 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Píxels d'espais en blanc entre línies ajustades a un paràgraf" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:585 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Si no s'ha d'ajustar mai les línies, o fer-ho en els límits de les paraules " "o caràcters" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:485 ../gtk/gtktextview.c:632 msgid "Tabs" msgstr "Pestanyes" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:486 ../gtk/gtktextview.c:633 msgid "Custom tabs for this text" msgstr "Pestanyes personalitzades per a este text" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:504 msgid "Invisible" msgstr "Invisible" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:505 msgid "Whether this text is hidden." msgstr "Si este text està amagat." -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:519 msgid "Paragraph background color name" msgstr "Nom del color de fons del paràgraf" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:520 msgid "Paragraph background color as a string" msgstr "Color de fons del paràgraf com a cadena" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:535 msgid "Paragraph background color" msgstr "Color de fons del paràgraf" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:536 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Color de fons del paràgraf com a (possiblement no assignat) GdkColor" -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:554 msgid "Margin Accumulates" msgstr "Acumulació de marges" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:555 msgid "Whether left and right margins accumulate." msgstr "Si s'han d'acumular els marges dret i esquerre." -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:568 msgid "Background full height set" msgstr "Alçària completa de fons fixada" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:569 msgid "Whether this tag affects background height" msgstr "Si esta etiqueta afecta l'alçada del fons" +# FIXME puntejador (josep) +#: ../gtk/gtktexttag.c:572 +msgid "Background stipple set" +msgstr "Puntejador de fons fixat" + +# FIXME puntejador (josep) +#: ../gtk/gtktexttag.c:573 +msgid "Whether this tag affects the background stipple" +msgstr "Si esta etiqueta afecta el puntejador de fons" + +# FIXME puntejador (josep) +#: ../gtk/gtktexttag.c:580 +msgid "Foreground stipple set" +msgstr "Puntejador de primer pla fixat" + +# FIXME puntejador (josep) +#: ../gtk/gtktexttag.c:581 +msgid "Whether this tag affects the foreground stipple" +msgstr "Si esta etiqueta afecta el puntejador de primer pla" + # FIXME -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:616 msgid "Justification set" msgstr "Definiu justificació" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:617 msgid "Whether this tag affects paragraph justification" msgstr "Si esta etiqueta afecta la justificació del paràgraf" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:624 msgid "Left margin set" msgstr "Marge esquerre fixat" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:625 msgid "Whether this tag affects the left margin" msgstr "Si esta etiqueta afecta el marge esquerre" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:628 msgid "Indent set" msgstr "Sagnat fixat" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:629 msgid "Whether this tag affects indentation" msgstr "Si esta etiqueta afecta el sagnat" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:636 msgid "Pixels above lines set" msgstr "Píxels per sobre del conjunt de línies" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:637 ../gtk/gtktexttag.c:641 msgid "Whether this tag affects the number of pixels above lines" msgstr "Si esta etiqueta afecta el nombre de píxels per sobre les línies" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:640 msgid "Pixels below lines set" msgstr "Píxels per sota del conjunt línies" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:644 msgid "Pixels inside wrap set" msgstr "Píxels dins del conjunt d'ajust" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:645 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "Si este marcador afecta el nombre de píxels entre línies ajustades" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:652 msgid "Right margin set" msgstr "Marge dret fixat" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:653 msgid "Whether this tag affects the right margin" msgstr "Quan esta etiqueta afecta el marge dret" -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:660 msgid "Wrap mode set" msgstr "Conjunt mode ajust" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:661 msgid "Whether this tag affects line wrap mode" msgstr "Quan esta etiqueta afecta el mode d'ajustat de línia" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:664 msgid "Tabs set" msgstr "Tabuladors fixats" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:665 msgid "Whether this tag affects tabs" msgstr "Si esta etiqueta afecta els tabuladors" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:668 msgid "Invisible set" msgstr "Invisible activat" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:669 msgid "Whether this tag affects text visibility" msgstr "Si esta etiqueta afecta la visibilitat del text" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:672 msgid "Paragraph background set" msgstr "Estableix el fons del paràgraf" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:673 msgid "Whether this tag affects the paragraph background color" msgstr "Si este marcador afecta el color de fons del paràgraf" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:546 msgid "Pixels Above Lines" msgstr "Píxels per sobre les línies" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:556 msgid "Pixels Below Lines" msgstr "Píxels per sota les línies" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:566 msgid "Pixels Inside Wrap" msgstr "Píxels dins de l'ajust" -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:584 msgid "Wrap Mode" msgstr "Mode ajust" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:602 msgid "Left Margin" msgstr "Marge esquerre" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:612 msgid "Right Margin" msgstr "Marge dret" -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:640 msgid "Cursor Visible" msgstr "Cursor visible" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:641 msgid "If the insertion cursor is shown" msgstr "Si es mostra el cursor d'inserció" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:648 msgid "Buffer" msgstr "Text a memòria intermèdia" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:649 msgid "The buffer which is displayed" msgstr "El text a la memòria intermèdia que es mostrarà" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:657 msgid "Whether entered text overwrites existing contents" msgstr "Si el text entrat sobreescriu l'existent" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:664 msgid "Accepts tab" msgstr "Accepta tabuladors" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:665 msgid "Whether Tab will result in a tab character being entered" msgstr "Si la tecla de tabulació entra un caràcter de tabulació" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:694 msgid "Error underline color" msgstr "Color de les línies d'error inferiors" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:695 msgid "Color with which to draw error-indication underlines" msgstr "El color amb el que es dibuixa la línia inferior que indica un error" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtktoggleaction.c:104 msgid "Create the same proxies as a radio action" msgstr "Crea els mateixos apoderats com a acció de ràdio" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:105 msgid "Whether the proxies for this action look like radio action proxies" msgstr "Si els apoderats per a esta acció pareixen apoderats d'acció de ràdio" -#: gtk/gtktoggleaction.c:134 -#, fuzzy -msgid "Whether the toggle action should be active" +#: ../gtk/gtktoggleaction.c:120 +msgid "If the toggle action should be active in or not" msgstr "Si l'acció de commutació ha d'estar activa o no" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 -#, fuzzy -msgid "If the toggle button should be pressed in" +#: ../gtk/gtktogglebutton.c:116 ../gtk/gtktoggletoolbutton.c:115 +msgid "If the toggle button should be pressed in or not" msgstr "Si el botó de commutació ha d'estar premut" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:124 msgid "If the toggle button is in an \"in between\" state" msgstr "Si el botó de commutació és en un estat «intermedi»" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:131 msgid "Draw Indicator" msgstr "Indicador de dibuix" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:132 msgid "If the toggle part of the button is displayed" msgstr "Si la part de commutació del botó es visualitza" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:494 ../gtk/gtktoolpalette.c:1021 msgid "Toolbar Style" msgstr "Estil de la barra d'eines" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:495 msgid "How to draw the toolbar" msgstr "Com dibuixar la barra d'eines" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:502 msgid "Show Arrow" msgstr "Mostra la fletxa" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:503 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "" "Si s'ha de dibuixar una fletxa en cas que la barra d'eines no hi càpiga" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:518 +msgid "Tooltips" +msgstr "Indicadors de funció" + +#: ../gtk/gtktoolbar.c:519 +msgid "If the tooltips of the toolbar should be active or not" +msgstr "Si s'han d'activar els indicadors de funció de la barra d'eines" + +#: ../gtk/gtktoolbar.c:541 msgid "Size of icons in this toolbar" msgstr "Mida de les icones d'esta barra d'eines" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:556 ../gtk/gtktoolpalette.c:1007 msgid "Icon size set" msgstr "Mida de les icones establerta" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:557 ../gtk/gtktoolpalette.c:1008 msgid "Whether the icon-size property has been set" msgstr "Si la propietat de la mida de les icones s'ha establit" -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:566 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "Si l'element ha de rebre espai addicional quan la barra d'eines crisca" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:574 ../gtk/gtktoolitemgroup.c:1597 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Si l'element ha de tindre la mateixa mida que altres elements homogenis" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:581 msgid "Spacer size" msgstr "Mida de l'espaiador" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:582 msgid "Size of spacers" msgstr "Mida dels espaiadors" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:591 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "" "Quantitat d'espai del contorn entre l'ombra de la barra d'eines i els botons" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:599 msgid "Maximum child expand" msgstr "Expansió màxima del fill" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:600 msgid "Maximum amount of space an expandable item will be given" msgstr "" "La quantitat màxima d'espai que es donarà a un element per poder-s'hi " "expandir" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:608 msgid "Space style" msgstr "Estil de l'espaiador" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:609 msgid "Whether spacers are vertical lines or just blank" msgstr "Si els espaiadors són línies verticals o espais en blanc" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:616 msgid "Button relief" msgstr "Relleu del botó" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:617 msgid "Type of bevel around toolbar buttons" msgstr "Tipus de bisell que envolta els botons la barra d'eines" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:624 msgid "Style of bevel around the toolbar" msgstr "Estil de bisell que envolta la barra d'eines" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:205 msgid "Text to show in the item." msgstr "Text a mostrar en l'element." -#: gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:212 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6297,43 +6572,43 @@ msgstr "" "caràcter següent s'hauria d'utilitzar per a la tecla de drecera mnemotècnica " "en el menú" -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:219 msgid "Widget to use as the item label" msgstr "El giny que s'utilitzarà com a etiqueta de l'element" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:225 msgid "Stock Id" msgstr "Id d'estoc" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:226 msgid "The stock icon displayed on the item" msgstr "La icona d'estoc que es visualitzarà en l'element" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:242 msgid "Icon name" msgstr "Nom de la icona" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:243 msgid "The name of the themed icon displayed on the item" msgstr "El nom de la icona de tema que es visualitzarà en l'element" -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:249 msgid "Icon widget" msgstr "Giny icona" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:250 msgid "Icon widget to display in the item" msgstr "El giny icona a mostrar en l'element" -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:263 msgid "Icon spacing" msgstr "Espaiat entre icones" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:264 msgid "Spacing in pixels between the icon and label" msgstr "L'espaiament entre la icona i l'etiqueta" -#: gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:207 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -6341,491 +6616,462 @@ msgstr "" "Si l'element de la barra d'eines es considera important. Si és CERT, els " "botons de la barra d'eines mostraran el text en mode GTK_TOOLBAR_BOTH_HORIZ" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1544 msgid "The human-readable title of this item group" msgstr "El títol descriptiu d'este grup d'elements" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1551 msgid "A widget to display in place of the usual label" msgstr "Un giny a visualitzar en lloc de l'etiqueta habitual" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1557 msgid "Collapsed" msgstr "Reduït" -#: gtk/gtktoolitemgroup.c:1586 +#: ../gtk/gtktoolitemgroup.c:1558 #, fuzzy msgid "Whether the group has been collapsed and items are hidden" msgstr "Si el grup s'ha reduït i se n'oculten els elements" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1564 msgid "ellipsize" msgstr "Punts suspensius" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1565 msgid "Ellipsize for item group headers" msgstr "Utilitza els punts suspensius per escurçar les capçaleres de grup" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1571 msgid "Header Relief" msgstr "Relleu de la capçalera" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1572 msgid "Relief of the group header button" msgstr "Relleu del botó de capçalera de grup" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1587 msgid "Header Spacing" msgstr "Espaiat de la capçalera" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1588 msgid "Spacing between expander arrow and caption" msgstr "Espaiat entre la fletxa de l'expansor i el títol" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1604 msgid "Whether the item should receive extra space when the group grows" msgstr "Si l'element ha de rebre espai addicional quan el grup crisca" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1611 msgid "Whether the item should fill the available space" msgstr "Si l'element ha d'omplir tot l'espai disponible" -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "New Row" msgstr "Fila nova" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1618 msgid "Whether the item should start a new row" msgstr "Si l'element ha de començar una fila nova" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1625 msgid "Position of the item within this group" msgstr "Posició de l'element dins d'este grup" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:992 msgid "Size of icons in this tool palette" msgstr "Mida de les icones d'esta paleta d'eines" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1022 msgid "Style of items in the tool palette" msgstr "Estil dels elements de la paleta d'eines" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1038 msgid "Exclusive" msgstr "Exclusiu" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1039 msgid "Whether the item group should be the only expanded at a given time" msgstr "Si el grup d'elements ha d'ésser l'únic que s'expandisca a la vegada" -#: gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1054 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" "Si el grup d'elements ha de rebre espai addicional quan la paleta crisca" -#: gtk/gtktrayicon-x11.c:134 -#, fuzzy -msgid "Foreground color for symbolic icons" -msgstr "Color de primer pla com a cadena" - -#: gtk/gtktrayicon-x11.c:141 -#, fuzzy -msgid "Error color" -msgstr "Color del cursor" - -#: gtk/gtktrayicon-x11.c:142 -msgid "Error color for symbolic icons" -msgstr "" - -#: gtk/gtktrayicon-x11.c:149 -#, fuzzy -msgid "Warning color" -msgstr "Color de fons" - -#: gtk/gtktrayicon-x11.c:150 -msgid "Warning color for symbolic icons" -msgstr "" - -#: gtk/gtktrayicon-x11.c:157 -#, fuzzy -msgid "Success color" -msgstr "Color del cursor" - -#: gtk/gtktrayicon-x11.c:158 -msgid "Success color for symbolic icons" -msgstr "" - -#: gtk/gtktrayicon-x11.c:166 -#, fuzzy -msgid "Padding that should be put around icons in the tray" -msgstr "Si hi ha d'haver una icona prop de l'element" - -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:278 msgid "TreeModelSort Model" msgstr "Model TreeModelSort" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:279 msgid "The model for the TreeModelSort to sort" msgstr "El model per a TreeModelSort a ordenar" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:567 msgid "TreeView Model" msgstr "Model de vista d'arbre" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:568 msgid "The model for the tree view" msgstr "El model per la vista d'arbre" -#: gtk/gtktreeview.c:572 +#: ../gtk/gtktreeview.c:576 msgid "Horizontal Adjustment for the widget" msgstr "Ajustament horitzontal pel giny" -#: gtk/gtktreeview.c:580 +#: ../gtk/gtktreeview.c:584 msgid "Vertical Adjustment for the widget" msgstr "Ajustament vertical pel giny" -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:591 msgid "Headers Visible" msgstr "Capçaleres visibles" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:592 msgid "Show the column header buttons" msgstr "Mostra botons en els encapçalaments de columna" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:599 msgid "Headers Clickable" msgstr "Capçaleres clicables" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:600 msgid "Column headers respond to click events" msgstr "Les capçaleres de columna responen als clics" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:607 msgid "Expander Column" msgstr "Columna expansora" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:608 msgid "Set the column for the expander column" msgstr "Estableix la columna per a la columna expansora" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:623 msgid "Rules Hint" msgstr "Indicació de les regles" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:624 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" "Estableix una pista en el motor de temes per dibuixar files en colors " "alternants" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:631 msgid "Enable Search" msgstr "Habilita la cerca" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:632 msgid "View allows user to search through columns interactively" msgstr "" "La visualització permet a l'usuari cercar interactivament a través de " "columnes" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:639 msgid "Search Column" msgstr "Cerca columna" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:640 msgid "Model column to search through during interactive search" msgstr "Columna model a cercar durant la cerca interactiva" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:660 msgid "Fixed Height Mode" msgstr "Mode d'alçada fixa" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:661 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "" "Fa més ràpid el GtkTreeView en assumir que totes les files tenen la mateixa " "alçada" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:681 msgid "Hover Selection" msgstr "Segueix el punter" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:682 msgid "Whether the selection should follow the pointer" msgstr "Si la selecció ha de seguir el punter" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:701 msgid "Hover Expand" msgstr "Expandeix amb el punter" -#: gtk/gtktreeview.c:698 +#: ../gtk/gtktreeview.c:702 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Si les files s'haurien d'expandir o reduir quan el punter s'hi mou per sobre" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:716 msgid "Show Expanders" msgstr "Mostra els expansors" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:717 msgid "View has expanders" msgstr "La visualització té expansors" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:731 msgid "Level Indentation" msgstr "Nivell del sagnat" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:732 msgid "Extra indentation for each level" msgstr "Sagnat addicional per a cada nivell" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:741 msgid "Rubber Banding" msgstr "Selecció per goma elàstica" -#: gtk/gtktreeview.c:738 +#: ../gtk/gtktreeview.c:742 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Si s'ha permetre seleccionar diversos elements arrossegant el punter de " "ratolí" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:749 msgid "Enable Grid Lines" msgstr "Habilita les línies de graella" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:750 msgid "Whether grid lines should be drawn in the tree view" msgstr "Si s'han de mostrar les línies de graella en la visualització d'arbre" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:758 msgid "Enable Tree Lines" msgstr "Habilita les línies dels arbres" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:759 msgid "Whether tree lines should be drawn in the tree view" msgstr "" "Si s'han de dibuixar les línies dels arbres en la visualització d'arbre" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:767 msgid "The column in the model containing the tooltip texts for the rows" msgstr "" "La columna del model que conté els textos dels indicadors de funció per a " "les files" -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:789 msgid "Vertical Separator Width" msgstr "Amplada del separador vertical" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:790 msgid "Vertical space between cells. Must be an even number" msgstr "Espai vertical entre cel·les. Ha de ser un número parell" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:798 msgid "Horizontal Separator Width" msgstr "Amplada del separador horitzontal" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:799 msgid "Horizontal space between cells. Must be an even number" msgstr "Espai horitzontal entre cel·les. Ha de ser un número parell" # FIXME (josep) -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:807 msgid "Allow Rules" msgstr "Permet regles" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:808 msgid "Allow drawing of alternating color rows" msgstr "Permet el dibuix de les files del color que s'alternen" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:814 msgid "Indent Expanders" msgstr "Sagna els expansors" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:815 msgid "Make the expanders indented" msgstr "Fes els expansors sagnats" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:821 msgid "Even Row Color" msgstr "Color de la fila parell" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:822 msgid "Color to use for even rows" msgstr "Color a utilitzar a les files parells" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:828 msgid "Odd Row Color" msgstr "Color de la fila imparell" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:829 msgid "Color to use for odd rows" msgstr "Color a utilitzar a les files imparells" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:842 +msgid "Row Ending details" +msgstr "Detalls finals de la fila" + +#: ../gtk/gtktreeview.c:843 +msgid "Enable extended row background theming" +msgstr "Habilita la tematització avançada dels fons de les files" + +#: ../gtk/gtktreeview.c:849 msgid "Grid line width" msgstr "Amplada de línia de la graella" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:850 msgid "Width, in pixels, of the tree view grid lines" msgstr "L'amplada, en píxels, de la línia de la graella de la vista d'arbre" -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:856 msgid "Tree line width" msgstr "Amplada de la línia de l'arbre" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:857 msgid "Width, in pixels, of the tree view lines" msgstr "Amplada, en píxels, de les línies de la vista d'arbre" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:863 msgid "Grid line pattern" msgstr "Patró de les línies de graella" # FIXME -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:864 msgid "Dash pattern used to draw the tree view grid lines" msgstr "" "Patró de traç utilitzat per dibuixar les línies de graella de la " "visualització en arbre" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:870 msgid "Tree line pattern" msgstr "Patró de la línia dels arbres" # FIXME -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:871 msgid "Dash pattern used to draw the tree view lines" msgstr "" "Patró de traç utilitzat per dibuixar les línies de la visualització en arbre" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:193 msgid "Whether to display the column" msgstr "Si es mostra la columna" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:200 ../gtk/gtkwindow.c:557 msgid "Resizable" msgstr "Redimensionable" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:201 msgid "Column is user-resizable" msgstr "La columna és usuari-redimensionable" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:209 msgid "Current width of the column" msgstr "Amplada actual de la columna" -#: gtk/gtktreeviewcolumn.c:221 +#: ../gtk/gtktreeviewcolumn.c:218 msgid "Space which is inserted between cells" msgstr "L'espai inserit entre cel·les" -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:226 msgid "Sizing" msgstr "Dimensionar" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:227 msgid "Resize mode of the column" msgstr "Mode de redimensió de la columna" -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:235 msgid "Fixed Width" msgstr "Amplada fixa" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:236 msgid "Current fixed width of the column" msgstr "Amplada fixa actual de la columna" -#: gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:245 msgid "Minimum Width" msgstr "Amplada mínima" -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:246 msgid "Minimum allowed width of the column" msgstr "Amplada mínima permesa de la columna" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:255 msgid "Maximum Width" msgstr "Amplada màxima" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:256 msgid "Maximum allowed width of the column" msgstr "Amplada màxima permesa de la columna" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:266 msgid "Title to appear in column header" msgstr "Títol que apareix a la capçalera de la columna" # FIXME (josep) -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:274 msgid "Column gets share of extra width allocated to the widget" msgstr "La columna obté una porció de l'amplada addicional assignada al giny" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:281 msgid "Clickable" msgstr "Clicable" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:282 msgid "Whether the header can be clicked" msgstr "Si es pot fer clic a la capçalera" -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:290 msgid "Widget" msgstr "Giny" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:291 msgid "Widget to put in column header button instead of column title" msgstr "" "Giny per posar al botó de capçalera de columna en lloc del títol de columna" -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:299 msgid "X Alignment of the column header text or widget" msgstr "Alineació X del text de la capçalera de columna o giny" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:309 msgid "Whether the column can be reordered around the headers" msgstr "Si la columna pot ser reordenada al voltant la capçalera" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:316 msgid "Sort indicator" msgstr "Indicador d'ordenació" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Whether to show a sort indicator" msgstr "Si es mostrarà un indicador d'ordenació" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Sort order" msgstr "Orde d'ordenació" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Sort direction the sort indicator should indicate" msgstr "Direcció d'orde que l'indicador haurà d'indicar" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Sort column ID" msgstr "Identificador de columna per a l'ordenació" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" "Identificador de columna lògic que s'utilitzarà per a l'ordenació en " "seleccionar-lo" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:227 msgid "Whether tearoff menu items should be added to menus" msgstr "Si s'han d'afegir elements de menú tearoffs als menús" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:234 msgid "Merged UI definition" msgstr "Definició d'IU mesclada" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:235 msgid "An XML string describing the merged UI" msgstr "Una cadena XML que descriu la IU mesclada" -#: gtk/gtkviewport.c:143 +#: ../gtk/gtkviewport.c:126 msgid "" "The GtkAdjustment that determines the values of the horizontal position for " "this viewport" @@ -6833,7 +7079,7 @@ msgstr "" "El GtkAdjustment que determina els valors de la posició horitzontal per a " "esta subàrea" -#: gtk/gtkviewport.c:151 +#: ../gtk/gtkviewport.c:134 msgid "" "The GtkAdjustment that determines the values of the vertical position for " "this viewport" @@ -6841,31 +7087,31 @@ msgstr "" "El GtkAdjustment que determina els valors de la posició vertical per a esta " "subàrea" -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:142 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Determina com es dibuixa el quadre ombrejat al voltant de la subàrea" -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkwidget.c:554 msgid "Widget name" msgstr "Nom del giny" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:555 msgid "The name of the widget" msgstr "El nom del giny" -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:561 msgid "Parent widget" msgstr "Giny pare" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:562 msgid "The parent widget of this widget. Must be a Container widget" msgstr "El giny pare d'este giny. Ha de ser un giny contenidor" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:569 msgid "Width request" msgstr "Petició d'amplada" -#: gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:570 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6873,11 +7119,11 @@ msgstr "" "Substitueix per sol·licitud d'amplada del giny, o -1 si la sol·licitud " "natural haguera de ser utilitzada" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:578 msgid "Height request" msgstr "Petició d'alçada" -#: gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:579 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6885,237 +7131,183 @@ msgstr "" "Substitueix per sol·licitud d'alçada del giny, o -1 si la sol·licitud " "natural haguera de ser utilitzada" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:588 msgid "Whether the widget is visible" msgstr "Si el giny és visible" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:595 msgid "Whether the widget responds to input" msgstr "Si el giny respon a l'entrada" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:601 msgid "Application paintable" msgstr "Aplicació dibuixable" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:602 msgid "Whether the application will paint directly on the widget" msgstr "Si l'aplicació pintarà directament en el giny" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:608 msgid "Can focus" msgstr "Pot enfocar-se" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:609 msgid "Whether the widget can accept the input focus" msgstr "Si el giny pot acceptar l'entrada de focus" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:615 msgid "Has focus" msgstr "Té focus" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:616 msgid "Whether the widget has the input focus" msgstr "Si el giny té l'entrada de focus" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:622 msgid "Is focus" msgstr "És focus" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:623 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Si el giny és el giny de focus dins del nivell superior" -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:629 msgid "Can default" msgstr "Pot per defecte" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:630 msgid "Whether the widget can be the default widget" msgstr "Si el giny pot ser el giny per defecte" -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:636 msgid "Has default" msgstr "Té per defecte" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:637 msgid "Whether the widget is the default widget" msgstr "Si el giny és el giny per defecte" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:643 msgid "Receives default" msgstr "Rep per defecte" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:644 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "Si és CERT, el giny rebrà l'acció per defecte quan s'enfoqui" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:650 msgid "Composite child" msgstr "Fill compost" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:651 msgid "Whether the widget is part of a composite widget" msgstr "Si el giny és part d'un giny compost o no" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:657 msgid "Style" msgstr "Estil" -#: gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:658 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "Estil del giny, que conté informació sobre com es veurà (colors, etc.)" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:664 msgid "Events" msgstr "Esdeveniments" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:665 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "La màscara d'incidències que decideix quin tipus de GdkEvents obté este giny" -#: gtk/gtkwidget.c:832 +#: ../gtk/gtkwidget.c:672 msgid "Extension events" msgstr "Esdeveniments d'extensió" -#: gtk/gtkwidget.c:833 +#: ../gtk/gtkwidget.c:673 msgid "The mask that decides what kind of extension events this widget gets" msgstr "La màscara que decideix quin tipus d'incidències aconseguirà este giny" # NOTA: segons la següent cadena, indica si la funció show_all afecta a aquest # giny o no, per tant he deixat el nom del mètode en anglès. -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:680 msgid "No show all" msgstr "No «show_all»" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:681 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Si gtk_widget_show_all() no ha d'afectar este giny" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:704 msgid "Whether this widget has a tooltip" msgstr "Si este giny té un indicador de funció" -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:760 msgid "Window" msgstr "Finestra" # Es refereix a http://library.gnome.org/devel/gtk/unstable/GtkWidget.html#gtk-widget-realize (dpm) -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:761 msgid "The widget's window if it is realized" msgstr "La finestra del giny, en cas que siga realitzada" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:775 msgid "Double Buffered" msgstr "Memòria intermèdia doble" -#: gtk/gtkwidget.c:936 -#, fuzzy -msgid "Whether the widget is double buffered" +#: ../gtk/gtkwidget.c:776 +msgid "Whether or not the widget is double buffered" msgstr "Si el giny utilitza una doble memòria intermèdia" -#: gtk/gtkwidget.c:951 -msgid "How to position in extra horizontal space" -msgstr "" - -#: gtk/gtkwidget.c:967 -msgid "How to position in extra vertical space" -msgstr "" - -#: gtk/gtkwidget.c:986 -#, fuzzy -msgid "Margin on Left" -msgstr "Marge" - -#: gtk/gtkwidget.c:987 -msgid "Pixels of extra space on the left side" -msgstr "" - -#: gtk/gtkwidget.c:1007 -msgid "Margin on Right" -msgstr "" - -#: gtk/gtkwidget.c:1008 -#, fuzzy -msgid "Pixels of extra space on the right side" -msgstr "Pìxels d'espais en blanc per sobre els paràgrafs" - -#: gtk/gtkwidget.c:1028 -#, fuzzy -msgid "Margin on Top" -msgstr "Marge" - -#: gtk/gtkwidget.c:1029 -#, fuzzy -msgid "Pixels of extra space on the top side" -msgstr "Pìxels d'espais en blanc per sobre els paràgrafs" - -#: gtk/gtkwidget.c:1049 -msgid "Margin on Bottom" -msgstr "" - -#: gtk/gtkwidget.c:1050 -msgid "Pixels of extra space on the bottom side" -msgstr "" - -#: gtk/gtkwidget.c:1067 -#, fuzzy -msgid "All Margins" -msgstr "Marge" - -#: gtk/gtkwidget.c:1068 -msgid "Pixels of extra space on all four sides" -msgstr "" - -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:2423 msgid "Interior Focus" msgstr "Focus interior" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:2424 msgid "Whether to draw the focus indicator inside widgets" msgstr "Si s'ha de dibuixar l'indicador del focus dins dels ginys" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:2430 msgid "Focus linewidth" msgstr "Amplada de línia del focus" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:2431 msgid "Width, in pixels, of the focus indicator line" msgstr "Amplada, en píxels, de la línia indicadora del focus" # FIXME traç (josep) -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:2437 msgid "Focus line dash pattern" msgstr "Patró de traç de la línia de focus" # FIXME -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:2438 msgid "Dash pattern used to draw the focus indicator" msgstr "Patró de traç utilitzat per dibuixar l'indicador del focus" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:2443 msgid "Focus padding" msgstr "Separació del focus" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:2444 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Amplada, en píxels, entre l'indicador de focus i el giny 'box'" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:2449 msgid "Cursor color" msgstr "Color del cursor" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:2450 msgid "Color with which to draw insertion cursor" msgstr "Color amb el que es dibuixa el cursor d'inserció" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:2455 msgid "Secondary cursor color" msgstr "Color del cursor secundari" -#: gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:2456 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7123,44 +7315,43 @@ msgstr "" "Color per dibuixar el cursor d'inserció secundària en editar la barreja del " "text de dreta-a-esquerra i d'esquerra-a-dreta" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:2461 msgid "Cursor line aspect ratio" msgstr "Ràtio d'aspecte de la línia del cursor" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:2462 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Ràtio d'aspecte amb el que dibuixar el cursor d'inserció" -#: gtk/gtkwidget.c:2786 -#, fuzzy -msgid "Window dragging" -msgstr "Posició de la finestra" +#: ../gtk/gtkwidget.c:2478 +msgid "Draw Border" +msgstr "Dibuixa la vora" -#: gtk/gtkwidget.c:2787 -msgid "Whether windows can be dragged by clicking on empty areas" -msgstr "" +#: ../gtk/gtkwidget.c:2479 +msgid "Size of areas outside the widget's allocation to draw" +msgstr "Mida de les àrees a dibuixar fora de la ubicació del giny" -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:2492 msgid "Unvisited Link Color" msgstr "Color dels enllaços no visitats" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:2493 msgid "Color of unvisited links" msgstr "El color dels enllaços que no s'hagen visitat" -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:2506 msgid "Visited Link Color" msgstr "Color dels enllaços visitats" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:2507 msgid "Color of visited links" msgstr "El color dels enllaços que s'hagen visitat" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:2521 msgid "Wide Separators" msgstr "Separadors amples" -#: gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:2522 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7168,80 +7359,103 @@ msgstr "" "Si els separadors tenen una amplada configurable, i s'haurien de dibuixar " "amb una caixa en lloc d'una línia" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:2536 msgid "Separator Width" msgstr "Amplada del separador" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:2537 msgid "The width of separators if wide-separators is TRUE" msgstr "L'amplada dels separadors si «wide-separators» és CERT" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:2551 msgid "Separator Height" msgstr "Alçada del separador" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:2552 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "L'alçada dels separadors si «wide-separators» és CERT" -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:2566 msgid "Horizontal Scroll Arrow Length" msgstr "Longitud de la fletxa de desplaçament horitzontal" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:2567 msgid "The length of horizontal scroll arrows" msgstr "La longitud de la fletxa de desplaçament horitzontal" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:2581 msgid "Vertical Scroll Arrow Length" msgstr "Longitud de la fletxa de desplaçament vertical" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:2582 msgid "The length of vertical scroll arrows" msgstr "La longitud de la fletxa de desplaçament vertical" -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:483 msgid "Window Type" msgstr "Tipus de finestra" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:484 msgid "The type of the window" msgstr "El tipus de finestra" -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:492 msgid "Window Title" msgstr "Títol de finestra" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:493 msgid "The title of the window" msgstr "El títol de finestra" -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:500 msgid "Window Role" msgstr "Rol de la finestra" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:501 msgid "Unique identifier for the window to be used when restoring a session" msgstr "Identificador únic de la finestra a utilitzar en restaurar una sessió" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:517 msgid "Startup ID" msgstr "ID d'inici" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:518 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador únic de la finestra utilitzada per a la notificació de l'inici" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:533 +msgid "Allow Shrink" +msgstr "Permet encongir" + +#: ../gtk/gtkwindow.c:535 +#, no-c-format +msgid "" +"If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the " +"time a bad idea" +msgstr "" +"Si és CERT, la finestra no tindrà una mida mínima. Fixant-ho a CERT és el " +"99% del temps una mala idea" + +#: ../gtk/gtkwindow.c:549 +msgid "Allow Grow" +msgstr "Permet creixement" + +#: ../gtk/gtkwindow.c:550 +msgid "If TRUE, users can expand the window beyond its minimum size" +msgstr "" +"Si és CERT, els usuaris podran expandir la finestra més enllà de la seua " +"mida mínima" + +#: ../gtk/gtkwindow.c:558 msgid "If TRUE, users can resize the window" msgstr "Si és CERT, els usuaris podran redimensionar la finestra" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:565 msgid "Modal" msgstr "Modal" -#: gtk/gtkwindow.c:618 +#: ../gtk/gtkwindow.c:566 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7249,80 +7463,80 @@ msgstr "" "Si és CERT, la finestra serà modal (les altres finestres no es podran " "utilitzar mentre esta estiga oberta)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:573 msgid "Window Position" msgstr "Posició de la finestra" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:574 msgid "The initial position of the window" msgstr "La posició inicial de la finestra" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:582 msgid "Default Width" msgstr "Amplada per defecte" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:583 msgid "The default width of the window, used when initially showing the window" msgstr "" "L'amplada per defecte de la finestra, utilitzada quan es mostra inicialment " "la finestra" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:592 msgid "Default Height" msgstr "Alçària per defecte" -#: gtk/gtkwindow.c:645 +#: ../gtk/gtkwindow.c:593 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "L'alçada per defecte de la finestra, utilitzada quan es mostra inicialment " "la finestra" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:602 msgid "Destroy with Parent" msgstr "Destrueix amb el pare" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:603 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Si s'hauria de destruir esta finestra quan es destruïsca el pare" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:611 msgid "Icon for this window" msgstr "Icona per a esta finestra" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:617 msgid "Mnemonics Visible" msgstr "Mnemònics visibles" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:618 msgid "Whether mnemonics are currently visible in this window" msgstr "Si els mnemònics són actualment visibles en esta finestra" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:634 msgid "Name of the themed icon for this window" msgstr "Nom de la icona del tema per a esta finestra" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:649 msgid "Is Active" msgstr "Està activa" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:650 msgid "Whether the toplevel is the current active window" msgstr "Si el giny de nivell superior és la finestra activa actualment" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:657 msgid "Focus in Toplevel" msgstr "Focus al nivell superior" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:658 msgid "Whether the input focus is within this GtkWindow" msgstr "Si el focus d'entrada és en este GtkWindow" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:665 msgid "Type hint" msgstr "Tecleja pista" -#: gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:666 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7330,101 +7544,101 @@ msgstr "" "Pista per ajudar l'entorn d'escriptori a entendre quin tipus de finestra és " "i com tractar-la." -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:674 msgid "Skip taskbar" msgstr "Omet la barra de tasques" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:675 msgid "TRUE if the window should not be in the task bar." msgstr "CERT si la finestra no ha de ser a la barra de tasques." -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:682 msgid "Skip pager" msgstr "Omet el paginador" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:683 msgid "TRUE if the window should not be in the pager." msgstr "CERT si la finestra no ha de ser al paginador." -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:690 msgid "Urgent" msgstr "Urgent" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:691 msgid "TRUE if the window should be brought to the user's attention." msgstr "CERT si la finestra no ha de captar l'atenció de l'usuari." -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:705 msgid "Accept focus" msgstr "Accepta el focus" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:706 msgid "TRUE if the window should receive the input focus." msgstr "CERT si la finestra ha de rebre el focus d'entrada." -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:720 msgid "Focus on map" msgstr "Focus en mapar" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:721 msgid "TRUE if the window should receive the input focus when mapped." msgstr "CERT si la finestra ha de rebre el focus d'entrada quan es mapi." # NOTE: the window (josep) -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:735 msgid "Decorated" msgstr "Decorada" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:736 msgid "Whether the window should be decorated by the window manager" msgstr "Si el gestor de finestres ha de decorar la finestra" -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:750 msgid "Deletable" msgstr "Suprimible" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:751 msgid "Whether the window frame should have a close button" msgstr "Si el marc de la finestra ha de tindre un botó de tancar" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:767 msgid "Gravity" msgstr "Gravetat" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:768 msgid "The window gravity of the window" msgstr "La gravetat de finestra de la finestra" -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:785 msgid "Transient for Window" msgstr "Finestra transitòria" -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:786 msgid "The transient parent of the dialog" msgstr "El pare transitori del diàleg" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:801 msgid "Opacity for Window" msgstr "Opacitat de la finestra" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:802 msgid "The opacity of the window, from 0 to 1" msgstr "L'opacitat de la finestra, de 0 a 1" # ID -#: modules/input/gtkimcontextxim.c:334 +#: ../modules/input/gtkimcontextxim.c:334 msgid "IM Preedit style" msgstr "Estil preedició IM" -#: modules/input/gtkimcontextxim.c:335 +#: ../modules/input/gtkimcontextxim.c:335 msgid "How to draw the input method preedit string" msgstr "Com dibuixar la cadena de preedició del mètode d'entrada" -#: modules/input/gtkimcontextxim.c:343 +#: ../modules/input/gtkimcontextxim.c:343 msgid "IM Status style" msgstr "Estil de l'estat IM" -#: modules/input/gtkimcontextxim.c:344 +#: ../modules/input/gtkimcontextxim.c:344 msgid "How to draw the input method statusbar" msgstr "Com dibuixar la barra d'estat del mètode d'entrada" @@ -7478,339 +7692,6 @@ msgstr "Com dibuixar la barra d'estat del mètode d'entrada" #~ msgid "A pointer to the pixel data of the pixbuf" #~ msgstr "Un punter a les dades de píxels de la memòria de píxels" -#~ msgid "the GdkScreen for the renderer" -#~ msgstr "el GdkScreen per al representador" - -#~ msgid "The adjustment that holds the value of the spinbutton." -#~ msgstr "L'ajustament que reté el valor del botó de gir." - -#~ msgid "Has separator" -#~ msgstr "Té separador" - -#~ msgid "The dialog has a separator bar above its buttons" -#~ msgstr "El diàleg té una barra espaiadora per sobre dels seus botons" - -#~ msgid "Invisible char set" -#~ msgstr "Caràcter d'invisibilitat establit" - -#~ msgid "State Hint" -#~ msgstr "Indicació d'estat" - -#~ msgid "Whether to pass a proper state when drawing shadow or background" -#~ msgstr "Si s'ha de passar un estat de debò en dibuixar ombres o el fons" - -#~ msgid "The GdkFont that is currently selected" -#~ msgstr "El GdkFont actualment està seleccionat" - -#~ msgid "Deprecated property, use shadow_type instead" -#~ msgstr "Propietat obsoleta, utilitzeu «shadow_type» en el seu lloc" - -#~ msgid "Pixmap" -#~ msgstr "Mapa de píxels" - -#~ msgid "A GdkPixmap to display" -#~ msgstr "Un GdkPixmap a visualitzar" - -#~ msgid "A GdkImage to display" -#~ msgstr "Un GdkImage per visualitzar" - -#~ msgid "Mask" -#~ msgstr "Màscara" - -#~ msgid "Mask bitmap to use with GdkImage or GdkPixmap" -#~ msgstr "Màscara de mapa de bits per utilitzar amb GdkImage o GdkPixmap" - -#~ msgid "Use separator" -#~ msgstr "Usa un separador" - -#~ msgid "" -#~ "Whether to put a separator between the message dialog's text and the " -#~ "buttons" -#~ msgstr "Si posar un separador entre el text i els botons els diàlegs" - -#~ msgid "Activity mode" -#~ msgstr "Mode Actiu" - -#~ msgid "" -#~ "If TRUE, the GtkProgress is in activity mode, meaning that it signals " -#~ "something is happening, but not how much of the activity is finished. " -#~ "This is used when you're doing something but don't know how long it will " -#~ "take." -#~ msgstr "" -#~ "Si és CERT el GtkProgress és en mode d'activitat, fet que significa que " -#~ "indicarà que passa quelcom, però no quin percentatge de l'activitat ha " -#~ "finalitzat. Això s'utilitzarà quan estigueu realitzant alguna acció que " -#~ "no sabeu quan durarà." - -#~ msgid "Draw slider ACTIVE during drag" -#~ msgstr "Dibuixa el lliscador ACTIU en arrossegar" - -#~ msgid "" -#~ "With this option set to TRUE, sliders will be drawn ACTIVE and with " -#~ "shadow IN while they are dragged" -#~ msgstr "" -#~ "Si s'estableix esta opció com a CERTA, els lliscadors es dibuixaran com a " -#~ "ACTIUS amb ombra a DINS quan s'arrosseguin" - -#~ msgid "Trough Side Details" -#~ msgstr "Detalls de les bandes de la regata" - -#~ msgid "" -#~ "When TRUE, the parts of the trough on the two sides of the slider are " -#~ "drawn with different details" -#~ msgstr "" -#~ "Quan siga CERT, les parts de la regata de cada banda del lliscador es " -#~ "dibuixaran amb detalls diferents" - -#~ msgid "" -#~ "The maximum number of items to be returned by gtk_recent_manager_get_items" -#~ "()" -#~ msgstr "" -#~ "El nombre màxim d'elements que gtk_recent_manager_get_items() ha de tornar" - -#~ msgid "Blinking" -#~ msgstr "Pampalluguejant" - -#~ msgid "Whether or not the status icon is blinking" -#~ msgstr "Si la icona d'estat està pampalluguejant" - -# FIXME puntejador (josep) -#~ msgid "Background stipple mask" -#~ msgstr "Màscara del puntejador de fons" - -#~ msgid "Bitmap to use as a mask when drawing the text background" -#~ msgstr "Mapa de bits usat com a màscara quan s'ajusta el fons del text" - -# FIXME puntejador (josep) -#~ msgid "Foreground stipple mask" -#~ msgstr "Màscara del puntejador de primer pla" - -#~ msgid "Bitmap to use as a mask when drawing the text foreground" -#~ msgstr "" -#~ "Mapa de bits usat com a màscara quan s'ajusta el primer pla del text" - -# FIXME puntejador (josep) -#~ msgid "Background stipple set" -#~ msgstr "Puntejador de fons fixat" - -# FIXME puntejador (josep) -#~ msgid "Whether this tag affects the background stipple" -#~ msgstr "Si esta etiqueta afecta el puntejador de fons" - -# FIXME puntejador (josep) -#~ msgid "Foreground stipple set" -#~ msgstr "Puntejador de primer pla fixat" - -# FIXME puntejador (josep) -#~ msgid "Whether this tag affects the foreground stipple" -#~ msgstr "Si esta etiqueta afecta el puntejador de primer pla" - -#~ msgid "Row Ending details" -#~ msgstr "Detalls finals de la fila" - -#~ msgid "Enable extended row background theming" -#~ msgstr "Habilita la tematització avançada dels fons de les files" - -#~ msgid "Draw Border" -#~ msgstr "Dibuixa la vora" - -#~ msgid "Size of areas outside the widget's allocation to draw" -#~ msgstr "Mida de les àrees a dibuixar fora de la ubicació del giny" - -#~ msgid "Allow Shrink" -#~ msgstr "Permet encongir" - -#~ msgid "" -#~ "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of " -#~ "the time a bad idea" -#~ msgstr "" -#~ "Si és CERT, la finestra no tindrà una mida mínima. Fixant-ho a CERT és el " -#~ "99% del temps una mala idea" - -#~ msgid "Allow Grow" -#~ msgstr "Permet creixement" - -#~ msgid "If TRUE, users can expand the window beyond its minimum size" -#~ msgstr "" -#~ "Si és CERT, els usuaris podran expandir la finestra més enllà de la seua " -#~ "mida mínima" - -#~ msgid "Enable arrow keys" -#~ msgstr "Habilita les tecles de fletxa" - -#~ msgid "Whether the arrow keys move through the list of items" -#~ msgstr "Si les tecles de fletxa es mouen a través de la llista d'elements" - -#~ msgid "Always enable arrows" -#~ msgstr "Habilita sempre les fletxes" - -#~ msgid "Obsolete property, ignored" -#~ msgstr "Propietat obsoleta, ignorada" - -#~ msgid "Case sensitive" -#~ msgstr "Distingeix entre majúscules i minúscules" - -#~ msgid "Whether list item matching is case sensitive" -#~ msgstr "Com els elements emparellats de la llista diferencien majúscules" - -#~ msgid "Allow empty" -#~ msgstr "Permetre el buidat" - -#~ msgid "Whether an empty value may be entered in this field" -#~ msgstr "Com un valor buit pot ésser introduït en este camp" - -#~ msgid "Value in list" -#~ msgstr "Valor a la llista" - -#~ msgid "Whether entered values must already be present in the list" -#~ msgstr "Com els valors introduïts poden ésser presents a la llista" - -#~ msgid "Is this curve linear, spline interpolated, or free-form" -#~ msgstr "És esta corba lineal, de tira interpolada, o de lliure-forma" - -#~ msgid "Minimum X" -#~ msgstr "X mínim" - -#~ msgid "Minimum possible value for X" -#~ msgstr "Valor mínim possible per a X" - -#~ msgid "Maximum X" -#~ msgstr "X màxim" - -#~ msgid "Maximum possible X value" -#~ msgstr "Valor màxim possible per a X" - -#~ msgid "Minimum Y" -#~ msgstr "Y mínim" - -#~ msgid "Minimum possible value for Y" -#~ msgstr "Valor mínim possible per a Y" - -#~ msgid "Maximum Y" -#~ msgstr "Y màxim" - -#~ msgid "Maximum possible value for Y" -#~ msgstr "Valor màxim possible per a Y" - -#~ msgid "File System Backend" -#~ msgstr "Rerefons del sistema de fitxers" - -#~ msgid "Name of file system backend to use" -#~ msgstr "Nom del rerefons del sistema de fitxers a utilitzar" - -#~ msgid "The currently selected filename" -#~ msgstr "El nom del fitxer seleccionat actualment" - -#~ msgid "Show file operations" -#~ msgstr "Mostra les operacions de fitxer" - -#~ msgid "Whether buttons for creating/manipulating files should be displayed" -#~ msgstr "Si s'han de visualitzar els botons per crear/manipular fitxers" - -#~ msgid "Tab Border" -#~ msgstr "Límit de la pestanya" - -#~ msgid "Width of the border around the tab labels" -#~ msgstr "Amplada del contorn al voltant de les etiquetes de pestanya" - -#~ msgid "Horizontal Tab Border" -#~ msgstr "Contorn pestanya horitzontal" - -#~ msgid "Width of the horizontal border of tab labels" -#~ msgstr "Amplada del contorn horitzontal de les etiquetes de pestanya" - -#~ msgid "Vertical Tab Border" -#~ msgstr "Contorn pestanya vertical" - -#~ msgid "Width of the vertical border of tab labels" -#~ msgstr "Amplada del contorn vertical de les etiquetes de pestanya" - -#~ msgid "Whether tabs should have homogeneous sizes" -#~ msgstr "Si les pestanyes haurien de tindre mides homogènies" - -#~ msgid "Group ID for tabs drag and drop" -#~ msgstr "ID del grup per a pestanyes per arrossegar i deixar anar" - -#~ msgid "User Data" -#~ msgstr "Dades d'usuari" - -#~ msgid "Anonymous User Data Pointer" -#~ msgstr "Punter de dades d'usuari anònim" - -#~ msgid "The menu of options" -#~ msgstr "El menú d'opcions" - -#~ msgid "Size of dropdown indicator" -#~ msgstr "Mida de l'indicador desplegable" - -#~ msgid "Spacing around indicator" -#~ msgstr "Espaiat al voltant de l'indicador" - -#~ msgid "" -#~ "Whether the preview widget should take up the entire space it is allocated" -#~ msgstr "" -#~ "Si el giny de visualització prèvia ha d'ocupar tot l'espai que té assignat" - -#~ msgid "The GtkAdjustment connected to the progress bar (Deprecated)" -#~ msgstr "El GtkAdjustment connectat a la barra de progrés (Obsolet)" - -#~ msgid "Bar style" -#~ msgstr "Estil de barra" - -#~ msgid "" -#~ "Specifies the visual style of the bar in percentage mode (Deprecated)" -#~ msgstr "Especifica l'estil visual de la barra en mode percentatge (Obsolet)" - -#~ msgid "Activity Step" -#~ msgstr "Pas d'activitat" - -#~ msgid "The increment used for each iteration in activity mode (Deprecated)" -#~ msgstr "L'increment utilitzat per cada iteració en mode actiu (Obsolet)" - -#~ msgid "Activity Blocks" -#~ msgstr "Blocs d'activitat" - -#~ msgid "" -#~ "The number of blocks which can fit in the progress bar area in activity " -#~ "mode (Deprecated)" -#~ msgstr "" -#~ "El nombre de blocs que s'adapten a l'àrea de la barra de progrés en mode " -#~ "d'activitat (Obsolet)" - -#~ msgid "Discrete Blocks" -#~ msgstr "Blocs discrets" - -#~ msgid "" -#~ "The number of discrete blocks in a progress bar (when shown in the " -#~ "discrete style)" -#~ msgstr "" -#~ "El nombre de blocs discrets en una barra de progrés (quan es mostra en " -#~ "l'estil discret)" - -#~ msgid "Horizontal adjustment for the text widget" -#~ msgstr "Ajustament horitzontal pel giny de text" - -#~ msgid "Vertical adjustment for the text widget" -#~ msgstr "Ajustament vertical pel giny de text" - -#~ msgid "Line Wrap" -#~ msgstr "Ajustament de línia" - -#~ msgid "Whether lines are wrapped at widget edges" -#~ msgstr "Si les línies s'han d'ajustar als marges dels ginys" - -#~ msgid "Word Wrap" -#~ msgstr "Ajust de paraula" - -#~ msgid "Whether words are wrapped at widget edges" -#~ msgstr "Si els mots s'han d'ajustar als marges dels ginys" - -#~ msgid "Tooltips" -#~ msgstr "Indicadors de funció" - -#~ msgid "If the tooltips of the toolbar should be active or not" -#~ msgstr "Si s'han d'activar els indicadors de funció de la barra d'eines" - #~ msgid "The orientation of the toolbar" #~ msgstr "L'orientació de la barra d'eines" diff --git a/po/ca@valencia.po b/po/ca@valencia.po index 27248800f6..0f7a98f963 100644 --- a/po/ca@valencia.po +++ b/po/ca@valencia.po @@ -1,12 +1,6 @@ # Catalan translation of GTK+. # Copyright © 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. -# Ivan Vilata i Balaguer , 1999, 2000. -# Softcatala , 2000, 2001, 2002. -# Jordi Mallach , 2002, 2003, 2004, 2005, 2006. -# Mireia Farrús , 2003. -# Josep Puigdemont , 2005, 2006. -# David Planella , 2008, 2009, 2010. # # Recull de termes # @@ -24,383 +18,381 @@ # the thumb across the scale track to adjust the value» . # Vegeu http://wiki.mozilla.org/XUL:Slider_Tag # +# Ivan Vilata i Balaguer , 1999, 2000. +# Softcatala , 2000, 2001, 2002. +# Jordi Mallach , 2002, 2003, 2004, 2005, 2006. +# Mireia Farrús , 2003. +# Josep Puigdemont , 2005, 2006. +# David Planella , 2008, 2009, 2010. +# Sílvia Miranda , 2010. msgid "" msgstr "" "Project-Id-Version: gtk+ 2.8.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-04-02 18:26+0200\n" -"Last-Translator: David Planella \n" +"POT-Creation-Date: 2010-10-29 01:32+0100\n" +"PO-Revision-Date: 2010-09-28 00:05+0200\n" +"Last-Translator: Sílvia Miranda \n" "Language-Team: Catalan \n" "Language: ca\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n!=1;\n" +"X-Generator: Lokalize 1.0\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:103 #, c-format msgid "Error parsing option --gdk-debug" msgstr "S'ha produït un error en analitzar l'opció --gdk-debug" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:123 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "S'ha produït un error en analitzar l'opció --gdk-no-debug" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:151 msgid "Program class as used by the window manager" msgstr "Classe del programa tal com l'utilitza el gestor de finestres" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:152 msgid "CLASS" msgstr "CLASSE" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:154 msgid "Program name as used by the window manager" msgstr "El nom del programa tal com l'utilitza el gestor de finestres" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:155 msgid "NAME" msgstr "NOM" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:157 msgid "X display to use" -msgstr "Visualització X a utilitzar" +msgstr "Visualització X que s'ha d'utilitzar" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:158 msgid "DISPLAY" msgstr "VISUALITZACIÓ" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:160 msgid "X screen to use" -msgstr "Pantalla X a utilitzar" +msgstr "Pantalla X que s'ha d'utilitzar" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:161 msgid "SCREEN" msgstr "PANTALLA" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: ../gdk/gdk.c:164 msgid "GDK debugging flags to set" -msgstr "Senyaladors de depuració de GTK+ a habilitar" +msgstr "Senyaladors de depuració del GDK que s'han d'habilitar" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:165 ../gdk/gdk.c:168 ../gtk/gtkmain.c:459 ../gtk/gtkmain.c:462 msgid "FLAGS" msgstr "SENYALADORS" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: ../gdk/gdk.c:167 msgid "GDK debugging flags to unset" -msgstr "Senyaladors de depuració de GTK+ a inhabilitar" +msgstr "Senyaladors de depuració del GDK que s'han d'inhabilitar" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "Retrocés" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tabulador" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Retorn" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pausa" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Bloc_Despl" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Pet_Sis" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Esc" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Tecla_multi" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Inici" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Esquerra" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Amunt" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Dreta" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Avall" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Re_Pàg" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Av_Pàg" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "Fi" # FIXME És la mateixa traducció que «Home», però no tinc cap teclat # amb aquesta tecla per a comprovar-ho (dpm) -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Inici" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Impr_Pant" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Bloc_Núm" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "TN_Espai" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "TN_Tabulador" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "TN_Retorn" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "TN_Inici" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "TN_Esquerra" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "TN_Amunt" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "TN_Dreta" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "TN_Avall" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "TN_Re_Pàg" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "TN_Anterior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "TN_Av_Pàg" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "TN_Següent" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "TN_Fi" # FIXME És la mateixa traducció que «Home», però no tinc cap teclat # amb aquesta tecla per a comprovar-ho (dpm) -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "TN_Inici" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "TN_Ins" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "TN_Supr" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Supr" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "No processis en lot les peticions del GDI" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" -msgstr "No utilitzes l'API Wintab per al suport de tablet" +msgstr "No utilitzes l'API Wintab per al suport de tauleta gràfica" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "El mateix que --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Utilitza l'API Wintab [per defecte]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "Mida de la paleta al mode 8 bits" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "COLORS" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#. Description of --sync in --help output +#: ../gdk/x11/gdkmain-x11.c:93 +msgid "Make X calls synchronous" +msgstr "Fes les crides a X sincronitzades" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:313 #, c-format msgid "Starting %s" msgstr "S'està iniciant %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 #, c-format msgid "Opening %s" msgstr "S'està obrint %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:322 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "S'està obrint %d element" msgstr[1] "S'estan obrint %d elements" -#. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 -msgid "Make X calls synchronous" -msgstr "Fes les crides a X sincronitzades" +#: ../gtk/gtkaboutdialog.c:242 +msgid "Could not show link" +msgstr "No s'ha pogut mostrar l'enllaç" -#. Translators: this is the license preamble; the string at the end -#. * contains the URL of the license. -#. -#: gtk/gtkaboutdialog.c:101 -#, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "" - -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:365 ../gtk/gtkaboutdialog.c:2263 msgid "License" msgstr "Llicència" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:366 msgid "The license of the program" msgstr "La llicència del programa" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:625 msgid "C_redits" msgstr "C_rèdits" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:639 msgid "_License" msgstr "_Llicència" -#: gtk/gtkaboutdialog.c:839 -msgid "Could not show link" -msgstr "No s'ha pogut mostrar l'enllaç" - -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:917 #, c-format msgid "About %s" msgstr "Quant a %s" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Credits" msgstr "Crèdits" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2215 msgid "Written by" msgstr "Escrit per" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2218 msgid "Documented by" msgstr "Documentat per" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2230 msgid "Translated by" msgstr "Traduït per" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2234 msgid "Artwork by" msgstr "Art per" @@ -409,7 +401,7 @@ msgstr "Art per" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:146 msgctxt "keyboard label" msgid "Shift" msgstr "Majús" @@ -419,7 +411,7 @@ msgstr "Majús" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:152 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -429,7 +421,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -439,7 +431,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:743 msgctxt "keyboard label" msgid "Super" msgstr "Súper" @@ -449,7 +441,7 @@ msgstr "Súper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:756 msgctxt "keyboard label" msgid "Hyper" msgstr "Híper" @@ -459,39 +451,39 @@ msgstr "Híper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:787 msgctxt "keyboard label" msgid "Space" msgstr "Espai" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:790 msgctxt "keyboard label" msgid "Backslash" msgstr "Barra inversa" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Funció de tipus no vàlida a la línia %d: «%s»" -#: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#: ../gtk/gtkbuilderparser.c:407 +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "" "Identificador d'objecte duplicat «%s» a la línia %d (anteriorment a la línia " -"%d)" +"% d)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "El nom de l'element arrel no és vàlid: «%s»" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "L'etiqueta no està gestionada: «%s»" @@ -506,7 +498,7 @@ msgstr "L'etiqueta no està gestionada: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:799 msgid "calendar:MY" msgstr "calendar:MY" @@ -514,7 +506,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:837 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -523,7 +515,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1890 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -538,7 +530,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1921 ../gtk/gtkcalendar.c:2584 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -554,7 +546,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1953 ../gtk/gtkcalendar.c:2447 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -570,7 +562,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2235 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -578,7 +570,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:244 msgctxt "Accelerator" msgid "Disabled" msgstr "Inhabilitat" @@ -587,7 +579,7 @@ msgstr "Inhabilitat" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:254 msgctxt "Accelerator" msgid "Invalid" msgstr "No vàlid" @@ -596,25 +588,25 @@ msgstr "No vàlid" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:389 ../gtk/gtkcellrendereraccel.c:603 msgid "New accelerator..." msgstr "Accelerador nou..." -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:361 ../gtk/gtkcellrendererprogress.c:448 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:178 ../gtk/gtkcolorbutton.c:457 msgid "Pick a Color" msgstr "Trieu un color" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:350 msgid "Received invalid color data\n" msgstr "S'han rebut dades de color no vàlides\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:363 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -622,76 +614,75 @@ msgstr "" "Seleccioneu el color que vulgueu de l'anell extern. Seleccioneu la foscor o " "la claror del color utilitzant el triangle intern." -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:387 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "" -"Feu clic al selector de color, llavors feu clic on vulgueu de la vostra " -"pantalla per seleccionar el seu color." +"Feu clic al selector de color i, tot seguit, feu clic en un punt de la " +"pantalla per seleccionar-ne el color." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:396 msgid "_Hue:" msgstr "_Matís:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:397 msgid "Position on the color wheel." msgstr "Posició a la roda de colors." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:399 msgid "_Saturation:" msgstr "_Saturació:" -#: gtk/gtkcolorsel.c:421 -#, fuzzy -msgid "Intensity of the color." -msgstr "Transparència del color." +#: ../gtk/gtkcolorsel.c:400 +msgid "\"Deepness\" of the color." +msgstr "«Profunditat» del color." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:401 msgid "_Value:" msgstr "_Valor:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:402 msgid "Brightness of the color." msgstr "Brillantor del color." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:403 msgid "_Red:" msgstr "_Roig:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:404 msgid "Amount of red light in the color." msgstr "Quantitat de llum vermella en el color." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:405 msgid "_Green:" msgstr "_Verd:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:406 msgid "Amount of green light in the color." msgstr "Quantitat de llum verda en el color." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:407 msgid "_Blue:" msgstr "_Blau:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:408 msgid "Amount of blue light in the color." msgstr "Quantitat de llum blava en el color." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:411 msgid "Op_acity:" msgstr "Op_acitat:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:418 ../gtk/gtkcolorsel.c:428 msgid "Transparency of the color." msgstr "Transparència del color." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:435 msgid "Color _name:" msgstr "_Nom del color:" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:449 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -699,15 +690,15 @@ msgstr "" "Podeu introduir un valor de color hexadecimal a l'estil HTML, o simplement " "el nom d'un color (com ara «orange»)." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:479 msgid "_Palette:" msgstr "_Paleta:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:508 msgid "Color Wheel" msgstr "Roda de colors" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:967 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -718,7 +709,7 @@ msgstr "" "seleccionar-lo com a actual per portar-lo a l'altra banda de la gamma de " "colors." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:970 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -726,32 +717,32 @@ msgstr "" "El color que heu escollit. Podeu arrossegar este color cap a una paleta i " "alçar-lo per utilitzar-lo més avant." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:975 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "" -"El color seleccionat anteriorment, en comparació amb el color que esteu " +"El color seleccionat anteriorment, per comparar-lo amb el color que esteu " "seleccionant." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:978 msgid "The color you've chosen." msgstr "El color que heu triat." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1391 msgid "_Save color here" msgstr "Al_ça el color ací" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1596 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" msgstr "" -"Feu clic a esta entrada de paleta per fer que siga el color actual. per " +"Feu clic en esta entrada de paleta per fer que siga el color actual. Per " "canviar esta entrada, arrossegueu una gamma de colors ací o feu-hi clic amb " "el botó dret i seleccioneu «Alça el color ací»." -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:170 msgid "Color Selection" msgstr "Selecció de color" @@ -763,138 +754,126 @@ msgstr "Selecció de color" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:118 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:373 ../gtk/gtkprintunixdialog.c:3226 msgid "Manage Custom Sizes" msgstr "Gestioneu mides personalitzades" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:778 msgid "inch" -msgstr "inch" +msgstr "in" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:776 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:580 msgid "Margins from Printer..." msgstr "Marges de la impressora..." -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:746 #, c-format msgid "Custom Size %d" msgstr "Mida personalitzada %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1054 msgid "_Width:" msgstr "_Amplada:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1066 msgid "_Height:" msgstr "_Alçada:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1078 msgid "Paper Size" msgstr "Mida del paper" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1087 msgid "_Top:" msgstr "_Superior:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1099 msgid "_Bottom:" msgstr "_Inferior:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1111 msgid "_Left:" msgstr "_Esquerre:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1123 msgid "_Right:" msgstr "_Dret:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1164 msgid "Paper Margins" msgstr "Marges del paper" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8751 ../gtk/gtktextview.c:7974 msgid "Input _Methods" msgstr "_Mètodes d'entrada" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8765 ../gtk/gtktextview.c:7988 msgid "_Insert Unicode Control Character" msgstr "_Insereix caràcters de control Unicode" -#: gtk/gtkentry.c:10015 -msgid "Caps Lock and Num Lock are on" -msgstr "" - -#: gtk/gtkentry.c:10017 -#, fuzzy -msgid "Num Lock is on" -msgstr "La fixació de majúscules està activada" - -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10144 msgid "Caps Lock is on" msgstr "La fixació de majúscules està activada" -#. **************** * -#. * Private Macros * -#. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "Select A File" msgstr "Seleccioneu un fitxer" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:65 ../gtk/gtkfilechooserdefault.c:1839 msgid "Desktop" msgstr "Escriptori" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:66 msgid "(None)" msgstr "(Cap)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2021 msgid "Other..." msgstr "Altre..." -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:148 msgid "Type name of new folder" msgstr "Escriviu el nom de la carpeta nova" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:965 msgid "Could not retrieve information about the file" msgstr "No s'ha pogut obtindre informació sobre el fitxer" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:976 msgid "Could not add a bookmark" msgstr "No s'ha pogut afegir una adreça d'interés" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:987 msgid "Could not remove bookmark" msgstr "No s'ha pogut suprimir l'adreça d'interés" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:998 msgid "The folder could not be created" msgstr "No s'ha pogut crear la carpeta" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:1011 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." msgstr "" -"No s'ha pogut crear la carpeta, perquè ja existeix un fitxer amb el mateix " -"nom. Proveu utilitzant un nom diferent per a la carpeta, o canvieu el nom " -"del fitxer abans." +"No s'ha pogut crear la carpeta perquè ja existeix un fitxer amb el mateix " +"nom. Proveu d'utilitzar un nom diferent per a la carpeta, o bé canvieu el " +"nom del fitxer abans de crear-la." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1022 msgid "Invalid file name" msgstr "El nom del fitxer no és vàlid" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1032 msgid "The folder contents could not be displayed" msgstr "No s'ha pogut mostrar el contingut de la carpeta" @@ -902,202 +881,201 @@ msgstr "No s'ha pogut mostrar el contingut de la carpeta" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1582 #, c-format msgid "%1$s on %2$s" msgstr "%1$s a %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1758 msgid "Search" msgstr "Cerca" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1782 ../gtk/gtkfilechooserdefault.c:9465 msgid "Recently Used" msgstr "Utilitzats recentment" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2422 msgid "Select which types of files are shown" msgstr "Seleccioneu quins tipus de fitxers es mostren" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2781 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Afig la carpeta «%s» a les adreces d'interés" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2825 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Afig la carpeta actual a les adreces d'interés" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2827 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Afig les carpetes seleccionades a les adreces d'interés" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2865 #, c-format msgid "Remove the bookmark '%s'" msgstr "Suprimeix l'adreça d'interés «%s»" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2867 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "No es pot suprimir l'adreça d'interés «%s»" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2874 ../gtk/gtkfilechooserdefault.c:3898 msgid "Remove the selected bookmark" -msgstr "Suprimeix les adreces d'interés seleccionades" +msgstr "Suprimeix l'adreça d'interés seleccionada" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3594 msgid "Remove" msgstr "Suprimeix" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3603 msgid "Rename..." msgstr "Canvia el nom..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3766 msgid "Places" msgstr "Llocs" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3823 msgid "_Places" msgstr "_Llocs" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3879 msgid "_Add" msgstr "_Afig" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3886 msgid "Add the selected folder to the Bookmarks" msgstr "Afig la carpeta seleccionada a les adreces d'interés" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3891 msgid "_Remove" msgstr "_Suprimeix" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:4026 msgid "Could not select file" msgstr "No s'ha pogut seleccionar el fitxer" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4201 msgid "_Add to Bookmarks" msgstr "_Afig a les adreces d'interés" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4214 msgid "Show _Hidden Files" msgstr "Mostra els fitxers _ocults" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4221 msgid "Show _Size Column" msgstr "Mostra la columna de la _mida" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4441 ../gtk/gtkfilesel.c:730 msgid "Files" msgstr "Fitxers" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4492 msgid "Name" msgstr "Nom" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4515 msgid "Size" msgstr "Mida" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4529 msgid "Modified" msgstr "Modificat" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4784 ../gtk/gtkprinteroptionwidget.c:802 msgid "_Name:" msgstr "_Nom:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4827 msgid "_Browse for other folders" msgstr "Na_vega per altres carpetes" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:5097 msgid "Type a file name" msgstr "Escriviu un nom de fitxer" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5140 msgid "Create Fo_lder" msgstr "Crea una ca_rpeta" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5150 msgid "_Location:" msgstr "_Ubicació:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5354 msgid "Save in _folder:" -msgstr "Al_ça en la carpeta:" +msgstr "De_sa a la carpeta:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5356 msgid "Create in _folder:" -msgstr "Crea en la _carpeta:" +msgstr "Crea a la _carpeta:" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6431 #, c-format msgid "Could not read the contents of %s" msgstr "No s'ha pogut llegir el contingut de %s" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6435 msgid "Could not read the contents of the folder" msgstr "No s'ha pogut llegir el contingut de la carpeta" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6528 ../gtk/gtkfilechooserdefault.c:6596 +#: ../gtk/gtkfilechooserdefault.c:6741 msgid "Unknown" msgstr "Desconegut" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6543 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6545 msgid "Yesterday at %H:%M" msgstr "Ahir a les %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7211 msgid "Cannot change to folder because it is not local" msgstr "No es pot canviar a la carpeta perquè no és local" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7808 ../gtk/gtkfilechooserdefault.c:7829 #, c-format msgid "Shortcut %s already exists" msgstr "La drecera %s ja existeix" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7919 #, c-format msgid "Shortcut %s does not exist" msgstr "La drecera %s no existeix" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8174 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" -msgstr "Ja existeix un fitxer amb el nom «%s». Voleu reemplaçar-ho?" +msgstr "Ja existeix un fitxer amb el nom «%s». Voleu reemplaçar-lo?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8177 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" -"El fitxer ja existeix a «%s». Si ho reemplaceu sobreescriureu el seu " -"contingut." +"El fitxer ja existeix a «%s». Si el reemplaceu en sobreescriureu elcontingut." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8182 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Reemplaça" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8834 msgid "Could not start the search process" msgstr "No s'ha pogut iniciar el procés de cerca" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8835 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1105,36 +1083,36 @@ msgstr "" "El programa no ha pogut crear cap connexió al dimoni d'indexació. Assegureu-" "vos que s'està executant." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8849 msgid "Could not send the search request" msgstr "No s'ha pogut enviar la sol·licitud de cerca" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:9037 msgid "Search:" msgstr "Cerca:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9642 #, c-format msgid "Could not mount %s" msgstr "No s'ha pogut muntar %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1166 msgid "Invalid path" msgstr "Camí no vàlid" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1098 msgid "No match" msgstr "No hi ha cap coincidència" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1109 msgid "Sole completion" msgstr "Compleció única" @@ -1142,13 +1120,13 @@ msgstr "Compleció única" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1125 msgid "Complete, but not unique" msgstr "Complet, però no és únic" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1157 msgid "Completing..." msgstr "S'està completant..." @@ -1156,7 +1134,7 @@ msgstr "S'està completant..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1179 ../gtk/gtkfilechooserentry.c:1204 msgid "Only local files may be selected" msgstr "Només es poden seleccionar fitxers locals" @@ -1164,80 +1142,222 @@ msgstr "Només es poden seleccionar fitxers locals" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1188 msgid "Incomplete hostname; end it with '/'" msgstr "El nom d'ordinador no és complet; ha de finalitzar amb «/»" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1199 msgid "Path does not exist" msgstr "No existeix el camí" -#: gtk/gtkfilechoosersettings.c:486 +#: ../gtk/gtkfilechoosersettings.c:487 ../gtk/gtkfilesel.c:1349 +#: ../gtk/gtkfilesel.c:1360 #, c-format msgid "Error creating folder '%s': %s" msgstr "S'ha produït un error en crear la carpeta «%s»: %s" +#: ../gtk/gtkfilesel.c:694 +msgid "Folders" +msgstr "Carpetes" + +#: ../gtk/gtkfilesel.c:698 +msgid "Fol_ders" +msgstr "_Carpetes" + +#: ../gtk/gtkfilesel.c:734 +msgid "_Files" +msgstr "_Fitxers" + +#: ../gtk/gtkfilesel.c:821 ../gtk/gtkfilesel.c:2154 +#, c-format +msgid "Folder unreadable: %s" +msgstr "No es pot llegir la carpeta: %s" + +#: ../gtk/gtkfilesel.c:905 +#, c-format +msgid "" +"The file \"%s\" resides on another machine (called %s) and may not be " +"available to this program.\n" +"Are you sure that you want to select it?" +msgstr "" +"El fitxer «%s» es troba en una altra màquina (anomenada %s) i pot ser que no " +"estiga disponible per a este programa.\n" +"Esteu segur que voleu seleccionar-lo?" + +#: ../gtk/gtkfilesel.c:1020 +msgid "_New Folder" +msgstr "Carpeta _nova" + +#: ../gtk/gtkfilesel.c:1031 +msgid "De_lete File" +msgstr "Suprimeix e_l fitxer" + +#: ../gtk/gtkfilesel.c:1042 +msgid "_Rename File" +msgstr "_Canvia el nom del fitxer" + +#: ../gtk/gtkfilesel.c:1347 +#, c-format +msgid "" +"The folder name \"%s\" contains symbols that are not allowed in filenames" +msgstr "" +"El nom de la carpeta «%s» conté símbols que no estan permesos als noms de " +"fitxer" + +#: ../gtk/gtkfilesel.c:1394 +msgid "New Folder" +msgstr "Carpeta nova" + +#: ../gtk/gtkfilesel.c:1409 +msgid "_Folder name:" +msgstr "Nom de la _carpeta:" + +#: ../gtk/gtkfilesel.c:1433 +msgid "C_reate" +msgstr "C_rea" + +#: ../gtk/gtkfilesel.c:1476 ../gtk/gtkfilesel.c:1585 ../gtk/gtkfilesel.c:1598 +#, c-format +msgid "The filename \"%s\" contains symbols that are not allowed in filenames" +msgstr "" +"El nom del fitxer «%s» conté símbols que no estan permesos als noms de fitxer" + +#: ../gtk/gtkfilesel.c:1479 ../gtk/gtkfilesel.c:1491 +#, c-format +msgid "Error deleting file '%s': %s" +msgstr "S'ha produït un error en suprimir el fitxer «%s»: %s" + +#: ../gtk/gtkfilesel.c:1534 +#, c-format +msgid "Really delete file \"%s\"?" +msgstr "Esteu segur de voler suprimir el fitxer «%s»?" + +#: ../gtk/gtkfilesel.c:1539 +msgid "Delete File" +msgstr "Suprimeix el fitxer" + +#: ../gtk/gtkfilesel.c:1587 +#, c-format +msgid "Error renaming file to \"%s\": %s" +msgstr "S'ha produït un error en canviar el nom del fitxer a «%s»: %s" + +#: ../gtk/gtkfilesel.c:1600 +#, c-format +msgid "Error renaming file \"%s\": %s" +msgstr "S'ha produït un error en canviar el nom del fitxer «%s»: %s" + +#: ../gtk/gtkfilesel.c:1611 +#, c-format +msgid "Error renaming file \"%s\" to \"%s\": %s" +msgstr "S'ha produït un error en canviar el nom del fitxer «%s» a «%s»: %s" + +#: ../gtk/gtkfilesel.c:1658 +msgid "Rename File" +msgstr "Canvia el nom del fitxer" + +#: ../gtk/gtkfilesel.c:1673 +#, c-format +msgid "Rename file \"%s\" to:" +msgstr "Canvia el nom del fitxer «%s» a:" + +#: ../gtk/gtkfilesel.c:1702 +msgid "_Rename" +msgstr "_Canvia el nom" + +#: ../gtk/gtkfilesel.c:2134 +msgid "_Selection: " +msgstr "_Selecció: " + +#: ../gtk/gtkfilesel.c:3056 +#, c-format +msgid "" +"The filename \"%s\" couldn't be converted to UTF-8. (try setting the " +"environment variable G_FILENAME_ENCODING): %s" +msgstr "" +"No s'ha pogut convertir el nom de fitxer «%s» a UTF-8. (Proveu d'establir la " +"variable d'entorn G_FILENAME_ENCODING): %s" + +#: ../gtk/gtkfilesel.c:3059 +msgid "Invalid UTF-8" +msgstr "UTF-8 no vàlid" + +#: ../gtk/gtkfilesel.c:3935 +msgid "Name too long" +msgstr "El nom és massa llarg" + +#: ../gtk/gtkfilesel.c:3937 +msgid "Couldn't convert filename" +msgstr "No s'ha pogut convertir el nom del fitxer" + #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:52 msgid "File System" msgstr "Sistema de fitxers" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:144 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Trieu un tipus de lletra" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Tipus de lletra" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:75 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcçdefghijk ABCÇDEFGHIJK" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:343 msgid "_Family:" msgstr "_Família:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:349 msgid "_Style:" msgstr "E_stil:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:355 msgid "Si_ze:" msgstr "_Mida:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:532 msgid "_Preview:" msgstr "_Previsualització:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1649 msgid "Font Selection" msgstr "Selecció del tipus de lletra" +#: ../gtk/gtkgamma.c:410 +msgid "Gamma" +msgstr "Gamma" + +#: ../gtk/gtkgamma.c:420 +msgid "_Gamma value" +msgstr "Valor de la _gamma" + #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1354 #, c-format msgid "Error loading icon: %s" msgstr "S'ha produït un error en carregar la icona: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1363 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1250,77 +1370,156 @@ msgstr "" "Podeu obtindre'n una còpia de:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1543 #, c-format msgid "Icon '%s' not present in theme" msgstr "La icona «%s» no es troba al tema" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3074 msgid "Failed to load icon" msgstr "No s'ha pogut carregar la icona" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:527 msgid "Simple" msgstr "Simple" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:563 msgctxt "input method menu" msgid "System" msgstr "Sistema" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:573 msgctxt "input method menu" msgid "None" msgstr "Cap" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:656 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "Sistema (%s)" +#: ../gtk/gtkinputdialog.c:192 +msgid "Input" +msgstr "Entrada" + +#: ../gtk/gtkinputdialog.c:207 +msgid "No extended input devices" +msgstr "No hi ha cap dispositiu d'entrada ampliat" + +#: ../gtk/gtkinputdialog.c:220 +msgid "_Device:" +msgstr "_Dispositiu:" + +#: ../gtk/gtkinputdialog.c:237 +msgid "Disabled" +msgstr "Desactivat" + +#: ../gtk/gtkinputdialog.c:244 +msgid "Screen" +msgstr "Pantalla" + +#: ../gtk/gtkinputdialog.c:251 +msgid "Window" +msgstr "Finestra" + +#: ../gtk/gtkinputdialog.c:258 +msgid "_Mode:" +msgstr "_Mode:" + +#. The axis listbox +#: ../gtk/gtkinputdialog.c:279 +msgid "Axes" +msgstr "Eixos" + +#. Keys listbox +#: ../gtk/gtkinputdialog.c:297 +msgid "Keys" +msgstr "Tecles" + +#: ../gtk/gtkinputdialog.c:524 +msgid "_X:" +msgstr "_X:" + +#: ../gtk/gtkinputdialog.c:525 +msgid "_Y:" +msgstr "_Y:" + +#: ../gtk/gtkinputdialog.c:526 +msgid "_Pressure:" +msgstr "_Pressió:" + +#: ../gtk/gtkinputdialog.c:527 +msgid "X _tilt:" +msgstr "_Inclinació en X:" + +#: ../gtk/gtkinputdialog.c:528 +msgid "Y t_ilt:" +msgstr "I_nclinació en Y:" + +#: ../gtk/gtkinputdialog.c:529 +msgid "_Wheel:" +msgstr "_Roda:" + +#: ../gtk/gtkinputdialog.c:581 +msgid "none" +msgstr "cap" + +#: ../gtk/gtkinputdialog.c:618 ../gtk/gtkinputdialog.c:654 +msgid "(disabled)" +msgstr "(desactivat)" + +#: ../gtk/gtkinputdialog.c:647 +msgid "(unknown)" +msgstr "(desconegut)" + +#. and clear button +#: ../gtk/gtkinputdialog.c:751 +msgid "Cl_ear" +msgstr "_Neteja" + #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:5700 msgid "_Open Link" msgstr "Obri l'_enllaç" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:5712 msgid "Copy _Link Address" msgstr "Copia l'adreça de l'en_llaç" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:428 msgid "Copy URL" msgstr "Copia l'URL" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:586 msgid "Invalid URI" msgstr "URI no vàlid" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:452 msgid "Load additional GTK+ modules" msgstr "Carrega mòduls del GTK+ addicionals" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:453 msgid "MODULES" msgstr "MÒDULS" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:455 msgid "Make all warnings fatal" msgstr "Considera tots els avisos com a greus" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:458 msgid "GTK+ debugging flags to set" -msgstr "Senyaladors de depuració de GTK+ a habilitar" +msgstr "Senyaladors de depuració de GTK+ que s'han d'habilitar" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:461 msgid "GTK+ debugging flags to unset" -msgstr "Senyaladors de depuració de GTK+ a inhabilitar" +msgstr "Senyaladors de depuració de GTK+ que s'han d'inhabilitar" # Premi a qui va ficar "Per defecte:LTR. M'ha costat # trobar en quin mòdul estava l'error. jm @@ -1329,123 +1528,123 @@ msgstr "Senyaladors de depuració de GTK+ a inhabilitar" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:731 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:796 #, c-format msgid "Cannot open display: %s" msgstr "No es pot obrir la pantalla: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:833 msgid "GTK+ Options" msgstr "Opcions del GTK+" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:833 msgid "Show GTK+ Options" msgstr "Mostra les opcions del GTK+" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:489 msgid "Co_nnect" msgstr "C_onnecta" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:556 msgid "Connect _anonymously" msgstr "Connecta't _anònimament" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:565 msgid "Connect as u_ser:" msgstr "Connecta't com a u_suari:" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:603 msgid "_Username:" msgstr "_Nom d'usuari:" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:608 msgid "_Domain:" msgstr "_Domini:" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:614 msgid "_Password:" msgstr "Contrasen_ya:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:632 msgid "Forget password _immediately" msgstr "Oblida la _contrasenya immediatament" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:642 msgid "Remember password until you _logout" msgstr "Recorda la contrasenya _fins que isca" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:652 msgid "Remember _forever" msgstr "Recorda-la per se_mpre" -#: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation.c:881 +#, c-format msgid "Unknown Application (PID %d)" msgstr "Aplicació desconeguda (PID %d)" -#: gtk/gtkmountoperation.c:1066 -#, c-format +#: ../gtk/gtkmountoperation.c:1064 msgid "Unable to end process" msgstr "No es pot finalitzar el procés" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1101 msgid "_End Process" msgstr "_Finalitza el procés" -#: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." msgstr "" "No es pot matar el procés amb el PID %d. L'operació no està implementada." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Terminal Pager" msgstr "Paginador del terminal" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Top Command" msgstr "Orde «top»" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:867 msgid "Bourne Again Shell" msgstr "Intèrpret d'ordes «Bourne Again»" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:868 msgid "Bourne Shell" msgstr "Intèrpret d'ordes «Bourne»" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:869 msgid "Z Shell" msgstr "Intèrpret d'ordes «Z»" -#: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-x11.c:966 +#, c-format msgid "Cannot end process with PID %d: %s" msgstr "No es pot finalitzar el procés amb el PID %d: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4705 ../gtk/gtknotebook.c:7311 #, c-format msgid "Page %u" msgstr "Pàgina %u" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:597 ../gtk/gtkpapersize.c:826 +#: ../gtk/gtkpapersize.c:868 msgid "Not a valid page setup file" msgstr "No és un fitxer de configuració de pàgina vàlid" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:167 msgid "Any Printer" msgstr "Qualsevol impressora" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:167 msgid "For portable documents" -msgstr "Per a documents portables" +msgstr "Per a documents portàtils" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:797 #, c-format msgid "" "Margins:\n" @@ -1460,273 +1659,269 @@ msgstr "" " Superior: %s %s\n" " Inferior: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:846 ../gtk/gtkprintunixdialog.c:3277 msgid "Manage Custom Sizes..." msgstr "Gestiona mides personalitzades..." -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:894 msgid "_Format for:" msgstr "_Format per a:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:916 ../gtk/gtkprintunixdialog.c:3449 msgid "_Paper size:" msgstr "Mida del _paper:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:947 msgid "_Orientation:" msgstr "_Orientació:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1011 ../gtk/gtkprintunixdialog.c:3511 msgid "Page Setup" msgstr "Configuració de la pàgina" # FIXME -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:151 msgid "Up Path" msgstr "Amunt" # FIXME -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:153 msgid "Down Path" msgstr "Avall" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1469 msgid "File System Root" msgstr "Arrel del sistema de fitxers" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "Autenticació" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:695 msgid "Not available" msgstr "No està disponible" -#: gtk/gtkprinteroptionwidget.c:794 -#, fuzzy -msgid "Select a folder" -msgstr "Seleccioneu un fitxer" - -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:814 msgid "_Save in folder:" -msgstr "Al_ça a la carpeta:" +msgstr "De_sa a la carpeta:" #. translators: this string is the default job title for print #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s treball #%d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1687 msgctxt "print operation status" msgid "Initial state" msgstr "Estat inicial" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1688 msgctxt "print operation status" msgid "Preparing to print" msgstr "S'està preparant per imprimir" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1689 msgctxt "print operation status" msgid "Generating data" msgstr "S'estan generant les dades" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1690 msgctxt "print operation status" msgid "Sending data" msgstr "S'estan enviant les dades" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1691 msgctxt "print operation status" msgid "Waiting" msgstr "S'està esperant" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1692 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Bloquejat degut a un problema" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1693 msgctxt "print operation status" msgid "Printing" msgstr "S'està imprimint" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1694 msgctxt "print operation status" msgid "Finished" msgstr "S'ha finalitzat" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Finished with error" msgstr "S'ha finalitzat amb error" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2254 #, c-format msgid "Preparing %d" msgstr "S'està preparant %d" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2256 ../gtk/gtkprintoperation.c:2875 msgid "Preparing" msgstr "S'està preparant" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2259 #, c-format msgid "Printing %d" msgstr "S'està imprimint %d" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2905 msgid "Error creating print preview" msgstr "S'ha produït un error en crear la previsualització d'impressió" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2908 msgid "The most probable reason is that a temporary file could not be created." msgstr "" "El motiu més probable és perquè no s'ha pogut crear un fitxer temporal." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 ../gtk/gtkprintoperation-unix.c:314 msgid "Error launching preview" -msgstr "S'ha produït un error en llançar la previsualització" +msgstr "S'ha produït un error en executar la previsualització" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:358 +msgid "Error printing" +msgstr "S'ha produït un error en imprimir" + +#: ../gtk/gtkprintoperation-unix.c:494 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Aplicació" # Connectada? (josep) -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:612 msgid "Printer offline" msgstr "La impressora no està en línia" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:614 msgid "Out of paper" msgstr "No hi ha paper" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "En pausa" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:618 msgid "Need user intervention" msgstr "Cal la intervenció de l'usuari" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:718 msgid "Custom size" msgstr "Mida personalitzada" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "No s'ha trobat cap impressora" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" -msgstr "Argument no vàlid per a la funció CreateDC" +msgstr "Argument no vàlid a la funció CreateDC" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Error de StartDoc" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "No hi ha prou memòria" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "Argument no vàlid a PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "Punter no vàlid a PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "Gestor no vàlid a PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Error no especificat" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:614 msgid "Getting printer information failed" msgstr "Ha fallat l'obtenció d'informació de la impressora" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1862 msgid "Getting printer information..." msgstr "S'està obtenint informació de la impressora..." -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2132 msgid "Printer" msgstr "Impressora" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2142 msgid "Location" msgstr "Ubicació" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2153 msgid "Status" msgstr "Estat" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2179 msgid "Range" -msgstr "Rang" +msgstr "Interval" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2183 msgid "_All Pages" msgstr "T_otes les pàgines" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "C_urrent Page" msgstr "Pàgina act_ual" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2200 msgid "Se_lection" msgstr "_Selecció" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Pag_es:" msgstr "Pà_gines:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2210 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" msgstr "" -"Especifiqueu un o més rangs de pàgines,\n" -"p.ex. 1-3,7,11" +"Especifiqueu un o més intervals de pàgines,\n" +"p. ex. 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2220 msgid "Pages" msgstr "Pàgines" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2233 msgid "Copies" msgstr "Còpies" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2238 msgid "Copie_s:" msgstr "Còpie_s:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2256 msgid "C_ollate" msgstr "C_ompagina" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "_Reverse" msgstr "Inve_rteix" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2284 msgid "General" msgstr "General" @@ -1736,206 +1931,206 @@ msgstr "General" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3010 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 msgid "Left to right, top to bottom" msgstr "D'esquerra a dreta, de dalt a baix" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3010 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 msgid "Left to right, bottom to top" msgstr "D'esquerra a dreta, de baix a dalt" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3011 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 msgid "Right to left, top to bottom" msgstr "De dreta a esquerra, de dalt a baix" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3011 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 msgid "Right to left, bottom to top" msgstr "De dreta a esquerra, de baix a dalt" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3012 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 msgid "Top to bottom, left to right" msgstr "De dalt a baix, d'esquerra a dreta" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3012 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 msgid "Top to bottom, right to left" msgstr "De dalt a baix, de dreta a esquerra" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3013 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 msgid "Bottom to top, left to right" msgstr "De baix a dalt, d'esquerra a dreta" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3013 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 msgid "Bottom to top, right to left" msgstr "De baix a dalt, de dreta a esquerra" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3017 ../gtk/gtkprintunixdialog.c:3030 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 msgid "Page Ordering" msgstr "Ordenació de les pàgines" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3046 msgid "Left to right" msgstr "D'esquerra a dreta" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3047 msgid "Right to left" msgstr "De dreta a esquerra" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3059 msgid "Top to bottom" msgstr "De dalt a baix" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Bottom to top" msgstr "De baix a dalt" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3300 msgid "Layout" msgstr "Disposició" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3304 msgid "T_wo-sided:" msgstr "_Doble cara:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "Pages per _side:" msgstr "Pàgines per _cara:" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3336 msgid "Page or_dering:" msgstr "Or_denació de les pàgines:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "_Only print:" msgstr "N_omés imprimeix:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "All sheets" msgstr "Tots els fulls" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "Even sheets" msgstr "Fulls parells" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3369 msgid "Odd sheets" msgstr "Fulls senars" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3372 msgid "Sc_ale:" msgstr "Esc_ala:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3399 msgid "Paper" msgstr "Paper" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3403 msgid "Paper _type:" msgstr "_Tipus de paper:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _source:" msgstr "Font del pape_r:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Output t_ray:" msgstr "Safata de so_rtida:" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3473 msgid "Or_ientation:" msgstr "_Orientació:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Portrait" msgstr "Vertical" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Landscape" msgstr "Apaïsat" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3490 msgid "Reverse portrait" msgstr "Vertical del revés" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3491 msgid "Reverse landscape" msgstr "Apaïsat del revés" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3536 msgid "Job Details" -msgstr "Detalls del treball" +msgstr "Detalls de la tasca" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3542 msgid "Pri_ority:" msgstr "Pri_oritat:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "_Billing info:" msgstr "Informació de _facturació:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3575 msgid "Print Document" msgstr "Imprimeix el document" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3584 msgid "_Now" msgstr "A_ra" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3595 msgid "A_t:" -msgstr "_a:" +msgstr "_A les:" #. Translators: Ability to parse the am/pm format depends on actual locale. #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3601 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" msgstr "" "Especifiqueu l'hora d'impressió,\n" -" p.ex. 15:30, 2:35 PM, 14:15:20, 11:46:30 AM, 4 PM" +" p. ex. 15:30, 2:35 PM, 14:15:20, 11:46:30 AM, 4 PM" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "Time of print" msgstr "Hora d'impressió" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "On _hold" msgstr "En es_pera" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3628 msgid "Hold the job until it is explicitly released" msgstr "" "Mantingues la tasca en espera fins que no s'haja alliberat de manera " "explícita" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3648 msgid "Add Cover Page" -msgstr "Afig pàgina de coberta" +msgstr "Afig portada" # Possiblement sigui "abans de" (josep) #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Be_fore:" msgstr "A_bans:" @@ -1943,95 +2138,95 @@ msgstr "A_bans:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3675 msgid "_After:" msgstr "_Després:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3693 msgid "Job" -msgstr "Treball" +msgstr "Tasca" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3759 msgid "Advanced" msgstr "Avançat" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3794 msgid "Image Quality" msgstr "Qualitat de la imatge" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3798 msgid "Color" msgstr "Color" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3803 msgid "Finishing" msgstr "Acabaments" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Some of the settings in the dialog conflict" msgstr "Alguns paràmetres del diàleg estan en conflicte" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3836 msgid "Print" msgstr "Imprimeix" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2878 #, c-format msgid "Unable to find include file: \"%s\"" -msgstr "No s'ha pogut trobar el fitxer per a incloure: «%s»" +msgstr "No s'ha pogut trobar el fitxer per incloure: «%s»" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3508 ../gtk/gtkrc.c:3511 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "No s'ha trobat un fitxer d'imatge al pixmap_path: «%s»" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:154 ../gtk/gtkrecentaction.c:162 +#: ../gtk/gtkrecentchoosermenu.c:588 ../gtk/gtkrecentchoosermenu.c:596 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "Esta funció no està implementada per a ginys de la classe «%s»" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:481 msgid "Select which type of documents are shown" msgstr "Seleccioneu quins tipus de documents s'han de mostrar" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 #, c-format msgid "No item for URI '%s' found" msgstr "No s'ha trobat cap element per a l'URI «%s»" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1298 msgid "Untitled filter" msgstr "Filtre sense títol" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1651 msgid "Could not remove item" msgstr "No s'ha pogut suprimir l'element" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1695 msgid "Could not clear list" msgstr "No s'ha pogut netejar la llista" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1779 msgid "Copy _Location" msgstr "Copia la _ubicació" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1792 msgid "_Remove From List" msgstr "Sup_rimeix de la llista" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1801 msgid "_Clear List" msgstr "_Neteja la llista" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1815 msgid "Show _Private Resources" msgstr "Mostra els recursos _privats" @@ -2045,21 +2240,21 @@ msgstr "Mostra els recursos _privats" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:342 msgid "No items found" msgstr "No s'ha trobat cap element" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:508 ../gtk/gtkrecentchoosermenu.c:564 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "No hi ha cap recurs emprat recentment amb l'URI «%s»" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:775 #, c-format msgid "Open '%s'" msgstr "Obri «%s»" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:805 msgid "Unknown item" msgstr "Element desconegut" @@ -2068,7 +2263,7 @@ msgstr "Element desconegut" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:816 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2077,46 +2272,46 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:821 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. (%s)" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1033 ../gtk/gtkrecentmanager.c:1046 +#: ../gtk/gtkrecentmanager.c:1184 ../gtk/gtkrecentmanager.c:1194 +#: ../gtk/gtkrecentmanager.c:1247 ../gtk/gtkrecentmanager.c:1256 +#: ../gtk/gtkrecentmanager.c:1271 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "No s'ha pogut trobar cap element amb l'URI «%s»" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:458 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Indicador de progrés" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:459 msgid "Provides visual indication of progress" msgstr "Proporciona una indicació visual del progrés" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Information" msgstr "Informació" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Warning" msgstr "Avís" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Error" msgstr "Error" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:317 msgctxt "Stock label" msgid "Question" msgstr "Pregunta" @@ -2124,703 +2319,699 @@ msgstr "Pregunta" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_About" msgstr "_Quant a" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Add" msgstr "_Afig" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Apply" msgstr "_Aplica" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Bold" msgstr "_Negreta" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_Cancel" msgstr "_Cancel·la" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" -msgid "_CD-ROM" +msgid "_CD-Rom" msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Clear" msgstr "_Neteja" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "_Close" msgstr "_Tanca" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "C_onnect" msgstr "C_onnecta" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Convert" msgstr "_Converteix" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "_Copy" msgstr "_Copia" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "Cu_t" msgstr "Re_talla" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Delete" msgstr "_Suprimeix" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Discard" msgstr "_Descarta" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Disconnect" msgstr "_Desconnecta" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Execute" msgstr "_Executa" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_Edit" msgstr "_Edita" -#: gtk/gtkstock.c:338 -#, fuzzy -msgctxt "Stock label" -msgid "_File" -msgstr "_Fitxers" - -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "_Cerca" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "Cerca i _reemplaça" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "_Disquet" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "_Pantalla completa" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "I_x de la pantalla completa" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "_Inferior" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "_Primer" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "Ú_ltim" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "_Superior" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "_Enrere" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "A_vall" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "E_ndavant" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "A_munt" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" -msgid "_Hard Disk" +msgid "_Harddisk" msgstr "_Disc dur" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "A_juda" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "_Inici" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "Augmenta el sagnat" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "Disminueix el sagnat" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "Índe_x" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "_Informació" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "Curs_iva" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "_Vés a" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "_Centrat" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "_Justificat" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "_Esquerra" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "_Dreta" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "E_ndavant" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "_Següent" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "En _pausa" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "_Reprodueix" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "An_terior" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "En_registra" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "R_ebobina" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "_Atura" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "_Xarxa" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "_Nou" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "_No" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "_D'acord" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "_Obri" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "Apaïsat" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "Vertical" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "Apaïsat del revés" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "Vertical del revés" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "Confi_guració de la pàgina" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "_Enganxa" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "_Preferències" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "_Imprimeix" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "Pre_visualització de la impressió" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "_Propietats" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "I_x" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "_Refés" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "_Actualitza" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "_Suprimeix" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "_Restaura" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "Al_ça" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "_Anomena i alça" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "Seleccion_a-ho tot" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "_Color" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "_Tipus de lletra" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "_Ascendent" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "_Descendent" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "_Verifica l'ortografia" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "_Atura" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "_Barrat" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "Rec_upera" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "S_ubratlla" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "_Desfés" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "_Sí" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "Mida _normal" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "Millor a_just" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "_Amplia" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "_Redueix" # FIXME -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:651 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "S'ha produït un error en intentar deserialitzar %s" # FIXME -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:710 #, c-format msgid "No deserialize function found for format %s" msgstr "No s'ha trobat cap funció per deserialitzar el format %s" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:796 ../gtk/gtktextbufferserialize.c:822 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "S'ha trobat «id» i «name» a l'element <%s>" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:806 ../gtk/gtktextbufferserialize.c:832 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "S'ha trobat dues vegades l'atribut «%s» a l'element <%s>" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:846 +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "L'element <%s> té un id no vàlid «%s»" +msgstr "L'element <%s> té un identificador no vàlid «%s»" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:856 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" -msgstr "L'element <%s> no té ni l'atribut «name» ni el «id»" +msgstr "L'element <%s> no té ni l'atribut «name» ni l'«id»" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:943 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "L'atribut «%s» està repetit dues vegades en el mateix element <%s>" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:961 ../gtk/gtktextbufferserialize.c:986 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "L'atribut «%s» no és vàlid per a l'element <%s> en este context" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1022 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "L'etiqueta «%s» no ha estat definida." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1034 msgid "Anonymous tag found and tags can not be created." msgstr "S'han trobat etiquetes anònimes, i no se n'han pogut crear." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1045 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "L'etiqueta «%s» no existeix a la memòria intermèdia, i no se'n poden crear." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1144 ../gtk/gtktextbufferserialize.c:1219 +#: ../gtk/gtktextbufferserialize.c:1320 ../gtk/gtktextbufferserialize.c:1394 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "No es permet l'element <%s> per sota de <%s>" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1175 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» no és un tipus d'atribut vàlid" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» no és un nom d'atribut vàlid" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1193 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "No s'ha pogut convertir «%s» a un valor de tipus «%s» per a l'atribut «%s»" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» no és un valor vàlid per a l'atribut «%s»" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1285 #, c-format msgid "Tag \"%s\" already defined" msgstr "L'etiqueta «%s» ja està definida" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "L'etiqueta «%s» té una prioritat («%s») no vàlida" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1349 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "" "L'element de més enfora del text ha de ser i no pas <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1358 ../gtk/gtktextbufferserialize.c:1374 #, c-format msgid "A <%s> element has already been specified" msgstr "Ja s'ha especificat un element <%s>" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1380 msgid "A element can't occur before a element" msgstr "No pot haver-hi un element abans d'un de " -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1779 msgid "Serialized data is malformed" msgstr "Les dades en sèrie estan mal formades" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1857 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "Les dades en sèrie estan mal formades. La primera secció no és " "GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:61 msgid "LRM _Left-to-right mark" msgstr "Marca _esquerra-a-dreta LRM" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:62 msgid "RLM _Right-to-left mark" msgstr "Marca _dreta-a-esquerra RLM" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:63 msgid "LRE Left-to-right _embedding" msgstr "_Incrustació esquerra-a-dreta LRE" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:64 msgid "RLE Right-to-left e_mbedding" msgstr "I_ncrustació dreta-a-esquerra RLE" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:65 msgid "LRO Left-to-right _override" msgstr "_Substitució esquerra-a-dreta LRO" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:66 msgid "RLO Right-to-left o_verride" msgstr "S_ubstitució dreta-a-esquerra RLO" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:67 msgid "PDF _Pop directional formatting" msgstr "_Format direccional pop PDF" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:68 msgid "ZWS _Zero width space" msgstr "Espai d'amplada _zero ZWS" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:69 msgid "ZWJ Zero width _joiner" msgstr "En_samblador d'amplada zero ZWJ" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:70 msgid "ZWNJ Zero width _non-joiner" msgstr "_No-ensamblador d'amplada zero ZWNJ" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:71 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "No s'ha trobat el motor de tema al module_path: «%s»," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtktipsquery.c:188 +msgid "--- No Tip ---" +msgstr "-- Cap consell --" + +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "" "S'ha trobat una etiqueta d'inici «%s» inesperada a la línia %d, caràcter %d" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "S'han trobat dades de caràcter inesperades a la línia %d, caràcter %d" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "Buit" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "Volum" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "Apuja o abaixa el volum" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "Ajusta el volum" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:91 ../gtk/gtkvolumebutton.c:94 msgid "Volume Down" msgstr "Abaixa el volum" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:93 msgid "Decreases the volume" msgstr "Disminueix el volum" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:97 ../gtk/gtkvolumebutton.c:100 msgid "Volume Up" msgstr "Apuja el volum" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:99 msgid "Increases the volume" msgstr "Incrementa el volum" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:157 msgid "Muted" msgstr "Silencia" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:161 msgid "Full Volume" msgstr "Volum al màxim" @@ -2829,935 +3020,935 @@ msgstr "Volum al màxim" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:174 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "ASME_F" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 tabloide" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "Sobre DL" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "JIS executiu" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Sobre Choukei 2" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Sobre Choukei 3" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Sobre Choukei 4" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "Hagaki (postal)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "Sobre kahu" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "Sobre kaku2" # FIXME -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "Oufuku (postal de resposta)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "Sobre you4" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "Sobre 6x9" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "Sobre 7x9" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "Sobre 9x11" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "Sobre A2" # Mides per a l'arquitectura (dpm) -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "B plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "C" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "Sobre C5" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "D" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "E" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "EDP" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "EDP europeu" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executiu" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "F" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "Paper continu europeu" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "Paper continu americà" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "Paper continu alemany legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Legal govern" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Carta governamental" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Índex 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Índex 4x6 (postal)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Índex 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Índex 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "Factura" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tabloide" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "Legal americà" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "Legal americà extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "Carta americana" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "Carta americana extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "Carta americana plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Sobre Monarch" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "Sobre del núm. 10" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "Sobre del núm. 11" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "Sobre del núm. 12" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "Sobre del núm. 14" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "Sobre del núm. 9" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "Sobre personal" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quartilla" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Súper A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Súper B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "Format ample" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Foli" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Foli sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "Sobre d'invitació" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "Sobre italià" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "Juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "Pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Sobre Postfix" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "Foto petita" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "Sobre prc1" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "Sobre prc10" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "Sobre prc2" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "Sobre prc3" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "Sobre prc4" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "Sobre c5" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "Sobre prc6" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "Sobre prc7" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "Sobre prc8" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "Sobre prc9" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "s'han trobat diferents idatas per als enllaços simbòlics «%s» i «%s»\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "No s'ha pogut escriure la capçalera\n" # FIXME -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "No s'ha pogut escriure la taula de resum\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "No s'ha pogut escriure l'índex de la carpeta\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "No s'ha pogut reescriure la capçalera\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "No s'ha pogut obrir el fitxer %s: %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "No s'ha pogut escriure el fitxer de memòria cau: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "La memòria cau generada no era vàlida.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "No s'ha pogut canviar el nom de %s a %s: %s, se suprimirà %s.\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "No s'ha pogut canviar el nom de %s a %s: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "No s'ha pogut tornar a anomenar %s a %s: %s.\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" -msgstr "S'ha creat el fitxer de memòria cau amb èxit.\n" +msgstr "S'ha creat el fitxer de memòria cau correctament.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" -msgstr "Sobreescriu una memòria cau existent, encara que estiga al dia" +msgstr "Sobreescriu una memòria cau existent, encara que estiga actualitzada" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "No comprovis l'existència d'index.theme" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" -msgstr "No inclogues dades d'imatges a la memòria cau" +msgstr "No incloguis dades d'imatges a la memòria cau" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "Produeix un fitxer de capçalera C" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" -msgstr "Desactiva l'eixida detallada" +msgstr "Desactiva la eixida detallada" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "Valida la memòria cau d'icones existent" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "No s'ha trobat el fitxer: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "No és una memòria cau d'icones vàlida: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "No hi ha cap fitxer d'índex de tema.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3768,162 +3959,162 @@ msgstr "" "theme-index.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Amhàric (EZ+)" # FIXME #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" -msgstr "Cedilla" +msgstr "Diacrític" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" -msgstr "Ciríl·lic (Transliterat)" +msgstr "Ciríl·lic (transliterat)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" -msgstr "Inuktitut (Transliterat)" +msgstr "Inuktitut (transliterat)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Thai-Lao" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Tigrigna-Eritreà (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Tigrigna-Etíop (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "Vietnamita (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "Mètode d'entrada d'X" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "Nom d'usuari:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "Contrasenya:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 #, c-format msgid "Authentication is required to get a file from %s" msgstr "Cal autenticació per obtindre un fitxer de %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "Cal autenticació per imprimir el document «%s» a la impressora %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Cal autenticació per imprimir un document a %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Cal autenticació per obtindre els atributs de la tasca «%s»" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "Cal autenticació per obtindre els atributs d'una tasca" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Cal autenticació per obtindre els atributs de la impressora %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "Cal autenticació per obtindre els atributs d'una impressora" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Cal autenticació per obtindre la impressora predeterminada de %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Cal autenticació per obtindre les impressores de %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "Cal autenticació a %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "Domini:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Cal autenticar-se per imprimir un document a «%s»" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "Cal autenticar-se per imprimir este document a la impressora «%s»" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "Cal autenticar-se per imprimir este document" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "El nivell del tòner de la impressora «%s» és baix." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "No li queda tòner a la impressora «%s»." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "El nivell del revelador de la impressora «%s» és baix." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "No li queda revelador a la impressora «%s»." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "" @@ -3931,150 +4122,150 @@ msgstr "" "baix." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "" "No li queda tinta a almenys un dels contenidors de color a la impressora " "«%s»." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." -msgstr "La tapa de la impressora «%s» està oberta." +msgstr "La tapa de la impressora «%s» és oberta." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." -msgstr "La porta de la impressora «%s» està oberta." +msgstr "La porta de la impressora «%s» és oberta." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "El nivell del paper de la impressora «%s» és baix." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "No li queda paper a la impressora «%s»." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format msgid "Printer '%s' is currently offline." -msgstr "La impressora «%s» actualment no està en línia." +msgstr "La impressora «%s» no està en línia." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "Hi ha un problema a la impressora «%s»." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" -msgstr "En pausa; refusa les tasques" +msgstr "En pausa; es refusen les tasques" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" -msgstr "Refusa les tasques" +msgstr "Es refusen les tasques" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "Doble cara" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "Tipus de paper" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "Font del paper" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "Safata d'eixida" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "Resolució" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "Filtrat previ del GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "Una cara" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "Cantó llarg (estàndard)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "Cantó curt (capgirat)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "Selecció automàtica" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 msgid "Printer Default" msgstr "Predeterminat de la impressora" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "Incrusta només els tipus de lletra GhostScript" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "Converteix a PS, nivell 1" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "Converteix a PS, nivell 2" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "Sense filtratge previ" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "Miscel·lània" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 msgid "Urgent" msgstr "Urgent" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 msgid "High" msgstr "Alta" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 msgid "Medium" msgstr "Mitjana" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 msgid "Low" msgstr "Baixa" @@ -4082,60 +4273,60 @@ msgstr "Baixa" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 msgid "Pages per Sheet" msgstr "Pàgines per full" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 msgid "Job Priority" msgstr "Prioritat de la tasca" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 msgid "Billing Info" msgstr "Informació de facturació" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "None" msgstr "Cap" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Classified" msgstr "Classificat" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Confidential" msgstr "Confidencial" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Secret" msgstr "Secret" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Standard" msgstr "Estàndard" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Top Secret" msgstr "Alt secret" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Unclassified" -msgstr "Desclassificat" +msgstr "No classificat" # Possiblement sigui "abans de" (josep) #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 msgid "Before" msgstr "Abans" @@ -4143,7 +4334,7 @@ msgstr "Abans" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 msgid "After" msgstr "Després" @@ -4151,7 +4342,7 @@ msgstr "Després" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 msgid "Print at" msgstr "Imprimeix" @@ -4159,7 +4350,7 @@ msgstr "Imprimeix" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 msgid "Print at time" msgstr "Imprimeix a una hora o data determinada" @@ -4167,106 +4358,106 @@ msgstr "Imprimeix a una hora o data determinada" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 #, c-format msgid "Custom %sx%s" msgstr "Personalitzat %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "eixida %s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:493 msgid "Print to File" msgstr "Imprimeix a un fitxer" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Pàgines per _full:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:641 msgid "File" msgstr "Fitxer" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:651 msgid "_Output format" msgstr "F_ormat d'eixida" # FIXME -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Imprimeix a LPR" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Pàgines per full" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Línia d'ordes" # Connectada? (josep) #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "la impressora no està en línia" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "a punt per imprimir" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "s'està processant la tasca" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "en pausa" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "desconegut" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "prova-de-eixida.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Imprimiu per provar la impressora" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "No s'ha pogut obtindre informació per al fitxer «%s»: %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "No s'ha pogut obrir el fitxer «%s»: %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" @@ -4274,11 +4465,34 @@ msgstr "" "No es pot carregar la imatge «%s»: se'n desconeix el motiu; probablement es " "tracta d'un fitxer d'imatge malmés" +#~ msgid "" +#~ "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +#~ msgstr "" +#~ "Aquest programa es proporciona sense CAP TIPUS DE GARANTIA; per obtenir-" +#~ "ne més informació, visiteu %s." + +#~ msgid "Intensity of the color." +#~ msgstr "Intensitat del color." + +#~ msgid "Caps Lock and Num Lock are on" +#~ msgstr "" +#~ "La fixació de majúscules i la fixació de teclat numèric estan activades" + +#~ msgid "Num Lock is on" +#~ msgstr "La fixació de teclat numèric està activada" + +#~ msgid "Select a folder" +#~ msgstr "Seleccioneu una carpeta" + +#~ msgctxt "Stock label" +#~ msgid "_File" +#~ msgstr "_Fitxer" + #~ msgid "Gdk debugging flags to set" -#~ msgstr "Senyaladors de depuració del Gdk a habilitar" +#~ msgstr "Senyaladors de depuració del Gdk que s'han d'habilitar" #~ msgid "Gdk debugging flags to unset" -#~ msgstr "Senyaladors de depuració del Gdk a inhabilitar" +#~ msgstr "Senyaladors de depuració del Gdk que s'han d'inhabilitar" #~ msgid "Image file '%s' contains no data" #~ msgstr "El fitxer gràfic «%s» no conté dades" @@ -4288,7 +4502,7 @@ msgstr "" #~ "animation file" #~ msgstr "" #~ "No es pot carregar l'animació «%s»: se'n desconeix el motiu; probablement " -#~ "es tracta d'un fitxer d'animació malmés" +#~ "es tracta d'un fitxer d'animació malmès" #~ msgid "Unable to load image-loading module: %s: %s" #~ msgstr "No és possible carregar el mòdul per a la càrrega d'imatges: %s: %s" @@ -4317,10 +4531,11 @@ msgstr "" #~ msgid "" #~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "Este muntatge de gdk-pixbuf no permet alçar el format d'imatge: %s" +#~ msgstr "" +#~ "Aquest muntatge de gdk-pixbuf no permet desar el format d'imatge: %s" #~ msgid "Insufficient memory to save image to callback" -#~ msgstr "No hi ha memòria suficient per alçar la imatge a la crida de retorn" +#~ msgstr "No hi ha memòria suficient per desar la imatge a la crida de retorn" #~ msgid "Failed to open temporary file" #~ msgstr "No s'ha pogut obrir el fitxer temporal" @@ -4335,12 +4550,12 @@ msgstr "" #~ "Failed to close '%s' while writing image, all data may not have been " #~ "saved: %s" #~ msgstr "" -#~ "No s'ha pogut alçar «%s» en escriure la imatge, és probable que no " -#~ "s'hagen alçat totes les dades: %s" +#~ "No s'ha pogut desar «%s» en escriure la imatge, és probable que no " +#~ "s'hagin desat totes les dades: %s" #~ msgid "Insufficient memory to save image into a buffer" #~ msgstr "" -#~ "No hi ha memòria suficient per alçar la imatge en una memòria intermèdia" +#~ "No hi ha memòria suficient per desar la imatge en una memòria intermèdia" #~ msgid "Error writing to image stream" #~ msgstr "S'ha produït un error en escriure al flux d'imatge" @@ -4406,7 +4621,7 @@ msgstr "" #~ msgstr "S'ha trobat un final de fitxer abans d'hora" #~ msgid "Couldn't allocate memory for saving BMP file" -#~ msgstr "No s'ha pogut obtindre memòria per alçar el fitxer BMP" +#~ msgstr "No s'ha pogut obtenir memòria per desar el fitxer BMP" #~ msgid "Couldn't write to BMP file" #~ msgstr "No s'ha pogut escriure al fitxer BMP" @@ -4429,7 +4644,7 @@ msgstr "" #~ msgstr "Sobreeiximent de la pila" #~ msgid "GIF image loader cannot understand this image." -#~ msgstr "El carregador d'imatges GIF no entén esta imatge." +#~ msgstr "El carregador d'imatges GIF no entén aquesta imatge." #~ msgid "Bad code encountered" #~ msgstr "S'ha trobat un codi incorrecte" @@ -4447,7 +4662,7 @@ msgstr "" #~ msgstr "La imatge GIF és corrupta (la compressió LZW és incorrecte)" #~ msgid "File does not appear to be a GIF file" -#~ msgstr "El fitxer no pareix ser un fitxer GIF" +#~ msgstr "El fitxer no sembla ser un fitxer GIF" #~ msgid "Version %s of the GIF file format is not supported" #~ msgstr "No s'ha implementat la versió %s del format del fitxer GIF" @@ -4487,7 +4702,7 @@ msgstr "" #~ msgstr "No hi ha memòria suficient per carregar el fitxer ICO" #~ msgid "Image too large to be saved as ICO" -#~ msgstr "La imatge és massa gran per alçar-la com a ICO" +#~ msgstr "La imatge és massa gran per desar-la com a ICO" #~ msgid "Cursor hotspot outside image" #~ msgstr "Lloc calent del cursor fora de la imatge" @@ -4540,14 +4755,14 @@ msgstr "" #~ "Insufficient memory to load image, try exiting some applications to free " #~ "memory" #~ msgstr "" -#~ "La memòria per carregar la imatge és insuficient, proveu d'eixir " +#~ "La memòria per carregar la imatge és insuficient, proveu de sortir " #~ "d'algunes aplicacions per alliberar memòria" #~ msgid "Unsupported JPEG color space (%s)" #~ msgstr "Espai de color JPEG no implementat (%s)" #~ msgid "Couldn't allocate memory for loading JPEG file" -#~ msgstr "No es pot obtindre memòria per carregar el fitxer JPEG" +#~ msgstr "No es pot obtenir memòria per carregar el fitxer JPEG" #~ msgid "Transformed JPEG has zero width or height." #~ msgstr "El JPEG transformat té amplada o alçada zero." @@ -4563,13 +4778,13 @@ msgstr "" #~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." #~ msgstr "" #~ "La qualitat JPEG ha de ser un valor entre 0 i 100; el valor «%d» no és " -#~ "permés." +#~ "permès." #~ msgid "The JPEG image format" #~ msgstr "El format d'imatge JPEG" #~ msgid "Couldn't allocate memory for header" -#~ msgstr "No es pot obtindre memòria per a la capçalera" +#~ msgstr "No es pot obtenir memòria per a la capçalera" #~ msgid "Couldn't allocate memory for context buffer" #~ msgstr "" @@ -4629,7 +4844,7 @@ msgstr "" #~ "applications to reduce memory usage" #~ msgstr "" #~ "Memòria insuficient per emmagatzemar una imatge de %ld per %ld; proveu de " -#~ "eixir d'algunes aplicacions per reduir l'ús de memòria" +#~ "sortir d'algunes aplicacions per reduir l'ús de memòria" #~ msgid "Fatal error reading PNG image file" #~ msgstr "Error fatal en llegir el fitxer gràfic PNG" @@ -4640,7 +4855,7 @@ msgstr "" #~ msgid "" #~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." #~ msgstr "" -#~ "Les claus per als blocs text de PNG han de tindre entre 1 i 79 caràcters." +#~ "Les claus per als blocs text de PNG han de tenir entre 1 i 79 caràcters." #~ msgid "Keys for PNG text chunks must be ASCII characters." #~ msgstr "Les claus per als blocs text de PNG han de ser caràcters ASCII." @@ -4660,7 +4875,7 @@ msgstr "" #~ "allowed." #~ msgstr "" #~ "El nivell de compressió de PNG ha de ser un valor entre 0 i 9; el valor " -#~ "«%d» no és permés." +#~ "«%d» no és permès." #~ msgid "" #~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." @@ -4696,7 +4911,7 @@ msgstr "" #~ msgstr "El tipus d'imatge PNM en brut no és vàlid" #~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "El carregador d'imatges PNM no permet este subformat PNM" +#~ msgstr "El carregador d'imatges PNM no permet aquest subformat PNM" #~ msgid "Raw PNM formats require exactly one whitespace before sample data" #~ msgstr "" @@ -4704,7 +4919,7 @@ msgstr "" #~ "les dades de mostra" #~ msgid "Cannot allocate memory for loading PNM image" -#~ msgstr "No es pot obtindre memòria per carregar la imatge PNM" +#~ msgstr "No es pot obtenir memòria per carregar la imatge PNM" #~ msgid "Insufficient memory to load PNM context struct" #~ msgstr "No hi ha memòria suficient per carregar l'estructura de context PNM" @@ -4739,7 +4954,7 @@ msgstr "" #~ msgstr "No s'han pogut ometre els següents %d bytes amb la crida seek()." #~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "No s'ha pogut obtindre memòria per al context de l'estructura QTIF." +#~ msgstr "No s'ha pogut obtenir memòria per al context de l'estructura QTIF." #~ msgid "Failed to create GdkPixbufLoader object." #~ msgstr "No s'ha pogut crear l'objecte GdkPixbufLoader." @@ -4766,10 +4981,10 @@ msgstr "" #~ msgstr "El format d'imatge Sun raster" #~ msgid "Cannot allocate memory for IOBuffer struct" -#~ msgstr "No es pot obtindre memòria per a l'estructura IOBuffer" +#~ msgstr "No es pot obtenir memòria per a l'estructura IOBuffer" #~ msgid "Cannot allocate memory for IOBuffer data" -#~ msgstr "No es pot obtindre memòria per les dades de l'IOBuffer" +#~ msgstr "No es pot obtenir memòria per les dades de l'IOBuffer" #~ msgid "Cannot realloc IOBuffer data" #~ msgstr "No es pot reallotjar memòria per les dades de l'IOBuffer" @@ -4793,16 +5008,16 @@ msgstr "" #~ msgstr "Profunditat de bit inesperada per a les entrades del mapa de color" #~ msgid "Cannot allocate TGA header memory" -#~ msgstr "No es pot obtindre memòria per les capçaleres TGA" +#~ msgstr "No es pot obtenir memòria per les capçaleres TGA" #~ msgid "TGA image has invalid dimensions" #~ msgstr "La imatge TGA té unes dimensions no vàlides" #~ msgid "TGA image type not supported" -#~ msgstr "El tipus d'imatge TGA no està permés" +#~ msgstr "El tipus d'imatge TGA no està permès" #~ msgid "Cannot allocate memory for TGA context struct" -#~ msgstr "No es pot obtindre memòria per al context de l'estructura TGA" +#~ msgstr "No es pot obtenir memòria per al context de l'estructura TGA" #~ msgid "Excess data in file" #~ msgstr "Excés de dades al fitxer" @@ -4811,10 +5026,10 @@ msgstr "" #~ msgstr "El format d'imatge Targa" #~ msgid "Could not get image width (bad TIFF file)" -#~ msgstr "No es pot obtindre l'amplada de la imatge (fitxer TIFF incorrecte)" +#~ msgstr "No es pot obtenir l'amplada de la imatge (fitxer TIFF incorrecte)" #~ msgid "Could not get image height (bad TIFF file)" -#~ msgstr "No es pot obtindre l'alçada de la imatge (fitxer TIFF incorrecte)" +#~ msgstr "No es pot obtenir l'alçada de la imatge (fitxer TIFF incorrecte)" #~ msgid "Width or height of TIFF image is zero" #~ msgstr "L'amplada o l'alçada de la imatge TIFF és zero" @@ -4838,7 +5053,7 @@ msgstr "" #~ msgstr "No s'ha pogut carregar la imatge TIFF" #~ msgid "Failed to save TIFF image" -#~ msgstr "No s'ha pogut alçar la imatge TIFF" +#~ msgstr "No s'ha pogut desar la imatge TIFF" #~ msgid "TIFF compression doesn't refer to a valid codec." #~ msgstr "La compressió TIFF no es refereix a un còdec vàlid." @@ -4862,7 +5077,7 @@ msgstr "" #~ msgstr "No hi ha memòria suficient per carregar la imatge" #~ msgid "Couldn't save the rest" -#~ msgstr "No s'ha pogut alçar la resta" +#~ msgstr "No s'ha pogut desar la resta" #~ msgid "The WBMP image format" #~ msgstr "El format d'imatge WBMP" @@ -4898,7 +5113,7 @@ msgstr "" #~ msgstr "El fitxer XPM té un nombre de colors no vàlid" #~ msgid "Cannot allocate memory for loading XPM image" -#~ msgstr "No es pot obtindre memòria per carregar la imatge XPM" +#~ msgstr "No es pot obtenir memòria per carregar la imatge XPM" #~ msgid "Cannot read XPM colormap" #~ msgstr "No es pot llegir el mapa de color d'XPM" @@ -4931,182 +5146,16 @@ msgstr "" #~ msgstr "No s'ha pogut carregar el metafitxer" #~ msgid "Unsupported image format for GDI+" -#~ msgstr "El GDI+ no funciona amb este format d'imatge" +#~ msgstr "El GDI+ no funciona amb aquest format d'imatge" #~ msgid "Couldn't save" -#~ msgstr "No s'ha pogut alçar" +#~ msgstr "No s'ha pogut desar" #~ msgid "The WMF image format" #~ msgstr "El format d'imatge WMF" -#~ msgid "\"Deepness\" of the color." -#~ msgstr "«Profunditat» del color." - -#~ msgid "Error printing" -#~ msgstr "S'ha produït un error en imprimir" - #~ msgid "Printer '%s' may not be connected." -#~ msgstr "Pot ser que la impressora «%s» no estiga connectada." - -#~ msgid "Folders" -#~ msgstr "Carpetes" - -#~ msgid "Fol_ders" -#~ msgstr "_Carpetes" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "No es pot llegir la carpeta: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "El fitxer «%s» es troba en una altra màquina (anomenada %s) i pot ser que " -#~ "no estiga disponible per a este programa.\n" -#~ "Esteu segur que voleu seleccionar-lo?" - -#~ msgid "_New Folder" -#~ msgstr "Carpeta _nova" - -#~ msgid "De_lete File" -#~ msgstr "Suprimeix e_l fitxer" - -#~ msgid "_Rename File" -#~ msgstr "_Canvia el nom del fitxer" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "El nom de la carpeta «%s» conté símbols que no estan permesos als noms de " -#~ "fitxer" - -#~ msgid "New Folder" -#~ msgstr "Carpeta nova" - -#~ msgid "_Folder name:" -#~ msgstr "Nom de la _carpeta:" - -#~ msgid "C_reate" -#~ msgstr "C_rea" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "El nom del fitxer «%s» conté símbols que no estan permesos als noms de " -#~ "fitxer" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "S'ha produït un error en suprimir el fitxer «%s»: %s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "Esteu segur de voler suprimir el fitxer «%s»?" - -#~ msgid "Delete File" -#~ msgstr "Suprimeix el fitxer" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "S'ha produït un error en canviar el nom del fitxer a «%s»: %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "S'ha produït un error en canviar el nom del fitxer «%s»: %s" - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "S'ha produït un error en canviar el nom del fitxer «%s» a «%s»: %s" - -#~ msgid "Rename File" -#~ msgstr "Canvia el nom del fitxer" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "Canvia el nom del fitxer «%s» a:" - -#~ msgid "_Rename" -#~ msgstr "_Canvia el nom" - -#~ msgid "_Selection: " -#~ msgstr "_Selecció: " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "No s'ha pogut convertir el nom de fitxer «%s» a UTF-8. (Proveu d'establir " -#~ "la variable d'entorn G_FILENAME_ENCODING): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "UTF-8 no vàlid" - -#~ msgid "Name too long" -#~ msgstr "El nom és massa llarg" - -#~ msgid "Couldn't convert filename" -#~ msgstr "No s'ha pogut convertir el nom del fitxer" - -#~ msgid "Gamma" -#~ msgstr "Gamma" - -#~ msgid "_Gamma value" -#~ msgstr "Valor de la _gamma" - -#~ msgid "Input" -#~ msgstr "Entrada" - -#~ msgid "No extended input devices" -#~ msgstr "No hi ha cap dispositiu d'entrada ampliat" - -#~ msgid "_Device:" -#~ msgstr "_Dispositiu:" - -#~ msgid "Disabled" -#~ msgstr "Desactivat" - -#~ msgid "Screen" -#~ msgstr "Pantalla" - -#~ msgid "Window" -#~ msgstr "Finestra" - -#~ msgid "_Mode:" -#~ msgstr "_Mode:" - -#~ msgid "Axes" -#~ msgstr "Eixos" - -#~ msgid "Keys" -#~ msgstr "Tecles" - -#~ msgid "_X:" -#~ msgstr "_X:" - -#~ msgid "_Y:" -#~ msgstr "_Y:" - -#~ msgid "_Pressure:" -#~ msgstr "_Pressió:" - -#~ msgid "X _tilt:" -#~ msgstr "_Inclinació en X:" - -#~ msgid "Y t_ilt:" -#~ msgstr "I_nclinació en Y:" - -#~ msgid "_Wheel:" -#~ msgstr "_Roda:" - -#~ msgid "none" -#~ msgstr "cap" - -#~ msgid "(disabled)" -#~ msgstr "(desactivat)" - -#~ msgid "(unknown)" -#~ msgstr "(desconegut)" - -#~ msgid "Cl_ear" -#~ msgstr "_Neteja" - -#~ msgid "--- No Tip ---" -#~ msgstr "-- Cap consell --" +#~ msgstr "Pot ser que la impressora «%s» no estigui connectada." #~ msgid "(Empty)" #~ msgstr "(Buit)" From d0974d4f0238944631049853c917acf97c405c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 29 Oct 2010 03:28:24 +0200 Subject: [PATCH 0071/1463] Re-enable deprecation guards --- gtk/gtklayout.c | 2 -- gtk/gtklayout.h | 2 +- gtk/gtkviewport.c | 3 +-- gtk/gtkviewport.h | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index fd04e689c4..a2589c27f3 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -30,8 +30,6 @@ #include "config.h" -#undef GTK_DISABLE_DEPRECATED - #include "gtklayout.h" #include "gdkconfig.h" diff --git a/gtk/gtklayout.h b/gtk/gtklayout.h index 61ba27f6e9..c2159f5133 100644 --- a/gtk/gtklayout.h +++ b/gtk/gtklayout.h @@ -94,7 +94,7 @@ void gtk_layout_get_size (GtkLayout *layout, guint *width, guint *height); -#ifndef GTK_DISABLE_DEPRECATED +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) GtkAdjustment* gtk_layout_get_hadjustment (GtkLayout *layout); GtkAdjustment* gtk_layout_get_vadjustment (GtkLayout *layout); diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index 573910dcdc..7f7445f4d2 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -26,9 +26,8 @@ #include "config.h" -#undef GTK_DISABLE_DEPRECATED #include "gtkviewport.h" -#define GTK_DISABLE_DEPRECATED + #include "gtkintl.h" #include "gtkmarshalers.h" #include "gtktypeutils.h" diff --git a/gtk/gtkviewport.h b/gtk/gtkviewport.h index c1d9ce4307..6865310455 100644 --- a/gtk/gtkviewport.h +++ b/gtk/gtkviewport.h @@ -75,7 +75,7 @@ GType gtk_viewport_get_type (void) G_GNUC_CONST; GtkWidget* gtk_viewport_new (GtkAdjustment *hadjustment, GtkAdjustment *vadjustment); -#ifndef GTK_DISABLE_DEPRECATED +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) GtkAdjustment* gtk_viewport_get_hadjustment (GtkViewport *viewport); GtkAdjustment* gtk_viewport_get_vadjustment (GtkViewport *viewport); From 70bef431b0276a4892f35b1f3ed1ae639ac216af Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Oct 2010 12:28:42 -0400 Subject: [PATCH 0072/1463] GtkComboBox: Add a constructor that takes a model and adds an entry https://bugzilla.gnome.org/show_bug.cgi?id=633050 --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkcombobox.c | 17 +++++++++++++++++ gtk/gtkcombobox.h | 9 +++++---- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index aeef317eb2..ddda75340d 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -779,6 +779,7 @@ GtkComboBox gtk_combo_box_new gtk_combo_box_new_with_entry gtk_combo_box_new_with_model +gtk_combo_box_new_with_model_and_entry gtk_combo_box_get_wrap_width gtk_combo_box_set_wrap_width gtk_combo_box_get_row_span_column diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 6ae374f013..26b99be38e 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -821,6 +821,7 @@ gtk_combo_box_get_wrap_width gtk_combo_box_new gtk_combo_box_new_with_entry gtk_combo_box_new_with_model +gtk_combo_box_new_with_model_and_entry gtk_combo_box_popdown gtk_combo_box_popup gtk_combo_box_popup_for_device diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index c17326e3df..d5ec3e757b 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -4882,6 +4882,23 @@ gtk_combo_box_new_with_model (GtkTreeModel *model) return GTK_WIDGET (combo_box); } +/** + * gtk_combo_box_new_with_model_and_entry: + * + * Creates a new empty #GtkComboBox with an entry + * and with the model initialized to @model. + * + * Return value: A new #GtkComboBox + */ +GtkWidget * +gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model) +{ + return g_object_new (GTK_TYPE_COMBO_BOX, + "has-entry", TRUE, + "model", model, + NULL); +} + /** * gtk_combo_box_get_wrap_width: * @combo_box: A #GtkComboBox diff --git a/gtk/gtkcombobox.h b/gtk/gtkcombobox.h index c5b6a3c1e0..c8931eb3b3 100644 --- a/gtk/gtkcombobox.h +++ b/gtk/gtkcombobox.h @@ -65,10 +65,11 @@ struct _GtkComboBoxClass /* construction */ -GType gtk_combo_box_get_type (void) G_GNUC_CONST; -GtkWidget *gtk_combo_box_new (void); -GtkWidget *gtk_combo_box_new_with_entry (void); -GtkWidget *gtk_combo_box_new_with_model (GtkTreeModel *model); +GType gtk_combo_box_get_type (void) G_GNUC_CONST; +GtkWidget *gtk_combo_box_new (void); +GtkWidget *gtk_combo_box_new_with_entry (void); +GtkWidget *gtk_combo_box_new_with_model (GtkTreeModel *model); +GtkWidget *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model); /* grids */ gint gtk_combo_box_get_wrap_width (GtkComboBox *combo_box); From ef03dc3fc6c72cf092b8b0ee95940e33f2ff9299 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Oct 2010 12:58:24 -0400 Subject: [PATCH 0073/1463] Don't set get_preferred_width_for_height to NULL The size request machinery expects that it is non-NULL. --- gtk/gtkbbox.c | 43 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 35 insertions(+), 8 deletions(-) diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index f1531b1eef..045a3a2288 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -81,12 +81,21 @@ static void gtk_button_box_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_button_box_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural); -static void gtk_button_box_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural); +static void gtk_button_box_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_button_box_get_preferred_height (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_button_box_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural); +static void gtk_button_box_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural); + static void gtk_button_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_button_box_remove (GtkContainer *container, @@ -126,8 +135,8 @@ gtk_button_box_class_init (GtkButtonBoxClass *class) widget_class->get_preferred_width = gtk_button_box_get_preferred_width; widget_class->get_preferred_height = gtk_button_box_get_preferred_height; - widget_class->get_preferred_width_for_height = NULL; - widget_class->get_preferred_height_for_width = NULL; + widget_class->get_preferred_width_for_height = gtk_button_box_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = gtk_button_box_get_preferred_height_for_width; widget_class->size_allocate = gtk_button_box_size_allocate; container_class->remove = gtk_button_box_remove; @@ -643,6 +652,24 @@ gtk_button_box_get_preferred_height (GtkWidget *widget, *minimum = *natural = requisition.height; } +static void +gtk_button_box_get_preferred_width_for_height (GtkWidget *widget, + gint height, + gint *minimum, + gint *natural) +{ + gtk_button_box_get_preferred_width (widget, minimum, natural); +} + +static void +gtk_button_box_get_preferred_height_for_width (GtkWidget *widget, + gint width, + gint *minimum, + gint *natural) +{ + gtk_button_box_get_preferred_height (widget, minimum, natural); +} + static void gtk_button_box_size_allocate (GtkWidget *widget, GtkAllocation *allocation) From 34627a6371978157a93100e88d86e267e71ce29a Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Fri, 29 Oct 2010 13:19:22 +0200 Subject: [PATCH 0074/1463] gtk: remove declarations of removed internal functions --- gtk/gtkhbbox.h | 5 ----- gtk/gtkvbbox.h | 5 ----- 2 files changed, 10 deletions(-) diff --git a/gtk/gtkhbbox.h b/gtk/gtkhbbox.h index f0aec6e8dd..c6f9023bed 100644 --- a/gtk/gtkhbbox.h +++ b/gtk/gtkhbbox.h @@ -62,11 +62,6 @@ struct _GtkHButtonBoxClass GType gtk_hbutton_box_get_type (void) G_GNUC_CONST; GtkWidget* gtk_hbutton_box_new (void); -/* buttons can be added by gtk_container_add() */ - -/* private API */ -GtkButtonBoxStyle _gtk_hbutton_box_get_layout_default (void); - G_END_DECLS #endif /* __GTK_HBUTTON_BOX_H__ */ diff --git a/gtk/gtkvbbox.h b/gtk/gtkvbbox.h index c21be52303..3c91a2e6bb 100644 --- a/gtk/gtkvbbox.h +++ b/gtk/gtkvbbox.h @@ -63,11 +63,6 @@ struct _GtkVButtonBoxClass GType gtk_vbutton_box_get_type (void) G_GNUC_CONST; GtkWidget *gtk_vbutton_box_new (void); - -/* private API */ -GtkButtonBoxStyle _gtk_vbutton_box_get_layout_default (void); - - G_END_DECLS #endif /* __GTK_VBBOX_H__ */ From 2615ebf37e552ad863a5b4c00c1d9bc96a75a557 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 01:21:15 +0200 Subject: [PATCH 0075/1463] Use gtk_button_box_new() instead gtk_[v|h]_button_box_new() --- demos/gtk-demo/button_box.c | 4 ++-- examples/buttonbox/buttonbox.c | 4 ++-- examples/calendar/calendar.c | 4 ++-- gtk/gtkdialog.c | 2 +- gtk/gtkinfobar.c | 2 +- modules/other/gail/tests/testlib.c | 2 +- tests/testbbox.c | 4 ++-- tests/testcalendar.c | 2 +- tests/testfilechooser.c | 2 +- tests/testgtk.c | 8 ++++---- tests/testiconview.c | 4 ++-- tests/testorientable.c | 2 +- tests/testrecentchooser.c | 2 +- tests/testtext.c | 2 +- tests/testtreecolumns.c | 4 ++-- 15 files changed, 24 insertions(+), 24 deletions(-) diff --git a/demos/gtk-demo/button_box.c b/demos/gtk-demo/button_box.c index a535bf9ce9..8b53d33f95 100644 --- a/demos/gtk-demo/button_box.c +++ b/demos/gtk-demo/button_box.c @@ -18,9 +18,9 @@ create_bbox (gint horizontal, frame = gtk_frame_new (title); if (horizontal) - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); else - bbox = gtk_vbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); gtk_container_add (GTK_CONTAINER (frame), bbox); diff --git a/examples/buttonbox/buttonbox.c b/examples/buttonbox/buttonbox.c index 1809154d8d..72df6e8599 100644 --- a/examples/buttonbox/buttonbox.c +++ b/examples/buttonbox/buttonbox.c @@ -16,9 +16,9 @@ static GtkWidget *create_bbox( gint horizontal, frame = gtk_frame_new (title); if (horizontal) - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); else - bbox = gtk_vbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); gtk_container_add (GTK_CONTAINER (frame), bbox); diff --git a/examples/calendar/calendar.c b/examples/calendar/calendar.c index b884b25722..2f472137fe 100644 --- a/examples/calendar/calendar.c +++ b/examples/calendar/calendar.c @@ -286,7 +286,7 @@ static void create_calendar( void ) hbox = gtk_hbox_new (FALSE, DEF_PAD); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, DEF_PAD); - hbbox = gtk_hbutton_box_new (); + hbbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (hbox), hbbox, FALSE, FALSE, DEF_PAD); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbbox), GTK_BUTTONBOX_SPREAD); gtk_box_set_spacing (GTK_BOX (hbbox), 5); @@ -384,7 +384,7 @@ static void create_calendar( void ) calendar_data.prev2_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.prev2_sig, FALSE, TRUE, 0); - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, FALSE, 0); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_END); diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index cf9592710a..681899389f 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -262,7 +262,7 @@ gtk_dialog_init (GtkDialog *dialog) gtk_container_add (GTK_CONTAINER (dialog), priv->vbox); gtk_widget_show (priv->vbox); - priv->action_area = gtk_hbutton_box_new (); + priv->action_area = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (priv->action_area), GTK_BUTTONBOX_END); diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index fb6a87fec8..273be407a1 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -616,7 +616,7 @@ gtk_info_bar_init (GtkInfoBar *info_bar) gtk_widget_show (content_area); gtk_box_pack_start (GTK_BOX (info_bar), content_area, TRUE, TRUE, 0); - action_area = gtk_vbutton_box_new (); + action_area = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_widget_show (action_area); gtk_button_box_set_layout (GTK_BUTTON_BOX (action_area), GTK_BUTTONBOX_END); gtk_box_pack_start (GTK_BOX (info_bar), action_area, FALSE, TRUE, 0); diff --git a/modules/other/gail/tests/testlib.c b/modules/other/gail/tests/testlib.c index 8323e290b3..87a17c60cf 100644 --- a/modules/other/gail/tests/testlib.c +++ b/modules/other/gail/tests/testlib.c @@ -588,7 +588,7 @@ _create_select_tests_window (AtkObject *obj, /* Setup Layout */ md[window_no]->vbox = gtk_vbox_new (TRUE, 0); md[window_no]->button = gtk_button_new_with_mnemonic ("_Run Tests"); - hbuttonbox = gtk_hbutton_box_new (); + hbuttonbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox), GTK_BUTTONBOX_SPREAD); gtk_box_pack_end (GTK_BOX (hbuttonbox), diff --git a/tests/testbbox.c b/tests/testbbox.c index 49a9b8de97..404836e865 100644 --- a/tests/testbbox.c +++ b/tests/testbbox.c @@ -137,7 +137,7 @@ main (int argc, /* GtkHButtonBox */ - hbbox = gtk_hbutton_box_new (); + hbbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), hbbox, TRUE, TRUE, 5); for (i = 0; i < N_BUTTONS; i++) { @@ -148,7 +148,7 @@ main (int argc, bbox = hbbox; /* GtkVButtonBox */ - vbbox = gtk_vbutton_box_new (); + vbbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (vbox), vbbox, TRUE, TRUE, 5); /* Options */ diff --git a/tests/testcalendar.c b/tests/testcalendar.c index 47e9a25aba..33af80a030 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -642,7 +642,7 @@ create_calendar(void) * Glue everything together */ - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END); button = gtk_button_new_with_label ("Close"); diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c index 61cd591704..4e6da60f44 100644 --- a/tests/testfilechooser.c +++ b/tests/testfilechooser.c @@ -644,7 +644,7 @@ main (int argc, char **argv) control_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - vbbox = gtk_vbutton_box_new (); + vbbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (control_window), vbbox); button = gtk_button_new_with_mnemonic ("_Select all"); diff --git a/tests/testgtk.c b/tests/testgtk.c index f240b3fd0a..d2a8e4bd25 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -1088,9 +1088,9 @@ create_bbox (gint horizontal, frame = gtk_frame_new (title); if (horizontal) - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); else - bbox = gtk_vbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); gtk_container_add (GTK_CONTAINER (frame), bbox); @@ -5194,7 +5194,7 @@ create_forward_back (const char *title, GtkTextDirection text_dir) { GtkWidget *frame = gtk_frame_new (title); - GtkWidget *bbox = gtk_hbutton_box_new (); + GtkWidget *bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); GtkWidget *back_button = gtk_button_new_from_stock (GTK_STOCK_GO_BACK); GtkWidget *forward_button = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD); @@ -5652,7 +5652,7 @@ create_display_screen (GtkWidget *widget) gtk_table_attach_defaults (GTK_TABLE (table), radio_scr, 0, 1, 1, 2); gtk_table_attach_defaults (GTK_TABLE (table), combo_dpy, 1, 2, 0, 1); - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); applyb = gtk_button_new_from_stock (GTK_STOCK_APPLY); cancelb = gtk_button_new_from_stock (GTK_STOCK_CANCEL); diff --git a/tests/testiconview.c b/tests/testiconview.c index 9e076b3624..8220c91113 100644 --- a/tests/testiconview.c +++ b/tests/testiconview.c @@ -558,7 +558,7 @@ main (gint argc, gchar **argv) gtk_paned_add2 (GTK_PANED (paned), scrolled_window); - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START); gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, FALSE, 0); @@ -582,7 +582,7 @@ main (gint argc, gchar **argv) g_signal_connect (button, "clicked", G_CALLBACK (swap_rows), icon_list); gtk_box_pack_start (GTK_BOX (bbox), button, TRUE, TRUE, 0); - bbox = gtk_hbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_START); gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, FALSE, 0); diff --git a/tests/testorientable.c b/tests/testorientable.c index 024816f745..e906708c33 100644 --- a/tests/testorientable.c +++ b/tests/testorientable.c @@ -75,7 +75,7 @@ main (int argc, char **argv) TRUE, TRUE, 0); /* GtkButtonBox */ - box = gtk_hbutton_box_new (); + box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); orientables = g_list_prepend (orientables, box); gtk_table_attach_defaults (GTK_TABLE (table), box, 1, 2, 1, 2); gtk_box_pack_start (GTK_BOX (box), diff --git a/tests/testrecentchooser.c b/tests/testrecentchooser.c index 36a2c9783e..4761583b03 100644 --- a/tests/testrecentchooser.c +++ b/tests/testrecentchooser.c @@ -176,7 +176,7 @@ main (int argc, control_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - vbbox = gtk_vbutton_box_new (); + vbbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (control_window), vbbox); button = gtk_button_new_with_mnemonic ("_Select all"); diff --git a/tests/testtext.c b/tests/testtext.c index a98d7b58b1..aeab1f7c65 100644 --- a/tests/testtext.c +++ b/tests/testtext.c @@ -272,7 +272,7 @@ msgbox_run (GtkWindow *parent, separator = gtk_hseparator_new (); gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, FALSE, 0); - button_box = gtk_hbutton_box_new (); + button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), button_box, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (button_box), 8); diff --git a/tests/testtreecolumns.c b/tests/testtreecolumns.c index b8358f5134..425c345a74 100644 --- a/tests/testtreecolumns.c +++ b/tests/testtreecolumns.c @@ -840,7 +840,7 @@ main (int argc, char *argv[]) vbox2 = gtk_vbox_new (FALSE, 8); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0); - bbox = gtk_vbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); gtk_box_pack_start (GTK_BOX (vbox2), bbox, TRUE, TRUE, 0); @@ -858,7 +858,7 @@ main (int argc, char *argv[]) "changed", G_CALLBACK (selection_changed), button); gtk_box_pack_start (GTK_BOX (bbox), button, FALSE, FALSE, 0); - bbox = gtk_vbutton_box_new (); + bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), GTK_BUTTONBOX_SPREAD); gtk_box_pack_start (GTK_BOX (vbox2), bbox, TRUE, TRUE, 0); From 821c3c65787e6d006c831895b88d0b5b0a3e54e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 01:32:34 +0200 Subject: [PATCH 0076/1463] Use gtk_separator_new() instead gtk_[v|h]separator_new() --- demos/gtk-demo/dialog.c | 3 ++- demos/gtk-demo/ui_manager.c | 2 +- docs/tools/widgets.c | 6 ++--- examples/calendar/calendar.c | 2 +- examples/packbox/packbox.c | 10 +++---- examples/progressbar/progressbar.c | 2 +- examples/radiobuttons/radiobuttons.c | 2 +- examples/rangewidgets/rangewidgets.c | 2 +- gtk/gtkcolorsel.c | 2 +- gtk/gtkcombobox.c | 2 +- gtk/gtkfilechooserbutton.c | 2 +- gtk/gtkfontbutton.c | 2 +- modules/other/gail/tests/testtable.c | 2 +- tests/testcalendar.c | 15 +++++++---- tests/testgtk.c | 40 ++++++++++++++-------------- tests/testmenubars.c | 2 +- tests/testorientable.c | 2 +- tests/testtext.c | 2 +- tests/testtreecolumns.c | 3 ++- 19 files changed, 55 insertions(+), 48 deletions(-) diff --git a/demos/gtk-demo/dialog.c b/demos/gtk-demo/dialog.c index 336febc017..ad9f259f96 100644 --- a/demos/gtk-demo/dialog.c +++ b/demos/gtk-demo/dialog.c @@ -132,7 +132,8 @@ do_dialog (GtkWidget *do_widget) G_CALLBACK (message_dialog_clicked), NULL); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), + FALSE, FALSE, 0); /* Interactive dialog*/ hbox = gtk_hbox_new (FALSE, 8); diff --git a/demos/gtk-demo/ui_manager.c b/demos/gtk-demo/ui_manager.c index 735bf7fe7f..15005592df 100644 --- a/demos/gtk-demo/ui_manager.c +++ b/demos/gtk-demo/ui_manager.c @@ -209,7 +209,7 @@ do_ui_manager (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (box1), label, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index 206c26e32c..1de95a4220 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -504,7 +504,7 @@ create_file_button (void) gtk_box_pack_start (GTK_BOX (vbox), vbox2, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), - gtk_hseparator_new (), + gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 0); vbox2 = gtk_vbox_new (FALSE, 3); @@ -533,10 +533,10 @@ create_separator (void) vbox = gtk_vbox_new (FALSE, 3); hbox = gtk_hbox_new (TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), - gtk_hseparator_new (), + gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), - gtk_vseparator_new (), + gtk_separator_new (GTK_ORIENTATION_VERTICAL), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), diff --git a/examples/calendar/calendar.c b/examples/calendar/calendar.c index 2f472137fe..06312063c5 100644 --- a/examples/calendar/calendar.c +++ b/examples/calendar/calendar.c @@ -322,7 +322,7 @@ static void create_calendar( void ) &calendar_data); - separator = gtk_vseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (hbox), separator, FALSE, TRUE, 0); vbox2 = gtk_vbox_new (FALSE, DEF_PAD); diff --git a/examples/packbox/packbox.c b/examples/packbox/packbox.c index 9189825626..381fa2b2e4 100644 --- a/examples/packbox/packbox.c +++ b/examples/packbox/packbox.c @@ -141,7 +141,7 @@ int main( int argc, /* Creates a separator, we'll learn more about these later, * but they are quite simple. */ - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); /* Pack the separator into the vbox. Remember each of these * widgets is being packed into a vbox, so they'll be stacked @@ -166,7 +166,7 @@ int main( int argc, gtk_widget_show (box2); /* Another new separator. */ - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); /* The last 3 arguments to gtk_box_pack_start are: * expand, fill, padding. */ gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); @@ -193,7 +193,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); gtk_widget_show (box2); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); /* The last 3 arguments to gtk_box_pack_start are: * expand, fill, padding. */ gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); @@ -214,7 +214,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, FALSE, 0); gtk_widget_show (box2); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); /* The last 3 arguments to gtk_box_pack_start are: expand, fill, padding. */ gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); gtk_widget_show (separator); @@ -239,7 +239,7 @@ int main( int argc, gtk_widget_show (box2); /* A separator for the bottom. */ - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); /* This explicitly sets the separator to 400 pixels wide by 5 pixels * high. This is so the hbox we created will also be 400 pixels wide, * and the "end" label will be separated from the other labels in the diff --git a/examples/progressbar/progressbar.c b/examples/progressbar/progressbar.c index 525cbba1bd..790e97dff8 100644 --- a/examples/progressbar/progressbar.c +++ b/examples/progressbar/progressbar.c @@ -136,7 +136,7 @@ int main( int argc, /* Add a timer callback to update the value of the progress bar */ pdata->timer = gdk_threads_add_timeout (100, progress_timeout, pdata); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, FALSE, 0); gtk_widget_show (separator); diff --git a/examples/radiobuttons/radiobuttons.c b/examples/radiobuttons/radiobuttons.c index ad66c423bb..8f783016a1 100644 --- a/examples/radiobuttons/radiobuttons.c +++ b/examples/radiobuttons/radiobuttons.c @@ -55,7 +55,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); gtk_widget_show (button); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); diff --git a/examples/rangewidgets/rangewidgets.c b/examples/rangewidgets/rangewidgets.c index e72bc5c19f..11fc08b9b4 100644 --- a/examples/rangewidgets/rangewidgets.c +++ b/examples/rangewidgets/rangewidgets.c @@ -258,7 +258,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 7421e89b04..f8f0e0b1cb 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -438,7 +438,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) _("Amount of green light in the color.")); make_label_spinbutton (colorsel, &priv->blue_spinbutton, _("_Blue:"), table, 6, 2, COLORSEL_BLUE, _("Amount of blue light in the color.")); - gtk_table_attach_defaults (GTK_TABLE (table), gtk_hseparator_new (), 0, 8, 3, 4); + gtk_table_attach_defaults (GTK_TABLE (table), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), 0, 8, 3, 4); priv->opacity_label = gtk_label_new_with_mnemonic (_("Op_acity:")); gtk_misc_set_alignment (GTK_MISC (priv->opacity_label), 0.0, 0.5); diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index d5ec3e757b..e2ec211c63 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -3033,7 +3033,7 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, priv->box = gtk_hbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (priv->button), priv->box); - priv->separator = gtk_vseparator_new (); + priv->separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (priv->box), priv->separator); priv->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index b954f398ee..3b2acc3397 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -455,7 +455,7 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button) gtk_container_add (GTK_CONTAINER (box), priv->label); gtk_widget_show (priv->label); - sep = gtk_vseparator_new (); + sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (box), sep, FALSE, FALSE, 0); gtk_widget_show (sep); diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c index 31ae6e9ca8..fb19688db3 100644 --- a/gtk/gtkfontbutton.c +++ b/gtk/gtkfontbutton.c @@ -789,7 +789,7 @@ gtk_font_button_create_inside (GtkFontButton *font_button) if (font_button->priv->show_size) { - gtk_box_pack_start (GTK_BOX (widget), gtk_vseparator_new (), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (widget), gtk_separator_new (GTK_ORIENTATION_VERTICAL), FALSE, FALSE, 0); font_button->priv->size_label = gtk_label_new ("14"); gtk_box_pack_start (GTK_BOX (widget), font_button->priv->size_label, FALSE, FALSE, 5); } diff --git a/modules/other/gail/tests/testtable.c b/modules/other/gail/tests/testtable.c index e1a65d2993..eb7e0744de 100644 --- a/modules/other/gail/tests/testtable.c +++ b/modules/other/gail/tests/testtable.c @@ -808,7 +808,7 @@ void test_choice_gui(AtkObject **obj) tc->tb_others = gtk_toggle_button_new_with_label("others"); gtk_box_pack_start (GTK_BOX (vbox), tc->tb_others, TRUE, TRUE, 0); - hseparator = gtk_hseparator_new(); + hseparator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), hseparator, TRUE, TRUE, 0); button = gtk_button_new_with_mnemonic("_Run Test"); diff --git a/tests/testcalendar.c b/tests/testcalendar.c index 33af80a030..b726b10f96 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -651,11 +651,16 @@ create_calendar(void) vbox = gtk_vbox_new (FALSE, DEF_PAD_SMALL); - gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (vbox), bbox, FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hpaned, + TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), + FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), frame, + FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), + FALSE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (vbox), bbox, + FALSE, TRUE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/tests/testgtk.c b/tests/testgtk.c index d2a8e4bd25..14e1be4017 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -762,7 +762,7 @@ create_buttons (GtkWidget *widget) gtk_table_attach (GTK_TABLE (table), button[8], 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -830,7 +830,7 @@ create_toggle_buttons (GtkWidget *widget) gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (button), TRUE); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -959,7 +959,7 @@ create_check_buttons (GtkWidget *widget) gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (button), TRUE); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); table = create_widget_grid (GTK_TYPE_CHECK_BUTTON); @@ -1031,7 +1031,7 @@ create_radio_buttons (GtkWidget *widget) gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (button), TRUE); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -1055,7 +1055,7 @@ create_radio_buttons (GtkWidget *widget) gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (button), FALSE); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); table = create_widget_grid (GTK_TYPE_RADIO_BUTTON); @@ -1622,7 +1622,7 @@ create_statusbar (GtkWidget *widget) "signal_after::clicked", statusbar_push_long, statusbar, NULL); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -1696,7 +1696,7 @@ create_handle_box (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (vbox), label); gtk_widget_show (label); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_container_add (GTK_CONTAINER (vbox), separator); gtk_widget_show (separator); @@ -1704,7 +1704,7 @@ create_handle_box (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (vbox), hbox); gtk_widget_show (hbox); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_container_add (GTK_CONTAINER (vbox), separator); gtk_widget_show (separator); @@ -2355,7 +2355,7 @@ create_reparent (GtkWidget *widget) G_CALLBACK (reparent_label), event_box); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -2730,7 +2730,7 @@ create_pixbuf (GtkWidget *widget) gtk_widget_set_sensitive (button, FALSE); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -2829,7 +2829,7 @@ create_tooltips (GtkWidget *widget) NULL); gtk_box_set_child_packing (GTK_BOX (box2), frame, TRUE, TRUE, 10, GTK_PACK_START); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -3303,7 +3303,7 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), optionmenu, TRUE, TRUE, 0); gtk_widget_show (optionmenu); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); @@ -3631,7 +3631,7 @@ create_modal_window (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (frame1), box2); gtk_box_pack_start (GTK_BOX (box2), btnColor, FALSE, FALSE, 4); gtk_box_pack_start (GTK_BOX (box2), btnFile, FALSE, FALSE, 4); - gtk_box_pack_start (GTK_BOX (box1), gtk_hseparator_new (), FALSE, FALSE, 4); + gtk_box_pack_start (GTK_BOX (box1), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 4); gtk_box_pack_start (GTK_BOX (box1), btnClose, FALSE, FALSE, 4); /* connect signals */ @@ -4035,7 +4035,7 @@ create_entry (GtkWidget *widget) g_signal_connect (progress_check, "toggled", G_CALLBACK (entry_toggle_pulse), entry); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -4203,7 +4203,7 @@ create_event_box (GtkWidget *widget) G_CALLBACK (event_box_toggle_above_child), event_box); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (above_child_check), FALSE); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); @@ -5881,7 +5881,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); @@ -6301,7 +6301,7 @@ create_notebook (GtkWidget *widget) create_pages (GTK_NOTEBOOK (sample_notebook), 1, 5); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 10); box2 = gtk_hbox_new (FALSE, 5); @@ -6352,7 +6352,7 @@ create_notebook (GtkWidget *widget) G_CALLBACK (rotate_notebook), sample_notebook); gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); button = gtk_button_new_with_label ("close"); @@ -7230,7 +7230,7 @@ create_wmhints (GtkWidget *widget) gtk_widget_show (label); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); @@ -10114,7 +10114,7 @@ create_main_window (void) gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); } - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); box2 = gtk_vbox_new (FALSE, 10); diff --git a/tests/testmenubars.c b/tests/testmenubars.c index 42b1d2d10e..5df095f084 100644 --- a/tests/testmenubars.c +++ b/tests/testmenubars.c @@ -151,7 +151,7 @@ main (int argc, char **argv) gtk_widget_show_all (box1); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); diff --git a/tests/testorientable.c b/tests/testorientable.c index e906708c33..38bb879f39 100644 --- a/tests/testorientable.c +++ b/tests/testorientable.c @@ -89,7 +89,7 @@ main (int argc, char **argv) TRUE, TRUE, 0); /* GtkSeparator */ - box = gtk_hseparator_new (); + box = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); orientables = g_list_prepend (orientables, box); gtk_table_attach_defaults (GTK_TABLE (table), box, 2, 3, 1, 2); diff --git a/tests/testtext.c b/tests/testtext.c index aeab1f7c65..7bd911a8ce 100644 --- a/tests/testtext.c +++ b/tests/testtext.c @@ -269,7 +269,7 @@ msgbox_run (GtkWindow *parent, gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0); - separator = gtk_hseparator_new (); + separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, FALSE, 0); button_box = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); diff --git a/tests/testtreecolumns.c b/tests/testtreecolumns.c index 425c345a74..da2363c8d7 100644 --- a/tests/testtreecolumns.c +++ b/tests/testtreecolumns.c @@ -943,7 +943,8 @@ main (int argc, char *argv[]) GDK_ACTION_MOVE); - gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), + FALSE, FALSE, 0); hbox = gtk_hbox_new (FALSE, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); From 524e70414750ea26473e80e9421efa4bfd4401d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 01:41:55 +0200 Subject: [PATCH 0077/1463] Use gtk_ruler_new() instead gtk_[v|h]ruler_new() --- examples/rulers/rulers.c | 4 ++-- tests/testgtk.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/rulers/rulers.c b/examples/rulers/rulers.c index 0f48e8bbcc..4f689ad844 100644 --- a/examples/rulers/rulers.c +++ b/examples/rulers/rulers.c @@ -42,7 +42,7 @@ int main( int argc, /* The horizontal ruler goes on top. As the mouse moves across the * drawing area, a motion_notify_event is passed to the * appropriate event handler for the ruler. */ - hrule = gtk_hruler_new (); + hrule = gtk_ruler_new (GTK_ORIENTATION_HORIZONTAL); gtk_ruler_set_metric (GTK_RULER (hrule), GTK_PIXELS); gtk_ruler_set_range (GTK_RULER (hrule), 7, 13, 0, 20); g_signal_connect_swapped (area, "motion-notify-event", @@ -55,7 +55,7 @@ int main( int argc, /* The vertical ruler goes on the left. As the mouse moves across * the drawing area, a motion_notify_event is passed to the * appropriate event handler for the ruler. */ - vrule = gtk_vruler_new (); + vrule = gtk_ruler_new (GTK_ORIENTATION_VERTICAL); gtk_ruler_set_metric (GTK_RULER (vrule), GTK_PIXELS); gtk_ruler_set_range (GTK_RULER (vrule), 0, YSIZE, 10, YSIZE ); g_signal_connect_swapped (area, "motion-notify-event", diff --git a/tests/testgtk.c b/tests/testgtk.c index 14e1be4017..c880007d61 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -5943,7 +5943,7 @@ create_rulers (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (window), table); gtk_widget_show (table); - ruler = gtk_hruler_new (); + ruler = gtk_ruler_new (GTK_ORIENTATION_HORIZONTAL); gtk_ruler_set_metric (GTK_RULER (ruler), GTK_CENTIMETERS); gtk_ruler_set_range (GTK_RULER (ruler), 100, 0, 0, 20); @@ -5957,7 +5957,7 @@ create_rulers (GtkWidget *widget) gtk_widget_show (ruler); - ruler = gtk_vruler_new (); + ruler = gtk_ruler_new (GTK_ORIENTATION_VERTICAL); gtk_ruler_set_range (GTK_RULER (ruler), 5, 15, 0, 20); g_signal_connect_swapped (window, From cdf4b4bbd5bf6b4e7a82954bbecf467b6952bde5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 01:47:13 +0200 Subject: [PATCH 0078/1463] Use gtk_paned_new() instead gtk_[v|h]paned_new() --- demos/gtk-demo/panes.c | 4 ++-- demos/gtk-demo/textview.c | 2 +- docs/reference/gtk/tmpl/gtkpaned.sgml | 2 +- docs/tools/widgets.c | 4 ++-- examples/paned/paned.c | 2 +- gtk/gtkfilechooserdefault.c | 2 +- modules/other/gail/tests/ferret.c | 2 +- tests/flicker.c | 6 +++--- tests/testcalendar.c | 2 +- tests/testgtk.c | 28 +++++++++++++-------------- tests/testiconview.c | 2 +- tests/testoffscreen.c | 2 +- 12 files changed, 29 insertions(+), 29 deletions(-) diff --git a/demos/gtk-demo/panes.c b/demos/gtk-demo/panes.c index 3399653d10..fd0822f17a 100644 --- a/demos/gtk-demo/panes.c +++ b/demos/gtk-demo/panes.c @@ -156,11 +156,11 @@ do_panes (GtkWidget *do_widget) vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - vpaned = gtk_vpaned_new (); + vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(vpaned), 5); - hpaned = gtk_hpaned_new (); + hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_add1 (GTK_PANED (vpaned), hpaned); frame = gtk_frame_new (NULL); diff --git a/demos/gtk-demo/textview.c b/demos/gtk-demo/textview.c index fb339f19ef..235afa9ca9 100644 --- a/demos/gtk-demo/textview.c +++ b/demos/gtk-demo/textview.c @@ -434,7 +434,7 @@ do_textview (GtkWidget *do_widget) gtk_window_set_title (GTK_WINDOW (window), "TextView"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vpaned = gtk_vpaned_new (); + vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_container_set_border_width (GTK_CONTAINER(vpaned), 5); gtk_container_add (GTK_CONTAINER (window), vpaned); diff --git a/docs/reference/gtk/tmpl/gtkpaned.sgml b/docs/reference/gtk/tmpl/gtkpaned.sgml index 8436cc571e..a98c1256b1 100644 --- a/docs/reference/gtk/tmpl/gtkpaned.sgml +++ b/docs/reference/gtk/tmpl/gtkpaned.sgml @@ -48,7 +48,7 @@ gtk_paned_set_position(). Creating a paned widget with minimum sizes. -GtkWidget *hpaned = gtk_hpaned_new (); +GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); GtkWidget *frame1 = gtk_frame_new (NULL); GtkWidget *frame2 = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index 1de95a4220..4c049fd67b 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -557,7 +557,7 @@ create_panes (void) vbox = gtk_vbox_new (FALSE, 3); hbox = gtk_hbox_new (TRUE, 12); - pane = gtk_hpaned_new (); + pane = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_pack1 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, "shadow", GTK_SHADOW_IN, @@ -571,7 +571,7 @@ create_panes (void) gtk_box_pack_start (GTK_BOX (hbox), pane, TRUE, TRUE, 0); - pane = gtk_vpaned_new (); + pane = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_paned_pack1 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, "shadow", GTK_SHADOW_IN, diff --git a/examples/paned/paned.c b/examples/paned/paned.c index 1be4f10ad5..e72b0830b8 100644 --- a/examples/paned/paned.c +++ b/examples/paned/paned.c @@ -116,7 +116,7 @@ int main( int argc, /* create a vpaned widget and add it to our toplevel window */ - vpaned = gtk_vpaned_new (); + vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_container_add (GTK_CONTAINER (window), vpaned); gtk_widget_show (vpaned); diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 159560115c..5abcd27a0d 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -5013,7 +5013,7 @@ browse_widgets_create (GtkFileChooserDefault *impl) gtk_box_pack_start (GTK_BOX (impl->location_entry_box), impl->location_label, FALSE, FALSE, 0); /* Paned widget */ - hpaned = gtk_hpaned_new (); + hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_widget_show (hpaned); gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0); diff --git a/modules/other/gail/tests/ferret.c b/modules/other/gail/tests/ferret.c index ad8dd3e131..df93fd4f60 100644 --- a/modules/other/gail/tests/ferret.c +++ b/modules/other/gail/tests/ferret.c @@ -1558,7 +1558,7 @@ static void _add_notebook_page (GtkNotebook *nbook, } else { - *new_page = gtk_vpaned_new (); + *new_page = gtk_paned_new (GTK_ORIENTATION_VERTICAL); } label = gtk_label_new (""); diff --git a/tests/flicker.c b/tests/flicker.c index 4bbe0c4980..1c0f81cf92 100644 --- a/tests/flicker.c +++ b/tests/flicker.c @@ -58,12 +58,12 @@ create_flicker (void) gtk_window_set_default_size (GTK_WINDOW (window1), 500, 400); gtk_window_set_title (GTK_WINDOW (window1), "window1"); - hpaned1 = gtk_hpaned_new (); + hpaned1 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_widget_show (hpaned1); gtk_container_add (GTK_CONTAINER (window1), hpaned1); gtk_paned_set_position (GTK_PANED (hpaned1), 100); - vpaned2 = gtk_vpaned_new (); + vpaned2 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_widget_show (vpaned2); gtk_paned_pack1 (GTK_PANED (hpaned1), vpaned2, FALSE, TRUE); gtk_paned_set_position (GTK_PANED (vpaned2), 100); @@ -126,7 +126,7 @@ create_flicker (void) gtk_widget_show (spinbutton16); gtk_box_pack_start (GTK_BOX (vbox1), spinbutton16, FALSE, FALSE, 0); - vpaned1 = gtk_vpaned_new (); + vpaned1 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_widget_show (vpaned1); gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE); gtk_paned_set_position (GTK_PANED (vpaned1), 0); diff --git a/tests/testcalendar.c b/tests/testcalendar.c index b726b10f96..575ce510a7 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -433,7 +433,7 @@ create_calendar(void) G_CALLBACK (gtk_false), NULL); - hpaned = gtk_hpaned_new (); + hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); /* Calendar widget */ diff --git a/tests/testgtk.c b/tests/testgtk.c index c880007d61..b621b9a59e 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -6507,11 +6507,11 @@ create_panes (GtkWidget *widget) vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - vpaned = gtk_vpaned_new (); + vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(vpaned), 5); - hpaned = gtk_hpaned_new (); + hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_add1 (GTK_PANED (vpaned), hpaned); frame = gtk_frame_new (NULL); @@ -6590,7 +6590,7 @@ paned_keyboard_window1 (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window1), gtk_widget_get_screen (widget)); - hpaned1 = gtk_hpaned_new (); + hpaned1 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_container_add (GTK_CONTAINER (window1), hpaned1); frame1 = gtk_frame_new (NULL); @@ -6609,7 +6609,7 @@ paned_keyboard_window1 (GtkWidget *widget) button9 = gtk_button_new_with_label ("button9"); gtk_box_pack_start (GTK_BOX (vbox1), button9, FALSE, FALSE, 0); - vpaned1 = gtk_vpaned_new (); + vpaned1 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE); frame2 = gtk_frame_new (NULL); @@ -6684,7 +6684,7 @@ paned_keyboard_window2 (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window2), gtk_widget_get_screen (widget)); - hpaned2 = gtk_hpaned_new (); + hpaned2 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_container_add (GTK_CONTAINER (window2), hpaned2); frame6 = gtk_frame_new (NULL); @@ -6697,7 +6697,7 @@ paned_keyboard_window2 (GtkWidget *widget) hbox2 = gtk_hbox_new (FALSE, 0); gtk_paned_pack2 (GTK_PANED (hpaned2), hbox2, TRUE, TRUE); - vpaned2 = gtk_vpaned_new (); + vpaned2 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (hbox2), vpaned2, TRUE, TRUE, 0); frame7 = gtk_frame_new (NULL); @@ -6752,7 +6752,7 @@ paned_keyboard_window3 (GtkWidget *widget) label1 = gtk_label_new ("Three panes nested inside each other"); gtk_box_pack_start (GTK_BOX (vbox2), label1, FALSE, FALSE, 0); - hpaned3 = gtk_hpaned_new (); + hpaned3 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox2), hpaned3, TRUE, TRUE, 0); frame9 = gtk_frame_new (NULL); @@ -6762,7 +6762,7 @@ paned_keyboard_window3 (GtkWidget *widget) button14 = gtk_button_new_with_label ("button14"); gtk_container_add (GTK_CONTAINER (frame9), button14); - hpaned4 = gtk_hpaned_new (); + hpaned4 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_pack2 (GTK_PANED (hpaned3), hpaned4, TRUE, TRUE); frame10 = gtk_frame_new (NULL); @@ -6772,7 +6772,7 @@ paned_keyboard_window3 (GtkWidget *widget) button15 = gtk_button_new_with_label ("button15"); gtk_container_add (GTK_CONTAINER (frame10), button15); - hpaned5 = gtk_hpaned_new (); + hpaned5 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_pack2 (GTK_PANED (hpaned4), hpaned5, TRUE, TRUE); frame11 = gtk_frame_new (NULL); @@ -6827,10 +6827,10 @@ paned_keyboard_window4 (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox3), label2, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label2), GTK_JUSTIFY_LEFT); - hpaned6 = gtk_hpaned_new (); + hpaned6 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox3), hpaned6, TRUE, TRUE, 0); - vpaned3 = gtk_vpaned_new (); + vpaned3 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_paned_pack1 (GTK_PANED (hpaned6), vpaned3, FALSE, TRUE); button19 = gtk_button_new_with_label ("button19"); @@ -6842,7 +6842,7 @@ paned_keyboard_window4 (GtkWidget *widget) hbox3 = gtk_hbox_new (FALSE, 0); gtk_paned_pack2 (GTK_PANED (hpaned6), hbox3, TRUE, TRUE); - vpaned4 = gtk_vpaned_new (); + vpaned4 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (hbox3), vpaned4, TRUE, TRUE, 0); button21 = gtk_button_new_with_label ("button21"); @@ -6851,7 +6851,7 @@ paned_keyboard_window4 (GtkWidget *widget) button20 = gtk_button_new_with_label ("button20"); gtk_paned_pack2 (GTK_PANED (vpaned4), button20, TRUE, TRUE); - vpaned5 = gtk_vpaned_new (); + vpaned5 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (hbox3), vpaned5, TRUE, TRUE, 0); button23 = gtk_button_new_with_label ("button23"); @@ -6860,7 +6860,7 @@ paned_keyboard_window4 (GtkWidget *widget) button22 = gtk_button_new_with_label ("button22"); gtk_paned_pack2 (GTK_PANED (vpaned5), button22, TRUE, TRUE); - vpaned6 = gtk_vpaned_new (); + vpaned6 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (hbox3), vpaned6, TRUE, TRUE, 0); button25 = gtk_button_new_with_label ("button25"); diff --git a/tests/testiconview.c b/tests/testiconview.c index 8220c91113..6dd169b6a4 100644 --- a/tests/testiconview.c +++ b/tests/testiconview.c @@ -436,7 +436,7 @@ main (gint argc, gchar **argv) vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - paned = gtk_hpaned_new (); + paned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (vbox), paned, TRUE, TRUE, 0); icon_list = gtk_icon_view_new (); diff --git a/tests/testoffscreen.c b/tests/testoffscreen.c index 8b4e61f753..cfb285b25d 100644 --- a/tests/testoffscreen.c +++ b/tests/testoffscreen.c @@ -328,7 +328,7 @@ main (int argc, } else { - offscreen = gtk_vpaned_new (); + offscreen = gtk_paned_new (GTK_ORIENTATION_VERTICAL); } gtk_box_pack_start (GTK_BOX (vbox), offscreen, TRUE, TRUE, 0); From d03d2943d2a4847f135a441bd924fa9dabf7d6b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 02:01:27 +0200 Subject: [PATCH 0079/1463] Use gtk_scale_new_with_range() instead gtk_[v|h]scale_new_with_range() --- demos/gtk-demo/offscreen_window.c | 3 ++- docs/tools/widgets.c | 6 ++++-- gtk/tests/testing.c | 3 ++- tests/testellipsise.c | 3 ++- tests/testgtk.c | 3 ++- tests/testoffscreen.c | 5 ++--- tests/testscale.c | 30 ++++++++++++++++++++---------- 7 files changed, 34 insertions(+), 19 deletions(-) diff --git a/demos/gtk-demo/offscreen_window.c b/demos/gtk-demo/offscreen_window.c index 410f524d12..fda8d83e9b 100644 --- a/demos/gtk-demo/offscreen_window.c +++ b/demos/gtk-demo/offscreen_window.c @@ -561,7 +561,8 @@ do_offscreen_window (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); vbox = gtk_vbox_new (0, FALSE); - scale = gtk_hscale_new_with_range (0, G_PI/2, 0.01); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, G_PI/2, 0.01); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); button = gtk_button_new_with_label ("A Button"); diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index 4c049fd67b..3227eb48ca 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -947,10 +947,12 @@ create_scales (void) vbox = gtk_vbox_new (FALSE, 3); hbox = gtk_hbox_new (TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), - gtk_hscale_new_with_range (0.0, 100.0, 1.0), + gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0.0, 100.0, 1.0), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), - gtk_vscale_new_with_range (0.0, 100.0, 1.0), + gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0.0, 100.0, 1.0), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), diff --git a/gtk/tests/testing.c b/gtk/tests/testing.c index fc4244225c..bc002f6eef 100644 --- a/gtk/tests/testing.c +++ b/gtk/tests/testing.c @@ -76,7 +76,8 @@ test_slider_ranges (void) { GtkWidget *child; GtkWidget *window = gtk_test_create_simple_window ("Test Window", "Test: gtk_test_warp_slider"); - GtkWidget *hscale = gtk_hscale_new_with_range (-50, +50, 5); + GtkWidget *hscale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + -50, +50, 5); child = gtk_bin_get_child (GTK_BIN (window)); gtk_container_add (GTK_CONTAINER (child), hscale); diff --git a/tests/testellipsise.c b/tests/testellipsise.c index 973b955766..b9a92c21ec 100644 --- a/tests/testellipsise.c +++ b/tests/testellipsise.c @@ -137,7 +137,8 @@ main (int argc, char *argv[]) gtk_container_add (GTK_CONTAINER (window), vbox); combo = gtk_combo_box_text_new (); - scale = gtk_hscale_new_with_range (0, 360, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 360, 1); label = gtk_label_new ("This label may be ellipsized\nto make it fit."); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "NONE"); diff --git a/tests/testgtk.c b/tests/testgtk.c index b621b9a59e..1665481593 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -2107,7 +2107,8 @@ create_rotated_label (GtkWidget *widget) gtk_label_set_markup (GTK_LABEL (scale_label), "Angle: "); gtk_box_pack_start (GTK_BOX (scale_hbox), scale_label, FALSE, FALSE, 0); - hscale = gtk_hscale_new_with_range (0, 360, 5); + hscale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 360, 5); g_signal_connect (hscale, "value-changed", G_CALLBACK (on_angle_scale_changed), label); diff --git a/tests/testoffscreen.c b/tests/testoffscreen.c index cfb285b25d..60f8ee18b7 100644 --- a/tests/testoffscreen.c +++ b/tests/testoffscreen.c @@ -310,9 +310,8 @@ main (int argc, vbox = gtk_vbox_new (0, FALSE); gtk_container_add (GTK_CONTAINER (window), vbox); - scale = gtk_hscale_new_with_range (0, - G_PI * 2, - 0.01); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, G_PI * 2, 0.01); gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Remove child 2"); diff --git a/tests/testscale.c b/tests/testscale.c index 98e83f09ba..3ed22b2469 100755 --- a/tests/testscale.c +++ b/tests/testscale.c @@ -49,13 +49,15 @@ int main (int argc, char *argv[]) box = gtk_vbox_new (FALSE, 5); frame = gtk_frame_new ("No marks"); - scale = gtk_hscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_container_add (GTK_CONTAINER (frame), scale); gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Simple marks"); - scale = gtk_hscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), marks[0], GTK_POS_BOTTOM, NULL); gtk_scale_add_mark (GTK_SCALE (scale), marks[1], GTK_POS_BOTTOM, NULL); @@ -64,7 +66,8 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Labeled marks"); - scale = gtk_hscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), marks[0], GTK_POS_BOTTOM, labels[0]); gtk_scale_add_mark (GTK_SCALE (scale), marks[1], GTK_POS_BOTTOM, labels[1]); @@ -73,7 +76,8 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Some labels"); - scale = gtk_hscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), marks[0], GTK_POS_BOTTOM, labels[0]); gtk_scale_add_mark (GTK_SCALE (scale), marks[1], GTK_POS_BOTTOM, NULL); @@ -82,7 +86,8 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Above and below"); - scale = gtk_hscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), bath_marks[0], GTK_POS_TOP, bath_labels[0]); gtk_scale_add_mark (GTK_SCALE (scale), bath_marks[1], GTK_POS_BOTTOM, bath_labels[1]); @@ -95,13 +100,15 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box), box2, TRUE, TRUE, 0); frame = gtk_frame_new ("No marks"); - scale = gtk_vscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_container_add (GTK_CONTAINER (frame), scale); gtk_box_pack_start (GTK_BOX (box2), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Simple marks"); - scale = gtk_vscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), marks[0], GTK_POS_LEFT, NULL); gtk_scale_add_mark (GTK_SCALE (scale), marks[1], GTK_POS_LEFT, NULL); @@ -110,7 +117,8 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box2), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Labeled marks"); - scale = gtk_vscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), marks[0], GTK_POS_LEFT, labels[0]); gtk_scale_add_mark (GTK_SCALE (scale), marks[1], GTK_POS_LEFT, labels[1]); @@ -119,7 +127,8 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box2), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Some labels"); - scale = gtk_vscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), marks[0], GTK_POS_LEFT, labels[0]); gtk_scale_add_mark (GTK_SCALE (scale), marks[1], GTK_POS_LEFT, NULL); @@ -128,7 +137,8 @@ int main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (box2), frame, FALSE, FALSE, 0); frame = gtk_frame_new ("Right and left"); - scale = gtk_vscale_new_with_range (0, 100, 1); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_VERTICAL, + 0, 100, 1); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); gtk_scale_add_mark (GTK_SCALE (scale), bath_marks[0], GTK_POS_RIGHT, bath_labels[0]); gtk_scale_add_mark (GTK_SCALE (scale), bath_marks[1], GTK_POS_LEFT, bath_labels[1]); From 234553c0934aa641cf1351eb0868a2b9174904b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 02:07:28 +0200 Subject: [PATCH 0080/1463] Use gtk_scale_new() instead gtk_[v|h]scale_new() --- demos/gtk-demo/textview.c | 2 +- demos/testpixbuf-scale.c | 2 +- examples/rangewidgets/rangewidgets.c | 8 ++++---- gtk/gtkcolorsel.c | 2 +- tests/testgtk.c | 10 +++++----- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/demos/gtk-demo/textview.c b/demos/gtk-demo/textview.c index 235afa9ca9..cb0af037b5 100644 --- a/demos/gtk-demo/textview.c +++ b/demos/gtk-demo/textview.c @@ -379,7 +379,7 @@ attach_widgets (GtkTextView *text_view) } else if (i == 2) { - widget = gtk_hscale_new (NULL); + widget = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, NULL); gtk_range_set_range (GTK_RANGE (widget), 0, 100); gtk_widget_set_size_request (widget, 70, -1); } diff --git a/demos/testpixbuf-scale.c b/demos/testpixbuf-scale.c index 7b52161907..5bca987bde 100644 --- a/demos/testpixbuf-scale.c +++ b/demos/testpixbuf-scale.c @@ -127,7 +127,7 @@ main(int argc, char **argv) g_signal_connect (adjustment, "value_changed", G_CALLBACK (overall_changed_cb), NULL); - hscale = gtk_hscale_new (adjustment); + hscale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, adjustment); gtk_scale_set_digits (GTK_SCALE (hscale), 0); gtk_box_pack_start (GTK_BOX (hbox), hscale, TRUE, TRUE, 0); diff --git a/examples/rangewidgets/rangewidgets.c b/examples/rangewidgets/rangewidgets.c index 11fc08b9b4..3f97b851cd 100644 --- a/examples/rangewidgets/rangewidgets.c +++ b/examples/rangewidgets/rangewidgets.c @@ -111,7 +111,7 @@ static void create_range_controls( void ) * (upper - page_size). */ adj1 = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0); - vscale = gtk_vscale_new (GTK_ADJUSTMENT (adj1)); + vscale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adj1)); scale_set_default_values (GTK_SCALE (vscale)); gtk_box_pack_start (GTK_BOX (box2), vscale, TRUE, TRUE, 0); gtk_widget_show (vscale); @@ -121,7 +121,7 @@ static void create_range_controls( void ) gtk_widget_show (box3); /* Reuse the same adjustment */ - hscale = gtk_hscale_new (GTK_ADJUSTMENT (adj1)); + hscale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adj1)); gtk_widget_set_size_request (GTK_WIDGET (hscale), 200, -1); scale_set_default_values (GTK_SCALE (hscale)); gtk_box_pack_start (GTK_BOX (box3), hscale, TRUE, TRUE, 0); @@ -230,7 +230,7 @@ static void create_range_controls( void ) adj2 = gtk_adjustment_new (1.0, 0.0, 5.0, 1.0, 1.0, 0.0); g_signal_connect (adj2, "value_changed", G_CALLBACK (cb_digits_scale), NULL); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2)); + scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adj2)); gtk_scale_set_digits (GTK_SCALE (scale), 0); gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); @@ -250,7 +250,7 @@ static void create_range_controls( void ) adj2 = gtk_adjustment_new (1.0, 1.0, 101.0, 1.0, 1.0, 0.0); g_signal_connect (adj2, "value-changed", G_CALLBACK (cb_page_size), (gpointer) adj1); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adj2)); + scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adj2)); gtk_scale_set_digits (GTK_SCALE (scale), 0); gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index f8f0e0b1cb..ef18b34813 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -445,7 +445,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) gtk_table_attach_defaults (GTK_TABLE (table), priv->opacity_label, 0, 1, 4, 5); adjust = gtk_adjustment_new (0.0, 0.0, 255.0, 1.0, 1.0, 0.0); g_object_set_data (G_OBJECT (adjust), I_("COLORSEL"), colorsel); - priv->opacity_slider = gtk_hscale_new (adjust); + priv->opacity_slider = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, adjust); gtk_widget_set_tooltip_text (priv->opacity_slider, _("Transparency of the color.")); gtk_label_set_mnemonic_widget (GTK_LABEL (priv->opacity_label), diff --git a/tests/testgtk.c b/tests/testgtk.c index 1665481593..d47792ff8d 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -5829,7 +5829,7 @@ create_range_controls (GtkWidget *widget) adjustment = gtk_adjustment_new (0.0, 0.0, 101.0, 0.1, 1.0, 1.0); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (GTK_WIDGET (scale), 150, -1); gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED); gtk_scale_set_digits (GTK_SCALE (scale), 1); @@ -5843,7 +5843,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), scrollbar, TRUE, TRUE, 0); gtk_widget_show (scrollbar); - scale = gtk_hscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); g_signal_connect (scale, "format_value", @@ -5854,14 +5854,14 @@ create_range_controls (GtkWidget *widget) hbox = gtk_hbox_new (FALSE, 0); - scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (scale, -1, 200); gtk_scale_set_digits (GTK_SCALE (scale), 2); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (scale, -1, 200); gtk_scale_set_digits (GTK_SCALE (scale), 2); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); @@ -5869,7 +5869,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - scale = gtk_vscale_new (GTK_ADJUSTMENT (adjustment)); + scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); g_signal_connect (scale, "format_value", From 6c301d4b0a09f618db0108ce38fdbf69cecc73d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 02:11:05 +0200 Subject: [PATCH 0081/1463] Use gtk_scrollbar_new() instead gtk_[v|h]scrollbar_new() --- examples/rangewidgets/rangewidgets.c | 2 +- gtk/gtkmenu.c | 2 +- gtk/gtkscrolledwindow.c | 4 ++-- gtk/gtkwidget.c | 2 +- tests/testgtk.c | 8 ++++---- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/examples/rangewidgets/rangewidgets.c b/examples/rangewidgets/rangewidgets.c index 3f97b851cd..fe274a3aae 100644 --- a/examples/rangewidgets/rangewidgets.c +++ b/examples/rangewidgets/rangewidgets.c @@ -128,7 +128,7 @@ static void create_range_controls( void ) gtk_widget_show (hscale); /* Reuse the same adjustment again */ - scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adj1)); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adj1)); /* Notice how this causes the scales to always be updated * continuously when the scrollbar is moved */ gtk_range_set_update_policy (GTK_RANGE (scrollbar), diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index c5b3109e04..4240325d3b 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -2171,7 +2171,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, g_object_connect (menu->tearoff_adjustment, "signal::value-changed", gtk_menu_scrollbar_changed, menu, NULL); - menu->tearoff_scrollbar = gtk_vscrollbar_new (menu->tearoff_adjustment); + menu->tearoff_scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, menu->tearoff_adjustment); gtk_box_pack_end (GTK_BOX (menu->tearoff_hbox), menu->tearoff_scrollbar, diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 489d6872d7..87a388b173 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -551,7 +551,7 @@ gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window, if (!priv->hscrollbar) { gtk_widget_push_composite_child (); - priv->hscrollbar = gtk_hscrollbar_new (hadjustment); + priv->hscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment); gtk_widget_set_composite_name (priv->hscrollbar, "hscrollbar"); gtk_widget_pop_composite_child (); @@ -614,7 +614,7 @@ gtk_scrolled_window_set_vadjustment (GtkScrolledWindow *scrolled_window, if (!priv->vscrollbar) { gtk_widget_push_composite_child (); - priv->vscrollbar = gtk_vscrollbar_new (vadjustment); + priv->vscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, vadjustment); gtk_widget_set_composite_name (priv->vscrollbar, "vscrollbar"); gtk_widget_pop_composite_child (); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 34cf229d14..a3b228e217 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -9567,7 +9567,7 @@ gtk_widget_get_composite_name (GtkWidget *widget) * Here is a simple example: * |[ * gtk_widget_push_composite_child (); - * scrolled_window->hscrollbar = gtk_hscrollbar_new (hadjustment); + * scrolled_window->hscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment); * gtk_widget_set_composite_name (scrolled_window->hscrollbar, "hscrollbar"); * gtk_widget_pop_composite_child (); * gtk_widget_set_parent (scrolled_window->hscrollbar, diff --git a/tests/testgtk.c b/tests/testgtk.c index d47792ff8d..81b7a0cfa8 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -630,13 +630,13 @@ create_big_windows (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (eventbox), darea); - scrollbar = gtk_hscrollbar_new (hadj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadj); gtk_table_attach (GTK_TABLE (table), scrollbar, 0, 1, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0); - scrollbar = gtk_vscrollbar_new (vadj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, vadj); gtk_table_attach (GTK_TABLE (table), scrollbar, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND | GTK_FILL, @@ -5837,7 +5837,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - scrollbar = gtk_hscrollbar_new (GTK_ADJUSTMENT (adjustment)); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_range_set_update_policy (GTK_RANGE (scrollbar), GTK_UPDATE_CONTINUOUS); gtk_box_pack_start (GTK_BOX (box2), scrollbar, TRUE, TRUE, 0); @@ -9206,7 +9206,7 @@ create_scroll_test (GtkWidget *widget) adj = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0); scroll_test_pos = 0.0; - scrollbar = gtk_vscrollbar_new (adj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adj); gtk_box_pack_start (GTK_BOX (hbox), scrollbar, FALSE, FALSE, 0); gtk_widget_show (scrollbar); From 0aa94bb9465f8ec7269366aaa029640a49891478 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Oct 2010 21:13:55 -0400 Subject: [PATCH 0082/1463] Fix initial size allocation with child widgets On some cases, it would take a resize of the window for children to 'jump into place'. https://bugzilla.gnome.org/show_bug.cgi?id=633500 --- gtk/gtkstatusbar.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c index 704b3b6940..cee0143617 100644 --- a/gtk/gtkstatusbar.c +++ b/gtk/gtkstatusbar.c @@ -106,6 +106,7 @@ static GObject *gtk_statusbar_buildable_get_internal_child (GtkBuildable *builda static void gtk_statusbar_update (GtkStatusbar *statusbar, guint context_id, const gchar *text); +static void gtk_statusbar_realize (GtkWidget *widget); static void gtk_statusbar_destroy (GtkWidget *widget); static void gtk_statusbar_size_allocate (GtkWidget *widget, GtkAllocation *allocation); @@ -128,6 +129,7 @@ gtk_statusbar_class_init (GtkStatusbarClass *class) gobject_class = (GObjectClass *) class; widget_class = (GtkWidgetClass *) class; + widget_class->realize = gtk_statusbar_realize; widget_class->destroy = gtk_statusbar_destroy; widget_class->size_allocate = gtk_statusbar_size_allocate; widget_class->hierarchy_changed = gtk_statusbar_hierarchy_changed; @@ -646,11 +648,11 @@ gtk_statusbar_size_allocate (GtkWidget *widget, GdkRectangle translated_rect; window = gtk_widget_get_toplevel (widget); + if (GTK_IS_WINDOW (window) && gtk_window_resize_grip_is_visible (GTK_WINDOW (window))) { gtk_window_get_resize_grip_area (GTK_WINDOW (window), &rect); - if (gtk_widget_translate_coordinates (gtk_widget_get_parent (widget), window, allocation->x, @@ -733,9 +735,9 @@ resize_grip_visible_changed (GObject *object, GtkStatusbar *statusbar = GTK_STATUSBAR (user_data); GtkStatusbarPrivate *priv = statusbar->priv; - gtk_widget_queue_resize (GTK_WIDGET (statusbar)); gtk_widget_queue_resize (priv->label); gtk_widget_queue_resize (priv->frame); + gtk_widget_queue_resize (GTK_WIDGET (statusbar)); } static void @@ -752,4 +754,14 @@ gtk_statusbar_hierarchy_changed (GtkWidget *widget, if (GTK_IS_WINDOW (window)) g_signal_connect (window, "notify::resize-grip-visible", G_CALLBACK (resize_grip_visible_changed), widget); + + resize_grip_visible_changed (NULL, NULL, widget); +} + +static void +gtk_statusbar_realize (GtkWidget *widget) +{ + GTK_WIDGET_CLASS (gtk_statusbar_parent_class)->realize (widget); + + resize_grip_visible_changed (NULL, NULL, widget); } From 71b8875d2b5311d2345b79d9a1882aae836ce8db Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Fri, 29 Oct 2010 21:16:52 -0400 Subject: [PATCH 0083/1463] Make gdk_rgba_to_string() take a const GdkRGBA https://bugzilla.gnome.org/show_bug.cgi?id=633216 --- gdk/gdkrgba.c | 2 +- gdk/gdkrgba.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/gdkrgba.c b/gdk/gdkrgba.c index e26de9806e..b355631e0e 100644 --- a/gdk/gdkrgba.c +++ b/gdk/gdkrgba.c @@ -267,7 +267,7 @@ gdk_rgba_equal (gconstpointer p1, * Returns: A newly allocated text string **/ gchar * -gdk_rgba_to_string (GdkRGBA *rgba) +gdk_rgba_to_string (const GdkRGBA *rgba) { gchar red[G_ASCII_DTOSTR_BUF_SIZE]; gchar green[G_ASCII_DTOSTR_BUF_SIZE]; diff --git a/gdk/gdkrgba.h b/gdk/gdkrgba.h index 7b50630c61..9875d105c5 100644 --- a/gdk/gdkrgba.h +++ b/gdk/gdkrgba.h @@ -55,7 +55,7 @@ guint gdk_rgba_hash (gconstpointer p); gboolean gdk_rgba_equal (gconstpointer p1, gconstpointer p2); -gchar * gdk_rgba_to_string (GdkRGBA *rgba); +gchar * gdk_rgba_to_string (const GdkRGBA *rgba); GType gdk_rgba_get_type (void) G_GNUC_CONST; From 1469c3fd696b6ec635d62a1e406e80baedd62797 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 29 Oct 2010 22:48:26 -0400 Subject: [PATCH 0084/1463] Migration guide additions Add some information about expand flags and the scrollable interface. --- docs/reference/gtk/migrating-2to3.xml | 31 ++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index 3d72934487..7298151e6b 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -509,6 +509,13 @@ gtk_fixed_get_preferred_height (GtkWidget *widget, } + Note that the get_preferred_width()/height() functions + only allow you do return one dimension at a time. If your + size_request() handler is doing things that involve both + width and height at the same time (e.g. limiting the aspect + ratio), you will have to implement get_preferred_height_for_width() + and get_preferred_width_for_height(). + To make full use of the new capabilities of the height-for-width geometry management, you need to additionally implement the get_preferred_height_for_width() and @@ -800,7 +807,21 @@ gtk_arrow_draw (GtkWidget *widget,
- GtkScrolledWindow policy + Check your expand flags + + + The behaviour of expanding widgets has changed slightly in GTK+ 3, + compared to GTK+ 2.x. It is now 'inherited', i.e. a container that + has an expanding child is considered expanding itself. This is often + the desired behaviour. In places where you don't want this to happen, + setting the container explicity as not expanding will stop the + expand flag of the child from being inherited. See + gtk_widget_set_hexpand() and gtk_widget_set_vexpand(). + +
+ +
+ Scrolling changes The default values for the #GtkScrolledWindow:hscrollbar-policy and @@ -808,6 +829,14 @@ gtk_arrow_draw (GtkWidget *widget, 'never' to 'automatic'. If your application was relying on the default value, you will have explicitly set it explicitly. + + + The ::set-scroll-adjustments signal on GtkWidget has been replaced + by the #GtkScrollable interface which must be implemented by a widget + that wants to be placed in a #GtkScrolledWindow. Instead of emitting + ::set-scroll-adjustments, the scrolled window simply sets the + #GtkScrollable::hadjustment and #GtkScrollable::vadjustment properties. +
From ae1d1fd0489aa1ad89c2cebe5ddb5b58200c588a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 05:01:31 +0200 Subject: [PATCH 0085/1463] docs: remove template of deprecated gtkcombo widget --- docs/reference/gtk/tmpl/gtkcombo.sgml | 222 -------------------------- 1 file changed, 222 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcombo.sgml diff --git a/docs/reference/gtk/tmpl/gtkcombo.sgml b/docs/reference/gtk/tmpl/gtkcombo.sgml deleted file mode 100644 index 85e4d09eef..0000000000 --- a/docs/reference/gtk/tmpl/gtkcombo.sgml +++ /dev/null @@ -1,222 +0,0 @@ - -GtkCombo - - -A text entry field with a dropdown list - - - -The #GtkCombo widget consists of a single-line text entry field and a drop-down -list. The drop-down list is displayed when the user clicks on a small arrow -button to the right of the entry field. - - -The drop-down list is a #GtkList widget and can be accessed using the -list member of the #GtkCombo-struct. -List elements can contain arbitrary widgets, but if an element is not a -plain label, then you must use the gtk_list_set_item_string() function. -This sets the string which will be placed in the text entry field when the -item is selected. - - -By default, the user can step through the items in the list using the -arrow (cursor) keys, though this behaviour can be turned off with -gtk_combo_set_use_arrows(). - - -As of GTK+ 2.4, #GtkCombo has been deprecated in favor of #GtkComboBoxEntry. - - - -Creating a <structname>GtkCombo</structname> widget with simple text -items. - - GtkWidget *combo; - GList *items = NULL; - - items = g_list_append (items, "First Item"); - items = g_list_append (items, "Second Item"); - items = g_list_append (items, "Third Item"); - items = g_list_append (items, "Fourth Item"); - items = g_list_append (items, "Fifth Item"); - - combo = gtk_combo_new (); - gtk_combo_set_popdown_strings (GTK_COMBO (combo), items); - - - - -Creating a <structname>GtkCombo</structname> widget with a complex item. - - GtkWidget *combo, *item, *hbox, *arrow, *label; - - combo = gtk_combo_new (); - - item = gtk_list_item_new (); - gtk_widget_show (item); - - /* You can put almost anything into the GtkListItem widget. Here we will use - a horizontal box with an arrow and a label in it. */ - hbox = gtk_hbox_new (FALSE, 3); - gtk_container_add (GTK_CONTAINER (item), hbox); - gtk_widget_show (hbox); - - arrow = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_OUT); - gtk_widget_show (arrow); - gtk_box_pack_start (GTK_BOX (hbox), arrow, FALSE, FALSE, 0); - - label = gtk_label_new ("First Item"); - gtk_widget_show (label); - gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); - - /* You must set the string to display in the entry field when the item is - selected. */ - gtk_combo_set_item_string (GTK_COMBO (combo), GTK_ITEM (item), "1st Item"); - - /* Now we simply add the item to the combo's list. */ - gtk_container_add (GTK_CONTAINER (GTK_COMBO (combo)->list), item); - - - - - - - - - - - - - -The #GtkCombo-struct struct contains the following fields. -(These fields should be considered read-only. They should never be set by -an application.) - - -@entry: the text entry field. -@list: the list shown in the drop-down window. -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Creates a new #GtkCombo. - - -@Returns: a new #GtkCombo. -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Convenience function to set all of the items in the popup list. -(See the example above.) - - -@combo: a #GtkCombo. -@strings: a list of strings, or %NULL to clear the popup list -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Specifies whether the value entered in the text entry field must match one of -the values in the list. If this is set then the user will not be able to -perform any other action until a valid value has been entered. - - -If an empty field is acceptable, the @ok_if_empty parameter should be %TRUE. - - -@combo: a #GtkCombo. -@val: %TRUE if the value entered must match one of the values in the list. -@ok_if_empty: %TRUE if an empty value is considered valid. -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Specifies if the arrow (cursor) keys can be used to step through the items in -the list. This is on by default. - - -@combo: a #GtkCombo. -@val: %TRUE if the arrow keys can be used to step through the items in - the list. -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Obsolete function, does nothing. - - -@combo: a #GtkCombo. -@val: unused -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Specifies whether the text entered into the #GtkEntry field and the text in -the list items is case sensitive. - - -This may be useful, for example, when you have called -gtk_combo_set_value_in_list() to limit the values entered, but you are not -worried about differences in case. - - -@combo: a #GtkCombo. -@val: %TRUE if the text in the list items is case sensitive. -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Sets the string to place in the #GtkEntry field when a particular list item is -selected. This is needed if the list item is not a simple label. - - -@combo: a #GtkCombo. -@item: a #GtkItem. -@item_value: the string to place in the #GtkEntry when @item is selected. -@Deprecated: 2.4: Use #GtkComboBox instead. - - - - -Stops the #GtkCombo widget from showing the popup list when the #GtkEntry -emits the "activate" signal, i.e. when the Return key is pressed. -This may be useful if, for example, you want the Return key to close a dialog -instead. - - -@combo: a #GtkCombo. -@Deprecated: 2.4: Use #GtkComboBox instead. - - From c15ef6405c74fedcca53002de8135ae92c4d15e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 05:00:32 +0200 Subject: [PATCH 0086/1463] Use gtk_box_new() instead gtk_[v|h]box_new() --- demos/gtk-demo/assistant.c | 4 +- demos/gtk-demo/button_box.c | 6 +- demos/gtk-demo/changedisplay.c | 6 +- demos/gtk-demo/clipboard.c | 8 +- demos/gtk-demo/colorsel.c | 2 +- demos/gtk-demo/combobox.c | 8 +- demos/gtk-demo/dialog.c | 10 +- demos/gtk-demo/drawingarea.c | 2 +- demos/gtk-demo/editable_cells.c | 4 +- demos/gtk-demo/entry_buffer.c | 2 +- demos/gtk-demo/entry_completion.c | 2 +- demos/gtk-demo/expander.c | 2 +- demos/gtk-demo/iconview.c | 2 +- demos/gtk-demo/images.c | 2 +- demos/gtk-demo/infobar.c | 4 +- demos/gtk-demo/list_store.c | 2 +- demos/gtk-demo/main.c | 2 +- demos/gtk-demo/menus.c | 6 +- demos/gtk-demo/offscreen_window.c | 2 +- demos/gtk-demo/offscreen_window2.c | 4 +- demos/gtk-demo/panes.c | 2 +- demos/gtk-demo/rotated_text.c | 2 +- demos/gtk-demo/search_entry.c | 4 +- demos/gtk-demo/sizegroup.c | 2 +- demos/gtk-demo/spinner.c | 6 +- demos/gtk-demo/stock_browser.c | 4 +- demos/gtk-demo/textscroll.c | 2 +- demos/gtk-demo/toolpalette.c | 4 +- demos/gtk-demo/tree_store.c | 2 +- demos/gtk-demo/ui_manager.c | 4 +- demos/testanimation.c | 4 +- demos/testgtk/main.c | 2 +- demos/testpixbuf-save.c | 2 +- demos/testpixbuf-scale.c | 4 +- docs/tools/widgets.c | 40 ++-- examples/arrow/arrow.c | 2 +- examples/buttonbox/buttonbox.c | 6 +- examples/buttons/buttons.c | 2 +- examples/calendar/calendar.c | 16 +- examples/entry/entry.c | 4 +- examples/gtkdial/dial_test.c | 2 +- examples/helloworld2/helloworld2.c | 2 +- examples/label/label.c | 6 +- examples/menu/itemfactory.c | 2 +- examples/menu/menu.c | 2 +- examples/packbox/packbox.c | 14 +- examples/progressbar/progressbar.c | 2 +- examples/radiobuttons/radiobuttons.c | 6 +- examples/rangewidgets/rangewidgets.c | 18 +- examples/scribble-simple/scribble-simple.c | 2 +- examples/scribble-xinput/scribble-xinput.c | 2 +- examples/spinbutton/spinbutton.c | 26 +-- examples/statusbar/statusbar.c | 2 +- gtk/gtkaboutdialog.c | 4 +- gtk/gtkassistant.c | 2 +- gtk/gtkbutton.c | 4 +- gtk/gtkcolorsel.c | 12 +- gtk/gtkcombobox.c | 2 +- gtk/gtkcustompaperunixdialog.c | 14 +- gtk/gtkdialog.c | 2 +- gtk/gtkentrycompletion.c | 2 +- gtk/gtkfilechooserbutton.c | 2 +- gtk/gtkfilechooserdefault.c | 25 ++- gtk/gtkfontbutton.c | 2 +- gtk/gtkfontsel.c | 4 +- gtk/gtkinfobar.c | 2 +- gtk/gtkmenu.c | 4 +- gtk/gtkmenutoolbutton.c | 6 +- gtk/gtkmessagedialog.c | 4 +- gtk/gtkmountoperation.c | 12 +- gtk/gtkpagesetupunixdialog.c | 2 +- gtk/gtkpathbar.c | 2 +- gtk/gtkprintbackend.c | 6 +- gtk/gtkprinteroptionwidget.c | 2 +- gtk/gtkprintunixdialog.c | 26 +-- gtk/gtkradiobutton.c | 2 +- gtk/gtkrecentchooserdefault.c | 2 +- gtk/gtkscalebutton.c | 2 +- gtk/gtkstatusbar.c | 2 +- gtk/gtktoolbutton.c | 8 +- gtk/gtktooltip.c | 3 +- gtk/gtktreeview.c | 2 +- gtk/gtktreeviewcolumn.c | 2 +- gtk/gtkwindow.c | 2 +- gtk/tests/crossingevents.c | 2 +- modules/other/gail/tests/ferret.c | 26 +-- modules/other/gail/tests/testlib.c | 4 +- modules/other/gail/tests/testtable.c | 8 +- perf/appwindow.c | 2 +- tests/flicker.c | 8 +- tests/print-editor.c | 8 +- tests/prop-editor.c | 16 +- tests/testactions.c | 4 +- tests/testadjustsize.c | 2 +- tests/testassistant.c | 6 +- tests/testbbox.c | 4 +- tests/testbuttons.c | 14 +- tests/testcalendar.c | 26 +-- tests/testcellrenderertext.c | 2 +- tests/testcombo.c | 22 +- tests/testcombochange.c | 6 +- tests/testellipsise.c | 2 +- tests/testentrycompletion.c | 4 +- tests/testfilechooser.c | 2 +- tests/testfilechooserbutton.c | 10 +- tests/testframe.c | 2 +- tests/testgtk.c | 248 ++++++++++----------- tests/testheightforwidth.c | 2 +- tests/testiconview.c | 2 +- tests/testinput.c | 2 +- tests/testmenubars.c | 8 +- tests/testmerge.c | 4 +- tests/testmultiscreen.c | 4 +- tests/testoffscreen.c | 12 +- tests/testorientable.c | 2 +- tests/testrecentchoosermenu.c | 2 +- tests/testscale.c | 4 +- tests/testscrolledwindow.c | 12 +- tests/testselection.c | 2 +- tests/testsocket.c | 8 +- tests/testsocket_common.c | 2 +- tests/testspinbutton.c | 4 +- tests/testtext.c | 6 +- tests/testthreads.c | 2 +- tests/testtoolbar.c | 6 +- tests/testtooltips.c | 2 +- tests/testtreecolumns.c | 10 +- tests/testtreecolumnsizing.c | 2 +- tests/testtreeflow.c | 4 +- tests/testtreefocus.c | 4 +- tests/testtreesort.c | 6 +- tests/testvolumebutton.c | 2 +- tests/testwindows.c | 4 +- tests/testxinerama.c | 2 +- tests/treestoretest.c | 8 +- 135 files changed, 502 insertions(+), 500 deletions(-) diff --git a/demos/gtk-demo/assistant.c b/demos/gtk-demo/assistant.c index a00c595370..c753d9068f 100644 --- a/demos/gtk-demo/assistant.c +++ b/demos/gtk-demo/assistant.c @@ -94,7 +94,7 @@ create_page1 (GtkWidget *assistant) GtkWidget *box, *label, *entry; GdkPixbuf *pixbuf; - box = gtk_hbox_new (FALSE, 12); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (box), 12); label = gtk_label_new ("You must fill out this entry to continue:"); @@ -121,7 +121,7 @@ create_page2 (GtkWidget *assistant) GtkWidget *box, *checkbutton; GdkPixbuf *pixbuf; - box = gtk_vbox_new (12, FALSE); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12, FALSE); gtk_container_set_border_width (GTK_CONTAINER (box), 12); checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue " diff --git a/demos/gtk-demo/button_box.c b/demos/gtk-demo/button_box.c index 8b53d33f95..71f6ced912 100644 --- a/demos/gtk-demo/button_box.c +++ b/demos/gtk-demo/button_box.c @@ -63,13 +63,13 @@ do_button_box (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - main_vbox = gtk_vbox_new (FALSE, 0); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame_horz = gtk_frame_new ("Horizontal Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (frame_horz), vbox); @@ -92,7 +92,7 @@ do_button_box (GtkWidget *do_widget) frame_vert = gtk_frame_new ("Vertical Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_container_add (GTK_CONTAINER (frame_vert), hbox); diff --git a/demos/gtk-demo/changedisplay.c b/demos/gtk-demo/changedisplay.c index 17d8448178..a3b523c987 100644 --- a/demos/gtk-demo/changedisplay.c +++ b/demos/gtk-demo/changedisplay.c @@ -357,7 +357,7 @@ create_frame (ChangeDisplayInfo *info, *frame = gtk_frame_new (title); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (*frame), hbox); @@ -375,7 +375,7 @@ create_frame (ChangeDisplayInfo *info, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (*tree_view)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); - *button_vbox = gtk_vbox_new (FALSE, 5); + *button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), *button_vbox, FALSE, FALSE, 0); if (!info->size_group) @@ -624,7 +624,7 @@ do_changedisplay (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (info->window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c index 6ec1517bc5..8525320475 100644 --- a/demos/gtk-demo/clipboard.c +++ b/demos/gtk-demo/clipboard.c @@ -210,7 +210,7 @@ do_clipboard (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -219,7 +219,7 @@ do_clipboard (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -236,7 +236,7 @@ do_clipboard (GtkWidget *do_widget) label = gtk_label_new ("\"Paste\" will paste the text from the clipboard to the entry"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -253,7 +253,7 @@ do_clipboard (GtkWidget *do_widget) label = gtk_label_new ("Images can be transferred via the clipboard, too"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); diff --git a/demos/gtk-demo/colorsel.c b/demos/gtk-demo/colorsel.c index d1fbe327e1..3d5d55a2a8 100644 --- a/demos/gtk-demo/colorsel.c +++ b/demos/gtk-demo/colorsel.c @@ -85,7 +85,7 @@ do_colorsel (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/combobox.c b/demos/gtk-demo/combobox.c index 79fa323669..a238a62619 100644 --- a/demos/gtk-demo/combobox.c +++ b/demos/gtk-demo/combobox.c @@ -345,7 +345,7 @@ do_combobox (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); gtk_container_add (GTK_CONTAINER (window), vbox); /* A combobox demonstrating cell renderers, separators and @@ -354,7 +354,7 @@ do_combobox (GtkWidget *do_widget) frame = gtk_frame_new ("Some stock icons"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 5); gtk_container_add (GTK_CONTAINER (frame), box); @@ -395,7 +395,7 @@ do_combobox (GtkWidget *do_widget) frame = gtk_frame_new ("Where are we ?"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 5); gtk_container_add (GTK_CONTAINER (frame), box); @@ -424,7 +424,7 @@ do_combobox (GtkWidget *do_widget) frame = gtk_frame_new ("Editable"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 5); gtk_container_add (GTK_CONTAINER (frame), box); diff --git a/demos/gtk-demo/dialog.c b/demos/gtk-demo/dialog.c index ad9f259f96..741f9bf93d 100644 --- a/demos/gtk-demo/dialog.c +++ b/demos/gtk-demo/dialog.c @@ -54,7 +54,7 @@ interactive_dialog_clicked (GtkButton *button, content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0); @@ -120,12 +120,12 @@ do_dialog (GtkWidget *do_widget) frame = gtk_frame_new ("Dialogs"); gtk_container_add (GTK_CONTAINER (window), frame); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (frame), vbox); /* Standard message dialog */ - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Message Dialog"); g_signal_connect (button, "clicked", @@ -136,9 +136,9 @@ do_dialog (GtkWidget *do_widget) FALSE, FALSE, 0); /* Interactive dialog*/ - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Interactive Dialog"); g_signal_connect (button, "clicked", diff --git a/demos/gtk-demo/drawingarea.c b/demos/gtk-demo/drawingarea.c index 4af4cae1d2..db5a62d97f 100644 --- a/demos/gtk-demo/drawingarea.c +++ b/demos/gtk-demo/drawingarea.c @@ -216,7 +216,7 @@ do_drawingarea (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/editable_cells.c b/demos/gtk-demo/editable_cells.c index 638d13fcdb..1975e06b2e 100644 --- a/demos/gtk-demo/editable_cells.c +++ b/demos/gtk-demo/editable_cells.c @@ -332,7 +332,7 @@ do_editable_cells (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_start (GTK_BOX (vbox), @@ -365,7 +365,7 @@ do_editable_cells (GtkWidget *do_widget) gtk_container_add (GTK_CONTAINER (sw), treeview); /* some buttons */ - hbox = gtk_hbox_new (TRUE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Add item"); diff --git a/demos/gtk-demo/entry_buffer.c b/demos/gtk-demo/entry_buffer.c index 6c4d34d6f6..a9e775e31b 100644 --- a/demos/gtk-demo/entry_buffer.c +++ b/demos/gtk-demo/entry_buffer.c @@ -34,7 +34,7 @@ do_entry_buffer (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/entry_completion.c b/demos/gtk-demo/entry_completion.c index e9a3e2435c..da2e844abb 100644 --- a/demos/gtk-demo/entry_completion.c +++ b/demos/gtk-demo/entry_completion.c @@ -61,7 +61,7 @@ do_entry_completion (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/expander.c b/demos/gtk-demo/expander.c index 9b384fbefe..700caee74a 100644 --- a/demos/gtk-demo/expander.c +++ b/demos/gtk-demo/expander.c @@ -35,7 +35,7 @@ do_expander (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/iconview.c b/demos/gtk-demo/iconview.c index 1cfac12c95..49985ee307 100644 --- a/demos/gtk-demo/iconview.c +++ b/demos/gtk-demo/iconview.c @@ -300,7 +300,7 @@ do_iconview (GtkWidget *do_widget) GtkWidget *tool_bar; GtkToolItem *home_button; - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); tool_bar = gtk_toolbar_new (); diff --git a/demos/gtk-demo/images.c b/demos/gtk-demo/images.c index e58d9c5d48..acd382f757 100644 --- a/demos/gtk-demo/images.c +++ b/demos/gtk-demo/images.c @@ -335,7 +335,7 @@ do_images (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/infobar.c b/demos/gtk-demo/infobar.c index e5d460254b..11a5cd04b7 100644 --- a/demos/gtk-demo/infobar.c +++ b/demos/gtk-demo/infobar.c @@ -44,7 +44,7 @@ do_infobar (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); bar = gtk_info_bar_new (); @@ -81,7 +81,7 @@ do_infobar (GtkWidget *do_widget) frame = gtk_frame_new ("Info bars"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 8); - vbox2 = gtk_vbox_new (FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8); gtk_container_add (GTK_CONTAINER (frame), vbox2); diff --git a/demos/gtk-demo/list_store.c b/demos/gtk-demo/list_store.c index e5c72bab67..716fb8d075 100644 --- a/demos/gtk-demo/list_store.c +++ b/demos/gtk-demo/list_store.c @@ -266,7 +266,7 @@ do_list_store (GtkWidget *do_widget) G_CALLBACK (gtk_widget_destroyed), &window); gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_add (GTK_CONTAINER (window), vbox); label = gtk_label_new ("This is the bug list (note: not based on real data, it would be nice to have a nice ODBC interface to bugzilla or so, though)."); diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c index b7ead0a03a..68b45874cc 100644 --- a/demos/gtk-demo/main.c +++ b/demos/gtk-demo/main.c @@ -954,7 +954,7 @@ main (int argc, char **argv) g_signal_connect_after (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), hbox); tree = create_tree (); diff --git a/demos/gtk-demo/menus.c b/demos/gtk-demo/menus.c index 78f63bfd55..f8af4f974d 100644 --- a/demos/gtk-demo/menus.c +++ b/demos/gtk-demo/menus.c @@ -146,11 +146,11 @@ do_menus (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box = gtk_hbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box); gtk_widget_show (box); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (box), box1); gtk_widget_show (box1); @@ -176,7 +176,7 @@ do_menus (GtkWidget *do_widget) gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); diff --git a/demos/gtk-demo/offscreen_window.c b/demos/gtk-demo/offscreen_window.c index fda8d83e9b..6a11786b85 100644 --- a/demos/gtk-demo/offscreen_window.c +++ b/demos/gtk-demo/offscreen_window.c @@ -560,7 +560,7 @@ do_offscreen_window (GtkWidget *do_widget) gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &black); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0, G_PI/2, 0.01); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); diff --git a/demos/gtk-demo/offscreen_window2.c b/demos/gtk-demo/offscreen_window2.c index c03d8c0c38..4255870f4a 100644 --- a/demos/gtk-demo/offscreen_window2.c +++ b/demos/gtk-demo/offscreen_window2.c @@ -461,13 +461,13 @@ do_offscreen_window2 (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); bin = gtk_mirror_bin_new (); group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); - hbox = gtk_hbox_new (FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); backbutton = gtk_button_new (); gtk_container_add (GTK_CONTAINER (backbutton), gtk_image_new_from_stock (GTK_STOCK_GO_BACK, 4)); diff --git a/demos/gtk-demo/panes.c b/demos/gtk-demo/panes.c index fd0822f17a..52a1a5ea18 100644 --- a/demos/gtk-demo/panes.c +++ b/demos/gtk-demo/panes.c @@ -153,7 +153,7 @@ do_panes (GtkWidget *do_widget) gtk_window_set_title (GTK_WINDOW (window), "Panes"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); diff --git a/demos/gtk-demo/rotated_text.c b/demos/gtk-demo/rotated_text.c index bab7046b98..97704e7740 100644 --- a/demos/gtk-demo/rotated_text.c +++ b/demos/gtk-demo/rotated_text.c @@ -190,7 +190,7 @@ do_rotated_text (GtkWidget *do_widget) gtk_window_set_default_size (GTK_WINDOW (window), 4 * RADIUS, 2 * RADIUS); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - box = gtk_hbox_new (TRUE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); gtk_container_add (GTK_CONTAINER (window), box); /* Add a drawing area */ diff --git a/demos/gtk-demo/search_entry.c b/demos/gtk-demo/search_entry.c index 1e5c747e84..56cfc1b516 100644 --- a/demos/gtk-demo/search_entry.c +++ b/demos/gtk-demo/search_entry.c @@ -266,7 +266,7 @@ do_search_entry (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); @@ -274,7 +274,7 @@ do_search_entry (GtkWidget *do_widget) gtk_label_set_markup (GTK_LABEL (label), "Search entry demo"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 10); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 0); diff --git a/demos/gtk-demo/sizegroup.c b/demos/gtk-demo/sizegroup.c index d53003960e..db38f653b6 100644 --- a/demos/gtk-demo/sizegroup.c +++ b/demos/gtk-demo/sizegroup.c @@ -118,7 +118,7 @@ do_sizegroup (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/spinner.c b/demos/gtk-demo/spinner.c index 53938f9df5..878cbd7e8a 100644 --- a/demos/gtk-demo/spinner.c +++ b/demos/gtk-demo/spinner.c @@ -50,12 +50,12 @@ do_spinner (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); /* Sensitive */ - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); spinner = gtk_spinner_new (); gtk_container_add (GTK_CONTAINER (hbox), spinner); gtk_container_add (GTK_CONTAINER (hbox), gtk_entry_new ()); @@ -63,7 +63,7 @@ do_spinner (GtkWidget *do_widget) spinner_sensitive = spinner; /* Disabled */ - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); spinner = gtk_spinner_new (); gtk_container_add (GTK_CONTAINER (hbox), spinner); gtk_container_add (GTK_CONTAINER (hbox), gtk_entry_new ()); diff --git a/demos/gtk-demo/stock_browser.c b/demos/gtk-demo/stock_browser.c index 3dc71dded1..583fa91555 100644 --- a/demos/gtk-demo/stock_browser.c +++ b/demos/gtk-demo/stock_browser.c @@ -417,7 +417,7 @@ do_stock_browser (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); gtk_container_set_border_width (GTK_CONTAINER (window), 8); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_container_add (GTK_CONTAINER (window), hbox); sw = gtk_scrolled_window_new (NULL, NULL); @@ -486,7 +486,7 @@ do_stock_browser (GtkWidget *do_widget) frame = gtk_frame_new ("Selected Item"); gtk_container_add (GTK_CONTAINER (align), frame); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 4); gtk_container_add (GTK_CONTAINER (frame), vbox); diff --git a/demos/gtk-demo/textscroll.c b/demos/gtk-demo/textscroll.c index 2733032952..244a7f33e1 100644 --- a/demos/gtk-demo/textscroll.c +++ b/demos/gtk-demo/textscroll.c @@ -184,7 +184,7 @@ do_textscroll (GtkWidget *do_widget) G_CALLBACK (gtk_widget_destroyed), &window); gtk_window_set_default_size (GTK_WINDOW (window), 600, 400); - hbox = gtk_hbox_new (TRUE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 6); gtk_container_add (GTK_CONTAINER (window), hbox); create_text_view (hbox, TRUE); diff --git a/demos/gtk-demo/toolpalette.c b/demos/gtk-demo/toolpalette.c index 49efd57f33..f7ed51ea59 100644 --- a/demos/gtk-demo/toolpalette.c +++ b/demos/gtk-demo/toolpalette.c @@ -438,7 +438,7 @@ do_toolpalette (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); /* Add widgets to control the ToolPalette appearance: */ - box = gtk_vbox_new (FALSE, 6); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_add (GTK_CONTAINER (window), box); /* Orientation combo box: */ @@ -507,7 +507,7 @@ do_toolpalette (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (box), combo_style, FALSE, FALSE, 0); /* Add hbox */ - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (box), hbox, TRUE, TRUE, 0); /* Add and fill the ToolPalette: */ diff --git a/demos/gtk-demo/tree_store.c b/demos/gtk-demo/tree_store.c index e0b208ab79..c3dfe14909 100644 --- a/demos/gtk-demo/tree_store.c +++ b/demos/gtk-demo/tree_store.c @@ -402,7 +402,7 @@ do_tree_store (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/ui_manager.c b/demos/gtk-demo/ui_manager.c index 15005592df..f131a4469c 100644 --- a/demos/gtk-demo/ui_manager.c +++ b/demos/gtk-demo/ui_manager.c @@ -196,7 +196,7 @@ do_ui_manager (GtkWidget *do_widget) g_error_free (error); } - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_box_pack_start (GTK_BOX (box1), @@ -213,7 +213,7 @@ do_ui_manager (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); diff --git a/demos/testanimation.c b/demos/testanimation.c index fa29585079..3cdc011267 100644 --- a/demos/testanimation.c +++ b/demos/testanimation.c @@ -323,7 +323,7 @@ do_image (const char *filename) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -384,7 +384,7 @@ do_nonprogressive (const gchar *filename) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/testgtk/main.c b/demos/testgtk/main.c index bf43ca34ea..f772a6f0e1 100644 --- a/demos/testgtk/main.c +++ b/demos/testgtk/main.c @@ -350,7 +350,7 @@ main (int argc, char **argv) g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), hbox); tree = create_tree (); diff --git a/demos/testpixbuf-save.c b/demos/testpixbuf-save.c index 5277c89a6f..cf1e4f4ac2 100644 --- a/demos/testpixbuf-save.c +++ b/demos/testpixbuf-save.c @@ -365,7 +365,7 @@ main (int argc, char **argv) g_signal_connect (window, "destroy", G_CALLBACK (close_app), NULL); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); drawing_area = gtk_drawing_area_new (); diff --git a/demos/testpixbuf-scale.c b/demos/testpixbuf-scale.c index 5bca987bde..5a977bbe4b 100644 --- a/demos/testpixbuf-scale.c +++ b/demos/testpixbuf-scale.c @@ -98,7 +98,7 @@ main(int argc, char **argv) g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); combo_box = gtk_combo_box_text_new (); @@ -117,7 +117,7 @@ main(int argc, char **argv) alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.5); gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Overall Alpha:"); diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index 3227eb48ca..fb50138e53 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -222,7 +222,7 @@ create_radio (void) GtkWidget *radio; GtkWidget *align; - widget = gtk_vbox_new (FALSE, 3); + widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); radio = gtk_radio_button_new_with_mnemonic (NULL, "Radio Button _One"); gtk_box_pack_start (GTK_BOX (widget), radio, FALSE, FALSE, 0); radio = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (radio), "Radio Button _Two"); @@ -261,7 +261,7 @@ create_accel_label (void) gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (widget), button); gtk_widget_set_no_show_all (button, TRUE); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (box), widget); gtk_container_add (GTK_CONTAINER (box), button); @@ -424,7 +424,7 @@ create_icon_view (void) gtk_container_add (GTK_CONTAINER (widget), icon_view); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); @@ -446,7 +446,7 @@ create_color_button (void) GtkWidget *align; GdkColor color; - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); color.red = 0x1e<<8; /* Go Gagne! */ color.green = 0x90<<8; @@ -468,7 +468,7 @@ create_font_button (void) GtkWidget *picker; GtkWidget *align; - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_font_button_new_with_font ("Sans Serif 10"); gtk_container_add (GTK_CONTAINER (align), picker); @@ -488,8 +488,8 @@ create_file_button (void) GtkWidget *picker; GtkWidget *align; - vbox = gtk_vbox_new (FALSE, 12); - vbox2 = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_file_chooser_button_new ("File Chooser Button", GTK_FILE_CHOOSER_ACTION_OPEN); @@ -507,7 +507,7 @@ create_file_button (void) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 0); - vbox2 = gtk_vbox_new (FALSE, 3); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_file_chooser_button_new ("File Chooser Button", GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); @@ -530,8 +530,8 @@ create_separator (void) GtkWidget *hbox; GtkWidget *vbox; - vbox = gtk_vbox_new (FALSE, 3); - hbox = gtk_hbox_new (TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), TRUE, TRUE, 0); @@ -555,8 +555,8 @@ create_panes (void) GtkWidget *vbox; GtkWidget *pane; - vbox = gtk_vbox_new (FALSE, 3); - hbox = gtk_hbox_new (TRUE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 12); pane = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_pack1 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, @@ -788,7 +788,7 @@ create_menubar (void) item = gtk_menu_item_new_with_mnemonic ("_Help"); gtk_menu_shell_append (GTK_MENU_SHELL (widget), item); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -868,7 +868,7 @@ create_progressbar (void) widget = gtk_progress_bar_new (); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), 0.5); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -901,7 +901,7 @@ create_spinbutton (void) widget = gtk_spin_button_new_with_range (0.0, 100.0, 1.0); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -919,7 +919,7 @@ create_statusbar (void) GtkWidget *widget; GtkWidget *vbox, *align; - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), gtk_label_new ("Status Bar")); gtk_box_pack_start (GTK_BOX (vbox), @@ -944,8 +944,8 @@ create_scales (void) GtkWidget *hbox; GtkWidget *vbox; - vbox = gtk_vbox_new (FALSE, 3); - hbox = gtk_hbox_new (TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0.0, 100.0, 1.0), @@ -972,7 +972,7 @@ create_image (void) widget = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DND); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -992,7 +992,7 @@ create_spinner (void) widget = gtk_spinner_new (); gtk_widget_set_size_request (widget, 24, 24); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); diff --git a/examples/arrow/arrow.c b/examples/arrow/arrow.c index 9d66e6ec9f..149af8098b 100644 --- a/examples/arrow/arrow.c +++ b/examples/arrow/arrow.c @@ -44,7 +44,7 @@ int main( int argc, gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Create a box to hold the arrows/buttons */ - box = gtk_hbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 2); gtk_container_add (GTK_CONTAINER (window), box); diff --git a/examples/buttonbox/buttonbox.c b/examples/buttonbox/buttonbox.c index 72df6e8599..8643974d72 100644 --- a/examples/buttonbox/buttonbox.c +++ b/examples/buttonbox/buttonbox.c @@ -61,13 +61,13 @@ int main( int argc, gtk_container_set_border_width (GTK_CONTAINER (window), 10); - main_vbox = gtk_vbox_new (FALSE, 0); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame_horz = gtk_frame_new ("Horizontal Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (frame_horz), vbox); @@ -90,7 +90,7 @@ int main( int argc, frame_vert = gtk_frame_new ("Vertical Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_container_add (GTK_CONTAINER (frame_vert), hbox); diff --git a/examples/buttons/buttons.c b/examples/buttons/buttons.c index d78ce834cd..df68fcb42f 100644 --- a/examples/buttons/buttons.c +++ b/examples/buttons/buttons.c @@ -13,7 +13,7 @@ static GtkWidget *xpm_label_box( gchar *xpm_filename, GtkWidget *image; /* Create box for image and label */ - box = gtk_hbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 2); /* Now on to the image stuff */ diff --git a/examples/calendar/calendar.c b/examples/calendar/calendar.c index 06312063c5..4e65660d17 100644 --- a/examples/calendar/calendar.c +++ b/examples/calendar/calendar.c @@ -277,14 +277,14 @@ static void create_calendar( void ) NULL); gtk_window_set_resizable (GTK_WINDOW (window), FALSE); - vbox = gtk_vbox_new (FALSE, DEF_PAD); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD); gtk_container_add (GTK_CONTAINER (window), vbox); /* * The top part of the window, Calendar, flags and fontsel. */ - hbox = gtk_hbox_new (FALSE, DEF_PAD); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, DEF_PAD); hbbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (hbox), hbbox, FALSE, FALSE, DEF_PAD); @@ -325,14 +325,14 @@ static void create_calendar( void ) separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (hbox), separator, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, DEF_PAD); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, DEF_PAD); /* Build the Right frame with the flags in */ frame = gtk_frame_new ("Flags"); gtk_box_pack_start (GTK_BOX (vbox2), frame, TRUE, TRUE, DEF_PAD); - vbox3 = gtk_vbox_new (TRUE, DEF_PAD_SMALL); + vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, DEF_PAD_SMALL); gtk_container_add (GTK_CONTAINER (frame), vbox3); for (i = 0; i < 5; i++) @@ -360,24 +360,24 @@ static void create_calendar( void ) frame = gtk_frame_new ("Signal events"); gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, DEF_PAD); - vbox2 = gtk_vbox_new (TRUE, DEF_PAD_SMALL); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, DEF_PAD_SMALL); gtk_container_add (GTK_CONTAINER (frame), vbox2); - hbox = gtk_hbox_new (FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.last_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.last_sig, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.prev_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.prev_sig, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Second previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); diff --git a/examples/entry/entry.c b/examples/entry/entry.c index 2d06f7192d..f7c577210d 100644 --- a/examples/entry/entry.c +++ b/examples/entry/entry.c @@ -48,7 +48,7 @@ int main( int argc, G_CALLBACK (gtk_widget_destroy), window); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); @@ -65,7 +65,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (vbox), entry, TRUE, TRUE, 0); gtk_widget_show (entry); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (vbox), hbox); gtk_widget_show (hbox); diff --git a/examples/gtkdial/dial_test.c b/examples/gtkdial/dial_test.c index 1afb41b152..b82c921bec 100644 --- a/examples/gtkdial/dial_test.c +++ b/examples/gtkdial/dial_test.c @@ -34,7 +34,7 @@ int main( int argc, gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/examples/helloworld2/helloworld2.c b/examples/helloworld2/helloworld2.c index d661d164a2..93fde5bcef 100644 --- a/examples/helloworld2/helloworld2.c +++ b/examples/helloworld2/helloworld2.c @@ -48,7 +48,7 @@ int main (int argc, /* We create a box to pack widgets into. This is described in detail * in the "packing" section. The box is not really visible, it * is just used as a tool to arrange widgets. */ - box1 = gtk_hbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); /* Put the box into the main window. */ gtk_container_add (GTK_CONTAINER (window), box1); diff --git a/examples/label/label.c b/examples/label/label.c index 84281be27e..48ca40caad 100644 --- a/examples/label/label.c +++ b/examples/label/label.c @@ -19,8 +19,8 @@ int main( int argc, NULL); gtk_window_set_title (GTK_WINDOW (window), "Label"); - vbox = gtk_vbox_new (FALSE, 5); - hbox = gtk_hbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), hbox); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); @@ -50,7 +50,7 @@ int main( int argc, gtk_container_add (GTK_CONTAINER (frame), label); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); frame = gtk_frame_new ("Line wrapped label"); label = gtk_label_new ("This is an example of a line-wrapped label. It " \ diff --git a/examples/menu/itemfactory.c b/examples/menu/itemfactory.c index 937a665752..26fa257a43 100644 --- a/examples/menu/itemfactory.c +++ b/examples/menu/itemfactory.c @@ -150,7 +150,7 @@ int main( int argc, gtk_widget_set_size_request (GTK_WIDGET(window), 300, 200); /* Make a vbox to put the three menus in */ - main_vbox = gtk_vbox_new (FALSE, 1); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 1); gtk_container_add (GTK_CONTAINER (window), main_vbox); diff --git a/examples/menu/menu.c b/examples/menu/menu.c index a52ce69399..f37e4e3e48 100644 --- a/examples/menu/menu.c +++ b/examples/menu/menu.c @@ -72,7 +72,7 @@ int main( int argc, gtk_menu_item_set_submenu (GTK_MENU_ITEM (root_menu), menu); /* A vbox to put a menu and a button in: */ - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/examples/packbox/packbox.c b/examples/packbox/packbox.c index 381fa2b2e4..d5dd98abbe 100644 --- a/examples/packbox/packbox.c +++ b/examples/packbox/packbox.c @@ -26,7 +26,7 @@ static GtkWidget *make_box( gboolean homogeneous, /* Create a new hbox with the appropriate homogeneous * and spacing settings */ - box = gtk_hbox_new (homogeneous, spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, homogeneous, spacing); /* Create a series of buttons with the appropriate settings */ button = gtk_button_new_with_label ("gtk_box_pack"); @@ -102,13 +102,13 @@ int main( int argc, /* We create a vertical box (vbox) to pack the horizontal boxes into. * This allows us to stack the horizontal boxes filled with buttons one * on top of the other in this vbox. */ - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); /* which example to show. These correspond to the pictures above. */ switch (which) { case 1: /* create a new label. */ - label = gtk_label_new ("gtk_hbox_new (FALSE, 0);"); + label = gtk_label_new ("gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);"); /* Align the label to the left side. We'll discuss this function and * others in the section on Widget Attributes. */ @@ -150,7 +150,7 @@ int main( int argc, gtk_widget_show (separator); /* Create another new label, and show it. */ - label = gtk_label_new ("gtk_hbox_new (TRUE, 0);"); + label = gtk_label_new ("gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0);"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start (GTK_BOX (box1), label, FALSE, FALSE, 0); gtk_widget_show (label); @@ -178,7 +178,7 @@ int main( int argc, /* Create a new label, remember box1 is a vbox as created * near the beginning of main() */ - label = gtk_label_new ("gtk_hbox_new (FALSE, 10);"); + label = gtk_label_new ("gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10);"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start (GTK_BOX (box1), label, FALSE, FALSE, 0); gtk_widget_show (label); @@ -199,7 +199,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 5); gtk_widget_show (separator); - label = gtk_label_new ("gtk_hbox_new (FALSE, 0);"); + label = gtk_label_new ("gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0);"); gtk_misc_set_alignment (GTK_MISC (label), 0, 0); gtk_box_pack_start (GTK_BOX (box1), label, FALSE, FALSE, 0); gtk_widget_show (label); @@ -253,7 +253,7 @@ int main( int argc, } /* Create another new hbox.. remember we can use as many as we need! */ - quitbox = gtk_hbox_new (FALSE, 0); + quitbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); /* Our quit button. */ button = gtk_button_new_with_label ("Quit"); diff --git a/examples/progressbar/progressbar.c b/examples/progressbar/progressbar.c index 790e97dff8..37342ddec6 100644 --- a/examples/progressbar/progressbar.c +++ b/examples/progressbar/progressbar.c @@ -116,7 +116,7 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar"); gtk_container_set_border_width (GTK_CONTAINER (pdata->window), 0); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (pdata->window), vbox); gtk_widget_show (vbox); diff --git a/examples/radiobuttons/radiobuttons.c b/examples/radiobuttons/radiobuttons.c index 8f783016a1..2869df9c44 100644 --- a/examples/radiobuttons/radiobuttons.c +++ b/examples/radiobuttons/radiobuttons.c @@ -31,11 +31,11 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "radio buttons"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -59,7 +59,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); diff --git a/examples/rangewidgets/rangewidgets.c b/examples/rangewidgets/rangewidgets.c index fe274a3aae..b59dc85d26 100644 --- a/examples/rangewidgets/rangewidgets.c +++ b/examples/rangewidgets/rangewidgets.c @@ -96,11 +96,11 @@ static void create_range_controls( void ) NULL); gtk_window_set_title (GTK_WINDOW (window), "range controls"); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); - box2 = gtk_hbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -116,7 +116,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box2), vscale, TRUE, TRUE, 0); gtk_widget_show (vscale); - box3 = gtk_vbox_new (FALSE, 10); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_box_pack_start (GTK_BOX (box2), box3, TRUE, TRUE, 0); gtk_widget_show (box3); @@ -136,7 +136,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box3), scrollbar, TRUE, TRUE, 0); gtk_widget_show (scrollbar); - box2 = gtk_hbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -149,7 +149,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box2), button, TRUE, TRUE, 0); gtk_widget_show (button); - box2 = gtk_hbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); /* An option menu to change the position of the value */ @@ -184,7 +184,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); - box2 = gtk_hbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); /* Yet another option menu, this time for the update policy of the @@ -218,7 +218,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); - box2 = gtk_hbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); /* An HScale widget for adjusting the number of digits on the @@ -238,7 +238,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); - box2 = gtk_hbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); /* And, one last HScale widget for adjusting the page size of the @@ -262,7 +262,7 @@ static void create_range_controls( void ) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); diff --git a/examples/scribble-simple/scribble-simple.c b/examples/scribble-simple/scribble-simple.c index a0cfc210ef..0689752d85 100644 --- a/examples/scribble-simple/scribble-simple.c +++ b/examples/scribble-simple/scribble-simple.c @@ -129,7 +129,7 @@ int main( int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (window, "Test Input"); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/examples/scribble-xinput/scribble-xinput.c b/examples/scribble-xinput/scribble-xinput.c index 469ee31ba9..2ca3717ef1 100644 --- a/examples/scribble-xinput/scribble-xinput.c +++ b/examples/scribble-xinput/scribble-xinput.c @@ -190,7 +190,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (window, "Test Input"); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/examples/spinbutton/spinbutton.c b/examples/spinbutton/spinbutton.c index a27e7e357d..ccde95d6a0 100644 --- a/examples/spinbutton/spinbutton.c +++ b/examples/spinbutton/spinbutton.c @@ -69,23 +69,23 @@ int main( int argc, gtk_window_set_title (GTK_WINDOW (window), "Spin Button"); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame = gtk_frame_new ("Not accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); /* Day, month, year spinners */ - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Day :"); @@ -97,7 +97,7 @@ int main( int argc, gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Month :"); @@ -109,7 +109,7 @@ int main( int argc, gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner), TRUE); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Year :"); @@ -125,14 +125,14 @@ int main( int argc, frame = gtk_frame_new ("Accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Value :"); @@ -145,7 +145,7 @@ int main( int argc, gtk_widget_set_size_request (spinner1, 100, -1); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Digits :"); @@ -160,7 +160,7 @@ int main( int argc, spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); @@ -179,7 +179,7 @@ int main( int argc, val_label = gtk_label_new (""); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("Value as Int"); g_object_set_data (G_OBJECT (button), "user_data", val_label); @@ -198,7 +198,7 @@ int main( int argc, gtk_box_pack_start (GTK_BOX (vbox), val_label, TRUE, TRUE, 0); gtk_label_set_text (GTK_LABEL (val_label), "0"); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("Close"); diff --git a/examples/statusbar/statusbar.c b/examples/statusbar/statusbar.c index 6e06abb08d..bd8d8e2a0b 100644 --- a/examples/statusbar/statusbar.c +++ b/examples/statusbar/statusbar.c @@ -41,7 +41,7 @@ int main( int argc, g_signal_connect (window, "delete-event", G_CALLBACK (exit), NULL); - vbox = gtk_vbox_new (FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index a47a247fb7..ac09e5cf20 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -574,7 +574,7 @@ gtk_about_dialog_init (GtkAboutDialog *about) /* Widgets */ gtk_widget_push_composite_child (); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -597,7 +597,7 @@ gtk_about_dialog_init (GtkAboutDialog *about) gtk_label_set_justify (GTK_LABEL (priv->copyright_label), GTK_JUSTIFY_CENTER); gtk_box_pack_start (GTK_BOX (vbox), priv->copyright_label, FALSE, FALSE, 0); - hbox = gtk_hbox_new (TRUE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, FALSE, 0); priv->website_label = button = gtk_label_new (""); diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index 7f5803d09e..3fc0616bb0 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -805,7 +805,7 @@ gtk_assistant_init (GtkAssistant *assistant) gtk_widget_show (priv->sidebar_image); /* Action area */ - priv->action_area = gtk_hbox_new (FALSE, 6); + priv->action_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); priv->close = gtk_button_new_from_stock (GTK_STOCK_CLOSE); priv->apply = gtk_button_new_from_stock (GTK_STOCK_APPLY); diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index ab3fe77f02..3c81cbfca0 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -1025,9 +1025,9 @@ gtk_button_construct_child (GtkButton *button) if (priv->image_position == GTK_POS_LEFT || priv->image_position == GTK_POS_RIGHT) - box = gtk_hbox_new (FALSE, image_spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, image_spacing); else - box = gtk_vbox_new (FALSE, image_spacing); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, image_spacing); if (priv->align_set) align = gtk_alignment_new (priv->xalign, priv->yalign, 0.0, 0.0); diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index ef18b34813..4bd1e50412 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -381,10 +381,10 @@ gtk_color_selection_init (GtkColorSelection *colorsel) priv->default_set = FALSE; priv->default_alpha_set = FALSE; - top_hbox = gtk_hbox_new (FALSE, 12); + top_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (colorsel), top_hbox, FALSE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); priv->triangle_colorsel = gtk_hsv_new (); g_signal_connect (priv->triangle_colorsel, "changed", G_CALLBACK (hsv_changed), colorsel); @@ -394,7 +394,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) gtk_widget_set_tooltip_text (priv->triangle_colorsel, _("Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle.")); - hbox = gtk_hbox_new (FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); frame = gtk_frame_new (NULL); @@ -418,7 +418,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) gtk_widget_set_tooltip_text (button, _("Click the eyedropper, then click a color anywhere on your screen to select that color.")); - top_right_vbox = gtk_vbox_new (FALSE, 6); + top_right_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (top_hbox), top_right_vbox, FALSE, FALSE, 0); table = gtk_table_new (8, 6, FALSE); gtk_box_pack_start (GTK_BOX (top_right_vbox), table, FALSE, FALSE, 0); @@ -507,7 +507,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) } } set_selected_palette (colorsel, 0, 0); - priv->palette_frame = gtk_vbox_new (FALSE, 6); + priv->palette_frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); label = gtk_label_new_with_mnemonic (_("_Palette:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (priv->palette_frame), label, FALSE, FALSE, 0); @@ -1029,7 +1029,7 @@ color_sample_new (GtkColorSelection *colorsel) priv = colorsel->private_data; - priv->sample_area = gtk_hbox_new (FALSE, 0); + priv->sample_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); priv->old_sample = gtk_drawing_area_new (); priv->cur_sample = gtk_drawing_area_new (); diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index e2ec211c63..d36990ea8b 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -3030,7 +3030,7 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, gtk_widget_set_parent (priv->button, gtk_widget_get_parent (child)); - priv->box = gtk_hbox_new (FALSE, 0); + priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (priv->button), priv->box); priv->separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); diff --git a/gtk/gtkcustompaperunixdialog.c b/gtk/gtkcustompaperunixdialog.c index 79bc61086d..b64987a5c9 100644 --- a/gtk/gtkcustompaperunixdialog.c +++ b/gtk/gtkcustompaperunixdialog.c @@ -514,7 +514,7 @@ new_unit_widget (GtkCustomPaperUnixDialog *dialog, data = g_new0 (UnitWidget, 1); data->display_unit = unit; - hbox = gtk_hbox_new (FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); button = gtk_spin_button_new_with_range (0.0, 9999.0, 1); if (unit == GTK_UNIT_INCH) @@ -943,7 +943,7 @@ wrap_in_frame (const gchar *label, gtk_label_set_markup (GTK_LABEL (label_widget), bold_text); g_free (bold_text); - frame = gtk_vbox_new (FALSE, 6); + frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (frame), label_widget, FALSE, FALSE, 0); alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0); @@ -981,12 +981,12 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); gtk_box_set_spacing (GTK_BOX (action_area), 6); - hbox = gtk_hbox_new (FALSE, 18); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -1022,7 +1022,7 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) gtk_container_add (GTK_CONTAINER (scrolled), treeview); gtk_widget_show (treeview); - button_box = gtk_hbox_new (FALSE, 6); + button_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), button_box, FALSE, FALSE, 0); gtk_widget_show (button_box); @@ -1046,7 +1046,7 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) user_units = _gtk_print_get_default_user_units (); - vbox = gtk_vbox_new (FALSE, 18); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); priv->values_box = vbox; gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -1137,7 +1137,7 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) 1, 2, 3, 4, GTK_FILL, 0, 0, 0); gtk_widget_show (widget); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_table_attach (GTK_TABLE (table), hbox, 0, 2, 4, 5, GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_widget_show (hbox); diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 681899389f..0b627c16e2 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -257,7 +257,7 @@ gtk_dialog_init (GtkDialog *dialog) G_CALLBACK (gtk_dialog_delete_event_handler), NULL); - priv->vbox = gtk_vbox_new (FALSE, 0); + priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (dialog), priv->vbox); gtk_widget_show (priv->vbox); diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 2516f3dc4f..df83aaec52 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -528,7 +528,7 @@ gtk_entry_completion_init (GtkEntryCompletion *completion) gtk_widget_show (popup_frame); gtk_container_add (GTK_CONTAINER (priv->popup_window), popup_frame); - priv->vbox = gtk_vbox_new (FALSE, 0); + priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (popup_frame), priv->vbox); gtk_container_add (GTK_CONTAINER (priv->scrolled_window), priv->tree_view); diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 3b2acc3397..4f08f76cb4 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -441,7 +441,7 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button) gtk_container_add (GTK_CONTAINER (button), priv->button); gtk_widget_show (priv->button); - box = gtk_hbox_new (FALSE, 4); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); gtk_container_add (GTK_CONTAINER (priv->button), box); gtk_widget_show (box); diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 5abcd27a0d..3aac30a15b 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -3706,7 +3706,7 @@ shortcuts_pane_create (GtkFileChooserDefault *impl, GtkWidget *hbox; GtkWidget *widget; - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_widget_show (vbox); /* Shortcuts tree */ @@ -3716,7 +3716,7 @@ shortcuts_pane_create (GtkFileChooserDefault *impl, /* Box for buttons */ - hbox = gtk_hbox_new (TRUE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 6); gtk_size_group_add_widget (size_group, hbox); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -4422,12 +4422,13 @@ file_pane_create (GtkFileChooserDefault *impl, GtkWidget *hbox; GtkWidget *widget; - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_widget_show (vbox); /* Box for lists and preview */ - hbox = gtk_hbox_new (FALSE, PREVIEW_HBOX_SPACING); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, + FALSE, PREVIEW_HBOX_SPACING); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); @@ -4438,13 +4439,13 @@ file_pane_create (GtkFileChooserDefault *impl, /* Preview */ - impl->preview_box = gtk_vbox_new (FALSE, 12); + impl->preview_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (hbox), impl->preview_box, FALSE, FALSE, 0); /* Don't show preview box initially */ /* Filter combo */ - impl->filter_combo_hbox = gtk_hbox_new (FALSE, 12); + impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); widget = filter_create (impl); @@ -4632,7 +4633,7 @@ save_widgets_create (GtkFileChooserDefault *impl) location_switch_to_path_bar (impl); - vbox = gtk_vbox_new (FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); table = gtk_table_new (2, 2, FALSE); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); @@ -4972,10 +4973,10 @@ browse_widgets_create (GtkFileChooserDefault *impl) /* size group is used by the [+][-] buttons and the filter combo */ size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); - vbox = gtk_vbox_new (FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); /* Location widgets */ - impl->browse_path_bar_hbox = gtk_hbox_new (FALSE, 12); + impl->browse_path_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), impl->browse_path_bar_hbox, FALSE, FALSE, 0); gtk_widget_show (impl->browse_path_bar_hbox); @@ -5005,7 +5006,7 @@ browse_widgets_create (GtkFileChooserDefault *impl) /* Box for the location label and entry */ - impl->location_entry_box = gtk_hbox_new (FALSE, 12); + impl->location_entry_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), impl->location_entry_box, FALSE, FALSE, 0); impl->location_label = gtk_label_new_with_mnemonic (_("_Location:")); @@ -8941,7 +8942,7 @@ search_setup_widgets (GtkFileChooserDefault *impl) GtkWidget *image; gchar *tmp; - impl->search_hbox = gtk_hbox_new (FALSE, 12); + impl->search_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); /* Image */ @@ -9371,7 +9372,7 @@ recent_hide_entry (GtkFileChooserDefault *impl) GtkWidget *image; gchar *tmp; - impl->recent_hbox = gtk_hbox_new (FALSE, 12); + impl->recent_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); /* Image */ image = gtk_image_new_from_icon_name ("document-open-recent", GTK_ICON_SIZE_BUTTON); diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c index fb19688db3..e3458ff3cb 100644 --- a/gtk/gtkfontbutton.c +++ b/gtk/gtkfontbutton.c @@ -780,7 +780,7 @@ gtk_font_button_create_inside (GtkFontButton *font_button) gtk_widget_push_composite_child (); - widget = gtk_hbox_new (FALSE, 0); + widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); font_button->priv->font_label = gtk_label_new (_("Font")); diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index 394ff4559f..7dfcfbdb2a 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -551,7 +551,7 @@ gtk_font_selection_init (GtkFontSelection *fontsel) } - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_widget_show (vbox); gtk_box_pack_start (GTK_BOX (fontsel), vbox, FALSE, TRUE, 0); @@ -561,7 +561,7 @@ gtk_font_selection_init (GtkFontSelection *fontsel) gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); - text_box = gtk_hbox_new (FALSE, 0); + text_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_widget_show (text_box); gtk_box_pack_start (GTK_BOX (vbox), text_box, FALSE, TRUE, 0); diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index 273be407a1..f3855de956 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -612,7 +612,7 @@ gtk_info_bar_init (GtkInfoBar *info_bar) GTK_TYPE_INFO_BAR, GtkInfoBarPrivate); - content_area = gtk_hbox_new (FALSE, 0); + content_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_widget_show (content_area); gtk_box_pack_start (GTK_BOX (info_bar), content_area, TRUE, TRUE, 0); diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 4240325d3b..f36a9d5548 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -2158,8 +2158,8 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, if (toplevel != NULL) gtk_window_set_transient_for (GTK_WINDOW (menu->tearoff_window), GTK_WINDOW (toplevel)); - - menu->tearoff_hbox = gtk_hbox_new (FALSE, FALSE); + + menu->tearoff_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (menu->tearoff_window), menu->tearoff_hbox); height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (menu))); diff --git a/gtk/gtkmenutoolbutton.c b/gtk/gtkmenutoolbutton.c index 940b4f20a0..4d1e02620a 100644 --- a/gtk/gtkmenutoolbutton.c +++ b/gtk/gtkmenutoolbutton.c @@ -77,12 +77,12 @@ gtk_menu_tool_button_construct_contents (GtkMenuToolButton *button) if (orientation == GTK_ORIENTATION_HORIZONTAL) { - box = gtk_hbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_arrow_set (GTK_ARROW (priv->arrow), GTK_ARROW_DOWN, GTK_SHADOW_NONE); } else { - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_arrow_set (GTK_ARROW (priv->arrow), GTK_ARROW_RIGHT, GTK_SHADOW_NONE); } @@ -398,7 +398,7 @@ gtk_menu_tool_button_init (GtkMenuToolButton *button) gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (button), FALSE); - box = gtk_hbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); real_button = gtk_bin_get_child (GTK_BIN (button)); g_object_ref (real_button); diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c index d8fa79a28c..652b5a6815 100644 --- a/gtk/gtkmessagedialog.c +++ b/gtk/gtkmessagedialog.c @@ -347,8 +347,8 @@ gtk_message_dialog_init (GtkMessageDialog *dialog) gtk_label_set_selectable (GTK_LABEL (priv->secondary_label), TRUE); gtk_misc_set_alignment (GTK_MISC (priv->secondary_label), 0.0, 0.0); - hbox = gtk_hbox_new (FALSE, 12); - priv->message_area = gtk_vbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + priv->message_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (priv->message_area), priv->label, FALSE, FALSE, 0); diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c index 8023dbfaf9..130090f2f1 100644 --- a/gtk/gtkmountoperation.c +++ b/gtk/gtkmountoperation.c @@ -498,7 +498,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, -1); /* Build contents */ - hbox = gtk_hbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); @@ -508,7 +508,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, gtk_misc_set_alignment (GTK_MISC (icon), 0.5, 0.0); gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0); - main_vbox = gtk_vbox_new (FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0); secondary = strstr (message, "\n"); @@ -539,7 +539,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, FALSE, FALSE, 0); } - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); can_anonymous = flags & G_ASK_PASSWORD_ANONYMOUS_SUPPORTED; @@ -551,7 +551,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, GtkWidget *choice; GSList *group; - anon_box = gtk_vbox_new (FALSE, 6); + anon_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), anon_box, FALSE, FALSE, 0); @@ -625,7 +625,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, GSList *group; GPasswordSave password_save; - remember_box = gtk_vbox_new (FALSE, 6); + remember_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox), remember_box, FALSE, FALSE, 0); @@ -1218,7 +1218,7 @@ create_show_processes_dialog (GMountOperation *op, gtk_window_set_title (GTK_WINDOW (dialog), ""); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - vbox = gtk_vbox_new (FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); diff --git a/gtk/gtkpagesetupunixdialog.c b/gtk/gtkpagesetupunixdialog.c index 3036f5ceab..93eecbabf6 100644 --- a/gtk/gtkpagesetupunixdialog.c +++ b/gtk/gtkpagesetupunixdialog.c @@ -870,7 +870,7 @@ create_radio_button (GSList *group, image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_stock_lookup (stock_id, &item); label = gtk_label_new (item.label); - hbox = gtk_hbox_new (0, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, 6); gtk_container_add (GTK_CONTAINER (radio_button), hbox); gtk_container_add (GTK_CONTAINER (hbox), image); gtk_container_add (GTK_CONTAINER (hbox), label); diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index d5447e8cd0..60af22f31c 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -1528,7 +1528,7 @@ make_directory_button (GtkPathBar *path_bar, button_data->label = gtk_label_new (NULL); label_alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_container_add (GTK_CONTAINER (label_alignment), button_data->label); - child = gtk_hbox_new (FALSE, 2); + child = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_box_pack_start (GTK_BOX (child), button_data->image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (child), label_alignment, FALSE, FALSE, 0); break; diff --git a/gtk/gtkprintbackend.c b/gtk/gtkprintbackend.c index 60c12b7302..ce35f1c654 100644 --- a/gtk/gtkprintbackend.c +++ b/gtk/gtkprintbackend.c @@ -753,7 +753,7 @@ request_password (GtkPrintBackend *backend, gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); - main_box = gtk_hbox_new (FALSE, 0); + main_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); /* Left */ icon = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG); @@ -762,7 +762,7 @@ request_password (GtkPrintBackend *backend, /* Right */ - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_widget_set_size_request (GTK_WIDGET (vbox), 320, -1); /* Right - 1. */ @@ -789,7 +789,7 @@ request_password (GtkPrintBackend *backend, priv->auth_info[i] = g_strdup (ai_default[i]); if (ai_display[i] != NULL) { - box = gtk_hbox_new (TRUE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); label = gtk_label_new (ai_display[i]); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); diff --git a/gtk/gtkprinteroptionwidget.c b/gtk/gtkprinteroptionwidget.c index 28cc5bfba8..12301d8829 100644 --- a/gtk/gtkprinteroptionwidget.c +++ b/gtk/gtkprinteroptionwidget.c @@ -739,7 +739,7 @@ construct_widgets (GtkPrinterOptionWidget *widget) case GTK_PRINTER_OPTION_TYPE_ALTERNATIVE: group = NULL; - priv->box = gtk_hbox_new (FALSE, 12); + priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_widget_show (priv->box); gtk_box_pack_start (GTK_BOX (widget), priv->box, TRUE, TRUE, 0); for (i = 0; i < source->num_choices; i++) diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 032e1c2e87..90c76a2ce7 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -1140,7 +1140,7 @@ wrap_in_frame (const gchar *label, gtk_label_set_markup (GTK_LABEL (label_widget), bold_text); g_free (bold_text); - frame = gtk_vbox_new (FALSE, 6); + frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (frame), label_widget, FALSE, FALSE, 0); alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0); @@ -1189,7 +1189,7 @@ add_option_to_extension_point (GtkPrinterOption *option, gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget); - hbox = gtk_hbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -2100,11 +2100,11 @@ create_main_page (GtkPrintUnixDialog *dialog) GtkWidget *custom_input; const gchar *range_tooltip; - main_vbox = gtk_vbox_new (FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_widget_show (main_vbox); - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -2170,12 +2170,12 @@ create_main_page (GtkPrintUnixDialog *dialog) gtk_widget_show (treeview); gtk_container_add (GTK_CONTAINER (scrolled), treeview); - custom_input = gtk_hbox_new (FALSE, 18); + custom_input = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); gtk_widget_show (custom_input); gtk_box_pack_start (GTK_BOX (vbox), custom_input, FALSE, FALSE, 0); priv->extension_point = custom_input; - hbox = gtk_hbox_new (FALSE, 18); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); @@ -3300,11 +3300,11 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) GtkWidget *combo, *spinbutton, *draw; GtkCellRenderer *cell; - main_vbox = gtk_vbox_new (FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_widget_show (main_vbox); - hbox = gtk_hbox_new (FALSE, 18); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); @@ -3390,7 +3390,7 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) 0, 1, 4, 5, GTK_FILL, 0, 0, 0); - hbox2 = gtk_hbox_new (FALSE, 6); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); gtk_widget_show (hbox2); gtk_table_attach (GTK_TABLE (table), hbox2, 1, 2, 4, 5, GTK_FILL, 0, @@ -3509,7 +3509,7 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) /* Add the page layout preview */ - hbox2 = gtk_hbox_new (FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (main_vbox), hbox2, TRUE, TRUE, 0); @@ -3759,7 +3759,7 @@ create_advanced_page (GtkPrintUnixDialog *dialog) GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - main_vbox = gtk_vbox_new (FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_widget_show (main_vbox); @@ -3793,7 +3793,7 @@ populate_dialog (GtkPrintUnixDialog *print_dialog) gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); gtk_box_set_spacing (GTK_BOX (action_area), 6); - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -3822,7 +3822,7 @@ populate_dialog (GtkPrintUnixDialog *print_dialog) &priv->finishing_page); create_advanced_page (print_dialog); - priv->conflicts_widget = conflict_hbox = gtk_hbox_new (FALSE, 12); + priv->conflicts_widget = conflict_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_end (GTK_BOX (vbox), conflict_hbox, FALSE, FALSE, 0); image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_MENU); gtk_widget_show (image); diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c index 7a51b9525d..b412044eb2 100644 --- a/gtk/gtkradiobutton.c +++ b/gtk/gtkradiobutton.c @@ -73,7 +73,7 @@ * * GtkWidget *window, *radio1, *radio2, *box, *entry; * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - * box = gtk_vbox_new (TRUE, 2); + * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 2); * * /* Create a radio button with a GtkEntry widget */ * radio1 = gtk_radio_button_new (NULL); diff --git a/gtk/gtkrecentchooserdefault.c b/gtk/gtkrecentchooserdefault.c index 5445c65a08..41b7dd1ea8 100644 --- a/gtk/gtkrecentchooserdefault.c +++ b/gtk/gtkrecentchooserdefault.c @@ -473,7 +473,7 @@ gtk_recent_chooser_default_constructor (GType type, GDK_ACTION_COPY); gtk_drag_source_add_uri_targets (impl->recent_view); - impl->filter_combo_hbox = gtk_hbox_new (FALSE, 12); + impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); impl->filter_combo = gtk_combo_box_text_new (); gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (impl->filter_combo), FALSE); diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index 243873b4c4..924f657e10 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -390,7 +390,7 @@ gtk_scale_button_init (GtkScaleButton *button) gtk_container_add (GTK_CONTAINER (priv->dock), frame); /* box for scale and +/- buttons */ - priv->box = gtk_vbox_new (FALSE, 0); + priv->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (frame), priv->box); /* + */ diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c index cee0143617..8ead97d5f1 100644 --- a/gtk/gtkstatusbar.c +++ b/gtk/gtkstatusbar.c @@ -211,7 +211,7 @@ gtk_statusbar_init (GtkStatusbar *statusbar) gtk_box_pack_start (box, priv->frame, TRUE, TRUE, 0); gtk_widget_show (priv->frame); - message_area = gtk_hbox_new (FALSE, 4); + message_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); gtk_container_add (GTK_CONTAINER (priv->frame), message_area); gtk_widget_show (message_area); diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index 1b94b23bfe..e2876d8fb5 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -510,9 +510,9 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) case GTK_TOOLBAR_BOTH: if (text_orientation == GTK_ORIENTATION_HORIZONTAL) - box = gtk_vbox_new (FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, icon_spacing); else - box = gtk_hbox_new (FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, icon_spacing); if (icon) gtk_box_pack_start (GTK_BOX (box), icon, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (box), label, FALSE, TRUE, 0); @@ -522,7 +522,7 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) case GTK_TOOLBAR_BOTH_HORIZ: if (text_orientation == GTK_ORIENTATION_HORIZONTAL) { - box = gtk_hbox_new (FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, icon_spacing); if (icon) gtk_box_pack_start (GTK_BOX (box), icon, label? FALSE : TRUE, TRUE, 0); if (label) @@ -530,7 +530,7 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) } else { - box = gtk_vbox_new (FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, icon_spacing); if (icon) gtk_box_pack_end (GTK_BOX (box), icon, label ? FALSE : TRUE, TRUE, 0); if (label) diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index 8ef7754dde..f9658df988 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -221,7 +221,8 @@ gtk_tooltip_init (GtkTooltip *tooltip) g_signal_connect_swapped (tooltip->window, "draw", G_CALLBACK (gtk_tooltip_paint_window), tooltip); - tooltip->box = gtk_hbox_new (FALSE, style->xthickness); + tooltip->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, + FALSE, style->xthickness); gtk_container_add (GTK_CONTAINER (tooltip->alignment), tooltip->box); gtk_widget_show (tooltip->box); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 619e75ea01..4a48d3c48c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10368,7 +10368,7 @@ gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view) gtk_widget_show (frame); gtk_container_add (GTK_CONTAINER (tree_view->priv->search_window), frame); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 161eb6d315..3ea185af29 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -874,7 +874,7 @@ gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column) tree_column->alignment = gtk_alignment_new (tree_column->xalign, 0.5, 0.0, 0.0); - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); tree_column->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); if (tree_column->child) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 216054cbcd..2073f17dc1 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9066,7 +9066,7 @@ gtk_XParseGeometry (const char *string, * gtk_init (&argc, &argv); * * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - * vbox = gtk_vbox_new (FALSE, 0); + * vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); * * gtk_container_add (GTK_CONTAINER (window), vbox); * fill_with_content (vbox); diff --git a/gtk/tests/crossingevents.c b/gtk/tests/crossingevents.c index 55eaaf3ce2..30d7dd6819 100644 --- a/gtk/tests/crossingevents.c +++ b/gtk/tests/crossingevents.c @@ -144,7 +144,7 @@ sensitivity_setup (CrossingTest *test, test->eventbox = gtk_event_box_new (); gtk_widget_set_name (test->eventbox, "E"); - GtkWidget *vbox = gtk_vbox_new (FALSE, 10); + GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_add (GTK_CONTAINER (test->window), frame); gtk_container_add (GTK_CONTAINER (frame), test->eventbox); gtk_container_add (GTK_CONTAINER (test->eventbox), vbox); diff --git a/modules/other/gail/tests/ferret.c b/modules/other/gail/tests/ferret.c index df93fd4f60..a59e728ae9 100644 --- a/modules/other/gail/tests/ferret.c +++ b/modules/other/gail/tests/ferret.c @@ -1610,49 +1610,49 @@ _init_data(void) the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Object"; nbook_tabs[OBJECT] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Action"; nbook_tabs[ACTION] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Component"; nbook_tabs[COMPONENT] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Image"; nbook_tabs[IMAGE] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Selection"; nbook_tabs[SELECTION] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Table"; nbook_tabs[TABLE] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Text"; nbook_tabs[TEXT] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_vbox_new(FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); the_tab->name = "Value"; nbook_tabs[VALUE] = the_tab; } @@ -1675,7 +1675,7 @@ _create_window (void) gtk_window_set_default_size (GTK_WINDOW (window), 333, 550); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox1 = gtk_vbox_new (FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox1); gtk_widget_show (vbox1); @@ -1875,7 +1875,7 @@ _get_group(TabInfo *tab, GroupId group_id, const gchar *groupname) gtk_container_set_border_width(GTK_CONTAINER(group->frame), 10); group->name = g_strdup(groupname); - group->group_vbox = GTK_VBOX(gtk_vbox_new(FALSE, 10)); + group->group_vbox = GTK_VBOX(gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10)); if (group->is_scrolled) { @@ -1971,9 +1971,9 @@ _get_name_value(GroupInfo *group, const gchar *label, if (!found) { name_value = (NameValue *)g_new0(NameValue, 1); - name_value->column1 = GTK_HBOX(gtk_hbox_new(FALSE, 10)); - name_value->column2 = GTK_HBOX(gtk_hbox_new(FALSE, 10)); - name_value->hbox = GTK_HBOX(gtk_hbox_new(FALSE, 5)); + name_value->column1 = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10)); + name_value->column2 = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10)); + name_value->hbox = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5)); name_value->label = GTK_LABEL(gtk_label_new(label)); name_value->string = gtk_label_new (NULL); name_value->boolean = gtk_check_button_new (); diff --git a/modules/other/gail/tests/testlib.c b/modules/other/gail/tests/testlib.c index 87a17c60cf..59fb37c9c6 100644 --- a/modules/other/gail/tests/testlib.c +++ b/modules/other/gail/tests/testlib.c @@ -586,7 +586,7 @@ _create_select_tests_window (AtkObject *obj, scrolledWindow); /* Setup Layout */ - md[window_no]->vbox = gtk_vbox_new (TRUE, 0); + md[window_no]->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); md[window_no]->button = gtk_button_new_with_mnemonic ("_Run Tests"); hbuttonbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox), @@ -645,7 +645,7 @@ add_test (gint window, return FALSE; else { - md[window]->hbox = gtk_hbox_new (FALSE, 0); + md[window]->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_set_spacing (GTK_BOX (md[window]->hbox), 10); gtk_container_set_border_width (GTK_CONTAINER (md[window]->hbox), 10); gtk_container_add (GTK_CONTAINER (md[window]->vbox), md[window]->hbox); diff --git a/modules/other/gail/tests/testtable.c b/modules/other/gail/tests/testtable.c index eb7e0744de..877f07727b 100644 --- a/modules/other/gail/tests/testtable.c +++ b/modules/other/gail/tests/testtable.c @@ -763,11 +763,11 @@ void test_choice_gui(AtkObject **obj) g_signal_connect(window, "destroy", G_CALLBACK (destroy), &window); - vbox = gtk_vbox_new(TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); gtk_box_set_spacing(GTK_BOX(vbox), 10); - hbox = gtk_hbox_new(FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_set_spacing(GTK_BOX(hbox), 10); tc->tb_ref_selection = gtk_toggle_button_new_with_label("ref_selection"); gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_selection, TRUE, TRUE, 0); @@ -778,7 +778,7 @@ void test_choice_gui(AtkObject **obj) gtk_box_pack_start (GTK_BOX (hbox), tc->index_entry, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); - hbox = gtk_hbox_new(FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_set_spacing(GTK_BOX(hbox), 10); tc->tb_ref_at = gtk_toggle_button_new_with_label("ref_at"); gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_at, TRUE, TRUE, 0); @@ -794,7 +794,7 @@ void test_choice_gui(AtkObject **obj) gtk_box_pack_start (GTK_BOX (hbox), tc->col_entry, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); - hbox = gtk_hbox_new(FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_set_spacing(GTK_BOX(hbox), 10); tc->tb_ref_accessible_child = gtk_toggle_button_new_with_label("ref_accessible_child"); gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_accessible_child, TRUE, TRUE, 0); diff --git a/perf/appwindow.c b/perf/appwindow.c index cb239abc94..f31ed85017 100644 --- a/perf/appwindow.c +++ b/perf/appwindow.c @@ -214,7 +214,7 @@ appwindow_new (void) g_signal_connect_swapped (window, "destroy", G_CALLBACK (g_object_unref), ui); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); widget = menubar_new (ui); diff --git a/tests/flicker.c b/tests/flicker.c index 1c0f81cf92..376c248e69 100644 --- a/tests/flicker.c +++ b/tests/flicker.c @@ -68,7 +68,7 @@ create_flicker (void) gtk_paned_pack1 (GTK_PANED (hpaned1), vpaned2, FALSE, TRUE); gtk_paned_set_position (GTK_PANED (vpaned2), 100); - hbox2 = gtk_hbox_new (FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_widget_show (hbox2); gtk_paned_pack1 (GTK_PANED (vpaned2), hbox2, FALSE, TRUE); @@ -82,7 +82,7 @@ create_flicker (void) gtk_widget_show (spinbutton8); gtk_box_pack_start (GTK_BOX (hbox2), spinbutton8, TRUE, TRUE, 0); - vbox1 = gtk_vbox_new (FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_widget_show (vbox1); gtk_paned_pack2 (GTK_PANED (vpaned2), vbox1, TRUE, TRUE); @@ -131,7 +131,7 @@ create_flicker (void) gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE); gtk_paned_set_position (GTK_PANED (vpaned1), 0); - hbox1 = gtk_hbox_new (FALSE, 0); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_widget_show (hbox1); gtk_paned_pack1 (GTK_PANED (vpaned1), hbox1, FALSE, TRUE); @@ -150,7 +150,7 @@ create_flicker (void) gtk_widget_show (spinbutton19); gtk_box_pack_start (GTK_BOX (hbox1), spinbutton19, TRUE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_widget_show (vbox2); gtk_paned_pack2 (GTK_PANED (vpaned1), vbox2, FALSE, FALSE); diff --git a/tests/print-editor.c b/tests/print-editor.c index c4de8b7efa..228c19582b 100644 --- a/tests/print-editor.c +++ b/tests/print-editor.c @@ -399,10 +399,10 @@ create_custom_widget (GtkPrintOperation *operation, GtkWidget *vbox, *hbox, *font, *label; gtk_print_operation_set_custom_tab_label (operation, "Other"); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -566,9 +566,9 @@ preview_cb (GtkPrintOperation *op, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (main_window)); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); page = gtk_spin_button_new_with_range (1, 100, 1); diff --git a/tests/prop-editor.c b/tests/prop-editor.c index db28bbed08..be99e827ee 100644 --- a/tests/prop-editor.c +++ b/tests/prop-editor.c @@ -849,7 +849,7 @@ property_widget (GObject *object, GFlagsClass *fclass; gint j; - prop_edit = gtk_vbox_new (FALSE, 0); + prop_edit = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); fclass = G_FLAGS_CLASS (g_type_class_ref (spec->value_type)); @@ -898,7 +898,7 @@ property_widget (GObject *object, { GtkWidget *label, *button; - prop_edit = gtk_hbox_new (FALSE, 5); + prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); label = gtk_label_new (""); button = gtk_button_new_with_label ("Properties"); @@ -1020,7 +1020,7 @@ properties_from_type (GObject *object, } - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); @@ -1102,7 +1102,7 @@ child_properties_from_object (GObject *object) ++i; } - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); @@ -1148,7 +1148,7 @@ children_from_object (GObject *object) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, i, i + 1); - prop_edit = gtk_hbox_new (FALSE, 5); + prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); str = object_label (object, NULL); label = gtk_label_new (str); @@ -1164,7 +1164,7 @@ children_from_object (GObject *object) gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1); } - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); @@ -1203,7 +1203,7 @@ cells_from_object (GObject *object) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, i, i + 1); - prop_edit = gtk_hbox_new (FALSE, 5); + prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); str = object_label (object, NULL); label = gtk_label_new (str); @@ -1219,7 +1219,7 @@ cells_from_object (GObject *object) gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1); } - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); diff --git a/tests/testactions.c b/tests/testactions.c index 9bae26e7ec..cbd1c2ecb3 100644 --- a/tests/testactions.c +++ b/tests/testactions.c @@ -360,7 +360,7 @@ create_window (GtkActionGroup *action_group) g_signal_connect_swapped (window, "destroy", G_CALLBACK (g_object_unref), merge); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box); gtk_widget_show (box); @@ -376,7 +376,7 @@ create_window (GtkActionGroup *action_group) g_error_free (error); } - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_end (GTK_BOX (box), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); diff --git a/tests/testadjustsize.c b/tests/testadjustsize.c index 13ec944986..75e09d155f 100644 --- a/tests/testadjustsize.c +++ b/tests/testadjustsize.c @@ -404,7 +404,7 @@ open_valigned_label_window (void) g_signal_connect (test_window, "delete-event", G_CALLBACK (gtk_main_quit), test_window); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_widget_show (box); gtk_container_add (GTK_CONTAINER (window), box); diff --git a/tests/testassistant.c b/tests/testassistant.c index b618796a8a..e936d02877 100644 --- a/tests/testassistant.c +++ b/tests/testassistant.c @@ -60,7 +60,7 @@ add_completion_test_page (GtkWidget *assistant, GtkWidget *check; PageData *pdata; - page = gtk_vbox_new (0, FALSE); + page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); check = gtk_check_button_new_with_label ("Complete"); gtk_container_add (GTK_CONTAINER (page), gtk_label_new (text)); @@ -337,7 +337,7 @@ create_nonlinear_assistant (GtkWidget *widget) nonlinear_assistant_forward_page, NULL, NULL); - page = gtk_vbox_new (FALSE, 6); + page = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); button = gtk_radio_button_new_with_label (NULL, "branch A"); gtk_box_pack_start (GTK_BOX (page), button, FALSE, FALSE, 0); @@ -574,7 +574,7 @@ main (int argc, gchar *argv[]) g_signal_connect (G_OBJECT (window), "delete-event", G_CALLBACK (gtk_false), NULL); - box = gtk_vbox_new (FALSE, 6); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_add (GTK_CONTAINER (window), box); for (i = 0; i < G_N_ELEMENTS (buttons); i++) diff --git a/tests/testbbox.c b/tests/testbbox.c index 404836e865..39a61f03b2 100644 --- a/tests/testbbox.c +++ b/tests/testbbox.c @@ -132,7 +132,7 @@ main (int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (G_OBJECT (window), "delete-event", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); /* GtkHButtonBox */ @@ -153,7 +153,7 @@ main (int argc, /* Options */ - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); combo_types = gtk_combo_box_text_new (); diff --git a/tests/testbuttons.c b/tests/testbuttons.c index fe19534ac1..a60e5e92fc 100644 --- a/tests/testbuttons.c +++ b/tests/testbuttons.c @@ -32,11 +32,11 @@ int main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - box = gtk_vbox_new (0, FALSE); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (window), box); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_from_stock (GTK_STOCK_SAVE); gtk_container_add (GTK_CONTAINER (hbox), button); @@ -52,7 +52,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (box), hbox); button = g_object_new (GTK_TYPE_BUTTON, "label", "document-save", @@ -71,7 +71,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_label ("_Save"); gtk_container_add (GTK_CONTAINER (hbox), button); @@ -87,7 +87,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_mnemonic ("_Save"); gtk_container_add (GTK_CONTAINER (hbox), button); @@ -103,7 +103,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_label ("_Save"); gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON)); @@ -120,7 +120,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_mnemonic ("_Save"); gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON)); diff --git a/tests/testcalendar.c b/tests/testcalendar.c index 575ce510a7..86b087aeb1 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -468,12 +468,12 @@ create_calendar(void) G_CALLBACK (calendar_next_year), &calendar_data); - rpane = gtk_vbox_new (FALSE, DEF_PAD_SMALL); + rpane = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); gtk_paned_pack2 (GTK_PANED (hpaned), rpane, FALSE, FALSE); /* Build the right font-button */ - vbox = gtk_vbox_new(FALSE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); frame = create_frame ("Options", vbox, 1, 0); gtk_box_pack_start (GTK_BOX (rpane), frame, FALSE, TRUE, 0); size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); @@ -493,7 +493,7 @@ create_calendar(void) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size, label); - hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -513,7 +513,7 @@ create_calendar(void) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size, label); - hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -533,14 +533,14 @@ create_calendar(void) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size, label); - hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); /* Build the right details frame */ - vbox = gtk_vbox_new(FALSE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); frame = create_frame ("Details", vbox, 1, 1); gtk_box_pack_start (GTK_BOX (rpane), frame, FALSE, TRUE, 0); @@ -562,7 +562,7 @@ create_calendar(void) gtk_box_pack_start (GTK_BOX (vbox), scroller, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); align = gtk_alignment_new (0.0, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), hbox); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, TRUE, 0); @@ -593,7 +593,7 @@ create_calendar(void) /* Build the Right frame with the flags in */ - vbox = gtk_vbox_new(FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); frame = create_expander ("Flags", vbox, 1, 0); gtk_box_pack_start (GTK_BOX (rpane), frame, TRUE, TRUE, 0); @@ -614,24 +614,24 @@ create_calendar(void) * Build the Signal-event part. */ - vbox = gtk_vbox_new (TRUE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, DEF_PAD_SMALL); frame = create_frame ("Signal Events", vbox, 1, 0); - hbox = gtk_hbox_new (FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.last_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.last_sig, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.prev_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.prev_sig, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Second previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); @@ -649,7 +649,7 @@ create_calendar(void) g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL); gtk_container_add (GTK_CONTAINER (bbox), button); - vbox = gtk_vbox_new (FALSE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0); diff --git a/tests/testcellrenderertext.c b/tests/testcellrenderertext.c index ab51243c19..ebdb04ccac 100644 --- a/tests/testcellrenderertext.c +++ b/tests/testcellrenderertext.c @@ -263,7 +263,7 @@ main (int argc, char **argv) G_CALLBACK (gtk_main_quit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 12); - vbox = gtk_vbox_new (FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); gtk_container_add (GTK_CONTAINER (window), vbox); /* LTR */ diff --git a/tests/testcombo.c b/tests/testcombo.c index 5afe202f46..88179df294 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -1064,14 +1064,14 @@ main (int argc, char **argv) gtk_container_set_border_width (GTK_CONTAINER (window), 5); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - mainbox = gtk_vbox_new (FALSE, 2); + mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); gtk_container_add (GTK_CONTAINER (window), mainbox); /* GtkCellView */ tmp = gtk_frame_new ("GtkCellView"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1096,7 +1096,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (list)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1138,7 +1138,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (dynamic list)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1184,7 +1184,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (custom)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1244,7 +1244,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (tree)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1289,7 +1289,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (grid mode)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1301,7 +1301,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox with entry"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1314,7 +1314,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("What are you ?"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1339,7 +1339,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("Where are you ?"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1372,7 +1372,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("Unconstrained Menu"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_vbox_new (FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); diff --git a/tests/testcombochange.c b/tests/testcombochange.c index d15b57e787..54b0d94d6b 100644 --- a/tests/testcombochange.c +++ b/tests/testcombochange.c @@ -260,11 +260,11 @@ main (int argc, char **argv) content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - hbox = gtk_hbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_container_set_border_width (GTK_CONTAINER (hbox), 12); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); - combo_vbox = gtk_vbox_new (FALSE, 8); + combo_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (hbox), combo_vbox, FALSE, FALSE, 0); label = gtk_label_new (NULL); @@ -300,7 +300,7 @@ main (int argc, char **argv) gtk_container_add (GTK_CONTAINER (scrolled_window), text_view); - button_vbox = gtk_vbox_new (FALSE, 8); + button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (hbox), button_vbox, FALSE, FALSE, 0); gtk_window_set_default_size (GTK_WINDOW (dialog), 500, 300); diff --git a/tests/testellipsise.c b/tests/testellipsise.c index b9a92c21ec..b3a69993b6 100644 --- a/tests/testellipsise.c +++ b/tests/testellipsise.c @@ -133,7 +133,7 @@ main (int argc, char *argv[]) gtk_window_set_default_size (GTK_WINDOW (window), 400, 300); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_add (GTK_CONTAINER (window), vbox); combo = gtk_combo_box_text_new (); diff --git a/tests/testentrycompletion.c b/tests/testentrycompletion.c index 36c41f78a4..23789ea582 100644 --- a/tests/testentrycompletion.c +++ b/tests/testentrycompletion.c @@ -301,7 +301,7 @@ add_with_prop_edit_button (GtkWidget *vbox, GtkWidget *entry, GtkEntryCompletion { GtkWidget *hbox, *button; - hbox = gtk_hbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); @@ -327,7 +327,7 @@ main (int argc, char *argv[]) gtk_container_set_border_width (GTK_CONTAINER (window), 5); g_signal_connect (window, "delete_event", gtk_main_quit, NULL); - vbox = gtk_vbox_new (FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c index 4e6da60f44..289562a34f 100644 --- a/tests/testfilechooser.c +++ b/tests/testfilechooser.c @@ -600,7 +600,7 @@ main (int argc, char **argv) /* Preview widget */ /* THIS IS A TERRIBLE PREVIEW WIDGET, AND SHOULD NOT BE COPIED AT ALL. */ - preview_vbox = gtk_vbox_new (0, FALSE); + preview_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); /*gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (dialog), preview_vbox);*/ preview_label = gtk_label_new (NULL); diff --git a/tests/testfilechooserbutton.c b/tests/testfilechooserbutton.c index 9606079bdf..3f13bd93c3 100644 --- a/tests/testfilechooserbutton.c +++ b/tests/testfilechooserbutton.c @@ -169,7 +169,7 @@ tests_button_clicked_cb (GtkButton *real_button, gtk_window_set_transient_for (GTK_WINDOW (tests), GTK_WINDOW (gtk_widget_get_toplevel (user_data))); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (tests), box); gtk_widget_show (box); @@ -291,7 +291,7 @@ main (int argc, g_signal_connect (win, "style-set", G_CALLBACK (win_style_set_cb), NULL); g_signal_connect (win, "response", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_vbox_new (FALSE, 18); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (win))), vbox); frame = gtk_frame_new ("GtkFileChooserButton"); @@ -305,11 +305,11 @@ main (int argc, label_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - group_box = gtk_vbox_new (FALSE, 6); + group_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_add (GTK_CONTAINER (alignment), group_box); /* OPEN */ - hbox = gtk_hbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (group_box), hbox, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic ("_Open:"); @@ -338,7 +338,7 @@ main (int argc, gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); /* SELECT_FOLDER */ - hbox = gtk_hbox_new (FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); gtk_box_pack_start (GTK_BOX (group_box), hbox, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic ("Select _Folder:"); diff --git a/tests/testframe.c b/tests/testframe.c index 401457ef2d..cf79473402 100644 --- a/tests/testframe.c +++ b/tests/testframe.c @@ -101,7 +101,7 @@ int main (int argc, char **argv) g_signal_connect (G_OBJECT (window), "delete-event", gtk_main_quit, NULL); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("Testing"); diff --git a/tests/testgtk.c b/tests/testgtk.c index 81b7a0cfa8..9a2229899a 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -228,7 +228,7 @@ build_alpha_widgets (void) GTK_EXPAND | GTK_FILL, 0, 0, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "Entry: "); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); @@ -298,7 +298,7 @@ create_alpha_window (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -687,7 +687,7 @@ create_buttons (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); table = gtk_table_new (3, 3, FALSE); @@ -765,7 +765,7 @@ create_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -810,10 +810,10 @@ create_toggle_buttons (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkToggleButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -833,7 +833,7 @@ create_toggle_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -942,7 +942,7 @@ create_check_buttons (GtkWidget *widget) box1 = gtk_dialog_get_content_area (GTK_DIALOG (window)); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1007,7 +1007,7 @@ create_radio_buttons (GtkWidget *widget) box1 = gtk_dialog_get_content_area (GTK_DIALOG (window)); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1034,7 +1034,7 @@ create_radio_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1132,13 +1132,13 @@ create_button_box (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - main_vbox = gtk_vbox_new (FALSE, 0); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame_horz = gtk_frame_new ("Horizontal Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (frame_horz), vbox); @@ -1165,7 +1165,7 @@ create_button_box (GtkWidget *widget) frame_vert = gtk_frame_new ("Vertical Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_container_add (GTK_CONTAINER (frame_vert), hbox); @@ -1567,10 +1567,10 @@ create_statusbar (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "statusbar"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1625,7 +1625,7 @@ create_statusbar (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -1688,7 +1688,7 @@ create_handle_box (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 20); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); @@ -1700,7 +1700,7 @@ create_handle_box (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (vbox), separator); gtk_widget_show (separator); - hbox = gtk_hbox_new (FALSE, 10); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); gtk_container_add (GTK_CONTAINER (vbox), hbox); gtk_widget_show (hbox); @@ -1911,9 +1911,9 @@ void create_labels (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Label"); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -1926,7 +1926,7 @@ void create_labels (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); @@ -1985,7 +1985,7 @@ void create_labels (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (activate_link), NULL); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); frame = gtk_frame_new ("Line wrapped label"); label = gtk_label_new ("This is an example of a line-wrapped label. It should not be taking "\ @@ -2092,7 +2092,7 @@ create_rotated_label (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); @@ -2100,7 +2100,7 @@ create_rotated_label (GtkWidget *widget) gtk_label_set_markup (GTK_LABEL (label), "Hello World\nRotate me"); gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0); - scale_hbox = gtk_hbox_new (FALSE, 0); + scale_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), scale_hbox, FALSE, FALSE, 0); scale_label = gtk_label_new (NULL); @@ -2306,10 +2306,10 @@ create_reparent (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "reparent"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2318,7 +2318,7 @@ create_reparent (GtkWidget *widget) frame = gtk_frame_new ("Frame 1"); gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0); - box3 = gtk_vbox_new (FALSE, 5); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (box3), 5); gtk_container_add (GTK_CONTAINER (frame), box3); @@ -2341,7 +2341,7 @@ create_reparent (GtkWidget *widget) frame = gtk_frame_new ("Frame 2"); gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0); - box3 = gtk_vbox_new (FALSE, 5); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (box3), 5); gtk_container_add (GTK_CONTAINER (frame), box3); @@ -2359,7 +2359,7 @@ create_reparent (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2432,10 +2432,10 @@ create_resize_grips (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* North west */ @@ -2465,7 +2465,7 @@ create_resize_grips (GtkWidget *widget) g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press), GINT_TO_POINTER (GDK_WINDOW_EDGE_NORTH_EAST)); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* West */ @@ -2491,7 +2491,7 @@ create_resize_grips (GtkWidget *widget) GINT_TO_POINTER (GDK_WINDOW_EDGE_EAST)); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* South west */ @@ -2596,7 +2596,7 @@ create_saved_position (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); @@ -2616,7 +2616,7 @@ create_saved_position (GtkWidget *widget) NULL), NULL); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -2628,7 +2628,7 @@ create_saved_position (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), x_label, TRUE, TRUE, 0); g_object_set_data (G_OBJECT (window), "x", x_label); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -2646,7 +2646,7 @@ create_saved_position (GtkWidget *widget) NULL); gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); @@ -2696,10 +2696,10 @@ create_pixbuf (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); gtk_widget_realize(window); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2711,7 +2711,7 @@ create_pixbuf (GtkWidget *widget) pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL); label = gtk_label_new ("Pixbuf\ntest"); - box3 = gtk_hbox_new (FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box3), 2); gtk_container_add (GTK_CONTAINER (box3), pixbufwid); gtk_container_add (GTK_CONTAINER (box3), label); @@ -2723,7 +2723,7 @@ create_pixbuf (GtkWidget *widget) pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL); label = gtk_label_new ("Pixbuf\ntest"); - box3 = gtk_hbox_new (FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box3), 2); gtk_container_add (GTK_CONTAINER (box3), pixbufwid); gtk_container_add (GTK_CONTAINER (box3), label); @@ -2734,7 +2734,7 @@ create_pixbuf (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2778,10 +2778,10 @@ create_tooltips (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (widget)); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2833,7 +2833,7 @@ create_tooltips (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2896,7 +2896,7 @@ create_image (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -3205,7 +3205,7 @@ create_menus (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); @@ -3253,7 +3253,7 @@ create_menus (GtkWidget *widget) gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -3308,7 +3308,7 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -3615,9 +3615,9 @@ create_modal_window (GtkWidget *widget) gtk_window_set_modal (GTK_WINDOW(window),TRUE); /* Create widgets */ - box1 = gtk_vbox_new (FALSE,5); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE,5); frame1 = gtk_frame_new ("Standard dialogs in modal form"); - box2 = gtk_vbox_new (TRUE,5); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE,5); btnColor = gtk_button_new_with_label ("Color"); btnFile = gtk_button_new_with_label ("File Selection"); btnClose = gtk_button_new_with_label ("Close"); @@ -3973,15 +3973,15 @@ create_entry (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (box2), hbox, TRUE, TRUE, 0); entry = gtk_entry_new (); @@ -4039,7 +4039,7 @@ create_entry (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -4079,7 +4079,7 @@ create_expander (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "expander"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); expander = gtk_expander_new ("The Hidden"); @@ -4166,17 +4166,17 @@ create_event_box (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "event box"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &color); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (box1), hbox, TRUE, FALSE, 0); event_box = gtk_event_box_new (); gtk_box_pack_start (GTK_BOX (hbox), event_box, TRUE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (event_box), vbox); g_signal_connect (event_box, "button_press_event", G_CALLBACK (event_box_label_pressed), @@ -4207,7 +4207,7 @@ create_event_box (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -4338,7 +4338,7 @@ create_size_group_window (GdkScreen *screen, g_object_unref (vgroup1); g_object_unref (vgroup2); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0); spin_button = gtk_spin_button_new_with_range (1, 100, 1); @@ -4596,23 +4596,23 @@ create_spins (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkSpinButton"); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame = gtk_frame_new ("Not accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); /* Time, month, hex spinners */ - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Time :"); @@ -4630,7 +4630,7 @@ create_spins (GtkWidget *widget) gtk_entry_set_width_chars (GTK_ENTRY (spinner), 5); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Month :"); @@ -4654,7 +4654,7 @@ create_spins (GtkWidget *widget) gtk_entry_set_width_chars (GTK_ENTRY (spinner), 9); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Hex :"); @@ -4679,14 +4679,14 @@ create_spins (GtkWidget *widget) frame = gtk_frame_new ("Accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5); label = gtk_label_new ("Value :"); @@ -4699,7 +4699,7 @@ create_spins (GtkWidget *widget) gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5); label = gtk_label_new ("Digits :"); @@ -4713,7 +4713,7 @@ create_spins (GtkWidget *widget) spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 5); button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); @@ -4732,7 +4732,7 @@ create_spins (GtkWidget *widget) val_label = gtk_label_new (""); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("Value as Int"); @@ -4755,7 +4755,7 @@ create_spins (GtkWidget *widget) frame = gtk_frame_new ("Using Convenience Constructor"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_container_add (GTK_CONTAINER (frame), hbox); @@ -4768,7 +4768,7 @@ create_spins (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 5); gtk_box_pack_start (GTK_BOX (hbox), val_label, TRUE, TRUE, 5); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("Close"); @@ -4917,7 +4917,7 @@ create_cursors (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Cursors"); - main_vbox = gtk_vbox_new (FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); @@ -4931,7 +4931,7 @@ create_cursors (GtkWidget *widget) NULL); #ifdef GDK_WINDOWING_X11 - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -4953,7 +4953,7 @@ create_cursors (GtkWidget *widget) G_CALLBACK (change_cursor_theme), hbox); #endif - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -5011,7 +5011,7 @@ create_cursors (GtkWidget *widget) NULL); gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); @@ -5105,7 +5105,7 @@ create_color_selection (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkColorButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -5423,7 +5423,7 @@ create_font_selection (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkFontButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -5621,7 +5621,7 @@ create_display_screen (GtkWidget *widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroy), NULL); - vbox = gtk_vbox_new (FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("Select screen or display"); @@ -5816,12 +5816,12 @@ create_range_controls (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -5852,7 +5852,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (scale, -1, 200); @@ -5887,7 +5887,7 @@ create_range_controls (GtkWidget *widget) gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -6118,11 +6118,11 @@ create_pages (GtkNotebook *notebook, gint start, gint end) child = gtk_frame_new (buffer); gtk_container_set_border_width (GTK_CONTAINER (child), 10); - vbox = gtk_vbox_new (TRUE,0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE,0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (child), vbox); - hbox = gtk_hbox_new (TRUE,0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE,0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("Fill Tab"); @@ -6144,7 +6144,7 @@ create_pages (GtkNotebook *notebook, gint start, gint end) gtk_widget_show_all (child); - label_box = gtk_hbox_new (FALSE, 0); + label_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); pixwid = gtk_image_new_from_pixbuf (book_closed); g_object_set_data (G_OBJECT (child), "tab_pixmap", pixwid); @@ -6155,7 +6155,7 @@ create_pages (GtkNotebook *notebook, gint start, gint end) gtk_widget_show_all (label_box); - menu_box = gtk_hbox_new (FALSE, 0); + menu_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); pixwid = gtk_image_new_from_pixbuf (book_closed); g_object_set_data (G_OBJECT (child), "menu_pixmap", pixwid); @@ -6282,7 +6282,7 @@ create_notebook (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "notebook"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); sample_notebook = gtk_notebook_new (); @@ -6305,7 +6305,7 @@ create_notebook (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 10); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6315,7 +6315,7 @@ create_notebook (GtkWidget *widget) G_CALLBACK (notebook_popup), sample_notebook); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6332,7 +6332,7 @@ create_notebook (GtkWidget *widget) g_signal_connect (button, "clicked", G_CALLBACK (show_all_pages), sample_notebook); - box2 = gtk_hbox_new (TRUE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6505,7 +6505,7 @@ create_panes (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Panes"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6598,7 +6598,7 @@ paned_keyboard_window1 (GtkWidget *widget) gtk_paned_pack1 (GTK_PANED (hpaned1), frame1, FALSE, TRUE); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); - vbox1 = gtk_vbox_new (FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (frame1), vbox1); button7 = gtk_button_new_with_label ("button7"); @@ -6620,7 +6620,7 @@ paned_keyboard_window1 (GtkWidget *widget) frame5 = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (frame2), frame5); - hbox1 = gtk_hbox_new (FALSE, 0); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (frame5), hbox1); button5 = gtk_button_new_with_label ("button5"); @@ -6695,7 +6695,7 @@ paned_keyboard_window2 (GtkWidget *widget) button13 = gtk_button_new_with_label ("button13"); gtk_container_add (GTK_CONTAINER (frame6), button13); - hbox2 = gtk_hbox_new (FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_paned_pack2 (GTK_PANED (hpaned2), hbox2, TRUE, TRUE); vpaned2 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6747,7 +6747,7 @@ paned_keyboard_window3 (GtkWidget *widget) gtk_widget_get_screen (widget)); - vbox2 = gtk_vbox_new (FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window3), vbox2); label1 = gtk_label_new ("Three panes nested inside each other"); @@ -6821,7 +6821,7 @@ paned_keyboard_window4 (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window4), gtk_widget_get_screen (widget)); - vbox3 = gtk_vbox_new (FALSE, 0); + vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window4), vbox3); label2 = gtk_label_new ("Widget tree:\n\nhpaned \n - vpaned\n - hbox\n - vpaned\n - vpaned\n - vpaned\n"); @@ -6840,7 +6840,7 @@ paned_keyboard_window4 (GtkWidget *widget) button18 = gtk_button_new_with_label ("button18"); gtk_paned_pack2 (GTK_PANED (vpaned3), button18, TRUE, TRUE); - hbox3 = gtk_hbox_new (FALSE, 0); + hbox3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_paned_pack2 (GTK_PANED (hpaned6), hbox3, TRUE, TRUE); vpaned4 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -7221,7 +7221,7 @@ create_wmhints (GtkWidget *widget) gdk_window_set_decorations (gdk_window, GDK_DECOR_ALL | GDK_DECOR_MENU); gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_RESIZE); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); @@ -7236,7 +7236,7 @@ create_wmhints (GtkWidget *widget) gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -7304,7 +7304,7 @@ tracking_label (GtkWidget *window) GtkWidget *hbox; GtkWidget *button; - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); g_signal_connect_object (hbox, "destroy", @@ -7407,7 +7407,7 @@ get_state_controls (GtkWidget *window) GtkWidget *button_above; GtkWidget *button_below; - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); button = gtk_button_new_with_label ("Stick"); g_signal_connect_object (button, @@ -7517,7 +7517,7 @@ create_window_states (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Window states"); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); iconified = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -7838,7 +7838,7 @@ make_gravity_window (GtkWidget *destroy_with, gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (destroy_with)); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -7972,7 +7972,7 @@ window_controls (GtkWidget *window) window, G_CONNECT_SWAPPED); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (control_window), vbox); @@ -8377,14 +8377,14 @@ create_progress_bar (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar"); gtk_container_set_border_width (GTK_CONTAINER (pdata->window), 0); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, TRUE, 0); frame = gtk_frame_new ("Progress"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); align = gtk_alignment_new (0.5, 0.5, 0, 0); @@ -8400,7 +8400,7 @@ create_progress_bar (GtkWidget *widget) align = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (align), hbox); label = gtk_label_new ("Label updated by user :"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); @@ -8410,7 +8410,7 @@ create_progress_bar (GtkWidget *widget) frame = gtk_frame_new ("Options"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - vbox2 = gtk_vbox_new (FALSE, 5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); tab = gtk_table_new (7, 2, FALSE); @@ -8425,7 +8425,7 @@ create_progress_bar (GtkWidget *widget) pdata->omenu1 = build_option_menu (items1, 4, 0, progressbar_toggle_orientation, pdata); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8439,7 +8439,7 @@ create_progress_bar (GtkWidget *widget) GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8464,7 +8464,7 @@ create_progress_bar (GtkWidget *widget) 2, // PANGO_ELLIPSIZE_MIDDLE progressbar_toggle_ellipsize, pdata); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 10, 11, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8754,7 +8754,7 @@ create_properties (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "test properties"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1); gtk_container_add (GTK_CONTAINER (window), vbox); label = gtk_label_new ("This is just a dumb test to test properties.\nIf you need a generic module, get GLE."); @@ -8916,7 +8916,7 @@ create_snapshot (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "test snapshot"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_vbox_new (FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1); gtk_container_add (GTK_CONTAINER (window), vbox); button = gtk_button_new_with_label ("Snapshot widget"); @@ -9038,7 +9038,7 @@ create_selection_test (GtkWidget *widget) /* Create the list */ - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -9192,7 +9192,7 @@ create_scroll_test (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Scroll Test"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); @@ -9591,7 +9591,7 @@ create_rc_file (GtkWidget *widget) frame = gtk_aspect_frame_new ("Testing RC file prioritization", 0.5, 0.5, 0.0, TRUE); gtk_box_pack_start (GTK_BOX (content_area), frame, FALSE, FALSE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (frame), vbox); label = gtk_label_new ("This label should be red"); @@ -9863,7 +9863,7 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0); gtk_widget_show (button); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, FALSE, 0); @@ -10069,7 +10069,7 @@ create_main_window (void) G_CALLBACK (gtk_false), NULL); - box1 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box1); if (gtk_micro_version > 0) @@ -10095,7 +10095,7 @@ create_main_window (void) GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (box1), scrolled_window, TRUE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), box2); gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2), @@ -10118,7 +10118,7 @@ create_main_window (void) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); diff --git a/tests/testheightforwidth.c b/tests/testheightforwidth.c index 5bac79fcfd..b105344f37 100644 --- a/tests/testheightforwidth.c +++ b/tests/testheightforwidth.c @@ -942,7 +942,7 @@ create_window (void) gint i; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - vbox = gtk_vbox_new (FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (window), 8); diff --git a/tests/testiconview.c b/tests/testiconview.c index 6dd169b6a4..3657e96ebb 100644 --- a/tests/testiconview.c +++ b/tests/testiconview.c @@ -433,7 +433,7 @@ main (gint argc, gchar **argv) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 700, 400); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); paned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); diff --git a/tests/testinput.c b/tests/testinput.c index c7149a8386..a7e51af581 100644 --- a/tests/testinput.c +++ b/tests/testinput.c @@ -303,7 +303,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (window, "Test Input"); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/tests/testmenubars.c b/tests/testmenubars.c index 5df095f084..5012259e9d 100644 --- a/tests/testmenubars.c +++ b/tests/testmenubars.c @@ -127,9 +127,9 @@ main (int argc, char **argv) gtk_window_set_title (GTK_WINDOW (window), "menus"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_vbox_new (FALSE, 0); - box2 = gtk_hbox_new (FALSE, 0); - box3 = gtk_vbox_new (FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); /* Rotation by 0 and 180 degrees is broken in Pango, #166832 */ menubar1 = create_menubar (GTK_PACK_DIRECTION_LTR, GTK_PACK_DIRECTION_LTR, 0.01); @@ -155,7 +155,7 @@ main (int argc, char **argv) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_vbox_new (FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); diff --git a/tests/testmerge.c b/tests/testmerge.c index b1ca1e4072..fdd9932bbd 100644 --- a/tests/testmerge.c +++ b/tests/testmerge.c @@ -626,7 +626,7 @@ main (int argc, char **argv) gtk_table_attach (GTK_TABLE (table), frame, 0,2, 1,2, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); - menu_box = gtk_vbox_new (FALSE, 0); + menu_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (menu_box), 2); gtk_container_add (GTK_CONTAINER (frame), menu_box); @@ -667,7 +667,7 @@ main (int argc, char **argv) gtk_table_attach (GTK_TABLE (table), frame, 0,1, 0,1, GTK_FILL, GTK_FILL|GTK_EXPAND, 0, 0); - vbox = gtk_vbox_new (FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); gtk_container_set_border_width (GTK_CONTAINER (vbox), 2); gtk_container_add (GTK_CONTAINER (frame), vbox); diff --git a/tests/testmultiscreen.c b/tests/testmultiscreen.c index e47c60fb54..52a05dbed4 100644 --- a/tests/testmultiscreen.c +++ b/tests/testmultiscreen.c @@ -122,7 +122,7 @@ main (int argc, char *argv[]) g_signal_connect (window[i], "destroy", G_CALLBACK (gtk_main_quit), NULL); - vbox[i] = gtk_vbox_new (TRUE, 0); + vbox[i] = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); gtk_container_add (GTK_CONTAINER (window[i]), vbox[i]); button = g_object_new (GTK_TYPE_BUTTON, @@ -151,7 +151,7 @@ main (int argc, char *argv[]) gtk_widget_show_all (window[i]); moving_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - moving_vbox = gtk_vbox_new (TRUE, 0); + moving_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); gtk_container_add (GTK_CONTAINER (moving_window), moving_vbox); moving_button = g_object_new (GTK_TYPE_BUTTON, diff --git a/tests/testoffscreen.c b/tests/testoffscreen.c index 60f8ee18b7..a10f8fa82a 100644 --- a/tests/testoffscreen.c +++ b/tests/testoffscreen.c @@ -197,15 +197,15 @@ create_widgets (void) GtkWidget *vbox, *hbox, *label, *combo, *entry, *button, *cb; GtkWidget *sw, *text_view; - main_vbox = gtk_vbox_new (0, FALSE); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); - main_hbox = gtk_hbox_new (0, FALSE); + main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_box_pack_start (GTK_BOX (main_vbox), main_hbox, TRUE, TRUE, 0); - vbox = gtk_vbox_new (0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); gtk_box_pack_start (GTK_BOX (main_hbox), vbox, TRUE, TRUE, 0); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("This label may be ellipsized\nto make it fit."); @@ -307,7 +307,7 @@ main (int argc, G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_vbox_new (0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); gtk_container_add (GTK_CONTAINER (window), vbox); scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, @@ -351,7 +351,7 @@ main (int argc, G_CALLBACK (scale_changed), offscreen2); - box2 = gtk_vbox_new (FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_offscreen_box_add2 (GTK_OFFSCREEN_BOX (offscreen2), box2); widget2 = gtk_button_new_with_label ("Offscreen in offscreen"); diff --git a/tests/testorientable.c b/tests/testorientable.c index 38bb879f39..11e2ef59b5 100644 --- a/tests/testorientable.c +++ b/tests/testorientable.c @@ -61,7 +61,7 @@ main (int argc, char **argv) gtk_table_set_col_spacings (GTK_TABLE (table), 12); /* GtkBox */ - box = gtk_hbox_new (6, FALSE); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6, FALSE); orientables = g_list_prepend (orientables, box); gtk_table_attach_defaults (GTK_TABLE (table), box, 0, 1, 1, 2); gtk_box_pack_start (GTK_BOX (box), diff --git a/tests/testrecentchoosermenu.c b/tests/testrecentchoosermenu.c index 73cfafbb7d..1bcde3307a 100644 --- a/tests/testrecentchoosermenu.c +++ b/tests/testrecentchoosermenu.c @@ -164,7 +164,7 @@ main (int argc, char *argv[]) accel_group = gtk_accel_group_new (); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); - box = gtk_vbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), box); gtk_widget_show (box); diff --git a/tests/testscale.c b/tests/testscale.c index 3ed22b2469..0ee26749c9 100755 --- a/tests/testscale.c +++ b/tests/testscale.c @@ -46,7 +46,7 @@ int main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Ranges with marks"); - box = gtk_vbox_new (FALSE, 5); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); frame = gtk_frame_new ("No marks"); scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, @@ -96,7 +96,7 @@ int main (int argc, char *argv[]) gtk_container_add (GTK_CONTAINER (frame), scale); gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); - box2 = gtk_hbox_new (FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (box), box2, TRUE, TRUE, 0); frame = gtk_frame_new ("No marks"); diff --git a/tests/testscrolledwindow.c b/tests/testscrolledwindow.c index cb8d3be1a8..0b00f2566c 100644 --- a/tests/testscrolledwindow.c +++ b/tests/testscrolledwindow.c @@ -39,8 +39,8 @@ scrollable_policy (void) GtkWidget *viewport, *label, *expander, *widget; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - hbox = gtk_hbox_new (FALSE, 2); - vbox = gtk_vbox_new (FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (window), 8); @@ -81,14 +81,14 @@ scrollable_policy (void) /* Add controls here */ expander = gtk_expander_new ("Controls"); gtk_expander_set_expanded (GTK_EXPANDER (expander), TRUE); - cntl = gtk_vbox_new (FALSE, 2); + cntl = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); gtk_widget_show (cntl); gtk_widget_show (expander); gtk_container_add (GTK_CONTAINER (expander), cntl); gtk_box_pack_start (GTK_BOX (vbox), expander, FALSE, FALSE, 0); /* Add Horizontal policy control here */ - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_widget_show (hbox); widget = gtk_label_new ("hscroll-policy"); @@ -108,7 +108,7 @@ scrollable_policy (void) G_CALLBACK (horizontal_policy_changed), viewport); /* Add Vertical policy control here */ - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_widget_show (hbox); widget = gtk_label_new ("vscroll-policy"); @@ -129,7 +129,7 @@ scrollable_policy (void) /* Add Label orientation control here */ - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_widget_show (hbox); widget = gtk_label_new ("label-flip"); diff --git a/tests/testselection.c b/tests/testselection.c index 088225e845..dfe2ed118d 100644 --- a/tests/testselection.c +++ b/tests/testselection.c @@ -442,7 +442,7 @@ main (int argc, char *argv[]) gtk_table_attach_defaults (GTK_TABLE (table), scrolled, 0, 1, 1, 2); gtk_widget_show (selection_text); - hbox = gtk_hbox_new (FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_table_attach (GTK_TABLE (table), hbox, 0, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_widget_show (hbox); diff --git a/tests/testsocket.c b/tests/testsocket.c index b8310fce64..3b44fd0bb8 100644 --- a/tests/testsocket.c +++ b/tests/testsocket.c @@ -97,7 +97,7 @@ create_socket (void) Socket *socket = g_new (Socket, 1); - socket->box = gtk_vbox_new (FALSE, 0); + socket->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); socket->socket = gtk_socket_new (); @@ -321,7 +321,7 @@ main (int argc, char *argv[]) gtk_window_set_title (GTK_WINDOW (window), "Socket Test"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); menubar = gtk_menu_bar_new (); @@ -375,13 +375,13 @@ main (int argc, char *argv[]) G_CALLBACK (grab_window_toggled), window); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX(hbox), entry, FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); box = hbox; diff --git a/tests/testsocket_common.c b/tests/testsocket_common.c index 0023909f84..7d147f32a6 100644 --- a/tests/testsocket_common.c +++ b/tests/testsocket_common.c @@ -217,7 +217,7 @@ create_content (GtkWindow *window, gboolean local) frame = gtk_frame_new (local? "Local" : "Remote"); gtk_container_set_border_width (GTK_CONTAINER (frame), 3); - vbox = gtk_vbox_new (TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); gtk_container_add (GTK_CONTAINER (frame), vbox); diff --git a/tests/testspinbutton.c b/tests/testspinbutton.c index d77c69542c..535a35cb2c 100644 --- a/tests/testspinbutton.c +++ b/tests/testspinbutton.c @@ -31,7 +31,7 @@ main (int argc, char **argv) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "delete_event", gtk_main_quit, NULL); - mainbox = gtk_vbox_new (FALSE, 2); + mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); gtk_container_add (GTK_CONTAINER (window), mainbox); for (max = 9; max <= 999999999; max = max * 10 + 9) { @@ -42,7 +42,7 @@ main (int argc, char **argv) 0.0); GtkWidget *spin = gtk_spin_button_new (adj, 1.0, 0); - GtkWidget *hbox = gtk_hbox_new (FALSE, 2); + GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_box_pack_start (GTK_BOX (hbox), spin, diff --git a/tests/testtext.c b/tests/testtext.c index 7bd911a8ce..84159822ca 100644 --- a/tests/testtext.c +++ b/tests/testtext.c @@ -261,7 +261,7 @@ msgbox_run (GtkWindow *parent, /* Fill in the contents of the widget */ - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (dialog), vbox); label = gtk_label_new (message); @@ -1534,7 +1534,7 @@ do_rich_text (gpointer callback_data, gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), tv); - hbox = gtk_hbox_new (FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE, FALSE, 0); @@ -2928,7 +2928,7 @@ create_view (Buffer *buffer) gtk_window_add_accel_group (GTK_WINDOW (view->window), view->accel_group); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); gtk_container_add (GTK_CONTAINER (view->window), vbox); gtk_box_pack_start (GTK_BOX (vbox), diff --git a/tests/testthreads.c b/tests/testthreads.c index 8c81da61e7..e630a5f1e6 100644 --- a/tests/testthreads.c +++ b/tests/testthreads.c @@ -67,7 +67,7 @@ counter (void *data) gtk_window_set_title (GTK_WINDOW (window), name); gtk_widget_set_size_request (window, 100, 50); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); g_signal_connect (window, "delete-event", G_CALLBACK (delete_cb), &flag); diff --git a/tests/testtoolbar.c b/tests/testtoolbar.c index 888a52fb73..cd55b032bd 100644 --- a/tests/testtoolbar.c +++ b/tests/testtoolbar.c @@ -530,12 +530,12 @@ main (gint argc, gchar **argv) gtk_table_attach (GTK_TABLE (table), toolbar, 0,2, 0,1, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); - hbox1 = gtk_hbox_new (FALSE, 3); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); gtk_container_set_border_width (GTK_CONTAINER (hbox1), 5); gtk_table_attach (GTK_TABLE (table), hbox1, 1,2, 1,2, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); - hbox2 = gtk_hbox_new (FALSE, 2); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); gtk_container_set_border_width (GTK_CONTAINER (hbox2), 5); gtk_table_attach (GTK_TABLE (table), hbox2, 1,2, 2,3, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); @@ -706,7 +706,7 @@ main (gint argc, gchar **argv) add_item_to_list (store, item, "Terminal"); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_table_attach (GTK_TABLE (table), hbox, 1,2, 4,5, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); diff --git a/tests/testtooltips.c b/tests/testtooltips.c index 4c17846797..5ec25abfcd 100644 --- a/tests/testtooltips.c +++ b/tests/testtooltips.c @@ -275,7 +275,7 @@ main (int argc, char *argv[]) g_signal_connect (window, "delete_event", G_CALLBACK (gtk_main_quit), NULL); - box = gtk_vbox_new (FALSE, 3); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); gtk_container_add (GTK_CONTAINER (window), box); /* A check button using the tooltip-markup property */ diff --git a/tests/testtreecolumns.c b/tests/testtreecolumns.c index da2363c8d7..a0f6841b7a 100644 --- a/tests/testtreecolumns.c +++ b/tests/testtreecolumns.c @@ -812,11 +812,11 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_window_set_default_size (GTK_WINDOW (window), 500, 300); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* Left Pane */ @@ -837,7 +837,7 @@ main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (hbox), swindow, TRUE, TRUE, 0); /* Middle Pane */ - vbox2 = gtk_vbox_new (FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0); bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); @@ -878,7 +878,7 @@ main (int argc, char *argv[]) /* Right Pane */ - vbox2 = gtk_vbox_new (FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0); swindow = gtk_scrolled_window_new (NULL, NULL); @@ -946,7 +946,7 @@ main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 0); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Add new Column"); g_signal_connect (button, "clicked", G_CALLBACK (add_clicked), left_tree_model); diff --git a/tests/testtreecolumnsizing.c b/tests/testtreecolumnsizing.c index 93130fa8a8..68aa9a7e60 100644 --- a/tests/testtreecolumnsizing.c +++ b/tests/testtreecolumnsizing.c @@ -178,7 +178,7 @@ main (int argc, char **argv) g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 5); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), vbox); /* Option menu contents */ diff --git a/tests/testtreeflow.c b/tests/testtreeflow.c index dec350a4cb..aab1051864 100644 --- a/tests/testtreeflow.c +++ b/tests/testtreeflow.c @@ -135,7 +135,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Reflow test"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Incremental Reflow Test"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -159,7 +159,7 @@ main (int argc, char *argv[]) "text", TEXT_COLUMN, NULL); gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view); - hbox = gtk_hbox_new (FALSE, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, FALSE); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Futz!!"); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); diff --git a/tests/testtreefocus.c b/tests/testtreefocus.c index 8baf12b3bd..43c1407dcb 100644 --- a/tests/testtreefocus.c +++ b/tests/testtreefocus.c @@ -353,7 +353,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Card planning sheet"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Jonathan's Holiday Card Planning Sheet"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -469,7 +469,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Model"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("The model revealed"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/tests/testtreesort.c b/tests/testtreesort.c index a23b367ddd..0d90c55269 100644 --- a/tests/testtreesort.c +++ b/tests/testtreesort.c @@ -125,7 +125,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Words, words, words - Window 1"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Jonathan and Kristian's list of cool words. (And Anders' cool list of numbers) \n\nThis is just a GtkTreeStore"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -255,7 +255,7 @@ main (int argc, char *argv[]) gtk_window_set_title (GTK_WINDOW (window2), "Words, words, words - window 2"); g_signal_connect (window2, "destroy", gtk_main_quit, NULL); - vbox2 = gtk_vbox_new (FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8); gtk_box_pack_start (GTK_BOX (vbox2), gtk_label_new ("Jonathan and Kristian's list of words.\n\nA GtkTreeModelSort wrapping the GtkTreeStore of window 1"), @@ -327,7 +327,7 @@ main (int argc, char *argv[]) gtk_window_set_title (GTK_WINDOW (window3), "Words, words, words - Window 3"); g_signal_connect (window3, "destroy", gtk_main_quit, NULL); - vbox3 = gtk_vbox_new (FALSE, 8); + vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox3), 8); gtk_box_pack_start (GTK_BOX (vbox3), gtk_label_new ("Jonathan and Kristian's list of words.\n\nA GtkTreeModelSort wrapping the GtkTreeModelSort of window 2"), diff --git a/tests/testvolumebutton.c b/tests/testvolumebutton.c index ee1d2bd7e5..29bf4891ad 100644 --- a/tests/testvolumebutton.c +++ b/tests/testvolumebutton.c @@ -88,7 +88,7 @@ main (int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); button = gtk_volume_button_new (); button2 = gtk_volume_button_new (); - box = gtk_hbox_new (FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); g_signal_connect (G_OBJECT (button), "value-changed", G_CALLBACK (value_changed), diff --git a/tests/testwindows.c b/tests/testwindows.c index 653370bb11..09e2960751 100644 --- a/tests/testwindows.c +++ b/tests/testwindows.c @@ -798,7 +798,7 @@ main (int argc, char **argv) g_signal_connect (G_OBJECT (window), "delete-event", gtk_main_quit, NULL); - hbox = gtk_hbox_new (FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); gtk_container_add (GTK_CONTAINER (window), hbox); gtk_widget_show (hbox); @@ -825,7 +825,7 @@ main (int argc, char **argv) &black); - vbox = gtk_vbox_new (FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, diff --git a/tests/testxinerama.c b/tests/testxinerama.c index e41752aabf..8ecca105fd 100644 --- a/tests/testxinerama.c +++ b/tests/testxinerama.c @@ -109,7 +109,7 @@ main (int argc, char *argv[]) primary_monitor); gtk_label_set_markup (GTK_LABEL (label), str); g_free (str); - vbox = gtk_vbox_new (TRUE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 1); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); button = gtk_button_new_with_label ("Query current monitor"); diff --git a/tests/treestoretest.c b/tests/treestoretest.c index 080bc41049..5b4c72a001 100644 --- a/tests/treestoretest.c +++ b/tests/treestoretest.c @@ -303,7 +303,7 @@ make_window (gint view_type) break; } - vbox = gtk_vbox_new (FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_window_set_default_size (GTK_WINDOW (window), 300, 350); scrolled_window = gtk_scrolled_window_new (NULL, NULL); @@ -351,7 +351,7 @@ make_window (gint view_type) gtk_widget_set_sensitive (button, FALSE); button = gtk_button_new_with_label ("gtk_tree_store_insert"); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); @@ -362,7 +362,7 @@ make_window (gint view_type) tree_view); button = gtk_button_new_with_label ("gtk_tree_store_set"); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); @@ -373,7 +373,7 @@ make_window (gint view_type) tree_view); button = gtk_button_new_with_label ("gtk_tree_store_insert_with_values"); - hbox = gtk_hbox_new (FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); From 1dc7e3d8857671bee379851f2560775c36992ecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 30 Oct 2010 06:53:44 +0200 Subject: [PATCH 0087/1463] Emphasize that GtkBox and GtkTable can be replaced by GtkGrid --- docs/reference/gtk/tmpl/gtktable.sgml | 2 ++ gtk/gtkbox.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/docs/reference/gtk/tmpl/gtktable.sgml b/docs/reference/gtk/tmpl/gtktable.sgml index 22503eaa39..6264b6eea3 100644 --- a/docs/reference/gtk/tmpl/gtktable.sgml +++ b/docs/reference/gtk/tmpl/gtktable.sgml @@ -32,11 +32,13 @@ either side of the widget it belongs to. gtk_table_set_homogeneous(), can be used to set whether all cells in the table will resize themselves to the size of the largest widget in the table. + Note that #GtkGrid provides the same capabilities as GtkTable for arranging widgets in a rectangular grid, and additionally supports height-for-width geometry management. + diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index 50e827de85..ef519686bb 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -75,8 +75,12 @@ * #GtkBox:fill and #GtkBox:padding child properties. * Use gtk_box_query_child_packing() to query these fields. * + * + * * Note that a single-row or single-column #GtkGrid provides exactly the * same functionality as #GtkBox. + * + * */ #include "config.h" From 86fb6ab21617479d88a078889113fea37e09d6fe Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 30 Oct 2010 21:40:22 +0900 Subject: [PATCH 0088/1463] Fixed GtkCellAreaIter to notify invalidation of sizes on flush Also fixed GtkCellAreaBox to track the iters it creates and flush them when the overall layout configuration changes (add/remove/reorder/ spacing changed etc). --- gtk/gtkcellareabox.c | 98 +++++++++++++++++++++++++++++++++++-------- gtk/gtkcellareaiter.c | 50 +++++++++++++++++++--- 2 files changed, 124 insertions(+), 24 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index f1a7cc1ea9..80b271e734 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -97,7 +97,7 @@ static void gtk_cell_area_box_layout_reorder (GtkCellLayout gint position); -/* CellInfo/CellGroup metadata handling */ +/* CellInfo/CellGroup metadata handling and convenience functions */ typedef struct { GtkCellRenderer *renderer; @@ -109,7 +109,7 @@ typedef struct { typedef struct { GList *cells; - guint id : 16; + guint id : 16; guint expand : 1; } CellGroup; @@ -128,16 +128,20 @@ static GList *list_consecutive_cells (GtkCellAreaBox *box); static GList *construct_cell_groups (GtkCellAreaBox *box); static gint count_expand_groups (GtkCellAreaBox *box); static gint count_expand_cells (CellGroup *group); - +static void iter_weak_notify (GtkCellAreaBox *box, + GtkCellAreaIter *dead_iter); +static void flush_iters (GtkCellAreaBox *box); struct _GtkCellAreaBoxPrivate { - GtkOrientation orientation; + GtkOrientation orientation; - GList *cells; - GList *groups; + GList *cells; + GList *groups; - gint spacing; + GSList *iters; + + gint spacing; }; enum { @@ -168,6 +172,7 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->orientation = GTK_ORIENTATION_HORIZONTAL; priv->cells = NULL; priv->groups = NULL; + priv->iters = NULL; priv->spacing = 0; } @@ -214,7 +219,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) /************************************************************* - * CellInfo/CellGroup Basics * + * CellInfo/CellGroup basics and convenience functions * *************************************************************/ static CellInfo * cell_info_new (GtkCellRenderer *renderer, @@ -379,6 +384,31 @@ count_expand_cells (CellGroup *group) return expand_cells; } +static void +iter_weak_notify (GtkCellAreaBox *box, + GtkCellAreaIter *dead_iter) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + + priv->iters = g_slist_remove (priv->iters, dead_iter); +} + +static void +flush_iters (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + GSList *l; + + /* When the box layout changes, iters need to + * be flushed and sizes for the box get requested again + */ + for (l = priv->iters; l; l = l->next) + { + GtkCellAreaIter *iter = l->data; + + gtk_cell_area_iter_flush (iter); + } +} /************************************************************* * GObjectClass * @@ -386,6 +416,15 @@ count_expand_cells (CellGroup *group) static void gtk_cell_area_box_finalize (GObject *object) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (object); + GtkCellAreaBoxPrivate *priv = box->priv; + GSList *l; + + for (l = priv->iters; l; l = l->next) + g_object_weak_unref (G_OBJECT (l->data), (GWeakNotify)iter_weak_notify, box); + + g_slist_free (priv->iters); + G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->finalize (object); } @@ -463,15 +502,13 @@ gtk_cell_area_box_remove (GtkCellArea *area, priv->cells = g_list_delete_link (priv->cells, node); - /* Reconstruct cell groups - * XXX TODO: add a list of iters and weak_ref's on them, then - * flush the iters when we reconstruct groups, change spacing - * or child expand properties (i.e. notify size needs to be - * recalculated). - */ + /* Reconstruct cell groups */ g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); g_list_free (priv->groups); priv->groups = construct_cell_groups (box); + + /* Notify that size needs to be requested again */ + flush_iters (box); } else g_warning ("Trying to remove a cell renderer that is not present GtkCellAreaBox"); @@ -517,7 +554,16 @@ gtk_cell_area_box_render (GtkCellArea *area, static GtkCellAreaIter * gtk_cell_area_box_create_iter (GtkCellArea *area) { - return (GtkCellAreaIter *)g_object_new (GTK_TYPE_CELL_AREA_BOX_ITER, NULL); + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellAreaIter *iter = + (GtkCellAreaIter *)g_object_new (GTK_TYPE_CELL_AREA_BOX_ITER, NULL); + + priv->iters = g_slist_prepend (priv->iters, iter); + + g_object_weak_ref (G_OBJECT (iter), (GWeakNotify)iter_weak_notify, box); + + return iter; } static GtkSizeRequestMode @@ -1012,6 +1058,14 @@ gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, priv->cells = g_list_delete_link (priv->cells, node); priv->cells = g_list_insert (priv->cells, info, position); + + /* Reconstruct cell groups */ + g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); + g_list_free (priv->groups); + priv->groups = construct_cell_groups (box); + + /* Notify that size needs to be requested again */ + flush_iters (box); } } @@ -1049,10 +1103,13 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, priv->cells = g_list_append (priv->cells, info); - /* Reconstruct cell groups (TODO, notify created iters that size needs renegotiation) */ + /* Reconstruct cell groups */ g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); g_list_free (priv->groups); priv->groups = construct_cell_groups (box); + + /* Notify that size needs to be requested again */ + flush_iters (box); } void @@ -1080,10 +1137,13 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, priv->cells = g_list_append (priv->cells, info); - /* Reconstruct cell groups (TODO, notify created iters that size needs renegotiation) */ + /* Reconstruct cell groups */ g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); g_list_free (priv->groups); priv->groups = construct_cell_groups (box); + + /* Notify that size needs to be requested again */ + flush_iters (box); } gint @@ -1108,7 +1168,9 @@ gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, { priv->spacing = spacing; - /* TODO, notify created iters that size needs renegotiation */ g_object_notify (G_OBJECT (box), "spacing"); + + /* Notify that size needs to be requested again */ + flush_iters (box); } } diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c index 4257f4b754..4b313648e5 100644 --- a/gtk/gtkcellareaiter.c +++ b/gtk/gtkcellareaiter.c @@ -318,6 +318,18 @@ gtk_cell_area_iter_real_flush_preferred_width (GtkCellAreaIter *iter) g_object_thaw_notify (G_OBJECT (iter)); } +static void +notify_invalid_height (gpointer width_ptr, + CachedSize *size, + GtkCellAreaIter *iter) +{ + gint width = GPOINTER_TO_INT (width_ptr); + + /* Notify size invalidated */ + g_signal_emit (iter, cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED], + 0, width, -1, -1); +} + static void gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCellAreaIter *iter, gint width) @@ -326,11 +338,18 @@ gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCellAreaIter *iter, /* Flush all sizes for special -1 value */ if (width < 0) - g_hash_table_remove_all (priv->heights); + { + g_hash_table_foreach (priv->heights, (GHFunc)notify_invalid_height, iter); + g_hash_table_remove_all (priv->heights); + } else - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + { + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - /* XXX Should we bother signalling removed values as "size-changed" signals ? */ + /* Notify size invalidated */ + g_signal_emit (iter, cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED], + 0, width, -1, -1); + } } static void @@ -347,6 +366,18 @@ gtk_cell_area_iter_real_flush_preferred_height (GtkCellAreaIter *iter) g_object_thaw_notify (G_OBJECT (iter)); } +static void +notify_invalid_width (gpointer height_ptr, + CachedSize *size, + GtkCellAreaIter *iter) +{ + gint height = GPOINTER_TO_INT (height_ptr); + + /* Notify size invalidated */ + g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], + 0, height, -1, -1); +} + static void gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, gint height) @@ -355,11 +386,18 @@ gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, /* Flush all sizes for special -1 value */ if (height < 0) - g_hash_table_remove_all (priv->widths); + { + g_hash_table_foreach (priv->widths, (GHFunc)notify_invalid_width, iter); + g_hash_table_remove_all (priv->widths); + } else - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + { + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - /* XXX Should we bother signalling removed values as "size-changed" signals ? */ + /* Notify size invalidated */ + g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], + 0, height, -1, -1); + } } /************************************************************* From ea6df20bbb3d17f2632bfb424816c7386b7217dd Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 30 Oct 2010 23:06:26 +0900 Subject: [PATCH 0089/1463] Added the majority of the allocate machinery to GtkCellAreaIter[Box]. --- gtk/gtkcellareabox.c | 13 ++ gtk/gtkcellareabox.h | 2 +- gtk/gtkcellareaboxiter.c | 201 ++++++++++++++++++++------- gtk/gtkcellareaboxiter.h | 16 +++ gtk/gtkcellareaiter.c | 284 ++++++++++++++++++++++++++------------- gtk/gtkcellareaiter.h | 57 +++++--- 6 files changed, 409 insertions(+), 164 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 80b271e734..becab5072d 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -410,6 +410,19 @@ flush_iters (GtkCellAreaBox *box) } } + +/* XXX This guy makes an allocation to be stored and retrieved from the iter */ +GtkCellAreaBoxAllocation * +gtk_cell_area_box_allocate (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + gint size, + gint *n_allocs) +{ + + +} + + /************************************************************* * GObjectClass * *************************************************************/ diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index 0a0c052229..caba7cd4ea 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -54,7 +54,6 @@ struct _GtkCellAreaBoxClass { GtkCellAreaClass parent_class; - /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); @@ -77,6 +76,7 @@ gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, gint spacing); + G_END_DECLS #endif /* __GTK_CELL_AREA_BOX_H__ */ diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index 9f3474d84f..779315c178 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -25,23 +25,31 @@ #include "gtkintl.h" #include "gtkcellareabox.h" #include "gtkcellareaboxiter.h" +#include "gtkorientable.h" /* GObjectClass */ static void gtk_cell_area_box_iter_finalize (GObject *object); /* GtkCellAreaIterClass */ -static void gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint width); -static void gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint height); static void gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter); static void gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, gint width); static void gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter); static void gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, gint height); +static void gtk_cell_area_box_iter_flush_allocation (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint width); +static void gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter); +static void gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint height); +static void gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, + gint width); +static void gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, + gint height); + + /* CachedSize management */ typedef struct { @@ -61,6 +69,12 @@ struct _GtkCellAreaBoxIterPrivate /* Table of per height/width hash tables of per renderer CachedSizes */ GHashTable *widths; GHashTable *heights; + + /* Allocation info for this iter if any */ + gint alloc_width; + gint alloc_height; + gint n_orientation_allocs; + GtkCellAreaBoxAllocation *orientation_allocs; }; G_DEFINE_TYPE (GtkCellAreaBoxIter, gtk_cell_area_box_iter, GTK_TYPE_CELL_AREA_ITER); @@ -84,6 +98,11 @@ gtk_cell_area_box_iter_init (GtkCellAreaBoxIter *box_iter) NULL, (GDestroyNotify)g_hash_table_destroy); priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)g_hash_table_destroy); + + priv->alloc_width = 0; + priv->alloc_height = 0; + priv->orientation_allocs = NULL; + priv->n_orientation_allocs = 0; } static void @@ -95,15 +114,19 @@ gtk_cell_area_box_iter_class_init (GtkCellAreaBoxIterClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_box_iter_finalize; + iter_class->flush_preferred_width = gtk_cell_area_box_iter_flush_preferred_width; + iter_class->flush_preferred_height_for_width = gtk_cell_area_box_iter_flush_preferred_height_for_width; + iter_class->flush_preferred_height = gtk_cell_area_box_iter_flush_preferred_height; + iter_class->flush_preferred_width_for_height = gtk_cell_area_box_iter_flush_preferred_width_for_height; + iter_class->flush_allocation = gtk_cell_area_box_iter_flush_allocation; + iter_class->sum_preferred_width = gtk_cell_area_box_iter_sum_preferred_width; iter_class->sum_preferred_height_for_width = gtk_cell_area_box_iter_sum_preferred_height_for_width; iter_class->sum_preferred_height = gtk_cell_area_box_iter_sum_preferred_height; iter_class->sum_preferred_width_for_height = gtk_cell_area_box_iter_sum_preferred_width_for_height; - iter_class->flush_preferred_width = gtk_cell_area_box_iter_flush_preferred_width; - iter_class->flush_preferred_height_for_width = gtk_cell_area_box_iter_flush_preferred_height_for_width; - iter_class->flush_preferred_height = gtk_cell_area_box_iter_flush_preferred_height; - iter_class->flush_preferred_width_for_height = gtk_cell_area_box_iter_flush_preferred_width_for_height; + iter_class->allocate_width = gtk_cell_area_box_iter_allocate_width; + iter_class->allocate_height = gtk_cell_area_box_iter_allocate_height; g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxIterPrivate)); } @@ -143,12 +166,83 @@ gtk_cell_area_box_iter_finalize (GObject *object) g_hash_table_destroy (priv->widths); g_hash_table_destroy (priv->heights); + g_free (priv->orientation_allocs); + G_OBJECT_CLASS (gtk_cell_area_box_iter_parent_class)->finalize (object); } /************************************************************* * GtkCellAreaIterClass * *************************************************************/ +static void +gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + g_hash_table_remove_all (priv->base_widths); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_width (iter); +} + +static void +gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint width) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + /* Flush all sizes for special -1 value */ + if (width < 0) + g_hash_table_remove_all (priv->heights); + else + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_height_for_width (iter, width); +} + +static void +gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + g_hash_table_remove_all (priv->base_heights); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_height (iter); +} + +static void +gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint height) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + /* Flush all sizes for special -1 value */ + if (height < 0) + g_hash_table_remove_all (priv->widths); + else + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + + GTK_CELL_AREA_ITER_GET_CLASS + (gtk_cell_area_box_iter_parent_class)->flush_preferred_width_for_height (iter, height); +} + +static void +gtk_cell_area_box_iter_flush_allocation (GtkCellAreaIter *iter) +{ + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + + g_free (priv->orientation_allocs); + priv->orientation_allocs = NULL; + priv->n_orientation_allocs = 0; +} + typedef struct { gint min_size; gint nat_size; @@ -246,61 +340,51 @@ gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, } static void -gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) +gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, + gint width) { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - - g_hash_table_remove_all (priv->base_widths); + GtkCellArea *area; + GtkOrientation orientation; - GTK_CELL_AREA_ITER_GET_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_width (iter); + area = gtk_cell_area_iter_get_area (iter); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + g_free (priv->orientation_allocs); + + priv->orientation_allocs = + gtk_cell_area_box_allocate (GTK_CELL_AREA_BOX (area), box_iter, width, + &priv->n_orientation_allocs); + } + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->allocate_width (iter, width); } static void -gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint width) +gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, + gint height) { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellArea *area; + GtkOrientation orientation; - /* Flush all sizes for special -1 value */ - if (width < 0) - g_hash_table_remove_all (priv->heights); - else - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + area = gtk_cell_area_iter_get_area (iter); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - GTK_CELL_AREA_ITER_GET_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_height_for_width (iter, width); -} + if (orientation == GTK_ORIENTATION_VERTICAL) + { + g_free (priv->orientation_allocs); -static void -gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) -{ - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - - g_hash_table_remove_all (priv->base_heights); + priv->orientation_allocs = + gtk_cell_area_box_allocate (GTK_CELL_AREA_BOX (area), box_iter, height, + &priv->n_orientation_allocs); + } - GTK_CELL_AREA_ITER_GET_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_height (iter); -} - -static void -gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint height) -{ - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - - /* Flush all sizes for special -1 value */ - if (height < 0) - g_hash_table_remove_all (priv->widths); - else - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - - GTK_CELL_AREA_ITER_GET_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_width_for_height (iter, height); + GTK_CELL_AREA_ITER_GET_CLASS (iter)->allocate_height (iter, height); } /************************************************************* @@ -622,3 +706,18 @@ gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, return heights; } + +G_CONST_RETURN GtkCellAreaBoxAllocation * +gtk_cell_area_box_iter_get_orientation_allocs (GtkCellAreaBoxIter *iter, + gint *n_allocs) +{ + GtkCellAreaBoxIterPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter), NULL); + + priv = iter->priv; + + *n_allocs = priv->n_orientation_allocs; + + return priv->orientation_allocs; +} diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h index ada15a7666..631a67cd90 100644 --- a/gtk/gtkcellareaboxiter.h +++ b/gtk/gtkcellareaboxiter.h @@ -29,6 +29,7 @@ #define __GTK_CELL_AREA_BOX_ITER_H__ #include +#include #include #include @@ -112,6 +113,21 @@ GtkRequestedSize *gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter GtkRequestedSize *gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, gint *n_heights); +/* Private iter/area interaction */ +typedef struct { + gint position; + gint size; +} GtkCellAreaBoxAllocation; + +GtkCellAreaBoxAllocation *gtk_cell_area_box_allocate (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + gint size, + gint *n_allocs); + +G_CONST_RETURN GtkCellAreaBoxAllocation * +gtk_cell_area_box_iter_get_orientation_allocs (GtkCellAreaBoxIter *iter, + gint *n_allocs); + G_END_DECLS #endif /* __GTK_CELL_AREA_BOX_ITER_H__ */ diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c index 4b313648e5..8ec1b3521c 100644 --- a/gtk/gtkcellareaiter.c +++ b/gtk/gtkcellareaiter.c @@ -46,6 +46,11 @@ static void gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCe static void gtk_cell_area_iter_real_flush_preferred_height (GtkCellAreaIter *iter); static void gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, gint height); +static void gtk_cell_area_iter_real_flush_allocation (GtkCellAreaIter *iter); +static void gtk_cell_area_iter_real_allocate_width (GtkCellAreaIter *iter, + gint width); +static void gtk_cell_area_iter_real_allocate_height (GtkCellAreaIter *iter, + gint height); /* CachedSize management */ typedef struct { @@ -64,6 +69,8 @@ struct _GtkCellAreaIterPrivate gint nat_width; gint min_height; gint nat_height; + gint alloc_width; + gint alloc_height; GHashTable *widths; GHashTable *heights; @@ -123,6 +130,18 @@ gtk_cell_area_iter_class_init (GtkCellAreaIterClass *class) class->flush_preferred_height_for_width = gtk_cell_area_iter_real_flush_preferred_height_for_width; class->flush_preferred_height = gtk_cell_area_iter_real_flush_preferred_height; class->flush_preferred_width_for_height = gtk_cell_area_iter_real_flush_preferred_width_for_height; + class->flush_allocation = gtk_cell_area_iter_real_flush_allocation; + + class->allocate_width = gtk_cell_area_iter_real_allocate_width; + class->allocate_height = gtk_cell_area_iter_real_allocate_height; + + class->sum_preferred_width = NULL; + class->sum_preferred_height_for_width = NULL; + class->sum_preferred_height = NULL; + class->sum_preferred_width_for_height = NULL; + + class->allocate_width = NULL; + class->allocate_height = NULL; cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED] = g_signal_new (I_("height-changed"), @@ -400,6 +419,34 @@ gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, } } +static void +gtk_cell_area_iter_real_flush_allocation (GtkCellAreaIter *iter) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + priv->alloc_width = 0; + priv->alloc_height = 0; +} + +static void +gtk_cell_area_iter_real_allocate_width (GtkCellAreaIter *iter, + gint width) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + priv->alloc_width = width; +} + +static void +gtk_cell_area_iter_real_allocate_height (GtkCellAreaIter *iter, + gint height) +{ + GtkCellAreaIterPrivate *priv = iter->priv; + + priv->alloc_height = height; +} + + /************************************************************* * API * *************************************************************/ @@ -415,6 +462,140 @@ gtk_cell_area_iter_get_area (GtkCellAreaIter *iter) return priv->cell_area; } +void +gtk_cell_area_iter_flush (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + gtk_cell_area_iter_flush_preferred_width (iter); + gtk_cell_area_iter_flush_preferred_height_for_width (iter, -1); + gtk_cell_area_iter_flush_preferred_height (iter); + gtk_cell_area_iter_flush_preferred_width_for_height (iter, -1); + gtk_cell_area_iter_flush_allocation (iter); +} + +void +gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width (iter); +} + +void +gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height_for_width (iter, for_width); +} + +void +gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height (iter); +} + +void +gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width_for_height (iter, for_height); +} + +void +gtk_cell_area_iter_flush_allocation (GtkCellAreaIter *iter) +{ + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_allocation (iter); +} + +void +gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_width) + class->sum_preferred_width (iter); +} + +void +gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_height_for_width) + class->sum_preferred_height_for_width (iter, for_width); +} + +void +gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_height) + class->sum_preferred_height (iter); +} + +void +gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + if (class->sum_preferred_width_for_height) + class->sum_preferred_width_for_height (iter, for_height); +} + +void +gtk_cell_area_iter_allocate_width (GtkCellAreaIter *iter, + gint width) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + class->allocate_width (iter, width); +} + +void +gtk_cell_area_iter_allocate_height (GtkCellAreaIter *iter, + gint height) +{ + GtkCellAreaIterClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + + class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + + class->allocate_height (iter, height); +} + void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, gint *minimum_width, @@ -518,106 +699,23 @@ gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, } void -gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter) +gtk_cell_area_iter_get_allocation (GtkCellAreaIter *iter, + gint *width, + gint *height) { - GtkCellAreaIterClass *class; + GtkCellAreaIterPrivate *priv; g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); + priv = iter->priv; - if (class->sum_preferred_width) - class->sum_preferred_width (iter); + if (width) + *width = priv->alloc_width; + + if (height) + *height = priv->alloc_height; } -void -gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_height_for_width) - class->sum_preferred_height_for_width (iter, for_width); -} - -void -gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_height) - class->sum_preferred_height (iter); -} - -void -gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_width_for_height) - class->sum_preferred_width_for_height (iter, for_height); -} - -void -gtk_cell_area_iter_flush (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - gtk_cell_area_iter_flush_preferred_width (iter); - gtk_cell_area_iter_flush_preferred_height_for_width (iter, -1); - gtk_cell_area_iter_flush_preferred_height (iter); - gtk_cell_area_iter_flush_preferred_width_for_height (iter, -1); -} - -void -gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width (iter); -} - -void -gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height_for_width (iter, for_width); -} - -void -gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height (iter); -} - -void -gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width_for_height (iter, for_height); -} - - - void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, gint minimum_width, diff --git a/gtk/gtkcellareaiter.h b/gtk/gtkcellareaiter.h index b2e0e55a93..67746bb17a 100644 --- a/gtk/gtkcellareaiter.h +++ b/gtk/gtkcellareaiter.h @@ -53,13 +53,14 @@ struct _GtkCellAreaIterClass { GObjectClass parent_class; - /* Subclasses can use this to flush their alignments */ + /* Subclasses can use this to flush their alignments/allocations */ void (* flush_preferred_width) (GtkCellAreaIter *iter); void (* flush_preferred_height_for_width) (GtkCellAreaIter *iter, gint width); void (* flush_preferred_height) (GtkCellAreaIter *iter); void (* flush_preferred_width_for_height) (GtkCellAreaIter *iter, gint height); + void (* flush_allocation) (GtkCellAreaIter *iter); /* These must be invoked after a series of requests before consulting * the iter values, implementors use this to push the overall @@ -71,6 +72,13 @@ struct _GtkCellAreaIterClass void (* sum_preferred_width_for_height) (GtkCellAreaIter *iter, gint height); + /* Store an allocation value for a GtkCellArea contextual to a range of + * treemodel rows */ + void (* allocate_width) (GtkCellAreaIter *iter, + gint width); + void (* allocate_height) (GtkCellAreaIter *iter, + gint height); + /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); @@ -82,6 +90,32 @@ GType gtk_cell_area_iter_get_type (void) G_GNUC_C GtkCellArea *gtk_cell_area_iter_get_area (GtkCellAreaIter *iter); +/* Apis for GtkCellArea clients to flush the cache */ +void gtk_cell_area_iter_flush (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width); +void gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter); +void gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height); +void gtk_cell_area_iter_flush_allocation (GtkCellAreaIter *iter); + +/* Apis for GtkCellArea clients to sum up the results of a series of requests, this + * call is required to reduce the processing while calculating the size of each row */ +void gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter); +void gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, + gint for_width); +void gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter); +void gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, + gint for_height); + +/* Apis to set an allocation size in one dimension or another, the subclass specific iter + * will store allocated positions/sizes for individual cells or groups of cells */ +void gtk_cell_area_iter_allocate_width (GtkCellAreaIter *iter, + gint width); +void gtk_cell_area_iter_allocate_height (GtkCellAreaIter *iter, + gint height); + /* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, gint *minimum_width, @@ -97,24 +131,9 @@ void gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIte gint for_height, gint *minimum_width, gint *natural_width); - -/* Apis for GtkCellArea clients to sum up the results of a series of requests, this - * call is required to reduce the processing while calculating the size of each row */ -void gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter); -void gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width); -void gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter); -void gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height); - -/* Apis for GtkCellArea clients to flush the cache */ -void gtk_cell_area_iter_flush (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width); -void gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height); +void gtk_cell_area_iter_get_allocation (GtkCellAreaIter *iter, + gint *width, + gint *height); /* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, From a3b4681f9f7c241ee2725783d64fc2937f44762a Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 30 Oct 2010 23:09:14 +0900 Subject: [PATCH 0090/1463] Fixing typo in scrolled window Seems with GtkScrollable interface we were setting the hadjustment as the vadjustment, thanks to Cosimo Cecchi who debugged this and finally found the typo. --- gtk/gtkscrolledwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 87a388b173..4b00ad2e43 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -582,7 +582,7 @@ gtk_scrolled_window_set_hadjustment (GtkScrolledWindow *scrolled_window, child = gtk_bin_get_child (bin); if (GTK_IS_SCROLLABLE (child)) - gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (child), hadjustment); + gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (child), hadjustment); g_object_notify (G_OBJECT (scrolled_window), "hadjustment"); } From 972e0779660b1d59ba44fabf1a79b3f438e4c1b6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 30 Oct 2010 23:10:43 +0900 Subject: [PATCH 0091/1463] Fixed hangs in TextView and ToolPalette Fixed the hangs by adding a ->inside_allocation flag and avoiding to queue resizes while inside the allocation loop. The extra queue'd resizes were causing the scrolled window size_allocate() to perform the guess again and again thus causing an infinite loop. --- gtk/gtkscrolledwindow.c | 274 ++++++++++++++++++++-------------------- 1 file changed, 140 insertions(+), 134 deletions(-) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 4b00ad2e43..1b794d4433 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -134,6 +134,7 @@ struct _GtkScrolledWindowPrivate guint vscrollbar_visible : 1; guint window_placement : 2; guint focus_out : 1; /* Flag used by ::move-focus-out implementation */ + guint inside_allocate : 1; gint min_content_width; gint min_content_height; @@ -1444,6 +1445,30 @@ gtk_scrolled_window_relative_allocation (GtkWidget *widget, } } +static void +gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow, + GtkAllocation *relative_allocation) +{ + GtkScrolledWindowPrivate *priv = swindow->priv; + GtkWidget *widget = GTK_WIDGET (swindow), *child; + GtkAllocation allocation; + GtkAllocation child_allocation; + + child = gtk_bin_get_child (GTK_BIN (widget)); + + gtk_widget_get_allocation (widget, &allocation); + + gtk_scrolled_window_relative_allocation (widget, relative_allocation); + child_allocation.x = relative_allocation->x + allocation.x; + child_allocation.y = relative_allocation->y + allocation.y; + child_allocation.width = relative_allocation->width; + child_allocation.height = relative_allocation->height; + + priv->inside_allocate = TRUE; + gtk_widget_size_allocate (child, &child_allocation); + priv->inside_allocate = FALSE; +} + static void gtk_scrolled_window_size_allocate (GtkWidget *widget, GtkAllocation *allocation) @@ -1495,138 +1520,128 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gboolean previous_vvis; guint count = 0; - /* In the case that both scrollbars are visible in the previous round, - * we dont do our guess-work before hand because it's possible some - * infinite recursion was detected (leave it up to the child scrollable - * widget in this case to drive the scrollbar visibility completely - * with the adjustment values). - */ - if (!priv->vscrollbar_visible || !priv->hscrollbar_visible) + /* Determine scrollbar visibility first via hfw apis */ + if (gtk_widget_get_request_mode (child) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) { - - /* Determine scrollbar visibility first via hfw apis */ - if (gtk_widget_get_request_mode (child) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) - { - if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_width (child, &child_scroll_width, NULL); - else - gtk_widget_get_preferred_width (child, NULL, &child_scroll_width); - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* First try without a vertical scrollbar if the content will fit the height - * given the extra width of the scrollbar */ - if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_height_for_width (child, - MAX (allocation->width, child_scroll_width), - &child_scroll_height, NULL); - else - gtk_widget_get_preferred_height_for_width (child, - MAX (allocation->width, child_scroll_width), - NULL, &child_scroll_height); - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* Does the content height fit the allocation height ? */ - priv->vscrollbar_visible = child_scroll_height > allocation->height; - - /* Does the content width fit the allocation with minus a possible scrollbar ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - - /* Now that we've guessed the hscrollbar, does the content height fit - * the possible new allocation height ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - - /* Now that we've guessed the vscrollbar, does the content width fit - * the possible new allocation width ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - } - else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - priv->vscrollbar_visible = child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - } - } - else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? 0 : sb_width + sb_spacing); - else - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - } - } - else /* GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT */ + if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_width (child, &child_scroll_width, NULL); + else + gtk_widget_get_preferred_width (child, NULL, &child_scroll_width); + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) { + /* First try without a vertical scrollbar if the content will fit the height + * given the extra width of the scrollbar */ if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_height (child, &child_scroll_height, NULL); + gtk_widget_get_preferred_height_for_width (child, + MAX (allocation->width, child_scroll_width), + &child_scroll_height, NULL); else - gtk_widget_get_preferred_height (child, NULL, &child_scroll_height); - + gtk_widget_get_preferred_height_for_width (child, + MAX (allocation->width, child_scroll_width), + NULL, &child_scroll_height); + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) { - /* First try without a horizontal scrollbar if the content will fit the width - * given the extra height of the scrollbar */ - if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_width_for_height (child, - MAX (allocation->height, child_scroll_height), - &child_scroll_width, NULL); - else - gtk_widget_get_preferred_width_for_height (child, - MAX (allocation->height, child_scroll_height), - NULL, &child_scroll_width); + /* Does the content height fit the allocation height ? */ + priv->vscrollbar_visible = child_scroll_height > allocation->height; - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* Does the content width fit the allocation width ? */ - priv->hscrollbar_visible = child_scroll_width > allocation->width; - - /* Does the content height fit the allocation with minus a possible scrollbar ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - - /* Now that we've guessed the vscrollbar, does the content width fit - * the possible new allocation width ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - - /* Now that we've guessed the hscrollbar, does the content height fit - * the possible new allocation height ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - } - else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - priv->hscrollbar_visible = child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - } + /* Does the content width fit the allocation with minus a possible scrollbar ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + + /* Now that we've guessed the hscrollbar, does the content height fit + * the possible new allocation height ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + + /* Now that we've guessed the vscrollbar, does the content width fit + * the possible new allocation width ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); } else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ { priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? 0 : sb_height + sb_spacing); - else - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + priv->vscrollbar_visible = child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); } } + else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? 0 : sb_width + sb_spacing); + else + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + } + } + else /* GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT */ + { + if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_height (child, &child_scroll_height, NULL); + else + gtk_widget_get_preferred_height (child, NULL, &child_scroll_height); + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* First try without a horizontal scrollbar if the content will fit the width + * given the extra height of the scrollbar */ + if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_width_for_height (child, + MAX (allocation->height, child_scroll_height), + &child_scroll_width, NULL); + else + gtk_widget_get_preferred_width_for_height (child, + MAX (allocation->height, child_scroll_height), + NULL, &child_scroll_width); + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* Does the content width fit the allocation width ? */ + priv->hscrollbar_visible = child_scroll_width > allocation->width; + + /* Does the content height fit the allocation with minus a possible scrollbar ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + + /* Now that we've guessed the vscrollbar, does the content width fit + * the possible new allocation width ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + + /* Now that we've guessed the hscrollbar, does the content height fit + * the possible new allocation height ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + } + else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + priv->hscrollbar_visible = child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + } + } + else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? 0 : sb_height + sb_spacing); + else + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + } } /* Now after guessing scrollbar visibility; fall back on the allocation loop which @@ -1635,17 +1650,9 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, */ do { - gtk_scrolled_window_relative_allocation (widget, &relative_allocation); - - child_allocation.x = relative_allocation.x + allocation->x; - child_allocation.y = relative_allocation.y + allocation->y; - child_allocation.width = relative_allocation.width; - child_allocation.height = relative_allocation.height; - previous_hvis = priv->hscrollbar_visible; previous_vvis = priv->vscrollbar_visible; - - gtk_widget_size_allocate (child, &child_allocation); + gtk_scrolled_window_allocate_child (scrolled_window, &relative_allocation); /* If, after the first iteration, the hscrollbar and the * vscrollbar flip visiblity, then we need both. @@ -1657,10 +1664,9 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, priv->hscrollbar_visible = TRUE; priv->vscrollbar_visible = TRUE; - /* a new resize is already queued at this point, - * so we will immediatedly get reinvoked - */ - return; + gtk_scrolled_window_allocate_child (scrolled_window, &relative_allocation); + + break; } count++; @@ -1864,7 +1870,7 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, visible = priv->hscrollbar_visible; priv->hscrollbar_visible = (adjustment->upper - adjustment->lower > adjustment->page_size); - if (priv->hscrollbar_visible != visible) + if (!priv->inside_allocate && priv->hscrollbar_visible != visible) gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); } } @@ -1878,7 +1884,7 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, visible = priv->vscrollbar_visible; priv->vscrollbar_visible = (adjustment->upper - adjustment->lower > adjustment->page_size); - if (priv->vscrollbar_visible != visible) + if (!priv->inside_allocate && priv->vscrollbar_visible != visible) gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); } } From b12e7a811592f82dbce6c36f5df54127d551a4a4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 30 Oct 2010 23:48:52 +0900 Subject: [PATCH 0092/1463] Adding GtkCellAreaIter arg to GtkCellArea->render/->event --- gtk/gtkcellarea.c | 13 ++++++--- gtk/gtkcellarea.h | 8 ++++-- gtk/gtkcellareabox.c | 68 ++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 81 insertions(+), 8 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 37d101a4c6..c8cbabf719 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -23,6 +23,7 @@ #include "gtkcelllayout.h" #include "gtkcellarea.h" +#include "gtkcellareaiter.h" /* GObjectClass */ static void gtk_cell_area_dispose (GObject *object); @@ -481,6 +482,7 @@ gtk_cell_area_forall (GtkCellArea *area, gint gtk_cell_area_event (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area) @@ -488,6 +490,7 @@ gtk_cell_area_event (GtkCellArea *area, GtkCellAreaClass *class; g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); + g_return_val_if_fail (GTK_IS_CELL_AREA_ITER (iter), 0); g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (cell_area != NULL, 0); @@ -495,7 +498,7 @@ gtk_cell_area_event (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->event) - return class->event (area, widget, event, cell_area); + return class->event (area, iter, widget, event, cell_area); g_warning ("GtkCellAreaClass::event not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -504,21 +507,23 @@ gtk_cell_area_event (GtkCellArea *area, void gtk_cell_area_render (GtkCellArea *area, - cairo_t *cr, + GtkCellAreaIter *iter, GtkWidget *widget, + cairo_t *cr, const GdkRectangle *cell_area) { GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (cr != NULL); + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (cr != NULL); g_return_if_fail (cell_area != NULL); class = GTK_CELL_AREA_GET_CLASS (area); if (class->render) - class->render (area, cr, widget, cell_area); + class->render (area, iter, widget, cr, cell_area); else g_warning ("GtkCellAreaClass::render not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 9d4b16d5b4..3c2c750544 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -80,12 +80,14 @@ struct _GtkCellAreaClass GtkCellCallback callback, gpointer callback_data); gint (* event) (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area); void (* render) (GtkCellArea *area, - cairo_t *cr, + GtkCellAreaIter *iter, GtkWidget *widget, + cairo_t *cr, const GdkRectangle *cell_area); /* Geometry */ @@ -137,12 +139,14 @@ void gtk_cell_area_forall (GtkCellArea GtkCellCallback callback, gpointer callback_data); gint gtk_cell_area_event (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area); void gtk_cell_area_render (GtkCellArea *area, - cairo_t *cr, + GtkCellAreaIter *iter, GtkWidget *widget, + cairo_t *cr, const GdkRectangle *cell_area); /* Geometry */ diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index becab5072d..273da69700 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -51,12 +51,14 @@ static void gtk_cell_area_box_forall (GtkCellArea GtkCellCallback callback, gpointer callback_data); static gint gtk_cell_area_box_event (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area); static void gtk_cell_area_box_render (GtkCellArea *area, - cairo_t *cr, + GtkCellAreaIter *iter, GtkWidget *widget, + cairo_t *cr, const GdkRectangle *cell_area); static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); @@ -418,8 +420,68 @@ gtk_cell_area_box_allocate (GtkCellAreaBox *box, gint size, gint *n_allocs) { + GtkCellAreaBoxPrivate *priv = box->priv; + CellGroup *group; + GList *group_list; + GtkRequestedSize *orientation_sizes; + gint n_groups, n_expand_groups, i; + gint avail_size = size; + gint extra_size, extra_extra; + gint position; + GtkCellAreaBoxAllocation *allocs; + n_expand_groups = count_expand_groups (box); + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + orientation_sizes = gtk_cell_area_box_iter_get_widths (iter, &n_groups); + else + orientation_sizes = gtk_cell_area_box_iter_get_heights (iter, &n_groups); + + /* First start by naturally allocating space among groups of cells */ + avail_size -= (n_groups - 1) * priv->spacing; + for (i = 0; i < n_groups; i++) + avail_size -= orientation_sizes[i].minimum_size; + + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); + + /* Calculate/distribute expand for groups */ + if (n_expand_groups > 0) + { + extra_size = avail_size / n_expand_groups; + extra_extra = avail_size % n_expand_groups; + } + else + extra_size = extra_extra = 0; + + allocs = g_new (GtkCellAreaBoxAllocation, n_groups); + + for (position = 0, group_list = priv->groups; group_list; group_list = group_list->next) + { + group = group_list->data; + + allocs[group->id].position = position; + allocs[group->id].size = orientation_sizes[group->id].minimum_size; + + if (group->expand) + { + allocs[group->id].size += extra_size; + if (extra_extra) + { + allocs[group->id].size++; + extra_extra--; + } + } + + position += allocs[group->id].size; + position += priv->spacing; + } + + g_free (orientation_sizes); + + if (n_allocs) + *n_allocs = n_groups; + + return allocs; } @@ -546,6 +608,7 @@ gtk_cell_area_box_forall (GtkCellArea *area, static gint gtk_cell_area_box_event (GtkCellArea *area, + GtkCellAreaIter *iter, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area) @@ -557,8 +620,9 @@ gtk_cell_area_box_event (GtkCellArea *area, static void gtk_cell_area_box_render (GtkCellArea *area, - cairo_t *cr, + GtkCellAreaIter *iter, GtkWidget *widget, + cairo_t *cr, const GdkRectangle *cell_area) { From e494f102cfcd3798797cfc2ecc346da433a000ef Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 13:06:10 +0900 Subject: [PATCH 0093/1463] Cleaned up GtkCellAreaIter implementation to use arrays to store grouped cell information. --- gtk/gtkcellareabox.c | 180 ++++++------ gtk/gtkcellareaboxiter.c | 602 ++++++++++++++++++++++++--------------- gtk/gtkcellareaboxiter.h | 26 +- 3 files changed, 462 insertions(+), 346 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 273da69700..a341dd7f08 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -115,24 +115,28 @@ typedef struct { guint expand : 1; } CellGroup; -static CellInfo *cell_info_new (GtkCellRenderer *renderer, - GtkPackType pack, - gboolean expand, - gboolean align); -static void cell_info_free (CellInfo *info); -static gint cell_info_find (CellInfo *info, - GtkCellRenderer *renderer); +static CellInfo *cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, + gboolean expand, + gboolean align); +static void cell_info_free (CellInfo *info); +static gint cell_info_find (CellInfo *info, + GtkCellRenderer *renderer); -static CellGroup *cell_group_new (guint id); -static void cell_group_free (CellGroup *group); +static CellGroup *cell_group_new (guint id); +static void cell_group_free (CellGroup *group); + +static GList *list_consecutive_cells (GtkCellAreaBox *box); +static GList *construct_cell_groups (GtkCellAreaBox *box); +static gint count_expand_groups (GtkCellAreaBox *box); +static gint count_expand_cells (CellGroup *group); +static void iter_weak_notify (GtkCellAreaBox *box, + GtkCellAreaBoxIter *dead_iter); +static void flush_iters (GtkCellAreaBox *box); +static void init_iter_groups (GtkCellAreaBox *box); +static void init_iter_group (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter); -static GList *list_consecutive_cells (GtkCellAreaBox *box); -static GList *construct_cell_groups (GtkCellAreaBox *box); -static gint count_expand_groups (GtkCellAreaBox *box); -static gint count_expand_cells (CellGroup *group); -static void iter_weak_notify (GtkCellAreaBox *box, - GtkCellAreaIter *dead_iter); -static void flush_iters (GtkCellAreaBox *box); struct _GtkCellAreaBoxPrivate { @@ -387,14 +391,53 @@ count_expand_cells (CellGroup *group) } static void -iter_weak_notify (GtkCellAreaBox *box, - GtkCellAreaIter *dead_iter) +iter_weak_notify (GtkCellAreaBox *box, + GtkCellAreaBoxIter *dead_iter) { GtkCellAreaBoxPrivate *priv = box->priv; priv->iters = g_slist_remove (priv->iters, dead_iter); } +static void +init_iter_group (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + gint n_groups, *expand_groups, i; + GList *l; + + n_groups = g_list_length (priv->groups); + expand_groups = g_new (gboolean, n_groups); + + for (i = 0, l = priv->groups; l; l = l->next, i++) + { + CellGroup *group = l->data; + + expand_groups[i] = group->expand; + } + + gtk_cell_area_box_init_groups (iter, n_groups, expand_groups); + g_free (expand_groups); +} + +static void +init_iter_groups (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + GSList *l; + + /* When the box's groups are reconstructed, iters need to + * be reinitialized. + */ + for (l = priv->iters; l; l = l->next) + { + GtkCellAreaBoxIter *iter = l->data; + + init_iter_group (box, iter); + } +} + static void flush_iters (GtkCellAreaBox *box) { @@ -412,79 +455,6 @@ flush_iters (GtkCellAreaBox *box) } } - -/* XXX This guy makes an allocation to be stored and retrieved from the iter */ -GtkCellAreaBoxAllocation * -gtk_cell_area_box_allocate (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - gint size, - gint *n_allocs) -{ - GtkCellAreaBoxPrivate *priv = box->priv; - CellGroup *group; - GList *group_list; - GtkRequestedSize *orientation_sizes; - gint n_groups, n_expand_groups, i; - gint avail_size = size; - gint extra_size, extra_extra; - gint position; - GtkCellAreaBoxAllocation *allocs; - - n_expand_groups = count_expand_groups (box); - - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - orientation_sizes = gtk_cell_area_box_iter_get_widths (iter, &n_groups); - else - orientation_sizes = gtk_cell_area_box_iter_get_heights (iter, &n_groups); - - /* First start by naturally allocating space among groups of cells */ - avail_size -= (n_groups - 1) * priv->spacing; - for (i = 0; i < n_groups; i++) - avail_size -= orientation_sizes[i].minimum_size; - - avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); - - /* Calculate/distribute expand for groups */ - if (n_expand_groups > 0) - { - extra_size = avail_size / n_expand_groups; - extra_extra = avail_size % n_expand_groups; - } - else - extra_size = extra_extra = 0; - - allocs = g_new (GtkCellAreaBoxAllocation, n_groups); - - for (position = 0, group_list = priv->groups; group_list; group_list = group_list->next) - { - group = group_list->data; - - allocs[group->id].position = position; - allocs[group->id].size = orientation_sizes[group->id].minimum_size; - - if (group->expand) - { - allocs[group->id].size += extra_size; - if (extra_extra) - { - allocs[group->id].size++; - extra_extra--; - } - } - - position += allocs[group->id].size; - position += priv->spacing; - } - - g_free (orientation_sizes); - - if (n_allocs) - *n_allocs = n_groups; - - return allocs; -} - - /************************************************************* * GObjectClass * *************************************************************/ @@ -519,6 +489,12 @@ gtk_cell_area_box_set_property (GObject *object, switch (prop_id) { + case PROP_ORIENTATION: + box->priv->orientation = g_value_get_enum (value); + + /* Notify that size needs to be requested again */ + flush_iters (box); + break; case PROP_SPACING: gtk_cell_area_box_set_spacing (box, g_value_get_int (value)); break; @@ -538,6 +514,9 @@ gtk_cell_area_box_get_property (GObject *object, switch (prop_id) { + case PROP_ORIENTATION: + g_value_set_enum (value, box->priv->orientation); + break; case PROP_SPACING: g_value_set_int (value, gtk_cell_area_box_get_spacing (box)); break; @@ -582,8 +561,8 @@ gtk_cell_area_box_remove (GtkCellArea *area, g_list_free (priv->groups); priv->groups = construct_cell_groups (box); - /* Notify that size needs to be requested again */ - flush_iters (box); + /* Reinitialize groups on iters */ + init_iter_groups (box); } else g_warning ("Trying to remove a cell renderer that is not present GtkCellAreaBox"); @@ -640,6 +619,9 @@ gtk_cell_area_box_create_iter (GtkCellArea *area) g_object_weak_ref (G_OBJECT (iter), (GWeakNotify)iter_weak_notify, box); + /* Tell the new group about our cell layout */ + init_iter_group (box, GTK_CELL_AREA_BOX_ITER (iter)); + return iter; } @@ -1141,8 +1123,8 @@ gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, g_list_free (priv->groups); priv->groups = construct_cell_groups (box); - /* Notify that size needs to be requested again */ - flush_iters (box); + /* Reinitialize groups on iters */ + init_iter_groups (box); } } @@ -1185,8 +1167,8 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, g_list_free (priv->groups); priv->groups = construct_cell_groups (box); - /* Notify that size needs to be requested again */ - flush_iters (box); + /* Reinitialize groups on iters */ + init_iter_groups (box); } void @@ -1219,8 +1201,8 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, g_list_free (priv->groups); priv->groups = construct_cell_groups (box); - /* Notify that size needs to be requested again */ - flush_iters (box); + /* Reinitialize groups on iters */ + init_iter_groups (box); } gint diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index 779315c178..d16aa968db 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -49,22 +49,25 @@ static void gtk_cell_area_box_iter_allocate_width (GtkCel static void gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, gint height); - +static void free_cache_array (GArray *array); /* CachedSize management */ typedef struct { - gint min_size; - gint nat_size; + gint min_size; + gint nat_size; } CachedSize; -static CachedSize *cached_size_new (gint min_size, gint nat_size); -static void cached_size_free (CachedSize *size); +typedef struct { + gint min_size; + gint nat_size; + gboolean expand; +} BaseSize; struct _GtkCellAreaBoxIterPrivate { /* Table of per renderer CachedSizes */ - GHashTable *base_widths; - GHashTable *base_heights; + GArray *base_widths; + GArray *base_heights; /* Table of per height/width hash tables of per renderer CachedSizes */ GHashTable *widths; @@ -79,6 +82,12 @@ struct _GtkCellAreaBoxIterPrivate G_DEFINE_TYPE (GtkCellAreaBoxIter, gtk_cell_area_box_iter, GTK_TYPE_CELL_AREA_ITER); +static void +free_cache_array (GArray *array) +{ + g_array_free (array, TRUE); +} + static void gtk_cell_area_box_iter_init (GtkCellAreaBoxIter *box_iter) { @@ -89,15 +98,13 @@ gtk_cell_area_box_iter_init (GtkCellAreaBoxIter *box_iter) GtkCellAreaBoxIterPrivate); priv = box_iter->priv; - priv->base_widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); - priv->base_heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); + priv->base_widths = g_array_new (FALSE, TRUE, sizeof (BaseSize)); + priv->base_heights = g_array_new (FALSE, TRUE, sizeof (BaseSize)); priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)g_hash_table_destroy); + NULL, (GDestroyNotify)free_cache_array); priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)g_hash_table_destroy); + NULL, (GDestroyNotify)free_cache_array); priv->alloc_width = 0; priv->alloc_height = 0; @@ -131,27 +138,6 @@ gtk_cell_area_box_iter_class_init (GtkCellAreaBoxIterClass *class) g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxIterPrivate)); } -/************************************************************* - * Cached Sizes * - *************************************************************/ -static CachedSize * -cached_size_new (gint min_size, - gint nat_size) -{ - CachedSize *size = g_slice_new (CachedSize); - - size->min_size = min_size; - size->nat_size = nat_size; - - return size; -} - -static void -cached_size_free (CachedSize *size) -{ - g_slice_free (CachedSize, size); -} - /************************************************************* * GObjectClass * *************************************************************/ @@ -161,8 +147,8 @@ gtk_cell_area_box_iter_finalize (GObject *object) GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (object); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - g_hash_table_destroy (priv->base_widths); - g_hash_table_destroy (priv->base_heights); + g_array_free (priv->base_widths, TRUE); + g_array_free (priv->base_heights, TRUE); g_hash_table_destroy (priv->widths); g_hash_table_destroy (priv->heights); @@ -179,8 +165,15 @@ gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - - g_hash_table_remove_all (priv->base_widths); + gint i; + + for (i = 0; i < priv->base_widths->len; i++) + { + BaseSize *size = &g_array_index (priv->base_widths, BaseSize, i); + + size->min_size = 0; + size->nat_size = 0; + } GTK_CELL_AREA_ITER_GET_CLASS (gtk_cell_area_box_iter_parent_class)->flush_preferred_width (iter); @@ -208,8 +201,15 @@ gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - - g_hash_table_remove_all (priv->base_heights); + gint i; + + for (i = 0; i < priv->base_heights->len; i++) + { + BaseSize *size = &g_array_index (priv->base_heights, BaseSize, i); + + size->min_size = 0; + size->nat_size = 0; + } GTK_CELL_AREA_ITER_GET_CLASS (gtk_cell_area_box_iter_parent_class)->flush_preferred_height (iter); @@ -243,49 +243,43 @@ gtk_cell_area_box_iter_flush_allocation (GtkCellAreaIter *iter) priv->n_orientation_allocs = 0; } -typedef struct { - gint min_size; - gint nat_size; - gint spacing; -} AccumData; - -static void -sum_base_size (gpointer group_id, - CachedSize *size, - AccumData *accum) -{ - if (accum->min_size > 0) - { - accum->min_size += accum->spacing; - accum->nat_size += accum->spacing; - } - - accum->min_size += size->min_size; - accum->nat_size += size->nat_size; -} - -static void -sum_for_size (gpointer group_id, - CachedSize *size, - AccumData *accum) -{ - accum->min_size = MAX (accum->min_size, size->min_size); - accum->nat_size = MAX (accum->nat_size, size->nat_size); -} - static void gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter) { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; GtkCellArea *area; - AccumData accum = { 0, }; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; - area = gtk_cell_area_iter_get_area (iter); - accum.spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + area = gtk_cell_area_iter_get_area (iter); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - g_hash_table_foreach (priv->base_widths, (GHFunc)sum_base_size, &accum); - gtk_cell_area_iter_push_preferred_width (iter, accum.min_size, accum.nat_size); + for (i = 0; i < priv->base_widths->len; i++) + { + BaseSize *size = &g_array_index (priv->base_widths, BaseSize, i); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (min_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + gtk_cell_area_iter_push_preferred_width (iter, min_size, nat_size); } static void @@ -294,15 +288,43 @@ gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - GHashTable *group_table; - AccumData accum = { 0, }; + GArray *group_array; + GtkCellArea *area; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; - group_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (width)); + group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (width)); - if (group_table) + if (group_array) { - g_hash_table_foreach (priv->base_widths, (GHFunc)sum_for_size, &accum); - gtk_cell_area_iter_push_preferred_height_for_width (iter, width, accum.min_size, accum.nat_size); + area = gtk_cell_area_iter_get_area (iter); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + + for (i = 0; i < group_array->len; i++) + { + CachedSize *size = &g_array_index (group_array, CachedSize, i); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + if (min_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + gtk_cell_area_iter_push_preferred_height_for_width (iter, width, min_size, nat_size); } } @@ -312,13 +334,37 @@ gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter) GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; GtkCellArea *area; - AccumData accum = { 0, }; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; - area = gtk_cell_area_iter_get_area (iter); - accum.spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + area = gtk_cell_area_iter_get_area (iter); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - g_hash_table_foreach (priv->base_heights, (GHFunc)sum_base_size, &accum); - gtk_cell_area_iter_push_preferred_width (iter, accum.min_size, accum.nat_size); + for (i = 0; i < priv->base_heights->len; i++) + { + BaseSize *size = &g_array_index (priv->base_heights, BaseSize, i); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + if (min_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + gtk_cell_area_iter_push_preferred_height (iter, min_size, nat_size); } static void @@ -327,18 +373,118 @@ gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, { GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - GHashTable *group_table; - AccumData accum = { 0, }; + GArray *group_array; + GtkCellArea *area; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; - group_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (height)); + group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (height)); - if (group_table) + if (group_array) { - g_hash_table_foreach (priv->base_widths, (GHFunc)sum_for_size, &accum); - gtk_cell_area_iter_push_preferred_width_for_height (iter, height, accum.min_size, accum.nat_size); + area = gtk_cell_area_iter_get_area (iter); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + + for (i = 0; i < group_array->len; i++) + { + CachedSize *size = &g_array_index (group_array, CachedSize, i); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (min_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + gtk_cell_area_iter_push_preferred_width_for_height (iter, height, min_size, nat_size); } } +static GtkCellAreaBoxAllocation * +allocate_for_orientation (GtkCellAreaBoxIter *iter, + GtkOrientation orientation, + gint spacing, + gint size) +{ + GtkCellAreaBoxIterPrivate *priv = iter->priv; + GtkRequestedSize *orientation_sizes; + GtkCellAreaBoxAllocation *allocs; + gint n_expand_groups = 0; + gint i, n_groups, position; + gint extra_size, extra_extra; + gint avail_size = size; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + orientation_sizes = gtk_cell_area_box_iter_get_widths (iter, &n_groups); + else + orientation_sizes = gtk_cell_area_box_iter_get_heights (iter, &n_groups); + + /* Count groups that expand */ + for (i = 0; i < n_groups; i++) + { + BaseSize *size = &g_array_index (priv->base_widths, BaseSize, i); + + if (size->expand) + n_expand_groups++; + } + + /* First start by naturally allocating space among groups */ + avail_size -= (n_groups - 1) * spacing; + for (i = 0; i < n_groups; i++) + avail_size -= orientation_sizes[i].minimum_size; + + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); + + /* Calculate/distribute expand for groups */ + if (n_expand_groups > 0) + { + extra_size = avail_size / n_expand_groups; + extra_extra = avail_size % n_expand_groups; + } + else + extra_size = extra_extra = 0; + + allocs = g_new (GtkCellAreaBoxAllocation, n_groups); + + for (position = 0, i = 0; i < n_groups; i++) + { + BaseSize *base_size = &g_array_index (priv->base_widths, BaseSize, i); + + allocs[i].position = position; + allocs[i].size = orientation_sizes[i].minimum_size; + + if (base_size->expand) + { + allocs[i].size += extra_size; + if (extra_extra) + { + allocs[i].size++; + extra_extra--; + } + } + + position += allocs[i].size; + position += spacing; + } + + g_free (orientation_sizes); + + return allocs; +} + static void gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, gint width) @@ -353,11 +499,10 @@ gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, if (orientation == GTK_ORIENTATION_HORIZONTAL) { - g_free (priv->orientation_allocs); + gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - priv->orientation_allocs = - gtk_cell_area_box_allocate (GTK_CELL_AREA_BOX (area), box_iter, width, - &priv->n_orientation_allocs); + g_free (priv->orientation_allocs); + priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, width); } GTK_CELL_AREA_ITER_GET_CLASS (iter)->allocate_width (iter, width); @@ -377,11 +522,10 @@ gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, if (orientation == GTK_ORIENTATION_VERTICAL) { - g_free (priv->orientation_allocs); + gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - priv->orientation_allocs = - gtk_cell_area_box_allocate (GTK_CELL_AREA_BOX (area), box_iter, height, - &priv->n_orientation_allocs); + g_free (priv->orientation_allocs); + priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, height); } GTK_CELL_AREA_ITER_GET_CLASS (iter)->allocate_height (iter, height); @@ -390,188 +534,179 @@ gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, /************************************************************* * API * *************************************************************/ - void -gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, - gint group_id, - gint minimum_width, - gint natural_width) +gtk_cell_area_box_init_groups (GtkCellAreaBoxIter *box_iter, + guint n_groups, + gboolean *expand_groups) { GtkCellAreaBoxIterPrivate *priv; - CachedSize *size; + gint i; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (n_groups > 0 || expand_groups != NULL); + + /* When the group dimensions change, all info must be flushed + * Note this already clears the min/nat values on the BaseSizes + */ + gtk_cell_area_iter_flush (GTK_CELL_AREA_ITER (box_iter)); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_widths, GINT_TO_POINTER (group_id)); + g_array_set_size (priv->base_widths, n_groups); + g_array_set_size (priv->base_heights, n_groups); - if (!size) + /* Now set the expand info */ + for (i = 0; i < n_groups; i++) { - size = cached_size_new (minimum_width, natural_width); - g_hash_table_insert (priv->base_widths, GINT_TO_POINTER (group_id), size); - } - else - { - size->min_size = MAX (size->min_size, minimum_width); - size->nat_size = MAX (size->nat_size, natural_width); + BaseSize *base_width = &g_array_index (priv->base_widths, BaseSize, i); + BaseSize *base_height = &g_array_index (priv->base_heights, BaseSize, i); + + base_width->expand = expand_groups[i]; + base_height->expand = expand_groups[i]; } } +void +gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, + gint group_idx, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaBoxIterPrivate *priv; + BaseSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + + priv = box_iter->priv; + g_return_if_fail (group_idx < priv->base_widths->len); + + size = &g_array_index (priv->base_widths, BaseSize, group_idx); + size->min_size = MAX (size->min_size, minimum_width); + size->nat_size = MAX (size->nat_size, natural_width); +} + void gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_width, gint minimum_height, gint natural_height) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *group_table; + GArray *group_array; CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - group_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + g_return_if_fail (group_idx < priv->base_widths->len); - if (!group_table) + group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + if (!group_array) { - group_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); + group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + g_array_set_size (group_array, priv->base_heights->len); - g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), group_table); + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), group_array); } - size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); - - if (!size) - { - size = cached_size_new (minimum_height, natural_height); - g_hash_table_insert (group_table, GINT_TO_POINTER (group_id), size); - } - else - { - size->min_size = MAX (size->min_size, minimum_height); - size->nat_size = MAX (size->nat_size, natural_height); - } + size = &g_array_index (group_array, CachedSize, group_idx); + size->min_size = MAX (size->min_size, minimum_height); + size->nat_size = MAX (size->nat_size, natural_height); } void gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint minimum_height, gint natural_height) { GtkCellAreaBoxIterPrivate *priv; - CachedSize *size; + BaseSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_heights, GINT_TO_POINTER (group_id)); + g_return_if_fail (group_idx < priv->base_heights->len); - if (!size) - { - size = cached_size_new (minimum_height, natural_height); - g_hash_table_insert (priv->base_widths, GINT_TO_POINTER (group_id), size); - } - else - { - size->min_size = MAX (size->min_size, minimum_height); - size->nat_size = MAX (size->nat_size, natural_height); - } + size = &g_array_index (priv->base_heights, BaseSize, group_idx); + size->min_size = MAX (size->min_size, minimum_height); + size->nat_size = MAX (size->nat_size, natural_height); } void gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_height, gint minimum_width, gint natural_width) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *group_table; + GArray *group_array; CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - group_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + g_return_if_fail (group_idx < priv->base_widths->len); - if (!group_table) + group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + if (!group_array) { - group_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); + group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + g_array_set_size (group_array, priv->base_heights->len); - g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), group_table); + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), group_array); } - size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); - - if (!size) - { - size = cached_size_new (minimum_width, natural_width); - g_hash_table_insert (group_table, GINT_TO_POINTER (group_id), size); - } - else - { - size->min_size = MAX (size->min_size, minimum_width); - size->nat_size = MAX (size->nat_size, natural_width); - } + size = &g_array_index (group_array, CachedSize, group_idx); + size->min_size = MAX (size->min_size, minimum_width); + size->nat_size = MAX (size->nat_size, natural_width); } void gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint *minimum_width, gint *natural_width) { GtkCellAreaBoxIterPrivate *priv; - CachedSize *size; + BaseSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_widths, GINT_TO_POINTER (group_id)); + g_return_if_fail (group_idx < priv->base_widths->len); - if (size) - { - if (minimum_width) - *minimum_width = size->min_size; + size = &g_array_index (priv->base_widths, BaseSize, group_idx); - if (natural_width) - *natural_width = size->nat_size; - } - else - { - if (minimum_width) - *minimum_width = -1; - - if (natural_width) - *natural_width = -1; - } + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; } void gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_width, gint *minimum_height, gint *natural_height) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *group_table; - CachedSize *size = NULL; + GArray *group_array; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - group_table = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + g_return_if_fail (group_idx < priv->base_widths->len); - if (group_table) - size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); + group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - if (size) + if (group_array) { + CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); + if (minimum_height) *minimum_height = size->min_size; @@ -590,57 +725,48 @@ gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, void gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint *minimum_height, gint *natural_height) { GtkCellAreaBoxIterPrivate *priv; - CachedSize *size; + BaseSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - size = g_hash_table_lookup (priv->base_heights, GINT_TO_POINTER (group_id)); + g_return_if_fail (group_idx < priv->base_heights->len); - if (size) - { - if (minimum_height) - *minimum_height = size->min_size; + size = &g_array_index (priv->base_heights, BaseSize, group_idx); - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; - - if (natural_height) - *natural_height = -1; - } + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; } void gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_height, gint *minimum_width, gint *natural_width) { GtkCellAreaBoxIterPrivate *priv; - GHashTable *group_table; - CachedSize *size = NULL; + GArray *group_array; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); priv = box_iter->priv; - group_table = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + g_return_if_fail (group_idx < priv->base_widths->len); - if (group_table) - size = g_hash_table_lookup (group_table, GINT_TO_POINTER (group_id)); + group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - if (size) + if (group_array) { + CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); + if (minimum_width) *minimum_width = size->min_size; @@ -657,33 +783,31 @@ gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, } } -static void -fill_requested_sizes (gpointer group_id_ptr, - CachedSize *cached_size, - GtkRequestedSize *requested) -{ - gint group_id = GPOINTER_TO_INT (group_id_ptr); - - requested[group_id].data = group_id_ptr; - requested[group_id].minimum_size = cached_size->min_size; - requested[group_id].natural_size = cached_size->nat_size; -} - GtkRequestedSize * gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter *box_iter, gint *n_widths) { GtkCellAreaBoxIterPrivate *priv; GtkRequestedSize *widths; + BaseSize *size; + gint i; g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); priv = box_iter->priv; - *n_widths = g_hash_table_size (priv->widths); - widths = g_new (GtkRequestedSize, *n_widths); + widths = g_new (GtkRequestedSize, priv->base_widths->len); - g_hash_table_foreach (priv->widths, (GHFunc)fill_requested_sizes, widths); + for (i = 0; i < priv->base_widths->len; i++) + { + size = &g_array_index (priv->base_widths, BaseSize, i); + widths[i].data = GINT_TO_POINTER (i); + widths[i].minimum_size = size->min_size; + widths[i].natural_size = size->nat_size; + } + + if (n_widths) + *n_widths = priv->base_widths->len; return widths; } @@ -694,15 +818,25 @@ gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, { GtkCellAreaBoxIterPrivate *priv; GtkRequestedSize *heights; + BaseSize *size; + gint i; g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); priv = box_iter->priv; - *n_heights = g_hash_table_size (priv->heights); - heights = g_new (GtkRequestedSize, *n_heights); + heights = g_new (GtkRequestedSize, priv->base_heights->len); - g_hash_table_foreach (priv->heights, (GHFunc)fill_requested_sizes, heights); + for (i = 0; i < priv->base_heights->len; i++) + { + size = &g_array_index (priv->base_heights, BaseSize, i); + heights[i].data = GINT_TO_POINTER (i); + heights[i].minimum_size = size->min_size; + heights[i].natural_size = size->nat_size; + } + + if (n_heights) + *n_heights = priv->base_heights->len; return heights; } diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h index 631a67cd90..73b4166ec3 100644 --- a/gtk/gtkcellareaboxiter.h +++ b/gtk/gtkcellareaboxiter.h @@ -62,48 +62,53 @@ struct _GtkCellAreaBoxIterClass GType gtk_cell_area_box_iter_get_type (void) G_GNUC_CONST; +/* Initialize group array dimensions */ +void gtk_cell_area_box_init_groups (GtkCellAreaBoxIter *box_iter, + guint n_groups, + gboolean *expand_groups); + /* Update cell-group sizes */ void gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint minimum_width, gint natural_width); void gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_width, gint minimum_height, gint natural_height); void gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint minimum_height, gint natural_height); void gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_height, gint minimum_width, gint natural_width); /* Fetch cell-group sizes */ void gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint *minimum_width, gint *natural_width); void gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_width, gint *minimum_height, gint *natural_height); void gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint *minimum_height, gint *natural_height); void gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_id, + gint group_idx, gint for_height, gint *minimum_width, gint *natural_width); @@ -119,11 +124,6 @@ typedef struct { gint size; } GtkCellAreaBoxAllocation; -GtkCellAreaBoxAllocation *gtk_cell_area_box_allocate (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - gint size, - gint *n_allocs); - G_CONST_RETURN GtkCellAreaBoxAllocation * gtk_cell_area_box_iter_get_orientation_allocs (GtkCellAreaBoxIter *iter, gint *n_allocs); From 6da74b6e1e32cc976da9ef07cea59f818a0e3f5f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 15:22:39 +0900 Subject: [PATCH 0094/1463] Finished up allocation of cells. Added get_allocated_cells() which returns a practical list of cells with allocation for render/event time, this abstracts whether the cells are individually aligned or aligned into groups, when there are groups of cells before an alignment, those groups get allocated on the fly for render time. --- gtk/gtkcellareabox.c | 237 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 187 insertions(+), 50 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a341dd7f08..537edcce66 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -111,31 +111,49 @@ typedef struct { typedef struct { GList *cells; - guint id : 16; - guint expand : 1; + guint id : 8; + guint n_cells : 8; + guint expand_cells : 8; } CellGroup; -static CellInfo *cell_info_new (GtkCellRenderer *renderer, - GtkPackType pack, - gboolean expand, - gboolean align); -static void cell_info_free (CellInfo *info); -static gint cell_info_find (CellInfo *info, - GtkCellRenderer *renderer); +typedef struct { + GtkCellRenderer *renderer; -static CellGroup *cell_group_new (guint id); -static void cell_group_free (CellGroup *group); + gint position; + gint size; +} AllocatedCell; -static GList *list_consecutive_cells (GtkCellAreaBox *box); -static GList *construct_cell_groups (GtkCellAreaBox *box); -static gint count_expand_groups (GtkCellAreaBox *box); -static gint count_expand_cells (CellGroup *group); -static void iter_weak_notify (GtkCellAreaBox *box, - GtkCellAreaBoxIter *dead_iter); -static void flush_iters (GtkCellAreaBox *box); -static void init_iter_groups (GtkCellAreaBox *box); -static void init_iter_group (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter); +static CellInfo *cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, + gboolean expand, + gboolean align); +static void cell_info_free (CellInfo *info); +static gint cell_info_find (CellInfo *info, + GtkCellRenderer *renderer); +static CellGroup *cell_group_new (guint id); +static void cell_group_free (CellGroup *group); +static AllocatedCell *allocated_cell_new (GtkCellRenderer *renderer, + gint position, + gint size); +static void allocated_cell_free (AllocatedCell *cell); +static GList *list_consecutive_cells (GtkCellAreaBox *box); +static GList *construct_cell_groups (GtkCellAreaBox *box); +static gint count_expand_groups (GtkCellAreaBox *box); +static void iter_weak_notify (GtkCellAreaBox *box, + GtkCellAreaBoxIter *dead_iter); +static void flush_iters (GtkCellAreaBox *box); +static void init_iter_groups (GtkCellAreaBox *box); +static void init_iter_group (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter); +static void get_renderer_size (GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); +static GSList *get_allocated_cells (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + GtkWidget *widget); struct _GtkCellAreaBoxPrivate @@ -150,6 +168,8 @@ struct _GtkCellAreaBoxPrivate gint spacing; }; + + enum { PROP_0, PROP_ORIENTATION, @@ -275,6 +295,26 @@ cell_group_free (CellGroup *group) g_slice_free (CellGroup, group); } +static AllocatedCell * +allocated_cell_new (GtkCellRenderer *renderer, + gint position, + gint size) +{ + AllocatedCell *cell = g_slice_new (AllocatedCell); + + cell->renderer = renderer; + cell->position = position; + cell->size = size; + + return cell; +} + +static void +allocated_cell_free (AllocatedCell *cell) +{ + g_slice_free (AllocatedCell, cell); +} + static GList * list_consecutive_cells (GtkCellAreaBox *box) { @@ -335,10 +375,11 @@ construct_cell_groups (GtkCellAreaBox *box) } group->cells = g_list_prepend (group->cells, info); + group->n_cells++; /* A group expands if it contains any expand cells */ if (info->expand) - group->expand = TRUE; + group->expand_cells ++; } g_list_free (cells); @@ -363,33 +404,13 @@ count_expand_groups (GtkCellAreaBox *box) { CellGroup *group = l->data; - if (group->expand) + if (group->expand_cells > 0) expand_groups++; } return expand_groups; } -static gint -count_expand_cells (CellGroup *group) -{ - GList *l; - gint expand_cells = 0; - - if (!group->expand) - return 0; - - for (l = group->cells; l; l = l->next) - { - CellInfo *info = l->data; - - if (info->expand) - expand_cells++; - } - - return expand_cells; -} - static void iter_weak_notify (GtkCellAreaBox *box, GtkCellAreaBoxIter *dead_iter) @@ -414,7 +435,7 @@ init_iter_group (GtkCellAreaBox *box, { CellGroup *group = l->data; - expand_groups[i] = group->expand; + expand_groups[i] = (group->expand_cells > 0); } gtk_cell_area_box_init_groups (iter, n_groups, expand_groups); @@ -455,6 +476,107 @@ flush_iters (GtkCellAreaBox *box) } } +/* Returns an allocation for each cell in the orientation of the box, + * used in ->render()/->event() implementations to get a straight-forward + * list of allocated cells to operate on. + */ +static GSList * +get_allocated_cells (GtkCellAreaBox *box, + GtkCellAreaBoxIter *iter, + GtkWidget *widget) +{ + const GtkCellAreaBoxAllocation *group_allocs; + GtkCellAreaBoxPrivate *priv = box->priv; + GList *group_list, *cell_list; + GSList *allocated_cells = NULL; + gint i, j, n_allocs; + + group_allocs = gtk_cell_area_box_iter_get_orientation_allocs (iter, &n_allocs); + if (!group_allocs) + { + g_warning ("Trying to operate on an unallocated GtkCellAreaIter, " + "GtkCellAreaBox requires that the iter be allocated at least " + "in the orientation of the box"); + return NULL; + } + + for (i = 0, group_list = priv->groups; group_list; i++, group_list = group_list->next) + { + CellGroup *group = group_list->data; + + /* Exception for single cell groups */ + if (group->n_cells == 1) + { + CellInfo *info = group->cells->data; + AllocatedCell *cell = + allocated_cell_new (info->renderer, group_allocs[i].position, group_allocs[i].size); + + allocated_cells = g_slist_prepend (allocated_cells, cell); + } + else + { + GtkRequestedSize *sizes = g_new (GtkRequestedSize, group->n_cells); + gint avail_size = group_allocs[i].size; + gint position = group_allocs[i].position; + gint extra_size, extra_extra; + + for (j = 0, cell_list = group->cells; cell_list; j++, cell_list = cell_list->next) + { + CellInfo *info = cell_list->data; + + get_renderer_size (info->renderer, + priv->orientation, + widget, -1, + &sizes[j].minimum_size, + &sizes[j].natural_size); + + avail_size -= sizes[j].minimum_size; + } + + /* Distribute cells naturally within the group */ + avail_size -= (group->n_cells - 1) * priv->spacing; + avail_size = gtk_distribute_natural_allocation (avail_size, group->n_cells, sizes); + + /* Calculate/distribute expand for cells */ + if (group->expand_cells > 0) + { + extra_size = avail_size / group->expand_cells; + extra_extra = avail_size % group->expand_cells; + } + else + extra_size = extra_extra = 0; + + /* Create the allocated cells */ + for (j = 0, cell_list = group->cells; cell_list; j++, cell_list = cell_list->next) + { + CellInfo *info = cell_list->data; + AllocatedCell *cell; + + if (info->expand) + { + sizes[j].minimum_size += extra_size; + if (extra_extra) + { + sizes[j].minimum_size++; + extra_extra--; + } + } + + cell = allocated_cell_new (info->renderer, position, sizes[j].minimum_size); + + allocated_cells = g_slist_prepend (allocated_cells, cell); + + position += sizes[j].minimum_size; + position += priv->spacing; + } + + g_free (sizes); + } + } + + return g_slist_reverse (allocated_cells); +} + /************************************************************* * GObjectClass * *************************************************************/ @@ -604,7 +726,23 @@ gtk_cell_area_box_render (GtkCellArea *area, cairo_t *cr, const GdkRectangle *cell_area) { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GSList *allocated_cells, *l; + /* Get a list of cells with allocation sizes decided regardless + * of alignments and pack order etc. */ + allocated_cells = get_allocated_cells (box, box_iter, widget); + + for (l = allocated_cells; l; l = l->next) + { + AllocatedCell *cell = l->data; + + + } + + g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); + g_slist_free (allocated_cells); } static GtkCellAreaIter * @@ -783,7 +921,7 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, GtkCellAreaBoxPrivate *priv = box->priv; /* Exception for single cell groups */ - if (!group->cells->next) + if (group->n_cells == 1) { CellInfo *info = group->cells->data; @@ -796,7 +934,6 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, GtkRequestedSize *orientation_sizes; CellInfo *info; gint n_sizes, i; - gint n_expand_cells = count_expand_cells (group); gint avail_size = for_size; gint extra_size, extra_extra; gint min_size = 0, nat_size = 0; @@ -811,10 +948,10 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, avail_size = gtk_distribute_natural_allocation (avail_size, n_sizes, orientation_sizes); /* Calculate/distribute expand for cells */ - if (n_expand_cells > 0) + if (group->expand_cells > 0) { - extra_size = avail_size / n_expand_cells; - extra_extra = avail_size % n_expand_cells; + extra_size = avail_size / group->expand_cells; + extra_extra = avail_size % group->expand_cells; } else extra_size = extra_extra = 0; @@ -902,7 +1039,7 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, group = group_list->data; - if (group->expand) + if (group->expand_cells > 0) { orientation_sizes[group->id].minimum_size += extra_size; if (extra_extra) From d781c226dae1b370220e41d6f457fa91c6678109 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 17:13:15 +0900 Subject: [PATCH 0095/1463] Implemented "cell properties" on the GtkCellArea Added cell "packing" properties for generic configuration of child cells inside an area. --- gtk/gtkcellarea.c | 369 +++++++++++++++++++++++++++++++++++++++++++++- gtk/gtkcellarea.h | 51 ++++++- 2 files changed, 417 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index c8cbabf719..dfee8ccf7f 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -21,10 +21,19 @@ * Boston, MA 02111-1307, USA. */ +#include "config.h" + +#include +#include +#include + #include "gtkcelllayout.h" #include "gtkcellarea.h" #include "gtkcellareaiter.h" +#include + + /* GObjectClass */ static void gtk_cell_area_dispose (GObject *object); static void gtk_cell_area_finalize (GObject *object); @@ -104,6 +113,14 @@ struct _GtkCellAreaPrivate GHashTable *cell_info; }; +/* Keep the paramspec pool internal, no need to deliver notifications + * on cells. at least no percieved need for now */ +static GParamSpecPool *cell_property_pool = NULL; + +#define PARAM_SPEC_PARAM_ID(pspec) ((pspec)->param_id) +#define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id)) + + G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_cell_area_cell_layout_init)); @@ -148,6 +165,10 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; + /* Cell properties */ + if (!cell_property_pool) + cell_property_pool = g_param_spec_pool_new (FALSE); + g_type_class_add_private (object_class, sizeof (GtkCellAreaPrivate)); } @@ -419,7 +440,6 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) /************************************************************* * API * *************************************************************/ - void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer) @@ -644,6 +664,7 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, class->get_preferred_width_for_height (area, iter, widget, height, minimum_width, natural_width); } +/* Attributes */ void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, @@ -776,3 +797,349 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, * apply the data from the treemodel */ g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); } + +/* Cell Properties */ +void +gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, + guint property_id, + GParamSpec *pspec) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CLASS (aclass)); + g_return_if_fail (G_IS_PARAM_SPEC (pspec)); + if (pspec->flags & G_PARAM_WRITABLE) + g_return_if_fail (aclass->set_cell_property != NULL); + if (pspec->flags & G_PARAM_READABLE) + g_return_if_fail (aclass->get_cell_property != NULL); + g_return_if_fail (property_id > 0); + g_return_if_fail (PARAM_SPEC_PARAM_ID (pspec) == 0); /* paranoid */ + g_return_if_fail ((pspec->flags & (G_PARAM_CONSTRUCT | G_PARAM_CONSTRUCT_ONLY)) == 0); + + if (g_param_spec_pool_lookup (cell_property_pool, pspec->name, G_OBJECT_CLASS_TYPE (aclass), TRUE)) + { + g_warning (G_STRLOC ": class `%s' already contains a cell property named `%s'", + G_OBJECT_CLASS_NAME (aclass), pspec->name); + return; + } + g_param_spec_ref (pspec); + g_param_spec_sink (pspec); + PARAM_SPEC_SET_PARAM_ID (pspec, property_id); + g_param_spec_pool_insert (cell_property_pool, pspec, G_OBJECT_CLASS_TYPE (aclass)); +} + +GParamSpec* +gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, + const gchar *property_name) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA_CLASS (aclass), NULL); + g_return_val_if_fail (property_name != NULL, NULL); + + return g_param_spec_pool_lookup (cell_property_pool, + property_name, + G_OBJECT_CLASS_TYPE (aclass), + TRUE); +} + +GParamSpec** +gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, + guint *n_properties) +{ + GParamSpec **pspecs; + guint n; + + g_return_val_if_fail (GTK_IS_CELL_AREA_CLASS (aclass), NULL); + + pspecs = g_param_spec_pool_list (cell_property_pool, + G_OBJECT_CLASS_TYPE (aclass), + &n); + if (n_properties) + *n_properties = n; + + return pspecs; +} + +void +gtk_cell_area_add_with_properties (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) +{ + GtkCellAreaClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + class = GTK_CELL_AREA_GET_CLASS (area); + + if (class->add) + { + va_list var_args; + + class->add (area, renderer); + + va_start (var_args, first_prop_name); + gtk_cell_area_cell_set_valist (area, renderer, first_prop_name, var_args); + va_end (var_args); + } + else + g_warning ("GtkCellAreaClass::add not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_cell_set (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) +{ + va_list var_args; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + va_start (var_args, first_prop_name); + gtk_cell_area_cell_set_valist (area, renderer, first_prop_name, var_args); + va_end (var_args); +} + +void +gtk_cell_area_cell_get (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) +{ + va_list var_args; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + va_start (var_args, first_prop_name); + gtk_cell_area_cell_get_valist (area, renderer, first_prop_name, var_args); + va_end (var_args); +} + +static inline void +area_get_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + GParamSpec *pspec, + GValue *value) +{ + GtkCellAreaClass *class = g_type_class_peek (pspec->owner_type); + + class->get_cell_property (area, renderer, PARAM_SPEC_PARAM_ID (pspec), value, pspec); +} + +static inline void +area_set_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + GParamSpec *pspec, + const GValue *value) +{ + GValue tmp_value = { 0, }; + GtkCellAreaClass *class = g_type_class_peek (pspec->owner_type); + + /* provide a copy to work from, convert (if necessary) and validate */ + g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + if (!g_value_transform (value, &tmp_value)) + g_warning ("unable to set cell property `%s' of type `%s' from value of type `%s'", + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), + G_VALUE_TYPE_NAME (value)); + else if (g_param_value_validate (pspec, &tmp_value) && !(pspec->flags & G_PARAM_LAX_VALIDATION)) + { + gchar *contents = g_strdup_value_contents (value); + + g_warning ("value \"%s\" of type `%s' is invalid for property `%s' of type `%s'", + contents, + G_VALUE_TYPE_NAME (value), + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec))); + g_free (contents); + } + else + { + class->set_cell_property (area, renderer, PARAM_SPEC_PARAM_ID (pspec), &tmp_value, pspec); + } + g_value_unset (&tmp_value); +} + +void +gtk_cell_area_cell_set_valist (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args) +{ + const gchar *name; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + name = first_property_name; + while (name) + { + GValue value = { 0, }; + gchar *error = NULL; + GParamSpec *pspec = + g_param_spec_pool_lookup (cell_property_pool, name, + G_OBJECT_TYPE (area), TRUE); + if (!pspec) + { + g_warning ("%s: cell area class `%s' has no cell property named `%s'", + G_STRLOC, G_OBJECT_TYPE_NAME (area), name); + break; + } + if (!(pspec->flags & G_PARAM_WRITABLE)) + { + g_warning ("%s: cell property `%s' of cell area class `%s' is not writable", + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + break; + } + + g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + G_VALUE_COLLECT (&value, var_args, 0, &error); + if (error) + { + g_warning ("%s: %s", G_STRLOC, error); + g_free (error); + + /* we purposely leak the value here, it might not be + * in a sane state if an error condition occoured + */ + break; + } + area_set_cell_property (area, renderer, pspec, &value); + g_value_unset (&value); + name = va_arg (var_args, gchar*); + } +} + +void +gtk_cell_area_cell_get_valist (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args) +{ + const gchar *name; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + + name = first_property_name; + while (name) + { + GValue value = { 0, }; + GParamSpec *pspec; + gchar *error; + + pspec = g_param_spec_pool_lookup (cell_property_pool, name, + G_OBJECT_TYPE (area), TRUE); + if (!pspec) + { + g_warning ("%s: cell area class `%s' has no cell property named `%s'", + G_STRLOC, G_OBJECT_TYPE_NAME (area), name); + break; + } + if (!(pspec->flags & G_PARAM_READABLE)) + { + g_warning ("%s: cell property `%s' of cell area class `%s' is not readable", + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + break; + } + + g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + area_get_cell_property (area, renderer, pspec, &value); + G_VALUE_LCOPY (&value, var_args, 0, &error); + if (error) + { + g_warning ("%s: %s", G_STRLOC, error); + g_free (error); + g_value_unset (&value); + break; + } + g_value_unset (&value); + name = va_arg (var_args, gchar*); + } +} + +void +gtk_cell_area_cell_set_property (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *property_name, + const GValue *value) +{ + GParamSpec *pspec; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (property_name != NULL); + g_return_if_fail (G_IS_VALUE (value)); + + pspec = g_param_spec_pool_lookup (cell_property_pool, property_name, + G_OBJECT_TYPE (area), TRUE); + if (!pspec) + g_warning ("%s: cell area class `%s' has no cell property named `%s'", + G_STRLOC, G_OBJECT_TYPE_NAME (area), property_name); + else if (!(pspec->flags & G_PARAM_WRITABLE)) + g_warning ("%s: cell property `%s' of cell area class `%s' is not writable", + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + else + { + area_set_cell_property (area, renderer, pspec, value); + } +} + +void +gtk_cell_area_cell_get_property (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *property_name, + GValue *value) +{ + GParamSpec *pspec; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (property_name != NULL); + g_return_if_fail (G_IS_VALUE (value)); + + pspec = g_param_spec_pool_lookup (cell_property_pool, property_name, + G_OBJECT_TYPE (area), TRUE); + if (!pspec) + g_warning ("%s: cell area class `%s' has no cell property named `%s'", + G_STRLOC, G_OBJECT_TYPE_NAME (area), property_name); + else if (!(pspec->flags & G_PARAM_READABLE)) + g_warning ("%s: cell property `%s' of cell area class `%s' is not readable", + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + else + { + GValue *prop_value, tmp_value = { 0, }; + + /* auto-conversion of the callers value type + */ + if (G_VALUE_TYPE (value) == G_PARAM_SPEC_VALUE_TYPE (pspec)) + { + g_value_reset (value); + prop_value = value; + } + else if (!g_value_type_transformable (G_PARAM_SPEC_VALUE_TYPE (pspec), G_VALUE_TYPE (value))) + { + g_warning ("can't retrieve cell property `%s' of type `%s' as value of type `%s'", + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), + G_VALUE_TYPE_NAME (value)); + return; + } + else + { + g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + prop_value = &tmp_value; + } + + area_get_cell_property (area, renderer, pspec, prop_value); + + if (prop_value != value) + { + g_value_transform (prop_value, value); + g_value_unset (&tmp_value); + } + } +} + diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 3c2c750544..e599220c70 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -116,6 +116,17 @@ struct _GtkCellAreaClass gint *minimum_width, gint *natural_width); + /* Cell Properties */ + void (* set_cell_property) (GtkCellArea *area, + GtkCellRenderer *renderer, + guint property_id, + const GValue *value, + GParamSpec *pspec); + void (* get_cell_property) (GtkCellArea *area, + GtkCellRenderer *renderer, + guint property_id, + GValue *value, + GParamSpec *pspec); /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -175,8 +186,7 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea gint *minimum_width, gint *natural_width); - -/* Following apis are not class virtual methods */ +/* Attributes */ void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter); @@ -188,6 +198,43 @@ void gtk_cell_area_attribute_disconnect (GtkCellArea GtkCellRenderer *renderer, const gchar *attribute); +/* Cell Properties */ +void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, + guint property_id, + GParamSpec *pspec); +GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, + const gchar *property_name); +GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, + guint *n_properties); +void gtk_cell_area_add_with_properties (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; +void gtk_cell_area_cell_set (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; +void gtk_cell_area_cell_get (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; +void gtk_cell_area_cell_set_valist (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args); +void gtk_cell_area_cell_get_valist (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args); +void gtk_cell_area_cell_set_property (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *property_name, + const GValue *value); +void gtk_cell_area_cell_get_property (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *property_name, + GValue *value); + G_END_DECLS From 01d2eddf037a73670934e88229b25a0dbf2fdc6b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 17:45:06 +0900 Subject: [PATCH 0096/1463] Added GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID to gtkcellarea.h --- gtk/gtkcellarea.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index e599220c70..4e71ee4f23 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -235,6 +235,9 @@ void gtk_cell_area_cell_get_property (GtkCellArea const gchar *property_name, GValue *value); +#define GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec) \ + G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) + G_END_DECLS From 25b00759c5a8b6928eb8545ed2b488a4872b5bc9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 17:45:29 +0900 Subject: [PATCH 0097/1463] Implemented cell packing properties on GtkCellAreaBox --- gtk/gtkcellareabox.c | 177 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 170 insertions(+), 7 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 537edcce66..a6a9edbe0d 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -61,6 +61,17 @@ static void gtk_cell_area_box_render (GtkCellArea cairo_t *cr, const GdkRectangle *cell_area); +static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_box_get_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + guint prop_id, + GValue *value, + GParamSpec *pspec); + static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, @@ -168,14 +179,19 @@ struct _GtkCellAreaBoxPrivate gint spacing; }; - - enum { PROP_0, PROP_ORIENTATION, PROP_SPACING }; +enum { + CELL_PROP_0, + CELL_PROP_EXPAND, + CELL_PROP_ALIGN, + CELL_PROP_PACK_TYPE +}; + G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_cell_area_box_cell_layout_init) @@ -215,11 +231,13 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) object_class->get_property = gtk_cell_area_box_get_property; /* GtkCellAreaClass */ - area_class->add = gtk_cell_area_box_add; - area_class->remove = gtk_cell_area_box_remove; - area_class->forall = gtk_cell_area_box_forall; - area_class->event = gtk_cell_area_box_event; - area_class->render = gtk_cell_area_box_render; + area_class->add = gtk_cell_area_box_add; + area_class->remove = gtk_cell_area_box_remove; + area_class->forall = gtk_cell_area_box_forall; + area_class->event = gtk_cell_area_box_event; + area_class->render = gtk_cell_area_box_render; + area_class->set_cell_property = gtk_cell_area_box_set_cell_property; + area_class->get_cell_property = gtk_cell_area_box_get_cell_property; area_class->create_iter = gtk_cell_area_box_create_iter; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; @@ -228,6 +246,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->get_preferred_height_for_width = gtk_cell_area_box_get_preferred_height_for_width; area_class->get_preferred_width_for_height = gtk_cell_area_box_get_preferred_width_for_height; + /* Properties */ g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); g_object_class_install_property (object_class, @@ -240,6 +259,35 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) 0, GTK_PARAM_READWRITE)); + /* Cell Properties */ + gtk_cell_area_class_install_cell_property (area_class, + CELL_PROP_EXPAND, + g_param_spec_boolean + ("expand", + P_("Expand"), + P_("Whether the cell expands"), + FALSE, + GTK_PARAM_READWRITE)); + + gtk_cell_area_class_install_cell_property (area_class, + CELL_PROP_ALIGN, + g_param_spec_boolean + ("align", + P_("Align"), + P_("Whether cell should align with adjacent rows"), + TRUE, + GTK_PARAM_READWRITE)); + + gtk_cell_area_class_install_cell_property (area_class, + CELL_PROP_PACK_TYPE, + g_param_spec_enum + ("pack-type", + P_("Pack Type"), + P_("A GtkPackType indicating whether the cell is packed with " + "reference to the start or end of the cell area"), + GTK_TYPE_PACK_TYPE, GTK_PACK_START, + GTK_PARAM_READWRITE)); + g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxPrivate)); } @@ -745,6 +793,121 @@ gtk_cell_area_box_render (GtkCellArea *area, g_slist_free (allocated_cells); } +static void +gtk_cell_area_box_set_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GList *node; + CellInfo *info; + gboolean rebuild = FALSE; + gboolean flush = FALSE; + gboolean val; + GtkPackType pack_type; + + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); + if (!node) + return; + + info = node->data; + + switch (prop_id) + { + case CELL_PROP_EXPAND: + val = g_value_get_boolean (value); + + if (info->expand != val) + { + info->expand = val; + flush = TRUE; + } + break; + + case CELL_PROP_ALIGN: + val = g_value_get_boolean (value); + + if (info->align != val) + { + info->align = val; + flush = TRUE; + } + break; + + case CELL_PROP_PACK_TYPE: + pack_type = g_value_get_enum (value); + + if (info->pack != pack_type) + { + info->pack = pack_type; + rebuild = TRUE; + } + break; + default: + GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID (area, prop_id, pspec); + break; + } + + /* Groups need to be rebuilt */ + if (rebuild) + { + /* Reconstruct cell groups */ + g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); + g_list_free (priv->groups); + priv->groups = construct_cell_groups (box); + + /* Reinitialize groups on iters */ + init_iter_groups (box); + } + else if (flush) + { + flush_iters (box); + } +} + +static void +gtk_cell_area_box_get_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GList *node; + CellInfo *info; + + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); + if (!node) + return; + + info = node->data; + + switch (prop_id) + { + case CELL_PROP_EXPAND: + g_value_set_boolean (value, info->expand); + break; + + case CELL_PROP_ALIGN: + g_value_set_boolean (value, info->align); + break; + + case CELL_PROP_PACK_TYPE: + g_value_set_enum (value, info->pack); + break; + default: + GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID (area, prop_id, pspec); + break; + } +} + + static GtkCellAreaIter * gtk_cell_area_box_create_iter (GtkCellArea *area) { From 163c3c8852dd93dfe42454ee10adef9cdcfa5e44 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 18:55:51 +0900 Subject: [PATCH 0098/1463] Added margins to the cell area Added margin properties to the cell area, margins will be removed from the area given to ->render() when creating the inner cell area. --- gtk/gtkcellarea.c | 255 +++++++++++++++++++++++++++++++++++++++++++++- gtk/gtkcellarea.h | 18 ++++ 2 files changed, 270 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index dfee8ccf7f..fc269f1ed1 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -27,9 +27,11 @@ #include #include +#include "gtkintl.h" #include "gtkcelllayout.h" #include "gtkcellarea.h" #include "gtkcellareaiter.h" +#include "gtkprivate.h" #include @@ -37,6 +39,14 @@ /* GObjectClass */ static void gtk_cell_area_dispose (GObject *object); static void gtk_cell_area_finalize (GObject *object); +static void gtk_cell_area_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); /* GtkCellAreaClass */ static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, @@ -111,6 +121,8 @@ typedef struct { struct _GtkCellAreaPrivate { GHashTable *cell_info; + + GtkBorder border; }; /* Keep the paramspec pool internal, no need to deliver notifications @@ -120,6 +132,13 @@ static GParamSpecPool *cell_property_pool = NULL; #define PARAM_SPEC_PARAM_ID(pspec) ((pspec)->param_id) #define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id)) +enum { + PROP_0, + PROP_MARGIN_LEFT, + PROP_MARGIN_RIGHT, + PROP_MARGIN_TOP, + PROP_MARGIN_BOTTOM +}; G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, @@ -139,6 +158,11 @@ gtk_cell_area_init (GtkCellArea *area) g_direct_equal, NULL, (GDestroyNotify)cell_info_free); + + priv->border.left = 0; + priv->border.right = 0; + priv->border.top = 0; + priv->border.bottom = 0; } static void @@ -147,8 +171,10 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GObjectClass *object_class = G_OBJECT_CLASS (class); /* GObjectClass */ - object_class->dispose = gtk_cell_area_dispose; - object_class->finalize = gtk_cell_area_finalize; + object_class->dispose = gtk_cell_area_dispose; + object_class->finalize = gtk_cell_area_finalize; + object_class->get_property = gtk_cell_area_get_property; + object_class->set_property = gtk_cell_area_set_property; /* general */ class->add = NULL; @@ -165,7 +191,48 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; - /* Cell properties */ + /* Properties */ + g_object_class_install_property (object_class, + PROP_MARGIN_LEFT, + g_param_spec_int ("margin-left", + P_("Margin on Left"), + P_("Pixels of extra space on the left side"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_MARGIN_RIGHT, + g_param_spec_int ("margin-right", + P_("Margin on Right"), + P_("Pixels of extra space on the right side"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_MARGIN_TOP, + g_param_spec_int ("margin-top", + P_("Margin on Top"), + P_("Pixels of extra space on the top side"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_MARGIN_BOTTOM, + g_param_spec_int ("margin-bottom", + P_("Margin on Bottom"), + P_("Pixels of extra space on the bottom side"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); + + /* Pool for Cell Properties */ if (!cell_property_pool) cell_property_pool = g_param_spec_pool_new (FALSE); @@ -272,6 +339,62 @@ gtk_cell_area_dispose (GObject *object) G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); } +static void +gtk_cell_area_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkCellArea *area = GTK_CELL_AREA (object); + + switch (prop_id) + { + case PROP_MARGIN_LEFT: + gtk_cell_area_set_margin_left (area, g_value_get_int (value)); + break; + case PROP_MARGIN_RIGHT: + gtk_cell_area_set_margin_right (area, g_value_get_int (value)); + break; + case PROP_MARGIN_TOP: + gtk_cell_area_set_margin_top (area, g_value_get_int (value)); + break; + case PROP_MARGIN_BOTTOM: + gtk_cell_area_set_margin_bottom (area, g_value_get_int (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gtk_cell_area_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GtkCellArea *area = GTK_CELL_AREA (object); + GtkCellAreaPrivate *priv = area->priv; + + switch (prop_id) + { + case PROP_MARGIN_LEFT: + g_value_set_int (value, priv->border.left); + break; + case PROP_MARGIN_RIGHT: + g_value_set_int (value, priv->border.right); + break; + case PROP_MARGIN_TOP: + g_value_set_int (value, priv->border.top); + break; + case PROP_MARGIN_BOTTOM: + g_value_set_int (value, priv->border.bottom); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} /************************************************************* * GtkCellAreaClass * @@ -1143,3 +1266,129 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, } } +/* Margins */ +gint +gtk_cell_area_get_margin_left (GtkCellArea *area) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); + + return area->priv->border.left; +} + +void +gtk_cell_area_set_margin_left (GtkCellArea *area, + gint margin) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (priv->border.left != margin) + { + priv->border.left = margin; + + g_object_notify (G_OBJECT (area), "margin-left"); + } +} + +gint +gtk_cell_area_get_margin_right (GtkCellArea *area) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); + + return area->priv->border.right; +} + +void +gtk_cell_area_set_margin_right (GtkCellArea *area, + gint margin) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (priv->border.right != margin) + { + priv->border.right = margin; + + g_object_notify (G_OBJECT (area), "margin-right"); + } +} + +gint +gtk_cell_area_get_margin_top (GtkCellArea *area) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); + + return area->priv->border.top; +} + +void +gtk_cell_area_set_margin_top (GtkCellArea *area, + gint margin) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (priv->border.top != margin) + { + priv->border.top = margin; + + g_object_notify (G_OBJECT (area), "margin-top"); + } +} + +gint +gtk_cell_area_get_margin_bottom (GtkCellArea *area) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); + + return area->priv->border.bottom; +} + +void +gtk_cell_area_set_margin_bottom (GtkCellArea *area, + gint margin) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (priv->border.bottom != margin) + { + priv->border.bottom = margin; + + g_object_notify (G_OBJECT (area), "margin-bottom"); + } +} + +/* For convenience in area implementations */ +void +gtk_cell_area_inner_area (GtkCellArea *area, + GdkRectangle *background_area, + GdkRectangle *cell_area) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (background_area != NULL); + g_return_if_fail (cell_area != NULL); + + priv = area->priv; + + *cell_area = *background_area; + + cell_area->x += priv->border.left; + cell_area->width -= (priv->border.left + priv->border.right); + cell_area->y += priv->border.top; + cell_area->height -= (priv->border.top + priv->border.bottom); +} diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 4e71ee4f23..a6f06ec4ad 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -238,6 +238,24 @@ void gtk_cell_area_cell_get_property (GtkCellArea #define GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec) \ G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) +/* Margins */ +gint gtk_cell_area_get_margin_left (GtkCellArea *area); +void gtk_cell_area_set_margin_left (GtkCellArea *area, + gint margin); +gint gtk_cell_area_get_margin_right (GtkCellArea *area); +void gtk_cell_area_set_margin_right (GtkCellArea *area, + gint margin); +gint gtk_cell_area_get_margin_top (GtkCellArea *area); +void gtk_cell_area_set_margin_top (GtkCellArea *area, + gint margin); +gint gtk_cell_area_get_margin_bottom (GtkCellArea *area); +void gtk_cell_area_set_margin_bottom (GtkCellArea *area, + gint margin); + +/* For convenience in area implementations */ +void gtk_cell_area_inner_area (GtkCellArea *area, + GdkRectangle *background_area, + GdkRectangle *cell_area); G_END_DECLS From 9c4eb3d4314dbcd18d0f1a36ccb873070a4f5db8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 31 Oct 2010 22:50:53 +0900 Subject: [PATCH 0099/1463] Changed GtkCellArea margin-left/right... for cell-margin-left/right... The rationale here is that every cell in an area needs to have space reserved around it, requests have to be fully margin inclusive... cells need to have the full size fed as the "background area" and the "cell area" has margins removed... This will be used by GtkTreeViewColumn to set the focus line width so that cells can paint a background on the full background, then render themselves into the cell area... and parents can go ahead and draw focus and other indicators on the background area but outside of the cell area. --- gtk/gtkcellarea.c | 235 ++++++++++++++++++++++++++----------------- gtk/gtkcellarea.h | 35 ++++--- gtk/gtkcellareabox.c | 100 +++++++++--------- 3 files changed, 215 insertions(+), 155 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index fc269f1ed1..7bb991f96e 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -122,7 +122,7 @@ struct _GtkCellAreaPrivate { GHashTable *cell_info; - GtkBorder border; + GtkBorder cell_border; }; /* Keep the paramspec pool internal, no need to deliver notifications @@ -134,10 +134,10 @@ static GParamSpecPool *cell_property_pool = NULL; enum { PROP_0, - PROP_MARGIN_LEFT, - PROP_MARGIN_RIGHT, - PROP_MARGIN_TOP, - PROP_MARGIN_BOTTOM + PROP_CELL_MARGIN_LEFT, + PROP_CELL_MARGIN_RIGHT, + PROP_CELL_MARGIN_TOP, + PROP_CELL_MARGIN_BOTTOM }; G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, @@ -159,10 +159,10 @@ gtk_cell_area_init (GtkCellArea *area) NULL, (GDestroyNotify)cell_info_free); - priv->border.left = 0; - priv->border.right = 0; - priv->border.top = 0; - priv->border.bottom = 0; + priv->cell_border.left = 0; + priv->cell_border.right = 0; + priv->cell_border.top = 0; + priv->cell_border.bottom = 0; } static void @@ -193,44 +193,48 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) /* Properties */ g_object_class_install_property (object_class, - PROP_MARGIN_LEFT, - g_param_spec_int ("margin-left", - P_("Margin on Left"), - P_("Pixels of extra space on the left side"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); + PROP_CELL_MARGIN_LEFT, + g_param_spec_int + ("cell-margin-left", + P_("Margin on Left"), + P_("Pixels of extra space on the left side of each cell"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); g_object_class_install_property (object_class, - PROP_MARGIN_RIGHT, - g_param_spec_int ("margin-right", - P_("Margin on Right"), - P_("Pixels of extra space on the right side"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); + PROP_CELL_MARGIN_RIGHT, + g_param_spec_int + ("cell-margin-right", + P_("Margin on Right"), + P_("Pixels of extra space on the right side of each cell"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_CELL_MARGIN_TOP, + g_param_spec_int + ("cell-margin-top", + P_("Margin on Top"), + P_("Pixels of extra space on the top side of each cell"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); g_object_class_install_property (object_class, - PROP_MARGIN_TOP, - g_param_spec_int ("margin-top", - P_("Margin on Top"), - P_("Pixels of extra space on the top side"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); - - g_object_class_install_property (object_class, - PROP_MARGIN_BOTTOM, - g_param_spec_int ("margin-bottom", - P_("Margin on Bottom"), - P_("Pixels of extra space on the bottom side"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); + PROP_CELL_MARGIN_BOTTOM, + g_param_spec_int + ("cell-margin-bottom", + P_("Margin on Bottom"), + P_("Pixels of extra space on the bottom side of each cell"), + 0, + G_MAXINT16, + 0, + GTK_PARAM_READWRITE)); /* Pool for Cell Properties */ if (!cell_property_pool) @@ -349,17 +353,17 @@ gtk_cell_area_set_property (GObject *object, switch (prop_id) { - case PROP_MARGIN_LEFT: - gtk_cell_area_set_margin_left (area, g_value_get_int (value)); + case PROP_CELL_MARGIN_LEFT: + gtk_cell_area_set_cell_margin_left (area, g_value_get_int (value)); break; - case PROP_MARGIN_RIGHT: - gtk_cell_area_set_margin_right (area, g_value_get_int (value)); + case PROP_CELL_MARGIN_RIGHT: + gtk_cell_area_set_cell_margin_right (area, g_value_get_int (value)); break; - case PROP_MARGIN_TOP: - gtk_cell_area_set_margin_top (area, g_value_get_int (value)); + case PROP_CELL_MARGIN_TOP: + gtk_cell_area_set_cell_margin_top (area, g_value_get_int (value)); break; - case PROP_MARGIN_BOTTOM: - gtk_cell_area_set_margin_bottom (area, g_value_get_int (value)); + case PROP_CELL_MARGIN_BOTTOM: + gtk_cell_area_set_cell_margin_bottom (area, g_value_get_int (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -378,17 +382,17 @@ gtk_cell_area_get_property (GObject *object, switch (prop_id) { - case PROP_MARGIN_LEFT: - g_value_set_int (value, priv->border.left); + case PROP_CELL_MARGIN_LEFT: + g_value_set_int (value, priv->cell_border.left); break; - case PROP_MARGIN_RIGHT: - g_value_set_int (value, priv->border.right); + case PROP_CELL_MARGIN_RIGHT: + g_value_set_int (value, priv->cell_border.right); break; - case PROP_MARGIN_TOP: - g_value_set_int (value, priv->border.top); + case PROP_CELL_MARGIN_TOP: + g_value_set_int (value, priv->cell_border.top); break; - case PROP_MARGIN_BOTTOM: - g_value_set_int (value, priv->border.bottom); + case PROP_CELL_MARGIN_BOTTOM: + g_value_set_int (value, priv->cell_border.bottom); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1268,16 +1272,16 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, /* Margins */ gint -gtk_cell_area_get_margin_left (GtkCellArea *area) +gtk_cell_area_get_cell_margin_left (GtkCellArea *area) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - return area->priv->border.left; + return area->priv->cell_border.left; } void -gtk_cell_area_set_margin_left (GtkCellArea *area, - gint margin) +gtk_cell_area_set_cell_margin_left (GtkCellArea *area, + gint margin) { GtkCellAreaPrivate *priv; @@ -1285,25 +1289,25 @@ gtk_cell_area_set_margin_left (GtkCellArea *area, priv = area->priv; - if (priv->border.left != margin) + if (priv->cell_border.left != margin) { - priv->border.left = margin; + priv->cell_border.left = margin; g_object_notify (G_OBJECT (area), "margin-left"); } } gint -gtk_cell_area_get_margin_right (GtkCellArea *area) +gtk_cell_area_get_cell_margin_right (GtkCellArea *area) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - return area->priv->border.right; + return area->priv->cell_border.right; } void -gtk_cell_area_set_margin_right (GtkCellArea *area, - gint margin) +gtk_cell_area_set_cell_margin_right (GtkCellArea *area, + gint margin) { GtkCellAreaPrivate *priv; @@ -1311,25 +1315,25 @@ gtk_cell_area_set_margin_right (GtkCellArea *area, priv = area->priv; - if (priv->border.right != margin) + if (priv->cell_border.right != margin) { - priv->border.right = margin; + priv->cell_border.right = margin; g_object_notify (G_OBJECT (area), "margin-right"); } } gint -gtk_cell_area_get_margin_top (GtkCellArea *area) +gtk_cell_area_get_cell_margin_top (GtkCellArea *area) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - return area->priv->border.top; + return area->priv->cell_border.top; } void -gtk_cell_area_set_margin_top (GtkCellArea *area, - gint margin) +gtk_cell_area_set_cell_margin_top (GtkCellArea *area, + gint margin) { GtkCellAreaPrivate *priv; @@ -1337,25 +1341,25 @@ gtk_cell_area_set_margin_top (GtkCellArea *area, priv = area->priv; - if (priv->border.top != margin) + if (priv->cell_border.top != margin) { - priv->border.top = margin; + priv->cell_border.top = margin; g_object_notify (G_OBJECT (area), "margin-top"); } } gint -gtk_cell_area_get_margin_bottom (GtkCellArea *area) +gtk_cell_area_get_cell_margin_bottom (GtkCellArea *area) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - return area->priv->border.bottom; + return area->priv->cell_border.bottom; } void -gtk_cell_area_set_margin_bottom (GtkCellArea *area, - gint margin) +gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, + gint margin) { GtkCellAreaPrivate *priv; @@ -1363,9 +1367,9 @@ gtk_cell_area_set_margin_bottom (GtkCellArea *area, priv = area->priv; - if (priv->border.bottom != margin) + if (priv->cell_border.bottom != margin) { - priv->border.bottom = margin; + priv->cell_border.bottom = margin; g_object_notify (G_OBJECT (area), "margin-bottom"); } @@ -1373,9 +1377,9 @@ gtk_cell_area_set_margin_bottom (GtkCellArea *area, /* For convenience in area implementations */ void -gtk_cell_area_inner_area (GtkCellArea *area, - GdkRectangle *background_area, - GdkRectangle *cell_area) +gtk_cell_area_inner_cell_area (GtkCellArea *area, + GdkRectangle *background_area, + GdkRectangle *cell_area) { GtkCellAreaPrivate *priv; @@ -1387,8 +1391,59 @@ gtk_cell_area_inner_area (GtkCellArea *area, *cell_area = *background_area; - cell_area->x += priv->border.left; - cell_area->width -= (priv->border.left + priv->border.right); - cell_area->y += priv->border.top; - cell_area->height -= (priv->border.top + priv->border.bottom); + cell_area->x += priv->cell_border.left; + cell_area->width -= (priv->cell_border.left + priv->cell_border.right); + cell_area->y += priv->cell_border.top; + cell_area->height -= (priv->cell_border.top + priv->cell_border.bottom); +} + +void +gtk_cell_area_request_renderer (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (minimum_size != NULL); + g_return_if_fail (natural_size != NULL); + + priv = area->priv; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (for_size < 0) + gtk_cell_renderer_get_preferred_width (renderer, widget, minimum_size, natural_size); + else + { + for_size = MAX (0, for_size - (priv->cell_border.top + priv->cell_border.bottom)); + + gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, for_size, + minimum_size, natural_size); + } + + *minimum_size += (priv->cell_border.left + priv->cell_border.right); + *natural_size += (priv->cell_border.left + priv->cell_border.right); + } + else /* GTK_ORIENTATION_VERTICAL */ + { + if (for_size < 0) + gtk_cell_renderer_get_preferred_height (renderer, widget, minimum_size, natural_size); + else + { + for_size = MAX (0, for_size - (priv->cell_border.left + priv->cell_border.right)); + + gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, for_size, + minimum_size, natural_size); + } + + *minimum_size += (priv->cell_border.top + priv->cell_border.bottom); + *natural_size += (priv->cell_border.top + priv->cell_border.bottom); + } } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index a6f06ec4ad..1046469bd7 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -239,23 +239,34 @@ void gtk_cell_area_cell_get_property (GtkCellArea G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) /* Margins */ -gint gtk_cell_area_get_margin_left (GtkCellArea *area); -void gtk_cell_area_set_margin_left (GtkCellArea *area, +gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_left (GtkCellArea *area, gint margin); -gint gtk_cell_area_get_margin_right (GtkCellArea *area); -void gtk_cell_area_set_margin_right (GtkCellArea *area, +gint gtk_cell_area_get_cell_margin_right (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_right (GtkCellArea *area, gint margin); -gint gtk_cell_area_get_margin_top (GtkCellArea *area); -void gtk_cell_area_set_margin_top (GtkCellArea *area, +gint gtk_cell_area_get_cell_margin_top (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_top (GtkCellArea *area, gint margin); -gint gtk_cell_area_get_margin_bottom (GtkCellArea *area); -void gtk_cell_area_set_margin_bottom (GtkCellArea *area, +gint gtk_cell_area_get_cell_margin_bottom (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, gint margin); -/* For convenience in area implementations */ -void gtk_cell_area_inner_area (GtkCellArea *area, - GdkRectangle *background_area, - GdkRectangle *cell_area); +/* Functions for area implementations */ + +/* Distinguish the inner cell area from the whole requested area including margins */ +void gtk_cell_area_inner_cell_area (GtkCellArea *area, + GdkRectangle *cell_area, + GdkRectangle *inner_cell_area); + +/* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */ +void gtk_cell_area_request_renderer (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); G_END_DECLS diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a6a9edbe0d..920bd07741 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -156,12 +156,6 @@ static void flush_iters (GtkCellAreaBox *box); static void init_iter_groups (GtkCellAreaBox *box); static void init_iter_group (GtkCellAreaBox *box, GtkCellAreaBoxIter *iter); -static void get_renderer_size (GtkCellRenderer *renderer, - GtkOrientation orientation, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size); static GSList *get_allocated_cells (GtkCellAreaBox *box, GtkCellAreaBoxIter *iter, GtkWidget *widget); @@ -534,6 +528,7 @@ get_allocated_cells (GtkCellAreaBox *box, GtkWidget *widget) { const GtkCellAreaBoxAllocation *group_allocs; + GtkCellArea *area = GTK_CELL_AREA (box); GtkCellAreaBoxPrivate *priv = box->priv; GList *group_list, *cell_list; GSList *allocated_cells = NULL; @@ -572,11 +567,11 @@ get_allocated_cells (GtkCellAreaBox *box, { CellInfo *info = cell_list->data; - get_renderer_size (info->renderer, - priv->orientation, - widget, -1, - &sizes[j].minimum_size, - &sizes[j].natural_size); + gtk_cell_area_request_renderer (area, info->renderer, + priv->orientation, + widget, -1, + &sizes[j].minimum_size, + &sizes[j].natural_size); avail_size -= sizes[j].minimum_size; } @@ -775,8 +770,12 @@ gtk_cell_area_box_render (GtkCellArea *area, const GdkRectangle *cell_area) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GSList *allocated_cells, *l; + GdkRectangle background_area, inner_area; + + background_area = *cell_area; /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ @@ -786,6 +785,24 @@ gtk_cell_area_box_render (GtkCellArea *area, { AllocatedCell *cell = l->data; + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + background_area.x = cell_area->x + cell->position; + background_area.width = cell->size; + } + else + { + background_area.y = cell_area->y + cell->position; + background_area.height = cell->size; + } + + /* Remove margins from the background area to produce the cell area + */ + gtk_cell_area_inner_cell_area (area, &background_area, &inner_area); + + gtk_cell_renderer_render (cell->renderer, cr, widget, + &background_area, &inner_area, + /* flags */0); } @@ -937,32 +954,6 @@ gtk_cell_area_box_get_request_mode (GtkCellArea *area) GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT; } -static void -get_renderer_size (GtkCellRenderer *renderer, - GtkOrientation orientation, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) -{ - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - if (for_size < 0) - gtk_cell_renderer_get_preferred_width (renderer, widget, minimum_size, natural_size); - else - gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, for_size, - minimum_size, natural_size); - } - else /* GTK_ORIENTATION_VERTICAL */ - { - if (for_size < 0) - gtk_cell_renderer_get_preferred_height (renderer, widget, minimum_size, natural_size); - else - gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, for_size, - minimum_size, natural_size); - } -} - static void compute_size (GtkCellAreaBox *box, GtkOrientation orientation, @@ -973,6 +964,7 @@ compute_size (GtkCellAreaBox *box, gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellArea *area = GTK_CELL_AREA (box); CellGroup *group; CellInfo *info; GList *cell_list, *group_list; @@ -992,8 +984,8 @@ compute_size (GtkCellAreaBox *box, info = cell_list->data; - get_renderer_size (info->renderer, orientation, widget, for_size, - &renderer_min_size, &renderer_nat_size); + gtk_cell_area_request_renderer (area, info->renderer, orientation, widget, for_size, + &renderer_min_size, &renderer_nat_size); if (orientation == priv->orientation) { @@ -1046,7 +1038,8 @@ compute_size (GtkCellAreaBox *box, } GtkRequestedSize * -get_group_sizes (CellGroup *group, +get_group_sizes (GtkCellArea *area, + CellGroup *group, GtkOrientation orientation, GtkWidget *widget, gint *n_sizes) @@ -1064,10 +1057,10 @@ get_group_sizes (CellGroup *group, sizes[i].data = info; - get_renderer_size (info->renderer, - orientation, widget, -1, - &sizes[i].minimum_size, - &sizes[i].natural_size); + gtk_cell_area_request_renderer (area, info->renderer, + orientation, widget, -1, + &sizes[i].minimum_size, + &sizes[i].natural_size); } return sizes; @@ -1082,15 +1075,16 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellArea *area = GTK_CELL_AREA (box); /* Exception for single cell groups */ if (group->n_cells == 1) { CellInfo *info = group->cells->data; - get_renderer_size (info->renderer, - OPPOSITE_ORIENTATION (priv->orientation), - widget, for_size, minimum_size, natural_size); + gtk_cell_area_request_renderer (area, info->renderer, + OPPOSITE_ORIENTATION (priv->orientation), + widget, for_size, minimum_size, natural_size); } else { @@ -1101,7 +1095,7 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, gint extra_size, extra_extra; gint min_size = 0, nat_size = 0; - orientation_sizes = get_group_sizes (group, priv->orientation, widget, &n_sizes); + orientation_sizes = get_group_sizes (area, group, priv->orientation, widget, &n_sizes); /* First naturally allocate the cells in the group into the for_size */ avail_size -= (n_sizes - 1) * priv->spacing; @@ -1135,11 +1129,11 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, } } - get_renderer_size (info->renderer, - OPPOSITE_ORIENTATION (priv->orientation), - widget, - orientation_sizes[i].minimum_size, - &cell_min, &cell_nat); + gtk_cell_area_request_renderer (area, info->renderer, + OPPOSITE_ORIENTATION (priv->orientation), + widget, + orientation_sizes[i].minimum_size, + &cell_min, &cell_nat); min_size = MAX (min_size, cell_min); nat_size = MAX (nat_size, cell_nat); From 54004237be39428743461ce948f23e945ff3c1f7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 1 Nov 2010 12:39:00 +0900 Subject: [PATCH 0100/1463] Added GtkCellRendererState flags to GtkCellArea->event/render() methods --- gtk/gtkcellarea.c | 26 ++++---- gtk/gtkcellarea.h | 42 ++++++------ gtk/gtkcellareabox.c | 150 ++++++++++++++++++++++--------------------- 3 files changed, 115 insertions(+), 103 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 7bb991f96e..cd41fc6cfa 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -628,11 +628,12 @@ gtk_cell_area_forall (GtkCellArea *area, } gint -gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area) +gtk_cell_area_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { GtkCellAreaClass *class; @@ -645,7 +646,7 @@ gtk_cell_area_event (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->event) - return class->event (area, iter, widget, event, cell_area); + return class->event (area, iter, widget, event, cell_area, flags); g_warning ("GtkCellAreaClass::event not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -653,11 +654,12 @@ gtk_cell_area_event (GtkCellArea *area, } void -gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *cell_area) +gtk_cell_area_render (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { GtkCellAreaClass *class; @@ -670,7 +672,7 @@ gtk_cell_area_render (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->render) - class->render (area, iter, widget, cr, cell_area); + class->render (area, iter, widget, cr, cell_area, flags); else g_warning ("GtkCellAreaClass::render not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 1046469bd7..39bf8eb724 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -83,12 +83,14 @@ struct _GtkCellAreaClass GtkCellAreaIter *iter, GtkWidget *widget, GdkEvent *event, - const GdkRectangle *cell_area); + const GdkRectangle *cell_area, + GtkCellRendererState flags); void (* render) (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, - const GdkRectangle *cell_area); + const GdkRectangle *cell_area, + GtkCellRendererState flags); /* Geometry */ GtkCellAreaIter *(* create_iter) (GtkCellArea *area); @@ -142,23 +144,25 @@ struct _GtkCellAreaClass GType gtk_cell_area_get_type (void) G_GNUC_CONST; /* Basic methods */ -void gtk_cell_area_add (GtkCellArea *area, - GtkCellRenderer *renderer); -void gtk_cell_area_remove (GtkCellArea *area, - GtkCellRenderer *renderer); -void gtk_cell_area_forall (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); -gint gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area); -void gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *cell_area); +void gtk_cell_area_add (GtkCellArea *area, + GtkCellRenderer *renderer); +void gtk_cell_area_remove (GtkCellArea *area, + GtkCellRenderer *renderer); +void gtk_cell_area_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); +gint gtk_cell_area_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +void gtk_cell_area_render (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *cell_area, + GtkCellRendererState flags); /* Geometry */ GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 920bd07741..aa10026d68 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -31,71 +31,73 @@ /* GObjectClass */ -static void gtk_cell_area_box_finalize (GObject *object); -static void gtk_cell_area_box_dispose (GObject *object); -static void gtk_cell_area_box_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gtk_cell_area_box_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void gtk_cell_area_box_finalize (GObject *object); +static void gtk_cell_area_box_dispose (GObject *object); +static void gtk_cell_area_box_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_box_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); /* GtkCellAreaClass */ -static void gtk_cell_area_box_add (GtkCellArea *area, - GtkCellRenderer *renderer); -static void gtk_cell_area_box_remove (GtkCellArea *area, - GtkCellRenderer *renderer); -static void gtk_cell_area_box_forall (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); -static gint gtk_cell_area_box_event (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area); -static void gtk_cell_area_box_render (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *cell_area); +static void gtk_cell_area_box_add (GtkCellArea *area, + GtkCellRenderer *renderer); +static void gtk_cell_area_box_remove (GtkCellArea *area, + GtkCellRenderer *renderer); +static void gtk_cell_area_box_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); +static gint gtk_cell_area_box_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +static void gtk_cell_area_box_render (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *cell_area, + GtkCellRendererState flags); -static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gtk_cell_area_box_get_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_box_get_cell_property (GtkCellArea *area, + GtkCellRenderer *renderer, + guint prop_id, + GValue *value, + GParamSpec *pspec); -static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); -static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); -static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint *minimum_width, - gint *natural_width); -static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint *minimum_height, - gint *natural_height); -static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); -static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); +static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); +static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); +static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width); +static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); /* GtkCellLayoutIface */ static void gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface); @@ -751,11 +753,12 @@ gtk_cell_area_box_forall (GtkCellArea *area, } static gint -gtk_cell_area_box_event (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area) +gtk_cell_area_box_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { @@ -763,11 +766,12 @@ gtk_cell_area_box_event (GtkCellArea *area, } static void -gtk_cell_area_box_render (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *cell_area) +gtk_cell_area_box_render (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; @@ -800,9 +804,11 @@ gtk_cell_area_box_render (GtkCellArea *area, */ gtk_cell_area_inner_cell_area (area, &background_area, &inner_area); + /* XXX We have to do some per-cell considerations for the 'flags' + * for focus handling */ gtk_cell_renderer_render (cell->renderer, cr, widget, &background_area, &inner_area, - /* flags */0); + flags); } From e94a17777470ac47ad76416906426118b6cc483e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 1 Nov 2010 16:01:25 +0900 Subject: [PATCH 0101/1463] Added cell focus apis to GtkCellArea. --- gtk/gtkcellarea.c | 159 +++++++++++++++++++++++++++++++++++++---- gtk/gtkcellarea.h | 18 +++++ gtk/gtkmarshalers.list | 1 + 3 files changed, 165 insertions(+), 13 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index cd41fc6cfa..e77c2280ce 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -31,6 +31,7 @@ #include "gtkcelllayout.h" #include "gtkcellarea.h" #include "gtkcellareaiter.h" +#include "gtkmarshalers.h" #include "gtkprivate.h" #include @@ -120,18 +121,15 @@ typedef struct { struct _GtkCellAreaPrivate { - GHashTable *cell_info; + GHashTable *cell_info; + + GtkBorder cell_border; + + GtkCellRenderer *focus_cell; + guint can_focus : 1; - GtkBorder cell_border; }; -/* Keep the paramspec pool internal, no need to deliver notifications - * on cells. at least no percieved need for now */ -static GParamSpecPool *cell_property_pool = NULL; - -#define PARAM_SPEC_PARAM_ID(pspec) ((pspec)->param_id) -#define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id)) - enum { PROP_0, PROP_CELL_MARGIN_LEFT, @@ -140,6 +138,20 @@ enum { PROP_CELL_MARGIN_BOTTOM }; +enum { + SIGNAL_FOCUS_LEAVE, + LAST_SIGNAL +}; + +/* Keep the paramspec pool internal, no need to deliver notifications + * on cells. at least no percieved need for now */ +static GParamSpecPool *cell_property_pool = NULL; +static guint cell_area_signals[LAST_SIGNAL] = { 0 }; + +#define PARAM_SPEC_PARAM_ID(pspec) ((pspec)->param_id) +#define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id)) + + G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_cell_area_cell_layout_init)); @@ -163,6 +175,8 @@ gtk_cell_area_init (GtkCellArea *area) priv->cell_border.right = 0; priv->cell_border.top = 0; priv->cell_border.bottom = 0; + + priv->focus_cell = NULL; } static void @@ -191,6 +205,21 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->get_preferred_height_for_width = gtk_cell_area_real_get_preferred_height_for_width; class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; + /* focus */ + class->grab_focus = NULL; + + /* Signals */ + cell_area_signals[SIGNAL_FOCUS_LEAVE] = + g_signal_new (I_("focus-leave"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__ENUM_STRING, + G_TYPE_NONE, 2, + GTK_TYPE_DIRECTION_TYPE, G_TYPE_STRING); + + /* Properties */ g_object_class_install_property (object_class, PROP_CELL_MARGIN_LEFT, @@ -340,6 +369,9 @@ gtk_cell_area_dispose (GObject *object) */ gtk_cell_layout_clear (GTK_CELL_LAYOUT (object)); + /* Remove any ref to a focused cell */ + gtk_cell_area_set_focus_cell (GTK_CELL_AREA (object), NULL); + G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); } @@ -678,7 +710,9 @@ gtk_cell_area_render (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } -/* Geometry */ +/************************************************************* + * API: Geometry * + *************************************************************/ GtkCellAreaIter * gtk_cell_area_create_iter (GtkCellArea *area) { @@ -793,7 +827,9 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, class->get_preferred_width_for_height (area, iter, widget, height, minimum_width, natural_width); } -/* Attributes */ +/************************************************************* + * API: Attributes * + *************************************************************/ void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, @@ -927,7 +963,9 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); } -/* Cell Properties */ +/************************************************************* + * API: Cell Properties * + *************************************************************/ void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, guint property_id, @@ -1272,7 +1310,102 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, } } -/* Margins */ +/************************************************************* + * API: Focus * + *************************************************************/ +void +gtk_cell_area_grab_focus (GtkCellArea *area, + GtkDirectionType direction) +{ + GtkCellAreaClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + class = GTK_CELL_AREA_GET_CLASS (area); + + if (class->grab_focus) + class->grab_focus (area, direction); + else + g_warning ("GtkCellAreaClass::grab_focus not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + +void +gtk_cell_area_focus_leave (GtkCellArea *area, + GtkDirectionType direction, + const gchar *path) +{ + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_LEAVE], 0, direction, path); +} + +void +gtk_cell_area_set_can_focus (GtkCellArea *area, + gboolean can_focus) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (priv->can_focus != can_focus) + { + priv->can_focus = can_focus; + } +} + +gboolean +gtk_cell_area_get_can_focus (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); + + priv = area->priv; + + return priv->can_focus; +} + +void +gtk_cell_area_set_focus_cell (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (renderer == NULL || GTK_IS_CELL_RENDERER (renderer)); + + priv = area->priv; + + if (priv->focus_cell != renderer) + { + if (priv->focus_cell) + g_object_unref (priv->focus_cell); + + priv->focus_cell = renderer; + + if (priv->focus_cell) + g_object_ref (priv->focus_cell); + } +} + +GtkCellRenderer * +gtk_cell_area_get_focus_cell (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + priv = area->priv; + + return priv->focus_cell; +} + +/************************************************************* + * API: Margins * + *************************************************************/ gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area) { diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 39bf8eb724..c45977fb29 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -130,6 +130,10 @@ struct _GtkCellAreaClass GValue *value, GParamSpec *pspec); + /* Focus */ + void (* grab_focus) (GtkCellArea *area, + GtkDirectionType direction); + /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); @@ -242,6 +246,20 @@ void gtk_cell_area_cell_get_property (GtkCellArea #define GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec) \ G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) + +/* Focus */ +void gtk_cell_area_grab_focus (GtkCellArea *area, + GtkDirectionType direction); +void gtk_cell_area_focus_leave (GtkCellArea *area, + GtkDirectionType direction, + const gchar *path); +void gtk_cell_area_set_can_focus (GtkCellArea *area, + gboolean can_focus); +gboolean gtk_cell_area_get_can_focus (GtkCellArea *area); +void gtk_cell_area_set_focus_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); + /* Margins */ gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); void gtk_cell_area_set_cell_margin_left (GtkCellArea *area, diff --git a/gtk/gtkmarshalers.list b/gtk/gtkmarshalers.list index 22af46d610..88e870f052 100644 --- a/gtk/gtkmarshalers.list +++ b/gtk/gtkmarshalers.list @@ -69,6 +69,7 @@ VOID:ENUM,FLOAT,BOOLEAN VOID:ENUM,INT VOID:ENUM,INT,BOOLEAN VOID:ENUM,BOXED +VOID:ENUM,STRING VOID:INT VOID:INT,BOOLEAN VOID:INT,INT From 0feb08a4bbfb09dc514e00d4a6aae0c5cb0c34da Mon Sep 17 00:00:00 2001 From: Martin Nordholts Date: Sun, 31 Oct 2010 00:06:48 +0200 Subject: [PATCH 0102/1463] Handle NULL intp in test_increment_intp() Support passing NULL for &int to gtk_test_display_button_window() so we can use that function also when we are not interested in counting clicks. --- gtk/gtktestutils.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk/gtktestutils.c b/gtk/gtktestutils.c index c2306feccb..704674b3c1 100644 --- a/gtk/gtktestutils.c +++ b/gtk/gtktestutils.c @@ -544,7 +544,8 @@ try_main_quit (void) static int test_increment_intp (int *intp) { - *intp += 1; + if (intp != NULL) + *intp += 1; return 1; /* TRUE in case we're connected to event signals */ } From 75fd27e9205a9e1656562b0fa03de20a027cee1a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 30 Oct 2010 21:25:21 -0400 Subject: [PATCH 0103/1463] Improve GtkAssistant docs --- gtk/gtkassistant.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index 3fc0616bb0..10241a399f 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -32,6 +32,13 @@ * operation splitted in several steps, guiding the user through its pages * and controlling the page flow to collect the necessary data. * + * The design of GtkAssistant is that it controls what buttons to show and + * to make sensitive, based on what it knows about the page sequence and + * the type of each page, in + * addition to state information like the page + * completion and + * committed status. + * * * GtkAssistant as GtkBuildable * From ef2fe678325afde5ed09d107432debb0c7c20446 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Sat, 30 Oct 2010 19:57:55 +0100 Subject: [PATCH 0104/1463] GtkAssistant: Add more details about buttons shown Add more documentation about which buttons will be shown for which type of GtkAssistant page. https://bugzilla.gnome.org/show_bug.cgi?id=576498 --- gtk/gtkassistant.h | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/gtk/gtkassistant.h b/gtk/gtkassistant.h index e968e22f92..d745b50cca 100644 --- a/gtk/gtkassistant.h +++ b/gtk/gtkassistant.h @@ -43,15 +43,18 @@ G_BEGIN_DECLS /** * GtkAssistantPageType: - * @GTK_ASSISTANT_PAGE_CONTENT: The page has regular contents. + * @GTK_ASSISTANT_PAGE_CONTENT: The page has regular contents. Both the + * Back and forward buttons will be shown. * @GTK_ASSISTANT_PAGE_INTRO: The page contains an introduction to the - * assistant task. + * assistant task. Only the Forward button will be shown if there is a + * next page. * @GTK_ASSISTANT_PAGE_CONFIRM: The page lets the user confirm or deny the - * changes. + * changes. The Back and Apply buttons will be shown. * @GTK_ASSISTANT_PAGE_SUMMARY: The page informs the user of the changes - * done. + * done. Only the Close button will be shown. * @GTK_ASSISTANT_PAGE_PROGRESS: Used for tasks that take a long time to * complete, blocks the assistant until the page is marked as complete. + * Only the back button will be shown. * * An enum for determining the page role inside the #GtkAssistant. It's * used to handle buttons sensitivity and visibility. @@ -59,6 +62,9 @@ G_BEGIN_DECLS * Note that an assistant needs to end its page flow with a page of type * %GTK_ASSISTANT_PAGE_CONFIRM, %GTK_ASSISTANT_PAGE_SUMMARY or * %GTK_ASSISTANT_PAGE_PROGRESS to be correct. + * + * The Cancel button will only be shown if the page isn't "committed". + * See gtk_assistant_commit() for details. */ typedef enum { From 76a0b9e5fa1436ebe20c344f6320cecd541148f1 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Sat, 30 Oct 2010 20:12:58 +0100 Subject: [PATCH 0105/1463] GtkAssistant: Add custom page type The custom page type will not show any buttons by default, and it is left to the application to add its own buttons instead. The _next_page() and _previous_page() functions can be used for the back and forward buttons used by the application. https://bugzilla.gnome.org/show_bug.cgi?id=576498 --- gtk/gtk.symbols | 2 + gtk/gtkassistant.c | 102 +++++++++++++++++++++++++++++++++++---------- gtk/gtkassistant.h | 8 +++- 3 files changed, 88 insertions(+), 24 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 26b99be38e..cd88fdaf0b 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -262,6 +262,8 @@ gtk_application_remove_window #if IN_FILE(__GTK_ASSISTANT_C__) gtk_assistant_get_type G_GNUC_CONST gtk_assistant_new +gtk_assistant_next_page +gtk_assistant_previous_page gtk_assistant_get_current_page gtk_assistant_set_current_page gtk_assistant_get_n_pages diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index 10241a399f..d5ceb8286c 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -590,13 +590,22 @@ set_assistant_buttons_state (GtkAssistant *assistant) gtk_widget_hide (priv->last); compute_progress_state (assistant); break; + case GTK_ASSISTANT_PAGE_CUSTOM: + gtk_widget_hide (priv->cancel); + gtk_widget_hide (priv->back); + gtk_widget_hide (priv->forward); + gtk_widget_hide (priv->apply); + gtk_widget_hide (priv->last); + gtk_widget_hide (priv->close); + break; default: g_assert_not_reached (); } if (priv->committed) gtk_widget_hide (priv->cancel); - else if (priv->current_page->type == GTK_ASSISTANT_PAGE_SUMMARY) + else if (priv->current_page->type == GTK_ASSISTANT_PAGE_SUMMARY || + priv->current_page->type == GTK_ASSISTANT_PAGE_CUSTOM) gtk_widget_hide (priv->cancel); else gtk_widget_show (priv->cancel); @@ -720,34 +729,14 @@ static void on_assistant_forward (GtkWidget *widget, GtkAssistant *assistant) { - if (!compute_next_step (assistant)) - g_critical ("Page flow is broken, you may want to end it with a page of " - "type GTK_ASSISTANT_PAGE_CONFIRM or GTK_ASSISTANT_PAGE_SUMMARY"); + gtk_assistant_next_page (assistant); } static void on_assistant_back (GtkWidget *widget, GtkAssistant *assistant) { - GtkAssistantPrivate *priv = assistant->priv; - GtkAssistantPage *page_info; - GSList *page_node; - - /* skip the progress pages when going back */ - do - { - page_node = priv->visited_pages; - - g_return_if_fail (page_node != NULL); - - priv->visited_pages = priv->visited_pages->next; - page_info = (GtkAssistantPage *) page_node->data; - g_slist_free_1 (page_node); - } - while (page_info->type == GTK_ASSISTANT_PAGE_PROGRESS || - !gtk_widget_get_visible (page_info->page)); - - set_current_page (assistant, page_info); + gtk_assistant_previous_page (assistant); } static void @@ -1684,6 +1673,73 @@ gtk_assistant_set_current_page (GtkAssistant *assistant, set_current_page (assistant, page); } +/** + * gtk_assistant_next_page: + * @assistant: a #GtkAssistant + * + * Navigate to the next page. It is a programming + * error to call this function if there is no next page. + * + * This function is for use when creating pages of the + * #GTK_ASSISTANT_PAGE_CUSTOM type. + * + * Since: 3.0 + **/ +void +gtk_assistant_next_page (GtkAssistant *assistant) +{ + GtkAssistantPrivate *priv; + + g_return_if_fail (GTK_IS_ASSISTANT (assistant)); + + priv = assistant->priv; + + if (!compute_next_step (assistant)) + g_critical ("Page flow is broken, you may want to end it with a page of " + "type GTK_ASSISTANT_PAGE_CONFIRM or GTK_ASSISTANT_PAGE_SUMMARY"); +} + +/** + * gtk_assistant_previous_page: + * @assistant: a #GtkAssistant + * + * Navigate to the previous visited page. It is a programming + * error to call this function if no previous page is + * available. + * + * This function is for use when creating pages of the + * #GTK_ASSISTANT_PAGE_CUSTOM type. + * + * Since: 3.0 + **/ +void +gtk_assistant_previous_page (GtkAssistant *assistant) +{ + GtkAssistantPrivate *priv; + GtkAssistantPage *page_info; + GSList *page_node; + + g_return_if_fail (GTK_IS_ASSISTANT (assistant)); + + priv = assistant->priv; + + /* skip the progress pages when going back */ + do + { + page_node = priv->visited_pages; + + g_return_if_fail (page_node != NULL); + + priv->visited_pages = priv->visited_pages->next; + page_info = (GtkAssistantPage *) page_node->data; + g_slist_free_1 (page_node); + } + while (page_info->type == GTK_ASSISTANT_PAGE_PROGRESS || + !gtk_widget_get_visible (page_info->page)); + + set_current_page (assistant, page_info); +} + /** * gtk_assistant_get_n_pages: * @assistant: a #GtkAssistant diff --git a/gtk/gtkassistant.h b/gtk/gtkassistant.h index d745b50cca..ea3ae8168d 100644 --- a/gtk/gtkassistant.h +++ b/gtk/gtkassistant.h @@ -55,6 +55,9 @@ G_BEGIN_DECLS * @GTK_ASSISTANT_PAGE_PROGRESS: Used for tasks that take a long time to * complete, blocks the assistant until the page is marked as complete. * Only the back button will be shown. + * @GTK_ASSISTANT_PAGE_CUSTOM: Used for when other page types are not + * appropriate. No buttons will be shown, and the application must + * add its own buttons through gtk_assistant_add_action_widget(). * * An enum for determining the page role inside the #GtkAssistant. It's * used to handle buttons sensitivity and visibility. @@ -72,7 +75,8 @@ typedef enum GTK_ASSISTANT_PAGE_INTRO, GTK_ASSISTANT_PAGE_CONFIRM, GTK_ASSISTANT_PAGE_SUMMARY, - GTK_ASSISTANT_PAGE_PROGRESS + GTK_ASSISTANT_PAGE_PROGRESS, + GTK_ASSISTANT_PAGE_CUSTOM } GtkAssistantPageType; typedef struct _GtkAssistant GtkAssistant; @@ -120,6 +124,8 @@ typedef gint (*GtkAssistantPageFunc) (gint current_page, gpointer data); GType gtk_assistant_get_type (void) G_GNUC_CONST; GtkWidget *gtk_assistant_new (void); +void gtk_assistant_next_page (GtkAssistant *assistant); +void gtk_assistant_previous_page (GtkAssistant *assistant); gint gtk_assistant_get_current_page (GtkAssistant *assistant); void gtk_assistant_set_current_page (GtkAssistant *assistant, gint page_num); From c50f79041776098cecc4b65bbe4305173dff0847 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Oct 2010 14:09:48 -0400 Subject: [PATCH 0106/1463] Add content size test for scrolled window --- tests/testscrolledwindow.c | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/tests/testscrolledwindow.c b/tests/testscrolledwindow.c index 0b00f2566c..ddfaf85cb9 100644 --- a/tests/testscrolledwindow.c +++ b/tests/testscrolledwindow.c @@ -31,6 +31,27 @@ label_flip_changed (GtkComboBox *combo_box, gtk_label_set_angle (label, 90.0); } +static void +content_width_changed (GtkSpinButton *spin_button, + gpointer data) +{ + GtkScrolledWindow *swindow = data; + gdouble value; + + value = gtk_spin_button_get_value (spin_button); + gtk_scrolled_window_set_min_content_width (swindow, (gint)value); +} + +static void +content_height_changed (GtkSpinButton *spin_button, + gpointer data) +{ + GtkScrolledWindow *swindow = data; + gdouble value; + + value = gtk_spin_button_get_value (spin_button); + gtk_scrolled_window_set_min_content_height (swindow, (gint)value); +} static void scrollable_policy (void) @@ -127,6 +148,36 @@ scrollable_policy (void) g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (vertical_policy_changed), viewport); + /* Content size controls */ + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + + widget = gtk_label_new ("min-content-width"); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + + widget = gtk_spin_button_new_with_range (100.0, 1000.0, 10.0); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (cntl), hbox, FALSE, FALSE, 0); + gtk_widget_show (widget); + gtk_widget_show (hbox); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (content_width_changed), swindow); + + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + + widget = gtk_label_new ("min-content-height"); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + + widget = gtk_spin_button_new_with_range (100.0, 1000.0, 10.0); + gtk_box_pack_start (GTK_BOX (hbox), widget, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (cntl), hbox, FALSE, FALSE, 0); + gtk_widget_show (widget); + gtk_widget_show (hbox); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (content_height_changed), swindow); /* Add Label orientation control here */ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); From 260ccdfebef9e17842dcc162aefba46fe5459c7c Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 31 Oct 2010 18:07:20 +0100 Subject: [PATCH 0107/1463] gtk: remove "gboolean homogeneous" from gtk_box_new() Because it's FALSE in virtually all use cases. --- demos/gtk-demo/assistant.c | 4 +- demos/gtk-demo/button_box.c | 6 +- demos/gtk-demo/changedisplay.c | 6 +- demos/gtk-demo/clipboard.c | 8 +- demos/gtk-demo/colorsel.c | 2 +- demos/gtk-demo/combobox.c | 8 +- demos/gtk-demo/dialog.c | 10 +- demos/gtk-demo/drawingarea.c | 2 +- demos/gtk-demo/editable_cells.c | 5 +- demos/gtk-demo/entry_buffer.c | 2 +- demos/gtk-demo/entry_completion.c | 2 +- demos/gtk-demo/expander.c | 2 +- demos/gtk-demo/iconview.c | 2 +- demos/gtk-demo/images.c | 2 +- demos/gtk-demo/infobar.c | 4 +- demos/gtk-demo/list_store.c | 2 +- demos/gtk-demo/main.c | 2 +- demos/gtk-demo/menus.c | 6 +- demos/gtk-demo/offscreen_window.c | 2 +- demos/gtk-demo/offscreen_window2.c | 4 +- demos/gtk-demo/panes.c | 4 +- demos/gtk-demo/rotated_text.c | 3 +- demos/gtk-demo/search_entry.c | 4 +- demos/gtk-demo/sizegroup.c | 2 +- demos/gtk-demo/spinner.c | 6 +- demos/gtk-demo/stock_browser.c | 4 +- demos/gtk-demo/textscroll.c | 3 +- demos/gtk-demo/toolpalette.c | 4 +- demos/gtk-demo/tree_store.c | 2 +- demos/gtk-demo/ui_manager.c | 4 +- demos/testanimation.c | 4 +- demos/testpixbuf-save.c | 2 +- demos/testpixbuf-scale.c | 4 +- docs/tools/widgets.c | 43 ++--- gtk/gtkaboutdialog.c | 5 +- gtk/gtkassistant.c | 4 +- gtk/gtkbox.c | 3 - gtk/gtkbox.h | 1 - gtk/gtkbutton.c | 4 +- gtk/gtkcolorsel.c | 12 +- gtk/gtkcombobox.c | 2 +- gtk/gtkcustompaperunixdialog.c | 14 +- gtk/gtkdialog.c | 3 +- gtk/gtkentrycompletion.c | 4 +- gtk/gtkfilechooserbutton.c | 2 +- gtk/gtkfilechooserdefault.c | 28 +-- gtk/gtkfontbutton.c | 4 +- gtk/gtkfontsel.c | 9 +- gtk/gtkinfobar.c | 2 +- gtk/gtkmenu.c | 2 +- gtk/gtkmenutoolbutton.c | 6 +- gtk/gtkmessagedialog.c | 4 +- gtk/gtkmountoperation.c | 12 +- gtk/gtkpagesetupunixdialog.c | 2 +- gtk/gtkpathbar.c | 2 +- gtk/gtkprintbackend.c | 7 +- gtk/gtkprinteroptionwidget.c | 2 +- gtk/gtkprintunixdialog.c | 26 +-- gtk/gtkrecentchooserdefault.c | 4 +- gtk/gtkscalebutton.c | 2 +- gtk/gtkstatusbar.c | 2 +- gtk/gtktoolbutton.c | 8 +- gtk/gtktooltip.c | 3 +- gtk/gtktreeview.c | 2 +- gtk/gtktreeviewcolumn.c | 2 +- modules/other/gail/tests/ferret.c | 26 +-- modules/other/gail/tests/testlib.c | 5 +- modules/other/gail/tests/testtable.c | 9 +- perf/appwindow.c | 2 +- tests/flicker.c | 8 +- tests/print-editor.c | 8 +- tests/prop-editor.c | 16 +- tests/testactions.c | 4 +- tests/testadjustsize.c | 4 +- tests/testassistant.c | 6 +- tests/testbbox.c | 4 +- tests/testbuttons.c | 14 +- tests/testcalendar.c | 27 +-- tests/testcellrenderertext.c | 2 +- tests/testcombo.c | 22 +-- tests/testcombochange.c | 6 +- tests/testellipsise.c | 2 +- tests/testentrycompletion.c | 4 +- tests/testexpand.c | 6 +- tests/testfilechooser.c | 2 +- tests/testfilechooserbutton.c | 10 +- tests/testframe.c | 2 +- tests/testgrid.c | 6 +- tests/testgtk.c | 252 ++++++++++++++------------- tests/testheightforwidth.c | 2 +- tests/testiconview-keynav.c | 2 +- tests/testiconview.c | 2 +- tests/testinput.c | 2 +- tests/testmenubars.c | 8 +- tests/testmerge.c | 4 +- tests/testmultiscreen.c | 8 +- tests/testoffscreen.c | 12 +- tests/testorientable.c | 2 +- tests/testrecentchoosermenu.c | 2 +- tests/testscale.c | 4 +- tests/testscrolledwindow.c | 12 +- tests/testselection.c | 2 +- tests/testsocket.c | 8 +- tests/testsocket_common.c | 3 +- tests/testspinbutton.c | 6 +- tests/testtoolbar.c | 6 +- tests/testtooltips.c | 2 +- tests/testtreecolumns.c | 10 +- tests/testtreecolumnsizing.c | 2 +- tests/testtreeflow.c | 4 +- tests/testtreefocus.c | 4 +- tests/testtreesort.c | 6 +- tests/testvolumebutton.c | 2 +- tests/testwindows.c | 8 +- tests/testxinerama.c | 3 +- tests/treestoretest.c | 8 +- 116 files changed, 473 insertions(+), 461 deletions(-) diff --git a/demos/gtk-demo/assistant.c b/demos/gtk-demo/assistant.c index c753d9068f..09f48d4653 100644 --- a/demos/gtk-demo/assistant.c +++ b/demos/gtk-demo/assistant.c @@ -94,7 +94,7 @@ create_page1 (GtkWidget *assistant) GtkWidget *box, *label, *entry; GdkPixbuf *pixbuf; - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_set_border_width (GTK_CONTAINER (box), 12); label = gtk_label_new ("You must fill out this entry to continue:"); @@ -121,7 +121,7 @@ create_page2 (GtkWidget *assistant) GtkWidget *box, *checkbutton; GdkPixbuf *pixbuf; - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12, FALSE); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_set_border_width (GTK_CONTAINER (box), 12); checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue " diff --git a/demos/gtk-demo/button_box.c b/demos/gtk-demo/button_box.c index 71f6ced912..89c37c40e7 100644 --- a/demos/gtk-demo/button_box.c +++ b/demos/gtk-demo/button_box.c @@ -63,13 +63,13 @@ do_button_box (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame_horz = gtk_frame_new ("Horizontal Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (frame_horz), vbox); @@ -92,7 +92,7 @@ do_button_box (GtkWidget *do_widget) frame_vert = gtk_frame_new ("Vertical Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_container_add (GTK_CONTAINER (frame_vert), hbox); diff --git a/demos/gtk-demo/changedisplay.c b/demos/gtk-demo/changedisplay.c index a3b523c987..2e3d503f66 100644 --- a/demos/gtk-demo/changedisplay.c +++ b/demos/gtk-demo/changedisplay.c @@ -357,7 +357,7 @@ create_frame (ChangeDisplayInfo *info, *frame = gtk_frame_new (title); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (*frame), hbox); @@ -375,7 +375,7 @@ create_frame (ChangeDisplayInfo *info, selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (*tree_view)); gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE); - *button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + *button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (hbox), *button_vbox, FALSE, FALSE, 0); if (!info->size_group) @@ -624,7 +624,7 @@ do_changedisplay (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (info->window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c index 8525320475..e77b88c9b2 100644 --- a/demos/gtk-demo/clipboard.c +++ b/demos/gtk-demo/clipboard.c @@ -210,7 +210,7 @@ do_clipboard (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -219,7 +219,7 @@ do_clipboard (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -236,7 +236,7 @@ do_clipboard (GtkWidget *do_widget) label = gtk_label_new ("\"Paste\" will paste the text from the clipboard to the entry"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -253,7 +253,7 @@ do_clipboard (GtkWidget *do_widget) label = gtk_label_new ("Images can be transferred via the clipboard, too"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); diff --git a/demos/gtk-demo/colorsel.c b/demos/gtk-demo/colorsel.c index 3d5d55a2a8..eacfa17d38 100644 --- a/demos/gtk-demo/colorsel.c +++ b/demos/gtk-demo/colorsel.c @@ -85,7 +85,7 @@ do_colorsel (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/combobox.c b/demos/gtk-demo/combobox.c index a238a62619..b0f45d310d 100644 --- a/demos/gtk-demo/combobox.c +++ b/demos/gtk-demo/combobox.c @@ -345,7 +345,7 @@ do_combobox (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_container_add (GTK_CONTAINER (window), vbox); /* A combobox demonstrating cell renderers, separators and @@ -354,7 +354,7 @@ do_combobox (GtkWidget *do_widget) frame = gtk_frame_new ("Some stock icons"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 5); gtk_container_add (GTK_CONTAINER (frame), box); @@ -395,7 +395,7 @@ do_combobox (GtkWidget *do_widget) frame = gtk_frame_new ("Where are we ?"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 5); gtk_container_add (GTK_CONTAINER (frame), box); @@ -424,7 +424,7 @@ do_combobox (GtkWidget *do_widget) frame = gtk_frame_new ("Editable"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box), 5); gtk_container_add (GTK_CONTAINER (frame), box); diff --git a/demos/gtk-demo/dialog.c b/demos/gtk-demo/dialog.c index 741f9bf93d..1b86ce2b12 100644 --- a/demos/gtk-demo/dialog.c +++ b/demos/gtk-demo/dialog.c @@ -54,7 +54,7 @@ interactive_dialog_clicked (GtkButton *button, content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0); @@ -120,12 +120,12 @@ do_dialog (GtkWidget *do_widget) frame = gtk_frame_new ("Dialogs"); gtk_container_add (GTK_CONTAINER (window), frame); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (frame), vbox); /* Standard message dialog */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Message Dialog"); g_signal_connect (button, "clicked", @@ -136,9 +136,9 @@ do_dialog (GtkWidget *do_widget) FALSE, FALSE, 0); /* Interactive dialog*/ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); button = gtk_button_new_with_mnemonic ("_Interactive Dialog"); g_signal_connect (button, "clicked", diff --git a/demos/gtk-demo/drawingarea.c b/demos/gtk-demo/drawingarea.c index db5a62d97f..bd9b1e9aca 100644 --- a/demos/gtk-demo/drawingarea.c +++ b/demos/gtk-demo/drawingarea.c @@ -216,7 +216,7 @@ do_drawingarea (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/editable_cells.c b/demos/gtk-demo/editable_cells.c index 1975e06b2e..e8489f1520 100644 --- a/demos/gtk-demo/editable_cells.c +++ b/demos/gtk-demo/editable_cells.c @@ -332,7 +332,7 @@ do_editable_cells (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_start (GTK_BOX (vbox), @@ -365,7 +365,8 @@ do_editable_cells (GtkWidget *do_widget) gtk_container_add (GTK_CONTAINER (sw), treeview); /* some buttons */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Add item"); diff --git a/demos/gtk-demo/entry_buffer.c b/demos/gtk-demo/entry_buffer.c index a9e775e31b..366ac533ea 100644 --- a/demos/gtk-demo/entry_buffer.c +++ b/demos/gtk-demo/entry_buffer.c @@ -34,7 +34,7 @@ do_entry_buffer (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/entry_completion.c b/demos/gtk-demo/entry_completion.c index da2e844abb..6f4e4f7751 100644 --- a/demos/gtk-demo/entry_completion.c +++ b/demos/gtk-demo/entry_completion.c @@ -61,7 +61,7 @@ do_entry_completion (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/expander.c b/demos/gtk-demo/expander.c index 700caee74a..44be2cf0bb 100644 --- a/demos/gtk-demo/expander.c +++ b/demos/gtk-demo/expander.c @@ -35,7 +35,7 @@ do_expander (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/iconview.c b/demos/gtk-demo/iconview.c index 49985ee307..9984eab439 100644 --- a/demos/gtk-demo/iconview.c +++ b/demos/gtk-demo/iconview.c @@ -300,7 +300,7 @@ do_iconview (GtkWidget *do_widget) GtkWidget *tool_bar; GtkToolItem *home_button; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); tool_bar = gtk_toolbar_new (); diff --git a/demos/gtk-demo/images.c b/demos/gtk-demo/images.c index acd382f757..8ff6b1490e 100644 --- a/demos/gtk-demo/images.c +++ b/demos/gtk-demo/images.c @@ -335,7 +335,7 @@ do_images (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/infobar.c b/demos/gtk-demo/infobar.c index 11a5cd04b7..c9f06b977e 100644 --- a/demos/gtk-demo/infobar.c +++ b/demos/gtk-demo/infobar.c @@ -44,7 +44,7 @@ do_infobar (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); bar = gtk_info_bar_new (); @@ -81,7 +81,7 @@ do_infobar (GtkWidget *do_widget) frame = gtk_frame_new ("Info bars"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 8); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8); gtk_container_add (GTK_CONTAINER (frame), vbox2); diff --git a/demos/gtk-demo/list_store.c b/demos/gtk-demo/list_store.c index 716fb8d075..72cecb9316 100644 --- a/demos/gtk-demo/list_store.c +++ b/demos/gtk-demo/list_store.c @@ -266,7 +266,7 @@ do_list_store (GtkWidget *do_widget) G_CALLBACK (gtk_widget_destroyed), &window); gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_add (GTK_CONTAINER (window), vbox); label = gtk_label_new ("This is the bug list (note: not based on real data, it would be nice to have a nice ODBC interface to bugzilla or so, though)."); diff --git a/demos/gtk-demo/main.c b/demos/gtk-demo/main.c index 68b45874cc..e0c9fb896a 100644 --- a/demos/gtk-demo/main.c +++ b/demos/gtk-demo/main.c @@ -954,7 +954,7 @@ main (int argc, char **argv) g_signal_connect_after (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (window), hbox); tree = create_tree (); diff --git a/demos/gtk-demo/menus.c b/demos/gtk-demo/menus.c index f8af4f974d..316e853015 100644 --- a/demos/gtk-demo/menus.c +++ b/demos/gtk-demo/menus.c @@ -146,11 +146,11 @@ do_menus (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (window), box); gtk_widget_show (box); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (box), box1); gtk_widget_show (box1); @@ -176,7 +176,7 @@ do_menus (GtkWidget *do_widget) gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); diff --git a/demos/gtk-demo/offscreen_window.c b/demos/gtk-demo/offscreen_window.c index 6a11786b85..12f7c045a7 100644 --- a/demos/gtk-demo/offscreen_window.c +++ b/demos/gtk-demo/offscreen_window.c @@ -560,7 +560,7 @@ do_offscreen_window (GtkWidget *do_widget) gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &black); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0, G_PI/2, 0.01); gtk_scale_set_draw_value (GTK_SCALE (scale), FALSE); diff --git a/demos/gtk-demo/offscreen_window2.c b/demos/gtk-demo/offscreen_window2.c index 4255870f4a..0774411074 100644 --- a/demos/gtk-demo/offscreen_window2.c +++ b/demos/gtk-demo/offscreen_window2.c @@ -461,13 +461,13 @@ do_offscreen_window2 (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); bin = gtk_mirror_bin_new (); group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); backbutton = gtk_button_new (); gtk_container_add (GTK_CONTAINER (backbutton), gtk_image_new_from_stock (GTK_STOCK_GO_BACK, 4)); diff --git a/demos/gtk-demo/panes.c b/demos/gtk-demo/panes.c index 52a1a5ea18..63ac757881 100644 --- a/demos/gtk-demo/panes.c +++ b/demos/gtk-demo/panes.c @@ -153,9 +153,9 @@ do_panes (GtkWidget *do_widget) gtk_window_set_title (GTK_WINDOW (window), "Panes"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - + vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); gtk_box_pack_start (GTK_BOX (vbox), vpaned, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER(vpaned), 5); diff --git a/demos/gtk-demo/rotated_text.c b/demos/gtk-demo/rotated_text.c index 97704e7740..ab6ac71a7f 100644 --- a/demos/gtk-demo/rotated_text.c +++ b/demos/gtk-demo/rotated_text.c @@ -190,7 +190,8 @@ do_rotated_text (GtkWidget *do_widget) gtk_window_set_default_size (GTK_WINDOW (window), 4 * RADIUS, 2 * RADIUS); g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (box), TRUE); gtk_container_add (GTK_CONTAINER (window), box); /* Add a drawing area */ diff --git a/demos/gtk-demo/search_entry.c b/demos/gtk-demo/search_entry.c index 56cfc1b516..8a6d37107b 100644 --- a/demos/gtk-demo/search_entry.c +++ b/demos/gtk-demo/search_entry.c @@ -266,7 +266,7 @@ do_search_entry (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); @@ -274,7 +274,7 @@ do_search_entry (GtkWidget *do_widget) gtk_label_set_markup (GTK_LABEL (label), "Search entry demo"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 0); diff --git a/demos/gtk-demo/sizegroup.c b/demos/gtk-demo/sizegroup.c index db38f653b6..e7a8595d15 100644 --- a/demos/gtk-demo/sizegroup.c +++ b/demos/gtk-demo/sizegroup.c @@ -118,7 +118,7 @@ do_sizegroup (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/demos/gtk-demo/spinner.c b/demos/gtk-demo/spinner.c index 878cbd7e8a..797064bc02 100644 --- a/demos/gtk-demo/spinner.c +++ b/demos/gtk-demo/spinner.c @@ -50,12 +50,12 @@ do_spinner (GtkWidget *do_widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); /* Sensitive */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); spinner = gtk_spinner_new (); gtk_container_add (GTK_CONTAINER (hbox), spinner); gtk_container_add (GTK_CONTAINER (hbox), gtk_entry_new ()); @@ -63,7 +63,7 @@ do_spinner (GtkWidget *do_widget) spinner_sensitive = spinner; /* Disabled */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); spinner = gtk_spinner_new (); gtk_container_add (GTK_CONTAINER (hbox), spinner); gtk_container_add (GTK_CONTAINER (hbox), gtk_entry_new ()); diff --git a/demos/gtk-demo/stock_browser.c b/demos/gtk-demo/stock_browser.c index 583fa91555..e6fed81dd4 100644 --- a/demos/gtk-demo/stock_browser.c +++ b/demos/gtk-demo/stock_browser.c @@ -417,7 +417,7 @@ do_stock_browser (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); gtk_container_set_border_width (GTK_CONTAINER (window), 8); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_add (GTK_CONTAINER (window), hbox); sw = gtk_scrolled_window_new (NULL, NULL); @@ -486,7 +486,7 @@ do_stock_browser (GtkWidget *do_widget) frame = gtk_frame_new ("Selected Item"); gtk_container_add (GTK_CONTAINER (align), frame); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 4); gtk_container_add (GTK_CONTAINER (frame), vbox); diff --git a/demos/gtk-demo/textscroll.c b/demos/gtk-demo/textscroll.c index 244a7f33e1..b9fca9e936 100644 --- a/demos/gtk-demo/textscroll.c +++ b/demos/gtk-demo/textscroll.c @@ -184,7 +184,8 @@ do_textscroll (GtkWidget *do_widget) G_CALLBACK (gtk_widget_destroyed), &window); gtk_window_set_default_size (GTK_WINDOW (window), 600, 400); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_container_add (GTK_CONTAINER (window), hbox); create_text_view (hbox, TRUE); diff --git a/demos/gtk-demo/toolpalette.c b/demos/gtk-demo/toolpalette.c index f7ed51ea59..2431d6a4fe 100644 --- a/demos/gtk-demo/toolpalette.c +++ b/demos/gtk-demo/toolpalette.c @@ -438,7 +438,7 @@ do_toolpalette (GtkWidget *do_widget) gtk_container_set_border_width (GTK_CONTAINER (window), 8); /* Add widgets to control the ToolPalette appearance: */ - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (window), box); /* Orientation combo box: */ @@ -507,7 +507,7 @@ do_toolpalette (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (box), combo_style, FALSE, FALSE, 0); /* Add hbox */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start (GTK_BOX (box), hbox, TRUE, TRUE, 0); /* Add and fill the ToolPalette: */ diff --git a/demos/gtk-demo/tree_store.c b/demos/gtk-demo/tree_store.c index c3dfe14909..8c03e39767 100644 --- a/demos/gtk-demo/tree_store.c +++ b/demos/gtk-demo/tree_store.c @@ -402,7 +402,7 @@ do_tree_store (GtkWidget *do_widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/gtk-demo/ui_manager.c b/demos/gtk-demo/ui_manager.c index f131a4469c..76ea246c76 100644 --- a/demos/gtk-demo/ui_manager.c +++ b/demos/gtk-demo/ui_manager.c @@ -196,7 +196,7 @@ do_ui_manager (GtkWidget *do_widget) g_error_free (error); } - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_box_pack_start (GTK_BOX (box1), @@ -213,7 +213,7 @@ do_ui_manager (GtkWidget *do_widget) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); diff --git a/demos/testanimation.c b/demos/testanimation.c index 3cdc011267..4d00a9d807 100644 --- a/demos/testanimation.c +++ b/demos/testanimation.c @@ -323,7 +323,7 @@ do_image (const char *filename) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -384,7 +384,7 @@ do_nonprogressive (const gchar *filename) gtk_container_set_border_width (GTK_CONTAINER (window), 8); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/demos/testpixbuf-save.c b/demos/testpixbuf-save.c index cf1e4f4ac2..35ef367474 100644 --- a/demos/testpixbuf-save.c +++ b/demos/testpixbuf-save.c @@ -365,7 +365,7 @@ main (int argc, char **argv) g_signal_connect (window, "destroy", G_CALLBACK (close_app), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); drawing_area = gtk_drawing_area_new (); diff --git a/demos/testpixbuf-scale.c b/demos/testpixbuf-scale.c index 5a977bbe4b..ee57763c84 100644 --- a/demos/testpixbuf-scale.c +++ b/demos/testpixbuf-scale.c @@ -98,7 +98,7 @@ main(int argc, char **argv) g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); combo_box = gtk_combo_box_text_new (); @@ -117,7 +117,7 @@ main(int argc, char **argv) alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.5); gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("Overall Alpha:"); diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index fb50138e53..312d064f0c 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -222,7 +222,7 @@ create_radio (void) GtkWidget *radio; GtkWidget *align; - widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + widget = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); radio = gtk_radio_button_new_with_mnemonic (NULL, "Radio Button _One"); gtk_box_pack_start (GTK_BOX (widget), radio, FALSE, FALSE, 0); radio = gtk_radio_button_new_with_mnemonic_from_widget (GTK_RADIO_BUTTON (radio), "Radio Button _Two"); @@ -261,7 +261,7 @@ create_accel_label (void) gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (widget), button); gtk_widget_set_no_show_all (button, TRUE); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (box), widget); gtk_container_add (GTK_CONTAINER (box), button); @@ -424,7 +424,7 @@ create_icon_view (void) gtk_container_add (GTK_CONTAINER (widget), icon_view); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, TRUE, TRUE, 0); @@ -446,7 +446,7 @@ create_color_button (void) GtkWidget *align; GdkColor color; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); color.red = 0x1e<<8; /* Go Gagne! */ color.green = 0x90<<8; @@ -468,7 +468,7 @@ create_font_button (void) GtkWidget *picker; GtkWidget *align; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_font_button_new_with_font ("Sans Serif 10"); gtk_container_add (GTK_CONTAINER (align), picker); @@ -488,8 +488,8 @@ create_file_button (void) GtkWidget *picker; GtkWidget *align; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_file_chooser_button_new ("File Chooser Button", GTK_FILE_CHOOSER_ACTION_OPEN); @@ -507,7 +507,7 @@ create_file_button (void) gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); picker = gtk_file_chooser_button_new ("File Chooser Button", GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER); @@ -530,8 +530,9 @@ create_separator (void) GtkWidget *hbox; GtkWidget *vbox; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_box_pack_start (GTK_BOX (hbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), TRUE, TRUE, 0); @@ -555,8 +556,9 @@ create_panes (void) GtkWidget *vbox; GtkWidget *pane; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); pane = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_paned_pack1 (GTK_PANED (pane), g_object_new (GTK_TYPE_FRAME, @@ -788,7 +790,7 @@ create_menubar (void) item = gtk_menu_item_new_with_mnemonic ("_Help"); gtk_menu_shell_append (GTK_MENU_SHELL (widget), item); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -868,7 +870,7 @@ create_progressbar (void) widget = gtk_progress_bar_new (); gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (widget), 0.5); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -901,7 +903,7 @@ create_spinbutton (void) widget = gtk_spin_button_new_with_range (0.0, 100.0, 1.0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -919,7 +921,7 @@ create_statusbar (void) GtkWidget *widget; GtkWidget *vbox, *align; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), gtk_label_new ("Status Bar")); gtk_box_pack_start (GTK_BOX (vbox), @@ -944,8 +946,9 @@ create_scales (void) GtkWidget *hbox; GtkWidget *vbox; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_box_pack_start (GTK_BOX (hbox), gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, 0.0, 100.0, 1.0), @@ -972,7 +975,7 @@ create_image (void) widget = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DND); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); @@ -992,7 +995,7 @@ create_spinner (void) widget = gtk_spinner_new (); gtk_widget_set_size_request (widget, 24, 24); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), widget); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index ac09e5cf20..633a3c7dc8 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -574,7 +574,7 @@ gtk_about_dialog_init (GtkAboutDialog *about) /* Widgets */ gtk_widget_push_composite_child (); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -597,7 +597,8 @@ gtk_about_dialog_init (GtkAboutDialog *about) gtk_label_set_justify (GTK_LABEL (priv->copyright_label), GTK_JUSTIFY_CENTER); gtk_box_pack_start (GTK_BOX (vbox), priv->copyright_label, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, FALSE, 0); priv->website_label = button = gtk_label_new (""); diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index d5ceb8286c..4374f1f5bc 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -801,8 +801,8 @@ gtk_assistant_init (GtkAssistant *assistant) gtk_widget_show (priv->sidebar_image); /* Action area */ - priv->action_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); - + priv->action_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + priv->close = gtk_button_new_from_stock (GTK_STOCK_CLOSE); priv->apply = gtk_button_new_from_stock (GTK_STOCK_APPLY); priv->forward = gtk_button_new_from_stock (GTK_STOCK_GO_FORWARD); diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index ef519686bb..707f4ffa55 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -1241,7 +1241,6 @@ gtk_box_get_preferred_height_for_width (GtkWidget *widget, /** * gtk_box_new: * @orientation: the box' orientation. - * @homogeneous: %TRUE if all children are to be given equal space allocations. * @spacing: the number of pixels to place by default between children. * * Creates a new #GtkBox. @@ -1252,13 +1251,11 @@ gtk_box_get_preferred_height_for_width (GtkWidget *widget, **/ GtkWidget* gtk_box_new (GtkOrientation orientation, - gboolean homogeneous, gint spacing) { return g_object_new (GTK_TYPE_BOX, "orientation", orientation, "spacing", spacing, - "homogeneous", homogeneous ? TRUE : FALSE, NULL); } diff --git a/gtk/gtkbox.h b/gtk/gtkbox.h index 5b9be5cd50..906aa2e9d7 100644 --- a/gtk/gtkbox.h +++ b/gtk/gtkbox.h @@ -72,7 +72,6 @@ struct _GtkBoxClass GType gtk_box_get_type (void) G_GNUC_CONST; GtkWidget* gtk_box_new (GtkOrientation orientation, - gboolean homogeneous, gint spacing); void gtk_box_pack_start (GtkBox *box, diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 3c81cbfca0..2bb6707e29 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -1025,9 +1025,9 @@ gtk_button_construct_child (GtkButton *button) if (priv->image_position == GTK_POS_LEFT || priv->image_position == GTK_POS_RIGHT) - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, image_spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, image_spacing); else - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, image_spacing); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, image_spacing); if (priv->align_set) align = gtk_alignment_new (priv->xalign, priv->yalign, 0.0, 0.0); diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 4bd1e50412..230cd2b416 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -381,10 +381,10 @@ gtk_color_selection_init (GtkColorSelection *colorsel) priv->default_set = FALSE; priv->default_alpha_set = FALSE; - top_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + top_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (colorsel), top_hbox, FALSE, FALSE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); priv->triangle_colorsel = gtk_hsv_new (); g_signal_connect (priv->triangle_colorsel, "changed", G_CALLBACK (hsv_changed), colorsel); @@ -394,7 +394,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) gtk_widget_set_tooltip_text (priv->triangle_colorsel, _("Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle.")); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); frame = gtk_frame_new (NULL); @@ -418,7 +418,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) gtk_widget_set_tooltip_text (button, _("Click the eyedropper, then click a color anywhere on your screen to select that color.")); - top_right_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + top_right_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (top_hbox), top_right_vbox, FALSE, FALSE, 0); table = gtk_table_new (8, 6, FALSE); gtk_box_pack_start (GTK_BOX (top_right_vbox), table, FALSE, FALSE, 0); @@ -507,7 +507,7 @@ gtk_color_selection_init (GtkColorSelection *colorsel) } } set_selected_palette (colorsel, 0, 0); - priv->palette_frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + priv->palette_frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); label = gtk_label_new_with_mnemonic (_("_Palette:")); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_box_pack_start (GTK_BOX (priv->palette_frame), label, FALSE, FALSE, 0); @@ -1029,7 +1029,7 @@ color_sample_new (GtkColorSelection *colorsel) priv = colorsel->private_data; - priv->sample_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + priv->sample_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); priv->old_sample = gtk_drawing_area_new (); priv->cur_sample = gtk_drawing_area_new (); diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index d36990ea8b..16a4f4a578 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -3030,7 +3030,7 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, gtk_widget_set_parent (priv->button, gtk_widget_get_parent (child)); - priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (priv->button), priv->box); priv->separator = gtk_separator_new (GTK_ORIENTATION_VERTICAL); diff --git a/gtk/gtkcustompaperunixdialog.c b/gtk/gtkcustompaperunixdialog.c index b64987a5c9..a7444b1679 100644 --- a/gtk/gtkcustompaperunixdialog.c +++ b/gtk/gtkcustompaperunixdialog.c @@ -514,7 +514,7 @@ new_unit_widget (GtkCustomPaperUnixDialog *dialog, data = g_new0 (UnitWidget, 1); data->display_unit = unit; - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); button = gtk_spin_button_new_with_range (0.0, 9999.0, 1); if (unit == GTK_UNIT_INCH) @@ -943,7 +943,7 @@ wrap_in_frame (const gchar *label, gtk_label_set_markup (GTK_LABEL (label_widget), bold_text); g_free (bold_text); - frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (frame), label_widget, FALSE, FALSE, 0); alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0); @@ -981,12 +981,12 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); gtk_box_set_spacing (GTK_BOX (action_area), 6); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 18); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -1022,7 +1022,7 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) gtk_container_add (GTK_CONTAINER (scrolled), treeview); gtk_widget_show (treeview); - button_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); + button_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_box_pack_start (GTK_BOX (vbox), button_box, FALSE, FALSE, 0); gtk_widget_show (button_box); @@ -1046,7 +1046,7 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) user_units = _gtk_print_get_default_user_units (); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); priv->values_box = vbox; gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -1137,7 +1137,7 @@ populate_dialog (GtkCustomPaperUnixDialog *dialog) 1, 2, 3, 4, GTK_FILL, 0, 0, 0); gtk_widget_show (widget); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_table_attach (GTK_TABLE (table), hbox, 0, 2, 4, 5, GTK_FILL | GTK_EXPAND, 0, 0, 0); gtk_widget_show (hbox); diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 0b627c16e2..5cb95712e2 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -257,8 +257,7 @@ gtk_dialog_init (GtkDialog *dialog) G_CALLBACK (gtk_dialog_delete_event_handler), NULL); - priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); - + priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (dialog), priv->vbox); gtk_widget_show (priv->vbox); diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index df83aaec52..540af9d3a8 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -527,8 +527,8 @@ gtk_entry_completion_init (GtkEntryCompletion *completion) GTK_SHADOW_ETCHED_IN); gtk_widget_show (popup_frame); gtk_container_add (GTK_CONTAINER (priv->popup_window), popup_frame); - - priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + + priv->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (popup_frame), priv->vbox); gtk_container_add (GTK_CONTAINER (priv->scrolled_window), priv->tree_view); diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 4f08f76cb4..471be29800 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -441,7 +441,7 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button) gtk_container_add (GTK_CONTAINER (button), priv->button); gtk_widget_show (priv->button); - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_container_add (GTK_CONTAINER (priv->button), box); gtk_widget_show (box); diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 3aac30a15b..2f11068e94 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -3706,7 +3706,7 @@ shortcuts_pane_create (GtkFileChooserDefault *impl, GtkWidget *hbox; GtkWidget *widget; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show (vbox); /* Shortcuts tree */ @@ -3716,7 +3716,8 @@ shortcuts_pane_create (GtkFileChooserDefault *impl, /* Box for buttons */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_size_group_add_widget (size_group, hbox); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -4422,13 +4423,12 @@ file_pane_create (GtkFileChooserDefault *impl, GtkWidget *hbox; GtkWidget *widget; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show (vbox); /* Box for lists and preview */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, - FALSE, PREVIEW_HBOX_SPACING); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, PREVIEW_HBOX_SPACING); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); @@ -4439,13 +4439,13 @@ file_pane_create (GtkFileChooserDefault *impl, /* Preview */ - impl->preview_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + impl->preview_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (hbox), impl->preview_box, FALSE, FALSE, 0); /* Don't show preview box initially */ /* Filter combo */ - impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); widget = filter_create (impl); @@ -4633,7 +4633,7 @@ save_widgets_create (GtkFileChooserDefault *impl) location_switch_to_path_bar (impl); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); table = gtk_table_new (2, 2, FALSE); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); @@ -4973,10 +4973,10 @@ browse_widgets_create (GtkFileChooserDefault *impl) /* size group is used by the [+][-] buttons and the filter combo */ size_group = gtk_size_group_new (GTK_SIZE_GROUP_VERTICAL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); /* Location widgets */ - impl->browse_path_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + impl->browse_path_bar_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox), impl->browse_path_bar_hbox, FALSE, FALSE, 0); gtk_widget_show (impl->browse_path_bar_hbox); @@ -5006,7 +5006,7 @@ browse_widgets_create (GtkFileChooserDefault *impl) /* Box for the location label and entry */ - impl->location_entry_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + impl->location_entry_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox), impl->location_entry_box, FALSE, FALSE, 0); impl->location_label = gtk_label_new_with_mnemonic (_("_Location:")); @@ -8942,8 +8942,8 @@ search_setup_widgets (GtkFileChooserDefault *impl) GtkWidget *image; gchar *tmp; - impl->search_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); - + impl->search_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + /* Image */ image = gtk_image_new_from_stock (GTK_STOCK_FIND, GTK_ICON_SIZE_BUTTON); @@ -9372,7 +9372,7 @@ recent_hide_entry (GtkFileChooserDefault *impl) GtkWidget *image; gchar *tmp; - impl->recent_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + impl->recent_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); /* Image */ image = gtk_image_new_from_icon_name ("document-open-recent", GTK_ICON_SIZE_BUTTON); diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c index e3458ff3cb..1f6c7b1b42 100644 --- a/gtk/gtkfontbutton.c +++ b/gtk/gtkfontbutton.c @@ -780,8 +780,8 @@ gtk_font_button_create_inside (GtkFontButton *font_button) gtk_widget_push_composite_child (); - widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); - + widget = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + font_button->priv->font_label = gtk_label_new (_("Font")); gtk_label_set_justify (GTK_LABEL (font_button->priv->font_label), GTK_JUSTIFY_LEFT); diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index 7dfcfbdb2a..e73b4ba426 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -548,10 +548,9 @@ gtk_font_selection_init (GtkFontSelection *fontsel) atk_relation_set_add (relation_set, relation); } g_object_unref (relation_set); - } - + } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_widget_show (vbox); gtk_box_pack_start (GTK_BOX (fontsel), vbox, FALSE, TRUE, 0); @@ -560,8 +559,8 @@ gtk_font_selection_init (GtkFontSelection *fontsel) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0); - - text_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + + text_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show (text_box); gtk_box_pack_start (GTK_BOX (vbox), text_box, FALSE, TRUE, 0); diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index f3855de956..86859786e0 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -612,7 +612,7 @@ gtk_info_bar_init (GtkInfoBar *info_bar) GTK_TYPE_INFO_BAR, GtkInfoBarPrivate); - content_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + content_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show (content_area); gtk_box_pack_start (GTK_BOX (info_bar), content_area, TRUE, TRUE, 0); diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index f36a9d5548..79cb32321d 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -2159,7 +2159,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, gtk_window_set_transient_for (GTK_WINDOW (menu->tearoff_window), GTK_WINDOW (toplevel)); - menu->tearoff_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + menu->tearoff_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (menu->tearoff_window), menu->tearoff_hbox); height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (menu))); diff --git a/gtk/gtkmenutoolbutton.c b/gtk/gtkmenutoolbutton.c index 4d1e02620a..f657805d70 100644 --- a/gtk/gtkmenutoolbutton.c +++ b/gtk/gtkmenutoolbutton.c @@ -77,12 +77,12 @@ gtk_menu_tool_button_construct_contents (GtkMenuToolButton *button) if (orientation == GTK_ORIENTATION_HORIZONTAL) { - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_arrow_set (GTK_ARROW (priv->arrow), GTK_ARROW_DOWN, GTK_SHADOW_NONE); } else { - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_arrow_set (GTK_ARROW (priv->arrow), GTK_ARROW_RIGHT, GTK_SHADOW_NONE); } @@ -398,7 +398,7 @@ gtk_menu_tool_button_init (GtkMenuToolButton *button) gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (button), FALSE); - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); real_button = gtk_bin_get_child (GTK_BIN (button)); g_object_ref (real_button); diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c index 652b5a6815..f721f94c88 100644 --- a/gtk/gtkmessagedialog.c +++ b/gtk/gtkmessagedialog.c @@ -347,8 +347,8 @@ gtk_message_dialog_init (GtkMessageDialog *dialog) gtk_label_set_selectable (GTK_LABEL (priv->secondary_label), TRUE); gtk_misc_set_alignment (GTK_MISC (priv->secondary_label), 0.0, 0.0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); - priv->message_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + priv->message_area = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (priv->message_area), priv->label, FALSE, FALSE, 0); diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c index 130090f2f1..2cdd1d594b 100644 --- a/gtk/gtkmountoperation.c +++ b/gtk/gtkmountoperation.c @@ -498,7 +498,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, -1); /* Build contents */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); @@ -508,7 +508,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, gtk_misc_set_alignment (GTK_MISC (icon), 0.5, 0.0); gtk_box_pack_start (GTK_BOX (hbox), icon, FALSE, FALSE, 0); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); gtk_box_pack_start (GTK_BOX (hbox), main_vbox, TRUE, TRUE, 0); secondary = strstr (message, "\n"); @@ -539,7 +539,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, FALSE, FALSE, 0); } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, FALSE, FALSE, 0); can_anonymous = flags & G_ASK_PASSWORD_ANONYMOUS_SUPPORTED; @@ -551,7 +551,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, GtkWidget *choice; GSList *group; - anon_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + anon_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (vbox), anon_box, FALSE, FALSE, 0); @@ -625,7 +625,7 @@ gtk_mount_operation_ask_password (GMountOperation *mount_op, GSList *group; GPasswordSave password_save; - remember_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + remember_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (vbox), remember_box, FALSE, FALSE, 0); @@ -1218,7 +1218,7 @@ create_show_processes_dialog (GMountOperation *op, gtk_window_set_title (GTK_WINDOW (dialog), ""); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); diff --git a/gtk/gtkpagesetupunixdialog.c b/gtk/gtkpagesetupunixdialog.c index 93eecbabf6..ed1190d62c 100644 --- a/gtk/gtkpagesetupunixdialog.c +++ b/gtk/gtkpagesetupunixdialog.c @@ -870,7 +870,7 @@ create_radio_button (GSList *group, image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_stock_lookup (stock_id, &item); label = gtk_label_new (item.label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_container_add (GTK_CONTAINER (radio_button), hbox); gtk_container_add (GTK_CONTAINER (hbox), image); gtk_container_add (GTK_CONTAINER (hbox), label); diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index 60af22f31c..102d9e3ac6 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -1528,7 +1528,7 @@ make_directory_button (GtkPathBar *path_bar, button_data->label = gtk_label_new (NULL); label_alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_container_add (GTK_CONTAINER (label_alignment), button_data->label); - child = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + child = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_box_pack_start (GTK_BOX (child), button_data->image, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (child), label_alignment, FALSE, FALSE, 0); break; diff --git a/gtk/gtkprintbackend.c b/gtk/gtkprintbackend.c index ce35f1c654..df735c668c 100644 --- a/gtk/gtkprintbackend.c +++ b/gtk/gtkprintbackend.c @@ -753,7 +753,7 @@ request_password (GtkPrintBackend *backend, gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); - main_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + main_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); /* Left */ icon = gtk_image_new_from_stock (GTK_STOCK_DIALOG_AUTHENTICATION, GTK_ICON_SIZE_DIALOG); @@ -762,7 +762,7 @@ request_password (GtkPrintBackend *backend, /* Right */ - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_set_size_request (GTK_WIDGET (vbox), 320, -1); /* Right - 1. */ @@ -789,7 +789,8 @@ request_password (GtkPrintBackend *backend, priv->auth_info[i] = g_strdup (ai_default[i]); if (ai_display[i] != NULL) { - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (box), TRUE); label = gtk_label_new (ai_display[i]); gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); diff --git a/gtk/gtkprinteroptionwidget.c b/gtk/gtkprinteroptionwidget.c index 12301d8829..89891a4d1b 100644 --- a/gtk/gtkprinteroptionwidget.c +++ b/gtk/gtkprinteroptionwidget.c @@ -739,7 +739,7 @@ construct_widgets (GtkPrinterOptionWidget *widget) case GTK_PRINTER_OPTION_TYPE_ALTERNATIVE: group = NULL; - priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + priv->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_widget_show (priv->box); gtk_box_pack_start (GTK_BOX (widget), priv->box, TRUE, TRUE, 0); for (i = 0; i < source->num_choices; i++) diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 90c76a2ce7..b90f7a37f7 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -1140,7 +1140,7 @@ wrap_in_frame (const gchar *label, gtk_label_set_markup (GTK_LABEL (label_widget), bold_text); g_free (bold_text); - frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + frame = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (frame), label_widget, FALSE, FALSE, 0); alignment = gtk_alignment_new (0.0, 0.0, 1.0, 1.0); @@ -1189,7 +1189,7 @@ add_option_to_extension_point (GtkPrinterOption *option, gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_label_set_mnemonic_widget (GTK_LABEL (label), widget); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -2100,11 +2100,11 @@ create_main_page (GtkPrintUnixDialog *dialog) GtkWidget *custom_input; const gchar *range_tooltip; - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_widget_show (main_vbox); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_box_pack_start (GTK_BOX (main_vbox), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -2170,12 +2170,12 @@ create_main_page (GtkPrintUnixDialog *dialog) gtk_widget_show (treeview); gtk_container_add (GTK_CONTAINER (scrolled), treeview); - custom_input = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); + custom_input = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 18); gtk_widget_show (custom_input); gtk_box_pack_start (GTK_BOX (vbox), custom_input, FALSE, FALSE, 0); priv->extension_point = custom_input; - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 18); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); @@ -3300,11 +3300,11 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) GtkWidget *combo, *spinbutton, *draw; GtkCellRenderer *cell; - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_widget_show (main_vbox); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 18); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 18); gtk_widget_show (hbox); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); @@ -3390,7 +3390,7 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) 0, 1, 4, 5, GTK_FILL, 0, 0, 0); - hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 6); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); gtk_widget_show (hbox2); gtk_table_attach (GTK_TABLE (table), hbox2, 1, 2, 4, 5, GTK_FILL, 0, @@ -3509,7 +3509,7 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) /* Add the page layout preview */ - hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show (hbox2); gtk_box_pack_start (GTK_BOX (main_vbox), hbox2, TRUE, TRUE, 0); @@ -3759,7 +3759,7 @@ create_advanced_page (GtkPrintUnixDialog *dialog) GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12); gtk_widget_show (main_vbox); @@ -3793,7 +3793,7 @@ populate_dialog (GtkPrintUnixDialog *print_dialog) gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); gtk_box_set_spacing (GTK_BOX (action_area), 6); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_widget_show (vbox); @@ -3822,7 +3822,7 @@ populate_dialog (GtkPrintUnixDialog *print_dialog) &priv->finishing_page); create_advanced_page (print_dialog); - priv->conflicts_widget = conflict_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + priv->conflicts_widget = conflict_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_end (GTK_BOX (vbox), conflict_hbox, FALSE, FALSE, 0); image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_MENU); gtk_widget_show (image); diff --git a/gtk/gtkrecentchooserdefault.c b/gtk/gtkrecentchooserdefault.c index 41b7dd1ea8..f1caf17e26 100644 --- a/gtk/gtkrecentchooserdefault.c +++ b/gtk/gtkrecentchooserdefault.c @@ -473,8 +473,8 @@ gtk_recent_chooser_default_constructor (GType type, GDK_ACTION_COPY); gtk_drag_source_add_uri_targets (impl->recent_view); - impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); - + impl->filter_combo_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + impl->filter_combo = gtk_combo_box_text_new (); gtk_combo_box_set_focus_on_click (GTK_COMBO_BOX (impl->filter_combo), FALSE); g_signal_connect (impl->filter_combo, "changed", diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index 924f657e10..fb2624e53e 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -390,7 +390,7 @@ gtk_scale_button_init (GtkScaleButton *button) gtk_container_add (GTK_CONTAINER (priv->dock), frame); /* box for scale and +/- buttons */ - priv->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + priv->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (frame), priv->box); /* + */ diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c index 8ead97d5f1..e38b448e25 100644 --- a/gtk/gtkstatusbar.c +++ b/gtk/gtkstatusbar.c @@ -211,7 +211,7 @@ gtk_statusbar_init (GtkStatusbar *statusbar) gtk_box_pack_start (box, priv->frame, TRUE, TRUE, 0); gtk_widget_show (priv->frame); - message_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4); + message_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4); gtk_container_add (GTK_CONTAINER (priv->frame), message_area); gtk_widget_show (message_area); diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index e2876d8fb5..fd9e70d692 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -510,9 +510,9 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) case GTK_TOOLBAR_BOTH: if (text_orientation == GTK_ORIENTATION_HORIZONTAL) - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, icon_spacing); else - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, icon_spacing); if (icon) gtk_box_pack_start (GTK_BOX (box), icon, TRUE, TRUE, 0); gtk_box_pack_end (GTK_BOX (box), label, FALSE, TRUE, 0); @@ -522,7 +522,7 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) case GTK_TOOLBAR_BOTH_HORIZ: if (text_orientation == GTK_ORIENTATION_HORIZONTAL) { - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, icon_spacing); if (icon) gtk_box_pack_start (GTK_BOX (box), icon, label? FALSE : TRUE, TRUE, 0); if (label) @@ -530,7 +530,7 @@ gtk_tool_button_construct_contents (GtkToolItem *tool_item) } else { - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, icon_spacing); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, icon_spacing); if (icon) gtk_box_pack_end (GTK_BOX (box), icon, label ? FALSE : TRUE, TRUE, 0); if (label) diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index f9658df988..309013f847 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -221,8 +221,7 @@ gtk_tooltip_init (GtkTooltip *tooltip) g_signal_connect_swapped (tooltip->window, "draw", G_CALLBACK (gtk_tooltip_paint_window), tooltip); - tooltip->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, - FALSE, style->xthickness); + tooltip->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, style->xthickness); gtk_container_add (GTK_CONTAINER (tooltip->alignment), tooltip->box); gtk_widget_show (tooltip->box); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 4a48d3c48c..7e50804e5c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10368,7 +10368,7 @@ gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view) gtk_widget_show (frame); gtk_container_add (GTK_CONTAINER (tree_view->priv->search_window), frame); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (frame), vbox); gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 3ea185af29..19d17c8901 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -874,7 +874,7 @@ gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column) tree_column->alignment = gtk_alignment_new (tree_column->xalign, 0.5, 0.0, 0.0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); tree_column->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); if (tree_column->child) diff --git a/modules/other/gail/tests/ferret.c b/modules/other/gail/tests/ferret.c index a59e728ae9..cb9db66df0 100644 --- a/modules/other/gail/tests/ferret.c +++ b/modules/other/gail/tests/ferret.c @@ -1610,49 +1610,49 @@ _init_data(void) the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Object"; nbook_tabs[OBJECT] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Action"; nbook_tabs[ACTION] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Component"; nbook_tabs[COMPONENT] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Image"; nbook_tabs[IMAGE] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Selection"; nbook_tabs[SELECTION] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Table"; nbook_tabs[TABLE] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Text"; nbook_tabs[TEXT] = the_tab; the_tab = g_new0(TabInfo, 1); the_tab->page = NULL; - the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 20); + the_tab->main_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 20); the_tab->name = "Value"; nbook_tabs[VALUE] = the_tab; } @@ -1675,7 +1675,7 @@ _create_window (void) gtk_window_set_default_size (GTK_WINDOW (window), 333, 550); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox1); gtk_widget_show (vbox1); @@ -1875,7 +1875,7 @@ _get_group(TabInfo *tab, GroupId group_id, const gchar *groupname) gtk_container_set_border_width(GTK_CONTAINER(group->frame), 10); group->name = g_strdup(groupname); - group->group_vbox = GTK_VBOX(gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10)); + group->group_vbox = GTK_VBOX(gtk_box_new (GTK_ORIENTATION_VERTICAL, 10)); if (group->is_scrolled) { @@ -1971,9 +1971,9 @@ _get_name_value(GroupInfo *group, const gchar *label, if (!found) { name_value = (NameValue *)g_new0(NameValue, 1); - name_value->column1 = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10)); - name_value->column2 = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10)); - name_value->hbox = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5)); + name_value->column1 = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10)); + name_value->column2 = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10)); + name_value->hbox = GTK_HBOX(gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5)); name_value->label = GTK_LABEL(gtk_label_new(label)); name_value->string = gtk_label_new (NULL); name_value->boolean = gtk_check_button_new (); diff --git a/modules/other/gail/tests/testlib.c b/modules/other/gail/tests/testlib.c index 59fb37c9c6..2b195cede1 100644 --- a/modules/other/gail/tests/testlib.c +++ b/modules/other/gail/tests/testlib.c @@ -586,7 +586,8 @@ _create_select_tests_window (AtkObject *obj, scrolledWindow); /* Setup Layout */ - md[window_no]->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); + md[window_no]->vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (md[window_no]->vbox), TRUE); md[window_no]->button = gtk_button_new_with_mnemonic ("_Run Tests"); hbuttonbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox), @@ -645,7 +646,7 @@ add_test (gint window, return FALSE; else { - md[window]->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + md[window]->hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_set_spacing (GTK_BOX (md[window]->hbox), 10); gtk_container_set_border_width (GTK_CONTAINER (md[window]->hbox), 10); gtk_container_add (GTK_CONTAINER (md[window]->vbox), md[window]->hbox); diff --git a/modules/other/gail/tests/testtable.c b/modules/other/gail/tests/testtable.c index 877f07727b..75e75520b1 100644 --- a/modules/other/gail/tests/testtable.c +++ b/modules/other/gail/tests/testtable.c @@ -763,11 +763,12 @@ void test_choice_gui(AtkObject **obj) g_signal_connect(window, "destroy", G_CALLBACK (destroy), &window); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); gtk_box_set_spacing(GTK_BOX(vbox), 10); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_set_spacing(GTK_BOX(hbox), 10); tc->tb_ref_selection = gtk_toggle_button_new_with_label("ref_selection"); gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_selection, TRUE, TRUE, 0); @@ -778,7 +779,7 @@ void test_choice_gui(AtkObject **obj) gtk_box_pack_start (GTK_BOX (hbox), tc->index_entry, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_set_spacing(GTK_BOX(hbox), 10); tc->tb_ref_at = gtk_toggle_button_new_with_label("ref_at"); gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_at, TRUE, TRUE, 0); @@ -794,7 +795,7 @@ void test_choice_gui(AtkObject **obj) gtk_box_pack_start (GTK_BOX (hbox), tc->col_entry, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_set_spacing(GTK_BOX(hbox), 10); tc->tb_ref_accessible_child = gtk_toggle_button_new_with_label("ref_accessible_child"); gtk_box_pack_start (GTK_BOX (hbox), tc->tb_ref_accessible_child, TRUE, TRUE, 0); diff --git a/perf/appwindow.c b/perf/appwindow.c index f31ed85017..061a147b7c 100644 --- a/perf/appwindow.c +++ b/perf/appwindow.c @@ -214,7 +214,7 @@ appwindow_new (void) g_signal_connect_swapped (window, "destroy", G_CALLBACK (g_object_unref), ui); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); widget = menubar_new (ui); diff --git a/tests/flicker.c b/tests/flicker.c index 376c248e69..738ff341c8 100644 --- a/tests/flicker.c +++ b/tests/flicker.c @@ -68,7 +68,7 @@ create_flicker (void) gtk_paned_pack1 (GTK_PANED (hpaned1), vpaned2, FALSE, TRUE); gtk_paned_set_position (GTK_PANED (vpaned2), 100); - hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show (hbox2); gtk_paned_pack1 (GTK_PANED (vpaned2), hbox2, FALSE, TRUE); @@ -82,7 +82,7 @@ create_flicker (void) gtk_widget_show (spinbutton8); gtk_box_pack_start (GTK_BOX (hbox2), spinbutton8, TRUE, TRUE, 0); - vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox1); gtk_paned_pack2 (GTK_PANED (vpaned2), vbox1, TRUE, TRUE); @@ -131,7 +131,7 @@ create_flicker (void) gtk_paned_pack2 (GTK_PANED (hpaned1), vpaned1, TRUE, TRUE); gtk_paned_set_position (GTK_PANED (vpaned1), 0); - hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_widget_show (hbox1); gtk_paned_pack1 (GTK_PANED (vpaned1), hbox1, FALSE, TRUE); @@ -150,7 +150,7 @@ create_flicker (void) gtk_widget_show (spinbutton19); gtk_box_pack_start (GTK_BOX (hbox1), spinbutton19, TRUE, TRUE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox2); gtk_paned_pack2 (GTK_PANED (vpaned1), vbox2, FALSE, FALSE); diff --git a/tests/print-editor.c b/tests/print-editor.c index 228c19582b..b7e241a148 100644 --- a/tests/print-editor.c +++ b/tests/print-editor.c @@ -399,10 +399,10 @@ create_custom_widget (GtkPrintOperation *operation, GtkWidget *vbox, *hbox, *font, *label; gtk_print_operation_set_custom_tab_label (operation, "Other"); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); @@ -566,9 +566,9 @@ preview_cb (GtkPrintOperation *op, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_transient_for (GTK_WINDOW (window), GTK_WINDOW (main_window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); page = gtk_spin_button_new_with_range (1, 100, 1); diff --git a/tests/prop-editor.c b/tests/prop-editor.c index be99e827ee..bd90e54397 100644 --- a/tests/prop-editor.c +++ b/tests/prop-editor.c @@ -849,7 +849,7 @@ property_widget (GObject *object, GFlagsClass *fclass; gint j; - prop_edit = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + prop_edit = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); fclass = G_FLAGS_CLASS (g_type_class_ref (spec->value_type)); @@ -898,7 +898,7 @@ property_widget (GObject *object, { GtkWidget *label, *button; - prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); label = gtk_label_new (""); button = gtk_button_new_with_label ("Properties"); @@ -1020,7 +1020,7 @@ properties_from_type (GObject *object, } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); @@ -1102,7 +1102,7 @@ child_properties_from_object (GObject *object) ++i; } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); @@ -1148,7 +1148,7 @@ children_from_object (GObject *object) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, i, i + 1); - prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); str = object_label (object, NULL); label = gtk_label_new (str); @@ -1164,7 +1164,7 @@ children_from_object (GObject *object) gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1); } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); @@ -1203,7 +1203,7 @@ cells_from_object (GObject *object) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_table_attach_defaults (GTK_TABLE (table), label, 0, 1, i, i + 1); - prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + prop_edit = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); str = object_label (object, NULL); label = gtk_label_new (str); @@ -1219,7 +1219,7 @@ cells_from_object (GObject *object) gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1); } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0); sw = gtk_scrolled_window_new (NULL, NULL); diff --git a/tests/testactions.c b/tests/testactions.c index cbd1c2ecb3..ec574c6912 100644 --- a/tests/testactions.c +++ b/tests/testactions.c @@ -360,7 +360,7 @@ create_window (GtkActionGroup *action_group) g_signal_connect_swapped (window, "destroy", G_CALLBACK (g_object_unref), merge); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box); gtk_widget_show (box); @@ -376,7 +376,7 @@ create_window (GtkActionGroup *action_group) g_error_free (error); } - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_end (GTK_BOX (box), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); diff --git a/tests/testadjustsize.c b/tests/testadjustsize.c index 75e09d155f..f82b966266 100644 --- a/tests/testadjustsize.c +++ b/tests/testadjustsize.c @@ -199,7 +199,7 @@ open_control_window (void) g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), window); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box); toggle = @@ -404,7 +404,7 @@ open_valigned_label_window (void) g_signal_connect (test_window, "delete-event", G_CALLBACK (gtk_main_quit), test_window); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (box); gtk_container_add (GTK_CONTAINER (window), box); diff --git a/tests/testassistant.c b/tests/testassistant.c index e936d02877..a6b4ef5e67 100644 --- a/tests/testassistant.c +++ b/tests/testassistant.c @@ -60,7 +60,7 @@ add_completion_test_page (GtkWidget *assistant, GtkWidget *check; PageData *pdata; - page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); check = gtk_check_button_new_with_label ("Complete"); gtk_container_add (GTK_CONTAINER (page), gtk_label_new (text)); @@ -337,7 +337,7 @@ create_nonlinear_assistant (GtkWidget *widget) nonlinear_assistant_forward_page, NULL, NULL); - page = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + page = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); button = gtk_radio_button_new_with_label (NULL, "branch A"); gtk_box_pack_start (GTK_BOX (page), button, FALSE, FALSE, 0); @@ -574,7 +574,7 @@ main (int argc, gchar *argv[]) g_signal_connect (G_OBJECT (window), "delete-event", G_CALLBACK (gtk_false), NULL); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (window), box); for (i = 0; i < G_N_ELEMENTS (buttons); i++) diff --git a/tests/testbbox.c b/tests/testbbox.c index 39a61f03b2..c2e46c0cdd 100644 --- a/tests/testbbox.c +++ b/tests/testbbox.c @@ -132,7 +132,7 @@ main (int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (G_OBJECT (window), "delete-event", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); /* GtkHButtonBox */ @@ -153,7 +153,7 @@ main (int argc, /* Options */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); combo_types = gtk_combo_box_text_new (); diff --git a/tests/testbuttons.c b/tests/testbuttons.c index a60e5e92fc..0fcc99225f 100644 --- a/tests/testbuttons.c +++ b/tests/testbuttons.c @@ -32,11 +32,11 @@ int main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_from_stock (GTK_STOCK_SAVE); gtk_container_add (GTK_CONTAINER (hbox), button); @@ -52,7 +52,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (box), hbox); button = g_object_new (GTK_TYPE_BUTTON, "label", "document-save", @@ -71,7 +71,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_label ("_Save"); gtk_container_add (GTK_CONTAINER (hbox), button); @@ -87,7 +87,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_mnemonic ("_Save"); gtk_container_add (GTK_CONTAINER (hbox), button); @@ -103,7 +103,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_label ("_Save"); gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON)); @@ -120,7 +120,7 @@ int main (int argc, char *argv[]) g_free (text); gtk_container_add (GTK_CONTAINER (hbox), label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (box), hbox); button = gtk_button_new_with_mnemonic ("_Save"); gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON)); diff --git a/tests/testcalendar.c b/tests/testcalendar.c index 86b087aeb1..1960c5e0e4 100644 --- a/tests/testcalendar.c +++ b/tests/testcalendar.c @@ -468,12 +468,12 @@ create_calendar(void) G_CALLBACK (calendar_next_year), &calendar_data); - rpane = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); + rpane = gtk_box_new (GTK_ORIENTATION_VERTICAL, DEF_PAD_SMALL); gtk_paned_pack2 (GTK_PANED (hpaned), rpane, FALSE, FALSE); /* Build the right font-button */ - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, DEF_PAD_SMALL); frame = create_frame ("Options", vbox, 1, 0); gtk_box_pack_start (GTK_BOX (rpane), frame, FALSE, TRUE, 0); size = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); @@ -493,7 +493,7 @@ create_calendar(void) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size, label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -513,7 +513,7 @@ create_calendar(void) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size, label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -533,14 +533,14 @@ create_calendar(void) gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_size_group_add_widget (size, label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); /* Build the right details frame */ - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, DEF_PAD_SMALL); frame = create_frame ("Details", vbox, 1, 1); gtk_box_pack_start (GTK_BOX (rpane), frame, FALSE, TRUE, 0); @@ -562,7 +562,7 @@ create_calendar(void) gtk_box_pack_start (GTK_BOX (vbox), scroller, FALSE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, DEF_PAD_SMALL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, DEF_PAD_SMALL); align = gtk_alignment_new (0.0, 0.5, 0.0, 0.0); gtk_container_add (GTK_CONTAINER (align), hbox); gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, TRUE, 0); @@ -593,7 +593,7 @@ create_calendar(void) /* Build the Right frame with the flags in */ - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); frame = create_expander ("Flags", vbox, 1, 0); gtk_box_pack_start (GTK_BOX (rpane), frame, TRUE, TRUE, 0); @@ -614,24 +614,25 @@ create_calendar(void) * Build the Signal-event part. */ - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, DEF_PAD_SMALL); + gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); frame = create_frame ("Signal Events", vbox, 1, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.last_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.last_sig, FALSE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); calendar_data.prev_sig = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), calendar_data.prev_sig, FALSE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); label = gtk_label_new ("Second previous signal:"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); @@ -649,7 +650,7 @@ create_calendar(void) g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL); gtk_container_add (GTK_CONTAINER (bbox), button); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, DEF_PAD_SMALL); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, DEF_PAD_SMALL); gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0); diff --git a/tests/testcellrenderertext.c b/tests/testcellrenderertext.c index ebdb04ccac..6e831cc3b3 100644 --- a/tests/testcellrenderertext.c +++ b/tests/testcellrenderertext.c @@ -263,7 +263,7 @@ main (int argc, char **argv) G_CALLBACK (gtk_main_quit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 12); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 12); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_add (GTK_CONTAINER (window), vbox); /* LTR */ diff --git a/tests/testcombo.c b/tests/testcombo.c index 88179df294..4a04f1a6bd 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -1064,14 +1064,14 @@ main (int argc, char **argv) gtk_container_set_border_width (GTK_CONTAINER (window), 5); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); + mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_container_add (GTK_CONTAINER (window), mainbox); /* GtkCellView */ tmp = gtk_frame_new ("GtkCellView"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1096,7 +1096,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (list)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1138,7 +1138,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (dynamic list)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1184,7 +1184,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (custom)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1244,7 +1244,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (tree)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1289,7 +1289,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox (grid mode)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1301,7 +1301,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("GtkComboBox with entry"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1314,7 +1314,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("What are you ?"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1339,7 +1339,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("Where are you ?"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); @@ -1372,7 +1372,7 @@ main (int argc, char **argv) tmp = gtk_frame_new ("Unconstrained Menu"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); - boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (boom), 5); gtk_container_add (GTK_CONTAINER (tmp), boom); diff --git a/tests/testcombochange.c b/tests/testcombochange.c index 54b0d94d6b..c9da758796 100644 --- a/tests/testcombochange.c +++ b/tests/testcombochange.c @@ -260,11 +260,11 @@ main (int argc, char **argv) content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_set_border_width (GTK_CONTAINER (hbox), 12); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); - combo_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + combo_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_box_pack_start (GTK_BOX (hbox), combo_vbox, FALSE, FALSE, 0); label = gtk_label_new (NULL); @@ -300,7 +300,7 @@ main (int argc, char **argv) gtk_container_add (GTK_CONTAINER (scrolled_window), text_view); - button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_box_pack_start (GTK_BOX (hbox), button_vbox, FALSE, FALSE, 0); gtk_window_set_default_size (GTK_WINDOW (dialog), 500, 300); diff --git a/tests/testellipsise.c b/tests/testellipsise.c index b3a69993b6..291caaf735 100644 --- a/tests/testellipsise.c +++ b/tests/testellipsise.c @@ -133,7 +133,7 @@ main (int argc, char *argv[]) gtk_window_set_default_size (GTK_WINDOW (window), 400, 300); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (window), vbox); combo = gtk_combo_box_text_new (); diff --git a/tests/testentrycompletion.c b/tests/testentrycompletion.c index 23789ea582..bf7a31fc82 100644 --- a/tests/testentrycompletion.c +++ b/tests/testentrycompletion.c @@ -301,7 +301,7 @@ add_with_prop_edit_button (GtkWidget *vbox, GtkWidget *entry, GtkEntryCompletion { GtkWidget *hbox, *button; - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); @@ -327,7 +327,7 @@ main (int argc, char *argv[]) gtk_container_set_border_width (GTK_CONTAINER (window), 5); g_signal_connect (window, "delete_event", gtk_main_quit, NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); diff --git a/tests/testexpand.c b/tests/testexpand.c index c4a874ddbe..937b8110d7 100644 --- a/tests/testexpand.c +++ b/tests/testexpand.c @@ -63,9 +63,9 @@ create_box_window (void) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Boxes"); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); - box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (box1), gtk_label_new ("VBox 1 Top"), diff --git a/tests/testfilechooser.c b/tests/testfilechooser.c index 289562a34f..dcefbc1eb3 100644 --- a/tests/testfilechooser.c +++ b/tests/testfilechooser.c @@ -600,7 +600,7 @@ main (int argc, char **argv) /* Preview widget */ /* THIS IS A TERRIBLE PREVIEW WIDGET, AND SHOULD NOT BE COPIED AT ALL. */ - preview_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + preview_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); /*gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (dialog), preview_vbox);*/ preview_label = gtk_label_new (NULL); diff --git a/tests/testfilechooserbutton.c b/tests/testfilechooserbutton.c index 3f13bd93c3..329c64a4e2 100644 --- a/tests/testfilechooserbutton.c +++ b/tests/testfilechooserbutton.c @@ -169,7 +169,7 @@ tests_button_clicked_cb (GtkButton *real_button, gtk_window_set_transient_for (GTK_WINDOW (tests), GTK_WINDOW (gtk_widget_get_toplevel (user_data))); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (tests), box); gtk_widget_show (box); @@ -291,7 +291,7 @@ main (int argc, g_signal_connect (win, "style-set", G_CALLBACK (win_style_set_cb), NULL); g_signal_connect (win, "response", G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 18); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 18); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (win))), vbox); frame = gtk_frame_new ("GtkFileChooserButton"); @@ -305,11 +305,11 @@ main (int argc, label_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); - group_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + group_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_add (GTK_CONTAINER (alignment), group_box); /* OPEN */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (group_box), hbox, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic ("_Open:"); @@ -338,7 +338,7 @@ main (int argc, gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); /* SELECT_FOLDER */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 12); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_box_pack_start (GTK_BOX (group_box), hbox, FALSE, FALSE, 0); label = gtk_label_new_with_mnemonic ("Select _Folder:"); diff --git a/tests/testframe.c b/tests/testframe.c index cf79473402..1ab6e2902f 100644 --- a/tests/testframe.c +++ b/tests/testframe.c @@ -101,7 +101,7 @@ int main (int argc, char **argv) g_signal_connect (G_OBJECT (window), "delete-event", gtk_main_quit, NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("Testing"); diff --git a/tests/testgrid.c b/tests/testgrid.c index 76d1a8cb52..d576848e98 100644 --- a/tests/testgrid.c +++ b/tests/testgrid.c @@ -78,7 +78,7 @@ text_grid (void) paned1 = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); gtk_container_add (GTK_CONTAINER (window), paned1); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_paned_pack1 (GTK_PANED (paned1), box, TRUE, FALSE); gtk_paned_pack2 (GTK_PANED (paned1), gtk_label_new ("Space"), TRUE, FALSE); @@ -117,13 +117,13 @@ box_comparison (void) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Grid vs. Box"); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_container_add (GTK_CONTAINER (vbox), gtk_label_new ("Above")); gtk_container_add (GTK_CONTAINER (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL)); - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (vbox), box); gtk_box_pack_start (GTK_BOX (box), test_widget ("1", "white"), FALSE, FALSE, 0); diff --git a/tests/testgtk.c b/tests/testgtk.c index 9a2229899a..dc50da0bdf 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -228,7 +228,7 @@ build_alpha_widgets (void) GTK_EXPAND | GTK_FILL, 0, 0, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); label = gtk_label_new (NULL); gtk_label_set_markup (GTK_LABEL (label), "Entry: "); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); @@ -298,7 +298,7 @@ create_alpha_window (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 12); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -687,7 +687,7 @@ create_buttons (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); table = gtk_table_new (3, 3, FALSE); @@ -765,7 +765,7 @@ create_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -810,10 +810,10 @@ create_toggle_buttons (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkToggleButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -833,7 +833,7 @@ create_toggle_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -942,7 +942,7 @@ create_check_buttons (GtkWidget *widget) box1 = gtk_dialog_get_content_area (GTK_DIALOG (window)); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1007,7 +1007,7 @@ create_radio_buttons (GtkWidget *widget) box1 = gtk_dialog_get_content_area (GTK_DIALOG (window)); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1034,7 +1034,7 @@ create_radio_buttons (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1132,13 +1132,13 @@ create_button_box (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 10); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame_horz = gtk_frame_new ("Horizontal Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (frame_horz), vbox); @@ -1165,7 +1165,7 @@ create_button_box (GtkWidget *widget) frame_vert = gtk_frame_new ("Vertical Button Boxes"); gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_container_add (GTK_CONTAINER (frame_vert), hbox); @@ -1567,10 +1567,10 @@ create_statusbar (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "statusbar"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -1625,7 +1625,7 @@ create_statusbar (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -1688,7 +1688,7 @@ create_handle_box (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 20); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); @@ -1700,7 +1700,7 @@ create_handle_box (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (vbox), separator); gtk_widget_show (separator); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 10); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); gtk_container_add (GTK_CONTAINER (vbox), hbox); gtk_widget_show (hbox); @@ -1911,9 +1911,9 @@ void create_labels (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Label"); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_box_pack_end (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); @@ -1926,7 +1926,7 @@ void create_labels (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (window), 5); @@ -1985,7 +1985,7 @@ void create_labels (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0); g_signal_connect (label, "activate-link", G_CALLBACK (activate_link), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); frame = gtk_frame_new ("Line wrapped label"); label = gtk_label_new ("This is an example of a line-wrapped label. It should not be taking "\ @@ -2092,7 +2092,7 @@ create_rotated_label (GtkWidget *widget) content_area = gtk_dialog_get_content_area (GTK_DIALOG (window)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); @@ -2100,7 +2100,7 @@ create_rotated_label (GtkWidget *widget) gtk_label_set_markup (GTK_LABEL (label), "Hello World\nRotate me"); gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0); - scale_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + scale_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), scale_hbox, FALSE, FALSE, 0); scale_label = gtk_label_new (NULL); @@ -2306,10 +2306,10 @@ create_reparent (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "reparent"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2318,7 +2318,7 @@ create_reparent (GtkWidget *widget) frame = gtk_frame_new ("Frame 1"); gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0); - box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box3), 5); gtk_container_add (GTK_CONTAINER (frame), box3); @@ -2341,7 +2341,7 @@ create_reparent (GtkWidget *widget) frame = gtk_frame_new ("Frame 2"); gtk_box_pack_start (GTK_BOX (box2), frame, TRUE, TRUE, 0); - box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box3), 5); gtk_container_add (GTK_CONTAINER (frame), box3); @@ -2359,7 +2359,7 @@ create_reparent (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2432,10 +2432,10 @@ create_resize_grips (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* North west */ @@ -2465,7 +2465,7 @@ create_resize_grips (GtkWidget *widget) g_signal_connect (area, "button_press_event", G_CALLBACK (grippy_button_press), GINT_TO_POINTER (GDK_WINDOW_EDGE_NORTH_EAST)); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* West */ @@ -2491,7 +2491,7 @@ create_resize_grips (GtkWidget *widget) GINT_TO_POINTER (GDK_WINDOW_EDGE_EAST)); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* South west */ @@ -2596,7 +2596,7 @@ create_saved_position (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); @@ -2616,7 +2616,7 @@ create_saved_position (GtkWidget *widget) NULL), NULL); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -2628,7 +2628,7 @@ create_saved_position (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), x_label, TRUE, TRUE, 0); g_object_set_data (G_OBJECT (window), "x", x_label); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -2646,7 +2646,7 @@ create_saved_position (GtkWidget *widget) NULL); gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); @@ -2696,10 +2696,10 @@ create_pixbuf (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); gtk_widget_realize(window); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2711,7 +2711,7 @@ create_pixbuf (GtkWidget *widget) pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL); label = gtk_label_new ("Pixbuf\ntest"); - box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box3), 2); gtk_container_add (GTK_CONTAINER (box3), pixbufwid); gtk_container_add (GTK_CONTAINER (box3), label); @@ -2723,7 +2723,7 @@ create_pixbuf (GtkWidget *widget) pixbufwid = new_pixbuf ("test.xpm", gdk_window, NULL); label = gtk_label_new ("Pixbuf\ntest"); - box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box3), 2); gtk_container_add (GTK_CONTAINER (box3), pixbufwid); gtk_container_add (GTK_CONTAINER (box3), label); @@ -2734,7 +2734,7 @@ create_pixbuf (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2778,10 +2778,10 @@ create_tooltips (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (widget)); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); @@ -2833,7 +2833,7 @@ create_tooltips (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -2896,7 +2896,7 @@ create_image (GtkWidget *widget) G_CALLBACK (gtk_widget_destroyed), &window); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -3205,7 +3205,7 @@ create_menus (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); @@ -3253,7 +3253,7 @@ create_menus (GtkWidget *widget) gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_widget_show (menuitem); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -3308,7 +3308,7 @@ create_menus (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -3615,9 +3615,10 @@ create_modal_window (GtkWidget *widget) gtk_window_set_modal (GTK_WINDOW(window),TRUE); /* Create widgets */ - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE,5); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); frame1 = gtk_frame_new ("Standard dialogs in modal form"); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE,5); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); + gtk_box_set_homogeneous (GTK_BOX (box2), TRUE); btnColor = gtk_button_new_with_label ("Color"); btnFile = gtk_button_new_with_label ("File Selection"); btnClose = gtk_button_new_with_label ("Close"); @@ -3973,15 +3974,15 @@ create_entry (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start (GTK_BOX (box2), hbox, TRUE, TRUE, 0); entry = gtk_entry_new (); @@ -4039,7 +4040,7 @@ create_entry (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -4079,7 +4080,7 @@ create_expander (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "expander"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); expander = gtk_expander_new ("The Hidden"); @@ -4166,17 +4167,17 @@ create_event_box (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "event box"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_modify_bg (window, GTK_STATE_NORMAL, &color); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (box1), hbox, TRUE, FALSE, 0); event_box = gtk_event_box_new (); gtk_box_pack_start (GTK_BOX (hbox), event_box, TRUE, FALSE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (event_box), vbox); g_signal_connect (event_box, "button_press_event", G_CALLBACK (event_box_label_pressed), @@ -4207,7 +4208,7 @@ create_event_box (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -4338,7 +4339,7 @@ create_size_group_window (GdkScreen *screen, g_object_unref (vgroup1); g_object_unref (vgroup2); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0); spin_button = gtk_spin_button_new_with_range (1, 100, 1); @@ -4596,23 +4597,23 @@ create_spins (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkSpinButton"); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 10); gtk_container_add (GTK_CONTAINER (window), main_vbox); frame = gtk_frame_new ("Not accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); /* Time, month, hex spinners */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 5); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Time :"); @@ -4630,7 +4631,7 @@ create_spins (GtkWidget *widget) gtk_entry_set_width_chars (GTK_ENTRY (spinner), 5); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Month :"); @@ -4654,7 +4655,7 @@ create_spins (GtkWidget *widget) gtk_entry_set_width_chars (GTK_ENTRY (spinner), 9); gtk_box_pack_start (GTK_BOX (vbox2), spinner, FALSE, TRUE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5); label = gtk_label_new ("Hex :"); @@ -4679,14 +4680,14 @@ create_spins (GtkWidget *widget) frame = gtk_frame_new ("Accelerated"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_container_add (GTK_CONTAINER (frame), vbox); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5); label = gtk_label_new ("Value :"); @@ -4699,7 +4700,7 @@ create_spins (GtkWidget *widget) gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 5); label = gtk_label_new ("Digits :"); @@ -4713,7 +4714,7 @@ create_spins (GtkWidget *widget) spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 5); button = gtk_check_button_new_with_label ("Snap to 0.5-ticks"); @@ -4732,7 +4733,7 @@ create_spins (GtkWidget *widget) val_label = gtk_label_new (""); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_button_new_with_label ("Value as Int"); @@ -4755,7 +4756,7 @@ create_spins (GtkWidget *widget) frame = gtk_frame_new ("Using Convenience Constructor"); gtk_box_pack_start (GTK_BOX (main_vbox), frame, TRUE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_container_add (GTK_CONTAINER (frame), hbox); @@ -4768,7 +4769,7 @@ create_spins (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 5); gtk_box_pack_start (GTK_BOX (hbox), val_label, TRUE, TRUE, 5); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); button = gtk_button_new_with_label ("Close"); @@ -4917,7 +4918,7 @@ create_cursors (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Cursors"); - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 0); gtk_container_add (GTK_CONTAINER (window), main_vbox); @@ -4931,7 +4932,7 @@ create_cursors (GtkWidget *widget) NULL); #ifdef GDK_WINDOWING_X11 - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -4953,7 +4954,7 @@ create_cursors (GtkWidget *widget) G_CALLBACK (change_cursor_theme), hbox); #endif - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0); @@ -5011,7 +5012,7 @@ create_cursors (GtkWidget *widget) NULL); gtk_box_pack_start (GTK_BOX (main_vbox), any, FALSE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, TRUE, 0); @@ -5105,7 +5106,7 @@ create_color_selection (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkColorButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -5423,7 +5424,7 @@ create_font_selection (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "GtkFontButton"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_container_set_border_width (GTK_CONTAINER (hbox), 8); gtk_container_add (GTK_CONTAINER (window), hbox); @@ -5621,7 +5622,7 @@ create_display_screen (GtkWidget *widget) g_signal_connect (window, "destroy", G_CALLBACK (gtk_widget_destroy), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); gtk_container_add (GTK_CONTAINER (window), vbox); frame = gtk_frame_new ("Select screen or display"); @@ -5816,12 +5817,12 @@ create_range_controls (GtkWidget *widget) gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, TRUE, TRUE, 0); gtk_widget_show (box2); @@ -5852,7 +5853,7 @@ create_range_controls (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (scale, -1, 200); @@ -5887,7 +5888,7 @@ create_range_controls (GtkWidget *widget) gtk_widget_show (separator); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -6118,11 +6119,13 @@ create_pages (GtkNotebook *notebook, gint start, gint end) child = gtk_frame_new (buffer); gtk_container_set_border_width (GTK_CONTAINER (child), 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE,0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_container_add (GTK_CONTAINER (child), vbox); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE,0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 5); button = gtk_check_button_new_with_label ("Fill Tab"); @@ -6144,7 +6147,7 @@ create_pages (GtkNotebook *notebook, gint start, gint end) gtk_widget_show_all (child); - label_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + label_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); pixwid = gtk_image_new_from_pixbuf (book_closed); g_object_set_data (G_OBJECT (child), "tab_pixmap", pixwid); @@ -6155,7 +6158,7 @@ create_pages (GtkNotebook *notebook, gint start, gint end) gtk_widget_show_all (label_box); - menu_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + menu_box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); pixwid = gtk_image_new_from_pixbuf (book_closed); g_object_set_data (G_OBJECT (child), "menu_pixmap", pixwid); @@ -6282,7 +6285,7 @@ create_notebook (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "notebook"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); sample_notebook = gtk_notebook_new (); @@ -6305,7 +6308,7 @@ create_notebook (GtkWidget *widget) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 10); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6315,7 +6318,7 @@ create_notebook (GtkWidget *widget) G_CALLBACK (notebook_popup), sample_notebook); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6332,7 +6335,8 @@ create_notebook (GtkWidget *widget) g_signal_connect (button, "clicked", G_CALLBACK (show_all_pages), sample_notebook); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, TRUE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10); + gtk_box_set_homogeneous (GTK_BOX (box2), TRUE); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); @@ -6505,7 +6509,7 @@ create_panes (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Panes"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); vpaned = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6598,7 +6602,7 @@ paned_keyboard_window1 (GtkWidget *widget) gtk_paned_pack1 (GTK_PANED (hpaned1), frame1, FALSE, TRUE); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); - vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (frame1), vbox1); button7 = gtk_button_new_with_label ("button7"); @@ -6620,7 +6624,7 @@ paned_keyboard_window1 (GtkWidget *widget) frame5 = gtk_frame_new (NULL); gtk_container_add (GTK_CONTAINER (frame2), frame5); - hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_container_add (GTK_CONTAINER (frame5), hbox1); button5 = gtk_button_new_with_label ("button5"); @@ -6695,7 +6699,7 @@ paned_keyboard_window2 (GtkWidget *widget) button13 = gtk_button_new_with_label ("button13"); gtk_container_add (GTK_CONTAINER (frame6), button13); - hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_paned_pack2 (GTK_PANED (hpaned2), hbox2, TRUE, TRUE); vpaned2 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -6747,7 +6751,7 @@ paned_keyboard_window3 (GtkWidget *widget) gtk_widget_get_screen (widget)); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window3), vbox2); label1 = gtk_label_new ("Three panes nested inside each other"); @@ -6821,7 +6825,7 @@ paned_keyboard_window4 (GtkWidget *widget) gtk_window_set_screen (GTK_WINDOW (window4), gtk_widget_get_screen (widget)); - vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window4), vbox3); label2 = gtk_label_new ("Widget tree:\n\nhpaned \n - vpaned\n - hbox\n - vpaned\n - vpaned\n - vpaned\n"); @@ -6840,7 +6844,7 @@ paned_keyboard_window4 (GtkWidget *widget) button18 = gtk_button_new_with_label ("button18"); gtk_paned_pack2 (GTK_PANED (vpaned3), button18, TRUE, TRUE); - hbox3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox3 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_paned_pack2 (GTK_PANED (hpaned6), hbox3, TRUE, TRUE); vpaned4 = gtk_paned_new (GTK_ORIENTATION_VERTICAL); @@ -7221,7 +7225,7 @@ create_wmhints (GtkWidget *widget) gdk_window_set_decorations (gdk_window, GDK_DECOR_ALL | GDK_DECOR_MENU); gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_RESIZE); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); gtk_widget_show (box1); @@ -7236,7 +7240,7 @@ create_wmhints (GtkWidget *widget) gtk_widget_show (separator); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); @@ -7304,7 +7308,7 @@ tracking_label (GtkWidget *window) GtkWidget *hbox; GtkWidget *button; - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); g_signal_connect_object (hbox, "destroy", @@ -7407,7 +7411,7 @@ get_state_controls (GtkWidget *window) GtkWidget *button_above; GtkWidget *button_below; - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); button = gtk_button_new_with_label ("Stick"); g_signal_connect_object (button, @@ -7517,7 +7521,7 @@ create_window_states (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Window states"); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); iconified = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -7838,7 +7842,7 @@ make_gravity_window (GtkWidget *destroy_with, gtk_window_set_screen (GTK_WINDOW (window), gtk_widget_get_screen (destroy_with)); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -7972,7 +7976,7 @@ window_controls (GtkWidget *window) window, G_CONNECT_SWAPPED); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (control_window), vbox); @@ -8377,14 +8381,14 @@ create_progress_bar (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (pdata->window), "GtkProgressBar"); gtk_container_set_border_width (GTK_CONTAINER (pdata->window), 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, TRUE, 0); frame = gtk_frame_new ("Progress"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); align = gtk_alignment_new (0.5, 0.5, 0, 0); @@ -8400,7 +8404,7 @@ create_progress_bar (GtkWidget *widget) align = gtk_alignment_new (0.5, 0.5, 0, 0); gtk_box_pack_start (GTK_BOX (vbox2), align, FALSE, FALSE, 5); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add (GTK_CONTAINER (align), hbox); label = gtk_label_new ("Label updated by user :"); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); @@ -8410,7 +8414,7 @@ create_progress_bar (GtkWidget *widget) frame = gtk_frame_new ("Options"); gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (frame), vbox2); tab = gtk_table_new (7, 2, FALSE); @@ -8425,7 +8429,7 @@ create_progress_bar (GtkWidget *widget) pdata->omenu1 = build_option_menu (items1, 4, 0, progressbar_toggle_orientation, pdata); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8439,7 +8443,7 @@ create_progress_bar (GtkWidget *widget) GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8464,7 +8468,7 @@ create_progress_bar (GtkWidget *widget) 2, // PANGO_ELLIPSIZE_MIDDLE progressbar_toggle_ellipsize, pdata); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_table_attach (GTK_TABLE (tab), hbox, 1, 2, 10, 11, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 5, 5); @@ -8754,7 +8758,7 @@ create_properties (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "test properties"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1); gtk_container_add (GTK_CONTAINER (window), vbox); label = gtk_label_new ("This is just a dumb test to test properties.\nIf you need a generic module, get GLE."); @@ -8916,7 +8920,7 @@ create_snapshot (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "test snapshot"); gtk_container_set_border_width (GTK_CONTAINER (window), 10); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1); gtk_container_add (GTK_CONTAINER (window), vbox); button = gtk_button_new_with_label ("Snapshot widget"); @@ -9038,7 +9042,7 @@ create_selection_test (GtkWidget *widget) /* Create the list */ - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -9192,7 +9196,7 @@ create_scroll_test (GtkWidget *widget) gtk_window_set_title (GTK_WINDOW (window), "Scroll Test"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (content_area), hbox, TRUE, TRUE, 0); gtk_widget_show (hbox); @@ -9591,7 +9595,7 @@ create_rc_file (GtkWidget *widget) frame = gtk_aspect_frame_new ("Testing RC file prioritization", 0.5, 0.5, 0.0, TRUE); gtk_box_pack_start (GTK_BOX (content_area), frame, FALSE, FALSE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (frame), vbox); label = gtk_label_new ("This label should be red"); @@ -9863,7 +9867,7 @@ create_styles (GtkWidget *widget) gtk_box_pack_start (GTK_BOX (action_area), button, TRUE, TRUE, 0); gtk_widget_show (button); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); gtk_box_pack_start (GTK_BOX (content_area), vbox, FALSE, FALSE, 0); @@ -10069,7 +10073,7 @@ create_main_window (void) G_CALLBACK (gtk_false), NULL); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box1); if (gtk_micro_version > 0) @@ -10095,7 +10099,7 @@ create_main_window (void) GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (box1), scrolled_window, TRUE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (scrolled_window), box2); gtk_container_set_focus_vadjustment (GTK_CONTAINER (box2), @@ -10118,7 +10122,7 @@ create_main_window (void) separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); diff --git a/tests/testheightforwidth.c b/tests/testheightforwidth.c index b105344f37..c4774d57bd 100644 --- a/tests/testheightforwidth.c +++ b/tests/testheightforwidth.c @@ -942,7 +942,7 @@ create_window (void) gint i; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width (GTK_CONTAINER (window), 8); diff --git a/tests/testiconview-keynav.c b/tests/testiconview-keynav.c index 928fbc5d93..07e9479fa2 100644 --- a/tests/testiconview-keynav.c +++ b/tests/testiconview-keynav.c @@ -235,7 +235,7 @@ main (int argc, char *argv[]) gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); views.header1 = g_object_new (GTK_TYPE_LABEL, diff --git a/tests/testiconview.c b/tests/testiconview.c index 3657e96ebb..053b7636e8 100644 --- a/tests/testiconview.c +++ b/tests/testiconview.c @@ -433,7 +433,7 @@ main (gint argc, gchar **argv) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW (window), 700, 400); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); paned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); diff --git a/tests/testinput.c b/tests/testinput.c index a7e51af581..ad7b7e2415 100644 --- a/tests/testinput.c +++ b/tests/testinput.c @@ -303,7 +303,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_name (window, "Test Input"); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (vbox); diff --git a/tests/testmenubars.c b/tests/testmenubars.c index 5012259e9d..250b515798 100644 --- a/tests/testmenubars.c +++ b/tests/testmenubars.c @@ -127,9 +127,9 @@ main (int argc, char **argv) gtk_window_set_title (GTK_WINDOW (window), "menus"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); - box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box1 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + box3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); /* Rotation by 0 and 180 degrees is broken in Pango, #166832 */ menubar1 = create_menubar (GTK_PACK_DIRECTION_LTR, GTK_PACK_DIRECTION_LTR, 0.01); @@ -155,7 +155,7 @@ main (int argc, char **argv) gtk_box_pack_start (GTK_BOX (box1), separator, FALSE, TRUE, 0); gtk_widget_show (separator); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 10); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10); gtk_container_set_border_width (GTK_CONTAINER (box2), 10); gtk_box_pack_start (GTK_BOX (box1), box2, FALSE, TRUE, 0); gtk_widget_show (box2); diff --git a/tests/testmerge.c b/tests/testmerge.c index fdd9932bbd..1e43bb818b 100644 --- a/tests/testmerge.c +++ b/tests/testmerge.c @@ -626,7 +626,7 @@ main (int argc, char **argv) gtk_table_attach (GTK_TABLE (table), frame, 0,2, 1,2, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); - menu_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + menu_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_set_border_width (GTK_CONTAINER (menu_box), 2); gtk_container_add (GTK_CONTAINER (frame), menu_box); @@ -667,7 +667,7 @@ main (int argc, char **argv) gtk_table_attach (GTK_TABLE (table), frame, 0,1, 0,1, GTK_FILL, GTK_FILL|GTK_EXPAND, 0, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_container_set_border_width (GTK_CONTAINER (vbox), 2); gtk_container_add (GTK_CONTAINER (frame), vbox); diff --git a/tests/testmultiscreen.c b/tests/testmultiscreen.c index 52a05dbed4..19e206130e 100644 --- a/tests/testmultiscreen.c +++ b/tests/testmultiscreen.c @@ -122,7 +122,8 @@ main (int argc, char *argv[]) g_signal_connect (window[i], "destroy", G_CALLBACK (gtk_main_quit), NULL); - vbox[i] = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); + vbox[i] = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (vbox[i]), TRUE); gtk_container_add (GTK_CONTAINER (window[i]), vbox[i]); button = g_object_new (GTK_TYPE_BUTTON, @@ -151,8 +152,9 @@ main (int argc, char *argv[]) gtk_widget_show_all (window[i]); moving_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - moving_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); - + moving_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (moving_vbox), TRUE); + gtk_container_add (GTK_CONTAINER (moving_window), moving_vbox); moving_button = g_object_new (GTK_TYPE_BUTTON, "label", "Move to Next Screen", diff --git a/tests/testoffscreen.c b/tests/testoffscreen.c index a10f8fa82a..ff9ba6b9e0 100644 --- a/tests/testoffscreen.c +++ b/tests/testoffscreen.c @@ -197,15 +197,15 @@ create_widgets (void) GtkWidget *vbox, *hbox, *label, *combo, *entry, *button, *cb; GtkWidget *sw, *text_view; - main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (main_vbox), main_hbox, TRUE, TRUE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (main_hbox), vbox, TRUE, TRUE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("This label may be ellipsized\nto make it fit."); @@ -307,7 +307,7 @@ main (int argc, G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, @@ -351,7 +351,7 @@ main (int argc, G_CALLBACK (scale_changed), offscreen2); - box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_offscreen_box_add2 (GTK_OFFSCREEN_BOX (offscreen2), box2); widget2 = gtk_button_new_with_label ("Offscreen in offscreen"); diff --git a/tests/testorientable.c b/tests/testorientable.c index 11e2ef59b5..b3fa0e2d56 100644 --- a/tests/testorientable.c +++ b/tests/testorientable.c @@ -61,7 +61,7 @@ main (int argc, char **argv) gtk_table_set_col_spacings (GTK_TABLE (table), 12); /* GtkBox */ - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6, FALSE); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); orientables = g_list_prepend (orientables, box); gtk_table_attach_defaults (GTK_TABLE (table), box, 0, 1, 1, 2); gtk_box_pack_start (GTK_BOX (box), diff --git a/tests/testrecentchoosermenu.c b/tests/testrecentchoosermenu.c index 1bcde3307a..3060811ade 100644 --- a/tests/testrecentchoosermenu.c +++ b/tests/testrecentchoosermenu.c @@ -164,7 +164,7 @@ main (int argc, char *argv[]) accel_group = gtk_accel_group_new (); gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), box); gtk_widget_show (box); diff --git a/tests/testscale.c b/tests/testscale.c index 0ee26749c9..8621c3f2c9 100755 --- a/tests/testscale.c +++ b/tests/testscale.c @@ -46,7 +46,7 @@ int main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Ranges with marks"); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); frame = gtk_frame_new ("No marks"); scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, @@ -96,7 +96,7 @@ int main (int argc, char *argv[]) gtk_container_add (GTK_CONTAINER (frame), scale); gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); - box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + box2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_box_pack_start (GTK_BOX (box), box2, TRUE, TRUE, 0); frame = gtk_frame_new ("No marks"); diff --git a/tests/testscrolledwindow.c b/tests/testscrolledwindow.c index ddfaf85cb9..0c9927971e 100644 --- a/tests/testscrolledwindow.c +++ b/tests/testscrolledwindow.c @@ -60,8 +60,8 @@ scrollable_policy (void) GtkWidget *viewport, *label, *expander, *widget; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 6); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6); gtk_container_set_border_width (GTK_CONTAINER (window), 8); @@ -102,14 +102,14 @@ scrollable_policy (void) /* Add controls here */ expander = gtk_expander_new ("Controls"); gtk_expander_set_expanded (GTK_EXPANDER (expander), TRUE); - cntl = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); + cntl = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_widget_show (cntl); gtk_widget_show (expander); gtk_container_add (GTK_CONTAINER (expander), cntl); gtk_box_pack_start (GTK_BOX (vbox), expander, FALSE, FALSE, 0); /* Add Horizontal policy control here */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_widget_show (hbox); widget = gtk_label_new ("hscroll-policy"); @@ -129,7 +129,7 @@ scrollable_policy (void) G_CALLBACK (horizontal_policy_changed), viewport); /* Add Vertical policy control here */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_widget_show (hbox); widget = gtk_label_new ("vscroll-policy"); @@ -180,7 +180,7 @@ scrollable_policy (void) G_CALLBACK (content_height_changed), swindow); /* Add Label orientation control here */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_widget_show (hbox); widget = gtk_label_new ("label-flip"); diff --git a/tests/testselection.c b/tests/testselection.c index dfe2ed118d..b6b79d3a2f 100644 --- a/tests/testselection.c +++ b/tests/testselection.c @@ -442,7 +442,7 @@ main (int argc, char *argv[]) gtk_table_attach_defaults (GTK_TABLE (table), scrolled, 0, 1, 1, 2); gtk_widget_show (selection_text); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_table_attach (GTK_TABLE (table), hbox, 0, 2, 3, 4, GTK_EXPAND | GTK_FILL, 0, 0, 0); gtk_widget_show (hbox); diff --git a/tests/testsocket.c b/tests/testsocket.c index 3b44fd0bb8..e822e13e32 100644 --- a/tests/testsocket.c +++ b/tests/testsocket.c @@ -97,7 +97,7 @@ create_socket (void) Socket *socket = g_new (Socket, 1); - socket->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + socket->box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); socket->socket = gtk_socket_new (); @@ -321,7 +321,7 @@ main (int argc, char *argv[]) gtk_window_set_title (GTK_WINDOW (window), "Socket Test"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); menubar = gtk_menu_bar_new (); @@ -375,13 +375,13 @@ main (int argc, char *argv[]) G_CALLBACK (grab_window_toggled), window); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX(vbox), hbox, FALSE, FALSE, 0); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX(hbox), entry, FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); box = hbox; diff --git a/tests/testsocket_common.c b/tests/testsocket_common.c index 7d147f32a6..995dbf9ee4 100644 --- a/tests/testsocket_common.c +++ b/tests/testsocket_common.c @@ -217,7 +217,8 @@ create_content (GtkWindow *window, gboolean local) frame = gtk_frame_new (local? "Local" : "Remote"); gtk_container_set_border_width (GTK_CONTAINER (frame), 3); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); gtk_container_set_border_width (GTK_CONTAINER (vbox), 3); gtk_container_add (GTK_CONTAINER (frame), vbox); diff --git a/tests/testspinbutton.c b/tests/testspinbutton.c index 535a35cb2c..4759a9d647 100644 --- a/tests/testspinbutton.c +++ b/tests/testspinbutton.c @@ -31,7 +31,7 @@ main (int argc, char **argv) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "delete_event", gtk_main_quit, NULL); - mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 2); + mainbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); gtk_container_add (GTK_CONTAINER (window), mainbox); for (max = 9; max <= 999999999; max = max * 10 + 9) { @@ -42,8 +42,8 @@ main (int argc, char **argv) 0.0); GtkWidget *spin = gtk_spin_button_new (adj, 1.0, 0); - GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); - + GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); + gtk_box_pack_start (GTK_BOX (hbox), spin, FALSE, diff --git a/tests/testtoolbar.c b/tests/testtoolbar.c index cd55b032bd..f45da9ccda 100644 --- a/tests/testtoolbar.c +++ b/tests/testtoolbar.c @@ -530,12 +530,12 @@ main (gint argc, gchar **argv) gtk_table_attach (GTK_TABLE (table), toolbar, 0,2, 0,1, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); - hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 3); + hbox1 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 3); gtk_container_set_border_width (GTK_CONTAINER (hbox1), 5); gtk_table_attach (GTK_TABLE (table), hbox1, 1,2, 1,2, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); - hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox2 = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_container_set_border_width (GTK_CONTAINER (hbox2), 5); gtk_table_attach (GTK_TABLE (table), hbox2, 1,2, 2,3, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); @@ -706,7 +706,7 @@ main (gint argc, gchar **argv) add_item_to_list (store, item, "Terminal"); gtk_toolbar_insert (GTK_TOOLBAR (toolbar), item, -1); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); gtk_table_attach (GTK_TABLE (table), hbox, 1,2, 4,5, GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0); diff --git a/tests/testtooltips.c b/tests/testtooltips.c index 5ec25abfcd..9cb1fcc055 100644 --- a/tests/testtooltips.c +++ b/tests/testtooltips.c @@ -275,7 +275,7 @@ main (int argc, char *argv[]) g_signal_connect (window, "delete_event", G_CALLBACK (gtk_main_quit), NULL); - box = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 3); + box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); gtk_container_add (GTK_CONTAINER (window), box); /* A check button using the tooltip-markup property */ diff --git a/tests/testtreecolumns.c b/tests/testtreecolumns.c index a0f6841b7a..478329494e 100644 --- a/tests/testtreecolumns.c +++ b/tests/testtreecolumns.c @@ -812,11 +812,11 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); gtk_window_set_default_size (GTK_WINDOW (window), 500, 300); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0); /* Left Pane */ @@ -837,7 +837,7 @@ main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (hbox), swindow, TRUE, TRUE, 0); /* Middle Pane */ - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_box_pack_start (GTK_BOX (hbox), vbox2, FALSE, FALSE, 0); bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL); @@ -878,7 +878,7 @@ main (int argc, char *argv[]) /* Right Pane */ - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 0); swindow = gtk_scrolled_window_new (NULL, NULL); @@ -946,7 +946,7 @@ main (int argc, char *argv[]) gtk_box_pack_start (GTK_BOX (vbox), gtk_separator_new (GTK_ORIENTATION_HORIZONTAL), FALSE, FALSE, 0); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Add new Column"); g_signal_connect (button, "clicked", G_CALLBACK (add_clicked), left_tree_model); diff --git a/tests/testtreecolumnsizing.c b/tests/testtreecolumnsizing.c index 68aa9a7e60..2ba563175e 100644 --- a/tests/testtreecolumnsizing.c +++ b/tests/testtreecolumnsizing.c @@ -178,7 +178,7 @@ main (int argc, char **argv) g_signal_connect (window, "delete-event", G_CALLBACK (gtk_main_quit), NULL); gtk_container_set_border_width (GTK_CONTAINER (window), 5); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_container_add (GTK_CONTAINER (window), vbox); /* Option menu contents */ diff --git a/tests/testtreeflow.c b/tests/testtreeflow.c index aab1051864..600ac8b207 100644 --- a/tests/testtreeflow.c +++ b/tests/testtreeflow.c @@ -135,7 +135,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Reflow test"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Incremental Reflow Test"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -159,7 +159,7 @@ main (int argc, char *argv[]) "text", TEXT_COLUMN, NULL); gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); button = gtk_button_new_with_mnemonic ("_Futz!!"); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0); diff --git a/tests/testtreefocus.c b/tests/testtreefocus.c index 43c1407dcb..4a244ea583 100644 --- a/tests/testtreefocus.c +++ b/tests/testtreefocus.c @@ -353,7 +353,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Card planning sheet"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Jonathan's Holiday Card Planning Sheet"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -469,7 +469,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Model"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("The model revealed"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); diff --git a/tests/testtreesort.c b/tests/testtreesort.c index 0d90c55269..63c03bb25c 100644 --- a/tests/testtreesort.c +++ b/tests/testtreesort.c @@ -125,7 +125,7 @@ main (int argc, char *argv[]) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Words, words, words - Window 1"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_box_pack_start (GTK_BOX (vbox), gtk_label_new ("Jonathan and Kristian's list of cool words. (And Anders' cool list of numbers) \n\nThis is just a GtkTreeStore"), FALSE, FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -255,7 +255,7 @@ main (int argc, char *argv[]) gtk_window_set_title (GTK_WINDOW (window2), "Words, words, words - window 2"); g_signal_connect (window2, "destroy", gtk_main_quit, NULL); - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox2), 8); gtk_box_pack_start (GTK_BOX (vbox2), gtk_label_new ("Jonathan and Kristian's list of words.\n\nA GtkTreeModelSort wrapping the GtkTreeStore of window 1"), @@ -327,7 +327,7 @@ main (int argc, char *argv[]) gtk_window_set_title (GTK_WINDOW (window3), "Words, words, words - Window 3"); g_signal_connect (window3, "destroy", gtk_main_quit, NULL); - vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox3 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox3), 8); gtk_box_pack_start (GTK_BOX (vbox3), gtk_label_new ("Jonathan and Kristian's list of words.\n\nA GtkTreeModelSort wrapping the GtkTreeModelSort of window 2"), diff --git a/tests/testvolumebutton.c b/tests/testvolumebutton.c index 29bf4891ad..29b3e33f94 100644 --- a/tests/testvolumebutton.c +++ b/tests/testvolumebutton.c @@ -88,7 +88,7 @@ main (int argc, window = gtk_window_new (GTK_WINDOW_TOPLEVEL); button = gtk_volume_button_new (); button2 = gtk_volume_button_new (); - box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 0); + box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); g_signal_connect (G_OBJECT (button), "value-changed", G_CALLBACK (value_changed), diff --git a/tests/testwindows.c b/tests/testwindows.c index 09e2960751..e3e9ab26c4 100644 --- a/tests/testwindows.c +++ b/tests/testwindows.c @@ -798,7 +798,7 @@ main (int argc, char **argv) g_signal_connect (G_OBJECT (window), "delete-event", gtk_main_quit, NULL); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5); gtk_container_add (GTK_CONTAINER (window), hbox); gtk_widget_show (hbox); @@ -823,9 +823,9 @@ main (int argc, char **argv) gtk_widget_show (darea); gtk_widget_modify_bg (darea, GTK_STATE_NORMAL, &black); - - - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 5); + + + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, diff --git a/tests/testxinerama.c b/tests/testxinerama.c index 8ecca105fd..0dc822978a 100644 --- a/tests/testxinerama.c +++ b/tests/testxinerama.c @@ -109,7 +109,8 @@ main (int argc, char *argv[]) primary_monitor); gtk_label_set_markup (GTK_LABEL (label), str); g_free (str); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, TRUE, 1); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 1); + gtk_box_set_homogeneous (GTK_BOX (vbox), TRUE); gtk_container_add (GTK_CONTAINER (window), vbox); gtk_container_add (GTK_CONTAINER (vbox), label); button = gtk_button_new_with_label ("Query current monitor"); diff --git a/tests/treestoretest.c b/tests/treestoretest.c index 5b4c72a001..8129683ba0 100644 --- a/tests/treestoretest.c +++ b/tests/treestoretest.c @@ -303,7 +303,7 @@ make_window (gint view_type) break; } - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); gtk_container_set_border_width (GTK_CONTAINER (vbox), 8); gtk_window_set_default_size (GTK_WINDOW (window), 300, 350); scrolled_window = gtk_scrolled_window_new (NULL, NULL); @@ -351,7 +351,7 @@ make_window (gint view_type) gtk_widget_set_sensitive (button, FALSE); button = gtk_button_new_with_label ("gtk_tree_store_insert"); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); @@ -362,7 +362,7 @@ make_window (gint view_type) tree_view); button = gtk_button_new_with_label ("gtk_tree_store_set"); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); @@ -373,7 +373,7 @@ make_window (gint view_type) tree_view); button = gtk_button_new_with_label ("gtk_tree_store_insert_with_values"); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 8); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8); entry = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (hbox), button, TRUE, TRUE, 0); From c70f3e26d22f8e6149930183fcd4398df7747444 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Oct 2010 14:34:35 -0400 Subject: [PATCH 0108/1463] GtkAssistant: Mention custom pages in the introduction --- gtk/gtkassistant.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index 4374f1f5bc..ba3164296a 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -39,6 +39,10 @@ * completion and * committed status. * + * If you have a case that doesn't quite fit in #GtkAssistants way of + * handling buttons, you can use the #GTK_ASSISTANT_PAGE_CUSTOM page type + * and handle buttons yourself. + * * * GtkAssistant as GtkBuildable * From 8979855f60a92a1b612fbdd168c61122f96a3e81 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 31 Oct 2010 20:00:38 +0100 Subject: [PATCH 0109/1463] tests: missed these two gtk_box_new() which sneaked in by rebasing... --- tests/testscrolledwindow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testscrolledwindow.c b/tests/testscrolledwindow.c index 0c9927971e..97177f9952 100644 --- a/tests/testscrolledwindow.c +++ b/tests/testscrolledwindow.c @@ -149,7 +149,7 @@ scrollable_policy (void) G_CALLBACK (vertical_policy_changed), viewport); /* Content size controls */ - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); widget = gtk_label_new ("min-content-width"); gtk_widget_show (widget); @@ -164,7 +164,7 @@ scrollable_policy (void) g_signal_connect (G_OBJECT (widget), "value-changed", G_CALLBACK (content_width_changed), swindow); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 2); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); widget = gtk_label_new ("min-content-height"); gtk_widget_show (widget); From 8dd7023b520482ac5126253c4d46823189b65846 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 31 Oct 2010 20:03:55 +0100 Subject: [PATCH 0110/1463] gtk: fix automatic width of spin buttons which have no width in chars set --- gtk/gtkspinbutton.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 023d6b6e50..e791d79928 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -720,18 +720,18 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, string_len = compute_double_length (priv->adjustment->upper, priv->digits); w = PANGO_PIXELS (MIN (string_len, max_string_len) * digit_width); - *minimum = MAX (*minimum, w); - *natural = MAX (*natural, w); + width = MAX (width, w); string_len = compute_double_length (priv->adjustment->lower, priv->digits); w = PANGO_PIXELS (MIN (string_len, max_string_len) * digit_width); - *minimum = MAX (*minimum, w); - *natural = MAX (*natural, w); + width = MAX (width, w); _gtk_entry_get_borders (entry, &xborder, &yborder); _gtk_entry_effective_inner_border (entry, &inner_border); - *minimum += xborder * 2 + inner_border.left + inner_border.right; - *natural += xborder * 2 + inner_border.left + inner_border.right; + width += xborder * 2 + inner_border.left + inner_border.right; + + *minimum = width; + *natural = width; } *minimum += arrow_size + 2 * style->xthickness; From ca6398a6490be730cae1d212a81262fe799b4057 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sun, 31 Oct 2010 20:16:19 +0100 Subject: [PATCH 0111/1463] gtk: remove all border_width handling from the button box and let GtkContainer do the job; fixes doubled border widths. GtkBox did already delegate border handling to Gtkcontainer, which interacted badly with a subclass that didn't. --- gtk/gtkbbox.c | 40 +++++++++++++++++----------------------- 1 file changed, 17 insertions(+), 23 deletions(-) diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index 045a3a2288..ad31d3f779 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -142,6 +142,7 @@ gtk_button_box_class_init (GtkButtonBoxClass *class) container_class->remove = gtk_button_box_remove; container_class->set_child_property = gtk_button_box_set_child_property; container_class->get_child_property = gtk_button_box_get_child_property; + gtk_container_class_handle_border_width (container_class); /* FIXME we need to override the "spacing" property on GtkBox once * libgobject allows that. @@ -551,7 +552,6 @@ gtk_button_box_size_request (GtkWidget *widget, gint max_size; gint total_size; gint spacing; - guint border_width; GtkOrientation orientation; gint *widths; gint *heights; @@ -622,10 +622,6 @@ gtk_button_box_size_request (GtkWidget *widget, else requisition->width = max_size; } - - border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - requisition->width += border_width * 2; - requisition->height += border_width * 2; } static void @@ -689,7 +685,6 @@ gtk_button_box_size_allocate (GtkWidget *widget, gint height = 0; gint childspacing = 0; gint spacing; - guint border_width; GtkOrientation orientation; gint ipad_x, ipad_y; gint *widths; @@ -703,7 +698,6 @@ gtk_button_box_size_allocate (GtkWidget *widget, bbox = GTK_BUTTON_BOX (widget); priv = bbox->priv; - border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (widget)); spacing = gtk_box_get_spacing (GTK_BOX (widget)); @@ -747,9 +741,9 @@ gtk_button_box_size_allocate (GtkWidget *widget, gtk_widget_set_allocation (widget, allocation); if (orientation == GTK_ORIENTATION_HORIZONTAL) - width = allocation->width - border_width*2; + width = allocation->width; else - height = allocation->height - border_width*2; + height = allocation->height; switch (priv->layout_style) { @@ -758,13 +752,13 @@ gtk_button_box_size_allocate (GtkWidget *widget, if (orientation == GTK_ORIENTATION_HORIZONTAL) { childspacing = (width - total_size) / (nvis_children + 1); - x = allocation->x + border_width + childspacing; + x = allocation->x + childspacing; secondary_x = x + primary_size + n_primaries * childspacing; } else { childspacing = (height - total_size) / (nvis_children + 1); - y = allocation->y + border_width + childspacing; + y = allocation->y + childspacing; secondary_y = y + primary_size + n_primaries * childspacing; } @@ -777,7 +771,7 @@ gtk_button_box_size_allocate (GtkWidget *widget, if (nvis_children >= 2) { childspacing = (width - total_size) / (nvis_children - 1); - x = allocation->x + border_width; + x = allocation->x; secondary_x = x + primary_size + n_primaries * childspacing; } else @@ -793,7 +787,7 @@ gtk_button_box_size_allocate (GtkWidget *widget, if (nvis_children >= 2) { childspacing = (height - total_size) / (nvis_children - 1); - y = allocation->y + border_width; + y = allocation->y; secondary_y = y + primary_size + n_primaries * childspacing; } else @@ -812,16 +806,16 @@ gtk_button_box_size_allocate (GtkWidget *widget, if (orientation == GTK_ORIENTATION_HORIZONTAL) { childspacing = spacing; - x = allocation->x + border_width; + x = allocation->x; secondary_x = allocation->x + allocation->width - - secondary_size - spacing * (n_secondaries - 1) - border_width; + - secondary_size - spacing * (n_secondaries - 1); } else { childspacing = spacing; - y = allocation->y + border_width; + y = allocation->y; secondary_y = allocation->y + allocation->height - - secondary_size - spacing * (n_secondaries - 1) - border_width; + - secondary_size - spacing * (n_secondaries - 1); } break; @@ -832,15 +826,15 @@ gtk_button_box_size_allocate (GtkWidget *widget, { childspacing = spacing; x = allocation->x + allocation->width - - primary_size - spacing * (n_primaries - 1) - border_width; - secondary_x = allocation->x + border_width; + - primary_size - spacing * (n_primaries - 1); + secondary_x = allocation->x; } else { childspacing = spacing; y = allocation->y + allocation->height - - primary_size - spacing * (n_primaries - 1) - border_width; - secondary_y = allocation->y + border_width; + - primary_size - spacing * (n_primaries - 1); + secondary_y = allocation->y; } break; @@ -854,7 +848,7 @@ gtk_button_box_size_allocate (GtkWidget *widget, (allocation->width - (primary_size + spacing * (n_primaries - 1))) / 2 + (secondary_size + n_secondaries * spacing) / 2; - secondary_x = allocation->x + border_width; + secondary_x = allocation->x; } else { @@ -863,7 +857,7 @@ gtk_button_box_size_allocate (GtkWidget *widget, (allocation->height - (primary_size + spacing * (n_primaries - 1))) / 2 + (secondary_size + n_secondaries * spacing) / 2; - secondary_y = allocation->y + border_width; + secondary_y = allocation->y; } break; From 71d6a289fc17ca55cbe1bcd071611919550ff24c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Oct 2010 15:52:32 -0400 Subject: [PATCH 0112/1463] Fix interaction between scrolling menus and automatic mnemonics https://bugzilla.gnome.org/show_bug.cgi?id=612611 --- gtk/gtkmenu.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 79cb32321d..743ad5a63d 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -238,7 +238,8 @@ static void gtk_menu_set_submenu_navigation_region (GtkMenu *menu, static void gtk_menu_deactivate (GtkMenuShell *menu_shell); static void gtk_menu_show_all (GtkWidget *widget); -static void gtk_menu_position (GtkMenu *menu); +static void gtk_menu_position (GtkMenu *menu, + gboolean set_scroll_offset); static void gtk_menu_reparent (GtkMenu *menu, GtkWidget *new_parent, gboolean unrealize); @@ -1131,7 +1132,7 @@ menu_change_screen (GtkMenu *menu, if (menu->torn_off) { gtk_window_set_screen (GTK_WINDOW (menu->tearoff_window), new_screen); - gtk_menu_position (menu); + gtk_menu_position (menu, TRUE); } gtk_window_set_screen (GTK_WINDOW (menu->toplevel), new_screen); @@ -1618,7 +1619,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, /* Position the menu, possibly changing the size request */ - gtk_menu_position (menu); + gtk_menu_position (menu, TRUE); /* Compute the size of the toplevel and realize it so we * can scroll correctly. @@ -2011,7 +2012,7 @@ gtk_menu_reposition (GtkMenu *menu) g_return_if_fail (GTK_IS_MENU (menu)); if (!menu->torn_off && gtk_widget_is_drawable (GTK_WIDGET (menu))) - gtk_menu_position (menu); + gtk_menu_position (menu, FALSE); } static void @@ -2193,7 +2194,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, gtk_menu_set_tearoff_hints (menu, gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET (menu)))); gtk_widget_realize (menu->tearoff_window); - gtk_menu_position (menu); + gtk_menu_position (menu, TRUE); gtk_widget_show (GTK_WIDGET (menu)); gtk_widget_show (menu->tearoff_window); @@ -4472,7 +4473,8 @@ gtk_menu_deactivate (GtkMenuShell *menu_shell) } static void -gtk_menu_position (GtkMenu *menu) +gtk_menu_position (GtkMenu *menu, + gboolean set_scroll_offset) { GtkWidget *widget; GtkRequisition requisition; @@ -4704,7 +4706,8 @@ gtk_menu_position (GtkMenu *menu) requisition.width, requisition.height); } - menu->scroll_offset = scroll_offset; + if (set_scroll_offset) + menu->scroll_offset = scroll_offset; } static void From 0c8df06f731cf8dc387065b4b45dd60e4a355860 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Oct 2010 22:14:53 -0400 Subject: [PATCH 0113/1463] Mention actions in the libunique migration guide --- .../gtk/migrating-GtkApplication.xml | 26 ++++++++++++------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/docs/reference/gtk/migrating-GtkApplication.xml b/docs/reference/gtk/migrating-GtkApplication.xml index 0598456a90..712d521a45 100644 --- a/docs/reference/gtk/migrating-GtkApplication.xml +++ b/docs/reference/gtk/migrating-GtkApplication.xml @@ -106,22 +106,28 @@ main (int argc, char *argv[])
Commands and Messages libunique lets you send messages with commands to a running - instance using unique_app_send_message(). GApplication does not - have a direct equivalent for this feature at this time, but - some of the predefined libunique commands have equivalents in - GApplication. Instead of sending the %UNIQUE_ACTIVATE command, - call g_application_activate(), instead of sending the + instance using unique_app_send_message(). The commands can be either + predefined or custom. Some of the predefined libunique commands have + equivalents in GApplication. Instead of sending the %UNIQUE_ACTIVATE + command, call g_application_activate(), instead of sending the %UNIQUE_OPEN command, call g_application_open(). The %UNIQUE_NEW and %UNIQUE_CLOSE and user-defined commands don't have direct replacement at this time. - On the other hand, GApplication supports passing entire - commandlines to the running instance, which reduces the need - for user-defined commands. And GDBus makes it very easy to - implement D-Bus interfaces for communication between - application instances, see e.g. g_dbus_connection_register_object(). + As a replacement for custom commands, GApplication implements the + #GActionGroup interface and lets you add a group of actions with + g_application_set_action_group(). The actions can then be invoked, + either by using the D-Bus interface for #GAction directly, or by + calling g_action_group_activate_action() from another instance of + the GApplication. The #GApplication documentation contains an + example for using GApplication with actions. + + + + For more complex needs, GApplication supports passing entire + commandlines to the running instance.
From a8ade90b4fcd62f450283c34e326759c08b88c04 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 31 Oct 2010 22:16:41 -0400 Subject: [PATCH 0114/1463] Fix a typo --- docs/reference/gtk/migrating-2to3.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index 7298151e6b..2c587be233 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -510,7 +510,7 @@ gtk_fixed_get_preferred_height (GtkWidget *widget, Note that the get_preferred_width()/height() functions - only allow you do return one dimension at a time. If your + only allow you to deal with one dimension at a time. If your size_request() handler is doing things that involve both width and height at the same time (e.g. limiting the aspect ratio), you will have to implement get_preferred_height_for_width() From cba8cd8c59c843ea56ebc106d5abe0060ae2e1c2 Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Mon, 1 Nov 2010 08:19:38 +0200 Subject: [PATCH 0115/1463] [l10n] Updated Estonian translation --- po-properties/et.po | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/po-properties/et.po b/po-properties/et.po index 13f222b28b..09a9dd196c 100644 --- a/po-properties/et.po +++ b/po-properties/et.po @@ -17,7 +17,7 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "+&component=general\n" "POT-Creation-Date: 2009-07-30 14:59+0000\n" -"PO-Revision-Date: 2010-10-27 08:08+0300\n" +"PO-Revision-Date: 2010-10-30 11:45+0300\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" @@ -248,7 +248,7 @@ msgid "Icon Name" msgstr "Ikooni nimi" msgid "The name of the icon from the icon theme" -msgstr "Ikooniteemas olev ikooni nimi" +msgstr "Ikooniteemast pärinev ikooni nimi" msgid "Visible when horizontal" msgstr "Nähtav kui horisontaalne" @@ -433,7 +433,7 @@ msgid "Arrow direction" msgstr "Noole suund" msgid "The direction the arrow should point" -msgstr "Suund kuhu nooleots näitab" +msgstr "Nooleotsa osutamise suund" msgid "Arrow shadow" msgstr "Noole vari" @@ -654,7 +654,7 @@ msgid "Image widget" msgstr "Pildividin" msgid "Child widget to appear next to the button text" -msgstr "Alamvidin, mis ilmub nuputekstist järgmisena" +msgstr "Nuputeksti kõrval asuv alamvidin" msgid "Image position" msgstr "Pildi asukoht" @@ -1672,7 +1672,7 @@ msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." msgstr "" -"Rõhtne joondus: 0 - vasakult, 1 - paremalt. RTL (vasakult paremale) " +"Rõhtne joondus: 0 - vasakult, 1 - paremalt. Vasakult paremale (RTL) " "paigustuste korral vastupidi." msgid "Truncate multiline" @@ -2828,9 +2828,8 @@ msgstr "Näita päist" msgid "Are we showing a dialog" msgstr "" -#, fuzzy msgid "The screen where this window will be displayed." -msgstr "Hetkel aktiivne filter failivaliku kuva filtreerimiseks" +msgstr "" msgid "Page" msgstr "Lehekülg" @@ -4162,7 +4161,7 @@ msgid "The size of the icon" msgstr "Ikooni suurus" msgid "The screen where this status icon will be displayed" -msgstr "" +msgstr "Ekraan, kus seda olekuikooni kuvatakse" msgid "Blinking" msgstr "Vilkumine" From 673e660edc33db70ab222a1b7682a7ee4d608bd1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2010 08:14:19 -0400 Subject: [PATCH 0116/1463] NEWS for 2.91.3 --- NEWS | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/NEWS b/NEWS index a208801c15..fffbe6ff12 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,33 @@ +Overview of Changes from GTK+ 2.91.2 to 2.91.3 +============================================== + +* The scrollable interface has gained some extra properties + to influence scrolling behaviour: [hv]scroll-policy + +* The size_request vfunc and signal have been deprecated and + are no longer used inside GTK+ itself + +* GtkAssistant has added a custom page type that gives full + control of button visibility + +* The homogeneous parameter has been removed from gtk_box_new + +* Bugs fixed: + 576498 GtkAssistant seals members without adding accessors + 612611 auto-mnemonics breaks menu scrolling + 633050 need gtk_combo_box_new_with_model_and_entry + 633216 Make gdk_rgba_to_string() take a const GdkRGBA + 633274 Add error trap around call to XFixesChangeSaveSet() + 633374 Port tests to GtkScrollable API... + 633500 statusbar labels behind resize grip on startup + +* Updated translations: + Catalan (Valencian) + Estonian + Galician + Hebrew + + Overview of Changes from GTK+ 2.91.1 to 2.91.2 ============================================== From 002704fe25dfb3a8fe8735a6a8508c192c3b531e Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Mon, 1 Nov 2010 14:15:03 +0100 Subject: [PATCH 0117/1463] Move the /*< private >*/ at the correct position --- gtk/gtkgrid.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkgrid.h b/gtk/gtkgrid.h index 530ef0be25..75be807e5b 100644 --- a/gtk/gtkgrid.h +++ b/gtk/gtkgrid.h @@ -45,9 +45,9 @@ typedef struct _GtkGridClass GtkGridClass; struct _GtkGrid { - /*< private >*/ GtkContainer container; + /*< private >*/ GtkGridPrivate *priv; }; From 31b0c1ad358ccbea1d8fde7edbeda1897cc7426a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2010 09:15:57 -0400 Subject: [PATCH 0118/1463] Fix make check --- gtk/tests/builder.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/tests/builder.c b/gtk/tests/builder.c index b9ad395c57..5c68525fbc 100644 --- a/gtk/tests/builder.c +++ b/gtk/tests/builder.c @@ -1026,7 +1026,8 @@ test_children (void) vbox = gtk_builder_get_object (builder, "dialog1-vbox"); content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); g_assert (vbox != NULL); - g_assert (GTK_IS_VBOX (vbox)); + g_assert (GTK_IS_BOX (vbox)); + g_assert (gtk_orientable_get_orientation (GTK_ORIENTABLE (vbox)) == GTK_ORIENTATION_VERTICAL); g_assert (strcmp (gtk_buildable_get_name (GTK_BUILDABLE (gtk_widget_get_parent (GTK_WIDGET (vbox)))), "dialog1") == 0); g_assert (gtk_container_get_border_width (GTK_CONTAINER (vbox)) == 10); g_assert (strcmp (gtk_buildable_get_name (GTK_BUILDABLE (content_area)), "dialog1-vbox") == 0); @@ -1034,7 +1035,8 @@ test_children (void) action_area = gtk_builder_get_object (builder, "dialog1-action_area"); dialog_action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog)); g_assert (action_area != NULL); - g_assert (GTK_IS_HBUTTON_BOX (action_area)); + g_assert (GTK_IS_BUTTON_BOX (action_area)); + g_assert (gtk_orientable_get_orientation (GTK_ORIENTABLE (action_area)) == GTK_ORIENTATION_HORIZONTAL); g_assert (gtk_widget_get_parent (GTK_WIDGET (action_area)) != NULL); g_assert (gtk_container_get_border_width (GTK_CONTAINER (action_area)) == 20); g_assert (dialog_action_area != NULL); From ac3258b07d710bac33f72ce4b276855db3781e8c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2010 09:16:37 -0400 Subject: [PATCH 0119/1463] Avoid exporting an extra symbol --- gtk/gtksizerequest.c | 4 ++-- gtk/gtkwidget.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index ba94aebab6..a721a0a9ac 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -105,7 +105,7 @@ get_cached_size (SizeRequestCache *cache, } -extern guint size_request_signal_id; +extern guint _size_request_signal_id; static void do_size_request (GtkWidget *widget, GtkRequisition *requisition) @@ -117,7 +117,7 @@ do_size_request (GtkWidget *widget, "will be removed in the next release", G_OBJECT_TYPE_NAME (widget)); - if (g_signal_has_handler_pending (widget, size_request_signal_id, 0, TRUE)) + if (g_signal_has_handler_pending (widget, _size_request_signal_id, 0, TRUE)) g_warning ("A %s (%p) has handler(s) connected to the GtkWidgetClass::size-request signal which is " "deprecated and will be removed in the next release", G_OBJECT_TYPE_NAME (widget), widget); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index a3b228e217..8f00708e1d 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -711,7 +711,7 @@ static GtkTextDirection gtk_default_direction = GTK_TEXT_DIR_LTR; static GParamSpecPool *style_property_spec_pool = NULL; /* XXX Temporarily here to fire warnings from gtksizerequest.c */ -guint size_request_signal_id = 0; +guint _size_request_signal_id = 0; static GQuark quark_property_parser = 0; static GQuark quark_aux_info = 0; @@ -1470,7 +1470,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal. * @requisition: */ - size_request_signal_id = widget_signals[SIZE_REQUEST] = + _size_request_signal_id = widget_signals[SIZE_REQUEST] = g_signal_new (I_("size-request"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, From a2360f979a4c00707088d17b65ed964461aa38c4 Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Sat, 30 Oct 2010 18:19:59 +0200 Subject: [PATCH 0120/1463] Add unit tests for textiter. --- gtk/tests/Makefile.am | 4 + gtk/tests/textiter.c | 179 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 183 insertions(+) create mode 100644 gtk/tests/textiter.c diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index c492ce65e4..e97a30f9cb 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -80,6 +80,10 @@ TEST_PROGS += textbuffer textbuffer_SOURCES = textbuffer.c pixbuf-init.c textbuffer_LDADD = $(progs_ldadd) +TEST_PROGS += textiter +textiter_SOURCES = textiter.c +textiter_LDADD = $(progs_ldadd) + TEST_PROGS += filtermodel filtermodel_SOURCES = filtermodel.c filtermodel_LDADD = $(progs_ldadd) diff --git a/gtk/tests/textiter.c b/gtk/tests/textiter.c new file mode 100644 index 0000000000..9418fbdec6 --- /dev/null +++ b/gtk/tests/textiter.c @@ -0,0 +1,179 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" +#include +#include + +#include + +static void +test_empty_search () +{ + GtkTextBuffer *buffer; + GtkTextIter it, s, e; + gboolean res; + + buffer = gtk_text_buffer_new (NULL); + gtk_text_buffer_set_text (buffer, "This is some foo text", -1); + + /* search from start forward */ + gtk_text_buffer_get_start_iter (buffer, &it); + res = gtk_text_iter_forward_search (&it, "", 0, &s, &e, NULL); + g_assert (res); + g_assert_cmpint (gtk_text_iter_get_offset (&s), ==, gtk_text_iter_get_offset (&e)); + g_assert_cmpint (gtk_text_iter_get_offset (&s), ==, 1); + + /* search from end backward */ + gtk_text_buffer_get_end_iter (buffer, &it); + res = gtk_text_iter_backward_search (&it, "", 0, &s, &e, NULL); + g_assert (res); + g_assert_cmpint (gtk_text_iter_get_offset (&s), ==, gtk_text_iter_get_offset (&e)); + g_assert_cmpint (gtk_text_iter_get_offset (&s), ==, 20); +} + +static void +check_found_forward (const gchar *haystack, + const gchar *needle, + GtkTextSearchFlags flags, + int expected_start, + int expected_end, + const gchar *expected_string) +{ + GtkTextBuffer *buffer; + GtkTextIter i, s, e; + gboolean res; + gchar *text; + + buffer = gtk_text_buffer_new (NULL); + + gtk_text_buffer_set_text (buffer, haystack, -1); + + /* TODO: add test with limit before, after and in the middle + of expected start and end */ + + /* search from start forward */ + gtk_text_buffer_get_start_iter (buffer, &i); + res = gtk_text_iter_forward_search (&i, needle, flags, &s, &e, NULL); + g_assert (res); + g_assert_cmpint (expected_start, ==, gtk_text_iter_get_offset (&s)); + g_assert_cmpint (expected_end, ==, gtk_text_iter_get_offset (&e)); + text = gtk_text_iter_get_text (&s, &e); + g_assert_cmpstr (expected_string, ==, text); + g_free (text); + + g_object_unref (buffer); +} + +static void +check_found_backward (const gchar *haystack, + const gchar *needle, + GtkTextSearchFlags flags, + int expected_start, + int expected_end, + const gchar *expected_string) +{ + GtkTextBuffer *buffer; + GtkTextIter i, s, e; + gboolean res; + gchar *text; + + buffer = gtk_text_buffer_new (NULL); + + gtk_text_buffer_set_text (buffer, haystack, -1); + + /* search from end backward */ + gtk_text_buffer_get_end_iter (buffer, &i); + res = gtk_text_iter_backward_search (&i, needle, flags, &s, &e, NULL); + g_assert (res); + g_assert_cmpint (expected_start, ==, gtk_text_iter_get_offset (&s)); + g_assert_cmpint (expected_end, ==, gtk_text_iter_get_offset (&e)); + text = gtk_text_iter_get_text (&s, &e); + g_assert_cmpstr (expected_string, ==, text); + g_free (text); + + g_object_unref (buffer); +} + +static void +check_not_found (const gchar *haystack, + const gchar *needle, + GtkTextSearchFlags flags) +{ + GtkTextBuffer *buffer; + GtkTextIter i, s, e; + gboolean res; + + buffer = gtk_text_buffer_new (NULL); + + gtk_text_buffer_set_text (buffer, haystack, -1); + + /* search from start forward */ + gtk_text_buffer_get_start_iter (buffer, &i); + res = gtk_text_iter_forward_search (&i, needle, flags, &s, &e, NULL); + g_assert (res == FALSE); + + /* search from end backward */ + gtk_text_buffer_get_end_iter (buffer, &i); + res = gtk_text_iter_backward_search (&i, needle, flags, &s, &e, NULL); + g_assert (res == FALSE); + + g_object_unref (buffer); +} + +static void +test_search (void) +{ + /* simple match */ + check_found_forward ("This is some foo text", "foo", 0, 13, 16, "foo"); + check_found_backward ("This is some foo text", "foo", 0, 13, 16, "foo"); + check_not_found ("This is some foo text", "Foo", 0); + + /* different matches for forward and backward */ + check_found_forward ("This is some foo foo text", "foo", 0, 13, 16, "foo"); + check_found_backward ("This is some foo foo text", "foo", 0, 17, 20, "foo"); + + /* new lines in the haystack */ + check_found_forward ("This is some\nfoo text", "foo", 0, 13, 16, "foo"); + check_found_backward ("This is some\nfoo text", "foo", 0, 13, 16, "foo"); + check_found_forward ("This is some foo\nfoo text", "foo", 0, 13, 16, "foo"); + check_found_backward ("This is some foo\nfoo text", "foo", 0, 17, 20, "foo") + check_not_found ("This is some\nfoo text", "Foo", 0); + + /* end of buffer */ + check_found_forward ("This is some\ntext foo", "foo", 0, 18, 21, "foo"); + check_found_backward ("This is some\ntext foo", "foo", 0, 18, 21, "foo"); + check_not_found ("This is some\ntext foo", "Foo", 0); + + /* multiple lines in the needle */ + check_found_forward ("This is some foo\nfoo text", "foo\nfoo", 0, 13, 20, "foo\nfoo"); + check_found_backward ("This is some foo\nfoo text", "foo\nfoo", 0, 13, 20, "foo\nfoo"); + check_not_found ("This is some foo\nfoo text", "Foo\nfoo", 0); +} + +int +main (int argc, char** argv) +{ + gtk_test_init (&argc, &argv); + + g_test_add_func ("/TextIter/Search Empty", test_empty_search); + g_test_add_func ("/TextIter/Search", test_search); + + return g_test_run(); +} From 3511215730d4d09eeda4da219bce6ec61a16a4bf Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 31 Oct 2010 13:52:06 +0100 Subject: [PATCH 0121/1463] Fix backward search bug exposed by the unit test When searching with multiple lines first_line_start/end were initialized to the last line start/end iters --- gtk/gtktextiter.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtktextiter.c b/gtk/gtktextiter.c index 13a4e370b7..380778f90c 100644 --- a/gtk/gtktextiter.c +++ b/gtk/gtktextiter.c @@ -4803,6 +4803,8 @@ lines_window_init (LinesWindow *win, } win->lines[i] = line_text; + win->first_line_start = line_start; + win->first_line_end = line_end; line_end = line_start; gtk_text_iter_backward_line (&line_start); From 794e0446e94f8d0f994cda4eae47c89370e3141c Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Tue, 26 Oct 2010 22:02:38 +0200 Subject: [PATCH 0122/1463] Add case insensitive to GtkTextIter. Fixes bug #61852. This code has been taken from GtkSourceView so also kudos to Paolo Maggi and Paolo Borelli for helping with this patch. --- gtk/gtktextiter.c | 399 +++++++++++++++++++++++++++++++++++++++------- gtk/gtktextiter.h | 7 +- 2 files changed, 347 insertions(+), 59 deletions(-) diff --git a/gtk/gtktextiter.c b/gtk/gtktextiter.c index 380778f90c..6ee68bd83b 100644 --- a/gtk/gtktextiter.c +++ b/gtk/gtktextiter.c @@ -4383,7 +4383,8 @@ static void forward_chars_with_skipping (GtkTextIter *iter, gint count, gboolean skip_invisible, - gboolean skip_nontext) + gboolean skip_nontext, + gboolean skip_decomp) { gint i; @@ -4396,6 +4397,10 @@ forward_chars_with_skipping (GtkTextIter *iter, { gboolean ignored = FALSE; + /* minimal workaround to avoid the infinite loop of bug #168247. */ + if (gtk_text_iter_is_end (iter)) + return; + if (skip_nontext && gtk_text_iter_get_char (iter) == GTK_TEXT_UNKNOWN_CHAR) ignored = TRUE; @@ -4405,6 +4410,25 @@ forward_chars_with_skipping (GtkTextIter *iter, _gtk_text_btree_char_is_invisible (iter)) ignored = TRUE; + if (!ignored && skip_decomp) + { + /* being UTF8 correct sucks: this accounts for extra + offsets coming from canonical decompositions of + UTF8 characters (e.g. accented characters) which + g_utf8_normalize() performs */ + gchar *normal; + gchar *casefold; + gchar buffer[6]; + gint buffer_len; + + buffer_len = g_unichar_to_utf8 (gtk_text_iter_get_char (iter), buffer); + casefold = g_utf8_casefold (buffer, buffer_len); + normal = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + i -= (g_utf8_strlen (normal, -1) - 1); + g_free (normal); + g_free (casefold); + } + gtk_text_iter_forward_char (iter); if (!ignored) @@ -4412,11 +4436,209 @@ forward_chars_with_skipping (GtkTextIter *iter, } } +static const gchar * +pointer_from_offset_skipping_decomp (const gchar *str, + gint offset) +{ + gchar *casefold, *normal; + const gchar *p, *q; + + p = str; + + while (offset > 0) + { + q = g_utf8_next_char (p); + casefold = g_utf8_casefold (p, q - p); + normal = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + offset -= g_utf8_strlen (normal, -1); + g_free (casefold); + g_free (normal); + p = q; + } + + return p; +} + +static gboolean +exact_prefix_cmp (const gchar *string, + const gchar *prefix, + guint prefix_len) +{ + GUnicodeType type; + + if (strncmp (string, prefix, prefix_len) != 0) + return FALSE; + if (string[prefix_len] == '\0') + return TRUE; + + type = g_unichar_type (g_utf8_get_char (string + prefix_len)); + + /* If string contains prefix, check that prefix is not followed + * by a unicode mark symbol, e.g. that trailing 'a' in prefix + * is not part of two-char a-with-hat symbol in string. */ + return type != G_UNICODE_COMBINING_MARK && + type != G_UNICODE_ENCLOSING_MARK && + type != G_UNICODE_NON_SPACING_MARK; +} + +static const gchar * +utf8_strcasestr (const gchar *haystack, + const gchar *needle) +{ + gsize needle_len; + gsize haystack_len; + const gchar *ret = NULL; + gchar *p; + gchar *casefold; + gchar *caseless_haystack; + gint i; + + g_return_val_if_fail (haystack != NULL, NULL); + g_return_val_if_fail (needle != NULL, NULL); + + casefold = g_utf8_casefold (haystack, -1); + caseless_haystack = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + needle_len = g_utf8_strlen (needle, -1); + haystack_len = g_utf8_strlen (caseless_haystack, -1); + + if (needle_len == 0) + { + ret = (gchar *)haystack; + goto finally; + } + + if (haystack_len < needle_len) + { + ret = NULL; + goto finally; + } + + p = (gchar *)caseless_haystack; + needle_len = strlen (needle); + i = 0; + + while (*p) + { + if (exact_prefix_cmp (p, needle, needle_len)) + { + ret = pointer_from_offset_skipping_decomp (haystack, i); + goto finally; + } + + p = g_utf8_next_char (p); + i++; + } + +finally: + g_free (caseless_haystack); + + return ret; +} + +static const gchar * +utf8_strrcasestr (const gchar *haystack, + const gchar *needle) +{ + gsize needle_len; + gsize haystack_len; + const gchar *ret = NULL; + gchar *p; + gchar *casefold; + gchar *caseless_haystack; + gint i; + + g_return_val_if_fail (haystack != NULL, NULL); + g_return_val_if_fail (needle != NULL, NULL); + + casefold = g_utf8_casefold (haystack, -1); + caseless_haystack = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + needle_len = g_utf8_strlen (needle, -1); + haystack_len = g_utf8_strlen (caseless_haystack, -1); + + if (needle_len == 0) + { + ret = (gchar *)haystack; + goto finally; + } + + if (haystack_len < needle_len) + { + ret = NULL; + goto finally; + } + + i = haystack_len - needle_len; + p = g_utf8_offset_to_pointer (caseless_haystack, i); + needle_len = strlen (needle); + + while (p >= caseless_haystack) + { + if (exact_prefix_cmp (p, needle, needle_len)) + { + ret = pointer_from_offset_skipping_decomp (haystack, i); + goto finally; + } + + p = g_utf8_prev_char (p); + i--; + } + +finally: + g_free (caseless_haystack); + + return ret; +} + +/* normalizes caseless strings and returns true if @s2 matches + the start of @s1 */ +static gboolean +utf8_caselessnmatch (const gchar *s1, + const gchar *s2, + gssize n1, + gssize n2) +{ + gchar *casefold; + gchar *normalized_s1; + gchar *normalized_s2; + gint len_s1; + gint len_s2; + gboolean ret = FALSE; + + g_return_val_if_fail (s1 != NULL, FALSE); + g_return_val_if_fail (s2 != NULL, FALSE); + g_return_val_if_fail (n1 > 0, FALSE); + g_return_val_if_fail (n2 > 0, FALSE); + + casefold = g_utf8_casefold (s1, n1); + normalized_s1 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + casefold = g_utf8_casefold (s2, n2); + normalized_s2 = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + + len_s1 = strlen (normalized_s1); + len_s2 = strlen (normalized_s2); + + if (len_s1 >= len_s2) + ret = (strncmp (normalized_s1, normalized_s2, len_s2) == 0); + + g_free (normalized_s1); + g_free (normalized_s2); + + return ret; +} + static gboolean lines_match (const GtkTextIter *start, const gchar **lines, gboolean visible_only, gboolean slice, + gboolean case_insensitive, GtkTextIter *match_start, GtkTextIter *match_end) { @@ -4460,14 +4682,25 @@ lines_match (const GtkTextIter *start, } if (match_start) /* if this is the first line we're matching */ - found = strstr (line_text, *lines); + { + if (!case_insensitive) + found = strstr (line_text, *lines); + else + found = utf8_strcasestr (line_text, *lines); + } else { /* If it's not the first line, we have to match from the * start of the line. */ - if (strncmp (line_text, *lines, strlen (*lines)) == 0) - found = line_text; + if ((!case_insensitive && + (strncmp (line_text, *lines, strlen (*lines)) == 0)) || + (case_insensitive && + utf8_caselessnmatch (line_text, *lines, strlen (line_text), + strlen (*lines)))) + { + found = line_text; + } else found = NULL; } @@ -4486,19 +4719,14 @@ lines_match (const GtkTextIter *start, /* If match start needs to be returned, set it to the * start of the search string. */ + forward_chars_with_skipping (&next, offset, + visible_only, !slice, FALSE); if (match_start) - { - *match_start = next; - - forward_chars_with_skipping (match_start, offset, - visible_only, !slice); - } + *match_start = next; /* Go to end of search string */ - offset += g_utf8_strlen (*lines, -1); - - forward_chars_with_skipping (&next, offset, - visible_only, !slice); + forward_chars_with_skipping (&next, g_utf8_strlen (*lines, -1), + visible_only, !slice, TRUE); g_free (line_text); @@ -4510,17 +4738,20 @@ lines_match (const GtkTextIter *start, /* pass NULL for match_start, since we don't need to find the * start again. */ - return lines_match (&next, lines, visible_only, slice, NULL, match_end); + return lines_match (&next, lines, visible_only, slice, case_insensitive, NULL, match_end); } /* strsplit () that retains the delimiter as part of the string. */ static gchar ** strbreakup (const char *string, const char *delimiter, - gint max_tokens) + gint max_tokens, + gint *num_strings, + gboolean case_insensitive) { GSList *string_list = NULL, *slist; gchar **str_array, *s; + gchar *casefold, *new_string; guint i, n = 1; g_return_val_if_fail (string != NULL, NULL); @@ -4537,12 +4768,20 @@ strbreakup (const char *string, do { guint len; - gchar *new_string; len = s - string + delimiter_len; new_string = g_new (gchar, len + 1); strncpy (new_string, string, len); new_string[len] = 0; + + if (case_insensitive) + { + casefold = g_utf8_casefold (new_string, -1); + g_free (new_string); + new_string = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + } + string_list = g_slist_prepend (string_list, new_string); n++; string = s + delimiter_len; @@ -4553,7 +4792,17 @@ strbreakup (const char *string, if (*string) { n++; - string_list = g_slist_prepend (string_list, g_strdup (string)); + + if (case_insensitive) + { + casefold = g_utf8_casefold (string, -1); + new_string = g_utf8_normalize (casefold, -1, G_NORMALIZE_NFD); + g_free (casefold); + } + else + new_string = g_strdup (string); + + string_list = g_slist_prepend (string_list, new_string); } str_array = g_new (gchar*, n); @@ -4566,6 +4815,9 @@ strbreakup (const char *string, g_slist_free (string_list); + if (num_strings != NULL) + *num_strings = n - 1; + return str_array; } @@ -4592,6 +4844,8 @@ strbreakup (const char *string, * pixbufs or child widgets mixed inside the matched range. If these * flags are not given, the match must be exact; the special 0xFFFC * character in @str will match embedded pixbufs or child widgets. + * If you specify the #GTK_TEXT_SEARCH_CASE_INSENSITIVE flag, the text will + * be matched regardless of what case it is in. * * Return value: whether a match was found **/ @@ -4609,7 +4863,8 @@ gtk_text_iter_forward_search (const GtkTextIter *iter, GtkTextIter search; gboolean visible_only; gboolean slice; - + gboolean case_insensitive; + g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (str != NULL, FALSE); @@ -4640,10 +4895,11 @@ gtk_text_iter_forward_search (const GtkTextIter *iter, visible_only = (flags & GTK_TEXT_SEARCH_VISIBLE_ONLY) != 0; slice = (flags & GTK_TEXT_SEARCH_TEXT_ONLY) == 0; - + case_insensitive = (flags & GTK_TEXT_SEARCH_CASE_INSENSITIVE) != 0; + /* locate all lines */ - lines = strbreakup (str, "\n", -1); + lines = strbreakup (str, "\n", -1, NULL, case_insensitive); search = *iter; @@ -4660,7 +4916,7 @@ gtk_text_iter_forward_search (const GtkTextIter *iter, break; if (lines_match (&search, (const gchar**)lines, - visible_only, slice, &match, &end)) + visible_only, slice, case_insensitive, &match, &end)) { if (limit == NULL || (limit && @@ -4686,8 +4942,9 @@ gtk_text_iter_forward_search (const GtkTextIter *iter, } static gboolean -vectors_equal_ignoring_trailing (gchar **vec1, - gchar **vec2) +vectors_equal_ignoring_trailing (gchar **vec1, + gchar **vec2, + gboolean case_insensitive) { /* Ignores trailing chars in vec2's last line */ @@ -4698,37 +4955,67 @@ vectors_equal_ignoring_trailing (gchar **vec1, while (*i1 && *i2) { - if (strcmp (*i1, *i2) != 0) - { - if (*(i2 + 1) == NULL) /* if this is the last line */ - { - gint len1 = strlen (*i1); - gint len2 = strlen (*i2); + gint len1; + gint len2; - if (len2 >= len1 && - strncmp (*i1, *i2, len1) == 0) + if (!case_insensitive) + { + if (strcmp (*i1, *i2) != 0) + { + if (*(i2 + 1) == NULL) /* if this is the last line */ { - /* We matched ignoring the trailing stuff in vec2 */ - return TRUE; + len1 = strlen (*i1); + len2 = strlen (*i2); + + if (len2 >= len1 && + strncmp (*i1, *i2, len1) == 0) + { + /* We matched ignoring the trailing stuff in vec2 */ + return TRUE; + } + else + { + return FALSE; + } } else { return FALSE; } } - else + } + else + { + len1 = strlen (*i1); + len2 = strlen (*i2); + + if (!utf8_caselessnmatch (*i1, *i2, len1, len2)) { - return FALSE; + if (*(i2 + 1) == NULL) /* if this is the last line */ + { + if (utf8_caselessnmatch (*i2, *i1, len2, len1)) + { + /* We matched ignoring the trailing stuff in vec2 */ + return TRUE; + } + else + { + return FALSE; + } + } + else + { + return FALSE; + } } } + ++i1; ++i2; } if (*i1 || *i2) - { - return FALSE; - } + return FALSE; else return TRUE; } @@ -4739,10 +5026,12 @@ struct _LinesWindow { gint n_lines; gchar **lines; + GtkTextIter first_line_start; GtkTextIter first_line_end; - gboolean slice; - gboolean visible_only; + + guint slice : 1; + guint visible_only : 1; }; static void @@ -4896,6 +5185,7 @@ gtk_text_iter_backward_search (const GtkTextIter *iter, gboolean retval = FALSE; gboolean visible_only; gboolean slice; + gboolean case_insensitive; g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (str != NULL, FALSE); @@ -4926,18 +5216,11 @@ gtk_text_iter_backward_search (const GtkTextIter *iter, visible_only = (flags & GTK_TEXT_SEARCH_VISIBLE_ONLY) != 0; slice = (flags & GTK_TEXT_SEARCH_TEXT_ONLY) == 0; - + case_insensitive = (flags & GTK_TEXT_SEARCH_CASE_INSENSITIVE) != 0; + /* locate all lines */ - lines = strbreakup (str, "\n", -1); - - l = lines; - n_lines = 0; - while (*l) - { - ++n_lines; - ++l; - } + lines = strbreakup (str, "\n", -1, &n_lines, case_insensitive); win.n_lines = n_lines; win.slice = slice; @@ -4950,7 +5233,7 @@ gtk_text_iter_backward_search (const GtkTextIter *iter, do { - gchar *first_line_match; + const gchar *first_line_match; if (limit && gtk_text_iter_compare (limit, &win.first_line_end) > 0) @@ -4963,10 +5246,14 @@ gtk_text_iter_backward_search (const GtkTextIter *iter, * end in '\n', so this will only match at the * end of the first line, which is correct. */ - first_line_match = g_strrstr (*win.lines, *lines); + if (!case_insensitive) + first_line_match = g_strrstr (*win.lines, *lines); + else + first_line_match = utf8_strrcasestr (*win.lines, *lines); if (first_line_match && - vectors_equal_ignoring_trailing (lines + 1, win.lines + 1)) + vectors_equal_ignoring_trailing (lines + 1, win.lines + 1, + case_insensitive)) { /* Match! */ gint offset; @@ -4979,7 +5266,7 @@ gtk_text_iter_backward_search (const GtkTextIter *iter, next = win.first_line_start; start_tmp = next; forward_chars_with_skipping (&start_tmp, offset, - visible_only, !slice); + visible_only, !slice, FALSE); if (limit && gtk_text_iter_compare (limit, &start_tmp) > 0) @@ -4997,7 +5284,7 @@ gtk_text_iter_backward_search (const GtkTextIter *iter, } forward_chars_with_skipping (&next, offset, - visible_only, !slice); + visible_only, !slice, TRUE); if (match_end) *match_end = next; diff --git a/gtk/gtktextiter.h b/gtk/gtktextiter.h index 046d436802..af02536368 100644 --- a/gtk/gtktextiter.h +++ b/gtk/gtktextiter.h @@ -37,9 +37,10 @@ G_BEGIN_DECLS typedef enum { - GTK_TEXT_SEARCH_VISIBLE_ONLY = 1 << 0, - GTK_TEXT_SEARCH_TEXT_ONLY = 1 << 1 - /* Possible future plans: SEARCH_CASE_INSENSITIVE, SEARCH_REGEXP */ + GTK_TEXT_SEARCH_VISIBLE_ONLY = 1 << 0, + GTK_TEXT_SEARCH_TEXT_ONLY = 1 << 1, + GTK_TEXT_SEARCH_CASE_INSENSITIVE = 1 << 2, + /* Possible future plans: SEARCH_REGEXP */ } GtkTextSearchFlags; /* From ed62f93439b1f6d263b2eeab17b1bc08b69e414f Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Sat, 30 Oct 2010 18:19:59 +0200 Subject: [PATCH 0123/1463] Add caseless unit tests for textiter. --- gtk/tests/textiter.c | 94 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 93 insertions(+), 1 deletion(-) diff --git a/gtk/tests/textiter.c b/gtk/tests/textiter.c index 9418fbdec6..4fc5fc74b8 100644 --- a/gtk/tests/textiter.c +++ b/gtk/tests/textiter.c @@ -137,6 +137,17 @@ check_not_found (const gchar *haystack, g_object_unref (buffer); } +static void +test_full_buffer (void) +{ + check_found_forward ("foo", "foo", 0, 0, 3, "foo"); + check_found_backward ("foo", "foo", 0, 0, 3, "foo"); + check_found_forward ("foo", "foo", GTK_TEXT_SEARCH_CASE_INSENSITIVE, 0, 3, "foo"); + check_found_backward ("foo", "foo", GTK_TEXT_SEARCH_CASE_INSENSITIVE, 0, 3, "foo"); + check_found_forward ("foo", "Foo", GTK_TEXT_SEARCH_CASE_INSENSITIVE, 0, 3, "foo"); + check_found_backward ("foo", "Foo", GTK_TEXT_SEARCH_CASE_INSENSITIVE, 0, 3, "foo"); +} + static void test_search (void) { @@ -153,7 +164,7 @@ test_search (void) check_found_forward ("This is some\nfoo text", "foo", 0, 13, 16, "foo"); check_found_backward ("This is some\nfoo text", "foo", 0, 13, 16, "foo"); check_found_forward ("This is some foo\nfoo text", "foo", 0, 13, 16, "foo"); - check_found_backward ("This is some foo\nfoo text", "foo", 0, 17, 20, "foo") + check_found_backward ("This is some foo\nfoo text", "foo", 0, 17, 20, "foo"); check_not_found ("This is some\nfoo text", "Foo", 0); /* end of buffer */ @@ -167,13 +178,94 @@ test_search (void) check_not_found ("This is some foo\nfoo text", "Foo\nfoo", 0); } +static void +test_search_caseless (void) +{ + GtkTextSearchFlags flags; + + flags = GTK_TEXT_SEARCH_CASE_INSENSITIVE; + + /* simple match */ + check_found_forward ("This is some foo text", "foo", flags, 13, 16, "foo"); + check_found_forward ("This is some foo text", "Foo", flags, 13, 16, "foo"); + check_found_forward ("This is some Foo text", "foo", flags, 13, 16, "Foo"); + check_found_backward ("This is some foo text", "foo", flags, 13, 16, "foo"); + check_found_backward ("This is some foo text", "Foo", flags, 13, 16, "foo"); + check_found_backward ("This is some Foo text", "foo", flags, 13, 16, "Foo"); + + /* check also that different composition of utf8 characters + (e.g. accented letters) match */ + + /* different matches for forward and backward */ + check_found_forward ("This is some foo foo text", "foo", flags, 13, 16, "foo"); + check_found_forward ("This is some foo foo text", "Foo", flags, 13, 16, "foo"); + check_found_forward ("This is some Foo foo text", "foo", flags, 13, 16, "Foo"); + check_found_forward ("This is some \303\200 \303\240 text", "\303\240", flags, 13, 14, "\303\200"); + check_found_forward ("This is some \303\200 \303\240 text", "\303\200", flags, 13, 14, "\303\200"); + check_found_forward ("This is some \303\200 \303\240 text", "a\u0300", flags, 13, 14, "\303\200"); + check_found_backward ("This is some foo foo text", "foo", flags, 17, 20, "foo"); + check_found_backward ("This is some foo foo text", "Foo", flags, 17, 20, "foo"); + check_found_backward ("This is some foo Foo text", "foo", flags, 17, 20, "Foo"); + check_found_backward ("This is some \303\200 \303\240 text", "\303\240", flags, 15, 16, "\303\240"); + check_found_backward ("This is some \303\200 \303\240 text", "\303\200", flags, 15, 16, "\303\240"); + check_found_backward ("This is some \303\200 \303\240 text", "a\u0300", flags, 15, 16, "\303\240"); + + /* new lines in the haystack */ + check_found_forward ("This is some\nfoo text", "foo", flags, 13, 16, "foo"); + check_found_forward ("This is some\nfoo text", "Foo", flags, 13, 16, "foo"); + check_found_forward ("This is some\nFoo text", "foo", flags, 13, 16, "Foo"); + check_found_forward ("This is some\n\303\200 text", "\303\240", flags, 13, 14, "\303\200"); + check_found_forward ("This is some\n\303\200 text", "a\u0300", flags, 13, 14, "\303\200"); + check_found_backward ("This is some\nfoo text", "foo", flags, 13, 16, "foo"); + check_found_backward ("This is some\nfoo text", "Foo", flags, 13, 16, "foo"); + check_found_backward ("This is some\nFoo text", "foo", flags, 13, 16, "Foo"); + check_found_backward ("This is some\n\303\200 text", "\303\240", flags, 13, 14, "\303\200"); + check_found_backward ("This is some\n\303\200 text", "a\u0300", flags, 13, 14, "\303\200"); + check_found_forward ("This is some foo\nfoo text", "foo", flags, 13, 16, "foo"); + check_found_forward ("This is some foo\nfoo text", "Foo", flags, 13, 16, "foo"); + check_found_forward ("This is some Foo\nfoo text", "foo", flags, 13, 16, "Foo"); + check_found_forward ("This is some \303\200\n\303\200 text", "\303\240", flags, 13, 14, "\303\200"); + check_found_forward ("This is some \303\200\n\303\200 text", "a\u0300", flags, 13, 14, "\303\200"); + check_found_backward ("This is some foo\nfoo text", "foo", flags, 17, 20, "foo"); + check_found_backward ("This is some foo\nfoo text", "Foo", flags, 17, 20, "foo"); + check_found_backward ("This is some foo\nFoo text", "foo", flags, 17, 20, "Foo"); + check_found_backward ("This is some \303\200\n\303\200 text", "\303\240", flags, 15, 16, "\303\200"); + check_found_backward ("This is some \303\200\n\303\200 text", "a\u0300", flags, 15, 16, "\303\200"); + + /* end of buffer */ + check_found_forward ("This is some\ntext foo", "foo", flags, 18, 21, "foo"); + check_found_forward ("This is some\ntext foo", "Foo", flags, 18, 21, "foo"); + check_found_forward ("This is some\ntext Foo", "foo", flags, 18, 21, "Foo"); + check_found_forward ("This is some\ntext \303\200", "\303\240", flags, 18, 19, "\303\200"); + check_found_forward ("This is some\ntext \303\200", "a\u0300", flags, 18, 19, "\303\200"); + check_found_backward ("This is some\ntext foo", "foo", flags, 18, 21, "foo"); + check_found_backward ("This is some\ntext foo", "Foo", flags, 18, 21, "foo"); + check_found_backward ("This is some\ntext Foo", "foo", flags, 18, 21, "Foo"); + check_found_backward ("This is some\ntext \303\200", "\303\240", flags, 18, 19, "\303\200"); + check_found_backward ("This is some\ntext \303\200", "a\u0300", flags, 18, 19, "\303\200"); + + /* multiple lines in the needle */ + check_found_forward ("This is some foo\nfoo text", "foo\nfoo", flags, 13, 20, "foo\nfoo"); + check_found_forward ("This is some foo\nfoo text", "Foo\nFoo", flags, 13, 20, "foo\nfoo"); + check_found_forward ("This is some Foo\nFoo text", "foo\nfoo", flags, 13, 20, "Foo\nFoo"); + check_found_forward ("This is some \303\200\n\303\200 text", "\303\240\n\303\240", flags, 13, 16, "\303\200\n\303\200"); + check_found_forward ("This is some \303\200\n\303\200 text", "a\u0300\na\u0300", flags, 13, 16, "\303\200\n\303\200"); + check_found_backward ("This is some foo\nfoo text", "foo\nfoo", flags, 13, 20, "foo\nfoo"); + check_found_backward ("This is some foo\nfoo text", "Foo\nFoo", flags, 13, 20, "foo\nfoo"); + check_found_backward ("This is some Foo\nFoo text", "foo\nfoo", flags, 13, 20, "Foo\nFoo"); + check_found_backward ("This is some \303\200\n\303\200 text", "\303\240\n\303\240", flags, 13, 16, "\303\200\n\303\200"); + check_found_backward ("This is some \303\200\n\303\200 text", "a\u0300\na\u0300", flags, 13, 16, "\303\200\n\303\200"); +} + int main (int argc, char** argv) { gtk_test_init (&argc, &argv); g_test_add_func ("/TextIter/Search Empty", test_empty_search); + g_test_add_func ("/TextIter/Search Full Buffer", test_full_buffer); g_test_add_func ("/TextIter/Search", test_search); + g_test_add_func ("/TextIter/Search Caseless", test_search_caseless); return g_test_run(); } From bb0ff159cbdce46f1004a87491271dbe6980f26d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2010 11:15:30 -0400 Subject: [PATCH 0124/1463] GtkToolitemGroup: Use monotonic clock for animation timeout --- gtk/gtktoolitemgroup.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index 9f238c6cb0..a1f4b052d2 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -1798,10 +1798,10 @@ gtk_tool_item_group_set_header_relief (GtkToolItemGroup *group, static gint64 gtk_tool_item_group_get_animation_timestamp (GtkToolItemGroup *group) { - GTimeVal now; + GTimeSpec now; - g_source_get_current_time (group->priv->animation_timeout, &now); - return (now.tv_sec * G_USEC_PER_SEC + now.tv_usec - group->priv->animation_start) / 1000; + g_source_get_time (group->priv->animation_timeout, &now); + return (now.tv_sec * G_USEC_PER_SEC + now.tv_nsec / 1000 - group->priv->animation_start) / 1000; } static void @@ -1924,14 +1924,14 @@ gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group, { if (priv->animation) { - GTimeVal now; + GTimeSpec now; - g_get_current_time (&now); + g_get_monotonic_time (&now); if (priv->animation_timeout) g_source_destroy (priv->animation_timeout); - priv->animation_start = (now.tv_sec * G_USEC_PER_SEC + now.tv_usec); + priv->animation_start = (now.tv_sec * G_USEC_PER_SEC + now.tv_nsec / 1000); priv->animation_timeout = g_timeout_source_new (ANIMATION_TIMEOUT); g_source_set_callback (priv->animation_timeout, From 053171c530dd83b703563bea16ed242db70c3dac Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2010 11:44:30 -0400 Subject: [PATCH 0125/1463] Update NEWS --- NEWS | 1 + 1 file changed, 1 insertion(+) diff --git a/NEWS b/NEWS index fffbe6ff12..c75fd7fe8b 100644 --- a/NEWS +++ b/NEWS @@ -13,6 +13,7 @@ Overview of Changes from GTK+ 2.91.2 to 2.91.3 * The homogeneous parameter has been removed from gtk_box_new * Bugs fixed: + 61852 GtkTextBuffer needs a case insensitive search 576498 GtkAssistant seals members without adding accessors 612611 auto-mnemonics breaks menu scrolling 633050 need gtk_combo_box_new_with_model_and_entry From 5e90bb269d6e7034a58994c66d290eed1d63cb1a Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Fri, 1 Oct 2010 10:00:13 +0200 Subject: [PATCH 0126/1463] Get rid of unused shaped_object list in _GtkTextLineDisplay https://bugzilla.gnome.org/show_bug.cgi?id=631076 --- gtk/gtktextlayout.c | 8 +------- gtk/gtktextlayout.h | 3 +-- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/gtk/gtktextlayout.c b/gtk/gtktextlayout.c index 283d8f6910..8344a1b642 100644 --- a/gtk/gtktextlayout.c +++ b/gtk/gtktextlayout.c @@ -1582,9 +1582,6 @@ add_pixbuf_attrs (GtkTextLayout *layout, attr->start_index = start; attr->end_index = start + seg->byte_count; pango_attr_list_insert (attrs, attr); - - display->shaped_objects = - g_slist_append (display->shaped_objects, pixbuf->pixbuf); } static void @@ -1643,8 +1640,6 @@ add_child_attrs (GtkTextLayout *layout, widget = NULL; } - display->shaped_objects = g_slist_append (display->shaped_objects, widget); - logical_rect.x = 0; logical_rect.y = -height * PANGO_SCALE; logical_rect.width = width * PANGO_SCALE; @@ -2510,8 +2505,7 @@ gtk_text_layout_free_line_display (GtkTextLayout *layout, g_slist_foreach (display->cursors, (GFunc)g_free, NULL); g_slist_free (display->cursors); } - g_slist_free (display->shaped_objects); - + if (display->pg_bg_color) gdk_color_free (display->pg_bg_color); diff --git a/gtk/gtktextlayout.h b/gtk/gtktextlayout.h index dd51e47700..4d835324af 100644 --- a/gtk/gtktextlayout.h +++ b/gtk/gtktextlayout.h @@ -237,8 +237,7 @@ struct _GtkTextLineDisplay { PangoLayout *layout; GSList *cursors; - GSList *shaped_objects; /* Only for backwards compatibility */ - + GtkTextDirection direction; gint width; /* Width of layout */ From afa282f0094576934dd8c20c1498179d70bc70cb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 1 Nov 2010 13:12:29 -0400 Subject: [PATCH 0127/1463] Bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index eb600e0b31..1a78b3f42c 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_CONFIG_MACRO_DIR([m4]) m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [91]) -m4_define([gtk_micro_version], [3]) +m4_define([gtk_micro_version], [4]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From bea2487d837a2881931cef643f23ba72b72783e9 Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Mon, 1 Nov 2010 22:42:15 +0100 Subject: [PATCH 0128/1463] Do not use gbooleans to save some bits. --- gtk/gtktextbuffer.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index 0450f48483..7602b9d9d5 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -76,10 +76,10 @@ typedef struct _ClipboardRequest ClipboardRequest; struct _ClipboardRequest { GtkTextBuffer *buffer; - gboolean interactive; - gboolean default_editable; - gboolean is_clipboard; - gboolean replace_selection; + guint interactive : 1; + guint default_editable : 1; + guint is_clipboard : 1; + guint replace_selection : 1; }; enum { From 997835af839063cf8d27c664b9148c0394420cdb Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Mon, 1 Nov 2010 22:59:21 +0100 Subject: [PATCH 0129/1463] Normalize boolean. --- gtk/gtktextbuffer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index 7602b9d9d5..f1cd6f5098 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -78,7 +78,6 @@ struct _ClipboardRequest GtkTextBuffer *buffer; guint interactive : 1; guint default_editable : 1; - guint is_clipboard : 1; guint replace_selection : 1; }; @@ -3784,7 +3783,7 @@ gtk_text_buffer_paste_clipboard (GtkTextBuffer *buffer, data->buffer = g_object_ref (buffer); data->interactive = TRUE; - data->default_editable = default_editable; + data->default_editable = !!default_editable; /* When pasting with the cursor inside the selection area, you * replace the selection with the new text, otherwise, you From 0583288dd96dde8aacee9ee5d59f59d9b80839af Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Mon, 1 Nov 2010 22:44:18 +0100 Subject: [PATCH 0130/1463] Removed a trailing enum comma. --- gtk/gtktextiter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktextiter.h b/gtk/gtktextiter.h index af02536368..a4187eb8e9 100644 --- a/gtk/gtktextiter.h +++ b/gtk/gtktextiter.h @@ -39,7 +39,7 @@ G_BEGIN_DECLS typedef enum { GTK_TEXT_SEARCH_VISIBLE_ONLY = 1 << 0, GTK_TEXT_SEARCH_TEXT_ONLY = 1 << 1, - GTK_TEXT_SEARCH_CASE_INSENSITIVE = 1 << 2, + GTK_TEXT_SEARCH_CASE_INSENSITIVE = 1 << 2 /* Possible future plans: SEARCH_REGEXP */ } GtkTextSearchFlags; From e3b75cb0537aa12e2763b7aeb52e46a051b9b231 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 1 Nov 2010 17:41:02 +0900 Subject: [PATCH 0131/1463] Adding tentative implementation of GtkCellAreaBox->grab_focus(). --- gtk/gtkcellareabox.c | 71 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 69 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index aa10026d68..f00cc92c6b 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -62,7 +62,6 @@ static void gtk_cell_area_box_render (GtkCellArea cairo_t *cr, const GdkRectangle *cell_area, GtkCellRendererState flags); - static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, GtkCellRenderer *renderer, guint prop_id, @@ -73,7 +72,6 @@ static void gtk_cell_area_box_get_cell_property (GtkCellArea guint prop_id, GValue *value, GParamSpec *pspec); - static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, @@ -98,6 +96,8 @@ static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); +static void gtk_cell_area_box_grab_focus (GtkCellArea *area, + GtkDirectionType direction); /* GtkCellLayoutIface */ static void gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface); @@ -242,6 +242,8 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->get_preferred_height_for_width = gtk_cell_area_box_get_preferred_height_for_width; area_class->get_preferred_width_for_height = gtk_cell_area_box_get_preferred_width_for_height; + area_class->grab_focus = gtk_cell_area_box_grab_focus; + /* Properties */ g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); @@ -1370,6 +1372,71 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, *natural_width = nat_width; } +static void +gtk_cell_area_box_grab_focus (GtkCellArea *area, + GtkDirectionType direction) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv; + gboolean first_cell = FALSE; + GList *group_list, *cell_list; + + priv = box->priv; + + switch (direction) + { + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_DOWN: + case GTK_DIR_RIGHT: + first_cell = TRUE; + break; + + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_UP: + case GTK_DIR_LEFT: + default: + first_cell = FALSE; + break; + } + + if (first_cell) + group_list = g_list_first (priv->groups); + else + group_list = g_list_last (priv->groups); + + for ( ; group_list; + first_cell ? group_list = group_list->next : + group_list = group_list->prev) + { + CellGroup *group = group_list->data; + + if (first_cell) + cell_list = g_list_first (group->cells); + else + cell_list = g_list_last (group->cells); + + for ( ; cell_list; + first_cell ? cell_list = cell_list->next : + cell_list = cell_list->prev) + { + GtkCellRendererMode mode; + CellInfo *info = cell_list->data; + + /* XXX This does not handle cases where the cell + * is not visible as it is not row specific, + * that's a problem. + */ + g_object_get (info->renderer, "mode", &mode, NULL); + if (mode == GTK_CELL_RENDERER_MODE_EDITABLE || + mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) + { + gtk_cell_area_set_focus_cell (area, info->renderer); + break; + } + } + } +} + /************************************************************* * GtkCellLayoutIface * From 7ddf87f9efc55103baea94f4960799650c3c2ae6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 2 Nov 2010 16:51:06 +0900 Subject: [PATCH 0132/1463] Account for the possibility of invisible cells in GtkCellAreaBox/Iter Also changed the GtkCellAreaBox to keep groups in an array instead of a list, for this code it's generally more useful this way (and more optimized). --- gtk/gtkcellareabox.c | 314 +++++++++++++++++++++------------------ gtk/gtkcellareaboxiter.c | 139 ++++++++++------- gtk/gtkcellareaboxiter.h | 5 +- 3 files changed, 256 insertions(+), 202 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index f00cc92c6b..60e4b3a973 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -143,14 +143,12 @@ static CellInfo *cell_info_new (GtkCellRenderer *renderer, static void cell_info_free (CellInfo *info); static gint cell_info_find (CellInfo *info, GtkCellRenderer *renderer); -static CellGroup *cell_group_new (guint id); -static void cell_group_free (CellGroup *group); + static AllocatedCell *allocated_cell_new (GtkCellRenderer *renderer, gint position, gint size); static void allocated_cell_free (AllocatedCell *cell); static GList *list_consecutive_cells (GtkCellAreaBox *box); -static GList *construct_cell_groups (GtkCellAreaBox *box); static gint count_expand_groups (GtkCellAreaBox *box); static void iter_weak_notify (GtkCellAreaBox *box, GtkCellAreaBoxIter *dead_iter); @@ -168,7 +166,7 @@ struct _GtkCellAreaBoxPrivate GtkOrientation orientation; GList *cells; - GList *groups; + GArray *groups; GSList *iters; @@ -208,8 +206,8 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv = box->priv; priv->orientation = GTK_ORIENTATION_HORIZONTAL; + priv->groups = g_array_new (FALSE, TRUE, sizeof (CellGroup)); priv->cells = NULL; - priv->groups = NULL; priv->iters = NULL; priv->spacing = 0; } @@ -324,23 +322,6 @@ cell_info_find (CellInfo *info, return (info->renderer == renderer) ? 0 : -1; } -static CellGroup * -cell_group_new (guint id) -{ - CellGroup *group = g_slice_new0 (CellGroup); - - group->id = id; - - return group; -} - -static void -cell_group_free (CellGroup *group) -{ - g_list_free (group->cells); - g_slice_free (CellGroup, group); -} - static AllocatedCell * allocated_cell_new (GtkCellRenderer *renderer, gint position, @@ -393,21 +374,39 @@ list_consecutive_cells (GtkCellAreaBox *box) return consecutive_cells; } -static GList * -construct_cell_groups (GtkCellAreaBox *box) +static void +cell_groups_clear (GtkCellAreaBox *box) { - GtkCellAreaBoxPrivate *priv = box->priv; - CellGroup *group; + GtkCellAreaBoxPrivate *priv = box->priv; + gint i; + + for (i = 0; i < priv->groups->len; i++) + { + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); + + g_list_free (group->cells); + } + + g_array_set_size (priv->groups, 0); +} + +static void +cell_groups_rebuild (GtkCellAreaBox *box) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellGroup group = { 0, }; GList *cells, *l; - GList *groups = NULL; guint id = 0; - if (!priv->cells) - return NULL; + cell_groups_clear (box); - cells = list_consecutive_cells (box); - group = cell_group_new (id++); - groups = g_list_prepend (groups, group); + if (!priv->cells) + return; + + cells = list_consecutive_cells (box); + + /* First group is implied */ + g_array_append_val (priv->groups, group); for (l = cells; l; l = l->next) { @@ -416,39 +415,70 @@ construct_cell_groups (GtkCellAreaBox *box) /* A new group starts with any aligned cell, the first group is implied */ if (info->align && l != cells) { - group = cell_group_new (id++); - groups = g_list_prepend (groups, group); + memset (&group, 0x0, sizeof (CellGroup)); + group.id = ++id; + + g_array_append_val (priv->groups, group); } - group->cells = g_list_prepend (group->cells, info); - group->n_cells++; + group.cells = g_list_prepend (group.cells, info); + group.n_cells++; /* A group expands if it contains any expand cells */ if (info->expand) - group->expand_cells ++; + group.expand_cells++; } g_list_free (cells); - for (l = cells; l; l = l->next) + for (id = 0; id < priv->groups->len; id++) { - group = l->data; - group->cells = g_list_reverse (group->cells); + CellGroup *group_ptr = &g_array_index (priv->groups, CellGroup, id); + + group_ptr->cells = g_list_reverse (group_ptr->cells); } - return g_list_reverse (groups); + /* Iters need to be updated with the new grouping information */ + init_iter_groups (box); +} + +static gint +count_visible_cells (CellGroup *group, + gint *expand_cells) +{ + GList *l; + gint visible_cells = 0; + gint n_expand_cells = 0; + + for (l = group->cells; l; l = l->next) + { + CellInfo *info = l->data; + + if (gtk_cell_renderer_get_visible (info->renderer)) + { + visible_cells++; + + if (info->expand) + n_expand_cells++; + } + } + + if (expand_cells) + *expand_cells = n_expand_cells; + + return visible_cells; } static gint count_expand_groups (GtkCellAreaBox *box) { GtkCellAreaBoxPrivate *priv = box->priv; - GList *l; + gint i; gint expand_groups = 0; - for (l = priv->groups; l; l = l->next) + for (i = 0; i < priv->groups->len; i++) { - CellGroup *group = l->data; + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); if (group->expand_cells > 0) expand_groups++; @@ -471,20 +501,19 @@ init_iter_group (GtkCellAreaBox *box, GtkCellAreaBoxIter *iter) { GtkCellAreaBoxPrivate *priv = box->priv; - gint n_groups, *expand_groups, i; - GList *l; + gint *expand_groups, i; - n_groups = g_list_length (priv->groups); - expand_groups = g_new (gboolean, n_groups); + expand_groups = g_new (gboolean, priv->groups->len); - for (i = 0, l = priv->groups; l; l = l->next, i++) + for (i = 0; i < priv->groups->len; i++) { - CellGroup *group = l->data; + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); expand_groups[i] = (group->expand_cells > 0); } - gtk_cell_area_box_init_groups (iter, n_groups, expand_groups); + /* This call implies flushing the request info */ + gtk_cell_area_box_init_groups (iter, priv->groups->len, expand_groups); g_free (expand_groups); } @@ -534,7 +563,7 @@ get_allocated_cells (GtkCellAreaBox *box, const GtkCellAreaBoxAllocation *group_allocs; GtkCellArea *area = GTK_CELL_AREA (box); GtkCellAreaBoxPrivate *priv = box->priv; - GList *group_list, *cell_list; + GList *cell_list; GSList *allocated_cells = NULL; gint i, j, n_allocs; @@ -547,9 +576,12 @@ get_allocated_cells (GtkCellAreaBox *box, return NULL; } - for (i = 0, group_list = priv->groups; group_list; i++, group_list = group_list->next) + for (i = 0; i < n_allocs; i++) { - CellGroup *group = group_list->data; + /* We dont always allocate all groups, sometimes the requested group has only invisible + * cells for every row, hence the usage of group_allocs[i].group_idx here + */ + CellGroup *group = &g_array_index (priv->groups, CellGroup, group_allocs[i].group_idx); /* Exception for single cell groups */ if (group->n_cells == 1) @@ -562,41 +594,61 @@ get_allocated_cells (GtkCellAreaBox *box, } else { - GtkRequestedSize *sizes = g_new (GtkRequestedSize, group->n_cells); - gint avail_size = group_allocs[i].size; - gint position = group_allocs[i].position; + GtkRequestedSize *sizes; + gint avail_size, position; + gint visible_cells, expand_cells; gint extra_size, extra_extra; - for (j = 0, cell_list = group->cells; cell_list; j++, cell_list = cell_list->next) + visible_cells = count_visible_cells (group, &expand_cells); + + /* If this row has no visible cells in this group, just + * skip the allocation */ + if (visible_cells == 0) + continue; + + /* Offset the allocation to the group position and allocate into + * the group's available size */ + position = group_allocs[i].position; + avail_size = group_allocs[i].size; + + sizes = g_new (GtkRequestedSize, visible_cells); + + for (j = 0, cell_list = group->cells; cell_list; cell_list = cell_list->next) { CellInfo *info = cell_list->data; + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; + gtk_cell_area_request_renderer (area, info->renderer, priv->orientation, widget, -1, &sizes[j].minimum_size, &sizes[j].natural_size); - avail_size -= sizes[j].minimum_size; + sizes[j].data = info; + avail_size -= sizes[j].minimum_size; + + j++; } /* Distribute cells naturally within the group */ - avail_size -= (group->n_cells - 1) * priv->spacing; - avail_size = gtk_distribute_natural_allocation (avail_size, group->n_cells, sizes); + avail_size -= (visible_cells - 1) * priv->spacing; + avail_size = gtk_distribute_natural_allocation (avail_size, visible_cells, sizes); /* Calculate/distribute expand for cells */ - if (group->expand_cells > 0) + if (expand_cells > 0) { - extra_size = avail_size / group->expand_cells; - extra_extra = avail_size % group->expand_cells; + extra_size = avail_size / expand_cells; + extra_extra = avail_size % expand_cells; } else extra_size = extra_extra = 0; - /* Create the allocated cells */ - for (j = 0, cell_list = group->cells; cell_list; j++, cell_list = cell_list->next) + /* Create the allocated cells (loop only over visible cells here) */ + for (j = 0; j < visible_cells; j++) { - CellInfo *info = cell_list->data; + CellInfo *info = sizes[j].data; AllocatedCell *cell; if (info->expand) @@ -615,12 +667,16 @@ get_allocated_cells (GtkCellAreaBox *box, position += sizes[j].minimum_size; position += priv->spacing; + + j++; } g_free (sizes); } } + /* Note it might not be important to reverse the list here at all, + * we have the correct positions, no need to allocate from left to right */ return g_slist_reverse (allocated_cells); } @@ -634,11 +690,17 @@ gtk_cell_area_box_finalize (GObject *object) GtkCellAreaBoxPrivate *priv = box->priv; GSList *l; + /* Unref/free the iter list */ for (l = priv->iters; l; l = l->next) g_object_weak_unref (G_OBJECT (l->data), (GWeakNotify)iter_weak_notify, box); g_slist_free (priv->iters); + priv->iters = NULL; + /* Free the cell grouping info */ + cell_groups_clear (box); + g_array_free (priv->groups, TRUE); + G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->finalize (object); } @@ -726,12 +788,7 @@ gtk_cell_area_box_remove (GtkCellArea *area, priv->cells = g_list_delete_link (priv->cells, node); /* Reconstruct cell groups */ - g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); - g_list_free (priv->groups); - priv->groups = construct_cell_groups (box); - - /* Reinitialize groups on iters */ - init_iter_groups (box); + cell_groups_rebuild (box); } else g_warning ("Trying to remove a cell renderer that is not present GtkCellAreaBox"); @@ -880,13 +937,7 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, /* Groups need to be rebuilt */ if (rebuild) { - /* Reconstruct cell groups */ - g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); - g_list_free (priv->groups); - priv->groups = construct_cell_groups (box); - - /* Reinitialize groups on iters */ - init_iter_groups (box); + cell_groups_rebuild (box); } else if (flush) { @@ -973,24 +1024,24 @@ compute_size (GtkCellAreaBox *box, { GtkCellAreaBoxPrivate *priv = box->priv; GtkCellArea *area = GTK_CELL_AREA (box); - CellGroup *group; - CellInfo *info; - GList *cell_list, *group_list; + GList *list; + gint i; gint min_size = 0; gint nat_size = 0; - for (group_list = priv->groups; group_list; group_list = group_list->next) + for (i = 0; i < priv->groups->len; i++) { - gint group_min_size = 0; - gint group_nat_size = 0; + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); + gint group_min_size = 0; + gint group_nat_size = 0; - group = group_list->data; - - for (cell_list = group->cells; cell_list; cell_list = cell_list->next) + for (list = group->cells; list; list = list->next) { - gint renderer_min_size, renderer_nat_size; - - info = cell_list->data; + CellInfo *info = list->data; + gint renderer_min_size, renderer_nat_size; + + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; gtk_cell_area_request_renderer (area, info->renderer, orientation, widget, for_size, &renderer_min_size, &renderer_nat_size); @@ -1056,19 +1107,24 @@ get_group_sizes (GtkCellArea *area, GList *l; gint i; - *n_sizes = g_list_length (group->cells); + *n_sizes = count_visible_cells (group, NULL); sizes = g_new (GtkRequestedSize, *n_sizes); - for (l = group->cells, i = 0; l; l = l->next, i++) + for (l = group->cells, i = 0; l; l = l->next) { CellInfo *info = l->data; + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; + sizes[i].data = info; gtk_cell_area_request_renderer (area, info->renderer, orientation, widget, -1, &sizes[i].minimum_size, &sizes[i].natural_size); + + i++; } return sizes; @@ -1164,7 +1220,6 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, { GtkCellAreaBoxPrivate *priv = box->priv; CellGroup *group; - GList *group_list; GtkRequestedSize *orientation_sizes; gint n_groups, n_expand_groups, i; gint avail_size = for_size; @@ -1198,25 +1253,26 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, * and push the height-for-width for each group accordingly while accumulating * the overall height-for-width for this row. */ - for (group_list = priv->groups; group_list; group_list = group_list->next) + for (i = 0; i < n_groups; i++) { gint group_min, group_nat; - - group = group_list->data; + gint group_idx = GPOINTER_TO_INT (orientation_sizes[i].data); + + group = &g_array_index (priv->groups, CellGroup, group_idx); if (group->expand_cells > 0) { - orientation_sizes[group->id].minimum_size += extra_size; + orientation_sizes[i].minimum_size += extra_size; if (extra_extra) { - orientation_sizes[group->id].minimum_size++; + orientation_sizes[i].minimum_size++; extra_extra--; } } /* Now we have the allocation for the group, request it's height-for-width */ compute_group_size_for_opposing_orientation (box, group, widget, - orientation_sizes[group->id].minimum_size, + orientation_sizes[i].minimum_size, &group_min, &group_nat); min_size = MAX (min_size, group_min); @@ -1224,12 +1280,12 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - gtk_cell_area_box_iter_push_group_height_for_width (iter, group->id, for_size, + gtk_cell_area_box_iter_push_group_height_for_width (iter, group_idx, for_size, group_min, group_nat); } else { - gtk_cell_area_box_iter_push_group_width_for_height (iter, group->id, for_size, + gtk_cell_area_box_iter_push_group_width_for_height (iter, group_idx, for_size, group_min, group_nat); } } @@ -1379,7 +1435,8 @@ gtk_cell_area_box_grab_focus (GtkCellArea *area, GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv; gboolean first_cell = FALSE; - GList *group_list, *cell_list; + gint i; + GList *list; priv = box->priv; @@ -1399,28 +1456,17 @@ gtk_cell_area_box_grab_focus (GtkCellArea *area, break; } - if (first_cell) - group_list = g_list_first (priv->groups); - else - group_list = g_list_last (priv->groups); - - for ( ; group_list; - first_cell ? group_list = group_list->next : - group_list = group_list->prev) + for (i = first_cell ? 0 : priv->groups->len -1; + i >= 0 && i < priv->groups->len; + i = first_cell ? i + 1 : i - 1) { - CellGroup *group = group_list->data; + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - if (first_cell) - cell_list = g_list_first (group->cells); - else - cell_list = g_list_last (group->cells); - - for ( ; cell_list; - first_cell ? cell_list = cell_list->next : - cell_list = cell_list->prev) + for (list = first_cell ? g_list_first (group->cells) : g_list_last (group->cells); + list; list = first_cell ? list->next : list->prev) { GtkCellRendererMode mode; - CellInfo *info = cell_list->data; + CellInfo *info = list->data; /* XXX This does not handle cases where the cell * is not visible as it is not row specific, @@ -1485,13 +1531,7 @@ gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, priv->cells = g_list_delete_link (priv->cells, node); priv->cells = g_list_insert (priv->cells, info, position); - /* Reconstruct cell groups */ - g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); - g_list_free (priv->groups); - priv->groups = construct_cell_groups (box); - - /* Reinitialize groups on iters */ - init_iter_groups (box); + cell_groups_rebuild (box); } } @@ -1529,13 +1569,7 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, priv->cells = g_list_append (priv->cells, info); - /* Reconstruct cell groups */ - g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); - g_list_free (priv->groups); - priv->groups = construct_cell_groups (box); - - /* Reinitialize groups on iters */ - init_iter_groups (box); + cell_groups_rebuild (box); } void @@ -1563,13 +1597,7 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, priv->cells = g_list_append (priv->cells, info); - /* Reconstruct cell groups */ - g_list_foreach (priv->groups, (GFunc)cell_group_free, NULL); - g_list_free (priv->groups); - priv->groups = construct_cell_groups (box); - - /* Reinitialize groups on iters */ - init_iter_groups (box); + cell_groups_rebuild (box); } gint diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index d16aa968db..3bfa77ec97 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -263,7 +263,10 @@ gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter) if (orientation == GTK_ORIENTATION_HORIZONTAL) { - if (min_size > 0) + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) { min_size += spacing; nat_size += spacing; @@ -308,7 +311,10 @@ gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, if (orientation == GTK_ORIENTATION_VERTICAL) { - if (min_size > 0) + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) { min_size += spacing; nat_size += spacing; @@ -348,7 +354,10 @@ gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter) if (orientation == GTK_ORIENTATION_VERTICAL) { - if (min_size > 0) + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) { min_size += spacing; nat_size += spacing; @@ -393,7 +402,10 @@ gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, if (orientation == GTK_ORIENTATION_HORIZONTAL) { - if (min_size > 0) + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) { min_size += spacing; nat_size += spacing; @@ -413,6 +425,56 @@ gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, } } +static GtkRequestedSize * +gtk_cell_area_box_iter_get_requests (GtkCellAreaBoxIter *box_iter, + GtkOrientation orientation, + gint *n_requests) +{ + GtkCellAreaBoxIterPrivate *priv; + GtkRequestedSize *requests; + GArray *base_array; + BaseSize *size; + gint visible_groups = 0; + gint i, j; + + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); + + priv = box_iter->priv; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + base_array = priv->base_widths; + else + base_array = priv->base_heights; + + for (i = 0; i < base_array->len; i++) + { + size = &g_array_index (base_array, BaseSize, i); + + if (size->nat_size > 0) + visible_groups++; + } + + requests = g_new (GtkRequestedSize, visible_groups); + + for (j = 0, i = 0; i < base_array->len; i++) + { + size = &g_array_index (base_array, BaseSize, i); + + if (size->nat_size > 0) + { + requests[j].data = GINT_TO_POINTER (i); + requests[j].minimum_size = size->min_size; + requests[j].natural_size = size->nat_size; + j++; + } + } + + if (n_requests) + *n_requests = visible_groups; + + return requests; +} + static GtkCellAreaBoxAllocation * allocate_for_orientation (GtkCellAreaBoxIter *iter, GtkOrientation orientation, @@ -427,15 +489,21 @@ allocate_for_orientation (GtkCellAreaBoxIter *iter, gint extra_size, extra_extra; gint avail_size = size; - if (orientation == GTK_ORIENTATION_HORIZONTAL) - orientation_sizes = gtk_cell_area_box_iter_get_widths (iter, &n_groups); - else - orientation_sizes = gtk_cell_area_box_iter_get_heights (iter, &n_groups); + orientation_sizes = + gtk_cell_area_box_iter_get_requests (iter, + GTK_ORIENTATION_HORIZONTAL, + &n_groups); /* Count groups that expand */ for (i = 0; i < n_groups; i++) { - BaseSize *size = &g_array_index (priv->base_widths, BaseSize, i); + BaseSize *size; + gint group_idx = GPOINTER_TO_INT (orientation_sizes[i].data); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + size = &g_array_index (priv->base_widths, BaseSize, group_idx); + else + size = &g_array_index (priv->base_heights, BaseSize, group_idx); if (size->expand) n_expand_groups++; @@ -463,8 +531,9 @@ allocate_for_orientation (GtkCellAreaBoxIter *iter, { BaseSize *base_size = &g_array_index (priv->base_widths, BaseSize, i); - allocs[i].position = position; - allocs[i].size = orientation_sizes[i].minimum_size; + allocs[i].group_idx = GPOINTER_TO_INT (orientation_sizes[i].data); + allocs[i].position = position; + allocs[i].size = orientation_sizes[i].minimum_size; if (base_size->expand) { @@ -787,58 +856,14 @@ GtkRequestedSize * gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter *box_iter, gint *n_widths) { - GtkCellAreaBoxIterPrivate *priv; - GtkRequestedSize *widths; - BaseSize *size; - gint i; - - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); - - priv = box_iter->priv; - - widths = g_new (GtkRequestedSize, priv->base_widths->len); - - for (i = 0; i < priv->base_widths->len; i++) - { - size = &g_array_index (priv->base_widths, BaseSize, i); - widths[i].data = GINT_TO_POINTER (i); - widths[i].minimum_size = size->min_size; - widths[i].natural_size = size->nat_size; - } - - if (n_widths) - *n_widths = priv->base_widths->len; - - return widths; + return gtk_cell_area_box_iter_get_requests (box_iter, GTK_ORIENTATION_HORIZONTAL, n_widths); } GtkRequestedSize * gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, gint *n_heights) { - GtkCellAreaBoxIterPrivate *priv; - GtkRequestedSize *heights; - BaseSize *size; - gint i; - - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); - - priv = box_iter->priv; - - heights = g_new (GtkRequestedSize, priv->base_heights->len); - - for (i = 0; i < priv->base_heights->len; i++) - { - size = &g_array_index (priv->base_heights, BaseSize, i); - heights[i].data = GINT_TO_POINTER (i); - heights[i].minimum_size = size->min_size; - heights[i].natural_size = size->nat_size; - } - - if (n_heights) - *n_heights = priv->base_heights->len; - - return heights; + return gtk_cell_area_box_iter_get_requests (box_iter, GTK_ORIENTATION_VERTICAL, n_heights); } G_CONST_RETURN GtkCellAreaBoxAllocation * diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h index 73b4166ec3..85dc921be1 100644 --- a/gtk/gtkcellareaboxiter.h +++ b/gtk/gtkcellareaboxiter.h @@ -120,8 +120,9 @@ GtkRequestedSize *gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter /* Private iter/area interaction */ typedef struct { - gint position; - gint size; + gint group_idx; /* Groups containing only invisible cells are not allocated */ + gint position; /* Relative group allocation position in the orientation of the box */ + gint size; /* Full allocated size of the cells in this group spacing inclusive */ } GtkCellAreaBoxAllocation; G_CONST_RETURN GtkCellAreaBoxAllocation * From 73e45cef9d3cbc9435af8a89956ca5b17f6df6b2 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Tue, 2 Nov 2010 09:23:24 +0100 Subject: [PATCH 0133/1463] GtkScrollable: Improve the documentation text. --- gtk/gtkscrollable.c | 54 ++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/gtk/gtkscrollable.c b/gtk/gtkscrollable.c index ca0d8a4ea4..eb6e046f50 100644 --- a/gtk/gtkscrollable.c +++ b/gtk/gtkscrollable.c @@ -22,37 +22,37 @@ * @Short_Description: An interface for scrollable widgets * @Title: GtkScrollable * - * #GtkScrollable is interface that is implemented by widgets with native + * #GtkScrollable is an interface that is implemented by widgets with native * scrolling ability. * - * To implement this interface, all one needs to do is to override + * To implement this interface you should override the * #GtkScrollable:hadjustment and #GtkScrollable:vadjustment properties. * * * Creating a scrollable widget * - * There are some common things all scrollable widgets will need to do. + * All scrollable widgets should do the following. * * * * - * When parent sets adjustments, widget needs to populate adjustment's + * When a parent widget sets the scrollable child widget's adjustments, the widget should populate the adjustments' * #GtkAdjustment:lower, #GtkAdjustment:upper, * #GtkAdjustment:step-increment, #GtkAdjustment:page-increment and - * #GtkAdjustment:page-size properties and connect to + * #GtkAdjustment:page-size properties and connect to the * #GtkAdjustment::value-changed signal. * * * * - * When parent allocates space to child, scrollable widget needs to update - * properties listed under 1 with new values. + * When the parent allocates space to the scrollable child widget, the widget should update + * the adjustments' properties with new values. * * * * - * When any of the adjustments emits #GtkAdjustment::value-changed signal, - * scrollable widget needs to scroll it's contents. + * When any of the adjustments emits the #GtkAdjustment::value-changed signal, + * the scrollable widget should scroll its contents. * * * @@ -77,15 +77,15 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface) /** * GtkScrollable:hadjustment: * - * Horizontal #GtkAdjustment of scrollable widget. This adjustment is - * shared between scrollable widget and it's parent. + * Horizontal #GtkAdjustment of the scrollable widget. This adjustment is + * shared between the scrollable widget and its parent. * * Since: 3.0 */ pspec = g_param_spec_object ("hadjustment", P_("Horizontal adjustment"), P_("Horizontal adjustment that is shared " - "between scrollable widget and it's " + "between the scrollable widget and its " "controller"), GTK_TYPE_ADJUSTMENT, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT); @@ -94,15 +94,15 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface) /** * GtkScrollable:vadjustment: * - * Verical #GtkAdjustment of scrollable widget. This adjustment is shared - * between scrollable widget and it's parent. + * Verical #GtkAdjustment of the scrollable widget. This adjustment is shared + * between the scrollable widget and its parent. * * Since: 3.0 */ pspec = g_param_spec_object ("vadjustment", P_("Vertical adjustment"), P_("Vertical adjustment that is shared " - "between scrollable widget and it's " + "between the scrollable widget and its " "controller"), GTK_TYPE_ADJUSTMENT, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT); @@ -111,8 +111,8 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface) /** * GtkScrollable:hscroll-policy: * - * Determines whether horizontal scrolling should commence once the scrollable - * widget is allocated less than it's minimum width or less than it's natural width. + * Determines whether horizontal scrolling should start once the scrollable + * widget is allocated less than its minimum width or less than its natural width. * * Since: 3.0 */ @@ -127,8 +127,8 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface) /** * GtkScrollable:vscroll-policy: * - * Determines whether vertical scrolling should commence once the scrollable - * widget is allocated less than it's minimum height or less than it's natural height. + * Determines whether vertical scrolling should start once the scrollable + * widget is allocated less than its minimum height or less than its natural height. * * Since: 3.0 */ @@ -145,7 +145,7 @@ gtk_scrollable_default_init (GtkScrollableInterface *iface) * gtk_scrollable_get_hadjustment: * @scrollable: a #GtkScrollable * - * Retrieves the #GtkAdjustment, used for horizontal scrolling. + * Retrieves the #GtkAdjustment used for horizontal scrolling. * * Return value: (transfer none): horizontal #GtkAdjustment. * @@ -193,7 +193,7 @@ gtk_scrollable_set_hadjustment (GtkScrollable *scrollable, * gtk_scrollable_get_vadjustment: * @scrollable: a #GtkScrollable * - * Retrieves the #GtkAdjustment, used for vertical scrolling. + * Retrieves the #GtkAdjustment used for vertical scrolling. * * Return value: (transfer none): vertical #GtkAdjustment. * @@ -265,9 +265,9 @@ gtk_scrollable_get_hscroll_policy (GtkScrollable *scrollable) * @scrollable: a #GtkScrollable * @policy: the horizontal #GtkScrollablePolicy * - * Sets the #GtkScrollablePolicy to determine whether - * horizontal scrolling should commence below minimum or - * below natural width. + * Sets the #GtkScrollablePolicy to determine whether + * horizontal scrolling should start below the minimum width or + * below the natural width. * * Since: 3.0 **/ @@ -307,9 +307,9 @@ gtk_scrollable_get_vscroll_policy (GtkScrollable *scrollable) * @scrollable: a #GtkScrollable * @policy: the vertical #GtkScrollablePolicy * - * Sets the #GtkScrollablePolicy to determine whether - * vertical scrolling should commence below minimum or - * below natural height. + * Sets the #GtkScrollablePolicy to determine whether + * vertical scrolling should start below the minimum height or + * below the natural height. * * Since: 3.0 **/ From 832c123fd27e0439343699673ad865e86065b22d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 2 Nov 2010 18:01:03 +0900 Subject: [PATCH 0134/1463] Extended gtk_cell_area_apply_attributes() to account for expander/expanded cells The state of expanded cells must come from the view, since these states can vary across views accessing the same model (also "finished up" the applying of attributes code). --- gtk/gtkcellarea.c | 31 ++++++++++++++++++++++++++++++- gtk/gtkcellarea.h | 4 +++- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index e77c2280ce..634ff4906c 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -117,6 +117,8 @@ typedef struct { GtkCellArea *area; GtkTreeModel *model; GtkTreeIter *iter; + gboolean is_expander; + gboolean is_expanded; } AttributeData; struct _GtkCellAreaPrivate @@ -926,6 +928,22 @@ apply_cell_attributes (GtkCellRenderer *renderer, CellAttribute *attribute; GSList *list; GValue value = { 0, }; + gboolean is_expander; + gboolean is_expanded; + + g_object_freeze_notify (G_OBJECT (renderer)); + + /* Whether a row expands or is presently expanded can only be + * provided by the view (as these states can vary across views + * accessing the same model). + */ + g_object_get (renderer, "is-expander", &is_expander, NULL); + if (is_expander != data->is_expander) + g_object_set (renderer, "is-expander", data->is_expander, NULL); + + g_object_get (renderer, "is-expanded", &is_expanded, NULL); + if (is_expanded != data->is_expanded) + g_object_set (renderer, "is-expanded", data->is_expanded, NULL); /* Apply the attributes directly to the renderer */ for (list = info->attributes; list; list = list->next) @@ -942,12 +960,16 @@ apply_cell_attributes (GtkCellRenderer *renderer, if (info->func) info->func (GTK_CELL_LAYOUT (data->area), renderer, data->model, data->iter, info->data); + + g_object_thaw_notify (G_OBJECT (renderer)); } void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded) { GtkCellAreaPrivate *priv; AttributeData data; @@ -958,6 +980,13 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, priv = area->priv; + /* Feed in data needed to apply to every renderer */ + data.area = area; + data.model = tree_model; + data.iter = iter; + data.is_expander = is_expander; + data.is_expanded = is_expanded; + /* Go over any cells that have attributes or custom GtkCellLayoutDataFuncs and * apply the data from the treemodel */ g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index c45977fb29..2e804714c5 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -197,7 +197,9 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea /* Attributes */ void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, - GtkTreeIter *iter); + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, const gchar *attribute, From 32b21694ef7800340c43c61f6472bd756c74c57e Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Tue, 2 Nov 2010 10:43:42 +0100 Subject: [PATCH 0135/1463] Fix tiny documetnation typo. --- gtk/gtkbox.c | 72 ++++++++++++++++++++++++++-------------------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index 707f4ffa55..9786b3b412 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -297,14 +297,14 @@ gtk_box_class_init (GtkBoxClass *class) gtk_container_class_install_child_property (container_class, CHILD_PROP_PACK_TYPE, g_param_spec_enum ("pack-type", - P_("Pack type"), + P_("Pack type"), P_("A GtkPackType indicating whether the child is packed with reference to the start or end of the parent"), GTK_TYPE_PACK_TYPE, GTK_PACK_START, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_POSITION, - g_param_spec_int ("position", - P_("Position"), + g_param_spec_int ("position", + P_("Position"), P_("The index of the child in the parent"), -1, G_MAXINT, 0, GTK_PARAM_READWRITE)); @@ -857,7 +857,7 @@ gtk_box_pack (GtkBox *box, gtk_widget_freeze_child_notify (child); gtk_widget_set_parent (child, GTK_WIDGET (box)); - + gtk_widget_child_notify (child, "expand"); gtk_widget_child_notify (child, "fill"); gtk_widget_child_notify (child, "padding"); @@ -973,7 +973,7 @@ gtk_box_get_preferred_height (GtkWidget *widget, gtk_box_get_size (widget, GTK_ORIENTATION_VERTICAL, minimum_size, natural_size); } -static void +static void gtk_box_compute_size_for_opposing_orientation (GtkBox *box, gint avail_size, gint *minimum_size, @@ -1003,7 +1003,7 @@ gtk_box_compute_size_for_opposing_orientation (GtkBox *box, for (i = 0, children = private->children; children; children = children->next) { child = children->data; - + if (gtk_widget_get_visible (child->widget)) { if (private->orientation == GTK_ORIENTATION_HORIZONTAL) @@ -1240,7 +1240,7 @@ gtk_box_get_preferred_height_for_width (GtkWidget *widget, /** * gtk_box_new: - * @orientation: the box' orientation. + * @orientation: the box's orientation. * @spacing: the number of pixels to place by default between children. * * Creates a new #GtkBox. @@ -1295,22 +1295,22 @@ gtk_box_pack_start (GtkBox *box, * gtk_box_pack_end: * @box: a #GtkBox * @child: the #GtkWidget to be added to @box - * @expand: %TRUE if the new child is to be given extra space allocated - * to @box. The extra space will be divided evenly between all children + * @expand: %TRUE if the new child is to be given extra space allocated + * to @box. The extra space will be divided evenly between all children * of @box that use this option * @fill: %TRUE if space given to @child by the @expand option is * actually allocated to @child, rather than just padding it. This * parameter has no effect if @expand is set to %FALSE. A child is - * always allocated the full height of a #GtkHBox and the full width + * always allocated the full height of a #GtkHBox and the full width * of a #GtkVBox. This option affects the other dimension * @padding: extra space in pixels to put between this child and its * neighbors, over and above the global amount specified by - * #GtkBox:spacing property. If @child is a widget at one of the - * reference ends of @box, then @padding pixels are also put between + * #GtkBox:spacing property. If @child is a widget at one of the + * reference ends of @box, then @padding pixels are also put between * @child and the reference edge of @box * - * Adds @child to @box, packed with reference to the end of @box. - * The @child is packed after (away from end of) any other child + * Adds @child to @box, packed with reference to the end of @box. + * The @child is packed after (away from end of) any other child * packed with reference to the end of @box. */ void @@ -1328,9 +1328,9 @@ gtk_box_pack_end (GtkBox *box, * @box: a #GtkBox * @homogeneous: a boolean value, %TRUE to create equal allotments, * %FALSE for variable allotments - * - * Sets the #GtkBox:homogeneous property of @box, controlling - * whether or not all children of @box are given equal space + * + * Sets the #GtkBox:homogeneous property of @box, controlling + * whether or not all children of @box are given equal space * in the box. */ void @@ -1373,7 +1373,7 @@ gtk_box_get_homogeneous (GtkBox *box) * @box: a #GtkBox * @spacing: the number of pixels to put between children * - * Sets the #GtkBox:spacing property of @box, which is the + * Sets the #GtkBox:spacing property of @box, which is the * number of pixels to place between children of @box. */ void @@ -1400,9 +1400,9 @@ gtk_box_set_spacing (GtkBox *box, /** * gtk_box_get_spacing: * @box: a #GtkBox - * + * * Gets the value set by gtk_box_set_spacing(). - * + * * Return value: spacing between children **/ gint @@ -1442,21 +1442,21 @@ _gtk_box_get_spacing_set (GtkBox *box) * gtk_box_reorder_child: * @box: a #GtkBox * @child: the #GtkWidget to move - * @position: the new position for @child in the list of children - * of @box, starting from 0. If negative, indicates the end of + * @position: the new position for @child in the list of children + * of @box, starting from 0. If negative, indicates the end of * the list * - * Moves @child to a new @position in the list of @box children. + * Moves @child to a new @position in the list of @box children. * The list is the children field of - * #GtkBox-struct, and contains both widgets packed #GTK_PACK_START - * as well as widgets packed #GTK_PACK_END, in the order that these + * #GtkBox-struct, and contains both widgets packed #GTK_PACK_START + * as well as widgets packed #GTK_PACK_END, in the order that these * widgets were added to @box. - * - * A widget's position in the @box children list determines where - * the widget is packed into @box. A child widget at some position - * in the list will be packed just after all other widgets of the + * + * A widget's position in the @box children list determines where + * the widget is packed into @box. A child widget at some position + * in the list will be packed just after all other widgets of the * same packing type that appear earlier in the list. - */ + */ void gtk_box_reorder_child (GtkBox *box, GtkWidget *child, @@ -1509,11 +1509,11 @@ gtk_box_reorder_child (GtkBox *box, * gtk_box_query_child_packing: * @box: a #GtkBox * @child: the #GtkWidget of the child to query - * @expand: pointer to return location for #GtkBox:expand child property - * @fill: pointer to return location for #GtkBox:fill child property - * @padding: pointer to return location for #GtkBox:padding child property - * @pack_type: pointer to return location for #GtkBox:pack-type child property - * + * @expand: pointer to return location for #GtkBox:expand child property + * @fill: pointer to return location for #GtkBox:fill child property + * @padding: pointer to return location for #GtkBox:padding child property + * @pack_type: pointer to return location for #GtkBox:pack-type child property + * * Obtains information about how @child is packed into @box. */ void @@ -1560,7 +1560,7 @@ gtk_box_query_child_packing (GtkBox *box, * gtk_box_set_child_packing: * @box: a #GtkBox * @child: the #GtkWidget of the child to set - * @expand: the new value of the #GtkBox:expand child property + * @expand: the new value of the #GtkBox:expand child property * @fill: the new value of the #GtkBox:fill child property * @padding: the new value of the #GtkBox:padding child property * @pack_type: the new value of the #GtkBox:pack-type child property From 77be5690fdffc16fda58e991d89ebbdcc0897725 Mon Sep 17 00:00:00 2001 From: Takayuki KUSANO Date: Wed, 3 Nov 2010 09:02:19 +0900 Subject: [PATCH 0136/1463] Updated Japanese translation --- po/ja.po | 1759 +++++++++++++++++++++++++++--------------------------- 1 file changed, 886 insertions(+), 873 deletions(-) diff --git a/po/ja.po b/po/ja.po index 7e0d1105c9..725e4e73fd 100644 --- a/po/ja.po +++ b/po/ja.po @@ -13,10 +13,11 @@ # msgid "" msgstr "" -"Project-Id-Version: gtk+ master\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-09-24 02:16+0900\n" +"Project-Id-Version: gtk+ gtk-2-22\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" +"%2b&component=general\n" +"POT-Creation-Date: 2010-11-02 09:44+0000\n" +"PO-Revision-Date: 2010-11-01 02:21+0900\n" "Last-Translator: Takayuki KUSANO \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -25,60 +26,60 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" msgstr "--gdk-debug オプションの解析エラーです" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "--gdk-no-debug オプションの解析エラーです" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "ウィンドウ・マネージャで利用するプログラムのクラスを指定する" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:153 msgid "CLASS" msgstr "CLASS" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "ウィンドウ・マネージャで利用するプログラムの名前を指定する" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:156 msgid "NAME" msgstr "NAME" # 'X' という1文字は X-Window で固有名詞のため大文字のXで表示する #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:158 msgid "X display to use" msgstr "使用するXのディスプレイを指定する" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:159 msgid "DISPLAY" msgstr "DISPLAY" # 'X' という1文字は X-Window で固有名詞のため大文字のXで表示する #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:161 msgid "X screen to use" msgstr "使用するXのスクリーンを指定する" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:162 msgid "SCREEN" msgstr "SCREEN" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 +#: ../gdk/gdk.c:165 msgid "GDK debugging flags to set" msgstr "有効にする GDK のデバッグ・フラグを指定する" @@ -86,303 +87,303 @@ msgstr "有効にする GDK のデバッグ・フラグを指定する" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "FLAGS" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to unset" msgstr "無効にする GDK のデバッグ・フラグを指定する" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "BackSpace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tab" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Return" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Esc" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_key" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Left" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Up" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Right" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Down" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Space" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Left" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Up" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Right" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Down" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "GDI のリクエストをまとめない" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "タブレットのサポートで Wintab API を使用しない" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "オプション --no-wintab と同じ" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Wintab API を使用しない [デフォルト]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "8-ビット・モードでのパレット・サイズを指定する" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "COLORS" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "%s の起動中です" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "%s を開いています" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "%d 個のアイテムを開いています" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "Xの呼び出しと同期する" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "このプログラムは「完全に無保証」です。詳細は %s を参照してください" +msgstr "" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "ライセンス" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "プログラムのライセンス" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "クレジット(_R)" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "ライセンス(_L)" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "リンクを表示できませんでした" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "%s について" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "クレジット" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "開発担当" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "ドキュメント担当" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "翻訳担当" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "アートワーク担当" @@ -391,7 +392,7 @@ msgstr "アートワーク担当" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -401,7 +402,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -411,7 +412,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -421,7 +422,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -431,7 +432,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -441,37 +442,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "\\" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "%d行目に無効な型関数: '%s'" -#: gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:407 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "オブジェクト ID '%s' が %d行目で重複しています (前は%d行目)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "root 要素が間違っています: '%s'" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "扱えないタグ: '%s'" @@ -486,7 +487,7 @@ msgstr "扱えないタグ: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:YM" @@ -494,7 +495,7 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -503,7 +504,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -518,7 +519,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -534,7 +535,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -550,7 +551,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -558,7 +559,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "無効" @@ -567,7 +568,7 @@ msgstr "無効" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "無効" @@ -576,25 +577,25 @@ msgstr "無効" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "新しいアクセラレータ..." -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:175 ../gtk/gtkcolorbutton.c:460 msgid "Pick a Color" msgstr "色の選択" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:350 msgid "Received invalid color data\n" msgstr "受け取った無効な色のデータ\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:395 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -602,74 +603,75 @@ msgstr "" "外側の輪から希望する色を、内側の三角で色の暗さ・明るさをそれぞれ選択してくだ" "さい" -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:419 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "" "スポイトをクリックして、画面上の好きな場所をクリックして色を選択してください" -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:428 msgid "_Hue:" msgstr "色相(_H):" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:429 msgid "Position on the color wheel." msgstr "色の輪における位置です" -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:431 msgid "_Saturation:" msgstr "彩度(_S):" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:432 +#, fuzzy msgid "Intensity of the color." -msgstr "色の強度(彩度)です。" +msgstr "色の透明度です" -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:433 msgid "_Value:" msgstr "明度(_V):" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:434 msgid "Brightness of the color." msgstr "色の明るさです" -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:435 msgid "_Red:" msgstr "赤(_R):" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:436 msgid "Amount of red light in the color." msgstr "選択した色の赤成分の量です" -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:437 msgid "_Green:" msgstr "緑(_G):" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:438 msgid "Amount of green light in the color." msgstr "選択した色の緑成分の量です" -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:439 msgid "_Blue:" msgstr "青(_B):" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:440 msgid "Amount of blue light in the color." msgstr "選択した色の青成分の量です" -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:443 msgid "Op_acity:" msgstr "不透明度(_A):" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:450 ../gtk/gtkcolorsel.c:460 msgid "Transparency of the color." msgstr "色の透明度です" -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:467 msgid "Color _name:" msgstr "色の名称(_N):" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:481 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -677,15 +679,15 @@ msgstr "" "このエントリに HTML 形式で 16進数の値、または色の名前 (例: 'orange') を入力で" "きます" -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:511 msgid "_Palette:" msgstr "パレット(_P):" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:540 msgid "Color Wheel" msgstr "色ホイール" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1010 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -695,7 +697,7 @@ msgstr "" "色をパレットのエントリにドラッグしたり、他の見本の横にドラッグして現在の色と" "して選択できます" -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1013 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -703,21 +705,21 @@ msgstr "" "選択した色で、この色を将来使用する色として保存するためパレットのエントリにド" "ラッグできます" -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1018 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "前に選択した色です。今選択している色との比較です。" -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1021 msgid "The color you've chosen." msgstr "選択した色です。" -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1421 msgid "_Save color here" msgstr "ここに色を保存する(_S)" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1626 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -726,7 +728,7 @@ msgstr "" "ントリを変更する場合は、色の見本をここにドラッグするか、右クリックして \"色を" "ここに保存\" を選択してください" -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "色の選択" @@ -736,124 +738,125 @@ msgstr "色の選択" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "その他のサイズの管理" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "インチ" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "ミリ" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "プリンタのマージン..." -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "その他のサイズ %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "幅(_W):" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "高さ(_H):" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "用紙サイズ" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "上側(_T):" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "下側(_B):" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "左側(_L):" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "右側(_R):" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "用紙のマージン" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8607 ../gtk/gtktextview.c:8217 msgid "Input _Methods" msgstr "入力メソッド(_M)" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8621 ../gtk/gtktextview.c:8231 msgid "_Insert Unicode Control Character" msgstr "Unicode 制御文字の挿入(_I)" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10021 msgid "Caps Lock and Num Lock are on" -msgstr "Caps Lock と Num Lock がオンになっています" +msgstr "" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10023 +#, fuzzy msgid "Num Lock is on" -msgstr "Num Lock が ON です" +msgstr "Caps Lock が ON です" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10025 msgid "Caps Lock is on" msgstr "Caps Lock が ON です" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "ファイルの選択" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "デスクトップ" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(なし)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:1997 msgid "Other..." msgstr "その他..." -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "新しいフォルダの種類" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "ファイルに関する情報を取得できませんでした" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "ブックマークを追加できませんでした" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "ブックマークを削除できませんでした" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "フォルダを生成できませんでした" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -861,11 +864,17 @@ msgstr "" "同名のフォルダが既に存在しているので、そのフォルダを生成できませんでした。別" "の名前にするか、ファイル名を変更するなどして、もう一度実行してください。" -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "無効なファイル名です" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "フォルダの内容を表示できませんでした" @@ -873,200 +882,200 @@ msgstr "フォルダの内容を表示できませんでした" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%2$s:%1$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "検索" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "最近開いたファイル" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "表示するファイルの種類を選択してください" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "'%s' というフォルダをブックマークへ追加します" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "このフォルダをブックマークへ追加します" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "指定したフォルダをブックマークへ追加します" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "'%s' というブックマークを削除します" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "ブックマーク '%s'を削除できません" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "指定したブックマークを削除します" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "削除" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." msgstr "ファイル名の変更..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "場所" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "場所(_P)" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "追加(_A)" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "指定したフォルダをブックマークへ追加します" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "削除(_R)" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "ファイルを選択できませんでした" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "ブックマークへ追加(_A)" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "隠しファイルを表示する(_H)" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "サイズを表示する(_S)" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "ファイル" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "名前" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "サイズ" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "最終変更日" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "名前(_N):" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" msgstr "他のフォルダ(_B)" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "ファイル名を入力してください" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "フォルダの作成(_L)" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "場所(_L):" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "フォルダの中に保存(_F):" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "フォルダの中に作成(_F):" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "%s の内容を読み込めませんでしtqあ" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "フォルダの内容を読み込めませんでした" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "不明" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "昨日の %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "ローカルではないので、フォルダを変更できません" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "ショートカット %s は既にあります" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "ショートカット %s はありません" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "\"%s\" というファイルは既に存在します。上書きしてもよろしいですか?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "\"%s\" にファイルが既に存在しています。すべての内容を上書きします。" -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "置き換える(_R)" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "検索処理を開始できませんでした" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1074,36 +1083,36 @@ msgstr "" "検索用のインデックスを生成するデーモンに接続できませんでした。デーモンが実行" "中か確認してください。" -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "検索結果をプログラム側に送信できませんでした" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "検索:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "%s をマウントできませんでした" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "パスが間違っています" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "該当するものはありません" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "一つだけ該当するものがあります" @@ -1111,13 +1120,13 @@ msgstr "一つだけ該当するものがあります" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "該当するものがありますが、これ以上の補完は不可です" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "ファイル名の補完中..." @@ -1125,7 +1134,7 @@ msgstr "ファイル名の補完中..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "指定できるのはローカルにあるファイルだけです" @@ -1133,80 +1142,75 @@ msgstr "指定できるのはローカルにあるファイルだけです" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "ホスト名が不完全です ('/' で終わっていません)" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "パスがありません" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "フォルダ '%s' を作成する際にエラー: %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "ファイル・システム" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "フォントの選択" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "フォント" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK これはテストです" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "ファミリ(_F):" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "スタイル(_S):" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "サイズ(_Z):" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "プレビュー(_P):" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "フォントの選択" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "アイコンの読み込みでエラー: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1354 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1219,75 +1223,75 @@ msgstr "" "次からコピーを取得できます:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1535 #, c-format msgid "Icon '%s' not present in theme" msgstr "テーマの中にアイコン '%s' はありません" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3048 msgid "Failed to load icon" msgstr "アイコンの読み込みに失敗しました" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "シンプル" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "システム" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "なし" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "システム (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6196 msgid "_Open Link" msgstr "リンクを開く(_O)" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6208 msgid "Copy _Link Address" msgstr "リンクのアドレスをコピー(_L)" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "URL のコピー" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "URI が間違っています" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "追加で読み込む GTK+ モジュールを指定する" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "MODULES" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "警告をすべて致命的と見なす" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "有効にする GTK+ のデバッグ・フラグを指定する" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "無効にする GTK+ のデバッグ・フラグを指定する" @@ -1296,122 +1300,122 @@ msgstr "無効にする GTK+ のデバッグ・フラグを指定する" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "ディスプレイをオープンできません: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "GTK+ のオプション" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "GTK+ のオプションを表示する" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "接続する(_N)" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "匿名で接続する(_A)" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "ユーザを指定する(_S):" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "ユーザ名(_U):" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "ドメイン(_D):" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "パスワード(_P):" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "今すぐパスワードを破棄する(_I)" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "ログアウトするまでパスワードを記憶する(_L)" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "期限なしで記憶する(_F)" -#: gtk/gtkmountoperation.c:883 +#: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" msgstr "不明なアプリケーション (PID %d)" -#: gtk/gtkmountoperation.c:1066 -#, c-format +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "プロセスを終了できません" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "プロセスを終了(_E)" -#: gtk/gtkmountoperation-stub.c:64 +#: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." msgstr "PID %d のプロセスを kill できません。操作が実装されていません。" #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "端末ページャ" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "top コマンド" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "bash" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "sh" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "zsh" -#: gtk/gtkmountoperation-x11.c:963 +#: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" msgstr "PID %d のプロセスを終了できません: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "%u ページ" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "妥当なページ設定のファイルではありません" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "任意のプリンタ" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "ポータブルなドキュメント用" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1426,51 +1430,52 @@ msgstr "" " 上側: %s %s\n" " 下側: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." msgstr "その他のサイズ..." -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "フォーマット(_F):" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "用紙サイズ(_P):" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "用紙の向き(_O):" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "ページの設定" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "上のパス" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "下のパス" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "ファイル・システムのルート" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "認証" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "利用できません" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 +#, fuzzy msgid "Select a folder" -msgstr "フォルダの選択" +msgstr "ファイルの選択" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "フォルダの中に保存(_S):" @@ -1478,187 +1483,184 @@ msgstr "フォルダの中に保存(_S):" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s (印刷ジョブの番号 #%d)" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "初期状態" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "プリンタの準備中" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "データの生成中" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "データの送信中" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "待機中" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "障害の発生中" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "印刷中" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "完了" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "完了 (エラー有り)" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "%d の準備中です" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "準備中" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "%d の印刷中です" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "プレビューを生成する際にエラー" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "作業用のファイルを生成できないことが一番考えられそうな原因です。" -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "プレビューを起動する際にエラー" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "アプリケーション" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "プリンタはオフラインです" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "用紙の範囲外" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "一時停止" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "ユーザの操作が必要です" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "その他のサイズ" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "プリンタが見つかりません" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "CreateDC() の引数が無効です" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "StartDoc() でエラー" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "メモリが足りません" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "PrintDlgEx() の引数が無効です" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "PrintDlgEx() を指すポインタが無効です" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "PrintDlgEx() のハンドラが無効です" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "原因不明のエラー" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "プリンタの情報の取得に失敗しました。" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "プリンタの情報を取得中..." -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "プリンタ" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "場所" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "状態" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "範囲" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "すべてのページ(_A)" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "現在のページだけ(_U)" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "選択(_L)" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "ページ(_E):" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1666,28 +1668,28 @@ msgstr "" "1ページ以上の範囲を指定してください;\n" "例: 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr "ページ" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "コピー" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "コピーの数(_S):" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "ページを揃える(_O)" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "ページを逆順にする(_R)" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" msgstr "全般" @@ -1697,168 +1699,168 @@ msgstr "全般" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "左から右へ、上から下へ" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "左から右へ、下から上へ" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "右から左へ、上から下へ" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "右から左へ、下から上へ" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "上から下へ、左から右へ" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "上から下へ、右から左へ" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "下から上へ、左から右へ" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "下から上へ、右から左へ" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "ページの順番" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "左から右へ" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "右から左へ" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "上から下へ" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "下から上へ" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "レイアウト" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "両面印刷(_W):" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "段組み印刷(_S):" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "ページの順番(_D):" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "印刷の対象(_O):" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "すべてのページ" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "偶数ページ" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "奇数ページ" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "拡大/縮小(_A):" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "用紙" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "種類(_T):" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "用紙のソース(_S):" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "出力先のトレイ(_R):" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "用紙の向き(_I):" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "縦方向" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "横方向" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "縦方向(逆向き)" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "横方向(逆向き)" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "印刷ジョブの詳細" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "優先順位(_O):" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "サマリ情報(_B):" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "ドキュメントの印刷" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "今すぐ印刷する(_N)" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "時間を指定する(_T):" @@ -1866,7 +1868,7 @@ msgstr "時間を指定する(_T):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1874,121 +1876,121 @@ msgstr "" "印刷する時間を指定してください:\n" " (例) 15:30、午後 2:35、14:15:20, 午前 11:46:30 am、午後 4" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "プリント時間" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "保留する(_H)" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "印刷ジョブが完全に解放されるまで保留しておきます" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "裏表紙の追加" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "前(_F):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "後(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "印刷ジョブ" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "拡張" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "画像の品質" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "色" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "完了" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "ダイアログのいくつかの設定が重複しています" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "印刷" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "インクルードファイルが見つかりません: \"%s\"" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "pixmap_path に画像ファイルが見つかりません: \"%s\"" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "この関数は '%s' クラスのウィジットでは実装されていません" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "表示するファイルの種類を選択してください" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "URI '%s' のアイテムはありません" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "タイトルなしのフィルタ" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "アイテムを削除できませんでした" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "一覧をクリアできませんでした" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "場所のコピー(_L)" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "一覧から削除する(_R)" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "一覧のクリア(_C)" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "個人的なリソースを表示する(_P)" @@ -2002,21 +2004,21 @@ msgstr "個人的なリソースを表示する(_P)" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "(該当なし)" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "URI '%s' に関連する最近使用したリソースはありません" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "'%s' を開きます" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "不明なアイテム" @@ -2025,7 +2027,7 @@ msgstr "不明なアイテム" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2034,46 +2036,51 @@ msgstr "_%d: %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d: %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "URI '%s' のアイテムが見つかりません" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "スピナー" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "進行している様子を視覚的に表します" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "情報" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "警告" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "エラー" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "質問" @@ -2081,696 +2088,699 @@ msgstr "質問" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "情報(_A)" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "追加(_A)" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "適用(_A)" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "太字(_B)" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "キャンセル(_C)" -#: gtk/gtkstock.c:326 +#: ../gtk/gtkstock.c:326 +#, fuzzy msgctxt "Stock label" msgid "_CD-ROM" msgstr "CD-ROM(_C)" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "クリア(_C)" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "閉じる(_C)" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "接続(_O)" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "変換(_C)" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "コピー(_C)" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "切り取り(_T)" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "削除(_D)" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "無効(_D)" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "切断(_D)" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "実行(_E)" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "編集(_E)" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 +#, fuzzy msgctxt "Stock label" msgid "_File" msgstr "ファイル(_F)" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "検索(_F)" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "検索して置換(_R)" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "フロッピー(_F)" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" -msgstr "フルスクリーン表示(_F)" +msgstr "フルスクリーン(_F)" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" -msgstr "フルスクリーン表示の解除(_L)" +msgstr "フルスクリーンの解除(_L)" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "最後(_B)" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "先頭(_F)" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "最後(_L)" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "先頭(_T)" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "戻る(_B)" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "下へ(_D)" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "進む(_F)" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "上へ(_U)" -#: gtk/gtkstock.c:360 +#: ../gtk/gtkstock.c:360 +#, fuzzy msgctxt "Stock label" msgid "_Hard Disk" msgstr "ハードディスク(_H)" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "ヘルプ(_H)" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "ホーム(_H)" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "インデントを増やす" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "インデントを減らす" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "インデックス(_I)" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "情報(_I)" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "斜体(_I)" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "移動(_J)" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "中央寄せ(_C)" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "埋める(_F)" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "左寄せ(_L)" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "右寄せ(_R)" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "早送り(_F)" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "次(_N)" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "一時停止(_A)" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "再生(_P)" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "前(_V)" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "録音(_R)" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "巻き戻し(_E)" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "停止(_S)" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "ネットワーク(_N)" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "新規(_N)" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "いいえ(_N)" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "OK(_O)" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "開く(_O)" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "横置き" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "縦置き" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "横置きの逆" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "縦置きの逆" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "ページの設定(_U)" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "貼り付け(_P)" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "設定(_P)" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "印刷(_P)" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "印刷プレビュー(_V)" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "プロパティ(_P)" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "終了(_Q)" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "やり直す(_R)" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "更新(_R)" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "削除(_R)" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "元に戻す(_R)" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "保存(_S)" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "別名で保存(_A)" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "すべて選択(_A)" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "色(_C)" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "フォント(_F)" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "昇順(_A)" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "降順(_D)" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "スペル・チェック(_S)" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "停止(_S)" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "打ち消し線(_S)" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "削除の取り消し(_U)" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "下線(_U)" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "元に戻す(_U)" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "はい(_Y)" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "標準サイズ(_N)" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "フィットさせる(_F)" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "拡大(_I)" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "縮小(_O)" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "%s をデシリアライズする際に原因不明のエラー" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "%s 形式をデシリアライズする関数がありません" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "\"id\" と \"name\" の両方が要素 <%s> 上にありました" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "属性 \"%s\" が要素 <%s> 上に二つありました" -#: gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:855 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "要素 <%s> の ID \"%s\" が間違っています" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "要素 <%s> には \"name\" や \"id\" といった属性はありません" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "属性 \"%s\" が同じ要素 <%s> 上に二回出現しました" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "このコンテキストの中にある要素 <%2$s> の属性 \"%1$s\" が間違っています" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "タグ \"%s\" が定義されていません" -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "匿名のタグがあるので、タグを生成できません" -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "タグ \"%s\" がバッファに存在しないので、タグを生成できません" -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "要素 <%s> は <%s> の下で定義できません" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" は属性の種類として妥当ではありません" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" は属性名としては妥当ではありません" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "\"%s\" を \"%s\" (属性は \"%s\") という種類の値に変換できませんでした" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" は属性 \"%s\" に対して妥当な値ではありません" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "タグ \"%s\" は既に定義されています" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "タグ \"%s\" の優先度 \"%s\" が間違っています" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "" -"テキストの中にある一番外側の要素は <%s> ではなく にして下" -"さい" +"テキストの中にある一番外側の要素は <%s> ではなく にしてく" +"ださい" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "要素 <%s> は既に指定されています" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr "要素 は要素 の前に記述できません" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "シリアライズしたデータが壊れています" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "シリアライズしたデータが壊れています (セクションの先頭が " "GTKTEXTBUFFERCONTENTS-0001 でない)" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM 左→右 Mark(_L)" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM 右→左 Mark(_R)" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE 左→右 Embedding(_E)" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE 右→左 Embedding(_M)" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO 左→右 Override(_O)" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO 右→左 Override(_V)" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF POP Directional Formatting(_P)" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS Zero Width Space(_Z)" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ Zero Width Joiner(_J)" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ Zero Width Non-Joiner(_N)" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "module_path にはテーマ・エンジンがありません: \"%s\"," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "%2$d 行目 %3$d 文字目の予想外の開始タグ '%1$s'" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "%d 行の %d 文字目の文字データは予想外です" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "空" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "音量" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "音量を上げたり下げたりします" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "音量を調整します" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "音量を下げます" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "音量を下げます" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "音量を上げます" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "音量を上げます" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "ミュート" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "フル音量" @@ -2779,932 +2789,932 @@ msgstr "フル音量" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "paper size|asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "paper size|A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 エキストラ" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 エキストラ" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 タブ" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 エキストラ" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 エキストラ" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "DL 封筒" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "JIS エグゼクティブ" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "長形2号" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "長形3号" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "長形4号" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "ハガキ" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "角形" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "角形2号" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "往復ハガキ" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "洋形4号" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9 封筒" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9 封筒" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11 封筒" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "a2 封筒" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "c5 封筒" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "欧風 edp" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "エグゼクティブ" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "FanFold 欧風式" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US 式" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold ドイツ式リーガル" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "官製リーガル" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "官製レター" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "インデックス 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "インデックス 4x6 (ハガキ)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "インデックス 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "インデックス 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "請求書" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "タブロイド" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US リーガル" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US リーガル・エキストラ" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US レター" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US レター・エキストラ" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US レター・プラス" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monarch 封筒" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "#10 封筒" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "#11 封筒" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "#12 封筒" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "#14 封筒" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "#9 封筒" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "手作りの封筒" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "四つ折り" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "スーパー A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "スーパー B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "幅広い形式" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "招待状の封筒" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "イタリア式の封筒" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix 封筒" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "小さな写真" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1 封筒" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10 封筒" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2 封筒" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3 封筒" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4 封筒" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "prc5 封筒" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "prc6 封筒" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7 封筒" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8 封筒" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc9 封筒" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "シンボリックリンクの '%s' と '%s' で別の idata が見つかりました\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "ヘッダの書き込みに失敗しました\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "ハッシュ・テーブルの書き込みに失敗しました\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "フォルダ・インデックスの書き込みに失敗しました\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "ヘッダの再書き込みに失敗しました\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "%s というファイルのオープンに失敗しました: %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "キャッシュ・ファイルの書き込みに失敗しました: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "生成したキャッシュは正しくありません\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s の名前を %s に変更できませんでした: %s (その後に %s を削除します)\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s の名前を %s に変更できませんでした: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s の名前を %s に戻せませんでした: %s\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "キャッシュ・ファイルの生成が完了しました\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "既存のキャッシュを上書きする (最新の状態でも)" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "index.theme ファイルの有無を確認しない" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "キャッシュに画像データを含めない" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "C言語のヘッダ・ファイルを出力する" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "詳細な出力を無効にする" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "既存のアイコン・キャッシュを検証する" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "ファイルが見つかりませんでした: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "妥当なアイコン・キャッシュではありません: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "テーマの index ファイルがありません。\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3715,162 +3725,162 @@ msgstr "" "を追加してください\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "アムハラ語 (EZ+)" # フランス語などで c の下に付けられる 'ひげ' のような符号 #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "セディーユ" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "キリル文字 (翻字)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "イヌクティトゥト語 (翻字)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA (国際発音記号)" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "マルチプレス" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "タイ/ラオス語" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "ティグリグナ・エリトリア語 (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "ティグリグナ・エチオピア語 (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "ベトナム語 (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "Xの入力メソッド" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "ユーザ名:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "パスワード:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s からファイルを取得するには認証が必要" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "文書 '%s' をプリンタ '%s' で印刷するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "文書を %s で印刷するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "ジョブ '%s' の属性を取得するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "ジョブの属性を取得するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "プリンタ %s の属性を取得するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "プリンタの属性を取得するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "%s のデフォルトのプリンタを取得するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "%s からプリンタを取得するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s からファイルを取得するには認証が必要" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "%s には認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "ドメイン:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "文書 '%s' を印刷するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "この文書をプリンタ '%s' で印刷するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "この文書を印刷するには認証が必要" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "プリンタ '%s' のトナーが少なくなっています。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "プリンタ '%s' のトナーがなくなりました。" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "プリンタ '%s' のフォト開発用コンテキストが少なくなっています。" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "プリンタ '%s' のフォト開発用コンテキストがなくなりました。" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "" @@ -3878,150 +3888,150 @@ msgstr "" "くなっています。" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "" "プリンタ '%s' にセットされているカートリッジのうち少なくとも1本のインクがなく" "なりました。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "プリンタ '%s' のカバーが開いています。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "プリンタ '%s' のドアが開いています。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "プリンタ '%s' の用紙が少なくなっています。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "プリンタ '%s' の用紙がなくなりました。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "Printer '%s' is currently offline." msgstr "プリンタ '%s' は現在オフラインです。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "プリンタ '%s' で問題が発生しました。" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "一時停止中 (印刷ジョブを破棄しています)" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "印刷ジョブを破棄しています" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "両面印刷" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "用紙の種類" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "用紙のソース" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "出力トレイ" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "解像度" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript のフィルタリング (前処理)" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "片面印刷" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "長辺 (標準)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "短辺 (折り返し)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "自動選択" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "プリンタのデフォルト" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "埋め込みの GhostScript のフォントだけ" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "PS のレベル1に変換する" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "PS のレベル2に変換する" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "フィルタリング (前処理) はありません" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "その他" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "緊急" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "高い" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "普通" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "低い" @@ -4029,66 +4039,66 @@ msgstr "低い" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "ページ数/用紙" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "印刷ジョブの優先順位" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "サマリ情報" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "なし" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "機密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "極秘" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "秘密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "標準" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "トップ・シークレット" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "機密ではない" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "前" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "後" @@ -4096,14 +4106,14 @@ msgstr "後" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "印刷先" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "一度に印刷する" @@ -4111,104 +4121,104 @@ msgstr "一度に印刷する" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "カスタム %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "output.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:493 msgid "Print to File" msgstr "ファイルに出力する" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "段組み印刷(_S):" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:641 msgid "File" msgstr "ファイル" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:651 msgid "_Output format" msgstr "出力の形式(_O)" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "LPR に印刷する" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "段組印刷" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "コマンドライン" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "プリンタはオフライン" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "印刷可能" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "ジョブを処理中" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "一時停止" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "不明" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "test-output.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "テスト用プリンタに印刷する" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "'%s' というファイルの情報を取得できませんでした: %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "ファイル '%s' のオープンに失敗しました: %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" @@ -4219,6 +4229,9 @@ msgstr "" #~ msgid "\"Deepness\" of the color." #~ msgstr "色の \"深さ\" です" +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "フォルダ '%s' を作成する際にエラー: %s" + #~ msgid "Folders" #~ msgstr "フォルダ" From 7dd52d7b60fa1e4b25a65148eada36face402524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 3 Nov 2010 03:19:22 +0100 Subject: [PATCH 0137/1463] docs: Fix gtk-doc markup in GtkWidget docs --- gtk/gtkwidget.c | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 8f00708e1d..a223693dfb 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -1330,7 +1330,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:hexpand-set * - * Whether to use the GtkWidget:hexpand property. See gtk_widget_get_hexpand_set(). + * Whether to use the #GtkWidget:hexpand property. See gtk_widget_get_hexpand_set(). * * Since: 3.0 */ @@ -1360,7 +1360,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:vexpand-set * - * Whether to use the GtkWidget:vexpand property. See gtk_widget_get_vexpand_set(). + * Whether to use the #GtkWidget:vexpand property. See gtk_widget_get_vexpand_set(). * * Since: 3.0 */ @@ -1375,7 +1375,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:expand * - * Whether to expand in both directions. Setting this sets both GtkWidget:hexpand and GtkWidget:vexpand + * Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand * * Since: 3.0 */ @@ -4238,8 +4238,8 @@ _gtk_widget_enable_device_events (GtkWidget *widget) * isn't very useful otherwise. Many times when you think you might * need it, a better approach is to connect to a signal that will be * called after the widget is realized automatically, such as - * GtkWidget::expose-event. Or simply g_signal_connect () to the - * GtkWidget::realize signal. + * #GtkWidget::expose-event. Or simply g_signal_connect () to the + * #GtkWidget::realize signal. **/ void gtk_widget_realize (GtkWidget *widget) @@ -5446,7 +5446,7 @@ gtk_cairo_set_event (cairo_t *cr, * @cr: a cairo context * @window: the window to check * - * This function is supposed to be called in GtkWidget::draw + * This function is supposed to be called in #GtkWidget::draw * implementations for widgets that support multiple windows. * @cr must be untransformed from invoking of the draw function. * This function will return %TRUE if the contents of the given @@ -5674,9 +5674,9 @@ gtk_widget_get_translation_to_window (GtkWidget *widget, * modification will be applied. * * This is the inverse to the transformation GTK applies when - * preparing an expose event to be emitted with the GtkWidget::draw + * preparing an expose event to be emitted with the #GtkWidget::draw * signal. It is intended to help porting multiwindow widgets from - * GTK 2 to the rendering architecture of GTK 3. + * GTK+ 2 to the rendering architecture of GTK+ 3. **/ void gtk_cairo_transform_to_window (cairo_t *cr, @@ -6882,7 +6882,7 @@ gtk_widget_get_visible (GtkWidget *widget) * (gtk_widget_get_window() never returns a %NULL window when a widget * is realized), but for many of them it's actually the #GdkWindow of * one of its parent widgets. Widgets that do not create a %window for - * themselves in GtkWidget::realize() must announce this by + * themselves in #GtkWidget::realize must announce this by * calling this function with @has_window = %FALSE. * * This function should only be called by widget implementations, @@ -9283,7 +9283,7 @@ gtk_widget_get_ancestor (GtkWidget *widget, * Sets the visual that should be used for by widget and its children for * creating #GdkWindows. The visual must be on the same #GdkScreen as * returned by gdk_widget_get_screen(), so handling the - * GtkWidget::screen-changed signal is necessary. + * #GtkWidget::screen-changed signal is necessary. * * Setting a new @visual will not cause @widget to recreate its windows, * so you should call this function before @widget is realized. @@ -12528,7 +12528,7 @@ gtk_widget_remove_mnemonic_label (GtkWidget *widget, * gtk_widget_get_no_show_all: * @widget: a #GtkWidget * - * Returns the current value of the GtkWidget:no-show-all property, + * Returns the current value of the #GtkWidget:no-show-all property, * which determines whether calls to gtk_widget_show_all() * will affect this widget. * @@ -12723,10 +12723,10 @@ gtk_widget_queue_tooltip_query (GtkWidget *widget) * @text: the contents of the tooltip for @widget * * Sets @text as the contents of the tooltip. This function will take - * care of setting GtkWidget:has-tooltip to %TRUE and of the default - * handler for the GtkWidget::query-tooltip signal. + * care of setting #GtkWidget:has-tooltip to %TRUE and of the default + * handler for the #GtkWidget::query-tooltip signal. * - * See also the GtkWidget:tooltip-text property and gtk_tooltip_set_text(). + * See also the #GtkWidget:tooltip-text property and gtk_tooltip_set_text(). * * Since: 2.12 */ @@ -12770,10 +12770,10 @@ gtk_widget_get_tooltip_text (GtkWidget *widget) * Sets @markup as the contents of the tooltip, which is marked up with * the Pango text markup language. * - * This function will take care of setting GtkWidget:has-tooltip to %TRUE - * and of the default handler for the GtkWidget::query-tooltip signal. + * This function will take care of setting #GtkWidget:has-tooltip to %TRUE + * and of the default handler for the #GtkWidget::query-tooltip signal. * - * See also the GtkWidget:tooltip-markup property and + * See also the #GtkWidget:tooltip-markup property and * gtk_tooltip_set_markup(). * * Since: 2.12 @@ -12816,7 +12816,7 @@ gtk_widget_get_tooltip_markup (GtkWidget *widget) * @has_tooltip: whether or not @widget has a tooltip. * * Sets the has-tooltip property on @widget to @has_tooltip. See - * GtkWidget:has-tooltip for more information. + * #GtkWidget:has-tooltip for more information. * * Since: 2.12 */ @@ -12834,7 +12834,7 @@ gtk_widget_set_has_tooltip (GtkWidget *widget, * @widget: a #GtkWidget * * Returns the current value of the has-tooltip property. See - * GtkWidget:has-tooltip for more information. + * #GtkWidget:has-tooltip for more information. * * Return value: current value of has-tooltip on @widget. * @@ -12927,7 +12927,7 @@ gtk_widget_set_allocation (GtkWidget *widget, * * Returns the width that has currently been allocated to @widget. * This function is intended to be used when implementing handlers - * for the GtkWidget::draw function. + * for the #GtkWidget::draw function. * * Returns: the width of the @widget **/ @@ -12945,7 +12945,7 @@ gtk_widget_get_allocated_width (GtkWidget *widget) * * Returns the height that has currently been allocated to @widget. * This function is intended to be used when implementing handlers - * for the GtkWidget::draw function. + * for the #GtkWidget::draw function. * * Returns: the height of the @widget **/ @@ -12993,7 +12993,7 @@ gtk_widget_get_requisition (GtkWidget *widget, * @window: a #GdkWindow * * Sets a widget's window. This function should only be used in a - * widget's GtkWidget::realize() implementation. The %window passed is + * widget's #GtkWidget::realize implementation. The %window passed is * usually either new window created with gdk_window_new(), or the * window of its parent widget as returned by * gtk_widget_get_parent_window(). From dadf5c331ae5aca6ed616776d7ad359243558c4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 3 Nov 2010 03:20:20 +0100 Subject: [PATCH 0138/1463] docs: Improve cross-referencing on GtkGrid docs --- gtk/gtkgrid.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c index 05f50ab3c5..7aaf8ef818 100644 --- a/gtk/gtkgrid.c +++ b/gtk/gtkgrid.c @@ -36,9 +36,9 @@ * * GtkGrid is a container which arranges its child widgets in * rows and columns. It is a very similar to #GtkTable and #GtkBox, - * but it consistently uses #GtkWidget's margin and expand properties - * instead of custom child properties, and it fully supports - * height-for-width geometry management. + * but it consistently uses #GtkWidget's #GtkWidget:margin and #GtkWidget:expand + * properties instead of custom child properties, and it fully supports + * height-for-width geometry management. * * Children are added using gtk_grid_attach(). They can span multiple * rows or columns. It is also possible to add a child next to an @@ -46,7 +46,7 @@ * * GtkGrid can be used like a #GtkBox by just using gtk_container_add(), * which will place children next to each other in the direction determined - * by the #GtkGrid::orientation property. + * by the #GtkOrientable:orientation property. */ typedef struct _GtkGridChild GtkGridChild; From 65e045f5f4a1b22e535962bfbf4d9444986cc0b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 3 Nov 2010 03:37:13 +0100 Subject: [PATCH 0139/1463] Revert "Move the /*< private >*/ at the correct position" All the object structures is opaque This reverts commit c59ca4f6b9c144c59cac6288862e7a59eaa7a2cc. --- gtk/gtkgrid.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkgrid.h b/gtk/gtkgrid.h index 75be807e5b..530ef0be25 100644 --- a/gtk/gtkgrid.h +++ b/gtk/gtkgrid.h @@ -45,9 +45,9 @@ typedef struct _GtkGridClass GtkGridClass; struct _GtkGrid { + /*< private >*/ GtkContainer container; - /*< private >*/ GtkGridPrivate *priv; }; From 4bdff81f2e5f224d2b4dd9ebd671f8d6fbf81055 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Wed, 3 Nov 2010 08:26:27 -0400 Subject: [PATCH 0140/1463] gtktoolitemgroup: don't use GTimeSpec Use gint64 time instead. --- gtk/gtktoolitemgroup.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index a1f4b052d2..f095f80aa0 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -1798,10 +1798,8 @@ gtk_tool_item_group_set_header_relief (GtkToolItemGroup *group, static gint64 gtk_tool_item_group_get_animation_timestamp (GtkToolItemGroup *group) { - GTimeSpec now; - - g_source_get_time (group->priv->animation_timeout, &now); - return (now.tv_sec * G_USEC_PER_SEC + now.tv_nsec / 1000 - group->priv->animation_start) / 1000; + return (g_source_get_time (group->priv->animation_timeout) - + group->priv->animation_start) / 1000; } static void @@ -1924,14 +1922,10 @@ gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group, { if (priv->animation) { - GTimeSpec now; - - g_get_monotonic_time (&now); - if (priv->animation_timeout) g_source_destroy (priv->animation_timeout); - priv->animation_start = (now.tv_sec * G_USEC_PER_SEC + now.tv_nsec / 1000); + priv->animation_start = g_get_monotonic_time (); priv->animation_timeout = g_timeout_source_new (ANIMATION_TIMEOUT); g_source_set_callback (priv->animation_timeout, From d2b64a1db2e0070f90c77a88ccf1537173befb83 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Tue, 2 Nov 2010 15:30:44 -0400 Subject: [PATCH 0141/1463] Switch to CSS interpretation of rgb() and rgba() colors CSS3 defines a somewhat odd syntax for rgba() colors - the rgb values are integers from 0 to 255 or percentages and the a value is a float from 0 to 1. To avoid increasing the total amount of confusion in the world, make gdk_rgb_to_string() and gdk_rgb_parse() follow this syntax rather than using floats for r, g, and b. https://bugzilla.gnome.org/show_bug.cgi?id=633762 --- gdk/gdkrgba.c | 91 ++++++++++++++++++++++++++++++++----------- gdk/tests/gdk-color.c | 29 +++++++------- 2 files changed, 85 insertions(+), 35 deletions(-) diff --git a/gdk/gdkrgba.c b/gdk/gdkrgba.c index b355631e0e..e50f47f4b5 100644 --- a/gdk/gdkrgba.c +++ b/gdk/gdkrgba.c @@ -72,6 +72,43 @@ gdk_rgba_free (GdkRGBA *rgba) g_slice_free (GdkRGBA, rgba); } +#define SKIP_WHITESPACES(s) while (*(s) == ' ') (s)++; + +/* Parses a single color component from a rgb() or rgba() specification + * according to CSS3 rules. Compared to exact CSS3 parsing we are liberal + * in what we accept as follows: + * + * - For non-percentage values, we accept floats in the range 0-255 + * not just [0-9]+ integers + * - For percentage values we accept any float, not just + * [ 0-9]+ | [0-9]* '.' [0-9]+ + * - We accept mixed percentages and non-percentages in a single + * rgb() or rgba() specification. + */ +static double +parse_rgb_value (const char *str, + char **endp) +{ + double number; + const char *p; + + number = g_ascii_strtod (str, endp); + + p = *endp; + + SKIP_WHITESPACES (p); + + if (*p == '%') + { + *endp = (char *)(p + 1); + return CLAMP(number / 100., 0., 1.); + } + else + { + return CLAMP(number / 255., 0., 1.); + } +} + /** * gdk_rgba_parse: * @spec: the string specifying the color @@ -100,8 +137,9 @@ gdk_rgba_free (GdkRGBA *rgba) * * * Where 'r', 'g', 'b' and 'a' are respectively the red, green, blue and - * alpha color values, parsed in the last 2 cases as double numbers in - * the range [0..1], any other value out of that range will be clamped. + * alpha color values. In the last two cases, r g and b are either integers + * in the range 0 to 255 or precentage values in the range 0% to 100%, and + * a is a floating point value in the range 0 to 1. * * Returns: %TRUE if the parsing succeeded **/ @@ -113,8 +151,6 @@ gdk_rgba_parse (const gchar *spec, gdouble r, g, b, a; gchar *str = (gchar *) spec; -#define SKIP_WHITESPACES(s) while (*(s) == ' ') (s)++; - if (strncmp (str, "rgba", 4) == 0) { has_alpha = TRUE; @@ -157,7 +193,7 @@ gdk_rgba_parse (const gchar *spec, /* Parse red */ SKIP_WHITESPACES (str); - r = g_ascii_strtod (str, &str); + r = parse_rgb_value (str, &str); SKIP_WHITESPACES (str); if (*str != ',') @@ -167,7 +203,7 @@ gdk_rgba_parse (const gchar *spec, /* Parse green */ SKIP_WHITESPACES (str); - g = g_ascii_strtod (str, &str); + g = parse_rgb_value (str, &str); SKIP_WHITESPACES (str); if (*str != ',') @@ -177,7 +213,7 @@ gdk_rgba_parse (const gchar *spec, /* Parse blue */ SKIP_WHITESPACES (str); - b = g_ascii_strtod (str, &str); + b = parse_rgb_value (str, &str); SKIP_WHITESPACES (str); if (has_alpha) @@ -195,8 +231,6 @@ gdk_rgba_parse (const gchar *spec, if (*str != ')') return FALSE; -#undef SKIP_WHITESPACES - if (rgba) { rgba->red = CLAMP (r, 0, 1); @@ -208,6 +242,8 @@ gdk_rgba_parse (const gchar *spec, return TRUE; } +#undef SKIP_WHITESPACES + /** * gdk_rgba_hash: * @p: a #GdkRGBA pointer. @@ -259,25 +295,36 @@ gdk_rgba_equal (gconstpointer p1, * gdk_rgba_to_string: * @rgba: a #GdkRGBA * - * Returns a textual specification of @rgba in the form - * rgba (r, g, b, a), where 'r', 'g', - * 'b' and 'a' represent the red, green, blue and alpha - * values respectively. + * Returns a textual specification of @rgba in the form rgb + * (r, g, b) or rgba (r, g, b, a), + * where 'r', 'g', 'b' and 'a' represent the red, green, blue and alpha values + * respectively. r, g, and b are integers in the range 0 to 255, and a + * is a floating point value in the range 0 to 1. + * + * (These string forms are string forms those supported by the CSS3 colors module) * * Returns: A newly allocated text string **/ gchar * gdk_rgba_to_string (const GdkRGBA *rgba) { - gchar red[G_ASCII_DTOSTR_BUF_SIZE]; - gchar green[G_ASCII_DTOSTR_BUF_SIZE]; - gchar blue[G_ASCII_DTOSTR_BUF_SIZE]; - gchar alpha[G_ASCII_DTOSTR_BUF_SIZE]; + if (rgba->alpha > 0.999) + { + return g_strdup_printf ("rgb(%d,%d,%d)", + (int)(0.5 + CLAMP (rgba->red, 0., 1.) * 255.), + (int)(0.5 + CLAMP (rgba->green, 0., 1.) * 255.), + (int)(0.5 + CLAMP (rgba->blue, 0., 1.) * 255.)); + } + else + { + gchar alpha[G_ASCII_DTOSTR_BUF_SIZE]; - g_ascii_dtostr (red, G_ASCII_DTOSTR_BUF_SIZE, CLAMP (rgba->red, 0, 1)); - g_ascii_dtostr (green, G_ASCII_DTOSTR_BUF_SIZE, CLAMP (rgba->green, 0, 1)); - g_ascii_dtostr (blue, G_ASCII_DTOSTR_BUF_SIZE, CLAMP (rgba->blue, 0, 1)); - g_ascii_dtostr (alpha, G_ASCII_DTOSTR_BUF_SIZE, CLAMP (rgba->alpha, 0, 1)); + g_ascii_dtostr (alpha, G_ASCII_DTOSTR_BUF_SIZE, CLAMP (rgba->alpha, 0, 1)); - return g_strdup_printf ("rgba(%s,%s,%s,%s)", red, green, blue, alpha); + return g_strdup_printf ("rgba(%d,%d,%d,%s)", + (int)(0.5 + CLAMP (rgba->red, 0., 1.) * 255.), + (int)(0.5 + CLAMP (rgba->green, 0., 1.) * 255.), + (int)(0.5 + CLAMP (rgba->blue, 0., 1.) * 255.), + alpha); + } } diff --git a/gdk/tests/gdk-color.c b/gdk/tests/gdk-color.c index b0736b8b3e..2dbe2ad248 100644 --- a/gdk/tests/gdk-color.c +++ b/gdk/tests/gdk-color.c @@ -14,23 +14,23 @@ test_color_parse (void) res = gdk_rgba_parse ("", &color); g_assert (!res); + expected.red = 100/255.; + expected.green = 90/255.; + expected.blue = 80/255.; + expected.alpha = 0.1; + res = gdk_rgba_parse ("rgba(100,90,80,0.1)", &color); + g_assert (res); + g_assert (gdk_rgba_equal (&color, &expected)); + expected.red = 0.4; expected.green = 0.3; expected.blue = 0.2; expected.alpha = 0.1; - res = gdk_rgba_parse ("rgba(0.4,0.3,0.2,0.1)", &color); + res = gdk_rgba_parse ("rgba(40%,30%,20%,0.1)", &color); g_assert (res); g_assert (gdk_rgba_equal (&color, &expected)); - res = gdk_rgba_parse ("rgba ( 0.4 , 0.3 , 0.2 , 0.1 )", &color); - g_assert (res); - g_assert (gdk_rgba_equal (&color, &expected)); - - expected.red = 0.4; - expected.green = 0.3; - expected.blue = 0.2; - expected.alpha = 1.0; - res = gdk_rgba_parse ("rgb(0.4,0.3,0.2)", &color); + res = gdk_rgba_parse ("rgba( 40 % , 30 % , 20 % , 0.1 )", &color); g_assert (res); g_assert (gdk_rgba_equal (&color, &expected)); @@ -61,10 +61,13 @@ test_color_to_string (void) gchar *res_en; gchar *orig; + /* Using /255. values for the r, g, b components should + * make sure they round-trip exactly without rounding + * from the double => integer => double conversions */ rgba.red = 1.0; - rgba.green = 0.5; - rgba.blue = 0.1; - rgba.alpha = 1.0; + rgba.green = 128/255.; + rgba.blue = 64/255.; + rgba.alpha = 0.5; orig = g_strdup (setlocale (LC_ALL, NULL)); res = gdk_rgba_to_string (&rgba); From 7ca240916f0000c44812d41468b9e1f9fb343636 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Fri, 22 Oct 2010 16:07:25 +0200 Subject: [PATCH 0142/1463] Only show Desktop in file chooser button if there is one Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=632894 --- gtk/gtkfilechooserbutton.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 471be29800..d0b0268d10 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -1685,7 +1685,10 @@ model_add_special (GtkFileChooserButton *button) desktopdir = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP); - if (desktopdir) + /* "To disable a directory, point it to the homedir." + * See http://freedesktop.org/wiki/Software/xdg-user-dirs + **/ + if (g_strcmp0 (desktopdir, g_get_home_dir ()) != 0) { GtkTreePath *tree_path; GCancellable *cancellable; From a83b0b68ce3164f47e1e16d3202b4abbdd5286c4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 3 Nov 2010 23:00:05 -0400 Subject: [PATCH 0143/1463] Handle empty button boxes gracefully https://bugzilla.gnome.org/show_bug.cgi?id=633915 --- gtk/gtkbbox.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index ad31d3f779..5fdf837a15 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -774,13 +774,19 @@ gtk_button_box_size_allocate (GtkWidget *widget, x = allocation->x; secondary_x = x + primary_size + n_primaries * childspacing; } - else + else if (nvis_children == 1) { - /* one or zero children, just center */ + /* one child, just center */ childspacing = width; x = secondary_x = allocation->x + (allocation->width - widths[0]) / 2; } + else + { + /* zero children, meh */ + childspacing = width; + x = secondary_x = allocation->x + allocation->width / 2; + } } else { @@ -790,12 +796,18 @@ gtk_button_box_size_allocate (GtkWidget *widget, y = allocation->y; secondary_y = y + primary_size + n_primaries * childspacing; } - else + else if (nvis_children == 1) { - /* one or zero children, just center */ + /* one child, just center */ childspacing = height; y = secondary_y = allocation->y - + (allocation->height - heights[0]) / 2; + + (allocation->height - heights[0]) / 2; + } + else + { + /* zero children, meh */ + childspacing = height; + y = secondary_y = allocation->y + allocation->height / 2; } } From b8bcbd1376d626c52662e34febc9dc2645e28815 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Thu, 4 Nov 2010 16:11:25 +0100 Subject: [PATCH 0144/1463] GtkWidget: Document the size-request signal deprecation. Hopefully my text is correct. --- gtk/gtkwidget.c | 1036 ++++++++++++++++++++++++----------------------- 1 file changed, 520 insertions(+), 516 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index a223693dfb..7b80c6c243 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -21,7 +21,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #undef GDK_DISABLE_DEPRECATED /* gdk_input_set_extension_events() */ @@ -73,13 +73,13 @@ * Height-for-width Geometry Management * * GTK+ uses a height-for-width (and width-for-height) geometry management - * system Height-for-width means that a widget can change how much - * vertical space it needs, depending on the amount of horizontal space - * that it is given (and similar for width-for-height). The most common - * example is a label that reflows to fill up the available width, wraps + * system Height-for-width means that a widget can change how much + * vertical space it needs, depending on the amount of horizontal space + * that it is given (and similar for width-for-height). The most common + * example is a label that reflows to fill up the available width, wraps * to fewer lines, and therefore needs less height. * - * Height-for-width geometry management is implemented in GTK+ by way + * Height-for-width geometry management is implemented in GTK+ by way * of five virtual methods: * * @@ -90,10 +90,10 @@ * or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to * have #GtkWidgetClass.get_preferred_width() called and then - * #GtkWidgetClass.get_preferred_height_for_width() and is the + * #GtkWidgetClass.get_preferred_height_for_width() and is the * default return for unimplemented cases. * However it's important to note (as described below) that any - * widget which trades height-for-width must respond properly to + * widget which trades height-for-width must respond properly to * both #GtkSizeRequestModes since it might be queried in either * orientation by it's parent container. * @@ -117,7 +117,7 @@ * This is called by containers to obtain the minimum and * natural height of a widget. * A widget that does not actually trade any height for width - * or width for height only has to implement these two virtual + * or width for height only has to implement these two virtual * methods (#GtkWidgetClass.get_preferred_width() and * #GtkWidgetClass.get_preferred_height()). * @@ -135,7 +135,7 @@ * * #GtkWidgetClass.get_preferred_width_for_height() * - * This is analogous to #GtkWidgetClass.get_preferred_height_for_width() + * This is analogous to #GtkWidgetClass.get_preferred_height_for_width() * except that it operates in the oposite orientation. It's rare that * a widget actually does %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT requests * but can happen when for example; a widget or container gets additional @@ -152,50 +152,50 @@ * for their minimum sizes it is generally done in two initial passes * in the #GtkSizeRequestMode chosen by the toplevel. * - * For example, when queried in the normal + * For example, when queried in the normal * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH mode: * First, the default minimum and natural width for each widget - * in the interface will be computed using gtk_width_get_preferred_width(). - * Because the preferred widths for each container depends on the preferred - * widths of thier children, this information propagates up the hierarchy, + * in the interface will be computed using gtk_width_get_preferred_width(). + * Because the preferred widths for each container depends on the preferred + * widths of thier children, this information propagates up the hierarchy, * and finally a minimum and natural width is determined for the entire - * toplevel. Next, the toplevel will use the minimum width to query for the - * minimum height contextual to that width using - * gtk_widget_get_preferred_height_for_width(), which will also be a highly - * recursive operation. The minimum height for the minimum width is normally - * used to set the minimum size constraint on the toplevel + * toplevel. Next, the toplevel will use the minimum width to query for the + * minimum height contextual to that width using + * gtk_widget_get_preferred_height_for_width(), which will also be a highly + * recursive operation. The minimum height for the minimum width is normally + * used to set the minimum size constraint on the toplevel * (unless gtk_window_set_geometry_hints() is explicitly used instead). * - * After the toplevel window has initially requested it's size in both - * dimensions it can go on to allocate itself a reasonable size (or a size - * previously specified with gtk_window_set_default_size()). During the - * recursive allocation process it's important to note that request cycles - * will be recursively executed while container widgets allocate their children. - * Each container widget, once allocated a size will go on to first share the - * space in one orientation among its children and then request each child's - * height for their target allocated width or width for allocated height + * After the toplevel window has initially requested it's size in both + * dimensions it can go on to allocate itself a reasonable size (or a size + * previously specified with gtk_window_set_default_size()). During the + * recursive allocation process it's important to note that request cycles + * will be recursively executed while container widgets allocate their children. + * Each container widget, once allocated a size will go on to first share the + * space in one orientation among its children and then request each child's + * height for their target allocated width or width for allocated height * depending. In this way a #GtkWidget will typically be requested its size - * a number of times before actually being allocated a size, the size a - * widget is finally allocated can of course differ from the size it - * requested. For this reason; #GtkWidget caches a small number of results + * a number of times before actually being allocated a size, the size a + * widget is finally allocated can of course differ from the size it + * requested. For this reason; #GtkWidget caches a small number of results * to avoid re-querying for the same sizes in one allocation cycle. * - * See GtkContainer's + * See GtkContainer's * geometry management section - * to learn more about how height-for-width allocations are performed + * to learn more about how height-for-width allocations are performed * by container widgets. * * If a widget does move content around to smartly use up the * allocated size, then it must support the request in both - * #GtkSizeRequestModes even if the widget in question only + * #GtkSizeRequestModes even if the widget in question only * trades sizes in a single orientation. * * For instance, a #GtkLabel that does height-for-width word wrapping - * will not expect to have #GtkWidgetClass.get_preferred_height() called - * because that call is specific to a width-for-height request. In this - * case the label must return the heights required for it's own minimum - * possible width. By following this rule any widget that handles - * height-for-width or width-for-height requests will always be allocated + * will not expect to have #GtkWidgetClass.get_preferred_height() called + * because that call is specific to a width-for-height request. In this + * case the label must return the heights required for it's own minimum + * possible width. By following this rule any widget that handles + * height-for-width or width-for-height requests will always be allocated * at least enough space to fit its own content. * * Here are some examples of how a %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH widget @@ -210,7 +210,7 @@ * gint min_width; * * GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); - * GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, + * GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, * min_height, nat_height); * } * else @@ -220,13 +220,13 @@ * } * } * ]]> - * + * * And in #GtkWidgetClass.get_preferred_width_for_height() it will simply return * the minimum and natural width: * * * Widget calling its own size request method. * - * GTK_WIDGET_GET_CLASS(widget)->get_preferred_width (widget), + * GTK_WIDGET_GET_CLASS(widget)->get_preferred_width (widget), * &min, &natural); * * @@ -873,7 +873,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) klass->get_preferred_width = gtk_widget_real_get_width; klass->get_preferred_height = gtk_widget_real_get_height; klass->get_preferred_width_for_height = gtk_widget_real_get_width_for_height; - klass->get_preferred_height_for_width = gtk_widget_real_get_height_for_width; + klass->get_preferred_height_for_width = gtk_widget_real_get_height_for_width; klass->state_changed = NULL; klass->parent_set = NULL; klass->hierarchy_changed = NULL; @@ -923,7 +923,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) klass->query_tooltip = gtk_widget_real_query_tooltip; klass->show_help = gtk_widget_real_show_help; - + /* Accessibility support */ klass->get_accessible = gtk_widget_real_get_accessible; @@ -942,7 +942,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) g_object_class_install_property (gobject_class, PROP_PARENT, g_param_spec_object ("parent", - P_("Parent widget"), + P_("Parent widget"), P_("The parent widget of this widget. Must be a Container widget"), GTK_TYPE_CONTAINER, GTK_PARAM_READWRITE)); @@ -1069,7 +1069,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:has-tooltip: * - * Enables or disables the emission of #GtkWidget::query-tooltip on @widget. + * Enables or disables the emission of #GtkWidget::query-tooltip on @widget. * A value of %TRUE indicates that @widget can have a tooltip, in this case * the widget will be queried using #GtkWidget::query-tooltip to determine * whether it will provide a tooltip or not. @@ -1469,6 +1469,10 @@ gtk_widget_class_init (GtkWidgetClass *klass) * GtkWidget::size-request: * @widget: the object which received the signal. * @requisition: + * + * Deprecated: 3.0: Either implement + * height-for-width geometry management or + * use gtk_widget_set_size_request() instead of handling this signal. */ _size_request_signal_id = widget_signals[SIZE_REQUEST] = g_signal_new (I_("size-request"), @@ -1485,7 +1489,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal. * @allocation: */ - widget_signals[SIZE_ALLOCATE] = + widget_signals[SIZE_ALLOCATE] = g_signal_new (I_("size-allocate"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_FIRST, @@ -1519,8 +1523,8 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @old_parent: (allow-none): the previous parent, or %NULL if the widget * just got its initial parent. * - * The ::parent-set signal is emitted when a new parent - * has been set on a widget. + * The ::parent-set signal is emitted when a new parent + * has been set on a widget. */ widget_signals[PARENT_SET] = g_signal_new (I_("parent-set"), @@ -1558,10 +1562,10 @@ gtk_widget_class_init (GtkWidgetClass *klass) * GtkWidget::style-set: * @widget: the object on which the signal is emitted * @previous_style: (allow-none): the previous style, or %NULL if the widget - * just got its initial style + * just got its initial style * - * The ::style-set signal is emitted when a new style has been set - * on a widget. Note that style-modifying functions like + * The ::style-set signal is emitted when a new style has been set + * on a widget. Note that style-modifying functions like * gtk_widget_modify_base() also cause this signal to be emitted. */ widget_signals[STYLE_SET] = @@ -1599,12 +1603,12 @@ gtk_widget_class_init (GtkWidgetClass *klass) * if it becomes unshadowed * * The ::grab-notify signal is emitted when a widget becomes - * shadowed by a GTK+ grab (not a pointer or keyboard grab) on - * another widget, or when it becomes unshadowed due to a grab + * shadowed by a GTK+ grab (not a pointer or keyboard grab) on + * another widget, or when it becomes unshadowed due to a grab * being removed. - * - * A widget is shadowed by a gtk_grab_add() when the topmost - * grab widget in the grab stack of its window group is not + * + * A widget is shadowed by a gtk_grab_add() when the topmost + * grab widget in the grab stack of its window group is not * its ancestor. */ widget_signals[GRAB_NOTIFY] = @@ -1622,9 +1626,9 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @pspec: the #GParamSpec of the changed child property * - * The ::child-notify signal is emitted for each + * The ::child-notify signal is emitted for each * child property that has - * changed on an object. The signal's detail holds the property name. + * changed on an object. The signal's detail holds the property name. */ widget_signals[CHILD_NOTIFY] = g_signal_new (I_("child-notify"), @@ -1728,7 +1732,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @direction: the direction of movement * - * Gets emitted if keyboard navigation fails. + * Gets emitted if keyboard navigation fails. * See gtk_widget_keynav_failed() for details. * * Returns: %TRUE if stopping keyboard navigation is fine, %FALSE @@ -1754,13 +1758,13 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * The GTK+ main loop will emit three signals for each GDK event delivered * to a widget: one generic ::event signal, another, more specific, - * signal that matches the type of event delivered (e.g. - * #GtkWidget::key-press-event) and finally a generic + * signal that matches the type of event delivered (e.g. + * #GtkWidget::key-press-event) and finally a generic * #GtkWidget::event-after signal. * - * Returns: %TRUE to stop other handlers from being invoked for the event + * Returns: %TRUE to stop other handlers from being invoked for the event * and to cancel the emission of the second specific ::event signal. - * %FALSE to propagate the event further and to allow the emission of + * %FALSE to propagate the event further and to allow the emission of * the second signal. The ::event-after signal is emitted regardless of * the return value. */ @@ -1779,8 +1783,8 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal. * @event: the #GdkEvent which triggered this signal * - * After the emission of the #GtkWidget::event signal and (optionally) - * the second more specific signal, ::event-after will be emitted + * After the emission of the #GtkWidget::event signal and (optionally) + * the second more specific signal, ::event-after will be emitted * regardless of the previous two signals handlers return values. * */ @@ -1803,12 +1807,12 @@ gtk_widget_class_init (GtkWidgetClass *klass) * The ::button-press-event signal will be emitted when a button * (typically from a mouse) is pressed. * - * To receive this signal, the #GdkWindow associated to the + * To receive this signal, the #GdkWindow associated to the * widget needs to enable the #GDK_BUTTON_PRESS_MASK mask. * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[BUTTON_PRESS_EVENT] = @@ -1830,12 +1834,12 @@ gtk_widget_class_init (GtkWidgetClass *klass) * The ::button-release-event signal will be emitted when a button * (typically from a mouse) is released. * - * To receive this signal, the #GdkWindow associated to the + * To receive this signal, the #GdkWindow associated to the * widget needs to enable the #GDK_BUTTON_RELEASE_MASK mask. * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[BUTTON_RELEASE_EVENT] = @@ -1855,7 +1859,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * this signal. * * The ::scroll-event signal is emitted when a button in the 4 to 7 - * range is pressed. Wheel mice are usually configured to generate + * range is pressed. Wheel mice are usually configured to generate * button press events for buttons 4 and 5 when the wheel is turned. * * To receive this signal, the #GdkWindow associated to the widget needs @@ -1863,7 +1867,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[SCROLL_EVENT] = @@ -1882,15 +1886,15 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @event: (type Gdk.EventMotion): the #GdkEventMotion which triggered * this signal. * - * The ::motion-notify-event signal is emitted when the pointer moves + * The ::motion-notify-event signal is emitted when the pointer moves * over the widget's #GdkWindow. * - * To receive this signal, the #GdkWindow associated to the widget + * To receive this signal, the #GdkWindow associated to the widget * needs to enable the #GDK_POINTER_MOTION_MASK mask. * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[MOTION_NOTIFY_EVENT] = @@ -1908,7 +1912,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object on which the signal is emitted * * The ::composited-changed signal is emitted when the composited - * status of @widgets screen changes. + * status of @widgets screen changes. * See gdk_screen_is_composited(). */ widget_signals[COMPOSITED_CHANGED] = @@ -1931,7 +1935,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * this signal will cause the window to be hidden instead, so that * it can later be shown again without reconstructing it. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[DELETE_EVENT] = @@ -1950,15 +1954,15 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @event: the event which triggered this signal * * The ::destroy-event signal is emitted when a #GdkWindow is destroyed. - * You rarely get this signal, because most widgets disconnect themselves - * from their window before they destroy it, so no widget owns the + * You rarely get this signal, because most widgets disconnect themselves + * from their window before they destroy it, so no widget owns the * window at destroy time. - * + * * To receive this signal, the #GdkWindow associated to the widget needs * to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask * automatically for all new windows. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[DESTROY_EVENT] = @@ -1983,7 +1987,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[KEY_PRESS_EVENT] = @@ -2008,7 +2012,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[KEY_RELEASE_EVENT] = @@ -2035,7 +2039,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[ENTER_NOTIFY_EVENT] = @@ -2062,7 +2066,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[LEAVE_NOTIFY_EVENT] = @@ -2088,7 +2092,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask * automatically for all new windows. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[CONFIGURE_EVENT] = @@ -2113,7 +2117,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * To receive this signal, the #GdkWindow associated to the widget needs * to enable the #GDK_FOCUS_CHANGE_MASK mask. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[FOCUS_IN_EVENT] = @@ -2138,7 +2142,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * To receive this signal, the #GdkWindow associated to the widget needs * to enable the #GDK_FOCUS_CHANGE_MASK mask. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[FOCUS_OUT_EVENT] = @@ -2163,7 +2167,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask * automatically for all new windows. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[MAP_EVENT] = @@ -2192,7 +2196,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask * automatically for all new windows. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[UNMAP_EVENT] = @@ -2217,7 +2221,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * To receive this signal, the #GdkWindow associated to the widget needs * to enable the #GDK_PROPERTY_CHANGE_MASK mask. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[PROPERTY_NOTIFY_EVENT] = @@ -2239,7 +2243,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * The ::selection-clear-event signal will be emitted when the * the @widget's window has lost ownership of a selection. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[SELECTION_CLEAR_EVENT] = @@ -2262,7 +2266,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * another client requests ownership of the selection owned by * the @widget's window. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[SELECTION_REQUEST_EVENT] = @@ -2339,7 +2343,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[PROXIMITY_IN_EVENT] = @@ -2363,7 +2367,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * * This signal will be sent to the grab widget if there is one. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[PROXIMITY_OUT_EVENT] = @@ -2382,9 +2386,9 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @drag_context: the drag context * @time: the timestamp of the motion event * - * The ::drag-leave signal is emitted on the drop site when the cursor - * leaves the widget. A typical reason to connect to this signal is to - * undo things done in #GtkWidget::drag-motion, e.g. undo highlighting + * The ::drag-leave signal is emitted on the drop site when the cursor + * leaves the widget. A typical reason to connect to this signal is to + * undo things done in #GtkWidget::drag-motion, e.g. undo highlighting * with gtk_drag_unhighlight() */ widget_signals[DRAG_LEAVE] = @@ -2403,8 +2407,8 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @drag_context: the drag context * - * The ::drag-begin signal is emitted on the drag source when a drag is - * started. A typical reason to connect to this signal is to set up a + * The ::drag-begin signal is emitted on the drag source when a drag is + * started. A typical reason to connect to this signal is to set up a * custom drag icon with gtk_drag_source_set_icon(). * * Note that some widgets set up a drag icon in the default handler of @@ -2426,8 +2430,8 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @drag_context: the drag context * - * The ::drag-end signal is emitted on the drag source when a drag is - * finished. A typical reason to connect to this signal is to undo + * The ::drag-end signal is emitted on the drag source when a drag is + * finished. A typical reason to connect to this signal is to undo * things done in #GtkWidget::drag-begin. */ widget_signals[DRAG_END] = @@ -2445,10 +2449,10 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @drag_context: the drag context * - * The ::drag-data-delete signal is emitted on the drag source when a drag - * with the action %GDK_ACTION_MOVE is successfully completed. The signal - * handler is responsible for deleting the data that has been dropped. What - * "delete" means depends on the context of the drag operation. + * The ::drag-data-delete signal is emitted on the drag source when a drag + * with the action %GDK_ACTION_MOVE is successfully completed. The signal + * handler is responsible for deleting the data that has been dropped. What + * "delete" means depends on the context of the drag operation. */ widget_signals[DRAG_DATA_DELETE] = g_signal_new (I_("drag-data-delete"), @@ -2525,27 +2529,27 @@ gtk_widget_class_init (GtkWidgetClass *klass) * guint time) * { * GdkAtom target; - * + * * PrivateData *private_data = GET_PRIVATE_DATA (widget); - * - * if (!private_data->drag_highlight) + * + * if (!private_data->drag_highlight) * { * private_data->drag_highlight = 1; * gtk_drag_highlight (widget); * } - * + * * target = gtk_drag_dest_find_target (widget, context, NULL); * if (target == GDK_NONE) * gdk_drag_status (context, 0, time); - * else + * else * { * private_data->pending_status = context->suggested_action; * gtk_drag_get_data (widget, context, target, time); * } - * + * * return TRUE; * } - * + * * static void * drag_data_received (GtkWidget *widget, * GdkDragContext *context, @@ -2556,18 +2560,18 @@ gtk_widget_class_init (GtkWidgetClass *klass) * guint time) * { * PrivateData *private_data = GET_PRIVATE_DATA (widget); - * - * if (private_data->suggested_action) + * + * if (private_data->suggested_action) * { * private_data->suggested_action = 0; - * + * * /* We are getting this data due to a request in drag_motion, * * rather than due to a request in drag_drop, so we are just - * * supposed to call gdk_drag_status (), not actually paste in + * * supposed to call gdk_drag_status (), not actually paste in * * the data. * */ * str = gtk_selection_data_get_text (selection_data); - * if (!data_is_acceptable (str)) + * if (!data_is_acceptable (str)) * gdk_drag_status (context, 0, time); * else * gdk_drag_status (context, private_data->suggested_action, time); @@ -2601,15 +2605,15 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @time: the timestamp of the motion event * @returns: whether the cursor position is in a drop zone * - * The ::drag-drop signal is emitted on the drop site when the user drops - * the data onto the widget. The signal handler must determine whether - * the cursor position is in a drop zone or not. If it is not in a drop - * zone, it returns %FALSE and no further processing is necessary. - * Otherwise, the handler returns %TRUE. In this case, the handler must - * ensure that gtk_drag_finish() is called to let the source know that - * the drop is done. The call to gtk_drag_finish() can be done either - * directly or in a #GtkWidget::drag-data-received handler which gets - * triggered by calling gtk_drag_get_data() to receive the data for one + * The ::drag-drop signal is emitted on the drop site when the user drops + * the data onto the widget. The signal handler must determine whether + * the cursor position is in a drop zone or not. If it is not in a drop + * zone, it returns %FALSE and no further processing is necessary. + * Otherwise, the handler returns %TRUE. In this case, the handler must + * ensure that gtk_drag_finish() is called to let the source know that + * the drop is done. The call to gtk_drag_finish() can be done either + * directly or in a #GtkWidget::drag-data-received handler which gets + * triggered by calling gtk_drag_get_data() to receive the data for one * or more of the supported targets. */ widget_signals[DRAG_DROP] = @@ -2630,14 +2634,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @drag_context: the drag context * @data: the #GtkSelectionData to be filled with the dragged data - * @info: the info that has been registered with the target in the + * @info: the info that has been registered with the target in the * #GtkTargetList * @time: the timestamp at which the data was requested * - * The ::drag-data-get signal is emitted on the drag source when the drop - * site requests the data which is dragged. It is the responsibility of - * the signal handler to fill @data with the data in the format which - * is indicated by @info. See gtk_selection_data_set() and + * The ::drag-data-get signal is emitted on the drag source when the drop + * site requests the data which is dragged. It is the responsibility of + * the signal handler to fill @data with the data in the format which + * is indicated by @info. See gtk_selection_data_set() and * gtk_selection_data_set_text(). */ widget_signals[DRAG_DATA_GET] = @@ -2660,25 +2664,25 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @x: where the drop happened * @y: where the drop happened * @data: the received data - * @info: the info that has been registered with the target in the + * @info: the info that has been registered with the target in the * #GtkTargetList * @time: the timestamp at which the data was received * - * The ::drag-data-received signal is emitted on the drop site when the - * dragged data has been received. If the data was received in order to - * determine whether the drop will be accepted, the handler is expected - * to call gdk_drag_status() and not finish the drag. - * If the data was received in response to a #GtkWidget::drag-drop signal - * (and this is the last target to be received), the handler for this - * signal is expected to process the received data and then call - * gtk_drag_finish(), setting the @success parameter depending on whether - * the data was processed successfully. - * - * The handler may inspect and modify @drag_context->action before calling - * gtk_drag_finish(), e.g. to implement %GDK_ACTION_ASK as shown in the + * The ::drag-data-received signal is emitted on the drop site when the + * dragged data has been received. If the data was received in order to + * determine whether the drop will be accepted, the handler is expected + * to call gdk_drag_status() and not finish the drag. + * If the data was received in response to a #GtkWidget::drag-drop signal + * (and this is the last target to be received), the handler for this + * signal is expected to process the received data and then call + * gtk_drag_finish(), setting the @success parameter depending on whether + * the data was processed successfully. + * + * The handler may inspect and modify @drag_context->action before calling + * gtk_drag_finish(), e.g. to implement %GDK_ACTION_ASK as shown in the * following example: * |[ - * void + * void * drag_data_received (GtkWidget *widget, * GdkDragContext *drag_context, * gint x, @@ -2689,30 +2693,30 @@ gtk_widget_class_init (GtkWidgetClass *klass) * { * if ((data->length >= 0) && (data->format == 8)) * { - * if (drag_context->action == GDK_ACTION_ASK) + * if (drag_context->action == GDK_ACTION_ASK) * { * GtkWidget *dialog; * gint response; - * + * * dialog = gtk_message_dialog_new (NULL, - * GTK_DIALOG_MODAL | + * GTK_DIALOG_MODAL | * GTK_DIALOG_DESTROY_WITH_PARENT, * GTK_MESSAGE_INFO, * GTK_BUTTONS_YES_NO, * "Move the data ?\n"); * response = gtk_dialog_run (GTK_DIALOG (dialog)); * gtk_widget_destroy (dialog); - * + * * if (response == GTK_RESPONSE_YES) * drag_context->action = GDK_ACTION_MOVE; * else * drag_context->action = GDK_ACTION_COPY; * } - * + * * gtk_drag_finish (drag_context, TRUE, FALSE, time); * return; * } - * + * * gtk_drag_finish (drag_context, FALSE, FALSE, time); * } * ]| @@ -2731,7 +2735,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) GTK_TYPE_SELECTION_DATA | G_SIGNAL_TYPE_STATIC_SCOPE, G_TYPE_UINT, G_TYPE_UINT); - + /** * GtkWidget::visibility-notify-event: * @widget: the object which received the signal @@ -2744,7 +2748,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * To receive this signal the #GdkWindow associated to the widget needs * to enable the #GDK_VISIBILITY_NOTIFY_MASK mask. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[VISIBILITY_NOTIFY_EVENT] = @@ -2767,7 +2771,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) * receives a message (via a ClientMessage event) from another * application. * - * Returns: %TRUE to stop other handlers from being invoked for + * Returns: %TRUE to stop other handlers from being invoked for * the event. %FALSE to propagate the event further. */ widget_signals[CLIENT_EVENT] = @@ -2786,12 +2790,12 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @event: (type Gdk.EventNoExpose): the #GdkEventNoExpose which triggered * this signal. * - * The ::no-expose-event will be emitted when the @widget's window is + * The ::no-expose-event will be emitted when the @widget's window is * drawn as a copy of another #GdkDrawable which was completely unobscured. * If the source window was partially obscured #GdkEventExpose events will * be generated for those areas. * - * Returns: %TRUE to stop other handlers from being invoked for the event. + * Returns: %TRUE to stop other handlers from being invoked for the event. * %FALSE to propagate the event further. */ widget_signals[NO_EXPOSE_EVENT] = @@ -2810,14 +2814,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @event: (type Gdk.EventWindowState): the #GdkEventWindowState which * triggered this signal. * - * The ::window-state-event will be emitted when the state of the + * The ::window-state-event will be emitted when the state of the * toplevel window associated to the @widget changes. * - * To receive this signal the #GdkWindow associated to the widget - * needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable + * To receive this signal the #GdkWindow associated to the widget + * needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable * this mask automatically for all new windows. * - * Returns: %TRUE to stop other handlers from being invoked for the + * Returns: %TRUE to stop other handlers from being invoked for the * event. %FALSE to propagate the event further. */ widget_signals[WINDOW_STATE_EVENT] = @@ -2859,14 +2863,14 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @event: the #GdkEventGrabBroken event * - * Emitted when a pointer or keyboard grab on a window belonging - * to @widget gets broken. - * - * On X11, this happens when the grab window becomes unviewable - * (i.e. it or one of its ancestors is unmapped), or if the same + * Emitted when a pointer or keyboard grab on a window belonging + * to @widget gets broken. + * + * On X11, this happens when the grab window becomes unviewable + * (i.e. it or one of its ancestors is unmapped), or if the same * application grabs the pointer or keyboard again. * - * Returns: %TRUE to stop other handlers from being invoked for + * Returns: %TRUE to stop other handlers from being invoked for * the event. %FALSE to propagate the event further. * * Since: 2.8 @@ -2884,15 +2888,15 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget::query-tooltip: * @widget: the object which received the signal - * @x: the x coordinate of the cursor position where the request has + * @x: the x coordinate of the cursor position where the request has * been emitted, relative to @widget->window - * @y: the y coordinate of the cursor position where the request has + * @y: the y coordinate of the cursor position where the request has * been emitted, relative to @widget->window * @keyboard_mode: %TRUE if the tooltip was trigged using the keyboard * @tooltip: a #GtkTooltip * - * Emitted when #GtkWidget:has-tooltip is %TRUE and the #GtkSettings:gtk-tooltip-timeout - * has expired with the cursor hovering "above" @widget; or emitted when @widget got + * Emitted when #GtkWidget:has-tooltip is %TRUE and the #GtkSettings:gtk-tooltip-timeout + * has expired with the cursor hovering "above" @widget; or emitted when @widget got * focus in keyboard mode. * * Using the given coordinates, the signal handler should determine @@ -2925,11 +2929,11 @@ gtk_widget_class_init (GtkWidgetClass *klass) * GtkWidget::popup-menu * @widget: the object which received the signal * - * This signal gets emitted whenever a widget should pop up a context - * menu. This usually happens through the standard key binding mechanism; - * by pressing a certain key while a widget is focused, the user can cause - * the widget to pop up a menu. For example, the #GtkEntry widget creates - * a menu with clipboard commands. See + * This signal gets emitted whenever a widget should pop up a context + * menu. This usually happens through the standard key binding mechanism; + * by pressing a certain key while a widget is focused, the user can cause + * the widget to pop up a menu. For example, the #GtkEntry widget creates + * a menu with clipboard commands. See * for an example of how to use this signal. * * Returns: %TRUE if a menu was activated @@ -3016,7 +3020,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) gtk_binding_entry_add_signal (binding_set, GDK_KEY_F10, GDK_SHIFT_MASK, "popup-menu", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Menu, 0, - "popup-menu", 0); + "popup-menu", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_F1, GDK_CONTROL_MASK, "show-help", 1, @@ -3029,7 +3033,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) gtk_binding_entry_add_signal (binding_set, GDK_KEY_F1, GDK_SHIFT_MASK, "show-help", 1, GTK_TYPE_WIDGET_HELP_TYPE, - GTK_WIDGET_HELP_WHATS_THIS); + GTK_WIDGET_HELP_WHATS_THIS); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_F1, GDK_SHIFT_MASK, "show-help", 1, GTK_TYPE_WIDGET_HELP_TYPE, @@ -3118,7 +3122,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:wide-separators: * - * The "wide-separators" style property defines whether separators have + * The "wide-separators" style property defines whether separators have * configurable width and should be drawn using a box instead of a line. * * Since: 2.10 @@ -3163,7 +3167,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:scroll-arrow-hlength: * - * The "scroll-arrow-hlength" style property defines the length of + * The "scroll-arrow-hlength" style property defines the length of * horizontal scroll arrows. * * Since: 2.10 @@ -3178,7 +3182,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) /** * GtkWidget:scroll-arrow-vlength: * - * The "scroll-arrow-vlength" style property defines the length of + * The "scroll-arrow-vlength" style property defines the length of * vertical scroll arrows. * * Since: 2.10 @@ -3287,7 +3291,7 @@ gtk_widget_set_property (GObject *object, tooltip_window = g_object_get_qdata (object, quark_tooltip_window); tooltip_markup = g_value_dup_string (value); - /* Treat an empty string as a NULL string, + /* Treat an empty string as a NULL string, * because an empty string would be useless for a tooltip: */ if (tooltip_markup && (strlen (tooltip_markup) == 0)) @@ -3309,7 +3313,7 @@ gtk_widget_set_property (GObject *object, tooltip_text = g_value_get_string (value); - /* Treat an empty string as a NULL string, + /* Treat an empty string as a NULL string, * because an empty string would be useless for a tooltip: */ if (tooltip_text && (strlen (tooltip_text) == 0)) @@ -3599,10 +3603,10 @@ gtk_widget_dispatch_child_properties_changed (GtkWidget *widget, /** * gtk_widget_freeze_child_notify: * @widget: a #GtkWidget - * - * Stops emission of #GtkWidget::child-notify signals on @widget. The - * signals are queued until gtk_widget_thaw_child_notify() is called - * on @widget. + * + * Stops emission of #GtkWidget::child-notify signals on @widget. The + * signals are queued until gtk_widget_thaw_child_notify() is called + * on @widget. * * This is the analogue of g_object_freeze_notify() for child properties. **/ @@ -3622,11 +3626,11 @@ gtk_widget_freeze_child_notify (GtkWidget *widget) /** * gtk_widget_child_notify: * @widget: a #GtkWidget - * @child_property: the name of a child property installed on the + * @child_property: the name of a child property installed on the * class of @widget's parent - * - * Emits a #GtkWidget::child-notify signal for the - * child property @child_property + * + * Emits a #GtkWidget::child-notify signal for the + * child property @child_property * on @widget. * * This is the analogue of g_object_notify() for child properties. @@ -3668,9 +3672,9 @@ gtk_widget_child_notify (GtkWidget *widget, * @widget: a #GtkWidget * * Reverts the effect of a previous call to gtk_widget_freeze_child_notify(). - * This causes all queued #GtkWidget::child-notify signals on @widget to be + * This causes all queued #GtkWidget::child-notify signals on @widget to be * emitted. - */ + */ void gtk_widget_thaw_child_notify (GtkWidget *widget) { @@ -3696,16 +3700,16 @@ gtk_widget_thaw_child_notify (GtkWidget *widget) * gtk_widget_new: * @type: type ID of the widget to create * @first_property_name: name of first property to set - * @Varargs: value of first property, followed by more properties, + * @Varargs: value of first property, followed by more properties, * %NULL-terminated - * + * * This is a convenience function for creating a widget and setting * its properties in one go. For example you might write: * gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign", * 0.0, NULL) to create a left-aligned label. Equivalent to * g_object_new(), but returns a widget so you don't have to * cast the object yourself. - * + * * Return value: a new #GtkWidget of type @widget_type **/ GtkWidget* @@ -3715,9 +3719,9 @@ gtk_widget_new (GType type, { GtkWidget *widget; va_list var_args; - + g_return_val_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET), NULL); - + va_start (var_args, first_property_name); widget = (GtkWidget *)g_object_new_valist (type, first_property_name, var_args); va_end (var_args); @@ -3725,7 +3729,7 @@ gtk_widget_new (GType type, return widget; } -static inline void +static inline void gtk_widget_queue_draw_child (GtkWidget *widget) { GtkWidgetPrivate *priv = widget->priv; @@ -3743,7 +3747,7 @@ gtk_widget_queue_draw_child (GtkWidget *widget) /** * gtk_widget_unparent: * @widget: a #GtkWidget - * + * * This function is only for use in widget implementations. * Should be called by implementations of the remove method * on #GtkContainer, to dissociate a child from the container. @@ -3755,14 +3759,14 @@ gtk_widget_unparent (GtkWidget *widget) GObjectNotifyQueue *nqueue; GtkWidget *toplevel; GtkWidget *old_parent; - + g_return_if_fail (GTK_IS_WIDGET (widget)); priv = widget->priv; if (priv->parent == NULL) return; - + /* keep this function in sync with gtk_menu_detach() */ @@ -3793,7 +3797,7 @@ gtk_widget_unparent (GtkWidget *widget) */ priv->allocation.width = 1; priv->allocation.height = 1; - + if (gtk_widget_get_realized (widget)) { if (priv->in_reparent) @@ -3807,7 +3811,7 @@ gtk_widget_unparent (GtkWidget *widget) * in the next parent. */ priv->child_visible = TRUE; - + old_parent = priv->parent; priv->parent = NULL; gtk_widget_set_parent_window (widget, NULL); @@ -3896,7 +3900,7 @@ gtk_widget_destroyed (GtkWidget *widget, /** * gtk_widget_show: * @widget: a #GtkWidget - * + * * Flags a widget to be displayed. Any widget that isn't shown will * not appear on the screen. If you want to show all the widgets in a * container, it's easier to call gtk_widget_show_all() on the @@ -3959,14 +3963,14 @@ gtk_widget_show_map_callback (GtkWidget *widget, GdkEvent *event, gint *flag) { *flag = TRUE; g_signal_handlers_disconnect_by_func (widget, - gtk_widget_show_map_callback, + gtk_widget_show_map_callback, flag); } /** * gtk_widget_show_now: * @widget: a #GtkWidget - * + * * Shows a widget. If the widget is an unmapped toplevel widget * (i.e. a #GtkWindow that has not yet been shown), enter the main * loop and wait for the window to actually be mapped. Be careful; @@ -3977,7 +3981,7 @@ void gtk_widget_show_now (GtkWidget *widget) { gint flag = FALSE; - + g_return_if_fail (GTK_IS_WIDGET (widget)); /* make sure we will get event */ @@ -3987,7 +3991,7 @@ gtk_widget_show_now (GtkWidget *widget) gtk_widget_show (widget); g_signal_connect (widget, "map-event", - G_CALLBACK (gtk_widget_show_map_callback), + G_CALLBACK (gtk_widget_show_map_callback), &flag); while (!flag) @@ -4000,7 +4004,7 @@ gtk_widget_show_now (GtkWidget *widget) /** * gtk_widget_hide: * @widget: a #GtkWidget - * + * * Reverses the effects of gtk_widget_show(), causing the widget to be * hidden (invisible to the user). **/ @@ -4008,11 +4012,11 @@ void gtk_widget_hide (GtkWidget *widget) { g_return_if_fail (GTK_IS_WIDGET (widget)); - + if (gtk_widget_get_visible (widget)) { GtkWidget *toplevel = gtk_widget_get_toplevel (widget); - + g_object_ref (widget); if (toplevel != widget && gtk_widget_is_toplevel (toplevel)) _gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget); @@ -4039,7 +4043,7 @@ gtk_widget_real_hide (GtkWidget *widget) if (gtk_widget_get_visible (widget)) { widget->priv->visible = FALSE; - + if (gtk_widget_get_mapped (widget)) gtk_widget_unmap (widget); } @@ -4048,7 +4052,7 @@ gtk_widget_real_hide (GtkWidget *widget) /** * gtk_widget_hide_on_delete: * @widget: a #GtkWidget - * + * * Utility function; intended to be connected to the #GtkWidget::delete-event * signal on a #GtkWindow. The function calls gtk_widget_hide() on its * argument, then returns %TRUE. If connected to ::delete-event, the @@ -4056,23 +4060,23 @@ gtk_widget_real_hide (GtkWidget *widget) * window frame, top right corner usually) will hide but not destroy * the window. By default, GTK+ destroys windows when ::delete-event * is received. - * + * * Return value: %TRUE **/ gboolean gtk_widget_hide_on_delete (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - + gtk_widget_hide (widget); - + return TRUE; } /** * gtk_widget_show_all: * @widget: a #GtkWidget - * + * * Recursively shows a widget, and any child widgets (if the widget is * a container). **/ @@ -4095,7 +4099,7 @@ gtk_widget_show_all (GtkWidget *widget) /** * gtk_widget_map: * @widget: a #GtkWidget - * + * * This function is only for use in widget implementations. Causes * a widget to be mapped if it isn't already. **/ @@ -4221,13 +4225,13 @@ _gtk_widget_enable_device_events (GtkWidget *widget) /** * gtk_widget_realize: * @widget: a #GtkWidget - * + * * Creates the GDK (windowing system) resources associated with a * widget. For example, @widget->window will be created when a widget * is realized. Normally realization happens implicitly; if you show * a widget and all its parent containers, then the widget will be * realized and mapped automatically. - * + * * Realizing a widget requires all * the widget's parent widgets to be realized; calling * gtk_widget_realize() realizes the widget's parents in addition to @@ -4247,7 +4251,7 @@ gtk_widget_realize (GtkWidget *widget) GtkWidgetPrivate *priv; GdkExtensionMode mode; cairo_region_t *region; - + g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (widget->priv->anchored || GTK_IS_INVISIBLE (widget)); @@ -4266,12 +4270,12 @@ gtk_widget_realize (GtkWidget *widget) g_warning ("Calling gtk_widget_realize() on a widget that isn't " "inside a toplevel window is not going to work very well. " "Widgets must be inside a toplevel container before realizing them."); - + if (priv->parent && !gtk_widget_get_realized (priv->parent)) gtk_widget_realize (priv->parent); gtk_widget_ensure_style (widget); - + g_signal_emit (widget, widget_signals[REALIZE], 0); gtk_widget_real_set_has_tooltip (widget, @@ -4283,7 +4287,7 @@ gtk_widget_realize (GtkWidget *widget) region = g_object_get_qdata (G_OBJECT (widget), quark_shape_info); gdk_window_shape_combine_region (priv->window, region, 0, 0); } - + region = g_object_get_qdata (G_OBJECT (widget), quark_input_shape_info); if (region) gdk_window_input_shape_combine_region (priv->window, region, 0, 0); @@ -4349,20 +4353,20 @@ gtk_widget_unrealize (GtkWidget *widget) * implementations. You might also use it to schedule a redraw of a * #GtkDrawingArea or some portion thereof. **/ -void +void gtk_widget_queue_draw_region (GtkWidget *widget, cairo_region_t *region) { GtkWidgetPrivate *priv; GtkWidget *w; - + g_return_if_fail (GTK_IS_WIDGET (widget)); priv = widget->priv; if (!gtk_widget_get_realized (widget)) return; - + /* Just return if the widget or one of its ancestors isn't mapped */ for (w = widget; w != NULL; w = w->priv->parent) if (!gtk_widget_get_mapped (w)) @@ -4382,7 +4386,7 @@ gtk_widget_queue_draw_region (GtkWidget *widget, * Convenience function that calls gtk_widget_queue_draw_region() on * the region created from the given coordinates. **/ -void +void gtk_widget_queue_draw_area (GtkWidget *widget, gint x, gint y, @@ -4411,11 +4415,11 @@ gtk_widget_queue_draw_area (GtkWidget *widget, * Equivalent to calling gtk_widget_queue_draw_area() for the * entire area of a widget. **/ -void +void gtk_widget_queue_draw (GtkWidget *widget) { GdkRectangle rect; - + g_return_if_fail (GTK_IS_WIDGET (widget)); gtk_widget_get_allocation (widget, &rect); @@ -4445,7 +4449,7 @@ gtk_widget_queue_resize (GtkWidget *widget) if (gtk_widget_get_realized (widget)) gtk_widget_queue_shallow_draw (widget); - + _gtk_size_group_queue_resize (widget, 0); } @@ -4453,7 +4457,7 @@ gtk_widget_queue_resize (GtkWidget *widget) * gtk_widget_queue_resize_no_redraw: * @widget: a #GtkWidget * - * This function works like gtk_widget_queue_resize(), + * This function works like gtk_widget_queue_resize(), * except that the widget is not invalidated. * * Since: 2.4 @@ -4470,7 +4474,7 @@ gtk_widget_queue_resize_no_redraw (GtkWidget *widget) * gtk_widget_size_request: * @widget: a #GtkWidget * @requisition: (out): a #GtkRequisition to be filled in - * + * * This function is typically used when implementing a #GtkContainer * subclass. Obtains the preferred size of a widget. The container * uses this information to arrange its child widgets and decide what @@ -4499,7 +4503,7 @@ gtk_widget_size_request (GtkWidget *widget, * gtk_widget_get_child_requisition: * @widget: a #GtkWidget * @requisition: (out): a #GtkRequisition to be filled in - * + * * This function is only for use in widget implementations. Obtains * @widget->requisition, unless someone has forced a particular * geometry on the widget (e.g. with gtk_widget_set_size_request()), @@ -4553,7 +4557,7 @@ gtk_widget_invalidate_widget_windows (GtkWidget *widget, if (!gtk_widget_get_realized (widget)) return; - + if (gtk_widget_get_has_window (widget) && priv->parent) { int x, y; @@ -4620,7 +4624,7 @@ gtk_widget_size_allocate (GtkWidget *widget, priv = widget->priv; g_return_if_fail (GTK_IS_WIDGET (widget)); - + #ifdef G_ENABLE_DEBUG if (gtk_get_debug_flags () & GTK_DEBUG_GEOMETRY) { @@ -4635,14 +4639,14 @@ gtk_widget_size_allocate (GtkWidget *widget, depth++; parent = gtk_widget_get_parent (parent); } - + name = g_type_name (G_OBJECT_TYPE (G_OBJECT (widget))); - g_print ("gtk_widget_size_allocate: %*s%s %d %d\n", - 2 * depth, " ", name, + g_print ("gtk_widget_size_allocate: %*s%s %d %d\n", + 2 * depth, " ", name, allocation->width, allocation->height); } #endif /* G_ENABLE_DEBUG */ - + alloc_needed = priv->alloc_needed; if (!priv->width_request_needed && !priv->height_request_needed) /* Preserve request/allocate ordering */ @@ -4671,7 +4675,7 @@ gtk_widget_size_allocate (GtkWidget *widget, gtk_widget_get_preferred_width_for_height (widget, real_allocation.height, NULL, &natural_width); } - /* Now that we have the right natural height and width, go ahead and remove any margins from the + /* Now that we have the right natural height and width, go ahead and remove any margins from the * allocated sizes and possibly limit them to the natural sizes */ GTK_WIDGET_GET_CLASS (widget)->adjust_size_allocation (widget, GTK_ORIENTATION_HORIZONTAL, @@ -4708,7 +4712,7 @@ gtk_widget_size_allocate (GtkWidget *widget, real_allocation.width, real_allocation.height); } - + real_allocation.width = MAX (real_allocation.width, 1); real_allocation.height = MAX (real_allocation.height, 1); @@ -4719,7 +4723,7 @@ gtk_widget_size_allocate (GtkWidget *widget, if (!alloc_needed && !size_changed && !position_changed) return; - + g_signal_emit (widget, widget_signals[SIZE_ALLOCATE], 0, &real_allocation); if (gtk_widget_get_mapped (widget)) @@ -4734,7 +4738,7 @@ gtk_widget_size_allocate (GtkWidget *widget, gdk_window_invalidate_region (priv->window, invalidate, FALSE); cairo_region_destroy (invalidate); } - + if (size_changed) { if (priv->redraw_on_alloc) @@ -4763,10 +4767,10 @@ gtk_widget_size_allocate (GtkWidget *widget, * gtk_widget_common_ancestor: * @widget_a: a #GtkWidget * @widget_b: a #GtkWidget - * + * * Find the common ancestor of @widget_a and @widget_b that * is closest to the two widgets. - * + * * Return value: the closest common ancestor of @widget_a and * @widget_b or %NULL if @widget_a and @widget_b do not * share a common ancestor. @@ -4831,7 +4835,7 @@ gtk_widget_common_ancestor (GtkWidget *widget_a, * relative to @dest_widget's allocations. In order to perform this * operation, both widgets must be realized, and must share a common * toplevel. - * + * * Return value: %FALSE if either widget was not realized, or there * was no common ancestor. In this case, nothing is stored in * *@dest_x and *@dest_y. Otherwise %TRUE. @@ -5045,7 +5049,7 @@ gtk_widget_real_can_activate_accel (GtkWidget *widget, * gtk_widget_can_activate_accel: * @widget: a #GtkWidget * @signal_id: the ID of a signal installed on @widget - * + * * Determines whether an accelerator that activates the signal * identified by @signal_id can currently be activated. * This is done by emitting the #GtkWidget::can-activate-accel @@ -5128,7 +5132,7 @@ widget_new_accel_closure (GtkWidget *widget, g_closure_set_marshal (closure, closure_accel_activate); } g_object_set_qdata_full (G_OBJECT (widget), quark_accel_closures, closures, closures_destroy); - + aclosure = (AccelClosure*) closure; g_assert (closure->data == widget); g_assert (closure->marshal == closure_accel_activate); @@ -5220,7 +5224,7 @@ gtk_widget_remove_accelerator (GtkWidget *widget, GtkAccelGroupEntry *ag_entry; GList *slist, *clist; guint n; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); g_return_val_if_fail (GTK_IS_ACCEL_GROUP (accel_group), FALSE); @@ -5294,7 +5298,7 @@ destroy_accel_path (gpointer data) /* closures_destroy takes care of unrefing the closure */ g_object_unref (apath->accel_group); - + g_slice_free (AccelPath, apath); } @@ -5322,9 +5326,9 @@ destroy_accel_path (gpointer data) * Even when you you aren't using #GtkUIManager, if you only want to * set up accelerators on menu items gtk_menu_item_set_accel_path() * provides a somewhat more convenient interface. - * + * * Note that @accel_path string will be stored in a #GQuark. Therefore, if you - * pass a static string, you can save some memory by interning it first with + * pass a static string, you can save some memory by interning it first with * g_intern_static_string(). **/ void @@ -5380,7 +5384,7 @@ _gtk_widget_get_accel_path (GtkWidget *widget, * @group_cycling: %TRUE if there are other widgets with the same mnemonic * * Emits the #GtkWidget::mnemonic-activate signal. - * + * * The default handler for this signal activates the @widget if * @group_cycling is %FALSE, and just grabs the focus if @group_cycling * is %TRUE. @@ -5392,7 +5396,7 @@ gtk_widget_mnemonic_activate (GtkWidget *widget, gboolean group_cycling) { gboolean handled; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); group_cycling = group_cycling != FALSE; @@ -5468,7 +5472,7 @@ gtk_cairo_should_draw_window (cairo_t *cr, g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE); event = _gtk_cairo_get_event (cr); - + return event == NULL || event->window == window; } @@ -5486,7 +5490,7 @@ _gtk_widget_draw_internal (GtkWidget *widget, if (clip_to_size) { - cairo_rectangle (cr, + cairo_rectangle (cr, 0, 0, widget->priv->allocation.width, widget->priv->allocation.height); @@ -5497,7 +5501,7 @@ _gtk_widget_draw_internal (GtkWidget *widget, { gboolean result; - g_signal_emit (widget, widget_signals[DRAW], + g_signal_emit (widget, widget_signals[DRAW], 0, cr, &result); } @@ -5505,7 +5509,7 @@ _gtk_widget_draw_internal (GtkWidget *widget, /** * gtk_widget_draw: - * @widget: the widget to draw. It must be drawable (see + * @widget: the widget to draw. It must be drawable (see * gtk_widget_is_drawable()) and a size must have been allocated. * @cr: a cairo context to draw to * @@ -5590,7 +5594,7 @@ gtk_widget_real_focus_out_event (GtkWidget *widget, * gtk_widget_event: * @widget: a #GtkWidget * @event: a #GdkEvent - * + * * Rarely-used function. This function is used to emit * the event signals on a widget (those signals should never * be emitted without using this function to do so). @@ -5599,8 +5603,8 @@ gtk_widget_real_focus_out_event (GtkWidget *widget, * it were in the event queue. Don't synthesize expose events; instead, * use gdk_window_invalidate_rect() to invalidate a region of the * window. - * - * Return value: return from the event signal emission (%TRUE if + * + * Return value: return from the event signal emission (%TRUE if * the event was handled) **/ gboolean @@ -5617,7 +5621,7 @@ gtk_widget_event (GtkWidget *widget, "followed by gdk_window_process_updates()."); return TRUE; } - + return gtk_widget_event_internal (widget, event); } @@ -5651,8 +5655,8 @@ gtk_widget_get_translation_to_window (GtkWidget *widget, *y += wy; } - if (w == NULL) - { + if (w == NULL) + { *x = 0; *y = 0; return FALSE; @@ -5697,19 +5701,19 @@ gtk_cairo_transform_to_window (cairo_t *cr, * gtk_widget_send_expose: * @widget: a #GtkWidget * @event: a expose #GdkEvent - * + * * Very rarely-used function. This function is used to emit * an expose event on a widget. This function is not normally used * directly. The only time it is used is when propagating an expose * event to a child %NO_WINDOW widget, and that is normally done * using gtk_container_propagate_draw(). * - * If you want to force an area of a window to be redrawn, + * If you want to force an area of a window to be redrawn, * use gdk_window_invalidate_rect() or gdk_window_invalidate_region(). * To cause the redraw to be done immediately, follow that call * with a call to gdk_window_process_updates(). - * - * Return value: return from the event signal emission (%TRUE if + * + * Return value: return from the event signal emission (%TRUE if * the event was handled) **/ gint @@ -5777,8 +5781,8 @@ event_window_is_still_viewable (GdkEvent *event) case GDK_KEY_RELEASE: case GDK_LEAVE_NOTIFY: case GDK_PROXIMITY_OUT: -#endif - +#endif + default: /* Remaining events would make sense on an not-viewable window, * or don't have an associated window. @@ -5923,19 +5927,19 @@ gtk_widget_event_internal (GtkWidget *widget, /** * gtk_widget_activate: * @widget: a #GtkWidget that's activatable - * + * * For widgets that can be "activated" (buttons, menu items, etc.) * this function activates them. Activation is what happens when you - * press Enter on a widget during key navigation. If @widget isn't + * press Enter on a widget during key navigation. If @widget isn't * activatable, the function returns %FALSE. - * + * * Return value: %TRUE if the widget was activatable **/ gboolean gtk_widget_activate (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - + if (WIDGET_CLASS (widget)->activate_signal) { /* FIXME: we should eventually check the signals signature here */ @@ -5985,7 +5989,7 @@ gtk_widget_reparent_subwindows (GtkWidget *widget, else { children = gdk_window_get_children (parent); - + for (tmp_list = children; tmp_list; tmp_list = tmp_list->next) { GdkWindow *window = tmp_list->data; @@ -5996,7 +6000,7 @@ gtk_widget_reparent_subwindows (GtkWidget *widget, if (child == widget) gdk_window_reparent (window, new_window, 0, 0); } - + g_list_free (children); } } @@ -6009,7 +6013,7 @@ gtk_widget_reparent_fixup_child (GtkWidget *widget, GtkWidgetPrivate *priv = widget->priv; g_assert (client_data != NULL); - + if (!gtk_widget_get_has_window (widget)) { if (priv->window) @@ -6052,12 +6056,12 @@ gtk_widget_reparent (GtkWidget *widget, */ if (gtk_widget_get_realized (widget) && gtk_widget_get_realized (new_parent)) priv->in_reparent = TRUE; - + g_object_ref (widget); gtk_container_remove (GTK_CONTAINER (priv->parent), widget); gtk_container_add (GTK_CONTAINER (new_parent), widget); g_object_unref (widget); - + if (priv->in_reparent) { priv->in_reparent = FALSE; @@ -6076,12 +6080,12 @@ gtk_widget_reparent (GtkWidget *widget, * @widget: a #GtkWidget * @area: a rectangle * @intersection: rectangle to store intersection of @widget and @area - * + * * Computes the intersection of a @widget's area and @area, storing * the intersection in @intersection, and returns %TRUE if there was * an intersection. @intersection may be %NULL if you're only * interested in whether there was an intersection. - * + * * Return value: %TRUE if there was an intersection **/ gboolean @@ -6093,7 +6097,7 @@ gtk_widget_intersect (GtkWidget *widget, GdkRectangle *dest; GdkRectangle tmp; gint return_val; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); g_return_val_if_fail (area != NULL, FALSE); @@ -6103,22 +6107,22 @@ gtk_widget_intersect (GtkWidget *widget, dest = intersection; else dest = &tmp; - + return_val = gdk_rectangle_intersect (&priv->allocation, area, dest); - + if (return_val && intersection && gtk_widget_get_has_window (widget)) { intersection->x -= priv->allocation.x; intersection->y -= priv->allocation.y; } - + return return_val; } /** * gtk_widget_region_intersect: * @widget: a #GtkWidget - * @region: a #cairo_region_t, in the same coordinate system as + * @region: a #cairo_region_t, in the same coordinate system as * @widget->allocation. That is, relative to @widget->window * for %NO_WINDOW widgets; relative to the parent window * of @widget->window for widgets with their own window. @@ -6127,7 +6131,7 @@ gtk_widget_intersect (GtkWidget *widget, * relative to @widget->window for %NO_WINDOW widgets, and * relative to the parent window of @widget->window for * widgets with their own window. - * + * * Computes the intersection of a @widget's area and @region, returning * the intersection. The result may be empty, use cairo_region_is_empty() to * check. @@ -6138,14 +6142,14 @@ gtk_widget_region_intersect (GtkWidget *widget, { GdkRectangle rect; cairo_region_t *dest; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); g_return_val_if_fail (region != NULL, NULL); gtk_widget_get_allocation (widget, &rect); - + dest = cairo_region_create_rectangle (&rect); - + cairo_region_intersect (dest, region); return dest; @@ -6155,9 +6159,9 @@ gtk_widget_region_intersect (GtkWidget *widget, * _gtk_widget_grab_notify: * @widget: a #GtkWidget * @was_grabbed: whether a grab is now in effect - * + * * Emits the #GtkWidget::grab-notify signal on @widget. - * + * * Since: 2.6 **/ void @@ -6170,7 +6174,7 @@ _gtk_widget_grab_notify (GtkWidget *widget, /** * gtk_widget_grab_focus: * @widget: a #GtkWidget - * + * * Causes @widget to have the keyboard focus for the #GtkWindow it's * inside. @widget must be a focusable widget, such as a #GtkEntry; * something like #GtkFrame won't work. @@ -6189,7 +6193,7 @@ gtk_widget_grab_focus (GtkWidget *widget) if (!gtk_widget_is_sensitive (widget)) return; - + g_object_ref (widget); g_signal_emit (widget, widget_signals[GRAB_FOCUS], 0); g_object_notify (G_OBJECT (widget), "has-focus"); @@ -6220,7 +6224,7 @@ gtk_widget_real_grab_focus (GtkWidget *focus_widget) { GtkWidget *toplevel; GtkWidget *widget; - + /* clear the current focus setting, break if the current widget * is the focus widget's parent, since containers above that will * be set by the next loop. @@ -6241,7 +6245,7 @@ gtk_widget_real_grab_focus (GtkWidget *focus_widget) return; } - + if (widget) { while (widget->priv->parent && widget->priv->parent != focus_widget->priv->parent) @@ -6256,7 +6260,7 @@ gtk_widget_real_grab_focus (GtkWidget *focus_widget) /* gtk_widget_grab_focus() operates on a tree without window... * actually, this is very questionable behaviour. */ - + gtk_container_foreach (GTK_CONTAINER (toplevel), reset_focus_recurse, NULL); @@ -6318,7 +6322,7 @@ gtk_widget_real_focus (GtkWidget *widget, { if (!gtk_widget_get_can_focus (widget)) return FALSE; - + if (!gtk_widget_is_focus (widget)) { gtk_widget_grab_focus (widget); @@ -6438,12 +6442,12 @@ gtk_widget_has_focus (GtkWidget *widget) /** * gtk_widget_is_focus: * @widget: a #GtkWidget - * + * * Determines if the widget is the focus widget within its * toplevel. (This does not mean that the %HAS_FOCUS flag is * necessarily set; %HAS_FOCUS will only be set if the * toplevel widget additionally has the global input focus.) - * + * * Return value: %TRUE if the widget is the focus widget. **/ gboolean @@ -6454,7 +6458,7 @@ gtk_widget_is_focus (GtkWidget *widget) g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); toplevel = gtk_widget_get_toplevel (widget); - + if (GTK_IS_WINDOW (toplevel)) return widget == gtk_window_get_focus (GTK_WINDOW (toplevel)); else @@ -6540,8 +6544,8 @@ _gtk_widget_set_has_default (GtkWidget *widget, * Causes @widget to become the default widget. @widget must have the * %GTK_CAN_DEFAULT flag set; typically you have to set this flag * yourself by calling gtk_widget_set_can_default (@widget, - * %TRUE). The default widget is activated when - * the user presses Enter in a window. Default widgets must be + * %TRUE). The default widget is activated when + * the user presses Enter in a window. Default widgets must be * activatable, that is, gtk_widget_activate() should affect them. Note * that #GtkEntry widgets require the "activates-default" property * set to %TRUE before they activate the default widget when Enter @@ -6551,12 +6555,12 @@ void gtk_widget_grab_default (GtkWidget *widget) { GtkWidget *window; - + g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (gtk_widget_get_can_default (widget)); - + window = gtk_widget_get_toplevel (widget); - + if (window && gtk_widget_is_toplevel (window)) gtk_window_set_default (GTK_WINDOW (window), widget); else @@ -6703,8 +6707,8 @@ gtk_widget_device_is_shadowed (GtkWidget *widget, * gtkrc file. You can apply a style to widgets with a particular name * in the gtkrc file. See the documentation for gtkrc files (on the * same page as the docs for #GtkRcStyle). - * - * Note that widget names are separated by periods in paths (see + * + * Note that widget names are separated by periods in paths (see * gtk_widget_path()), so names with embedded periods may cause confusion. **/ void @@ -6713,7 +6717,7 @@ gtk_widget_set_name (GtkWidget *widget, { GtkWidgetPrivate *priv; gchar *new_name; - + g_return_if_fail (GTK_IS_WIDGET (widget)); priv = widget->priv; @@ -6731,10 +6735,10 @@ gtk_widget_set_name (GtkWidget *widget, /** * gtk_widget_get_name: * @widget: a #GtkWidget - * + * * Retrieves the name of a widget. See gtk_widget_set_name() for the * significance of widget names. - * + * * Return value: name of the widget. This string is owned by GTK+ and * should not be modified or freed **/ @@ -6789,7 +6793,7 @@ gtk_widget_set_state (GtkWidget *widget, data.parent_sensitive = TRUE; gtk_widget_propagate_state (widget, &data); - + if (gtk_widget_is_drawable (widget)) gtk_widget_queue_draw (widget); } @@ -7049,13 +7053,13 @@ gtk_widget_set_mapped (GtkWidget *widget, * @app_paintable: %TRUE if the application will paint on the widget * * Sets whether the application intends to draw on the widget in - * an #GtkWidget::draw handler. + * an #GtkWidget::draw handler. * - * This is a hint to the widget and does not affect the behavior of - * the GTK+ core; many widgets ignore this flag entirely. For widgets - * that do pay attention to the flag, such as #GtkEventBox and #GtkWindow, - * the effect is to suppress default themed drawing of the widget's - * background. (Children of the widget will still be drawn.) The application + * This is a hint to the widget and does not affect the behavior of + * the GTK+ core; many widgets ignore this flag entirely. For widgets + * that do pay attention to the flag, such as #GtkEventBox and #GtkWindow, + * the effect is to suppress default themed drawing of the widget's + * background. (Children of the widget will still be drawn.) The application * is then entirely responsible for drawing the widget background. * * Note that the background is still drawn when the widget is mapped. @@ -7118,10 +7122,10 @@ gtk_widget_get_app_paintable (GtkWidget *widget) * In very simple terms, double buffered widgets don't flicker, * so you would only use this function to turn off double buffering * if you had special needs and really knew what you were doing. - * + * * Note: if you turn off double-buffering, you have to handle - * expose events, since even the clearing to the background color or - * pixmap will not happen automatically (as it is done in + * expose events, since even the clearing to the background color or + * pixmap will not happen automatically (as it is done in * gdk_window_begin_paint()). **/ void @@ -7167,7 +7171,7 @@ gtk_widget_get_double_buffered (GtkWidget *widget) * when it is allocated to a new size. Otherwise, only the * new portion of the widget will be redrawn. * - * Sets whether the entire widget is queued for drawing when its size + * Sets whether the entire widget is queued for drawing when its size * allocation changes. By default, this setting is %TRUE and * the entire widget is redrawn on every size change. If your widget * leaves the upper left unchanged when made bigger, turning this @@ -7177,8 +7181,8 @@ gtk_widget_get_double_buffered (GtkWidget *widget) * off all allocation on resizing: the widget will not even redraw if * its position changes; this is to allow containers that don't draw * anything to avoid excess invalidations. If you set this flag on a - * %NO_WINDOW widget that does draw on @widget->window, - * you are responsible for invalidating both the old and new allocation + * %NO_WINDOW widget that does draw on @widget->window, + * you are responsible for invalidating both the old and new allocation * of the widget when the widget is moved and responsible for invalidating * regions newly when the widget increases size. **/ @@ -7288,7 +7292,7 @@ gtk_widget_is_sensitive (GtkWidget *widget) * @widget: a #GtkWidget * @parent: parent container * - * This function is useful only when implementing subclasses of + * This function is useful only when implementing subclasses of * #GtkContainer. * Sets the container as the parent of @widget, and takes care of * some details such as updating the state and style of the child @@ -7301,7 +7305,7 @@ gtk_widget_set_parent (GtkWidget *widget, { GtkWidgetPrivate *priv; GtkStateData data; - + g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GTK_IS_WIDGET (parent)); g_return_if_fail (widget != parent); @@ -7334,7 +7338,7 @@ gtk_widget_set_parent (GtkWidget *widget, data.use_forall = gtk_widget_is_sensitive (parent) != gtk_widget_is_sensitive (widget); gtk_widget_propagate_state (widget, &data); - + gtk_widget_reset_rc_styles (widget); g_signal_emit (widget, widget_signals[PARENT_SET], 0, NULL); @@ -7469,10 +7473,10 @@ gtk_widget_set_style (GtkWidget *widget, gboolean initial_emission; initial_emission = !widget->priv->rc_style && !widget->priv->user_style; - + widget->priv->rc_style = FALSE; widget->priv->user_style = TRUE; - + gtk_widget_set_style_internal (widget, style, initial_emission); } else @@ -7527,7 +7531,7 @@ gtk_widget_reset_rc_style (GtkWidget *widget) /** * gtk_widget_get_style: * @widget: a #GtkWidget - * + * * Simply an accessor function that returns @widget->style. * * Return value: (transfer none): the widget's #GtkStyle @@ -7544,7 +7548,7 @@ gtk_widget_get_style (GtkWidget *widget) * gtk_widget_modify_style: * @widget: a #GtkWidget * @style: the #GtkRcStyle holding the style modifications - * + * * Modifies style values on the widget. Modifications made using this * technique take precedence over style values set via an RC file, * however, they will be overriden if a style is explicitely set on @@ -7563,13 +7567,13 @@ gtk_widget_get_style (GtkWidget *widget) * to such functions gtk_widget_modify_fg() will have a cumulative * effect with the initial modifications. **/ -void +void gtk_widget_modify_style (GtkWidget *widget, GtkRcStyle *style) { g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GTK_IS_RC_STYLE (style)); - + g_object_set_qdata_full (G_OBJECT (widget), quark_rc_style, gtk_rc_style_copy (style), @@ -7578,7 +7582,7 @@ gtk_widget_modify_style (GtkWidget *widget, /* note that "style" may be invalid here if it was the old * modifier style and the only reference was our own. */ - + if (widget->priv->rc_style) gtk_widget_reset_rc_style (widget); } @@ -7586,7 +7590,7 @@ gtk_widget_modify_style (GtkWidget *widget, /** * gtk_widget_get_modifier_style: * @widget: a #GtkWidget - * + * * Returns the current modifier style for the widget. (As set by * gtk_widget_modify_style().) If no style has previously set, a new * #GtkRcStyle will be created with all values unset, and set as the @@ -7608,7 +7612,7 @@ GtkRcStyle * gtk_widget_get_modifier_style (GtkWidget *widget) { GtkRcStyle *rc_style; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); rc_style = g_object_get_qdata (G_OBJECT (widget), quark_rc_style); @@ -7631,7 +7635,7 @@ gtk_widget_modify_color_component (GtkWidget *widget, GtkStateType state, const GdkColor *color) { - GtkRcStyle *rc_style = gtk_widget_get_modifier_style (widget); + GtkRcStyle *rc_style = gtk_widget_get_modifier_style (widget); if (color) { @@ -7652,7 +7656,7 @@ gtk_widget_modify_color_component (GtkWidget *widget, default: g_assert_not_reached(); } - + rc_style->color_flags[state] |= component; } else @@ -7720,14 +7724,14 @@ gtk_widget_modify_fg (GtkWidget *widget, * * Sets the background color for a widget in a particular state. * All other style values are left untouched. See also - * gtk_widget_modify_style(). + * gtk_widget_modify_style(). * * Note that "no window" widgets (which have the %GTK_NO_WINDOW flag set) - * draw on their parent container's window and thus may not draw any - * background themselves. This is the case for e.g. #GtkLabel. To modify - * the background of such widgets, you have to set the background color - * on their parent; if you want to set the background of a rectangular - * area around a label, try placing the label in a #GtkEventBox widget + * draw on their parent container's window and thus may not draw any + * background themselves. This is the case for e.g. #GtkLabel. To modify + * the background of such widgets, you have to set the background color + * on their parent; if you want to set the background of a rectangular + * area around a label, try placing the label in a #GtkEventBox widget * and setting the background color on that. **/ void @@ -7781,11 +7785,11 @@ gtk_widget_modify_text (GtkWidget *widget, * and #GtkTextView. See also gtk_widget_modify_style(). * * Note that "no window" widgets (which have the %GTK_NO_WINDOW flag set) - * draw on their parent container's window and thus may not draw any - * background themselves. This is the case for e.g. #GtkLabel. To modify - * the background of such widgets, you have to set the base color on their - * parent; if you want to set the background of a rectangular area around - * a label, try placing the label in a #GtkEventBox widget and setting + * draw on their parent container's window and thus may not draw any + * background themselves. This is the case for e.g. #GtkLabel. To modify + * the background of such widgets, you have to set the base color on their + * parent; if you want to set the background of a rectangular area around + * a label, try placing the label in a #GtkEventBox widget and setting * the base color on that. **/ void @@ -7841,7 +7845,7 @@ modify_color_property (GtkWidget *widget, * * Sets the cursor color to use in a widget, overriding the * #GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color - * style properties. All other style values are left untouched. + * style properties. All other style values are left untouched. * See also gtk_widget_modify_style(). * * Since: 2.12 @@ -7880,7 +7884,7 @@ gtk_widget_modify_font (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); - rc_style = gtk_widget_get_modifier_style (widget); + rc_style = gtk_widget_get_modifier_style (widget); if (rc_style->font_desc) pango_font_description_free (rc_style->font_desc); @@ -7889,7 +7893,7 @@ gtk_widget_modify_font (GtkWidget *widget, rc_style->font_desc = pango_font_description_copy (font_desc); else rc_style->font_desc = NULL; - + gtk_widget_modify_style (widget, rc_style); } @@ -7980,7 +7984,7 @@ do_screen_change (GtkWidget *widget, if (context) g_object_set_qdata (G_OBJECT (widget), quark_pango_context, NULL); } - + _gtk_tooltip_hide (widget); g_signal_emit (widget, widget_signals[SCREEN_CHANGED], 0, old_screen); } @@ -8000,15 +8004,15 @@ gtk_widget_propagate_hierarchy_changed_recurse (GtkWidget *widget, g_object_ref (widget); priv->anchored = new_anchored; - + g_signal_emit (widget, widget_signals[HIERARCHY_CHANGED], 0, info->previous_toplevel); do_screen_change (widget, info->previous_screen, info->new_screen); - + if (GTK_IS_CONTAINER (widget)) gtk_container_forall (GTK_CONTAINER (widget), gtk_widget_propagate_hierarchy_changed_recurse, client_data); - + g_object_unref (widget); } } @@ -8017,7 +8021,7 @@ gtk_widget_propagate_hierarchy_changed_recurse (GtkWidget *widget, * _gtk_widget_propagate_hierarchy_changed: * @widget: a #GtkWidget * @previous_toplevel: Previous toplevel - * + * * Propagates changes in the anchored state to a widget and all * children, unsetting or setting the %ANCHORED flag, and * emitting #GtkWidget::hierarchy-changed. @@ -8058,21 +8062,21 @@ gtk_widget_propagate_screen_changed_recurse (GtkWidget *widget, HierarchyChangedInfo *info = client_data; g_object_ref (widget); - + do_screen_change (widget, info->previous_screen, info->new_screen); - + if (GTK_IS_CONTAINER (widget)) gtk_container_forall (GTK_CONTAINER (widget), gtk_widget_propagate_screen_changed_recurse, client_data); - + g_object_unref (widget); } /** * gtk_widget_is_composited: * @widget: a #GtkWidget - * + * * Whether @widget can rely on having its alpha channel * drawn correctly. On X11 this function returns whether a * compositing manager is running for @widget's screen. @@ -8080,10 +8084,10 @@ gtk_widget_propagate_screen_changed_recurse (GtkWidget *widget, * Please note that the semantics of this call will change * in the future if used on a widget that has a composited * window in its hierarchy (as set by gdk_window_set_composited()). - * + * * Return value: %TRUE if the widget can rely on its alpha * channel being drawn correctly. - * + * * Since: 2.10 */ gboolean @@ -8092,9 +8096,9 @@ gtk_widget_is_composited (GtkWidget *widget) GdkScreen *screen; g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - + screen = gtk_widget_get_screen (widget); - + return gdk_screen_is_composited (screen); } @@ -8108,7 +8112,7 @@ propagate_composited_changed (GtkWidget *widget, propagate_composited_changed, NULL); } - + g_signal_emit (widget, widget_signals[COMPOSITED_CHANGED], 0); } @@ -8122,7 +8126,7 @@ _gtk_widget_propagate_composited_changed (GtkWidget *widget) * _gtk_widget_propagate_screen_changed: * @widget: a #GtkWidget * @previous_screen: Previous screen - * + * * Propagates changes in the screen for a widget to all * children, emitting #GtkWidget::screen-changed. **/ @@ -8149,7 +8153,7 @@ reset_rc_styles_recurse (GtkWidget *widget, gpointer data) { if (widget->priv->rc_style) gtk_widget_reset_rc_style (widget); - + if (GTK_IS_CONTAINER (widget)) gtk_container_forall (GTK_CONTAINER (widget), reset_rc_styles_recurse, @@ -8177,7 +8181,7 @@ gtk_widget_reset_rc_styles (GtkWidget *widget) /** * gtk_widget_get_default_style: - * + * * Returns the default style used by all widgets initially. * * Returns: (transfer none): the default style. This #GtkStyle object is owned @@ -8191,7 +8195,7 @@ gtk_widget_get_default_style (void) gtk_default_style = gtk_style_new (); g_object_ref (gtk_default_style); } - + return gtk_default_style; } @@ -8204,7 +8208,7 @@ gtk_widget_peek_pango_context (GtkWidget *widget) /** * gtk_widget_get_pango_context: * @widget: a #GtkWidget - * + * * Gets a #PangoContext with the appropriate font map, font description, * and base direction for this widget. Unlike the context returned * by gtk_widget_create_pango_context(), this context is owned by @@ -8214,7 +8218,7 @@ gtk_widget_peek_pango_context (GtkWidget *widget) * * If you create and keep a #PangoLayout using this context, you must * deal with changes to the context by calling pango_layout_context_changed() - * on the layout in response to the #GtkWidget::style-set and + * on the layout in response to the #GtkWidget::style-set and * #GtkWidget::direction-changed signals for the widget. * * Return value: (transfer none): the #PangoContext for the widget. @@ -8225,7 +8229,7 @@ gtk_widget_get_pango_context (GtkWidget *widget) PangoContext *context; g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); - + context = g_object_get_qdata (G_OBJECT (widget), quark_pango_context); if (!context) { @@ -8255,7 +8259,7 @@ static void gtk_widget_update_pango_context (GtkWidget *widget) { PangoContext *context = gtk_widget_peek_pango_context (widget); - + if (context) { GdkScreen *screen; @@ -8376,7 +8380,7 @@ gtk_widget_render_icon (GtkWidget *widget, GtkWidgetPrivate *priv; GtkIconSet *icon_set; GdkPixbuf *retval; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); g_return_val_if_fail (stock_id != NULL, NULL); g_return_val_if_fail (size > GTK_ICON_SIZE_INVALID || size == -1, NULL); @@ -8384,7 +8388,7 @@ gtk_widget_render_icon (GtkWidget *widget, priv = widget->priv; gtk_widget_ensure_style (widget); - + icon_set = gtk_style_lookup_icon_set (priv->style, stock_id); if (icon_set == NULL) @@ -8405,7 +8409,7 @@ gtk_widget_render_icon (GtkWidget *widget, * gtk_widget_set_parent_window: * @widget: a #GtkWidget. * @parent_window: the new parent window. - * + * * Sets a non default parent window for @widget. **/ void @@ -8415,13 +8419,13 @@ gtk_widget_set_parent_window (GtkWidget *widget, GdkWindow *old_parent_window; g_return_if_fail (GTK_IS_WIDGET (widget)); - + old_parent_window = g_object_get_qdata (G_OBJECT (widget), quark_parent_window); if (parent_window != old_parent_window) { - g_object_set_qdata (G_OBJECT (widget), quark_parent_window, + g_object_set_qdata (G_OBJECT (widget), quark_parent_window, parent_window); if (old_parent_window) g_object_unref (old_parent_window); @@ -8461,14 +8465,14 @@ gtk_widget_get_parent_window (GtkWidget *widget) * @is_visible: if %TRUE, @widget should be mapped along with its parent. * * Sets whether @widget should be mapped along with its when its parent - * is mapped and @widget has been shown with gtk_widget_show(). + * is mapped and @widget has been shown with gtk_widget_show(). * * The child visibility can be set for widget before it is added to * a container with gtk_widget_set_parent(), to avoid mapping * children unnecessary before immediately unmapping them. However * it will be reset to its default state of %TRUE when the widget * is removed from a container. - * + * * Note that changing the child visibility of a widget does not * queue a resize on the widget. Most of the time, the size of * a widget is computed from all visible children, whether or @@ -8520,10 +8524,10 @@ gtk_widget_set_child_visible (GtkWidget *widget, /** * gtk_widget_get_child_visible: * @widget: a #GtkWidget - * + * * Gets the value set with gtk_widget_set_child_visible(). * If you feel a need to use this function, your code probably - * needs reorganization. + * needs reorganization. * * This function is only useful for container implementations and * never should be called by an application. @@ -8534,7 +8538,7 @@ gboolean gtk_widget_get_child_visible (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); - + return widget->priv->child_visible; } @@ -8542,7 +8546,7 @@ static GdkScreen * gtk_widget_get_screen_unchecked (GtkWidget *widget) { GtkWidget *toplevel; - + toplevel = gtk_widget_get_toplevel (widget); if (gtk_widget_is_toplevel (toplevel)) @@ -8559,7 +8563,7 @@ gtk_widget_get_screen_unchecked (GtkWidget *widget) /** * gtk_widget_get_screen: * @widget: a #GtkWidget - * + * * Get the #GdkScreen from the toplevel window associated with * this widget. This function can only be called after the widget * has been added to a widget hierarchy with a #GtkWindow @@ -8577,7 +8581,7 @@ GdkScreen* gtk_widget_get_screen (GtkWidget *widget) { GdkScreen *screen; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); screen = gtk_widget_get_screen_unchecked (widget); @@ -8600,12 +8604,12 @@ gtk_widget_get_screen (GtkWidget *widget) /** * gtk_widget_has_screen: * @widget: a #GtkWidget - * + * * Checks whether there is a #GdkScreen is associated with * this widget. All toplevel widgets have an associated * screen, and all widgets added into a hierarchy with a toplevel * window at the top. - * + * * Return value: %TRUE if there is a #GdkScreen associcated * with the widget. * @@ -8622,7 +8626,7 @@ gtk_widget_has_screen (GtkWidget *widget) /** * gtk_widget_get_display: * @widget: a #GtkWidget - * + * * Get the #GdkDisplay for the toplevel window associated with * this widget. This function can only be called after the widget * has been added to a widget hierarchy with a #GtkWindow at the top. @@ -8639,14 +8643,14 @@ GdkDisplay* gtk_widget_get_display (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); - + return gdk_screen_get_display (gtk_widget_get_screen (widget)); } /** * gtk_widget_get_root_window: * @widget: a #GtkWidget - * + * * Get the root window where this widget is located. This function can * only be called after the widget has been added to a widget * hierarchy with #GtkWindow at the top. @@ -8678,7 +8682,7 @@ gtk_widget_get_root_window (GtkWidget *widget) * to a particular widget, and gtk_container_set_focus_chain() to * change the focus tab order. So you may want to investigate those * functions instead. - * + * * gtk_widget_child_focus() is called by containers as the user moves * around the window using keyboard shortcuts. @direction indicates * what kind of motion is taking place (up, down, left, right, tab @@ -8713,7 +8717,7 @@ gtk_widget_child_focus (GtkWidget *widget, if (!GTK_IS_CONTAINER (widget) && !gtk_widget_get_can_focus (widget)) return FALSE; - + g_signal_emit (widget, widget_signals[FOCUS], 0, @@ -8741,10 +8745,10 @@ gtk_widget_child_focus (GtkWidget *widget, * navigation outside the widget, e.g. by calling * gtk_widget_child_focus() on the widget's toplevel. * - * The default ::keynav-failed handler returns %TRUE for - * %GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other - * values of #GtkDirectionType, it looks at the - * #GtkSettings:gtk-keynav-cursor-only setting and returns %FALSE + * The default ::keynav-failed handler returns %TRUE for + * %GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other + * values of #GtkDirectionType, it looks at the + * #GtkSettings:gtk-keynav-cursor-only setting and returns %FALSE * if the setting is %TRUE. This way the entire user interface * becomes cursor-navigatable on input devices such as mobile phones * which only have cursor keys but no tab key. @@ -8753,10 +8757,10 @@ gtk_widget_child_focus (GtkWidget *widget, * gtk_widget_error_bell() to notify the user of the failed keyboard * navigation. * - * A use case for providing an own implementation of ::keynav-failed + * A use case for providing an own implementation of ::keynav-failed * (either by connecting to it or by overriding it) would be a row of * #GtkEntry widgets where the user should be able to navigate the - * entire row with the cursor keys, as e.g. known from user interfaces + * entire row with the cursor keys, as e.g. known from user interfaces * that require entering license keys. * * Return value: %TRUE if stopping keyboard navigation is fine, %FALSE @@ -8783,7 +8787,7 @@ gtk_widget_keynav_failed (GtkWidget *widget, * gtk_widget_error_bell: * @widget: a #GtkWidget * - * Notifies the user about an input-related error on this widget. + * Notifies the user about an input-related error on this widget. * If the #GtkSettings:gtk-error-bell setting is %TRUE, it calls * gdk_window_beep(), otherwise it does nothing. * @@ -8824,11 +8828,11 @@ gtk_widget_set_usize_internal (GtkWidget *widget, { GtkWidgetAuxInfo *aux_info; gboolean changed = FALSE; - + g_object_freeze_notify (G_OBJECT (widget)); aux_info = _gtk_widget_get_aux_info (widget, TRUE); - + if (width > -2 && aux_info->width != width) { if ((flags & GTK_QUEUE_RESIZE_INVALIDATE_ONLY) == 0) @@ -8843,7 +8847,7 @@ gtk_widget_set_usize_internal (GtkWidget *widget, aux_info->height = height; changed = TRUE; } - + if (gtk_widget_get_visible (widget) && changed) { if ((flags & GTK_QUEUE_RESIZE_INVALIDATE_ONLY) == 0) @@ -8872,7 +8876,7 @@ gtk_widget_set_usize_internal (GtkWidget *widget, * will force them to leave the window at least as large as the size * request. When dealing with window sizes, * gtk_window_set_geometry_hints() can be a useful function as well. - * + * * Note the inherent danger of setting any fixed size - themes, * translations into other languages, different fonts, and user action * can all change the appropriate size for a given widget. So, it's @@ -8909,7 +8913,7 @@ gtk_widget_set_size_request (GtkWidget *widget, width = 1; if (height == 0) height = 1; - + gtk_widget_set_usize_internal (widget, width, height, 0); } @@ -9014,7 +9018,7 @@ gtk_widget_set_events (GtkWidget *widget, { g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (!gtk_widget_get_realized (widget)); - + g_object_set_qdata (G_OBJECT (widget), quark_event_mask, GINT_TO_POINTER (events)); g_object_notify (G_OBJECT (widget), "events"); @@ -9203,21 +9207,21 @@ gtk_widget_set_extension_events (GtkWidget *widget, /** * gtk_widget_get_toplevel: * @widget: a #GtkWidget - * + * * This function returns the topmost widget in the container hierarchy * @widget is a part of. If @widget has no parent widgets, it will be * returned as the topmost widget. No reference will be added to the * returned widget; it should not be unreferenced. * * Note the difference in behavior vs. gtk_widget_get_ancestor(); - * gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) + * gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) * would return * %NULL if @widget wasn't inside a toplevel window, and if the * window was inside a #GtkWindow-derived widget which was in turn * inside the toplevel #GtkWindow. While the second case may * seem unlikely, it actually happens when a #GtkPlug is embedded * inside a #GtkSocket within the same application. - * + * * To reliably find the toplevel #GtkWindow, use * gtk_widget_get_toplevel() and check if the %TOPLEVEL flags * is set on the result. @@ -9247,15 +9251,15 @@ gtk_widget_get_toplevel (GtkWidget *widget) * gtk_widget_get_ancestor: * @widget: a #GtkWidget * @widget_type: ancestor type - * + * * Gets the first ancestor of @widget with type @widget_type. For example, - * gtk_widget_get_ancestor (widget, GTK_TYPE_BOX) gets - * the first #GtkBox that's an ancestor of @widget. No reference will be - * added to the returned widget; it should not be unreferenced. See note - * about checking for a toplevel #GtkWindow in the docs for + * gtk_widget_get_ancestor (widget, GTK_TYPE_BOX) gets + * the first #GtkBox that's an ancestor of @widget. No reference will be + * added to the returned widget; it should not be unreferenced. See note + * about checking for a toplevel #GtkWindow in the docs for * gtk_widget_get_toplevel(). - * - * Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor() + * + * Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor() * considers @widget to be an ancestor of itself. * * Return value: (transfer none): the ancestor widget, or %NULL if not found @@ -9271,7 +9275,7 @@ gtk_widget_get_ancestor (GtkWidget *widget, if (!(widget && g_type_is_a (G_OBJECT_TYPE (widget), widget_type))) return NULL; - + return widget; } @@ -9279,7 +9283,7 @@ gtk_widget_get_ancestor (GtkWidget *widget, * gtk_widget_set_visual: * @widget: a #GtkWidget * @visual: visual to be used or %NULL to unset a previous one - * + * * Sets the visual that should be used for by widget and its children for * creating #GdkWindows. The visual must be on the same #GdkScreen as * returned by gdk_widget_get_screen(), so handling the @@ -9299,7 +9303,7 @@ gtk_widget_set_visual (GtkWidget *widget, g_return_if_fail (gtk_widget_get_screen (widget) == gdk_visual_get_screen (visual)); } - g_object_set_qdata_full (G_OBJECT (widget), + g_object_set_qdata_full (G_OBJECT (widget), quark_visual, g_object_ref (visual), g_object_unref); @@ -9308,7 +9312,7 @@ gtk_widget_set_visual (GtkWidget *widget, /** * gtk_widget_get_visual: * @widget: a #GtkWidget - * + * * Gets the visual that will be used to render @widget. * * Return value: (transfer none): the visual for @widget @@ -9347,7 +9351,7 @@ gtk_widget_get_visual (GtkWidget *widget) /** * gtk_widget_get_settings: * @widget: a #GtkWidget - * + * * Gets the settings object holding the settings (global property * settings, RC file information, etc) used for this widget. * @@ -9361,18 +9365,18 @@ GtkSettings* gtk_widget_get_settings (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); - + return gtk_settings_get_for_screen (gtk_widget_get_screen (widget)); } /** * gtk_widget_get_events: * @widget: a #GtkWidget - * + * * Returns the event mask for the widget (a bitfield containing flags * from the #GdkEventMask enumeration). These are the events that the widget * will receive. - * + * * Return value: event mask for @widget **/ gint @@ -9415,10 +9419,10 @@ gtk_widget_get_device_events (GtkWidget *widget, /** * gtk_widget_get_extension_events: * @widget: a #GtkWidget - * + * * Retrieves the extension events the widget will receive; see * gdk_input_set_extension_events(). - * + * * Return value: extension events for @widget **/ GdkExtensionMode @@ -9456,7 +9460,7 @@ gtk_widget_get_pointer (GtkWidget *widget, *x = -1; if (y) *y = -1; - + if (gtk_widget_get_realized (widget)) { gdk_window_get_pointer (priv->window, x, y, NULL); @@ -9475,11 +9479,11 @@ gtk_widget_get_pointer (GtkWidget *widget, * gtk_widget_is_ancestor: * @widget: a #GtkWidget * @ancestor: another #GtkWidget - * + * * Determines whether @widget is somewhere inside @ancestor, possibly with * intermediate containers. - * - * Return value: %TRUE if @ancestor contains @widget as a child, + * + * Return value: %TRUE if @ancestor contains @widget as a child, * grandchild, great grandchild, etc. **/ gboolean @@ -9495,7 +9499,7 @@ gtk_widget_is_ancestor (GtkWidget *widget, return TRUE; widget = widget->priv->parent; } - + return FALSE; } @@ -9505,7 +9509,7 @@ static GQuark quark_composite_name = 0; * gtk_widget_set_composite_name: * @widget: a #GtkWidget. * @name: the name to set - * + * * Sets a widgets composite name. The widget must be * a composite child of its parent; see gtk_widget_push_composite_child(). **/ @@ -9530,10 +9534,10 @@ gtk_widget_set_composite_name (GtkWidget *widget, * gtk_widget_get_composite_name: * @widget: a #GtkWidget * - * Obtains the composite name of a widget. + * Obtains the composite name of a widget. * * Returns: the composite name of @widget, or %NULL if @widget is not - * a composite child. The string should be freed when it is no + * a composite child. The string should be freed when it is no * longer needed. **/ gchar* @@ -9554,23 +9558,23 @@ gtk_widget_get_composite_name (GtkWidget *widget) /** * gtk_widget_push_composite_child: - * + * * Makes all newly-created widgets as composite children until * the corresponding gtk_widget_pop_composite_child() call. - * + * * A composite child is a child that's an implementation detail of the * container it's inside and should not be visible to people using the * container. Composite children aren't treated differently by GTK (but - * see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI + * see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI * builders might want to treat them in a different way. - * + * * Here is a simple example: * |[ * gtk_widget_push_composite_child (); * scrolled_window->hscrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment); * gtk_widget_set_composite_name (scrolled_window->hscrollbar, "hscrollbar"); * gtk_widget_pop_composite_child (); - * gtk_widget_set_parent (scrolled_window->hscrollbar, + * gtk_widget_set_parent (scrolled_window->hscrollbar, * GTK_WIDGET (scrolled_window)); * g_object_ref (scrolled_window->hscrollbar); * ]| @@ -9585,7 +9589,7 @@ gtk_widget_push_composite_child (void) * gtk_widget_pop_composite_child: * * Cancels the effect of a previous call to gtk_widget_push_composite_child(). - **/ + **/ void gtk_widget_pop_composite_child (void) { @@ -9598,7 +9602,7 @@ gtk_widget_emit_direction_changed (GtkWidget *widget, GtkTextDirection old_dir) { gtk_widget_update_pango_context (widget); - + g_signal_emit (widget, widget_signals[DIRECTION_CHANGED], 0, old_dir); } @@ -9606,7 +9610,7 @@ gtk_widget_emit_direction_changed (GtkWidget *widget, * gtk_widget_set_direction: * @widget: a #GtkWidget * @dir: the new direction - * + * * Sets the reading direction on a particular widget. This direction * controls the primary direction for widgets containing text, * and also the direction in which the children of a container are @@ -9625,7 +9629,7 @@ gtk_widget_set_direction (GtkWidget *widget, GtkTextDirection dir) { GtkTextDirection old_dir; - + g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (dir >= GTK_TEXT_DIR_NONE && dir <= GTK_TEXT_DIR_RTL); @@ -9640,17 +9644,17 @@ gtk_widget_set_direction (GtkWidget *widget, /** * gtk_widget_get_direction: * @widget: a #GtkWidget - * + * * Gets the reading direction for a particular widget. See * gtk_widget_set_direction(). - * + * * Return value: the reading direction for the widget. **/ GtkTextDirection gtk_widget_get_direction (GtkWidget *widget) { g_return_val_if_fail (GTK_IS_WIDGET (widget), GTK_TEXT_DIR_LTR); - + if (widget->priv->direction == GTK_TEXT_DIR_NONE) return gtk_default_direction; else @@ -9663,10 +9667,10 @@ gtk_widget_set_default_direction_recurse (GtkWidget *widget, gpointer data) GtkTextDirection old_dir = GPOINTER_TO_UINT (data); g_object_ref (widget); - + if (widget->priv->direction == GTK_TEXT_DIR_NONE) gtk_widget_emit_direction_changed (widget, old_dir); - + if (GTK_IS_CONTAINER (widget)) gtk_container_forall (GTK_CONTAINER (widget), gtk_widget_set_default_direction_recurse, @@ -9679,7 +9683,7 @@ gtk_widget_set_default_direction_recurse (GtkWidget *widget, gpointer data) * gtk_widget_set_default_direction: * @dir: the new default direction. This cannot be * %GTK_TEXT_DIR_NONE. - * + * * Sets the default reading direction for widgets where the * direction has not been explicitly set by gtk_widget_set_direction(). **/ @@ -9692,12 +9696,12 @@ gtk_widget_set_default_direction (GtkTextDirection dir) { GList *toplevels, *tmp_list; GtkTextDirection old_dir = gtk_default_direction; - + gtk_default_direction = dir; tmp_list = toplevels = gtk_window_list_toplevels (); g_list_foreach (toplevels, (GFunc)g_object_ref, NULL); - + while (tmp_list) { gtk_widget_set_default_direction_recurse (tmp_list->data, @@ -9712,11 +9716,11 @@ gtk_widget_set_default_direction (GtkTextDirection dir) /** * gtk_widget_get_default_direction: - * + * * Obtains the current default reading direction. See * gtk_widget_set_default_direction(). * - * Return value: the current default direction. + * Return value: the current default direction. **/ GtkTextDirection gtk_widget_get_default_direction (void) @@ -9777,14 +9781,14 @@ gtk_widget_finalize (GObject *object) GtkWidgetPrivate *priv = widget->priv; GtkWidgetAuxInfo *aux_info; GtkAccessible *accessible; - + gtk_grab_remove (widget); g_object_unref (priv->style); priv->style = NULL; g_free (priv->name); - + aux_info =_gtk_widget_get_aux_info (widget, FALSE); if (aux_info) gtk_widget_aux_info_destroy (aux_info); @@ -9816,11 +9820,11 @@ gtk_widget_real_map (GtkWidget *widget) GtkWidgetPrivate *priv = widget->priv; g_assert (gtk_widget_get_realized (widget)); - + if (!gtk_widget_get_mapped (widget)) { gtk_widget_set_mapped (widget, TRUE); - + if (gtk_widget_get_has_window (widget)) gdk_window_show (priv->window); } @@ -9862,7 +9866,7 @@ gtk_widget_real_realize (GtkWidget *widget) GtkWidgetPrivate *priv = widget->priv; g_assert (!gtk_widget_get_has_window (widget)); - + gtk_widget_set_realized (widget, TRUE); if (priv->parent) { @@ -9895,7 +9899,7 @@ gtk_widget_real_unrealize (GtkWidget *widget) /* We must do unrealize child widget BEFORE container widget. * gdk_window_destroy() destroys specified xwindow and its sub-xwindows. - * So, unrealizing container widget bofore its children causes the problem + * So, unrealizing container widget bofore its children causes the problem * (for example, gdk_ic_destroy () with destroyed window causes crash. ) */ @@ -9918,7 +9922,7 @@ gtk_widget_real_unrealize (GtkWidget *widget) } gtk_selection_remove_all (widget); - + gtk_widget_set_realized (widget, FALSE); } @@ -9971,10 +9975,10 @@ gtk_widget_real_adjust_size_request (GtkWidget *widget, /** * _gtk_widget_peek_request_cache: - * + * * Returns the address of the widget's request cache (strictly for * internal use in gtksizerequest.c) - * + * * Return value: the address of @widget's size request cache. **/ gpointer @@ -10299,7 +10303,7 @@ _gtk_widget_synthesize_crossing (GtkWidget *from, synth_crossing (from, GDK_LEAVE_NOTIFY, from_window, device, mode, GDK_NOTIFY_INFERIOR); for (list = to_ancestors; list; list = list->next) - synth_crossing (NULL, GDK_ENTER_NOTIFY, (GdkWindow *) list->data, + synth_crossing (NULL, GDK_ENTER_NOTIFY, (GdkWindow *) list->data, device, mode, GDK_NOTIFY_VIRTUAL); synth_crossing (to, GDK_ENTER_NOTIFY, to_window, device, mode, GDK_NOTIFY_ANCESTOR); @@ -10319,10 +10323,10 @@ _gtk_widget_synthesize_crossing (GtkWidget *from, } else { - while (from_ancestors != NULL && to_ancestors != NULL + while (from_ancestors != NULL && to_ancestors != NULL && from_ancestors->data == to_ancestors->data) { - from_ancestors = g_list_delete_link (from_ancestors, + from_ancestors = g_list_delete_link (from_ancestors, from_ancestors); to_ancestors = g_list_delete_link (to_ancestors, to_ancestors); } @@ -10464,9 +10468,9 @@ static const GtkWidgetAuxInfo default_aux_info = { * _gtk_widget_get_aux_info: * @widget: a #GtkWidget * @create: if %TRUE, create the structure if it doesn't exist - * + * * Get the #GtkWidgetAuxInfo structure for the widget. - * + * * Return value: the #GtkAuxInfo structure for the widget, or * %NULL if @create is %FALSE and one doesn't already exist. */ @@ -10475,7 +10479,7 @@ _gtk_widget_get_aux_info (GtkWidget *widget, gboolean create) { GtkWidgetAuxInfo *aux_info; - + aux_info = g_object_get_qdata (G_OBJECT (widget), quark_aux_info); if (!aux_info && create) { @@ -10485,7 +10489,7 @@ _gtk_widget_get_aux_info (GtkWidget *widget, g_object_set_qdata (G_OBJECT (widget), quark_aux_info, aux_info); } - + return aux_info; } @@ -10520,10 +10524,10 @@ gtk_widget_aux_info_destroy (GtkWidgetAuxInfo *aux_info) } /** - * gtk_widget_shape_combine_region: + * gtk_widget_shape_combine_region: * @widget: a #GtkWidget * @region: (allow-none): shape to be added, or %NULL to remove an existing shape - * + * * Sets a shape for this widget's GDK window. This allows for * transparent windows etc., see gdk_window_shape_combine_region() * for more information. @@ -10535,7 +10539,7 @@ gtk_widget_shape_combine_region (GtkWidget *widget, cairo_region_t *region) { GtkWidgetPrivate *priv; - + g_return_if_fail (GTK_IS_WIDGET (widget)); /* set_shape doesn't work on widgets without gdk window */ g_return_if_fail (gtk_widget_get_has_window (widget)); @@ -10548,17 +10552,17 @@ gtk_widget_shape_combine_region (GtkWidget *widget, if (priv->window) gdk_window_shape_combine_region (priv->window, NULL, 0, 0); - + g_object_set_qdata (G_OBJECT (widget), quark_shape_info, NULL); } else { priv->has_shape_mask = TRUE; - + g_object_set_qdata_full (G_OBJECT (widget), quark_shape_info, cairo_region_copy (region), (GDestroyNotify) cairo_region_destroy); - + /* set shape if widget has a gdk window already. * otherwise the shape is scheduled to be set by gtk_widget_realize(). */ @@ -10573,7 +10577,7 @@ gtk_widget_shape_combine_region (GtkWidget *widget, * @region: (allow-none): shape to be added, or %NULL to remove an existing shape * * Sets an input shape for this widget's GDK window. This allows for - * windows which react to mouse click in a nonrectangular region, see + * windows which react to mouse click in a nonrectangular region, see * gdk_window_input_shape_combine_region() for more information. * * Since: 3.0 @@ -10583,7 +10587,7 @@ gtk_widget_input_shape_combine_region (GtkWidget *widget, cairo_region_t *region) { GtkWidgetPrivate *priv; - + g_return_if_fail (GTK_IS_WIDGET (widget)); /* set_shape doesn't work on widgets without gdk window */ g_return_if_fail (gtk_widget_get_has_window (widget)); @@ -10594,15 +10598,15 @@ gtk_widget_input_shape_combine_region (GtkWidget *widget, { if (priv->window) gdk_window_input_shape_combine_region (priv->window, NULL, 0, 0); - + g_object_set_qdata (G_OBJECT (widget), quark_input_shape_info, NULL); } else { - g_object_set_qdata_full (G_OBJECT (widget), quark_input_shape_info, + g_object_set_qdata_full (G_OBJECT (widget), quark_input_shape_info, cairo_region_copy (region), (GDestroyNotify) cairo_region_destroy); - + /* set shape if widget has a gdk window already. * otherwise the shape is scheduled to be set by gtk_widget_realize(). */ @@ -10656,8 +10660,8 @@ gtk_widget_reset_shapes (GtkWidget *widget) * @klass: a #GtkWidgetClass * @pspec: the #GParamSpec for the style property * @parser: the parser for the style property - * - * Installs a style property on a widget class. + * + * Installs a style property on a widget class. **/ void gtk_widget_class_install_style_property_parser (GtkWidgetClass *klass, @@ -10668,7 +10672,7 @@ gtk_widget_class_install_style_property_parser (GtkWidgetClass *klass, g_return_if_fail (G_IS_PARAM_SPEC (pspec)); g_return_if_fail (pspec->flags & G_PARAM_READABLE); g_return_if_fail (!(pspec->flags & (G_PARAM_CONSTRUCT_ONLY | G_PARAM_CONSTRUCT))); - + if (g_param_spec_pool_lookup (style_property_spec_pool, pspec->name, G_OBJECT_CLASS_TYPE (klass), FALSE)) { g_warning (G_STRLOC ": class `%s' already contains a style property named `%s'", @@ -10686,7 +10690,7 @@ gtk_widget_class_install_style_property_parser (GtkWidgetClass *klass, * gtk_widget_class_install_style_property: * @klass: a #GtkWidgetClass * @pspec: the #GParamSpec for the property - * + * * Installs a style property on a widget class. The parser for the * style property is determined by the value type of @pspec. **/ @@ -10731,7 +10735,7 @@ gtk_widget_class_find_style_property (GtkWidgetClass *klass, * gtk_widget_class_list_style_properties: * @klass: a #GtkWidgetClass * @n_properties: location to return the number of style properties found - * @returns: an newly allocated array of #GParamSpec*. The array must + * @returns: an newly allocated array of #GParamSpec*. The array must * be freed with g_free(). * * Returns all style properties of a widget class. @@ -10758,7 +10762,7 @@ gtk_widget_class_list_style_properties (GtkWidgetClass *klass, * gtk_widget_style_get_property: * @widget: a #GtkWidget * @property_name: the name of a style property - * @value: location to return the property value + * @value: location to return the property value * * Gets the value of a style property of @widget. */ @@ -10794,7 +10798,7 @@ gtk_widget_style_get_property (GtkWidget *widget, G_OBJECT_TYPE (widget), pspec, (GtkRcPropertyParser) g_param_spec_get_qdata (pspec, quark_property_parser)); - + /* auto-conversion of the caller's value type */ if (G_VALUE_TYPE (value) == G_PARAM_SPEC_VALUE_TYPE (pspec)) @@ -10817,10 +10821,10 @@ gtk_widget_style_get_property (GtkWidget *widget, * @var_args: a va_list of pairs of property names and * locations to return the property values, starting with the location * for @first_property_name. - * - * Non-vararg variant of gtk_widget_style_get(). Used primarily by language + * + * Non-vararg variant of gtk_widget_style_get(). Used primarily by language * bindings. - */ + */ void gtk_widget_style_get_valist (GtkWidget *widget, const gchar *first_property_name, @@ -10878,8 +10882,8 @@ gtk_widget_style_get_valist (GtkWidget *widget, * gtk_widget_style_get: * @widget: a #GtkWidget * @first_property_name: the name of the first property to get - * @Varargs: pairs of property names and locations to - * return the property values, starting with the location for + * @Varargs: pairs of property names and locations to + * return the property values, starting with the location for * @first_property_name, terminated by %NULL. * * Gets the values of a multiple style properties of @widget. @@ -10927,7 +10931,7 @@ gtk_widget_path (GtkWidget *widget, static gchar *rev_path = NULL; static guint tmp_path_len = 0; guint len; - + g_return_if_fail (GTK_IS_WIDGET (widget)); len = 0; @@ -10937,7 +10941,7 @@ gtk_widget_path (GtkWidget *widget, const gchar *s; gchar *d; guint l; - + string = gtk_widget_get_name (widget); l = strlen (string); while (tmp_path_len <= len + l + 1) @@ -10959,7 +10963,7 @@ gtk_widget_path (GtkWidget *widget, rev_path[len++] = 0; } while (widget); - + if (path_length) *path_length = len - 1; if (path_reversed) @@ -10981,7 +10985,7 @@ gtk_widget_path (GtkWidget *widget, * * Same as gtk_widget_path(), but always uses the name of a widget's type, * never uses a custom name set with gtk_widget_set_name(). - * + * **/ void gtk_widget_class_path (GtkWidget *widget, @@ -10992,7 +10996,7 @@ gtk_widget_class_path (GtkWidget *widget, static gchar *rev_path = NULL; static guint tmp_path_len = 0; guint len; - + g_return_if_fail (GTK_IS_WIDGET (widget)); len = 0; @@ -11002,7 +11006,7 @@ gtk_widget_class_path (GtkWidget *widget, const gchar *s; gchar *d; guint l; - + string = g_type_name (G_OBJECT_TYPE (widget)); l = strlen (string); while (tmp_path_len <= len + l + 1) @@ -11024,7 +11028,7 @@ gtk_widget_class_path (GtkWidget *widget, rev_path[len++] = 0; } while (widget); - + if (path_length) *path_length = len - 1; if (path_reversed) @@ -11069,7 +11073,7 @@ gtk_requisition_copy (const GtkRequisition *requisition) /** * gtk_requisition_free: * @requisition: a #GtkRequisition - * + * * Frees a #GtkRequisition. **/ void @@ -11115,12 +11119,12 @@ gtk_widget_get_accessible (GtkWidget *widget) return klass->get_accessible (widget); } -static AtkObject* +static AtkObject* gtk_widget_real_get_accessible (GtkWidget *widget) { AtkObject* accessible; - accessible = g_object_get_qdata (G_OBJECT (widget), + accessible = g_object_get_qdata (G_OBJECT (widget), quark_accessible_object); if (!accessible) { @@ -11128,12 +11132,12 @@ gtk_widget_real_get_accessible (GtkWidget *widget) AtkRegistry *default_registry; default_registry = atk_get_default_registry (); - factory = atk_registry_get_factory (default_registry, + factory = atk_registry_get_factory (default_registry, G_TYPE_FROM_INSTANCE (widget)); accessible = atk_object_factory_create_accessible (factory, G_OBJECT (widget)); - g_object_set_qdata (G_OBJECT (widget), + g_object_set_qdata (G_OBJECT (widget), quark_accessible_object, accessible); } @@ -12405,8 +12409,8 @@ gtk_widget_set_margin_bottom (GtkWidget *widget, * to use. %GDK_SELECTION_CLIPBOARD gives the * default clipboard. Another common value * is %GDK_SELECTION_PRIMARY, which gives - * the primary X selection. - * + * the primary X selection. + * * Returns the clipboard object for the given selection to * be used with @widget. @widget must have a #GdkDisplay * associated with it, so must be attached to a toplevel @@ -12455,7 +12459,7 @@ gtk_widget_list_mnemonic_labels (GtkWidget *widget) { GList *list = NULL; GSList *l; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); for (l = g_object_get_qdata (G_OBJECT (widget), quark_mnemonic_labels); l; l = l->next) @@ -12468,7 +12472,7 @@ gtk_widget_list_mnemonic_labels (GtkWidget *widget) * gtk_widget_add_mnemonic_label: * @widget: a #GtkWidget * @label: a #GtkWidget that acts as a mnemonic label for @widget - * + * * Adds a widget to the list of mnemonic labels for * this widget. (See gtk_widget_list_mnemonic_labels()). Note the * list of mnemonic labels for the widget is cleared when the @@ -12489,7 +12493,7 @@ gtk_widget_add_mnemonic_label (GtkWidget *widget, old_list = g_object_steal_qdata (G_OBJECT (widget), quark_mnemonic_labels); new_list = g_slist_prepend (old_list, label); - + g_object_set_qdata_full (G_OBJECT (widget), quark_mnemonic_labels, new_list, (GDestroyNotify) g_slist_free); } @@ -12499,7 +12503,7 @@ gtk_widget_add_mnemonic_label (GtkWidget *widget, * @widget: a #GtkWidget * @label: a #GtkWidget that was previously set as a mnemnic label for * @widget with gtk_widget_add_mnemonic_label(). - * + * * Removes a widget from the list of mnemonic labels for * this widget. (See gtk_widget_list_mnemonic_labels()). The widget * must have previously been added to the list with @@ -12554,7 +12558,7 @@ gtk_widget_get_no_show_all (GtkWidget *widget) * * This is mostly for use in constructing widget hierarchies with externally * controlled visibility, see #GtkUIManager. - * + * * Since: 2.4 **/ void From ce815afecedf3bf383bff13d550d752cef865df8 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Thu, 4 Nov 2010 16:30:48 +0100 Subject: [PATCH 0145/1463] GtkWidget/GtkContainer: Slight fixes to geometry-management docs. Replace it's with its in several places. Replace some , with . Replace some ; with . Fix some plurals. Other minor corrections. --- gtk/gtkcontainer.c | 316 +++++++++++++++++++++---------------------- gtk/gtksizerequest.c | 37 +++-- gtk/gtkwidget.c | 58 ++++---- 3 files changed, 205 insertions(+), 206 deletions(-) diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index 5b2d3baa30..024c4fe220 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -21,7 +21,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -64,12 +64,12 @@ * The first type of container widget has a single child widget and derives * from #GtkBin. These containers are decorators, which * add some kind of functionality to the child. For example, a #GtkButton makes - * it's child into a clickable button; a #GtkFrame draws a frame around it's child - * and a #GtkWindow places it's child widget inside a top-level window. + * its child into a clickable button; a #GtkFrame draws a frame around its child + * and a #GtkWindow places its child widget inside a top-level window. * - * The second type of container can have more than one child; it's purpose is to + * The second type of container can have more than one child; its purpose is to * manage layout. This means that these containers assign - * sizes and positions to their children. For example, a #GtkHBox arranges it's + * sizes and positions to their children. For example, a #GtkHBox arranges its * children in a horizontal row, and a #GtkTable arranges the widgets it contains * in a two-dimensional grid. * @@ -82,25 +82,25 @@ * width-for-height). * * There are some things to keep in mind when implementing container widgets - * that make use of GTK+'s height for width geometry management system; first - * of all it's important to note that a container must prioritize one of it's + * that make use of GTK+'s height for width geometry management system. First, + * it's important to note that a container must prioritize one of its * dimensions, that is to say that a widget or container can only have a - * #GtkSizeRequestMode that is %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or - * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT. However, every widget and container - * must be able to respond to the APIs for both dimensions, i.e. even if a - * widget has a request mode that is height-for-width, it is possible that - * it's parent will request it's sizes using the width-for-height APIs. + * #GtkSizeRequestMode that is %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or + * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT. However, every widget and container + * must be able to respond to the APIs for both dimensions, i.e. even if a + * widget has a request mode that is height-for-width, it is possible that + * its parent will request its sizes using the width-for-height APIs. * * To ensure that everything works properly, here are some guidelines to follow * when implementing height-for-width (or width-for-height) containers. * - * Each request mode has 2 virtual methods involved. Height-for-width apis run + * Each request mode involves 2 virtual methods. Height-for-width apis run * through gtk_widget_get_preferred_width() and then through gtk_widget_get_preferred_height_for_width(). * When handling requests in the opposite #GtkSizeRequestMode it is important that - * every widget request at least enough space to display all of it's content at all times. + * every widget request at least enough space to display all of its content at all times. * * When gtk_widget_get_preferred_height() is called on a container that is height-for-width, - * the container must return the height for minimum width, this is easily achieved by + * the container must return the height for its minimum width. This is easily achieved by * simply calling the reverse apis implemented for itself as follows: * * get_preferred_width (widget, &min_width, NULL); - * GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, + * GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, * min_height, nat_height); * } * else @@ -129,7 +129,7 @@ * * * * Furthermore, in order to ensure correct height-for-width requests it is important - * to check the input width against the real required minimum width, this can + * to check the input width against the real required minimum width. This can * easily be achieved as follows: * * get_preferred_height_for_width() virtual function by first calling * gtk_widget_get_preferred_width() for each of its children. * - * For each potential group of children that are lined up horizontally the values returned by - * gtk_widget_get_preferred_width() should be collected in an array of #GtkRequestedSize structures; - * any child spacing should be removed from the input @for_width and then the collective size be - * allocated using the gtk_distribute_natural_allocation() convenience function + * For each potential group of children that are lined up horizontally, the values returned by + * gtk_widget_get_preferred_width() should be collected in an array of #GtkRequestedSize structures. + * Any child spacing should be removed from the input @for_width and then the collective size should be + * allocated using the gtk_distribute_natural_allocation() convenience function. * - * The container will then move on to request the preferred height for each child by using + * The container will then move on to request the preferred height for each child by using * gtk_widget_get_preferred_height_for_width() and using the sizes stored in the #GtkRequestedSize array. * - * When it comes time to allocate a height-for-width container, it's again important - * to consider that a container has to prioritize one dimension over the other. So if + * To allocate a height-for-width container, it's again important + * to consider that a container must prioritize one dimension over the other. So if * a container is a height-for-width container it must first allocate all widgets horizontally * using a #GtkRequestedSize array and gtk_distribute_natural_allocation() and then add any * extra space (if and where appropriate) for the widget to expand. @@ -196,9 +196,9 @@ * be generalized into the heights and widths of rows and columns). * The vertical space must then again be distributed using gtk_distribute_natural_allocation() * while this time considering the allocated height of the widget minus any vertical spacing - * that the container adds. Then vertical expand space should be added where appropriate if available - * and go on to actually allocating the child widgets. - * + * that the container adds. Then vertical expand space should be added where appropriate and available + * and the container should go on to actually allocating the child widgets. + * * See GtkWidget's geometry management section * to learn more about implementing height-for-width geometry management for widgets. *
@@ -396,7 +396,7 @@ gtk_container_get_type (void) }; container_type = - g_type_register_static (GTK_TYPE_WIDGET, I_("GtkContainer"), + g_type_register_static (GTK_TYPE_WIDGET, I_("GtkContainer"), &container_info, G_TYPE_FLAG_ABSTRACT); g_type_add_interface_static (container_type, @@ -443,7 +443,7 @@ gtk_container_class_init (GtkContainerClass *class) vadjustment_key_id = g_quark_from_static_string (vadjustment_key); hadjustment_key_id = g_quark_from_static_string (hadjustment_key); - + gobject_class->set_property = gtk_container_set_property; gobject_class->get_property = gtk_container_get_property; @@ -554,7 +554,7 @@ gtk_container_buildable_add_child (GtkBuildable *buildable, gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child)); } else - g_warning ("Cannot add an object of type %s to a container of type %s", + g_warning ("Cannot add an object of type %s to a container of type %s", g_type_name (G_OBJECT_TYPE (child)), g_type_name (G_OBJECT_TYPE (buildable))); } @@ -568,7 +568,7 @@ gtk_container_buildable_set_child_property (GtkContainer *container, GParamSpec *pspec; GValue gvalue = { 0, }; GError *error = NULL; - + pspec = gtk_container_class_find_child_property (G_OBJECT_GET_CLASS (container), name); if (!pspec) @@ -652,12 +652,12 @@ attributes_text_element (GMarkupParseContext *context, if (!parser_data->child_prop_name) return; - + if (parser_data->translatable && text_len) { const gchar* domain; domain = gtk_builder_get_translation_domain (parser_data->builder); - + value = _gtk_builder_parser_translate (domain, parser_data->context, text); @@ -739,13 +739,13 @@ gtk_container_buildable_custom_tag_end (GtkBuildable *buildable, } /** - * gtk_container_child_type: + * gtk_container_child_type: * @container: a #GtkContainer * * Returns the type of the children supported by the container. * * Note that this may return %G_TYPE_NONE to indicate that no more - * children can be added, e.g. for a #GtkPaned which already has two + * children can be added, e.g. for a #GtkPaned which already has two * children. * * Return value: a #GType. @@ -775,7 +775,7 @@ container_get_child_property (GtkContainer *container, GValue *value) { GtkContainerClass *class = g_type_class_peek (pspec->owner_type); - + class->get_child_property (container, child, PARAM_SPEC_PARAM_ID (pspec), value, pspec); } @@ -820,9 +820,9 @@ container_set_child_property (GtkContainer *container, * @container: a #GtkContainer * @child: a widget which is a child of @container * @first_property_name: the name of the first property to get - * @var_args: return location for the first property, followed + * @var_args: return location for the first property, followed * optionally by more name/return location pairs, followed by %NULL - * + * * Gets the values of one or more child properties for @child and @container. **/ void @@ -891,7 +891,7 @@ gtk_container_child_get_valist (GtkContainer *container, * @child: a widget which is a child of @container * @property_name: the name of the property to get * @value: a location to return the value - * + * * Gets the value of a child property for @child and @container. **/ void @@ -907,7 +907,7 @@ gtk_container_child_get_property (GtkContainer *container, g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (container)); g_return_if_fail (property_name != NULL); g_return_if_fail (G_IS_VALUE (value)); - + g_object_ref (container); g_object_ref (child); pspec = g_param_spec_pool_lookup (_gtk_widget_child_property_pool, property_name, @@ -966,7 +966,7 @@ gtk_container_child_get_property (GtkContainer *container, * @first_property_name: the name of the first property to set * @var_args: a %NULL-terminated list of property names and values, starting * with @first_prop_name - * + * * Sets one or more child properties for @child and @container. **/ void @@ -1039,7 +1039,7 @@ gtk_container_child_set_valist (GtkContainer *container, * @child: a widget which is a child of @container * @property_name: the name of the property to set * @value: the value to set the property to - * + * * Sets a child property for @child and @container. **/ void @@ -1056,7 +1056,7 @@ gtk_container_child_set_property (GtkContainer *container, g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (container)); g_return_if_fail (property_name != NULL); g_return_if_fail (G_IS_VALUE (value)); - + g_object_ref (container); g_object_ref (child); @@ -1084,12 +1084,12 @@ gtk_container_child_set_property (GtkContainer *container, /** * gtk_container_add_with_properties: - * @container: a #GtkContainer - * @widget: a widget to be placed inside @container - * @first_prop_name: the name of the first child property to set + * @container: a #GtkContainer + * @widget: a widget to be placed inside @container + * @first_prop_name: the name of the first child property to set * @Varargs: a %NULL-terminated list of property names and values, starting * with @first_prop_name - * + * * Adds @widget to @container, setting child properties at the same time. * See gtk_container_add() and gtk_container_child_set() for more details. **/ @@ -1129,7 +1129,7 @@ gtk_container_add_with_properties (GtkContainer *container, * @first_prop_name: the name of the first property to set * @Varargs: a %NULL-terminated list of property names and values, starting * with @first_prop_name - * + * * Sets one or more child properties for @child and @container. **/ void @@ -1139,7 +1139,7 @@ gtk_container_child_set (GtkContainer *container, ...) { va_list var_args; - + g_return_if_fail (GTK_IS_CONTAINER (container)); g_return_if_fail (GTK_IS_WIDGET (child)); g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (container)); @@ -1154,9 +1154,9 @@ gtk_container_child_set (GtkContainer *container, * @container: a #GtkContainer * @child: a widget which is a child of @container * @first_prop_name: the name of the first property to get - * @Varargs: return location for the first property, followed + * @Varargs: return location for the first property, followed * optionally by more name/return location pairs, followed by %NULL - * + * * Gets the values of one or more child properties for @child and @container. **/ void @@ -1166,7 +1166,7 @@ gtk_container_child_get (GtkContainer *container, ...) { va_list var_args; - + g_return_if_fail (GTK_IS_CONTAINER (container)); g_return_if_fail (GTK_IS_WIDGET (child)); g_return_if_fail (gtk_widget_get_parent (child) == GTK_WIDGET (container)); @@ -1181,8 +1181,8 @@ gtk_container_child_get (GtkContainer *container, * @cclass: a #GtkContainerClass * @property_id: the id for the property * @pspec: the #GParamSpec for the property - * - * Installs a child property on a container class. + * + * Installs a child property on a container class. **/ void gtk_container_class_install_child_property (GtkContainerClass *cclass, @@ -1239,7 +1239,7 @@ gtk_container_class_find_child_property (GObjectClass *cclass, * gtk_container_class_list_child_properties: * @cclass: a #GtkContainerClass * @n_properties: location to return the number of child properties found - * @returns: a newly allocated %NULL-terminated array of #GParamSpec*. + * @returns: a newly allocated %NULL-terminated array of #GParamSpec*. * The array must be freed with g_free(). * * Returns all child properties of a container class. @@ -1352,7 +1352,7 @@ gtk_container_get_property (GObject *object, { GtkContainer *container = GTK_CONTAINER (object); GtkContainerPrivate *priv = container->priv; - + switch (prop_id) { case PROP_BORDER_WIDTH: @@ -1370,7 +1370,7 @@ gtk_container_get_property (GObject *object, /** * gtk_container_set_border_width: * @container: a #GtkContainer - * @border_width: amount of blank space to leave outside + * @border_width: amount of blank space to leave outside * the container. Valid values are in the range 0-65535 pixels. * * Sets the border width of the container. @@ -1398,7 +1398,7 @@ gtk_container_set_border_width (GtkContainer *container, { priv->border_width = border_width; g_object_notify (G_OBJECT (container), "border-width"); - + if (gtk_widget_get_realized (GTK_WIDGET (container))) gtk_widget_queue_resize (GTK_WIDGET (container)); } @@ -1407,7 +1407,7 @@ gtk_container_set_border_width (GtkContainer *container, /** * gtk_container_get_border_width: * @container: a #GtkContainer - * + * * Retrieves the border width of the container. See * gtk_container_set_border_width(). * @@ -1425,7 +1425,7 @@ gtk_container_get_border_width (GtkContainer *container) * gtk_container_add: * @container: a #GtkContainer * @widget: a widget to be placed inside @container - * + * * Adds @widget to @container. Typically used for simple containers * such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated * layout containers such as #GtkBox or #GtkTable, this function will @@ -1464,7 +1464,7 @@ gtk_container_add (GtkContainer *container, * gtk_container_remove: * @container: a #GtkContainer * @widget: a current child of @container - * + * * Removes @widget from @container. @widget must be inside @container. * Note that @container will own a reference to @widget, and that this * may be the last reference held; so removing a widget from its @@ -1500,10 +1500,10 @@ _gtk_container_dequeue_resize_handler (GtkContainer *container) * gtk_container_set_resize_mode: * @container: a #GtkContainer * @resize_mode: the new resize mode - * + * * Sets the resize mode for the container. * - * The resize mode of a container determines whether a resize request + * The resize mode of a container determines whether a resize request * will be passed to the container's parent, queued for later execution * or executed immediately. **/ @@ -1517,17 +1517,17 @@ gtk_container_set_resize_mode (GtkContainer *container, g_return_if_fail (resize_mode <= GTK_RESIZE_IMMEDIATE); priv = container->priv; - + if (gtk_widget_is_toplevel (GTK_WIDGET (container)) && resize_mode == GTK_RESIZE_PARENT) { resize_mode = GTK_RESIZE_QUEUE; } - + if (priv->resize_mode != resize_mode) { priv->resize_mode = resize_mode; - + gtk_widget_queue_resize (GTK_WIDGET (container)); g_object_notify (G_OBJECT (container), "resize-mode"); } @@ -1536,7 +1536,7 @@ gtk_container_set_resize_mode (GtkContainer *container, /** * gtk_container_get_resize_mode: * @container: a #GtkContainer - * + * * Returns the resize mode for the container. See * gtk_container_set_resize_mode (). * @@ -1556,10 +1556,10 @@ gtk_container_get_resize_mode (GtkContainer *container) * @needs_redraws: the new value for the container's @reallocate_redraws flag * * Sets the @reallocate_redraws flag of the container to the given value. - * + * * Containers requesting reallocation redraws get automatically - * redrawn if any of their children changed allocation. - **/ + * redrawn if any of their children changed allocation. + **/ void gtk_container_set_reallocate_redraws (GtkContainer *container, gboolean needs_redraws) @@ -1621,14 +1621,14 @@ _gtk_container_queue_resize_internal (GtkContainer *container, GtkContainer *resize_container; GtkWidget *parent; GtkWidget *widget; - + g_return_if_fail (GTK_IS_CONTAINER (container)); priv = container->priv; widget = GTK_WIDGET (container); resize_container = gtk_container_get_resize_container (container); - + while (TRUE) { _gtk_widget_set_alloc_needed (widget, TRUE); @@ -1641,7 +1641,7 @@ _gtk_container_queue_resize_internal (GtkContainer *container, widget = parent; } - + if (resize_container && !invalidate_only) { if (gtk_widget_get_visible (GTK_WIDGET (resize_container)) && @@ -1716,7 +1716,7 @@ void gtk_container_check_resize (GtkContainer *container) { g_return_if_fail (GTK_IS_CONTAINER (container)); - + g_signal_emit (container, container_signals[CHECK_RESIZE], 0); } @@ -1753,14 +1753,14 @@ gtk_container_real_check_resize (GtkContainer *container) * is not sufficient for the requisition of some child. * We've already performed a size request at this point, * so we simply need to reallocate and let the allocation - * trickle down via GTK_WIDGET_ALLOC_NEEDED flags. + * trickle down via GTK_WIDGET_ALLOC_NEEDED flags. */ void gtk_container_resize_children (GtkContainer *container) { GtkAllocation allocation; GtkWidget *widget; - + /* resizing invariants: * toplevels have *always* resize_mode != GTK_RESIZE_PARENT set. * containers that have an idle sizer pending must be flagged with @@ -1798,7 +1798,7 @@ gtk_container_adjust_size_request (GtkWidget *widget, /* chain up last so gtk_widget_set_size_request() values * will have a chance to overwrite our border width. */ - parent_class->adjust_size_request (widget, orientation, + parent_class->adjust_size_request (widget, orientation, minimum_size, natural_size); } @@ -1847,8 +1847,8 @@ gtk_container_adjust_size_allocation (GtkWidget *widget, /* Chain up to GtkWidgetClass *after* removing our border width from * the proposed allocation size. This is because it's possible that the * widget was allocated more space than it needs in a said orientation, - * if GtkWidgetClass does any alignments and thus limits the size to the - * natural size... then we need that to be done *after* removing any margins + * if GtkWidgetClass does any alignments and thus limits the size to the + * natural size... then we need that to be done *after* removing any margins * and padding values. */ parent_class->adjust_size_allocation (widget, orientation, @@ -1884,7 +1884,7 @@ gtk_container_class_handle_border_width (GtkContainerClass *klass) * @container: a #GtkContainer * @callback: a callback * @callback_data: callback user data - * + * * Invokes @callback on each child of @container, including children * that are considered "internal" (implementation details of the * container). "Internal" children generally weren't added by the user @@ -1913,7 +1913,7 @@ gtk_container_forall (GtkContainer *container, * @container: a #GtkContainer * @callback: (scope call): a callback * @callback_data: callback user data - * + * * Invokes @callback on each non-internal child of @container. See * gtk_container_forall() for details on what constitutes an * "internal" child. Most applications should use @@ -1925,7 +1925,7 @@ gtk_container_foreach (GtkContainer *container, gpointer callback_data) { GtkContainerClass *class; - + g_return_if_fail (GTK_IS_CONTAINER (container)); g_return_if_fail (callback != NULL); @@ -1984,7 +1984,7 @@ gtk_container_get_focus_child (GtkContainer *container) /** * gtk_container_get_children: * @container: a #GtkContainer - * + * * Returns the container's non-internal children. See * gtk_container_forall() for details on what constitutes an "internal" child. * @@ -2035,7 +2035,7 @@ gtk_container_child_default_composite_name (GtkContainer *container, gtk_container_forall (container, gtk_container_child_position_callback, &data); - + name = g_strdup_printf ("%s-%u", g_type_name (G_TYPE_FROM_INSTANCE (child)), data.index); @@ -2076,7 +2076,7 @@ _gtk_container_child_composite_name (GtkContainer *container, return name; } - + return NULL; } @@ -2158,9 +2158,9 @@ gtk_container_real_set_focus_child (GtkContainer *container, GtkWidget *focus_child; gint x, y; - hadj = g_object_get_qdata (G_OBJECT (container), hadjustment_key_id); + hadj = g_object_get_qdata (G_OBJECT (container), hadjustment_key_id); vadj = g_object_get_qdata (G_OBJECT (container), vadjustment_key_id); - if (hadj || vadj) + if (hadj || vadj) { focus_child = priv->focus_child; @@ -2168,7 +2168,7 @@ gtk_container_real_set_focus_child (GtkContainer *container, { focus_child = gtk_container_get_focus_child (GTK_CONTAINER (focus_child)); } - + gtk_widget_translate_coordinates (focus_child, priv->focus_child, 0, 0, &x, &y); @@ -2247,13 +2247,13 @@ gtk_container_focus (GtkWidget *widget, direction == GTK_DIR_TAB_BACKWARD)) { sorted_children = g_list_copy (children); - + if (direction == GTK_DIR_TAB_BACKWARD) sorted_children = g_list_reverse (sorted_children); } else sorted_children = _gtk_container_focus_sort (container, children, direction, NULL); - + return_val = gtk_container_focus_move (container, sorted_children, direction); g_list_free (sorted_children); @@ -2284,7 +2284,7 @@ tab_compare (gconstpointer a, gint x1 = child1_allocation.x + child1_allocation.width / 2; gint x2 = child2_allocation.x + child2_allocation.width / 2; - if (text_direction == GTK_TEXT_DIR_RTL) + if (text_direction == GTK_TEXT_DIR_RTL) return (x1 < x2) ? 1 : ((x1 == x2) ? 0 : -1); else return (x1 < x2) ? -1 : ((x1 == x2) ? 0 : 1); @@ -2433,7 +2433,7 @@ gtk_container_focus_sort_up_down (GtkContainer *container, if (!old_focus) old_focus = find_old_focus (container, children); - + if (old_focus && get_allocation_coords (container, old_focus, &old_allocation)) { gint compare_x1; @@ -2449,7 +2449,7 @@ gtk_container_focus_sort_up_down (GtkContainer *container, compare_y = old_allocation.y; else compare_y = old_allocation.y + old_allocation.height; - + tmp_list = children; while (tmp_list) { @@ -2457,14 +2457,14 @@ gtk_container_focus_sort_up_down (GtkContainer *container, GList *next = tmp_list->next; gint child_x1, child_x2; GdkRectangle child_allocation; - + if (child != old_focus) { if (get_allocation_coords (container, child, &child_allocation)) { child_x1 = child_allocation.x; child_x2 = child_allocation.x + child_allocation.width; - + if ((child_x2 <= compare_x1 || child_x1 >= compare_x2) /* No horizontal overlap */ || (direction == GTK_DIR_DOWN && child_allocation.y + child_allocation.height < compare_y) || /* Not below */ (direction == GTK_DIR_UP && child_allocation.y > compare_y)) /* Not above */ @@ -2475,7 +2475,7 @@ gtk_container_focus_sort_up_down (GtkContainer *container, else children = g_list_delete_link (children, tmp_list); } - + tmp_list = next; } @@ -2503,7 +2503,7 @@ gtk_container_focus_sort_up_down (GtkContainer *container, else compare.x = allocation.width / 2; } - + if (!gtk_widget_get_has_window (widget)) compare.y = (direction == GTK_DIR_DOWN) ? allocation.y : allocation.y + allocation.height; else @@ -2563,13 +2563,13 @@ gtk_container_focus_sort_left_right (GtkContainer *container, if (!old_focus) old_focus = find_old_focus (container, children); - + if (old_focus && get_allocation_coords (container, old_focus, &old_allocation)) { gint compare_y1; gint compare_y2; gint compare_x; - + /* Delete widgets from list that don't match minimum criteria */ compare_y1 = old_allocation.y; @@ -2579,7 +2579,7 @@ gtk_container_focus_sort_left_right (GtkContainer *container, compare_x = old_allocation.x; else compare_x = old_allocation.x + old_allocation.width; - + tmp_list = children; while (tmp_list) { @@ -2587,14 +2587,14 @@ gtk_container_focus_sort_left_right (GtkContainer *container, GList *next = tmp_list->next; gint child_y1, child_y2; GdkRectangle child_allocation; - + if (child != old_focus) { if (get_allocation_coords (container, child, &child_allocation)) { child_y1 = child_allocation.y; child_y2 = child_allocation.y + child_allocation.height; - + if ((child_y2 <= compare_y1 || child_y1 >= compare_y2) /* No vertical overlap */ || (direction == GTK_DIR_RIGHT && child_allocation.x + child_allocation.width < compare_x) || /* Not to left */ (direction == GTK_DIR_LEFT && child_allocation.x > compare_x)) /* Not to right */ @@ -2605,7 +2605,7 @@ gtk_container_focus_sort_left_right (GtkContainer *container, else children = g_list_delete_link (children, tmp_list); } - + tmp_list = next; } @@ -2633,7 +2633,7 @@ gtk_container_focus_sort_left_right (GtkContainer *container, else compare.y = allocation.height / 2; } - + if (!gtk_widget_get_has_window (widget)) compare.x = (direction == GTK_DIR_RIGHT) ? allocation.x : allocation.x + allocation.width; else @@ -2659,10 +2659,10 @@ gtk_container_focus_sort_left_right (GtkContainer *container, * (Note, this argument isn't used for GTK_DIR_TAB_*, * which is the only @direction we use currently, * so perhaps this argument should be removed) - * + * * Sorts @children in the correct order for focusing with * direction type @direction. - * + * * Return value: a copy of @children, sorted in correct focusing order, * with children that aren't suitable for focusing in this direction * removed. @@ -2681,7 +2681,7 @@ _gtk_container_focus_sort (GtkContainer *container, visible_children = g_list_prepend (visible_children, children->data); children = children->next; } - + switch (direction) { case GTK_DIR_TAB_FORWARD: @@ -2718,7 +2718,7 @@ gtk_container_focus_move (GtkContainer *container, if (!child) continue; - + if (focus_child) { if (focus_child == child) @@ -2757,7 +2757,7 @@ chain_widget_destroyed (GtkWidget *widget, { GtkContainer *container; GList *chain; - + container = GTK_CONTAINER (user_data); chain = g_object_get_data (G_OBJECT (container), @@ -2768,10 +2768,10 @@ chain_widget_destroyed (GtkWidget *widget, g_signal_handlers_disconnect_by_func (widget, chain_widget_destroyed, user_data); - + g_object_set_data (G_OBJECT (container), I_("gtk-container-focus-chain"), - chain); + chain); } /** @@ -2781,11 +2781,11 @@ chain_widget_destroyed (GtkWidget *widget, * the new focus chain * * Sets a focus chain, overriding the one computed automatically by GTK+. - * - * In principle each widget in the chain should be a descendant of the - * container, but this is not enforced by this method, since it's allowed - * to set the focus chain before you pack the widgets, or have a widget - * in the chain that isn't always packed. The necessary checks are done + * + * In principle each widget in the chain should be a descendant of the + * container, but this is not enforced by this method, since it's allowed + * to set the focus chain before you pack the widgets, or have a widget + * in the chain that isn't always packed. The necessary checks are done * when the focus chain is actually traversed. **/ void @@ -2795,22 +2795,22 @@ gtk_container_set_focus_chain (GtkContainer *container, GList *chain; GList *tmp_list; GtkContainerPrivate *priv; - + g_return_if_fail (GTK_IS_CONTAINER (container)); priv = container->priv; - + if (priv->has_focus_chain) gtk_container_unset_focus_chain (container); priv->has_focus_chain = TRUE; - + chain = NULL; tmp_list = focusable_widgets; while (tmp_list != NULL) { g_return_if_fail (GTK_IS_WIDGET (tmp_list->data)); - + /* In principle each widget in the chain should be a descendant * of the container, but we don't want to check that here, it's * expensive and also it's allowed to set the focus chain before @@ -2824,12 +2824,12 @@ gtk_container_set_focus_chain (GtkContainer *container, "destroy", G_CALLBACK (chain_widget_destroyed), container); - + tmp_list = g_list_next (tmp_list); } chain = g_list_reverse (chain); - + g_object_set_data (G_OBJECT (container), I_("gtk-container-focus-chain"), chain); @@ -2844,14 +2844,14 @@ gtk_container_set_focus_chain (GtkContainer *container, * using g_list_free() when you are done with it, however * no additional reference count is added to the * individual widgets in the focus chain. - * + * * Retrieves the focus chain of the container, if one has been * set explicitly. If no focus chain has been explicitly * set, GTK+ computes the focus chain based on the positions * of the children. In that case, GTK+ stores %NULL in * @focusable_widgets and returns %FALSE. * - * Return value: %TRUE if the focus chain of the container + * Return value: %TRUE if the focus chain of the container * has been set explicitly. **/ gboolean @@ -2878,7 +2878,7 @@ gtk_container_get_focus_chain (GtkContainer *container, /** * gtk_container_unset_focus_chain: * @container: a #GtkContainer - * + * * Removes a focus chain explicitly set with gtk_container_set_focus_chain(). **/ void @@ -2894,12 +2894,12 @@ gtk_container_unset_focus_chain (GtkContainer *container) { GList *chain; GList *tmp_list; - + chain = get_focus_chain (container); - + priv->has_focus_chain = FALSE; - - g_object_set_data (G_OBJECT (container), + + g_object_set_data (G_OBJECT (container), I_("gtk-container-focus-chain"), NULL); @@ -2909,7 +2909,7 @@ gtk_container_unset_focus_chain (GtkContainer *container) g_signal_handlers_disconnect_by_func (tmp_list->data, chain_widget_destroyed, container); - + tmp_list = g_list_next (tmp_list); } @@ -2920,18 +2920,18 @@ gtk_container_unset_focus_chain (GtkContainer *container) /** * gtk_container_set_focus_vadjustment: * @container: a #GtkContainer - * @adjustment: an adjustment which should be adjusted when the focus + * @adjustment: an adjustment which should be adjusted when the focus * is moved among the descendents of @container - * - * Hooks up an adjustment to focus handling in a container, so when a - * child of the container is focused, the adjustment is scrolled to - * show that widget. This function sets the vertical alignment. See - * gtk_scrolled_window_get_vadjustment() for a typical way of obtaining + * + * Hooks up an adjustment to focus handling in a container, so when a + * child of the container is focused, the adjustment is scrolled to + * show that widget. This function sets the vertical alignment. See + * gtk_scrolled_window_get_vadjustment() for a typical way of obtaining * the adjustment and gtk_container_set_focus_hadjustment() for setting * the horizontal adjustment. * - * The adjustments have to be in pixel units and in the same coordinate - * system as the allocation for immediate children of the container. + * The adjustments have to be in pixel units and in the same coordinate + * system as the allocation for immediate children of the container. */ void gtk_container_set_focus_vadjustment (GtkContainer *container, @@ -2964,7 +2964,7 @@ GtkAdjustment * gtk_container_get_focus_vadjustment (GtkContainer *container) { GtkAdjustment *vadjustment; - + g_return_val_if_fail (GTK_IS_CONTAINER (container), NULL); vadjustment = g_object_get_qdata (G_OBJECT (container), vadjustment_key_id); @@ -2975,18 +2975,18 @@ gtk_container_get_focus_vadjustment (GtkContainer *container) /** * gtk_container_set_focus_hadjustment: * @container: a #GtkContainer - * @adjustment: an adjustment which should be adjusted when the focus is + * @adjustment: an adjustment which should be adjusted when the focus is * moved among the descendents of @container - * - * Hooks up an adjustment to focus handling in a container, so when a child - * of the container is focused, the adjustment is scrolled to show that - * widget. This function sets the horizontal alignment. - * See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining + * + * Hooks up an adjustment to focus handling in a container, so when a child + * of the container is focused, the adjustment is scrolled to show that + * widget. This function sets the horizontal alignment. + * See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining * the adjustment and gtk_container_set_focus_vadjustment() for setting * the vertical adjustment. * - * The adjustments have to be in pixel units and in the same coordinate - * system as the allocation for immediate children of the container. + * The adjustments have to be in pixel units and in the same coordinate + * system as the allocation for immediate children of the container. */ void gtk_container_set_focus_hadjustment (GtkContainer *container, @@ -3047,13 +3047,13 @@ gtk_container_draw_child (GtkWidget *child, GtkWidget *container; cairo_t *cr; } *data = client_data; - + gtk_container_propagate_draw (GTK_CONTAINER (data->container), child, data->cr); } -static gint +static gint gtk_container_draw (GtkWidget *widget, cairo_t *cr) { @@ -3064,11 +3064,11 @@ gtk_container_draw (GtkWidget *widget, data.container = widget; data.cr = cr; - + gtk_container_forall (GTK_CONTAINER (widget), gtk_container_draw_child, &data); - + return FALSE; } @@ -3113,7 +3113,7 @@ gtk_container_unmap (GtkWidget *widget) * @container: a #GtkContainer * @child: a child of @container * @cr: Cairo context as passed to the container. If you want to use @cr - * in container's draw function, consider using cairo_save() and + * in container's draw function, consider using cairo_save() and * cairo_restore() before calling this function. * * When a container receives a call to the draw function, it must send @@ -3127,9 +3127,9 @@ gtk_container_unmap (GtkWidget *widget) * and deciding whether the draw needs to be sent to the child. It is a * convenient and optimized way of getting the same effect as calling * gtk_widget_draw() on the child directly. - * + * * In most cases, a container can simply either inherit the - * #GtkWidget::draw implementation from #GtkContainer, or do some drawing + * #GtkWidget::draw implementation from #GtkContainer, or do some drawing * and then chain to the ::draw implementation from #GtkContainer. **/ void @@ -3172,7 +3172,7 @@ gtk_container_propagate_draw (GtkContainer *container, } window = gtk_widget_get_window (GTK_WIDGET (container)); - + for (w = gtk_widget_get_window (child); w && w != window; w = gdk_window_get_parent (w)) { int wx, wy; diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index a721a0a9ac..b20f03d29f 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -247,7 +247,7 @@ compute_size_for_orientation (GtkWidget *widget, int ignored_position = 0; int natural_height; - /* Pull the base natural height from the cache as it's needed to adjust + /* Pull the base natural height from the cache as it's needed to adjust * the proposed 'for_size' */ gtk_widget_get_preferred_height (widget, NULL, &natural_height); @@ -279,7 +279,7 @@ compute_size_for_orientation (GtkWidget *widget, int ignored_position = 0; int natural_width; - /* Pull the base natural width from the cache as it's needed to adjust + /* Pull the base natural width from the cache as it's needed to adjust * the proposed 'for_size' */ gtk_widget_get_preferred_width (widget, NULL, &natural_width); @@ -353,7 +353,7 @@ compute_size_for_orientation (GtkWidget *widget, cached_size->natural_size = adjusted_natural; } - /* Update size-groups with our request and update our cached requests + /* Update size-groups with our request and update our cached requests * with the size-group values in a single pass. */ _gtk_size_group_bump_requisition (widget, @@ -426,7 +426,7 @@ gtk_widget_get_request_mode (GtkWidget *widget) * * The returned request will be modified by the * GtkWidgetClass::adjust_size_request virtual method and by any - * #GtkSizeGroup that have been applied. That is, the returned request + * #GtkSizeGroups that have been applied. That is, the returned request * is the one that should be used for layout, not necessarily the one * returned by the widget itself. * @@ -454,7 +454,7 @@ gtk_widget_get_preferred_width (GtkWidget *widget, * * The returned request will be modified by the * GtkWidgetClass::adjust_size_request virtual method and by any - * #GtkSizeGroup that have been applied. That is, the returned request + * #GtkSizeGroups that have been applied. That is, the returned request * is the one that should be used for layout, not necessarily the one * returned by the widget itself. * @@ -483,7 +483,7 @@ gtk_widget_get_preferred_height (GtkWidget *widget, * * The returned request will be modified by the * GtkWidgetClass::adjust_size_request virtual method and by any - * #GtkSizeGroup that have been applied. That is, the returned request + * #GtkSizeGroups that have been applied. That is, the returned request * is the one that should be used for layout, not necessarily the one * returned by the widget itself. * @@ -511,7 +511,7 @@ gtk_widget_get_preferred_width_for_height (GtkWidget *widget, * * The returned request will be modified by the * GtkWidgetClass::adjust_size_request virtual method and by any - * #GtkSizeGroup that have been applied. That is, the returned request + * #GtkSizeGroups that have been applied. That is, the returned request * is the one that should be used for layout, not necessarily the one * returned by the widget itself. * @@ -533,15 +533,15 @@ gtk_widget_get_preferred_height_for_width (GtkWidget *widget, * @minimum_size: (out) (allow-none): location for storing the minimum size, or %NULL * @natural_size: (out) (allow-none): location for storing the natural size, or %NULL * - * Retrieves the minimum and natural size of a widget taking + * Retrieves the minimum and natural size of a widget, taking * into account the widget's preference for height-for-width management. * * This is used to retrieve a suitable size by container widgets which do * not impose any restrictions on the child placement. It can be used * to deduce toplevel window and menu sizes as well as child widgets in - * free form containers such as GtkLayout. + * free-form containers such as GtkLayout. * - * Handle with care, note that the natural height of a height-for-width + * Handle with care. Note that the natural height of a height-for-width * widget will generally be a smaller size than the minimum height, since the required * height for the natural width is generally smaller than the required height for * the minimum width. @@ -622,14 +622,14 @@ compare_gap (gconstpointer p1, } /** - * gtk_distribute_natural_allocation: + * gtk_distribute_natural_allocation: * @extra_space: Extra space to redistribute among children after subtracting * minimum sizes and any child padding from the overall allocation * @n_requested_sizes: Number of requests to fit into the allocation * @sizes: An array of structs with a client pointer and a minimum/natural size * in the orientation of the allocation. * - * Distributes @extra_space to child @sizes by bringing up smaller + * Distributes @extra_space to child @sizes by bringing smaller * children up to natural size first. * * The remaining space will be added to the @minimum_size member of the @@ -639,7 +639,7 @@ compare_gap (gconstpointer p1, * Returns: The remainder of @extra_space after redistributing space * to @sizes. */ -gint +gint gtk_distribute_natural_allocation (gint extra_space, guint n_requested_sizes, GtkRequestedSize *sizes) @@ -670,12 +670,12 @@ gtk_distribute_natural_allocation (gint extra_space, * The following code distributes the additional space by following * these rules. */ - + /* Sort descending by gap and position. */ g_qsort_with_data (spreading, n_requested_sizes, sizeof (guint), compare_gap, sizes); - + /* Distribute available space. * This master piece of a loop was conceived by Behdad Esfahbod. */ @@ -688,14 +688,13 @@ gtk_distribute_natural_allocation (gint extra_space, gint glue = (extra_space + i) / (i + 1); gint gap = sizes[(spreading[i])].natural_size - sizes[(spreading[i])].minimum_size; - + gint extra = MIN (glue, gap); - + sizes[spreading[i]].minimum_size += extra; - + extra_space -= extra; } return extra_space; } - diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 7b80c6c243..87eca07f73 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -73,7 +73,7 @@ * Height-for-width Geometry Management * * GTK+ uses a height-for-width (and width-for-height) geometry management - * system Height-for-width means that a widget can change how much + * system. Height-for-width means that a widget can change how much * vertical space it needs, depending on the amount of horizontal space * that it is given (and similar for width-for-height). The most common * example is a label that reflows to fill up the available width, wraps @@ -85,8 +85,8 @@ * * #GtkWidgetClass.get_request_mode() * - * This allows a widget to tell it's parent container whether - * it preferrs to be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH + * This allows a widget to tell its parent container whether + * it prefers to be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH * or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH means the widget prefers to * have #GtkWidgetClass.get_preferred_width() called and then @@ -95,7 +95,7 @@ * However it's important to note (as described below) that any * widget which trades height-for-width must respond properly to * both #GtkSizeRequestModes since it might be queried in either - * orientation by it's parent container. + * orientation by its parent container. * * * @@ -103,12 +103,12 @@ * * This is called by containers to obtain the minimum and * natural width of a widget. A widget will never be allocated - * a width less than it's minimum and will only ever be allocated + * a width less than its minimum and will only ever be allocated * a width greater than the natural width once all of the said * widget's siblings have received their natural widths. - * Furthermore a widget will only ever be allocated a width greater - * than it's natural width if it was configured to receive extra - * expand space from it's parent container. + * Furthermore, a widget will only ever be allocated a width greater + * than its natural width if it was configured to receive extra + * expand space from its parent container. * * * @@ -128,7 +128,7 @@ * This is similar to #GtkWidgetClass.get_preferred_height() except * that it is passed a contextual width to request height for. By * implementing this virtual method it is possible for a #GtkLabel - * to tell it's parent how much height would be required if the + * to tell its parent how much height would be required if the * label were to be allocated a said width. * * @@ -138,8 +138,8 @@ * This is analogous to #GtkWidgetClass.get_preferred_height_for_width() * except that it operates in the oposite orientation. It's rare that * a widget actually does %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT requests - * but can happen when for example; a widget or container gets additional - * columns to compensate for a smaller allocated height. + * but this can happen when, for example, a widget or container gets + * additional columns to compensate for a smaller allocated height. * * * @@ -156,8 +156,8 @@ * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH mode: * First, the default minimum and natural width for each widget * in the interface will be computed using gtk_width_get_preferred_width(). - * Because the preferred widths for each container depends on the preferred - * widths of thier children, this information propagates up the hierarchy, + * Because the preferred widths for each container depend on the preferred + * widths of their children, this information propagates up the hierarchy, * and finally a minimum and natural width is determined for the entire * toplevel. Next, the toplevel will use the minimum width to query for the * minimum height contextual to that width using @@ -166,18 +166,18 @@ * used to set the minimum size constraint on the toplevel * (unless gtk_window_set_geometry_hints() is explicitly used instead). * - * After the toplevel window has initially requested it's size in both + * After the toplevel window has initially requested its size in both * dimensions it can go on to allocate itself a reasonable size (or a size * previously specified with gtk_window_set_default_size()). During the * recursive allocation process it's important to note that request cycles * will be recursively executed while container widgets allocate their children. - * Each container widget, once allocated a size will go on to first share the + * Each container widget, once allocated a size, will go on to first share the * space in one orientation among its children and then request each child's - * height for their target allocated width or width for allocated height + * height for its target allocated width or its width for allocated height, * depending. In this way a #GtkWidget will typically be requested its size - * a number of times before actually being allocated a size, the size a - * widget is finally allocated can of course differ from the size it - * requested. For this reason; #GtkWidget caches a small number of results + * a number of times before actually being allocated a size. The size a + * widget is finally allocated can of course differ from the size it has + * requested. For this reason, #GtkWidget caches a small number of results * to avoid re-querying for the same sizes in one allocation cycle. * * See GtkContainer's @@ -185,15 +185,15 @@ * to learn more about how height-for-width allocations are performed * by container widgets. * - * If a widget does move content around to smartly use up the - * allocated size, then it must support the request in both + * If a widget does move content around to intelligently use up the + * allocated size then it must support the request in both * #GtkSizeRequestModes even if the widget in question only * trades sizes in a single orientation. * * For instance, a #GtkLabel that does height-for-width word wrapping * will not expect to have #GtkWidgetClass.get_preferred_height() called * because that call is specific to a width-for-height request. In this - * case the label must return the heights required for it's own minimum + * case the label must return the height required for its own minimum * possible width. By following this rule any widget that handles * height-for-width or width-for-height requests will always be allocated * at least enough space to fit its own content. @@ -215,7 +215,7 @@ * } * else * { - * ... some widgets do both, for instance if a GtkLabel is rotated to 90 degrees + * ... some widgets do both. For instance, if a GtkLabel is rotated to 90 degrees * it will return the minimum and natural height for the rotated label here. * } * } @@ -236,15 +236,15 @@ * else * { * ... again if a widget is sometimes operating in width-for-height mode - * (like a rotated GtkLabel) it can go ahead and do it's real width for + * (like a rotated GtkLabel) it can go ahead and do its real width for * height calculation here. * } * } * ]]> * * Often a widget needs to get its own request during size request or - * allocation, for example when computing height it may need to also - * compute width, or when deciding how to use an allocation the widget + * allocation. For example, when computing height it may need to also + * compute width. Or when deciding how to use an allocation, the widget * may need to know its natural size. In these cases, the widget should * be careful to call its virtual methods directly, like this: * @@ -256,7 +256,7 @@ * * * It will not work to use the wrapper functions, such as - * gtk_widget_get_preferred_width(), inside your own size request + * gtk_widget_get_preferred_width() inside your own size request * implementation. These return a request adjusted by #GtkSizeGroup * and by the #GtkWidgetClass.adjust_size_request() virtual method. If a * widget used the wrappers inside its virtual method implementations, @@ -266,8 +266,8 @@ * * Of course if you are getting the size request for * another widget, such as a child of a - * container, you must use the wrapper APIs; - * otherwise, you would not properly consider widget margins, + * container, you must use the wrapper APIs. + * Otherwise, you would not properly consider widget margins, * #GtkSizeGroup, and so forth. * *
From 1ad5fa3e7a8f41e95057bd8e9ff8c32a5c8b8459 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 5 Nov 2010 13:05:20 +0900 Subject: [PATCH 0146/1463] Committing half-way done focus work. --- gtk/gtkcellarea.c | 183 +++++++++++++++++++++++++++++++++++++++--- gtk/gtkcellarea.h | 4 + gtk/gtkcellareabox.c | 13 +-- gtk/gtkcellrenderer.c | 26 ++++++ gtk/gtkcellrenderer.h | 2 + 5 files changed, 205 insertions(+), 23 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 634ff4906c..fc30fb88c3 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -50,18 +50,25 @@ static void gtk_cell_area_get_property (GObject GParamSpec *pspec); /* GtkCellAreaClass */ -static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); -static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); +static gint gtk_cell_area_real_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); +static void gtk_cell_area_real_update_focus (GtkCellArea *area); /* GtkCellLayoutIface */ static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface); @@ -196,7 +203,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->add = NULL; class->remove = NULL; class->forall = NULL; - class->event = NULL; + class->event = gtk_cell_area_real_event; class->render = NULL; /* geometry */ @@ -209,6 +216,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) /* focus */ class->grab_focus = NULL; + class->update_focus = gtk_cell_area_real_update_focus; /* Signals */ cell_area_signals[SIGNAL_FOCUS_LEAVE] = @@ -437,6 +445,30 @@ gtk_cell_area_get_property (GObject *object, /************************************************************* * GtkCellAreaClass * *************************************************************/ +static gint +gtk_cell_area_real_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) +{ + if (event->type == GDK_KEY_PRESS) + { + GtkCellAreaPrivate *priv = area->priv; + + if (priv->focus_cell) + { + /* Activate of Edit the currently focused cell */ + + + return TRUE; + } + } + + return FALSE; +} + static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaIter *iter, @@ -461,6 +493,35 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, iter, widget, minimum_width, natural_width); } +static void +update_can_focus (GtkCellRenderer *renderer, + gboolean *can_focus) +{ + + if (gtk_cell_renderer_can_focus (renderer)) + *can_focus = TRUE; +} + +static void +gtk_cell_area_real_update_focus (GtkCellArea *area) +{ + gboolean can_focus = FALSE; + + /* Update the area's can focus flag, if any of the renderers can + * focus then the area can focus. + * + * Subclasses can override this in the case that they are also + * rendering widgets as well as renderers. + */ + gtk_cell_area_forall (area, (GtkCellCallback)update_can_focus, &can_focus); + gtk_cell_area_set_can_focus (area, can_focus); + + /* Unset the currently focused cell if the area can not receive + * focus for the given row data */ + if (!can_focus) + gtk_cell_area_set_focus_cell (area, NULL); +} + /************************************************************* * GtkCellLayoutIface * *************************************************************/ @@ -1342,6 +1403,24 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, /************************************************************* * API: Focus * *************************************************************/ + +/** + * gtk_cell_area_grab_focus: + * @area: a #GtkCellArea + * @direction: the #GtkDirectionType from which focus came + * + * This should be called by the @area's owning layout widget + * when focus should be passed to @area for a given row data. + * + * Note that after applying new attributes for @area that + * gtk_cell_area_update_focus() should be called and + * gtk_cell_area_can_focus() should be checked before trying + * to pass focus to @area. + * + * Implementing #GtkCellArea classes should implement this + * method to receive focus in it's own way particular to + * how it lays out cells. + */ void gtk_cell_area_grab_focus (GtkCellArea *area, GtkDirectionType direction) @@ -1359,6 +1438,24 @@ gtk_cell_area_grab_focus (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_focus_leave: + * @area: a #GtkCellArea + * @direction: the #GtkDirectionType in which focus + * is to leave @area + * @path: the current #GtkTreePath string for the + * event which was handled by @area + * + * Notifies that focus is to leave @area in the + * given @direction. + * + * This is called by #GtkCellArea implementations upon + * handling a key event that caused focus to leave the + * cell. The resulting signal can be handled by the + * owning layouting widget to decide which new @area + * to pass focus to and from what @direction. Or to + * pass focus along to an entirely new data row. + */ void gtk_cell_area_focus_leave (GtkCellArea *area, GtkDirectionType direction, @@ -1369,6 +1466,35 @@ gtk_cell_area_focus_leave (GtkCellArea *area, g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_LEAVE], 0, direction, path); } +/** + * gtk_cell_area_update_focus: + * @area: a #GtkCellArea + * + * Updates focus information on @area for a given + * row of data. + * + * After calling gtk_cell_area_apply_attributes() to + * the @area this method should be called to update + * information about whether the @area can focus and + * which is the cell currently in focus. + */ +void +gtk_cell_area_update_focus (GtkCellArea *area) +{ + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + GTK_CELL_AREA_GET_CLASS (area)->update_focus (area); +} + +/** + * gtk_cell_area_set_can_focus: + * @area: a #GtkCellArea + * @can_focus: whether @area can receive focus + * + * This is generally called from GtkCellArea::update_focus() + * implementations to update if the @area can focus after + * applying new row data attributes. + */ void gtk_cell_area_set_can_focus (GtkCellArea *area, gboolean can_focus) @@ -1385,6 +1511,17 @@ gtk_cell_area_set_can_focus (GtkCellArea *area, } } +/** + * gtk_cell_area_get_can_focus: + * @area: a #GtkCellArea + * + * Returns whether the area can receive keyboard focus, + * after applying new attributes to @area, + * gtk_cell_area_update_focus() needs to be called before + * calling this method. + * + * Returns: whether @area can receive focus. + */ gboolean gtk_cell_area_get_can_focus (GtkCellArea *area) { @@ -1397,6 +1534,18 @@ gtk_cell_area_get_can_focus (GtkCellArea *area) return priv->can_focus; } + +/** + * gtk_cell_area_set_focus_cell: + * @area: a #GtkCellArea + * @focus_cell: the #GtkCellRenderer to give focus to + * + * This is generally called from #GtkCellArea implementations + * either gtk_cell_area_grab_focus() or gtk_cell_area_update_focus() + * is called. It's also up to the #GtkCellArea implementation + * to update the focused cell when receiving events from + * gtk_cell_area_event() appropriately. + */ void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer) @@ -1420,6 +1569,14 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area, } } +/** + * gtk_cell_area_get_focus_cell: + * @area: a #GtkCellArea + * + * Retrieves the currently focused cell for @area + * + * Returns: the currently focused cell in @area. + */ GtkCellRenderer * gtk_cell_area_get_focus_cell (GtkCellArea *area) { diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 2e804714c5..9c095538bd 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -133,6 +133,7 @@ struct _GtkCellAreaClass /* Focus */ void (* grab_focus) (GtkCellArea *area, GtkDirectionType direction); + void (* update_focus) (GtkCellArea *area); /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -255,6 +256,7 @@ void gtk_cell_area_grab_focus (GtkCellArea void gtk_cell_area_focus_leave (GtkCellArea *area, GtkDirectionType direction, const gchar *path); +void gtk_cell_area_update_focus (GtkCellArea *area); void gtk_cell_area_set_can_focus (GtkCellArea *area, gboolean can_focus); gboolean gtk_cell_area_get_can_focus (GtkCellArea *area); @@ -262,6 +264,8 @@ void gtk_cell_area_set_focus_cell (GtkCellArea GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); + + /* Margins */ gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); void gtk_cell_area_set_cell_margin_left (GtkCellArea *area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 60e4b3a973..ad2f6ee2ef 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1465,16 +1465,9 @@ gtk_cell_area_box_grab_focus (GtkCellArea *area, for (list = first_cell ? g_list_first (group->cells) : g_list_last (group->cells); list; list = first_cell ? list->next : list->prev) { - GtkCellRendererMode mode; - CellInfo *info = list->data; - - /* XXX This does not handle cases where the cell - * is not visible as it is not row specific, - * that's a problem. - */ - g_object_get (info->renderer, "mode", &mode, NULL); - if (mode == GTK_CELL_RENDERER_MODE_EDITABLE || - mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) + CellInfo *info = list->data; + + if (gtk_cell_renderer_can_focus (info->renderer)) { gtk_cell_area_set_focus_cell (area, info->renderer); break; diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index 3656599483..da6c77ce92 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1058,6 +1058,32 @@ gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell) return cell->priv->sensitive; } + +/** + * gtk_cell_renderer_can_focus: + * @cell: A #GtkCellRenderer + * + * Checks whether the cell renderer can receive focus. + * + * Returns: %TRUE if the cell renderer can do anything with keyboard focus + * + * Since: 3.0 + */ +gboolean +gtk_cell_renderer_can_focus (GtkCellRenderer *cell) +{ + GtkCellRendererPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell), FALSE); + + priv = cell->priv; + + return (cell->priv->visible && + (cell->priv->mode == GTK_CELL_RENDERER_MODE_EDITABLE || + cell->priv->mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE)); +} + + /** * gtk_cell_renderer_stop_editing: * @cell: A #GtkCellRenderer diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index 44362778ce..407d35730e 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -213,6 +213,8 @@ void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell, gboolean sensitive); gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell); +gboolean gtk_cell_renderer_can_focus (GtkCellRenderer *cell); + /* For use by cell renderer implementations only */ void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, gboolean canceled); From 631bdc438c67debf5d7fab51cd655ac296ab32d3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 5 Nov 2010 22:16:32 +0900 Subject: [PATCH 0147/1463] Made progress on focus handling. - Added vfunc to get the allocation of a cell inside an area - Superclass GtkCellArea handles activation of focused cells by handling key events (as well as editing of editable cells) - Added signal "editing-started" to GtkCellArea to signal that editing has started (generally signaled from inside event handling) - Added properties "focus-cell" and "edited-cell" --- gtk/gtkcellarea.c | 300 ++++++++++++++++++++++++++++++++++++++++- gtk/gtkcellarea.h | 22 +++ gtk/gtkcellareabox.c | 86 +++++++++++- gtk/gtkmarshalers.list | 1 + 4 files changed, 396 insertions(+), 13 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index fc30fb88c3..ccc1b71bc9 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -130,10 +130,21 @@ typedef struct { struct _GtkCellAreaPrivate { + /* The GtkCellArea bookkeeps any connected + * attributes in this hash table. + */ GHashTable *cell_info; + /* The cell border decides how much space to reserve + * around each cell for the background_area + */ GtkBorder cell_border; + /* Current path is saved as a side-effect + * of gtk_cell_area_apply_attributes() */ + gchar *current_path; + + GtkCellRenderer *edited_cell; GtkCellRenderer *focus_cell; guint can_focus : 1; @@ -144,11 +155,14 @@ enum { PROP_CELL_MARGIN_LEFT, PROP_CELL_MARGIN_RIGHT, PROP_CELL_MARGIN_TOP, - PROP_CELL_MARGIN_BOTTOM + PROP_CELL_MARGIN_BOTTOM, + PROP_FOCUS_CELL, + PROP_EDITED_CELL }; enum { SIGNAL_FOCUS_LEAVE, + SIGNAL_EDITING_STARTED, LAST_SIGNAL }; @@ -229,6 +243,17 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) G_TYPE_NONE, 2, GTK_TYPE_DIRECTION_TYPE, G_TYPE_STRING); + cell_area_signals[SIGNAL_EDITING_STARTED] = + g_signal_new (I_("editing-started"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_OBJECT_STRING, + G_TYPE_NONE, 3, + GTK_TYPE_CELL_RENDERER, + GTK_TYPE_CELL_EDITABLE, + G_TYPE_STRING); /* Properties */ g_object_class_install_property (object_class, @@ -275,6 +300,24 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) 0, GTK_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_FOCUS_CELL, + g_param_spec_object + ("focus-cell", + P_("Focus Cell"), + P_("The cell which currently has focus"), + GTK_TYPE_CELL_RENDERER, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_EDITED_CELL, + g_param_spec_object + ("edited-cell", + P_("Edited Cell"), + P_("The cell which is currently being edited"), + GTK_TYPE_CELL_RENDERER, + GTK_PARAM_READWRITE)); + /* Pool for Cell Properties */ if (!cell_property_pool) cell_property_pool = g_param_spec_pool_new (FALSE); @@ -366,6 +409,8 @@ gtk_cell_area_finalize (GObject *object) */ g_hash_table_destroy (priv->cell_info); + g_free (priv->current_path); + G_OBJECT_CLASS (gtk_cell_area_parent_class)->finalize (object); } @@ -379,8 +424,9 @@ gtk_cell_area_dispose (GObject *object) */ gtk_cell_layout_clear (GTK_CELL_LAYOUT (object)); - /* Remove any ref to a focused cell */ + /* Remove any ref to a focused/edited cell */ gtk_cell_area_set_focus_cell (GTK_CELL_AREA (object), NULL); + gtk_cell_area_set_edited_cell (GTK_CELL_AREA (object), NULL); G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); } @@ -407,6 +453,9 @@ gtk_cell_area_set_property (GObject *object, case PROP_CELL_MARGIN_BOTTOM: gtk_cell_area_set_cell_margin_bottom (area, g_value_get_int (value)); break; + case PROP_FOCUS_CELL: + gtk_cell_area_set_focus_cell (area, (GtkCellRenderer *)g_value_get_object (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -436,6 +485,9 @@ gtk_cell_area_get_property (GObject *object, case PROP_CELL_MARGIN_BOTTOM: g_value_set_int (value, priv->cell_border.bottom); break; + case PROP_FOCUS_CELL: + g_value_set_object (value, priv->focus_cell); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -453,16 +505,73 @@ gtk_cell_area_real_event (GtkCellArea *area, const GdkRectangle *cell_area, GtkCellRendererState flags) { - if (event->type == GDK_KEY_PRESS) + if (event->type == GDK_KEY_PRESS && (flags & GTK_CELL_RENDERER_FOCUSED) != 0) { + GdkEventKey *key_event = (GdkEventKey *)event; GtkCellAreaPrivate *priv = area->priv; - if (priv->focus_cell) + if (priv->focus_cell && + (key_event->keyval == GDK_KEY_space || + key_event->keyval == GDK_KEY_KP_Space || + key_event->keyval == GDK_KEY_Return || + key_event->keyval == GDK_KEY_ISO_Enter || + key_event->keyval == GDK_KEY_KP_Enter)) { - /* Activate of Edit the currently focused cell */ + /* Activate or Edit the currently focused cell */ + GtkCellRendererMode mode; + GdkRectangle background_area; + GdkRectangle inner_area; + /* Get the allocation of the focused cell. + */ + gtk_cell_area_get_cell_allocation (area, iter, widget, priv->focus_cell, + cell_area, &background_area); - return TRUE; + /* Remove margins from the background area to produce the cell area. + */ + gtk_cell_area_inner_cell_area (area, &background_area, &inner_area); + + /* XXX Need to do some extra right-to-left casing either here + * or inside the above called apis. + */ + + g_object_get (priv->focus_cell, "mode", &mode, NULL); + + if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) + { + if (gtk_cell_renderer_activate (priv->focus_cell, + event, widget, + priv->current_path, + &background_area, + &inner_area, + flags)) + return TRUE; + } + else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) + { + GtkCellEditable *editable_widget; + + editable_widget = + gtk_cell_renderer_start_editing (priv->focus_cell, + event, widget, + priv->current_path, + &background_area, + &inner_area, + flags); + + if (editable_widget != NULL) + { + g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); + + gtk_cell_area_set_edited_cell (area, priv->focus_cell); + + /* Signal that editing started so that callers can get + * a handle on the editable_widget */ + gtk_cell_area_editing_started (area, priv->focus_cell, editable_widget); + + return TRUE; + } + } } } @@ -662,6 +771,14 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) /************************************************************* * API * *************************************************************/ + +/** + * gtk_cell_area_add: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer to add to @area + * + * Adds @renderer to @area with the default child cell properties. + */ void gtk_cell_area_add (GtkCellArea *area, GtkCellRenderer *renderer) @@ -680,6 +797,13 @@ gtk_cell_area_add (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_remove: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer to add to @area + * + * Removes @renderer from @area. + */ void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer) @@ -703,6 +827,14 @@ gtk_cell_area_remove (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_forall + * @area: a #GtkCellArea + * @callback: the #GtkCellCallback to call + * @callback_data: user provided data pointer + * + * Calls @callback for every #GtkCellRenderer in @area. + */ void gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, @@ -722,6 +854,45 @@ gtk_cell_area_forall (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_get_cell_allocation: + * @area: a #GtkCellArea + * @iter: the #GtkCellAreaIter used to hold sizes for @area. + * @widget: the #GtkWidget that @area is rendering on + * @renderer: the #GtkCellRenderer to get the allocation for + * @cell_area: the whole allocated area for @area in @widget + * for this row + * @allocation: where to store the allocation for @renderer + * + * Derives the allocation of @renderer inside @area if @area + * were to be renderered in @cell_area. + */ +void +gtk_cell_area_get_cell_allocation (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation) +{ + GtkCellAreaClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (cell_area != NULL); + g_return_if_fail (allocation != NULL); + + class = GTK_CELL_AREA_GET_CLASS (area); + + if (class->get_cell_allocation) + class->get_cell_allocation (area, iter, widget, renderer, cell_area, allocation); + else + g_warning ("GtkCellAreaClass::get_cell_allocation not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); +} + gint gtk_cell_area_event (GtkCellArea *area, GtkCellAreaIter *iter, @@ -893,6 +1064,17 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, /************************************************************* * API: Attributes * *************************************************************/ + +/** + * gtk_cell_area_attribute_connect: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer to connect an attribute for + * @attribute: the attribute name + * @column: the #GtkTreeModel column to fetch attribute values from + * + * Connects an @attribute to apply values from @column for the + * #GtkTreeModel in use. + */ void gtk_cell_area_attribute_connect (GtkCellArea *area, GtkCellRenderer *renderer, @@ -949,6 +1131,16 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, info->attributes = g_slist_prepend (info->attributes, cell_attribute); } +/** + * gtk_cell_area_attribute_disconnect: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer to disconnect an attribute for + * @attribute: the attribute name + * + * Disconnects @attribute for the @renderer in @area so that + * attribute will no longer be updated with values from the + * model. + */ void gtk_cell_area_attribute_disconnect (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1025,6 +1217,18 @@ apply_cell_attributes (GtkCellRenderer *renderer, g_object_thaw_notify (G_OBJECT (renderer)); } +/** + * gtk_cell_area_apply_attributes + * @area: a #GtkCellArea + * @tree_model: a #GtkTreeModel to pull values from + * @iter: the #GtkTreeIter in @tree_model to apply values for + * @is_expander: whether @iter has children + * @is_expanded: whether @iter is expanded in the view and + * children are visible + * + * Applies any connected attributes to the renderers in + * @area by pulling the values from @tree_model. + */ void gtk_cell_area_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, @@ -1034,6 +1238,7 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, { GtkCellAreaPrivate *priv; AttributeData data; + GtkTreePath *path; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); @@ -1051,8 +1256,37 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, /* Go over any cells that have attributes or custom GtkCellLayoutDataFuncs and * apply the data from the treemodel */ g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); + + /* Update the currently applied path */ + g_free (priv->current_path); + path = gtk_tree_model_get_path (tree_model, iter); + priv->current_path = gtk_tree_path_to_string (path); + gtk_tree_path_free (path); } +/** + * gtk_cell_area_get_current_path_string: + * @area: a #GtkCellArea + * + * Gets the current #GtkTreePath string for the currently + * applied #GtkTreeIter, this is implicitly updated when + * gtk_cell_area_apply_attributes() is called and can be + * used to interact with renderers from #GtkCellArea + * subclasses. + */ +const gchar * +gtk_cell_area_get_current_path_string (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + priv = area->priv; + + return priv->current_path; +} + + /************************************************************* * API: Cell Properties * *************************************************************/ @@ -1566,6 +1800,8 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area, if (priv->focus_cell) g_object_ref (priv->focus_cell); + + g_object_notify (G_OBJECT (area), "focus-cell"); } } @@ -1589,6 +1825,43 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) return priv->focus_cell; } +void +gtk_cell_area_set_edited_cell (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (renderer == NULL || GTK_IS_CELL_RENDERER (renderer)); + + priv = area->priv; + + if (priv->edited_cell != renderer) + { + if (priv->edited_cell) + g_object_unref (priv->edited_cell); + + priv->edited_cell = renderer; + + if (priv->edited_cell) + g_object_ref (priv->edited_cell); + + g_object_notify (G_OBJECT (area), "edited-cell"); + } +} + +GtkCellRenderer * +gtk_cell_area_get_edited_cell (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + priv = area->priv; + + return priv->edited_cell; +} + /************************************************************* * API: Margins * *************************************************************/ @@ -1697,6 +1970,21 @@ gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, } /* For convenience in area implementations */ +void +gtk_cell_area_editing_started (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_STARTED], 0, + renderer, editable, priv->current_path); +} + void gtk_cell_area_inner_cell_area (GtkCellArea *area, GdkRectangle *background_area, diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 9c095538bd..0e806df688 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -79,6 +79,12 @@ struct _GtkCellAreaClass void (* forall) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); + void (* get_cell_allocation) (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); gint (* event) (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, @@ -156,6 +162,12 @@ void gtk_cell_area_remove (GtkCellArea void gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); +void gtk_cell_area_get_cell_allocation (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); gint gtk_cell_area_event (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, @@ -194,6 +206,8 @@ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); +G_CONST_RETURN gchar *gtk_cell_area_get_current_path_string (GtkCellArea *area); + /* Attributes */ void gtk_cell_area_apply_attributes (GtkCellArea *area, @@ -263,6 +277,9 @@ gboolean gtk_cell_area_get_can_focus (GtkCellArea void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); +void gtk_cell_area_set_edited_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); @@ -282,6 +299,11 @@ void gtk_cell_area_set_cell_margin_bottom (GtkCellArea /* Functions for area implementations */ +/* Signal that editing started on the area (fires the "editing-started" signal) */ +void gtk_cell_area_editing_started (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable); + /* Distinguish the inner cell area from the whole requested area including margins */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, GdkRectangle *cell_area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index ad2f6ee2ef..a2f73bd4fe 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -50,6 +50,12 @@ static void gtk_cell_area_box_remove (GtkCellArea static void gtk_cell_area_box_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); +static void gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); static gint gtk_cell_area_box_event (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, @@ -225,13 +231,14 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) object_class->get_property = gtk_cell_area_box_get_property; /* GtkCellAreaClass */ - area_class->add = gtk_cell_area_box_add; - area_class->remove = gtk_cell_area_box_remove; - area_class->forall = gtk_cell_area_box_forall; - area_class->event = gtk_cell_area_box_event; - area_class->render = gtk_cell_area_box_render; - area_class->set_cell_property = gtk_cell_area_box_set_cell_property; - area_class->get_cell_property = gtk_cell_area_box_get_cell_property; + area_class->add = gtk_cell_area_box_add; + area_class->remove = gtk_cell_area_box_remove; + area_class->forall = gtk_cell_area_box_forall; + area_class->get_cell_allocation = gtk_cell_area_box_get_cell_allocation; + area_class->event = gtk_cell_area_box_event; + area_class->render = gtk_cell_area_box_render; + area_class->set_cell_property = gtk_cell_area_box_set_cell_property; + area_class->get_cell_property = gtk_cell_area_box_get_cell_property; area_class->create_iter = gtk_cell_area_box_create_iter; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; @@ -811,6 +818,50 @@ gtk_cell_area_box_forall (GtkCellArea *area, } } +static void +gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GSList *allocated_cells, *l; + + *allocation = *cell_area; + + /* Get a list of cells with allocation sizes decided regardless + * of alignments and pack order etc. */ + allocated_cells = get_allocated_cells (box, box_iter, widget); + + for (l = allocated_cells; l; l = l->next) + { + AllocatedCell *cell = l->data; + + if (cell->renderer == renderer) + { + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + allocation->x = cell_area->x + cell->position; + allocation->width = cell->size; + } + else + { + allocation->y = cell_area->y + cell->position; + allocation->height = cell->size; + } + + break; + } + } + + g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); + g_slist_free (allocated_cells); +} + static gint gtk_cell_area_box_event (GtkCellArea *area, GtkCellAreaIter *iter, @@ -819,6 +870,27 @@ gtk_cell_area_box_event (GtkCellArea *area, const GdkRectangle *cell_area, GtkCellRendererState flags) { + gint retval; + + /* First let the parent class handle activation of cells via keystrokes */ + retval = + GTK_CELL_AREA_CLASS (gtk_cell_area_box_parent_class)->event (area, iter, widget, + event, cell_area, flags); + + if (retval) + return retval; + + /* Now detect keystrokes that move focus directionally inside the area + * or signal that focus should leave the area in a given direction. + * + * To navigate focus we only need to loop through the groups and + * observe the orientation and push focus along to the next cell + * or signal that focus should leave the area. + */ + + /* Also detect mouse events, for mouse events we need to allocate the renderers + * and find which renderer needs to be activated. + */ return 0; diff --git a/gtk/gtkmarshalers.list b/gtk/gtkmarshalers.list index 88e870f052..9332f3a172 100644 --- a/gtk/gtkmarshalers.list +++ b/gtk/gtkmarshalers.list @@ -90,6 +90,7 @@ VOID:OBJECT,STRING,STRING VOID:OBJECT,UINT VOID:OBJECT,UINT,FLAGS VOID:OBJECT,STRING +VOID:OBJECT,OBJECT,STRING VOID:OBJECT,OBJECT,OBJECT VOID:POINTER VOID:POINTER,INT From cb51ad606fcc0d88e7fe1c0612f1a91e69ad1d07 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 5 Nov 2010 13:02:42 +0100 Subject: [PATCH 0148/1463] gtkwindow: properly set the window icon list (#631331) This was probably a rendering-cleanup regression. --- gtk/gtkwindow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 2073f17dc1..a61bbcdc4f 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -3412,6 +3412,8 @@ gtk_window_realize_icon (GtkWindow *window) } info->realized = TRUE; + + gdk_window_set_icon_list (gtk_widget_get_window (widget), icon_list); if (info->using_themed_icon) { From 4239e499825e3fb3166e79a52186469d8c9238af Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 5 Nov 2010 10:33:16 +0100 Subject: [PATCH 0149/1463] icon-theme: support pixbufs implementing the GIcon interface https://bugzilla.gnome.org/show_bug.cgi?id=634060 --- gtk/gtkicontheme.c | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index f4821d6d0f..199f8468ba 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -137,6 +137,7 @@ struct _GtkIconInfo GdkPixbuf *pixbuf; GError *load_error; gdouble scale; + gboolean emblems_applied; guint ref_count; }; @@ -2757,6 +2758,9 @@ apply_emblems (GtkIconInfo *info) if (info->emblem_infos == NULL) return; + if (info->emblems_applied) + return; + w = gdk_pixbuf_get_width (info->pixbuf); h = gdk_pixbuf_get_height (info->pixbuf); @@ -2819,6 +2823,8 @@ apply_emblems (GtkIconInfo *info) g_object_unref (info->pixbuf); info->pixbuf = icon; } + + info->emblems_applied = TRUE; } /* This function contains the complicated logic for deciding @@ -2840,7 +2846,10 @@ icon_info_ensure_scale_and_pixbuf (GtkIconInfo *icon_info, return TRUE; if (icon_info->pixbuf) - return TRUE; + { + apply_emblems (icon_info); + return TRUE; + } if (icon_info->load_error) return FALSE; @@ -3721,6 +3730,39 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme *icon_theme, return info; } + else if (GDK_IS_PIXBUF (icon)) + { + GdkPixbuf *pixbuf; + + pixbuf = GDK_PIXBUF (icon); + + if ((flags & GTK_ICON_LOOKUP_FORCE_SIZE) != 0) + { + gint width, height, max; + gdouble scale; + GdkPixbuf *scaled; + + width = gdk_pixbuf_get_width (pixbuf); + height = gdk_pixbuf_get_height (pixbuf); + max = MAX (width, height); + scale = (gdouble) size / (gdouble) max; + + scaled = gdk_pixbuf_scale_simple (pixbuf, + 0.5 + width * scale, + 0.5 + height * scale, + GDK_INTERP_BILINEAR); + + info = gtk_icon_info_new_for_pixbuf (icon_theme, scaled); + + g_object_unref (scaled); + } + else + { + info = gtk_icon_info_new_for_pixbuf (icon_theme, pixbuf); + } + + return info; + } return NULL; } From c068e988a1ca6b1d98e37086105c795298458e5d Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 5 Nov 2010 10:33:50 +0100 Subject: [PATCH 0150/1463] tests: add a test for pixbufs implementing the GIcon interface https://bugzilla.gnome.org/show_bug.cgi?id=634060 --- tests/Makefile.am | 6 ++++ tests/testgiconpixbuf.c | 74 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 tests/testgiconpixbuf.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 9daf69a968..83b70a527e 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -48,6 +48,7 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testfilechooserbutton \ testframe \ testgeometry \ + testgiconpixbuf \ testgrid \ testgtk \ testheightforwidth \ @@ -139,6 +140,7 @@ testfilechooser_DEPENDENCIES = $(TEST_DEPS) testfilechooserbutton_DEPENDENCIES = $(TEST_DEPS) testframe_DEPENDENCIES = $(TEST_DEPS) testgeometry_DEPENDENCIES = $(TEST_DEPS) +testgiconpixbuf = $(TEST_DEPS) testgrid_DEPENDENCIES = $(TEST_DEPS) testgtk_DEPENDENCIES = $(TEST_DEPS) testinput_DEPENDENCIES = $(TEST_DEPS) @@ -206,6 +208,7 @@ testfilechooser_LDADD = $(LDADDS) testfilechooserbutton_LDADD = $(LDADDS) testframe_LDADD = $(LDADDS) testgeometry_LDADD = $(LDADDS) +testgiconpixbuf_LDADD = $(LDADDS) testgrid_LDADD = $(LDADDS) testgtk_LDADD = $(LDADDS) testheightforwidth_LDADD = $(LDADDS) @@ -335,6 +338,9 @@ testframe_SOURCES = \ testgeometry_SOURCES = \ testgeometry.c +testgiconpixbuf_SOURCES = \ + testgiconpixbuf.c + testiconview_SOURCES = \ testiconview.c \ prop-editor.c diff --git a/tests/testgiconpixbuf.c b/tests/testgiconpixbuf.c new file mode 100644 index 0000000000..2972b26d09 --- /dev/null +++ b/tests/testgiconpixbuf.c @@ -0,0 +1,74 @@ +/* testgiconpixbuf.c + * Copyright (C) 2010 Red Hat, Inc. + * Authors: Cosimo Cecchi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include + +int +main (int argc, + char **argv) +{ + GdkPixbuf *pixbuf, *otherpix; + GtkWidget *image, *image2, *hbox, *vbox, *label, *toplevel; + GIcon *emblemed; + GEmblem *emblem; + gchar *str; + + gtk_init (&argc, &argv); + + pixbuf = gdk_pixbuf_new_from_file ("apple-red.png", NULL); + toplevel = gtk_window_new (GTK_WINDOW_TOPLEVEL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12, FALSE); + gtk_container_add (GTK_CONTAINER (toplevel), hbox); + + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12, FALSE); + gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + + image = gtk_image_new_from_gicon (G_ICON (pixbuf), GTK_ICON_SIZE_DIALOG); + gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0); + + label = gtk_label_new (NULL); + str = g_strdup_printf ("Normal icon, hash %u", g_icon_hash (G_ICON (pixbuf))); + gtk_label_set_label (GTK_LABEL (label), str); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + otherpix = gdk_pixbuf_new_from_file ("gnome-textfile.png", NULL); + emblem = g_emblem_new (G_ICON (otherpix)); + emblemed = g_emblemed_icon_new (G_ICON (pixbuf), emblem); + + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12, FALSE); + gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + + image2 = gtk_image_new_from_gicon (emblemed, GTK_ICON_SIZE_DIALOG); + gtk_box_pack_start (GTK_BOX (vbox), image2, FALSE, FALSE, 0); + + label = gtk_label_new (NULL); + str = g_strdup_printf ("Emblemed icon, hash %u", g_icon_hash (emblemed)); + gtk_label_set_label (GTK_LABEL (label), str); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + gtk_widget_show_all (toplevel); + + g_signal_connect (toplevel, "delete-event", + G_CALLBACK (gtk_main_quit), NULL); + + gtk_main (); + + return 0; +} From 1433ea24b573a713466a2ae3bdaa6655e549f5e5 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 5 Nov 2010 10:34:15 +0100 Subject: [PATCH 0151/1463] icon-theme: always force icon sizes for emblems https://bugzilla.gnome.org/show_bug.cgi?id=634060 --- gtk/gtkicontheme.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 199f8468ba..cd55c3f140 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3722,7 +3722,8 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme *icon_theme, for (l = list; l; l = l->next) { emblem = g_emblem_get_icon (G_EMBLEM (l->data)); - emblem_info = gtk_icon_theme_lookup_by_gicon (icon_theme, emblem, size / 2, flags); + /* always force size for emblems */ + emblem_info = gtk_icon_theme_lookup_by_gicon (icon_theme, emblem, size / 2, flags | GTK_ICON_LOOKUP_FORCE_SIZE); if (emblem_info) info->emblem_infos = g_slist_prepend (info->emblem_infos, emblem_info); } From 99144330a0e1ba5219837a49f2057cfa73e06f62 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 5 Nov 2010 17:01:34 +0100 Subject: [PATCH 0152/1463] tests: fix the build gtk_box_new() changed API recently. --- tests/testgiconpixbuf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/testgiconpixbuf.c b/tests/testgiconpixbuf.c index 2972b26d09..3acf306b06 100644 --- a/tests/testgiconpixbuf.c +++ b/tests/testgiconpixbuf.c @@ -34,10 +34,10 @@ main (int argc, pixbuf = gdk_pixbuf_new_from_file ("apple-red.png", NULL); toplevel = gtk_window_new (GTK_WINDOW_TOPLEVEL); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); gtk_container_add (GTK_CONTAINER (toplevel), hbox); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); image = gtk_image_new_from_gicon (G_ICON (pixbuf), GTK_ICON_SIZE_DIALOG); @@ -52,7 +52,7 @@ main (int argc, emblem = g_emblem_new (G_ICON (otherpix)); emblemed = g_emblemed_icon_new (G_ICON (pixbuf), emblem); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); image2 = gtk_image_new_from_gicon (emblemed, GTK_ICON_SIZE_DIALOG); From dfeff671c443e77490d833efc09f990ca144a496 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 5 Nov 2010 17:27:51 +0100 Subject: [PATCH 0153/1463] docs: Fix generation of GtkGrid documentation --- docs/reference/gtk/gtk3-sections.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index ddda75340d..faf87cd8d4 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -6384,7 +6384,6 @@ gtk_grid_set_column_spacing gtk_grid_get_column_spacing -GtkGrid GtkGridClass GTK_TYPE_GRID GTK_GRID From a62b185e296cbfdeabe1585d9e625ff579a475c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 5 Nov 2010 20:49:20 +0100 Subject: [PATCH 0154/1463] docs: move documentation to inline comments: GtkEntry --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkentry.sgml | 1004 ------------------------- gtk/gtkentry.c | 45 ++ gtk/gtkentry.h | 9 + 4 files changed, 55 insertions(+), 1004 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkentry.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 6e3e3a0331..59036d9fa2 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -12,6 +12,7 @@ gtkcombobox.sgml gtkcomboboxentry.sgml gtkcontainer.sgml gtkeditable.sgml +gtkentry.sgml gtkentrybuffer.sgml gtkhbox.sgml gtkiconview.sgml diff --git a/docs/reference/gtk/tmpl/gtkentry.sgml b/docs/reference/gtk/tmpl/gtkentry.sgml deleted file mode 100644 index 63e774e922..0000000000 --- a/docs/reference/gtk/tmpl/gtkentry.sgml +++ /dev/null @@ -1,1004 +0,0 @@ - -GtkEntry - - -A single line text entry field - - - -The #GtkEntry widget is a single line text entry -widget. A fairly large set of key bindings are supported -by default. If the entered text is longer than the allocation -of the widget, the widget will scroll so that the cursor -position is visible. - - -When using an entry for passwords and other sensitive information, -it can be put into "password mode" using gtk_entry_set_visibility(). -In this mode, entered text is displayed using a 'invisible' character. -By default, GTK+ picks the best invisible character that is available -in the current font, but it can be changed with -gtk_entry_set_invisible_char(). Since 2.16, GTK+ displays a warning -when Caps Lock or input methods might interfere with entering text in -a password entry. The warning can be turned off with the -#GtkEntry::caps-lock-warning property. - - -Since 2.16, GtkEntry has the ability to display progress or activity -information behind the text. To make an entry display such information, -use gtk_entry_set_progress_fraction() or gtk_entry_set_progress_pulse_step(). - - -Additionally, GtkEntry can show icons at either side of the entry. These -icons can be activatable by clicking, can be set up as drag source and -can have tooltips. To add an icon, use gtk_entry_set_icon_from_gicon() or -one of the various other functions that set an icon from a stock id, an -icon name or a pixbuf. To trigger an action when the user clicks an icon, -connect to the #GtkEntry::icon-press signal. To allow DND operations -from an icon, use gtk_entry_set_icon_drag_source(). To set a tooltip on -an icon, use gtk_entry_set_icon_tooltip_text() or the corresponding function -for markup. - - -Note that functionality or information that is only available by clicking -on an icon in an entry may not be accessible at all to users which are not -able to use a mouse or other pointing device. It is therefore recommended -that any such functionality should also be available by other means, e.g. -via the context menu of the entry. - - - - - - - -#GtkTextView -a widget for handling multi-line text entry. - - - -#GtkEntryCompletion -adds completion functionality to GtkEntry. - - - - - - - - - - - - - -The #GtkEntry-struct struct contains only private data. - - - - - - - - -@entry: the object which received the signal. - - - - - - -@entry: the object which received the signal. - - - - - - -@entry: the object which received the signal. - - - - - - -@entry: the object which received the signal. - - - - - - -@entry: the object which received the signal. -@arg1: -@arg2: - - - - - - -@entry: the object which received the signal. -@arg1: -@event: - - - - - - -@entry: the object which received the signal. -@arg1: -@event: - - - - - - -@entry: the object which received the signal. -@arg1: - - - - - - -@entry: the object which received the signal. -@arg1: -@arg2: -@arg3: - - - - - - -@entry: the object which received the signal. - - - - - - -@entry: the object which received the signal. -@arg1: - - - - - - -@entry: the object which received the signal. -@arg1: - - - - - - -@entry: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@buffer: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@buffer: - - - - - - - -@entry: -@text: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@visible: - - - - - - - -@entry: -@ch: - - - - - - - -@entry: - - - - - - -@entry: -@max: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@setting: - - - - - - - -@entry: -@setting: - - - - - - - -@entry: -@border: - - - - - - - -@entry: -@n_chars: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@xalign: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@overwrite: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@x: -@y: - - - - - - - -@entry: -@layout_index: -@Returns: - - - - - - - -@entry: -@text_index: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@completion: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@adjustment: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@fraction: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@fraction: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: - - - - - - - -@entry: -@event: -@Returns: - - - - - - - -@entry: - - - - -Specifies the side of the entry at which an icon is placed. - - -@GTK_ENTRY_ICON_PRIMARY: At the beginning of the entry (depending on the text direction). -@GTK_ENTRY_ICON_SECONDARY: At the end of the entry (depending on the text direction). -@Since: 2.16 - - - - - - -@entry: -@icon_pos: -@pixbuf: - - - - - - - -@entry: -@icon_pos: -@stock_id: - - - - - - - -@entry: -@icon_pos: -@icon_name: - - - - - - - -@entry: -@icon_pos: -@icon: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@activatable: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@sensitive: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@x: -@y: -@Returns: - - - - - - - -@entry: -@icon_pos: -@tooltip: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@tooltip: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@icon_pos: -@target_list: -@actions: - - - - - - - -@entry: -@Returns: - - - - - - - -@entry: -@icon_pos: -@Returns: - - - - - - - -@entry: -@Returns: - - diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index aba634aecc..8c39e113fd 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -66,6 +66,51 @@ #include "gtkiconfactory.h" #include "gtkicontheme.h" + +/** + * SECTION:gtkentry + * @Short_description: A single line text entry field + * @Title: GtkEntry + * @See_also: #GtkTextView, #GtkEntryCompletion + * + * The #GtkEntry widget is a single line text entry + * widget. A fairly large set of key bindings are supported + * by default. If the entered text is longer than the allocation + * of the widget, the widget will scroll so that the cursor + * position is visible. + * + * When using an entry for passwords and other sensitive information, + * it can be put into "password mode" using gtk_entry_set_visibility(). + * In this mode, entered text is displayed using a 'invisible' character. + * By default, GTK+ picks the best invisible character that is available + * in the current font, but it can be changed with + * gtk_entry_set_invisible_char(). Since 2.16, GTK+ displays a warning + * when Caps Lock or input methods might interfere with entering text in + * a password entry. The warning can be turned off with the + * #GtkEntry:caps-lock-warning property. + * + * Since 2.16, GtkEntry has the ability to display progress or activity + * information behind the text. To make an entry display such information, + * use gtk_entry_set_progress_fraction() or gtk_entry_set_progress_pulse_step(). + * + * Additionally, GtkEntry can show icons at either side of the entry. These + * icons can be activatable by clicking, can be set up as drag source and + * can have tooltips. To add an icon, use gtk_entry_set_icon_from_gicon() or + * one of the various other functions that set an icon from a stock id, an + * icon name or a pixbuf. To trigger an action when the user clicks an icon, + * connect to the #GtkEntry::icon-press signal. To allow DND operations + * from an icon, use gtk_entry_set_icon_drag_source(). To set a tooltip on + * an icon, use gtk_entry_set_icon_tooltip_text() or the corresponding function + * for markup. + * + * Note that functionality or information that is only available by clicking + * on an icon in an entry may not be accessible at all to users which are not + * able to use a mouse or other pointing device. It is therefore recommended + * that any such functionality should also be available by other means, e.g. + * via the context menu of the entry. + */ + + #define GTK_ENTRY_COMPLETION_KEY "gtk-entry-completion-key" #define MIN_ENTRY_WIDTH 150 diff --git a/gtk/gtkentry.h b/gtk/gtkentry.h index 2810bbf538..b540aed3d2 100644 --- a/gtk/gtkentry.h +++ b/gtk/gtkentry.h @@ -54,6 +54,15 @@ G_BEGIN_DECLS #define GTK_IS_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_ENTRY)) #define GTK_ENTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ENTRY, GtkEntryClass)) +/** + * GtkEntryIconPosition: + * @GTK_ENTRY_ICON_PRIMARY: At the beginning of the entry (depending on the text direction). + * @GTK_ENTRY_ICON_SECONDARY: At the end of the entry (depending on the text direction). + * + * Specifies the side of the entry at which an icon is placed. + * + * Since: 2.16 + */ typedef enum { GTK_ENTRY_ICON_PRIMARY, From 9157e15653be20e2860e4eacb9f092fb382e7b91 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 5 Nov 2010 16:24:55 -0400 Subject: [PATCH 0155/1463] GtkApplication: drop Quit from the docs GtkApplication does not currently implement any default actions. --- gtk/gtkapplication.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index a4fe5f4fef..59c081bea1 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -46,9 +46,8 @@ * * Currently, GtkApplication handles GTK+ initialization, application * uniqueness, provides some basic scriptability by exporting 'actions', - * implements some standard actions itself (such as 'Quit') and manages - * a list of toplevel windows whose life-cycle is automatically tied to - * the life-cycle of your application. + * and manages a list of toplevel windows whose life-cycle is automatically + * tied to the life-cycle of your application. * * A simple application * From 3b541bcfd4ab43c66849e80bac2fb2953ae150b9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 5 Nov 2010 16:25:29 -0400 Subject: [PATCH 0156/1463] GtkApplication: rewrite example application The intended way of using GtkApplication is mainly by subclassing, so make the example do that. --- gtk/tests/gtk-example-application.c | 64 +++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 16 deletions(-) diff --git a/gtk/tests/gtk-example-application.c b/gtk/tests/gtk-example-application.c index 8e02804106..b2cff86a6a 100644 --- a/gtk/tests/gtk-example-application.c +++ b/gtk/tests/gtk-example-application.c @@ -1,13 +1,13 @@ #include static void -new_window (GtkApplication *app, - GFile *file) +new_window (GApplication *app, + GFile *file) { GtkWidget *window, *scrolled, *view; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_application (GTK_WINDOW (window), app); + gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (app)); gtk_window_set_title (GTK_WINDOW (window), "Bloatpad"); scrolled = gtk_scrolled_window_new (NULL, NULL); view = gtk_text_view_new (); @@ -33,17 +33,16 @@ new_window (GtkApplication *app, } static void -activate (GtkApplication *application) +bloat_pad_activate (GApplication *application) { new_window (application, NULL); } static void -open (GtkApplication *application, - GFile **files, - gint n_files, - const gchar *hint, - gpointer user_data) +bloat_pad_open (GApplication *application, + GFile **files, + gint n_files, + const gchar *hint) { gint i; @@ -51,18 +50,51 @@ open (GtkApplication *application, new_window (application, files[i]); } +typedef GtkApplication BloatPad; +typedef GtkApplicationClass BloatPadClass; + +G_DEFINE_TYPE (BloatPad, bloat_pad, GTK_TYPE_APPLICATION) + +static void +bloat_pad_finalize (GObject *object) +{ + G_OBJECT_CLASS (bloat_pad_parent_class)->finalize (object); +} + +static void +bloat_pad_init (BloatPad *app) +{ +} + +static void +bloat_pad_class_init (BloatPadClass *class) +{ + G_OBJECT_CLASS (class)->finalize= bloat_pad_finalize; + + G_APPLICATION_CLASS (class)->activate = bloat_pad_activate; + G_APPLICATION_CLASS (class)->open = bloat_pad_open; +} + +BloatPad * +bloat_pad_new (void) +{ + g_type_init (); + + return g_object_new (bloat_pad_get_type (), + "application-id", "org.gtk.Test.bloatpad", + "flags", G_APPLICATION_HANDLES_OPEN, + NULL); +} + int main (int argc, char **argv) { - GtkApplication *app; + BloatPad *bloat_pad; int status; - app = gtk_application_new ("org.gtk.Test.bloatpad", - G_APPLICATION_HANDLES_OPEN); - g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); - g_signal_connect (app, "open", G_CALLBACK (open), NULL); - status = g_application_run (G_APPLICATION (app), argc, argv); - g_object_unref (app); + bloat_pad = bloat_pad_new (); + status = g_application_run (G_APPLICATION (bloat_pad), argc, argv); + g_object_unref (bloat_pad); return status; } From 0331e1fab7f7c1d25662fc1b8156e78b1ed89954 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 6 Nov 2010 02:41:09 +0100 Subject: [PATCH 0157/1463] docs: Move documentation to inline comments: GtkTextView --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtktextview.sgml | 883 ----------------------- gtk/gtktextchild.h | 12 +- gtk/gtktextview.c | 12 + gtk/gtktextview.h | 6 + 5 files changed, 26 insertions(+), 888 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtktextview.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 59036d9fa2..4c4c615f90 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -48,6 +48,7 @@ gtkstyle.sgml gtktesting.sgml gtktextiter.sgml gtktexttagtable.sgml +gtktextview.sgml gtktoggleaction.sgml gtktoolbar.sgml gtktoolitem.sgml diff --git a/docs/reference/gtk/tmpl/gtktextview.sgml b/docs/reference/gtk/tmpl/gtktextview.sgml deleted file mode 100644 index 68a3c312a7..0000000000 --- a/docs/reference/gtk/tmpl/gtktextview.sgml +++ /dev/null @@ -1,883 +0,0 @@ - -GtkTextView - - -Widget that displays a GtkTextBuffer - - - -You may wish to begin by reading the text widget -conceptual overview which gives an overview of all the objects and data -types related to the text widget and how they work together. - - - - - - - - -#GtkTextBuffer, #GtkTextIter - - - - - - - - - - - - - - - - - - - -@textview: the object which received the signal. - - - - - - -@textview: the object which received the signal. - - - - - - -@textview: the object which received the signal. - - - - - - -@textview: the object which received the signal. -@arg1: -@arg2: - - - - - - -@textview: the object which received the signal. -@arg1: - - - - - - -@textview: the object which received the signal. -@arg1: -@arg2: -@arg3: - - - - - - -@textview: the object which received the signal. -@arg1: -@arg2: - - - - - - -@textview: the object which received the signal. - - - - - - -@textview: the object which received the signal. -@arg1: - - - - - - -@textview: the object which received the signal. -@arg1: - - - - - - -@textview: the object which received the signal. -@arg1: - - - - - - -@textview: the object which received the signal. - - - - - - -@textview: the object which received the signal. -@arg1: -@arg2: - - - - - - -@textview: the object which received the signal. - - - - - - -@textview: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@GTK_TEXT_WINDOW_PRIVATE: -@GTK_TEXT_WINDOW_WIDGET: -@GTK_TEXT_WINDOW_TEXT: -@GTK_TEXT_WINDOW_LEFT: -@GTK_TEXT_WINDOW_RIGHT: -@GTK_TEXT_WINDOW_TOP: -@GTK_TEXT_WINDOW_BOTTOM: - - - - - - -@void: -@Returns: - - - - - - - -@buffer: -@Returns: - - - - - - - -@text_view: -@buffer: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@mark: -@within_margin: -@use_align: -@xalign: -@yalign: - - - - - - - -@text_view: -@iter: -@within_margin: -@use_align: -@xalign: -@yalign: -@Returns: - - - - - - - -@text_view: -@mark: - - - - - - - -@text_view: -@mark: -@Returns: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@visible_rect: - - - - - - - -@text_view: -@iter: -@location: - - - - - - - -@text_view: -@target_iter: -@y: -@line_top: - - - - - - - -@text_view: -@iter: -@y: -@height: - - - - - - - -@text_view: -@iter: -@x: -@y: - - - - - - - -@text_view: -@iter: -@trailing: -@x: -@y: - - - - - - - -@text_view: -@win: -@buffer_x: -@buffer_y: -@window_x: -@window_y: - - - - - - - -@text_view: -@win: -@window_x: -@window_y: -@buffer_x: -@buffer_y: - - - - - - - -@text_view: -@win: -@Returns: - - - - - - - -@text_view: -@window: -@Returns: - - - - - - - -@text_view: -@type: -@size: - - - - - - - -@text_view: -@type: -@Returns: - - - - - - - -@text_view: -@iter: -@Returns: - - - - - - - -@text_view: -@iter: -@Returns: - - - - - - - -@text_view: -@iter: -@Returns: - - - - - - - -@text_view: -@iter: -@Returns: - - - - - - - -@text_view: -@iter: -@Returns: - - - - - - - -@text_view: -@iter: -@count: -@Returns: - - - - - - - -@text_view: -@child: -@anchor: - - - - -A GtkTextChildAnchor is a spot in the buffer -where child widgets can be "anchored" (inserted inline, as if they were -characters). The anchor can have multiple widgets anchored, to allow for -multiple views. - - - - - - - - -@void: -@Returns: - - - - - - - -@anchor: -@Returns: - - - - - - - -@anchor: -@Returns: - - - - - - - -@text_view: -@child: -@which_window: -@xpos: -@ypos: - - - - - - - -@text_view: -@child: -@xpos: -@ypos: - - - - - - - -@text_view: -@wrap_mode: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@setting: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@setting: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@overwrite: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@pixels_above_lines: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@pixels_below_lines: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@pixels_inside_wrap: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@justification: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@left_margin: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@right_margin: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@indent: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@tabs: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@accepts_tab: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@Returns: - - - - - - - -@text_view: -@event: -@Returns: - - - - - - - -@text_view: - - - - -The priority at which the text view validates onscreen lines -in an idle job in the background. - - - - diff --git a/gtk/gtktextchild.h b/gtk/gtktextchild.h index 7835e68f91..dd132f4278 100644 --- a/gtk/gtktextchild.h +++ b/gtk/gtktextchild.h @@ -36,12 +36,14 @@ G_BEGIN_DECLS -/* A GtkTextChildAnchor is a spot in the buffer where child widgets - * can be "anchored" (inserted inline, as if they were characters). - * The anchor can have multiple widgets anchored, to allow for multiple - * views. - */ +/** + * GtkTextChildAnchor: + * + * A #GtkTextChildAnchor is a spot in the buffer where child widgets can + * be "anchored" (inserted inline, as if they were characters). The anchor + * can have multiple widgets anchored, to allow for multiple views. + */ typedef struct _GtkTextChildAnchor GtkTextChildAnchor; typedef struct _GtkTextChildAnchorClass GtkTextChildAnchorClass; diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 27c21d0edd..78d380f98a 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -52,6 +52,18 @@ #include "gtkscrollable.h" +/** + * SECTION:gtktextview + * @Short_description: Widget that displays a GtkTextBuffer + * @Title: GtkTextView + * @See_also: #GtkTextBuffer, #GtkTextIter + * + * You may wish to begin by reading the text widget + * conceptual overview which gives an overview of all the objects and data + * types related to the text widget and how they work together. + */ + + /* How scrolling, validation, exposes, etc. work. * * The expose_event handler has the invariant that the onscreen lines diff --git a/gtk/gtktextview.h b/gtk/gtktextview.h index 4e64b33e15..2853c63962 100644 --- a/gtk/gtktextview.h +++ b/gtk/gtktextview.h @@ -56,6 +56,12 @@ typedef enum GTK_TEXT_WINDOW_BOTTOM } GtkTextWindowType; +/** + * GTK_TEXT_VIEW_PRIORITY_VALIDATE: + * + * The priority at which the text view validates onscreen lines + * in an idle job in the background. + */ #define GTK_TEXT_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5) typedef struct _GtkTextView GtkTextView; From 65834294a5741344b0614519a7308a874bb5cb3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 6 Nov 2010 03:04:27 +0100 Subject: [PATCH 0158/1463] docs: move documentation to inline comments: GtkTreeView --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtktreeview.sgml | 1456 ---------------------- gtk/gtkenums.h | 9 + gtk/gtktreeview.c | 84 ++ gtk/gtktreeview.h | 70 +- 5 files changed, 162 insertions(+), 1458 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtktreeview.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 4c4c615f90..83501438ff 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -58,6 +58,7 @@ gtktreemodelfilter.sgml gtktreeselection.sgml gtktreesortable.sgml gtktreestore.sgml +gtktreeview.sgml gtktreeviewcolumn.sgml gtktypeutils.sgml gtkwindow.sgml diff --git a/docs/reference/gtk/tmpl/gtktreeview.sgml b/docs/reference/gtk/tmpl/gtktreeview.sgml deleted file mode 100644 index dcd40dbd20..0000000000 --- a/docs/reference/gtk/tmpl/gtktreeview.sgml +++ /dev/null @@ -1,1456 +0,0 @@ - -GtkTreeView - - -A widget for displaying both trees and lists - - - -Widget that displays any object that implements the GtkTreeModel interface. - - - -Please refer to the tree widget conceptual -overview for an overview of all the objects and data types related -to the tree widget and how they work together. - - - -Several different coordinate systems are exposed in the GtkTreeView API. -These are: - - - - - Widget coordinates -- coordinates relative to the widget - (usually widget->window. - Bin window coordinates -- coordinates relative to the window - that GtkTreeView renders to. - Tree coordinates -- coordinates relative to the entire scrollable - area of GtkTreeView. These coordinates start at (0, 0) for row 0 of the - tree. - - - - -Several functions are available for converting between the different -coordinate systems. The most common translations are between widget and bin -window coordinates and between bin window and tree coordinates. For the -former you can use gtk_tree_view_convert_widget_to_bin_window_coords() -(and vice versa), for the latter gtk_tree_view_convert_bin_window_to_tree_coords() -(and vice versa). - - - -GtkTreeView as GtkBuildable - -The GtkTreeView implementation of the GtkBuildable interface accepts -GtkTreeViewColumn objects as <child> elements and exposes the -internal GtkTreeSelection in UI definitions. - - -A UI definition fragment with GtkTreeView - - liststore1 - - - Test - - - - 1 - - - - - - - - - - -]]> - - - - - -#GtkTreeViewColumn, #GtkTreeSelection, #GtkTreeDnd, #GtkTreeMode, #GtkTreeSortable, #GtkTreeModelSort, #GtkListStore, #GtkTreeStore, #GtkCellRenderer, #GtkCellEditable, #GtkCellRendererPixbuf, #GtkCellRendererText, #GtkCellRendererToggle - - - - - - - - - - - - - - - - - - - -@tree_view: the object which received the signal. - - - - - - -@tree_view: the object which received the signal. - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: -@arg3: -@Returns: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: -@Returns: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: - - - - - - -@tree_view: the object which received the signal. -@Returns: - - - - - - -@tree_view: the object which received the signal. -@Returns: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@Returns: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: - - - - - - -@tree_view: the object which received the signal. -@Returns: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: -@Returns: - - - - - - -@tree_view: the object which received the signal. -@arg1: -@arg2: -@Returns: - - - - - - -@tree_view: the object which received the signal. -@Returns: - - - - - - -@tree_view: the object which received the signal. -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -An enum for determining where a dropped row goes. - - -@GTK_TREE_VIEW_DROP_BEFORE: dropped row is inserted before -@GTK_TREE_VIEW_DROP_AFTER: dropped row is inserted after -@GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: dropped row becomes a child or is inserted before -@GTK_TREE_VIEW_DROP_INTO_OR_AFTER: dropped row becomes a child or is inserted after - - - -A private struct for internal use only. The definition of this -structure is not publically available. - - - - - -Function type for determining whether @column can be dropped in a -particular spot (as determined by @prev_column and @next_column). In -left to right locales, @prev_column is on the left of the potential drop -spot, and @next_column is on the right. In right to left mode, this is -reversed. This function should return %TRUE if the spot is a valid drop -spot. Please note that returning %TRUE does not actually indicate that -the column drop was made, but is meant only to indicate a possible drop -spot to the user. - - -@tree_view: A #GtkTreeView -@column: The #GtkTreeViewColumn being dragged -@prev_column: A #GtkTreeViewColumn on one side of @column -@next_column: A #GtkTreeViewColumn on the other side of @column -@data: user data -@Returns: %TRUE, if #column can be dropped in this spot - - - - -Function used for #gtk_tree_view_map_expanded_rows. - - -@tree_view: A #GtkTreeView -@path: The path that's expanded -@user_data: user data - - - - -A function used for checking whether a row in @model matches -a search key string entered by the user. Note the return value -is reversed from what you would normally expect, though it -has some similarity to strcmp() returning 0 for equal strings. - - -@model: the #GtkTreeModel being searched -@column: the search column set by gtk_tree_view_set_search_column() -@key: the key string to compare with -@iter: a #GtkTreeIter pointing the row of @model that should be compared - with @key. -@search_data: user data from gtk_tree_view_set_search_equal_func() -@Returns: %FALSE if the row matches, %TRUE otherwise. - - - - - - - -@void: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@indentation: - - - - - - - -@tree_view: -@enabled: - - - - - - - -@model: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@model: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@adjustment: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@adjustment: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@headers_visible: - - - - - - - -@tree_view: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@setting: - - - - - - - -@tree_view: -@setting: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@column: -@Returns: - - - - - - - -@tree_view: -@column: -@Returns: - - - - - - - -@tree_view: -@column: -@position: -@Returns: - - - - - - - -@tree_view: -@position: -@title: -@cell: -@Varargs: -@Returns: - - - - - - - -@tree_view: -@position: -@title: -@cell: -@func: -@data: -@dnotify: -@Returns: - - - - - - - -@tree_view: -@n: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@column: -@base_column: - - - - - - - -@tree_view: -@column: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@func: -@user_data: -@destroy: - - - - - - - -@tree_view: -@tree_x: -@tree_y: - - - - - - - -@tree_view: -@path: -@column: -@use_align: -@row_align: -@col_align: - - - - - - - -@tree_view: -@path: -@focus_column: -@start_editing: - - - - - - - -@tree_view: -@path: -@focus_column: -@focus_cell: -@start_editing: - - - - - - - -@tree_view: -@path: -@focus_column: - - - - - - - -@tree_view: -@path: -@column: - - - - - - - -@tree_view: - - - - - - - -@tree_view: - - - - - - - -@tree_view: -@path: - - - - - - - -@tree_view: -@path: -@open_all: -@Returns: - - - - - - - -@tree_view: -@path: -@Returns: - - - - - - - -@tree_view: -@func: -@data: - - - - - - - -@tree_view: -@path: -@Returns: - - - - - - - -@tree_view: -@reorderable: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@x: -@y: -@path: -@column: -@cell_x: -@cell_y: -@Returns: - - - - - - - -@tree_view: -@path: -@column: -@rect: - - - - - - - -@tree_view: -@path: -@column: -@rect: - - - - - - - -@tree_view: -@visible_rect: - - - - - - - -@tree_view: -@start_path: -@end_path: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@bx: -@by: -@tx: -@ty: - - - - - - - -@tree_view: -@bx: -@by: -@wx: -@wy: - - - - - - - -@tree_view: -@tx: -@ty: -@bx: -@by: - - - - - - - -@tree_view: -@tx: -@ty: -@wx: -@wy: - - - - - - - -@tree_view: -@wx: -@wy: -@bx: -@by: - - - - - - - -@tree_view: -@wx: -@wy: -@tx: -@ty: - - - - - - - -@tree_view: -@targets: -@n_targets: -@actions: - - - - - - - -@tree_view: -@start_button_mask: -@targets: -@n_targets: -@actions: - - - - - - - -@tree_view: - - - - - - - -@tree_view: - - - - - - - -@tree_view: -@path: -@pos: - - - - - - - -@tree_view: -@path: -@pos: - - - - - - - -@tree_view: -@drag_x: -@drag_y: -@path: -@pos: -@Returns: - - - - - - - -@tree_view: -@path: -@Returns: - - - - - - - -@tree_view: -@enable_search: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@column: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@search_equal_func: -@search_user_data: -@search_destroy: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@entry: - - - - - - - -@tree_view: -@search_dialog: -@user_data: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@func: -@data: -@destroy: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@enable: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@hover: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@expand: - - - - - - - -@tree_view: -@path: -@children: -@user_data: - - - - - - - -@tree_view: -@func: -@data: -@destroy: - - - - -Function type for determining whether the row pointed to by @iter should -be rendered as a separator. A common way to implement this is to have a -boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc -returns. - - -@model: the #GtkTreeModel -@iter: a #GtkTreeIter pointing at a row in @model -@data: user data -@Returns: %TRUE if the row is a separator - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@func: -@data: -@destroy: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@enable: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@enabled: - - - - -Used to indicate which grid lines to draw in a tree view. - - -@GTK_TREE_VIEW_GRID_LINES_NONE: No grid lines. -@GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: Horizontal grid lines. -@GTK_TREE_VIEW_GRID_LINES_VERTICAL: Vertical grid lines. -@GTK_TREE_VIEW_GRID_LINES_BOTH: Horizontal and vertical grid lines. - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@grid_lines: - - - - - - - -@tree_view: -@tooltip: -@path: - - - - - - - -@tree_view: -@tooltip: -@path: -@column: -@cell: - - - - - - - -@tree_view: -@x: -@y: -@keyboard_tip: -@model: -@path: -@iter: -@Returns: - - - - - - - -@tree_view: -@Returns: - - - - - - - -@tree_view: -@column: - - diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 6075c266f0..73e1dce721 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -509,6 +509,15 @@ typedef enum GTK_UNIT_MM } GtkUnit; +/** + * GtkTreeViewGridLines: + * @GTK_TREE_VIEW_GRID_LINES_NONE: No grid lines. + * @GTK_TREE_VIEW_GRID_LINES_HORIZONTAL: Horizontal grid lines. + * @GTK_TREE_VIEW_GRID_LINES_VERTICAL: Vertical grid lines. + * @GTK_TREE_VIEW_GRID_LINES_BOTH: Horizontal and vertical grid lines. + * + * Used to indicate which grid lines to draw in a tree view. + */ typedef enum { GTK_TREE_VIEW_GRID_LINES_NONE, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 7e50804e5c..efa9734cec 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -48,6 +48,90 @@ #include "gtkprivate.h" #include "gtkwidgetprivate.h" + +/** + * SECTION:gtktreeview + * @Short_description: A widget for displaying both trees and lists + * @Title: GtkTreeView + * @See_also: #GtkTreeViewColumn, #GtkTreeSelection, #GtkTreeDnd, #GtkTreeMode, + * #GtkTreeSortable, #GtkTreeModelSort, #GtkListStore, #GtkTreeStore, + * #GtkCellRenderer, #GtkCellEditable, #GtkCellRendererPixbuf, + * #GtkCellRendererText, #GtkCellRendererToggle + * + * Widget that displays any object that implements the #GtkTreeModel interface. + * + * Please refer to the tree widget conceptual + * overview for an overview of all the objects and data types related + * to the tree widget and how they work together. + * + * Several different coordinate systems are exposed in the GtkTreeView API. + * These are: + * + * + * Coordinate systems in GtkTreeView API + * Widget coordinates + * + * + * Coordinates relative to the widget (usually widget->window). + * + * + * + * Bin window coordinates + * + * + * Coordinates relative to the window that GtkTreeView renders to. + * + * + * + * Tree coordinates + * + * + * Coordinates relative to the entire scrollable area of GtkTreeView. These + * coordinates start at (0, 0) for row 0 of the tree. + * + * + * + * + * + * Several functions are available for converting between the different + * coordinate systems. The most common translations are between widget and bin + * window coordinates and between bin window and tree coordinates. For the + * former you can use gtk_tree_view_convert_widget_to_bin_window_coords() + * (and vice versa), for the latter gtk_tree_view_convert_bin_window_to_tree_coords() + * (and vice versa). + * + * GtkTreeView as GtkBuildable + * The GtkTreeView implementation of the GtkBuildable interface accepts + * #GtkTreeViewColumn objects as <child> elements and exposes the + * internal #GtkTreeSelection in UI definitions. + * + * A UI definition fragment with GtkTreeView + * + * liststore1 + * + * + * Test + * + * + * + * 1 + * + * + * + * + * + * + * + * + * + * + * ]]> + * + * + */ + + #define GTK_TREE_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5) #define GTK_TREE_VIEW_PRIORITY_SCROLL_SYNC (GTK_TREE_VIEW_PRIORITY_VALIDATE + 2) #define GTK_TREE_VIEW_TIME_MS_PER_IDLE 30 diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h index 4c609d9d42..a828a40c1c 100644 --- a/gtk/gtktreeview.h +++ b/gtk/gtktreeview.h @@ -32,7 +32,15 @@ G_BEGIN_DECLS - +/** + * GtkTreeViewDropPosition: + * @GTK_TREE_VIEW_DROP_BEFORE: dropped row is inserted before + * @GTK_TREE_VIEW_DROP_AFTER: dropped row is inserted after + * @GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: dropped row becomes a child or is inserted before + * @GTK_TREE_VIEW_DROP_INTO_OR_AFTER: dropped row becomes a child or is inserted after + * + * An enum for determining where a dropped row goes. + */ typedef enum { /* drop before/after this row */ @@ -115,20 +123,78 @@ struct _GtkTreeViewClass void (*_gtk_reserved8) (void); }; - +/** + * GtkTreeViewColumnDropFunc: + * @tree_view: A #GtkTreeView + * @column: The #GtkTreeViewColumn being dragged + * @prev_column: A #GtkTreeViewColumn on one side of @column + * @next_column: A #GtkTreeViewColumn on the other side of @column + * @data: user data + * + * Function type for determining whether @column can be dropped in a + * particular spot (as determined by @prev_column and @next_column). In + * left to right locales, @prev_column is on the left of the potential drop + * spot, and @next_column is on the right. In right to left mode, this is + * reversed. This function should return %TRUE if the spot is a valid drop + * spot. Please note that returning %TRUE does not actually indicate that + * the column drop was made, but is meant only to indicate a possible drop + * spot to the user. + * + * Returns: %TRUE, if @column can be dropped in this spot + */ typedef gboolean (* GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data); + +/** + * GtkTreeViewMappingFunc: + * @tree_view: A #GtkTreeView + * @path: The path that's expanded + * @user_data: user data + * + * Function used for gtk_tree_view_map_expanded_rows(). + */ typedef void (* GtkTreeViewMappingFunc) (GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data); + +/** + * GtkTreeViewSearchEqualFunc: + * @model: the #GtkTreeModel being searched + * @column: the search column set by gtk_tree_view_set_search_column() + * @key: the key string to compare with + * @iter: a #GtkTreeIter pointing the row of @model that should be compared + * with @key. + * @search_data: user data from gtk_tree_view_set_search_equal_func() + * + * A function used for checking whether a row in @model matches + * a search key string entered by the user. Note the return value + * is reversed from what you would normally expect, though it + * has some similarity to strcmp() returning 0 for equal strings. + * + * Returns: %FALSE if the row matches, %TRUE otherwise. + */ typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data); + +/** + * GtkTreeViewRowSeparatorFunc: + * @model: the #GtkTreeModel + * @iter: a #GtkTreeIter pointing at a row in @model + * @data: user data + * + * Function type for determining whether the row pointed to by @iter should + * be rendered as a separator. A common way to implement this is to have a + * boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc + * returns. + * + * Returns: %TRUE if the row is a separator + */ typedef gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); From a31142a8fae5a31cd03b2c78b7e280c15de8c190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 6 Nov 2010 03:19:32 +0100 Subject: [PATCH 0159/1463] docs: move documentation to inline comments: GtkColorButton --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkcolorbutton.sgml | 148 -------------------- gtk/gtkcolorbutton.c | 13 ++ 3 files changed, 14 insertions(+), 148 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcolorbutton.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 83501438ff..28b7b357be 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -8,6 +8,7 @@ gtkbuilder.sgml gtkbutton.sgml gtkcalendar.sgml gtkcelleditable.sgml +gtkcolorbutton.sgml gtkcombobox.sgml gtkcomboboxentry.sgml gtkcontainer.sgml diff --git a/docs/reference/gtk/tmpl/gtkcolorbutton.sgml b/docs/reference/gtk/tmpl/gtkcolorbutton.sgml deleted file mode 100644 index f51aeca4b1..0000000000 --- a/docs/reference/gtk/tmpl/gtkcolorbutton.sgml +++ /dev/null @@ -1,148 +0,0 @@ - -GtkColorButton - - -A button to launch a color selection dialog - - - -The #GtkColorButton is a button which displays the currently selected color -an allows to open a color selection dialog to change the color. It is suitable -widget for selecting a color in a preference dialog. - - - - -#GtkColorSelectionDialog, #GtkFontButton - - - - - - - - - - -The GtkColorButton struct has only private fields and -should not be used directly. - - - - - - - - -@colorbutton: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@color: -@Returns: - - - - - - - -@color_button: -@color: - - - - - - - -@color_button: -@color: - - - - - - - -@color_button: -@alpha: - - - - - - - -@color_button: -@Returns: - - - - - - - -@color_button: -@use_alpha: - - - - - - - -@color_button: -@Returns: - - - - - - - -@color_button: -@title: - - - - - - - -@color_button: -@Returns: - - diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index 2e2214f85b..c363f3aa26 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -45,6 +45,19 @@ #include "gtkprivate.h" #include "gtkintl.h" + +/** + * SECTION:gtkcolorbutton + * @Short_description: A button to launch a color selection dialog + * @Title: GtkColorButton + * @See_also: #GtkColorSelectionDialog, #GtkFontButton + * + * The #GtkColorButton is a button which displays the currently selected color + * an allows to open a color selection dialog to change the color. It is suitable + * widget for selecting a color in a preference dialog. + */ + + /* Size of checks and gray levels for alpha compositing checkerboard */ #define CHECK_SIZE 4 #define CHECK_DARK (1.0 / 3.0) From c418de16728e0aaf75f79fb6ea952b4c306960d4 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sat, 6 Nov 2010 13:13:10 +0200 Subject: [PATCH 0160/1463] Drop unused static function --- gdk/win32/gdkcursor-win32.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/gdk/win32/gdkcursor-win32.c b/gdk/win32/gdkcursor-win32.c index 6c10945f99..3053b917c0 100644 --- a/gdk/win32/gdkcursor-win32.c +++ b/gdk/win32/gdkcursor-win32.c @@ -170,14 +170,6 @@ gdk_cursor_new_for_display (GdkDisplay *display, return cursor_new_from_hcursor (hcursor, cursor_type); } -static gboolean -color_is_white (const GdkColor *color) -{ - return (color->red == 0xFFFF - && color->green == 0xFFFF - && color->blue == 0xFFFF); -} - /* FIXME: The named cursors below are presumably not really useful, as * the names are Win32-specific. No GTK+ application developed on Unix * (and most cross-platform GTK+ apps are developed on Unix) is going From 7754bf1a631c280512abe0add3d2d3cd6c7e2ff0 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sat, 6 Nov 2010 13:13:37 +0200 Subject: [PATCH 0161/1463] Avoid a compiler warning --- gdk/win32/gdkdevice-wintab.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/win32/gdkdevice-wintab.c b/gdk/win32/gdkdevice-wintab.c index c88bacb6da..9b3b15a4ab 100644 --- a/gdk/win32/gdkdevice-wintab.c +++ b/gdk/win32/gdkdevice-wintab.c @@ -145,7 +145,7 @@ gdk_device_wintab_get_state (GdkDevice *device, } if (device_wintab->last_axis_data) - _gdk_device_wintab_translate_axes (device, window, axes, NULL, NULL); + _gdk_device_wintab_translate_axes (device_wintab, window, axes, NULL, NULL); } static void From bd8464834ce5879433a8a999f9700dbf2b3a2ab2 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sat, 6 Nov 2010 13:13:59 +0200 Subject: [PATCH 0162/1463] Fix build breakage and avoid a warning --- modules/engines/ms-windows/msw_style.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index 9cc61f65a3..5df544715f 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -1739,7 +1739,7 @@ draw_box (GtkStyle *style, HDC dc; int cx; - border = (GTK_TOGGLE_BUTTON (widget)->active ? DFCS_PUSHED | DFCS_FLAT : 0); + border = (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)) ? DFCS_PUSHED | DFCS_FLAT : 0); dc = get_window_dc (style, cr, state_type, &dc_info, x, y, width, height, &rect); DrawFrameControl (dc, &rect, DFC_SCROLL, DFCS_SCROLLDOWN | border); @@ -2430,11 +2430,11 @@ draw_themed_tab_button (GtkStyle *style, } else { +/* FIXME: poop */ +#if 0 GdkPixbuf *pixbuf; GdkPixbuf *rotated; -/* FIXME: poop */ -#if 0 if (gap_side == GTK_POS_LEFT || gap_side == GTK_POS_RIGHT) { pixmap = gdk_pixmap_new (cr, draw_rect.height, draw_rect.width, -1); From a446664c25f8a836c4815e45cbb43686cfe9e967 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Sat, 6 Nov 2010 14:12:14 +0200 Subject: [PATCH 0163/1463] Add _gtk_cell_renderer_calc_offset --- gtk/gtk.symbols | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index cd88fdaf0b..2ef829fc7c 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -602,6 +602,7 @@ gtk_cell_renderer_set_sensitive gtk_cell_renderer_set_visible gtk_cell_renderer_start_editing gtk_cell_renderer_stop_editing +_gtk_cell_renderer_calc_offset #endif #endif From e1e90c6f9cf55141c225c5e53fc7189a620c813c Mon Sep 17 00:00:00 2001 From: Kizito Birabwa Date: Sat, 6 Nov 2010 16:40:35 +0100 Subject: [PATCH 0164/1463] Added Luganda translation --- po-properties/lg.po | 7183 +++++++++++++++++++++++++++++++++++++++++++ po/LINGUAS | 1 + po/lg.po | 4360 ++++++++++++++++++++++++++ 3 files changed, 11544 insertions(+) create mode 100644 po-properties/lg.po create mode 100644 po/lg.po diff --git a/po-properties/lg.po b/po-properties/lg.po new file mode 100644 index 0000000000..3fd994a21c --- /dev/null +++ b/po-properties/lg.po @@ -0,0 +1,7183 @@ +# Luganda translation for gtk+. +# Copyright (C) 2010 gtk+'s COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk+ package. +# kizito , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: gtk+ gtk-2-22\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" +"2b&component=general\n" +"POT-Creation-Date: 2010-11-03 00:05+0000\n" +"PO-Revision-Date: 2010-11-06 13:20+0000\n" +"Last-Translator: kizito \n" +"Language-Team: Luganda \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gdk/gdkdisplaymanager.c:103 +msgid "Default Display" +msgstr "" + +#: ../gdk/gdkdisplaymanager.c:104 +msgid "The default display for GDK" +msgstr "" + +#: ../gdk/gdkpango.c:538 ../gtk/gtkinvisible.c:86 +#: ../gtk/gtkmountoperation.c:176 ../gtk/gtkstatusicon.c:280 +#: ../gtk/gtkwindow.c:641 +msgid "Screen" +msgstr "" + +#: ../gdk/gdkpango.c:539 +msgid "the GdkScreen for the renderer" +msgstr "" + +#: ../gdk/gdkscreen.c:75 +msgid "Font options" +msgstr "" + +#: ../gdk/gdkscreen.c:76 +msgid "The default font options for the screen" +msgstr "" + +#: ../gdk/gdkscreen.c:83 +msgid "Font resolution" +msgstr "" + +#: ../gdk/gdkscreen.c:84 +msgid "The resolution for fonts on the screen" +msgstr "" + +#: ../gdk/gdkwindow.c:496 ../gdk/gdkwindow.c:497 +msgid "Cursor" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:298 +msgid "Program name" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:299 +msgid "" +"The name of the program. If this is not set, it defaults to " +"g_get_application_name()" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:313 +msgid "Program version" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:314 +msgid "The version of the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:328 +msgid "Copyright string" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:329 +msgid "Copyright information for the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:346 +msgid "Comments string" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:347 +msgid "Comments about the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:381 +msgid "Website URL" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:382 +msgid "The URL for the link to the website of the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:397 +msgid "Website label" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:398 +msgid "" +"The label for the link to the website of the program. If this is not set, it " +"defaults to the URL" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:414 +msgid "Authors" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:415 +msgid "List of authors of the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:431 +msgid "Documenters" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:432 +msgid "List of people documenting the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:448 +msgid "Artists" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:449 +msgid "List of people who have contributed artwork to the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:466 +msgid "Translator credits" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:467 +msgid "" +"Credits to the translators. This string should be marked as translatable" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:482 +msgid "Logo" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:483 +msgid "" +"A logo for the about box. If this is not set, it defaults to " +"gtk_window_get_default_icon_list()" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:498 +msgid "Logo Icon Name" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:499 +msgid "A named icon to use as the logo for the about box." +msgstr "" + +#: ../gtk/gtkaboutdialog.c:512 +msgid "Wrap license" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:513 +msgid "Whether to wrap the license text." +msgstr "" + +#: ../gtk/gtkaccellabel.c:178 +msgid "Accelerator Closure" +msgstr "" + +#: ../gtk/gtkaccellabel.c:179 +msgid "The closure to be monitored for accelerator changes" +msgstr "" + +#: ../gtk/gtkaccellabel.c:185 +msgid "Accelerator Widget" +msgstr "" + +#: ../gtk/gtkaccellabel.c:186 +msgid "The widget to be monitored for accelerator changes" +msgstr "" + +#: ../gtk/gtkaction.c:220 ../gtk/gtkactiongroup.c:170 ../gtk/gtkprinter.c:111 +#: ../gtk/gtktextmark.c:89 +msgid "Name" +msgstr "" + +#: ../gtk/gtkaction.c:221 +msgid "A unique name for the action." +msgstr "" + +#: ../gtk/gtkaction.c:239 ../gtk/gtkbutton.c:219 ../gtk/gtkexpander.c:197 +#: ../gtk/gtkframe.c:105 ../gtk/gtklabel.c:507 ../gtk/gtkmenuitem.c:305 +#: ../gtk/gtktoolbutton.c:204 ../gtk/gtktoolitemgroup.c:1543 +msgid "Label" +msgstr "" + +#: ../gtk/gtkaction.c:240 +msgid "The label used for menu items and buttons that activate this action." +msgstr "" + +#: ../gtk/gtkaction.c:256 +msgid "Short label" +msgstr "" + +#: ../gtk/gtkaction.c:257 +msgid "A shorter label that may be used on toolbar buttons." +msgstr "" + +#: ../gtk/gtkaction.c:265 +msgid "Tooltip" +msgstr "" + +#: ../gtk/gtkaction.c:266 +msgid "A tooltip for this action." +msgstr "" + +#: ../gtk/gtkaction.c:281 +msgid "Stock Icon" +msgstr "" + +#: ../gtk/gtkaction.c:282 +msgid "The stock icon displayed in widgets representing this action." +msgstr "" + +#: ../gtk/gtkaction.c:302 ../gtk/gtkstatusicon.c:253 +msgid "GIcon" +msgstr "" + +#: ../gtk/gtkaction.c:303 ../gtk/gtkcellrendererpixbuf.c:206 +#: ../gtk/gtkimage.c:341 ../gtk/gtkstatusicon.c:254 +msgid "The GIcon being displayed" +msgstr "" + +#: ../gtk/gtkaction.c:323 ../gtk/gtkcellrendererpixbuf.c:171 +#: ../gtk/gtkimage.c:323 ../gtk/gtkprinter.c:160 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkwindow.c:633 +msgid "Icon Name" +msgstr "" + +#: ../gtk/gtkaction.c:324 ../gtk/gtkcellrendererpixbuf.c:172 +#: ../gtk/gtkimage.c:324 ../gtk/gtkstatusicon.c:238 +msgid "The name of the icon from the icon theme" +msgstr "" + +#: ../gtk/gtkaction.c:331 ../gtk/gtktoolitem.c:192 +msgid "Visible when horizontal" +msgstr "" + +#: ../gtk/gtkaction.c:332 ../gtk/gtktoolitem.c:193 +msgid "" +"Whether the toolbar item is visible when the toolbar is in a horizontal " +"orientation." +msgstr "" + +#: ../gtk/gtkaction.c:347 +msgid "Visible when overflown" +msgstr "" + +#: ../gtk/gtkaction.c:348 +msgid "" +"When TRUE, toolitem proxies for this action are represented in the toolbar " +"overflow menu." +msgstr "" + +#: ../gtk/gtkaction.c:355 ../gtk/gtktoolitem.c:199 +msgid "Visible when vertical" +msgstr "" + +#: ../gtk/gtkaction.c:356 ../gtk/gtktoolitem.c:200 +msgid "" +"Whether the toolbar item is visible when the toolbar is in a vertical " +"orientation." +msgstr "" + +#: ../gtk/gtkaction.c:363 ../gtk/gtktoolitem.c:206 +msgid "Is important" +msgstr "" + +#: ../gtk/gtkaction.c:364 +msgid "" +"Whether the action is considered important. When TRUE, toolitem proxies for " +"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." +msgstr "" + +#: ../gtk/gtkaction.c:372 +msgid "Hide if empty" +msgstr "" + +#: ../gtk/gtkaction.c:373 +msgid "When TRUE, empty menu proxies for this action are hidden." +msgstr "" + +#: ../gtk/gtkaction.c:379 ../gtk/gtkactiongroup.c:177 +#: ../gtk/gtkcellrenderer.c:193 ../gtk/gtkwidget.c:594 +msgid "Sensitive" +msgstr "" + +#: ../gtk/gtkaction.c:380 +msgid "Whether the action is enabled." +msgstr "" + +#: ../gtk/gtkaction.c:386 ../gtk/gtkactiongroup.c:184 +#: ../gtk/gtkstatusicon.c:303 ../gtk/gtktreeviewcolumn.c:192 +#: ../gtk/gtkwidget.c:587 +msgid "Visible" +msgstr "" + +#: ../gtk/gtkaction.c:387 +msgid "Whether the action is visible." +msgstr "" + +#: ../gtk/gtkaction.c:393 +msgid "Action Group" +msgstr "" + +#: ../gtk/gtkaction.c:394 +msgid "" +"The GtkActionGroup this GtkAction is associated with, or NULL (for internal " +"use)." +msgstr "" + +#: ../gtk/gtkaction.c:412 ../gtk/gtkimagemenuitem.c:169 +msgid "Always show image" +msgstr "" + +#: ../gtk/gtkaction.c:413 ../gtk/gtkimagemenuitem.c:170 +msgid "Whether the image will always be shown" +msgstr "" + +#: ../gtk/gtkactiongroup.c:171 +msgid "A name for the action group." +msgstr "" + +#: ../gtk/gtkactiongroup.c:178 +msgid "Whether the action group is enabled." +msgstr "" + +#: ../gtk/gtkactiongroup.c:185 +msgid "Whether the action group is visible." +msgstr "" + +#: ../gtk/gtkactivatable.c:308 +msgid "Related Action" +msgstr "" + +#: ../gtk/gtkactivatable.c:309 +msgid "The action this activatable will activate and receive updates from" +msgstr "" + +#: ../gtk/gtkactivatable.c:331 +msgid "Use Action Appearance" +msgstr "" + +#: ../gtk/gtkactivatable.c:332 +msgid "Whether to use the related actions appearance properties" +msgstr "" + +#: ../gtk/gtkadjustment.c:93 ../gtk/gtkcellrendererprogress.c:128 +#: ../gtk/gtkscalebutton.c:206 ../gtk/gtkspinbutton.c:269 +msgid "Value" +msgstr "" + +#: ../gtk/gtkadjustment.c:94 +msgid "The value of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:110 +msgid "Minimum Value" +msgstr "" + +#: ../gtk/gtkadjustment.c:111 +msgid "The minimum value of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:130 +msgid "Maximum Value" +msgstr "" + +#: ../gtk/gtkadjustment.c:131 +msgid "The maximum value of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:147 +msgid "Step Increment" +msgstr "" + +#: ../gtk/gtkadjustment.c:148 +msgid "The step increment of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:164 +msgid "Page Increment" +msgstr "" + +#: ../gtk/gtkadjustment.c:165 +msgid "The page increment of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:184 +msgid "Page Size" +msgstr "" + +#: ../gtk/gtkadjustment.c:185 +msgid "The page size of the adjustment" +msgstr "" + +#: ../gtk/gtkalignment.c:109 +msgid "Horizontal alignment" +msgstr "" + +#: ../gtk/gtkalignment.c:110 ../gtk/gtkbutton.c:270 +msgid "" +"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " +"right aligned" +msgstr "" + +#: ../gtk/gtkalignment.c:119 +msgid "Vertical alignment" +msgstr "" + +#: ../gtk/gtkalignment.c:120 ../gtk/gtkbutton.c:289 +msgid "" +"Vertical position of child in available space. 0.0 is top aligned, 1.0 is " +"bottom aligned" +msgstr "" + +#: ../gtk/gtkalignment.c:128 +msgid "Horizontal scale" +msgstr "" + +#: ../gtk/gtkalignment.c:129 +msgid "" +"If available horizontal space is bigger than needed for the child, how much " +"of it to use for the child. 0.0 means none, 1.0 means all" +msgstr "" + +#: ../gtk/gtkalignment.c:137 +msgid "Vertical scale" +msgstr "" + +#: ../gtk/gtkalignment.c:138 +msgid "" +"If available vertical space is bigger than needed for the child, how much of " +"it to use for the child. 0.0 means none, 1.0 means all" +msgstr "" + +#: ../gtk/gtkalignment.c:155 +msgid "Top Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:156 +msgid "The padding to insert at the top of the widget." +msgstr "" + +#: ../gtk/gtkalignment.c:172 +msgid "Bottom Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:173 +msgid "The padding to insert at the bottom of the widget." +msgstr "" + +#: ../gtk/gtkalignment.c:189 +msgid "Left Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:190 +msgid "The padding to insert at the left of the widget." +msgstr "" + +#: ../gtk/gtkalignment.c:206 +msgid "Right Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:207 +msgid "The padding to insert at the right of the widget." +msgstr "" + +#: ../gtk/gtkarrow.c:95 +msgid "Arrow direction" +msgstr "" + +#: ../gtk/gtkarrow.c:96 +msgid "The direction the arrow should point" +msgstr "" + +#: ../gtk/gtkarrow.c:104 +msgid "Arrow shadow" +msgstr "" + +#: ../gtk/gtkarrow.c:105 +msgid "Appearance of the shadow surrounding the arrow" +msgstr "" + +#: ../gtk/gtkarrow.c:112 ../gtk/gtkmenu.c:717 ../gtk/gtkmenuitem.c:368 +msgid "Arrow Scaling" +msgstr "" + +#: ../gtk/gtkarrow.c:113 +msgid "Amount of space used up by arrow" +msgstr "" + +#: ../gtk/gtkaspectframe.c:93 +msgid "Horizontal Alignment" +msgstr "" + +#: ../gtk/gtkaspectframe.c:94 +msgid "X alignment of the child" +msgstr "" + +#: ../gtk/gtkaspectframe.c:100 +msgid "Vertical Alignment" +msgstr "" + +#: ../gtk/gtkaspectframe.c:101 +msgid "Y alignment of the child" +msgstr "" + +#: ../gtk/gtkaspectframe.c:107 +msgid "Ratio" +msgstr "" + +#: ../gtk/gtkaspectframe.c:108 +msgid "Aspect ratio if obey_child is FALSE" +msgstr "" + +#: ../gtk/gtkaspectframe.c:114 +msgid "Obey child" +msgstr "" + +#: ../gtk/gtkaspectframe.c:115 +msgid "Force aspect ratio to match that of the frame's child" +msgstr "" + +#: ../gtk/gtkassistant.c:308 +msgid "Header Padding" +msgstr "" + +#: ../gtk/gtkassistant.c:309 +msgid "Number of pixels around the header." +msgstr "" + +#: ../gtk/gtkassistant.c:316 +msgid "Content Padding" +msgstr "" + +#: ../gtk/gtkassistant.c:317 +msgid "Number of pixels around the content pages." +msgstr "" + +#: ../gtk/gtkassistant.c:333 +msgid "Page type" +msgstr "" + +#: ../gtk/gtkassistant.c:334 +msgid "The type of the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:351 +msgid "Page title" +msgstr "" + +#: ../gtk/gtkassistant.c:352 +msgid "The title of the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:368 +msgid "Header image" +msgstr "" + +#: ../gtk/gtkassistant.c:369 +msgid "Header image for the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:385 +msgid "Sidebar image" +msgstr "" + +#: ../gtk/gtkassistant.c:386 +msgid "Sidebar image for the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:401 +msgid "Page complete" +msgstr "" + +#: ../gtk/gtkassistant.c:402 +msgid "Whether all required fields on the page have been filled out" +msgstr "" + +#: ../gtk/gtkbbox.c:101 +msgid "Minimum child width" +msgstr "" + +#: ../gtk/gtkbbox.c:102 +msgid "Minimum width of buttons inside the box" +msgstr "" + +#: ../gtk/gtkbbox.c:110 +msgid "Minimum child height" +msgstr "" + +#: ../gtk/gtkbbox.c:111 +msgid "Minimum height of buttons inside the box" +msgstr "" + +#: ../gtk/gtkbbox.c:119 +msgid "Child internal width padding" +msgstr "" + +#: ../gtk/gtkbbox.c:120 +msgid "Amount to increase child's size on either side" +msgstr "" + +#: ../gtk/gtkbbox.c:128 +msgid "Child internal height padding" +msgstr "" + +#: ../gtk/gtkbbox.c:129 +msgid "Amount to increase child's size on the top and bottom" +msgstr "" + +#: ../gtk/gtkbbox.c:137 +msgid "Layout style" +msgstr "" + +#: ../gtk/gtkbbox.c:138 +msgid "" +"How to lay out the buttons in the box. Possible values are: default, spread, " +"edge, start and end" +msgstr "" + +#: ../gtk/gtkbbox.c:146 +msgid "Secondary" +msgstr "" + +#: ../gtk/gtkbbox.c:147 +msgid "" +"If TRUE, the child appears in a secondary group of children, suitable for, e." +"g., help buttons" +msgstr "" + +#: ../gtk/gtkbox.c:130 ../gtk/gtkexpander.c:221 ../gtk/gtkiconview.c:666 +#: ../gtk/gtktreeviewcolumn.c:217 +msgid "Spacing" +msgstr "" + +#: ../gtk/gtkbox.c:131 +msgid "The amount of space between children" +msgstr "" + +#: ../gtk/gtkbox.c:140 ../gtk/gtknotebook.c:657 ../gtk/gtktable.c:165 +#: ../gtk/gtktoolbar.c:573 ../gtk/gtktoolitemgroup.c:1596 +msgid "Homogeneous" +msgstr "" + +#: ../gtk/gtkbox.c:141 +msgid "Whether the children should all be the same size" +msgstr "" + +#: ../gtk/gtkbox.c:148 ../gtk/gtkpreview.c:102 ../gtk/gtktoolbar.c:565 +#: ../gtk/gtktoolitemgroup.c:1603 ../gtk/gtktoolpalette.c:1053 +#: ../gtk/gtktreeviewcolumn.c:273 +msgid "Expand" +msgstr "" + +#: ../gtk/gtkbox.c:149 +msgid "Whether the child should receive extra space when the parent grows" +msgstr "" + +#: ../gtk/gtkbox.c:155 ../gtk/gtktoolitemgroup.c:1610 +msgid "Fill" +msgstr "" + +#: ../gtk/gtkbox.c:156 +msgid "" +"Whether extra space given to the child should be allocated to the child or " +"used as padding" +msgstr "" + +#: ../gtk/gtkbox.c:162 +msgid "Padding" +msgstr "" + +#: ../gtk/gtkbox.c:163 +msgid "Extra space to put between the child and its neighbors, in pixels" +msgstr "" + +#: ../gtk/gtkbox.c:169 +msgid "Pack type" +msgstr "" + +#: ../gtk/gtkbox.c:170 ../gtk/gtknotebook.c:724 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" + +#: ../gtk/gtkbox.c:176 ../gtk/gtknotebook.c:702 ../gtk/gtkpaned.c:241 +#: ../gtk/gtkruler.c:148 ../gtk/gtktoolitemgroup.c:1624 +msgid "Position" +msgstr "" + +#: ../gtk/gtkbox.c:177 ../gtk/gtknotebook.c:703 +msgid "The index of the child in the parent" +msgstr "" + +#: ../gtk/gtkbuilder.c:96 +msgid "Translation Domain" +msgstr "" + +#: ../gtk/gtkbuilder.c:97 +msgid "The translation domain used by gettext" +msgstr "" + +#: ../gtk/gtkbutton.c:220 +msgid "" +"Text of the label widget inside the button, if the button contains a label " +"widget" +msgstr "" + +#: ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:205 ../gtk/gtklabel.c:528 +#: ../gtk/gtkmenuitem.c:320 ../gtk/gtktoolbutton.c:211 +msgid "Use underline" +msgstr "" + +#: ../gtk/gtkbutton.c:228 ../gtk/gtkexpander.c:206 ../gtk/gtklabel.c:529 +#: ../gtk/gtkmenuitem.c:321 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" + +#: ../gtk/gtkbutton.c:235 ../gtk/gtkimagemenuitem.c:150 +msgid "Use stock" +msgstr "" + +#: ../gtk/gtkbutton.c:236 +msgid "" +"If set, the label is used to pick a stock item instead of being displayed" +msgstr "" + +#: ../gtk/gtkbutton.c:243 ../gtk/gtkcombobox.c:796 +#: ../gtk/gtkfilechooserbutton.c:393 +msgid "Focus on click" +msgstr "" + +#: ../gtk/gtkbutton.c:244 ../gtk/gtkfilechooserbutton.c:394 +msgid "Whether the button grabs focus when it is clicked with the mouse" +msgstr "" + +#: ../gtk/gtkbutton.c:251 +msgid "Border relief" +msgstr "" + +#: ../gtk/gtkbutton.c:252 +msgid "The border relief style" +msgstr "" + +#: ../gtk/gtkbutton.c:269 +msgid "Horizontal alignment for child" +msgstr "" + +#: ../gtk/gtkbutton.c:288 +msgid "Vertical alignment for child" +msgstr "" + +#: ../gtk/gtkbutton.c:305 ../gtk/gtkimagemenuitem.c:135 +msgid "Image widget" +msgstr "" + +#: ../gtk/gtkbutton.c:306 +msgid "Child widget to appear next to the button text" +msgstr "" + +#: ../gtk/gtkbutton.c:320 +msgid "Image position" +msgstr "" + +#: ../gtk/gtkbutton.c:321 +msgid "The position of the image relative to the text" +msgstr "" + +#: ../gtk/gtkbutton.c:441 +msgid "Default Spacing" +msgstr "" + +#: ../gtk/gtkbutton.c:442 +msgid "Extra space to add for GTK_CAN_DEFAULT buttons" +msgstr "" + +#: ../gtk/gtkbutton.c:456 +msgid "Default Outside Spacing" +msgstr "" + +#: ../gtk/gtkbutton.c:457 +msgid "" +"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " +"the border" +msgstr "" + +#: ../gtk/gtkbutton.c:462 +msgid "Child X Displacement" +msgstr "" + +#: ../gtk/gtkbutton.c:463 +msgid "" +"How far in the x direction to move the child when the button is depressed" +msgstr "" + +#: ../gtk/gtkbutton.c:470 +msgid "Child Y Displacement" +msgstr "" + +#: ../gtk/gtkbutton.c:471 +msgid "" +"How far in the y direction to move the child when the button is depressed" +msgstr "" + +#: ../gtk/gtkbutton.c:487 +msgid "Displace focus" +msgstr "" + +#: ../gtk/gtkbutton.c:488 +msgid "" +"Whether the child_displacement_x/_y properties should also affect the focus " +"rectangle" +msgstr "" + +#: ../gtk/gtkbutton.c:501 ../gtk/gtkentry.c:695 ../gtk/gtkentry.c:1740 +msgid "Inner Border" +msgstr "" + +#: ../gtk/gtkbutton.c:502 +msgid "Border between button edges and child." +msgstr "" + +#: ../gtk/gtkbutton.c:515 +msgid "Image spacing" +msgstr "" + +#: ../gtk/gtkbutton.c:516 +msgid "Spacing in pixels between the image and label" +msgstr "" + +#: ../gtk/gtkbutton.c:530 +msgid "Show button images" +msgstr "" + +#: ../gtk/gtkbutton.c:531 +msgid "Whether images should be shown on buttons" +msgstr "" + +#: ../gtk/gtkcalendar.c:436 +msgid "Year" +msgstr "" + +#: ../gtk/gtkcalendar.c:437 +msgid "The selected year" +msgstr "" + +#: ../gtk/gtkcalendar.c:450 +msgid "Month" +msgstr "" + +#: ../gtk/gtkcalendar.c:451 +msgid "The selected month (as a number between 0 and 11)" +msgstr "" + +#: ../gtk/gtkcalendar.c:465 +msgid "Day" +msgstr "" + +#: ../gtk/gtkcalendar.c:466 +msgid "" +"The selected day (as a number between 1 and 31, or 0 to unselect the " +"currently selected day)" +msgstr "" + +#: ../gtk/gtkcalendar.c:480 +msgid "Show Heading" +msgstr "" + +#: ../gtk/gtkcalendar.c:481 +msgid "If TRUE, a heading is displayed" +msgstr "" + +#: ../gtk/gtkcalendar.c:495 +msgid "Show Day Names" +msgstr "" + +#: ../gtk/gtkcalendar.c:496 +msgid "If TRUE, day names are displayed" +msgstr "" + +#: ../gtk/gtkcalendar.c:509 +msgid "No Month Change" +msgstr "" + +#: ../gtk/gtkcalendar.c:510 +msgid "If TRUE, the selected month cannot be changed" +msgstr "" + +#: ../gtk/gtkcalendar.c:524 +msgid "Show Week Numbers" +msgstr "" + +#: ../gtk/gtkcalendar.c:525 +msgid "If TRUE, week numbers are displayed" +msgstr "" + +#: ../gtk/gtkcalendar.c:540 +msgid "Details Width" +msgstr "" + +#: ../gtk/gtkcalendar.c:541 +msgid "Details width in characters" +msgstr "" + +#: ../gtk/gtkcalendar.c:556 +msgid "Details Height" +msgstr "" + +#: ../gtk/gtkcalendar.c:557 +msgid "Details height in rows" +msgstr "" + +#: ../gtk/gtkcalendar.c:573 +msgid "Show Details" +msgstr "" + +#: ../gtk/gtkcalendar.c:574 +msgid "If TRUE, details are shown" +msgstr "" + +#: ../gtk/gtkcalendar.c:586 +msgid "Inner border" +msgstr "" + +#: ../gtk/gtkcalendar.c:587 +msgid "Inner border space" +msgstr "" + +#: ../gtk/gtkcalendar.c:598 +msgid "Vertical separation" +msgstr "" + +#: ../gtk/gtkcalendar.c:599 +msgid "Space between day headers and main area" +msgstr "" + +#: ../gtk/gtkcalendar.c:610 +msgid "Horizontal separation" +msgstr "" + +#: ../gtk/gtkcalendar.c:611 +msgid "Space between week headers and main area" +msgstr "" + +#: ../gtk/gtkcelleditable.c:43 +msgid "Editing Canceled" +msgstr "" + +#: ../gtk/gtkcelleditable.c:44 +msgid "Indicates that editing has been canceled" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:177 +msgid "mode" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:178 +msgid "Editable mode of the CellRenderer" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:186 +msgid "visible" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:187 +msgid "Display the cell" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:194 +msgid "Display the cell sensitive" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:201 +msgid "xalign" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:202 +msgid "The x-align" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:211 +msgid "yalign" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:212 +msgid "The y-align" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:221 +msgid "xpad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:222 +msgid "The xpad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:231 +msgid "ypad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:232 +msgid "The ypad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:241 +msgid "width" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:242 +msgid "The fixed width" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:251 +msgid "height" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:252 +msgid "The fixed height" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:261 +msgid "Is Expander" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:262 +msgid "Row has children" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:270 +msgid "Is Expanded" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:271 +msgid "Row is an expander row, and is expanded" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:278 +msgid "Cell background color name" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:279 +msgid "Cell background color as a string" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:286 +msgid "Cell background color" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:287 +msgid "Cell background color as a GdkColor" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:294 +msgid "Editing" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:295 +msgid "Whether the cell renderer is currently in editing mode" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:303 +msgid "Cell background set" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:304 +msgid "Whether this tag affects the cell background color" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:114 +msgid "Accelerator key" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:115 +msgid "The keyval of the accelerator" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:131 +msgid "Accelerator modifiers" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:132 +msgid "The modifier mask of the accelerator" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:149 +msgid "Accelerator keycode" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:150 +msgid "The hardware keycode of the accelerator" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:169 +msgid "Accelerator Mode" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:170 +msgid "The type of accelerators" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:107 +msgid "Model" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:108 +msgid "The model containing the possible values for the combo box" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:130 ../gtk/gtkcomboboxentry.c:106 +msgid "Text Column" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:131 ../gtk/gtkcomboboxentry.c:107 +msgid "A column in the data source model to get the strings from" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:148 +msgid "Has Entry" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:149 +msgid "If FALSE, don't allow to enter strings other than the chosen ones" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:111 +msgid "Pixbuf Object" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:112 +msgid "The pixbuf to render" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:119 +msgid "Pixbuf Expander Open" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:120 +msgid "Pixbuf for open expander" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:127 +msgid "Pixbuf Expander Closed" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:128 +msgid "Pixbuf for closed expander" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:135 ../gtk/gtkimage.c:265 +#: ../gtk/gtkstatusicon.c:229 +msgid "Stock ID" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:136 +msgid "The stock ID of the stock icon to render" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:143 ../gtk/gtkcellrendererspinner.c:158 +#: ../gtk/gtkrecentmanager.c:250 ../gtk/gtkstatusicon.c:270 +msgid "Size" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:144 +msgid "The GtkIconSize value that specifies the size of the rendered icon" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:153 +msgid "Detail" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:154 +msgid "Render detail to pass to the theme engine" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:187 +msgid "Follow State" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:188 +msgid "Whether the rendered pixbuf should be colorized according to the state" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:205 ../gtk/gtkimage.c:340 +#: ../gtk/gtkwindow.c:610 +msgid "Icon" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:129 +msgid "Value of the progress bar" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:146 ../gtk/gtkcellrenderertext.c:195 +#: ../gtk/gtkentry.c:738 ../gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkmessagedialog.c:243 ../gtk/gtkprogressbar.c:184 +#: ../gtk/gtktextbuffer.c:198 +msgid "Text" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:147 +msgid "Text on the progress bar" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:170 ../gtk/gtkcellrendererspinner.c:144 +msgid "Pulse" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:171 +msgid "" +"Set this to positive values to indicate that some progress is made, but you " +"don't know how much." +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:187 ../gtk/gtkprogress.c:119 +msgid "Text x alignment" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:188 ../gtk/gtkprogress.c:120 +msgid "" +"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " +"layouts." +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:204 ../gtk/gtkprogress.c:126 +msgid "Text y alignment" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:205 ../gtk/gtkprogress.c:127 +msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:221 ../gtk/gtkiconview.c:732 +#: ../gtk/gtkorientable.c:47 ../gtk/gtkprogressbar.c:126 +#: ../gtk/gtkstatusicon.c:335 ../gtk/gtktrayicon-x11.c:110 +msgid "Orientation" +msgstr "" + +#: ../gtk/gtkcellrendererprogress.c:222 ../gtk/gtkprogressbar.c:127 +msgid "Orientation and growth direction of the progress bar" +msgstr "" + +#: ../gtk/gtkcellrendererspin.c:93 ../gtk/gtkprogressbar.c:118 +#: ../gtk/gtkrange.c:375 ../gtk/gtkscalebutton.c:225 +#: ../gtk/gtkspinbutton.c:208 +msgid "Adjustment" +msgstr "" + +#: ../gtk/gtkcellrendererspin.c:94 +msgid "The adjustment that holds the value of the spinbutton." +msgstr "" + +#: ../gtk/gtkcellrendererspin.c:109 +msgid "Climb rate" +msgstr "" + +#: ../gtk/gtkcellrendererspin.c:110 ../gtk/gtkspinbutton.c:217 +msgid "The acceleration rate when you hold down a button" +msgstr "" + +#: ../gtk/gtkcellrendererspin.c:123 ../gtk/gtkscale.c:218 +#: ../gtk/gtkspinbutton.c:226 +msgid "Digits" +msgstr "" + +#: ../gtk/gtkcellrendererspin.c:124 ../gtk/gtkspinbutton.c:227 +msgid "The number of decimal places to display" +msgstr "" + +#: ../gtk/gtkcellrendererspinner.c:124 ../gtk/gtkcheckmenuitem.c:98 +#: ../gtk/gtkmenu.c:507 ../gtk/gtkspinner.c:128 ../gtk/gtktoggleaction.c:119 +#: ../gtk/gtktogglebutton.c:115 ../gtk/gtktoggletoolbutton.c:114 +msgid "Active" +msgstr "" + +#: ../gtk/gtkcellrendererspinner.c:125 +msgid "Whether the spinner is active (ie. shown) in the cell" +msgstr "" + +#: ../gtk/gtkcellrendererspinner.c:145 +msgid "Pulse of the spinner" +msgstr "" + +#: ../gtk/gtkcellrendererspinner.c:159 +msgid "The GtkIconSize value that specifies the size of the rendered spinner" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:196 +msgid "Text to render" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:203 +msgid "Markup" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:204 +msgid "Marked up text to render" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:211 ../gtk/gtklabel.c:514 +msgid "Attributes" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:212 +msgid "A list of style attributes to apply to the text of the renderer" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:219 +msgid "Single Paragraph Mode" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:220 +msgid "Whether or not to keep all text in a single paragraph" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:228 ../gtk/gtkcellview.c:160 +#: ../gtk/gtktexttag.c:183 +msgid "Background color name" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:229 ../gtk/gtkcellview.c:161 +#: ../gtk/gtktexttag.c:184 +msgid "Background color as a string" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:236 ../gtk/gtkcellview.c:167 +#: ../gtk/gtktexttag.c:191 +msgid "Background color" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:237 ../gtk/gtkcellview.c:168 +msgid "Background color as a GdkColor" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:244 ../gtk/gtktexttag.c:217 +msgid "Foreground color name" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:245 ../gtk/gtktexttag.c:218 +msgid "Foreground color as a string" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:252 ../gtk/gtktexttag.c:225 +msgid "Foreground color" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:253 +msgid "Foreground color as a GdkColor" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:261 ../gtk/gtkentry.c:662 +#: ../gtk/gtktexttag.c:251 ../gtk/gtktextview.c:576 +msgid "Editable" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:262 ../gtk/gtktexttag.c:252 +#: ../gtk/gtktextview.c:577 +msgid "Whether the text can be modified by the user" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:269 ../gtk/gtkcellrenderertext.c:277 +#: ../gtk/gtkfontsel.c:203 ../gtk/gtktexttag.c:267 ../gtk/gtktexttag.c:275 +msgid "Font" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:270 ../gtk/gtktexttag.c:268 +msgid "Font description as a string, e.g. \"Sans Italic 12\"" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:278 ../gtk/gtktexttag.c:276 +msgid "Font description as a PangoFontDescription struct" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:286 ../gtk/gtktexttag.c:283 +msgid "Font family" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:287 ../gtk/gtktexttag.c:284 +msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:294 ../gtk/gtkcellrenderertext.c:295 +#: ../gtk/gtktexttag.c:291 +msgid "Font style" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:303 ../gtk/gtkcellrenderertext.c:304 +#: ../gtk/gtktexttag.c:300 +msgid "Font variant" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellrenderertext.c:313 +#: ../gtk/gtktexttag.c:309 +msgid "Font weight" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:322 ../gtk/gtkcellrenderertext.c:323 +#: ../gtk/gtktexttag.c:320 +msgid "Font stretch" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:331 ../gtk/gtkcellrenderertext.c:332 +#: ../gtk/gtktexttag.c:329 +msgid "Font size" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:341 ../gtk/gtktexttag.c:349 +msgid "Font points" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtktexttag.c:350 +msgid "Font size in points" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:339 +msgid "Font scale" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:352 +msgid "Font scaling factor" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:361 ../gtk/gtktexttag.c:418 +msgid "Rise" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:362 +msgid "" +"Offset of text above the baseline (below the baseline if rise is negative)" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:373 ../gtk/gtktexttag.c:458 +msgid "Strikethrough" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:374 ../gtk/gtktexttag.c:459 +msgid "Whether to strike through the text" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:381 ../gtk/gtktexttag.c:466 +msgid "Underline" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:382 ../gtk/gtktexttag.c:467 +msgid "Style of underline for this text" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:390 ../gtk/gtktexttag.c:378 +msgid "Language" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:391 +msgid "" +"The language this text is in, as an ISO code. Pango can use this as a hint " +"when rendering the text. If you don't understand this parameter, you " +"probably don't need it" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtklabel.c:639 +#: ../gtk/gtkprogressbar.c:206 +msgid "Ellipsize" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:412 +msgid "" +"The preferred place to ellipsize the string, if the cell renderer does not " +"have enough room to display the entire string" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtkfilechooserbutton.c:421 +#: ../gtk/gtklabel.c:659 +msgid "Width In Characters" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtklabel.c:660 +msgid "The desired width of the label, in characters" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:475 +msgid "Wrap mode" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:451 +msgid "" +"How to break the string into multiple lines, if the cell renderer does not " +"have enough room to display the entire string" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtkcombobox.c:685 +msgid "Wrap width" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:471 +msgid "The width at which the text is wrapped" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:491 ../gtk/gtktreeviewcolumn.c:298 +msgid "Alignment" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:492 +msgid "How to align the lines" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:502 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:564 +msgid "Background set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:503 ../gtk/gtkcellview.c:191 +#: ../gtk/gtktexttag.c:565 +msgid "Whether this tag affects the background color" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:506 ../gtk/gtktexttag.c:576 +msgid "Foreground set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:507 ../gtk/gtktexttag.c:577 +msgid "Whether this tag affects the foreground color" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:510 ../gtk/gtktexttag.c:584 +msgid "Editability set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:511 ../gtk/gtktexttag.c:585 +msgid "Whether this tag affects text editability" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:514 ../gtk/gtktexttag.c:588 +msgid "Font family set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:515 ../gtk/gtktexttag.c:589 +msgid "Whether this tag affects the font family" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:518 ../gtk/gtktexttag.c:592 +msgid "Font style set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:519 ../gtk/gtktexttag.c:593 +msgid "Whether this tag affects the font style" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:522 ../gtk/gtktexttag.c:596 +msgid "Font variant set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:523 ../gtk/gtktexttag.c:597 +msgid "Whether this tag affects the font variant" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:526 ../gtk/gtktexttag.c:600 +msgid "Font weight set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:527 ../gtk/gtktexttag.c:601 +msgid "Whether this tag affects the font weight" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:530 ../gtk/gtktexttag.c:604 +msgid "Font stretch set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:531 ../gtk/gtktexttag.c:605 +msgid "Whether this tag affects the font stretch" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:534 ../gtk/gtktexttag.c:608 +msgid "Font size set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:535 ../gtk/gtktexttag.c:609 +msgid "Whether this tag affects the font size" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:538 ../gtk/gtktexttag.c:612 +msgid "Font scale set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:539 ../gtk/gtktexttag.c:613 +msgid "Whether this tag scales the font size by a factor" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:542 ../gtk/gtktexttag.c:632 +msgid "Rise set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:543 ../gtk/gtktexttag.c:633 +msgid "Whether this tag affects the rise" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:546 ../gtk/gtktexttag.c:648 +msgid "Strikethrough set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:547 ../gtk/gtktexttag.c:649 +msgid "Whether this tag affects strikethrough" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:550 ../gtk/gtktexttag.c:656 +msgid "Underline set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:551 ../gtk/gtktexttag.c:657 +msgid "Whether this tag affects underlining" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:554 ../gtk/gtktexttag.c:620 +msgid "Language set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:555 ../gtk/gtktexttag.c:621 +msgid "Whether this tag affects the language the text is rendered as" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:558 +msgid "Ellipsize set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:559 +msgid "Whether this tag affects the ellipsize mode" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:562 +msgid "Align set" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:563 +msgid "Whether this tag affects the alignment mode" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:126 +msgid "Toggle state" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:127 +msgid "The toggle state of the button" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:134 +msgid "Inconsistent state" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:135 +msgid "The inconsistent state of the button" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:142 +msgid "Activatable" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:143 +msgid "The toggle button can be activated" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:150 +msgid "Radio state" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:151 +msgid "Draw the toggle button as a radio button" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:158 +msgid "Indicator size" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:159 ../gtk/gtkcheckbutton.c:70 +#: ../gtk/gtkcheckmenuitem.c:122 +msgid "Size of check or radio indicator" +msgstr "" + +#: ../gtk/gtkcellview.c:182 +msgid "CellView model" +msgstr "" + +#: ../gtk/gtkcellview.c:183 +msgid "The model for cell view" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:69 ../gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkoptionmenu.c:168 +msgid "Indicator Size" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkexpander.c:255 +#: ../gtk/gtkoptionmenu.c:174 +msgid "Indicator Spacing" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:78 +msgid "Spacing around check or radio indicator" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:99 +msgid "Whether the menu item is checked" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:106 ../gtk/gtktogglebutton.c:123 +msgid "Inconsistent" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:107 +msgid "Whether to display an \"inconsistent\" state" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:114 +msgid "Draw as radio menu item" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:115 +msgid "Whether the menu item looks like a radio menu item" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:161 +msgid "Use alpha" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:162 +msgid "Whether or not to give the color an alpha value" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkfilechooserbutton.c:407 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkprintjob.c:116 +#: ../gtk/gtkstatusicon.c:431 ../gtk/gtktreeviewcolumn.c:265 +msgid "Title" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:177 +msgid "The title of the color selection dialog" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:191 ../gtk/gtkcolorsel.c:302 +msgid "Current Color" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:192 +msgid "The selected color" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:206 ../gtk/gtkcolorsel.c:309 +msgid "Current Alpha" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:207 +msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" +msgstr "" + +#: ../gtk/gtkcolorsel.c:288 +msgid "Has Opacity Control" +msgstr "" + +#: ../gtk/gtkcolorsel.c:289 +msgid "Whether the color selector should allow setting opacity" +msgstr "" + +#: ../gtk/gtkcolorsel.c:295 +msgid "Has palette" +msgstr "" + +#: ../gtk/gtkcolorsel.c:296 +msgid "Whether a palette should be used" +msgstr "" + +#: ../gtk/gtkcolorsel.c:303 +msgid "The current color" +msgstr "" + +#: ../gtk/gtkcolorsel.c:310 +msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" +msgstr "" + +#: ../gtk/gtkcolorsel.c:324 +msgid "Custom palette" +msgstr "" + +#: ../gtk/gtkcolorsel.c:325 +msgid "Palette to use in the color selector" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:102 +msgid "Color Selection" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:103 +msgid "The color selection embedded in the dialog." +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:109 +msgid "OK Button" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:110 +msgid "The OK button of the dialog." +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:116 +msgid "Cancel Button" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:117 +msgid "The cancel button of the dialog." +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:123 +msgid "Help Button" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:124 +msgid "The help button of the dialog." +msgstr "" + +#: ../gtk/gtkcombo.c:147 +msgid "Enable arrow keys" +msgstr "" + +#: ../gtk/gtkcombo.c:148 +msgid "Whether the arrow keys move through the list of items" +msgstr "" + +#: ../gtk/gtkcombo.c:154 +msgid "Always enable arrows" +msgstr "" + +#: ../gtk/gtkcombo.c:155 +msgid "Obsolete property, ignored" +msgstr "" + +#: ../gtk/gtkcombo.c:161 +msgid "Case sensitive" +msgstr "" + +#: ../gtk/gtkcombo.c:162 +msgid "Whether list item matching is case sensitive" +msgstr "" + +#: ../gtk/gtkcombo.c:169 +msgid "Allow empty" +msgstr "" + +#: ../gtk/gtkcombo.c:170 +msgid "Whether an empty value may be entered in this field" +msgstr "" + +#: ../gtk/gtkcombo.c:177 +msgid "Value in list" +msgstr "" + +#: ../gtk/gtkcombo.c:178 +msgid "Whether entered values must already be present in the list" +msgstr "" + +#: ../gtk/gtkcombobox.c:668 +msgid "ComboBox model" +msgstr "" + +#: ../gtk/gtkcombobox.c:669 +msgid "The model for the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:686 +msgid "Wrap width for laying out the items in a grid" +msgstr "" + +#: ../gtk/gtkcombobox.c:708 +msgid "Row span column" +msgstr "" + +#: ../gtk/gtkcombobox.c:709 +msgid "TreeModel column containing the row span values" +msgstr "" + +#: ../gtk/gtkcombobox.c:730 +msgid "Column span column" +msgstr "" + +#: ../gtk/gtkcombobox.c:731 +msgid "TreeModel column containing the column span values" +msgstr "" + +#: ../gtk/gtkcombobox.c:752 +msgid "Active item" +msgstr "" + +#: ../gtk/gtkcombobox.c:753 +msgid "The item which is currently active" +msgstr "" + +#: ../gtk/gtkcombobox.c:772 ../gtk/gtkuimanager.c:226 +msgid "Add tearoffs to menus" +msgstr "" + +#: ../gtk/gtkcombobox.c:773 +msgid "Whether dropdowns should have a tearoff menu item" +msgstr "" + +#: ../gtk/gtkcombobox.c:788 ../gtk/gtkentry.c:687 +msgid "Has Frame" +msgstr "" + +#: ../gtk/gtkcombobox.c:789 +msgid "Whether the combo box draws a frame around the child" +msgstr "" + +#: ../gtk/gtkcombobox.c:797 +msgid "Whether the combo box grabs focus when it is clicked with the mouse" +msgstr "" + +#: ../gtk/gtkcombobox.c:812 ../gtk/gtkmenu.c:562 +msgid "Tearoff Title" +msgstr "" + +#: ../gtk/gtkcombobox.c:813 +msgid "" +"A title that may be displayed by the window manager when the popup is torn-" +"off" +msgstr "" + +#: ../gtk/gtkcombobox.c:830 +msgid "Popup shown" +msgstr "" + +#: ../gtk/gtkcombobox.c:831 +msgid "Whether the combo's dropdown is shown" +msgstr "" + +#: ../gtk/gtkcombobox.c:847 +msgid "Button Sensitivity" +msgstr "" + +#: ../gtk/gtkcombobox.c:848 +msgid "Whether the dropdown button is sensitive when the model is empty" +msgstr "" + +#: ../gtk/gtkcombobox.c:855 +msgid "Appears as list" +msgstr "" + +#: ../gtk/gtkcombobox.c:856 +msgid "Whether dropdowns should look like lists rather than menus" +msgstr "" + +#: ../gtk/gtkcombobox.c:872 +msgid "Arrow Size" +msgstr "" + +#: ../gtk/gtkcombobox.c:873 +msgid "The minimum size of the arrow in the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:888 ../gtk/gtkentry.c:787 ../gtk/gtkhandlebox.c:174 +#: ../gtk/gtkmenubar.c:194 ../gtk/gtkstatusbar.c:193 ../gtk/gtktoolbar.c:623 +#: ../gtk/gtkviewport.c:141 +msgid "Shadow type" +msgstr "" + +#: ../gtk/gtkcombobox.c:889 +msgid "Which kind of shadow to draw around the combo box" +msgstr "" + +#: ../gtk/gtkcontainer.c:238 +msgid "Resize mode" +msgstr "" + +#: ../gtk/gtkcontainer.c:239 +msgid "Specify how resize events are handled" +msgstr "" + +#: ../gtk/gtkcontainer.c:246 +msgid "Border width" +msgstr "" + +#: ../gtk/gtkcontainer.c:247 +msgid "The width of the empty border outside the containers children" +msgstr "" + +#: ../gtk/gtkcontainer.c:255 +msgid "Child" +msgstr "" + +#: ../gtk/gtkcontainer.c:256 +msgid "Can be used to add a new child to the container" +msgstr "" + +#: ../gtk/gtkcurve.c:127 +msgid "Curve type" +msgstr "" + +#: ../gtk/gtkcurve.c:128 +msgid "Is this curve linear, spline interpolated, or free-form" +msgstr "" + +#: ../gtk/gtkcurve.c:135 +msgid "Minimum X" +msgstr "" + +#: ../gtk/gtkcurve.c:136 +msgid "Minimum possible value for X" +msgstr "" + +#: ../gtk/gtkcurve.c:144 +msgid "Maximum X" +msgstr "" + +#: ../gtk/gtkcurve.c:145 +msgid "Maximum possible X value" +msgstr "" + +#: ../gtk/gtkcurve.c:153 +msgid "Minimum Y" +msgstr "" + +#: ../gtk/gtkcurve.c:154 +msgid "Minimum possible value for Y" +msgstr "" + +#: ../gtk/gtkcurve.c:162 +msgid "Maximum Y" +msgstr "" + +#: ../gtk/gtkcurve.c:163 +msgid "Maximum possible value for Y" +msgstr "" + +#: ../gtk/gtkdialog.c:149 +msgid "Has separator" +msgstr "" + +#: ../gtk/gtkdialog.c:150 +msgid "The dialog has a separator bar above its buttons" +msgstr "" + +#: ../gtk/gtkdialog.c:195 ../gtk/gtkinfobar.c:439 +msgid "Content area border" +msgstr "" + +#: ../gtk/gtkdialog.c:196 +msgid "Width of border around the main dialog area" +msgstr "" + +#: ../gtk/gtkdialog.c:213 ../gtk/gtkinfobar.c:456 +msgid "Content area spacing" +msgstr "" + +#: ../gtk/gtkdialog.c:214 +msgid "Spacing between elements of the main dialog area" +msgstr "" + +#: ../gtk/gtkdialog.c:221 ../gtk/gtkinfobar.c:472 +msgid "Button spacing" +msgstr "" + +#: ../gtk/gtkdialog.c:222 ../gtk/gtkinfobar.c:473 +msgid "Spacing between buttons" +msgstr "" + +#: ../gtk/gtkdialog.c:230 ../gtk/gtkinfobar.c:488 +msgid "Action area border" +msgstr "" + +#: ../gtk/gtkdialog.c:231 +msgid "Width of border around the button area at the bottom of the dialog" +msgstr "" + +#: ../gtk/gtkentry.c:634 +msgid "Text Buffer" +msgstr "" + +#: ../gtk/gtkentry.c:635 +msgid "Text buffer object which actually stores entry text" +msgstr "" + +#: ../gtk/gtkentry.c:642 ../gtk/gtklabel.c:602 +msgid "Cursor Position" +msgstr "" + +#: ../gtk/gtkentry.c:643 ../gtk/gtklabel.c:603 +msgid "The current position of the insertion cursor in chars" +msgstr "" + +#: ../gtk/gtkentry.c:652 ../gtk/gtklabel.c:612 +msgid "Selection Bound" +msgstr "" + +#: ../gtk/gtkentry.c:653 ../gtk/gtklabel.c:613 +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "" + +#: ../gtk/gtkentry.c:663 +msgid "Whether the entry contents can be edited" +msgstr "" + +#: ../gtk/gtkentry.c:670 ../gtk/gtkentrybuffer.c:383 +msgid "Maximum length" +msgstr "" + +#: ../gtk/gtkentry.c:671 ../gtk/gtkentrybuffer.c:384 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "" + +#: ../gtk/gtkentry.c:679 +msgid "Visibility" +msgstr "" + +#: ../gtk/gtkentry.c:680 +msgid "" +"FALSE displays the \"invisible char\" instead of the actual text (password " +"mode)" +msgstr "" + +#: ../gtk/gtkentry.c:688 +msgid "FALSE removes outside bevel from entry" +msgstr "" + +#: ../gtk/gtkentry.c:696 +msgid "" +"Border between text and frame. Overrides the inner-border style property" +msgstr "" + +#: ../gtk/gtkentry.c:703 ../gtk/gtkentry.c:1269 +msgid "Invisible character" +msgstr "" + +#: ../gtk/gtkentry.c:704 ../gtk/gtkentry.c:1270 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" + +#: ../gtk/gtkentry.c:711 +msgid "Activates default" +msgstr "" + +#: ../gtk/gtkentry.c:712 +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" + +#: ../gtk/gtkentry.c:718 +msgid "Width in chars" +msgstr "" + +#: ../gtk/gtkentry.c:719 +msgid "Number of characters to leave space for in the entry" +msgstr "" + +#: ../gtk/gtkentry.c:728 +msgid "Scroll offset" +msgstr "" + +#: ../gtk/gtkentry.c:729 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "" + +#: ../gtk/gtkentry.c:739 +msgid "The contents of the entry" +msgstr "" + +#: ../gtk/gtkentry.c:754 ../gtk/gtkmisc.c:73 +msgid "X align" +msgstr "" + +#: ../gtk/gtkentry.c:755 ../gtk/gtkmisc.c:74 +msgid "" +"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " +"layouts." +msgstr "" + +#: ../gtk/gtkentry.c:771 +msgid "Truncate multiline" +msgstr "" + +#: ../gtk/gtkentry.c:772 +msgid "Whether to truncate multiline pastes to one line." +msgstr "" + +#: ../gtk/gtkentry.c:788 +msgid "Which kind of shadow to draw around the entry when has-frame is set" +msgstr "" + +#: ../gtk/gtkentry.c:803 ../gtk/gtktextview.c:656 +msgid "Overwrite mode" +msgstr "" + +#: ../gtk/gtkentry.c:804 +msgid "Whether new text overwrites existing text" +msgstr "" + +#: ../gtk/gtkentry.c:818 ../gtk/gtkentrybuffer.c:368 +msgid "Text length" +msgstr "" + +#: ../gtk/gtkentry.c:819 +msgid "Length of the text currently in the entry" +msgstr "" + +#: ../gtk/gtkentry.c:834 +msgid "Invisible char set" +msgstr "" + +#: ../gtk/gtkentry.c:835 +msgid "Whether the invisible char has been set" +msgstr "" + +#: ../gtk/gtkentry.c:853 +msgid "Caps Lock warning" +msgstr "" + +#: ../gtk/gtkentry.c:854 +msgid "Whether password entries will show a warning when Caps Lock is on" +msgstr "" + +#: ../gtk/gtkentry.c:868 +msgid "Progress Fraction" +msgstr "" + +#: ../gtk/gtkentry.c:869 +msgid "The current fraction of the task that's been completed" +msgstr "" + +#: ../gtk/gtkentry.c:886 +msgid "Progress Pulse Step" +msgstr "" + +#: ../gtk/gtkentry.c:887 +msgid "" +"The fraction of total entry width to move the progress bouncing block for " +"each call to gtk_entry_progress_pulse()" +msgstr "" + +#: ../gtk/gtkentry.c:903 +msgid "Primary pixbuf" +msgstr "" + +#: ../gtk/gtkentry.c:904 +msgid "Primary pixbuf for the entry" +msgstr "" + +#: ../gtk/gtkentry.c:918 +msgid "Secondary pixbuf" +msgstr "" + +#: ../gtk/gtkentry.c:919 +msgid "Secondary pixbuf for the entry" +msgstr "" + +#: ../gtk/gtkentry.c:933 +msgid "Primary stock ID" +msgstr "" + +#: ../gtk/gtkentry.c:934 +msgid "Stock ID for primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:948 +msgid "Secondary stock ID" +msgstr "" + +#: ../gtk/gtkentry.c:949 +msgid "Stock ID for secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:963 +msgid "Primary icon name" +msgstr "" + +#: ../gtk/gtkentry.c:964 +msgid "Icon name for primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:978 +msgid "Secondary icon name" +msgstr "" + +#: ../gtk/gtkentry.c:979 +msgid "Icon name for secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:993 +msgid "Primary GIcon" +msgstr "" + +#: ../gtk/gtkentry.c:994 +msgid "GIcon for primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1008 +msgid "Secondary GIcon" +msgstr "" + +#: ../gtk/gtkentry.c:1009 +msgid "GIcon for secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1023 +msgid "Primary storage type" +msgstr "" + +#: ../gtk/gtkentry.c:1024 +msgid "The representation being used for primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1039 +msgid "Secondary storage type" +msgstr "" + +#: ../gtk/gtkentry.c:1040 +msgid "The representation being used for secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1061 +msgid "Primary icon activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1062 +msgid "Whether the primary icon is activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1082 +msgid "Secondary icon activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1083 +msgid "Whether the secondary icon is activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1105 +msgid "Primary icon sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1106 +msgid "Whether the primary icon is sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1127 +msgid "Secondary icon sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1128 +msgid "Whether the secondary icon is sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1144 +msgid "Primary icon tooltip text" +msgstr "" + +#: ../gtk/gtkentry.c:1145 ../gtk/gtkentry.c:1181 +msgid "The contents of the tooltip on the primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1161 +msgid "Secondary icon tooltip text" +msgstr "" + +#: ../gtk/gtkentry.c:1162 ../gtk/gtkentry.c:1200 +msgid "The contents of the tooltip on the secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1180 +msgid "Primary icon tooltip markup" +msgstr "" + +#: ../gtk/gtkentry.c:1199 +msgid "Secondary icon tooltip markup" +msgstr "" + +#: ../gtk/gtkentry.c:1219 ../gtk/gtktextview.c:684 +msgid "IM module" +msgstr "" + +#: ../gtk/gtkentry.c:1220 ../gtk/gtktextview.c:685 +msgid "Which IM module should be used" +msgstr "" + +#: ../gtk/gtkentry.c:1234 +msgid "Icon Prelight" +msgstr "" + +#: ../gtk/gtkentry.c:1235 +msgid "Whether activatable icons should prelight when hovered" +msgstr "" + +#: ../gtk/gtkentry.c:1248 +msgid "Progress Border" +msgstr "" + +#: ../gtk/gtkentry.c:1249 +msgid "Border around the progress bar" +msgstr "" + +#: ../gtk/gtkentry.c:1741 +msgid "Border between text and frame." +msgstr "" + +#: ../gtk/gtkentry.c:1757 +msgid "State Hint" +msgstr "" + +#: ../gtk/gtkentry.c:1758 +msgid "Whether to pass a proper state when drawing shadow or background" +msgstr "" + +#: ../gtk/gtkentry.c:1763 ../gtk/gtklabel.c:859 +msgid "Select on focus" +msgstr "" + +#: ../gtk/gtkentry.c:1764 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "" + +#: ../gtk/gtkentry.c:1778 +msgid "Password Hint Timeout" +msgstr "" + +#: ../gtk/gtkentry.c:1779 +msgid "How long to show the last input character in hidden entries" +msgstr "" + +#: ../gtk/gtkentrybuffer.c:354 +msgid "The contents of the buffer" +msgstr "" + +#: ../gtk/gtkentrybuffer.c:369 +msgid "Length of the text currently in the buffer" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:279 +msgid "Completion Model" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:280 +msgid "The model to find matches in" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:286 +msgid "Minimum Key Length" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:287 +msgid "Minimum length of the search key in order to look up matches" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:303 ../gtk/gtkiconview.c:587 +msgid "Text column" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:304 +msgid "The column of the model containing the strings." +msgstr "" + +#: ../gtk/gtkentrycompletion.c:323 +msgid "Inline completion" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:324 +msgid "Whether the common prefix should be inserted automatically" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:338 +msgid "Popup completion" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:339 +msgid "Whether the completions should be shown in a popup window" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:354 +msgid "Popup set width" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:355 +msgid "If TRUE, the popup window will have the same size as the entry" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:373 +msgid "Popup single match" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:374 +msgid "If TRUE, the popup window will appear for a single match." +msgstr "" + +#: ../gtk/gtkentrycompletion.c:388 +msgid "Inline selection" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:389 +msgid "Your description here" +msgstr "" + +#: ../gtk/gtkeventbox.c:91 +msgid "Visible Window" +msgstr "" + +#: ../gtk/gtkeventbox.c:92 +msgid "" +"Whether the event box is visible, as opposed to invisible and only used to " +"trap events." +msgstr "" + +#: ../gtk/gtkeventbox.c:98 +msgid "Above child" +msgstr "" + +#: ../gtk/gtkeventbox.c:99 +msgid "" +"Whether the event-trapping window of the eventbox is above the window of the " +"child widget as opposed to below it." +msgstr "" + +#: ../gtk/gtkexpander.c:189 +msgid "Expanded" +msgstr "" + +#: ../gtk/gtkexpander.c:190 +msgid "Whether the expander has been opened to reveal the child widget" +msgstr "" + +#: ../gtk/gtkexpander.c:198 +msgid "Text of the expander's label" +msgstr "" + +#: ../gtk/gtkexpander.c:213 ../gtk/gtklabel.c:521 +msgid "Use markup" +msgstr "" + +#: ../gtk/gtkexpander.c:214 ../gtk/gtklabel.c:522 +msgid "The text of the label includes XML markup. See pango_parse_markup()" +msgstr "" + +#: ../gtk/gtkexpander.c:222 +msgid "Space to put between the label and the child" +msgstr "" + +#: ../gtk/gtkexpander.c:231 ../gtk/gtkframe.c:147 ../gtk/gtktoolbutton.c:218 +#: ../gtk/gtktoolitemgroup.c:1550 +msgid "Label widget" +msgstr "" + +#: ../gtk/gtkexpander.c:232 +msgid "A widget to display in place of the usual expander label" +msgstr "" + +#: ../gtk/gtkexpander.c:239 +msgid "Label fill" +msgstr "" + +#: ../gtk/gtkexpander.c:240 +msgid "Whether the label widget should fill all available horizontal space" +msgstr "" + +#: ../gtk/gtkexpander.c:246 ../gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtktreeview.c:780 +msgid "Expander Size" +msgstr "" + +#: ../gtk/gtkexpander.c:247 ../gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktreeview.c:781 +msgid "Size of the expander arrow" +msgstr "" + +#: ../gtk/gtkexpander.c:256 +msgid "Spacing around expander arrow" +msgstr "" + +#: ../gtk/gtkfilechooser.c:759 +msgid "Action" +msgstr "" + +#: ../gtk/gtkfilechooser.c:760 +msgid "The type of operation that the file selector is performing" +msgstr "" + +#: ../gtk/gtkfilechooser.c:766 +msgid "File System Backend" +msgstr "" + +#: ../gtk/gtkfilechooser.c:767 +msgid "Name of file system backend to use" +msgstr "" + +#: ../gtk/gtkfilechooser.c:772 ../gtk/gtkrecentchooser.c:264 +msgid "Filter" +msgstr "" + +#: ../gtk/gtkfilechooser.c:773 +msgid "The current filter for selecting which files are displayed" +msgstr "" + +#: ../gtk/gtkfilechooser.c:778 +msgid "Local Only" +msgstr "" + +#: ../gtk/gtkfilechooser.c:779 +msgid "Whether the selected file(s) should be limited to local file: URLs" +msgstr "" + +#: ../gtk/gtkfilechooser.c:784 +msgid "Preview widget" +msgstr "" + +#: ../gtk/gtkfilechooser.c:785 +msgid "Application supplied widget for custom previews." +msgstr "" + +#: ../gtk/gtkfilechooser.c:790 +msgid "Preview Widget Active" +msgstr "" + +#: ../gtk/gtkfilechooser.c:791 +msgid "" +"Whether the application supplied widget for custom previews should be shown." +msgstr "" + +#: ../gtk/gtkfilechooser.c:796 +msgid "Use Preview Label" +msgstr "" + +#: ../gtk/gtkfilechooser.c:797 +msgid "Whether to display a stock label with the name of the previewed file." +msgstr "" + +#: ../gtk/gtkfilechooser.c:802 +msgid "Extra widget" +msgstr "" + +#: ../gtk/gtkfilechooser.c:803 +msgid "Application supplied widget for extra options." +msgstr "" + +#: ../gtk/gtkfilechooser.c:808 ../gtk/gtkfilesel.c:540 +#: ../gtk/gtkrecentchooser.c:203 +msgid "Select Multiple" +msgstr "" + +#: ../gtk/gtkfilechooser.c:809 ../gtk/gtkfilesel.c:541 +msgid "Whether to allow multiple files to be selected" +msgstr "" + +#: ../gtk/gtkfilechooser.c:815 +msgid "Show Hidden" +msgstr "" + +#: ../gtk/gtkfilechooser.c:816 +msgid "Whether the hidden files and folders should be displayed" +msgstr "" + +#: ../gtk/gtkfilechooser.c:831 +msgid "Do overwrite confirmation" +msgstr "" + +#: ../gtk/gtkfilechooser.c:832 +msgid "" +"Whether a file chooser in save mode will present an overwrite confirmation " +"dialog if necessary." +msgstr "" + +#: ../gtk/gtkfilechooser.c:848 +msgid "Allow folders creation" +msgstr "" + +#: ../gtk/gtkfilechooser.c:849 +msgid "" +"Whether a file chooser not in open mode will offer the user to create new " +"folders." +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:376 +msgid "Dialog" +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:377 +msgid "The file chooser dialog to use." +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:408 +msgid "The title of the file chooser dialog." +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:422 +msgid "The desired width of the button widget, in characters." +msgstr "" + +#: ../gtk/gtkfilesel.c:526 ../gtk/gtkimage.c:256 ../gtk/gtkrecentmanager.c:214 +#: ../gtk/gtkstatusicon.c:221 +msgid "Filename" +msgstr "" + +#: ../gtk/gtkfilesel.c:527 +msgid "The currently selected filename" +msgstr "" + +#: ../gtk/gtkfilesel.c:533 +msgid "Show file operations" +msgstr "" + +#: ../gtk/gtkfilesel.c:534 +msgid "Whether buttons for creating/manipulating files should be displayed" +msgstr "" + +#: ../gtk/gtkfixed.c:90 ../gtk/gtklayout.c:597 +msgid "X position" +msgstr "" + +#: ../gtk/gtkfixed.c:91 ../gtk/gtklayout.c:598 +msgid "X position of child widget" +msgstr "" + +#: ../gtk/gtkfixed.c:100 ../gtk/gtklayout.c:607 +msgid "Y position" +msgstr "" + +#: ../gtk/gtkfixed.c:101 ../gtk/gtklayout.c:608 +msgid "Y position of child widget" +msgstr "" + +#: ../gtk/gtkfontbutton.c:143 +msgid "The title of the font selection dialog" +msgstr "" + +#: ../gtk/gtkfontbutton.c:158 ../gtk/gtkfontsel.c:196 +msgid "Font name" +msgstr "" + +#: ../gtk/gtkfontbutton.c:159 +msgid "The name of the selected font" +msgstr "" + +#: ../gtk/gtkfontbutton.c:160 +msgid "Sans 12" +msgstr "" + +#: ../gtk/gtkfontbutton.c:175 +msgid "Use font in label" +msgstr "" + +#: ../gtk/gtkfontbutton.c:176 +msgid "Whether the label is drawn in the selected font" +msgstr "" + +#: ../gtk/gtkfontbutton.c:191 +msgid "Use size in label" +msgstr "" + +#: ../gtk/gtkfontbutton.c:192 +msgid "Whether the label is drawn with the selected font size" +msgstr "" + +#: ../gtk/gtkfontbutton.c:208 +msgid "Show style" +msgstr "" + +#: ../gtk/gtkfontbutton.c:209 +msgid "Whether the selected font style is shown in the label" +msgstr "" + +#: ../gtk/gtkfontbutton.c:224 +msgid "Show size" +msgstr "" + +#: ../gtk/gtkfontbutton.c:225 +msgid "Whether selected font size is shown in the label" +msgstr "" + +#: ../gtk/gtkfontsel.c:197 +msgid "The string that represents this font" +msgstr "" + +#: ../gtk/gtkfontsel.c:204 +msgid "The GdkFont that is currently selected" +msgstr "" + +#: ../gtk/gtkfontsel.c:210 +msgid "Preview text" +msgstr "" + +#: ../gtk/gtkfontsel.c:211 +msgid "The text to display in order to demonstrate the selected font" +msgstr "" + +#: ../gtk/gtkframe.c:106 +msgid "Text of the frame's label" +msgstr "" + +#: ../gtk/gtkframe.c:113 +msgid "Label xalign" +msgstr "" + +#: ../gtk/gtkframe.c:114 +msgid "The horizontal alignment of the label" +msgstr "" + +#: ../gtk/gtkframe.c:122 +msgid "Label yalign" +msgstr "" + +#: ../gtk/gtkframe.c:123 +msgid "The vertical alignment of the label" +msgstr "" + +#: ../gtk/gtkframe.c:131 ../gtk/gtkhandlebox.c:167 +msgid "Deprecated property, use shadow_type instead" +msgstr "" + +#: ../gtk/gtkframe.c:138 +msgid "Frame shadow" +msgstr "" + +#: ../gtk/gtkframe.c:139 +msgid "Appearance of the frame border" +msgstr "" + +#: ../gtk/gtkframe.c:148 +msgid "A widget to display in place of the usual frame label" +msgstr "" + +#: ../gtk/gtkhandlebox.c:175 +msgid "Appearance of the shadow that surrounds the container" +msgstr "" + +#: ../gtk/gtkhandlebox.c:183 +msgid "Handle position" +msgstr "" + +#: ../gtk/gtkhandlebox.c:184 +msgid "Position of the handle relative to the child widget" +msgstr "" + +#: ../gtk/gtkhandlebox.c:192 +msgid "Snap edge" +msgstr "" + +#: ../gtk/gtkhandlebox.c:193 +msgid "" +"Side of the handlebox that's lined up with the docking point to dock the " +"handlebox" +msgstr "" + +#: ../gtk/gtkhandlebox.c:201 +msgid "Snap edge set" +msgstr "" + +#: ../gtk/gtkhandlebox.c:202 +msgid "" +"Whether to use the value from the snap_edge property or a value derived from " +"handle_position" +msgstr "" + +#: ../gtk/gtkhandlebox.c:209 +msgid "Child Detached" +msgstr "" + +#: ../gtk/gtkhandlebox.c:210 +msgid "" +"A boolean value indicating whether the handlebox's child is attached or " +"detached." +msgstr "" + +#: ../gtk/gtkiconview.c:550 +msgid "Selection mode" +msgstr "" + +#: ../gtk/gtkiconview.c:551 +msgid "The selection mode" +msgstr "" + +#: ../gtk/gtkiconview.c:569 +msgid "Pixbuf column" +msgstr "" + +#: ../gtk/gtkiconview.c:570 +msgid "Model column used to retrieve the icon pixbuf from" +msgstr "" + +#: ../gtk/gtkiconview.c:588 +msgid "Model column used to retrieve the text from" +msgstr "" + +#: ../gtk/gtkiconview.c:607 +msgid "Markup column" +msgstr "" + +#: ../gtk/gtkiconview.c:608 +msgid "Model column used to retrieve the text if using Pango markup" +msgstr "" + +#: ../gtk/gtkiconview.c:615 +msgid "Icon View Model" +msgstr "" + +#: ../gtk/gtkiconview.c:616 +msgid "The model for the icon view" +msgstr "" + +#: ../gtk/gtkiconview.c:632 +msgid "Number of columns" +msgstr "" + +#: ../gtk/gtkiconview.c:633 +msgid "Number of columns to display" +msgstr "" + +#: ../gtk/gtkiconview.c:650 +msgid "Width for each item" +msgstr "" + +#: ../gtk/gtkiconview.c:651 +msgid "The width used for each item" +msgstr "" + +#: ../gtk/gtkiconview.c:667 +msgid "Space which is inserted between cells of an item" +msgstr "" + +#: ../gtk/gtkiconview.c:682 +msgid "Row Spacing" +msgstr "" + +#: ../gtk/gtkiconview.c:683 +msgid "Space which is inserted between grid rows" +msgstr "" + +#: ../gtk/gtkiconview.c:698 +msgid "Column Spacing" +msgstr "" + +#: ../gtk/gtkiconview.c:699 +msgid "Space which is inserted between grid columns" +msgstr "" + +#: ../gtk/gtkiconview.c:714 +msgid "Margin" +msgstr "" + +#: ../gtk/gtkiconview.c:715 +msgid "Space which is inserted at the edges of the icon view" +msgstr "" + +#: ../gtk/gtkiconview.c:733 ../gtk/gtkiconview.c:750 +msgid "" +"How the text and icon of each item are positioned relative to each other" +msgstr "" + +#: ../gtk/gtkiconview.c:749 +msgid "Item Orientation" +msgstr "" + +#: ../gtk/gtkiconview.c:766 ../gtk/gtktreeview.c:615 +#: ../gtk/gtktreeviewcolumn.c:308 +msgid "Reorderable" +msgstr "" + +#: ../gtk/gtkiconview.c:767 ../gtk/gtktreeview.c:616 +msgid "View is reorderable" +msgstr "" + +#: ../gtk/gtkiconview.c:774 ../gtk/gtktreeview.c:766 +msgid "Tooltip Column" +msgstr "" + +#: ../gtk/gtkiconview.c:775 +msgid "The column in the model containing the tooltip texts for the items" +msgstr "" + +#: ../gtk/gtkiconview.c:792 +msgid "Item Padding" +msgstr "" + +#: ../gtk/gtkiconview.c:793 +msgid "Padding around icon view items" +msgstr "" + +#: ../gtk/gtkiconview.c:802 +msgid "Selection Box Color" +msgstr "" + +#: ../gtk/gtkiconview.c:803 +msgid "Color of the selection box" +msgstr "" + +#: ../gtk/gtkiconview.c:809 +msgid "Selection Box Alpha" +msgstr "" + +#: ../gtk/gtkiconview.c:810 +msgid "Opacity of the selection box" +msgstr "" + +#: ../gtk/gtkimage.c:224 ../gtk/gtkstatusicon.c:213 +msgid "Pixbuf" +msgstr "" + +#: ../gtk/gtkimage.c:225 ../gtk/gtkstatusicon.c:214 +msgid "A GdkPixbuf to display" +msgstr "" + +#: ../gtk/gtkimage.c:232 +msgid "Pixmap" +msgstr "" + +#: ../gtk/gtkimage.c:233 +msgid "A GdkPixmap to display" +msgstr "" + +#: ../gtk/gtkimage.c:240 ../gtk/gtkmessagedialog.c:305 +msgid "Image" +msgstr "" + +#: ../gtk/gtkimage.c:241 +msgid "A GdkImage to display" +msgstr "" + +#: ../gtk/gtkimage.c:248 +msgid "Mask" +msgstr "" + +#: ../gtk/gtkimage.c:249 +msgid "Mask bitmap to use with GdkImage or GdkPixmap" +msgstr "" + +#: ../gtk/gtkimage.c:257 ../gtk/gtkstatusicon.c:222 +msgid "Filename to load and display" +msgstr "" + +#: ../gtk/gtkimage.c:266 ../gtk/gtkstatusicon.c:230 +msgid "Stock ID for a stock image to display" +msgstr "" + +#: ../gtk/gtkimage.c:273 +msgid "Icon set" +msgstr "" + +#: ../gtk/gtkimage.c:274 +msgid "Icon set to display" +msgstr "" + +#: ../gtk/gtkimage.c:281 ../gtk/gtkscalebutton.c:216 ../gtk/gtktoolbar.c:540 +#: ../gtk/gtktoolpalette.c:991 +msgid "Icon size" +msgstr "" + +#: ../gtk/gtkimage.c:282 +msgid "Symbolic size to use for stock icon, icon set or named icon" +msgstr "" + +#: ../gtk/gtkimage.c:298 +msgid "Pixel size" +msgstr "" + +#: ../gtk/gtkimage.c:299 +msgid "Pixel size to use for named icon" +msgstr "" + +#: ../gtk/gtkimage.c:307 +msgid "Animation" +msgstr "" + +#: ../gtk/gtkimage.c:308 +msgid "GdkPixbufAnimation to display" +msgstr "" + +#: ../gtk/gtkimage.c:348 ../gtk/gtkstatusicon.c:261 +msgid "Storage type" +msgstr "" + +#: ../gtk/gtkimage.c:349 ../gtk/gtkstatusicon.c:262 +msgid "The representation being used for image data" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:136 +msgid "Child widget to appear next to the menu text" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:151 +msgid "Whether to use the label text to create a stock menu item" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:184 ../gtk/gtkmenu.c:522 +msgid "Accel Group" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:185 +msgid "The Accel Group to use for stock accelerator keys" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:190 +msgid "Show menu images" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:191 +msgid "Whether images should be shown in menus" +msgstr "" + +#: ../gtk/gtkinfobar.c:384 ../gtk/gtkmessagedialog.c:218 +msgid "Message Type" +msgstr "" + +#: ../gtk/gtkinfobar.c:385 ../gtk/gtkmessagedialog.c:219 +msgid "The type of message" +msgstr "" + +#: ../gtk/gtkinfobar.c:440 +msgid "Width of border around the content area" +msgstr "" + +#: ../gtk/gtkinfobar.c:457 +msgid "Spacing between elements of the area" +msgstr "" + +#: ../gtk/gtkinfobar.c:489 +msgid "Width of border around the action area" +msgstr "" + +#: ../gtk/gtkinvisible.c:87 ../gtk/gtkwindow.c:642 +msgid "The screen where this window will be displayed" +msgstr "" + +#: ../gtk/gtklabel.c:508 +msgid "The text of the label" +msgstr "" + +#: ../gtk/gtklabel.c:515 +msgid "A list of style attributes to apply to the text of the label" +msgstr "" + +#: ../gtk/gtklabel.c:536 ../gtk/gtktexttag.c:359 ../gtk/gtktextview.c:593 +msgid "Justification" +msgstr "" + +#: ../gtk/gtklabel.c:537 +msgid "" +"The alignment of the lines in the text of the label relative to each other. " +"This does NOT affect the alignment of the label within its allocation. See " +"GtkMisc::xalign for that" +msgstr "" + +#: ../gtk/gtklabel.c:545 +msgid "Pattern" +msgstr "" + +#: ../gtk/gtklabel.c:546 +msgid "" +"A string with _ characters in positions correspond to characters in the text " +"to underline" +msgstr "" + +#: ../gtk/gtklabel.c:553 +msgid "Line wrap" +msgstr "" + +#: ../gtk/gtklabel.c:554 +msgid "If set, wrap lines if the text becomes too wide" +msgstr "" + +#: ../gtk/gtklabel.c:569 +msgid "Line wrap mode" +msgstr "" + +#: ../gtk/gtklabel.c:570 +msgid "If wrap is set, controls how linewrapping is done" +msgstr "" + +#: ../gtk/gtklabel.c:577 +msgid "Selectable" +msgstr "" + +#: ../gtk/gtklabel.c:578 +msgid "Whether the label text can be selected with the mouse" +msgstr "" + +#: ../gtk/gtklabel.c:584 +msgid "Mnemonic key" +msgstr "" + +#: ../gtk/gtklabel.c:585 +msgid "The mnemonic accelerator key for this label" +msgstr "" + +#: ../gtk/gtklabel.c:593 +msgid "Mnemonic widget" +msgstr "" + +#: ../gtk/gtklabel.c:594 +msgid "The widget to be activated when the label's mnemonic key is pressed" +msgstr "" + +#: ../gtk/gtklabel.c:640 +msgid "" +"The preferred place to ellipsize the string, if the label does not have " +"enough room to display the entire string" +msgstr "" + +#: ../gtk/gtklabel.c:680 +msgid "Single Line Mode" +msgstr "" + +#: ../gtk/gtklabel.c:681 +msgid "Whether the label is in single line mode" +msgstr "" + +#: ../gtk/gtklabel.c:698 +msgid "Angle" +msgstr "" + +#: ../gtk/gtklabel.c:699 +msgid "Angle at which the label is rotated" +msgstr "" + +#: ../gtk/gtklabel.c:719 +msgid "Maximum Width In Characters" +msgstr "" + +#: ../gtk/gtklabel.c:720 +msgid "The desired maximum width of the label, in characters" +msgstr "" + +#: ../gtk/gtklabel.c:738 +msgid "Track visited links" +msgstr "" + +#: ../gtk/gtklabel.c:739 +msgid "Whether visited links should be tracked" +msgstr "" + +#: ../gtk/gtklabel.c:860 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "" + +#: ../gtk/gtklayout.c:617 ../gtk/gtkviewport.c:125 +msgid "Horizontal adjustment" +msgstr "" + +#: ../gtk/gtklayout.c:618 ../gtk/gtkscrolledwindow.c:219 +msgid "The GtkAdjustment for the horizontal position" +msgstr "" + +#: ../gtk/gtklayout.c:625 ../gtk/gtkviewport.c:133 +msgid "Vertical adjustment" +msgstr "" + +#: ../gtk/gtklayout.c:626 ../gtk/gtkscrolledwindow.c:226 +msgid "The GtkAdjustment for the vertical position" +msgstr "" + +#: ../gtk/gtklayout.c:633 ../gtk/gtktreeviewcolumn.c:208 +msgid "Width" +msgstr "" + +#: ../gtk/gtklayout.c:634 +msgid "The width of the layout" +msgstr "" + +#: ../gtk/gtklayout.c:642 +msgid "Height" +msgstr "" + +#: ../gtk/gtklayout.c:643 +msgid "The height of the layout" +msgstr "" + +#: ../gtk/gtklinkbutton.c:145 +msgid "URI" +msgstr "" + +#: ../gtk/gtklinkbutton.c:146 +msgid "The URI bound to this button" +msgstr "" + +#: ../gtk/gtklinkbutton.c:160 +msgid "Visited" +msgstr "" + +#: ../gtk/gtklinkbutton.c:161 +msgid "Whether this link has been visited." +msgstr "" + +#: ../gtk/gtkmenu.c:508 +msgid "The currently selected menu item" +msgstr "" + +#: ../gtk/gtkmenu.c:523 +msgid "The accel group holding accelerators for the menu" +msgstr "" + +#: ../gtk/gtkmenu.c:537 ../gtk/gtkmenuitem.c:290 +msgid "Accel Path" +msgstr "" + +#: ../gtk/gtkmenu.c:538 +msgid "An accel path used to conveniently construct accel paths of child items" +msgstr "" + +#: ../gtk/gtkmenu.c:554 +msgid "Attach Widget" +msgstr "" + +#: ../gtk/gtkmenu.c:555 +msgid "The widget the menu is attached to" +msgstr "" + +#: ../gtk/gtkmenu.c:563 +msgid "" +"A title that may be displayed by the window manager when this menu is torn-" +"off" +msgstr "" + +#: ../gtk/gtkmenu.c:577 +msgid "Tearoff State" +msgstr "" + +#: ../gtk/gtkmenu.c:578 +msgid "A boolean that indicates whether the menu is torn-off" +msgstr "" + +#: ../gtk/gtkmenu.c:592 +msgid "Monitor" +msgstr "" + +#: ../gtk/gtkmenu.c:593 +msgid "The monitor the menu will be popped up on" +msgstr "" + +#: ../gtk/gtkmenu.c:599 +msgid "Vertical Padding" +msgstr "" + +#: ../gtk/gtkmenu.c:600 +msgid "Extra space at the top and bottom of the menu" +msgstr "" + +#: ../gtk/gtkmenu.c:622 +msgid "Reserve Toggle Size" +msgstr "" + +#: ../gtk/gtkmenu.c:623 +msgid "" +"A boolean that indicates whether the menu reserves space for toggles and " +"icons" +msgstr "" + +#: ../gtk/gtkmenu.c:629 +msgid "Horizontal Padding" +msgstr "" + +#: ../gtk/gtkmenu.c:630 +msgid "Extra space at the left and right edges of the menu" +msgstr "" + +#: ../gtk/gtkmenu.c:638 +msgid "Vertical Offset" +msgstr "" + +#: ../gtk/gtkmenu.c:639 +msgid "" +"When the menu is a submenu, position it this number of pixels offset " +"vertically" +msgstr "" + +#: ../gtk/gtkmenu.c:647 +msgid "Horizontal Offset" +msgstr "" + +#: ../gtk/gtkmenu.c:648 +msgid "" +"When the menu is a submenu, position it this number of pixels offset " +"horizontally" +msgstr "" + +#: ../gtk/gtkmenu.c:656 +msgid "Double Arrows" +msgstr "" + +#: ../gtk/gtkmenu.c:657 +msgid "When scrolling, always show both arrows." +msgstr "" + +#: ../gtk/gtkmenu.c:670 +msgid "Arrow Placement" +msgstr "" + +#: ../gtk/gtkmenu.c:671 +msgid "Indicates where scroll arrows should be placed" +msgstr "" + +#: ../gtk/gtkmenu.c:679 +msgid "Left Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:680 ../gtk/gtktable.c:174 +msgid "The column number to attach the left side of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:687 +msgid "Right Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:688 +msgid "The column number to attach the right side of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:695 +msgid "Top Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:696 +msgid "The row number to attach the top of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:703 +msgid "Bottom Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:704 ../gtk/gtktable.c:195 +msgid "The row number to attach the bottom of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:718 +msgid "Arbitrary constant to scale down the size of the scroll arrow" +msgstr "" + +#: ../gtk/gtkmenu.c:805 +msgid "Can change accelerators" +msgstr "" + +#: ../gtk/gtkmenu.c:806 +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "" + +#: ../gtk/gtkmenu.c:811 +msgid "Delay before submenus appear" +msgstr "" + +#: ../gtk/gtkmenu.c:812 +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "" + +#: ../gtk/gtkmenu.c:819 +msgid "Delay before hiding a submenu" +msgstr "" + +#: ../gtk/gtkmenu.c:820 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "" + +#: ../gtk/gtkmenubar.c:168 +msgid "Pack direction" +msgstr "" + +#: ../gtk/gtkmenubar.c:169 +msgid "The pack direction of the menubar" +msgstr "" + +#: ../gtk/gtkmenubar.c:185 +msgid "Child Pack direction" +msgstr "" + +#: ../gtk/gtkmenubar.c:186 +msgid "The child pack direction of the menubar" +msgstr "" + +#: ../gtk/gtkmenubar.c:195 +msgid "Style of bevel around the menubar" +msgstr "" + +#: ../gtk/gtkmenubar.c:202 ../gtk/gtktoolbar.c:590 +msgid "Internal padding" +msgstr "" + +#: ../gtk/gtkmenubar.c:203 +msgid "Amount of border space between the menubar shadow and the menu items" +msgstr "" + +#: ../gtk/gtkmenubar.c:210 +msgid "Delay before drop down menus appear" +msgstr "" + +#: ../gtk/gtkmenubar.c:211 +msgid "Delay before the submenus of a menu bar appear" +msgstr "" + +#: ../gtk/gtkmenuitem.c:257 +msgid "Right Justified" +msgstr "" + +#: ../gtk/gtkmenuitem.c:258 +msgid "" +"Sets whether the menu item appears justified at the right side of a menu bar" +msgstr "" + +#: ../gtk/gtkmenuitem.c:272 +msgid "Submenu" +msgstr "" + +#: ../gtk/gtkmenuitem.c:273 +msgid "The submenu attached to the menu item, or NULL if it has none" +msgstr "" + +#: ../gtk/gtkmenuitem.c:291 +msgid "Sets the accelerator path of the menu item" +msgstr "" + +#: ../gtk/gtkmenuitem.c:306 +msgid "The text for the child label" +msgstr "" + +#: ../gtk/gtkmenuitem.c:369 +msgid "Amount of space used up by arrow, relative to the menu item's font size" +msgstr "" + +#: ../gtk/gtkmenuitem.c:382 +msgid "Width in Characters" +msgstr "" + +#: ../gtk/gtkmenuitem.c:383 +msgid "The minimum desired width of the menu item in characters" +msgstr "" + +#: ../gtk/gtkmenushell.c:379 +msgid "Take Focus" +msgstr "" + +#: ../gtk/gtkmenushell.c:380 +msgid "A boolean that determines whether the menu grabs the keyboard focus" +msgstr "" + +#: ../gtk/gtkmenutoolbutton.c:245 ../gtk/gtkoptionmenu.c:161 +msgid "Menu" +msgstr "" + +#: ../gtk/gtkmenutoolbutton.c:246 +msgid "The dropdown menu" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:186 +msgid "Image/label border" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:187 +msgid "Width of border around the label and image in the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:204 +msgid "Use separator" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:205 +msgid "" +"Whether to put a separator between the message dialog's text and the buttons" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:226 +msgid "Message Buttons" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:227 +msgid "The buttons shown in the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:244 +msgid "The primary text of the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:259 +msgid "Use Markup" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:260 +msgid "The primary text of the title includes Pango markup." +msgstr "" + +#: ../gtk/gtkmessagedialog.c:274 +msgid "Secondary Text" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:275 +msgid "The secondary text of the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:290 +msgid "Use Markup in secondary" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:291 +msgid "The secondary text includes Pango markup." +msgstr "" + +#: ../gtk/gtkmessagedialog.c:306 +msgid "The image" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:322 +msgid "Message area" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:323 +msgid "GtkVBox that holds the dialog's primary and secondary labels" +msgstr "" + +#: ../gtk/gtkmisc.c:83 +msgid "Y align" +msgstr "" + +#: ../gtk/gtkmisc.c:84 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "" + +#: ../gtk/gtkmisc.c:93 +msgid "X pad" +msgstr "" + +#: ../gtk/gtkmisc.c:94 +msgid "" +"The amount of space to add on the left and right of the widget, in pixels" +msgstr "" + +#: ../gtk/gtkmisc.c:103 +msgid "Y pad" +msgstr "" + +#: ../gtk/gtkmisc.c:104 +msgid "" +"The amount of space to add on the top and bottom of the widget, in pixels" +msgstr "" + +#: ../gtk/gtkmountoperation.c:160 +msgid "Parent" +msgstr "" + +#: ../gtk/gtkmountoperation.c:161 +msgid "The parent window" +msgstr "" + +#: ../gtk/gtkmountoperation.c:168 +msgid "Is Showing" +msgstr "" + +#: ../gtk/gtkmountoperation.c:169 +msgid "Are we showing a dialog" +msgstr "" + +#: ../gtk/gtkmountoperation.c:177 +msgid "The screen where this window will be displayed." +msgstr "" + +#: ../gtk/gtknotebook.c:585 +msgid "Page" +msgstr "" + +#: ../gtk/gtknotebook.c:586 +msgid "The index of the current page" +msgstr "" + +#: ../gtk/gtknotebook.c:594 +msgid "Tab Position" +msgstr "" + +#: ../gtk/gtknotebook.c:595 +msgid "Which side of the notebook holds the tabs" +msgstr "" + +#: ../gtk/gtknotebook.c:602 +msgid "Tab Border" +msgstr "" + +#: ../gtk/gtknotebook.c:603 +msgid "Width of the border around the tab labels" +msgstr "" + +#: ../gtk/gtknotebook.c:611 +msgid "Horizontal Tab Border" +msgstr "" + +#: ../gtk/gtknotebook.c:612 +msgid "Width of the horizontal border of tab labels" +msgstr "" + +#: ../gtk/gtknotebook.c:620 +msgid "Vertical Tab Border" +msgstr "" + +#: ../gtk/gtknotebook.c:621 +msgid "Width of the vertical border of tab labels" +msgstr "" + +#: ../gtk/gtknotebook.c:629 +msgid "Show Tabs" +msgstr "" + +#: ../gtk/gtknotebook.c:630 +msgid "Whether tabs should be shown or not" +msgstr "" + +#: ../gtk/gtknotebook.c:636 +msgid "Show Border" +msgstr "" + +#: ../gtk/gtknotebook.c:637 +msgid "Whether the border should be shown or not" +msgstr "" + +#: ../gtk/gtknotebook.c:643 +msgid "Scrollable" +msgstr "" + +#: ../gtk/gtknotebook.c:644 +msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" +msgstr "" + +#: ../gtk/gtknotebook.c:650 +msgid "Enable Popup" +msgstr "" + +#: ../gtk/gtknotebook.c:651 +msgid "" +"If TRUE, pressing the right mouse button on the notebook pops up a menu that " +"you can use to go to a page" +msgstr "" + +#: ../gtk/gtknotebook.c:658 +msgid "Whether tabs should have homogeneous sizes" +msgstr "" + +#: ../gtk/gtknotebook.c:664 +msgid "Group ID" +msgstr "" + +#: ../gtk/gtknotebook.c:665 +msgid "Group ID for tabs drag and drop" +msgstr "" + +#: ../gtk/gtknotebook.c:681 ../gtk/gtkradioaction.c:128 +#: ../gtk/gtkradiobutton.c:82 ../gtk/gtkradiomenuitem.c:353 +#: ../gtk/gtkradiotoolbutton.c:65 +msgid "Group" +msgstr "" + +#: ../gtk/gtknotebook.c:682 +msgid "Group for tabs drag and drop" +msgstr "" + +#: ../gtk/gtknotebook.c:688 +msgid "Tab label" +msgstr "" + +#: ../gtk/gtknotebook.c:689 +msgid "The string displayed on the child's tab label" +msgstr "" + +#: ../gtk/gtknotebook.c:695 +msgid "Menu label" +msgstr "" + +#: ../gtk/gtknotebook.c:696 +msgid "The string displayed in the child's menu entry" +msgstr "" + +#: ../gtk/gtknotebook.c:709 +msgid "Tab expand" +msgstr "" + +#: ../gtk/gtknotebook.c:710 +msgid "Whether to expand the child's tab or not" +msgstr "" + +#: ../gtk/gtknotebook.c:716 +msgid "Tab fill" +msgstr "" + +#: ../gtk/gtknotebook.c:717 +msgid "Whether the child's tab should fill the allocated area or not" +msgstr "" + +#: ../gtk/gtknotebook.c:723 +msgid "Tab pack type" +msgstr "" + +#: ../gtk/gtknotebook.c:730 +msgid "Tab reorderable" +msgstr "" + +#: ../gtk/gtknotebook.c:731 +msgid "Whether the tab is reorderable by user action or not" +msgstr "" + +#: ../gtk/gtknotebook.c:737 +msgid "Tab detachable" +msgstr "" + +#: ../gtk/gtknotebook.c:738 +msgid "Whether the tab is detachable" +msgstr "" + +#: ../gtk/gtknotebook.c:753 ../gtk/gtkscrollbar.c:81 +msgid "Secondary backward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:754 +msgid "" +"Display a second backward arrow button on the opposite end of the tab area" +msgstr "" + +#: ../gtk/gtknotebook.c:769 ../gtk/gtkscrollbar.c:88 +msgid "Secondary forward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:770 +msgid "" +"Display a second forward arrow button on the opposite end of the tab area" +msgstr "" + +#: ../gtk/gtknotebook.c:784 ../gtk/gtkscrollbar.c:67 +msgid "Backward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:785 ../gtk/gtkscrollbar.c:68 +msgid "Display the standard backward arrow button" +msgstr "" + +#: ../gtk/gtknotebook.c:799 ../gtk/gtkscrollbar.c:74 +msgid "Forward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:800 ../gtk/gtkscrollbar.c:75 +msgid "Display the standard forward arrow button" +msgstr "" + +#: ../gtk/gtknotebook.c:814 +msgid "Tab overlap" +msgstr "" + +#: ../gtk/gtknotebook.c:815 +msgid "Size of tab overlap area" +msgstr "" + +#: ../gtk/gtknotebook.c:830 +msgid "Tab curvature" +msgstr "" + +#: ../gtk/gtknotebook.c:831 +msgid "Size of tab curvature" +msgstr "" + +#: ../gtk/gtknotebook.c:847 +msgid "Arrow spacing" +msgstr "" + +#: ../gtk/gtknotebook.c:848 +msgid "Scroll arrow spacing" +msgstr "" + +#: ../gtk/gtkobject.c:370 +msgid "User Data" +msgstr "" + +#: ../gtk/gtkobject.c:371 +msgid "Anonymous User Data Pointer" +msgstr "" + +#: ../gtk/gtkoptionmenu.c:162 +msgid "The menu of options" +msgstr "" + +#: ../gtk/gtkoptionmenu.c:169 +msgid "Size of dropdown indicator" +msgstr "" + +#: ../gtk/gtkoptionmenu.c:175 +msgid "Spacing around indicator" +msgstr "" + +#: ../gtk/gtkorientable.c:48 +msgid "The orientation of the orientable" +msgstr "" + +#: ../gtk/gtkpaned.c:242 +msgid "" +"Position of paned separator in pixels (0 means all the way to the left/top)" +msgstr "" + +#: ../gtk/gtkpaned.c:251 +msgid "Position Set" +msgstr "" + +#: ../gtk/gtkpaned.c:252 +msgid "TRUE if the Position property should be used" +msgstr "" + +#: ../gtk/gtkpaned.c:258 +msgid "Handle Size" +msgstr "" + +#: ../gtk/gtkpaned.c:259 +msgid "Width of handle" +msgstr "" + +#: ../gtk/gtkpaned.c:275 +msgid "Minimal Position" +msgstr "" + +#: ../gtk/gtkpaned.c:276 +msgid "Smallest possible value for the \"position\" property" +msgstr "" + +#: ../gtk/gtkpaned.c:293 +msgid "Maximal Position" +msgstr "" + +#: ../gtk/gtkpaned.c:294 +msgid "Largest possible value for the \"position\" property" +msgstr "" + +#: ../gtk/gtkpaned.c:311 +msgid "Resize" +msgstr "" + +#: ../gtk/gtkpaned.c:312 +msgid "If TRUE, the child expands and shrinks along with the paned widget" +msgstr "" + +#: ../gtk/gtkpaned.c:327 +msgid "Shrink" +msgstr "" + +#: ../gtk/gtkpaned.c:328 +msgid "If TRUE, the child can be made smaller than its requisition" +msgstr "" + +#: ../gtk/gtkplug.c:171 ../gtk/gtkstatusicon.c:319 +msgid "Embedded" +msgstr "" + +#: ../gtk/gtkplug.c:172 +msgid "Whether or not the plug is embedded" +msgstr "" + +#: ../gtk/gtkplug.c:186 +msgid "Socket Window" +msgstr "" + +#: ../gtk/gtkplug.c:187 +msgid "The window of the socket the plug is embedded in" +msgstr "" + +#: ../gtk/gtkpreview.c:103 +msgid "" +"Whether the preview widget should take up the entire space it is allocated" +msgstr "" + +#: ../gtk/gtkprinter.c:112 +msgid "Name of the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:118 +msgid "Backend" +msgstr "" + +#: ../gtk/gtkprinter.c:119 +msgid "Backend for the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:125 +msgid "Is Virtual" +msgstr "" + +#: ../gtk/gtkprinter.c:126 +msgid "FALSE if this represents a real hardware printer" +msgstr "" + +#: ../gtk/gtkprinter.c:132 +msgid "Accepts PDF" +msgstr "" + +#: ../gtk/gtkprinter.c:133 +msgid "TRUE if this printer can accept PDF" +msgstr "" + +#: ../gtk/gtkprinter.c:139 +msgid "Accepts PostScript" +msgstr "" + +#: ../gtk/gtkprinter.c:140 +msgid "TRUE if this printer can accept PostScript" +msgstr "" + +#: ../gtk/gtkprinter.c:146 +msgid "State Message" +msgstr "" + +#: ../gtk/gtkprinter.c:147 +msgid "String giving the current state of the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:153 +msgid "Location" +msgstr "" + +#: ../gtk/gtkprinter.c:154 +msgid "The location of the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:161 +msgid "The icon name to use for the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:167 +msgid "Job Count" +msgstr "" + +#: ../gtk/gtkprinter.c:168 +msgid "Number of jobs queued in the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:186 +msgid "Paused Printer" +msgstr "" + +#: ../gtk/gtkprinter.c:187 +msgid "TRUE if this printer is paused" +msgstr "" + +#: ../gtk/gtkprinter.c:200 +msgid "Accepting Jobs" +msgstr "" + +#: ../gtk/gtkprinter.c:201 +msgid "TRUE if this printer is accepting new jobs" +msgstr "" + +#: ../gtk/gtkprinteroptionwidget.c:123 +msgid "Source option" +msgstr "" + +#: ../gtk/gtkprinteroptionwidget.c:124 +msgid "The PrinterOption backing this widget" +msgstr "" + +#: ../gtk/gtkprintjob.c:117 +msgid "Title of the print job" +msgstr "" + +#: ../gtk/gtkprintjob.c:125 +msgid "Printer" +msgstr "" + +#: ../gtk/gtkprintjob.c:126 +msgid "Printer to print the job to" +msgstr "" + +#: ../gtk/gtkprintjob.c:134 +msgid "Settings" +msgstr "" + +#: ../gtk/gtkprintjob.c:135 +msgid "Printer settings" +msgstr "" + +#: ../gtk/gtkprintjob.c:143 ../gtk/gtkprintjob.c:144 +#: ../gtk/gtkprintunixdialog.c:302 +msgid "Page Setup" +msgstr "" + +#: ../gtk/gtkprintjob.c:152 ../gtk/gtkprintoperation.c:1125 +msgid "Track Print Status" +msgstr "" + +#: ../gtk/gtkprintjob.c:153 +msgid "" +"TRUE if the print job will continue to emit status-changed signals after the " +"print data has been sent to the printer or print server." +msgstr "" + +#: ../gtk/gtkprintoperation.c:997 +msgid "Default Page Setup" +msgstr "" + +#: ../gtk/gtkprintoperation.c:998 +msgid "The GtkPageSetup used by default" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1016 ../gtk/gtkprintunixdialog.c:320 +msgid "Print Settings" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1017 ../gtk/gtkprintunixdialog.c:321 +msgid "The GtkPrintSettings used for initializing the dialog" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1035 +msgid "Job Name" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1036 +msgid "A string used for identifying the print job." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1060 +msgid "Number of Pages" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1061 +msgid "The number of pages in the document." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1082 ../gtk/gtkprintunixdialog.c:310 +msgid "Current Page" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1083 ../gtk/gtkprintunixdialog.c:311 +msgid "The current page in the document" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1104 +msgid "Use full page" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1105 +msgid "" +"TRUE if the origin of the context should be at the corner of the page and " +"not the corner of the imageable area" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1126 +msgid "" +"TRUE if the print operation will continue to report on the print job status " +"after the print data has been sent to the printer or print server." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1143 +msgid "Unit" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1144 +msgid "The unit in which distances can be measured in the context" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1161 +msgid "Show Dialog" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1162 +msgid "TRUE if a progress dialog is shown while printing." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1185 +msgid "Allow Async" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1186 +msgid "TRUE if print process may run asynchronous." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1208 ../gtk/gtkprintoperation.c:1209 +msgid "Export filename" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1223 +msgid "Status" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1224 +msgid "The status of the print operation" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1244 +msgid "Status String" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1245 +msgid "A human-readable description of the status" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1263 +msgid "Custom tab label" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1264 +msgid "Label for the tab containing custom widgets." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1279 ../gtk/gtkprintunixdialog.c:345 +msgid "Support Selection" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1280 +msgid "TRUE if the print operation will support print of selection." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1296 ../gtk/gtkprintunixdialog.c:353 +msgid "Has Selection" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1297 +msgid "TRUE if a selection exists." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1312 ../gtk/gtkprintunixdialog.c:361 +msgid "Embed Page Setup" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1313 +msgid "TRUE if page setup combos are embedded in GtkPrintDialog" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1334 +msgid "Number of Pages To Print" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1335 +msgid "The number of pages that will be printed." +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:303 +msgid "The GtkPageSetup to use" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:328 +msgid "Selected Printer" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:329 +msgid "The GtkPrinter which is selected" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:336 +msgid "Manual Capabilites" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:337 +msgid "Capabilities the application can handle" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:346 +msgid "Whether the dialog supports selection" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:354 +msgid "Whether the application has a selection" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:362 +msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" +msgstr "" + +#: ../gtk/gtkprogress.c:103 +msgid "Activity mode" +msgstr "" + +#: ../gtk/gtkprogress.c:104 +msgid "" +"If TRUE, the GtkProgress is in activity mode, meaning that it signals " +"something is happening, but not how much of the activity is finished. This " +"is used when you're doing something but don't know how long it will take." +msgstr "" + +#: ../gtk/gtkprogress.c:112 +msgid "Show text" +msgstr "" + +#: ../gtk/gtkprogress.c:113 +msgid "Whether the progress is shown as text." +msgstr "" + +#: ../gtk/gtkprogressbar.c:119 +msgid "The GtkAdjustment connected to the progress bar (Deprecated)" +msgstr "" + +#: ../gtk/gtkprogressbar.c:135 +msgid "Bar style" +msgstr "" + +#: ../gtk/gtkprogressbar.c:136 +msgid "Specifies the visual style of the bar in percentage mode (Deprecated)" +msgstr "" + +#: ../gtk/gtkprogressbar.c:144 +msgid "Activity Step" +msgstr "" + +#: ../gtk/gtkprogressbar.c:145 +msgid "The increment used for each iteration in activity mode (Deprecated)" +msgstr "" + +#: ../gtk/gtkprogressbar.c:152 +msgid "Activity Blocks" +msgstr "" + +#: ../gtk/gtkprogressbar.c:153 +msgid "" +"The number of blocks which can fit in the progress bar area in activity mode " +"(Deprecated)" +msgstr "" + +#: ../gtk/gtkprogressbar.c:160 +msgid "Discrete Blocks" +msgstr "" + +#: ../gtk/gtkprogressbar.c:161 +msgid "" +"The number of discrete blocks in a progress bar (when shown in the discrete " +"style)" +msgstr "" + +#: ../gtk/gtkprogressbar.c:168 +msgid "Fraction" +msgstr "" + +#: ../gtk/gtkprogressbar.c:169 +msgid "The fraction of total work that has been completed" +msgstr "" + +#: ../gtk/gtkprogressbar.c:176 +msgid "Pulse Step" +msgstr "" + +#: ../gtk/gtkprogressbar.c:177 +msgid "The fraction of total progress to move the bouncing block when pulsed" +msgstr "" + +#: ../gtk/gtkprogressbar.c:185 +msgid "Text to be displayed in the progress bar" +msgstr "" + +#: ../gtk/gtkprogressbar.c:207 +msgid "" +"The preferred place to ellipsize the string, if the progress bar does not " +"have enough room to display the entire string, if at all." +msgstr "" + +#: ../gtk/gtkprogressbar.c:214 +msgid "XSpacing" +msgstr "" + +#: ../gtk/gtkprogressbar.c:215 +msgid "Extra spacing applied to the width of a progress bar." +msgstr "" + +#: ../gtk/gtkprogressbar.c:220 +msgid "YSpacing" +msgstr "" + +#: ../gtk/gtkprogressbar.c:221 +msgid "Extra spacing applied to the height of a progress bar." +msgstr "" + +#: ../gtk/gtkprogressbar.c:234 +msgid "Min horizontal bar width" +msgstr "" + +#: ../gtk/gtkprogressbar.c:235 +msgid "The minimum horizontal width of the progress bar" +msgstr "" + +#: ../gtk/gtkprogressbar.c:247 +msgid "Min horizontal bar height" +msgstr "" + +#: ../gtk/gtkprogressbar.c:248 +msgid "Minimum horizontal height of the progress bar" +msgstr "" + +#: ../gtk/gtkprogressbar.c:260 +msgid "Min vertical bar width" +msgstr "" + +#: ../gtk/gtkprogressbar.c:261 +msgid "The minimum vertical width of the progress bar" +msgstr "" + +#: ../gtk/gtkprogressbar.c:273 +msgid "Min vertical bar height" +msgstr "" + +#: ../gtk/gtkprogressbar.c:274 +msgid "The minimum vertical height of the progress bar" +msgstr "" + +#: ../gtk/gtkradioaction.c:111 +msgid "The value" +msgstr "" + +#: ../gtk/gtkradioaction.c:112 +msgid "" +"The value returned by gtk_radio_action_get_current_value() when this action " +"is the current action of its group." +msgstr "" + +#: ../gtk/gtkradioaction.c:129 +msgid "The radio action whose group this action belongs to." +msgstr "" + +#: ../gtk/gtkradioaction.c:144 +msgid "The current value" +msgstr "" + +#: ../gtk/gtkradioaction.c:145 +msgid "" +"The value property of the currently active member of the group to which this " +"action belongs." +msgstr "" + +#: ../gtk/gtkradiobutton.c:83 +msgid "The radio button whose group this widget belongs to." +msgstr "" + +#: ../gtk/gtkradiomenuitem.c:354 +msgid "The radio menu item whose group this widget belongs to." +msgstr "" + +#: ../gtk/gtkradiotoolbutton.c:66 +msgid "The radio tool button whose group this button belongs to." +msgstr "" + +#: ../gtk/gtkrange.c:366 +msgid "Update policy" +msgstr "" + +#: ../gtk/gtkrange.c:367 +msgid "How the range should be updated on the screen" +msgstr "" + +#: ../gtk/gtkrange.c:376 +msgid "The GtkAdjustment that contains the current value of this range object" +msgstr "" + +#: ../gtk/gtkrange.c:383 +msgid "Inverted" +msgstr "" + +#: ../gtk/gtkrange.c:384 +msgid "Invert direction slider moves to increase range value" +msgstr "" + +#: ../gtk/gtkrange.c:391 +msgid "Lower stepper sensitivity" +msgstr "" + +#: ../gtk/gtkrange.c:392 +msgid "" +"The sensitivity policy for the stepper that points to the adjustment's lower " +"side" +msgstr "" + +#: ../gtk/gtkrange.c:400 +msgid "Upper stepper sensitivity" +msgstr "" + +#: ../gtk/gtkrange.c:401 +msgid "" +"The sensitivity policy for the stepper that points to the adjustment's upper " +"side" +msgstr "" + +#: ../gtk/gtkrange.c:418 +msgid "Show Fill Level" +msgstr "" + +#: ../gtk/gtkrange.c:419 +msgid "Whether to display a fill level indicator graphics on trough." +msgstr "" + +#: ../gtk/gtkrange.c:435 +msgid "Restrict to Fill Level" +msgstr "" + +#: ../gtk/gtkrange.c:436 +msgid "Whether to restrict the upper boundary to the fill level." +msgstr "" + +#: ../gtk/gtkrange.c:451 +msgid "Fill Level" +msgstr "" + +#: ../gtk/gtkrange.c:452 +msgid "The fill level." +msgstr "" + +#: ../gtk/gtkrange.c:460 +msgid "Slider Width" +msgstr "" + +#: ../gtk/gtkrange.c:461 +msgid "Width of scrollbar or scale thumb" +msgstr "" + +#: ../gtk/gtkrange.c:468 +msgid "Trough Border" +msgstr "" + +#: ../gtk/gtkrange.c:469 +msgid "Spacing between thumb/steppers and outer trough bevel" +msgstr "" + +#: ../gtk/gtkrange.c:476 +msgid "Stepper Size" +msgstr "" + +#: ../gtk/gtkrange.c:477 +msgid "Length of step buttons at ends" +msgstr "" + +#: ../gtk/gtkrange.c:492 +msgid "Stepper Spacing" +msgstr "" + +#: ../gtk/gtkrange.c:493 +msgid "Spacing between step buttons and thumb" +msgstr "" + +#: ../gtk/gtkrange.c:500 +msgid "Arrow X Displacement" +msgstr "" + +#: ../gtk/gtkrange.c:501 +msgid "" +"How far in the x direction to move the arrow when the button is depressed" +msgstr "" + +#: ../gtk/gtkrange.c:508 +msgid "Arrow Y Displacement" +msgstr "" + +#: ../gtk/gtkrange.c:509 +msgid "" +"How far in the y direction to move the arrow when the button is depressed" +msgstr "" + +#: ../gtk/gtkrange.c:525 +msgid "Draw slider ACTIVE during drag" +msgstr "" + +#: ../gtk/gtkrange.c:526 +msgid "" +"With this option set to TRUE, sliders will be drawn ACTIVE and with shadow " +"IN while they are dragged" +msgstr "" + +#: ../gtk/gtkrange.c:542 +msgid "Trough Side Details" +msgstr "" + +#: ../gtk/gtkrange.c:543 +msgid "" +"When TRUE, the parts of the trough on the two sides of the slider are drawn " +"with different details" +msgstr "" + +#: ../gtk/gtkrange.c:559 +msgid "Trough Under Steppers" +msgstr "" + +#: ../gtk/gtkrange.c:560 +msgid "" +"Whether to draw trough for full length of range or exclude the steppers and " +"spacing" +msgstr "" + +#: ../gtk/gtkrange.c:573 +msgid "Arrow scaling" +msgstr "" + +#: ../gtk/gtkrange.c:574 +msgid "Arrow scaling with regard to scroll button size" +msgstr "" + +#: ../gtk/gtkrange.c:590 +msgid "Stepper Position Details" +msgstr "" + +#: ../gtk/gtkrange.c:591 +msgid "" +"When TRUE, the detail string for rendering the steppers is suffixed with " +"position information" +msgstr "" + +#: ../gtk/gtkrecentaction.c:616 ../gtk/gtkrecentchoosermenu.c:227 +msgid "Show Numbers" +msgstr "" + +#: ../gtk/gtkrecentaction.c:617 ../gtk/gtkrecentchoosermenu.c:228 +msgid "Whether the items should be displayed with a number" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:132 +msgid "Recent Manager" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:133 +msgid "The RecentManager object to use" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:147 +msgid "Show Private" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:148 +msgid "Whether the private items should be displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:161 +msgid "Show Tooltips" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:162 +msgid "Whether there should be a tooltip on the item" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:174 +msgid "Show Icons" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:175 +msgid "Whether there should be an icon near the item" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:190 +msgid "Show Not Found" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:191 +msgid "Whether the items pointing to unavailable resources should be displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:204 +msgid "Whether to allow multiple items to be selected" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:217 +msgid "Local only" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:218 +msgid "Whether the selected resource(s) should be limited to local file: URIs" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:234 ../gtk/gtkrecentmanager.c:234 +msgid "Limit" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:235 +msgid "The maximum number of items to be displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:249 +msgid "Sort Type" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:250 +msgid "The sorting order of the items displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:265 +msgid "The current filter for selecting which resources are displayed" +msgstr "" + +#: ../gtk/gtkrecentmanager.c:215 +msgid "The full path to the file to be used to store and read the list" +msgstr "" + +#: ../gtk/gtkrecentmanager.c:235 +msgid "" +"The maximum number of items to be returned by gtk_recent_manager_get_items()" +msgstr "" + +#: ../gtk/gtkrecentmanager.c:251 +msgid "The size of the recently used resources list" +msgstr "" + +#: ../gtk/gtkruler.c:128 +msgid "Lower" +msgstr "" + +#: ../gtk/gtkruler.c:129 +msgid "Lower limit of ruler" +msgstr "" + +#: ../gtk/gtkruler.c:138 +msgid "Upper" +msgstr "" + +#: ../gtk/gtkruler.c:139 +msgid "Upper limit of ruler" +msgstr "" + +#: ../gtk/gtkruler.c:149 +msgid "Position of mark on the ruler" +msgstr "" + +#: ../gtk/gtkruler.c:158 +msgid "Max Size" +msgstr "" + +#: ../gtk/gtkruler.c:159 +msgid "Maximum size of the ruler" +msgstr "" + +#: ../gtk/gtkruler.c:174 +msgid "Metric" +msgstr "" + +#: ../gtk/gtkruler.c:175 +msgid "The metric used for the ruler" +msgstr "" + +#: ../gtk/gtkscale.c:219 +msgid "The number of decimal places that are displayed in the value" +msgstr "" + +#: ../gtk/gtkscale.c:228 +msgid "Draw Value" +msgstr "" + +#: ../gtk/gtkscale.c:229 +msgid "Whether the current value is displayed as a string next to the slider" +msgstr "" + +#: ../gtk/gtkscale.c:236 +msgid "Value Position" +msgstr "" + +#: ../gtk/gtkscale.c:237 +msgid "The position in which the current value is displayed" +msgstr "" + +#: ../gtk/gtkscale.c:244 +msgid "Slider Length" +msgstr "" + +#: ../gtk/gtkscale.c:245 +msgid "Length of scale's slider" +msgstr "" + +#: ../gtk/gtkscale.c:253 +msgid "Value spacing" +msgstr "" + +#: ../gtk/gtkscale.c:254 +msgid "Space between value text and the slider/trough area" +msgstr "" + +#: ../gtk/gtkscalebutton.c:207 +msgid "The value of the scale" +msgstr "" + +#: ../gtk/gtkscalebutton.c:217 +msgid "The icon size" +msgstr "" + +#: ../gtk/gtkscalebutton.c:226 +msgid "" +"The GtkAdjustment that contains the current value of this scale button object" +msgstr "" + +#: ../gtk/gtkscalebutton.c:254 +msgid "Icons" +msgstr "" + +#: ../gtk/gtkscalebutton.c:255 +msgid "List of icon names" +msgstr "" + +#: ../gtk/gtkscrollbar.c:51 +msgid "Minimum Slider Length" +msgstr "" + +#: ../gtk/gtkscrollbar.c:52 +msgid "Minimum length of scrollbar slider" +msgstr "" + +#: ../gtk/gtkscrollbar.c:60 +msgid "Fixed slider size" +msgstr "" + +#: ../gtk/gtkscrollbar.c:61 +msgid "Don't change slider size, just lock it to the minimum length" +msgstr "" + +#: ../gtk/gtkscrollbar.c:82 +msgid "" +"Display a second backward arrow button on the opposite end of the scrollbar" +msgstr "" + +#: ../gtk/gtkscrollbar.c:89 +msgid "" +"Display a second forward arrow button on the opposite end of the scrollbar" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:218 ../gtk/gtktext.c:545 +#: ../gtk/gtktreeview.c:575 +msgid "Horizontal Adjustment" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:225 ../gtk/gtktext.c:553 +#: ../gtk/gtktreeview.c:583 +msgid "Vertical Adjustment" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:232 +msgid "Horizontal Scrollbar Policy" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:233 +msgid "When the horizontal scrollbar is displayed" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:240 +msgid "Vertical Scrollbar Policy" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:241 +msgid "When the vertical scrollbar is displayed" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:249 +msgid "Window Placement" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:250 +msgid "" +"Where the contents are located with respect to the scrollbars. This property " +"only takes effect if \"window-placement-set\" is TRUE." +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:267 +msgid "Window Placement Set" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:268 +msgid "" +"Whether \"window-placement\" should be used to determine the location of the " +"contents with respect to the scrollbars." +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:274 +msgid "Shadow Type" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:275 +msgid "Style of bevel around the contents" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:289 +msgid "Scrollbars within bevel" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:290 +msgid "Place scrollbars within the scrolled window's bevel" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:296 +msgid "Scrollbar spacing" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:297 +msgid "Number of pixels between the scrollbars and the scrolled window" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:312 +msgid "Scrolled Window Placement" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:313 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" + +#: ../gtk/gtkseparatortoolitem.c:105 +msgid "Draw" +msgstr "" + +#: ../gtk/gtkseparatortoolitem.c:106 +msgid "Whether the separator is drawn, or just blank" +msgstr "" + +#: ../gtk/gtksettings.c:224 +msgid "Double Click Time" +msgstr "" + +#: ../gtk/gtksettings.c:225 +msgid "" +"Maximum time allowed between two clicks for them to be considered a double " +"click (in milliseconds)" +msgstr "" + +#: ../gtk/gtksettings.c:232 +msgid "Double Click Distance" +msgstr "" + +#: ../gtk/gtksettings.c:233 +msgid "" +"Maximum distance allowed between two clicks for them to be considered a " +"double click (in pixels)" +msgstr "" + +#: ../gtk/gtksettings.c:249 +msgid "Cursor Blink" +msgstr "" + +#: ../gtk/gtksettings.c:250 +msgid "Whether the cursor should blink" +msgstr "" + +#: ../gtk/gtksettings.c:257 +msgid "Cursor Blink Time" +msgstr "" + +#: ../gtk/gtksettings.c:258 +msgid "Length of the cursor blink cycle, in milliseconds" +msgstr "" + +#: ../gtk/gtksettings.c:277 +msgid "Cursor Blink Timeout" +msgstr "" + +#: ../gtk/gtksettings.c:278 +msgid "Time after which the cursor stops blinking, in seconds" +msgstr "" + +#: ../gtk/gtksettings.c:285 +msgid "Split Cursor" +msgstr "" + +#: ../gtk/gtksettings.c:286 +msgid "" +"Whether two cursors should be displayed for mixed left-to-right and right-to-" +"left text" +msgstr "" + +#: ../gtk/gtksettings.c:293 +msgid "Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:294 +msgid "Name of theme RC file to load" +msgstr "" + +#: ../gtk/gtksettings.c:302 +msgid "Icon Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:303 +msgid "Name of icon theme to use" +msgstr "" + +#: ../gtk/gtksettings.c:311 +msgid "Fallback Icon Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:312 +msgid "Name of a icon theme to fall back to" +msgstr "" + +#: ../gtk/gtksettings.c:320 +msgid "Key Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:321 +msgid "Name of key theme RC file to load" +msgstr "" + +#: ../gtk/gtksettings.c:329 +msgid "Menu bar accelerator" +msgstr "" + +#: ../gtk/gtksettings.c:330 +msgid "Keybinding to activate the menu bar" +msgstr "" + +#: ../gtk/gtksettings.c:338 +msgid "Drag threshold" +msgstr "" + +#: ../gtk/gtksettings.c:339 +msgid "Number of pixels the cursor can move before dragging" +msgstr "" + +#: ../gtk/gtksettings.c:347 +msgid "Font Name" +msgstr "" + +#: ../gtk/gtksettings.c:348 +msgid "Name of default font to use" +msgstr "" + +#: ../gtk/gtksettings.c:370 +msgid "Icon Sizes" +msgstr "" + +#: ../gtk/gtksettings.c:371 +msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." +msgstr "" + +#: ../gtk/gtksettings.c:379 +msgid "GTK Modules" +msgstr "" + +#: ../gtk/gtksettings.c:380 +msgid "List of currently active GTK modules" +msgstr "" + +#: ../gtk/gtksettings.c:389 +msgid "Xft Antialias" +msgstr "" + +#: ../gtk/gtksettings.c:390 +msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" +msgstr "" + +#: ../gtk/gtksettings.c:399 +msgid "Xft Hinting" +msgstr "" + +#: ../gtk/gtksettings.c:400 +msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" +msgstr "" + +#: ../gtk/gtksettings.c:409 +msgid "Xft Hint Style" +msgstr "" + +#: ../gtk/gtksettings.c:410 +msgid "" +"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" +msgstr "" + +#: ../gtk/gtksettings.c:419 +msgid "Xft RGBA" +msgstr "" + +#: ../gtk/gtksettings.c:420 +msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" +msgstr "" + +#: ../gtk/gtksettings.c:429 +msgid "Xft DPI" +msgstr "" + +#: ../gtk/gtksettings.c:430 +msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" +msgstr "" + +#: ../gtk/gtksettings.c:439 +msgid "Cursor theme name" +msgstr "" + +#: ../gtk/gtksettings.c:440 +msgid "Name of the cursor theme to use, or NULL to use the default theme" +msgstr "" + +#: ../gtk/gtksettings.c:448 +msgid "Cursor theme size" +msgstr "" + +#: ../gtk/gtksettings.c:449 +msgid "Size to use for cursors, or 0 to use the default size" +msgstr "" + +#: ../gtk/gtksettings.c:459 +msgid "Alternative button order" +msgstr "" + +#: ../gtk/gtksettings.c:460 +msgid "Whether buttons in dialogs should use the alternative button order" +msgstr "" + +#: ../gtk/gtksettings.c:477 +msgid "Alternative sort indicator direction" +msgstr "" + +#: ../gtk/gtksettings.c:478 +msgid "" +"Whether the direction of the sort indicators in list and tree views is " +"inverted compared to the default (where down means ascending)" +msgstr "" + +#: ../gtk/gtksettings.c:486 +msgid "Show the 'Input Methods' menu" +msgstr "" + +#: ../gtk/gtksettings.c:487 +msgid "" +"Whether the context menus of entries and text views should offer to change " +"the input method" +msgstr "" + +#: ../gtk/gtksettings.c:495 +msgid "Show the 'Insert Unicode Control Character' menu" +msgstr "" + +#: ../gtk/gtksettings.c:496 +msgid "" +"Whether the context menus of entries and text views should offer to insert " +"control characters" +msgstr "" + +#: ../gtk/gtksettings.c:504 +msgid "Start timeout" +msgstr "" + +#: ../gtk/gtksettings.c:505 +msgid "Starting value for timeouts, when button is pressed" +msgstr "" + +#: ../gtk/gtksettings.c:514 +msgid "Repeat timeout" +msgstr "" + +#: ../gtk/gtksettings.c:515 +msgid "Repeat value for timeouts, when button is pressed" +msgstr "" + +#: ../gtk/gtksettings.c:524 +msgid "Expand timeout" +msgstr "" + +#: ../gtk/gtksettings.c:525 +msgid "Expand value for timeouts, when a widget is expanding a new region" +msgstr "" + +#: ../gtk/gtksettings.c:560 +msgid "Color scheme" +msgstr "" + +#: ../gtk/gtksettings.c:561 +msgid "A palette of named colors for use in themes" +msgstr "" + +#: ../gtk/gtksettings.c:570 +msgid "Enable Animations" +msgstr "" + +#: ../gtk/gtksettings.c:571 +msgid "Whether to enable toolkit-wide animations." +msgstr "" + +#: ../gtk/gtksettings.c:589 +msgid "Enable Touchscreen Mode" +msgstr "" + +#: ../gtk/gtksettings.c:590 +msgid "When TRUE, there are no motion notify events delivered on this screen" +msgstr "" + +#: ../gtk/gtksettings.c:607 +msgid "Tooltip timeout" +msgstr "" + +#: ../gtk/gtksettings.c:608 +msgid "Timeout before tooltip is shown" +msgstr "" + +#: ../gtk/gtksettings.c:633 +msgid "Tooltip browse timeout" +msgstr "" + +#: ../gtk/gtksettings.c:634 +msgid "Timeout before tooltip is shown when browse mode is enabled" +msgstr "" + +#: ../gtk/gtksettings.c:655 +msgid "Tooltip browse mode timeout" +msgstr "" + +#: ../gtk/gtksettings.c:656 +msgid "Timeout after which browse mode is disabled" +msgstr "" + +#: ../gtk/gtksettings.c:675 +msgid "Keynav Cursor Only" +msgstr "" + +#: ../gtk/gtksettings.c:676 +msgid "When TRUE, there are only cursor keys available to navigate widgets" +msgstr "" + +#: ../gtk/gtksettings.c:693 +msgid "Keynav Wrap Around" +msgstr "" + +#: ../gtk/gtksettings.c:694 +msgid "Whether to wrap around when keyboard-navigating widgets" +msgstr "" + +#: ../gtk/gtksettings.c:714 +msgid "Error Bell" +msgstr "" + +#: ../gtk/gtksettings.c:715 +msgid "When TRUE, keyboard navigation and other errors will cause a beep" +msgstr "" + +#: ../gtk/gtksettings.c:732 +msgid "Color Hash" +msgstr "" + +#: ../gtk/gtksettings.c:733 +msgid "A hash table representation of the color scheme." +msgstr "" + +#: ../gtk/gtksettings.c:741 +msgid "Default file chooser backend" +msgstr "" + +#: ../gtk/gtksettings.c:742 +msgid "Name of the GtkFileChooser backend to use by default" +msgstr "" + +#: ../gtk/gtksettings.c:759 +msgid "Default print backend" +msgstr "" + +#: ../gtk/gtksettings.c:760 +msgid "List of the GtkPrintBackend backends to use by default" +msgstr "" + +#: ../gtk/gtksettings.c:783 +msgid "Default command to run when displaying a print preview" +msgstr "" + +#: ../gtk/gtksettings.c:784 +msgid "Command to run when displaying a print preview" +msgstr "" + +#: ../gtk/gtksettings.c:800 +msgid "Enable Mnemonics" +msgstr "" + +#: ../gtk/gtksettings.c:801 +msgid "Whether labels should have mnemonics" +msgstr "" + +#: ../gtk/gtksettings.c:817 +msgid "Enable Accelerators" +msgstr "" + +#: ../gtk/gtksettings.c:818 +msgid "Whether menu items should have accelerators" +msgstr "" + +#: ../gtk/gtksettings.c:835 +msgid "Recent Files Limit" +msgstr "" + +#: ../gtk/gtksettings.c:836 +msgid "Number of recently used files" +msgstr "" + +#: ../gtk/gtksettings.c:854 +msgid "Default IM module" +msgstr "" + +#: ../gtk/gtksettings.c:855 +msgid "Which IM module should be used by default" +msgstr "" + +#: ../gtk/gtksettings.c:873 +msgid "Recent Files Max Age" +msgstr "" + +#: ../gtk/gtksettings.c:874 +msgid "Maximum age of recently used files, in days" +msgstr "" + +#: ../gtk/gtksettings.c:883 +msgid "Fontconfig configuration timestamp" +msgstr "" + +#: ../gtk/gtksettings.c:884 +msgid "Timestamp of current fontconfig configuration" +msgstr "" + +#: ../gtk/gtksettings.c:906 +msgid "Sound Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:907 +msgid "XDG sound theme name" +msgstr "" + +#. Translators: this means sounds that are played as feedback to user input +#: ../gtk/gtksettings.c:929 +msgid "Audible Input Feedback" +msgstr "" + +#: ../gtk/gtksettings.c:930 +msgid "Whether to play event sounds as feedback to user input" +msgstr "" + +#: ../gtk/gtksettings.c:951 +msgid "Enable Event Sounds" +msgstr "" + +#: ../gtk/gtksettings.c:952 +msgid "Whether to play any event sounds at all" +msgstr "" + +#: ../gtk/gtksettings.c:967 +msgid "Enable Tooltips" +msgstr "" + +#: ../gtk/gtksettings.c:968 +msgid "Whether tooltips should be shown on widgets" +msgstr "" + +#: ../gtk/gtksettings.c:981 +msgid "Toolbar style" +msgstr "" + +#: ../gtk/gtksettings.c:982 +msgid "" +"Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "" + +#: ../gtk/gtksettings.c:996 +msgid "Toolbar Icon Size" +msgstr "" + +#: ../gtk/gtksettings.c:997 +msgid "The size of icons in default toolbars." +msgstr "" + +#: ../gtk/gtksettings.c:1014 +msgid "Auto Mnemonics" +msgstr "" + +#: ../gtk/gtksettings.c:1015 +msgid "" +"Whether mnemonics should be automatically shown and hidden when the user " +"presses the mnemonic activator." +msgstr "" + +#: ../gtk/gtksizegroup.c:301 +msgid "Mode" +msgstr "" + +#: ../gtk/gtksizegroup.c:302 +msgid "" +"The directions in which the size group affects the requested sizes of its " +"component widgets" +msgstr "" + +#: ../gtk/gtksizegroup.c:318 +msgid "Ignore hidden" +msgstr "" + +#: ../gtk/gtksizegroup.c:319 +msgid "" +"If TRUE, unmapped widgets are ignored when determining the size of the group" +msgstr "" + +#: ../gtk/gtkspinbutton.c:209 +msgid "The adjustment that holds the value of the spinbutton" +msgstr "" + +#: ../gtk/gtkspinbutton.c:216 +msgid "Climb Rate" +msgstr "" + +#: ../gtk/gtkspinbutton.c:236 +msgid "Snap to Ticks" +msgstr "" + +#: ../gtk/gtkspinbutton.c:237 +msgid "" +"Whether erroneous values are automatically changed to a spin button's " +"nearest step increment" +msgstr "" + +#: ../gtk/gtkspinbutton.c:244 +msgid "Numeric" +msgstr "" + +#: ../gtk/gtkspinbutton.c:245 +msgid "Whether non-numeric characters should be ignored" +msgstr "" + +#: ../gtk/gtkspinbutton.c:252 +msgid "Wrap" +msgstr "" + +#: ../gtk/gtkspinbutton.c:253 +msgid "Whether a spin button should wrap upon reaching its limits" +msgstr "" + +#: ../gtk/gtkspinbutton.c:260 +msgid "Update Policy" +msgstr "" + +#: ../gtk/gtkspinbutton.c:261 +msgid "" +"Whether the spin button should update always, or only when the value is legal" +msgstr "" + +#: ../gtk/gtkspinbutton.c:270 +msgid "Reads the current value, or sets a new value" +msgstr "" + +#: ../gtk/gtkspinbutton.c:279 +msgid "Style of bevel around the spin button" +msgstr "" + +#: ../gtk/gtkspinner.c:129 +msgid "Whether the spinner is active" +msgstr "" + +#: ../gtk/gtkspinner.c:143 +msgid "Number of steps" +msgstr "" + +#: ../gtk/gtkspinner.c:144 +msgid "" +"The number of steps for the spinner to complete a full loop. The animation " +"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" +"duration)." +msgstr "" + +#: ../gtk/gtkspinner.c:159 +msgid "Animation duration" +msgstr "" + +#: ../gtk/gtkspinner.c:160 +msgid "" +"The length of time in milliseconds for the spinner to complete a full loop" +msgstr "" + +#: ../gtk/gtkstatusbar.c:148 +msgid "Has Resize Grip" +msgstr "" + +#: ../gtk/gtkstatusbar.c:149 +msgid "Whether the statusbar has a grip for resizing the toplevel" +msgstr "" + +#: ../gtk/gtkstatusbar.c:194 +msgid "Style of bevel around the statusbar text" +msgstr "" + +#: ../gtk/gtkstatusicon.c:271 +msgid "The size of the icon" +msgstr "" + +#: ../gtk/gtkstatusicon.c:281 +msgid "The screen where this status icon will be displayed" +msgstr "" + +#: ../gtk/gtkstatusicon.c:295 +msgid "Blinking" +msgstr "" + +#: ../gtk/gtkstatusicon.c:296 +msgid "Whether or not the status icon is blinking" +msgstr "" + +#: ../gtk/gtkstatusicon.c:304 +msgid "Whether or not the status icon is visible" +msgstr "" + +#: ../gtk/gtkstatusicon.c:320 +msgid "Whether or not the status icon is embedded" +msgstr "" + +#: ../gtk/gtkstatusicon.c:336 ../gtk/gtktrayicon-x11.c:111 +msgid "The orientation of the tray" +msgstr "" + +#: ../gtk/gtkstatusicon.c:363 ../gtk/gtkwidget.c:703 +msgid "Has tooltip" +msgstr "" + +#: ../gtk/gtkstatusicon.c:364 +msgid "Whether this tray icon has a tooltip" +msgstr "" + +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:724 +msgid "Tooltip Text" +msgstr "" + +#: ../gtk/gtkstatusicon.c:390 ../gtk/gtkwidget.c:725 ../gtk/gtkwidget.c:746 +msgid "The contents of the tooltip for this widget" +msgstr "" + +#: ../gtk/gtkstatusicon.c:413 ../gtk/gtkwidget.c:745 +msgid "Tooltip markup" +msgstr "" + +#: ../gtk/gtkstatusicon.c:414 +msgid "The contents of the tooltip for this tray icon" +msgstr "" + +#: ../gtk/gtkstatusicon.c:432 +msgid "The title of this tray icon" +msgstr "" + +#: ../gtk/gtktable.c:129 +msgid "Rows" +msgstr "" + +#: ../gtk/gtktable.c:130 +msgid "The number of rows in the table" +msgstr "" + +#: ../gtk/gtktable.c:138 +msgid "Columns" +msgstr "" + +#: ../gtk/gtktable.c:139 +msgid "The number of columns in the table" +msgstr "" + +#: ../gtk/gtktable.c:147 +msgid "Row spacing" +msgstr "" + +#: ../gtk/gtktable.c:148 +msgid "The amount of space between two consecutive rows" +msgstr "" + +#: ../gtk/gtktable.c:156 +msgid "Column spacing" +msgstr "" + +#: ../gtk/gtktable.c:157 +msgid "The amount of space between two consecutive columns" +msgstr "" + +#: ../gtk/gtktable.c:166 +msgid "If TRUE, the table cells are all the same width/height" +msgstr "" + +#: ../gtk/gtktable.c:173 +msgid "Left attachment" +msgstr "" + +#: ../gtk/gtktable.c:180 +msgid "Right attachment" +msgstr "" + +#: ../gtk/gtktable.c:181 +msgid "The column number to attach the right side of a child widget to" +msgstr "" + +#: ../gtk/gtktable.c:187 +msgid "Top attachment" +msgstr "" + +#: ../gtk/gtktable.c:188 +msgid "The row number to attach the top of a child widget to" +msgstr "" + +#: ../gtk/gtktable.c:194 +msgid "Bottom attachment" +msgstr "" + +#: ../gtk/gtktable.c:201 +msgid "Horizontal options" +msgstr "" + +#: ../gtk/gtktable.c:202 +msgid "Options specifying the horizontal behaviour of the child" +msgstr "" + +#: ../gtk/gtktable.c:208 +msgid "Vertical options" +msgstr "" + +#: ../gtk/gtktable.c:209 +msgid "Options specifying the vertical behaviour of the child" +msgstr "" + +#: ../gtk/gtktable.c:215 +msgid "Horizontal padding" +msgstr "" + +#: ../gtk/gtktable.c:216 +msgid "" +"Extra space to put between the child and its left and right neighbors, in " +"pixels" +msgstr "" + +#: ../gtk/gtktable.c:222 +msgid "Vertical padding" +msgstr "" + +#: ../gtk/gtktable.c:223 +msgid "" +"Extra space to put between the child and its upper and lower neighbors, in " +"pixels" +msgstr "" + +#: ../gtk/gtktext.c:546 +msgid "Horizontal adjustment for the text widget" +msgstr "" + +#: ../gtk/gtktext.c:554 +msgid "Vertical adjustment for the text widget" +msgstr "" + +#: ../gtk/gtktext.c:561 +msgid "Line Wrap" +msgstr "" + +#: ../gtk/gtktext.c:562 +msgid "Whether lines are wrapped at widget edges" +msgstr "" + +#: ../gtk/gtktext.c:569 +msgid "Word Wrap" +msgstr "" + +#: ../gtk/gtktext.c:570 +msgid "Whether words are wrapped at widget edges" +msgstr "" + +#: ../gtk/gtktextbuffer.c:180 +msgid "Tag Table" +msgstr "" + +#: ../gtk/gtktextbuffer.c:181 +msgid "Text Tag Table" +msgstr "" + +#: ../gtk/gtktextbuffer.c:199 +msgid "Current text of the buffer" +msgstr "" + +#: ../gtk/gtktextbuffer.c:213 +msgid "Has selection" +msgstr "" + +#: ../gtk/gtktextbuffer.c:214 +msgid "Whether the buffer has some text currently selected" +msgstr "" + +#: ../gtk/gtktextbuffer.c:230 +msgid "Cursor position" +msgstr "" + +#: ../gtk/gtktextbuffer.c:231 +msgid "" +"The position of the insert mark (as offset from the beginning of the buffer)" +msgstr "" + +#: ../gtk/gtktextbuffer.c:246 +msgid "Copy target list" +msgstr "" + +#: ../gtk/gtktextbuffer.c:247 +msgid "" +"The list of targets this buffer supports for clipboard copying and DND source" +msgstr "" + +#: ../gtk/gtktextbuffer.c:262 +msgid "Paste target list" +msgstr "" + +#: ../gtk/gtktextbuffer.c:263 +msgid "" +"The list of targets this buffer supports for clipboard pasting and DND " +"destination" +msgstr "" + +#: ../gtk/gtktextmark.c:90 +msgid "Mark name" +msgstr "" + +#: ../gtk/gtktextmark.c:97 +msgid "Left gravity" +msgstr "" + +#: ../gtk/gtktextmark.c:98 +msgid "Whether the mark has left gravity" +msgstr "" + +#: ../gtk/gtktexttag.c:173 +msgid "Tag name" +msgstr "" + +#: ../gtk/gtktexttag.c:174 +msgid "Name used to refer to the text tag. NULL for anonymous tags" +msgstr "" + +#: ../gtk/gtktexttag.c:192 +msgid "Background color as a (possibly unallocated) GdkColor" +msgstr "" + +#: ../gtk/gtktexttag.c:199 +msgid "Background full height" +msgstr "" + +#: ../gtk/gtktexttag.c:200 +msgid "" +"Whether the background color fills the entire line height or only the height " +"of the tagged characters" +msgstr "" + +#: ../gtk/gtktexttag.c:208 +msgid "Background stipple mask" +msgstr "" + +#: ../gtk/gtktexttag.c:209 +msgid "Bitmap to use as a mask when drawing the text background" +msgstr "" + +#: ../gtk/gtktexttag.c:226 +msgid "Foreground color as a (possibly unallocated) GdkColor" +msgstr "" + +#: ../gtk/gtktexttag.c:234 +msgid "Foreground stipple mask" +msgstr "" + +#: ../gtk/gtktexttag.c:235 +msgid "Bitmap to use as a mask when drawing the text foreground" +msgstr "" + +#: ../gtk/gtktexttag.c:242 +msgid "Text direction" +msgstr "" + +#: ../gtk/gtktexttag.c:243 +msgid "Text direction, e.g. right-to-left or left-to-right" +msgstr "" + +#: ../gtk/gtktexttag.c:292 +msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" +msgstr "" + +#: ../gtk/gtktexttag.c:301 +msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" +msgstr "" + +#: ../gtk/gtktexttag.c:310 +msgid "" +"Font weight as an integer, see predefined values in PangoWeight; for " +"example, PANGO_WEIGHT_BOLD" +msgstr "" + +#: ../gtk/gtktexttag.c:321 +msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" +msgstr "" + +#: ../gtk/gtktexttag.c:330 +msgid "Font size in Pango units" +msgstr "" + +#: ../gtk/gtktexttag.c:340 +msgid "" +"Font size as a scale factor relative to the default font size. This properly " +"adapts to theme changes etc. so is recommended. Pango predefines some scales " +"such as PANGO_SCALE_X_LARGE" +msgstr "" + +#: ../gtk/gtktexttag.c:360 ../gtk/gtktextview.c:594 +msgid "Left, right, or center justification" +msgstr "" + +#: ../gtk/gtktexttag.c:379 +msgid "" +"The language this text is in, as an ISO code. Pango can use this as a hint " +"when rendering the text. If not set, an appropriate default will be used." +msgstr "" + +#: ../gtk/gtktexttag.c:386 +msgid "Left margin" +msgstr "" + +#: ../gtk/gtktexttag.c:387 ../gtk/gtktextview.c:603 +msgid "Width of the left margin in pixels" +msgstr "" + +#: ../gtk/gtktexttag.c:396 +msgid "Right margin" +msgstr "" + +#: ../gtk/gtktexttag.c:397 ../gtk/gtktextview.c:613 +msgid "Width of the right margin in pixels" +msgstr "" + +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:622 +msgid "Indent" +msgstr "" + +#: ../gtk/gtktexttag.c:408 ../gtk/gtktextview.c:623 +msgid "Amount to indent the paragraph, in pixels" +msgstr "" + +#: ../gtk/gtktexttag.c:419 +msgid "" +"Offset of text above the baseline (below the baseline if rise is negative) " +"in Pango units" +msgstr "" + +#: ../gtk/gtktexttag.c:428 +msgid "Pixels above lines" +msgstr "" + +#: ../gtk/gtktexttag.c:429 ../gtk/gtktextview.c:547 +msgid "Pixels of blank space above paragraphs" +msgstr "" + +#: ../gtk/gtktexttag.c:438 +msgid "Pixels below lines" +msgstr "" + +#: ../gtk/gtktexttag.c:439 ../gtk/gtktextview.c:557 +msgid "Pixels of blank space below paragraphs" +msgstr "" + +#: ../gtk/gtktexttag.c:448 +msgid "Pixels inside wrap" +msgstr "" + +#: ../gtk/gtktexttag.c:449 ../gtk/gtktextview.c:567 +msgid "Pixels of blank space between wrapped lines in a paragraph" +msgstr "" + +#: ../gtk/gtktexttag.c:476 ../gtk/gtktextview.c:585 +msgid "" +"Whether to wrap lines never, at word boundaries, or at character boundaries" +msgstr "" + +#: ../gtk/gtktexttag.c:485 ../gtk/gtktextview.c:632 +msgid "Tabs" +msgstr "" + +#: ../gtk/gtktexttag.c:486 ../gtk/gtktextview.c:633 +msgid "Custom tabs for this text" +msgstr "" + +#: ../gtk/gtktexttag.c:504 +msgid "Invisible" +msgstr "" + +#: ../gtk/gtktexttag.c:505 +msgid "Whether this text is hidden." +msgstr "" + +#: ../gtk/gtktexttag.c:519 +msgid "Paragraph background color name" +msgstr "" + +#: ../gtk/gtktexttag.c:520 +msgid "Paragraph background color as a string" +msgstr "" + +#: ../gtk/gtktexttag.c:535 +msgid "Paragraph background color" +msgstr "" + +#: ../gtk/gtktexttag.c:536 +msgid "Paragraph background color as a (possibly unallocated) GdkColor" +msgstr "" + +#: ../gtk/gtktexttag.c:554 +msgid "Margin Accumulates" +msgstr "" + +#: ../gtk/gtktexttag.c:555 +msgid "Whether left and right margins accumulate." +msgstr "" + +#: ../gtk/gtktexttag.c:568 +msgid "Background full height set" +msgstr "" + +#: ../gtk/gtktexttag.c:569 +msgid "Whether this tag affects background height" +msgstr "" + +#: ../gtk/gtktexttag.c:572 +msgid "Background stipple set" +msgstr "" + +#: ../gtk/gtktexttag.c:573 +msgid "Whether this tag affects the background stipple" +msgstr "" + +#: ../gtk/gtktexttag.c:580 +msgid "Foreground stipple set" +msgstr "" + +#: ../gtk/gtktexttag.c:581 +msgid "Whether this tag affects the foreground stipple" +msgstr "" + +#: ../gtk/gtktexttag.c:616 +msgid "Justification set" +msgstr "" + +#: ../gtk/gtktexttag.c:617 +msgid "Whether this tag affects paragraph justification" +msgstr "" + +#: ../gtk/gtktexttag.c:624 +msgid "Left margin set" +msgstr "" + +#: ../gtk/gtktexttag.c:625 +msgid "Whether this tag affects the left margin" +msgstr "" + +#: ../gtk/gtktexttag.c:628 +msgid "Indent set" +msgstr "" + +#: ../gtk/gtktexttag.c:629 +msgid "Whether this tag affects indentation" +msgstr "" + +#: ../gtk/gtktexttag.c:636 +msgid "Pixels above lines set" +msgstr "" + +#: ../gtk/gtktexttag.c:637 ../gtk/gtktexttag.c:641 +msgid "Whether this tag affects the number of pixels above lines" +msgstr "" + +#: ../gtk/gtktexttag.c:640 +msgid "Pixels below lines set" +msgstr "" + +#: ../gtk/gtktexttag.c:644 +msgid "Pixels inside wrap set" +msgstr "" + +#: ../gtk/gtktexttag.c:645 +msgid "Whether this tag affects the number of pixels between wrapped lines" +msgstr "" + +#: ../gtk/gtktexttag.c:652 +msgid "Right margin set" +msgstr "" + +#: ../gtk/gtktexttag.c:653 +msgid "Whether this tag affects the right margin" +msgstr "" + +#: ../gtk/gtktexttag.c:660 +msgid "Wrap mode set" +msgstr "" + +#: ../gtk/gtktexttag.c:661 +msgid "Whether this tag affects line wrap mode" +msgstr "" + +#: ../gtk/gtktexttag.c:664 +msgid "Tabs set" +msgstr "" + +#: ../gtk/gtktexttag.c:665 +msgid "Whether this tag affects tabs" +msgstr "" + +#: ../gtk/gtktexttag.c:668 +msgid "Invisible set" +msgstr "" + +#: ../gtk/gtktexttag.c:669 +msgid "Whether this tag affects text visibility" +msgstr "" + +#: ../gtk/gtktexttag.c:672 +msgid "Paragraph background set" +msgstr "" + +#: ../gtk/gtktexttag.c:673 +msgid "Whether this tag affects the paragraph background color" +msgstr "" + +#: ../gtk/gtktextview.c:546 +msgid "Pixels Above Lines" +msgstr "" + +#: ../gtk/gtktextview.c:556 +msgid "Pixels Below Lines" +msgstr "" + +#: ../gtk/gtktextview.c:566 +msgid "Pixels Inside Wrap" +msgstr "" + +#: ../gtk/gtktextview.c:584 +msgid "Wrap Mode" +msgstr "" + +#: ../gtk/gtktextview.c:602 +msgid "Left Margin" +msgstr "" + +#: ../gtk/gtktextview.c:612 +msgid "Right Margin" +msgstr "" + +#: ../gtk/gtktextview.c:640 +msgid "Cursor Visible" +msgstr "" + +#: ../gtk/gtktextview.c:641 +msgid "If the insertion cursor is shown" +msgstr "" + +#: ../gtk/gtktextview.c:648 +msgid "Buffer" +msgstr "" + +#: ../gtk/gtktextview.c:649 +msgid "The buffer which is displayed" +msgstr "" + +#: ../gtk/gtktextview.c:657 +msgid "Whether entered text overwrites existing contents" +msgstr "" + +#: ../gtk/gtktextview.c:664 +msgid "Accepts tab" +msgstr "" + +#: ../gtk/gtktextview.c:665 +msgid "Whether Tab will result in a tab character being entered" +msgstr "" + +#: ../gtk/gtktextview.c:694 +msgid "Error underline color" +msgstr "" + +#: ../gtk/gtktextview.c:695 +msgid "Color with which to draw error-indication underlines" +msgstr "" + +#: ../gtk/gtktoggleaction.c:104 +msgid "Create the same proxies as a radio action" +msgstr "" + +#: ../gtk/gtktoggleaction.c:105 +msgid "Whether the proxies for this action look like radio action proxies" +msgstr "" + +#: ../gtk/gtktoggleaction.c:120 +msgid "If the toggle action should be active in or not" +msgstr "" + +#: ../gtk/gtktogglebutton.c:116 ../gtk/gtktoggletoolbutton.c:115 +msgid "If the toggle button should be pressed in or not" +msgstr "" + +#: ../gtk/gtktogglebutton.c:124 +msgid "If the toggle button is in an \"in between\" state" +msgstr "" + +#: ../gtk/gtktogglebutton.c:131 +msgid "Draw Indicator" +msgstr "" + +#: ../gtk/gtktogglebutton.c:132 +msgid "If the toggle part of the button is displayed" +msgstr "" + +#: ../gtk/gtktoolbar.c:494 ../gtk/gtktoolpalette.c:1021 +msgid "Toolbar Style" +msgstr "" + +#: ../gtk/gtktoolbar.c:495 +msgid "How to draw the toolbar" +msgstr "" + +#: ../gtk/gtktoolbar.c:502 +msgid "Show Arrow" +msgstr "" + +#: ../gtk/gtktoolbar.c:503 +msgid "If an arrow should be shown if the toolbar doesn't fit" +msgstr "" + +#: ../gtk/gtktoolbar.c:518 +msgid "Tooltips" +msgstr "" + +#: ../gtk/gtktoolbar.c:519 +msgid "If the tooltips of the toolbar should be active or not" +msgstr "" + +#: ../gtk/gtktoolbar.c:541 +msgid "Size of icons in this toolbar" +msgstr "" + +#: ../gtk/gtktoolbar.c:556 ../gtk/gtktoolpalette.c:1007 +msgid "Icon size set" +msgstr "" + +#: ../gtk/gtktoolbar.c:557 ../gtk/gtktoolpalette.c:1008 +msgid "Whether the icon-size property has been set" +msgstr "" + +#: ../gtk/gtktoolbar.c:566 +msgid "Whether the item should receive extra space when the toolbar grows" +msgstr "" + +#: ../gtk/gtktoolbar.c:574 ../gtk/gtktoolitemgroup.c:1597 +msgid "Whether the item should be the same size as other homogeneous items" +msgstr "" + +#: ../gtk/gtktoolbar.c:581 +msgid "Spacer size" +msgstr "" + +#: ../gtk/gtktoolbar.c:582 +msgid "Size of spacers" +msgstr "" + +#: ../gtk/gtktoolbar.c:591 +msgid "Amount of border space between the toolbar shadow and the buttons" +msgstr "" + +#: ../gtk/gtktoolbar.c:599 +msgid "Maximum child expand" +msgstr "" + +#: ../gtk/gtktoolbar.c:600 +msgid "Maximum amount of space an expandable item will be given" +msgstr "" + +#: ../gtk/gtktoolbar.c:608 +msgid "Space style" +msgstr "" + +#: ../gtk/gtktoolbar.c:609 +msgid "Whether spacers are vertical lines or just blank" +msgstr "" + +#: ../gtk/gtktoolbar.c:616 +msgid "Button relief" +msgstr "" + +#: ../gtk/gtktoolbar.c:617 +msgid "Type of bevel around toolbar buttons" +msgstr "" + +#: ../gtk/gtktoolbar.c:624 +msgid "Style of bevel around the toolbar" +msgstr "" + +#: ../gtk/gtktoolbutton.c:205 +msgid "Text to show in the item." +msgstr "" + +#: ../gtk/gtktoolbutton.c:212 +msgid "" +"If set, an underline in the label property indicates that the next character " +"should be used for the mnemonic accelerator key in the overflow menu" +msgstr "" + +#: ../gtk/gtktoolbutton.c:219 +msgid "Widget to use as the item label" +msgstr "" + +#: ../gtk/gtktoolbutton.c:225 +msgid "Stock Id" +msgstr "" + +#: ../gtk/gtktoolbutton.c:226 +msgid "The stock icon displayed on the item" +msgstr "" + +#: ../gtk/gtktoolbutton.c:242 +msgid "Icon name" +msgstr "" + +#: ../gtk/gtktoolbutton.c:243 +msgid "The name of the themed icon displayed on the item" +msgstr "" + +#: ../gtk/gtktoolbutton.c:249 +msgid "Icon widget" +msgstr "" + +#: ../gtk/gtktoolbutton.c:250 +msgid "Icon widget to display in the item" +msgstr "" + +#: ../gtk/gtktoolbutton.c:263 +msgid "Icon spacing" +msgstr "" + +#: ../gtk/gtktoolbutton.c:264 +msgid "Spacing in pixels between the icon and label" +msgstr "" + +#: ../gtk/gtktoolitem.c:207 +msgid "" +"Whether the toolbar item is considered important. When TRUE, toolbar buttons " +"show text in GTK_TOOLBAR_BOTH_HORIZ mode" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1544 +msgid "The human-readable title of this item group" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1551 +msgid "A widget to display in place of the usual label" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1557 +msgid "Collapsed" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1558 +msgid "Whether the group has been collapsed and items are hidden" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1564 +msgid "ellipsize" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1565 +msgid "Ellipsize for item group headers" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1571 +msgid "Header Relief" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1572 +msgid "Relief of the group header button" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1587 +msgid "Header Spacing" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1588 +msgid "Spacing between expander arrow and caption" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1604 +msgid "Whether the item should receive extra space when the group grows" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1611 +msgid "Whether the item should fill the available space" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1617 +msgid "New Row" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1618 +msgid "Whether the item should start a new row" +msgstr "" + +#: ../gtk/gtktoolitemgroup.c:1625 +msgid "Position of the item within this group" +msgstr "" + +#: ../gtk/gtktoolpalette.c:992 +msgid "Size of icons in this tool palette" +msgstr "" + +#: ../gtk/gtktoolpalette.c:1022 +msgid "Style of items in the tool palette" +msgstr "" + +#: ../gtk/gtktoolpalette.c:1038 +msgid "Exclusive" +msgstr "" + +#: ../gtk/gtktoolpalette.c:1039 +msgid "Whether the item group should be the only expanded at a given time" +msgstr "" + +#: ../gtk/gtktoolpalette.c:1054 +msgid "" +"Whether the item group should receive extra space when the palette grows" +msgstr "" + +#: ../gtk/gtktreemodelsort.c:278 +msgid "TreeModelSort Model" +msgstr "" + +#: ../gtk/gtktreemodelsort.c:279 +msgid "The model for the TreeModelSort to sort" +msgstr "" + +#: ../gtk/gtktreeview.c:567 +msgid "TreeView Model" +msgstr "" + +#: ../gtk/gtktreeview.c:568 +msgid "The model for the tree view" +msgstr "" + +#: ../gtk/gtktreeview.c:576 +msgid "Horizontal Adjustment for the widget" +msgstr "" + +#: ../gtk/gtktreeview.c:584 +msgid "Vertical Adjustment for the widget" +msgstr "" + +#: ../gtk/gtktreeview.c:591 +msgid "Headers Visible" +msgstr "" + +#: ../gtk/gtktreeview.c:592 +msgid "Show the column header buttons" +msgstr "" + +#: ../gtk/gtktreeview.c:599 +msgid "Headers Clickable" +msgstr "" + +#: ../gtk/gtktreeview.c:600 +msgid "Column headers respond to click events" +msgstr "" + +#: ../gtk/gtktreeview.c:607 +msgid "Expander Column" +msgstr "" + +#: ../gtk/gtktreeview.c:608 +msgid "Set the column for the expander column" +msgstr "" + +#: ../gtk/gtktreeview.c:623 +msgid "Rules Hint" +msgstr "" + +#: ../gtk/gtktreeview.c:624 +msgid "Set a hint to the theme engine to draw rows in alternating colors" +msgstr "" + +#: ../gtk/gtktreeview.c:631 +msgid "Enable Search" +msgstr "" + +#: ../gtk/gtktreeview.c:632 +msgid "View allows user to search through columns interactively" +msgstr "" + +#: ../gtk/gtktreeview.c:639 +msgid "Search Column" +msgstr "" + +#: ../gtk/gtktreeview.c:640 +msgid "Model column to search through during interactive search" +msgstr "" + +#: ../gtk/gtktreeview.c:660 +msgid "Fixed Height Mode" +msgstr "" + +#: ../gtk/gtktreeview.c:661 +msgid "Speeds up GtkTreeView by assuming that all rows have the same height" +msgstr "" + +#: ../gtk/gtktreeview.c:681 +msgid "Hover Selection" +msgstr "" + +#: ../gtk/gtktreeview.c:682 +msgid "Whether the selection should follow the pointer" +msgstr "" + +#: ../gtk/gtktreeview.c:701 +msgid "Hover Expand" +msgstr "" + +#: ../gtk/gtktreeview.c:702 +msgid "" +"Whether rows should be expanded/collapsed when the pointer moves over them" +msgstr "" + +#: ../gtk/gtktreeview.c:716 +msgid "Show Expanders" +msgstr "" + +#: ../gtk/gtktreeview.c:717 +msgid "View has expanders" +msgstr "" + +#: ../gtk/gtktreeview.c:731 +msgid "Level Indentation" +msgstr "" + +#: ../gtk/gtktreeview.c:732 +msgid "Extra indentation for each level" +msgstr "" + +#: ../gtk/gtktreeview.c:741 +msgid "Rubber Banding" +msgstr "" + +#: ../gtk/gtktreeview.c:742 +msgid "" +"Whether to enable selection of multiple items by dragging the mouse pointer" +msgstr "" + +#: ../gtk/gtktreeview.c:749 +msgid "Enable Grid Lines" +msgstr "" + +#: ../gtk/gtktreeview.c:750 +msgid "Whether grid lines should be drawn in the tree view" +msgstr "" + +#: ../gtk/gtktreeview.c:758 +msgid "Enable Tree Lines" +msgstr "" + +#: ../gtk/gtktreeview.c:759 +msgid "Whether tree lines should be drawn in the tree view" +msgstr "" + +#: ../gtk/gtktreeview.c:767 +msgid "The column in the model containing the tooltip texts for the rows" +msgstr "" + +#: ../gtk/gtktreeview.c:789 +msgid "Vertical Separator Width" +msgstr "" + +#: ../gtk/gtktreeview.c:790 +msgid "Vertical space between cells. Must be an even number" +msgstr "" + +#: ../gtk/gtktreeview.c:798 +msgid "Horizontal Separator Width" +msgstr "" + +#: ../gtk/gtktreeview.c:799 +msgid "Horizontal space between cells. Must be an even number" +msgstr "" + +#: ../gtk/gtktreeview.c:807 +msgid "Allow Rules" +msgstr "" + +#: ../gtk/gtktreeview.c:808 +msgid "Allow drawing of alternating color rows" +msgstr "" + +#: ../gtk/gtktreeview.c:814 +msgid "Indent Expanders" +msgstr "" + +#: ../gtk/gtktreeview.c:815 +msgid "Make the expanders indented" +msgstr "" + +#: ../gtk/gtktreeview.c:821 +msgid "Even Row Color" +msgstr "" + +#: ../gtk/gtktreeview.c:822 +msgid "Color to use for even rows" +msgstr "" + +#: ../gtk/gtktreeview.c:828 +msgid "Odd Row Color" +msgstr "" + +#: ../gtk/gtktreeview.c:829 +msgid "Color to use for odd rows" +msgstr "" + +#: ../gtk/gtktreeview.c:842 +msgid "Row Ending details" +msgstr "" + +#: ../gtk/gtktreeview.c:843 +msgid "Enable extended row background theming" +msgstr "" + +#: ../gtk/gtktreeview.c:849 +msgid "Grid line width" +msgstr "" + +#: ../gtk/gtktreeview.c:850 +msgid "Width, in pixels, of the tree view grid lines" +msgstr "" + +#: ../gtk/gtktreeview.c:856 +msgid "Tree line width" +msgstr "" + +#: ../gtk/gtktreeview.c:857 +msgid "Width, in pixels, of the tree view lines" +msgstr "" + +#: ../gtk/gtktreeview.c:863 +msgid "Grid line pattern" +msgstr "" + +#: ../gtk/gtktreeview.c:864 +msgid "Dash pattern used to draw the tree view grid lines" +msgstr "" + +#: ../gtk/gtktreeview.c:870 +msgid "Tree line pattern" +msgstr "" + +#: ../gtk/gtktreeview.c:871 +msgid "Dash pattern used to draw the tree view lines" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:193 +msgid "Whether to display the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:200 ../gtk/gtkwindow.c:557 +msgid "Resizable" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:201 +msgid "Column is user-resizable" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:209 +msgid "Current width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:218 +msgid "Space which is inserted between cells" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:226 +msgid "Sizing" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:227 +msgid "Resize mode of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:235 +msgid "Fixed Width" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:236 +msgid "Current fixed width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:245 +msgid "Minimum Width" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:246 +msgid "Minimum allowed width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:255 +msgid "Maximum Width" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:256 +msgid "Maximum allowed width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:266 +msgid "Title to appear in column header" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:274 +msgid "Column gets share of extra width allocated to the widget" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:281 +msgid "Clickable" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:282 +msgid "Whether the header can be clicked" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:290 +msgid "Widget" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:291 +msgid "Widget to put in column header button instead of column title" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:299 +msgid "X Alignment of the column header text or widget" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:309 +msgid "Whether the column can be reordered around the headers" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:316 +msgid "Sort indicator" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:317 +msgid "Whether to show a sort indicator" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:324 +msgid "Sort order" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:325 +msgid "Sort direction the sort indicator should indicate" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:341 +msgid "Sort column ID" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:342 +msgid "Logical sort column ID this column sorts on when selected for sorting" +msgstr "" + +#: ../gtk/gtkuimanager.c:227 +msgid "Whether tearoff menu items should be added to menus" +msgstr "" + +#: ../gtk/gtkuimanager.c:234 +msgid "Merged UI definition" +msgstr "" + +#: ../gtk/gtkuimanager.c:235 +msgid "An XML string describing the merged UI" +msgstr "" + +#: ../gtk/gtkviewport.c:126 +msgid "" +"The GtkAdjustment that determines the values of the horizontal position for " +"this viewport" +msgstr "" + +#: ../gtk/gtkviewport.c:134 +msgid "" +"The GtkAdjustment that determines the values of the vertical position for " +"this viewport" +msgstr "" + +#: ../gtk/gtkviewport.c:142 +msgid "Determines how the shadowed box around the viewport is drawn" +msgstr "" + +#: ../gtk/gtkwidget.c:554 +msgid "Widget name" +msgstr "" + +#: ../gtk/gtkwidget.c:555 +msgid "The name of the widget" +msgstr "" + +#: ../gtk/gtkwidget.c:561 +msgid "Parent widget" +msgstr "" + +#: ../gtk/gtkwidget.c:562 +msgid "The parent widget of this widget. Must be a Container widget" +msgstr "" + +#: ../gtk/gtkwidget.c:569 +msgid "Width request" +msgstr "" + +#: ../gtk/gtkwidget.c:570 +msgid "" +"Override for width request of the widget, or -1 if natural request should be " +"used" +msgstr "" + +#: ../gtk/gtkwidget.c:578 +msgid "Height request" +msgstr "" + +#: ../gtk/gtkwidget.c:579 +msgid "" +"Override for height request of the widget, or -1 if natural request should " +"be used" +msgstr "" + +#: ../gtk/gtkwidget.c:588 +msgid "Whether the widget is visible" +msgstr "" + +#: ../gtk/gtkwidget.c:595 +msgid "Whether the widget responds to input" +msgstr "" + +#: ../gtk/gtkwidget.c:601 +msgid "Application paintable" +msgstr "" + +#: ../gtk/gtkwidget.c:602 +msgid "Whether the application will paint directly on the widget" +msgstr "" + +#: ../gtk/gtkwidget.c:608 +msgid "Can focus" +msgstr "" + +#: ../gtk/gtkwidget.c:609 +msgid "Whether the widget can accept the input focus" +msgstr "" + +#: ../gtk/gtkwidget.c:615 +msgid "Has focus" +msgstr "" + +#: ../gtk/gtkwidget.c:616 +msgid "Whether the widget has the input focus" +msgstr "" + +#: ../gtk/gtkwidget.c:622 +msgid "Is focus" +msgstr "" + +#: ../gtk/gtkwidget.c:623 +msgid "Whether the widget is the focus widget within the toplevel" +msgstr "" + +#: ../gtk/gtkwidget.c:629 +msgid "Can default" +msgstr "" + +#: ../gtk/gtkwidget.c:630 +msgid "Whether the widget can be the default widget" +msgstr "" + +#: ../gtk/gtkwidget.c:636 +msgid "Has default" +msgstr "" + +#: ../gtk/gtkwidget.c:637 +msgid "Whether the widget is the default widget" +msgstr "" + +#: ../gtk/gtkwidget.c:643 +msgid "Receives default" +msgstr "" + +#: ../gtk/gtkwidget.c:644 +msgid "If TRUE, the widget will receive the default action when it is focused" +msgstr "" + +#: ../gtk/gtkwidget.c:650 +msgid "Composite child" +msgstr "" + +#: ../gtk/gtkwidget.c:651 +msgid "Whether the widget is part of a composite widget" +msgstr "" + +#: ../gtk/gtkwidget.c:657 +msgid "Style" +msgstr "" + +#: ../gtk/gtkwidget.c:658 +msgid "" +"The style of the widget, which contains information about how it will look " +"(colors etc)" +msgstr "" + +#: ../gtk/gtkwidget.c:664 +msgid "Events" +msgstr "" + +#: ../gtk/gtkwidget.c:665 +msgid "The event mask that decides what kind of GdkEvents this widget gets" +msgstr "" + +#: ../gtk/gtkwidget.c:672 +msgid "Extension events" +msgstr "" + +#: ../gtk/gtkwidget.c:673 +msgid "The mask that decides what kind of extension events this widget gets" +msgstr "" + +#: ../gtk/gtkwidget.c:680 +msgid "No show all" +msgstr "" + +#: ../gtk/gtkwidget.c:681 +msgid "Whether gtk_widget_show_all() should not affect this widget" +msgstr "" + +#: ../gtk/gtkwidget.c:704 +msgid "Whether this widget has a tooltip" +msgstr "" + +#: ../gtk/gtkwidget.c:760 +msgid "Window" +msgstr "" + +#: ../gtk/gtkwidget.c:761 +msgid "The widget's window if it is realized" +msgstr "" + +#: ../gtk/gtkwidget.c:775 +msgid "Double Buffered" +msgstr "" + +#: ../gtk/gtkwidget.c:776 +msgid "Whether or not the widget is double buffered" +msgstr "" + +#: ../gtk/gtkwidget.c:2423 +msgid "Interior Focus" +msgstr "" + +#: ../gtk/gtkwidget.c:2424 +msgid "Whether to draw the focus indicator inside widgets" +msgstr "" + +#: ../gtk/gtkwidget.c:2430 +msgid "Focus linewidth" +msgstr "" + +#: ../gtk/gtkwidget.c:2431 +msgid "Width, in pixels, of the focus indicator line" +msgstr "" + +#: ../gtk/gtkwidget.c:2437 +msgid "Focus line dash pattern" +msgstr "" + +#: ../gtk/gtkwidget.c:2438 +msgid "Dash pattern used to draw the focus indicator" +msgstr "" + +#: ../gtk/gtkwidget.c:2443 +msgid "Focus padding" +msgstr "" + +#: ../gtk/gtkwidget.c:2444 +msgid "Width, in pixels, between focus indicator and the widget 'box'" +msgstr "" + +#: ../gtk/gtkwidget.c:2449 +msgid "Cursor color" +msgstr "" + +#: ../gtk/gtkwidget.c:2450 +msgid "Color with which to draw insertion cursor" +msgstr "" + +#: ../gtk/gtkwidget.c:2455 +msgid "Secondary cursor color" +msgstr "" + +#: ../gtk/gtkwidget.c:2456 +msgid "" +"Color with which to draw the secondary insertion cursor when editing mixed " +"right-to-left and left-to-right text" +msgstr "" + +#: ../gtk/gtkwidget.c:2461 +msgid "Cursor line aspect ratio" +msgstr "" + +#: ../gtk/gtkwidget.c:2462 +msgid "Aspect ratio with which to draw insertion cursor" +msgstr "" + +#: ../gtk/gtkwidget.c:2478 +msgid "Draw Border" +msgstr "" + +#: ../gtk/gtkwidget.c:2479 +msgid "Size of areas outside the widget's allocation to draw" +msgstr "" + +#: ../gtk/gtkwidget.c:2492 +msgid "Unvisited Link Color" +msgstr "" + +#: ../gtk/gtkwidget.c:2493 +msgid "Color of unvisited links" +msgstr "" + +#: ../gtk/gtkwidget.c:2506 +msgid "Visited Link Color" +msgstr "" + +#: ../gtk/gtkwidget.c:2507 +msgid "Color of visited links" +msgstr "" + +#: ../gtk/gtkwidget.c:2521 +msgid "Wide Separators" +msgstr "" + +#: ../gtk/gtkwidget.c:2522 +msgid "" +"Whether separators have configurable width and should be drawn using a box " +"instead of a line" +msgstr "" + +#: ../gtk/gtkwidget.c:2536 +msgid "Separator Width" +msgstr "" + +#: ../gtk/gtkwidget.c:2537 +msgid "The width of separators if wide-separators is TRUE" +msgstr "" + +#: ../gtk/gtkwidget.c:2551 +msgid "Separator Height" +msgstr "" + +#: ../gtk/gtkwidget.c:2552 +msgid "The height of separators if \"wide-separators\" is TRUE" +msgstr "" + +#: ../gtk/gtkwidget.c:2566 +msgid "Horizontal Scroll Arrow Length" +msgstr "" + +#: ../gtk/gtkwidget.c:2567 +msgid "The length of horizontal scroll arrows" +msgstr "" + +#: ../gtk/gtkwidget.c:2581 +msgid "Vertical Scroll Arrow Length" +msgstr "" + +#: ../gtk/gtkwidget.c:2582 +msgid "The length of vertical scroll arrows" +msgstr "" + +#: ../gtk/gtkwindow.c:483 +msgid "Window Type" +msgstr "" + +#: ../gtk/gtkwindow.c:484 +msgid "The type of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:492 +msgid "Window Title" +msgstr "" + +#: ../gtk/gtkwindow.c:493 +msgid "The title of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:500 +msgid "Window Role" +msgstr "" + +#: ../gtk/gtkwindow.c:501 +msgid "Unique identifier for the window to be used when restoring a session" +msgstr "" + +#: ../gtk/gtkwindow.c:517 +msgid "Startup ID" +msgstr "" + +#: ../gtk/gtkwindow.c:518 +msgid "Unique startup identifier for the window used by startup-notification" +msgstr "" + +#: ../gtk/gtkwindow.c:533 +msgid "Allow Shrink" +msgstr "" + +#: ../gtk/gtkwindow.c:535 +#, no-c-format +msgid "" +"If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the " +"time a bad idea" +msgstr "" + +#: ../gtk/gtkwindow.c:549 +msgid "Allow Grow" +msgstr "" + +#: ../gtk/gtkwindow.c:550 +msgid "If TRUE, users can expand the window beyond its minimum size" +msgstr "" + +#: ../gtk/gtkwindow.c:558 +msgid "If TRUE, users can resize the window" +msgstr "" + +#: ../gtk/gtkwindow.c:565 +msgid "Modal" +msgstr "" + +#: ../gtk/gtkwindow.c:566 +msgid "" +"If TRUE, the window is modal (other windows are not usable while this one is " +"up)" +msgstr "" + +#: ../gtk/gtkwindow.c:573 +msgid "Window Position" +msgstr "" + +#: ../gtk/gtkwindow.c:574 +msgid "The initial position of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:582 +msgid "Default Width" +msgstr "" + +#: ../gtk/gtkwindow.c:583 +msgid "The default width of the window, used when initially showing the window" +msgstr "" + +#: ../gtk/gtkwindow.c:592 +msgid "Default Height" +msgstr "" + +#: ../gtk/gtkwindow.c:593 +msgid "" +"The default height of the window, used when initially showing the window" +msgstr "" + +#: ../gtk/gtkwindow.c:602 +msgid "Destroy with Parent" +msgstr "" + +#: ../gtk/gtkwindow.c:603 +msgid "If this window should be destroyed when the parent is destroyed" +msgstr "" + +#: ../gtk/gtkwindow.c:611 +msgid "Icon for this window" +msgstr "" + +#: ../gtk/gtkwindow.c:617 +msgid "Mnemonics Visible" +msgstr "" + +#: ../gtk/gtkwindow.c:618 +msgid "Whether mnemonics are currently visible in this window" +msgstr "" + +#: ../gtk/gtkwindow.c:634 +msgid "Name of the themed icon for this window" +msgstr "" + +#: ../gtk/gtkwindow.c:649 +msgid "Is Active" +msgstr "" + +#: ../gtk/gtkwindow.c:650 +msgid "Whether the toplevel is the current active window" +msgstr "" + +#: ../gtk/gtkwindow.c:657 +msgid "Focus in Toplevel" +msgstr "" + +#: ../gtk/gtkwindow.c:658 +msgid "Whether the input focus is within this GtkWindow" +msgstr "" + +#: ../gtk/gtkwindow.c:665 +msgid "Type hint" +msgstr "" + +#: ../gtk/gtkwindow.c:666 +msgid "" +"Hint to help the desktop environment understand what kind of window this is " +"and how to treat it." +msgstr "" + +#: ../gtk/gtkwindow.c:674 +msgid "Skip taskbar" +msgstr "" + +#: ../gtk/gtkwindow.c:675 +msgid "TRUE if the window should not be in the task bar." +msgstr "" + +#: ../gtk/gtkwindow.c:682 +msgid "Skip pager" +msgstr "" + +#: ../gtk/gtkwindow.c:683 +msgid "TRUE if the window should not be in the pager." +msgstr "" + +#: ../gtk/gtkwindow.c:690 +msgid "Urgent" +msgstr "" + +#: ../gtk/gtkwindow.c:691 +msgid "TRUE if the window should be brought to the user's attention." +msgstr "" + +#: ../gtk/gtkwindow.c:705 +msgid "Accept focus" +msgstr "" + +#: ../gtk/gtkwindow.c:706 +msgid "TRUE if the window should receive the input focus." +msgstr "" + +#: ../gtk/gtkwindow.c:720 +msgid "Focus on map" +msgstr "" + +#: ../gtk/gtkwindow.c:721 +msgid "TRUE if the window should receive the input focus when mapped." +msgstr "" + +#: ../gtk/gtkwindow.c:735 +msgid "Decorated" +msgstr "" + +#: ../gtk/gtkwindow.c:736 +msgid "Whether the window should be decorated by the window manager" +msgstr "" + +#: ../gtk/gtkwindow.c:750 +msgid "Deletable" +msgstr "" + +#: ../gtk/gtkwindow.c:751 +msgid "Whether the window frame should have a close button" +msgstr "" + +#: ../gtk/gtkwindow.c:767 +msgid "Gravity" +msgstr "" + +#: ../gtk/gtkwindow.c:768 +msgid "The window gravity of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:785 +msgid "Transient for Window" +msgstr "" + +#: ../gtk/gtkwindow.c:786 +msgid "The transient parent of the dialog" +msgstr "" + +#: ../gtk/gtkwindow.c:801 +msgid "Opacity for Window" +msgstr "" + +#: ../gtk/gtkwindow.c:802 +msgid "The opacity of the window, from 0 to 1" +msgstr "" + +#: ../modules/input/gtkimcontextxim.c:334 +msgid "IM Preedit style" +msgstr "" + +#: ../modules/input/gtkimcontextxim.c:335 +msgid "How to draw the input method preedit string" +msgstr "" + +#: ../modules/input/gtkimcontextxim.c:343 +msgid "IM Status style" +msgstr "" + +#: ../modules/input/gtkimcontextxim.c:344 +msgid "How to draw the input method statusbar" +msgstr "" diff --git a/po/LINGUAS b/po/LINGUAS index f40df4850a..9569b765b9 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -58,6 +58,7 @@ kk kn ko ku +lg li lt lv diff --git a/po/lg.po b/po/lg.po new file mode 100644 index 0000000000..79e3810708 --- /dev/null +++ b/po/lg.po @@ -0,0 +1,4360 @@ +# Translation of gtk+ into Luganda. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the gtk+ package. +# Kizito Birabwa , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: gtk+-2.22\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" +"2b&component=general\n" +"POT-Creation-Date: 2010-11-03 00:05+0000\n" +"PO-Revision-Date: 2010-11-06 12:50+0000\n" +"Last-Translator: Kizito Birabwa \n" +"Language-Team: Luganda \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../gdk/gdk.c:103 +#, c-format +msgid "Error parsing option --gdk-debug" +msgstr "Wazzewo kiremya mu kuyungulula makulu mu kawayiro aka --gdk-debug" + +#: ../gdk/gdk.c:123 +#, c-format +msgid "Error parsing option --gdk-no-debug" +msgstr "Wazzewo kiremya mu kuyungululamakulu mu kawayiro aka --gdk-no-debug" + +#. Description of --class=CLASS in --help output +#: ../gdk/gdk.c:151 +msgid "Program class as used by the window manager" +msgstr "Kiti ekiteekateekamadirisa mwe kissa puloguramu" + +#. Placeholder in --class=CLASS in --help output +#: ../gdk/gdk.c:152 +msgid "CLASS" +msgstr "KITI" + +#. Description of --name=NAME in --help output +#: ../gdk/gdk.c:154 +msgid "Program name as used by the window manager" +msgstr "Erinnya ekiteekateekamadirisa lye kiyita puloguramu" + +#. Placeholder in --name=NAME in --help output +#: ../gdk/gdk.c:155 +msgid "NAME" +msgstr "LINNYA" + +#. Description of --display=DISPLAY in --help output +#: ../gdk/gdk.c:157 +msgid "X display to use" +msgstr "Omulimu gwa X ogunaakozesebwa" + +#. Placeholder in --display=DISPLAY in --help output +#: ../gdk/gdk.c:158 +msgid "DISPLAY" +msgstr "MULIMU" + +#. Description of --screen=SCREEN in --help output +#: ../gdk/gdk.c:160 +msgid "X screen to use" +msgstr "Olutmbe olunaakozesebwa" + +#. Placeholder in --screen=SCREEN in --help output +#: ../gdk/gdk.c:161 +msgid "SCREEN" +msgstr "LUTIMBE" + +#. Description of --gdk-debug=FLAGS in --help output +#: ../gdk/gdk.c:164 +msgid "GDK debugging flags to set" +msgstr "" + +#. Placeholder in --gdk-debug=FLAGS in --help output +#. Placeholder in --gdk-no-debug=FLAGS in --help output +#. Placeholder in --gtk-debug=FLAGS in --help output +#. Placeholder in --gtk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:165 ../gdk/gdk.c:168 ../gtk/gtkmain.c:459 ../gtk/gtkmain.c:462 +msgid "FLAGS" +msgstr "" + +#. Description of --gdk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:167 +msgid "GDK debugging flags to unset" +msgstr "" + +#: ../gdk/keyname-table.h:3940 +msgctxt "keyboard label" +msgid "BackSpace" +msgstr "" + +#: ../gdk/keyname-table.h:3941 +msgctxt "keyboard label" +msgid "Tab" +msgstr "" + +#: ../gdk/keyname-table.h:3942 +msgctxt "keyboard label" +msgid "Return" +msgstr "" + +#: ../gdk/keyname-table.h:3943 +msgctxt "keyboard label" +msgid "Pause" +msgstr "" + +#: ../gdk/keyname-table.h:3944 +msgctxt "keyboard label" +msgid "Scroll_Lock" +msgstr "" + +#: ../gdk/keyname-table.h:3945 +msgctxt "keyboard label" +msgid "Sys_Req" +msgstr "" + +#: ../gdk/keyname-table.h:3946 +msgctxt "keyboard label" +msgid "Escape" +msgstr "" + +#: ../gdk/keyname-table.h:3947 +msgctxt "keyboard label" +msgid "Multi_key" +msgstr "" + +#: ../gdk/keyname-table.h:3948 +msgctxt "keyboard label" +msgid "Home" +msgstr "" + +#: ../gdk/keyname-table.h:3949 +msgctxt "keyboard label" +msgid "Left" +msgstr "" + +#: ../gdk/keyname-table.h:3950 +msgctxt "keyboard label" +msgid "Up" +msgstr "" + +#: ../gdk/keyname-table.h:3951 +msgctxt "keyboard label" +msgid "Right" +msgstr "" + +#: ../gdk/keyname-table.h:3952 +msgctxt "keyboard label" +msgid "Down" +msgstr "" + +#: ../gdk/keyname-table.h:3953 +msgctxt "keyboard label" +msgid "Page_Up" +msgstr "" + +#: ../gdk/keyname-table.h:3954 +msgctxt "keyboard label" +msgid "Page_Down" +msgstr "" + +#: ../gdk/keyname-table.h:3955 +msgctxt "keyboard label" +msgid "End" +msgstr "" + +#: ../gdk/keyname-table.h:3956 +msgctxt "keyboard label" +msgid "Begin" +msgstr "" + +#: ../gdk/keyname-table.h:3957 +msgctxt "keyboard label" +msgid "Print" +msgstr "" + +#: ../gdk/keyname-table.h:3958 +msgctxt "keyboard label" +msgid "Insert" +msgstr "" + +#: ../gdk/keyname-table.h:3959 +msgctxt "keyboard label" +msgid "Num_Lock" +msgstr "" + +#: ../gdk/keyname-table.h:3960 +msgctxt "keyboard label" +msgid "KP_Space" +msgstr "" + +#: ../gdk/keyname-table.h:3961 +msgctxt "keyboard label" +msgid "KP_Tab" +msgstr "" + +#: ../gdk/keyname-table.h:3962 +msgctxt "keyboard label" +msgid "KP_Enter" +msgstr "" + +#: ../gdk/keyname-table.h:3963 +msgctxt "keyboard label" +msgid "KP_Home" +msgstr "" + +#: ../gdk/keyname-table.h:3964 +msgctxt "keyboard label" +msgid "KP_Left" +msgstr "" + +#: ../gdk/keyname-table.h:3965 +msgctxt "keyboard label" +msgid "KP_Up" +msgstr "" + +#: ../gdk/keyname-table.h:3966 +msgctxt "keyboard label" +msgid "KP_Right" +msgstr "" + +#: ../gdk/keyname-table.h:3967 +msgctxt "keyboard label" +msgid "KP_Down" +msgstr "" + +#: ../gdk/keyname-table.h:3968 +msgctxt "keyboard label" +msgid "KP_Page_Up" +msgstr "" + +#: ../gdk/keyname-table.h:3969 +msgctxt "keyboard label" +msgid "KP_Prior" +msgstr "" + +#: ../gdk/keyname-table.h:3970 +msgctxt "keyboard label" +msgid "KP_Page_Down" +msgstr "" + +#: ../gdk/keyname-table.h:3971 +msgctxt "keyboard label" +msgid "KP_Next" +msgstr "" + +#: ../gdk/keyname-table.h:3972 +msgctxt "keyboard label" +msgid "KP_End" +msgstr "" + +#: ../gdk/keyname-table.h:3973 +msgctxt "keyboard label" +msgid "KP_Begin" +msgstr "" + +#: ../gdk/keyname-table.h:3974 +msgctxt "keyboard label" +msgid "KP_Insert" +msgstr "" + +#: ../gdk/keyname-table.h:3975 +msgctxt "keyboard label" +msgid "KP_Delete" +msgstr "" + +#: ../gdk/keyname-table.h:3976 +msgctxt "keyboard label" +msgid "Delete" +msgstr "" + +#. Description of --sync in --help output +#: ../gdk/win32/gdkmain-win32.c:54 +msgid "Don't batch GDI requests" +msgstr "" + +#. Description of --no-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:56 +msgid "Don't use the Wintab API for tablet support" +msgstr "" + +#. Description of --ignore-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:58 +msgid "Same as --no-wintab" +msgstr "" + +#. Description of --use-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:60 +msgid "Do use the Wintab API [default]" +msgstr "" + +#. Description of --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:62 +msgid "Size of the palette in 8 bit mode" +msgstr "" + +#. Placeholder in --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:63 +msgid "COLORS" +msgstr "" + +#. Description of --sync in --help output +#: ../gdk/x11/gdkmain-x11.c:93 +msgid "Make X calls synchronous" +msgstr "" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:313 +#, c-format +msgid "Starting %s" +msgstr "Ntandika %s" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 +#, c-format +msgid "Opening %s" +msgstr "Mbikkula %s" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:322 +#, c-format +msgid "Opening %d Item" +msgid_plural "Opening %d Items" +msgstr[0] "" +msgstr[1] "" + +#: ../gtk/gtkaboutdialog.c:242 +msgid "Could not show link" +msgstr "Nnemedwa okulaga enyunzi" + +#: ../gtk/gtkaboutdialog.c:365 ../gtk/gtkaboutdialog.c:2263 +msgid "License" +msgstr "Layisinsi" + +#: ../gtk/gtkaboutdialog.c:366 +msgid "The license of the program" +msgstr "Layisinsi efuga nkozesa ya puloguramu" + +#. Add the credits button +#: ../gtk/gtkaboutdialog.c:625 +msgid "C_redits" +msgstr "A_baakola" + +#. Add the license button +#: ../gtk/gtkaboutdialog.c:639 +msgid "_License" +msgstr "_Layisinsi" + +#: ../gtk/gtkaboutdialog.c:917 +#, c-format +msgid "About %s" +msgstr "Okwanjula %s" + +#: ../gtk/gtkaboutdialog.c:2186 +msgid "Credits" +msgstr "Abaakola" + +#: ../gtk/gtkaboutdialog.c:2215 +msgid "Written by" +msgstr "Yawandikibwa" + +#: ../gtk/gtkaboutdialog.c:2218 +msgid "Documented by" +msgstr "Yawandikibwako" + +#: ../gtk/gtkaboutdialog.c:2230 +msgid "Translated by" +msgstr "Yavvuunulibwa" + +#: ../gtk/gtkaboutdialog.c:2234 +msgid "Artwork by" +msgstr "Abaakola ku nfaanana ya yo" + +#. This is the text that should appear next to menu accelerators +#. * that use the shift key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:146 +msgctxt "keyboard label" +msgid "Shift" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the control key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:152 +msgctxt "keyboard label" +msgid "Ctrl" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the alt key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:158 +msgctxt "keyboard label" +msgid "Alt" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the super key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:743 +msgctxt "keyboard label" +msgid "Super" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the hyper key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:756 +msgctxt "keyboard label" +msgid "Hyper" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the meta key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:770 +msgctxt "keyboard label" +msgid "Meta" +msgstr "" + +#: ../gtk/gtkaccellabel.c:787 +msgctxt "keyboard label" +msgid "Space" +msgstr "Kabangirizi" + +#: ../gtk/gtkaccellabel.c:790 +msgctxt "keyboard label" +msgid "Backslash" +msgstr "Kasaze ka kaddanyuma" + +#: ../gtk/gtkbuilderparser.c:343 +#, c-format +msgid "Invalid type function on line %d: '%s'" +msgstr "" + +#: ../gtk/gtkbuilderparser.c:407 +#, c-format +msgid "Duplicate object ID '%s' on line %d (previously on line %d)" +msgstr "" + +#: ../gtk/gtkbuilderparser.c:859 +#, c-format +msgid "Invalid root element: '%s'" +msgstr "" + +#: ../gtk/gtkbuilderparser.c:898 +#, c-format +msgid "Unhandled tag: '%s'" +msgstr "" + +#. Translate to calendar:YM if you want years to be displayed +#. * before months; otherwise translate to calendar:MY. +#. * Do *not* translate it to anything else, if it +#. * it isn't calendar:YM or calendar:MY it will not work. +#. * +#. * Note that the ordering described here is logical order, which is +#. * further influenced by BIDI ordering. Thus, if you have a default +#. * text direction of RTL and specify "calendar:YM", then the year +#. * will appear to the right of the month. +#. +#: ../gtk/gtkcalendar.c:799 +msgid "calendar:MY" +msgstr "" + +#. Translate to calendar:week_start:0 if you want Sunday to be the +#. * first day of the week to calendar:week_start:1 if you want Monday +#. * to be the first day of the week, and so on. +#. +#: ../gtk/gtkcalendar.c:837 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#. Translators: This is a text measurement template. +#. * Translate it to the widest year text +#. * +#. * If you don't understand this, leave it as "2000" +#. +#: ../gtk/gtkcalendar.c:1890 +msgctxt "year measurement template" +msgid "2000" +msgstr "2000" + +#. Translators: this defines whether the day numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1921 ../gtk/gtkcalendar.c:2584 +#, c-format +msgctxt "calendar:day:digits" +msgid "%d" +msgstr "%d" + +#. Translators: this defines whether the week numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1953 ../gtk/gtkcalendar.c:2447 +#, c-format +msgctxt "calendar:week:digits" +msgid "%d" +msgstr "%d" + +#. Translators: This dictates how the year is displayed in +#. * gtkcalendar widget. See strftime() manual for the format. +#. * Use only ASCII in the translation. +#. * +#. * Also look for the msgid "2000". +#. * Translate that entry to a year with the widest output of this +#. * msgid. +#. * +#. * "%Y" is appropriate for most locales. +#. +#: ../gtk/gtkcalendar.c:2235 +msgctxt "calendar year format" +msgid "%Y" +msgstr "%Y" + +#. This label is displayed in a treeview cell displaying +#. * a disabled accelerator key combination. +#. +#: ../gtk/gtkcellrendereraccel.c:244 +msgctxt "Accelerator" +msgid "Disabled" +msgstr "Tegakola" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator key combination that is not valid according +#. * to gtk_accelerator_valid(). +#. +#: ../gtk/gtkcellrendereraccel.c:254 +msgctxt "Accelerator" +msgid "Invalid" +msgstr "Tegakkirizibwa" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator when the cell is clicked to change the +#. * acelerator. +#. +#: ../gtk/gtkcellrendereraccel.c:389 ../gtk/gtkcellrendereraccel.c:603 +msgid "New accelerator..." +msgstr "Gakyuse..." + +#: ../gtk/gtkcellrendererprogress.c:361 ../gtk/gtkcellrendererprogress.c:448 +#, c-format +msgctxt "progress bar label" +msgid "%d %%" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:178 ../gtk/gtkcolorbutton.c:457 +msgid "Pick a Color" +msgstr "Londako langi" + +#: ../gtk/gtkcolorbutton.c:350 +msgid "Received invalid color data\n" +msgstr "Nfunye ebya langi ebitakkirizibwa\n" + +#: ../gtk/gtkcolorsel.c:363 +msgid "" +"Select the color you want from the outer ring. Select the darkness or " +"lightness of that color using the inner triangle." +msgstr "" +"Kozesa namuziga okulonda langi. Kozesa nsondasatu obutegeka obukwafu bwa yo." + +#: ../gtk/gtkcolorsel.c:387 +msgid "" +"Click the eyedropper, then click a color anywhere on your screen to select " +"that color." +msgstr "" +"Bw'onyiga ku katonyesa, ofuna ekikusobozesa okukwata langi okuva wonna " +"w'oyagala ku lutimbe" + +#: ../gtk/gtkcolorsel.c:396 +msgid "_Hue:" +msgstr "_Kiti kya langi:" + +#: ../gtk/gtkcolorsel.c:397 +msgid "Position on the color wheel." +msgstr "Kifo ku namuziga y'erangi." + +#: ../gtk/gtkcolorsel.c:399 +msgid "_Saturation:" +msgstr "_Busaabulukufu:" + +#: ../gtk/gtkcolorsel.c:400 +msgid "\"Deepness\" of the color." +msgstr "Obusaabulufu bwa langi." + +#: ../gtk/gtkcolorsel.c:401 +msgid "_Value:" +msgstr "_Butaangaavu:" + +#: ../gtk/gtkcolorsel.c:402 +msgid "Brightness of the color." +msgstr "Obutaangaavu bw'erangi." + +#: ../gtk/gtkcolorsel.c:403 +msgid "_Red:" +msgstr "Obu_myufu" + +#: ../gtk/gtkcolorsel.c:404 +msgid "Amount of red light in the color." +msgstr "Obumyufu obuli mu langi." + +#: ../gtk/gtkcolorsel.c:405 +msgid "_Green:" +msgstr "Obwaki_ragala:" + +#: ../gtk/gtkcolorsel.c:406 +msgid "Amount of green light in the color." +msgstr "Obwakiragala obuli mu langi." + +#: ../gtk/gtkcolorsel.c:407 +msgid "_Blue:" +msgstr "Obwa_bbululu:" + +#: ../gtk/gtkcolorsel.c:408 +msgid "Amount of blue light in the color." +msgstr "Obwabbululu obuli mu langi." + +#: ../gtk/gtkcolorsel.c:411 +msgid "Op_acity:" +msgstr "Oku_taangaala:" + +#: ../gtk/gtkcolorsel.c:418 ../gtk/gtkcolorsel.c:428 +msgid "Transparency of the color." +msgstr "Okutaangaala kw'erangi." + +#: ../gtk/gtkcolorsel.c:435 +msgid "Color _name:" +msgstr "_Linnya lya langi:" + +#: ../gtk/gtkcolorsel.c:449 +msgid "" +"You can enter an HTML-style hexadecimal color value, or simply a color name " +"such as 'orange' in this entry." +msgstr "" +"Wano oyinz'okuwandikawo ennamba ey'omu nnengakkuminamukaaga nga mu HTML, oba " +"oyinz'okuwandikawo erinya nga 'orange'." + +#: ../gtk/gtkcolorsel.c:479 +msgid "_Palette:" +msgstr "" + +#: ../gtk/gtkcolorsel.c:508 +msgid "Color Wheel" +msgstr "Namuziga ya langi" + +#: ../gtk/gtkcolorsel.c:967 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now. You can drag this color to a palette entry, or select this color as " +"current by dragging it to the other color swatch alongside." +msgstr "" + +#: ../gtk/gtkcolorsel.c:970 +msgid "" +"The color you've chosen. You can drag this color to a palette entry to save " +"it for use in the future." +msgstr "" + +#: ../gtk/gtkcolorsel.c:975 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now." +msgstr "" + +#: ../gtk/gtkcolorsel.c:978 +msgid "The color you've chosen." +msgstr "" + +#: ../gtk/gtkcolorsel.c:1391 +msgid "_Save color here" +msgstr "" + +#: ../gtk/gtkcolorsel.c:1596 +msgid "" +"Click this palette entry to make it the current color. To change this entry, " +"drag a color swatch here or right-click it and select \"Save color here.\"" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:170 +msgid "Color Selection" +msgstr "" + +#. Translate to the default units to use for presenting +#. * lengths to the user. Translate to default:inch if you +#. * want inches, otherwise translate to default:mm. +#. * Do *not* translate it to "predefinito:mm", if it +#. * it isn't default:mm or default:inch it will not work +#. +#: ../gtk/gtkcustompaperunixdialog.c:118 +msgid "default:mm" +msgstr "default:mm" + +#. And show the custom paper dialog +#: ../gtk/gtkcustompaperunixdialog.c:373 ../gtk/gtkprintunixdialog.c:3226 +msgid "Manage Custom Sizes" +msgstr "Teekateeka ebigero by'empapula ebitasangibwasangibwa" + +#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:778 +msgid "inch" +msgstr "yinci" + +#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:776 +msgid "mm" +msgstr "mm" + +#: ../gtk/gtkcustompaperunixdialog.c:580 +msgid "Margins from Printer..." +msgstr "" + +#: ../gtk/gtkcustompaperunixdialog.c:746 +#, c-format +msgid "Custom Size %d" +msgstr "Ekigero ekyeteekateekere %d" + +#: ../gtk/gtkcustompaperunixdialog.c:1054 +msgid "_Width:" +msgstr "Bu_gazi:" + +#: ../gtk/gtkcustompaperunixdialog.c:1066 +msgid "_Height:" +msgstr "Bu_wanvu:" + +#: ../gtk/gtkcustompaperunixdialog.c:1078 +msgid "Paper Size" +msgstr "Kigero ky'empapula" + +#: ../gtk/gtkcustompaperunixdialog.c:1087 +msgid "_Top:" +msgstr "Wa_ggulu:" + +#: ../gtk/gtkcustompaperunixdialog.c:1099 +msgid "_Bottom:" +msgstr "Wa_nsi:" + +#: ../gtk/gtkcustompaperunixdialog.c:1111 +msgid "_Left:" +msgstr "_Kkono:" + +#: ../gtk/gtkcustompaperunixdialog.c:1123 +msgid "_Right:" +msgstr "_Ddyo:" + +#: ../gtk/gtkcustompaperunixdialog.c:1164 +msgid "Paper Margins" +msgstr "Emyagaanya ku mpapula" + +#: ../gtk/gtkentry.c:8751 ../gtk/gtktextview.c:7974 +msgid "Input _Methods" +msgstr "" + +#: ../gtk/gtkentry.c:8765 ../gtk/gtktextview.c:7988 +msgid "_Insert Unicode Control Character" +msgstr "" + +#: ../gtk/gtkentry.c:10144 +msgid "Caps Lock is on" +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:64 +msgid "Select A File" +msgstr "Londayo fayiro" + +#: ../gtk/gtkfilechooserbutton.c:65 ../gtk/gtkfilechooserdefault.c:1839 +msgid "Desktop" +msgstr "Awakolerwa" + +#: ../gtk/gtkfilechooserbutton.c:66 +msgid "(None)" +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:2021 +msgid "Other..." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:148 +msgid "Type name of new folder" +msgstr "Wandika linnya ly'etterekero eppya" + +#: ../gtk/gtkfilechooserdefault.c:965 +msgid "Could not retrieve information about the file" +msgstr "Nnemedwa okufuna ebifa ku fayiro" + +#: ../gtk/gtkfilechooserdefault.c:976 +msgid "Could not add a bookmark" +msgstr "Nnemedwa okukwata ekifo" + +#: ../gtk/gtkfilechooserdefault.c:987 +msgid "Could not remove bookmark" +msgstr "Nnemedwa okugyawo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:998 +msgid "The folder could not be created" +msgstr "Tekisobose tterekero okulikolawo" + +#: ../gtk/gtkfilechooserdefault.c:1011 +msgid "" +"The folder could not be created, as a file with the same name already " +"exists. Try using a different name for the folder, or rename the file first." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:1022 +msgid "Invalid file name" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:1032 +msgid "The folder contents could not be displayed" +msgstr "" + +#. Translators: the first string is a path and the second string +#. * is a hostname. Nautilus and the panel contain the same string +#. * to translate. +#. +#: ../gtk/gtkfilechooserdefault.c:1582 +#, c-format +msgid "%1$s on %2$s" +msgstr "%1$s ku %2$s" + +#: ../gtk/gtkfilechooserdefault.c:1758 +msgid "Search" +msgstr "Noonya" + +#: ../gtk/gtkfilechooserdefault.c:1782 ../gtk/gtkfilechooserdefault.c:9465 +msgid "Recently Used" +msgstr "Ebyakabukkulibwa" + +#: ../gtk/gtkfilechooserdefault.c:2422 +msgid "Select which types of files are shown" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:2781 +#, c-format +msgid "Add the folder '%s' to the bookmarks" +msgstr "Tterekero'%s' likolerewo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:2825 +#, c-format +msgid "Add the current folder to the bookmarks" +msgstr "Tterekero lino likolerewo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:2827 +#, c-format +msgid "Add the selected folders to the bookmarks" +msgstr "Amaterekero agalondedwa gakolerewo obukwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:2865 +#, c-format +msgid "Remove the bookmark '%s'" +msgstr "Gyawo akakwatakifo '%s'" + +#: ../gtk/gtkfilechooserdefault.c:2867 +#, c-format +msgid "Bookmark '%s' cannot be removed" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:2874 ../gtk/gtkfilechooserdefault.c:3898 +msgid "Remove the selected bookmark" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:3594 +msgid "Remove" +msgstr "Gyawo" + +#: ../gtk/gtkfilechooserdefault.c:3603 +msgid "Rename..." +msgstr "Kyusa erinnya..." + +#. Accessible object name for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3766 +msgid "Places" +msgstr "Bifo" + +#. Column header for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3823 +msgid "_Places" +msgstr "_Bifo" + +#: ../gtk/gtkfilechooserdefault.c:3879 +msgid "_Add" +msgstr "_Likolereyo" + +#: ../gtk/gtkfilechooserdefault.c:3886 +msgid "Add the selected folder to the Bookmarks" +msgstr "Etterekero erirondedwa likolerewo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:3891 +msgid "_Remove" +msgstr "_Gyawo" + +#: ../gtk/gtkfilechooserdefault.c:4026 +msgid "Could not select file" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:4201 +msgid "_Add to Bookmarks" +msgstr "_Likolereyo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:4214 +msgid "Show _Hidden Files" +msgstr "Laga fayiro en_kise" + +#: ../gtk/gtkfilechooserdefault.c:4221 +msgid "Show _Size Column" +msgstr "Teekawo olukumbo olulaga _bunene bwa fayiro" + +#: ../gtk/gtkfilechooserdefault.c:4441 ../gtk/gtkfilesel.c:730 +msgid "Files" +msgstr "Fayiro" + +#: ../gtk/gtkfilechooserdefault.c:4492 +msgid "Name" +msgstr "Linnya" + +#: ../gtk/gtkfilechooserdefault.c:4515 +msgid "Size" +msgstr "Bunene" + +#: ../gtk/gtkfilechooserdefault.c:4529 +msgid "Modified" +msgstr "Amakyusibwa" + +#. Label +#: ../gtk/gtkfilechooserdefault.c:4784 ../gtk/gtkprinteroptionwidget.c:802 +msgid "_Name:" +msgstr "_Linnya" + +#: ../gtk/gtkfilechooserdefault.c:4827 +msgid "_Browse for other folders" +msgstr "_Noonya amaterekero amalala" + +#: ../gtk/gtkfilechooserdefault.c:5097 +msgid "Type a file name" +msgstr "Wandikawo erinnya lya fayiro" + +#. Create Folder +#: ../gtk/gtkfilechooserdefault.c:5140 +msgid "Create Fo_lder" +msgstr "Kolawo e_tterekero" + +#: ../gtk/gtkfilechooserdefault.c:5150 +msgid "_Location:" +msgstr "_Obusangiro:" + +#: ../gtk/gtkfilechooserdefault.c:5354 +msgid "Save in _folder:" +msgstr "Teeka mu _tterekero:" + +#: ../gtk/gtkfilechooserdefault.c:5356 +msgid "Create in _folder:" +msgstr "Tondera mu _tterekero:" + +#: ../gtk/gtkfilechooserdefault.c:6431 +#, c-format +msgid "Could not read the contents of %s" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:6435 +msgid "Could not read the contents of the folder" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:6528 ../gtk/gtkfilechooserdefault.c:6596 +#: ../gtk/gtkfilechooserdefault.c:6741 +msgid "Unknown" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:6543 +msgid "%H:%M" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:6545 +msgid "Yesterday at %H:%M" +msgstr "Eggulo ku %H:%M" + +#: ../gtk/gtkfilechooserdefault.c:7211 +msgid "Cannot change to folder because it is not local" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:7808 ../gtk/gtkfilechooserdefault.c:7829 +#, c-format +msgid "Shortcut %s already exists" +msgstr "Enynzi %s yabaawo dda" + +#: ../gtk/gtkfilechooserdefault.c:7919 +#, c-format +msgid "Shortcut %s does not exist" +msgstr "Enyunzi %s teriwo" + +#: ../gtk/gtkfilechooserdefault.c:8174 ../gtk/gtkprintunixdialog.c:480 +#, c-format +msgid "A file named \"%s\" already exists. Do you want to replace it?" +msgstr "Fayiro \"%s\" yabaawo dda. Oyagala eyo esangidwawo eggyibwewo?" + +#: ../gtk/gtkfilechooserdefault.c:8177 ../gtk/gtkprintunixdialog.c:484 +#, c-format +msgid "" +"The file already exists in \"%s\". Replacing it will overwrite its contents." +msgstr "" +"Fayiro yabaawo dda mu \"%s\". Bw'olonda ku gigyawo ebigirimu " +"bijjakusaanyizibwawo." + +#: ../gtk/gtkfilechooserdefault.c:8182 ../gtk/gtkprintunixdialog.c:491 +msgid "_Replace" +msgstr "_Esangidwawo eggyibwewo" + +#: ../gtk/gtkfilechooserdefault.c:8834 +msgid "Could not start the search process" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:8835 +msgid "" +"The program was not able to create a connection to the indexer daemon. " +"Please make sure it is running." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:8849 +msgid "Could not send the search request" +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:9037 +msgid "Search:" +msgstr "Noonya:" + +#: ../gtk/gtkfilechooserdefault.c:9642 +#, c-format +msgid "Could not mount %s" +msgstr "Nnemedwa okuwabga %s" + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry, when the user enters an invalid path. +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1166 +msgid "Invalid path" +msgstr "" + +#. translators: this text is shown when there are no completions +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1098 +msgid "No match" +msgstr "" + +#. translators: this text is shown when there is exactly one completion +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1109 +msgid "Sole completion" +msgstr "" + +#. translators: this text is shown when the text in a file chooser +#. * entry is a complete filename, but could be continued to find +#. * a longer match +#. +#: ../gtk/gtkfilechooserentry.c:1125 +msgid "Complete, but not unique" +msgstr "" + +#. Translators: this text is shown while the system is searching +#. * for possible completions for filenames in a file chooser entry. +#: ../gtk/gtkfilechooserentry.c:1157 +msgid "Completing..." +msgstr "" + +#. hostnames in a local_only file chooser? user error +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user enters something like +#. * "sftp://blahblah" in an app that only supports local filenames. +#: ../gtk/gtkfilechooserentry.c:1179 ../gtk/gtkfilechooserentry.c:1204 +msgid "Only local files may be selected" +msgstr "" + +#. Another option is to complete the hostname based on the remote volumes that are mounted +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user hasn't entered the first '/' +#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") +#: ../gtk/gtkfilechooserentry.c:1188 +msgid "Incomplete hostname; end it with '/'" +msgstr "" + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry when the user enters a path that does not exist +#. * and then hits Tab +#: ../gtk/gtkfilechooserentry.c:1199 +msgid "Path does not exist" +msgstr "" + +#: ../gtk/gtkfilechoosersettings.c:487 ../gtk/gtkfilesel.c:1349 +#: ../gtk/gtkfilesel.c:1360 +#, c-format +msgid "Error creating folder '%s': %s" +msgstr "" + +#: ../gtk/gtkfilesel.c:694 +msgid "Folders" +msgstr "Materekero" + +#: ../gtk/gtkfilesel.c:698 +msgid "Fol_ders" +msgstr "Ma_terekero" + +#: ../gtk/gtkfilesel.c:734 +msgid "_Files" +msgstr "_Fayiro" + +#: ../gtk/gtkfilesel.c:821 ../gtk/gtkfilesel.c:2154 +#, c-format +msgid "Folder unreadable: %s" +msgstr "Tterekero eritakebereka: %s" + +#: ../gtk/gtkfilesel.c:905 +#, c-format +msgid "" +"The file \"%s\" resides on another machine (called %s) and may not be " +"available to this program.\n" +"Are you sure that you want to select it?" +msgstr "" + +#: ../gtk/gtkfilesel.c:1020 +msgid "_New Folder" +msgstr "Tterekero _ppya" + +#: ../gtk/gtkfilesel.c:1031 +msgid "De_lete File" +msgstr "_Gyawo fayiro" + +#: ../gtk/gtkfilesel.c:1042 +msgid "_Rename File" +msgstr "Fayiro gik_yuse erinnya" + +#: ../gtk/gtkfilesel.c:1347 +#, c-format +msgid "" +"The folder name \"%s\" contains symbols that are not allowed in filenames" +msgstr "" + +#: ../gtk/gtkfilesel.c:1394 +msgid "New Folder" +msgstr "Tterekero ppya" + +#: ../gtk/gtkfilesel.c:1409 +msgid "_Folder name:" +msgstr "Linnya lya _tterekero" + +#: ../gtk/gtkfilesel.c:1433 +msgid "C_reate" +msgstr "_Kolawo" + +#: ../gtk/gtkfilesel.c:1476 ../gtk/gtkfilesel.c:1585 ../gtk/gtkfilesel.c:1598 +#, c-format +msgid "The filename \"%s\" contains symbols that are not allowed in filenames" +msgstr "" + +#: ../gtk/gtkfilesel.c:1479 ../gtk/gtkfilesel.c:1491 +#, c-format +msgid "Error deleting file '%s': %s" +msgstr "" + +#: ../gtk/gtkfilesel.c:1534 +#, c-format +msgid "Really delete file \"%s\"?" +msgstr "Fayiro \"%s\" ngiggirewo ddala?" + +#: ../gtk/gtkfilesel.c:1539 +msgid "Delete File" +msgstr "Gyawo fayiro" + +#: ../gtk/gtkfilesel.c:1587 +#, c-format +msgid "Error renaming file to \"%s\": %s" +msgstr "" + +#: ../gtk/gtkfilesel.c:1600 +#, c-format +msgid "Error renaming file \"%s\": %s" +msgstr "" + +#: ../gtk/gtkfilesel.c:1611 +#, c-format +msgid "Error renaming file \"%s\" to \"%s\": %s" +msgstr "" + +#: ../gtk/gtkfilesel.c:1658 +msgid "Rename File" +msgstr "Fayiro gikyuse erinnya" + +#: ../gtk/gtkfilesel.c:1673 +#, c-format +msgid "Rename file \"%s\" to:" +msgstr "Fayiro \"%s\" gituume:" + +#: ../gtk/gtkfilesel.c:1702 +msgid "_Rename" +msgstr "K_yusa linnya" + +#: ../gtk/gtkfilesel.c:2134 +msgid "_Selection: " +msgstr "" + +#: ../gtk/gtkfilesel.c:3056 +#, c-format +msgid "" +"The filename \"%s\" couldn't be converted to UTF-8. (try setting the " +"environment variable G_FILENAME_ENCODING): %s" +msgstr "" + +#: ../gtk/gtkfilesel.c:3059 +msgid "Invalid UTF-8" +msgstr "" + +#: ../gtk/gtkfilesel.c:3935 +msgid "Name too long" +msgstr "" + +#: ../gtk/gtkfilesel.c:3937 +msgid "Couldn't convert filename" +msgstr "" + +#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are +#. * really pointers to GDrive, GVolume or GMount objects. We need an extra +#. * token for the fake "File System" volume. So, we'll return a pointer to +#. * this particular string. +#. +#: ../gtk/gtkfilesystem.c:52 +msgid "File System" +msgstr "Sisitemu ya fayiro" + +#: ../gtk/gtkfontbutton.c:144 ../gtk/gtkfontbutton.c:266 +msgid "Pick a Font" +msgstr "Londayo enkula y'ennukuta" + +#. Initialize fields +#: ../gtk/gtkfontbutton.c:260 +msgid "Sans 12" +msgstr "" + +#: ../gtk/gtkfontbutton.c:785 +msgid "Font" +msgstr "Nkula y'ennukuta" + +#. This is the default text shown in the preview entry, though the user +#. can set it. Remember that some fonts only have capital letters. +#: ../gtk/gtkfontsel.c:75 +msgid "abcdefghijk ABCDEFGHIJK" +msgstr "" + +#: ../gtk/gtkfontsel.c:343 +msgid "_Family:" +msgstr "_Lulyo:" + +#: ../gtk/gtkfontsel.c:349 +msgid "_Style:" +msgstr "_Musono:" + +#: ../gtk/gtkfontsel.c:355 +msgid "Si_ze:" +msgstr "Bu_nene:" + +#. create the text entry widget +#: ../gtk/gtkfontsel.c:532 +msgid "_Preview:" +msgstr "Ku_lagako:" + +#: ../gtk/gtkfontsel.c:1649 +msgid "Font Selection" +msgstr "" + +#: ../gtk/gtkgamma.c:410 +msgid "Gamma" +msgstr "" + +#: ../gtk/gtkgamma.c:420 +msgid "_Gamma value" +msgstr "" + +#. Remove this icon source so we don't keep trying to +#. * load it. +#. +#: ../gtk/gtkiconfactory.c:1354 +#, c-format +msgid "Error loading icon: %s" +msgstr "" + +#: ../gtk/gtkicontheme.c:1363 +#, c-format +msgid "" +"Could not find the icon '%s'. The '%s' theme\n" +"was not found either, perhaps you need to install it.\n" +"You can get a copy from:\n" +"\t%s" +msgstr "" + +#: ../gtk/gtkicontheme.c:1543 +#, c-format +msgid "Icon '%s' not present in theme" +msgstr "" + +#: ../gtk/gtkicontheme.c:3074 +msgid "Failed to load icon" +msgstr "" + +#: ../gtk/gtkimmodule.c:527 +msgid "Simple" +msgstr "" + +#: ../gtk/gtkimmulticontext.c:563 +msgctxt "input method menu" +msgid "System" +msgstr "" + +#: ../gtk/gtkimmulticontext.c:573 +msgctxt "input method menu" +msgid "None" +msgstr "" + +#: ../gtk/gtkimmulticontext.c:656 +#, c-format +msgctxt "input method menu" +msgid "System (%s)" +msgstr "" + +#: ../gtk/gtkinputdialog.c:192 +msgid "Input" +msgstr "" + +#: ../gtk/gtkinputdialog.c:207 +msgid "No extended input devices" +msgstr "" + +#: ../gtk/gtkinputdialog.c:220 +msgid "_Device:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:237 +msgid "Disabled" +msgstr "" + +#: ../gtk/gtkinputdialog.c:244 +msgid "Screen" +msgstr "" + +#: ../gtk/gtkinputdialog.c:251 +msgid "Window" +msgstr "" + +#: ../gtk/gtkinputdialog.c:258 +msgid "_Mode:" +msgstr "" + +#. The axis listbox +#: ../gtk/gtkinputdialog.c:279 +msgid "Axes" +msgstr "" + +#. Keys listbox +#: ../gtk/gtkinputdialog.c:297 +msgid "Keys" +msgstr "" + +#: ../gtk/gtkinputdialog.c:524 +msgid "_X:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:525 +msgid "_Y:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:526 +msgid "_Pressure:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:527 +msgid "X _tilt:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:528 +msgid "Y t_ilt:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:529 +msgid "_Wheel:" +msgstr "" + +#: ../gtk/gtkinputdialog.c:581 +msgid "none" +msgstr "" + +#: ../gtk/gtkinputdialog.c:618 ../gtk/gtkinputdialog.c:654 +msgid "(disabled)" +msgstr "" + +#: ../gtk/gtkinputdialog.c:647 +msgid "(unknown)" +msgstr "" + +#. and clear button +#: ../gtk/gtkinputdialog.c:751 +msgid "Cl_ear" +msgstr "" + +#. Open Link +#: ../gtk/gtklabel.c:5700 +msgid "_Open Link" +msgstr "_Bikkula nyunzi" + +#. Copy Link Address +#: ../gtk/gtklabel.c:5712 +msgid "Copy _Link Address" +msgstr "Kwata e_ndagiriro enyunzi kw'egguka" + +#: ../gtk/gtklinkbutton.c:428 +msgid "Copy URL" +msgstr "Kwata koppi ya URL" + +#: ../gtk/gtklinkbutton.c:586 +msgid "Invalid URI" +msgstr "" + +#. Description of --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:452 +msgid "Load additional GTK+ modules" +msgstr "" + +#. Placeholder in --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:453 +msgid "MODULES" +msgstr "" + +#. Description of --g-fatal-warnings in --help output +#: ../gtk/gtkmain.c:455 +msgid "Make all warnings fatal" +msgstr "" + +#. Description of --gtk-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:458 +msgid "GTK+ debugging flags to set" +msgstr "" + +#. Description of --gtk-no-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:461 +msgid "GTK+ debugging flags to unset" +msgstr "" + +#. Translate to default:RTL if you want your widgets +#. * to be RTL, otherwise translate to default:LTR. +#. * Do *not* translate it to "predefinito:LTR", if it +#. * it isn't default:LTR or default:RTL it will not work +#. +#: ../gtk/gtkmain.c:731 +msgid "default:LTR" +msgstr "" + +#: ../gtk/gtkmain.c:796 +#, c-format +msgid "Cannot open display: %s" +msgstr "" + +#: ../gtk/gtkmain.c:833 +msgid "GTK+ Options" +msgstr "" + +#: ../gtk/gtkmain.c:833 +msgid "Show GTK+ Options" +msgstr "" + +#: ../gtk/gtkmountoperation.c:489 +msgid "Co_nnect" +msgstr "" + +#: ../gtk/gtkmountoperation.c:556 +msgid "Connect _anonymously" +msgstr "" + +#: ../gtk/gtkmountoperation.c:565 +msgid "Connect as u_ser:" +msgstr "" + +#: ../gtk/gtkmountoperation.c:603 +msgid "_Username:" +msgstr "" + +#: ../gtk/gtkmountoperation.c:608 +msgid "_Domain:" +msgstr "" + +#: ../gtk/gtkmountoperation.c:614 +msgid "_Password:" +msgstr "" + +#: ../gtk/gtkmountoperation.c:632 +msgid "Forget password _immediately" +msgstr "" + +#: ../gtk/gtkmountoperation.c:642 +msgid "Remember password until you _logout" +msgstr "" + +#: ../gtk/gtkmountoperation.c:652 +msgid "Remember _forever" +msgstr "" + +#: ../gtk/gtkmountoperation.c:881 +#, c-format +msgid "Unknown Application (PID %d)" +msgstr "" + +#: ../gtk/gtkmountoperation.c:1064 +msgid "Unable to end process" +msgstr "" + +#: ../gtk/gtkmountoperation.c:1101 +msgid "_End Process" +msgstr "" + +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format +msgid "Cannot kill process with PID %d. Operation is not implemented." +msgstr "" + +#. translators: this string is a name for the 'less' command +#: ../gtk/gtkmountoperation-x11.c:865 +msgid "Terminal Pager" +msgstr "" + +#: ../gtk/gtkmountoperation-x11.c:866 +msgid "Top Command" +msgstr "" + +#: ../gtk/gtkmountoperation-x11.c:867 +msgid "Bourne Again Shell" +msgstr "" + +#: ../gtk/gtkmountoperation-x11.c:868 +msgid "Bourne Shell" +msgstr "" + +#: ../gtk/gtkmountoperation-x11.c:869 +msgid "Z Shell" +msgstr "" + +#: ../gtk/gtkmountoperation-x11.c:966 +#, c-format +msgid "Cannot end process with PID %d: %s" +msgstr "" + +#: ../gtk/gtknotebook.c:4705 ../gtk/gtknotebook.c:7311 +#, c-format +msgid "Page %u" +msgstr "" + +#: ../gtk/gtkpagesetup.c:597 ../gtk/gtkpapersize.c:826 +#: ../gtk/gtkpapersize.c:868 +msgid "Not a valid page setup file" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:167 +msgid "Any Printer" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:167 +msgid "For portable documents" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:797 +#, c-format +msgid "" +"Margins:\n" +" Left: %s %s\n" +" Right: %s %s\n" +" Top: %s %s\n" +" Bottom: %s %s" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:846 ../gtk/gtkprintunixdialog.c:3277 +msgid "Manage Custom Sizes..." +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:894 +msgid "_Format for:" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:916 ../gtk/gtkprintunixdialog.c:3449 +msgid "_Paper size:" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:947 +msgid "_Orientation:" +msgstr "" + +#: ../gtk/gtkpagesetupunixdialog.c:1011 ../gtk/gtkprintunixdialog.c:3511 +msgid "Page Setup" +msgstr "" + +#: ../gtk/gtkpathbar.c:151 +msgid "Up Path" +msgstr "" + +#: ../gtk/gtkpathbar.c:153 +msgid "Down Path" +msgstr "" + +#: ../gtk/gtkpathbar.c:1469 +msgid "File System Root" +msgstr "" + +#: ../gtk/gtkprintbackend.c:749 +msgid "Authentication" +msgstr "" + +#: ../gtk/gtkprinteroptionwidget.c:695 +msgid "Not available" +msgstr "" + +#: ../gtk/gtkprinteroptionwidget.c:814 +msgid "_Save in folder:" +msgstr "" + +#. translators: this string is the default job title for print +#. * jobs. %s gets replaced by the application name, %d gets replaced +#. * by the job number. +#. +#: ../gtk/gtkprintoperation.c:190 +#, c-format +msgid "%s job #%d" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1687 +msgctxt "print operation status" +msgid "Initial state" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1688 +msgctxt "print operation status" +msgid "Preparing to print" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1689 +msgctxt "print operation status" +msgid "Generating data" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1690 +msgctxt "print operation status" +msgid "Sending data" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1691 +msgctxt "print operation status" +msgid "Waiting" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1692 +msgctxt "print operation status" +msgid "Blocking on issue" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1693 +msgctxt "print operation status" +msgid "Printing" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1694 +msgctxt "print operation status" +msgid "Finished" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1695 +msgctxt "print operation status" +msgid "Finished with error" +msgstr "" + +#: ../gtk/gtkprintoperation.c:2254 +#, c-format +msgid "Preparing %d" +msgstr "" + +#: ../gtk/gtkprintoperation.c:2256 ../gtk/gtkprintoperation.c:2875 +msgid "Preparing" +msgstr "" + +#: ../gtk/gtkprintoperation.c:2259 +#, c-format +msgid "Printing %d" +msgstr "" + +#: ../gtk/gtkprintoperation.c:2905 +msgid "Error creating print preview" +msgstr "" + +#: ../gtk/gtkprintoperation.c:2908 +msgid "The most probable reason is that a temporary file could not be created." +msgstr "" + +#: ../gtk/gtkprintoperation-unix.c:297 ../gtk/gtkprintoperation-unix.c:314 +msgid "Error launching preview" +msgstr "" + +#: ../gtk/gtkprintoperation-unix.c:358 +msgid "Error printing" +msgstr "" + +#: ../gtk/gtkprintoperation-unix.c:494 ../gtk/gtkprintoperation-win32.c:1447 +msgid "Application" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:612 +msgid "Printer offline" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:614 +msgid "Out of paper" +msgstr "" + +#. Translators: this is a printer status. +#: ../gtk/gtkprintoperation-win32.c:616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +msgid "Paused" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:618 +msgid "Need user intervention" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:718 +msgid "Custom size" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1539 +msgid "No printer found" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1566 +msgid "Invalid argument to CreateDC" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 +msgid "Error from StartDoc" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 +msgid "Not enough free memory" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1760 +msgid "Invalid argument to PrintDlgEx" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1765 +msgid "Invalid pointer to PrintDlgEx" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1770 +msgid "Invalid handle to PrintDlgEx" +msgstr "" + +#: ../gtk/gtkprintoperation-win32.c:1775 +msgid "Unspecified error" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:614 +msgid "Getting printer information failed" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:1862 +msgid "Getting printer information..." +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2132 +msgid "Printer" +msgstr "" + +#. Translators: this is the header for the location column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2142 +msgid "Location" +msgstr "Obusangiro" + +#. Translators: this is the header for the printer status column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2153 +msgid "Status" +msgstr "Embeera" + +#: ../gtk/gtkprintunixdialog.c:2179 +msgid "Range" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2183 +msgid "_All Pages" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2190 +msgid "C_urrent Page" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2200 +msgid "Se_lection" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2209 +msgid "Pag_es:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2210 +msgid "" +"Specify one or more page ranges,\n" +" e.g. 1-3,7,11" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2220 +msgid "Pages" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2233 +msgid "Copies" +msgstr "" + +#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns +#: ../gtk/gtkprintunixdialog.c:2238 +msgid "Copie_s:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2256 +msgid "C_ollate" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2264 +msgid "_Reverse" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:2284 +msgid "General" +msgstr "" + +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) +#. +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing +#. +#: ../gtk/gtkprintunixdialog.c:3010 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +msgid "Left to right, top to bottom" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3010 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +msgid "Left to right, bottom to top" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3011 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +msgid "Right to left, top to bottom" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3011 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +msgid "Right to left, bottom to top" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3012 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +msgid "Top to bottom, left to right" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3012 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +msgid "Top to bottom, right to left" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3013 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +msgid "Bottom to top, left to right" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3013 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +msgid "Bottom to top, right to left" +msgstr "" + +#. Translators, this string is used to label the option in the print +#. * dialog that controls in what order multiple pages are arranged +#. +#: ../gtk/gtkprintunixdialog.c:3017 ../gtk/gtkprintunixdialog.c:3030 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 +msgid "Page Ordering" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3046 +msgid "Left to right" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3047 +msgid "Right to left" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3059 +msgid "Top to bottom" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3060 +msgid "Bottom to top" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3300 +msgid "Layout" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3304 +msgid "T_wo-sided:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3319 +msgid "Pages per _side:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3336 +msgid "Page or_dering:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3352 +msgid "_Only print:" +msgstr "" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3367 +msgid "All sheets" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3368 +msgid "Even sheets" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3369 +msgid "Odd sheets" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3372 +msgid "Sc_ale:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3399 +msgid "Paper" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3403 +msgid "Paper _type:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3418 +msgid "Paper _source:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3433 +msgid "Output t_ray:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3473 +msgid "Or_ientation:" +msgstr "" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3488 +msgid "Portrait" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3489 +msgid "Landscape" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3490 +msgid "Reverse portrait" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3491 +msgid "Reverse landscape" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3536 +msgid "Job Details" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3542 +msgid "Pri_ority:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3557 +msgid "_Billing info:" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3575 +msgid "Print Document" +msgstr "" + +#. Translators: this is one of the choices for the print at option +#. * in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3584 +msgid "_Now" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3595 +msgid "A_t:" +msgstr "" + +#. Translators: Ability to parse the am/pm format depends on actual locale. +#. * You can remove the am/pm values below for your locale if they are not +#. * supported. +#. +#: ../gtk/gtkprintunixdialog.c:3601 +msgid "" +"Specify the time of print,\n" +" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3611 +msgid "Time of print" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3627 +msgid "On _hold" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3628 +msgid "Hold the job until it is explicitly released" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3648 +msgid "Add Cover Page" +msgstr "" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3657 +msgid "Be_fore:" +msgstr "" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3675 +msgid "_After:" +msgstr "" + +#. Translators: this is the tab label for the notebook tab containing +#. * job-specific options in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3693 +msgid "Job" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3759 +msgid "Advanced" +msgstr "" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3794 +msgid "Image Quality" +msgstr "" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3798 +msgid "Color" +msgstr "" + +#. Translators: this will appear as tab label in print dialog. +#. It's a typographical term, as in "Binding and finishing" +#: ../gtk/gtkprintunixdialog.c:3803 +msgid "Finishing" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3813 +msgid "Some of the settings in the dialog conflict" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:3836 +msgid "Print" +msgstr "" + +#: ../gtk/gtkrc.c:2878 +#, c-format +msgid "Unable to find include file: \"%s\"" +msgstr "" + +#: ../gtk/gtkrc.c:3508 ../gtk/gtkrc.c:3511 +#, c-format +msgid "Unable to locate image file in pixmap_path: \"%s\"" +msgstr "" + +#: ../gtk/gtkrecentaction.c:154 ../gtk/gtkrecentaction.c:162 +#: ../gtk/gtkrecentchoosermenu.c:588 ../gtk/gtkrecentchoosermenu.c:596 +#, c-format +msgid "This function is not implemented for widgets of class '%s'" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:481 +msgid "Select which type of documents are shown" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 +#, c-format +msgid "No item for URI '%s' found" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1298 +msgid "Untitled filter" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1651 +msgid "Could not remove item" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1695 +msgid "Could not clear list" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1779 +msgid "Copy _Location" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1792 +msgid "_Remove From List" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1801 +msgid "_Clear List" +msgstr "" + +#: ../gtk/gtkrecentchooserdefault.c:1815 +msgid "Show _Private Resources" +msgstr "" + +#. we create a placeholder menuitem, to be used in case +#. * the menu is empty. this placeholder will stay around +#. * for the entire lifetime of the menu, and we just hide it +#. * when it's not used. we have to do this, and do it here, +#. * because we need a marker for the beginning of the recent +#. * items list, so that we can insert the new items at the +#. * right place when idly populating the menu in case the +#. * user appended or prepended custom menu items to the +#. * recent chooser menu widget. +#. +#: ../gtk/gtkrecentchoosermenu.c:342 +msgid "No items found" +msgstr "" + +#: ../gtk/gtkrecentchoosermenu.c:508 ../gtk/gtkrecentchoosermenu.c:564 +#, c-format +msgid "No recently used resource found with URI `%s'" +msgstr "" + +#: ../gtk/gtkrecentchoosermenu.c:775 +#, c-format +msgid "Open '%s'" +msgstr "" + +#: ../gtk/gtkrecentchoosermenu.c:805 +msgid "Unknown item" +msgstr "" + +#. This is the label format that is used for the first 10 items +#. * in a recent files menu. The %d is the number of the item, +#. * the %s is the name of the item. Please keep the _ in front +#. * of the number to give these menu items a mnemonic. +#. +#: ../gtk/gtkrecentchoosermenu.c:816 +#, c-format +msgctxt "recent menu label" +msgid "_%d. %s" +msgstr "" + +#. This is the format that is used for items in a recent files menu. +#. * The %d is the number of the item, the %s is the name of the item. +#. +#: ../gtk/gtkrecentchoosermenu.c:821 +#, c-format +msgctxt "recent menu label" +msgid "%d. %s" +msgstr "" + +#: ../gtk/gtkrecentmanager.c:1033 ../gtk/gtkrecentmanager.c:1046 +#: ../gtk/gtkrecentmanager.c:1184 ../gtk/gtkrecentmanager.c:1194 +#: ../gtk/gtkrecentmanager.c:1247 ../gtk/gtkrecentmanager.c:1256 +#: ../gtk/gtkrecentmanager.c:1271 +#, c-format +msgid "Unable to find an item with URI '%s'" +msgstr "" + +#: ../gtk/gtkspinner.c:458 +msgctxt "throbbing progress animation widget" +msgid "Spinner" +msgstr "" + +#: ../gtk/gtkspinner.c:459 +msgid "Provides visual indication of progress" +msgstr "" + +#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate +#: ../gtk/gtkstock.c:314 +msgctxt "Stock label" +msgid "Information" +msgstr "Okumanyisa" + +#: ../gtk/gtkstock.c:315 +msgctxt "Stock label" +msgid "Warning" +msgstr "Kulabula" + +#: ../gtk/gtkstock.c:316 +msgctxt "Stock label" +msgid "Error" +msgstr "Kiremya" + +#: ../gtk/gtkstock.c:317 +msgctxt "Stock label" +msgid "Question" +msgstr "Kibuuzo" + +#. FIXME these need accelerators when appropriate, and +#. * need the mnemonics to be rationalized +#. +#: ../gtk/gtkstock.c:322 +msgctxt "Stock label" +msgid "_About" +msgstr "K_wanjula" + +#: ../gtk/gtkstock.c:323 +msgctxt "Stock label" +msgid "_Add" +msgstr "_Yongerako" + +#: ../gtk/gtkstock.c:324 +msgctxt "Stock label" +msgid "_Apply" +msgstr "_Kaza" + +#: ../gtk/gtkstock.c:325 +msgctxt "Stock label" +msgid "_Bold" +msgstr "_Nziggumivu" + +#: ../gtk/gtkstock.c:326 +msgctxt "Stock label" +msgid "_Cancel" +msgstr "_Sazamu" + +#: ../gtk/gtkstock.c:327 +msgctxt "Stock label" +msgid "_CD-Rom" +msgstr "_CDROMU" + +#: ../gtk/gtkstock.c:328 +msgctxt "Stock label" +msgid "_Clear" +msgstr "S_iimula" + +#: ../gtk/gtkstock.c:329 +msgctxt "Stock label" +msgid "_Close" +msgstr "_Gala" + +#: ../gtk/gtkstock.c:330 +msgctxt "Stock label" +msgid "C_onnect" +msgstr "We_yungeko" + +#: ../gtk/gtkstock.c:331 +msgctxt "Stock label" +msgid "_Convert" +msgstr "_Fuula" + +#: ../gtk/gtkstock.c:332 +msgctxt "Stock label" +msgid "_Copy" +msgstr "_Koppa" + +#: ../gtk/gtkstock.c:333 +msgctxt "Stock label" +msgid "Cu_t" +msgstr "Si_tulawo" + +#: ../gtk/gtkstock.c:334 +msgctxt "Stock label" +msgid "_Delete" +msgstr "_Gyawo" + +#: ../gtk/gtkstock.c:335 +msgctxt "Stock label" +msgid "_Discard" +msgstr "L_eka" + +#: ../gtk/gtkstock.c:336 +msgctxt "Stock label" +msgid "_Disconnect" +msgstr "We_kutuleko" + +#: ../gtk/gtkstock.c:337 +msgctxt "Stock label" +msgid "_Execute" +msgstr "_Tandika" + +#: ../gtk/gtkstock.c:338 +msgctxt "Stock label" +msgid "_Edit" +msgstr "_Kyusa" + +#: ../gtk/gtkstock.c:339 +msgctxt "Stock label" +msgid "_Find" +msgstr "_Zuula" + +#: ../gtk/gtkstock.c:340 +msgctxt "Stock label" +msgid "Find and _Replace" +msgstr "Zuula ozze_wo ekirala" + +#: ../gtk/gtkstock.c:341 +msgctxt "Stock label" +msgid "_Floppy" +msgstr "_Fuloppi" + +#: ../gtk/gtkstock.c:342 +msgctxt "Stock label" +msgid "_Fullscreen" +msgstr "_Malayo olutimbe" + +#: ../gtk/gtkstock.c:343 +msgctxt "Stock label" +msgid "_Leave Fullscreen" +msgstr "_Ta olutimbe" + +#. This is a navigation label as in "go to the bottom of the page" +#: ../gtk/gtkstock.c:345 +msgctxt "Stock label, navigation" +msgid "_Bottom" +msgstr "Ku _ntobo" + +#. This is a navigation label as in "go to the first page" +#: ../gtk/gtkstock.c:347 +msgctxt "Stock label, navigation" +msgid "_First" +msgstr "Awa_sooka" + +#. This is a navigation label as in "go to the last page" +#: ../gtk/gtkstock.c:349 +msgctxt "Stock label, navigation" +msgid "_Last" +msgstr "Awas_emba" + +#. This is a navigation label as in "go to the top of the page" +#: ../gtk/gtkstock.c:351 +msgctxt "Stock label, navigation" +msgid "_Top" +msgstr "Ku nt_andikwa" + +#. This is a navigation label as in "go back" +#: ../gtk/gtkstock.c:353 +msgctxt "Stock label, navigation" +msgid "_Back" +msgstr "_Mabega" + +#. This is a navigation label as in "go down" +#: ../gtk/gtkstock.c:355 +msgctxt "Stock label, navigation" +msgid "_Down" +msgstr "_Serengesa" + +#. This is a navigation label as in "go forward" +#: ../gtk/gtkstock.c:357 +msgctxt "Stock label, navigation" +msgid "_Forward" +msgstr "_Maaso" + +#. This is a navigation label as in "go up" +#: ../gtk/gtkstock.c:359 +msgctxt "Stock label, navigation" +msgid "_Up" +msgstr "_Yambusa" + +#: ../gtk/gtkstock.c:360 +msgctxt "Stock label" +msgid "_Harddisk" +msgstr "_Disiki ya munda" + +#: ../gtk/gtkstock.c:361 +msgctxt "Stock label" +msgid "_Help" +msgstr "_Nymaba" + +#: ../gtk/gtkstock.c:362 +msgctxt "Stock label" +msgid "_Home" +msgstr "_Kka" + +#: ../gtk/gtkstock.c:363 +msgctxt "Stock label" +msgid "Increase Indent" +msgstr "" + +#: ../gtk/gtkstock.c:364 +msgctxt "Stock label" +msgid "Decrease Indent" +msgstr "" + +#: ../gtk/gtkstock.c:365 +msgctxt "Stock label" +msgid "_Index" +msgstr "N_dagiriro" + +#: ../gtk/gtkstock.c:366 +msgctxt "Stock label" +msgid "_Information" +msgstr "Oku_manyisa" + +#: ../gtk/gtkstock.c:367 +msgctxt "Stock label" +msgid "_Italic" +msgstr "" + +#: ../gtk/gtkstock.c:368 +msgctxt "Stock label" +msgid "_Jump to" +msgstr "_Buukira" + +#. This is about text justification, "centered text" +#: ../gtk/gtkstock.c:370 +msgctxt "Stock label" +msgid "_Center" +msgstr "" + +#. This is about text justification +#: ../gtk/gtkstock.c:372 +msgctxt "Stock label" +msgid "_Fill" +msgstr "" + +#. This is about text justification, "left-justified text" +#: ../gtk/gtkstock.c:374 +msgctxt "Stock label" +msgid "_Left" +msgstr "" + +#. This is about text justification, "right-justified text" +#: ../gtk/gtkstock.c:376 +msgctxt "Stock label" +msgid "_Right" +msgstr "" + +#. Media label, as in "fast forward" +#: ../gtk/gtkstock.c:379 +msgctxt "Stock label, media" +msgid "_Forward" +msgstr "" + +#. Media label, as in "next song" +#: ../gtk/gtkstock.c:381 +msgctxt "Stock label, media" +msgid "_Next" +msgstr "" + +#. Media label, as in "pause music" +#: ../gtk/gtkstock.c:383 +msgctxt "Stock label, media" +msgid "P_ause" +msgstr "" + +#. Media label, as in "play music" +#: ../gtk/gtkstock.c:385 +msgctxt "Stock label, media" +msgid "_Play" +msgstr "" + +#. Media label, as in "previous song" +#: ../gtk/gtkstock.c:387 +msgctxt "Stock label, media" +msgid "Pre_vious" +msgstr "" + +#. Media label +#: ../gtk/gtkstock.c:389 +msgctxt "Stock label, media" +msgid "_Record" +msgstr "" + +#. Media label +#: ../gtk/gtkstock.c:391 +msgctxt "Stock label, media" +msgid "R_ewind" +msgstr "" + +#. Media label +#: ../gtk/gtkstock.c:393 +msgctxt "Stock label, media" +msgid "_Stop" +msgstr "" + +#: ../gtk/gtkstock.c:394 +msgctxt "Stock label" +msgid "_Network" +msgstr "Ka_yungirizi" + +#: ../gtk/gtkstock.c:395 +msgctxt "Stock label" +msgid "_New" +msgstr "" + +#: ../gtk/gtkstock.c:396 +msgctxt "Stock label" +msgid "_No" +msgstr "_Nedda" + +#: ../gtk/gtkstock.c:397 +msgctxt "Stock label" +msgid "_OK" +msgstr "_Kale" + +#: ../gtk/gtkstock.c:398 +msgctxt "Stock label" +msgid "_Open" +msgstr "_Bikkula" + +#. Page orientation +#: ../gtk/gtkstock.c:400 +msgctxt "Stock label" +msgid "Landscape" +msgstr "Bugazi" + +#. Page orientation +#: ../gtk/gtkstock.c:402 +msgctxt "Stock label" +msgid "Portrait" +msgstr "Busimbalaala" + +#. Page orientation +#: ../gtk/gtkstock.c:404 +msgctxt "Stock label" +msgid "Reverse landscape" +msgstr "" + +#. Page orientation +#: ../gtk/gtkstock.c:406 +msgctxt "Stock label" +msgid "Reverse portrait" +msgstr "" + +#: ../gtk/gtkstock.c:407 +msgctxt "Stock label" +msgid "Page Set_up" +msgstr "Nteekateeka y'olupapula" + +#: ../gtk/gtkstock.c:408 +msgctxt "Stock label" +msgid "_Paste" +msgstr "_Paatiika" + +#: ../gtk/gtkstock.c:409 +msgctxt "Stock label" +msgid "_Preferences" +msgstr "_Nteekateeka" + +#: ../gtk/gtkstock.c:410 +msgctxt "Stock label" +msgid "_Print" +msgstr "_Kubisa" + +#: ../gtk/gtkstock.c:411 +msgctxt "Stock label" +msgid "Print Pre_view" +msgstr "Kebera enfaanana y'ebinaakubibwa" + +#: ../gtk/gtkstock.c:412 +msgctxt "Stock label" +msgid "_Properties" +msgstr "Ebi_kwata ku fayiro" + +#: ../gtk/gtkstock.c:413 +msgctxt "Stock label" +msgid "_Quit" +msgstr "_Mala" + +#: ../gtk/gtkstock.c:414 +msgctxt "Stock label" +msgid "_Redo" +msgstr "_Zawo" + +#: ../gtk/gtkstock.c:415 +msgctxt "Stock label" +msgid "_Refresh" +msgstr "" + +#: ../gtk/gtkstock.c:416 +msgctxt "Stock label" +msgid "_Remove" +msgstr "_Gyawo" + +#: ../gtk/gtkstock.c:417 +msgctxt "Stock label" +msgid "_Revert" +msgstr "_Dda ku by'edda" + +#: ../gtk/gtkstock.c:418 +msgctxt "Stock label" +msgid "_Save" +msgstr "_Kaza" + +#: ../gtk/gtkstock.c:419 +msgctxt "Stock label" +msgid "Save _As" +msgstr "Gyamu ko_ppi" + +#: ../gtk/gtkstock.c:420 +msgctxt "Stock label" +msgid "Select _All" +msgstr "Londa by_onna" + +#: ../gtk/gtkstock.c:421 +msgctxt "Stock label" +msgid "_Color" +msgstr "_Langi" + +#: ../gtk/gtkstock.c:422 +msgctxt "Stock label" +msgid "_Font" +msgstr "N_kula y'ennukuta" + +#. Sorting direction +#: ../gtk/gtkstock.c:424 +msgctxt "Stock label" +msgid "_Ascending" +msgstr "K'_ambukiriro" + +#. Sorting direction +#: ../gtk/gtkstock.c:426 +msgctxt "Stock label" +msgid "_Descending" +msgstr "Ka_kkiririro" + +#: ../gtk/gtkstock.c:427 +msgctxt "Stock label" +msgid "_Spell Check" +msgstr "Kebera m_pandika" + +#: ../gtk/gtkstock.c:428 +msgctxt "Stock label" +msgid "_Stop" +msgstr "_Yimiriza" + +#. Font variant +#: ../gtk/gtkstock.c:430 +msgctxt "Stock label" +msgid "_Strikethrough" +msgstr "" + +#: ../gtk/gtkstock.c:431 +msgctxt "Stock label" +msgid "_Undelete" +msgstr "Komya_wo" + +#. Font variant +#: ../gtk/gtkstock.c:433 +msgctxt "Stock label" +msgid "_Underline" +msgstr "" + +#: ../gtk/gtkstock.c:434 +msgctxt "Stock label" +msgid "_Undo" +msgstr "_Julula" + +#: ../gtk/gtkstock.c:435 +msgctxt "Stock label" +msgid "_Yes" +msgstr "_Ye" + +#. Zoom +#: ../gtk/gtkstock.c:437 +msgctxt "Stock label" +msgid "_Normal Size" +msgstr "" + +#. Zoom +#: ../gtk/gtkstock.c:439 +msgctxt "Stock label" +msgid "Best _Fit" +msgstr "" + +#: ../gtk/gtkstock.c:440 +msgctxt "Stock label" +msgid "Zoom _In" +msgstr "_Zimbukulusa" + +#: ../gtk/gtkstock.c:441 +msgctxt "Stock label" +msgid "Zoom _Out" +msgstr "_Kendeeza" + +#: ../gtk/gtktextbufferrichtext.c:651 +#, c-format +msgid "Unknown error when trying to deserialize %s" +msgstr "" + +#: ../gtk/gtktextbufferrichtext.c:710 +#, c-format +msgid "No deserialize function found for format %s" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:796 ../gtk/gtktextbufferserialize.c:822 +#, c-format +msgid "Both \"id\" and \"name\" were found on the <%s> element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:806 ../gtk/gtktextbufferserialize.c:832 +#, c-format +msgid "The attribute \"%s\" was found twice on the <%s> element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:846 +#, c-format +msgid "<%s> element has invalid ID \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:856 +#, c-format +msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:943 +#, c-format +msgid "Attribute \"%s\" repeated twice on the same <%s> element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:961 ../gtk/gtktextbufferserialize.c:986 +#, c-format +msgid "Attribute \"%s\" is invalid on <%s> element in this context" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1022 +#, c-format +msgid "Tag \"%s\" has not been defined." +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1034 +msgid "Anonymous tag found and tags can not be created." +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1045 +#, c-format +msgid "Tag \"%s\" does not exist in buffer and tags can not be created." +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1144 ../gtk/gtktextbufferserialize.c:1219 +#: ../gtk/gtktextbufferserialize.c:1320 ../gtk/gtktextbufferserialize.c:1394 +#, c-format +msgid "Element <%s> is not allowed below <%s>" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1175 +#, c-format +msgid "\"%s\" is not a valid attribute type" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1183 +#, c-format +msgid "\"%s\" is not a valid attribute name" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1193 +#, c-format +msgid "" +"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1202 +#, c-format +msgid "\"%s\" is not a valid value for attribute \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1285 +#, c-format +msgid "Tag \"%s\" already defined" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1296 +#, c-format +msgid "Tag \"%s\" has invalid priority \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1349 +#, c-format +msgid "Outermost element in text must be not <%s>" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1358 ../gtk/gtktextbufferserialize.c:1374 +#, c-format +msgid "A <%s> element has already been specified" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1380 +msgid "A element can't occur before a element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1779 +msgid "Serialized data is malformed" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1857 +msgid "" +"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +msgstr "" + +#: ../gtk/gtktextutil.c:61 +msgid "LRM _Left-to-right mark" +msgstr "" + +#: ../gtk/gtktextutil.c:62 +msgid "RLM _Right-to-left mark" +msgstr "" + +#: ../gtk/gtktextutil.c:63 +msgid "LRE Left-to-right _embedding" +msgstr "" + +#: ../gtk/gtktextutil.c:64 +msgid "RLE Right-to-left e_mbedding" +msgstr "" + +#: ../gtk/gtktextutil.c:65 +msgid "LRO Left-to-right _override" +msgstr "" + +#: ../gtk/gtktextutil.c:66 +msgid "RLO Right-to-left o_verride" +msgstr "" + +#: ../gtk/gtktextutil.c:67 +msgid "PDF _Pop directional formatting" +msgstr "" + +#: ../gtk/gtktextutil.c:68 +msgid "ZWS _Zero width space" +msgstr "" + +#: ../gtk/gtktextutil.c:69 +msgid "ZWJ Zero width _joiner" +msgstr "" + +#: ../gtk/gtktextutil.c:70 +msgid "ZWNJ Zero width _non-joiner" +msgstr "" + +#: ../gtk/gtkthemes.c:71 +#, c-format +msgid "Unable to locate theme engine in module_path: \"%s\"," +msgstr "" + +#: ../gtk/gtktipsquery.c:188 +msgid "--- No Tip ---" +msgstr "" + +#: ../gtk/gtkuimanager.c:1505 +#, c-format +msgid "Unexpected start tag '%s' on line %d char %d" +msgstr "" + +#: ../gtk/gtkuimanager.c:1595 +#, c-format +msgid "Unexpected character data on line %d char %d" +msgstr "" + +#: ../gtk/gtkuimanager.c:2427 +msgid "Empty" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:83 +msgid "Volume" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:85 +msgid "Turns volume down or up" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:88 +msgid "Adjusts the volume" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:91 ../gtk/gtkvolumebutton.c:94 +msgid "Volume Down" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:93 +msgid "Decreases the volume" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:97 ../gtk/gtkvolumebutton.c:100 +msgid "Volume Up" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:99 +msgid "Increases the volume" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:157 +msgid "Muted" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:161 +msgid "Full Volume" +msgstr "" + +#. Translators: this is the percentage of the current volume, +#. * as used in the tooltip, eg. "49 %". +#. * Translate the "%d" to "%Id" if you want to use localised digits, +#. * or otherwise translate the "%d" to "%d". +#. +#: ../gtk/gtkvolumebutton.c:174 +#, c-format +msgctxt "volume percentage" +msgid "%d %%" +msgstr "" + +#: ../gtk/paper_names_offsets.c:4 +msgctxt "paper size" +msgid "asme_f" +msgstr "" + +#: ../gtk/paper_names_offsets.c:5 +msgctxt "paper size" +msgid "A0x2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:6 +msgctxt "paper size" +msgid "A0" +msgstr "" + +#: ../gtk/paper_names_offsets.c:7 +msgctxt "paper size" +msgid "A0x3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:8 +msgctxt "paper size" +msgid "A1" +msgstr "" + +#: ../gtk/paper_names_offsets.c:9 +msgctxt "paper size" +msgid "A10" +msgstr "" + +#: ../gtk/paper_names_offsets.c:10 +msgctxt "paper size" +msgid "A1x3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:11 +msgctxt "paper size" +msgid "A1x4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:12 +msgctxt "paper size" +msgid "A2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:13 +msgctxt "paper size" +msgid "A2x3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:14 +msgctxt "paper size" +msgid "A2x4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:15 +msgctxt "paper size" +msgid "A2x5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:16 +msgctxt "paper size" +msgid "A3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:17 +msgctxt "paper size" +msgid "A3 Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:18 +msgctxt "paper size" +msgid "A3x3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:19 +msgctxt "paper size" +msgid "A3x4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:20 +msgctxt "paper size" +msgid "A3x5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:21 +msgctxt "paper size" +msgid "A3x6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:22 +msgctxt "paper size" +msgid "A3x7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:23 +msgctxt "paper size" +msgid "A4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:24 +msgctxt "paper size" +msgid "A4 Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:25 +msgctxt "paper size" +msgid "A4 Tab" +msgstr "" + +#: ../gtk/paper_names_offsets.c:26 +msgctxt "paper size" +msgid "A4x3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:27 +msgctxt "paper size" +msgid "A4x4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:28 +msgctxt "paper size" +msgid "A4x5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:29 +msgctxt "paper size" +msgid "A4x6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:30 +msgctxt "paper size" +msgid "A4x7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:31 +msgctxt "paper size" +msgid "A4x8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:32 +msgctxt "paper size" +msgid "A4x9" +msgstr "" + +#: ../gtk/paper_names_offsets.c:33 +msgctxt "paper size" +msgid "A5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:34 +msgctxt "paper size" +msgid "A5 Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:35 +msgctxt "paper size" +msgid "A6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:36 +msgctxt "paper size" +msgid "A7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:37 +msgctxt "paper size" +msgid "A8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:38 +msgctxt "paper size" +msgid "A9" +msgstr "" + +#: ../gtk/paper_names_offsets.c:39 +msgctxt "paper size" +msgid "B0" +msgstr "" + +#: ../gtk/paper_names_offsets.c:40 +msgctxt "paper size" +msgid "B1" +msgstr "" + +#: ../gtk/paper_names_offsets.c:41 +msgctxt "paper size" +msgid "B10" +msgstr "" + +#: ../gtk/paper_names_offsets.c:42 +msgctxt "paper size" +msgid "B2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:43 +msgctxt "paper size" +msgid "B3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:44 +msgctxt "paper size" +msgid "B4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:45 +msgctxt "paper size" +msgid "B5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:46 +msgctxt "paper size" +msgid "B5 Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:47 +msgctxt "paper size" +msgid "B6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:48 +msgctxt "paper size" +msgid "B6/C4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:49 +msgctxt "paper size" +msgid "B7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:50 +msgctxt "paper size" +msgid "B8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:51 +msgctxt "paper size" +msgid "B9" +msgstr "" + +#: ../gtk/paper_names_offsets.c:52 +msgctxt "paper size" +msgid "C0" +msgstr "" + +#: ../gtk/paper_names_offsets.c:53 +msgctxt "paper size" +msgid "C1" +msgstr "" + +#: ../gtk/paper_names_offsets.c:54 +msgctxt "paper size" +msgid "C10" +msgstr "" + +#: ../gtk/paper_names_offsets.c:55 +msgctxt "paper size" +msgid "C2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:56 +msgctxt "paper size" +msgid "C3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:57 +msgctxt "paper size" +msgid "C4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:58 +msgctxt "paper size" +msgid "C5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:59 +msgctxt "paper size" +msgid "C6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:60 +msgctxt "paper size" +msgid "C6/C5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:61 +msgctxt "paper size" +msgid "C7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:62 +msgctxt "paper size" +msgid "C7/C6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:63 +msgctxt "paper size" +msgid "C8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:64 +msgctxt "paper size" +msgid "C9" +msgstr "" + +#: ../gtk/paper_names_offsets.c:65 +msgctxt "paper size" +msgid "DL Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:66 +msgctxt "paper size" +msgid "RA0" +msgstr "" + +#: ../gtk/paper_names_offsets.c:67 +msgctxt "paper size" +msgid "RA1" +msgstr "" + +#: ../gtk/paper_names_offsets.c:68 +msgctxt "paper size" +msgid "RA2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:69 +msgctxt "paper size" +msgid "SRA0" +msgstr "" + +#: ../gtk/paper_names_offsets.c:70 +msgctxt "paper size" +msgid "SRA1" +msgstr "" + +#: ../gtk/paper_names_offsets.c:71 +msgctxt "paper size" +msgid "SRA2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:72 +msgctxt "paper size" +msgid "JB0" +msgstr "" + +#: ../gtk/paper_names_offsets.c:73 +msgctxt "paper size" +msgid "JB1" +msgstr "" + +#: ../gtk/paper_names_offsets.c:74 +msgctxt "paper size" +msgid "JB10" +msgstr "" + +#: ../gtk/paper_names_offsets.c:75 +msgctxt "paper size" +msgid "JB2" +msgstr "" + +#: ../gtk/paper_names_offsets.c:76 +msgctxt "paper size" +msgid "JB3" +msgstr "" + +#: ../gtk/paper_names_offsets.c:77 +msgctxt "paper size" +msgid "JB4" +msgstr "" + +#: ../gtk/paper_names_offsets.c:78 +msgctxt "paper size" +msgid "JB5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:79 +msgctxt "paper size" +msgid "JB6" +msgstr "" + +#: ../gtk/paper_names_offsets.c:80 +msgctxt "paper size" +msgid "JB7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:81 +msgctxt "paper size" +msgid "JB8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:82 +msgctxt "paper size" +msgid "JB9" +msgstr "" + +#: ../gtk/paper_names_offsets.c:83 +msgctxt "paper size" +msgid "jis exec" +msgstr "" + +#: ../gtk/paper_names_offsets.c:84 +msgctxt "paper size" +msgid "Choukei 2 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:85 +msgctxt "paper size" +msgid "Choukei 3 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:86 +msgctxt "paper size" +msgid "Choukei 4 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:87 +msgctxt "paper size" +msgid "hagaki (postcard)" +msgstr "" + +#: ../gtk/paper_names_offsets.c:88 +msgctxt "paper size" +msgid "kahu Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:89 +msgctxt "paper size" +msgid "kaku2 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:90 +msgctxt "paper size" +msgid "oufuku (reply postcard)" +msgstr "" + +#: ../gtk/paper_names_offsets.c:91 +msgctxt "paper size" +msgid "you4 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:92 +msgctxt "paper size" +msgid "10x11" +msgstr "" + +#: ../gtk/paper_names_offsets.c:93 +msgctxt "paper size" +msgid "10x13" +msgstr "" + +#: ../gtk/paper_names_offsets.c:94 +msgctxt "paper size" +msgid "10x14" +msgstr "" + +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 +msgctxt "paper size" +msgid "10x15" +msgstr "" + +#: ../gtk/paper_names_offsets.c:97 +msgctxt "paper size" +msgid "11x12" +msgstr "" + +#: ../gtk/paper_names_offsets.c:98 +msgctxt "paper size" +msgid "11x15" +msgstr "" + +#: ../gtk/paper_names_offsets.c:99 +msgctxt "paper size" +msgid "12x19" +msgstr "" + +#: ../gtk/paper_names_offsets.c:100 +msgctxt "paper size" +msgid "5x7" +msgstr "" + +#: ../gtk/paper_names_offsets.c:101 +msgctxt "paper size" +msgid "6x9 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:102 +msgctxt "paper size" +msgid "7x9 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:103 +msgctxt "paper size" +msgid "9x11 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:104 +msgctxt "paper size" +msgid "a2 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:105 +msgctxt "paper size" +msgid "Arch A" +msgstr "" + +#: ../gtk/paper_names_offsets.c:106 +msgctxt "paper size" +msgid "Arch B" +msgstr "" + +#: ../gtk/paper_names_offsets.c:107 +msgctxt "paper size" +msgid "Arch C" +msgstr "" + +#: ../gtk/paper_names_offsets.c:108 +msgctxt "paper size" +msgid "Arch D" +msgstr "" + +#: ../gtk/paper_names_offsets.c:109 +msgctxt "paper size" +msgid "Arch E" +msgstr "" + +#: ../gtk/paper_names_offsets.c:110 +msgctxt "paper size" +msgid "b-plus" +msgstr "" + +#: ../gtk/paper_names_offsets.c:111 +msgctxt "paper size" +msgid "c" +msgstr "" + +#: ../gtk/paper_names_offsets.c:112 +msgctxt "paper size" +msgid "c5 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:113 +msgctxt "paper size" +msgid "d" +msgstr "" + +#: ../gtk/paper_names_offsets.c:114 +msgctxt "paper size" +msgid "e" +msgstr "" + +#: ../gtk/paper_names_offsets.c:115 +msgctxt "paper size" +msgid "edp" +msgstr "" + +#: ../gtk/paper_names_offsets.c:116 +msgctxt "paper size" +msgid "European edp" +msgstr "" + +#: ../gtk/paper_names_offsets.c:117 +msgctxt "paper size" +msgid "Executive" +msgstr "" + +#: ../gtk/paper_names_offsets.c:118 +msgctxt "paper size" +msgid "f" +msgstr "" + +#: ../gtk/paper_names_offsets.c:119 +msgctxt "paper size" +msgid "FanFold European" +msgstr "" + +#: ../gtk/paper_names_offsets.c:120 +msgctxt "paper size" +msgid "FanFold US" +msgstr "" + +#: ../gtk/paper_names_offsets.c:121 +msgctxt "paper size" +msgid "FanFold German Legal" +msgstr "" + +#: ../gtk/paper_names_offsets.c:122 +msgctxt "paper size" +msgid "Government Legal" +msgstr "" + +#: ../gtk/paper_names_offsets.c:123 +msgctxt "paper size" +msgid "Government Letter" +msgstr "" + +#: ../gtk/paper_names_offsets.c:124 +msgctxt "paper size" +msgid "Index 3x5" +msgstr "" + +#: ../gtk/paper_names_offsets.c:125 +msgctxt "paper size" +msgid "Index 4x6 (postcard)" +msgstr "" + +#: ../gtk/paper_names_offsets.c:126 +msgctxt "paper size" +msgid "Index 4x6 ext" +msgstr "" + +#: ../gtk/paper_names_offsets.c:127 +msgctxt "paper size" +msgid "Index 5x8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:128 +msgctxt "paper size" +msgid "Invoice" +msgstr "" + +#: ../gtk/paper_names_offsets.c:129 +msgctxt "paper size" +msgid "Tabloid" +msgstr "" + +#: ../gtk/paper_names_offsets.c:130 +msgctxt "paper size" +msgid "US Legal" +msgstr "" + +#: ../gtk/paper_names_offsets.c:131 +msgctxt "paper size" +msgid "US Legal Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:132 +msgctxt "paper size" +msgid "US Letter" +msgstr "" + +#: ../gtk/paper_names_offsets.c:133 +msgctxt "paper size" +msgid "US Letter Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:134 +msgctxt "paper size" +msgid "US Letter Plus" +msgstr "" + +#: ../gtk/paper_names_offsets.c:135 +msgctxt "paper size" +msgid "Monarch Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:136 +msgctxt "paper size" +msgid "#10 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:137 +msgctxt "paper size" +msgid "#11 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:138 +msgctxt "paper size" +msgid "#12 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:139 +msgctxt "paper size" +msgid "#14 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:140 +msgctxt "paper size" +msgid "#9 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:141 +msgctxt "paper size" +msgid "Personal Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:142 +msgctxt "paper size" +msgid "Quarto" +msgstr "" + +#: ../gtk/paper_names_offsets.c:143 +msgctxt "paper size" +msgid "Super A" +msgstr "" + +#: ../gtk/paper_names_offsets.c:144 +msgctxt "paper size" +msgid "Super B" +msgstr "" + +#: ../gtk/paper_names_offsets.c:145 +msgctxt "paper size" +msgid "Wide Format" +msgstr "" + +#: ../gtk/paper_names_offsets.c:146 +msgctxt "paper size" +msgid "Dai-pa-kai" +msgstr "" + +#: ../gtk/paper_names_offsets.c:147 +msgctxt "paper size" +msgid "Folio" +msgstr "" + +#: ../gtk/paper_names_offsets.c:148 +msgctxt "paper size" +msgid "Folio sp" +msgstr "" + +#: ../gtk/paper_names_offsets.c:149 +msgctxt "paper size" +msgid "Invite Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:150 +msgctxt "paper size" +msgid "Italian Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:151 +msgctxt "paper size" +msgid "juuro-ku-kai" +msgstr "" + +#: ../gtk/paper_names_offsets.c:152 +msgctxt "paper size" +msgid "pa-kai" +msgstr "" + +#: ../gtk/paper_names_offsets.c:153 +msgctxt "paper size" +msgid "Postfix Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:154 +msgctxt "paper size" +msgid "Small Photo" +msgstr "" + +#: ../gtk/paper_names_offsets.c:155 +msgctxt "paper size" +msgid "prc1 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:156 +msgctxt "paper size" +msgid "prc10 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:157 +msgctxt "paper size" +msgid "prc 16k" +msgstr "" + +#: ../gtk/paper_names_offsets.c:158 +msgctxt "paper size" +msgid "prc2 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:159 +msgctxt "paper size" +msgid "prc3 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:160 +msgctxt "paper size" +msgid "prc 32k" +msgstr "" + +#: ../gtk/paper_names_offsets.c:161 +msgctxt "paper size" +msgid "prc4 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:162 +msgctxt "paper size" +msgid "prc5 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:163 +msgctxt "paper size" +msgid "prc6 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:164 +msgctxt "paper size" +msgid "prc7 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:165 +msgctxt "paper size" +msgid "prc8 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:166 +msgctxt "paper size" +msgid "prc9 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:167 +msgctxt "paper size" +msgid "ROC 16k" +msgstr "" + +#: ../gtk/paper_names_offsets.c:168 +msgctxt "paper size" +msgid "ROC 8k" +msgstr "" + +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 +#, c-format +msgid "different idatas found for symlinked '%s' and '%s'\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1374 +#, c-format +msgid "Failed to write header\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1380 +#, c-format +msgid "Failed to write hash table\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1386 +#, c-format +msgid "Failed to write folder index\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1394 +#, c-format +msgid "Failed to rewrite header\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1463 +#, c-format +msgid "Failed to open file %s : %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1471 +#, c-format +msgid "Failed to write cache file: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1507 +#, c-format +msgid "The generated cache was invalid.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1521 +#, c-format +msgid "Could not rename %s to %s: %s, removing %s then.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1535 +#, c-format +msgid "Could not rename %s to %s: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1545 +#, c-format +msgid "Could not rename %s back to %s: %s.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1572 +#, c-format +msgid "Cache file created successfully.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1611 +msgid "Overwrite an existing cache, even if up to date" +msgstr "" + +#: ../gtk/updateiconcache.c:1612 +msgid "Don't check for the existence of index.theme" +msgstr "" + +#: ../gtk/updateiconcache.c:1613 +msgid "Don't include image data in the cache" +msgstr "" + +#: ../gtk/updateiconcache.c:1614 +msgid "Output a C header file" +msgstr "" + +#: ../gtk/updateiconcache.c:1615 +msgid "Turn off verbose output" +msgstr "" + +#: ../gtk/updateiconcache.c:1616 +msgid "Validate existing icon cache" +msgstr "" + +#: ../gtk/updateiconcache.c:1683 +#, c-format +msgid "File not found: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1689 +#, c-format +msgid "Not a valid icon cache: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1702 +#, c-format +msgid "No theme index file.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1706 +#, c-format +msgid "" +"No theme index file in '%s'.\n" +"If you really want to create an icon cache here, use --ignore-theme-index.\n" +msgstr "" + +#. ID +#: ../modules/input/imam-et.c:454 +msgid "Amharic (EZ+)" +msgstr "" + +#. ID +#: ../modules/input/imcedilla.c:92 +msgid "Cedilla" +msgstr "" + +#. ID +#: ../modules/input/imcyrillic-translit.c:217 +msgid "Cyrillic (Transliterated)" +msgstr "" + +#. ID +#: ../modules/input/iminuktitut.c:127 +msgid "Inuktitut (Transliterated)" +msgstr "" + +#. ID +#: ../modules/input/imipa.c:145 +msgid "IPA" +msgstr "" + +#. ID +#: ../modules/input/immultipress.c:31 +msgid "Multipress" +msgstr "" + +#. ID +#: ../modules/input/imthai.c:35 +msgid "Thai-Lao" +msgstr "" + +#. ID +#: ../modules/input/imti-er.c:453 +msgid "Tigrigna-Eritrean (EZ+)" +msgstr "" + +#. ID +#: ../modules/input/imti-et.c:453 +msgid "Tigrigna-Ethiopian (EZ+)" +msgstr "" + +#. ID +#: ../modules/input/imviqr.c:244 +msgid "Vietnamese (VIQR)" +msgstr "" + +#. ID +#: ../modules/input/imxim.c:28 +msgid "X Input Method" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +msgid "Username:" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +msgid "Password:" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#, c-format +msgid "Authentication is required to print document '%s' on printer %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#, c-format +msgid "Authentication is required to print a document on %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 +#, c-format +msgid "Authentication is required to get attributes of job '%s'" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +msgid "Authentication is required to get attributes of a job" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 +#, c-format +msgid "Authentication is required to get attributes of printer %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 +msgid "Authentication is required to get attributes of a printer" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 +#, c-format +msgid "Authentication is required to get default printer of %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 +#, c-format +msgid "Authentication is required to get printers from %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#, c-format +msgid "Authentication is required on %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +msgid "Domain:" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#, c-format +msgid "Authentication is required to print document '%s'" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#, c-format +msgid "Authentication is required to print this document on printer %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +msgid "Authentication is required to print this document" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#, c-format +msgid "Printer '%s' is low on toner." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#, c-format +msgid "Printer '%s' has no toner left." +msgstr "" + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#, c-format +msgid "Printer '%s' is low on developer." +msgstr "" + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#, c-format +msgid "Printer '%s' is out of developer." +msgstr "" + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#, c-format +msgid "Printer '%s' is low on at least one marker supply." +msgstr "" + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#, c-format +msgid "Printer '%s' is out of at least one marker supply." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#, c-format +msgid "The cover is open on printer '%s'." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#, c-format +msgid "The door is open on printer '%s'." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#, c-format +msgid "Printer '%s' is low on paper." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#, c-format +msgid "Printer '%s' is out of paper." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format +msgid "Printer '%s' is currently offline." +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#, c-format +msgid "There is a problem on printer '%s'." +msgstr "" + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +msgid "Paused ; Rejecting Jobs" +msgstr "" + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +msgid "Rejecting Jobs" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +msgid "Two Sided" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +msgid "Paper Type" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +msgid "Paper Source" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +msgid "Output Tray" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +msgid "Resolution" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +msgid "GhostScript pre-filtering" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +msgid "One Sided" +msgstr "" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +msgid "Long Edge (Standard)" +msgstr "" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +msgid "Short Edge (Flip)" +msgstr "" + +#. Translators: this is an option of "Paper Source" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +msgid "Auto Select" +msgstr "" + +#. Translators: this is an option of "Paper Source" +#. Translators: this is an option of "Resolution" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 +msgid "Printer Default" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +msgid "Embed GhostScript fonts only" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +msgid "Convert to PS level 1" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +msgid "Convert to PS level 2" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +msgid "No pre-filtering" +msgstr "" + +#. Translators: "Miscellaneous" is the label for a button, that opens +#. up an extra panel of settings in a print dialog. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +msgid "Miscellaneous" +msgstr "" + +#. Translators: These strings name the possible values of the +#. * job priority option in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Urgent" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "High" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Medium" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Low" +msgstr "" + +#. Cups specific, non-ppd related settings +#. Translators, this string is used to label the pages-per-sheet option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 +msgid "Pages per Sheet" +msgstr "" + +#. Translators, this string is used to label the job priority option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 +msgid "Job Priority" +msgstr "" + +#. Translators, this string is used to label the billing info entry +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 +msgid "Billing Info" +msgstr "" + +#. Translators, these strings are names for various 'standard' cover +#. * pages that the printing system may support. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "None" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Classified" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Confidential" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Secret" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Standard" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Top Secret" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Unclassified" +msgstr "" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 +msgid "Before" +msgstr "" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 +msgid "After" +msgstr "" + +#. Translators: this is the name of the option that controls when +#. * a print job is printed. Possible values are 'now', a specified time, +#. * or 'on hold' +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 +msgid "Print at" +msgstr "" + +#. Translators: this is the name of the option that allows the user +#. * to specify a time when a print job will be printed. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 +msgid "Print at time" +msgstr "" + +#. Translators: this format is used to display a custom paper +#. * size. The two placeholders are replaced with the width and height +#. * in points. E.g: "Custom 230.4x142.9" +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 +#, c-format +msgid "Custom %sx%s" +msgstr "" + +#. default filename used for print-to-file +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 +#, c-format +msgid "output.%s" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +msgid "Print to File" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "PDF" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "Postscript" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "SVG" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 +msgid "Pages per _sheet:" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +msgid "File" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +msgid "_Output format" +msgstr "" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 +msgid "Print to LPR" +msgstr "" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 +msgid "Pages Per Sheet" +msgstr "" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 +msgid "Command Line" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 +msgid "printer offline" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 +msgid "ready to print" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 +msgid "processing job" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 +msgid "paused" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 +msgid "unknown" +msgstr "" + +#. default filename used for print-to-test +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 +#, c-format +msgid "test-output.%s" +msgstr "" + +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 +msgid "Print to Test Printer" +msgstr "" + +#: ../tests/testfilechooser.c:207 +#, c-format +msgid "Could not get information for file '%s': %s" +msgstr "" + +#: ../tests/testfilechooser.c:222 +#, c-format +msgid "Failed to open file '%s': %s" +msgstr "" + +#: ../tests/testfilechooser.c:267 +#, c-format +msgid "" +"Failed to load image '%s': reason not known, probably a corrupt image file" +msgstr "" From 46627d008ffa83e1be2f332b461e4c126cf2d0eb Mon Sep 17 00:00:00 2001 From: Garrett Regier Date: Sat, 6 Nov 2010 17:28:53 +0100 Subject: [PATCH 0165/1463] docs: Move documentation to inline comments: GtkLayout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtklayout.sgml | 177 ------------------------- gtk/gtklayout.c | 21 +++ 3 files changed, 22 insertions(+), 177 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtklayout.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 28b7b357be..43c596e87c 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -20,6 +20,7 @@ gtkiconview.sgml gtkimcontextsimple.sgml gtkimmulticontext.sgml gtkitemfactory.sgml +gtklayout.sgml gtklinkbutton.sgml gtkmessagedialog.sgml gtknotebook.sgml diff --git a/docs/reference/gtk/tmpl/gtklayout.sgml b/docs/reference/gtk/tmpl/gtklayout.sgml deleted file mode 100644 index 1b32027d0c..0000000000 --- a/docs/reference/gtk/tmpl/gtklayout.sgml +++ /dev/null @@ -1,177 +0,0 @@ - -GtkLayout - - - -Infinite scrollable area containing child widgets and/or custom drawing - - - -#GtkLayout is similar to #GtkDrawingArea in that it's a "blank slate" -and doesn't do anything but paint a blank background by default. It's -different in that it supports scrolling natively (you can add it to a -#GtkScrolledWindow), and it can contain child widgets, since it's a -#GtkContainer. However if you're just going to draw, a #GtkDrawingArea -is a better choice since it has lower overhead. - - - -When handling expose events on a #GtkLayout, you must draw to -GTK_LAYOUT (layout)->bin_window, rather than to -GTK_WIDGET (layout)->window, as you would for a drawing -area. - - - - -#GtkDrawingArea, #GtkScrolledWindow - - - - - - - - - - - - - - - - - - - -@layout: the object which received the signal. -@arg1: -@arg2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@hadjustment: -@vadjustment: -@Returns: - - - - - - - -@layout: -@child_widget: -@x: -@y: - - - - - - - -@layout: -@child_widget: -@x: -@y: - - - - - - - -@layout: -@width: -@height: - - - - - - - -@layout: -@width: -@height: - - - - - - - -@layout: -@Returns: - - - - - - - -@layout: -@Returns: - - - - - - - -@layout: -@adjustment: - - - - - - - -@layout: -@adjustment: - - - - - - - -@layout: -@Returns: - - diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index a2589c27f3..2815b642b2 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -40,6 +40,27 @@ #include "gtkscrollable.h" +/** + * SECTION:gtklayout + * @Short_description: Infinite scrollable area containing child widgets + * and/or custom drawing + * @Title: GtkLayout + * @See_also: #GtkDrawingArea, #GtkScrolledWindow + * + * #GtkLayout is similar to #GtkDrawingArea in that it's a "blank slate" + * and doesn't do anything but paint a blank background by default. It's + * different in that it supports scrolling natively (you can add it to a + * #GtkScrolledWindow), and it can contain child widgets, since it's a + * #GtkContainer. However if you're just going to draw, a #GtkDrawingArea + * is a better choice since it has lower overhead. + * + * When handling expose events on a #GtkLayout, you must draw to + * GTK_LAYOUT (layout)->bin_window, rather than to + * GTK_WIDGET (layout)->window, as you would for a drawing + * area. + */ + + typedef struct _GtkLayoutChild GtkLayoutChild; struct _GtkLayoutPrivate From bf17f3f32ca1ce5c5dad5fda30508c2463e83ae3 Mon Sep 17 00:00:00 2001 From: Garrett Regier Date: Sat, 6 Nov 2010 17:37:37 +0100 Subject: [PATCH 0166/1463] docs: Move documentation to inline comments: GtkColorSelection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkcolorsel.sgml | 237 ----------------------- gtk/gtkcolorsel.c | 21 ++ gtk/gtkcolorsel.h | 9 + 4 files changed, 31 insertions(+), 237 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcolorsel.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 43c596e87c..65a1e4d1ac 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -9,6 +9,7 @@ gtkbutton.sgml gtkcalendar.sgml gtkcelleditable.sgml gtkcolorbutton.sgml +gtkcolorsel.sgml gtkcombobox.sgml gtkcomboboxentry.sgml gtkcontainer.sgml diff --git a/docs/reference/gtk/tmpl/gtkcolorsel.sgml b/docs/reference/gtk/tmpl/gtkcolorsel.sgml deleted file mode 100644 index 368c79140c..0000000000 --- a/docs/reference/gtk/tmpl/gtkcolorsel.sgml +++ /dev/null @@ -1,237 +0,0 @@ - -GtkColorSelection - - -A widget used to select a color - - - -The #GtkColorSelection is a widget that is used to select -a color. It consists of a color wheel and number of sliders -and entry boxes for color parameters such as hue, saturation, -value, red, green, blue, and opacity. It is found on the standard -color selection dialog box #GtkColorSelectionDialog. - - - - - - - - - - - - - - - -The #GtkColorSelection-struct struct contains private data only, -and should be accessed using the functions below. - - - - - -This signal is emitted when the color changes in the #GtkColorSelection -according to its update policy. - - -@colorselection: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@colorsel: -@has_opacity: - - - - - - - -@colorsel: -@Returns: - - - - - - - -@colorsel: -@has_palette: - - - - - - - -@colorsel: -@Returns: - - - - - - - -@colorsel: -@Returns: - - - - - - - -@colorsel: -@alpha: - - - - - - - -@colorsel: -@color: - - - - - - - -@colorsel: -@color: - - - - - - - -@colorsel: -@Returns: - - - - - - - -@colorsel: -@alpha: - - - - - - - -@colorsel: -@color: - - - - - - - -@colorsel: -@color: - - - - - - - -@colorsel: -@Returns: - - - - - - - -@str: -@colors: -@n_colors: -@Returns: - - - - - - - -@colors: -@n_colors: -@Returns: - - - - - - - -@colors: -@n_colors: - - - - - - - -@func: -@Returns: - - - - - - - -@screen: -@colors: -@n_colors: -@Since: 2.2 - - diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 230cd2b416..c294266d32 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -63,6 +63,20 @@ #include "gtkprivate.h" #include "gtkintl.h" + +/** + * SECTION:gtkcolorsel + * @Short_description: A widget used to select a color + * @Title: GtkColorSelection + * + * The #GtkColorSelection is a widget that is used to select + * a color. It consists of a color wheel and number of sliders + * and entry boxes for color parameters such as hue, saturation, + * value, red, green, blue, and opacity. It is found on the standard + * color selection dialog box #GtkColorSelectionDialog. + */ + + /* Keep it in sync with gtksettings.c:default_color_palette */ #define DEFAULT_COLOR_PALETTE "black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90" @@ -349,6 +363,13 @@ gtk_color_selection_class_init (GtkColorSelectionClass *klass) GDK_TYPE_RGBA, GTK_PARAM_READWRITE)); + /** + * GtkColorSelection::color-changed: + * @colorselection: the object which received the signal. + * + * This signal is emitted when the color changes in the #GtkColorSelection + * according to its update policy. + */ color_selection_signals[COLOR_CHANGED] = g_signal_new (I_("color-changed"), G_OBJECT_CLASS_TYPE (gobject_class), diff --git a/gtk/gtkcolorsel.h b/gtk/gtkcolorsel.h index 43e5fd6276..7d5d85f8d0 100644 --- a/gtk/gtkcolorsel.h +++ b/gtk/gtkcolorsel.h @@ -51,6 +51,15 @@ typedef struct _GtkColorSelectionClass GtkColorSelectionClass; typedef void (* GtkColorSelectionChangePaletteFunc) (const GdkColor *colors, gint n_colors); + +/** + * GtkColorSelectionChangePaletteWithScreenFunc: + * @screen: + * @colors: + * @n_colors: + * + * Since: 2.2 + */ typedef void (* GtkColorSelectionChangePaletteWithScreenFunc) (GdkScreen *screen, const GdkColor *colors, gint n_colors); From b1112cb87cdb23acb239b257e3a1de00308d042a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 6 Nov 2010 17:48:32 +0100 Subject: [PATCH 0167/1463] docs: Move documentation to inline comments: GtkSettings --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtksettings.sgml | 532 ----------------------- gtk/gtksettings.c | 36 ++ 3 files changed, 37 insertions(+), 532 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtksettings.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 65a1e4d1ac..227f7d33de 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -46,6 +46,7 @@ gtkscrolledwindow.sgml gtkseparator.sgml gtkseparatormenuitem.sgml gtkseparatortoolitem.sgml +gtksettings.sgml gtkstatusbar.sgml gtkstyle.sgml gtktesting.sgml diff --git a/docs/reference/gtk/tmpl/gtksettings.sgml b/docs/reference/gtk/tmpl/gtksettings.sgml deleted file mode 100644 index bcabd319d5..0000000000 --- a/docs/reference/gtk/tmpl/gtksettings.sgml +++ /dev/null @@ -1,532 +0,0 @@ - -Settings - - -Sharing settings between applications - - - -GtkSettings provide a mechanism to share global settings between applications. -On the X window system, this sharing is realized by an XSettings -manager that is usually part of the desktop environment, along with utilities -that let the user change these settings. In the absence of an Xsettings manager, -settings can also be specified in RC files. - - - -Applications can override system-wide settings with gtk_settings_set_string_property(), -gtk_settings_set_long_property(), etc. This should be restricted to special -cases though; GtkSettings are not meant as an application configuration -facility. When doing so, you need to be aware that settings that are specific -to individual widgets may not be available before the widget type has been -realized at least once. The following example demonstrates a way to do this: - - gtk_init (&argc, &argv); - - /* make sure the type is realized */ - g_type_class_unref (g_type_class_ref (GTK_TYPE_IMAGE_MENU_ITEM)); - - g_object_set (gtk_settings_get_default (), "gtk-menu-images", FALSE, NULL); - - - - -There is one GtkSettings instance per screen. It can be obtained with -gtk_settings_get_for_screen(), but in many cases, it is more convenient -to use gtk_widget_get_settings(). gtk_settings_get_default() returns the -GtkSettings instance for the default screen. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@origin: -@value: - - - - - - -@void: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@pspec: - - - - - - - -@pspec: -@parser: - - - - - - - -@pspec: -@gstring: -@property_value: -@Returns: - - - - - - - -@pspec: -@gstring: -@property_value: -@Returns: - - - - - - - -@pspec: -@gstring: -@property_value: -@Returns: - - - - - - - -@pspec: -@gstring: -@property_value: -@Returns: - - - - - - - -@pspec: -@gstring: -@property_value: -@Returns: - - - - - - - -@settings: -@name: -@svalue: - - - - - - - -@settings: -@name: -@v_string: -@origin: - - - - - - - -@settings: -@name: -@v_long: -@origin: - - - - - - - -@settings: -@name: -@v_double: -@origin: - - diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 4ea8685bd6..9b622254c2 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -16,6 +16,7 @@ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ + #define PANGO_ENABLE_BACKEND /* for pango_fc_font_map_cache_clear() */ #include "config.h" @@ -35,6 +36,41 @@ #include #endif + +/** + * SECTION:gtksettings + * @Short_description: Sharing settings between applications + * @Title: Settings + * + * GtkSettings provide a mechanism to share global settings between applications. + * On the X window system, this sharing is realized by an + * XSettings + * manager that is usually part of the desktop environment, along with utilities + * that let the user change these settings. In the absence of an Xsettings manager, + * settings can also be specified in RC files. + * + * Applications can override system-wide settings with gtk_settings_set_string_property(), + * gtk_settings_set_long_property(), etc. This should be restricted to special + * cases though; GtkSettings are not meant as an application configuration + * facility. When doing so, you need to be aware that settings that are specific + * to individual widgets may not be available before the widget type has been + * realized at least once. The following example demonstrates a way to do this: + * + * gtk_init (&argc, &argv); + * + * /* make sure the type is realized */ + * g_type_class_unref (g_type_class_ref (GTK_TYPE_IMAGE_MENU_ITEM)); + * + * g_object_set (gtk_settings_get_default (), "gtk-menu-images", FALSE, NULL); + * + * + * There is one GtkSettings instance per screen. It can be obtained with + * gtk_settings_get_for_screen(), but in many cases, it is more convenient + * to use gtk_widget_get_settings(). gtk_settings_get_default() returns the + * GtkSettings instance for the default screen. + */ + + #ifdef GDK_WINDOWING_QUARTZ #define DEFAULT_KEY_THEME "Mac" #else From 322db81256abbf1ffe63ce740c99d1e72ec0087e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 6 Nov 2010 17:57:23 +0100 Subject: [PATCH 0168/1463] docs: Move documentation to inline comments: GtkCellRenderer --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkcellrenderer.sgml | 448 ------------------- gtk/gtkcellrenderer.c | 39 ++ gtk/gtkcellrenderer.h | 23 + 4 files changed, 63 insertions(+), 448 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcellrenderer.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 227f7d33de..2ad13ef893 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -8,6 +8,7 @@ gtkbuilder.sgml gtkbutton.sgml gtkcalendar.sgml gtkcelleditable.sgml +gtkcellrenderer.sgml gtkcolorbutton.sgml gtkcolorsel.sgml gtkcombobox.sgml diff --git a/docs/reference/gtk/tmpl/gtkcellrenderer.sgml b/docs/reference/gtk/tmpl/gtkcellrenderer.sgml deleted file mode 100644 index 39147e6a2c..0000000000 --- a/docs/reference/gtk/tmpl/gtkcellrenderer.sgml +++ /dev/null @@ -1,448 +0,0 @@ - -GtkCellRenderer - - -An object for rendering a single cell on a GdkDrawable - - - -The #GtkCellRenderer is a base class of a set of objects used for -rendering a cell to a #GdkDrawable. These objects are used primarily by -the #GtkTreeView widget, though they aren't tied to them in any -specific way. It is worth noting that #GtkCellRenderer is not a -#GtkWidget and cannot be treated as such. - - - -The primary use of a #GtkCellRenderer is for drawing a certain graphical -elements on a #GdkDrawable. Typically, one cell renderer is used to -draw many cells on the screen. To this extent, it isn't expected that a -CellRenderer keep any permanent state around. Instead, any state is set -just prior to use using #GObjects property system. Then, the -cell is measured using gtk_cell_renderer_get_size(). Finally, the cell -is rendered in the correct location using gtk_cell_renderer_render(). - - - -There are a number of rules that must be followed when writing a new -#GtkCellRenderer. First and formost, it's important that a certain set -of properties will always yield a cell renderer of the same size, -barring a #GtkStyle change. The #GtkCellRenderer also has a number of -generic properties that are expected to be honored by all children. - - - -Beyond merely rendering a cell, cell renderers can optionally -provide active user interface elements. A cell renderer can be -activatable like #GtkCellRendererToggle, -which toggles when it gets activated by a mouse click, or it can be -editable like #GtkCellRendererText, which -allows the user to edit the text using a #GtkEntry. -To make a cell renderer activatable or editable, you have to -implement the @activate or @start_editing virtual functions, -respectively. - - - - -#GtkCellRendererText,#GtkCellRendererPixbuf,#GtkCellRendererToggle - - - - - - - - - - -Tells how a cell is to be rendererd. - - -@GTK_CELL_RENDERER_SELECTED: The cell is currently selected, and -probably has a selection colored background to render to. -@GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell. -@GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner -@GTK_CELL_RENDERER_SORTED: The cell is in a sorted row -@GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row. - - - -Identifies how the user can interact with a particular cell. - - -@GTK_CELL_RENDERER_MODE_INERT: The cell is just for display -and cannot be interacted with. Note that this doesn't mean that eg. the -row being drawn can't be selected -- just that a particular element of -it cannot be individually modified. -@GTK_CELL_RENDERER_MODE_ACTIVATABLE: The cell can be clicked. -@GTK_CELL_RENDERER_MODE_EDITABLE: The cell can be edited or otherwise modified. - - - - - - - - - - - - -@cellrenderer: the object which received the signal. - - - - - - -@cellrenderer: the object which received the signal. -@arg1: -@arg2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@parent_class: -@get_request_mode: -@get_preferred_width: -@get_preferred_height_for_width: -@get_preferred_height: -@get_preferred_width_for_height: -@get_size: -@render: -@activate: -@start_editing: -@editing_canceled: -@editing_started: -@_gtk_reserved1: -@_gtk_reserved2: - - - - - - -@cell: -@widget: -@cell_area: -@x_offset: -@y_offset: -@width: -@height: - - - - - - - -@cell: -@cr: -@widget: -@background_area: -@cell_area: -@flags: - - - - - - - -@cell: -@event: -@widget: -@path: -@background_area: -@cell_area: -@flags: -@Returns: - - - - - - - -@cell: -@event: -@widget: -@path: -@background_area: -@cell_area: -@flags: -@Returns: - - - - - - - -@cell: -@canceled: - - - - - - - -@cell: -@width: -@height: - - - - - - - -@cell: -@width: -@height: - - - - - - - -@cell: -@Returns: - - - - - - - -@cell: -@visible: - - - - - - - -@cell: -@Returns: - - - - - - - -@cell: -@sensitive: - - - - - - - -@cell: -@xalign: -@yalign: - - - - - - - -@cell: -@xalign: -@yalign: - - - - - - - -@cell: -@xpad: -@ypad: - - - - - - - -@cell: -@xpad: -@ypad: - - - - - - - -@cell: -@widget: -@minimum_size: -@natural_size: - - - - - - - -@cell: -@widget: -@width: -@minimum_height: -@natural_height: - - - - - - - -@cell: -@widget: -@minimum_size: -@natural_size: - - - - - - - -@cell: -@widget: -@minimum_size: -@natural_size: - - - - - - - -@cell: -@widget: -@height: -@minimum_width: -@natural_width: - - - - - - - -@cell: -@Returns: - - - - - - - -@cell_view: -@path: -@avail_size: -@minimum_size: -@natural_size: - - - - - - - -@cell_view: -@path: -@minimum_size: -@natural_size: - - diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index da6c77ce92..4b93557389 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -24,6 +24,45 @@ #include "gtkprivate.h" #include "gtktreeprivate.h" + +/** + * SECTION:gtkcellrenderer + * @Short_description: An object for rendering a single cell on a GdkDrawable + * @Title: GtkCellRenderer + * @See_also: #GtkCellRendererText, #GtkCellRendererPixbuf, #GtkCellRendererToggle + * + * The #GtkCellRenderer is a base class of a set of objects used for + * rendering a cell to a #GdkDrawable. These objects are used primarily by + * the #GtkTreeView widget, though they aren't tied to them in any + * specific way. It is worth noting that #GtkCellRenderer is not a + * #GtkWidget and cannot be treated as such. + * + * The primary use of a #GtkCellRenderer is for drawing a certain graphical + * elements on a #GdkDrawable. Typically, one cell renderer is used to + * draw many cells on the screen. To this extent, it isn't expected that a + * CellRenderer keep any permanent state around. Instead, any state is set + * just prior to use using #GObjects property system. Then, the + * cell is measured using gtk_cell_renderer_get_size(). Finally, the cell + * is rendered in the correct location using gtk_cell_renderer_render(). + * + * There are a number of rules that must be followed when writing a new + * #GtkCellRenderer. First and formost, it's important that a certain set + * of properties will always yield a cell renderer of the same size, + * barring a #GtkStyle change. The #GtkCellRenderer also has a number of + * generic properties that are expected to be honored by all children. + * + * Beyond merely rendering a cell, cell renderers can optionally + * provide active user interface elements. A cell renderer can be + * activatable like #GtkCellRendererToggle, + * which toggles when it gets activated by a mouse click, or it can be + * editable like #GtkCellRendererText, which + * allows the user to edit the text using a #GtkEntry. + * To make a cell renderer activatable or editable, you have to + * implement the #GtkCellRendererClass.activate or + * #GtkCellRendererClass.start_editing virtual functions, respectively. + */ + + #define DEBUG_CELL_SIZE_REQUEST 0 static void gtk_cell_renderer_init (GtkCellRenderer *cell); diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index 407d35730e..25ffed30a6 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -28,6 +28,18 @@ G_BEGIN_DECLS + +/** + * GtkCellRendererState: + * @GTK_CELL_RENDERER_SELECTED: The cell is currently selected, and + * probably has a selection colored background to render to. + * @GTK_CELL_RENDERER_PRELIT: The mouse is hovering over the cell. + * @GTK_CELL_RENDERER_INSENSITIVE: The cell is drawn in an insensitive manner + * @GTK_CELL_RENDERER_SORTED: The cell is in a sorted row + * @GTK_CELL_RENDERER_FOCUSED: The cell is in the focus row. + * + * Tells how a cell is to be rendererd. + */ typedef enum { GTK_CELL_RENDERER_SELECTED = 1 << 0, @@ -38,6 +50,17 @@ typedef enum GTK_CELL_RENDERER_FOCUSED = 1 << 4 } GtkCellRendererState; +/** + * GtkCellRendererMode: + * @GTK_CELL_RENDERER_MODE_INERT: The cell is just for display + * and cannot be interacted with. Note that this doesn't mean that eg. the + * row being drawn can't be selected -- just that a particular element of + * it cannot be individually modified. + * @GTK_CELL_RENDERER_MODE_ACTIVATABLE: The cell can be clicked. + * @GTK_CELL_RENDERER_MODE_EDITABLE: The cell can be edited or otherwise modified. + * + * Identifies how the user can interact with a particular cell. + */ typedef enum { GTK_CELL_RENDERER_MODE_INERT, From 24c3b956f35aa495a660e00aa6491cf12aa647f5 Mon Sep 17 00:00:00 2001 From: Garrett Regier Date: Sat, 6 Nov 2010 18:02:11 +0100 Subject: [PATCH 0169/1463] docs: Move documentation to inline comments: GtkCellRendererText MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + .../gtk/tmpl/gtkcellrenderertext.sgml | 288 ------------------ gtk/gtkcellrenderertext.c | 14 + 3 files changed, 15 insertions(+), 288 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcellrenderertext.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 2ad13ef893..5826d9018c 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -9,6 +9,7 @@ gtkbutton.sgml gtkcalendar.sgml gtkcelleditable.sgml gtkcellrenderer.sgml +gtkcellrenderertext.sgml gtkcolorbutton.sgml gtkcolorsel.sgml gtkcombobox.sgml diff --git a/docs/reference/gtk/tmpl/gtkcellrenderertext.sgml b/docs/reference/gtk/tmpl/gtkcellrenderertext.sgml deleted file mode 100644 index f324099c3d..0000000000 --- a/docs/reference/gtk/tmpl/gtkcellrenderertext.sgml +++ /dev/null @@ -1,288 +0,0 @@ - -GtkCellRendererText - - -Renders text in a cell - - - -A #GtkCellRendererText renders a given text in its cell, using the font, color and -style information provided by its properties. The text will be ellipsized if it is -too long and the ellipsize -property allows it. - - - -If the mode is %GTK_CELL_RENDERER_MODE_EDITABLE, -the #GtkCellRendererText allows to edit its text using an entry. - - - - - - - - - - - - - - - - - - - - - - - - -@cellrenderertext: the object which received the signal. -@arg1: -@arg2: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@renderer: -@number_of_rows: - - diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index f5945cc881..a93f16c9dc 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -32,6 +32,20 @@ #include "gtktreeprivate.h" +/** + * SECTION:gtkcellrenderertext + * @Short_description: Renders text in a cell + * @Title: GtkCellRendererText + * + * A #GtkCellRendererText renders a given text in its cell, using the font, color and + * style information provided by its properties. The text will be ellipsized if it is + * too long and the #GtkCellRendererText:ellipsize property allows it. + * + * If the #GtkCellRenderer:mode is %GTK_CELL_RENDERER_MODE_EDITABLE, + * the #GtkCellRendererText allows to edit its text using an entry. + */ + + static void gtk_cell_renderer_text_finalize (GObject *object); static void gtk_cell_renderer_text_get_property (GObject *object, From c65a617bd7b1a7cb2b41d4888f082e79b5436be4 Mon Sep 17 00:00:00 2001 From: Garrett Regier Date: Sat, 6 Nov 2010 18:04:50 +0100 Subject: [PATCH 0170/1463] docs: Move documentation to inline comments: GtkCellView MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkcellview.sgml | 143 ----------------------- gtk/gtkcellview.c | 13 +++ 3 files changed, 14 insertions(+), 143 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcellview.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 5826d9018c..5fa9fd4463 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -10,6 +10,7 @@ gtkcalendar.sgml gtkcelleditable.sgml gtkcellrenderer.sgml gtkcellrenderertext.sgml +gtkcellview.sgml gtkcolorbutton.sgml gtkcolorsel.sgml gtkcombobox.sgml diff --git a/docs/reference/gtk/tmpl/gtkcellview.sgml b/docs/reference/gtk/tmpl/gtkcellview.sgml deleted file mode 100644 index 0cc0bc1ab1..0000000000 --- a/docs/reference/gtk/tmpl/gtkcellview.sgml +++ /dev/null @@ -1,143 +0,0 @@ - -GtkCellView - - -A widget displaying a single row of a GtkTreeModel - - - -A #GtkCellView displays a single row of a #GtkTreeModel, using -cell renderers just like #GtkTreeView. #GtkCellView doesn't support -some of the more complex features of #GtkTreeView, like cell editing -and drag and drop. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@text: -@Returns: - - - - - - - -@markup: -@Returns: - - - - - - - -@pixbuf: -@Returns: - - - - - - - -@cell_view: -@model: - - - - - - - -@cell_view: -@Returns: - - - - - - - -@cell_view: -@path: - - - - - - - -@cell_view: -@Returns: - - - - - - - -@cell_view: -@path: -@requisition: -@Returns: - - - - - - - -@cell_view: -@color: - - diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 09840d4eca..77079f0c7f 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -30,6 +30,19 @@ #include "gtkbuildable.h" +/** + * SECTION:gtkcellview + * @Short_description: A widget displaying a single row of a GtkTreeModel + * @Title: GtkCellView + * + * A #GtkCellView displays a single row of a #GtkTreeModel, using + * cell renderers just like #GtkTreeView. #GtkCellView doesn't support + * some of the more complex features of #GtkTreeView, like cell editing + * and drag and drop. + */ + + + typedef struct _GtkCellViewCellInfo GtkCellViewCellInfo; struct _GtkCellViewCellInfo { From c4a54055fe4627c87e2b62cd17dea529778f0a89 Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Sun, 7 Nov 2010 10:50:45 +0200 Subject: [PATCH 0171/1463] [l10n] Updated Estonian translation --- po/et.po | 464 ++++--------------------------------------------------- 1 file changed, 26 insertions(+), 438 deletions(-) diff --git a/po/et.po b/po/et.po index 359d6035ed..a63c9a3596 100644 --- a/po/et.po +++ b/po/et.po @@ -14,10 +14,10 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ MASTER\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" -"2b&component=general\n" -"POT-Creation-Date: 2010-08-22 14:07+0000\n" -"PO-Revision-Date: 2010-10-10 18:48+0300\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" +"%2b&component=general\n" +"POT-Creation-Date: 2010-11-03 02:36+0000\n" +"PO-Revision-Date: 2010-11-05 09:08+0200\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" @@ -253,10 +253,6 @@ msgstr "Paleti suurus 8-bitises režiimis" msgid "COLORS" msgstr "VÄRVID" -#. Description of --sync in --help output -msgid "Make X calls synchronous" -msgstr "X'i kutsungid sünkroonseks" - #, c-format msgid "Starting %s" msgstr "Käivitamine: %s" @@ -271,6 +267,10 @@ msgid_plural "Opening %d Items" msgstr[0] "Avamine: %d kirje" msgstr[1] "Avamine: %d kirjet" +#. Description of --sync in --help output +msgid "Make X calls synchronous" +msgstr "X'i kutsungid sünkroonseks" + #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. @@ -278,9 +278,6 @@ msgstr[1] "Avamine: %d kirjet" msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "See programm on ILMA IGASUGUSE GARANTIITA. Üksikasjade kohta vaata %s" -msgid "Could not show link" -msgstr "Linki pole võimalik kuvada" - msgid "License" msgstr "Litsents" @@ -295,6 +292,9 @@ msgstr "_Autorid" msgid "_License" msgstr "_Litsents" +msgid "Could not show link" +msgstr "Linki pole võimalik kuvada" + #, c-format msgid "About %s" msgstr "Lähem teave %s kohta" @@ -711,6 +711,13 @@ msgstr "" "kataloogile määrata mõni muu nimi või nimeta fail enne kataloogi loomist " "ümber." +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" +"Sul on võimalik valida ainult katalooge. Sinu poolt valitud kirje ei ole " +"kataloog." + msgid "Invalid file name" msgstr "Vigane failinimi" @@ -938,10 +945,6 @@ msgstr "Lõpetamata hostinimi; lõpeta see kaldkriipsuga '/'" msgid "Path does not exist" msgstr "Asukohta pole olemas" -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Viga kataloogi '%s' loomisel: %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to @@ -1641,6 +1644,10 @@ msgstr "%d. %s" msgid "Unable to find an item with URI '%s'" msgstr "URI-ga '%s' pole võimalik leida ühtegi kirjet" +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Edenemisnäidik" @@ -3028,10 +3035,6 @@ msgstr "Kasutajanimi:" msgid "Password:" msgstr "Parool:" -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "Faili tõmbamiseks %s-st on vaja eelnevalt autentida" - #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "Dokumendi '%s' printimiseks printerisse %s on vaja eelnevalt autentida" @@ -3062,6 +3065,10 @@ msgstr "Vaikimisi printeri hankimiseks %s-st on vaja eelnevalt autentida" msgid "Authentication is required to get printers from %s" msgstr "Printerite hankimiseks %s-st on vaja eelnevalt autentida" +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Faili tõmbamiseks %s-st on vaja eelnevalt autentida" + #, c-format msgid "Authentication is required on %s" msgstr "%s jaoks on vaja eelnevalt autentida" @@ -3368,422 +3375,3 @@ msgid "" msgstr "" "Tõrge pildifaili '%s' laadimisel: põhjus teadmata, arvatavasti on pildifail " "rikutud" - -#~ msgid "Image file '%s' contains no data" -#~ msgstr "Pildifaili '%s' ei sisalda andmeid" - -#~ msgid "" -#~ "Failed to load animation '%s': reason not known, probably a corrupt " -#~ "animation file" -#~ msgstr "" -#~ "Tõrge animatsiooni '%s' laadimisel: põhjus teadmata, arvatavasti on " -#~ "animatsioonifail rikutud" - -#~ msgid "Unable to load image-loading module: %s: %s" -#~ msgstr "Piltide laadimise moodulit pole võimalik laadida: %s: %s" - -#~ msgid "" -#~ "Image-loading module %s does not export the proper interface; perhaps " -#~ "it's from a different GTK version?" -#~ msgstr "" -#~ "Pildilaadimismoodul '%s' ei väljasta korralikku liidest. Võib-olla on " -#~ "tegemist erinevate GTK versioonidega?" - -#~ msgid "Image type '%s' is not supported" -#~ msgstr "'%s' pilditüüp pole toetatud" - -#~ msgid "Couldn't recognize the image file format for file '%s'" -#~ msgstr "Pildifaili '%s' vormingut pole võimalik ära tunda" - -#~ msgid "Unrecognized image file format" -#~ msgstr "Pildifaili vorming pole äratuntav" - -#~ msgid "Failed to load image '%s': %s" -#~ msgstr "Tõrge pildi '%s' laadimisel: %s" - -#~ msgid "Error writing to image file: %s" -#~ msgstr "Viga pildifaili kirjutamisel: %s" - -#~ msgid "" -#~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "See gdk-pixbuf'i variant ei toeta %s pildivormingu salvestamist" - -#~ msgid "Insufficient memory to save image to callback" -#~ msgstr "Pildi väljakutsesse salvestamiseks pole piisavalt mälu" - -#~ msgid "Failed to open temporary file" -#~ msgstr "Tõrge ajutise faili avamisel" - -#~ msgid "Failed to read from temporary file" -#~ msgstr "Tõrge ajutisest failist lugemisel" - -#~ msgid "Failed to open '%s' for writing: %s" -#~ msgstr "Tõrge faili '%s' kirjutamiseks avamisel: %s" - -#~ msgid "" -#~ "Failed to close '%s' while writing image, all data may not have been " -#~ "saved: %s" -#~ msgstr "" -#~ "Tõrge faili '%s' sulgemisel, kõik andmeid ei pruugi olla salvestatud: %s" - -#~ msgid "Insufficient memory to save image into a buffer" -#~ msgstr "Pildi puhvrisse salvestamiseks pole piisavalt mälu" - -#~ msgid "Error writing to image stream" -#~ msgstr "Viga pildifaili voogu kirjutamisel" - -#~ msgid "" -#~ "Internal error: Image loader module '%s' failed to complete an operation, " -#~ "but didn't give a reason for the failure" -#~ msgstr "" -#~ "Sisemine viga: pildilaadimismooduli '%s' tõrge toimingu läbiviimisel, " -#~ "moodul ei andud tõrke põhjuse kohta andmeid" - -#~ msgid "Incremental loading of image type '%s' is not supported" -#~ msgstr "Osade kaupa laadimine pole %s pilditüübi puhul toetatud" - -#~ msgid "Image header corrupt" -#~ msgstr "Pildi päis on rikutud" - -#~ msgid "Image format unknown" -#~ msgstr "Pildi vorming on tundmatu" - -#~ msgid "Image pixel data corrupt" -#~ msgstr "Pildi piksliandmed on rikutud" - -#~ msgid "failed to allocate image buffer of %u byte" -#~ msgid_plural "failed to allocate image buffer of %u bytes" -#~ msgstr[0] "Tõrge pildipuhvrile %u baidi eraldamisel" -#~ msgstr[1] "Tõrge pildipuhvrile %u baidi eraldamisel" - -#~ msgid "Unexpected icon chunk in animation" -#~ msgstr "Animatsioonis on ootamatu ikoonitükk" - -#~ msgid "Unsupported animation type" -#~ msgstr "Animatsioonitüüp pole toetatud" - -#~ msgid "Invalid header in animation" -#~ msgstr "Vigane päis animatsioonis" - -#~ msgid "Not enough memory to load animation" -#~ msgstr "Animatsiooni laadimiseks pole piisavalt mälu" - -#~ msgid "Malformed chunk in animation" -#~ msgstr "Animatsioonis on vigaselt vormindatud tükk" - -#~ msgid "Not enough memory to load bitmap image" -#~ msgstr "Rasterpildi laadimiseks pole piisavalt mälu" - -#~ msgid "Premature end-of-file encountered" -#~ msgstr "Faili lõpp tuli enneaegselt" - -#~ msgid "Stack overflow" -#~ msgstr "Pinu ületäituvus" - -#~ msgid "Bad code encountered" -#~ msgstr "Avastati vigane kood" - -#~ msgid "Invalid header in icon" -#~ msgstr "Vigane päis ikoonis" - -#~ msgid "Not enough memory to load icon" -#~ msgstr "Ikooni laadimiseks pole piisavalt mälu" - -#~ msgid "Icon has zero width" -#~ msgstr "Ikoonil on null-laius" - -#~ msgid "Icon has zero height" -#~ msgstr "Ikoonil on null-kõrgus" - -#~ msgid "Compressed icons are not supported" -#~ msgstr "Pakitud ikoonid pole toetatud" - -#~ msgid "Unsupported icon type" -#~ msgstr "Toetamata ikoonitüüp" - -#~ msgid "Cursor hotspot outside image" -#~ msgstr "Kursori tulipunkt jääb pildist välja" - -#~ msgid "Couldn't allocate memory for stream" -#~ msgstr "Voo jaoks pole võimalik mälu eraldada" - -#~ msgid "Couldn't decode image" -#~ msgstr "Pilti pole võimalik dekodeerida" - -#~ msgid "Image type currently not supported" -#~ msgstr "Pilditüüp pole hetkel toetatud" - -#~ msgid "Couldn't allocate memory for color profile" -#~ msgstr "Värviprofiilile pole võimalik mälu eraldada" - -#~ msgid "Couldn't allocate memory to buffer image data" -#~ msgstr "Pildi andmete puhverdamiseks pole võimalik mälu eraldada" - -#~ msgid "" -#~ "Insufficient memory to load image, try exiting some applications to free " -#~ "memory" -#~ msgstr "" -#~ "Pildifaili laadimiseks pole piisavalt mälu. Mälu vabastamiseks võid sa " -#~ "proovida sulgeda mõned rakendused" - -#~ msgid "Couldn't allocate memory for header" -#~ msgstr "Päise jaoks pole võimalik mälu eraldada" - -#~ msgid "Couldn't allocate memory for context buffer" -#~ msgstr "Kontekstipuhvri jaoks pole võimalik mälu eraldada" - -#~ msgid "Image has invalid width and/or height" -#~ msgstr "Pildil on vigane laius ja/või kõrgus" - -#~ msgid "Image has unsupported bpp" -#~ msgstr "Pildil on toetamata värvisügavus" - -#~ msgid "Image has unsupported number of %d-bit planes" -#~ msgstr "Pildil on toetamata hulk %d-bitiseid tasandeid" - -#~ msgid "Couldn't create new pixbuf" -#~ msgstr "Uut pixbuf'i pole võimalik luua" - -#~ msgid "Couldn't allocate memory for line data" -#~ msgstr "Joone andmetele pole võimalik mälu eraldada" - -#~ msgid "Couldn't allocate memory for paletted data" -#~ msgstr "Paleti andmetele pole võimalik mälu eraldada" - -#~ msgid "" -#~ "Insufficient memory to store a %ld by %ld image; try exiting some " -#~ "applications to reduce memory usage" -#~ msgstr "" -#~ "%ldx%ld suurusega pildi salvestamiseks pole piisavalt mälu. Mälukasutuse " -#~ "vähendamiseks võid sa proovida mõnede rakenduste sulgemist" - -#~ msgid "Color profile has invalid length %d." -#~ msgstr "Värvusprofiilil on vigane pikkus %d." - -#~ msgid "Input file descriptor is NULL." -#~ msgstr "Sisendfaili deskriptor on NULL." - -#~ msgid "Failed to allocate %d bytes for file read buffer" -#~ msgstr "Tõrge faililugemispuhvrile %d baidi eraldamisel" - -#~ msgid "Failed to skip the next %d bytes with seek()." -#~ msgstr "Tõrge seek() abil järgnevast %d baidist ülehüppamisel." - -#~ msgid "Failed to find an image data atom." -#~ msgstr "Pildi andmeaatomi leidmine nurjus." - -#~ msgid "Cannot allocate memory for IOBuffer struct" -#~ msgstr "IOBuffer struktuuri jaoks pole võimalik mälu eraldada" - -#~ msgid "Cannot allocate memory for IOBuffer data" -#~ msgstr "IOBuffer andmete jaoks pole võimalik mälu eraldada" - -#~ msgid "Cannot realloc IOBuffer data" -#~ msgstr "IO-puhvri andmeid pole võimalik ümber paigutada" - -#~ msgid "Cannot allocate temporary IOBuffer data" -#~ msgstr "IOBuffer andmetele pole võimalik mälu eraldada" - -#~ msgid "Cannot allocate new pixbuf" -#~ msgstr "Uut pixbuf'i pole võimalik eraldada" - -#~ msgid "Image is corrupted or truncated" -#~ msgstr "Tõmmis pole täielik või on tükeldatud" - -#~ msgid "Cannot allocate colormap structure" -#~ msgstr "Värvikaardi struktuurile pole võimalik mälu eraldada" - -#~ msgid "Cannot allocate colormap entries" -#~ msgstr "Värvikaardi kirjetele pole võimalik mälu eraldada" - -#~ msgid "Unexpected bitdepth for colormap entries" -#~ msgstr "Ootamatu bitisügavus värvikaardi kirjetele" - -#~ msgid "Excess data in file" -#~ msgstr "Failis on liigsed andmed" - -#~ msgid "Image has zero width" -#~ msgstr "Pildi laius on null" - -#~ msgid "Image has zero height" -#~ msgstr "Pildi kõrgus on null" - -#~ msgid "Not enough memory to load image" -#~ msgstr "Pildi laadimiseks pole piisavalt mälu" - -#~ msgid "Couldn't save the rest" -#~ msgstr "Ülejäänut pole võimalik salvestada" - -#~ msgid "Could not allocate memory: %s" -#~ msgstr "Mälu pole võimalik eraldada: %s" - -#~ msgid "Could not create stream: %s" -#~ msgstr "Voogu pole võimalik luua: %s" - -#~ msgid "Could not seek stream: %s" -#~ msgstr "Voos pole võimalik asukohta vahetada: %s" - -#~ msgid "Could not read from stream: %s" -#~ msgstr "Voost pole võimalik lugeda: %s" - -#~ msgid "Couldn't load bitmap" -#~ msgstr "Rastergraafikat pole võimalik laadida" - -#~ msgid "Couldn't load metafile" -#~ msgstr "Metafaili pole võimalik laadida" - -#~ msgid "Couldn't save" -#~ msgstr "Salvestamine pole võimalik" - -#~ msgid "\"Deepness\" of the color." -#~ msgstr "Värvi \"sügavus\"." - -#~ msgid "Error printing" -#~ msgstr "Viga printimisel" - -#~ msgid "Printer '%s' may not be connected." -#~ msgstr "Printer '%s' ei pruugi ühendatud olla." - -#~ msgid "Folders" -#~ msgstr "Kataloogid" - -#~ msgid "Fol_ders" -#~ msgstr "_Kataloogid" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "Kataloog on loetamatu: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "Fail \"%s\" asub teises arvutis (mille nimi on %s) ning ei pruugi " -#~ "seetõttu sellele programmile kättesaadav olla.\n" -#~ "Kas sa tahad kindlasti seda faili valida?" - -#~ msgid "_New Folder" -#~ msgstr "_Uus kataloog" - -#~ msgid "De_lete File" -#~ msgstr "_Kustuta fail" - -#~ msgid "_Rename File" -#~ msgstr "Muuda faili _nime" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "Kataloogi \"%s\" nimi sisaldab failinimedes keelatud märke" - -#~ msgid "New Folder" -#~ msgstr "Uus kataloog" - -#~ msgid "_Folder name:" -#~ msgstr "_Kataloogi nimi:" - -#~ msgid "C_reate" -#~ msgstr "_Loo" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "Failinimi \"%s\" sisaldab failinimedes keelatud märke" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "Viga faili '%s' kustutamisel: %s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "Kas kustutadata fail \"%s\"?" - -#~ msgid "Delete File" -#~ msgstr "Faili kustutamine" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "Viga faili ümbernimetamisel nimega \"%s\": %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "Viga faili \"%s\" ümbernimetamisel: %s" - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "Viga faili \"%s\" ümbernimetamisel \"%s\"-ks: %s" - -#~ msgid "Rename File" -#~ msgstr "Faili ümbernimetamine" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "Faili \"%s\" ümbernimetamine:" - -#~ msgid "_Rename" -#~ msgstr "Muuda _nime" - -#~ msgid "_Selection: " -#~ msgstr "_Valik: " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "Failinime \"%s\" pole võimalik UTF-8'sse teisendada (proovi " -#~ "keskkonnamuutuja G_FILENAME_ENCODING seadmist): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "Vigane UTF-8" - -#~ msgid "Name too long" -#~ msgstr "Nimi on liiga pikk" - -#~ msgid "Couldn't convert filename" -#~ msgstr "Failinime pole võimalik teisendada" - -#~ msgid "Gamma" -#~ msgstr "Gamma" - -#~ msgid "_Gamma value" -#~ msgstr "_Gamma väärtus" - -#~ msgid "Input" -#~ msgstr "Sisend" - -#~ msgid "No extended input devices" -#~ msgstr "Laiendatud sisendseadmeid ei ole" - -#~ msgid "_Device:" -#~ msgstr "_Seade:" - -#~ msgid "Disabled" -#~ msgstr "Välja lülitatud" - -#~ msgid "Screen" -#~ msgstr "Ekraan" - -#~ msgid "Window" -#~ msgstr "Aken" - -#~ msgid "_Mode:" -#~ msgstr "_Režiim:" - -#~ msgid "Axes" -#~ msgstr "Teljed" - -#~ msgid "Keys" -#~ msgstr "Klahvid" - -#~ msgid "_Pressure:" -#~ msgstr "Su_rve:" - -#~ msgid "X _tilt:" -#~ msgstr "X-_kalle:" - -#~ msgid "Y t_ilt:" -#~ msgstr "Y-k_alle:" - -#~ msgid "_Wheel:" -#~ msgstr "_Ratas:" - -#~ msgid "(disabled)" -#~ msgstr "(välja lülitatud)" - -#~ msgid "(unknown)" -#~ msgstr "(tundmatu)" - -#~ msgid "Cl_ear" -#~ msgstr "_Tühjenda" From e5c0d40d9404b4e5ab3e6d332d616db76921c20e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 7 Nov 2010 11:22:07 -0500 Subject: [PATCH 0172/1463] Make GtkFileChooserButton behave as expected when expanding --- gtk/gtkfilechooserbutton.c | 3 ++- tests/testfilechooserbutton.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index d0b0268d10..3db63bf8d9 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -452,7 +452,8 @@ gtk_file_chooser_button_init (GtkFileChooserButton *button) priv->label = gtk_label_new (_(FALLBACK_DISPLAY_NAME)); gtk_label_set_ellipsize (GTK_LABEL (priv->label), PANGO_ELLIPSIZE_END); gtk_misc_set_alignment (GTK_MISC (priv->label), 0.0, 0.5); - gtk_container_add (GTK_CONTAINER (box), priv->label); + gtk_box_pack_start (GTK_BOX (box), priv->label, TRUE, TRUE, 0); + //gtk_container_add (GTK_CONTAINER (box), priv->label); gtk_widget_show (priv->label); sep = gtk_separator_new (GTK_ORIENTATION_VERTICAL); diff --git a/tests/testfilechooserbutton.c b/tests/testfilechooserbutton.c index 329c64a4e2..45c81bdb31 100644 --- a/tests/testfilechooserbutton.c +++ b/tests/testfilechooserbutton.c @@ -327,7 +327,7 @@ main (int argc, g_signal_connect (chooser, "selection-changed", G_CALLBACK (chooser_selection_changed_cb), NULL); g_signal_connect (chooser, "file-activated", G_CALLBACK (chooser_file_activated_cb), NULL); g_signal_connect (chooser, "update-preview", G_CALLBACK (chooser_update_preview_cb), NULL); - gtk_container_add (GTK_CONTAINER (hbox), chooser); + gtk_box_pack_start (GTK_BOX (hbox), chooser, TRUE, TRUE, 0); button = gtk_button_new_from_stock (GTK_STOCK_PROPERTIES); g_signal_connect (button, "clicked", G_CALLBACK (properties_button_clicked_cb), chooser); @@ -357,7 +357,7 @@ main (int argc, g_signal_connect (chooser, "selection-changed", G_CALLBACK (chooser_selection_changed_cb), NULL); g_signal_connect (chooser, "file-activated", G_CALLBACK (chooser_file_activated_cb), NULL); g_signal_connect (chooser, "update-preview", G_CALLBACK (chooser_update_preview_cb), NULL); - gtk_container_add (GTK_CONTAINER (hbox), chooser); + gtk_box_pack_start (GTK_BOX (hbox), chooser, TRUE, TRUE, 0); button = gtk_button_new_from_stock (GTK_STOCK_PROPERTIES); g_signal_connect (button, "clicked", G_CALLBACK (properties_button_clicked_cb), chooser); From 0b749700e6f53cb1378d73c343abfd92f41d0936 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 8 Nov 2009 18:26:03 +0100 Subject: [PATCH 0173/1463] Update msvc build --- demos/gtk-demo/makefile.msc.in | 9 +++++---- gtk/makefile.msc.in | 10 ++++++++++ 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/demos/gtk-demo/makefile.msc.in b/demos/gtk-demo/makefile.msc.in index f4d857c610..a92362f3af 100644 --- a/demos/gtk-demo/makefile.msc.in +++ b/demos/gtk-demo/makefile.msc.in @@ -14,15 +14,15 @@ PERL = perl ################################################################ # Possibly override versions from build/win32/module.defs -GTK_VER = @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@ -GDK_PIXBUF_VER = @GDK_PIXBUF_MAJOR@.@GDK_PIXBUF_MINOR@ +GTK_VER = 2.0 +GDK_PIXBUF_VER = 2.0 GDK_LIBS = ../../gdk/gdk-win32-$(GTK_VER).lib GTK_LIBS = ../../gtk/gtk-win32-$(GTK_VER).lib GDK_PIXBUF_LIBS = ../../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib INCLUDES = -FImsvc_recommended_pragmas.h -I . -I ../.. -I ../../gdk -I ../../gdk-pixbuf -I ../../gtk -DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS) $(ATK_CFLAGS) +DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS) $(ATK_CFLAGS) $(CAIRO_CFLAGS) LDFLAGS = /link /machine:ix86 $(LINKDEBUG) DEFINES = -DG_LOG_DOMAIN=\"GtkDemo\" -DGTK_VERSION=\"$(GTK_VER)\" \ -DDEMOCODEDIR=\".\" @@ -90,5 +90,6 @@ OBJECTS = \ main.obj \ gtk-demo.exe : demos.h $(OBJECTS) - $(CC) $(CFLAGS) -Fegtk-demo.exe $(OBJECTS) $(GTK_LIBS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS) + $(CC) $(CFLAGS) -Fegtk-demo.exe $(OBJECTS) $(GTK_LIBS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) \ + $(CAIRO_LIBS) $(PANGOCAIRO_LIBS) $(PANGO_LIBS) $(GLIB_LIBS) $(LDFLAGS) diff --git a/gtk/makefile.msc.in b/gtk/makefile.msc.in index d8830fb2c9..e891c1f085 100644 --- a/gtk/makefile.msc.in +++ b/gtk/makefile.msc.in @@ -130,6 +130,7 @@ gtk_OBJECTS_cell = \ gtkcellrendererpixbuf.obj \ gtkcellrendererprogress.obj \ gtkcellrendererspin.obj \ + gtkcellrendererspinner.obj \ gtkcellview.obj \ gtkliststore.obj \ gtktreednd.obj \ @@ -287,6 +288,7 @@ gtk_OBJECTS = \ gtkmountoperation-stub.obj \ gtknotebook.obj \ gtkobject.obj \ + gtkoffscreenwindow.obj \ gtkorientable.obj \ gtkpagesetup.obj \ gtkpaned.obj \ @@ -320,6 +322,7 @@ gtk_OBJECTS = \ gtksocket.obj \ gtksocket-win32.obj \ gtkspinbutton.obj \ + gtkspinner.obj \ gtkstatusicon.obj \ gtkstyle.obj \ gtkstatusbar.obj \ @@ -332,6 +335,8 @@ gtk_OBJECTS = \ gtktoggletoolbutton.obj \ gtktoolbutton.obj \ gtktoolitem.obj \ + gtktoolitemgroup.obj \ + gtktoolpalette.obj \ gtktoolshell.obj \ gtktooltip.obj \ gtktreedatalist.obj \ @@ -384,6 +389,7 @@ gtk_public_h_sources = \ gtkcellrendererpixbuf.h \ gtkcellrendererprogress.h \ gtkcellrendererspin.h \ + gtkcellrendererspinner.h \ gtkcellrenderertext.h \ gtkcellrenderertoggle.h \ gtkcellview.h \ @@ -462,6 +468,7 @@ gtk_public_h_sources = \ gtkmountoperation.h \ gtknotebook.h \ gtkobject.h \ + gtkoffscreenwindow.h \ gtkoldeditable.h \ gtkoptionmenu.h \ gtkpagesetup.h \ @@ -502,6 +509,7 @@ gtk_public_h_sources = \ gtksizegroup.h \ gtksocket.h \ gtkspinbutton.h \ + gtkspinner.h \ gtkstatusbar.h \ gtkstatusicon.h \ gtkstock.h \ @@ -525,6 +533,8 @@ gtk_public_h_sources = \ gtktoolbar.h \ gtktoolbutton.h \ gtktoolitem.h \ + gtktoolitemgroup.h \ + gtktoolpalette.h \ gtktooltip.h \ gtktooltips.h \ gtktree.h \ From 017f637a765781518397c098e9b734a933e8ddfe Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 7 Nov 2010 21:19:48 +0100 Subject: [PATCH 0174/1463] Bug 609622 - disappearing statusicon Windows 7 is managing status icon visibility across process lifetime, which did not work with GTK+ create icons. Apparently the mechanism does not require use of new API (like suggested by MSDN), but it is enough to give a "unique" tooltip at creation time. Formerly this initial tooltip was not set at all, later setting via gtk_status_icon_set_tooltip_text() is not enough, but luckily different follow-up tooltips don't disturb the intended behavior. (cherry picked from commit ae0544c636c72753098b698e4951897c609a75b6) (cherry picked from commit 8a9d458bafe368335d0acca2c324f878ee64463f) --- gtk/gtkstatusicon.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index 7e7ab22a44..678cb8caab 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -903,6 +903,17 @@ gtk_status_icon_init (GtkStatusIcon *status_icon) priv->nid.uCallbackMessage = WM_GTK_TRAY_NOTIFICATION; priv->nid.uFlags = NIF_MESSAGE; + /* To help win7 identify the icon create it with an application "unique" tip */ + if (g_get_prgname ()) + { + WCHAR *wcs = g_utf8_to_utf16 (g_get_prgname (), -1, NULL, NULL, NULL); + + priv->nid.uFlags |= NIF_TIP; + wcsncpy (priv->nid.szTip, wcs, G_N_ELEMENTS (priv->nid.szTip) - 1); + priv->nid.szTip[G_N_ELEMENTS (priv->nid.szTip) - 1] = 0; + g_free (wcs); + } + if (!Shell_NotifyIconW (NIM_ADD, &priv->nid)) { g_warning (G_STRLOC ": Shell_NotifyIcon(NIM_ADD) failed"); From cbe1154e519a98877f40c67a9f2e686eb3f7bbef Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 6 Nov 2010 15:29:27 +0900 Subject: [PATCH 0175/1463] Added gtk_cell_area_activate_cell() and some cell editing management Now: - The current edit cell and editable widget in use can be fetched with properties and accessors - gtk_cell_area_activate_cell() handles bookkeeping of the currently edited cell, starting the editing of a cell, activating a cell etc - Exported signals are available on GtkCellArea: "editing-started", "editing-canceled", "editing-done", "remove-editable". - Upon receiving GDK_KEY_Escape current editing gets canceled. --- gtk/gtkcellarea.c | 354 +++++++++++++++++++++++++++++++++++++--------- gtk/gtkcellarea.h | 23 +-- 2 files changed, 303 insertions(+), 74 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index ccc1b71bc9..f9485aa5f2 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -117,6 +117,20 @@ static void cell_attribute_free (CellAttribute *attribute); static gint cell_attribute_find (CellAttribute *cell_attribute, const gchar *attribute); +/* Internal signal emissions */ +static void gtk_cell_area_editing_started (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable); +static void gtk_cell_area_editing_canceled (GtkCellArea *area, + GtkCellRenderer *renderer); +static void gtk_cell_area_editing_done (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable); +static void gtk_cell_area_remove_editable (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable); + + /* Struct to pass data along while looping over * cell renderers to apply attributes */ @@ -144,7 +158,15 @@ struct _GtkCellAreaPrivate * of gtk_cell_area_apply_attributes() */ gchar *current_path; + /* Current cell being edited and editable widget used */ + GtkCellEditable *edit_widget; GtkCellRenderer *edited_cell; + + /* Signal connections to the editable widget */ + gulong editing_done_id; + gulong remove_widget_id; + + /* Currently focused cell */ GtkCellRenderer *focus_cell; guint can_focus : 1; @@ -157,12 +179,16 @@ enum { PROP_CELL_MARGIN_TOP, PROP_CELL_MARGIN_BOTTOM, PROP_FOCUS_CELL, - PROP_EDITED_CELL + PROP_EDITED_CELL, + PROP_EDIT_WIDGET }; enum { SIGNAL_FOCUS_LEAVE, SIGNAL_EDITING_STARTED, + SIGNAL_EDITING_CANCELED, + SIGNAL_EDITING_DONE, + SIGNAL_REMOVE_EDITABLE, LAST_SIGNAL }; @@ -200,6 +226,12 @@ gtk_cell_area_init (GtkCellArea *area) priv->cell_border.bottom = 0; priv->focus_cell = NULL; + priv->edited_cell = NULL; + priv->edit_widget = NULL; + priv->can_focus = FALSE; + + priv->editing_done_id = 0; + priv->remove_widget_id = 0; } static void @@ -255,6 +287,38 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GTK_TYPE_CELL_EDITABLE, G_TYPE_STRING); + cell_area_signals[SIGNAL_EDITING_CANCELED] = + g_signal_new (I_("editing-canceled"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT, + G_TYPE_NONE, 1, + GTK_TYPE_CELL_RENDERER); + + cell_area_signals[SIGNAL_EDITING_DONE] = + g_signal_new (I_("editing-done"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_OBJECT, + G_TYPE_NONE, 2, + GTK_TYPE_CELL_RENDERER, + GTK_TYPE_CELL_EDITABLE); + + cell_area_signals[SIGNAL_REMOVE_EDITABLE] = + g_signal_new (I_("remove-editable"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_OBJECT, + G_TYPE_NONE, 2, + GTK_TYPE_CELL_RENDERER, + GTK_TYPE_CELL_EDITABLE); + /* Properties */ g_object_class_install_property (object_class, PROP_CELL_MARGIN_LEFT, @@ -318,6 +382,15 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GTK_TYPE_CELL_RENDERER, GTK_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_EDIT_WIDGET, + g_param_spec_object + ("edit-widget", + P_("Edit Widget"), + P_("The widget currently editing the edited cell"), + GTK_TYPE_CELL_RENDERER, + GTK_PARAM_READWRITE)); + /* Pool for Cell Properties */ if (!cell_property_pool) cell_property_pool = g_param_spec_pool_new (FALSE); @@ -427,6 +500,7 @@ gtk_cell_area_dispose (GObject *object) /* Remove any ref to a focused/edited cell */ gtk_cell_area_set_focus_cell (GTK_CELL_AREA (object), NULL); gtk_cell_area_set_edited_cell (GTK_CELL_AREA (object), NULL); + gtk_cell_area_set_edit_widget (GTK_CELL_AREA (object), NULL); G_OBJECT_CLASS (gtk_cell_area_parent_class)->dispose (object); } @@ -456,6 +530,12 @@ gtk_cell_area_set_property (GObject *object, case PROP_FOCUS_CELL: gtk_cell_area_set_focus_cell (area, (GtkCellRenderer *)g_value_get_object (value)); break; + case PROP_EDITED_CELL: + gtk_cell_area_set_edited_cell (area, (GtkCellRenderer *)g_value_get_object (value)); + break; + case PROP_EDIT_WIDGET: + gtk_cell_area_set_edit_widget (area, (GtkCellEditable *)g_value_get_object (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -488,6 +568,12 @@ gtk_cell_area_get_property (GObject *object, case PROP_FOCUS_CELL: g_value_set_object (value, priv->focus_cell); break; + case PROP_EDITED_CELL: + g_value_set_object (value, priv->edited_cell); + break; + case PROP_EDIT_WIDGET: + g_value_set_object (value, priv->edit_widget); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -517,61 +603,30 @@ gtk_cell_area_real_event (GtkCellArea *area, key_event->keyval == GDK_KEY_ISO_Enter || key_event->keyval == GDK_KEY_KP_Enter)) { - /* Activate or Edit the currently focused cell */ - GtkCellRendererMode mode; - GdkRectangle background_area; - GdkRectangle inner_area; + GdkRectangle background_area; /* Get the allocation of the focused cell. */ gtk_cell_area_get_cell_allocation (area, iter, widget, priv->focus_cell, cell_area, &background_area); - /* Remove margins from the background area to produce the cell area. - */ - gtk_cell_area_inner_cell_area (area, &background_area, &inner_area); + /* Activate or Edit the currently focused cell */ + if (gtk_cell_area_activate_cell (area, widget, priv->focus_cell, event, + &background_area, flags)) + return TRUE; + } + else if (priv->edited_cell && + (key_event->keyval == GDK_KEY_Escape)) + { + /* Cancel editing of the cell renderer */ + gtk_cell_renderer_stop_editing (priv->edited_cell, TRUE); - /* XXX Need to do some extra right-to-left casing either here - * or inside the above called apis. - */ + /* Signal that editing has been canceled */ + gtk_cell_area_editing_canceled (area, priv->edited_cell); - g_object_get (priv->focus_cell, "mode", &mode, NULL); - - if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) - { - if (gtk_cell_renderer_activate (priv->focus_cell, - event, widget, - priv->current_path, - &background_area, - &inner_area, - flags)) - return TRUE; - } - else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) - { - GtkCellEditable *editable_widget; - - editable_widget = - gtk_cell_renderer_start_editing (priv->focus_cell, - event, widget, - priv->current_path, - &background_area, - &inner_area, - flags); - - if (editable_widget != NULL) - { - g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); - - gtk_cell_area_set_edited_cell (area, priv->focus_cell); - - /* Signal that editing started so that callers can get - * a handle on the editable_widget */ - gtk_cell_area_editing_started (area, priv->focus_cell, editable_widget); - - return TRUE; - } - } + /* Remove any references to the editable widget */ + gtk_cell_area_set_edited_cell (area, NULL); + gtk_cell_area_set_edit_widget (area, NULL); } } @@ -1825,6 +1880,71 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) return priv->focus_cell; } + +/************************************************************* + * API: Cell Activation/Editing * + *************************************************************/ +static void +gtk_cell_area_editing_started (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable) +{ + g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_STARTED], 0, + renderer, editable, area->priv->current_path); +} + +static void +gtk_cell_area_editing_canceled (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_CANCELED], 0, renderer); +} + +static void +gtk_cell_area_editing_done (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable) +{ + g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_DONE], 0, renderer, editable); +} + +static void +gtk_cell_area_remove_editable (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable) +{ + g_signal_emit (area, cell_area_signals[SIGNAL_REMOVE_EDITABLE], 0, renderer, editable); +} + +static void +cell_area_editing_done_cb (GtkCellEditable *editable, + GtkCellArea *area) +{ + GtkCellAreaPrivate *priv = area->priv; + + g_assert (priv->edit_widget == editable); + g_assert (priv->edited_cell != NULL); + + gtk_cell_area_editing_done (area, priv->edited_cell, priv->edit_widget); +} + +static void +cell_area_remove_widget_cb (GtkCellEditable *editable, + GtkCellArea *area) +{ + GtkCellAreaPrivate *priv = area->priv; + + g_assert (priv->edit_widget == editable); + g_assert (priv->edited_cell != NULL); + + gtk_cell_area_remove_editable (area, priv->edited_cell, priv->edit_widget); + + /* Now that we're done with editing the widget and it can be removed, + * remove our references to the widget and disconnect handlers */ + gtk_cell_area_set_edited_cell (area, NULL); + gtk_cell_area_set_edit_widget (area, NULL); +} + void gtk_cell_area_set_edited_cell (GtkCellArea *area, GtkCellRenderer *renderer) @@ -1862,6 +1982,126 @@ gtk_cell_area_get_edited_cell (GtkCellArea *area) return priv->edited_cell; } +void +gtk_cell_area_set_edit_widget (GtkCellArea *area, + GtkCellEditable *editable) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (editable == NULL || GTK_IS_CELL_EDITABLE (editable)); + + priv = area->priv; + + if (priv->edit_widget != editable) + { + if (priv->edit_widget) + { + g_signal_handler_disconnect (priv->edit_widget, priv->editing_done_id); + g_signal_handler_disconnect (priv->edit_widget, priv->remove_widget_id); + + g_object_unref (priv->edit_widget); + } + + priv->edit_widget = editable; + + if (priv->edit_widget) + { + priv->editing_done_id = + g_signal_connect (priv->edit_widget, "editing-done", + G_CALLBACK (cell_area_editing_done_cb), area); + priv->remove_widget_id = + g_signal_connect (priv->edit_widget, "remove-widget", + G_CALLBACK (cell_area_remove_widget_cb), area); + + g_object_ref (priv->edit_widget); + } + + g_object_notify (G_OBJECT (area), "edit-widget"); + } +} + +GtkCellEditable * +gtk_cell_area_get_edit_widget (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + priv = area->priv; + + return priv->edit_widget; +} + +gboolean +gtk_cell_area_activate_cell (GtkCellArea *area, + GtkWidget *widget, + GtkCellRenderer *renderer, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) +{ + GtkCellRendererMode mode; + GdkRectangle inner_area; + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), FALSE); + g_return_val_if_fail (event != NULL, FALSE); + g_return_val_if_fail (cell_area != NULL, FALSE); + + priv = area->priv; + + /* Remove margins from the background area to produce the cell area. + * + * XXX Maybe have to do some rtl mode treatment here... + */ + gtk_cell_area_inner_cell_area (area, cell_area, &inner_area); + + g_object_get (renderer, "mode", &mode, NULL); + + if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) + { + if (gtk_cell_renderer_activate (renderer, + event, widget, + priv->current_path, + cell_area, + &inner_area, + flags)) + return TRUE; + } + else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) + { + GtkCellEditable *editable_widget; + + editable_widget = + gtk_cell_renderer_start_editing (renderer, + event, widget, + priv->current_path, + cell_area, + &inner_area, + flags); + + if (editable_widget != NULL) + { + g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); + + gtk_cell_area_set_edited_cell (area, renderer); + gtk_cell_area_set_edit_widget (area, editable_widget); + + /* Signal that editing started so that callers can get + * a handle on the editable_widget */ + gtk_cell_area_editing_started (area, priv->focus_cell, editable_widget); + + return TRUE; + } + } + + return FALSE; +} + + /************************************************************* * API: Margins * *************************************************************/ @@ -1969,25 +2209,9 @@ gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, } } -/* For convenience in area implementations */ -void -gtk_cell_area_editing_started (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_STARTED], 0, - renderer, editable, priv->current_path); -} - void gtk_cell_area_inner_cell_area (GtkCellArea *area, - GdkRectangle *background_area, + const GdkRectangle *background_area, GdkRectangle *cell_area) { GtkCellAreaPrivate *priv; diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 0e806df688..7fc450d497 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -277,11 +277,21 @@ gboolean gtk_cell_area_get_can_focus (GtkCellArea void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); -void gtk_cell_area_set_edited_cell (GtkCellArea *area, - GtkCellRenderer *renderer); -GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); +/* Cell Activation/Editing */ +void gtk_cell_area_set_edited_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); +void gtk_cell_area_set_edit_widget (GtkCellArea *area, + GtkCellEditable *editable); +GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area); +gboolean gtk_cell_area_activate_cell (GtkCellArea *area, + GtkWidget *widget, + GtkCellRenderer *renderer, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); /* Margins */ gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); @@ -299,14 +309,9 @@ void gtk_cell_area_set_cell_margin_bottom (GtkCellArea /* Functions for area implementations */ -/* Signal that editing started on the area (fires the "editing-started" signal) */ -void gtk_cell_area_editing_started (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable); - /* Distinguish the inner cell area from the whole requested area including margins */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, - GdkRectangle *cell_area, + const GdkRectangle *cell_area, GdkRectangle *inner_cell_area); /* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */ From 09e3d9d3aaafa1b756120afcd5d2a80f4ae13439 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 6 Nov 2010 15:42:37 +0900 Subject: [PATCH 0176/1463] Added gtk_cell_area_stop_editing to allow explicit stopping of cell editing. --- gtk/gtkcellarea.c | 35 ++++++++++++++++++++++++++--------- gtk/gtkcellarea.h | 2 ++ 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index f9485aa5f2..d997af06a3 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -618,15 +618,8 @@ gtk_cell_area_real_event (GtkCellArea *area, else if (priv->edited_cell && (key_event->keyval == GDK_KEY_Escape)) { - /* Cancel editing of the cell renderer */ - gtk_cell_renderer_stop_editing (priv->edited_cell, TRUE); - - /* Signal that editing has been canceled */ - gtk_cell_area_editing_canceled (area, priv->edited_cell); - - /* Remove any references to the editable widget */ - gtk_cell_area_set_edited_cell (area, NULL); - gtk_cell_area_set_edit_widget (area, NULL); + gtk_cell_area_stop_editing (area, TRUE); + return TRUE; } } @@ -2101,6 +2094,30 @@ gtk_cell_area_activate_cell (GtkCellArea *area, return FALSE; } +void +gtk_cell_area_stop_editing (GtkCellArea *area, + gboolean canceled) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (priv->edited_cell) + { + /* Stop editing of the cell renderer */ + gtk_cell_renderer_stop_editing (priv->edited_cell, canceled); + + /* Signal that editing has been canceled */ + if (canceled) + gtk_cell_area_editing_canceled (area, priv->edited_cell); + + /* Remove any references to the editable widget */ + gtk_cell_area_set_edited_cell (area, NULL); + gtk_cell_area_set_edit_widget (area, NULL); + } +} /************************************************************* * API: Margins * diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 7fc450d497..a0cc50f005 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -292,6 +292,8 @@ gboolean gtk_cell_area_activate_cell (GtkCellArea GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); +void gtk_cell_area_stop_editing (GtkCellArea *area, + gboolean canceled); /* Margins */ gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); From 0336838366389dd22d185324f827538638b1b37f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 6 Nov 2010 16:14:38 +0900 Subject: [PATCH 0177/1463] Implemented focus handling in GtkCellAreaBox Now when the GtkCellAreaBox receives key events it cycles the currently focused cell to the next focusable cell in the box while observing the navigation direction, it then emits "focus-leave" when hitting the boundries of the area. --- gtk/gtkcellarea.c | 11 ++-- gtk/gtkcellarea.h | 3 +- gtk/gtkcellareabox.c | 138 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 145 insertions(+), 7 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index d997af06a3..4032369131 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1725,8 +1725,6 @@ gtk_cell_area_grab_focus (GtkCellArea *area, * @area: a #GtkCellArea * @direction: the #GtkDirectionType in which focus * is to leave @area - * @path: the current #GtkTreePath string for the - * event which was handled by @area * * Notifies that focus is to leave @area in the * given @direction. @@ -1740,12 +1738,15 @@ gtk_cell_area_grab_focus (GtkCellArea *area, */ void gtk_cell_area_focus_leave (GtkCellArea *area, - GtkDirectionType direction, - const gchar *path) + GtkDirectionType direction) { + GtkCellAreaPrivate *priv; + g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_LEAVE], 0, direction, path); + priv = area->priv; + + g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_LEAVE], 0, direction, priv->current_path); } /** diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index a0cc50f005..0e8a7a9e45 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -268,8 +268,7 @@ void gtk_cell_area_cell_get_property (GtkCellArea void gtk_cell_area_grab_focus (GtkCellArea *area, GtkDirectionType direction); void gtk_cell_area_focus_leave (GtkCellArea *area, - GtkDirectionType direction, - const gchar *path); + GtkDirectionType direction); void gtk_cell_area_update_focus (GtkCellArea *area); void gtk_cell_area_set_can_focus (GtkCellArea *area, gboolean can_focus); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a2f73bd4fe..3cee4cb3ec 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -862,6 +862,97 @@ gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, g_slist_free (allocated_cells); } +enum { + FOCUS_NONE, + FOCUS_PREV, + FOCUS_NEXT +}; + +static void +gtk_cell_area_cycle_focus (GtkCellAreaBox *box, + GtkCellRenderer *focus_cell, + GtkDirectionType direction) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellArea *area = GTK_CELL_AREA (box); + gint cycle = FOCUS_NONE; + + switch (direction) + { + case GTK_DIR_TAB_FORWARD: + cycle = FOCUS_NEXT; + break; + case GTK_DIR_TAB_BACKWARD: + cycle = FOCUS_PREV; + break; + case GTK_DIR_UP: + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_focus_leave (area, direction); + else + cycle = FOCUS_PREV; + break; + case GTK_DIR_DOWN: + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_focus_leave (area, direction); + else + cycle = FOCUS_NEXT; + break; + case GTK_DIR_LEFT: + if (priv->orientation == GTK_ORIENTATION_VERTICAL) + gtk_cell_area_focus_leave (area, direction); + else + cycle = FOCUS_PREV; + break; + case GTK_DIR_RIGHT: + if (priv->orientation == GTK_ORIENTATION_VERTICAL) + gtk_cell_area_focus_leave (area, direction); + else + cycle = FOCUS_NEXT; + break; + default: + break; + } + + if (cycle != FOCUS_NONE) + { + gboolean found_cell = FALSE; + gboolean cycled_focus = FALSE; + GList *list; + gint i; + + for (i = (cycle == FOCUS_NEXT) ? 0 : priv->groups->len -1; + i >= 0 && i < priv->groups->len; + i = (cycle == FOCUS_NEXT) ? i + 1 : i - 1) + { + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); + + for (list = (cycle == FOCUS_NEXT) ? g_list_first (group->cells) : g_list_last (group->cells); + list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) + { + CellInfo *info = list->data; + + if (!found_cell && info->renderer == focus_cell) + found_cell = TRUE; + else if (found_cell) + { + if (gtk_cell_renderer_can_focus (info->renderer)) + { + gtk_cell_area_set_focus_cell (area, info->renderer); + + cycled_focus = TRUE; + break; + } + } + } + } + + /* We cycled right out of the area, signal the parent we + * need to focus out of the area */ + if (!cycled_focus) + gtk_cell_area_focus_leave (area, direction); + } +} + static gint gtk_cell_area_box_event (GtkCellArea *area, GtkCellAreaIter *iter, @@ -887,6 +978,53 @@ gtk_cell_area_box_event (GtkCellArea *area, * observe the orientation and push focus along to the next cell * or signal that focus should leave the area. */ + if (event->type == GDK_KEY_PRESS && (flags & GTK_CELL_RENDERER_FOCUSED) != 0) + { + GdkEventKey *key_event = (GdkEventKey *)event; + GtkCellRenderer *focus_cell; + + focus_cell = gtk_cell_area_get_focus_cell (area); + + if (focus_cell) + { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkDirectionType direction = GTK_DIR_TAB_FORWARD; + gboolean have_direction = FALSE; + + /* Check modifiers and TAB keys ! */ + switch (key_event->keyval) + { + case GDK_KEY_KP_Up: + case GDK_KEY_Up: + direction = GTK_DIR_UP; + have_direction = TRUE; + break; + case GDK_KEY_KP_Down: + case GDK_KEY_Down: + direction = GTK_DIR_DOWN; + have_direction = TRUE; + break; + case GDK_KEY_KP_Left: + case GDK_KEY_Left: + direction = GTK_DIR_LEFT; + have_direction = TRUE; + break; + case GDK_KEY_KP_Right: + case GDK_KEY_Right: + direction = GTK_DIR_RIGHT; + have_direction = TRUE; + break; + default: + break; + } + + if (have_direction) + { + gtk_cell_area_cycle_focus (box, focus_cell, direction); + return TRUE; + } + } + } /* Also detect mouse events, for mouse events we need to allocate the renderers * and find which renderer needs to be activated. From 92b9f432dd26043589070761baddfc654145d775 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 8 Nov 2010 17:43:27 +0900 Subject: [PATCH 0178/1463] Fixed initial bugs in GtkCellArea implementation, starting to render Tested all of this with some scaffolding code, test case comming soon. --- gtk/gtkcellareabox.c | 24 ++++++++++++++++++------ gtk/gtkcellareaboxiter.c | 26 ++++++++++++++++---------- gtk/gtkcellareaiter.c | 8 +++----- 3 files changed, 37 insertions(+), 21 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 3cee4cb3ec..a935c7bfc5 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -402,6 +402,7 @@ cell_groups_rebuild (GtkCellAreaBox *box) { GtkCellAreaBoxPrivate *priv = box->priv; CellGroup group = { 0, }; + CellGroup *group_ptr; GList *cells, *l; guint id = 0; @@ -414,6 +415,7 @@ cell_groups_rebuild (GtkCellAreaBox *box) /* First group is implied */ g_array_append_val (priv->groups, group); + group_ptr = &g_array_index (priv->groups, CellGroup, id); for (l = cells; l; l = l->next) { @@ -426,21 +428,22 @@ cell_groups_rebuild (GtkCellAreaBox *box) group.id = ++id; g_array_append_val (priv->groups, group); + group_ptr = &g_array_index (priv->groups, CellGroup, id); } - group.cells = g_list_prepend (group.cells, info); - group.n_cells++; + group_ptr->cells = g_list_prepend (group_ptr->cells, info); + group_ptr->n_cells++; /* A group expands if it contains any expand cells */ if (info->expand) - group.expand_cells++; + group_ptr->expand_cells++; } g_list_free (cells); for (id = 0; id < priv->groups->len; id++) { - CellGroup *group_ptr = &g_array_index (priv->groups, CellGroup, id); + group_ptr = &g_array_index (priv->groups, CellGroup, id); group_ptr->cells = g_list_reverse (group_ptr->cells); } @@ -583,6 +586,8 @@ get_allocated_cells (GtkCellAreaBox *box, return NULL; } + g_print ("Allocating cells for rendering, group allocs %d\n", n_allocs); + for (i = 0; i < n_allocs; i++) { /* We dont always allocate all groups, sometimes the requested group has only invisible @@ -1054,6 +1059,9 @@ gtk_cell_area_box_render (GtkCellArea *area, * of alignments and pack order etc. */ allocated_cells = get_allocated_cells (box, box_iter, widget); + g_print ("Rendering an area with allocated cells %d\n", + g_slist_length (allocated_cells)); + for (l = allocated_cells; l; l = l->next) { AllocatedCell *cell = l->data; @@ -1075,6 +1083,9 @@ gtk_cell_area_box_render (GtkCellArea *area, /* XXX We have to do some per-cell considerations for the 'flags' * for focus handling */ + g_print ("Rendering a cell at x: %d y: %d width %d height %d\n", + inner_area.x, inner_area.y, inner_area.width, inner_area.height); + gtk_cell_renderer_render (cell->renderer, cr, widget, &background_area, &inner_area, flags); @@ -1200,7 +1211,8 @@ gtk_cell_area_box_create_iter (GtkCellArea *area) GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaIter *iter = - (GtkCellAreaIter *)g_object_new (GTK_TYPE_CELL_AREA_BOX_ITER, NULL); + (GtkCellAreaIter *)g_object_new (GTK_TYPE_CELL_AREA_BOX_ITER, + "area", area, NULL); priv->iters = g_slist_prepend (priv->iters, iter); @@ -1251,7 +1263,7 @@ compute_size (GtkCellAreaBox *box, gint renderer_min_size, renderer_nat_size; if (!gtk_cell_renderer_get_visible (info->renderer)) - continue; + continue; gtk_cell_area_request_renderer (area, info->renderer, orientation, widget, for_size, &renderer_min_size, &renderer_nat_size); diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index 3bfa77ec97..03e492cfcd 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -175,7 +175,7 @@ gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) size->nat_size = 0; } - GTK_CELL_AREA_ITER_GET_CLASS + GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->flush_preferred_width (iter); } @@ -192,7 +192,7 @@ gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, else g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - GTK_CELL_AREA_ITER_GET_CLASS + GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->flush_preferred_height_for_width (iter, width); } @@ -211,7 +211,7 @@ gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) size->nat_size = 0; } - GTK_CELL_AREA_ITER_GET_CLASS + GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->flush_preferred_height (iter); } @@ -228,7 +228,7 @@ gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, else g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - GTK_CELL_AREA_ITER_GET_CLASS + GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->flush_preferred_width_for_height (iter, height); } @@ -479,7 +479,8 @@ static GtkCellAreaBoxAllocation * allocate_for_orientation (GtkCellAreaBoxIter *iter, GtkOrientation orientation, gint spacing, - gint size) + gint size, + gint *n_allocs) { GtkCellAreaBoxIterPrivate *priv = iter->priv; GtkRequestedSize *orientation_sizes; @@ -549,6 +550,9 @@ allocate_for_orientation (GtkCellAreaBoxIter *iter, position += spacing; } + if (n_allocs) + *n_allocs = n_groups; + g_free (orientation_sizes); return allocs; @@ -571,10 +575,11 @@ gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, width); + priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, width, + &priv->n_orientation_allocs); } - GTK_CELL_AREA_ITER_GET_CLASS (iter)->allocate_width (iter, width); + GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->allocate_width (iter, width); } static void @@ -594,10 +599,11 @@ gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, height); + priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, height, + &priv->n_orientation_allocs); } - GTK_CELL_AREA_ITER_GET_CLASS (iter)->allocate_height (iter, height); + GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->allocate_height (iter, height); } /************************************************************* @@ -612,7 +618,7 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxIter *box_iter, gint i; g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); - g_return_if_fail (n_groups > 0 || expand_groups != NULL); + g_return_if_fail (n_groups == 0 || expand_groups != NULL); /* When the group dimensions change, all info must be flushed * Note this already clears the min/nat values on the BaseSizes diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c index 8ec1b3521c..07034c9eeb 100644 --- a/gtk/gtkcellareaiter.c +++ b/gtk/gtkcellareaiter.c @@ -126,22 +126,20 @@ gtk_cell_area_iter_class_init (GtkCellAreaIterClass *class) object_class->get_property = gtk_cell_area_iter_get_property; object_class->set_property = gtk_cell_area_iter_set_property; + /* GtkCellAreaIterClass */ class->flush_preferred_width = gtk_cell_area_iter_real_flush_preferred_width; class->flush_preferred_height_for_width = gtk_cell_area_iter_real_flush_preferred_height_for_width; class->flush_preferred_height = gtk_cell_area_iter_real_flush_preferred_height; class->flush_preferred_width_for_height = gtk_cell_area_iter_real_flush_preferred_width_for_height; class->flush_allocation = gtk_cell_area_iter_real_flush_allocation; - class->allocate_width = gtk_cell_area_iter_real_allocate_width; - class->allocate_height = gtk_cell_area_iter_real_allocate_height; - class->sum_preferred_width = NULL; class->sum_preferred_height_for_width = NULL; class->sum_preferred_height = NULL; class->sum_preferred_width_for_height = NULL; - class->allocate_width = NULL; - class->allocate_height = NULL; + class->allocate_width = gtk_cell_area_iter_real_allocate_width; + class->allocate_height = gtk_cell_area_iter_real_allocate_height; cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED] = g_signal_new (I_("height-changed"), From e5e507e1d4529395e56e58956c4ffeb03ec22b9e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 01:25:45 +0900 Subject: [PATCH 0179/1463] Added GtkCellArea classes to gtk.h and fixed a remainig rendering bug. --- gtk/gtk.h | 3 +++ gtk/gtkcellareabox.c | 10 ---------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/gtk/gtk.h b/gtk/gtk.h index 6e99849a1c..115c6c39e4 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -52,6 +52,9 @@ #include #include #include +#include +#include +#include #include #include #include diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a935c7bfc5..21f84b1dab 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -586,8 +586,6 @@ get_allocated_cells (GtkCellAreaBox *box, return NULL; } - g_print ("Allocating cells for rendering, group allocs %d\n", n_allocs); - for (i = 0; i < n_allocs; i++) { /* We dont always allocate all groups, sometimes the requested group has only invisible @@ -679,8 +677,6 @@ get_allocated_cells (GtkCellAreaBox *box, position += sizes[j].minimum_size; position += priv->spacing; - - j++; } g_free (sizes); @@ -1059,9 +1055,6 @@ gtk_cell_area_box_render (GtkCellArea *area, * of alignments and pack order etc. */ allocated_cells = get_allocated_cells (box, box_iter, widget); - g_print ("Rendering an area with allocated cells %d\n", - g_slist_length (allocated_cells)); - for (l = allocated_cells; l; l = l->next) { AllocatedCell *cell = l->data; @@ -1083,9 +1076,6 @@ gtk_cell_area_box_render (GtkCellArea *area, /* XXX We have to do some per-cell considerations for the 'flags' * for focus handling */ - g_print ("Rendering a cell at x: %d y: %d width %d height %d\n", - inner_area.x, inner_area.y, inner_area.width, inner_area.height); - gtk_cell_renderer_render (cell->renderer, cr, widget, &background_area, &inner_area, flags); From 85d6aa1627c780d42b458893ffdb311c62dbd703 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 01:26:38 +0900 Subject: [PATCH 0180/1463] Added test and scaffolding widget for GtkCellArea. --- tests/Makefile.am | 10 +- tests/cellareascaffold.c | 623 +++++++++++++++++++++++++++++++++++++++ tests/testcellarea.c | 125 ++++++++ 3 files changed, 757 insertions(+), 1 deletion(-) create mode 100644 tests/cellareascaffold.c create mode 100644 tests/testcellarea.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 83b70a527e..78151044d7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -95,7 +95,8 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testexpand \ testexpander \ testvolumebutton \ - testscrolledwindow + testscrolledwindow \ + testcellarea if USE_X11 noinst_PROGRAMS += testerrors @@ -181,6 +182,7 @@ testgrouping_DEPENDENCIES = $(TEST_DEPS) testtooltips_DEPENDENCIES = $(TEST_DEPS) testvolumebutton_DEPENDENCIES = $(TEST_DEPS) testscrolledwindow_DEPENDENCIES = $(TEST_DEPS) +testcellarea_DEPENDENCIES = $(TEST_DEPS) testwindows_DEPENDENCIES = $(TEST_DEPS) testexpand_DEPENDENCIES = $(TEST_DEPS) testexpander_DEPENDENCIES = $(TEST_DEPS) @@ -255,6 +257,7 @@ testgrouping_LDADD = $(LDADDS) testtooltips_LDADD = $(LDADDS) testvolumebutton_LDADD = $(LDADDS) testscrolledwindow_LDADD = $(LDADDS) +testcellarea_LDADD = $(LDADDS) testwindows_LDADD = $(LDADDS) testexpand_LDADD = $(LDADDS) testexpander_LDADD = $(LDADDS) @@ -367,6 +370,11 @@ testvolumebutton_SOURCES = \ testscrolledwindow_SOURCES = \ testscrolledwindow.c +testcellarea_SOURCES = \ + testcellarea.c \ + cellareascaffold.c \ + cellareascaffold.h + testoffscreen_SOURCES = \ gtkoffscreenbox.c \ gtkoffscreenbox.h \ diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c new file mode 100644 index 0000000000..b199d7cf6e --- /dev/null +++ b/tests/cellareascaffold.c @@ -0,0 +1,623 @@ +/* cellareascaffold.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include +#include "cellareascaffold.h" + +/* GObjectClass */ +static void cell_area_scaffold_finalize (GObject *object); +static void cell_area_scaffold_dispose (GObject *object); +static void cell_area_scaffold_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void cell_area_scaffold_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +/* GtkWidgetClass */ +static gboolean cell_area_scaffold_draw (GtkWidget *widget, + cairo_t *cr); +static void cell_area_scaffold_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static void cell_area_scaffold_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void cell_area_scaffold_get_preferred_height_for_width (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); +static void cell_area_scaffold_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); + + + +typedef struct { + gint size; /* The size of the row in the scaffold's opposing orientation */ +} RowData; + +struct _CellAreaScaffoldPrivate { + + /* The model we're showing data for */ + GtkTreeModel *model; + + /* The area rendering the data and a global iter */ + GtkCellArea *area; + GtkCellAreaIter *iter; + + /* Cache some info about rows (hieghts etc) */ + GArray *row_data; +}; + + +#define ROW_SPACING 2 + +enum { + PROP_0, + PROP_ORIENTATION +}; + +G_DEFINE_TYPE_WITH_CODE (CellAreaScaffold, cell_area_scaffold, GTK_TYPE_WIDGET, + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); + + +static void +cell_area_scaffold_init (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv; + + scaffold->priv = G_TYPE_INSTANCE_GET_PRIVATE (scaffold, + TYPE_CELL_AREA_SCAFFOLD, + CellAreaScaffoldPrivate); + priv = scaffold->priv; + + priv->area = gtk_cell_area_box_new (); + priv->iter = gtk_cell_area_create_iter (priv->area); + + priv->row_data = g_array_new (FALSE, FALSE, sizeof (RowData)); + + gtk_widget_set_has_window (GTK_WIDGET (scaffold), FALSE); +} + +static void +cell_area_scaffold_class_init (CellAreaScaffoldClass *class) +{ + GObjectClass *gobject_class; + GtkWidgetClass *widget_class; + + gobject_class = G_OBJECT_CLASS(class); + gobject_class->dispose = cell_area_scaffold_dispose; + gobject_class->finalize = cell_area_scaffold_finalize; + gobject_class->get_property = cell_area_scaffold_get_property; + gobject_class->set_property = cell_area_scaffold_set_property; + + widget_class = GTK_WIDGET_CLASS(class); + widget_class->draw = cell_area_scaffold_draw; + widget_class->size_allocate = cell_area_scaffold_size_allocate; + widget_class->get_preferred_width = cell_area_scaffold_get_preferred_width; + widget_class->get_preferred_height_for_width = cell_area_scaffold_get_preferred_height_for_width; + widget_class->get_preferred_height = cell_area_scaffold_get_preferred_height; + widget_class->get_preferred_width_for_height = cell_area_scaffold_get_preferred_width_for_height; + + g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); + + g_type_class_add_private (gobject_class, sizeof (CellAreaScaffoldPrivate)); +} + +/********************************************************* + * GObjectClass * + *********************************************************/ +static void +cell_area_scaffold_finalize (GObject *object) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (object); + CellAreaScaffoldPrivate *priv; + + priv = scaffold->priv; + + g_array_free (priv->row_data, TRUE); + + G_OBJECT_CLASS (cell_area_scaffold_parent_class)->finalize (object); +} + +static void +cell_area_scaffold_dispose (GObject *object) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (object); + CellAreaScaffoldPrivate *priv; + + priv = scaffold->priv; + + cell_area_scaffold_set_model (scaffold, NULL); + + if (priv->iter) + { + g_object_unref (priv->iter); + priv->iter = NULL; + } + + if (priv->area) + { + g_object_unref (priv->area); + priv->area = NULL; + } + + G_OBJECT_CLASS (cell_area_scaffold_parent_class)->dispose (object); +} + +static void +cell_area_scaffold_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (object); + CellAreaScaffoldPrivate *priv; + + priv = scaffold->priv; + + switch (prop_id) + { + case PROP_ORIENTATION: + gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->area), + g_value_get_enum (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +cell_area_scaffold_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (object); + CellAreaScaffoldPrivate *priv; + + priv = scaffold->priv; + + switch (prop_id) + { + case PROP_ORIENTATION: + g_value_set_enum (value, + gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area))); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + +/********************************************************* + * GtkWidgetClass * + *********************************************************/ +static gboolean +cell_area_scaffold_draw (GtkWidget *widget, + cairo_t *cr) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkOrientation orientation; + GtkTreeIter iter; + gboolean valid; + GdkRectangle render_area; + GtkAllocation allocation; + gint i = 0; + + if (!priv->model) + return FALSE; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + gtk_widget_get_allocation (widget, &allocation); + + render_area.x = 0; + render_area.y = 0; + render_area.width = allocation.width; + render_area.height = allocation.height; + + valid = gtk_tree_model_get_iter_first (priv->model, &iter); + while (valid) + { + RowData *data = &g_array_index (priv->row_data, RowData, i); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + render_area.height = data->size; + } + else + { + render_area.width = data->size; + } + + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + gtk_cell_area_render (priv->area, priv->iter, widget, cr, &render_area, 0); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + render_area.y += data->size; + render_area.y += ROW_SPACING; + } + else + { + render_area.x += data->size; + render_area.x += ROW_SPACING; + } + + i++; + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + + return FALSE; +} + +static void +request_all_base (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkWidget *widget = GTK_WIDGET (scaffold); + GtkOrientation orientation; + GtkTreeIter iter; + gboolean valid; + + if (!priv->model) + return; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + valid = gtk_tree_model_get_iter_first (priv->model, &iter); + while (valid) + { + gint min, nat; + + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_get_preferred_width (priv->area, priv->iter, widget, &min, &nat); + else + gtk_cell_area_get_preferred_height (priv->area, priv->iter, widget, &min, &nat); + + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_iter_sum_preferred_width (priv->iter); + else + gtk_cell_area_iter_sum_preferred_height (priv->iter); +} + +static void +get_row_sizes (CellAreaScaffold *scaffold, + GArray *array, + gint for_size) +{ + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkWidget *widget = GTK_WIDGET (scaffold); + GtkOrientation orientation; + GtkTreeIter iter; + gboolean valid; + gint i = 0; + + if (!priv->model) + return; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + valid = gtk_tree_model_get_iter_first (priv->model, &iter); + while (valid) + { + RowData *data = &g_array_index (array, RowData, i); + + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_get_preferred_height_for_width (priv->area, priv->iter, widget, + for_size, &data->size, NULL); + else + gtk_cell_area_get_preferred_width_for_height (priv->area, priv->iter, widget, + for_size, &data->size, NULL); + + i++; + valid = gtk_tree_model_iter_next (priv->model, &iter); + } +} + +static void +cell_area_scaffold_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkOrientation orientation; + + if (!priv->model) + return; + + gtk_widget_set_allocation (widget, allocation); + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + /* Cache the per-row sizes and allocate the iter */ + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + get_row_sizes (scaffold, priv->row_data, allocation->width); + gtk_cell_area_iter_allocate_width (priv->iter, allocation->width); + } + else + { + get_row_sizes (scaffold, priv->row_data, allocation->height); + gtk_cell_area_iter_allocate_height (priv->iter, allocation->height); + } +} + + +static void +cell_area_scaffold_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkOrientation orientation; + + if (!priv->model) + return; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + request_all_base (scaffold); + + gtk_cell_area_iter_get_preferred_width (priv->iter, minimum_size, natural_size); + } + else + { + gint min_size, nat_size; + + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height (widget, &min_size, &nat_size); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width_for_height (widget, min_size, + minimum_size, natural_size); + } +} + +static void +cell_area_scaffold_get_preferred_height_for_width (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkOrientation orientation; + + if (!priv->model) + return; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + GArray *request_array; + gint n_rows, i, full_size = 0; + + n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); + + /* Get an array for the contextual request */ + request_array = g_array_new (FALSE, FALSE, sizeof (RowData)); + g_array_set_size (request_array, n_rows); + memset (request_array->data, 0x0, n_rows * sizeof (RowData)); + + /* Gather each contextual size into the request array */ + get_row_sizes (scaffold, request_array, for_size); + + /* Sum up the size and add some row spacing */ + for (i = 0; i < n_rows; i++) + { + RowData *data = &g_array_index (request_array, RowData, i); + + full_size += data->size; + } + + full_size += MAX (0, n_rows -1) * ROW_SPACING; + + g_array_free (request_array, TRUE); + + *minimum_size = full_size; + *natural_size = full_size; + } + else + { + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height (widget, minimum_size, natural_size); + } +} + +static void +cell_area_scaffold_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkOrientation orientation; + + if (!priv->model) + return; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + request_all_base (scaffold); + + gtk_cell_area_iter_get_preferred_height (priv->iter, minimum_size, natural_size); + } + else + { + gint min_size, nat_size; + + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_size, &nat_size); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_size, + minimum_size, natural_size); + } +} + +static void +cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkOrientation orientation; + + if (!priv->model) + return; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + GArray *request_array; + gint n_rows, i, full_size = 0; + + n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); + + /* Get an array for the contextual request */ + request_array = g_array_new (FALSE, FALSE, sizeof (RowData)); + g_array_set_size (request_array, n_rows); + memset (request_array->data, 0x0, n_rows * sizeof (RowData)); + + /* Gather each contextual size into the request array */ + get_row_sizes (scaffold, request_array, for_size); + + /* Sum up the size and add some row spacing */ + for (i = 0; i < n_rows; i++) + { + RowData *data = &g_array_index (request_array, RowData, i); + + full_size += data->size; + } + + full_size += MAX (0, n_rows -1) * ROW_SPACING; + + g_array_free (request_array, TRUE); + + *minimum_size = full_size; + *natural_size = full_size; + } + else + { + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); + } +} + + + +/********************************************************* + * API * + *********************************************************/ +GtkWidget * +cell_area_scaffold_new (void) +{ + return (GtkWidget *)g_object_new (TYPE_CELL_AREA_SCAFFOLD, NULL); +} + +GtkCellArea * +cell_area_scaffold_get_area (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv; + + g_return_val_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold), NULL); + + priv = scaffold->priv; + + return priv->area; +} + +void +cell_area_scaffold_set_model (CellAreaScaffold *scaffold, + GtkTreeModel *model) +{ + CellAreaScaffoldPrivate *priv; + + g_return_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold)); + + priv = scaffold->priv; + + if (priv->model != model) + { + if (priv->model) + { + /* XXX disconnect signals */ + g_object_unref (priv->model); + } + + priv->model = model; + + if (priv->model) + { + gint n_rows; + + /* XXX connect signals */ + g_object_ref (priv->model); + + n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); + + /* Clear/reset the array */ + g_array_set_size (priv->row_data, n_rows); + memset (priv->row_data->data, 0x0, n_rows * sizeof (RowData)); + } + else + { + g_array_set_size (priv->row_data, 0); + } + + gtk_cell_area_iter_flush (priv->iter); + + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); + } +} + +GtkTreeModel * +cell_area_scaffold_get_model (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv; + + g_return_val_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold), NULL); + + priv = scaffold->priv; + + return priv->model; +} diff --git a/tests/testcellarea.c b/tests/testcellarea.c new file mode 100644 index 0000000000..688dbab341 --- /dev/null +++ b/tests/testcellarea.c @@ -0,0 +1,125 @@ +#include +#include "cellareascaffold.h" + +enum { + SIMPLE_COLUMN_NAME, + SIMPLE_COLUMN_ICON, + SIMPLE_COLUMN_DESCRIPTION, + N_SIMPLE_COLUMNS +}; + +static GtkTreeModel * +simple_list_model (void) +{ + GtkTreeIter iter; + GtkListStore *store = + gtk_list_store_new (N_SIMPLE_COLUMNS, + G_TYPE_STRING, /* name text */ + G_TYPE_STRING, /* icon name */ + G_TYPE_STRING); /* description text */ + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Alice in wonderland", + SIMPLE_COLUMN_ICON, "gtk-execute", + SIMPLE_COLUMN_DESCRIPTION, "One pill makes you smaller and the other pill makes you tall", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Highschool Principal", + SIMPLE_COLUMN_ICON, "gtk-help", + SIMPLE_COLUMN_DESCRIPTION, + "Will make you copy the dictionary if you dont like your math teacher", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Marry Poppins", + SIMPLE_COLUMN_ICON, "gtk-yes", + SIMPLE_COLUMN_DESCRIPTION, "Supercalifragilisticexpialidocious", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "George Bush", + SIMPLE_COLUMN_ICON, "gtk-dialog-warning", + SIMPLE_COLUMN_DESCRIPTION, "Please hide your nuclear weapons when inviting " + "him to dinner", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Whinnie the pooh", + SIMPLE_COLUMN_ICON, "gtk-stop", + SIMPLE_COLUMN_DESCRIPTION, "The most wonderful thing about tiggers, " + "is tiggers are wonderful things", + -1); + + return (GtkTreeModel *)store; +} + +static void +simple_cell_area (void) +{ + GtkWidget *window; + GtkTreeModel *model; + GtkWidget *scaffold, *frame, *label, *box; + GtkCellArea *area; + GtkCellRenderer *renderer; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + scaffold = cell_area_scaffold_new (); + gtk_widget_show (scaffold); + + model = simple_list_model (); + + cell_area_scaffold_set_model (CELL_AREA_SCAFFOLD (scaffold), model); + + area = cell_area_scaffold_get_area (CELL_AREA_SCAFFOLD (scaffold)); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); + gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_NAME); + + renderer = gtk_cell_renderer_pixbuf_new (); + g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_attribute_connect (area, renderer, "stock-id", SIMPLE_COLUMN_ICON); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), + "wrap-mode", PANGO_WRAP_WORD, + "wrap-width", 215, + NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); + + box = gtk_vbox_new (FALSE, 4); + frame = gtk_frame_new (NULL); + label = gtk_label_new ("GtkCellArea below"); + gtk_widget_show (box); + gtk_widget_show (frame); + gtk_widget_show (label); + + gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); + + gtk_container_add (GTK_CONTAINER (frame), scaffold); + gtk_container_add (GTK_CONTAINER (window), box); + + gtk_widget_show (window); +} + +int +main (int argc, char *argv[]) +{ + gtk_init (NULL, NULL); + + simple_cell_area (); + + gtk_main (); + + return 0; +} From 368cded84d2ca03a9cffb4e38a4837f2730758e0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 13:22:44 +0900 Subject: [PATCH 0181/1463] Fixed a bug in GtkCellAreaBoxIter when allocating vertically. --- gtk/gtkcellareaboxiter.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxiter.c index 03e492cfcd..c6dd92f0dc 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxiter.c @@ -491,9 +491,7 @@ allocate_for_orientation (GtkCellAreaBoxIter *iter, gint avail_size = size; orientation_sizes = - gtk_cell_area_box_iter_get_requests (iter, - GTK_ORIENTATION_HORIZONTAL, - &n_groups); + gtk_cell_area_box_iter_get_requests (iter, orientation, &n_groups); /* Count groups that expand */ for (i = 0; i < n_groups; i++) From 2a3ae8da3a7dc3e818f7aa203e411eb323403ea6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 13:23:12 +0900 Subject: [PATCH 0182/1463] Added orientation control on testcellarea test shows vertical orientation of cells lined up horizontally instead of horizontal orientation of cells stacked up vertically. --- tests/cellareascaffold.c | 1 + tests/testcellarea.c | 66 +++++++++++++++++++++++++++++++--------- 2 files changed, 52 insertions(+), 15 deletions(-) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index b199d7cf6e..4805a2832d 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -187,6 +187,7 @@ cell_area_scaffold_set_property (GObject *object, case PROP_ORIENTATION: gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->area), g_value_get_enum (value)); + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 688dbab341..1425020382 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -59,17 +59,14 @@ simple_list_model (void) return (GtkTreeModel *)store; } -static void -simple_cell_area (void) +static GtkWidget * +simple_scaffold (void) { - GtkWidget *window; GtkTreeModel *model; - GtkWidget *scaffold, *frame, *label, *box; + GtkWidget *scaffold; GtkCellArea *area; GtkCellRenderer *renderer; - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - scaffold = cell_area_scaffold_new (); gtk_widget_show (scaffold); @@ -96,18 +93,57 @@ simple_cell_area (void) gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); - box = gtk_vbox_new (FALSE, 4); - frame = gtk_frame_new (NULL); - label = gtk_label_new ("GtkCellArea below"); - gtk_widget_show (box); - gtk_widget_show (frame); - gtk_widget_show (label); + return scaffold; +} - gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (box), frame, FALSE, FALSE, 0); +static void +orientation_changed (GtkComboBox *combo, + CellAreaScaffold *scaffold) +{ + GtkOrientation orientation = gtk_combo_box_get_active (combo); + + gtk_orientable_set_orientation (GTK_ORIENTABLE (scaffold), orientation); +} + +static void +simple_cell_area (void) +{ + GtkWidget *window, *widget; + GtkWidget *scaffold, *frame, *vbox, *hbox; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + scaffold = simple_scaffold (); + + hbox = gtk_hbox_new (FALSE, 4); + frame = gtk_frame_new (NULL); + gtk_widget_show (hbox); + gtk_widget_show (frame); + + gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); + gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); gtk_container_add (GTK_CONTAINER (frame), scaffold); - gtk_container_add (GTK_CONTAINER (window), box); + + gtk_box_pack_end (GTK_BOX (hbox), frame, TRUE, TRUE, 0); + + /* Now add some controls */ + vbox = gtk_vbox_new (FALSE, 4); + gtk_widget_show (vbox); + gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + + widget = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Vertical"); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "changed", + G_CALLBACK (orientation_changed), scaffold); + + + gtk_container_add (GTK_CONTAINER (window), hbox); gtk_widget_show (window); } From c932beef4bce3d5b45d260a0d4677ae225f3075c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 13:50:30 +0900 Subject: [PATCH 0183/1463] Fixing GtkCellAreaBox to rebuild groups when align/expand child properties change. --- gtk/gtkcellareabox.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 21f84b1dab..887b6b34f6 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1098,7 +1098,6 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, GList *node; CellInfo *info; gboolean rebuild = FALSE; - gboolean flush = FALSE; gboolean val; GtkPackType pack_type; @@ -1117,7 +1116,7 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, if (info->expand != val) { info->expand = val; - flush = TRUE; + rebuild = TRUE; } break; @@ -1127,7 +1126,7 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, if (info->align != val) { info->align = val; - flush = TRUE; + rebuild = TRUE; } break; @@ -1147,13 +1146,7 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, /* Groups need to be rebuilt */ if (rebuild) - { - cell_groups_rebuild (box); - } - else if (flush) - { - flush_iters (box); - } + cell_groups_rebuild (box); } static void From e03b280757fba41ab4c1dd671bd39d0e82c8fed2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 13:50:53 +0900 Subject: [PATCH 0184/1463] Adding expand/align controls to testcellarea. --- tests/testcellarea.c | 105 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 101 insertions(+), 4 deletions(-) diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 1425020382..379ff39837 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -8,6 +8,8 @@ enum { N_SIMPLE_COLUMNS }; +static GtkCellRenderer *cell_1 = NULL, *cell_2 = NULL, *cell_3 = NULL; + static GtkTreeModel * simple_list_model (void) { @@ -76,16 +78,16 @@ simple_scaffold (void) area = cell_area_scaffold_get_area (CELL_AREA_SCAFFOLD (scaffold)); - renderer = gtk_cell_renderer_text_new (); + cell_1 = renderer = gtk_cell_renderer_text_new (); gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_NAME); - renderer = gtk_cell_renderer_pixbuf_new (); + cell_2 = renderer = gtk_cell_renderer_pixbuf_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "stock-id", SIMPLE_COLUMN_ICON); - renderer = gtk_cell_renderer_text_new (); + cell_3 = renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 215, @@ -105,6 +107,61 @@ orientation_changed (GtkComboBox *combo, gtk_orientable_set_orientation (GTK_ORIENTABLE (scaffold), orientation); } +static void +align_cell_2_toggled (GtkToggleButton *toggle, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gboolean align = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_2, "align", align, NULL); + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + +static void +align_cell_3_toggled (GtkToggleButton *toggle, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gboolean align = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_3, "align", align, NULL); + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + +static void +expand_cell_1_toggled (GtkToggleButton *toggle, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gboolean expand = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_1, "expand", expand, NULL); + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + +static void +expand_cell_2_toggled (GtkToggleButton *toggle, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gboolean expand = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_2, "expand", expand, NULL); + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + +static void +expand_cell_3_toggled (GtkToggleButton *toggle, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gboolean expand = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + static void simple_cell_area (void) { @@ -121,7 +178,7 @@ simple_cell_area (void) gtk_widget_show (frame); gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); - gtk_widget_set_halign (frame, GTK_ALIGN_CENTER); + gtk_widget_set_halign (frame, GTK_ALIGN_FILL); gtk_container_add (GTK_CONTAINER (frame), scaffold); @@ -142,6 +199,46 @@ simple_cell_area (void) g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (orientation_changed), scaffold); + widget = gtk_check_button_new_with_label ("Align 2nd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (align_cell_2_toggled), scaffold); + + widget = gtk_check_button_new_with_label ("Align 3rd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (align_cell_3_toggled), scaffold); + + + widget = gtk_check_button_new_with_label ("Expand 1st Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (expand_cell_1_toggled), scaffold); + + widget = gtk_check_button_new_with_label ("Expand 2nd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (expand_cell_2_toggled), scaffold); + + widget = gtk_check_button_new_with_label ("Expand 3rd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (expand_cell_3_toggled), scaffold); gtk_container_add (GTK_CONTAINER (window), hbox); From f85938a2112df8af9ce17423203117ecfc717f30 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 9 Nov 2010 14:09:47 +0900 Subject: [PATCH 0185/1463] Changed testcellarea Changed testcellarea to watch the iter for size changes and queue resizes instead of explicitly queueing resizes when controls change. --- tests/cellareascaffold.c | 29 ++++++++++++++++++++++++++--- tests/testcellarea.c | 5 ----- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 4805a2832d..0da496d6ee 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -73,6 +73,8 @@ struct _CellAreaScaffoldPrivate { /* Cache some info about rows (hieghts etc) */ GArray *row_data; + + gulong size_changed_id; }; @@ -87,6 +89,18 @@ G_DEFINE_TYPE_WITH_CODE (CellAreaScaffold, cell_area_scaffold, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); +static void +size_changed_cb (GtkCellAreaIter *iter, + GParamSpec *pspec, + CellAreaScaffold *scaffold) +{ + if (!strcmp (pspec->name, "minimum-width") || + !strcmp (pspec->name, "natural-width") || + !strcmp (pspec->name, "minimum-height") || + !strcmp (pspec->name, "natural-height")) + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + static void cell_area_scaffold_init (CellAreaScaffold *scaffold) { @@ -100,6 +114,10 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) priv->area = gtk_cell_area_box_new (); priv->iter = gtk_cell_area_create_iter (priv->area); + priv->size_changed_id = + g_signal_connect (priv->iter, "notify", + G_CALLBACK (size_changed_cb), scaffold); + priv->row_data = g_array_new (FALSE, FALSE, sizeof (RowData)); gtk_widget_set_has_window (GTK_WIDGET (scaffold), FALSE); @@ -158,8 +176,12 @@ cell_area_scaffold_dispose (GObject *object) if (priv->iter) { + /* Disconnect signals */ + g_signal_handler_disconnect (priv->iter, priv->size_changed_id); + g_object_unref (priv->iter); priv->iter = NULL; + priv->size_changed_id = 0; } if (priv->area) @@ -187,7 +209,6 @@ cell_area_scaffold_set_property (GObject *object, case PROP_ORIENTATION: gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->area), g_value_get_enum (value)); - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -294,6 +315,8 @@ request_all_base (CellAreaScaffold *scaffold) if (!priv->model) return; + g_signal_handler_block (priv->iter, priv->size_changed_id); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); valid = gtk_tree_model_get_iter_first (priv->model, &iter); @@ -315,6 +338,8 @@ request_all_base (CellAreaScaffold *scaffold) gtk_cell_area_iter_sum_preferred_width (priv->iter); else gtk_cell_area_iter_sum_preferred_height (priv->iter); + + g_signal_handler_unblock (priv->iter, priv->size_changed_id); } static void @@ -606,8 +631,6 @@ cell_area_scaffold_set_model (CellAreaScaffold *scaffold, } gtk_cell_area_iter_flush (priv->iter); - - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } } diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 379ff39837..015be304fa 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -115,7 +115,6 @@ align_cell_2_toggled (GtkToggleButton *toggle, gboolean align = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_2, "align", align, NULL); - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } static void @@ -126,7 +125,6 @@ align_cell_3_toggled (GtkToggleButton *toggle, gboolean align = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_3, "align", align, NULL); - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } static void @@ -137,7 +135,6 @@ expand_cell_1_toggled (GtkToggleButton *toggle, gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_1, "expand", expand, NULL); - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } static void @@ -148,7 +145,6 @@ expand_cell_2_toggled (GtkToggleButton *toggle, gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_2, "expand", expand, NULL); - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } static void @@ -159,7 +155,6 @@ expand_cell_3_toggled (GtkToggleButton *toggle, gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } static void From 312fd9efc0ea505e3e25bd2493390c495a4202d7 Mon Sep 17 00:00:00 2001 From: Patrick Bernaud Date: Mon, 8 Nov 2010 18:36:38 +0100 Subject: [PATCH 0186/1463] docs: Move documentation to inline comments: GtkPageSetup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634340 Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkpagesetup.sgml | 320 ---------------------- gtk/gtkpagesetup.c | 52 ++++ 3 files changed, 53 insertions(+), 320 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkpagesetup.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 5fa9fd4463..5ac6dc17a5 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -30,6 +30,7 @@ gtkmessagedialog.sgml gtknotebook.sgml gtkobject.sgml gtkorientable.sgml +gtkpagesetup.sgml gtkpagesetupunixdialog.sgml gtkpapersize.sgml gtkprinter.sgml diff --git a/docs/reference/gtk/tmpl/gtkpagesetup.sgml b/docs/reference/gtk/tmpl/gtkpagesetup.sgml deleted file mode 100644 index cac99e1421..0000000000 --- a/docs/reference/gtk/tmpl/gtkpagesetup.sgml +++ /dev/null @@ -1,320 +0,0 @@ - -GtkPageSetup - - -Stores page setup information - - - -A GtkPageSetup object stores the page size, orientation and margins. -The idea is that you can get one of these from the page setup dialog -and then pass it to the #GtkPrintOperation when printing. -The benefit of splitting this out of the #GtkPrintSettings is that -these affect the actual layout of the page, and thus need to be set -long before user prints. - - -The margins specified in this object are the "print margins", i.e. the -parts of the page that the printer cannot print on. These are different -from the layout margins that a word processor uses; they are typically -used to determine the minimal size for the layout -margins. - - -To obtain a #GtkPageSetup use gtk_page_setup_new() -to get the defaults, or use gtk_print_run_page_setup_dialog() to show -the page setup dialog and receive the resulting page setup. - - -A page setup dialog - -static GtkPrintSettings *settings = NULL; -static GtkPageSetup *page_setup = NULL; - -static void -do_page_setup (void) -{ - GtkPageSetup *new_page_setup; - - if (settings == NULL) - settings = gtk_print_settings_new (); - - new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window), - page_setup, settings); - - if (page_setup) - g_object_unref (page_setup); - - page_setup = new_page_setup; -} - - - -Printing support was added in GTK+ 2.10. - - - - - - - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@other: -@Returns: - - - - - - - -@setup: -@Returns: - - - - - - - -@setup: -@orientation: - - - - - - - -@setup: -@Returns: - - - - - - - -@setup: -@size: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@margin: -@unit: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@margin: -@unit: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@margin: -@unit: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@margin: -@unit: - - - - - - - -@setup: -@size: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@setup: -@unit: -@Returns: - - - - - - - -@file_name: -@error: -@Returns: - - - - - - - -@key_file: -@group_name: -@error: -@Returns: - - - - - - - -@setup: -@file_name: -@error: -@Returns: - - - - - - - -@setup: -@key_file: -@group_name: -@error: -@Returns: - - - - - - - -@setup: -@file_name: -@error: -@Returns: - - - - - - - -@setup: -@key_file: -@group_name: - - diff --git a/gtk/gtkpagesetup.c b/gtk/gtkpagesetup.c index 8c56a69d25..a00177efd6 100644 --- a/gtk/gtkpagesetup.c +++ b/gtk/gtkpagesetup.c @@ -26,6 +26,58 @@ #include "gtkintl.h" #include "gtktypebuiltins.h" +/** + * SECTION:gtkpagesetup + * @Short_description: Stores page setup information + * @Title: GtkPageSetup + * + * A GtkPageSetup object stores the page size, orientation and margins. + * The idea is that you can get one of these from the page setup dialog + * and then pass it to the #GtkPrintOperation when printing. + * The benefit of splitting this out of the #GtkPrintSettings is that + * these affect the actual layout of the page, and thus need to be set + * long before user prints. + * + * + * The margins specified in this object are the "print margins", i.e. the + * parts of the page that the printer cannot print on. These are different + * from the layout margins that a word processor uses; they are typically + * used to determine the minimal size for the layout + * margins. + * + * + * To obtain a #GtkPageSetup use gtk_page_setup_new() to get the defaults, + * or use gtk_print_run_page_setup_dialog() to show the page setup dialog + * and receive the resulting page setup. + * + * + * A page setup dialog + * + * static GtkPrintSettings *settings = NULL; + * static GtkPageSetup *page_setup = NULL; + * + * static void + * do_page_setup (void) + * { + * GtkPageSetup *new_page_setup; + * + * if (settings == NULL) + * settings = gtk_print_settings_new (); + * + * new_page_setup = gtk_print_run_page_setup_dialog (GTK_WINDOW (main_window), + * page_setup, settings); + * + * if (page_setup) + * g_object_unref (page_setup); + * + * page_setup = new_page_setup; + * } + * + * + * + * Printing support was added in GTK+ 2.10. + */ + #define KEYFILE_GROUP_NAME "Page Setup" typedef struct _GtkPageSetupClass GtkPageSetupClass; From a00a0fb20940c4e97e3f31b7c724c66b5ddcb180 Mon Sep 17 00:00:00 2001 From: Patrick Bernaud Date: Mon, 8 Nov 2010 18:36:39 +0100 Subject: [PATCH 0187/1463] docs: Move documentation to inline comments: GtkProgressBar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634339 Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkprogressbar.sgml | 241 -------------------- gtk/gtkprogressbar.c | 35 +++ 3 files changed, 36 insertions(+), 241 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkprogressbar.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 5ac6dc17a5..c1f7037e33 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -34,6 +34,7 @@ gtkpagesetup.sgml gtkpagesetupunixdialog.sgml gtkpapersize.sgml gtkprinter.sgml +gtkprogressbar.sgml gtkradioaction.sgml gtkradiobutton.sgml gtkrange.sgml diff --git a/docs/reference/gtk/tmpl/gtkprogressbar.sgml b/docs/reference/gtk/tmpl/gtkprogressbar.sgml deleted file mode 100644 index 8d36f5908a..0000000000 --- a/docs/reference/gtk/tmpl/gtkprogressbar.sgml +++ /dev/null @@ -1,241 +0,0 @@ - -GtkProgressBar - - -A widget which indicates progress visually - - - -The #GtkProgressBar is typically used to display the progress of a long -running operation. It provides a visual clue that processing -is underway. The #GtkProgressBar can be used in two different -modes: percentage mode and activity mode. - - - -When an application can determine how much work needs to take place -(e.g. read a fixed number of bytes from a file) and can monitor its -progress, it can use the #GtkProgressBar in percentage mode and the user -sees a growing bar indicating the percentage of the work that has -been completed. In this mode, the application is required to call -gtk_progress_bar_set_fraction() periodically to update the progress bar. - - - -When an application has no accurate way of knowing the amount of work -to do, it can use the #GtkProgressBar in activity mode, which shows activity -by a block moving back and forth within the progress area. In this mode, -the application is required to call gtk_progress_bar_pulse() perodically -to update the progress bar. - - - -There is quite a bit of flexibility provided to control the appearance -of the #GtkProgressBar. Functions are provided to control the -orientation of the bar, optional text can be displayed along with -the bar, and the step size used in activity mode can be set. - - - - - - - - - - - - - - - -The #GtkProgressBar-struct struct contains private data only, -and should be accessed using the functions below. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Creates a new #GtkProgressBar. - - -@void: -@Returns: a #GtkProgressBar. - - - - - - - -@pbar: - - - - - - - -@pbar: -@fraction: - - - - - - - -@pbar: -@Returns: - - - - - - - -@pbar: -@inverted: - - - - - - - -@pbar: -@Returns: - - - - - - - -@pbar: -@show_text: - - - - - - - -@pbar: -@Returns: - - - - - - - -@pbar: -@text: - - - - - - - -@pbar: -@Returns: - - - - - - - -@pbar: -@mode: - - - - - - - -@pbar: -@Returns: - - - - - - - -@pbar: -@fraction: - - - - - - - -@pbar: -@Returns: - - diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 1caac5df21..9cca76b328 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -33,6 +33,34 @@ #include "gtkprivate.h" #include "gtkintl.h" +/** + * SECTION:gtkprogressbar + * @Short_description: A widget which indicates progress visually + * @Title: GtkProgressBar + * + * The #GtkProgressBar is typically used to display the progress of a long + * running operation. It provides a visual clue that processing + * is underway. The #GtkProgressBar can be used in two different + * modes: percentage mode and activity mode. + * + * When an application can determine how much work needs to take place + * (e.g. read a fixed number of bytes from a file) and can monitor its + * progress, it can use the #GtkProgressBar in percentage mode and the user + * sees a growing bar indicating the percentage of the work that has + * been completed. In this mode, the application is required to call + * gtk_progress_bar_set_fraction() periodically to update the progress bar. + * + * When an application has no accurate way of knowing the amount of work + * to do, it can use the #GtkProgressBar in activity mode, which shows + * activity by a block moving back and forth within the progress area. In + * this mode, the application is required to call gtk_progress_bar_pulse() + * periodically to update the progress bar. + * + * There is quite a bit of flexibility provided to control the appearance + * of the #GtkProgressBar. Functions are provided to control the + * orientation of the bar, optional text can be displayed along with + * the bar, and the step size used in activity mode can be set. + */ #define MIN_HORIZONTAL_BAR_WIDTH 150 #define MIN_HORIZONTAL_BAR_HEIGHT 20 @@ -356,6 +384,13 @@ gtk_progress_bar_get_property (GObject *object, } } +/** + * gtk_progress_bar_new: + * + * Creates a new #GtkProgressBar. + * + * Returns: a #GtkProgressBar. + */ GtkWidget* gtk_progress_bar_new (void) { From 8eb71819796899285c1d358cacf3e48ee242f4c7 Mon Sep 17 00:00:00 2001 From: Patrick Bernaud Date: Mon, 8 Nov 2010 18:36:39 +0100 Subject: [PATCH 0188/1463] docs: Move documentation to inline comments: GtkPaned MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes https://bugzilla.gnome.org/show_bug.cgi?id=634338 Signed-off-by: Javier Jardón --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkpaned.sgml | 272 -------------------------- gtk/gtkpaned.c | 86 ++++++++ 3 files changed, 87 insertions(+), 272 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkpaned.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index c1f7037e33..24771fefd3 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -32,6 +32,7 @@ gtkobject.sgml gtkorientable.sgml gtkpagesetup.sgml gtkpagesetupunixdialog.sgml +gtkpaned.sgml gtkpapersize.sgml gtkprinter.sgml gtkprogressbar.sgml diff --git a/docs/reference/gtk/tmpl/gtkpaned.sgml b/docs/reference/gtk/tmpl/gtkpaned.sgml deleted file mode 100644 index a98c1256b1..0000000000 --- a/docs/reference/gtk/tmpl/gtkpaned.sgml +++ /dev/null @@ -1,272 +0,0 @@ - -GtkPaned - - -Base class for widgets with two adjustable panes - - - -#GtkPaned is the base class for widgets with two panes, -arranged either horizontally (#GtkHPaned) or -vertically (#GtkVPaned). Child widgets are -added to the panes of the widget with -gtk_paned_pack1() and gtk_paned_pack2(). The division -beween the two children is set by default from the -size requests of the children, but it can be adjusted -by the user. - - -A paned widget draws a separator between the two -child widgets and a small handle that the user -can drag to adjust the division. It does not -draw any relief around the children or around -the separator. (The space in which the separator -is called the gutter.) Often, it is useful -to put each child inside a #GtkFrame with the -shadow type set to %GTK_SHADOW_IN so that the -gutter appears as a ridge. No separator is drawn -if one of the children is missing. - - -Each child has two options that can be set, -@resize and @shrink. If @resize is true, then when the -#GtkPaned is resized, that child will expand -or shrink along with the paned widget. If @shrink -is true, then when that child can be made smaller -than its requisition by the user. Setting @shrink -to %FALSE allows the application to set a minimum -size. If @resize is false for both children, then -this is treated as if @resize is true for both -children. - - -The application can set the position of the slider -as if it were set by the user, by calling -gtk_paned_set_position(). - - - -Creating a paned widget with minimum sizes. - -GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); -GtkWidget *frame1 = gtk_frame_new (NULL); -GtkWidget *frame2 = gtk_frame_new (NULL); -gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); -gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN); - -gtk_widget_set_size_request (hpaned, 200, -1); - -gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE); -gtk_widget_set_size_request (frame1, 50, -1); - -gtk_paned_pack2 (GTK_PANED (hpaned), frame2, FALSE, FALSE); -gtk_widget_set_size_request (frame2, 50, -1); - - - - - - - - - - - - - - - - - - - - - - - - -@paned: the object which received the signal. -@Returns: - - - - - - -@paned: the object which received the signal. -@Returns: - - - - - - -@Returns: -@Param4: -@Returns: - -@paned: the object which received the signal. - - - - - - -@Returns: -@Param4: -@Returns: - -@paned: the object which received the signal. - - - - - - -@Returns: -@Param4: -@Returns: - -@paned: the object which received the signal. - - - - - - -@paned: the object which received the signal. -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@orientation: -@Returns: - - - - -Adds a child to the top or left pane with -default parameters. This is equivalent -to gtk_paned_pack1 (paned, child, FALSE, TRUE). - - -@paned: a paned widget -@child: the child to add - - - - -Adds a child to the bottom or right pane with default -parameters. This is equivalent to -gtk_paned_pack2 (paned, child, TRUE, TRUE). - - -@paned: a paned widget -@child: the child to add - - - - -Adds a child to the top or left pane. - - -@paned: a paned widget -@child: the child to add -@resize: should this child expand when the paned widget is resized. -@shrink: can this child be made smaller than its requisition. - - - - -Adds a child to the bottom or right pane. - - -@paned: a paned widget -@child: the child to add -@resize: should this child expand when the paned widget is resized. -@shrink: can this child be made smaller than its requisition. - - - - - - - -@paned: -@Returns: - - - - - - - -@paned: -@Returns: - - - - - - - -@paned: -@position: - - - - - - - -@paned: -@Returns: - - - - - - - -@paned: -@Returns: - - diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index d608d066af..7c0958f5d8 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -39,6 +39,56 @@ #include "gtkintl.h" +/** + * SECTION:gtkpaned + * @Short_description: Base class for widgets with two adjustable panes + * @Title: GtkPaned + * + * #GtkPaned is the base class for widgets with two panes, arranged either + * horizontally (#GtkHPaned) or vertically (#GtkVPaned). Child widgets are + * added to the panes of the widget with gtk_paned_pack1() and + * gtk_paned_pack2(). The division between the two children is set by default + * from the size requests of the children, but it can be adjusted by the + * user. + * + * A paned widget draws a separator between the two child widgets and a + * small handle that the user can drag to adjust the division. It does not + * draw any relief around the children or around the separator. (The space + * in which the separator is called the gutter.) Often, it is useful to put + * each child inside a #GtkFrame with the shadow type set to %GTK_SHADOW_IN + * so that the gutter appears as a ridge. No separator is drawn if one of + * the children is missing. + * + * Each child has two options that can be set, @resize and @shrink. If + * @resize is true, then when the #GtkPaned is resized, that child will + * expand or shrink along with the paned widget. If @shrink is true, then + * that child can be made smaller than its requisition by the user. + * Setting @shrink to %FALSE allows the application to set a minimum size. + * If @resize is false for both children, then this is treated as if + * @resize is true for both children. + * + * The application can set the position of the slider as if it were set + * by the user, by calling gtk_paned_set_position(). + * + * + * Creating a paned widget with minimum sizes. + * + * GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); + * GtkWidget *frame1 = gtk_frame_new (NULL); + * GtkWidget *frame2 = gtk_frame_new (NULL); + * gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); + * gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN); + * + * gtk_widget_set_size_request (hpaned, 200, -1); + * + * gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE); + * gtk_widget_set_size_request (frame1, 50, -1); + * + * gtk_paned_pack2 (GTK_PANED (hpaned), frame2, FALSE, FALSE); + * gtk_widget_set_size_request (frame2, 50, -1); + * + * + */ struct _GtkPanedPrivate { @@ -1444,6 +1494,15 @@ gtk_paned_new (GtkOrientation orientation) NULL); } +/** + * gtk_paned_add1: + * @paned: a paned widget + * @child: the child to add + * + * Adds a child to the top or left pane with default parameters. This is + * equivalent to + * gtk_paned_pack1 (paned, child, FALSE, TRUE). + */ void gtk_paned_add1 (GtkPaned *paned, GtkWidget *widget) @@ -1451,6 +1510,15 @@ gtk_paned_add1 (GtkPaned *paned, gtk_paned_pack1 (paned, widget, FALSE, TRUE); } +/** + * gtk_paned_add2: + * @paned: a paned widget + * @child: the child to add + * + * Adds a child to the bottom or right pane with default parameters. This + * is equivalent to + * gtk_paned_pack2 (paned, child, TRUE, TRUE). + */ void gtk_paned_add2 (GtkPaned *paned, GtkWidget *widget) @@ -1458,6 +1526,15 @@ gtk_paned_add2 (GtkPaned *paned, gtk_paned_pack2 (paned, widget, TRUE, TRUE); } +/** + * gtk_paned_pack1: + * @paned: a paned widget + * @child: the child to add + * @resize: should this child expand when the paned widget is resized. + * @shrink: can this child be made smaller than its requisition. + * + * Adds a child to the top or left pane. + */ void gtk_paned_pack1 (GtkPaned *paned, GtkWidget *child, @@ -1481,6 +1558,15 @@ gtk_paned_pack1 (GtkPaned *paned, } } +/** + * gtk_paned_pack2: + * @paned: a paned widget + * @child: the child to add + * @resize: should this child expand when the paned widget is resized. + * @shrink: can this child be made smaller than its requisition. + * + * Adds a child to the bottom or right pane. + */ void gtk_paned_pack2 (GtkPaned *paned, GtkWidget *child, From 3f2281f8c6298ef9c55bd76ebc841b5683244a5d Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Mon, 8 Nov 2010 16:20:19 -0500 Subject: [PATCH 0189/1463] pixbuf engine: remove only use of GCache in Gtk We'll be deprecating GCache in GLib soon. --- modules/engines/pixbuf/pixbuf-render.c | 67 +++++++++++++++++--------- 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/modules/engines/pixbuf/pixbuf-render.c b/modules/engines/pixbuf/pixbuf-render.c index 6bb614884d..34aaf7d713 100644 --- a/modules/engines/pixbuf/pixbuf-render.c +++ b/modules/engines/pixbuf/pixbuf-render.c @@ -25,7 +25,7 @@ #include "pixbuf.h" #include -static GCache *pixbuf_cache = NULL; +static GHashTable *pixbuf_cache = NULL; static GdkPixbuf * bilinear_gradient (GdkPixbuf *src, @@ -504,7 +504,7 @@ theme_pixbuf_set_filename (ThemePixbuf *theme_pb, { if (theme_pb->pixbuf) { - g_cache_remove (pixbuf_cache, theme_pb->pixbuf); + g_object_unref (theme_pb->pixbuf); theme_pb->pixbuf = NULL; } @@ -678,20 +678,11 @@ theme_pixbuf_set_stretch (ThemePixbuf *theme_pb, theme_pixbuf_compute_hints (theme_pb); } -static GdkPixbuf * -pixbuf_cache_value_new (gchar *filename) +void +theme_pixbuf_uncache (gpointer data, + GObject *where_the_object_was) { - GError *err = NULL; - - GdkPixbuf *result = gdk_pixbuf_new_from_file (filename, &err); - if (!result) - { - g_warning ("Pixbuf theme: Cannot load pixmap file %s: %s\n", - filename, err->message); - g_error_free (err); - } - - return result; + g_hash_table_remove (pixbuf_cache, data); } GdkPixbuf * @@ -699,14 +690,46 @@ theme_pixbuf_get_pixbuf (ThemePixbuf *theme_pb) { if (!theme_pb->pixbuf) { + gpointer pixbuf; + if (!pixbuf_cache) - pixbuf_cache = g_cache_new ((GCacheNewFunc)pixbuf_cache_value_new, - (GCacheDestroyFunc)g_object_unref, - (GCacheDupFunc)g_strdup, - (GCacheDestroyFunc)g_free, - g_str_hash, g_direct_hash, g_str_equal); - - theme_pb->pixbuf = g_cache_insert (pixbuf_cache, theme_pb->filename); + /* Hash table does not hold its own reference to the GdkPixbuf */ + pixbuf_cache = g_hash_table_new_full (g_str_hash, g_str_equal, + g_free, NULL); + + /* Do an extended lookup because we store NULL in the hash table + * (below) to indicate that we failed to load the given filename. + */ + if (!g_hash_table_lookup_extended (pixbuf_cache, theme_pb->filename, + NULL, &pixbuf)) + /* Not in the cache. Add it and take the first ref. */ + { + gchar *key = g_strdup (theme_pb->filename); + GError *error = NULL; + + pixbuf = gdk_pixbuf_new_from_file (key, &error); + + if (pixbuf != NULL) + { + /* Drop the pixbuf from the cache when we lose the last ref. */ + g_object_weak_ref (G_OBJECT (pixbuf), theme_pixbuf_uncache, key); + } + else + { + /* Never drop a negative from the cache. */ + g_warning ("Pixbuf theme: Cannot load pixmap file %s: %s\n", + theme_pb->filename, error->message); + g_error_free (error); + } + + /* Always insert, even if we failed to create the pixbuf. */ + g_hash_table_insert (pixbuf_cache, key, pixbuf); + theme_pb->pixbuf = pixbuf; + } + + else + /* In the cache. Take an additional ref. */ + theme_pb->pixbuf = g_object_ref (pixbuf); if (theme_pb->stretch) theme_pixbuf_compute_hints (theme_pb); From f991f88d3f3edbc87ace1b64e28090218d858840 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 8 Nov 2010 18:37:37 -0500 Subject: [PATCH 0190/1463] Fix entry completion window sizing I don't think we are at the end of scrolledwindow tweaks yet, but this will make things work for now, as they used to. https://bugzilla.gnome.org/show_bug.cgi?id=633670 --- gtk/gtkentrycompletion.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 540af9d3a8..a14303588b 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -1449,7 +1449,9 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) width = -1; gtk_tree_view_columns_autosize (GTK_TREE_VIEW (completion->priv->tree_view)); - gtk_widget_set_size_request (completion->priv->tree_view, width, items * height); + gtk_scrolled_window_set_min_content_width (GTK_SCROLLED_WINDOW (completion->priv->scrolled_window), width); + gtk_widget_set_size_request (completion->priv->scrolled_window, width, -1); + gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (completion->priv->scrolled_window), items * height); if (actions) { From 67112dae9493b5785ef8e73bd9ef77ac84446b93 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 8 Nov 2010 21:20:02 -0500 Subject: [PATCH 0191/1463] NEWS for 2.91.4 --- NEWS | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/NEWS b/NEWS index c75fd7fe8b..3f6a51874d 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,23 @@ +Overview of Changes from GTK+ 2.91.3 to 2.91.4 +============================================== + +* Bugs fixed: + 609622 disappearing statusicon + 631331 window icons don't work anymore + 632894 Only show Desktop in file chooser button if there is one + 633670 Child minimum/natural size is not respected by GtkScrolledWindow + 633762 Correctly convert colors to CSS and deal with librsvg limitations + 633915 gtk_button_box_child_requisition() mishandles size allocations + 634060 Support for GIcon pixbufs + 634338 Move GtkPaned documentation to inline comments + 634339 Move GtkProgressBar documentation to inline comments + 634340 Move GtkPageSetup documentation to inline comments + +* Translation updates + Japanese + Estonian + + Overview of Changes from GTK+ 2.91.2 to 2.91.3 ============================================== From 5c52344551f1dad0cfb15573f6218d3c046554c3 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Tue, 9 Nov 2010 11:40:51 +0800 Subject: [PATCH 0192/1463] gtk+.vsprops: Removed GdkPixbuf stuff and made up for missed headers -Removed the GdkPixbuf stuff as it is now in a package of its own and added it as a dependent library here -Made up for the headers missed in the installation stage for GTK+/GDK --- build/win32/vs9/gtk+.vsprops | 53 ++++++++++++++---------------------- 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/build/win32/vs9/gtk+.vsprops b/build/win32/vs9/gtk+.vsprops index ce196f8bfb..11adbfb46d 100644 --- a/build/win32/vs9/gtk+.vsprops +++ b/build/win32/vs9/gtk+.vsprops @@ -8,13 +8,13 @@ > - - - - Date: Tue, 9 Nov 2010 12:06:34 +0800 Subject: [PATCH 0193/1463] gtk-demo.vcproj: set linker settings to be consistent -Made up for the additional dependencies for setups other than Debug|Win32 (the correct setting) -Made Subsystem="1" for all setups like Debug|Win32 (the correct setting) --- build/win32/vs9/gtk-demo.vcproj | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/build/win32/vs9/gtk-demo.vcproj b/build/win32/vs9/gtk-demo.vcproj index c9c87a4415..238896a4b6 100644 --- a/build/win32/vs9/gtk-demo.vcproj +++ b/build/win32/vs9/gtk-demo.vcproj @@ -76,9 +76,10 @@ /> Date: Tue, 9 Nov 2010 12:13:17 +0800 Subject: [PATCH 0194/1463] gdk.vcprojin: Include .rc file and fixed linker settings -Added the missed gdk.rc file -Made up for missed libraries required for link for configs other than Debug|win32 --- build/win32/vs9/gdk.vcprojin | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/build/win32/vs9/gdk.vcprojin b/build/win32/vs9/gdk.vcprojin index 12bfd047e0..60e0edea6d 100644 --- a/build/win32/vs9/gdk.vcprojin +++ b/build/win32/vs9/gdk.vcprojin @@ -72,7 +72,7 @@ /> + Date: Mon, 8 Nov 2010 23:19:58 -0500 Subject: [PATCH 0195/1463] Bump glib req. to 2.27.3 --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 1a78b3f42c..242ec6f8ce 100644 --- a/configure.ac +++ b/configure.ac @@ -39,7 +39,7 @@ m4_define([gtk_api_version], [3.0]) m4_define([gtk_binary_version], [3.0.0]) # required versions of other packages -m4_define([glib_required_version], [2.27.1]) +m4_define([glib_required_version], [2.27.3]) m4_define([pango_required_version], [1.20]) m4_define([atk_required_version], [1.29.2]) m4_define([cairo_required_version], [1.10.0]) From 4643d90c5faaeacbd099359082b366e86e8d6de2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 10 Nov 2010 19:17:06 +0900 Subject: [PATCH 0196/1463] Committing new (and simplified) focus handling approach for GtkCellArea. Also adding missing file cellareascaffold.h --- gtk/gtkcellarea.c | 282 ++++++++++++++++----------------------- gtk/gtkcellarea.h | 33 +++-- gtk/gtkcellareabox.c | 255 ++++++++++++----------------------- tests/cellareascaffold.c | 200 ++++++++++++++++++++++++--- tests/cellareascaffold.h | 68 ++++++++++ tests/testcellarea.c | 112 ++++++++++++++++ 6 files changed, 574 insertions(+), 376 deletions(-) create mode 100644 tests/cellareascaffold.h diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 4032369131..81d6f826d1 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -68,7 +68,12 @@ static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); -static void gtk_cell_area_real_update_focus (GtkCellArea *area); +static gboolean gtk_cell_area_real_can_focus (GtkCellArea *area); +static gboolean gtk_cell_area_real_activate (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags); /* GtkCellLayoutIface */ static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface); @@ -168,8 +173,6 @@ struct _GtkCellAreaPrivate /* Currently focused cell */ GtkCellRenderer *focus_cell; - guint can_focus : 1; - }; enum { @@ -184,7 +187,6 @@ enum { }; enum { - SIGNAL_FOCUS_LEAVE, SIGNAL_EDITING_STARTED, SIGNAL_EDITING_CANCELED, SIGNAL_EDITING_DONE, @@ -228,7 +230,6 @@ gtk_cell_area_init (GtkCellArea *area) priv->focus_cell = NULL; priv->edited_cell = NULL; priv->edit_widget = NULL; - priv->can_focus = FALSE; priv->editing_done_id = 0; priv->remove_widget_id = 0; @@ -261,20 +262,11 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; /* focus */ - class->grab_focus = NULL; - class->update_focus = gtk_cell_area_real_update_focus; + class->can_focus = gtk_cell_area_real_can_focus; + class->focus = NULL; + class->activate = gtk_cell_area_real_activate; /* Signals */ - cell_area_signals[SIGNAL_FOCUS_LEAVE] = - g_signal_new (I_("focus-leave"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__ENUM_STRING, - G_TYPE_NONE, 2, - GTK_TYPE_DIRECTION_TYPE, G_TYPE_STRING); - cell_area_signals[SIGNAL_EDITING_STARTED] = g_signal_new (I_("editing-started"), G_OBJECT_CLASS_TYPE (object_class), @@ -591,32 +583,14 @@ gtk_cell_area_real_event (GtkCellArea *area, const GdkRectangle *cell_area, GtkCellRendererState flags) { + GtkCellAreaPrivate *priv = area->priv; + if (event->type == GDK_KEY_PRESS && (flags & GTK_CELL_RENDERER_FOCUSED) != 0) { - GdkEventKey *key_event = (GdkEventKey *)event; - GtkCellAreaPrivate *priv = area->priv; + GdkEventKey *key_event = (GdkEventKey *)event; - if (priv->focus_cell && - (key_event->keyval == GDK_KEY_space || - key_event->keyval == GDK_KEY_KP_Space || - key_event->keyval == GDK_KEY_Return || - key_event->keyval == GDK_KEY_ISO_Enter || - key_event->keyval == GDK_KEY_KP_Enter)) - { - GdkRectangle background_area; - - /* Get the allocation of the focused cell. - */ - gtk_cell_area_get_cell_allocation (area, iter, widget, priv->focus_cell, - cell_area, &background_area); - - /* Activate or Edit the currently focused cell */ - if (gtk_cell_area_activate_cell (area, widget, priv->focus_cell, event, - &background_area, flags)) - return TRUE; - } - else if (priv->edited_cell && - (key_event->keyval == GDK_KEY_Escape)) + /* Cancel any edits in progress */ + if (priv->edited_cell && (key_event->keyval == GDK_KEY_Escape)) { gtk_cell_area_stop_editing (area, TRUE); return TRUE; @@ -651,32 +625,57 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, } static void -update_can_focus (GtkCellRenderer *renderer, - gboolean *can_focus) +get_can_focus (GtkCellRenderer *renderer, + gboolean *can_focus) { if (gtk_cell_renderer_can_focus (renderer)) *can_focus = TRUE; } -static void -gtk_cell_area_real_update_focus (GtkCellArea *area) +static gboolean +gtk_cell_area_real_can_focus (GtkCellArea *area) { gboolean can_focus = FALSE; - /* Update the area's can focus flag, if any of the renderers can - * focus then the area can focus. + /* Checks if any renderer can focus for the currently applied + * attributes. * * Subclasses can override this in the case that they are also * rendering widgets as well as renderers. */ - gtk_cell_area_forall (area, (GtkCellCallback)update_can_focus, &can_focus); - gtk_cell_area_set_can_focus (area, can_focus); + gtk_cell_area_forall (area, (GtkCellCallback)get_can_focus, &can_focus); - /* Unset the currently focused cell if the area can not receive - * focus for the given row data */ - if (!can_focus) - gtk_cell_area_set_focus_cell (area, NULL); + return can_focus; +} + +static gboolean +gtk_cell_area_real_activate (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags) +{ + GtkCellAreaPrivate *priv = area->priv; + GdkRectangle background_area; + + if (priv->focus_cell) + { + /* Get the allocation of the focused cell. + */ + gtk_cell_area_get_cell_allocation (area, iter, widget, priv->focus_cell, + cell_area, &background_area); + + /* Activate or Edit the currently focused cell + * + * Currently just not sending an event, renderers afaics dont use + * the event argument anyway, worst case is we can synthesize one. + */ + if (gtk_cell_area_activate_cell (area, widget, priv->focus_cell, NULL, + &background_area, flags)) + return TRUE; + } + return FALSE; } /************************************************************* @@ -1687,134 +1686,80 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, *************************************************************/ /** - * gtk_cell_area_grab_focus: - * @area: a #GtkCellArea - * @direction: the #GtkDirectionType from which focus came - * - * This should be called by the @area's owning layout widget - * when focus should be passed to @area for a given row data. - * - * Note that after applying new attributes for @area that - * gtk_cell_area_update_focus() should be called and - * gtk_cell_area_can_focus() should be checked before trying - * to pass focus to @area. - * - * Implementing #GtkCellArea classes should implement this - * method to receive focus in it's own way particular to - * how it lays out cells. - */ -void -gtk_cell_area_grab_focus (GtkCellArea *area, - GtkDirectionType direction) -{ - GtkCellAreaClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - class = GTK_CELL_AREA_GET_CLASS (area); - - if (class->grab_focus) - class->grab_focus (area, direction); - else - g_warning ("GtkCellAreaClass::grab_focus not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); -} - -/** - * gtk_cell_area_focus_leave: - * @area: a #GtkCellArea - * @direction: the #GtkDirectionType in which focus - * is to leave @area - * - * Notifies that focus is to leave @area in the - * given @direction. - * - * This is called by #GtkCellArea implementations upon - * handling a key event that caused focus to leave the - * cell. The resulting signal can be handled by the - * owning layouting widget to decide which new @area - * to pass focus to and from what @direction. Or to - * pass focus along to an entirely new data row. - */ -void -gtk_cell_area_focus_leave (GtkCellArea *area, - GtkDirectionType direction) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_LEAVE], 0, direction, priv->current_path); -} - -/** - * gtk_cell_area_update_focus: - * @area: a #GtkCellArea - * - * Updates focus information on @area for a given - * row of data. - * - * After calling gtk_cell_area_apply_attributes() to - * the @area this method should be called to update - * information about whether the @area can focus and - * which is the cell currently in focus. - */ -void -gtk_cell_area_update_focus (GtkCellArea *area) -{ - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - GTK_CELL_AREA_GET_CLASS (area)->update_focus (area); -} - -/** - * gtk_cell_area_set_can_focus: - * @area: a #GtkCellArea - * @can_focus: whether @area can receive focus - * - * This is generally called from GtkCellArea::update_focus() - * implementations to update if the @area can focus after - * applying new row data attributes. - */ -void -gtk_cell_area_set_can_focus (GtkCellArea *area, - gboolean can_focus) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - if (priv->can_focus != can_focus) - { - priv->can_focus = can_focus; - } -} - -/** - * gtk_cell_area_get_can_focus: + * gtk_cell_area_can_focus: * @area: a #GtkCellArea * * Returns whether the area can receive keyboard focus, - * after applying new attributes to @area, - * gtk_cell_area_update_focus() needs to be called before - * calling this method. + * after applying new attributes to @area. * * Returns: whether @area can receive focus. */ gboolean -gtk_cell_area_get_can_focus (GtkCellArea *area) +gtk_cell_area_can_focus (GtkCellArea *area) { - GtkCellAreaPrivate *priv; + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); + + return GTK_CELL_AREA_GET_CLASS (area)->can_focus (area); +} + +/** + * gtk_cell_area_focus: + * @area: a #GtkCellArea + * @direction: the #GtkDirectionType + * + * This should be called by the @area's owning layout widget + * when focus is to be passed to @area, or moved within @area + * for a given @direction and row data. + * + * Implementing #GtkCellArea classes should implement this + * method to receive and navigate focus in it's own way particular + * to how it lays out cells. + * + * Returns: %TRUE if focus remains inside @area as a result of this call. + */ +gboolean +gtk_cell_area_focus (GtkCellArea *area, + GtkDirectionType direction) +{ + GtkCellAreaClass *class; g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); - priv = area->priv; + class = GTK_CELL_AREA_GET_CLASS (area); - return priv->can_focus; + if (class->focus) + return class->focus (area, direction); + + g_warning ("GtkCellAreaClass::focus not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + + return FALSE; +} + +/** + * gtk_cell_area_activate: + * @area: a #GtkCellArea + * @iter: the #GtkCellAreaIter in context with the current row data + * @widget: the #GtkWidget that @area is rendering on + * @cell_area: the size and location of @area relative to @widget's allocation + * @flags: the #GtkCellRendererState flags for @area for this row of data. + * + * Activates @area, usually by activating the currently focused + * cell, however some subclasses which embed widgets in the area + * can also activate a widget if it currently has the focus. + * + * Returns: Whether @area was successfully activated. + */ +gboolean +gtk_cell_area_activate (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags) +{ + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); + + return GTK_CELL_AREA_GET_CLASS (area)->activate (area, iter, widget, cell_area, flags); } @@ -2042,7 +1987,6 @@ gtk_cell_area_activate_cell (GtkCellArea *area, g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), FALSE); - g_return_val_if_fail (event != NULL, FALSE); g_return_val_if_fail (cell_area != NULL, FALSE); priv = area->priv; diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 0e8a7a9e45..6271e99d32 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -137,9 +137,15 @@ struct _GtkCellAreaClass GParamSpec *pspec); /* Focus */ - void (* grab_focus) (GtkCellArea *area, + gboolean (* can_focus) (GtkCellArea *area); + gboolean (* focus) (GtkCellArea *area, GtkDirectionType direction); - void (* update_focus) (GtkCellArea *area); + gboolean (* activate) (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags); + /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -265,18 +271,17 @@ void gtk_cell_area_cell_get_property (GtkCellArea /* Focus */ -void gtk_cell_area_grab_focus (GtkCellArea *area, - GtkDirectionType direction); -void gtk_cell_area_focus_leave (GtkCellArea *area, - GtkDirectionType direction); -void gtk_cell_area_update_focus (GtkCellArea *area); -void gtk_cell_area_set_can_focus (GtkCellArea *area, - gboolean can_focus); -gboolean gtk_cell_area_get_can_focus (GtkCellArea *area); -void gtk_cell_area_set_focus_cell (GtkCellArea *area, - GtkCellRenderer *renderer); -GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); - +gboolean gtk_cell_area_can_focus (GtkCellArea *area); +gboolean gtk_cell_area_focus (GtkCellArea *area, + GtkDirectionType direction); +gboolean gtk_cell_area_activate (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +void gtk_cell_area_set_focus_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); /* Cell Activation/Editing */ void gtk_cell_area_set_edited_cell (GtkCellArea *area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 887b6b34f6..31946b5e13 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -102,7 +102,7 @@ static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); -static void gtk_cell_area_box_grab_focus (GtkCellArea *area, +static gboolean gtk_cell_area_box_focus (GtkCellArea *area, GtkDirectionType direction); /* GtkCellLayoutIface */ @@ -247,7 +247,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->get_preferred_height_for_width = gtk_cell_area_box_get_preferred_height_for_width; area_class->get_preferred_width_for_height = gtk_cell_area_box_get_preferred_width_for_height; - area_class->grab_focus = gtk_cell_area_box_grab_focus; + area_class->focus = gtk_cell_area_box_focus; /* Properties */ g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); @@ -869,91 +869,6 @@ enum { FOCUS_NEXT }; -static void -gtk_cell_area_cycle_focus (GtkCellAreaBox *box, - GtkCellRenderer *focus_cell, - GtkDirectionType direction) -{ - GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellArea *area = GTK_CELL_AREA (box); - gint cycle = FOCUS_NONE; - - switch (direction) - { - case GTK_DIR_TAB_FORWARD: - cycle = FOCUS_NEXT; - break; - case GTK_DIR_TAB_BACKWARD: - cycle = FOCUS_PREV; - break; - case GTK_DIR_UP: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_focus_leave (area, direction); - else - cycle = FOCUS_PREV; - break; - case GTK_DIR_DOWN: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_focus_leave (area, direction); - else - cycle = FOCUS_NEXT; - break; - case GTK_DIR_LEFT: - if (priv->orientation == GTK_ORIENTATION_VERTICAL) - gtk_cell_area_focus_leave (area, direction); - else - cycle = FOCUS_PREV; - break; - case GTK_DIR_RIGHT: - if (priv->orientation == GTK_ORIENTATION_VERTICAL) - gtk_cell_area_focus_leave (area, direction); - else - cycle = FOCUS_NEXT; - break; - default: - break; - } - - if (cycle != FOCUS_NONE) - { - gboolean found_cell = FALSE; - gboolean cycled_focus = FALSE; - GList *list; - gint i; - - for (i = (cycle == FOCUS_NEXT) ? 0 : priv->groups->len -1; - i >= 0 && i < priv->groups->len; - i = (cycle == FOCUS_NEXT) ? i + 1 : i - 1) - { - CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - - for (list = (cycle == FOCUS_NEXT) ? g_list_first (group->cells) : g_list_last (group->cells); - list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) - { - CellInfo *info = list->data; - - if (!found_cell && info->renderer == focus_cell) - found_cell = TRUE; - else if (found_cell) - { - if (gtk_cell_renderer_can_focus (info->renderer)) - { - gtk_cell_area_set_focus_cell (area, info->renderer); - - cycled_focus = TRUE; - break; - } - } - } - } - - /* We cycled right out of the area, signal the parent we - * need to focus out of the area */ - if (!cycled_focus) - gtk_cell_area_focus_leave (area, direction); - } -} - static gint gtk_cell_area_box_event (GtkCellArea *area, GtkCellAreaIter *iter, @@ -972,61 +887,6 @@ gtk_cell_area_box_event (GtkCellArea *area, if (retval) return retval; - /* Now detect keystrokes that move focus directionally inside the area - * or signal that focus should leave the area in a given direction. - * - * To navigate focus we only need to loop through the groups and - * observe the orientation and push focus along to the next cell - * or signal that focus should leave the area. - */ - if (event->type == GDK_KEY_PRESS && (flags & GTK_CELL_RENDERER_FOCUSED) != 0) - { - GdkEventKey *key_event = (GdkEventKey *)event; - GtkCellRenderer *focus_cell; - - focus_cell = gtk_cell_area_get_focus_cell (area); - - if (focus_cell) - { - GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkDirectionType direction = GTK_DIR_TAB_FORWARD; - gboolean have_direction = FALSE; - - /* Check modifiers and TAB keys ! */ - switch (key_event->keyval) - { - case GDK_KEY_KP_Up: - case GDK_KEY_Up: - direction = GTK_DIR_UP; - have_direction = TRUE; - break; - case GDK_KEY_KP_Down: - case GDK_KEY_Down: - direction = GTK_DIR_DOWN; - have_direction = TRUE; - break; - case GDK_KEY_KP_Left: - case GDK_KEY_Left: - direction = GTK_DIR_LEFT; - have_direction = TRUE; - break; - case GDK_KEY_KP_Right: - case GDK_KEY_Right: - direction = GTK_DIR_RIGHT; - have_direction = TRUE; - break; - default: - break; - } - - if (have_direction) - { - gtk_cell_area_cycle_focus (box, focus_cell, direction); - return TRUE; - } - } - } - /* Also detect mouse events, for mouse events we need to allocate the renderers * and find which renderer needs to be activated. */ @@ -1048,6 +908,13 @@ gtk_cell_area_box_render (GtkCellArea *area, GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GSList *allocated_cells, *l; GdkRectangle background_area, inner_area; + GtkCellRenderer *focus_cell = NULL; + + if (flags & GTK_CELL_RENDERER_FOCUSED) + { + focus_cell = gtk_cell_area_get_focus_cell (area); + flags &= ~GTK_CELL_RENDERER_FOCUSED; + } background_area = *cell_area; @@ -1057,7 +924,8 @@ gtk_cell_area_box_render (GtkCellArea *area, for (l = allocated_cells; l; l = l->next) { - AllocatedCell *cell = l->data; + AllocatedCell *cell = l->data; + GtkCellRendererState cell_fields = 0; if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -1070,16 +938,22 @@ gtk_cell_area_box_render (GtkCellArea *area, background_area.height = cell->size; } + if (cell->renderer == focus_cell) + { + g_print ("Rendering a cell with the focus flag !\n"); + + cell_fields |= GTK_CELL_RENDERER_FOCUSED; + } + /* Remove margins from the background area to produce the cell area */ gtk_cell_area_inner_cell_area (area, &background_area, &inner_area); - /* XXX We have to do some per-cell considerations for the 'flags' + /* We have to do some per-cell considerations for the 'flags' * for focus handling */ gtk_cell_renderer_render (cell->renderer, cr, widget, &background_area, &inner_area, - flags); - + flags | cell_fields); } g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); @@ -1633,52 +1507,91 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, *natural_width = nat_width; } -static void -gtk_cell_area_box_grab_focus (GtkCellArea *area, - GtkDirectionType direction) +static gboolean +gtk_cell_area_box_focus (GtkCellArea *area, + GtkDirectionType direction) { - GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxPrivate *priv; - gboolean first_cell = FALSE; - gint i; - GList *list; + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + gint cycle = FOCUS_NONE; + gboolean cycled_focus = FALSE; + GtkCellRenderer *focus_cell; - priv = box->priv; + focus_cell = gtk_cell_area_get_focus_cell (area); switch (direction) { case GTK_DIR_TAB_FORWARD: - case GTK_DIR_DOWN: - case GTK_DIR_RIGHT: - first_cell = TRUE; + cycle = FOCUS_NEXT; break; - case GTK_DIR_TAB_BACKWARD: - case GTK_DIR_UP: + cycle = FOCUS_PREV; + break; + case GTK_DIR_UP: + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + return FALSE; + else + cycle = FOCUS_PREV; + break; + case GTK_DIR_DOWN: + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + return FALSE; + else + cycle = FOCUS_NEXT; + break; case GTK_DIR_LEFT: + if (priv->orientation == GTK_ORIENTATION_VERTICAL) + return FALSE; + else + cycle = FOCUS_PREV; + break; + case GTK_DIR_RIGHT: + if (priv->orientation == GTK_ORIENTATION_VERTICAL) + return FALSE; + else + cycle = FOCUS_NEXT; + break; default: - first_cell = FALSE; break; } - for (i = first_cell ? 0 : priv->groups->len -1; - i >= 0 && i < priv->groups->len; - i = first_cell ? i + 1 : i - 1) + if (cycle != FOCUS_NONE) { - CellGroup *group = &g_array_index (priv->groups, CellGroup, i); + gboolean found_cell = FALSE; + GList *list; + gint i; - for (list = first_cell ? g_list_first (group->cells) : g_list_last (group->cells); - list; list = first_cell ? list->next : list->prev) + /* If there is no focused cell, focus on the first one in the list */ + if (!focus_cell) + found_cell = TRUE; + + for (i = (cycle == FOCUS_NEXT) ? 0 : priv->groups->len -1; + i >= 0 && i < priv->groups->len; + i = (cycle == FOCUS_NEXT) ? i + 1 : i - 1) { - CellInfo *info = list->data; + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - if (gtk_cell_renderer_can_focus (info->renderer)) + for (list = (cycle == FOCUS_NEXT) ? g_list_first (group->cells) : g_list_last (group->cells); + list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) { - gtk_cell_area_set_focus_cell (area, info->renderer); - break; + CellInfo *info = list->data; + + if (!found_cell && info->renderer == focus_cell) + found_cell = TRUE; + else if (found_cell) + { + if (gtk_cell_renderer_can_focus (info->renderer)) + { + gtk_cell_area_set_focus_cell (area, info->renderer); + + cycled_focus = TRUE; + break; + } + } } } } + return cycled_focus; } diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 0da496d6ee..8b7624d48d 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -37,6 +37,8 @@ static void cell_area_scaffold_get_property (GObject GParamSpec *pspec); /* GtkWidgetClass */ +static void cell_area_scaffold_realize (GtkWidget *widget); +static void cell_area_scaffold_unrealize (GtkWidget *widget); static gboolean cell_area_scaffold_draw (GtkWidget *widget, cairo_t *cr); static void cell_area_scaffold_size_allocate (GtkWidget *widget, @@ -55,8 +57,14 @@ static void cell_area_scaffold_get_preferred_width_for_height (GtkWidget gint for_size, gint *minimum_size, gint *natural_size); +static gint cell_area_scaffold_focus (GtkWidget *widget, + GtkDirectionType direction); +static void cell_area_scaffold_grab_focus (GtkWidget *widget); - +/* CellArea callbacks */ +static void size_changed_cb (GtkCellAreaIter *iter, + GParamSpec *pspec, + CellAreaScaffold *scaffold); typedef struct { gint size; /* The size of the row in the scaffold's opposing orientation */ @@ -64,6 +72,9 @@ typedef struct { struct _CellAreaScaffoldPrivate { + /* Window for catching events and dispatching them to the cell area */ + GdkWindow *event_window; + /* The model we're showing data for */ GtkTreeModel *model; @@ -74,33 +85,33 @@ struct _CellAreaScaffoldPrivate { /* Cache some info about rows (hieghts etc) */ GArray *row_data; + /* Focus handling */ + gint focus_row; + + /* Check when the underlying area changes the size and + * we need to queue a redraw */ gulong size_changed_id; }; - -#define ROW_SPACING 2 - enum { PROP_0, PROP_ORIENTATION }; +#define ROW_SPACING 2 + +#define DIRECTION_STR(dir) \ + ((dir) == GTK_DIR_TAB_FORWARD ? "tab forward" : \ + (dir) == GTK_DIR_TAB_BACKWARD ? "tab backward" : \ + (dir) == GTK_DIR_UP ? "up" : \ + (dir) == GTK_DIR_DOWN ? "down" : \ + (dir) == GTK_DIR_LEFT ? "left" : \ + (dir) == GTK_DIR_RIGHT ? "right" : "invalid") + G_DEFINE_TYPE_WITH_CODE (CellAreaScaffold, cell_area_scaffold, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); -static void -size_changed_cb (GtkCellAreaIter *iter, - GParamSpec *pspec, - CellAreaScaffold *scaffold) -{ - if (!strcmp (pspec->name, "minimum-width") || - !strcmp (pspec->name, "natural-width") || - !strcmp (pspec->name, "minimum-height") || - !strcmp (pspec->name, "natural-height")) - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); -} - static void cell_area_scaffold_init (CellAreaScaffold *scaffold) { @@ -114,13 +125,14 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) priv->area = gtk_cell_area_box_new (); priv->iter = gtk_cell_area_create_iter (priv->area); - priv->size_changed_id = - g_signal_connect (priv->iter, "notify", - G_CALLBACK (size_changed_cb), scaffold); - priv->row_data = g_array_new (FALSE, FALSE, sizeof (RowData)); gtk_widget_set_has_window (GTK_WIDGET (scaffold), FALSE); + gtk_widget_set_can_focus (GTK_WIDGET (scaffold), TRUE); + + priv->size_changed_id = + g_signal_connect (priv->iter, "notify", + G_CALLBACK (size_changed_cb), scaffold); } static void @@ -136,12 +148,16 @@ cell_area_scaffold_class_init (CellAreaScaffoldClass *class) gobject_class->set_property = cell_area_scaffold_set_property; widget_class = GTK_WIDGET_CLASS(class); + widget_class->realize = cell_area_scaffold_realize; + widget_class->unrealize = cell_area_scaffold_unrealize; widget_class->draw = cell_area_scaffold_draw; widget_class->size_allocate = cell_area_scaffold_size_allocate; widget_class->get_preferred_width = cell_area_scaffold_get_preferred_width; widget_class->get_preferred_height_for_width = cell_area_scaffold_get_preferred_height_for_width; widget_class->get_preferred_height = cell_area_scaffold_get_preferred_height; widget_class->get_preferred_width_for_height = cell_area_scaffold_get_preferred_width_for_height; + widget_class->focus = cell_area_scaffold_focus; + widget_class->grab_focus = cell_area_scaffold_grab_focus; g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); @@ -186,6 +202,7 @@ cell_area_scaffold_dispose (GObject *object) if (priv->area) { + /* Disconnect signals */ g_object_unref (priv->area); priv->area = NULL; } @@ -239,10 +256,64 @@ cell_area_scaffold_get_property (GObject *object, } } - /********************************************************* * GtkWidgetClass * *********************************************************/ +static void +cell_area_scaffold_realize (GtkWidget *widget) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkAllocation allocation; + GdkWindow *window; + GdkWindowAttr attributes; + gint attributes_mask; + + gtk_widget_get_allocation (widget, &allocation); + + gtk_widget_set_realized (widget, TRUE); + + attributes.window_type = GDK_WINDOW_CHILD; + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.wclass = GDK_INPUT_ONLY; + attributes.event_mask = gtk_widget_get_events (widget); + attributes.event_mask |= (GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_KEY_PRESS_MASK | + GDK_KEY_RELEASE_MASK); + + attributes_mask = GDK_WA_X | GDK_WA_Y; + + window = gtk_widget_get_parent_window (widget); + gtk_widget_set_window (widget, window); + g_object_ref (window); + + priv->event_window = gdk_window_new (window, + &attributes, attributes_mask); + gdk_window_set_user_data (priv->event_window, widget); + + gtk_widget_style_attach (widget); +} + +static void +cell_area_scaffold_unrealize (GtkWidget *widget) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + + if (priv->event_window) + { + gdk_window_set_user_data (priv->event_window, NULL); + gdk_window_destroy (priv->event_window); + priv->event_window = NULL; + } + + GTK_WIDGET_CLASS (cell_area_scaffold_parent_class)->unrealize (widget); +} + static gboolean cell_area_scaffold_draw (GtkWidget *widget, cairo_t *cr) @@ -255,10 +326,13 @@ cell_area_scaffold_draw (GtkWidget *widget, GdkRectangle render_area; GtkAllocation allocation; gint i = 0; + gboolean have_focus; + GtkCellRendererState flags; if (!priv->model) return FALSE; + have_focus = gtk_widget_has_focus (widget); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); gtk_widget_get_allocation (widget, &allocation); @@ -273,6 +347,11 @@ cell_area_scaffold_draw (GtkWidget *widget, { RowData *data = &g_array_index (priv->row_data, RowData, i); + if (have_focus && i == priv->focus_row) + flags = GTK_CELL_RENDERER_FOCUSED; + else + flags = 0; + if (orientation == GTK_ORIENTATION_HORIZONTAL) { render_area.height = data->size; @@ -283,7 +362,7 @@ cell_area_scaffold_draw (GtkWidget *widget, } gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_render (priv->area, priv->iter, widget, cr, &render_area, 0); + gtk_cell_area_render (priv->area, priv->iter, widget, cr, &render_area, flags); if (orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -391,6 +470,13 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, gtk_widget_set_allocation (widget, allocation); + if (gtk_widget_get_realized (widget)) + gdk_window_move_resize (priv->event_window, + allocation->x, + allocation->y, + allocation->width, + allocation->height); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); /* Cache the per-row sizes and allocate the iter */ @@ -569,7 +655,77 @@ cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, } } +static gint +cell_area_scaffold_focus (GtkWidget *widget, + GtkDirectionType direction) +{ + g_print ("cell_area_scaffold_focus called for direction %s\n", + DIRECTION_STR (direction)); + /* Grab focus on ourself if we dont already have focus */ + if (!gtk_widget_has_focus (widget)) + { + gtk_widget_grab_focus (widget); + return TRUE; + } + return TRUE; +} + +static void +cell_area_scaffold_grab_focus (GtkWidget *widget) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkTreeIter iter; + gboolean valid; + gint i = -1; + + /* Actually take the focus */ + GTK_WIDGET_CLASS (cell_area_scaffold_parent_class)->grab_focus (widget); + + if (!priv->model) + return; + + /* Find the first row that can focus and give it focus */ + valid = gtk_tree_model_get_iter_first (priv->model, &iter); + while (valid) + { + i++; + + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + + if (gtk_cell_area_can_focus (priv->area)) + { + gtk_cell_area_focus (priv->area, GTK_DIR_RIGHT); + break; + } + + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + + if (valid && i >= 0) + { + g_print ("Grab focus called, setting focus on row %d\n", i); + + priv->focus_row = i; + gtk_widget_queue_draw (widget); + } +} + +/********************************************************* + * CellArea callbacks * + *********************************************************/ +static void +size_changed_cb (GtkCellAreaIter *iter, + GParamSpec *pspec, + CellAreaScaffold *scaffold) +{ + if (!strcmp (pspec->name, "minimum-width") || + !strcmp (pspec->name, "natural-width") || + !strcmp (pspec->name, "minimum-height") || + !strcmp (pspec->name, "natural-height")) + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} /********************************************************* * API * diff --git a/tests/cellareascaffold.h b/tests/cellareascaffold.h new file mode 100644 index 0000000000..2d14098ff8 --- /dev/null +++ b/tests/cellareascaffold.h @@ -0,0 +1,68 @@ +/* cellareascaffold.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __CELL_AREA_SCAFFOLD_H__ +#define __CELL_AREA_SCAFFOLD_H__ + +#include + + +G_BEGIN_DECLS + +#define TYPE_CELL_AREA_SCAFFOLD (cell_area_scaffold_get_type ()) +#define CELL_AREA_SCAFFOLD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CELL_AREA_SCAFFOLD, CellAreaScaffold)) +#define CELL_AREA_SCAFFOLD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CELL_AREA_SCAFFOLD, CellAreaScaffoldClass)) +#define IS_CELL_AREA_SCAFFOLD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CELL_AREA_SCAFFOLD)) +#define IS_CELL_AREA_SCAFFOLD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CELL_AREA_SCAFFOLD)) +#define CELL_AREA_SCAFFOLD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CELL_AREA_SCAFFOLD, CellAreaScaffoldClass)) + + +typedef struct _CellAreaScaffold CellAreaScaffold; +typedef struct _CellAreaScaffoldClass CellAreaScaffoldClass; +typedef struct _CellAreaScaffoldPrivate CellAreaScaffoldPrivate; + +struct _CellAreaScaffold +{ + GtkWidget widget; + + CellAreaScaffoldPrivate *priv; +}; + +struct _CellAreaScaffoldClass +{ + GtkWidgetClass parent_class; + +}; + + +GType cell_area_scaffold_get_type (void) G_GNUC_CONST; +GtkWidget *cell_area_scaffold_new (void); + +GtkCellArea *cell_area_scaffold_get_area (CellAreaScaffold *scaffold); +void cell_area_scaffold_set_model (CellAreaScaffold *scaffold, + GtkTreeModel *model); +GtkTreeModel *cell_area_scaffold_get_model (CellAreaScaffold *scaffold); + +G_END_DECLS + +#endif /* __CELL_AREA_SCAFFOLD_H__ */ diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 015be304fa..b501135f6c 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -1,6 +1,9 @@ #include #include "cellareascaffold.h" +/******************************************************* + * Simple Test * + *******************************************************/ enum { SIMPLE_COLUMN_NAME, SIMPLE_COLUMN_ICON, @@ -240,12 +243,121 @@ simple_cell_area (void) gtk_widget_show (window); } +/******************************************************* + * Focus Test * + *******************************************************/ +enum { + FOCUS_COLUMN_NAME, + FOCUS_COLUMN_CHECK, + FOCUS_COLUMN_STATIC_TEXT, + N_FOCUS_COLUMNS +}; + +static GtkTreeModel * +focus_list_model (void) +{ + GtkTreeIter iter; + GtkListStore *store = + gtk_list_store_new (N_FOCUS_COLUMNS, + G_TYPE_STRING, /* name text */ + G_TYPE_BOOLEAN, /* check */ + G_TYPE_STRING); /* static text */ + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + FOCUS_COLUMN_NAME, "Enter a string", + FOCUS_COLUMN_CHECK, TRUE, + FOCUS_COLUMN_STATIC_TEXT, "Does it fly ?", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + FOCUS_COLUMN_NAME, "Enter a string", + FOCUS_COLUMN_CHECK, FALSE, + FOCUS_COLUMN_STATIC_TEXT, "Would you put it in a toaster ?", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + FOCUS_COLUMN_NAME, "Type something", + FOCUS_COLUMN_CHECK, FALSE, + FOCUS_COLUMN_STATIC_TEXT, "Does it feed on cute kittens ?", + -1); + + return (GtkTreeModel *)store; +} + +static GtkWidget * +focus_scaffold (void) +{ + GtkTreeModel *model; + GtkWidget *scaffold; + GtkCellArea *area; + GtkCellRenderer *renderer; + + scaffold = cell_area_scaffold_new (); + gtk_widget_show (scaffold); + + model = focus_list_model (); + + cell_area_scaffold_set_model (CELL_AREA_SCAFFOLD (scaffold), model); + + area = cell_area_scaffold_get_area (CELL_AREA_SCAFFOLD (scaffold)); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), "editable", TRUE, NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_NAME); + + /* Catch signal ... */ + renderer = gtk_cell_renderer_toggle_new (); + g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), + "wrap-mode", PANGO_WRAP_WORD, + "wrap-width", 150, + NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT); + + return scaffold; +} + + +static void +focus_cell_area (void) +{ + GtkWidget *window, *widget; + GtkWidget *scaffold, *frame, *vbox, *hbox; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + scaffold = focus_scaffold (); + + frame = gtk_frame_new (NULL); + gtk_widget_show (frame); + + gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); + gtk_widget_set_halign (frame, GTK_ALIGN_FILL); + + gtk_container_add (GTK_CONTAINER (frame), scaffold); + + gtk_container_add (GTK_CONTAINER (window), frame); + + gtk_widget_show (window); +} + + int main (int argc, char *argv[]) { gtk_init (NULL, NULL); simple_cell_area (); + focus_cell_area (); gtk_main (); From 524110f9025b149241747979003a3f243e907891 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 10 Nov 2010 22:25:13 +0900 Subject: [PATCH 0197/1463] Focus driving in GtkCellArea now works. - Fixed focus driving in GtkCellArea with refined apis - Added gtk_cell_area_activate() to be called when the area has focus (to activate or start editing the focused cell) - Added support for this in cellareascaffold - testcellarea now watches the "toggled" signal for a toggle renderer and updates the model state accordingly, this currently works with keyboard navigation, however focus is still not painted on cells. --- gtk/gtkcellarea.c | 1 + gtk/gtkcellareabox.c | 32 ++-- tests/cellareascaffold.c | 314 ++++++++++++++++++++++++++++++++------- tests/cellareascaffold.h | 1 + tests/testcellarea.c | 36 ++++- 5 files changed, 312 insertions(+), 72 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 81d6f826d1..de24277250 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -675,6 +675,7 @@ gtk_cell_area_real_activate (GtkCellArea *area, &background_area, flags)) return TRUE; } + return FALSE; } diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 31946b5e13..66058d8bb3 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -939,11 +939,7 @@ gtk_cell_area_box_render (GtkCellArea *area, } if (cell->renderer == focus_cell) - { - g_print ("Rendering a cell with the focus flag !\n"); - - cell_fields |= GTK_CELL_RENDERER_FOCUSED; - } + cell_fields |= GTK_CELL_RENDERER_FOCUSED; /* Remove margins from the background area to produce the cell area */ @@ -1528,27 +1524,19 @@ gtk_cell_area_box_focus (GtkCellArea *area, cycle = FOCUS_PREV; break; case GTK_DIR_UP: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - return FALSE; - else + if (priv->orientation == GTK_ORIENTATION_VERTICAL || !focus_cell) cycle = FOCUS_PREV; break; case GTK_DIR_DOWN: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - return FALSE; - else + if (priv->orientation == GTK_ORIENTATION_VERTICAL || !focus_cell) cycle = FOCUS_NEXT; break; case GTK_DIR_LEFT: - if (priv->orientation == GTK_ORIENTATION_VERTICAL) - return FALSE; - else + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !focus_cell) cycle = FOCUS_PREV; break; case GTK_DIR_RIGHT: - if (priv->orientation == GTK_ORIENTATION_VERTICAL) - return FALSE; - else + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !focus_cell) cycle = FOCUS_NEXT; break; default: @@ -1561,12 +1549,12 @@ gtk_cell_area_box_focus (GtkCellArea *area, GList *list; gint i; - /* If there is no focused cell, focus on the first one in the list */ + /* If there is no focused cell, focus on the first (or last) one in the list */ if (!focus_cell) found_cell = TRUE; for (i = (cycle == FOCUS_NEXT) ? 0 : priv->groups->len -1; - i >= 0 && i < priv->groups->len; + cycled_focus == FALSE && i >= 0 && i < priv->groups->len; i = (cycle == FOCUS_NEXT) ? i + 1 : i - 1) { CellGroup *group = &g_array_index (priv->groups, CellGroup, i); @@ -1576,7 +1564,7 @@ gtk_cell_area_box_focus (GtkCellArea *area, { CellInfo *info = list->data; - if (!found_cell && info->renderer == focus_cell) + if (info->renderer == focus_cell) found_cell = TRUE; else if (found_cell) { @@ -1591,6 +1579,10 @@ gtk_cell_area_box_focus (GtkCellArea *area, } } } + + if (!cycled_focus) + gtk_cell_area_set_focus_cell (area, NULL); + return cycled_focus; } diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 8b7624d48d..c0b72d7873 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -59,12 +59,30 @@ static void cell_area_scaffold_get_preferred_width_for_height (GtkWidget gint *natural_size); static gint cell_area_scaffold_focus (GtkWidget *widget, GtkDirectionType direction); -static void cell_area_scaffold_grab_focus (GtkWidget *widget); -/* CellArea callbacks */ +/* CellAreaScaffoldClass */ +static void cell_area_scaffold_activate (CellAreaScaffold *scaffold); + +/* CellArea/GtkTreeModel callbacks */ static void size_changed_cb (GtkCellAreaIter *iter, GParamSpec *pspec, CellAreaScaffold *scaffold); +static void row_changed_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + CellAreaScaffold *scaffold); +static void row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + CellAreaScaffold *scaffold); +static void row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + CellAreaScaffold *scaffold); +static void rows_reordered_cb (GtkTreeModel *model, + GtkTreePath *parent, + GtkTreeIter *iter, + gint *new_order, + CellAreaScaffold *scaffold); typedef struct { gint size; /* The size of the row in the scaffold's opposing orientation */ @@ -77,6 +95,10 @@ struct _CellAreaScaffoldPrivate { /* The model we're showing data for */ GtkTreeModel *model; + gulong row_changed_id; + gulong row_inserted_id; + gulong row_deleted_id; + gulong rows_reordered_id; /* The area rendering the data and a global iter */ GtkCellArea *area; @@ -91,6 +113,8 @@ struct _CellAreaScaffoldPrivate { /* Check when the underlying area changes the size and * we need to queue a redraw */ gulong size_changed_id; + + }; enum { @@ -98,6 +122,13 @@ enum { PROP_ORIENTATION }; +enum { + ACTIVATE, + N_SIGNALS +}; + +static guint scaffold_signals[N_SIGNALS] = { 0 }; + #define ROW_SPACING 2 #define DIRECTION_STR(dir) \ @@ -157,10 +188,22 @@ cell_area_scaffold_class_init (CellAreaScaffoldClass *class) widget_class->get_preferred_height = cell_area_scaffold_get_preferred_height; widget_class->get_preferred_width_for_height = cell_area_scaffold_get_preferred_width_for_height; widget_class->focus = cell_area_scaffold_focus; - widget_class->grab_focus = cell_area_scaffold_grab_focus; + + class->activate = cell_area_scaffold_activate; g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); + scaffold_signals[ACTIVATE] = + g_signal_new ("activate", + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (CellAreaScaffoldClass, activate), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + widget_class->activate_signal = scaffold_signals[ACTIVATE]; + + g_type_class_add_private (gobject_class, sizeof (CellAreaScaffoldPrivate)); } @@ -658,62 +701,166 @@ cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, static gint cell_area_scaffold_focus (GtkWidget *widget, GtkDirectionType direction) -{ - g_print ("cell_area_scaffold_focus called for direction %s\n", - DIRECTION_STR (direction)); - - /* Grab focus on ourself if we dont already have focus */ - if (!gtk_widget_has_focus (widget)) - { - gtk_widget_grab_focus (widget); - return TRUE; - } - return TRUE; -} - -static void -cell_area_scaffold_grab_focus (GtkWidget *widget) { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; GtkTreeIter iter; gboolean valid; - gint i = -1; + gint focus_row; + GtkOrientation orientation; - /* Actually take the focus */ - GTK_WIDGET_CLASS (cell_area_scaffold_parent_class)->grab_focus (widget); + /* Grab focus on ourself if we dont already have focus */ + if (!gtk_widget_has_focus (widget)) + gtk_widget_grab_focus (widget); - if (!priv->model) - return; + /* Move focus from cell to cell and row to row */ + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + focus_row = priv->focus_row; + + valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row); + while (valid) + { + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + + /* If focus stays in the area we dont need to do any more */ + if (gtk_cell_area_focus (priv->area, direction)) + { + GtkCellRenderer *renderer = gtk_cell_area_get_focus_cell (priv->area); + + priv->focus_row = focus_row; + + g_print ("focusing in direction %s: focus set on a %s in row %d\n", + DIRECTION_STR (direction), G_OBJECT_TYPE_NAME (renderer), priv->focus_row); + + return TRUE; + } + else + { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (direction == GTK_DIR_RIGHT || + direction == GTK_DIR_LEFT) + break; + else if (direction == GTK_DIR_UP || + direction == GTK_DIR_TAB_BACKWARD) + { + if (focus_row == 0) + break; + else + { + /* XXX A real implementation should check if the + * previous row can focus with it's attributes setup */ + focus_row--; + valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); + } + } + else /* direction == GTK_DIR_DOWN || GTK_DIR_TAB_FORWARD */ + { + if (focus_row == priv->row_data->len - 1) + break; + else + { + /* XXX A real implementation should check if the + * previous row can focus with it's attributes setup */ + focus_row++; + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + } + } + else /* (orientation == GTK_ORIENTATION_HORIZONTAL) */ + { + if (direction == GTK_DIR_UP || + direction == GTK_DIR_DOWN) + break; + else if (direction == GTK_DIR_LEFT || + direction == GTK_DIR_TAB_BACKWARD) + { + if (focus_row == 0) + break; + else + { + /* XXX A real implementation should check if the + * previous row can focus with it's attributes setup */ + focus_row--; + valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); + } + } + else /* direction == GTK_DIR_RIGHT || GTK_DIR_TAB_FORWARD */ + { + if (focus_row == priv->row_data->len - 1) + break; + else + { + /* XXX A real implementation should check if the + * previous row can focus with it's attributes setup */ + focus_row++; + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + } + } + } + } + + g_print ("focus leaving with no cells in focus (direction %s, focus_row %d)\n", + DIRECTION_STR (direction), priv->focus_row); + + return FALSE; +} + +/********************************************************* + * CellAreaScaffoldClass * + *********************************************************/ +static void +cell_area_scaffold_activate (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkWidget *widget = GTK_WIDGET (scaffold); + GtkAllocation allocation; + GtkOrientation orientation; + GdkRectangle cell_area; + GtkTreeIter iter; + gboolean valid; + gint i = 0; + + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + gtk_widget_get_allocation (widget, &allocation); + + cell_area.x = 0; + cell_area.y = 0; + cell_area.width = allocation.width; + cell_area.height = allocation.height; - /* Find the first row that can focus and give it focus */ valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { - i++; + RowData *data = &g_array_index (priv->row_data, RowData, i); - gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - - if (gtk_cell_area_can_focus (priv->area)) + if (i == priv->focus_row) { - gtk_cell_area_focus (priv->area, GTK_DIR_RIGHT); + if (orientation == GTK_ORIENTATION_HORIZONTAL) + cell_area.height = data->size; + else + cell_area.width = data->size; + + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + gtk_cell_area_activate (priv->area, priv->iter, widget, &cell_area, GTK_CELL_RENDERER_FOCUSED); + break; } + if (orientation == GTK_ORIENTATION_HORIZONTAL) + cell_area.y += data->size + ROW_SPACING; + else + cell_area.x += data->size + ROW_SPACING; + + i++; valid = gtk_tree_model_iter_next (priv->model, &iter); } - - if (valid && i >= 0) - { - g_print ("Grab focus called, setting focus on row %d\n", i); - - priv->focus_row = i; - gtk_widget_queue_draw (widget); - } } /********************************************************* - * CellArea callbacks * + * CellArea/GtkTreeModel callbacks * *********************************************************/ static void size_changed_cb (GtkCellAreaIter *iter, @@ -727,6 +874,64 @@ size_changed_cb (GtkCellAreaIter *iter, gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } +static void +rebuild_and_flush_internals (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv = scaffold->priv; + gint n_rows; + + if (priv->model) + { + n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); + + /* Clear/reset the array */ + g_array_set_size (priv->row_data, n_rows); + memset (priv->row_data->data, 0x0, n_rows * sizeof (RowData)); + } + else + g_array_set_size (priv->row_data, 0); + + /* Data changed, lets flush the iter and consequently queue resize and + * start everything over again (note this is definitly far from optimized) */ + gtk_cell_area_iter_flush (priv->iter); +} + +static void +row_changed_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + CellAreaScaffold *scaffold) +{ + rebuild_and_flush_internals (scaffold); +} + +static void +row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + CellAreaScaffold *scaffold) +{ + rebuild_and_flush_internals (scaffold); +} + +static void +row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + CellAreaScaffold *scaffold) +{ + rebuild_and_flush_internals (scaffold); +} + +static void +rows_reordered_cb (GtkTreeModel *model, + GtkTreePath *parent, + GtkTreeIter *iter, + gint *new_order, + CellAreaScaffold *scaffold) +{ + rebuild_and_flush_internals (scaffold); +} + /********************************************************* * API * *********************************************************/ @@ -762,7 +967,11 @@ cell_area_scaffold_set_model (CellAreaScaffold *scaffold, { if (priv->model) { - /* XXX disconnect signals */ + g_signal_handler_disconnect (priv->model, priv->row_changed_id); + g_signal_handler_disconnect (priv->model, priv->row_inserted_id); + g_signal_handler_disconnect (priv->model, priv->row_deleted_id); + g_signal_handler_disconnect (priv->model, priv->rows_reordered_id); + g_object_unref (priv->model); } @@ -770,23 +979,26 @@ cell_area_scaffold_set_model (CellAreaScaffold *scaffold, if (priv->model) { - gint n_rows; - - /* XXX connect signals */ g_object_ref (priv->model); - n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); + priv->row_changed_id = + g_signal_connect (priv->model, "row-changed", + G_CALLBACK (row_changed_cb), scaffold); - /* Clear/reset the array */ - g_array_set_size (priv->row_data, n_rows); - memset (priv->row_data->data, 0x0, n_rows * sizeof (RowData)); - } - else - { - g_array_set_size (priv->row_data, 0); + priv->row_inserted_id = + g_signal_connect (priv->model, "row-inserted", + G_CALLBACK (row_inserted_cb), scaffold); + + priv->row_deleted_id = + g_signal_connect (priv->model, "row-deleted", + G_CALLBACK (row_deleted_cb), scaffold); + + priv->rows_reordered_id = + g_signal_connect (priv->model, "rows-reordered", + G_CALLBACK (rows_reordered_cb), scaffold); } - gtk_cell_area_iter_flush (priv->iter); + rebuild_and_flush_internals (scaffold); } } diff --git a/tests/cellareascaffold.h b/tests/cellareascaffold.h index 2d14098ff8..411ecf8cf9 100644 --- a/tests/cellareascaffold.h +++ b/tests/cellareascaffold.h @@ -52,6 +52,7 @@ struct _CellAreaScaffoldClass { GtkWidgetClass parent_class; + void (* activate) (CellAreaScaffold *scaffold); }; diff --git a/tests/testcellarea.c b/tests/testcellarea.c index b501135f6c..d547f71e3b 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -287,6 +287,24 @@ focus_list_model (void) return (GtkTreeModel *)store; } +static void +cell_toggled (GtkCellRendererToggle *cell_renderer, + gchar *path, + CellAreaScaffold *scaffold) +{ + GtkTreeModel *model = cell_area_scaffold_get_model (scaffold); + GtkTreeIter iter; + gboolean active; + + g_print ("Cell toggled !\n"); + + if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) + return; + + gtk_tree_model_get (model, &iter, FOCUS_COLUMN_CHECK, &active, -1); + gtk_list_store_set (GTK_LIST_STORE (model), &iter, FOCUS_COLUMN_CHECK, !active, -1); +} + static GtkWidget * focus_scaffold (void) { @@ -315,6 +333,9 @@ focus_scaffold (void) gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); + g_signal_connect (G_OBJECT (renderer), "toggled", + G_CALLBACK (cell_toggled), scaffold); + renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "wrap-mode", PANGO_WRAP_WORD, @@ -334,6 +355,8 @@ focus_cell_area (void) GtkWidget *scaffold, *frame, *vbox, *hbox; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + hbox = gtk_hbox_new (FALSE, 4); + gtk_widget_show (hbox); scaffold = focus_scaffold (); @@ -345,7 +368,18 @@ focus_cell_area (void) gtk_container_add (GTK_CONTAINER (frame), scaffold); - gtk_container_add (GTK_CONTAINER (window), frame); + gtk_box_pack_end (GTK_BOX (hbox), frame, TRUE, TRUE, 0); + + /* Now add some controls */ + vbox = gtk_vbox_new (FALSE, 4); + gtk_widget_show (vbox); + gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + + widget = gtk_check_button_new_with_label ("check button"); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + gtk_container_add (GTK_CONTAINER (window), hbox); gtk_widget_show (window); } From f330b40521cf1f5b2b33b33bf7c5df0f59355838 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 11 Nov 2010 16:13:06 +0900 Subject: [PATCH 0198/1463] GtkCellArea now paints focus on cells Added concept of "Focus Siblings" to GtkCellArea so that some static text/icon may be included in the focus/click area of an activatable or editable cell, implemented focus drawing as well, updated testcellarea to reflect the changes. --- gtk/gtkcellarea.c | 173 ++++++++++++++++++++++++++++++++++++++- gtk/gtkcellarea.h | 25 +++++- gtk/gtkcellareabox.c | 98 +++++++++++++++++++--- tests/cellareascaffold.c | 19 +++-- tests/testcellarea.c | 26 +++++- 5 files changed, 311 insertions(+), 30 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index de24277250..e34c163079 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -97,6 +97,13 @@ static void gtk_cell_area_reorder (GtkCellLayout gint position); static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); + +/* Used in forall loop to check if a child renderer is present */ +typedef struct { + GtkCellRenderer *renderer; + gboolean has_renderer; +} HasRendererCheck; + /* Attribute/Cell metadata */ typedef struct { const gchar *attribute; @@ -154,6 +161,9 @@ struct _GtkCellAreaPrivate */ GHashTable *cell_info; + /* Tracking which cells are focus siblings of focusable cells */ + GHashTable *focus_siblings; + /* The cell border decides how much space to reserve * around each cell for the background_area */ @@ -222,6 +232,11 @@ gtk_cell_area_init (GtkCellArea *area) NULL, (GDestroyNotify)cell_info_free); + priv->focus_siblings = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify)g_list_free); + priv->cell_border.left = 0; priv->cell_border.right = 0; priv->cell_border.top = 0; @@ -470,9 +485,10 @@ gtk_cell_area_finalize (GObject *object) GtkCellAreaPrivate *priv = area->priv; /* All cell renderers should already be removed at this point, - * just kill our hash table here. + * just kill our (empty) hash tables here. */ g_hash_table_destroy (priv->cell_info); + g_hash_table_destroy (priv->focus_siblings); g_free (priv->current_path); @@ -858,6 +874,7 @@ gtk_cell_area_remove (GtkCellArea *area, { GtkCellAreaClass *class; GtkCellAreaPrivate *priv; + GList *renderers, *l; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); @@ -868,6 +885,25 @@ gtk_cell_area_remove (GtkCellArea *area, /* Remove any custom attributes and custom cell data func here first */ g_hash_table_remove (priv->cell_info, renderer); + /* Remove focus siblings of this renderer */ + g_hash_table_remove (priv->focus_siblings, renderer); + + /* Remove this renderer from any focus renderer's sibling list */ + renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + + for (l = renderers; l; l = l->next) + { + GtkCellRenderer *focus_renderer = l->data; + + if (gtk_cell_area_is_focus_sibling (area, focus_renderer, renderer)) + { + gtk_cell_area_remove_focus_sibling (area, focus_renderer, renderer); + break; + } + } + + g_list_free (renderers); + if (class->remove) class->remove (area, renderer); else @@ -875,6 +911,28 @@ gtk_cell_area_remove (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +static void +get_has_renderer (GtkCellRenderer *renderer, + HasRendererCheck *check) +{ + if (renderer == check->renderer) + check->has_renderer = TRUE; +} + +gboolean +gtk_cell_area_has_renderer (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + HasRendererCheck check = { renderer, FALSE }; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), FALSE); + + gtk_cell_area_forall (area, (GtkCellCallback)get_has_renderer, &check); + + return check.has_renderer; +} + /** * gtk_cell_area_forall * @area: a #GtkCellArea @@ -972,8 +1030,10 @@ gtk_cell_area_render (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkCellRendererState flags, + gboolean paint_focus) { GtkCellAreaClass *class; @@ -981,12 +1041,13 @@ gtk_cell_area_render (GtkCellArea *area, g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (cr != NULL); + g_return_if_fail (background_area != NULL); g_return_if_fail (cell_area != NULL); class = GTK_CELL_AREA_GET_CLASS (area); if (class->render) - class->render (area, iter, widget, cr, cell_area, flags); + class->render (area, iter, widget, cr, background_area, cell_area, flags, paint_focus); else g_warning ("GtkCellAreaClass::render not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1136,6 +1197,7 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (attribute != NULL); + g_return_if_fail (gtk_cell_area_has_renderer (area, renderer)); priv = area->priv; info = g_hash_table_lookup (priv->cell_info, renderer); @@ -1202,6 +1264,7 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (attribute != NULL); + g_return_if_fail (gtk_cell_area_has_renderer (area, renderer)); priv = area->priv; info = g_hash_table_lookup (priv->cell_info, renderer); @@ -1821,6 +1884,110 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) } +/************************************************************* + * API: Focus Siblings * + *************************************************************/ +void +gtk_cell_area_add_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling) +{ + GtkCellAreaPrivate *priv; + GList *siblings; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (GTK_IS_CELL_RENDERER (sibling)); + g_return_if_fail (renderer != sibling); + g_return_if_fail (gtk_cell_area_has_renderer (area, renderer)); + g_return_if_fail (gtk_cell_area_has_renderer (area, sibling)); + g_return_if_fail (!gtk_cell_area_is_focus_sibling (area, renderer, sibling)); + + /* XXX We should also check that sibling is not in any other renderer's sibling + * list already, a renderer can be sibling of only one focusable renderer + * at a time. + */ + + priv = area->priv; + + siblings = g_hash_table_lookup (priv->focus_siblings, renderer); + + if (siblings) + siblings = g_list_append (siblings, sibling); + else + { + siblings = g_list_append (siblings, sibling); + g_hash_table_insert (priv->focus_siblings, renderer, siblings); + } +} + +void +gtk_cell_area_remove_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling) +{ + GtkCellAreaPrivate *priv; + GList *siblings; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (GTK_IS_CELL_RENDERER (sibling)); + g_return_if_fail (gtk_cell_area_is_focus_sibling (area, renderer, sibling)); + + priv = area->priv; + + siblings = g_hash_table_lookup (priv->focus_siblings, renderer); + + siblings = g_list_copy (siblings); + siblings = g_list_remove (siblings, sibling); + + if (!siblings) + g_hash_table_remove (priv->focus_siblings, renderer); + else + g_hash_table_insert (priv->focus_siblings, renderer, siblings); +} + +gboolean +gtk_cell_area_is_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling) +{ + GtkCellAreaPrivate *priv; + GList *siblings, *l; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), FALSE); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (sibling), FALSE); + + priv = area->priv; + + siblings = g_hash_table_lookup (priv->focus_siblings, renderer); + + for (l = siblings; l; l = l->next) + { + GtkCellRenderer *a_sibling = l->data; + + if (a_sibling == sibling) + return TRUE; + } + + return FALSE; +} + +const GList * +gtk_cell_area_get_focus_siblings (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), NULL); + + priv = area->priv; + + return g_hash_table_lookup (priv->focus_siblings, renderer); +} + /************************************************************* * API: Cell Activation/Editing * *************************************************************/ diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 6271e99d32..c1203541e5 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -95,8 +95,10 @@ struct _GtkCellAreaClass GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean paint_focus); /* Geometry */ GtkCellAreaIter *(* create_iter) (GtkCellArea *area); @@ -165,6 +167,8 @@ void gtk_cell_area_add (GtkCellArea GtkCellRenderer *renderer); void gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *renderer); +gboolean gtk_cell_area_has_renderer (GtkCellArea *area, + GtkCellRenderer *renderer); void gtk_cell_area_forall (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); @@ -184,8 +188,10 @@ void gtk_cell_area_render (GtkCellArea GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean paint_focus); /* Geometry */ GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); @@ -283,6 +289,21 @@ void gtk_cell_area_set_focus_cell (GtkCellArea GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); + +/* Focus siblings */ +void gtk_cell_area_add_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area, + GtkCellRenderer *renderer); + + /* Cell Activation/Editing */ void gtk_cell_area_set_edited_cell (GtkCellArea *area, GtkCellRenderer *renderer); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 66058d8bb3..45355aebe5 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -66,8 +66,10 @@ static void gtk_cell_area_box_render (GtkCellArea GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean paint_focus); static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, GtkCellRenderer *renderer, guint prop_id, @@ -900,15 +902,19 @@ gtk_cell_area_box_render (GtkCellArea *area, GtkCellAreaIter *iter, GtkWidget *widget, cairo_t *cr, + const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkCellRendererState flags, + gboolean paint_focus) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GSList *allocated_cells, *l; - GdkRectangle background_area, inner_area; + GdkRectangle cell_background, inner_area; GtkCellRenderer *focus_cell = NULL; + GdkRectangle focus_rect = { 0, }; + gboolean first_focus_cell = TRUE; if (flags & GTK_CELL_RENDERER_FOCUSED) { @@ -916,7 +922,7 @@ gtk_cell_area_box_render (GtkCellArea *area, flags &= ~GTK_CELL_RENDERER_FOCUSED; } - background_area = *cell_area; + cell_background = *cell_area; /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ @@ -929,29 +935,95 @@ gtk_cell_area_box_render (GtkCellArea *area, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - background_area.x = cell_area->x + cell->position; - background_area.width = cell->size; + cell_background.x = cell_area->x + cell->position; + cell_background.width = cell->size; } else { - background_area.y = cell_area->y + cell->position; - background_area.height = cell->size; + cell_background.y = cell_area->y + cell->position; + cell_background.height = cell->size; } - if (cell->renderer == focus_cell) - cell_fields |= GTK_CELL_RENDERER_FOCUSED; - /* Remove margins from the background area to produce the cell area */ - gtk_cell_area_inner_cell_area (area, &background_area, &inner_area); + gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); + + if (focus_cell && + (cell->renderer == focus_cell || + gtk_cell_area_is_focus_sibling (area, focus_cell, cell->renderer))) + { + cell_fields |= GTK_CELL_RENDERER_FOCUSED; + + if (paint_focus) + { + GdkRectangle cell_focus; + gint opposite_size, x_offset, y_offset; + + cell_focus = inner_area; + + /* Trim up the focus size */ + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_cell_renderer_get_preferred_height_for_width (cell->renderer, widget, + cell_focus.width, + NULL, &opposite_size); + + cell_focus.height = MIN (opposite_size, cell_focus.height); + } + else + { + gtk_cell_renderer_get_preferred_width_for_height (cell->renderer, widget, + cell_focus.height, + NULL, &opposite_size); + + cell_focus.width = MIN (opposite_size, cell_focus.width); + } + + /* offset the cell position */ + _gtk_cell_renderer_calc_offset (cell->renderer, &inner_area, GTK_TEXT_DIR_LTR, + cell_focus.width, cell_focus.height, + &x_offset, &y_offset); + + cell_focus.x += x_offset; + cell_focus.y += y_offset; + + /* Accumulate the focus rectangle for all focus siblings */ + if (first_focus_cell) + { + focus_rect = cell_focus; + first_focus_cell = FALSE; + } + else + gdk_rectangle_union (&focus_rect, &cell_focus, &focus_rect); + } + } /* We have to do some per-cell considerations for the 'flags' * for focus handling */ gtk_cell_renderer_render (cell->renderer, cr, widget, - &background_area, &inner_area, + &cell_background, &inner_area, flags | cell_fields); } + if (paint_focus && focus_rect.width != 0 && focus_rect.height != 0) + { + GtkStateType renderer_state = + flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : + (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : + (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); + + gtk_paint_focus (gtk_widget_get_style (widget), + cr, renderer_state, + widget, + /* XXX This hint should be a property on GtkCellArea I suppose */ + "treeview", + focus_rect.x, + focus_rect.y, + focus_rect.width, + focus_rect.height); + } + + g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); g_slist_free (allocated_cells); } diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index c0b72d7873..6d40be9edd 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -405,7 +405,9 @@ cell_area_scaffold_draw (GtkWidget *widget, } gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_render (priv->area, priv->iter, widget, cr, &render_area, flags); + gtk_cell_area_render (priv->area, priv->iter, widget, cr, + &render_area, &render_area, flags, + (have_focus && i == priv->focus_row)); if (orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -726,13 +728,11 @@ cell_area_scaffold_focus (GtkWidget *widget, /* If focus stays in the area we dont need to do any more */ if (gtk_cell_area_focus (priv->area, direction)) { - GtkCellRenderer *renderer = gtk_cell_area_get_focus_cell (priv->area); - priv->focus_row = focus_row; - - g_print ("focusing in direction %s: focus set on a %s in row %d\n", - DIRECTION_STR (direction), G_OBJECT_TYPE_NAME (renderer), priv->focus_row); - + + /* XXX A smarter implementation would only invalidate the rectangles where + * focus was removed from and new focus was placed */ + gtk_widget_queue_draw (widget); return TRUE; } else @@ -802,8 +802,9 @@ cell_area_scaffold_focus (GtkWidget *widget, } } - g_print ("focus leaving with no cells in focus (direction %s, focus_row %d)\n", - DIRECTION_STR (direction), priv->focus_row); + /* XXX A smarter implementation would only invalidate the rectangles where + * focus was removed from and new focus was placed */ + gtk_widget_queue_draw (widget); return FALSE; } diff --git a/tests/testcellarea.c b/tests/testcellarea.c index d547f71e3b..0acf2ebbb5 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -246,6 +246,8 @@ simple_cell_area (void) /******************************************************* * Focus Test * *******************************************************/ +static GtkCellRenderer *focus_renderer, *sibling_renderer; + enum { FOCUS_COLUMN_NAME, FOCUS_COLUMN_CHECK, @@ -328,7 +330,7 @@ focus_scaffold (void) gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_NAME); /* Catch signal ... */ - renderer = gtk_cell_renderer_toggle_new (); + focus_renderer = renderer = gtk_cell_renderer_toggle_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); @@ -336,7 +338,7 @@ focus_scaffold (void) g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (cell_toggled), scaffold); - renderer = gtk_cell_renderer_text_new (); + sibling_renderer = renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 150, @@ -347,6 +349,21 @@ focus_scaffold (void) return scaffold; } +static void +focus_sibling_toggled (GtkToggleButton *toggle, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gboolean active = gtk_toggle_button_get_active (toggle); + + if (active) + gtk_cell_area_add_focus_sibling (area, focus_renderer, sibling_renderer); + else + gtk_cell_area_remove_focus_sibling (area, focus_renderer, sibling_renderer); + + gtk_widget_queue_draw (GTK_WIDGET (scaffold)); +} + static void focus_cell_area (void) @@ -375,10 +392,13 @@ focus_cell_area (void) gtk_widget_show (vbox); gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); - widget = gtk_check_button_new_with_label ("check button"); + widget = gtk_check_button_new_with_label ("Focus Sibling"); gtk_widget_show (widget); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (focus_sibling_toggled), scaffold); + gtk_container_add (GTK_CONTAINER (window), hbox); gtk_widget_show (window); From 33db66e728357752c8d0ee90b324a5bfab469c72 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 11 Nov 2010 18:13:54 +0900 Subject: [PATCH 0199/1463] Added event handling to GtkCellAreaBox Now GtkCellAreaBox handles the click event to activate renderers and checks if the area is in a sibling of a focus renderer, possibly activating the proper focus sibling renderer. Also GtkCellArea gains a "focus-changed" signal to allow it to change the currently focused row according to the button events. --- gtk/gtkcellarea.c | 53 ++++++++++++ gtk/gtkcellarea.h | 3 +- gtk/gtkcellareabox.c | 98 +++++++++++++++++++++- tests/cellareascaffold.c | 171 +++++++++++++++++++++++++++++++++++++-- 4 files changed, 316 insertions(+), 9 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index e34c163079..0e6a2eed9b 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -201,6 +201,7 @@ enum { SIGNAL_EDITING_CANCELED, SIGNAL_EDITING_DONE, SIGNAL_REMOVE_EDITABLE, + SIGNAL_FOCUS_CHANGED, LAST_SIGNAL }; @@ -326,6 +327,17 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GTK_TYPE_CELL_RENDERER, GTK_TYPE_CELL_EDITABLE); + cell_area_signals[SIGNAL_FOCUS_CHANGED] = + g_signal_new (I_("focus-changed"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_STRING, + G_TYPE_NONE, 2, + GTK_TYPE_CELL_RENDERER, + G_TYPE_STRING); + /* Properties */ g_object_class_install_property (object_class, PROP_CELL_MARGIN_LEFT, @@ -1861,6 +1873,13 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area, g_object_notify (G_OBJECT (area), "focus-cell"); } + + /* Signal that the current focus renderer for this path changed + * (it may be that the focus cell did not change, but the row + * may have changed so we need to signal it) */ + g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_CHANGED], 0, + priv->focus_cell, priv->current_path); + } /** @@ -1988,6 +2007,40 @@ gtk_cell_area_get_focus_siblings (GtkCellArea *area, return g_hash_table_lookup (priv->focus_siblings, renderer); } +GtkCellRenderer * +gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, + GtkCellRenderer *renderer) +{ + GtkCellRenderer *ret_renderer = NULL; + GList *renderers, *l; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), NULL); + + renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + + for (l = renderers; l; l = l->next) + { + GtkCellRenderer *a_renderer = l->data; + const GList *list; + + for (list = gtk_cell_area_get_focus_siblings (area, a_renderer); + list; list = list->next) + { + GtkCellRenderer *sibling_renderer = list->data; + + if (sibling_renderer == renderer) + { + ret_renderer = a_renderer; + break; + } + } + } + g_list_free (renderers); + + return ret_renderer; +} + /************************************************************* * API: Cell Activation/Editing * *************************************************************/ diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index c1203541e5..685d695eca 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -302,7 +302,8 @@ gboolean gtk_cell_area_is_focus_sibling (GtkCellArea GtkCellRenderer *sibling); G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area, GtkCellRenderer *renderer); - +GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, + GtkCellRenderer *renderer); /* Cell Activation/Editing */ void gtk_cell_area_set_edited_cell (GtkCellArea *area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 45355aebe5..0b0f23c624 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -892,9 +892,102 @@ gtk_cell_area_box_event (GtkCellArea *area, /* Also detect mouse events, for mouse events we need to allocate the renderers * and find which renderer needs to be activated. */ + if (event->type == GDK_BUTTON_PRESS) + { + GdkEventButton *button_event = (GdkEventButton *)event; + if (button_event->button == 1) + { + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GSList *allocated_cells, *l; + GdkRectangle cell_background, inner_area; + GtkAllocation allocation; + gint event_x, event_y; - return 0; + gtk_widget_get_allocation (widget, &allocation); + + /* We may need some semantics to tell us the offset of the event + * window we are handling events for (i.e. GtkTreeView has a bin_window) */ + event_x = button_event->x; + event_y = button_event->y; + + cell_background = *cell_area; + + /* Get a list of cells with allocation sizes decided regardless + * of alignments and pack order etc. */ + allocated_cells = get_allocated_cells (box, box_iter, widget); + + for (l = allocated_cells; l; l = l->next) + { + AllocatedCell *cell = l->data; + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + cell_background.x = cell_area->x + cell->position; + cell_background.width = cell->size; + } + else + { + cell_background.y = cell_area->y + cell->position; + cell_background.height = cell->size; + } + + /* Remove margins from the background area to produce the cell area + */ + gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); + + if (event_x >= inner_area.x && event_x <= inner_area.x + inner_area.width && + event_y >= inner_area.y && event_y <= inner_area.y + inner_area.height) + { + GtkCellRenderer *event_renderer = NULL; + + if (gtk_cell_renderer_can_focus (cell->renderer)) + event_renderer = cell->renderer; + else + { + GtkCellRenderer *focus_renderer; + + /* A renderer can have focus siblings but that renderer might not be + * focusable for every row... so we go on to check can_focus here. */ + focus_renderer = gtk_cell_area_get_focus_from_sibling (area, cell->renderer); + + if (focus_renderer && gtk_cell_renderer_can_focus (focus_renderer)) + event_renderer = focus_renderer; + } + + if (event_renderer) + { + if (gtk_cell_area_get_edited_cell (area)) + { + /* XXX Was it really canceled in this case ? */ + gtk_cell_area_stop_editing (area, TRUE); + gtk_cell_area_set_focus_cell (area, event_renderer); + retval = TRUE; + } + else + { + /* If we are activating via a focus sibling, we need to fix the + * cell area */ + if (event_renderer != cell->renderer) + gtk_cell_area_inner_cell_area (area, cell_area, &cell_background); + + gtk_cell_area_set_focus_cell (area, event_renderer); + + retval = gtk_cell_area_activate_cell (area, widget, event_renderer, + event, &cell_background, flags); + } + break; + } + } + } + g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); + g_slist_free (allocated_cells); + } + } + + return retval; } static void @@ -948,6 +1041,9 @@ gtk_cell_area_box_render (GtkCellArea *area, */ gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); + /* XXX TODO Here after getting the inner area of the cell background, + * add portions of the background area to the cell background */ + if (focus_cell && (cell->renderer == focus_cell || gtk_cell_area_is_focus_sibling (area, focus_cell, cell->renderer))) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 6d40be9edd..3e3787ab4d 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -57,8 +57,13 @@ static void cell_area_scaffold_get_preferred_width_for_height (GtkWidget gint for_size, gint *minimum_size, gint *natural_size); +static void cell_area_scaffold_map (GtkWidget *widget); +static void cell_area_scaffold_unmap (GtkWidget *widget); static gint cell_area_scaffold_focus (GtkWidget *widget, GtkDirectionType direction); +static gboolean cell_area_scaffold_button_press (GtkWidget *widget, + GdkEventButton *event); + /* CellAreaScaffoldClass */ static void cell_area_scaffold_activate (CellAreaScaffold *scaffold); @@ -67,6 +72,10 @@ static void cell_area_scaffold_activate (CellAreaScaf static void size_changed_cb (GtkCellAreaIter *iter, GParamSpec *pspec, CellAreaScaffold *scaffold); +static void focus_changed_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *path, + CellAreaScaffold *scaffold); static void row_changed_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, @@ -109,6 +118,7 @@ struct _CellAreaScaffoldPrivate { /* Focus handling */ gint focus_row; + gulong focus_changed_id; /* Check when the underlying area changes the size and * we need to queue a redraw */ @@ -161,6 +171,10 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) gtk_widget_set_has_window (GTK_WIDGET (scaffold), FALSE); gtk_widget_set_can_focus (GTK_WIDGET (scaffold), TRUE); + priv->focus_changed_id = + g_signal_connect (priv->area, "focus-changed", + G_CALLBACK (focus_changed_cb), scaffold); + priv->size_changed_id = g_signal_connect (priv->iter, "notify", G_CALLBACK (size_changed_cb), scaffold); @@ -187,7 +201,10 @@ cell_area_scaffold_class_init (CellAreaScaffoldClass *class) widget_class->get_preferred_height_for_width = cell_area_scaffold_get_preferred_height_for_width; widget_class->get_preferred_height = cell_area_scaffold_get_preferred_height; widget_class->get_preferred_width_for_height = cell_area_scaffold_get_preferred_width_for_height; + widget_class->map = cell_area_scaffold_map; + widget_class->unmap = cell_area_scaffold_unmap; widget_class->focus = cell_area_scaffold_focus; + widget_class->button_press_event = cell_area_scaffold_button_press; class->activate = cell_area_scaffold_activate; @@ -246,8 +263,11 @@ cell_area_scaffold_dispose (GObject *object) if (priv->area) { /* Disconnect signals */ + g_signal_handler_disconnect (priv->area, priv->focus_changed_id); + g_object_unref (priv->area); priv->area = NULL; + priv->focus_changed_id = 0; } G_OBJECT_CLASS (cell_area_scaffold_parent_class)->dispose (object); @@ -334,8 +354,7 @@ cell_area_scaffold_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); g_object_ref (window); - priv->event_window = gdk_window_new (window, - &attributes, attributes_mask); + priv->event_window = gdk_window_new (window, &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); gtk_widget_style_attach (widget); @@ -510,9 +529,6 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, CellAreaScaffoldPrivate *priv = scaffold->priv; GtkOrientation orientation; - if (!priv->model) - return; - gtk_widget_set_allocation (widget, allocation); if (gtk_widget_get_realized (widget)) @@ -522,6 +538,9 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, allocation->width, allocation->height); + if (!priv->model) + return; + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); /* Cache the per-row sizes and allocate the iter */ @@ -700,6 +719,31 @@ cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, } } +static void +cell_area_scaffold_map (GtkWidget *widget) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + + GTK_WIDGET_CLASS (cell_area_scaffold_parent_class)->map (widget); + + if (priv->event_window) + gdk_window_show (priv->event_window); +} + +static void +cell_area_scaffold_unmap (GtkWidget *widget) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + + GTK_WIDGET_CLASS (cell_area_scaffold_parent_class)->unmap (widget); + + if (priv->event_window) + gdk_window_hide (priv->event_window); +} + + static gint cell_area_scaffold_focus (GtkWidget *widget, GtkDirectionType direction) @@ -710,6 +754,7 @@ cell_area_scaffold_focus (GtkWidget *widget, gboolean valid; gint focus_row; GtkOrientation orientation; + gboolean changed = FALSE; /* Grab focus on ourself if we dont already have focus */ if (!gtk_widget_has_focus (widget)) @@ -719,6 +764,8 @@ cell_area_scaffold_focus (GtkWidget *widget, orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); focus_row = priv->focus_row; + + g_signal_handler_block (priv->area, priv->focus_changed_id); valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row); while (valid) @@ -733,7 +780,8 @@ cell_area_scaffold_focus (GtkWidget *widget, /* XXX A smarter implementation would only invalidate the rectangles where * focus was removed from and new focus was placed */ gtk_widget_queue_draw (widget); - return TRUE; + changed = TRUE; + break; } else { @@ -802,11 +850,84 @@ cell_area_scaffold_focus (GtkWidget *widget, } } + g_signal_handler_unblock (priv->area, priv->focus_changed_id); + /* XXX A smarter implementation would only invalidate the rectangles where * focus was removed from and new focus was placed */ gtk_widget_queue_draw (widget); - return FALSE; + return changed; +} + +static gboolean +cell_area_scaffold_button_press (GtkWidget *widget, + GdkEventButton *event) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkTreeIter iter; + gboolean valid; + GtkOrientation orientation; + gint i = 0; + GdkRectangle event_area; + GtkAllocation allocation; + gboolean handled = FALSE; + + /* Move focus from cell to cell and row to row */ + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + + gtk_widget_get_allocation (widget, &allocation); + + event_area.x = 0; + event_area.y = 0; + event_area.width = allocation.width; + event_area.height = allocation.height; + + valid = gtk_tree_model_get_iter_first (priv->model, &iter); + while (valid) + { + RowData *data = &g_array_index (priv->row_data, RowData, i); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + event_area.height = data->size; + + if (event->y >= allocation.y + event_area.y && + event->y <= allocation.y + event_area.y + event_area.height) + { + /* XXX A real implementation would assemble GtkCellRendererState flags here */ + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + handled = gtk_cell_area_event (priv->area, priv->iter, GTK_WIDGET (scaffold), + (GdkEvent *)event, &event_area, 0); + break; + } + + event_area.y += data->size; + event_area.y += ROW_SPACING; + } + else + { + event_area.width = data->size; + + if (event->x >= allocation.x + event_area.x && + event->x <= allocation.x + event_area.x + event_area.width) + { + /* XXX A real implementation would assemble GtkCellRendererState flags here */ + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + handled = gtk_cell_area_event (priv->area, priv->iter, GTK_WIDGET (scaffold), + (GdkEvent *)event, &event_area, 0); + break; + } + + event_area.x += data->size; + event_area.x += ROW_SPACING; + } + + i++; + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + + return handled; } /********************************************************* @@ -875,6 +996,42 @@ size_changed_cb (GtkCellAreaIter *iter, gtk_widget_queue_resize (GTK_WIDGET (scaffold)); } +static void +focus_changed_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *path, + CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv = scaffold->priv; + GtkWidget *widget = GTK_WIDGET (scaffold); + GtkTreePath *treepath; + gboolean found = FALSE; + gint *indices; + + if (!priv->model) + return; + + /* We can be signaled that a renderer lost focus, here + * we dont care */ + if (!renderer) + return; + + treepath = gtk_tree_path_new_from_string (path); + indices = gtk_tree_path_get_indices (treepath); + + priv->focus_row = indices[0]; + + gtk_tree_path_free (treepath); + + g_print ("Focus changed signal, new focus row %d\n", priv->focus_row); + + /* Make sure we have focus now */ + if (!gtk_widget_has_focus (widget)) + gtk_widget_grab_focus (widget); + + gtk_widget_queue_draw (widget); +} + static void rebuild_and_flush_internals (CellAreaScaffold *scaffold) { From 7e821aa980d7219741946195be38a99d75407264 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 12 Nov 2010 14:06:00 +0900 Subject: [PATCH 0200/1463] Distribute portions of GtkCellArea:render() background_area argument to cells Also added gtk_cell_area_get/set_style_detail() to set the string to be used by the area in gtk_paint_* functions. --- gtk/gtkcellarea.c | 38 ++++- gtk/gtkcellarea.h | 327 ++++++++++++++++++++++--------------------- gtk/gtkcellareabox.c | 46 ++++-- 3 files changed, 236 insertions(+), 175 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 0e6a2eed9b..95eca930e7 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -161,9 +161,6 @@ struct _GtkCellAreaPrivate */ GHashTable *cell_info; - /* Tracking which cells are focus siblings of focusable cells */ - GHashTable *focus_siblings; - /* The cell border decides how much space to reserve * around each cell for the background_area */ @@ -183,6 +180,12 @@ struct _GtkCellAreaPrivate /* Currently focused cell */ GtkCellRenderer *focus_cell; + + /* Tracking which cells are focus siblings of focusable cells */ + GHashTable *focus_siblings; + + /* Detail string to pass to gtk_paint_*() functions */ + gchar *style_detail; }; enum { @@ -1065,6 +1068,35 @@ gtk_cell_area_render (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +void +gtk_cell_area_set_style_detail (GtkCellArea *area, + const gchar *detail) +{ + GtkCellAreaPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + + priv = area->priv; + + if (g_strcmp0 (priv->style_detail, detail) != 0) + { + g_free (priv->style_detail); + priv->style_detail = g_strdup (detail); + } +} + +G_CONST_RETURN gchar * +gtk_cell_area_get_style_detail (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + priv = area->priv; + + return priv->style_detail; +} + /************************************************************* * API: Geometry * *************************************************************/ diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 685d695eca..66884519be 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -160,196 +160,199 @@ struct _GtkCellAreaClass void (*_gtk_reserved8) (void); }; -GType gtk_cell_area_get_type (void) G_GNUC_CONST; +GType gtk_cell_area_get_type (void) G_GNUC_CONST; /* Basic methods */ -void gtk_cell_area_add (GtkCellArea *area, - GtkCellRenderer *renderer); -void gtk_cell_area_remove (GtkCellArea *area, - GtkCellRenderer *renderer); -gboolean gtk_cell_area_has_renderer (GtkCellArea *area, - GtkCellRenderer *renderer); -void gtk_cell_area_forall (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); -void gtk_cell_area_get_cell_allocation (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *allocation); -gint gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags); -void gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus); +void gtk_cell_area_add (GtkCellArea *area, + GtkCellRenderer *renderer); +void gtk_cell_area_remove (GtkCellArea *area, + GtkCellRenderer *renderer); +gboolean gtk_cell_area_has_renderer (GtkCellArea *area, + GtkCellRenderer *renderer); +void gtk_cell_area_forall (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data); +void gtk_cell_area_get_cell_allocation (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); +gint gtk_cell_area_event (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +void gtk_cell_area_render (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus); +void gtk_cell_area_set_style_detail (GtkCellArea *area, + const gchar *detail); +G_CONST_RETURN gchar *gtk_cell_area_get_style_detail (GtkCellArea *area); /* Geometry */ -GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); -GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); -void gtk_cell_area_get_preferred_width (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_get_preferred_height (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); -G_CONST_RETURN gchar *gtk_cell_area_get_current_path_string (GtkCellArea *area); +GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); +GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); +void gtk_cell_area_get_preferred_width (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_get_preferred_height (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); +G_CONST_RETURN gchar *gtk_cell_area_get_current_path_string (GtkCellArea *area); /* Attributes */ -void gtk_cell_area_apply_attributes (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded); -void gtk_cell_area_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column); -void gtk_cell_area_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute); +void gtk_cell_area_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); +void gtk_cell_area_attribute_connect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute, + gint column); +void gtk_cell_area_attribute_disconnect (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *attribute); /* Cell Properties */ -void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, - guint property_id, - GParamSpec *pspec); -GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, - const gchar *property_name); -GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, - guint *n_properties); -void gtk_cell_area_add_with_properties (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) G_GNUC_NULL_TERMINATED; -void gtk_cell_area_cell_set (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) G_GNUC_NULL_TERMINATED; -void gtk_cell_area_cell_get (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) G_GNUC_NULL_TERMINATED; -void gtk_cell_area_cell_set_valist (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_property_name, - va_list var_args); -void gtk_cell_area_cell_get_valist (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_property_name, - va_list var_args); -void gtk_cell_area_cell_set_property (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *property_name, - const GValue *value); -void gtk_cell_area_cell_get_property (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *property_name, - GValue *value); +void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, + guint property_id, + GParamSpec *pspec); +GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, + const gchar *property_name); +GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, + guint *n_properties); +void gtk_cell_area_add_with_properties (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; +void gtk_cell_area_cell_set (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; +void gtk_cell_area_cell_get (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; +void gtk_cell_area_cell_set_valist (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args); +void gtk_cell_area_cell_get_valist (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args); +void gtk_cell_area_cell_set_property (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *property_name, + const GValue *value); +void gtk_cell_area_cell_get_property (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *property_name, + GValue *value); #define GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec) \ G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) /* Focus */ -gboolean gtk_cell_area_can_focus (GtkCellArea *area); -gboolean gtk_cell_area_focus (GtkCellArea *area, - GtkDirectionType direction); -gboolean gtk_cell_area_activate (GtkCellArea *area, - GtkCellAreaIter *iter, - GtkWidget *widget, - const GdkRectangle *cell_area, - GtkCellRendererState flags); -void gtk_cell_area_set_focus_cell (GtkCellArea *area, - GtkCellRenderer *renderer); -GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); +gboolean gtk_cell_area_can_focus (GtkCellArea *area); +gboolean gtk_cell_area_focus (GtkCellArea *area, + GtkDirectionType direction); +gboolean gtk_cell_area_activate (GtkCellArea *area, + GtkCellAreaIter *iter, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +void gtk_cell_area_set_focus_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); /* Focus siblings */ -void gtk_cell_area_add_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling); -void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling); -gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling); -G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area, - GtkCellRenderer *renderer); -GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, - GtkCellRenderer *renderer); +void gtk_cell_area_add_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); +G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, + GtkCellRenderer *renderer); /* Cell Activation/Editing */ -void gtk_cell_area_set_edited_cell (GtkCellArea *area, - GtkCellRenderer *renderer); -GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); -void gtk_cell_area_set_edit_widget (GtkCellArea *area, - GtkCellEditable *editable); -GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area); -gboolean gtk_cell_area_activate_cell (GtkCellArea *area, - GtkWidget *widget, - GtkCellRenderer *renderer, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags); -void gtk_cell_area_stop_editing (GtkCellArea *area, - gboolean canceled); +void gtk_cell_area_set_edited_cell (GtkCellArea *area, + GtkCellRenderer *renderer); +GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); +void gtk_cell_area_set_edit_widget (GtkCellArea *area, + GtkCellEditable *editable); +GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area); +gboolean gtk_cell_area_activate_cell (GtkCellArea *area, + GtkWidget *widget, + GtkCellRenderer *renderer, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); +void gtk_cell_area_stop_editing (GtkCellArea *area, + gboolean canceled); /* Margins */ -gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_left (GtkCellArea *area, - gint margin); -gint gtk_cell_area_get_cell_margin_right (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_right (GtkCellArea *area, - gint margin); -gint gtk_cell_area_get_cell_margin_top (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_top (GtkCellArea *area, - gint margin); -gint gtk_cell_area_get_cell_margin_bottom (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, - gint margin); +gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_left (GtkCellArea *area, + gint margin); +gint gtk_cell_area_get_cell_margin_right (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_right (GtkCellArea *area, + gint margin); +gint gtk_cell_area_get_cell_margin_top (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_top (GtkCellArea *area, + gint margin); +gint gtk_cell_area_get_cell_margin_bottom (GtkCellArea *area); +void gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, + gint margin); /* Functions for area implementations */ /* Distinguish the inner cell area from the whole requested area including margins */ -void gtk_cell_area_inner_cell_area (GtkCellArea *area, - const GdkRectangle *cell_area, - GdkRectangle *inner_cell_area); +void gtk_cell_area_inner_cell_area (GtkCellArea *area, + const GdkRectangle *cell_area, + GdkRectangle *inner_cell_area); /* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */ -void gtk_cell_area_request_renderer (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkOrientation orientation, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size); +void gtk_cell_area_request_renderer (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); G_END_DECLS diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 0b0f23c624..7fbcf9ba52 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1041,8 +1041,38 @@ gtk_cell_area_box_render (GtkCellArea *area, */ gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); - /* XXX TODO Here after getting the inner area of the cell background, + /* Here after getting the inner area of the cell background, * add portions of the background area to the cell background */ + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (l == allocated_cells) + { + cell_background.width += cell_background.x - background_area->x; + cell_background.x = background_area->x; + } + + if (l->next == NULL) + cell_background.width = + background_area->width - (cell_background.x - background_area->x); + + cell_background.y = background_area->y; + cell_background.height = background_area->height; + } + else + { + if (l == allocated_cells) + { + cell_background.height += cell_background.y - background_area->y; + cell_background.y = background_area->y; + } + + if (l->next == NULL) + cell_background.height = + background_area->height - (cell_background.y - background_area->y); + + cell_background.x = background_area->x; + cell_background.width = background_area->width; + } if (focus_cell && (cell->renderer == focus_cell || @@ -1108,15 +1138,11 @@ gtk_cell_area_box_render (GtkCellArea *area, (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); - gtk_paint_focus (gtk_widget_get_style (widget), - cr, renderer_state, - widget, - /* XXX This hint should be a property on GtkCellArea I suppose */ - "treeview", - focus_rect.x, - focus_rect.y, - focus_rect.width, - focus_rect.height); + gtk_paint_focus (gtk_widget_get_style (widget), cr, + renderer_state, widget, + gtk_cell_area_get_style_detail (area), + focus_rect.x, focus_rect.y, + focus_rect.width, focus_rect.height); } From 38666b406fe8b2f08e0d67014daea951c6efea73 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 12 Nov 2010 19:25:07 +0900 Subject: [PATCH 0201/1463] Ironed out the kinks in editing apis for GtkCellArea - Added gtk_cell_area_aligned_cell_area() to get the aligned internal area use by a cell (for focus painting and for event areas). - Provide the event area in "editing-started" signal - Fire "remove-editable" when editing is canceled by the user, an implementing layouting widget need only catch "editing-started" and "remove-editable" now. - CellAreaScaffold/testcellarea now edit textrenderers. --- gtk/gtkcellarea.c | 96 ++++++++++++++++---- gtk/gtkcellarea.h | 10 ++- gtk/gtkcellareabox.c | 65 ++++---------- gtk/gtkmarshalers.list | 1 + tests/cellareascaffold.c | 187 ++++++++++++++++++++++++++++++++------- tests/cellareascaffold.h | 4 +- tests/testcellarea.c | 23 ++++- 7 files changed, 290 insertions(+), 96 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 95eca930e7..7427254daa 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -132,7 +132,8 @@ static gint cell_attribute_find (CellAttribute *cell_attribut /* Internal signal emissions */ static void gtk_cell_area_editing_started (GtkCellArea *area, GtkCellRenderer *renderer, - GtkCellEditable *editable); + GtkCellEditable *editable, + GdkRectangle *cell_area); static void gtk_cell_area_editing_canceled (GtkCellArea *area, GtkCellRenderer *renderer); static void gtk_cell_area_editing_done (GtkCellArea *area, @@ -292,10 +293,11 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) G_SIGNAL_RUN_FIRST, 0, /* No class closure here */ NULL, NULL, - _gtk_marshal_VOID__OBJECT_OBJECT_STRING, - G_TYPE_NONE, 3, + _gtk_marshal_VOID__OBJECT_OBJECT_BOXED_STRING, + G_TYPE_NONE, 4, GTK_TYPE_CELL_RENDERER, GTK_TYPE_CELL_EDITABLE, + GDK_TYPE_RECTANGLE, G_TYPE_STRING); cell_area_signals[SIGNAL_EDITING_CANCELED] = @@ -2079,10 +2081,11 @@ gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, static void gtk_cell_area_editing_started (GtkCellArea *area, GtkCellRenderer *renderer, - GtkCellEditable *editable) + GtkCellEditable *editable, + GdkRectangle *cell_area) { g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_STARTED], 0, - renderer, editable, area->priv->current_path); + renderer, editable, cell_area, area->priv->current_path); } static void @@ -2276,14 +2279,18 @@ gtk_cell_area_activate_cell (GtkCellArea *area, if (editable_widget != NULL) { + GdkRectangle edit_area; + g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); gtk_cell_area_set_edited_cell (area, renderer); gtk_cell_area_set_edit_widget (area, editable_widget); + + gtk_cell_area_aligned_cell_area (area, widget, renderer, &inner_area, &edit_area); /* Signal that editing started so that callers can get * a handle on the editable_widget */ - gtk_cell_area_editing_started (area, priv->focus_cell, editable_widget); + gtk_cell_area_editing_started (area, priv->focus_cell, editable_widget, &edit_area); return TRUE; } @@ -2304,9 +2311,12 @@ gtk_cell_area_stop_editing (GtkCellArea *area, if (priv->edited_cell) { + GtkCellEditable *edit_widget = g_object_ref (priv->edit_widget); + GtkCellRenderer *edit_cell = g_object_ref (priv->edited_cell); + /* Stop editing of the cell renderer */ gtk_cell_renderer_stop_editing (priv->edited_cell, canceled); - + /* Signal that editing has been canceled */ if (canceled) gtk_cell_area_editing_canceled (area, priv->edited_cell); @@ -2314,6 +2324,13 @@ gtk_cell_area_stop_editing (GtkCellArea *area, /* Remove any references to the editable widget */ gtk_cell_area_set_edited_cell (area, NULL); gtk_cell_area_set_edit_widget (area, NULL); + + /* Send the remove-widget signal explicitly (this is done after setting + * the edit cell/widget NULL to avoid feedback) + */ + gtk_cell_area_remove_editable (area, edit_cell, edit_widget); + g_object_unref (edit_cell); + g_object_unref (edit_widget); } } @@ -2426,23 +2443,72 @@ gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, void gtk_cell_area_inner_cell_area (GtkCellArea *area, - const GdkRectangle *background_area, - GdkRectangle *cell_area) + const GdkRectangle *cell_area, + GdkRectangle *inner_area) { GtkCellAreaPrivate *priv; g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (background_area != NULL); g_return_if_fail (cell_area != NULL); + g_return_if_fail (inner_area != NULL); priv = area->priv; - *cell_area = *background_area; + *inner_area = *cell_area; - cell_area->x += priv->cell_border.left; - cell_area->width -= (priv->cell_border.left + priv->cell_border.right); - cell_area->y += priv->cell_border.top; - cell_area->height -= (priv->cell_border.top + priv->cell_border.bottom); + inner_area->x += priv->cell_border.left; + inner_area->width -= (priv->cell_border.left + priv->cell_border.right); + inner_area->y += priv->cell_border.top; + inner_area->height -= (priv->cell_border.top + priv->cell_border.bottom); +} + +void +gtk_cell_area_aligned_cell_area (GtkCellArea *area, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area) +{ + GtkCellAreaPrivate *priv; + gint opposite_size, x_offset, y_offset; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (cell_area != NULL); + g_return_if_fail (aligned_area != NULL); + + priv = area->priv; + + *aligned_area = *cell_area; + + /* Trim up the aligned size */ + if (gtk_cell_renderer_get_request_mode (renderer) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) + { + gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, + aligned_area->width, + NULL, &opposite_size); + + aligned_area->height = MIN (opposite_size, aligned_area->height); + } + else + { + gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, + aligned_area->height, + NULL, &opposite_size); + + aligned_area->width = MIN (opposite_size, aligned_area->width); + } + + /* offset the cell position */ + _gtk_cell_renderer_calc_offset (renderer, cell_area, + gtk_widget_get_direction (widget), + aligned_area->width, + aligned_area->height, + &x_offset, &y_offset); + + aligned_area->x += x_offset; + aligned_area->y += y_offset; } void diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 66884519be..2ef917805f 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -343,7 +343,15 @@ void gtk_cell_area_set_cell_margin_bottom (GtkCellArea /* Distinguish the inner cell area from the whole requested area including margins */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, const GdkRectangle *cell_area, - GdkRectangle *inner_cell_area); + GdkRectangle *inner_area); + +/* Aligns a cell renderer into cell_area by requesting it's size ... used for focus and cell edit areas */ +void gtk_cell_area_aligned_cell_area (GtkCellArea *area, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); + /* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */ void gtk_cell_area_request_renderer (GtkCellArea *area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 7fbcf9ba52..a6f6acdd08 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -903,11 +903,8 @@ gtk_cell_area_box_event (GtkCellArea *area, GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); GSList *allocated_cells, *l; GdkRectangle cell_background, inner_area; - GtkAllocation allocation; gint event_x, event_y; - gtk_widget_get_allocation (widget, &allocation); - /* We may need some semantics to tell us the offset of the event * window we are handling events for (i.e. GtkTreeView has a bin_window) */ event_x = button_event->x; @@ -1025,6 +1022,7 @@ gtk_cell_area_box_render (GtkCellArea *area, { AllocatedCell *cell = l->data; GtkCellRendererState cell_fields = 0; + GdkRectangle render_background; if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -1041,37 +1039,39 @@ gtk_cell_area_box_render (GtkCellArea *area, */ gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); - /* Here after getting the inner area of the cell background, - * add portions of the background area to the cell background */ + /* Add portions of the background_area to the cell_background + * to create the render_background */ + render_background = cell_background; + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { if (l == allocated_cells) { - cell_background.width += cell_background.x - background_area->x; - cell_background.x = background_area->x; + render_background.width += render_background.x - background_area->x; + render_background.x = background_area->x; } if (l->next == NULL) - cell_background.width = - background_area->width - (cell_background.x - background_area->x); + render_background.width = + background_area->width - (render_background.x - background_area->x); - cell_background.y = background_area->y; - cell_background.height = background_area->height; + render_background.y = background_area->y; + render_background.height = background_area->height; } else { if (l == allocated_cells) { - cell_background.height += cell_background.y - background_area->y; - cell_background.y = background_area->y; + render_background.height += render_background.y - background_area->y; + render_background.y = background_area->y; } if (l->next == NULL) - cell_background.height = - background_area->height - (cell_background.y - background_area->y); + render_background.height = + background_area->height - (render_background.y - background_area->y); - cell_background.x = background_area->x; - cell_background.width = background_area->width; + render_background.x = background_area->x; + render_background.width = background_area->width; } if (focus_cell && @@ -1083,35 +1083,8 @@ gtk_cell_area_box_render (GtkCellArea *area, if (paint_focus) { GdkRectangle cell_focus; - gint opposite_size, x_offset, y_offset; - cell_focus = inner_area; - - /* Trim up the focus size */ - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - gtk_cell_renderer_get_preferred_height_for_width (cell->renderer, widget, - cell_focus.width, - NULL, &opposite_size); - - cell_focus.height = MIN (opposite_size, cell_focus.height); - } - else - { - gtk_cell_renderer_get_preferred_width_for_height (cell->renderer, widget, - cell_focus.height, - NULL, &opposite_size); - - cell_focus.width = MIN (opposite_size, cell_focus.width); - } - - /* offset the cell position */ - _gtk_cell_renderer_calc_offset (cell->renderer, &inner_area, GTK_TEXT_DIR_LTR, - cell_focus.width, cell_focus.height, - &x_offset, &y_offset); - - cell_focus.x += x_offset; - cell_focus.y += y_offset; + gtk_cell_area_aligned_cell_area (area, widget, cell->renderer, &inner_area, &cell_focus); /* Accumulate the focus rectangle for all focus siblings */ if (first_focus_cell) @@ -1127,7 +1100,7 @@ gtk_cell_area_box_render (GtkCellArea *area, /* We have to do some per-cell considerations for the 'flags' * for focus handling */ gtk_cell_renderer_render (cell->renderer, cr, widget, - &cell_background, &inner_area, + &render_background, &inner_area, flags | cell_fields); } diff --git a/gtk/gtkmarshalers.list b/gtk/gtkmarshalers.list index 9332f3a172..248bd6e059 100644 --- a/gtk/gtkmarshalers.list +++ b/gtk/gtkmarshalers.list @@ -92,6 +92,7 @@ VOID:OBJECT,UINT,FLAGS VOID:OBJECT,STRING VOID:OBJECT,OBJECT,STRING VOID:OBJECT,OBJECT,OBJECT +VOID:OBJECT,OBJECT,BOXED,STRING VOID:POINTER VOID:POINTER,INT VOID:POINTER,BOOLEAN diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 3e3787ab4d..66750b09c9 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -64,6 +64,19 @@ static gint cell_area_scaffold_focus (GtkWidget static gboolean cell_area_scaffold_button_press (GtkWidget *widget, GdkEventButton *event); +/* GtkContainerClass */ +static void cell_area_scaffold_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); +static void cell_area_scaffold_remove (GtkContainer *container, + GtkWidget *child); +static void cell_area_scaffold_put_edit_widget (CellAreaScaffold *scaffold, + GtkWidget *edit_widget, + gint x, + gint y, + gint width, + gint height); /* CellAreaScaffoldClass */ static void cell_area_scaffold_activate (CellAreaScaffold *scaffold); @@ -76,22 +89,32 @@ static void focus_changed_cb (GtkCellArea GtkCellRenderer *renderer, const gchar *path, CellAreaScaffold *scaffold); +static void editing_started_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + GdkRectangle *cell_area, + const gchar *path, + CellAreaScaffold *scaffold); +static void remove_editable_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + CellAreaScaffold *scaffold); static void row_changed_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, CellAreaScaffold *scaffold); -static void row_inserted_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - CellAreaScaffold *scaffold); -static void row_deleted_cb (GtkTreeModel *model, - GtkTreePath *path, - CellAreaScaffold *scaffold); -static void rows_reordered_cb (GtkTreeModel *model, - GtkTreePath *parent, - GtkTreeIter *iter, - gint *new_order, - CellAreaScaffold *scaffold); +static void row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + CellAreaScaffold *scaffold); +static void row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + CellAreaScaffold *scaffold); +static void rows_reordered_cb (GtkTreeModel *model, + GtkTreePath *parent, + GtkTreeIter *iter, + gint *new_order, + CellAreaScaffold *scaffold); typedef struct { gint size; /* The size of the row in the scaffold's opposing orientation */ @@ -124,7 +147,11 @@ struct _CellAreaScaffoldPrivate { * we need to queue a redraw */ gulong size_changed_id; - + /* Currently edited widget */ + GtkWidget *edit_widget; + GdkRectangle edit_rect; + gulong editing_started_id; + gulong remove_editable_id; }; enum { @@ -149,7 +176,7 @@ static guint scaffold_signals[N_SIGNALS] = { 0 }; (dir) == GTK_DIR_LEFT ? "left" : \ (dir) == GTK_DIR_RIGHT ? "right" : "invalid") -G_DEFINE_TYPE_WITH_CODE (CellAreaScaffold, cell_area_scaffold, GTK_TYPE_WIDGET, +G_DEFINE_TYPE_WITH_CODE (CellAreaScaffold, cell_area_scaffold, GTK_TYPE_CONTAINER, G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); @@ -171,28 +198,39 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) gtk_widget_set_has_window (GTK_WIDGET (scaffold), FALSE); gtk_widget_set_can_focus (GTK_WIDGET (scaffold), TRUE); + priv->size_changed_id = + g_signal_connect (priv->iter, "notify", + G_CALLBACK (size_changed_cb), scaffold); + priv->focus_changed_id = g_signal_connect (priv->area, "focus-changed", G_CALLBACK (focus_changed_cb), scaffold); - priv->size_changed_id = - g_signal_connect (priv->iter, "notify", - G_CALLBACK (size_changed_cb), scaffold); + priv->editing_started_id = + g_signal_connect (priv->area, "editing-started", + G_CALLBACK (editing_started_cb), scaffold); + + priv->remove_editable_id = + g_signal_connect (priv->area, "remove-editable", + G_CALLBACK (remove_editable_cb), scaffold); + + } static void cell_area_scaffold_class_init (CellAreaScaffoldClass *class) { - GObjectClass *gobject_class; - GtkWidgetClass *widget_class; + GObjectClass *gobject_class; + GtkWidgetClass *widget_class; + GtkContainerClass *container_class; - gobject_class = G_OBJECT_CLASS(class); + gobject_class = G_OBJECT_CLASS (class); gobject_class->dispose = cell_area_scaffold_dispose; gobject_class->finalize = cell_area_scaffold_finalize; gobject_class->get_property = cell_area_scaffold_get_property; gobject_class->set_property = cell_area_scaffold_set_property; - widget_class = GTK_WIDGET_CLASS(class); + widget_class = GTK_WIDGET_CLASS (class); widget_class->realize = cell_area_scaffold_realize; widget_class->unrealize = cell_area_scaffold_unrealize; widget_class->draw = cell_area_scaffold_draw; @@ -206,6 +244,10 @@ cell_area_scaffold_class_init (CellAreaScaffoldClass *class) widget_class->focus = cell_area_scaffold_focus; widget_class->button_press_event = cell_area_scaffold_button_press; + container_class = GTK_CONTAINER_CLASS (class); + container_class->forall = cell_area_scaffold_forall; + container_class->remove = cell_area_scaffold_remove; + class->activate = cell_area_scaffold_activate; g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); @@ -264,6 +306,8 @@ cell_area_scaffold_dispose (GObject *object) { /* Disconnect signals */ g_signal_handler_disconnect (priv->area, priv->focus_changed_id); + g_signal_handler_disconnect (priv->area, priv->editing_started_id); + g_signal_handler_disconnect (priv->area, priv->remove_editable_id); g_object_unref (priv->area); priv->area = NULL; @@ -443,6 +487,9 @@ cell_area_scaffold_draw (GtkWidget *widget, valid = gtk_tree_model_iter_next (priv->model, &iter); } + /* Draw the edit widget after drawing everything else */ + GTK_WIDGET_CLASS (cell_area_scaffold_parent_class)->draw (widget, cr); + return FALSE; } @@ -538,6 +585,10 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, allocation->width, allocation->height); + /* Allocate the child GtkCellEditable widget if one is currently editing a row */ + if (priv->edit_widget) + gtk_widget_size_allocate (priv->edit_widget, &priv->edit_rect); + if (!priv->model) return; @@ -546,13 +597,13 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, /* Cache the per-row sizes and allocate the iter */ if (orientation == GTK_ORIENTATION_HORIZONTAL) { - get_row_sizes (scaffold, priv->row_data, allocation->width); gtk_cell_area_iter_allocate_width (priv->iter, allocation->width); + get_row_sizes (scaffold, priv->row_data, allocation->width); } else { - get_row_sizes (scaffold, priv->row_data, allocation->height); gtk_cell_area_iter_allocate_height (priv->iter, allocation->height); + get_row_sizes (scaffold, priv->row_data, allocation->height); } } @@ -892,8 +943,8 @@ cell_area_scaffold_button_press (GtkWidget *widget, { event_area.height = data->size; - if (event->y >= allocation.y + event_area.y && - event->y <= allocation.y + event_area.y + event_area.height) + if (event->y >= event_area.y && + event->y <= event_area.y + event_area.height) { /* XXX A real implementation would assemble GtkCellRendererState flags here */ gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); @@ -909,8 +960,8 @@ cell_area_scaffold_button_press (GtkWidget *widget, { event_area.width = data->size; - if (event->x >= allocation.x + event_area.x && - event->x <= allocation.x + event_area.x + event_area.width) + if (event->x >= event_area.x && + event->x <= event_area.x + event_area.width) { /* XXX A real implementation would assemble GtkCellRendererState flags here */ gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); @@ -930,6 +981,55 @@ cell_area_scaffold_button_press (GtkWidget *widget, return handled; } + +/********************************************************* + * GtkContainerClass * + *********************************************************/ +static void +cell_area_scaffold_put_edit_widget (CellAreaScaffold *scaffold, + GtkWidget *edit_widget, + gint x, + gint y, + gint width, + gint height) +{ + CellAreaScaffoldPrivate *priv = scaffold->priv; + + priv->edit_rect.x = x; + priv->edit_rect.y = y; + priv->edit_rect.width = width; + priv->edit_rect.height = height; + priv->edit_widget = edit_widget; + + gtk_widget_set_parent (edit_widget, GTK_WIDGET (scaffold)); +} + +static void +cell_area_scaffold_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (container); + CellAreaScaffoldPrivate *priv = scaffold->priv; + + if (priv->edit_widget) + (* callback) (priv->edit_widget, callback_data); +} + +static void +cell_area_scaffold_remove (GtkContainer *container, + GtkWidget *child) +{ + CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (container); + CellAreaScaffoldPrivate *priv = scaffold->priv; + + g_return_if_fail (child == priv->edit_widget); + + gtk_widget_unparent (priv->edit_widget); + priv->edit_widget = NULL; +} + /********************************************************* * CellAreaScaffoldClass * *********************************************************/ @@ -1005,7 +1105,6 @@ focus_changed_cb (GtkCellArea *area, CellAreaScaffoldPrivate *priv = scaffold->priv; GtkWidget *widget = GTK_WIDGET (scaffold); GtkTreePath *treepath; - gboolean found = FALSE; gint *indices; if (!priv->model) @@ -1023,8 +1122,6 @@ focus_changed_cb (GtkCellArea *area, gtk_tree_path_free (treepath); - g_print ("Focus changed signal, new focus row %d\n", priv->focus_row); - /* Make sure we have focus now */ if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); @@ -1032,6 +1129,36 @@ focus_changed_cb (GtkCellArea *area, gtk_widget_queue_draw (widget); } +static void +editing_started_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + GdkRectangle *cell_area, + const gchar *path, + CellAreaScaffold *scaffold) +{ + GtkAllocation allocation; + + gtk_widget_get_allocation (GTK_WIDGET (scaffold), &allocation); + + cell_area_scaffold_put_edit_widget (scaffold, GTK_WIDGET (edit_widget), + allocation.x + cell_area->x, + allocation.y + cell_area->y, + cell_area->width, cell_area->height); + + gtk_cell_editable_start_editing (edit_widget, NULL); + gtk_widget_grab_focus (GTK_WIDGET (edit_widget)); +} + +static void +remove_editable_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + CellAreaScaffold *scaffold) +{ + gtk_container_remove (GTK_CONTAINER (scaffold), GTK_WIDGET (edit_widget)); +} + static void rebuild_and_flush_internals (CellAreaScaffold *scaffold) { diff --git a/tests/cellareascaffold.h b/tests/cellareascaffold.h index 411ecf8cf9..cf9fa06726 100644 --- a/tests/cellareascaffold.h +++ b/tests/cellareascaffold.h @@ -43,14 +43,14 @@ typedef struct _CellAreaScaffoldPrivate CellAreaScaffoldPrivate; struct _CellAreaScaffold { - GtkWidget widget; + GtkContainer widget; CellAreaScaffoldPrivate *priv; }; struct _CellAreaScaffoldClass { - GtkWidgetClass parent_class; + GtkContainerClass parent_class; void (* activate) (CellAreaScaffold *scaffold); }; diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 0acf2ebbb5..c6db6ae5e5 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -291,7 +291,7 @@ focus_list_model (void) static void cell_toggled (GtkCellRendererToggle *cell_renderer, - gchar *path, + const gchar *path, CellAreaScaffold *scaffold) { GtkTreeModel *model = cell_area_scaffold_get_model (scaffold); @@ -307,6 +307,23 @@ cell_toggled (GtkCellRendererToggle *cell_renderer, gtk_list_store_set (GTK_LIST_STORE (model), &iter, FOCUS_COLUMN_CHECK, !active, -1); } +static void +cell_edited (GtkCellRendererToggle *cell_renderer, + const gchar *path, + const gchar *new_text, + CellAreaScaffold *scaffold) +{ + GtkTreeModel *model = cell_area_scaffold_get_model (scaffold); + GtkTreeIter iter; + + g_print ("Cell edited with new text '%s' !\n", new_text); + + if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) + return; + + gtk_list_store_set (GTK_LIST_STORE (model), &iter, FOCUS_COLUMN_NAME, new_text, -1); +} + static GtkWidget * focus_scaffold (void) { @@ -329,7 +346,9 @@ focus_scaffold (void) gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_NAME); - /* Catch signal ... */ + g_signal_connect (G_OBJECT (renderer), "edited", + G_CALLBACK (cell_edited), scaffold); + focus_renderer = renderer = gtk_cell_renderer_toggle_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); From 47d55c4a4bda941f7c0b31a75c2e18a938fe22ab Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 12 Nov 2010 19:44:45 +0900 Subject: [PATCH 0202/1463] Added orientation control to testcellarea's focus/editing test --- tests/testcellarea.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/testcellarea.c b/tests/testcellarea.c index c6db6ae5e5..c9e478efaa 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -411,6 +411,16 @@ focus_cell_area (void) gtk_widget_show (vbox); gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + widget = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Vertical"); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "changed", + G_CALLBACK (orientation_changed), scaffold); + widget = gtk_check_button_new_with_label ("Focus Sibling"); gtk_widget_show (widget); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); From 51b75ef44b5d6176d8f683652be93652b6568fe7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 12 Nov 2010 21:55:28 +0900 Subject: [PATCH 0203/1463] Added tests to reflect proper treatment of background area. CellAreaScaffold now also reflects how cell_area should be passed to gtk_cell_area_activate() and gtk_cell_area_event() and how the background area for gtk_cell_area_renderer() should be created. --- gtk/gtkcellarea.c | 8 +- tests/cellareascaffold.c | 177 ++++++++++++++++++++++++++++++++---- tests/cellareascaffold.h | 22 +++-- tests/testcellarea.c | 191 ++++++++++++++++++++++++++++++++++++++- 4 files changed, 368 insertions(+), 30 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 7427254daa..5dbc602762 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2359,7 +2359,7 @@ gtk_cell_area_set_cell_margin_left (GtkCellArea *area, { priv->cell_border.left = margin; - g_object_notify (G_OBJECT (area), "margin-left"); + g_object_notify (G_OBJECT (area), "cell-margin-left"); } } @@ -2385,7 +2385,7 @@ gtk_cell_area_set_cell_margin_right (GtkCellArea *area, { priv->cell_border.right = margin; - g_object_notify (G_OBJECT (area), "margin-right"); + g_object_notify (G_OBJECT (area), "cell-margin-right"); } } @@ -2411,7 +2411,7 @@ gtk_cell_area_set_cell_margin_top (GtkCellArea *area, { priv->cell_border.top = margin; - g_object_notify (G_OBJECT (area), "margin-top"); + g_object_notify (G_OBJECT (area), "cell-margin-top"); } } @@ -2437,7 +2437,7 @@ gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, { priv->cell_border.bottom = margin; - g_object_notify (G_OBJECT (area), "margin-bottom"); + g_object_notify (G_OBJECT (area), "cell-margin-bottom"); } } diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 66750b09c9..32a07e1f23 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -152,6 +152,10 @@ struct _CellAreaScaffoldPrivate { GdkRectangle edit_rect; gulong editing_started_id; gulong remove_editable_id; + + + gint row_spacing; + gint indent; }; enum { @@ -166,8 +170,6 @@ enum { static guint scaffold_signals[N_SIGNALS] = { 0 }; -#define ROW_SPACING 2 - #define DIRECTION_STR(dir) \ ((dir) == GTK_DIR_TAB_FORWARD ? "tab forward" : \ (dir) == GTK_DIR_TAB_BACKWARD ? "tab backward" : \ @@ -213,8 +215,6 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) priv->remove_editable_id = g_signal_connect (priv->area, "remove-editable", G_CALLBACK (remove_editable_cb), scaffold); - - } static void @@ -429,6 +429,7 @@ cell_area_scaffold_draw (GtkWidget *widget, GtkOrientation orientation; GtkTreeIter iter; gboolean valid; + GdkRectangle background_area; GdkRectangle render_area; GtkAllocation allocation; gint i = 0; @@ -448,6 +449,19 @@ cell_area_scaffold_draw (GtkWidget *widget, render_area.width = allocation.width; render_area.height = allocation.height; + background_area = render_area; + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + render_area.x = priv->indent; + render_area.width -= priv->indent; + } + else + { + render_area.y = priv->indent; + render_area.height -= priv->indent; + } + valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { @@ -460,27 +474,65 @@ cell_area_scaffold_draw (GtkWidget *widget, if (orientation == GTK_ORIENTATION_HORIZONTAL) { - render_area.height = data->size; + render_area.height = data->size; + + background_area.height = render_area.height; + background_area.y = render_area.y; + + if (i == 0) + { + background_area.height += priv->row_spacing / 2; + background_area.height += priv->row_spacing % 2; + } + else if (i == priv->row_data->len - 1) + { + background_area.y -= priv->row_spacing / 2; + background_area.height += priv->row_spacing / 2; + } + else + { + background_area.y -= priv->row_spacing / 2; + background_area.height += priv->row_spacing; + } } - else + else /* GTK_ORIENTATION_VERTICAL */ { - render_area.width = data->size; + render_area.width = data->size; + + background_area.width = render_area.height; + background_area.x = render_area.x; + + if (i == 0) + { + background_area.width += priv->row_spacing / 2; + background_area.width += priv->row_spacing % 2; + } + else if (i == priv->row_data->len - 1) + { + background_area.x -= priv->row_spacing / 2; + background_area.width += priv->row_spacing / 2; + } + else + { + background_area.x -= priv->row_spacing / 2; + background_area.width += priv->row_spacing; + } } gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); gtk_cell_area_render (priv->area, priv->iter, widget, cr, - &render_area, &render_area, flags, + &background_area, &render_area, flags, (have_focus && i == priv->focus_row)); if (orientation == GTK_ORIENTATION_HORIZONTAL) { render_area.y += data->size; - render_area.y += ROW_SPACING; + render_area.y += priv->row_spacing; } else { render_area.x += data->size; - render_area.x += ROW_SPACING; + render_area.x += priv->row_spacing; } i++; @@ -627,6 +679,9 @@ cell_area_scaffold_get_preferred_width (GtkWidget *widget, request_all_base (scaffold); gtk_cell_area_iter_get_preferred_width (priv->iter, minimum_size, natural_size); + + *minimum_size += priv->indent; + *natural_size += priv->indent; } else { @@ -666,7 +721,7 @@ cell_area_scaffold_get_preferred_height_for_width (GtkWidget *widget, memset (request_array->data, 0x0, n_rows * sizeof (RowData)); /* Gather each contextual size into the request array */ - get_row_sizes (scaffold, request_array, for_size); + get_row_sizes (scaffold, request_array, for_size - priv->indent); /* Sum up the size and add some row spacing */ for (i = 0; i < n_rows; i++) @@ -676,7 +731,7 @@ cell_area_scaffold_get_preferred_height_for_width (GtkWidget *widget, full_size += data->size; } - full_size += MAX (0, n_rows -1) * ROW_SPACING; + full_size += MAX (0, n_rows -1) * priv->row_spacing; g_array_free (request_array, TRUE); @@ -708,6 +763,9 @@ cell_area_scaffold_get_preferred_height (GtkWidget *widget, request_all_base (scaffold); gtk_cell_area_iter_get_preferred_height (priv->iter, minimum_size, natural_size); + + *minimum_size += priv->indent; + *natural_size += priv->indent; } else { @@ -747,7 +805,7 @@ cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, memset (request_array->data, 0x0, n_rows * sizeof (RowData)); /* Gather each contextual size into the request array */ - get_row_sizes (scaffold, request_array, for_size); + get_row_sizes (scaffold, request_array, for_size - priv->indent); /* Sum up the size and add some row spacing */ for (i = 0; i < n_rows; i++) @@ -757,7 +815,7 @@ cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, full_size += data->size; } - full_size += MAX (0, n_rows -1) * ROW_SPACING; + full_size += MAX (0, n_rows -1) * priv->row_spacing; g_array_free (request_array, TRUE); @@ -934,6 +992,17 @@ cell_area_scaffold_button_press (GtkWidget *widget, event_area.width = allocation.width; event_area.height = allocation.height; + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + event_area.x = priv->indent; + event_area.width -= priv->indent; + } + else + { + event_area.y = priv->indent; + event_area.height -= priv->indent; + } + valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { @@ -954,7 +1023,7 @@ cell_area_scaffold_button_press (GtkWidget *widget, } event_area.y += data->size; - event_area.y += ROW_SPACING; + event_area.y += priv->row_spacing; } else { @@ -971,7 +1040,7 @@ cell_area_scaffold_button_press (GtkWidget *widget, } event_area.x += data->size; - event_area.x += ROW_SPACING; + event_area.x += priv->row_spacing; } i++; @@ -1053,6 +1122,17 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) cell_area.width = allocation.width; cell_area.height = allocation.height; + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + cell_area.x = priv->indent; + cell_area.width -= priv->indent; + } + else + { + cell_area.y = priv->indent; + cell_area.height -= priv->indent; + } + valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { @@ -1072,9 +1152,9 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) } if (orientation == GTK_ORIENTATION_HORIZONTAL) - cell_area.y += data->size + ROW_SPACING; + cell_area.y += data->size + priv->row_spacing; else - cell_area.x += data->size + ROW_SPACING; + cell_area.x += data->size + priv->row_spacing; i++; valid = gtk_tree_model_iter_next (priv->model, &iter); @@ -1298,3 +1378,64 @@ cell_area_scaffold_get_model (CellAreaScaffold *scaffold) return priv->model; } + + +void +cell_area_scaffold_set_row_spacing (CellAreaScaffold *scaffold, + gint spacing) +{ + CellAreaScaffoldPrivate *priv; + + g_return_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold)); + + priv = scaffold->priv; + + if (priv->row_spacing != spacing) + { + priv->row_spacing = spacing; + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); + } +} + +gint +cell_area_scaffold_get_row_spacing (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv; + + g_return_val_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold), 0); + + priv = scaffold->priv; + + return priv->row_spacing; +} + +void +cell_area_scaffold_set_indentation (CellAreaScaffold *scaffold, + gint indent) +{ + CellAreaScaffoldPrivate *priv; + + g_return_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold)); + + priv = scaffold->priv; + + if (priv->indent != indent) + { + priv->indent = indent; + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); + } +} + +gint +cell_area_scaffold_get_indentation (CellAreaScaffold *scaffold) +{ + CellAreaScaffoldPrivate *priv; + + g_return_val_if_fail (IS_CELL_AREA_SCAFFOLD (scaffold), 0); + + priv = scaffold->priv; + + return priv->indent; +} + + diff --git a/tests/cellareascaffold.h b/tests/cellareascaffold.h index cf9fa06726..cdc7b254c9 100644 --- a/tests/cellareascaffold.h +++ b/tests/cellareascaffold.h @@ -56,13 +56,23 @@ struct _CellAreaScaffoldClass }; -GType cell_area_scaffold_get_type (void) G_GNUC_CONST; -GtkWidget *cell_area_scaffold_new (void); +GType cell_area_scaffold_get_type (void) G_GNUC_CONST; +GtkWidget *cell_area_scaffold_new (void); + +GtkCellArea *cell_area_scaffold_get_area (CellAreaScaffold *scaffold); +void cell_area_scaffold_set_model (CellAreaScaffold *scaffold, + GtkTreeModel *model); +GtkTreeModel *cell_area_scaffold_get_model (CellAreaScaffold *scaffold); + +void cell_area_scaffold_set_row_spacing (CellAreaScaffold *scaffold, + gint spacing); +gint cell_area_scaffold_get_row_spacing (CellAreaScaffold *scaffold); + +void cell_area_scaffold_set_indentation (CellAreaScaffold *scaffold, + gint indent); +gint cell_area_scaffold_get_indentation (CellAreaScaffold *scaffold); + -GtkCellArea *cell_area_scaffold_get_area (CellAreaScaffold *scaffold); -void cell_area_scaffold_set_model (CellAreaScaffold *scaffold, - GtkTreeModel *model); -GtkTreeModel *cell_area_scaffold_get_model (CellAreaScaffold *scaffold); G_END_DECLS diff --git a/tests/testcellarea.c b/tests/testcellarea.c index c9e478efaa..0be88c7fa0 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -168,6 +168,8 @@ simple_cell_area (void) window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "CellArea expand and alignments"); + scaffold = simple_scaffold (); hbox = gtk_hbox_new (FALSE, 4); @@ -325,7 +327,7 @@ cell_edited (GtkCellRendererToggle *cell_renderer, } static GtkWidget * -focus_scaffold (void) +focus_scaffold (gboolean color_bg) { GtkTreeModel *model; GtkWidget *scaffold; @@ -346,6 +348,9 @@ focus_scaffold (void) gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_NAME); + if (color_bg) + g_object_set (G_OBJECT (renderer), "cell-background", "red", NULL); + g_signal_connect (G_OBJECT (renderer), "edited", G_CALLBACK (cell_edited), scaffold); @@ -354,6 +359,9 @@ focus_scaffold (void) gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); + if (color_bg) + g_object_set (G_OBJECT (renderer), "cell-background", "green", NULL); + g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (cell_toggled), scaffold); @@ -362,9 +370,15 @@ focus_scaffold (void) "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 150, NULL); + + if (color_bg) + g_object_set (G_OBJECT (renderer), "cell-background", "blue", NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT); + gtk_cell_area_add_focus_sibling (area, focus_renderer, sibling_renderer); + return scaffold; } @@ -394,7 +408,9 @@ focus_cell_area (void) hbox = gtk_hbox_new (FALSE, 4); gtk_widget_show (hbox); - scaffold = focus_scaffold (); + gtk_window_set_title (GTK_WINDOW (window), "Focus and editable cells"); + + scaffold = focus_scaffold (FALSE); frame = gtk_frame_new (NULL); gtk_widget_show (frame); @@ -422,6 +438,7 @@ focus_cell_area (void) G_CALLBACK (orientation_changed), scaffold); widget = gtk_check_button_new_with_label ("Focus Sibling"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); gtk_widget_show (widget); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); @@ -434,6 +451,175 @@ focus_cell_area (void) } + +/******************************************************* + * Background Area * + *******************************************************/ +static void +cell_spacing_changed (GtkSpinButton *spin_button, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + gtk_cell_area_box_set_spacing (GTK_CELL_AREA_BOX (area), value); +} + +static void +row_spacing_changed (GtkSpinButton *spin_button, + CellAreaScaffold *scaffold) +{ + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + cell_area_scaffold_set_row_spacing (scaffold, value); +} + +static void +cell_margins_changed (GtkSpinButton *spin_button, + CellAreaScaffold *scaffold) +{ + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + gtk_cell_area_set_cell_margin_left (area, value); + gtk_cell_area_set_cell_margin_right (area, value); + gtk_cell_area_set_cell_margin_top (area, value); + gtk_cell_area_set_cell_margin_bottom (area, value); + + gtk_widget_queue_resize (GTK_WIDGET (scaffold)); +} + + +static void +indentation_changed (GtkSpinButton *spin_button, + CellAreaScaffold *scaffold) +{ + gint value; + + value = (gint)gtk_spin_button_get_value (spin_button); + + cell_area_scaffold_set_indentation (scaffold, value); +} + +static void +background_area (void) +{ + GtkWidget *window, *widget, *label, *main_vbox; + GtkWidget *scaffold, *frame, *vbox, *hbox; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + hbox = gtk_hbox_new (FALSE, 4); + main_vbox = gtk_vbox_new (FALSE, 4); + gtk_widget_show (hbox); + gtk_widget_show (main_vbox); + gtk_container_add (GTK_CONTAINER (window), main_vbox); + + gtk_window_set_title (GTK_WINDOW (window), "Background Area"); + + label = gtk_label_new ("In this example, row spacing gets devided into the background area, " + "column spacing is added between each background area, indentation is " + "prepended space distributed to the background area, individual cell margins " + "are also distributed to the background area for every cell."); + gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); + gtk_label_set_width_chars (GTK_LABEL (label), 40); + gtk_widget_show (label); + gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); + + scaffold = focus_scaffold (TRUE); + + frame = gtk_frame_new (NULL); + gtk_widget_show (frame); + + gtk_widget_set_valign (frame, GTK_ALIGN_CENTER); + gtk_widget_set_halign (frame, GTK_ALIGN_FILL); + + gtk_container_add (GTK_CONTAINER (frame), scaffold); + + gtk_box_pack_end (GTK_BOX (hbox), frame, TRUE, TRUE, 0); + + /* Now add some controls */ + vbox = gtk_vbox_new (FALSE, 4); + gtk_widget_show (vbox); + gtk_box_pack_end (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (main_vbox), hbox, FALSE, FALSE, 0); + + widget = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Vertical"); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "changed", + G_CALLBACK (orientation_changed), scaffold); + + widget = gtk_spin_button_new_with_range (0, 10, 1); + label = gtk_label_new ("Cell spacing"); + hbox = gtk_hbox_new (FALSE, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (cell_spacing_changed), scaffold); + + + widget = gtk_spin_button_new_with_range (0, 10, 1); + label = gtk_label_new ("Row spacing"); + hbox = gtk_hbox_new (FALSE, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (row_spacing_changed), scaffold); + + widget = gtk_spin_button_new_with_range (0, 10, 1); + label = gtk_label_new ("Cell Margins"); + hbox = gtk_hbox_new (FALSE, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (cell_margins_changed), scaffold); + + widget = gtk_spin_button_new_with_range (0, 30, 1); + label = gtk_label_new ("Intentation"); + hbox = gtk_hbox_new (FALSE, 4); + gtk_widget_show (hbox); + gtk_widget_show (label); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "value-changed", + G_CALLBACK (indentation_changed), scaffold); + + gtk_widget_show (window); +} + + + + + + int main (int argc, char *argv[]) { @@ -441,6 +627,7 @@ main (int argc, char *argv[]) simple_cell_area (); focus_cell_area (); + background_area (); gtk_main (); From eda16a096d7a48cded9afc9d03625527266c4ff8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 12 Nov 2010 23:09:57 +0900 Subject: [PATCH 0204/1463] Fixed some errors in testcellarea testcases. --- tests/testcellarea.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 0be88c7fa0..b933a920e7 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -332,7 +332,7 @@ focus_scaffold (gboolean color_bg) GtkTreeModel *model; GtkWidget *scaffold; GtkCellArea *area; - GtkCellRenderer *renderer; + GtkCellRenderer *renderer, *toggle; scaffold = cell_area_scaffold_new (); gtk_widget_show (scaffold); @@ -354,18 +354,20 @@ focus_scaffold (gboolean color_bg) g_signal_connect (G_OBJECT (renderer), "edited", G_CALLBACK (cell_edited), scaffold); - focus_renderer = renderer = gtk_cell_renderer_toggle_new (); + toggle = renderer = gtk_cell_renderer_toggle_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); if (color_bg) g_object_set (G_OBJECT (renderer), "cell-background", "green", NULL); + else + focus_renderer = renderer; g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (cell_toggled), scaffold); - sibling_renderer = renderer = gtk_cell_renderer_text_new (); + renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 150, @@ -373,11 +375,13 @@ focus_scaffold (gboolean color_bg) if (color_bg) g_object_set (G_OBJECT (renderer), "cell-background", "blue", NULL); + else + sibling_renderer = renderer; gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT); - gtk_cell_area_add_focus_sibling (area, focus_renderer, sibling_renderer); + gtk_cell_area_add_focus_sibling (area, toggle, renderer); return scaffold; } From e7c4ede64c1ad29a83cd0900c0e4e128ed39f2ec Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 13 Nov 2010 15:09:36 +0900 Subject: [PATCH 0205/1463] Fixed some background area related bugs in CellAreaScaffold, cleanup testcellarea --- tests/cellareascaffold.c | 10 ++++---- tests/testcellarea.c | 50 ++++++++++++++++++++++++++-------------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 32a07e1f23..f29f169ae4 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -499,7 +499,7 @@ cell_area_scaffold_draw (GtkWidget *widget, { render_area.width = data->size; - background_area.width = render_area.height; + background_area.width = render_area.width; background_area.x = render_area.x; if (i == 0) @@ -649,13 +649,13 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, /* Cache the per-row sizes and allocate the iter */ if (orientation == GTK_ORIENTATION_HORIZONTAL) { - gtk_cell_area_iter_allocate_width (priv->iter, allocation->width); - get_row_sizes (scaffold, priv->row_data, allocation->width); + gtk_cell_area_iter_allocate_width (priv->iter, allocation->width - priv->indent); + get_row_sizes (scaffold, priv->row_data, allocation->width - priv->indent); } else { - gtk_cell_area_iter_allocate_height (priv->iter, allocation->height); - get_row_sizes (scaffold, priv->row_data, allocation->height); + gtk_cell_area_iter_allocate_height (priv->iter, allocation->height - priv->indent); + get_row_sizes (scaffold, priv->row_data, allocation->height - priv->indent); } } diff --git a/tests/testcellarea.c b/tests/testcellarea.c index b933a920e7..e0fd00edae 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -27,15 +27,11 @@ simple_list_model (void) gtk_list_store_set (store, &iter, SIMPLE_COLUMN_NAME, "Alice in wonderland", SIMPLE_COLUMN_ICON, "gtk-execute", - SIMPLE_COLUMN_DESCRIPTION, "One pill makes you smaller and the other pill makes you tall", - -1); - - gtk_list_store_append (store, &iter); - gtk_list_store_set (store, &iter, - SIMPLE_COLUMN_NAME, "Highschool Principal", - SIMPLE_COLUMN_ICON, "gtk-help", SIMPLE_COLUMN_DESCRIPTION, - "Will make you copy the dictionary if you dont like your math teacher", + "Twas brillig, and the slithy toves " + "did gyre and gimble in the wabe; " + "all mimsy were the borogoves, " + "and the mome raths outgrabe", -1); gtk_list_store_append (store, &iter); @@ -49,8 +45,8 @@ simple_list_model (void) gtk_list_store_set (store, &iter, SIMPLE_COLUMN_NAME, "George Bush", SIMPLE_COLUMN_ICON, "gtk-dialog-warning", - SIMPLE_COLUMN_DESCRIPTION, "Please hide your nuclear weapons when inviting " - "him to dinner", + SIMPLE_COLUMN_DESCRIPTION, "It's a very good question, very direct, " + "and I'm not going to answer it", -1); gtk_list_store_append (store, &iter); @@ -61,6 +57,24 @@ simple_list_model (void) "is tiggers are wonderful things", -1); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Aleister Crowley", + SIMPLE_COLUMN_ICON, "gtk-about", + SIMPLE_COLUMN_DESCRIPTION, + "Thou shalt do what thou wilt shall be the whole of the law", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Mark Twain", + SIMPLE_COLUMN_ICON, "gtk-quit", + SIMPLE_COLUMN_DESCRIPTION, + "Giving up smoking is the easiest thing in the world. " + "I know because I've done it thousands of times.", + -1); + + return (GtkTreeModel *)store; } @@ -327,7 +341,7 @@ cell_edited (GtkCellRendererToggle *cell_renderer, } static GtkWidget * -focus_scaffold (gboolean color_bg) +focus_scaffold (gboolean color_bg, GtkCellRenderer **focus, GtkCellRenderer **sibling) { GtkTreeModel *model; GtkWidget *scaffold; @@ -361,8 +375,9 @@ focus_scaffold (gboolean color_bg) if (color_bg) g_object_set (G_OBJECT (renderer), "cell-background", "green", NULL); - else - focus_renderer = renderer; + + if (focus) + *focus = renderer; g_signal_connect (G_OBJECT (renderer), "toggled", G_CALLBACK (cell_toggled), scaffold); @@ -375,8 +390,9 @@ focus_scaffold (gboolean color_bg) if (color_bg) g_object_set (G_OBJECT (renderer), "cell-background", "blue", NULL); - else - sibling_renderer = renderer; + + if (sibling) + *sibling = renderer; gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT); @@ -414,7 +430,7 @@ focus_cell_area (void) gtk_window_set_title (GTK_WINDOW (window), "Focus and editable cells"); - scaffold = focus_scaffold (FALSE); + scaffold = focus_scaffold (FALSE, &focus_renderer, &sibling_renderer); frame = gtk_frame_new (NULL); gtk_widget_show (frame); @@ -535,7 +551,7 @@ background_area (void) gtk_widget_show (label); gtk_box_pack_start (GTK_BOX (main_vbox), label, FALSE, FALSE, 0); - scaffold = focus_scaffold (TRUE); + scaffold = focus_scaffold (TRUE, NULL, NULL); frame = gtk_frame_new (NULL); gtk_widget_show (frame); From 0a015f1bdb3db69b1adadfcc79fcc8ea1a8047df Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Nov 2010 08:15:06 -0500 Subject: [PATCH 0206/1463] Don't export _gtk_cell_renderer_calc_offset This is just a private convenience function, and exporting _-prefixed functions doesn't work with our libtool setup. Just do the 3 line calculation in gail. --- gtk/gtk.symbols | 1 - gtk/gtkcellrenderer.c | 2 +- gtk/gtkcellrenderer.h | 12 ++++++------ modules/other/gail/gailtextcell.c | 20 ++++++++++++-------- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 2ef829fc7c..cd88fdaf0b 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -602,7 +602,6 @@ gtk_cell_renderer_set_sensitive gtk_cell_renderer_set_visible gtk_cell_renderer_start_editing gtk_cell_renderer_stop_editing -_gtk_cell_renderer_calc_offset #endif #endif diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index 4b93557389..4b6680a238 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -646,7 +646,7 @@ gtk_cell_renderer_get_size (GtkCellRenderer *cell, if (cell_area) _gtk_cell_renderer_calc_offset (cell, cell_area, gtk_widget_get_direction (widget), - request.width, request.height, x_offset, y_offset); + request.width, request.height, x_offset, y_offset); } /** diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index 25ffed30a6..736569ccea 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -244,12 +244,12 @@ void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, void _gtk_cell_renderer_calc_offset (GtkCellRenderer *cell, - const GdkRectangle *cell_area, - GtkTextDirection direction, - gint width, - gint height, - gint *x_offset, - gint *y_offset); + const GdkRectangle *cell_area, + GtkTextDirection direction, + gint width, + gint height, + gint *x_offset, + gint *y_offset); G_END_DECLS diff --git a/modules/other/gail/gailtextcell.c b/modules/other/gail/gailtextcell.c index 2cbf5bf283..fa07f0e50e 100644 --- a/modules/other/gail/gailtextcell.c +++ b/modules/other/gail/gailtextcell.c @@ -609,10 +609,10 @@ gail_text_cell_get_character_extents (AtkText *text, widget, &min_size, NULL); - _gtk_cell_renderer_calc_offset (GTK_CELL_RENDERER (gtk_renderer), &rendered_rect, - gtk_widget_get_direction (widget), - min_size.width, min_size.height, - &x_offset, &y_offset); + gtk_cell_renderer_calc_offset (GTK_CELL_RENDERER (gtk_renderer), &rendered_rect, + gtk_widget_get_direction (widget), + min_size.width, min_size.height, + &x_offset, &y_offset); layout = create_pango_layout (gtk_renderer, widget); @@ -646,6 +646,8 @@ gail_text_cell_get_offset_at_point (AtkText *text, GdkRectangle rendered_rect; PangoLayout *layout; gchar *renderer_text; + gint width, height; + gfloat xalign, yalign; gint x_offset, y_offset, index; gint xpad, ypad; @@ -675,10 +677,12 @@ gail_text_cell_get_offset_at_point (AtkText *text, gtk_cell_renderer_get_preferred_size (GTK_CELL_RENDERER (gtk_renderer), widget, &min_size, NULL); - _gtk_cell_renderer_calc_offset (GTK_CELL_RENDERER (gtk_renderer), &rendered_rect, - gtk_widget_get_direction (widget), - min_size.width, min_size.height, - &x_offset, &y_offset); + gtk_cell_renderer_get_fixed_size (GTK_CELL_RENDERER (gtk_renderer), &width, &height); + gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign); + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + xalign = 1.0 - xalign; + x_offset = MAX (0, xalign * (width - min_size.width)); + y_offset = MAX (0, yalign * (height - min_size.height)); layout = create_pango_layout (gtk_renderer, widget); From 70e161d2a25704784a3dc258840564769bc0e25f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Nov 2010 08:16:33 -0500 Subject: [PATCH 0207/1463] Fix the doc build --- gtk/gtktreeview.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index efa9734cec..f45c0a18d7 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -99,6 +99,7 @@ * former you can use gtk_tree_view_convert_widget_to_bin_window_coords() * (and vice versa), for the latter gtk_tree_view_convert_bin_window_to_tree_coords() * (and vice versa). + * * * GtkTreeView as GtkBuildable * The GtkTreeView implementation of the GtkBuildable interface accepts From 79042e31a69381f220bafb3bd87b8a48e97d968f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Nov 2010 11:20:17 -0500 Subject: [PATCH 0208/1463] Rewrap text in gtk-demo --- demos/gtk-demo/textview.c | 437 ++++++++++++++++++++++---------------- 1 file changed, 253 insertions(+), 184 deletions(-) diff --git a/demos/gtk-demo/textview.c b/demos/gtk-demo/textview.c index cb0af037b5..469bb87b88 100644 --- a/demos/gtk-demo/textview.c +++ b/demos/gtk-demo/textview.c @@ -30,99 +30,99 @@ create_tags (GtkTextBuffer *buffer) * new copies of the same tags for every buffer. * * Tags are assigned default priorities in order of addition to the - * tag table. That is, tags created later that affect the same text + * tag table. That is, tags created later that affect the same text * property affected by an earlier tag will override the earlier * tag. You can modify tag priorities with * gtk_text_tag_set_priority(). */ gtk_text_buffer_create_tag (buffer, "heading", - "weight", PANGO_WEIGHT_BOLD, - "size", 15 * PANGO_SCALE, - NULL); - + "weight", PANGO_WEIGHT_BOLD, + "size", 15 * PANGO_SCALE, + NULL); + gtk_text_buffer_create_tag (buffer, "italic", - "style", PANGO_STYLE_ITALIC, NULL); + "style", PANGO_STYLE_ITALIC, NULL); gtk_text_buffer_create_tag (buffer, "bold", - "weight", PANGO_WEIGHT_BOLD, NULL); - + "weight", PANGO_WEIGHT_BOLD, NULL); + gtk_text_buffer_create_tag (buffer, "big", - /* points times the PANGO_SCALE factor */ - "size", 20 * PANGO_SCALE, NULL); + /* points times the PANGO_SCALE factor */ + "size", 20 * PANGO_SCALE, NULL); gtk_text_buffer_create_tag (buffer, "xx-small", - "scale", PANGO_SCALE_XX_SMALL, NULL); + "scale", PANGO_SCALE_XX_SMALL, NULL); gtk_text_buffer_create_tag (buffer, "x-large", - "scale", PANGO_SCALE_X_LARGE, NULL); - + "scale", PANGO_SCALE_X_LARGE, NULL); + gtk_text_buffer_create_tag (buffer, "monospace", - "family", "monospace", NULL); - + "family", "monospace", NULL); + gtk_text_buffer_create_tag (buffer, "blue_foreground", - "foreground", "blue", NULL); + "foreground", "blue", NULL); gtk_text_buffer_create_tag (buffer, "red_background", - "background", "red", NULL); + "background", "red", NULL); gtk_text_buffer_create_tag (buffer, "big_gap_before_line", - "pixels_above_lines", 30, NULL); + "pixels_above_lines", 30, NULL); gtk_text_buffer_create_tag (buffer, "big_gap_after_line", - "pixels_below_lines", 30, NULL); + "pixels_below_lines", 30, NULL); gtk_text_buffer_create_tag (buffer, "double_spaced_line", - "pixels_inside_wrap", 10, NULL); + "pixels_inside_wrap", 10, NULL); gtk_text_buffer_create_tag (buffer, "not_editable", - "editable", FALSE, NULL); - + "editable", FALSE, NULL); + gtk_text_buffer_create_tag (buffer, "word_wrap", - "wrap_mode", GTK_WRAP_WORD, NULL); + "wrap_mode", GTK_WRAP_WORD, NULL); gtk_text_buffer_create_tag (buffer, "char_wrap", - "wrap_mode", GTK_WRAP_CHAR, NULL); + "wrap_mode", GTK_WRAP_CHAR, NULL); gtk_text_buffer_create_tag (buffer, "no_wrap", - "wrap_mode", GTK_WRAP_NONE, NULL); - + "wrap_mode", GTK_WRAP_NONE, NULL); + gtk_text_buffer_create_tag (buffer, "center", - "justification", GTK_JUSTIFY_CENTER, NULL); + "justification", GTK_JUSTIFY_CENTER, NULL); gtk_text_buffer_create_tag (buffer, "right_justify", - "justification", GTK_JUSTIFY_RIGHT, NULL); + "justification", GTK_JUSTIFY_RIGHT, NULL); gtk_text_buffer_create_tag (buffer, "wide_margins", - "left_margin", 50, "right_margin", 50, - NULL); - + "left_margin", 50, "right_margin", 50, + NULL); + gtk_text_buffer_create_tag (buffer, "strikethrough", - "strikethrough", TRUE, NULL); - + "strikethrough", TRUE, NULL); + gtk_text_buffer_create_tag (buffer, "underline", - "underline", PANGO_UNDERLINE_SINGLE, NULL); + "underline", PANGO_UNDERLINE_SINGLE, NULL); gtk_text_buffer_create_tag (buffer, "double_underline", - "underline", PANGO_UNDERLINE_DOUBLE, NULL); + "underline", PANGO_UNDERLINE_DOUBLE, NULL); gtk_text_buffer_create_tag (buffer, "superscript", - "rise", 10 * PANGO_SCALE, /* 10 pixels */ - "size", 8 * PANGO_SCALE, /* 8 points */ - NULL); - + "rise", 10 * PANGO_SCALE, /* 10 pixels */ + "size", 8 * PANGO_SCALE, /* 8 points */ + NULL); + gtk_text_buffer_create_tag (buffer, "subscript", - "rise", -10 * PANGO_SCALE, /* 10 pixels */ - "size", 8 * PANGO_SCALE, /* 8 points */ - NULL); + "rise", -10 * PANGO_SCALE, /* 10 pixels */ + "size", 8 * PANGO_SCALE, /* 8 points */ + NULL); gtk_text_buffer_create_tag (buffer, "rtl_quote", - "wrap_mode", GTK_WRAP_WORD, - "direction", GTK_TEXT_DIR_RTL, - "indent", 30, - "left_margin", 20, - "right_margin", 20, - NULL); + "wrap_mode", GTK_WRAP_WORD, + "direction", GTK_TEXT_DIR_RTL, + "indent", 30, + "left_margin", 20, + "right_margin", 20, + NULL); } static void @@ -156,90 +156,99 @@ insert_text (GtkTextBuffer *buffer) scaled = gdk_pixbuf_scale_simple (pixbuf, 32, 32, GDK_INTERP_BILINEAR); g_object_unref (pixbuf); pixbuf = scaled; - + /* get start of buffer; each insertion will revalidate the * iterator to point to just after the inserted text. */ gtk_text_buffer_get_iter_at_offset (buffer, &iter, 0); - gtk_text_buffer_insert (buffer, &iter, "The text widget can display text with all kinds of nifty attributes. It also supports multiple views of the same buffer; this demo is showing the same buffer in two places.\n\n", -1); + gtk_text_buffer_insert (buffer, &iter, + "The text widget can display text with all kinds of nifty attributes. " + "It also supports multiple views of the same buffer; this demo is " + "showing the same buffer in two places.\n\n", -1); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Font styles. ", -1, + "heading", NULL); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Font styles. ", -1, - "heading", NULL); - gtk_text_buffer_insert (buffer, &iter, "For example, you can have ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "italic", -1, - "italic", NULL); - gtk_text_buffer_insert (buffer, &iter, ", ", -1); + "italic", -1, + "italic", NULL); + gtk_text_buffer_insert (buffer, &iter, ", ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "bold", -1, - "bold", NULL); + "bold", -1, + "bold", NULL); gtk_text_buffer_insert (buffer, &iter, ", or ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "monospace (typewriter)", -1, - "monospace", NULL); + "monospace (typewriter)", -1, + "monospace", NULL); gtk_text_buffer_insert (buffer, &iter, ", or ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "big", -1, - "big", NULL); + "big", -1, + "big", NULL); gtk_text_buffer_insert (buffer, &iter, " text. ", -1); - gtk_text_buffer_insert (buffer, &iter, "It's best not to hardcode specific text sizes; you can use relative sizes as with CSS, such as ", -1); + gtk_text_buffer_insert (buffer, &iter, + "It's best not to hardcode specific text sizes; you can use relative " + "sizes as with CSS, such as ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "xx-small", -1, - "xx-small", NULL); + "xx-small", -1, + "xx-small", NULL); gtk_text_buffer_insert (buffer, &iter, " or ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "x-large", -1, - "x-large", NULL); - gtk_text_buffer_insert (buffer, &iter, " to ensure that your program properly adapts if the user changes the default font size.\n\n", -1); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Colors. ", -1, - "heading", NULL); - - gtk_text_buffer_insert (buffer, &iter, "Colors such as ", -1); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "a blue foreground", -1, - "blue_foreground", NULL); - gtk_text_buffer_insert (buffer, &iter, " or ", -1); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "a red background", -1, - "red_background", NULL); - gtk_text_buffer_insert (buffer, &iter, " or even ", -1); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "a blue foreground on red background", -1, - "blue_foreground", - "red_background", - NULL); - gtk_text_buffer_insert (buffer, &iter, " (select that to read it) can be used.\n\n", -1); + "x-large", -1, + "x-large", NULL); + gtk_text_buffer_insert (buffer, &iter, + " to ensure that your program properly adapts if the user changes the " + "default font size.\n\n", -1); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Underline, strikethrough, and rise. ", -1, - "heading", NULL); - + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Colors. ", -1, + "heading", NULL); + + gtk_text_buffer_insert (buffer, &iter, "Colors such as ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "Strikethrough", -1, - "strikethrough", NULL); + "a blue foreground", -1, + "blue_foreground", NULL); + gtk_text_buffer_insert (buffer, &iter, " or ", -1); + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "a red background", -1, + "red_background", NULL); + gtk_text_buffer_insert (buffer, &iter, " or even ", -1); + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "a blue foreground on red background", -1, + "blue_foreground", + "red_background", + NULL); + gtk_text_buffer_insert (buffer, &iter, " (select that to read it) can be used.\n\n", -1); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Underline, strikethrough, and rise. ", -1, + "heading", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Strikethrough", -1, + "strikethrough", NULL); gtk_text_buffer_insert (buffer, &iter, ", ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "underline", -1, - "underline", NULL); + "underline", -1, + "underline", NULL); gtk_text_buffer_insert (buffer, &iter, ", ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "double underline", -1, - "double_underline", NULL); + "double underline", -1, + "double_underline", NULL); gtk_text_buffer_insert (buffer, &iter, ", ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "superscript", -1, - "superscript", NULL); + "superscript", -1, + "superscript", NULL); gtk_text_buffer_insert (buffer, &iter, ", and ", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "subscript", -1, - "subscript", NULL); + "subscript", -1, + "subscript", NULL); gtk_text_buffer_insert (buffer, &iter, " are all supported.\n\n", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Images. ", -1, - "heading", NULL); - + "heading", NULL); + gtk_text_buffer_insert (buffer, &iter, "The buffer can have images in it: ", -1); gtk_text_buffer_insert_pixbuf (buffer, &iter, pixbuf); gtk_text_buffer_insert_pixbuf (buffer, &iter, pixbuf); @@ -247,70 +256,126 @@ insert_text (GtkTextBuffer *buffer) gtk_text_buffer_insert (buffer, &iter, " for example.\n\n", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Spacing. ", -1, - "heading", NULL); - - gtk_text_buffer_insert (buffer, &iter, "You can adjust the amount of space before each line.\n", -1); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "This line has a whole lot of space before it.\n", -1, - "big_gap_before_line", "wide_margins", NULL); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "You can also adjust the amount of space after each line; this line has a whole lot of space after it.\n", -1, - "big_gap_after_line", "wide_margins", NULL); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "You can also adjust the amount of space between wrapped lines; this line has extra space between each wrapped line in the same paragraph. To show off wrapping, some filler text: the quick brown fox jumped over the lazy dog. Blah blah blah blah blah blah blah blah blah.\n", -1, - "double_spaced_line", "wide_margins", NULL); - - gtk_text_buffer_insert (buffer, &iter, "Also note that those lines have extra-wide margins.\n\n", -1); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Editability. ", -1, - "heading", NULL); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "This line is 'locked down' and can't be edited by the user - just try it! You can't delete this line.\n\n", -1, - "not_editable", NULL); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Wrapping. ", -1, - "heading", NULL); + "heading", NULL); gtk_text_buffer_insert (buffer, &iter, - "This line (and most of the others in this buffer) is word-wrapped, using the proper Unicode algorithm. Word wrap should work in all scripts and languages that GTK+ supports. Let's make this a long paragraph to demonstrate: blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n\n", -1); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "This line has character-based wrapping, and can wrap between any two character glyphs. Let's make this a long paragraph to demonstrate: blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah blah\n\n", -1, - "char_wrap", NULL); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "This line has all wrapping turned off, so it makes the horizontal scrollbar appear.\n\n\n", -1, - "no_wrap", NULL); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Justification. ", -1, - "heading", NULL); - - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "\nThis line has center justification.\n", -1, - "center", NULL); + "You can adjust the amount of space before each line.\n", -1); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "This line has right justification.\n", -1, - "right_justify", NULL); + "This line has a whole lot of space before it.\n", -1, + "big_gap_before_line", "wide_margins", NULL); + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "You can also adjust the amount of space after each line; " + "this line has a whole lot of space after it.\n", -1, + "big_gap_after_line", "wide_margins", NULL); gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, - "\nThis line has big wide margins. Text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text text.\n", -1, - "wide_margins", NULL); + "You can also adjust the amount of space between wrapped lines; " + "this line has extra space between each wrapped line in the same " + "paragraph. To show off wrapping, some filler text: the quick " + "brown fox jumped over the lazy dog. Blah blah blah blah blah " + "blah blah blah blah.\n", -1, + "double_spaced_line", "wide_margins", NULL); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "Internationalization. ", -1, - "heading", NULL); - gtk_text_buffer_insert (buffer, &iter, - "You can put all sorts of Unicode text in the buffer.\n\nGerman (Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek (\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254) \316\223\316\265\316\271\316\254 \317\203\316\261\317\202\nHebrew \327\251\327\234\327\225\327\235\nJapanese (\346\227\245\346\234\254\350\252\236)\n\nThe widget properly handles bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, grapheme boundaries, and so on using the Pango internationalization framework.\n", -1); + "Also note that those lines have extra-wide margins.\n\n", -1); - gtk_text_buffer_insert (buffer, &iter, "Here's a word-wrapped quote in a right-to-left language:\n", -1); - gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, "\331\210\331\202\330\257 \330\250\330\257\330\243 \330\253\331\204\330\247\330\253 \331\205\331\206 \330\243\331\203\330\253\330\261 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \330\252\331\202\330\257\331\205\330\247 \331\201\331\212 \330\264\330\250\331\203\330\251 \330\247\331\203\330\263\331\212\331\210\331\206 \330\250\330\261\330\247\331\205\330\254\331\207\330\247 \331\203\331\205\331\206\330\270\331\205\330\247\330\252 \331\204\330\247 \330\252\330\263\330\271\331\211 \331\204\331\204\330\261\330\250\330\255\330\214 \330\253\331\205 \330\252\330\255\331\210\331\204\330\252 \331\201\331\212 \330\247\331\204\330\263\331\206\331\210\330\247\330\252 \330\247\331\204\330\256\331\205\330\263 \330\247\331\204\331\205\330\247\330\266\331\212\330\251 \330\245\331\204\331\211 \331\205\330\244\330\263\330\263\330\247\330\252 \331\205\330\247\331\204\331\212\330\251 \331\205\331\206\330\270\331\205\330\251\330\214 \331\210\330\250\330\247\330\252\330\252 \330\254\330\262\330\241\330\247 \331\205\331\206 \330\247\331\204\331\206\330\270\330\247\331\205 \330\247\331\204\331\205\330\247\331\204\331\212 \331\201\331\212 \330\250\331\204\330\257\330\247\331\206\331\207\330\247\330\214 \331\210\331\204\331\203\331\206\331\207\330\247 \330\252\330\252\330\256\330\265\330\265 \331\201\331\212 \330\256\330\257\331\205\330\251 \331\202\330\267\330\247\330\271 \330\247\331\204\331\205\330\264\330\261\331\210\330\271\330\247\330\252 \330\247\331\204\330\265\330\272\331\212\330\261\330\251. \331\210\330\243\330\255\330\257 \330\243\331\203\330\253\330\261 \331\207\330\260\331\207 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 \331\206\330\254\330\247\330\255\330\247 \331\207\331\210 \302\273\330\250\330\247\331\206\331\203\331\210\330\263\331\210\331\204\302\253 \331\201\331\212 \330\250\331\210\331\204\331\212\331\201\331\212\330\247.\n\n", -1, - "rtl_quote", NULL); - - gtk_text_buffer_insert (buffer, &iter, "You can put widgets in the buffer: Here's a button: ", -1); + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Editability. ", -1, + "heading", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "This line is 'locked down' and can't be edited by the user - just " + "try it! You can't delete this line.\n\n", -1, + "not_editable", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Wrapping. ", -1, + "heading", NULL); + + gtk_text_buffer_insert (buffer, &iter, + "This line (and most of the others in this buffer) is word-wrapped, " + "using the proper Unicode algorithm. Word wrap should work in all " + "scripts and languages that GTK+ supports. Let's make this a long " + "paragraph to demonstrate: blah blah blah blah blah blah blah blah " + "blah blah blah blah blah blah blah blah blah blah blah\n\n", -1); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "This line has character-based wrapping, and can wrap between any two " + "character glyphs. Let's make this a long paragraph to demonstrate: " + "blah blah blah blah blah blah blah blah blah blah blah blah blah blah " + "blah blah blah blah blah\n\n", -1, "char_wrap", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "This line has all wrapping turned off, so it makes the horizontal " + "scrollbar appear.\n\n\n", -1, "no_wrap", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Justification. ", -1, + "heading", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "\nThis line has center justification.\n", -1, + "center", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "This line has right justification.\n", -1, + "right_justify", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "\nThis line has big wide margins. Text text text text text text text " + "text text text text text text text text text text text text text text " + "text text text text text text text text text text text text text text " + "text.\n", -1, "wide_margins", NULL); + + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "Internationalization. ", -1, + "heading", NULL); + + gtk_text_buffer_insert (buffer, &iter, + "You can put all sorts of Unicode text in the buffer.\n\nGerman " + "(Deutsch S\303\274d) Gr\303\274\303\237 Gott\nGreek " + "(\316\225\316\273\316\273\316\267\316\275\316\271\316\272\316\254) " + "\316\223\316\265\316\271\316\254 \317\203\316\261\317\202\nHebrew " + "\327\251\327\234\327\225\327\235\nJapanese " + "(\346\227\245\346\234\254\350\252\236)\n\nThe widget properly handles " + "bidirectional text, word wrapping, DOS/UNIX/Unicode paragraph separators, " + "grapheme boundaries, and so on using the Pango internationalization " + "framework.\n", -1); + + gtk_text_buffer_insert (buffer, &iter, + "Here's a word-wrapped quote in a right-to-left language:\n", -1); + gtk_text_buffer_insert_with_tags_by_name (buffer, &iter, + "\331\210\331\202\330\257 \330\250\330\257\330\243 " + "\330\253\331\204\330\247\330\253 \331\205\331\206 " + "\330\243\331\203\330\253\330\261 \330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 " + "\330\252\331\202\330\257\331\205\330\247 \331\201\331\212 " + "\330\264\330\250\331\203\330\251 \330\247\331\203\330\263\331\212\331\210\331\206 " + "\330\250\330\261\330\247\331\205\330\254\331\207\330\247 " + "\331\203\331\205\331\206\330\270\331\205\330\247\330\252 " + "\331\204\330\247 \330\252\330\263\330\271\331\211 \331\204\331\204\330\261\330\250\330\255\330\214 " + "\330\253\331\205 \330\252\330\255\331\210\331\204\330\252 " + "\331\201\331\212 \330\247\331\204\330\263\331\206\331\210\330\247\330\252 " + "\330\247\331\204\330\256\331\205\330\263 \330\247\331\204\331\205\330\247\330\266\331\212\330\251 " + "\330\245\331\204\331\211 \331\205\330\244\330\263\330\263\330\247\330\252 " + "\331\205\330\247\331\204\331\212\330\251 \331\205\331\206\330\270\331\205\330\251\330\214 " + "\331\210\330\250\330\247\330\252\330\252 \330\254\330\262\330\241\330\247 " + "\331\205\331\206 \330\247\331\204\331\206\330\270\330\247\331\205 " + "\330\247\331\204\331\205\330\247\331\204\331\212 \331\201\331\212 " + "\330\250\331\204\330\257\330\247\331\206\331\207\330\247\330\214 " + "\331\210\331\204\331\203\331\206\331\207\330\247 \330\252\330\252\330\256\330\265\330\265 " + "\331\201\331\212 \330\256\330\257\331\205\330\251 \331\202\330\267\330\247\330\271 " + "\330\247\331\204\331\205\330\264\330\261\331\210\330\271\330\247\330\252 " + "\330\247\331\204\330\265\330\272\331\212\330\261\330\251. \331\210\330\243\330\255\330\257 " + "\330\243\331\203\330\253\330\261 \331\207\330\260\331\207 " + "\330\247\331\204\331\205\330\244\330\263\330\263\330\247\330\252 " + "\331\206\330\254\330\247\330\255\330\247 \331\207\331\210 " + "\302\273\330\250\330\247\331\206\331\203\331\210\330\263\331\210\331\204\302\253 " + "\331\201\331\212 \330\250\331\210\331\204\331\212\331\201\331\212\330\247.\n\n", -1, + "rtl_quote", NULL); + + gtk_text_buffer_insert (buffer, &iter, + "You can put widgets in the buffer: Here's a button: ", -1); anchor = gtk_text_buffer_create_child_anchor (buffer, &iter); gtk_text_buffer_insert (buffer, &iter, " and a menu: ", -1); anchor = gtk_text_buffer_create_child_anchor (buffer, &iter); @@ -321,8 +386,12 @@ insert_text (GtkTextBuffer *buffer) gtk_text_buffer_insert (buffer, &iter, " finally a text entry: ", -1); anchor = gtk_text_buffer_create_child_anchor (buffer, &iter); gtk_text_buffer_insert (buffer, &iter, ".\n", -1); - - gtk_text_buffer_insert (buffer, &iter, "\n\nThis demo doesn't demonstrate all the GtkTextBuffer features; it leaves out, for example: invisible/hidden text, tab stops, application-drawn areas on the sides of the widget for displaying breakpoints and such...", -1); + + gtk_text_buffer_insert (buffer, &iter, + "\n\nThis demo doesn't demonstrate all the GtkTextBuffer features; " + "it leaves out, for example: invisible/hidden text, tab stops, " + "application-drawn areas on the sides of the widget for displaying " + "breakpoints and such...", -1); /* Apply word_wrap tag to whole buffer */ gtk_text_buffer_get_bounds (buffer, &start, &end); @@ -348,7 +417,7 @@ attach_widgets (GtkTextView *text_view) GtkTextIter iter; GtkTextBuffer *buffer; int i; - + buffer = gtk_text_view_get_buffer (text_view); gtk_text_buffer_get_start_iter (buffer, &iter); @@ -358,7 +427,7 @@ attach_widgets (GtkTextView *text_view) { GtkTextChildAnchor *anchor; GtkWidget *widget; - + anchor = gtk_text_iter_get_child_anchor (&iter); if (i == 0) @@ -385,9 +454,9 @@ attach_widgets (GtkTextView *text_view) } else if (i == 3) { - gchar *filename = demo_find_file ("floppybuddy.gif", NULL); - widget = gtk_image_new_from_file (filename); - g_free (filename); + gchar *filename = demo_find_file ("floppybuddy.gif", NULL); + widget = gtk_image_new_from_file (filename); + g_free (filename); } else if (i == 4) { @@ -421,15 +490,15 @@ do_textview (GtkWidget *do_widget) GtkWidget *view2; GtkWidget *sw; GtkTextBuffer *buffer; - + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_screen (GTK_WINDOW (window), - gtk_widget_get_screen (do_widget)); + gtk_widget_get_screen (do_widget)); gtk_window_set_default_size (GTK_WINDOW (window), - 450, 450); - + 450, 450); + g_signal_connect (window, "destroy", - G_CALLBACK (gtk_widget_destroyed), &window); + G_CALLBACK (gtk_widget_destroyed), &window); gtk_window_set_title (GTK_WINDOW (window), "TextView"); gtk_container_set_border_width (GTK_CONTAINER (window), 0); @@ -446,19 +515,19 @@ do_textview (GtkWidget *do_widget) view1 = gtk_text_view_new (); buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (view1)); view2 = gtk_text_view_new_with_buffer (buffer); - + sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_paned_add1 (GTK_PANED (vpaned), sw); gtk_container_add (GTK_CONTAINER (sw), view1); sw = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); gtk_paned_add2 (GTK_PANED (vpaned), sw); gtk_container_add (GTK_CONTAINER (sw), view2); @@ -468,7 +537,7 @@ do_textview (GtkWidget *do_widget) attach_widgets (GTK_TEXT_VIEW (view1)); attach_widgets (GTK_TEXT_VIEW (view2)); - + gtk_widget_show_all (vpaned); } @@ -494,10 +563,10 @@ recursive_attach_view (int depth, GtkWidget *event_box; GdkColor color; GtkWidget *align; - + if (depth > 4) return; - + child_view = gtk_text_view_new_with_buffer (gtk_text_view_get_buffer (view)); /* Event box is to add a black border around each child view */ @@ -507,10 +576,10 @@ recursive_attach_view (int depth, align = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_container_set_border_width (GTK_CONTAINER (align), 1); - + gtk_container_add (GTK_CONTAINER (event_box), align); gtk_container_add (GTK_CONTAINER (align), child_view); - + gtk_text_view_add_child_at_anchor (view, event_box, anchor); recursive_attach_view (depth + 1, GTK_TEXT_VIEW (child_view), anchor); @@ -533,21 +602,21 @@ easter_egg_callback (GtkWidget *button, gtk_window_present (GTK_WINDOW (window)); return; } - + buffer = gtk_text_buffer_new (NULL); gtk_text_buffer_get_start_iter (buffer, &iter); gtk_text_buffer_insert (buffer, &iter, - "This buffer is shared by a set of nested text views.\n Nested view:\n", -1); + "This buffer is shared by a set of nested text views.\n Nested view:\n", -1); anchor = gtk_text_buffer_create_child_anchor (buffer, &iter); gtk_text_buffer_insert (buffer, &iter, "\nDon't do this in real applications, please.\n", -1); view = gtk_text_view_new_with_buffer (buffer); - + recursive_attach_view (0, GTK_TEXT_VIEW (view), anchor); - + g_object_unref (buffer); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -563,7 +632,7 @@ easter_egg_callback (GtkWidget *button, g_object_add_weak_pointer (G_OBJECT (window), window_ptr); gtk_window_set_default_size (GTK_WINDOW (window), 300, 400); - + gtk_widget_show_all (window); } From 2facb830fa1cad1f5a028925b6101d8fdec9d980 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 28 Oct 2010 16:45:08 -0400 Subject: [PATCH 0209/1463] introspection: Explicitly include libgdk-x11.la when scanning gtk Debian changed the behavior of libtool to not follow dependencies from .la files. Fortunately, the scanner explicitly looks at the .la files to see if they're really shared; if not it doesn't add them to the .gir, so there's no cost. https://bugzilla.gnome.org/show_bug.cgi?id=633405 --- gtk/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index ab7f6f9115..23389fb2ef 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -923,6 +923,9 @@ Gtk_3_0_gir_CFLAGS = \ -UGTK_DISABLE_DEPRECATED \ -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API Gtk_3_0_gir_LIBS = $(gtktargetlib) +if USE_X11 +Gtk_3_0_gir_LIBS += $(top_builddir)/gdk/x11/libgdk-x11.la +endif Gtk_3_0_gir_FILES = $(introspection_files) INTROSPECTION_GIRS += Gtk-3.0.gir From b2ed95dd11bc199a834d14515a752e7d76814ad2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Nov 2010 13:15:04 -0500 Subject: [PATCH 0210/1463] Another attempt at scrolledwindow size allocation Patches taken from bug 633278. --- gtk/gtkscrolledwindow.c | 303 ++++++++++++++++++++++------------------ 1 file changed, 165 insertions(+), 138 deletions(-) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 1b794d4433..e34883bd5a 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -134,7 +134,7 @@ struct _GtkScrolledWindowPrivate guint vscrollbar_visible : 1; guint window_placement : 2; guint focus_out : 1; /* Flag used by ::move-focus-out implementation */ - guint inside_allocate : 1; + guint trust_sb_visibility : 1; gint min_content_width; gint min_content_height; @@ -489,6 +489,7 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window) gtk_scrolled_window_update_real_placement (scrolled_window); priv->min_content_width = -1; priv->min_content_height = -1; + priv->trust_sb_visibility = FALSE; } /** @@ -1445,11 +1446,10 @@ gtk_scrolled_window_relative_allocation (GtkWidget *widget, } } -static void +void gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow, GtkAllocation *relative_allocation) { - GtkScrolledWindowPrivate *priv = swindow->priv; GtkWidget *widget = GTK_WIDGET (swindow), *child; GtkAllocation allocation; GtkAllocation child_allocation; @@ -1464,9 +1464,7 @@ gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow, child_allocation.width = relative_allocation->width; child_allocation.height = relative_allocation->height; - priv->inside_allocate = TRUE; gtk_widget_size_allocate (child, &child_allocation); - priv->inside_allocate = FALSE; } static void @@ -1484,7 +1482,8 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gint sb_spacing; gint sb_width; gint sb_height; - + guint count = 0; + g_return_if_fail (GTK_IS_SCROLLED_WINDOW (widget)); g_return_if_fail (allocation != NULL); @@ -1518,135 +1517,143 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gint child_scroll_height; gboolean previous_hvis; gboolean previous_vvis; - guint count = 0; /* Determine scrollbar visibility first via hfw apis */ - if (gtk_widget_get_request_mode (child) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) - { - if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_width (child, &child_scroll_width, NULL); - else - gtk_widget_get_preferred_width (child, NULL, &child_scroll_width); - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* First try without a vertical scrollbar if the content will fit the height - * given the extra width of the scrollbar */ - if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_height_for_width (child, - MAX (allocation->width, child_scroll_width), - &child_scroll_height, NULL); - else - gtk_widget_get_preferred_height_for_width (child, - MAX (allocation->width, child_scroll_width), - NULL, &child_scroll_height); - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* Does the content height fit the allocation height ? */ - priv->vscrollbar_visible = child_scroll_height > allocation->height; - - /* Does the content width fit the allocation with minus a possible scrollbar ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - - /* Now that we've guessed the hscrollbar, does the content height fit - * the possible new allocation height ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - - /* Now that we've guessed the vscrollbar, does the content width fit - * the possible new allocation width ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - } - else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - priv->vscrollbar_visible = child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - } - } - else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? 0 : sb_width + sb_spacing); - else - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - } - } - else /* GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT */ - { - if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_height (child, &child_scroll_height, NULL); - else - gtk_widget_get_preferred_height (child, NULL, &child_scroll_height); - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* First try without a horizontal scrollbar if the content will fit the width - * given the extra height of the scrollbar */ - if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_width_for_height (child, - MAX (allocation->height, child_scroll_height), - &child_scroll_width, NULL); - else - gtk_widget_get_preferred_width_for_height (child, - MAX (allocation->height, child_scroll_height), - NULL, &child_scroll_width); - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* Does the content width fit the allocation width ? */ - priv->hscrollbar_visible = child_scroll_width > allocation->width; - - /* Does the content height fit the allocation with minus a possible scrollbar ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - - /* Now that we've guessed the vscrollbar, does the content width fit - * the possible new allocation width ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - - /* Now that we've guessed the hscrollbar, does the content height fit - * the possible new allocation height ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - } - else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - priv->hscrollbar_visible = child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - } - } - else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? 0 : sb_height + sb_spacing); - else - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - } - } + if (!priv->trust_sb_visibility) + { + if (gtk_widget_get_request_mode (child) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) + { + if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_width (child, &child_scroll_width, NULL); + else + gtk_widget_get_preferred_width (child, NULL, &child_scroll_width); - /* Now after guessing scrollbar visibility; fall back on the allocation loop which - * observes the adjustments to detect scrollbar visibility and also avoids - * infinite recursion + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* First try without a vertical scrollbar if the content will + * fit the height given the extra width of the scrollbar + */ + if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_height_for_width (child, + MAX (allocation->width, child_scroll_width), + &child_scroll_height, NULL); + else + gtk_widget_get_preferred_height_for_width (child, + MAX (allocation->width, child_scroll_width), + NULL, &child_scroll_height); + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* Does the content height fit the allocation height ? */ + priv->vscrollbar_visible = child_scroll_height > allocation->height; + + /* Does the content width fit the allocation with minus a possible scrollbar ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + + /* Now that we've guessed the hscrollbar, does the + * content height fit the possible new allocation height ? + */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + + /* Now that we've guessed the vscrollbar, does the + * content width fit the possible new allocation width ? + */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + } + else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + priv->vscrollbar_visible = child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + } + } + else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? 0 : sb_width + sb_spacing); + else + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + } + } + else /* GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT */ + { + if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_height (child, &child_scroll_height, NULL); + else + gtk_widget_get_preferred_height (child, NULL, &child_scroll_height); + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* First try without a horizontal scrollbar if the content + * will fit the width given the extra height of the scrollbar + */ + if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_width_for_height (child, + MAX (allocation->height, child_scroll_height), + &child_scroll_width, NULL); + else + gtk_widget_get_preferred_width_for_height (child, + MAX (allocation->height, child_scroll_height), + NULL, &child_scroll_width); + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* Does the content width fit the allocation width ? */ + priv->hscrollbar_visible = child_scroll_width > allocation->width; + + /* Does the content height fit the allocation with minus a possible scrollbar ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + + /* Now that we've guessed the vscrollbar, does the content + * width fit the possible new allocation width ? + */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + + /* Now that we've guessed the hscrollbar, does the content + * height fit the possible new allocation height ? + */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + } + else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + priv->hscrollbar_visible = child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + } + } + else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? 0 : sb_height + sb_spacing); + else + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + } + } + } + + /* Now after guessing scrollbar visibility; fall back on the allocation + * loop which observes the adjustments to detect scrollbar visibility + * and also avoids infinite recursion */ do { @@ -1664,9 +1671,13 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, priv->hscrollbar_visible = TRUE; priv->vscrollbar_visible = TRUE; - gtk_scrolled_window_allocate_child (scrolled_window, &relative_allocation); + /* Make sure we dont do the height-for-width guess on the + * next allocate. + */ + priv->trust_sb_visibility = TRUE; - break; + /* A queue resize is incoming so we will be immediately reinvoked */ + return; } count++; @@ -1681,6 +1692,16 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gtk_scrolled_window_relative_allocation (widget, &relative_allocation); } + if (count > 1) + /* If the scrollbars have flipped visibility, showing/hiding them will + * cause a resize to be queued, we need to blindly trust those visibility + * states on the next incoming allocate() and avoid guessing the visibility + * with height-for-width apis. + */ + priv->trust_sb_visibility = TRUE; + else + priv->trust_sb_visibility = FALSE; + if (priv->hscrollbar_visible) { if (!gtk_widget_get_visible (priv->hscrollbar)) @@ -1870,8 +1891,11 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, visible = priv->hscrollbar_visible; priv->hscrollbar_visible = (adjustment->upper - adjustment->lower > adjustment->page_size); - if (!priv->inside_allocate && priv->hscrollbar_visible != visible) - gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); + if (priv->hscrollbar_visible != visible) + { + priv->trust_sb_visibility = TRUE; + gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); + } } } else if (priv->vscrollbar && @@ -1884,8 +1908,11 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, visible = priv->vscrollbar_visible; priv->vscrollbar_visible = (adjustment->upper - adjustment->lower > adjustment->page_size); - if (!priv->inside_allocate && priv->vscrollbar_visible != visible) - gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); + if (priv->vscrollbar_visible != visible) + { + priv->trust_sb_visibility = TRUE; + gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); + } } } } From 3e9d7a30b0bb2cb8e379660d23fdf9ad67893333 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Nov 2010 13:51:55 -0500 Subject: [PATCH 0211/1463] fix up accidental exports --- gtk/gtkscrolledwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index e34883bd5a..590d3362c1 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -1446,7 +1446,7 @@ gtk_scrolled_window_relative_allocation (GtkWidget *widget, } } -void +static void gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow, GtkAllocation *relative_allocation) { From fdde029f066e8dedb0ad06ab802f764d445f48fc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 9 Nov 2010 15:24:50 -0500 Subject: [PATCH 0212/1463] bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 242ec6f8ce..5de27be06e 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ AC_CONFIG_MACRO_DIR([m4]) m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [91]) -m4_define([gtk_micro_version], [4]) +m4_define([gtk_micro_version], [5]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From b17a25142fd1cad91186bff6890401f5b6dd3dfe Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Fri, 29 Oct 2010 15:53:37 -0400 Subject: [PATCH 0213/1463] [introspection] add transfer none annotation to gdk_keyval_name return * moved docs from .sgml file to th e.c file so we can add the annotation --- docs/reference/gdk/tmpl/keys.sgml | 12 ------------ gdk/x11/gdkkeys-x11.c | 14 +++++++++++++- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/reference/gdk/tmpl/keys.sgml b/docs/reference/gdk/tmpl/keys.sgml index ca6c4dcfdd..955086dc38 100644 --- a/docs/reference/gdk/tmpl/keys.sgml +++ b/docs/reference/gdk/tmpl/keys.sgml @@ -265,18 +265,6 @@ Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL. @Returns: - - -Converts a key value into a symbolic name. -The names are the same as those in the <gdk/gdkkeysyms.h> header file -but without the leading "GDK_KEY_". - - -@keyval: a key value. -@Returns: a string containing the name of the key, or %NULL if @keyval is not -a valid key. The string should not be modified. - - Converts a key name to a key value. diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 7111c9bf5e..cb09d1f328 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -1606,7 +1606,19 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, /* Key handling not part of the keymap */ - +/** + * gdk_keyval_name: + * + * Converts a key value into a symbolic name. + * The names are the same as those in the + * <gdk/gdkkeysyms.h> header file + * but without the leading "GDK_KEY_". + * + * @keyval: a key value. + * + * Return value: (transfer none): a string containing the name of the key, or + * %NULL if @keyval is not a valid key. The string should not be modified. + **/ gchar* gdk_keyval_name (guint keyval) { From 4e4711012035716643cdb4b643a07038672d9652 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Tue, 9 Nov 2010 20:57:56 -0500 Subject: [PATCH 0214/1463] [introspection] mark invokers for gtkeditable vfuncs --- gtk/gtkeditable.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkeditable.c b/gtk/gtkeditable.c index fc6ea32c26..e85b1f16bf 100644 --- a/gtk/gtkeditable.c +++ b/gtk/gtkeditable.c @@ -199,6 +199,8 @@ gtk_editable_base_init (gpointer g_class) * * Note that the position is in characters, not in bytes. * The function updates @position to point after the newly inserted text. + * + * Virtual: do_insert_text */ void gtk_editable_insert_text (GtkEditable *editable, @@ -373,6 +375,8 @@ gtk_editable_delete_selection (GtkEditable *editable) * the end of the text. * * Note that positions are specified in characters, not bytes. + * + * Virtual: set_selection_bounds */ void gtk_editable_select_region (GtkEditable *editable, From 2e0278c7528d162903788f3169542c88b23f7778 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 10 Nov 2010 10:08:14 +0800 Subject: [PATCH 0215/1463] gtk: fix C99-style variable declarations in various sources --- gtk/gtkcontainer.c | 5 +- gtk/gtkrange.c | 3 +- gtk/gtkscrolledwindow.c | 303 ++++++++++++++++++---------------------- gtk/gtktoolitemgroup.c | 3 +- gtk/gtktoolpalette.c | 3 +- gtk/gtkwindow.c | 7 +- 6 files changed, 151 insertions(+), 173 deletions(-) diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index 024c4fe220..a37e361d65 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -2272,12 +2272,13 @@ tab_compare (gconstpointer a, const GtkWidget *child1 = a; const GtkWidget *child2 = b; GtkTextDirection text_direction = GPOINTER_TO_INT (data); + gint y1, y2; gtk_widget_get_allocation ((GtkWidget *) child1, &child1_allocation); gtk_widget_get_allocation ((GtkWidget *) child2, &child2_allocation); - gint y1 = child1_allocation.y + child1_allocation.height / 2; - gint y2 = child2_allocation.y + child2_allocation.height / 2; + y1 = child1_allocation.y + child1_allocation.height / 2; + y2 = child2_allocation.y + child2_allocation.height / 2; if (y1 == y2) { diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 7cd33c8d0d..6cbbdd64c7 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -1911,6 +1911,7 @@ draw_stepper (GtkRange *range, gint arrow_y; gint arrow_width; gint arrow_height; + gboolean arrow_sensitive; switch (stepper) { @@ -1930,7 +1931,7 @@ draw_stepper (GtkRange *range, g_assert_not_reached (); }; - gboolean arrow_sensitive = TRUE; + arrow_sensitive = TRUE; gtk_widget_get_allocation (widget, &allocation); diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 590d3362c1..bf2065ae52 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -134,7 +134,7 @@ struct _GtkScrolledWindowPrivate guint vscrollbar_visible : 1; guint window_placement : 2; guint focus_out : 1; /* Flag used by ::move-focus-out implementation */ - guint trust_sb_visibility : 1; + guint inside_allocate : 1; gint min_content_width; gint min_content_height; @@ -489,7 +489,6 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window) gtk_scrolled_window_update_real_placement (scrolled_window); priv->min_content_width = -1; priv->min_content_height = -1; - priv->trust_sb_visibility = FALSE; } /** @@ -1450,6 +1449,7 @@ static void gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow, GtkAllocation *relative_allocation) { + GtkScrolledWindowPrivate *priv = swindow->priv; GtkWidget *widget = GTK_WIDGET (swindow), *child; GtkAllocation allocation; GtkAllocation child_allocation; @@ -1464,7 +1464,9 @@ gtk_scrolled_window_allocate_child (GtkScrolledWindow *swindow, child_allocation.width = relative_allocation->width; child_allocation.height = relative_allocation->height; + priv->inside_allocate = TRUE; gtk_widget_size_allocate (child, &child_allocation); + priv->inside_allocate = FALSE; } static void @@ -1482,8 +1484,7 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gint sb_spacing; gint sb_width; gint sb_height; - guint count = 0; - + g_return_if_fail (GTK_IS_SCROLLED_WINDOW (widget)); g_return_if_fail (allocation != NULL); @@ -1517,143 +1518,135 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gint child_scroll_height; gboolean previous_hvis; gboolean previous_vvis; + guint count = 0; /* Determine scrollbar visibility first via hfw apis */ - if (!priv->trust_sb_visibility) - { - if (gtk_widget_get_request_mode (child) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) - { - if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_width (child, &child_scroll_width, NULL); - else - gtk_widget_get_preferred_width (child, NULL, &child_scroll_width); + if (gtk_widget_get_request_mode (child) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) + { + if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_width (child, &child_scroll_width, NULL); + else + gtk_widget_get_preferred_width (child, NULL, &child_scroll_width); + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* First try without a vertical scrollbar if the content will fit the height + * given the extra width of the scrollbar */ + if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_height_for_width (child, + MAX (allocation->width, child_scroll_width), + &child_scroll_height, NULL); + else + gtk_widget_get_preferred_height_for_width (child, + MAX (allocation->width, child_scroll_width), + NULL, &child_scroll_height); + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* Does the content height fit the allocation height ? */ + priv->vscrollbar_visible = child_scroll_height > allocation->height; + + /* Does the content width fit the allocation with minus a possible scrollbar ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + + /* Now that we've guessed the hscrollbar, does the content height fit + * the possible new allocation height ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + + /* Now that we've guessed the vscrollbar, does the content width fit + * the possible new allocation width ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + } + else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + priv->vscrollbar_visible = child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + } + } + else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? 0 : sb_width + sb_spacing); + else + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + } + } + else /* GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT */ + { + if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_height (child, &child_scroll_height, NULL); + else + gtk_widget_get_preferred_height (child, NULL, &child_scroll_height); + + if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* First try without a horizontal scrollbar if the content will fit the width + * given the extra height of the scrollbar */ + if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) + gtk_widget_get_preferred_width_for_height (child, + MAX (allocation->height, child_scroll_height), + &child_scroll_width, NULL); + else + gtk_widget_get_preferred_width_for_height (child, + MAX (allocation->height, child_scroll_height), + NULL, &child_scroll_width); + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + { + /* Does the content width fit the allocation width ? */ + priv->hscrollbar_visible = child_scroll_width > allocation->width; + + /* Does the content height fit the allocation with minus a possible scrollbar ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + + /* Now that we've guessed the vscrollbar, does the content width fit + * the possible new allocation width ? */ + priv->hscrollbar_visible = + child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + + /* Now that we've guessed the hscrollbar, does the content height fit + * the possible new allocation height ? */ + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); + } + else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + priv->hscrollbar_visible = child_scroll_width > allocation->width - + (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); + } + } + else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ + { + priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; + + if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) + priv->vscrollbar_visible = + child_scroll_height > allocation->height - + (priv->hscrollbar_visible ? 0 : sb_height + sb_spacing); + else + priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; + } + } - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* First try without a vertical scrollbar if the content will - * fit the height given the extra width of the scrollbar - */ - if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_height_for_width (child, - MAX (allocation->width, child_scroll_width), - &child_scroll_height, NULL); - else - gtk_widget_get_preferred_height_for_width (child, - MAX (allocation->width, child_scroll_width), - NULL, &child_scroll_height); - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* Does the content height fit the allocation height ? */ - priv->vscrollbar_visible = child_scroll_height > allocation->height; - - /* Does the content width fit the allocation with minus a possible scrollbar ? */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - - /* Now that we've guessed the hscrollbar, does the - * content height fit the possible new allocation height ? - */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - - /* Now that we've guessed the vscrollbar, does the - * content width fit the possible new allocation width ? - */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - } - else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - priv->vscrollbar_visible = child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - } - } - else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? 0 : sb_width + sb_spacing); - else - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - } - } - else /* GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT */ - { - if (gtk_scrollable_get_vscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_height (child, &child_scroll_height, NULL); - else - gtk_widget_get_preferred_height (child, NULL, &child_scroll_height); - - if (priv->hscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* First try without a horizontal scrollbar if the content - * will fit the width given the extra height of the scrollbar - */ - if (gtk_scrollable_get_hscroll_policy (GTK_SCROLLABLE (child)) == GTK_SCROLL_MINIMUM) - gtk_widget_get_preferred_width_for_height (child, - MAX (allocation->height, child_scroll_height), - &child_scroll_width, NULL); - else - gtk_widget_get_preferred_width_for_height (child, - MAX (allocation->height, child_scroll_height), - NULL, &child_scroll_width); - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - { - /* Does the content width fit the allocation width ? */ - priv->hscrollbar_visible = child_scroll_width > allocation->width; - - /* Does the content height fit the allocation with minus a possible scrollbar ? */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - - /* Now that we've guessed the vscrollbar, does the content - * width fit the possible new allocation width ? - */ - priv->hscrollbar_visible = - child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - - /* Now that we've guessed the hscrollbar, does the content - * height fit the possible new allocation height ? - */ - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? sb_height + sb_spacing : 0); - } - else /* priv->vscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - priv->hscrollbar_visible = child_scroll_width > allocation->width - - (priv->vscrollbar_visible ? sb_width + sb_spacing : 0); - } - } - else /* priv->hscrollbar_policy != GTK_POLICY_AUTOMATIC */ - { - priv->hscrollbar_visible = priv->hscrollbar_policy != GTK_POLICY_NEVER; - - if (priv->vscrollbar_policy == GTK_POLICY_AUTOMATIC) - priv->vscrollbar_visible = - child_scroll_height > allocation->height - - (priv->hscrollbar_visible ? 0 : sb_height + sb_spacing); - else - priv->vscrollbar_visible = priv->vscrollbar_policy != GTK_POLICY_NEVER; - } - } - } - - /* Now after guessing scrollbar visibility; fall back on the allocation - * loop which observes the adjustments to detect scrollbar visibility - * and also avoids infinite recursion + /* Now after guessing scrollbar visibility; fall back on the allocation loop which + * observes the adjustments to detect scrollbar visibility and also avoids + * infinite recursion */ do { @@ -1671,13 +1664,9 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, priv->hscrollbar_visible = TRUE; priv->vscrollbar_visible = TRUE; - /* Make sure we dont do the height-for-width guess on the - * next allocate. - */ - priv->trust_sb_visibility = TRUE; + gtk_scrolled_window_allocate_child (scrolled_window, &relative_allocation); - /* A queue resize is incoming so we will be immediately reinvoked */ - return; + break; } count++; @@ -1692,16 +1681,6 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gtk_scrolled_window_relative_allocation (widget, &relative_allocation); } - if (count > 1) - /* If the scrollbars have flipped visibility, showing/hiding them will - * cause a resize to be queued, we need to blindly trust those visibility - * states on the next incoming allocate() and avoid guessing the visibility - * with height-for-width apis. - */ - priv->trust_sb_visibility = TRUE; - else - priv->trust_sb_visibility = FALSE; - if (priv->hscrollbar_visible) { if (!gtk_widget_get_visible (priv->hscrollbar)) @@ -1872,7 +1851,7 @@ static void gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, gpointer data) { - GtkScrolledWindowPrivate *priv;; + GtkScrolledWindowPrivate *priv; GtkScrolledWindow *scrolled_window; g_return_if_fail (adjustment != NULL); @@ -1891,11 +1870,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, visible = priv->hscrollbar_visible; priv->hscrollbar_visible = (adjustment->upper - adjustment->lower > adjustment->page_size); - if (priv->hscrollbar_visible != visible) - { - priv->trust_sb_visibility = TRUE; - gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); - } + if (!priv->inside_allocate && priv->hscrollbar_visible != visible) + gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); } } else if (priv->vscrollbar && @@ -1908,11 +1884,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, visible = priv->vscrollbar_visible; priv->vscrollbar_visible = (adjustment->upper - adjustment->lower > adjustment->page_size); - if (priv->vscrollbar_visible != visible) - { - priv->trust_sb_visibility = TRUE; - gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); - } + if (!priv->inside_allocate && priv->vscrollbar_visible != visible) + gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); } } } diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index f095f80aa0..7983667ffc 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -885,10 +885,11 @@ gtk_tool_item_group_real_size_allocate (GtkWidget *widget, gint n_columns, n_rows = 1; gint min_rows; guint border_width; + GtkTextDirection direction; border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - GtkTextDirection direction = gtk_widget_get_direction (widget); + direction = gtk_widget_get_direction (widget); orientation = gtk_tool_shell_get_orientation (GTK_TOOL_SHELL (group)); style = gtk_tool_shell_get_style (GTK_TOOL_SHELL (group)); diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 1fb8aee806..383d6b5555 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -482,9 +482,10 @@ gtk_tool_palette_size_allocate (GtkWidget *widget, gint x; gint *group_sizes = g_newa (gint, palette->priv->groups->len); + GtkTextDirection direction; border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - GtkTextDirection direction = gtk_widget_get_direction (widget); + direction = gtk_widget_get_direction (widget); GTK_WIDGET_CLASS (gtk_tool_palette_parent_class)->size_allocate (widget, allocation); diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index a61bbcdc4f..0621701be9 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -7565,10 +7565,11 @@ gtk_window_set_frame_dimensions (GtkWindow *window, if (gtk_widget_get_realized (widget) && priv->frame) { - gtk_widget_get_allocation (widget, &allocation); + gint width, height; + gtk_widget_get_allocation (widget, &allocation); - gint width = allocation.width + left + right; - gint height = allocation.height + top + bottom; + width = allocation.width + left + right; + height = allocation.height + top + bottom; gdk_window_resize (priv->frame, width, height); gtk_decorated_window_move_resize_window (window, left, top, From 25c2f4b7809ba73c7f6d0b9d218b216b6f6a5843 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 10 Nov 2010 10:15:45 +0800 Subject: [PATCH 0216/1463] gtkwocket-win32.c Added missing include to avoid C4013 --- gtk/gtksocket-win32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtksocket-win32.c b/gtk/gtksocket-win32.c index 5c96d55f8f..cf57458af3 100644 --- a/gtk/gtksocket-win32.c +++ b/gtk/gtksocket-win32.c @@ -39,6 +39,7 @@ #include "win32/gdkwin32.h" #include "gtkwin32embed.h" +#include "gtkwidgetprivate.h" GdkNativeWindow _gtk_socket_windowing_get_id (GtkSocket *socket) From 14a40180cd1879bb8d9c464e2d4b753bc9cf5432 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 10 Nov 2010 10:21:08 +0800 Subject: [PATCH 0217/1463] gtklabel.c: Added hack for rint() --- gtk/gtklabel.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index f024b2847e..39655b8518 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -51,6 +51,24 @@ #include "gtktooltip.h" #include "gtkprivate.h" +/*rint() is only available in GCC and/or C99*/ +#if (__STDC_VERSION__ < 199901L && !defined __GNUC__) +double rint(double x) +{ + if (ceil(x+0.5) == floor(x+0.5)) + { + int a = (int)ceil(x); + if (a%2 == 0) + return ceil(x); + else + return floor(x); + } + else + return floor(x+0.5); +} +#endif + + struct _GtkLabelPrivate { From 2d84d1cb381bb31c96cf4908827e59c17897ea3f Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 10 Nov 2010 10:25:05 +0800 Subject: [PATCH 0218/1463] gtk+.vsprops: Update for GTK-3.0 -removed headers that ceased to exist -bump API version -made up for new headers that is to be installed -gtk-demo program and related sources/data copied to bin/gtk3-demo --- build/win32/vs9/gtk+.vsprops | 75 +++++++++++++----------------------- 1 file changed, 26 insertions(+), 49 deletions(-) diff --git a/build/win32/vs9/gtk+.vsprops b/build/win32/vs9/gtk+.vsprops index 11adbfb46d..ba5f174139 100644 --- a/build/win32/vs9/gtk+.vsprops +++ b/build/win32/vs9/gtk+.vsprops @@ -8,7 +8,7 @@ > @@ -31,7 +31,7 @@ copy ..\..\..\gdk\gdkconfig.h.win32 ..\..\..\gdk\gdkconfig.h /> Date: Wed, 10 Nov 2010 10:28:02 +0800 Subject: [PATCH 0219/1463] gtk+.sln: Remove GDK-Pixbuf compilation stuff GDK-Pixbuf is in a package of its own, so remove the project files from here --- build/win32/vs9/gdk-pixbuf-csource.vcproj | 166 ----------- .../win32/vs9/gdk-pixbuf-query-loaders.vcproj | 166 ----------- build/win32/vs9/gdk-pixbuf.vcproj | 258 ------------------ build/win32/vs9/gtk+.sln | 42 --- 4 files changed, 632 deletions(-) delete mode 100644 build/win32/vs9/gdk-pixbuf-csource.vcproj delete mode 100644 build/win32/vs9/gdk-pixbuf-query-loaders.vcproj delete mode 100644 build/win32/vs9/gdk-pixbuf.vcproj diff --git a/build/win32/vs9/gdk-pixbuf-csource.vcproj b/build/win32/vs9/gdk-pixbuf-csource.vcproj deleted file mode 100644 index e57e7d321d..0000000000 --- a/build/win32/vs9/gdk-pixbuf-csource.vcproj +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/win32/vs9/gdk-pixbuf-query-loaders.vcproj b/build/win32/vs9/gdk-pixbuf-query-loaders.vcproj deleted file mode 100644 index a556dc3a1f..0000000000 --- a/build/win32/vs9/gdk-pixbuf-query-loaders.vcproj +++ /dev/null @@ -1,166 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/win32/vs9/gdk-pixbuf.vcproj b/build/win32/vs9/gdk-pixbuf.vcproj deleted file mode 100644 index 517d7db7fd..0000000000 --- a/build/win32/vs9/gdk-pixbuf.vcproj +++ /dev/null @@ -1,258 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/win32/vs9/gtk+.sln b/build/win32/vs9/gtk+.sln index 61901a3da5..6d1fe1347f 100644 --- a/build/win32/vs9/gtk+.sln +++ b/build/win32/vs9/gtk+.sln @@ -1,43 +1,25 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf", "gdk-pixbuf.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf-csource", "gdk-pixbuf-csource.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}" - ProjectSection(ProjectDependencies) = postProject - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-pixbuf-query-loaders", "gdk-pixbuf-query-loaders.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}" - ProjectSection(ProjectDependencies) = postProject - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} - EndProjectSection -EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk-win32", "gdk-win32.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gdk", "gdk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}" ProjectSection(ProjectDependencies) = postProject - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FA} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk", "gtk.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5}" ProjectSection(ProjectDependencies) = postProject - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtk-demo", "gtk-demo.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC}" ProjectSection(ProjectDependencies) = postProject - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcproj", "{FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FB}" ProjectSection(ProjectDependencies) = postProject - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6} - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8} - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F5} {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} = {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073FC} @@ -51,30 +33,6 @@ Global Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|Win32.ActiveCfg = Debug|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|Win32.Build.0 = Debug|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|x64.ActiveCfg = Debug|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Debug|x64.Build.0 = Debug|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|Win32.ActiveCfg = Release|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|Win32.Build.0 = Release|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|x64.ActiveCfg = Release|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F6}.Release|x64.Build.0 = Release|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|Win32.ActiveCfg = Debug|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|Win32.Build.0 = Debug|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|x64.ActiveCfg = Debug|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Debug|x64.Build.0 = Debug|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|Win32.ActiveCfg = Release|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|Win32.Build.0 = Release|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|x64.ActiveCfg = Release|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F8}.Release|x64.Build.0 = Release|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|Win32.ActiveCfg = Debug|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|Win32.Build.0 = Debug|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|x64.ActiveCfg = Debug|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Debug|x64.Build.0 = Debug|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|Win32.ActiveCfg = Release|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|Win32.Build.0 = Release|Win32 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|x64.ActiveCfg = Release|x64 - {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F9}.Release|x64.Build.0 = Release|x64 {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.ActiveCfg = Debug|Win32 {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|Win32.Build.0 = Debug|Win32 {FC5AADB5-95CD-4BF0-BA8B-0C16FE7073F7}.Debug|x64.ActiveCfg = Debug|x64 From 9d52a9d9209c89de57a062aefc873c0ea77f34fc Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 10 Nov 2010 10:30:03 +0800 Subject: [PATCH 0220/1463] gtk.vcprojin: include .rc file --- build/win32/vs9/gtk.vcprojin | 1 + 1 file changed, 1 insertion(+) diff --git a/build/win32/vs9/gtk.vcprojin b/build/win32/vs9/gtk.vcprojin index 9c511f87a0..fcc63d0c5d 100644 --- a/build/win32/vs9/gtk.vcprojin +++ b/build/win32/vs9/gtk.vcprojin @@ -208,6 +208,7 @@ /> + Date: Wed, 10 Nov 2010 10:48:17 +0100 Subject: [PATCH 0221/1463] Print files to Documents directory by default Set default directory to G_USER_DIRECTORY_DOCUMENTS when printing to file backend and fallback to the current directory when it is not available (#633896). --- modules/printbackends/file/gtkprintbackendfile.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/modules/printbackends/file/gtkprintbackendfile.c b/modules/printbackends/file/gtkprintbackendfile.c index 27cc0a4e98..79023c9682 100644 --- a/modules/printbackends/file/gtkprintbackendfile.c +++ b/modules/printbackends/file/gtkprintbackendfile.c @@ -253,13 +253,21 @@ output_file_from_settings (GtkPrintSettings *settings, if (locale_name != NULL) { - gchar *current_dir = g_get_current_dir (); - path = g_build_filename (current_dir, locale_name, NULL); - g_free (locale_name); + const gchar *document_dir = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS); + + if (document_dir == NULL) + { + gchar *current_dir = g_get_current_dir (); + path = g_build_filename (current_dir, locale_name, NULL); + g_free (current_dir); + } + else + path = g_build_filename (document_dir, locale_name, NULL); uri = g_filename_to_uri (path, NULL, NULL); + + g_free (locale_name); g_free (path); - g_free (current_dir); } } From 233afbdab1cb3fab4fc48504ff961b200cb64922 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Wed, 10 Nov 2010 11:35:09 +0100 Subject: [PATCH 0222/1463] gtkdialog.c: Remove trailing whitespace --- gtk/gtkdialog.c | 198 ++++++++++++++++++++++++------------------------ 1 file changed, 99 insertions(+), 99 deletions(-) diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 5cb95712e2..b5863263f0 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -125,10 +125,10 @@ gtk_dialog_class_init (GtkDialogClass *class) * GtkDialog::response: * @dialog: the object on which the signal is emitted * @response_id: the response ID - * - * Emitted when an action widget is clicked, the dialog receives a - * delete event, or the application programmer calls gtk_dialog_response(). - * On a delete event, the response ID is #GTK_RESPONSE_DELETE_EVENT. + * + * Emitted when an action widget is clicked, the dialog receives a + * delete event, or the application programmer calls gtk_dialog_response(). + * On a delete event, the response ID is #GTK_RESPONSE_DELETE_EVENT. * Otherwise, it depends on which action widget was clicked. */ dialog_signals[RESPONSE] = @@ -144,13 +144,13 @@ gtk_dialog_class_init (GtkDialogClass *class) /** * GtkDialog::close: * - * The ::close signal is a + * The ::close signal is a * keybinding signal * which gets emitted when the user uses a keybinding to close * the dialog. * * The default binding for this signal is the Escape key. - */ + */ dialog_signals[CLOSE] = g_signal_new (I_("close"), G_OBJECT_CLASS_TYPE (class), @@ -159,7 +159,7 @@ gtk_dialog_class_init (GtkDialogClass *class) NULL, NULL, _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); - + gtk_widget_class_install_style_property (widget_class, g_param_spec_int ("content-area-border", P_("Content area border"), @@ -194,7 +194,7 @@ gtk_dialog_class_init (GtkDialogClass *class) G_MAXINT, 6, GTK_PARAM_READABLE)); - + gtk_widget_class_install_style_property (widget_class, g_param_spec_int ("action-area-border", P_("Action area border"), @@ -205,7 +205,7 @@ gtk_dialog_class_init (GtkDialogClass *class) GTK_PARAM_READABLE)); binding_set = gtk_binding_set_by_class (class); - + gtk_binding_entry_add_signal (binding_set, GDK_KEY_Escape, 0, "close", 0); } @@ -331,7 +331,7 @@ gtk_dialog_map (GtkWidget *widget) GtkWindow *window = GTK_WINDOW (widget); GtkDialog *dialog = GTK_DIALOG (widget); GtkDialogPrivate *priv = dialog->priv; - + GTK_WIDGET_CLASS (gtk_dialog_parent_class)->map (widget); focus = gtk_window_get_focus (window); @@ -373,10 +373,10 @@ gtk_dialog_map (GtkWidget *widget) gtk_widget_grab_focus (default_widget); break; } - + tmp_list = tmp_list->next; } - + g_list_free (children); } } @@ -395,13 +395,13 @@ dialog_find_button (GtkDialog *dialog, GtkDialogPrivate *priv = dialog->priv; GtkWidget *child = NULL; GList *children, *tmp_list; - + children = gtk_container_get_children (GTK_CONTAINER (priv->action_area)); for (tmp_list = children; tmp_list; tmp_list = tmp_list->next) { ResponseData *rd = get_response_data (tmp_list->data, FALSE); - + if (rd && rd->response_id == response_id) { child = tmp_list->data; @@ -418,7 +418,7 @@ static void gtk_dialog_close (GtkDialog *dialog) { /* Synthesize delete_event to close dialog. */ - + GtkWidget *widget = GTK_WIDGET (dialog); GdkEvent *event; @@ -426,7 +426,7 @@ gtk_dialog_close (GtkDialog *dialog) event->any.window = g_object_ref (gtk_widget_get_window (widget)); event->any.send_event = TRUE; - + gtk_main_do_event (event); gdk_event_free (event); } @@ -481,10 +481,10 @@ gtk_dialog_new_empty (const gchar *title, * any positive number, or one of the values in the #GtkResponseType * enumeration. If the user clicks one of these dialog buttons, * #GtkDialog will emit the #GtkDialog::response signal with the corresponding - * response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal, + * response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal, * it will emit ::response with a response ID of #GTK_RESPONSE_DELETE_EVENT. * However, destroying a dialog does not emit the ::response signal; - * so be careful relying on ::response when using the + * so be careful relying on ::response when using the * #GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right, * so the first button in the list will be the leftmost button in the dialog. * @@ -499,7 +499,7 @@ gtk_dialog_new_empty (const gchar *title, * GTK_RESPONSE_REJECT, * NULL); * ]| - * + * * Return value: a new #GtkDialog **/ GtkWidget* @@ -511,7 +511,7 @@ gtk_dialog_new_with_buttons (const gchar *title, { GtkDialog *dialog; va_list args; - + dialog = GTK_DIALOG (gtk_dialog_new_empty (title, parent, flags)); va_start (args, first_button_text); @@ -519,13 +519,13 @@ gtk_dialog_new_with_buttons (const gchar *title, gtk_dialog_add_buttons_valist (dialog, first_button_text, args); - + va_end (args); return GTK_WIDGET (dialog); } -static void +static void response_data_free (gpointer data) { g_slice_free (ResponseData, data); @@ -541,7 +541,7 @@ get_response_data (GtkWidget *widget, if (ad == NULL && create) { ad = g_slice_new (ResponseData); - + g_object_set_data_full (G_OBJECT (widget), I_("gtk-dialog-response-data"), ad, @@ -555,7 +555,7 @@ static void action_widget_activated (GtkWidget *widget, GtkDialog *dialog) { gint response_id; - + response_id = gtk_dialog_get_response_for_widget (dialog, widget); gtk_dialog_response (dialog, response_id); @@ -566,12 +566,12 @@ action_widget_activated (GtkWidget *widget, GtkDialog *dialog) * @dialog: a #GtkDialog * @child: an activatable widget * @response_id: response ID for @child - * + * * Adds an activatable widget to the action area of a #GtkDialog, - * connecting a signal handler that will emit the #GtkDialog::response - * signal on the dialog when the widget is activated. The widget is + * connecting a signal handler that will emit the #GtkDialog::response + * signal on the dialog when the widget is activated. The widget is * appended to the end of the dialog's action area. If you want to add a - * non-activatable widget, simply pack it into the @action_area field + * non-activatable widget, simply pack it into the @action_area field * of the #GtkDialog struct. **/ void @@ -582,7 +582,7 @@ gtk_dialog_add_action_widget (GtkDialog *dialog, GtkDialogPrivate *priv; ResponseData *ad; guint signal_id; - + g_return_if_fail (GTK_IS_DIALOG (dialog)); g_return_if_fail (GTK_IS_WIDGET (child)); @@ -615,7 +615,7 @@ gtk_dialog_add_action_widget (GtkDialog *dialog, gtk_box_pack_end (GTK_BOX (priv->action_area), child, FALSE, TRUE, 0); - + if (response_id == GTK_RESPONSE_HELP) gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (priv->action_area), child, TRUE); } @@ -625,11 +625,11 @@ gtk_dialog_add_action_widget (GtkDialog *dialog, * @dialog: a #GtkDialog * @button_text: text of button, or stock ID * @response_id: response ID for the button - * + * * Adds a button with the given text (or a stock button, if @button_text is a * stock ID) and sets things up so that clicking the button will emit the - * #GtkDialog::response signal with the given @response_id. The button is - * appended to the end of the dialog's action area. The button widget is + * #GtkDialog::response signal with the given @response_id. The button is + * appended to the end of the dialog's action area. The button widget is * returned, but usually you don't need it. * * Return value: (transfer full): the button widget that was added @@ -640,16 +640,16 @@ gtk_dialog_add_button (GtkDialog *dialog, gint response_id) { GtkWidget *button; - + g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL); g_return_val_if_fail (button_text != NULL, NULL); button = gtk_button_new_from_stock (button_text); gtk_widget_set_can_default (button, TRUE); - + gtk_widget_show (button); - + gtk_dialog_add_action_widget (dialog, button, response_id); @@ -666,10 +666,10 @@ gtk_dialog_add_buttons_valist (GtkDialog *dialog, gint response_id; g_return_if_fail (GTK_IS_DIALOG (dialog)); - + if (first_button_text == NULL) return; - + text = first_button_text; response_id = va_arg (args, gint); @@ -689,7 +689,7 @@ gtk_dialog_add_buttons_valist (GtkDialog *dialog, * @dialog: a #GtkDialog * @first_button_text: button text or stock ID * @Varargs: response ID for first button, then more text-response_id pairs - * + * * Adds more buttons, same as calling gtk_dialog_add_button() * repeatedly. The variable argument list should be %NULL-terminated * as with gtk_dialog_new_with_buttons(). Each button must have both @@ -699,7 +699,7 @@ void gtk_dialog_add_buttons (GtkDialog *dialog, const gchar *first_button_text, ...) -{ +{ va_list args; va_start (args, first_button_text); @@ -707,7 +707,7 @@ gtk_dialog_add_buttons (GtkDialog *dialog, gtk_dialog_add_buttons_valist (dialog, first_button_text, args); - + va_end (args); } @@ -717,7 +717,7 @@ gtk_dialog_add_buttons (GtkDialog *dialog, * @response_id: a response ID * @setting: %TRUE for sensitive * - * Calls gtk_widget_set_sensitive (widget, @setting) + * Calls gtk_widget_set_sensitive (widget, @setting) * for each widget in the dialog's action area with the given @response_id. * A convenient way to sensitize/desensitize dialog buttons. **/ @@ -755,7 +755,7 @@ gtk_dialog_set_response_sensitive (GtkDialog *dialog, * gtk_dialog_set_default_response: * @dialog: a #GtkDialog * @response_id: a response ID - * + * * Sets the last widget in the dialog's action area with the given @response_id * as the default widget for the dialog. Pressing "Enter" normally activates * the default widget. @@ -782,7 +782,7 @@ gtk_dialog_set_default_response (GtkDialog *dialog, if (rd && rd->response_id == response_id) gtk_widget_grab_default (widget); - + tmp_list = g_list_next (tmp_list); } @@ -792,9 +792,9 @@ gtk_dialog_set_default_response (GtkDialog *dialog, /** * gtk_dialog_response: * @dialog: a #GtkDialog - * @response_id: response ID - * - * Emits the #GtkDialog::response signal with the given response ID. + * @response_id: response ID + * + * Emits the #GtkDialog::response signal with the given response ID. * Used to indicate that the user has responded to the dialog in some way; * typically either you or gtk_dialog_run() will be monitoring the * ::response signal and take appropriate action. @@ -854,9 +854,9 @@ run_delete_handler (GtkDialog *dialog, gpointer data) { RunInfo *ri = data; - + shutdown_loop (ri); - + return TRUE; /* Do not destroy */ } @@ -866,31 +866,31 @@ run_destroy_handler (GtkDialog *dialog, gpointer data) RunInfo *ri = data; /* shutdown_loop will be called by run_unmap_handler */ - + ri->destroyed = TRUE; } /** * gtk_dialog_run: * @dialog: a #GtkDialog - * + * * Blocks in a recursive main loop until the @dialog either emits the - * #GtkDialog::response signal, or is destroyed. If the dialog is - * destroyed during the call to gtk_dialog_run(), gtk_dialog_run() returns - * #GTK_RESPONSE_NONE. Otherwise, it returns the response ID from the + * #GtkDialog::response signal, or is destroyed. If the dialog is + * destroyed during the call to gtk_dialog_run(), gtk_dialog_run() returns + * #GTK_RESPONSE_NONE. Otherwise, it returns the response ID from the * ::response signal emission. * * Before entering the recursive main loop, gtk_dialog_run() calls * gtk_widget_show() on the dialog for you. Note that you still * need to show any children of the dialog yourself. * - * During gtk_dialog_run(), the default behavior of #GtkWidget::delete-event + * During gtk_dialog_run(), the default behavior of #GtkWidget::delete-event * is disabled; if the dialog receives ::delete_event, it will not be * destroyed as windows usually are, and gtk_dialog_run() will return - * #GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog + * #GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog * will be modal. You can force gtk_dialog_run() to return at any time by - * calling gtk_dialog_response() to emit the ::response signal. Destroying - * the dialog during gtk_dialog_run() is a very bad idea, because your + * calling gtk_dialog_response() to emit the ::response signal. Destroying + * the dialog during gtk_dialog_run() is a very bad idea, because your * post-run code won't know whether the dialog was destroyed or not. * * After gtk_dialog_run() returns, you are responsible for hiding or @@ -910,13 +910,13 @@ run_destroy_handler (GtkDialog *dialog, gpointer data) * } * gtk_widget_destroy (dialog); * ]| - * + * * Note that even though the recursive main loop gives the effect of a - * modal dialog (it prevents the user from interacting with other - * windows in the same window group while the dialog is run), callbacks - * such as timeouts, IO channel watches, DND drops, etc, will + * modal dialog (it prevents the user from interacting with other + * windows in the same window group while the dialog is run), callbacks + * such as timeouts, IO channel watches, DND drops, etc, will * be triggered during a gtk_dialog_run() call. - * + * * Return value: response ID **/ gint @@ -928,7 +928,7 @@ gtk_dialog_run (GtkDialog *dialog) gulong unmap_handler; gulong destroy_handler; gulong delete_handler; - + g_return_val_if_fail (GTK_IS_DIALOG (dialog), -1); g_object_ref (dialog); @@ -939,46 +939,46 @@ gtk_dialog_run (GtkDialog *dialog) if (!gtk_widget_get_visible (GTK_WIDGET (dialog))) gtk_widget_show (GTK_WIDGET (dialog)); - + response_handler = g_signal_connect (dialog, "response", G_CALLBACK (run_response_handler), &ri); - + unmap_handler = g_signal_connect (dialog, "unmap", G_CALLBACK (run_unmap_handler), &ri); - + delete_handler = g_signal_connect (dialog, "delete-event", G_CALLBACK (run_delete_handler), &ri); - + destroy_handler = g_signal_connect (dialog, "destroy", G_CALLBACK (run_destroy_handler), &ri); - + ri.loop = g_main_loop_new (NULL, FALSE); - GDK_THREADS_LEAVE (); + GDK_THREADS_LEAVE (); g_main_loop_run (ri.loop); - GDK_THREADS_ENTER (); + GDK_THREADS_ENTER (); g_main_loop_unref (ri.loop); ri.loop = NULL; - + if (!ri.destroyed) { if (!was_modal) gtk_window_set_modal (GTK_WINDOW(dialog), FALSE); - + g_signal_handler_disconnect (dialog, response_handler); g_signal_handler_disconnect (dialog, unmap_handler); g_signal_handler_disconnect (dialog, delete_handler); @@ -1069,18 +1069,18 @@ gtk_dialog_get_response_for_widget (GtkDialog *dialog, * Returns %TRUE if dialogs are expected to use an alternative * button order on the screen @screen. See * gtk_dialog_set_alternative_button_order() for more details - * about alternative button order. + * about alternative button order. * * If you need to use this function, you should probably connect * to the ::notify:gtk-alternative-button-order signal on the - * #GtkSettings object associated to @screen, in order to be + * #GtkSettings object associated to @screen, in order to be * notified if the button order setting changes. * * Returns: Whether the alternative button order should be used * * Since: 2.6 */ -gboolean +gboolean gtk_alternative_dialog_button_order (GdkScreen *screen) { GtkSettings *settings; @@ -1090,7 +1090,7 @@ gtk_alternative_dialog_button_order (GdkScreen *screen) settings = gtk_settings_get_for_screen (screen); else settings = gtk_settings_get_default (); - + g_object_get (settings, "gtk-alternative-button-order", &result, NULL); @@ -1126,52 +1126,52 @@ gtk_dialog_set_alternative_button_order_valist (GtkDialog *dialog, * @first_response_id: a response id used by one @dialog's buttons * @Varargs: a list of more response ids of @dialog's buttons, terminated by -1 * - * Sets an alternative button order. If the - * #GtkSettings:gtk-alternative-button-order setting is set to %TRUE, - * the dialog buttons are reordered according to the order of the + * Sets an alternative button order. If the + * #GtkSettings:gtk-alternative-button-order setting is set to %TRUE, + * the dialog buttons are reordered according to the order of the * response ids passed to this function. * - * By default, GTK+ dialogs use the button order advocated by the Gnome - * Human - * Interface Guidelines with the affirmative button at the far + * By default, GTK+ dialogs use the button order advocated by the Gnome + * Human + * Interface Guidelines with the affirmative button at the far * right, and the cancel button left of it. But the builtin GTK+ dialogs * and #GtkMessageDialogs do provide an alternative button order, * which is more suitable on some platforms, e.g. Windows. * - * Use this function after adding all the buttons to your dialog, as the + * Use this function after adding all the buttons to your dialog, as the * following example shows: * |[ * cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog), * GTK_STOCK_CANCEL, * GTK_RESPONSE_CANCEL); - * + * * ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog), * GTK_STOCK_OK, * GTK_RESPONSE_OK); - * + * * gtk_widget_grab_default (ok_button); - * + * * help_button = gtk_dialog_add_button (GTK_DIALOG (dialog), * GTK_STOCK_HELP, * GTK_RESPONSE_HELP); - * + * * gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), * GTK_RESPONSE_OK, * GTK_RESPONSE_CANCEL, * GTK_RESPONSE_HELP, * -1); * ]| - * + * * Since: 2.6 */ -void +void gtk_dialog_set_alternative_button_order (GtkDialog *dialog, gint first_response_id, ...) { GdkScreen *screen; va_list args; - + g_return_if_fail (GTK_IS_DIALOG (dialog)); screen = gtk_widget_get_screen (GTK_WIDGET (dialog)); @@ -1191,18 +1191,18 @@ gtk_dialog_set_alternative_button_order (GtkDialog *dialog, * @n_params: the number of response ids in @new_order * @new_order: an array of response ids of @dialog's buttons * - * Sets an alternative button order. If the - * #GtkSettings:gtk-alternative-button-order setting is set to %TRUE, - * the dialog buttons are reordered according to the order of the + * Sets an alternative button order. If the + * #GtkSettings:gtk-alternative-button-order setting is set to %TRUE, + * the dialog buttons are reordered according to the order of the * response ids in @new_order. * * See gtk_dialog_set_alternative_button_order() for more information. * * This function is for use by language bindings. - * + * * Since: 2.6 */ -void +void gtk_dialog_set_alternative_button_order_from_array (GtkDialog *dialog, gint n_params, gint *new_order) @@ -1331,7 +1331,7 @@ gtk_dialog_buildable_custom_finished (GtkBuildable *buildable, GObject *object; ResponseData *ad; guint signal_id; - + if (strcmp (tagname, "action-widgets")) { parent_buildable_iface->custom_finished (buildable, builder, child, @@ -1362,11 +1362,11 @@ gtk_dialog_buildable_custom_finished (GtkBuildable *buildable, signal_id = g_signal_lookup ("clicked", GTK_TYPE_BUTTON); else signal_id = GTK_WIDGET_GET_CLASS (object)->activate_signal; - + if (signal_id) { GClosure *closure; - + closure = g_cclosure_new_object (G_CALLBACK (action_widget_activated), G_OBJECT (dialog)); g_signal_connect_closure_by_id (object, From 131da8507b875ef9378cbd3caf145af17e9dbcc6 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Wed, 10 Nov 2010 11:35:34 +0100 Subject: [PATCH 0223/1463] gtk_dialog_get_content_area(): Fix the docs. This returns a GtkBox now, not a GtkVBox. Language bindings may need to adjust their APIs accordingly. --- gtk/gtkdialog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index b5863263f0..22c32ce5fe 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -1412,7 +1412,7 @@ gtk_dialog_get_action_area (GtkDialog *dialog) * * Returns the content area of @dialog. * - * Returns: (transfer none): the content area #GtkVBox. + * Returns: (transfer none): the content area #GtkBox. * * Since: 2.14 **/ From 88c15438456c17cee7cd74f5b55e83d6b603cbda Mon Sep 17 00:00:00 2001 From: Chao-Hsiung Liao Date: Wed, 10 Nov 2010 19:37:39 +0800 Subject: [PATCH 0224/1463] Updated Traditional Chinese translation (Hong Kong and Taiwan) --- po-properties/zh_HK.po | 4060 ++++++++++++++++++----------------- po-properties/zh_TW.po | 4643 +++++++++++++++++++++------------------- po/zh_HK.po | 1814 ++++++++-------- po/zh_TW.po | 1807 ++++++++-------- 4 files changed, 6290 insertions(+), 6034 deletions(-) diff --git a/po-properties/zh_HK.po b/po-properties/zh_HK.po index b845b8d770..0254fadeec 100644 --- a/po-properties/zh_HK.po +++ b/po-properties/zh_HK.po @@ -1,7011 +1,7113 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# Chao-Hsiung Liao , 2010. +# Wei-Lun Chao , 2010. # msgid "" msgstr "" -"Project-Id-Version: gtk+ 2.90.7\n" +"Project-Id-Version: gtk+ 2.91.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-08-21 19:48+0800\n" +"POT-Creation-Date: 2010-11-10 19:35+0800\n" +"PO-Revision-Date: 2010-11-10 19:36+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Hong Kong) \n" -"Language: zh_HK\n" +"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Bookmarks: -1,-1,-1,477,-1,-1,-1,-1,-1,-1\n" -#: gdk/gdkdevice.c:97 -#, fuzzy +#: ../gdk/gdkdevice.c:99 msgid "Device Display" -msgstr "預設顯示區" +msgstr "裝置顯示" -#: gdk/gdkdevice.c:98 -#, fuzzy +#: ../gdk/gdkdevice.c:100 msgid "Display which the device belongs to" -msgstr "會顯示該格位敏感度" +msgstr "這個裝置所屬的顯示" -#: gdk/gdkdevice.c:112 -#, fuzzy +#: ../gdk/gdkdevice.c:114 msgid "Device manager" -msgstr "最近使用項目管理程式" +msgstr "裝置管理程式" -#: gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:115 msgid "Device manager which the device belongs to" -msgstr "" +msgstr "這個裝置所屬的裝置管理程式" -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -#, fuzzy +#: ../gdk/gdkdevice.c:129 ../gdk/gdkdevice.c:130 msgid "Device name" -msgstr "元件名稱" +msgstr "裝置名稱" -#: gdk/gdkdevice.c:142 -#, fuzzy +#: ../gdk/gdkdevice.c:144 msgid "Device type" -msgstr "曲線類型" +msgstr "裝置類型" -#: gdk/gdkdevice.c:143 +#: ../gdk/gdkdevice.c:145 msgid "Device role in the device manager" -msgstr "" +msgstr "在裝置管理程式中的裝置角色" -#: gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:161 msgid "Associated device" -msgstr "" +msgstr "關聯的裝置" -#: gdk/gdkdevice.c:160 +#: ../gdk/gdkdevice.c:162 msgid "Associated pointer or keyboard with this device" -msgstr "" +msgstr "這個裝置關聯的指標或鍵盤" -#: gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:175 msgid "Input source" -msgstr "" +msgstr "輸入來源" -#: gdk/gdkdevice.c:174 -#, fuzzy +#: ../gdk/gdkdevice.c:176 msgid "Source type for the device" -msgstr "樹狀顯示所使用的模型" +msgstr "裝置的來源類型" -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -#, fuzzy +#: ../gdk/gdkdevice.c:191 ../gdk/gdkdevice.c:192 msgid "Input mode for the device" -msgstr "樹狀顯示所使用的模型" +msgstr "裝置的輸入模式" -#: gdk/gdkdevice.c:205 -#, fuzzy +#: ../gdk/gdkdevice.c:207 msgid "Whether the device has a cursor" -msgstr "元件是否在輸入焦點內" +msgstr "裝置是否有游標" -#: gdk/gdkdevice.c:206 +#: ../gdk/gdkdevice.c:208 msgid "Whether there is a visible cursor following device motion" -msgstr "" +msgstr "是否有可視的指標追蹤裝置的移動" -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -#, fuzzy +#: ../gdk/gdkdevice.c:222 ../gdk/gdkdevice.c:223 msgid "Number of axes in the device" -msgstr "文件中的頁數。" +msgstr "裝置中的軸數" -#: gdk/gdkdevicemanager.c:134 -#, fuzzy +#: ../gdk/gdkdevicemanager.c:136 msgid "Display" -msgstr "預設顯示區" +msgstr "顯示" -#: gdk/gdkdevicemanager.c:135 -#, fuzzy +#: ../gdk/gdkdevicemanager.c:137 msgid "Display for the device manager" -msgstr "會顯示該格位" +msgstr "裝置管理的顯示" -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:101 msgid "Default Display" msgstr "預設顯示區" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:102 msgid "The default display for GDK" msgstr "GDK 的預設顯示區" -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:74 msgid "Font options" msgstr "字型選項" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:75 msgid "The default font options for the screen" msgstr "螢幕字型的預設選項" -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:82 msgid "Font resolution" msgstr "字型解像度" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:83 msgid "The resolution for fonts on the screen" msgstr "螢幕上字型的解像度" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:410 ../gdk/gdkwindow.c:411 msgid "Cursor" msgstr "游標" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:112 msgid "Device ID" -msgstr "" +msgstr "裝置 ID" -#: gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:113 msgid "Device identifier" -msgstr "" +msgstr "裝置識別符" -#: gdk/x11/gdkdevicemanager-xi.c:84 -#, fuzzy +#: ../gdk/x11/gdkdevicemanager-xi.c:85 msgid "Event base" -msgstr "事件" +msgstr "事件基礎" -#: gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:86 msgid "Event base for XInput events" -msgstr "" +msgstr "XInput 事件的事件基礎" -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:269 msgid "Program name" msgstr "程式名稱" -#: gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:270 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" msgstr "程式名稱,如果沒有設定則取 g_get_application_name() 的回傳值。" -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:284 msgid "Program version" msgstr "程式版本" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:285 msgid "The version of the program" msgstr "程式的版本" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:299 msgid "Copyright string" msgstr "版權資訊" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:300 msgid "Copyright information for the program" msgstr "該程式的版權資訊" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:317 msgid "Comments string" msgstr "程式說明" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:318 msgid "Comments about the program" msgstr "有關該程式的說明" -#: gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:368 msgid "License Type" msgstr "授權類型" -#: gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:369 msgid "The license type of the program" msgstr "本程式的授權類型" -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:385 msgid "Website URL" msgstr "網站 URL" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:386 msgid "The URL for the link to the website of the program" msgstr "代表該程式的網站的 URL 連結" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:401 msgid "Website label" msgstr "網站標籤" -#: gtk/gtkaboutdialog.c:402 +#: ../gtk/gtkaboutdialog.c:402 msgid "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" msgstr "代表該網站的文字標籤。如果沒有設定,則預設使用網站的 URL" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:418 msgid "Authors" msgstr "作者" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:419 msgid "List of authors of the program" msgstr "程式作者清單" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:435 msgid "Documenters" msgstr "文件編寫員" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:436 msgid "List of people documenting the program" msgstr "為程式編寫文件的人員名單" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:452 msgid "Artists" msgstr "美工人員" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:453 msgid "List of people who have contributed artwork to the program" msgstr "為程式製作美工繪圖" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:470 msgid "Translator credits" msgstr "鳴謝翻譯者" -#: gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:471 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "翻譯者的相關訊息。本字串應該被標記為可翻譯的字串" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:486 msgid "Logo" msgstr "標誌" -#: gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:487 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" -msgstr "" -"「關於」對話盒中的標誌,如果沒有設定則預設使用 " -"gtk_window_get_default_icon_list() 的回傳值。" +msgstr "「關於」對話盒中的標誌,如果沒有設定則預設使用 gtk_window_get_default_icon_list() 的回傳值。" -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:502 msgid "Logo Icon Name" msgstr "標誌圖示名稱" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:503 msgid "A named icon to use as the logo for the about box." msgstr "用在「關於」方塊標誌的具名圖示。" -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:516 msgid "Wrap license" msgstr "授權條款換行" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:517 msgid "Whether to wrap the license text." msgstr "授權條款是否換行。" -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:189 msgid "Accelerator Closure" msgstr "捷徑鍵封裝" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:190 msgid "The closure to be monitored for accelerator changes" msgstr "監視捷徑鍵變化的封裝" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:196 msgid "Accelerator Widget" msgstr "捷徑鍵視窗元件" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:197 msgid "The widget to be monitored for accelerator changes" msgstr "監視該視窗元件的捷徑鍵變化" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 msgid "Name" msgstr "名稱" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "這個指令的特定名稱。" -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:238 ../gtk/gtkexpander.c:209 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "標籤" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." msgstr "啟動此指令的選單項目與按鈕所使用的標籤。" -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:258 msgid "Short label" msgstr "短標籤" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "可以在工具列按鈕上使用的的袖珍標籤。" -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:267 msgid "Tooltip" msgstr "工具提示" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "本指令的工具提示。" -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "內置圖示" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "在視窗元件中代表此動作的內置圖示" -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "準備顯示的 GIcon" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:733 msgid "Icon Name" msgstr "圖示名稱" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "圖示主題的圖示名稱" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "水平顯示時為可見" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." msgstr "當工具列呈水平顯示時工具列項目是否可見。" -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "overflow 時為可見" -#: gtk/gtkaction.c:350 +#: ../gtk/gtkaction.c:350 msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." msgstr "當為 TRUE 時,此指令的工具選項代理會被顯示在工具列 overflow 選單。" -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "垂直顯示時為可見" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." msgstr "當工具列呈垂直顯示時工具列項目是否為可見。" -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "重要的" -#: gtk/gtkaction.c:366 +#: ../gtk/gtkaction.c:366 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." -msgstr "" -"是否該指令被視為重要指令。當設為 TRUE 時,代理此指令的工具列項目會根據" -"GTK_TOOLBAR_BOTH_HORIZ 模式顯示對應文字。" +msgstr "是否該指令被視為重要指令。當設為 TRUE 時,代理此指令的工具列項目會根據GTK_TOOLBAR_BOTH_HORIZ 模式顯示對應文字。" -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "空置時隱藏" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "當為 TRUE 時,代理此指令的空選單會被隱藏。" -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:978 msgid "Sensitive" msgstr "有反應" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "本指令是否有效。" -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 +#: ../gtk/gtkwidget.c:971 msgid "Visible" msgstr "可見的" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "本指令是否為可見。" -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:395 msgid "Action Group" msgstr "指令集" -#: gtk/gtkaction.c:396 +#: ../gtk/gtkaction.c:396 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." msgstr "本 GtkAction 相關的 GtkActionGroup,或為 NULL (用作內部使用)。" -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 msgid "Always show image" msgstr "永遠顯示圖片" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 msgid "Whether the image will always be shown" msgstr "是否永遠顯示圖片" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "該指令集的名稱" -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "該指令集是否有效。" -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "該指令集是否為可見。" -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:290 msgid "Related Action" msgstr "相關的動作" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:291 msgid "The action this activatable will activate and receive updates from" msgstr "這個可使用項目會使用並接收更新的動作" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:313 msgid "Use Action Appearance" msgstr "使用動作外觀" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:314 msgid "Whether to use the related actions appearance properties" msgstr "是否使用相關動作外觀屬性" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:291 msgid "Value" msgstr "數值" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:115 msgid "The value of the adjustment" msgstr "調整元件的設定值" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:131 msgid "Minimum Value" msgstr "最小值" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:132 msgid "The minimum value of the adjustment" msgstr "調整元件的最小值" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:151 msgid "Maximum Value" msgstr "最大值" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:152 msgid "The maximum value of the adjustment" msgstr "調整元件的最小值" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:168 msgid "Step Increment" msgstr "逐步增加" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:169 msgid "The step increment of the adjustment" msgstr "調整元件的逐步增加值" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:185 msgid "Page Increment" msgstr "逐頁增加" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:186 msgid "The page increment of the adjustment" msgstr "調整元件的逐步增加值" -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:205 msgid "Page Size" msgstr "分頁大小" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:206 msgid "The page size of the adjustment" msgstr "調整元件的分頁大小" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:127 msgid "Horizontal alignment" msgstr "水平對齊設定" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:289 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" msgstr "子元件在提供的空間裏的水平對齊方式。0.0 表示靠左對齊,1.0 表示靠右對齊" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:137 msgid "Vertical alignment" msgstr "垂直對齊設定" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:308 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" msgstr "子元件在提供的空間裏的垂直對齊方式。0.0 表示靠頂對齊,1.0 表示靠底對齊" -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:146 msgid "Horizontal scale" msgstr "水平縮放比率" -#: gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:147 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" -msgstr "" -"指定當提供的水平空間大於子元件所需的空間時,子元件會使用多少剩餘的空間。0.0 " -"表示不使用,1.0 表示使用全部" +msgstr "指定當提供的水平空間大於子元件所需的空間時,子元件會使用多少剩餘的空間。0.0 表示不使用,1.0 表示使用全部" -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:155 msgid "Vertical scale" msgstr "垂直縮放比率" -#: gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:156 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" -msgstr "" -"指定當提供的垂直空間大於副元件所需的空間時,副元件會使用多少剩餘的空間。0.0 " -"表示不使用,1.0 表示全部使用" +msgstr "指定當提供的垂直空間大於副元件所需的空間時,副元件會使用多少剩餘的空間。0.0 表示不使用,1.0 表示全部使用" -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:173 msgid "Top Padding" msgstr "頂部留空" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:174 msgid "The padding to insert at the top of the widget." msgstr "在視窗元件頂部置入的留空大小。" -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:190 msgid "Bottom Padding" msgstr "底部留空" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:191 msgid "The padding to insert at the bottom of the widget." msgstr "在視窗元件底部置入的留空大小。" -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:207 msgid "Left Padding" msgstr "左側留空" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:208 msgid "The padding to insert at the left of the widget." msgstr "在視窗元件左側置入的留空大小。" -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:224 msgid "Right Padding" msgstr "右側留空" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:225 msgid "The padding to insert at the right of the widget." msgstr "在視窗元件右側置入的留空大小。" -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "箭頭方向" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "箭頭所指的方向" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "箭頭陰影" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "箭頭周圍出現的陰影" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:731 ../gtk/gtkmenuitem.c:394 msgid "Arrow Scaling" msgstr "箭頭縮放" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "箭頭所佔空間大小" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1174 msgid "Horizontal Alignment" msgstr "水平對齊位置" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "子元件的水平對齊位置" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1190 msgid "Vertical Alignment" msgstr "垂直對齊位置" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "子元件的垂直對齊位置" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "比率" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "obey_child 為 FALSE 時的長寬比" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "配合子元件" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "強迫設定長寬比符合該框架裏的子元件的設定" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "頁首留空" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "頁首周圍保留的像素數。" -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "內容留空" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "內容周圍保留的像素數。" -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "頁面類型" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "助理頁面的類型" -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "頁面標題" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "助理頁面的標題" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "頁首圖片" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "助理頁面的頁首圖片" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "側邊欄圖片" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "助理頁面的側邊欄圖片" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "頁面完成" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "在此頁面中所有要求的欄位是否已填好" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "子元件闊度下限" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "在按鈕方塊內按鈕的闊度下限" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "子元件高度下限" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "在按鈕方塊內按鈕的高度下限" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "子元件內部留空闊度" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "副元件左右兩邊增加的尺寸" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "副元件內部高度留邊" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "子元件頂部及底部欲增加的尺寸" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "呈現樣式" -#: gtk/gtkbbox.c:172 -#, fuzzy +#: ../gtk/gtkbbox.c:189 msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" -msgstr "" -"如何呈現方塊中的按鈕。可使用的值為「spread」(分散)、「edge」(邊緣)、「start」" -"(開頭) 及「end」(結尾)" +msgstr "如何呈現方塊中的按鈕。可使用的值為「spread」(分散)、「edge」(邊緣)、「start」(開頭) 及「end」(結尾)" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "次要的" -#: gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" msgstr "如設為定為‘TRUE’,子元件將出現於次要的子元件羣組中,適用於:求助按鈕" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:238 msgid "Spacing" msgstr "間距" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "子元件之間的間距" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "尺寸一致" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "子元件的大小應否全部相同" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:294 msgid "Expand" msgstr "擴張" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "當母元件擴展開來時子元件應否同時隨之擴張" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:285 ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "填滿" -#: gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:286 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" -msgstr "" -"當分配了額外的空間給子元件時,該空間應增加於子元件內部的尺寸,還是作為元件外" -"部留空使用" +msgstr "當分配了額外的空間給子元件時,該空間應增加於子元件內部的尺寸,還是作為元件外部留空使用" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:293 ../gtk/gtktrayicon-x11.c:165 msgid "Padding" msgstr "留空" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:294 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "加入額外的空位隔開子元件及周圍的元件,以像素為單位" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:300 msgid "Pack type" msgstr "排列方式" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 +#: ../gtk/gtkbox.c:301 ../gtk/gtknotebook.c:793 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" -msgstr "" -"GtkPackType 意指子元件的排列方式是從主元件的開始位置,還是從結束位置進行排列" +msgstr "GtkPackType 意指子元件的排列方式是從主元件的開始位置,還是從結束位置進行排列" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:307 ../gtk/gtknotebook.c:764 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkruler.c:163 ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "位置" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:308 ../gtk/gtknotebook.c:765 msgid "The index of the child in the parent" msgstr "子元件在母元件中的索引編號" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "翻譯網域" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "gettext 使用的翻譯網域" -#: gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:239 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "如果按鈕中有標籤元件,指定該標籤元件中的文字" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:246 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "使用底線" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:247 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" msgstr "如果設定,文字的底線表示其後的字符應該當成捷徑鍵" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:254 ../gtk/gtkimagemenuitem.c:163 msgid "Use stock" msgstr "使用內置" -#: gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:255 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "若設置,該標籤內容用來指定內置圖示而不會被顯示" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:262 ../gtk/gtkcombobox.c:861 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "點選時聚焦" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:263 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "當該按鈕被滑鼠點選時是否自動取得焦點" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:270 msgid "Border relief" msgstr "邊緣樣式" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:271 msgid "The border relief style" msgstr "邊緣的樣式" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:288 msgid "Horizontal alignment for child" msgstr "子元件水平對齊" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:307 msgid "Vertical alignment for child" msgstr "子元件垂直對齊位置" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:324 ../gtk/gtkimagemenuitem.c:148 msgid "Image widget" msgstr "圖片元件" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:325 msgid "Child widget to appear next to the button text" msgstr "按鈕文字旁邊顯示的子元件" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:339 msgid "Image position" msgstr "圖片位置" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:340 msgid "The position of the image relative to the text" msgstr "圖片相對於文字的位置" -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:460 msgid "Default Spacing" msgstr "預設間隔" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:461 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "加給 GTK_CAN_DEFAULT 的額外空間" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:475 msgid "Default Outside Spacing" msgstr "預設外部間隔" -#: gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:476 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" msgstr "加給 GTK_CAN_DEFAULT 按鈕邊緣外部的額外空間" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:481 msgid "Child X Displacement" msgstr "子元件的水平偏移距離" -#: gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:482 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "當按鈕按下時期子元件應偏移多遠的水平距離" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:489 msgid "Child Y Displacement" msgstr "子元件的垂直偏移距離" -#: gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:490 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "當按鈕按下時期子元件應偏移多遠的垂直距離" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:506 msgid "Displace focus" msgstr "焦點偏移" -#: gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:507 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" msgstr "child_displacement_x/_y 屬性是否也影響焦點方塊" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:520 ../gtk/gtkentry.c:745 ../gtk/gtkentry.c:1790 msgid "Inner Border" msgstr "內部框線" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:521 msgid "Border between button edges and child." msgstr "在按鈕邊緣與子項之間的框線。" -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:534 msgid "Image spacing" msgstr "圖片間距" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:535 msgid "Spacing in pixels between the image and label" msgstr "圖片與文字標籤的之間的距離(像素)" -#: gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "顯示按鈕圖示" - -#: gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "是否在按鈕中顯示圖片" - -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:475 msgid "Year" msgstr "年" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:476 msgid "The selected year" msgstr "選取的年份" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:489 msgid "Month" msgstr "月" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:490 msgid "The selected month (as a number between 0 and 11)" msgstr "選取的月份(為 0 - 11 之間的數字)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:504 msgid "Day" msgstr "天" -#: gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:505 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" msgstr "選取的日期(為 1 - 31 之間的數字,或為 0 表示解除選取目前選取的日期)" -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:519 msgid "Show Heading" msgstr "顯示標頭" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:520 msgid "If TRUE, a heading is displayed" msgstr "如設為定為‘TRUE’,則顯示月份及年份標頭" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:534 msgid "Show Day Names" msgstr "顯示星期" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:535 msgid "If TRUE, day names are displayed" msgstr "如設為定為‘TRUE’,星期名會被顯示" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:548 msgid "No Month Change" msgstr "不更改月份" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:549 msgid "If TRUE, the selected month cannot be changed" msgstr "如設為定為‘TRUE’,選定的月份無法更改" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:563 msgid "Show Week Numbers" msgstr "顯示週數" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:564 msgid "If TRUE, week numbers are displayed" msgstr "如設為定為‘TRUE’,週次會被顯示" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:579 msgid "Details Width" msgstr "詳細資訊闊度" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:580 msgid "Details width in characters" msgstr "詳細資訊闊度(以字符計)" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:595 msgid "Details Height" msgstr "詳細資訊高度" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:596 msgid "Details height in rows" msgstr "列的詳細資訊高度" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:612 msgid "Show Details" msgstr "顯示詳細資料" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:613 msgid "If TRUE, details are shown" msgstr "如設為定為‘TRUE’,會顯示詳細資訊" -#: gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:625 msgid "Inner border" msgstr "內部框線" -#: gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:626 msgid "Inner border space" msgstr "內部框線間距" -#: gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:637 msgid "Vertical separation" msgstr "垂直分隔" -#: gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:638 msgid "Space between day headers and main area" msgstr "日標題與主要區域之間的間距" -#: gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:649 msgid "Horizontal separation" msgstr "水平分隔" -#: gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:650 msgid "Space between week headers and main area" msgstr "週標題與主要區域之間的間距" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "編輯已取消" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:54 msgid "Indicates that editing has been canceled" msgstr "表示編輯動作已被取消" -#: gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "Accelerator key" msgstr "捷徑鍵" -#: gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:139 msgid "The keyval of the accelerator" msgstr "捷徑鍵的鍵值" -#: gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "Accelerator modifiers" msgstr "捷徑鍵的特殊按鍵(例如 Alt、Ctrl)" -#: gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:156 msgid "The modifier mask of the accelerator" msgstr "捷徑鍵的修飾字遮罩" -#: gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "Accelerator keycode" msgstr "捷徑鍵碼" -#: gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:174 msgid "The hardware keycode of the accelerator" msgstr "捷徑鍵的硬件按鍵碼" -#: gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "Accelerator Mode" msgstr "捷徑鍵模式" -#: gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:194 msgid "The type of accelerators" msgstr "捷徑鍵類型" -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:266 msgid "mode" msgstr "模式" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:267 msgid "Editable mode of the CellRenderer" msgstr "CellRenderer 的編輯模式" -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:275 msgid "visible" msgstr "可視的" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:276 msgid "Display the cell" msgstr "會顯示該格位" -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:283 msgid "Display the cell sensitive" msgstr "會顯示該格位敏感度" -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:290 msgid "xalign" msgstr "水平" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:291 msgid "The x-align" msgstr "水平對齊" -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:300 msgid "yalign" msgstr "垂直" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:301 msgid "The y-align" msgstr "垂直對齊" -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:310 msgid "xpad" msgstr "水平留空" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:311 msgid "The xpad" msgstr "水平留空" -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:320 msgid "ypad" msgstr "垂直留空" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:321 msgid "The ypad" msgstr "垂直留空" -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:330 msgid "width" msgstr "闊度" -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:331 msgid "The fixed width" msgstr "固定的闊度" -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:340 msgid "height" msgstr "高度" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:341 msgid "The fixed height" msgstr "固定的高度" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:350 msgid "Is Expander" msgstr "為母格位" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:351 msgid "Row has children" msgstr "此列含有子格位" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:359 msgid "Is Expanded" msgstr "已開展" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:360 msgid "Row is an expander row, and is expanded" msgstr "此列為母格位,並且已展開" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:367 msgid "Cell background color name" msgstr "格位背景顏色名" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:368 msgid "Cell background color as a string" msgstr "格位背景顏色字串" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:375 msgid "Cell background color" msgstr "格位背景顏色" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:376 msgid "Cell background color as a GdkColor" msgstr "格位背景顏色(GdkColor 格式)" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:389 +msgid "Cell background RGBA color" +msgstr "格位背景 RGBA 顏色" + +#: ../gtk/gtkcellrenderer.c:390 +msgid "Cell background color as a GdkRGBA" +msgstr "格位背景顏色(GdkRGBA 格式)" + +#: ../gtk/gtkcellrenderer.c:397 msgid "Editing" msgstr "正在編輯" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:398 msgid "Whether the cell renderer is currently in editing mode" msgstr "格位顯示區目前是否為編輯中模式" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:406 msgid "Cell background set" msgstr "格位背景設定" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:407 msgid "Whether this tag affects the cell background color" msgstr "本標記可以變動該格位的背景顏色" -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "模型" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "該組合方塊的模型(包含可能的數值)" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "文字格位" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "從資料來源模型取得字串資料的欄位" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:928 msgid "Has Entry" msgstr "具有欄位" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "如果為 FALSE,將不允許輸入選定字串以外的字" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "Pixbuf 物件" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "準備描繪的 pixbuf。" -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "Pixbuf 開展器開啟" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "用來開啟開展器的 Pixbuf" -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "Pixbuf 開展器關閉" -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "用來關閉開展器的 Pixbuf" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 +#: ../gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "內置圖示代碼" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "準備顯示的內置圖示的代碼" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 msgid "Size" msgstr "大小" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "指定所要描繪的圖示尺寸 (GtkIconSize)" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "細節" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "要傳送給佈景主題引擎的描繪細節" -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "跟隨狀態" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "rendered pixbuf 是否跟隨狀狀着色" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:710 msgid "Icon" msgstr "圖示" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "進度列中所顯示的數值" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:247 +#: ../gtk/gtkentry.c:788 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 msgid "Text" msgstr "文字" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "進度列中所顯示的文字" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 msgid "Pulse" msgstr "脈衝" -#: gtk/gtkcellrendererprogress.c:169 +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." msgstr "將此項設為正值以表示已有某些進度,但你不知道實際有多少。" -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "文字水平對齊方式" -#: gtk/gtkcellrendererprogress.c:186 +#: ../gtk/gtkcellrendererprogress.c:186 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." msgstr "文字水平方向對齊,從 0 (左)到 1 (右)。相反即為右至左 (RTL) 排列。" -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "文字垂直對齊方式" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "文字垂直對齊方式,從 0(頂)到 1(底)。" -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:440 msgid "Inverted" msgstr "反轉的" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 #, fuzzy msgid "Invert the direction in which the progress bar grows" msgstr "進度列的排列方向及表示進度增加的方向" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:432 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:230 msgid "Adjustment" msgstr "調整" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:231 msgid "The adjustment that holds the value of the spin button" msgstr "含有微調按鈕數值的調整元件" -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "數值調整速率" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:239 msgid "The acceleration rate when you hold down a button" msgstr "按下按鈕時數值調整的加速度" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:249 +#: ../gtk/gtkspinbutton.c:248 msgid "Digits" msgstr "位數" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:249 msgid "The number of decimal places to display" msgstr "顯示的小數點後位數" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 +#: ../gtk/gtkmenu.c:521 ../gtk/gtkspinner.c:131 ../gtk/gtktoggleaction.c:133 +#: ../gtk/gtktogglebutton.c:122 ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "使用中" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:120 msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "在格位中的轉輪是否在使用中(例如正在顯示)" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:140 msgid "Pulse of the spinner" msgstr "轉輪的脈動" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:154 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "指定所要描繪的轉輪尺寸 (GtkIconSize) 數值" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:248 msgid "Text to render" msgstr "準備描繪的文字" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:255 msgid "Markup" msgstr "標記" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Marked up text to render" msgstr "欲描繪的標記文字" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "屬性" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:264 msgid "A list of style attributes to apply to the text of the renderer" msgstr "可使用在輸出區(renderer)文字上的樣式屬性清單" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:271 msgid "Single Paragraph Mode" msgstr "單一段落模式" -#: gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:272 msgid "Whether to keep all text in a single paragraph" msgstr "是否將所有文字保持為單一段落" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtkcellview.c:192 +#: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "背景顏色名稱" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtkcellview.c:193 +#: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "背景顏色(以字串表示)" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:199 +#: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "背景顏色" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "背景顏色(以 GdkColor 表示)" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:303 +msgid "Background color as RGBA" +msgstr "以 RGBA 表示的背景顏色" + +#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtkcellview.c:214 +msgid "Background color as a GdkRGBA" +msgstr "以 GdkRGBA 表示的背景顏色" + +#: ../gtk/gtkcellrenderertext.c:310 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "前景顏色名稱" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "以字串方式表達的前景顏色" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:210 +#: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "前景顏色" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:319 msgid "Foreground color as a GdkColor" msgstr "以 GdkColor 方式表達的前景顏色" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:333 +msgid "Foreground color as RGBA" +msgstr "以 RGBA 表示的前景顏色" + +#: ../gtk/gtkcellrenderertext.c:334 +msgid "Foreground color as a GdkRGBA" +msgstr "以 GdkColor 方式表示的前景顏色" + +#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtkentry.c:712 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:686 msgid "Editable" msgstr "可編輯" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:343 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:687 msgid "Whether the text can be modified by the user" msgstr "使用者可否修改文字" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkcellrenderertext.c:358 +#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "字型" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "以字串方式表達的字型,例如“Sans Italic 12”" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "以 PangoFontDescription 結構表示的字型" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "字型族系" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:368 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "字型族系名稱,例如:Sans、Helvetica、Times、Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtkcellrenderertext.c:376 +#: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "字型樣式" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:384 ../gtk/gtkcellrenderertext.c:385 +#: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "字型變化" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:393 ../gtk/gtkcellrenderertext.c:394 +#: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "字型粗細" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:403 ../gtk/gtkcellrenderertext.c:404 +#: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "字型寬緊" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:412 ../gtk/gtkcellrenderertext.c:413 +#: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "字型大小" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:422 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "字型點數" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:423 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "以點數表達的字型大小" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "字型比例" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:433 msgid "Font scaling factor" msgstr "字型縮放系數" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:442 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "升高" -#: gtk/gtkcellrenderertext.c:398 +#: ../gtk/gtkcellrenderertext.c:443 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "文字和底部基準線的距離 (如果升高的數值為負數,則表示低於基準線)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:454 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "刪除線" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:455 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "是否在文字中央加上刪除線" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "底線" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "此文字的底線樣式" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "語言" -#: gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:472 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " "probably don't need it" -msgstr "" -"該文字所用的語言,以 ISO 代碼表示。Pango 在描繪文字時會使用這個設定作為提示。" -"如果你不明白這個參數的意義,即是表示不需要使用它了。" +msgstr "該文字所用的語言,以 ISO 代碼表示。Pango 在描繪文字時會使用這個設定作為提示。如果你不明白這個參數的意義,即是表示不需要使用它了。" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "簡化文字" -#: gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:493 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" -msgstr "" -"如果儲存格位顯示區沒有足夠的空間顯示整個字串時,用來簡化該字串的偏好空間" +msgstr "如果儲存格位顯示區沒有足夠的空間顯示整個字串時,用來簡化該字串的偏好空間" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "按鈕闊度" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "要求的標籤闊度,以字符計" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "最大闊度(以字符計)" -#: gtk/gtkcellrenderertext.c:493 -#, fuzzy +#: ../gtk/gtkcellrenderertext.c:538 msgid "The maximum width of the cell, in characters" -msgstr "標籤所需的最大闊度,以字符計" +msgstr "格位所需的最大闊度,以字符計" -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:556 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "換行模式" -#: gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:557 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" msgstr "若格位顯示區沒有足夠的空間顯示整行字串時,如何將字串斷成多行" -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:576 ../gtk/gtkcombobox.c:750 msgid "Wrap width" msgstr "換行闊度" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:577 msgid "The width at which the text is wrapped" msgstr "文字在那個長度後斷行" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktreeviewcolumn.c:319 msgid "Alignment" msgstr "對齊" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:598 msgid "How to align the lines" -msgstr "如何對齊行" +msgstr "如何對齊各行" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtkcellview.c:236 +#: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "背景設定" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:611 ../gtk/gtkcellview.c:237 +#: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "本標記可否影響背景顏色" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "前景設定" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:615 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "本標記可否影響前景顏色" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "可編輯性設定" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "本標記可否影響文字的可編輯性" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "字型族系設定" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "此標籤是否影響字型族系" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "字型樣式設定" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "此標籤是否影響字型樣式" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "字型變化設定" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "此標籤是否影響字型變化" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "字型粗細設定" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "此標籤是否影響字型粗細" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "字型寬緊設定" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "此標籤是否影響字型寬緊" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "字型大小設定" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "此標籤是否影響字型大小" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "字型縮放設定" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "本標記可否縮放字型" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "升高文字設定" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "此標籤是否影響文字升高的情況" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "刪除線設定" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "此標籤是否影響刪除線的設定" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "底線設定" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "此標籤是否影響底線的設定" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "語言設定" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "本標記可否影響文字要被描繪根據據的語言設定" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:666 msgid "Ellipsize set" msgstr "簡化文字設定" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:667 msgid "Whether this tag affects the ellipsize mode" msgstr "本標記可否影響文字簡化的模式" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:670 msgid "Align set" msgstr "對齊設定" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:671 msgid "Whether this tag affects the alignment mode" msgstr "本標記可否影響對齊的模式" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "切換狀態" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "按鈕的切換狀態" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "不相同狀態" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "按鈕的不相同狀態" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "可啟用" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "該切換按鈕是可啟用的" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "選項狀態" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "將切換按鈕繪製成單選按鈕" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "指標大小" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:77 +#: ../gtk/gtkcheckmenuitem.c:129 msgid "Size of check or radio indicator" msgstr "選取或單選按鈕指示圖的大小" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:213 +msgid "Background RGBA color" +msgstr "背景 RGBA 顏色" + +#: ../gtk/gtkcellview.c:228 msgid "CellView model" msgstr "儲存格檢視模型" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:229 msgid "The model for cell view" msgstr "儲存格檢視的模型" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:76 ../gtk/gtkcheckmenuitem.c:128 msgid "Indicator Size" msgstr "指示圖大小" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:84 ../gtk/gtkexpander.c:267 msgid "Indicator Spacing" msgstr "指示圖間隔" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:85 msgid "Spacing around check or radio indicator" msgstr "選取或單選按鈕指示圖周圍的空間" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:106 msgid "Whether the menu item is checked" msgstr "選單項目是否被選取" -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:130 msgid "Inconsistent" msgstr "不一致" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:114 msgid "Whether to display an \"inconsistent\" state" msgstr "是否顯示 『不一致』狀態" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:121 msgid "Draw as radio menu item" msgstr "繪製成單選項選單項目" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Whether the menu item looks like a radio menu item" msgstr "是否該選單項目應開起來像單選項選單項目" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:171 msgid "Use alpha" msgstr "使用透明度" -#: gtk/gtkcolorbutton.c:160 +#: ../gtk/gtkcolorbutton.c:172 msgid "Whether to give the color an alpha value" msgstr "是否讓顏色包含有透明度的值" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:286 msgid "Title" msgstr "標題" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:187 msgid "The title of the color selection dialog" msgstr "顏色選擇對話盒的標題" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:339 msgid "Current Color" msgstr "目前的顏色" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:202 msgid "The selected color" msgstr "選取的顏色" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:346 msgid "Current Alpha" msgstr "目前的透明度" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:217 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "目前的透明度(0 為完全透明,65535 為完全不透明)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:231 +msgid "Current RGBA Color" +msgstr "目前的 RGBA 顏色" + +#: ../gtk/gtkcolorbutton.c:232 +msgid "The selected RGBA color" +msgstr "選取的 RGBA 顏色" + +#: ../gtk/gtkcolorsel.c:325 msgid "Has Opacity Control" msgstr "可控制透明度" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:326 msgid "Whether the color selector should allow setting opacity" msgstr "設定顏色選擇程序是否允許設定透明度" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:332 msgid "Has palette" msgstr "有色盤" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:333 msgid "Whether a palette should be used" msgstr "應否使用色盤" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:340 msgid "The current color" msgstr "目前的顏色" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:347 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "目前的透明度(0 為完全透明,65535 為完全不透明)" -#: gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "自選色盤" +#: ../gtk/gtkcolorsel.c:361 +msgid "Current RGBA" +msgstr "目前的 RGBA" -#: gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "顏色選擇程序使用的色盤" +#: ../gtk/gtkcolorsel.c:362 +msgid "The current RGBA color" +msgstr "目前的 RGBA 顏色" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "顏色選擇" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "內嵌在對話盒的色彩選取區。" -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "確定按鈕" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "對話盒的確定按鈕。" -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "取消按鈕" -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "對話盒的取消按鈕。" -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "求助按鈕" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "對話盒的求助按鈕。" -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombobox.c:733 msgid "ComboBox model" msgstr "組合方塊模型" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:734 msgid "The model for the combo box" msgstr "該組合方塊的模型" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:751 msgid "Wrap width for laying out the items in a grid" msgstr "將項目於方格中排列所設定的換行闊度" -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:773 msgid "Row span column" msgstr "水平合併格位" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:774 msgid "TreeModel column containing the row span values" msgstr "包含有合併水平格數資料的 TreeModel 格位" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:795 msgid "Column span column" msgstr "垂直合併格位" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:796 msgid "TreeModel column containing the column span values" msgstr "包含有合併垂直格數資料的 TreeModel 格位" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:817 msgid "Active item" msgstr "啟用項目" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:818 msgid "The item which is currently active" msgstr "目前有效的項目" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:837 ../gtk/gtkuimanager.c:224 msgid "Add tearoffs to menus" msgstr "在選單上加上可卸下標記" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:838 msgid "Whether dropdowns should have a tearoff menu item" msgstr "下拉選單是否應有分離選單項目" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:853 ../gtk/gtkentry.c:737 msgid "Has Frame" msgstr "有框架" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:854 msgid "Whether the combo box draws a frame around the child" msgstr "組合方塊是否在子元件周圍繪出框架" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:862 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "當該組合方塊被滑鼠點選時是否自動取得焦點" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:877 ../gtk/gtkmenu.c:576 msgid "Tearoff Title" msgstr "卸下標題" -#: gtk/gtkcombobox.c:828 +#: ../gtk/gtkcombobox.c:878 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "當此選單卸下之後視窗管理員指定的視窗標題" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:895 msgid "Popup shown" msgstr "彈出式顯示" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:896 msgid "Whether the combo's dropdown is shown" msgstr "是否顯示組合式項目的下拉選單" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:912 msgid "Button Sensitivity" msgstr "按鈕敏感度" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:913 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "當模型內容是空的時是否讓下拉按鈕有作用" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:929 +msgid "Whether combo box has an entry" +msgstr "組合方塊是否有項目" + +#: ../gtk/gtkcombobox.c:944 +msgid "Entry Text Column" +msgstr "項目文字欄位" + +#: ../gtk/gtkcombobox.c:945 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "如果組合方塊是以 #GtkComboBox:has-entry = %TRUE 建立,在組合方塊模型的欄位要關聯的項目字串" + +#: ../gtk/gtkcombobox.c:962 +msgid "Popup Fixed Width" +msgstr "彈出式視窗固定闊度" + +#: ../gtk/gtkcombobox.c:963 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "彈出式視窗的闊度是否固定為符合原本組合方塊的闊度" + +#: ../gtk/gtkcombobox.c:971 msgid "Appears as list" msgstr "以清單顯示" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:972 msgid "Whether dropdowns should look like lists rather than menus" msgstr "組合方塊下拉選單是否應該顯示作清單樣而非選單樣" -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:988 msgid "Arrow Size" msgstr "箭頭大小" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:989 msgid "The minimum size of the arrow in the combo box" msgstr "組合方塊中箭頭的最小尺寸" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:1004 ../gtk/gtkentry.c:837 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "陰影類型" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:1005 msgid "Which kind of shadow to draw around the combo box" msgstr "組合方塊周圍要繪出何種類型的陰影" -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:472 msgid "Resize mode" msgstr "調整尺寸模式" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:473 msgid "Specify how resize events are handled" msgstr "指定如何處理調整尺寸的要求" -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:480 msgid "Border width" msgstr "邊框闊度" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:481 msgid "The width of the empty border outside the containers children" msgstr "容器子元件外部空白邊緣的闊度" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:489 msgid "Child" msgstr "子元件" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:490 msgid "Can be used to add a new child to the container" msgstr "可用來加入新的子元件於容器元件中" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:430 msgid "Content area border" msgstr "內容區域邊框" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:166 msgid "Width of border around the main dialog area" msgstr "主對話窗區域的邊框闊度" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:447 msgid "Content area spacing" msgstr "內容區域間距" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:184 msgid "Spacing between elements of the main dialog area" msgstr "主要對話盒區域的元件間的間距" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:463 msgid "Button spacing" msgstr "按鈕間隔" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:464 msgid "Spacing between buttons" msgstr "按鈕之間的間隔" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:479 msgid "Action area border" msgstr "動作區域邊緣" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:201 msgid "Width of border around the button area at the bottom of the dialog" msgstr "對話盒按鈕下方按鈕區域的邊緣闊度" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:684 msgid "Text Buffer" msgstr "文字緩衝區" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:685 msgid "Text buffer object which actually stores entry text" msgstr "實際儲存項目文字的文字緩衝區物件" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:692 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "游標位置" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:693 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "游標目前的位置,以字符計。" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:702 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "選取邊界" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:703 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "所選取的部份中,游標到另一端位置的距離(字符為單位)" -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:713 msgid "Whether the entry contents can be edited" msgstr "可否編輯欄位的內容" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:720 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "最大長度" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:721 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "輸入欄中字符數目的上限。0 為沒有上限" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:729 msgid "Visibility" msgstr "可見狀態" -#: gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:730 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" msgstr "FALSE 表示顯示「隱形字符」而非實際文字(密碼模式)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:738 msgid "FALSE removes outside bevel from entry" msgstr "FALSE 可將外部裝飾" -#: gtk/gtkentry.c:697 +#: ../gtk/gtkentry.c:746 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "文字與框架之間的框線。此數值會蓋過內部框線樣式屬性" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:753 ../gtk/gtkentry.c:1319 msgid "Invisible character" msgstr "隱形字符" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:754 ../gtk/gtkentry.c:1320 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "用來遮蓋輸入內容的字符(在「密碼模式」裏)" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:761 msgid "Activates default" msgstr "啟動預設元件" -#: gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:762 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" msgstr "當按下 Enter 鍵時,是否啟動預設視窗元件(例如對話盒的按鈕)" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:768 msgid "Width in chars" msgstr "闊度(以字符計算)" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:769 msgid "Number of characters to leave space for in the entry" msgstr "輸入元件中預留的空白長度(單位為字符)" -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:778 msgid "Scroll offset" msgstr "捲動偏移" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:779 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "輸入元件相對於螢幕向左捲動偏移的程度(單位為像素)" -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:789 msgid "The contents of the entry" msgstr "輸入的內容" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:804 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "水平排列" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:805 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." msgstr "水平方向對齊,0 為左,1 為右。相反即為右至左 (RTL) 排列。" -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:821 msgid "Truncate multiline" msgstr "截短多行" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:822 msgid "Whether to truncate multiline pastes to one line." -msgstr "可否將多行貼上截短為一行。" +msgstr "可否將多列貼上截短為一列。" -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:838 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "當設定 has-frame 時要在項目周圍繪出何種類型的陰影" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:853 ../gtk/gtktextview.c:766 msgid "Overwrite mode" msgstr "覆寫模式" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:854 msgid "Whether new text overwrites existing text" msgstr "新的文字是否可以覆寫既有文字" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:868 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "文字闊度" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:869 msgid "Length of the text currently in the entry" msgstr "目前在項目中文字的長度" -#: gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:884 msgid "Invisible character set" msgstr "隱形字符設定" -#: gtk/gtkentry.c:836 +#: ../gtk/gtkentry.c:885 msgid "Whether the invisible character has been set" msgstr "隱形字符是否已設定" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:903 msgid "Caps Lock warning" msgstr "Caps Lock 警告" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:904 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "密碼欄位是否在 Caps Lock 開啟時顯示警告" -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:918 msgid "Progress Fraction" msgstr "進度列完成度" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:919 msgid "The current fraction of the task that's been completed" msgstr "工作目前已完成的程度" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:936 msgid "Progress Pulse Step" msgstr "進度列指示步進" -#: gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:937 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" -msgstr "" -"當每次呼叫 gtk_entry_progress_pulse() 後,進度區塊應移動的比例(以進度列全長" -"為基準)" +msgstr "當每次呼叫 gtk_entry_progress_pulse() 後,進度區塊應移動的比例(以進度列全長為基準)" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:953 msgid "Primary pixbuf" msgstr "主要 pixbuf" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:954 msgid "Primary pixbuf for the entry" msgstr "用於此項目的主要 pixbuf" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:968 msgid "Secondary pixbuf" msgstr "次要 pixbuf" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:969 msgid "Secondary pixbuf for the entry" msgstr "用於此項目的次要 pixbuf" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:983 msgid "Primary stock ID" msgstr "主要圖庫 ID" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:984 msgid "Stock ID for primary icon" msgstr "主要圖示的圖庫 ID" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:998 msgid "Secondary stock ID" msgstr "次要圖庫 ID" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:999 msgid "Stock ID for secondary icon" msgstr "次要圖示的圖庫 ID" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1013 msgid "Primary icon name" msgstr "主要圖示名稱" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1014 msgid "Icon name for primary icon" msgstr "主要圖示的名稱" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1028 msgid "Secondary icon name" msgstr "次要圖示名稱" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1029 msgid "Icon name for secondary icon" msgstr "次要圖示的名稱" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1043 msgid "Primary GIcon" msgstr "主要 GIcon" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1044 msgid "GIcon for primary icon" msgstr "主要圖示的 GIcon" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1058 msgid "Secondary GIcon" msgstr "次要 GIcon" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1059 msgid "GIcon for secondary icon" msgstr "次要圖示的 GIcon" -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1073 msgid "Primary storage type" msgstr "主要儲存區類型" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1074 msgid "The representation being used for primary icon" msgstr "用於主要圖示的代表" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1089 msgid "Secondary storage type" msgstr "次要儲存區類型" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1090 msgid "The representation being used for secondary icon" msgstr "用於次要圖示的代表" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1111 msgid "Primary icon activatable" msgstr "主要圖示可用性" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1112 msgid "Whether the primary icon is activatable" msgstr "主要圖示是否在使用中" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1132 msgid "Secondary icon activatable" msgstr "次要圖示可用性" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1133 msgid "Whether the secondary icon is activatable" msgstr "次要圖示是否在使用中" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1155 msgid "Primary icon sensitive" msgstr "主要圖示反應" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1156 msgid "Whether the primary icon is sensitive" msgstr "主要圖示是否有反應" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1177 msgid "Secondary icon sensitive" msgstr "次要圖示反應" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1178 msgid "Whether the secondary icon is sensitive" msgstr "次要圖示是否有反應" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1194 msgid "Primary icon tooltip text" msgstr "主要圖示工具提示文字" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1195 ../gtk/gtkentry.c:1231 msgid "The contents of the tooltip on the primary icon" msgstr "主要圖示工具提示的內容" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1211 msgid "Secondary icon tooltip text" msgstr "次要圖示工具提示文字" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1212 ../gtk/gtkentry.c:1250 msgid "The contents of the tooltip on the secondary icon" msgstr "次要圖示工具提示的內容" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1230 msgid "Primary icon tooltip markup" msgstr "主要圖示工具提示標記" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1249 msgid "Secondary icon tooltip markup" msgstr "次要圖示工具提示標記" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1269 ../gtk/gtktextview.c:794 msgid "IM module" msgstr "IM 模組" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1270 ../gtk/gtktextview.c:795 msgid "Which IM module should be used" msgstr "預設要使用哪一個 IM 模組" -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1284 msgid "Icon Prelight" msgstr "圖示預亮" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1285 msgid "Whether activatable icons should prelight when hovered" msgstr "使用中的圖示在滑鼠經過時是否顯示預亮" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1298 msgid "Progress Border" msgstr "進度列框線" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1299 msgid "Border around the progress bar" msgstr "進度列周圍的框線" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1791 msgid "Border between text and frame." msgstr "文字與框架之間的框線。" -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "聚焦時選取" - -#: gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "當輸入元件取得焦點時,其內容是否呈現被選取狀態" - -#: gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "密碼提示逾時時間" - -#: gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "等待多久才顯示隱藏項目中最後輸入的字符" - -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "緩衝區的內容" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "目前在緩衝區中文字的長度" -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:280 msgid "Completion Model" msgstr "自動完成模組" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:281 msgid "The model to find matches in" msgstr "找尋符合字串的自動完成模型" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:287 msgid "Minimum Key Length" msgstr "最小關鍵字長度" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:288 msgid "Minimum length of the search key in order to look up matches" msgstr "用來搜尋的關鍵字的最小長度" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "文字欄位" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:305 msgid "The column of the model containing the strings." msgstr "包含字串的模型欄位" -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:324 msgid "Inline completion" msgstr "行內自動補齊" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:325 msgid "Whether the common prefix should be inserted automatically" msgstr "是否自動插入共通的前綴字" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:339 msgid "Popup completion" msgstr "彈出項目自動補齊" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:340 msgid "Whether the completions should be shown in a popup window" msgstr "是否在彈出式視窗中顯示補齊項目" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:355 msgid "Popup set width" msgstr "彈出式視窗設定闊度" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:356 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "如設為定為‘TRUE’,彈出式視窗會與項目的大小相同" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:374 msgid "Popup single match" msgstr "彈出式視窗單一匹配" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:375 msgid "If TRUE, the popup window will appear for a single match." msgstr "如設為定為‘TRUE’,只有一個匹配的項目時仍顯示彈出式視窗。" -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:389 msgid "Inline selection" msgstr "行內選取區" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:390 msgid "Your description here" msgstr "在此輸入你的描述" -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "可見視窗" -#: gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:102 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." msgstr "該事件方塊是否可見,其相對於用來攔截事件的不可見事件方塊。" -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:108 msgid "Above child" msgstr "覆蓋子元件" -#: gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." msgstr "是否事件方塊中攔截事件的視窗要覆蓋在子視窗元件之上,相對於至於其下。" -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:201 msgid "Expanded" msgstr "展開" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:202 msgid "Whether the expander has been opened to reveal the child widget" msgstr "該可擴展元件是否已經展開,使其子元件顯露出來。" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:210 msgid "Text of the expander's label" msgstr "展開器標籤的文字" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "使用標記" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "可擴展元件的文字標籤包含XML標記。詳見 pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:234 msgid "Space to put between the label and the child" msgstr "區隔子元件與文字標籤的額外的空間" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "標籤元件" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:244 msgid "A widget to display in place of the usual expander label" msgstr "替代展開器原本文字標籤的視窗元件" -#: gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:251 msgid "Label fill" msgstr "標籤填滿" -#: gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:252 msgid "Whether the label widget should fill all available horizontal space" msgstr "籤標視窗元件是否應填滿所有可用的水平空間" -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:862 msgid "Expander Size" msgstr "展開器大小" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:863 msgid "Size of the expander arrow" msgstr "展開器箭號的大小" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:268 msgid "Spacing around expander arrow" msgstr "展開器箭頭周圍的間距" -#: gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "對話盒" -#: gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "準備選用的檔案選擇對話盒類型。" -#: gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." msgstr "檔案選擇對話盒的標題。" -#: gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "按鈕元件所需的闊度,以字符計。" -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:740 msgid "Action" msgstr "動作" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "檔案選擇元件要執行的指令種類" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "過濾條件" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "用來選擇顯示何種檔案的過濾器" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "限定本地端" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "是否選擇的檔案應該限定於本地端 file: URLs" -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "預覽視窗元件" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." msgstr "應用程式提供的視窗元件,用來自選預覽。" -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "啟動預覽視窗元件" -#: gtk/gtkfilechooser.c:766 +#: ../gtk/gtkfilechooser.c:766 msgid "" "Whether the application supplied widget for custom previews should be shown." msgstr "用來自選預覽的應用程式端視窗元件是否應該被顯示。" -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "使用預覽文字" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." msgstr "是否與預覽的檔案名稱一起顯示內置圖示文字。" -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "額外視窗元件" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "有額外功能的應用程式端視窗元件。" -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "選取多個項目" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "可否允許同時選取多個檔案" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "顯示隱藏檔" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "是否顯示隱藏的檔案和目錄" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "覆寫時作出確認" -#: gtk/gtkfilechooser.c:807 +#: ../gtk/gtkfilechooser.c:807 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." msgstr "在儲存模式的檔案選擇程式是否在需要時顯示覆寫確認對話盒。" -#: gtk/gtkfilechooser.c:823 +#: ../gtk/gtkfilechooser.c:823 msgid "Allow folder creation" msgstr "允許建立資料夾" -#: gtk/gtkfilechooser.c:824 +#: ../gtk/gtkfilechooser.c:824 msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." msgstr "在開啟模式的檔案選擇程式是否讓使用者建立新的資料夾。" -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 msgid "X position" msgstr "水平位置" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "子元件的水平位置" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 msgid "Y position" msgstr "垂直位置" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "子元件的垂直位置" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "字型選擇對話盒的標題" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 msgid "Font name" msgstr "字型名稱" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "選擇字型的名稱" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "字型本身反映在標籤內" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" msgstr "標籤文字可否使用選擇的字型" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "文字標籤中使用尺寸" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "標籤文字可否使用選擇的字型大小" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "顯示樣式" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "標籤文字可否使用選擇的字型樣式" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "顯示字型大小" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "標籤文字是否顯示使用選擇的字型尺寸" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:224 msgid "The string that represents this font" msgstr "表示本字型的字串" -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:230 msgid "Preview text" msgstr "預覽文字" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:231 msgid "The text to display in order to demonstrate the selected font" msgstr "顯示選定的字型時所使用的字串" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:131 msgid "Text of the frame's label" msgstr "框架的標籤文字" -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:138 msgid "Label xalign" msgstr "標籤水平位置" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:139 msgid "The horizontal alignment of the label" msgstr "標籤的水平位置" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:147 msgid "Label yalign" msgstr "標籤垂直位置" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:148 msgid "The vertical alignment of the label" msgstr "標籤的垂直位置" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:156 msgid "Frame shadow" msgstr "框架陰影" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:157 msgid "Appearance of the frame border" msgstr "框架邊框的外觀" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:166 msgid "A widget to display in place of the usual frame label" msgstr "用來替代原本框架文字標籤的視窗元件" -#: gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:189 msgid "Appearance of the shadow that surrounds the container" msgstr "容器元件周圍的陰影的外觀" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:197 msgid "Handle position" msgstr "控制項位置" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:198 msgid "Position of the handle relative to the child widget" msgstr "相對於子元件的控制項位置" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:206 msgid "Snap edge" msgstr "貼齊邊緣" -#: gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:207 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" msgstr "控制方塊的側邊與置入該方塊的置入點自動貼齊" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:215 msgid "Snap edge set" msgstr "貼齊邊緣設定" -#: gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:216 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" msgstr "是否根據 snap_edge 屬性,或採用 handle_position 的設定值" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:223 msgid "Child Detached" msgstr "子項目已分離" -#: gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:224 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." msgstr "一個用來表示把手方塊(handlebox)的子項是結合或分離的邏輯數值。" -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:580 msgid "Selection mode" msgstr "選擇模式" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:581 msgid "The selection mode" msgstr "選擇模式" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:599 msgid "Pixbuf column" msgstr "Pixbuf 欄" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:600 msgid "Model column used to retrieve the icon pixbuf from" msgstr "用來取得圖示 pixbuf 的典型欄" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:618 msgid "Model column used to retrieve the text from" msgstr "用來取得文字 pixbuf 的典型欄" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:637 msgid "Markup column" msgstr "標記欄位" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:638 msgid "Model column used to retrieve the text if using Pango markup" msgstr "如果使用 Pango 標記時用來取得文字的典型欄" -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:645 msgid "Icon View Model" msgstr "Icon View 模型" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:646 msgid "The model for the icon view" msgstr "圖示檢視所使用的模型" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:662 msgid "Number of columns" msgstr "欄位數目" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:663 msgid "Number of columns to display" msgstr "要顯示的欄數" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:680 msgid "Width for each item" msgstr "各項目的闊度" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:681 msgid "The width used for each item" msgstr "用於各個項目的闊度" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:697 msgid "Space which is inserted between cells of an item" msgstr "用來插入項目的格位之間的空間" -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:712 msgid "Row Spacing" msgstr "行的間隔" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:713 msgid "Space which is inserted between grid rows" -msgstr "用來插入格線行之間的空間" +msgstr "用來插入格線列之間的空間" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:728 msgid "Column Spacing" msgstr "欄的間隔" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:729 msgid "Space which is inserted between grid columns" msgstr "用來插入格線欄之間的空間" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:744 msgid "Margin" msgstr "邊界" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:745 msgid "Space which is inserted at the edges of the icon view" msgstr "用來插入圖示檢視邊緣的空間" -#: gtk/gtkiconview.c:730 -#, fuzzy +#: ../gtk/gtkiconview.c:760 msgid "Item Orientation" -msgstr "方向" +msgstr "項目方向" -#: gtk/gtkiconview.c:731 +#: ../gtk/gtkiconview.c:761 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "每個項目的文字與圖示之間要如何排列" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:697 +#: ../gtk/gtktreeviewcolumn.c:329 msgid "Reorderable" msgstr "可重新排列" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:698 msgid "View is reorderable" msgstr "該顯示為可排序的" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:848 msgid "Tooltip Column" msgstr "工具提示欄位" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:786 msgid "The column in the model containing the tooltip texts for the items" msgstr "包含項目的工具提示文字的模型欄位" -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:803 msgid "Item Padding" msgstr "項目留空" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:804 msgid "Padding around icon view items" msgstr "圖示檢視項目周圍的留空" -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:817 msgid "Selection Box Color" msgstr "選取區方塊色彩" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:818 msgid "Color of the selection box" msgstr "選取區方塊的色彩" -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:824 msgid "Selection Box Alpha" msgstr "選取區方塊的α混色" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:825 msgid "Opacity of the selection box" msgstr "選取區方塊的透明度" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "準備顯示的 GdkPixbuf" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:220 msgid "Filename" msgstr "檔案名稱" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "準備載入及顯示的檔案" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "欲顯示的內置圖示名稱" -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:258 msgid "Icon set" msgstr "圖示集" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:259 msgid "Icon set to display" msgstr "準備顯示的圖示集" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolpalette.c:1030 msgid "Icon size" msgstr "圖示大小" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:267 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "內置圖示或圖示集或具名圖示的符號大小" -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:283 msgid "Pixel size" msgstr "像素大小" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:284 msgid "Pixel size to use for named icon" msgstr "具名圖示的像素大小" -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:292 msgid "Animation" msgstr "動畫" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:293 msgid "GdkPixbufAnimation to display" msgstr "準備顯示的 GdkPixbufAnimation" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "儲存種類" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "圖片資料所使用的資料代表" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:149 msgid "Child widget to appear next to the menu text" msgstr "選單文字旁邊顯示的子元件" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:164 msgid "Whether to use the label text to create a stock menu item" msgstr "是否使用標籤文字來建立圖庫選單項目" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:536 msgid "Accel Group" msgstr "捷徑鍵羣組" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:198 msgid "The Accel Group to use for stock accelerator keys" msgstr "圖庫捷徑鍵的羣組" -#: gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "顯示選單圖示" - -#: gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "應否在選單項目中顯示圖示" - -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:375 ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "訊息類型" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:376 ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "訊息的類型" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:431 msgid "Width of border around the content area" msgstr "內容區域的邊框闊度" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:448 msgid "Spacing between elements of the area" msgstr "區域中元件間的間距" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:480 msgid "Width of border around the action area" msgstr "動作區域的邊框闊度" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:741 msgid "Screen" msgstr "螢幕" -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:742 msgid "The screen where this window will be displayed" msgstr "本視窗將顯示於第幾螢幕" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "標籤中的文字" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "標籤中的文字可以採用的樣式屬性清單" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "對齊方式" -#: gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " "GtkMisc::xalign for that" -msgstr "" -"標籤文字中每一行文字相對的排列方式。此設定並不會影響該文字標籤的配置位置。詳" -"見 GtkMisc::xalign " +msgstr "標籤文字中每一列文字相對的排列方式。此設定並不會影響該文字標籤的配置位置。詳見 GtkMisc::xalign " -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "樣式" -#: gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" msgstr "含有底線(_)的字串中,字母會呈現有底線的相對位置" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "自動換行" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "如使用本選項,當字句太長時會自動換行" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" -msgstr "折行模式" +msgstr "換行模式" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "如果設定換行,這裏控制如何完成換行" -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "可選取" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "標籤文字可否使用滑鼠來選取" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "速記鍵" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "本文字標籤的速記快捷鍵" -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "速記元件" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "當文字標籤速記鍵按下時所啟動的元件" -#: gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" msgstr "如果標籤沒有足夠的空間顯示整個字串時,用來簡化該字串的空間" -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "單行模式" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "標籤是否以單行的方式顯示" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "角" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "顯示標籤時旋轉的角度" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "標籤所需的最大闊度,以字符計" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "追蹤已瀏覽的連結" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "是否追蹤已瀏覽的連結" -#: gtk/gtklabel.c:904 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "當可選擇標籤取得焦點時,其內容是否呈現被選取狀態" - -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "水平調整" - -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "水平位置的 GtkAdjustment" - -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "垂直調整" - -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "垂直位置的 GtkAdjustment" - -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:229 msgid "Width" msgstr "闊度" -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "佈置元件闊度" -#: gtk/gtklayout.c:650 +#: ../gtk/gtklayout.c:668 msgid "Height" msgstr "高度" -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "佈置元件高度" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:174 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:175 msgid "The URI bound to this button" msgstr "與這個按鈕繫結的 URI" -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:189 msgid "Visited" msgstr "已瀏覽" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:190 msgid "Whether this link has been visited." msgstr "這個連結是否已瀏覽過。" -#: gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:170 msgid "Pack direction" msgstr "排列方向" -#: gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:171 msgid "The pack direction of the menubar" msgstr "工具列的排列方向" -#: gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:187 msgid "Child Pack direction" msgstr "子元件排列方向" -#: gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:188 msgid "The child pack direction of the menubar" msgstr "選單列子元的件排列方向" -#: gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:197 msgid "Style of bevel around the menubar" msgstr "選單列的斜邊款式" -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 msgid "Internal padding" msgstr "內部留空" -#: gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:205 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "選單列陰影和選單項目之間的空間闊度" -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "下拉選單出現前的延遲時間" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "選單列的子選單出現前的延遲時間" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:522 msgid "The currently selected menu item" msgstr "目前選取的選單項目" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:537 msgid "The accel group holding accelerators for the menu" msgstr "保存此選單捷徑鍵的捷徑鍵羣組" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:551 ../gtk/gtkmenuitem.c:316 msgid "Accel Path" msgstr "捷徑鍵路徑" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:552 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "用來便利的建立子項目捷徑鍵的路徑" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:568 msgid "Attach Widget" msgstr "附加視窗元件" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:569 msgid "The widget the menu is attached to" msgstr "此選單要附加的視窗元件" -#: gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:577 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "當此選單卸下之後視窗管理員指定的視窗標題" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:591 msgid "Tearoff State" msgstr "分離狀態" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:592 msgid "A boolean that indicates whether the menu is torn-off" msgstr "指出該選單是否分離的邏輯值" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:606 msgid "Monitor" msgstr "監視器" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:607 msgid "The monitor the menu will be popped up on" msgstr "該選單要彈出到的螢幕" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:613 msgid "Vertical Padding" msgstr "垂直留空" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:614 msgid "Extra space at the top and bottom of the menu" msgstr "選單上下的額外空間" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:636 msgid "Reserve Toggle Size" msgstr "保留切換的大小" -#: gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:637 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "指出該選單是否保留切換與圖示空間的邏輯值" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:643 msgid "Horizontal Padding" msgstr "垂直留空" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:644 msgid "Extra space at the left and right edges of the menu" msgstr "選單左右的額外空間" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:652 msgid "Vertical Offset" msgstr "垂直偏移" -#: gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:653 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" msgstr "當此選單為子選單,將其一此設定值垂直偏移放置" -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:661 msgid "Horizontal Offset" msgstr "水平偏移" -#: gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:662 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" msgstr "當此選單為子選單,將其一此設定值水平偏移放置" -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:670 msgid "Double Arrows" msgstr "雙箭頭" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:671 msgid "When scrolling, always show both arrows." msgstr "在捲動時,永遠顯示兩端箭頭。" -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:684 msgid "Arrow Placement" msgstr "箭號的放置" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:685 msgid "Indicates where scroll arrows should be placed" msgstr "指出捲動軸箭頭應放置在哪裏" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:693 msgid "Left Attach" msgstr "左側附加" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 +#: ../gtk/gtkmenu.c:694 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "子選單的左側附加於指定的縱列數上" -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:701 msgid "Right Attach" msgstr "右側附加" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:702 msgid "The column number to attach the right side of the child to" msgstr "子選單的右側附加於指定的縱列數上" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:709 msgid "Top Attach" msgstr "頂端附加" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:710 msgid "The row number to attach the top of the child to" msgstr "子選單的頂端附加於指定的橫列數上" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:717 msgid "Bottom Attach" msgstr "底部附加" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:718 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "子選單的底部附加於指定的橫列數上" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:732 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "縮放捲動軸箭頭大小的任意常數" -#: gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "可更改捷徑鍵" - -#: gtk/gtkmenu.c:824 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "是否可在選單項目上按鍵來更改快捷鍵" - -#: gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "顯示子選單前的延遲時間" - -#: gtk/gtkmenu.c:830 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "在選單項目上顯示子選單所需的游標停滯最小時間" - -#: gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "隱藏子選單前的延遲時間" - -#: gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "游標移向子選單前子選單的顯示時間,超過則隱藏子選單" - -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:283 msgid "Right Justified" msgstr "向右對齊" -#: gtk/gtkmenuitem.c:286 +#: ../gtk/gtkmenuitem.c:284 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "設定選單項目是否出現在選單列的右端" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:298 msgid "Submenu" msgstr "子選單" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:299 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "要附加到選單項目的子選單,若沒有則為 NULL" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:317 msgid "Sets the accelerator path of the menu item" msgstr "設定選單項目的捷徑鍵路徑" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:332 msgid "The text for the child label" msgstr "子標籤的文字" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:395 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "箭頭所佔空間大小,相對於選單項目的字型大小" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:408 msgid "Width in Characters" msgstr "闊度(字符)" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:409 msgid "The minimum desired width of the menu item in characters" msgstr "此選單項目要求的最小闊度,以字符計" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:379 msgid "Take Focus" msgstr "獲得焦點" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:380 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "決定選單是否取得鍵盤焦點的邏輯值" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:246 msgid "Menu" msgstr "選單" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:247 msgid "The dropdown menu" msgstr "下拉式選單" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:184 msgid "Image/label border" msgstr "圖片/標籤邊框" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:185 msgid "Width of border around the label and image in the message dialog" msgstr "訊息對話盒的標籤和圖片周圍的邊框闊度" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:209 msgid "Message Buttons" msgstr "訊息按鈕" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:210 msgid "The buttons shown in the message dialog" msgstr "訊息對話窗顯示的按鈕" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:227 msgid "The primary text of the message dialog" msgstr "訊息對話盒中的主要文字" -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:242 msgid "Use Markup" msgstr "使用標記" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:243 msgid "The primary text of the title includes Pango markup." msgstr "包含 Pango 標記的標題主要文字。" -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:257 msgid "Secondary Text" msgstr "次要文字" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:258 msgid "The secondary text of the message dialog" msgstr "訊息對話盒中的次要文字" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:273 msgid "Use Markup in secondary" msgstr "在次要文件使用標記" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:274 msgid "The secondary text includes Pango markup." msgstr "次要文字包含 Pango 標記。" -#: gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:288 msgid "Image" msgstr "圖片" -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:289 msgid "The image" msgstr "圖片" -#: gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:305 msgid "Message area" msgstr "訊息區域" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:306 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "保有這個對話盒主要及次要標籤的 GtkVBox" -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:91 msgid "Y align" msgstr "垂直排列" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "垂直排列,由 0 (上) 至 1 (下)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:101 msgid "X pad" msgstr "水平留空" -#: gtk/gtkmisc.c:102 +#: ../gtk/gtkmisc.c:102 msgid "" "The amount of space to add on the left and right of the widget, in pixels" msgstr "加在視窗元件左右的空間,單位為像素" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:111 msgid "Y pad" msgstr "垂直留空" -#: gtk/gtkmisc.c:112 +#: ../gtk/gtkmisc.c:112 msgid "" "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "加在視窗元件上下的空間,單位為像素" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "父項" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "父視窗" -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:167 msgid "Is Showing" msgstr "顯示" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "我們是否要顯示對話盒" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:176 msgid "The screen where this window will be displayed." msgstr "本視窗將顯示於此螢幕。" -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:689 msgid "Page" msgstr "頁碼" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:690 msgid "The index of the current page" msgstr "目前頁面的索引" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:698 msgid "Tab Position" msgstr "標簽位置" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:699 msgid "Which side of the notebook holds the tabs" msgstr "標簽頁中含有標簽的一邊" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:706 msgid "Show Tabs" msgstr "顯示標簽" -#: gtk/gtknotebook.c:613 +#: ../gtk/gtknotebook.c:707 msgid "Whether tabs should be shown" msgstr "是否顯示分頁" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:713 msgid "Show Border" msgstr "顯示邊框" -#: gtk/gtknotebook.c:620 +#: ../gtk/gtknotebook.c:714 msgid "Whether the border should be shown" msgstr "是否顯示框線" -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:720 msgid "Scrollable" msgstr "可捲動" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:721 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "如設為定為‘TRUE’,如果標籤太多時,會在兩旁加上箭頭" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:727 msgid "Enable Popup" msgstr "使用蹦出選單" -#: gtk/gtknotebook.c:634 +#: ../gtk/gtknotebook.c:728 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" msgstr "若為 TRUE,在標籤頁按下滑鼠右鍵時會蹦出可選擇頁面的選單" -#: gtk/gtknotebook.c:648 -#, fuzzy +#: ../gtk/gtknotebook.c:742 msgid "Group Name" -msgstr "群組 ID" +msgstr "羣組名稱" -#: gtk/gtknotebook.c:649 -#, fuzzy +#: ../gtk/gtknotebook.c:743 msgid "Group name for tab drag and drop" -msgstr "分頁拖放的羣組" +msgstr "分頁拖放的羣組名稱" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:750 msgid "Tab label" msgstr "標籤文字" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:751 msgid "The string displayed on the child's tab label" msgstr "子分頁標籤所顯示的文字" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:757 msgid "Menu label" msgstr "選單文字標籤" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:758 msgid "The string displayed in the child's menu entry" msgstr "子選單項目顯示的字串" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:771 msgid "Tab expand" msgstr "擴展標籤" -#: gtk/gtknotebook.c:678 +#: ../gtk/gtknotebook.c:772 msgid "Whether to expand the child's tab" msgstr "是否擴展子分頁" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:778 msgid "Tab fill" msgstr "標籤填滿" -#: gtk/gtknotebook.c:685 +#: ../gtk/gtknotebook.c:779 msgid "Whether the child's tab should fill the allocated area" msgstr "子分頁是否應填滿配置的區域" -#: gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:792 msgid "Tab pack type" msgstr "標籤包裝形式" -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:799 msgid "Tab reorderable" msgstr "分頁可排序" -#: gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:800 msgid "Whether the tab is reorderable by user action" msgstr "分頁是否可由使用者動作來重新排序" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:806 msgid "Tab detachable" msgstr "分頁可分離" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:807 msgid "Whether the tab is detachable" msgstr "分頁是否可分離" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:822 ../gtk/gtkscrollbar.c:105 msgid "Secondary backward stepper" msgstr "次要倒退指示器" -#: gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:823 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "在標籤區域對面顯示第二個用來倒退的箭頭" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:838 ../gtk/gtkscrollbar.c:112 msgid "Secondary forward stepper" msgstr "次要前進指示器" -#: gtk/gtknotebook.c:738 +#: ../gtk/gtknotebook.c:839 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "在標籤區域對面顯示第二個用來前進的箭頭" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:853 ../gtk/gtkscrollbar.c:91 msgid "Backward stepper" msgstr "倒退指示器" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:854 ../gtk/gtkscrollbar.c:92 msgid "Display the standard backward arrow button" msgstr "顯示標準倒退箭頭按鈕" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:868 ../gtk/gtkscrollbar.c:98 msgid "Forward stepper" msgstr "前進指示器" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:869 ../gtk/gtkscrollbar.c:99 msgid "Display the standard forward arrow button" msgstr "顯示標準前進箭頭按鈕" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:883 msgid "Tab overlap" msgstr "分頁覆蓋" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:884 msgid "Size of tab overlap area" msgstr "分頁重疊區域的大小" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:899 msgid "Tab curvature" msgstr "分頁曲率" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:900 msgid "Size of tab curvature" msgstr "分頁曲率的大小" -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:916 msgid "Arrow spacing" msgstr "箭號的間距" -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:917 msgid "Scroll arrow spacing" msgstr "捲動軸箭號的間距" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 +#: ../gtk/gtktrayicon-x11.c:124 msgid "Orientation" msgstr "方向" -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:64 msgid "The orientation of the orientable" msgstr "可定向的方向" -#: gtk/gtkpaned.c:271 +#: ../gtk/gtkpaned.c:328 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "分隔條的位置,單位為像素(0表示擴展至左/上)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:337 msgid "Position Set" msgstr "位置設定" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:338 msgid "TRUE if the Position property should be used" msgstr "TRUE 表示應該使用位置屬性" -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:344 msgid "Handle Size" msgstr "分隔條尺寸" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:345 msgid "Width of handle" msgstr "分隔條的闊度" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:361 msgid "Minimal Position" msgstr "最小位置" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:362 msgid "Smallest possible value for the \"position\" property" msgstr "『位置』屬性的最小可能值" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:379 msgid "Maximal Position" msgstr "最大位置" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:380 msgid "Largest possible value for the \"position\" property" msgstr "『位置』屬性的最大可能值" -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:397 msgid "Resize" msgstr "重設大小" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:398 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "如設為定為‘TRUE’,子元件將隨分隔元件擴展或縮小" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:413 msgid "Shrink" msgstr "可縮小" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:414 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "如設為定為‘TRUE’,子元件可以比原本指定的大小更小" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:172 ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "內嵌的" -#: gtk/gtkplug.c:172 +#: ../gtk/gtkplug.c:173 msgid "Whether the plug is embedded" msgstr "此外掛是否為內嵌" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:187 msgid "Socket Window" msgstr "Socket 視窗" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:188 msgid "The window of the socket the plug is embedded in" msgstr "此外掛內嵌 socket 的視窗" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkprinter.c:126 msgid "Name of the printer" msgstr "打印機的名稱" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:132 msgid "Backend" msgstr "後端" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "打印機的後端" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "是虛擬的" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "如果此打印機代表真實的硬件打印機則為 FALSE" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "接受 PDF" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "如果此打印機可接受 PDF 則為 TRUE" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "接受 Postscript" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "如果此打印機可接受 PostScript 則為 TRUE" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:160 msgid "State Message" msgstr "狀態訊息" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "提供打印機目前狀態的字串" -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "位置" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:168 msgid "The location of the printer" msgstr "打印機的位置" -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "此打印機使用的圖示名稱" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:181 msgid "Job Count" msgstr "工作計數" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "打印機中佇留的工作數" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "暫停的打印機" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "如果此打印機已暫停則為 TRUE" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "正在接受工作" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "如果此打印機正在接受新工作則為 TRUE" -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "來源選項" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "在此視窗元件之後的打印機選項" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:116 msgid "Title of the print job" msgstr "打印工作的標題" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:124 msgid "Printer" msgstr "打印機" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:125 msgid "Printer to print the job to" msgstr "用來打印此工作的打印機" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:133 msgid "Settings" msgstr "設定值" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:134 msgid "Printer settings" msgstr "打印機設定值" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:142 ../gtk/gtkprintjob.c:143 +#: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "頁面設定" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:151 ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "追蹤打印狀態" -#: gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:152 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." -msgstr "" -"如果此打印工作在送出打印資料到打印機或打印伺服器後會繼續發出狀態改變信號則為 " -"TRUE。" +msgstr "如果此打印工作在送出打印資料到打印機或打印伺服器後會繼續發出狀態改變信號則為 TRUE。" -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1005 msgid "Default Page Setup" msgstr "預設頁面設定" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1006 msgid "The GtkPageSetup used by default" msgstr "預設使用的 GtkPageSetup" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "打印設定值" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "用來初始化對話盒的 GtkPrintSettings" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1043 msgid "Job Name" msgstr "工作名稱" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1044 msgid "A string used for identifying the print job." msgstr "用來識別此打印工作的字串。" -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1068 msgid "Number of Pages" msgstr "頁數" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1069 msgid "The number of pages in the document." msgstr "文件中的頁數。" -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "目前的頁面" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "文件中目前的頁面" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1112 msgid "Use full page" msgstr "使用整頁" -#: gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1113 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" msgstr "如果原始的上下文在頁面的角落,而不是在可成像區域的角落,則為 TRUE" -#: gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1134 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." -msgstr "" -"如果此打印操作在送出打印資料到打印機或打印伺服器後會繼續回報打印工作狀態則為 " -"TRUE。" +msgstr "如果此打印操作在送出打印資料到打印機或打印伺服器後會繼續回報打印工作狀態則為 TRUE。" -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1151 msgid "Unit" msgstr "單位" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1152 msgid "The unit in which distances can be measured in the context" msgstr "在上下文中能被測量的距離單位" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1169 msgid "Show Dialog" msgstr "顯示對話盒" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1170 msgid "TRUE if a progress dialog is shown while printing." msgstr "如果在打印時要顯示進度對話盒則為 TRUE。" -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1193 msgid "Allow Async" msgstr "允許 Async" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1194 msgid "TRUE if print process may run asynchronous." msgstr "如果打印程序可以非同步方式執行則為 TRUE。" -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 msgid "Export filename" msgstr "匯出檔案名稱" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1231 msgid "Status" msgstr "狀態" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1232 msgid "The status of the print operation" msgstr "打印操作的狀態" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1252 msgid "Status String" msgstr "狀態字串" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1253 msgid "A human-readable description of the status" msgstr "供人類閱讀的狀態描述" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1271 msgid "Custom tab label" msgstr "自選分頁標籤" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1272 msgid "Label for the tab containing custom widgets." msgstr "包含自選視窗元件分頁的標籤。" -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "支授選擇區域" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1288 msgid "TRUE if the print operation will support print of selection." msgstr "如果打印動作支援選擇區域的打印則設定為 TRUE。" -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "具有選擇區域" -#: gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1305 msgid "TRUE if a selection exists." msgstr "如果選擇區域存在則為 TRUE。" -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "內嵌頁面設定" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1321 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "如果頁面設定組合內嵌於 GtkPrintDialog 則設定為 TRUE" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1342 msgid "Number of Pages To Print" msgstr "要打印的頁數" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1343 msgid "The number of pages that will be printed." msgstr "將要打印的頁數。" -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "要使用的 GtkPageSetup" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "選取的打印機" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "選取的 GtkPrinter" -#: gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:332 msgid "Manual Capabilities" msgstr "手冊容量" -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "應用程式可以處理的能力" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:342 msgid "Whether the dialog supports selection" msgstr "對話盒是否支援選擇區域" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:350 msgid "Whether the application has a selection" msgstr "應用程式是否有選擇區域" -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "如果頁面設定組合內嵌於 GtkPrintUnixDialog 則設定為 TRUE" -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "片段" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "工作已完成的片段" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "脈動步伐" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "當一次脈動後,來回區塊應移動的比例(以進度列全長為基準)" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "進度列中所顯示的文字" -#: gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "顯示文字" -#: gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "進度是否以文字方式顯示。" -#: gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:208 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." msgstr "如果進度列沒有足夠的空間顯示整個字串時,用來簡化該字串的空間。" -#: gtk/gtkprogressbar.c:188 +#: ../gtk/gtkprogressbar.c:215 msgid "X spacing" msgstr "X 間距" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "套用於進度列闊度的額外空間。" -#: gtk/gtkprogressbar.c:194 +#: ../gtk/gtkprogressbar.c:221 msgid "Y spacing" msgstr "Y 間距" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "套用於進度列高度的額外空間。" -#: gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:235 msgid "Minimum horizontal bar width" msgstr "最小水平列闊度" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:236 msgid "The minimum horizontal width of the progress bar" msgstr "進度列的最小水平闊度" -#: gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:248 msgid "Minimum horizontal bar height" msgstr "最小水平列高度" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:249 msgid "Minimum horizontal height of the progress bar" msgstr "進度列的最小水平高度" -#: gtk/gtkprogressbar.c:234 +#: ../gtk/gtkprogressbar.c:261 msgid "Minimum vertical bar width" msgstr "最小垂直列闊度" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:262 msgid "The minimum vertical width of the progress bar" msgstr "進度列的最小垂直闊度" -#: gtk/gtkprogressbar.c:247 +#: ../gtk/gtkprogressbar.c:274 msgid "Minimum vertical bar height" msgstr "最小垂直列高度" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:275 msgid "The minimum vertical height of the progress bar" msgstr "進度列的最小垂直高度" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:118 msgid "The value" msgstr "給定值" -#: gtk/gtkradioaction.c:119 +#: ../gtk/gtkradioaction.c:119 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." -msgstr "" -"當此指令是該羣組的目前指令時,gtk_radio_action_get_current_value() 所傳回值" +msgstr "當此指令是該羣組的目前指令時,gtk_radio_action_get_current_value() 所傳回值" -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:160 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "羣組" -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "此指令所屬的單選指令羣組。" -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:151 msgid "The current value" msgstr "目前的數值" -#: gtk/gtkradioaction.c:152 +#: ../gtk/gtkradioaction.c:152 msgid "" "The value property of the currently active member of the group to which this " "action belongs." msgstr "這個動作所屬羣組目前使用成員的數值屬性。" -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:161 msgid "The radio button whose group this widget belongs to." msgstr "此元件所屬的單選按鈕羣組。" -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:374 msgid "The radio menu item whose group this widget belongs to." msgstr "此元件所屬的單選選單羣組。" -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "此按鈕所屬的單選工具按鈕羣組。" -#: gtk/gtkrange.c:410 +#: ../gtk/gtkrange.c:423 msgid "Update policy" msgstr "更新規則" -#: gtk/gtkrange.c:411 +#: ../gtk/gtkrange.c:424 msgid "How the range should be updated on the screen" msgstr "範圍在螢幕上要如何更新" -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:433 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "含有這個範圍物件現在數值的 GtkAdjustment" -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:441 msgid "Invert direction slider moves to increase range value" msgstr "捲動條以相反的方向來增加範圍數值" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:448 msgid "Lower stepper sensitivity" msgstr "較低側指示器敏感度" -#: gtk/gtkrange.c:436 +#: ../gtk/gtkrange.c:449 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" msgstr "指向調整鈕較低側的指示器敏感度原則" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:457 msgid "Upper stepper sensitivity" msgstr "較高側指示器敏感度" -#: gtk/gtkrange.c:445 +#: ../gtk/gtkrange.c:458 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" msgstr "指向調整鈕較高側的指示器敏感度原則" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:475 msgid "Show Fill Level" msgstr "顯示填充等級" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:476 msgid "Whether to display a fill level indicator graphics on trough." msgstr "是否在滑軌上顯示填充等級指示器。" -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:492 msgid "Restrict to Fill Level" msgstr "限制的填充等級" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:493 msgid "Whether to restrict the upper boundary to the fill level." msgstr "是否限制填充等級的上限。" -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:508 msgid "Fill Level" msgstr "填充等級" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:509 msgid "The fill level." msgstr "填充等級" -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:517 msgid "Slider Width" msgstr "捲動條闊度" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:518 msgid "Width of scrollbar or scale thumb" msgstr "捲動列或等比縮放指標的闊度" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:525 msgid "Trough Border" msgstr "溝槽邊緣" -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:526 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "指標/指示器按鈕與邊界外緣之間的空間" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:533 msgid "Stepper Size" msgstr "指示器按鈕尺寸" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:534 msgid "Length of step buttons at ends" msgstr "步伐按鈕每一端的長度" -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:549 msgid "Stepper Spacing" msgstr "指示器按鈕間隔" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:550 msgid "Spacing between step buttons and thumb" msgstr "步伐按鈕以及指標之間的間隔" -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:557 msgid "Arrow X Displacement" msgstr "箭頭水平偏離" -#: gtk/gtkrange.c:545 +#: ../gtk/gtkrange.c:558 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "當按鈕按下時要在水平方向移動多遠的距離" -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:565 msgid "Arrow Y Displacement" msgstr "箭頭垂直偏離" -#: gtk/gtkrange.c:553 +#: ../gtk/gtkrange.c:566 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "當按鈕按下時要在垂直方向移動多遠的距離" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:584 msgid "Trough Under Steppers" msgstr "指示器下滑軌" -#: gtk/gtkrange.c:572 +#: ../gtk/gtkrange.c:585 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "是否繪出完整長度的滑軌或是去除指示器和間距" -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling" msgstr "箭頭縮放" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:599 msgid "Arrow scaling with regard to scroll button size" msgstr "根據捲動軸大小縮放箭頭" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "顯示編號" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 msgid "Whether the items should be displayed with a number" msgstr "項目是否顯示編號" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "最近使用項目管理程式" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "要使用的 RecentManager 物件" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "顯示私人項目" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "是否顯示私人的項目" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "顯示工具提示" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "是否在項目上顯示工具提示" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "顯示圖示" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "項目旁是否應有圖示" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "顯示沒有找到訊息" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "是否顯示指向無法使用資源的項目" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "可否允許同時選取多個項目" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "僅限本地端" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "是否選擇的資源應該限定於本地端檔案:URIs" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "限制" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "能顯示的項目最大數量" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "排序類型" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "顯示項目的排列順序" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "目前用來選擇顯示何種資源的過濾器" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" msgstr "用來儲存和讀取清單的檔案完整路徑" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "目前使用的資源清單大小" -#: gtk/gtkruler.c:138 +#: ../gtk/gtkruler.c:143 msgid "Lower" msgstr "下限" -#: gtk/gtkruler.c:139 +#: ../gtk/gtkruler.c:144 msgid "Lower limit of ruler" msgstr "尺規的下限" -#: gtk/gtkruler.c:148 +#: ../gtk/gtkruler.c:153 msgid "Upper" msgstr "上限" -#: gtk/gtkruler.c:149 +#: ../gtk/gtkruler.c:154 msgid "Upper limit of ruler" msgstr "尺規的上限" -#: gtk/gtkruler.c:159 +#: ../gtk/gtkruler.c:164 msgid "Position of mark on the ruler" msgstr "尺規中的標記的位置" -#: gtk/gtkruler.c:168 +#: ../gtk/gtkruler.c:173 msgid "Max Size" msgstr "最大尺寸" -#: gtk/gtkruler.c:169 +#: ../gtk/gtkruler.c:174 msgid "Maximum size of the ruler" msgstr "尺規的最大尺寸" -#: gtk/gtkruler.c:184 +#: ../gtk/gtkruler.c:189 msgid "Metric" msgstr "公制" -#: gtk/gtkruler.c:185 +#: ../gtk/gtkruler.c:190 msgid "The metric used for the ruler" msgstr "尺規使用公制單位" -#: gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:221 msgid "The value of the scale" msgstr "縮放的數值" -#: gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:231 msgid "The icon size" msgstr "圖示大小" -#: gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:240 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "含有這個縮放按鈕物件現在數值的 GtkAdjustment" -#: gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:268 msgid "Icons" msgstr "圖示" -#: gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:269 msgid "List of icon names" msgstr "圖示名稱清單" -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:250 msgid "The number of decimal places that are displayed in the value" msgstr "此數值所顯示的十進位位數" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:259 msgid "Draw Value" msgstr "繪製數值" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:260 msgid "Whether the current value is displayed as a string next to the slider" msgstr "是否目前數值要以字串方式顯示在捲動條旁邊" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:267 msgid "Value Position" msgstr "數值位置" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:268 msgid "The position in which the current value is displayed" msgstr "目前數值所顯示的位置" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:275 msgid "Slider Length" msgstr "捲動條長度" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:276 msgid "Length of scale's slider" msgstr "縮放尺規捲動條長度" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:284 msgid "Value spacing" msgstr "數值距離" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:285 msgid "Space between value text and the slider/trough area" msgstr "數值文字與滑動鈕/溝槽區域間的間隔" -#: gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscrollbar.c:75 msgid "Minimum Slider Length" msgstr "最小捲動條長度" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:76 msgid "Minimum length of scrollbar slider" msgstr "捲動列捲動條的最小長度" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:84 msgid "Fixed slider size" msgstr "固定捲動條尺寸" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:85 msgid "Don't change slider size, just lock it to the minimum length" msgstr "不改變捲動條尺寸,將它固定顯示最小長度" -#: gtk/gtkscrollbar.c:81 +#: ../gtk/gtkscrollbar.c:106 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "在捲動列對另一端顯示第二個後退箭頭按鈕" -#: gtk/gtkscrollbar.c:88 +#: ../gtk/gtkscrollbar.c:113 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "在捲動列對另一端顯示第二個前進箭頭按鈕" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "水平調整" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:297 +msgid "The GtkAdjustment for the horizontal position" +msgstr "水平位置的 GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "垂直調整" -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:304 +msgid "The GtkAdjustment for the vertical position" +msgstr "垂直位置的 GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "水平捲動列規則" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "何時顯示水平捲動列" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "垂直捲動列規則" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "何時顯示垂直捲動列" -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "視窗放置" -#: gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." -msgstr "" -"相應於捲動列的哪個位置顯示內容。這只在「window-placement-set」為 TRUE 時會生" -"效。" +msgstr "相應於捲動列的哪個位置顯示內容。這只在「window-placement-set」為 TRUE 時會生效。" -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "視窗放置設定" -#: gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." msgstr "是否使用「window-placement」來決定相應於捲動列的位置顯示內容。" -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "陰影類型" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "內容周圍的斜邊樣式" -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "捲動列在斜邊裏" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "將捲動列置於要捲動的視窗的斜邊" -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "捲動列間隔" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "捲動列及要捲動的視窗之間的像素數目" -#: gtk/gtkscrolledwindow.c:337 -msgid "Scrolled Window Placement" -msgstr "捲動列視窗放置" +#: ../gtk/gtkscrolledwindow.c:384 +msgid "Minimum Content Width" +msgstr "最小內容闊度" -#: gtk/gtkscrolledwindow.c:338 +#: ../gtk/gtkscrolledwindow.c:385 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "可捲動視窗配置內容時的最小闊度" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "Minimum Content Height" +msgstr "最小內容高度" + +#: ../gtk/gtkscrolledwindow.c:392 msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." -msgstr "" -"若沒有設定捲動列視窗自己的放置位置,捲動列視窗的內容要置於相應於捲動列哪個位" -"置。" +"The minimum height that the scrolled window will allocate to its content" +msgstr "可捲動視窗配置內容時的最小高度" -#: gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "繪製" -#: gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "分隔線應否被繪製,或為留白" -#: gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:277 msgid "Double Click Time" msgstr "連按兩下時間" -#: gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:278 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" -msgstr "" -"代表連按兩下的兩下按鍵之間可接受的最長時間(亳秒),如果再長則不作連按兩下處" -"理" +msgstr "代表連按兩下的兩下按鍵之間可接受的最長時間(亳秒),如果再長則不作連按兩下處理" -#: gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:285 msgid "Double Click Distance" msgstr "連按兩下間距" -#: gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:286 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" -msgstr "" -"代表連按兩下的兩下按鍵之間可接受的最長距離(像素),如果再長則不視作連按兩下" -"處理" +msgstr "代表連按兩下的兩下按鍵之間可接受的最長距離(像素),如果再長則不視作連按兩下處理" -#: gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:302 msgid "Cursor Blink" msgstr "閃爍游標" -#: gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:303 msgid "Whether the cursor should blink" msgstr "游標應否閃爍" -#: gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:310 msgid "Cursor Blink Time" msgstr "游標閃爍時間" -#: gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:311 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "游標每次閃爍的時間間隔(毫秒)" -#: gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:330 msgid "Cursor Blink Timeout" msgstr "游標閃爍時間" -#: gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:331 msgid "Time after which the cursor stops blinking, in seconds" msgstr "游標停止閃爍後的時間(毫秒)" -#: gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:338 msgid "Split Cursor" msgstr "分開游標" -#: gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:339 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" msgstr "當左至右和右至左的文字混合出現時應否分別顯示游標" -#: gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:346 msgid "Theme Name" msgstr "佈景名稱" -#: gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:347 msgid "Name of theme RC file to load" msgstr "準備載入的佈景主題檔案名稱" -#: gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:355 msgid "Icon Theme Name" msgstr "圖示佈景名稱" -#: gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:356 msgid "Name of icon theme to use" msgstr "使用的圖示佈景名稱" -#: gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:364 msgid "Fallback Icon Theme Name" msgstr "後備圖示佈景名稱" -#: gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:365 msgid "Name of a icon theme to fall back to" msgstr "用作後備的圖示佈景名稱" -#: gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:373 msgid "Key Theme Name" msgstr "主題名稱" -#: gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:374 msgid "Name of key theme RC file to load" msgstr "要載入的主題 RC 檔案名稱" -#: gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:382 msgid "Menu bar accelerator" msgstr "選單列捷徑鍵" -#: gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:383 msgid "Keybinding to activate the menu bar" msgstr "啟用選單列所用的按鍵結合" -#: gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:391 msgid "Drag threshold" msgstr "拖曳距離界限" -#: gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:392 msgid "Number of pixels the cursor can move before dragging" msgstr "未作為拖曳之前,鼠標應移動的距離,以像素表示" -#: gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:400 msgid "Font Name" msgstr "字型名稱" -#: gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:401 msgid "Name of default font to use" msgstr "預設使用的字型名稱" -#: gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:423 msgid "Icon Sizes" msgstr "圖示大小" -#: gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:424 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -msgstr "圖示大小清單 (gtk-menu=16,16:gtk-button=20,20..." +msgstr "圖示大小清單 (gtk-menu=16,16:gtk-button=20,20…" -#: gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:432 msgid "GTK Modules" msgstr "GTK 模組" -#: gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:433 msgid "List of currently active GTK modules" msgstr "目前正在使用的 GTK 模組的清單" -#: gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:442 msgid "Xft Antialias" msgstr "Xft 平滑化" -#: gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:443 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "是否以平滑化方式顯示 Xft 字型; 0=否, 1=是, -1=預設值" -#: gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:452 msgid "Xft Hinting" msgstr "Xft Hinting" -#: gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:453 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "是否 hint Xft 字型; 0=否, 1=是, -1=預設值" -#: gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:462 msgid "Xft Hint Style" msgstr "Xft Hint 樣式" -#: gtk/gtksettings.c:411 +#: ../gtk/gtksettings.c:463 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "hinting 的使用程度;無、輕微、中等、完全" -#: gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:472 msgid "Xft RGBA" msgstr "Xft RGBA" -#: gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:473 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "像素平滑化的方式; 無, rgb, bgr, vrgb, vbgr" -#: gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:482 msgid "Xft DPI" msgstr "Xft DPI" -#: gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:483 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "Xft 的解像度, 單位為 1024 * 點數/英吋。-1為使用預設值" -#: gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:492 msgid "Cursor theme name" msgstr "游標佈景名稱" -#: gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:493 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "使用的游標佈景主題名稱,或為 NULL 以使用預設佈景主題" -#: gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:501 msgid "Cursor theme size" msgstr "游標佈景大小" -#: gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:502 msgid "Size to use for cursors, or 0 to use the default size" msgstr "游標的大小,或為 0 以使用預設大小" -#: gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:512 msgid "Alternative button order" msgstr "替換按鈕順序" -#: gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:513 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "對話盒內的按鈕應該使用另一種排列方式" -#: gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:530 msgid "Alternative sort indicator direction" msgstr "替換排序指示器方向" -#: gtk/gtksettings.c:479 +#: ../gtk/gtksettings.c:531 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" msgstr "清單和樹狀檢視中指示器排序的方向是否與預設狀況(這裏指往下遞增)相反" -#: gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:539 msgid "Show the 'Input Methods' menu" msgstr "顯示「輸入法」選單" -#: gtk/gtksettings.c:488 +#: ../gtk/gtksettings.c:540 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" msgstr "項目與文字檢視的快顯選單是否應提供改變輸入法的功能" -#: gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:548 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "顯示「插入 Unicode 控制字符」選單" -#: gtk/gtksettings.c:497 +#: ../gtk/gtksettings.c:549 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" msgstr "項目與文字檢視的快顯選單是否應提供插入控制字符的功能" -#: gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:557 msgid "Start timeout" msgstr "開始逾時" -#: gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:558 msgid "Starting value for timeouts, when button is pressed" msgstr "按下按鈕時逾時的起始值" -#: gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:567 msgid "Repeat timeout" msgstr "重複逾時" -#: gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:568 msgid "Repeat value for timeouts, when button is pressed" msgstr "按下按鈕時逾時的重複值" -#: gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:577 msgid "Expand timeout" msgstr "展開已逾時" -#: gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:578 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "當視窗元件要展開新區域逾時的展開值" -#: gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:613 msgid "Color scheme" msgstr "色彩配置" -#: gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:614 msgid "A palette of named colors for use in themes" msgstr "佈景主題中具名色彩的調色盤" -#: gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:623 msgid "Enable Animations" msgstr "啟用動畫" -#: gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:624 msgid "Whether to enable toolkit-wide animations." msgstr "是否啓用工具組動畫。" -#: gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:642 msgid "Enable Touchscreen Mode" msgstr "啟用觸控螢幕模式" -#: gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:643 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "如果設為 TRUE,就不會遞送移動通知事件到這個畫面" -#: gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:660 msgid "Tooltip timeout" msgstr "工具提示時限" -#: gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:661 msgid "Timeout before tooltip is shown" msgstr "顯示工具提示前的時間" -#: gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:686 msgid "Tooltip browse timeout" msgstr "工具提示瀏覽時間" -#: gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:687 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "當啓用瀏覽模式時顯示工具提示前的時間" -#: gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse mode timeout" msgstr "瀏覽模式工具提示顯示時間" -#: gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:709 msgid "Timeout after which browse mode is disabled" msgstr "停用瀏覽模式的時限" -#: gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:728 msgid "Keynav Cursor Only" msgstr "只有鍵盤操控游標" -#: gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:729 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "當 TRUE 時,只有游標可用於導覽視窗元件" -#: gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:746 msgid "Keynav Wrap Around" msgstr "鍵盤操控換行" -#: gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:747 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "使用鍵盤操控的視窗元件時是否換行" -#: gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:767 msgid "Error Bell" msgstr "錯誤響鈴" -#: gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:768 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "當 TRUE 時,鍵盤操控與其他錯誤都會造成嗶聲" -#: gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:785 msgid "Color Hash" msgstr "色彩雜湊" -#: gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:786 msgid "A hash table representation of the color scheme." msgstr "表示色彩方案的湊雜表。" -#: gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:794 msgid "Default file chooser backend" msgstr "預設檔案選擇元件後端" -#: gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:795 msgid "Name of the GtkFileChooser backend to use by default" msgstr "預設使用的 GtkFileChooser 後端名稱" -#: gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:812 msgid "Default print backend" msgstr "預設打印後端" -#: gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:813 msgid "List of the GtkPrintBackend backends to use by default" msgstr "預設使用的 GtkPrintBackend 後端清單" -#: gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:836 msgid "Default command to run when displaying a print preview" msgstr "顯示打印預覽時預設執行的指令" -#: gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:837 msgid "Command to run when displaying a print preview" msgstr "顯示打印預覽時要執行的指令" -#: gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:853 msgid "Enable Mnemonics" msgstr "啟用記憶符" -#: gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:854 msgid "Whether labels should have mnemonics" msgstr "標籤是否要有記憶符" -#: gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:870 msgid "Enable Accelerators" msgstr "啟用捷徑鍵" -#: gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:871 msgid "Whether menu items should have accelerators" msgstr "選單項目是否要有捷徑鍵" -#: gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:888 msgid "Recent Files Limit" msgstr "最近使用檔案限制" -#: gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:889 msgid "Number of recently used files" msgstr "最近使用的檔案數量" -#: gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:907 msgid "Default IM module" msgstr "預設的 IM 模組" -#: gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:908 msgid "Which IM module should be used by default" msgstr "預設要使用哪一個 IM 模組" -#: gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:926 msgid "Recent Files Max Age" msgstr "最近使用檔案最大保存時間" -#: gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:927 msgid "Maximum age of recently used files, in days" msgstr "最近使用檔案最大保存時間,以天數計" -#: gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:936 msgid "Fontconfig configuration timestamp" msgstr "Fontconfig 組態時刻戳記" -#: gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:937 msgid "Timestamp of current fontconfig configuration" msgstr "目前的 fontconfig 組態的時刻戳記" -#: gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:959 msgid "Sound Theme Name" msgstr "音效主題名稱" -#: gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:960 msgid "XDG sound theme name" msgstr "XDG 音效主題名稱" #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:982 msgid "Audible Input Feedback" msgstr "音效輸入回饋" -#: gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:983 msgid "Whether to play event sounds as feedback to user input" msgstr "是否以播放事件音效作為對使用者輸入的回饋" -#: gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:1004 msgid "Enable Event Sounds" msgstr "啟用事件音效" -#: gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play any event sounds at all" msgstr "是否播放任何事件音效" -#: gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1020 msgid "Enable Tooltips" msgstr "啟用工具提示" -#: gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1021 msgid "Whether tooltips should be shown on widgets" msgstr "是否在視窗元件上顯示工具提示" -#: gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:1034 msgid "Toolbar style" msgstr "工具列樣式" -#: gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:1035 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "決定預設的工具列只顯示文字,還是文字加圖示,或是只顯示圖示等等" -#: gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:1049 msgid "Toolbar Icon Size" msgstr "工具列圖示大小" -#: gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1050 msgid "The size of icons in default toolbars." msgstr "預設工具列的圖示尺寸。" -#: gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1067 msgid "Auto Mnemonics" msgstr "自動記憶符" -#: gtk/gtksettings.c:1016 +#: ../gtk/gtksettings.c:1068 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." msgstr "當按下記憶符啟動鍵時是否要自動顯示或隱藏記憶符。" -#: gtk/gtksettings.c:1041 +#: ../gtk/gtksettings.c:1093 msgid "Application prefers a dark theme" msgstr "應用程式偏好暗色主題" -#: gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1094 msgid "Whether the application prefers to have a dark theme." msgstr "應用程式是否偏好暗色系佈景主題。" -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksettings.c:1109 +msgid "Show button images" +msgstr "顯示按鈕圖示" + +#: ../gtk/gtksettings.c:1110 +msgid "Whether images should be shown on buttons" +msgstr "是否在按鈕中顯示圖片" + +#: ../gtk/gtksettings.c:1118 ../gtk/gtksettings.c:1212 +msgid "Select on focus" +msgstr "聚焦時選取" + +#: ../gtk/gtksettings.c:1119 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "當輸入元件取得焦點時,其內容是否呈現被選取狀態" + +#: ../gtk/gtksettings.c:1136 +msgid "Password Hint Timeout" +msgstr "密碼提示逾時時間" + +#: ../gtk/gtksettings.c:1137 +msgid "How long to show the last input character in hidden entries" +msgstr "等待多久才顯示隱藏項目中最後輸入的字符" + +#: ../gtk/gtksettings.c:1146 +msgid "Show menu images" +msgstr "顯示選單圖示" + +#: ../gtk/gtksettings.c:1147 +msgid "Whether images should be shown in menus" +msgstr "應否在選單項目中顯示圖示" + +#: ../gtk/gtksettings.c:1155 +msgid "Delay before drop down menus appear" +msgstr "下拉選單出現前的延遲時間" + +#: ../gtk/gtksettings.c:1156 +msgid "Delay before the submenus of a menu bar appear" +msgstr "選單列的子選單出現前的延遲時間" + +#: ../gtk/gtksettings.c:1173 +msgid "Scrolled Window Placement" +msgstr "捲動列視窗放置" + +#: ../gtk/gtksettings.c:1174 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "若沒有設定捲動列視窗自己的放置位置,捲動列視窗的內容要置於相應於捲動列哪個位置。" + +#: ../gtk/gtksettings.c:1183 +msgid "Can change accelerators" +msgstr "可更改捷徑鍵" + +#: ../gtk/gtksettings.c:1184 +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "是否可在選單項目上按鍵來更改快捷鍵" + +#: ../gtk/gtksettings.c:1192 +msgid "Delay before submenus appear" +msgstr "顯示子選單前的延遲時間" + +#: ../gtk/gtksettings.c:1193 +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "在選單項目上顯示子選單所需的游標停滯最小時間" + +#: ../gtk/gtksettings.c:1202 +msgid "Delay before hiding a submenu" +msgstr "隱藏子選單前的延遲時間" + +#: ../gtk/gtksettings.c:1203 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "游標移向子選單前子選單的顯示時間,超過則隱藏子選單" + +#: ../gtk/gtksettings.c:1213 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "當可選擇標籤取得焦點時,其內容是否呈現被選取狀態" + +#: ../gtk/gtksettings.c:1221 +msgid "Custom palette" +msgstr "自選色盤" + +#: ../gtk/gtksettings.c:1222 +msgid "Palette to use in the color selector" +msgstr "顏色選擇程序使用的色盤" + +#: ../gtk/gtksettings.c:1230 +msgid "IM Preedit style" +msgstr "輸入法 Preedit 樣式" + +#: ../gtk/gtksettings.c:1231 +msgid "How to draw the input method preedit string" +msgstr "如何顯示輸入法 preedit 字串" + +#: ../gtk/gtksettings.c:1240 +msgid "IM Status style" +msgstr "輸入法狀態的式樣" + +#: ../gtk/gtksettings.c:1241 +msgid "How to draw the input method statusbar" +msgstr "如何顯示輸入法的狀態列" + +#: ../gtk/gtksizegroup.c:350 msgid "Mode" msgstr "模式" -#: gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:351 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" msgstr "大小羣組影響元件所要求大小的方向" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:367 msgid "Ignore hidden" msgstr "忽略隱藏" -#: gtk/gtksizegroup.c:359 +#: ../gtk/gtksizegroup.c:368 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "如設為定為‘TRUE’,當決定羣組的大小時會忽略未對應的元件" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:238 msgid "Climb Rate" msgstr "數值調整速度" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:258 msgid "Snap to Ticks" msgstr "校正數值" -#: gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:259 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" msgstr "當微調按鈕內的數值不正確時,是否自動更換為最接近的正確數值" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:266 msgid "Numeric" msgstr "數字" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:267 msgid "Whether non-numeric characters should be ignored" msgstr "是否忽略非數字的字符" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:274 msgid "Wrap" msgstr "換行" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:275 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "當到達界限時微調按鈕是否換行" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:282 msgid "Update Policy" msgstr "更新方式" -#: gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:283 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "微調按鈕應該任何時候都更新,還是只有輸入的數值合法時才會更新" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:292 msgid "Reads the current value, or sets a new value" msgstr "讀取目前的數值,或是設定新的數值" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:301 msgid "Style of bevel around the spin button" msgstr "微調按鈕周圍的邊界樣式" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:132 msgid "Whether the spinner is active" msgstr "轉輪是否在使用中" -#: gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:146 msgid "Number of steps" msgstr "步數:" -#: gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:147 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" "duration)." -msgstr "" -"轉輪完成一次迴圈的步數。預設中動畫會一秒完成一次迴圈 (請查閱 #GtkSpinner:" -"cycle-duration)。" +msgstr "轉輪完成一次迴圈的步數。預設中動畫會一秒完成一次迴圈 (請查閱 #GtkSpinner:cycle-duration)。" -#: gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:162 msgid "Animation duration" msgstr "動畫持續時間" -#: gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:163 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "轉輪完成一次迴圈的時間長度(毫秒)" -#: gtk/gtkstatusbar.c:199 -msgid "Has Resize Grip" -msgstr "有大小調整標記" - -#: gtk/gtkstatusbar.c:200 -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "狀態列是否含有可以調整視窗大小的標記" - -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:181 msgid "Style of bevel around the statusbar text" msgstr "狀態列文字周圍的邊界樣式" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:270 msgid "The size of the icon" msgstr "圖示大小" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:280 msgid "The screen where this status icon will be displayed" msgstr "這個狀態圖示將顯示的螢幕" -#: gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:288 msgid "Whether the status icon is visible" msgstr "狀態圖示是否顯示" -#: gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:304 msgid "Whether the status icon is embedded" msgstr "狀態圖示是否為內嵌" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 msgid "The orientation of the tray" msgstr "系統匣的方向" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1087 msgid "Has tooltip" msgstr "具有工具提示" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:348 msgid "Whether this tray icon has a tooltip" msgstr "此系統匣圖示是否具有工具提示" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1108 msgid "Tooltip Text" msgstr "工具提示文字" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1109 ../gtk/gtkwidget.c:1130 msgid "The contents of the tooltip for this widget" msgstr "此視窗元件工具提示的內容" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1129 msgid "Tooltip markup" msgstr "工具提示標記" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:398 msgid "The contents of the tooltip for this tray icon" msgstr "此系統匣圖示工具提示的內容" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:416 msgid "The title of this tray icon" msgstr "此系統匣圖示的標題" -#: gtk/gtktable.c:148 +#: ../gtk/gtktable.c:157 msgid "Rows" -msgstr "行數" - -#: gtk/gtktable.c:149 -msgid "The number of rows in the table" -msgstr "表格的行數" - -#: gtk/gtktable.c:157 -msgid "Columns" msgstr "列數" -#: gtk/gtktable.c:158 -msgid "The number of columns in the table" +#: ../gtk/gtktable.c:158 +msgid "The number of rows in the table" msgstr "表格的列數" -#: gtk/gtktable.c:166 +#: ../gtk/gtktable.c:166 +msgid "Columns" +msgstr "行數" + +#: ../gtk/gtktable.c:167 +msgid "The number of columns in the table" +msgstr "表格的行數" + +#: ../gtk/gtktable.c:175 msgid "Row spacing" -msgstr "行距" - -#: gtk/gtktable.c:167 -msgid "The amount of space between two consecutive rows" -msgstr "兩行之間的距離" - -#: gtk/gtktable.c:175 -msgid "Column spacing" msgstr "列距" -#: gtk/gtktable.c:176 -msgid "The amount of space between two consecutive columns" +#: ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" msgstr "兩列之間的距離" -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "行距" + +#: ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "兩行之間的距離" + +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "如設為定為‘TRUE’,表示表格中所有儲存格尺寸都一樣" -#: gtk/gtktable.c:192 +#: ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "左側附加" -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "右側附加" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "附加子元件右側於其上的縱列格數" -#: gtk/gtktable.c:206 +#: ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "頂端附加" -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" -msgstr "附加子元件於其頂端的行數" +msgstr "附加子元件於其頂端的列數" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "底部附加" -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "水平選項" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "指定子元件水平行為的選項" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "垂直選項" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "指定子元件垂直行為的選項" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "水平留邊" -#: gtk/gtktable.c:235 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" msgstr "副元件與鄰接左右的元件之間的額外空位,以像素表示" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "垂直留邊" -#: gtk/gtktable.c:242 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" msgstr "副元件與鄰接上下的元件之間的額外空位,以像素表示" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:191 msgid "Tag Table" msgstr "標記表格" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:192 msgid "Text Tag Table" msgstr "文字標記表格" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:210 msgid "Current text of the buffer" msgstr "緩衝區目前的文字" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:224 msgid "Has selection" msgstr "具有選定的範圍" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:225 msgid "Whether the buffer has some text currently selected" msgstr "緩衝區目前是否有某些文字被選取" -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:241 msgid "Cursor position" msgstr "游標位置" -#: gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:242 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "插入標記的位置(從緩衝區開始的位移)" -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:257 msgid "Copy target list" msgstr "複製目標清單" -#: gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:258 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "這個緩衝區支援剪貼簿複製與拖放(DND)來源的目標清單" -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:273 msgid "Paste target list" msgstr "要貼上的目標清單" -#: gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:274 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" msgstr "這個緩衝區支援剪貼簿貼上與拖放(DND)目的端的目標清單" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 msgid "Mark name" msgstr "標記名稱" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "由右至左" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "此標記是否為由右至左" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:168 msgid "Tag name" msgstr "標記名稱" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:169 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "文字標記的代表名稱。NULL 為匿名標記" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:187 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "以 GdkColor 方式表達(可能仍未配置)的背景顏色" -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:194 msgid "Background full height" msgstr "背景填滿高度" -#: gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:195 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" msgstr "是否背景顏色填滿整行行高,或者僅止於那些被標記的字符的高度" -#: gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:211 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "以 GdkColor 方式表達 (可能仍未配置) 的前景顏色" -#: gtk/gtktexttag.c:218 +#: ../gtk/gtktexttag.c:218 msgid "Text direction" msgstr "文字方向" -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:219 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "文字方向,例如左至右或右至左" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:268 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "以 PangoStyle 方式表示的字型款式,例如 PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:277 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "以 PangoVariant 方式表示的字型變化,例如 PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:286 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" -msgstr "" -"以數字表示的字型粗幼度,請參考 PangoWeight 中預先定義的數值,例如 " -"PANGO_WEIGHT_BOLD" +msgstr "以數字表示的字型粗幼度,請參考 PangoWeight 中預先定義的數值,例如 PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:297 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "字型根據 PangoStrech 拉長, 例:PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:306 msgid "Font size in Pango units" msgstr "以 Pango 單位表示的字型大小" -#: gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:316 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " "such as PANGO_SCALE_X_LARGE" -msgstr "" -"字型大小作為縮放比例,相對於預設文字大小。本屬性隨佈景主題等設定而改變,故建" -"議使用。Pango預先定義了某些縮放比,例如 PANGO_SCALE_X_LARGE" +msgstr "字型大小作為縮放比例,相對於預設文字大小。本屬性隨佈景主題等設定而改變,故建議使用。Pango預先定義了某些縮放比,例如 PANGO_SCALE_X_LARGE" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:704 msgid "Left, right, or center justification" msgstr "靠左、靠右或是置中對齊" -#: gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:355 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." -msgstr "" -"該文字所用的語言,以 ISO 代碼表示。Pango 在描繪文字時會使用這個設定作為提示。" -"如果沒有指定,則會自動選擇最適當的值。" +msgstr "該文字所用的語言,以 ISO 代碼表示。Pango 在描繪文字時會使用這個設定作為提示。如果沒有指定,則會自動選擇最適當的值。" -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:362 msgid "Left margin" msgstr "左邊邊界" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:713 msgid "Width of the left margin in pixels" msgstr "左邊邊界的闊度,以像素數目表示" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:372 msgid "Right margin" msgstr "右邊邊界" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:723 msgid "Width of the right margin in pixels" msgstr "右邊邊界的闊度,以像素數目表示" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:732 msgid "Indent" msgstr "增加縮排" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:733 msgid "Amount to indent the paragraph, in pixels" msgstr "段落縮排的程度,以像素數目表示" -#: gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:395 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" msgstr "文字在基準線以上的距離(負數表示文字在基準線以下),以 Pango 單位表示" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:404 msgid "Pixels above lines" msgstr "段落頂端空間" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:657 msgid "Pixels of blank space above paragraphs" msgstr "段落頂端的空間的像素數目" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:414 msgid "Pixels below lines" msgstr "段落底部空間" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:667 msgid "Pixels of blank space below paragraphs" msgstr "段落底部的空間的像素數目" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:424 msgid "Pixels inside wrap" msgstr "換行時加上的像素" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:677 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "段落內部的行距的像素數目" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:695 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "選擇永遠不換行、字詞邊界換行或是字符邊界換行" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:742 msgid "Tabs" msgstr "分頁" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:743 msgid "Custom tabs for this text" msgstr "本文字的自選 tab" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:480 msgid "Invisible" msgstr "隱形" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:481 msgid "Whether this text is hidden." msgstr "本文字是否隱藏。" -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:495 msgid "Paragraph background color name" msgstr "段落背景顏色名稱" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:496 msgid "Paragraph background color as a string" msgstr "段落背景顏色(以字串表示)" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:511 msgid "Paragraph background color" msgstr "段落背景顏色" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:512 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "以段落背景顏色作為(可能仍未配置)GdkColor" -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:530 msgid "Margin Accumulates" msgstr "邊緣累計" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:531 msgid "Whether left and right margins accumulate." msgstr "左、右邊緣是否累計。" -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:544 msgid "Background full height set" msgstr "背景完整高度設定" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:545 msgid "Whether this tag affects background height" msgstr "此標記可否影響背景高度" -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:584 msgid "Justification set" msgstr "調整設定" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:585 msgid "Whether this tag affects paragraph justification" msgstr "此標記可否影響段落調整" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:592 msgid "Left margin set" msgstr "左邊界設定" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:593 msgid "Whether this tag affects the left margin" msgstr "此標記可否影響左邊界" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:596 msgid "Indent set" msgstr "縮排設定" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:597 msgid "Whether this tag affects indentation" msgstr "此標記可否影響縮排" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:604 msgid "Pixels above lines set" msgstr "段落頂端空間設定" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 msgid "Whether this tag affects the number of pixels above lines" msgstr "此標記可否影響段落頂端空間高度" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:608 msgid "Pixels below lines set" msgstr "段落底端空間設定" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:612 msgid "Pixels inside wrap set" msgstr "換行內部像素數設定" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:613 msgid "Whether this tag affects the number of pixels between wrapped lines" -msgstr "此標記可否影響換行段落內部行間的間距" +msgstr "此標記可否影響換行段落內部行間的距離" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:620 msgid "Right margin set" msgstr "右邊邊界設定" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:621 msgid "Whether this tag affects the right margin" msgstr "此標記可否影響右邊邊界" -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:628 msgid "Wrap mode set" msgstr "換行模式設定" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:629 msgid "Whether this tag affects line wrap mode" msgstr "本標籤可否影響換行模式" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:632 msgid "Tabs set" msgstr "Tab 設定" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:633 msgid "Whether this tag affects tabs" msgstr "標記可否影響 Tab" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:636 msgid "Invisible set" msgstr "隱藏設定" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:637 msgid "Whether this tag affects text visibility" msgstr "本標記是否影響文字可見度" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:640 msgid "Paragraph background set" msgstr "段落背景設定" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:641 msgid "Whether this tag affects the paragraph background color" msgstr "本標籤會否影響段落的背景顏色" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:656 msgid "Pixels Above Lines" msgstr "每行頂部加上的像素" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:666 msgid "Pixels Below Lines" msgstr "每行底部加上的像素" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:676 msgid "Pixels Inside Wrap" msgstr "段落內部行距" -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:694 msgid "Wrap Mode" msgstr "換行模式" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:712 msgid "Left Margin" msgstr "左邊邊界" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:722 msgid "Right Margin" msgstr "右邊邊界" -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:750 msgid "Cursor Visible" msgstr "顯示游標" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:751 msgid "If the insertion cursor is shown" msgstr "是否顯示游標" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:758 msgid "Buffer" msgstr "緩衝區" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:759 msgid "The buffer which is displayed" msgstr "用來顯示的緩衝區" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:767 msgid "Whether entered text overwrites existing contents" msgstr "是否輸入文字可以覆寫既有文字" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:774 msgid "Accepts tab" msgstr "接受Tab鍵" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:775 msgid "Whether Tab will result in a tab character being entered" msgstr "是否 Tab 鍵會導致 Tab字符輸入" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:810 msgid "Error underline color" msgstr "錯誤的底線顏色" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:811 msgid "Color with which to draw error-indication underlines" msgstr "繪畫游標使用的顏色" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "產生與單選指令一樣的代理" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" msgstr "是否該指令的代理看起來是單選指令代理" -#: gtk/gtktoggleaction.c:134 +#: ../gtk/gtktoggleaction.c:134 msgid "Whether the toggle action should be active" msgstr "該切換動作是否應該執行" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 +#: ../gtk/gtktogglebutton.c:123 ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" msgstr "該切換按鈕是否應該被按下" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:131 msgid "If the toggle button is in an \"in between\" state" msgstr "是否該開關按鈕處於『未定』狀態" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:138 msgid "Draw Indicator" msgstr "繪製指示標記" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:139 msgid "If the toggle part of the button is displayed" msgstr "是否顯示按鈕的開關部份" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 msgid "Toolbar Style" msgstr "工具列樣式" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:492 msgid "How to draw the toolbar" msgstr "如何繪製工具列" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:499 msgid "Show Arrow" msgstr "顯示箭頭" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:500 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "若工具列大小不符是否顯示箭頭" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:521 msgid "Size of icons in this toolbar" msgstr "此工具列的圖示大小" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 msgid "Icon size set" msgstr "圖示大小設定" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 msgid "Whether the icon-size property has been set" msgstr "圖示大小屬性是否已設定" -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:546 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "當工具列放大時其內項目應否隨之放大" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "工具項目的大小應否與其他同尺寸項目一致" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:561 msgid "Spacer size" msgstr "間隔大小" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:562 msgid "Size of spacers" msgstr "間隔的大小" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:571 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "工具列陰影與按鈕之間的邊緣空間" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:579 msgid "Maximum child expand" msgstr "最大子項目展開" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:580 msgid "Maximum amount of space an expandable item will be given" msgstr "給予可展開項目的最大空間" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:588 msgid "Space style" msgstr "間格樣式" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:589 msgid "Whether spacers are vertical lines or just blank" msgstr "是否間隔為垂直線,或是只是空白" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:596 msgid "Button relief" msgstr "按鈕斜邊" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:597 msgid "Type of bevel around toolbar buttons" msgstr "工具列按鈕邊緣的斜邊樣式" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:604 msgid "Style of bevel around the toolbar" msgstr "工具列邊緣的斜邊樣式" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:203 msgid "Text to show in the item." msgstr "項目內的文字。" -#: gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:210 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" -msgstr "" -"若設置,在 label 屬性中的文字中含有(_)字符的下一個字母將被用來當作超出邊界選" -"單的速記快捷鍵" +msgstr "若設置,在 label 屬性中的文字中含有(_)字符的下一個字母將被用來當作超出邊界選單的速記快捷鍵" -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:217 msgid "Widget to use as the item label" msgstr "當作項目文字標籤的替代視窗元件" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:223 msgid "Stock Id" msgstr "內置圖示代碼" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:224 msgid "The stock icon displayed on the item" msgstr "項目中所顯示的內置圖示" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:240 msgid "Icon name" msgstr "圖示名稱" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:241 msgid "The name of the themed icon displayed on the item" msgstr "在項目上顯示的佈景圖示的名稱" -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget" msgstr "圖示元件" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:248 msgid "Icon widget to display in the item" msgstr "準備在項目中顯示的圖示原現" -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:261 msgid "Icon spacing" msgstr "圖示間距" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:262 msgid "Spacing in pixels between the icon and label" msgstr "圖示與標籤間的間距(像素)" -#: gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" -msgstr "" -"是否工具列物件被視為重要的。若為 TRUE, 工具列按鈕以GTK_TOOLBAR_BOTH_HORIZ模式" -"顯示文字" +msgstr "是否工具列物件被視為重要的。若為 TRUE, 工具列按鈕以GTK_TOOLBAR_BOTH_HORIZ模式顯示文字" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 msgid "The human-readable title of this item group" msgstr "這個項目羣組的供人類閱讀標題" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 msgid "A widget to display in place of the usual label" msgstr "替代原本標籤的視窗元件" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "已收摺" -#: gtk/gtktoolitemgroup.c:1586 -#, fuzzy +#: ../gtk/gtktoolitemgroup.c:1603 msgid "Whether the group has been collapsed and items are hidden" -msgstr "是否要將羣組收摺起來,隱藏項目" +msgstr "是否要將羣組收摺起來並隱藏項目" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "ellipsize" msgstr "簡化文字" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "簡化項目羣組的標頭" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Header Relief" msgstr "標頭消除" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "Relief of the group header button" msgstr "消除羣組標頭按鈕" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 msgid "Header Spacing" msgstr "標頭間距" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 msgid "Spacing between expander arrow and caption" msgstr "展開器箭頭與說明之間的間距" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 msgid "Whether the item should receive extra space when the group grows" msgstr "當羣組增大時項目應否得到額外的空間" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 msgid "Whether the item should fill the available space" msgstr "項目是否應填滿所有可用的空間" -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "新增列" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 msgid "Whether the item should start a new row" msgstr "項目是否應新增一列" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 msgid "Position of the item within this group" msgstr "項目在這個羣組中的位置" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1031 msgid "Size of icons in this tool palette" msgstr "圖示在這個工具盤中的大小" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1061 msgid "Style of items in the tool palette" msgstr "項目在這個工具盤中的樣式" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1077 msgid "Exclusive" msgstr "除外的" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1078 msgid "Whether the item group should be the only expanded at a given time" msgstr "項目羣組是否只在指定時間展開" -#: gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1093 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "項目羣組是否在工具盤擴大時得到額外的空間" -#: gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color for symbolic icons" msgstr "符號圖示的前景顏色" -#: gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:141 msgid "Error color" msgstr "錯誤顏色" -#: gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color for symbolic icons" msgstr "符號圖示的錯誤顏色" -#: gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:149 msgid "Warning color" msgstr "警告顏色" -#: gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color for symbolic icons" msgstr "符號圖示的警告顏色" -#: gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:157 msgid "Success color" msgstr "成功顏色" -#: gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color for symbolic icons" msgstr "符號圖示的成功顏色" -#: gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:166 msgid "Padding that should be put around icons in the tray" msgstr "系統匣中的圖示周圍是否留空" -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:278 msgid "TreeModelSort Model" msgstr "TreeModelSort 模型" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:279 msgid "The model for the TreeModelSort to sort" msgstr "給 TreeModelSort 排序的模型" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:660 msgid "TreeView Model" msgstr "TreeView 模型" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:661 msgid "The model for the tree view" msgstr "樹狀顯示所使用的模型" -#: gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "元件的水平調整" - -#: gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "元件的垂直調整" - -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:673 msgid "Headers Visible" msgstr "顯示標頭" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:674 msgid "Show the column header buttons" msgstr "顯示欄位標頭按鈕" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:681 msgid "Headers Clickable" msgstr "可以按下標頭" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:682 msgid "Column headers respond to click events" msgstr "欄位標頭對滑鼠點擊有反應" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:689 msgid "Expander Column" msgstr "可擴展欄位" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:690 msgid "Set the column for the expander column" msgstr "設定此欄位為可擴展欄位" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:705 msgid "Rules Hint" msgstr "規則提示" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:706 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "提供佈景主題引擎提示以顯示交錯的行列底色" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:713 msgid "Enable Search" msgstr "啟動搜尋" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:714 msgid "View allows user to search through columns interactively" msgstr "該顯示允許使用者以互動方式搜尋所有欄位" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:721 msgid "Search Column" msgstr "搜尋欄位" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:722 msgid "Model column to search through during interactive search" msgstr "經由互動式搜尋來搜尋的模型欄位" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:742 msgid "Fixed Height Mode" msgstr "固定高度模式" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:743 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" -msgstr "設定每一行為等高以加速GtkTreeView" +msgstr "設定每一列為等高以加速 GtkTreeView" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:763 msgid "Hover Selection" msgstr "隨游標選取" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:764 msgid "Whether the selection should follow the pointer" msgstr "是否隨游標改變選取範圍" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:783 msgid "Hover Expand" msgstr "隨游標展開" -#: gtk/gtktreeview.c:698 +#: ../gtk/gtktreeview.c:784 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" -msgstr "當游標移到該行時是否展開/摺疊它" +msgstr "當游標移到該時是否展開/開始自由它" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:798 msgid "Show Expanders" msgstr "顯示展開器" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:799 msgid "View has expanders" msgstr "檢視含有展開器" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:813 msgid "Level Indentation" msgstr "等級識別" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:814 msgid "Extra indentation for each level" msgstr "每個層級的額外縮排" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:823 msgid "Rubber Banding" msgstr "彈性限制" -#: gtk/gtktreeview.c:738 +#: ../gtk/gtktreeview.c:824 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "是否啟用以鼠標同時選取多個項目" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:831 msgid "Enable Grid Lines" msgstr "啟用格線" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:832 msgid "Whether grid lines should be drawn in the tree view" msgstr "是否在樹狀檢視中繪出格線" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:840 msgid "Enable Tree Lines" msgstr "啟用樹狀線" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:841 msgid "Whether tree lines should be drawn in the tree view" msgstr "是否在樹狀檢視中繪出樹狀線" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:849 msgid "The column in the model containing the tooltip texts for the rows" msgstr "包含此列工具提示字串的模型欄位" -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:871 msgid "Vertical Separator Width" msgstr "垂直分隔元件闊度" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:872 msgid "Vertical space between cells. Must be an even number" msgstr "儲存格之間的垂直闊度。必須是偶數" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:880 msgid "Horizontal Separator Width" msgstr "水平分隔元件闊度" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:881 msgid "Horizontal space between cells. Must be an even number" msgstr "儲存格之間的水平闊度。必須是偶數" -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:889 msgid "Allow Rules" msgstr "允許分割線" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:890 msgid "Allow drawing of alternating color rows" msgstr "允許行與行繪製交錯底色" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:896 msgid "Indent Expanders" msgstr "縮排可開展欄位" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:897 msgid "Make the expanders indented" msgstr "令展開資料的箭頭縮排" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:903 msgid "Even Row Color" -msgstr "偶數行的顏色" +msgstr "偶數列的顏色" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:904 msgid "Color to use for even rows" -msgstr "在偶數的行中所使用的顏色" +msgstr "在偶數的列中所使用的顏色" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:910 msgid "Odd Row Color" -msgstr "奇數行的顏色" +msgstr "奇數排列頻率的顏色" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:911 msgid "Color to use for odd rows" -msgstr "在奇數的行中所使用的顏色" +msgstr "在奇數的列中所使用的顏色" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:917 msgid "Grid line width" msgstr "格線闊度" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:918 msgid "Width, in pixels, of the tree view grid lines" msgstr "樹狀檢視格線的闊度,以像素為單位" -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:924 msgid "Tree line width" msgstr "樹狀線闊度" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:925 msgid "Width, in pixels, of the tree view lines" msgstr "樹狀檢視示樹狀線的闊度,以像素為單位" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:931 msgid "Grid line pattern" msgstr "格線樣式" -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:932 msgid "Dash pattern used to draw the tree view grid lines" msgstr "用來繪製樹狀檢視格線的虛線樣式" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:938 msgid "Tree line pattern" msgstr "樹狀線樣式" -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:939 msgid "Dash pattern used to draw the tree view lines" msgstr "用來繪製樹狀檢視樹狀線的虛線樣式" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:214 msgid "Whether to display the column" msgstr "是否顯示該列資料" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:657 msgid "Resizable" msgstr "可調整尺寸" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:222 msgid "Column is user-resizable" msgstr "欄寬可以調整" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:230 msgid "Current width of the column" msgstr "目前的欄寬" -#: gtk/gtktreeviewcolumn.c:221 +#: ../gtk/gtktreeviewcolumn.c:239 msgid "Space which is inserted between cells" msgstr "插入格位之間的間隔" -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:247 msgid "Sizing" msgstr "調整大小" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:248 msgid "Resize mode of the column" msgstr "欄位的調整模式" -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:256 msgid "Fixed Width" msgstr "固定闊度" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:257 msgid "Current fixed width of the column" msgstr "目前的固定欄寬" -#: gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:266 msgid "Minimum Width" msgstr "最小闊度" -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Minimum allowed width of the column" msgstr "可接受的最小欄寬" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Maximum Width" msgstr "最大闊度" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Maximum allowed width of the column" msgstr "可接受的最大欄寬" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Title to appear in column header" msgstr "欄位標題中所顯示的文字" -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Column gets share of extra width allocated to the widget" msgstr "欄位取得分享給所屬元件增加的闊度" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:302 msgid "Clickable" msgstr "可按下" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:303 msgid "Whether the header can be clicked" msgstr "可否按下欄位標頭" -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:311 msgid "Widget" msgstr "元件" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:312 msgid "Widget to put in column header button instead of column title" msgstr "在欄位標頭中,以指定元件代替標題文字" -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:320 msgid "X Alignment of the column header text or widget" msgstr "欄位標頭文字或元件的水平對齊" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:330 msgid "Whether the column can be reordered around the headers" msgstr "是否該欄位可以在標頭下重新排序" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:337 msgid "Sort indicator" msgstr "排序指示標記" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:338 msgid "Whether to show a sort indicator" msgstr "是否顯示排序指示標記" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:345 msgid "Sort order" msgstr "排列次序" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:346 msgid "Sort direction the sort indicator should indicate" msgstr "排序指示器應顯示的排序方向" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:362 msgid "Sort column ID" msgstr "排序欄 ID" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:363 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "當選擇排序時這個欄位用來排序的邏輯排序欄位 ID" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:225 msgid "Whether tearoff menu items should be added to menus" msgstr "是否在選單上加上可卸下標記的選單項目" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:232 msgid "Merged UI definition" msgstr "整合的 UI 定義" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:233 msgid "An XML string describing the merged UI" msgstr "描述整合 UI 的特定 XML 字串" -#: gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" - -#: gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" - -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "決定視埠元件周圍的陰影方塊要如何繪製" -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkwidget.c:938 msgid "Widget name" msgstr "元件名稱" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:939 msgid "The name of the widget" msgstr "元件的名稱" -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:945 msgid "Parent widget" msgstr "母元件" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:946 msgid "The parent widget of this widget. Must be a Container widget" msgstr "該元件的母元件,必須是容器元件" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:953 msgid "Width request" msgstr "指定闊度" -#: gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:954 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" msgstr "自行指定元件的闊度,使用 -1 則表示使用預設闊度" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:962 msgid "Height request" msgstr "指定高度" -#: gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:963 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" msgstr "自行指定元件的高度,使用 -1 則表示使用預設高度" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:972 msgid "Whether the widget is visible" msgstr "該元件是否可見" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:979 msgid "Whether the widget responds to input" msgstr "元件是否對輸入有反應" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:985 msgid "Application paintable" msgstr "應用程式可繪製" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:986 msgid "Whether the application will paint directly on the widget" msgstr "應用程式可以繪製" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:992 msgid "Can focus" msgstr "可接受焦點" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:993 msgid "Whether the widget can accept the input focus" msgstr "元件可否接受輸入焦點" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:999 msgid "Has focus" msgstr "獲得焦點" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:1000 msgid "Whether the widget has the input focus" msgstr "元件是否在輸入焦點內" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:1006 msgid "Is focus" msgstr "作為焦點" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:1007 msgid "Whether the widget is the focus widget within the toplevel" msgstr "是否該元件在頂端為自動取得焦點的元件" -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:1013 msgid "Can default" msgstr "可成為預設元件" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:1014 msgid "Whether the widget can be the default widget" msgstr "該元件可否成為預設的視窗元件" -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:1020 msgid "Has default" msgstr "是預設元件" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:1021 msgid "Whether the widget is the default widget" msgstr "該元件是否預設的視窗元件" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:1027 msgid "Receives default" msgstr "接受預設設置" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:1028 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "如設為定為‘TRUE’,該元件接受預設設置命令當成為焦點時" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:1034 msgid "Composite child" msgstr "屬於組合元件" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:1035 msgid "Whether the widget is part of a composite widget" msgstr "該元件是否組合元件的一部分" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:1041 msgid "Style" msgstr "樣式" -#: gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:1042 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "元件的樣式,包括與外觀有關的資訊(例如色彩)。" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1048 msgid "Events" msgstr "事件" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1049 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "決定此元件會接受何種 GdkEvent 的事件遮罩" -#: gtk/gtkwidget.c:832 +#: ../gtk/gtkwidget.c:1056 msgid "Extension events" msgstr "延伸事件" -#: gtk/gtkwidget.c:833 +#: ../gtk/gtkwidget.c:1057 msgid "The mask that decides what kind of extension events this widget gets" msgstr "決定元件接受何種延伸事件的事件遮罩" -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1064 msgid "No show all" msgstr "不全部顯示" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1065 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "是否 gtk_widget_show_all() 呼叫影響本元件" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1088 msgid "Whether this widget has a tooltip" msgstr "此視窗元件是否具有工具提示" -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1144 msgid "Window" msgstr "視窗" -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1145 msgid "The widget's window if it is realized" msgstr "調整大小後的視窗元件視窗" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1159 msgid "Double Buffered" msgstr "雙重緩衝" -#: gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:1160 msgid "Whether the widget is double buffered" msgstr "此視窗元件是否使用雙重緩衝" -#: gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1175 msgid "How to position in extra horizontal space" -msgstr "" +msgstr "在額外的水平空間中如何定位" -#: gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1191 msgid "How to position in extra vertical space" -msgstr "" +msgstr "在額外的垂直空間中如何定位" -#: gtk/gtkwidget.c:986 -#, fuzzy +#: ../gtk/gtkwidget.c:1210 msgid "Margin on Left" -msgstr "邊界" +msgstr "左側邊界" -#: gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1211 msgid "Pixels of extra space on the left side" -msgstr "" +msgstr "左側額外空間的像素" -#: gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1231 msgid "Margin on Right" -msgstr "" +msgstr "右側邊界" -#: gtk/gtkwidget.c:1008 -#, fuzzy +#: ../gtk/gtkwidget.c:1232 msgid "Pixels of extra space on the right side" -msgstr "段落頂端的空間的像素數目" +msgstr "右側額外空間的像素" -#: gtk/gtkwidget.c:1028 -#, fuzzy +#: ../gtk/gtkwidget.c:1252 msgid "Margin on Top" -msgstr "邊界" +msgstr "頂端邊界" -#: gtk/gtkwidget.c:1029 -#, fuzzy +#: ../gtk/gtkwidget.c:1253 msgid "Pixels of extra space on the top side" -msgstr "段落頂端的空間的像素數目" +msgstr "頂端額外空間的像素" -#: gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1273 msgid "Margin on Bottom" -msgstr "" +msgstr "底部邊界" -#: gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1274 msgid "Pixels of extra space on the bottom side" -msgstr "" +msgstr "底部額外空間的像素" -#: gtk/gtkwidget.c:1067 -#, fuzzy +#: ../gtk/gtkwidget.c:1291 msgid "All Margins" -msgstr "邊界" +msgstr "所有邊界" -#: gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1292 msgid "Pixels of extra space on all four sides" -msgstr "" +msgstr "四個邊界額外空間的像素" -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1325 +msgid "Horizontal Expand" +msgstr "水平擴展" + +#: ../gtk/gtkwidget.c:1326 +msgid "Whether widget wants more horizontal space" +msgstr "視窗元件是否要有更多水平空間" + +#: ../gtk/gtkwidget.c:1340 +msgid "Horizontal Expand Set" +msgstr "水平擴展設定" + +#: ../gtk/gtkwidget.c:1341 +msgid "Whether to use the hexpand property" +msgstr "是否使用 hexpand 屬性" + +#: ../gtk/gtkwidget.c:1355 +msgid "Vertical Expand" +msgstr "垂直擴展" + +#: ../gtk/gtkwidget.c:1356 +msgid "Whether widget wants more vertical space" +msgstr "視窗元件是否要有更多垂直空間" + +#: ../gtk/gtkwidget.c:1370 +msgid "Vertical Expand Set" +msgstr "垂直擴展設定" + +#: ../gtk/gtkwidget.c:1371 +msgid "Whether to use the vexpand property" +msgstr "是否使用 vexpand 屬性" + +#: ../gtk/gtkwidget.c:1385 +msgid "Expand Both" +msgstr "擴展兩者" + +#: ../gtk/gtkwidget.c:1386 +msgid "Whether widget wants to expand in both directions" +msgstr "視窗元件是否在兩個方向都擴展" + +#: ../gtk/gtkwidget.c:3044 msgid "Interior Focus" msgstr "在內部顯示焦點" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:3045 msgid "Whether to draw the focus indicator inside widgets" msgstr "是否在視窗元件內部顯示焦點線" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:3051 msgid "Focus linewidth" msgstr "焦點線闊度" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3052 msgid "Width, in pixels, of the focus indicator line" msgstr "輸入焦點指示線的闊度,以像素為單位" -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3058 msgid "Focus line dash pattern" msgstr "焦點線虛線樣式" -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3059 msgid "Dash pattern used to draw the focus indicator" msgstr "顯示輸入焦點指示線時使用的虛線樣式" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3064 msgid "Focus padding" msgstr "焦點指示線留邊" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3065 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "輸入焦點指示線及視窗元件邊界之間的闊度,以像素為單位" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3070 msgid "Cursor color" msgstr "游標顏色" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3071 msgid "Color with which to draw insertion cursor" msgstr "繪畫游標使用的顏色" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3076 msgid "Secondary cursor color" msgstr "第二游標顏色" -#: gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:3077 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" msgstr "當編輯混合右至左及左至右的文字時,繪畫第二個插入游標所使用的顏色。" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3082 msgid "Cursor line aspect ratio" msgstr "游標長寬比" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3083 msgid "Aspect ratio with which to draw insertion cursor" msgstr "繪畫游標時使用的長寬比例" -#: gtk/gtkwidget.c:2786 +#: ../gtk/gtkwidget.c:3089 msgid "Window dragging" msgstr "視窗拖拉" -#: gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3090 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "視窗是否可以在空白區域處點選來拖拉它" -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3103 msgid "Unvisited Link Color" msgstr "未參訪連結色彩" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3104 msgid "Color of unvisited links" msgstr "尚未參訪連結的色彩" -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3117 msgid "Visited Link Color" msgstr "已瀏覽連結顏色" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3118 msgid "Color of visited links" msgstr "已經瀏覽連結的色彩" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3132 msgid "Wide Separators" msgstr "寬分隔線" -#: gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:3133 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" msgstr "分隔線是否有可設定的闊度以及是否使用方塊繪製" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3147 msgid "Separator Width" msgstr "分隔線闊度" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3148 msgid "The width of separators if wide-separators is TRUE" msgstr "如果寬分隔線為 TRUE 時的分隔線闊度" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3162 msgid "Separator Height" msgstr "分隔線高度" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3163 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "如果「寬分隔線」為 TRUE 時的分隔線高度" -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3177 msgid "Horizontal Scroll Arrow Length" msgstr "水平捲動列箭頭長度" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3178 msgid "The length of horizontal scroll arrows" msgstr "水平捲動列箭頭的長度" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3192 msgid "Vertical Scroll Arrow Length" msgstr "垂直捲動列箭頭長度" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3193 msgid "The length of vertical scroll arrows" msgstr "垂直捲動列箭頭的長度" -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:615 msgid "Window Type" msgstr "視窗類型" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:616 msgid "The type of the window" msgstr "視窗的類型" -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:624 msgid "Window Title" msgstr "視窗標題" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:625 msgid "The title of the window" msgstr "視窗的標題" -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:632 msgid "Window Role" msgstr "視窗角色" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:633 msgid "Unique identifier for the window to be used when restoring a session" msgstr "當重置程序階段時視窗的專一的識別證明" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:649 msgid "Startup ID" msgstr "啟動 ID" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:650 msgid "Unique startup identifier for the window used by startup-notification" msgstr "用於啓動通知的視窗獨有的啟動識別證明" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:658 msgid "If TRUE, users can resize the window" msgstr "如設為定為‘TRUE’,使用者可以調整視窗的尺寸" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:665 msgid "Modal" msgstr "強制回應" -#: gtk/gtkwindow.c:618 +#: ../gtk/gtkwindow.c:666 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" -msgstr "" -"如設為定為‘TRUE’,表示該視窗是強制回應的(當顯示該視窗時其它視窗對任何輸入都" -"不會有反應)" +msgstr "如設為定為‘TRUE’,表示該視窗是強制回應的(當顯示該視窗時其它視窗對任何輸入都不會有反應)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:673 msgid "Window Position" msgstr "視窗位置" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:674 msgid "The initial position of the window" msgstr "視窗的起始位置" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:682 msgid "Default Width" msgstr "預設闊度" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:683 msgid "The default width of the window, used when initially showing the window" msgstr "預設的視窗闊度,在初次顯示視窗時使用" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:692 msgid "Default Height" msgstr "預設高度" -#: gtk/gtkwindow.c:645 +#: ../gtk/gtkwindow.c:693 msgid "" "The default height of the window, used when initially showing the window" msgstr "預設的視窗高度,在初次顯示視窗時使用" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:702 msgid "Destroy with Parent" msgstr "隨主視窗關閉" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:703 msgid "If this window should be destroyed when the parent is destroyed" msgstr "當關閉主視窗時是否連本視窗也一起關閉" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:711 msgid "Icon for this window" msgstr "本視窗所用的圖示" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:717 msgid "Mnemonics Visible" msgstr "記憶符可視性" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:718 msgid "Whether mnemonics are currently visible in this window" msgstr "記憶符目前在這個視窗中是否可以看得到" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:734 msgid "Name of the themed icon for this window" msgstr "本視窗所用的主題圖示名稱" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:749 msgid "Is Active" msgstr "使用中" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:750 msgid "Whether the toplevel is the current active window" msgstr "是否頂端為目前活動的視窗" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:757 msgid "Focus in Toplevel" msgstr "焦點為頂端" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:758 msgid "Whether the input focus is within this GtkWindow" msgstr "輸入焦點是否在該 GtkWindow 之內" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:765 msgid "Type hint" msgstr "類型提示" -#: gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:766 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." msgstr "為桌面環境提供提示,指定它是哪一種視窗及如何處理該種視窗。" -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:774 msgid "Skip taskbar" msgstr "忽略工作列" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:775 msgid "TRUE if the window should not be in the task bar." msgstr "如果不想在桌面工作列內顯示該視窗的資訊則設定為 TRUE。" -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:782 msgid "Skip pager" msgstr "忽略小型畫面管理程式" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:783 msgid "TRUE if the window should not be in the pager." msgstr "如果視窗不應該在小型畫面管理程式中出現則設定為 TRUE。" -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:790 msgid "Urgent" msgstr "緊急" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:791 msgid "TRUE if the window should be brought to the user's attention." msgstr "如果視窗應當吸引使用者的注意,則設為‘TRUE’" -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:805 msgid "Accept focus" msgstr "接受聚焦" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:806 msgid "TRUE if the window should receive the input focus." msgstr "如果視窗應該接受輸入聚焦則設定為 TRUE。" -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:820 msgid "Focus on map" msgstr "點選時聚焦" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:821 msgid "TRUE if the window should receive the input focus when mapped." msgstr "如果視窗應該接受輸入聚焦則設定為 TRUE。" -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:835 msgid "Decorated" msgstr "有裝飾" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:836 msgid "Whether the window should be decorated by the window manager" msgstr "是否視窗管理員要在視窗四周加上裝飾" -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:850 msgid "Deletable" msgstr "可刪除" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:851 msgid "Whether the window frame should have a close button" msgstr "視窗框架是否加上關閉按鈕" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:870 +#, fuzzy +msgid "Resize grip" +msgstr "有大小調整標記" + +#: ../gtk/gtkwindow.c:871 +#, fuzzy +msgid "Specifies whether the window should have a resize grip" +msgstr "視窗框架是否加上關閉按鈕" + +#: ../gtk/gtkwindow.c:885 +msgid "Resize grip is visible" +msgstr "" + +#: ../gtk/gtkwindow.c:886 +#, fuzzy +msgid "Specifies whether the window's resize grip is visible." +msgstr "該指令集是否為可見。" + +#: ../gtk/gtkwindow.c:902 msgid "Gravity" msgstr "定位" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:903 msgid "The window gravity of the window" msgstr "視窗的視窗定位" -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:920 msgid "Transient for Window" msgstr "臨時視窗" -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:921 msgid "The transient parent of the dialog" msgstr "對話盒的臨時父項" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:936 msgid "Opacity for Window" msgstr "視窗的透明度" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:937 msgid "The opacity of the window, from 0 to 1" msgstr "視窗的透明度,從 0 到 1" -#: modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "輸入法 Preedit 樣式" +#: ../gtk/gtkwindow.c:947 ../gtk/gtkwindow.c:948 +msgid "Width of resize grip" +msgstr "" -#: modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "如何顯示輸入法 preedit 字串" +#: ../gtk/gtkwindow.c:953 ../gtk/gtkwindow.c:954 +#, fuzzy +msgid "Height of resize grip" +msgstr "有大小調整標記" -#: modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "輸入法狀態的式樣" +#: ../gtk/gtkwindow.c:973 +msgid "GtkApplication" +msgstr "GtkApplication" -#: modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "如何顯示輸入法的狀態列" +#: ../gtk/gtkwindow.c:974 +msgid "The GtkApplication for the window" +msgstr "視窗的 GtkApplication" + +#~ msgid "Horizontal adjustment" +#~ msgstr "水平調整" + +#~ msgid "Vertical adjustment" +#~ msgstr "垂直調整" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "元件的水平調整" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "元件的垂直調整" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" + +#~ msgid "Whether the statusbar has a grip for resizing the toplevel" +#~ msgstr "狀態列是否含有可以調整視窗大小的標記" #~ msgid "Has separator" #~ msgstr "有分隔線" @@ -7159,7 +7261,7 @@ msgstr "如何顯示輸入法的狀態列" #~ msgstr "該 pixbuf 的列數(columns)" #~ msgid "The number of rows of the pixbuf" -#~ msgstr "該 pixbuf 的行數" +#~ msgstr "該 pixbuf 的列數" #~ msgid "Rowstride" #~ msgstr "行距" @@ -7167,7 +7269,7 @@ msgstr "如何顯示輸入法的狀態列" #~ msgid "" #~ "The number of bytes between the start of a row and the start of the next " #~ "row" -#~ msgstr "從一行開始到下一行開始之間的位元組數目" +#~ msgstr "從一列開始到下一列開始之間的位元組數目" #~ msgid "Pixels" #~ msgstr "像素" diff --git a/po-properties/zh_TW.po b/po-properties/zh_TW.po index 7e874227bc..d2c68116a8 100644 --- a/po-properties/zh_TW.po +++ b/po-properties/zh_TW.po @@ -1,244 +1,234 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. +# Chao-Hsiung Liao , 2010. +# Wei-Lun Chao , 2010. # msgid "" msgstr "" -"Project-Id-Version: gtk+ 2.90.7\n" +"Project-Id-Version: gtk+ 2.91.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-08-19 10:54+0800\n" +"POT-Creation-Date: 2010-11-10 19:35+0800\n" +"PO-Revision-Date: 2010-11-10 19:24+0800\n" "Last-Translator: Chao-Hsiung Liao \n" "Language-Team: \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Poedit-Bookmarks: -1,-1,-1,477,-1,-1,-1,-1,-1,-1\n" -#: gdk/gdkdevice.c:97 -#, fuzzy +#: ../gdk/gdkdevice.c:99 msgid "Device Display" -msgstr "預設顯示區" +msgstr "裝置顯示" -#: gdk/gdkdevice.c:98 -#, fuzzy +#: ../gdk/gdkdevice.c:100 msgid "Display which the device belongs to" -msgstr "會顯示該格位敏感度" +msgstr "這個裝置所屬的顯示" -#: gdk/gdkdevice.c:112 -#, fuzzy +#: ../gdk/gdkdevice.c:114 msgid "Device manager" -msgstr "最近使用項目管理程式" +msgstr "裝置管理程式" -#: gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:115 msgid "Device manager which the device belongs to" -msgstr "" +msgstr "這個裝置所屬的裝置管理程式" -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -#, fuzzy +#: ../gdk/gdkdevice.c:129 ../gdk/gdkdevice.c:130 msgid "Device name" -msgstr "元件名稱" +msgstr "裝置名稱" -#: gdk/gdkdevice.c:142 -#, fuzzy +#: ../gdk/gdkdevice.c:144 msgid "Device type" -msgstr "曲線類型" +msgstr "裝置類型" -#: gdk/gdkdevice.c:143 +#: ../gdk/gdkdevice.c:145 msgid "Device role in the device manager" -msgstr "" +msgstr "在裝置管理程式中的裝置角色" -#: gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:161 msgid "Associated device" -msgstr "" +msgstr "關聯的裝置" -#: gdk/gdkdevice.c:160 +#: ../gdk/gdkdevice.c:162 msgid "Associated pointer or keyboard with this device" -msgstr "" +msgstr "這個裝置關聯的指標或鍵盤" -#: gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:175 msgid "Input source" -msgstr "" +msgstr "輸入來源" -#: gdk/gdkdevice.c:174 -#, fuzzy +#: ../gdk/gdkdevice.c:176 msgid "Source type for the device" -msgstr "樹狀顯示所使用的模型" +msgstr "裝置的來源類型" -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -#, fuzzy +#: ../gdk/gdkdevice.c:191 ../gdk/gdkdevice.c:192 msgid "Input mode for the device" -msgstr "樹狀顯示所使用的模型" +msgstr "裝置的輸入模式" -#: gdk/gdkdevice.c:205 -#, fuzzy +#: ../gdk/gdkdevice.c:207 msgid "Whether the device has a cursor" -msgstr "元件是否在輸入焦點內" +msgstr "裝置是否有游標" -#: gdk/gdkdevice.c:206 +#: ../gdk/gdkdevice.c:208 msgid "Whether there is a visible cursor following device motion" -msgstr "" +msgstr "是否有可視的指標追蹤裝置的移動" -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -#, fuzzy +#: ../gdk/gdkdevice.c:222 ../gdk/gdkdevice.c:223 msgid "Number of axes in the device" -msgstr "文件中的頁數。" +msgstr "裝置中的軸數" -#: gdk/gdkdevicemanager.c:134 -#, fuzzy +#: ../gdk/gdkdevicemanager.c:136 msgid "Display" -msgstr "預設顯示區" +msgstr "顯示" -#: gdk/gdkdevicemanager.c:135 -#, fuzzy +#: ../gdk/gdkdevicemanager.c:137 msgid "Display for the device manager" -msgstr "會顯示該格位" +msgstr "裝置管理的顯示" -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:101 msgid "Default Display" msgstr "預設顯示區" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:102 msgid "The default display for GDK" msgstr "GDK 的預設顯示區" -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:74 msgid "Font options" msgstr "字型選項" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:75 msgid "The default font options for the screen" msgstr "螢幕字型的預設選項" -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:82 msgid "Font resolution" msgstr "字型解像度" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:83 msgid "The resolution for fonts on the screen" msgstr "螢幕上字型的解像度" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:410 ../gdk/gdkwindow.c:411 msgid "Cursor" msgstr "游標" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:112 msgid "Device ID" -msgstr "" +msgstr "裝置 ID" -#: gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:113 msgid "Device identifier" -msgstr "" +msgstr "裝置識別符" -#: gdk/x11/gdkdevicemanager-xi.c:84 -#, fuzzy +#: ../gdk/x11/gdkdevicemanager-xi.c:85 msgid "Event base" -msgstr "事件" +msgstr "事件基礎" -#: gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:86 msgid "Event base for XInput events" -msgstr "" +msgstr "XInput 事件的事件基礎" -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:269 msgid "Program name" msgstr "程式名稱" -#: gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:270 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" msgstr "程式名稱,如果沒有設定則取 g_get_application_name() 的回傳值。" -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:284 msgid "Program version" msgstr "程式版本" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:285 msgid "The version of the program" msgstr "程式的版本" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:299 msgid "Copyright string" msgstr "版權資訊" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:300 msgid "Copyright information for the program" msgstr "該程式的版權資訊" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:317 msgid "Comments string" msgstr "程式說明" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:318 msgid "Comments about the program" msgstr "有關該程式的說明" -#: gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:368 msgid "License Type" msgstr "授權類型" -#: gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:369 msgid "The license type of the program" msgstr "本程式的授權類型" -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:385 msgid "Website URL" msgstr "網站 URL" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:386 msgid "The URL for the link to the website of the program" msgstr "代表該程式的網站的 URL 連結" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:401 msgid "Website label" msgstr "網站標籤" -#: gtk/gtkaboutdialog.c:402 +#: ../gtk/gtkaboutdialog.c:402 msgid "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" msgstr "代表該網站的文字標籤。如果沒有設定,則預設使用網站的 URL" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:418 msgid "Authors" msgstr "作者" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:419 msgid "List of authors of the program" msgstr "程式作者清單" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:435 msgid "Documenters" msgstr "文件編寫員" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:436 msgid "List of people documenting the program" msgstr "為程式編寫文件的人員名單" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:452 msgid "Artists" msgstr "美工人員" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:453 msgid "List of people who have contributed artwork to the program" msgstr "為程式製作美工繪圖" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:470 msgid "Translator credits" msgstr "鳴謝翻譯者" -#: gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:471 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "翻譯者的相關訊息。本字串應該被標記為可翻譯的字串" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:486 msgid "Logo" msgstr "標誌" -#: gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:487 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -246,135 +236,136 @@ msgstr "" "「關於」對話盒中的標誌,如果沒有設定則預設使用 " "gtk_window_get_default_icon_list() 的回傳值。" -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:502 msgid "Logo Icon Name" msgstr "標誌圖示名稱" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:503 msgid "A named icon to use as the logo for the about box." msgstr "用在「關於」方塊標誌的具名圖示。" -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:516 msgid "Wrap license" msgstr "授權條款換行" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:517 msgid "Whether to wrap the license text." msgstr "授權條款是否換行。" -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:189 msgid "Accelerator Closure" msgstr "捷徑鍵封裝" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:190 msgid "The closure to be monitored for accelerator changes" msgstr "監視捷徑鍵變化的封裝" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:196 msgid "Accelerator Widget" msgstr "捷徑鍵視窗元件" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:197 msgid "The widget to be monitored for accelerator changes" msgstr "監視該視窗元件的捷徑鍵變化" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 msgid "Name" msgstr "名稱" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "這個指令的特定名稱。" -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:238 ../gtk/gtkexpander.c:209 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "標籤" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." msgstr "啟動此指令的選單項目與按鈕所使用的標籤。" -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:258 msgid "Short label" msgstr "短標籤" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "可以在工具列按鈕上使用的的袖珍標籤。" -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:267 msgid "Tooltip" msgstr "工具提示" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "本指令的工具提示。" -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "內建圖示" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "在視窗元件中代表此動作的內建圖示" -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "準備顯示的 GIcon" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:733 msgid "Icon Name" msgstr "圖示名稱" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "圖示主題的圖示名稱" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "水平顯示時為可見" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." msgstr "當工具列呈水平顯示時工具列項目是否可見。" -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "overflow 時為可見" -#: gtk/gtkaction.c:350 +#: ../gtk/gtkaction.c:350 msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." msgstr "當為 TRUE 時,此指令的工具選項代理會被顯示在工具列 overflow 選單。" -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "垂直顯示時為可見" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." msgstr "當工具列呈垂直顯示時工具列項目是否為可見。" -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "重要的" -#: gtk/gtkaction.c:366 +#: ../gtk/gtkaction.c:366 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." @@ -382,152 +373,153 @@ msgstr "" "是否該指令被視為重要指令。當設為 TRUE 時,代理此指令的工具列項目會依" "GTK_TOOLBAR_BOTH_HORIZ 模式顯示對應文字。" -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "空置時隱藏" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "當為 TRUE 時,代理此指令的空選單會被隱藏。" -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:978 msgid "Sensitive" msgstr "有反應" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "本指令是否有效。" -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 +#: ../gtk/gtkwidget.c:971 msgid "Visible" msgstr "可見的" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "本指令是否為可見。" -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:395 msgid "Action Group" msgstr "指令集" -#: gtk/gtkaction.c:396 +#: ../gtk/gtkaction.c:396 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." msgstr "本 GtkAction 相關的 GtkActionGroup,或為 NULL (用作內部使用)。" -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 msgid "Always show image" msgstr "永遠顯示圖片" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 msgid "Whether the image will always be shown" msgstr "是否永遠顯示圖片" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "該指令集的名稱" -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "該指令集是否有效。" -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "該指令集是否為可見。" -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:290 msgid "Related Action" msgstr "相關的動作" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:291 msgid "The action this activatable will activate and receive updates from" msgstr "這個可使用項目會使用並接收更新的動作" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:313 msgid "Use Action Appearance" msgstr "使用動作外觀" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:314 msgid "Whether to use the related actions appearance properties" msgstr "是否使用相關動作外觀屬性" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:291 msgid "Value" msgstr "數值" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:115 msgid "The value of the adjustment" msgstr "調整元件的設定值" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:131 msgid "Minimum Value" msgstr "最小值" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:132 msgid "The minimum value of the adjustment" msgstr "調整元件的最小值" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:151 msgid "Maximum Value" msgstr "最大值" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:152 msgid "The maximum value of the adjustment" msgstr "調整元件的最小值" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:168 msgid "Step Increment" msgstr "逐步增加" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:169 msgid "The step increment of the adjustment" msgstr "調整元件的逐步增加值" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:185 msgid "Page Increment" msgstr "逐頁增加" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:186 msgid "The page increment of the adjustment" msgstr "調整元件的逐步增加值" -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:205 msgid "Page Size" msgstr "分頁大小" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:206 msgid "The page size of the adjustment" msgstr "調整元件的分頁大小" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:127 msgid "Horizontal alignment" msgstr "水平對齊設定" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:289 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" msgstr "子元件在提供的空間裡的水平對齊方式。0.0 表示靠左對齊,1.0 表示靠右對齊" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:137 msgid "Vertical alignment" msgstr "垂直對齊設定" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:308 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" msgstr "子元件在提供的空間裡的垂直對齊方式。0.0 表示靠頂對齊,1.0 表示靠底對齊" -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:146 msgid "Horizontal scale" msgstr "水平縮放比率" -#: gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:147 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -535,11 +527,11 @@ msgstr "" "指定當提供的水平空間大於子元件所需的空間時,子元件會使用多少剩餘的空間。0.0 " "表示不使用,1.0 表示使用全部" -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:155 msgid "Vertical scale" msgstr "垂直縮放比率" -#: gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:156 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -547,188 +539,187 @@ msgstr "" "指定當提供的垂直空間大於副元件所需的空間時,副元件會使用多少剩餘的空間。0.0 " "表示不使用,1.0 表示全部使用" -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:173 msgid "Top Padding" msgstr "頂部留空" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:174 msgid "The padding to insert at the top of the widget." msgstr "在視窗元件頂部置入的留空大小。" -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:190 msgid "Bottom Padding" msgstr "底部留空" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:191 msgid "The padding to insert at the bottom of the widget." msgstr "在視窗元件底部置入的留空大小。" -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:207 msgid "Left Padding" msgstr "左側留空" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:208 msgid "The padding to insert at the left of the widget." msgstr "在視窗元件左側置入的留空大小。" -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:224 msgid "Right Padding" msgstr "右側留空" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:225 msgid "The padding to insert at the right of the widget." msgstr "在視窗元件右側置入的留空大小。" -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "箭頭方向" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "箭頭所指的方向" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "箭頭陰影" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "箭頭周圍出現的陰影" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:731 ../gtk/gtkmenuitem.c:394 msgid "Arrow Scaling" msgstr "箭頭縮放" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "箭頭所佔空間大小" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1174 msgid "Horizontal Alignment" msgstr "水平對齊位置" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "子元件的水平對齊位置" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1190 msgid "Vertical Alignment" msgstr "垂直對齊位置" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "子元件的垂直對齊位置" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "比率" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "obey_child 為 FALSE 時的長寬比" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "配合子元件" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "強迫設定長寬比符合該框架裡的子元件的設定" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "頁首留空" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "頁首周圍保留的像素數。" -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "內容留空" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "內容周圍保留的像素數。" -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "頁面類型" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "助理頁面的類型" -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "頁面標題" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "助理頁面的標題" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "頁首圖片" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "助理頁面的頁首圖片" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "側邊欄圖片" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "助理頁面的側邊欄圖片" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "頁面完成" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "在此頁面中所有要求的欄位是否已填好" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "子元件寬度下限" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "在按鈕方塊內按鈕的寬度下限" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "子元件高度下限" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "在按鈕方塊內按鈕的高度下限" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "子元件內部留空寬度" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "副元件左右兩邊增加的尺寸" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "副元件內部高度留邊" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "子元件頂部及底部欲增加的尺寸" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "呈現樣式" -#: gtk/gtkbbox.c:172 -#, fuzzy +#: ../gtk/gtkbbox.c:189 msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" @@ -736,48 +727,48 @@ msgstr "" "如何呈現方塊中的按鈕。可使用的值為「spread」(分散)、「edge」(邊緣)、「start」" "(開頭) 及「end」(結尾)" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "次要的" -#: gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" msgstr "如設為定為‘TRUE’,子元件將出現於次要的子元件群組中,適用於:求助按鈕" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:238 msgid "Spacing" msgstr "間距" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "子元件之間的間距" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "尺寸一致" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "子元件的大小應否全部相同" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:294 msgid "Expand" msgstr "擴張" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "當母元件擴展開來時子元件應否同時隨之擴張" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:285 ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "填滿" -#: gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:286 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" @@ -785,783 +776,808 @@ msgstr "" "當分配了額外的空間給子元件時,該空間應增加於子元件內部的尺寸,還是作為元件外" "部留空使用" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:293 ../gtk/gtktrayicon-x11.c:165 msgid "Padding" msgstr "留空" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:294 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "加入額外的空位隔開子元件及周圍的元件,以像素為單位" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:300 msgid "Pack type" msgstr "排列方式" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 +#: ../gtk/gtkbox.c:301 ../gtk/gtknotebook.c:793 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" msgstr "" "GtkPackType 意指子元件的排列方式是從主元件的開始位置,還是從結束位置進行排列" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:307 ../gtk/gtknotebook.c:764 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkruler.c:163 ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "位置" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:308 ../gtk/gtknotebook.c:765 msgid "The index of the child in the parent" msgstr "子元件在母元件中的索引編號" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "翻譯網域" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "gettext 使用的翻譯網域" -#: gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:239 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "如果按鈕中有標籤元件,指定該標籤元件中的文字" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:246 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "使用底線" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:247 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" msgstr "如果設定,文字的底線表示其後的字元應該當成捷徑鍵" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:254 ../gtk/gtkimagemenuitem.c:163 msgid "Use stock" msgstr "使用內建" -#: gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:255 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "若設置,該標籤內容用來指定內建圖示而不會被顯示" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:262 ../gtk/gtkcombobox.c:861 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "點選時聚焦" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:263 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "當該按鈕被滑鼠點選時是否自動取得焦點" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:270 msgid "Border relief" msgstr "邊緣樣式" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:271 msgid "The border relief style" msgstr "邊緣的樣式" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:288 msgid "Horizontal alignment for child" msgstr "子元件水平對齊" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:307 msgid "Vertical alignment for child" msgstr "子元件垂直對齊位置" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:324 ../gtk/gtkimagemenuitem.c:148 msgid "Image widget" msgstr "圖片元件" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:325 msgid "Child widget to appear next to the button text" msgstr "按鈕文字旁邊顯示的子元件" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:339 msgid "Image position" msgstr "圖片位置" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:340 msgid "The position of the image relative to the text" msgstr "圖片相對於文字的位置" -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:460 msgid "Default Spacing" msgstr "預設間隔" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:461 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "加給 GTK_CAN_DEFAULT 的額外空間" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:475 msgid "Default Outside Spacing" msgstr "預設外部間隔" -#: gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:476 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" msgstr "加給 GTK_CAN_DEFAULT 按鈕邊緣外部的額外空間" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:481 msgid "Child X Displacement" msgstr "子元件的水平偏移距離" -#: gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:482 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "當按鈕按下時期子元件應偏移多遠的水平距離" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:489 msgid "Child Y Displacement" msgstr "子元件的垂直偏移距離" -#: gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:490 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "當按鈕按下時期子元件應偏移多遠的垂直距離" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:506 msgid "Displace focus" msgstr "焦點偏移" -#: gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:507 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" msgstr "child_displacement_x/_y 屬性是否也影響焦點方塊" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:520 ../gtk/gtkentry.c:745 ../gtk/gtkentry.c:1790 msgid "Inner Border" msgstr "內部框線" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:521 msgid "Border between button edges and child." msgstr "在按鈕邊緣與子項之間的框線。" -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:534 msgid "Image spacing" msgstr "圖片間距" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:535 msgid "Spacing in pixels between the image and label" msgstr "圖片與文字標籤的之間的距離(像素)" -#: gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "顯示按鈕圖示" - -#: gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "是否在按鈕中顯示圖片" - -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:475 msgid "Year" msgstr "年" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:476 msgid "The selected year" msgstr "選取的年份" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:489 msgid "Month" msgstr "月" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:490 msgid "The selected month (as a number between 0 and 11)" msgstr "選取的月份(為 0 - 11 之間的數字)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:504 msgid "Day" msgstr "天" -#: gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:505 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" msgstr "選取的日期(為 1 - 31 之間的數字,或為 0 表示解除選取目前選取的日期)" -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:519 msgid "Show Heading" msgstr "顯示標頭" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:520 msgid "If TRUE, a heading is displayed" msgstr "如設為定為‘TRUE’,則顯示月份及年份標頭" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:534 msgid "Show Day Names" msgstr "顯示星期" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:535 msgid "If TRUE, day names are displayed" msgstr "如設為定為‘TRUE’,星期名會被顯示" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:548 msgid "No Month Change" msgstr "不變更月份" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:549 msgid "If TRUE, the selected month cannot be changed" msgstr "如設為定為‘TRUE’,選定的月份無法更改" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:563 msgid "Show Week Numbers" msgstr "顯示週數" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:564 msgid "If TRUE, week numbers are displayed" msgstr "如設為定為‘TRUE’,週次會被顯示" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:579 msgid "Details Width" msgstr "詳細資訊寬度" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:580 msgid "Details width in characters" msgstr "詳細資訊寬度(以字元計)" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:595 msgid "Details Height" msgstr "詳細資訊高度" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:596 msgid "Details height in rows" msgstr "列的詳細資訊高度" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:612 msgid "Show Details" msgstr "顯示詳細資料" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:613 msgid "If TRUE, details are shown" msgstr "如設為定為‘TRUE’,會顯示詳細資訊" -#: gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:625 msgid "Inner border" msgstr "內部框線" -#: gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:626 msgid "Inner border space" msgstr "內部框線間距" -#: gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:637 msgid "Vertical separation" msgstr "垂直分隔" -#: gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:638 msgid "Space between day headers and main area" msgstr "日標題與主要區域之間的間距" -#: gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:649 msgid "Horizontal separation" msgstr "水平分隔" -#: gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:650 msgid "Space between week headers and main area" msgstr "週標題與主要區域之間的間距" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "編輯已取消" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:54 msgid "Indicates that editing has been canceled" msgstr "表示編輯動作已被取消" -#: gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "Accelerator key" msgstr "捷徑鍵" -#: gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:139 msgid "The keyval of the accelerator" msgstr "捷徑鍵的鍵值" -#: gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "Accelerator modifiers" msgstr "捷徑鍵的特殊按鍵(例如 Alt、Ctrl)" -#: gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:156 msgid "The modifier mask of the accelerator" msgstr "捷徑鍵的修飾字遮罩" -#: gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "Accelerator keycode" msgstr "捷徑鍵碼" -#: gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:174 msgid "The hardware keycode of the accelerator" msgstr "捷徑鍵的硬體按鍵碼" -#: gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "Accelerator Mode" msgstr "捷徑鍵模式" -#: gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:194 msgid "The type of accelerators" msgstr "捷徑鍵類型" -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:266 msgid "mode" msgstr "模式" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:267 msgid "Editable mode of the CellRenderer" msgstr "CellRenderer 的編輯模式" -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:275 msgid "visible" msgstr "可視的" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:276 msgid "Display the cell" msgstr "會顯示該格位" -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:283 msgid "Display the cell sensitive" msgstr "會顯示該格位敏感度" -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:290 msgid "xalign" msgstr "水平" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:291 msgid "The x-align" msgstr "水平對齊" -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:300 msgid "yalign" msgstr "垂直" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:301 msgid "The y-align" msgstr "垂直對齊" -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:310 msgid "xpad" msgstr "水平留空" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:311 msgid "The xpad" msgstr "水平留空" -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:320 msgid "ypad" msgstr "垂直留空" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:321 msgid "The ypad" msgstr "垂直留空" -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:330 msgid "width" msgstr "寬度" -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:331 msgid "The fixed width" msgstr "固定的寬度" -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:340 msgid "height" msgstr "高度" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:341 msgid "The fixed height" msgstr "固定的高度" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:350 msgid "Is Expander" msgstr "為母格位" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:351 msgid "Row has children" msgstr "此列含有子格位" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:359 msgid "Is Expanded" msgstr "已開展" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:360 msgid "Row is an expander row, and is expanded" msgstr "此列為母格位,並且已展開" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:367 msgid "Cell background color name" msgstr "格位背景顏色名" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:368 msgid "Cell background color as a string" msgstr "格位背景顏色字串" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:375 msgid "Cell background color" msgstr "格位背景顏色" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:376 msgid "Cell background color as a GdkColor" msgstr "格位背景顏色(GdkColor 格式)" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:389 +msgid "Cell background RGBA color" +msgstr "格位背景 RGBA 顏色" + +#: ../gtk/gtkcellrenderer.c:390 +msgid "Cell background color as a GdkRGBA" +msgstr "格位背景顏色(GdkRGBA 格式)" + +#: ../gtk/gtkcellrenderer.c:397 msgid "Editing" msgstr "正在編輯" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:398 msgid "Whether the cell renderer is currently in editing mode" msgstr "格位顯示區目前是否為編輯中模式" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:406 msgid "Cell background set" msgstr "格位背景設定" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:407 msgid "Whether this tag affects the cell background color" msgstr "本標記可以變動該格位的背景顏色" -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "模型" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "該組合方塊的模型(包含可能的數值)" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "文字格位" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "從資料來源模型取得字串資料的欄位" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:928 msgid "Has Entry" msgstr "具有欄位" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "如果為 FALSE,將不允許輸入選定字串以外的字" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "Pixbuf 物件" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "準備描繪的 pixbuf。" -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "Pixbuf 開展器開啟" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "用來開啟開展器的 Pixbuf" -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "Pixbuf 開展器關閉" -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "用來關閉開展器的 Pixbuf" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 +#: ../gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "內建圖示代碼" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "準備顯示的內建圖示的代碼" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 msgid "Size" msgstr "大小" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "指定所要描繪的圖示尺寸 (GtkIconSize)" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "細節" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "要傳送給佈景主題引擎的描繪細節" -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "跟隨狀態" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "rendered pixbuf 是否跟隨狀狀著色" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:710 msgid "Icon" msgstr "圖示" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "進度列中所顯示的數值" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:247 +#: ../gtk/gtkentry.c:788 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 msgid "Text" msgstr "文字" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "進度列中所顯示的文字" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 msgid "Pulse" msgstr "脈衝" -#: gtk/gtkcellrendererprogress.c:169 +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." msgstr "將此項設為正值以表示已有某些進度,但您不知道實際有多少。" -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "文字水平對齊方式" -#: gtk/gtkcellrendererprogress.c:186 +#: ../gtk/gtkcellrendererprogress.c:186 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." msgstr "文字水平方向對齊,從 0 (左)到 1 (右)。相反即為右至左 (RTL) 排列。" -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "文字垂直對齊方式" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "文字垂直對齊方式,從 0(頂)到 1(底)。" -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:440 msgid "Inverted" msgstr "反轉的" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 #, fuzzy msgid "Invert the direction in which the progress bar grows" msgstr "進度列的排列方向及表示進度增加的方向" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:432 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:230 msgid "Adjustment" msgstr "調整" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:231 msgid "The adjustment that holds the value of the spin button" msgstr "含有微調按鈕數值的調整元件" -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "數值調整速率" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:239 msgid "The acceleration rate when you hold down a button" msgstr "按下按鈕時數值調整的加速度" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:249 +#: ../gtk/gtkspinbutton.c:248 msgid "Digits" msgstr "位數" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:249 msgid "The number of decimal places to display" msgstr "顯示的小數點後位數" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 +#: ../gtk/gtkmenu.c:521 ../gtk/gtkspinner.c:131 ../gtk/gtktoggleaction.c:133 +#: ../gtk/gtktogglebutton.c:122 ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "使用中" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:120 msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "在格位中的轉輪是否在使用中(例如正在顯示)" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:140 msgid "Pulse of the spinner" msgstr "轉輪的脈動" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:154 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "指定所要描繪的轉輪尺寸 (GtkIconSize) 數值" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:248 msgid "Text to render" msgstr "準備描繪的文字" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:255 msgid "Markup" msgstr "標記" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Marked up text to render" msgstr "欲描繪的標記文字" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "屬性" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:264 msgid "A list of style attributes to apply to the text of the renderer" msgstr "可使用在輸出區(renderer)文字上的樣式屬性清單" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:271 msgid "Single Paragraph Mode" msgstr "單一段落模式" -#: gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:272 msgid "Whether to keep all text in a single paragraph" msgstr "是否將所有文字保持為單一段落" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtkcellview.c:192 +#: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "背景顏色名稱" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtkcellview.c:193 +#: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "背景顏色(以字串表示)" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:199 +#: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "背景顏色" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "背景顏色(以 GdkColor 表示)" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:303 +msgid "Background color as RGBA" +msgstr "以 RGBA 表示的背景顏色" + +#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtkcellview.c:214 +msgid "Background color as a GdkRGBA" +msgstr "以 GdkRGBA 表示的背景顏色" + +#: ../gtk/gtkcellrenderertext.c:310 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "前景顏色名稱" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "以字串方式表達的前景顏色" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:210 +#: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "前景顏色" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:319 msgid "Foreground color as a GdkColor" msgstr "以 GdkColor 方式表達的前景顏色" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:333 +msgid "Foreground color as RGBA" +msgstr "以 RGBA 表示的前景顏色" + +#: ../gtk/gtkcellrenderertext.c:334 +msgid "Foreground color as a GdkRGBA" +msgstr "以 GdkColor 方式表示的前景顏色" + +#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtkentry.c:712 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:686 msgid "Editable" msgstr "可編輯" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:343 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:687 msgid "Whether the text can be modified by the user" msgstr "使用者可否修改文字" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkcellrenderertext.c:358 +#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "字型" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "以字串方式表達的字型,例如“Sans Italic 12”" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "以 PangoFontDescription 結構表示的字型" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "字型族系" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:368 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "字型族系名稱,例如:Sans、Helvetica、Times、Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtkcellrenderertext.c:376 +#: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "字型樣式" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:384 ../gtk/gtkcellrenderertext.c:385 +#: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "字型變化" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:393 ../gtk/gtkcellrenderertext.c:394 +#: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "字型粗細" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:403 ../gtk/gtkcellrenderertext.c:404 +#: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "字型寬緊" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:412 ../gtk/gtkcellrenderertext.c:413 +#: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "字型大小" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:422 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "字型點數" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:423 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "以點數表達的字型大小" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "字型比例" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:433 msgid "Font scaling factor" msgstr "字型縮放係數" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:442 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "升高" -#: gtk/gtkcellrenderertext.c:398 +#: ../gtk/gtkcellrenderertext.c:443 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "文字和底部基準線的距離 (如果升高的數值為負數,則表示低於基準線)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:454 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "刪除線" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:455 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "是否在文字中央加上刪除線" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "底線" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "此文字的底線樣式" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "語言" -#: gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:472 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1570,693 +1586,733 @@ msgstr "" "該文字所用的語言,以 ISO 代碼表示。Pango 在描繪文字時會使用這個設定作為提示。" "如果您不明白這個參數的意義,即是表示不需要使用它了。" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "簡化文字" -#: gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:493 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" msgstr "" "如果儲存格位顯示區沒有足夠的空間顯示整個字串時,用來簡化該字串的偏好空間" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "按鈕寬度" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "要求的標籤寬度,以字元計" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "最大寬度(以字元計)" -#: gtk/gtkcellrenderertext.c:493 -#, fuzzy +#: ../gtk/gtkcellrenderertext.c:538 msgid "The maximum width of the cell, in characters" -msgstr "標籤所需的最大寬度,以字元計" +msgstr "格位所需的最大寬度,以字元計" -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:556 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "換行模式" -#: gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:557 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" msgstr "若格位顯示區沒有足夠的空間顯示整行字串時,如何將字串斷成多行" -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:576 ../gtk/gtkcombobox.c:750 msgid "Wrap width" msgstr "換行寬度" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:577 msgid "The width at which the text is wrapped" msgstr "文字在那個長度後斷行" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktreeviewcolumn.c:319 msgid "Alignment" msgstr "對齊" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:598 msgid "How to align the lines" -msgstr "如何對齊行" +msgstr "如何對齊各行" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtkcellview.c:236 +#: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "背景設定" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:611 ../gtk/gtkcellview.c:237 +#: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "本標記可否影響背景顏色" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "前景設定" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:615 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "本標記可否影響前景顏色" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "可編輯性設定" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "本標記可否影響文字的可編輯性" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "字型族系設定" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "此標籤是否影響字型族系" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "字型樣式設定" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "此標籤是否影響字型樣式" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "字型變化設定" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "此標籤是否影響字型變化" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "字型粗細設定" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "此標籤是否影響字型粗細" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "字型寬緊設定" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "此標籤是否影響字型寬緊" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "字型大小設定" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "此標籤是否影響字型大小" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "字型縮放設定" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "本標記可否縮放字型" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "升高文字設定" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "此標籤是否影響文字升高的情況" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "刪除線設定" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "此標籤是否影響刪除線的設定" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "底線設定" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "此標籤是否影響底線的設定" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "語言設定" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "本標記可否影響文字要被描繪依據的語言設定" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:666 msgid "Ellipsize set" msgstr "簡化文字設定" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:667 msgid "Whether this tag affects the ellipsize mode" msgstr "本標記可否影響文字簡化的模式" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:670 msgid "Align set" msgstr "對齊設定" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:671 msgid "Whether this tag affects the alignment mode" msgstr "本標記可否影響對齊的模式" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "切換狀態" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "按鈕的切換狀態" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "不相同狀態" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "按鈕的不相同狀態" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "可啟用" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "該切換按鈕是可啟用的" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "選項狀態" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "將切換按鈕繪製成單選按鈕" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "指標大小" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:77 +#: ../gtk/gtkcheckmenuitem.c:129 msgid "Size of check or radio indicator" msgstr "選取或單選按鈕指示圖的大小" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:213 +msgid "Background RGBA color" +msgstr "背景 RGBA 顏色" + +#: ../gtk/gtkcellview.c:228 msgid "CellView model" msgstr "儲存格檢視模型" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:229 msgid "The model for cell view" msgstr "儲存格檢視的模型" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:76 ../gtk/gtkcheckmenuitem.c:128 msgid "Indicator Size" msgstr "指示圖大小" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:84 ../gtk/gtkexpander.c:267 msgid "Indicator Spacing" msgstr "指示圖間隔" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:85 msgid "Spacing around check or radio indicator" msgstr "選取或單選按鈕指示圖周圍的空間" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:106 msgid "Whether the menu item is checked" msgstr "選單項目是否被選取" -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:130 msgid "Inconsistent" msgstr "不一致" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:114 msgid "Whether to display an \"inconsistent\" state" msgstr "是否顯示 『不一致』狀態" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:121 msgid "Draw as radio menu item" msgstr "繪製成單選項選單項目" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Whether the menu item looks like a radio menu item" msgstr "是否該選單項目應開起來像單選項選單項目" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:171 msgid "Use alpha" msgstr "使用透明度" -#: gtk/gtkcolorbutton.c:160 +#: ../gtk/gtkcolorbutton.c:172 msgid "Whether to give the color an alpha value" msgstr "是否讓顏色包含有透明度的值" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:286 msgid "Title" msgstr "標題" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:187 msgid "The title of the color selection dialog" msgstr "顏色選擇對話盒的標題" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:339 msgid "Current Color" msgstr "目前的顏色" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:202 msgid "The selected color" msgstr "選取的顏色" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:346 msgid "Current Alpha" msgstr "目前的透明度" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:217 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "目前的透明度(0 為完全透明,65535 為完全不透明)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:231 +msgid "Current RGBA Color" +msgstr "目前的 RGBA 顏色" + +#: ../gtk/gtkcolorbutton.c:232 +msgid "The selected RGBA color" +msgstr "選取的 RGBA 顏色" + +#: ../gtk/gtkcolorsel.c:325 msgid "Has Opacity Control" msgstr "可控制透明度" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:326 msgid "Whether the color selector should allow setting opacity" msgstr "設定顏色選擇程序是否允許設定透明度" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:332 msgid "Has palette" msgstr "有色盤" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:333 msgid "Whether a palette should be used" msgstr "應否使用色盤" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:340 msgid "The current color" msgstr "目前的顏色" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:347 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "目前的透明度(0 為完全透明,65535 為完全不透明)" -#: gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "自訂色盤" +#: ../gtk/gtkcolorsel.c:361 +msgid "Current RGBA" +msgstr "目前的 RGBA" -#: gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "顏色選擇程序使用的色盤" +#: ../gtk/gtkcolorsel.c:362 +msgid "The current RGBA color" +msgstr "目前的 RGBA 顏色" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "顏色選擇" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "內嵌在對話盒的色彩選取區。" -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "確定按鈕" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "對話盒的確定按鈕。" -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "取消按鈕" -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "對話盒的取消按鈕。" -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "求助按鈕" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "對話盒的求助按鈕。" -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombobox.c:733 msgid "ComboBox model" msgstr "組合方塊模型" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:734 msgid "The model for the combo box" msgstr "該組合方塊的模型" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:751 msgid "Wrap width for laying out the items in a grid" msgstr "將項目於方格中排列所設定的換行寬度" -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:773 msgid "Row span column" msgstr "水平合併格位" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:774 msgid "TreeModel column containing the row span values" msgstr "包含有合併水平格數資料的 TreeModel 格位" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:795 msgid "Column span column" msgstr "垂直合併格位" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:796 msgid "TreeModel column containing the column span values" msgstr "包含有合併垂直格數資料的 TreeModel 格位" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:817 msgid "Active item" msgstr "啟用項目" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:818 msgid "The item which is currently active" msgstr "目前有效的項目" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:837 ../gtk/gtkuimanager.c:224 msgid "Add tearoffs to menus" msgstr "在選單上加上可卸下標記" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:838 msgid "Whether dropdowns should have a tearoff menu item" msgstr "下拉選單是否應有分離選單項目" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:853 ../gtk/gtkentry.c:737 msgid "Has Frame" msgstr "有框架" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:854 msgid "Whether the combo box draws a frame around the child" msgstr "組合方塊是否在子元件周圍繪出框架" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:862 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "當該組合方塊被滑鼠點選時是否自動取得焦點" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:877 ../gtk/gtkmenu.c:576 msgid "Tearoff Title" msgstr "卸下標題" -#: gtk/gtkcombobox.c:828 +#: ../gtk/gtkcombobox.c:878 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "當此選單卸下之後視窗管理員指定的視窗標題" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:895 msgid "Popup shown" msgstr "彈出式顯示" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:896 msgid "Whether the combo's dropdown is shown" msgstr "是否顯示組合式項目的下拉選單" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:912 msgid "Button Sensitivity" msgstr "按鈕敏感度" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:913 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "當模型內容是空的時是否讓下拉按鈕有作用" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:929 +msgid "Whether combo box has an entry" +msgstr "組合方塊是否有項目" + +#: ../gtk/gtkcombobox.c:944 +msgid "Entry Text Column" +msgstr "項目文字欄位" + +#: ../gtk/gtkcombobox.c:945 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" +"如果組合方塊是以 #GtkComboBox:has-entry = %TRUE 建立,在組合方塊模型的欄位要" +"關聯的項目字串" + +#: ../gtk/gtkcombobox.c:962 +msgid "Popup Fixed Width" +msgstr "彈出式視窗固定寬度" + +#: ../gtk/gtkcombobox.c:963 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "彈出式視窗的寬度是否固定為符合原本組合方塊的寬度" + +#: ../gtk/gtkcombobox.c:971 msgid "Appears as list" msgstr "以清單顯示" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:972 msgid "Whether dropdowns should look like lists rather than menus" msgstr "組合方塊下拉選單是否應該顯示作清單樣而非選單樣" -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:988 msgid "Arrow Size" msgstr "箭頭大小" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:989 msgid "The minimum size of the arrow in the combo box" msgstr "組合方塊中箭頭的最小尺寸" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:1004 ../gtk/gtkentry.c:837 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "陰影類型" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:1005 msgid "Which kind of shadow to draw around the combo box" msgstr "組合方塊周圍要繪出何種類型的陰影" -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:472 msgid "Resize mode" msgstr "調整尺寸模式" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:473 msgid "Specify how resize events are handled" msgstr "指定如何處理調整尺寸的要求" -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:480 msgid "Border width" msgstr "邊框寬度" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:481 msgid "The width of the empty border outside the containers children" msgstr "容器子元件外部空白邊緣的寬度" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:489 msgid "Child" msgstr "子元件" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:490 msgid "Can be used to add a new child to the container" msgstr "可用來加入新的子元件於容器元件中" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:430 msgid "Content area border" msgstr "內容區域邊框" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:166 msgid "Width of border around the main dialog area" msgstr "主對話窗區域的邊框寬度" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:447 msgid "Content area spacing" msgstr "內容區域間距" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:184 msgid "Spacing between elements of the main dialog area" msgstr "主要對話盒區域的元件間的間距" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:463 msgid "Button spacing" msgstr "按鈕間隔" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:464 msgid "Spacing between buttons" msgstr "按鈕之間的間隔" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:479 msgid "Action area border" msgstr "動作區域邊緣" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:201 msgid "Width of border around the button area at the bottom of the dialog" msgstr "對話盒按鈕下方按鈕區域的邊緣寬度" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:684 msgid "Text Buffer" msgstr "文字緩衝區" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:685 msgid "Text buffer object which actually stores entry text" msgstr "實際儲存項目文字的文字緩衝區物件" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:692 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "游標位置" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:693 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "游標目前的位置,以字元計。" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:702 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "選取邊界" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:703 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "所選取的部份中,游標到另一端位置的距離(字元為單位)" -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:713 msgid "Whether the entry contents can be edited" msgstr "可否編輯欄位的內容" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:720 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "最大長度" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:721 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "輸入欄中字元數目的上限。0 為沒有上限" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:729 msgid "Visibility" msgstr "可見狀態" -#: gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:730 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" msgstr "FALSE 表示顯示「隱形字元」而非實際文字(密碼模式)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:738 msgid "FALSE removes outside bevel from entry" msgstr "FALSE 可將外部裝飾" -#: gtk/gtkentry.c:697 +#: ../gtk/gtkentry.c:746 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "文字與框架之間的框線。此數值會蓋過內部框線樣式屬性" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:753 ../gtk/gtkentry.c:1319 msgid "Invisible character" msgstr "隱形字元" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:754 ../gtk/gtkentry.c:1320 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "用來遮蓋輸入內容的字元(在「密碼模式」裡)" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:761 msgid "Activates default" msgstr "啟動預設元件" -#: gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:762 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" msgstr "當按下 Enter 鍵時,是否啟動預設視窗元件(例如對話盒的按鈕)" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:768 msgid "Width in chars" msgstr "寬度(以字元計算)" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:769 msgid "Number of characters to leave space for in the entry" msgstr "輸入元件中預留的空白長度(單位為字元)" -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:778 msgid "Scroll offset" msgstr "捲動偏移" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:779 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "輸入元件相對於螢幕向左捲動偏移的程度(單位為像素)" -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:789 msgid "The contents of the entry" msgstr "輸入的內容" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:804 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "水平排列" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:805 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." msgstr "水平方向對齊,0 為左,1 為右。相反即為右至左 (RTL) 排列。" -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:821 msgid "Truncate multiline" msgstr "截短多行" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:822 msgid "Whether to truncate multiline pastes to one line." -msgstr "可否將多行貼上截短為一行。" +msgstr "可否將多列貼上截短為一列。" -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:838 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "當設定 has-frame 時要在項目周圍繪出何種類型的陰影" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:853 ../gtk/gtktextview.c:766 msgid "Overwrite mode" msgstr "覆寫模式" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:854 msgid "Whether new text overwrites existing text" msgstr "新的文字是否可以覆寫既有文字" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:868 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "文字寬度" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:869 msgid "Length of the text currently in the entry" msgstr "目前在項目中文字的長度" -#: gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:884 msgid "Invisible character set" msgstr "隱形字元設定" -#: gtk/gtkentry.c:836 +#: ../gtk/gtkentry.c:885 msgid "Whether the invisible character has been set" msgstr "隱形字元是否已設定" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:903 msgid "Caps Lock warning" msgstr "Caps Lock 警告" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:904 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "密碼欄位是否在 Caps Lock 開啟時顯示警告" -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:918 msgid "Progress Fraction" msgstr "進度列完成度" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:919 msgid "The current fraction of the task that's been completed" msgstr "工作目前已完成的程度" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:936 msgid "Progress Pulse Step" msgstr "進度列指示步進" -#: gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:937 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2264,1722 +2320,1645 @@ msgstr "" "當每次呼叫 gtk_entry_progress_pulse() 後,進度區塊應移動的比例(以進度列全長" "為基準)" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:953 msgid "Primary pixbuf" msgstr "主要 pixbuf" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:954 msgid "Primary pixbuf for the entry" msgstr "用於此項目的主要 pixbuf" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:968 msgid "Secondary pixbuf" msgstr "次要 pixbuf" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:969 msgid "Secondary pixbuf for the entry" msgstr "用於此項目的次要 pixbuf" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:983 msgid "Primary stock ID" msgstr "主要圖庫 ID" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:984 msgid "Stock ID for primary icon" msgstr "主要圖示的圖庫 ID" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:998 msgid "Secondary stock ID" msgstr "次要圖庫 ID" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:999 msgid "Stock ID for secondary icon" msgstr "次要圖示的圖庫 ID" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1013 msgid "Primary icon name" msgstr "主要圖示名稱" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1014 msgid "Icon name for primary icon" msgstr "主要圖示的名稱" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1028 msgid "Secondary icon name" msgstr "次要圖示名稱" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1029 msgid "Icon name for secondary icon" msgstr "次要圖示的名稱" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1043 msgid "Primary GIcon" msgstr "主要 GIcon" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1044 msgid "GIcon for primary icon" msgstr "主要圖示的 GIcon" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1058 msgid "Secondary GIcon" msgstr "次要 GIcon" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1059 msgid "GIcon for secondary icon" msgstr "次要圖示的 GIcon" -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1073 msgid "Primary storage type" msgstr "主要儲存區類型" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1074 msgid "The representation being used for primary icon" msgstr "用於主要圖示的代表" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1089 msgid "Secondary storage type" msgstr "次要儲存區類型" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1090 msgid "The representation being used for secondary icon" msgstr "用於次要圖示的代表" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1111 msgid "Primary icon activatable" msgstr "主要圖示可用性" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1112 msgid "Whether the primary icon is activatable" msgstr "主要圖示是否在使用中" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1132 msgid "Secondary icon activatable" msgstr "次要圖示可用性" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1133 msgid "Whether the secondary icon is activatable" msgstr "次要圖示是否在使用中" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1155 msgid "Primary icon sensitive" msgstr "主要圖示反應" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1156 msgid "Whether the primary icon is sensitive" msgstr "主要圖示是否有反應" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1177 msgid "Secondary icon sensitive" msgstr "次要圖示反應" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1178 msgid "Whether the secondary icon is sensitive" msgstr "次要圖示是否有反應" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1194 msgid "Primary icon tooltip text" msgstr "主要圖示工具提示文字" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1195 ../gtk/gtkentry.c:1231 msgid "The contents of the tooltip on the primary icon" msgstr "主要圖示工具提示的內容" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1211 msgid "Secondary icon tooltip text" msgstr "次要圖示工具提示文字" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1212 ../gtk/gtkentry.c:1250 msgid "The contents of the tooltip on the secondary icon" msgstr "次要圖示工具提示的內容" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1230 msgid "Primary icon tooltip markup" msgstr "主要圖示工具提示標記" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1249 msgid "Secondary icon tooltip markup" msgstr "次要圖示工具提示標記" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1269 ../gtk/gtktextview.c:794 msgid "IM module" msgstr "IM 模組" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1270 ../gtk/gtktextview.c:795 msgid "Which IM module should be used" msgstr "預設要使用哪一個 IM 模組" -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1284 msgid "Icon Prelight" msgstr "圖示預亮" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1285 msgid "Whether activatable icons should prelight when hovered" msgstr "使用中的圖示在滑鼠經過時是否顯示預亮" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1298 msgid "Progress Border" msgstr "進度列框線" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1299 msgid "Border around the progress bar" msgstr "進度列周圍的框線" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1791 msgid "Border between text and frame." msgstr "文字與框架之間的框線。" -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "聚焦時選取" - -#: gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "當輸入元件取得焦點時,其內容是否呈現被選取狀態" - -#: gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "密碼提示逾時時間" - -#: gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "等待多久才顯示隱藏項目中最後輸入的字元" - -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "緩衝區的內容" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "目前在緩衝區中文字的長度" -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:280 msgid "Completion Model" msgstr "自動完成模組" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:281 msgid "The model to find matches in" msgstr "找尋符合字串的自動完成模型" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:287 msgid "Minimum Key Length" msgstr "最小關鍵字長度" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:288 msgid "Minimum length of the search key in order to look up matches" msgstr "用來搜尋的關鍵字的最小長度" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "文字欄位" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:305 msgid "The column of the model containing the strings." msgstr "包含字串的模型欄位" -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:324 msgid "Inline completion" msgstr "行內自動補齊" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:325 msgid "Whether the common prefix should be inserted automatically" msgstr "是否自動插入共通的前綴字" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:339 msgid "Popup completion" msgstr "彈出項目自動補齊" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:340 msgid "Whether the completions should be shown in a popup window" msgstr "是否在彈出式視窗中顯示補齊項目" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:355 msgid "Popup set width" msgstr "彈出式視窗設定寬度" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:356 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "如設為定為‘TRUE’,彈出式視窗會與項目的大小相同" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:374 msgid "Popup single match" msgstr "彈出式視窗單一匹配" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:375 msgid "If TRUE, the popup window will appear for a single match." msgstr "如設為定為‘TRUE’,只有一個匹配的項目時仍顯示彈出式視窗。" -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:389 msgid "Inline selection" msgstr "行內選取區" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:390 msgid "Your description here" msgstr "在此輸入您的描述" -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "可見視窗" -#: gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:102 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." msgstr "該事件方塊是否可見,其相對於用來攔截事件的不可見事件方塊。" -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:108 msgid "Above child" msgstr "覆蓋子元件" -#: gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." msgstr "是否事件方塊中攔截事件的視窗要覆蓋在子視窗元件之上,相對於至於其下。" -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:201 msgid "Expanded" msgstr "展開" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:202 msgid "Whether the expander has been opened to reveal the child widget" msgstr "該可擴展元件是否已經展開,使其子元件顯露出來。" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:210 msgid "Text of the expander's label" msgstr "展開器標籤的文字" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "使用標記" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "可擴展元件的文字標籤包含XML標記。詳見 pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:234 msgid "Space to put between the label and the child" msgstr "區隔子元件與文字標籤的額外的空間" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "標籤元件" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:244 msgid "A widget to display in place of the usual expander label" msgstr "替代展開器原本文字標籤的視窗元件" -#: gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:251 msgid "Label fill" msgstr "標籤填滿" -#: gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:252 msgid "Whether the label widget should fill all available horizontal space" msgstr "籤標視窗元件是否應填滿所有可用的水平空間" -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:862 msgid "Expander Size" msgstr "展開器大小" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:863 msgid "Size of the expander arrow" msgstr "展開器箭號的大小" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:268 msgid "Spacing around expander arrow" msgstr "展開器箭頭周圍的間距" -#: gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "對話盒" -#: gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "準備選用的檔案選擇對話盒類型。" -#: gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." msgstr "檔案選擇對話盒的標題。" -#: gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "按鈕元件所需的寬度,以字元計。" -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:740 msgid "Action" msgstr "動作" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "檔案選擇元件要執行的指令種類" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "過濾條件" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "用來選擇顯示何種檔案的過濾器" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "限定本地端" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "是否選擇的檔案應該限定於本地端 file: URLs" -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "預覽視窗元件" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." msgstr "應用程式提供的視窗元件,用來自訂預覽。" -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "啟動預覽視窗元件" -#: gtk/gtkfilechooser.c:766 +#: ../gtk/gtkfilechooser.c:766 msgid "" "Whether the application supplied widget for custom previews should be shown." msgstr "用來自訂預覽的應用程式端視窗元件是否應該被顯示。" -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "使用預覽文字" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." msgstr "是否與預覽的檔案名稱一起顯示內建圖示文字。" -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "額外視窗元件" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "有額外功能的應用程式端視窗元件。" -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "選取多個項目" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "可否允許同時選取多個檔案" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "顯示隱藏檔" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "是否顯示隱藏的檔案和目錄" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "覆寫時作出確認" -#: gtk/gtkfilechooser.c:807 +#: ../gtk/gtkfilechooser.c:807 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." msgstr "在儲存模式的檔案選擇程式是否在需要時顯示覆寫確認對話盒。" -#: gtk/gtkfilechooser.c:823 +#: ../gtk/gtkfilechooser.c:823 msgid "Allow folder creation" msgstr "允許建立資料夾" -#: gtk/gtkfilechooser.c:824 +#: ../gtk/gtkfilechooser.c:824 msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." msgstr "在開啟模式的檔案選擇程式是否讓使用者建立新的資料夾。" -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 msgid "X position" msgstr "水平位置" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "子元件的水平位置" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 msgid "Y position" msgstr "垂直位置" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "子元件的垂直位置" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "字型選擇對話盒的標題" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 msgid "Font name" msgstr "字型名稱" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "選擇字型的名稱" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "字型本身反映在標籤內" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" msgstr "標籤文字可否使用選擇的字型" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "文字標籤中使用尺寸" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "標籤文字可否使用選擇的字型大小" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "顯示樣式" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "標籤文字可否使用選擇的字型樣式" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "顯示字型大小" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "標籤文字是否顯示使用選擇的字型尺寸" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:224 msgid "The string that represents this font" msgstr "表示本字型的字串" -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:230 msgid "Preview text" msgstr "預覽文字" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:231 msgid "The text to display in order to demonstrate the selected font" msgstr "顯示選定的字型時所使用的字串" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:131 msgid "Text of the frame's label" msgstr "框架的標籤文字" -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:138 msgid "Label xalign" msgstr "標籤水平位置" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:139 msgid "The horizontal alignment of the label" msgstr "標籤的水平位置" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:147 msgid "Label yalign" msgstr "標籤垂直位置" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:148 msgid "The vertical alignment of the label" msgstr "標籤的垂直位置" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:156 msgid "Frame shadow" msgstr "框架陰影" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:157 msgid "Appearance of the frame border" msgstr "框架邊框的外觀" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:166 msgid "A widget to display in place of the usual frame label" msgstr "用來替代原本框架文字標籤的視窗元件" -#: gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:189 msgid "Appearance of the shadow that surrounds the container" msgstr "容器元件周圍的陰影的外觀" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:197 msgid "Handle position" msgstr "控制項位置" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:198 msgid "Position of the handle relative to the child widget" msgstr "相對於子元件的控制項位置" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:206 msgid "Snap edge" msgstr "貼齊邊緣" -#: gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:207 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" msgstr "控制方塊的側邊與置入該方塊的置入點自動貼齊" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:215 msgid "Snap edge set" msgstr "貼齊邊緣設定" -#: gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:216 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" msgstr "是否依照 snap_edge 屬性,或採用 handle_position 的設定值" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:223 msgid "Child Detached" msgstr "子項目已分離" -#: gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:224 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." msgstr "一個用來表示把手方塊(handlebox)的子項是結合或分離的布林數值。" -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:580 msgid "Selection mode" msgstr "選擇模式" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:581 msgid "The selection mode" msgstr "選擇模式" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:599 msgid "Pixbuf column" msgstr "Pixbuf 欄" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:600 msgid "Model column used to retrieve the icon pixbuf from" msgstr "用來取得圖示 pixbuf 的典型欄" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:618 msgid "Model column used to retrieve the text from" msgstr "用來取得文字 pixbuf 的典型欄" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:637 msgid "Markup column" msgstr "標記欄位" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:638 msgid "Model column used to retrieve the text if using Pango markup" msgstr "如果使用 Pango 標記時用來取得文字的典型欄" -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:645 msgid "Icon View Model" msgstr "Icon View 模型" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:646 msgid "The model for the icon view" msgstr "圖示檢視所使用的模型" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:662 msgid "Number of columns" msgstr "欄位數目" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:663 msgid "Number of columns to display" msgstr "要顯示的欄數" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:680 msgid "Width for each item" msgstr "各項目的寬度" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:681 msgid "The width used for each item" msgstr "用於各個項目的寬度" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:697 msgid "Space which is inserted between cells of an item" msgstr "用來插入項目的格位之間的空間" -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:712 msgid "Row Spacing" msgstr "行的間隔" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:713 msgid "Space which is inserted between grid rows" -msgstr "用來插入格線行之間的空間" +msgstr "用來插入格線列之間的空間" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:728 msgid "Column Spacing" msgstr "欄的間隔" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:729 msgid "Space which is inserted between grid columns" msgstr "用來插入格線欄之間的空間" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:744 msgid "Margin" msgstr "邊界" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:745 msgid "Space which is inserted at the edges of the icon view" msgstr "用來插入圖示檢視邊緣的空間" -#: gtk/gtkiconview.c:730 -#, fuzzy +#: ../gtk/gtkiconview.c:760 msgid "Item Orientation" -msgstr "方向" +msgstr "項目方向" -#: gtk/gtkiconview.c:731 +#: ../gtk/gtkiconview.c:761 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "每個項目的文字與圖示之間要如何排列" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:697 +#: ../gtk/gtktreeviewcolumn.c:329 msgid "Reorderable" msgstr "可重新排列" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:698 msgid "View is reorderable" msgstr "該顯示為可排序的" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:848 msgid "Tooltip Column" msgstr "工具提示欄位" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:786 msgid "The column in the model containing the tooltip texts for the items" msgstr "包含項目的工具提示文字的模型欄位" -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:803 msgid "Item Padding" msgstr "項目留空" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:804 msgid "Padding around icon view items" msgstr "圖示檢視項目周圍的留空" -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:817 msgid "Selection Box Color" msgstr "選取區方塊色彩" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:818 msgid "Color of the selection box" msgstr "選取區方塊的色彩" -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:824 msgid "Selection Box Alpha" msgstr "選取區方塊的α混色" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:825 msgid "Opacity of the selection box" msgstr "選取區方塊的透明度" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "準備顯示的 GdkPixbuf" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:220 msgid "Filename" msgstr "檔案名稱" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "準備載入及顯示的檔案" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "欲顯示的內建圖示名稱" -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:258 msgid "Icon set" msgstr "圖示集" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:259 msgid "Icon set to display" msgstr "準備顯示的圖示集" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolpalette.c:1030 msgid "Icon size" msgstr "圖示大小" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:267 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "內建圖示或圖示集或具名圖示的符號大小" -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:283 msgid "Pixel size" msgstr "像素大小" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:284 msgid "Pixel size to use for named icon" msgstr "具名圖示的像素大小" -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:292 msgid "Animation" msgstr "動畫" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:293 msgid "GdkPixbufAnimation to display" msgstr "準備顯示的 GdkPixbufAnimation" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "儲存種類" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "圖片資料所使用的資料代表" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:149 msgid "Child widget to appear next to the menu text" msgstr "選單文字旁邊顯示的子元件" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:164 msgid "Whether to use the label text to create a stock menu item" msgstr "是否使用標籤文字來建立圖庫選單項目" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:536 msgid "Accel Group" msgstr "捷徑鍵群組" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:198 msgid "The Accel Group to use for stock accelerator keys" msgstr "圖庫捷徑鍵的群組" -#: gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "顯示選單圖示" - -#: gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "應否在選單項目中顯示圖示" - -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:375 ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "訊息類型" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:376 ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "訊息的類型" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:431 msgid "Width of border around the content area" msgstr "內容區域的邊框寬度" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:448 msgid "Spacing between elements of the area" msgstr "區域中元件間的間距" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:480 msgid "Width of border around the action area" msgstr "動作區域的邊框寬度" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:741 msgid "Screen" msgstr "螢幕" -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:742 msgid "The screen where this window will be displayed" msgstr "本視窗將顯示於第幾螢幕" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "標籤中的文字" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "標籤中的文字可以採用的樣式屬性清單" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "對齊方式" -#: gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " "GtkMisc::xalign for that" msgstr "" -"標籤文字中每一行文字相對的排列方式。此設定並不會影響該文字標籤的配置位置。詳" +"標籤文字中每一列文字相對的排列方式。此設定並不會影響該文字標籤的配置位置。詳" "見 GtkMisc::xalign " -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "樣式" -#: gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" msgstr "含有底線(_)的字串中,字母會呈現有底線的相對位置" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "自動換行" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "如使用本選項,當字句太長時會自動換行" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" -msgstr "折行模式" +msgstr "換行模式" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "如果設定換行,這裡控制如何完成換行" -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "可選取" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "標籤文字可否使用滑鼠來選取" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "速記鍵" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "本文字標籤的速記快捷鍵" -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "速記元件" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "當文字標籤速記鍵按下時所啟動的元件" -#: gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" msgstr "如果標籤沒有足夠的空間顯示整個字串時,用來簡化該字串的空間" -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "單行模式" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "標籤是否以單行的方式顯示" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "角" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "顯示標籤時旋轉的角度" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "標籤所需的最大寬度,以字元計" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "追蹤已瀏覽的連結" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "是否追蹤已瀏覽的連結" -#: gtk/gtklabel.c:904 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "當可選擇標籤取得焦點時,其內容是否呈現被選取狀態" - -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "水平調整" - -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "水平位置的 GtkAdjustment" - -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "垂直調整" - -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "垂直位置的 GtkAdjustment" - -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:229 msgid "Width" msgstr "寬度" -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "佈置元件寬度" -#: gtk/gtklayout.c:650 +#: ../gtk/gtklayout.c:668 msgid "Height" msgstr "高度" -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "佈置元件高度" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:174 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:175 msgid "The URI bound to this button" msgstr "與這個按鈕繫結的 URI" -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:189 msgid "Visited" msgstr "已瀏覽" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:190 msgid "Whether this link has been visited." msgstr "這個連結是否已瀏覽過。" -#: gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:170 msgid "Pack direction" msgstr "排列方向" -#: gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:171 msgid "The pack direction of the menubar" msgstr "工具列的排列方向" -#: gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:187 msgid "Child Pack direction" msgstr "子元件排列方向" -#: gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:188 msgid "The child pack direction of the menubar" msgstr "選單列子元的件排列方向" -#: gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:197 msgid "Style of bevel around the menubar" msgstr "選單列的斜邊款式" -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 msgid "Internal padding" msgstr "內部留空" -#: gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:205 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "選單列陰影和選單項目之間的空間寬度" -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "下拉選單出現前的延遲時間" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "選單列的子選單出現前的延遲時間" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:522 msgid "The currently selected menu item" msgstr "目前選取的選單項目" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:537 msgid "The accel group holding accelerators for the menu" msgstr "保存此選單捷徑鍵的捷徑鍵群組" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:551 ../gtk/gtkmenuitem.c:316 msgid "Accel Path" msgstr "捷徑鍵路徑" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:552 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "用來便利的建構子項目捷徑鍵的路徑" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:568 msgid "Attach Widget" msgstr "附加視窗元件" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:569 msgid "The widget the menu is attached to" msgstr "此選單要附加的視窗元件" -#: gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:577 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "當此選單卸下之後視窗管理員指定的視窗標題" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:591 msgid "Tearoff State" msgstr "分離狀態" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:592 msgid "A boolean that indicates whether the menu is torn-off" msgstr "指出該選單是否分離的布林值" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:606 msgid "Monitor" msgstr "監視器" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:607 msgid "The monitor the menu will be popped up on" msgstr "該選單要彈出到的螢幕" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:613 msgid "Vertical Padding" msgstr "垂直留空" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:614 msgid "Extra space at the top and bottom of the menu" msgstr "選單上下的額外空間" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:636 msgid "Reserve Toggle Size" msgstr "保留切換的大小" -#: gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:637 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "指出該選單是否保留切換與圖示空間的布林值" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:643 msgid "Horizontal Padding" msgstr "垂直留空" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:644 msgid "Extra space at the left and right edges of the menu" msgstr "選單左右的額外空間" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:652 msgid "Vertical Offset" msgstr "垂直偏移" -#: gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:653 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" msgstr "當此選單為子選單,將其一此設定值垂直偏移放置" -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:661 msgid "Horizontal Offset" msgstr "水平偏移" -#: gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:662 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" msgstr "當此選單為子選單,將其一此設定值水平偏移放置" -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:670 msgid "Double Arrows" msgstr "雙箭頭" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:671 msgid "When scrolling, always show both arrows." msgstr "在捲動時,永遠顯示兩端箭頭。" -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:684 msgid "Arrow Placement" msgstr "箭號的放置" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:685 msgid "Indicates where scroll arrows should be placed" msgstr "指出捲動軸箭頭應放置在哪裡" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:693 msgid "Left Attach" msgstr "左側附加" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 +#: ../gtk/gtkmenu.c:694 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "子選單的左側附加於給定的縱列數上" -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:701 msgid "Right Attach" msgstr "右側附加" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:702 msgid "The column number to attach the right side of the child to" msgstr "子選單的右側附加於給定的縱列數上" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:709 msgid "Top Attach" msgstr "頂端附加" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:710 msgid "The row number to attach the top of the child to" msgstr "子選單的頂端附加於給定的橫列數上" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:717 msgid "Bottom Attach" msgstr "底部附加" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:718 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "子選單的底部附加於給定的橫列數上" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:732 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "縮放捲動軸箭頭大小的任意常數" -#: gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "可更改捷徑鍵" - -#: gtk/gtkmenu.c:824 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "是否可在選單項目上按鍵來變更快捷鍵" - -#: gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "顯示子選單前的延遲時間" - -#: gtk/gtkmenu.c:830 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "在選單項目上顯示子選單所需的游標停滯最小時間" - -#: gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "隱藏子選單前的延遲時間" - -#: gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "游標移向子選單前子選單的顯示時間,超過則隱藏子選單" - -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:283 msgid "Right Justified" msgstr "向右對齊" -#: gtk/gtkmenuitem.c:286 +#: ../gtk/gtkmenuitem.c:284 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "設定選單項目是否出現在選單列的右端" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:298 msgid "Submenu" msgstr "子選單" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:299 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "要附加到選單項目的子選單,若沒有則為 NULL" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:317 msgid "Sets the accelerator path of the menu item" msgstr "設定選單項目的捷徑鍵路徑" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:332 msgid "The text for the child label" msgstr "子標籤的文字" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:395 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "箭頭所佔空間大小,相對於選單項目的字型大小" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:408 msgid "Width in Characters" msgstr "寬度(字元)" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:409 msgid "The minimum desired width of the menu item in characters" msgstr "此選單項目要求的最小寬度,以字元計" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:379 msgid "Take Focus" msgstr "獲得焦點" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:380 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "決定選單是否取得鍵盤焦點的布林值" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:246 msgid "Menu" msgstr "選單" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:247 msgid "The dropdown menu" msgstr "下拉式選單" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:184 msgid "Image/label border" msgstr "圖片/標籤邊框" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:185 msgid "Width of border around the label and image in the message dialog" msgstr "訊息對話盒的標籤和圖片周圍的邊框寬度" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:209 msgid "Message Buttons" msgstr "訊息按鈕" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:210 msgid "The buttons shown in the message dialog" msgstr "訊息對話窗顯示的按鈕" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:227 msgid "The primary text of the message dialog" msgstr "訊息對話盒中的主要文字" -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:242 msgid "Use Markup" msgstr "使用標記" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:243 msgid "The primary text of the title includes Pango markup." msgstr "包含 Pango 標記的標題主要文字。" -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:257 msgid "Secondary Text" msgstr "次要文字" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:258 msgid "The secondary text of the message dialog" msgstr "訊息對話盒中的次要文字" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:273 msgid "Use Markup in secondary" msgstr "在次要文件使用標記" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:274 msgid "The secondary text includes Pango markup." msgstr "次要文字包含 Pango 標記。" -#: gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:288 msgid "Image" msgstr "圖片" -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:289 msgid "The image" msgstr "圖片" -#: gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:305 msgid "Message area" msgstr "訊息區域" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:306 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "保有這個對話盒主要及次要標籤的 GtkVBox" -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:91 msgid "Y align" msgstr "垂直排列" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "垂直排列,由 0 (上) 至 1 (下)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:101 msgid "X pad" msgstr "水平留空" -#: gtk/gtkmisc.c:102 +#: ../gtk/gtkmisc.c:102 msgid "" "The amount of space to add on the left and right of the widget, in pixels" msgstr "加在視窗元件左右的空間,單位為像素" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:111 msgid "Y pad" msgstr "垂直留空" -#: gtk/gtkmisc.c:112 +#: ../gtk/gtkmisc.c:112 msgid "" "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "加在視窗元件上下的空間,單位為像素" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "父項" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "父視窗" -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:167 msgid "Is Showing" msgstr "顯示" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "我們是否要顯示對話盒" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:176 msgid "The screen where this window will be displayed." msgstr "本視窗將顯示於此螢幕。" -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:689 msgid "Page" msgstr "頁碼" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:690 msgid "The index of the current page" msgstr "目前頁面的索引" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:698 msgid "Tab Position" msgstr "標簽位置" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:699 msgid "Which side of the notebook holds the tabs" msgstr "標簽頁中含有標簽的一邊" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:706 msgid "Show Tabs" msgstr "顯示標簽" -#: gtk/gtknotebook.c:613 +#: ../gtk/gtknotebook.c:707 msgid "Whether tabs should be shown" msgstr "是否顯示分頁" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:713 msgid "Show Border" msgstr "顯示邊框" -#: gtk/gtknotebook.c:620 +#: ../gtk/gtknotebook.c:714 msgid "Whether the border should be shown" msgstr "是否顯示框線" -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:720 msgid "Scrollable" msgstr "可捲動" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:721 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "如設為定為‘TRUE’,如果標籤太多時,會在兩旁加上箭頭" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:727 msgid "Enable Popup" msgstr "使用蹦出選單" -#: gtk/gtknotebook.c:634 +#: ../gtk/gtknotebook.c:728 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" msgstr "若為 TRUE,在標籤頁按下滑鼠右鍵時會蹦出可選擇頁面的選單" -#: gtk/gtknotebook.c:648 -#, fuzzy +#: ../gtk/gtknotebook.c:742 msgid "Group Name" -msgstr "群組 ID" +msgstr "群組名稱" -#: gtk/gtknotebook.c:649 -#, fuzzy +#: ../gtk/gtknotebook.c:743 msgid "Group name for tab drag and drop" -msgstr "分頁拖放的群組" +msgstr "分頁拖放的群組名稱" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:750 msgid "Tab label" msgstr "標籤文字" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:751 msgid "The string displayed on the child's tab label" msgstr "子分頁標籤所顯示的文字" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:757 msgid "Menu label" msgstr "選單文字標籤" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:758 msgid "The string displayed in the child's menu entry" msgstr "子選單項目顯示的字串" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:771 msgid "Tab expand" msgstr "擴展標籤" -#: gtk/gtknotebook.c:678 +#: ../gtk/gtknotebook.c:772 msgid "Whether to expand the child's tab" msgstr "是否擴展子分頁" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:778 msgid "Tab fill" msgstr "標籤填滿" -#: gtk/gtknotebook.c:685 +#: ../gtk/gtknotebook.c:779 msgid "Whether the child's tab should fill the allocated area" msgstr "子分頁是否應填滿配置的區域" -#: gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:792 msgid "Tab pack type" msgstr "標籤包裝形式" -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:799 msgid "Tab reorderable" msgstr "分頁可排序" -#: gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:800 msgid "Whether the tab is reorderable by user action" msgstr "分頁是否可由使用者動作來重新排序" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:806 msgid "Tab detachable" msgstr "分頁可分離" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:807 msgid "Whether the tab is detachable" msgstr "分頁是否可分離" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:822 ../gtk/gtkscrollbar.c:105 msgid "Secondary backward stepper" msgstr "次要倒退指示器" -#: gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:823 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "在標籤區域對面顯示第二個用來倒退的箭頭" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:838 ../gtk/gtkscrollbar.c:112 msgid "Secondary forward stepper" msgstr "次要前進指示器" -#: gtk/gtknotebook.c:738 +#: ../gtk/gtknotebook.c:839 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "在標籤區域對面顯示第二個用來前進的箭頭" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:853 ../gtk/gtkscrollbar.c:91 msgid "Backward stepper" msgstr "倒退指示器" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:854 ../gtk/gtkscrollbar.c:92 msgid "Display the standard backward arrow button" msgstr "顯示標準倒退箭頭按鈕" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:868 ../gtk/gtkscrollbar.c:98 msgid "Forward stepper" msgstr "前進指示器" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:869 ../gtk/gtkscrollbar.c:99 msgid "Display the standard forward arrow button" msgstr "顯示標準前進箭頭按鈕" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:883 msgid "Tab overlap" msgstr "分頁覆蓋" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:884 msgid "Size of tab overlap area" msgstr "分頁重疊區域的大小" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:899 msgid "Tab curvature" msgstr "分頁曲率" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:900 msgid "Size of tab curvature" msgstr "分頁曲率的大小" -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:916 msgid "Arrow spacing" msgstr "箭號的間距" -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:917 msgid "Scroll arrow spacing" msgstr "捲動軸箭號的間距" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 +#: ../gtk/gtktrayicon-x11.c:124 msgid "Orientation" msgstr "方向" -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:64 msgid "The orientation of the orientable" msgstr "可定向的方向" -#: gtk/gtkpaned.c:271 +#: ../gtk/gtkpaned.c:328 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "分隔條的位置,單位為像素(0表示擴展至左/上)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:337 msgid "Position Set" msgstr "位置設定" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:338 msgid "TRUE if the Position property should be used" msgstr "TRUE 表示應該使用位置屬性" -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:344 msgid "Handle Size" msgstr "分隔條尺寸" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:345 msgid "Width of handle" msgstr "分隔條的寬度" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:361 msgid "Minimal Position" msgstr "最小位置" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:362 msgid "Smallest possible value for the \"position\" property" msgstr "『位置』屬性的最小可能值" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:379 msgid "Maximal Position" msgstr "最大位置" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:380 msgid "Largest possible value for the \"position\" property" msgstr "『位置』屬性的最大可能值" -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:397 msgid "Resize" msgstr "重設大小" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:398 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "如設為定為‘TRUE’,子元件將隨分隔元件擴展或縮小" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:413 msgid "Shrink" msgstr "可縮小" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:414 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "如設為定為‘TRUE’,子元件可以比原本指定的大小更小" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:172 ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "內嵌的" -#: gtk/gtkplug.c:172 +#: ../gtk/gtkplug.c:173 msgid "Whether the plug is embedded" msgstr "此外掛是否為內嵌" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:187 msgid "Socket Window" msgstr "Socket 視窗" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:188 msgid "The window of the socket the plug is embedded in" msgstr "此外掛內嵌 socket 的視窗" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkprinter.c:126 msgid "Name of the printer" msgstr "印表機的名稱" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:132 msgid "Backend" msgstr "後端" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "印表機的後端" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "是虛擬的" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "如果此印表機代表真實的硬體印表機則為 FALSE" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "接受 PDF" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "如果此印表機可接受 PDF 則為 TRUE" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "接受 Postscript" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "如果此印表機可接受 PostScript 則為 TRUE" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:160 msgid "State Message" msgstr "狀態訊息" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "提供印表機目前狀態的字串" -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "位置" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:168 msgid "The location of the printer" msgstr "印表機的位置" -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "此印表機使用的圖示名稱" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:181 msgid "Job Count" msgstr "工作計數" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "印表機中佇留的工作數" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "暫停的印表機" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "如果此印表機已暫停則為 TRUE" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "正在接受工作" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "如果此印表機正在接受新工作則為 TRUE" -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "來源選項" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "在此視窗元件之後的印表機選項" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:116 msgid "Title of the print job" msgstr "列印工作的標題" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:124 msgid "Printer" msgstr "印表機" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:125 msgid "Printer to print the job to" msgstr "用來列印此工作的印表機" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:133 msgid "Settings" msgstr "設定值" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:134 msgid "Printer settings" msgstr "印表機設定值" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:142 ../gtk/gtkprintjob.c:143 +#: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "頁面設定" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:151 ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "追蹤列印狀態" -#: gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:152 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -3987,57 +3966,57 @@ msgstr "" "如果此列印工作在送出列印資料到印表機或列印伺服器後會繼續發出狀態改變信號則為 " "TRUE。" -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1005 msgid "Default Page Setup" msgstr "預設頁面設定" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1006 msgid "The GtkPageSetup used by default" msgstr "預設使用的 GtkPageSetup" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "列印設定值" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "用來初始化對話盒的 GtkPrintSettings" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1043 msgid "Job Name" msgstr "工作名稱" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1044 msgid "A string used for identifying the print job." msgstr "用來識別此列印工作的字串。" -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1068 msgid "Number of Pages" msgstr "頁數" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1069 msgid "The number of pages in the document." msgstr "文件中的頁數。" -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "目前的頁面" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "文件中目前的頁面" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1112 msgid "Use full page" msgstr "使用整頁" -#: gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1113 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" msgstr "如果原始的上下文在頁面的角落,而不是在可成像區域的角落,則為 TRUE" -#: gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1134 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4045,610 +4024,618 @@ msgstr "" "如果此列印操作在送出列印資料到印表機或列印伺服器後會繼續回報列印工作狀態則為 " "TRUE。" -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1151 msgid "Unit" msgstr "單位" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1152 msgid "The unit in which distances can be measured in the context" msgstr "在上下文中能被測量的距離單位" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1169 msgid "Show Dialog" msgstr "顯示對話盒" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1170 msgid "TRUE if a progress dialog is shown while printing." msgstr "如果在列印時要顯示進度對話盒則為 TRUE。" -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1193 msgid "Allow Async" msgstr "允許 Async" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1194 msgid "TRUE if print process may run asynchronous." msgstr "如果列印程序可以非同步方式執行則為 TRUE。" -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 msgid "Export filename" msgstr "匯出檔案名稱" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1231 msgid "Status" msgstr "狀態" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1232 msgid "The status of the print operation" msgstr "列印操作的狀態" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1252 msgid "Status String" msgstr "狀態字串" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1253 msgid "A human-readable description of the status" msgstr "供人類閱讀的狀態描述" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1271 msgid "Custom tab label" msgstr "自訂分頁標籤" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1272 msgid "Label for the tab containing custom widgets." msgstr "包含自訂視窗元件分頁的標籤。" -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "支授選擇區域" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1288 msgid "TRUE if the print operation will support print of selection." msgstr "如果列印動作支援選擇區域的列印則設定為 TRUE。" -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "具有選擇區域" -#: gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1305 msgid "TRUE if a selection exists." msgstr "如果選擇區域存在則為 TRUE。" -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "內嵌頁面設定" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1321 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "如果頁面設定組合內嵌於 GtkPrintDialog 則設定為 TRUE" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1342 msgid "Number of Pages To Print" msgstr "要列印的頁數" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1343 msgid "The number of pages that will be printed." msgstr "將要列印的頁數。" -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "要使用的 GtkPageSetup" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "選取的印表機" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "選取的 GtkPrinter" -#: gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:332 msgid "Manual Capabilities" msgstr "手冊容量" -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "應用程式可以處理的能力" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:342 msgid "Whether the dialog supports selection" msgstr "對話盒是否支援選擇區域" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:350 msgid "Whether the application has a selection" msgstr "應用程式是否有選擇區域" -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "如果頁面設定組合內嵌於 GtkPrintUnixDialog 則設定為 TRUE" -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "片段" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "工作已完成的片段" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "脈動步伐" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "當一次脈動後,來回區塊應移動的比例(以進度列全長為基準)" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "進度列中所顯示的文字" -#: gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "顯示文字" -#: gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "進度是否以文字方式顯示。" -#: gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:208 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." msgstr "如果進度列沒有足夠的空間顯示整個字串時,用來簡化該字串的空間。" -#: gtk/gtkprogressbar.c:188 +#: ../gtk/gtkprogressbar.c:215 msgid "X spacing" msgstr "X 間距" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "套用於進度列寬度的額外空間。" -#: gtk/gtkprogressbar.c:194 +#: ../gtk/gtkprogressbar.c:221 msgid "Y spacing" msgstr "Y 間距" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "套用於進度列高度的額外空間。" -#: gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:235 msgid "Minimum horizontal bar width" msgstr "最小水平列寬度" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:236 msgid "The minimum horizontal width of the progress bar" msgstr "進度列的最小水平寬度" -#: gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:248 msgid "Minimum horizontal bar height" msgstr "最小水平列高度" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:249 msgid "Minimum horizontal height of the progress bar" msgstr "進度列的最小水平高度" -#: gtk/gtkprogressbar.c:234 +#: ../gtk/gtkprogressbar.c:261 msgid "Minimum vertical bar width" msgstr "最小垂直列寬度" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:262 msgid "The minimum vertical width of the progress bar" msgstr "進度列的最小垂直寬度" -#: gtk/gtkprogressbar.c:247 +#: ../gtk/gtkprogressbar.c:274 msgid "Minimum vertical bar height" msgstr "最小垂直列高度" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:275 msgid "The minimum vertical height of the progress bar" msgstr "進度列的最小垂直高度" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:118 msgid "The value" msgstr "給定值" -#: gtk/gtkradioaction.c:119 +#: ../gtk/gtkradioaction.c:119 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." msgstr "" "當此指令是該群組的目前指令時,gtk_radio_action_get_current_value() 所傳回值" -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:160 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "群組" -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "此指令所屬的單選指令群組。" -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:151 msgid "The current value" msgstr "目前的數值" -#: gtk/gtkradioaction.c:152 +#: ../gtk/gtkradioaction.c:152 msgid "" "The value property of the currently active member of the group to which this " "action belongs." msgstr "這個動作所屬群組目前使用成員的數值屬性。" -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:161 msgid "The radio button whose group this widget belongs to." msgstr "此元件所屬的單選按鈕群組。" -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:374 msgid "The radio menu item whose group this widget belongs to." msgstr "此元件所屬的單選選單群組。" -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "此按鈕所屬的單選工具按鈕群組。" -#: gtk/gtkrange.c:410 +#: ../gtk/gtkrange.c:423 msgid "Update policy" msgstr "更新規則" -#: gtk/gtkrange.c:411 +#: ../gtk/gtkrange.c:424 msgid "How the range should be updated on the screen" msgstr "範圍在螢幕上要如何更新" -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:433 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "含有這個範圍物件現在數值的 GtkAdjustment" -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:441 msgid "Invert direction slider moves to increase range value" msgstr "捲動條以相反的方向來增加範圍數值" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:448 msgid "Lower stepper sensitivity" msgstr "較低側指示器敏感度" -#: gtk/gtkrange.c:436 +#: ../gtk/gtkrange.c:449 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" msgstr "指向調整鈕較低側的指示器敏感度原則" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:457 msgid "Upper stepper sensitivity" msgstr "較高側指示器敏感度" -#: gtk/gtkrange.c:445 +#: ../gtk/gtkrange.c:458 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" msgstr "指向調整鈕較高側的指示器敏感度原則" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:475 msgid "Show Fill Level" msgstr "顯示填充等級" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:476 msgid "Whether to display a fill level indicator graphics on trough." msgstr "是否在滑軌上顯示填充等級指示器。" -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:492 msgid "Restrict to Fill Level" msgstr "限制的填充等級" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:493 msgid "Whether to restrict the upper boundary to the fill level." msgstr "是否限制填充等級的上限。" -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:508 msgid "Fill Level" msgstr "填充等級" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:509 msgid "The fill level." msgstr "填充等級" -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:517 msgid "Slider Width" msgstr "捲動條寬度" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:518 msgid "Width of scrollbar or scale thumb" msgstr "捲動列或等比縮放指標的寬度" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:525 msgid "Trough Border" msgstr "溝槽邊緣" -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:526 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "指標/指示器按鈕與邊界外緣之間的空間" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:533 msgid "Stepper Size" msgstr "指示器按鈕尺寸" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:534 msgid "Length of step buttons at ends" msgstr "步伐按鈕每一端的長度" -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:549 msgid "Stepper Spacing" msgstr "指示器按鈕間隔" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:550 msgid "Spacing between step buttons and thumb" msgstr "步伐按鈕以及指標之間的間隔" -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:557 msgid "Arrow X Displacement" msgstr "箭頭水平偏離" -#: gtk/gtkrange.c:545 +#: ../gtk/gtkrange.c:558 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "當按鈕按下時要在水平方向移動多遠的距離" -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:565 msgid "Arrow Y Displacement" msgstr "箭頭垂直偏離" -#: gtk/gtkrange.c:553 +#: ../gtk/gtkrange.c:566 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "當按鈕按下時要在垂直方向移動多遠的距離" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:584 msgid "Trough Under Steppers" msgstr "指示器下滑軌" -#: gtk/gtkrange.c:572 +#: ../gtk/gtkrange.c:585 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "是否繪出完整長度的滑軌或是去除指示器和間距" -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling" msgstr "箭頭縮放" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:599 msgid "Arrow scaling with regard to scroll button size" msgstr "依捲動軸大小縮放箭頭" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "顯示編號" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 msgid "Whether the items should be displayed with a number" msgstr "項目是否顯示編號" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "最近使用項目管理程式" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "要使用的 RecentManager 物件" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "顯示私人項目" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "是否顯示私人的項目" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "顯示工具提示" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "是否在項目上顯示工具提示" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "顯示圖示" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "項目旁是否應有圖示" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "顯示沒有找到訊息" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "是否顯示指向無法使用資源的項目" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "可否允許同時選取多個項目" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "僅限本地端" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "是否選擇的資源應該限定於本地端檔案:URIs" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "限制" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "能顯示的項目最大數量" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "排序類型" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "顯示項目的排列順序" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "目前用來選擇顯示何種資源的過濾器" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" msgstr "用來儲存和讀取清單的檔案完整路徑" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "目前使用的資源清單大小" -#: gtk/gtkruler.c:138 +#: ../gtk/gtkruler.c:143 msgid "Lower" msgstr "下限" -#: gtk/gtkruler.c:139 +#: ../gtk/gtkruler.c:144 msgid "Lower limit of ruler" msgstr "尺規的下限" -#: gtk/gtkruler.c:148 +#: ../gtk/gtkruler.c:153 msgid "Upper" msgstr "上限" -#: gtk/gtkruler.c:149 +#: ../gtk/gtkruler.c:154 msgid "Upper limit of ruler" msgstr "尺規的上限" -#: gtk/gtkruler.c:159 +#: ../gtk/gtkruler.c:164 msgid "Position of mark on the ruler" msgstr "尺規中的標記的位置" -#: gtk/gtkruler.c:168 +#: ../gtk/gtkruler.c:173 msgid "Max Size" msgstr "最大尺寸" -#: gtk/gtkruler.c:169 +#: ../gtk/gtkruler.c:174 msgid "Maximum size of the ruler" msgstr "尺規的最大尺寸" -#: gtk/gtkruler.c:184 +#: ../gtk/gtkruler.c:189 msgid "Metric" msgstr "公制" -#: gtk/gtkruler.c:185 +#: ../gtk/gtkruler.c:190 msgid "The metric used for the ruler" msgstr "尺規使用公制單位" -#: gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:221 msgid "The value of the scale" msgstr "縮放的數值" -#: gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:231 msgid "The icon size" msgstr "圖示大小" -#: gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:240 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "含有這個縮放按鈕物件現在數值的 GtkAdjustment" -#: gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:268 msgid "Icons" msgstr "圖示" -#: gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:269 msgid "List of icon names" msgstr "圖示名稱清單" -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:250 msgid "The number of decimal places that are displayed in the value" msgstr "此數值所顯示的十進位位數" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:259 msgid "Draw Value" msgstr "繪製數值" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:260 msgid "Whether the current value is displayed as a string next to the slider" msgstr "是否目前數值要以字串方式顯示在捲動條旁邊" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:267 msgid "Value Position" msgstr "數值位置" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:268 msgid "The position in which the current value is displayed" msgstr "目前數值所顯示的位置" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:275 msgid "Slider Length" msgstr "捲動條長度" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:276 msgid "Length of scale's slider" msgstr "縮放尺規捲動條長度" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:284 msgid "Value spacing" msgstr "數值距離" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:285 msgid "Space between value text and the slider/trough area" msgstr "數值文字與滑動鈕/溝槽區域間的間隔" -#: gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscrollbar.c:75 msgid "Minimum Slider Length" msgstr "最小捲動條長度" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:76 msgid "Minimum length of scrollbar slider" msgstr "捲動列捲動條的最小長度" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:84 msgid "Fixed slider size" msgstr "固定捲動條尺寸" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:85 msgid "Don't change slider size, just lock it to the minimum length" msgstr "不改變捲動條尺寸,將它固定顯示最小長度" -#: gtk/gtkscrollbar.c:81 +#: ../gtk/gtkscrollbar.c:106 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "在捲動列對另一端顯示第二個後退箭頭按鈕" -#: gtk/gtkscrollbar.c:88 +#: ../gtk/gtkscrollbar.c:113 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "在捲動列對另一端顯示第二個前進箭頭按鈕" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "水平調整" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:297 +msgid "The GtkAdjustment for the horizontal position" +msgstr "水平位置的 GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "垂直調整" -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:304 +msgid "The GtkAdjustment for the vertical position" +msgstr "垂直位置的 GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "水平捲動列規則" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "何時顯示水平捲動列" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "垂直捲動列規則" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "何時顯示垂直捲動列" -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "視窗放置" -#: gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4656,45 +4643,576 @@ msgstr "" "相應於捲動列的哪個位置顯示內容。這只在「window-placement-set」為 TRUE 時會生" "效。" -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "視窗放置設定" -#: gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." msgstr "是否使用「window-placement」來決定相應於捲動列的位置顯示內容。" -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "陰影類型" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "內容周圍的斜邊樣式" -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "捲動列在斜邊裡" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "將捲動列置於要捲動的視窗的斜邊" -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "捲動列間隔" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "捲動列及要捲動的視窗之間的像素數目" -#: gtk/gtkscrolledwindow.c:337 +#: ../gtk/gtkscrolledwindow.c:384 +msgid "Minimum Content Width" +msgstr "最小內容寬度" + +#: ../gtk/gtkscrolledwindow.c:385 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "可捲動視窗配置內容時的最小寬度" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "Minimum Content Height" +msgstr "最小內容高度" + +#: ../gtk/gtkscrolledwindow.c:392 +msgid "" +"The minimum height that the scrolled window will allocate to its content" +msgstr "可捲動視窗配置內容時的最小高度" + +#: ../gtk/gtkseparatortoolitem.c:143 +msgid "Draw" +msgstr "繪製" + +#: ../gtk/gtkseparatortoolitem.c:144 +msgid "Whether the separator is drawn, or just blank" +msgstr "分隔線應否被繪製,或為留白" + +#: ../gtk/gtksettings.c:277 +msgid "Double Click Time" +msgstr "雙擊時間" + +#: ../gtk/gtksettings.c:278 +msgid "" +"Maximum time allowed between two clicks for them to be considered a double " +"click (in milliseconds)" +msgstr "代表雙擊的兩下按鍵之間可接受的最長時間(亳秒),如果再長則不作雙擊處理" + +#: ../gtk/gtksettings.c:285 +msgid "Double Click Distance" +msgstr "雙擊間距" + +#: ../gtk/gtksettings.c:286 +msgid "" +"Maximum distance allowed between two clicks for them to be considered a " +"double click (in pixels)" +msgstr "" +"代表雙擊的兩下按鍵之間可接受的最長距離(像素),如果再長則不視作雙擊處理" + +#: ../gtk/gtksettings.c:302 +msgid "Cursor Blink" +msgstr "閃爍游標" + +#: ../gtk/gtksettings.c:303 +msgid "Whether the cursor should blink" +msgstr "游標應否閃爍" + +#: ../gtk/gtksettings.c:310 +msgid "Cursor Blink Time" +msgstr "游標閃爍時間" + +#: ../gtk/gtksettings.c:311 +msgid "Length of the cursor blink cycle, in milliseconds" +msgstr "游標每次閃爍的時間間隔(毫秒)" + +#: ../gtk/gtksettings.c:330 +msgid "Cursor Blink Timeout" +msgstr "游標閃爍時間" + +#: ../gtk/gtksettings.c:331 +msgid "Time after which the cursor stops blinking, in seconds" +msgstr "游標停止閃爍後的時間(毫秒)" + +#: ../gtk/gtksettings.c:338 +msgid "Split Cursor" +msgstr "分開游標" + +#: ../gtk/gtksettings.c:339 +msgid "" +"Whether two cursors should be displayed for mixed left-to-right and right-to-" +"left text" +msgstr "當左至右和右至左的文字混合出現時應否分別顯示游標" + +#: ../gtk/gtksettings.c:346 +msgid "Theme Name" +msgstr "佈景名稱" + +#: ../gtk/gtksettings.c:347 +msgid "Name of theme RC file to load" +msgstr "準備載入的佈景主題檔案名稱" + +#: ../gtk/gtksettings.c:355 +msgid "Icon Theme Name" +msgstr "圖示佈景名稱" + +#: ../gtk/gtksettings.c:356 +msgid "Name of icon theme to use" +msgstr "使用的圖示佈景名稱" + +#: ../gtk/gtksettings.c:364 +msgid "Fallback Icon Theme Name" +msgstr "後備圖示佈景名稱" + +#: ../gtk/gtksettings.c:365 +msgid "Name of a icon theme to fall back to" +msgstr "用作後備的圖示佈景名稱" + +#: ../gtk/gtksettings.c:373 +msgid "Key Theme Name" +msgstr "主題名稱" + +#: ../gtk/gtksettings.c:374 +msgid "Name of key theme RC file to load" +msgstr "要載入的主題 RC 檔案名稱" + +#: ../gtk/gtksettings.c:382 +msgid "Menu bar accelerator" +msgstr "選單列捷徑鍵" + +#: ../gtk/gtksettings.c:383 +msgid "Keybinding to activate the menu bar" +msgstr "啟用選單列所用的按鍵結合" + +#: ../gtk/gtksettings.c:391 +msgid "Drag threshold" +msgstr "拖曳距離界限" + +#: ../gtk/gtksettings.c:392 +msgid "Number of pixels the cursor can move before dragging" +msgstr "未作為拖曳之前,鼠標應移動的距離,以像素表示" + +#: ../gtk/gtksettings.c:400 +msgid "Font Name" +msgstr "字型名稱" + +#: ../gtk/gtksettings.c:401 +msgid "Name of default font to use" +msgstr "預設使用的字型名稱" + +#: ../gtk/gtksettings.c:423 +msgid "Icon Sizes" +msgstr "圖示大小" + +#: ../gtk/gtksettings.c:424 +msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." +msgstr "圖示大小清單 (gtk-menu=16,16:gtk-button=20,20…" + +#: ../gtk/gtksettings.c:432 +msgid "GTK Modules" +msgstr "GTK 模組" + +#: ../gtk/gtksettings.c:433 +msgid "List of currently active GTK modules" +msgstr "目前正在使用的 GTK 模組的清單" + +#: ../gtk/gtksettings.c:442 +msgid "Xft Antialias" +msgstr "Xft 平滑化" + +#: ../gtk/gtksettings.c:443 +msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" +msgstr "是否以平滑化方式顯示 Xft 字型; 0=否, 1=是, -1=預設值" + +#: ../gtk/gtksettings.c:452 +msgid "Xft Hinting" +msgstr "Xft Hinting" + +#: ../gtk/gtksettings.c:453 +msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" +msgstr "是否 hint Xft 字型; 0=否, 1=是, -1=預設值" + +#: ../gtk/gtksettings.c:462 +msgid "Xft Hint Style" +msgstr "Xft Hint 樣式" + +#: ../gtk/gtksettings.c:463 +msgid "" +"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" +msgstr "hinting 的使用程度;無、輕微、中等、完全" + +#: ../gtk/gtksettings.c:472 +msgid "Xft RGBA" +msgstr "Xft RGBA" + +#: ../gtk/gtksettings.c:473 +msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" +msgstr "像素平滑化的方式; 無, rgb, bgr, vrgb, vbgr" + +#: ../gtk/gtksettings.c:482 +msgid "Xft DPI" +msgstr "Xft DPI" + +#: ../gtk/gtksettings.c:483 +msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" +msgstr "Xft 的解析度, 單位為 1024 * 點數/英吋。-1為使用預設值" + +#: ../gtk/gtksettings.c:492 +msgid "Cursor theme name" +msgstr "游標佈景名稱" + +#: ../gtk/gtksettings.c:493 +msgid "Name of the cursor theme to use, or NULL to use the default theme" +msgstr "使用的游標佈景主題名稱,或為 NULL 以使用預設佈景主題" + +#: ../gtk/gtksettings.c:501 +msgid "Cursor theme size" +msgstr "游標佈景大小" + +#: ../gtk/gtksettings.c:502 +msgid "Size to use for cursors, or 0 to use the default size" +msgstr "游標的大小,或為 0 以使用預設大小" + +#: ../gtk/gtksettings.c:512 +msgid "Alternative button order" +msgstr "替換按鈕順序" + +#: ../gtk/gtksettings.c:513 +msgid "Whether buttons in dialogs should use the alternative button order" +msgstr "對話盒內的按鈕應該使用另一種排列方式" + +#: ../gtk/gtksettings.c:530 +msgid "Alternative sort indicator direction" +msgstr "替換排序指示器方向" + +#: ../gtk/gtksettings.c:531 +msgid "" +"Whether the direction of the sort indicators in list and tree views is " +"inverted compared to the default (where down means ascending)" +msgstr "清單和樹狀檢視中指示器排序的方向是否與預設狀況(這裡指往下遞增)相反" + +#: ../gtk/gtksettings.c:539 +msgid "Show the 'Input Methods' menu" +msgstr "顯示「輸入法」選單" + +#: ../gtk/gtksettings.c:540 +msgid "" +"Whether the context menus of entries and text views should offer to change " +"the input method" +msgstr "項目與文字檢視的快顯選單是否應提供改變輸入法的功能" + +#: ../gtk/gtksettings.c:548 +msgid "Show the 'Insert Unicode Control Character' menu" +msgstr "顯示「插入 Unicode 控制字元」選單" + +#: ../gtk/gtksettings.c:549 +msgid "" +"Whether the context menus of entries and text views should offer to insert " +"control characters" +msgstr "項目與文字檢視的快顯選單是否應提供插入控制字元的功能" + +#: ../gtk/gtksettings.c:557 +msgid "Start timeout" +msgstr "開始逾時" + +#: ../gtk/gtksettings.c:558 +msgid "Starting value for timeouts, when button is pressed" +msgstr "按下按鈕時逾時的起始值" + +#: ../gtk/gtksettings.c:567 +msgid "Repeat timeout" +msgstr "重複逾時" + +#: ../gtk/gtksettings.c:568 +msgid "Repeat value for timeouts, when button is pressed" +msgstr "按下按鈕時逾時的重複值" + +#: ../gtk/gtksettings.c:577 +msgid "Expand timeout" +msgstr "展開已逾時" + +#: ../gtk/gtksettings.c:578 +msgid "Expand value for timeouts, when a widget is expanding a new region" +msgstr "當視窗元件要展開新區域逾時的展開值" + +#: ../gtk/gtksettings.c:613 +msgid "Color scheme" +msgstr "色彩配置" + +#: ../gtk/gtksettings.c:614 +msgid "A palette of named colors for use in themes" +msgstr "佈景主題中具名色彩的調色盤" + +#: ../gtk/gtksettings.c:623 +msgid "Enable Animations" +msgstr "啟用動畫" + +#: ../gtk/gtksettings.c:624 +msgid "Whether to enable toolkit-wide animations." +msgstr "是否啓用工具組動畫。" + +#: ../gtk/gtksettings.c:642 +msgid "Enable Touchscreen Mode" +msgstr "啟用觸控螢幕模式" + +#: ../gtk/gtksettings.c:643 +msgid "When TRUE, there are no motion notify events delivered on this screen" +msgstr "如果設為 TRUE,就不會遞送移動通知事件到這個畫面" + +#: ../gtk/gtksettings.c:660 +msgid "Tooltip timeout" +msgstr "工具提示時限" + +#: ../gtk/gtksettings.c:661 +msgid "Timeout before tooltip is shown" +msgstr "顯示工具提示前的時間" + +#: ../gtk/gtksettings.c:686 +msgid "Tooltip browse timeout" +msgstr "工具提示瀏覽時間" + +#: ../gtk/gtksettings.c:687 +msgid "Timeout before tooltip is shown when browse mode is enabled" +msgstr "當啓用瀏覽模式時顯示工具提示前的時間" + +#: ../gtk/gtksettings.c:708 +msgid "Tooltip browse mode timeout" +msgstr "瀏覽模式工具提示顯示時間" + +#: ../gtk/gtksettings.c:709 +msgid "Timeout after which browse mode is disabled" +msgstr "停用瀏覽模式的時限" + +#: ../gtk/gtksettings.c:728 +msgid "Keynav Cursor Only" +msgstr "只有鍵盤操控游標" + +#: ../gtk/gtksettings.c:729 +msgid "When TRUE, there are only cursor keys available to navigate widgets" +msgstr "當 TRUE 時,只有游標可用於導覽視窗元件" + +#: ../gtk/gtksettings.c:746 +msgid "Keynav Wrap Around" +msgstr "鍵盤操控換行" + +#: ../gtk/gtksettings.c:747 +msgid "Whether to wrap around when keyboard-navigating widgets" +msgstr "使用鍵盤操控的視窗元件時是否換行" + +#: ../gtk/gtksettings.c:767 +msgid "Error Bell" +msgstr "錯誤響鈴" + +#: ../gtk/gtksettings.c:768 +msgid "When TRUE, keyboard navigation and other errors will cause a beep" +msgstr "當 TRUE 時,鍵盤操控與其他錯誤都會造成嗶聲" + +#: ../gtk/gtksettings.c:785 +msgid "Color Hash" +msgstr "色彩雜湊" + +#: ../gtk/gtksettings.c:786 +msgid "A hash table representation of the color scheme." +msgstr "表示色彩方案的湊雜表。" + +#: ../gtk/gtksettings.c:794 +msgid "Default file chooser backend" +msgstr "預設檔案選擇元件後端" + +#: ../gtk/gtksettings.c:795 +msgid "Name of the GtkFileChooser backend to use by default" +msgstr "預設使用的 GtkFileChooser 後端名稱" + +#: ../gtk/gtksettings.c:812 +msgid "Default print backend" +msgstr "預設列印後端" + +#: ../gtk/gtksettings.c:813 +msgid "List of the GtkPrintBackend backends to use by default" +msgstr "預設使用的 GtkPrintBackend 後端清單" + +#: ../gtk/gtksettings.c:836 +msgid "Default command to run when displaying a print preview" +msgstr "顯示列印預覽時預設執行的指令" + +#: ../gtk/gtksettings.c:837 +msgid "Command to run when displaying a print preview" +msgstr "顯示列印預覽時要執行的指令" + +#: ../gtk/gtksettings.c:853 +msgid "Enable Mnemonics" +msgstr "啟用記憶符" + +#: ../gtk/gtksettings.c:854 +msgid "Whether labels should have mnemonics" +msgstr "標籤是否要有記憶符" + +#: ../gtk/gtksettings.c:870 +msgid "Enable Accelerators" +msgstr "啟用捷徑鍵" + +#: ../gtk/gtksettings.c:871 +msgid "Whether menu items should have accelerators" +msgstr "選單項目是否要有捷徑鍵" + +#: ../gtk/gtksettings.c:888 +msgid "Recent Files Limit" +msgstr "最近使用檔案限制" + +#: ../gtk/gtksettings.c:889 +msgid "Number of recently used files" +msgstr "最近使用的檔案數量" + +#: ../gtk/gtksettings.c:907 +msgid "Default IM module" +msgstr "預設的 IM 模組" + +#: ../gtk/gtksettings.c:908 +msgid "Which IM module should be used by default" +msgstr "預設要使用哪一個 IM 模組" + +#: ../gtk/gtksettings.c:926 +msgid "Recent Files Max Age" +msgstr "最近使用檔案最大保存時間" + +#: ../gtk/gtksettings.c:927 +msgid "Maximum age of recently used files, in days" +msgstr "最近使用檔案最大保存時間,以天數計" + +#: ../gtk/gtksettings.c:936 +msgid "Fontconfig configuration timestamp" +msgstr "Fontconfig 組態時刻戳記" + +#: ../gtk/gtksettings.c:937 +msgid "Timestamp of current fontconfig configuration" +msgstr "目前的 fontconfig 組態的時刻戳記" + +#: ../gtk/gtksettings.c:959 +msgid "Sound Theme Name" +msgstr "音效主題名稱" + +#: ../gtk/gtksettings.c:960 +msgid "XDG sound theme name" +msgstr "XDG 音效主題名稱" + +#. Translators: this means sounds that are played as feedback to user input +#: ../gtk/gtksettings.c:982 +msgid "Audible Input Feedback" +msgstr "音效輸入回饋" + +#: ../gtk/gtksettings.c:983 +msgid "Whether to play event sounds as feedback to user input" +msgstr "是否以播放事件音效作為對使用者輸入的回饋" + +#: ../gtk/gtksettings.c:1004 +msgid "Enable Event Sounds" +msgstr "啟用事件音效" + +#: ../gtk/gtksettings.c:1005 +msgid "Whether to play any event sounds at all" +msgstr "是否播放任何事件音效" + +#: ../gtk/gtksettings.c:1020 +msgid "Enable Tooltips" +msgstr "啟用工具提示" + +#: ../gtk/gtksettings.c:1021 +msgid "Whether tooltips should be shown on widgets" +msgstr "是否在視窗元件上顯示工具提示" + +#: ../gtk/gtksettings.c:1034 +msgid "Toolbar style" +msgstr "工具列樣式" + +#: ../gtk/gtksettings.c:1035 +msgid "" +"Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "決定預設的工具列只顯示文字,還是文字加圖示,或是只顯示圖示等等" + +#: ../gtk/gtksettings.c:1049 +msgid "Toolbar Icon Size" +msgstr "工具列圖示大小" + +#: ../gtk/gtksettings.c:1050 +msgid "The size of icons in default toolbars." +msgstr "預設工具列的圖示尺寸。" + +#: ../gtk/gtksettings.c:1067 +msgid "Auto Mnemonics" +msgstr "自動記憶符" + +#: ../gtk/gtksettings.c:1068 +msgid "" +"Whether mnemonics should be automatically shown and hidden when the user " +"presses the mnemonic activator." +msgstr "當按下記憶符啟動鍵時是否要自動顯示或隱藏記憶符。" + +#: ../gtk/gtksettings.c:1093 +msgid "Application prefers a dark theme" +msgstr "應用程式偏好暗色主題" + +#: ../gtk/gtksettings.c:1094 +msgid "Whether the application prefers to have a dark theme." +msgstr "應用程式是否偏好暗色系佈景主題。" + +#: ../gtk/gtksettings.c:1109 +msgid "Show button images" +msgstr "顯示按鈕圖示" + +#: ../gtk/gtksettings.c:1110 +msgid "Whether images should be shown on buttons" +msgstr "是否在按鈕中顯示圖片" + +#: ../gtk/gtksettings.c:1118 ../gtk/gtksettings.c:1212 +msgid "Select on focus" +msgstr "聚焦時選取" + +#: ../gtk/gtksettings.c:1119 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "當輸入元件取得焦點時,其內容是否呈現被選取狀態" + +#: ../gtk/gtksettings.c:1136 +msgid "Password Hint Timeout" +msgstr "密碼提示逾時時間" + +#: ../gtk/gtksettings.c:1137 +msgid "How long to show the last input character in hidden entries" +msgstr "等待多久才顯示隱藏項目中最後輸入的字元" + +#: ../gtk/gtksettings.c:1146 +msgid "Show menu images" +msgstr "顯示選單圖示" + +#: ../gtk/gtksettings.c:1147 +msgid "Whether images should be shown in menus" +msgstr "應否在選單項目中顯示圖示" + +#: ../gtk/gtksettings.c:1155 +msgid "Delay before drop down menus appear" +msgstr "下拉選單出現前的延遲時間" + +#: ../gtk/gtksettings.c:1156 +msgid "Delay before the submenus of a menu bar appear" +msgstr "選單列的子選單出現前的延遲時間" + +#: ../gtk/gtksettings.c:1173 msgid "Scrolled Window Placement" msgstr "捲動列視窗放置" -#: gtk/gtkscrolledwindow.c:338 +#: ../gtk/gtksettings.c:1174 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -4702,555 +5220,137 @@ msgstr "" "若沒有設定捲動列視窗自己的放置位置,捲動列視窗的內容要置於相應於捲動列哪個位" "置。" -#: gtk/gtkseparatortoolitem.c:138 -msgid "Draw" -msgstr "繪製" +#: ../gtk/gtksettings.c:1183 +msgid "Can change accelerators" +msgstr "可更改捷徑鍵" -#: gtk/gtkseparatortoolitem.c:139 -msgid "Whether the separator is drawn, or just blank" -msgstr "分隔線應否被繪製,或為留白" - -#: gtk/gtksettings.c:225 -msgid "Double Click Time" -msgstr "雙擊時間" - -#: gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:1184 msgid "" -"Maximum time allowed between two clicks for them to be considered a double " -"click (in milliseconds)" -msgstr "代表雙擊的兩下按鍵之間可接受的最長時間(亳秒),如果再長則不作雙擊處理" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "是否可在選單項目上按鍵來變更快捷鍵" -#: gtk/gtksettings.c:233 -msgid "Double Click Distance" -msgstr "雙擊間距" +#: ../gtk/gtksettings.c:1192 +msgid "Delay before submenus appear" +msgstr "顯示子選單前的延遲時間" -#: gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:1193 msgid "" -"Maximum distance allowed between two clicks for them to be considered a " -"double click (in pixels)" -msgstr "" -"代表雙擊的兩下按鍵之間可接受的最長距離(像素),如果再長則不視作雙擊處理" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "在選單項目上顯示子選單所需的游標停滯最小時間" -#: gtk/gtksettings.c:250 -msgid "Cursor Blink" -msgstr "閃爍游標" +#: ../gtk/gtksettings.c:1202 +msgid "Delay before hiding a submenu" +msgstr "隱藏子選單前的延遲時間" -#: gtk/gtksettings.c:251 -msgid "Whether the cursor should blink" -msgstr "游標應否閃爍" - -#: gtk/gtksettings.c:258 -msgid "Cursor Blink Time" -msgstr "游標閃爍時間" - -#: gtk/gtksettings.c:259 -msgid "Length of the cursor blink cycle, in milliseconds" -msgstr "游標每次閃爍的時間間隔(毫秒)" - -#: gtk/gtksettings.c:278 -msgid "Cursor Blink Timeout" -msgstr "游標閃爍時間" - -#: gtk/gtksettings.c:279 -msgid "Time after which the cursor stops blinking, in seconds" -msgstr "游標停止閃爍後的時間(毫秒)" - -#: gtk/gtksettings.c:286 -msgid "Split Cursor" -msgstr "分開游標" - -#: gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:1203 msgid "" -"Whether two cursors should be displayed for mixed left-to-right and right-to-" -"left text" -msgstr "當左至右和右至左的文字混合出現時應否分別顯示游標" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "游標移向子選單前子選單的顯示時間,超過則隱藏子選單" -#: gtk/gtksettings.c:294 -msgid "Theme Name" -msgstr "佈景名稱" +#: ../gtk/gtksettings.c:1213 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "當可選擇標籤取得焦點時,其內容是否呈現被選取狀態" -#: gtk/gtksettings.c:295 -msgid "Name of theme RC file to load" -msgstr "準備載入的佈景主題檔案名稱" +#: ../gtk/gtksettings.c:1221 +msgid "Custom palette" +msgstr "自訂色盤" -#: gtk/gtksettings.c:303 -msgid "Icon Theme Name" -msgstr "圖示佈景名稱" +#: ../gtk/gtksettings.c:1222 +msgid "Palette to use in the color selector" +msgstr "顏色選擇程序使用的色盤" -#: gtk/gtksettings.c:304 -msgid "Name of icon theme to use" -msgstr "使用的圖示佈景名稱" +#: ../gtk/gtksettings.c:1230 +msgid "IM Preedit style" +msgstr "輸入法 Preedit 樣式" -#: gtk/gtksettings.c:312 -msgid "Fallback Icon Theme Name" -msgstr "後備圖示佈景名稱" +#: ../gtk/gtksettings.c:1231 +msgid "How to draw the input method preedit string" +msgstr "如何顯示輸入法 preedit 字串" -#: gtk/gtksettings.c:313 -msgid "Name of a icon theme to fall back to" -msgstr "用作後備的圖示佈景名稱" +#: ../gtk/gtksettings.c:1240 +msgid "IM Status style" +msgstr "輸入法狀態的式樣" -#: gtk/gtksettings.c:321 -msgid "Key Theme Name" -msgstr "主題名稱" +#: ../gtk/gtksettings.c:1241 +msgid "How to draw the input method statusbar" +msgstr "如何顯示輸入法的狀態列" -#: gtk/gtksettings.c:322 -msgid "Name of key theme RC file to load" -msgstr "要載入的主題 RC 檔案名稱" - -#: gtk/gtksettings.c:330 -msgid "Menu bar accelerator" -msgstr "選單列捷徑鍵" - -#: gtk/gtksettings.c:331 -msgid "Keybinding to activate the menu bar" -msgstr "啟用選單列所用的按鍵結合" - -#: gtk/gtksettings.c:339 -msgid "Drag threshold" -msgstr "拖曳距離界限" - -#: gtk/gtksettings.c:340 -msgid "Number of pixels the cursor can move before dragging" -msgstr "未作為拖曳之前,鼠標應移動的距離,以像素表示" - -#: gtk/gtksettings.c:348 -msgid "Font Name" -msgstr "字型名稱" - -#: gtk/gtksettings.c:349 -msgid "Name of default font to use" -msgstr "預設使用的字型名稱" - -#: gtk/gtksettings.c:371 -msgid "Icon Sizes" -msgstr "圖示大小" - -#: gtk/gtksettings.c:372 -msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -msgstr "圖示大小清單 (gtk-menu=16,16:gtk-button=20,20..." - -#: gtk/gtksettings.c:380 -msgid "GTK Modules" -msgstr "GTK 模組" - -#: gtk/gtksettings.c:381 -msgid "List of currently active GTK modules" -msgstr "目前正在使用的 GTK 模組的清單" - -#: gtk/gtksettings.c:390 -msgid "Xft Antialias" -msgstr "Xft 平滑化" - -#: gtk/gtksettings.c:391 -msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" -msgstr "是否以平滑化方式顯示 Xft 字型; 0=否, 1=是, -1=預設值" - -#: gtk/gtksettings.c:400 -msgid "Xft Hinting" -msgstr "Xft Hinting" - -#: gtk/gtksettings.c:401 -msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" -msgstr "是否 hint Xft 字型; 0=否, 1=是, -1=預設值" - -#: gtk/gtksettings.c:410 -msgid "Xft Hint Style" -msgstr "Xft Hint 樣式" - -#: gtk/gtksettings.c:411 -msgid "" -"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -msgstr "hinting 的使用程度;無、輕微、中等、完全" - -#: gtk/gtksettings.c:420 -msgid "Xft RGBA" -msgstr "Xft RGBA" - -#: gtk/gtksettings.c:421 -msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" -msgstr "像素平滑化的方式; 無, rgb, bgr, vrgb, vbgr" - -#: gtk/gtksettings.c:430 -msgid "Xft DPI" -msgstr "Xft DPI" - -#: gtk/gtksettings.c:431 -msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -msgstr "Xft 的解析度, 單位為 1024 * 點數/英吋。-1為使用預設值" - -#: gtk/gtksettings.c:440 -msgid "Cursor theme name" -msgstr "游標佈景名稱" - -#: gtk/gtksettings.c:441 -msgid "Name of the cursor theme to use, or NULL to use the default theme" -msgstr "使用的游標佈景主題名稱,或為 NULL 以使用預設佈景主題" - -#: gtk/gtksettings.c:449 -msgid "Cursor theme size" -msgstr "游標佈景大小" - -#: gtk/gtksettings.c:450 -msgid "Size to use for cursors, or 0 to use the default size" -msgstr "游標的大小,或為 0 以使用預設大小" - -#: gtk/gtksettings.c:460 -msgid "Alternative button order" -msgstr "替換按鈕順序" - -#: gtk/gtksettings.c:461 -msgid "Whether buttons in dialogs should use the alternative button order" -msgstr "對話盒內的按鈕應該使用另一種排列方式" - -#: gtk/gtksettings.c:478 -msgid "Alternative sort indicator direction" -msgstr "替換排序指示器方向" - -#: gtk/gtksettings.c:479 -msgid "" -"Whether the direction of the sort indicators in list and tree views is " -"inverted compared to the default (where down means ascending)" -msgstr "清單和樹狀檢視中指示器排序的方向是否與預設狀況(這裡指往下遞增)相反" - -#: gtk/gtksettings.c:487 -msgid "Show the 'Input Methods' menu" -msgstr "顯示「輸入法」選單" - -#: gtk/gtksettings.c:488 -msgid "" -"Whether the context menus of entries and text views should offer to change " -"the input method" -msgstr "項目與文字檢視的快顯選單是否應提供改變輸入法的功能" - -#: gtk/gtksettings.c:496 -msgid "Show the 'Insert Unicode Control Character' menu" -msgstr "顯示「插入 Unicode 控制字元」選單" - -#: gtk/gtksettings.c:497 -msgid "" -"Whether the context menus of entries and text views should offer to insert " -"control characters" -msgstr "項目與文字檢視的快顯選單是否應提供插入控制字元的功能" - -#: gtk/gtksettings.c:505 -msgid "Start timeout" -msgstr "開始逾時" - -#: gtk/gtksettings.c:506 -msgid "Starting value for timeouts, when button is pressed" -msgstr "按下按鈕時逾時的起始值" - -#: gtk/gtksettings.c:515 -msgid "Repeat timeout" -msgstr "重複逾時" - -#: gtk/gtksettings.c:516 -msgid "Repeat value for timeouts, when button is pressed" -msgstr "按下按鈕時逾時的重複值" - -#: gtk/gtksettings.c:525 -msgid "Expand timeout" -msgstr "展開已逾時" - -#: gtk/gtksettings.c:526 -msgid "Expand value for timeouts, when a widget is expanding a new region" -msgstr "當視窗元件要展開新區域逾時的展開值" - -#: gtk/gtksettings.c:561 -msgid "Color scheme" -msgstr "色彩配置" - -#: gtk/gtksettings.c:562 -msgid "A palette of named colors for use in themes" -msgstr "佈景主題中具名色彩的調色盤" - -#: gtk/gtksettings.c:571 -msgid "Enable Animations" -msgstr "啟用動畫" - -#: gtk/gtksettings.c:572 -msgid "Whether to enable toolkit-wide animations." -msgstr "是否啓用工具組動畫。" - -#: gtk/gtksettings.c:590 -msgid "Enable Touchscreen Mode" -msgstr "啟用觸控螢幕模式" - -#: gtk/gtksettings.c:591 -msgid "When TRUE, there are no motion notify events delivered on this screen" -msgstr "如果設為 TRUE,就不會遞送移動通知事件到這個畫面" - -#: gtk/gtksettings.c:608 -msgid "Tooltip timeout" -msgstr "工具提示時限" - -#: gtk/gtksettings.c:609 -msgid "Timeout before tooltip is shown" -msgstr "顯示工具提示前的時間" - -#: gtk/gtksettings.c:634 -msgid "Tooltip browse timeout" -msgstr "工具提示瀏覽時間" - -#: gtk/gtksettings.c:635 -msgid "Timeout before tooltip is shown when browse mode is enabled" -msgstr "當啓用瀏覽模式時顯示工具提示前的時間" - -#: gtk/gtksettings.c:656 -msgid "Tooltip browse mode timeout" -msgstr "瀏覽模式工具提示顯示時間" - -#: gtk/gtksettings.c:657 -msgid "Timeout after which browse mode is disabled" -msgstr "停用瀏覽模式的時限" - -#: gtk/gtksettings.c:676 -msgid "Keynav Cursor Only" -msgstr "只有鍵盤操控游標" - -#: gtk/gtksettings.c:677 -msgid "When TRUE, there are only cursor keys available to navigate widgets" -msgstr "當 TRUE 時,只有游標可用於導覽視窗元件" - -#: gtk/gtksettings.c:694 -msgid "Keynav Wrap Around" -msgstr "鍵盤操控換行" - -#: gtk/gtksettings.c:695 -msgid "Whether to wrap around when keyboard-navigating widgets" -msgstr "使用鍵盤操控的視窗元件時是否換行" - -#: gtk/gtksettings.c:715 -msgid "Error Bell" -msgstr "錯誤響鈴" - -#: gtk/gtksettings.c:716 -msgid "When TRUE, keyboard navigation and other errors will cause a beep" -msgstr "當 TRUE 時,鍵盤操控與其他錯誤都會造成嗶聲" - -#: gtk/gtksettings.c:733 -msgid "Color Hash" -msgstr "色彩雜湊" - -#: gtk/gtksettings.c:734 -msgid "A hash table representation of the color scheme." -msgstr "表示色彩方案的湊雜表。" - -#: gtk/gtksettings.c:742 -msgid "Default file chooser backend" -msgstr "預設檔案選擇元件後端" - -#: gtk/gtksettings.c:743 -msgid "Name of the GtkFileChooser backend to use by default" -msgstr "預設使用的 GtkFileChooser 後端名稱" - -#: gtk/gtksettings.c:760 -msgid "Default print backend" -msgstr "預設列印後端" - -#: gtk/gtksettings.c:761 -msgid "List of the GtkPrintBackend backends to use by default" -msgstr "預設使用的 GtkPrintBackend 後端清單" - -#: gtk/gtksettings.c:784 -msgid "Default command to run when displaying a print preview" -msgstr "顯示列印預覽時預設執行的指令" - -#: gtk/gtksettings.c:785 -msgid "Command to run when displaying a print preview" -msgstr "顯示列印預覽時要執行的指令" - -#: gtk/gtksettings.c:801 -msgid "Enable Mnemonics" -msgstr "啟用記憶符" - -#: gtk/gtksettings.c:802 -msgid "Whether labels should have mnemonics" -msgstr "標籤是否要有記憶符" - -#: gtk/gtksettings.c:818 -msgid "Enable Accelerators" -msgstr "啟用捷徑鍵" - -#: gtk/gtksettings.c:819 -msgid "Whether menu items should have accelerators" -msgstr "選單項目是否要有捷徑鍵" - -#: gtk/gtksettings.c:836 -msgid "Recent Files Limit" -msgstr "最近使用檔案限制" - -#: gtk/gtksettings.c:837 -msgid "Number of recently used files" -msgstr "最近使用的檔案數量" - -#: gtk/gtksettings.c:855 -msgid "Default IM module" -msgstr "預設的 IM 模組" - -#: gtk/gtksettings.c:856 -msgid "Which IM module should be used by default" -msgstr "預設要使用哪一個 IM 模組" - -#: gtk/gtksettings.c:874 -msgid "Recent Files Max Age" -msgstr "最近使用檔案最大保存時間" - -#: gtk/gtksettings.c:875 -msgid "Maximum age of recently used files, in days" -msgstr "最近使用檔案最大保存時間,以天數計" - -#: gtk/gtksettings.c:884 -msgid "Fontconfig configuration timestamp" -msgstr "Fontconfig 組態時刻戳記" - -#: gtk/gtksettings.c:885 -msgid "Timestamp of current fontconfig configuration" -msgstr "目前的 fontconfig 組態的時刻戳記" - -#: gtk/gtksettings.c:907 -msgid "Sound Theme Name" -msgstr "音效主題名稱" - -#: gtk/gtksettings.c:908 -msgid "XDG sound theme name" -msgstr "XDG 音效主題名稱" - -#. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 -msgid "Audible Input Feedback" -msgstr "音效輸入回饋" - -#: gtk/gtksettings.c:931 -msgid "Whether to play event sounds as feedback to user input" -msgstr "是否以播放事件音效作為對使用者輸入的回饋" - -#: gtk/gtksettings.c:952 -msgid "Enable Event Sounds" -msgstr "啟用事件音效" - -#: gtk/gtksettings.c:953 -msgid "Whether to play any event sounds at all" -msgstr "是否播放任何事件音效" - -#: gtk/gtksettings.c:968 -msgid "Enable Tooltips" -msgstr "啟用工具提示" - -#: gtk/gtksettings.c:969 -msgid "Whether tooltips should be shown on widgets" -msgstr "是否在視窗元件上顯示工具提示" - -#: gtk/gtksettings.c:982 -msgid "Toolbar style" -msgstr "工具列樣式" - -#: gtk/gtksettings.c:983 -msgid "" -"Whether default toolbars have text only, text and icons, icons only, etc." -msgstr "決定預設的工具列只顯示文字,還是文字加圖示,或是只顯示圖示等等" - -#: gtk/gtksettings.c:997 -msgid "Toolbar Icon Size" -msgstr "工具列圖示大小" - -#: gtk/gtksettings.c:998 -msgid "The size of icons in default toolbars." -msgstr "預設工具列的圖示尺寸。" - -#: gtk/gtksettings.c:1015 -msgid "Auto Mnemonics" -msgstr "自動記憶符" - -#: gtk/gtksettings.c:1016 -msgid "" -"Whether mnemonics should be automatically shown and hidden when the user " -"presses the mnemonic activator." -msgstr "當按下記憶符啟動鍵時是否要自動顯示或隱藏記憶符。" - -#: gtk/gtksettings.c:1041 -msgid "Application prefers a dark theme" -msgstr "應用程式偏好暗色主題" - -#: gtk/gtksettings.c:1042 -msgid "Whether the application prefers to have a dark theme." -msgstr "應用程式是否偏好暗色系佈景主題。" - -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksizegroup.c:350 msgid "Mode" msgstr "模式" -#: gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:351 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" msgstr "大小群組影響元件所要求大小的方向" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:367 msgid "Ignore hidden" msgstr "忽略隱藏" -#: gtk/gtksizegroup.c:359 +#: ../gtk/gtksizegroup.c:368 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "如設為定為‘TRUE’,當決定群組的大小時會忽略未對應的元件" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:238 msgid "Climb Rate" msgstr "數值調整速度" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:258 msgid "Snap to Ticks" msgstr "校正數值" -#: gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:259 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" msgstr "當微調按鈕內的數值不正確時,是否自動更換為最接近的正確數值" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:266 msgid "Numeric" msgstr "數字" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:267 msgid "Whether non-numeric characters should be ignored" msgstr "是否忽略非數字的字元" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:274 msgid "Wrap" msgstr "換行" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:275 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "當到達界限時微調按鈕是否換行" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:282 msgid "Update Policy" msgstr "更新方式" -#: gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:283 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "微調按鈕應該任何時候都更新,還是只有輸入的數值合法時才會更新" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:292 msgid "Reads the current value, or sets a new value" msgstr "讀取目前的數值,或是設定新的數值" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:301 msgid "Style of bevel around the spin button" msgstr "微調按鈕周圍的邊界樣式" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:132 msgid "Whether the spinner is active" msgstr "轉輪是否在使用中" -#: gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:146 msgid "Number of steps" msgstr "步數:" -#: gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:147 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" @@ -5259,274 +5359,266 @@ msgstr "" "轉輪完成一次迴圈的步數。預設中動畫會一秒完成一次迴圈 (請查閱 #GtkSpinner:" "cycle-duration)。" -#: gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:162 msgid "Animation duration" msgstr "動畫持續時間" -#: gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:163 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "轉輪完成一次迴圈的時間長度(毫秒)" -#: gtk/gtkstatusbar.c:199 -msgid "Has Resize Grip" -msgstr "有大小調整標記" - -#: gtk/gtkstatusbar.c:200 -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "狀態列是否含有可以調整視窗大小的標記" - -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:181 msgid "Style of bevel around the statusbar text" msgstr "狀態列文字周圍的邊界樣式" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:270 msgid "The size of the icon" msgstr "圖示大小" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:280 msgid "The screen where this status icon will be displayed" msgstr "這個狀態圖示將顯示的螢幕" -#: gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:288 msgid "Whether the status icon is visible" msgstr "狀態圖示是否顯示" -#: gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:304 msgid "Whether the status icon is embedded" msgstr "狀態圖示是否為內嵌" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 msgid "The orientation of the tray" msgstr "系統匣的方向" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1087 msgid "Has tooltip" msgstr "具有工具提示" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:348 msgid "Whether this tray icon has a tooltip" msgstr "此系統匣圖示是否具有工具提示" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1108 msgid "Tooltip Text" msgstr "工具提示文字" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1109 ../gtk/gtkwidget.c:1130 msgid "The contents of the tooltip for this widget" msgstr "此視窗元件工具提示的內容" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1129 msgid "Tooltip markup" msgstr "工具提示標記" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:398 msgid "The contents of the tooltip for this tray icon" msgstr "此系統匣圖示工具提示的內容" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:416 msgid "The title of this tray icon" msgstr "此系統匣圖示的標題" -#: gtk/gtktable.c:148 +#: ../gtk/gtktable.c:157 msgid "Rows" -msgstr "行數" - -#: gtk/gtktable.c:149 -msgid "The number of rows in the table" -msgstr "表格的行數" - -#: gtk/gtktable.c:157 -msgid "Columns" msgstr "列數" -#: gtk/gtktable.c:158 -msgid "The number of columns in the table" +#: ../gtk/gtktable.c:158 +msgid "The number of rows in the table" msgstr "表格的列數" -#: gtk/gtktable.c:166 +#: ../gtk/gtktable.c:166 +msgid "Columns" +msgstr "行數" + +#: ../gtk/gtktable.c:167 +msgid "The number of columns in the table" +msgstr "表格的行數" + +#: ../gtk/gtktable.c:175 msgid "Row spacing" -msgstr "行距" - -#: gtk/gtktable.c:167 -msgid "The amount of space between two consecutive rows" -msgstr "兩行之間的距離" - -#: gtk/gtktable.c:175 -msgid "Column spacing" msgstr "列距" -#: gtk/gtktable.c:176 -msgid "The amount of space between two consecutive columns" +#: ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" msgstr "兩列之間的距離" -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "行距" + +#: ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "兩行之間的距離" + +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "如設為定為‘TRUE’,表示表格中所有儲存格尺寸都一樣" -#: gtk/gtktable.c:192 +#: ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "左側附加" -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "右側附加" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "附加子元件右側於其上的縱列格數" -#: gtk/gtktable.c:206 +#: ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "頂端附加" -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" -msgstr "附加子元件於其頂端的行數" +msgstr "附加子元件於其頂端的列數" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "底部附加" -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "水平選項" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "指定子元件水平行為的選項" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "垂直選項" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "指定子元件垂直行為的選項" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "水平留邊" -#: gtk/gtktable.c:235 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" msgstr "副元件與鄰接左右的元件之間的額外空位,以像素表示" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "垂直留邊" -#: gtk/gtktable.c:242 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" msgstr "副元件與鄰接上下的元件之間的額外空位,以像素表示" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:191 msgid "Tag Table" msgstr "標記表格" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:192 msgid "Text Tag Table" msgstr "文字標記表格" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:210 msgid "Current text of the buffer" msgstr "緩衝區目前的文字" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:224 msgid "Has selection" msgstr "具有選定的範圍" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:225 msgid "Whether the buffer has some text currently selected" msgstr "緩衝區目前是否有某些文字被選取" -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:241 msgid "Cursor position" msgstr "游標位置" -#: gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:242 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "插入標記的位置(從緩衝區開始的位移)" -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:257 msgid "Copy target list" msgstr "複製目標清單" -#: gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:258 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "這個緩衝區支援剪貼簿複製與拖放(DND)來源的目標清單" -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:273 msgid "Paste target list" msgstr "要貼上的目標清單" -#: gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:274 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" msgstr "這個緩衝區支援剪貼簿貼上與拖放(DND)目的端的目標清單" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 msgid "Mark name" msgstr "標記名稱" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "由右至左" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "此標記是否為由右至左" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:168 msgid "Tag name" msgstr "標記名稱" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:169 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "文字標記的代表名稱。NULL 為匿名標記" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:187 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "以 GdkColor 方式表達(可能仍未配置)的背景顏色" -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:194 msgid "Background full height" msgstr "背景填滿高度" -#: gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:195 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" msgstr "是否背景顏色填滿整行行高,或者僅止於那些被標記的字元的高度" -#: gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:211 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "以 GdkColor 方式表達 (可能仍未配置) 的前景顏色" -#: gtk/gtktexttag.c:218 +#: ../gtk/gtktexttag.c:218 msgid "Text direction" msgstr "文字方向" -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:219 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "文字方向,例如左至右或右至左" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:268 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "以 PangoStyle 方式表示的字型款式,例如 PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:277 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "以 PangoVariant 方式表示的字型變化,例如 PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:286 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5534,15 +5626,15 @@ msgstr "" "以數字表示的字型粗幼度,請參考 PangoWeight 中預先定義的數值,例如 " "PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:297 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "字型依照 PangoStrech 拉長, 例:PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:306 msgid "Font size in Pango units" msgstr "以 Pango 單位表示的字型大小" -#: gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:316 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5551,11 +5643,11 @@ msgstr "" "字型大小作為縮放比例,相對於預設文字大小。本屬性隨佈景主題等設定而改變,故建" "議使用。Pango預先定義了某些縮放比,例如 PANGO_SCALE_X_LARGE" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:704 msgid "Left, right, or center justification" msgstr "靠左、靠右或是置中對齊" -#: gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:355 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5563,366 +5655,366 @@ msgstr "" "該文字所用的語言,以 ISO 代碼表示。Pango 在描繪文字時會使用這個設定作為提示。" "如果沒有指定,則會自動選擇最適當的值。" -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:362 msgid "Left margin" msgstr "左邊邊界" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:713 msgid "Width of the left margin in pixels" msgstr "左邊邊界的寬度,以像素數目表示" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:372 msgid "Right margin" msgstr "右邊邊界" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:723 msgid "Width of the right margin in pixels" msgstr "右邊邊界的寬度,以像素數目表示" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:732 msgid "Indent" msgstr "增加縮排" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:733 msgid "Amount to indent the paragraph, in pixels" msgstr "段落縮排的程度,以像素數目表示" -#: gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:395 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" msgstr "文字在基準線以上的距離(負數表示文字在基準線以下),以 Pango 單位表示" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:404 msgid "Pixels above lines" msgstr "段落頂端空間" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:657 msgid "Pixels of blank space above paragraphs" msgstr "段落頂端的空間的像素數目" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:414 msgid "Pixels below lines" msgstr "段落底部空間" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:667 msgid "Pixels of blank space below paragraphs" msgstr "段落底部的空間的像素數目" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:424 msgid "Pixels inside wrap" msgstr "換行時加上的像素" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:677 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "段落內部的行距的像素數目" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:695 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "選擇永遠不換行、字詞邊界換行或是字元邊界換行" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:742 msgid "Tabs" msgstr "分頁" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:743 msgid "Custom tabs for this text" msgstr "本文字的自訂 tab" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:480 msgid "Invisible" msgstr "隱形" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:481 msgid "Whether this text is hidden." msgstr "本文字是否隱藏。" -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:495 msgid "Paragraph background color name" msgstr "段落背景顏色名稱" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:496 msgid "Paragraph background color as a string" msgstr "段落背景顏色(以字串表示)" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:511 msgid "Paragraph background color" msgstr "段落背景顏色" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:512 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "以段落背景顏色作為(可能仍未配置)GdkColor" -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:530 msgid "Margin Accumulates" msgstr "邊緣累計" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:531 msgid "Whether left and right margins accumulate." msgstr "左、右邊緣是否累計。" -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:544 msgid "Background full height set" msgstr "背景完整高度設定" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:545 msgid "Whether this tag affects background height" msgstr "此標記可否影響背景高度" -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:584 msgid "Justification set" msgstr "調整設定" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:585 msgid "Whether this tag affects paragraph justification" msgstr "此標記可否影響段落調整" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:592 msgid "Left margin set" msgstr "左邊界設定" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:593 msgid "Whether this tag affects the left margin" msgstr "此標記可否影響左邊界" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:596 msgid "Indent set" msgstr "縮排設定" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:597 msgid "Whether this tag affects indentation" msgstr "此標記可否影響縮排" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:604 msgid "Pixels above lines set" msgstr "段落頂端空間設定" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 msgid "Whether this tag affects the number of pixels above lines" msgstr "此標記可否影響段落頂端空間高度" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:608 msgid "Pixels below lines set" msgstr "段落底端空間設定" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:612 msgid "Pixels inside wrap set" msgstr "換行內部像素數設定" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:613 msgid "Whether this tag affects the number of pixels between wrapped lines" -msgstr "此標記可否影響換行段落內部行間的間距" +msgstr "此標記可否影響換行段落內部行間的距離" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:620 msgid "Right margin set" msgstr "右邊邊界設定" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:621 msgid "Whether this tag affects the right margin" msgstr "此標記可否影響右邊邊界" -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:628 msgid "Wrap mode set" msgstr "換行模式設定" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:629 msgid "Whether this tag affects line wrap mode" msgstr "本標籤可否影響換行模式" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:632 msgid "Tabs set" msgstr "Tab 設定" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:633 msgid "Whether this tag affects tabs" msgstr "標記可否影響 Tab" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:636 msgid "Invisible set" msgstr "隱藏設定" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:637 msgid "Whether this tag affects text visibility" msgstr "本標記是否影響文字可見度" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:640 msgid "Paragraph background set" msgstr "段落背景設定" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:641 msgid "Whether this tag affects the paragraph background color" msgstr "本標籤會否影響段落的背景顏色" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:656 msgid "Pixels Above Lines" msgstr "每行頂部加上的像素" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:666 msgid "Pixels Below Lines" msgstr "每行底部加上的像素" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:676 msgid "Pixels Inside Wrap" msgstr "段落內部行距" -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:694 msgid "Wrap Mode" msgstr "換行模式" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:712 msgid "Left Margin" msgstr "左邊邊界" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:722 msgid "Right Margin" msgstr "右邊邊界" -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:750 msgid "Cursor Visible" msgstr "顯示游標" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:751 msgid "If the insertion cursor is shown" msgstr "是否顯示游標" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:758 msgid "Buffer" msgstr "緩衝區" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:759 msgid "The buffer which is displayed" msgstr "用來顯示的緩衝區" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:767 msgid "Whether entered text overwrites existing contents" msgstr "是否輸入文字可以覆寫既有文字" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:774 msgid "Accepts tab" msgstr "接受Tab鍵" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:775 msgid "Whether Tab will result in a tab character being entered" msgstr "是否 Tab 鍵會導致 Tab字元輸入" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:810 msgid "Error underline color" msgstr "錯誤的底線顏色" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:811 msgid "Color with which to draw error-indication underlines" msgstr "繪畫游標使用的顏色" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "產生與單選指令一樣的代理" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" msgstr "是否該指令的代理看起來是單選指令代理" -#: gtk/gtktoggleaction.c:134 +#: ../gtk/gtktoggleaction.c:134 msgid "Whether the toggle action should be active" msgstr "該切換動作是否應該執行" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 +#: ../gtk/gtktogglebutton.c:123 ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" msgstr "該切換按鈕是否應該被按下" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:131 msgid "If the toggle button is in an \"in between\" state" msgstr "是否該開關按鈕處於『未定』狀態" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:138 msgid "Draw Indicator" msgstr "繪製指示標記" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:139 msgid "If the toggle part of the button is displayed" msgstr "是否顯示按鈕的開關部份" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 msgid "Toolbar Style" msgstr "工具列樣式" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:492 msgid "How to draw the toolbar" msgstr "如何繪製工具列" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:499 msgid "Show Arrow" msgstr "顯示箭頭" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:500 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "若工具列大小不符是否顯示箭頭" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:521 msgid "Size of icons in this toolbar" msgstr "此工具列的圖示大小" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 msgid "Icon size set" msgstr "圖示大小設定" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 msgid "Whether the icon-size property has been set" msgstr "圖示大小屬性是否已設定" -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:546 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "當工具列放大時其內項目應否隨之放大" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "工具項目的大小應否與其他同尺寸項目一致" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:561 msgid "Spacer size" msgstr "間隔大小" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:562 msgid "Size of spacers" msgstr "間隔的大小" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:571 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "工具列陰影與按鈕之間的邊緣空間" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:579 msgid "Maximum child expand" msgstr "最大子項目展開" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:580 msgid "Maximum amount of space an expandable item will be given" msgstr "給予可展開項目的最大空間" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:588 msgid "Space style" msgstr "間格樣式" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:589 msgid "Whether spacers are vertical lines or just blank" msgstr "是否間隔為垂直線,或是只是空白" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:596 msgid "Button relief" msgstr "按鈕斜邊" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:597 msgid "Type of bevel around toolbar buttons" msgstr "工具列按鈕邊緣的斜邊樣式" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:604 msgid "Style of bevel around the toolbar" msgstr "工具列邊緣的斜邊樣式" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:203 msgid "Text to show in the item." msgstr "項目內的文字。" -#: gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:210 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -5930,43 +6022,43 @@ msgstr "" "若設置,在 label 屬性中的文字中含有(_)字元的下一個字母將被用來當作超出邊界選" "單的速記快捷鍵" -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:217 msgid "Widget to use as the item label" msgstr "當作項目文字標籤的替代視窗元件" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:223 msgid "Stock Id" msgstr "內建圖示代碼" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:224 msgid "The stock icon displayed on the item" msgstr "項目中所顯示的內建圖示" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:240 msgid "Icon name" msgstr "圖示名稱" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:241 msgid "The name of the themed icon displayed on the item" msgstr "在項目上顯示的佈景圖示的名稱" -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget" msgstr "圖示元件" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:248 msgid "Icon widget to display in the item" msgstr "準備在項目中顯示的圖示原現" -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:261 msgid "Icon spacing" msgstr "圖示間距" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:262 msgid "Spacing in pixels between the icon and label" msgstr "圖示與標籤間的間距(像素)" -#: gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -5974,858 +6066,872 @@ msgstr "" "是否工具列物件被視為重要的。若為 TRUE, 工具列按鈕以GTK_TOOLBAR_BOTH_HORIZ模式" "顯示文字" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 msgid "The human-readable title of this item group" msgstr "這個項目群組的供人類閱讀標題" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 msgid "A widget to display in place of the usual label" msgstr "替代原本標籤的視窗元件" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "已收摺" -#: gtk/gtktoolitemgroup.c:1586 -#, fuzzy +#: ../gtk/gtktoolitemgroup.c:1603 msgid "Whether the group has been collapsed and items are hidden" -msgstr "是否要將群組收摺起來,隱藏項目" +msgstr "是否要將群組收摺起來並隱藏項目" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "ellipsize" msgstr "簡化文字" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "簡化項目群組的標頭" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Header Relief" msgstr "標頭消除" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "Relief of the group header button" msgstr "消除群組標頭按鈕" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 msgid "Header Spacing" msgstr "標頭間距" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 msgid "Spacing between expander arrow and caption" msgstr "展開器箭頭與說明之間的間距" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 msgid "Whether the item should receive extra space when the group grows" msgstr "當群組增大時項目應否得到額外的空間" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 msgid "Whether the item should fill the available space" msgstr "項目是否應填滿所有可用的空間" -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "新增列" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 msgid "Whether the item should start a new row" msgstr "項目是否應新增一列" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 msgid "Position of the item within this group" msgstr "項目在這個群組中的位置" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1031 msgid "Size of icons in this tool palette" msgstr "圖示在這個工具盤中的大小" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1061 msgid "Style of items in the tool palette" msgstr "項目在這個工具盤中的樣式" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1077 msgid "Exclusive" msgstr "除外的" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1078 msgid "Whether the item group should be the only expanded at a given time" msgstr "項目群組是否只在指定時間展開" -#: gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1093 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "項目群組是否在工具盤擴大時得到額外的空間" -#: gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color for symbolic icons" msgstr "符號圖示的前景顏色" -#: gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:141 msgid "Error color" msgstr "錯誤顏色" -#: gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color for symbolic icons" msgstr "符號圖示的錯誤顏色" -#: gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:149 msgid "Warning color" msgstr "警告顏色" -#: gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color for symbolic icons" msgstr "符號圖示的警告顏色" -#: gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:157 msgid "Success color" msgstr "成功顏色" -#: gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color for symbolic icons" msgstr "符號圖示的成功顏色" -#: gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:166 msgid "Padding that should be put around icons in the tray" msgstr "系統匣中的圖示周圍是否留空" -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:278 msgid "TreeModelSort Model" msgstr "TreeModelSort 模型" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:279 msgid "The model for the TreeModelSort to sort" msgstr "給 TreeModelSort 排序的模型" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:660 msgid "TreeView Model" msgstr "TreeView 模型" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:661 msgid "The model for the tree view" msgstr "樹狀顯示所使用的模型" -#: gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "元件的水平調整" - -#: gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "元件的垂直調整" - -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:673 msgid "Headers Visible" msgstr "顯示標頭" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:674 msgid "Show the column header buttons" msgstr "顯示欄位標頭按鈕" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:681 msgid "Headers Clickable" msgstr "可以按下標頭" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:682 msgid "Column headers respond to click events" msgstr "欄位標頭對滑鼠點擊有反應" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:689 msgid "Expander Column" msgstr "可擴展欄位" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:690 msgid "Set the column for the expander column" msgstr "設定此欄位為可擴展欄位" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:705 msgid "Rules Hint" msgstr "規則提示" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:706 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "提供佈景主題引擎提示以顯示交錯的行列底色" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:713 msgid "Enable Search" msgstr "啟動搜尋" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:714 msgid "View allows user to search through columns interactively" msgstr "該顯示允許使用者以互動方式搜尋所有欄位" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:721 msgid "Search Column" msgstr "搜尋欄位" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:722 msgid "Model column to search through during interactive search" msgstr "經由互動式搜尋來搜尋的模型欄位" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:742 msgid "Fixed Height Mode" msgstr "固定高度模式" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:743 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" -msgstr "設定每一行為等高以加速GtkTreeView" +msgstr "設定每一列為等高以加速 GtkTreeView" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:763 msgid "Hover Selection" msgstr "隨游標選取" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:764 msgid "Whether the selection should follow the pointer" msgstr "是否隨游標改變選取範圍" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:783 msgid "Hover Expand" msgstr "隨游標展開" -#: gtk/gtktreeview.c:698 +#: ../gtk/gtktreeview.c:784 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" -msgstr "當游標移到該行時是否展開/摺疊它" +msgstr "當游標移到該時是否展開/開始自由它" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:798 msgid "Show Expanders" msgstr "顯示展開器" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:799 msgid "View has expanders" msgstr "檢視含有展開器" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:813 msgid "Level Indentation" msgstr "等級識別" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:814 msgid "Extra indentation for each level" msgstr "每個層級的額外縮排" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:823 msgid "Rubber Banding" msgstr "彈性限制" -#: gtk/gtktreeview.c:738 +#: ../gtk/gtktreeview.c:824 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "是否啟用以滑鼠指標同時選取多個項目" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:831 msgid "Enable Grid Lines" msgstr "啟用格線" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:832 msgid "Whether grid lines should be drawn in the tree view" msgstr "是否在樹狀檢視中繪出格線" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:840 msgid "Enable Tree Lines" msgstr "啟用樹狀線" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:841 msgid "Whether tree lines should be drawn in the tree view" msgstr "是否在樹狀檢視中繪出樹狀線" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:849 msgid "The column in the model containing the tooltip texts for the rows" msgstr "包含此列工具提示字串的模型欄位" -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:871 msgid "Vertical Separator Width" msgstr "垂直分隔元件寬度" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:872 msgid "Vertical space between cells. Must be an even number" msgstr "儲存格之間的垂直寬度。必須是偶數" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:880 msgid "Horizontal Separator Width" msgstr "水平分隔元件寬度" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:881 msgid "Horizontal space between cells. Must be an even number" msgstr "儲存格之間的水平寬度。必須是偶數" -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:889 msgid "Allow Rules" msgstr "允許分割線" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:890 msgid "Allow drawing of alternating color rows" msgstr "允許行與行繪製交錯底色" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:896 msgid "Indent Expanders" msgstr "縮排可開展欄位" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:897 msgid "Make the expanders indented" msgstr "令展開資料的箭頭縮排" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:903 msgid "Even Row Color" -msgstr "偶數行的顏色" +msgstr "偶數列的顏色" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:904 msgid "Color to use for even rows" -msgstr "在偶數的行中所使用的顏色" +msgstr "在偶數的列中所使用的顏色" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:910 msgid "Odd Row Color" -msgstr "奇數行的顏色" +msgstr "奇數排列頻率的顏色" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:911 msgid "Color to use for odd rows" -msgstr "在奇數的行中所使用的顏色" +msgstr "在奇數的列中所使用的顏色" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:917 msgid "Grid line width" msgstr "格線寬度" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:918 msgid "Width, in pixels, of the tree view grid lines" msgstr "樹狀檢視格線的寬度,以像素為單位" -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:924 msgid "Tree line width" msgstr "樹狀線寬度" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:925 msgid "Width, in pixels, of the tree view lines" msgstr "樹狀檢視示樹狀線的寬度,以像素為單位" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:931 msgid "Grid line pattern" msgstr "格線樣式" -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:932 msgid "Dash pattern used to draw the tree view grid lines" msgstr "用來繪製樹狀檢視格線的虛線樣式" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:938 msgid "Tree line pattern" msgstr "樹狀線樣式" -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:939 msgid "Dash pattern used to draw the tree view lines" msgstr "用來繪製樹狀檢視樹狀線的虛線樣式" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:214 msgid "Whether to display the column" msgstr "是否顯示該列資料" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:657 msgid "Resizable" msgstr "可調整尺寸" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:222 msgid "Column is user-resizable" msgstr "欄寬可以調整" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:230 msgid "Current width of the column" msgstr "目前的欄寬" -#: gtk/gtktreeviewcolumn.c:221 +#: ../gtk/gtktreeviewcolumn.c:239 msgid "Space which is inserted between cells" msgstr "插入格位之間的間隔" -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:247 msgid "Sizing" msgstr "調整大小" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:248 msgid "Resize mode of the column" msgstr "欄位的調整模式" -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:256 msgid "Fixed Width" msgstr "固定寬度" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:257 msgid "Current fixed width of the column" msgstr "目前的固定欄寬" -#: gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:266 msgid "Minimum Width" msgstr "最小寬度" -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Minimum allowed width of the column" msgstr "可接受的最小欄寬" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Maximum Width" msgstr "最大寬度" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Maximum allowed width of the column" msgstr "可接受的最大欄寬" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Title to appear in column header" msgstr "欄位標題中所顯示的文字" -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Column gets share of extra width allocated to the widget" msgstr "欄位取得分享給所屬元件增加的寬度" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:302 msgid "Clickable" msgstr "可按下" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:303 msgid "Whether the header can be clicked" msgstr "可否按下欄位標頭" -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:311 msgid "Widget" msgstr "元件" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:312 msgid "Widget to put in column header button instead of column title" msgstr "在欄位標頭中,以指定元件代替標題文字" -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:320 msgid "X Alignment of the column header text or widget" msgstr "欄位標頭文字或元件的水平對齊" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:330 msgid "Whether the column can be reordered around the headers" msgstr "是否該欄位可以在標頭下重新排序" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:337 msgid "Sort indicator" msgstr "排序指示標記" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:338 msgid "Whether to show a sort indicator" msgstr "是否顯示排序指示標記" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:345 msgid "Sort order" msgstr "排列次序" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:346 msgid "Sort direction the sort indicator should indicate" msgstr "排序指示器應顯示的排序方向" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:362 msgid "Sort column ID" msgstr "排序欄 ID" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:363 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "當選擇排序時這個欄位用來排序的邏輯排序欄位 ID" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:225 msgid "Whether tearoff menu items should be added to menus" msgstr "是否在選單上加上可卸下標記的選單項目" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:232 msgid "Merged UI definition" msgstr "整合的 UI 定義" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:233 msgid "An XML string describing the merged UI" msgstr "描述整合 UI 的特定 XML 字串" -#: gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" - -#: gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" - -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "決定視埠元件周圍的陰影方塊要如何繪製" -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkwidget.c:938 msgid "Widget name" msgstr "元件名稱" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:939 msgid "The name of the widget" msgstr "元件的名稱" -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:945 msgid "Parent widget" msgstr "母元件" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:946 msgid "The parent widget of this widget. Must be a Container widget" msgstr "該元件的母元件,必須是容器元件" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:953 msgid "Width request" msgstr "指定寬度" -#: gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:954 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" msgstr "自行指定元件的寬度,使用 -1 則表示使用預設寬度" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:962 msgid "Height request" msgstr "指定高度" -#: gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:963 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" msgstr "自行指定元件的高度,使用 -1 則表示使用預設高度" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:972 msgid "Whether the widget is visible" msgstr "該元件是否可見" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:979 msgid "Whether the widget responds to input" msgstr "元件是否對輸入有反應" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:985 msgid "Application paintable" msgstr "應用程式可繪製" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:986 msgid "Whether the application will paint directly on the widget" msgstr "應用程式可以繪製" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:992 msgid "Can focus" msgstr "可接受焦點" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:993 msgid "Whether the widget can accept the input focus" msgstr "元件可否接受輸入焦點" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:999 msgid "Has focus" msgstr "獲得焦點" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:1000 msgid "Whether the widget has the input focus" msgstr "元件是否在輸入焦點內" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:1006 msgid "Is focus" msgstr "作為焦點" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:1007 msgid "Whether the widget is the focus widget within the toplevel" msgstr "是否該元件在頂端為自動取得焦點的元件" -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:1013 msgid "Can default" msgstr "可成為預設元件" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:1014 msgid "Whether the widget can be the default widget" msgstr "該元件可否成為預設的視窗元件" -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:1020 msgid "Has default" msgstr "是預設元件" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:1021 msgid "Whether the widget is the default widget" msgstr "該元件是否預設的視窗元件" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:1027 msgid "Receives default" msgstr "接受預設設置" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:1028 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "如設為定為‘TRUE’,該元件接受預設設置命令當成為焦點時" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:1034 msgid "Composite child" msgstr "屬於組合元件" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:1035 msgid "Whether the widget is part of a composite widget" msgstr "該元件是否組合元件的一部分" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:1041 msgid "Style" msgstr "樣式" -#: gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:1042 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "元件的樣式,包括與外觀有關的資訊(例如色彩)。" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1048 msgid "Events" msgstr "事件" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1049 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "決定此元件會接受何種 GdkEvent 的事件遮罩" -#: gtk/gtkwidget.c:832 +#: ../gtk/gtkwidget.c:1056 msgid "Extension events" msgstr "延伸事件" -#: gtk/gtkwidget.c:833 +#: ../gtk/gtkwidget.c:1057 msgid "The mask that decides what kind of extension events this widget gets" msgstr "決定元件接受何種延伸事件的事件遮罩" -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1064 msgid "No show all" msgstr "不全部顯示" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1065 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "是否 gtk_widget_show_all() 呼叫影響本元件" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1088 msgid "Whether this widget has a tooltip" msgstr "此視窗元件是否具有工具提示" -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1144 msgid "Window" msgstr "視窗" -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1145 msgid "The widget's window if it is realized" msgstr "調整大小後的視窗元件視窗" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1159 msgid "Double Buffered" msgstr "雙重緩衝" -#: gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:1160 msgid "Whether the widget is double buffered" msgstr "此視窗元件是否使用雙重緩衝" -#: gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1175 msgid "How to position in extra horizontal space" -msgstr "" +msgstr "在額外的水平空間中如何定位" -#: gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1191 msgid "How to position in extra vertical space" -msgstr "" +msgstr "在額外的垂直空間中如何定位" -#: gtk/gtkwidget.c:986 -#, fuzzy +#: ../gtk/gtkwidget.c:1210 msgid "Margin on Left" -msgstr "邊界" +msgstr "左側邊界" -#: gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1211 msgid "Pixels of extra space on the left side" -msgstr "" +msgstr "左側額外空間的像素" -#: gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1231 msgid "Margin on Right" -msgstr "" +msgstr "右側邊界" -#: gtk/gtkwidget.c:1008 -#, fuzzy +#: ../gtk/gtkwidget.c:1232 msgid "Pixels of extra space on the right side" -msgstr "段落頂端的空間的像素數目" +msgstr "右側額外空間的像素" -#: gtk/gtkwidget.c:1028 -#, fuzzy +#: ../gtk/gtkwidget.c:1252 msgid "Margin on Top" -msgstr "邊界" +msgstr "頂端邊界" -#: gtk/gtkwidget.c:1029 -#, fuzzy +#: ../gtk/gtkwidget.c:1253 msgid "Pixels of extra space on the top side" -msgstr "段落頂端的空間的像素數目" +msgstr "頂端額外空間的像素" -#: gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1273 msgid "Margin on Bottom" -msgstr "" +msgstr "底部邊界" -#: gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1274 msgid "Pixels of extra space on the bottom side" -msgstr "" +msgstr "底部額外空間的像素" -#: gtk/gtkwidget.c:1067 -#, fuzzy +#: ../gtk/gtkwidget.c:1291 msgid "All Margins" -msgstr "邊界" +msgstr "所有邊界" -#: gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1292 msgid "Pixels of extra space on all four sides" -msgstr "" +msgstr "四個邊界額外空間的像素" -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1325 +msgid "Horizontal Expand" +msgstr "水平擴展" + +#: ../gtk/gtkwidget.c:1326 +msgid "Whether widget wants more horizontal space" +msgstr "視窗元件是否要有更多水平空間" + +#: ../gtk/gtkwidget.c:1340 +msgid "Horizontal Expand Set" +msgstr "水平擴展設定" + +#: ../gtk/gtkwidget.c:1341 +msgid "Whether to use the hexpand property" +msgstr "是否使用 hexpand 屬性" + +#: ../gtk/gtkwidget.c:1355 +msgid "Vertical Expand" +msgstr "垂直擴展" + +#: ../gtk/gtkwidget.c:1356 +msgid "Whether widget wants more vertical space" +msgstr "視窗元件是否要有更多垂直空間" + +#: ../gtk/gtkwidget.c:1370 +msgid "Vertical Expand Set" +msgstr "垂直擴展設定" + +#: ../gtk/gtkwidget.c:1371 +msgid "Whether to use the vexpand property" +msgstr "是否使用 vexpand 屬性" + +#: ../gtk/gtkwidget.c:1385 +msgid "Expand Both" +msgstr "擴展兩者" + +#: ../gtk/gtkwidget.c:1386 +msgid "Whether widget wants to expand in both directions" +msgstr "視窗元件是否在兩個方向都擴展" + +#: ../gtk/gtkwidget.c:3044 msgid "Interior Focus" msgstr "在內部顯示焦點" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:3045 msgid "Whether to draw the focus indicator inside widgets" msgstr "是否在視窗元件內部顯示焦點線" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:3051 msgid "Focus linewidth" msgstr "焦點線寬度" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3052 msgid "Width, in pixels, of the focus indicator line" msgstr "輸入焦點指示線的寬度,以像素為單位" -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3058 msgid "Focus line dash pattern" msgstr "焦點線虛線樣式" -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3059 msgid "Dash pattern used to draw the focus indicator" msgstr "顯示輸入焦點指示線時使用的虛線樣式" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3064 msgid "Focus padding" msgstr "焦點指示線留邊" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3065 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "輸入焦點指示線及視窗元件邊界之間的寬度,以像素為單位" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3070 msgid "Cursor color" msgstr "游標顏色" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3071 msgid "Color with which to draw insertion cursor" msgstr "繪畫游標使用的顏色" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3076 msgid "Secondary cursor color" msgstr "第二游標顏色" -#: gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:3077 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" msgstr "當編輯混合右至左及左至右的文字時,繪畫第二個插入游標所使用的顏色。" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3082 msgid "Cursor line aspect ratio" msgstr "游標長寬比" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3083 msgid "Aspect ratio with which to draw insertion cursor" msgstr "繪畫游標時使用的長寬比例" -#: gtk/gtkwidget.c:2786 +#: ../gtk/gtkwidget.c:3089 msgid "Window dragging" msgstr "視窗拖拉" -#: gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3090 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "視窗是否可以在空白區域處點選來拖拉它" -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3103 msgid "Unvisited Link Color" msgstr "未參訪連結色彩" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3104 msgid "Color of unvisited links" msgstr "尚未參訪連結的色彩" -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3117 msgid "Visited Link Color" msgstr "已瀏覽連結顏色" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3118 msgid "Color of visited links" msgstr "已經瀏覽連結的色彩" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3132 msgid "Wide Separators" msgstr "寬分隔線" -#: gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:3133 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" msgstr "分隔線是否有可設定的寬度以及是否使用方塊繪製" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3147 msgid "Separator Width" msgstr "分隔線寬度" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3148 msgid "The width of separators if wide-separators is TRUE" msgstr "如果寬分隔線為 TRUE 時的分隔線寬度" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3162 msgid "Separator Height" msgstr "分隔線高度" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3163 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "如果「寬分隔線」為 TRUE 時的分隔線高度" -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3177 msgid "Horizontal Scroll Arrow Length" msgstr "水平捲動列箭頭長度" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3178 msgid "The length of horizontal scroll arrows" msgstr "水平捲動列箭頭的長度" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3192 msgid "Vertical Scroll Arrow Length" msgstr "垂直捲動列箭頭長度" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3193 msgid "The length of vertical scroll arrows" msgstr "垂直捲動列箭頭的長度" -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:615 msgid "Window Type" msgstr "視窗類型" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:616 msgid "The type of the window" msgstr "視窗的類型" -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:624 msgid "Window Title" msgstr "視窗標題" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:625 msgid "The title of the window" msgstr "視窗的標題" -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:632 msgid "Window Role" msgstr "視窗角色" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:633 msgid "Unique identifier for the window to be used when restoring a session" msgstr "當重置程序階段時視窗的專一的識別證明" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:649 msgid "Startup ID" msgstr "啟動 ID" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:650 msgid "Unique startup identifier for the window used by startup-notification" msgstr "用於啓動通知的視窗獨有的啟動識別證明" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:658 msgid "If TRUE, users can resize the window" msgstr "如設為定為‘TRUE’,使用者可以調整視窗的尺寸" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:665 msgid "Modal" msgstr "強制回應" -#: gtk/gtkwindow.c:618 +#: ../gtk/gtkwindow.c:666 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -6833,176 +6939,221 @@ msgstr "" "如設為定為‘TRUE’,表示該視窗是強制回應的(當顯示該視窗時其它視窗對任何輸入都" "不會有反應)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:673 msgid "Window Position" msgstr "視窗位置" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:674 msgid "The initial position of the window" msgstr "視窗的起始位置" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:682 msgid "Default Width" msgstr "預設寬度" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:683 msgid "The default width of the window, used when initially showing the window" msgstr "預設的視窗寬度,在初次顯示視窗時使用" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:692 msgid "Default Height" msgstr "預設高度" -#: gtk/gtkwindow.c:645 +#: ../gtk/gtkwindow.c:693 msgid "" "The default height of the window, used when initially showing the window" msgstr "預設的視窗高度,在初次顯示視窗時使用" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:702 msgid "Destroy with Parent" msgstr "隨主視窗關閉" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:703 msgid "If this window should be destroyed when the parent is destroyed" msgstr "當關閉主視窗時是否連本視窗也一起關閉" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:711 msgid "Icon for this window" msgstr "本視窗所用的圖示" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:717 msgid "Mnemonics Visible" msgstr "記憶符可視性" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:718 msgid "Whether mnemonics are currently visible in this window" msgstr "記憶符目前在這個視窗中是否可以看得到" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:734 msgid "Name of the themed icon for this window" msgstr "本視窗所用的主題圖示名稱" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:749 msgid "Is Active" msgstr "使用中" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:750 msgid "Whether the toplevel is the current active window" msgstr "是否頂端為目前活動的視窗" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:757 msgid "Focus in Toplevel" msgstr "焦點為頂端" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:758 msgid "Whether the input focus is within this GtkWindow" msgstr "輸入焦點是否在該 GtkWindow 之內" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:765 msgid "Type hint" msgstr "類型提示" -#: gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:766 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." msgstr "為桌面環境提供提示,指定它是哪一種視窗及如何處理該種視窗。" -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:774 msgid "Skip taskbar" msgstr "忽略工作列" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:775 msgid "TRUE if the window should not be in the task bar." msgstr "如果不想在桌面工作列內顯示該視窗的資訊則設定為 TRUE。" -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:782 msgid "Skip pager" msgstr "忽略小型畫面管理程式" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:783 msgid "TRUE if the window should not be in the pager." msgstr "如果視窗不應該在小型畫面管理程式中出現則設定為 TRUE。" -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:790 msgid "Urgent" msgstr "緊急" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:791 msgid "TRUE if the window should be brought to the user's attention." msgstr "如果視窗應當吸引使用者的注意,則設為‘TRUE’" -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:805 msgid "Accept focus" msgstr "接受聚焦" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:806 msgid "TRUE if the window should receive the input focus." msgstr "如果視窗應該接受輸入聚焦則設定為 TRUE。" -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:820 msgid "Focus on map" msgstr "點選時聚焦" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:821 msgid "TRUE if the window should receive the input focus when mapped." msgstr "如果視窗應該接受輸入聚焦則設定為 TRUE。" -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:835 msgid "Decorated" msgstr "有裝飾" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:836 msgid "Whether the window should be decorated by the window manager" msgstr "是否視窗管理員要在視窗四周加上裝飾" -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:850 msgid "Deletable" msgstr "可刪除" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:851 msgid "Whether the window frame should have a close button" msgstr "視窗框架是否加上關閉按鈕" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:870 +#, fuzzy +msgid "Resize grip" +msgstr "有大小調整標記" + +#: ../gtk/gtkwindow.c:871 +#, fuzzy +msgid "Specifies whether the window should have a resize grip" +msgstr "視窗框架是否加上關閉按鈕" + +#: ../gtk/gtkwindow.c:885 +msgid "Resize grip is visible" +msgstr "" + +#: ../gtk/gtkwindow.c:886 +#, fuzzy +msgid "Specifies whether the window's resize grip is visible." +msgstr "該指令集是否為可見。" + +#: ../gtk/gtkwindow.c:902 msgid "Gravity" msgstr "定位" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:903 msgid "The window gravity of the window" msgstr "視窗的視窗定位" -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:920 msgid "Transient for Window" msgstr "臨時視窗" -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:921 msgid "The transient parent of the dialog" msgstr "對話盒的臨時父項" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:936 msgid "Opacity for Window" msgstr "視窗的透明度" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:937 msgid "The opacity of the window, from 0 to 1" msgstr "視窗的透明度,從 0 到 1" -#: modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "輸入法 Preedit 樣式" +#: ../gtk/gtkwindow.c:947 ../gtk/gtkwindow.c:948 +msgid "Width of resize grip" +msgstr "" -#: modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "如何顯示輸入法 preedit 字串" +#: ../gtk/gtkwindow.c:953 ../gtk/gtkwindow.c:954 +#, fuzzy +msgid "Height of resize grip" +msgstr "有大小調整標記" -#: modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "輸入法狀態的式樣" +#: ../gtk/gtkwindow.c:973 +msgid "GtkApplication" +msgstr "GtkApplication" -#: modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "如何顯示輸入法的狀態列" +#: ../gtk/gtkwindow.c:974 +msgid "The GtkApplication for the window" +msgstr "視窗的 GtkApplication" + +#~ msgid "Horizontal adjustment" +#~ msgstr "水平調整" + +#~ msgid "Vertical adjustment" +#~ msgstr "垂直調整" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "元件的水平調整" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "元件的垂直調整" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "決定此視埠元件水平位置數值的 GtkAdjustment 值" + +#~ msgid "Whether the statusbar has a grip for resizing the toplevel" +#~ msgstr "狀態列是否含有可以調整視窗大小的標記" #~ msgid "Has separator" #~ msgstr "有分隔線" @@ -7156,7 +7307,7 @@ msgstr "如何顯示輸入法的狀態列" #~ msgstr "該 pixbuf 的列數(columns)" #~ msgid "The number of rows of the pixbuf" -#~ msgstr "該 pixbuf 的行數" +#~ msgstr "該 pixbuf 的列數" #~ msgid "Rowstride" #~ msgstr "行距" @@ -7164,7 +7315,7 @@ msgstr "如何顯示輸入法的狀態列" #~ msgid "" #~ "The number of bytes between the start of a row and the start of the next " #~ "row" -#~ msgstr "從一行開始到下一行開始之間的位元組數目" +#~ msgstr "從一列開始到下一列開始之間的位元組數目" #~ msgid "Pixels" #~ msgstr "像素" diff --git a/po/zh_HK.po b/po/zh_HK.po index f2f9645dee..cdae00d563 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -2,14 +2,15 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # taijuin , 2010. +# Wei-Lun Chao , 2010. # msgid "" msgstr "" -"Project-Id-Version: gtk+ 2.90.7\n" +"Project-Id-Version: gtk+ 2.91.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-08-21 19:47+0800\n" -"Last-Translator: taijuin \n" +"POT-Creation-Date: 2010-11-10 19:34+0800\n" +"PO-Revision-Date: 2010-11-10 19:34+0800\n" +"Last-Translator: Chao-Hsiung Liao \n" "Language-Team: Chinese (Hong Kong) \n" "Language: \n" "MIME-Version: 1.0\n" @@ -17,364 +18,362 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" msgstr "解析選項 --gdk-debug 發生錯誤" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "解析選項 --gdk-no-debug 時發生錯誤" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "視窗總管所需的程式類別名稱" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:153 msgid "CLASS" msgstr "類別" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "視窗總管中使用的程式名稱" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:156 msgid "NAME" msgstr "名稱" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:158 msgid "X display to use" msgstr "使用的 X 畫面" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:159 msgid "DISPLAY" msgstr "畫面" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:161 msgid "X screen to use" msgstr "使用的 X 螢幕" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:162 msgid "SCREEN" msgstr "螢幕" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: ../gdk/gdk.c:165 msgid "GDK debugging flags to set" -msgstr "準備設定的 GTK+ 偵錯旗標" +msgstr "準備設定的 GDK 偵錯旗標" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "旗標" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to unset" -msgstr "準備去除的 GTK+ 偵錯旗標" +msgstr "準備去除的 GDK 偵錯旗標" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "BackSpace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tab" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Return" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_key" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Left" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Up" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Right" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Down" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Space" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Left" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Up" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Right" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Down" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "不要同時處理多個 GDI 要求" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "不使用 Wintab API 作為 tablet PC 的支援" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "與 --no-wintab 一樣" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "使用 Wintab API [預設]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "8 位元模式表示的色盤的大小" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "顏色" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "準備啟動 %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "正在開啟 %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "正在開啟 %d 個項目" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "使用同步方式調用 X 函數" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "這個程式沒有任何擔保;需要更多資訊,請參閱 %s" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "授權條款" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "程式的授權條款" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "鳴謝(_R)" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "授權條款(_L)" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "無法顯示連結" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "關於 %s" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "鳴謝" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "程式編寫" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "文件編寫" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "翻譯" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "美工設計" @@ -383,7 +382,7 @@ msgstr "美工設計" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -393,7 +392,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -403,7 +402,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -413,7 +412,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -423,7 +422,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -433,37 +432,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "第 %d 行出現無效的類型函數:「%s」" -#: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#: ../gtk/gtkbuilderparser.c:407 +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "重複的物件 id「%s」於第 %d 行(前一個在第 %d 行)" +msgstr "重複的物件 ID「%s」於第 %d 行(前一個在第 %d 行)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "無效的根元件:「%s」" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "未處理的標籤:「%s」" @@ -478,7 +477,7 @@ msgstr "未處理的標籤:「%s」" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:YM" @@ -486,7 +485,7 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -495,7 +494,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -510,7 +509,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -526,7 +525,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -542,7 +541,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -550,7 +549,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "已停用" @@ -559,7 +558,7 @@ msgstr "已停用" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "無效" @@ -568,25 +567,25 @@ msgstr "無效" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." -msgstr "新增捷徑鍵..." +msgstr "新增捷徑鍵…" -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "選取顏色" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "收到了無效的顏色資料\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -594,88 +593,87 @@ msgstr "" "在色環外部選擇想要的顏色。\n" "在內部的三角形中選取該顏色的暗度或亮度。" -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "按下滴管,然後按畫面任何一處來選擇該顏色。" -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "色相(_H):" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "色相環的位置。" -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "彩度(_S):" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." msgstr "顏色的強度。" -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "明度(_V):" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "顏色的亮度。" -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "紅(_R):" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "顏色中的紅色份量。" -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "綠(_G):" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "顏色中的綠色份量。" -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "藍(_B):" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "顏色中的藍色份量。" -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "透明度(_A):" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "目前選擇顏色的透明度。" -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "顏色名稱(_N):" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." -msgstr "" -"你可在本欄輸入 HTML 方式的 16 進位色彩值,或是像「orange」的普通顏色名稱。" +msgstr "你可在本欄輸入 HTML 方式的 16 進位色彩值,或是像「orange」的普通顏色名稱。" -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "調色盤(_P):" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "色彩圓盤" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -684,27 +682,27 @@ msgstr "" "之前選擇的顏色,用來和目前選擇的顏色作比較。你可以將本顏色拖曳至色盤項目;\n" "或以它作為目前選擇的顏色,方法是將它拖曳並覆蓋目前選擇的顏色。" -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." msgstr "你所選擇的顏色。你可以將此顏色拖曳到色盤並將之儲存供日後使用。" -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "前一次選取的顏色,可用來和你現在選取的顏色做比較。" -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "你所選擇的顏色。" -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "在這裏儲存顏色(_S)" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -712,7 +710,7 @@ msgstr "" "按下本色盤項目會以作為目前選擇的顏色。如要更改本項目,可將顏色拖曳到此處或\n" "按滑鼠右鍵並選擇「儲存此顏色」。" -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "顏色選擇" @@ -722,136 +720,140 @@ msgstr "顏色選擇" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "管理自選大小" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "英吋" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "毫米" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." -msgstr "打印機邊界..." +msgstr "打印機邊界…" -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "自選大小 %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "闊度(_W):" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "高度(_H):" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "紙張大小" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "上(_T):" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "下(_B):" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "左(_L):" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "右(_R):" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "紙張邊界" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "輸入法(_M)" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" -msgstr "插入統一碼控制字符(_I)" +msgstr "插入萬國碼控制字符(_I)" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock 和 Num Lock 是開啟的" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10068 msgid "Num Lock is on" msgstr "Num Lock 已開啟" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "Cpas Lock 已開啟" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "選取檔案" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "桌面" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(沒有)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." -msgstr "其它..." +msgstr "其他…" -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "請輸入新資料夾名稱" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "無法取得關於檔案的資訊" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "無法加入書籤" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "無法移除書籤" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "無法建立資料夾" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." -msgstr "" -"此資料夾無法建立,因為已有相同名稱的檔案存在。嘗試使用不同的資料夾名稱,或者" -"先重新命名該檔案。" +msgstr "此資料夾無法建立,因為已有相同名稱的檔案存在。嘗試使用不同的資料夾名稱,或者先重新命名該檔案。" -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "你只能選擇資料夾。你所選取的項目不是資料夾;請嘗試使用不同的項目。" + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "無效的檔案名稱" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "無法顯示資料夾內容" @@ -859,235 +861,235 @@ msgstr "無法顯示資料夾內容" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s 於 %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "搜尋" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "最近使用的" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "選擇顯示哪種類型的檔案" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "將資料夾‘%s’加入書籤" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "將目前的資料夾加入書籤" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "將已選的資料夾加入書籤" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "移除書籤‘%s’" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "無法移除書籤「%s」" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "移除已選的書籤" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "移除" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." -msgstr "重新命名..." +msgstr "重新命名…" #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "位置" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "位置(_P)" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "加入(_A)" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "將已選的資料夾加入書籤" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "移除(_R)" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "無法選取檔案" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "加入書籤(_A)" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "顯示隱藏檔(_H)" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "顯示大小欄位(_S)" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "檔案" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "名稱" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "大小" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "已修改" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "名稱(_N):" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" -msgstr "瀏覽其它資料夾(_B)" +msgstr "瀏覽其他資料夾(_B)" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "輸入檔案名稱" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "建立資料夾(_L)" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "位置(_L):" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "儲存於資料夾(_F):" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "新增於資料夾(_F):" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "無法讀取 %s 的內容" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "無法讀取資料夾的內容" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "不明" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "昨天的 %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "無法進入資料夾,因為它不是本地資料夾" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "捷徑 %s 已經存在" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "捷徑 %s 不存在" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "名為「%s」的檔案已存在。是否要取代它?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "該檔案已存在於「%s」。取代它會覆蓋它的內容。" -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "取代(_R)" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "無法開始搜尋程序" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "此程式無法建立至 indexer 伺服程式的連線。請確認它是否已執行。" -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "無法傳送搜尋要求" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "搜尋:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "無法掛載 %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "無效的路徑" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "沒有相符" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "唯一補齊" @@ -1095,21 +1097,21 @@ msgstr "唯一補齊" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "已補齊,但不是唯一" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." -msgstr "正在補齊..." +msgstr "正在補齊…" #. hostnames in a local_only file chooser? user error #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "只能選取本地端檔案" @@ -1117,80 +1119,75 @@ msgstr "只能選取本地端檔案" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "不完整的主機名稱;請以「/」結尾" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "路徑不存在" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "建立資料夾「%s」發生錯誤:%s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "檔案系統" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "請選擇字型" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "字型" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcd ABCD 「中文測試」" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "字集(_F):" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "樣式(_S):" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "大小(_Z):" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "預覽(_P):" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "字型選擇" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "載入圖示時發生錯誤:%s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1203,75 +1200,75 @@ msgstr "" "你可以從下列地方取得:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "圖示‘%s’不存在於佈景主題中" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "載入圖示失敗" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "簡易" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "系統" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "沒有" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "系統 (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6214 msgid "_Open Link" msgstr "開啟連結(_O)" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6226 msgid "Copy _Link Address" msgstr "複製連結位址(_L)" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "複製 URL" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "無效的 URI" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "載入額外的 GTK+ 模組" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "模組" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "把所有的警告訊息都當成嚴重錯誤" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "準備設定的 GTK+ 偵錯旗標" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "準備去除的 GTK+ 偵錯旗標" @@ -1280,122 +1277,122 @@ msgstr "準備去除的 GTK+ 偵錯旗標" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "無法開啟畫面:%s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "GTK+ 選項" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "顯示 GTK+ 選項" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "連線(_N)" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "匿名連線(_A)" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "以使用者連線(_S):" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "使用者名稱(_U):" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "網域(_D):" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "密碼(_P):" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "立刻忘記密碼(_I)" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "記憶密碼到登出之前(_L)" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "永遠記住密碼(_F)" -#: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format -msgid "Unknown Application (PID %d)" -msgstr "不明的應用程式(pid %d)" - -#: gtk/gtkmountoperation.c:1066 +#: ../gtk/gtkmountoperation.c:883 #, c-format +msgid "Unknown Application (PID %d)" +msgstr "不明的應用程式(PID %d)" + +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "無法終止程序" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "終止程序(_E)" -#: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "不能終結 pid 為 %d 的程序。此操作尚未實作。" +msgstr "不能終結 PID 為 %d 的程序。此操作尚未實作。" #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "終端機換頁器" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Top 指令" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "不能結束 pid 為 %d 的程序:%s" +msgstr "不能結束 PID 為 %d 的程序:%s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "第 %u 頁" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "不是有效的頁面設定檔案" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "任何打印機" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "用於可攜式文件" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1410,51 +1407,51 @@ msgstr "" " 上:%s %s\n" " 下:%s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." -msgstr "管理自選大小..." +msgstr "管理自選大小…" -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "格式(_F)" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "紙張大小(_P):" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "方向(_O):" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "頁面設定" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "向上路徑" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "向下路徑" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "檔案系統根" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "驗證" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "不存在" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "選擇資料夾" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "儲存在資料夾中(_S):" @@ -1462,187 +1459,184 @@ msgstr "儲存在資料夾中(_S):" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s 的工作 #%d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "初始化狀態" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "正在準備打印" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "正在產生資料" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "正在傳送資料" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "正在等待" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "因問題被阻擋" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "正在打印" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "已完成" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "已完成但發生錯誤" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "正在準備 %d" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "正在準備" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "正在打印 %d" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "建立打印預覽時發生錯誤" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "最可能的原因是無法建立暫存檔案。" -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "執行預覽時發生錯誤" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "應用程式" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "打印機離線" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "沒有紙" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "已暫停" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "需要使用者干預" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "自選大小" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "找不到打印機" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "給 CreateDC 的引數無效" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "來自 StartDoc 的錯誤" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "記憶體不足" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "給 PrintDlgEx 的參數無效" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "給 PrintDlgEx 的指標無效" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "給 PrintDlgEx 的處理無效" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "無法指定的錯誤" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "無法取得打印機資訊" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." -msgstr "正在取得打印機資訊..." +msgstr "正在取得打印機資訊…" -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "打印機" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "位置" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "狀態" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "範圍" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "所有頁面(_A)" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "目前頁面(_U)" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "選擇區域(_L)" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "頁數(_E):" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1650,28 +1644,28 @@ msgstr "" "指定一或多個頁面範圍,\n" "例如 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr " 頁" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "打印份數" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "份數(_S):" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "順序(_O)" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "反序(_R)" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" msgstr "一般" @@ -1681,168 +1675,168 @@ msgstr "一般" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "由左至右,由上至下" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "由左至右,由下至上" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "由右至左,由上至下" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "由右至左,由下至上" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "由上至下,由左至右" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "由上至下,由右至左" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "由下至上,由左至右" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "由下至上,由右至左" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "頁面順序" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "左至右" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "右至左" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "由上至下" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "由下至上" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "配置" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "雙面(_W):" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "每張紙的頁數(_S):" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "頁面順序(_D):" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "打印範圍(_O):" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "所有頁面" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "奇數頁" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "偶數頁" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "比例(_A):" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "紙張" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "紙張類型(_T):" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "紙張來源(_S):" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "出紙匣(_R):" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "方向(_I):" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "直向" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "橫向" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "直向倒轉" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "橫向倒轉" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "打印工作詳細資料" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "優先權(_O):" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "帳目資訊(_B):" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "打印文件" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "現在(_N)" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "於(_T):" @@ -1850,7 +1844,7 @@ msgstr "於(_T):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1858,121 +1852,121 @@ msgstr "" "指定打印的時刻格式,\n" " 例如 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "打印時刻" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "擱置(_H)" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "保留此工作直到它被明確的推出" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "加入封面" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "這頁之前(_F):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "這頁之後(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "打印工作" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "進階" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "圖片品質" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "顏色" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "準備完成" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "對話視窗中某些設定有衝突" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "打印" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "找不到應包括的檔案:“%s”" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "無法在 pixmap_path 中找到圖片檔:“%s”" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "此函數還未在視窗元件的類別‘%s’中實現" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "選擇顯示那一類型的文件" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "找不到 URI‘%s’的項目" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "未命名的過濾條件" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "無法移除項目" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "無法清除清單" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "複製位置(_L)" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "從清單中移除(_R)" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "清除清單(_C)" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "顯示私有資源(_P)" @@ -1986,21 +1980,21 @@ msgstr "顯示私有資源(_P)" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "找不到項目" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "在 URI ‘%s’ 中找不到最近曾使用的資源" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "開啟「%s」" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "不明項目" @@ -2009,7 +2003,7 @@ msgstr "不明項目" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2018,46 +2012,51 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "無法找到有 URI ‘%s’ 的項目" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "找不到 URI「%2$s」,名稱「%1$s」的註冊應用程式" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "轉輪" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "顯示視覺化的進度指示" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Information" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "警告" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "錯誤" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "問題" @@ -2065,696 +2064,694 @@ msgstr "問題" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "關於(_A)" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "加入(_A)" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "套用(_A)" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "粗體(_B)" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "取消(_C)" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "清除(_C)" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "關閉(_C)" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "連線(_O)" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "轉換(_C)" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "複製(_C)" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "剪下(_T)" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "刪除(_D)" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "放棄(_D)" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "斷線(_D)" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "執行(_E)" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "編輯(_E)" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" msgstr "檔案(_F)" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "尋找(_F)" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "尋找與取代(_R)" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "軟碟(_F)" # (Abel) 「全螢幕模式」佔 gtktoolbar 按鈕的位置太闊了 -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "全螢幕(_F)" # (Abel) 「離開全螢幕模式」佔 gtktoolbar 按鈕的位置太闊了 -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "離開全螢幕(_L)" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "頁尾(_B)" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "第一頁(_F)" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "最後頁(_L)" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "頁首(_T)" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "上一步(_B)" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "向下(_D)" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "下一步(_F)" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "向上(_U)" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" msgstr "硬碟(_H)" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "求助(_H)" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "首頁(_H)" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "增加縮排" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "減少縮排" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "索引(_I)" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "資訊(_I)" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "斜體(_I)" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "跳轉到(_J)" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "置中(_C)" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "左右填滿(_F)" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "靠左(_L)" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "靠右(_R)" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "快轉(_F)" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "下一首(_N)" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "暫停(_A)" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "播放(_P)" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "上一首(_V)" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "錄製(_R)" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "倒轉(_E)" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "停止(_S)" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "網絡(_N)" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "新增(_N)" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "否(_N)" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "確定(_O)" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "開啟(_O)" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "橫向" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "直向" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "橫向倒轉" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "直向倒轉" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "頁面設定(_U)" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "貼上(_P)" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "偏好設定(_P)" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "打印(_P)" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "預覽打印(_V)" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "屬性(_P)" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "結束(_Q)" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "取消復原(_R)" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "重新整理(_R)" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "移除(_R)" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "還原(_R)" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "儲存(_S)" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "另存新檔(_A)" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "全部選取(_A)" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "顏色(_C)" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "字型(_F)" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "遞增(_A)" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "遞減(_D)" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "拼字檢查(_S)" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "停止(_S)" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "刪除線(_S)" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "還原刪除(_U)" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "底線(_U)" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "復原(_U)" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "是(_Y)" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "一般大小(_N)" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "最適大小(_F)" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "拉近(_I)" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "拉遠(_O)" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "嘗試還原 %s 時發生不明的錯誤" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "找不到格式 %s 的還原功能" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "“id”及“name”同在 <%s> 元素中出現" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "屬性“%s”在同一個 <%s> 元素中出現了兩次" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:855 +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "<%s> 元素有無效的 id“%s”" +msgstr "<%s> 元素有無效的 ID「%s」" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> 元素缺少了“name”或“id”元素" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "屬性「%s」在同一個 <%s> 元素中重複了兩次" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "在此關聯選單中,屬性「%s」在 <%s> 元素中是無效的" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "標籤“%s”未定義" -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "找到不知名的標籤及無法建立標籤。" -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "標籤“%s”不存在於緩衝中及無法建立標籤" -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "元素 <%s> 不允許在 <%s> 之下" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "“%s” 不是一個有效的屬性類型" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "“%s” 不是一個有效的屬性名稱" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "“%s”無法轉換為數值類型“%s”,給屬性“%s”" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "“%s” 不是一個給屬性“%s”的有效數值" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "標籤“%s”已定義" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "標籤“%s”中有無效的優先等級“%s”" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "在 text 最外的元素應是 ,而非 <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> 元素已被指定" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr " 元素無法出現在 元素前" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "已還原資料的格式錯誤" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "已還原資料的格式錯誤。第一部份不是 GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "_LRM 左至右標記" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "_RLM 右至左標記" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LR_E 左至右內嵌" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RL_E 右至左內嵌" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LR_O 強制左至右" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RL_O 強制右至左" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "_PDF 回復以往方向" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "_ZWS 零闊度空格" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZW_J 零闊度連接符" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZW_NJ 零闊度非連接符" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "無法在 module_path 中找出佈景主題引擎:‘%s’," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "第 %2$d 行第 %3$d 字有非預設的開始標記‘%1$s’" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "第 %d 行第 %d 字有非預設的字符資料" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "空的" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "音量" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "提高或降低音量" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "調整音量" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "調低音量" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "減低音量" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "調高音量" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "增加音量" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "已靜音" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "最大音量" @@ -2763,932 +2760,932 @@ msgstr "最大音量" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "提醒間隔每" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "轉為獨立視窗(_D)" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "提醒間隔每" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "提醒間隔每" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "DL 信封" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Choukei 2 信封" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Choukei 3 信封" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Choukei 4 信封" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki(明信片)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "kahu 信封" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "kahu2 信封" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (明信片回覆)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "you4 信封" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9 英吋信封" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9 英吋信封" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11 英吋信封" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "a2 信封" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "c5 信封" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "南歐語系" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executive" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "FanFold European" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold German Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6(明信片)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "請求書" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tabloid" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monarch Envelope" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "10 號信封" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "11 號信封" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "12 小時" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "14 號信封" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "9 號信封" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "個人信封" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "寬格式" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "邀請信封" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "意大利信封" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix 信封" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "小相片" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1 信封" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10 信封" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2 信封" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3 信封" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4 信封" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "prc5 信封" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "prc6 信封" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7 信封" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8 信封" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc9 信封" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "在 symlinked‘%s’及‘%s’中找到不同的 idatas\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "寫入標頭失敗\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "寫入 hash table 失敗\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "寫入資料夾索引失敗\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "無法重寫標頭\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "開啟檔案「%s」失敗:%s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "無法寫入快取檔案:%s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "該產生的快取是無效的。\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "無法將 %s 的名稱更改為 %s:%s,屆時移除 %s。\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "無法將 %s 的名稱更改為 %s:%s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "無法將 %s 的名稱改回 %s:%s。\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "快取檔案建立完成。\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "即使是最新的,仍複寫既存的快取" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "不檢查 index.theme 是否存在" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "在快取中不要含有圖片資料" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "輸出 C 語言標頭檔" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "關閉詳細輸出" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "驗證既存的圖示快取" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "找不到檔案:%s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "不是有效的快取:%s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "沒有主題索引檔案。\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3698,309 +3695,309 @@ msgstr "" "如果你想在這裏建立圖示快取,請使用 --ignore-theme-index 選項。\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "阿姆哈拉文字 (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "下加符 (Cedilla)" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "斯拉夫文字(拼音)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "伊努伊特語(拼音)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "國際音標" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "泰國-寮國語" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "提格里尼亞語[厄立特里安] (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "提格里尼亞語[埃塞俄比亞] (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "越南文 (VIQR)" # (Abel) 這個很特殊,人們看到簡寫 XIM 反而更易明白 #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "一般輸入法 (XIM)" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "使用者名稱:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "密碼:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "從 %s 取得檔案需要驗證" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "要在打印機 %2$s 打印文件「%1$s」需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "要在 %s 打印文件需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "要取得工作「%s」的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "要取得工作的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "要取得打印機「%s」的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "要取得打印機的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "要取得 %s 的預設打印機需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "要從 %s 取得打印機需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "從 %s 取得檔案需要驗證" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "%s 需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "網域:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "打印文件「%s」需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "要在打印機 %s 打印文件需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "要打印這份文件需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "打印機「%s」碳粉/墨水不足。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "打印機「%s」碳粉/墨水用完。" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "打印機「%s」顯像劑不足。" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "打印機「%s」顯像劑用完。" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "打印機「%s」至少有一個碳粉/墨水不足。" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "打印機「%s」至少有一個碳粉/墨水用完。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "打印機「%s」的外殼是打開的。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "打印機「%s」的紙匣門是打開的。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "打印機「%s」紙張不足。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "打印機「%s」紙張用完。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format msgid "Printer '%s' is currently offline." msgstr "打印機「%s」目前離線。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "打印機「%s」發生問題。" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "已暫停;正在拒絕工作" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "正在拒絕工作" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "雙面" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "紙張類型" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "紙張來源" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "出紙匣" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "解像度" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript 前置過濾器" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "單面" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "長邊(標準)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "短邊(翻轉)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "自動選擇" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "打印機預設" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "只有內嵌的 GhostScript 字型" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "轉換為 PS 等級 1" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "轉換為 PS 等級 2" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "無前置過濾器" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "雜項" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "緊急" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "高" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "中" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "低" @@ -4008,66 +4005,66 @@ msgstr "低" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "每表頁數" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "工作優先權:" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "計費資訊" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "沒有" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "已分類" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "機密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "標準" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "高度機密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "未分類" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "封面" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "封底" @@ -4075,14 +4072,14 @@ msgstr "封底" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "打印於" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "於指定時刻打印" @@ -4090,109 +4087,112 @@ msgstr "於指定時刻打印" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "自選 %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "output.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "打印至檔案" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "每張紙的頁數(_S)" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "檔案" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "輸出格式(_O)" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "打印至 LPR" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "每張紙的頁數" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "命令列" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "打印機離線" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "準備打印" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "正在處理工作" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "已暫停" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "不明" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "test-output.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "打印至測試打印機" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "無法取得檔案「%s」的資訊:%s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "開啟檔案「%s」失敗:%s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "建立資料夾「%s」發生錯誤:%s" + #~ msgid "Gdk debugging flags to set" #~ msgstr "準備設定的 Gdk 偵錯旗標" @@ -4443,7 +4443,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgid "" #~ "Insufficient memory to load image, try exiting some applications to free " #~ "memory" -#~ msgstr "記憶體不足以載入圖片,請嘗試退出其它應用程式來釋放記憶體" +#~ msgstr "記憶體不足以載入圖片,請嘗試退出其他應用程式來釋放記憶體" #~ msgid "Unsupported JPEG color space (%s)" #~ msgstr "未支援的 JPEG 色彩空間 (%s)" @@ -4492,7 +4492,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "無法分配色盤資料所需的記憶體" #~ msgid "Didn't get all lines of PCX image" -#~ msgstr "未取得 PIX 圖片每一行的資料" +#~ msgstr "未取得 PIX 圖片每一列的資料" #~ msgid "No palette found at end of PCX data" #~ msgstr "PCX 資料末端沒有找到色盤" @@ -4526,7 +4526,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ "applications to reduce memory usage" #~ msgstr "" #~ "記憶體不足以載入大小為 %ld×%ld 的圖片;\n" -#~ "請嘗試退出其它應用程式來減低記憶體使用量" +#~ "請嘗試退出其他應用程式來減低記憶體使用量" #~ msgid "Fatal error reading PNG image file" #~ msgstr "讀入 PNG 圖片檔時發生嚴重錯誤" @@ -4749,7 +4749,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "記憶體不足以載入圖片" #~ msgid "Couldn't save the rest" -#~ msgstr "無法儲存其它部份" +#~ msgstr "無法儲存其他部份" #~ msgid "The WBMP image format" #~ msgstr "WBMP 圖片格式" @@ -5807,7 +5807,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "網路磁碟 (%s)" #~ msgid "Unknown attribute '%s' on line %d char %d" -#~ msgstr "第 %2$d 行第 %3$d 字有未知的屬性‘%1$s’" +#~ msgstr "第 %2$d 列第 %3$d 字有未知的屬性‘%1$s’" #~ msgid "Default" #~ msgstr "預設" @@ -5826,24 +5826,24 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "PNM 圖片格式不正確" #~ msgid "Line %d, column %d: missing attribute \"%s\"" -#~ msgstr "行 %d,列 %d:遺漏屬性“%s”" +#~ msgstr "列 %d,行 %d:遺漏屬性“%s”" #~ msgid "Line %d, column %d: unexpected element \"%s\"" -#~ msgstr "行 %d,列 %d:不是預設的元素“%s”" +#~ msgstr "列 %d,行 %d:不是預設的元素“%s”" #~ msgid "" #~ "Line %d, column %d: expected end of element \"%s\", but got element for " #~ "\"%s\" instead" -#~ msgstr "行 %d,列 %d:預設結束的元素應為“%s”,但取得“%s”的元素" +#~ msgstr "列 %d,行 %d:預設結束的元素應為“%s”,但取得“%s”的元素" #~ msgid "" #~ "Line %d, column %d: expected \"%s\" at the toplevel, but found \"%s\" " #~ "instead" -#~ msgstr "行 %d,列 %d:預設應為“%s”在最上層,但找到“%s”" +#~ msgstr "列 %d,行 %d:預設應為“%s”在最上層,但找到“%s”" #~ msgid "" #~ "Line %d, column %d: expected \"%s\" or \"%s\", but found \"%s\" instead" -#~ msgstr "行 %d,列 %d:預設應為“%s”或“%s”,但找到“%s”" +#~ msgstr "列 %d,行 %d:預設應為“%s”或“%s”,但找到“%s”" #~ msgid "Error creating directory '%s': %s" #~ msgstr "建立資料夾‘%s’時發生錯誤:%s" @@ -5918,4 +5918,4 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "清除" #~ msgid "Pixmap path element: \"%s\" must be absolute, %s, line %d" -#~ msgstr "Pixmap 路徑組成部份「%s」必須為絕對路徑,%s,第 %d 行" +#~ msgstr "Pixmap 路徑組成部份「%s」必須為絕對路徑,%s,第 %d 列" diff --git a/po/zh_TW.po b/po/zh_TW.po index 42298d7c1f..42fee57ce0 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -2,14 +2,15 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # taijuin , 2010. +# Wei-Lun Chao , 2010. # msgid "" msgstr "" -"Project-Id-Version: gtk+ 2.90.7\n" +"Project-Id-Version: gtk+ 2.91.5\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-08-19 18:45+0800\n" -"Last-Translator: taijuin \n" +"POT-Creation-Date: 2010-11-10 19:34+0800\n" +"PO-Revision-Date: 2010-11-10 19:23+0800\n" +"Last-Translator: Chao-Hsiung Liao \n" "Language-Team: <>\n" "Language: \n" "MIME-Version: 1.0\n" @@ -17,364 +18,362 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" msgstr "解析選項 --gdk-debug 發生錯誤" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "解析選項 --gdk-no-debug 時發生錯誤" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "視窗總管所需的程式類別名稱" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:153 msgid "CLASS" msgstr "類別" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "視窗總管中使用的程式名稱" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:156 msgid "NAME" msgstr "名稱" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:158 msgid "X display to use" msgstr "使用的 X 畫面" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:159 msgid "DISPLAY" msgstr "畫面" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:161 msgid "X screen to use" msgstr "使用的 X 螢幕" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:162 msgid "SCREEN" msgstr "螢幕" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: ../gdk/gdk.c:165 msgid "GDK debugging flags to set" -msgstr "準備設定的 GTK+ 偵錯旗標" +msgstr "準備設定的 GDK 偵錯旗標" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "旗標" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to unset" -msgstr "準備去除的 GTK+ 偵錯旗標" +msgstr "準備去除的 GDK 偵錯旗標" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "BackSpace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tab" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Return" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_key" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Left" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Up" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Right" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Down" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Space" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Left" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Up" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Right" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Down" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "不要同時處理多個 GDI 要求" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "不使用 Wintab API 作為 tablet PC 的支援" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "與 --no-wintab 一樣" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "使用 Wintab API [預設]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "8 位元模式表示的色盤的大小" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "顏色" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "準備啟動 %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "正在開啟 %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "正在開啟 %d 個項目" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "使用同步方式調用 X 函式" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "這個程式沒有任何擔保;需要更多資訊,請參閱 %s" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "授權條款" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "程式的授權條款" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "鳴謝(_R)" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "授權條款(_L)" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "無法顯示連結" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "關於 %s" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "鳴謝" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "程式編寫" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "文件編寫" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "翻譯" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "美工設計" @@ -383,7 +382,7 @@ msgstr "美工設計" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -393,7 +392,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -403,7 +402,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -413,7 +412,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -423,7 +422,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -433,37 +432,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "第 %d 行出現無效的類型函式:「%s」" -#: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#: ../gtk/gtkbuilderparser.c:407 +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "重複的物件 id「%s」於第 %d 行(前一個在第 %d 行)" +msgstr "重複的物件 ID「%s」於第 %d 行(前一個在第 %d 行)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "無效的根元件:「%s」" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "未處理的標籤:「%s」" @@ -478,7 +477,7 @@ msgstr "未處理的標籤:「%s」" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:YM" @@ -486,7 +485,7 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -495,7 +494,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -510,7 +509,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -526,7 +525,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -542,7 +541,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -550,7 +549,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "已停用" @@ -559,7 +558,7 @@ msgstr "已停用" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "無效" @@ -568,25 +567,25 @@ msgstr "無效" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." -msgstr "新增捷徑鍵..." +msgstr "新增捷徑鍵…" -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "選取顏色" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "收到了無效的顏色資料\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -594,88 +593,88 @@ msgstr "" "在色環外部選擇想要的顏色。\n" "在內部的三角形中選取該顏色的暗度或亮度。" -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "按下滴管,然後按畫面任何一處來選擇該顏色。" -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "色相(_H):" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "色相環的位置。" -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "彩度(_S):" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." msgstr "顏色的強度。" -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "明度(_V):" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "顏色的亮度。" -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "紅(_R):" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "顏色中的紅色份量。" -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "綠(_G):" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "顏色中的綠色份量。" -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "藍(_B):" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "顏色中的藍色份量。" -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "透明度(_A):" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "目前選擇顏色的透明度。" -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "顏色名稱(_N):" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." msgstr "" "您可在本欄輸入 HTML 方式的 16 進位色彩值,或是像「orange」的普通顏色名稱。" -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "調色盤(_P):" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "色彩圓盤" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -684,27 +683,27 @@ msgstr "" "之前選擇的顏色,用來和目前選擇的顏色作比較。您可以將本顏色拖曳至色盤項目;\n" "或以它作為目前選擇的顏色,方法是將它拖曳並覆蓋目前選擇的顏色。" -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." msgstr "您所選擇的顏色。您可以將此顏色拖曳到色盤並將之儲存供日後使用。" -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "前一次選取的顏色,可用來和您現在選取的顏色做比較。" -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "您所選擇的顏色。" -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "在這裡儲存顏色(_S)" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -712,7 +711,7 @@ msgstr "" "按下本色盤項目會以作為目前選擇的顏色。如要更改本項目,可將顏色拖曳到此處或\n" "按滑鼠右鍵並選擇「儲存此顏色」。" -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "顏色選擇" @@ -722,124 +721,124 @@ msgstr "顏色選擇" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "管理自訂大小" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "英吋" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "毫米" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." -msgstr "印表機邊界..." +msgstr "印表機邊界…" -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "自訂大小 %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "寬度(_W):" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "高度(_H):" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "紙張大小" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "上(_T):" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "下(_B):" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "左(_L):" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "右(_R):" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "紙張邊界" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "輸入法(_M)" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" -msgstr "插入統一碼控制字元(_I)" +msgstr "插入萬國碼控制字元(_I)" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock 和 Num Lock 是開啟的" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10068 msgid "Num Lock is on" msgstr "Num Lock 已開啟" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "Cpas Lock 已開啟" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "選取檔案" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "桌面" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(沒有)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." -msgstr "其它..." +msgstr "其他…" -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "請輸入新資料夾名稱" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "無法取得關於檔案的資訊" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "無法加入書籤" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "無法移除書籤" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "無法建立資料夾" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -847,11 +846,17 @@ msgstr "" "此資料夾無法建立,因為已有相同名稱的檔案存在。試著使用不同的資料夾名稱,或者" "先重新命名該檔案。" -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "您只能選擇資料夾。您所選取的項目不是資料夾;請試著使用不同的項目。" + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "無效的檔案名稱" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "無法顯示資料夾內容" @@ -859,235 +864,235 @@ msgstr "無法顯示資料夾內容" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s 於 %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "搜尋" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "最近使用的" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "選擇顯示哪種類型的檔案" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "將資料夾‘%s’加入書籤" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "將目前的資料夾加入書籤" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "將已選的資料夾加入書籤" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "移除書籤‘%s’" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "無法移除書籤「%s」" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "移除已選的書籤" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "移除" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." -msgstr "重新命名..." +msgstr "重新命名…" #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "位置" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "位置(_P)" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "加入(_A)" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "將已選的資料夾加入書籤" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "移除(_R)" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "無法選取檔案" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "加入書籤(_A)" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "顯示隱藏檔(_H)" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "顯示大小欄位(_S)" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "檔案" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "名稱" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "大小" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "已修改" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "名稱(_N):" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" -msgstr "瀏覽其它資料夾(_B)" +msgstr "瀏覽其他資料夾(_B)" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "輸入檔案名稱" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "建立資料夾(_L)" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "位置(_L):" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "儲存於資料夾(_F):" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "新增於資料夾(_F):" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "無法讀取 %s 的內容" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "無法讀取資料夾的內容" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "不明" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "昨天的 %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "無法進入資料夾,因為它不是本地資料夾" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "捷徑 %s 已經存在" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "捷徑 %s 不存在" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "名為「%s」的檔案已存在。是否要取代它?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "該檔案已存在於「%s」。取代它會覆蓋它的內容。" -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "取代(_R)" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "無法開始搜尋程序" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "此程式無法建立至 indexer 伺服程式的連線。請確認它是否已執行。" -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "無法傳送搜尋要求" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "搜尋:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "無法掛載 %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "無效的路徑" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "沒有相符" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "唯一補齊" @@ -1095,21 +1100,21 @@ msgstr "唯一補齊" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "已補齊,但不是唯一" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." -msgstr "正在補齊..." +msgstr "正在補齊…" #. hostnames in a local_only file chooser? user error #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "只能選取本地端檔案" @@ -1117,80 +1122,75 @@ msgstr "只能選取本地端檔案" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "不完整的主機名稱;請以「/」結尾" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "路徑不存在" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "建立資料夾「%s」發生錯誤:%s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "檔案系統" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "請選擇字型" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "字型" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcd ABCD 「中文測試」" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "字集(_F):" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "樣式(_S):" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "大小(_Z):" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "預覽(_P):" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "字型選擇" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "載入圖示時發生錯誤:%s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1203,75 +1203,75 @@ msgstr "" "您可以從下列地方取得:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "圖示‘%s’不存在於佈景主題中" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "載入圖示失敗" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "簡易" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "系統" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "沒有" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "系統 (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6214 msgid "_Open Link" msgstr "開啟連結(_O)" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6226 msgid "Copy _Link Address" msgstr "複製連結位址(_L)" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "複製 URL" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "無效的 URI" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "載入額外的 GTK+ 模組" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "模組" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "把所有的警告訊息都當成嚴重錯誤" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "準備設定的 GTK+ 偵錯旗標" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "準備去除的 GTK+ 偵錯旗標" @@ -1280,122 +1280,122 @@ msgstr "準備去除的 GTK+ 偵錯旗標" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "無法開啟畫面:%s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "GTK+ 選項" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "顯示 GTK+ 選項" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "連線(_N)" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "匿名連線(_A)" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "以使用者連線(_S):" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "使用者名稱(_U):" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "網域(_D):" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "密碼(_P):" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "立刻忘記密碼(_I)" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "記憶密碼到登出之前(_L)" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "永遠記住密碼(_F)" -#: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format -msgid "Unknown Application (PID %d)" -msgstr "不明的應用程式(pid %d)" - -#: gtk/gtkmountoperation.c:1066 +#: ../gtk/gtkmountoperation.c:883 #, c-format +msgid "Unknown Application (PID %d)" +msgstr "不明的應用程式(PID %d)" + +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "無法終止程序" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "終止程序(_E)" -#: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "不能終結 pid 為 %d 的程序。此操作尚未實作。" +msgstr "不能終結 PID 為 %d 的程序。此操作尚未實作。" #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "終端機換頁器" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Top 指令" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "不能結束 pid 為 %d 的程序:%s" +msgstr "不能結束 PID 為 %d 的程序:%s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "第 %u 頁" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "不是有效的頁面設定檔案" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "任何印表機" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "用於可攜式文件" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1410,51 +1410,51 @@ msgstr "" " 上:%s %s\n" " 下:%s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." -msgstr "管理自訂大小..." +msgstr "管理自訂大小…" -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "格式(_F)" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "紙張大小(_P):" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "方向(_O):" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "頁面設定" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "向上路徑" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "向下路徑" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "檔案系統根" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "驗證" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "不存在" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "選擇資料夾" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "儲存在資料夾中(_S):" @@ -1462,187 +1462,184 @@ msgstr "儲存在資料夾中(_S):" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s 的工作 #%d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "初始化狀態" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "正在準備列印" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "正在產生資料" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "正在傳送資料" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "正在等待" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "因問題被阻擋" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "正在列印" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "已完成" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "已完成但發生錯誤" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "正在準備 %d" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "正在準備" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "正在列印 %d" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "建立列印預覽時發生錯誤" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "最可能的原因是無法建立暫存檔案。" -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "執行預覽時發生錯誤" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "應用程式" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "印表機離線" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "沒有紙" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "已暫停" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "需要使用者干預" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "自訂大小" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "找不到印表機" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "給 CreateDC 的引數無效" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "來自 StartDoc 的錯誤" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "記憶體不足" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "給 PrintDlgEx 的參數無效" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "給 PrintDlgEx 的指標無效" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "給 PrintDlgEx 的處理無效" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "無法指定的錯誤" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "無法取得印表機資訊" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." -msgstr "正在取得印表機資訊..." +msgstr "正在取得印表機資訊…" -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "印表機" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "位置" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "狀態" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "範圍" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "所有頁面(_A)" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "目前頁面(_U)" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "選擇區域(_L)" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "頁數(_E):" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1650,28 +1647,28 @@ msgstr "" "指定一或多個頁面範圍,\n" "例如 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr " 頁" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "列印份數" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "份數(_S):" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "順序(_O)" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "反序(_R)" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" msgstr "一般" @@ -1681,168 +1678,168 @@ msgstr "一般" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "由左至右,由上至下" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "由左至右,由下至上" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "由右至左,由上至下" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "由右至左,由下至上" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "由上至下,由左至右" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "由上至下,由右至左" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "由下至上,由左至右" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "由下至上,由右至左" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "頁面順序" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "左至右" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "右至左" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "由上至下" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "由下至上" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "配置" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "雙面(_W):" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "每張紙的頁數(_S):" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "頁面順序(_D):" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "列印範圍(_O):" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "所有頁面" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "奇數頁" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "偶數頁" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "比例(_A):" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "紙張" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "紙張類型(_T):" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "紙張來源(_S):" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "出紙匣(_R):" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "方向(_I):" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "直向" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "橫向" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "直向倒轉" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "橫向倒轉" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "列印工作詳細資料" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "優先權(_O):" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "帳目資訊(_B):" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "列印文件" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "現在(_N)" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "於(_T):" @@ -1850,7 +1847,7 @@ msgstr "於(_T):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1858,121 +1855,121 @@ msgstr "" "指定列印的時刻格式,\n" " 例如 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "列印時刻" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "擱置(_H)" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "保留此工作直到它被明確的釋出" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "加入封面" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "這頁之前(_F):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "這頁之後(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "列印工作" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "進階" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "圖片品質" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "顏色" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "準備完成" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "對話視窗中某些設定有衝突" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "列印" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "找不到應包括的檔案:“%s”" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "無法在 pixmap_path 中找到圖片檔:“%s”" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "此函式還未在視窗元件的類別‘%s’中實現" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "選擇顯示那一類型的文件" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "找不到 URI‘%s’的項目" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "未命名的過濾條件" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "無法移除項目" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "無法清除清單" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "複製位置(_L)" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "從清單中移除(_R)" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "清除清單(_C)" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "顯示私有資源(_P)" @@ -1986,21 +1983,21 @@ msgstr "顯示私有資源(_P)" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "找不到項目" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "在 URI ‘%s’ 中找不到最近曾使用的資源" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "開啟「%s」" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "不明項目" @@ -2009,7 +2006,7 @@ msgstr "不明項目" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2018,46 +2015,51 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "無法找到有 URI ‘%s’ 的項目" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "找不到 URI「%2$s」,名稱「%1$s」的註冊應用程式" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "轉輪" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "顯示視覺化的進度指示" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Information" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "警告" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "錯誤" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "問題" @@ -2065,696 +2067,694 @@ msgstr "問題" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "關於(_A)" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "加入(_A)" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "套用(_A)" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "粗體(_B)" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "取消(_C)" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "清除(_C)" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "關閉(_C)" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "連線(_O)" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "轉換(_C)" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "複製(_C)" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "剪下(_T)" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "刪除(_D)" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "放棄(_D)" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "斷線(_D)" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "執行(_E)" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "編輯(_E)" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" msgstr "檔案(_F)" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "尋找(_F)" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "尋找與取代(_R)" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "軟碟(_F)" # (Abel) 「全螢幕模式」佔 gtktoolbar 按鈕的位置太闊了 -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "全螢幕(_F)" # (Abel) 「離開全螢幕模式」佔 gtktoolbar 按鈕的位置太闊了 -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "離開全螢幕(_L)" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "頁尾(_B)" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "第一頁(_F)" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "最後頁(_L)" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "頁首(_T)" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "上一步(_B)" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "向下(_D)" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "下一步(_F)" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "向上(_U)" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" msgstr "硬碟(_H)" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "求助(_H)" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "首頁(_H)" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "增加縮排" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "減少縮排" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "索引(_I)" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "資訊(_I)" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "斜體(_I)" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "跳轉到(_J)" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "置中(_C)" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "左右填滿(_F)" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "靠左(_L)" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "靠右(_R)" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "快轉(_F)" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "下一首(_N)" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "暫停(_A)" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "播放(_P)" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "上一首(_V)" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "錄製(_R)" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "倒轉(_E)" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "停止(_S)" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "網路(_N)" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "新增(_N)" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "否(_N)" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "確定(_O)" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "開啟(_O)" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "橫向" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "直向" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "橫向倒轉" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "直向倒轉" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "頁面設定(_U)" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "貼上(_P)" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "偏好設定(_P)" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "列印(_P)" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "預覽列印(_V)" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "屬性(_P)" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "結束(_Q)" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "取消復原(_R)" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "重新整理(_R)" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "移除(_R)" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "還原(_R)" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "儲存(_S)" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "另存新檔(_A)" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "全部選取(_A)" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "顏色(_C)" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "字型(_F)" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "遞增(_A)" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "遞減(_D)" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "拼字檢查(_S)" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "停止(_S)" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "刪除線(_S)" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "還原刪除(_U)" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "底線(_U)" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "復原(_U)" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "是(_Y)" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "一般大小(_N)" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "最適大小(_F)" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "拉近(_I)" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "拉遠(_O)" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "嘗試還原 %s 時發生不明的錯誤" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "找不到格式 %s 的還原功能" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "“id”及“name”同在 <%s> 元素中出現" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "屬性“%s”在同一個 <%s> 元素中出現了兩次" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:855 +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "<%s> 元素有無效的 id“%s”" +msgstr "<%s> 元素有無效的 ID「%s」" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> 元素缺少了“name”或“id”元素" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "屬性「%s」在同一個 <%s> 元素中重複了兩次" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "在此關聯選單中,屬性「%s」在 <%s> 元素中是無效的" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "標籤“%s”未定義" -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "找到不知名的標籤及無法建立標籤。" -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "標籤“%s”不存在於緩衝中及無法建立標籤" -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "元素 <%s> 不允許在 <%s> 之下" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "“%s” 不是一個有效的屬性類型" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "“%s” 不是一個有效的屬性名稱" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "“%s”無法轉換為數值類型“%s”,給屬性“%s”" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "“%s” 不是一個給屬性“%s”的有效數值" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "標籤“%s”已定義" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "標籤“%s”中有無效的優先等級“%s”" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "在 text 最外的元素應是 ,而非 <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> 元素已被指定" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr " 元素無法出現在 元素前" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "已還原資料的格式錯誤" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "已還原資料的格式錯誤。第一部份不是 GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "_LRM 左至右標記" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "_RLM 右至左標記" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LR_E 左至右內嵌" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RL_E 右至左內嵌" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LR_O 強制左至右" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RL_O 強制右至左" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "_PDF 回復以往方向" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "_ZWS 零寬度空格" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZW_J 零寬度連接符" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZW_NJ 零寬度非連接符" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "無法在 module_path 中找出佈景主題引擎:‘%s’," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "第 %2$d 行第 %3$d 字有非預設的開始標記‘%1$s’" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "第 %d 行第 %d 字有非預設的字元資料" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "空的" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "音量" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "提高或降低音量" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "調整音量" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "調低音量" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "減低音量" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "調高音量" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "增加音量" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "已靜音" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "最大音量" @@ -2763,932 +2763,932 @@ msgstr "最大音量" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "提醒間隔每" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "轉為獨立視窗(_D)" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "提醒間隔每" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "提醒間隔每" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "DL 信封" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Choukei 2 信封" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Choukei 3 信封" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Choukei 4 信封" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki(明信片)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "kahu 信封" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "kahu2 信封" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (明信片回覆)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "you4 信封" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9 英吋信封" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9 英吋信封" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11 英吋信封" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "a2 信封" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "c5 信封" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "南歐語系" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executive" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "FanFold European" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold German Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6(明信片)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "請求書" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tabloid" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monarch Envelope" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "10 號信封" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "11 號信封" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "12 小時" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "14 號信封" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "9 號信封" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "個人信封" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "寬格式" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "邀請信封" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "義大利信封" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix 信封" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "小相片" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1 信封" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10 信封" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2 信封" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3 信封" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4 信封" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "prc5 信封" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "prc6 信封" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7 信封" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8 信封" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc9 信封" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "在 symlinked‘%s’及‘%s’中找到不同的 idatas\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "寫入標頭失敗\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "寫入 hash table 失敗\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "寫入資料夾索引失敗\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "無法重寫標頭\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "開啟檔案「%s」失敗:%s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "無法寫入快取檔案:%s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "該產生的快取是無效的。\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "無法將 %s 的名稱更改為 %s:%s,屆時移除 %s。\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "無法將 %s 的名稱更改為 %s:%s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "無法將 %s 的名稱改回 %s:%s。\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "快取檔案建立完成。\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "即使是最新的,仍複寫既存的快取" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "不檢查 index.theme 是否存在" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "在快取中不要含有圖片資料" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "輸出 C 語言標頭檔" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "關閉詳細輸出" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "驗證既存的圖示快取" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "找不到檔案:%s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "不是有效的快取:%s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "沒有主題索引檔案。\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3698,309 +3698,309 @@ msgstr "" "如果您想在這裡建立圖示快取,請使用 --ignore-theme-index 選項。\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "阿姆哈拉文字 (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "下加符 (Cedilla)" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "斯拉夫文字(拼音)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "伊努伊特語(拼音)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "國際音標" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "泰國-寮國語" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "提格里尼亞語[厄立特里安] (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "提格里尼亞語[衣索比亞] (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "越南文 (VIQR)" # (Abel) 這個很特殊,人們看到簡寫 XIM 反而更易明白 #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "一般輸入法 (XIM)" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "使用者名稱:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "密碼:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "從 %s 取得檔案需要驗證" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "要在印表機 %2$s 列印文件「%1$s」需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "要在 %s 列印文件需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "要取得工作「%s」的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "要取得工作的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "要取得印表機「%s」的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "要取得印表機的屬性需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "要取得 %s 的預設印表機需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "要從 %s 取得印表機需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "從 %s 取得檔案需要驗證" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "%s 需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "網域:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "列印文件「%s」需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "要在印表機 %s 列印文件需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "要列印這份文件需要驗證" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "印表機「%s」碳粉/墨水不足。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "印表機「%s」碳粉/墨水用完。" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "印表機「%s」顯像劑不足。" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "印表機「%s」顯像劑用完。" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "印表機「%s」至少有一個碳粉/墨水不足。" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "印表機「%s」至少有一個碳粉/墨水用完。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "印表機「%s」的外殼是打開的。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "印表機「%s」的紙匣門是打開的。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "印表機「%s」紙張不足。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "印表機「%s」紙張用完。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format msgid "Printer '%s' is currently offline." msgstr "印表機「%s」目前離線。" -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "印表機「%s」發生問題。" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "已暫停;正在拒絕工作" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "正在拒絕工作" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "雙面" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "紙張類型" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "紙張來源" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "出紙匣" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "解析度" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript 前置過濾器" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "單面" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "長邊(標準)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "短邊(翻轉)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "自動選擇" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "印表機預設" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "只有內嵌的 GhostScript 字型" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "轉換為 PS 等級 1" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "轉換為 PS 等級 2" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "無前置過濾器" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "雜項" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "緊急" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "高" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "中" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "低" @@ -4008,66 +4008,66 @@ msgstr "低" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "每表頁數" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "工作優先權:" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "計費資訊" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "沒有" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "已分類" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "機密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "標準" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "高度機密" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "未分類" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "封面" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "封底" @@ -4075,14 +4075,14 @@ msgstr "封底" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "列印於" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "於指定時刻列印" @@ -4090,109 +4090,112 @@ msgstr "於指定時刻列印" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "自訂 %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "output.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "列印至檔案" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "每張紙的頁數(_S)" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "檔案" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "輸出格式(_O)" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "列印至 LPR" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "每張紙的頁數" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "命令列" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "印表機離線" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "準備列印" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "正在處理工作" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "已暫停" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "不明" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "test-output.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "列印至測試印表機" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "無法取得檔案「%s」的資訊:%s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "開啟檔案「%s」失敗:%s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "建立資料夾「%s」發生錯誤:%s" + #~ msgid "Gdk debugging flags to set" #~ msgstr "準備設定的 Gdk 偵錯旗標" @@ -4443,7 +4446,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgid "" #~ "Insufficient memory to load image, try exiting some applications to free " #~ "memory" -#~ msgstr "記憶體不足以載入圖片,請嘗試退出其它應用程式來釋放記憶體" +#~ msgstr "記憶體不足以載入圖片,請嘗試退出其他應用程式來釋放記憶體" #~ msgid "Unsupported JPEG color space (%s)" #~ msgstr "未支援的 JPEG 色彩空間 (%s)" @@ -4492,7 +4495,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "無法分配色盤資料所需的記憶體" #~ msgid "Didn't get all lines of PCX image" -#~ msgstr "未取得 PIX 圖片每一行的資料" +#~ msgstr "未取得 PIX 圖片每一列的資料" #~ msgid "No palette found at end of PCX data" #~ msgstr "PCX 資料末端沒有找到色盤" @@ -4526,7 +4529,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ "applications to reduce memory usage" #~ msgstr "" #~ "記憶體不足以載入大小為 %ld×%ld 的圖片;\n" -#~ "請嘗試退出其它應用程式來減低記憶體使用量" +#~ "請嘗試退出其他應用程式來減低記憶體使用量" #~ msgid "Fatal error reading PNG image file" #~ msgstr "讀入 PNG 圖片檔時發生嚴重錯誤" @@ -4749,7 +4752,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "記憶體不足以載入圖片" #~ msgid "Couldn't save the rest" -#~ msgstr "無法儲存其它部份" +#~ msgstr "無法儲存其他部份" #~ msgid "The WBMP image format" #~ msgstr "WBMP 圖片格式" @@ -5807,7 +5810,7 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "網路磁碟 (%s)" #~ msgid "Unknown attribute '%s' on line %d char %d" -#~ msgstr "第 %2$d 行第 %3$d 字有未知的屬性‘%1$s’" +#~ msgstr "第 %2$d 列第 %3$d 字有未知的屬性‘%1$s’" #~ msgid "Default" #~ msgstr "預設" @@ -5826,24 +5829,24 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "PNM 圖片格式不正確" #~ msgid "Line %d, column %d: missing attribute \"%s\"" -#~ msgstr "行 %d,列 %d:遺漏屬性“%s”" +#~ msgstr "列 %d,行 %d:遺漏屬性“%s”" #~ msgid "Line %d, column %d: unexpected element \"%s\"" -#~ msgstr "行 %d,列 %d:不是預設的元素“%s”" +#~ msgstr "列 %d,行 %d:不是預設的元素“%s”" #~ msgid "" #~ "Line %d, column %d: expected end of element \"%s\", but got element for " #~ "\"%s\" instead" -#~ msgstr "行 %d,列 %d:預設結束的元素應為“%s”,但取得“%s”的元素" +#~ msgstr "列 %d,行 %d:預設結束的元素應為“%s”,但取得“%s”的元素" #~ msgid "" #~ "Line %d, column %d: expected \"%s\" at the toplevel, but found \"%s\" " #~ "instead" -#~ msgstr "行 %d,列 %d:預設應為“%s”在最上層,但找到“%s”" +#~ msgstr "列 %d,行 %d:預設應為“%s”在最上層,但找到“%s”" #~ msgid "" #~ "Line %d, column %d: expected \"%s\" or \"%s\", but found \"%s\" instead" -#~ msgstr "行 %d,列 %d:預設應為“%s”或“%s”,但找到“%s”" +#~ msgstr "列 %d,行 %d:預設應為“%s”或“%s”,但找到“%s”" #~ msgid "Error creating directory '%s': %s" #~ msgstr "建立資料夾‘%s’時發生錯誤:%s" @@ -5918,4 +5921,4 @@ msgstr "無法載入圖片檔「%s」:原因不明,可能檔案已經損毀" #~ msgstr "清除" #~ msgid "Pixmap path element: \"%s\" must be absolute, %s, line %d" -#~ msgstr "Pixmap 路徑組成部份「%s」必須為絕對路徑,%s,第 %d 行" +#~ msgstr "Pixmap 路徑組成部份「%s」必須為絕對路徑,%s,第 %d 列" From 342d897b58dd40e1f9c591cec3d136e2e12d3426 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Wed, 10 Nov 2010 17:08:40 -0500 Subject: [PATCH 0225/1463] Pass the correct GDK library when working around Debian libtool We need to link against gdk/libgdk-x11-3.0.la, not gdk/x11/libgdk-x11.la, which is the convenience library containing the backend functions. --- gtk/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 23389fb2ef..0bab4ed6c8 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -924,7 +924,7 @@ Gtk_3_0_gir_CFLAGS = \ -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API Gtk_3_0_gir_LIBS = $(gtktargetlib) if USE_X11 -Gtk_3_0_gir_LIBS += $(top_builddir)/gdk/x11/libgdk-x11.la +Gtk_3_0_gir_LIBS += $(top_builddir)/gdk/libgdk-x11-3.0.la endif Gtk_3_0_gir_FILES = $(introspection_files) INTROSPECTION_GIRS += Gtk-3.0.gir From 52adead88f7bbd43b1899dc4c69e451a62577eed Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 11 Nov 2010 14:09:29 -0500 Subject: [PATCH 0226/1463] Really get rid of _gtk_cell_renderer_calc_offset --- modules/other/gail/gailtextcell.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/modules/other/gail/gailtextcell.c b/modules/other/gail/gailtextcell.c index fa07f0e50e..3f89700cc1 100644 --- a/modules/other/gail/gailtextcell.c +++ b/modules/other/gail/gailtextcell.c @@ -572,6 +572,7 @@ gail_text_cell_get_character_extents (AtkText *text, PangoRectangle char_rect; PangoLayout *layout; gchar *renderer_text; + gfloat xalign, yalign; gint x_offset, y_offset, index; gint xpad, ypad; @@ -609,15 +610,16 @@ gail_text_cell_get_character_extents (AtkText *text, widget, &min_size, NULL); - gtk_cell_renderer_calc_offset (GTK_CELL_RENDERER (gtk_renderer), &rendered_rect, - gtk_widget_get_direction (widget), - min_size.width, min_size.height, - &x_offset, &y_offset); + gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign); + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + xalign = 1.0 - xalign; + x_offset = MAX (0, xalign * (rendered_rect.width - min_size.width)); + y_offset = MAX (0, yalign * (rendered_rect.height - min_size.height)); layout = create_pango_layout (gtk_renderer, widget); index = g_utf8_offset_to_pointer (renderer_text, offset) - renderer_text; - pango_layout_index_to_pos (layout, index, &char_rect); + pango_layout_index_to_pos (layout, index, &char_rect); gtk_cell_renderer_get_padding (gail_renderer->renderer, &xpad, &ypad); gail_misc_get_extents_from_pango_rectangle (widget, @@ -646,7 +648,6 @@ gail_text_cell_get_offset_at_point (AtkText *text, GdkRectangle rendered_rect; PangoLayout *layout; gchar *renderer_text; - gint width, height; gfloat xalign, yalign; gint x_offset, y_offset, index; gint xpad, ypad; @@ -677,12 +678,11 @@ gail_text_cell_get_offset_at_point (AtkText *text, gtk_cell_renderer_get_preferred_size (GTK_CELL_RENDERER (gtk_renderer), widget, &min_size, NULL); - gtk_cell_renderer_get_fixed_size (GTK_CELL_RENDERER (gtk_renderer), &width, &height); gtk_cell_renderer_get_alignment (GTK_CELL_RENDERER (gtk_renderer), &xalign, &yalign); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) xalign = 1.0 - xalign; - x_offset = MAX (0, xalign * (width - min_size.width)); - y_offset = MAX (0, yalign * (height - min_size.height)); + x_offset = MAX (0, xalign * (rendered_rect.width - min_size.width)); + y_offset = MAX (0, yalign * (rendered_rect.height - min_size.height)); layout = create_pango_layout (gtk_renderer, widget); From ed0aff4792d4ecba1ee848e170287746d07401ed Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 11 Nov 2010 14:12:04 -0500 Subject: [PATCH 0227/1463] Remove no longer existing files The gdk-pixbuf VC project files are gone, so don't reference them from Makefile.am anymore. --- build/win32/vs9/Makefile.am | 3 --- 1 file changed, 3 deletions(-) diff --git a/build/win32/vs9/Makefile.am b/build/win32/vs9/Makefile.am index c92017fab2..a26563962d 100644 --- a/build/win32/vs9/Makefile.am +++ b/build/win32/vs9/Makefile.am @@ -4,9 +4,6 @@ EXTRA_DIST += \ README.txt \ gtk+.sln \ gtk+.vsprops \ - gdk-pixbuf.vcproj \ - gdk-pixbuf-csource.vcproj \ - gdk-pixbuf-query-loaders.vcproj \ gdk-win32.vcproj \ gdk.vcproj \ gdk.vcprojin \ From 7d11c16b178e31b0e8a71aaeb2180fcda249bb1a Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 12 Nov 2010 17:00:09 +0000 Subject: [PATCH 0228/1463] gdk: Add XSetting for "gtk-cursor-blink-timeout" Otherwise the blink timeout is the one used by default in GTK+. https://bugzilla.gnome.org/show_bug.cgi?id=634697 --- gdk/win32/gdkproperty-win32.c | 1 + gdk/x11/gdksettings.c | 1 + 2 files changed, 2 insertions(+) diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index 6228ad11bb..542f83a9cb 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -322,6 +322,7 @@ gdk_property_delete (GdkWindow *window, "Gtk/ButtonImages\0" "gtk-button-images\0" "Gtk/MenuImages\0" "gtk-menu-images\0" "Gtk/MenuBarAccel\0" "gtk-menu-bar-accel\0" + "Gtk/CursorBlinkTimeout\0" "gtk-cursor-blink-timeout\0" "Gtk/CursorThemeName\0" "gtk-cursor-theme-name\0" "Gtk/CursorThemeSize\0" "gtk-cursor-theme-size\0" "Gtk/ShowInputMethodMenu\0" "gtk-show-input-method-menu\0" diff --git a/gdk/x11/gdksettings.c b/gdk/x11/gdksettings.c index 0e98816bf0..1db9ec76a1 100644 --- a/gdk/x11/gdksettings.c +++ b/gdk/x11/gdksettings.c @@ -51,6 +51,7 @@ static const char gdk_settings_names[] = "Gtk/ButtonImages\0" "gtk-button-images\0" "Gtk/MenuImages\0" "gtk-menu-images\0" "Gtk/MenuBarAccel\0" "gtk-menu-bar-accel\0" + "Gtk/CursorBlinkTimeout\0" "gtk-cursor-blink-timeout\0" "Gtk/CursorThemeName\0" "gtk-cursor-theme-name\0" "Gtk/CursorThemeSize\0" "gtk-cursor-theme-size\0" "Gtk/ShowInputMethodMenu\0" "gtk-show-input-method-menu\0" From c68a4ad4f602b6d25369b6ff78b85a43901711d8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 12 Nov 2010 19:19:48 -0500 Subject: [PATCH 0229/1463] Fix a crash in gnome-terminal when using a compositor In this case, gnome-terminal sets an RGBA visual on its window, and we need to be careful when creating the icon pixmap, to create the pixmap with the same depth as the visual, or we risk a BadMatch from XRenderCreatePicture deep inside cairo. --- gdk/x11/gdkwindow-x11.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 9f54ddc3c5..88d85101ae 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -278,14 +278,16 @@ gdk_x11_window_create_pixmap_surface (GdkWindow *window, { cairo_surface_t *surface; Pixmap pixmap; + GdkVisual *visual; + visual = gdk_window_get_visual (window); pixmap = XCreatePixmap (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), width, height, - DefaultDepthOfScreen (GDK_SCREEN_XSCREEN (GDK_WINDOW_SCREEN (window)))); + gdk_visual_get_depth (visual)); surface = cairo_xlib_surface_create (GDK_WINDOW_XDISPLAY (window), pixmap, - GDK_VISUAL_XVISUAL (gdk_window_get_visual (window)), + GDK_VISUAL_XVISUAL (visual), width, height); attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap); From df5286f11e5f89ebb74162af28bb702506e822a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Thu, 11 Nov 2010 05:03:06 +0100 Subject: [PATCH 0230/1463] examples/gtkdial: Do not use size_request vfunc --- examples/gtkdial/gtkdial.c | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/examples/gtkdial/gtkdial.c b/examples/gtkdial/gtkdial.c index a347501f6f..39338f67c6 100644 --- a/examples/gtkdial/gtkdial.c +++ b/examples/gtkdial/gtkdial.c @@ -33,8 +33,12 @@ static void gtk_dial_class_init (GtkDialClass *klass); static void gtk_dial_init (GtkDial *dial); static void gtk_dial_destroy (GtkWidget *widget); static void gtk_dial_realize (GtkWidget *widget); -static void gtk_dial_size_request (GtkWidget *widget, - GtkRequisition *requisition); +static void gtk_dial_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); +static void gtk_dial_get_preferred_heigh (GtkWidget *widget, + gint *minimum, + gint *natural); static void gtk_dial_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_dial_expose (GtkWidget *widget, @@ -96,7 +100,8 @@ gtk_dial_class_init (GtkDialClass *class) widget_class->destroy = gtk_dial_destroy; widget_class->realize = gtk_dial_realize; widget_class->expose_event = gtk_dial_expose; - widget_class->size_request = gtk_dial_size_request; + widget_class->get_preferred_width = gtk_dial_get_preferred_width; + widget_class->get_preferred_height = gtk_dial_get_preferred_height; widget_class->size_allocate = gtk_dial_size_allocate; widget_class->button_press_event = gtk_dial_button_press; widget_class->button_release_event = gtk_dial_button_release; @@ -237,12 +242,20 @@ gtk_dial_realize (GtkWidget *widget) gtk_style_set_background (widget->style, widget->window, GTK_STATE_ACTIVE); } -static void -gtk_dial_size_request (GtkWidget *widget, - GtkRequisition *requisition) +static void +gtk_dial_get_preferred_width (GtkWidget *widget, + gint *minimum, + gint *natural); { - requisition->width = DIAL_DEFAULT_SIZE; - requisition->height = DIAL_DEFAULT_SIZE; + *minimum = *natural = DIAL_DEFAULT_SIZE; +} + +static void +gtk_dial_get_preferred_heigh (GtkWidget *widget, + gint *minimum, + gint *natural); +{ + *minimum = *natural = DIAL_DEFAULT_SIZE; } static void From bef95590891a7c7c7a85e559093aee9ada4129f0 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Sat, 13 Nov 2010 03:14:50 +0200 Subject: [PATCH 0231/1463] Updated Arabic translation --- po/ar.po | 666 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 336 insertions(+), 330 deletions(-) diff --git a/po/ar.po b/po/ar.po index b70fd214ad..d2b87d0563 100644 --- a/po/ar.po +++ b/po/ar.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-08-19 17:51+0300\n" +"POT-Creation-Date: 2010-11-13 03:09+0200\n" +"PO-Revision-Date: 2010-11-13 03:20+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -22,77 +22,75 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Virtaal 0.7.0-beta1\n" +"X-Generator: Virtaal 0.6.1\n" -#: gdk/gdk.c:103 +#: gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" msgstr "حدث خطأ أثناء تحليل الخيار ‪--gdk-debug‬" -#: gdk/gdk.c:123 +#: gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "حدث خطأ أثناء تحليل الخيار ‪--gdk-no-debug‬" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "صنف البرنامج كما يستخدمه مدير النوافذ" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: gdk/gdk.c:153 msgid "CLASS" msgstr "صنف" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "اسم البرنامج كما يستخدمه مدير النوافذ" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: gdk/gdk.c:156 msgid "NAME" msgstr "اسم" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: gdk/gdk.c:158 msgid "X display to use" msgstr "مِعراض س ليستخدم" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: gdk/gdk.c:159 msgid "DISPLAY" msgstr "مِعراض" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: gdk/gdk.c:161 msgid "X screen to use" msgstr "شاشة س لتُستخدم" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: gdk/gdk.c:162 msgid "SCREEN" msgstr "شاشة" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: gdk/gdk.c:165 msgid "GDK debugging flags to set" -msgstr "شارات تنقيح ج‌ت‌ك+ التي ستضبط" +msgstr "شارات تنقيح ج‌د‌ك+ التي ستضبط" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: gdk/gdk.c:166 gdk/gdk.c:169 gtk/gtkmain.c:534 gtk/gtkmain.c:537 msgid "FLAGS" msgstr "شارات" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: gdk/gdk.c:168 msgid "GDK debugging flags to unset" -msgstr "شارات تنقيح ج‌ت‌ك+ التي ستُصفّر" +msgstr "شارات تنقيح ج‌د‌ك+ التي ستُصفّر" #: gdk/keyname-table.h:3940 msgctxt "keyboard label" @@ -331,7 +329,7 @@ msgstr[4] "يجري فتح %Id عنصرا" msgstr[5] "يجري فتح %Id عنصر" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "اجعل نداءات س متزامنة" @@ -343,7 +341,7 @@ msgstr "اجعل نداءات س متزامنة" msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "يأتي هذا البرنامج دون أي ضمانات على الإطلاق؛ زر %s لمزيد من المعلومات." -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "الترخيص" @@ -352,41 +350,41 @@ msgid "The license of the program" msgstr "ترخيص البرنامج" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "إ_شادات" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "ال_ترخيص" -#: gtk/gtkaboutdialog.c:839 +#: gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "تعذّر إظهار الوصلة" -#: gtk/gtkaboutdialog.c:932 +#: gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "عنْ %s" -#: gtk/gtkaboutdialog.c:2153 +#: gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "إشادات" -#: gtk/gtkaboutdialog.c:2185 +#: gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "كتَبَهُ" -#: gtk/gtkaboutdialog.c:2188 +#: gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "وثّقه" -#: gtk/gtkaboutdialog.c:2200 +#: gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "ترجَمَهُ" -#: gtk/gtkaboutdialog.c:2204 +#: gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "جمَّلَهُ" @@ -466,9 +464,9 @@ msgid "Invalid type function on line %d: '%s'" msgstr "نوع دالة غير سليم في سطر %d: '%s'" #: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "هوية كائن مكررة '%s' في سطر %d (السابقة في سطر %d)" +msgstr "معرّف كائن مكرر '%s' في سطر %d (السابق في سطر %d)" #: gtk/gtkbuilderparser.c:859 #, c-format @@ -490,7 +488,7 @@ msgstr "وسم غير معتبر: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:MY" @@ -498,7 +496,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:7" @@ -507,7 +505,7 @@ msgstr "calendar:week_start:7" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -522,7 +520,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: gtk/gtkcalendar.c:1879 gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -538,7 +536,7 @@ msgstr "%Id" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: gtk/gtkcalendar.c:1911 gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -554,7 +552,7 @@ msgstr "%Id" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -590,15 +588,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%Id ٪" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: gtk/gtkcolorbutton.c:188 gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "اختر لونًا" -#: gtk/gtkcolorbutton.c:336 +#: gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "استُلِمت بيانات لون غير سليمة\n" -#: gtk/gtkcolorsel.c:384 +#: gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -606,73 +604,73 @@ msgstr "" "اختر اللون الذي تريده من الحلقة الخارجية. اختر ظلمة أو إضاءة ذلك اللون " "باستخدام المثلث الداخلي." -#: gtk/gtkcolorsel.c:408 +#: gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "انقر القطّارة ثم انقر أيّ لون في أيّ مكان على الشاشة لاختيار ذلك اللون." -#: gtk/gtkcolorsel.c:417 +#: gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "ال_تدرج:" -#: gtk/gtkcolorsel.c:418 +#: gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "الموقع على عجلة الألوان." -#: gtk/gtkcolorsel.c:420 +#: gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "الت_شبع:" -#: gtk/gtkcolorsel.c:421 +#: gtk/gtkcolorsel.c:453 msgid "Intensity of the color." msgstr "كثافة اللون." -#: gtk/gtkcolorsel.c:422 +#: gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "ال_قيمة:" -#: gtk/gtkcolorsel.c:423 +#: gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "سُطوع اللون." -#: gtk/gtkcolorsel.c:424 +#: gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "_أحمر:" -#: gtk/gtkcolorsel.c:425 +#: gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "كمية الضوء الأحمر في اللون." -#: gtk/gtkcolorsel.c:426 +#: gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "أ_خضر:" -#: gtk/gtkcolorsel.c:427 +#: gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "كمية الضوء الأخضر في اللون." -#: gtk/gtkcolorsel.c:428 +#: gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "أ_زرق:" -#: gtk/gtkcolorsel.c:429 +#: gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "كمية الضوء الأزرق في اللون." -#: gtk/gtkcolorsel.c:432 +#: gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "ال_عتامة:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: gtk/gtkcolorsel.c:471 gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "شفافية اللون." -#: gtk/gtkcolorsel.c:456 +#: gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "ا_سم اللون:" -#: gtk/gtkcolorsel.c:470 +#: gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -680,15 +678,15 @@ msgstr "" "يمكنك إدخال قيمة لون بالنظام الست عشري و أسلوب HTML، أو اسم لون بكل بساطة " "مثل 'orange' في هذه الخانة." -#: gtk/gtkcolorsel.c:500 +#: gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "_لوحة الألوان:" -#: gtk/gtkcolorsel.c:529 +#: gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "عجلة الألوان" -#: gtk/gtkcolorsel.c:988 +#: gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -697,7 +695,7 @@ msgstr "" "اللون المُختار سابقًا، للمقارنة باللون الذي اخترتَه الآن. يُمكِنك سحب هذا اللون " "لخانة لوحة ألوان، أو جعله كاللون الحالي بسحبه للمربع اللوني." -#: gtk/gtkcolorsel.c:991 +#: gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -705,21 +703,21 @@ msgstr "" "اللون الذي اخترته. تستطيع سحب هذا اللون إلى خانة لوحة الألوان لحفظه حتى " "تستخدمه مستقبلًا." -#: gtk/gtkcolorsel.c:996 +#: gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "اللون المختار سابقا، لمقارنته مع اللون الذي تختاره الآن." -#: gtk/gtkcolorsel.c:999 +#: gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "اللون الذي اخترته." -#: gtk/gtkcolorsel.c:1396 +#: gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "ا_حفظ اللون هنا" -#: gtk/gtkcolorsel.c:1601 +#: gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -742,7 +740,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "أدِر المقاسات المخصّصة" @@ -795,23 +793,23 @@ msgstr "_يمين:" msgid "Paper Margins" msgstr "حواف الورق" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: gtk/gtkentry.c:8652 gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "طرق ال_إدخال" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: gtk/gtkentry.c:8666 gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "أ_درج محرف تحكم يونيكود" -#: gtk/gtkentry.c:10015 +#: gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" msgstr "زر الحروف العالية والأرقام مفعل" -#: gtk/gtkentry.c:10017 +#: gtk/gtkentry.c:10068 msgid "Num Lock is on" msgstr "زر الأرقام مفعّل" -#: gtk/gtkentry.c:10019 +#: gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "زر الحروف العالية مفعّل" @@ -822,7 +820,7 @@ msgstr "زر الحروف العالية مفعّل" msgid "Select A File" msgstr "اختر ملفًا" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "سطح المكتب" @@ -830,31 +828,31 @@ msgstr "سطح المكتب" msgid "(None)" msgstr "(لا شيء)" -#: gtk/gtkfilechooserbutton.c:2005 +#: gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "أخرى..." -#: gtk/gtkfilechooserdefault.c:148 +#: gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "اكتب اسما للمجلد الجديد" -#: gtk/gtkfilechooserdefault.c:938 +#: gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "تعذّر جلب معلومات عن الملف" -#: gtk/gtkfilechooserdefault.c:949 +#: gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "تعذّر إضافة علامة" -#: gtk/gtkfilechooserdefault.c:960 +#: gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "تعذّر حذف العلامة" -#: gtk/gtkfilechooserdefault.c:971 +#: gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "تعذّر إنشاء المجلّد" -#: gtk/gtkfilechooserdefault.c:984 +#: gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -862,11 +860,19 @@ msgstr "" "تعذّر إنشاء المجلد بسبب وجود ملف يحمل نفس الاسم. حاول استخدام اسم آخر للمجلد، " "أو غيّر اسم الملف أولا." -#: gtk/gtkfilechooserdefault.c:995 +#: gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" +"يمكن اختيار المجلدات فقط. العنصر الذي اخترته ليس مجلدا، حاول اختيار عنصر " +"آخر." + +#: gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "اسم ملف غير صالح" -#: gtk/gtkfilechooserdefault.c:1005 +#: gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "تعذّر عرض محتويات المجلد." @@ -874,236 +880,236 @@ msgstr "تعذّر عرض محتويات المجلد." #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s على %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "ابحث" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: gtk/gtkfilechooserdefault.c:1776 gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "مستخدمة مؤخرا" -#: gtk/gtkfilechooserdefault.c:2409 +#: gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "اختر أنواع الملفات التي ستعرض" -#: gtk/gtkfilechooserdefault.c:2768 +#: gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "أضِف المجلّد '%s' إلى العلامات" -#: gtk/gtkfilechooserdefault.c:2812 +#: gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "أضِف المجلّد الحالي إلى العلامات" -#: gtk/gtkfilechooserdefault.c:2814 +#: gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "أضِف المجلدات المحددة إلى العلامات" -#: gtk/gtkfilechooserdefault.c:2852 +#: gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "احذِف العلامة '%s'" -#: gtk/gtkfilechooserdefault.c:2854 +#: gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "لا يمكن إزالة العلامة '%s'" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: gtk/gtkfilechooserdefault.c:2882 gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "احذِف العلامة المحددة" -#: gtk/gtkfilechooserdefault.c:3421 +#: gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "احذف" -#: gtk/gtkfilechooserdefault.c:3430 +#: gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." msgstr "غيّر الاسم..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "أماكن" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "أ_ماكن" -#: gtk/gtkfilechooserdefault.c:3706 +#: gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "أ_ضف" -#: gtk/gtkfilechooserdefault.c:3713 +#: gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "أضِف المجلد المحدد للعلامات" -#: gtk/gtkfilechooserdefault.c:3718 +#: gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "ا_حذِف" -#: gtk/gtkfilechooserdefault.c:3860 +#: gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "تعذّر اختيار الملف" -#: gtk/gtkfilechooserdefault.c:4035 +#: gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "أ_ضف للعلامات" -#: gtk/gtkfilechooserdefault.c:4048 +#: gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "أظهر الملفات ال_مخفيّة" -#: gtk/gtkfilechooserdefault.c:4055 +#: gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "أظهر _عمود الحجم" -#: gtk/gtkfilechooserdefault.c:4281 +#: gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "ملفات" -#: gtk/gtkfilechooserdefault.c:4332 +#: gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "الا_سم" -#: gtk/gtkfilechooserdefault.c:4355 +#: gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "الحجم" -#: gtk/gtkfilechooserdefault.c:4369 +#: gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "معدّل" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: gtk/gtkfilechooserdefault.c:4646 gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "الا_سم:" -#: gtk/gtkfilechooserdefault.c:4667 +#: gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" -msgstr "_تصفّح لأدلّة أخرى" +msgstr "_تصفّح مجلدات أخرى" -#: gtk/gtkfilechooserdefault.c:4937 +#: gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "اكتب اسم ملف" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "أنشئ _مجلّدًا" -#: gtk/gtkfilechooserdefault.c:4990 +#: gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "ال_موقع:" -#: gtk/gtkfilechooserdefault.c:5194 +#: gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "احفظ في ال_مجلّد:" -#: gtk/gtkfilechooserdefault.c:5196 +#: gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "أنشئ في ال_مجلّد:" -#: gtk/gtkfilechooserdefault.c:6248 +#: gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "تعذّرت قراءة محتويات %s" -#: gtk/gtkfilechooserdefault.c:6252 +#: gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "تعذّرت قراءة محتويات المجلّد" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: gtk/gtkfilechooserdefault.c:6384 gtk/gtkfilechooserdefault.c:6452 +#: gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "مجهول" -#: gtk/gtkfilechooserdefault.c:6360 +#: gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%OH:%OM" -#: gtk/gtkfilechooserdefault.c:6362 +#: gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "أمس في %OH:%OM" -#: gtk/gtkfilechooserdefault.c:7028 +#: gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "تعذّر الانتقال إلى المجلّد لأنه غير محلي" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: gtk/gtkfilechooserdefault.c:7664 gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "الاختصار %s موجود مسبقا" -#: gtk/gtkfilechooserdefault.c:7736 +#: gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "الاختصار %s غير موجود" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: gtk/gtkfilechooserdefault.c:8036 gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "هناك ملف باسم \"%s\" موجود حاليا. أتريد استبداله؟" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: gtk/gtkfilechooserdefault.c:8039 gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "الملف موجود بالفعل في \"%s\". استبداله سيكتب فوق محتواه." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: gtk/gtkfilechooserdefault.c:8044 gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "است_بدِل" -#: gtk/gtkfilechooserdefault.c:8658 +#: gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "تعذّر تشغيل عملية البحث" -#: gtk/gtkfilechooserdefault.c:8659 +#: gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "" "لم يمكن للبرنامج أن ينشئ اتصالا بخادوم الفهرسة. الرجاء التأكد من أنه مشتغل." -#: gtk/gtkfilechooserdefault.c:8673 +#: gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "تعذّر إرسال طلب البحث" -#: gtk/gtkfilechooserdefault.c:8861 +#: gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "ابحث:" -#: gtk/gtkfilechooserdefault.c:9466 +#: gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "تعذّر وصْل %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "مسار غير صحيح" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "لا تطابق" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "مجرد اكتمال" @@ -1111,13 +1117,13 @@ msgstr "مجرد اكتمال" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "مكتمل، لكن ليس فريدا" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "يجري الإكمال..." @@ -1125,7 +1131,7 @@ msgstr "يجري الإكمال..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: gtk/gtkfilechooserentry.c:1185 gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "يتاح اختيار الملفات المحلية فقط" @@ -1133,22 +1139,17 @@ msgstr "يتاح اختيار الملفات المحلية فقط" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "اسم مستضيف غير كامل؛ أضف '/' إلى نهايته" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "المسار غير موجود" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "خطأ أثناء إنشاء المجلد '%s': %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to @@ -1190,11 +1191,11 @@ msgid "Si_ze:" msgstr "ال_حجم:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_معاينة:" -#: gtk/gtkfontsel.c:1659 +#: gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "اختيار الخط" @@ -1206,7 +1207,7 @@ msgstr "اختيار الخط" msgid "Error loading icon: %s" msgstr "خطأ أثناء تحميل الأيقونة: %s" -#: gtk/gtkicontheme.c:1354 +#: gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1219,12 +1220,12 @@ msgstr "" "يمكنك جلب نسخة من:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "الأيقونة '%s' غير موجودة في السِمة" -#: gtk/gtkicontheme.c:3048 +#: gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "فشل تحميل الأيقونة" @@ -1249,45 +1250,45 @@ msgid "System (%s)" msgstr "النظام (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: gtk/gtklabel.c:6214 msgid "_Open Link" msgstr "ا_فتح الوصلة" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: gtk/gtklabel.c:6226 msgid "Copy _Link Address" msgstr "ا_نسخ عنوان الوصلة" -#: gtk/gtklinkbutton.c:449 +#: gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "ا_نسخ المسار" -#: gtk/gtklinkbutton.c:601 +#: gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "عنوان غير صحيح" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "حمّل وحدات ج‌ت‌ك+ إضافية" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: gtk/gtkmain.c:528 msgid "MODULES" msgstr "وحدات" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "اجعل جميع التحذيرات قاتلة" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "شارات تنقيح ج‌ت‌ك+ التي ستضبط" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "شارات تنقيح ج‌ت‌ك+ التي ستُصفّر" @@ -1296,20 +1297,20 @@ msgstr "شارات تنقيح ج‌ت‌ك+ التي ستُصفّر" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:RTL" -#: gtk/gtkmain.c:863 +#: gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "غير قادر على فتح العرض: %s" -#: gtk/gtkmain.c:922 +#: gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "خيارات ج‌ت‌ك+" -#: gtk/gtkmain.c:922 +#: gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "اعرض خيارات ج‌ت‌ك+" @@ -1350,12 +1351,11 @@ msgid "Remember _forever" msgstr "تذكر للأب_د" #: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format +#, c-format msgid "Unknown Application (PID %d)" msgstr "تطبيق مجهول (معرف العملية %d)" #: gtk/gtkmountoperation.c:1066 -#, c-format msgid "Unable to end process" msgstr "تعذّر إنهاء العملية" @@ -1364,9 +1364,9 @@ msgid "_End Process" msgstr "أ_نه العملية" #: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "تعذّر قتل العملية ذات المعرّف %d. العملية غير مدعومة." +msgstr "تعذّر قتل العملية ذات المعرّف %d. أمر غير مدعومة." #. translators: this string is a name for the 'less' command #: gtk/gtkmountoperation-x11.c:862 @@ -1390,16 +1390,17 @@ msgid "Z Shell" msgstr "صدفة زِد" #: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "تعذّر قتل العملية ذات المعرف %d: %s" +msgstr "تعذّر إنهاء العملية ذات المعرف %d:‏ %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: gtk/gtknotebook.c:4756 gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "صفحة %Iu" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: gtk/gtkpagesetup.c:648 gtk/gtkpapersize.c:838 +#: gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "ملف تثبيت صفحة غير سليم" @@ -1426,7 +1427,7 @@ msgstr "" "فوق: %s %s\n" "تحت: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." msgstr "أدِر المقاسات المخصّصة..." @@ -1434,7 +1435,7 @@ msgstr "أدِر المقاسات المخصّصة..." msgid "_Format for:" msgstr "_صيغة:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "_مقاس الورقة:" @@ -1442,19 +1443,19 @@ msgstr "_مقاس الورقة:" msgid "_Orientation:" msgstr "الا_تجاه:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "إعداد الصفحة" -#: gtk/gtkpathbar.c:154 +#: gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "المسار العلوي" -#: gtk/gtkpathbar.c:156 +#: gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "المسار السفلي" -#: gtk/gtkpathbar.c:1497 +#: gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "جذر نظام الملفات" @@ -1462,15 +1463,15 @@ msgstr "جذر نظام الملفات" msgid "Authentication" msgstr "الاستيثاق" -#: gtk/gtkprinteroptionwidget.c:694 +#: gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "غير متوفر" -#: gtk/gtkprinteroptionwidget.c:794 +#: gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "اختر مجلدًا" -#: gtk/gtkprinteroptionwidget.c:813 +#: gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "ا_حفظ في مجلّد:" @@ -1534,7 +1535,6 @@ msgid "Preparing %d" msgstr "يحضّر %Id" #: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format msgid "Preparing" msgstr "يحضّر" @@ -1544,12 +1544,10 @@ msgid "Printing %d" msgstr "يطبع %Id" #: gtk/gtkprintoperation.c:2932 -#, c-format msgid "Error creating print preview" msgstr "حدث خطأ أثناء إنشاء معاينة الطباعة" #: gtk/gtkprintoperation.c:2935 -#, c-format msgid "The most probable reason is that a temporary file could not be created." msgstr "السبب الأكثر احتمالاً هو عدم القدرة على إنشاء ملف مؤقت." @@ -1697,168 +1695,168 @@ msgstr "عامّ" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: gtk/gtkprintunixdialog.c:3024 +#: modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "من اليسار لليمين، ومن الأعلى للأسفل" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: gtk/gtkprintunixdialog.c:3024 +#: modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "من اليسار لليمين، ومن الأسفل للأعلى" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: gtk/gtkprintunixdialog.c:3025 +#: modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "من اليمين لليسار، ومن الأعلى للأسفل" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: gtk/gtkprintunixdialog.c:3025 +#: modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "من اليمين لليسار، ومن الأسفل للأعلى" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: gtk/gtkprintunixdialog.c:3026 +#: modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "من الأعلى للأسفل، ومن اليسار لليمين" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: gtk/gtkprintunixdialog.c:3026 +#: modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "من الأعلى للأسفل، ومن اليمين لليسار" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: gtk/gtkprintunixdialog.c:3027 +#: modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "من الأسفل للأعلى، ومن اليسار لليمين" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: gtk/gtkprintunixdialog.c:3027 +#: modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "من الأسفل للأعلى، ومن اليمين لليسار" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: gtk/gtkprintunixdialog.c:3031 gtk/gtkprintunixdialog.c:3044 +#: modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "ترتيب الصفحات" -#: gtk/gtkprintunixdialog.c:3053 +#: gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "من اليسار لليمين" -#: gtk/gtkprintunixdialog.c:3054 +#: gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "من اليمين لليسار" -#: gtk/gtkprintunixdialog.c:3066 +#: gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "من الأعلى للأسفل" -#: gtk/gtkprintunixdialog.c:3067 +#: gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "من الأسفل للأعلى" -#: gtk/gtkprintunixdialog.c:3307 +#: gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "التصميم" -#: gtk/gtkprintunixdialog.c:3311 +#: gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "ذو _وجهين:" -#: gtk/gtkprintunixdialog.c:3326 +#: gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "الصفحات في كل _جهة:" -#: gtk/gtkprintunixdialog.c:3343 +#: gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "_ترتيب الصفحات:" -#: gtk/gtkprintunixdialog.c:3359 +#: gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "الطباعة _فقط:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "كل الورقات" -#: gtk/gtkprintunixdialog.c:3375 +#: gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "الورقات الزوجية" -#: gtk/gtkprintunixdialog.c:3376 +#: gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "الورقات الفردية" -#: gtk/gtkprintunixdialog.c:3379 +#: gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "_المقياس:" -#: gtk/gtkprintunixdialog.c:3406 +#: gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "ورق" -#: gtk/gtkprintunixdialog.c:3410 +#: gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "نوع الورق:" -#: gtk/gtkprintunixdialog.c:3425 +#: gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "_مصدر الورق:" -#: gtk/gtkprintunixdialog.c:3440 +#: gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "_لوحة الخرْج:" -#: gtk/gtkprintunixdialog.c:3480 +#: gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "الا_تجاه:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "طوليّ" -#: gtk/gtkprintunixdialog.c:3496 +#: gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "عرضيّ" -#: gtk/gtkprintunixdialog.c:3497 +#: gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "طوليّ مقلوب" -#: gtk/gtkprintunixdialog.c:3498 +#: gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "عرضيّ مقلوب" -#: gtk/gtkprintunixdialog.c:3543 +#: gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "تفاصيل المهمّة" -#: gtk/gtkprintunixdialog.c:3549 +#: gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "الأو_لوية:" -#: gtk/gtkprintunixdialog.c:3564 +#: gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr " _معلومات الدفع:" -#: gtk/gtkprintunixdialog.c:3582 +#: gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "اطبع المستند" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "الآ_ن" -#: gtk/gtkprintunixdialog.c:3602 +#: gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "_في:" @@ -1866,7 +1864,7 @@ msgstr "_في:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1874,68 +1872,68 @@ msgstr "" "حدد وقت الطباعة،\n" "مثلا: 15:30، 2:35 م، 14:15:20، 11:46:30 ص، 4 م" -#: gtk/gtkprintunixdialog.c:3618 +#: gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "وقت الطباعة" -#: gtk/gtkprintunixdialog.c:3634 +#: gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "قيد الان_تظار" -#: gtk/gtkprintunixdialog.c:3635 +#: gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "احجز المهمّة حتّى تطلق صراحة" -#: gtk/gtkprintunixdialog.c:3655 +#: gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "أضِف صفحة غلاف" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "ق_بل:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "ب_عد:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "مَهمّة" -#: gtk/gtkprintunixdialog.c:3766 +#: gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "متقدّم" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "جودة الصورة" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "اللون" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "يجري الإنهاء" -#: gtk/gtkprintunixdialog.c:3823 +#: gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "بعض الإعدادات في الحوار تتعارض" -#: gtk/gtkprintunixdialog.c:3846 +#: gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "اطبع" @@ -1950,45 +1948,45 @@ msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "تعذّر إيجاد موقع ملف الصورة في pixmap_path: \"%s\"" #: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: gtk/gtkrecentchoosermenu.c:608 gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "هذه الوظيفة غير مدعومة للنوع '%s'" -#: gtk/gtkrecentchooserdefault.c:482 +#: gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "اختر أنواع المستندات التي ستعرض" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: gtk/gtkrecentchooserdefault.c:1133 gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "لا يوجد عنصر للعنوان '%s'" -#: gtk/gtkrecentchooserdefault.c:1302 +#: gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "مرشّح من دون عنوان" -#: gtk/gtkrecentchooserdefault.c:1655 +#: gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "تعذّر حذف عنصر" -#: gtk/gtkrecentchooserdefault.c:1699 +#: gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "تعذّر مسح القائمة" -#: gtk/gtkrecentchooserdefault.c:1783 +#: gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "ا_نسخ الموقع" -#: gtk/gtkrecentchooserdefault.c:1796 +#: gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "ا_حذف من القائمة" -#: gtk/gtkrecentchooserdefault.c:1805 +#: gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "ا_مسح القائمة" -#: gtk/gtkrecentchooserdefault.c:1819 +#: gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "أظهِر الموارِد ال_خاصة" @@ -2002,21 +2000,21 @@ msgstr "أظهِر الموارِد ال_خاصة" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "لم يُعثر على أي عنصر" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: gtk/gtkrecentchoosermenu.c:528 gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "لا توجد موارد حديثة الاستخدام بالعنوان `%s'" -#: gtk/gtkrecentchoosermenu.c:802 +#: gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "افتح '%s'" -#: gtk/gtkrecentchoosermenu.c:832 +#: gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "عنصر مجهول" @@ -2025,7 +2023,7 @@ msgstr "عنصر مجهول" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2034,20 +2032,25 @@ msgstr "_%Id. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%Id. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: gtk/gtkrecentmanager.c:1000 gtk/gtkrecentmanager.c:1013 +#: gtk/gtkrecentmanager.c:1150 gtk/gtkrecentmanager.c:1160 +#: gtk/gtkrecentmanager.c:1213 gtk/gtkrecentmanager.c:1222 +#: gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "لا يُمكن العثور على عنصر بالعنوان '%s'" +#: gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + #: gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" @@ -2571,106 +2574,106 @@ msgstr "حدث خطأ مجهول عند محاولة فتح %s" msgid "No deserialize function found for format %s" msgstr "لا وظيفة تفكيك موجودة للنوع %s" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: gtk/gtktextbufferserialize.c:803 gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "كلا \"id\" و \"name\" لم يعثر عليهما في العنصر <%s>" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: gtk/gtktextbufferserialize.c:813 gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "الصفة \"%s\" معادة مرتان في نفس العنصر <%s>" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format -msgid "<%s> element has invalid ID \"%s\"" -msgstr "العنصر <%s> له رقم هوية غير صحيح \"%s\"" - #: gtk/gtktextbufferserialize.c:855 #, c-format +msgid "<%s> element has invalid ID \"%s\"" +msgstr "معرّف العنصر <%s> غير صحيح \"%s\"" + +#: gtk/gtktextbufferserialize.c:865 +#, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "العنصر <%s> ليس له لا صفة \"name\" ولا \"id\"" -#: gtk/gtktextbufferserialize.c:942 +#: gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "الصفة \"%s\" مكررة مرتان في نفس العنصر <%s>" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: gtk/gtktextbufferserialize.c:970 gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "الصفة \"%s\" خاطئة في العنصر <%s> في هذا السياق" -#: gtk/gtktextbufferserialize.c:1024 +#: gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "لم يتم تعريف الشّارة \"%s\"." -#: gtk/gtktextbufferserialize.c:1036 +#: gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "وُجِد وسم مجهول و لا يمكن إنشاؤه." -#: gtk/gtktextbufferserialize.c:1047 +#: gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "الوسم \"%s\" غير موجود في النص و لا يمكن إنشاؤه." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: gtk/gtktextbufferserialize.c:1156 gtk/gtktextbufferserialize.c:1231 +#: gtk/gtktextbufferserialize.c:1336 gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "العنصر <%s> غير مسموح به تحت <%s>" -#: gtk/gtktextbufferserialize.c:1177 +#: gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" قيمة غير سليمة لصفة" -#: gtk/gtktextbufferserialize.c:1185 +#: gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" قيمة غير سليمة لاسم صفة" -#: gtk/gtktextbufferserialize.c:1195 +#: gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "لا يمكن تحويل \"%s\" إلى قيمة من نوع \"%s\" للخاصية \"%s\"" -#: gtk/gtktextbufferserialize.c:1204 +#: gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" قيمة غير سليمة لاسم الصفة \"%s\"" -#: gtk/gtktextbufferserialize.c:1289 +#: gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "الوسم \"%s\" معرف مسبقًا" -#: gtk/gtktextbufferserialize.c:1300 +#: gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "الوسم \"%s\" له خاصية غير صالحة \"%s\"" -#: gtk/gtktextbufferserialize.c:1353 +#: gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "العنصر العلوي في نص يجب أن يكون و ليس <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: gtk/gtktextbufferserialize.c:1374 gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "عنصر <%s> تم تحديده بالفعل" -#: gtk/gtktextbufferserialize.c:1384 +#: gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr "العنصر لا يمكن أن يظهر قبل العنصر " -#: gtk/gtktextbufferserialize.c:1784 +#: gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "البيانات المرسلة غير صالحة" -#: gtk/gtktextbufferserialize.c:1862 +#: gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "البيانات المرسلة غير صالحة. القسم الأول ليس GTKTEXTBUFFERCONTENTS-0001" @@ -3764,60 +3767,60 @@ msgstr "فيتنامية (VIQR)" msgid "X Input Method" msgstr "طريقة إدخال س" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 +#: modules/printbackends/cups/gtkprintbackendcups.c:810 #: modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "اسم المستخدم:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 +#: modules/printbackends/cups/gtkprintbackendcups.c:811 #: modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "كلمة السر:" #: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "الاستيثاق مطلوب لجلب الملف من %s" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 #: modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "الاستيثاق مطلوب لطبع المستند '%s' على الطابعة %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "الاستيثاق مطلوب لطبع مستند على %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "الاستيثاق مطلوب لجلب خصائص المهمة '%s'" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "الاستيثاق مطلوب لجلب خصائص المهمة" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "الاستيثاق مطلوب لجلب خصائص الطابعة %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "الاستيثاق مطلوب لجلب خصائص الطابعة" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "الاستيثاق مطلوب لمعرفة طابعة %s المبدئية" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "الاستيثاق مطلوب لمعرفة طابعات %s" +#: modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "الاستيثاق مطلوب لجلب الملف من %s" + #: modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" @@ -3966,7 +3969,7 @@ msgstr "اختيار تلقائي" #: modules/printbackends/cups/gtkprintbackendcups.c:2803 #: modules/printbackends/cups/gtkprintbackendcups.c:2805 #: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "مبدئي الطابعة" @@ -3999,19 +4002,19 @@ msgstr "متفرقات" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "عاجِل" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "عال" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "متوسط" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "منخفض" @@ -4019,66 +4022,66 @@ msgstr "منخفض" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "الصفحات بكل ورقة" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "أولوية المهمة" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "معلومات الدفع" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "لا شيء" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "مصنّف" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "سرّي" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "سر" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "معياري" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "سرّي للغاية" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "غير مصنّف" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "قبل" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "بعد" @@ -4086,14 +4089,14 @@ msgstr "بعد" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "إطبع في" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "إطبع في الوقت" @@ -4101,7 +4104,7 @@ msgstr "إطبع في الوقت" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "مخصص %sx%s" @@ -4112,32 +4115,32 @@ msgstr "مخصص %sx%s" msgid "output.%s" msgstr "ناتج.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "اطبع إلى ملف" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "PostScript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 +#: modules/printbackends/file/gtkprintbackendfile.c:590 #: modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "الصفحات لكل _ورقة :" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "ملف" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "صيغة ال_خرْج" @@ -4204,6 +4207,9 @@ msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "فشل تحميل الصورة '%s': السبب مجهول، ربما يكون ملف الصورة تالفًا" +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "خطأ أثناء إنشاء المجلد '%s': %s" + #~ msgid "Gdk debugging flags to set" #~ msgstr "شارات تنقيح Gdk التي ستضبط" From 1bca6349fb5b5b8130e5a7a7cad275cfc12e7346 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 13 Nov 2010 16:23:01 +0900 Subject: [PATCH 0232/1463] Mass rename GtkCellAreaIter --> GtkCellAreaContext --- gtk/Makefile.am | 8 +- gtk/gtk.h | 2 +- gtk/gtkcellarea.c | 78 +- gtk/gtkcellarea.h | 38 +- gtk/gtkcellareabox.c | 268 +++--- ...lareaboxiter.c => gtkcellareaboxcontext.c} | 470 +++++----- gtk/gtkcellareaboxcontext.h | 134 +++ gtk/gtkcellareaboxiter.h | 134 --- gtk/gtkcellareacontext.c | 863 ++++++++++++++++++ gtk/gtkcellareacontext.h | 156 ++++ gtk/gtkcellareaiter.c | 863 ------------------ gtk/gtkcellareaiter.h | 156 ---- tests/cellareascaffold.c | 66 +- 13 files changed, 1618 insertions(+), 1618 deletions(-) rename gtk/{gtkcellareaboxiter.c => gtkcellareaboxcontext.c} (51%) create mode 100644 gtk/gtkcellareaboxcontext.h delete mode 100644 gtk/gtkcellareaboxiter.h create mode 100644 gtk/gtkcellareacontext.c create mode 100644 gtk/gtkcellareacontext.h delete mode 100644 gtk/gtkcellareaiter.c delete mode 100644 gtk/gtkcellareaiter.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 0bab4ed6c8..2340e5cb69 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -170,8 +170,8 @@ gtk_public_h_sources = \ gtkcalendar.h \ gtkcellarea.h \ gtkcellareabox.h \ - gtkcellareaboxiter.h \ - gtkcellareaiter.h \ + gtkcellareaboxcontext.h \ + gtkcellareacontext.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ @@ -436,8 +436,8 @@ gtk_base_c_sources = \ gtkcalendar.c \ gtkcellarea.c \ gtkcellareabox.c \ - gtkcellareaboxiter.c \ - gtkcellareaiter.c \ + gtkcellareaboxcontext.c \ + gtkcellareacontext.c \ gtkcelleditable.c \ gtkcelllayout.c \ gtkcellrenderer.c \ diff --git a/gtk/gtk.h b/gtk/gtk.h index 115c6c39e4..b9d93db12a 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -54,7 +54,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 5dbc602762..784d515225 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -30,7 +30,7 @@ #include "gtkintl.h" #include "gtkcelllayout.h" #include "gtkcellarea.h" -#include "gtkcellareaiter.h" +#include "gtkcellareacontext.h" #include "gtkmarshalers.h" #include "gtkprivate.h" @@ -51,26 +51,26 @@ static void gtk_cell_area_get_property (GObject /* GtkCellAreaClass */ static gint gtk_cell_area_real_event (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, gint *natural_width); static gboolean gtk_cell_area_real_can_focus (GtkCellArea *area); static gboolean gtk_cell_area_real_activate (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags); @@ -274,7 +274,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->render = NULL; /* geometry */ - class->create_iter = NULL; + class->create_context = NULL; class->get_request_mode = NULL; class->get_preferred_width = NULL; class->get_preferred_height = NULL; @@ -610,7 +610,7 @@ gtk_cell_area_get_property (GObject *object, *************************************************************/ static gint gtk_cell_area_real_event (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, @@ -635,26 +635,26 @@ gtk_cell_area_real_event (GtkCellArea *area, static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height) { /* If the area doesnt do height-for-width, fallback on base preferred height */ - GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, iter, widget, minimum_height, natural_height); + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, context, widget, minimum_height, natural_height); } static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, gint *natural_width) { /* If the area doesnt do width-for-height, fallback on base preferred width */ - GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, iter, widget, minimum_width, natural_width); + GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, context, widget, minimum_width, natural_width); } static void @@ -684,7 +684,7 @@ gtk_cell_area_real_can_focus (GtkCellArea *area) static gboolean gtk_cell_area_real_activate (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags) @@ -696,7 +696,7 @@ gtk_cell_area_real_activate (GtkCellArea *area, { /* Get the allocation of the focused cell. */ - gtk_cell_area_get_cell_allocation (area, iter, widget, priv->focus_cell, + gtk_cell_area_get_cell_allocation (area, context, widget, priv->focus_cell, cell_area, &background_area); /* Activate or Edit the currently focused cell @@ -980,7 +980,7 @@ gtk_cell_area_forall (GtkCellArea *area, /** * gtk_cell_area_get_cell_allocation: * @area: a #GtkCellArea - * @iter: the #GtkCellAreaIter used to hold sizes for @area. + * @context: the #GtkCellAreaContext used to hold sizes for @area. * @widget: the #GtkWidget that @area is rendering on * @renderer: the #GtkCellRenderer to get the allocation for * @cell_area: the whole allocated area for @area in @widget @@ -992,7 +992,7 @@ gtk_cell_area_forall (GtkCellArea *area, */ void gtk_cell_area_get_cell_allocation (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, @@ -1001,7 +1001,7 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (cell_area != NULL); @@ -1010,7 +1010,7 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_cell_allocation) - class->get_cell_allocation (area, iter, widget, renderer, cell_area, allocation); + class->get_cell_allocation (area, context, widget, renderer, cell_area, allocation); else g_warning ("GtkCellAreaClass::get_cell_allocation not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1018,7 +1018,7 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, gint gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, @@ -1027,7 +1027,7 @@ gtk_cell_area_event (GtkCellArea *area, GtkCellAreaClass *class; g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - g_return_val_if_fail (GTK_IS_CELL_AREA_ITER (iter), 0); + g_return_val_if_fail (GTK_IS_CELL_AREA_CONTEXT (context), 0); g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); g_return_val_if_fail (event != NULL, 0); g_return_val_if_fail (cell_area != NULL, 0); @@ -1035,7 +1035,7 @@ gtk_cell_area_event (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->event) - return class->event (area, iter, widget, event, cell_area, flags); + return class->event (area, context, widget, event, cell_area, flags); g_warning ("GtkCellAreaClass::event not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1044,7 +1044,7 @@ gtk_cell_area_event (GtkCellArea *area, void gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, cairo_t *cr, const GdkRectangle *background_area, @@ -1055,7 +1055,7 @@ gtk_cell_area_render (GtkCellArea *area, GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (cr != NULL); g_return_if_fail (background_area != NULL); @@ -1064,7 +1064,7 @@ gtk_cell_area_render (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->render) - class->render (area, iter, widget, cr, background_area, cell_area, flags, paint_focus); + class->render (area, context, widget, cr, background_area, cell_area, flags, paint_focus); else g_warning ("GtkCellAreaClass::render not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1102,8 +1102,8 @@ gtk_cell_area_get_style_detail (GtkCellArea *area) /************************************************************* * API: Geometry * *************************************************************/ -GtkCellAreaIter * -gtk_cell_area_create_iter (GtkCellArea *area) +GtkCellAreaContext * +gtk_cell_area_create_context (GtkCellArea *area) { GtkCellAreaClass *class; @@ -1111,10 +1111,10 @@ gtk_cell_area_create_iter (GtkCellArea *area) class = GTK_CELL_AREA_GET_CLASS (area); - if (class->create_iter) - return class->create_iter (area); + if (class->create_context) + return class->create_context (area); - g_warning ("GtkCellAreaClass::create_iter not implemented for `%s'", + g_warning ("GtkCellAreaClass::create_context not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); return NULL; @@ -1142,7 +1142,7 @@ gtk_cell_area_get_request_mode (GtkCellArea *area) void gtk_cell_area_get_preferred_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_size, gint *natural_size) @@ -1155,7 +1155,7 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_preferred_width) - class->get_preferred_width (area, iter, widget, minimum_size, natural_size); + class->get_preferred_width (area, context, widget, minimum_size, natural_size); else g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1163,7 +1163,7 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, @@ -1175,12 +1175,12 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, g_return_if_fail (GTK_IS_WIDGET (widget)); class = GTK_CELL_AREA_GET_CLASS (area); - class->get_preferred_height_for_width (area, iter, widget, width, minimum_height, natural_height); + class->get_preferred_height_for_width (area, context, widget, width, minimum_height, natural_height); } void gtk_cell_area_get_preferred_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_size, gint *natural_size) @@ -1193,7 +1193,7 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_preferred_height) - class->get_preferred_height (area, iter, widget, minimum_size, natural_size); + class->get_preferred_height (area, context, widget, minimum_size, natural_size); else g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1201,7 +1201,7 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, @@ -1213,7 +1213,7 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, g_return_if_fail (GTK_IS_WIDGET (widget)); class = GTK_CELL_AREA_GET_CLASS (area); - class->get_preferred_width_for_height (area, iter, widget, height, minimum_width, natural_width); + class->get_preferred_width_for_height (area, context, widget, height, minimum_width, natural_width); } /************************************************************* @@ -1849,7 +1849,7 @@ gtk_cell_area_focus (GtkCellArea *area, /** * gtk_cell_area_activate: * @area: a #GtkCellArea - * @iter: the #GtkCellAreaIter in context with the current row data + * @context: the #GtkCellAreaContext in context with the current row data * @widget: the #GtkWidget that @area is rendering on * @cell_area: the size and location of @area relative to @widget's allocation * @flags: the #GtkCellRendererState flags for @area for this row of data. @@ -1862,14 +1862,14 @@ gtk_cell_area_focus (GtkCellArea *area, */ gboolean gtk_cell_area_activate (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); - return GTK_CELL_AREA_GET_CLASS (area)->activate (area, iter, widget, cell_area, flags); + return GTK_CELL_AREA_GET_CLASS (area)->activate (area, context, widget, cell_area, flags); } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 2ef917805f..00d962320e 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -44,7 +44,7 @@ G_BEGIN_DECLS typedef struct _GtkCellArea GtkCellArea; typedef struct _GtkCellAreaClass GtkCellAreaClass; typedef struct _GtkCellAreaPrivate GtkCellAreaPrivate; -typedef struct _GtkCellAreaIter GtkCellAreaIter; +typedef struct _GtkCellAreaContext GtkCellAreaContext; /** * GtkCellCallback: @@ -80,19 +80,19 @@ struct _GtkCellAreaClass GtkCellCallback callback, gpointer callback_data); void (* get_cell_allocation) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation); gint (* event) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); void (* render) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, cairo_t *cr, const GdkRectangle *background_area, @@ -101,26 +101,26 @@ struct _GtkCellAreaClass gboolean paint_focus); /* Geometry */ - GtkCellAreaIter *(* create_iter) (GtkCellArea *area); + GtkCellAreaContext *(* create_context) (GtkCellArea *area); GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_size, gint *natural_size); void (* get_preferred_height_for_width) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); void (* get_preferred_height) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_size, gint *natural_size); void (* get_preferred_width_for_height) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, @@ -143,7 +143,7 @@ struct _GtkCellAreaClass gboolean (* focus) (GtkCellArea *area, GtkDirectionType direction); gboolean (* activate) (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags); @@ -173,19 +173,19 @@ void gtk_cell_area_forall (GtkCellArea GtkCellCallback callback, gpointer callback_data); void gtk_cell_area_get_cell_allocation (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation); gint gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); void gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, cairo_t *cr, const GdkRectangle *background_area, @@ -197,26 +197,26 @@ void gtk_cell_area_set_style_detail (GtkCellArea G_CONST_RETURN gchar *gtk_cell_area_get_style_detail (GtkCellArea *area); /* Geometry */ -GtkCellAreaIter *gtk_cell_area_create_iter (GtkCellArea *area); +GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area); GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); void gtk_cell_area_get_preferred_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_size, gint *natural_size); void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); void gtk_cell_area_get_preferred_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_size, gint *natural_size); void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, @@ -284,7 +284,7 @@ gboolean gtk_cell_area_can_focus (GtkCellArea gboolean gtk_cell_area_focus (GtkCellArea *area, GtkDirectionType direction); gboolean gtk_cell_area_activate (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a6f6acdd08..132cc29e31 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -26,7 +26,7 @@ #include "gtkorientable.h" #include "gtkcelllayout.h" #include "gtkcellareabox.h" -#include "gtkcellareaboxiter.h" +#include "gtkcellareaboxcontext.h" #include "gtkprivate.h" @@ -51,19 +51,19 @@ static void gtk_cell_area_box_forall (GtkCellArea GtkCellCallback callback, gpointer callback_data); static void gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, GdkRectangle *allocation); static gint gtk_cell_area_box_event (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); static void gtk_cell_area_box_render (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, cairo_t *cr, const GdkRectangle *background_area, @@ -80,26 +80,26 @@ static void gtk_cell_area_box_get_cell_property (GtkCellArea guint prop_id, GValue *value, GParamSpec *pspec); -static GtkCellAreaIter *gtk_cell_area_box_create_iter (GtkCellArea *area); +static GtkCellAreaContext *gtk_cell_area_box_create_context (GtkCellArea *area); static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_width, gint *natural_width); static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_height, gint *natural_height); static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, @@ -144,29 +144,29 @@ typedef struct { gint size; } AllocatedCell; -static CellInfo *cell_info_new (GtkCellRenderer *renderer, - GtkPackType pack, - gboolean expand, - gboolean align); -static void cell_info_free (CellInfo *info); -static gint cell_info_find (CellInfo *info, - GtkCellRenderer *renderer); +static CellInfo *cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, + gboolean expand, + gboolean align); +static void cell_info_free (CellInfo *info); +static gint cell_info_find (CellInfo *info, + GtkCellRenderer *renderer); -static AllocatedCell *allocated_cell_new (GtkCellRenderer *renderer, - gint position, - gint size); -static void allocated_cell_free (AllocatedCell *cell); -static GList *list_consecutive_cells (GtkCellAreaBox *box); -static gint count_expand_groups (GtkCellAreaBox *box); -static void iter_weak_notify (GtkCellAreaBox *box, - GtkCellAreaBoxIter *dead_iter); -static void flush_iters (GtkCellAreaBox *box); -static void init_iter_groups (GtkCellAreaBox *box); -static void init_iter_group (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter); -static GSList *get_allocated_cells (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - GtkWidget *widget); +static AllocatedCell *allocated_cell_new (GtkCellRenderer *renderer, + gint position, + gint size); +static void allocated_cell_free (AllocatedCell *cell); +static GList *list_consecutive_cells (GtkCellAreaBox *box); +static gint count_expand_groups (GtkCellAreaBox *box); +static void context_weak_notify (GtkCellAreaBox *box, + GtkCellAreaBoxContext *dead_context); +static void flush_contexts (GtkCellAreaBox *box); +static void init_context_groups (GtkCellAreaBox *box); +static void init_context_group (GtkCellAreaBox *box, + GtkCellAreaBoxContext *context); +static GSList *get_allocated_cells (GtkCellAreaBox *box, + GtkCellAreaBoxContext *context, + GtkWidget *widget); struct _GtkCellAreaBoxPrivate @@ -176,7 +176,7 @@ struct _GtkCellAreaBoxPrivate GList *cells; GArray *groups; - GSList *iters; + GSList *contexts; gint spacing; }; @@ -216,7 +216,7 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->orientation = GTK_ORIENTATION_HORIZONTAL; priv->groups = g_array_new (FALSE, TRUE, sizeof (CellGroup)); priv->cells = NULL; - priv->iters = NULL; + priv->contexts = NULL; priv->spacing = 0; } @@ -242,7 +242,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->set_cell_property = gtk_cell_area_box_set_cell_property; area_class->get_cell_property = gtk_cell_area_box_get_cell_property; - area_class->create_iter = gtk_cell_area_box_create_iter; + area_class->create_context = gtk_cell_area_box_create_context; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; area_class->get_preferred_width = gtk_cell_area_box_get_preferred_width; area_class->get_preferred_height = gtk_cell_area_box_get_preferred_height; @@ -450,8 +450,8 @@ cell_groups_rebuild (GtkCellAreaBox *box) group_ptr->cells = g_list_reverse (group_ptr->cells); } - /* Iters need to be updated with the new grouping information */ - init_iter_groups (box); + /* Contexts need to be updated with the new grouping information */ + init_context_groups (box); } static gint @@ -500,17 +500,17 @@ count_expand_groups (GtkCellAreaBox *box) } static void -iter_weak_notify (GtkCellAreaBox *box, - GtkCellAreaBoxIter *dead_iter) +context_weak_notify (GtkCellAreaBox *box, + GtkCellAreaBoxContext *dead_context) { GtkCellAreaBoxPrivate *priv = box->priv; - priv->iters = g_slist_remove (priv->iters, dead_iter); + priv->contexts = g_slist_remove (priv->contexts, dead_context); } static void -init_iter_group (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter) +init_context_group (GtkCellAreaBox *box, + GtkCellAreaBoxContext *context) { GtkCellAreaBoxPrivate *priv = box->priv; gint *expand_groups, i; @@ -525,41 +525,41 @@ init_iter_group (GtkCellAreaBox *box, } /* This call implies flushing the request info */ - gtk_cell_area_box_init_groups (iter, priv->groups->len, expand_groups); + gtk_cell_area_box_init_groups (context, priv->groups->len, expand_groups); g_free (expand_groups); } static void -init_iter_groups (GtkCellAreaBox *box) +init_context_groups (GtkCellAreaBox *box) { GtkCellAreaBoxPrivate *priv = box->priv; GSList *l; - /* When the box's groups are reconstructed, iters need to + /* When the box's groups are reconstructed, contexts need to * be reinitialized. */ - for (l = priv->iters; l; l = l->next) + for (l = priv->contexts; l; l = l->next) { - GtkCellAreaBoxIter *iter = l->data; + GtkCellAreaBoxContext *context = l->data; - init_iter_group (box, iter); + init_context_group (box, context); } } static void -flush_iters (GtkCellAreaBox *box) +flush_contexts (GtkCellAreaBox *box) { GtkCellAreaBoxPrivate *priv = box->priv; GSList *l; - /* When the box layout changes, iters need to + /* When the box layout changes, contexts need to * be flushed and sizes for the box get requested again */ - for (l = priv->iters; l; l = l->next) + for (l = priv->contexts; l; l = l->next) { - GtkCellAreaIter *iter = l->data; + GtkCellAreaContext *context = l->data; - gtk_cell_area_iter_flush (iter); + gtk_cell_area_context_flush (context); } } @@ -568,9 +568,9 @@ flush_iters (GtkCellAreaBox *box) * list of allocated cells to operate on. */ static GSList * -get_allocated_cells (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - GtkWidget *widget) +get_allocated_cells (GtkCellAreaBox *box, + GtkCellAreaBoxContext *context, + GtkWidget *widget) { const GtkCellAreaBoxAllocation *group_allocs; GtkCellArea *area = GTK_CELL_AREA (box); @@ -579,11 +579,11 @@ get_allocated_cells (GtkCellAreaBox *box, GSList *allocated_cells = NULL; gint i, j, n_allocs; - group_allocs = gtk_cell_area_box_iter_get_orientation_allocs (iter, &n_allocs); + group_allocs = gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); if (!group_allocs) { - g_warning ("Trying to operate on an unallocated GtkCellAreaIter, " - "GtkCellAreaBox requires that the iter be allocated at least " + g_warning ("Trying to operate on an unallocated GtkCellAreaContext, " + "GtkCellAreaBox requires that the context be allocated at least " "in the orientation of the box"); return NULL; } @@ -700,12 +700,12 @@ gtk_cell_area_box_finalize (GObject *object) GtkCellAreaBoxPrivate *priv = box->priv; GSList *l; - /* Unref/free the iter list */ - for (l = priv->iters; l; l = l->next) - g_object_weak_unref (G_OBJECT (l->data), (GWeakNotify)iter_weak_notify, box); + /* Unref/free the context list */ + for (l = priv->contexts; l; l = l->next) + g_object_weak_unref (G_OBJECT (l->data), (GWeakNotify)context_weak_notify, box); - g_slist_free (priv->iters); - priv->iters = NULL; + g_slist_free (priv->contexts); + priv->contexts = NULL; /* Free the cell grouping info */ cell_groups_clear (box); @@ -734,7 +734,7 @@ gtk_cell_area_box_set_property (GObject *object, box->priv->orientation = g_value_get_enum (value); /* Notify that size needs to be requested again */ - flush_iters (box); + flush_contexts (box); break; case PROP_SPACING: gtk_cell_area_box_set_spacing (box, g_value_get_int (value)); @@ -823,7 +823,7 @@ gtk_cell_area_box_forall (GtkCellArea *area, static void gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GtkCellRenderer *renderer, const GdkRectangle *cell_area, @@ -831,14 +831,14 @@ gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GSList *allocated_cells, *l; *allocation = *cell_area; /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_iter, widget); + allocated_cells = get_allocated_cells (box, box_context, widget); for (l = allocated_cells; l; l = l->next) { @@ -873,7 +873,7 @@ enum { static gint gtk_cell_area_box_event (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, GdkEvent *event, const GdkRectangle *cell_area, @@ -883,7 +883,7 @@ gtk_cell_area_box_event (GtkCellArea *area, /* First let the parent class handle activation of cells via keystrokes */ retval = - GTK_CELL_AREA_CLASS (gtk_cell_area_box_parent_class)->event (area, iter, widget, + GTK_CELL_AREA_CLASS (gtk_cell_area_box_parent_class)->event (area, context, widget, event, cell_area, flags); if (retval) @@ -900,7 +900,7 @@ gtk_cell_area_box_event (GtkCellArea *area, { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GSList *allocated_cells, *l; GdkRectangle cell_background, inner_area; gint event_x, event_y; @@ -914,7 +914,7 @@ gtk_cell_area_box_event (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_iter, widget); + allocated_cells = get_allocated_cells (box, box_context, widget); for (l = allocated_cells; l; l = l->next) { @@ -989,7 +989,7 @@ gtk_cell_area_box_event (GtkCellArea *area, static void gtk_cell_area_box_render (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, cairo_t *cr, const GdkRectangle *background_area, @@ -999,7 +999,7 @@ gtk_cell_area_box_render (GtkCellArea *area, { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GSList *allocated_cells, *l; GdkRectangle cell_background, inner_area; GtkCellRenderer *focus_cell = NULL; @@ -1016,7 +1016,7 @@ gtk_cell_area_box_render (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_iter, widget); + allocated_cells = get_allocated_cells (box, box_context, widget); for (l = allocated_cells; l; l = l->next) { @@ -1225,23 +1225,23 @@ gtk_cell_area_box_get_cell_property (GtkCellArea *area, } -static GtkCellAreaIter * -gtk_cell_area_box_create_iter (GtkCellArea *area) +static GtkCellAreaContext * +gtk_cell_area_box_create_context (GtkCellArea *area) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaIter *iter = - (GtkCellAreaIter *)g_object_new (GTK_TYPE_CELL_AREA_BOX_ITER, + GtkCellAreaContext *context = + (GtkCellAreaContext *)g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, "area", area, NULL); - priv->iters = g_slist_prepend (priv->iters, iter); + priv->contexts = g_slist_prepend (priv->contexts, context); - g_object_weak_ref (G_OBJECT (iter), (GWeakNotify)iter_weak_notify, box); + g_object_weak_ref (G_OBJECT (context), (GWeakNotify)context_weak_notify, box); /* Tell the new group about our cell layout */ - init_iter_group (box, GTK_CELL_AREA_BOX_ITER (iter)); + init_context_group (box, GTK_CELL_AREA_BOX_CONTEXT (context)); - return iter; + return context; } static GtkSizeRequestMode @@ -1256,13 +1256,13 @@ gtk_cell_area_box_get_request_mode (GtkCellArea *area) } static void -compute_size (GtkCellAreaBox *box, - GtkOrientation orientation, - GtkCellAreaBoxIter *iter, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) +compute_size (GtkCellAreaBox *box, + GtkOrientation orientation, + GtkCellAreaBoxContext *context, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; GtkCellArea *area = GTK_CELL_AREA (box); @@ -1319,18 +1319,18 @@ compute_size (GtkCellAreaBox *box, if (orientation == GTK_ORIENTATION_HORIZONTAL) { if (for_size < 0) - gtk_cell_area_box_iter_push_group_width (iter, group->id, group_min_size, group_nat_size); + gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); else - gtk_cell_area_box_iter_push_group_width_for_height (iter, group->id, for_size, - group_min_size, group_nat_size); + gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, + group_min_size, group_nat_size); } else { if (for_size < 0) - gtk_cell_area_box_iter_push_group_height (iter, group->id, group_min_size, group_nat_size); + gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); else - gtk_cell_area_box_iter_push_group_height_for_width (iter, group->id, for_size, - group_min_size, group_nat_size); + gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, + group_min_size, group_nat_size); } } @@ -1453,12 +1453,12 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, } static void -compute_size_for_opposing_orientation (GtkCellAreaBox *box, - GtkCellAreaBoxIter *iter, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) +compute_size_for_opposing_orientation (GtkCellAreaBox *box, + GtkCellAreaBoxContext *context, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; CellGroup *group; @@ -1471,9 +1471,9 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, n_expand_groups = count_expand_groups (box); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - orientation_sizes = gtk_cell_area_box_iter_get_widths (iter, &n_groups); + orientation_sizes = gtk_cell_area_box_context_get_widths (context, &n_groups); else - orientation_sizes = gtk_cell_area_box_iter_get_heights (iter, &n_groups); + orientation_sizes = gtk_cell_area_box_context_get_heights (context, &n_groups); /* First start by naturally allocating space among groups of cells */ avail_size -= (n_groups - 1) * priv->spacing; @@ -1522,13 +1522,13 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - gtk_cell_area_box_iter_push_group_height_for_width (iter, group_idx, for_size, - group_min, group_nat); + gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, + group_min, group_nat); } else { - gtk_cell_area_box_iter_push_group_width_for_height (iter, group_idx, for_size, - group_min, group_nat); + gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, + group_min, group_nat); } } @@ -1542,23 +1542,23 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_width, gint *natural_width) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxContext *box_context; gint min_width, nat_width; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context)); - box_iter = GTK_CELL_AREA_BOX_ITER (iter); + box_context = GTK_CELL_AREA_BOX_CONTEXT (context); /* Compute the size of all renderers for current row data, - * bumping cell alignments in the iter along the way */ + * bumping cell alignments in the context along the way */ compute_size (box, GTK_ORIENTATION_HORIZONTAL, - box_iter, widget, -1, &min_width, &nat_width); + box_context, widget, -1, &min_width, &nat_width); if (minimum_width) *minimum_width = min_width; @@ -1569,23 +1569,23 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_height, gint *natural_height) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxContext *box_context; gint min_height, nat_height; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context)); - box_iter = GTK_CELL_AREA_BOX_ITER (iter); + box_context = GTK_CELL_AREA_BOX_CONTEXT (context); /* Compute the size of all renderers for current row data, - * bumping cell alignments in the iter along the way */ + * bumping cell alignments in the context along the way */ compute_size (box, GTK_ORIENTATION_VERTICAL, - box_iter, widget, -1, &min_height, &nat_height); + box_context, widget, -1, &min_height, &nat_height); if (minimum_height) *minimum_height = min_height; @@ -1596,33 +1596,33 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxContext *box_context; GtkCellAreaBoxPrivate *priv; gint min_height, nat_height; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context)); - box_iter = GTK_CELL_AREA_BOX_ITER (iter); - priv = box->priv; + box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + priv = box->priv; if (priv->orientation == GTK_ORIENTATION_VERTICAL) { /* Add up vertical requests of height for width and push the overall * cached sizes for alignments */ - compute_size (box, priv->orientation, box_iter, widget, width, &min_height, &nat_height); + compute_size (box, priv->orientation, box_context, widget, width, &min_height, &nat_height); } else { /* Juice: virtually allocate cells into the for_width using the * alignments and then return the overall height for that width, and cache it */ - compute_size_for_opposing_orientation (box, box_iter, widget, width, &min_height, &nat_height); + compute_size_for_opposing_orientation (box, box_context, widget, width, &min_height, &nat_height); } if (minimum_height) @@ -1634,33 +1634,33 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaIter *iter, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, gint *natural_width) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxIter *box_iter; + GtkCellAreaBoxContext *box_context; GtkCellAreaBoxPrivate *priv; gint min_width, nat_width; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context)); - box_iter = GTK_CELL_AREA_BOX_ITER (iter); - priv = box->priv; + box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + priv = box->priv; if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { /* Add up horizontal requests of width for height and push the overall * cached sizes for alignments */ - compute_size (box, priv->orientation, box_iter, widget, height, &min_width, &nat_width); + compute_size (box, priv->orientation, box_context, widget, height, &min_width, &nat_width); } else { /* Juice: horizontally allocate cells into the for_height using the * alignments and then return the overall width for that height, and cache it */ - compute_size_for_opposing_orientation (box, box_iter, widget, height, &min_width, &nat_width); + compute_size_for_opposing_orientation (box, box_context, widget, height, &min_width, &nat_width); } if (minimum_width) @@ -1895,6 +1895,6 @@ gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, g_object_notify (G_OBJECT (box), "spacing"); /* Notify that size needs to be requested again */ - flush_iters (box); + flush_contexts (box); } } diff --git a/gtk/gtkcellareaboxiter.c b/gtk/gtkcellareaboxcontext.c similarity index 51% rename from gtk/gtkcellareaboxiter.c rename to gtk/gtkcellareaboxcontext.c index c6dd92f0dc..e0501e6944 100644 --- a/gtk/gtkcellareaboxiter.c +++ b/gtk/gtkcellareaboxcontext.c @@ -1,4 +1,4 @@ -/* gtkcellareaboxiter.c +/* gtkcellareaboxcontext.c * * Copyright (C) 2010 Openismus GmbH * @@ -24,32 +24,32 @@ #include "config.h" #include "gtkintl.h" #include "gtkcellareabox.h" -#include "gtkcellareaboxiter.h" +#include "gtkcellareaboxcontext.h" #include "gtkorientable.h" /* GObjectClass */ -static void gtk_cell_area_box_iter_finalize (GObject *object); +static void gtk_cell_area_box_context_finalize (GObject *object); -/* GtkCellAreaIterClass */ -static void gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint width); -static void gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint height); -static void gtk_cell_area_box_iter_flush_allocation (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint width); -static void gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter); -static void gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint height); -static void gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, - gint width); -static void gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, - gint height); +/* GtkCellAreaContextClass */ +static void gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width); +static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height); +static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint width); +static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint height); +static void gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, + gint width); +static void gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, + gint height); -static void free_cache_array (GArray *array); +static void free_cache_array (GArray *array); /* CachedSize management */ typedef struct { @@ -63,7 +63,7 @@ typedef struct { gboolean expand; } BaseSize; -struct _GtkCellAreaBoxIterPrivate +struct _GtkCellAreaBoxContextPrivate { /* Table of per renderer CachedSizes */ GArray *base_widths; @@ -73,14 +73,14 @@ struct _GtkCellAreaBoxIterPrivate GHashTable *widths; GHashTable *heights; - /* Allocation info for this iter if any */ + /* Allocation info for this context if any */ gint alloc_width; gint alloc_height; gint n_orientation_allocs; GtkCellAreaBoxAllocation *orientation_allocs; }; -G_DEFINE_TYPE (GtkCellAreaBoxIter, gtk_cell_area_box_iter, GTK_TYPE_CELL_AREA_ITER); +G_DEFINE_TYPE (GtkCellAreaBoxContext, gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT); static void free_cache_array (GArray *array) @@ -89,14 +89,14 @@ free_cache_array (GArray *array) } static void -gtk_cell_area_box_iter_init (GtkCellAreaBoxIter *box_iter) +gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) { - GtkCellAreaBoxIterPrivate *priv; + GtkCellAreaBoxContextPrivate *priv; - box_iter->priv = G_TYPE_INSTANCE_GET_PRIVATE (box_iter, - GTK_TYPE_CELL_AREA_BOX_ITER, - GtkCellAreaBoxIterPrivate); - priv = box_iter->priv; + box_context->priv = G_TYPE_INSTANCE_GET_PRIVATE (box_context, + GTK_TYPE_CELL_AREA_BOX_CONTEXT, + GtkCellAreaBoxContextPrivate); + priv = box_context->priv; priv->base_widths = g_array_new (FALSE, TRUE, sizeof (BaseSize)); priv->base_heights = g_array_new (FALSE, TRUE, sizeof (BaseSize)); @@ -113,39 +113,39 @@ gtk_cell_area_box_iter_init (GtkCellAreaBoxIter *box_iter) } static void -gtk_cell_area_box_iter_class_init (GtkCellAreaBoxIterClass *class) +gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) { - GObjectClass *object_class = G_OBJECT_CLASS (class); - GtkCellAreaIterClass *iter_class = GTK_CELL_AREA_ITER_CLASS (class); + GObjectClass *object_class = G_OBJECT_CLASS (class); + GtkCellAreaContextClass *context_class = GTK_CELL_AREA_CONTEXT_CLASS (class); /* GObjectClass */ - object_class->finalize = gtk_cell_area_box_iter_finalize; + object_class->finalize = gtk_cell_area_box_context_finalize; - iter_class->flush_preferred_width = gtk_cell_area_box_iter_flush_preferred_width; - iter_class->flush_preferred_height_for_width = gtk_cell_area_box_iter_flush_preferred_height_for_width; - iter_class->flush_preferred_height = gtk_cell_area_box_iter_flush_preferred_height; - iter_class->flush_preferred_width_for_height = gtk_cell_area_box_iter_flush_preferred_width_for_height; - iter_class->flush_allocation = gtk_cell_area_box_iter_flush_allocation; + context_class->flush_preferred_width = gtk_cell_area_box_context_flush_preferred_width; + context_class->flush_preferred_height_for_width = gtk_cell_area_box_context_flush_preferred_height_for_width; + context_class->flush_preferred_height = gtk_cell_area_box_context_flush_preferred_height; + context_class->flush_preferred_width_for_height = gtk_cell_area_box_context_flush_preferred_width_for_height; + context_class->flush_allocation = gtk_cell_area_box_context_flush_allocation; - iter_class->sum_preferred_width = gtk_cell_area_box_iter_sum_preferred_width; - iter_class->sum_preferred_height_for_width = gtk_cell_area_box_iter_sum_preferred_height_for_width; - iter_class->sum_preferred_height = gtk_cell_area_box_iter_sum_preferred_height; - iter_class->sum_preferred_width_for_height = gtk_cell_area_box_iter_sum_preferred_width_for_height; + context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; + context_class->sum_preferred_height_for_width = gtk_cell_area_box_context_sum_preferred_height_for_width; + context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; + context_class->sum_preferred_width_for_height = gtk_cell_area_box_context_sum_preferred_width_for_height; - iter_class->allocate_width = gtk_cell_area_box_iter_allocate_width; - iter_class->allocate_height = gtk_cell_area_box_iter_allocate_height; + context_class->allocate_width = gtk_cell_area_box_context_allocate_width; + context_class->allocate_height = gtk_cell_area_box_context_allocate_height; - g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxIterPrivate)); + g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxContextPrivate)); } /************************************************************* * GObjectClass * *************************************************************/ static void -gtk_cell_area_box_iter_finalize (GObject *object) +gtk_cell_area_box_context_finalize (GObject *object) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (object); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (object); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; g_array_free (priv->base_widths, TRUE); g_array_free (priv->base_heights, TRUE); @@ -154,18 +154,18 @@ gtk_cell_area_box_iter_finalize (GObject *object) g_free (priv->orientation_allocs); - G_OBJECT_CLASS (gtk_cell_area_box_iter_parent_class)->finalize (object); + G_OBJECT_CLASS (gtk_cell_area_box_context_parent_class)->finalize (object); } /************************************************************* - * GtkCellAreaIterClass * + * GtkCellAreaContextClass * *************************************************************/ static void -gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) +gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - gint i; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + gint i; for (i = 0; i < priv->base_widths->len; i++) { @@ -175,16 +175,16 @@ gtk_cell_area_box_iter_flush_preferred_width (GtkCellAreaIter *iter) size->nat_size = 0; } - GTK_CELL_AREA_ITER_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_width (iter); + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->flush_preferred_width (context); } static void -gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint width) +gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; /* Flush all sizes for special -1 value */ if (width < 0) @@ -192,16 +192,16 @@ gtk_cell_area_box_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, else g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - GTK_CELL_AREA_ITER_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_height_for_width (iter, width); + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->flush_preferred_height_for_width (context, width); } static void -gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) +gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - gint i; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + gint i; for (i = 0; i < priv->base_heights->len; i++) { @@ -211,16 +211,16 @@ gtk_cell_area_box_iter_flush_preferred_height (GtkCellAreaIter *iter) size->nat_size = 0; } - GTK_CELL_AREA_ITER_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_height (iter); + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->flush_preferred_height (context); } static void -gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint height) +gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; /* Flush all sizes for special -1 value */ if (height < 0) @@ -228,15 +228,15 @@ gtk_cell_area_box_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, else g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - GTK_CELL_AREA_ITER_CLASS - (gtk_cell_area_box_iter_parent_class)->flush_preferred_width_for_height (iter, height); + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->flush_preferred_width_for_height (context, height); } static void -gtk_cell_area_box_iter_flush_allocation (GtkCellAreaIter *iter) +gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; g_free (priv->orientation_allocs); priv->orientation_allocs = NULL; @@ -244,16 +244,16 @@ gtk_cell_area_box_iter_flush_allocation (GtkCellAreaIter *iter) } static void -gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter) +gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + GtkCellArea *area; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; - area = gtk_cell_area_iter_get_area (iter); + area = gtk_cell_area_context_get_area (context); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); @@ -282,15 +282,15 @@ gtk_cell_area_box_iter_sum_preferred_width (GtkCellAreaIter *iter) } } - gtk_cell_area_iter_push_preferred_width (iter, min_size, nat_size); + gtk_cell_area_context_push_preferred_width (context, min_size, nat_size); } static void -gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint width) +gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint width) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; GArray *group_array; GtkCellArea *area; GtkOrientation orientation; @@ -301,7 +301,7 @@ gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, if (group_array) { - area = gtk_cell_area_iter_get_area (iter); + area = gtk_cell_area_context_get_area (context); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); @@ -330,21 +330,21 @@ gtk_cell_area_box_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, } } - gtk_cell_area_iter_push_preferred_height_for_width (iter, width, min_size, nat_size); + gtk_cell_area_context_push_preferred_height_for_width (context, width, min_size, nat_size); } } static void -gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter) +gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + GtkCellArea *area; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; - area = gtk_cell_area_iter_get_area (iter); + area = gtk_cell_area_context_get_area (context); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); @@ -373,15 +373,15 @@ gtk_cell_area_box_iter_sum_preferred_height (GtkCellAreaIter *iter) } } - gtk_cell_area_iter_push_preferred_height (iter, min_size, nat_size); + gtk_cell_area_context_push_preferred_height (context, min_size, nat_size); } static void -gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint height) +gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint height) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; GArray *group_array; GtkCellArea *area; GtkOrientation orientation; @@ -392,7 +392,7 @@ gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, if (group_array) { - area = gtk_cell_area_iter_get_area (iter); + area = gtk_cell_area_context_get_area (context); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); @@ -421,25 +421,25 @@ gtk_cell_area_box_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, } } - gtk_cell_area_iter_push_preferred_width_for_height (iter, height, min_size, nat_size); + gtk_cell_area_context_push_preferred_width_for_height (context, height, min_size, nat_size); } } static GtkRequestedSize * -gtk_cell_area_box_iter_get_requests (GtkCellAreaBoxIter *box_iter, - GtkOrientation orientation, - gint *n_requests) +gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, + GtkOrientation orientation, + gint *n_requests) { - GtkCellAreaBoxIterPrivate *priv; - GtkRequestedSize *requests; - GArray *base_array; - BaseSize *size; - gint visible_groups = 0; - gint i, j; + GtkCellAreaBoxContextPrivate *priv; + GtkRequestedSize *requests; + GArray *base_array; + BaseSize *size; + gint visible_groups = 0; + gint i, j; - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter), NULL); + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context), NULL); - priv = box_iter->priv; + priv = box_context->priv; if (orientation == GTK_ORIENTATION_HORIZONTAL) base_array = priv->base_widths; @@ -476,22 +476,22 @@ gtk_cell_area_box_iter_get_requests (GtkCellAreaBoxIter *box_iter, } static GtkCellAreaBoxAllocation * -allocate_for_orientation (GtkCellAreaBoxIter *iter, - GtkOrientation orientation, - gint spacing, - gint size, - gint *n_allocs) +allocate_for_orientation (GtkCellAreaBoxContext *context, + GtkOrientation orientation, + gint spacing, + gint size, + gint *n_allocs) { - GtkCellAreaBoxIterPrivate *priv = iter->priv; - GtkRequestedSize *orientation_sizes; - GtkCellAreaBoxAllocation *allocs; - gint n_expand_groups = 0; - gint i, n_groups, position; - gint extra_size, extra_extra; - gint avail_size = size; + GtkCellAreaBoxContextPrivate *priv = context->priv; + GtkRequestedSize *orientation_sizes; + GtkCellAreaBoxAllocation *allocs; + gint n_expand_groups = 0; + gint i, n_groups, position; + gint extra_size, extra_extra; + gint avail_size = size; orientation_sizes = - gtk_cell_area_box_iter_get_requests (iter, orientation, &n_groups); + gtk_cell_area_box_context_get_requests (context, orientation, &n_groups); /* Count groups that expand */ for (i = 0; i < n_groups; i++) @@ -557,15 +557,15 @@ allocate_for_orientation (GtkCellAreaBoxIter *iter, } static void -gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, - gint width) +gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, + gint width) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; GtkCellArea *area; GtkOrientation orientation; - area = gtk_cell_area_iter_get_area (iter); + area = gtk_cell_area_context_get_area (context); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); if (orientation == GTK_ORIENTATION_HORIZONTAL) @@ -573,23 +573,23 @@ gtk_cell_area_box_iter_allocate_width (GtkCellAreaIter *iter, gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, width, + priv->orientation_allocs = allocate_for_orientation (box_context, orientation, spacing, width, &priv->n_orientation_allocs); } - GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->allocate_width (iter, width); + GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate_width (context, width); } static void -gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, - gint height) +gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, + gint height) { - GtkCellAreaBoxIter *box_iter = GTK_CELL_AREA_BOX_ITER (iter); - GtkCellAreaBoxIterPrivate *priv = box_iter->priv; - GtkCellArea *area; - GtkOrientation orientation; + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + GtkCellArea *area; + GtkOrientation orientation; - area = gtk_cell_area_iter_get_area (iter); + area = gtk_cell_area_context_get_area (context); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); if (orientation == GTK_ORIENTATION_VERTICAL) @@ -597,33 +597,33 @@ gtk_cell_area_box_iter_allocate_height (GtkCellAreaIter *iter, gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_iter, orientation, spacing, height, + priv->orientation_allocs = allocate_for_orientation (box_context, orientation, spacing, height, &priv->n_orientation_allocs); } - GTK_CELL_AREA_ITER_CLASS (gtk_cell_area_box_iter_parent_class)->allocate_height (iter, height); + GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate_height (context, height); } /************************************************************* * API * *************************************************************/ void -gtk_cell_area_box_init_groups (GtkCellAreaBoxIter *box_iter, - guint n_groups, - gboolean *expand_groups) +gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, + guint n_groups, + gboolean *expand_groups) { - GtkCellAreaBoxIterPrivate *priv; - gint i; + GtkCellAreaBoxContextPrivate *priv; + gint i; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); g_return_if_fail (n_groups == 0 || expand_groups != NULL); /* When the group dimensions change, all info must be flushed * Note this already clears the min/nat values on the BaseSizes */ - gtk_cell_area_iter_flush (GTK_CELL_AREA_ITER (box_iter)); + gtk_cell_area_context_flush (GTK_CELL_AREA_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_array_set_size (priv->base_widths, n_groups); g_array_set_size (priv->base_heights, n_groups); @@ -639,17 +639,17 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint minimum_width, - gint natural_width) +gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint minimum_width, + gint natural_width) { - GtkCellAreaBoxIterPrivate *priv; - BaseSize *size; + GtkCellAreaBoxContextPrivate *priv; + BaseSize *size; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); size = &g_array_index (priv->base_widths, BaseSize, group_idx); @@ -658,19 +658,19 @@ gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_width, - gint minimum_height, - gint natural_height) +gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint minimum_height, + gint natural_height) { - GtkCellAreaBoxIterPrivate *priv; - GArray *group_array; - CachedSize *size; + GtkCellAreaBoxContextPrivate *priv; + GArray *group_array; + CachedSize *size; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); @@ -688,17 +688,17 @@ gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_ite } void -gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint minimum_height, - gint natural_height) +gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint minimum_height, + gint natural_height) { - GtkCellAreaBoxIterPrivate *priv; - BaseSize *size; + GtkCellAreaBoxContextPrivate *priv; + BaseSize *size; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_heights->len); size = &g_array_index (priv->base_heights, BaseSize, group_idx); @@ -707,19 +707,19 @@ gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_height, - gint minimum_width, - gint natural_width) +gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint minimum_width, + gint natural_width) { - GtkCellAreaBoxIterPrivate *priv; + GtkCellAreaBoxContextPrivate *priv; GArray *group_array; CachedSize *size; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); @@ -737,17 +737,17 @@ gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter } void -gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint *minimum_width, - gint *natural_width) +gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint *minimum_width, + gint *natural_width) { - GtkCellAreaBoxIterPrivate *priv; - BaseSize *size; + GtkCellAreaBoxContextPrivate *priv; + BaseSize *size; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); size = &g_array_index (priv->base_widths, BaseSize, group_idx); @@ -760,18 +760,18 @@ gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_width, - gint *minimum_height, - gint *natural_height) +gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint *minimum_height, + gint *natural_height) { - GtkCellAreaBoxIterPrivate *priv; + GtkCellAreaBoxContextPrivate *priv; GArray *group_array; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); @@ -797,17 +797,17 @@ gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint *minimum_height, - gint *natural_height) +gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint *minimum_height, + gint *natural_height) { - GtkCellAreaBoxIterPrivate *priv; - BaseSize *size; + GtkCellAreaBoxContextPrivate *priv; + BaseSize *size; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_heights->len); size = &g_array_index (priv->base_heights, BaseSize, group_idx); @@ -820,18 +820,18 @@ gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, } void -gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_height, - gint *minimum_width, - gint *natural_width) +gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint *minimum_width, + gint *natural_width) { - GtkCellAreaBoxIterPrivate *priv; - GArray *group_array; + GtkCellAreaBoxContextPrivate *priv; + GArray *group_array; - g_return_if_fail (GTK_IS_CELL_AREA_BOX_ITER (box_iter)); + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - priv = box_iter->priv; + priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); @@ -857,28 +857,28 @@ gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, } GtkRequestedSize * -gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter *box_iter, - gint *n_widths) +gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, + gint *n_widths) { - return gtk_cell_area_box_iter_get_requests (box_iter, GTK_ORIENTATION_HORIZONTAL, n_widths); + return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_HORIZONTAL, n_widths); } GtkRequestedSize * -gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, - gint *n_heights) +gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, + gint *n_heights) { - return gtk_cell_area_box_iter_get_requests (box_iter, GTK_ORIENTATION_VERTICAL, n_heights); + return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_VERTICAL, n_heights); } G_CONST_RETURN GtkCellAreaBoxAllocation * -gtk_cell_area_box_iter_get_orientation_allocs (GtkCellAreaBoxIter *iter, - gint *n_allocs) +gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, + gint *n_allocs) { - GtkCellAreaBoxIterPrivate *priv; + GtkCellAreaBoxContextPrivate *priv; - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_ITER (iter), NULL); + g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context), NULL); - priv = iter->priv; + priv = context->priv; *n_allocs = priv->n_orientation_allocs; diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h new file mode 100644 index 0000000000..4f9c02d9b1 --- /dev/null +++ b/gtk/gtkcellareaboxcontext.h @@ -0,0 +1,134 @@ +/* gtkcellareaboxcontext.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_CELL_AREA_BOX_CONTEXT_H__ +#define __GTK_CELL_AREA_BOX_CONTEXT_H__ + +#include +#include +#include +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_CELL_AREA_BOX_CONTEXT (gtk_cell_area_box_context_get_type ()) +#define GTK_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContext)) +#define GTK_CELL_AREA_BOX_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContextClass)) +#define GTK_IS_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT)) +#define GTK_IS_CELL_AREA_BOX_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX_CONTEXT)) +#define GTK_CELL_AREA_BOX_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContextClass)) + +typedef struct _GtkCellAreaBoxContext GtkCellAreaBoxContext; +typedef struct _GtkCellAreaBoxContextClass GtkCellAreaBoxContextClass; +typedef struct _GtkCellAreaBoxContextPrivate GtkCellAreaBoxContextPrivate; + +struct _GtkCellAreaBoxContext +{ + GtkCellAreaContext parent_instance; + + GtkCellAreaBoxContextPrivate *priv; +}; + +struct _GtkCellAreaBoxContextClass +{ + GtkCellAreaContextClass parent_class; + +}; + +GType gtk_cell_area_box_context_get_type (void) G_GNUC_CONST; + + +/* Initialize group array dimensions */ +void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, + guint n_groups, + gboolean *expand_groups); + +/* Update cell-group sizes */ +void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint minimum_width, + gint natural_width); + +void gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint minimum_height, + gint natural_height); + +void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint minimum_height, + gint natural_height); + +void gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint minimum_width, + gint natural_width); + +/* Fetch cell-group sizes */ +void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint *minimum_width, + gint *natural_width); + +void gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint *minimum_height, + gint *natural_height); + +void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint *minimum_height, + gint *natural_height); + +void gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint *minimum_width, + gint *natural_width); + +GtkRequestedSize *gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, + gint *n_widths); +GtkRequestedSize *gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, + gint *n_heights); + +/* Private context/area interaction */ +typedef struct { + gint group_idx; /* Groups containing only invisible cells are not allocated */ + gint position; /* Relative group allocation position in the orientation of the box */ + gint size; /* Full allocated size of the cells in this group spacing inclusive */ +} GtkCellAreaBoxAllocation; + +G_CONST_RETURN GtkCellAreaBoxAllocation * +gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, + gint *n_allocs); + +G_END_DECLS + +#endif /* __GTK_CELL_AREA_BOX_CONTEXT_H__ */ diff --git a/gtk/gtkcellareaboxiter.h b/gtk/gtkcellareaboxiter.h deleted file mode 100644 index 85dc921be1..0000000000 --- a/gtk/gtkcellareaboxiter.h +++ /dev/null @@ -1,134 +0,0 @@ -/* gtkcellareaboxiter.h - * - * Copyright (C) 2010 Openismus GmbH - * - * Authors: - * Tristan Van Berkom - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __GTK_CELL_AREA_BOX_ITER_H__ -#define __GTK_CELL_AREA_BOX_ITER_H__ - -#include -#include -#include -#include - -G_BEGIN_DECLS - -#define GTK_TYPE_CELL_AREA_BOX_ITER (gtk_cell_area_box_iter_get_type ()) -#define GTK_CELL_AREA_BOX_ITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX_ITER, GtkCellAreaBoxIter)) -#define GTK_CELL_AREA_BOX_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX_ITER, GtkCellAreaBoxIterClass)) -#define GTK_IS_CELL_AREA_BOX_ITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX_ITER)) -#define GTK_IS_CELL_AREA_BOX_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX_ITER)) -#define GTK_CELL_AREA_BOX_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX_ITER, GtkCellAreaBoxIterClass)) - -typedef struct _GtkCellAreaBoxIter GtkCellAreaBoxIter; -typedef struct _GtkCellAreaBoxIterClass GtkCellAreaBoxIterClass; -typedef struct _GtkCellAreaBoxIterPrivate GtkCellAreaBoxIterPrivate; - -struct _GtkCellAreaBoxIter -{ - GtkCellAreaIter parent_instance; - - GtkCellAreaBoxIterPrivate *priv; -}; - -struct _GtkCellAreaBoxIterClass -{ - GtkCellAreaIterClass parent_class; - -}; - -GType gtk_cell_area_box_iter_get_type (void) G_GNUC_CONST; - - -/* Initialize group array dimensions */ -void gtk_cell_area_box_init_groups (GtkCellAreaBoxIter *box_iter, - guint n_groups, - gboolean *expand_groups); - -/* Update cell-group sizes */ -void gtk_cell_area_box_iter_push_group_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint minimum_width, - gint natural_width); - -void gtk_cell_area_box_iter_push_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_width, - gint minimum_height, - gint natural_height); - -void gtk_cell_area_box_iter_push_group_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint minimum_height, - gint natural_height); - -void gtk_cell_area_box_iter_push_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_height, - gint minimum_width, - gint natural_width); - -/* Fetch cell-group sizes */ -void gtk_cell_area_box_iter_get_group_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint *minimum_width, - gint *natural_width); - -void gtk_cell_area_box_iter_get_group_height_for_width (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_width, - gint *minimum_height, - gint *natural_height); - -void gtk_cell_area_box_iter_get_group_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint *minimum_height, - gint *natural_height); - -void gtk_cell_area_box_iter_get_group_width_for_height (GtkCellAreaBoxIter *box_iter, - gint group_idx, - gint for_height, - gint *minimum_width, - gint *natural_width); - -GtkRequestedSize *gtk_cell_area_box_iter_get_widths (GtkCellAreaBoxIter *box_iter, - gint *n_widths); -GtkRequestedSize *gtk_cell_area_box_iter_get_heights (GtkCellAreaBoxIter *box_iter, - gint *n_heights); - -/* Private iter/area interaction */ -typedef struct { - gint group_idx; /* Groups containing only invisible cells are not allocated */ - gint position; /* Relative group allocation position in the orientation of the box */ - gint size; /* Full allocated size of the cells in this group spacing inclusive */ -} GtkCellAreaBoxAllocation; - -G_CONST_RETURN GtkCellAreaBoxAllocation * -gtk_cell_area_box_iter_get_orientation_allocs (GtkCellAreaBoxIter *iter, - gint *n_allocs); - -G_END_DECLS - -#endif /* __GTK_CELL_AREA_BOX_ITER_H__ */ diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c new file mode 100644 index 0000000000..61646708db --- /dev/null +++ b/gtk/gtkcellareacontext.c @@ -0,0 +1,863 @@ +/* gtkcellareacontext.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" +#include "gtkintl.h" +#include "gtkmarshalers.h" +#include "gtkcellareacontext.h" +#include "gtkprivate.h" + +/* GObjectClass */ +static void gtk_cell_area_context_finalize (GObject *object); +static void gtk_cell_area_context_dispose (GObject *object); +static void gtk_cell_area_context_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_context_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); + +/* GtkCellAreaContextClass */ +static void gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width); +static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height); +static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_allocate_width (GtkCellAreaContext *context, + gint width); +static void gtk_cell_area_context_real_allocate_height (GtkCellAreaContext *context, + gint height); + +/* CachedSize management */ +typedef struct { + gint min_size; + gint nat_size; +} CachedSize; + +static CachedSize *cached_size_new (gint min_size, gint nat_size); +static void cached_size_free (CachedSize *size); + +struct _GtkCellAreaContextPrivate +{ + GtkCellArea *cell_area; + + gint min_width; + gint nat_width; + gint min_height; + gint nat_height; + gint alloc_width; + gint alloc_height; + + GHashTable *widths; + GHashTable *heights; +}; + +enum { + PROP_0, + PROP_CELL_AREA, + PROP_MIN_WIDTH, + PROP_NAT_WIDTH, + PROP_MIN_HEIGHT, + PROP_NAT_HEIGHT +}; + +enum { + SIGNAL_WIDTH_CHANGED, + SIGNAL_HEIGHT_CHANGED, + LAST_SIGNAL +}; + +static guint cell_area_context_signals[LAST_SIGNAL] = { 0 }; + +G_DEFINE_TYPE (GtkCellAreaContext, gtk_cell_area_context, G_TYPE_OBJECT); + +static void +gtk_cell_area_context_init (GtkCellAreaContext *context) +{ + GtkCellAreaContextPrivate *priv; + + context->priv = G_TYPE_INSTANCE_GET_PRIVATE (context, + GTK_TYPE_CELL_AREA_CONTEXT, + GtkCellAreaContextPrivate); + priv = context->priv; + + priv->min_width = -1; + priv->nat_width = -1; + priv->min_height = -1; + priv->nat_height = -1; + priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); +} + +static void +gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + + /* GObjectClass */ + object_class->finalize = gtk_cell_area_context_finalize; + object_class->dispose = gtk_cell_area_context_dispose; + object_class->get_property = gtk_cell_area_context_get_property; + object_class->set_property = gtk_cell_area_context_set_property; + + /* GtkCellAreaContextClass */ + class->flush_preferred_width = gtk_cell_area_context_real_flush_preferred_width; + class->flush_preferred_height_for_width = gtk_cell_area_context_real_flush_preferred_height_for_width; + class->flush_preferred_height = gtk_cell_area_context_real_flush_preferred_height; + class->flush_preferred_width_for_height = gtk_cell_area_context_real_flush_preferred_width_for_height; + class->flush_allocation = gtk_cell_area_context_real_flush_allocation; + + class->sum_preferred_width = NULL; + class->sum_preferred_height_for_width = NULL; + class->sum_preferred_height = NULL; + class->sum_preferred_width_for_height = NULL; + + class->allocate_width = gtk_cell_area_context_real_allocate_width; + class->allocate_height = gtk_cell_area_context_real_allocate_height; + + cell_area_context_signals[SIGNAL_HEIGHT_CHANGED] = + g_signal_new (I_("height-changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__INT_INT_INT, + G_TYPE_NONE, 3, + G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + + cell_area_context_signals[SIGNAL_WIDTH_CHANGED] = + g_signal_new (I_("width-changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__INT_INT_INT, + G_TYPE_NONE, 3, + G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("area", + P_("Area"), + P_("The Cell Area this context was created for"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_MIN_WIDTH, + g_param_spec_int ("minimum-width", + P_("Minimum Width"), + P_("Minimum cached width"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_object_class_install_property (object_class, + PROP_NAT_WIDTH, + g_param_spec_int ("natural-width", + P_("Minimum Width"), + P_("Minimum cached width"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_object_class_install_property (object_class, + PROP_MIN_HEIGHT, + g_param_spec_int ("minimum-height", + P_("Minimum Height"), + P_("Minimum cached height"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_object_class_install_property (object_class, + PROP_NAT_HEIGHT, + g_param_spec_int ("natural-height", + P_("Minimum Height"), + P_("Minimum cached height"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); + + g_type_class_add_private (object_class, sizeof (GtkCellAreaContextPrivate)); +} + + + +/************************************************************* + * Cached Sizes * + *************************************************************/ +static CachedSize * +cached_size_new (gint min_size, + gint nat_size) +{ + CachedSize *size = g_slice_new (CachedSize); + + size->min_size = min_size; + size->nat_size = nat_size; + + return size; +} + +static void +cached_size_free (CachedSize *size) +{ + g_slice_free (CachedSize, size); +} + +/************************************************************* + * GObjectClass * + *************************************************************/ +static void +gtk_cell_area_context_finalize (GObject *object) +{ + GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); + GtkCellAreaContextPrivate *priv = context->priv; + + g_hash_table_destroy (priv->widths); + g_hash_table_destroy (priv->heights); + + G_OBJECT_CLASS (gtk_cell_area_context_parent_class)->finalize (object); +} + +static void +gtk_cell_area_context_dispose (GObject *object) +{ + GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); + GtkCellAreaContextPrivate *priv = context->priv; + + if (priv->cell_area) + { + g_object_unref (priv->cell_area); + + priv->cell_area = NULL; + } + + G_OBJECT_CLASS (gtk_cell_area_context_parent_class)->dispose (object); +} + +static void +gtk_cell_area_context_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); + GtkCellAreaContextPrivate *priv = context->priv; + + switch (prop_id) + { + case PROP_CELL_AREA: + priv->cell_area = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gtk_cell_area_context_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); + GtkCellAreaContextPrivate *priv = context->priv; + + switch (prop_id) + { + case PROP_CELL_AREA: + g_value_set_object (value, priv->cell_area); + break; + case PROP_MIN_WIDTH: + g_value_set_int (value, priv->min_width); + break; + case PROP_NAT_WIDTH: + g_value_set_int (value, priv->nat_width); + break; + case PROP_MIN_HEIGHT: + g_value_set_int (value, priv->min_height); + break; + case PROP_NAT_HEIGHT: + g_value_set_int (value, priv->nat_height); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/************************************************************* + * GtkCellAreaContextClass * + *************************************************************/ +static void +gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + priv->min_width = -1; + priv->nat_width = -1; + + g_object_freeze_notify (G_OBJECT (context)); + g_object_notify (G_OBJECT (context), "minimum-width"); + g_object_notify (G_OBJECT (context), "natural-width"); + g_object_thaw_notify (G_OBJECT (context)); +} + +static void +notify_invalid_height (gpointer width_ptr, + CachedSize *size, + GtkCellAreaContext *context) +{ + gint width = GPOINTER_TO_INT (width_ptr); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], + 0, width, -1, -1); +} + +static void +gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + /* Flush all sizes for special -1 value */ + if (width < 0) + { + g_hash_table_foreach (priv->heights, (GHFunc)notify_invalid_height, context); + g_hash_table_remove_all (priv->heights); + } + else + { + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], + 0, width, -1, -1); + } +} + +static void +gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + priv->min_height = -1; + priv->nat_height = -1; + + g_object_freeze_notify (G_OBJECT (context)); + g_object_notify (G_OBJECT (context), "minimum-height"); + g_object_notify (G_OBJECT (context), "natural-height"); + g_object_thaw_notify (G_OBJECT (context)); +} + +static void +notify_invalid_width (gpointer height_ptr, + CachedSize *size, + GtkCellAreaContext *context) +{ + gint height = GPOINTER_TO_INT (height_ptr); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], + 0, height, -1, -1); +} + +static void +gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + /* Flush all sizes for special -1 value */ + if (height < 0) + { + g_hash_table_foreach (priv->widths, (GHFunc)notify_invalid_width, context); + g_hash_table_remove_all (priv->widths); + } + else + { + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], + 0, height, -1, -1); + } +} + +static void +gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + priv->alloc_width = 0; + priv->alloc_height = 0; +} + +static void +gtk_cell_area_context_real_allocate_width (GtkCellAreaContext *context, + gint width) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + priv->alloc_width = width; +} + +static void +gtk_cell_area_context_real_allocate_height (GtkCellAreaContext *context, + gint height) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + priv->alloc_height = height; +} + + +/************************************************************* + * API * + *************************************************************/ +GtkCellArea * +gtk_cell_area_context_get_area (GtkCellAreaContext *context) +{ + GtkCellAreaContextPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA_CONTEXT (context), NULL); + + priv = context->priv; + + return priv->cell_area; +} + +void +gtk_cell_area_context_flush (GtkCellAreaContext *context) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + gtk_cell_area_context_flush_preferred_width (context); + gtk_cell_area_context_flush_preferred_height_for_width (context, -1); + gtk_cell_area_context_flush_preferred_height (context); + gtk_cell_area_context_flush_preferred_width_for_height (context, -1); + gtk_cell_area_context_flush_allocation (context); +} + +void +gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width (context); +} + +void +gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height_for_width (context, for_width); +} + +void +gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height (context); +} + +void +gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width_for_height (context, for_height); +} + +void +gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_allocation (context); +} + +void +gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + if (class->sum_preferred_width) + class->sum_preferred_width (context); +} + +void +gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + if (class->sum_preferred_height_for_width) + class->sum_preferred_height_for_width (context, for_width); +} + +void +gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + if (class->sum_preferred_height) + class->sum_preferred_height (context); +} + +void +gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + if (class->sum_preferred_width_for_height) + class->sum_preferred_width_for_height (context, for_height); +} + +void +gtk_cell_area_context_allocate_width (GtkCellAreaContext *context, + gint width) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + class->allocate_width (context, width); +} + +void +gtk_cell_area_context_allocate_height (GtkCellAreaContext *context, + gint height) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + class->allocate_height (context, height); +} + +void +gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaContextPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + if (minimum_width) + *minimum_width = priv->min_width; + + if (natural_width) + *natural_width = priv->nat_width; +} + +void +gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } +} + +void +gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaContextPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + if (minimum_height) + *minimum_height = priv->min_height; + + if (natural_height) + *natural_height = priv->nat_height; +} + +void +gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (size) + { + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } +} + +void +gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, + gint *width, + gint *height) +{ + GtkCellAreaContextPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + if (width) + *width = priv->alloc_width; + + if (height) + *height = priv->alloc_height; +} + +void +gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaContextPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + g_object_freeze_notify (G_OBJECT (context)); + + if (minimum_width > priv->min_width) + { + priv->min_width = minimum_width; + + g_object_notify (G_OBJECT (context), "minimum-width"); + } + + if (natural_width > priv->nat_width) + { + priv->nat_width = natural_width; + + g_object_notify (G_OBJECT (context), "natural-width"); + } + + g_object_thaw_notify (G_OBJECT (context)); +} + +void +gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + gboolean changed = FALSE; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (!size) + { + size = cached_size_new (minimum_height, natural_height); + + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), size); + + changed = TRUE; + } + else + { + if (minimum_height > size->min_size) + { + size->min_size = minimum_height; + changed = TRUE; + } + + if (natural_height > size->nat_size) + { + size->nat_size = natural_height; + changed = TRUE; + } + } + + if (changed) + g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], 0, + for_width, size->min_size, size->nat_size); +} + +void +gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaContextPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + g_object_freeze_notify (G_OBJECT (context)); + + if (minimum_height > priv->min_height) + { + priv->min_height = minimum_height; + + g_object_notify (G_OBJECT (context), "minimum-height"); + } + + if (natural_height > priv->nat_height) + { + priv->nat_height = natural_height; + + g_object_notify (G_OBJECT (context), "natural-height"); + } + + g_object_thaw_notify (G_OBJECT (context)); +} + +void +gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + gboolean changed = FALSE; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (!size) + { + size = cached_size_new (minimum_width, natural_width); + + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), size); + + changed = TRUE; + } + else + { + if (minimum_width > size->min_size) + { + size->min_size = minimum_width; + changed = TRUE; + } + + if (natural_width > size->nat_size) + { + size->nat_size = natural_width; + changed = TRUE; + } + } + + if (changed) + g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], 0, + for_height, size->min_size, size->nat_size); +} diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h new file mode 100644 index 0000000000..8e3621f313 --- /dev/null +++ b/gtk/gtkcellareacontext.h @@ -0,0 +1,156 @@ +/* gtkcellareacontext.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_CELL_AREA_CONTEXT_H__ +#define __GTK_CELL_AREA_CONTEXT_H__ + +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_CELL_AREA_CONTEXT (gtk_cell_area_context_get_type ()) +#define GTK_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContext)) +#define GTK_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) +#define GTK_IS_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_CONTEXT)) +#define GTK_IS_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_CONTEXT)) +#define GTK_CELL_AREA_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) + +typedef struct _GtkCellAreaContextPrivate GtkCellAreaContextPrivate; +typedef struct _GtkCellAreaContextClass GtkCellAreaContextClass; + +struct _GtkCellAreaContext +{ + GObject parent_instance; + + GtkCellAreaContextPrivate *priv; +}; + +struct _GtkCellAreaContextClass +{ + GObjectClass parent_class; + + /* Subclasses can use this to flush their alignments/allocations */ + void (* flush_preferred_width) (GtkCellAreaContext *context); + void (* flush_preferred_height_for_width) (GtkCellAreaContext *context, + gint width); + void (* flush_preferred_height) (GtkCellAreaContext *context); + void (* flush_preferred_width_for_height) (GtkCellAreaContext *context, + gint height); + void (* flush_allocation) (GtkCellAreaContext *context); + + /* These must be invoked after a series of requests before consulting + * the context values, implementors use this to push the overall + * requests while acconting for any internal alignments */ + void (* sum_preferred_width) (GtkCellAreaContext *context); + void (* sum_preferred_height_for_width) (GtkCellAreaContext *context, + gint width); + void (* sum_preferred_height) (GtkCellAreaContext *context); + void (* sum_preferred_width_for_height) (GtkCellAreaContext *context, + gint height); + + /* Store an allocation value for a GtkCellArea contextual to a range of + * treemodel rows */ + void (* allocate_width) (GtkCellAreaContext *context, + gint width); + void (* allocate_height) (GtkCellAreaContext *context, + gint height); + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); +}; + +GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; + +GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); + +/* Apis for GtkCellArea clients to flush the cache */ +void gtk_cell_area_context_flush (GtkCellAreaContext *context); +void gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context); +void gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width); +void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context); +void gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height); +void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context); + +/* Apis for GtkCellArea clients to sum up the results of a series of requests, this + * call is required to reduce the processing while calculating the size of each row */ +void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); +void gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width); +void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); +void gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height); + +/* Apis to set an allocation size in one dimension or another, the subclass specific context + * will store allocated positions/sizes for individual cells or groups of cells */ +void gtk_cell_area_context_allocate_width (GtkCellAreaContext *context, + gint width); +void gtk_cell_area_context_allocate_height (GtkCellAreaContext *context, + gint height); + +/* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ +void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, + gint *width, + gint *height); + +/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ +void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, + gint minimum_width, + gint natural_width); +void gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint minimum_height, + gint natural_height); +void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, + gint minimum_height, + gint natural_height); +void gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint minimum_width, + gint natural_width); + +G_END_DECLS + +#endif /* __GTK_CELL_AREA_CONTEXT_H__ */ diff --git a/gtk/gtkcellareaiter.c b/gtk/gtkcellareaiter.c deleted file mode 100644 index 07034c9eeb..0000000000 --- a/gtk/gtkcellareaiter.c +++ /dev/null @@ -1,863 +0,0 @@ -/* gtkcellareaiter.c - * - * Copyright (C) 2010 Openismus GmbH - * - * Authors: - * Tristan Van Berkom - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" -#include "gtkintl.h" -#include "gtkmarshalers.h" -#include "gtkcellareaiter.h" -#include "gtkprivate.h" - -/* GObjectClass */ -static void gtk_cell_area_iter_finalize (GObject *object); -static void gtk_cell_area_iter_dispose (GObject *object); -static void gtk_cell_area_iter_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void gtk_cell_area_iter_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); - -/* GtkCellAreaIterClass */ -static void gtk_cell_area_iter_real_flush_preferred_width (GtkCellAreaIter *iter); -static void gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint width); -static void gtk_cell_area_iter_real_flush_preferred_height (GtkCellAreaIter *iter); -static void gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint height); -static void gtk_cell_area_iter_real_flush_allocation (GtkCellAreaIter *iter); -static void gtk_cell_area_iter_real_allocate_width (GtkCellAreaIter *iter, - gint width); -static void gtk_cell_area_iter_real_allocate_height (GtkCellAreaIter *iter, - gint height); - -/* CachedSize management */ -typedef struct { - gint min_size; - gint nat_size; -} CachedSize; - -static CachedSize *cached_size_new (gint min_size, gint nat_size); -static void cached_size_free (CachedSize *size); - -struct _GtkCellAreaIterPrivate -{ - GtkCellArea *cell_area; - - gint min_width; - gint nat_width; - gint min_height; - gint nat_height; - gint alloc_width; - gint alloc_height; - - GHashTable *widths; - GHashTable *heights; -}; - -enum { - PROP_0, - PROP_CELL_AREA, - PROP_MIN_WIDTH, - PROP_NAT_WIDTH, - PROP_MIN_HEIGHT, - PROP_NAT_HEIGHT -}; - -enum { - SIGNAL_WIDTH_CHANGED, - SIGNAL_HEIGHT_CHANGED, - LAST_SIGNAL -}; - -static guint cell_area_iter_signals[LAST_SIGNAL] = { 0 }; - -G_DEFINE_TYPE (GtkCellAreaIter, gtk_cell_area_iter, G_TYPE_OBJECT); - -static void -gtk_cell_area_iter_init (GtkCellAreaIter *iter) -{ - GtkCellAreaIterPrivate *priv; - - iter->priv = G_TYPE_INSTANCE_GET_PRIVATE (iter, - GTK_TYPE_CELL_AREA_ITER, - GtkCellAreaIterPrivate); - priv = iter->priv; - - priv->min_width = -1; - priv->nat_width = -1; - priv->min_height = -1; - priv->nat_height = -1; - priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); - priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); -} - -static void -gtk_cell_area_iter_class_init (GtkCellAreaIterClass *class) -{ - GObjectClass *object_class = G_OBJECT_CLASS (class); - - /* GObjectClass */ - object_class->finalize = gtk_cell_area_iter_finalize; - object_class->dispose = gtk_cell_area_iter_dispose; - object_class->get_property = gtk_cell_area_iter_get_property; - object_class->set_property = gtk_cell_area_iter_set_property; - - /* GtkCellAreaIterClass */ - class->flush_preferred_width = gtk_cell_area_iter_real_flush_preferred_width; - class->flush_preferred_height_for_width = gtk_cell_area_iter_real_flush_preferred_height_for_width; - class->flush_preferred_height = gtk_cell_area_iter_real_flush_preferred_height; - class->flush_preferred_width_for_height = gtk_cell_area_iter_real_flush_preferred_width_for_height; - class->flush_allocation = gtk_cell_area_iter_real_flush_allocation; - - class->sum_preferred_width = NULL; - class->sum_preferred_height_for_width = NULL; - class->sum_preferred_height = NULL; - class->sum_preferred_width_for_height = NULL; - - class->allocate_width = gtk_cell_area_iter_real_allocate_width; - class->allocate_height = gtk_cell_area_iter_real_allocate_height; - - cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED] = - g_signal_new (I_("height-changed"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__INT_INT_INT, - G_TYPE_NONE, 3, - G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); - - cell_area_iter_signals[SIGNAL_WIDTH_CHANGED] = - g_signal_new (I_("width-changed"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__INT_INT_INT, - G_TYPE_NONE, 3, - G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); - - g_object_class_install_property (object_class, - PROP_CELL_AREA, - g_param_spec_object ("area", - P_("Area"), - P_("The Cell Area this iter was created for"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - - g_object_class_install_property (object_class, - PROP_MIN_WIDTH, - g_param_spec_int ("minimum-width", - P_("Minimum Width"), - P_("Minimum cached width"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); - - g_object_class_install_property (object_class, - PROP_NAT_WIDTH, - g_param_spec_int ("natural-width", - P_("Minimum Width"), - P_("Minimum cached width"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); - - g_object_class_install_property (object_class, - PROP_MIN_HEIGHT, - g_param_spec_int ("minimum-height", - P_("Minimum Height"), - P_("Minimum cached height"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); - - g_object_class_install_property (object_class, - PROP_NAT_HEIGHT, - g_param_spec_int ("natural-height", - P_("Minimum Height"), - P_("Minimum cached height"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); - - g_type_class_add_private (object_class, sizeof (GtkCellAreaIterPrivate)); -} - - - -/************************************************************* - * Cached Sizes * - *************************************************************/ -static CachedSize * -cached_size_new (gint min_size, - gint nat_size) -{ - CachedSize *size = g_slice_new (CachedSize); - - size->min_size = min_size; - size->nat_size = nat_size; - - return size; -} - -static void -cached_size_free (CachedSize *size) -{ - g_slice_free (CachedSize, size); -} - -/************************************************************* - * GObjectClass * - *************************************************************/ -static void -gtk_cell_area_iter_finalize (GObject *object) -{ - GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); - GtkCellAreaIterPrivate *priv = iter->priv; - - g_hash_table_destroy (priv->widths); - g_hash_table_destroy (priv->heights); - - G_OBJECT_CLASS (gtk_cell_area_iter_parent_class)->finalize (object); -} - -static void -gtk_cell_area_iter_dispose (GObject *object) -{ - GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); - GtkCellAreaIterPrivate *priv = iter->priv; - - if (priv->cell_area) - { - g_object_unref (priv->cell_area); - - priv->cell_area = NULL; - } - - G_OBJECT_CLASS (gtk_cell_area_iter_parent_class)->dispose (object); -} - -static void -gtk_cell_area_iter_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); - GtkCellAreaIterPrivate *priv = iter->priv; - - switch (prop_id) - { - case PROP_CELL_AREA: - priv->cell_area = g_value_dup_object (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gtk_cell_area_iter_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - GtkCellAreaIter *iter = GTK_CELL_AREA_ITER (object); - GtkCellAreaIterPrivate *priv = iter->priv; - - switch (prop_id) - { - case PROP_CELL_AREA: - g_value_set_object (value, priv->cell_area); - break; - case PROP_MIN_WIDTH: - g_value_set_int (value, priv->min_width); - break; - case PROP_NAT_WIDTH: - g_value_set_int (value, priv->nat_width); - break; - case PROP_MIN_HEIGHT: - g_value_set_int (value, priv->min_height); - break; - case PROP_NAT_HEIGHT: - g_value_set_int (value, priv->nat_height); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -/************************************************************* - * GtkCellAreaIterClass * - *************************************************************/ -static void -gtk_cell_area_iter_real_flush_preferred_width (GtkCellAreaIter *iter) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - priv->min_width = -1; - priv->nat_width = -1; - - g_object_freeze_notify (G_OBJECT (iter)); - g_object_notify (G_OBJECT (iter), "minimum-width"); - g_object_notify (G_OBJECT (iter), "natural-width"); - g_object_thaw_notify (G_OBJECT (iter)); -} - -static void -notify_invalid_height (gpointer width_ptr, - CachedSize *size, - GtkCellAreaIter *iter) -{ - gint width = GPOINTER_TO_INT (width_ptr); - - /* Notify size invalidated */ - g_signal_emit (iter, cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED], - 0, width, -1, -1); -} - -static void -gtk_cell_area_iter_real_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint width) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - /* Flush all sizes for special -1 value */ - if (width < 0) - { - g_hash_table_foreach (priv->heights, (GHFunc)notify_invalid_height, iter); - g_hash_table_remove_all (priv->heights); - } - else - { - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - - /* Notify size invalidated */ - g_signal_emit (iter, cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED], - 0, width, -1, -1); - } -} - -static void -gtk_cell_area_iter_real_flush_preferred_height (GtkCellAreaIter *iter) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - priv->min_height = -1; - priv->nat_height = -1; - - g_object_freeze_notify (G_OBJECT (iter)); - g_object_notify (G_OBJECT (iter), "minimum-height"); - g_object_notify (G_OBJECT (iter), "natural-height"); - g_object_thaw_notify (G_OBJECT (iter)); -} - -static void -notify_invalid_width (gpointer height_ptr, - CachedSize *size, - GtkCellAreaIter *iter) -{ - gint height = GPOINTER_TO_INT (height_ptr); - - /* Notify size invalidated */ - g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], - 0, height, -1, -1); -} - -static void -gtk_cell_area_iter_real_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint height) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - /* Flush all sizes for special -1 value */ - if (height < 0) - { - g_hash_table_foreach (priv->widths, (GHFunc)notify_invalid_width, iter); - g_hash_table_remove_all (priv->widths); - } - else - { - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - - /* Notify size invalidated */ - g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], - 0, height, -1, -1); - } -} - -static void -gtk_cell_area_iter_real_flush_allocation (GtkCellAreaIter *iter) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - priv->alloc_width = 0; - priv->alloc_height = 0; -} - -static void -gtk_cell_area_iter_real_allocate_width (GtkCellAreaIter *iter, - gint width) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - priv->alloc_width = width; -} - -static void -gtk_cell_area_iter_real_allocate_height (GtkCellAreaIter *iter, - gint height) -{ - GtkCellAreaIterPrivate *priv = iter->priv; - - priv->alloc_height = height; -} - - -/************************************************************* - * API * - *************************************************************/ -GtkCellArea * -gtk_cell_area_iter_get_area (GtkCellAreaIter *iter) -{ - GtkCellAreaIterPrivate *priv; - - g_return_val_if_fail (GTK_IS_CELL_AREA_ITER (iter), NULL); - - priv = iter->priv; - - return priv->cell_area; -} - -void -gtk_cell_area_iter_flush (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - gtk_cell_area_iter_flush_preferred_width (iter); - gtk_cell_area_iter_flush_preferred_height_for_width (iter, -1); - gtk_cell_area_iter_flush_preferred_height (iter); - gtk_cell_area_iter_flush_preferred_width_for_height (iter, -1); - gtk_cell_area_iter_flush_allocation (iter); -} - -void -gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width (iter); -} - -void -gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height_for_width (iter, for_width); -} - -void -gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_height (iter); -} - -void -gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_preferred_width_for_height (iter, for_height); -} - -void -gtk_cell_area_iter_flush_allocation (GtkCellAreaIter *iter) -{ - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - GTK_CELL_AREA_ITER_GET_CLASS (iter)->flush_allocation (iter); -} - -void -gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_width) - class->sum_preferred_width (iter); -} - -void -gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_height_for_width) - class->sum_preferred_height_for_width (iter, for_width); -} - -void -gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_height) - class->sum_preferred_height (iter); -} - -void -gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - if (class->sum_preferred_width_for_height) - class->sum_preferred_width_for_height (iter, for_height); -} - -void -gtk_cell_area_iter_allocate_width (GtkCellAreaIter *iter, - gint width) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - class->allocate_width (iter, width); -} - -void -gtk_cell_area_iter_allocate_height (GtkCellAreaIter *iter, - gint height) -{ - GtkCellAreaIterClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - class = GTK_CELL_AREA_ITER_GET_CLASS (iter); - - class->allocate_height (iter, height); -} - -void -gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, - gint *minimum_width, - gint *natural_width) -{ - GtkCellAreaIterPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - if (minimum_width) - *minimum_width = priv->min_width; - - if (natural_width) - *natural_width = priv->nat_width; -} - -void -gtk_cell_area_iter_get_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width, - gint *minimum_height, - gint *natural_height) -{ - GtkCellAreaIterPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (size) - { - if (minimum_height) - *minimum_height = size->min_size; - - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; - - if (natural_height) - *natural_height = -1; - } -} - -void -gtk_cell_area_iter_get_preferred_height (GtkCellAreaIter *iter, - gint *minimum_height, - gint *natural_height) -{ - GtkCellAreaIterPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - if (minimum_height) - *minimum_height = priv->min_height; - - if (natural_height) - *natural_height = priv->nat_height; -} - -void -gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height, - gint *minimum_width, - gint *natural_width) -{ - GtkCellAreaIterPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (size) - { - if (minimum_width) - *minimum_width = size->min_size; - - if (natural_width) - *natural_width = size->nat_size; - } - else - { - if (minimum_width) - *minimum_width = -1; - - if (natural_width) - *natural_width = -1; - } -} - -void -gtk_cell_area_iter_get_allocation (GtkCellAreaIter *iter, - gint *width, - gint *height) -{ - GtkCellAreaIterPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - if (width) - *width = priv->alloc_width; - - if (height) - *height = priv->alloc_height; -} - -void -gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, - gint minimum_width, - gint natural_width) -{ - GtkCellAreaIterPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - g_object_freeze_notify (G_OBJECT (iter)); - - if (minimum_width > priv->min_width) - { - priv->min_width = minimum_width; - - g_object_notify (G_OBJECT (iter), "minimum-width"); - } - - if (natural_width > priv->nat_width) - { - priv->nat_width = natural_width; - - g_object_notify (G_OBJECT (iter), "natural-width"); - } - - g_object_thaw_notify (G_OBJECT (iter)); -} - -void -gtk_cell_area_iter_push_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width, - gint minimum_height, - gint natural_height) -{ - GtkCellAreaIterPrivate *priv; - CachedSize *size; - gboolean changed = FALSE; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (!size) - { - size = cached_size_new (minimum_height, natural_height); - - g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), size); - - changed = TRUE; - } - else - { - if (minimum_height > size->min_size) - { - size->min_size = minimum_height; - changed = TRUE; - } - - if (natural_height > size->nat_size) - { - size->nat_size = natural_height; - changed = TRUE; - } - } - - if (changed) - g_signal_emit (iter, cell_area_iter_signals[SIGNAL_HEIGHT_CHANGED], 0, - for_width, size->min_size, size->nat_size); -} - -void -gtk_cell_area_iter_push_preferred_height (GtkCellAreaIter *iter, - gint minimum_height, - gint natural_height) -{ - GtkCellAreaIterPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - g_object_freeze_notify (G_OBJECT (iter)); - - if (minimum_height > priv->min_height) - { - priv->min_height = minimum_height; - - g_object_notify (G_OBJECT (iter), "minimum-height"); - } - - if (natural_height > priv->nat_height) - { - priv->nat_height = natural_height; - - g_object_notify (G_OBJECT (iter), "natural-height"); - } - - g_object_thaw_notify (G_OBJECT (iter)); -} - -void -gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height, - gint minimum_width, - gint natural_width) -{ - GtkCellAreaIterPrivate *priv; - CachedSize *size; - gboolean changed = FALSE; - - g_return_if_fail (GTK_IS_CELL_AREA_ITER (iter)); - - priv = iter->priv; - - size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (!size) - { - size = cached_size_new (minimum_width, natural_width); - - g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), size); - - changed = TRUE; - } - else - { - if (minimum_width > size->min_size) - { - size->min_size = minimum_width; - changed = TRUE; - } - - if (natural_width > size->nat_size) - { - size->nat_size = natural_width; - changed = TRUE; - } - } - - if (changed) - g_signal_emit (iter, cell_area_iter_signals[SIGNAL_WIDTH_CHANGED], 0, - for_height, size->min_size, size->nat_size); -} diff --git a/gtk/gtkcellareaiter.h b/gtk/gtkcellareaiter.h deleted file mode 100644 index 67746bb17a..0000000000 --- a/gtk/gtkcellareaiter.h +++ /dev/null @@ -1,156 +0,0 @@ -/* gtkcellareaiter.h - * - * Copyright (C) 2010 Openismus GmbH - * - * Authors: - * Tristan Van Berkom - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __GTK_CELL_AREA_ITER_H__ -#define __GTK_CELL_AREA_ITER_H__ - -#include - -G_BEGIN_DECLS - -#define GTK_TYPE_CELL_AREA_ITER (gtk_cell_area_iter_get_type ()) -#define GTK_CELL_AREA_ITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIter)) -#define GTK_CELL_AREA_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIterClass)) -#define GTK_IS_CELL_AREA_ITER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_ITER)) -#define GTK_IS_CELL_AREA_ITER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_ITER)) -#define GTK_CELL_AREA_ITER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_ITER, GtkCellAreaIterClass)) - -typedef struct _GtkCellAreaIterPrivate GtkCellAreaIterPrivate; -typedef struct _GtkCellAreaIterClass GtkCellAreaIterClass; - -struct _GtkCellAreaIter -{ - GObject parent_instance; - - GtkCellAreaIterPrivate *priv; -}; - -struct _GtkCellAreaIterClass -{ - GObjectClass parent_class; - - /* Subclasses can use this to flush their alignments/allocations */ - void (* flush_preferred_width) (GtkCellAreaIter *iter); - void (* flush_preferred_height_for_width) (GtkCellAreaIter *iter, - gint width); - void (* flush_preferred_height) (GtkCellAreaIter *iter); - void (* flush_preferred_width_for_height) (GtkCellAreaIter *iter, - gint height); - void (* flush_allocation) (GtkCellAreaIter *iter); - - /* These must be invoked after a series of requests before consulting - * the iter values, implementors use this to push the overall - * requests while acconting for any internal alignments */ - void (* sum_preferred_width) (GtkCellAreaIter *iter); - void (* sum_preferred_height_for_width) (GtkCellAreaIter *iter, - gint width); - void (* sum_preferred_height) (GtkCellAreaIter *iter); - void (* sum_preferred_width_for_height) (GtkCellAreaIter *iter, - gint height); - - /* Store an allocation value for a GtkCellArea contextual to a range of - * treemodel rows */ - void (* allocate_width) (GtkCellAreaIter *iter, - gint width); - void (* allocate_height) (GtkCellAreaIter *iter, - gint height); - - /* Padding for future expansion */ - void (*_gtk_reserved1) (void); - void (*_gtk_reserved2) (void); - void (*_gtk_reserved3) (void); - void (*_gtk_reserved4) (void); -}; - -GType gtk_cell_area_iter_get_type (void) G_GNUC_CONST; - -GtkCellArea *gtk_cell_area_iter_get_area (GtkCellAreaIter *iter); - -/* Apis for GtkCellArea clients to flush the cache */ -void gtk_cell_area_iter_flush (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_width (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width); -void gtk_cell_area_iter_flush_preferred_height (GtkCellAreaIter *iter); -void gtk_cell_area_iter_flush_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height); -void gtk_cell_area_iter_flush_allocation (GtkCellAreaIter *iter); - -/* Apis for GtkCellArea clients to sum up the results of a series of requests, this - * call is required to reduce the processing while calculating the size of each row */ -void gtk_cell_area_iter_sum_preferred_width (GtkCellAreaIter *iter); -void gtk_cell_area_iter_sum_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width); -void gtk_cell_area_iter_sum_preferred_height (GtkCellAreaIter *iter); -void gtk_cell_area_iter_sum_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height); - -/* Apis to set an allocation size in one dimension or another, the subclass specific iter - * will store allocated positions/sizes for individual cells or groups of cells */ -void gtk_cell_area_iter_allocate_width (GtkCellAreaIter *iter, - gint width); -void gtk_cell_area_iter_allocate_height (GtkCellAreaIter *iter, - gint height); - -/* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ -void gtk_cell_area_iter_get_preferred_width (GtkCellAreaIter *iter, - gint *minimum_width, - gint *natural_width); -void gtk_cell_area_iter_get_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_iter_get_preferred_height (GtkCellAreaIter *iter, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_iter_get_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height, - gint *minimum_width, - gint *natural_width); -void gtk_cell_area_iter_get_allocation (GtkCellAreaIter *iter, - gint *width, - gint *height); - -/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ -void gtk_cell_area_iter_push_preferred_width (GtkCellAreaIter *iter, - gint minimum_width, - gint natural_width); -void gtk_cell_area_iter_push_preferred_height_for_width (GtkCellAreaIter *iter, - gint for_width, - gint minimum_height, - gint natural_height); -void gtk_cell_area_iter_push_preferred_height (GtkCellAreaIter *iter, - gint minimum_height, - gint natural_height); -void gtk_cell_area_iter_push_preferred_width_for_height (GtkCellAreaIter *iter, - gint for_height, - gint minimum_width, - gint natural_width); - -G_END_DECLS - -#endif /* __GTK_CELL_AREA_ITER_H__ */ diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index f29f169ae4..09ba546e95 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -82,7 +82,7 @@ static void cell_area_scaffold_put_edit_widget (CellAreaScaf static void cell_area_scaffold_activate (CellAreaScaffold *scaffold); /* CellArea/GtkTreeModel callbacks */ -static void size_changed_cb (GtkCellAreaIter *iter, +static void size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, CellAreaScaffold *scaffold); static void focus_changed_cb (GtkCellArea *area, @@ -132,9 +132,9 @@ struct _CellAreaScaffoldPrivate { gulong row_deleted_id; gulong rows_reordered_id; - /* The area rendering the data and a global iter */ - GtkCellArea *area; - GtkCellAreaIter *iter; + /* The area rendering the data and a global context */ + GtkCellArea *area; + GtkCellAreaContext *context; /* Cache some info about rows (hieghts etc) */ GArray *row_data; @@ -192,8 +192,8 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) CellAreaScaffoldPrivate); priv = scaffold->priv; - priv->area = gtk_cell_area_box_new (); - priv->iter = gtk_cell_area_create_iter (priv->area); + priv->area = gtk_cell_area_box_new (); + priv->context = gtk_cell_area_create_context (priv->area); priv->row_data = g_array_new (FALSE, FALSE, sizeof (RowData)); @@ -201,7 +201,7 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) gtk_widget_set_can_focus (GTK_WIDGET (scaffold), TRUE); priv->size_changed_id = - g_signal_connect (priv->iter, "notify", + g_signal_connect (priv->context, "notify", G_CALLBACK (size_changed_cb), scaffold); priv->focus_changed_id = @@ -292,13 +292,13 @@ cell_area_scaffold_dispose (GObject *object) cell_area_scaffold_set_model (scaffold, NULL); - if (priv->iter) + if (priv->context) { /* Disconnect signals */ - g_signal_handler_disconnect (priv->iter, priv->size_changed_id); + g_signal_handler_disconnect (priv->context, priv->size_changed_id); - g_object_unref (priv->iter); - priv->iter = NULL; + g_object_unref (priv->context); + priv->context = NULL; priv->size_changed_id = 0; } @@ -520,7 +520,7 @@ cell_area_scaffold_draw (GtkWidget *widget, } gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_render (priv->area, priv->iter, widget, cr, + gtk_cell_area_render (priv->area, priv->context, widget, cr, &background_area, &render_area, flags, (have_focus && i == priv->focus_row)); @@ -557,7 +557,7 @@ request_all_base (CellAreaScaffold *scaffold) if (!priv->model) return; - g_signal_handler_block (priv->iter, priv->size_changed_id); + g_signal_handler_block (priv->context, priv->size_changed_id); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); @@ -569,19 +569,19 @@ request_all_base (CellAreaScaffold *scaffold) gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_get_preferred_width (priv->area, priv->iter, widget, &min, &nat); + gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, &min, &nat); else - gtk_cell_area_get_preferred_height (priv->area, priv->iter, widget, &min, &nat); + gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, &min, &nat); valid = gtk_tree_model_iter_next (priv->model, &iter); } if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_iter_sum_preferred_width (priv->iter); + gtk_cell_area_context_sum_preferred_width (priv->context); else - gtk_cell_area_iter_sum_preferred_height (priv->iter); + gtk_cell_area_context_sum_preferred_height (priv->context); - g_signal_handler_unblock (priv->iter, priv->size_changed_id); + g_signal_handler_unblock (priv->context, priv->size_changed_id); } static void @@ -609,10 +609,10 @@ get_row_sizes (CellAreaScaffold *scaffold, gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_get_preferred_height_for_width (priv->area, priv->iter, widget, + gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, widget, for_size, &data->size, NULL); else - gtk_cell_area_get_preferred_width_for_height (priv->area, priv->iter, widget, + gtk_cell_area_get_preferred_width_for_height (priv->area, priv->context, widget, for_size, &data->size, NULL); i++; @@ -646,15 +646,15 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - /* Cache the per-row sizes and allocate the iter */ + /* Cache the per-row sizes and allocate the context */ if (orientation == GTK_ORIENTATION_HORIZONTAL) { - gtk_cell_area_iter_allocate_width (priv->iter, allocation->width - priv->indent); + gtk_cell_area_context_allocate_width (priv->context, allocation->width - priv->indent); get_row_sizes (scaffold, priv->row_data, allocation->width - priv->indent); } else { - gtk_cell_area_iter_allocate_height (priv->iter, allocation->height - priv->indent); + gtk_cell_area_context_allocate_height (priv->context, allocation->height - priv->indent); get_row_sizes (scaffold, priv->row_data, allocation->height - priv->indent); } } @@ -678,7 +678,7 @@ cell_area_scaffold_get_preferred_width (GtkWidget *widget, { request_all_base (scaffold); - gtk_cell_area_iter_get_preferred_width (priv->iter, minimum_size, natural_size); + gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); *minimum_size += priv->indent; *natural_size += priv->indent; @@ -762,7 +762,7 @@ cell_area_scaffold_get_preferred_height (GtkWidget *widget, { request_all_base (scaffold); - gtk_cell_area_iter_get_preferred_height (priv->iter, minimum_size, natural_size); + gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); *minimum_size += priv->indent; *natural_size += priv->indent; @@ -1017,7 +1017,7 @@ cell_area_scaffold_button_press (GtkWidget *widget, { /* XXX A real implementation would assemble GtkCellRendererState flags here */ gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - handled = gtk_cell_area_event (priv->area, priv->iter, GTK_WIDGET (scaffold), + handled = gtk_cell_area_event (priv->area, priv->context, GTK_WIDGET (scaffold), (GdkEvent *)event, &event_area, 0); break; } @@ -1034,7 +1034,7 @@ cell_area_scaffold_button_press (GtkWidget *widget, { /* XXX A real implementation would assemble GtkCellRendererState flags here */ gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - handled = gtk_cell_area_event (priv->area, priv->iter, GTK_WIDGET (scaffold), + handled = gtk_cell_area_event (priv->area, priv->context, GTK_WIDGET (scaffold), (GdkEvent *)event, &event_area, 0); break; } @@ -1146,7 +1146,7 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) cell_area.width = data->size; gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_activate (priv->area, priv->iter, widget, &cell_area, GTK_CELL_RENDERER_FOCUSED); + gtk_cell_area_activate (priv->area, priv->context, widget, &cell_area, GTK_CELL_RENDERER_FOCUSED); break; } @@ -1165,9 +1165,9 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) * CellArea/GtkTreeModel callbacks * *********************************************************/ static void -size_changed_cb (GtkCellAreaIter *iter, - GParamSpec *pspec, - CellAreaScaffold *scaffold) +size_changed_cb (GtkCellAreaContext *context, + GParamSpec *pspec, + CellAreaScaffold *scaffold) { if (!strcmp (pspec->name, "minimum-width") || !strcmp (pspec->name, "natural-width") || @@ -1256,9 +1256,9 @@ rebuild_and_flush_internals (CellAreaScaffold *scaffold) else g_array_set_size (priv->row_data, 0); - /* Data changed, lets flush the iter and consequently queue resize and + /* Data changed, lets flush the context and consequently queue resize and * start everything over again (note this is definitly far from optimized) */ - gtk_cell_area_iter_flush (priv->iter); + gtk_cell_area_context_flush (priv->context); } static void From 92dc7f31d475d96a6cad94006b99e3366710878e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 14 Nov 2010 23:33:26 +0900 Subject: [PATCH 0233/1463] Cleaned up cell editing api in GtkCellArea Now layouting widgets need only concern themselves with the "add-editable" and "remove-editable" signals, also added lots of gtk-doc comments. --- gtk/gtkcellarea.c | 411 +++++++++++++++++++++++++++++---------- gtk/gtkcellarea.h | 4 - tests/cellareascaffold.c | 29 ++- 3 files changed, 325 insertions(+), 119 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 784d515225..e0a3f22967 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -129,19 +129,18 @@ static void cell_attribute_free (CellAttribute *attribute); static gint cell_attribute_find (CellAttribute *cell_attribute, const gchar *attribute); -/* Internal signal emissions */ -static void gtk_cell_area_editing_started (GtkCellArea *area, +/* Internal functions/signal emissions */ +static void gtk_cell_area_add_editable (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable, GdkRectangle *cell_area); -static void gtk_cell_area_editing_canceled (GtkCellArea *area, - GtkCellRenderer *renderer); -static void gtk_cell_area_editing_done (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable); static void gtk_cell_area_remove_editable (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable); +static void gtk_cell_area_set_edit_widget (GtkCellArea *area, + GtkCellEditable *editable); +static void gtk_cell_area_set_edited_cell (GtkCellArea *area, + GtkCellRenderer *renderer); /* Struct to pass data along while looping over @@ -176,7 +175,6 @@ struct _GtkCellAreaPrivate GtkCellRenderer *edited_cell; /* Signal connections to the editable widget */ - gulong editing_done_id; gulong remove_widget_id; /* Currently focused cell */ @@ -201,9 +199,7 @@ enum { }; enum { - SIGNAL_EDITING_STARTED, - SIGNAL_EDITING_CANCELED, - SIGNAL_EDITING_DONE, + SIGNAL_ADD_EDITABLE, SIGNAL_REMOVE_EDITABLE, SIGNAL_FOCUS_CHANGED, LAST_SIGNAL @@ -251,7 +247,6 @@ gtk_cell_area_init (GtkCellArea *area) priv->edited_cell = NULL; priv->edit_widget = NULL; - priv->editing_done_id = 0; priv->remove_widget_id = 0; } @@ -287,8 +282,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->activate = gtk_cell_area_real_activate; /* Signals */ - cell_area_signals[SIGNAL_EDITING_STARTED] = - g_signal_new (I_("editing-started"), + cell_area_signals[SIGNAL_ADD_EDITABLE] = + g_signal_new (I_("add-editable"), G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, 0, /* No class closure here */ @@ -300,27 +295,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GDK_TYPE_RECTANGLE, G_TYPE_STRING); - cell_area_signals[SIGNAL_EDITING_CANCELED] = - g_signal_new (I_("editing-canceled"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - 0, /* No class closure here */ - NULL, NULL, - _gtk_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - GTK_TYPE_CELL_RENDERER); - - cell_area_signals[SIGNAL_EDITING_DONE] = - g_signal_new (I_("editing-done"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - 0, /* No class closure here */ - NULL, NULL, - _gtk_marshal_VOID__OBJECT_OBJECT, - G_TYPE_NONE, 2, - GTK_TYPE_CELL_RENDERER, - GTK_TYPE_CELL_EDITABLE); - cell_area_signals[SIGNAL_REMOVE_EDITABLE] = g_signal_new (I_("remove-editable"), G_OBJECT_CLASS_TYPE (object_class), @@ -404,7 +378,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) P_("Edited Cell"), P_("The cell which is currently being edited"), GTK_TYPE_CELL_RENDERER, - GTK_PARAM_READWRITE)); + G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_EDIT_WIDGET, @@ -413,7 +387,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) P_("Edit Widget"), P_("The widget currently editing the edited cell"), GTK_TYPE_CELL_RENDERER, - GTK_PARAM_READWRITE)); + G_PARAM_READABLE)); /* Pool for Cell Properties */ if (!cell_property_pool) @@ -555,12 +529,6 @@ gtk_cell_area_set_property (GObject *object, case PROP_FOCUS_CELL: gtk_cell_area_set_focus_cell (area, (GtkCellRenderer *)g_value_get_object (value)); break; - case PROP_EDITED_CELL: - gtk_cell_area_set_edited_cell (area, (GtkCellRenderer *)g_value_get_object (value)); - break; - case PROP_EDIT_WIDGET: - gtk_cell_area_set_edit_widget (area, (GtkCellEditable *)g_value_get_object (value)); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -936,6 +904,15 @@ get_has_renderer (GtkCellRenderer *renderer, check->has_renderer = TRUE; } +/** + * gtk_cell_area_has_renderer: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer to check + * + * Checks if @area contains @renderer. + * + * Returns: %TRUE if @renderer is in the @area. + */ gboolean gtk_cell_area_has_renderer (GtkCellArea *area, GtkCellRenderer *renderer) @@ -1016,6 +993,19 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_event: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext for this row of data. + * @widget: the #GtkWidget that @area is rendering to + * @event: the #GdkEvent to handle + * @cell_area: the @widget relative coordinates for @area + * @flags: the #GtkCellRendererState for @area in this row. + * + * Delegates event handling to a #GtkCellArea. + * + * Returns: %TRUE if the event was handled by @area. + */ gint gtk_cell_area_event (GtkCellArea *area, GtkCellAreaContext *context, @@ -1042,6 +1032,20 @@ gtk_cell_area_event (GtkCellArea *area, return 0; } +/** + * gtk_cell_area_render: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext for this row of data. + * @widget: the #GtkWidget that @area is rendering to + * @cr: the #cairo_t to render with + * @background_area: the @widget relative coordinates for @area's background + * @cell_area: the @widget relative coordinates for @area + * @flags: the #GtkCellRendererState for @area in this row. + * @paint_focus: whether @area should paint focus on focused cells for focused rows or not. + * + * Renders @area's cells according to @area's layout onto @widget at + * the given coordinates. + */ void gtk_cell_area_render (GtkCellArea *area, GtkCellAreaContext *context, @@ -1070,6 +1074,14 @@ gtk_cell_area_render (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_set_style_detail: + * @area: a #GtkCellArea + * @detail: the #GtkStyle detail string to set + * + * Sets the detail string used in any gtk_paint_*() functions + * used by @area. + */ void gtk_cell_area_set_style_detail (GtkCellArea *area, const gchar *detail) @@ -1087,6 +1099,15 @@ gtk_cell_area_set_style_detail (GtkCellArea *area, } } +/** + * gtk_cell_area_get_style_detail: + * @area: a #GtkCellArea + * + * Gets the detail string used in any gtk_paint_*() functions + * used by @area. + * + * Returns: the detail string. + */ G_CONST_RETURN gchar * gtk_cell_area_get_style_detail (GtkCellArea *area) { @@ -1102,7 +1123,20 @@ gtk_cell_area_get_style_detail (GtkCellArea *area) /************************************************************* * API: Geometry * *************************************************************/ -GtkCellAreaContext * +/** + * gtk_cell_area_create_context: + * @area: a #GtkCellArea + * + * Creates a #GtkCellAreaContext to be used with @area for + * all purposes. #GtkCellAreaContext stores geometry information + * for rows for which it was operated on, it is important to use + * the same context for the same row of data at all times (i.e. + * one should render and handle events with the same #GtkCellAreaContext + * which was used to request the size of those rows of data). + * + * Returns: a newly created #GtkCellAreaContext which can be used with @area. + */ +GtkCellAreaContext * gtk_cell_area_create_context (GtkCellArea *area) { GtkCellAreaClass *class; @@ -1447,6 +1481,14 @@ gtk_cell_area_get_current_path_string (GtkCellArea *area) /************************************************************* * API: Cell Properties * *************************************************************/ +/** + * gtk_cell_area_class_install_cell_property: + * @aclass: a #GtkCellAreaClass + * @property_id: the id for the property + * @pspec: the #GParamSpec for the property + * + * Installs a cell property on a cell area class. + */ void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, guint property_id, @@ -1474,6 +1516,15 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, g_param_spec_pool_insert (cell_property_pool, pspec, G_OBJECT_CLASS_TYPE (aclass)); } +/** + * gtk_cell_area_class_find_cell_property: + * @aclass: a #GtkCellAreaClass + * @property_name: the name of the child property to find + * @returns: (allow-none): the #GParamSpec of the child property or %NULL if @aclass has no + * child property with that name. + * + * Finds a cell property of a cell area class by name. + */ GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, const gchar *property_name) @@ -1487,8 +1538,17 @@ gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, TRUE); } +/** + * gtk_cell_area_class_list_cell_properties: + * @aclass: a #GtkCellAreaClass + * @n_properties: location to return the number of cell properties found + * @returns: a newly allocated %NULL-terminated array of #GParamSpec*. + * The array must be freed with g_free(). + * + * Returns all cell properties of a cell area class. + */ GParamSpec** -gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, +gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, guint *n_properties) { GParamSpec **pspecs; @@ -1505,6 +1565,17 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, return pspecs; } +/** + * gtk_cell_area_add_with_properties: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer to be placed inside @area + * @first_prop_name: the name of the first cell property to set + * @Varargs: a %NULL-terminated list of property names and values, starting + * with @first_prop_name + * + * Adds @renderer to @area, setting cell properties at the same time. + * See gtk_cell_area_add() and gtk_cell_area_child_set() for more details. + **/ void gtk_cell_area_add_with_properties (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1533,6 +1604,16 @@ gtk_cell_area_add_with_properties (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_cell_set: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer which is a cell inside @area + * @first_prop_name: the name of the first cell property to set + * @Varargs: a %NULL-terminated list of property names and values, starting + * with @first_prop_name + * + * Sets one or more cell properties for @cell in @area. + **/ void gtk_cell_area_cell_set (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1549,6 +1630,16 @@ gtk_cell_area_cell_set (GtkCellArea *area, va_end (var_args); } +/** + * gtk_cell_area_cell_get: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer which is inside @area + * @first_prop_name: the name of the first cell property to get + * @Varargs: return location for the first cell property, followed + * optionally by more name/return location pairs, followed by %NULL + * + * Gets the values of one or more cell properties for @renderer in @area. + **/ void gtk_cell_area_cell_get (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1610,6 +1701,16 @@ area_set_cell_property (GtkCellArea *area, g_value_unset (&tmp_value); } +/** + * gtk_cell_area_cell_set_valist: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer which inside @area + * @first_property_name: the name of the first cell property to set + * @var_args: a %NULL-terminated list of property names and values, starting + * with @first_prop_name + * + * Sets one or more cell properties for @renderer in @area. + **/ void gtk_cell_area_cell_set_valist (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1660,6 +1761,16 @@ gtk_cell_area_cell_set_valist (GtkCellArea *area, } } +/** + * gtk_cell_area_cell_get_valist: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer inside @area + * @first_property_name: the name of the first property to get + * @var_args: return location for the first property, followed + * optionally by more name/return location pairs, followed by %NULL + * + * Gets the values of one or more cell properties for @renderer in @area. + **/ void gtk_cell_area_cell_get_valist (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1708,6 +1819,15 @@ gtk_cell_area_cell_get_valist (GtkCellArea *area, } } +/** + * gtk_cell_area_cell_set_property: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer inside @area + * @property_name: the name of the cell property to set + * @value: the value to set the cell property to + * + * Sets a cell property for @renderer in @area. + **/ void gtk_cell_area_cell_set_property (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1735,6 +1855,15 @@ gtk_cell_area_cell_set_property (GtkCellArea *area, } } +/** + * gtk_cell_area_cell_get_property: + * @area: a #GtkCellArea + * @renderer: a #GtkCellRenderer inside @area + * @property_name: the name of the property to get + * @value: a location to return the value + * + * Gets the value of a cell property for @renderer in @area. + **/ void gtk_cell_area_cell_get_property (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1940,6 +2069,20 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) /************************************************************* * API: Focus Siblings * *************************************************************/ + +/** + * gtk_cell_area_add_focus_sibling: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer expected to have focus + * @sibling: the #GtkCellRenderer to add to @renderer's focus area + * + * Adds @sibling to @renderer's focusable area, focus will be drawn + * around @renderer and all of it's siblings if @renderer can + * focus for a given row. + * + * Events handled by focus siblings can also activate the given + * focusable @renderer. + */ void gtk_cell_area_add_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1974,6 +2117,15 @@ gtk_cell_area_add_focus_sibling (GtkCellArea *area, } } +/** + * gtk_cell_area_remove_focus_sibling: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer expected to have focus + * @sibling: the #GtkCellRenderer to remove from @renderer's focus area + * + * Removes @sibling from @renderer's focus sibling list + * (see gtk_cell_area_add_focus_sibling()). + */ void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2000,6 +2152,15 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea *area, g_hash_table_insert (priv->focus_siblings, renderer, siblings); } +/** + * gtk_cell_area_is_focus_sibling: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer expected to have focus + * @sibling: the #GtkCellRenderer to check against @renderer's sibling list + * + * Returns %TRUE if @sibling is one of @renderer's focus siblings + * (see gtk_cell_area_add_focus_sibling()). + */ gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2027,6 +2188,15 @@ gtk_cell_area_is_focus_sibling (GtkCellArea *area, return FALSE; } +/** + * gtk_cell_area_get_focus_siblings: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer expected to have focus + * + * Gets the focus sibling cell renderers for @renderer. + * + * Returns: A #GList of #GtkCellRenderers. The returned list is internal and should not be freed. + */ const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area, GtkCellRenderer *renderer) @@ -2041,6 +2211,21 @@ gtk_cell_area_get_focus_siblings (GtkCellArea *area, return g_hash_table_lookup (priv->focus_siblings, renderer); } +/** + * gtk_cell_area_get_focus_from_sibling: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer + * + * Gets the #GtkCellRenderer which is expected to be focusable + * for which @renderer is, or may be a sibling. + * + * This is handy for #GtkCellArea subclasses when handling events, + * after determining the renderer at the event location it can + * then chose to activate the focus cell for which the event + * cell may have been a sibling. + * + * Returns: the #GtkCellRenderer for which @renderer is a sibling, or %NULL. + */ GtkCellRenderer * gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, GtkCellRenderer *renderer) @@ -2079,28 +2264,13 @@ gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, * API: Cell Activation/Editing * *************************************************************/ static void -gtk_cell_area_editing_started (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable, - GdkRectangle *cell_area) -{ - g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_STARTED], 0, - renderer, editable, cell_area, area->priv->current_path); -} - -static void -gtk_cell_area_editing_canceled (GtkCellArea *area, - GtkCellRenderer *renderer) -{ - g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_CANCELED], 0, renderer); -} - -static void -gtk_cell_area_editing_done (GtkCellArea *area, +gtk_cell_area_add_editable (GtkCellArea *area, GtkCellRenderer *renderer, - GtkCellEditable *editable) + GtkCellEditable *editable, + GdkRectangle *cell_area) { - g_signal_emit (area, cell_area_signals[SIGNAL_EDITING_DONE], 0, renderer, editable); + g_signal_emit (area, cell_area_signals[SIGNAL_ADD_EDITABLE], 0, + renderer, editable, cell_area, area->priv->current_path); } static void @@ -2111,18 +2281,6 @@ gtk_cell_area_remove_editable (GtkCellArea *area, g_signal_emit (area, cell_area_signals[SIGNAL_REMOVE_EDITABLE], 0, renderer, editable); } -static void -cell_area_editing_done_cb (GtkCellEditable *editable, - GtkCellArea *area) -{ - GtkCellAreaPrivate *priv = area->priv; - - g_assert (priv->edit_widget == editable); - g_assert (priv->edited_cell != NULL); - - gtk_cell_area_editing_done (area, priv->edited_cell, priv->edit_widget); -} - static void cell_area_remove_widget_cb (GtkCellEditable *editable, GtkCellArea *area) @@ -2140,7 +2298,7 @@ cell_area_remove_widget_cb (GtkCellEditable *editable, gtk_cell_area_set_edit_widget (area, NULL); } -void +static void gtk_cell_area_set_edited_cell (GtkCellArea *area, GtkCellRenderer *renderer) { @@ -2165,19 +2323,7 @@ gtk_cell_area_set_edited_cell (GtkCellArea *area, } } -GtkCellRenderer * -gtk_cell_area_get_edited_cell (GtkCellArea *area) -{ - GtkCellAreaPrivate *priv; - - g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); - - priv = area->priv; - - return priv->edited_cell; -} - -void +static void gtk_cell_area_set_edit_widget (GtkCellArea *area, GtkCellEditable *editable) { @@ -2192,7 +2338,6 @@ gtk_cell_area_set_edit_widget (GtkCellArea *area, { if (priv->edit_widget) { - g_signal_handler_disconnect (priv->edit_widget, priv->editing_done_id); g_signal_handler_disconnect (priv->edit_widget, priv->remove_widget_id); g_object_unref (priv->edit_widget); @@ -2202,9 +2347,6 @@ gtk_cell_area_set_edit_widget (GtkCellArea *area, if (priv->edit_widget) { - priv->editing_done_id = - g_signal_connect (priv->edit_widget, "editing-done", - G_CALLBACK (cell_area_editing_done_cb), area); priv->remove_widget_id = g_signal_connect (priv->edit_widget, "remove-widget", G_CALLBACK (cell_area_remove_widget_cb), area); @@ -2216,6 +2358,36 @@ gtk_cell_area_set_edit_widget (GtkCellArea *area, } } +/** + * gtk_cell_area_get_edited_cell: + * @area: a #GtkCellArea + * + * Gets the #GtkCellRenderer in @area that is currently + * being edited. + * + * Returns: The currently edited #GtkCellRenderer + */ +GtkCellRenderer * +gtk_cell_area_get_edited_cell (GtkCellArea *area) +{ + GtkCellAreaPrivate *priv; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + + priv = area->priv; + + return priv->edited_cell; +} + +/** + * gtk_cell_area_get_edit_widget: + * @area: a #GtkCellArea + * + * Gets the #GtkCellEditable widget currently used + * to edit the currently edited cell. + * + * Returns: The currently active #GtkCellEditable widget + */ GtkCellEditable * gtk_cell_area_get_edit_widget (GtkCellArea *area) { @@ -2228,6 +2400,23 @@ gtk_cell_area_get_edit_widget (GtkCellArea *area) return priv->edit_widget; } +/** + * gtk_cell_area_activate_cell: + * @area: a #GtkCellArea + * @widget: the #GtkWidget that @area is rendering onto + * @renderer: the #GtkCellRenderer in @area to activate + * @event: the #GdkEvent for which cell activation should occur + * @cell_area: the #GdkRectangle in @widget relative coordinates + * of @renderer for the current row. + * @flags: the #GtkCellRendererState for @renderer + * + * This is used by #GtkCellArea subclasses when handling events + * to activate cells, the base #GtkCellArea class activates cells + * for keyboard events for free in it's own GtkCellArea->activate() + * implementation. + * + * Returns: whether cell activation was successful + */ gboolean gtk_cell_area_activate_cell (GtkCellArea *area, GtkWidget *widget, @@ -2290,7 +2479,22 @@ gtk_cell_area_activate_cell (GtkCellArea *area, /* Signal that editing started so that callers can get * a handle on the editable_widget */ - gtk_cell_area_editing_started (area, priv->focus_cell, editable_widget, &edit_area); + gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, &edit_area); + + /* If the signal was successfully handled start the editing */ + if (gtk_widget_get_parent (GTK_WIDGET (editable_widget))) + { + gtk_cell_editable_start_editing (editable_widget, NULL); + gtk_widget_grab_focus (GTK_WIDGET (editable_widget)); + } + else + { + /* Otherwise clear the editing state and fire a warning */ + gtk_cell_area_set_edited_cell (area, NULL); + gtk_cell_area_set_edit_widget (area, NULL); + + g_warning ("GtkCellArea::add-editable fired in the dark, no cell editing was started."); + } return TRUE; } @@ -2299,6 +2503,17 @@ gtk_cell_area_activate_cell (GtkCellArea *area, return FALSE; } +/** + * gtk_cell_area_stop_editing: + * @area: a #GtkCellArea + * @canceled: whether editing was canceled. + * + * Explicitly stops the editing of the currently + * edited cell (see gtk_cell_area_get_edited_cell()). + * + * If @canceled is %TRUE, the cell renderer will emit + * the ::editing-canceled signal. + */ void gtk_cell_area_stop_editing (GtkCellArea *area, gboolean canceled) @@ -2316,10 +2531,6 @@ gtk_cell_area_stop_editing (GtkCellArea *area, /* Stop editing of the cell renderer */ gtk_cell_renderer_stop_editing (priv->edited_cell, canceled); - - /* Signal that editing has been canceled */ - if (canceled) - gtk_cell_area_editing_canceled (area, priv->edited_cell); /* Remove any references to the editable widget */ gtk_cell_area_set_edited_cell (area, NULL); diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 00d962320e..4007ae1a4e 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -309,11 +309,7 @@ GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea GtkCellRenderer *renderer); /* Cell Activation/Editing */ -void gtk_cell_area_set_edited_cell (GtkCellArea *area, - GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); -void gtk_cell_area_set_edit_widget (GtkCellArea *area, - GtkCellEditable *editable); GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area); gboolean gtk_cell_area_activate_cell (GtkCellArea *area, GtkWidget *widget, diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 09ba546e95..0e0d2925a1 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -89,7 +89,7 @@ static void focus_changed_cb (GtkCellArea GtkCellRenderer *renderer, const gchar *path, CellAreaScaffold *scaffold); -static void editing_started_cb (GtkCellArea *area, +static void add_editable_cb (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *edit_widget, GdkRectangle *cell_area, @@ -150,7 +150,7 @@ struct _CellAreaScaffoldPrivate { /* Currently edited widget */ GtkWidget *edit_widget; GdkRectangle edit_rect; - gulong editing_started_id; + gulong add_editable_id; gulong remove_editable_id; @@ -208,9 +208,9 @@ cell_area_scaffold_init (CellAreaScaffold *scaffold) g_signal_connect (priv->area, "focus-changed", G_CALLBACK (focus_changed_cb), scaffold); - priv->editing_started_id = - g_signal_connect (priv->area, "editing-started", - G_CALLBACK (editing_started_cb), scaffold); + priv->add_editable_id = + g_signal_connect (priv->area, "add-editable", + G_CALLBACK (add_editable_cb), scaffold); priv->remove_editable_id = g_signal_connect (priv->area, "remove-editable", @@ -306,7 +306,7 @@ cell_area_scaffold_dispose (GObject *object) { /* Disconnect signals */ g_signal_handler_disconnect (priv->area, priv->focus_changed_id); - g_signal_handler_disconnect (priv->area, priv->editing_started_id); + g_signal_handler_disconnect (priv->area, priv->add_editable_id); g_signal_handler_disconnect (priv->area, priv->remove_editable_id); g_object_unref (priv->area); @@ -1210,12 +1210,12 @@ focus_changed_cb (GtkCellArea *area, } static void -editing_started_cb (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *edit_widget, - GdkRectangle *cell_area, - const gchar *path, - CellAreaScaffold *scaffold) +add_editable_cb (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + GdkRectangle *cell_area, + const gchar *path, + CellAreaScaffold *scaffold) { GtkAllocation allocation; @@ -1225,9 +1225,6 @@ editing_started_cb (GtkCellArea *area, allocation.x + cell_area->x, allocation.y + cell_area->y, cell_area->width, cell_area->height); - - gtk_cell_editable_start_editing (edit_widget, NULL); - gtk_widget_grab_focus (GTK_WIDGET (edit_widget)); } static void @@ -1237,6 +1234,8 @@ remove_editable_cb (GtkCellArea *area, CellAreaScaffold *scaffold) { gtk_container_remove (GTK_CONTAINER (scaffold), GTK_WIDGET (edit_widget)); + + gtk_widget_grab_focus (GTK_WIDGET (scaffold)); } static void From 4ceb25e0115f1b745d1678a8e9610b9ea08295dc Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 15 Nov 2010 11:23:55 +0900 Subject: [PATCH 0234/1463] More documentation in gtkcellarea.c --- gtk/gtkcellarea.c | 153 ++++++++++++++++++++++++++++++++++++++++++++-- gtk/gtkcellarea.h | 8 +-- 2 files changed, 151 insertions(+), 10 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index e0a3f22967..7463e0bace 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -282,6 +282,19 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->activate = gtk_cell_area_real_activate; /* Signals */ + + /** + * GtkCellArea::add-editable: + * @area: the #GtkCellArea where editing started + * @renderer: the #GtkCellRenderer that started the edited + * @editable: the #GtkCellEditable widget to add + * @cell_area: the #GtkWidget relative #GdkRectangle coordinates + * where @editable should be added + * @path: the #GtkTreePath string this edit was initiated for + * + * Indicates that editing has started on @renderer and that @editable + * should be added to the owning cell layouting widget at @cell_area. + */ cell_area_signals[SIGNAL_ADD_EDITABLE] = g_signal_new (I_("add-editable"), G_OBJECT_CLASS_TYPE (object_class), @@ -295,6 +308,16 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GDK_TYPE_RECTANGLE, G_TYPE_STRING); + + /** + * GtkCellArea::remove-editable: + * @area: the #GtkCellArea where editing finished + * @renderer: the #GtkCellRenderer that finished editeding + * @editable: the #GtkCellEditable widget to remove + * + * Indicates that editing finished on @renderer and that @editable + * should be removed from the owning cell layouting widget. + */ cell_area_signals[SIGNAL_REMOVE_EDITABLE] = g_signal_new (I_("remove-editable"), G_OBJECT_CLASS_TYPE (object_class), @@ -306,6 +329,21 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GTK_TYPE_CELL_RENDERER, GTK_TYPE_CELL_EDITABLE); + /** + * GtkCellArea::focus-changed: + * @area: the #GtkCellArea where focus changed + * @renderer: the #GtkCellRenderer that has focus + * @path: the current #GtkTreePath string set for @area + * + * Indicates that focus changed on this @area. This signal + * is emitted either as a result of focus handling or event + * handling. + * + * It's possible that the signal is emitted even if the + * currently focused renderer did not change, this is + * because focus may change to the same renderer in the + * same cell area for a different row of data. + */ cell_area_signals[SIGNAL_FOCUS_CHANGED] = g_signal_new (I_("focus-changed"), G_OBJECT_CLASS_TYPE (object_class), @@ -1155,6 +1193,17 @@ gtk_cell_area_create_context (GtkCellArea *area) } +/** + * gtk_cell_area_get_request_mode: + * @area: a #GtkCellArea + * + * Gets whether the area prefers a height-for-width layout + * or a width-for-height layout. + * + * Returns: The #GtkSizeRequestMode preferred by @area. + * + * Since: 3.0 + */ GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area) { @@ -1174,12 +1223,31 @@ gtk_cell_area_get_request_mode (GtkCellArea *area) return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } +/** + * gtk_cell_area_get_preferred_width: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext to perform this request with + * @widget: the #GtkWidget where @area will be rendering + * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL + * @natural_width: (out) (allow-none): location to store the natural width, or %NULL + * + * Retrieves a cell area's initial minimum and natural width. + * + * @area will store some geometrical information in @context along the way, + * when requesting sizes over an arbitrary number of rows, its not important + * to check the @minimum_width and @natural_width of this call but rather to + * call gtk_cell_area_context_sum_preferred_width() and then consult + * gtk_cell_area_context_get_preferred_width(). + * + * + * Since: 3.0 + */ void gtk_cell_area_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - gint *minimum_size, - gint *natural_size) + gint *minimum_width, + gint *natural_width) { GtkCellAreaClass *class; @@ -1189,12 +1257,39 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_preferred_width) - class->get_preferred_width (area, context, widget, minimum_size, natural_size); + class->get_preferred_width (area, context, widget, minimum_width, natural_width); else g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_get_preferred_height_for_width: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext which has already been requested for widths. + * @widget: the #GtkWidget where @area will be rendering + * @width: the width for which to check the height of this area + * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL + * @natural_height: (out) (allow-none): location to store the natural height, or %NULL + * + * Retrieves a cell area's minimum and natural height if it would be given + * the specified @width. + * + * @area stores some geometrical information in @context along the way + * while calling gtk_cell_area_get_preferred_width(), it's important to + * perform a series of gtk_cell_area_get_preferred_width() requests with + * @context first and then call gtk_cell_area_get_preferred_height_for_width() + * on each cell area individually to get the height for width of each + * fully requested row. + * + * If at some point, the width of a single row changes, it should be + * requested with gtk_cell_area_get_preferred_width() again and then + * the full with of the requested rows checked again after calling + * gtk_cell_area_context_sum_preferred_width(), and then the height + * for width of each row needs to be requested again. + * + * Since: 3.0 + */ void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, @@ -1212,12 +1307,31 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, class->get_preferred_height_for_width (area, context, widget, width, minimum_height, natural_height); } + +/** + * gtk_cell_area_get_preferred_height: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext to perform this request with + * @widget: the #GtkWidget where @area will be rendering + * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL + * @natural_height: (out) (allow-none): location to store the natural height, or %NULL + * + * Retrieves a cell area's initial minimum and natural height. + * + * @area will store some geometrical information in @context along the way, + * when requesting sizes over an arbitrary number of rows, its not important + * to check the @minimum_height and @natural_height of this call but rather to + * call gtk_cell_area_context_sum_preferred_height() and then consult + * gtk_cell_area_context_get_preferred_height(). + * + * Since: 3.0 + */ void gtk_cell_area_get_preferred_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - gint *minimum_size, - gint *natural_size) + gint *minimum_height, + gint *natural_height) { GtkCellAreaClass *class; @@ -1227,12 +1341,39 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_preferred_height) - class->get_preferred_height (area, context, widget, minimum_size, natural_size); + class->get_preferred_height (area, context, widget, minimum_height, natural_height); else g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); } +/** + * gtk_cell_area_get_preferred_width_for_height: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext which has already been requested for widths. + * @widget: the #GtkWidget where @area will be rendering + * @height: the height for which to check the width of this area + * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL + * @natural_width: (out) (allow-none): location to store the natural width, or %NULL + * + * Retrieves a cell area's minimum and natural width if it would be given + * the specified @height. + * + * @area stores some geometrical information in @context along the way + * while calling gtk_cell_area_get_preferred_height(), it's important to + * perform a series of gtk_cell_area_get_preferred_height() requests with + * @context first and then call gtk_cell_area_get_preferred_width_for_height() + * on each cell area individually to get the height for width of each + * fully requested row. + * + * If at some point, the width of a single row changes, it should be + * requested with gtk_cell_area_get_preferred_width() again and then + * the full with of the requested rows checked again after calling + * gtk_cell_area_context_sum_preferred_width(), and then the height + * for width of each row needs to be requested again. + * + * Since: 3.0 + */ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, GtkCellAreaContext *context, diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 4007ae1a4e..2434f817f0 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -106,8 +106,8 @@ struct _GtkCellAreaClass void (* get_preferred_width) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - gint *minimum_size, - gint *natural_size); + gint *minimum_width, + gint *natural_width); void (* get_preferred_height_for_width) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -117,8 +117,8 @@ struct _GtkCellAreaClass void (* get_preferred_height) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - gint *minimum_size, - gint *natural_size); + gint *minimum_height, + gint *natural_height); void (* get_preferred_width_for_height) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, From b0919b2058420d7edd4a40aa38f72fd5822e03ea Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 16 Nov 2010 15:11:18 +0900 Subject: [PATCH 0235/1463] Added "cell-packing" property GtkBuildable parsing to GtkCellLayout Added gtk_cell_layout_get_area() iface vfunc and use that to apply packing cell properties to the child renderers when parsing from GtkBuilder. --- gtk/gtkcelllayout.c | 211 +++++++++++++++++++++++++++++++++++++++++--- gtk/gtkcelllayout.h | 5 ++ 2 files changed, 206 insertions(+), 10 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index 8388b5f7d5..b13f0902a6 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -22,6 +22,7 @@ #include #include #include "gtkcelllayout.h" +#include "gtkbuilderprivate.h" #include "gtkintl.h" @@ -291,6 +292,34 @@ gtk_cell_layout_get_cells (GtkCellLayout *cell_layout) return NULL; } +/** + * gtk_cell_layout_get_area: + * @cell_layout: a #GtkCellLayout + * + * Returns the underlying #GtkCellArea which might be @cell_layout if called on a #GtkCellArea or + * might be %NULL if no #GtkCellArea is used by @cell_layout. + * + * Return value: (transfer none): a list of cell renderers. The list, but not the + * renderers has been newly allocated and should be freed with + * g_list_free() when no longer needed. + * + * Since: 3.0 + */ +GtkCellArea * +gtk_cell_layout_get_area (GtkCellLayout *cell_layout) +{ + GtkCellLayoutIface *iface; + + g_return_val_if_fail (GTK_IS_CELL_LAYOUT (cell_layout), NULL); + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + if (iface->get_area) + return iface->get_area (cell_layout); + + return NULL; +} + +/* Attribute parsing */ typedef struct { GtkCellLayout *cell_layout; GtkCellRenderer *renderer; @@ -364,6 +393,147 @@ static const GMarkupParser attributes_parser = attributes_text_element, }; + +/* Cell packing parsing */ +static void +gtk_cell_layout_buildable_set_cell_property (GtkCellArea *area, + GtkBuilder *builder, + GtkCellRenderer *cell, + gchar *name, + const gchar *value) +{ + GParamSpec *pspec; + GValue gvalue = { 0, }; + GError *error = NULL; + + pspec = gtk_cell_area_class_find_cell_property (GTK_CELL_AREA_GET_CLASS (area), name); + if (!pspec) + { + g_warning ("%s does not have a property called %s", + g_type_name (G_OBJECT_TYPE (area)), name); + return; + } + + if (!gtk_builder_value_from_string (builder, pspec, value, &gvalue, &error)) + { + g_warning ("Could not read property %s:%s with value %s of type %s: %s", + g_type_name (G_OBJECT_TYPE (area)), + name, + value, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), + error->message); + g_error_free (error); + return; + } + + gtk_cell_area_cell_set_property (area, cell, name, &gvalue); + g_value_unset (&gvalue); +} + +typedef struct { + GtkBuilder *builder; + GtkCellLayout *cell_layout; + GtkCellRenderer *renderer; + gchar *cell_prop_name; + gchar *context; + gboolean translatable; +} CellPackingSubParserData; + +static void +cell_packing_start_element (GMarkupParseContext *context, + const gchar *element_name, + const gchar **names, + const gchar **values, + gpointer user_data, + GError **error) +{ + CellPackingSubParserData *parser_data = (CellPackingSubParserData*)user_data; + guint i; + + if (strcmp (element_name, "property") == 0) + { + for (i = 0; names[i]; i++) + if (strcmp (names[i], "name") == 0) + parser_data->cell_prop_name = g_strdup (values[i]); + else if (strcmp (names[i], "translatable") == 0) + { + if (!_gtk_builder_boolean_from_string (values[i], + &parser_data->translatable, + error)) + return; + } + else if (strcmp (names[i], "comments") == 0) + ; /* for translators */ + else if (strcmp (names[i], "context") == 0) + parser_data->context = g_strdup (values[i]); + else + g_warning ("Unsupported attribute for GtkCellLayout Cell " + "property: %s\n", names[i]); + } + else if (strcmp (element_name, "cell-packing") == 0) + return; + else + g_warning ("Unsupported tag for GtkCellLayout: %s\n", element_name); +} + +static void +cell_packing_text_element (GMarkupParseContext *context, + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error) +{ + CellPackingSubParserData *parser_data = (CellPackingSubParserData*)user_data; + GtkCellArea *area; + gchar* value; + + if (!parser_data->cell_prop_name) + return; + + if (parser_data->translatable && text_len) + { + const gchar* domain; + domain = gtk_builder_get_translation_domain (parser_data->builder); + + value = _gtk_builder_parser_translate (domain, + parser_data->context, + text); + } + else + { + value = g_strdup (text); + } + + area = gtk_cell_layout_get_area (parser_data->cell_layout); + + if (!area) + { + g_warning ("%s does not have an internal GtkCellArea class and cannot apply child cell properties", + g_type_name (G_OBJECT_TYPE (parser_data->cell_layout))); + return; + } + + gtk_cell_layout_buildable_set_cell_property (area, + parser_data->builder, + parser_data->renderer, + parser_data->cell_prop_name, + value); + + g_free (parser_data->cell_prop_name); + g_free (parser_data->context); + g_free (value); + parser_data->cell_prop_name = NULL; + parser_data->context = NULL; + parser_data->translatable = FALSE; +} + +static const GMarkupParser cell_packing_parser = + { + cell_packing_start_element, + NULL, + cell_packing_text_element, + }; + gboolean _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, @@ -372,20 +542,32 @@ _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, GMarkupParser *parser, gpointer *data) { - AttributesSubParserData *parser_data; + AttributesSubParserData *attr_data; + CellPackingSubParserData *packing_data; if (!child) return FALSE; if (strcmp (tagname, "attributes") == 0) { - parser_data = g_slice_new0 (AttributesSubParserData); - parser_data->cell_layout = GTK_CELL_LAYOUT (buildable); - parser_data->renderer = GTK_CELL_RENDERER (child); - parser_data->attr_name = NULL; + attr_data = g_slice_new0 (AttributesSubParserData); + attr_data->cell_layout = GTK_CELL_LAYOUT (buildable); + attr_data->renderer = GTK_CELL_RENDERER (child); + attr_data->attr_name = NULL; *parser = attributes_parser; - *data = parser_data; + *data = attr_data; + return TRUE; + } + else if (strcmp (tagname, "cell-packing") == 0) + { + packing_data = g_slice_new0 (CellPackingSubParserData); + packing_data->builder = builder; + packing_data->cell_layout = GTK_CELL_LAYOUT (buildable); + packing_data->renderer = GTK_CELL_RENDERER (child); + + *parser = cell_packing_parser; + *data = packing_data; return TRUE; } @@ -399,11 +581,20 @@ _gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, const gchar *tagname, gpointer *data) { - AttributesSubParserData *parser_data; + AttributesSubParserData *attr_data; - parser_data = (AttributesSubParserData*)data; - g_assert (!parser_data->attr_name); - g_slice_free (AttributesSubParserData, parser_data); + if (strcmp (tagname, "attributes") == 0) + { + attr_data = (AttributesSubParserData*)data; + g_assert (!attr_data->attr_name); + g_slice_free (AttributesSubParserData, attr_data); + return; + } + else if (strcmp (tagname, "cell-packing") == 0) + { + g_slice_free (CellPackingSubParserData, (gpointer)data); + return; + } } void diff --git a/gtk/gtkcelllayout.h b/gtk/gtkcelllayout.h index 04e4745ee9..0191ab5568 100644 --- a/gtk/gtkcelllayout.h +++ b/gtk/gtkcelllayout.h @@ -25,6 +25,7 @@ #define __GTK_CELL_LAYOUT_H__ #include +#include #include #include #include @@ -73,6 +74,8 @@ struct _GtkCellLayoutIface GtkCellRenderer *cell, gint position); GList* (* get_cells) (GtkCellLayout *cell_layout); + + GtkCellArea *(* get_area) (GtkCellLayout *cell_layout); }; GType gtk_cell_layout_get_type (void) G_GNUC_CONST; @@ -101,6 +104,8 @@ void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, void gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gint position); +GtkCellArea *gtk_cell_layout_get_area (GtkCellLayout *cell_layout); + gboolean _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, From 1dd7424f0c1012a7f0c5fb788d7df24c7738daca Mon Sep 17 00:00:00 2001 From: Gabor Kelemen Date: Sat, 13 Nov 2010 16:48:38 +0100 Subject: [PATCH 0236/1463] Updated Hungarian translation --- po/hu.po | 1949 +++++++++++++++++++++++++----------------------------- 1 file changed, 886 insertions(+), 1063 deletions(-) diff --git a/po/hu.po b/po/hu.po index 592cbb98fa..4dd763a9a6 100644 --- a/po/hu.po +++ b/po/hu.po @@ -10,69 +10,69 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ master\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-08-31 02:27+0200\n" +"POT-Creation-Date: 2010-11-13 16:46+0100\n" +"PO-Revision-Date: 2010-11-13 16:48+0100\n" "Last-Translator: Gabor Kelemen \n" "Language-Team: Hungarian \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Hiba a --gdk-debug kapcsoló feldolgozásakor" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Hiba a --gdk-no-debug kapcsoló feldolgozásakor" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "A program osztálya, ahogy az ablakkezelő használja" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:153 msgid "CLASS" msgstr "OSZTÁLY" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "A programnév, ahogy az ablakkezelő használja" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:156 msgid "NAME" msgstr "NÉV" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:158 msgid "X display to use" msgstr "Használandó X-megjelenítő" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:159 msgid "DISPLAY" msgstr "MEGJELENÍTŐ" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:161 msgid "X screen to use" msgstr "Használandó X-képernyő" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:162 msgid "SCREEN" msgstr "KÉPERNYŐ" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 +#: ../gdk/gdk.c:165 msgid "GDK debugging flags to set" msgstr "Beállítandó GDK hibakeresési jelzőbitek" @@ -80,241 +80,241 @@ msgstr "Beállítandó GDK hibakeresési jelzőbitek" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "JELZŐK" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to unset" msgstr "Kikapcsolandó GDK jelzőbitek" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "BackSpace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tab" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Enter" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_billentyű" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Balra" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Fel" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Jobbra" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Le" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Szóköz" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Balra" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Fel" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Jobbra" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Le" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "Ne kötegelje a GDI kéréseket" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "Ne használja a Wintab API-t a tablet támogatáshoz" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "Ugyanaz mint --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Ne használja a Wintab API-t [alapértelmezett]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "A paletta mérete 8 bites módban" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "COLORS" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "%s indítása" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "%s megnyitása" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" @@ -322,62 +322,62 @@ msgstr[0] "%d elem megnyitása" msgstr[1] "%d elem megnyitása" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "Legyenek szinkron X-hívások" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "" +msgstr "A programra nem vállalunk SEMMIFÉLE GARANCIÁT; részletekért lásd: %s" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "Licenc" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "A program licence" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "_Köszönet" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "_Licenc" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "Nem jeleníthető meg a hivatkozás" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "%s névjegye" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "Köszönet" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "Írta" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "Dokumentáció" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "Fordította" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "Grafika" @@ -386,7 +386,7 @@ msgstr "Grafika" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -396,7 +396,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -406,7 +406,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -416,7 +416,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -426,7 +426,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -436,39 +436,39 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Szóköz" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Fordított törtvonal" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Érvénytelen típusfüggvény a(z) %d. sorban: „%s”" -#: gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:407 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "" -"Többször szereplő objektumazonosító („%s”) a(z) %d. sorban (korábban a(z) " -"%d. sorban)" +"Többször szereplő objektumazonosító („%s”) a(z) %d. sorban (korábban a(z) %" +"d. sorban)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "Érvénytelen gyökérelem: „%s”" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "Kezeletlen címke: „%s”" @@ -483,7 +483,7 @@ msgstr "Kezeletlen címke: „%s”" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:YM" @@ -491,7 +491,7 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -500,7 +500,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -515,7 +515,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -531,7 +531,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -548,7 +548,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -556,7 +556,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "Tiltva" @@ -565,7 +565,7 @@ msgstr "Tiltva" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "Érvénytelen" @@ -574,25 +574,25 @@ msgstr "Érvénytelen" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "Új gyorsbillentyű…" -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "Válasszon színt" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "Érvénytelen színadat érkezett\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -600,7 +600,7 @@ msgstr "" "Válassza ki a kívánt színt a külső gyűrűről. Válassza ki ezen szín a " "sötétségét vagy világosságát a belső háromszög használatával." -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -608,68 +608,67 @@ msgstr "" "Kattintson a pipettára, majd a képernyő bármely pontjára az ott lévő szín " "kiválasztásához." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "Á_rnyalat:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "A színkerék pozíciója." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "Telített_ség:" -#: gtk/gtkcolorsel.c:421 -#, fuzzy +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." -msgstr "A szín átlátszósága." +msgstr "A szín intenzitása." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "É_rték:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "A szín fényessége." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "_Vörös:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "A vörös fény mennyisége a színben." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "_Zöld:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "A zöld fény mennyisége a színben." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "_Kék:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "A kék fény mennyisége a színben." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "Á_tlátszatlanság:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "A szín átlátszósága." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "Szín _neve:" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -677,15 +676,15 @@ msgstr "" "Beírhat ide egy HTML-stílusú hexadecimális színértéket, vagy egyszerűen egy " "színnevet, például „orange”." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "_Paletta:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "Színkerék" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -695,7 +694,7 @@ msgstr "" "Áthúzhatja ezt a színt egy palettabejegyzéshez, vagy kiválaszthatja mint " "jelenlegit a mellette lévő mezőbe húzással." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -703,7 +702,7 @@ msgstr "" "Az Ön által kiválasztott szín. Ezt a színt egy palettabejegyzésbe áthúzva " "elmentheti későbbi felhasználásra." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -711,15 +710,15 @@ msgstr "" "A korábban kiválasztott szín, a most kiválasztott színnel való " "összehasonlításhoz." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "A kiválasztott szín." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "_Szín mentése ide" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -729,7 +728,7 @@ msgstr "" "színmezőből vagy a jobb gombos menüben kattintson a „Szín mentése ide” " "pontra." -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "Válasszon színt" @@ -739,125 +738,124 @@ msgstr "Válasszon színt" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "Egyéni méretek kezelése" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "hüvelyk" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "Margók a nyomtatótól…" -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "Egyéni méret %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "_Szélesség:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "_Magasság:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "Papírméret" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "_Fent:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "_Lent:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "_Bal:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "J_obb:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "Papírmargók" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "Beviteli mó_dok" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "_Unicode vezérlőkarakter beszúrása" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" -msgstr "" +msgstr "a Caps Lock és Num Lock be van kapcsolva" -#: gtk/gtkentry.c:10017 -#, fuzzy +#: ../gtk/gtkentry.c:10068 msgid "Num Lock is on" -msgstr "A Caps Lock be van kapcsolva" +msgstr "A Num Lock be van kapcsolva" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "A Caps Lock be van kapcsolva" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "Válasszon ki egy fájlt" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "Asztal" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(Nincs)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Egyéb…" -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "Adja meg az új mappa nevét" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "Nem érhető el információ a fájlról" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "Nem adható hozzá könyvjelző" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "Nem lehet eltávolítani a könyvjelzőt" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "A mappa nem hozható létre" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -865,11 +863,17 @@ msgstr "" "A mappát nem lehet létrehozni, mivel már létezik egy fájl ugyanezen a néven. " "Próbáljon más nevet adni a mappának vagy nevezze át a fájlt." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "Csak mappákat választhat ki. A kiválasztott elem nem mappa, próbáljon másik elemet használni." + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "Érvénytelen fájlnév" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "A mappa tartalma nem jeleníthető meg" @@ -877,202 +881,201 @@ msgstr "A mappa tartalma nem jeleníthető meg" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s ezen: %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "Keresés" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "Nemrég használt" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "Válassza ki, hogy milyen típusú fájlok jelenjenek meg" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "A(z) „%s” mappa hozzáadása a könyvjelzőkhöz" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "A jelenlegi mappa hozzáadása a könyvjelzőkhöz" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "A kijelölt mappák hozzáadása a könyvjelzőkhöz" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "A(z) „%s” könyvjelző eltávolítása" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "A könyvjelző („%s”) nem távolítható el" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "A kijelölt könyvjelző eltávolítása" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "Eltávolítás" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." msgstr "Átnevezés…" #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "Helyek" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "_Helyek" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "Hozzá_adás" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "A kijelölt mappa hozzáadása a könyvjelzőkhöz" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "_Eltávolítás" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "Nem sikerült kijelölni a fájlt" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "Hozzá_adás a könyvjelzőkhöz" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "_Rejtett fájlok megjelenítése" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "_Méret oszlop megjelenítése" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "Fájlok" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "Név" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "Méret" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "Módosítva" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Név:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" msgstr "Egyéb mappák _böngészése" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "Írjon be egy fájlnevet" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "M_appa létrehozása" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "Hel_y:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "Mentés _mappába:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "Létrehozás _mappában:" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "Nem sikerült „%s” tartalmát beolvasni" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "Nem sikerült beolvasni a mappa tartalmát" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "Ismeretlen" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%k.%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "Tegnap %k.%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "Nem lehet megváltoztatni a mappát, mert az nem helyi" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "Már létezik %s gyorsbillentyű" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "%s gyorsbillentyű nem létezik" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "A(z) „%s” nevű fájl már létezik. Le akarja cserélni?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format -msgid "" -"The file already exists in \"%s\". Replacing it will overwrite its contents." +msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "A fájl már létezik a(z) „%s” helyen. Lecserélésével a tartalma felül lesz " "írva." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Csere" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "Nem lehet elindítani a keresési folyamatot" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1080,36 +1083,36 @@ msgstr "" "A program nem volt képes kapcsolatot létrehozni az indexelő démonhoz. " "Győződjön meg róla, hogy az fut." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "Nem lehet elküldeni a keresési kérést" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "Keresés:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "%s nem csatolható" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "Érvénytelen útvonal" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "Nincs találat" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "Egyszerű kiegészítés" @@ -1117,13 +1120,13 @@ msgstr "Egyszerű kiegészítés" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "Teljes, de nem egyedi" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "Kiegészítés…" @@ -1131,7 +1134,7 @@ msgstr "Kiegészítés…" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "Csak helyi fájlnevek választhatók ki" @@ -1139,80 +1142,75 @@ msgstr "Csak helyi fájlnevek választhatók ki" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "Befejezetlen gépnév, zárja le / jellel" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "Az útvonal nem létezik" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Hiba a(z) „%s” mappa létrehozásakor: %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "Fájlrendszer" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Válasszon betűkészletet" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Betűkészlet" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "árvíztűrő tükörfúrógép ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "_Család:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "_Stílus:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "_Méret:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_Előnézet:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Betűkészlet-választó" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "Hiba az ikon betöltésekor: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1225,75 +1223,75 @@ msgstr "" "Beszerezhet egy másolatot a következő helyről:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "„%s” ikon nincs a témában" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "Nem sikerült betölteni az ikont" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "Egyszerű" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "Rendszer" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "Nincs" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "Rendszer (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6214 msgid "_Open Link" msgstr "Hi_vatkozás megnyitása" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6226 msgid "Copy _Link Address" msgstr "_Hivatkozás címének másolása" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "URL másolása" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "Érvénytelen URI" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "További GTK+ modulok betöltése" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "MODULOK" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "Minden figyelmeztetés végzetes legyen" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "Beállítandó Gtk+ debug jelzőbitek" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "Kikapcsolandó Gtk+ jelzőbitek" @@ -1302,123 +1300,122 @@ msgstr "Kikapcsolandó Gtk+ jelzőbitek" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "Nem nyitható meg a megjelenítő: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "GTK+ beállításai" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "GTK+ beállítások megjelenítése" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "Kap_csolódás" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "Kapcsolódás _névtelenül" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "Kapcsolódás _felhasználóként:" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "_Felhasználónév:" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "_Tartomány:" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "J_elszó:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "Jelszó a_zonnali elfelejtése" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "Jelszó megjegyzése _kijelentkezésig" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "_Megjegyzés örökre" -#: gtk/gtkmountoperation.c:883 +#: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" msgstr "Ismeretlen alkalmazás (PID: %d)" -#: gtk/gtkmountoperation.c:1066 -#, c-format +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "A folyamat nem fejeztethető be" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "Folyamat _befejezése" -#: gtk/gtkmountoperation-stub.c:64 +#: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "" -"Nem lőhető ki a(z) %d azonosítójú folyamat. A művelet nincs megvalósítva." +msgstr "Nem lőhető ki a(z) %d azonosítójú folyamat. A művelet nincs megvalósítva." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "Terminállapozó" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Top parancs" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 +#: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" msgstr "Nem fejeztethető be a(z) %d azonosítójú folyamat: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "%u. oldal" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Nem érvényes oldalbeállítási fájl" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "Tetszőleges nyomtató" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "Hordozható dokumentumokhoz" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1433,52 +1430,51 @@ msgstr "" " Felső: %s %s\n" " Alsó: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." msgstr "Egyéni méretek kezelése…" -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "_Formátum ehhez:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "_Papírméret:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "_Tájolás:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "Oldalbeállítás" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Vissza az útvonalon" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Előre az útvonalon" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "Fájlrendszer gyökere" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "Hitelesítés" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Nem érhető el" -#: gtk/gtkprinteroptionwidget.c:794 -#, fuzzy +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" -msgstr "Válasszon ki egy fájlt" +msgstr "Válasszon egy mappát" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "Mentés _mappába:" @@ -1486,188 +1482,185 @@ msgstr "Mentés _mappába:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s %d. feladata" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "Kezdeti állapot" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "Nyomtatás előkészítése" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "Adatok előállítása" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "Adatok küldése" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "Várakozás" # fixme: jó ez így? -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Blokkolás probléma miatt" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "Nyomtatás" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "Befejeződött" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "Hibával fejeződött be" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "%d előkészítése" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "Előkészítés" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "%d nyomtatása" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "Hiba a nyomtatási előnézet létrehozásakor" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "A legvalószínűbb ok, hogy egy ideiglenes fájl nem hozható létre." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "Hiba az előnézet indításakor" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Alkalmazás" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "A nyomtató nem érhető el" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "Kifogyott a papír" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "Szüneteltetve" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "Felhasználói beavatkozás szükséges" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "Egyéni méret" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "Nem található nyomtató" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "Érvénytelen paraméter a CreateDC-hez" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Hiba a StartDoc elemtől" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "Nincs elég szabad memória" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "Érvénytelen paraméter a PrintDlgEx-re" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "Érvénytelen mutató a PrintDlgEx-re" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "Érvénytelen kezelő a PrintDlgEx-re" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Meghatározatlan hiba" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Nyomtatóinformációk lekérése meghiúsult" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Nyomtatóinformációk lekérése…" -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "Nyomtató" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "Hely" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "Állapot" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "Tartomány" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "Min_den oldal" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "J_elenlegi oldal" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "_Kijelölés" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "_Oldalak:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1675,28 +1668,28 @@ msgstr "" "Adjon meg oldaltartományokat,\n" "például 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr "Oldalak" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "Példányszám" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "Pél_dányszám:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "_Szétválogatás" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "_Fordított" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" msgstr "Általános" @@ -1706,168 +1699,168 @@ msgstr "Általános" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "Balról jobbra, fentről le" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "Balról jobbra, lentről fel" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "Jobbról balra, fentről le" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "Jobbról balra, lentről fel" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "Fentről le, balról jobbra" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "Fentről le, jobbról balra" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "Lentről fel, balról jobbra" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "Lentről fel, jobbról balra" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Oldalsorrend" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "Balról jobbra" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "Jobbról balra" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "Fentről le" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "Lentről fel" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "Elrendezés" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "_Kétoldalas:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "_Lapok oldalanként:" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "Ol_dalsorrend:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "_Nyomtatandó:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "Minden oldal" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "Páros oldalak" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "Páratlan oldalak" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "_Méretezés:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "Papír" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "Papír _típusa:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "_Papírforrás:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "Kimeneti tál_ca:" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "_Tájolás:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "Álló" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "Fekvő" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "Fordított álló" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "Fordított fekvő" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "Feladat részletei" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "_Prioritás:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "_Fizetési információk:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "Dokumentum nyomtatása" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "_Azonnal" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "_Ekkor:" @@ -1875,7 +1868,7 @@ msgstr "_Ekkor:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1883,121 +1876,121 @@ msgstr "" "A nyomtatás idejének megadása\n" " például: 15.30, 2.35 du, 14.15.20, 11.46.30 de, 4 du" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "Nyomtatás ideje" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "_Várakoztatás" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "A feladat felfüggesztése kifejezett elengedéséig" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "Borítóoldal hozzáadása" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "_Elé:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "_Mögé:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "Feladat" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "Speciális" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "Képminőség" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "Szín" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "Befejezés" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "A párbeszédablak egyes beállításai ütköznek" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "Nyomtatás" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "Include-fájl nem található: „%s”" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "A kép nem található a következő pixmap_path útvonalon: „%s”" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "Ez a függvény nincs megvalósítva a(z) „%s” osztály felületi elemeihez" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Válassza ki a megjelenítendő dokumentumok típusát" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "Nem található elem a következő URI címhez: „%s”" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "Névtelen szűrő" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "Nem távolítható el az elem" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "Nem törölhető a lista" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "Hely más_olása" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "_Törlés a listából" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "_Lista törlése" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "Sze_mélyes erőforrások megjelenítése" @@ -2011,21 +2004,21 @@ msgstr "Sze_mélyes erőforrások megjelenítése" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "Nem találhatók elemek" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "Nem található nemrég használt erőforrás a következő URI címmel: „%s”" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "„%s” megnyitása" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Ismeretlen elem" @@ -2034,7 +2027,7 @@ msgstr "Ismeretlen elem" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2043,46 +2036,51 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "Nem található a következő URI című elem: „%s”" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "Nem található „%s” nevű regisztrált alkalmazás a(z) „%s” URI-című elemhez" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Forgó" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "Az előrehaladást jelzi vizuálisan" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Információ" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "Figyelmeztetés" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "Hiba" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "Kérdés" @@ -2090,700 +2088,692 @@ msgstr "Kérdés" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "_Névjegy" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "Hozzá_adás" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "_Alkalmaz" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "_Félkövér" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "Mé_gse" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" -msgstr "_CD-Rom" +msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "_Törlés" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "_Bezárás" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "Kapcs_olódás" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "_Konvertálás" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "_Másolás" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "_Kivágás" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "_Törlés" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "El_dobás" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "_Bontás" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "_Végrehajtás" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "S_zerkesztés" -#: gtk/gtkstock.c:338 -#, fuzzy +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" -msgstr "_Fájlok" +msgstr "_Fájl" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "_Keresés" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "Keresés és _csere" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "_Floppy" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "_Teljes képernyő" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "T_eljes képernyő elhagyása" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "_Aljára" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "_Első" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "_Utolsó" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "_Tetejére" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "_Vissza" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "_Le" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "_Tovább" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "_Fel" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" msgstr "_Merevlemez" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "_Súgó" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "_Kezdőlap" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "Behúzás növelése" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "Behúzás csökkentése" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "_Index" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "_Információ" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "_Dőlt" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "_Ugrás" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "_Középre" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "K_itöltés" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "_Balra" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "_Jobbra" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "_Előre" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "_Következő" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "_Szünet" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "_Lejátszás" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "_Előző" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "_Felvétel" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "_Vissza" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "_Leállítás" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "_Hálózat" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "Ú_j" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "_Nem" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "_OK" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "_Megnyitás" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "Fekvő" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "Álló" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "Fordított fekvő" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "Fordított álló" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "_Oldalbeállítás" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "_Beillesztés" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "B_eállítások" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "_Nyomtatás" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "Nyomtatási _kép" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "_Tulajdonságok" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "_Kilépés" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "Új_ra" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "_Frissítés" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "_Eltávolítás" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "_Visszaállítás" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "M_entés" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "Men_tés másként" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "_Mindent kijelöl" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "_Szín" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "_Betűkészlet" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "_Növekvő" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "_Csökkenő" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "_Helyesírás-ellenőrzés" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "_Leállítás" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "Át_húzás" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "_Visszaállítás" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "_Aláhúzás" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "_Visszavonás" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "_Igen" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "_Normál méret" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "Legjobb _illeszkedés" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "_Nagyítás" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "_Kicsinyítés" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "Ismeretlen hiba a(z) %s visszafejtésére tett kísérlet során" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "Nem található visszafejtési függvény a(z) %s formátumhoz" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "A(z) <%s> elemben mind az „azonosító”, mind a „név” megtalálható" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "A(z) „%s” attribútum kétszer fordult elő a(z) <%s> elemen" -#: gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:855 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "A(z) <%s> elem a(z) „%s” érvénytelen azonosítóval rendelkezik" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "A(z) <%s> elem nem rendelkezik sem „név” sem „azonosító” attribútummal" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "" -"A(z) „%s” attribútum kétszer lett megismételve ugyanazon a(z) <%s> elemen" +msgstr "A(z) „%s” attribútum kétszer lett megismételve ugyanazon a(z) <%s> elemen" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" -msgstr "" -"A(z) „%s” attribútum <%s> elemen érvénytelen ebben a szövegkörnyezetben" +msgstr "A(z) „%s” attribútum <%s> elemen érvénytelen ebben a szövegkörnyezetben" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "A(z) „%s” címke nincs meghatározva." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "Névtelen címke található és nem hozhatók létre címkék." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "A(z) „%s” címke nem létezik a pufferben és nem hozhatók létre címkék." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "A(z) <%s> elem nem engedélyezett <%s> alatt" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "A(z) „%s” nem érvényes attribútumtípus" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "A(z) „%s” nem érvényes attribútumnév" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format -msgid "" -"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "„%s” nem alakítható „%s” típusú értékké „%s” attribútumhoz" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "„%s” nem érvényes érték a(z) „%s” attribútumhoz" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "A(z) „%s” címke már meg van határozva" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "A(z) „%s” címke prioritása („%s”) érvénytelen" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" -msgstr "" -"A szöveg legkülső elemének <%s> helyett text_view_markup> elemnek kell lennie" +msgstr "A szöveg legkülső elemének <%s> helyett text_view_markup> elemnek kell lennie" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "már meg van határozva egy <%s> elem" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr " elem nem fordulhat elő elem előtt" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "A sorba fejtett adatok rosszul formázottak" -#: gtk/gtktextbufferserialize.c:1862 -msgid "" -"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +#: ../gtk/gtktextbufferserialize.c:1874 +msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "A sorba fejtett adatok rosszul formázottak. Az első szakasz nem " "GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM _Balról-jobbra jel" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM J_obbról-balra jel" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE Balról-jobbra beá_gyazás" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE Jobbról-balra b_eágyazás" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO Balról-jobbra _felülbírálás" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO Jobbról-balra f_elülbírálás" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF Irányformázás _visszakapása" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS N_ull szélességű szóköz" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ Null szélességű ö_sszekötő" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ Null szélességű _nem-összekötő" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "Nem található a témamotor a következő modulútvonalon: „%s”," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Váratlan kezdőcímke: „%s” a(z) %d. sor %d. karakterénél" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Váratlan karakteradat a(z) %d. sor %d. karakterénél" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "Üres" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "Hangerő" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "Csökkenti vagy növeli a hangerőt" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "Módosítja a hangerőt" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "Hangerő le" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "Csökkenti a hangerőt" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "Hangerő fel" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "Növeli a hangerőt" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "Némítva" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "Teljes hangerő" @@ -2792,935 +2782,934 @@ msgstr "Teljes hangerő" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 Extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 Tab" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 Extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 Extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "DL boríték" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Choukei 2 boríték" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Choukei 3 boríték" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Choukei 4 boríték" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki (levelezőlap)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "kahu boríték" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "kaku2 boríték" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (válasz levelezőlap)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "you4 boríték" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9 boríték" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9 boríték" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11 boríték" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "a2 boríték" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "c5 boríték" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "Európai edp" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executive" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "Európai FanFold" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "US FanFold" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold German Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6 (levelezőlap)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "Invoice" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tabloid" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monarch boríték" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "#10 boríték" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "#11 boríték" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "#12 boríték" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "#14 boríték" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "#9 boríték" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "Személyes boríték" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "Széles formátum" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "Meghívó boríték" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "Olasz boríték" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix boríték" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "Kis fénykép" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1 boríték" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10 boríték" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2 boríték" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3 boríték" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4 boríték" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "prc5 boríték" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "prc6 boríték" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7 boríték" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8 boríték" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc9 boríték" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" -msgstr "" -"eltérő idata található a szimbolikusan linkelt „%s” és „%s” elemekhez\n" +msgstr "eltérő idata található a szimbolikusan linkelt „%s” és „%s” elemekhez\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "A fejléc írása meghiúsult\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "A hash tábla írása meghiúsult\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "A mappaindex írása meghiúsult\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "A fejléc újraírása meghiúsult\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "A fájl (%s) megnyitása meghiúsult: %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "A gyorsítótárfájl írása meghiúsult: „%s”\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "Az előállított gyorsítótár érvénytelen volt.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "" "%s nem nevezhető át a következőre: %s: %s, ezért a(z) %s eltávolításra " "kerül.\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s nem nevezhető át (erre: %s): %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s nem nevezhető át (erre: %s): %s.\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "A gyorsítótárfájl sikeresen létrejött.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "Meglévő gyorsítótár felülírása, még ha naprakész is" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "Ne ellenőrizze az index.theme meglétét" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "Ne vegye fel a képadatokat a gyorsítótárba" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "C fejlécfájl kiírása" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "Bőbeszédű kimenet kikapcsolása" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "Meglévő ikongyorsítótár ellenőrzése" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "A fájl nem található: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Nem egy érvényes ikongyorsítótár: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "Nincs témaindexfájl.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3731,312 +3720,310 @@ msgstr "" "ignore-theme-index kapcsolót.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Amhara (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "Cedilla" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "Cirill (transzliterálás)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "Inuktitut (transzliterálás)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Több-billentyűs" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Thai-Lao" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Eritreai tigrigna (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Etióp tigrigna (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "Vietnami (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "X beviteli mód" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "Felhasználónév:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "Jelszó:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "Hitelesítés szükséges a fájl lekéréséhez innen: %s" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "" "Hitelesítés szükséges a(z) „%s” dokumentum kinyomtatásához ezen a nyomtatón: " "%s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Hitelesítés szükséges a dokumentum kinyomtatásához ezen: %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Hitelesítés szükséges a(z) „%s” feladat jellemzőinek lekéréséhez" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "Hitelesítés szükséges a feladat jellemzőinek lekéréséhez" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Hitelesítés szükséges a(z) %s nyomtató jellemzőinek lekéréséhez" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "Hitelesítés szükséges a nyomtató jellemzőinek lekéréséhez" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" -msgstr "" -"Hitelesítés szükséges a(z) %s alapértelmezett nyomtatójának lekéréséhez" +msgstr "Hitelesítés szükséges a(z) %s alapértelmezett nyomtatójának lekéréséhez" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Hitelesítés szükséges a nyomtatók lekéréséhez ettől: %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Hitelesítés szükséges a fájl lekéréséhez innen: %s" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "Hitelesítés szükséges a következőn: %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "Tartomány:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Hitelesítés szükséges a dokumentum („%s”) kinyomtatásához" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" -msgstr "" -"Hitelesítés szükséges a dokumentum kinyomtatásához ezen a nyomtatón: %s" +msgstr "Hitelesítés szükséges a dokumentum kinyomtatásához ezen a nyomtatón: %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "Hitelesítés szükséges a dokumentum kinyomtatásához" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "A nyomtatóban („%s”) kevés a festék." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "A nyomtatóból („%s”) kifogyott a festék." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "A nyomtatóban („%s”) kevés az előhívó." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "A nyomtatóból („%s”) kifogyott az előhívó." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "A nyomtatóban („%s”) legalább egy szín festéke kevés." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "A nyomtatóból („%s”) legalább egy szín festéke kifogyott." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "A nyomtató („%s”) fedele nyitva van." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "A nyomtató („%s”) ajtaja nyitva van." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "A nyomtatóban („%s”) kevés a papír." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "A nyomtatóból („%s”) kifogyott a papír." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "Printer '%s' is currently offline." msgstr "A nyomtató („%s”) nem érhető el." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "A nyomtató („%s”) problémát észlelt." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "Szüneteltetve; feladatok visszautasítása" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "Feladatok visszautasítása" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "Kétoldalas" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "Papírtípus" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "Papírforrás" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "Kimeneti tálca" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "Felbontás" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript előszűrés" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "Egyoldalas" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "Hosszú él (szabványos)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "Rövid él (fordított)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "Automatikus kiválasztás" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "Nyomtató alapértelmezése" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "Csak GhostScript betűkészletek beágyazása" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "Átalakítás 1. PS szintre" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "Átalakítás 2. PS szintre" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "Nincs előszűrés" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "Egyebek" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "Sürgős" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "Magas" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "Közepes" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "Alacsony" @@ -4044,66 +4031,66 @@ msgstr "Alacsony" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "Oldalak laponként" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "Feladatprioritás" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "Fizetési információk" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "Nincs" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "Nem nyilvános" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "Bizalmas" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "Titkos" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "Szabványos" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "Szigorúan titkos" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "Nyilvános" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "Előtte" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "Mögötte" @@ -4111,14 +4098,14 @@ msgstr "Mögötte" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "Nyomtatás ekkor:" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "Nyomtatás adott időben" @@ -4126,271 +4113,107 @@ msgstr "Nyomtatás adott időben" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "Egyéni %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "kimenet.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Nyomtatás fájlba" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "_Oldalak laponként:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "Fájl" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "_Kimeneti formátum" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Nyomtatás LPR-re" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Oldalak laponként" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Parancssor" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "a nyomtató nem érhető el" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "nyomtatásra kész" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "feladat feldolgozása" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "szüneteltetve" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "ismeretlen" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "tesztkimenet.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Nyomtatás tesztnyomtatóra" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "Nem lehet információt szerezni a(z) „%s” fájlról: %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "Nem sikerült megnyitni a(z) „%s” fájlt: %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format -msgid "" -"Failed to load image '%s': reason not known, probably a corrupt image file" +msgid "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "" "Nem sikerült betölteni a(z) „%s” képet: ok ismeretlen, valószínűleg sérült a " "képfájl" -#~ msgid "\"Deepness\" of the color." -#~ msgstr "A szín telítettsége." - -#~ msgid "Folders" -#~ msgstr "Mappák" - -#~ msgid "Fol_ders" -#~ msgstr "_Mappák" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "Olvashatatlan könyvtár: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "A(z) „%s” fájl egy másik (%s nevű) gépen helyezkedik el és nem érhető el " -#~ "ezen program számára.\n" -#~ "Valóban ki akarja választani?" - -#~ msgid "_New Folder" -#~ msgstr "Új _mappa" - -#~ msgid "De_lete File" -#~ msgstr "Fájl _törlése" - -#~ msgid "_Rename File" -#~ msgstr "Fájl át_nevezése" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "A(z) „%s” mappanév fájlnevekben meg nem engedett szimbólumokat tartalmaz" - -#~ msgid "New Folder" -#~ msgstr "Új mappa" - -#~ msgid "_Folder name:" -#~ msgstr "_Mappa neve:" - -#~ msgid "C_reate" -#~ msgstr "Lét_rehozás" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "A(z) „%s” fájlnév fájlnevekben meg nem engedett szimbólumokat tartalmaz" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "Hiba a(z) „%s” fájl törlése közben: %s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "Biztos törli a(z) „%s” fájlt?" - -#~ msgid "Delete File" -#~ msgstr "Fájl törlése" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "Hiba a fájl átnevezése közben erre: „%s” : %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "Hiba „%s” fájl átnevezése közben: %s" - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "Hiba „%s” fájl erre: „%s” való átnevezése közben: %s" - -#~ msgid "Rename File" -#~ msgstr "Fájl átnevezése" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "„%s” fájl átnevezése:" - -#~ msgid "_Rename" -#~ msgstr "Á_tnevezés" - -#~ msgid "_Selection: " -#~ msgstr "_Kijelölés: " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "A(z) „%s” fájlnevet nem lehet UTF-8-ra konvertálni. (próbálja meg " -#~ "beállítani a G_FILENAME_ENCODING környezeti változót): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "Érvénytelen UTF-8" - -#~ msgid "Name too long" -#~ msgstr "Túl hosszú a név" - -#~ msgid "Couldn't convert filename" -#~ msgstr "Nem lehet konvertálni a fájlnevet" - -#~ msgid "Gamma" -#~ msgstr "Gamma" - -#~ msgid "_Gamma value" -#~ msgstr "_Gamma érték" - -#~ msgid "Input" -#~ msgstr "Bevitel" - -#~ msgid "No extended input devices" -#~ msgstr "Nincs kiterjesztett beviteli eszköz" - -#~ msgid "_Device:" -#~ msgstr "_Eszköz:" - -#~ msgid "Disabled" -#~ msgstr "Tiltva" - -#~ msgid "Screen" -#~ msgstr "Képernyő" - -#~ msgid "Window" -#~ msgstr "Ablak" - -#~ msgid "_Mode:" -#~ msgstr "_Mód:" - -#~ msgid "Axes" -#~ msgstr "Tengelyek" - -#~ msgid "Keys" -#~ msgstr "Billentyűk" - -#~ msgid "_X:" -#~ msgstr "_X:" - -#~ msgid "_Y:" -#~ msgstr "_Y:" - -#~ msgid "_Pressure:" -#~ msgstr "_Nyomás:" - -#~ msgid "X _tilt:" -#~ msgstr "X _döntés:" - -#~ msgid "Y t_ilt:" -#~ msgstr "Y dö_ntés:" - -#~ msgid "_Wheel:" -#~ msgstr "_Görgő:" - -#~ msgid "none" -#~ msgstr "nincs" - -#~ msgid "(disabled)" -#~ msgstr "(tiltva)" - -#~ msgid "(unknown)" -#~ msgstr "(ismeretlen)" - -#~ msgid "Cl_ear" -#~ msgstr "_Törlés" - -#~ msgid "Error printing" -#~ msgstr "Nyomtatási hiba" - -#~ msgid "--- No Tip ---" -#~ msgstr "-- Nincs segédszöveg --" From cb1ef69b122dedffc53fda8c296c1418c756241b Mon Sep 17 00:00:00 2001 From: "Gheyret T.Kenji" Date: Sat, 13 Nov 2010 22:39:03 +0100 Subject: [PATCH 0237/1463] Added UG translation --- po/ug.po | 2021 +++++++++++++++++++++++++++--------------------------- 1 file changed, 996 insertions(+), 1025 deletions(-) diff --git a/po/ug.po b/po/ug.po index 6c483c31d4..dc1eb7b6bc 100644 --- a/po/ug.po +++ b/po/ug.po @@ -1,78 +1,77 @@ -# Uighur translation for gtk+2.0 -# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 -# This file is distributed under the same license as the gtk+2.0 package. -# Ömerjan Tursunqasim , 2008. -# Sahran , 2010 +# Uighur translation for gtk+2.0 +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the gtk+2.0 package. +# Ömerjan Tursunqasim , 2008. +# Sahran , 2010 # msgid "" msgstr "" "Project-Id-Version: gtk+2.0\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" +"POT-Creation-Date: 2010-11-07 23:00+0000\n" "PO-Revision-Date: 2010-08-02 01:02+0600\n" "Last-Translator: Sahran \n" "Language-Team: Uyghur Computer Science Association \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: \n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" -msgstr " --gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" +msgstr "--gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" -msgstr " --gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" +msgstr "--gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:153 msgid "CLASS" msgstr "تۈر" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:156 msgid "NAME" msgstr "ئاتى" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:158 msgid "X display to use" msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:159 msgid "DISPLAY" msgstr "كۆرسەت" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:161 msgid "X screen to use" -msgstr "ئىشلەتكەن X ئېكران " +msgstr "ئىشلەتكەن X ئېكران" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:162 msgid "SCREEN" msgstr "ئېكران" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: ../gdk/gdk.c:165 msgid "GDK debugging flags to set" msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" @@ -80,304 +79,303 @@ msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "بەلگە" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to unset" -msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " +msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" -msgstr "چىكىنىش كۇنۇپكىسى" +msgstr "چېكىنىش كۇنۇپكىسى" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tab" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Return" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" -msgstr "ۋاقىتلىق توختا" +msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" -msgstr "Multi_key" +msgstr "Multikey(_K)" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "سول" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "يۇقىرى" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "ئوڭ" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "تۆۋەن" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "تامام" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "باشلا" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "باس" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "قىستۇر" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Space" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Left" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Up" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Right" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Down" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "ئۆچۈر" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "--no-wintab بىلەن ئوخشاش" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "رەڭ" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "%s قوزغىلىۋاتىدۇ" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "%s نى ئېچىۋاتىدۇ" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "X نى قەدەمداش قىلىپ ئىشلەت" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "ئىجازەتنامە" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "تەشەككۈر(_R)" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "ئىجازەت(_L)" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "ئۇلانمىنى كۆرسىتەلمىدى" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "%s ھەققىدە" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "تەشەككۈر" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "يازغۇچى" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "پۈتۈكچى" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "تەرجىمان" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "گۈزەل سەنئەت تەھرىرى" @@ -386,7 +384,7 @@ msgstr "گۈزەل سەنئەت تەھرىرى" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -396,7 +394,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -406,7 +404,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -416,7 +414,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -426,7 +424,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -436,37 +434,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" -msgstr "ئىناۋەتسىز تىپ فونكسىيەسى كۆرۈنگەن قۇر %d: '%s'" +msgstr "ئىناۋەتسىز تىپ فۇنكسىيىسى كۆرۈنگەن قۇر %d: '%s'" -#: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#: ../gtk/gtkbuilderparser.c:407 +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" @@ -481,7 +479,7 @@ msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:MY" @@ -489,7 +487,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -498,7 +496,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -513,7 +511,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -529,7 +527,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -545,7 +543,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -553,7 +551,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "چەكلەنگەن" @@ -562,7 +560,7 @@ msgstr "چەكلەنگەن" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "ئىناۋەتسىز" @@ -571,155 +569,144 @@ msgstr "ئىناۋەتسىز" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…" -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "رەڭ ئال" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" -msgstr "ئىناۋەتسىز رەڭ سانلىق مەلۇماتى تاپشۇرۇۋالدى\n" +msgstr "ئىناۋەتسىز رەڭ سانلىق-مەلۇماتى تاپشۇرۇۋالدى\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." -msgstr "" -"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ " -"كۈچلۈكلۈكىنى تاللاڭ." +msgstr "سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ كۈچلۈكلۈكىنى تاللاڭ." -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" -msgstr "رەڭگى(_H):" +msgstr "رەڭ تەڭشەش(_H):" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "رەڭ ھالقىسىدىكى ئورنى" -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "تويۇنۇش دەرىجىسى(_S):" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." -msgstr "رەڭ كۈچلۈكلۈكى." +msgstr "رەڭ يورۇقلۇق دەرىجىسى." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "قىممىتى(_V):" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "رەڭ يورۇقلۇقى." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "قىزىل(_R):" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "يېشىل(_G):" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "كۆك(_B):" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "سۈزۈكلۈك(_A):" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "رەڭ سۈزۈكلۈكى." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "رەڭ ئاتى(_N):" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." -msgstr "" -"سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە " -"ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." +msgstr "سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "رەڭ تاختىسى(_P):" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "رەڭ ھالقىسى" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " "current by dragging it to the other color swatch alongside." -msgstr "" -"ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى " -"رەڭ تاللاش تاخسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ " -"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." +msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى رەڭ تاللاش تاختىسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." -msgstr "" -"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." +msgstr "سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "سىز تاللىغان رەڭ." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "رەڭنى بۇ جايغا ساقلا(_S)" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "" -"رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى " -"ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن " -"كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." +msgstr "رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "رەڭ تاللاش" @@ -729,136 +716,140 @@ msgstr "رەڭ تاللاش" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "دىيۇيم" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "پرىنتېر ئارىلىقى…" -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "ئىختىيارى چوڭلۇقى %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "كەڭلىك(_W):" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "ئېگىزلىك(_H):" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "قەغەز چوڭلۇقى" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "ئۈستى(_T):" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "ئاستى(_B):" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "سول(_L):" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "ئوڭ(_R):" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "قەغەز يان ئارىلىقى" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "كىرگۈزگۈچ(_M)" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" -msgstr "" +msgstr "Caps Lock ۋە Num Lock ئوچۇق" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10068 msgid "Num Lock is on" msgstr "Num Lock ئوچۇق" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "Caps Lock ئوچۇق" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "ھۆججەت تاللاڭ" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" -msgstr "ئۈستەل ئۈستى" +msgstr "ئۈستەليۈزى" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(يوق)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "باشقا…" -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" -msgstr "يىڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" +msgstr "يېڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "قىسقۇچ قىستۇرالمايدۇ" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "قىسقۇچ قۇرالمايدۇ" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." -msgstr "" -"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇد. باشقا ئات ئىشلىتىپ " -"سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." +msgstr "قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇت. باشقا ئات ئىشلىتىپ سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "ئىناۋەتسىز ھۆججەت ئاتى" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" @@ -866,238 +857,235 @@ msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%2$s ئۈستىدىكى %1$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "ئىزدە" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "يېقىندا ئىشلەتكەن" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "'%s' خەتكۈچنى چىقىرىۋەت" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "چىقىرىۋەت" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." msgstr "ئات ئۆزگەرت…" #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "ئورۇن" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" -msgstr "ئورۇن(_R)" +msgstr "ئورۇن(_P)" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "قوش(_A)" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "ئۆچۈر(_R)" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" -msgstr "ھۆججەت تاللايالمىدى" +msgstr "ھۆججەت تاللىيالمىدى" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "خەتكۈچكە قوش(_A)" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" -msgstr "چوڭلۇق ستونىنى كۆرسەت(_S)" +msgstr "چوڭلۇق ئىستونىنى كۆرسەت(_S)" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "ھۆججەتلەر" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "ئاتى" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "چوڭلۇقى" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "ئۆزگەرتكەن" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "ئاتى(_N):" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "قىسقۇچ قۇر(_L)" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "ئورنى(_L):" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "قىسقۇچقا ساقلا(_F):" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "قىسقۇچتا قۇر(_F):" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "نامەلۇم" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "ئەتە %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" -msgstr "%s قىسقا يول مەۋجۇد" +msgstr "%s قىسقا يول مەۋجۇت" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" -msgstr "%s قىسقا يول مەۋجۇد ئەمەس" +msgstr "%s قىسقا يول مەۋجۇت ئەمەس" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "" -"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت " -"ئاللىبۇرۇن" +msgstr "ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت ئاللىبۇرۇن" -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "ئالماشتۇر(_R)" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "ئىزدىگۈچنى قوزغىتالمىدى" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." -msgstr "" -"پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" +msgstr "پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "ئىزدە:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" -msgstr "%s يۈك چۈشۈرەلمىدى " +msgstr "%s نى ئېگەرلىگىلى بولمىدى" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "ئىناۋەتسىز يول" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "ماس كېلىدىغىنى يوق" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "بىردىنبىر تاماملاش" @@ -1105,13 +1093,13 @@ msgstr "بىردىنبىر تاماملاش" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "تاماملاۋاتىدۇ…" @@ -1119,7 +1107,7 @@ msgstr "تاماملاۋاتىدۇ…" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" @@ -1127,284 +1115,277 @@ msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" -msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ " +msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" -msgstr "يول مەۋجۇد ئەمەس." - -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" +msgstr "يول مەۋجۇت ئەمەس." #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "ھۆججەت سىستېمىسى" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "خەت نۇسخا تاللا" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "UKIJ Tuz Tom 10" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "خەت نۇسخا" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" -msgstr "ئائەب پ ت ج چ خ درزژ abcdefghijk ABCDEFGHIJK" +msgstr "ئا ئە ب پ ت ج چ خ د ر ز ژ abcdefghijk ABCDEFGHIJK" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "خەت نۇسخا تۈرى(_F):" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "ئۇسلۇب(_S):" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "چوڭلۇقى(_Z):" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "ئالدىن كۆزەت(_P):" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "خەت نۇسخا تاللاش" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" "was not found either, perhaps you need to install it.\n" "You can get a copy from:\n" "\t%s" -msgstr "" -"'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز " -"زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" +msgstr "'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" "%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "سىنبەلگە يۈكلىيەلمىدى" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "ئاددىي" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "سىستېما" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "يوق" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "سىستېما(%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6196 msgid "_Open Link" msgstr "ئۇلانما ئاچ(_O)" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6208 msgid "Copy _Link Address" msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "URL كۆچۈر" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "ئىناۋەتسىز URI" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "بۆلەك" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" -msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " +msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" #. Translate to default:RTL if you want your widgets #. * to be RTL, otherwise translate to default:LTR. #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:RTL" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "ئېكران ئېچىلمىدى: (%s)" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "GTK+ تاللانما" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "GTK+ تاللانما كۆرسەت" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" -msgstr "ئۇلا(_N)" +msgstr "باغلا(_N)" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" -msgstr "ئاتسىز ئۇلىنىش(_A)" +msgstr "ئاتسىز باغلانماق(_A)" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "ئۇلىنىش سالاھىيىتى(_S):" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "ئىشلەتكۈچى ئاتى(_U):" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "دائىرە(_D):" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "ئىم(_P):" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" -msgstr "ئىمنى دەرھال ئۇنۇت(_I)" +msgstr "ئىمنى دەرھال ئۇنتۇ(_I)" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "مەڭگۈ ئەستە تۇت(_F)" -#: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format -msgid "Unknown Application (PID %d)" -msgstr "نامەلۇم قوللىنىشچان پروگرامما (pid %d)" - -#: gtk/gtkmountoperation.c:1066 +#: ../gtk/gtkmountoperation.c:883 #, c-format +msgid "Unknown Application (PID %d)" +msgstr "نامەلۇم پروگرامما (PID %d)" + +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "جەرياننى ئاخىرلاشتۇرالمايدۇ" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" -msgstr "جەريان ئاخىرلاشتۇر(_E)" +msgstr "مەشغۇلاتنى ئاخىرلاشتۇر(_E)" -#: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr " pid %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." +msgstr "PID %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "تېرمىنال ئوقۇغۇچ" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "pid %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" +msgstr "PID %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "%u-بەت" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "خالىغان پرىنتېر" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "ئەپچىل پۈتۈك ئۈچۈن" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1412,58 +1393,57 @@ msgid "" " Right: %s %s\n" " Top: %s %s\n" " Bottom: %s %s" -msgstr "" -"يان ئارىلىقى:\n" +msgstr "يان ئارىلىقى:\n" "سول: %s %s\n" "ئوڭ: %s %s\n" " ئۈستى: %s %s\n" " ئاستى: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." msgstr "ئىختىيارى چوڭلۇق باشقۇر…" -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "فورمات(_F):" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "قەغەز چوڭلۇقى(_P):" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "يۆنىلىش(_O):" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "بەت تەڭشەك" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "ئۈستۈنكى يول" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "ئاستىنقى يول" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "ھۆججەت سىستېما غولى" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "سالاھىيەت دەلىللەش" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "ئىشلەتكىلى بولمايدۇ" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" -msgstr "مۇندەرىجە تاللاڭ" +msgstr "قىسقۇچ تاللاڭ" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "قىسقۇچتا ساقلا(_S):" @@ -1471,219 +1451,214 @@ msgstr "قىسقۇچتا ساقلا(_S):" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "دەسلەپكى ھالەت" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "بېسىشقا تەييارلىنىۋاتىدۇ" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "سانلىق مەلۇمات ياساۋاتىدۇ" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "ئۇچۇر يوللاۋاتىدۇ" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "ساقلاۋاتىدۇ" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "توسۇلۇش مەسىلىسى" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "بېسىۋاتىدۇ" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "تاماملاندى" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "خاتالىق بىلەن تاماملاندى" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "%d تەييارلاۋاتىدۇ" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "تەييارلىق ھالەت" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "%d نى بېسىۋاتىدۇ" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." -msgstr "" -"مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." +msgstr "مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" -msgstr "قوللىنىشچان پروگرامما" +msgstr "پروگرامما" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "پرىنتېر ئۈزۈك ھالەتتە" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "قەغەز يېتىشمىدى" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "ۋاقىتلىق توختىدى" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "ئىختىيارى چوڭلۇق" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "پرىنتېر تېپىلمىدى" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "StartDoc دىن خاتالىق كۆرۈلدى" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "يېتەرلىك بوش ئەسلەك يوق." -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" -msgstr "PrintDlgEx نىڭ ئىسترېلكاسى ئىناۋەتسىز" +msgstr "PrintDlgEx نىڭ ئىسترېلكىسى ئىناۋەتسىز" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "ئېنىقسىز خاتالىق" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "پرىنتېر" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "ئورنى" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "ھالىتى" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "دائىرىسى" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "ھەممە بەت(_A)" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "نۆۋەتتىكى بەت(_U)" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "تاللا(_L)" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "بەتلەر(_E):" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" -msgstr "" -"بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" +msgstr "بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" "مەسىلەن: 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr "بەتلەر" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "نۇسخا" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "نۇسخا سانى(_S):" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "رەت بويىچە(_O)" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "ئەكسىچە(_R)" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" -msgstr "ئادەتتىكى" +msgstr "ئادەتتە" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) @@ -1691,168 +1666,168 @@ msgstr "ئادەتتىكى" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "بەت تەرتىپى" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "سولدىن ئوڭغا" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "ئوڭدىن سولغا" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "ئۈستىدىن ئاستىغا" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "ئاستىدىن ئۈستىگە" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "ئۇسلۇب" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "قوش يۈزلۈك(_W):" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "بەت تەرتىپى(_D):" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "بېسىشلا(_O):" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "ھەممە ۋاراقلار" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "تاق ۋاراقلار" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "جۈپ ۋاراقلار" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "نىسبەت(_A):" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "قەغەز" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "قەغەز تىپى(_T):" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "قەغەز مەنبەسى(_S):" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "قەغەز قۇتىسى(_R):" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "يۆنىلىش(_I):" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "بوي يۆنىلىش" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "توغرا يۆنىلىش" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "تەتۈر بوي يۆنىلىش" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "تەتۈر توغرا يۆنىلىش" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "ۋەزىپە تەپسىلاتى" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "ئالدىنلىق(_O):" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "پۈتۈك باس" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "دەرھال(_N)" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "دە(_T):" @@ -1860,129 +1835,128 @@ msgstr "دە(_T):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -msgstr "" -"بېسىش ۋاقتى بەلگىلىنىدۇ،\n" +msgstr "بېسىش ۋاقتى بەلگىلىنىدۇ،\n" " مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "بېسىش ۋاقتى" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "كۈت(_H)" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "مۇقاۋا بەت قوش" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "ئالدى(_F):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "كەينى(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "ۋەزىپە" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "ئالىي" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" -msgstr "سۈرەت سۈپەتى" +msgstr "سۈرەت سۈپىتى" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "رەڭ" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "تامام" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" -msgstr "دىئالوگ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" +msgstr "سۆزلەشكۈ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "باس" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "پېكسىل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" +msgstr "پىكسېل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "URI“%s” تۈرنى تاپالمىدى" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "تېمىسىز سۈزگۈچ" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "تىزىملىكنى تازىلىيالمايدۇ" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "ئورۇن كۆچۈر(_L)" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "تىزىملىكتىن چىقىرىۋەت(_R)" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "تىزىملىكنى تازىلا(_C)" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "شەخسى مەنبەنى كۆرسەت(_P)" @@ -1996,21 +1970,21 @@ msgstr "شەخسى مەنبەنى كۆرسەت(_P)" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "تۈر تېپىلمىدى" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "'%s' ئاچ" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "نامەلۇم تۈر" @@ -2019,7 +1993,7 @@ msgstr "نامەلۇم تۈر" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2028,46 +2002,51 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "URI '%s' تۈر تېپىلمىدى" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "مىكرو تەڭشەك" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "ئۇچۇر" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "ئاگاھلاندۇرۇش" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "خاتالىق" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "سوئال" @@ -2075,699 +2054,692 @@ msgstr "سوئال" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "ھەققىدە(_A)" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "قوش(_A)" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "قوللان(_A)" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "توم(_B)" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" -msgstr "ۋاز كەچ(_C)" +msgstr "قالدۇرماق(_C)" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" -msgstr "_CD-Rom" +msgstr "" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "ئۆچۈر(_C)" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "ياپ(_C)" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "ئۇلا(_O)" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "ئايلاندۇر(_C)" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "كۆچۈر(_C)" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "كەس(_T)" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "ئۆچۈر(_D)" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "تاشلىۋەت(_D)" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "ئۈز(_D)" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "ئىجرا قىل(_E)" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "تەھرىر(_E)" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" -msgstr "" +msgstr "ھۆججەت(_F)" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "ئىزدە(_F)" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "ئىزدەپ ئالماشتۇر(_R)" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "يۇمشاق دىسكا(_F)" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" -msgstr "پۈتۈن ئېكران(_F)" +msgstr "تولۇق ئېكران(_F)" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "پۈتۈن ئېكراندىن ئايرىل(_L)" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "ئاستى(_B)" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "بىرىنچى(_F)" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "ئاخىرقى(_L)" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" -msgstr "بېشى(_F)" +msgstr "بېشى(_T)" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "كەينىگە(_B)" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "ئاستىغا(_D)" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" -msgstr "ئالدىنقى(_F)" +msgstr "ئالدىغا(_F)" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "ئۈستىگە(_U)" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" -msgstr "قاتتىق دىسكا(_H)" +msgstr "" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "ياردەم(_H)" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "باش بەت(_H)" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" -msgstr "كەڭەيت" +msgstr "كېڭەيت" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "تارايت" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "ئىندېكس(_I)" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "ئۇچۇر(_I)" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "يانتۇ(_I)" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "ئاتلا(_J)" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "ئوتتۇرا(_C)" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "تولدۇر(_F)" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "سول(_L)" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "ئوڭ(_R)" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" -msgstr "ئالدىنقى(_F)" +msgstr "ئالدىغا(_F)" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "كېيىنكى(_N)" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "ۋاقىتلىق توختات(_A)" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "قوي(_P)" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "ئالدىنقى(_V)" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "خاتىرىلە(_R)" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "تېز چېكىن(_E)" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "توختا(_S)" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "تور(_N)" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "يېڭى(_N)" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "ياق(_N)" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "جەزملە(_O)" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "ئاچ(_O)" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "توغرا يۆنىلىش" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "بوي يۆنىلىش" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "تەتۈر توغرا يۆنىلىش" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "تەتۈر بوي يۆنىلىش" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "بەت تەڭشەك(_U)" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "چاپلا(_P)" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "مايىللىق(_P)" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "باس(_P)" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "بېسىشنى ئالدىن كۆزەت(_V)" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "خاسلىق(_P)" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "چېكىن(_Q)" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "قايتىلا(_R)" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "يېڭىلا(_R)" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "ئۆچۈر(_R)" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "ئەسلىگە قايتۇر(_R)" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "ساقلا(_S)" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "باشقا ئاتتا ساقلا(_A)" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "ھەممىنى تاللا(_A)" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "رەڭ(_C)" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "خەت نۇسخا(_F)" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "ئۆسكۈچى(_A)" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "كېمەيگۈچى(_D)" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "ئىملا تەكشۈر(_S)" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "توختا(_S)" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" -msgstr "ئۆچۈرۈش سىزىقى (_S)" +msgstr "ئۆچۈرۈش سىزىقى(_S)" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "ئەسلىگە كەلتۈر(_U)" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "ئاستى سىزىق(_U)" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "يېنىۋال(_U)" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "ھەئە(_Y)" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "ئەسلى چوڭلۇقى(_N)" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "ئەڭ مۇناسىپ(_F)" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "چوڭايت(_I)" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" -msgstr "كىچىكلەت(_O) " +msgstr "كىچىكلەت(_O)" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:855 +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "<%s> ئېلېمېنتنىڭ id سى “%s” ئىناۋەتسىز " +msgstr "<%s> ئېلېمېنتنىڭ ID سى «%s» ئىناۋەتسىز" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى " +msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "“%s” بەلگە ئېنىقلانمىغان." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "" -"\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا " -"ئىشلىتىلىدۇ" +msgstr "\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا ئىشلىتىلىدۇ" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "\"%s\" بەلگە ئېنىقلاندى" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" -msgstr "" -"تېكستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" +msgstr "تېكىستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> ئېلېمېنت بەلگىلەندى" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "" -"تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى " -"GTKTEXTBUFFERCONTENTS-0001" +msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "بوش" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "قىممەت" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "ئاۋاز تەڭشىكى" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "ئاۋازنى تۆۋەنلەت" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "ئاۋازنى كېمەيت" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "ئاۋازنى يۇقىرىلات" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "ئاۋازنى ئاشۇر" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "ئۈنسىز" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "ئەڭ يۇقىرى ئاۋاز" @@ -2776,1244 +2748,1242 @@ msgstr "ئەڭ يۇقىرى ئاۋاز" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 Extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 Tab" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 Extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 Extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" -msgstr "DL لىپاپا" +msgstr "DL لېپاپ" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" -msgstr "Choukei 2 لىپاپ" +msgstr "Choukei 2 لېپاپ" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" -msgstr "Choukei 3 لىپاپ" +msgstr "Choukei 3 لېپاپ" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" -msgstr "houkei 4 لىپاپ" +msgstr "houkei 4 لېپاپ" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki (پوچتا كارتىسى)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" -msgstr "kahu لىپاپ" +msgstr "kahu لېپاپ" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" -msgstr "kaku2 لىپاپ" +msgstr "kaku2 لېپاپ" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (جاۋاب پوچتا كارتىسى)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" -msgstr "you4 لىپاپ" +msgstr "you4 لېپاپ" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" -msgstr "6x9 لىپاپ" +msgstr "6x9 لېپاپ" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" -msgstr "7x9 لىپاپ" +msgstr "7x9 لېپاپ" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" -msgstr "9x11 لىپاپ" +msgstr "9x11 لېپاپ" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" -msgstr "a2 لىپاپ" +msgstr "a2 لېپاپ" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "ئەگمە A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "ئەگمە B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "ئەگمە C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "ئەگمە D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "ئەگمە E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" -msgstr "c5 لىپاپ" +msgstr "c5 لېپاپ" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" -msgstr "ياۋرۇپا edp" +msgstr "ياۋروپا edp" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "مەمۇرىي" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" -msgstr "FanFold ياۋرۇپا" +msgstr "FanFold ياۋروپا" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold ئا ق ش" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold گېرمانىيە قانۇنى" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "ھۆكۈمەت قانۇنى" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "ھۆكۈمەت خەت-چەك" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6 (پوچتا كارتىسى)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "Invoice" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "تەرمىلەر" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "ئا ق ش قانۇن" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "ئا ق ش قانۇنى زىيادە چوڭ" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" -msgstr "ئا ق ش لىپاپىسى" +msgstr "ئا ق ش لېپاپى" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" -msgstr "ئا ق ش لىپاپىسى زىيادە چوڭ" +msgstr "ئا ق ش لېپاپى زىيادە چوڭ" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" -msgstr "ئا ق ش لىپاپىسى چوڭ" +msgstr "ئا ق ش لېپاپى چوڭ" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" -msgstr "Monarch لىپاپ" +msgstr "Monarch لېپاپ" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" -msgstr "#10 لىپاپ" +msgstr "#10 لېپاپ" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" -msgstr "#11 لىپاپ" +msgstr "#11 لېپاپ" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" -msgstr "#12 لىپاپ" +msgstr "#12 لېپاپ" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" -msgstr "#14 لىپاپ" +msgstr "#14 لېپاپ" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" -msgstr "#9 لىپاپ" +msgstr "#9 لېپاپ" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" -msgstr "شەخسىي لىپاپ" +msgstr "شەخسىي لېپاپ" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "كەڭ فورمات" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" -msgstr "تەكلىپ لىپاپ" +msgstr "تەكلىپ لېپاپ" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" -msgstr "ئىتالىيە لىپاپىسى" +msgstr "ئىتالىيە لېپاپى" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" -msgstr "Postfix لىپاپ" +msgstr "Postfix لېپاپ" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "كىچىك سۈرەت" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" -msgstr "prc1 شەخسىي لىپاپ" +msgstr "prc1 شەخسىي لېپاپ" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" -msgstr "ج خ ج 10 لىپاپ" +msgstr "ج خ ج 10 لېپاپ" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "ج خ ج 16 كەسلەم" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" -msgstr "ج خ ج 2 لىپاپ" +msgstr "ج خ ج 2 لېپاپ" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" -msgstr "ج خ ج 3 لىپاپ" +msgstr "ج خ ج 3 لېپاپ" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "ج خ ج 32 كەسلەم" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" -msgstr "ج خ ج 4 لىپاپ" +msgstr "ج خ ج 4 لېپاپ" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" -msgstr "ج خ ج 5 لىپاپ" +msgstr "ج خ ج 5 لېپاپ" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" -msgstr "ج خ ج 6 لىپاپ" +msgstr "ج خ ج 6 لېپاپ" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" -msgstr "ج خ ج 7 لىپاپ" +msgstr "ج خ ج 7 لېپاپ" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" -msgstr "ج خ ج 8 لىپاپ" +msgstr "ج خ ج 8 لېپاپ" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" -msgstr "ج خ ج 9 لىپاپ" +msgstr "ج خ ج 9 لېپاپ" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ج م 16 كەسلەم" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ج م 8 كەسلەم" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "بېشىغا يازالمىدى\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" -msgstr "باشىغا قايتا يازالمىدى\n" +msgstr "بېشىغا قايتا يازالمىدى\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" -msgstr "مەۋجۇد index.theme نى تەكشۈرمە" +msgstr "مەۋجۇت index.theme نى تەكشۈرمە" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "C باش ھۆججەتنى چىقار" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "تەپسىلىي چىقىرىشنى ياپ" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" -msgstr "مەۋجۇد سىنبەلگە غەملىكىنى دەلىللە" +msgstr "مەۋجۇت سىنبەلگە غەملىكىنى دەلىللە" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "ھۆججەتنى تاپالمىدى: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" "If you really want to create an icon cache here, use --ignore-theme-index.\n" -msgstr "" -"“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" -"ئەگەر بۇ جايغا راستىنلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-" -"index ئىشلىتىڭ\n" +msgstr "“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" +"ئەگەر بۇ جايغا راستىنىلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-index ئىشلىتىڭ\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "ئامخاراچە(EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" -msgstr "IPA " +msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "ئېغىر بىسىم" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "تايلاند-لائۇس" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "تىگرىگنا-ئېرىترىيە(EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "ۋيېتنامچە(VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "X كىرگۈزگۈچ" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "ئىشلەتكۈچى ئاتى:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "ئىم:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "%s دا دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "دائىرە:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "'%s' پرىنتېردا قەغەز كەم." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format msgid "Printer '%s' is currently offline." -msgstr "'%s' پرىنتېر نۆۋەتتە تورسىز." +msgstr "'%s' پرىنتېر نۆۋەتتە توردا يوق." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "'%s' پرىنتېردا مەسىلە بار." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" -msgstr "ۋاقىتلىق توختىلدى؛ ۋەزىپىنى رەت قىلىدۇ" +msgstr "ۋاقىتلىق توختىتىلدى؛ ۋەزىپىنى رەت قىلىدۇ" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "ۋەزىپىنى رەت قىلىدۇ" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "قوش يۈزلۈك" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "قەغەز تىپى" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "قەغەز مەنبەسى" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "قەغەز چىقارغۇچ" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "ئېنىقلىق" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript ئالدىن سۈزگۈچ" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "تاق تەرەپلىك" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "ئۇزۇن يان (ئۆلچەملىك)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "قىسقا يان (ئۆرۈ)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "ئۆزلۈكىدىن تاللا" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "ئالدىن تەڭشەلگەن پرىنتېر" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "PS دەرىجە 1 گە ئايلاندۇر" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "PS دەرىجە 2 گە ئايلاندۇر" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "ئالدىن سۈزگۈچ يوق" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "باشقىلار" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "جىددىي" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" -msgstr "يۇقىرى" +msgstr "ئېگىز" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "ئوتتۇرا" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "تۆۋەن" @@ -4021,66 +3991,66 @@ msgstr "تۆۋەن" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "ھەر ۋاراق بەت سانى" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "ۋەزىپە ئالدىنلىق" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "ھەق ھېسابلاش ئۇچۇرى" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "يوق" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "تۈرگە ئايرىلغان" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "مەخپىي" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "سىر" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "ئۆلچەملىك" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "قەتئىي مەخپىي" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "بۆلۈنمىگەن" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "ئاۋۋال" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "داۋامى" @@ -4088,14 +4058,14 @@ msgstr "داۋامى" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "باسىدۇ" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" @@ -4103,110 +4073,111 @@ msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "ئىختىيارى %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "چىقىش.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:493 msgid "Print to File" msgstr "ھۆججەتكە باس" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "ھەر ۋاراق بەت سانى(_S):" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:641 msgid "File" msgstr "ھۆججەت" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:651 msgid "_Output format" msgstr "چىقىرىش فورماتى(_O)" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "LPR غا باس" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "ھەر ۋاراقتىكى بەت سانى" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "بۇيرۇق قۇرى" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "پرىنتېر ئۈزۈك ھالەتتە" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "بېسىشقا تەييار" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" -msgstr "ۋەزىپىنى بىر تەرپ قىلىۋاتىدۇ" +msgstr "ۋەزىپىنى بىر تەرەپ قىلىۋاتىدۇ" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "ۋاقىتلىق توختىتىلدى" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "نامەلۇم" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "test-output.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "سىناق پرىنتېردا باس" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "" -"'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن " -"بولۇشى مۇمكىن" +msgstr "'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" + +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" #~ msgid "Gdk debugging flags to set" #~ msgstr "Gdk سازلاش تەڭشەك بەلگىسى" From abb98246ff113b369f9f73666988a0cace59e019 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 14 Nov 2010 01:21:35 +0100 Subject: [PATCH 0238/1463] docs: Update URL of some documentation links http://developer.gnome.org -> http://library.gnome.org --- HACKING | 2 +- INSTALL.in | 3 +-- README.in | 2 +- docs/reference/gtk/question_index.sgml | 2 +- gtk/gtkdialog.c | 2 +- gtk/gtkwidget.c | 3 ++- modules/engines/ms-windows/msw_style.c | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/HACKING b/HACKING index 91dd2156ea..61024eef91 100644 --- a/HACKING +++ b/HACKING @@ -13,7 +13,7 @@ fine GNU mirrors. Beta software can be found at alpha.gnu.org. Up-to-date instructions about developing GNOME applications and libraries can be found here: - http://developer.gnome.org + http://library.gnome.org/devel/ Information about using git with GNOME can be found here: diff --git a/INSTALL.in b/INSTALL.in index 93de19eaa7..d3c7f05c03 100644 --- a/INSTALL.in +++ b/INSTALL.in @@ -31,5 +31,4 @@ in the file: Or online at: - http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html - + http://library.gnome.org/devel/gtk/stable/gtk-building.html diff --git a/README.in b/README.in index bcd8c4efba..e2084bbc0f 100644 --- a/README.in +++ b/README.in @@ -254,7 +254,7 @@ Release notes for 2.10 GTK_OBJECT_IS_FLOATING() will still work, but direct checking of the GTK_FLOATING flag will no longer detect the floating reference. Details about floating references can be found in the docs: - http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref + http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#floating-ref * Accelerators like (_F) are now stripped from labels when they are displayed in toolbars. If this is not wanted, the feature can be diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 731978446a..f4c6a52553 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -39,7 +39,7 @@ The GTK+ website offers a tutorial and a FAQ. More documentation ranging from whitepapers to online books can be found at the -GNOME developer's site. +GNOME developer's site. After studying these materials you should be well prepared to come back to this reference manual for details.
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 22c32ce5fe..b765b72aff 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -1132,7 +1132,7 @@ gtk_dialog_set_alternative_button_order_valist (GtkDialog *dialog, * response ids passed to this function. * * By default, GTK+ dialogs use the button order advocated by the Gnome - * Human + * Human * Interface Guidelines with the affirmative button at the far * right, and the cancel button left of it. But the builtin GTK+ dialogs * and #GtkMessageDialogs do provide an alternative button order, diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 87eca07f73..9eec35ce4b 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11100,7 +11100,8 @@ G_DEFINE_BOXED_TYPE (GtkRequisition, gtk_requisition, * instance in question, it will inherit an #AtkObject implementation from the * first ancestor class for which such an implementation is defined. * - * The documentation of the ATK + * The documentation of the + * ATK * library contains more information about accessible objects and their uses. * * Returns: (transfer none): the #AtkObject associated with @widget diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index 5df544715f..aabcb0d0d9 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -467,7 +467,7 @@ msw_style_setup_system_settings (void) setup_menu_settings (settings); /* - http://developer.gnome.org/doc/API/2.0/gtk/GtkSettings.html + http://library.gnome.org/devel/gtk/stable/GtkSettings.html http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/systemparametersinfo.asp http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sysinfo/base/getsystemmetrics.asp */ } From 333ff7dbfc31aef50853da6eb41b1800e9e21816 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 14 Nov 2010 01:55:23 +0100 Subject: [PATCH 0239/1463] docs: Do not refer to deprecated GNOME2 porting guide But to the related sections of Pango manual --- docs/reference/gtk/question_index.sgml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index f4c6a52553..8b9c3c0f8c 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -469,9 +469,9 @@ Do not use the deprecated #GdkFont and gdk_draw_text().
-See also the "Text Handling in GTK 2" section of -Porting applications -to the GNOME 2.0 platform. +See also the +Cairo Rendering +section of Pango manual. @@ -502,9 +502,9 @@ Do not use the deprecated function gdk_text_width(). -See also the "Text Handling in GTK 2" section of -Porting applications -to the GNOME 2.0 platform. +See also the +Layout Objects +section of Pango manual. From a00cd60540a38c35ddabe0497b5f821a4673be15 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Sun, 14 Nov 2010 12:39:48 +0100 Subject: [PATCH 0240/1463] docs: Mention that tooltip_column text should be escaped in GtkIconView --- gtk/gtkiconview.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 6345682daa..c080bba048 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -5227,6 +5227,9 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget *widget, * When enabled, #GtkWidget::has-tooltip will be set to %TRUE and * @icon_view will connect a #GtkWidget::query-tooltip signal handler. * + * Note that the signal handler sets the text with gtk_tooltip_set_markup(), + * so &, <, etc have to be escaped in the text. + * * Since: 2.12 */ void From bad8d0b8e6a5b2eb531f1d7e5203d46f235f00ae Mon Sep 17 00:00:00 2001 From: Bruce Cowan Date: Sun, 14 Nov 2010 14:35:29 +0000 Subject: [PATCH 0241/1463] Updated British English translation --- po/en_GB.po | 1738 ++++++++++++++++++++++++++------------------------- 1 file changed, 873 insertions(+), 865 deletions(-) diff --git a/po/en_GB.po b/po/en_GB.po index f038d9ebf7..5cc7c22485 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -2,77 +2,77 @@ # Copyright (C) 2004 GTK+'s COPYRIGHT HOLDER # This file is distributed under the same licence as the gtk+ package. # Abigail Brady , Gareth Owen 2004 -# Bruce Cowan , 2009, 2010. +# Bruce Cowan , 2009, 2010. # Philip Withnall , 2010. msgid "" msgstr "" "Project-Id-Version: gtk+\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-02-24 16:36+0100\n" -"Last-Translator: Philip Withnall \n" +"POT-Creation-Date: 2010-11-14 14:33+0000\n" +"PO-Revision-Date: 2010-11-14 14:34+0100\n" +"Last-Translator: Bruce Cowan \n" "Language-Team: British English \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.5.2\n" +"X-Generator: Virtaal 0.6.1\n" "X-Poedit-Language: English\n" "X-Poedit-Country: UNITED KINGDOM\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:104 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Error parsing option --gdk-debug" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:124 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Error parsing option --gdk-no-debug" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:152 msgid "Program class as used by the window manager" msgstr "Program class as used by the window manager" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:153 msgid "CLASS" msgstr "CLASS" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:155 msgid "Program name as used by the window manager" msgstr "Program name as used by the window manager" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:156 msgid "NAME" msgstr "NAME" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:158 msgid "X display to use" msgstr "X display to use" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:159 msgid "DISPLAY" msgstr "DISPLAY" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:161 msgid "X screen to use" msgstr "X screen to use" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:162 msgid "SCREEN" msgstr "SCREEN" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 +#: ../gdk/gdk.c:165 msgid "GDK debugging flags to set" msgstr "GDK debugging flags to set" @@ -80,241 +80,241 @@ msgstr "GDK debugging flags to set" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "FLAGS" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to unset" msgstr "GDK debugging flags to unset" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "BackSpace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tab" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Return" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_key" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Left" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Up" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Right" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Down" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Space" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Left" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Up" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Right" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Down" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "Don't batch GDI requests" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "Don't use the Wintab API for tablet support" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "Same as --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Do use the Wintab API [default]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "Size of the palette in 8 bit mode" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "COLOURS" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "Starting %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "Opening %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" @@ -322,62 +322,62 @@ msgstr[0] "Opening %d Item" msgstr[1] "Opening %d Items" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "Make X calls synchronous" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "Licence" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "The licence of the program" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "C_redits" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "_Licence" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "Could not show link" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "About %s" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "Credits" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "Written by" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "Documented by" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "Translated by" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "Artwork by" @@ -386,7 +386,7 @@ msgstr "Artwork by" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -396,7 +396,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -406,7 +406,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -416,7 +416,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -426,7 +426,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -436,37 +436,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Invalid type function on line %d: '%s'" -#: gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:407 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "Duplicate object ID '%s' on line %d (previously on line %d)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "Invalid root element: '%s'" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "Unhandled tag: '%s'" @@ -481,7 +481,7 @@ msgstr "Unhandled tag: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:MY" @@ -489,7 +489,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -498,7 +498,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -513,7 +513,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -529,7 +529,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -545,7 +545,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -553,7 +553,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "Disabled" @@ -562,7 +562,7 @@ msgstr "Disabled" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "Invalid" @@ -571,25 +571,25 @@ msgstr "Invalid" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "New accelerator…" -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "Pick a Colour" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "Received invalid colour data\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -597,7 +597,7 @@ msgstr "" "Select the colour you want from the outer ring. Select the darkness or " "lightness of that colour using the inner triangle." -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -605,67 +605,67 @@ msgstr "" "Click the eyedropper, then click a colour anywhere on your screen to select " "that colour." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "_Hue:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "Position on the colour wheel." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "_Saturation:" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." msgstr "Intensity of the colour." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "_Value:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "Brightness of the colour." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "_Red:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "Amount of red light in the colour." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "_Green:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "Amount of green light in the colour." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "_Blue:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "Amount of blue light in the colour." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "Op_acity:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "Transparency of the colour." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "Colour _name:" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -673,15 +673,15 @@ msgstr "" "You can enter an HTML-style hexadecimal colour value, or simply a colour " "name such as 'orange' in this entry." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "_Palette:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "Colour Wheel" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -691,7 +691,7 @@ msgstr "" "selecting now. You can drag this colour to a palette entry, or select this " "colour as current by dragging it to the other colour swatch alongside." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -699,7 +699,7 @@ msgstr "" "The colour you've chosen. You can drag this colour to a palette entry to " "save it for use in the future." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -707,15 +707,15 @@ msgstr "" "The previously-selected colour, for comparison to the colour you're " "selecting now." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "The colour you've chosen." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "_Save colour here" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -724,7 +724,7 @@ msgstr "" "entry, drag a colour swatch here or right-click it and select \"Save colour " "here.\"" -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "Colour Selection" @@ -734,124 +734,124 @@ msgstr "Colour Selection" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "Manage Custom Sizes" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "inch" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "Margins from Printer…" -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "Custom Size %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "_Width:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "_Height:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "Paper Size" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "_Top:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "_Bottom:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "_Left:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "_Right:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "Paper Margins" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "Input _Methods" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "_Insert Unicode Control Character" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock and Num Lock are on" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10068 msgid "Num Lock is on" msgstr "Num Lock is on" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "Caps Lock is on" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "Select A File" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "Desktop" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(None)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Other…" -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "Type name of new folder" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "Could not retrieve information about the file" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "Could not add a bookmark" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "Could not remove bookmark" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "The folder could not be created" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -859,11 +859,19 @@ msgstr "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "Invalid file name" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "The folder contents could not be displayed" @@ -871,201 +879,201 @@ msgstr "The folder contents could not be displayed" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s on %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "Search" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "Recently Used" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "Select which types of files are shown" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Add the folder '%s' to the bookmarks" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Add the current folder to the bookmarks" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Add the selected folders to the bookmarks" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "Remove the bookmark '%s'" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "Bookmark '%s' cannot be removed" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "Remove the selected bookmark" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "Remove" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." msgstr "Rename…" #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "Places" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "_Places" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "_Add" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "Add the selected folder to the Bookmarks" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "_Remove" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "Could not select file" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "_Add to Bookmarks" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "Show _Hidden Files" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "Show _Size Column" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "Files" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "Name" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "Size" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "Modified" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Name:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" msgstr "_Browse for other folders" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "Type a file name" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "Create Fo_lder" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "_Location:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "Save in _folder:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "Create in _folder:" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "Could not read the contents of %s" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "Could not read the contents of the folder" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "Unknown" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "Yesterday at %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "Cannot change to folder because it is not local" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "Shortcut %s already exists" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "Shortcut %s does not exist" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "A file named \"%s\" already exists. Do you want to replace it?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "The file already exists in \"%s\". Replacing it will overwrite its contents." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Replace" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "Could not start the search process" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1073,36 +1081,36 @@ msgstr "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "Could not send the search request" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "Search:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "Could not mount %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "Invalid path" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "No match" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "Sole completion" @@ -1110,13 +1118,13 @@ msgstr "Sole completion" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "Complete, but not unique" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "Completing…" @@ -1124,7 +1132,7 @@ msgstr "Completing…" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "Only local files may be selected" @@ -1132,80 +1140,75 @@ msgstr "Only local files may be selected" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "Incomplete hostname; end it with '/'" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "Path does not exist" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Error creating folder '%s': %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "File System" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Pick a Font" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Font" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "_Family:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "_Style:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "Si_ze:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_Preview:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Font Selection" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "Error loading icon: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1218,75 +1221,75 @@ msgstr "" "You can get a copy from:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "Icon '%s' not present in theme" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "Failed to load icon" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "Simple" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "System" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "None" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "System (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6214 msgid "_Open Link" msgstr "_Open Link" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6226 msgid "Copy _Link Address" msgstr "Copy _Link Address" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "Copy URL" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "Invalid URI" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "Load additional GTK+ modules" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "MODULES" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "Make all warnings fatal" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "GTK+ debugging flags to set" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "GTK+ debugging flags to unset" @@ -1295,122 +1298,122 @@ msgstr "GTK+ debugging flags to unset" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "Cannot open display: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "GTK+ Options" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "Show GTK+ Options" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "Co_nnect" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "Connect _anonymously" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "Connect as u_ser:" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "_Username:" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "_Domain:" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "_Password:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "Forget password _immediately" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "Remember password until you _logout" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "Remember _forever" -#: gtk/gtkmountoperation.c:883 +#: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" msgstr "Unknown Application (PID %d)" -#: gtk/gtkmountoperation.c:1066 -#, c-format +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "Unable to end process" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "_End Process" -#: gtk/gtkmountoperation-stub.c:64 +#: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." msgstr "Cannot kill process with PID %d. Operation is not implemented." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "Terminal Pager" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Top Command" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 +#: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" msgstr "Cannot end process with PID %d: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "Page %u" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Not a valid page setup file" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "Any Printer" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "For portable documents" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1425,51 +1428,51 @@ msgstr "" " Top: %s %s\n" " Bottom: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." msgstr "Manage Custom Sizes…" -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "_Format for:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "_Paper size:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "_Orientation:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "Page Setup" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Up Path" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Down Path" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "File System Root" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "Authentication" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Not available" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "Select a folder" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "_Save in folder:" @@ -1477,188 +1480,185 @@ msgstr "_Save in folder:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s job #%d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "Initial state" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "Preparing to print" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "Generating data" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "Sending data" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "Waiting" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Blocking on issue" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "Printing" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "Finished" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "Finished with error" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "Preparing %d" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "Preparing" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "Printing %d" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "Error creating print preview" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "" "The most probable reason is that a temporary file could not be created." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "Error launching preview" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Application" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "Printer offline" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "Out of paper" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "Paused" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "Need user intervention" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "Custom size" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "No printer found" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "Invalid argument to CreateDC" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Error from StartDoc" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "Not enough free memory" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "Invalid argument to PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "Invalid pointer to PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "Invalid handle to PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Unspecified error" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Getting printer information failed" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Getting printer information…" -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "Printer" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "Location" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "Status" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "Range" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "_All Pages" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "C_urrent Page" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "Se_lection" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "Pag_es:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1666,28 +1666,28 @@ msgstr "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr "Pages" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "Copies" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "Copie_s:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "C_ollate" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "_Reverse" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" msgstr "General" @@ -1697,168 +1697,168 @@ msgstr "General" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "Left to right, top to bottom" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "Left to right, bottom to top" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "Right to left, top to bottom" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "Right to left, bottom to top" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "Top to bottom, left to right" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "Top to bottom, right to left" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "Bottom to top, left to right" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "Bottom to top, right to left" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Page Ordering" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "Left to right" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "Right to left" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "Top to bottom" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "Bottom to top" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "Layout" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "T_wo-sided:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "Pages per _side:" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "Page or_dering:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "_Only print:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "All sheets" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "Even sheets" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "Odd sheets" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "Sc_ale:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "Paper" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "Paper _type:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "Paper _source:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "Output t_ray:" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "Or_ientation:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "Portrait" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "Landscape" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "Reverse portrait" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "Reverse landscape" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "Job Details" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "Pri_ority:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "_Billing info:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "Print Document" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "_Now" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "A_t:" @@ -1866,7 +1866,7 @@ msgstr "A_t:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1874,121 +1874,121 @@ msgstr "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "Time of print" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "On _hold" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "Hold the job until it is explicitly released" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "Add Cover Page" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "Be_fore:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "_After:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "Job" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "Advanced" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "Image Quality" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "Colour" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "Finishing" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "Some of the settings in the dialogue conflict" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "Print" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "Unable to find include file: \"%s\"" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Unable to locate image file in pixmap_path: \"%s\"" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "This function is not implemented for widgets of class '%s'" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Select which type of documents are shown" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "No item for URI '%s' found" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "Untitled filter" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "Could not remove item" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "Could not clear list" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "Copy _Location" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "_Remove From List" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "_Clear List" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "Show _Private Resources" @@ -2002,21 +2002,21 @@ msgstr "Show _Private Resources" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "No items found" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "No recently used resource found with URI `%s'" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "Open '%s'" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Unknown item" @@ -2025,7 +2025,7 @@ msgstr "Unknown item" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2034,46 +2034,51 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "Unable to find an item with URI '%s'" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "No registered application with name '%s' for item with URI '%s' found" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Spinner" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "Provides visual indication of progress" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Information" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "Warning" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "Error" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "Question" @@ -2081,694 +2086,694 @@ msgstr "Question" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "_About" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "_Add" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "_Apply" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "_Bold" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "_Cancel" -#: gtk/gtkstock.c:326 +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "_Clear" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "_Close" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "C_onnect" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "_Convert" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "_Copy" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "Cu_t" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "_Delete" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "_Discard" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "_Disconnect" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "_Execute" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "_Edit" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" msgstr "_File" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "_Find" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "Find and _Replace" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "_Floppy" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "_Fullscreen" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "_Leave Fullscreen" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "_Bottom" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "_First" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "_Last" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "_Top" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "_Back" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "_Down" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "_Forward" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "_Up" -#: gtk/gtkstock.c:360 +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" msgstr "_Hard Disk" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "_Help" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "_Home" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "Increase Indent" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "Decrease Indent" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "_Index" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "_Information" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "_Italic" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "_Jump to" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "_Centre" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "_Fill" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "_Left" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "_Right" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "_Forward" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "_Next" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "P_ause" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "_Play" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "Pre_vious" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "_Record" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "R_ewind" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "_Stop" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "_Network" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "_New" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "_No" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "_OK" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "_Open" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "Landscape" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "Portrait" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "Reverse landscape" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "Reverse portrait" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "Page Set_up" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "_Paste" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "_Preferences" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "_Print" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "Print Pre_view" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "_Properties" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "_Quit" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "_Redo" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "_Refresh" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "_Remove" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "_Revert" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "_Save" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "Save _As" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "Select _All" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "_Colour" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "_Font" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "_Ascending" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "_Descending" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "_Spell Check" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "_Stop" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "_Strikethrough" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "_Undelete" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "_Underline" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "_Undo" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "_Yes" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "_Normal Size" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "Best _Fit" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "Zoom _In" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "Zoom _Out" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "Unknown error when trying to deserialise %s" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "No deserialise function found for format %s" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Both \"id\" and \"name\" were found on the <%s> element" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "The attribute \"%s\" was found twice on the <%s> element" -#: gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:855 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s> element has invalid ID \"%s\"" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> element has neither a \"name\" nor an \"id\" attribute" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Attribute \"%s\" repeated twice on the same <%s> element" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Attribute \"%s\" is invalid on <%s> element in this context" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Tag \"%s\" has not been defined." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "Anonymous tag found and tags can not be created." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Tag \"%s\" does not exist in buffer and tags can not be created." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Element <%s> is not allowed below <%s>" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" is not a valid attribute type" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" is not a valid attribute name" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" is not a valid value for attribute \"%s\"" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "Tag \"%s\" already defined" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Tag \"%s\" has invalid priority \"%s\"" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Outermost element in text must be not <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "A <%s> element has already been specified" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr "A element can't occur before a element" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "Serialised data is malformed" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "Serialised data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM _Left-to-right mark" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM _Right-to-left mark" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE Left-to-right _embedding" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE Right-to-left e_mbedding" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO Left-to-right _override" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO Right-to-left o_verride" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF _Pop directional formatting" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS _Zero width space" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ Zero width _joiner" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ Zero width _non-joiner" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "Unable to locate theme engine in module_path: \"%s\"," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Unexpected start tag '%s' on line %d char %d" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Unexpected character data on line %d char %d" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "Empty" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "Volume" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "Turns volume down or up" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "Adjusts the volume" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "Volume Down" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "Decreases the volume" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "Volume Up" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "Increases the volume" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "Muted" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "Full Volume" @@ -2777,932 +2782,932 @@ msgstr "Full Volume" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 Extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 Tab" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 Extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 Extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "DL Envelope" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Choukei 2 Envelope" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Choukei 3 Envelope" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Choukei 4 Envelope" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki (postcard)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "kahu Envelope" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "kaku2 Envelope" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (reply postcard)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "you4 Envelope" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9 Envelope" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9 Envelope" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11 Envelope" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "a2 Envelope" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "c5 Envelope" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "European edp" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executive" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "FanFold European" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold German Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6 (postcard)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "Invoice" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tabloid" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monarch Envelope" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "#10 Envelope" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "#11 Envelope" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "#12 Envelope" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "#14 Envelope" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "#9 Envelope" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "Personal Envelope" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "Wide Format" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "Invite Envelope" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "Italian Envelope" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix Envelope" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "Small Photo" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1 Envelope" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10 Envelope" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2 Envelope" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3 Envelope" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4 Envelope" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "prc5 Envelope" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "prc6 Envelope" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7 Envelope" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8 Envelope" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc9 Envelope" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "different idatas found for symlinked '%s' and '%s'\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "Failed to write header\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "Failed to write hash table\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "Failed to write folder index\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "Failed to rewrite header\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Failed to open file %s : %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Failed to write cache file: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "The generated cache was invalid.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Could not rename %s to %s: %s, removing %s then.\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Could not rename %s to %s: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "Could not rename %s back to %s: %s.\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "Cache file created successfully.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "Overwrite an existing cache, even if up to date" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "Don't check for the existence of index.theme" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "Don't include image data in the cache" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "Output a C header file" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "Turn off verbose output" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "Validate existing icon cache" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "File not found: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Not a valid icon cache: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "No theme index file.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3712,308 +3717,308 @@ msgstr "" "If you really want to create an icon cache here, use --ignore-theme-index.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Amharic (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "Cedilla" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "Cyrillic (Transliterated)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "Inuktitut (Transliterated)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Thai-Lao" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Tigrigna-Eritrean (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Tigrigna-Ethiopian (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "Vietnamese (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "X Input Method" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "Username:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "Password:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "Authentication is required to get a file from %s" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "Authentication is required to print document '%s' on printer %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Authentication is required to print a document on %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Authentication is required to get attributes of job '%s'" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "Authentication is required to get attributes of a job" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Authentication is required to get attributes of printer %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "Authentication is required to get attributes of a printer" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Authentication is required to get default printer of %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Authentication is required to get printers from %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Authentication is required to get a file from %s" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "Authentication is required on %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "Domain:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Authentication is required to print document '%s'" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "Authentication is required to print this document on printer %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "Authentication is required to print this document" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "Printer '%s' is low on toner." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "Printer '%s' has no toner left." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "Printer '%s' is low on developer." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "Printer '%s' is out of developer." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "Printer '%s' is low on at least one marker supply." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "Printer '%s' is out of at least one marker supply." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "The cover is open on printer '%s'." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "The door is open on printer '%s'." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "Printer '%s' is low on paper." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "Printer '%s' is out of paper." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "Printer '%s' is currently offline." msgstr "Printer '%s' is currently offline." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "There is a problem on printer '%s'." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "Paused ; Rejecting Jobs" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "Rejecting Jobs" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "Paper Type" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "Output Tray" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript pre-filtering" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "One Sided" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "Long Edge (Standard)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "Short Edge (Flip)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "Auto Select" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "Printer Default" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "Embed GhostScript fonts only" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "Convert to PS level 1" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "Convert to PS level 2" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "No pre-filtering" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "Miscellaneous" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "Urgent" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "High" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "Medium" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "Low" @@ -4021,66 +4026,66 @@ msgstr "Low" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "Pages per Sheet" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "Job Priority" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "Billing Info" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "None" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "Classified" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "Confidential" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "Secret" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "Standard" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "Top Secret" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "Unclassified" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "Before" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "After" @@ -4088,14 +4093,14 @@ msgstr "After" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "Print at" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "Print at time" @@ -4103,110 +4108,113 @@ msgstr "Print at time" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "Custom %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "output.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Print to File" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Pages per _sheet:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "File" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "_Output format" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Print to LPR" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Pages Per Sheet" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Command Line" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "printer offline" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "ready to print" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "processing job" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "paused" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "unknown" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "test-output.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Print to Test Printer" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "Could not get information for file '%s': %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "Failed to open file '%s': %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "" "Failed to load image '%s': reason not known, probably a corrupt image file" +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "Error creating folder '%s': %s" + #~ msgid "Gdk debugging flags to set" #~ msgstr "GDK debugging flags to set" From 3166767c36415d210cdbee5131612502769d9f9c Mon Sep 17 00:00:00 2001 From: Jordi Mas Date: Sun, 14 Nov 2010 14:53:24 -0500 Subject: [PATCH 0242/1463] Fixes wrong translation for Catalan --- po-properties/ca.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po-properties/ca.po b/po-properties/ca.po index a33579966a..71410b162a 100644 --- a/po-properties/ca.po +++ b/po-properties/ca.po @@ -3766,7 +3766,7 @@ msgstr "La GtkVBox que conté les etiquetes primària i secundària del diàleg" #: ../gtk/gtkmisc.c:91 msgid "Y align" -msgstr "Alineació X" +msgstr "Alineació Y" #: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" From bb218b08e993b839864a47cbcc776da0e53b075f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 03:18:45 +0100 Subject: [PATCH 0243/1463] docs: Move documentation to inline comments: gdkapplaunchcontext --- docs/reference/gdk/tmpl/.gitignore | 1 + .../gdk/tmpl/gdkapplaunchcontext.sgml | 110 ------------------ gdk/gdkapplaunchcontext.c | 28 +++++ 3 files changed, 29 insertions(+), 110 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/gdkapplaunchcontext.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 9c314b9911..a05bd1c699 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -1,6 +1,7 @@ cairo_interaction.sgml colors.sgml dnd.sgml +gdkapplaunchcontext.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/gdkapplaunchcontext.sgml b/docs/reference/gdk/tmpl/gdkapplaunchcontext.sgml deleted file mode 100644 index 78928a4ebe..0000000000 --- a/docs/reference/gdk/tmpl/gdkapplaunchcontext.sgml +++ /dev/null @@ -1,110 +0,0 @@ - -Application launching - - -Startup notification for applications - - - -GdkAppLaunchContext is an implementation of #GAppLaunchContext that -handles launching an application in a graphical context. It provides -startup notification and allows to launch applications on a specific -screen or workspace. - - -Launching an application - -GdkAppLaunchContext *context; - -context = gdk_app_launch_context_new (); - -gdk_app_launch_context_set_screen (my_screen); -gdk_app_launch_context_set_timestamp (event->time); - -if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error)) - g_warning ("Launching failed: %s\n", error->message); - -g_object_unref (context); - - - - - - - - - - - - - - - - -An opaque structure representing an application launch context. - - - - - - - - -@void: -@Returns: - - - - - - - -@context: -@display: - - - - - - - -@context: -@screen: - - - - - - - -@context: -@desktop: - - - - - - - -@context: -@timestamp: - - - - - - - -@context: -@icon: - - - - - - - -@context: -@icon_name: - - diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c index 46fd99a4fd..1bd4dbbf29 100644 --- a/gdk/gdkapplaunchcontext.c +++ b/gdk/gdkapplaunchcontext.c @@ -29,6 +29,34 @@ #include "gdkintl.h" +/** + * SECTION:gdkapplaunchcontext + * @Short_description: Startup notification for applications + * @Title: Application launching + * + * GdkAppLaunchContext is an implementation of #GAppLaunchContext that + * handles launching an application in a graphical context. It provides + * startup notification and allows to launch applications on a specific + * screen or workspace. + * + * Launching an application + * + * GdkAppLaunchContext *context; + * + * context = gdk_app_launch_context_new (); + * + * gdk_app_launch_context_set_screen (my_screen); + * gdk_app_launch_context_set_timestamp (event->time); + * + * if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error)) + * g_warning ("Launching failed: %s\n", error->message); + * + * g_object_unref (context); + * + * + */ + + static void gdk_app_launch_context_finalize (GObject *object); static gchar * gdk_app_launch_context_get_display (GAppLaunchContext *context, GAppInfo *info, From 236f15c3a908c1240b3c0be098d5f11fc0889f40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 03:37:21 +0100 Subject: [PATCH 0244/1463] docs: Move documentation to inline comments: gdkdisplay --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/gdkdisplay.sgml | 502 ------------------------ gdk/gdkdisplay.c | 26 ++ gdk/gdkdisplay.h | 22 ++ 4 files changed, 49 insertions(+), 502 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/gdkdisplay.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index a05bd1c699..3914941720 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -2,6 +2,7 @@ cairo_interaction.sgml colors.sgml dnd.sgml gdkapplaunchcontext.sgml +gdkdisplay.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/gdkdisplay.sgml b/docs/reference/gdk/tmpl/gdkdisplay.sgml deleted file mode 100644 index 57ace8957e..0000000000 --- a/docs/reference/gdk/tmpl/gdkdisplay.sgml +++ /dev/null @@ -1,502 +0,0 @@ - -GdkDisplay - - -Controls the keyboard/mouse pointer grabs and a set of GdkScreens - - - -#GdkDisplay objects purpose are two fold: - -To grab/ungrab keyboard focus and mouse pointer -To manage and provide information about the #GdkScreen(s) - available for this #GdkDisplay - - - - - #GdkDisplay objects are the GDK representation of the X Display which can be - described as a workstation consisting of a keyboard a pointing - device (such as a mouse) and one or more screens. - It is used to open and keep track of various #GdkScreen objects currently - instanciated by the application. It is also used to grab and release the keyboard - and the mouse pointer. - - - - - - - - - - - - - - - -The GdkDisplay struct is the GDK representation -of an X display. All its fields are private and should not be accessed directly. - - -@Since: 2.2 - - - - - - -@gdkdisplay: the object which received the signal. -@arg1: - - - - - - -@gdkdisplay: the object which received the signal. - - - - - - -@display_name: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@screen_num: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@time_: - - - - - - - -@display: -@time_: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@device: -@Returns: - - - - - - - -@display: - - - - - - - -@display: - - - - - - - -@display: - - - - - - - -@display: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@event: - - - - - - - -@display: -@message_type: -@func: -@data: - - - - - - - -@display: -@msec: - - - - - - - -@display: -@distance: - - - - - - - -@display: -@screen: -@x: -@y: -@mask: - - - - - - - -@display: -@device: -@screen: -@x: -@y: -@mask: - - - - - - - -@display: -@win_x: -@win_y: -@Returns: - - - - - - - -@display: -@device: -@win_x: -@win_y: -@Returns: - - - - -A table of pointers to functions for getting quantities related to -the current pointer position. Each #GdkDisplay has a table of this type, -which can be set using gdk_display_set_pointer_hooks(). - - -This is only useful for such low-level tools as an event recorder. -Applications should never have any reason to use this facility - - -@get_pointer: Obtains the current pointer position and modifier state. - The position is given in coordinates relative to the window containing - the pointer, which is returned in @window. -@window_get_pointer: Obtains the window underneath the mouse pointer. - Current pointer position and modifier state are returned in @x, @y and - @mask. The position is given in coordinates relative to @window. -@window_at_pointer: Obtains the window underneath the mouse pointer, - returning the location of that window in @win_x, @win_y. Returns %NULL - if the window under the mouse pointer is not known to GDK (for example, - belongs to another application). -@Since: 2.2 - - - - - - -@display: -@new_hooks: -@Returns: - - - - - - - -@get_device_state: -@window_get_device_position: -@window_at_device_position: - - - - - - -@display: -@new_hooks: -@Returns: - - - - - - - -@display: -@screen: -@x: -@y: - - - - - - - -@display: -@device: -@screen: -@x: -@y: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@width: -@height: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@selection: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@clipboard_window: -@time_: -@targets: -@n_targets: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 2f3050965a..1dab470c5d 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -34,6 +34,32 @@ #include #include + +/** + * SECTION:gdkdisplay + * @Short_description: Controls the keyboard/mouse pointer grabs and a set of GdkScreens + * @Title: GdkDisplay + * + * #GdkDisplay objects purpose are two fold: + * + * + * To grab/ungrab keyboard focus and mouse pointer + * + * + * To manage and provide information about the #GdkScreen(s) + * available for this #GdkDisplay + * + * + * + * #GdkDisplay objects are the GDK representation of the X Display which can be + * described as a workstation consisting of a keyboard a pointing + * device (such as a mouse) and one or more screens. + * It is used to open and keep track of various #GdkScreen objects currently + * instanciated by the application. It is also used to grab and release the keyboard + * and the mouse pointer. + */ + + enum { OPENED, CLOSED, diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 1b11b696c7..17afa4bfc7 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -132,6 +132,28 @@ struct _GdkDisplayClass gboolean is_error); }; +/** + * GdkDisplayPointerHooks: + * @get_pointer: Obtains the current pointer position and modifier state. + * The position is given in coordinates relative to the screen containing + * the pointer, which is returned in @screen. + * @window_get_pointer: Obtains the window underneath the mouse pointer. + * Current pointer position and modifier state are returned in @x, @y and + * @mask. The position is given in coordinates relative to @window. + * @window_at_pointer: Obtains the window underneath the mouse pointer, + * returning the location of that window in @win_x, @win_y. Returns %NULL + * if the window under the mouse pointer is not known to GDK (for example, + * belongs to another application). + * + * A table of pointers to functions for getting quantities related to + * the current pointer position. Each #GdkDisplay has a table of this type, + * which can be set using gdk_display_set_pointer_hooks(). + * + * This is only useful for such low-level tools as an event recorder. + * Applications should never have any reason to use this facility + * + * Since: 2.2 + */ struct _GdkDisplayPointerHooks { void (*get_pointer) (GdkDisplay *display, From 1a1c4be6c377757de2a6035958ffe60331ec252d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 03:43:54 +0100 Subject: [PATCH 0245/1463] docs: Move documentation to inline comments: gdkdisplaymanager --- docs/reference/gdk/tmpl/.gitignore | 1 + .../reference/gdk/tmpl/gdkdisplaymanager.sgml | 90 ------------------- gdk/gdkdisplaymanager.c | 15 ++-- gdk/gdkdisplaymanager.h | 10 ++- 4 files changed, 19 insertions(+), 97 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/gdkdisplaymanager.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 3914941720..ba7656b246 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -3,6 +3,7 @@ colors.sgml dnd.sgml gdkapplaunchcontext.sgml gdkdisplay.sgml +gdkdisplaymanager.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/gdkdisplaymanager.sgml b/docs/reference/gdk/tmpl/gdkdisplaymanager.sgml deleted file mode 100644 index 253c5eda61..0000000000 --- a/docs/reference/gdk/tmpl/gdkdisplaymanager.sgml +++ /dev/null @@ -1,90 +0,0 @@ - -GdkDisplayManager - - -Maintains a list of all open GdkDisplays - - - -The purpose of the #GdkDisplayManager singleton object is to offer -notification when displays appear or disappear or the default display -changes. - - - - - - - - - - - - - - - -The GdkDisplayManager struct has no interesting -fields. - - -@Since: 2.2 - - - - - - -@gdkdisplaymanager: the object which received the signal. -@arg1: - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@display_manager: -@Returns: - - - - - - - -@display_manager: -@display: - - - - - - - -@display_manager: -@Returns: - - - - - - - -@display: -@Returns: - - diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 5da2c02184..ec975f26fa 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -35,14 +35,19 @@ #include "gdkintl.h" -struct _GdkDisplayManager -{ - GObject parent_instance; -}; +/** + * SECTION:gdkdisplaymanager + * @Short_description: Maintains a list of all open GdkDisplays + * @Title: GdkDisplayManager + * + * The purpose of the #GdkDisplayManager singleton object is to offer + * notification when displays appear or disappear or the default display + * changes. + */ + enum { PROP_0, - PROP_DEFAULT_DISPLAY }; diff --git a/gdk/gdkdisplaymanager.h b/gdk/gdkdisplaymanager.h index 9b0afc9f8a..4d5bd989a4 100644 --- a/gdk/gdkdisplaymanager.h +++ b/gdk/gdkdisplaymanager.h @@ -36,8 +36,6 @@ G_BEGIN_DECLS -typedef struct _GdkDisplayManager GdkDisplayManager; -typedef struct _GdkDisplayManagerClass GdkDisplayManagerClass; #define GDK_TYPE_DISPLAY_MANAGER (gdk_display_manager_get_type ()) #define GDK_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManager)) @@ -46,6 +44,14 @@ typedef struct _GdkDisplayManagerClass GdkDisplayManagerClass; #define GDK_IS_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_MANAGER)) #define GDK_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManagerClass)) +typedef struct _GdkDisplayManager GdkDisplayManager; +typedef struct _GdkDisplayManagerClass GdkDisplayManagerClass; + +struct _GdkDisplayManager +{ + GObject parent_instance; +}; + struct _GdkDisplayManagerClass { GObjectClass parent_class; From 209afbbf1724056477c3748e4ff0eb77e987ad02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 03:51:30 +0100 Subject: [PATCH 0246/1463] docs: Move documentation to inline comments: gdkscreen --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/gdkscreen.sgml | 397 ------------------------- gdk/gdkscreen.c | 16 + gdk/gdkscreen.h | 9 + 4 files changed, 26 insertions(+), 397 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/gdkscreen.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index ba7656b246..902309a258 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -4,6 +4,7 @@ dnd.sgml gdkapplaunchcontext.sgml gdkdisplay.sgml gdkdisplaymanager.sgml +gdkscreen.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/gdkscreen.sgml b/docs/reference/gdk/tmpl/gdkscreen.sgml deleted file mode 100644 index a847db9170..0000000000 --- a/docs/reference/gdk/tmpl/gdkscreen.sgml +++ /dev/null @@ -1,397 +0,0 @@ - -GdkScreen - - -Object representing a physical screen - - - - #GdkScreen objects are the GDK representation of a physical screen. It is used - throughout GDK and GTK+ to specify which screen the top level windows - are to be displayed on. - It is also used to query the screen specification and default settings such as - the default colormap (gdk_screen_get_default_colormap()), - the screen width (gdk_screen_get_width()), etc. - -Note that a screen may consist of multiple monitors which are merged to -form a large screen area. - - - - - - - - - - - - - - - -This is a currently just a placeholder typedef for the first argument of -the @window_at_pointer function in #GdkPointerHooks. It will be used -when GDK gets multihead support. - - -@Since: 2.2 - - - - - - -@gdkscreen: the object which received the signal. - - - - - - -@gdkscreen: the object which received the signal. - - - - - - -@gdkscreen: the object which received the signal. - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@monitor_num: -@dest: - - - - - - - -@screen: -@x: -@y: -@Returns: - - - - - - - -@screen: -@window: -@Returns: - - - - - - - -@screen: -@monitor_num: -@Returns: - - - - - - - -@screen: -@monitor_num: -@Returns: - - - - - - - -@screen: -@monitor_num: -@Returns: - - - - - - - -@screen: -@event: - - - - - - - -@screen: -@name: -@value: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@options: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@dpi: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@working_directory: -@argv: -@envp: -@flags: -@child_setup: -@user_data: -@child_pid: -@error: -@Returns: - - - - - - - -@screen: -@working_directory: -@argv: -@envp: -@flags: -@child_setup: -@user_data: -@child_pid: -@standard_input: -@standard_output: -@standard_error: -@error: -@Returns: - - - - - - - -@screen: -@command_line: -@error: -@Returns: - - diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index 25b22d8aef..57b17ff880 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -30,6 +30,22 @@ #include "gdkintl.h" +/** + * SECTION:gdkscreen + * @Short_description: Object representing a physical screen + * @Title: GdkScreen + * + * #GdkScreen objects are the GDK representation of a physical screen. It is used + * throughout GDK and GTK+ to specify which screen the top level windows + * are to be displayed on. + * It is also used to query the screen specification and default settings such as + * the screen width (gdk_screen_get_width()), etc. + * + * Note that a screen may consist of multiple monitors which are merged to + * form a large screen area. + */ + + static void gdk_screen_finalize (GObject *object); static void gdk_screen_set_property (GObject *object, guint prop_id, diff --git a/gdk/gdkscreen.h b/gdk/gdkscreen.h index 4b27e6034f..208c4cdc89 100644 --- a/gdk/gdkscreen.h +++ b/gdk/gdkscreen.h @@ -43,6 +43,15 @@ typedef struct _GdkScreenClass GdkScreenClass; #define GDK_IS_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN)) #define GDK_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN, GdkScreenClass)) +/** + * GdkScreen: + * + * This is a currently just a placeholder typedef for the first argument of + * the #GdkPointerHooks.window_at_pointer function in #GdkPointerHooks. + * It will be used when GDK gets multihead support. + * + * Since: 2.2 + */ struct _GdkScreen { GObject parent_instance; From 0b61aaacd1f61a4b393c737621f54f9e029af900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 03:55:43 +0100 Subject: [PATCH 0247/1463] docs: move documentation to inline comments: gdktesting --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/gdktesting.sgml | 59 ------------------------- gdk/gdktestutils.h | 11 +++++ 3 files changed, 12 insertions(+), 59 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/gdktesting.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 902309a258..a9b43a3d02 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -5,6 +5,7 @@ gdkapplaunchcontext.sgml gdkdisplay.sgml gdkdisplaymanager.sgml gdkscreen.sgml +gdktesting.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/gdktesting.sgml b/docs/reference/gdk/tmpl/gdktesting.sgml deleted file mode 100644 index f8e787a4a5..0000000000 --- a/docs/reference/gdk/tmpl/gdktesting.sgml +++ /dev/null @@ -1,59 +0,0 @@ - -Testing - - -Test utilities - - - -The functions in this section are intended to be used in test programs. -They allow to simulate some user input. - - - - - - - - - - - - - - - - - - -@window: - - - - - - - -@window: -@x: -@y: -@button: -@modifiers: -@button_pressrelease: -@Returns: - - - - - - - -@window: -@x: -@y: -@keyval: -@modifiers: -@key_pressrelease: -@Returns: - - diff --git a/gdk/gdktestutils.h b/gdk/gdktestutils.h index e9762a4b9d..f88c68b207 100644 --- a/gdk/gdktestutils.h +++ b/gdk/gdktestutils.h @@ -29,6 +29,17 @@ G_BEGIN_DECLS + +/** + * SECTION:gdktesting + * @Short_description: Test utilities + * @Title: Testing + * + * The functions in this section are intended to be used in test programs. + * They allow to simulate some user input. + */ + + /* --- Gdk Test Utility API --- */ void gdk_test_render_sync (GdkWindow *window); gboolean gdk_test_simulate_key (GdkWindow *window, From 145fe4bdc0cd4ec7e622dca30720161a1d157c89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 04:34:40 +0100 Subject: [PATCH 0248/1463] docs: Move documentation to inline comments: gdkkeys --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/keys.sgml | 345 ----------------------------- gdk/gdkkeys.c | 111 +++++++++- gdk/gdkkeys.h | 62 +++++- 4 files changed, 161 insertions(+), 358 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/keys.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index a9b43a3d02..ef29778065 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -6,6 +6,7 @@ gdkdisplay.sgml gdkdisplaymanager.sgml gdkscreen.sgml gdktesting.sgml +keys.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/keys.sgml b/docs/reference/gdk/tmpl/keys.sgml deleted file mode 100644 index 955086dc38..0000000000 --- a/docs/reference/gdk/tmpl/keys.sgml +++ /dev/null @@ -1,345 +0,0 @@ - -Key Values - - -Functions for manipulating keyboard codes - - - -Key values are the codes which are sent whenever a key is pressed or released. -They appear in the keyval field of the -#GdkEventKey structure, which is passed to signal handlers for the -"key-press-event" and "key-release-event" signals. -The complete list of key values can be found in the <gdk/gdkkeysyms.h> -header file. - - -Key values are regularly updated from the upstream X.org X11 implementation, -so new values are added regularly. They will be prefixed with GDK_KEY_ rather -than XF86XK_ or XK_ (for older symbols). - - -Key values can be converted into a string representation using -gdk_keyval_name(). The reverse function, converting a string to a key value, -is provided by gdk_keyval_from_name(). - - -The case of key values can be determined using gdk_keyval_is_upper() and -gdk_keyval_is_lower(). Key values can be converted to upper or lower case -using gdk_keyval_to_upper() and gdk_keyval_to_lower(). - - -When it makes sense, key values can be converted to and from -Unicode characters with gdk_keyval_to_unicode() and gdk_unicode_to_keyval(). - - - -One #GdkKeymap object exists for each user display. gdk_keymap_get_default() -returns the #GdkKeymap for the default display; to obtain keymaps for other -displays, use gdk_keymap_get_for_display(). A keymap -is a mapping from #GdkKeymapKey to key values. You can think of a #GdkKeymapKey -as a representation of a symbol printed on a physical keyboard key. That is, it -contains three pieces of information. First, it contains the hardware keycode; -this is an identifying number for a physical key. Second, it contains the -level of the key. The level indicates which symbol on the -key will be used, in a vertical direction. So on a standard US keyboard, the key -with the number "1" on it also has the exclamation point ("!") character on -it. The level indicates whether to use the "1" or the "!" symbol. The letter -keys are considered to have a lowercase letter at level 0, and an uppercase -letter at level 1, though only the uppercase letter is printed. Third, the -#GdkKeymapKey contains a group; groups are not used on standard US keyboards, -but are used in many other countries. On a keyboard with groups, there can be 3 -or 4 symbols printed on a single key. The group indicates movement in a -horizontal direction. Usually groups are used for two different languages. In -group 0, a key might have two English characters, and in group 1 it might have -two Hebrew characters. The Hebrew characters will be printed on the key next to -the English characters. - - - -In order to use a keymap to interpret a key event, it's necessary to first -convert the keyboard state into an effective group and level. This is done via a -set of rules that varies widely according to type of keyboard and user -configuration. The function gdk_keymap_translate_keyboard_state() accepts a -keyboard state -- consisting of hardware keycode pressed, active modifiers, and -active group -- applies the appropriate rules, and returns the group/level to be -used to index the keymap, along with the modifiers which did not affect the -group and level. i.e. it returns "unconsumed modifiers." The keyboard group may -differ from the effective group used for keymap lookups because some keys don't -have multiple groups - e.g. the Enter key is always in group 0 regardless of -keyboard state. - - - -Note that gdk_keymap_translate_keyboard_state() also returns the keyval, i.e. it -goes ahead and performs the keymap lookup in addition to telling you which -effective group/level values were used for the lookup. #GdkEventKey already -contains this keyval, however, so you don't normally need to call -gdk_keymap_translate_keyboard_state() just to get the keyval. - - - - - - - - - - - - - - - - -A GdkKeymap defines the translation from keyboard state -(including a hardware key, a modifier mask, and active keyboard group) -to a keyval. This translation has two phases. The first phase is -to determine the effective keyboard group and level for the keyboard -state; the second phase is to look up the keycode/group/level triplet -in the keymap and see what keyval it corresponds to. - - - - - - - - -@keymap: the object which received the signal. - - - - - - -@keymap: the object which received the signal. - - - - - - -@gdkkeymap: the object which received the signal. - - - -A GdkKeymapKey is a hardware key that can -be mapped to a keyval. - - -@keycode: the hardware keycode. This is an identifying number for a - physical key. -@group: indicates movement in a horizontal direction. Usually groups are used - for two different languages. In group 0, a key might have two English - characters, and in group 1 it might have two Hebrew characters. The Hebrew - characters will be printed on the key next to the English characters. -@level: indicates which symbol on the key will be used, in a vertical direction. So on a standard US keyboard, the key with the number "1" on it also has the - exclamation point ("!") character on it. The level indicates whether to use - the "1" or the "!" symbol. The letter keys are considered to have a lowercase - letter at level 0, and an uppercase letter at level 1, though only the - uppercase letter is printed. - - - - - - -@void: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@keymap: -@key: -@Returns: - - - - - - - -@keymap: -@hardware_keycode: -@state: -@group: -@keyval: -@effective_group: -@level: -@consumed_modifiers: -@Returns: - - - - - - - -@keymap: -@keyval: -@keys: -@n_keys: -@Returns: - - - - - - - -@keymap: -@hardware_keycode: -@keys: -@keyvals: -@n_entries: -@Returns: - - - - -Returns the direction of the keymap. - - -@keymap: a #GdkKeymap or %NULL to use the default keymap. -Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL. -@Returns: the direction of the keymap. - - - - - - - -@keymap: -@Returns: - - - - - - - -@keymap: -@Returns: - - - - - - - -@keymap: -@Returns: - - - - - - - -@keymap: -@state: - - - - - - - -@keymap: -@state: -@Returns: - - - - -Converts a key name to a key value. - - -@keyval_name: a key name. -@Returns: the corresponding key value, or %GDK_VoidSymbol if the key name is -not a valid key. - - - - - - - -@symbol: -@lower: -@upper: - - - - -Converts a key value to upper case, if applicable. - - -@keyval: a key value. -@Returns: the upper case form of @keyval, or @keyval itself if it is already -in upper case or it is not subject to case conversion. - - - - -Converts a key value to lower case, if applicable. - - -@keyval: a key value. -@Returns: the lower case form of @keyval, or @keyval itself if it is already -in lower case or it is not subject to case conversion. - - - - -Returns %TRUE if the given key value is in upper case. - - -@keyval: a key value. -@Returns: %TRUE if @keyval is in upper case, or if @keyval is not subject to -case conversion. - - - - -Returns %TRUE if the given key value is in lower case. - - -@keyval: a key value. -@Returns: %TRUE if @keyval is in lower case, or if @keyval is not subject to -case conversion. - - - - - - - -@keyval: -@Returns: - - - - - - - -@wc: -@Returns: - - diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index 872576f6d3..e72b8eab98 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -31,6 +31,76 @@ #include "gdkdisplay.h" +/** + * SECTION:keys + * @Short_description: Functions for manipulating keyboard codes + * @Title: Key Values + * + * Key values are the codes which are sent whenever a key is pressed or released. + * They appear in the #GdkEventKey.keyval field of the + * #GdkEventKey structure, which is passed to signal handlers for the + * #GtkWidget::key-press-event and #GtkWidget::key-release-event signals. + * The complete list of key values can be found in the + * <gdk/gdkkeysyms.h> header file. + * + * Key values are regularly updated from the upstream X.org X11 implementation, + * so new values are added regularly. They will be prefixed with GDK_KEY_ rather + * than XF86XK_ or XK_ (for older symbols). + * + * Key values can be converted into a string representation using + * gdk_keyval_name(). The reverse function, converting a string to a key value, + * is provided by gdk_keyval_from_name(). + * + * The case of key values can be determined using gdk_keyval_is_upper() and + * gdk_keyval_is_lower(). Key values can be converted to upper or lower case + * using gdk_keyval_to_upper() and gdk_keyval_to_lower(). + * + * When it makes sense, key values can be converted to and from + * Unicode characters with gdk_keyval_to_unicode() and gdk_unicode_to_keyval(). + * + * + * One #GdkKeymap object exists for each user display. gdk_keymap_get_default() + * returns the #GdkKeymap for the default display; to obtain keymaps for other + * displays, use gdk_keymap_get_for_display(). A keymap + * is a mapping from #GdkKeymapKey to key values. You can think of a #GdkKeymapKey + * as a representation of a symbol printed on a physical keyboard key. That is, it + * contains three pieces of information. First, it contains the hardware keycode; + * this is an identifying number for a physical key. Second, it contains the + * level of the key. The level indicates which symbol on the + * key will be used, in a vertical direction. So on a standard US keyboard, the key + * with the number "1" on it also has the exclamation point ("!") character on + * it. The level indicates whether to use the "1" or the "!" symbol. The letter + * keys are considered to have a lowercase letter at level 0, and an uppercase + * letter at level 1, though only the uppercase letter is printed. Third, the + * #GdkKeymapKey contains a group; groups are not used on standard US keyboards, + * but are used in many other countries. On a keyboard with groups, there can be 3 + * or 4 symbols printed on a single key. The group indicates movement in a + * horizontal direction. Usually groups are used for two different languages. In + * group 0, a key might have two English characters, and in group 1 it might have + * two Hebrew characters. The Hebrew characters will be printed on the key next to + * the English characters. + * + * + * In order to use a keymap to interpret a key event, it's necessary to first + * convert the keyboard state into an effective group and level. This is done via a + * set of rules that varies widely according to type of keyboard and user + * configuration. The function gdk_keymap_translate_keyboard_state() accepts a + * keyboard state -- consisting of hardware keycode pressed, active modifiers, and + * active group -- applies the appropriate rules, and returns the group/level to be + * used to index the keymap, along with the modifiers which did not affect the + * group and level. i.e. it returns "unconsumed modifiers." The keyboard group may + * differ from the effective group used for keymap lookups because some keys don't + * have multiple groups - e.g. the Enter key is always in group 0 regardless of + * keyboard state. + * + * Note that gdk_keymap_translate_keyboard_state() also returns the keyval, i.e. it + * goes ahead and performs the keymap lookup in addition to telling you which + * effective group/level values were used for the lookup. #GdkEventKey already + * contains this keyval, however, so you don't normally need to call + * gdk_keymap_translate_keyboard_state() just to get the keyval. + */ + + enum { DIRECTION_CHANGED, KEYS_CHANGED, @@ -255,6 +325,15 @@ gdk_keyval_convert_case (guint symbol, } #endif +/** + * gdk_keyval_to_upper: + * @keyval: a key value. + * + * Converts a key value to upper case, if applicable. + * + * Returns: the upper case form of @keyval, or @keyval itself if it is already + * in upper case or it is not subject to case conversion. + */ guint gdk_keyval_to_upper (guint keyval) { @@ -265,6 +344,15 @@ gdk_keyval_to_upper (guint keyval) return result; } +/** + * gdk_keyval_to_lower: + * @keyval: a key value. + * + * Converts a key value to lower case, if applicable. + * + * Returns: the lower case form of @keyval, or @keyval itself if it is already + * in lower case or it is not subject to case conversion. + */ guint gdk_keyval_to_lower (guint keyval) { @@ -275,6 +363,15 @@ gdk_keyval_to_lower (guint keyval) return result; } +/** + * gdk_keyval_is_upper: + * @keyval: a key value. + * + * Returns %TRUE if the given key value is in upper case. + * + * Returns: %TRUE if @keyval is in upper case, or if @keyval is not subject to + * case conversion. + */ gboolean gdk_keyval_is_upper (guint keyval) { @@ -288,6 +385,15 @@ gdk_keyval_is_upper (guint keyval) return FALSE; } +/** + * gdk_keyval_is_lower: + * @keyval: a key value. + * + * Returns %TRUE if the given key value is in lower case. + * + * Returns: %TRUE if @keyval is in lower case, or if @keyval is not + * subject to case conversion. + */ gboolean gdk_keyval_is_lower (guint keyval) { @@ -303,10 +409,11 @@ gdk_keyval_is_lower (guint keyval) /** * gdk_keymap_get_default: - * @returns: the #GdkKeymap attached to the default display. * * Returns the #GdkKeymap attached to the default display. - **/ + * + * Returns: the #GdkKeymap attached to the default display. + */ GdkKeymap* gdk_keymap_get_default (void) { diff --git a/gdk/gdkkeys.h b/gdk/gdkkeys.h index 212c680a7c..4551b98905 100644 --- a/gdk/gdkkeys.h +++ b/gdk/gdkkeys.h @@ -35,9 +35,26 @@ G_BEGIN_DECLS + typedef struct _GdkKeymapKey GdkKeymapKey; -/* GdkKeymapKey is a hardware key that can be mapped to a keyval */ +/** + * GdkKeymapKey: + * @keycode: the hardware keycode. This is an identifying number for a + * physical key. + * @group: indicates movement in a horizontal direction. Usually groups are used + * for two different languages. In group 0, a key might have two English + * characters, and in group 1 it might have two Hebrew characters. The Hebrew + * characters will be printed on the key next to the English characters. + * @level: indicates which symbol on the key will be used, in a vertical direction. + * So on a standard US keyboard, the key with the number "1" on it also has the + * exclamation point ("!") character on it. The level indicates whether to use + * the "1" or the "!" symbol. The letter keys are considered to have a lowercase + * letter at level 0, and an uppercase letter at level 1, though only the + * uppercase letter is printed. + * + * A #GdkKeymapKey is a hardware key that can be mapped to a keyval. + */ struct _GdkKeymapKey { guint keycode; @@ -45,16 +62,6 @@ struct _GdkKeymapKey gint level; }; -/* A GdkKeymap defines the translation from keyboard state - * (including a hardware key, a modifier mask, and active keyboard group) - * to a keyval. This translation has two phases. The first phase is - * to determine the effective keyboard group and level for the keyboard - * state; the second phase is to look up the keycode/group/level triplet - * in the keymap and see what keyval it corresponds to. - */ - -typedef struct _GdkKeymap GdkKeymap; -typedef struct _GdkKeymapClass GdkKeymapClass; #define GDK_TYPE_KEYMAP (gdk_keymap_get_type ()) #define GDK_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP, GdkKeymap)) @@ -63,6 +70,19 @@ typedef struct _GdkKeymapClass GdkKeymapClass; #define GDK_IS_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_KEYMAP)) #define GDK_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_KEYMAP, GdkKeymapClass)) +typedef struct _GdkKeymap GdkKeymap; +typedef struct _GdkKeymapClass GdkKeymapClass; + +/** + * GdkKeymap: + * + * A #GdkKeymap defines the translation from keyboard state + * (including a hardware key, a modifier mask, and active keyboard group) + * to a keyval. This translation has two phases. The first phase is + * to determine the effective keyboard group and level for the keyboard + * state; the second phase is to look up the keycode/group/level triplet + * in the keymap and see what keyval it corresponds to. + */ struct _GdkKeymap { GObject parent_instance; @@ -105,6 +125,16 @@ gboolean gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, GdkKeymapKey **keys, guint **keyvals, gint *n_entries); + +/** + * gdk_keymap_get_direction: + * @keymap: a #GdkKeymap or %NULL to use the default keymap. + * + * Returns the direction of the keymap. + * + * Returns: the direction of the keymap, %PANGO_DIRECTION_LTR or + * %PANGO_DIRECTION_RTL. + */ PangoDirection gdk_keymap_get_direction (GdkKeymap *keymap); gboolean gdk_keymap_have_bidi_layouts (GdkKeymap *keymap); gboolean gdk_keymap_get_caps_lock_state (GdkKeymap *keymap); @@ -117,6 +147,16 @@ gboolean gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, /* Key values */ gchar* gdk_keyval_name (guint keyval) G_GNUC_CONST; + +/** + * gdk_keyval_from_name: + * @keyval_name: a key name. + * + * Converts a key name to a key value. + * + * Returns: the corresponding key value, or %GDK_VoidSymbol if the key name is + * not a valid key. + */ guint gdk_keyval_from_name (const gchar *keyval_name); void gdk_keyval_convert_case (guint symbol, guint *lower, From 2909edb3e72f2b75f580d130b031e49e3a8357d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 04:58:21 +0100 Subject: [PATCH 0249/1463] docs: Move documentation to inline comments: general --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/general.sgml | 366 --------------------------- gdk/gdk.c | 68 +++-- gdk/gdkmain.h | 37 +++ gdk/gdktypes.h | 15 +- gdk/gdkwindow.c | 17 +- 6 files changed, 108 insertions(+), 396 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/general.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index ef29778065..5b8a121d69 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -6,6 +6,7 @@ gdkdisplay.sgml gdkdisplaymanager.sgml gdkscreen.sgml gdktesting.sgml +general.sgml keys.sgml pixbufs.sgml regions.sgml diff --git a/docs/reference/gdk/tmpl/general.sgml b/docs/reference/gdk/tmpl/general.sgml deleted file mode 100644 index 089b44d677..0000000000 --- a/docs/reference/gdk/tmpl/general.sgml +++ /dev/null @@ -1,366 +0,0 @@ - -General - - -Library initialization and miscellaneous functions - - - -This section describes the GDK initialization functions and miscellaneous -utility functions. - - - - - - - - - - - - - - - -Initializes the GDK library and connects to the X server. -If initialization fails, a warning message is output and the application -terminates with a call to exit(1). - - -Any arguments used by GDK are removed from the array and @argc and @argv are -updated accordingly. - - -GTK+ initializes GDK in gtk_init() and so this function is not usually needed -by GTK+ applications. - - -@argc: the number of command line arguments. -@argv: the array of command line arguments. - - - - -Initializes the GDK library and connects to the X server, returning %TRUE on -success. - - -Any arguments used by GDK are removed from the array and @argc and @argv are -updated accordingly. - - -GTK+ initializes GDK in gtk_init() and so this function is not usually needed -by GTK+ applications. - - -@argc: the number of command line arguments. -@argv: the array of command line arguments. -@Returns: %TRUE if initialization succeeded. - - - - - - - -@argc: -@argv: - - - - - - - -@void: -@Returns: - - - - -Initializes the support for internationalization by calling the setlocale() -system call. This function is called by gtk_set_locale() and so GTK+ -applications should use that instead. - - -The locale to use is determined by the LANG environment variable, -so to run an application in a certain locale you can do something like this: - - - export LANG="fr" - ... run application ... - - - - -If the locale is not supported by X then it is reset to the standard "C" -locale. - - -@void: -@Returns: the resulting locale. - - - - - - -@sm_client_id: - - - - - - - -@void: - - - - - - - -@startup_id: - - - - -Gets the program class. Unless the program class has explicitly -been set with gdk_set_program_class() or with the -commandline option, the default value is the program name (determined -with g_get_prgname()) with the first character converted to uppercase. - - -@void: -@Returns: the program class. - - - - -Sets the program class. The X11 backend uses the program class to set -the class name part of the WM_CLASS property on -toplevel windows; see the ICCCM. - - -@program_class: a string. - - - - -Gets the name of the display, which usually comes from the DISPLAY -environment variable or the command line option. - - -@void: -@Returns: the name of the display. - - - - -Flushes the X output buffer and waits until all requests have been processed -by the server. This is rarely needed by applications. It's main use is for -trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop(). - - -@void: - - - - - - -@void: -@Returns: - - - - - - -@void: -@Returns: - - - - - - -@void: -@Returns: - - - - - - -@void: -@Returns: - - - - -Grabs the pointer (usually a mouse) so that all events are passed to this -application until the pointer is ungrabbed with gdk_pointer_ungrab(), or -the grab window becomes unviewable. -This overrides any previous pointer grab by this client. - - -Pointer grabs are used for operations which need complete control over mouse -events, even if the mouse leaves the application. -For example in GTK+ it is used for Drag and Drop, for dragging the handle in -the #GtkHPaned and #GtkVPaned widgets, and for resizing columns in #GtkCList -widgets. - - -Note that if the event mask of an X window has selected both button press and -button release events, then a button press event will cause an automatic -pointer grab until the button is released. -X does this automatically since most applications expect to receive button -press and release events in pairs. -It is equivalent to a pointer grab on the window with @owner_events set to -%TRUE. - - -If you set up anything at the time you take the grab that needs to be cleaned -up when the grab ends, you should handle the #GdkEventGrabBroken events that -are emitted when the grab ends unvoluntarily. - - -@window: the #GdkWindow which will own the grab (the grab window). -@owner_events: if %FALSE then all pointer events are reported with respect to -@window and are only reported if selected by @event_mask. If %TRUE then pointer -events for this application are reported as normal, but pointer events outside -this application are reported with respect to @window and only if selected by -@event_mask. In either mode, unreported events are discarded. -@event_mask: specifies the event mask, which is used in accordance with -@owner_events. Note that only pointer events (i.e. button and motion events) - may be selected. -@confine_to: If non-%NULL, the pointer will be confined to this -window during the grab. If the pointer is outside @confine_to, it will -automatically be moved to the closest edge of @confine_to and enter -and leave events will be generated as necessary. -@cursor: the cursor to display while the grab is active. If this is %NULL then -the normal cursors are used for @window and its descendants, and the cursor -for @window is used for all other windows. -@time_: the timestamp of the event which led to this pointer grab. This usually -comes from a #GdkEventButton struct, though %GDK_CURRENT_TIME can be used if -the time isn't known. -@Returns: %GDK_GRAB_SUCCESS if the grab was successful. - - - - -Returned by gdk_pointer_grab() and gdk_keyboard_grab() to indicate -success or the reason for the failure of the grab attempt. - - -@GDK_GRAB_SUCCESS: the resource was successfully grabbed. -@GDK_GRAB_ALREADY_GRABBED: the resource is actively grabbed by another client. -@GDK_GRAB_INVALID_TIME: the resource was grabbed more recently than the - specified time. -@GDK_GRAB_NOT_VIEWABLE: the grab window or the @confine_to window are not - viewable. -@GDK_GRAB_FROZEN: the resource is frozen by an active grab of another client. - - - - - - -@time_: - - - - - - - - -@void: -@Returns: - - - - - - - -@msec: - - - - -Grabs the keyboard so that all events are passed to this -application until the keyboard is ungrabbed with gdk_keyboard_ungrab(). -This overrides any previous keyboard grab by this client. - - -If you set up anything at the time you take the grab that needs to be cleaned -up when the grab ends, you should handle the #GdkEventGrabBroken events that -are emitted when the grab ends unvoluntarily. - - -@window: the #GdkWindow which will own the grab (the grab window). -@owner_events: if %FALSE then all keyboard events are reported with respect to -@window. If %TRUE then keyboard events for this application are reported as -normal, but keyboard events outside this application are reported with respect -to @window. Both key press and key release events are always reported, -independant of the event mask set by the application. -@time_: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is -available. -@Returns: %GDK_GRAB_SUCCESS if the grab was successful. - - - - - - -@time_: - - - - - - -@void: - - - - - - - -@void: - - - - - - - - - - - - - - -@void: - - - - -This macro is defined if GDK is configured to use the X11 backend. - - - - - - -This macro is defined if GDK is configured to use the win32 backend. - - - - diff --git a/gdk/gdk.c b/gdk/gdk.c index ba6582db66..8c701ff6e6 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -38,6 +38,17 @@ #include #include + +/** + * SECTION:general + * @Short_description: Library initialization and miscellaneous functions + * @Title: General + * + * This section describes the GDK initialization functions and miscellaneous + * utility functions. + */ + + typedef struct _GdkPredicate GdkPredicate; struct _GdkPredicate @@ -338,25 +349,19 @@ gdk_display_open_default_libgtk_only (void) /** * gdk_init_check: - * @argc: (inout): - * @argv: (array length=argc) (inout): + * @argc: (inout): the number of command line arguments. + * @argv: (array length=argc) (inout): the array of command line arguments. * - * Initialize the library for use. + * Initializes the GDK library and connects to the X server, returning %TRUE on + * success. * - * Arguments: - * "argc" is the number of arguments. - * "argv" is an array of strings. + * Any arguments used by GDK are removed from the array and @argc and @argv are + * updated accordingly. * - * Results: - * "argc" and "argv" are modified to reflect any arguments - * which were not handled. (Such arguments should either - * be handled by the application or dismissed). If initialization - * fails, returns FALSE, otherwise TRUE. + * GTK+ initializes GDK in gtk_init() and so this function is not usually needed + * by GTK+ applications. * - * Side effects: - * The library is initialized. - * - *-------------------------------------------------------------- + * Returns: %TRUE if initialization succeeded. */ gboolean gdk_init_check (int *argc, @@ -370,8 +375,18 @@ gdk_init_check (int *argc, /** * gdk_init: - * @argc: (inout): - * @argv: (array length=argc) (inout): + * @argc: (inout): the number of command line arguments. + * @argv: (array length=argc) (inout): the array of command line arguments. + * + * Initializes the GDK library and connects to the X server. + * If initialization fails, a warning message is output and the application + * terminates with a call to exit(1). + * + * Any arguments used by GDK are removed from the array and @argc and @argv are + * updated accordingly. + * + * GTK+ initializes GDK in gtk_init() and so this function is not usually needed + * by GTK+ applications. */ void gdk_init (int *argc, char ***argv) @@ -772,13 +787,30 @@ gdk_threads_add_timeout_seconds (guint interval, interval, function, data, NULL); } - +/** + * gdk_get_program_class: + * + * Gets the program class. Unless the program class has explicitly + * been set with gdk_set_program_class() or with the + * commandline option, the default value is the program name (determined + * with g_get_prgname()) with the first character converted to uppercase. + * + * Returns: the program class. + */ G_CONST_RETURN char * gdk_get_program_class (void) { return gdk_progclass; } +/** + * gdk_set_program_class: + * @program_class: a string. + * + * Sets the program class. The X11 backend uses the program class to set + * the class name part of the WM_CLASS property on + * toplevel windows; see the ICCCM. + */ void gdk_set_program_class (const char *program_class) { diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index f2ceaaa4bf..75ffb4e62a 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -50,6 +50,27 @@ gboolean gdk_init_check (gint *argc, void gdk_add_option_entries_libgtk_only (GOptionGroup *group); void gdk_pre_parse_libgtk_only (void); +/** + * gdk_set_locale: + * + * Initializes the support for internationalization by calling the setlocale() + * system call. This function is called by gtk_set_locale() and so GTK+ + * applications should use that instead. + * + * The locale to use is determined by the LANG environment variable, + * so to run an application in a certain locale you can do something like this: + * + * + * export LANG="fr" + * ... run application ... + * + * + * + * If the locale is not supported by X then it is reset to the standard "C" + * locale. + * + * Returns: the resulting locale. + */ gchar* gdk_set_locale (void); void gdk_enable_multidevice (void); @@ -68,6 +89,15 @@ void gdk_error_trap_pop_ignored (void); G_CONST_RETURN gchar *gdk_get_display_arg_name (void); + +/** + * gdk_get_display: + * + * Gets the name of the display, which usually comes from the DISPLAY + * environment variable or the command line option. + * + * Returns: the name of the display. + */ gchar* gdk_get_display (void); #ifndef GDK_MULTIDEVICE_SAFE @@ -102,6 +132,13 @@ void gdk_beep (void); #endif /* GDK_MULTIHEAD_SAFE */ +/** + * gdk_flush: + * + * Flushes the X output buffer and waits until all requests have been processed + * by the server. This is rarely needed by applications. It's main use is for + * trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop(). + */ void gdk_flush (void); G_END_DECLS diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 53937d8ca6..44efa3fa9c 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -196,9 +196,18 @@ typedef enum GDK_ERROR_MEM = -4 } GdkStatus; -/* We define specific numeric values for these constants, - * since old application code may depend on them matching the X values - * We don't actually depend on the matchup ourselves. +/** + * GdkGrabStatus: + * @GDK_GRAB_SUCCESS: the resource was successfully grabbed. + * @GDK_GRAB_ALREADY_GRABBED: the resource is actively grabbed by another client. + * @GDK_GRAB_INVALID_TIME: the resource was grabbed more recently than the + * specified time. + * @GDK_GRAB_NOT_VIEWABLE: the grab window or the @confine_to window are not + * viewable. + * @GDK_GRAB_FROZEN: the resource is frozen by an active grab of another client. + * + * Returned by gdk_pointer_grab() and gdk_keyboard_grab() to indicate + * success or the reason for the failure of the grab attempt. */ typedef enum { diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index d186b4dce5..c2485980f5 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -8864,8 +8864,7 @@ _gdk_display_set_window_under_pointer (GdkDisplay *display, * Pointer grabs are used for operations which need complete control over mouse * events, even if the mouse leaves the application. * For example in GTK+ it is used for Drag and Drop, for dragging the handle in - * the #GtkHPaned and #GtkVPaned widgets, and for resizing columns in #GtkCList - * widgets. + * the #GtkHPaned and #GtkVPaned widgets. * * Note that if the event mask of an X window has selected both button press and * button release events, then a button press event will cause an automatic @@ -8982,13 +8981,13 @@ gdk_pointer_grab (GdkWindow * window, * gdk_keyboard_grab: * @window: the #GdkWindow which will own the grab (the grab window). * @owner_events: if %FALSE then all keyboard events are reported with respect to - * @window. If %TRUE then keyboard events for this application are - * reported as normal, but keyboard events outside this application - * are reported with respect to @window. Both key press and key - * release events are always reported, independant of the event mask - * set by the application. - * @time: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is -available. + * @window. If %TRUE then keyboard events for this application are + * reported as normal, but keyboard events outside this application + * are reported with respect to @window. Both key press and key + * release events are always reported, independant of the event mask + * set by the application. + * @time_: a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is + * available. * * Grabs the keyboard so that all events are passed to this * application until the keyboard is ungrabbed with gdk_keyboard_ungrab(). From 40b7a916a84b2fa4669bac75bf1d876e8988cd20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 05:39:25 +0100 Subject: [PATCH 0250/1463] docs: Remove GdkPixmap template --- docs/reference/gdk/tmpl/pixmaps.sgml | 60 ---------------------------- 1 file changed, 60 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/pixmaps.sgml diff --git a/docs/reference/gdk/tmpl/pixmaps.sgml b/docs/reference/gdk/tmpl/pixmaps.sgml deleted file mode 100644 index c1f1617b34..0000000000 --- a/docs/reference/gdk/tmpl/pixmaps.sgml +++ /dev/null @@ -1,60 +0,0 @@ - -Bitmaps and Pixmaps - - -Offscreen drawables - - - -Pixmaps are offscreen drawables. They can be drawn upon with the -standard drawing primitives, then copied to another drawable (such as -a #GdkWindow). The depth of a pixmap -is the number of bits per pixels. Bitmaps are simply pixmaps -with a depth of 1. (That is, they are monochrome bitmaps - each -pixel can be either on or off). - - - - - - - - - - - - - - -An opaque structure representing an offscreen drawable. -Pointers to structures of type #GdkPixmap, #GdkBitmap, -and #GdkWindow, can often be used interchangeably. -The type #GdkDrawable refers generically to any of -these types. - - - - - -Create a new pixmap with a given size and depth. - - -@drawable: A #GdkDrawable, used to determine default values -for the new pixmap. Can be %NULL if @depth is specified, -@width: The width of the new pixmap in pixels. -@height: The height of the new pixmap in pixels. -@depth: The depth (number of bits per pixel) of the new pixmap. - If -1, and @drawable is not %NULL, the depth of the new - pixmap will be equal to that of @drawable. -@Returns: the #GdkPixmap - - - - -An opaque structure representing an offscreen drawable of depth -1. Pointers to structures of type #GdkPixmap, #GdkBitmap, and -#GdkWindow, can often be used interchangeably. The type #GdkDrawable -refers generically to any of these types. - - - From 4f92875bb1e31913e2d04ef32b030ca6ccedb799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 05:56:00 +0100 Subject: [PATCH 0251/1463] docs: gdkrgba: Add "Since: 3.0" tags --- gdk/gdkrgba.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gdk/gdkrgba.c b/gdk/gdkrgba.c index e50f47f4b5..732cf99190 100644 --- a/gdk/gdkrgba.c +++ b/gdk/gdkrgba.c @@ -45,6 +45,8 @@ G_DEFINE_BOXED_TYPE (GdkRGBA, gdk_rgba, * through gdk_rgba_free(). * * Returns: A newly allocated #GdkRGBA + * + * Since: 3.0 **/ GdkRGBA * gdk_rgba_copy (GdkRGBA *rgba) @@ -65,6 +67,8 @@ gdk_rgba_copy (GdkRGBA *rgba) * @rgba: a #GdkRGBA * * Frees a #GdkRGBA struct created with gdk_rgba_copy() + * + * Since: 3.0 **/ void gdk_rgba_free (GdkRGBA *rgba) @@ -142,6 +146,8 @@ parse_rgb_value (const char *str, * a is a floating point value in the range 0 to 1. * * Returns: %TRUE if the parsing succeeded + * + * Since: 3.0 **/ gboolean gdk_rgba_parse (const gchar *spec, @@ -252,6 +258,8 @@ gdk_rgba_parse (const gchar *spec, * table that stores #GdkRGBAs. * * Return value: The hash function applied to @p + * + * Since: 3.0 **/ guint gdk_rgba_hash (gconstpointer p) @@ -272,6 +280,8 @@ gdk_rgba_hash (gconstpointer p) * Compares two RGBA colors. * * Return value: %TRUE if the two colors compare equal + * + * Since: 3.0 **/ gboolean gdk_rgba_equal (gconstpointer p1, @@ -304,6 +314,8 @@ gdk_rgba_equal (gconstpointer p1, * (These string forms are string forms those supported by the CSS3 colors module) * * Returns: A newly allocated text string + * + * Since: 3.0 **/ gchar * gdk_rgba_to_string (const GdkRGBA *rgba) From 1e3f7ba162eb2fb80b0c3584ee7c89bdb6fa6ab0 Mon Sep 17 00:00:00 2001 From: Petr Kovar Date: Mon, 15 Nov 2010 06:07:55 +0100 Subject: [PATCH 0252/1463] Update Czech translation --- po/cs.po | 1734 +++++++++++++++++++++++++++--------------------------- 1 file changed, 871 insertions(+), 863 deletions(-) diff --git a/po/cs.po b/po/cs.po index 7e9c6109ff..51321482b1 100644 --- a/po/cs.po +++ b/po/cs.po @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-09-15 19:23+0200\n" +"POT-Creation-Date: 2010-11-15 06:07+0100\n" +"PO-Revision-Date: 2010-11-15 06:03+0100\n" "Last-Translator: Petr Kovar \n" "Language-Team: Czech \n" "Language: cs\n" @@ -24,60 +24,60 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -"X-Generator: Lokalize 1.0\n" +"X-Generator: Lokalize 1.1\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:115 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Chyba při analýze přepínače --gdk-debug" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:135 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Chyba při analýze přepínače --gdk-no-debug" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:163 msgid "Program class as used by the window manager" msgstr "Třída programu používaná správcem oken" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:164 msgid "CLASS" msgstr "TŘÍDA" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:166 msgid "Program name as used by the window manager" msgstr "Název programu používaný správcem oken" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:167 msgid "NAME" msgstr "NÁZEV" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:169 msgid "X display to use" msgstr "Displej X, který použije" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:170 msgid "DISPLAY" msgstr "DISPLEJ" #. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 +#: ../gdk/gdk.c:172 msgid "X screen to use" msgstr "Obrazovka X, kterou použije" #. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 +#: ../gdk/gdk.c:173 msgid "SCREEN" msgstr "OBRAZOVKA" #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 +#: ../gdk/gdk.c:176 msgid "GDK debugging flags to set" msgstr "Ladicí příznaky GDK, které nastaví" @@ -85,241 +85,241 @@ msgstr "Ladicí příznaky GDK, které nastaví" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 msgid "FLAGS" msgstr "PŘÍZNAKY" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 +#: ../gdk/gdk.c:179 msgid "GDK debugging flags to unset" msgstr "Ladicí příznaky GDK, jejichž nastavení zruší" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "Backspace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tabulátor" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Enter" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_key" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Vlevo" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Nahoru" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Vpravo" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Dolů" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Mezerník" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tabulátor" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Vlevo" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Nahoru" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Vpravo" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Dolů" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "Nebude dávkovat požadavky GDI" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "Nepoužije API Wintab pro podporu tabletů" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "Totéž jako --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Použije API Wintab [výchozí]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "Velikost palety v osmibitovém režimu" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "BARVY" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Starting %s" msgstr "Spouští se %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 #, c-format msgid "Opening %s" msgstr "Otevírá se %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" @@ -328,62 +328,62 @@ msgstr[1] "Otevírání %d položek" msgstr[2] "Otevírání %d položek" #. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "Provede volání X synchronně" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:101 #, c-format msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "Licence" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:340 msgid "The license of the program" msgstr "Licence programu" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "Zá_sluhy" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "_Licence" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "Nelze zobrazit odkaz" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "O aplikaci %s" -#: gtk/gtkaboutdialog.c:2153 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "Zásluhy" -#: gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "Napsali" -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "Zdokumentovali" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "Přeložili" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "Grafika" @@ -392,7 +392,7 @@ msgstr "Grafika" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -402,7 +402,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -412,7 +412,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -422,7 +422,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -432,7 +432,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -442,37 +442,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Mezerník" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Zpětné lomítko" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Neplatná funkce typu na řádku %d: \"%s\"" -#: gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:407 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "Duplicitní ID objektu \"%s\" na řádku %d (dříve na řádku %d)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "Neplatný kořenový prvek: \"%s\"" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "Neobsloužená značka: \"%s\"" @@ -487,7 +487,7 @@ msgstr "Neobsloužená značka: \"%s\"" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:MY" @@ -495,7 +495,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -504,7 +504,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -519,7 +519,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -535,7 +535,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -551,7 +551,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -559,7 +559,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "Vypnuto" @@ -568,7 +568,7 @@ msgstr "Vypnuto" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "Neplatné" @@ -577,25 +577,25 @@ msgstr "Neplatné" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "Nová klávesová zkratka..." -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "Vybrat barvu" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "Přijata neplatná data barvy\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -603,74 +603,74 @@ msgstr "" "Vyberte požadovanou barvu z vnějšího kruhu. Tmavost nebo světlost barvy " "vyberte pomocí vnitřního trojúhelníku." -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "Klikněte na kapátko, pak vyberte barvu kliknutím kdekoli na obrazovce." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "_Odstín:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "Pozice na barevném kotouči." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "_Sytost:" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:453 #, fuzzy msgid "Intensity of the color." msgstr "Průhlednost barvy." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "_Hodnota:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "Jas barvy." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "Če_rvená:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "Množství červeného světla v barvě." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "_Zelená:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "Množství zeleného světla v barvě." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "_Modrá:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "Množství modrého světla v barvě." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "_Krytí:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "Průhlednost barvy." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "_Název barvy:" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -678,15 +678,15 @@ msgstr "" "Můžete zadat hexadecimální hodnotu barvy ve stylu HTML, nebo jednoduše název " "barvy, například \"orange\"." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "_Paleta:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "Barevný kotouč" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -696,7 +696,7 @@ msgstr "" "barvu můžete přetáhnout do položky palety nebo vybrat jako aktuální " "přetažením na ukazatel druhé barvy." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -704,21 +704,21 @@ msgstr "" "Barva, kterou jste vybrali. Tuto barvu můžete přetáhnout do položky palety, " "a tím ji uložit pro budoucí použití." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "Dříve vybraná barva, pro porovnání s barvou, kterou vybíráte nyní." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "Barva, kterou jste vybrali." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "_Uložit barvu zde" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -727,7 +727,7 @@ msgstr "" "palety změnit, přetáhněte na její místo jinou barvu, nebo klikněte pravým " "tlačítkem myši a vyberte \"Uložit barvu zde\"." -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "Výběr barvy" @@ -737,125 +737,125 @@ msgstr "Výběr barvy" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 msgid "Manage Custom Sizes" msgstr "Spravovat vlastní velikosti" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "palec" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "Okraje z tiskárny..." -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "Vlastní velikost %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "Šíř_ka:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "_Výška:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "Rozměry papíru" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "_Horní:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "_Dolní:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "_Levý:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "P_ravý:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "Okraje papíru" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "Vstupní _metody" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "Vloži_t řídící znak Unicode" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10066 msgid "Caps Lock and Num Lock are on" msgstr "" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10068 #, fuzzy msgid "Num Lock is on" msgstr "Funkce Caps Lock je zapnuta" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10070 msgid "Caps Lock is on" msgstr "Funkce Caps Lock je zapnuta" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "Zvolte soubor" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "Pracovní plocha" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(Žádný)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Jiné..." -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "Zadání názvu nové složky" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "O souboru nelze získat informace" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "Nelze přidat záložku" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "Nelze odstranit záložku" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "Složku nelze vytvořit" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -863,11 +863,19 @@ msgstr "" "Složku nelze vytvořit, protože již existuje soubor se stejným názvem. Zkuste " "pro složku použít jiný název, nebo nejprve přejmenovat soubor." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" +"Vybrat lze pouze složky. Vybraná položka není složkou; zkuste použít jinou " +"položku." + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "Neplatný název souboru" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "Obsah složky nelze zobrazit" @@ -875,200 +883,200 @@ msgstr "Obsah složky nelze zobrazit" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s na %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "Hledat" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 msgid "Recently Used" msgstr "Naposledy použité" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2430 msgid "Select which types of files are shown" msgstr "Výběr zobrazených typů souborů" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2789 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Přidá složku \"%s\" mezi záložky" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2833 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Přidá aktuální složku mezi záložky" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2835 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Přidá zvolené složky mezi záložky" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2873 #, c-format msgid "Remove the bookmark '%s'" msgstr "Odstraní záložku \"%s\"" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2875 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "Záložka \"%s\" nemůže být odstraněna" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 msgid "Remove the selected bookmark" msgstr "Odstraní zvolenou záložku" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3442 msgid "Remove" msgstr "Odstranit" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3451 msgid "Rename..." msgstr "Přejmenovat..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3614 msgid "Places" msgstr "Místa" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3671 msgid "_Places" msgstr "_Místa" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3728 msgid "_Add" msgstr "_Přidat" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3735 msgid "Add the selected folder to the Bookmarks" msgstr "Přidá zvolenou složku mezi záložky" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3740 msgid "_Remove" msgstr "O_dstranit" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3882 msgid "Could not select file" msgstr "Nelze vybrat soubor" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4057 msgid "_Add to Bookmarks" msgstr "_Přidat mezi záložky" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4070 msgid "Show _Hidden Files" msgstr "Zobrazovat _skryté soubory" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4077 msgid "Show _Size Column" msgstr "Z_obrazovat sloupec Velikost" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4303 msgid "Files" msgstr "Soubory" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4354 msgid "Name" msgstr "Název" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4377 msgid "Size" msgstr "Velikost" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4391 msgid "Modified" msgstr "Změněno" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Název:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4689 msgid "_Browse for other folders" msgstr "Procházet _jiné složky" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4959 msgid "Type a file name" msgstr "Zadání názvu souboru" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5002 msgid "Create Fo_lder" msgstr "V_ytvořit složku" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "_Location:" msgstr "_Umístění:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5216 msgid "Save in _folder:" msgstr "U_ložit do složky:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5218 msgid "Create in _folder:" msgstr "Vytvořit ve složc_e:" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6287 #, c-format msgid "Could not read the contents of %s" msgstr "Nelze přečíst obsah %s" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6291 msgid "Could not read the contents of the folder" msgstr "Nelze přečíst obsah složky" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 +#: ../gtk/gtkfilechooserdefault.c:6597 msgid "Unknown" msgstr "Neznámé" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6399 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6401 msgid "Yesterday at %H:%M" msgstr "Včera v %H:%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7067 msgid "Cannot change to folder because it is not local" msgstr "Nelze přejít do složky, protože není místní" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 #, c-format msgid "Shortcut %s already exists" msgstr "Zkratka %s již existuje" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7775 #, c-format msgid "Shortcut %s does not exist" msgstr "Zkratka %s neexistuje" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Soubor nazvaný \"%s\" již existuje. Chcete jej nahradit?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "V \"%s\" již tento soubor existuje. Jeho nahrazení přepíše celý obsah." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "Na_hradit" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8752 msgid "Could not start the search process" msgstr "Nelze spustit proces hledání" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8753 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1076,36 +1084,36 @@ msgstr "" "Program nebyl schopen vytvořit spojení s indexovacím démonem. Ujistěte se " "prosím, že běží." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8767 msgid "Could not send the search request" msgstr "Nelze odeslat vyhledávací požadavek" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8955 msgid "Search:" msgstr "Hledat:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9560 #, c-format msgid "Could not mount %s" msgstr "Nelze připojit %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "Neplatná cesta" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "Žádná shoda" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "Jediné dokončení" @@ -1113,13 +1121,13 @@ msgstr "Jediné dokončení" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "Dokončené, ale nikoliv jedinečné" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "Dokončování..." @@ -1127,7 +1135,7 @@ msgstr "Dokončování..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "Vybrány mohou být pouze místní soubory" @@ -1135,80 +1143,75 @@ msgstr "Vybrány mohou být pouze místní soubory" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "Neúplný název počítače, je nutné ho zakončit znakem \"/\"" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "Cesta neexistuje" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Chyba při vytváření složky \"%s\": %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "Systém souborů" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Vybrat písmo" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Písmo" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "přikrášlený žluťoučký kůň PŘIKRÁŠLENÝ ŽLUŤOUČKÝ KŮŇ" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "_Rodina:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "_Styl:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "_Velikost:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_Náhled:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Výběr písma" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "Chyba při načítání ikony: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1355 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1221,75 +1224,75 @@ msgstr "" "Získat ho je možné z:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1536 #, c-format msgid "Icon '%s' not present in theme" msgstr "V motivu není obsažena ikona \"%s\"" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3057 msgid "Failed to load icon" msgstr "Nelze načíst ikonu" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "Jednoduché" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "Systémová" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "Žádná" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "Systémová (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6214 msgid "_Open Link" msgstr "_Otevřít odkaz" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6226 msgid "Copy _Link Address" msgstr "Ko_pírovat adresu odkazu" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "Kopírovat URL" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "Neplatné URI" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:527 msgid "Load additional GTK+ modules" msgstr "Načte přídavné moduly GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:528 msgid "MODULES" msgstr "MODULY" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:530 msgid "Make all warnings fatal" msgstr "Učiní všechna varování kritickými" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:533 msgid "GTK+ debugging flags to set" msgstr "Ladicí příznaky GTK+, které nastaví" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:536 msgid "GTK+ debugging flags to unset" msgstr "Ladicí příznaky GTK+, jejichž nastavení zruší" @@ -1298,122 +1301,122 @@ msgstr "Ladicí příznaky GTK+, jejichž nastavení zruší" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:799 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:864 #, c-format msgid "Cannot open display: %s" msgstr "Nelze otevřít displej: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "GTK+ Options" msgstr "Přepínače GTK+" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:923 msgid "Show GTK+ Options" msgstr "Zobrazit přepínače GTK+" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "_Připojit" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "Připojit se _anonymně" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "Připojit se jako _uživatel:" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "Uživat_elské jméno:" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "_Doména:" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "_Heslo:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "Zapo_menout heslo okamžitě" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "Pamat_ovat si heslo až do odhlášení" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "Pama_tovat si navždy" -#: gtk/gtkmountoperation.c:883 +#: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" msgstr "Neznámá aplikace (PID %d)" -#: gtk/gtkmountoperation.c:1066 -#, c-format +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "Není možné ukončit proces" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "Ukončit proc_es" -#: gtk/gtkmountoperation-stub.c:64 +#: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." msgstr "Nelze zabít proces s PID %d. Operace není implementována." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "Stránkování terminálu" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Příkaz top" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 +#: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" msgstr "Nelze ukončit proces s PID %d: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 #, c-format msgid "Page %u" msgstr "Strana %u" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Neplatný soubor vzhledu stránky" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "Libovolná tiskárna" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "Pro přenositelné dokumenty" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1428,52 +1431,52 @@ msgstr "" " Horní: %s %s\n" " Dolní: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 msgid "Manage Custom Sizes..." msgstr "Spravovat vlastní velikosti..." -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "_Formát pro:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 msgid "_Paper size:" msgstr "_Velikost papíru:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "_Orientace:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 msgid "Page Setup" msgstr "Vzhled stránky" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Nahoru v cestě" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Dolů v cestě" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "Kořen systému souborů" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "Ověření" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Nedostupné" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 #, fuzzy msgid "Select a folder" msgstr "Zvolte soubor" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "Uložit do složk_y:" @@ -1481,187 +1484,184 @@ msgstr "Uložit do složk_y:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s: úloha č. %d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "Počáteční stav" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "Připravuje se tisk" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "Vytváření dat" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "Odesílání dat" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "Čeká se" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Blokováno původcem problému" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "Tiskne se" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "Hotovo" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "Hotovo, došlo k chybě" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "Připravuje se %d" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "Připravuje se" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "Tiskne se %d" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "Chyba při vytváření náhledu tisku" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "Nejpravděpodobnější příčinou je nemožnost vytvoření dočasného souboru." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" msgstr "Chyba spouštění náhledu" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Aplikace" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "Tiskárna není připojena" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "Došel papír" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "Přerušeno" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "Je potřeba zásah uživatele" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "Vlastní velikost" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "Nebyla nalezena žádná tiskárna" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "Neplatný argument ke CreateDC" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Chyba ze StartDoc" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "Nedostatek volné paměti" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "Neplatný argument pro PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "Neplatný ukazatel na PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "Neplatná obsluha na PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Neurčená chyba" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Získávání informací o tiskárně selhalo" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Získávají se informace o tiskárně..." -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2139 msgid "Printer" msgstr "Tiskárna" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2149 msgid "Location" msgstr "Umístění" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2160 msgid "Status" msgstr "Stav" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2186 msgid "Range" msgstr "Rozsah" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2190 msgid "_All Pages" msgstr "Vše_chny strany" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2197 msgid "C_urrent Page" msgstr "Aktuá_lní strana" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2207 msgid "Se_lection" msgstr "_Výběr" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2216 msgid "Pag_es:" msgstr "St_rany:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1669,28 +1669,28 @@ msgstr "" "Zadejte prosím jeden nebo více rozsahů stran,\n" "např. 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2227 msgid "Pages" msgstr "Strany" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2240 msgid "Copies" msgstr "Kopie" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2245 msgid "Copie_s:" msgstr "_Kopie:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2263 msgid "C_ollate" msgstr "S_etřídit" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" msgstr "O_brátit" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2291 msgid "General" msgstr "Obecné" @@ -1700,168 +1700,168 @@ msgstr "Obecné" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "Zleva doprava, shora dolů" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3024 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "Zleva doprava, zdola nahoru" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "Zprava doleva, shora dolů" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "Zprava doleva, zdola nahoru" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "Shora dolů, zleva doprava" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "Shora dolů, zprava doleva" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "Zdola nahoru, zleva doprava" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "Zdola nahoru, zprava doleva" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Řazení stran" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3060 msgid "Left to right" msgstr "Zleva doprava" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Right to left" msgstr "Zprava doleva" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3073 msgid "Top to bottom" msgstr "Shora dolů" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Bottom to top" msgstr "Zdola nahoru" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3314 msgid "Layout" msgstr "Rozvržení" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3318 msgid "T_wo-sided:" msgstr "Obo_ustranné:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "Pages per _side:" msgstr "Strá_nek na stranu papíru:" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3350 msgid "Page or_dering:" msgstr "Ř_azení stran:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3366 msgid "_Only print:" msgstr "Tisknout p_ouze:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "All sheets" msgstr "Všechny listy" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "Even sheets" msgstr "Sudé listy" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Odd sheets" msgstr "Liché listy" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3386 msgid "Sc_ale:" msgstr "_Měřítko:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3413 msgid "Paper" msgstr "Papír" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3417 msgid "Paper _type:" msgstr "Typ _papíru:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _source:" msgstr "Z_droj papíru:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Output t_ray:" msgstr "Vý_stupní zásobník:" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3487 msgid "Or_ientation:" msgstr "_Orientace:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Portrait" msgstr "Na výšku" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Landscape" msgstr "Na šířku" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Reverse portrait" msgstr "Obráceně na výšku" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse landscape" msgstr "Obráceně na šířku" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3550 msgid "Job Details" msgstr "Podrobnosti k úloze" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3556 msgid "Pri_ority:" msgstr "Pr_iorita:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "_Billing info:" msgstr "Účtovací in_formace:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3589 msgid "Print Document" msgstr "Vytisknout dokument" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3598 msgid "_Now" msgstr "N_yní" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3609 msgid "A_t:" msgstr "_V:" @@ -1869,7 +1869,7 @@ msgstr "_V:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3615 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1877,121 +1877,121 @@ msgstr "" "Upřesněte čas tisku,\n" " např. 15:30, 14:35, 14:15:20, 11:46:30, 16:00" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3625 msgid "Time of print" msgstr "Čas tisku" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3641 msgid "On _hold" msgstr "S posečká_ním" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "Hold the job until it is explicitly released" msgstr "Posečkat s úlohou, dokud není výslovně odeslána" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3662 msgid "Add Cover Page" msgstr "Přidat krycí stranu" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3671 msgid "Be_fore:" msgstr "Pře_d:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3689 msgid "_After:" msgstr "Z_a:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3707 msgid "Job" msgstr "Úloha" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3773 msgid "Advanced" msgstr "Pokročilé" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3811 msgid "Image Quality" msgstr "Kvalita obrazu" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3815 msgid "Color" msgstr "Barva" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3820 msgid "Finishing" msgstr "Dokončování" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Some of the settings in the dialog conflict" msgstr "Některá nastavení v dialogu jsou v konfliktu" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3853 msgid "Print" msgstr "Tisk" -#: gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2834 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "Nelze nalézt vložený soubor: \"%s\"" -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Nelze nalézt soubor obrázku v pixmap_path: \"%s\"" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "Tato funkce není implementována pro \"widgety\" třídy \"%s\"" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Výběr zobrazených typů dokumentů" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "Nenalezena žádná položka u URI \"%s\"" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "Filtr bez názvu" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "Nelze odstranit položku" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "Nelze vymazat seznam" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "Kopírovat _umístění" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "_Odstranit ze seznamu" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "Vy_mazat seznam" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "Zo_brazovat soukromé zdroje" @@ -2005,21 +2005,21 @@ msgstr "Zo_brazovat soukromé zdroje" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "Nebyly nalezeny žádné položky" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "Nenalezeny žádné naposledy použité zdroje s URI \"%s\"" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "Otevřít \"%s\"" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Neznámá položka" @@ -2028,7 +2028,7 @@ msgstr "Neznámá položka" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2037,46 +2037,51 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "Nelze nalézt položku s URI \"%s\"" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + +#: ../gtk/gtkspinner.c:456 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Animace průběhu" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:457 msgid "Provides visual indication of progress" msgstr "Poskytuje vizuální indikaci průběhu" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Informace" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "Varování" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "Chyba" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "Otázka" @@ -2084,697 +2089,697 @@ msgstr "Otázka" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "O _aplikaci" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "_Přidat" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "_Použít" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "_Tučné" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "_Zrušit" -#: gtk/gtkstock.c:326 +#: ../gtk/gtkstock.c:326 #, fuzzy msgctxt "Stock label" msgid "_CD-ROM" msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "Vy_mazat" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "_Zavřít" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "_Připojit" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "_Převést" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "_Kopírovat" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "_Vyjmout" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "_Smazat" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "Za_hodit" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "_Odpojit" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "_Spustit" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "_Upravit" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 #, fuzzy msgctxt "Stock label" msgid "_File" msgstr "_Soubory" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "_Hledat" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "Hledat a nah_radit" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "_Disketa" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "_Celá obrazovka" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "_Opustit celou obrazovku" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "_Dolů" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "P_rvní" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "Po_slední" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "N_ahoru" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "_Zpět" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "_Níž" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "_Vpřed" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "_Výš" -#: gtk/gtkstock.c:360 +#: ../gtk/gtkstock.c:360 #, fuzzy msgctxt "Stock label" msgid "_Hard Disk" msgstr "_Pevný disk" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "_Nápověda" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "_Domů" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "Zvětšit odsazení" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "Zmenšit odsazení" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "_Index" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "_Informace" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "_Kurzíva" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "_Přejít na" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "Na _střed" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "_Vyplnit" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "Do_leva" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "Do_prava" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "_Vpřed" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "_Následující" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "_Pozastavit" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "Pře_hrát" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "_Předchozí" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "_Zaznamenávat" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "Pře_točit" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "Za_stavit" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "_Síť" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "_Nový" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "_Ne" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "_Budiž" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "_Otevřít" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "Na šířku" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "Na výšku" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "Obráceně na šířku" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "Obráceně na výšku" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "_Vzhled stránky" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "V_ložit" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "_Nastavení" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "_Tisk" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "Ná_hled tisku" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "_Vlastnosti" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "U_končit" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "Zn_ovu" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "Ob_novit" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "O_dstranit" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "_Vrátit" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "_Uložit" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "Uložit _jako" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "V_ybrat vše" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "_Barva" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "_Písmo" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "_Vzestupně" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "_Sestupně" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "_Kontrola pravopisu" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "Za_stavit" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "_Přeškrtnuté" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "_Zrušit smazání" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "Po_dtržené" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "_Zpět" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "_Ano" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "_Normální velikost" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "Při_způsobit velikost" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "Z_většit" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "Z_menšit" -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "Neznámá chyba při pokusu převést %s na paralelní tvar" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "Pro formát %s nebyla nalezena žádná funkce převodu na paralelní tvar" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "V prvku <%s> bylo nalezeno \"id\" i \"name\"" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "V prvku <%s> byl dvakrát nalezen atribut \"%s\"" -#: gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:855 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "Prvek <%s> má neplatné ID \"%s\"" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:865 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "Prvek <%s> nemá atribut \"name\", ani \"id\"" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:952 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Atribut \"%s\" provedl dvakrát opakování na stejném prvku <%s>" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "V tomto kontextu je atribut \"%s\" v prvku <%s> neplatný" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1034 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Značka \"%s\" nebyla definována." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1046 msgid "Anonymous tag found and tags can not be created." msgstr "Nalezena anonymní značka, značky nemohly být vytvořeny." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1057 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "Značka \"%s\" ve vyrovnávací paměti neexistuje, značky nemohly být vytvořeny." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 +#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Prvek <%s> není povolen pod <%s>" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1187 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" není platným typem atributu" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1195 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" není platným názvem atributu" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1205 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "\"%s\" nemohlo být převedeno na hodnotu typu \"%s\" atributu \"%s\"" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1214 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" není platnou hodnotou atributu \"%s\"" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1299 #, c-format msgid "Tag \"%s\" already defined" msgstr "Značka \"%s\" již byla definována" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1312 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Značka \"%s\" má nesprávnou prioritu \"%s\"" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1365 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Nejkrajnější prvek v textu musí být , nikoliv <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 #, c-format msgid "A <%s> element has already been specified" msgstr "Prvek <%s> již zadán byl" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1396 msgid "A element can't occur before a element" msgstr "Prvek se nemůže vyskytovat před prvkem " -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1796 msgid "Serialized data is malformed" msgstr "Serializovaná data jsou chybná" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1874 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "Serializovaná data jsou chybná. První částí není GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM - značka z_leva doprava" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM - značka zp_rava doleva" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE - _zapouzdření zleva doprava" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE - z_apouzdření zprava doleva" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO - _přepisování zleva doprava" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO - př_episování zprava doleva" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF - zrušení směrovaného _formátování" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS - mezera _nulové šířky" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ - _spojovač nulové šířky" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ - nespojovač n_ulové šířky" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "Nelze nalézt systém motivů v module_path: \"%s\"," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Neočekávaná počáteční značka \"%s\" na řádku %d, znak %d" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Neočekávaná data znaků na řádku %d, znak %d" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "Prázdný" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:83 msgid "Volume" msgstr "Hlasitost" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:85 msgid "Turns volume down or up" msgstr "Sníží nebo zvýší hlasitost" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:88 msgid "Adjusts the volume" msgstr "Změní hlasitost" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 msgid "Volume Down" msgstr "Snížit hlasitost" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:96 msgid "Decreases the volume" msgstr "Sníží hlasitost" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 msgid "Volume Up" msgstr "Zvýšit hlasitost" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:102 msgid "Increases the volume" msgstr "Zvýší hlasitost" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:160 msgid "Muted" msgstr "Ztlumeno" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:164 msgid "Full Volume" msgstr "Maximální hlasitost" @@ -2783,932 +2788,932 @@ msgstr "Maximální hlasitost" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:177 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 Extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 Tab" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 Extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 Extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "Obálka DL" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Obálka Choukei 2" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Obálka Choukei 3" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Obálka Choukei 4" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki (dopisnice)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "Obálka kahu" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "Obálka kaku2" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (odpovědní dopisnice)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "Obálka you4" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "Obálka 6x9" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "Obálka 7x9" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "Obálka 9x11" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "Obálka a2" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "Obálka c5" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "European edp" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executive" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "FanFold European" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold German Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6 (dopisnice)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "Invoice" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tabloid" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Obálka Monarch" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "Obálka č. 10" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "Obálka č. 11" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "Obálka č. 12" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "Obálka č. 14" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "Obálka č. 9" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "Osobní obálka" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "Široký formát" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "Obálka Invite" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "Italská obálka" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Obálka Postfix" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "Small Photo" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "Obálka prc1" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "Obálka prc10" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "Obálka prc2" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "Obálka prc3" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "Obálka prc4" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "Obálka prc5" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "Obálka prc6" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "Obálka prc7" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "Obálka prc8" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "Obálka prc9" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "nalezena rozdílná \"idatas\" symbolicky odkazovaných \"%s\" a \"%s\"\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "Nezdařil se zápis záhlaví\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "Nezdařil se zápis tabulky \"hash\"\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "Nezdařil se zápis indexu složky\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "Nezdařil se přepis záhlaví\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1463 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Nezdařilo se otevřít soubor %s : %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1471 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Nezdařil se zápis souboru vyrovnávací paměti: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1507 #, c-format msgid "The generated cache was invalid.\n" msgstr "Vytvořená vyrovnávací paměť byla neplatná.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1521 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Nelze přejmenovat %s na %s: %s, odstraňuje se tedy %s.\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1535 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Nelze přejmenovat %s na %s: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1545 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s nelze přejmenovat zpět na %s: %s.\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1572 #, c-format msgid "Cache file created successfully.\n" msgstr "Soubor vyrovnávací paměti úspěšně vytvořen.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1611 msgid "Overwrite an existing cache, even if up to date" msgstr "Přepsat existující vyrovnávací paměť, i když je aktuální" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1612 msgid "Don't check for the existence of index.theme" msgstr "Nekontrolovat existenci \"index.theme\"" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1613 msgid "Don't include image data in the cache" msgstr "Nezahrnout do vyrovnávací paměti obrazová data" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1614 msgid "Output a C header file" msgstr "Výstupem soubor typu \"C header\"" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1615 msgid "Turn off verbose output" msgstr "Vypnout podrobný výstup" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1616 msgid "Validate existing icon cache" msgstr "Ověřit existující vyrovnávací paměť ikon" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1683 #, c-format msgid "File not found: %s\n" msgstr "Soubor nenalezen: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1689 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Neplatná vyrovnávací paměť ikon: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1702 #, c-format msgid "No theme index file.\n" msgstr "Soubor index motivu neexistuje.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1706 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3719,312 +3724,312 @@ msgstr "" "prosím --ignore-theme-index.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Amharština (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "Cédille" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "Cyrilice (transliterovaná)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "Inuktitut (transliterovaný)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Thajština-laoština" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Tigriňa-Eritrea (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Tigriňa-Etiopie (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "Vietnamština (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "Vstupní metoda X" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "Uživatelské jméno:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "Heslo:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "Je vyžadováno ověření, aby bylo možné získat soubor z %s" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "" "Je vyžadováno ověření, aby bylo možné vytisknout dokument \"%s\" na tiskárně " "%s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Je vyžadováno ověření, aby bylo možné vytisknout dokument na %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Je vyžadováno ověření, aby bylo možné získat atributy úlohy \"%s\"" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "Je vyžadováno ověření, aby bylo možné získat atributy úlohy" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Je vyžadováno ověření, aby bylo možné získat atributy tiskárny %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "Je vyžadováno ověření, aby bylo možné získat atributy tiskárny" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Je vyžadováno ověření, aby bylo možné získat výchozí tiskárnu %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Je vyžadováno ověření, aby bylo možné získat tiskárny z %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Je vyžadováno ověření, aby bylo možné získat soubor z %s" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "Na %s je vyžadováno ověření" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "Doména:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Je vyžadováno ověření, aby bylo možné vytisknout dokument \"%s\"" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "" "Je vyžadováno ověření, aby bylo možné tento dokument vytisknout na tiskárně " "%s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "Je vyžadováno ověření, aby bylo možné tento dokument vytisknout" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "Tiskárně \"%s\" dochází toner." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "Tiskárně \"%s\" došel toner." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "Tiskárně \"%s\" dochází vývojka." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "Tiskárně \"%s\" došla vývojka." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "Tiskárně \"%s\" dochází zásoba alespoň jednoho popisovače." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "Tiskárně \"%s\" došla zásoba alespoň jednoho popisovače." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "Na tiskárně \"%s\" je otevřen kryt." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "Na tiskárně \"%s\" jsou otevřena dvířka." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "Tiskárně \"%s\" dochází papír." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "Tiskárně \"%s\" došel papír." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "Printer '%s' is currently offline." msgstr "Tiskárna \"%s\" není v tomto okamžiku připojena." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "Na tiskárně \"%s\" se vyskytla chyba." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "Pozastaveno ; Úlohy se odmítají" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "Úlohy se odmítají" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "Oboustranný" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "Typ papíru" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "Zdroj papíru" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "Výstupní zásobník" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "Rozlišení" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "Předběžné filtrování GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "Jednostranný" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "Delší okraj (standardní)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "Kratší okraj (otočení)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "Automatický výběr" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "Výchozí pro tiskárnu" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "Vložit pouze písma GhostScript" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "Převést na PS, úroveň 1" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "Převést na PS, úroveň 2" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "Bez předběžného filtrování" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "Různé" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "Naléhavá" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "Vysoká" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "Střední" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "Nízká" @@ -4032,66 +4037,66 @@ msgstr "Nízká" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "Stran na list" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "Priorita úlohy" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "Účtovací informace" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "Žádné" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "Utajované" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "Důvěrné" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "Tajné" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "Standardní" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "Přísně tajné" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "Neutajované" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "Před" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "Za" @@ -4099,14 +4104,14 @@ msgstr "Za" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "Vytisknout" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "Vytisknout v určený čas" @@ -4114,104 +4119,104 @@ msgstr "Vytisknout v určený čas" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "Vlastní %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "výstup.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Tisknout do souboru" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "St_ran na list:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "Soubor" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "_Výstupní formát" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Tisknout na LPR" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Stran na list" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Příkazový řádek" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "tiskárna nepřipojena" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "tisk připraven" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "zpracovává se úloha" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "přerušeno" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "neznámé" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "zkušební-výstup.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Tisknout na zkušební tiskárnu" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "Nelze získat informace o souboru \"%s\": %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "Nelze otevřít soubor \"%s\": %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" @@ -4222,6 +4227,9 @@ msgstr "" #~ msgid "\"Deepness\" of the color." #~ msgstr "\"Hloubka\" barvy." +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "Chyba při vytváření složky \"%s\": %s" + #~ msgid "Folders" #~ msgstr "Složky" From 0d07cba436985d06ca18ced6b5c073bd66fc5d12 Mon Sep 17 00:00:00 2001 From: "John (J5) Palmieri" Date: Mon, 15 Nov 2010 12:13:32 -0500 Subject: [PATCH 0253/1463] [gi] add "out" annotations to gtk_tree_store_sort_column_id params --- gtk/gtktreesortable.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtktreesortable.c b/gtk/gtktreesortable.c index 75f7e3c66e..111a3e53ac 100644 --- a/gtk/gtktreesortable.c +++ b/gtk/gtktreesortable.c @@ -111,8 +111,8 @@ gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable) /** * gtk_tree_sortable_get_sort_column_id: * @sortable: A #GtkTreeSortable - * @sort_column_id: The sort column id to be filled in - * @order: The #GtkSortType to be filled in + * @sort_column_id: (out): The sort column id to be filled in + * @order: (out): The #GtkSortType to be filled in * * Fills in @sort_column_id and @order with the current sort column and the * order. It returns %TRUE unless the @sort_column_id is From 038fb4b7e9a7719f59a681c0223683005ac58404 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mon, 15 Nov 2010 17:02:40 +0000 Subject: [PATCH 0254/1463] gdk: Update gdk_settings_map for blink timeout to work gdk_settings_map needs to be updated when gdk_settings_names is changed, and it's easier to add the setting at the end, so we don't need to recalculate everything. Really fixing: https://bugzilla.gnome.org/show_bug.cgi?id=634697 --- gdk/x11/gdksettings.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gdk/x11/gdksettings.c b/gdk/x11/gdksettings.c index 1db9ec76a1..e1c2c56ca8 100644 --- a/gdk/x11/gdksettings.c +++ b/gdk/x11/gdksettings.c @@ -51,7 +51,6 @@ static const char gdk_settings_names[] = "Gtk/ButtonImages\0" "gtk-button-images\0" "Gtk/MenuImages\0" "gtk-menu-images\0" "Gtk/MenuBarAccel\0" "gtk-menu-bar-accel\0" - "Gtk/CursorBlinkTimeout\0" "gtk-cursor-blink-timeout\0" "Gtk/CursorThemeName\0" "gtk-cursor-theme-name\0" "Gtk/CursorThemeSize\0" "gtk-cursor-theme-size\0" "Gtk/ShowInputMethodMenu\0" "gtk-show-input-method-menu\0" @@ -74,7 +73,8 @@ static const char gdk_settings_names[] = "Fontconfig/Timestamp\0" "gtk-fontconfig-timestamp\0" "Net/SoundThemeName\0" "gtk-sound-theme-name\0" "Net/EnableInputFeedbackSounds\0" "gtk-enable-input-feedback-sounds\0" - "Net/EnableEventSounds\0" "gtk-enable-event-sounds\0"; + "Net/EnableEventSounds\0" "gtk-enable-event-sounds\0" + "Gtk/CursorBlinkTimeout\0" "gtk-cursor-blink-timeout\0"; static const struct @@ -125,5 +125,6 @@ static const struct { 1487, 1508 }, { 1533, 1552 }, { 1573, 1603 }, - { 1636, 1658 } + { 1636, 1658 }, + { 1682, 1705 }, }; From e85c0f63fb06d7a036058218a24496a79bc8612d Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mon, 15 Nov 2010 17:13:46 +0000 Subject: [PATCH 0255/1463] gdk: Add big fat warning about updating XSettings There's a tool to see if we forgot to update the gdk_settings_map array, or got the offsets wrong. Mention those above the XSettings list. --- gdk/x11/gdksettings.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gdk/x11/gdksettings.c b/gdk/x11/gdksettings.c index e1c2c56ca8..0aa3fcb5ca 100644 --- a/gdk/x11/gdksettings.c +++ b/gdk/x11/gdksettings.c @@ -29,6 +29,10 @@ #define GDK_SETTINGS_X_NAME(nth) (gdk_settings_names + gdk_settings_map[nth].xsettings_offset) #define GDK_SETTINGS_GDK_NAME(nth) (gdk_settings_names + gdk_settings_map[nth].gdk_offset) +/* WARNING: + * You will need to update gdk_settings_map when adding a + * new setting, and make sure that checksettings does not + * fail before committing */ static const char gdk_settings_names[] = "Net/DoubleClickTime\0" "gtk-double-click-time\0" "Net/DoubleClickDistance\0" "gtk-double-click-distance\0" From 1b5f0d596802a7932450c26a02ad4eff7ddd3e38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 16:41:31 +0100 Subject: [PATCH 0256/1463] docs: Move documentation to inline comments: gdkcursor --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/cursors.sgml | 214 --------------------------- gdk/gdkcursor.c | 23 +++ gdk/gdkcursor.h | 93 +++++++++++- 4 files changed, 115 insertions(+), 216 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/cursors.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 5b8a121d69..b3484df955 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -1,5 +1,6 @@ cairo_interaction.sgml colors.sgml +cursors.sgml dnd.sgml gdkapplaunchcontext.sgml gdkdisplay.sgml diff --git a/docs/reference/gdk/tmpl/cursors.sgml b/docs/reference/gdk/tmpl/cursors.sgml deleted file mode 100644 index 83777c50fb..0000000000 --- a/docs/reference/gdk/tmpl/cursors.sgml +++ /dev/null @@ -1,214 +0,0 @@ - -Cursors - - -Standard and pixmap cursors - - - -These functions are used to create and destroy cursors. -There is a number of standard cursors, but it is also -possible to construct new cursors from pixbufs. There -may be limitations as to what kinds of cursors can be -constructed on a given display, see -gdk_display_supports_cursor_alpha(), -gdk_display_supports_cursor_color(), -gdk_display_get_default_cursor_size() and -gdk_display_get_maximal_cursor_size(). - - -Cursors by themselves are not very interesting, they must be be -bound to a window for users to see them. This is done with -gdk_window_set_cursor() or by setting the cursor member of the -#GdkWindowAttr struct passed to gdk_window_new(). - - - - - - - - - - - - - - - -A GdkCursor structure represents a cursor. - - - - - -The standard cursors available. - - -@GDK_X_CURSOR: -@GDK_ARROW: -@GDK_BASED_ARROW_DOWN: -@GDK_BASED_ARROW_UP: -@GDK_BOAT: -@GDK_BOGOSITY: -@GDK_BOTTOM_LEFT_CORNER: -@GDK_BOTTOM_RIGHT_CORNER: -@GDK_BOTTOM_SIDE: -@GDK_BOTTOM_TEE: -@GDK_BOX_SPIRAL: -@GDK_CENTER_PTR: -@GDK_CIRCLE: -@GDK_CLOCK: -@GDK_COFFEE_MUG: -@GDK_CROSS: -@GDK_CROSS_REVERSE: -@GDK_CROSSHAIR: -@GDK_DIAMOND_CROSS: -@GDK_DOT: -@GDK_DOTBOX: -@GDK_DOUBLE_ARROW: -@GDK_DRAFT_LARGE: -@GDK_DRAFT_SMALL: -@GDK_DRAPED_BOX: -@GDK_EXCHANGE: -@GDK_FLEUR: -@GDK_GOBBLER: -@GDK_GUMBY: -@GDK_HAND1: -@GDK_HAND2: -@GDK_HEART: -@GDK_ICON: -@GDK_IRON_CROSS: -@GDK_LEFT_PTR: -@GDK_LEFT_SIDE: -@GDK_LEFT_TEE: -@GDK_LEFTBUTTON: -@GDK_LL_ANGLE: -@GDK_LR_ANGLE: -@GDK_MAN: -@GDK_MIDDLEBUTTON: -@GDK_MOUSE: -@GDK_PENCIL: -@GDK_PIRATE: -@GDK_PLUS: -@GDK_QUESTION_ARROW: -@GDK_RIGHT_PTR: -@GDK_RIGHT_SIDE: -@GDK_RIGHT_TEE: -@GDK_RIGHTBUTTON: -@GDK_RTL_LOGO: -@GDK_SAILBOAT: -@GDK_SB_DOWN_ARROW: -@GDK_SB_H_DOUBLE_ARROW: -@GDK_SB_LEFT_ARROW: -@GDK_SB_RIGHT_ARROW: -@GDK_SB_UP_ARROW: -@GDK_SB_V_DOUBLE_ARROW: -@GDK_SHUTTLE: -@GDK_SIZING: -@GDK_SPIDER: -@GDK_SPRAYCAN: -@GDK_STAR: -@GDK_TARGET: -@GDK_TCROSS: -@GDK_TOP_LEFT_ARROW: -@GDK_TOP_LEFT_CORNER: -@GDK_TOP_RIGHT_CORNER: -@GDK_TOP_SIDE: -@GDK_TOP_TEE: -@GDK_TREK: -@GDK_UL_ANGLE: -@GDK_UMBRELLA: -@GDK_UR_ANGLE: -@GDK_WATCH: -@GDK_XTERM: -@GDK_LAST_CURSOR: last cursor type -@GDK_BLANK_CURSOR: Blank cursor. Since 2.16 -@GDK_CURSOR_IS_PIXMAP: type of cursors constructed with - gdk_cursor_new_from_pixbuf() - - - - - - -@cursor_type: -@Returns: - - - - - - - -@display: -@pixbuf: -@x: -@y: -@Returns: - - - - - - - -@display: -@name: -@Returns: - - - - - - - -@display: -@cursor_type: -@Returns: - - - - - - - -@cursor: -@Returns: - - - - - - - -@cursor: -@Returns: - - - - - - - -@cursor: -@Returns: - - - - - - - -@cursor: -@Returns: - - - - - - - -@cursor: - - diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 0aabd5940a..475e96fbff 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -32,6 +32,28 @@ #include "gdkinternals.h" +/** + * SECTION:cursors + * @Short_description: Standard and pixmap cursors + * @Title: Cursors + * + * These functions are used to create and destroy cursors. + * There is a number of standard cursors, but it is also + * possible to construct new cursors from pixbufs. There + * may be limitations as to what kinds of cursors can be + * constructed on a given display, see + * gdk_display_supports_cursor_alpha(), + * gdk_display_supports_cursor_color(), + * gdk_display_get_default_cursor_size() and + * gdk_display_get_maximal_cursor_size(). + * + * Cursors by themselves are not very interesting, they must be be + * bound to a window for users to see them. This is done with + * gdk_window_set_cursor() or by setting the cursor member of the + * #GdkWindowAttr struct passed to gdk_window_new(). + */ + + G_DEFINE_BOXED_TYPE (GdkCursor, gdk_cursor, gdk_cursor_ref, gdk_cursor_unref) @@ -106,5 +128,6 @@ GdkCursorType gdk_cursor_get_cursor_type (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, GDK_BLANK_CURSOR); + return cursor->type; } diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h index 91fd6d523e..a421828389 100644 --- a/gdk/gdkcursor.h +++ b/gdk/gdkcursor.h @@ -38,7 +38,91 @@ G_BEGIN_DECLS #define GDK_TYPE_CURSOR (gdk_cursor_get_type ()) -/* Cursor types. +/** + * GdkCursorType: + * @GDK_X_CURSOR: + * @GDK_ARROW: + * @GDK_BASED_ARROW_DOWN: + * @GDK_BASED_ARROW_UP: + * @GDK_BOAT: + * @GDK_BOGOSITY: + * @GDK_BOTTOM_LEFT_CORNER: + * @GDK_BOTTOM_RIGHT_CORNER: + * @GDK_BOTTOM_SIDE: + * @GDK_BOTTOM_TEE: + * @GDK_BOX_SPIRAL: + * @GDK_CENTER_PTR: + * @GDK_CIRCLE: + * @GDK_CLOCK: + * @GDK_COFFEE_MUG: + * @GDK_CROSS: + * @GDK_CROSS_REVERSE: + * @GDK_CROSSHAIR: + * @GDK_DIAMOND_CROSS: + * @GDK_DOT: + * @GDK_DOTBOX: + * @GDK_DOUBLE_ARROW: + * @GDK_DRAFT_LARGE: + * @GDK_DRAFT_SMALL: + * @GDK_DRAPED_BOX: + * @GDK_EXCHANGE: + * @GDK_FLEUR: + * @GDK_GOBBLER: + * @GDK_GUMBY: + * @GDK_HAND1: + * @GDK_HAND2: + * @GDK_HEART: + * @GDK_ICON: + * @GDK_IRON_CROSS: + * @GDK_LEFT_PTR: + * @GDK_LEFT_SIDE: + * @GDK_LEFT_TEE: + * @GDK_LEFTBUTTON: + * @GDK_LL_ANGLE: + * @GDK_LR_ANGLE: + * @GDK_MAN: + * @GDK_MIDDLEBUTTON: + * @GDK_MOUSE: + * @GDK_PENCIL: + * @GDK_PIRATE: + * @GDK_PLUS: + * @GDK_QUESTION_ARROW: + * @GDK_RIGHT_PTR: + * @GDK_RIGHT_SIDE: + * @GDK_RIGHT_TEE: + * @GDK_RIGHTBUTTON: + * @GDK_RTL_LOGO: + * @GDK_SAILBOAT: + * @GDK_SB_DOWN_ARROW: + * @GDK_SB_H_DOUBLE_ARROW: + * @GDK_SB_LEFT_ARROW: + * @GDK_SB_RIGHT_ARROW: + * @GDK_SB_UP_ARROW: + * @GDK_SB_V_DOUBLE_ARROW: + * @GDK_SHUTTLE: + * @GDK_SIZING: + * @GDK_SPIDER: + * @GDK_SPRAYCAN: + * @GDK_STAR: + * @GDK_TARGET: + * @GDK_TCROSS: + * @GDK_TOP_LEFT_ARROW: + * @GDK_TOP_LEFT_CORNER: + * @GDK_TOP_RIGHT_CORNER: + * @GDK_TOP_SIDE: + * @GDK_TOP_TEE: + * @GDK_TREK: + * @GDK_UL_ANGLE: + * @GDK_UMBRELLA: + * @GDK_UR_ANGLE: + * @GDK_WATCH: + * @GDK_XTERM: + * @GDK_LAST_CURSOR: last cursor type + * @GDK_BLANK_CURSOR: Blank cursor. Since 2.16 + * @GDK_CURSOR_IS_PIXMAP: type of cursors constructed with + * gdk_cursor_new_from_pixbuf() + * + * The standard cursors available. */ typedef enum { @@ -124,10 +208,15 @@ typedef enum GDK_CURSOR_IS_PIXMAP = -1 } GdkCursorType; +/** + * GdkCursor: + * + * A #GdkCursor structure represents a cursor. + */ struct _GdkCursor { - GdkCursorType GSEAL (type); /*< private >*/ + GdkCursorType GSEAL (type); guint GSEAL (ref_count); }; From 2adf42746713f0928931c09292a1bc6257b02261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 16:50:21 +0100 Subject: [PATCH 0257/1463] docs: Move documentation to inline comments: gdkpango --- docs/reference/gdk/tmpl/.gitignore | 1 + .../reference/gdk/tmpl/pango_interaction.sgml | 158 ------------------ gdk/gdkpango.c | 99 +++++++++++ 3 files changed, 100 insertions(+), 158 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/pango_interaction.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index b3484df955..58d06212f0 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -9,6 +9,7 @@ gdkscreen.sgml gdktesting.sgml general.sgml keys.sgml +pango_interaction.sgml pixbufs.sgml regions.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/pango_interaction.sgml b/docs/reference/gdk/tmpl/pango_interaction.sgml deleted file mode 100644 index 95a4f484a5..0000000000 --- a/docs/reference/gdk/tmpl/pango_interaction.sgml +++ /dev/null @@ -1,158 +0,0 @@ - -Pango Interaction - - -Using Pango in GDK - - - -Pango is the text layout system used by GDK and GTK+. The functions -and types in this section are used to obtain clip regions for -#PangoLayouts, and to get #PangoContexts that can be used with -GDK. - - -Creating a #PangoLayout object is the first step in rendering text, -and requires getting a handle to a #PangoContext. For GTK+ programs, -you'll usually want to use gtk_widget_get_pango_context(), or -gtk_widget_create_pango_layout(), rather than using the lowlevel -gdk_pango_context_get_for_screen(). Once you have a #PangoLayout, you -can set the text and attributes of it with Pango functions like -pango_layout_set_text() and get its size with pango_layout_get_size(). -(Note that Pango uses a fixed point system internally, so converting -between Pango units and pixels using PANGO_SCALE or the PANGO_PIXELS() macro.) - - -Rendering a Pango layout is done most simply with pango_cairo_show_layout(); -you can also draw pieces of the layout with pango_cairo_show_layout_line(). - - -Draw transformed text with Pango and cairo - - -#define RADIUS 100 -#define N_WORDS 10 -#define FONT "Sans Bold 18" - -PangoContext *context; -PangoLayout *layout; -PangoFontDescription *desc; - -double radius; -int width, height; -int i; - -/* Set up a transformation matrix so that the user space coordinates for - * where we are drawing are [-RADIUS, RADIUS], [-RADIUS, RADIUS] - * We first center, then change the scale */ - -width = gdk_window_get_width (window); -height = gdk_window_get_height (window); -radius = MIN (width, height) / 2.; - -cairo_translate (cr, - radius + (width - 2 * radius) / 2, - radius + (height - 2 * radius) / 2); - cairo_scale (cr, radius / RADIUS, radius / RADIUS); - -/* Create a PangoLayout, set the font and text */ -context = gdk_pango_context_get_for_screen (screen); -layout = pango_layout_new (context); -pango_layout_set_text (layout, "Text", -1); -desc = pango_font_description_from_string (FONT); -pango_layout_set_font_description (layout, desc); -pango_font_description_free (desc); - -/* Draw the layout N_WORDS times in a circle */ -for (i = 0; i < N_WORDS; i++) - { - double red, green, blue; - double angle = 2 * G_PI * i / n_words; - - cairo_save (cr); - - /* Gradient from red at angle == 60 to blue at angle == 300 */ - red = (1 + cos (angle - 60)) / 2; - green = 0; - blue = 1 - red; - - cairo_set_source_rgb (cr, red, green, blue); - cairo_rotate (cr, angle); - - /* Inform Pango to re-layout the text with the new transformation matrix */ - pango_cairo_update_layout (cr, layout); - - pango_layout_get_size (layout, &width, &height); - - cairo_move_to (cr, - width / 2 / PANGO_SCALE, - DEFAULT_TEXT_RADIUS); - pango_cairo_show_layout (cr, layout); - - cairo_restore (cr); - } - -g_object_unref (layout); -g_object_unref (context); - - -
- Output of <xref linkend="rotated-example"/> - -
- - - - - - - - - - - - - - - - - -@layout: -@x_origin: -@y_origin: -@index_ranges: -@n_ranges: -@Returns: - - - - - - - -@line: -@x_origin: -@y_origin: -@index_ranges: -@n_ranges: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@screen: -@Returns: - - diff --git a/gdk/gdkpango.c b/gdk/gdkpango.c index 20361eada9..e21175bd9a 100644 --- a/gdk/gdkpango.c +++ b/gdk/gdkpango.c @@ -27,6 +27,105 @@ #include #include + +/** + * SECTION:pango_interaction + * @Short_description: Using Pango in GDK + * @Title: Pango Interaction + * + * Pango is the text layout system used by GDK and GTK+. The functions + * and types in this section are used to obtain clip regions for + * #PangoLayouts, and to get #PangoContexts that can be used with + * GDK. + * + * Creating a #PangoLayout object is the first step in rendering text, + * and requires getting a handle to a #PangoContext. For GTK+ programs, + * you'll usually want to use gtk_widget_get_pango_context(), or + * gtk_widget_create_pango_layout(), rather than using the lowlevel + * gdk_pango_context_get_for_screen(). Once you have a #PangoLayout, you + * can set the text and attributes of it with Pango functions like + * pango_layout_set_text() and get its size with pango_layout_get_size(). + * (Note that Pango uses a fixed point system internally, so converting + * between Pango units and pixels using PANGO_SCALE or the PANGO_PIXELS() macro.) + * + * Rendering a Pango layout is done most simply with pango_cairo_show_layout(); + * you can also draw pieces of the layout with pango_cairo_show_layout_line(). + * + * Draw transformed text with Pango and cairo + * + * + * #define RADIUS 100 + * #define N_WORDS 10 + * #define FONT "Sans Bold 18" + * + * PangoContext *context; + * PangoLayout *layout; + * PangoFontDescription *desc; + * + * double radius; + * int width, height; + * int i; + * + * /* Set up a transformation matrix so that the user space coordinates for + * * where we are drawing are [-RADIUS, RADIUS], [-RADIUS, RADIUS] + * * We first center, then change the scale */ + * + * width = gdk_window_get_width (window); + * height = gdk_window_get_height (window); + * radius = MIN (width, height) / 2.; + * + * cairo_translate (cr, + * radius + (width - 2 * radius) / 2, + * radius + (height - 2 * radius) / 2); + * cairo_scale (cr, radius / RADIUS, radius / RADIUS); + * + * /* Create a PangoLayout, set the font and text */ + * context = gdk_pango_context_get_for_screen (screen); + * layout = pango_layout_new (context); + * pango_layout_set_text (layout, "Text", -1); + * desc = pango_font_description_from_string (FONT); + * pango_layout_set_font_description (layout, desc); + * pango_font_description_free (desc); + * + * /* Draw the layout N_WORDS times in a circle */ + * for (i = 0; i < N_WORDS; i++) + * { + * double red, green, blue; + * double angle = 2 * G_PI * i / n_words; + * + * cairo_save (cr); + * + * /* Gradient from red at angle == 60 to blue at angle == 300 */ + * red = (1 + cos (angle - 60)) / 2; + * green = 0; + * blue = 1 - red; + * + * cairo_set_source_rgb (cr, red, green, blue); + * cairo_rotate (cr, angle); + * + * /* Inform Pango to re-layout the text with the new transformation matrix */ + * pango_cairo_update_layout (cr, layout); + * + * pango_layout_get_size (layout, &width, &height); + * + * cairo_move_to (cr, - width / 2 / PANGO_SCALE, - DEFAULT_TEXT_RADIUS); + * pango_cairo_show_layout (cr, layout); + * + * cairo_restore (cr); + * } + * + * g_object_unref (layout); + * g_object_unref (context); + * + * + *
+ * Output of <xref linkend="rotated-example"/> + * + *
+ */ + /* Get a clip region to draw only part of a layout. index_ranges * contains alternating range starts/stops. The region is the * region which contains the given ranges, i.e. if you draw with the From 4593df1ef5a440577f0add13e86e623b3854eb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 17:05:05 +0100 Subject: [PATCH 0258/1463] docs: Move documentation to inline comments: gdkvisual --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/visuals.sgml | 283 --------------------------- gdk/gdktypes.h | 12 ++ gdk/gdkvisual.c | 27 +++ gdk/gdkvisual.h | 47 +++-- 5 files changed, 71 insertions(+), 299 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/visuals.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 58d06212f0..4341431194 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -12,4 +12,5 @@ keys.sgml pango_interaction.sgml pixbufs.sgml regions.sgml +visuals.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/visuals.sgml b/docs/reference/gdk/tmpl/visuals.sgml deleted file mode 100644 index 96d3bea3b4..0000000000 --- a/docs/reference/gdk/tmpl/visuals.sgml +++ /dev/null @@ -1,283 +0,0 @@ - -Visuals - - - -Low-level display hardware information - - - -A #GdkVisual describes a particular video hardware display format. It includes -information about the number of bits used for each color, the way the bits are -translated into an RGB value for display, and the way the bits are stored in -memory. For example, a piece of display hardware might support 24-bit color, -16-bit color, or 8-bit color; meaning 24/16/8-bit pixel sizes. For a given -pixel size, pixels can be in different formats; for example the "red" element -of an RGB pixel may be in the top 8 bits of the pixel, or may be in the lower -4 bits. - - -There are several standard visuals. The visual returned -by gdk_screen_get_system_visual() is the system's default -visual. - - -A number of functions are provided for determining -the "best" available visual. For the purposes of -making this determination, higher bit depths are -considered better, and for visuals of the same -bit depth, %GDK_VISUAL_PSEUDO_COLOR is preferred at -8bpp, otherwise, the visual types are ranked in the -order of (highest to lowest) %GDK_VISUAL_DIRECT_COLOR, -%GDK_VISUAL_TRUE_COLOR, %GDK_VISUAL_PSEUDO_COLOR, -%GDK_VISUAL_STATIC_COLOR, %GDK_VISUAL_GRAYSCALE, -then %GDK_VISUAL_STATIC_GRAY. - - - - - - - - - - - - - - - -The GdkVisual structure contains information about -a particular visual. - - - -Constructing a pixel value from components - -guint -pixel_from_rgb (GdkVisual *visual, - guchar r, guchar b, guchar g) -{ - return ((r >> (16 - visual->red_prec)) << visual->red_shift) | - ((g >> (16 - visual->green_prec)) << visual->green_shift) | - ((r >> (16 - visual->blue_prec)) << visual->blue_shift); -} - - - -@parent_instance: inherited portion from #GObject - - - -A set of values that describe the manner in which the -pixel values for a visual are converted into RGB -values for display. - - -@GDK_VISUAL_STATIC_GRAY: Each pixel value indexes a grayscale value directly. -@GDK_VISUAL_GRAYSCALE: Each pixel is an index into a color map that maps pixel - values into grayscale values. The color map can be changed by an application. -@GDK_VISUAL_STATIC_COLOR: Each pixel value is an index into a predefined, - unmodifiable color map that maps pixel values into RGB values. -@GDK_VISUAL_PSEUDO_COLOR: Each pixel is an index into a color map that maps - pixel values into rgb values. The color map can be changed by an application. -@GDK_VISUAL_TRUE_COLOR: Each pixel value directly contains red, green, - and blue components. The red_mask, - green_mask, and - blue_mask fields of the #GdkVisual - structure describe how the components are assembled into a pixel value. -@GDK_VISUAL_DIRECT_COLOR: Each pixel value contains red, green, and blue - components as for %GDK_VISUAL_TRUE_COLOR, but the components are mapped via a - color table into the final output table instead of being converted directly. - - - -A set of values describing the possible byte-orders -for storing pixel values in memory. - - -@GDK_LSB_FIRST: The values are stored with the least-significant byte - first. For instance, the 32-bit value 0xffeecc would be stored - in memory as 0xcc, 0xee, 0xff, 0x00. -@GDK_MSB_FIRST: The values are stored with the most-significant byte -first. For instance, the 32-bit value 0xffeecc would be stored -in memory as 0x00, 0xcc, 0xee, 0xff. - - - - - - -@depths: -@count: - - - - - - - -@visual_types: -@count: - - - - - - - -@void: -@Returns: - - - - - - - -@visual: -@Returns: - - - - - - - -@visual: -@mask: -@shift: -@precision: - - - - - - - -@visual: -@Returns: - - - - - - - -@visual: -@Returns: - - - - - - - -@visual: -@Returns: - - - - - - - -@visual: -@mask: -@shift: -@precision: - - - - - - - -@visual: -@mask: -@shift: -@precision: - - - - - - - -@visual: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@depth: -@Returns: - - - - - - - -@visual_type: -@Returns: - - - - - - - -@depth: -@visual_type: -@Returns: - - - - - - - -@visual: -@Returns: - - diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 44efa3fa9c..4a18bd1bb5 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -111,6 +111,18 @@ typedef struct _GdkDrawable GdkWindow; typedef struct _GdkDisplay GdkDisplay; typedef struct _GdkScreen GdkScreen; +/** + * GdkByteOrder: + * @GDK_LSB_FIRST: The values are stored with the least-significant byte + * first. For instance, the 32-bit value 0xffeecc would be stored + * in memory as 0xcc, 0xee, 0xff, 0x00. + * @GDK_MSB_FIRST: The values are stored with the most-significant byte + * first. For instance, the 32-bit value 0xffeecc would be stored + * in memory as 0x00, 0xcc, 0xee, 0xff. + * + * A set of values describing the possible byte-orders + * for storing pixel values in memory. + */ typedef enum { GDK_LSB_FIRST, diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c index ea4c07f268..cba4a7b3d3 100644 --- a/gdk/gdkvisual.c +++ b/gdk/gdkvisual.c @@ -28,6 +28,33 @@ #include "gdkscreen.h" +/** + * SECTION:visuals + * @Short_description: Low-level display hardware information + * @Title: Visuals + * + * A #GdkVisual describes a particular video hardware display format. It includes + * information about the number of bits used for each color, the way the bits are + * translated into an RGB value for display, and the way the bits are stored in + * memory. For example, a piece of display hardware might support 24-bit color, + * 16-bit color, or 8-bit color; meaning 24/16/8-bit pixel sizes. For a given + * pixel size, pixels can be in different formats; for example the "red" element + * of an RGB pixel may be in the top 8 bits of the pixel, or may be in the lower + * 4 bits. + * + * There are several standard visuals. The visual returned by + * gdk_screen_get_system_visual() is the system's default visual. + * + * A number of functions are provided for determining the "best" available visual. + * For the purposes of making this determination, higher bit depths are considered + * better, and for visuals of the same bit depth, %GDK_VISUAL_PSEUDO_COLOR is + * preferred at 8bpp, otherwise, the visual types are ranked in the order of + * (highest to lowest) %GDK_VISUAL_DIRECT_COLOR, %GDK_VISUAL_TRUE_COLOR, + * %GDK_VISUAL_PSEUDO_COLOR, %GDK_VISUAL_STATIC_COLOR, %GDK_VISUAL_GRAYSCALE, + * then %GDK_VISUAL_STATIC_GRAY. + */ + + /** * gdk_list_visuals: * diff --git a/gdk/gdkvisual.h b/gdk/gdkvisual.h index 714a0e666c..5fa4ad919c 100644 --- a/gdk/gdkvisual.h +++ b/gdk/gdkvisual.h @@ -79,29 +79,44 @@ typedef enum GDK_VISUAL_DIRECT_COLOR } GdkVisualType; -/* The visual type. - * "type" is the type of visual this is (PseudoColor, TrueColor, etc). - * "depth" is the bit depth of this visual. - * "colormap_size" is the size of a colormap for this visual. - * "bits_per_rgb" is the number of significant bits per red, green and blue. - * The red, green and blue masks, shifts and precisions refer - * to value needed to calculate pixel values in TrueColor and DirectColor - * visuals. The "mask" is the significant bits within the pixel. The - * "shift" is the number of bits left we must shift a primary for it - * to be in position (according to the "mask"). "prec" refers to how - * much precision the pixel value contains for a particular primary. +/** + * GdkVisual: + * + * The #GdkVisual structure contains information about + * a particular visual. + * + * + * Constructing a pixel value from components + * + * guint + * pixel_from_rgb (GdkVisual *visual, + * guchar r, guchar b, guchar g) + * { + * return ((r >> (16 - visual->red_prec)) << visual->red_shift) | + * ((g >> (16 - visual->green_prec)) << visual->green_shift) | + * ((r >> (16 - visual->blue_prec)) << visual->blue_shift); + * } + * + * */ struct _GdkVisual { + /*< private >*/ GObject parent_instance; - /*< private >*/ - GdkVisualType GSEAL (type); - gint GSEAL (depth); + GdkVisualType GSEAL (type); /* Type of visual this is (PseudoColor, TrueColor, etc) */ + gint GSEAL (depth); /* Bit depth of this visual */ GdkByteOrder GSEAL (byte_order); - gint GSEAL (colormap_size); - gint GSEAL (bits_per_rgb); + gint GSEAL (colormap_size); /* Size of a colormap for this visual */ + gint GSEAL (bits_per_rgb); /* Number of significant bits per red, green and blue. */ + /* The red, green and blue masks, shifts and precisions refer + * to value needed to calculate pixel values in TrueColor and DirectColor + * visuals. The "mask" is the significant bits within the pixel. The + * "shift" is the number of bits left we must shift a primary for it + * to be in position (according to the "mask"). "prec" refers to how + * much precision the pixel value contains for a particular primary. + */ guint32 GSEAL (red_mask); gint GSEAL (red_shift); gint GSEAL (red_prec); From 7090aa1e1bf666cb68cafb6173ebd7c80861f157 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 17:20:51 +0100 Subject: [PATCH 0259/1463] docs: Move documentation to inline comments: gdkselection --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/selections.sgml | 279 ------------------------ gdk/gdkselection.c | 75 +++++++ gdk/gdkselection.h | 109 +++++++++ 4 files changed, 185 insertions(+), 279 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/selections.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 4341431194..e835592bcb 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -12,5 +12,6 @@ keys.sgml pango_interaction.sgml pixbufs.sgml regions.sgml +selections.sgml visuals.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/selections.sgml b/docs/reference/gdk/tmpl/selections.sgml deleted file mode 100644 index 1ce9b894ab..0000000000 --- a/docs/reference/gdk/tmpl/selections.sgml +++ /dev/null @@ -1,279 +0,0 @@ - -Selections - - -Functions for transfering data via the X selection mechanism - - - -The X selection mechanism provides a way to transfer -arbitrary chunks of data between programs. -A selection is a essentially -a named clipboard, identified by a string interned -as a #GdkAtom. By claiming ownership of a selection, -an application indicates that it will be responsible -for supplying its contents. The most common -selections are PRIMARY and -CLIPBOARD. - - -The contents of a selection can be represented in -a number of formats, called targets. -Each target is identified by an atom. A list of -all possible targets supported by the selection owner -can be retrieved by requesting the special target -TARGETS. When a selection is -retrieved, the data is accompanied by a type -(an atom), and a format (an integer, representing -the number of bits per item). -See Properties and Atoms -for more information. - - -The functions in this section only contain the lowlevel -parts of the selection protocol. A considerably more -complicated implementation is needed on top of this. -GTK+ contains such an implementation in the functions -in gtkselection.h and programmers -should use those functions instead of the ones presented -here. If you plan to implement selection handling -directly on top of the functions here, you should refer -to the X Inter-client Communication Conventions Manual -(ICCCM). - - - - - - - - - - - - - - - -A #GdkAtom representing the PRIMARY selection. - - - - - - -A #GdkAtom representing the SECONDARY selection. - - - - - - -A #GdkAtom representing the CLIPBOARD selection. - - - - - - -A #GdkAtom representing the BITMAP selection target. - - - - - - -A #GdkAtom representing the COLORMAP selection target. - - - - - - -A #GdkAtom representing the DRAWABLE selection target. - - - - - - -A #GdkAtom representing the PIXMAP selection target. - - - - - - -A #GdkAtom representing the STRING selection target. - - - - - - -A #GdkAtom representing the ATOM selection type. - - - - - - -A #GdkAtom representing the BITMAP selection type. - - - - - - -A #GdkAtom representing the COLORMAP selection type. - - - - - - -A #GdkAtom representing the DRAWABLE selection type. - - - - - - -A #GdkAtom representing the INTEGER selection type. - - - - - - -A #GdkAtom representing the PIXMAP selection type. - - - - - - -A #GdkAtom representing the WINDOW selection type. - - - - - - -A #GdkAtom representing the STRING selection type. - - - - - - -Sets the owner of the given selection. - - -@owner: a #GdkWindow or %NULL to indicate that the - the owner for the given should be unset. -@selection: an atom identifying a selection. -@time_: timestamp to use when setting the selection. - If this is older than the timestamp given last - time the owner was set for the given selection, the - request will be ignored. -@send_event: if %TRUE, and the new owner is different - from the current owner, the current owner - will be sent a SelectionClear event. -@Returns: %TRUE if the selection owner was successfully - changed to @owner, otherwise %FALSE. - - - - - - - -@display: -@owner: -@selection: -@time_: -@send_event: -@Returns: - - - - -Determines the owner of the given selection. - - -@selection: an atom indentifying a selection. -@Returns: if there is a selection owner for this window, - and it is a window known to the current process, - the #GdkWindow that owns the selection, otherwise - %NULL. Note that the return value may be owned - by a different process if a foreign window - was previously created for that window, but - a new foreign window will never be created by - this call. - - - - - - - -@display: -@selection: -@Returns: - - - - -Retrieves the contents of a selection in a given -form. - - -@requestor: a #GdkWindow. -@selection: an atom identifying the selection to get the - contents of. -@target: the form in which to retrieve the selection. -@time_: the timestamp to use when retrieving the - selection. The selection owner may refuse the - request if it did not own the selection at - the time indicated by the timestamp. - - - - - - -@requestor: -@data: -@prop_type: -@prop_format: -@Returns: - - - - -Sends a response to SelectionRequest event. - - -@requestor: window to which to deliver response. -@selection: selection that was requested. -@target: target that was selected. -@property: property in which the selection owner stored the - data, or %GDK_NONE to indicate that the request - was rejected. -@time_: timestamp. - - - - - - - -@display: -@requestor: -@selection: -@target: -@property: -@time_: - - diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index eed340a02b..fc191aa74f 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -32,6 +32,54 @@ #include "gdkdisplay.h" +/** + * SECTION:selections + * @Short_description: Functions for transfering data via the X selection mechanism + * @Title: Selections + * + * The X selection mechanism provides a way to transfer arbitrary chunks of + * data between programs. A selection is a essentially + * a named clipboard, identified by a string interned as a #GdkAtom. By + * claiming ownership of a selection, an application indicates that it will + * be responsible for supplying its contents. The most common selections are + * PRIMARY and CLIPBOARD. + * + * The contents of a selection can be represented in a number of formats, + * called targets. Each target is identified by an atom. + * A list of all possible targets supported by the selection owner can be + * retrieved by requesting the special target TARGETS. When + * a selection is retrieved, the data is accompanied by a type (an atom), and + * a format (an integer, representing the number of bits per item). + * See Properties and Atoms + * for more information. + * + * The functions in this section only contain the lowlevel parts of the + * selection protocol. A considerably more complicated implementation is needed + * on top of this. GTK+ contains such an implementation in the functions in + * gtkselection.h and programmers should use those functions + * instead of the ones presented here. If you plan to implement selection + * handling directly on top of the functions here, you should refer to the + * X Inter-client Communication Conventions Manual (ICCCM). + */ + +/** + * gdk_selection_owner_set: + * @owner: a #GdkWindow or %NULL to indicate that the + * the owner for the given should be unset. + * @selection: an atom identifying a selection. + * @time_: timestamp to use when setting the selection. + * If this is older than the timestamp given last + * time the owner was set for the given selection, the + * request will be ignored. + * @send_event: if %TRUE, and the new owner is different + * from the current owner, the current owner + * will be sent a SelectionClear event. + * + * Sets the owner of the given selection. + * + * Returns: %TRUE if the selection owner was successfully + * changed to @owner, otherwise %FALSE. + */ gboolean gdk_selection_owner_set (GdkWindow *owner, GdkAtom selection, @@ -43,6 +91,21 @@ gdk_selection_owner_set (GdkWindow *owner, time, send_event); } +/** + * gdk_selection_owner_get: + * @selection: an atom indentifying a selection. + * + * Determines the owner of the given selection. + * + * Returns: if there is a selection owner for this window, + * and it is a window known to the current process, + * the #GdkWindow that owns the selection, otherwise + * %NULL. Note that the return value may be owned + * by a different process if a foreign window + * was previously created for that window, but + * a new foreign window will never be created by + * this call. + */ GdkWindow* gdk_selection_owner_get (GdkAtom selection) { @@ -50,6 +113,18 @@ gdk_selection_owner_get (GdkAtom selection) selection); } +/** + * gdk_selection_send_notify: + * @requestor: window to which to deliver response. + * @selection: selection that was requested. + * @target: target that was selected. + * @property: property in which the selection owner stored the + * data, or %GDK_NONE to indicate that the request + * was rejected. + * @time_: timestamp. + * + * Sends a response to SelectionRequest event. + */ void gdk_selection_send_notify (GdkNativeWindow requestor, GdkAtom selection, diff --git a/gdk/gdkselection.h b/gdk/gdkselection.h index fc5d4b40e8..897e0c77cf 100644 --- a/gdk/gdkselection.h +++ b/gdk/gdkselection.h @@ -38,21 +38,116 @@ G_BEGIN_DECLS /* Predefined atoms relating to selections. In general, one will need to use * gdk_intern_atom */ +/** + * GDK_SELECTION_PRIMARY: + * + * A #GdkAtom representing the PRIMARY selection. + */ #define GDK_SELECTION_PRIMARY _GDK_MAKE_ATOM (1) + +/** + * GDK_SELECTION_SECONDARY: + * + * A #GdkAtom representing the SECONDARY selection. + */ #define GDK_SELECTION_SECONDARY _GDK_MAKE_ATOM (2) + +/** + * GDK_SELECTION_CLIPBOARD: + * + * A #GdkAtom representing the CLIPBOARD selection. + */ #define GDK_SELECTION_CLIPBOARD _GDK_MAKE_ATOM (69) + +/** + * GDK_TARGET_BITMAP: + * + * A #GdkAtom representing the BITMAP selection target. + */ #define GDK_TARGET_BITMAP _GDK_MAKE_ATOM (5) + +/** + * GDK_TARGET_COLORMAP: + * + * A #GdkAtom representing the COLORMAP selection target. + */ #define GDK_TARGET_COLORMAP _GDK_MAKE_ATOM (7) + +/** + * GDK_TARGET_DRAWABLE: + * + * A #GdkAtom representing the DRAWABLE selection target. + */ #define GDK_TARGET_DRAWABLE _GDK_MAKE_ATOM (17) + +/** + * GDK_TARGET_PIXMAP: + * + * A #GdkAtom representing the PIXMAP selection target. + */ #define GDK_TARGET_PIXMAP _GDK_MAKE_ATOM (20) + +/** + * GDK_TARGET_STRING: + * + * A #GdkAtom representing the STRING selection target. + */ #define GDK_TARGET_STRING _GDK_MAKE_ATOM (31) + +/** + * GDK_SELECTION_TYPE_ATOM: + * + * A #GdkAtom representing the ATOM selection type. + */ #define GDK_SELECTION_TYPE_ATOM _GDK_MAKE_ATOM (4) + +/** + * GDK_SELECTION_TYPE_BITMAP: + * + * A #GdkAtom representing the BITMAP selection type. + */ #define GDK_SELECTION_TYPE_BITMAP _GDK_MAKE_ATOM (5) + +/** + * GDK_SELECTION_TYPE_COLORMAP: + * + * A #GdkAtom representing the COLORMAP selection type. + */ #define GDK_SELECTION_TYPE_COLORMAP _GDK_MAKE_ATOM (7) + +/** + * GDK_SELECTION_TYPE_DRAWABLE: + * + * A #GdkAtom representing the DRAWABLE selection type. + */ #define GDK_SELECTION_TYPE_DRAWABLE _GDK_MAKE_ATOM (17) + +/** + * GDK_SELECTION_TYPE_INTEGER: + * + * A #GdkAtom representing the INTEGER selection type. + */ #define GDK_SELECTION_TYPE_INTEGER _GDK_MAKE_ATOM (19) + +/** + * GDK_SELECTION_TYPE_PIXMAP: + * + * A #GdkAtom representing the PIXMAP selection type. + */ #define GDK_SELECTION_TYPE_PIXMAP _GDK_MAKE_ATOM (20) + +/** + * GDK_SELECTION_TYPE_WINDOW: + * + * A #GdkAtom representing the WINDOW selection type. + */ #define GDK_SELECTION_TYPE_WINDOW _GDK_MAKE_ATOM (33) + +/** + * GDK_SELECTION_TYPE_STRING: + * + * A #GdkAtom representing the STRING selection type. + */ #define GDK_SELECTION_TYPE_STRING _GDK_MAKE_ATOM (31) /* Selections @@ -74,6 +169,20 @@ gboolean gdk_selection_owner_set_for_display (GdkDisplay *display, GdkWindow *gdk_selection_owner_get_for_display (GdkDisplay *display, GdkAtom selection); +/** + * gdk_selection_convert: + * @requestor: a #GdkWindow. + * @selection: an atom identifying the selection to get the + * contents of. + * @target: the form in which to retrieve the selection. + * @time_: the timestamp to use when retrieving the + * selection. The selection owner may refuse the + * request if it did not own the selection at + * the time indicated by the timestamp. + * + * Retrieves the contents of a selection in a given + * form. + */ void gdk_selection_convert (GdkWindow *requestor, GdkAtom selection, GdkAtom target, From 4d6c033d16dac78483b955fc48ea0dc860fcb223 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 17:59:52 +0100 Subject: [PATCH 0260/1463] docs: Move documentation to inline comments: properties --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/properties.sgml | 357 ------------------------ gdk/gdkproperty.h | 15 +- gdk/gdkselection.c | 35 +++ gdk/gdktypes.h | 27 ++ gdk/x11/gdkproperty-x11.c | 137 +++++++++ gdk/x11/gdkselection-x11.c | 15 + 7 files changed, 229 insertions(+), 358 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/properties.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index e835592bcb..cbc990eb2c 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -10,6 +10,7 @@ gdktesting.sgml general.sgml keys.sgml pango_interaction.sgml +properties.sgml pixbufs.sgml regions.sgml selections.sgml diff --git a/docs/reference/gdk/tmpl/properties.sgml b/docs/reference/gdk/tmpl/properties.sgml deleted file mode 100644 index 64a1b2d3f7..0000000000 --- a/docs/reference/gdk/tmpl/properties.sgml +++ /dev/null @@ -1,357 +0,0 @@ - -Properties and Atoms - - -Functions to manipulate properties on windows - - - -Each window under X can have any number of associated -properties attached to it. -Properties are arbitrary chunks of data identified by -atoms. (An atom -is a numeric index into a string table on the X server. They are used -to transfer strings efficiently between clients without -having to transfer the entire string.) A property -has an associated type, which is also identified -using an atom. - - -A property has an associated format, -an integer describing how many bits are in each unit -of data inside the property. It must be 8, 16, or 32. -When data is transferred between the server and client, -if they are of different endianesses it will be byteswapped -as necessary according to the format of the property. -Note that on the client side, properties of format 32 -will be stored with one unit per long, -even if a long integer has more than 32 bits on the platform. -(This decision was apparently made for Xlib to maintain -compatibility with programs that assumed longs were 32 -bits, at the expense of programs that knew better.) - - -The functions in this section are used to add, remove -and change properties on windows, to convert atoms -to and from strings and to manipulate some types of -data commonly stored in X window properties. - - - - - - - - - - - - - - - -An opaque type representing a string as an index into a table -of strings on the X server. - - - - - -Converts a #GdkAtom into a pointer type. - - -@atom: a #GdkAtom. - - - - -Extracts a #GdkAtom from a pointer. The #GdkAtom must have been -stored in the pointer with GDK_ATOM_TO_POINTER(). - - -@ptr: a pointer containing a #GdkAtom. - - - - -A null value for #GdkAtom, used in a similar way as None -in the Xlib API. - - - - - - -Converts a text string from the encoding as it is stored in -a property into an array of strings in the encoding of -the current local. (The elements of the array represent -the nul-separated elements of the original text string.) - - -@encoding: an atom representing the encoding. The most common - values for this are STRING, - or COMPOUND_TEXT. This is - value used as the type for the property. -@format: the format of the property. -@text: the text data. -@length: the length of the property, in items. -@list: location to store a terminated array of strings - in the encoding of the current locale. This - array should be freed using gdk_free_text_list(). -@Returns: the number of strings stored in @list, or 0, - if the conversion failed. - - - - - - - -@display: -@encoding: -@format: -@text: -@length: -@list: -@Returns: - - - - -Frees the array of strings created by -gdk_text_property_to_text_list(). - - -@list: the value stored in the @list parameter by - a call to gdk_text_property_to_text_list(). - - - - - - - -@encoding: -@format: -@text: -@length: -@list: -@Returns: - - - - - - - -@display: -@encoding: -@format: -@text: -@length: -@list: -@Returns: - - - - -Converts a string from the encoding of the current locale -into a form suitable for storing in a window property. - - -@str: a nul-terminated string. -@encoding: location to store the encoding atom (to be used as the type for the property). -@format: location to store the format for the property. -@ctext: location to store newly allocated data for the property. -@length: location to store the length of @ctext in items. -@Returns: 0 upon sucess, non-zero upon failure. - - - - - - - -@display: -@str: -@encoding: -@format: -@ctext: -@length: -@Returns: - - - - -Frees the data returned from gdk_string_to_compound_text(). - - -@ctext: The pointer stored in @ctext from a call to gdk_string_to_compound_text(). - - - - - - - -@str: -@Returns: - - - - - - - -@str: -@encoding: -@format: -@ctext: -@length: -@Returns: - - - - - - - -@display: -@str: -@encoding: -@format: -@ctext: -@length: -@Returns: - - - - -Finds or creates an atom corresponding to a given string. - - -@atom_name: a string. -@only_if_exists: if %TRUE, GDK is allowed to not create a new atom, but - just return %GDK_NONE if the requested atom doesn't already - exists. Currently, the flag is ignored, since checking the - existance of an atom is as expensive as creating it. -@Returns: the atom corresponding to @atom_name. - - - - - - - -@atom_name: -@Returns: - - - - -Determines the string corresponding to an atom. - - -@atom: a #GdkAtom. -@Returns: a newly-allocated string containing the string - corresponding to @atom. When you are done - with the return value, you should free it - using g_free(). - - - - -Retrieves a portion of the contents of a property. If the -property does not exist, then the function returns %FALSE, -and %GDK_NONE will be stored in @actual_property_type. - - - -The XGetWindowProperty() function that gdk_property_get() -uses has a very confusing and complicated set of semantics. -Unfortunately, gdk_property_get() makes the situation -worse instead of better (the semantics should be considered -undefined), and also prints warnings to stderr in cases where it -should return a useful error to the program. You are advised to use -XGetWindowProperty() directly until a replacement function for -gdk_property_get() -is provided. - - - -@window: a #GdkWindow. -@property: the property to retrieve. -@type: the desired property type, or %GDK_NONE, if any type of data - is acceptable. If this does not match the actual - type, then @actual_format and @actual_length will - be filled in, a warning will be printed to stderr - and no data will be returned. -@offset: the offset into the property at which to begin - retrieving data, in 4 byte units. -@length: the length of the data to retrieve in bytes. Data is - considered to be retrieved in 4 byte chunks, so @length - will be rounded up to the next highest 4 byte boundary - (so be careful not to pass a value that might overflow - when rounded up). -@pdelete: if %TRUE, delete the property after retrieving the - data. -@actual_property_type: location to store the actual type of - the property. -@actual_format: location to store the actual return format of the - data; either 8, 16 or 32 bits. -@actual_length: location to store the length of the retrieved data, in - bytes. Data returned in the 32 bit format is stored - in a long variable, so the actual number of 32 bit - elements should be be calculated via - @actual_length/sizeof(glong) to ensure portability to - 64 bit systems. -@data: location to store a pointer to the data. The retrieved - data should be freed with g_free() when you are finished - using it. -@Returns: %TRUE if data was successfully received and stored - in @data, otherwise %FALSE. - - - - -Changes the contents of a property on a window. - - -@window: a #GdkWindow. -@property: the property to change. -@type: the new type for the property. If @mode is - %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this - must match the existing type or an error will occur. -@format: the new format for the property. If @mode is - %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this - must match the existing format or an error will occur. -@mode: a value describing how the new data is to be combined - with the current data. -@data: the data - (a guchar * - gushort *, or - gulong *, depending on @format), cast to a - guchar *. -@nelements: the number of elements of size determined by the format, - contained in @data. - - - - -Describes how existing data is combined with new data when -using gdk_property_change(). - - -@GDK_PROP_MODE_REPLACE: the new data replaces the existing data. -@GDK_PROP_MODE_PREPEND: the new data is prepended to the existing data. -@GDK_PROP_MODE_APPEND: the new data is appended to the existing data. - - - -Deletes a property from a window. - - -@window: a #GdkWindow. -@property: the property to delete. - - diff --git a/gdk/gdkproperty.h b/gdk/gdkproperty.h index 48d5a07d67..4ea6f8153d 100644 --- a/gdk/gdkproperty.h +++ b/gdk/gdkproperty.h @@ -35,6 +35,16 @@ G_BEGIN_DECLS + +/** + * GdkPropMode: + * @GDK_PROP_MODE_REPLACE: the new data replaces the existing data. + * @GDK_PROP_MODE_PREPEND: the new data is prepended to the existing data. + * @GDK_PROP_MODE_APPEND: the new data is appended to the existing data. + * + * Describes how existing data is combined with new data when + * using gdk_property_change(). + */ typedef enum { GDK_PROP_MODE_REPLACE, @@ -42,11 +52,13 @@ typedef enum GDK_PROP_MODE_APPEND } GdkPropMode; + GdkAtom gdk_atom_intern (const gchar *atom_name, gboolean only_if_exists); GdkAtom gdk_atom_intern_static_string (const gchar *atom_name); gchar* gdk_atom_name (GdkAtom atom); + gboolean gdk_property_get (GdkWindow *window, GdkAtom property, GdkAtom type, @@ -66,6 +78,7 @@ void gdk_property_change (GdkWindow *window, gint nelements); void gdk_property_delete (GdkWindow *window, GdkAtom property); + #ifndef GDK_MULTIHEAD_SAFE gint gdk_text_property_to_text_list (GdkAtom encoding, gint format, @@ -87,7 +100,7 @@ gint gdk_string_to_compound_text (const gchar *str, gint *format, guchar **ctext, gint *length); -#endif +#endif /* GDK_MULTIHEAD_SAFE */ gint gdk_text_property_to_text_list_for_display (GdkDisplay *display, GdkAtom encoding, diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index fc191aa74f..0a4b428e40 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -137,6 +137,27 @@ gdk_selection_send_notify (GdkNativeWindow requestor, target, property, time); } +/** + * gdk_text_property_to_text_list: + * @encoding: an atom representing the encoding. The most common + * values for this are STRING, + * or COMPOUND_TEXT. This is + * value used as the type for the property. + * @format: the format of the property. + * @text: the text data. + * @length: the length of the property, in items. + * @list: location to store a terminated array of strings + * in the encoding of the current locale. This + * array should be freed using gdk_free_text_list(). + * + * Converts a text string from the encoding as it is stored in + * a property into an array of strings in the encoding of + * the current local. (The elements of the array represent + * the nul-separated elements of the original text string.) + * + * Returns: the number of strings stored in @list, or 0, + * if the conversion failed. + */ gint gdk_text_property_to_text_list (GdkAtom encoding, gint format, @@ -174,6 +195,20 @@ gdk_text_property_to_utf8_list (GdkAtom encoding, encoding, format, text, length, list); } +/** + * gdk_string_to_compound_text: + * @str: a nul-terminated string. + * @encoding: location to store the encoding atom (to be used as + * the type for the property). + * @format: location to store the format for the property. + * @ctext: location to store newly allocated data for the property. + * @length: location to store the length of @ctext in items. + * + * Converts a string from the encoding of the current locale + * into a form suitable for storing in a window property. + * + * Returns: 0 upon sucess, non-zero upon failure. + */ gint gdk_string_to_compound_text (const gchar *str, GdkAtom *encoding, diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 4a18bd1bb5..de5ebe27c7 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -73,9 +73,29 @@ typedef struct _GdkPoint GdkPoint; */ typedef cairo_rectangle_int_t GdkRectangle; +/** + * GdkAtom: + * + * An opaque type representing a string as an index into a table + * of strings on the X server. + */ typedef struct _GdkAtom *GdkAtom; +/** + * GDK_ATOM_TO_POINTER: + * @atom: a #GdkAtom. + * + * Converts a #GdkAtom into a pointer type. + */ #define GDK_ATOM_TO_POINTER(atom) (atom) + +/** + * GDK_POINTER_TO_ATOM: + * @ptr: a pointer containing a #GdkAtom. + * + * Extracts a #GdkAtom from a pointer. The #GdkAtom must have been + * stored in the pointer with GDK_ATOM_TO_POINTER(). + */ #define GDK_POINTER_TO_ATOM(ptr) ((GdkAtom)(ptr)) #ifdef GDK_NATIVE_WINDOW_POINTER @@ -85,6 +105,13 @@ typedef struct _GdkAtom *GdkAtom; #endif #define _GDK_MAKE_ATOM(val) ((GdkAtom)GUINT_TO_POINTER(val)) + +/** + * GDK_NONE: + * + * A null value for #GdkAtom, used in a similar way as + * None in the Xlib API. + */ #define GDK_NONE _GDK_MAKE_ATOM (0) #ifdef GDK_NATIVE_WINDOW_POINTER diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index 4f8d51bea3..b55cd42e5f 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -41,6 +41,41 @@ #include +/** + * SECTION:properties + * @Short_description: Functions to manipulate properties on windows + * @Title: Properties and Atoms + * + * Each window under X can have any number of associated + * properties attached to it. + * Properties are arbitrary chunks of data identified by + * atoms. (An atom + * is a numeric index into a string table on the X server. They are used + * to transfer strings efficiently between clients without + * having to transfer the entire string.) A property + * has an associated type, which is also identified + * using an atom. + * + * A property has an associated format, + * an integer describing how many bits are in each unit + * of data inside the property. It must be 8, 16, or 32. + * When data is transferred between the server and client, + * if they are of different endianesses it will be byteswapped + * as necessary according to the format of the property. + * Note that on the client side, properties of format 32 + * will be stored with one unit per long, + * even if a long integer has more than 32 bits on the platform. + * (This decision was apparently made for Xlib to maintain + * compatibility with programs that assumed longs were 32 + * bits, at the expense of programs that knew better.) + * + * The functions in this section are used to add, remove + * and change properties on windows, to convert atoms + * to and from strings and to manipulate some types of + * data commonly stored in X window properties. + */ + + static GPtrArray *virtual_atom_array; static GHashTable *virtual_atom_hash; @@ -395,6 +430,18 @@ intern_atom (const gchar *atom_name, return result; } +/** + * gdk_atom_intern: + * @atom_name: a string. + * @only_if_exists: if %TRUE, GDK is allowed to not create a new atom, but + * just return %GDK_NONE if the requested atom doesn't already + * exists. Currently, the flag is ignored, since checking the + * existance of an atom is as expensive as creating it. + * + * Finds or creates an atom corresponding to a given string. + * + * Returns: the atom corresponding to @atom_name. + */ GdkAtom gdk_atom_intern (const gchar *atom_name, gboolean only_if_exists) @@ -438,6 +485,16 @@ get_atom_name (GdkAtom atom) return NULL; } +/** + * gdk_atom_name: + * @atom: a #GdkAtom. + * + * Determines the string corresponding to an atom. + * + * Returns: a newly-allocated string containing the string + * corresponding to @atom. When you are done with the + * return value, you should free it using g_free(). + */ gchar * gdk_atom_name (GdkAtom atom) { @@ -526,6 +583,59 @@ gdk_x11_get_xatom_name (Atom xatom) return get_atom_name (gdk_x11_xatom_to_atom (xatom)); } +/** + * gdk_property_get: + * @window: a #GdkWindow. + * @property: the property to retrieve. + * @type: the desired property type, or %GDK_NONE, if any type of data + * is acceptable. If this does not match the actual + * type, then @actual_format and @actual_length will + * be filled in, a warning will be printed to stderr + * and no data will be returned. + * @offset: the offset into the property at which to begin + * retrieving data, in 4 byte units. + * @length: the length of the data to retrieve in bytes. Data is + * considered to be retrieved in 4 byte chunks, so @length + * will be rounded up to the next highest 4 byte boundary + * (so be careful not to pass a value that might overflow + * when rounded up). + * @pdelete: if %TRUE, delete the property after retrieving the + * data. + * @actual_property_type: location to store the actual type of + * the property. + * @actual_format: location to store the actual return format of the + * data; either 8, 16 or 32 bits. + * @actual_length: location to store the length of the retrieved data, in + * bytes. Data returned in the 32 bit format is stored + * in a long variable, so the actual number of 32 bit + * elements should be be calculated via + * @actual_length / sizeof(glong) to ensure portability to + * 64 bit systems. + * @data: location to store a pointer to the data. The retrieved + * data should be freed with g_free() when you are finished + * using it. + * + * Retrieves a portion of the contents of a property. If the + * property does not exist, then the function returns %FALSE, + * and %GDK_NONE will be stored in @actual_property_type. + * + * + * + * The XGetWindowProperty() function that gdk_property_get() + * uses has a very confusing and complicated set of semantics. + * Unfortunately, gdk_property_get() makes the situation + * worse instead of better (the semantics should be considered + * undefined), and also prints warnings to stderr in cases where it + * should return a useful error to the program. You are advised to use + * XGetWindowProperty() directly until a replacement function for + * gdk_property_get() + * is provided. + * + * + * + * Returns: %TRUE if data was successfully received and stored + * in @data, otherwise %FALSE. + */ gboolean gdk_property_get (GdkWindow *window, GdkAtom property, @@ -672,6 +782,26 @@ gdk_property_get (GdkWindow *window, return TRUE; } +/** + * gdk_property_change: + * @window: a #GdkWindow. + * @property: the property to change. + * @type: the new type for the property. If @mode is + * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this + * must match the existing type or an error will occur. + * @format: the new format for the property. If @mode is + * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this + * must match the existing format or an error will occur. + * @mode: a value describing how the new data is to be combined + * with the current data. + * @data: the data (a guchar * + * gushort *, or gulong *, + * depending on @format), cast to a guchar *. + * @nelements: the number of elements of size determined by the format, + * contained in @data. + * + * Changes the contents of a property on a window. + */ void gdk_property_change (GdkWindow *window, GdkAtom property, @@ -735,6 +865,13 @@ gdk_property_change (GdkWindow *window, xtype, format, mode, (guchar *)data, nelements); } +/** + * gdk_property_delete: + * @window: a #GdkWindow. + * @property: the property to delete. + * + * Deletes a property from a window. + */ void gdk_property_delete (GdkWindow *window, GdkAtom property) diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 6d9e03ac68..03ec39670e 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -480,6 +480,14 @@ gdk_text_property_to_text_list_for_display (GdkDisplay *display, } } +/** + * gdk_free_text_list: + * @list: the value stored in the @list parameter by + * a call to gdk_text_property_to_text_list(). + * + * Frees the array of strings created by + * gdk_text_property_to_text_list(). + */ void gdk_free_text_list (gchar **list) { @@ -884,6 +892,13 @@ gdk_utf8_to_compound_text_for_display (GdkDisplay *display, return result; } +/** + * gdk_free_compound_text: + * @ctext: The pointer stored in @ctext from a call to + * gdk_string_to_compound_text(). + * + * Frees the data returned from gdk_string_to_compound_text(). + */ void gdk_free_compound_text (guchar *ctext) { if (ctext) From 7524d5fcbec3e9155c18b3e45bbac23527ab68d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 19:15:00 +0100 Subject: [PATCH 0261/1463] docs: Move documentation to inline comments: gdkevents --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/events.sgml | 430 ---------------------------- gdk/gdkevents.c | 17 ++ gdk/gdkevents.h | 108 +++++-- gdk/gdktypes.h | 49 +++- 5 files changed, 150 insertions(+), 455 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/events.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index cbc990eb2c..0256910f06 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -2,6 +2,7 @@ cairo_interaction.sgml colors.sgml cursors.sgml dnd.sgml +events.sgml gdkapplaunchcontext.sgml gdkdisplay.sgml gdkdisplaymanager.sgml diff --git a/docs/reference/gdk/tmpl/events.sgml b/docs/reference/gdk/tmpl/events.sgml deleted file mode 100644 index b8c3370f97..0000000000 --- a/docs/reference/gdk/tmpl/events.sgml +++ /dev/null @@ -1,430 +0,0 @@ - -Events - - -Functions for handling events from the window system - - - -This section describes functions dealing with events from the window system. - - -In GTK+ applications the events are handled automatically in -gtk_main_do_event() and passed on to the appropriate widgets, so these -functions are rarely needed. Though some of the fields in the -Event Structures are useful. - - - - - - -Event Structures - -The structs used for each type of event. - - - - - - - - - - - - - -Specifies the type of the event. - - -Do not confuse these events with the signals that GTK+ widgets emit. -Although many of these events result in corresponding signals being emitted, -the events are often transformed or filtered along the way. - - -@GDK_NOTHING: a special code to indicate a null event. -@GDK_DELETE: the window manager has requested that the toplevel window be -hidden or destroyed, usually when the user clicks on a special icon in the -title bar. -@GDK_DESTROY: the window has been destroyed. -@GDK_EXPOSE: all or part of the window has become visible and needs to be -redrawn. -@GDK_MOTION_NOTIFY: the pointer (usually a mouse) has moved. -@GDK_BUTTON_PRESS: a mouse button has been pressed. -@GDK_2BUTTON_PRESS: a mouse button has been double-clicked (clicked twice -within a short period of time). Note that each click also generates a -%GDK_BUTTON_PRESS event. -@GDK_3BUTTON_PRESS: a mouse button has been clicked 3 times in a short period -of time. Note that each click also generates a %GDK_BUTTON_PRESS event. -@GDK_BUTTON_RELEASE: a mouse button has been released. -@GDK_KEY_PRESS: a key has been pressed. -@GDK_KEY_RELEASE: a key has been released. -@GDK_ENTER_NOTIFY: the pointer has entered the window. -@GDK_LEAVE_NOTIFY: the pointer has left the window. -@GDK_FOCUS_CHANGE: the keyboard focus has entered or left the window. -@GDK_CONFIGURE: the size, position or stacking order of the window has changed. -Note that GTK+ discards these events for %GDK_WINDOW_CHILD windows. -@GDK_MAP: the window has been mapped. -@GDK_UNMAP: the window has been unmapped. -@GDK_PROPERTY_NOTIFY: a property on the window has been changed or deleted. -@GDK_SELECTION_CLEAR: the application has lost ownership of a selection. -@GDK_SELECTION_REQUEST: another application has requested a selection. -@GDK_SELECTION_NOTIFY: a selection has been received. -@GDK_PROXIMITY_IN: an input device has moved into contact with a sensing -surface (e.g. a touchscreen or graphics tablet). -@GDK_PROXIMITY_OUT: an input device has moved out of contact with a sensing -surface. -@GDK_DRAG_ENTER: the mouse has entered the window while a drag is in progress. -@GDK_DRAG_LEAVE: the mouse has left the window while a drag is in progress. -@GDK_DRAG_MOTION: the mouse has moved in the window while a drag is in -progress. -@GDK_DRAG_STATUS: the status of the drag operation initiated by the window -has changed. -@GDK_DROP_START: a drop operation onto the window has started. -@GDK_DROP_FINISHED: the drop operation initiated by the window has completed. -@GDK_CLIENT_EVENT: a message has been received from another application. -@GDK_VISIBILITY_NOTIFY: the window visibility status has changed. -@GDK_NO_EXPOSE: indicates that the source region was completely available -when parts of a drawable were copied. This is not very useful. -@GDK_SCROLL: the scroll wheel was turned -@GDK_WINDOW_STATE: the state of a window has changed. See #GdkWindowState -for the possible window states -@GDK_SETTING: a setting has been modified. -@GDK_OWNER_CHANGE: the owner of a selection has changed. This event type - was added in 2.6 -@GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type - was added in 2.8. -@GDK_DAMAGE: the content of the window has been changed. This event type - was added in 2.14. -@GDK_EVENT_LAST: marks the end of the GdkEventType enumeration. Added in 2.18 - - - -A set of bit-flags to indicate which events a window is to receive. -Most of these masks map onto one or more of the #GdkEventType event types -above. - - -%GDK_POINTER_MOTION_HINT_MASK is a special mask which is used to reduce the -number of %GDK_MOTION_NOTIFY events received. Normally a %GDK_MOTION_NOTIFY -event is received each time the mouse moves. However, if the application -spends a lot of time processing the event (updating the display, for example), -it can lag behind the position of the mouse. When using -%GDK_POINTER_MOTION_HINT_MASK, fewer %GDK_MOTION_NOTIFY events will be sent, -some of which are marked as a hint (the is_hint member is %TRUE). -To receive more motion events after a motion hint event, the application -needs to asks for more, by calling gdk_event_request_motions(). - - -@GDK_EXPOSURE_MASK: receive expose events -@GDK_POINTER_MOTION_MASK: receive all pointer motion events -@GDK_POINTER_MOTION_HINT_MASK: see the explanation above -@GDK_BUTTON_MOTION_MASK: receive pointer motion events while any button is pressed -@GDK_BUTTON1_MOTION_MASK: receive pointer motion events while 1 button is pressed -@GDK_BUTTON2_MOTION_MASK: receive pointer motion events while 2 button is pressed -@GDK_BUTTON3_MOTION_MASK: receive pointer motion events while 3 button is pressed -@GDK_BUTTON_PRESS_MASK: receive button press events -@GDK_BUTTON_RELEASE_MASK: receive button release events -@GDK_KEY_PRESS_MASK: receive key press events -@GDK_KEY_RELEASE_MASK: receive key release events -@GDK_ENTER_NOTIFY_MASK: receive window enter events -@GDK_LEAVE_NOTIFY_MASK: receive window leave events -@GDK_FOCUS_CHANGE_MASK: receive focus change events -@GDK_STRUCTURE_MASK: receive events about window configuration change -@GDK_PROPERTY_CHANGE_MASK: receive property change events -@GDK_VISIBILITY_NOTIFY_MASK: receive visibility change events -@GDK_PROXIMITY_IN_MASK: receive proximity in events -@GDK_PROXIMITY_OUT_MASK: receive proximity out events -@GDK_SUBSTRUCTURE_MASK: receive events about window configuration changes of - child windows -@GDK_SCROLL_MASK: receive scroll events -@GDK_ALL_EVENTS_MASK: the combination of all the above event masks. - - - -Represents the current time, and can be used anywhere a time is expected. - - - - - - -This is the priority that events from the X server are given in the -GLib Main Loop. - - - - - - -This is the priority that the idle handler processing window updates -is given in the GLib Main Loop. - - - - - - - - -@void: -@Returns: - - - - - - -@void: -@Returns: - - - - - - -@void: -@Returns: - - - - - - -@event: - - - - - - - -@type: -@Returns: - - - - - - -@event: -@Returns: - - - - - - -@event: a #GdkEvent. - - - - - - -@event: -@Returns: - - - - - - - -@event: -@state: -@Returns: - - - - - - - -@event: -@axis_use: -@value: -@Returns: - - - - - - - -@event: -@x_win: -@y_win: -@Returns: - - - - - - - -@event: -@x_root: -@y_root: -@Returns: - - - - - - - -@event: - - - - - - - -@event1: -@event2: -@angle: -@Returns: - - - - - - - -@event1: -@event2: -@x: -@y: -@Returns: - - - - - - - -@event1: -@event2: -@distance: -@Returns: - - - - - - -@func: -@data: -@notify: - - - - -Specifies the type of function passed to gdk_event_handler_set() to handle -all GDK events. - - -@event: the #GdkEvent to process. -@data: user data set when the event handler was installed with -gdk_event_handler_set(). - - - - - - -@event: -@winid: -@Returns: - - - - - - - -@display: -@event: -@winid: -@Returns: - - - - - - -@event: - - - - - - -@message_type: -@func: -@data: - - - - - - -@void: -@Returns: - - - - - - -@show_events: - - - - - - - -@event: -@screen: - - - - - - - -@event: -@Returns: - - - - - - - -@event: -@Returns: - - - - - - - -@event: -@device: - - - - - - -@name: -@value: -@Returns: - - diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 920245d8cd..fa61e082b9 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -31,6 +31,23 @@ #include #include + +/** + * SECTION:events + * @Short_description: Functions for handling events from the window system + * @Title: Events + * @See_also: Event Structures + * + * This section describes functions dealing with events from the window + * system. + * + * In GTK+ applications the events are handled automatically in + * gtk_main_do_event() and passed on to the appropriate widgets, so these + * functions are rarely needed. Though some of the fields in the + * Event Structures are useful. + */ + + typedef struct _GdkIOClosure GdkIOClosure; struct _GdkIOClosure diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h index e3441af2b7..9dd7e52dd8 100644 --- a/gdk/gdkevents.h +++ b/gdk/gdkevents.h @@ -40,7 +40,21 @@ G_BEGIN_DECLS #define GDK_TYPE_EVENT (gdk_event_get_type ()) +/** + * GDK_PRIORITY_EVENTS: + * + * This is the priority that events from the X server are given in the + * GLib Main Loop. + */ #define GDK_PRIORITY_EVENTS (G_PRIORITY_DEFAULT) + +/** + * GDK_PRIORITY_REDRAW: + * + * This is the priority that the idle handler processing window updates + * is given in the + * GLib Main Loop. + */ #define GDK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) @@ -67,6 +81,15 @@ typedef struct _GdkEventGrabBroken GdkEventGrabBroken; typedef union _GdkEvent GdkEvent; +/** + * GdkEventFunc: + * @event: the #GdkEvent to process. + * @data: user data set when the event handler was installed with + * gdk_event_handler_set(). + * + * Specifies the type of function passed to gdk_event_handler_set() to + * handle all GDK events. + */ typedef void (*GdkEventFunc) (GdkEvent *event, gpointer data); @@ -121,28 +144,69 @@ typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent, gpointer data); -/* Event types. - * Nothing: No event occurred. - * Delete: A window delete event was sent by the window manager. - * The specified window should be deleted. - * Destroy: A window has been destroyed. - * Expose: Part of a window has been uncovered. - * NoExpose: Same as expose, but no expose event was generated. - * VisibilityNotify: A window has become fully/partially/not obscured. - * MotionNotify: The mouse has moved. - * ButtonPress: A mouse button was pressed. - * ButtonRelease: A mouse button was release. - * KeyPress: A key was pressed. - * KeyRelease: A key was released. - * EnterNotify: A window was entered. - * LeaveNotify: A window was exited. - * FocusChange: The focus window has changed. (The focus window gets - * keyboard events). - * Resize: A window has been resized. - * Map: A window has been mapped. (It is now visible on the screen). - * Unmap: A window has been unmapped. (It is no longer visible on - * the screen). - * Scroll: A mouse wheel was scrolled either up or down. +/** + * GdkEventType: + * @GDK_NOTHING: a special code to indicate a null event. + * @GDK_DELETE: the window manager has requested that the toplevel window be + * hidden or destroyed, usually when the user clicks on a special icon in the + * title bar. + * @GDK_DESTROY: the window has been destroyed. + * @GDK_EXPOSE: all or part of the window has become visible and needs to be + * redrawn. + * @GDK_MOTION_NOTIFY: the pointer (usually a mouse) has moved. + * @GDK_BUTTON_PRESS: a mouse button has been pressed. + * @GDK_2BUTTON_PRESS: a mouse button has been double-clicked (clicked twice + * within a short period of time). Note that each click also generates a + * %GDK_BUTTON_PRESS event. + * @GDK_3BUTTON_PRESS: a mouse button has been clicked 3 times in a short period + * of time. Note that each click also generates a %GDK_BUTTON_PRESS event. + * @GDK_BUTTON_RELEASE: a mouse button has been released. + * @GDK_KEY_PRESS: a key has been pressed. + * @GDK_KEY_RELEASE: a key has been released. + * @GDK_ENTER_NOTIFY: the pointer has entered the window. + * @GDK_LEAVE_NOTIFY: the pointer has left the window. + * @GDK_FOCUS_CHANGE: the keyboard focus has entered or left the window. + * @GDK_CONFIGURE: the size, position or stacking order of the window has changed. + * Note that GTK+ discards these events for %GDK_WINDOW_CHILD windows. + * @GDK_MAP: the window has been mapped. + * @GDK_UNMAP: the window has been unmapped. + * @GDK_PROPERTY_NOTIFY: a property on the window has been changed or deleted. + * @GDK_SELECTION_CLEAR: the application has lost ownership of a selection. + * @GDK_SELECTION_REQUEST: another application has requested a selection. + * @GDK_SELECTION_NOTIFY: a selection has been received. + * @GDK_PROXIMITY_IN: an input device has moved into contact with a sensing + * surface (e.g. a touchscreen or graphics tablet). + * @GDK_PROXIMITY_OUT: an input device has moved out of contact with a sensing + * surface. + * @GDK_DRAG_ENTER: the mouse has entered the window while a drag is in progress. + * @GDK_DRAG_LEAVE: the mouse has left the window while a drag is in progress. + * @GDK_DRAG_MOTION: the mouse has moved in the window while a drag is in + * progress. + * @GDK_DRAG_STATUS: the status of the drag operation initiated by the window + * has changed. + * @GDK_DROP_START: a drop operation onto the window has started. + * @GDK_DROP_FINISHED: the drop operation initiated by the window has completed. + * @GDK_CLIENT_EVENT: a message has been received from another application. + * @GDK_VISIBILITY_NOTIFY: the window visibility status has changed. + * @GDK_NO_EXPOSE: indicates that the source region was completely available + * when parts of a drawable were copied. This is not very useful. + * @GDK_SCROLL: the scroll wheel was turned + * @GDK_WINDOW_STATE: the state of a window has changed. See #GdkWindowState + * for the possible window states + * @GDK_SETTING: a setting has been modified. + * @GDK_OWNER_CHANGE: the owner of a selection has changed. This event type + * was added in 2.6 + * @GDK_GRAB_BROKEN: a pointer or keyboard grab was broken. This event type + * was added in 2.8. + * @GDK_DAMAGE: the content of the window has been changed. This event type + * was added in 2.14. + * @GDK_EVENT_LAST: marks the end of the GdkEventType enumeration. Added in 2.18 + * + * Specifies the type of the event. + * + * Do not confuse these events with the signals that GTK+ widgets emit. + * Although many of these events result in corresponding signals being emitted, + * the events are often transformed or filtered along the way. */ typedef enum { diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index de5ebe27c7..a7c1e5713e 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -46,6 +46,12 @@ #include /* some common magic values */ + +/** + * GDK_CURRENT_TIME: + * + * Represents the current time, and can be used anywhere a time is expected. + */ #define GDK_CURRENT_TIME 0L /** @@ -272,9 +278,46 @@ typedef enum GDK_OWNERSHIP_APPLICATION } GdkGrabOwnership; -/* Event masks. (Used to select what types of events a window - * * will receive). - * */ +/** + * GdkEventMask: + * @GDK_EXPOSURE_MASK: receive expose events + * @GDK_POINTER_MOTION_MASK: receive all pointer motion events + * @GDK_POINTER_MOTION_HINT_MASK: see the explanation above + * @GDK_BUTTON_MOTION_MASK: receive pointer motion events while any button is pressed + * @GDK_BUTTON1_MOTION_MASK: receive pointer motion events while 1 button is pressed + * @GDK_BUTTON2_MOTION_MASK: receive pointer motion events while 2 button is pressed + * @GDK_BUTTON3_MOTION_MASK: receive pointer motion events while 3 button is pressed + * @GDK_BUTTON_PRESS_MASK: receive button press events + * @GDK_BUTTON_RELEASE_MASK: receive button release events + * @GDK_KEY_PRESS_MASK: receive key press events + * @GDK_KEY_RELEASE_MASK: receive key release events + * @GDK_ENTER_NOTIFY_MASK: receive window enter events + * @GDK_LEAVE_NOTIFY_MASK: receive window leave events + * @GDK_FOCUS_CHANGE_MASK: receive focus change events + * @GDK_STRUCTURE_MASK: receive events about window configuration change + * @GDK_PROPERTY_CHANGE_MASK: receive property change events + * @GDK_VISIBILITY_NOTIFY_MASK: receive visibility change events + * @GDK_PROXIMITY_IN_MASK: receive proximity in events + * @GDK_PROXIMITY_OUT_MASK: receive proximity out events + * @GDK_SUBSTRUCTURE_MASK: receive events about window configuration changes of + * child windows + * @GDK_SCROLL_MASK: receive scroll events + * @GDK_ALL_EVENTS_MASK: the combination of all the above event masks. + * + * A set of bit-flags to indicate which events a window is to receive. + * Most of these masks map onto one or more of the #GdkEventType event types + * above. + * + * %GDK_POINTER_MOTION_HINT_MASK is a special mask which is used to reduce the + * number of %GDK_MOTION_NOTIFY events received. Normally a %GDK_MOTION_NOTIFY + * event is received each time the mouse moves. However, if the application + * spends a lot of time processing the event (updating the display, for example), + * it can lag behind the position of the mouse. When using + * %GDK_POINTER_MOTION_HINT_MASK, fewer %GDK_MOTION_NOTIFY events will be sent, + * some of which are marked as a hint (the is_hint member is %TRUE). + * To receive more motion events after a motion hint event, the application + * needs to asks for more, by calling gdk_event_request_motions(). + */ typedef enum { GDK_EXPOSURE_MASK = 1 << 1, From dd2db852ccfcfe11481f636c9d1e3bc8712e06af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 19:37:28 +0100 Subject: [PATCH 0262/1463] docs: Move documentation to inline comments: gdkthreads --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/threads.sgml | 381 --------------------------- gdk/gdk.c | 245 ++++++++++++++++- gdk/gdkthreads.h | 17 ++ 4 files changed, 262 insertions(+), 382 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/threads.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 0256910f06..7b5f673a1e 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -15,5 +15,6 @@ properties.sgml pixbufs.sgml regions.sgml selections.sgml +threads.sgml visuals.sgml windows.sgml diff --git a/docs/reference/gdk/tmpl/threads.sgml b/docs/reference/gdk/tmpl/threads.sgml deleted file mode 100644 index 7b857d8794..0000000000 --- a/docs/reference/gdk/tmpl/threads.sgml +++ /dev/null @@ -1,381 +0,0 @@ - -Threads - - -Functions for using GDK in multi-threaded programs - - - -For thread safety, GDK relies on the thread primitives in GLib, -and on the thread-safe GLib main loop. - - -GLib is completely thread safe (all global data is automatically -locked), but individual data structure instances are not automatically -locked for performance reasons. So e.g. you must coordinate -accesses to the same #GHashTable from multiple threads. - - -GTK+ is "thread aware" but not thread safe — it provides a -global lock controlled by gdk_threads_enter()/gdk_threads_leave() -which protects all use of GTK+. That is, only one thread can use GTK+ -at any given time. - - -Unfortunately the above holds with the X11 backend only. With the -Win32 backend, GDK calls should not be attempted from multiple threads -at all. - - -You must call g_thread_init() and gdk_threads_init() before executing -any other GTK+ or GDK functions in a threaded GTK+ program. - - -Idles, timeouts, and input functions from GLib, such as g_idle_add(), are -executed outside of the main GTK+ lock. -So, if you need to call GTK+ inside of such a callback, you must surround -the callback with a gdk_threads_enter()/gdk_threads_leave() pair or use -gdk_threads_add_idle_full() which does this for you. -However, event dispatching from the mainloop is still executed within -the main GTK+ lock, so callback functions connected to event signals -like GtkWidget::button-press-event, do not need thread protection. - - -In particular, this means, if you are writing widgets that might -be used in threaded programs, you must surround -timeouts and idle functions in this matter. - - -As always, you must also surround any calls to GTK+ not made within -a signal handler with a gdk_threads_enter()/gdk_threads_leave() pair. - - - -Before calling gdk_threads_leave() from a thread other -than your main thread, you probably want to call gdk_flush() -to send all pending commands to the windowing system. -(The reason you don't need to do this from the main thread -is that GDK always automatically flushes pending commands -when it runs out of incoming events to process and has -to sleep while waiting for more events.) - - -A minimal main program for a threaded GTK+ application -looks like: - - - -int -main (int argc, char *argv[]) -{ - GtkWidget *window; - - g_thread_init (NULL); - gdk_threads_init (); - gdk_threads_enter (); - - gtk_init (&argc, &argv); - - window = create_window (); - gtk_widget_show (window); - - gtk_main (); - gdk_threads_leave (); - - return 0; -} - - - - -Callbacks require a bit of attention. Callbacks from GTK+ signals -are made within the GTK+ lock. However callbacks from GLib (timeouts, -IO callbacks, and idle functions) are made outside of the GTK+ -lock. So, within a signal handler you do not need to call -gdk_threads_enter(), but within the other types of callbacks, you -do. - - -Erik Mouw contributed the following code example to -illustrate how to use threads within GTK+ programs. - - - - -/*------------------------------------------------------------------------- - * Filename: gtk-thread.c - * Version: 0.99.1 - * Copyright: Copyright (C) 1999, Erik Mouw - * Author: Erik Mouw <J.A.K.Mouw@its.tudelft.nl> - * Description: GTK threads example. - * Created at: Sun Oct 17 21:27:09 1999 - * Modified by: Erik Mouw <J.A.K.Mouw@its.tudelft.nl> - * Modified at: Sun Oct 24 17:21:41 1999 - *-----------------------------------------------------------------------*/ -/* - * Compile with: - * - * cc -o gtk-thread gtk-thread.c `gtk-config --cflags --libs gthread` - * - * Thanks to Sebastian Wilhelmi and Owen Taylor for pointing out some - * bugs. - * - */ - -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <time.h> -#include <gtk/gtk.h> -#include <glib.h> -#include <pthread.h> - -#define YES_IT_IS (1) -#define NO_IT_IS_NOT (0) - -typedef struct -{ - GtkWidget *label; - int what; -} yes_or_no_args; - -G_LOCK_DEFINE_STATIC (yes_or_no); -static volatile int yes_or_no = YES_IT_IS; - -void destroy (GtkWidget *widget, gpointer data) -{ - gtk_main_quit (); -} - -void *argument_thread (void *args) -{ - yes_or_no_args *data = (yes_or_no_args *)args; - gboolean say_something; - - for (;;) - { - /* sleep a while */ - sleep(rand() / (RAND_MAX / 3) + 1); - - /* lock the yes_or_no_variable */ - G_LOCK(yes_or_no); - - /* do we have to say something? */ - say_something = (yes_or_no != data->what); - - if(say_something) - { - /* set the variable */ - yes_or_no = data->what; - } - - /* Unlock the yes_or_no variable */ - G_UNLOCK (yes_or_no); - - if (say_something) - { - /* get GTK thread lock */ - gdk_threads_enter (); - - /* set label text */ - if(data->what == YES_IT_IS) - gtk_label_set_text (GTK_LABEL (data->label), "O yes, it is!"); - else - gtk_label_set_text (GTK_LABEL (data->label), "O no, it isn't!"); - - /* release GTK thread lock */ - gdk_threads_leave (); - } - } - - return NULL; -} - -int main (int argc, char *argv[]) -{ - GtkWidget *window; - GtkWidget *label; - yes_or_no_args yes_args, no_args; - pthread_t no_tid, yes_tid; - - /* init threads */ - g_thread_init (NULL); - gdk_threads_init (); - gdk_threads_enter (); - - /* init gtk */ - gtk_init(&argc, &argv); - - /* init random number generator */ - srand ((unsigned int) time (NULL)); - - /* create a window */ - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL); - - gtk_container_set_border_width (GTK_CONTAINER (window), 10); - - /* create a label */ - label = gtk_label_new ("And now for something completely different ..."); - gtk_container_add (GTK_CONTAINER (window), label); - - /* show everything */ - gtk_widget_show (label); - gtk_widget_show (window); - - /* create the threads */ - yes_args.label = label; - yes_args.what = YES_IT_IS; - pthread_create (&yes_tid, NULL, argument_thread, &yes_args); - - no_args.label = label; - no_args.what = NO_IT_IS_NOT; - pthread_create (&no_tid, NULL, argument_thread, &no_args); - - /* enter the GTK main loop */ - gtk_main (); - gdk_threads_leave (); - - return 0; -} - - - - - - - - - - - - - - - - -This macro marks the beginning of a critical section in which GDK and -GTK+ functions can be called safely and without causing race -conditions. Only one thread at a time can be in such a critial -section. The macro expands to a no-op if #G_THREADS_ENABLED has not -been defined. Typically gdk_threads_enter() should be used instead of -this macro. - - - - - - -This macro marks the end of a critical section -begun with #GDK_THREADS_ENTER. - - - - - - - - - -@void: - - - - -This macro marks the beginning of a critical section in which GDK and -GTK+ functions can be called safely and without causing race -conditions. Only one thread at a time can be in such a critial -section. - - -@void: - - - - -Leaves a critical region begun with gdk_threads_enter(). - - -@void: - - - - - - - -@enter_fn: -@leave_fn: - - - - - - - -@function: -@data: -@Returns: - - - - - - - -@priority: -@function: -@data: -@notify: -@Returns: - - - - - - - -@interval: -@function: -@data: -@Returns: - - - - - - - -@priority: -@interval: -@function: -@data: -@notify: -@Returns: - - - - - - - -@interval: -@function: -@data: -@Returns: - - - - - - - -@priority: -@interval: -@function: -@data: -@notify: -@Returns: - - diff --git a/gdk/gdk.c b/gdk/gdk.c index 8c701ff6e6..f0ff4336eb 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -399,6 +399,244 @@ gdk_init (int *argc, char ***argv) } } + + +/** + * SECTION:threads + * @Short_description: Functions for using GDK in multi-threaded programs + * @Title: Threads + * + * For thread safety, GDK relies on the thread primitives in GLib, + * and on the thread-safe GLib main loop. + * + * GLib is completely thread safe (all global data is automatically + * locked), but individual data structure instances are not automatically + * locked for performance reasons. So e.g. you must coordinate + * accesses to the same #GHashTable from multiple threads. + * + * GTK+ is "thread aware" but not thread safe — it provides a + * global lock controlled by gdk_threads_enter()/gdk_threads_leave() + * which protects all use of GTK+. That is, only one thread can use GTK+ + * at any given time. + * + * Unfortunately the above holds with the X11 backend only. With the + * Win32 backend, GDK calls should not be attempted from multiple threads + * at all. + * + * You must call g_thread_init() and gdk_threads_init() before executing + * any other GTK+ or GDK functions in a threaded GTK+ program. + * + * Idles, timeouts, and input functions from GLib, such as g_idle_add(), are + * executed outside of the main GTK+ lock. + * So, if you need to call GTK+ inside of such a callback, you must surround + * the callback with a gdk_threads_enter()/gdk_threads_leave() pair or use + * gdk_threads_add_idle_full() which does this for you. + * However, event dispatching from the mainloop is still executed within + * the main GTK+ lock, so callback functions connected to event signals + * like #GtkWidget::button-press-event, do not need thread protection. + * + * In particular, this means, if you are writing widgets that might + * be used in threaded programs, you must surround + * timeouts and idle functions in this matter. + * + * As always, you must also surround any calls to GTK+ not made within + * a signal handler with a gdk_threads_enter()/gdk_threads_leave() pair. + * + * Before calling gdk_threads_leave() from a thread other + * than your main thread, you probably want to call gdk_flush() + * to send all pending commands to the windowing system. + * (The reason you don't need to do this from the main thread + * is that GDK always automatically flushes pending commands + * when it runs out of incoming events to process and has + * to sleep while waiting for more events.) + * + * A minimal main program for a threaded GTK+ application + * looks like: + * + * + * int + * main (int argc, char *argv[]) + * { + * GtkWidget *window; + * + * g_thread_init (NULL); + * gdk_threads_init (); + * gdk_threads_enter (); + * + * gtk_init (&argc, &argv); + * + * window = create_window (); + * gtk_widget_show (window); + * + * gtk_main (); + * gdk_threads_leave (); + * + * return 0; + * } + * + * + * + * Callbacks require a bit of attention. Callbacks from GTK+ signals + * are made within the GTK+ lock. However callbacks from GLib (timeouts, + * IO callbacks, and idle functions) are made outside of the GTK+ + * lock. So, within a signal handler you do not need to call + * gdk_threads_enter(), but within the other types of callbacks, you + * do. + * + * Erik Mouw contributed the following code example to + * illustrate how to use threads within GTK+ programs. + * + * + * /*------------------------------------------------------------------------- + * * Filename: gtk-thread.c + * * Version: 0.99.1 + * * Copyright: Copyright (C) 1999, Erik Mouw + * * Author: Erik Mouw <J.A.K.Mouw@its.tudelft.nl> + * * Description: GTK threads example. + * * Created at: Sun Oct 17 21:27:09 1999 + * * Modified by: Erik Mouw <J.A.K.Mouw@its.tudelft.nl> + * * Modified at: Sun Oct 24 17:21:41 1999 + * *-----------------------------------------------------------------------*/ + * /* + * * Compile with: + * * + * * cc -o gtk-thread gtk-thread.c `gtk-config --cflags --libs gthread` + * * + * * Thanks to Sebastian Wilhelmi and Owen Taylor for pointing out some + * * bugs. + * * + * */ + * + * #include + * #include + * #include + * #include + * #include + * #include + * #include + * + * #define YES_IT_IS (1) + * #define NO_IT_IS_NOT (0) + * + * typedef struct + * { + * GtkWidget *label; + * int what; + * } yes_or_no_args; + * + * G_LOCK_DEFINE_STATIC (yes_or_no); + * static volatile int yes_or_no = YES_IT_IS; + * + * void destroy (GtkWidget *widget, gpointer data) + * { + * gtk_main_quit (); + * } + * + * void *argument_thread (void *args) + * { + * yes_or_no_args *data = (yes_or_no_args *)args; + * gboolean say_something; + * + * for (;;) + * { + * /* sleep a while */ + * sleep(rand() / (RAND_MAX / 3) + 1); + * + * /* lock the yes_or_no_variable */ + * G_LOCK(yes_or_no); + * + * /* do we have to say something? */ + * say_something = (yes_or_no != data->what); + * + * if(say_something) + * { + * /* set the variable */ + * yes_or_no = data->what; + * } + * + * /* Unlock the yes_or_no variable */ + * G_UNLOCK (yes_or_no); + * + * if (say_something) + * { + * /* get GTK thread lock */ + * gdk_threads_enter (); + * + * /* set label text */ + * if(data->what == YES_IT_IS) + * gtk_label_set_text (GTK_LABEL (data->label), "O yes, it is!"); + * else + * gtk_label_set_text (GTK_LABEL (data->label), "O no, it isn't!"); + * + * /* release GTK thread lock */ + * gdk_threads_leave (); + * } + * } + * + * return NULL; + * } + * + * int main (int argc, char *argv[]) + * { + * GtkWidget *window; + * GtkWidget *label; + * yes_or_no_args yes_args, no_args; + * pthread_t no_tid, yes_tid; + * + * /* init threads */ + * g_thread_init (NULL); + * gdk_threads_init (); + * gdk_threads_enter (); + * + * /* init gtk */ + * gtk_init(&argc, &argv); + * + * /* init random number generator */ + * srand ((unsigned int) time (NULL)); + * + * /* create a window */ + * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + * + * g_signal_connect (window, "destroy", G_CALLBACK (destroy), NULL); + * + * gtk_container_set_border_width (GTK_CONTAINER (window), 10); + * + * /* create a label */ + * label = gtk_label_new ("And now for something completely different ..."); + * gtk_container_add (GTK_CONTAINER (window), label); + * + * /* show everything */ + * gtk_widget_show (label); + * gtk_widget_show (window); + * + * /* create the threads */ + * yes_args.label = label; + * yes_args.what = YES_IT_IS; + * pthread_create (&yes_tid, NULL, argument_thread, &yes_args); + * + * no_args.label = label; + * no_args.what = NO_IT_IS_NOT; + * pthread_create (&no_tid, NULL, argument_thread, &no_args); + * + * /* enter the GTK main loop */ + * gtk_main (); + * gdk_threads_leave (); + * + * return 0; + * } + * + * + */ + + +/** + * gdk_threads_enter: + * + * This macro marks the beginning of a critical section in which GDK and + * GTK+ functions can be called safely and without causing race + * conditions. Only one thread at a time can be in such a critial + * section. + */ void gdk_threads_enter (void) { @@ -406,6 +644,11 @@ gdk_threads_enter (void) (*gdk_threads_lock) (); } +/** + * gdk_threads_leave: + * + * Leaves a critical region begun with gdk_threads_enter(). + */ void gdk_threads_leave (void) { @@ -429,7 +672,7 @@ gdk_threads_impl_unlock (void) /** * gdk_threads_init: - * + * * Initializes GDK so that it can be used from multiple threads * in conjunction with gdk_threads_enter() and gdk_threads_leave(). * g_thread_init() must be called previous to this function. diff --git a/gdk/gdkthreads.h b/gdk/gdkthreads.h index 743e6ec6fa..ad2f09d5d9 100644 --- a/gdk/gdkthreads.h +++ b/gdk/gdkthreads.h @@ -64,7 +64,24 @@ guint gdk_threads_add_timeout_seconds (guint interval, GSourceFunc function, gpointer data); +/** + * GDK_THREADS_ENTER: + * + * This macro marks the beginning of a critical section in which GDK and + * GTK+ functions can be called safely and without causing race + * conditions. Only one thread at a time can be in such a critial + * section. The macro expands to a no-op if #G_THREADS_ENABLED has not + * been defined. Typically gdk_threads_enter() should be used instead of + * this macro. + */ #define GDK_THREADS_ENTER() gdk_threads_enter() + +/** + * GDK_THREADS_LEAVE: + * + * This macro marks the end of a critical section + * begun with #GDK_THREADS_ENTER. + */ #define GDK_THREADS_LEAVE() gdk_threads_leave() G_END_DECLS From 7d12d2a649f903c651d7fd5af5a012cfe8934686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 19:47:35 +0100 Subject: [PATCH 0263/1463] docs: Move documentation to inline comments: drawing --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/drawing.sgml | 65 ---------------------------- gdk/gdkdrawable.h | 6 +++ 3 files changed, 7 insertions(+), 65 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/drawing.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 7b5f673a1e..3823d757ea 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -2,6 +2,7 @@ cairo_interaction.sgml colors.sgml cursors.sgml dnd.sgml +drawing.sgml events.sgml gdkapplaunchcontext.sgml gdkdisplay.sgml diff --git a/docs/reference/gdk/tmpl/drawing.sgml b/docs/reference/gdk/tmpl/drawing.sgml deleted file mode 100644 index 351cc8e72c..0000000000 --- a/docs/reference/gdk/tmpl/drawing.sgml +++ /dev/null @@ -1,65 +0,0 @@ - -Drawing Primitives - - -Functions for drawing points, lines, arcs, and text - - - -These functions provide support for drawing points, lines, arcs and text -onto what are called 'drawables'. Drawables, as the name suggests, are things -which support drawing onto them, and are either #GdkWindow or #GdkPixmap -objects. - - -Many of the drawing operations take a #GdkGC argument, which represents a -graphics context. This #GdkGC contains a number of drawing attributes such -as foreground color, background color and line width, and is used to reduce -the number of arguments needed for each drawing operation. See the -Graphics Contexts section for -more information. - - -Some of the drawing operations take Pango data structures like #PangoContext, -#PangoLayout or #PangoLayoutLine as arguments. If you're using GTK+, the ususal -way to obtain these structures is via gtk_widget_create_pango_context() or -gtk_widget_create_pango_layout(). - - - - - - - - - - - - - - - -An opaque structure representing an object that can be -drawn onto. This can be a #GdkPixmap, a #GdkBitmap, -or a #GdkWindow. - - - - - - - - -@drawable: -@Returns: - - - - - - - -@drawable: -@Returns: - - diff --git a/gdk/gdkdrawable.h b/gdk/gdkdrawable.h index 72f3dc1c91..a32c18524f 100644 --- a/gdk/gdkdrawable.h +++ b/gdk/gdkdrawable.h @@ -47,6 +47,12 @@ typedef struct _GdkDrawableClass GdkDrawableClass; #define GDK_IS_DRAWABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAWABLE)) #define GDK_DRAWABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAWABLE, GdkDrawableClass)) +/** + * GdkDrawable: + * + * An opaque structure representing an object that can be + * drawn onto. + */ struct _GdkDrawable { GObject parent_instance; From 1cbba3fae2592fe043f040a79b12a38d6cc3b93c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 20:01:05 +0100 Subject: [PATCH 0264/1463] docs: Move documentation to inline comments: x_interaction --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/x_interaction.sgml | 555 --------------------- gdk/x11/gdkx.h | 120 +++++ 3 files changed, 121 insertions(+), 555 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/x_interaction.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index 3823d757ea..cca0643a7f 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -19,3 +19,4 @@ selections.sgml threads.sgml visuals.sgml windows.sgml +x_interaction.sgml diff --git a/docs/reference/gdk/tmpl/x_interaction.sgml b/docs/reference/gdk/tmpl/x_interaction.sgml deleted file mode 100644 index 7dc336e5a6..0000000000 --- a/docs/reference/gdk/tmpl/x_interaction.sgml +++ /dev/null @@ -1,555 +0,0 @@ - -X Window System Interaction - - -X backend-specific functions - - - -The functions in this section are specific to the GDK X11 backend. -To use them, you need to include the <gdk/gdkx.h> -header and use the X11-specific pkg-config files to build your application -(either gdk-x11-3.0 or gtk+-x11-3.0. -To make your code compile with other GDK backends, guard backend-specific -calls by an ifdef as follows: - -#ifdef GDK_WINDOWING_X11 - /* X11-specific calls here... */ -#endif - - - - - - - - - - - - - - - - -Obtains the Xlib window id of the root window of the current screen. - - - - - - -Returns the display of a #GdkWindow. - - -@win: a #GdkWindow. -@Returns: an Xlib Display*. - - - - -Returns the X window belonging to a #GdkWindow. - - -@win: a #GdkWindow. -@Returns: the Xlib Window of @win. - - - - -Returns the display of a #GdkDisplay. - - -@display: a #GdkDisplay. - - - - -Returns the display of a #GdkDrawable. - - -@win: a #GdkDrawable. -@Returns: an Xlib Display*. - - - - -Returns the X resource (window or pixmap) belonging to a #GdkDrawable. - - -@win: a #GdkDrawable. -@Returns: the ID of @win's X resource. - - - - -Returns the display of a #GdkScreen. - - -@screen: a #GdkScreen. -@Returns: an Xlib Display*. - - - - -Returns the index of a #GdkScreen. - - -@screen: a #GdkScreen -@Returns: the position of @screen among the screens of - its display. - - - - -Returns the screen of a #GdkScreen. - - -@screen: a #GdkScreen -@Returns: an Xlib Screen*. - - - - -Returns the X cursor belonging to a #GdkCursor. - - -@cursor: a #GdkCursor. -@Returns: an Xlib Cursor. - - - - -Returns the display of a #GdkCursor. - - -@cursor: a #GdkCursor. -@Returns: an Xlib Display*. - - - - -Another name for GDK_DRAWABLE_XID(). - - - - - - - - - -@xvisualid: -@Returns: - - - - - - - -@anid: -@Returns: - - - - - - - -@display: -@anid: -@Returns: - - - - - - - -@xid: -@Returns: - - - - - - - -@display: -@xid: -@Returns: - - - - - - -@anid: -@Returns: - - - - - - - -@display: -@anid: -@Returns: - - - - - - - -@xdisplay: -@Returns: - - - - - - - -@window: -@Returns: - - - - - - - -@property: -@Returns: - - - - - - - -@screen: -@property: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@monitor_num: -@Returns: - - - - - - - -@screen: -@xvisualid: -@Returns: - - - - - - - -@window: -@timestamp: - - - - - - - -@window: - - - - - - - -@display: -@Returns: - - - - - - - -@cursor: -@Returns: - - - - - - - -@cursor: -@Returns: - - - - - - - -@display: -@message_type: -@Varargs: - - - - - - - -@display: -@Returns: - - - - - - - -@display: -@Returns: - - - - - - - -@display: - - - - - - - -@display: - - - - - - - -@display: - - - - - - - -@display: - - - - - - - -@display: -@theme: -@size: - - - - - - - -@display: -@event_base: -@n_events: - - - - - - - -@drawable: -@Returns: - - - - - - - -@drawable: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: - - - - - - - -@screen: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@void: - - - - - - - -@visual: -@Returns: - - - - - - - -@atom: -@Returns: - - - - - - - -@display: -@atom: -@Returns: - - - - - - - -@xatom: -@Returns: - - - - - - - -@display: -@xatom: -@Returns: - - - - - - - -@atom_name: -@Returns: - - - - - - - -@display: -@atom_name: -@Returns: - - - - - - - -@xatom: -@Returns: - - - - - - - -@display: -@xatom: -@Returns: - - diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 8b7a3959bd..7fc0227348 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -33,6 +33,28 @@ G_BEGIN_DECLS + +/** + * SECTION:x_interaction + * @Short_description: X backend-specific functions + * @Title: X Window System Interaction + * + * The functions in this section are specific to the GDK X11 backend. + * To use them, you need to include the <gdk/gdkx.h> + * header and use the X11-specific pkg-config files to build your + * application (either gdk-x11-3.0 or + * gtk+-x11-3.0). + * + * To make your code compile with other GDK backends, guard backend-specific + * calls by an ifdef as follows: + * + * #ifdef GDK_WINDOWING_X11 + * /* X11-specific calls here... */ + * #endif + * + */ + + Display *gdk_x11_drawable_get_xdisplay (GdkDrawable *drawable); XID gdk_x11_drawable_get_xid (GdkDrawable *drawable); GdkDrawable *gdk_x11_window_get_drawable_impl (GdkWindow *window); @@ -54,21 +76,89 @@ Display *gdk_x11_get_default_xdisplay (void); gint gdk_x11_get_default_screen (void); #endif +/** + * GDK_CURSOR_XDISPLAY: + * @cursor: a #GdkCursor. + * + * Returns the display of a #GdkCursor. + * + * Returns: an Xlib Display*. + */ #define GDK_CURSOR_XDISPLAY(cursor) (gdk_x11_cursor_get_xdisplay (cursor)) + +/** + * GDK_CURSOR_XCURSOR: + * @cursor: a #GdkCursor. + * + * Returns the X cursor belonging to a #GdkCursor. + * + * Returns: an Xlib Cursor. + */ #define GDK_CURSOR_XCURSOR(cursor) (gdk_x11_cursor_get_xcursor (cursor)) + #ifdef GDK_COMPILATION #include "gdkprivate-x11.h" #include "gdkscreen-x11.h" +/** + * GDK_DISPLAY_XDISPLAY: + * @display: a #GdkDisplay. + * + * Returns the display of a #GdkDisplay. + */ #define GDK_DISPLAY_XDISPLAY(display) (GDK_DISPLAY_X11(display)->xdisplay) +/** + * GDK_WINDOW_XDISPLAY: + * @win: a #GdkWindow. + * + * Returns the display of a #GdkWindow. + * + * Returns: an Xlib Display*. + */ #define GDK_WINDOW_XDISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xdisplay) #define GDK_WINDOW_XID(win) (GDK_DRAWABLE_IMPL_X11(((GdkWindowObject *)win)->impl)->xid) + +/** + * GDK_DRAWABLE_XDISPLAY: + * @win: a #GdkDrawable. + * + * Returns the display of a #GdkDrawable. + * + * Returns: an Xlib Display*. + */ #define GDK_DRAWABLE_XDISPLAY(win) (GDK_WINDOW_XDISPLAY (win)) + +/** + * GDK_DRAWABLE_XID: + * @win: a #GdkDrawable. + * + * Returns the X resource (window or pixmap) belonging to a #GdkDrawable. + * + * Returns: the ID of @win's X resource. + */ #define GDK_DRAWABLE_XID(win) (GDK_WINDOW_XID (win)) + +/** + * GDK_SCREEN_XDISPLAY: + * @screen: a #GdkScreen. + * + * Returns the display of a #GdkScreen. + * + * Returns: an Xlib Display*. + */ #define GDK_SCREEN_XDISPLAY(screen) (GDK_SCREEN_X11 (screen)->xdisplay) + +/** + * GDK_SCREEN_XSCREEN: + * @screen: a #GdkScreen + * + * Returns the screen of a #GdkScreen. + * + * Returns: an Xlib Screen*. + */ #define GDK_SCREEN_XSCREEN(screen) (GDK_SCREEN_X11 (screen)->xscreen) #define GDK_SCREEN_XNUMBER(screen) (GDK_SCREEN_X11 (screen)->screen_num) #define GDK_WINDOW_XWINDOW GDK_DRAWABLE_XID @@ -76,18 +166,48 @@ gint gdk_x11_get_default_screen (void); #else /* GDK_COMPILATION */ #ifndef GDK_MULTIHEAD_SAFE +/** + * GDK_ROOT_WINDOW: + * + * Obtains the Xlib window id of the root window of the current screen. + */ #define GDK_ROOT_WINDOW() (gdk_x11_get_default_root_xwindow ()) #endif #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) #define GDK_WINDOW_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (gdk_x11_window_get_drawable_impl (win))) + +/** + * GDK_WINDOW_XID: + * @win: a #GdkWindow. + * + * Returns the X window belonging to a #GdkWindow. + * + * Returns: the Xlib Window of @win. + */ #define GDK_WINDOW_XID(win) (gdk_x11_drawable_get_xid (win)) + +/** + * GDK_WINDOW_XWINDOW: + * + * Another name for GDK_DRAWABLE_XID(). + */ #define GDK_WINDOW_XWINDOW(win) (gdk_x11_drawable_get_xid (win)) #define GDK_DRAWABLE_XDISPLAY(win) (gdk_x11_drawable_get_xdisplay (win)) #define GDK_DRAWABLE_XID(win) (gdk_x11_drawable_get_xid (win)) #define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) #define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) + +/** + * GDK_SCREEN_XNUMBER: + * @screen: a #GdkScreen + * + * Returns the index of a #GdkScreen. + * + * Returns: the position of @screen among the screens of + * its display. + */ #define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) #endif /* GDK_COMPILATION */ From ccd740f1b6f35cbd083a18dba05510c0379c33d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 20:41:44 +0100 Subject: [PATCH 0265/1463] docs: Move documentation to inline comments: event_structs All the GDK documentation is now moved to inline comments --- docs/reference/gdk/tmpl/.gitignore | 1 + docs/reference/gdk/tmpl/event_structs.sgml | 548 --------------------- gdk/gdkevents.h | 536 +++++++++++++++++++- gdk/gdktypes.h | 6 + 4 files changed, 527 insertions(+), 564 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/event_structs.sgml diff --git a/docs/reference/gdk/tmpl/.gitignore b/docs/reference/gdk/tmpl/.gitignore index cca0643a7f..4f1e66cd57 100644 --- a/docs/reference/gdk/tmpl/.gitignore +++ b/docs/reference/gdk/tmpl/.gitignore @@ -4,6 +4,7 @@ cursors.sgml dnd.sgml drawing.sgml events.sgml +event_structs.sgml gdkapplaunchcontext.sgml gdkdisplay.sgml gdkdisplaymanager.sgml diff --git a/docs/reference/gdk/tmpl/event_structs.sgml b/docs/reference/gdk/tmpl/event_structs.sgml deleted file mode 100644 index 7ebfacb6bb..0000000000 --- a/docs/reference/gdk/tmpl/event_structs.sgml +++ /dev/null @@ -1,548 +0,0 @@ - -Event Structures - - -Data structures specific to each type of event - - - -The event structs contain data specific to each type of event in GDK. - - - -A common mistake is to forget to set the event mask of a widget so that the -required events are received. See gtk_widget_set_events(). - - - - - - - - - - - - - - - - -The #GdkEvent struct contains a union of all of the event structs, -and allows access to the data fields in a number of ways. - - -The event type is always the first field in all of the event structs, and -can always be accessed with the following code, no matter what type of event -it is: - - - GdkEvent *event; - GdkEventType type; - - type = event->type; - - - - - -To access other fields of the event structs, the pointer to the event can be -cast to the appropriate event struct pointer, or the union member name can be -used. For example if the event type is %GDK_BUTTON_PRESS then the x coordinate -of the button press can be accessed with: - - - GdkEvent *event; - gdouble x; - - x = ((GdkEventButton*)event)->x; - - -or: - - - GdkEvent *event; - gdouble x; - - x = event->button.x; - - - - - - - -Contains the fields which are common to all event structs. -Any event pointer can safely be cast to a pointer to a #GdkEventAny to access -these fields. - - -@type: the type of the event. -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). - - - -Describes a key press or key release event. - - -@type: the type of the event (%GDK_KEY_PRESS or %GDK_KEY_RELEASE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@time: the time of the event in milliseconds. -@state: a bit-mask representing the state of the modifier keys (e.g. Control, -Shift and Alt) and the pointer buttons. See #GdkModifierType. -@keyval: the key that was pressed or released. See the -<gdk/gdkkeysyms.h> -header file for a complete list of GDK key codes. -@length: the length of @string. -@string: a string containing the an approximation of the text that -would result from this keypress. The only correct way to handle text -input of text is using input methods (see #GtkIMContext), so this -field is deprecated and should never be used. -(gdk_unicode_to_keyval() provides a non-deprecated way of getting -an approximate translation for a key.) The string is encoded in the encoding -of the current locale (Note: this for backwards compatibility: -strings in GTK+ and GDK are typically in UTF-8.) and NUL-terminated. -In some cases, the translation of the key code will be a single -NUL byte, in which case looking at @length is necessary to distinguish -it from the an empty translation. -@hardware_keycode: the raw code of the key that was pressed or released. -@group: the keyboard group. -@is_modifier: a flag that indicates if @hardware_keycode is mapped to a - modifier. Since 2.10 - - - -Used for button press and button release events. The -type field will be one of %GDK_BUTTON_PRESS, -%GDK_2BUTTON_PRESS, %GDK_3BUTTON_PRESS, and %GDK_BUTTON_RELEASE. - - -Double and triple-clicks result in a sequence of events being received. -For double-clicks the order of events will be: - -%GDK_BUTTON_PRESS -%GDK_BUTTON_RELEASE -%GDK_BUTTON_PRESS -%GDK_2BUTTON_PRESS -%GDK_BUTTON_RELEASE - -Note that the first click is received just like a normal -button press, while the second click results in a %GDK_2BUTTON_PRESS being -received just after the %GDK_BUTTON_PRESS. - - -Triple-clicks are very similar to double-clicks, except that %GDK_3BUTTON_PRESS -is inserted after the third click. The order of the events is: - -%GDK_BUTTON_PRESS -%GDK_BUTTON_RELEASE -%GDK_BUTTON_PRESS -%GDK_2BUTTON_PRESS -%GDK_BUTTON_RELEASE -%GDK_BUTTON_PRESS -%GDK_3BUTTON_PRESS -%GDK_BUTTON_RELEASE - - - -For a double click to occur, the second button press must occur within 1/4 of -a second of the first. For a triple click to occur, the third button press -must also occur within 1/2 second of the first button press. - - -@type: the type of the event (%GDK_BUTTON_PRESS, %GDK_2BUTTON_PRESS, -%GDK_3BUTTON_PRESS or %GDK_BUTTON_RELEASE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@time: the time of the event in milliseconds. -@x: the x coordinate of the pointer relative to the window. -@y: the y coordinate of the pointer relative to the window. -@axes: @x, @y translated to the axes of @device, or %NULL if @device is - the mouse. -@state: a bit-mask representing the state of the modifier keys (e.g. Control, -Shift and Alt) and the pointer buttons. See #GdkModifierType. -@button: the button which was pressed or released, numbered from 1 to 5. -Normally button 1 is the left mouse button, 2 is the middle button, -and 3 is the right button. On 2-button mice, the middle button can often -be simulated by pressing both mouse buttons together. -@device: the device where the event originated. -@x_root: the x coordinate of the pointer relative to the root of the screen. -@y_root: the y coordinate of the pointer relative to the root of the screen. - - - -Generated from button presses for the buttons 4 to 7. Wheel mice are -usually configured to generate button press events for buttons 4 and 5 -when the wheel is turned. - - -@type: the type of the event (%GDK_SCROLL). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@time: the time of the event in milliseconds. -@x: the x coordinate of the pointer relative to the window. -@y: the y coordinate of the pointer relative to the window. -@state: a bit-mask representing the state of the modifier keys (e.g. Control, -Shift and Alt) and the pointer buttons. See #GdkModifierType. -@direction: the direction to scroll to (one of %GDK_SCROLL_UP, - %GDK_SCROLL_DOWN, %GDK_SCROLL_LEFT and %GDK_SCROLL_RIGHT). -@device: the device where the event originated. -@x_root: the x coordinate of the pointer relative to the root of the screen. -@y_root: the y coordinate of the pointer relative to the root of the screen. - - - -Generated when the pointer moves. - - -@type: the type of the event. -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@time: the time of the event in milliseconds. -@x: the x coordinate of the pointer relative to the window. -@y: the y coordinate of the pointer relative to the window. -@axes: @x, @y translated to the axes of @device, or %NULL if @device is - the mouse. -@state: a bit-mask representing the state of the modifier keys (e.g. Control, - Shift and Alt) and the pointer buttons. See #GdkModifierType. -@is_hint: set to 1 if this event is just a hint, see the %GDK_POINTER_MOTION_HINT_MASK - value of #GdkEventMask. -@device: the device where the event originated. -@x_root: the x coordinate of the pointer relative to the root of the screen. -@y_root: the y coordinate of the pointer relative to the root of the screen. - - - -Generated when all or part of a window becomes visible and needs to be -redrawn. - - -@type: the type of the event (%GDK_EXPOSE or %GDK_DAMAGE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@area: bounding box of @region. -@region: the region that needs to be redrawn. -@count: the number of contiguous %GDK_EXPOSE events following this one. -The only use for this is "exposure compression", i.e. handling all contiguous -%GDK_EXPOSE events in one go, though GDK performs some exposure compression -so this is not normally needed. - - - -Generated when the window visibility status has changed. - - -@type: the type of the event (%GDK_VISIBILITY_NOTIFY). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@state: the new visibility state (%GDK_VISIBILITY_FULLY_OBSCURED, -%GDK_VISIBILITY_PARTIAL or %GDK_VISIBILITY_UNOBSCURED). - - - -Generated when the pointer enters or leaves a window. - - -@type: the type of the event (%GDK_ENTER_NOTIFY or %GDK_LEAVE_NOTIFY). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using -XSendEvent). -@subwindow: the window that was entered or left. -@time: the time of the event in milliseconds. -@x: the x coordinate of the pointer relative to the window. -@y: the y coordinate of the pointer relative to the window. -@x_root: the x coordinate of the pointer relative to the root of the screen. -@y_root: the y coordinate of the pointer relative to the root of the screen. -@mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB, - %GDK_CROSSING_UNGRAB, %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB or - %GDK_CROSSING_STATE_CHANGED). %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB, - and %GDK_CROSSING_STATE_CHANGED were added in 2.14 and are always synthesized, - never native. -@detail: the kind of crossing that happened (%GDK_NOTIFY_INFERIOR, - %GDK_NOTIFY_ANCESTOR, %GDK_NOTIFY_VIRTUAL, %GDK_NOTIFY_NONLINEAR or - %GDK_NOTIFY_NONLINEAR_VIRTUAL). -@focus: %TRUE if @window is the focus window or an inferior. -@state: a bit-mask representing the state of the modifier keys (e.g. Control, - Shift and Alt) and the pointer buttons. See #GdkModifierType. - - - -Describes a change of keyboard focus. - - -@type: the type of the event (%GDK_FOCUS_CHANGE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@in: %TRUE if the window has gained the keyboard focus, %FALSE if it has lost -the focus. - - - -Generated when a window size or position has changed. - - -@type: the type of the event (%GDK_CONFIGURE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@x: the new x coordinate of the window, relative to its parent. -@y: the new y coordinate of the window, relative to its parent. -@width: the new width of the window. -@height: the new height of the window. - - - -Describes a property change on a window. - - -@type: the type of the event (%GDK_PROPERTY_NOTIFY). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@atom: the property that was changed. -@time: the time of the event in milliseconds. -@state: whether the property was changed (%GDK_PROPERTY_NEW_VALUE) or -deleted (%GDK_PROPERTY_DELETE). - - - -Generated when a selection is requested or ownership of a selection -is taken over by another client application. - - -@type: the type of the event (%GDK_SELECTION_CLEAR, %GDK_SELECTION_NOTIFY or -%GDK_SELECTION_REQUEST). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@selection: the selection. -@target: the target to which the selection should be converted. -@property: the property in which to place the result of the conversion. -@time: the time of the event in milliseconds. -@requestor: the native window on which to place @property. - - - -Used to represent native windows (Windows for the X11 backend, -HWNDs for Win32). - - - - - -Generated during DND operations. - - -@type: the type of the event (%GDK_DRAG_ENTER, %GDK_DRAG_LEAVE, - %GDK_DRAG_MOTION, %GDK_DRAG_STATUS, %GDK_DROP_START or %GDK_DROP_FINISHED). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@context: the #GdkDragContext for the current DND operation. -@time: the time of the event in milliseconds. -@x_root: the x coordinate of the pointer relative to the root of the screen, - only set for %GDK_DRAG_MOTION and %GDK_DROP_START. -@y_root: the y coordinate of the pointer relative to the root of the screen, - only set for %GDK_DRAG_MOTION and %GDK_DROP_START. - - - -Proximity events are generated when using GDK's wrapper for the -XInput extension. The XInput extension is an add-on for standard X -that allows you to use nonstandard devices such as graphics tablets. -A proximity event indicates that the stylus has moved in or out of -contact with the tablet, or perhaps that the user's finger has moved -in or out of contact with a touch screen. - - -@type: the type of the event (%GDK_PROXIMITY_IN or %GDK_PROXIMITY_OUT). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@time: the time of the event in milliseconds. -@device: the device where the event originated. - - - -An event sent by another client application. - - -@type: the type of the event (%GDK_CLIENT_EVENT). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@message_type: the type of the message, which can be defined by the -application. -@data_format: the format of the data, given as the number of bits in each -data element, i.e. 8, 16, or 32. 8-bit data uses the b array of the data -union, 16-bit data uses the s array, and 32-bit data uses the l array. - - - -Generated when the area of a #GdkDrawable being copied was completely available. - - -FIXME: add more here. - - -@type: the type of the event (%GDK_NO_EXPOSE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). - - - -Generated when the state of a toplevel window changes. - - -@type: the type of the event (%GDK_WINDOW_STATE). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@changed_mask: mask specifying what flags have changed. -@new_window_state: the new window state, a combination of #GdkWindowState bits. - - - -Generated when a setting is modified. - - -@type: the type of the event (%GDK_SETTING). -@window: the window which received the event. -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@action: what happened to the setting (%GDK_SETTING_ACTION_NEW, - %GDK_SETTING_ACTION_CHANGED or %GDK_SETTING_ACTION_DELETED). -@name: the name of the setting. - - - -Generated when the owner of a selection changes. On X11, this information is -only available if the X server supports the XFIXES extension. - - -@type: the type of the event (%GDK_OWNER_CHANGE). -@window: the window which received the event -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@owner: the new owner of the selection -@reason: the reason for the ownership change as a #GdkOwnerChange value -@selection: the atom identifying the selection -@time: the timestamp of the event -@selection_time: the time at which the selection ownership was taken over -@Since: 2.6 - - - -Generated when a pointer or keyboard grab is broken. On X11, this happens -when the grab window becomes unviewable (i.e. it or one of its ancestors -is unmapped), or if the same application grabs the pointer or keyboard -again. Note that implicit grabs (which are initiated by button presses) -can also cause #GdkEventGrabBroken events. - - -@type: the type of the event (%GDK_GRAB_BROKEN) -@window: the window which received the event, i.e. the window - that previously owned the grab -@send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). -@keyboard: %TRUE if a keyboard grab was broken, %FALSE if a pointer - grab was broken -@implicit: %TRUE if the broken grab was implicit -@grab_window: If this event is caused by another grab in the same - application, @grab_window contains the new grab window. Otherwise - @grab_window is %NULL. -@Since: 2.8 - - - -Specifies the direction for #GdkEventScroll. - - -@GDK_SCROLL_UP: the window is scrolled up. -@GDK_SCROLL_DOWN: the window is scrolled down. -@GDK_SCROLL_LEFT: the window is scrolled to the left. -@GDK_SCROLL_RIGHT: the window is scrolled to the right. - - - -Specifies the visiblity status of a window for a #GdkEventVisibility. - - -@GDK_VISIBILITY_UNOBSCURED: the window is completely visible. -@GDK_VISIBILITY_PARTIAL: the window is partially visible. -@GDK_VISIBILITY_FULLY_OBSCURED: the window is not visible at all. - - - -Specifies the crossing mode for #GdkEventCrossing. - - -@GDK_CROSSING_NORMAL: crossing because of pointer motion. -@GDK_CROSSING_GRAB: crossing because a grab is activated. -@GDK_CROSSING_UNGRAB: crossing because a grab is deactivated. -@GDK_CROSSING_GTK_GRAB: crossing because a GTK+ grab is activated. -@GDK_CROSSING_GTK_UNGRAB: crossing because a GTK+ grab is deactivated. -@GDK_CROSSING_STATE_CHANGED: crossing because a GTK+ widget changed state (e.g. - sensitivity). - - - -Specifies the kind of crossing for #GdkEventCrossing. - - -See the X11 protocol specification of LeaveNotify for -full details of crossing event generation. - - -@GDK_NOTIFY_ANCESTOR: the window is entered from an ancestor or - left towards an ancestor. -@GDK_NOTIFY_VIRTUAL: the pointer moves between an ancestor and an - inferior of the window. -@GDK_NOTIFY_INFERIOR: the window is entered from an inferior or - left towards an inferior. -@GDK_NOTIFY_NONLINEAR: the window is entered from or left towards - a window which is neither an ancestor nor an inferior. -@GDK_NOTIFY_NONLINEAR_VIRTUAL: the pointer moves between two windows - which are not ancestors of each other and the window is part of - the ancestor chain between one of these windows and their least - common ancestor. -@GDK_NOTIFY_UNKNOWN: an unknown type of enter/leave event occurred. - - - -Specifies the type of a property change for a #GdkEventProperty. - - -@GDK_PROPERTY_NEW_VALUE: the property value was changed. -@GDK_PROPERTY_DELETE: the property was deleted. - - - -Specifies the state of a toplevel window. - - -@GDK_WINDOW_STATE_WITHDRAWN: the window is not shown. -@GDK_WINDOW_STATE_ICONIFIED: the window is minimized. -@GDK_WINDOW_STATE_MAXIMIZED: the window is maximized. -@GDK_WINDOW_STATE_STICKY: the window is sticky. -@GDK_WINDOW_STATE_FULLSCREEN: the window is maximized without decorations. -@GDK_WINDOW_STATE_ABOVE: the window is kept above other windows. -@GDK_WINDOW_STATE_BELOW: the window is kept below other windows. - - - -Specifies the kind of modification applied to a setting in a #GdkEventSetting. - - -@GDK_SETTING_ACTION_NEW: a setting was added. -@GDK_SETTING_ACTION_CHANGED: a setting was changed. -@GDK_SETTING_ACTION_DELETED: a setting was deleted. - - - -Specifies why a selection ownership was changed. - - -@GDK_OWNER_CHANGE_NEW_OWNER: some other app claimed the ownership -@GDK_OWNER_CHANGE_DESTROY: the window was destroyed -@GDK_OWNER_CHANGE_CLOSE: the client was closed - diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h index 9dd7e52dd8..caecd97dad 100644 --- a/gdk/gdkevents.h +++ b/gdk/gdkevents.h @@ -38,6 +38,23 @@ G_BEGIN_DECLS + +/** + * SECTION:event_structs + * @Short_description: Data structures specific to each type of event + * @Title: Event Structures + * + * The event structs contain data specific to each type of event in GDK. + * + * + * + * A common mistake is to forget to set the event mask of a widget so that + * the required events are received. See gtk_widget_set_events(). + * + * + */ + + #define GDK_TYPE_EVENT (gdk_event_get_type ()) /** @@ -251,6 +268,14 @@ typedef enum GDK_EVENT_LAST /* helper variable for decls */ } GdkEventType; +/** + * GdkVisibilityState: + * @GDK_VISIBILITY_UNOBSCURED: the window is completely visible. + * @GDK_VISIBILITY_PARTIAL: the window is partially visible. + * @GDK_VISIBILITY_FULLY_OBSCURED: the window is not visible at all. + * + * Specifies the visiblity status of a window for a #GdkEventVisibility. + */ typedef enum { GDK_VISIBILITY_UNOBSCURED, @@ -258,6 +283,15 @@ typedef enum GDK_VISIBILITY_FULLY_OBSCURED } GdkVisibilityState; +/** + * GdkScrollDirection: + * @GDK_SCROLL_UP: the window is scrolled up. + * @GDK_SCROLL_DOWN: the window is scrolled down. + * @GDK_SCROLL_LEFT: the window is scrolled to the left. + * @GDK_SCROLL_RIGHT: the window is scrolled to the right. + * + * Specifies the direction for #GdkEventScroll. + */ typedef enum { GDK_SCROLL_UP, @@ -266,13 +300,26 @@ typedef enum GDK_SCROLL_RIGHT } GdkScrollDirection; -/* Types of enter/leave notifications. - * Ancestor: - * Virtual: - * Inferior: - * Nonlinear: - * NonlinearVirtual: - * Unknown: An unknown type of enter/leave event occurred. +/** + * GdkNotifyType: + * @GDK_NOTIFY_ANCESTOR: the window is entered from an ancestor or + * left towards an ancestor. + * @GDK_NOTIFY_VIRTUAL: the pointer moves between an ancestor and an + * inferior of the window. + * @GDK_NOTIFY_INFERIOR: the window is entered from an inferior or + * left towards an inferior. + * @GDK_NOTIFY_NONLINEAR: the window is entered from or left towards + * a window which is neither an ancestor nor an inferior. + * @GDK_NOTIFY_NONLINEAR_VIRTUAL: the pointer moves between two windows + * which are not ancestors of each other and the window is part of + * the ancestor chain between one of these windows and their least + * common ancestor. + * @GDK_NOTIFY_UNKNOWN: an unknown type of enter/leave event occurred. + * + * Specifies the kind of crossing for #GdkEventCrossing. + * + * See the X11 protocol specification of LeaveNotify for + * full details of crossing event generation. */ typedef enum { @@ -284,10 +331,17 @@ typedef enum GDK_NOTIFY_UNKNOWN = 5 } GdkNotifyType; -/* Enter/leave event modes. - * NotifyNormal - * NotifyGrab - * NotifyUngrab +/** + * GdkCrossingMode: + * @GDK_CROSSING_NORMAL: crossing because of pointer motion. + * @GDK_CROSSING_GRAB: crossing because a grab is activated. + * @GDK_CROSSING_UNGRAB: crossing because a grab is deactivated. + * @GDK_CROSSING_GTK_GRAB: crossing because a GTK+ grab is activated. + * @GDK_CROSSING_GTK_UNGRAB: crossing because a GTK+ grab is deactivated. + * @GDK_CROSSING_STATE_CHANGED: crossing because a GTK+ widget changed + * state (e.g. sensitivity). + * + * Specifies the crossing mode for #GdkEventCrossing. */ typedef enum { @@ -299,12 +353,32 @@ typedef enum GDK_CROSSING_STATE_CHANGED } GdkCrossingMode; +/** + * GdkPropertyState: + * @GDK_PROPERTY_NEW_VALUE: the property value was changed. + * @GDK_PROPERTY_DELETE: the property was deleted. + * + * Specifies the type of a property change for a #GdkEventProperty. + */ typedef enum { GDK_PROPERTY_NEW_VALUE, GDK_PROPERTY_DELETE } GdkPropertyState; +/** + * GdkWindowState: + * @GDK_WINDOW_STATE_WITHDRAWN: the window is not shown. + * @GDK_WINDOW_STATE_ICONIFIED: the window is minimized. + * @GDK_WINDOW_STATE_MAXIMIZED: the window is maximized. + * @GDK_WINDOW_STATE_STICKY: the window is sticky. + * @GDK_WINDOW_STATE_FULLSCREEN: the window is maximized without + * decorations. + * @GDK_WINDOW_STATE_ABOVE: the window is kept above other windows. + * @GDK_WINDOW_STATE_BELOW: the window is kept below other windows. + * + * Specifies the state of a toplevel window. + */ typedef enum { GDK_WINDOW_STATE_WITHDRAWN = 1 << 0, @@ -316,6 +390,15 @@ typedef enum GDK_WINDOW_STATE_BELOW = 1 << 6 } GdkWindowState; +/** + * GdkSettingAction: + * @GDK_SETTING_ACTION_NEW: a setting was added. + * @GDK_SETTING_ACTION_CHANGED: a setting was changed. + * @GDK_SETTING_ACTION_DELETED: a setting was deleted. + * + * Specifies the kind of modification applied to a setting in a + * #GdkEventSetting. + */ typedef enum { GDK_SETTING_ACTION_NEW, @@ -323,6 +406,14 @@ typedef enum GDK_SETTING_ACTION_DELETED } GdkSettingAction; +/** + * GdkOwnerChange: + * @GDK_OWNER_CHANGE_NEW_OWNER: some other app claimed the ownership + * @GDK_OWNER_CHANGE_DESTROY: the window was destroyed + * @GDK_OWNER_CHANGE_CLOSE: the client was closed + * + * Specifies why a selection ownership was changed. + */ typedef enum { GDK_OWNER_CHANGE_NEW_OWNER, @@ -330,6 +421,17 @@ typedef enum GDK_OWNER_CHANGE_CLOSE } GdkOwnerChange; +/** + * GdkEventAny: + * @type: the type of the event. + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * + * Contains the fields which are common to all event structs. + * Any event pointer can safely be cast to a pointer to a #GdkEventAny to + * access these fields. + */ struct _GdkEventAny { GdkEventType type; @@ -337,6 +439,22 @@ struct _GdkEventAny gint8 send_event; }; +/** + * GdkEventExpose: + * @type: the type of the event (%GDK_EXPOSE or %GDK_DAMAGE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @area: bounding box of @region. + * @region: the region that needs to be redrawn. + * @count: the number of contiguous %GDK_EXPOSE events following this one. + * The only use for this is "exposure compression", i.e. handling all + * contiguous %GDK_EXPOSE events in one go, though GDK performs some + * exposure compression so this is not normally needed. + * + * Generated when all or part of a window becomes visible and needs to be + * redrawn. + */ struct _GdkEventExpose { GdkEventType type; @@ -347,6 +465,16 @@ struct _GdkEventExpose gint count; /* If non-zero, how many more events follow. */ }; +/** + * GdkEventNoExpose: + * @type: the type of the event (%GDK_NO_EXPOSE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * + * Generated when the area of a #GdkDrawable being copied was completely + * available. + */ struct _GdkEventNoExpose { GdkEventType type; @@ -354,6 +482,17 @@ struct _GdkEventNoExpose gint8 send_event; }; +/** + * GdkEventVisibility: + * @type: the type of the event (%GDK_VISIBILITY_NOTIFY). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @state: the new visibility state (%GDK_VISIBILITY_FULLY_OBSCURED, + * %GDK_VISIBILITY_PARTIAL or %GDK_VISIBILITY_UNOBSCURED). + * + * Generated when the window visibility status has changed. + */ struct _GdkEventVisibility { GdkEventType type; @@ -362,6 +501,29 @@ struct _GdkEventVisibility GdkVisibilityState state; }; +/** + * GdkEventMotion: + * @type: the type of the event. + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @time: the time of the event in milliseconds. + * @x: the x coordinate of the pointer relative to the window. + * @y: the y coordinate of the pointer relative to the window. + * @axes: @x, @y translated to the axes of @device, or %NULL if @device is + * the mouse. + * @state: a bit-mask representing the state of the modifier keys (e.g. + * Control, Shift and Alt) and the pointer buttons. See #GdkModifierType. + * @is_hint: set to 1 if this event is just a hint, see the + * %GDK_POINTER_MOTION_HINT_MASK value of #GdkEventMask. + * @device: the device where the event originated. + * @x_root: the x coordinate of the pointer relative to the root of the + * screen. + * @y_root: the y coordinate of the pointer relative to the root of the + * screen. + * + * Generated when the pointer moves. + */ struct _GdkEventMotion { GdkEventType type; @@ -377,6 +539,65 @@ struct _GdkEventMotion gdouble x_root, y_root; }; +/** + * GdkEventButton: + * @type: the type of the event (%GDK_BUTTON_PRESS, %GDK_2BUTTON_PRESS, + * %GDK_3BUTTON_PRESS or %GDK_BUTTON_RELEASE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @time: the time of the event in milliseconds. + * @x: the x coordinate of the pointer relative to the window. + * @y: the y coordinate of the pointer relative to the window. + * @axes: @x, @y translated to the axes of @device, or %NULL if @device is + * the mouse. + * @state: a bit-mask representing the state of the modifier keys (e.g. + * Control, Shift and Alt) and the pointer buttons. See #GdkModifierType. + * @button: the button which was pressed or released, numbered from 1 to 5. + * Normally button 1 is the left mouse button, 2 is the middle button, + * and 3 is the right button. On 2-button mice, the middle button can + * often be simulated by pressing both mouse buttons together. + * @device: the device where the event originated. + * @x_root: the x coordinate of the pointer relative to the root of the + * screen. + * @y_root: the y coordinate of the pointer relative to the root of the + * screen. + * + * Used for button press and button release events. The + * @type field will be one of %GDK_BUTTON_PRESS, + * %GDK_2BUTTON_PRESS, %GDK_3BUTTON_PRESS, and %GDK_BUTTON_RELEASE. + * + * Double and triple-clicks result in a sequence of events being received. + * For double-clicks the order of events will be: + * + * %GDK_BUTTON_PRESS + * %GDK_BUTTON_RELEASE + * %GDK_BUTTON_PRESS + * %GDK_2BUTTON_PRESS + * %GDK_BUTTON_RELEASE + * + * Note that the first click is received just like a normal + * button press, while the second click results in a %GDK_2BUTTON_PRESS + * being received just after the %GDK_BUTTON_PRESS. + * + * Triple-clicks are very similar to double-clicks, except that + * %GDK_3BUTTON_PRESS is inserted after the third click. The order of the + * events is: + * + * %GDK_BUTTON_PRESS + * %GDK_BUTTON_RELEASE + * %GDK_BUTTON_PRESS + * %GDK_2BUTTON_PRESS + * %GDK_BUTTON_RELEASE + * %GDK_BUTTON_PRESS + * %GDK_3BUTTON_PRESS + * %GDK_BUTTON_RELEASE + * + * + * For a double click to occur, the second button press must occur within + * 1/4 of a second of the first. For a triple click to occur, the third + * button press must also occur within 1/2 second of the first button press. + */ struct _GdkEventButton { GdkEventType type; @@ -392,6 +613,29 @@ struct _GdkEventButton gdouble x_root, y_root; }; +/** + * GdkEventScroll: + * @type: the type of the event (%GDK_SCROLL). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @time: the time of the event in milliseconds. + * @x: the x coordinate of the pointer relative to the window. + * @y: the y coordinate of the pointer relative to the window. + * @state: a bit-mask representing the state of the modifier keys (e.g. + * Control, Shift and Alt) and the pointer buttons. See #GdkModifierType. + * @direction: the direction to scroll to (one of %GDK_SCROLL_UP, + * %GDK_SCROLL_DOWN, %GDK_SCROLL_LEFT and %GDK_SCROLL_RIGHT). + * @device: the device where the event originated. + * @x_root: the x coordinate of the pointer relative to the root of the + * screen. + * @y_root: the y coordinate of the pointer relative to the root of the + * screen. + * + * Generated from button presses for the buttons 4 to 7. Wheel mice are + * usually configured to generate button press events for buttons 4 and 5 + * when the wheel is turned. + */ struct _GdkEventScroll { GdkEventType type; @@ -406,6 +650,37 @@ struct _GdkEventScroll gdouble x_root, y_root; }; +/** + * GdkEventKey: + * @type: the type of the event (%GDK_KEY_PRESS or %GDK_KEY_RELEASE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @time: the time of the event in milliseconds. + * @state: a bit-mask representing the state of the modifier keys (e.g. + * Control, Shift and Alt) and the pointer buttons. See #GdkModifierType. + * @keyval: the key that was pressed or released. See the + * <gdk/gdkkeysyms.h> header file for a + * complete list of GDK key codes. + * @length: the length of @string. + * @string: a string containing the an approximation of the text that + * would result from this keypress. The only correct way to handle text + * input of text is using input methods (see #GtkIMContext), so this + * field is deprecated and should never be used. + * (gdk_unicode_to_keyval() provides a non-deprecated way of getting + * an approximate translation for a key.) The string is encoded in the + * encoding of the current locale (Note: this for backwards compatibility: + * strings in GTK+ and GDK are typically in UTF-8.) and NUL-terminated. + * In some cases, the translation of the key code will be a single + * NUL byte, in which case looking at @length is necessary to distinguish + * it from the an empty translation. + * @hardware_keycode: the raw code of the key that was pressed or released. + * @group: the keyboard group. + * @is_modifier: a flag that indicates if @hardware_keycode is mapped to a + * modifier. Since 2.10 + * + * Describes a key press or key release event. + */ struct _GdkEventKey { GdkEventType type; @@ -421,6 +696,32 @@ struct _GdkEventKey guint is_modifier : 1; }; +/** + * GdkEventCrossing: + * @type: the type of the event (%GDK_ENTER_NOTIFY or %GDK_LEAVE_NOTIFY). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @subwindow: the window that was entered or left. + * @time: the time of the event in milliseconds. + * @x: the x coordinate of the pointer relative to the window. + * @y: the y coordinate of the pointer relative to the window. + * @x_root: the x coordinate of the pointer relative to the root of the screen. + * @y_root: the y coordinate of the pointer relative to the root of the screen. + * @mode: the crossing mode (%GDK_CROSSING_NORMAL, %GDK_CROSSING_GRAB, + * %GDK_CROSSING_UNGRAB, %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB or + * %GDK_CROSSING_STATE_CHANGED). %GDK_CROSSING_GTK_GRAB, %GDK_CROSSING_GTK_UNGRAB, + * and %GDK_CROSSING_STATE_CHANGED were added in 2.14 and are always synthesized, + * never native. + * @detail: the kind of crossing that happened (%GDK_NOTIFY_INFERIOR, + * %GDK_NOTIFY_ANCESTOR, %GDK_NOTIFY_VIRTUAL, %GDK_NOTIFY_NONLINEAR or + * %GDK_NOTIFY_NONLINEAR_VIRTUAL). + * @focus: %TRUE if @window is the focus window or an inferior. + * @state: a bit-mask representing the state of the modifier keys (e.g. Control, + * Shift and Alt) and the pointer buttons. See #GdkModifierType. + * + * Generated when the pointer enters or leaves a window. + */ struct _GdkEventCrossing { GdkEventType type; @@ -438,6 +739,17 @@ struct _GdkEventCrossing guint state; }; +/** + * GdkEventFocus: + * @type: the type of the event (%GDK_FOCUS_CHANGE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @in: %TRUE if the window has gained the keyboard focus, %FALSE if + * it has lost the focus. + * + * Describes a change of keyboard focus. + */ struct _GdkEventFocus { GdkEventType type; @@ -446,6 +758,19 @@ struct _GdkEventFocus gint16 in; }; +/** + * GdkEventConfigure: + * @type: the type of the event (%GDK_CONFIGURE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @x: the new x coordinate of the window, relative to its parent. + * @y: the new y coordinate of the window, relative to its parent. + * @width: the new width of the window. + * @height: the new height of the window. + * + * Generated when a window size or position has changed. + */ struct _GdkEventConfigure { GdkEventType type; @@ -456,6 +781,19 @@ struct _GdkEventConfigure gint height; }; +/** + * GdkEventProperty: + * @type: the type of the event (%GDK_PROPERTY_NOTIFY). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @atom: the property that was changed. + * @time: the time of the event in milliseconds. + * @state: whether the property was changed (%GDK_PROPERTY_NEW_VALUE) or + * deleted (%GDK_PROPERTY_DELETE). + * + * Describes a property change on a window. + */ struct _GdkEventProperty { GdkEventType type; @@ -466,6 +804,22 @@ struct _GdkEventProperty guint state; }; +/** + * GdkEventSelection: + * @type: the type of the event (%GDK_SELECTION_CLEAR, + * %GDK_SELECTION_NOTIFY or %GDK_SELECTION_REQUEST). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @selection: the selection. + * @target: the target to which the selection should be converted. + * @property: the property in which to place the result of the conversion. + * @time: the time of the event in milliseconds. + * @requestor: the native window on which to place @property. + * + * Generated when a selection is requested or ownership of a selection + * is taken over by another client application. + */ struct _GdkEventSelection { GdkEventType type; @@ -478,6 +832,25 @@ struct _GdkEventSelection GdkNativeWindow requestor; }; +/** + * GdkEventOwnerChange: + * @type: the type of the event (%GDK_OWNER_CHANGE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @owner: the new owner of the selection. + * @reason: the reason for the ownership change as a #GdkOwnerChange value. + * @selection: the atom identifying the selection. + * @time: the timestamp of the event. + * @selection_time: the time at which the selection ownership was taken + * over. + * + * Generated when the owner of a selection changes. On X11, this + * information is only available if the X server supports the XFIXES + * extension. + * + * Since: 2.6 + */ struct _GdkEventOwnerChange { GdkEventType type; @@ -490,9 +863,24 @@ struct _GdkEventOwnerChange guint32 selection_time; }; -/* This event type will be used pretty rarely. It only is important - for XInput aware programs that are drawing their own cursor */ - +/** + * GdkEventProximity: + * @type: the type of the event (%GDK_PROXIMITY_IN or %GDK_PROXIMITY_OUT). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using XSendEvent). + * @time: the time of the event in milliseconds. + * @device: the device where the event originated. + * + * Proximity events are generated when using GDK's wrapper for the + * XInput extension. The XInput extension is an add-on for standard X + * that allows you to use nonstandard devices such as graphics tablets. + * A proximity event indicates that the stylus has moved in or out of + * contact with the tablet, or perhaps that the user's finger has moved + * in or out of contact with a touch screen. + * + * This event type will be used pretty rarely. It only is important for + * XInput aware programs that are drawing their own cursor. + */ struct _GdkEventProximity { GdkEventType type; @@ -502,6 +890,21 @@ struct _GdkEventProximity GdkDevice *device; }; +/** + * GdkEventClient: + * @type: the type of the event (%GDK_CLIENT_EVENT). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @message_type: the type of the message, which can be defined by the + * application. + * @data_format: the format of the data, given as the number of bits in each + * data element, i.e. 8, 16, or 32. 8-bit data uses the b array of the + * data union, 16-bit data uses the s array, and 32-bit data uses the l + * array. + * + * An event sent by another client application. + */ struct _GdkEventClient { GdkEventType type; @@ -516,6 +919,18 @@ struct _GdkEventClient } data; }; +/** + * GdkEventSetting: + * @type: the type of the event (%GDK_SETTING). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @action: what happened to the setting (%GDK_SETTING_ACTION_NEW, + * %GDK_SETTING_ACTION_CHANGED or %GDK_SETTING_ACTION_DELETED). + * @name: the name of the setting. + * + * Generated when a setting is modified. + */ struct _GdkEventSetting { GdkEventType type; @@ -525,6 +940,18 @@ struct _GdkEventSetting char *name; }; +/** + * GdkEventWindowState: + * @type: the type of the event (%GDK_WINDOW_STATE). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @changed_mask: mask specifying what flags have changed. + * @new_window_state: the new window state, a combination of + * #GdkWindowState bits. + * + * Generated when the state of a toplevel window changes. + */ struct _GdkEventWindowState { GdkEventType type; @@ -534,6 +961,28 @@ struct _GdkEventWindowState GdkWindowState new_window_state; }; +/** + * GdkEventGrabBroken: + * @type: the type of the event (%GDK_GRAB_BROKEN) + * @window: the window which received the event, i.e. the window + * that previously owned the grab + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @keyboard: %TRUE if a keyboard grab was broken, %FALSE if a pointer + * grab was broken + * @implicit: %TRUE if the broken grab was implicit + * @grab_window: If this event is caused by another grab in the same + * application, @grab_window contains the new grab window. Otherwise + * @grab_window is %NULL. + * + * Generated when a pointer or keyboard grab is broken. On X11, this happens + * when the grab window becomes unviewable (i.e. it or one of its ancestors + * is unmapped), or if the same application grabs the pointer or keyboard + * again. Note that implicit grabs (which are initiated by button presses) + * can also cause #GdkEventGrabBroken events. + * + * Since: 2.8 + */ struct _GdkEventGrabBroken { GdkEventType type; GdkWindow *window; @@ -543,8 +992,23 @@ struct _GdkEventGrabBroken { GdkWindow *grab_window; }; -/* Event types for DND */ - +/** + * GdkEventDND: + * @type: the type of the event (%GDK_DRAG_ENTER, %GDK_DRAG_LEAVE, + * %GDK_DRAG_MOTION, %GDK_DRAG_STATUS, %GDK_DROP_START or + * %GDK_DROP_FINISHED). + * @window: the window which received the event. + * @send_event: %TRUE if the event was sent explicitly (e.g. using + * XSendEvent). + * @context: the #GdkDragContext for the current DND operation. + * @time: the time of the event in milliseconds. + * @x_root: the x coordinate of the pointer relative to the root of the + * screen, only set for %GDK_DRAG_MOTION and %GDK_DROP_START. + * @y_root: the y coordinate of the pointer relative to the root of the + * screen, only set for %GDK_DRAG_MOTION and %GDK_DROP_START. + * + * Generated during DND operations. + */ struct _GdkEventDND { GdkEventType type; GdkWindow *window; @@ -555,6 +1019,46 @@ struct _GdkEventDND { gshort x_root, y_root; }; +/** + * GdkEvent: + * + * The #GdkEvent struct contains a union of all of the event structs, + * and allows access to the data fields in a number of ways. + * + * The event type is always the first field in all of the event structs, and + * can always be accessed with the following code, no matter what type of + * event it is: + * + * + * GdkEvent *event; + * GdkEventType type; + * + * type = event->type; + * + * + * + * To access other fields of the event structs, the pointer to the event + * can be cast to the appropriate event struct pointer, or the union member + * name can be used. For example if the event type is %GDK_BUTTON_PRESS + * then the x coordinate of the button press can be accessed with: + * + * + * GdkEvent *event; + * gdouble x; + * + * x = ((GdkEventButton*)event)->x; + * + * + * or: + * + * + * GdkEvent *event; + * gdouble x; + * + * x = event->button.x; + * + * + */ union _GdkEvent { GdkEventType type; diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index a7c1e5713e..417aec211d 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -120,6 +120,12 @@ typedef struct _GdkAtom *GdkAtom; */ #define GDK_NONE _GDK_MAKE_ATOM (0) +/** + * GdkNativeWindow: + * + * Used to represent native windows (Windows for the X11 + * backend, HWNDs for Win32). + */ #ifdef GDK_NATIVE_WINDOW_POINTER typedef gpointer GdkNativeWindow; #else From 70bb3776f026590d2dc0c10b24939e21208aaf55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 15 Nov 2010 20:42:50 +0100 Subject: [PATCH 0266/1463] docs: Remove template of unused functions --- docs/reference/gdk/tmpl/gdk-unused.sgml | 986 ------------------------ 1 file changed, 986 deletions(-) delete mode 100644 docs/reference/gdk/tmpl/gdk-unused.sgml diff --git a/docs/reference/gdk/tmpl/gdk-unused.sgml b/docs/reference/gdk/tmpl/gdk-unused.sgml deleted file mode 100644 index 13b0c19c3e..0000000000 --- a/docs/reference/gdk/tmpl/gdk-unused.sgml +++ /dev/null @@ -1,986 +0,0 @@ - - -The #GdkColorContext type is used for allocating groups of colors. - - -It is now deprecated in favor of the gdk_colormap_*() functions described in -the Colormaps and Colors -section. - - - - - - - - - - -routines for allocating colors (deprecated). - - - -Color Contexts - - - - -A #GdkIC input context is used for each user interface element which supports -internationalized text input. See the -Input Methods section for an overview -of how internationalized text input works in GTK+. - - - - - - - - - - -internationalized text input properties. - - - -Input Contexts - - - - -Input Methods provide a way for complex character sets to be used in GTK+. -Languages such as Chinese, Japanese, and Korean (often abbreviated to CJK) -use a large number of ideographs, making it impossible to support all -characters with a simple keyboard. Instead, text is usually -pre-edited using a phonetic alphabet and then -composed to form the ideographs. - - -GTK+ makes use of the input method mechanism provided by the X Windows -platform. When a GTK+ application is started, it opens a connection to the -input method appropriate for the current locale (if any). - - -Widgets which handle textual input, such as #GtkEntry, need to do a number of -things to support internationalized text input: - - -When the widget is realized: -Check if an input method is being used with gdk_im_ready(). -If it is, create a new Input Context -using gdk_ic_new(). Find out which events the -Input Context needs to receive -with gdk_ic_get_events(), and make sure that the widget's window receives -these events using gdk_window_set_events(). - - - - -When the widget's size, state or cursor position changes: - -Update the appropriate -Input Context attributes -using gdk_ic_set_attr(). - - - - -When the keyboard focus enters or leaves the widget: - -Call gdk_im_begin() or gdk_im_end() to start or finish editing the text. - - - - -When the widget receives a key_press event: - -The string and length -fields of the #GdkEventKey struct should be used to insert the composed text -into the widget. - - - - -When the widget is unrealized: - -Destroy the Input Context. - - - - - - -See the XLib reference manual for more detailed information on input methods, -and the #GtkEntry and #GtkText widgets for some example code. - - - - - - - -Input Contexts - -Used for each widget that handles internationalized text input using the -global input method. - - - - - - - - -support for internationalized text input. - - - -Input Methods - - - - -This macro contains an integer value representing -the device ID for the core pointer device. - - - - - - - - -@object: - - - - - - -@obj: - - - -This macro is defined if GDK is configured to use the Linux framebuffer backend. - - - - - - - - - - - - - - -@visual: -@colormap: -@num_colors: -@max_colors: -@num_allocated: -@mode: -@need_to_free_colormap: -@std_cmap_atom: -@clut: -@cmap: -@color_hash: -@palette: -@num_palette: -@fast_dither: - - - - - - -@fast_rgb: -@fast_err: -@fast_erg: -@fast_erb: - - - - - - -@GDK_CC_MODE_UNDEFINED: -@GDK_CC_MODE_BW: -@GDK_CC_MODE_STD_CMAP: -@GDK_CC_MODE_TRUE: -@GDK_CC_MODE_MY_GRAY: -@GDK_CC_MODE_PALETTE: - - - - - - - - - -The #GdkDeviceInfo structure contains information about a -device. It has the following fields: - - -@deviceid: a unique integer ID for this device. -@name: the human-readable name for the device. -@source: the type of device. -@mode: a value indicating whether the device is enabled and - how the device coordinates map to the screen. -@has_cursor: if %TRUE, a cursor will be displayed indicating - the current on-screen location to the user. Otherwise, - the application is responsible for drawing a cursor - itself. -@num_axes: the number of axes for this device. -@axes: a pointer to an array of GdkAxisUse values which - give the mapping of axes onto the possible valuators - for a GDK device. -@num_keys: the number of macro buttons. -@keys: a pointer to an array of #GdkDeviceKey structures - which describe what key press events are generated - for each macro button. - - - - - - - - - - - - - - - -The #GdkIC struct is an opaque structure representing an input context -for use with the global Input Method. - - - - - -The #GdkICAttr struct is used when getting and setting attributes of the -input context. It is used together with a #GdkICAttributesType mask which -specifies which of the fields are being set or returned. - - -@style: the pre-edit and status style. This attribute is required when -creating the #GdkIC, and cannot be changed. -@client_window: the #GdkWindow in which the input method will display its -pre-edit and status areas or create subwindows. -The preedit_area and status_area attributes are specified relative to this -window. This attribute is required when creating the #GdkIC, and cannot be -changed. -@focus_window: the #GdkWindow which is to be used when editing text. -gdk_im_begin() sets this attribute before starting the text input process, -so it is normally not necessary to set it elsewhere. -@filter_events: the mask of events that the input method requires. -See the gdk_ic_get_events() function. This attribute is read-only and is -never changed. -@spot_location: the position of the insertion cursor, for use with the -%GDK_IM_PREEDIT_POSITION style. The y coordinate specifies the baseline of -the text. -@line_spacing: the line spacing to be used in the pre-edit and status areas -when displaying multi-line text. -@cursor: the cursor to use in the input method's windows. -If this attribute isn't set it is determined by the input method. -@preedit_fontset: the font to use for the pre-edit area. -If this attribute isn't set it is determined by the input method. -@preedit_area: the area in which the input method will display pre-editing -data, used for the %GDK_IM_PREEDIT_POSITION and %GDK_IM_PREEDIT_AREA styles. -@preedit_area_needed: the area that the input method requests for displaying -pre-editing data, used for the %GDK_IM_PREEDIT_POSITION and -%GDK_IM_PREEDIT_AREA styles. -@preedit_foreground: the foreground color to use for the pre-edit area. -This color must already be allocated in the preedit_colormap. -If this attribute isn't set it is determined by the input method. -@preedit_background: the background color to use for the pre-edit area. -This color must already be allocated in the preedit_colormap. -If this attribute isn't set it is determined by the input method. -@preedit_pixmap: the background pixmap to use for the pre-edit area. -If this attribute isn't set it is determined by the input method. -@preedit_colormap: the colormap the input method should use to allocate colors. -The default value is the colormap of client_window. -@status_fontset: the font to use for the status area. -If this attribute isn't set it is determined by the input method. -@status_area: the are that the input method will display status information in. -This is used for the %GDK_IM_STATUS_AREA style. -@status_area_needed: the size that the input method requests for displaying -status information, for the %GDK_IM_STATUS_AREA style. -@status_foreground: the foreground color to use for the status area. -This color must already be allocated in the status_colormap. -If this attribute isn't set it is determined by the input method. -@status_background: the background color to use for the status area. -This color must already be allocated in the status_colormap. -If this attribute isn't set it is determined by the input method. -@status_pixmap: the background pixmap to use for the status area. -If this attribute isn't set it is determined by the input method. -@status_colormap: the colormap the input method should use to allocate colors. -The default value is the colormap of client_window. - - - -The #GdkICAttributesType contains a set of bit-flags which are used to -specify which of the attributes in a #GdkICAttr are being set or returned. - - -It also contains several combinations of the flags which specify required -attributes for the various styles: - - -%GDK_IC_ALL_REQ: - -the set of attributes required for all styles. - - - - -%GDK_IC_PREEDIT_AREA_REQ: - -the set of additional attributes required for the -%GDK_IM_PREEDIT_AREA pre-edit style. - - - - -%GDK_IC_PREEDIT_POSITION_REQ: - -the set of additional attributes required for the -%GDK_IM_PREEDIT_POSITION pre-edit style. - - - - -%GDK_IC_STATUS_AREA_REQ: - -the set of additional attributes required for the -%GDK_IM_STATUS_AREA status style. - - - - - -@GDK_IC_STYLE: -@GDK_IC_CLIENT_WINDOW: -@GDK_IC_FOCUS_WINDOW: -@GDK_IC_FILTER_EVENTS: -@GDK_IC_SPOT_LOCATION: -@GDK_IC_LINE_SPACING: -@GDK_IC_CURSOR: -@GDK_IC_PREEDIT_FONTSET: -@GDK_IC_PREEDIT_AREA: -@GDK_IC_PREEDIT_AREA_NEEDED: -@GDK_IC_PREEDIT_FOREGROUND: -@GDK_IC_PREEDIT_BACKGROUND: -@GDK_IC_PREEDIT_PIXMAP: -@GDK_IC_PREEDIT_COLORMAP: -@GDK_IC_STATUS_FONTSET: -@GDK_IC_STATUS_AREA: -@GDK_IC_STATUS_AREA_NEEDED: -@GDK_IC_STATUS_FOREGROUND: -@GDK_IC_STATUS_BACKGROUND: -@GDK_IC_STATUS_PIXMAP: -@GDK_IC_STATUS_COLORMAP: -@GDK_IC_ALL_REQ: -@GDK_IC_PREEDIT_AREA_REQ: -@GDK_IC_PREEDIT_POSITION_REQ: -@GDK_IC_STATUS_AREA_REQ: - - - -A set of bit-flags used to specify the input method styles which are supported -or which are currently in use. The flags can be divided into 2 groups, the -pre-edit flags and the status flags. - - -The pre-edit flags specify how pre-editing data is displayed. -For example, this could display the text being typed in the phonetic -alphabet before it is composed and inserted as an ideograph. - - -The status flags specify how status information is displayed. -The status information can be thought of as an extension of the -standard keyboard mode indicators, such as the Caps Lock indicator. - - - -The %GDK_IM_PREEDIT_CALLBACKS and %GDK_IM_STATUS_CALLBACKS styles are not -currently supported in GTK+. - - - -@GDK_IM_PREEDIT_AREA: The application provides the input method with an area -in which to perform off-the-spot pre-editing. -@GDK_IM_PREEDIT_CALLBACKS: The application registers a number of callback -functions which are used to display pre-editing data. -@GDK_IM_PREEDIT_POSITION: The application provides the input method with the -position of the insertion cursor, for over-the-spot -pre-editing. The input method creates its own window over the widget to -display the pre-editing data. -@GDK_IM_PREEDIT_NOTHING: The input method uses the root X window to perform -pre-editing, so the application does not need to do anything. -@GDK_IM_PREEDIT_NONE: No pre-editing is done by the input method, or no -pre-editing data needs to be displayed. -@GDK_IM_PREEDIT_MASK: A bit-mask containing all the pre-edit flags. -@GDK_IM_STATUS_AREA: The application provides the input method with an area -in which to display status information. -@GDK_IM_STATUS_CALLBACKS: The applications registers a number of callback -functions which are used to display status information. -@GDK_IM_STATUS_NOTHING: The input method uses the root X window to display -status information, so the application does not need to do anything. -@GDK_IM_STATUS_NONE: The input method does not display status information. -@GDK_IM_STATUS_MASK: A bit-mask containing all the status flags. - - - - - - -@keycode: -@group: -@level: - - - - - - - - - - - - -@GDK_PIXBUF_ALPHA_BILEVEL: -@GDK_PIXBUF_ALPHA_FULL: - - - - - - - - - - - - -@cc: -@palette: -@num_palette: -@Returns: - - - - - - -@cc: - - - - - - -@cc: - - - - - - -@cc: -@red: -@green: -@blue: -@failed: -@Returns: - - - - - - -@cc: -@red: -@green: -@blue: -@failed: -@Returns: - - - - - - -@cc: -@red: -@green: -@blue: -@failed: -@Returns: - - - - - - -@cc: -@reds: -@greens: -@blues: -@ncolors: -@colors: -@nallocated: - - - - - - -@cc: -@reds: -@greens: -@blues: -@ncolors: -@used: -@colors: -@nallocated: - - - - - - -@cc: - - - - - - -@visual: -@colormap: -@Returns: - - - - - - -@visual: -@colormap: -@Returns: - - - - - - -@cc: -@color: -@Returns: - - - - - - -@cc: -@colors: -@num_colors: -@Returns: - - - - - - - - - - - - - - - - - - -@display: -@sm_client_id: - - - -Frees a full font name obtained from gdk_font_full_name_get(). - - -@name: a full font name. - - - -Returns a comma-separated list of XLFDs for the -fonts making up a given #GdkFont. - - -@font: a #GdkFont -@Returns: a newly-allocated string containing a list of XLFDs, - should be freed with gdk_font_full_name_free() when no longer needed. - - - - - - -@dpy: -@win: -@Returns: - - - - - - -@Returns: - - - - - - -@Returns: - - - -Destroys the given #GdkICAttr struct, freeing the allocated memory. - - -@attr: a #GdkICAttr struct. - - - -Creates a new #GdkICAttr struct, with all fields set to 0. -The #GdkICAttr struct should be freed with gdk_ic_attr_destroy() when no -longer needed. - - -@Returns: a new #GdkICAttr struct. - - - -Destroys the input context. - - -@ic: a #GdkIC. - - - -Gets attributes of a #GdkIC. - - -@ic: a #GdkIC. -@attr: a #GdkICAttr struct to contain the returned attributes. -@mask: a #GdkICAttributesType mask specifying which attributes to get. -@Returns: a #GdkICAttributesType mask specifying which of the attributes -were not retrieved succesfully. - - - -Returns the mask of events that the input method needs to function properly. -This is typically called in a widget's realize method after creating the -#GdkIC. The returned event mask is then combined with the widget's -own event mask and applied using gdk_window_set_events(). - - -@ic: a #GdkIC. -@Returns: the mask of events that the input method needs to function -properly. - - - -Returns the pre-edit and status style of the #GdkIC. - - -@ic: a #GdkIC. -@Returns: the pre-edit and status style of the #GdkIC. - - - -Creates a new #GdkIC using the given attributes. - - -@attr: a #GdkICAttr struct containing attributes to use for the input context. -@mask: a #GdkICAttributesType mask specifying which of the attributes in @attr -are set. -@Returns: a new #GdkIC. - - - -Sets attributes of the #GdkIC. - - -Note that the GDK_IC_STYLE and GDK_IC_CLIENT_WINDOW attributes can only be set -when creating the #GdkIC, and the GDK_IC_FILTER_EVENTS attribute is read-only. - - -@ic: a #GdkIC. -@attr: a #GdkICAttr struct containing attributes to use for the input context. -@mask: a #GdkICAttributesType mask specifying which of the attributes in @attr -are set. -@Returns: a #GdkICAttributesType mask indicating which of the attributes -were not set successfully. - - - -Starts editing, using the given input context and #GdkWindow. -This should be called when the widget receives the input focus, typically in -the widget's focus_in_event method. - - -@ic: a #GdkIC. -@window: the #GdkWindow which will be receiving the key press events. - - - -Decides which input method style should be used, by comparing the styles given -in @supported_style with those of the available input method. - - -@supported_style: styles which are supported by the widget. -@Returns: the best style in @supported_style that is also supported by the -available input method. - - - -Stops editing using the input method. -This should be called when the widget loses the input focus, typically in -the widget's focus_out_event method. - - - - - -Checks if an input method is to be used for the current locale. -If GTK+ has been compiled without support for input methods, or the current -locale doesn't need an input method, then this will return FALSE. - - -@Returns: TRUE if an input method is available and should be used. - - - -Sets the best pre-edit and/or status style which should be used. -This will affect the style chosen in gdk_im_decide_style(). - - -The order of the pre-edit styles is (from worst to best): -%GDK_IM_PREEDIT_NONE, %GDK_IM_PREEDIT_NOTHING, %GDK_IM_PREEDIT_AREA, -%GDK_IM_PREEDIT_POSITION, %GDK_IM_PREEDIT_CALLBACKS. -The order of the status styles is: -%GDK_IM_STATUS_NONE, %GDK_IM_STATUS_NOTHING, %GDK_IM_STATUS_AREA, -%GDK_IM_STATUS_CALLBACKS. - - -So, for example, to set the best allowed pre-edit style to %GDK_IM_PREEDIT_AREA -you would do this: - - - - gdk_im_set_best_style (GDK_IM_PREEDIT_AREA); - - - -Or to set the best allowed pre-edit style to %GDK_IM_PREEDIT_POSITION and the -best allowed status style to %GDK_IM_STATUS_NOTHING you can do this: - - - - gdk_im_set_best_style (GDK_IM_PREEDIT_POSITION | GDK_IM_STATUS_NOTHING); - - - - -@best_allowed_style: a bit-mask with the best pre-edit style and/or the best -status style to use. If 0 is used, then the current bit-mask of all allowed -styles is returned. -@Returns: a bit-mask of all the styles allowed. - - - -Lists all available input devices, along with their -configuration information. - - -@Returns: A #GList of #GdkDeviceInfo structures. This list - is internal data of GTK+ and should not be modified - or freed. - - - -Retrieves the motion history for a given device/window pair. - - -@window: a #GdkWindow. -@deviceid: the device for which to retrieve motion history. -@start: the start time. -@stop: the stop time. -@nevents_return: location to store the number of events returned. -@Returns: a newly allocated array containing all the events - from @start to @stop. This array should be freed - with g_free() when you are finished using it. - - - -Sets the mapping of the axes (valuators) of a device -onto the predefined valuator types that GTK+ understands. - - -@deviceid: the device to configure. -@axes: an array of GdkAxisUse. This length of this array - must match the number of axes for the device. - - - -Sets the key event generated when a macro button is pressed. - - -@deviceid: the device to configure. -@index_: the index of the macro button. -@keyval: the key value for the #GdkKeypressEvent to generate. - (a value of 0 means no event will be generated.) -@modifiers: the modifier field for the generated - #GdkKeyPressEvent. - - - -Enables or disables a device, and determines how the -device maps onto the screen. - - -@deviceid: the device to configure. -@mode: the new mode. -@Returns: %TRUE if the device supports the given mode, otherwise - %FALSE and the device's mode is unchanged. - - - -Sets the source type for a device. - - -@deviceid: the device to configure -@source: the new source type. - - - -Returns information about the current position of the pointer -within a window, including extended device information. -Any of the return parameters may be %NULL, in which case, -they will be ignored. - - -@window: a #GdkWindow. -@deviceid: a device ID. -@x: location to store current x postion. -@y: location to store current y postion. -@pressure: location to store current pressure. -@xtilt: location to store current tilt in the x direction. -@ytilt: location to store current tilt in the y direction. -@mask: location to store the current modifier state. - - - - - - - - - - - - -@display_name: -@Returns: - - - - - - -@pixbuf: -@cr: -@pixbuf_x: -@pixbuf_y: - - - - - - - - - -Gets the colormap set by GdkRGB. This colormap and the corresponding -visual should be used when creating windows that will be drawn in by GdkRGB. - - -@Returns: The #GdkColormap set by GdkRGB. - - - - - - - - - - - - -@screen: - - - - - - -@screen: -@win_x: -@win_y: -@Returns: - - - - - - -@screen: -@Returns: - - - - - - - - - - - - -@display: - - - - - - -@screen: -@xvisualid: -@Returns: - From 8809e46a41774cd1b822472b287b2210fd7e3d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 16 Nov 2010 03:37:09 +0100 Subject: [PATCH 0267/1463] docs: Fix a typo in gtk_button_set_alignment() docs --- gtk/gtkbutton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 2bb6707e29..5a37262ace 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -2143,7 +2143,7 @@ gtk_button_get_focus_on_click (GtkButton *button) * 1.0 is bottom aligned * * Sets the alignment of the child. This property has no effect unless - * the child is a #GtkMisc or a #GtkAligment. + * the child is a #GtkMisc or a #GtkAlignment. * * Since: 2.4 */ From a5ab0a4c8448fcdced7f8d8e6fa83ee401394037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 16 Nov 2010 03:51:53 +0100 Subject: [PATCH 0268/1463] docs: Add cross-reference in GtkAlign docs --- gtk/gtkenums.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 73e1dce721..9fd47d7052 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -49,8 +49,8 @@ G_BEGIN_DECLS * Controls how a widget deals with extra space in a single (x or y) * dimension. * - * Alignment only matters if the widget receives a "too large" - * allocation, for example if you packed the widget with the "expand" + * Alignment only matters if the widget receives a "too large" allocation, + * for example if you packed the widget with the #GtkWidget:expand * flag inside a #GtkBox, then the widget might get extra space. If * you have for example a 16x16 icon inside a 32x32 space, the icon * could be scaled and stretched, it could be centered, or it could be From a512143bab1ace6854095f19bf9c3f57b52d4bae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 16 Nov 2010 06:43:16 +0100 Subject: [PATCH 0269/1463] GtkArg is deprecated since 2.2 --- gtk/gtktypeutils.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtktypeutils.h b/gtk/gtktypeutils.h index 51760cf0a9..1221a04cae 100644 --- a/gtk/gtktypeutils.h +++ b/gtk/gtktypeutils.h @@ -77,11 +77,13 @@ typedef void (*GtkCallbackMarshal) (GObject *object, typedef gchar * (*GtkTranslateFunc) (const gchar *path, gpointer func_data); -#if defined (GTK_COMPILATION) +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) /** * GtkArg: * * This is a structure that we use to pass in typed values (and names). + * + * Deprecated: 2.2: */ struct _GtkArg { From d5eee0d1bd55562e241ee7551ee2cb9e2f261984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 19 Oct 2010 11:47:27 +0200 Subject: [PATCH 0270/1463] Deprecate GtkCallbackMarshal and GtkFunction As they're only used by already deprecated API https://bugzilla.gnome.org/show_bug.cgi?id=629955 --- gtk/gtktypeutils.h | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/gtk/gtktypeutils.h b/gtk/gtktypeutils.h index 1221a04cae..15c749d512 100644 --- a/gtk/gtktypeutils.h +++ b/gtk/gtktypeutils.h @@ -41,6 +41,7 @@ G_BEGIN_DECLS #define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ()) GType gtk_identifier_get_type (void) G_GNUC_CONST; +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) /* --- typedefs --- */ /* here we come with some necessary forward declarations for structures and * provide some fundamental function signatures @@ -54,6 +55,8 @@ typedef struct _GtkArg GtkArg; * Defines a function pointer. * * Returns: #gint + * + * Deprecated: 2.24: Use GSourceFunc() instead. */ typedef gboolean (*GtkFunction) (gpointer data); @@ -65,19 +68,14 @@ typedef gboolean (*GtkFunction) (gpointer data); * @args: #GtkArg* * * Defines a function pointer. + * + * Deprecated: 2.24: */ typedef void (*GtkCallbackMarshal) (GObject *object, gpointer data, guint n_args, GtkArg *args); -/* This used to be defined in gtkitemfactory.h, but moved over here after - * the complete deprecation of that header - */ -typedef gchar * (*GtkTranslateFunc) (const gchar *path, - gpointer func_data); - -#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) /** * GtkArg: * @@ -118,7 +116,14 @@ struct _GtkArg } signal_data; } d; }; -#endif /* GTK_COMPILATION */ +#endif /* GTK_DISABLE_DEPRECATED */ + +/* This used to be defined in gtkitemfactory.h, but moved over here after + * the complete deprecation of that header + */ +typedef gchar * (*GtkTranslateFunc) (const gchar *path, + gpointer func_data); + G_END_DECLS From 446c0fd1ad77a94be81990bddb6959ca6c1ab528 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 13 Oct 2010 03:05:22 +0200 Subject: [PATCH 0271/1463] gtkmain: Remove deprecated gtk_init_add() function https://bugzilla.gnome.org/show_bug.cgi?id=629955 --- docs/reference/gtk/gtk3-sections.txt | 1 - docs/reference/gtk/tmpl/gtkmain.sgml | 10 -------- gtk/gtk.symbols | 1 - gtk/gtkmain.c | 37 ---------------------------- gtk/gtkmain.h | 2 -- 5 files changed, 51 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index faf87cd8d4..fe96c8190e 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5202,7 +5202,6 @@ gtk_device_grab_remove GtkFunction -gtk_init_add gtk_quit_add_destroy gtk_quit_add GtkCallbackMarshal diff --git a/docs/reference/gtk/tmpl/gtkmain.sgml b/docs/reference/gtk/tmpl/gtkmain.sgml index 4c698b6f44..c49a5d92c0 100644 --- a/docs/reference/gtk/tmpl/gtkmain.sgml +++ b/docs/reference/gtk/tmpl/gtkmain.sgml @@ -439,16 +439,6 @@ If @widget does not have the grab, this function does nothing. @Returns: - - -Registers a function to be called when the mainloop is started. - - -@function: Function to invoke when gtk_main() is called next. -@data: Data to pass to that function. -@Deprecated: This function is going to be removed in GTK+ 3.0 - - Trigger destruction of @object in case the mainloop at level @main_level diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index cd88fdaf0b..d81a8abb06 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1878,7 +1878,6 @@ gtk_init #ifdef G_OS_WIN32 gtk_init_abi_check #endif -gtk_init_add gtk_init_check #ifdef G_OS_WIN32 gtk_init_check_abi_check diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index a4d067aa3c..1ba0ae767a 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -146,16 +146,9 @@ _gtk_get_localedir (void) /* Private type definitions */ -typedef struct _GtkInitFunction GtkInitFunction; typedef struct _GtkQuitFunction GtkQuitFunction; typedef struct _GtkKeySnooperData GtkKeySnooperData; -struct _GtkInitFunction -{ - GtkFunction function; - gpointer data; -}; - struct _GtkQuitFunction { guint id; @@ -187,8 +180,6 @@ static GList *current_events = NULL; static GSList *main_loops = NULL; /* stack of currently executing main loops */ -static GList *init_functions = NULL; /* A list of init functions. - */ static GList *quit_functions = NULL; /* A list of quit functions. */ static GSList *key_snoopers = NULL; @@ -1293,8 +1284,6 @@ void gtk_main (void) { GList *tmp_list; - GList *functions; - GtkInitFunction *init; GMainLoop *loop; gtk_main_loop_level++; @@ -1302,19 +1291,6 @@ gtk_main (void) loop = g_main_loop_new (NULL, TRUE); main_loops = g_slist_prepend (main_loops, loop); - tmp_list = functions = init_functions; - init_functions = NULL; - - while (tmp_list) - { - init = tmp_list->data; - tmp_list = tmp_list->next; - - (* init->function) (init->data); - g_free (init); - } - g_list_free (functions); - if (g_main_loop_is_running (main_loops->data)) { GDK_THREADS_LEAVE (); @@ -2132,19 +2108,6 @@ gtk_device_grab_remove (GtkWidget *widget, gtk_grab_notify (group, device, widget, new_grab_widget, FALSE); } -void -gtk_init_add (GtkFunction function, - gpointer data) -{ - GtkInitFunction *init; - - init = g_new (GtkInitFunction, 1); - init->function = function; - init->data = data; - - init_functions = g_list_prepend (init_functions, init); -} - guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, gpointer func_data) diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index dae07bf4a3..1549d9586f 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -143,8 +143,6 @@ void gtk_device_grab_remove (GtkWidget *widget, GdkDevice *device); #if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) -void gtk_init_add (GtkFunction function, - gpointer data); void gtk_quit_add_destroy (guint main_level, GtkWidget *object); guint gtk_quit_add (guint main_level, From d56babefb4efb4f08e0fbbd0be7aa9099aae1cfd Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 23 Nov 2010 16:26:46 +0900 Subject: [PATCH 0272/1463] Removed cell margin apis and now deal with "focus-line-width". --- gtk/gtkcellarea.c | 234 +++++-------------------------------------- gtk/gtkcellarea.h | 15 +-- gtk/gtkcellareabox.c | 6 +- tests/testcellarea.c | 34 +------ 4 files changed, 31 insertions(+), 258 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 7463e0bace..70197b45a6 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -111,7 +111,7 @@ typedef struct { } CellAttribute; typedef struct { - GSList *attributes; + GSList *attributes; GtkCellLayoutDataFunc func; gpointer data; @@ -161,11 +161,6 @@ struct _GtkCellAreaPrivate */ GHashTable *cell_info; - /* The cell border decides how much space to reserve - * around each cell for the background_area - */ - GtkBorder cell_border; - /* Current path is saved as a side-effect * of gtk_cell_area_apply_attributes() */ gchar *current_path; @@ -189,10 +184,6 @@ struct _GtkCellAreaPrivate enum { PROP_0, - PROP_CELL_MARGIN_LEFT, - PROP_CELL_MARGIN_RIGHT, - PROP_CELL_MARGIN_TOP, - PROP_CELL_MARGIN_BOTTOM, PROP_FOCUS_CELL, PROP_EDITED_CELL, PROP_EDIT_WIDGET @@ -238,11 +229,6 @@ gtk_cell_area_init (GtkCellArea *area) NULL, (GDestroyNotify)g_list_free); - priv->cell_border.left = 0; - priv->cell_border.right = 0; - priv->cell_border.top = 0; - priv->cell_border.bottom = 0; - priv->focus_cell = NULL; priv->edited_cell = NULL; priv->edit_widget = NULL; @@ -356,50 +342,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) G_TYPE_STRING); /* Properties */ - g_object_class_install_property (object_class, - PROP_CELL_MARGIN_LEFT, - g_param_spec_int - ("cell-margin-left", - P_("Margin on Left"), - P_("Pixels of extra space on the left side of each cell"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); - - g_object_class_install_property (object_class, - PROP_CELL_MARGIN_RIGHT, - g_param_spec_int - ("cell-margin-right", - P_("Margin on Right"), - P_("Pixels of extra space on the right side of each cell"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); - - g_object_class_install_property (object_class, - PROP_CELL_MARGIN_TOP, - g_param_spec_int - ("cell-margin-top", - P_("Margin on Top"), - P_("Pixels of extra space on the top side of each cell"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); - - g_object_class_install_property (object_class, - PROP_CELL_MARGIN_BOTTOM, - g_param_spec_int - ("cell-margin-bottom", - P_("Margin on Bottom"), - P_("Pixels of extra space on the bottom side of each cell"), - 0, - G_MAXINT16, - 0, - GTK_PARAM_READWRITE)); - g_object_class_install_property (object_class, PROP_FOCUS_CELL, g_param_spec_object @@ -442,12 +384,11 @@ cell_info_new (GtkCellLayoutDataFunc func, gpointer data, GDestroyNotify destroy) { - CellInfo *info = g_slice_new (CellInfo); - - info->attributes = NULL; - info->func = func; - info->data = data; - info->destroy = destroy; + CellInfo *info = g_slice_new0 (CellInfo); + + info->func = func; + info->data = data; + info->destroy = destroy; return info; } @@ -552,18 +493,6 @@ gtk_cell_area_set_property (GObject *object, switch (prop_id) { - case PROP_CELL_MARGIN_LEFT: - gtk_cell_area_set_cell_margin_left (area, g_value_get_int (value)); - break; - case PROP_CELL_MARGIN_RIGHT: - gtk_cell_area_set_cell_margin_right (area, g_value_get_int (value)); - break; - case PROP_CELL_MARGIN_TOP: - gtk_cell_area_set_cell_margin_top (area, g_value_get_int (value)); - break; - case PROP_CELL_MARGIN_BOTTOM: - gtk_cell_area_set_cell_margin_bottom (area, g_value_get_int (value)); - break; case PROP_FOCUS_CELL: gtk_cell_area_set_focus_cell (area, (GtkCellRenderer *)g_value_get_object (value)); break; @@ -584,18 +513,6 @@ gtk_cell_area_get_property (GObject *object, switch (prop_id) { - case PROP_CELL_MARGIN_LEFT: - g_value_set_int (value, priv->cell_border.left); - break; - case PROP_CELL_MARGIN_RIGHT: - g_value_set_int (value, priv->cell_border.right); - break; - case PROP_CELL_MARGIN_TOP: - g_value_set_int (value, priv->cell_border.top); - break; - case PROP_CELL_MARGIN_BOTTOM: - g_value_set_int (value, priv->cell_border.bottom); - break; case PROP_FOCUS_CELL: g_value_set_object (value, priv->focus_cell); break; @@ -2581,7 +2498,7 @@ gtk_cell_area_activate_cell (GtkCellArea *area, * * XXX Maybe have to do some rtl mode treatment here... */ - gtk_cell_area_inner_cell_area (area, cell_area, &inner_area); + gtk_cell_area_inner_cell_area (area, widget, cell_area, &inner_area); g_object_get (renderer, "mode", &mode, NULL); @@ -2687,131 +2604,30 @@ gtk_cell_area_stop_editing (GtkCellArea *area, } /************************************************************* - * API: Margins * + * API: Convenience for area implementations * *************************************************************/ -gint -gtk_cell_area_get_cell_margin_left (GtkCellArea *area) -{ - g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - - return area->priv->cell_border.left; -} - -void -gtk_cell_area_set_cell_margin_left (GtkCellArea *area, - gint margin) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - if (priv->cell_border.left != margin) - { - priv->cell_border.left = margin; - - g_object_notify (G_OBJECT (area), "cell-margin-left"); - } -} - -gint -gtk_cell_area_get_cell_margin_right (GtkCellArea *area) -{ - g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - - return area->priv->cell_border.right; -} - -void -gtk_cell_area_set_cell_margin_right (GtkCellArea *area, - gint margin) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - if (priv->cell_border.right != margin) - { - priv->cell_border.right = margin; - - g_object_notify (G_OBJECT (area), "cell-margin-right"); - } -} - -gint -gtk_cell_area_get_cell_margin_top (GtkCellArea *area) -{ - g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - - return area->priv->cell_border.top; -} - -void -gtk_cell_area_set_cell_margin_top (GtkCellArea *area, - gint margin) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - if (priv->cell_border.top != margin) - { - priv->cell_border.top = margin; - - g_object_notify (G_OBJECT (area), "cell-margin-top"); - } -} - -gint -gtk_cell_area_get_cell_margin_bottom (GtkCellArea *area) -{ - g_return_val_if_fail (GTK_IS_CELL_AREA (area), 0); - - return area->priv->cell_border.bottom; -} - -void -gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, - gint margin) -{ - GtkCellAreaPrivate *priv; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - - priv = area->priv; - - if (priv->cell_border.bottom != margin) - { - priv->cell_border.bottom = margin; - - g_object_notify (G_OBJECT (area), "cell-margin-bottom"); - } -} void gtk_cell_area_inner_cell_area (GtkCellArea *area, + GtkWidget *widget, const GdkRectangle *cell_area, GdkRectangle *inner_area) { - GtkCellAreaPrivate *priv; + gint focus_line_width; g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (cell_area != NULL); g_return_if_fail (inner_area != NULL); - priv = area->priv; + gtk_widget_style_get (widget, "focus-line-width", &focus_line_width, NULL); *inner_area = *cell_area; - inner_area->x += priv->cell_border.left; - inner_area->width -= (priv->cell_border.left + priv->cell_border.right); - inner_area->y += priv->cell_border.top; - inner_area->height -= (priv->cell_border.top + priv->cell_border.bottom); + inner_area->x += focus_line_width; + inner_area->width -= focus_line_width * 2; + inner_area->y += focus_line_width; + inner_area->height -= focus_line_width * 2; } void @@ -2873,6 +2689,7 @@ gtk_cell_area_request_renderer (GtkCellArea *area, gint *natural_size) { GtkCellAreaPrivate *priv; + gint focus_line_width; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); @@ -2882,20 +2699,21 @@ gtk_cell_area_request_renderer (GtkCellArea *area, priv = area->priv; + gtk_widget_style_get (widget, "focus-line-width", &focus_line_width, NULL); + + focus_line_width *= 2; + if (orientation == GTK_ORIENTATION_HORIZONTAL) { if (for_size < 0) gtk_cell_renderer_get_preferred_width (renderer, widget, minimum_size, natural_size); else { - for_size = MAX (0, for_size - (priv->cell_border.top + priv->cell_border.bottom)); + for_size = MAX (0, for_size - focus_line_width); gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, for_size, minimum_size, natural_size); } - - *minimum_size += (priv->cell_border.left + priv->cell_border.right); - *natural_size += (priv->cell_border.left + priv->cell_border.right); } else /* GTK_ORIENTATION_VERTICAL */ { @@ -2903,13 +2721,13 @@ gtk_cell_area_request_renderer (GtkCellArea *area, gtk_cell_renderer_get_preferred_height (renderer, widget, minimum_size, natural_size); else { - for_size = MAX (0, for_size - (priv->cell_border.left + priv->cell_border.right)); + for_size = MAX (0, for_size - focus_line_width); gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, for_size, minimum_size, natural_size); } - - *minimum_size += (priv->cell_border.top + priv->cell_border.bottom); - *natural_size += (priv->cell_border.top + priv->cell_border.bottom); } + + *minimum_size += focus_line_width; + *natural_size += focus_line_width; } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 2434f817f0..c963ae395d 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -320,24 +320,11 @@ gboolean gtk_cell_area_activate_cell (GtkCellArea void gtk_cell_area_stop_editing (GtkCellArea *area, gboolean canceled); -/* Margins */ -gint gtk_cell_area_get_cell_margin_left (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_left (GtkCellArea *area, - gint margin); -gint gtk_cell_area_get_cell_margin_right (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_right (GtkCellArea *area, - gint margin); -gint gtk_cell_area_get_cell_margin_top (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_top (GtkCellArea *area, - gint margin); -gint gtk_cell_area_get_cell_margin_bottom (GtkCellArea *area); -void gtk_cell_area_set_cell_margin_bottom (GtkCellArea *area, - gint margin); - /* Functions for area implementations */ /* Distinguish the inner cell area from the whole requested area including margins */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, + GtkWidget *widget, const GdkRectangle *cell_area, GdkRectangle *inner_area); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 132cc29e31..a269cf5d9a 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -933,7 +933,7 @@ gtk_cell_area_box_event (GtkCellArea *area, /* Remove margins from the background area to produce the cell area */ - gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); + gtk_cell_area_inner_cell_area (area, widget, &cell_background, &inner_area); if (event_x >= inner_area.x && event_x <= inner_area.x + inner_area.width && event_y >= inner_area.y && event_y <= inner_area.y + inner_area.height) @@ -968,7 +968,7 @@ gtk_cell_area_box_event (GtkCellArea *area, /* If we are activating via a focus sibling, we need to fix the * cell area */ if (event_renderer != cell->renderer) - gtk_cell_area_inner_cell_area (area, cell_area, &cell_background); + gtk_cell_area_inner_cell_area (area, widget, cell_area, &cell_background); gtk_cell_area_set_focus_cell (area, event_renderer); @@ -1037,7 +1037,7 @@ gtk_cell_area_box_render (GtkCellArea *area, /* Remove margins from the background area to produce the cell area */ - gtk_cell_area_inner_cell_area (area, &cell_background, &inner_area); + gtk_cell_area_inner_cell_area (area, widget, &cell_background, &inner_area); /* Add portions of the background_area to the cell_background * to create the render_background */ diff --git a/tests/testcellarea.c b/tests/testcellarea.c index e0fd00edae..29d14904c6 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -498,24 +498,6 @@ row_spacing_changed (GtkSpinButton *spin_button, cell_area_scaffold_set_row_spacing (scaffold, value); } -static void -cell_margins_changed (GtkSpinButton *spin_button, - CellAreaScaffold *scaffold) -{ - GtkCellArea *area = cell_area_scaffold_get_area (scaffold); - gint value; - - value = (gint)gtk_spin_button_get_value (spin_button); - - gtk_cell_area_set_cell_margin_left (area, value); - gtk_cell_area_set_cell_margin_right (area, value); - gtk_cell_area_set_cell_margin_top (area, value); - gtk_cell_area_set_cell_margin_bottom (area, value); - - gtk_widget_queue_resize (GTK_WIDGET (scaffold)); -} - - static void indentation_changed (GtkSpinButton *spin_button, CellAreaScaffold *scaffold) @@ -544,8 +526,7 @@ background_area (void) label = gtk_label_new ("In this example, row spacing gets devided into the background area, " "column spacing is added between each background area, indentation is " - "prepended space distributed to the background area, individual cell margins " - "are also distributed to the background area for every cell."); + "prepended space distributed to the background area."); gtk_label_set_line_wrap (GTK_LABEL (label), TRUE); gtk_label_set_width_chars (GTK_LABEL (label), 40); gtk_widget_show (label); @@ -606,19 +587,6 @@ background_area (void) g_signal_connect (G_OBJECT (widget), "value-changed", G_CALLBACK (row_spacing_changed), scaffold); - widget = gtk_spin_button_new_with_range (0, 10, 1); - label = gtk_label_new ("Cell Margins"); - hbox = gtk_hbox_new (FALSE, 4); - gtk_widget_show (hbox); - gtk_widget_show (label); - gtk_widget_show (widget); - gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); - gtk_box_pack_start (GTK_BOX (hbox), widget, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - - g_signal_connect (G_OBJECT (widget), "value-changed", - G_CALLBACK (cell_margins_changed), scaffold); - widget = gtk_spin_button_new_with_range (0, 30, 1); label = gtk_label_new ("Intentation"); hbox = gtk_hbox_new (FALSE, 4); From e53dc3479f84047a38f098a00eee2b2082ee0e23 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 23 Nov 2010 23:37:58 +0900 Subject: [PATCH 0273/1463] Added GtkCellAreaClass->apply_attributes() Made gtk_cell_area_apply_attributes use a vfunc & signal so that subclasses might do specialized things picking up attributes from the model possibly for embedding widgets, and as specially for GtkTreeMenu to connect to the signal and synchronize the menu sensitivity states in a more convenient way than going through the GtkCellLayoutDataFunc. --- gtk/gtkcellarea.c | 184 +++++++++++++++++++++++++---------------- gtk/gtkcellarea.h | 5 ++ gtk/gtkmarshalers.list | 1 + 3 files changed, 119 insertions(+), 71 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 70197b45a6..55b6570ab2 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -56,6 +56,11 @@ static gint gtk_cell_area_real_event (GtkCellArea GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); +static void gtk_cell_area_real_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -190,6 +195,7 @@ enum { }; enum { + SIGNAL_APPLY_ATTRIBUTES, SIGNAL_ADD_EDITABLE, SIGNAL_REMOVE_EDITABLE, SIGNAL_FOCUS_CHANGED, @@ -248,11 +254,12 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) object_class->set_property = gtk_cell_area_set_property; /* general */ - class->add = NULL; - class->remove = NULL; - class->forall = NULL; - class->event = gtk_cell_area_real_event; - class->render = NULL; + class->add = NULL; + class->remove = NULL; + class->forall = NULL; + class->event = gtk_cell_area_real_event; + class->render = NULL; + class->apply_attributes = gtk_cell_area_real_apply_attributes; /* geometry */ class->create_context = NULL; @@ -269,6 +276,29 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) /* Signals */ + /** + * GtkCellArea::apply-attributes: + * @area: the #GtkCellArea to apply the attributes to + * @model: the #GtkTreeModel to apply the attributes from + * @iter: the #GtkTreeIter indicating which row to apply the attributes of + * @is_expander: whether the view shows children for this row + * @is_expanded: whether the view is currently showing the children of this row + * + * This signal is emitted whenever applying attributes to @area from @model + */ + cell_area_signals[SIGNAL_APPLY_ATTRIBUTES] = + g_signal_new (I_("apply-attributes"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkCellAreaClass, apply_attributes), + NULL, NULL, + _gtk_marshal_VOID__OBJECT_BOXED_BOOLEAN_BOOLEAN, + G_TYPE_NONE, 4, + GTK_TYPE_TREE_MODEL, + GTK_TYPE_TREE_ITER, + G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN); + /** * GtkCellArea::add-editable: * @area: the #GtkCellArea where editing started @@ -556,6 +586,82 @@ gtk_cell_area_real_event (GtkCellArea *area, return FALSE; } +static void +apply_cell_attributes (GtkCellRenderer *renderer, + CellInfo *info, + AttributeData *data) +{ + CellAttribute *attribute; + GSList *list; + GValue value = { 0, }; + gboolean is_expander; + gboolean is_expanded; + + g_object_freeze_notify (G_OBJECT (renderer)); + + /* Whether a row expands or is presently expanded can only be + * provided by the view (as these states can vary across views + * accessing the same model). + */ + g_object_get (renderer, "is-expander", &is_expander, NULL); + if (is_expander != data->is_expander) + g_object_set (renderer, "is-expander", data->is_expander, NULL); + + g_object_get (renderer, "is-expanded", &is_expanded, NULL); + if (is_expanded != data->is_expanded) + g_object_set (renderer, "is-expanded", data->is_expanded, NULL); + + /* Apply the attributes directly to the renderer */ + for (list = info->attributes; list; list = list->next) + { + attribute = list->data; + + gtk_tree_model_get_value (data->model, data->iter, attribute->column, &value); + g_object_set_property (G_OBJECT (renderer), attribute->attribute, &value); + g_value_unset (&value); + } + + /* Call any GtkCellLayoutDataFunc that may have been set by the user + */ + if (info->func) + info->func (GTK_CELL_LAYOUT (data->area), renderer, + data->model, data->iter, info->data); + + g_object_thaw_notify (G_OBJECT (renderer)); +} + +static void +gtk_cell_area_real_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded) +{ + + GtkCellAreaPrivate *priv; + AttributeData data; + GtkTreePath *path; + + priv = area->priv; + + /* Feed in data needed to apply to every renderer */ + data.area = area; + data.model = tree_model; + data.iter = iter; + data.is_expander = is_expander; + data.is_expanded = is_expanded; + + /* Go over any cells that have attributes or custom GtkCellLayoutDataFuncs and + * apply the data from the treemodel */ + g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); + + /* Update the currently applied path */ + g_free (priv->current_path); + path = gtk_tree_model_get_path (tree_model, iter); + priv->current_path = gtk_tree_path_to_string (path); + gtk_tree_path_free (path); +} + static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, @@ -1422,50 +1528,6 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, } } -static void -apply_cell_attributes (GtkCellRenderer *renderer, - CellInfo *info, - AttributeData *data) -{ - CellAttribute *attribute; - GSList *list; - GValue value = { 0, }; - gboolean is_expander; - gboolean is_expanded; - - g_object_freeze_notify (G_OBJECT (renderer)); - - /* Whether a row expands or is presently expanded can only be - * provided by the view (as these states can vary across views - * accessing the same model). - */ - g_object_get (renderer, "is-expander", &is_expander, NULL); - if (is_expander != data->is_expander) - g_object_set (renderer, "is-expander", data->is_expander, NULL); - - g_object_get (renderer, "is-expanded", &is_expanded, NULL); - if (is_expanded != data->is_expanded) - g_object_set (renderer, "is-expanded", data->is_expanded, NULL); - - /* Apply the attributes directly to the renderer */ - for (list = info->attributes; list; list = list->next) - { - attribute = list->data; - - gtk_tree_model_get_value (data->model, data->iter, attribute->column, &value); - g_object_set_property (G_OBJECT (renderer), attribute->attribute, &value); - g_value_unset (&value); - } - - /* Call any GtkCellLayoutDataFunc that may have been set by the user - */ - if (info->func) - info->func (GTK_CELL_LAYOUT (data->area), renderer, - data->model, data->iter, info->data); - - g_object_thaw_notify (G_OBJECT (renderer)); -} - /** * gtk_cell_area_apply_attributes * @area: a #GtkCellArea @@ -1485,32 +1547,12 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, gboolean is_expander, gboolean is_expanded) { - GtkCellAreaPrivate *priv; - AttributeData data; - GtkTreePath *path; - g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (iter != NULL); - priv = area->priv; - - /* Feed in data needed to apply to every renderer */ - data.area = area; - data.model = tree_model; - data.iter = iter; - data.is_expander = is_expander; - data.is_expanded = is_expanded; - - /* Go over any cells that have attributes or custom GtkCellLayoutDataFuncs and - * apply the data from the treemodel */ - g_hash_table_foreach (priv->cell_info, (GHFunc)apply_cell_attributes, &data); - - /* Update the currently applied path */ - g_free (priv->current_path); - path = gtk_tree_model_get_path (tree_model, iter); - priv->current_path = gtk_tree_path_to_string (path); - gtk_tree_path_free (path); + g_signal_emit (area, cell_area_signals[SIGNAL_APPLY_ATTRIBUTES], 0, + tree_model, iter, is_expander, is_expanded); } /** diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index c963ae395d..d457d81e21 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -99,6 +99,11 @@ struct _GtkCellAreaClass const GdkRectangle *cell_area, GtkCellRendererState flags, gboolean paint_focus); + void (* apply_attributes) (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); /* Geometry */ GtkCellAreaContext *(* create_context) (GtkCellArea *area); diff --git a/gtk/gtkmarshalers.list b/gtk/gtkmarshalers.list index 248bd6e059..9279037c7c 100644 --- a/gtk/gtkmarshalers.list +++ b/gtk/gtkmarshalers.list @@ -79,6 +79,7 @@ VOID:OBJECT VOID:OBJECT,BOOLEAN VOID:OBJECT,BOXED,BOXED VOID:OBJECT,BOXED,UINT,UINT +VOID:OBJECT,BOXED,BOOLEAN,BOOLEAN VOID:OBJECT,INT VOID:OBJECT,INT,OBJECT VOID:OBJECT,INT,INT From 9d0c2f6b37beee6032981759b0e1f8161ccd9d72 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 25 Nov 2010 16:09:51 +0900 Subject: [PATCH 0274/1463] Make GtkCellAreaBox handle rendering without a previous allocation in the orientation of choice. This is so that treeviews can have some columns oriented vertically and some horizontally, usually the column will only allocate the areas width, having vertical columns without fixed row heights just means it's slower to render. --- gtk/gtkcellareabox.c | 40 +++++++++++++++++++++++-------------- gtk/gtkcellareaboxcontext.c | 24 +++++++++++++++++++--- gtk/gtkcellareaboxcontext.h | 7 ++++++- 3 files changed, 52 insertions(+), 19 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a269cf5d9a..5bfcf1e00a 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -166,7 +166,8 @@ static void init_context_group (GtkCellAreaBox *box, GtkCellAreaBoxContext *context); static GSList *get_allocated_cells (GtkCellAreaBox *box, GtkCellAreaBoxContext *context, - GtkWidget *widget); + GtkWidget *widget, + gint orientation_size); struct _GtkCellAreaBoxPrivate @@ -570,22 +571,22 @@ flush_contexts (GtkCellAreaBox *box) static GSList * get_allocated_cells (GtkCellAreaBox *box, GtkCellAreaBoxContext *context, - GtkWidget *widget) + GtkWidget *widget, + gint orientation_size) { - const GtkCellAreaBoxAllocation *group_allocs; - GtkCellArea *area = GTK_CELL_AREA (box); - GtkCellAreaBoxPrivate *priv = box->priv; - GList *cell_list; - GSList *allocated_cells = NULL; - gint i, j, n_allocs; + GtkCellAreaBoxAllocation *group_allocs; + GtkCellArea *area = GTK_CELL_AREA (box); + GtkCellAreaBoxPrivate *priv = box->priv; + GList *cell_list; + GSList *allocated_cells = NULL; + gint i, j, n_allocs; + gboolean free_allocs = FALSE; group_allocs = gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); if (!group_allocs) { - g_warning ("Trying to operate on an unallocated GtkCellAreaContext, " - "GtkCellAreaBox requires that the context be allocated at least " - "in the orientation of the box"); - return NULL; + group_allocs = gtk_cell_area_box_context_allocate (context, orientation_size, &n_allocs); + free_allocs = TRUE; } for (i = 0; i < n_allocs; i++) @@ -685,6 +686,9 @@ get_allocated_cells (GtkCellAreaBox *box, } } + if (free_allocs) + g_free (group_allocs); + /* Note it might not be important to reverse the list here at all, * we have the correct positions, no need to allocate from left to right */ return g_slist_reverse (allocated_cells); @@ -838,7 +842,9 @@ gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_context, widget); + allocated_cells = get_allocated_cells (box, box_context, widget, + priv->orientation == GTK_ORIENTATION_HORIZONTAL ? + cell_area->width : cell_area->height); for (l = allocated_cells; l; l = l->next) { @@ -914,7 +920,9 @@ gtk_cell_area_box_event (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_context, widget); + allocated_cells = get_allocated_cells (box, box_context, widget, + priv->orientation == GTK_ORIENTATION_HORIZONTAL ? + cell_area->width : cell_area->height); for (l = allocated_cells; l; l = l->next) { @@ -1016,7 +1024,9 @@ gtk_cell_area_box_render (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_context, widget); + allocated_cells = get_allocated_cells (box, box_context, widget, + priv->orientation == GTK_ORIENTATION_HORIZONTAL ? + cell_area->width : cell_area->height); for (l = allocated_cells; l; l = l->next) { diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index e0501e6944..caf23df071 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -562,8 +562,8 @@ gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, { GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GtkCellArea *area; - GtkOrientation orientation; + GtkCellArea *area; + GtkOrientation orientation; area = gtk_cell_area_context_get_area (context); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); @@ -604,6 +604,7 @@ gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate_height (context, height); } + /************************************************************* * API * *************************************************************/ @@ -870,7 +871,7 @@ gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_VERTICAL, n_heights); } -G_CONST_RETURN GtkCellAreaBoxAllocation * +GtkCellAreaBoxAllocation * gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, gint *n_allocs) { @@ -883,4 +884,21 @@ gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context *n_allocs = priv->n_orientation_allocs; return priv->orientation_allocs; + +} + +GtkCellAreaBoxAllocation * +gtk_cell_area_box_context_allocate (GtkCellAreaBoxContext *context, + gint orientation_size, + gint *n_allocs) +{ + GtkCellArea *area; + GtkOrientation orientation; + gint spacing; + + area = gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + + return allocate_for_orientation (context, orientation, spacing, orientation_size, n_allocs); } diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 4f9c02d9b1..01f7dc6cba 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -125,10 +125,15 @@ typedef struct { gint size; /* Full allocated size of the cells in this group spacing inclusive */ } GtkCellAreaBoxAllocation; -G_CONST_RETURN GtkCellAreaBoxAllocation * +GtkCellAreaBoxAllocation * gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, gint *n_allocs); +GtkCellAreaBoxAllocation * +gtk_cell_area_box_context_allocate (GtkCellAreaBoxContext *context, + gint orientation_size, + gint *n_allocs); + G_END_DECLS #endif /* __GTK_CELL_AREA_BOX_CONTEXT_H__ */ From 5f7787ab2ead2cdd11ebe17b16dd9498daaaf9c5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 25 Nov 2010 16:36:46 +0900 Subject: [PATCH 0275/1463] Removed tons of api that we dont absolutely need in GtkCellAreaContext: - gtk_cell_area_context_get_height_for_width() - gtk_cell_area_context_get_width_for_height() - gtk_cell_area_context_push_height_for_width() - gtk_cell_area_context_push_width_for_height() - gtk_cell_area_context_flush_height_for_width() - gtk_cell_area_context_flush_width_for_height() - Contextual size changed signal All of these are not really important for the CellArea to operate and not of any real consequential value to the user (the user can accumulate the returned values from height-for-width requests and do as they please with it). --- gtk/gtkcellareabox.c | 57 ++---- gtk/gtkcellareaboxcontext.c | 303 ------------------------------ gtk/gtkcellareaboxcontext.h | 27 --- gtk/gtkcellareacontext.c | 363 +----------------------------------- gtk/gtkcellareacontext.h | 32 ---- 5 files changed, 20 insertions(+), 762 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 5bfcf1e00a..1e2ce41e82 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1284,8 +1284,7 @@ compute_size (GtkCellAreaBox *box, for (i = 0; i < priv->groups->len; i++) { CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - gint group_min_size = 0; - gint group_nat_size = 0; + gint group_min = 0, group_nat = 0; for (list = group->cells; list; list = list->next) { @@ -1305,42 +1304,33 @@ compute_size (GtkCellAreaBox *box, min_size += priv->spacing; nat_size += priv->spacing; } - - if (group_min_size > 0) + + if (group_min > 0) { - group_min_size += priv->spacing; - group_nat_size += priv->spacing; + group_min += priv->spacing; + group_nat += priv->spacing; } - - min_size += renderer_min_size; - nat_size += renderer_nat_size; - group_min_size += renderer_min_size; - group_nat_size += renderer_nat_size; + + min_size += renderer_min_size; + nat_size += renderer_nat_size; + group_min += renderer_min_size; + group_nat += renderer_nat_size; } else { - min_size = MAX (min_size, renderer_min_size); - nat_size = MAX (nat_size, renderer_nat_size); - group_min_size = MAX (group_min_size, renderer_min_size); - group_nat_size = MAX (group_nat_size, renderer_nat_size); + min_size = MAX (min_size, renderer_min_size); + nat_size = MAX (nat_size, renderer_nat_size); + group_min = MAX (group_min, renderer_min_size); + group_nat = MAX (group_nat, renderer_nat_size); } } - if (orientation == GTK_ORIENTATION_HORIZONTAL) + if (for_size < 0) { - if (for_size < 0) - gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_box_context_push_group_width (context, group->id, group_min, group_nat); else - gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, - group_min_size, group_nat_size); - } - else - { - if (for_size < 0) - gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); - else - gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, - group_min_size, group_nat_size); + gtk_cell_area_box_context_push_group_height (context, group->id, group_min, group_nat); } } @@ -1529,17 +1519,6 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, min_size = MAX (min_size, group_min); nat_size = MAX (nat_size, group_nat); - - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, - group_min, group_nat); - } - else - { - gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, - group_min, group_nat); - } } *minimum_size = min_size; diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index caf23df071..6ba773c0ee 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -32,31 +32,15 @@ static void gtk_cell_area_box_context_finalize (GOb /* GtkCellAreaContextClass */ static void gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width); static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height); static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context); static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint width); static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint height); static void gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, gint width); static void gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, gint height); -static void free_cache_array (GArray *array); - -/* CachedSize management */ -typedef struct { - gint min_size; - gint nat_size; -} CachedSize; - typedef struct { gint min_size; gint nat_size; @@ -69,10 +53,6 @@ struct _GtkCellAreaBoxContextPrivate GArray *base_widths; GArray *base_heights; - /* Table of per height/width hash tables of per renderer CachedSizes */ - GHashTable *widths; - GHashTable *heights; - /* Allocation info for this context if any */ gint alloc_width; gint alloc_height; @@ -82,12 +62,6 @@ struct _GtkCellAreaBoxContextPrivate G_DEFINE_TYPE (GtkCellAreaBoxContext, gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT); -static void -free_cache_array (GArray *array) -{ - g_array_free (array, TRUE); -} - static void gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) { @@ -101,11 +75,6 @@ gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) priv->base_widths = g_array_new (FALSE, TRUE, sizeof (BaseSize)); priv->base_heights = g_array_new (FALSE, TRUE, sizeof (BaseSize)); - priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)free_cache_array); - priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)free_cache_array); - priv->alloc_width = 0; priv->alloc_height = 0; priv->orientation_allocs = NULL; @@ -122,15 +91,11 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) object_class->finalize = gtk_cell_area_box_context_finalize; context_class->flush_preferred_width = gtk_cell_area_box_context_flush_preferred_width; - context_class->flush_preferred_height_for_width = gtk_cell_area_box_context_flush_preferred_height_for_width; context_class->flush_preferred_height = gtk_cell_area_box_context_flush_preferred_height; - context_class->flush_preferred_width_for_height = gtk_cell_area_box_context_flush_preferred_width_for_height; context_class->flush_allocation = gtk_cell_area_box_context_flush_allocation; context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; - context_class->sum_preferred_height_for_width = gtk_cell_area_box_context_sum_preferred_height_for_width; context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; - context_class->sum_preferred_width_for_height = gtk_cell_area_box_context_sum_preferred_width_for_height; context_class->allocate_width = gtk_cell_area_box_context_allocate_width; context_class->allocate_height = gtk_cell_area_box_context_allocate_height; @@ -149,8 +114,6 @@ gtk_cell_area_box_context_finalize (GObject *object) g_array_free (priv->base_widths, TRUE); g_array_free (priv->base_heights, TRUE); - g_hash_table_destroy (priv->widths); - g_hash_table_destroy (priv->heights); g_free (priv->orientation_allocs); @@ -179,23 +142,6 @@ gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context) (gtk_cell_area_box_context_parent_class)->flush_preferred_width (context); } -static void -gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - - /* Flush all sizes for special -1 value */ - if (width < 0) - g_hash_table_remove_all (priv->heights); - else - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - - GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->flush_preferred_height_for_width (context, width); -} - static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) { @@ -215,23 +161,6 @@ gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) (gtk_cell_area_box_context_parent_class)->flush_preferred_height (context); } -static void -gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - - /* Flush all sizes for special -1 value */ - if (height < 0) - g_hash_table_remove_all (priv->widths); - else - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - - GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->flush_preferred_width_for_height (context, height); -} - static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context) { @@ -285,55 +214,6 @@ gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context) gtk_cell_area_context_push_preferred_width (context, min_size, nat_size); } -static void -gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GArray *group_array; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; - - group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (width)); - - if (group_array) - { - area = gtk_cell_area_context_get_area (context); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - for (i = 0; i < group_array->len; i++) - { - CachedSize *size = &g_array_index (group_array, CachedSize, i); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } - else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } - } - - gtk_cell_area_context_push_preferred_height_for_width (context, width, min_size, nat_size); - } -} - static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) { @@ -376,55 +256,6 @@ gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) gtk_cell_area_context_push_preferred_height (context, min_size, nat_size); } -static void -gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GArray *group_array; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; - - group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (height)); - - if (group_array) - { - area = gtk_cell_area_context_get_area (context); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - for (i = 0; i < group_array->len; i++) - { - CachedSize *size = &g_array_index (group_array, CachedSize, i); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } - else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } - } - - gtk_cell_area_context_push_preferred_width_for_height (context, height, min_size, nat_size); - } -} - static GtkRequestedSize * gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, GtkOrientation orientation, @@ -658,36 +489,6 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, size->nat_size = MAX (size->nat_size, natural_width); } -void -gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint minimum_height, - gint natural_height) -{ - GtkCellAreaBoxContextPrivate *priv; - GArray *group_array; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - - priv = box_context->priv; - g_return_if_fail (group_idx < priv->base_widths->len); - - group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - if (!group_array) - { - group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); - g_array_set_size (group_array, priv->base_heights->len); - - g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), group_array); - } - - size = &g_array_index (group_array, CachedSize, group_idx); - size->min_size = MAX (size->min_size, minimum_height); - size->nat_size = MAX (size->nat_size, natural_height); -} - void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, @@ -707,36 +508,6 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, size->nat_size = MAX (size->nat_size, natural_height); } -void -gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint minimum_width, - gint natural_width) -{ - GtkCellAreaBoxContextPrivate *priv; - GArray *group_array; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - - priv = box_context->priv; - g_return_if_fail (group_idx < priv->base_widths->len); - - group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - if (!group_array) - { - group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); - g_array_set_size (group_array, priv->base_heights->len); - - g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), group_array); - } - - size = &g_array_index (group_array, CachedSize, group_idx); - size->min_size = MAX (size->min_size, minimum_width); - size->nat_size = MAX (size->nat_size, natural_width); -} - void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, @@ -760,43 +531,6 @@ gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, *natural_width = size->nat_size; } -void -gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint *minimum_height, - gint *natural_height) -{ - GtkCellAreaBoxContextPrivate *priv; - GArray *group_array; - - g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - - priv = box_context->priv; - g_return_if_fail (group_idx < priv->base_widths->len); - - group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (group_array) - { - CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); - - if (minimum_height) - *minimum_height = size->min_size; - - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; - - if (natural_height) - *natural_height = -1; - } -} - void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, @@ -820,43 +554,6 @@ gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, *natural_height = size->nat_size; } -void -gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint *minimum_width, - gint *natural_width) -{ - GtkCellAreaBoxContextPrivate *priv; - GArray *group_array; - - g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); - - priv = box_context->priv; - g_return_if_fail (group_idx < priv->base_widths->len); - - group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (group_array) - { - CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); - - if (minimum_width) - *minimum_width = size->min_size; - - if (natural_width) - *natural_width = size->nat_size; - } - else - { - if (minimum_width) - *minimum_width = -1; - - if (natural_width) - *natural_width = -1; - } -} - GtkRequestedSize * gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths) diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 01f7dc6cba..29d9f80a7a 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -72,47 +72,20 @@ void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxCo gint group_idx, gint minimum_width, gint natural_width); - -void gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint minimum_height, - gint natural_height); - void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint minimum_height, gint natural_height); -void gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint minimum_width, - gint natural_width); - /* Fetch cell-group sizes */ void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_width, gint *natural_width); - -void gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint *minimum_height, - gint *natural_height); - void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_height, gint *natural_height); - -void gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint *minimum_width, - gint *natural_width); - GtkRequestedSize *gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths); GtkRequestedSize *gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 61646708db..1d0598f793 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -28,7 +28,6 @@ #include "gtkprivate.h" /* GObjectClass */ -static void gtk_cell_area_context_finalize (GObject *object); static void gtk_cell_area_context_dispose (GObject *object); static void gtk_cell_area_context_get_property (GObject *object, guint prop_id, @@ -41,26 +40,13 @@ static void gtk_cell_area_context_set_property (GObject /* GtkCellAreaContextClass */ static void gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width); static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height); static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context); static void gtk_cell_area_context_real_allocate_width (GtkCellAreaContext *context, gint width); static void gtk_cell_area_context_real_allocate_height (GtkCellAreaContext *context, gint height); -/* CachedSize management */ -typedef struct { - gint min_size; - gint nat_size; -} CachedSize; - -static CachedSize *cached_size_new (gint min_size, gint nat_size); -static void cached_size_free (CachedSize *size); - struct _GtkCellAreaContextPrivate { GtkCellArea *cell_area; @@ -71,9 +57,6 @@ struct _GtkCellAreaContextPrivate gint nat_height; gint alloc_width; gint alloc_height; - - GHashTable *widths; - GHashTable *heights; }; enum { @@ -85,14 +68,6 @@ enum { PROP_NAT_HEIGHT }; -enum { - SIGNAL_WIDTH_CHANGED, - SIGNAL_HEIGHT_CHANGED, - LAST_SIGNAL -}; - -static guint cell_area_context_signals[LAST_SIGNAL] = { 0 }; - G_DEFINE_TYPE (GtkCellAreaContext, gtk_cell_area_context, G_TYPE_OBJECT); static void @@ -109,10 +84,6 @@ gtk_cell_area_context_init (GtkCellAreaContext *context) priv->nat_width = -1; priv->min_height = -1; priv->nat_height = -1; - priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); - priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); } static void @@ -121,46 +92,21 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) GObjectClass *object_class = G_OBJECT_CLASS (class); /* GObjectClass */ - object_class->finalize = gtk_cell_area_context_finalize; object_class->dispose = gtk_cell_area_context_dispose; object_class->get_property = gtk_cell_area_context_get_property; object_class->set_property = gtk_cell_area_context_set_property; /* GtkCellAreaContextClass */ class->flush_preferred_width = gtk_cell_area_context_real_flush_preferred_width; - class->flush_preferred_height_for_width = gtk_cell_area_context_real_flush_preferred_height_for_width; class->flush_preferred_height = gtk_cell_area_context_real_flush_preferred_height; - class->flush_preferred_width_for_height = gtk_cell_area_context_real_flush_preferred_width_for_height; class->flush_allocation = gtk_cell_area_context_real_flush_allocation; - class->sum_preferred_width = NULL; - class->sum_preferred_height_for_width = NULL; - class->sum_preferred_height = NULL; - class->sum_preferred_width_for_height = NULL; + class->sum_preferred_width = NULL; + class->sum_preferred_height = NULL; class->allocate_width = gtk_cell_area_context_real_allocate_width; class->allocate_height = gtk_cell_area_context_real_allocate_height; - cell_area_context_signals[SIGNAL_HEIGHT_CHANGED] = - g_signal_new (I_("height-changed"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__INT_INT_INT, - G_TYPE_NONE, 3, - G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); - - cell_area_context_signals[SIGNAL_WIDTH_CHANGED] = - g_signal_new (I_("width-changed"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__INT_INT_INT, - G_TYPE_NONE, 3, - G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); - g_object_class_install_property (object_class, PROP_CELL_AREA, g_param_spec_object ("area", @@ -212,44 +158,9 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_type_class_add_private (object_class, sizeof (GtkCellAreaContextPrivate)); } - - -/************************************************************* - * Cached Sizes * - *************************************************************/ -static CachedSize * -cached_size_new (gint min_size, - gint nat_size) -{ - CachedSize *size = g_slice_new (CachedSize); - - size->min_size = min_size; - size->nat_size = nat_size; - - return size; -} - -static void -cached_size_free (CachedSize *size) -{ - g_slice_free (CachedSize, size); -} - /************************************************************* * GObjectClass * *************************************************************/ -static void -gtk_cell_area_context_finalize (GObject *object) -{ - GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); - GtkCellAreaContextPrivate *priv = context->priv; - - g_hash_table_destroy (priv->widths); - g_hash_table_destroy (priv->heights); - - G_OBJECT_CLASS (gtk_cell_area_context_parent_class)->finalize (object); -} - static void gtk_cell_area_context_dispose (GObject *object) { @@ -335,40 +246,6 @@ gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context) g_object_thaw_notify (G_OBJECT (context)); } -static void -notify_invalid_height (gpointer width_ptr, - CachedSize *size, - GtkCellAreaContext *context) -{ - gint width = GPOINTER_TO_INT (width_ptr); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], - 0, width, -1, -1); -} - -static void -gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - /* Flush all sizes for special -1 value */ - if (width < 0) - { - g_hash_table_foreach (priv->heights, (GHFunc)notify_invalid_height, context); - g_hash_table_remove_all (priv->heights); - } - else - { - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], - 0, width, -1, -1); - } -} - static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) { @@ -383,40 +260,6 @@ gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) g_object_thaw_notify (G_OBJECT (context)); } -static void -notify_invalid_width (gpointer height_ptr, - CachedSize *size, - GtkCellAreaContext *context) -{ - gint height = GPOINTER_TO_INT (height_ptr); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], - 0, height, -1, -1); -} - -static void -gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - /* Flush all sizes for special -1 value */ - if (height < 0) - { - g_hash_table_foreach (priv->widths, (GHFunc)notify_invalid_width, context); - g_hash_table_remove_all (priv->widths); - } - else - { - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], - 0, height, -1, -1); - } -} - static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context) { @@ -466,9 +309,7 @@ gtk_cell_area_context_flush (GtkCellAreaContext *context) g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); gtk_cell_area_context_flush_preferred_width (context); - gtk_cell_area_context_flush_preferred_height_for_width (context, -1); gtk_cell_area_context_flush_preferred_height (context); - gtk_cell_area_context_flush_preferred_width_for_height (context, -1); gtk_cell_area_context_flush_allocation (context); } @@ -480,15 +321,6 @@ gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width (context); } -void -gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height_for_width (context, for_width); -} - void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) { @@ -497,15 +329,6 @@ gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height (context); } -void -gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width_for_height (context, for_height); -} - void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context) { @@ -527,20 +350,6 @@ gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context) class->sum_preferred_width (context); } -void -gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - if (class->sum_preferred_height_for_width) - class->sum_preferred_height_for_width (context, for_width); -} - void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) { @@ -554,20 +363,6 @@ gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) class->sum_preferred_height (context); } -void -gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - if (class->sum_preferred_width_for_height) - class->sum_preferred_width_for_height (context, for_height); -} - void gtk_cell_area_context_allocate_width (GtkCellAreaContext *context, gint width) @@ -612,39 +407,6 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, *natural_width = priv->nat_width; } -void -gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint *minimum_height, - gint *natural_height) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (size) - { - if (minimum_height) - *minimum_height = size->min_size; - - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; - - if (natural_height) - *natural_height = -1; - } -} - void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, @@ -663,39 +425,6 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, *natural_height = priv->nat_height; } -void -gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint *minimum_width, - gint *natural_width) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (size) - { - if (minimum_width) - *minimum_width = size->min_size; - - if (natural_width) - *natural_width = size->nat_size; - } - else - { - if (minimum_width) - *minimum_width = -1; - - if (natural_width) - *natural_width = -1; - } -} - void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, @@ -744,50 +473,6 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } -void -gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint minimum_height, - gint natural_height) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - gboolean changed = FALSE; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (!size) - { - size = cached_size_new (minimum_height, natural_height); - - g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), size); - - changed = TRUE; - } - else - { - if (minimum_height > size->min_size) - { - size->min_size = minimum_height; - changed = TRUE; - } - - if (natural_height > size->nat_size) - { - size->nat_size = natural_height; - changed = TRUE; - } - } - - if (changed) - g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], 0, - for_width, size->min_size, size->nat_size); -} - void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, @@ -817,47 +502,3 @@ gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } - -void -gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint minimum_width, - gint natural_width) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - gboolean changed = FALSE; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (!size) - { - size = cached_size_new (minimum_width, natural_width); - - g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), size); - - changed = TRUE; - } - else - { - if (minimum_width > size->min_size) - { - size->min_size = minimum_width; - changed = TRUE; - } - - if (natural_width > size->nat_size) - { - size->nat_size = natural_width; - changed = TRUE; - } - } - - if (changed) - g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], 0, - for_height, size->min_size, size->nat_size); -} diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 8e3621f313..0782f78364 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -55,22 +55,14 @@ struct _GtkCellAreaContextClass /* Subclasses can use this to flush their alignments/allocations */ void (* flush_preferred_width) (GtkCellAreaContext *context); - void (* flush_preferred_height_for_width) (GtkCellAreaContext *context, - gint width); void (* flush_preferred_height) (GtkCellAreaContext *context); - void (* flush_preferred_width_for_height) (GtkCellAreaContext *context, - gint height); void (* flush_allocation) (GtkCellAreaContext *context); /* These must be invoked after a series of requests before consulting * the context values, implementors use this to push the overall * requests while acconting for any internal alignments */ void (* sum_preferred_width) (GtkCellAreaContext *context); - void (* sum_preferred_height_for_width) (GtkCellAreaContext *context, - gint width); void (* sum_preferred_height) (GtkCellAreaContext *context); - void (* sum_preferred_width_for_height) (GtkCellAreaContext *context, - gint height); /* Store an allocation value for a GtkCellArea contextual to a range of * treemodel rows */ @@ -93,21 +85,13 @@ GtkCellArea *gtk_cell_area_context_get_area (GtkCellArea /* Apis for GtkCellArea clients to flush the cache */ void gtk_cell_area_context_flush (GtkCellAreaContext *context); void gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width); void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height); void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context); /* Apis for GtkCellArea clients to sum up the results of a series of requests, this * call is required to reduce the processing while calculating the size of each row */ void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width); void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height); /* Apis to set an allocation size in one dimension or another, the subclass specific context * will store allocated positions/sizes for individual cells or groups of cells */ @@ -120,17 +104,9 @@ void gtk_cell_area_context_allocate_height (GtkCellArea void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, gint *minimum_width, gint *natural_width); -void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint *minimum_height, - gint *natural_height); void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, gint *natural_height); -void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint *minimum_width, - gint *natural_width); void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, gint *height); @@ -139,17 +115,9 @@ void gtk_cell_area_context_get_allocation (GtkCellArea void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, gint minimum_width, gint natural_width); -void gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint minimum_height, - gint natural_height); void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, gint natural_height); -void gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint minimum_width, - gint natural_width); G_END_DECLS From 2dd2c7ce054313a3e31b162ce78507c295926e0b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 25 Nov 2010 17:41:26 +0900 Subject: [PATCH 0276/1463] Added gtk_cell_renderer_get_aligned_area() and class vfunc. Since a cell renderer might use more space than the natural size when recieving expand space it's impossible to know how much space is actually used to render content. Adding this virtual method to allow text renderers to implement it, the base default method uses height-for-width apis and aligns the cell assuming the renderer uses a fixed size. This commit removes the similar code from gtkcellarea and subclasses. --- gtk/gtkcellarea.c | 51 +------------------ gtk/gtkcellarea.h | 8 --- gtk/gtkcellareabox.c | 2 +- gtk/gtkcellrenderer.c | 100 +++++++++++++++++++++++++++++++++++++- gtk/gtkcellrenderer.h | 11 +++++ gtk/gtkcellrenderertext.c | 53 +++++++++++--------- 6 files changed, 142 insertions(+), 83 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 55b6570ab2..e68fb653df 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2575,7 +2575,7 @@ gtk_cell_area_activate_cell (GtkCellArea *area, gtk_cell_area_set_edited_cell (area, renderer); gtk_cell_area_set_edit_widget (area, editable_widget); - gtk_cell_area_aligned_cell_area (area, widget, renderer, &inner_area, &edit_area); + gtk_cell_renderer_get_aligned_area (renderer, widget, flags, &inner_area, &edit_area); /* Signal that editing started so that callers can get * a handle on the editable_widget */ @@ -2672,55 +2672,6 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area, inner_area->height -= focus_line_width * 2; } -void -gtk_cell_area_aligned_cell_area (GtkCellArea *area, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *aligned_area) -{ - GtkCellAreaPrivate *priv; - gint opposite_size, x_offset, y_offset; - - g_return_if_fail (GTK_IS_CELL_AREA (area)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (cell_area != NULL); - g_return_if_fail (aligned_area != NULL); - - priv = area->priv; - - *aligned_area = *cell_area; - - /* Trim up the aligned size */ - if (gtk_cell_renderer_get_request_mode (renderer) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) - { - gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, - aligned_area->width, - NULL, &opposite_size); - - aligned_area->height = MIN (opposite_size, aligned_area->height); - } - else - { - gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, - aligned_area->height, - NULL, &opposite_size); - - aligned_area->width = MIN (opposite_size, aligned_area->width); - } - - /* offset the cell position */ - _gtk_cell_renderer_calc_offset (renderer, cell_area, - gtk_widget_get_direction (widget), - aligned_area->width, - aligned_area->height, - &x_offset, &y_offset); - - aligned_area->x += x_offset; - aligned_area->y += y_offset; -} - void gtk_cell_area_request_renderer (GtkCellArea *area, GtkCellRenderer *renderer, diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index d457d81e21..5611e65845 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -333,14 +333,6 @@ void gtk_cell_area_inner_cell_area (GtkCellArea const GdkRectangle *cell_area, GdkRectangle *inner_area); -/* Aligns a cell renderer into cell_area by requesting it's size ... used for focus and cell edit areas */ -void gtk_cell_area_aligned_cell_area (GtkCellArea *area, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *aligned_area); - - /* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */ void gtk_cell_area_request_renderer (GtkCellArea *area, GtkCellRenderer *renderer, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 1e2ce41e82..8950c53c0f 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1094,7 +1094,7 @@ gtk_cell_area_box_render (GtkCellArea *area, { GdkRectangle cell_focus; - gtk_cell_area_aligned_cell_area (area, widget, cell->renderer, &inner_area, &cell_focus); + gtk_cell_renderer_get_aligned_area (cell->renderer, widget, flags, &inner_area, &cell_focus); /* Accumulate the focus rectangle for all focus siblings */ if (first_focus_cell) diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index 4b6680a238..d7b77ed364 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -97,7 +97,11 @@ static void gtk_cell_renderer_real_get_preferred_width_for_height(GtkCellRendere gint height, gint *minimum_width, gint *natural_width); - +static void gtk_cell_renderer_real_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); struct _GtkCellRendererPrivate @@ -192,6 +196,7 @@ gtk_cell_renderer_class_init (GtkCellRendererClass *class) class->get_preferred_height = gtk_cell_renderer_real_get_preferred_height; class->get_preferred_width_for_height = gtk_cell_renderer_real_get_preferred_width_for_height; class->get_preferred_height_for_width = gtk_cell_renderer_real_get_preferred_height_for_width; + class->get_aligned_area = gtk_cell_renderer_real_get_aligned_area; /** * GtkCellRenderer::editing-canceled: @@ -1236,6 +1241,67 @@ gtk_cell_renderer_real_get_preferred_width_for_height (GtkCellRenderer *cell, gtk_cell_renderer_get_preferred_width (cell, widget, minimum_width, natural_width); } + +/* Default implementation assumes that a cell renderer will never use more + * space than it's natural size (this is fine for toggles and pixbufs etc + * but needs to be overridden from wrapping/ellipsizing text renderers) */ +static void +gtk_cell_renderer_real_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area) +{ + gint opposite_size, x_offset, y_offset; + gint natural_size; + + g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (cell_area != NULL); + g_return_if_fail (aligned_area != NULL); + + *aligned_area = *cell_area; + + /* Trim up the aligned size */ + if (gtk_cell_renderer_get_request_mode (cell) == GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH) + { + gtk_cell_renderer_get_preferred_width (cell, widget, + NULL, &natural_size); + + aligned_area->width = MIN (aligned_area->width, natural_size); + + gtk_cell_renderer_get_preferred_height_for_width (cell, widget, + aligned_area->width, + NULL, &opposite_size); + + aligned_area->height = MIN (opposite_size, aligned_area->height); + } + else + { + gtk_cell_renderer_get_preferred_height (cell, widget, + NULL, &natural_size); + + aligned_area->height = MIN (aligned_area->width, natural_size); + + gtk_cell_renderer_get_preferred_width_for_height (cell, widget, + aligned_area->height, + NULL, &opposite_size); + + aligned_area->width = MIN (opposite_size, aligned_area->width); + } + + /* offset the cell position */ + _gtk_cell_renderer_calc_offset (cell, cell_area, + gtk_widget_get_direction (widget), + aligned_area->width, + aligned_area->height, + &x_offset, &y_offset); + + aligned_area->x += x_offset; + aligned_area->y += y_offset; +} + + /* An internal convenience function for some containers to peek at the * cell alignment in a target allocation (used to draw focus and align * cells in the icon view). @@ -1561,3 +1627,35 @@ gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell, } } } + +/** + * gtk_cell_renderer_get_aligned_area: + * @cell: a #GtkCellRenderer instance + * @widget: the #GtkWidget this cell will be rendering to + * @flags: render flags + * @cell_area: cell area which would be passed to gtk_cell_renderer_render() + * @aligned_area: the return location for the space inside @cell_area that + * would acually be used to render. + * + * Gets the aligned area used by @cell inside @cell_area. Used for finding + * the appropriate edit and focus rectangle. + * + * Since: 3.0 + */ +void +gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area) +{ + GtkCellRendererClass *klass; + + g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (cell_area != NULL); + g_return_if_fail (aligned_area != NULL); + + klass = GTK_CELL_RENDERER_GET_CLASS (cell); + klass->get_aligned_area (cell, widget, flags, cell_area, aligned_area); +} diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index 736569ccea..03d9df5130 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -111,6 +111,11 @@ struct _GtkCellRendererClass gint height, gint *minimum_width, gint *natural_width); + void (* get_aligned_area) (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); void (* get_size) (GtkCellRenderer *cell, GtkWidget *widget, const GdkRectangle *cell_area, @@ -177,6 +182,12 @@ void gtk_cell_renderer_get_preferred_size (GtkCellRend GtkWidget *widget, GtkRequisition *minimum_size, GtkRequisition *natural_size); +void gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); + #ifndef GTK_DISABLE_DEPRECATED void gtk_cell_renderer_get_size (GtkCellRenderer *cell, GtkWidget *widget, diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index a93f16c9dc..f7df6b140c 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -84,6 +84,13 @@ static void gtk_cell_renderer_text_get_preferred_height_for_width (GtkCell gint width, gint *minimum_height, gint *natural_height); +static void gtk_cell_renderer_text_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area); + + enum { EDITED, @@ -240,6 +247,7 @@ gtk_cell_renderer_text_class_init (GtkCellRendererTextClass *class) cell_class->get_preferred_width = gtk_cell_renderer_text_get_preferred_width; cell_class->get_preferred_height = gtk_cell_renderer_text_get_preferred_height; cell_class->get_preferred_height_for_width = gtk_cell_renderer_text_get_preferred_height_for_width; + cell_class->get_aligned_area = gtk_cell_renderer_text_get_aligned_area; g_object_class_install_property (object_class, PROP_TEXT, @@ -1731,30 +1739,8 @@ get_size (GtkCellRenderer *cell, if (height) *height = ypad * 2 + rect.height; - /* The minimum size for ellipsized labels is ~ 3 chars */ if (width) - { - if (priv->ellipsize || priv->width_chars > 0) - { - PangoContext *context; - PangoFontMetrics *metrics; - gint char_width; - - context = pango_layout_get_context (layout); - metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, - pango_context_get_language (context)); - - char_width = pango_font_metrics_get_approximate_char_width (metrics); - pango_font_metrics_unref (metrics); - - *width = xpad * 2 + (PANGO_PIXELS (char_width) * MAX (priv->width_chars, 3)); - } - else - { - *width = xpad * 2 + rect.x + rect.width; - } - } + *width = xpad * 2 + rect.x + rect.width; if (cell_area) { @@ -2250,3 +2236,24 @@ gtk_cell_renderer_text_get_preferred_height (GtkCellRenderer *cell, minimum_size, natural_size); } +static void +gtk_cell_renderer_text_get_aligned_area (GtkCellRenderer *cell, + GtkWidget *widget, + GtkCellRendererState flags, + const GdkRectangle *cell_area, + GdkRectangle *aligned_area) +{ + GtkCellRendererText *celltext = GTK_CELL_RENDERER_TEXT (cell); + PangoLayout *layout; + gint x_offset = 0; + gint y_offset = 0; + + layout = get_layout (celltext, widget, cell_area, flags); + get_size (cell, widget, cell_area, layout, &x_offset, &y_offset, + &aligned_area->width, &aligned_area->height); + + aligned_area->x = cell_area->x + x_offset; + aligned_area->y = cell_area->y + y_offset; + + g_object_unref (layout); +} From 7fc7bd613b1a045a79ce9b1c0b8968c3e7df1d24 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 19 Nov 2010 15:01:07 +0900 Subject: [PATCH 0277/1463] Changed GtkCellRendererText to request less than wrap-width if the text is smaller than the wrap-width (or width-chars). --- gtk/gtkcellrenderertext.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index f7df6b140c..120100a52e 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -2153,12 +2153,14 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell, if ((priv->ellipsize_set && priv->ellipsize != PANGO_ELLIPSIZE_NONE) || priv->width_chars > 0) min_width = - xpad * 2 + (PANGO_PIXELS (char_width) * MAX (priv->width_chars, ellipsize_chars)); + xpad * 2 + + MIN (PANGO_PIXELS (text_width), + (PANGO_PIXELS (char_width) * MAX (priv->width_chars, ellipsize_chars))); /* If no width-chars set, minimum for wrapping text will be the wrap-width */ else if (priv->wrap_width > -1) - min_width = xpad * 2 + rect.x + priv->wrap_width; + min_width = xpad * 2 + rect.x + MIN (PANGO_PIXELS (text_width), priv->wrap_width); else - min_width = xpad * 2 + rect.x + guess_width; + min_width = xpad * 2 + rect.x + PANGO_PIXELS (text_width); if (priv->width_chars > 0) nat_width = xpad * 2 + From fa3c8f182edcddcfb948513fbdadeeec2e059fe0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 13:23:01 +0900 Subject: [PATCH 0278/1463] Revert "Removed tons of api that we dont absolutely need in GtkCellAreaContext:" This reverts commit 5f7787ab2ead2cdd11ebe17b16dd9498daaaf9c5. --- gtk/gtkcellareabox.c | 57 ++++-- gtk/gtkcellareaboxcontext.c | 303 ++++++++++++++++++++++++++++++ gtk/gtkcellareaboxcontext.h | 27 +++ gtk/gtkcellareacontext.c | 363 +++++++++++++++++++++++++++++++++++- gtk/gtkcellareacontext.h | 32 ++++ 5 files changed, 762 insertions(+), 20 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 8950c53c0f..02ec53f9e3 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1284,7 +1284,8 @@ compute_size (GtkCellAreaBox *box, for (i = 0; i < priv->groups->len; i++) { CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - gint group_min = 0, group_nat = 0; + gint group_min_size = 0; + gint group_nat_size = 0; for (list = group->cells; list; list = list->next) { @@ -1304,33 +1305,42 @@ compute_size (GtkCellAreaBox *box, min_size += priv->spacing; nat_size += priv->spacing; } - - if (group_min > 0) + + if (group_min_size > 0) { - group_min += priv->spacing; - group_nat += priv->spacing; + group_min_size += priv->spacing; + group_nat_size += priv->spacing; } - - min_size += renderer_min_size; - nat_size += renderer_nat_size; - group_min += renderer_min_size; - group_nat += renderer_nat_size; + + min_size += renderer_min_size; + nat_size += renderer_nat_size; + group_min_size += renderer_min_size; + group_nat_size += renderer_nat_size; } else { - min_size = MAX (min_size, renderer_min_size); - nat_size = MAX (nat_size, renderer_nat_size); - group_min = MAX (group_min, renderer_min_size); - group_nat = MAX (group_nat, renderer_nat_size); + min_size = MAX (min_size, renderer_min_size); + nat_size = MAX (nat_size, renderer_nat_size); + group_min_size = MAX (group_min_size, renderer_min_size); + group_nat_size = MAX (group_nat_size, renderer_nat_size); } } - if (for_size < 0) + if (orientation == GTK_ORIENTATION_HORIZONTAL) { - if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_box_context_push_group_width (context, group->id, group_min, group_nat); + if (for_size < 0) + gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); else - gtk_cell_area_box_context_push_group_height (context, group->id, group_min, group_nat); + gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, + group_min_size, group_nat_size); + } + else + { + if (for_size < 0) + gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); + else + gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, + group_min_size, group_nat_size); } } @@ -1519,6 +1529,17 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, min_size = MAX (min_size, group_min); nat_size = MAX (nat_size, group_nat); + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, + group_min, group_nat); + } + else + { + gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, + group_min, group_nat); + } } *minimum_size = min_size; diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index 6ba773c0ee..caf23df071 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -32,15 +32,31 @@ static void gtk_cell_area_box_context_finalize (GOb /* GtkCellAreaContextClass */ static void gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width); static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height); static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context); static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint width); static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint height); static void gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, gint width); static void gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, gint height); +static void free_cache_array (GArray *array); + +/* CachedSize management */ +typedef struct { + gint min_size; + gint nat_size; +} CachedSize; + typedef struct { gint min_size; gint nat_size; @@ -53,6 +69,10 @@ struct _GtkCellAreaBoxContextPrivate GArray *base_widths; GArray *base_heights; + /* Table of per height/width hash tables of per renderer CachedSizes */ + GHashTable *widths; + GHashTable *heights; + /* Allocation info for this context if any */ gint alloc_width; gint alloc_height; @@ -62,6 +82,12 @@ struct _GtkCellAreaBoxContextPrivate G_DEFINE_TYPE (GtkCellAreaBoxContext, gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT); +static void +free_cache_array (GArray *array) +{ + g_array_free (array, TRUE); +} + static void gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) { @@ -75,6 +101,11 @@ gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) priv->base_widths = g_array_new (FALSE, TRUE, sizeof (BaseSize)); priv->base_heights = g_array_new (FALSE, TRUE, sizeof (BaseSize)); + priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)free_cache_array); + priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)free_cache_array); + priv->alloc_width = 0; priv->alloc_height = 0; priv->orientation_allocs = NULL; @@ -91,11 +122,15 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) object_class->finalize = gtk_cell_area_box_context_finalize; context_class->flush_preferred_width = gtk_cell_area_box_context_flush_preferred_width; + context_class->flush_preferred_height_for_width = gtk_cell_area_box_context_flush_preferred_height_for_width; context_class->flush_preferred_height = gtk_cell_area_box_context_flush_preferred_height; + context_class->flush_preferred_width_for_height = gtk_cell_area_box_context_flush_preferred_width_for_height; context_class->flush_allocation = gtk_cell_area_box_context_flush_allocation; context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; + context_class->sum_preferred_height_for_width = gtk_cell_area_box_context_sum_preferred_height_for_width; context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; + context_class->sum_preferred_width_for_height = gtk_cell_area_box_context_sum_preferred_width_for_height; context_class->allocate_width = gtk_cell_area_box_context_allocate_width; context_class->allocate_height = gtk_cell_area_box_context_allocate_height; @@ -114,6 +149,8 @@ gtk_cell_area_box_context_finalize (GObject *object) g_array_free (priv->base_widths, TRUE); g_array_free (priv->base_heights, TRUE); + g_hash_table_destroy (priv->widths); + g_hash_table_destroy (priv->heights); g_free (priv->orientation_allocs); @@ -142,6 +179,23 @@ gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context) (gtk_cell_area_box_context_parent_class)->flush_preferred_width (context); } +static void +gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width) +{ + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + + /* Flush all sizes for special -1 value */ + if (width < 0) + g_hash_table_remove_all (priv->heights); + else + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->flush_preferred_height_for_width (context, width); +} + static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) { @@ -161,6 +215,23 @@ gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) (gtk_cell_area_box_context_parent_class)->flush_preferred_height (context); } +static void +gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height) +{ + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + + /* Flush all sizes for special -1 value */ + if (height < 0) + g_hash_table_remove_all (priv->widths); + else + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->flush_preferred_width_for_height (context, height); +} + static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context) { @@ -214,6 +285,55 @@ gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context) gtk_cell_area_context_push_preferred_width (context, min_size, nat_size); } +static void +gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint width) +{ + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + GArray *group_array; + GtkCellArea *area; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; + + group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (width)); + + if (group_array) + { + area = gtk_cell_area_context_get_area (context); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + + for (i = 0; i < group_array->len; i++) + { + CachedSize *size = &g_array_index (group_array, CachedSize, i); + + if (orientation == GTK_ORIENTATION_VERTICAL) + { + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + gtk_cell_area_context_push_preferred_height_for_width (context, width, min_size, nat_size); + } +} + static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) { @@ -256,6 +376,55 @@ gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) gtk_cell_area_context_push_preferred_height (context, min_size, nat_size); } +static void +gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint height) +{ + GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + GArray *group_array; + GtkCellArea *area; + GtkOrientation orientation; + gint spacing, i; + gint min_size = 0, nat_size = 0; + + group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (height)); + + if (group_array) + { + area = gtk_cell_area_context_get_area (context); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + + for (i = 0; i < group_array->len; i++) + { + CachedSize *size = &g_array_index (group_array, CachedSize, i); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + gtk_cell_area_context_push_preferred_width_for_height (context, height, min_size, nat_size); + } +} + static GtkRequestedSize * gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, GtkOrientation orientation, @@ -489,6 +658,36 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, size->nat_size = MAX (size->nat_size, natural_width); } +void +gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaBoxContextPrivate *priv; + GArray *group_array; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); + + priv = box_context->priv; + g_return_if_fail (group_idx < priv->base_widths->len); + + group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + if (!group_array) + { + group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + g_array_set_size (group_array, priv->base_heights->len); + + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), group_array); + } + + size = &g_array_index (group_array, CachedSize, group_idx); + size->min_size = MAX (size->min_size, minimum_height); + size->nat_size = MAX (size->nat_size, natural_height); +} + void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, @@ -508,6 +707,36 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, size->nat_size = MAX (size->nat_size, natural_height); } +void +gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaBoxContextPrivate *priv; + GArray *group_array; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); + + priv = box_context->priv; + g_return_if_fail (group_idx < priv->base_widths->len); + + group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + if (!group_array) + { + group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + g_array_set_size (group_array, priv->base_heights->len); + + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), group_array); + } + + size = &g_array_index (group_array, CachedSize, group_idx); + size->min_size = MAX (size->min_size, minimum_width); + size->nat_size = MAX (size->nat_size, natural_width); +} + void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, @@ -531,6 +760,43 @@ gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, *natural_width = size->nat_size; } +void +gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaBoxContextPrivate *priv; + GArray *group_array; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); + + priv = box_context->priv; + g_return_if_fail (group_idx < priv->base_widths->len); + + group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (group_array) + { + CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); + + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } +} + void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, @@ -554,6 +820,43 @@ gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, *natural_height = size->nat_size; } +void +gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaBoxContextPrivate *priv; + GArray *group_array; + + g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); + + priv = box_context->priv; + g_return_if_fail (group_idx < priv->base_widths->len); + + group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (group_array) + { + CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); + + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } +} + GtkRequestedSize * gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths) diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 29d9f80a7a..01f7dc6cba 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -72,20 +72,47 @@ void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxCo gint group_idx, gint minimum_width, gint natural_width); + +void gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint minimum_height, + gint natural_height); + void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint minimum_height, gint natural_height); +void gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint minimum_width, + gint natural_width); + /* Fetch cell-group sizes */ void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_width, gint *natural_width); + +void gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_width, + gint *minimum_height, + gint *natural_height); + void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_height, gint *natural_height); + +void gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, + gint group_idx, + gint for_height, + gint *minimum_width, + gint *natural_width); + GtkRequestedSize *gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths); GtkRequestedSize *gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 1d0598f793..61646708db 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -28,6 +28,7 @@ #include "gtkprivate.h" /* GObjectClass */ +static void gtk_cell_area_context_finalize (GObject *object); static void gtk_cell_area_context_dispose (GObject *object); static void gtk_cell_area_context_get_property (GObject *object, guint prop_id, @@ -40,13 +41,26 @@ static void gtk_cell_area_context_set_property (GObject /* GtkCellAreaContextClass */ static void gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width); static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height); static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context); static void gtk_cell_area_context_real_allocate_width (GtkCellAreaContext *context, gint width); static void gtk_cell_area_context_real_allocate_height (GtkCellAreaContext *context, gint height); +/* CachedSize management */ +typedef struct { + gint min_size; + gint nat_size; +} CachedSize; + +static CachedSize *cached_size_new (gint min_size, gint nat_size); +static void cached_size_free (CachedSize *size); + struct _GtkCellAreaContextPrivate { GtkCellArea *cell_area; @@ -57,6 +71,9 @@ struct _GtkCellAreaContextPrivate gint nat_height; gint alloc_width; gint alloc_height; + + GHashTable *widths; + GHashTable *heights; }; enum { @@ -68,6 +85,14 @@ enum { PROP_NAT_HEIGHT }; +enum { + SIGNAL_WIDTH_CHANGED, + SIGNAL_HEIGHT_CHANGED, + LAST_SIGNAL +}; + +static guint cell_area_context_signals[LAST_SIGNAL] = { 0 }; + G_DEFINE_TYPE (GtkCellAreaContext, gtk_cell_area_context, G_TYPE_OBJECT); static void @@ -84,6 +109,10 @@ gtk_cell_area_context_init (GtkCellAreaContext *context) priv->nat_width = -1; priv->min_height = -1; priv->nat_height = -1; + priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); + priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, + NULL, (GDestroyNotify)cached_size_free); } static void @@ -92,21 +121,46 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) GObjectClass *object_class = G_OBJECT_CLASS (class); /* GObjectClass */ + object_class->finalize = gtk_cell_area_context_finalize; object_class->dispose = gtk_cell_area_context_dispose; object_class->get_property = gtk_cell_area_context_get_property; object_class->set_property = gtk_cell_area_context_set_property; /* GtkCellAreaContextClass */ class->flush_preferred_width = gtk_cell_area_context_real_flush_preferred_width; + class->flush_preferred_height_for_width = gtk_cell_area_context_real_flush_preferred_height_for_width; class->flush_preferred_height = gtk_cell_area_context_real_flush_preferred_height; + class->flush_preferred_width_for_height = gtk_cell_area_context_real_flush_preferred_width_for_height; class->flush_allocation = gtk_cell_area_context_real_flush_allocation; - class->sum_preferred_width = NULL; - class->sum_preferred_height = NULL; + class->sum_preferred_width = NULL; + class->sum_preferred_height_for_width = NULL; + class->sum_preferred_height = NULL; + class->sum_preferred_width_for_height = NULL; class->allocate_width = gtk_cell_area_context_real_allocate_width; class->allocate_height = gtk_cell_area_context_real_allocate_height; + cell_area_context_signals[SIGNAL_HEIGHT_CHANGED] = + g_signal_new (I_("height-changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__INT_INT_INT, + G_TYPE_NONE, 3, + G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + + cell_area_context_signals[SIGNAL_WIDTH_CHANGED] = + g_signal_new (I_("width-changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + 0, /* Class offset (just a notification, no class handler) */ + NULL, NULL, + _gtk_marshal_VOID__INT_INT_INT, + G_TYPE_NONE, 3, + G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + g_object_class_install_property (object_class, PROP_CELL_AREA, g_param_spec_object ("area", @@ -158,9 +212,44 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_type_class_add_private (object_class, sizeof (GtkCellAreaContextPrivate)); } + + +/************************************************************* + * Cached Sizes * + *************************************************************/ +static CachedSize * +cached_size_new (gint min_size, + gint nat_size) +{ + CachedSize *size = g_slice_new (CachedSize); + + size->min_size = min_size; + size->nat_size = nat_size; + + return size; +} + +static void +cached_size_free (CachedSize *size) +{ + g_slice_free (CachedSize, size); +} + /************************************************************* * GObjectClass * *************************************************************/ +static void +gtk_cell_area_context_finalize (GObject *object) +{ + GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); + GtkCellAreaContextPrivate *priv = context->priv; + + g_hash_table_destroy (priv->widths); + g_hash_table_destroy (priv->heights); + + G_OBJECT_CLASS (gtk_cell_area_context_parent_class)->finalize (object); +} + static void gtk_cell_area_context_dispose (GObject *object) { @@ -246,6 +335,40 @@ gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context) g_object_thaw_notify (G_OBJECT (context)); } +static void +notify_invalid_height (gpointer width_ptr, + CachedSize *size, + GtkCellAreaContext *context) +{ + gint width = GPOINTER_TO_INT (width_ptr); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], + 0, width, -1, -1); +} + +static void +gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint width) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + /* Flush all sizes for special -1 value */ + if (width < 0) + { + g_hash_table_foreach (priv->heights, (GHFunc)notify_invalid_height, context); + g_hash_table_remove_all (priv->heights); + } + else + { + g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], + 0, width, -1, -1); + } +} + static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) { @@ -260,6 +383,40 @@ gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) g_object_thaw_notify (G_OBJECT (context)); } +static void +notify_invalid_width (gpointer height_ptr, + CachedSize *size, + GtkCellAreaContext *context) +{ + gint height = GPOINTER_TO_INT (height_ptr); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], + 0, height, -1, -1); +} + +static void +gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint height) +{ + GtkCellAreaContextPrivate *priv = context->priv; + + /* Flush all sizes for special -1 value */ + if (height < 0) + { + g_hash_table_foreach (priv->widths, (GHFunc)notify_invalid_width, context); + g_hash_table_remove_all (priv->widths); + } + else + { + g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); + + /* Notify size invalidated */ + g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], + 0, height, -1, -1); + } +} + static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context) { @@ -309,7 +466,9 @@ gtk_cell_area_context_flush (GtkCellAreaContext *context) g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); gtk_cell_area_context_flush_preferred_width (context); + gtk_cell_area_context_flush_preferred_height_for_width (context, -1); gtk_cell_area_context_flush_preferred_height (context); + gtk_cell_area_context_flush_preferred_width_for_height (context, -1); gtk_cell_area_context_flush_allocation (context); } @@ -321,6 +480,15 @@ gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width (context); } +void +gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height_for_width (context, for_width); +} + void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) { @@ -329,6 +497,15 @@ gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height (context); } +void +gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width_for_height (context, for_height); +} + void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context) { @@ -350,6 +527,20 @@ gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context) class->sum_preferred_width (context); } +void +gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + if (class->sum_preferred_height_for_width) + class->sum_preferred_height_for_width (context, for_width); +} + void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) { @@ -363,6 +554,20 @@ gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) class->sum_preferred_height (context); } +void +gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height) +{ + GtkCellAreaContextClass *class; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); + + if (class->sum_preferred_width_for_height) + class->sum_preferred_width_for_height (context, for_height); +} + void gtk_cell_area_context_allocate_width (GtkCellAreaContext *context, gint width) @@ -407,6 +612,39 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, *natural_width = priv->nat_width; } +void +gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint *minimum_height, + gint *natural_height) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (size) + { + if (minimum_height) + *minimum_height = size->min_size; + + if (natural_height) + *natural_height = size->nat_size; + } + else + { + if (minimum_height) + *minimum_height = -1; + + if (natural_height) + *natural_height = -1; + } +} + void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, @@ -425,6 +663,39 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, *natural_height = priv->nat_height; } +void +gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint *minimum_width, + gint *natural_width) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (size) + { + if (minimum_width) + *minimum_width = size->min_size; + + if (natural_width) + *natural_width = size->nat_size; + } + else + { + if (minimum_width) + *minimum_width = -1; + + if (natural_width) + *natural_width = -1; + } +} + void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, @@ -473,6 +744,50 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } +void +gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint minimum_height, + gint natural_height) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + gboolean changed = FALSE; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); + + if (!size) + { + size = cached_size_new (minimum_height, natural_height); + + g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), size); + + changed = TRUE; + } + else + { + if (minimum_height > size->min_size) + { + size->min_size = minimum_height; + changed = TRUE; + } + + if (natural_height > size->nat_size) + { + size->nat_size = natural_height; + changed = TRUE; + } + } + + if (changed) + g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], 0, + for_width, size->min_size, size->nat_size); +} + void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, @@ -502,3 +817,47 @@ gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } + +void +gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint minimum_width, + gint natural_width) +{ + GtkCellAreaContextPrivate *priv; + CachedSize *size; + gboolean changed = FALSE; + + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + priv = context->priv; + + size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); + + if (!size) + { + size = cached_size_new (minimum_width, natural_width); + + g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), size); + + changed = TRUE; + } + else + { + if (minimum_width > size->min_size) + { + size->min_size = minimum_width; + changed = TRUE; + } + + if (natural_width > size->nat_size) + { + size->nat_size = natural_width; + changed = TRUE; + } + } + + if (changed) + g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], 0, + for_height, size->min_size, size->nat_size); +} diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 0782f78364..8e3621f313 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -55,14 +55,22 @@ struct _GtkCellAreaContextClass /* Subclasses can use this to flush their alignments/allocations */ void (* flush_preferred_width) (GtkCellAreaContext *context); + void (* flush_preferred_height_for_width) (GtkCellAreaContext *context, + gint width); void (* flush_preferred_height) (GtkCellAreaContext *context); + void (* flush_preferred_width_for_height) (GtkCellAreaContext *context, + gint height); void (* flush_allocation) (GtkCellAreaContext *context); /* These must be invoked after a series of requests before consulting * the context values, implementors use this to push the overall * requests while acconting for any internal alignments */ void (* sum_preferred_width) (GtkCellAreaContext *context); + void (* sum_preferred_height_for_width) (GtkCellAreaContext *context, + gint width); void (* sum_preferred_height) (GtkCellAreaContext *context); + void (* sum_preferred_width_for_height) (GtkCellAreaContext *context, + gint height); /* Store an allocation value for a GtkCellArea contextual to a range of * treemodel rows */ @@ -85,13 +93,21 @@ GtkCellArea *gtk_cell_area_context_get_area (GtkCellArea /* Apis for GtkCellArea clients to flush the cache */ void gtk_cell_area_context_flush (GtkCellAreaContext *context); void gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context); +void gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width); void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context); +void gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height); void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context); /* Apis for GtkCellArea clients to sum up the results of a series of requests, this * call is required to reduce the processing while calculating the size of each row */ void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); +void gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width); void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); +void gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height); /* Apis to set an allocation size in one dimension or another, the subclass specific context * will store allocated positions/sizes for individual cells or groups of cells */ @@ -104,9 +120,17 @@ void gtk_cell_area_context_allocate_height (GtkCellArea void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, gint *minimum_width, gint *natural_width); +void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint *minimum_height, + gint *natural_height); void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, gint *natural_height); +void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint *minimum_width, + gint *natural_width); void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, gint *height); @@ -115,9 +139,17 @@ void gtk_cell_area_context_get_allocation (GtkCellArea void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, gint minimum_width, gint natural_width); +void gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, + gint for_width, + gint minimum_height, + gint natural_height); void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, gint natural_height); +void gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, + gint for_height, + gint minimum_width, + gint natural_width); G_END_DECLS From 487223d480578457f924470c1a1d73eb261eefd7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 21:26:24 +0900 Subject: [PATCH 0279/1463] Finally really support rendering of cells in an unallocated context. What this means is basically that a vertically oriented GtkCellAreaBox will render cells properly even if the height is not constant for every for of data in the said GtkCellAreaContext (i.e. the height was not allocated by gtk_cell_area_context_allocate). This is done completely on the fly and so is much more heavy duty at render time (considerably slower but not visibly noticable in lightweight views like GtkTreeMenu). Note that cell alignments are not possible in an unallocated orientation, each row of data individually receives only enough space to render the independant row and no space is reserved for alignments if the size is not a constant size across rows in the same context. --- gtk/gtkcellareabox.c | 139 +++++++++-- gtk/gtkcellareaboxcontext.c | 445 +++++++++++++----------------------- gtk/gtkcellareaboxcontext.h | 5 - gtk/gtkcellareacontext.c | 415 ++------------------------------- gtk/gtkcellareacontext.h | 34 +-- 5 files changed, 304 insertions(+), 734 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 02ec53f9e3..522c397590 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -167,7 +167,8 @@ static void init_context_group (GtkCellAreaBox *box, static GSList *get_allocated_cells (GtkCellAreaBox *box, GtkCellAreaBoxContext *context, GtkWidget *widget, - gint orientation_size); + gint width, + gint height); struct _GtkCellAreaBoxPrivate @@ -564,6 +565,121 @@ flush_contexts (GtkCellAreaBox *box) } } +/* Fall back on a completely unaligned dynamic allocation of cells + * when not allocated for the said orientation, alignment of cells + * is not done when each area gets a different size in the orientation + * of the box. + */ +static GSList * +allocate_cells_manually (GtkCellAreaBox *box, + GtkWidget *widget, + gint width, + gint height) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + GList *cells, *l; + GSList *allocated_cells = NULL; + GtkRequestedSize *sizes; + gint i; + gint nvisible = 0, nexpand = 0, group_expand; + gint avail_size, extra_size, extra_extra; + gint position = 0; + + if (!priv->cells) + return NULL; + + cells = list_consecutive_cells (box); + + /* Count the visible and expand cells */ + for (i = 0; i < priv->groups->len; i++) + { + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); + + nvisible += count_visible_cells (group, &group_expand); + nexpand += group_expand; + } + + if (nvisible <= 0) + { + g_list_free (cells); + return NULL; + } + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + avail_size = width; + else + avail_size = height; + + /* Go ahead and collect the requests on the fly */ + sizes = g_new0 (GtkRequestedSize, nvisible); + for (l = cells, i = 0; l; l = l->next) + { + CellInfo *info = l->data; + + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; + + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_renderer_get_preferred_width_for_height (info->renderer, widget, height, + &sizes[i].minimum_size, + &sizes[i].natural_size); + else + gtk_cell_renderer_get_preferred_height_for_width (info->renderer, widget, width, + &sizes[i].minimum_size, + &sizes[i].natural_size); + + avail_size -= sizes[i].minimum_size; + + sizes[i].data = info; + + i++; + } + + /* Naturally distribute the allocation */ + avail_size -= (nvisible - 1) * priv->spacing; + avail_size = gtk_distribute_natural_allocation (avail_size, nvisible, sizes); + + /* Calculate/distribute expand for cells */ + if (nexpand > 0) + { + extra_size = avail_size / nexpand; + extra_extra = avail_size % nexpand; + } + else + extra_size = extra_extra = 0; + + /* Create the allocated cells */ + for (i = 0; i < nvisible; i++) + { + CellInfo *info = sizes[i].data; + AllocatedCell *cell; + + if (info->expand) + { + sizes[i].minimum_size += extra_size; + if (extra_extra) + { + sizes[i].minimum_size++; + extra_extra--; + } + } + + cell = allocated_cell_new (info->renderer, position, sizes[i].minimum_size); + + allocated_cells = g_slist_prepend (allocated_cells, cell); + + position += sizes[i].minimum_size; + position += priv->spacing; + } + + g_free (sizes); + g_list_free (cells); + + /* Note it might not be important to reverse the list here at all, + * we have the correct positions, no need to allocate from left to right */ + return g_slist_reverse (allocated_cells); +} + /* Returns an allocation for each cell in the orientation of the box, * used in ->render()/->event() implementations to get a straight-forward * list of allocated cells to operate on. @@ -572,7 +688,8 @@ static GSList * get_allocated_cells (GtkCellAreaBox *box, GtkCellAreaBoxContext *context, GtkWidget *widget, - gint orientation_size) + gint width, + gint height) { GtkCellAreaBoxAllocation *group_allocs; GtkCellArea *area = GTK_CELL_AREA (box); @@ -580,14 +697,10 @@ get_allocated_cells (GtkCellAreaBox *box, GList *cell_list; GSList *allocated_cells = NULL; gint i, j, n_allocs; - gboolean free_allocs = FALSE; group_allocs = gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); if (!group_allocs) - { - group_allocs = gtk_cell_area_box_context_allocate (context, orientation_size, &n_allocs); - free_allocs = TRUE; - } + return allocate_cells_manually (box, widget, width, height); for (i = 0; i < n_allocs; i++) { @@ -686,9 +799,6 @@ get_allocated_cells (GtkCellAreaBox *box, } } - if (free_allocs) - g_free (group_allocs); - /* Note it might not be important to reverse the list here at all, * we have the correct positions, no need to allocate from left to right */ return g_slist_reverse (allocated_cells); @@ -843,8 +953,7 @@ gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ allocated_cells = get_allocated_cells (box, box_context, widget, - priv->orientation == GTK_ORIENTATION_HORIZONTAL ? - cell_area->width : cell_area->height); + cell_area->width, cell_area->height); for (l = allocated_cells; l; l = l->next) { @@ -921,8 +1030,7 @@ gtk_cell_area_box_event (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ allocated_cells = get_allocated_cells (box, box_context, widget, - priv->orientation == GTK_ORIENTATION_HORIZONTAL ? - cell_area->width : cell_area->height); + cell_area->width, cell_area->height); for (l = allocated_cells; l; l = l->next) { @@ -1025,8 +1133,7 @@ gtk_cell_area_box_render (GtkCellArea *area, /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ allocated_cells = get_allocated_cells (box, box_context, widget, - priv->orientation == GTK_ORIENTATION_HORIZONTAL ? - cell_area->width : cell_area->height); + cell_area->width, cell_area->height); for (l = allocated_cells; l; l = l->next) { diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index caf23df071..c1e27cb2bb 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -32,24 +32,23 @@ static void gtk_cell_area_box_context_finalize (GOb /* GtkCellAreaContextClass */ static void gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width); static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height); static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context); static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint width); static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint height); -static void gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, - gint width); -static void gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, +static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, + gint width, gint height); -static void free_cache_array (GArray *array); +static void free_cache_array (GArray *array); +static GArray *group_array_new (GtkCellAreaBoxContext *context); +static GArray *get_array (GtkCellAreaBoxContext *context, + GtkOrientation orientation, + gint for_size); +static gboolean group_expands (GtkCellAreaBoxContext *context, + gint group_idx); +static gint count_expand_groups (GtkCellAreaBoxContext *context); + /* CachedSize management */ typedef struct { @@ -57,12 +56,6 @@ typedef struct { gint nat_size; } CachedSize; -typedef struct { - gint min_size; - gint nat_size; - gboolean expand; -} BaseSize; - struct _GtkCellAreaBoxContextPrivate { /* Table of per renderer CachedSizes */ @@ -73,6 +66,9 @@ struct _GtkCellAreaBoxContextPrivate GHashTable *widths; GHashTable *heights; + /* Whether each group expands */ + gboolean *expand; + /* Allocation info for this context if any */ gint alloc_width; gint alloc_height; @@ -88,6 +84,80 @@ free_cache_array (GArray *array) g_array_free (array, TRUE); } +static GArray * +group_array_new (GtkCellAreaBoxContext *context) +{ + GtkCellAreaBoxContextPrivate *priv = context->priv; + GArray *group_array; + + group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + g_array_set_size (group_array, priv->base_widths->len); + + return group_array; +} + +static GArray * +get_array (GtkCellAreaBoxContext *context, + GtkOrientation orientation, + gint for_size) +{ + GtkCellAreaBoxContextPrivate *priv = context->priv; + GArray *array; + + if (for_size < 0) + { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + array = priv->base_widths; + else + array = priv->base_heights; + } + else + { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_size)); + + if (!array) + array = priv->base_widths; + } + else + { + array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_size)); + + if (!array) + array = priv->base_heights; + } + } + + return array; +} + +static gboolean +group_expands (GtkCellAreaBoxContext *context, + gint group_idx) +{ + GtkCellAreaBoxContextPrivate *priv = context->priv; + + g_assert (group_idx >= 0 && group_idx < priv->base_widths->len); + + return priv->expand[group_idx]; +} + +static gint +count_expand_groups (GtkCellAreaBoxContext *context) +{ + GtkCellAreaBoxContextPrivate *priv = context->priv; + gint i, expand = 0; + + for (i = 0; i < priv->base_widths->len; i++) + { + if (priv->expand[i]) + expand++; + } + + return expand; +} + static void gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) { @@ -98,8 +168,8 @@ gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) GtkCellAreaBoxContextPrivate); priv = box_context->priv; - priv->base_widths = g_array_new (FALSE, TRUE, sizeof (BaseSize)); - priv->base_heights = g_array_new (FALSE, TRUE, sizeof (BaseSize)); + priv->base_widths = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + priv->base_heights = g_array_new (FALSE, TRUE, sizeof (CachedSize)); priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)free_cache_array); @@ -121,19 +191,13 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_box_context_finalize; - context_class->flush_preferred_width = gtk_cell_area_box_context_flush_preferred_width; - context_class->flush_preferred_height_for_width = gtk_cell_area_box_context_flush_preferred_height_for_width; - context_class->flush_preferred_height = gtk_cell_area_box_context_flush_preferred_height; - context_class->flush_preferred_width_for_height = gtk_cell_area_box_context_flush_preferred_width_for_height; - context_class->flush_allocation = gtk_cell_area_box_context_flush_allocation; + context_class->flush_preferred_width = gtk_cell_area_box_context_flush_preferred_width; + context_class->flush_preferred_height = gtk_cell_area_box_context_flush_preferred_height; + context_class->flush_allocation = gtk_cell_area_box_context_flush_allocation; + context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; + context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; - context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; - context_class->sum_preferred_height_for_width = gtk_cell_area_box_context_sum_preferred_height_for_width; - context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; - context_class->sum_preferred_width_for_height = gtk_cell_area_box_context_sum_preferred_width_for_height; - - context_class->allocate_width = gtk_cell_area_box_context_allocate_width; - context_class->allocate_height = gtk_cell_area_box_context_allocate_height; + context_class->allocate = gtk_cell_area_box_context_allocate; g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxContextPrivate)); } @@ -153,6 +217,7 @@ gtk_cell_area_box_context_finalize (GObject *object) g_hash_table_destroy (priv->heights); g_free (priv->orientation_allocs); + g_free (priv->expand); G_OBJECT_CLASS (gtk_cell_area_box_context_parent_class)->finalize (object); } @@ -169,33 +234,19 @@ gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context) for (i = 0; i < priv->base_widths->len; i++) { - BaseSize *size = &g_array_index (priv->base_widths, BaseSize, i); + CachedSize *size = &g_array_index (priv->base_widths, CachedSize, i); size->min_size = 0; size->nat_size = 0; } + /* Flush context widths as well */ + g_hash_table_remove_all (priv->widths); + GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->flush_preferred_width (context); } -static void -gtk_cell_area_box_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - - /* Flush all sizes for special -1 value */ - if (width < 0) - g_hash_table_remove_all (priv->heights); - else - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - - GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->flush_preferred_height_for_width (context, width); -} - static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) { @@ -205,33 +256,19 @@ gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) for (i = 0; i < priv->base_heights->len; i++) { - BaseSize *size = &g_array_index (priv->base_heights, BaseSize, i); + CachedSize *size = &g_array_index (priv->base_heights, CachedSize, i); size->min_size = 0; size->nat_size = 0; } + /* Flush context heights as well */ + g_hash_table_remove_all (priv->heights); + GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->flush_preferred_height (context); } -static void -gtk_cell_area_box_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - - /* Flush all sizes for special -1 value */ - if (height < 0) - g_hash_table_remove_all (priv->widths); - else - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - - GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->flush_preferred_width_for_height (context, height); -} - static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context) { @@ -259,7 +296,7 @@ gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context) for (i = 0; i < priv->base_widths->len; i++) { - BaseSize *size = &g_array_index (priv->base_widths, BaseSize, i); + CachedSize *size = &g_array_index (priv->base_widths, CachedSize, i); if (orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -285,55 +322,6 @@ gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context) gtk_cell_area_context_push_preferred_width (context, min_size, nat_size); } -static void -gtk_cell_area_box_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GArray *group_array; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; - - group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (width)); - - if (group_array) - { - area = gtk_cell_area_context_get_area (context); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - for (i = 0; i < group_array->len; i++) - { - CachedSize *size = &g_array_index (group_array, CachedSize, i); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } - else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } - } - - gtk_cell_area_context_push_preferred_height_for_width (context, width, min_size, nat_size); - } -} - static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) { @@ -350,7 +338,7 @@ gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) for (i = 0; i < priv->base_heights->len; i++) { - BaseSize *size = &g_array_index (priv->base_heights, BaseSize, i); + CachedSize *size = &g_array_index (priv->base_heights, CachedSize, i); if (orientation == GTK_ORIENTATION_VERTICAL) { @@ -376,79 +364,27 @@ gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) gtk_cell_area_context_push_preferred_height (context, min_size, nat_size); } -static void -gtk_cell_area_box_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GArray *group_array; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; - - group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (height)); - - if (group_array) - { - area = gtk_cell_area_context_get_area (context); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - for (i = 0; i < group_array->len; i++) - { - CachedSize *size = &g_array_index (group_array, CachedSize, i); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } - else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } - } - - gtk_cell_area_context_push_preferred_width_for_height (context, height, min_size, nat_size); - } -} - static GtkRequestedSize * gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, GtkOrientation orientation, + gint for_size, gint *n_requests) { GtkCellAreaBoxContextPrivate *priv; GtkRequestedSize *requests; - GArray *base_array; - BaseSize *size; + GArray *array; + CachedSize *size; gint visible_groups = 0; gint i, j; g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context), NULL); - priv = box_context->priv; + priv = box_context->priv; + array = get_array (box_context, orientation, for_size); - if (orientation == GTK_ORIENTATION_HORIZONTAL) - base_array = priv->base_widths; - else - base_array = priv->base_heights; - - for (i = 0; i < base_array->len; i++) + for (i = 0; i < array->len; i++) { - size = &g_array_index (base_array, BaseSize, i); + size = &g_array_index (array, CachedSize, i); if (size->nat_size > 0) visible_groups++; @@ -456,9 +392,9 @@ gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, requests = g_new (GtkRequestedSize, visible_groups); - for (j = 0, i = 0; i < base_array->len; i++) + for (j = 0, i = 0; i < array->len; i++) { - size = &g_array_index (base_array, BaseSize, i); + size = &g_array_index (array, CachedSize, i); if (size->nat_size > 0) { @@ -480,40 +416,27 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, GtkOrientation orientation, gint spacing, gint size, + gint for_size, gint *n_allocs) { - GtkCellAreaBoxContextPrivate *priv = context->priv; - GtkRequestedSize *orientation_sizes; GtkCellAreaBoxAllocation *allocs; + GtkRequestedSize *sizes; + GArray *array; gint n_expand_groups = 0; gint i, n_groups, position; gint extra_size, extra_extra; gint avail_size = size; - orientation_sizes = - gtk_cell_area_box_context_get_requests (context, orientation, &n_groups); - - /* Count groups that expand */ - for (i = 0; i < n_groups; i++) - { - BaseSize *size; - gint group_idx = GPOINTER_TO_INT (orientation_sizes[i].data); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - size = &g_array_index (priv->base_widths, BaseSize, group_idx); - else - size = &g_array_index (priv->base_heights, BaseSize, group_idx); - - if (size->expand) - n_expand_groups++; - } + sizes = gtk_cell_area_box_context_get_requests (context, orientation, for_size, &n_groups); + array = get_array (context, orientation, for_size); + n_expand_groups = count_expand_groups (context); /* First start by naturally allocating space among groups */ avail_size -= (n_groups - 1) * spacing; for (i = 0; i < n_groups; i++) - avail_size -= orientation_sizes[i].minimum_size; + avail_size -= sizes[i].minimum_size; - avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, sizes); /* Calculate/distribute expand for groups */ if (n_expand_groups > 0) @@ -528,13 +451,11 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, for (position = 0, i = 0; i < n_groups; i++) { - BaseSize *base_size = &g_array_index (priv->base_widths, BaseSize, i); - - allocs[i].group_idx = GPOINTER_TO_INT (orientation_sizes[i].data); + allocs[i].group_idx = GPOINTER_TO_INT (sizes[i].data); allocs[i].position = position; - allocs[i].size = orientation_sizes[i].minimum_size; + allocs[i].size = sizes[i].minimum_size; - if (base_size->expand) + if (group_expands (context, allocs[i].group_idx)) { allocs[i].size += extra_size; if (extra_extra) @@ -551,57 +472,42 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, if (n_allocs) *n_allocs = n_groups; - g_free (orientation_sizes); + g_free (sizes); return allocs; } static void -gtk_cell_area_box_context_allocate_width (GtkCellAreaContext *context, - gint width) +gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, + gint width, + gint height) { GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GtkCellAreaBoxContextPrivate *priv = box_context->priv; GtkCellArea *area; GtkOrientation orientation; + gint spacing; area = gtk_cell_area_context_get_area (context); orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - if (orientation == GTK_ORIENTATION_HORIZONTAL) + if (orientation == GTK_ORIENTATION_HORIZONTAL && width > 0) { - gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_context, orientation, spacing, width, + priv->orientation_allocs = allocate_for_orientation (box_context, orientation, + spacing, width, height, + &priv->n_orientation_allocs); + } + else if (orientation == GTK_ORIENTATION_VERTICAL && height > 0) + { + g_free (priv->orientation_allocs); + priv->orientation_allocs = allocate_for_orientation (box_context, orientation, + spacing, height, width, &priv->n_orientation_allocs); } - GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate_width (context, width); -} - -static void -gtk_cell_area_box_context_allocate_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GtkCellArea *area; - GtkOrientation orientation; - - area = gtk_cell_area_context_get_area (context); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - gint spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - - g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_context, orientation, spacing, height, - &priv->n_orientation_allocs); - } - - GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate_height (context, height); + GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate (context, width, height); } @@ -614,13 +520,12 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, gboolean *expand_groups) { GtkCellAreaBoxContextPrivate *priv; - gint i; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); g_return_if_fail (n_groups == 0 || expand_groups != NULL); /* When the group dimensions change, all info must be flushed - * Note this already clears the min/nat values on the BaseSizes + * Note this already clears the min/nat values on the CachedSizes */ gtk_cell_area_context_flush (GTK_CELL_AREA_CONTEXT (box_context)); @@ -628,15 +533,8 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, g_array_set_size (priv->base_widths, n_groups); g_array_set_size (priv->base_heights, n_groups); - /* Now set the expand info */ - for (i = 0; i < n_groups; i++) - { - BaseSize *base_width = &g_array_index (priv->base_widths, BaseSize, i); - BaseSize *base_height = &g_array_index (priv->base_heights, BaseSize, i); - - base_width->expand = expand_groups[i]; - base_height->expand = expand_groups[i]; - } + g_free (priv->expand); + priv->expand = g_memdup (expand_groups, n_groups * sizeof (gboolean)); } void @@ -646,14 +544,14 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, gint natural_width) { GtkCellAreaBoxContextPrivate *priv; - BaseSize *size; + CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); - size = &g_array_index (priv->base_widths, BaseSize, group_idx); + size = &g_array_index (priv->base_widths, CachedSize, group_idx); size->min_size = MAX (size->min_size, minimum_width); size->nat_size = MAX (size->nat_size, natural_width); } @@ -677,9 +575,7 @@ gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *b group_array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); if (!group_array) { - group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); - g_array_set_size (group_array, priv->base_heights->len); - + group_array = group_array_new (box_context); g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), group_array); } @@ -695,14 +591,14 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint natural_height) { GtkCellAreaBoxContextPrivate *priv; - BaseSize *size; + CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); priv = box_context->priv; g_return_if_fail (group_idx < priv->base_heights->len); - size = &g_array_index (priv->base_heights, BaseSize, group_idx); + size = &g_array_index (priv->base_heights, CachedSize, group_idx); size->min_size = MAX (size->min_size, minimum_height); size->nat_size = MAX (size->nat_size, natural_height); } @@ -715,8 +611,8 @@ gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *bo gint natural_width) { GtkCellAreaBoxContextPrivate *priv; - GArray *group_array; - CachedSize *size; + GArray *group_array; + CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); @@ -726,9 +622,7 @@ gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *bo group_array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); if (!group_array) { - group_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); - g_array_set_size (group_array, priv->base_heights->len); - + group_array = group_array_new (box_context); g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), group_array); } @@ -744,14 +638,14 @@ gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint *natural_width) { GtkCellAreaBoxContextPrivate *priv; - BaseSize *size; + CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); priv = box_context->priv; g_return_if_fail (group_idx < priv->base_widths->len); - size = &g_array_index (priv->base_widths, BaseSize, group_idx); + size = &g_array_index (priv->base_widths, CachedSize, group_idx); if (minimum_width) *minimum_width = size->min_size; @@ -804,14 +698,14 @@ gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint *natural_height) { GtkCellAreaBoxContextPrivate *priv; - BaseSize *size; + CachedSize *size; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); priv = box_context->priv; g_return_if_fail (group_idx < priv->base_heights->len); - size = &g_array_index (priv->base_heights, BaseSize, group_idx); + size = &g_array_index (priv->base_heights, CachedSize, group_idx); if (minimum_height) *minimum_height = size->min_size; @@ -861,14 +755,14 @@ GtkRequestedSize * gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths) { - return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_HORIZONTAL, n_widths); + return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_HORIZONTAL, -1, n_widths); } GtkRequestedSize * gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, gint *n_heights) { - return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_VERTICAL, n_heights); + return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_VERTICAL, -1, n_heights); } GtkCellAreaBoxAllocation * @@ -884,21 +778,4 @@ gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context *n_allocs = priv->n_orientation_allocs; return priv->orientation_allocs; - -} - -GtkCellAreaBoxAllocation * -gtk_cell_area_box_context_allocate (GtkCellAreaBoxContext *context, - gint orientation_size, - gint *n_allocs) -{ - GtkCellArea *area; - GtkOrientation orientation; - gint spacing; - - area = gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - - return allocate_for_orientation (context, orientation, spacing, orientation_size, n_allocs); } diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 01f7dc6cba..7800b0fdcb 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -129,11 +129,6 @@ GtkCellAreaBoxAllocation * gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, gint *n_allocs); -GtkCellAreaBoxAllocation * -gtk_cell_area_box_context_allocate (GtkCellAreaBoxContext *context, - gint orientation_size, - gint *n_allocs); - G_END_DECLS #endif /* __GTK_CELL_AREA_BOX_CONTEXT_H__ */ diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 61646708db..5a3ee8b28a 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -28,7 +28,6 @@ #include "gtkprivate.h" /* GObjectClass */ -static void gtk_cell_area_context_finalize (GObject *object); static void gtk_cell_area_context_dispose (GObject *object); static void gtk_cell_area_context_get_property (GObject *object, guint prop_id, @@ -41,26 +40,12 @@ static void gtk_cell_area_context_set_property (GObject /* GtkCellAreaContextClass */ static void gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width); static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height); static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_allocate_width (GtkCellAreaContext *context, - gint width); -static void gtk_cell_area_context_real_allocate_height (GtkCellAreaContext *context, +static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, + gint width, gint height); -/* CachedSize management */ -typedef struct { - gint min_size; - gint nat_size; -} CachedSize; - -static CachedSize *cached_size_new (gint min_size, gint nat_size); -static void cached_size_free (CachedSize *size); - struct _GtkCellAreaContextPrivate { GtkCellArea *cell_area; @@ -71,9 +56,6 @@ struct _GtkCellAreaContextPrivate gint nat_height; gint alloc_width; gint alloc_height; - - GHashTable *widths; - GHashTable *heights; }; enum { @@ -85,14 +67,6 @@ enum { PROP_NAT_HEIGHT }; -enum { - SIGNAL_WIDTH_CHANGED, - SIGNAL_HEIGHT_CHANGED, - LAST_SIGNAL -}; - -static guint cell_area_context_signals[LAST_SIGNAL] = { 0 }; - G_DEFINE_TYPE (GtkCellAreaContext, gtk_cell_area_context, G_TYPE_OBJECT); static void @@ -109,10 +83,6 @@ gtk_cell_area_context_init (GtkCellAreaContext *context) priv->nat_width = -1; priv->min_height = -1; priv->nat_height = -1; - priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); - priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)cached_size_free); } static void @@ -121,45 +91,17 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) GObjectClass *object_class = G_OBJECT_CLASS (class); /* GObjectClass */ - object_class->finalize = gtk_cell_area_context_finalize; object_class->dispose = gtk_cell_area_context_dispose; object_class->get_property = gtk_cell_area_context_get_property; object_class->set_property = gtk_cell_area_context_set_property; /* GtkCellAreaContextClass */ - class->flush_preferred_width = gtk_cell_area_context_real_flush_preferred_width; - class->flush_preferred_height_for_width = gtk_cell_area_context_real_flush_preferred_height_for_width; - class->flush_preferred_height = gtk_cell_area_context_real_flush_preferred_height; - class->flush_preferred_width_for_height = gtk_cell_area_context_real_flush_preferred_width_for_height; - class->flush_allocation = gtk_cell_area_context_real_flush_allocation; - - class->sum_preferred_width = NULL; - class->sum_preferred_height_for_width = NULL; - class->sum_preferred_height = NULL; - class->sum_preferred_width_for_height = NULL; - - class->allocate_width = gtk_cell_area_context_real_allocate_width; - class->allocate_height = gtk_cell_area_context_real_allocate_height; - - cell_area_context_signals[SIGNAL_HEIGHT_CHANGED] = - g_signal_new (I_("height-changed"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__INT_INT_INT, - G_TYPE_NONE, 3, - G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); - - cell_area_context_signals[SIGNAL_WIDTH_CHANGED] = - g_signal_new (I_("width-changed"), - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - 0, /* Class offset (just a notification, no class handler) */ - NULL, NULL, - _gtk_marshal_VOID__INT_INT_INT, - G_TYPE_NONE, 3, - G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); + class->flush_preferred_width = gtk_cell_area_context_real_flush_preferred_width; + class->flush_preferred_height = gtk_cell_area_context_real_flush_preferred_height; + class->flush_allocation = gtk_cell_area_context_real_flush_allocation; + class->sum_preferred_width = NULL; + class->sum_preferred_height = NULL; + class->allocate = gtk_cell_area_context_real_allocate; g_object_class_install_property (object_class, PROP_CELL_AREA, @@ -212,44 +154,9 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_type_class_add_private (object_class, sizeof (GtkCellAreaContextPrivate)); } - - -/************************************************************* - * Cached Sizes * - *************************************************************/ -static CachedSize * -cached_size_new (gint min_size, - gint nat_size) -{ - CachedSize *size = g_slice_new (CachedSize); - - size->min_size = min_size; - size->nat_size = nat_size; - - return size; -} - -static void -cached_size_free (CachedSize *size) -{ - g_slice_free (CachedSize, size); -} - /************************************************************* * GObjectClass * *************************************************************/ -static void -gtk_cell_area_context_finalize (GObject *object) -{ - GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); - GtkCellAreaContextPrivate *priv = context->priv; - - g_hash_table_destroy (priv->widths); - g_hash_table_destroy (priv->heights); - - G_OBJECT_CLASS (gtk_cell_area_context_parent_class)->finalize (object); -} - static void gtk_cell_area_context_dispose (GObject *object) { @@ -335,40 +242,6 @@ gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context) g_object_thaw_notify (G_OBJECT (context)); } -static void -notify_invalid_height (gpointer width_ptr, - CachedSize *size, - GtkCellAreaContext *context) -{ - gint width = GPOINTER_TO_INT (width_ptr); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], - 0, width, -1, -1); -} - -static void -gtk_cell_area_context_real_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - /* Flush all sizes for special -1 value */ - if (width < 0) - { - g_hash_table_foreach (priv->heights, (GHFunc)notify_invalid_height, context); - g_hash_table_remove_all (priv->heights); - } - else - { - g_hash_table_remove (priv->heights, GINT_TO_POINTER (width)); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], - 0, width, -1, -1); - } -} - static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) { @@ -383,40 +256,6 @@ gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) g_object_thaw_notify (G_OBJECT (context)); } -static void -notify_invalid_width (gpointer height_ptr, - CachedSize *size, - GtkCellAreaContext *context) -{ - gint height = GPOINTER_TO_INT (height_ptr); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], - 0, height, -1, -1); -} - -static void -gtk_cell_area_context_real_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - /* Flush all sizes for special -1 value */ - if (height < 0) - { - g_hash_table_foreach (priv->widths, (GHFunc)notify_invalid_width, context); - g_hash_table_remove_all (priv->widths); - } - else - { - g_hash_table_remove (priv->widths, GINT_TO_POINTER (height)); - - /* Notify size invalidated */ - g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], - 0, height, -1, -1); - } -} - static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context) { @@ -427,24 +266,16 @@ gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context) } static void -gtk_cell_area_context_real_allocate_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - priv->alloc_width = width; -} - -static void -gtk_cell_area_context_real_allocate_height (GtkCellAreaContext *context, - gint height) +gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, + gint width, + gint height) { GtkCellAreaContextPrivate *priv = context->priv; + priv->alloc_width = width; priv->alloc_height = height; } - /************************************************************* * API * *************************************************************/ @@ -466,9 +297,7 @@ gtk_cell_area_context_flush (GtkCellAreaContext *context) g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); gtk_cell_area_context_flush_preferred_width (context); - gtk_cell_area_context_flush_preferred_height_for_width (context, -1); gtk_cell_area_context_flush_preferred_height (context); - gtk_cell_area_context_flush_preferred_width_for_height (context, -1); gtk_cell_area_context_flush_allocation (context); } @@ -480,15 +309,6 @@ gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width (context); } -void -gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height_for_width (context, for_width); -} - void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) { @@ -497,15 +317,6 @@ gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height (context); } -void -gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width_for_height (context, for_height); -} - void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context) { @@ -527,20 +338,6 @@ gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context) class->sum_preferred_width (context); } -void -gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - if (class->sum_preferred_height_for_width) - class->sum_preferred_height_for_width (context, for_width); -} - void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) { @@ -555,8 +352,9 @@ gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) } void -gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height) +gtk_cell_area_context_allocate (GtkCellAreaContext *context, + gint width, + gint height) { GtkCellAreaContextClass *class; @@ -564,34 +362,7 @@ gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *contex class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - if (class->sum_preferred_width_for_height) - class->sum_preferred_width_for_height (context, for_height); -} - -void -gtk_cell_area_context_allocate_width (GtkCellAreaContext *context, - gint width) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - class->allocate_width (context, width); -} - -void -gtk_cell_area_context_allocate_height (GtkCellAreaContext *context, - gint height) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - class->allocate_height (context, height); + class->allocate (context, width, height); } void @@ -612,39 +383,6 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, *natural_width = priv->nat_width; } -void -gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint *minimum_height, - gint *natural_height) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (size) - { - if (minimum_height) - *minimum_height = size->min_size; - - if (natural_height) - *natural_height = size->nat_size; - } - else - { - if (minimum_height) - *minimum_height = -1; - - if (natural_height) - *natural_height = -1; - } -} - void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, @@ -663,39 +401,6 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, *natural_height = priv->nat_height; } -void -gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint *minimum_width, - gint *natural_width) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (size) - { - if (minimum_width) - *minimum_width = size->min_size; - - if (natural_width) - *natural_width = size->nat_size; - } - else - { - if (minimum_width) - *minimum_width = -1; - - if (natural_width) - *natural_width = -1; - } -} - void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, @@ -744,50 +449,6 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } -void -gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint minimum_height, - gint natural_height) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - gboolean changed = FALSE; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_width)); - - if (!size) - { - size = cached_size_new (minimum_height, natural_height); - - g_hash_table_insert (priv->heights, GINT_TO_POINTER (for_width), size); - - changed = TRUE; - } - else - { - if (minimum_height > size->min_size) - { - size->min_size = minimum_height; - changed = TRUE; - } - - if (natural_height > size->nat_size) - { - size->nat_size = natural_height; - changed = TRUE; - } - } - - if (changed) - g_signal_emit (context, cell_area_context_signals[SIGNAL_HEIGHT_CHANGED], 0, - for_width, size->min_size, size->nat_size); -} - void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, @@ -817,47 +478,3 @@ gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } - -void -gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint minimum_width, - gint natural_width) -{ - GtkCellAreaContextPrivate *priv; - CachedSize *size; - gboolean changed = FALSE; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - priv = context->priv; - - size = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_height)); - - if (!size) - { - size = cached_size_new (minimum_width, natural_width); - - g_hash_table_insert (priv->widths, GINT_TO_POINTER (for_height), size); - - changed = TRUE; - } - else - { - if (minimum_width > size->min_size) - { - size->min_size = minimum_width; - changed = TRUE; - } - - if (natural_width > size->nat_size) - { - size->nat_size = natural_width; - changed = TRUE; - } - } - - if (changed) - g_signal_emit (context, cell_area_context_signals[SIGNAL_WIDTH_CHANGED], 0, - for_height, size->min_size, size->nat_size); -} diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 8e3621f313..0796908caf 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -74,9 +74,8 @@ struct _GtkCellAreaContextClass /* Store an allocation value for a GtkCellArea contextual to a range of * treemodel rows */ - void (* allocate_width) (GtkCellAreaContext *context, - gint width); - void (* allocate_height) (GtkCellAreaContext *context, + void (* allocate) (GtkCellAreaContext *context, + gint width, gint height); /* Padding for future expansion */ @@ -93,44 +92,27 @@ GtkCellArea *gtk_cell_area_context_get_area (GtkCellArea /* Apis for GtkCellArea clients to flush the cache */ void gtk_cell_area_context_flush (GtkCellAreaContext *context); void gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width); void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height); void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context); /* Apis for GtkCellArea clients to sum up the results of a series of requests, this * call is required to reduce the processing while calculating the size of each row */ void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width); void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height); /* Apis to set an allocation size in one dimension or another, the subclass specific context * will store allocated positions/sizes for individual cells or groups of cells */ -void gtk_cell_area_context_allocate_width (GtkCellAreaContext *context, - gint width); -void gtk_cell_area_context_allocate_height (GtkCellAreaContext *context, +void gtk_cell_area_context_allocate (GtkCellAreaContext *context, + gint width, gint height); /* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, gint *minimum_width, gint *natural_width); -void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint *minimum_height, - gint *natural_height); void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, gint *natural_height); -void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint *minimum_width, - gint *natural_width); void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, gint *height); @@ -139,17 +121,9 @@ void gtk_cell_area_context_get_allocation (GtkCellArea void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, gint minimum_width, gint natural_width); -void gtk_cell_area_context_push_preferred_height_for_width (GtkCellAreaContext *context, - gint for_width, - gint minimum_height, - gint natural_height); void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, gint natural_height); -void gtk_cell_area_context_push_preferred_width_for_height (GtkCellAreaContext *context, - gint for_height, - gint minimum_width, - gint natural_width); G_END_DECLS From 08cc318946e4cf1af9678d7677d24a4504f58a75 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 21:35:53 +0900 Subject: [PATCH 0280/1463] Fixed CellAreaScaffold for new gtk_cell_area_context_allocate() api. --- tests/cellareascaffold.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 0e0d2925a1..fb8be468d1 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -649,12 +649,12 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, /* Cache the per-row sizes and allocate the context */ if (orientation == GTK_ORIENTATION_HORIZONTAL) { - gtk_cell_area_context_allocate_width (priv->context, allocation->width - priv->indent); + gtk_cell_area_context_allocate (priv->context, allocation->width - priv->indent, -1); get_row_sizes (scaffold, priv->row_data, allocation->width - priv->indent); } else { - gtk_cell_area_context_allocate_height (priv->context, allocation->height - priv->indent); + gtk_cell_area_context_allocate (priv->context, -1, allocation->height - priv->indent); get_row_sizes (scaffold, priv->row_data, allocation->height - priv->indent); } } From e21c224f2819e6ffb32ea4cf85745e0dc5b99d57 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 23:41:39 +0900 Subject: [PATCH 0281/1463] Fixing GtkCellAreaBox at render time to consider height-for-width when stacked vertically Also bullet-proofing GtkCellAreaBoxContext at allocate time. --- gtk/gtkcellareabox.c | 34 ++++++++++++++++++++++------------ gtk/gtkcellareaboxcontext.c | 26 ++++++++++++-------------- 2 files changed, 34 insertions(+), 26 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 522c397590..42bb934cd7 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -583,7 +583,8 @@ allocate_cells_manually (GtkCellAreaBox *box, gint i; gint nvisible = 0, nexpand = 0, group_expand; gint avail_size, extra_size, extra_extra; - gint position = 0; + gint position = 0, for_size; + if (!priv->cells) return NULL; @@ -606,9 +607,15 @@ allocate_cells_manually (GtkCellAreaBox *box, } if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - avail_size = width; + { + avail_size = width; + for_size = height; + } else - avail_size = height; + { + avail_size = height; + for_size = width; + } /* Go ahead and collect the requests on the fly */ sizes = g_new0 (GtkRequestedSize, nvisible); @@ -619,14 +626,11 @@ allocate_cells_manually (GtkCellAreaBox *box, if (!gtk_cell_renderer_get_visible (info->renderer)) continue; - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_renderer_get_preferred_width_for_height (info->renderer, widget, height, - &sizes[i].minimum_size, - &sizes[i].natural_size); - else - gtk_cell_renderer_get_preferred_height_for_width (info->renderer, widget, width, - &sizes[i].minimum_size, - &sizes[i].natural_size); + gtk_cell_area_request_renderer (GTK_CELL_AREA (box), info->renderer, + priv->orientation, + widget, for_size, + &sizes[i].minimum_size, + &sizes[i].natural_size); avail_size -= sizes[i].minimum_size; @@ -697,11 +701,17 @@ get_allocated_cells (GtkCellAreaBox *box, GList *cell_list; GSList *allocated_cells = NULL; gint i, j, n_allocs; + gint for_size; group_allocs = gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); if (!group_allocs) return allocate_cells_manually (box, widget, width, height); + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + for_size = height; + else + for_size = width; + for (i = 0; i < n_allocs; i++) { /* We dont always allocate all groups, sometimes the requested group has only invisible @@ -748,7 +758,7 @@ get_allocated_cells (GtkCellAreaBox *box, gtk_cell_area_request_renderer (area, info->renderer, priv->orientation, - widget, -1, + widget, for_size, &sizes[j].minimum_size, &sizes[j].natural_size); diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index c1e27cb2bb..b49ec72c38 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -492,21 +492,19 @@ gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - if (orientation == GTK_ORIENTATION_HORIZONTAL && width > 0) - { - g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_context, orientation, - spacing, width, height, - &priv->n_orientation_allocs); - } - else if (orientation == GTK_ORIENTATION_VERTICAL && height > 0) - { - g_free (priv->orientation_allocs); - priv->orientation_allocs = allocate_for_orientation (box_context, orientation, - spacing, height, width, - &priv->n_orientation_allocs); - } + g_free (priv->orientation_allocs); + priv->orientation_allocs = NULL; + priv->n_orientation_allocs = 0; + if (orientation == GTK_ORIENTATION_HORIZONTAL && width > 0) + priv->orientation_allocs = allocate_for_orientation (box_context, orientation, + spacing, width, height, + &priv->n_orientation_allocs); + else if (orientation == GTK_ORIENTATION_VERTICAL && height > 0) + priv->orientation_allocs = allocate_for_orientation (box_context, orientation, + spacing, height, width, + &priv->n_orientation_allocs); + GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate (context, width, height); } From cbc4416c8e161d649404a6e6d1e979e551847375 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 27 Nov 2010 15:40:45 +0900 Subject: [PATCH 0282/1463] Removing the height_for_width vfuncs on GtkCellAreaContextClass which I forgot to remove. --- gtk/gtkcellareacontext.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 0796908caf..f9681e7069 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -55,22 +55,14 @@ struct _GtkCellAreaContextClass /* Subclasses can use this to flush their alignments/allocations */ void (* flush_preferred_width) (GtkCellAreaContext *context); - void (* flush_preferred_height_for_width) (GtkCellAreaContext *context, - gint width); void (* flush_preferred_height) (GtkCellAreaContext *context); - void (* flush_preferred_width_for_height) (GtkCellAreaContext *context, - gint height); void (* flush_allocation) (GtkCellAreaContext *context); /* These must be invoked after a series of requests before consulting * the context values, implementors use this to push the overall * requests while acconting for any internal alignments */ void (* sum_preferred_width) (GtkCellAreaContext *context); - void (* sum_preferred_height_for_width) (GtkCellAreaContext *context, - gint width); void (* sum_preferred_height) (GtkCellAreaContext *context); - void (* sum_preferred_width_for_height) (GtkCellAreaContext *context, - gint height); /* Store an allocation value for a GtkCellArea contextual to a range of * treemodel rows */ From 5df7dab3cfdafad8656366edf4848329035b109d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 27 Nov 2010 16:05:14 +0900 Subject: [PATCH 0283/1463] Changed all the flush apis on GtkCellAreaContext for a single "reset" api. --- gtk/gtkcellareabox.c | 14 +++--- gtk/gtkcellareaboxcontext.c | 92 ++++++++++++++---------------------- gtk/gtkcellareacontext.c | 93 +++++++++---------------------------- gtk/gtkcellareacontext.h | 82 +++++++++++++------------------- tests/cellareascaffold.c | 16 +++---- 5 files changed, 103 insertions(+), 194 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 42bb934cd7..c29e260ad0 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -160,7 +160,7 @@ static GList *list_consecutive_cells (GtkCellAreaBox *box); static gint count_expand_groups (GtkCellAreaBox *box); static void context_weak_notify (GtkCellAreaBox *box, GtkCellAreaBoxContext *dead_context); -static void flush_contexts (GtkCellAreaBox *box); +static void reset_contexts (GtkCellAreaBox *box); static void init_context_groups (GtkCellAreaBox *box); static void init_context_group (GtkCellAreaBox *box, GtkCellAreaBoxContext *context); @@ -526,7 +526,7 @@ init_context_group (GtkCellAreaBox *box, expand_groups[i] = (group->expand_cells > 0); } - /* This call implies flushing the request info */ + /* This call implies reseting the request info */ gtk_cell_area_box_init_groups (context, priv->groups->len, expand_groups); g_free (expand_groups); } @@ -549,19 +549,19 @@ init_context_groups (GtkCellAreaBox *box) } static void -flush_contexts (GtkCellAreaBox *box) +reset_contexts (GtkCellAreaBox *box) { GtkCellAreaBoxPrivate *priv = box->priv; GSList *l; /* When the box layout changes, contexts need to - * be flushed and sizes for the box get requested again + * be reset and sizes for the box get requested again */ for (l = priv->contexts; l; l = l->next) { GtkCellAreaContext *context = l->data; - gtk_cell_area_context_flush (context); + gtk_cell_area_context_reset (context); } } @@ -858,7 +858,7 @@ gtk_cell_area_box_set_property (GObject *object, box->priv->orientation = g_value_get_enum (value); /* Notify that size needs to be requested again */ - flush_contexts (box); + reset_contexts (box); break; case PROP_SPACING: gtk_cell_area_box_set_spacing (box, g_value_get_int (value)); @@ -2022,6 +2022,6 @@ gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, g_object_notify (G_OBJECT (box), "spacing"); /* Notify that size needs to be requested again */ - flush_contexts (box); + reset_contexts (box); } } diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index b49ec72c38..19fd36e656 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -28,26 +28,25 @@ #include "gtkorientable.h" /* GObjectClass */ -static void gtk_cell_area_box_context_finalize (GObject *object); +static void gtk_cell_area_box_context_finalize (GObject *object); /* GtkCellAreaContextClass */ -static void gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); +static void gtk_cell_area_box_context_reset (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); +static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, + gint width, + gint height); -static void free_cache_array (GArray *array); -static GArray *group_array_new (GtkCellAreaBoxContext *context); -static GArray *get_array (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint for_size); -static gboolean group_expands (GtkCellAreaBoxContext *context, - gint group_idx); -static gint count_expand_groups (GtkCellAreaBoxContext *context); +/* Internal functions */ +static void free_cache_array (GArray *array); +static GArray *group_array_new (GtkCellAreaBoxContext *context); +static GArray *get_array (GtkCellAreaBoxContext *context, + GtkOrientation orientation, + gint for_size); +static gboolean group_expands (GtkCellAreaBoxContext *context, + gint group_idx); +static gint count_expand_groups (GtkCellAreaBoxContext *context); /* CachedSize management */ @@ -191,11 +190,9 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_box_context_finalize; - context_class->flush_preferred_width = gtk_cell_area_box_context_flush_preferred_width; - context_class->flush_preferred_height = gtk_cell_area_box_context_flush_preferred_height; - context_class->flush_allocation = gtk_cell_area_box_context_flush_allocation; - context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; - context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; + context_class->reset = gtk_cell_area_box_context_reset; + context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; + context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; context_class->allocate = gtk_cell_area_box_context_allocate; @@ -226,58 +223,37 @@ gtk_cell_area_box_context_finalize (GObject *object) * GtkCellAreaContextClass * *************************************************************/ static void -gtk_cell_area_box_context_flush_preferred_width (GtkCellAreaContext *context) +gtk_cell_area_box_context_reset (GtkCellAreaContext *context) { GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GtkCellAreaBoxContextPrivate *priv = box_context->priv; + CachedSize *size; gint i; for (i = 0; i < priv->base_widths->len; i++) { - CachedSize *size = &g_array_index (priv->base_widths, CachedSize, i); + size = &g_array_index (priv->base_widths, CachedSize, i); + + size->min_size = 0; + size->nat_size = 0; + + size = &g_array_index (priv->base_heights, CachedSize, i); size->min_size = 0; size->nat_size = 0; } - /* Flush context widths as well */ + /* Reset context sizes as well */ g_hash_table_remove_all (priv->widths); - - GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->flush_preferred_width (context); -} - -static void -gtk_cell_area_box_context_flush_preferred_height (GtkCellAreaContext *context) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - gint i; - - for (i = 0; i < priv->base_heights->len; i++) - { - CachedSize *size = &g_array_index (priv->base_heights, CachedSize, i); - - size->min_size = 0; - size->nat_size = 0; - } - - /* Flush context heights as well */ g_hash_table_remove_all (priv->heights); - GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->flush_preferred_height (context); -} - -static void -gtk_cell_area_box_context_flush_allocation (GtkCellAreaContext *context) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - + /* Clear the allocation */ g_free (priv->orientation_allocs); priv->orientation_allocs = NULL; priv->n_orientation_allocs = 0; + + GTK_CELL_AREA_CONTEXT_CLASS + (gtk_cell_area_box_context_parent_class)->reset (context); } static void @@ -522,10 +498,10 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); g_return_if_fail (n_groups == 0 || expand_groups != NULL); - /* When the group dimensions change, all info must be flushed + /* When the group dimensions change, all info must be reset * Note this already clears the min/nat values on the CachedSizes */ - gtk_cell_area_context_flush (GTK_CELL_AREA_CONTEXT (box_context)); + gtk_cell_area_context_reset (GTK_CELL_AREA_CONTEXT (box_context)); priv = box_context->priv; g_array_set_size (priv->base_widths, n_groups); diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 5a3ee8b28a..0cf9357e4a 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -28,23 +28,21 @@ #include "gtkprivate.h" /* GObjectClass */ -static void gtk_cell_area_context_dispose (GObject *object); -static void gtk_cell_area_context_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void gtk_cell_area_context_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); +static void gtk_cell_area_context_dispose (GObject *object); +static void gtk_cell_area_context_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_context_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); /* GtkCellAreaContextClass */ -static void gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, - gint width, - gint height); +static void gtk_cell_area_context_real_reset (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, + gint width, + gint height); struct _GtkCellAreaContextPrivate { @@ -96,9 +94,7 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) object_class->set_property = gtk_cell_area_context_set_property; /* GtkCellAreaContextClass */ - class->flush_preferred_width = gtk_cell_area_context_real_flush_preferred_width; - class->flush_preferred_height = gtk_cell_area_context_real_flush_preferred_height; - class->flush_allocation = gtk_cell_area_context_real_flush_allocation; + class->reset = gtk_cell_area_context_real_reset; class->sum_preferred_width = NULL; class->sum_preferred_height = NULL; class->allocate = gtk_cell_area_context_real_allocate; @@ -229,42 +225,25 @@ gtk_cell_area_context_get_property (GObject *object, * GtkCellAreaContextClass * *************************************************************/ static void -gtk_cell_area_context_real_flush_preferred_width (GtkCellAreaContext *context) +gtk_cell_area_context_real_reset (GtkCellAreaContext *context) { GtkCellAreaContextPrivate *priv = context->priv; - priv->min_width = -1; - priv->nat_width = -1; + priv->min_width = -1; + priv->nat_width = -1; + priv->min_height = -1; + priv->nat_height = -1; + priv->alloc_width = 0; + priv->alloc_height = 0; g_object_freeze_notify (G_OBJECT (context)); g_object_notify (G_OBJECT (context), "minimum-width"); g_object_notify (G_OBJECT (context), "natural-width"); - g_object_thaw_notify (G_OBJECT (context)); -} - -static void -gtk_cell_area_context_real_flush_preferred_height (GtkCellAreaContext *context) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - priv->min_height = -1; - priv->nat_height = -1; - - g_object_freeze_notify (G_OBJECT (context)); g_object_notify (G_OBJECT (context), "minimum-height"); g_object_notify (G_OBJECT (context), "natural-height"); g_object_thaw_notify (G_OBJECT (context)); } -static void -gtk_cell_area_context_real_flush_allocation (GtkCellAreaContext *context) -{ - GtkCellAreaContextPrivate *priv = context->priv; - - priv->alloc_width = 0; - priv->alloc_height = 0; -} - static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, gint width, @@ -292,37 +271,11 @@ gtk_cell_area_context_get_area (GtkCellAreaContext *context) } void -gtk_cell_area_context_flush (GtkCellAreaContext *context) +gtk_cell_area_context_reset (GtkCellAreaContext *context) { g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - gtk_cell_area_context_flush_preferred_width (context); - gtk_cell_area_context_flush_preferred_height (context); - gtk_cell_area_context_flush_allocation (context); -} - -void -gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_width (context); -} - -void -gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_preferred_height (context); -} - -void -gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context) -{ - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->flush_allocation (context); + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->reset (context); } void diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index f9681e7069..4c45293d92 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -53,22 +53,12 @@ struct _GtkCellAreaContextClass { GObjectClass parent_class; - /* Subclasses can use this to flush their alignments/allocations */ - void (* flush_preferred_width) (GtkCellAreaContext *context); - void (* flush_preferred_height) (GtkCellAreaContext *context); - void (* flush_allocation) (GtkCellAreaContext *context); - - /* These must be invoked after a series of requests before consulting - * the context values, implementors use this to push the overall - * requests while acconting for any internal alignments */ - void (* sum_preferred_width) (GtkCellAreaContext *context); - void (* sum_preferred_height) (GtkCellAreaContext *context); - - /* Store an allocation value for a GtkCellArea contextual to a range of - * treemodel rows */ - void (* allocate) (GtkCellAreaContext *context, - gint width, - gint height); + void (* sum_preferred_width) (GtkCellAreaContext *context); + void (* sum_preferred_height) (GtkCellAreaContext *context); + void (* allocate) (GtkCellAreaContext *context, + gint width, + gint height); + void (* reset) (GtkCellAreaContext *context); /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -77,45 +67,35 @@ struct _GtkCellAreaContextClass void (*_gtk_reserved4) (void); }; -GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; +GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; -GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); +/* Main apis */ +GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); +void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); +void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); +void gtk_cell_area_context_allocate (GtkCellAreaContext *context, + gint width, + gint height); +void gtk_cell_area_context_reset (GtkCellAreaContext *context); -/* Apis for GtkCellArea clients to flush the cache */ -void gtk_cell_area_context_flush (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_preferred_height (GtkCellAreaContext *context); -void gtk_cell_area_context_flush_allocation (GtkCellAreaContext *context); - -/* Apis for GtkCellArea clients to sum up the results of a series of requests, this - * call is required to reduce the processing while calculating the size of each row */ -void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); - -/* Apis to set an allocation size in one dimension or another, the subclass specific context - * will store allocated positions/sizes for individual cells or groups of cells */ -void gtk_cell_area_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); - -/* Apis for GtkCellArea clients to consult cached values for multiple GtkTreeModel rows */ -void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, - gint *minimum_width, - gint *natural_width); -void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, - gint *width, - gint *height); +/* Apis for GtkCellArea clients to consult cached values for a series of GtkTreeModel rows */ +void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, + gint *width, + gint *height); /* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ -void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, - gint minimum_width, - gint natural_width); -void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, - gint minimum_height, - gint natural_height); +void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, + gint minimum_width, + gint natural_width); +void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, + gint minimum_height, + gint natural_height); G_END_DECLS diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index fb8be468d1..a3409729c9 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -1239,7 +1239,7 @@ remove_editable_cb (GtkCellArea *area, } static void -rebuild_and_flush_internals (CellAreaScaffold *scaffold) +rebuild_and_reset_internals (CellAreaScaffold *scaffold) { CellAreaScaffoldPrivate *priv = scaffold->priv; gint n_rows; @@ -1255,9 +1255,9 @@ rebuild_and_flush_internals (CellAreaScaffold *scaffold) else g_array_set_size (priv->row_data, 0); - /* Data changed, lets flush the context and consequently queue resize and + /* Data changed, lets reset the context and consequently queue resize and * start everything over again (note this is definitly far from optimized) */ - gtk_cell_area_context_flush (priv->context); + gtk_cell_area_context_reset (priv->context); } static void @@ -1266,7 +1266,7 @@ row_changed_cb (GtkTreeModel *model, GtkTreeIter *iter, CellAreaScaffold *scaffold) { - rebuild_and_flush_internals (scaffold); + rebuild_and_reset_internals (scaffold); } static void @@ -1275,7 +1275,7 @@ row_inserted_cb (GtkTreeModel *model, GtkTreeIter *iter, CellAreaScaffold *scaffold) { - rebuild_and_flush_internals (scaffold); + rebuild_and_reset_internals (scaffold); } static void @@ -1283,7 +1283,7 @@ row_deleted_cb (GtkTreeModel *model, GtkTreePath *path, CellAreaScaffold *scaffold) { - rebuild_and_flush_internals (scaffold); + rebuild_and_reset_internals (scaffold); } static void @@ -1293,7 +1293,7 @@ rows_reordered_cb (GtkTreeModel *model, gint *new_order, CellAreaScaffold *scaffold) { - rebuild_and_flush_internals (scaffold); + rebuild_and_reset_internals (scaffold); } /********************************************************* @@ -1362,7 +1362,7 @@ cell_area_scaffold_set_model (CellAreaScaffold *scaffold, G_CALLBACK (rows_reordered_cb), scaffold); } - rebuild_and_flush_internals (scaffold); + rebuild_and_reset_internals (scaffold); } } From 354b3412ddcdd73cd1bc9f2bc23a805d67e7fbf5 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 14 Nov 2010 10:43:00 +0100 Subject: [PATCH 0284/1463] Available extra space could be less than zero The allocated size, or (horizontally speaking) for-width size, can be smaller than the sum of all minimum widths. For example when the user is resizing tree view columns manually. --- gtk/gtkcellareabox.c | 15 ++++++++++++--- gtk/gtkcellareaboxcontext.c | 5 ++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index c29e260ad0..99b5b41685 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -770,7 +770,10 @@ get_allocated_cells (GtkCellAreaBox *box, /* Distribute cells naturally within the group */ avail_size -= (visible_cells - 1) * priv->spacing; - avail_size = gtk_distribute_natural_allocation (avail_size, visible_cells, sizes); + if (avail_size > 0) + avail_size = gtk_distribute_natural_allocation (avail_size, visible_cells, sizes); + else + avail_size = 0; /* Calculate/distribute expand for cells */ if (expand_cells > 0) @@ -1535,7 +1538,10 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, for (i = 0; i < n_sizes; i++) avail_size -= orientation_sizes[i].minimum_size; - avail_size = gtk_distribute_natural_allocation (avail_size, n_sizes, orientation_sizes); + if (avail_size > 0) + avail_size = gtk_distribute_natural_allocation (avail_size, n_sizes, orientation_sizes); + else + avail_size = 0; /* Calculate/distribute expand for cells */ if (group->expand_cells > 0) @@ -1607,7 +1613,10 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, for (i = 0; i < n_groups; i++) avail_size -= orientation_sizes[i].minimum_size; - avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); + if (avail_size > 0) + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, orientation_sizes); + else + avail_size = 0; /* Calculate/distribute expand for groups */ if (n_expand_groups > 0) diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index 19fd36e656..d4755499a7 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -412,7 +412,10 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, for (i = 0; i < n_groups; i++) avail_size -= sizes[i].minimum_size; - avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, sizes); + if (avail_size > 0) + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, sizes); + else + avail_size = 0; /* Calculate/distribute expand for groups */ if (n_expand_groups > 0) From 05b217ab2af9d86c4749ad2d3d50bd45b40018f9 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Nov 2010 18:52:18 +0100 Subject: [PATCH 0285/1463] Allow non-editable cells to receive focus Slight tweak for GtkTreeView, also non-editable cells must be able to receive focus to get all keyboard navigation right. This will be further tweaked to get focus siblings to work like focus cells did in GtkTreeView before refactoring. --- gtk/gtkcellareabox.c | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 99b5b41685..00634ad3b4 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1068,20 +1068,15 @@ gtk_cell_area_box_event (GtkCellArea *area, event_y >= inner_area.y && event_y <= inner_area.y + inner_area.height) { GtkCellRenderer *event_renderer = NULL; + GtkCellRenderer *focus_renderer; - if (gtk_cell_renderer_can_focus (cell->renderer)) - event_renderer = cell->renderer; - else - { - GtkCellRenderer *focus_renderer; - - /* A renderer can have focus siblings but that renderer might not be - * focusable for every row... so we go on to check can_focus here. */ - focus_renderer = gtk_cell_area_get_focus_from_sibling (area, cell->renderer); + focus_renderer = gtk_cell_area_get_focus_from_sibling (area, cell->renderer); + if (focus_renderer) + event_renderer = focus_renderer; + else + event_renderer = cell->renderer; - if (focus_renderer && gtk_cell_renderer_can_focus (focus_renderer)) - event_renderer = focus_renderer; - } + event_renderer = cell->renderer; if (event_renderer) { @@ -1871,13 +1866,9 @@ gtk_cell_area_box_focus (GtkCellArea *area, found_cell = TRUE; else if (found_cell) { - if (gtk_cell_renderer_can_focus (info->renderer)) - { - gtk_cell_area_set_focus_cell (area, info->renderer); + gtk_cell_area_set_focus_cell (area, info->renderer); - cycled_focus = TRUE; - break; - } + cycled_focus = TRUE; } } } From 6fe9df2f1d553dd03e5c4a876b6c411a94a6585f Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Nov 2010 19:01:49 +0100 Subject: [PATCH 0286/1463] First go at migrating GtkTreeView(Column) to GtkCellArea This is still very much a work in progress, but it renders and more or less works. I will be fixing up the details in the very near future. Important: this commit breaks ABI as it modifies the GtkTreeViewColumn structure in gtktreeviewcolumn.h. This is a sealed structure that needs to be moved to an internal header file, most likely gtktreeprivate.h. --- gtk/gtktreeprivate.h | 32 +- gtk/gtktreeview.c | 247 +++---- gtk/gtktreeviewcolumn.c | 1403 ++++++--------------------------------- gtk/gtktreeviewcolumn.h | 11 +- 4 files changed, 305 insertions(+), 1388 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 2304f69ab7..43fb6381c6 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -405,15 +405,24 @@ void _gtk_tree_view_queue_draw_node (GtkTreeView *tree_v GtkRBNode *node, const GdkRectangle *clip_rect); +void _gtk_tree_view_add_editable (GtkTreeView *tree_view, + GtkTreeViewColumn *column, + GtkTreePath *path, + GtkCellEditable *cell_editable, + GdkRectangle *cell_area); +void _gtk_tree_view_remove_editable (GtkTreeView *tree_view, + GtkTreeViewColumn *column, + GtkCellEditable *cell_editable); + void _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_unrealize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view); +void _gtk_tree_view_column_set_width (GtkTreeViewColumn *column, + int width); void _gtk_tree_view_column_unset_model (GtkTreeViewColumn *column, GtkTreeModel *old_model); void _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column); -void _gtk_tree_view_column_set_width (GtkTreeViewColumn *column, - gint width); void _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, GtkTreeViewColumn *column, GdkDevice *device); @@ -424,16 +433,12 @@ gboolean _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, const GdkRectangle *background_area, const GdkRectangle *cell_area, guint flags); -void _gtk_tree_view_column_start_editing (GtkTreeViewColumn *tree_column, - GtkCellEditable *editable_widget); -void _gtk_tree_view_column_stop_editing (GtkTreeViewColumn *tree_column); void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view); void _gtk_tree_view_column_autosize (GtkTreeView *tree_view, GtkTreeViewColumn *column); gboolean _gtk_tree_view_column_has_editable_cell (GtkTreeViewColumn *column); GtkCellRenderer *_gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column); -gint _gtk_tree_view_column_count_special_cells (GtkTreeViewColumn *column); GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, gint x); @@ -449,27 +454,18 @@ void _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, - guint flags); + guint flags, + gboolean draw_focus); void _gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, const GdkRectangle *background_area, const GdkRectangle *cell_area, GdkRectangle *focus_area); gboolean _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, - gint direction, + gint count, gboolean left, gboolean right); -void _gtk_tree_view_column_cell_draw_focus (GtkTreeViewColumn *tree_column, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - guint flags); void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler); -void _gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column, - GtkCellRenderer *cell, - gint *left, - gint *right); - G_END_DECLS diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 85280038a8..c1adfb42b4 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -472,7 +472,7 @@ static void gtk_tree_view_real_set_cursor (GtkTreeView GtkTreePath *path, gboolean clear_and_select, gboolean clamp_node); -static gboolean gtk_tree_view_has_special_cell (GtkTreeView *tree_view); +static gboolean gtk_tree_view_has_can_focus_cell (GtkTreeView *tree_view); static void column_sizing_notify (GObject *object, GParamSpec *pspec, gpointer data); @@ -543,13 +543,6 @@ static void gtk_tree_view_put (GtkTreeView *tree_ gint height); static gboolean gtk_tree_view_start_editing (GtkTreeView *tree_view, GtkTreePath *cursor_path); -static void gtk_tree_view_real_start_editing (GtkTreeView *tree_view, - GtkTreeViewColumn *column, - GtkTreePath *path, - GtkCellEditable *cell_editable, - GdkRectangle *cell_area, - GdkEvent *event, - guint flags); static void gtk_tree_view_stop_editing (GtkTreeView *tree_view, gboolean cancel_editing); static gboolean gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view, @@ -2394,7 +2387,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, real_requested_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); allocation.x = width; - column->width = real_requested_width; + _gtk_tree_view_column_set_width (column, real_requested_width); if (gtk_tree_view_column_get_expand (column)) { @@ -2698,14 +2691,12 @@ gtk_tree_view_button_press (GtkWidget *widget, GtkRBNode *node; GtkRBTree *tree; GtkTreePath *path; - gchar *path_string; gint depth; gint new_y; gint y_offset; gint dval; gint pre_val, aft_val; GtkTreeViewColumn *column = NULL; - GtkCellRenderer *focus_cell = NULL; gint column_handled_click = FALSE; gboolean row_double_click = FALSE; gboolean rtl; @@ -2844,41 +2835,23 @@ gtk_tree_view_button_press (GtkWidget *widget, /* FIXME: get the right flags */ guint flags = 0; - path_string = gtk_tree_path_to_string (path); - if (_gtk_tree_view_column_cell_event (column, - &cell_editable, + NULL, (GdkEvent *)event, - path_string, + NULL, &background_area, &cell_area, flags)) { + cell_editable = gtk_cell_area_get_edit_widget (column->cell_area); + if (cell_editable != NULL) { - gint left, right; - GdkRectangle area; - - area = cell_area; - _gtk_tree_view_column_get_neighbor_sizes (column, _gtk_tree_view_column_get_edited_cell (column), &left, &right); - - area.x += left; - area.width -= right + left; - - gtk_tree_view_real_start_editing (tree_view, - column, - path, - cell_editable, - &area, - (GdkEvent *)event, - flags); - g_free (path_string); gtk_tree_path_free (path); gtk_tree_path_free (anchor); return TRUE; } column_handled_click = TRUE; } - g_free (path_string); } if (anchor) gtk_tree_path_free (anchor); @@ -2897,10 +2870,6 @@ gtk_tree_view_button_press (GtkWidget *widget, if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) tree_view->priv->shift_pressed = TRUE; - focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, event->x - background_area.x); - if (focus_cell) - gtk_tree_view_column_focus_cell (column, focus_cell); - if (event->state & GDK_CONTROL_MASK) { gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE); @@ -3413,7 +3382,7 @@ prelight_or_select (GtkTreeView *tree_view, if (tree_view->priv->hover_selection && (mode == GTK_SELECTION_SINGLE || mode == GTK_SELECTION_BROWSE) && !(tree_view->priv->edited_column && - tree_view->priv->edited_column->editable_widget)) + gtk_cell_area_get_edit_widget (tree_view->priv->edited_column->cell_area))) { if (node) { @@ -4476,7 +4445,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, gint horizontal_separator; gint focus_line_width; gboolean allow_rules; - gboolean has_special_cell; + gboolean has_can_focus_cell; gboolean rtl; gint n_visible_columns; gint pointer_x, pointer_y; @@ -4623,7 +4592,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, parity = _gtk_rbtree_node_find_parity (tree, node); /* we *need* to set cell data on all cells before the call - * to _has_special_cell, else _has_special_cell() does not + * to _has_can_focus_cell, else _has_can_focus_cell() does not * return a correct value. */ for (list = (rtl ? g_list_last (tree_view->priv->columns) : g_list_first (tree_view->priv->columns)); @@ -4638,7 +4607,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, node->children?TRUE:FALSE); } - has_special_cell = gtk_tree_view_has_special_cell (tree_view); + has_can_focus_cell = gtk_tree_view_has_can_focus_cell (tree_view); for (list = (rtl ? g_list_last (tree_view->priv->columns) : g_list_first (tree_view->priv->columns)); list; @@ -4649,6 +4618,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, gchar new_detail[128]; gint width; GtkStateType state; + gboolean draw_focus; if (!gtk_tree_view_column_get_visible (column)) continue; @@ -4767,6 +4737,15 @@ gtk_tree_view_bin_draw (GtkWidget *widget, else state = GTK_STATE_NORMAL; + if (node == cursor && has_can_focus_cell + && ((column == tree_view->priv->focus_column + && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS) && + gtk_widget_has_focus (widget)) + || (column == tree_view->priv->edited_column))) + draw_focus = TRUE; + else + draw_focus = FALSE; + /* Draw background */ is_first = (rtl ? !list->next : !list->prev); is_last = (rtl ? !list->prev : !list->next); @@ -4828,7 +4807,8 @@ gtk_tree_view_bin_draw (GtkWidget *widget, cr, &background_area, &cell_area, - flags); + flags, + draw_focus); if (TREE_VIEW_DRAW_EXPANDERS(tree_view) && (node->flags & GTK_RBNODE_IS_PARENT) == GTK_RBNODE_IS_PARENT) { @@ -4862,7 +4842,8 @@ gtk_tree_view_bin_draw (GtkWidget *widget, cr, &background_area, &cell_area, - flags); + flags, + draw_focus); } if (draw_hgrid_lines) @@ -4954,19 +4935,6 @@ gtk_tree_view_bin_draw (GtkWidget *widget, } } - if (node == cursor && has_special_cell && - ((column == tree_view->priv->focus_column && - GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS) && - gtk_widget_has_focus (widget)) || - (column == tree_view->priv->edited_column))) - { - _gtk_tree_view_column_cell_draw_focus (column, - cr, - &background_area, - &cell_area, - flags); - } - cell_offset += gtk_tree_view_column_get_width (column); } @@ -5024,7 +4992,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, } /* draw the big row-spanning focus rectangle, if needed */ - if (!has_special_cell && node == cursor && + if (!has_can_focus_cell && node == cursor && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS) && gtk_widget_has_focus (widget)) { @@ -7823,19 +7791,22 @@ gtk_tree_view_forall (GtkContainer *container, } } -/* Returns TRUE if the treeview contains no "special" (editable or activatable) - * cells. If so we draw one big row-spanning focus rectangle. +/* Returns TRUE is any of the columns contains a cell that can-focus. + * If this is not the case, a column-spanning focus rectangle will be + * drawn. */ static gboolean -gtk_tree_view_has_special_cell (GtkTreeView *tree_view) +gtk_tree_view_has_can_focus_cell (GtkTreeView *tree_view) { GList *list; for (list = tree_view->priv->columns; list; list = list->next) { - if (!gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data))) + GtkTreeViewColumn *column = list->data; + + if (!gtk_tree_view_column_get_visible (column)) continue; - if (_gtk_tree_view_column_count_special_cells (list->data)) + if (gtk_cell_area_can_focus (column->cell_area)) return TRUE; } @@ -9032,7 +9003,7 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view, * make sure the left-hand side of the column is visible. */ - if (focus_to_cell && gtk_tree_view_has_special_cell (tree_view)) + if (focus_to_cell && gtk_tree_view_has_can_focus_cell (tree_view)) { GtkTreePath *cursor_path; GdkRectangle background_area, cell_area, focus_area; @@ -9970,6 +9941,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, GList *list; gboolean found_column = FALSE; gboolean rtl; + GtkDirectionType direction; rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL); @@ -10001,6 +9973,17 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, } } + switch (count) + { + case -1: + direction = rtl ? GTK_DIR_RIGHT : GTK_DIR_LEFT; + break; + + case 1: + direction = rtl ? GTK_DIR_LEFT : GTK_DIR_RIGHT; + break; + } + while (list) { gboolean left, right; @@ -10024,8 +10007,8 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, { left = list->prev ? TRUE : FALSE; right = list->next ? TRUE : FALSE; - } + } if (_gtk_tree_view_column_cell_focus (column, count, left, right)) { tree_view->priv->focus_column = column; @@ -10041,7 +10024,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, if (found_column) { - if (!gtk_tree_view_has_special_cell (tree_view)) + if (!gtk_tree_view_has_can_focus_cell (tree_view)) _gtk_tree_view_queue_draw_node (tree_view, cursor_tree, cursor_node, @@ -10746,25 +10729,27 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, tree_view->priv->event_last_x, tree_view->priv->event_last_y - dy); - if (tree_view->priv->edited_column && - GTK_IS_WIDGET (tree_view->priv->edited_column->editable_widget)) + if (tree_view->priv->edited_column) { GList *list; - GtkWidget *widget; GtkTreeViewChild *child = NULL; + GtkCellEditable *edit_widget; - widget = GTK_WIDGET (tree_view->priv->edited_column->editable_widget); - adjust_allocation (widget, 0, dy); - - for (list = tree_view->priv->children; list; list = list->next) - { - child = (GtkTreeViewChild *)list->data; - if (child->widget == widget) - { - child->y += dy; - break; - } - } + edit_widget = gtk_cell_area_get_edit_widget (tree_view->priv->edited_column->cell_area); + if (GTK_IS_WIDGET (edit_widget)) + { + adjust_allocation (GTK_WIDGET (edit_widget), 0, dy); + + for (list = tree_view->priv->children; list; list = list->next) + { + child = (GtkTreeViewChild *)list->data; + if (child->widget == GTK_WIDGET (edit_widget)) + { + child->y += dy; + break; + } + } + } } } gdk_window_scroll (tree_view->priv->bin_window, 0, dy); @@ -12890,7 +12875,7 @@ gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, /* cancel the current editing, if it exists */ if (tree_view->priv->edited_column && - tree_view->priv->edited_column->editable_widget) + gtk_cell_area_get_edit_widget (tree_view->priv->edited_column->cell_area)) gtk_tree_view_stop_editing (tree_view, TRUE); gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE); @@ -13979,7 +13964,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, cr, &background_area, &cell_area, - 0); + 0, FALSE); } cell_offset += gtk_tree_view_column_get_width (column); } @@ -14855,25 +14840,23 @@ gtk_tree_view_search_init (GtkWidget *entry, tree_view->priv->selected_iter = 1; } -static void -gtk_tree_view_remove_widget (GtkCellEditable *cell_editable, - GtkTreeView *tree_view) +void +_gtk_tree_view_remove_editable (GtkTreeView *tree_view, + GtkTreeViewColumn *column, + GtkCellEditable *cell_editable) { if (tree_view->priv->edited_column == NULL) return; - _gtk_tree_view_column_stop_editing (tree_view->priv->edited_column); + g_return_if_fail (column == tree_view->priv->edited_column); + tree_view->priv->edited_column = NULL; if (gtk_widget_has_focus (GTK_WIDGET (cell_editable))) gtk_widget_grab_focus (GTK_WIDGET (tree_view)); - g_signal_handlers_disconnect_by_func (cell_editable, - gtk_tree_view_remove_widget, - tree_view); - gtk_container_remove (GTK_CONTAINER (tree_view), - GTK_WIDGET (cell_editable)); + GTK_WIDGET (cell_editable)); /* FIXME should only redraw a single node */ gtk_widget_queue_draw (GTK_WIDGET (tree_view)); @@ -14886,7 +14869,7 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, GtkTreeIter iter; GdkRectangle background_area; GdkRectangle cell_area; - GtkCellEditable *editable_widget = NULL; + GtkTreeViewColumn *focus_column; gchar *path_string; guint flags = 0; /* can be 0, as the flags are primarily for rendering */ gint retval = FALSE; @@ -14894,6 +14877,7 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, GtkRBNode *cursor_node; g_assert (tree_view->priv->focus_column); + focus_column = tree_view->priv->focus_column; if (!gtk_widget_get_realized (GTK_WIDGET (tree_view))) return FALSE; @@ -14907,71 +14891,41 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, validate_row (tree_view, cursor_tree, cursor_node, &iter, cursor_path); - gtk_tree_view_column_cell_set_cell_data (tree_view->priv->focus_column, + gtk_tree_view_column_cell_set_cell_data (focus_column, tree_view->priv->model, &iter, GTK_RBNODE_FLAG_SET (cursor_node, GTK_RBNODE_IS_PARENT), cursor_node->children?TRUE:FALSE); gtk_tree_view_get_background_area (tree_view, cursor_path, - tree_view->priv->focus_column, + focus_column, &background_area); gtk_tree_view_get_cell_area (tree_view, cursor_path, - tree_view->priv->focus_column, + focus_column, &cell_area); - if (_gtk_tree_view_column_cell_event (tree_view->priv->focus_column, - &editable_widget, - NULL, - path_string, - &background_area, - &cell_area, - flags)) - { - retval = TRUE; - if (editable_widget != NULL) - { - gint left, right; - GdkRectangle area; - GtkCellRenderer *cell; + if (gtk_cell_area_activate (focus_column->cell_area, + focus_column->cell_area_context, + GTK_WIDGET (tree_view), + &cell_area, + flags)) + retval = TRUE; - area = cell_area; - cell = _gtk_tree_view_column_get_edited_cell (tree_view->priv->focus_column); - - _gtk_tree_view_column_get_neighbor_sizes (tree_view->priv->focus_column, cell, &left, &right); - - area.x += left; - area.width -= right + left; - - gtk_tree_view_real_start_editing (tree_view, - tree_view->priv->focus_column, - cursor_path, - editable_widget, - &area, - NULL, - flags); - } - - } - g_free (path_string); return retval; } -static void -gtk_tree_view_real_start_editing (GtkTreeView *tree_view, - GtkTreeViewColumn *column, - GtkTreePath *path, - GtkCellEditable *cell_editable, - GdkRectangle *cell_area, - GdkEvent *event, - guint flags) +void +_gtk_tree_view_add_editable (GtkTreeView *tree_view, + GtkTreeViewColumn *column, + GtkTreePath *path, + GtkCellEditable *cell_editable, + GdkRectangle *cell_area) { gint pre_val = tree_view->priv->vadjustment->value; GtkRequisition requisition; tree_view->priv->edited_column = column; - _gtk_tree_view_column_start_editing (column, GTK_CELL_EDITABLE (cell_editable)); gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE); cell_area->y += pre_val - (int)tree_view->priv->vadjustment->value; @@ -14996,13 +14950,6 @@ gtk_tree_view_real_start_editing (GtkTreeView *tree_view, cell_area->x, cell_area->y, cell_area->width, cell_area->height); } - - gtk_cell_editable_start_editing (GTK_CELL_EDITABLE (cell_editable), - (GdkEvent *)event); - - gtk_widget_grab_focus (GTK_WIDGET (cell_editable)); - g_signal_connect (cell_editable, "remove-widget", - G_CALLBACK (gtk_tree_view_remove_widget), tree_view); } static void @@ -15010,7 +14957,6 @@ gtk_tree_view_stop_editing (GtkTreeView *tree_view, gboolean cancel_editing) { GtkTreeViewColumn *column; - GtkCellRenderer *cell; if (tree_view->priv->edited_column == NULL) return; @@ -15026,17 +14972,8 @@ gtk_tree_view_stop_editing (GtkTreeView *tree_view, */ column = tree_view->priv->edited_column; + gtk_cell_area_stop_editing (column->cell_area, cancel_editing); tree_view->priv->edited_column = NULL; - - cell = _gtk_tree_view_column_get_edited_cell (column); - gtk_cell_renderer_stop_editing (cell, cancel_editing); - - if (!cancel_editing) - gtk_cell_editable_editing_done (column->editable_widget); - - tree_view->priv->edited_column = column; - - gtk_cell_editable_remove_widget (column->editable_widget); } diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 19d17c8901..53d4efe72f 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -32,6 +32,8 @@ #include "gtkhbox.h" #include "gtkmarshalers.h" #include "gtkarrow.h" +#include "gtkcellareacontext.h" +#include "gtkcellareabox.h" #include "gtkprivate.h" #include "gtkintl.h" @@ -82,22 +84,6 @@ enum LAST_SIGNAL }; -typedef struct _GtkTreeViewColumnCellInfo GtkTreeViewColumnCellInfo; -struct _GtkTreeViewColumnCellInfo -{ - GtkCellRenderer *cell; - GSList *attributes; - GtkTreeCellDataFunc func; - gpointer func_data; - GDestroyNotify destroy; - gint requested_width; - gint real_width; - guint expand : 1; - guint pack : 1; - guint has_focus : 1; - guint in_editing_mode : 1; -}; - /* Type methods */ static void gtk_tree_view_column_cell_layout_init (GtkCellLayoutIface *iface); @@ -161,18 +147,7 @@ static void gtk_tree_view_column_setup_sort_column_id_callback (GtkTreeViewColum static void gtk_tree_view_column_set_attributesv (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, va_list args); -static GtkTreeViewColumnCellInfo *gtk_tree_view_column_get_cell_info (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell_renderer); -/* cell list manipulation */ -static GList *gtk_tree_view_column_cell_first (GtkTreeViewColumn *tree_column); -static GList *gtk_tree_view_column_cell_last (GtkTreeViewColumn *tree_column); -static GList *gtk_tree_view_column_cell_next (GtkTreeViewColumn *tree_column, - GList *current); -static GList *gtk_tree_view_column_cell_prev (GtkTreeViewColumn *tree_column, - GList *current); -static void gtk_tree_view_column_clear_attributes_by_info (GtkTreeViewColumn *tree_column, - GtkTreeViewColumnCellInfo *info); /* GtkBuildable implementation */ static void gtk_tree_view_column_buildable_init (GtkBuildableIface *iface); @@ -394,7 +369,7 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) tree_column->button = NULL; tree_column->xalign = 0.0; tree_column->width = 0; - tree_column->spacing = 0; +// tree_column->spacing = 0; tree_column->requested_width = -1; tree_column->min_width = -1; tree_column->max_width = -1; @@ -416,32 +391,21 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) tree_column->fixed_width = 1; tree_column->use_resized_width = FALSE; tree_column->title = g_strdup (""); + + tree_column->cell_area = gtk_cell_area_box_new (); + gtk_cell_area_set_style_detail (tree_column->cell_area, "treeview"); + tree_column->cell_area_context = gtk_cell_area_create_context (tree_column->cell_area); } static void gtk_tree_view_column_finalize (GObject *object) { GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; - GList *list; - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - - if (info->destroy) - { - GDestroyNotify d = info->destroy; - - info->destroy = NULL; - d (info->func_data); - } - gtk_tree_view_column_clear_attributes_by_info (tree_column, info); - g_object_unref (info->cell); - g_free (info); - } + g_object_unref (tree_column->cell_area_context); + g_object_unref (tree_column->cell_area); g_free (tree_column->title); - g_list_free (tree_column->cell_list); if (tree_column->child) g_object_unref (tree_column->child); @@ -659,22 +623,12 @@ gtk_tree_view_column_cell_layout_pack_start (GtkCellLayout *cell_layout, gboolean expand) { GtkTreeViewColumn *column; - GtkTreeViewColumnCellInfo *cell_info; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); column = GTK_TREE_VIEW_COLUMN (cell_layout); - g_return_if_fail (! gtk_tree_view_column_get_cell_info (column, cell)); - g_object_ref_sink (cell); - - cell_info = g_new0 (GtkTreeViewColumnCellInfo, 1); - cell_info->cell = cell; - cell_info->expand = expand ? TRUE : FALSE; - cell_info->pack = GTK_PACK_START; - cell_info->has_focus = 0; - cell_info->attributes = NULL; - - column->cell_list = g_list_append (column->cell_list, cell_info); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (column->cell_area), + cell, expand); } static void @@ -683,22 +637,12 @@ gtk_tree_view_column_cell_layout_pack_end (GtkCellLayout *cell_layout, gboolean expand) { GtkTreeViewColumn *column; - GtkTreeViewColumnCellInfo *cell_info; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); column = GTK_TREE_VIEW_COLUMN (cell_layout); - g_return_if_fail (! gtk_tree_view_column_get_cell_info (column, cell)); - g_object_ref_sink (cell); - - cell_info = g_new0 (GtkTreeViewColumnCellInfo, 1); - cell_info->cell = cell; - cell_info->expand = expand ? TRUE : FALSE; - cell_info->pack = GTK_PACK_END; - cell_info->has_focus = 0; - cell_info->attributes = NULL; - - column->cell_list = g_list_append (column->cell_list, cell_info); + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (column->cell_area), + cell, expand); } static void @@ -709,16 +653,7 @@ gtk_tree_view_column_cell_layout_clear (GtkCellLayout *cell_layout) g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); column = GTK_TREE_VIEW_COLUMN (cell_layout); - while (column->cell_list) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *)column->cell_list->data; - - gtk_tree_view_column_cell_layout_clear_attributes (cell_layout, info->cell); - g_object_unref (info->cell); - g_free (info); - column->cell_list = g_list_delete_link (column->cell_list, - column->cell_list); - } + gtk_cell_layout_clear (GTK_CELL_LAYOUT (column->cell_area)); } static void @@ -728,16 +663,12 @@ gtk_tree_view_column_cell_layout_add_attribute (GtkCellLayout *cell_layout, gint column) { GtkTreeViewColumn *tree_column; - GtkTreeViewColumnCellInfo *info; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); tree_column = GTK_TREE_VIEW_COLUMN (cell_layout); - info = gtk_tree_view_column_get_cell_info (tree_column, cell); - g_return_if_fail (info != NULL); - - info->attributes = g_slist_prepend (info->attributes, GINT_TO_POINTER (column)); - info->attributes = g_slist_prepend (info->attributes, g_strdup (attribute)); + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (tree_column->cell_area), + cell, attribute, column); if (tree_column->tree_view) _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); @@ -751,25 +682,12 @@ gtk_tree_view_column_cell_layout_set_cell_data_func (GtkCellLayout *cell GDestroyNotify destroy) { GtkTreeViewColumn *column; - GtkTreeViewColumnCellInfo *info; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); column = GTK_TREE_VIEW_COLUMN (cell_layout); - info = gtk_tree_view_column_get_cell_info (column, cell); - g_return_if_fail (info != NULL); - - if (info->destroy) - { - GDestroyNotify d = info->destroy; - - info->destroy = NULL; - d (info->func_data); - } - - info->func = (GtkTreeCellDataFunc)func; - info->func_data = func_data; - info->destroy = destroy; + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (column->cell_area), + cell, func, func_data, destroy); if (column->tree_view) _gtk_tree_view_column_cell_set_dirty (column, TRUE); @@ -780,14 +698,12 @@ gtk_tree_view_column_cell_layout_clear_attributes (GtkCellLayout *cell_layout GtkCellRenderer *cell_renderer) { GtkTreeViewColumn *column; - GtkTreeViewColumnCellInfo *info; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); column = GTK_TREE_VIEW_COLUMN (cell_layout); - info = gtk_tree_view_column_get_cell_info (column, cell_renderer); - if (info) - gtk_tree_view_column_clear_attributes_by_info (column, info); + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (column->cell_area), + cell_renderer); } static void @@ -795,52 +711,18 @@ gtk_tree_view_column_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gint position) { - GList *link; GtkTreeViewColumn *column; - GtkTreeViewColumnCellInfo *info; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); column = GTK_TREE_VIEW_COLUMN (cell_layout); - info = gtk_tree_view_column_get_cell_info (column, cell); - - g_return_if_fail (info != NULL); - g_return_if_fail (position >= 0); - - link = g_list_find (column->cell_list, info); - - g_return_if_fail (link != NULL); - - column->cell_list = g_list_delete_link (column->cell_list, link); - column->cell_list = g_list_insert (column->cell_list, info, position); + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (column->cell_area), + cell, position); if (column->tree_view) gtk_widget_queue_draw (column->tree_view); } -static void -gtk_tree_view_column_clear_attributes_by_info (GtkTreeViewColumn *tree_column, - GtkTreeViewColumnCellInfo *info) -{ - GSList *list; - - list = info->attributes; - - while (list && list->next) - { - g_free (list->data); - list = list->next->next; - } - g_slist_free (info->attributes); - info->attributes = NULL; - - if (tree_column->tree_view) - _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); -} - -/* Helper functions - */ - /* Button handling code */ static void @@ -1278,6 +1160,40 @@ gtk_tree_view_column_setup_sort_column_id_callback (GtkTreeViewColumn *tree_colu } } +static void +gtk_tree_view_column_add_editable_callback (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + GdkRectangle *cell_area, + const gchar *path_string, + gpointer user_data) +{ + GtkTreePath *path; + GtkTreeViewColumn *column = user_data; + + path = gtk_tree_path_new_from_string (path_string); + + _gtk_tree_view_add_editable (GTK_TREE_VIEW (column->tree_view), + column, + path, + edit_widget, + cell_area); + + gtk_tree_path_free (path); +} + +static void +gtk_tree_view_column_remove_editable_callback (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + gpointer user_data) +{ + GtkTreeViewColumn *column = user_data; + + _gtk_tree_view_remove_editable (GTK_TREE_VIEW (column->tree_view), + column, + edit_widget); +} /* Exported Private Functions. * These should only be called by gtktreeview.c or gtktreeviewcolumn.c @@ -1360,11 +1276,26 @@ void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view) { + int focus_line_width; + g_assert (column->tree_view == NULL); column->tree_view = GTK_WIDGET (tree_view); gtk_tree_view_column_create_button (column); + gtk_widget_style_get (GTK_WIDGET (tree_view), + "focus-line-width", &focus_line_width, + NULL); + + column->add_editable_signal = + g_signal_connect (column->cell_area, "add-editable", + G_CALLBACK (gtk_tree_view_column_add_editable_callback), + column); + column->remove_editable_signal = + g_signal_connect (column->cell_area, "remove-editable", + G_CALLBACK (gtk_tree_view_column_remove_editable_callback), + column); + column->property_changed_signal = g_signal_connect_swapped (tree_view, "notify::model", @@ -1401,72 +1332,35 @@ _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column) gboolean _gtk_tree_view_column_has_editable_cell (GtkTreeViewColumn *column) { - GtkCellRenderer *cell; - GtkCellRendererMode mode; - GList *list; + gboolean ret = FALSE; + GList *list, *cells; - for (list = column->cell_list; list; list = list->next) + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column->cell_area)); + + for (list = cells; list; list = list->next) { - cell = ((GtkTreeViewColumnCellInfo *)list->data)->cell; + GtkCellRenderer *cell = list->data; + GtkCellRendererMode mode; + g_object_get (cell, "mode", &mode, NULL); + if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) - return TRUE; + { + ret = TRUE; + break; + } } - return FALSE; + g_list_free (cells); + + return ret; } /* gets cell being edited */ GtkCellRenderer * _gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column) { - GList *list; - - for (list = column->cell_list; list; list = list->next) - if (((GtkTreeViewColumnCellInfo *)list->data)->in_editing_mode) - return ((GtkTreeViewColumnCellInfo *)list->data)->cell; - - return NULL; -} - -gint -_gtk_tree_view_column_count_special_cells (GtkTreeViewColumn *column) -{ - gint i = 0; - GList *list; - - for (list = column->cell_list; list; list = list->next) - { - GtkCellRendererMode mode; - GtkTreeViewColumnCellInfo *cellinfo = list->data; - - g_object_get (cellinfo->cell, "mode", &mode, NULL); - if ((mode == GTK_CELL_RENDERER_MODE_EDITABLE || - mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) && - gtk_cell_renderer_get_visible (cellinfo->cell)) - i++; - } - - return i; -} - -GtkCellRenderer * -_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, - gint x) -{ - GList *list; - gint current_x = 0; - - list = gtk_tree_view_column_cell_first (column); - for (; list; list = gtk_tree_view_column_cell_next (column, list)) - { - GtkTreeViewColumnCellInfo *cellinfo = list->data; - if (current_x <= x && x <= current_x + cellinfo->real_width) - return cellinfo->cell; - current_x += cellinfo->real_width; - } - - return NULL; + return gtk_cell_area_get_edited_cell (column->cell_area); } /* Public Functions */ @@ -1538,18 +1432,6 @@ gtk_tree_view_column_new_with_attributes (const gchar *title, return retval; } -static GtkTreeViewColumnCellInfo * -gtk_tree_view_column_get_cell_info (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell_renderer) -{ - GList *list; - for (list = tree_column->cell_list; list; list = list->next) - if (((GtkTreeViewColumnCellInfo *)list->data)->cell == cell_renderer) - return (GtkTreeViewColumnCellInfo *) list->data; - return NULL; -} - - /** * gtk_tree_view_column_pack_start: * @tree_column: A #GtkTreeViewColumn. @@ -1602,18 +1484,8 @@ static GList * gtk_tree_view_column_cell_layout_get_cells (GtkCellLayout *layout) { GtkTreeViewColumn *tree_column = GTK_TREE_VIEW_COLUMN (layout); - GList *retval = NULL, *list; - g_return_val_if_fail (tree_column != NULL, NULL); - - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *)list->data; - - retval = g_list_append (retval, info->cell); - } - - return retval; + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tree_column->cell_area)); } /** @@ -1650,12 +1522,14 @@ gtk_tree_view_column_set_attributesv (GtkTreeViewColumn *tree_column, attribute = va_arg (args, gchar *); - gtk_tree_view_column_clear_attributes (tree_column, cell_renderer); + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (tree_column->cell_area), + cell_renderer); while (attribute != NULL) { column = va_arg (args, gint); - gtk_tree_view_column_add_attribute (tree_column, cell_renderer, attribute, column); + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (tree_column->cell_area), + cell_renderer, attribute, column); attribute = va_arg (args, gchar *); } } @@ -1680,7 +1554,6 @@ gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column, g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell_renderer)); - g_return_if_fail (gtk_tree_view_column_get_cell_info (tree_column, cell_renderer)); va_start (args, cell_renderer); gtk_tree_view_column_set_attributesv (tree_column, cell_renderer, args); @@ -1747,10 +1620,8 @@ gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column, g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (spacing >= 0); - if (tree_column->spacing == spacing) - return; - - tree_column->spacing = spacing; + gtk_cell_area_box_set_spacing (GTK_CELL_AREA_BOX (tree_column->cell_area), + spacing); if (tree_column->tree_view) _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); } @@ -1768,7 +1639,7 @@ gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return tree_column->spacing; + return gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (tree_column->cell_area)); } /* Options for manipulating the columns */ @@ -1933,6 +1804,16 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column) return tree_column->width; } +void +_gtk_tree_view_column_set_width (GtkTreeViewColumn *tree_column, + int width) +{ + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + + gtk_cell_area_context_allocate (tree_column->cell_area_context, width, -1); + tree_column->width = width; +} + /** * gtk_tree_view_column_set_fixed_width: * @tree_column: A #GtkTreeViewColumn. @@ -2568,48 +2449,13 @@ gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column, gboolean is_expander, gboolean is_expanded) { - GSList *list; - GValue value = { 0, }; - GList *cell_list; - gboolean cell_is_expander, cell_is_expanded; - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); if (tree_model == NULL) return; - for (cell_list = tree_column->cell_list; cell_list; cell_list = cell_list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) cell_list->data; - GObject *cell = (GObject *) info->cell; - - list = info->attributes; - - g_object_freeze_notify (cell); - - g_object_get (cell, "is-expander", &cell_is_expander, NULL); - if (cell_is_expander != is_expander) - g_object_set (cell, "is-expander", is_expander, NULL); - - g_object_get (cell, "is-expanded", &cell_is_expanded, NULL); - if (cell_is_expanded != is_expanded) - g_object_set (cell, "is-expanded", is_expanded, NULL); - - while (list && list->next) - { - gtk_tree_model_get_value (tree_model, iter, - GPOINTER_TO_INT (list->next->data), - &value); - g_object_set_property (cell, (gchar *) list->data, &value); - g_value_unset (&value); - list = list->next->next; - } - - if (info->func) - (* info->func) (tree_column, info->cell, tree_model, iter, info->func_data); - g_object_thaw_notify (G_OBJECT (info->cell)); - } - + gtk_cell_area_apply_attributes (tree_column->cell_area, tree_model, iter, + is_expander, is_expanded); } /** @@ -2632,11 +2478,6 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gint *width, gint *height) { - GtkRequisition min_size; - GList *list; - gboolean first_cell = TRUE; - gint focus_line_width; - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); if (height) @@ -2644,516 +2485,19 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, if (width) * width = 0; - gtk_widget_style_get (tree_column->tree_view, "focus-line-width", &focus_line_width, NULL); - - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - gboolean visible; - g_object_get (info->cell, "visible", &visible, NULL); + gtk_cell_area_context_sum_preferred_width (tree_column->cell_area_context); - if (visible == FALSE) - continue; - - if (first_cell == FALSE && width) - *width += tree_column->spacing; - - gtk_cell_renderer_get_preferred_size (info->cell, - GTK_WIDGET (tree_column->tree_view), - &min_size, NULL); - - if (height) - * height = MAX (*height, min_size.height + focus_line_width * 2); - info->requested_width = MAX (info->requested_width, min_size.width + focus_line_width * 2); - if (width) - * width += info->requested_width; - first_cell = FALSE; - } -} - -/* rendering, event handling and rendering focus are somewhat complicated, and - * quite a bit of code. Rather than duplicate them, we put them together to - * keep the code in one place. - * - * To better understand what's going on, check out - * docs/tree-column-sizing.png - */ -enum { - CELL_ACTION_RENDER, - CELL_ACTION_FOCUS, - CELL_ACTION_EVENT -}; - -static gboolean -gtk_tree_view_column_cell_process_action (GtkTreeViewColumn *tree_column, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - guint flags, - gint action, - GdkRectangle *focus_rectangle, /* FOCUS */ - GtkCellEditable **editable_widget, /* EVENT */ - GdkEvent *event, /* EVENT */ - gchar *path_string) /* EVENT */ -{ - GList *list; - GdkRectangle real_cell_area; - GdkRectangle real_background_area; - gint depth = 0; - gint expand_cell_count = 0; - gint full_requested_width = 0; - gint extra_space; - gint min_x, min_y, max_x, max_y; - gint focus_line_width; - gint special_cells; - gint horizontal_separator; - gboolean cursor_row = FALSE; - gboolean first_cell = TRUE; - gboolean rtl; - /* If we have rtl text, we need to transform our areas */ - GdkRectangle rtl_cell_area; - GdkRectangle rtl_background_area; - - min_x = G_MAXINT; - min_y = G_MAXINT; - max_x = 0; - max_y = 0; - - rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_column->tree_view)) == GTK_TEXT_DIR_RTL); - special_cells = _gtk_tree_view_column_count_special_cells (tree_column); - - if (special_cells > 1 && action == CELL_ACTION_FOCUS) - { - GtkTreeViewColumnCellInfo *info = NULL; - gboolean found_has_focus = FALSE; - - /* one should have focus */ - for (list = tree_column->cell_list; list; list = list->next) - { - info = list->data; - if (info && info->has_focus) - { - found_has_focus = TRUE; - break; - } - } - - if (!found_has_focus) - { - /* give the first one focus */ - info = gtk_tree_view_column_cell_first (tree_column)->data; - info->has_focus = TRUE; - } - } - - cursor_row = flags & GTK_CELL_RENDERER_FOCUSED; - - gtk_widget_style_get (GTK_WIDGET (tree_column->tree_view), - "focus-line-width", &focus_line_width, - "horizontal-separator", &horizontal_separator, - NULL); - - real_cell_area = *cell_area; - real_background_area = *background_area; - - - real_cell_area.x += focus_line_width; - real_cell_area.y += focus_line_width; - real_cell_area.height -= 2 * focus_line_width; - - if (rtl) - depth = real_background_area.width - real_cell_area.width; - else - depth = real_cell_area.x - real_background_area.x; - - /* Find out how much extra space we have to allocate */ - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *)list->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - if (info->expand == TRUE) - expand_cell_count ++; - full_requested_width += info->requested_width; - - if (!first_cell) - full_requested_width += tree_column->spacing; - - first_cell = FALSE; - } - - extra_space = cell_area->width - full_requested_width; - if (extra_space < 0) - extra_space = 0; - else if (extra_space > 0 && expand_cell_count > 0) - extra_space /= expand_cell_count; - - /* iterate list for GTK_PACK_START cells */ - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - - if (info->pack == GTK_PACK_END) - continue; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - if ((info->has_focus || special_cells == 1) && cursor_row) - flags |= GTK_CELL_RENDERER_FOCUSED; - else - flags &= ~GTK_CELL_RENDERER_FOCUSED; - - info->real_width = info->requested_width + (info->expand?extra_space:0); - - /* We constrain ourselves to only the width available */ - if (real_cell_area.x - focus_line_width + info->real_width > cell_area->x + cell_area->width) - { - info->real_width = cell_area->x + cell_area->width - real_cell_area.x; - } - - if (real_cell_area.x > cell_area->x + cell_area->width) - break; - - real_cell_area.width = info->real_width; - real_cell_area.width -= 2 * focus_line_width; - - if (list->next) - { - real_background_area.width = info->real_width + depth; - } - else - { - /* fill the rest of background for the last cell */ - real_background_area.width = background_area->x + background_area->width - real_background_area.x; - } - - rtl_cell_area = real_cell_area; - rtl_background_area = real_background_area; - - if (rtl) - { - rtl_cell_area.x = cell_area->x + cell_area->width - (real_cell_area.x - cell_area->x) - real_cell_area.width; - rtl_background_area.x = background_area->x + background_area->width - (real_background_area.x - background_area->x) - real_background_area.width; - } - - /* RENDER */ - if (action == CELL_ACTION_RENDER) - { - gtk_cell_renderer_render (info->cell, - cr, - tree_column->tree_view, - &rtl_background_area, - &rtl_cell_area, - flags); - } - /* FOCUS */ - else if (action == CELL_ACTION_FOCUS) - { - gint x_offset, y_offset; - GtkRequisition min_size; - - gtk_cell_renderer_get_preferred_size (info->cell, + gtk_cell_area_get_preferred_width (tree_column->cell_area, + tree_column->cell_area_context, + tree_column->tree_view, + width, NULL); + gtk_cell_area_get_preferred_height_for_width (tree_column->cell_area, + tree_column->cell_area_context, tree_column->tree_view, - &min_size, NULL); + *width, + height, + NULL); - _gtk_cell_renderer_calc_offset (info->cell, &rtl_cell_area, - gtk_widget_get_direction (tree_column->tree_view), - min_size.width, min_size.height, - &x_offset, &y_offset); - - if (special_cells > 1) - { - if (info->has_focus) - { - min_x = rtl_cell_area.x + x_offset; - max_x = min_x + min_size.width; - min_y = rtl_cell_area.y + y_offset; - max_y = min_y + min_size.height; - } - } - else - { - if (min_x > (rtl_cell_area.x + x_offset)) - min_x = rtl_cell_area.x + x_offset; - if (max_x < rtl_cell_area.x + x_offset + min_size.width) - max_x = rtl_cell_area.x + x_offset + min_size.width; - if (min_y > (rtl_cell_area.y + y_offset)) - min_y = rtl_cell_area.y + y_offset; - if (max_y < rtl_cell_area.y + y_offset + min_size.height) - max_y = rtl_cell_area.y + y_offset + min_size.height; - } - } - /* EVENT */ - else if (action == CELL_ACTION_EVENT) - { - gboolean try_event = FALSE; - - if (event) - { - if (special_cells == 1) - { - /* only 1 activatable cell -> whole column can activate */ - if (cell_area->x <= ((GdkEventButton *)event)->x && - cell_area->x + cell_area->width > ((GdkEventButton *)event)->x) - try_event = TRUE; - } - else if (rtl_cell_area.x <= ((GdkEventButton *)event)->x && - rtl_cell_area.x + rtl_cell_area.width > ((GdkEventButton *)event)->x) - /* only activate cell if the user clicked on an individual - * cell - */ - try_event = TRUE; - } - else if (special_cells > 1 && info->has_focus) - try_event = TRUE; - else if (special_cells == 1) - try_event = TRUE; - - if (try_event) - { - gboolean visible, mode; - - g_object_get (info->cell, - "visible", &visible, - "mode", &mode, - NULL); - if (visible && mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) - { - if (gtk_cell_renderer_activate (info->cell, - event, - tree_column->tree_view, - path_string, - &rtl_background_area, - &rtl_cell_area, - flags)) - { - flags &= ~GTK_CELL_RENDERER_FOCUSED; - return TRUE; - } - } - else if (visible && mode == GTK_CELL_RENDERER_MODE_EDITABLE) - { - *editable_widget = - gtk_cell_renderer_start_editing (info->cell, - event, - tree_column->tree_view, - path_string, - &rtl_background_area, - &rtl_cell_area, - flags); - - if (*editable_widget != NULL) - { - g_return_val_if_fail (GTK_IS_CELL_EDITABLE (*editable_widget), FALSE); - info->in_editing_mode = TRUE; - gtk_tree_view_column_focus_cell (tree_column, info->cell); - - flags &= ~GTK_CELL_RENDERER_FOCUSED; - - return TRUE; - } - } - } - } - - flags &= ~GTK_CELL_RENDERER_FOCUSED; - - real_cell_area.x += (real_cell_area.width + 2 * focus_line_width + tree_column->spacing); - real_background_area.x += real_background_area.width + tree_column->spacing; - - /* Only needed for first cell */ - depth = 0; - } - - /* iterate list for PACK_END cells */ - for (list = g_list_last (tree_column->cell_list); list; list = list->prev) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - - if (info->pack == GTK_PACK_START) - continue; - - if (!gtk_cell_renderer_get_visible(info->cell)) - continue; - - if ((info->has_focus || special_cells == 1) && cursor_row) - flags |= GTK_CELL_RENDERER_FOCUSED; - else - flags &= ~GTK_CELL_RENDERER_FOCUSED; - - info->real_width = info->requested_width + (info->expand?extra_space:0); - - /* We constrain ourselves to only the width available */ - if (real_cell_area.x - focus_line_width + info->real_width > cell_area->x + cell_area->width) - { - info->real_width = cell_area->x + cell_area->width - real_cell_area.x; - } - - if (real_cell_area.x > cell_area->x + cell_area->width) - break; - - real_cell_area.width = info->real_width; - real_cell_area.width -= 2 * focus_line_width; - real_background_area.width = info->real_width + depth; - - rtl_cell_area = real_cell_area; - rtl_background_area = real_background_area; - if (rtl) - { - rtl_cell_area.x = cell_area->x + cell_area->width - (real_cell_area.x - cell_area->x) - real_cell_area.width; - rtl_background_area.x = background_area->x + background_area->width - (real_background_area.x - background_area->x) - real_background_area.width; - } - - /* RENDER */ - if (action == CELL_ACTION_RENDER) - { - gtk_cell_renderer_render (info->cell, - cr, - tree_column->tree_view, - &rtl_background_area, - &rtl_cell_area, - flags); - } - /* FOCUS */ - else if (action == CELL_ACTION_FOCUS) - { - gint x_offset, y_offset; - GtkRequisition min_size; - - gtk_cell_renderer_get_preferred_size (info->cell, - tree_column->tree_view, - &min_size, NULL); - - _gtk_cell_renderer_calc_offset (info->cell, &rtl_cell_area, - gtk_widget_get_direction (tree_column->tree_view), - min_size.width, min_size.height, - &x_offset, &y_offset); - - if (special_cells > 1) - { - if (info->has_focus) - { - min_x = rtl_cell_area.x + x_offset; - max_x = min_x + min_size.width; - min_y = rtl_cell_area.y + y_offset; - max_y = min_y + min_size.height; - } - } - else - { - if (min_x > (rtl_cell_area.x + x_offset)) - min_x = rtl_cell_area.x + x_offset; - if (max_x < rtl_cell_area.x + x_offset + min_size.width) - max_x = rtl_cell_area.x + x_offset + min_size.width; - if (min_y > (rtl_cell_area.y + y_offset)) - min_y = rtl_cell_area.y + y_offset; - if (max_y < rtl_cell_area.y + y_offset + min_size.height) - max_y = rtl_cell_area.y + y_offset + min_size.height; - } - } - /* EVENT */ - else if (action == CELL_ACTION_EVENT) - { - gboolean try_event = FALSE; - - if (event) - { - if (special_cells == 1) - { - /* only 1 activatable cell -> whole column can activate */ - if (cell_area->x <= ((GdkEventButton *)event)->x && - cell_area->x + cell_area->width > ((GdkEventButton *)event)->x) - try_event = TRUE; - } - else if (rtl_cell_area.x <= ((GdkEventButton *)event)->x && - rtl_cell_area.x + rtl_cell_area.width > ((GdkEventButton *)event)->x) - /* only activate cell if the user clicked on an individual - * cell - */ - try_event = TRUE; - } - else if (special_cells > 1 && info->has_focus) - try_event = TRUE; - else if (special_cells == 1) - try_event = TRUE; - - if (try_event) - { - gboolean visible, mode; - - g_object_get (info->cell, - "visible", &visible, - "mode", &mode, - NULL); - if (visible && mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) - { - if (gtk_cell_renderer_activate (info->cell, - event, - tree_column->tree_view, - path_string, - &rtl_background_area, - &rtl_cell_area, - flags)) - { - flags &= ~GTK_CELL_RENDERER_FOCUSED; - return TRUE; - } - } - else if (visible && mode == GTK_CELL_RENDERER_MODE_EDITABLE) - { - *editable_widget = - gtk_cell_renderer_start_editing (info->cell, - event, - tree_column->tree_view, - path_string, - &rtl_background_area, - &rtl_cell_area, - flags); - - if (*editable_widget != NULL) - { - g_return_val_if_fail (GTK_IS_CELL_EDITABLE (*editable_widget), FALSE); - info->in_editing_mode = TRUE; - gtk_tree_view_column_focus_cell (tree_column, info->cell); - - flags &= ~GTK_CELL_RENDERER_FOCUSED; - return TRUE; - } - } - } - } - - flags &= ~GTK_CELL_RENDERER_FOCUSED; - - real_cell_area.x += (real_cell_area.width + 2 * focus_line_width + tree_column->spacing); - real_background_area.x += (real_background_area.width + tree_column->spacing); - - /* Only needed for first cell */ - depth = 0; - } - - /* fill focus_rectangle when required */ - if (action == CELL_ACTION_FOCUS) - { - if (min_x >= max_x || min_y >= max_y) - { - *focus_rectangle = *cell_area; - /* don't change the focus_rectangle, just draw it nicely inside - * the cell area */ - } - else - { - focus_rectangle->x = min_x - focus_line_width; - focus_rectangle->y = min_y - focus_line_width; - focus_rectangle->width = (max_x - min_x) + 2 * focus_line_width; - focus_rectangle->height = (max_y - min_y) + 2 * focus_line_width; - } - } - - return FALSE; } /** @@ -3172,7 +2516,8 @@ _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, cairo_t *cr, const GdkRectangle *background_area, const GdkRectangle *cell_area, - guint flags) + guint flags, + gboolean draw_focus) { g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (cr != NULL); @@ -3181,13 +2526,10 @@ _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, cairo_save (cr); - gtk_tree_view_column_cell_process_action (tree_column, - cr, - background_area, - cell_area, - flags, - CELL_ACTION_RENDER, - NULL, NULL, NULL, NULL); + gtk_cell_area_render (tree_column->cell_area, tree_column->cell_area_context, + tree_column->tree_view, cr, + background_area, cell_area, flags, + draw_focus); cairo_restore (cr); } @@ -3203,16 +2545,16 @@ _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return gtk_tree_view_column_cell_process_action (tree_column, - NULL, - background_area, - cell_area, - flags, - CELL_ACTION_EVENT, - NULL, - editable_widget, - event, - path_string); + /* FIXME: Should we pass background area here as well? + * What will happen to the path_string and editable widget + * variables? + */ + return gtk_cell_area_event (tree_column->cell_area, + tree_column->cell_area_context, + tree_column->tree_view, + event, + cell_area, + flags); } void @@ -3221,6 +2563,8 @@ _gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, const GdkRectangle *cell_area, GdkRectangle *focus_area) { + /* FIXME */ +#if 0 gtk_tree_view_column_cell_process_action (tree_column, NULL, background_area, @@ -3229,314 +2573,57 @@ _gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, CELL_ACTION_FOCUS, focus_area, NULL, NULL, NULL); +#endif } -/* cell list manipulation */ -static GList * -gtk_tree_view_column_cell_first (GtkTreeViewColumn *tree_column) -{ - GList *list = tree_column->cell_list; - - /* first GTK_PACK_START cell we find */ - for ( ; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = list->data; - if (info->pack == GTK_PACK_START) - return list; - } - - /* hmm, else the *last* GTK_PACK_END cell */ - list = g_list_last (tree_column->cell_list); - - for ( ; list; list = list->prev) - { - GtkTreeViewColumnCellInfo *info = list->data; - if (info->pack == GTK_PACK_END) - return list; - } - - return NULL; -} - -static GList * -gtk_tree_view_column_cell_last (GtkTreeViewColumn *tree_column) -{ - GList *list = tree_column->cell_list; - - /* *first* GTK_PACK_END cell we find */ - for ( ; list ; list = list->next) - { - GtkTreeViewColumnCellInfo *info = list->data; - if (info->pack == GTK_PACK_END) - return list; - } - - /* hmm, else the last GTK_PACK_START cell */ - list = g_list_last (tree_column->cell_list); - - for ( ; list; list = list->prev) - { - GtkTreeViewColumnCellInfo *info = list->data; - if (info->pack == GTK_PACK_START) - return list; - } - - return NULL; -} - -static GList * -gtk_tree_view_column_cell_next (GtkTreeViewColumn *tree_column, - GList *current) -{ - GList *list; - GtkTreeViewColumnCellInfo *info = current->data; - - if (info->pack == GTK_PACK_START) - { - for (list = current->next; list; list = list->next) - { - GtkTreeViewColumnCellInfo *inf = list->data; - if (inf->pack == GTK_PACK_START) - return list; - } - - /* out of GTK_PACK_START cells, get *last* GTK_PACK_END one */ - list = g_list_last (tree_column->cell_list); - for (; list; list = list->prev) - { - GtkTreeViewColumnCellInfo *inf = list->data; - if (inf->pack == GTK_PACK_END) - return list; - } - } - - for (list = current->prev; list; list = list->prev) - { - GtkTreeViewColumnCellInfo *inf = list->data; - if (inf->pack == GTK_PACK_END) - return list; - } - - return NULL; -} - -static GList * -gtk_tree_view_column_cell_prev (GtkTreeViewColumn *tree_column, - GList *current) -{ - GList *list; - GtkTreeViewColumnCellInfo *info = current->data; - - if (info->pack == GTK_PACK_END) - { - for (list = current->next; list; list = list->next) - { - GtkTreeViewColumnCellInfo *inf = list->data; - if (inf->pack == GTK_PACK_END) - return list; - } - - /* out of GTK_PACK_END, get last GTK_PACK_START one */ - list = g_list_last (tree_column->cell_list); - for ( ; list; list = list->prev) - { - GtkTreeViewColumnCellInfo *inf = list->data; - if (inf->pack == GTK_PACK_START) - return list; - } - } - - for (list = current->prev; list; list = list->prev) - { - GtkTreeViewColumnCellInfo *inf = list->data; - if (inf->pack == GTK_PACK_START) - return list; - } - - return NULL; -} - gboolean _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, - gint direction, + gint count, gboolean left, gboolean right) { - gint count; gboolean rtl; + GtkDirectionType direction = 0; - count = _gtk_tree_view_column_count_special_cells (tree_column); rtl = gtk_widget_get_direction (GTK_WIDGET (tree_column->tree_view)) == GTK_TEXT_DIR_RTL; + switch (count) + { + case -1: + direction = GTK_DIR_LEFT; + break; + + case 1: + direction = GTK_DIR_RIGHT; + break; + } + /* if we are the current focus column and have multiple editable cells, * try to select the next one, else move the focus to the next column */ if (GTK_TREE_VIEW (tree_column->tree_view)->priv->focus_column == tree_column) { - if (count > 1) + if (gtk_cell_area_focus (tree_column->cell_area, direction)) + /* Focus stays in this column, so we are done */ + return TRUE; + + /* FIXME: RTL support for the following: */ + if (count == -1 && !left) { - GList *next, *prev; - GList *list = tree_column->cell_list; - GtkTreeViewColumnCellInfo *info = NULL; + direction = GTK_DIR_RIGHT; + gtk_cell_area_focus (tree_column->cell_area, direction); + } + else if (count == 1 && !right) + { + direction = GTK_DIR_LEFT; + gtk_cell_area_focus (tree_column->cell_area, direction); + } - /* find current focussed cell */ - for ( ; list; list = list->next) - { - info = list->data; - if (info->has_focus) - break; - } - - /* not a focussed cell in the focus column? */ - if (!list || !info || !info->has_focus) - return FALSE; - - if (rtl) - { - prev = gtk_tree_view_column_cell_next (tree_column, list); - next = gtk_tree_view_column_cell_prev (tree_column, list); - } - else - { - next = gtk_tree_view_column_cell_next (tree_column, list); - prev = gtk_tree_view_column_cell_prev (tree_column, list); - } - - info->has_focus = FALSE; - if (direction > 0 && next) - { - info = next->data; - info->has_focus = TRUE; - return TRUE; - } - else if (direction > 0 && !next && !right) - { - /* keep focus on last cell */ - if (rtl) - info = gtk_tree_view_column_cell_first (tree_column)->data; - else - info = gtk_tree_view_column_cell_last (tree_column)->data; - - info->has_focus = TRUE; - return TRUE; - } - else if (direction < 0 && prev) - { - info = prev->data; - info->has_focus = TRUE; - return TRUE; - } - else if (direction < 0 && !prev && !left) - { - /* keep focus on first cell */ - if (rtl) - info = gtk_tree_view_column_cell_last (tree_column)->data; - else - info = gtk_tree_view_column_cell_first (tree_column)->data; - - info->has_focus = TRUE; - return TRUE; - } - } return FALSE; } - /* we get focus, if we have multiple editable cells, give the correct one - * focus - */ - if (count > 1) - { - GList *list = tree_column->cell_list; - - /* clear focus first */ - for ( ; list ; list = list->next) - { - GtkTreeViewColumnCellInfo *info = list->data; - if (info->has_focus) - info->has_focus = FALSE; - } - - list = NULL; - if (rtl) - { - if (direction > 0) - list = gtk_tree_view_column_cell_last (tree_column); - else if (direction < 0) - list = gtk_tree_view_column_cell_first (tree_column); - } - else - { - if (direction > 0) - list = gtk_tree_view_column_cell_first (tree_column); - else if (direction < 0) - list = gtk_tree_view_column_cell_last (tree_column); - } - - if (list) - ((GtkTreeViewColumnCellInfo *) list->data)->has_focus = TRUE; - } - - return TRUE; -} - -void -_gtk_tree_view_column_cell_draw_focus (GtkTreeViewColumn *tree_column, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - guint flags) -{ - gint focus_line_width; - GtkStateType cell_state; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - g_return_if_fail (cr != NULL); - - gtk_widget_style_get (GTK_WIDGET (tree_column->tree_view), - "focus-line-width", &focus_line_width, NULL); - if (tree_column->editable_widget) - { - /* This function is only called on the editable row when editing. - */ -#if 0 - gtk_paint_focus (tree_column->tree_view->style, - window, - gtk_widget_get_state (tree_column->tree_view), - NULL, - tree_column->tree_view, - "treeview", - cell_area->x - focus_line_width, - cell_area->y - focus_line_width, - cell_area->width + 2 * focus_line_width, - cell_area->height + 2 * focus_line_width); -#endif - } - else - { - GdkRectangle focus_rectangle; - gtk_tree_view_column_cell_process_action (tree_column, - cr, - background_area, - cell_area, - flags, - CELL_ACTION_FOCUS, - &focus_rectangle, - NULL, NULL, NULL); - - cell_state = flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : - (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : - (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); - gtk_paint_focus (gtk_widget_get_style (tree_column->tree_view), - cr, - cell_state, - tree_column->tree_view, - "treeview", - focus_rectangle.x, - focus_rectangle.y, - focus_rectangle.width, - focus_rectangle.height); - } + return gtk_cell_area_focus (tree_column->cell_area, direction); } /** @@ -3553,17 +2640,22 @@ gboolean gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column) { GList *list; + GList *cells; g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - for (list = tree_column->cell_list; list; list = list->next) + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tree_column->cell_area)); + for (list = cells; list; list = list->next) { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - - if (gtk_cell_renderer_get_visible (info->cell)) - return TRUE; + if (gtk_cell_renderer_get_visible (list->data)) + { + g_list_free (cells); + return TRUE; + } } + g_list_free (cells); + return FALSE; } @@ -3581,53 +2673,18 @@ void gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell) { - GList *list; - gboolean found_cell = FALSE; - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - if (_gtk_tree_view_column_count_special_cells (tree_column) < 2) - return; - - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = list->data; - - if (info->cell == cell) - { - info->has_focus = TRUE; - found_cell = TRUE; - break; - } - } - - if (found_cell) - { - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = list->data; - - if (info->cell != cell) - info->has_focus = FALSE; - } - - /* FIXME: redraw? */ - } + gtk_cell_area_set_focus_cell (tree_column->cell_area, cell); } void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler) { - GList *list; + gtk_cell_area_context_reset (tree_column->cell_area_context); - for (list = tree_column->cell_list; list; list = list->next) - { - GtkTreeViewColumnCellInfo *info = (GtkTreeViewColumnCellInfo *) list->data; - - info->requested_width = 0; - } tree_column->dirty = TRUE; tree_column->requested_width = -1; tree_column->width = 0; @@ -3643,73 +2700,6 @@ _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, } } -void -_gtk_tree_view_column_start_editing (GtkTreeViewColumn *tree_column, - GtkCellEditable *cell_editable) -{ - g_return_if_fail (tree_column->editable_widget == NULL); - - tree_column->editable_widget = cell_editable; -} - -void -_gtk_tree_view_column_stop_editing (GtkTreeViewColumn *tree_column) -{ - GList *list; - - g_return_if_fail (tree_column->editable_widget != NULL); - - tree_column->editable_widget = NULL; - for (list = tree_column->cell_list; list; list = list->next) - ((GtkTreeViewColumnCellInfo *)list->data)->in_editing_mode = FALSE; -} - -void -_gtk_tree_view_column_get_neighbor_sizes (GtkTreeViewColumn *column, - GtkCellRenderer *cell, - gint *left, - gint *right) -{ - GList *list; - GtkTreeViewColumnCellInfo *info; - gint l, r; - gboolean rtl; - - l = r = 0; - - list = gtk_tree_view_column_cell_first (column); - - while (list) - { - info = (GtkTreeViewColumnCellInfo *)list->data; - - list = gtk_tree_view_column_cell_next (column, list); - - if (info->cell == cell) - break; - - if (gtk_cell_renderer_get_visible (info->cell)) - l += info->real_width + column->spacing; - } - - while (list) - { - info = (GtkTreeViewColumnCellInfo *)list->data; - - list = gtk_tree_view_column_cell_next (column, list); - - if (gtk_cell_renderer_get_visible (info->cell)) - r += info->real_width + column->spacing; - } - - rtl = (gtk_widget_get_direction (GTK_WIDGET (column->tree_view)) == GTK_TEXT_DIR_RTL); - if (left) - *left = rtl ? r : l; - - if (right) - *right = rtl ? l : r; -} - /** * gtk_tree_view_column_cell_get_position: * @tree_column: a #GtkTreeViewColumn @@ -3730,34 +2720,23 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, gint *start_pos, gint *width) { - GList *list; - gint current_x = 0; - gboolean found_cell = FALSE; - GtkTreeViewColumnCellInfo *cellinfo = NULL; + GdkRectangle zero_cell_area = { 0, }; + GdkRectangle allocation; - list = gtk_tree_view_column_cell_first (tree_column); - for (; list; list = gtk_tree_view_column_cell_next (tree_column, list)) - { - cellinfo = list->data; - if (cellinfo->cell == cell_renderer) - { - found_cell = TRUE; - break; - } + /* FIXME: Could use a boolean return value for invalid cells */ + gtk_cell_area_get_cell_allocation (tree_column->cell_area, + tree_column->cell_area_context, + tree_column->tree_view, + cell_renderer, + &zero_cell_area, + &allocation); - if (gtk_cell_renderer_get_visible (cellinfo->cell)) - current_x += cellinfo->real_width; - } + if (start_pos) + *start_pos = allocation.x; + if (width) + *width = allocation.width; - if (found_cell) - { - if (start_pos) - *start_pos = current_x; - if (width) - *width = cellinfo->real_width; - } - - return found_cell; + return TRUE; } /** diff --git a/gtk/gtktreeviewcolumn.h b/gtk/gtktreeviewcolumn.h index 6c0b3a1e88..f86f75a216 100644 --- a/gtk/gtktreeviewcolumn.h +++ b/gtk/gtktreeviewcolumn.h @@ -27,6 +27,7 @@ #include #include #include +#include G_BEGIN_DECLS @@ -91,10 +92,8 @@ struct _GtkTreeViewColumn GtkWidget *GSEAL (arrow); GtkWidget *GSEAL (alignment); GdkWindow *GSEAL (window); - GtkCellEditable *GSEAL (editable_widget); gfloat GSEAL (xalign); gulong GSEAL (property_changed_signal); - gint GSEAL (spacing); /* Sizing fields */ /* see gtk+/doc/tree-column-sizing.txt for more information on them */ @@ -112,7 +111,6 @@ struct _GtkTreeViewColumn gint GSEAL (drag_y); gchar *GSEAL (title); - GList *GSEAL (cell_list); /* Sorting */ gulong GSEAL (sort_clicked_signal); @@ -120,6 +118,13 @@ struct _GtkTreeViewColumn gint GSEAL (sort_column_id); GtkSortType GSEAL (sort_order); + /* Cell area */ + GtkCellArea *cell_area; + GtkCellAreaContext *cell_area_context; + + gulong add_editable_signal; + gulong remove_editable_signal; + /* Flags */ guint GSEAL (visible) : 1; guint GSEAL (resizable) : 1; From 7527350d69b997b78903aca67baa050a1e3c69a7 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Nov 2010 20:39:51 +0100 Subject: [PATCH 0287/1463] validate_row no longer uses focus-line-width --- gtk/gtktreeview.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index c1adfb42b4..2e7dc3b3be 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -5780,7 +5780,6 @@ validate_row (GtkTreeView *tree_view, gint height = 0; gint horizontal_separator; gint vertical_separator; - gint focus_line_width; gint depth = gtk_tree_path_get_depth (path); gboolean retval = FALSE; gboolean is_separator = FALSE; @@ -5799,7 +5798,6 @@ validate_row (GtkTreeView *tree_view, gtk_widget_style_get (GTK_WIDGET (tree_view), "focus-padding", &focus_pad, - "focus-line-width", &focus_line_width, "horizontal-separator", &horizontal_separator, "vertical-separator", &vertical_separator, "grid-line-width", &grid_line_width, From 6568b59e8a18d5584cbf8785299429ef945fb171 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Nov 2010 20:40:59 +0100 Subject: [PATCH 0288/1463] Remove unused retrieval of focus-line-width --- gtk/gtktreeviewcolumn.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 53d4efe72f..c0c211949d 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1276,17 +1276,11 @@ void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view) { - int focus_line_width; - g_assert (column->tree_view == NULL); column->tree_view = GTK_WIDGET (tree_view); gtk_tree_view_column_create_button (column); - gtk_widget_style_get (GTK_WIDGET (tree_view), - "focus-line-width", &focus_line_width, - NULL); - column->add_editable_signal = g_signal_connect (column->cell_area, "add-editable", G_CALLBACK (gtk_tree_view_column_add_editable_callback), From cbbff6c5e635d66f04e6ace4239296e24067bb93 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Nov 2010 21:02:36 +0100 Subject: [PATCH 0289/1463] Add temporary hack to get the row heights right --- gtk/gtktreeviewcolumn.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index c0c211949d..7f07e4d8df 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2472,6 +2472,8 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gint *width, gint *height) { + int focus_line_width; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); if (height) @@ -2479,6 +2481,18 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, if (width) * width = 0; + /* FIXME: This is a temporary hack to get things to allocate mostly right. + * + * We will add twice the focus-line-width to the for-width + * parameter below. If we do not do this, the height returned is the + * height for two lines of text instead of one. It feels like some lines + * get less width than expected (due to subtraction of focus_line_width?) + * and will unnecessarily wrap. + */ + gtk_widget_style_get (tree_column->tree_view, + "focus-line-width", &focus_line_width, + NULL); + gtk_cell_area_context_sum_preferred_width (tree_column->cell_area_context); gtk_cell_area_get_preferred_width (tree_column->cell_area, @@ -2488,7 +2502,7 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gtk_cell_area_get_preferred_height_for_width (tree_column->cell_area, tree_column->cell_area_context, tree_column->tree_view, - *width, + *width + focus_line_width * 2, height, NULL); From 217f6883769a954d2193f6931051ceaffee46264 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 28 Nov 2010 21:14:33 +0100 Subject: [PATCH 0290/1463] Remove obsolete code line --- gtk/gtktreeviewcolumn.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 7f07e4d8df..e4c84151f0 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -369,7 +369,6 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) tree_column->button = NULL; tree_column->xalign = 0.0; tree_column->width = 0; -// tree_column->spacing = 0; tree_column->requested_width = -1; tree_column->min_width = -1; tree_column->max_width = -1; From c1cbc8790e84f7cc455e2cbf5e2d5b7ec07abbbd Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 28 Nov 2010 18:52:08 +0900 Subject: [PATCH 0291/1463] Removed gtk_cell_area_context_sum_preferred_width/height apis. Turns out theres not much reason to do this in a separate api, now we just sum up the sizes of aligned cell groups in GtkCellAreaContextBox when pushing the group size. --- gtk/gtkcellareaboxcontext.c | 171 ++++++++++++++++-------------------- gtk/gtkcellareacontext.c | 38 +------- gtk/gtkcellareacontext.h | 4 - tests/cellareascaffold.c | 5 -- 4 files changed, 80 insertions(+), 138 deletions(-) diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index d4755499a7..463be8f2d5 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -32,13 +32,13 @@ static void gtk_cell_area_box_context_finalize (GObject /* GtkCellAreaContextClass */ static void gtk_cell_area_box_context_reset (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context); static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, gint width, gint height); /* Internal functions */ +static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, + GtkOrientation orientation); static void free_cache_array (GArray *array); static GArray *group_array_new (GtkCellAreaBoxContext *context); static GArray *get_array (GtkCellAreaBoxContext *context, @@ -190,10 +190,7 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_box_context_finalize; - context_class->reset = gtk_cell_area_box_context_reset; - context_class->sum_preferred_width = gtk_cell_area_box_context_sum_preferred_width; - context_class->sum_preferred_height = gtk_cell_area_box_context_sum_preferred_height; - + context_class->reset = gtk_cell_area_box_context_reset; context_class->allocate = gtk_cell_area_box_context_allocate; g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxContextPrivate)); @@ -256,90 +253,6 @@ gtk_cell_area_box_context_reset (GtkCellAreaContext *context) (gtk_cell_area_box_context_parent_class)->reset (context); } -static void -gtk_cell_area_box_context_sum_preferred_width (GtkCellAreaContext *context) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; - - area = gtk_cell_area_context_get_area (context); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - for (i = 0; i < priv->base_widths->len; i++) - { - CachedSize *size = &g_array_index (priv->base_widths, CachedSize, i); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } - else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } - } - - gtk_cell_area_context_push_preferred_width (context, min_size, nat_size); -} - -static void -gtk_cell_area_box_context_sum_preferred_height (GtkCellAreaContext *context) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing, i; - gint min_size = 0, nat_size = 0; - - area = gtk_cell_area_context_get_area (context); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - - for (i = 0; i < priv->base_heights->len; i++) - { - CachedSize *size = &g_array_index (priv->base_heights, CachedSize, i); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } - else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } - } - - gtk_cell_area_context_push_preferred_height (context, min_size, nat_size); -} - static GtkRequestedSize * gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, GtkOrientation orientation, @@ -487,6 +400,52 @@ gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate (context, width, height); } +static void +gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, + GtkOrientation orientation) +{ + GtkCellAreaBoxContextPrivate *priv = context->priv; + GtkCellArea *area; + GtkOrientation box_orientation; + GArray *array; + gint spacing, i; + gint min_size = 0, nat_size = 0; + + area = gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); + spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + box_orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + array = get_array (context, orientation, -1); + + for (i = 0; i < array->len; i++) + { + CachedSize *size = &g_array_index (priv->base_widths, CachedSize, i); + + if (box_orientation == GTK_ORIENTATION_HORIZONTAL) + { + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } + else + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } + } + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_context_push_preferred_width (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); + else + gtk_cell_area_context_push_preferred_height (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); +} /************************************************************* * API * @@ -522,6 +481,7 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, { GtkCellAreaBoxContextPrivate *priv; CachedSize *size; + gboolean grew = FALSE; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); @@ -529,8 +489,19 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, g_return_if_fail (group_idx < priv->base_widths->len); size = &g_array_index (priv->base_widths, CachedSize, group_idx); - size->min_size = MAX (size->min_size, minimum_width); - size->nat_size = MAX (size->nat_size, natural_width); + if (minimum_width > size->min_size) + { + size->min_size = minimum_width; + grew = TRUE; + } + if (natural_width > size->nat_size) + { + size->nat_size = natural_width; + grew = TRUE; + } + + if (grew) + gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_HORIZONTAL); } void @@ -569,6 +540,7 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, { GtkCellAreaBoxContextPrivate *priv; CachedSize *size; + gboolean grew = FALSE; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); @@ -576,8 +548,19 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, g_return_if_fail (group_idx < priv->base_heights->len); size = &g_array_index (priv->base_heights, CachedSize, group_idx); - size->min_size = MAX (size->min_size, minimum_height); - size->nat_size = MAX (size->nat_size, natural_height); + if (minimum_height > size->min_size) + { + size->min_size = minimum_height; + grew = TRUE; + } + if (natural_height > size->nat_size) + { + size->nat_size = natural_height; + grew = TRUE; + } + + if (grew) + gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_VERTICAL); } void diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 0cf9357e4a..6b78d20829 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -94,10 +94,8 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) object_class->set_property = gtk_cell_area_context_set_property; /* GtkCellAreaContextClass */ - class->reset = gtk_cell_area_context_real_reset; - class->sum_preferred_width = NULL; - class->sum_preferred_height = NULL; - class->allocate = gtk_cell_area_context_real_allocate; + class->reset = gtk_cell_area_context_real_reset; + class->allocate = gtk_cell_area_context_real_allocate; g_object_class_install_property (object_class, PROP_CELL_AREA, @@ -278,44 +276,14 @@ gtk_cell_area_context_reset (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->reset (context); } -void -gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - if (class->sum_preferred_width) - class->sum_preferred_width (context); -} - -void -gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context) -{ - GtkCellAreaContextClass *class; - - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - if (class->sum_preferred_height) - class->sum_preferred_height (context); -} - void gtk_cell_area_context_allocate (GtkCellAreaContext *context, gint width, gint height) { - GtkCellAreaContextClass *class; - g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); - class = GTK_CELL_AREA_CONTEXT_GET_CLASS (context); - - class->allocate (context, width, height); + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->allocate (context, width, height); } void diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 4c45293d92..2338074a2d 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -53,8 +53,6 @@ struct _GtkCellAreaContextClass { GObjectClass parent_class; - void (* sum_preferred_width) (GtkCellAreaContext *context); - void (* sum_preferred_height) (GtkCellAreaContext *context); void (* allocate) (GtkCellAreaContext *context, gint width, gint height); @@ -71,8 +69,6 @@ GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; /* Main apis */ GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_width (GtkCellAreaContext *context); -void gtk_cell_area_context_sum_preferred_height (GtkCellAreaContext *context); void gtk_cell_area_context_allocate (GtkCellAreaContext *context, gint width, gint height); diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index a3409729c9..9115c3b16b 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -576,11 +576,6 @@ request_all_base (CellAreaScaffold *scaffold) valid = gtk_tree_model_iter_next (priv->model, &iter); } - if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_context_sum_preferred_width (priv->context); - else - gtk_cell_area_context_sum_preferred_height (priv->context); - g_signal_handler_unblock (priv->context, priv->size_changed_id); } From 9ee908140589968c069b75aa37fb0d3ef3fb954f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 10:54:07 +0900 Subject: [PATCH 0292/1463] Added initial detailed docs for GtkCellArea. --- gtk/gtkcellarea.c | 307 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 305 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index e68fb653df..f170786da7 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -21,6 +21,289 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtkcellarea + * @Short_Description: An abstract class for laying out #GtkCellRenderers + * @Title: GtkCellArea + * + * The #GtkCellArea is an abstract class for laying out #GtkCellRenderers + * onto a given area of a #GtkWidget. + * + * The work of rendering #GtkCellRenderers can be very complicated; it involves + * requesting size for cells, driving keyboard focus from cell to cell, rendering + * the actual cells, painting the focus onto the currently focused cell and finally + * activating cells which are %GTK_CELL_RENDERER_MODE_ACTIVATABLE and editing cells + * which are %GTK_CELL_RENDERER_MODE_EDITABLE. The work is even more complex since + * a cell renderer as opposed to a widget, is used to interact with an arbitrary + * number of #GtkTreeModel rows instead of always displaying the same data. + * + * + * Requesting area sizes + * + * As outlined in GtkWidget's + * geometry management section, GTK+ uses a height-for-width + * geometry managemen system to compute the sizes of widgets and user + * interfaces. #GtkCellArea uses the same semantics to calculate the + * size of an area for an arbitrary number of #GtkTreeModel rows. + * + * When requesting the size of a #GtkCellArea one needs to calculate + * the size of a handful of rows, this will be done differently by + * different #GtkCellLayout widgets. For instance a #GtkTreeViewColumn + * always lines up the areas from top to bottom while a #GtkIconView + * on the other hand might enforce that areas maintain a fixed width + * and then wrap the area around, thus requesting height for more + * areas when allocated less width. + * + * It's also important for #GtkCellAreas to maintain some cell + * alignments with areas rendered for different rows so that + * a handful of rendered rows can allocate the same size for + * a said cell across rows (and also to make sure to request + * an appropriate size for the largest row after requesting + * a hand full of rows). For this reason the #GtkCellArea + * uses a #GtkCellAreaContext object to store the alignments + * and sizes along the way. + * + * In order to request the width of all the rows at the root level + * of a #GtkTreeModel one would do the following: + * + * Requesting the width of a hand full of GtkTreeModel rows. + * + * GtkTreeIter iter; + * gint minimum_width; + * gint natural_width; + * + * valid = gtk_tree_model_get_iter_first (model, &iter); + * while (valid) + * { + * gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE); + * gtk_cell_area_get_preferred_width (area, context, widget, NULL, NULL); + * + * valid = gtk_tree_model_iter_next (model, &iter); + * } + * gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width); + * + * + * Note that in this example it's not important to observe the returned minimum and + * natural width of the area for each row unless the cell layouting object is actually + * interested in the widths of individual rows. The overall width is however stored + * in the accompanying #GtkCellAreaContext object and can be consulted at any time. + * + * This can be useful since #GtkCellLayout widgets usually have to support requesting + * and rendering rows in treemodels with an exceedingly large amount of rows. The + * #GtkCellLayout widget in that case would calculate the required width of the rows + * in an idle or timeout source (see g_timeout_add()) and when the widget is requested + * its actual width in #GtkWidgetClass.get_preferred_width() it can simply consult the + * width accumulated so far in the #GtkCellAreaContext object. + * + * A simple example where rows are rendered from top to bottom and take up the full + * width of the layouting widget would look like: + * + * Requesting the width of a hand full of GtkTreeModel rows. + * + * static void + * foo_get_preferred_width (GtkWidget *widget, + * gint *minimum_size, + * gint *natural_size) + * { + * Foo *foo = FOO (widget); + * FooPrivate *priv = foo->priv; + * + * foo_ensure_at_least_one_handfull_of_rows_have_been_requested (foo); + * + * gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); + * } + * + * + * + * In the above example the Foo widget has to make sure that some row sizes have + * been calculated (the amount of rows that Foo judged was appropriate to request + * space for in a single timeout iteration) before simply returning the amount + * of space required by the area via the #GtkCellAreaContext. + * + * Requesting the height for width (or width for height) of an area is a similar + * task except in this case the #GtkCellAreaContext does not store the data (actually + * it does not know how much space the layouting widget plans to allocate it for + * every row, it's up to the layouting widget to render each row of data with + * the appropriate height and width which was requested by the #GtkCellArea). + * + * In order to request the height for width of all the rows at the root level + * of a #GtkTreeModel one would do the following: + * + * Requesting the height for width of a hand full of GtkTreeModel rows. + * + * GtkTreeIter iter; + * gint minimum_height; + * gint natural_height; + * gint full_minimum_height = 0; + * gint full_natural_height = 0; + * + * valid = gtk_tree_model_get_iter_first (model, &iter); + * while (valid) + * { + * gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE); + * gtk_cell_area_get_preferred_height_for_width (area, context, widget, + * width, &minimum_height, &natural_height); + * + * if (width_is_for_allocation) + * cache_row_height (&iter, minimum_height, natural_height); + * + * full_minimum_height += minimum_height; + * full_natural_height += natural_height; + * + * valid = gtk_tree_model_iter_next (model, &iter); + * } + * + * + * + * Note that in the above example we would need to cache the heights returned for each + * treemodel row so that we would know what sizes to render the areas for each row. However + * we would only want to really cache the heights if the request is intended for the + * layouting widgets real allocation. + * + * In some cases the layouting widget is requested the height for an arbitrary for_width, + * this is a special case for layouting widgets who need to request size for tens of thousands + * of treemodel rows. For this case it's only important that the layouting widget calculate + * one reasonably sized chunk of rows and return that height synchronously. The reasoning here + * is that any layouting widget is at least capable of synchronously calculating enough + * height to fill the screen height (or scrolled window height) in response to a single call to + * #GtkWidgetClass.get_preferred_height_for_width(). Returning a perfect height for width that + * is larger than the screen area is inconsequential since after the layouting receives an + * allocation from a scrolled window it simply continues to drive the the scrollbar + * values while more and mode height is required for the row heights that are calculated + * in the background. + * + * + * + * Rendering Areas + * + * Once area sizes have been aquired at least for the rows in the visible area of the + * layouting widget they can be rendered at #GtkWidgetClass.draw() time. + * + * A crued example of how to render all the rows at the root level runs as follows: + * + * Requesting the width of a hand full of GtkTreeModel rows. + * + * GtkAllocation allocation; + * GdkRectangle cell_area = { 0, }; + * GtkTreeIter iter; + * gint minimum_width; + * gint natural_width; + * + * gtk_widget_get_allocation (widget, &allocation); + * cell_area.width = allocation.width; + * + * valid = gtk_tree_model_get_iter_first (model, &iter); + * while (valid) + * { + * cell_area.height = get_cached_height_for_row (&iter); + * + * gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE); + * gtk_cell_area_render (area, context, widget, cr, + * &cell_area, &cell_area, state_flags, FALSE); + * + * cell_area.y += cell_area.height; + * + * valid = gtk_tree_model_iter_next (model, &iter); + * } + * + * + * Note that the cached height in this example really depends on how the layouting + * widget works. The layouting widget might decide to give every row it's minimum + * or natural height or if the model content is expected to fit inside the layouting + * widget with not scrolled window it would make sense to calculate the allocation + * for each row at #GtkWidget.size_allocate() time using gtk_distribute_natural_allocation(). + * + * + * + * Handling Events and Driving Keyboard Focus + * + * Passing events to the area is as simple as handling events on any normal + * widget and then passing them to the gtk_cell_area_event() api as they come + * in. Usually #GtkCellArea is only interested in button events, however some + * customized derived areas can be implemented who are interested in handling + * other events. Handling an event can trigger the #GtkCellArea::focus-changed + * signal to fire as well as #GtkCellArea::add-editable in the case that + * an editable cell was clicked and needs to start editing. + * + * The #GtkCellArea drives keyboard focus from cell to cell in a way similar + * to #GtkWidget. For layouting widgets that support giving focus to cells it's + * important to remember to pass %GTK_CELL_RENDERER_FOCUSED to the area functions + * for the row that has focus and to tell the area to paint the focus at render + * time. + * + * Layouting widgets that accept focus on cells should implement the #GtkWidgetClass.focus() + * virtual method. The layouting widget is always responsible for knowing where + * #GtkTreeModel rows are rendered inside the widget, so at #GtkWidgetClass.focus() time + * the layouting widget should use the #GtkCellArea methods to navigate focus inside the + * area and then observe the GtkDirectionType to pass the focus to adjacent rows and + * areas. + * + * A basic example of how the #GtkWidgetClass.focus() virtual method should be implemented: + * + * Implementing keyboard focus navigation when displaying rows from top to bottom. + * + * static void + * foo_focus (GtkWidget *widget, + * GtkDirectionType direction) + * { + * Foo *foo = FOO (widget); + * FooPrivate *priv = foo->priv; + * gint focus_row; + * gboolean have_focus = FALSE; + * + * focus_row = priv->focus_row; + * + * if (!gtk_widget_has_focus (widget)) + * gtk_widget_grab_focus (widget); + * + * valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row); + * while (valid) + * { + * gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + * + * if (gtk_cell_area_focus (priv->area, direction)) + * { + * priv->focus_row = focus_row; + * have_focus = TRUE; + * break; + * } + * else + * { + * if (direction == GTK_DIR_RIGHT || + * direction == GTK_DIR_LEFT) + * break; + * else if (direction == GTK_DIR_UP || + * direction == GTK_DIR_TAB_BACKWARD) + * { + * if (focus_row == 0) + * break; + * else + * { + * focus_row--; + * valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); + * } + * } + * else + * { + * if (focus_row == last_row) + * break; + * else + * { + * focus_row++; + * valid = gtk_tree_model_iter_next (priv->model, &iter); + * } + * } + * } + * } + * return have_focus; + * } + * + * + * + * + * + */ + #include "config.h" #include @@ -275,7 +558,6 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->activate = gtk_cell_area_real_activate; /* Signals */ - /** * GtkCellArea::apply-attributes: * @area: the #GtkCellArea to apply the attributes to @@ -372,6 +654,11 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) G_TYPE_STRING); /* Properties */ + /** + * GtkCellArea:focus-cell: + * + * The cell in the area that currently has focus + */ g_object_class_install_property (object_class, PROP_FOCUS_CELL, g_param_spec_object @@ -381,6 +668,14 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GTK_TYPE_CELL_RENDERER, GTK_PARAM_READWRITE)); + /** + * GtkCellArea:edited-cell: + * + * The cell in the area that is currently edited + * + * This property is read-only and only changes as + * a result of a call gtk_cell_area_activate_cell(). + */ g_object_class_install_property (object_class, PROP_EDITED_CELL, g_param_spec_object @@ -390,6 +685,14 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) GTK_TYPE_CELL_RENDERER, G_PARAM_READABLE)); + /** + * GtkCellArea:edit-widget: + * + * The widget currently editing the edited cell + * + * This property is read-only and only changes as + * a result of a call gtk_cell_area_activate_cell(). + */ g_object_class_install_property (object_class, PROP_EDIT_WIDGET, g_param_spec_object @@ -989,7 +1292,7 @@ gtk_cell_area_has_renderer (GtkCellArea *area, } /** - * gtk_cell_area_forall + * gtk_cell_area_forall: * @area: a #GtkCellArea * @callback: the #GtkCellCallback to call * @callback_data: user provided data pointer From 2394f5e49b09d89de917264bd78847950f3a28c9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 11:02:29 +0900 Subject: [PATCH 0293/1463] Touching up GtkCellArea docs. --- gtk/gtkcellarea.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index f170786da7..fa9bf2031b 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1562,8 +1562,8 @@ gtk_cell_area_get_request_mode (GtkCellArea *area) * @area will store some geometrical information in @context along the way, * when requesting sizes over an arbitrary number of rows, its not important * to check the @minimum_width and @natural_width of this call but rather to - * call gtk_cell_area_context_sum_preferred_width() and then consult - * gtk_cell_area_context_get_preferred_width(). + * consult gtk_cell_area_context_get_preferred_width() after a series of + * requests. * * * Since: 3.0 @@ -1610,9 +1610,8 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, * * If at some point, the width of a single row changes, it should be * requested with gtk_cell_area_get_preferred_width() again and then - * the full with of the requested rows checked again after calling - * gtk_cell_area_context_sum_preferred_width(), and then the height - * for width of each row needs to be requested again. + * the full width of the requested rows checked again with + * gtk_cell_area_context_get_preferred_width(). * * Since: 3.0 */ @@ -1647,8 +1646,8 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, * @area will store some geometrical information in @context along the way, * when requesting sizes over an arbitrary number of rows, its not important * to check the @minimum_height and @natural_height of this call but rather to - * call gtk_cell_area_context_sum_preferred_height() and then consult - * gtk_cell_area_context_get_preferred_height(). + * consult gtk_cell_area_context_get_preferred_height() after a series of + * requests. * * Since: 3.0 */ @@ -1692,11 +1691,10 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, * on each cell area individually to get the height for width of each * fully requested row. * - * If at some point, the width of a single row changes, it should be - * requested with gtk_cell_area_get_preferred_width() again and then - * the full with of the requested rows checked again after calling - * gtk_cell_area_context_sum_preferred_width(), and then the height - * for width of each row needs to be requested again. + * If at some point, the height of a single row changes, it should be + * requested with gtk_cell_area_get_preferred_height() again and then + * the full height of the requested rows checked again with + * gtk_cell_area_context_get_preferred_height(). * * Since: 3.0 */ From d3aed12b65dab6365c664104477280be74117287 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 13:01:49 +0900 Subject: [PATCH 0294/1463] Removed cell_layout implementation details in GtkTreeViewColumn in favor of cell_layout->get_area --- gtk/gtktreeviewcolumn.c | 226 ++++++++++++++-------------------------- gtk/gtktreeviewcolumn.h | 1 + 2 files changed, 80 insertions(+), 147 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index e4c84151f0..ae375479d1 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -97,30 +97,10 @@ static void gtk_tree_view_column_get_property (GObject GValue *value, GParamSpec *pspec); static void gtk_tree_view_column_finalize (GObject *object); +static void gtk_tree_view_column_dispose (GObject *object); /* GtkCellLayout implementation */ -static void gtk_tree_view_column_cell_layout_pack_start (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand); -static void gtk_tree_view_column_cell_layout_pack_end (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand); -static void gtk_tree_view_column_cell_layout_clear (GtkCellLayout *cell_layout); -static void gtk_tree_view_column_cell_layout_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column); -static void gtk_tree_view_column_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); -static void gtk_tree_view_column_cell_layout_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *cell); -static void gtk_tree_view_column_cell_layout_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gint position); -static GList *gtk_tree_view_column_cell_layout_get_cells (GtkCellLayout *cell_layout); +static GtkCellArea *gtk_tree_view_column_cell_layout_get_area (GtkCellLayout *cell_layout); /* Button handling code */ static void gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column); @@ -140,6 +120,21 @@ static gboolean gtk_tree_view_column_mnemonic_activate (GtkWidget *widge static void gtk_tree_view_model_sort_column_changed (GtkTreeSortable *sortable, GtkTreeViewColumn *tree_column); +/* GtkCellArea/GtkCellAreaContext callbacks */ +static void gtk_tree_view_column_context_changed (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkTreeViewColumn *tree_column); +static void gtk_tree_view_column_add_editable_callback (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + GdkRectangle *cell_area, + const gchar *path_string, + gpointer user_data); +static void gtk_tree_view_column_remove_editable_callback (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *edit_widget, + gpointer user_data); + /* Internal functions */ static void gtk_tree_view_column_sort (GtkTreeViewColumn *tree_column, gpointer data); @@ -170,6 +165,7 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class) class->clicked = NULL; object_class->finalize = gtk_tree_view_column_finalize; + object_class->dispose = gtk_tree_view_column_dispose; object_class->set_property = gtk_tree_view_column_set_property; object_class->get_property = gtk_tree_view_column_get_property; @@ -353,14 +349,7 @@ gtk_tree_view_column_buildable_init (GtkBuildableIface *iface) static void gtk_tree_view_column_cell_layout_init (GtkCellLayoutIface *iface) { - iface->pack_start = gtk_tree_view_column_cell_layout_pack_start; - iface->pack_end = gtk_tree_view_column_cell_layout_pack_end; - iface->clear = gtk_tree_view_column_cell_layout_clear; - iface->add_attribute = gtk_tree_view_column_cell_layout_add_attribute; - iface->set_cell_data_func = gtk_tree_view_column_cell_layout_set_cell_data_func; - iface->clear_attributes = gtk_tree_view_column_cell_layout_clear_attributes; - iface->reorder = gtk_tree_view_column_cell_layout_reorder; - iface->get_cells = gtk_tree_view_column_cell_layout_get_cells; + iface->get_area = gtk_tree_view_column_cell_layout_get_area; } static void @@ -394,6 +383,39 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) tree_column->cell_area = gtk_cell_area_box_new (); gtk_cell_area_set_style_detail (tree_column->cell_area, "treeview"); tree_column->cell_area_context = gtk_cell_area_create_context (tree_column->cell_area); + + tree_column->context_changed_signal = + g_signal_connect (tree_column->cell_area_context, "notify", + G_CALLBACK (gtk_tree_view_column_context_changed), tree_column); + +} + +static void +gtk_tree_view_column_dispose (GObject *object) +{ + GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; + + if (tree_column->cell_area_context) + { + g_object_unref (tree_column->cell_area_context); + + g_signal_handler_disconnect (tree_column->cell_area_context, + tree_column->context_changed_signal); + tree_column->context_changed_signal = 0; + } + + if (tree_column->cell_area) + { + g_object_unref (tree_column->cell_area); + } + + if (tree_column->child) + { + g_object_unref (tree_column->child); + tree_column->child = NULL; + } + + G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->dispose (object); } static void @@ -401,14 +423,8 @@ gtk_tree_view_column_finalize (GObject *object) { GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; - g_object_unref (tree_column->cell_area_context); - g_object_unref (tree_column->cell_area); - g_free (tree_column->title); - if (tree_column->child) - g_object_unref (tree_column->child); - G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->finalize (object); } @@ -615,111 +631,15 @@ gtk_tree_view_column_get_property (GObject *object, /* Implementation of GtkCellLayout interface */ - -static void -gtk_tree_view_column_cell_layout_pack_start (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand) +static GtkCellArea * +gtk_tree_view_column_cell_layout_get_area (GtkCellLayout *cell_layout) { GtkTreeViewColumn *column; - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); + g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout), NULL); column = GTK_TREE_VIEW_COLUMN (cell_layout); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (column->cell_area), - cell, expand); -} - -static void -gtk_tree_view_column_cell_layout_pack_end (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand) -{ - GtkTreeViewColumn *column; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); - column = GTK_TREE_VIEW_COLUMN (cell_layout); - - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (column->cell_area), - cell, expand); -} - -static void -gtk_tree_view_column_cell_layout_clear (GtkCellLayout *cell_layout) -{ - GtkTreeViewColumn *column; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); - column = GTK_TREE_VIEW_COLUMN (cell_layout); - - gtk_cell_layout_clear (GTK_CELL_LAYOUT (column->cell_area)); -} - -static void -gtk_tree_view_column_cell_layout_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column) -{ - GtkTreeViewColumn *tree_column; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); - tree_column = GTK_TREE_VIEW_COLUMN (cell_layout); - - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (tree_column->cell_area), - cell, attribute, column); - - if (tree_column->tree_view) - _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); -} - -static void -gtk_tree_view_column_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) -{ - GtkTreeViewColumn *column; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); - column = GTK_TREE_VIEW_COLUMN (cell_layout); - - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (column->cell_area), - cell, func, func_data, destroy); - - if (column->tree_view) - _gtk_tree_view_column_cell_set_dirty (column, TRUE); -} - -static void -gtk_tree_view_column_cell_layout_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *cell_renderer) -{ - GtkTreeViewColumn *column; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); - column = GTK_TREE_VIEW_COLUMN (cell_layout); - - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (column->cell_area), - cell_renderer); -} - -static void -gtk_tree_view_column_cell_layout_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gint position) -{ - GtkTreeViewColumn *column; - - g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout)); - column = GTK_TREE_VIEW_COLUMN (cell_layout); - - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (column->cell_area), - cell, position); - - if (column->tree_view) - gtk_widget_queue_draw (column->tree_view); + return column->cell_area; } /* Button handling code @@ -1159,6 +1079,24 @@ gtk_tree_view_column_setup_sort_column_id_callback (GtkTreeViewColumn *tree_colu } } +static void +gtk_tree_view_column_context_changed (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkTreeViewColumn *tree_column) +{ + if (!strcmp (pspec->name, "minimum-width") || + !strcmp (pspec->name, "natural-width") || + !strcmp (pspec->name, "minimum-height") || + !strcmp (pspec->name, "natural-height")) + { + /* XXX We want to do something specific if the size actually got cleared + * or if it just grew a little bit because of a data change and we + * are in GROW_ONLY mode. + */ + _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); + } +} + static void gtk_tree_view_column_add_editable_callback (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1473,14 +1411,6 @@ gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column) gtk_cell_layout_clear (GTK_CELL_LAYOUT (tree_column)); } -static GList * -gtk_tree_view_column_cell_layout_get_cells (GtkCellLayout *layout) -{ - GtkTreeViewColumn *tree_column = GTK_TREE_VIEW_COLUMN (layout); - - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tree_column->cell_area)); -} - /** * gtk_tree_view_column_add_attribute: * @tree_column: A #GtkTreeViewColumn. @@ -2492,7 +2422,8 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, "focus-line-width", &focus_line_width, NULL); - gtk_cell_area_context_sum_preferred_width (tree_column->cell_area_context); + g_signal_handler_block (tree_column->cell_area_context, + tree_column->context_changed_signal); gtk_cell_area_get_preferred_width (tree_column->cell_area, tree_column->cell_area_context, @@ -2505,6 +2436,9 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, height, NULL); + g_signal_handler_unblock (tree_column->cell_area_context, + tree_column->context_changed_signal); + } /** @@ -2690,8 +2624,6 @@ void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler) { - gtk_cell_area_context_reset (tree_column->cell_area_context); - tree_column->dirty = TRUE; tree_column->requested_width = -1; tree_column->width = 0; diff --git a/gtk/gtktreeviewcolumn.h b/gtk/gtktreeviewcolumn.h index f86f75a216..631052b526 100644 --- a/gtk/gtktreeviewcolumn.h +++ b/gtk/gtktreeviewcolumn.h @@ -124,6 +124,7 @@ struct _GtkTreeViewColumn gulong add_editable_signal; gulong remove_editable_signal; + gulong context_changed_signal; /* Flags */ guint GSEAL (visible) : 1; From cad41833a257b2fb6b6681479650e5a20b331fdc Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 22 Nov 2010 16:27:52 +0900 Subject: [PATCH 0295/1463] Allow minimal implementation of GtkCellLayout Since GtkCellArea delegate does all the work, cell layout widgets who use a GtkCellArea internally only have to implement the _get_area() method, this just reduces code to forward the calls over the the internal cell area. --- gtk/gtkcelllayout.c | 149 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 126 insertions(+), 23 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index b13f0902a6..f25864bad6 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -54,12 +54,23 @@ gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->pack_start) (cell_layout, - cell, - expand); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->pack_start) + iface->pack_start (cell_layout, cell, expand); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (area), cell, expand); + } } /** @@ -81,12 +92,23 @@ gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->pack_end) (cell_layout, - cell, - expand); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->pack_end) + iface->pack_end (cell_layout, cell, expand); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (area), cell, expand); + } } /** @@ -101,9 +123,22 @@ gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, void gtk_cell_layout_clear (GtkCellLayout *cell_layout) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->clear) (cell_layout); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->clear) + iface->clear (cell_layout); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_clear (GTK_CELL_LAYOUT (area)); + } } static void @@ -114,17 +149,28 @@ gtk_cell_layout_set_attributesv (GtkCellLayout *cell_layout, gchar *attribute; gint column; GtkCellLayoutIface *iface; + GtkCellArea *area; attribute = va_arg (args, gchar *); iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - (* iface->clear_attributes) (cell_layout, cell); + if (iface->get_area) + area = iface->get_area (cell_layout); + + if (iface->clear_attributes) + iface->clear_attributes (cell_layout, cell); + else if (area) + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); while (attribute != NULL) { column = va_arg (args, gint); - (* iface->add_attribute) (cell_layout, cell, attribute, column); + if (iface->add_attribute) + iface->add_attribute (cell_layout, cell, attribute, column); + else if (area) + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); + attribute = va_arg (args, gchar *); } } @@ -178,15 +224,28 @@ gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, const gchar *attribute, gint column) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); g_return_if_fail (attribute != NULL); g_return_if_fail (column >= 0); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->add_attribute) (cell_layout, - cell, - attribute, - column); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->add_attribute) + iface->add_attribute (cell_layout, + cell, + attribute, + column); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); + } } /** @@ -211,14 +270,27 @@ gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, gpointer func_data, GDestroyNotify destroy) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->set_cell_data_func) (cell_layout, - cell, - func, - func_data, - destroy); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->set_cell_data_func) + iface->set_cell_data_func (cell_layout, + cell, + func, + func_data, + destroy); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (area), cell, func, func_data, destroy); + } } /** @@ -235,11 +307,23 @@ void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->clear_attributes) (cell_layout, - cell); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->clear_attributes) + iface->clear_attributes (cell_layout, cell); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); + } } /** @@ -258,12 +342,23 @@ gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gint position) { + GtkCellLayoutIface *iface; + GtkCellArea *area; + g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - (* GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->reorder) (cell_layout, - cell, - position); + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->reorder) + iface->reorder (cell_layout, cell, position); + else + { + area = iface->get_area (cell_layout); + + if (area) + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (area), cell, position); + } } /** @@ -282,12 +377,20 @@ GList * gtk_cell_layout_get_cells (GtkCellLayout *cell_layout) { GtkCellLayoutIface *iface; + GtkCellArea *area; g_return_val_if_fail (GTK_IS_CELL_LAYOUT (cell_layout), NULL); iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); if (iface->get_cells) return iface->get_cells (cell_layout); + else + { + area = iface->get_area (cell_layout); + + if (area) + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + } return NULL; } From 865eb60d2177d7847e8f32b2da6192825a24b5c9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 18:28:31 +0900 Subject: [PATCH 0296/1463] Fixed GtkCellLayout to pack cells via the api when parsing builder input. --- gtk/gtkcelllayout.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index f25864bad6..fb35428fe3 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -706,12 +706,8 @@ _gtk_cell_layout_buildable_add_child (GtkBuildable *buildable, GObject *child, const gchar *type) { - GtkCellLayoutIface *iface; - g_return_if_fail (GTK_IS_CELL_LAYOUT (buildable)); g_return_if_fail (GTK_IS_CELL_RENDERER (child)); - iface = GTK_CELL_LAYOUT_GET_IFACE (buildable); - g_return_if_fail (iface->pack_start != NULL); - iface->pack_start (GTK_CELL_LAYOUT (buildable), GTK_CELL_RENDERER (child), FALSE); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (buildable), GTK_CELL_RENDERER (child), FALSE); } From 87892261e0637040714239cd2298d289a1a28ddb Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 16:03:53 +0900 Subject: [PATCH 0297/1463] Make editable widget fill the entire inner area of the edited cell instead of just the aligned focus area to match previous behaviour --- gtk/gtkcellarea.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index fa9bf2031b..2b07e87048 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2869,18 +2869,14 @@ gtk_cell_area_activate_cell (GtkCellArea *area, if (editable_widget != NULL) { - GdkRectangle edit_area; - g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); gtk_cell_area_set_edited_cell (area, renderer); gtk_cell_area_set_edit_widget (area, editable_widget); - - gtk_cell_renderer_get_aligned_area (renderer, widget, flags, &inner_area, &edit_area); /* Signal that editing started so that callers can get * a handle on the editable_widget */ - gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, &edit_area); + gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, &inner_area); /* If the signal was successfully handled start the editing */ if (gtk_widget_get_parent (GTK_WIDGET (editable_widget))) From 5f427ff476d1f434ec107552547cc928d711111a Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 16:14:46 +0900 Subject: [PATCH 0298/1463] Make focus rectangle painted on all cells if the GtkCellAreaBox is requested to paint focus and none of the cells are activatable. --- gtk/gtkcellareabox.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 00634ad3b4..5e25c8af98 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1129,11 +1129,17 @@ gtk_cell_area_box_render (GtkCellArea *area, GtkCellRenderer *focus_cell = NULL; GdkRectangle focus_rect = { 0, }; gboolean first_focus_cell = TRUE; + gboolean focus_all = FALSE; if (flags & GTK_CELL_RENDERER_FOCUSED) { focus_cell = gtk_cell_area_get_focus_cell (area); flags &= ~GTK_CELL_RENDERER_FOCUSED; + + /* If no cell can activate but the caller wants focus painted, + * then we paint focus around all cells */ + if (paint_focus && !gtk_cell_area_can_focus (area)) + focus_all = TRUE; } cell_background = *cell_area; @@ -1199,9 +1205,10 @@ gtk_cell_area_box_render (GtkCellArea *area, render_background.width = background_area->width; } - if (focus_cell && - (cell->renderer == focus_cell || - gtk_cell_area_is_focus_sibling (area, focus_cell, cell->renderer))) + if (focus_all || + (focus_cell && + (cell->renderer == focus_cell || + gtk_cell_area_is_focus_sibling (area, focus_cell, cell->renderer)))) { cell_fields |= GTK_CELL_RENDERER_FOCUSED; From dbe026ed1eba1869970f6c2d8d399b1fd4246ac2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 16:20:01 +0900 Subject: [PATCH 0299/1463] Fixed GtkCellAreaBox->focus() to not give focus to cells that are siblings of an intentional focus cell. --- gtk/gtkcellareabox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 5e25c8af98..a95bc789a5 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1871,10 +1871,10 @@ gtk_cell_area_box_focus (GtkCellArea *area, if (info->renderer == focus_cell) found_cell = TRUE; - else if (found_cell) + else if (found_cell && /* Dont give focus to cells that are siblings to a focus cell */ + gtk_cell_area_get_focus_from_sibling (area, info->renderer) == NULL) { gtk_cell_area_set_focus_cell (area, info->renderer); - cycled_focus = TRUE; } } From 626f27f7ed90bef4280ee0248a4fb565b7d0012f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 16:29:09 +0900 Subject: [PATCH 0300/1463] Changed cell area/renderer "can_focus" semantics to "is_activatable" across the board. This is because focus in treeviews can be given to cells that cannot do anything with activation (for better keynav), so we dissociate the concept of cell activation and focusing. --- gtk/gtkcellarea.c | 34 +++++++++++++++++----------------- gtk/gtkcellarea.h | 8 ++++---- gtk/gtkcellareabox.c | 2 +- gtk/gtkcellrenderer.c | 8 ++++---- gtk/gtkcellrenderer.h | 2 +- gtk/gtktreeview.c | 2 +- 6 files changed, 28 insertions(+), 28 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 2b07e87048..386af0cceb 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -356,7 +356,7 @@ static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea gint height, gint *minimum_width, gint *natural_width); -static gboolean gtk_cell_area_real_can_focus (GtkCellArea *area); +static gboolean gtk_cell_area_real_is_activatable (GtkCellArea *area); static gboolean gtk_cell_area_real_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -553,9 +553,9 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->get_preferred_width_for_height = gtk_cell_area_real_get_preferred_width_for_height; /* focus */ - class->can_focus = gtk_cell_area_real_can_focus; - class->focus = NULL; - class->activate = gtk_cell_area_real_activate; + class->is_activatable = gtk_cell_area_real_is_activatable; + class->activate = gtk_cell_area_real_activate; + class->focus = NULL; /* Signals */ /** @@ -990,18 +990,18 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, } static void -get_can_focus (GtkCellRenderer *renderer, - gboolean *can_focus) +get_is_activatable (GtkCellRenderer *renderer, + gboolean *activatable) { - if (gtk_cell_renderer_can_focus (renderer)) - *can_focus = TRUE; + if (gtk_cell_renderer_is_activatable (renderer)) + *activatable = TRUE; } static gboolean -gtk_cell_area_real_can_focus (GtkCellArea *area) +gtk_cell_area_real_is_activatable (GtkCellArea *area) { - gboolean can_focus = FALSE; + gboolean activatable = FALSE; /* Checks if any renderer can focus for the currently applied * attributes. @@ -1009,9 +1009,9 @@ gtk_cell_area_real_can_focus (GtkCellArea *area) * Subclasses can override this in the case that they are also * rendering widgets as well as renderers. */ - gtk_cell_area_forall (area, (GtkCellCallback)get_can_focus, &can_focus); + gtk_cell_area_forall (area, (GtkCellCallback)get_is_activatable, &activatable); - return can_focus; + return activatable; } static gboolean @@ -2326,20 +2326,20 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, *************************************************************/ /** - * gtk_cell_area_can_focus: + * gtk_cell_area_is_activatable: * @area: a #GtkCellArea * - * Returns whether the area can receive keyboard focus, + * Returns whether the area can do anything when activated, * after applying new attributes to @area. * - * Returns: whether @area can receive focus. + * Returns: whether @area can do anything when activated. */ gboolean -gtk_cell_area_can_focus (GtkCellArea *area) +gtk_cell_area_is_activatable (GtkCellArea *area) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); - return GTK_CELL_AREA_GET_CLASS (area)->can_focus (area); + return GTK_CELL_AREA_GET_CLASS (area)->is_activatable (area); } /** diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 5611e65845..abc73d0479 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -144,7 +144,7 @@ struct _GtkCellAreaClass GParamSpec *pspec); /* Focus */ - gboolean (* can_focus) (GtkCellArea *area); + gboolean (* is_activatable) (GtkCellArea *area); gboolean (* focus) (GtkCellArea *area, GtkDirectionType direction); gboolean (* activate) (GtkCellArea *area, @@ -285,14 +285,14 @@ void gtk_cell_area_cell_get_property (GtkCellArea /* Focus */ -gboolean gtk_cell_area_can_focus (GtkCellArea *area); -gboolean gtk_cell_area_focus (GtkCellArea *area, - GtkDirectionType direction); +gboolean gtk_cell_area_is_activatable (GtkCellArea *area); gboolean gtk_cell_area_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags); +gboolean gtk_cell_area_focus (GtkCellArea *area, + GtkDirectionType direction); void gtk_cell_area_set_focus_cell (GtkCellArea *area, GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a95bc789a5..9d4bcbdae6 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1138,7 +1138,7 @@ gtk_cell_area_box_render (GtkCellArea *area, /* If no cell can activate but the caller wants focus painted, * then we paint focus around all cells */ - if (paint_focus && !gtk_cell_area_can_focus (area)) + if (paint_focus && !gtk_cell_area_is_activatable (area)) focus_all = TRUE; } diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index d7b77ed364..dcbb668948 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1104,17 +1104,17 @@ gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell) /** - * gtk_cell_renderer_can_focus: + * gtk_cell_renderer_is_activatable: * @cell: A #GtkCellRenderer * - * Checks whether the cell renderer can receive focus. + * Checks whether the cell renderer can do something when activated. * - * Returns: %TRUE if the cell renderer can do anything with keyboard focus + * Returns: %TRUE if the cell renderer can do anything when activated. * * Since: 3.0 */ gboolean -gtk_cell_renderer_can_focus (GtkCellRenderer *cell) +gtk_cell_renderer_is_activatable (GtkCellRenderer *cell) { GtkCellRendererPrivate *priv; diff --git a/gtk/gtkcellrenderer.h b/gtk/gtkcellrenderer.h index 03d9df5130..22e86379cf 100644 --- a/gtk/gtkcellrenderer.h +++ b/gtk/gtkcellrenderer.h @@ -247,7 +247,7 @@ void gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell, gboolean sensitive); gboolean gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell); -gboolean gtk_cell_renderer_can_focus (GtkCellRenderer *cell); +gboolean gtk_cell_renderer_is_activatable (GtkCellRenderer *cell); /* For use by cell renderer implementations only */ void gtk_cell_renderer_stop_editing (GtkCellRenderer *cell, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 2e7dc3b3be..5c4c073e7a 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -7804,7 +7804,7 @@ gtk_tree_view_has_can_focus_cell (GtkTreeView *tree_view) if (!gtk_tree_view_column_get_visible (column)) continue; - if (gtk_cell_area_can_focus (column->cell_area)) + if (gtk_cell_area_is_activatable (column->cell_area)) return TRUE; } From 5729d2552b685bde855993d46216da89daa23763 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 16:49:34 +0900 Subject: [PATCH 0301/1463] Fix GtkCellAreaBox to not paint a focus rectangle while a cell is currently being edited. --- gtk/gtkcellareabox.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 9d4bcbdae6..0ded281858 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1131,6 +1131,12 @@ gtk_cell_area_box_render (GtkCellArea *area, gboolean first_focus_cell = TRUE; gboolean focus_all = FALSE; + /* Make sure we dont paint a focus rectangle while there + * is an editable widget in play + */ + if (gtk_cell_area_get_edited_cell (area)) + paint_focus = FALSE; + if (flags & GTK_CELL_RENDERER_FOCUSED) { focus_cell = gtk_cell_area_get_focus_cell (area); From b39521dcf79f4a5e69c709bdbf0a3de5f4fb6428 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 29 Nov 2010 18:04:47 +0900 Subject: [PATCH 0302/1463] Make GtkTreeView tell the column about expand space instead of just assigning column->width. Also modified the api to open up the way for treeview to tell the column about how much of its size is really used to render the area. --- gtk/gtktreeprivate.h | 3 ++- gtk/gtktreeview.c | 17 +++++++++++------ gtk/gtktreeviewcolumn.c | 7 +++++-- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 43fb6381c6..8e11e18aa1 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -419,7 +419,8 @@ void _gtk_tree_view_column_unrealize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view); void _gtk_tree_view_column_set_width (GtkTreeViewColumn *column, - int width); + int width, + int internal_width); void _gtk_tree_view_column_unset_model (GtkTreeViewColumn *column, GtkTreeModel *old_model); void _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 5c4c073e7a..84948aa3b3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2360,6 +2360,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, list = (rtl ? list->prev : list->next)) { gint real_requested_width = 0; + gint internal_column_width = 0; gint old_width, column_width; column = list->data; @@ -2387,7 +2388,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, real_requested_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); allocation.x = width; - _gtk_tree_view_column_set_width (column, real_requested_width); if (gtk_tree_view_column_get_expand (column)) { @@ -2395,11 +2395,11 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, { /* We add the remander to the last column as * */ - column->width += extra; + real_requested_width += extra; } else { - column->width += extra_per_column; + real_requested_width += extra_per_column; extra -= extra_per_column; number_of_expand_columns --; } @@ -2407,16 +2407,21 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, else if (number_of_expand_columns == 0 && list == last_column) { - column->width += extra; + real_requested_width += extra; } /* In addition to expand, the last column can get even more * extra space so all available space is filled up. */ if (extra_for_last > 0 && list == last_column) - column->width += extra_for_last; + real_requested_width += extra_for_last; - g_object_notify (G_OBJECT (column), "width"); + /* XXX This needs to account the real allocated space for + * the internal GtkCellArea + */ + internal_column_width = real_requested_width /* - all the stuff treeview adds around the area */; + + _gtk_tree_view_column_set_width (column, real_requested_width, internal_column_width); column_width = gtk_tree_view_column_get_width (column); allocation.width = column_width; diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index ae375479d1..363082cfa4 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1729,12 +1729,15 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column) void _gtk_tree_view_column_set_width (GtkTreeViewColumn *tree_column, - int width) + int width, + int internal_width) { g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - gtk_cell_area_context_allocate (tree_column->cell_area_context, width, -1); + gtk_cell_area_context_allocate (tree_column->cell_area_context, internal_width, -1); tree_column->width = width; + + g_object_notify (G_OBJECT (tree_column), "width"); } /** From 26ac551b741e78500108cde318a91f61688231e0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 15:18:40 +0900 Subject: [PATCH 0303/1463] Added special clause to GtkCellAreaBox focus navigation. If the area has no activatable cells and has focus when focus should be cycled, immediately focus out of the area (because focus in that case is given to the entire area). --- gtk/gtkcellareabox.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 0ded281858..12988e6ad2 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1826,6 +1826,16 @@ gtk_cell_area_box_focus (GtkCellArea *area, focus_cell = gtk_cell_area_get_focus_cell (area); + /* Special case, when there is no activatable cell, focus + * is painted around the entire area... in this case we + * let focus leave the area directly. + */ + if (focus_cell && !gtk_cell_area_is_activatable (area)) + { + gtk_cell_area_set_focus_cell (area, NULL); + return FALSE; + } + switch (direction) { case GTK_DIR_TAB_FORWARD: From a852deeb03a55f97ec3791408eb9506d9b9e783b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 16:21:09 +0900 Subject: [PATCH 0304/1463] Fixed GtkCellArea to always activate a cell at gtk_cell_area_activate() time even if no cells have focus. --- gtk/gtkcellarea.c | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 386af0cceb..9f5616b2ce 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1023,20 +1023,42 @@ gtk_cell_area_real_activate (GtkCellArea *area, { GtkCellAreaPrivate *priv = area->priv; GdkRectangle background_area; + GtkCellRenderer *activate_cell = NULL; if (priv->focus_cell) + activate_cell = priv->focus_cell; + else + { + GList *cells, *l; + + /* GtkTreeView sometimes wants to activate a cell when no + * cells are in focus. + */ + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + for (l = cells; l && !activate_cell; l = l->next) + { + GtkCellRenderer *renderer = l->data; + + if (gtk_cell_renderer_is_activatable (renderer)) + activate_cell = renderer; + } + g_list_free (cells); + } + + + if (activate_cell) { /* Get the allocation of the focused cell. */ - gtk_cell_area_get_cell_allocation (area, context, widget, priv->focus_cell, + gtk_cell_area_get_cell_allocation (area, context, widget, activate_cell, cell_area, &background_area); - /* Activate or Edit the currently focused cell + /* Activate or Edit the cell * * Currently just not sending an event, renderers afaics dont use * the event argument anyway, worst case is we can synthesize one. */ - if (gtk_cell_area_activate_cell (area, widget, priv->focus_cell, NULL, + if (gtk_cell_area_activate_cell (area, widget, activate_cell, NULL, &background_area, flags)) return TRUE; } From 30561228ed3dfc88866852ceecf81063a640e0d5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 22:42:54 +0900 Subject: [PATCH 0305/1463] Added some rules to GtkCellAreaBox for rendering the last cell. - When we reach a cell that is out of the render area, break out of the loop (for columns user resized too small) - CLAMP the size of the last renderer to fit into the area (so that renderers get a chance to ellipsize when rendered with a space less than allocation, same reason as above). - Hand out remaining space in the render area to the last cell, this is for shallow rows in the expand column which may recieve more than the allocated width. --- gtk/gtkcellareabox.c | 32 ++++++++++++++++++++++++++++++++ tests/testtreeview.c | 2 +- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 12988e6ad2..a3a241c8dd 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1172,6 +1172,38 @@ gtk_cell_area_box_render (GtkCellArea *area, cell_background.height = cell->size; } + /* Stop rendering cells if they flow out of the render area, + * this can happen because the render area can actually be + * smaller than the requested area (treeview columns can + * be user resizable and can be resized to be smaller than + * the actual requested area). */ + if (cell_background.x > cell_area->x + cell_area->width || + cell_background.y > cell_area->y + cell_area->height) + break; + + /* Special case for the last cell... let the last cell consume the remaining + * space in the area (the last cell is allowed to consume the remaining space if + * the space given for rendering is actually larger than allocation, this can + * happen in the expander GtkTreeViewColumn where only the deepest depth column + * receives the allocation... shallow columns recieve more width). */ + if (!l->next) + { + cell_background.width = cell_area->x + cell_area->width - cell_background.x; + cell_background.height = cell_area->y + cell_area->height - cell_background.y; + } + else + { + /* If the cell we are rendering doesnt fit into the remaining space, clip it + * so that the underlying renderer has a chance to deal with it (for instance + * text renderers get a chance to ellipsize). + */ + if (cell_background.x + cell_background.width > cell_area->x + cell_area->width) + cell_background.width = cell_area->x + cell_area->width - cell_background.x; + + if (cell_background.y + cell_background.height > cell_area->y + cell_area->height) + cell_background.height = cell_area->y + cell_area->height - cell_background.y; + } + /* Remove margins from the background area to produce the cell area */ gtk_cell_area_inner_cell_area (area, widget, &cell_background, &inner_area); diff --git a/tests/testtreeview.c b/tests/testtreeview.c index d28cb3520a..c252ebfc8c 100644 --- a/tests/testtreeview.c +++ b/tests/testtreeview.c @@ -351,7 +351,7 @@ set_columns_type (GtkTreeView *tree_view, ColumnsType type) gtk_tree_view_set_rules_hint (tree_view, TRUE); rend = gtk_cell_renderer_text_new (); - + col = gtk_tree_view_column_new_with_attributes ("Column 1", rend, "text", 1, From a9fd00a4358f0ff73280bfeb51164872aea50e9b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 2 Dec 2010 13:19:37 +0900 Subject: [PATCH 0306/1463] Fixed GtkCellAreaBoxContext for some typos introduced while removing GtkCellAreaContext->sum_preferred_width()/height() apis. --- gtk/gtkcellareaboxcontext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index 463be8f2d5..6ed66d3998 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -418,9 +418,9 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, for (i = 0; i < array->len; i++) { - CachedSize *size = &g_array_index (priv->base_widths, CachedSize, i); + CachedSize *size = &g_array_index (array, CachedSize, i); - if (box_orientation == GTK_ORIENTATION_HORIZONTAL) + if (box_orientation == orientation) { /* Dont add spacing for 0 size groups, they can be 0 size because * they contain only invisible cells for this round of requests From 2bf8f7eab9ac2cec2239ca037689d6a465156b7e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 2 Dec 2010 17:09:44 +0900 Subject: [PATCH 0307/1463] Removed unused variable from GtkCellAreaBoxContext. --- gtk/gtkcellareaboxcontext.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index 6ed66d3998..cc4c0b4c48 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -404,12 +404,11 @@ static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, GtkOrientation orientation) { - GtkCellAreaBoxContextPrivate *priv = context->priv; - GtkCellArea *area; - GtkOrientation box_orientation; - GArray *array; - gint spacing, i; - gint min_size = 0, nat_size = 0; + GtkCellArea *area; + GtkOrientation box_orientation; + GArray *array; + gint spacing, i; + gint min_size = 0, nat_size = 0; area = gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); From cd09abf461f15e464ce92fc3b22d0661be7352f2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 2 Dec 2010 17:10:10 +0900 Subject: [PATCH 0308/1463] Changed tests/testcellarea.c (and scaffolding) to only reorient the GtkCellArea It's a better test case if the scaffolding only displays the rows from top to bottom and doesnt line up the cells from left to right (because it shows that height-for-width still works with vertically oriented areas). --- tests/cellareascaffold.c | 488 ++++++++------------------------------- tests/testcellarea.c | 3 +- 2 files changed, 98 insertions(+), 393 deletions(-) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index 9115c3b16b..b753ca9260 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -27,14 +27,6 @@ /* GObjectClass */ static void cell_area_scaffold_finalize (GObject *object); static void cell_area_scaffold_dispose (GObject *object); -static void cell_area_scaffold_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void cell_area_scaffold_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); /* GtkWidgetClass */ static void cell_area_scaffold_realize (GtkWidget *widget); @@ -117,7 +109,7 @@ static void rows_reordered_cb (GtkTreeModel CellAreaScaffold *scaffold); typedef struct { - gint size; /* The size of the row in the scaffold's opposing orientation */ + gint size; /* The height of rows in the scaffold's */ } RowData; struct _CellAreaScaffoldPrivate { @@ -158,11 +150,6 @@ struct _CellAreaScaffoldPrivate { gint indent; }; -enum { - PROP_0, - PROP_ORIENTATION -}; - enum { ACTIVATE, N_SIGNALS @@ -227,8 +214,6 @@ cell_area_scaffold_class_init (CellAreaScaffoldClass *class) gobject_class = G_OBJECT_CLASS (class); gobject_class->dispose = cell_area_scaffold_dispose; gobject_class->finalize = cell_area_scaffold_finalize; - gobject_class->get_property = cell_area_scaffold_get_property; - gobject_class->set_property = cell_area_scaffold_set_property; widget_class = GTK_WIDGET_CLASS (class); widget_class->realize = cell_area_scaffold_realize; @@ -250,8 +235,6 @@ cell_area_scaffold_class_init (CellAreaScaffoldClass *class) class->activate = cell_area_scaffold_activate; - g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); - scaffold_signals[ACTIVATE] = g_signal_new ("activate", G_OBJECT_CLASS_TYPE (gobject_class), @@ -317,52 +300,6 @@ cell_area_scaffold_dispose (GObject *object) G_OBJECT_CLASS (cell_area_scaffold_parent_class)->dispose (object); } -static void -cell_area_scaffold_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (object); - CellAreaScaffoldPrivate *priv; - - priv = scaffold->priv; - - switch (prop_id) - { - case PROP_ORIENTATION: - gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->area), - g_value_get_enum (value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -cell_area_scaffold_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (object); - CellAreaScaffoldPrivate *priv; - - priv = scaffold->priv; - - switch (prop_id) - { - case PROP_ORIENTATION: - g_value_set_enum (value, - gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area))); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - /********************************************************* * GtkWidgetClass * *********************************************************/ @@ -426,7 +363,6 @@ cell_area_scaffold_draw (GtkWidget *widget, { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; - GtkOrientation orientation; GtkTreeIter iter; gboolean valid; GdkRectangle background_area; @@ -440,7 +376,6 @@ cell_area_scaffold_draw (GtkWidget *widget, return FALSE; have_focus = gtk_widget_has_focus (widget); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); gtk_widget_get_allocation (widget, &allocation); @@ -451,16 +386,8 @@ cell_area_scaffold_draw (GtkWidget *widget, background_area = render_area; - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - render_area.x = priv->indent; - render_area.width -= priv->indent; - } - else - { - render_area.y = priv->indent; - render_area.height -= priv->indent; - } + render_area.x = priv->indent; + render_area.width -= priv->indent; valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) @@ -472,51 +399,25 @@ cell_area_scaffold_draw (GtkWidget *widget, else flags = 0; - if (orientation == GTK_ORIENTATION_HORIZONTAL) + render_area.height = data->size; + + background_area.height = render_area.height; + background_area.y = render_area.y; + + if (i == 0) { - render_area.height = data->size; - - background_area.height = render_area.height; - background_area.y = render_area.y; - - if (i == 0) - { - background_area.height += priv->row_spacing / 2; - background_area.height += priv->row_spacing % 2; - } - else if (i == priv->row_data->len - 1) - { - background_area.y -= priv->row_spacing / 2; - background_area.height += priv->row_spacing / 2; - } - else - { - background_area.y -= priv->row_spacing / 2; - background_area.height += priv->row_spacing; - } + background_area.height += priv->row_spacing / 2; + background_area.height += priv->row_spacing % 2; } - else /* GTK_ORIENTATION_VERTICAL */ + else if (i == priv->row_data->len - 1) { - render_area.width = data->size; - - background_area.width = render_area.width; - background_area.x = render_area.x; - - if (i == 0) - { - background_area.width += priv->row_spacing / 2; - background_area.width += priv->row_spacing % 2; - } - else if (i == priv->row_data->len - 1) - { - background_area.x -= priv->row_spacing / 2; - background_area.width += priv->row_spacing / 2; - } - else - { - background_area.x -= priv->row_spacing / 2; - background_area.width += priv->row_spacing; - } + background_area.y -= priv->row_spacing / 2; + background_area.height += priv->row_spacing / 2; + } + else + { + background_area.y -= priv->row_spacing / 2; + background_area.height += priv->row_spacing; } gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); @@ -524,16 +425,8 @@ cell_area_scaffold_draw (GtkWidget *widget, &background_area, &render_area, flags, (have_focus && i == priv->focus_row)); - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - render_area.y += data->size; - render_area.y += priv->row_spacing; - } - else - { - render_area.x += data->size; - render_area.x += priv->row_spacing; - } + render_area.y += data->size; + render_area.y += priv->row_spacing; i++; valid = gtk_tree_model_iter_next (priv->model, &iter); @@ -550,7 +443,6 @@ request_all_base (CellAreaScaffold *scaffold) { CellAreaScaffoldPrivate *priv = scaffold->priv; GtkWidget *widget = GTK_WIDGET (scaffold); - GtkOrientation orientation; GtkTreeIter iter; gboolean valid; @@ -559,19 +451,13 @@ request_all_base (CellAreaScaffold *scaffold) g_signal_handler_block (priv->context, priv->size_changed_id); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { gint min, nat; gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, &min, &nat); - else - gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, &min, &nat); + gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, &min, &nat); valid = gtk_tree_model_iter_next (priv->model, &iter); } @@ -586,7 +472,6 @@ get_row_sizes (CellAreaScaffold *scaffold, { CellAreaScaffoldPrivate *priv = scaffold->priv; GtkWidget *widget = GTK_WIDGET (scaffold); - GtkOrientation orientation; GtkTreeIter iter; gboolean valid; gint i = 0; @@ -594,21 +479,14 @@ get_row_sizes (CellAreaScaffold *scaffold, if (!priv->model) return; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { RowData *data = &g_array_index (array, RowData, i); gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, widget, - for_size, &data->size, NULL); - else - gtk_cell_area_get_preferred_width_for_height (priv->area, priv->context, widget, - for_size, &data->size, NULL); + gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, widget, + for_size, &data->size, NULL); i++; valid = gtk_tree_model_iter_next (priv->model, &iter); @@ -621,7 +499,6 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; - GtkOrientation orientation; gtk_widget_set_allocation (widget, allocation); @@ -639,19 +516,9 @@ cell_area_scaffold_size_allocate (GtkWidget *widget, if (!priv->model) return; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - /* Cache the per-row sizes and allocate the context */ - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - gtk_cell_area_context_allocate (priv->context, allocation->width - priv->indent, -1); - get_row_sizes (scaffold, priv->row_data, allocation->width - priv->indent); - } - else - { - gtk_cell_area_context_allocate (priv->context, -1, allocation->height - priv->indent); - get_row_sizes (scaffold, priv->row_data, allocation->height - priv->indent); - } + gtk_cell_area_context_allocate (priv->context, allocation->width - priv->indent, -1); + get_row_sizes (scaffold, priv->row_data, allocation->width - priv->indent); } @@ -662,30 +529,15 @@ cell_area_scaffold_get_preferred_width (GtkWidget *widget, { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; - GtkOrientation orientation; if (!priv->model) return; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - request_all_base (scaffold); - - gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); - - *minimum_size += priv->indent; - *natural_size += priv->indent; - } - else - { - gint min_size, nat_size; - - GTK_WIDGET_GET_CLASS (widget)->get_preferred_height (widget, &min_size, &nat_size); - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width_for_height (widget, min_size, - minimum_size, natural_size); - } + request_all_base (scaffold); + gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); + + *minimum_size += priv->indent; + *natural_size += priv->indent; } static void @@ -696,47 +548,36 @@ cell_area_scaffold_get_preferred_height_for_width (GtkWidget *widget, { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; - GtkOrientation orientation; + GArray *request_array; + gint n_rows, i, full_size = 0; if (!priv->model) return; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); + n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); - if (orientation == GTK_ORIENTATION_HORIZONTAL) + /* Get an array for the contextual request */ + request_array = g_array_new (FALSE, FALSE, sizeof (RowData)); + g_array_set_size (request_array, n_rows); + memset (request_array->data, 0x0, n_rows * sizeof (RowData)); + + /* Gather each contextual size into the request array */ + get_row_sizes (scaffold, request_array, for_size - priv->indent); + + /* Sum up the size and add some row spacing */ + for (i = 0; i < n_rows; i++) { - GArray *request_array; - gint n_rows, i, full_size = 0; - - n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); - - /* Get an array for the contextual request */ - request_array = g_array_new (FALSE, FALSE, sizeof (RowData)); - g_array_set_size (request_array, n_rows); - memset (request_array->data, 0x0, n_rows * sizeof (RowData)); - - /* Gather each contextual size into the request array */ - get_row_sizes (scaffold, request_array, for_size - priv->indent); - - /* Sum up the size and add some row spacing */ - for (i = 0; i < n_rows; i++) - { - RowData *data = &g_array_index (request_array, RowData, i); - - full_size += data->size; - } - - full_size += MAX (0, n_rows -1) * priv->row_spacing; - - g_array_free (request_array, TRUE); - - *minimum_size = full_size; - *natural_size = full_size; - } - else - { - GTK_WIDGET_GET_CLASS (widget)->get_preferred_height (widget, minimum_size, natural_size); + RowData *data = &g_array_index (request_array, RowData, i); + + full_size += data->size; } + + full_size += MAX (0, n_rows -1) * priv->row_spacing; + + g_array_free (request_array, TRUE); + + *minimum_size = full_size; + *natural_size = full_size; } static void @@ -746,30 +587,14 @@ cell_area_scaffold_get_preferred_height (GtkWidget *widget, { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; - GtkOrientation orientation; + gint min_size, nat_size; if (!priv->model) return; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - request_all_base (scaffold); - - gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); - - *minimum_size += priv->indent; - *natural_size += priv->indent; - } - else - { - gint min_size, nat_size; - - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_size, &nat_size); - GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_size, - minimum_size, natural_size); - } + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_size, &nat_size); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_size, + minimum_size, natural_size); } static void @@ -780,47 +605,11 @@ cell_area_scaffold_get_preferred_width_for_height (GtkWidget *widget, { CellAreaScaffold *scaffold = CELL_AREA_SCAFFOLD (widget); CellAreaScaffoldPrivate *priv = scaffold->priv; - GtkOrientation orientation; if (!priv->model) return; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - - if (orientation == GTK_ORIENTATION_VERTICAL) - { - GArray *request_array; - gint n_rows, i, full_size = 0; - - n_rows = gtk_tree_model_iter_n_children (priv->model, NULL); - - /* Get an array for the contextual request */ - request_array = g_array_new (FALSE, FALSE, sizeof (RowData)); - g_array_set_size (request_array, n_rows); - memset (request_array->data, 0x0, n_rows * sizeof (RowData)); - - /* Gather each contextual size into the request array */ - get_row_sizes (scaffold, request_array, for_size - priv->indent); - - /* Sum up the size and add some row spacing */ - for (i = 0; i < n_rows; i++) - { - RowData *data = &g_array_index (request_array, RowData, i); - - full_size += data->size; - } - - full_size += MAX (0, n_rows -1) * priv->row_spacing; - - g_array_free (request_array, TRUE); - - *minimum_size = full_size; - *natural_size = full_size; - } - else - { - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); - } + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); } static void @@ -857,7 +646,6 @@ cell_area_scaffold_focus (GtkWidget *widget, GtkTreeIter iter; gboolean valid; gint focus_row; - GtkOrientation orientation; gboolean changed = FALSE; /* Grab focus on ourself if we dont already have focus */ @@ -865,8 +653,6 @@ cell_area_scaffold_focus (GtkWidget *widget, gtk_widget_grab_focus (widget); /* Move focus from cell to cell and row to row */ - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - focus_row = priv->focus_row; g_signal_handler_block (priv->area, priv->focus_changed_id); @@ -889,66 +675,32 @@ cell_area_scaffold_focus (GtkWidget *widget, } else { - if (orientation == GTK_ORIENTATION_HORIZONTAL) + if (direction == GTK_DIR_RIGHT || + direction == GTK_DIR_LEFT) + break; + else if (direction == GTK_DIR_UP || + direction == GTK_DIR_TAB_BACKWARD) { - if (direction == GTK_DIR_RIGHT || - direction == GTK_DIR_LEFT) + if (focus_row == 0) break; - else if (direction == GTK_DIR_UP || - direction == GTK_DIR_TAB_BACKWARD) + else { - if (focus_row == 0) - break; - else - { - /* XXX A real implementation should check if the - * previous row can focus with it's attributes setup */ - focus_row--; - valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); - } - } - else /* direction == GTK_DIR_DOWN || GTK_DIR_TAB_FORWARD */ - { - if (focus_row == priv->row_data->len - 1) - break; - else - { - /* XXX A real implementation should check if the - * previous row can focus with it's attributes setup */ - focus_row++; - valid = gtk_tree_model_iter_next (priv->model, &iter); - } + /* XXX A real implementation should check if the + * previous row can focus with it's attributes setup */ + focus_row--; + valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); } } - else /* (orientation == GTK_ORIENTATION_HORIZONTAL) */ + else /* direction == GTK_DIR_DOWN || GTK_DIR_TAB_FORWARD */ { - if (direction == GTK_DIR_UP || - direction == GTK_DIR_DOWN) + if (focus_row == priv->row_data->len - 1) break; - else if (direction == GTK_DIR_LEFT || - direction == GTK_DIR_TAB_BACKWARD) + else { - if (focus_row == 0) - break; - else - { - /* XXX A real implementation should check if the - * previous row can focus with it's attributes setup */ - focus_row--; - valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row); - } - } - else /* direction == GTK_DIR_RIGHT || GTK_DIR_TAB_FORWARD */ - { - if (focus_row == priv->row_data->len - 1) - break; - else - { - /* XXX A real implementation should check if the - * previous row can focus with it's attributes setup */ - focus_row++; - valid = gtk_tree_model_iter_next (priv->model, &iter); - } + /* XXX A real implementation should check if the + * previous row can focus with it's attributes setup */ + focus_row++; + valid = gtk_tree_model_iter_next (priv->model, &iter); } } } @@ -971,15 +723,11 @@ cell_area_scaffold_button_press (GtkWidget *widget, CellAreaScaffoldPrivate *priv = scaffold->priv; GtkTreeIter iter; gboolean valid; - GtkOrientation orientation; gint i = 0; GdkRectangle event_area; GtkAllocation allocation; gboolean handled = FALSE; - /* Move focus from cell to cell and row to row */ - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); - gtk_widget_get_allocation (widget, &allocation); event_area.x = 0; @@ -987,57 +735,29 @@ cell_area_scaffold_button_press (GtkWidget *widget, event_area.width = allocation.width; event_area.height = allocation.height; - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - event_area.x = priv->indent; - event_area.width -= priv->indent; - } - else - { - event_area.y = priv->indent; - event_area.height -= priv->indent; - } + event_area.x = priv->indent; + event_area.width -= priv->indent; valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) { RowData *data = &g_array_index (priv->row_data, RowData, i); - if (orientation == GTK_ORIENTATION_HORIZONTAL) + event_area.height = data->size; + + if (event->y >= event_area.y && + event->y <= event_area.y + event_area.height) { - event_area.height = data->size; - - if (event->y >= event_area.y && - event->y <= event_area.y + event_area.height) - { - /* XXX A real implementation would assemble GtkCellRendererState flags here */ - gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - handled = gtk_cell_area_event (priv->area, priv->context, GTK_WIDGET (scaffold), - (GdkEvent *)event, &event_area, 0); - break; - } - - event_area.y += data->size; - event_area.y += priv->row_spacing; + /* XXX A real implementation would assemble GtkCellRendererState flags here */ + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + handled = gtk_cell_area_event (priv->area, priv->context, GTK_WIDGET (scaffold), + (GdkEvent *)event, &event_area, 0); + break; } - else - { - event_area.width = data->size; - - if (event->x >= event_area.x && - event->x <= event_area.x + event_area.width) - { - /* XXX A real implementation would assemble GtkCellRendererState flags here */ - gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - handled = gtk_cell_area_event (priv->area, priv->context, GTK_WIDGET (scaffold), - (GdkEvent *)event, &event_area, 0); - break; - } - - event_area.x += data->size; - event_area.x += priv->row_spacing; - } - + + event_area.y += data->size; + event_area.y += priv->row_spacing; + i++; valid = gtk_tree_model_iter_next (priv->model, &iter); } @@ -1103,13 +823,11 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) CellAreaScaffoldPrivate *priv = scaffold->priv; GtkWidget *widget = GTK_WIDGET (scaffold); GtkAllocation allocation; - GtkOrientation orientation; GdkRectangle cell_area; GtkTreeIter iter; gboolean valid; gint i = 0; - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (priv->area)); gtk_widget_get_allocation (widget, &allocation); cell_area.x = 0; @@ -1117,16 +835,8 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) cell_area.width = allocation.width; cell_area.height = allocation.height; - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - cell_area.x = priv->indent; - cell_area.width -= priv->indent; - } - else - { - cell_area.y = priv->indent; - cell_area.height -= priv->indent; - } + cell_area.x = priv->indent; + cell_area.width -= priv->indent; valid = gtk_tree_model_get_iter_first (priv->model, &iter); while (valid) @@ -1135,10 +845,7 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) if (i == priv->focus_row) { - if (orientation == GTK_ORIENTATION_HORIZONTAL) - cell_area.height = data->size; - else - cell_area.width = data->size; + cell_area.height = data->size; gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); gtk_cell_area_activate (priv->area, priv->context, widget, &cell_area, GTK_CELL_RENDERER_FOCUSED); @@ -1146,10 +853,7 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) break; } - if (orientation == GTK_ORIENTATION_HORIZONTAL) - cell_area.y += data->size + priv->row_spacing; - else - cell_area.x += data->size + priv->row_spacing; + cell_area.y += data->size + priv->row_spacing; i++; valid = gtk_tree_model_iter_next (priv->model, &iter); diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 29d14904c6..029f507cb7 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -119,9 +119,10 @@ static void orientation_changed (GtkComboBox *combo, CellAreaScaffold *scaffold) { + GtkCellArea *area = cell_area_scaffold_get_area (scaffold); GtkOrientation orientation = gtk_combo_box_get_active (combo); - gtk_orientable_set_orientation (GTK_ORIENTABLE (scaffold), orientation); + gtk_orientable_set_orientation (GTK_ORIENTABLE (area), orientation); } static void From 005964b22a86104ce8a4e9bf344ba2c8c032a58a Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 2 Dec 2010 17:42:46 +0900 Subject: [PATCH 0309/1463] Manually pulling back a GtkTreeViewColumn fix from treeview-refactor-staging This fix has evolved in the staging branch since all column members are on a private structure, but since it causes warnings when closing the windows of the testcellarea test (because the combo-boxes use a treeviewcolumn) I thought it nice for now to just manually include the fix. The fix is just proper bookkeeping of delegate objects at dispose() time. --- gtk/gtktreeviewcolumn.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 363082cfa4..f4aa265737 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -396,17 +396,20 @@ gtk_tree_view_column_dispose (GObject *object) GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; if (tree_column->cell_area_context) - { - g_object_unref (tree_column->cell_area_context); - + { g_signal_handler_disconnect (tree_column->cell_area_context, tree_column->context_changed_signal); + + g_object_unref (tree_column->cell_area_context); + + tree_column->cell_area_context = NULL; tree_column->context_changed_signal = 0; } if (tree_column->cell_area) { g_object_unref (tree_column->cell_area); + tree_column->cell_area = NULL; } if (tree_column->child) From a7ad110fe9beb0a3458b38574b2e74ac7b76d109 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 00:29:22 +0900 Subject: [PATCH 0310/1463] Adding more documentation to GtkCellArea, documented GtkCellAreaClass structure. --- gtk/gtkcellarea.c | 2 +- gtk/gtkcellarea.h | 64 +++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 63 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 9f5616b2ce..dcf0007f43 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -210,7 +210,7 @@ * Note that the cached height in this example really depends on how the layouting * widget works. The layouting widget might decide to give every row it's minimum * or natural height or if the model content is expected to fit inside the layouting - * widget with not scrolled window it would make sense to calculate the allocation + * widget with no scrolled window it would make sense to calculate the allocation * for each row at #GtkWidget.size_allocate() time using gtk_distribute_natural_allocation(). * * diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index abc73d0479..f857e19ab5 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -65,11 +65,70 @@ struct _GtkCellArea GtkCellAreaPrivate *priv; }; + +/** + * GtkCellAreaClass: + * @add: adds a #GtkCellRenderer to the area. + * @remove: removes a #GtkCellRenderer from the area. + * @forall: Calls the #GtkCellCallback function on every #GtkCellRenderer in the area + * with the provided user data. + * @get_cell_allocation: Gets the position (relative to the passed @cell_area rectangle) + * and size of a #GtkCellRenderer. + * @event: Handle an event in the area, this is generally used to activate a cell + * at the event location for button events but can also be used to generically pass + * events to #GtkWidgets drawn onto the area. + * @render: Actually render the area's cells to the specified rectangle, @background_area + * should be correctly distributed to the cells coresponding background areas. + * @apply_attributes: Apply the cell attributes to the cells. This is implemented as a signal and + * generally #GtkCellArea subclasses dont need to implement this since it's handled by the base + * class but can be overridden to apply some custom attributes. + * @create_context: Creates and returns a class specific #GtkCellAreaContext to store cell + * alignment and allocation details for a said #GtkCellArea class. + * @get_request_mode: This allows an area to tell its layouting widget whether it prefers to + * be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. + * @get_preferred_width: Calculates the minimum and natural width of the area's cells + * with the current attributes applied while considering the particular layouting details + * of the said #GtkCellArea. While requests are performed over a series of rows, alignments + * and overall minimum and natural sizes should be stored in the corresponding #GtkCellAreaContext. + * @get_preferred_height_for_width: Calculates the minimum and natural height for the area + * if the passed @context would be allocated the given width. When implementing this virtual + * method it is safe to assume that @context has already stored the aligned cell widths + * for every #GtkTreeModel row that @context will be allocated for since this information + * was stored at #GtkCellAreaClass.get_preferred_width() time. This virtual method should + * also store any necessary alignments of cell heights for the case that the context is + * allocated a height. + * @get_preferred_height: Calculates the minimum and natural height of the area's cells + * with the current attributes applied. Essentially this is the same as + * #GtkCellAreaClass.get_preferred_width() only for areas that are being requested as + * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT. + * @get_preferred_width_for_height: Calculates the minimum and natural width for the area + * if the passed @context would be allocated the given height. The same as + * #GtkCellAreaClass.get_preferred_height_for_width() only for handling requests in the + * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. + * @set_cell_property: This should be implemented to handle changes in child cell properties + * for a given #GtkCellRenderer that were previously installed on the #GtkCellAreaClass with + * gtk_cell_area_class_install_cell_property(). + * @get_cell_property: This should be implemented to report the values of child cell properties + * for a given child #GtkCellRenderer. + * @focus: This virtual method should be implemented to navigate focus from cell to cell + * inside the #GtkCellArea. The #GtkCellArea should move focus from cell to cell inside + * the area and return %FALSE if focus logically leaves the area with the following exceptions: + * When the area contains no activatable cells, the entire area recieves focus. Focus should not + * be given to cells that are actually "focus siblings" of other sibling cells + * (see gtk_cell_area_get_focus_from_sibling()). Focus is set by calling gtk_cell_area_set_focus_cell(). + * @is_activatable: Returns whether the #GtkCellArea can respond to #GtkCellAreaClass.activate(), + * usually this does not need to be implemented since the base class takes care of this however + * it can be enhanced if the #GtkCellArea subclass can handle activation in other ways than + * activating its #GtkCellRenderers. + * @activate: This is called when the layouting widget rendering the #GtkCellArea activates + * the focus cell (see gtk_cell_area_get_focus_cell()). + */ struct _GtkCellAreaClass { + /*< private >*/ GInitiallyUnownedClass parent_class; - /* vtable - not signals */ + /*< public >*/ /* Basic methods */ void (* add) (GtkCellArea *area, @@ -144,15 +203,16 @@ struct _GtkCellAreaClass GParamSpec *pspec); /* Focus */ - gboolean (* is_activatable) (GtkCellArea *area); gboolean (* focus) (GtkCellArea *area, GtkDirectionType direction); + gboolean (* is_activatable) (GtkCellArea *area); gboolean (* activate) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, GtkCellRendererState flags); + /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); From 513546f3df01517a7eb4d6b2686db80e525309ca Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 00:29:43 +0900 Subject: [PATCH 0311/1463] Adding GtkCellArea to gtk-doc build (added to gtk3.types, gtk-docs.sgml and updated gtk3-sections.txt file). --- docs/reference/gtk/gtk-docs.sgml | 3 + docs/reference/gtk/gtk3-sections.txt | 111 +++++++++++++++++++++++++++ docs/reference/gtk/gtk3.types | 3 + 3 files changed, 117 insertions(+) diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index 5963787271..db3435cb71 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -137,6 +137,9 @@ + + + diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 2ec9ae874e..39cbc00cee 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4363,6 +4363,7 @@ GtkCellLayoutIface GtkCellLayoutDataFunc gtk_cell_layout_pack_start gtk_cell_layout_pack_end +gtk_cell_layout_get_area gtk_cell_layout_get_cells gtk_cell_layout_reorder gtk_cell_layout_clear @@ -4379,6 +4380,114 @@ GTK_CELL_LAYOUT_GET_IFACE gtk_cell_layout_get_type
+
+gtkcellarea +GtkCellArea +GtkCellArea +GtkCellAreaClass +GtkCellCallback +gtk_cell_area_add +gtk_cell_area_remove +gtk_cell_area_has_renderer +gtk_cell_area_forall +gtk_cell_area_get_cell_allocation +gtk_cell_area_event +gtk_cell_area_render +gtk_cell_area_set_style_detail +gtk_cell_area_get_style_detail +gtk_cell_area_create_context +gtk_cell_area_get_request_mode +gtk_cell_area_get_preferred_width +gtk_cell_area_get_preferred_height_for_width +gtk_cell_area_get_preferred_height +gtk_cell_area_get_preferred_width_for_height +gtk_cell_area_get_current_path_string +gtk_cell_area_apply_attributes +gtk_cell_area_attribute_connect +gtk_cell_area_attribute_disconnect +gtk_cell_area_class_install_cell_property +gtk_cell_area_class_find_cell_property +gtk_cell_area_class_list_cell_properties +gtk_cell_area_add_with_properties +gtk_cell_area_cell_set +gtk_cell_area_cell_get +gtk_cell_area_cell_set_valist +gtk_cell_area_cell_get_valist +gtk_cell_area_cell_set_property +gtk_cell_area_cell_get_property +GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID +gtk_cell_area_is_activatable +gtk_cell_area_activate +gtk_cell_area_focus +gtk_cell_area_set_focus_cell +gtk_cell_area_get_focus_cell +gtk_cell_area_add_focus_sibling +gtk_cell_area_remove_focus_sibling +gtk_cell_area_is_focus_sibling +gtk_cell_area_get_focus_siblings +gtk_cell_area_get_focus_from_sibling +gtk_cell_area_get_edited_cell +gtk_cell_area_get_edit_widget +gtk_cell_area_activate_cell +gtk_cell_area_stop_editing +gtk_cell_area_inner_cell_area +gtk_cell_area_request_renderer + +GTK_CELL_AREA +GTK_IS_CELL_AREA +GTK_TYPE_CELL_AREA +gtk_cell_area_get_type +GTK_CELL_AREA_CLASS +GTK_IS_CELL_AREA_CLASS +GTK_CELL_AREA_GET_CLASS +GtkCellAreaPrivate +
+ +
+gtkcellareacontext +GtkCellAreaContext +GtkCellAreaContextClass +GtkCellAreaContext +gtk_cell_area_context_get_area +gtk_cell_area_context_allocate +gtk_cell_area_context_reset +gtk_cell_area_context_get_preferred_width +gtk_cell_area_context_get_preferred_height +gtk_cell_area_context_get_allocation +gtk_cell_area_context_push_preferred_width +gtk_cell_area_context_push_preferred_height + +GTK_CELL_AREA_CONTEXT +GTK_IS_CELL_AREA_CONTEXT +GTK_TYPE_CELL_AREA_CONTEXT +gtk_cell_area_context_get_type +GTK_CELL_AREA_CONTEXT_CLASS +GTK_IS_CELL_AREA_CONTEXT_CLASS +GTK_CELL_AREA_CONTEXT_GET_CLASS +GtkCellAreaContextPrivate +
+ +
+gtkcellareabox +GtkCellAreaBox +GtkCellAreaBox +GtkCellAreaBoxClass +GtkCellAreaBoxPrivate +gtk_cell_area_box_new +gtk_cell_area_box_pack_start +gtk_cell_area_box_pack_end +gtk_cell_area_box_get_spacing +gtk_cell_area_box_set_spacing + +GTK_CELL_AREA_BOX +GTK_IS_CELL_AREA_BOX +GTK_TYPE_CELL_AREA_BOX +gtk_cell_area_box_get_type +GTK_CELL_AREA_BOX_CLASS +GTK_IS_CELL_AREA_BOX_CLASS +GTK_CELL_AREA_BOX_GET_CLASS +
+
gtkcellrenderer GtkCellRenderer @@ -4386,6 +4495,7 @@ GtkCellRendererState GtkCellRendererMode GtkCellRenderer GtkCellRendererClass +gtk_cell_renderer_get_aligned_area gtk_cell_renderer_get_size gtk_cell_renderer_render gtk_cell_renderer_activate @@ -4401,6 +4511,7 @@ gtk_cell_renderer_get_alignment gtk_cell_renderer_set_alignment gtk_cell_renderer_get_padding gtk_cell_renderer_set_padding +gtk_cell_renderer_is_activatable gtk_cell_renderer_get_preferred_height diff --git a/docs/reference/gtk/gtk3.types b/docs/reference/gtk/gtk3.types index 6b43eccf7f..bdf3063bd2 100644 --- a/docs/reference/gtk/gtk3.types +++ b/docs/reference/gtk/gtk3.types @@ -26,6 +26,9 @@ gtk_buildable_get_type gtk_button_box_get_type gtk_button_get_type gtk_calendar_get_type +gtk_cell_area_get_type +gtk_cell_area_box_get_type +gtk_cell_area_context_get_type gtk_cell_editable_get_type gtk_cell_layout_get_type gtk_cell_renderer_accel_get_type From b84f5aa4dd44adb1af305e2f96260f549d91ec08 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 16:28:06 +0900 Subject: [PATCH 0312/1463] Added symbols from 'treeview-refactor' branch to gtk.symbols file. --- gtk/gtk.symbols | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 7762a0e0a3..89f52525e6 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -358,6 +358,67 @@ gtk_calendar_set_detail_height_rows gtk_calendar_set_detail_width_chars gtk_calendar_set_display_options gtk_calendar_unmark_day +gtk_cell_area_activate +gtk_cell_area_activate_cell +gtk_cell_area_add +gtk_cell_area_add_focus_sibling +gtk_cell_area_add_with_properties +gtk_cell_area_apply_attributes +gtk_cell_area_attribute_connect +gtk_cell_area_attribute_disconnect +gtk_cell_area_box_get_spacing +gtk_cell_area_box_get_type G_GNUC_CONST +gtk_cell_area_box_new +gtk_cell_area_box_pack_end +gtk_cell_area_box_pack_start +gtk_cell_area_box_set_spacing +gtk_cell_area_cell_get +gtk_cell_area_cell_get_property +gtk_cell_area_cell_get_valist +gtk_cell_area_cell_set +gtk_cell_area_cell_set_property +gtk_cell_area_cell_set_valist +gtk_cell_area_class_find_cell_property +gtk_cell_area_class_install_cell_property +gtk_cell_area_class_list_cell_properties +gtk_cell_area_context_allocate +gtk_cell_area_context_get_allocation +gtk_cell_area_context_get_area +gtk_cell_area_context_get_preferred_height +gtk_cell_area_context_get_preferred_width +gtk_cell_area_context_get_type G_GNUC_CONST +gtk_cell_area_context_push_preferred_width +gtk_cell_area_context_push_preferred_height +gtk_cell_area_context_reset +gtk_cell_area_create_context +gtk_cell_area_event +gtk_cell_area_forall +gtk_cell_area_focus +gtk_cell_area_get_edited_cell +gtk_cell_area_get_edit_widget +gtk_cell_area_get_focus_cell +gtk_cell_area_get_focus_from_sibling +gtk_cell_area_get_focus_siblings +gtk_cell_area_get_cell_allocation +gtk_cell_area_get_current_path_string +gtk_cell_area_get_preferred_height +gtk_cell_area_get_preferred_height_for_width +gtk_cell_area_get_preferred_width +gtk_cell_area_get_preferred_width_for_height +gtk_cell_area_get_request_mode +gtk_cell_area_get_style_detail +gtk_cell_area_get_type G_GNUC_CONST +gtk_cell_area_has_renderer +gtk_cell_area_inner_cell_area +gtk_cell_area_is_activatable +gtk_cell_area_is_focus_sibling +gtk_cell_area_remove +gtk_cell_area_remove_focus_sibling +gtk_cell_area_render +gtk_cell_area_request_renderer +gtk_cell_area_set_focus_cell +gtk_cell_area_set_style_detail +gtk_cell_area_stop_editing gtk_cell_editable_editing_done gtk_cell_editable_get_type G_GNUC_CONST gtk_cell_editable_remove_widget @@ -365,6 +426,7 @@ gtk_cell_editable_start_editing gtk_cell_layout_add_attribute gtk_cell_layout_clear gtk_cell_layout_clear_attributes +gtk_cell_layout_get_area gtk_cell_layout_get_cells gtk_cell_layout_get_type G_GNUC_CONST gtk_cell_layout_pack_end @@ -378,6 +440,7 @@ gtk_cell_renderer_accel_new gtk_cell_renderer_activate gtk_cell_renderer_combo_get_type G_GNUC_CONST gtk_cell_renderer_combo_new +gtk_cell_renderer_get_aligned_area gtk_cell_renderer_get_alignment gtk_cell_renderer_get_fixed_size gtk_cell_renderer_get_padding @@ -391,6 +454,7 @@ gtk_cell_renderer_get_sensitive gtk_cell_renderer_get_size gtk_cell_renderer_get_type G_GNUC_CONST gtk_cell_renderer_get_visible +gtk_cell_renderer_is_activatable gtk_cell_renderer_mode_get_type G_GNUC_CONST gtk_cell_renderer_pixbuf_get_type G_GNUC_CONST gtk_cell_renderer_pixbuf_new From 4c165de31fec151c0f4dc020bd489d12e5a2e57b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 16:29:11 +0900 Subject: [PATCH 0313/1463] Added gtk-doc to GtkCellArea & GtkCellAreaContext. --- gtk/gtkcellarea.c | 257 ++++++++++++++++++++++++++++++--------- gtk/gtkcellareacontext.c | 196 +++++++++++++++++++++++++++++ gtk/gtkcellareacontext.h | 12 ++ 3 files changed, 405 insertions(+), 60 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index dcf0007f43..a5e8ab9428 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -26,16 +26,15 @@ * @Short_Description: An abstract class for laying out #GtkCellRenderers * @Title: GtkCellArea * - * The #GtkCellArea is an abstract class for laying out #GtkCellRenderers - * onto a given area of a #GtkWidget. + * The #GtkCellArea is an abstract class for #GtkCellLayout widgets (also referred + * to as "layouting widgets") to interface with an arbitrary number of #GtkCellRenderers + * and interact with the user for a given #GtkTreeModel row. * - * The work of rendering #GtkCellRenderers can be very complicated; it involves - * requesting size for cells, driving keyboard focus from cell to cell, rendering - * the actual cells, painting the focus onto the currently focused cell and finally - * activating cells which are %GTK_CELL_RENDERER_MODE_ACTIVATABLE and editing cells - * which are %GTK_CELL_RENDERER_MODE_EDITABLE. The work is even more complex since - * a cell renderer as opposed to a widget, is used to interact with an arbitrary - * number of #GtkTreeModel rows instead of always displaying the same data. + * The cell area handles events, focus navigation, drawing and wraps geometrical + * size requests and allocations for a given row of data. + * + * Usually users dont have to interact with the #GtkCellArea directly unless they + * are implementing a cell layouting widget themselves. * * * Requesting area sizes @@ -46,22 +45,31 @@ * interfaces. #GtkCellArea uses the same semantics to calculate the * size of an area for an arbitrary number of #GtkTreeModel rows. * - * When requesting the size of a #GtkCellArea one needs to calculate - * the size of a handful of rows, this will be done differently by - * different #GtkCellLayout widgets. For instance a #GtkTreeViewColumn + * When requesting the size of a cell area one needs to calculate + * the size for a handful of rows, this will be done differently by + * different layouting widgets. For instance a #GtkTreeViewColumn * always lines up the areas from top to bottom while a #GtkIconView - * on the other hand might enforce that areas maintain a fixed width - * and then wrap the area around, thus requesting height for more + * on the other hand might enforce that all areas received the same + * width and wrap the areas around, requesting height for more cell * areas when allocated less width. * - * It's also important for #GtkCellAreas to maintain some cell - * alignments with areas rendered for different rows so that - * a handful of rendered rows can allocate the same size for - * a said cell across rows (and also to make sure to request - * an appropriate size for the largest row after requesting - * a hand full of rows). For this reason the #GtkCellArea + * It's also important for areas to maintain some cell + * alignments with areas rendered for adjacent rows (cells can + * appear "columnized" inside an area even when the size of + * cells are different in each row). For this reason the #GtkCellArea * uses a #GtkCellAreaContext object to store the alignments - * and sizes along the way. + * and sizes along the way (as well as the overall largest minimum + * and natural size for all the rows which have been calculated + * with the said context). + * + * The #GtkCellAreaContext is an opaque object specific to the + * #GtkCellArea which created it (see gtk_cell_area_create_context()). + * The owning cell layouting widget can create as many contexts as + * it wishes to calculate sizes of rows which should receive the + * same size in at least one orientation (horizontally or vertically), + * however it's important that the same #GtkCellAreaContext which + * was used to request the sizes for a given #GtkTreeModel row be + * used when rendering or processing events for that row. * * In order to request the width of all the rows at the root level * of a #GtkTreeModel one would do the following: @@ -98,7 +106,7 @@ * A simple example where rows are rendered from top to bottom and take up the full * width of the layouting widget would look like: * - * Requesting the width of a hand full of GtkTreeModel rows. + * A typical #GtkWidgetClass.get_preferred_width() for a layouting widget. * * static void * foo_get_preferred_width (GtkWidget *widget, @@ -242,7 +250,7 @@ * * Implementing keyboard focus navigation when displaying rows from top to bottom. * - * static void + * static gboolean * foo_focus (GtkWidget *widget, * GtkDirectionType direction) * { @@ -269,13 +277,13 @@ * } * else * { - * if (direction == GTK_DIR_RIGHT || - * direction == GTK_DIR_LEFT) - * break; - * else if (direction == GTK_DIR_UP || - * direction == GTK_DIR_TAB_BACKWARD) - * { - * if (focus_row == 0) + * if (direction == GTK_DIR_RIGHT || + * direction == GTK_DIR_LEFT) + * break; + * else if (direction == GTK_DIR_UP || + * direction == GTK_DIR_TAB_BACKWARD) + * { + * if (focus_row == 0) * break; * else * { @@ -567,6 +575,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * @is_expanded: whether the view is currently showing the children of this row * * This signal is emitted whenever applying attributes to @area from @model + * + * Since: 3.0 */ cell_area_signals[SIGNAL_APPLY_ATTRIBUTES] = g_signal_new (I_("apply-attributes"), @@ -588,10 +598,12 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * @editable: the #GtkCellEditable widget to add * @cell_area: the #GtkWidget relative #GdkRectangle coordinates * where @editable should be added - * @path: the #GtkTreePath string this edit was initiated for + * @path: the #GtkTreePath string this edit was initiated for * * Indicates that editing has started on @renderer and that @editable * should be added to the owning cell layouting widget at @cell_area. + * + * Since: 3.0 */ cell_area_signals[SIGNAL_ADD_EDITABLE] = g_signal_new (I_("add-editable"), @@ -615,6 +627,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * * Indicates that editing finished on @renderer and that @editable * should be removed from the owning cell layouting widget. + * + * Since: 3.0 */ cell_area_signals[SIGNAL_REMOVE_EDITABLE] = g_signal_new (I_("remove-editable"), @@ -641,6 +655,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * currently focused renderer did not change, this is * because focus may change to the same renderer in the * same cell area for a different row of data. + * + * Since: 3.0 */ cell_area_signals[SIGNAL_FOCUS_CHANGED] = g_signal_new (I_("focus-changed"), @@ -658,6 +674,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * GtkCellArea:focus-cell: * * The cell in the area that currently has focus + * + * Since: 3.0 */ g_object_class_install_property (object_class, PROP_FOCUS_CELL, @@ -675,6 +693,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * * This property is read-only and only changes as * a result of a call gtk_cell_area_activate_cell(). + * + * Since: 3.0 */ g_object_class_install_property (object_class, PROP_EDITED_CELL, @@ -692,6 +712,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) * * This property is read-only and only changes as * a result of a call gtk_cell_area_activate_cell(). + * + * Since: 3.0 */ g_object_class_install_property (object_class, PROP_EDIT_WIDGET, @@ -1213,6 +1235,8 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) * @renderer: the #GtkCellRenderer to add to @area * * Adds @renderer to @area with the default child cell properties. + * + * Since: 3.0 */ void gtk_cell_area_add (GtkCellArea *area, @@ -1238,6 +1262,8 @@ gtk_cell_area_add (GtkCellArea *area, * @renderer: the #GtkCellRenderer to add to @area * * Removes @renderer from @area. + * + * Since: 3.0 */ void gtk_cell_area_remove (GtkCellArea *area, @@ -1297,7 +1323,9 @@ get_has_renderer (GtkCellRenderer *renderer, * * Checks if @area contains @renderer. * - * Returns: %TRUE if @renderer is in the @area. + * Return value: %TRUE if @renderer is in the @area. + * + * Since: 3.0 */ gboolean gtk_cell_area_has_renderer (GtkCellArea *area, @@ -1320,6 +1348,8 @@ gtk_cell_area_has_renderer (GtkCellArea *area, * @callback_data: user provided data pointer * * Calls @callback for every #GtkCellRenderer in @area. + * + * Since: 3.0 */ void gtk_cell_area_forall (GtkCellArea *area, @@ -1348,10 +1378,12 @@ gtk_cell_area_forall (GtkCellArea *area, * @renderer: the #GtkCellRenderer to get the allocation for * @cell_area: the whole allocated area for @area in @widget * for this row - * @allocation: where to store the allocation for @renderer + * @allocation: (out): where to store the allocation for @renderer * * Derives the allocation of @renderer inside @area if @area * were to be renderered in @cell_area. + * + * Since: 3.0 */ void gtk_cell_area_get_cell_allocation (GtkCellArea *area, @@ -1390,7 +1422,9 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, * * Delegates event handling to a #GtkCellArea. * - * Returns: %TRUE if the event was handled by @area. + * Return value: %TRUE if the event was handled by @area. + * + * Since: 3.0 */ gint gtk_cell_area_event (GtkCellArea *area, @@ -1431,6 +1465,8 @@ gtk_cell_area_event (GtkCellArea *area, * * Renders @area's cells according to @area's layout onto @widget at * the given coordinates. + * + * Since: 3.0 */ void gtk_cell_area_render (GtkCellArea *area, @@ -1467,6 +1503,8 @@ gtk_cell_area_render (GtkCellArea *area, * * Sets the detail string used in any gtk_paint_*() functions * used by @area. + * + * Since: 3.0 */ void gtk_cell_area_set_style_detail (GtkCellArea *area, @@ -1492,7 +1530,9 @@ gtk_cell_area_set_style_detail (GtkCellArea *area, * Gets the detail string used in any gtk_paint_*() functions * used by @area. * - * Returns: the detail string. + * Return value: the detail string, the string belongs to the area and should not be freed. + * + * Since: 3.0 */ G_CONST_RETURN gchar * gtk_cell_area_get_style_detail (GtkCellArea *area) @@ -1520,7 +1560,9 @@ gtk_cell_area_get_style_detail (GtkCellArea *area) * one should render and handle events with the same #GtkCellAreaContext * which was used to request the size of those rows of data). * - * Returns: a newly created #GtkCellAreaContext which can be used with @area. + * Return value: (transfer full): a newly created #GtkCellAreaContext which can be used with @area. + * + * Since: 3.0 */ GtkCellAreaContext * gtk_cell_area_create_context (GtkCellArea *area) @@ -1548,7 +1590,7 @@ gtk_cell_area_create_context (GtkCellArea *area) * Gets whether the area prefers a height-for-width layout * or a width-for-height layout. * - * Returns: The #GtkSizeRequestMode preferred by @area. + * Return value: The #GtkSizeRequestMode preferred by @area. * * Since: 3.0 */ @@ -1587,7 +1629,6 @@ gtk_cell_area_get_request_mode (GtkCellArea *area) * consult gtk_cell_area_context_get_preferred_width() after a series of * requests. * - * * Since: 3.0 */ void @@ -1750,6 +1791,8 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, * * Connects an @attribute to apply values from @column for the * #GtkTreeModel in use. + * + * Since: 3.0 */ void gtk_cell_area_attribute_connect (GtkCellArea *area, @@ -1817,6 +1860,8 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, * Disconnects @attribute for the @renderer in @area so that * attribute will no longer be updated with values from the * model. + * + * Since: 3.0 */ void gtk_cell_area_attribute_disconnect (GtkCellArea *area, @@ -1854,7 +1899,7 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, /** * gtk_cell_area_apply_attributes * @area: a #GtkCellArea - * @tree_model: a #GtkTreeModel to pull values from + * @tree_model: the #GtkTreeModel to pull values from * @iter: the #GtkTreeIter in @tree_model to apply values for * @is_expander: whether @iter has children * @is_expanded: whether @iter is expanded in the view and @@ -1862,6 +1907,8 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, * * Applies any connected attributes to the renderers in * @area by pulling the values from @tree_model. + * + * Since: 3.0 */ void gtk_cell_area_apply_attributes (GtkCellArea *area, @@ -1887,8 +1934,14 @@ gtk_cell_area_apply_attributes (GtkCellArea *area, * gtk_cell_area_apply_attributes() is called and can be * used to interact with renderers from #GtkCellArea * subclasses. + * + * Return value: The current #GtkTreePath string for the current + * attributes applied to @area. This string belongs to the area and + * should not be freed. + * + * Since: 3.0 */ -const gchar * +G_CONST_RETURN gchar * gtk_cell_area_get_current_path_string (GtkCellArea *area) { GtkCellAreaPrivate *priv; @@ -1911,6 +1964,8 @@ gtk_cell_area_get_current_path_string (GtkCellArea *area) * @pspec: the #GParamSpec for the property * * Installs a cell property on a cell area class. + * + * Since: 3.0 */ void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, @@ -1943,10 +1998,13 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, * gtk_cell_area_class_find_cell_property: * @aclass: a #GtkCellAreaClass * @property_name: the name of the child property to find - * @returns: (allow-none): the #GParamSpec of the child property or %NULL if @aclass has no - * child property with that name. * * Finds a cell property of a cell area class by name. + * + * Return value: (allow-none): the #GParamSpec of the child property or %NULL if @aclass has no + * child property with that name. + * + * Since: 3.0 */ GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, @@ -1965,10 +2023,13 @@ gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, * gtk_cell_area_class_list_cell_properties: * @aclass: a #GtkCellAreaClass * @n_properties: location to return the number of cell properties found - * @returns: a newly allocated %NULL-terminated array of #GParamSpec*. - * The array must be freed with g_free(). * * Returns all cell properties of a cell area class. + * + * Return value: a newly allocated %NULL-terminated array of #GParamSpec*. + * The array must be freed with g_free(). + * + * Since: 3.0 */ GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, @@ -1998,7 +2059,9 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, * * Adds @renderer to @area, setting cell properties at the same time. * See gtk_cell_area_add() and gtk_cell_area_child_set() for more details. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_add_with_properties (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2036,7 +2099,9 @@ gtk_cell_area_add_with_properties (GtkCellArea *area, * with @first_prop_name * * Sets one or more cell properties for @cell in @area. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_cell_set (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2062,7 +2127,9 @@ gtk_cell_area_cell_set (GtkCellArea *area, * optionally by more name/return location pairs, followed by %NULL * * Gets the values of one or more cell properties for @renderer in @area. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_cell_get (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2133,7 +2200,9 @@ area_set_cell_property (GtkCellArea *area, * with @first_prop_name * * Sets one or more cell properties for @renderer in @area. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_cell_set_valist (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2193,7 +2262,9 @@ gtk_cell_area_cell_set_valist (GtkCellArea *area, * optionally by more name/return location pairs, followed by %NULL * * Gets the values of one or more cell properties for @renderer in @area. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_cell_get_valist (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2250,7 +2321,9 @@ gtk_cell_area_cell_get_valist (GtkCellArea *area, * @value: the value to set the cell property to * * Sets a cell property for @renderer in @area. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_cell_set_property (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2286,7 +2359,9 @@ gtk_cell_area_cell_set_property (GtkCellArea *area, * @value: a location to return the value * * Gets the value of a cell property for @renderer in @area. - **/ + * + * Since: 3.0 + */ void gtk_cell_area_cell_get_property (GtkCellArea *area, GtkCellRenderer *renderer, @@ -2354,7 +2429,9 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, * Returns whether the area can do anything when activated, * after applying new attributes to @area. * - * Returns: whether @area can do anything when activated. + * Return value: whether @area can do anything when activated. + * + * Since: 3.0 */ gboolean gtk_cell_area_is_activatable (GtkCellArea *area) @@ -2377,7 +2454,9 @@ gtk_cell_area_is_activatable (GtkCellArea *area) * method to receive and navigate focus in it's own way particular * to how it lays out cells. * - * Returns: %TRUE if focus remains inside @area as a result of this call. + * Return value: %TRUE if focus remains inside @area as a result of this call. + * + * Since: 3.0 */ gboolean gtk_cell_area_focus (GtkCellArea *area, @@ -2410,7 +2489,9 @@ gtk_cell_area_focus (GtkCellArea *area, * cell, however some subclasses which embed widgets in the area * can also activate a widget if it currently has the focus. * - * Returns: Whether @area was successfully activated. + * Return value: Whether @area was successfully activated. + * + * Since: 3.0 */ gboolean gtk_cell_area_activate (GtkCellArea *area, @@ -2435,6 +2516,8 @@ gtk_cell_area_activate (GtkCellArea *area, * is called. It's also up to the #GtkCellArea implementation * to update the focused cell when receiving events from * gtk_cell_area_event() appropriately. + * + * Since: 3.0 */ void gtk_cell_area_set_focus_cell (GtkCellArea *area, @@ -2474,7 +2557,9 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area, * * Retrieves the currently focused cell for @area * - * Returns: the currently focused cell in @area. + * Return value: the currently focused cell in @area. + * + * Since: 3.0 */ GtkCellRenderer * gtk_cell_area_get_focus_cell (GtkCellArea *area) @@ -2505,6 +2590,8 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) * * Events handled by focus siblings can also activate the given * focusable @renderer. + * + * Since: 3.0 */ void gtk_cell_area_add_focus_sibling (GtkCellArea *area, @@ -2548,6 +2635,8 @@ gtk_cell_area_add_focus_sibling (GtkCellArea *area, * * Removes @sibling from @renderer's focus sibling list * (see gtk_cell_area_add_focus_sibling()). + * + * Since: 3.0 */ void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, @@ -2583,6 +2672,8 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea *area, * * Returns %TRUE if @sibling is one of @renderer's focus siblings * (see gtk_cell_area_add_focus_sibling()). + * + * Since: 3.0 */ gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, @@ -2618,7 +2709,10 @@ gtk_cell_area_is_focus_sibling (GtkCellArea *area, * * Gets the focus sibling cell renderers for @renderer. * - * Returns: A #GList of #GtkCellRenderers. The returned list is internal and should not be freed. + * Return value: (element-type GtkCellRenderer) (transfer none): A #GList of #GtkCellRenderers. + * The returned list is internal and should not be freed. + * + * Since: 3.0 */ const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area, @@ -2647,7 +2741,9 @@ gtk_cell_area_get_focus_siblings (GtkCellArea *area, * then chose to activate the focus cell for which the event * cell may have been a sibling. * - * Returns: the #GtkCellRenderer for which @renderer is a sibling, or %NULL. + * Return value: the #GtkCellRenderer for which @renderer is a sibling, or %NULL. + * + * Since: 3.0 */ GtkCellRenderer * gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, @@ -2788,7 +2884,9 @@ gtk_cell_area_set_edit_widget (GtkCellArea *area, * Gets the #GtkCellRenderer in @area that is currently * being edited. * - * Returns: The currently edited #GtkCellRenderer + * Return value: The currently edited #GtkCellRenderer + * + * Since: 3.0 */ GtkCellRenderer * gtk_cell_area_get_edited_cell (GtkCellArea *area) @@ -2809,7 +2907,9 @@ gtk_cell_area_get_edited_cell (GtkCellArea *area) * Gets the #GtkCellEditable widget currently used * to edit the currently edited cell. * - * Returns: The currently active #GtkCellEditable widget + * Return value: The currently active #GtkCellEditable widget + * + * Since: 3.0 */ GtkCellEditable * gtk_cell_area_get_edit_widget (GtkCellArea *area) @@ -2838,7 +2938,9 @@ gtk_cell_area_get_edit_widget (GtkCellArea *area) * for keyboard events for free in it's own GtkCellArea->activate() * implementation. * - * Returns: whether cell activation was successful + * Return value: whether cell activation was successful + * + * Since: 3.0 */ gboolean gtk_cell_area_activate_cell (GtkCellArea *area, @@ -2932,6 +3034,8 @@ gtk_cell_area_activate_cell (GtkCellArea *area, * * If @canceled is %TRUE, the cell renderer will emit * the ::editing-canceled signal. + * + * Since: 3.0 */ void gtk_cell_area_stop_editing (GtkCellArea *area, @@ -2968,6 +3072,20 @@ gtk_cell_area_stop_editing (GtkCellArea *area, * API: Convenience for area implementations * *************************************************************/ +/** + * gtk_cell_area_inner_cell_area: + * @area: a #GtkCellArea + * @widget: the #GtkWidget that @area is rendering onto + * @cell_area: the @widget relative coordinates where one of @area's cells + * is to be placed + * @inner_area: (out): the return location for the inner cell area + * + * This is a convenience function for #GtkCellArea implementations + * to get the inner area where a given #GtkCellRenderer will be + * rendered. It removes any padding previously added by gtk_cell_area_request_renderer(). + * + * Since: 3.0 + */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, GtkWidget *widget, @@ -2991,6 +3109,25 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area, inner_area->height -= focus_line_width * 2; } +/** + * gtk_cell_area_request_renderer: + * @area: a #GtkCellArea + * @renderer: the #GtkCellRenderer to request size for + * @orientation: the #GtkOrientation in which to request size + * @widget: the #GtkWidget that @area is rendering onto + * @for_size: the allocation contextual size to request for, or -1 if + * the base request for the orientation is to be returned. + * @minimum_size: (out) (allow-none): location to store the minimum size, or %NULL + * @natural_size: (out) (allow-none): location to store the natural size, or %NULL + * + * This is a convenience function for #GtkCellArea implementations + * to request size for cell renderers. It's important to use this + * function to request size and then use gtk_cell_area_inner_cell_area() + * at render and event time since this function will add padding + * around the cell for focus painting. + * + * Since: 3.0 + */ void gtk_cell_area_request_renderer (GtkCellArea *area, GtkCellRenderer *renderer, diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 6b78d20829..164af47467 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -21,6 +21,20 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtkcellareacontext + * @Short_Description: An object for a #GtkCellArea to store geometrical information for a series of rows. + * @Title: GtkCellAreaContext + * + * The #GtkCellAreaContext object is created by a given #GtkCellArea implementation via it's + * #GtkCellAreaClass.create_context() virtual method and is used to store cell sizes and alignments + * for a series of #GtkTreeModel rows that are requested and rendered in the same context. + * + * #GtkCellLayout widgets can create any number of contexts in which to request and render + * groups of data rows. However its important that the same context which was used to + * request sizes for a given #GtkTreeModel row also be used for the same row when calling + * other #GtkCellArea apis such as gtk_cell_area_render() and gtk_cell_area_event(). + */ #include "config.h" #include "gtkintl.h" #include "gtkmarshalers.h" @@ -97,6 +111,13 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) class->reset = gtk_cell_area_context_real_reset; class->allocate = gtk_cell_area_context_real_allocate; + /** + * GtkCellAreaContext:area: + * + * The #GtkCellArea this context was created by + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_CELL_AREA, g_param_spec_object ("area", @@ -105,6 +126,15 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) GTK_TYPE_CELL_AREA, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /** + * GtkCellAreaContext:minimum-width: + * + * The minimum width for the #GtkCellArea in this context + * for all #GtkTreeModel rows that this context was requested + * for using gtk_cell_area_get_preferred_width(). + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_MIN_WIDTH, g_param_spec_int ("minimum-width", @@ -115,6 +145,15 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) -1, G_PARAM_READABLE)); + /** + * GtkCellAreaContext:natural-width: + * + * The natural width for the #GtkCellArea in this context + * for all #GtkTreeModel rows that this context was requested + * for using gtk_cell_area_get_preferred_width(). + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_NAT_WIDTH, g_param_spec_int ("natural-width", @@ -125,6 +164,15 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) -1, G_PARAM_READABLE)); + /** + * GtkCellAreaContext:minimum-height: + * + * The minimum height for the #GtkCellArea in this context + * for all #GtkTreeModel rows that this context was requested + * for using gtk_cell_area_get_preferred_height(). + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_MIN_HEIGHT, g_param_spec_int ("minimum-height", @@ -135,6 +183,15 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) -1, G_PARAM_READABLE)); + /** + * GtkCellAreaContext:natural-height: + * + * The natural height for the #GtkCellArea in this context + * for all #GtkTreeModel rows that this context was requested + * for using gtk_cell_area_get_preferred_height(). + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_NAT_HEIGHT, g_param_spec_int ("natural-height", @@ -256,6 +313,25 @@ gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, /************************************************************* * API * *************************************************************/ +/** + * gtk_cell_area_context_get_area: + * @context: a #GtkCellAreaContext + * + * Fetches the #GtkCellArea this @context was created by. + * + * This is generally unneeded by layouting widgets however + * its important for the context implementation itself to + * fetch information about the area it is being used for. + * + * For instance at #GtkCellAreaContextClass.allocate() time + * it's important to know details about any cell spacing + * that the #GtkCellArea is configured with in order to + * compute a proper allocation. + * + * Return value: the #GtkCellArea this context was created by. + * + * Since: 3.0 + */ GtkCellArea * gtk_cell_area_context_get_area (GtkCellAreaContext *context) { @@ -268,6 +344,35 @@ gtk_cell_area_context_get_area (GtkCellAreaContext *context) return priv->cell_area; } +/** + * gtk_cell_area_context_reset: + * @context: a #GtkCellAreaContext + * + * Resets any previously cached request and allocation + * data. + * + * When underlying #GtkTreeModel data changes it's + * important to reset the context if the content + * size is allowed to shrink. If the content size + * is only allowed to grow (this is usually an option + * for views rendering large data stores as a measure + * of optimization), then only the row that changed + * or was inserted needs to be (re)requested with + * gtk_cell_area_get_preferred_width(). + * + * When the new overall size of the context requires + * that the allocated size changes (or whenever this + * allocation changes at all), the variable row + * sizes need to be re-requested for every row. + * + * For instance, if the rows are displayed all with + * the same width from top to bottom then a change + * in the allocated width necessitates a recalculation + * of all the displayed row heights using + * gtk_cell_area_get_preferred_height_for_width(). + * + * Since 3.0 + */ void gtk_cell_area_context_reset (GtkCellAreaContext *context) { @@ -276,6 +381,23 @@ gtk_cell_area_context_reset (GtkCellAreaContext *context) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->reset (context); } +/** + * gtk_cell_area_context_allocate: + * @context: a #GtkCellAreaContext + * @width: the allocated width for all #GtkTreeModel rows rendered with @context, or -1. + * @height: the allocated height for all #GtkTreeModel rows rendered with @context, or -1. + * + * Allocates a width and/or a height for all rows which are to be rendered with @context. + * + * Usually allocation is performed only horizontally or sometimes vertically since + * a group of rows are usually rendered side by side vertically or horizontally and + * share either the same width or the same hieght. Sometimes they are allocated in + * both horizontal and vertical orientations producing a homogenious effect of the + * rows. This is generally the case for #GtkTreeView when #GtkTreeView:fixed-height-mode + * is enabled. + * + * Since 3.0 + */ void gtk_cell_area_context_allocate (GtkCellAreaContext *context, gint width, @@ -286,6 +408,20 @@ gtk_cell_area_context_allocate (GtkCellAreaContext *context, GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->allocate (context, width, height); } +/** + * gtk_cell_area_context_get_preferred_width: + * @context: a #GtkCellAreaContext + * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL + * @natural_width: (out) (allow-none): location to store the natural width, or %NULL + * + * Gets the accumulative preferred width for all rows which have been requested + * with this context. + * + * After gtk_cell_area_context_reset() is called and/or before ever requesting + * the size of a #GtkCellArea, the returned values are -1. + * + * Since: 3.0 + */ void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, gint *minimum_width, @@ -304,6 +440,20 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, *natural_width = priv->nat_width; } +/** + * gtk_cell_area_context_get_preferred_height: + * @context: a #GtkCellAreaContext + * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL + * @natural_height: (out) (allow-none): location to store the natural height, or %NULL + * + * Gets the accumulative preferred height for all rows which have been requested + * with this context. + * + * After gtk_cell_area_context_reset() is called and/or before ever requesting + * the size of a #GtkCellArea, the returned values are -1. + * + * Since: 3.0 + */ void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, gint *minimum_height, @@ -322,6 +472,20 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, *natural_height = priv->nat_height; } +/** + * gtk_cell_area_context_get_allocation: + * @context: a #GtkCellAreaContext + * @width: (out) (allow-none): location to store the allocated width, or %NULL. + * @height: (out) (allow-none): location to store the allocated height, or %NULL. + * + * Fetches the current allocation size for @context. + * + * If the context was not allocated in width or height, or if the + * context was recently reset with gtk_cell_area_context_reset(), + * the returned value will be -1. + * + * Since: 3.0 + */ void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, gint *width, @@ -340,6 +504,22 @@ gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, *height = priv->alloc_height; } +/** + * gtk_cell_area_context_push_preferred_width: + * @context: a #GtkCellAreaContext + * @minimum_width: the proposed new minimum width for @context. + * @natural_width: the proposed new natural width for @context. + * + * Causes the minimum and/or natural width to grow if the new + * proposed sizes exceed the current minimum and natural width. + * + * This is used by #GtkCellAreaContext implementations during + * the request process over a series of #GtkTreeModel rows to + * progressively push the requested width over a series of + * gtk_cell_area_get_preferred_width() requests. + * + * Since: 3.0 + */ void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, gint minimum_width, @@ -370,6 +550,22 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, g_object_thaw_notify (G_OBJECT (context)); } +/** + * gtk_cell_area_context_push_preferred_height: + * @context: a #GtkCellAreaContext + * @minimum_height: the proposed new minimum height for @context. + * @natural_height: the proposed new natural height for @context. + * + * Causes the minimum and/or natural height to grow if the new + * proposed sizes exceed the current minimum and natural height. + * + * This is used by #GtkCellAreaContext implementations during + * the request process over a series of #GtkTreeModel rows to + * progressively push the requested height over a series of + * gtk_cell_area_get_preferred_height() requests. + * + * Since: 3.0 + */ void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, gint minimum_height, diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 2338074a2d..549977f351 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -49,15 +49,27 @@ struct _GtkCellAreaContext GtkCellAreaContextPrivate *priv; }; +/** + * GtkCellAreaContextClass: + * @allocate: This tells the context that an allocation width or height (or both) + * have been decided for a group of rows. The context should store any allocations + * for internally aligned cells at this point so that they dont need to be + * recalculated at gtk_cell_area_render() time. + * @reset: Clear any previously stored information about requested and allocated + * sizes for the context. + */ struct _GtkCellAreaContextClass { + /*< private >*/ GObjectClass parent_class; + /*< public >*/ void (* allocate) (GtkCellAreaContext *context, gint width, gint height); void (* reset) (GtkCellAreaContext *context); + /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); From 9e3ebe49558e26628e0fe1573b1d80da15467469 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 17:12:59 +0900 Subject: [PATCH 0314/1463] Marking GtkCellArea structure portions as /*< private >*/ --- gtk/gtkcellarea.h | 1 + gtk/gtkcellareabox.h | 2 ++ gtk/gtkcellareacontext.h | 1 + 3 files changed, 4 insertions(+) diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index f857e19ab5..874a863c2b 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -60,6 +60,7 @@ typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, struct _GtkCellArea { + /*< private >*/ GInitiallyUnowned parent_instance; GtkCellAreaPrivate *priv; diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index caba7cd4ea..a6d3a061bb 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -45,6 +45,7 @@ typedef struct _GtkCellAreaBoxPrivate GtkCellAreaBoxPrivate; struct _GtkCellAreaBox { + /*< private >*/ GtkCellArea parent_instance; GtkCellAreaBoxPrivate *priv; @@ -52,6 +53,7 @@ struct _GtkCellAreaBox struct _GtkCellAreaBoxClass { + /*< private >*/ GtkCellAreaClass parent_class; /* Padding for future expansion */ diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 549977f351..2731a73db4 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -44,6 +44,7 @@ typedef struct _GtkCellAreaContextClass GtkCellAreaContextClass; struct _GtkCellAreaContext { + /*< private >*/ GObject parent_instance; GtkCellAreaContextPrivate *priv; From 0fa7477091564666465e72692ddb856200d53dc3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 17:13:31 +0900 Subject: [PATCH 0315/1463] Adding documentation for GtkCellAreaBox. --- gtk/gtkcellareabox.c | 110 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a3a241c8dd..d51e11ac65 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -21,6 +21,30 @@ * Boston, MA 02111-1307, USA. */ + +/** + * SECTION:gtkcellareabox + * @Short_Description: A cell area that renders #GtkCellRenderers into a row or a column + * @Title: GtkCellAreaBox + * + * The #GtkCellAreaBox renders cell renderers into a row or a column depending on + * its #GtkOrientation. + * + * GtkCellAreaBox uses a notion of packing. Packing + * refers to adding cell renderers with reference to a particular position + * in a #GtkCellAreaBox. There are two reference positions: the + * start and the end of the box. + * When the #GtkCellAreaBox is oriented in the %GTK_ORIENTATION_VERTICAL orientation, + * the start is defined as the top of the box and the end is defined as the bottom. + * In the %GTK_ORIENTATION_HORIZONTAL orientation start is defined as the + * left side and the end is defined as the right side. + * + * Alignments of #GtkCellRenderers rendered in adjacent rows can be configured + * by configuring the #GtkCellAreaBox:align child cell property with + * gtk_cell_area_cell_set_property() or by specifying the "align" argument + * to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end(). + */ + #include "config.h" #include "gtkintl.h" #include "gtkorientable.h" @@ -256,6 +280,13 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) /* Properties */ g_object_class_override_property (object_class, PROP_ORIENTATION, "orientation"); + /** + * GtkCellAreaBox:spacing: + * + * The amount of space to reserve between cells. + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_SPACING, g_param_spec_int ("spacing", @@ -267,6 +298,14 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) GTK_PARAM_READWRITE)); /* Cell Properties */ + /** + * GtkCellAreaBox:expand: + * + * Whether the cell renderer should receive extra space when the area receives + * more than its natural size. + * + * Since: 3.0 + */ gtk_cell_area_class_install_cell_property (area_class, CELL_PROP_EXPAND, g_param_spec_boolean @@ -276,6 +315,13 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) FALSE, GTK_PARAM_READWRITE)); + /** + * GtkCellAreaBox:align: + * + * Whether the cell renderer should be aligned in adjacent rows. + * + * Since: 3.0 + */ gtk_cell_area_class_install_cell_property (area_class, CELL_PROP_ALIGN, g_param_spec_boolean @@ -285,6 +331,14 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) TRUE, GTK_PARAM_READWRITE)); + /** + * GtkCellAreaBox:pack-type: + * + * A GtkPackType indicating whether the cell renderer is packed with reference to the + * start or end of the area. + * + * Since: 3.0 + */ gtk_cell_area_class_install_cell_property (area_class, CELL_PROP_PACK_TYPE, g_param_spec_enum @@ -1990,12 +2044,34 @@ gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, /************************************************************* * API * *************************************************************/ +/** + * gtk_cell_area_box_new: + * + * Creates a new #GtkCellAreaBox. + * + * Return value: a newly created #GtkCellAreaBox + */ GtkCellArea * gtk_cell_area_box_new (void) { return (GtkCellArea *)g_object_new (GTK_TYPE_CELL_AREA_BOX, NULL); } +/** + * gtk_cell_area_box_pack_start: + * @box: a #GtkCellAreaBox + * @renderer: the #GtkCellRenderer to add + * @expand: whether @renderer should receive extra space when the area receives + * more than its natural size + * @align: whether @renderer should be aligned in adjacent rows. + * + * Adds @renderer to @box, packed with reference to the start of @box. + * + * The @renderer is packed after any other #GtkCellRenderer packed with reference + * to the start of @box. + * + * Since: 3.0 + */ void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, @@ -2024,6 +2100,21 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, cell_groups_rebuild (box); } +/** + * gtk_cell_area_box_pack_end: + * @box: a #GtkCellAreaBox + * @renderer: the #GtkCellRenderer to add + * @expand: whether @renderer should receive extra space when the area receives + * more than its natural size + * @align: whether @renderer should be aligned in adjacent rows. + * + * Adds @renderer to @box, packed with reference to the end of @box. + * + * The @renderer is packed after (away from end of) any other #GtkCellRenderer + * packed with reference to the end of @box. + * + * Since: 3.0 + */ void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, @@ -2052,6 +2143,16 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, cell_groups_rebuild (box); } +/** + * gtk_cell_area_box_get_spacing: + * @box: a #GtkCellAreaBox + * + * Gets the spacing added between cell renderers. + * + * Return value: the space added between cell renderers in @box. + * + * Since: 3.0 + */ gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box) { @@ -2060,6 +2161,15 @@ gtk_cell_area_box_get_spacing (GtkCellAreaBox *box) return box->priv->spacing; } +/** + * gtk_cell_area_box_set_spacing: + * @box: a #GtkCellAreaBox + * @spacing: the space to add between #GtkCellRenderers + * + * Sets the spacing to add between cell renderers in @box. + * + * Since: 3.0 + */ void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, gint spacing) From c5a60e035da205ff2af93bbfdded4328419889e6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 17:21:28 +0900 Subject: [PATCH 0316/1463] Removed GtkCellAreaBoxPrivate from GtkCellAreaBox section. --- docs/reference/gtk/gtk3-sections.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 39cbc00cee..589641bb91 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4472,7 +4472,6 @@ GtkCellAreaContextPrivate GtkCellAreaBox GtkCellAreaBox GtkCellAreaBoxClass -GtkCellAreaBoxPrivate gtk_cell_area_box_new gtk_cell_area_box_pack_start gtk_cell_area_box_pack_end @@ -4486,6 +4485,7 @@ gtk_cell_area_box_get_type GTK_CELL_AREA_BOX_CLASS GTK_IS_CELL_AREA_BOX_CLASS GTK_CELL_AREA_BOX_GET_CLASS +GtkCellAreaBoxPrivate
From 2a41de70b149050bbeb4cf2b49be1942f29e3ea4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 14:04:25 +0900 Subject: [PATCH 0317/1463] Removing an unused variable from GtkCellRendererText->get_preferred_width() --- gtk/gtkcellrenderertext.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index 31ddd304c7..a61e8c6ea6 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -2103,7 +2103,7 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell, PangoContext *context; PangoFontMetrics *metrics; PangoRectangle rect; - gint char_width, digit_width, char_pixels, text_width, ellipsize_chars, guess_width, xpad; + gint char_width, digit_width, char_pixels, text_width, ellipsize_chars, xpad; gint min_width, nat_width; /* "width-chars" Hard-coded minimum width: @@ -2124,10 +2124,6 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell, layout = get_layout (celltext, widget, NULL, 0); - /* Get the layout with the text possibly wrapping at wrap_width */ - pango_layout_get_pixel_extents (layout, NULL, &rect); - guess_width = rect.width; - /* Fetch the length of the complete unwrapped text */ pango_layout_set_width (layout, -1); pango_layout_get_extents (layout, NULL, &rect); @@ -2168,6 +2164,7 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell, else nat_width = xpad * 2 + PANGO_PIXELS (text_width); + nat_width = MAX (nat_width, min_width); if (priv->max_width_chars > 0) @@ -2183,7 +2180,6 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell, if (natural_size) *natural_size = nat_width; - } static void From 7e2571a3580673696dda82138b637b01e76d0a0e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 15:02:53 +0900 Subject: [PATCH 0318/1463] Added "Cell Properties" section to the GtkCellArea documentation. --- gtk/gtkcellarea.c | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index a5e8ab9428..b80c2eaf31 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -231,7 +231,9 @@ * customized derived areas can be implemented who are interested in handling * other events. Handling an event can trigger the #GtkCellArea::focus-changed * signal to fire as well as #GtkCellArea::add-editable in the case that - * an editable cell was clicked and needs to start editing. + * an editable cell was clicked and needs to start editing. You can call + * gtk_cell_area_stop_editing() at any time to cancel any cell editing + * that is currently in progress. * * The #GtkCellArea drives keyboard focus from cell to cell in a way similar * to #GtkWidget. For layouting widgets that support giving focus to cells it's @@ -294,7 +296,7 @@ * else * { * if (focus_row == last_row) - * break; + * break; * else * { * focus_row++; @@ -309,6 +311,28 @@ * * * + * + * Cell Properties + * + * The #GtkCellArea introduces cell properties for #GtkCellRenderers in very + * much the same way that #GtkContainer introduces child properties + * for #GtkWidgets. This provides some general interfaces for defining the relationship cell areas + * have with thier cells. For instance in a #GtkCellAreaBox a cell might "expand" and recieve extra + * space when the area is allocated more than it's full natural request, or a cell might be configured + * to "align" with adjacent rows which were requested and rendered with the same #GtkCellAreaContext. + * + * Use gtk_cell_area_class_install_cell_property() to install cell properties + * for a cell area class and gtk_cell_area_class_find_cell_property() or + * gtk_cell_area_class_list_cell_properties() to get information about existing + * cell properties. + * + * To set the value of a cell property, use gtk_cell_area_cell_set_property(), + * gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). + * To obtain the value of a cell property, use + * gtk_cell_area_cell_get_property(), gtk_cell_area_cell_get() or + * gtk_cell_area_cell_get_valist(). + * + * * */ From 9c6a801f5252c07ca4afbae85f9dde6c1abfcf78 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 15:41:42 +0900 Subject: [PATCH 0319/1463] Migrated GtkCellLayout documentation into the source code. Also added a section on specifying properties in the GtkCellLayout UI description. --- docs/reference/gtk/tmpl/gtkcelllayout.sgml | 186 --------------------- gtk/gtkcelllayout.c | 68 ++++++++ gtk/gtkcelllayout.h | 11 ++ 3 files changed, 79 insertions(+), 186 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkcelllayout.sgml diff --git a/docs/reference/gtk/tmpl/gtkcelllayout.sgml b/docs/reference/gtk/tmpl/gtkcelllayout.sgml deleted file mode 100644 index 166d2cb996..0000000000 --- a/docs/reference/gtk/tmpl/gtkcelllayout.sgml +++ /dev/null @@ -1,186 +0,0 @@ - -GtkCellLayout - - -An interface for packing cells - - - -#GtkCellLayout is an interface to be implemented by all objects which -want to provide a #GtkTreeViewColumn-like API for packing cells, setting -attributes and data funcs. - - - -One of the notable features provided by implementations of GtkCellLayout -are attributes. Attributes let you set the properties -in flexible ways. They can just be set to constant values like regular -properties. But they can also be mapped to a column of the underlying -tree model with gtk_cell_layout_set_attributes(), which means that the value -of the attribute can change from cell to cell as they are rendered by the -cell renderer. Finally, it is possible to specify a function with -gtk_cell_layout_set_cell_data_func() that is called to determine the value -of the attribute for each cell that is rendered. - - - -GtkCellLayouts as GtkBuildable - -Implementations of GtkCellLayout which also implement the GtkBuildable -interface (#GtkCellView, #GtkIconView, #GtkComboBox, #GtkComboBoxEntry, -#GtkEntryCompletion, #GtkTreeViewColumn) accept GtkCellRenderer objects -as <child> elements in UI definitions. They support a custom -<attributes> element for their children, which can contain -multiple <attribute> elements. Each <attribute> element has -a name attribute which specifies a property of the cell renderer; the -content of the element is the attribute value. - - -A UI definition fragment specifying attributes - - - - - 0 - - " - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - -@g_iface: -@pack_start: -@pack_end: -@clear: -@add_attribute: -@set_cell_data_func: -@clear_attributes: -@reorder: -@get_cells: - - - -A function which should set the value of @cell_layout's cell renderer(s) -as appropriate. - - -@cell_layout: a #GtkCellLayout -@cell: the cell renderer whose value is to be set -@tree_model: the model -@iter: a #GtkTreeIter indicating the row to set the value for -@data: user data passed to gtk_cell_layout_set_cell_data_func() - - - - - - - -@cell_layout: -@cell: -@expand: - - - - - - - -@cell_layout: -@cell: -@expand: - - - - - - - -@cell_layout: -@Returns: - - - - - - - -@cell_layout: -@cell: -@position: - - - - - - - -@cell_layout: - - - - - - - -@cell_layout: -@cell: -@Varargs: - - - - - - - -@cell_layout: -@cell: -@attribute: -@column: - - - - - - - -@cell_layout: -@cell: -@func: -@func_data: -@destroy: - - - - - - - -@cell_layout: -@cell: - - diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index fb35428fe3..e0d8652055 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -17,6 +17,74 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtkcelllayout + * @Short_Description: An interface for packing cells + * @Title: GtkCellLayout + * + * #GtkCellLayout is an interface to be implemented by all objects which + * want to provide a #GtkTreeViewColumn-like API for packing cells, setting + * attributes and data funcs. + * + * One of the notable features provided by implementations of GtkCellLayout + * are attributes. Attributes let you set the properties + * in flexible ways. They can just be set to constant values like regular + * properties. But they can also be mapped to a column of the underlying + * tree model with gtk_cell_layout_set_attributes(), which means that the value + * of the attribute can change from cell to cell as they are rendered by the + * cell renderer. Finally, it is possible to specify a function with + * gtk_cell_layout_set_cell_data_func() that is called to determine the value + * of the attribute for each cell that is rendered. + * + * + * GtkCellLayouts as GtkBuildable + * + * Implementations of GtkCellLayout which also implement the GtkBuildable + * interface (#GtkCellView, #GtkIconView, #GtkComboBox, #GtkComboBoxEntry, + * #GtkEntryCompletion, #GtkTreeViewColumn) accept GtkCellRenderer objects + * as <child> elements in UI definitions. They support a custom + * <attributes> element for their children, which can contain + * multiple <attribute> elements. Each <attribute> element has + * a name attribute which specifies a property of the cell renderer; the + * content of the element is the attribute value. + * + * + * A UI definition fragment specifying attributes + * + * + * + * + * 0 + * + * " + * + * ]]> + * + * + * Furthermore for implementations of GtkCellLayout that use a #GtkCellArea + * to lay out cells (most, of not all GtkCellLayouts in GTK+ use a GtkCellArea) + * cell properties can also be defined + * in the format by specifying the custom <cell-packing> attribute which + * can contain multiple <property> elements defined in the normal way. + * + * A UI definition fragment specifying cell properties + * + * + * + * + * True + * False + * + * " + * + * ]]> + * + * + * + */ + #include "config.h" #include #include diff --git a/gtk/gtkcelllayout.h b/gtk/gtkcelllayout.h index 0191ab5568..26957e6b2a 100644 --- a/gtk/gtkcelllayout.h +++ b/gtk/gtkcelllayout.h @@ -41,6 +41,17 @@ typedef struct _GtkCellLayout GtkCellLayout; /* dummy typedef */ typedef struct _GtkCellLayoutIface GtkCellLayoutIface; /* keep in sync with GtkTreeCellDataFunc */ +/** + * GtkCellLayoutDataFunc: + * @cell_layout: a #GtkCellLayout + * @cell: the cell renderer whose value is to be set + * @tree_model: the model + * @iter: a #GtkTreeIter indicating the row to set the value for + * @data: user data passed to gtk_cell_layout_set_cell_data_func() + * + * A function which should set the value of @cell_layout's cell renderer(s) + * as appropriate. + */ typedef void (* GtkCellLayoutDataFunc) (GtkCellLayout *cell_layout, GtkCellRenderer *cell, GtkTreeModel *tree_model, From acc4dd291287b6217fdee5b0e56e18bfb3899322 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 23:26:25 +0900 Subject: [PATCH 0320/1463] Added GtkTreeViewColumn:cell-area construct-only property. Allow feeding treeviewcolumn a custom cell-area (or not a custom one, but allow sharing the cell-area with say, the combo-box area). This patch also: - Fixes signal connections to the area (now they do eventually get disconnected at dispose time, they are handled regardless if a treeview is set but execute safely, at least there is only one connection/disconnection). - Fixes refcounting on the cell_area (GtkCellArea is GInitiallyUnowned). - Adds a constructor() in order to build the cell-area if one has not been provided by the caller before hand at g_object_new() construct time. --- gtk/gtktreeviewcolumn.c | 119 +++++++++++++++++++++++++++++++--------- 1 file changed, 92 insertions(+), 27 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index f4aa265737..30d84ffd3a 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -98,6 +98,9 @@ static void gtk_tree_view_column_get_property (GObject GParamSpec *pspec); static void gtk_tree_view_column_finalize (GObject *object); static void gtk_tree_view_column_dispose (GObject *object); +static GObject *gtk_tree_view_column_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); /* GtkCellLayout implementation */ static GtkCellArea *gtk_tree_view_column_cell_layout_get_area (GtkCellLayout *cell_layout); @@ -164,6 +167,7 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class) class->clicked = NULL; + object_class->constructor = gtk_tree_view_column_constructor; object_class->finalize = gtk_tree_view_column_finalize; object_class->dispose = gtk_tree_view_column_dispose; object_class->set_property = gtk_tree_view_column_set_property; @@ -336,6 +340,22 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class) G_MAXINT, -1, GTK_PARAM_READWRITE)); + + /** + * GtkTreeViewColumn:cell-area: + * + * The #GtkCellArea used to layout cell renderers for this column. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + } static void @@ -379,15 +399,45 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) tree_column->fixed_width = 1; tree_column->use_resized_width = FALSE; tree_column->title = g_strdup (""); +} + +static GObject * +gtk_tree_view_column_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GtkTreeViewColumn *tree_column; + GObject *object; + + object = G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + tree_column = (GtkTreeViewColumn *) object; + + if (!tree_column->cell_area) + { + tree_column->cell_area = gtk_cell_area_box_new (); + g_object_ref_sink (tree_column->cell_area); + } - tree_column->cell_area = gtk_cell_area_box_new (); gtk_cell_area_set_style_detail (tree_column->cell_area, "treeview"); + + tree_column->add_editable_signal = + g_signal_connect (tree_column->cell_area, "add-editable", + G_CALLBACK (gtk_tree_view_column_add_editable_callback), + tree_column); + tree_column->remove_editable_signal = + g_signal_connect (tree_column->cell_area, "remove-editable", + G_CALLBACK (gtk_tree_view_column_remove_editable_callback), + tree_column); + tree_column->cell_area_context = gtk_cell_area_create_context (tree_column->cell_area); tree_column->context_changed_signal = - g_signal_connect (tree_column->cell_area_context, "notify", + g_signal_connect (priv->cell_area_context, "notify", G_CALLBACK (gtk_tree_view_column_context_changed), tree_column); + return object; } static void @@ -408,8 +458,15 @@ gtk_tree_view_column_dispose (GObject *object) if (tree_column->cell_area) { + g_signal_handler_disconnect (tree_column->cell_area, + tree_column->add_editable_signal); + g_signal_handler_disconnect (tree_column->cell_area, + tree_column->remove_editable_signal); + g_object_unref (tree_column->cell_area); tree_column->cell_area = NULL; + tree_column->add_editable_signal = 0; + tree_column->remove_editable_signal = 0; } if (tree_column->child) @@ -438,6 +495,7 @@ gtk_tree_view_column_set_property (GObject *object, GParamSpec *pspec) { GtkTreeViewColumn *tree_column; + GtkCellArea *area; tree_column = GTK_TREE_VIEW_COLUMN (object); @@ -522,6 +580,14 @@ gtk_tree_view_column_set_property (GObject *object, gtk_tree_view_column_set_sort_column_id (tree_column, g_value_get_int (value)); break; + + case PROP_CELL_AREA: + /* Construct-only, can only be assigned once */ + area = g_value_get_object (value); + + if (area) + tree_column->cell_area = g_object_ref_sink (area); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -625,6 +691,10 @@ gtk_tree_view_column_get_property (GObject *object, g_value_set_int (value, gtk_tree_view_column_get_sort_column_id (tree_column)); break; + + case PROP_CELL_AREA: + g_value_set_object (value, tree_column->priv->cell_area); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1111,15 +1181,18 @@ gtk_tree_view_column_add_editable_callback (GtkCellArea *area, GtkTreePath *path; GtkTreeViewColumn *column = user_data; - path = gtk_tree_path_new_from_string (path_string); - - _gtk_tree_view_add_editable (GTK_TREE_VIEW (column->tree_view), - column, - path, - edit_widget, - cell_area); - - gtk_tree_path_free (path); + if (column->tree_view) + { + path = gtk_tree_path_new_from_string (path_string); + + _gtk_tree_view_add_editable (GTK_TREE_VIEW (column->tree_view), + column, + path, + edit_widget, + cell_area); + + gtk_tree_path_free (path); + } } static void @@ -1130,9 +1203,10 @@ gtk_tree_view_column_remove_editable_callback (GtkCellArea *area, { GtkTreeViewColumn *column = user_data; - _gtk_tree_view_remove_editable (GTK_TREE_VIEW (column->tree_view), - column, - edit_widget); + if (column->tree_view) + _gtk_tree_view_remove_editable (GTK_TREE_VIEW (column->tree_view), + column, + edit_widget); } /* Exported Private Functions. @@ -1221,20 +1295,11 @@ _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, column->tree_view = GTK_WIDGET (tree_view); gtk_tree_view_column_create_button (column); - column->add_editable_signal = - g_signal_connect (column->cell_area, "add-editable", - G_CALLBACK (gtk_tree_view_column_add_editable_callback), - column); - column->remove_editable_signal = - g_signal_connect (column->cell_area, "remove-editable", - G_CALLBACK (gtk_tree_view_column_remove_editable_callback), - column); - column->property_changed_signal = - g_signal_connect_swapped (tree_view, - "notify::model", - G_CALLBACK (gtk_tree_view_column_setup_sort_column_id_callback), - column); + g_signal_connect_swapped (tree_view, + "notify::model", + G_CALLBACK (gtk_tree_view_column_setup_sort_column_id_callback), + column); gtk_tree_view_column_setup_sort_column_id_callback (column); } From 0f4a2d322be507aaae8229f84bf80665901512d3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 15:52:40 +0900 Subject: [PATCH 0321/1463] Fixed merge conflicts from cherry-pick of construct-only GtkTreeViewColumn:cell-area property. --- gtk/gtktreeviewcolumn.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 30d84ffd3a..effd8a362b 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -75,7 +75,8 @@ enum PROP_REORDERABLE, PROP_SORT_INDICATOR, PROP_SORT_ORDER, - PROP_SORT_COLUMN_ID + PROP_SORT_COLUMN_ID, + PROP_CELL_AREA }; enum @@ -434,7 +435,7 @@ gtk_tree_view_column_constructor (GType type, tree_column->cell_area_context = gtk_cell_area_create_context (tree_column->cell_area); tree_column->context_changed_signal = - g_signal_connect (priv->cell_area_context, "notify", + g_signal_connect (tree_column->cell_area_context, "notify", G_CALLBACK (gtk_tree_view_column_context_changed), tree_column); return object; @@ -693,7 +694,7 @@ gtk_tree_view_column_get_property (GObject *object, break; case PROP_CELL_AREA: - g_value_set_object (value, tree_column->priv->cell_area); + g_value_set_object (value, tree_column->cell_area); break; default: From c8c5ed8fa1d20ee93c45324138f85da76e968f43 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 14:05:15 +0900 Subject: [PATCH 0322/1463] Removing hack and fixing gtk_tree_view_column_cell_get_size(). Now consult gtk_cell_area_context_get_preferred_height(). It can be that height-for-widths requested here were too large when multiple cells are in play because of the alignments stored in the context... removing the temporary focus-line-width hack. --- gtk/gtktreeviewcolumn.c | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index effd8a362b..ed3ac9657b 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2473,44 +2473,36 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gint *width, gint *height) { - int focus_line_width; + gint min_width = 0, min_height = 0; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - if (height) - * height = 0; - if (width) - * width = 0; - - /* FIXME: This is a temporary hack to get things to allocate mostly right. - * - * We will add twice the focus-line-width to the for-width - * parameter below. If we do not do this, the height returned is the - * height for two lines of text instead of one. It feels like some lines - * get less width than expected (due to subtraction of focus_line_width?) - * and will unnecessarily wrap. - */ - gtk_widget_style_get (tree_column->tree_view, - "focus-line-width", &focus_line_width, - NULL); - g_signal_handler_block (tree_column->cell_area_context, tree_column->context_changed_signal); gtk_cell_area_get_preferred_width (tree_column->cell_area, tree_column->cell_area_context, tree_column->tree_view, - width, NULL); + NULL, NULL); + + gtk_cell_area_context_get_preferred_width (tree_column->cell_area_context, &min_width, NULL); + gtk_cell_area_get_preferred_height_for_width (tree_column->cell_area, tree_column->cell_area_context, tree_column->tree_view, - *width + focus_line_width * 2, - height, + min_width, + &min_height, NULL); g_signal_handler_unblock (tree_column->cell_area_context, tree_column->context_changed_signal); + + if (height) + * height = min_height; + if (width) + * width = min_width; + } /** From 52ba4f49c52a3157b595ea5da8c2a8f228094e28 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 16:53:28 +0900 Subject: [PATCH 0323/1463] Added boolean return to GtkCellLayout buildable custom tag end shared private function. --- gtk/gtkcelllayout.c | 7 ++++--- gtk/gtkcelllayout.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index e0d8652055..b2182d276e 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -745,7 +745,7 @@ _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, return FALSE; } -void +gboolean _gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, @@ -759,13 +759,14 @@ _gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, attr_data = (AttributesSubParserData*)data; g_assert (!attr_data->attr_name); g_slice_free (AttributesSubParserData, attr_data); - return; + return TRUE; } else if (strcmp (tagname, "cell-packing") == 0) { g_slice_free (CellPackingSubParserData, (gpointer)data); - return; + return TRUE; } + return FALSE; } void diff --git a/gtk/gtkcelllayout.h b/gtk/gtkcelllayout.h index 26957e6b2a..6ab3844542 100644 --- a/gtk/gtkcelllayout.h +++ b/gtk/gtkcelllayout.h @@ -123,7 +123,7 @@ gboolean _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable *buildable, const gchar *tagname, GMarkupParser *parser, gpointer *data); -void _gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, +gboolean _gtk_cell_layout_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, From 84eb40b57ef67ef7da689bae2975719a79d4c2a7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 16:55:49 +0900 Subject: [PATCH 0324/1463] Added GtkEntryCompletion:cell-area construct property. - Removed most of GtkCellLayout implementation in favor of ->get_area() - This allows GtkBuildable cell layout implementation to implement the child "cell-properties" - Also allows feeding a custom/different GtkCellArea implementation to layout cells. - Share the internal area with the created GtkTreeViewColumn. --- gtk/gtkentrycompletion.c | 273 +++++++++++++++++++-------------------- gtk/gtkentryprivate.h | 1 + 2 files changed, 132 insertions(+), 142 deletions(-) diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index a14303588b..922e84e6c4 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -23,6 +23,7 @@ #include "gtkentryprivate.h" #include "gtkcelllayout.h" +#include "gtkcellareabox.h" #include "gtkintl.h" #include "gtkcellrenderertext.h" @@ -63,11 +64,17 @@ enum PROP_POPUP_COMPLETION, PROP_POPUP_SET_WIDTH, PROP_POPUP_SINGLE_MATCH, - PROP_INLINE_SELECTION + PROP_INLINE_SELECTION, + PROP_CELL_AREA }; -static void gtk_entry_completion_cell_layout_init (GtkCellLayoutIface *iface); +static void gtk_entry_completion_cell_layout_init (GtkCellLayoutIface *iface); +static GtkCellArea* gtk_entry_completion_get_area (GtkCellLayout *cell_layout); + +static GObject *gtk_entry_completion_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); static void gtk_entry_completion_set_property (GObject *object, guint prop_id, const GValue *value, @@ -76,30 +83,8 @@ static void gtk_entry_completion_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_entry_completion_finalize (GObject *object); - -static void gtk_entry_completion_pack_start (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand); -static void gtk_entry_completion_pack_end (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand); -static void gtk_entry_completion_clear (GtkCellLayout *cell_layout); -static void gtk_entry_completion_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - const char *attribute, - gint column); -static void gtk_entry_completion_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); -static void gtk_entry_completion_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *cell); -static void gtk_entry_completion_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gint position); -static GList * gtk_entry_completion_get_cells (GtkCellLayout *cell_layout); +static void gtk_entry_completion_finalize (GObject *object); +static void gtk_entry_completion_dispose (GObject *object); static gboolean gtk_entry_completion_visible_func (GtkTreeModel *model, GtkTreeIter *iter, @@ -167,8 +152,10 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) object_class = (GObjectClass *)klass; + object_class->constructor = gtk_entry_completion_constructor; object_class->set_property = gtk_entry_completion_set_property; object_class->get_property = gtk_entry_completion_get_property; + object_class->dispose = gtk_entry_completion_dispose; object_class->finalize = gtk_entry_completion_finalize; klass->match_selected = gtk_entry_completion_match_selected; @@ -391,37 +378,55 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) FALSE, GTK_PARAM_READWRITE)); + + /** + * GtkEntryCompletion:cell-area: + * + * The #GtkCellArea used to layout cell renderers in the treeview column. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_type_class_add_private (object_class, sizeof (GtkEntryCompletionPrivate)); } + +static void +_gtk_entry_completion_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) +{ + /* Just ignore the boolean return from here */ + _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data); +} + static void gtk_entry_completion_buildable_init (GtkBuildableIface *iface) { iface->add_child = _gtk_cell_layout_buildable_add_child; iface->custom_tag_start = _gtk_cell_layout_buildable_custom_tag_start; - iface->custom_tag_end = _gtk_cell_layout_buildable_custom_tag_end; + iface->custom_tag_end = _gtk_entry_completion_buildable_custom_tag_end; } static void gtk_entry_completion_cell_layout_init (GtkCellLayoutIface *iface) { - iface->pack_start = gtk_entry_completion_pack_start; - iface->pack_end = gtk_entry_completion_pack_end; - iface->clear = gtk_entry_completion_clear; - iface->add_attribute = gtk_entry_completion_add_attribute; - iface->set_cell_data_func = gtk_entry_completion_set_cell_data_func; - iface->clear_attributes = gtk_entry_completion_clear_attributes; - iface->reorder = gtk_entry_completion_reorder; - iface->get_cells = gtk_entry_completion_get_cells; + iface->get_area = gtk_entry_completion_get_area; } static void gtk_entry_completion_init (GtkEntryCompletion *completion) { - GtkCellRenderer *cell; - GtkTreeSelection *sel; GtkEntryCompletionPrivate *priv; - GtkWidget *popup_frame; /* yes, also priv, need to keep the code readable */ completion->priv = G_TYPE_INSTANCE_GET_PRIVATE (completion, @@ -438,9 +443,34 @@ gtk_entry_completion_init (GtkEntryCompletion *completion) priv->popup_single_match = TRUE; priv->inline_selection = FALSE; - /* completions */ priv->filter_model = NULL; +} +static GObject * +gtk_entry_completion_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GtkEntryCompletion *completion; + GtkEntryCompletionPrivate *priv; + GObject *object; + GtkCellRenderer *cell; + GtkTreeSelection *sel; + GtkWidget *popup_frame; + + object = G_OBJECT_CLASS (gtk_entry_completion_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + completion = (GtkEntryCompletion *) object; + priv = completion->priv; + + if (!priv->cell_area) + { + priv->cell_area = gtk_cell_area_box_new (); + g_object_ref_sink (priv->cell_area); + } + + /* completions */ priv->tree_view = gtk_tree_view_new (); g_signal_connect (priv->tree_view, "button-press-event", G_CALLBACK (gtk_entry_completion_list_button_press), @@ -463,7 +493,7 @@ gtk_entry_completion_init (GtkEntryCompletion *completion) completion); priv->first_sel_changed = TRUE; - priv->column = gtk_tree_view_column_new (); + priv->column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, "cell-area", priv->cell_area, NULL); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->tree_view), priv->column); priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); @@ -539,8 +569,11 @@ gtk_entry_completion_init (GtkEntryCompletion *completion) * been inserted, so we pack the action treeview after the first * action has been added */ + + return object; } + static void gtk_entry_completion_set_property (GObject *object, guint prop_id, @@ -549,6 +582,7 @@ gtk_entry_completion_set_property (GObject *object, { GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (object); GtkEntryCompletionPrivate *priv = completion->priv; + GtkCellArea *area; switch (prop_id) { @@ -585,6 +619,14 @@ gtk_entry_completion_set_property (GObject *object, case PROP_INLINE_SELECTION: priv->inline_selection = g_value_get_boolean (value); break; + + case PROP_CELL_AREA: + /* Construct-only, can only be assigned once */ + area = g_value_get_object (value); + + if (area) + priv->cell_area = g_object_ref_sink (area); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -635,6 +677,10 @@ gtk_entry_completion_get_property (GObject *object, g_value_set_boolean (value, gtk_entry_completion_get_inline_selection (completion)); break; + case PROP_CELL_AREA: + g_value_set_object (value, completion->priv->cell_area); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -647,123 +693,66 @@ gtk_entry_completion_finalize (GObject *object) GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (object); GtkEntryCompletionPrivate *priv = completion->priv; - if (priv->tree_view) - gtk_widget_destroy (priv->tree_view); - - if (priv->entry) - gtk_entry_set_completion (GTK_ENTRY (priv->entry), NULL); - - if (priv->actions) - g_object_unref (priv->actions); - if (priv->action_view) - g_object_unref (priv->action_view); - g_free (priv->case_normalized_key); g_free (priv->completion_prefix); - if (priv->popup_window) - gtk_widget_destroy (priv->popup_window); - if (priv->match_notify) (* priv->match_notify) (priv->match_data); G_OBJECT_CLASS (gtk_entry_completion_parent_class)->finalize (object); } -/* implement cell layout interface */ static void -gtk_entry_completion_pack_start (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand) +gtk_entry_completion_dispose (GObject *object) +{ + GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (object); + GtkEntryCompletionPrivate *priv = completion->priv; + + if (priv->tree_view) + { + gtk_widget_destroy (priv->tree_view); + priv->tree_view = NULL; + } + + if (priv->entry) + gtk_entry_set_completion (GTK_ENTRY (priv->entry), NULL); + + if (priv->actions) + { + g_object_unref (priv->actions); + priv->actions = NULL; + } + + if (priv->action_view) + { + g_object_unref (priv->action_view); + priv->action_view = NULL; + } + + if (priv->popup_window) + { + gtk_widget_destroy (priv->popup_window); + priv->popup_window = NULL; + } + + if (priv->cell_area) + { + g_object_unref (priv->cell_area); + priv->cell_area = NULL; + } + + G_OBJECT_CLASS (gtk_entry_completion_parent_class)->dispose (object); +} + +/* implement cell layout interface (only need to return the underlying cell area) */ +static GtkCellArea* +gtk_entry_completion_get_area (GtkCellLayout *cell_layout) { GtkEntryCompletionPrivate *priv; priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - gtk_tree_view_column_pack_start (priv->column, cell, expand); -} - -static void -gtk_entry_completion_pack_end (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gboolean expand) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - gtk_tree_view_column_pack_end (priv->column, cell, expand); -} - -static void -gtk_entry_completion_clear (GtkCellLayout *cell_layout) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - gtk_tree_view_column_clear (priv->column); -} - -static void -gtk_entry_completion_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - gtk_tree_view_column_add_attribute (priv->column, cell, attribute, column); -} - -static void -gtk_entry_completion_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->column), - cell, func, func_data, destroy); -} - -static void -gtk_entry_completion_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *cell) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - gtk_tree_view_column_clear_attributes (priv->column, cell); -} - -static void -gtk_entry_completion_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gint position) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (priv->column), cell, position); -} - -static GList * -gtk_entry_completion_get_cells (GtkCellLayout *cell_layout) -{ - GtkEntryCompletionPrivate *priv; - - priv = GTK_ENTRY_COMPLETION (cell_layout)->priv; - - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->column)); + return priv->cell_area; } /* all those callbacks */ diff --git a/gtk/gtkentryprivate.h b/gtk/gtkentryprivate.h index 63a5cd02c2..a08205acea 100644 --- a/gtk/gtkentryprivate.h +++ b/gtk/gtkentryprivate.h @@ -37,6 +37,7 @@ struct _GtkEntryCompletionPrivate GtkTreeModelFilter *filter_model; GtkListStore *actions; gboolean first_sel_changed; + GtkCellArea *cell_area; GtkEntryCompletionMatchFunc match_func; gpointer match_data; From 9c7e00f744e571393a25bb0a939b6df16507ed17 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 17:10:31 +0900 Subject: [PATCH 0325/1463] Fixing GtkTreeViewColumn to use the new _gtk_cell_layout_buildable_custom_tag_end correctly. --- gtk/gtkentrycompletion.c | 4 ++-- gtk/gtktreeviewcolumn.c | 13 ++++++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 922e84e6c4..8d21b64e32 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -399,7 +399,7 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) static void -_gtk_entry_completion_buildable_custom_tag_end (GtkBuildable *buildable, +gtk_entry_completion_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, @@ -414,7 +414,7 @@ gtk_entry_completion_buildable_init (GtkBuildableIface *iface) { iface->add_child = _gtk_cell_layout_buildable_add_child; iface->custom_tag_start = _gtk_cell_layout_buildable_custom_tag_start; - iface->custom_tag_end = _gtk_entry_completion_buildable_custom_tag_end; + iface->custom_tag_end = gtk_entry_completion_buildable_custom_tag_end; } static void diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index ed3ac9657b..f49e8fa138 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -359,12 +359,23 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class) } +static void +gtk_tree_view_column_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) +{ + /* Just ignore the boolean return from here */ + _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data); +} + static void gtk_tree_view_column_buildable_init (GtkBuildableIface *iface) { iface->add_child = _gtk_cell_layout_buildable_add_child; iface->custom_tag_start = _gtk_cell_layout_buildable_custom_tag_start; - iface->custom_tag_end = _gtk_cell_layout_buildable_custom_tag_end; + iface->custom_tag_end = gtk_tree_view_column_custom_tag_end; } static void From b0f849eafd6c56a052a1ea8930bcff3bb0cfbc15 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 20:52:03 +0900 Subject: [PATCH 0326/1463] Changed GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID for GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID --- docs/reference/gtk/gtk3-sections.txt | 2 +- gtk/gtkcellarea.h | 17 +++++++++++++---- gtk/gtkcellareabox.c | 4 ++-- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 589641bb91..8104875f3d 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4386,6 +4386,7 @@ gtk_cell_layout_get_type GtkCellArea GtkCellAreaClass GtkCellCallback +GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID gtk_cell_area_add gtk_cell_area_remove gtk_cell_area_has_renderer @@ -4415,7 +4416,6 @@ gtk_cell_area_cell_set_valist gtk_cell_area_cell_get_valist gtk_cell_area_cell_set_property gtk_cell_area_cell_get_property -GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID gtk_cell_area_is_activatable gtk_cell_area_activate gtk_cell_area_focus diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 874a863c2b..cf396c638a 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -46,6 +46,19 @@ typedef struct _GtkCellAreaClass GtkCellAreaClass; typedef struct _GtkCellAreaPrivate GtkCellAreaPrivate; typedef struct _GtkCellAreaContext GtkCellAreaContext; +/** + * GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID: + * @object: the #GObject on which set_cell_property() or get_get_property() + * was called + * @property_id: the numeric id of the property + * @pspec: the #GParamSpec of the property + * + * This macro should be used to emit a standard warning about unexpected + * properties in set_cell_property() and get_cell_property() implementations. + */ +#define GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID(object, property_id, pspec) \ + G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) + /** * GtkCellCallback: * @renderer: the cell renderer to operate on @@ -341,10 +354,6 @@ void gtk_cell_area_cell_get_property (GtkCellArea const gchar *property_name, GValue *value); -#define GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID(object, property_id, pspec) \ - G_OBJECT_WARN_INVALID_PSPEC ((object), "cell property id", (property_id), (pspec)) - - /* Focus */ gboolean gtk_cell_area_is_activatable (GtkCellArea *area); gboolean gtk_cell_area_activate (GtkCellArea *area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index d51e11ac65..e24119a75a 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1401,7 +1401,7 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, } break; default: - GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID (area, prop_id, pspec); + GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID (area, prop_id, pspec); break; } @@ -1443,7 +1443,7 @@ gtk_cell_area_box_get_cell_property (GtkCellArea *area, g_value_set_enum (value, info->pack); break; default: - GTK_CELL_AREA_WARN_INVALID_CHILD_PROPERTY_ID (area, prop_id, pspec); + GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID (area, prop_id, pspec); break; } } From bbee4de33d93f94ae704a4c0e761a72b6633ea4f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 20:54:36 +0900 Subject: [PATCH 0327/1463] Fixed typo in GtkCellArea docs. --- gtk/gtkcellarea.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index b80c2eaf31..90f967ad16 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1283,7 +1283,7 @@ gtk_cell_area_add (GtkCellArea *area, /** * gtk_cell_area_remove: * @area: a #GtkCellArea - * @renderer: the #GtkCellRenderer to add to @area + * @renderer: the #GtkCellRenderer to remove from @area * * Removes @renderer from @area. * From c4eff8b6b070f854b511ae3788e09179f067b446 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 21:41:48 +0900 Subject: [PATCH 0328/1463] Added some "align" checkbuttons to show configurable cell alignments in testtreeedit. --- tests/testtreeedit.c | 77 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 71 insertions(+), 6 deletions(-) diff --git a/tests/testtreeedit.c b/tests/testtreeedit.c index 30d2a3fa54..92a75ba5dc 100644 --- a/tests/testtreeedit.c +++ b/tests/testtreeedit.c @@ -128,15 +128,33 @@ button_press_event (GtkWidget *widget, GdkEventButton *event, gpointer callback_ return FALSE; } +typedef struct { + GtkCellArea *area; + GtkCellRenderer *renderer; +} CallbackData; + +static void +align_cell_toggled (GtkToggleButton *toggle, + CallbackData *data) +{ + gboolean active = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (data->area, data->renderer, "align", active, NULL); +} + gint main (gint argc, gchar **argv) { GtkWidget *window; GtkWidget *scrolled_window; GtkWidget *tree_view; + GtkWidget *vbox, *hbox; + GtkWidget *checkbutton; GtkTreeModel *tree_model; GtkCellRenderer *renderer; GtkTreeViewColumn *column; + GtkCellArea *area; + CallbackData callback[4]; gtk_init (&argc, &argv); @@ -147,10 +165,19 @@ main (gint argc, gchar **argv) gtk_window_set_title (GTK_WINDOW (window), "GtkTreeView editing sample"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); + vbox = gtk_vbox_new (FALSE, 6); + gtk_widget_show (vbox); + gtk_container_add (GTK_CONTAINER (window), vbox); + + hbox = gtk_hbox_new (FALSE, 6); + gtk_widget_show (hbox); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); + scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_ETCHED_IN); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (window), scrolled_window); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0); tree_model = create_model (); tree_view = gtk_tree_view_new_with_model (tree_model); @@ -160,33 +187,47 @@ main (gint argc, gchar **argv) column = gtk_tree_view_column_new (); gtk_tree_view_column_set_title (column, "String"); + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)); renderer = gtk_cell_renderer_pixbuf_new (); - gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, "pixbuf", PIXBUF_COLUMN, NULL); + callback[0].area = area; + callback[0].renderer = renderer; renderer = gtk_cell_renderer_text_new (); - gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, "text", STRING_COLUMN, "editable", IS_EDITABLE_COLUMN, NULL); + callback[1].area = area; + callback[1].renderer = renderer; g_signal_connect (renderer, "edited", G_CALLBACK (edited), tree_model); + renderer = gtk_cell_renderer_text_new (); - gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, "text", STRING_COLUMN, "editable", IS_EDITABLE_COLUMN, NULL); + callback[2].area = area; + callback[2].renderer = renderer; g_signal_connect (renderer, "edited", G_CALLBACK (edited), tree_model); renderer = gtk_cell_renderer_pixbuf_new (); - gtk_tree_view_column_pack_start (column, renderer, TRUE); + g_object_set (renderer, + "xalign", 0.0, + NULL); + gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, "pixbuf", PIXBUF_COLUMN, NULL); + callback[3].area = area; + callback[3].renderer = renderer; + gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column); renderer = gtk_cell_renderer_toggle_new (); @@ -214,6 +255,30 @@ main (gint argc, gchar **argv) gtk_window_set_default_size (GTK_WINDOW (window), 800, 175); + checkbutton = gtk_check_button_new_with_label ("Align 1st Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (checkbutton), "toggled", + G_CALLBACK (align_cell_toggled), &callback[0]); + + checkbutton = gtk_check_button_new_with_label ("Align 2nd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (checkbutton), "toggled", + G_CALLBACK (align_cell_toggled), &callback[1]); + + checkbutton = gtk_check_button_new_with_label ("Align 3rd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (checkbutton), "toggled", + G_CALLBACK (align_cell_toggled), &callback[2]); + + checkbutton = gtk_check_button_new_with_label ("Align 4th Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); + gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); + g_signal_connect (G_OBJECT (checkbutton), "toggled", + G_CALLBACK (align_cell_toggled), &callback[3]); + gtk_widget_show_all (window); gtk_main (); From 1d3961b34258a7a8c97ca12993220554369fccb1 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 21:49:44 +0900 Subject: [PATCH 0329/1463] Fixing gtk_cell_area_box_focus(). the ->focus() method was getting mixed up when more than one cell was in the same group (not aligned), added the proper check to break out of the loop on time. --- gtk/gtkcellareabox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index e24119a75a..e69a323150 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1967,7 +1967,7 @@ gtk_cell_area_box_focus (GtkCellArea *area, CellGroup *group = &g_array_index (priv->groups, CellGroup, i); for (list = (cycle == FOCUS_NEXT) ? g_list_first (group->cells) : g_list_last (group->cells); - list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) + cycled_focus == FALSE && list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) { CellInfo *info = list->data; From afcd50d6079f6574f14a1fa0b863ce4b2a1d4fb1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 4 Dec 2010 16:32:02 -0500 Subject: [PATCH 0330/1463] Try again to fix the gdk symbol list Grr, gdk_window_class_class_get_type should have been gdk_window_window_class_get_type. --- gdk/gdk.symbols | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index f884f6011f..4479b6fa8a 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -386,7 +386,7 @@ gdk_window_begin_move_drag gdk_window_begin_paint_rect gdk_window_begin_paint_region gdk_window_begin_resize_drag -gdk_window_class_class_get_type G_GNUC_CONST +gdk_window_window_class_get_type G_GNUC_CONST gdk_window_configure_finished gdk_window_constrain_size gdk_window_coords_from_parent From 5fdc140dd8f86bdcd25ec6b596b6c92ddfe661ed Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 4 Dec 2010 17:25:40 -0500 Subject: [PATCH 0331/1463] Fix a segfault in gdk_window_beep Not a good idea to cast an instance to a class... --- gdk/gdkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 4307f34ae9..71959ee973 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -8052,7 +8052,7 @@ gdk_window_beep (GdkWindow *window) if (toplevel) { - if (GDK_WINDOW_IMPL_CLASS (toplevel)->beep (window)) + if (GDK_WINDOW_IMPL_GET_CLASS (toplevel->impl)->beep (window)) return; } From d351b40a0bd9ee247c5f64858c377378a1eccdbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 27 Nov 2010 04:38:17 +0100 Subject: [PATCH 0332/1463] Add internal accessor for GtkEntry->is_cell_renderer This fixes commit fb3429e5072508570d78dcc7cccb6ef425586bb2 --- gtk/gtkcombobox.c | 6 ++++++ gtk/gtkentry.c | 18 ++++++++++++++++++ gtk/gtkentryprivate.h | 4 ++++ 3 files changed, 28 insertions(+) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 0cf07377b0..4775fe930d 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -50,6 +50,7 @@ #include "gtkmarshalers.h" #include "gtkintl.h" +#include "gtkentryprivate.h" #include "gtktreeprivate.h" @@ -1495,6 +1496,10 @@ gtk_combo_box_add (GtkContainer *container, if (priv->has_entry) { + /* this flag is a hack to tell the entry to fill its allocation. + */ + _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE); + g_signal_connect (widget, "changed", G_CALLBACK (gtk_combo_box_entry_contents_changed), combo_box); @@ -1522,6 +1527,7 @@ gtk_combo_box_remove (GtkContainer *container, g_signal_handlers_disconnect_by_func (widget, gtk_combo_box_entry_contents_changed, container); + _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE); } } diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 2e584762e0..4eb96a34e8 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -10216,3 +10216,21 @@ keymap_state_changed (GdkKeymap *keymap, else remove_capslock_feedback (entry); } + +/* + * _gtk_entry_set_is_cell_renderer: + * @entry: a #GtkEntry + * @is_cell_renderer: new value + * + * This is a helper function for GtkComboBox. A GtkEntry in a GtkComboBox + * is supposed to behave like a GtkCellEditable when placed in a combo box. + * + * I.e take up it's allocation and get GtkEntry->is_cell_renderer = TRUE. + * + */ +void +_gtk_entry_set_is_cell_renderer (GtkEntry *entry, + gboolean is_cell_renderer) +{ + entry->priv->is_cell_renderer = is_cell_renderer; +} diff --git a/gtk/gtkentryprivate.h b/gtk/gtkentryprivate.h index 63a5cd02c2..01c2c7d014 100644 --- a/gtk/gtkentryprivate.h +++ b/gtk/gtkentryprivate.h @@ -85,6 +85,10 @@ void _gtk_entry_effective_inner_border (GtkEntry *entry, GtkBorder *border); void _gtk_entry_reset_im_context (GtkEntry *entry); GtkIMContext* _gtk_entry_get_im_context (GtkEntry *entry); +void _gtk_entry_set_is_cell_renderer (GtkEntry *entry, + gboolean is_cell_renderer); + + G_END_DECLS #endif /* __GTK_ENTRY_PRIVATE_H__ */ From c6e1463d1e14b55d4c0c3db270af2a8716eb2af8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 5 Dec 2010 12:44:43 +0900 Subject: [PATCH 0333/1463] Added different icon at the end of testtreeedit to see if RTL is actually working. --- tests/testtreeedit.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/testtreeedit.c b/tests/testtreeedit.c index 92a75ba5dc..924dc16319 100644 --- a/tests/testtreeedit.c +++ b/tests/testtreeedit.c @@ -31,6 +31,7 @@ enum { STRING_COLUMN, IS_EDITABLE_COLUMN, PIXBUF_COLUMN, + LAST_PIXBUF_COLUMN, PROGRESS_COLUMN, NUM_COLUMNS }; @@ -51,17 +52,19 @@ create_model (void) GtkTreeStore *model; GtkTreeIter iter; gint i; - GdkPixbuf *foo; + GdkPixbuf *foo, *bar; GtkWidget *blah; blah = gtk_window_new (GTK_WINDOW_TOPLEVEL); foo = gtk_widget_render_icon (blah, GTK_STOCK_NEW, GTK_ICON_SIZE_MENU, NULL); + bar = gtk_widget_render_icon (blah, GTK_STOCK_DELETE, GTK_ICON_SIZE_MENU, NULL); gtk_widget_destroy (blah); model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, + GDK_TYPE_PIXBUF, G_TYPE_INT); for (i = 0; model_strings[i].string != NULL; i++) @@ -72,6 +75,7 @@ create_model (void) STRING_COLUMN, model_strings[i].string, IS_EDITABLE_COLUMN, model_strings[i].is_editable, PIXBUF_COLUMN, foo, + LAST_PIXBUF_COLUMN, bar, PROGRESS_COLUMN, model_strings[i].progress, -1); } @@ -224,7 +228,7 @@ main (gint argc, gchar **argv) NULL); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, - "pixbuf", PIXBUF_COLUMN, NULL); + "pixbuf", LAST_PIXBUF_COLUMN, NULL); callback[3].area = area; callback[3].renderer = renderer; From f24c21f1f09590127f552187395aa0d5cf8bf60d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 5 Dec 2010 15:20:46 +0900 Subject: [PATCH 0334/1463] Added proper handling of right to left layouting of cells to GtkCellAreaBox. --- gtk/gtkcellarea.c | 2 - gtk/gtkcellareabox.c | 102 +++++++++++++++++++++++++++++++++---------- 2 files changed, 80 insertions(+), 24 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 90f967ad16..f240adfdb9 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2986,8 +2986,6 @@ gtk_cell_area_activate_cell (GtkCellArea *area, priv = area->priv; /* Remove margins from the background area to produce the cell area. - * - * XXX Maybe have to do some rtl mode treatment here... */ gtk_cell_area_inner_cell_area (area, widget, cell_area, &inner_area); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index e69a323150..a014531a04 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -205,6 +205,10 @@ struct _GtkCellAreaBoxPrivate GSList *contexts; gint spacing; + + /* We hold on to the rtl state from a widget we are requested for + * so that we can navigate focus correctly */ + gboolean rtl; }; enum { @@ -244,6 +248,7 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->cells = NULL; priv->contexts = NULL; priv->spacing = 0; + priv->rtl = FALSE; } static void @@ -636,13 +641,17 @@ allocate_cells_manually (GtkCellAreaBox *box, GtkRequestedSize *sizes; gint i; gint nvisible = 0, nexpand = 0, group_expand; - gint avail_size, extra_size, extra_extra; + gint avail_size, extra_size, extra_extra, full_size; gint position = 0, for_size; - + gboolean rtl; if (!priv->cells) return NULL; + /* For vertical oriented boxes, we just let the cell renderers realign themselves for rtl */ + rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + cells = list_consecutive_cells (box); /* Count the visible and expand cells */ @@ -662,13 +671,13 @@ allocate_cells_manually (GtkCellAreaBox *box, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - avail_size = width; - for_size = height; + full_size = avail_size = width; + for_size = height; } else { - avail_size = height; - for_size = width; + full_size = avail_size = height; + for_size = width; } /* Go ahead and collect the requests on the fly */ @@ -722,7 +731,12 @@ allocate_cells_manually (GtkCellAreaBox *box, } } - cell = allocated_cell_new (info->renderer, position, sizes[i].minimum_size); + if (rtl) + cell = allocated_cell_new (info->renderer, + full_size - (position + sizes[i].minimum_size), + sizes[i].minimum_size); + else + cell = allocated_cell_new (info->renderer, position, sizes[i].minimum_size); allocated_cells = g_slist_prepend (allocated_cells, cell); @@ -755,16 +769,27 @@ get_allocated_cells (GtkCellAreaBox *box, GList *cell_list; GSList *allocated_cells = NULL; gint i, j, n_allocs; - gint for_size; + gint for_size, full_size; + gboolean rtl; group_allocs = gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); if (!group_allocs) return allocate_cells_manually (box, widget, width, height); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - for_size = height; + { + full_size = width; + for_size = height; + } else - for_size = width; + { + full_size = height; + for_size = width; + } + + /* For vertical oriented boxes, we just let the cell renderers realign themselves for rtl */ + rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); for (i = 0; i < n_allocs; i++) { @@ -777,8 +802,14 @@ get_allocated_cells (GtkCellAreaBox *box, if (group->n_cells == 1) { CellInfo *info = group->cells->data; - AllocatedCell *cell = - allocated_cell_new (info->renderer, group_allocs[i].position, group_allocs[i].size); + AllocatedCell *cell; + + if (rtl) + cell = allocated_cell_new (info->renderer, + full_size - (group_allocs[i].position + group_allocs[i].size), + group_allocs[i].size); + else + cell = allocated_cell_new (info->renderer, group_allocs[i].position, group_allocs[i].size); allocated_cells = g_slist_prepend (allocated_cells, cell); } @@ -854,7 +885,12 @@ get_allocated_cells (GtkCellAreaBox *box, } } - cell = allocated_cell_new (info->renderer, position, sizes[j].minimum_size); + if (rtl) + cell = allocated_cell_new (info->renderer, + full_size - (position + sizes[j].minimum_size), + sizes[j].minimum_size); + else + cell = allocated_cell_new (info->renderer, position, sizes[j].minimum_size); allocated_cells = g_slist_prepend (allocated_cells, cell); @@ -1184,6 +1220,10 @@ gtk_cell_area_box_render (GtkCellArea *area, GdkRectangle focus_rect = { 0, }; gboolean first_focus_cell = TRUE; gboolean focus_all = FALSE; + gboolean rtl; + + rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); /* Make sure we dont paint a focus rectangle while there * is an editable widget in play @@ -1232,18 +1272,28 @@ gtk_cell_area_box_render (GtkCellArea *area, * be user resizable and can be resized to be smaller than * the actual requested area). */ if (cell_background.x > cell_area->x + cell_area->width || + cell_background.x + cell_background.width < cell_area->x || cell_background.y > cell_area->y + cell_area->height) break; - /* Special case for the last cell... let the last cell consume the remaining - * space in the area (the last cell is allowed to consume the remaining space if - * the space given for rendering is actually larger than allocation, this can + /* Special case for the last cell (or first cell in rtl)... let the last cell consume + * the remaining space in the area (the last cell is allowed to consume the remaining + * space if the space given for rendering is actually larger than allocation, this can * happen in the expander GtkTreeViewColumn where only the deepest depth column * receives the allocation... shallow columns recieve more width). */ if (!l->next) { - cell_background.width = cell_area->x + cell_area->width - cell_background.x; - cell_background.height = cell_area->y + cell_area->height - cell_background.y; + if (rtl) + { + /* Fill the leading space for the first cell in the area (still last in the list) */ + cell_background.width = (cell_background.x - cell_area->x) + cell_background.width; + cell_background.x = cell_area->x; + } + else + { + cell_background.width = cell_area->x + cell_area->width - cell_background.x; + cell_background.height = cell_area->y + cell_area->height - cell_background.y; + } } else { @@ -1560,6 +1610,10 @@ compute_size (GtkCellAreaBox *box, *minimum_size = min_size; *natural_size = nat_size; + + /* Update rtl state for focus navigation to work */ + priv->rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); } GtkRequestedSize * @@ -1766,6 +1820,10 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, *natural_size = nat_size; g_free (orientation_sizes); + + /* Update rtl state for focus navigation to work */ + priv->rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); } @@ -1925,10 +1983,10 @@ gtk_cell_area_box_focus (GtkCellArea *area, switch (direction) { case GTK_DIR_TAB_FORWARD: - cycle = FOCUS_NEXT; + cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT; break; case GTK_DIR_TAB_BACKWARD: - cycle = FOCUS_PREV; + cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; break; case GTK_DIR_UP: if (priv->orientation == GTK_ORIENTATION_VERTICAL || !focus_cell) @@ -1940,11 +1998,11 @@ gtk_cell_area_box_focus (GtkCellArea *area, break; case GTK_DIR_LEFT: if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !focus_cell) - cycle = FOCUS_PREV; + cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; break; case GTK_DIR_RIGHT: if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !focus_cell) - cycle = FOCUS_NEXT; + cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT; break; default: break; From e0efd067e47e964bd60ad34ab331497867b49fd4 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 5 Dec 2010 12:30:28 +0100 Subject: [PATCH 0335/1463] Avoid memory corruption in the color_properties hashtable. --- gtk/gtkmodifierstyle.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gtk/gtkmodifierstyle.c b/gtk/gtkmodifierstyle.c index 48a4f21f6e..2cbee61b39 100644 --- a/gtk/gtkmodifierstyle.c +++ b/gtk/gtkmodifierstyle.c @@ -282,11 +282,15 @@ gtk_modifier_style_set_color_property (GtkModifierStyle *style, } if (color) - g_hash_table_insert (priv->color_properties, str, - gdk_rgba_copy (color)); + { + g_hash_table_insert (priv->color_properties, str, + gdk_rgba_copy (color)); + } else - g_hash_table_remove (priv->color_properties, str); + { + g_hash_table_remove (priv->color_properties, str); + g_free (str); + } g_signal_emit (style, signals[CHANGED], 0); - g_free (str); } From 86c8ce1cc0de6b9529462ab1f1840c3439677957 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 5 Dec 2010 14:14:03 +0200 Subject: [PATCH 0336/1463] Updated Hebrew translation --- po-properties/he.po | 870 ++++++++++++++++++++++---------------------- 1 file changed, 439 insertions(+), 431 deletions(-) diff --git a/po-properties/he.po b/po-properties/he.po index 2bc6dc6ce6..ebfcd04761 100644 --- a/po-properties/he.po +++ b/po-properties/he.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-04 15:26+0200\n" -"PO-Revision-Date: 2010-12-04 15:27+0200\n" +"POT-Creation-Date: 2010-12-05 14:13+0200\n" +"PO-Revision-Date: 2010-12-05 14:13+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -281,7 +281,7 @@ msgid "A unique name for the action." msgstr "A unique name for the action." #: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:209 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 #: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Label" @@ -325,7 +325,7 @@ msgstr "The GIcon being displayed" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 #: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:732 msgid "Icon Name" msgstr "Icon Name" @@ -391,7 +391,7 @@ msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "When TRUE, empty menu proxies for this action are hidden." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:913 +#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:927 msgid "Sensitive" msgstr "Sensitive" @@ -401,7 +401,7 @@ msgstr "Whether the action is enabled." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 #: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 -#: ../gtk/gtkwidget.c:906 +#: ../gtk/gtkwidget.c:920 msgid "Visible" msgstr "Visible" @@ -602,7 +602,7 @@ msgstr "Arrow shadow" msgid "Appearance of the shadow surrounding the arrow" msgstr "Appearance of the shadow surrounding the arrow" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:731 ../gtk/gtkmenuitem.c:394 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 msgid "Arrow Scaling" msgstr "Arrow Scaling" @@ -610,7 +610,7 @@ msgstr "Arrow Scaling" msgid "Amount of space used up by arrow" msgstr "Amount of space used up by arrow" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1109 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 msgid "Horizontal Alignment" msgstr "Horizontal Alignment" @@ -618,7 +618,7 @@ msgstr "Horizontal Alignment" msgid "X alignment of the child" msgstr "X alignment of the child" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1125 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 msgid "Vertical Alignment" msgstr "Vertical Alignment" @@ -805,7 +805,7 @@ msgstr "Extra space to put between the child and its neighbors, in pixels" msgid "Pack type" msgstr "Pack type" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:793 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:795 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -813,12 +813,12 @@ msgstr "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:764 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:766 ../gtk/gtkpaned.c:327 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Position" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:765 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:767 msgid "The index of the child in the parent" msgstr "The index of the child in the parent" @@ -838,12 +838,12 @@ msgstr "" "Text of the label widget inside the button, if the button contains a label " "widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:588 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:587 #: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Use underline" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:589 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:588 #: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " @@ -1326,7 +1326,7 @@ msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Whether the rendered pixbuf should be colorized according to the state" #: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:709 msgid "Icon" msgstr "Icon" @@ -1413,7 +1413,7 @@ msgid "The number of decimal places to display" msgstr "The number of decimal places to display" #: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:521 ../gtk/gtkspinner.c:131 ../gtk/gtkswitch.c:738 +#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1443,7 +1443,7 @@ msgstr "Markup" msgid "Marked up text to render" msgstr "Marked up text to render" -#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:574 +#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:573 msgid "Attributes" msgstr "Attributes" @@ -1623,7 +1623,7 @@ msgstr "" "when rendering the text. If you don't understand this parameter, you " "probably don't need it" -#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:699 +#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:698 #: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Ellipsize" @@ -1637,15 +1637,15 @@ msgstr "" "have enough room to display the entire string" #: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:720 +#: ../gtk/gtklabel.c:719 msgid "Width In Characters" msgstr "Width In Characters" -#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:721 +#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:720 msgid "The desired width of the label, in characters" msgstr "The desired width of the label, in characters" -#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:781 +#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:780 msgid "Maximum Width In Characters" msgstr "Maximum Width In Characters" @@ -2058,7 +2058,7 @@ msgstr "Whether the combo box draws a frame around the child" msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Whether the combo box grabs focus when it is clicked with the mouse" -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:576 +#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 msgid "Tearoff Title" msgstr "Tearoff Title" @@ -2160,27 +2160,27 @@ msgstr "Shadow type" msgid "Which kind of shadow to draw around the combo box" msgstr "Which kind of shadow to draw around the combo box" -#: ../gtk/gtkcontainer.c:472 +#: ../gtk/gtkcontainer.c:476 msgid "Resize mode" msgstr "Resize mode" -#: ../gtk/gtkcontainer.c:473 +#: ../gtk/gtkcontainer.c:477 msgid "Specify how resize events are handled" msgstr "Specify how resize events are handled" -#: ../gtk/gtkcontainer.c:480 +#: ../gtk/gtkcontainer.c:484 msgid "Border width" msgstr "Border width" -#: ../gtk/gtkcontainer.c:481 +#: ../gtk/gtkcontainer.c:485 msgid "The width of the empty border outside the containers children" msgstr "The width of the empty border outside the containers children" -#: ../gtk/gtkcontainer.c:489 +#: ../gtk/gtkcontainer.c:493 msgid "Child" msgstr "Child" -#: ../gtk/gtkcontainer.c:490 +#: ../gtk/gtkcontainer.c:494 msgid "Can be used to add a new child to the container" msgstr "Can be used to add a new child to the container" @@ -2224,19 +2224,19 @@ msgstr "Text Buffer" msgid "Text buffer object which actually stores entry text" msgstr "Text buffer object which actually stores entry text" -#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:661 msgid "Cursor Position" msgstr "Cursor Position" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:663 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "The current position of the insertion cursor in chars" msgstr "The current position of the insertion cursor in chars" -#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:671 msgid "Selection Bound" msgstr "Selection Bound" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:673 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" @@ -2665,11 +2665,11 @@ msgstr "Whether the expander has been opened to reveal the child widget" msgid "Text of the expander's label" msgstr "Text of the expander's label" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:580 msgid "Use markup" msgstr "Use markup" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:582 +#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:581 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "The text of the label includes XML markup. See pango_parse_markup()" @@ -3179,7 +3179,7 @@ msgstr "Child widget to appear next to the menu text" msgid "Whether to use the label text to create a stock menu item" msgstr "Whether to use the label text to create a stock menu item" -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:536 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 msgid "Accel Group" msgstr "Accel Group" @@ -3208,27 +3208,27 @@ msgid "Width of border around the action area" msgstr "Width of border around the action area" #: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 msgid "Screen" msgstr "Screen" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:742 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 msgid "The screen where this window will be displayed" msgstr "The screen where this window will be displayed" -#: ../gtk/gtklabel.c:568 +#: ../gtk/gtklabel.c:567 msgid "The text of the label" msgstr "The text of the label" -#: ../gtk/gtklabel.c:575 +#: ../gtk/gtklabel.c:574 msgid "A list of style attributes to apply to the text of the label" msgstr "A list of style attributes to apply to the text of the label" -#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "Justification" -#: ../gtk/gtklabel.c:597 +#: ../gtk/gtklabel.c:596 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3238,11 +3238,11 @@ msgstr "" "This does NOT affect the alignment of the label within its allocation. See " "GtkMisc::xalign for that" -#: ../gtk/gtklabel.c:605 +#: ../gtk/gtklabel.c:604 msgid "Pattern" msgstr "Pattern" -#: ../gtk/gtklabel.c:606 +#: ../gtk/gtklabel.c:605 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3250,47 +3250,47 @@ msgstr "" "A string with _ characters in positions correspond to characters in the text " "to underline" -#: ../gtk/gtklabel.c:613 +#: ../gtk/gtklabel.c:612 msgid "Line wrap" msgstr "Line wrap" -#: ../gtk/gtklabel.c:614 +#: ../gtk/gtklabel.c:613 msgid "If set, wrap lines if the text becomes too wide" msgstr "If set, wrap lines if the text becomes too wide" -#: ../gtk/gtklabel.c:629 +#: ../gtk/gtklabel.c:628 msgid "Line wrap mode" msgstr "Line wrap mode" -#: ../gtk/gtklabel.c:630 +#: ../gtk/gtklabel.c:629 msgid "If wrap is set, controls how linewrapping is done" msgstr "If wrap is set, controls how linewrapping is done" -#: ../gtk/gtklabel.c:637 +#: ../gtk/gtklabel.c:636 msgid "Selectable" msgstr "Selectable" -#: ../gtk/gtklabel.c:638 +#: ../gtk/gtklabel.c:637 msgid "Whether the label text can be selected with the mouse" msgstr "Whether the label text can be selected with the mouse" -#: ../gtk/gtklabel.c:644 +#: ../gtk/gtklabel.c:643 msgid "Mnemonic key" msgstr "Mnemonic key" -#: ../gtk/gtklabel.c:645 +#: ../gtk/gtklabel.c:644 msgid "The mnemonic accelerator key for this label" msgstr "The mnemonic accelerator key for this label" -#: ../gtk/gtklabel.c:653 +#: ../gtk/gtklabel.c:652 msgid "Mnemonic widget" msgstr "Mnemonic widget" -#: ../gtk/gtklabel.c:654 +#: ../gtk/gtklabel.c:653 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "The widget to be activated when the label's mnemonic key is pressed" -#: ../gtk/gtklabel.c:700 +#: ../gtk/gtklabel.c:699 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3298,31 +3298,31 @@ msgstr "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:740 msgid "Single Line Mode" msgstr "Single Line Mode" -#: ../gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:741 msgid "Whether the label is in single line mode" msgstr "Whether the label is in single line mode" -#: ../gtk/gtklabel.c:759 +#: ../gtk/gtklabel.c:758 msgid "Angle" msgstr "Angle" -#: ../gtk/gtklabel.c:760 +#: ../gtk/gtklabel.c:759 msgid "Angle at which the label is rotated" msgstr "Angle at which the label is rotated" -#: ../gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:781 msgid "The desired maximum width of the label, in characters" msgstr "The desired maximum width of the label, in characters" -#: ../gtk/gtklabel.c:800 +#: ../gtk/gtklabel.c:799 msgid "Track visited links" msgstr "Track visited links" -#: ../gtk/gtklabel.c:801 +#: ../gtk/gtklabel.c:800 msgid "Whether visited links should be tracked" msgstr "Whether visited links should be tracked" @@ -3386,32 +3386,32 @@ msgstr "Internal padding" msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Amount of border space between the menubar shadow and the menu items" -#: ../gtk/gtkmenu.c:522 +#: ../gtk/gtkmenu.c:521 msgid "The currently selected menu item" msgstr "The currently selected menu item" -#: ../gtk/gtkmenu.c:537 +#: ../gtk/gtkmenu.c:536 msgid "The accel group holding accelerators for the menu" msgstr "The accel group holding accelerators for the menu" -#: ../gtk/gtkmenu.c:551 ../gtk/gtkmenuitem.c:316 +#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 msgid "Accel Path" msgstr "Accel Path" -#: ../gtk/gtkmenu.c:552 +#: ../gtk/gtkmenu.c:551 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "An accel path used to conveniently construct accel paths of child items" -#: ../gtk/gtkmenu.c:568 +#: ../gtk/gtkmenu.c:567 msgid "Attach Widget" msgstr "Attach Widget" -#: ../gtk/gtkmenu.c:569 +#: ../gtk/gtkmenu.c:568 msgid "The widget the menu is attached to" msgstr "The widget the menu is attached to" -#: ../gtk/gtkmenu.c:577 +#: ../gtk/gtkmenu.c:576 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3419,35 +3419,35 @@ msgstr "" "A title that may be displayed by the window manager when this menu is torn-" "off" -#: ../gtk/gtkmenu.c:591 +#: ../gtk/gtkmenu.c:590 msgid "Tearoff State" msgstr "Tearoff State" -#: ../gtk/gtkmenu.c:592 +#: ../gtk/gtkmenu.c:591 msgid "A boolean that indicates whether the menu is torn-off" msgstr "A boolean that indicates whether the menu is torn-off" -#: ../gtk/gtkmenu.c:606 +#: ../gtk/gtkmenu.c:605 msgid "Monitor" msgstr "Monitor" -#: ../gtk/gtkmenu.c:607 +#: ../gtk/gtkmenu.c:606 msgid "The monitor the menu will be popped up on" msgstr "The monitor the menu will be popped up on" -#: ../gtk/gtkmenu.c:613 +#: ../gtk/gtkmenu.c:612 msgid "Vertical Padding" msgstr "Vertical Padding" -#: ../gtk/gtkmenu.c:614 +#: ../gtk/gtkmenu.c:613 msgid "Extra space at the top and bottom of the menu" msgstr "Extra space at the top and bottom of the menu" -#: ../gtk/gtkmenu.c:636 +#: ../gtk/gtkmenu.c:635 msgid "Reserve Toggle Size" msgstr "Reserve Toggle Size" -#: ../gtk/gtkmenu.c:637 +#: ../gtk/gtkmenu.c:636 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" @@ -3455,19 +3455,19 @@ msgstr "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" -#: ../gtk/gtkmenu.c:643 +#: ../gtk/gtkmenu.c:642 msgid "Horizontal Padding" msgstr "Horizontal Padding" -#: ../gtk/gtkmenu.c:644 +#: ../gtk/gtkmenu.c:643 msgid "Extra space at the left and right edges of the menu" msgstr "Extra space at the left and right edges of the menu" -#: ../gtk/gtkmenu.c:652 +#: ../gtk/gtkmenu.c:651 msgid "Vertical Offset" msgstr "Vertical Offset" -#: ../gtk/gtkmenu.c:653 +#: ../gtk/gtkmenu.c:652 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3475,11 +3475,11 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "vertically" -#: ../gtk/gtkmenu.c:661 +#: ../gtk/gtkmenu.c:660 msgid "Horizontal Offset" msgstr "Horizontal Offset" -#: ../gtk/gtkmenu.c:662 +#: ../gtk/gtkmenu.c:661 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3487,55 +3487,55 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" -#: ../gtk/gtkmenu.c:670 +#: ../gtk/gtkmenu.c:669 msgid "Double Arrows" msgstr "Double Arrows" -#: ../gtk/gtkmenu.c:671 +#: ../gtk/gtkmenu.c:670 msgid "When scrolling, always show both arrows." msgstr "When scrolling, always show both arrows." -#: ../gtk/gtkmenu.c:684 +#: ../gtk/gtkmenu.c:683 msgid "Arrow Placement" msgstr "Arrow Placement" -#: ../gtk/gtkmenu.c:685 +#: ../gtk/gtkmenu.c:684 msgid "Indicates where scroll arrows should be placed" msgstr "Indicates where scroll arrows should be placed" -#: ../gtk/gtkmenu.c:693 +#: ../gtk/gtkmenu.c:692 msgid "Left Attach" msgstr "Left Attach" -#: ../gtk/gtkmenu.c:694 ../gtk/gtktable.c:202 +#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "The column number to attach the left side of the child to" -#: ../gtk/gtkmenu.c:701 +#: ../gtk/gtkmenu.c:700 msgid "Right Attach" msgstr "Right Attach" -#: ../gtk/gtkmenu.c:702 +#: ../gtk/gtkmenu.c:701 msgid "The column number to attach the right side of the child to" msgstr "The column number to attach the right side of the child to" -#: ../gtk/gtkmenu.c:709 +#: ../gtk/gtkmenu.c:708 msgid "Top Attach" msgstr "Top Attach" -#: ../gtk/gtkmenu.c:710 +#: ../gtk/gtkmenu.c:709 msgid "The row number to attach the top of the child to" msgstr "The row number to attach the top of the child to" -#: ../gtk/gtkmenu.c:717 +#: ../gtk/gtkmenu.c:716 msgid "Bottom Attach" msgstr "Bottom Attach" -#: ../gtk/gtkmenu.c:718 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "The row number to attach the bottom of the child to" -#: ../gtk/gtkmenu.c:732 +#: ../gtk/gtkmenu.c:731 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "Arbitrary constant to scale down the size of the scroll arrow" @@ -3702,51 +3702,51 @@ msgstr "Are we showing a dialog" msgid "The screen where this window will be displayed." msgstr "The screen where this window will be displayed." -#: ../gtk/gtknotebook.c:689 +#: ../gtk/gtknotebook.c:691 msgid "Page" msgstr "Page" -#: ../gtk/gtknotebook.c:690 +#: ../gtk/gtknotebook.c:692 msgid "The index of the current page" msgstr "The index of the current page" -#: ../gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:700 msgid "Tab Position" msgstr "Tab Position" -#: ../gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:701 msgid "Which side of the notebook holds the tabs" msgstr "Which side of the notebook holds the tabs" -#: ../gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:708 msgid "Show Tabs" msgstr "Show Tabs" -#: ../gtk/gtknotebook.c:707 +#: ../gtk/gtknotebook.c:709 msgid "Whether tabs should be shown" msgstr "Whether tabs should be shown" -#: ../gtk/gtknotebook.c:713 +#: ../gtk/gtknotebook.c:715 msgid "Show Border" msgstr "Show Border" -#: ../gtk/gtknotebook.c:714 +#: ../gtk/gtknotebook.c:716 msgid "Whether the border should be shown" msgstr "Whether the border should be shown" -#: ../gtk/gtknotebook.c:720 +#: ../gtk/gtknotebook.c:722 msgid "Scrollable" msgstr "Scrollable" -#: ../gtk/gtknotebook.c:721 +#: ../gtk/gtknotebook.c:723 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "If TRUE, scroll arrows are added if there are too many tabs to fit" -#: ../gtk/gtknotebook.c:727 +#: ../gtk/gtknotebook.c:729 msgid "Enable Popup" msgstr "Enable Popup" -#: ../gtk/gtknotebook.c:728 +#: ../gtk/gtknotebook.c:730 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3754,123 +3754,123 @@ msgstr "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" -#: ../gtk/gtknotebook.c:742 +#: ../gtk/gtknotebook.c:744 msgid "Group Name" msgstr "Group Name" -#: ../gtk/gtknotebook.c:743 +#: ../gtk/gtknotebook.c:745 msgid "Group name for tab drag and drop" msgstr "Group name for tab drag and drop" -#: ../gtk/gtknotebook.c:750 +#: ../gtk/gtknotebook.c:752 msgid "Tab label" msgstr "Tab label" -#: ../gtk/gtknotebook.c:751 +#: ../gtk/gtknotebook.c:753 msgid "The string displayed on the child's tab label" msgstr "The string displayed on the child's tab label" -#: ../gtk/gtknotebook.c:757 +#: ../gtk/gtknotebook.c:759 msgid "Menu label" msgstr "Menu label" -#: ../gtk/gtknotebook.c:758 +#: ../gtk/gtknotebook.c:760 msgid "The string displayed in the child's menu entry" msgstr "The string displayed in the child's menu entry" -#: ../gtk/gtknotebook.c:771 +#: ../gtk/gtknotebook.c:773 msgid "Tab expand" msgstr "Tab expand" -#: ../gtk/gtknotebook.c:772 +#: ../gtk/gtknotebook.c:774 msgid "Whether to expand the child's tab" msgstr "Whether to expand the child's tab" -#: ../gtk/gtknotebook.c:778 +#: ../gtk/gtknotebook.c:780 msgid "Tab fill" msgstr "Tab fill" -#: ../gtk/gtknotebook.c:779 +#: ../gtk/gtknotebook.c:781 msgid "Whether the child's tab should fill the allocated area" msgstr "Whether the child's tab should fill the allocated area" -#: ../gtk/gtknotebook.c:792 +#: ../gtk/gtknotebook.c:794 msgid "Tab pack type" msgstr "Tab pack type" -#: ../gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:801 msgid "Tab reorderable" msgstr "Tab reorderable" -#: ../gtk/gtknotebook.c:800 +#: ../gtk/gtknotebook.c:802 msgid "Whether the tab is reorderable by user action" msgstr "Whether the tab is reorderable by user action" -#: ../gtk/gtknotebook.c:806 +#: ../gtk/gtknotebook.c:808 msgid "Tab detachable" msgstr "Tab detachable" -#: ../gtk/gtknotebook.c:807 +#: ../gtk/gtknotebook.c:809 msgid "Whether the tab is detachable" msgstr "Whether the tab is detachable" -#: ../gtk/gtknotebook.c:822 ../gtk/gtkscrollbar.c:105 +#: ../gtk/gtknotebook.c:824 ../gtk/gtkscrollbar.c:105 msgid "Secondary backward stepper" msgstr "Secondary backward stepper" -#: ../gtk/gtknotebook.c:823 +#: ../gtk/gtknotebook.c:825 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Display a second backward arrow button on the opposite end of the tab area" -#: ../gtk/gtknotebook.c:838 ../gtk/gtkscrollbar.c:112 +#: ../gtk/gtknotebook.c:840 ../gtk/gtkscrollbar.c:112 msgid "Secondary forward stepper" msgstr "Secondary forward stepper" -#: ../gtk/gtknotebook.c:839 +#: ../gtk/gtknotebook.c:841 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Display a second forward arrow button on the opposite end of the tab area" -#: ../gtk/gtknotebook.c:853 ../gtk/gtkscrollbar.c:91 +#: ../gtk/gtknotebook.c:855 ../gtk/gtkscrollbar.c:91 msgid "Backward stepper" msgstr "Backward stepper" -#: ../gtk/gtknotebook.c:854 ../gtk/gtkscrollbar.c:92 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:92 msgid "Display the standard backward arrow button" msgstr "Display the standard backward arrow button" -#: ../gtk/gtknotebook.c:868 ../gtk/gtkscrollbar.c:98 +#: ../gtk/gtknotebook.c:870 ../gtk/gtkscrollbar.c:98 msgid "Forward stepper" msgstr "Forward stepper" -#: ../gtk/gtknotebook.c:869 ../gtk/gtkscrollbar.c:99 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:99 msgid "Display the standard forward arrow button" msgstr "Display the standard forward arrow button" -#: ../gtk/gtknotebook.c:883 +#: ../gtk/gtknotebook.c:885 msgid "Tab overlap" msgstr "Tab overlap" -#: ../gtk/gtknotebook.c:884 +#: ../gtk/gtknotebook.c:886 msgid "Size of tab overlap area" msgstr "Size of tab overlap area" -#: ../gtk/gtknotebook.c:899 +#: ../gtk/gtknotebook.c:901 msgid "Tab curvature" msgstr "Tab curvature" -#: ../gtk/gtknotebook.c:900 +#: ../gtk/gtknotebook.c:902 msgid "Size of tab curvature" msgstr "Size of tab curvature" -#: ../gtk/gtknotebook.c:916 +#: ../gtk/gtknotebook.c:918 msgid "Arrow spacing" msgstr "Arrow spacing" -#: ../gtk/gtknotebook.c:917 +#: ../gtk/gtknotebook.c:919 msgid "Scroll arrow spacing" msgstr "Scroll arrow spacing" @@ -4801,11 +4801,11 @@ msgstr "Draw" msgid "Whether the separator is drawn, or just blank" msgstr "Whether the separator is drawn, or just blank" -#: ../gtk/gtksettings.c:277 +#: ../gtk/gtksettings.c:285 msgid "Double Click Time" msgstr "Double Click Time" -#: ../gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:286 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4813,11 +4813,11 @@ msgstr "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" -#: ../gtk/gtksettings.c:285 +#: ../gtk/gtksettings.c:293 msgid "Double Click Distance" msgstr "Double Click Distance" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:294 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4825,35 +4825,35 @@ msgstr "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" -#: ../gtk/gtksettings.c:302 +#: ../gtk/gtksettings.c:310 msgid "Cursor Blink" msgstr "Cursor Blink" -#: ../gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:311 msgid "Whether the cursor should blink" msgstr "Whether the cursor should blink" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:318 msgid "Cursor Blink Time" msgstr "Cursor Blink Time" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:319 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Length of the cursor blink cycle, in milliseconds" -#: ../gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:338 msgid "Cursor Blink Timeout" msgstr "Cursor Blink Timeout" -#: ../gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:339 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Time after which the cursor stops blinking, in seconds" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:346 msgid "Split Cursor" msgstr "Split Cursor" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:347 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4861,149 +4861,149 @@ msgstr "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:354 msgid "Theme Name" msgstr "Theme Name" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:355 msgid "Name of theme RC file to load" msgstr "Name of theme RC file to load" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:363 msgid "Icon Theme Name" msgstr "Icon Theme Name" -#: ../gtk/gtksettings.c:356 +#: ../gtk/gtksettings.c:364 msgid "Name of icon theme to use" msgstr "Name of icon theme to use" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:372 msgid "Fallback Icon Theme Name" msgstr "Fallback Icon Theme Name" -#: ../gtk/gtksettings.c:365 +#: ../gtk/gtksettings.c:373 msgid "Name of a icon theme to fall back to" msgstr "Name of a icon theme to fall back to" -#: ../gtk/gtksettings.c:373 +#: ../gtk/gtksettings.c:381 msgid "Key Theme Name" msgstr "Key Theme Name" -#: ../gtk/gtksettings.c:374 +#: ../gtk/gtksettings.c:382 msgid "Name of key theme RC file to load" msgstr "Name of key theme RC file to load" -#: ../gtk/gtksettings.c:382 +#: ../gtk/gtksettings.c:390 msgid "Menu bar accelerator" msgstr "Menu bar accelerator" -#: ../gtk/gtksettings.c:383 +#: ../gtk/gtksettings.c:391 msgid "Keybinding to activate the menu bar" msgstr "Keybinding to activate the menu bar" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:399 msgid "Drag threshold" msgstr "Drag threshold" -#: ../gtk/gtksettings.c:392 +#: ../gtk/gtksettings.c:400 msgid "Number of pixels the cursor can move before dragging" msgstr "Number of pixels the cursor can move before dragging" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:408 msgid "Font Name" msgstr "Font Name" -#: ../gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:409 msgid "Name of default font to use" msgstr "Name of default font to use" -#: ../gtk/gtksettings.c:423 +#: ../gtk/gtksettings.c:431 msgid "Icon Sizes" msgstr "Icon Sizes" -#: ../gtk/gtksettings.c:424 +#: ../gtk/gtksettings.c:432 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -#: ../gtk/gtksettings.c:432 +#: ../gtk/gtksettings.c:440 msgid "GTK Modules" msgstr "GTK Modules" -#: ../gtk/gtksettings.c:433 +#: ../gtk/gtksettings.c:441 msgid "List of currently active GTK modules" msgstr "List of currently active GTK modules" -#: ../gtk/gtksettings.c:442 +#: ../gtk/gtksettings.c:450 msgid "Xft Antialias" msgstr "Xft Antialias" -#: ../gtk/gtksettings.c:443 +#: ../gtk/gtksettings.c:451 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" -#: ../gtk/gtksettings.c:452 +#: ../gtk/gtksettings.c:460 msgid "Xft Hinting" msgstr "Xft Hinting" -#: ../gtk/gtksettings.c:453 +#: ../gtk/gtksettings.c:461 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" -#: ../gtk/gtksettings.c:462 +#: ../gtk/gtksettings.c:470 msgid "Xft Hint Style" msgstr "Xft Hint Style" -#: ../gtk/gtksettings.c:463 +#: ../gtk/gtksettings.c:471 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -#: ../gtk/gtksettings.c:472 +#: ../gtk/gtksettings.c:480 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:473 +#: ../gtk/gtksettings.c:481 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" -#: ../gtk/gtksettings.c:482 +#: ../gtk/gtksettings.c:490 msgid "Xft DPI" msgstr "Xft DPI" -#: ../gtk/gtksettings.c:483 +#: ../gtk/gtksettings.c:491 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -#: ../gtk/gtksettings.c:492 +#: ../gtk/gtksettings.c:500 msgid "Cursor theme name" msgstr "Cursor theme name" -#: ../gtk/gtksettings.c:493 +#: ../gtk/gtksettings.c:501 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "Name of the cursor theme to use, or NULL to use the default theme" -#: ../gtk/gtksettings.c:501 +#: ../gtk/gtksettings.c:509 msgid "Cursor theme size" msgstr "Cursor theme size" -#: ../gtk/gtksettings.c:502 +#: ../gtk/gtksettings.c:510 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Size to use for cursors, or 0 to use the default size" -#: ../gtk/gtksettings.c:512 +#: ../gtk/gtksettings.c:520 msgid "Alternative button order" msgstr "Alternative button order" -#: ../gtk/gtksettings.c:513 +#: ../gtk/gtksettings.c:521 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "Whether buttons in dialogs should use the alternative button order" -#: ../gtk/gtksettings.c:530 +#: ../gtk/gtksettings.c:538 msgid "Alternative sort indicator direction" msgstr "Alternative sort indicator direction" -#: ../gtk/gtksettings.c:531 +#: ../gtk/gtksettings.c:539 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5011,11 +5011,11 @@ msgstr "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" -#: ../gtk/gtksettings.c:539 +#: ../gtk/gtksettings.c:547 msgid "Show the 'Input Methods' menu" msgstr "Show the 'Input Methods' menu" -#: ../gtk/gtksettings.c:540 +#: ../gtk/gtksettings.c:548 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5023,11 +5023,11 @@ msgstr "" "Whether the context menus of entries and text views should offer to change " "the input method" -#: ../gtk/gtksettings.c:548 +#: ../gtk/gtksettings.c:556 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Show the 'Insert Unicode Control Character' menu" -#: ../gtk/gtksettings.c:549 +#: ../gtk/gtksettings.c:557 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5035,238 +5035,238 @@ msgstr "" "Whether the context menus of entries and text views should offer to insert " "control characters" -#: ../gtk/gtksettings.c:557 +#: ../gtk/gtksettings.c:565 msgid "Start timeout" msgstr "Start timeout" -#: ../gtk/gtksettings.c:558 +#: ../gtk/gtksettings.c:566 msgid "Starting value for timeouts, when button is pressed" msgstr "Starting value for timeouts, when button is pressed" -#: ../gtk/gtksettings.c:567 +#: ../gtk/gtksettings.c:575 msgid "Repeat timeout" msgstr "Repeat timeout" -#: ../gtk/gtksettings.c:568 +#: ../gtk/gtksettings.c:576 msgid "Repeat value for timeouts, when button is pressed" msgstr "Repeat value for timeouts, when button is pressed" -#: ../gtk/gtksettings.c:577 +#: ../gtk/gtksettings.c:585 msgid "Expand timeout" msgstr "Expand timeout" -#: ../gtk/gtksettings.c:578 +#: ../gtk/gtksettings.c:586 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "Expand value for timeouts, when a widget is expanding a new region" -#: ../gtk/gtksettings.c:613 +#: ../gtk/gtksettings.c:621 msgid "Color scheme" msgstr "Color scheme" -#: ../gtk/gtksettings.c:614 +#: ../gtk/gtksettings.c:622 msgid "A palette of named colors for use in themes" msgstr "A palette of named colors for use in themes" -#: ../gtk/gtksettings.c:623 +#: ../gtk/gtksettings.c:631 msgid "Enable Animations" msgstr "Enable Animations" -#: ../gtk/gtksettings.c:624 +#: ../gtk/gtksettings.c:632 msgid "Whether to enable toolkit-wide animations." msgstr "Whether to enable toolkit-wide animations." -#: ../gtk/gtksettings.c:642 +#: ../gtk/gtksettings.c:650 msgid "Enable Touchscreen Mode" msgstr "Enable Touchscreen Mode" -#: ../gtk/gtksettings.c:643 +#: ../gtk/gtksettings.c:651 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "When TRUE, there are no motion notify events delivered on this screen" -#: ../gtk/gtksettings.c:660 +#: ../gtk/gtksettings.c:668 msgid "Tooltip timeout" msgstr "Tooltip timeout" -#: ../gtk/gtksettings.c:661 +#: ../gtk/gtksettings.c:669 msgid "Timeout before tooltip is shown" msgstr "Timeout before tooltip is shown" -#: ../gtk/gtksettings.c:686 +#: ../gtk/gtksettings.c:694 msgid "Tooltip browse timeout" msgstr "Tooltip browse timeout" -#: ../gtk/gtksettings.c:687 +#: ../gtk/gtksettings.c:695 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "Timeout before tooltip is shown when browse mode is enabled" -#: ../gtk/gtksettings.c:708 +#: ../gtk/gtksettings.c:716 msgid "Tooltip browse mode timeout" msgstr "Tooltip browse mode timeout" -#: ../gtk/gtksettings.c:709 +#: ../gtk/gtksettings.c:717 msgid "Timeout after which browse mode is disabled" msgstr "Timeout after which browse mode is disabled" -#: ../gtk/gtksettings.c:728 +#: ../gtk/gtksettings.c:736 msgid "Keynav Cursor Only" msgstr "Keynav Cursor Only" -#: ../gtk/gtksettings.c:729 +#: ../gtk/gtksettings.c:737 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "When TRUE, there are only cursor keys available to navigate widgets" -#: ../gtk/gtksettings.c:746 +#: ../gtk/gtksettings.c:754 msgid "Keynav Wrap Around" msgstr "Keynav Wrap Around" -#: ../gtk/gtksettings.c:747 +#: ../gtk/gtksettings.c:755 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Whether to wrap around when keyboard-navigating widgets" -#: ../gtk/gtksettings.c:767 +#: ../gtk/gtksettings.c:775 msgid "Error Bell" msgstr "Error Bell" -#: ../gtk/gtksettings.c:768 +#: ../gtk/gtksettings.c:776 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "When TRUE, keyboard navigation and other errors will cause a beep" -#: ../gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:793 msgid "Color Hash" msgstr "Color Hash" -#: ../gtk/gtksettings.c:786 +#: ../gtk/gtksettings.c:794 msgid "A hash table representation of the color scheme." msgstr "A hash table representation of the color scheme." -#: ../gtk/gtksettings.c:794 +#: ../gtk/gtksettings.c:802 msgid "Default file chooser backend" msgstr "Default file chooser backend" -#: ../gtk/gtksettings.c:795 +#: ../gtk/gtksettings.c:803 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Name of the GtkFileChooser backend to use by default" -#: ../gtk/gtksettings.c:812 +#: ../gtk/gtksettings.c:820 msgid "Default print backend" msgstr "Default print backend" -#: ../gtk/gtksettings.c:813 +#: ../gtk/gtksettings.c:821 msgid "List of the GtkPrintBackend backends to use by default" msgstr "List of the GtkPrintBackend backends to use by default" -#: ../gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:844 msgid "Default command to run when displaying a print preview" msgstr "Default command to run when displaying a print preview" -#: ../gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:845 msgid "Command to run when displaying a print preview" msgstr "Command to run when displaying a print preview" -#: ../gtk/gtksettings.c:853 +#: ../gtk/gtksettings.c:861 msgid "Enable Mnemonics" msgstr "Enable Mnemonics" -#: ../gtk/gtksettings.c:854 +#: ../gtk/gtksettings.c:862 msgid "Whether labels should have mnemonics" msgstr "Whether labels should have mnemonics" -#: ../gtk/gtksettings.c:870 +#: ../gtk/gtksettings.c:878 msgid "Enable Accelerators" msgstr "Enable Accelerators" -#: ../gtk/gtksettings.c:871 +#: ../gtk/gtksettings.c:879 msgid "Whether menu items should have accelerators" msgstr "Whether menu items should have accelerators" -#: ../gtk/gtksettings.c:888 +#: ../gtk/gtksettings.c:896 msgid "Recent Files Limit" msgstr "Recent Files Limit" -#: ../gtk/gtksettings.c:889 +#: ../gtk/gtksettings.c:897 msgid "Number of recently used files" msgstr "Number of recently used files" -#: ../gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:915 msgid "Default IM module" msgstr "Default IM module" -#: ../gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:916 msgid "Which IM module should be used by default" msgstr "Which IM module should be used by default" -#: ../gtk/gtksettings.c:926 +#: ../gtk/gtksettings.c:934 msgid "Recent Files Max Age" msgstr "Recent Files Max Age" -#: ../gtk/gtksettings.c:927 +#: ../gtk/gtksettings.c:935 msgid "Maximum age of recently used files, in days" msgstr "Maximum age of recently used files, in days" -#: ../gtk/gtksettings.c:936 +#: ../gtk/gtksettings.c:944 msgid "Fontconfig configuration timestamp" msgstr "Fontconfig configuration timestamp" -#: ../gtk/gtksettings.c:937 +#: ../gtk/gtksettings.c:945 msgid "Timestamp of current fontconfig configuration" msgstr "Timestamp of current fontconfig configuration" -#: ../gtk/gtksettings.c:959 +#: ../gtk/gtksettings.c:967 msgid "Sound Theme Name" msgstr "Sound Theme Name" -#: ../gtk/gtksettings.c:960 +#: ../gtk/gtksettings.c:968 msgid "XDG sound theme name" msgstr "XDG sound theme name" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:990 msgid "Audible Input Feedback" msgstr "Audible Input Feedback" -#: ../gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:991 msgid "Whether to play event sounds as feedback to user input" msgstr "Whether to play event sounds as feedback to user input" -#: ../gtk/gtksettings.c:1004 +#: ../gtk/gtksettings.c:1012 msgid "Enable Event Sounds" msgstr "Enable Event Sounds" -#: ../gtk/gtksettings.c:1005 +#: ../gtk/gtksettings.c:1013 msgid "Whether to play any event sounds at all" msgstr "Whether to play any event sounds at all" -#: ../gtk/gtksettings.c:1020 +#: ../gtk/gtksettings.c:1028 msgid "Enable Tooltips" msgstr "Enable Tooltips" -#: ../gtk/gtksettings.c:1021 +#: ../gtk/gtksettings.c:1029 msgid "Whether tooltips should be shown on widgets" msgstr "Whether tooltips should be shown on widgets" -#: ../gtk/gtksettings.c:1034 +#: ../gtk/gtksettings.c:1042 msgid "Toolbar style" msgstr "Toolbar style" -#: ../gtk/gtksettings.c:1035 +#: ../gtk/gtksettings.c:1043 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Whether default toolbars have text only, text and icons, icons only, etc." -#: ../gtk/gtksettings.c:1049 +#: ../gtk/gtksettings.c:1057 msgid "Toolbar Icon Size" msgstr "Toolbar Icon Size" -#: ../gtk/gtksettings.c:1050 +#: ../gtk/gtksettings.c:1058 msgid "The size of icons in default toolbars." msgstr "The size of icons in default toolbars." -#: ../gtk/gtksettings.c:1067 +#: ../gtk/gtksettings.c:1075 msgid "Auto Mnemonics" msgstr "Auto Mnemonics" -#: ../gtk/gtksettings.c:1068 +#: ../gtk/gtksettings.c:1076 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5274,59 +5274,59 @@ msgstr "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." -#: ../gtk/gtksettings.c:1093 +#: ../gtk/gtksettings.c:1101 msgid "Application prefers a dark theme" msgstr "Application prefers a dark theme" -#: ../gtk/gtksettings.c:1094 +#: ../gtk/gtksettings.c:1102 msgid "Whether the application prefers to have a dark theme." msgstr "Whether the application prefers to have a dark theme." -#: ../gtk/gtksettings.c:1109 +#: ../gtk/gtksettings.c:1117 msgid "Show button images" msgstr "Show button images" -#: ../gtk/gtksettings.c:1110 +#: ../gtk/gtksettings.c:1118 msgid "Whether images should be shown on buttons" msgstr "Whether images should be shown on buttons" -#: ../gtk/gtksettings.c:1118 ../gtk/gtksettings.c:1212 +#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 msgid "Select on focus" msgstr "Select on focus" -#: ../gtk/gtksettings.c:1119 +#: ../gtk/gtksettings.c:1127 msgid "Whether to select the contents of an entry when it is focused" msgstr "Whether to select the contents of an entry when it is focused" -#: ../gtk/gtksettings.c:1136 +#: ../gtk/gtksettings.c:1144 msgid "Password Hint Timeout" msgstr "Password Hint Timeout" -#: ../gtk/gtksettings.c:1137 +#: ../gtk/gtksettings.c:1145 msgid "How long to show the last input character in hidden entries" msgstr "How long to show the last input character in hidden entries" -#: ../gtk/gtksettings.c:1146 +#: ../gtk/gtksettings.c:1154 msgid "Show menu images" msgstr "Show menu images" -#: ../gtk/gtksettings.c:1147 +#: ../gtk/gtksettings.c:1155 msgid "Whether images should be shown in menus" msgstr "Whether images should be shown in menus" -#: ../gtk/gtksettings.c:1155 +#: ../gtk/gtksettings.c:1163 msgid "Delay before drop down menus appear" msgstr "Delay before drop down menus appear" -#: ../gtk/gtksettings.c:1156 +#: ../gtk/gtksettings.c:1164 msgid "Delay before the submenus of a menu bar appear" msgstr "Delay before the submenus of a menu bar appear" -#: ../gtk/gtksettings.c:1173 +#: ../gtk/gtksettings.c:1181 msgid "Scrolled Window Placement" msgstr "Scrolled Window Placement" -#: ../gtk/gtksettings.c:1174 +#: ../gtk/gtksettings.c:1182 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5334,31 +5334,31 @@ msgstr "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." -#: ../gtk/gtksettings.c:1183 +#: ../gtk/gtksettings.c:1191 msgid "Can change accelerators" msgstr "Can change accelerators" -#: ../gtk/gtksettings.c:1184 +#: ../gtk/gtksettings.c:1192 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Whether menu accelerators can be changed by pressing a key over the menu item" -#: ../gtk/gtksettings.c:1192 +#: ../gtk/gtksettings.c:1200 msgid "Delay before submenus appear" msgstr "Delay before submenus appear" -#: ../gtk/gtksettings.c:1193 +#: ../gtk/gtksettings.c:1201 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "Minimum time the pointer must stay over a menu item before the submenu appear" -#: ../gtk/gtksettings.c:1202 +#: ../gtk/gtksettings.c:1210 msgid "Delay before hiding a submenu" msgstr "Delay before hiding a submenu" -#: ../gtk/gtksettings.c:1203 +#: ../gtk/gtksettings.c:1211 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" @@ -5366,32 +5366,32 @@ msgstr "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" -#: ../gtk/gtksettings.c:1213 +#: ../gtk/gtksettings.c:1221 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Whether to select the contents of a selectable label when it is focused" -#: ../gtk/gtksettings.c:1221 +#: ../gtk/gtksettings.c:1229 msgid "Custom palette" msgstr "Custom palette" -#: ../gtk/gtksettings.c:1222 +#: ../gtk/gtksettings.c:1230 msgid "Palette to use in the color selector" msgstr "Palette to use in the color selector" -#: ../gtk/gtksettings.c:1230 +#: ../gtk/gtksettings.c:1238 msgid "IM Preedit style" msgstr "IM Preedit style" -#: ../gtk/gtksettings.c:1231 +#: ../gtk/gtksettings.c:1239 msgid "How to draw the input method preedit string" msgstr "How to draw the input method preedit string" -#: ../gtk/gtksettings.c:1240 +#: ../gtk/gtksettings.c:1248 msgid "IM Status style" msgstr "IM Status style" -#: ../gtk/gtksettings.c:1241 +#: ../gtk/gtksettings.c:1249 msgid "How to draw the input method statusbar" msgstr "How to draw the input method statusbar" @@ -5467,15 +5467,15 @@ msgstr "Reads the current value, or sets a new value" msgid "Style of bevel around the spin button" msgstr "Style of bevel around the spin button" -#: ../gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "Whether the spinner is active" -#: ../gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:135 msgid "Number of steps" msgstr "Number of steps" -#: ../gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:136 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" @@ -5485,11 +5485,11 @@ msgstr "" "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" "duration)." -#: ../gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:153 msgid "Animation duration" msgstr "Animation duration" -#: ../gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:154 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "" @@ -5519,7 +5519,7 @@ msgstr "Whether the status icon is embedded" msgid "The orientation of the tray" msgstr "The orientation of the tray" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1022 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1036 msgid "Has tooltip" msgstr "Has tooltip" @@ -5527,15 +5527,15 @@ msgstr "Has tooltip" msgid "Whether this tray icon has a tooltip" msgstr "Whether this tray icon has a tooltip" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1043 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1057 msgid "Tooltip Text" msgstr "Tooltip Text" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1044 ../gtk/gtkwidget.c:1065 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 msgid "The contents of the tooltip for this widget" msgstr "The contents of the tooltip for this widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1064 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1078 msgid "Tooltip markup" msgstr "Tooltip markup" @@ -5547,6 +5547,14 @@ msgstr "The contents of the tooltip for this tray icon" msgid "The title of this tray icon" msgstr "The title of this tray icon" +#: ../gtk/gtkstyle.c:516 +msgid "Style context" +msgstr "Style context" + +#: ../gtk/gtkstyle.c:517 +msgid "GtkStyleContext to get style from" +msgstr "GtkStyleContext to get style from" + #: ../gtk/gtkswitch.c:739 msgid "Whether the switch is on or off" msgstr "Whether the switch is on or off" @@ -6549,7 +6557,7 @@ msgstr "Dash pattern used to draw the tree view lines" msgid "Whether to display the column" msgstr "Whether to display the column" -#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:657 +#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:656 msgid "Resizable" msgstr "Resizable" @@ -6669,27 +6677,27 @@ msgstr "An XML string describing the merged UI" msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Determines how the shadowed box around the viewport is drawn" -#: ../gtk/gtkwidget.c:873 +#: ../gtk/gtkwidget.c:887 msgid "Widget name" msgstr "Widget name" -#: ../gtk/gtkwidget.c:874 +#: ../gtk/gtkwidget.c:888 msgid "The name of the widget" msgstr "The name of the widget" -#: ../gtk/gtkwidget.c:880 +#: ../gtk/gtkwidget.c:894 msgid "Parent widget" msgstr "Parent widget" -#: ../gtk/gtkwidget.c:881 +#: ../gtk/gtkwidget.c:895 msgid "The parent widget of this widget. Must be a Container widget" msgstr "The parent widget of this widget. Must be a Container widget" -#: ../gtk/gtkwidget.c:888 +#: ../gtk/gtkwidget.c:902 msgid "Width request" msgstr "Width request" -#: ../gtk/gtkwidget.c:889 +#: ../gtk/gtkwidget.c:903 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6697,11 +6705,11 @@ msgstr "" "Override for width request of the widget, or -1 if natural request should be " "used" -#: ../gtk/gtkwidget.c:897 +#: ../gtk/gtkwidget.c:911 msgid "Height request" msgstr "Height request" -#: ../gtk/gtkwidget.c:898 +#: ../gtk/gtkwidget.c:912 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6709,83 +6717,83 @@ msgstr "" "Override for height request of the widget, or -1 if natural request should " "be used" -#: ../gtk/gtkwidget.c:907 +#: ../gtk/gtkwidget.c:921 msgid "Whether the widget is visible" msgstr "Whether the widget is visible" -#: ../gtk/gtkwidget.c:914 +#: ../gtk/gtkwidget.c:928 msgid "Whether the widget responds to input" msgstr "Whether the widget responds to input" -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:934 msgid "Application paintable" msgstr "Application paintable" -#: ../gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:935 msgid "Whether the application will paint directly on the widget" msgstr "Whether the application will paint directly on the widget" -#: ../gtk/gtkwidget.c:927 +#: ../gtk/gtkwidget.c:941 msgid "Can focus" msgstr "Can focus" -#: ../gtk/gtkwidget.c:928 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget can accept the input focus" msgstr "Whether the widget can accept the input focus" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:948 msgid "Has focus" msgstr "Has focus" -#: ../gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:949 msgid "Whether the widget has the input focus" msgstr "Whether the widget has the input focus" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:955 msgid "Is focus" msgstr "Is focus" -#: ../gtk/gtkwidget.c:942 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Whether the widget is the focus widget within the toplevel" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:962 msgid "Can default" msgstr "Can default" -#: ../gtk/gtkwidget.c:949 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget can be the default widget" msgstr "Whether the widget can be the default widget" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:969 msgid "Has default" msgstr "Has default" -#: ../gtk/gtkwidget.c:956 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the default widget" msgstr "Whether the widget is the default widget" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:976 msgid "Receives default" msgstr "Receives default" -#: ../gtk/gtkwidget.c:963 +#: ../gtk/gtkwidget.c:977 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "If TRUE, the widget will receive the default action when it is focused" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:983 msgid "Composite child" msgstr "Composite child" -#: ../gtk/gtkwidget.c:970 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is part of a composite widget" msgstr "Whether the widget is part of a composite widget" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:990 msgid "Style" msgstr "Style" -#: ../gtk/gtkwidget.c:977 +#: ../gtk/gtkwidget.c:991 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -6793,183 +6801,183 @@ msgstr "" "The style of the widget, which contains information about how it will look " "(colors etc)" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:997 msgid "Events" msgstr "Events" -#: ../gtk/gtkwidget.c:984 +#: ../gtk/gtkwidget.c:998 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "The event mask that decides what kind of GdkEvents this widget gets" -#: ../gtk/gtkwidget.c:991 +#: ../gtk/gtkwidget.c:1005 msgid "Extension events" msgstr "Extension events" -#: ../gtk/gtkwidget.c:992 +#: ../gtk/gtkwidget.c:1006 msgid "The mask that decides what kind of extension events this widget gets" msgstr "The mask that decides what kind of extension events this widget gets" -#: ../gtk/gtkwidget.c:999 +#: ../gtk/gtkwidget.c:1013 msgid "No show all" msgstr "No show all" -#: ../gtk/gtkwidget.c:1000 +#: ../gtk/gtkwidget.c:1014 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Whether gtk_widget_show_all() should not affect this widget" -#: ../gtk/gtkwidget.c:1023 +#: ../gtk/gtkwidget.c:1037 msgid "Whether this widget has a tooltip" msgstr "Whether this widget has a tooltip" -#: ../gtk/gtkwidget.c:1079 +#: ../gtk/gtkwidget.c:1093 msgid "Window" msgstr "Window" -#: ../gtk/gtkwidget.c:1080 +#: ../gtk/gtkwidget.c:1094 msgid "The widget's window if it is realized" msgstr "The widget's window if it is realized" -#: ../gtk/gtkwidget.c:1094 +#: ../gtk/gtkwidget.c:1108 msgid "Double Buffered" msgstr "Double Buffered" -#: ../gtk/gtkwidget.c:1095 +#: ../gtk/gtkwidget.c:1109 msgid "Whether the widget is double buffered" msgstr "Whether the widget is double buffered" -#: ../gtk/gtkwidget.c:1110 +#: ../gtk/gtkwidget.c:1124 msgid "How to position in extra horizontal space" msgstr "How to position in extra horizontal space" -#: ../gtk/gtkwidget.c:1126 +#: ../gtk/gtkwidget.c:1140 msgid "How to position in extra vertical space" msgstr "How to position in extra vertical space" -#: ../gtk/gtkwidget.c:1145 +#: ../gtk/gtkwidget.c:1159 msgid "Margin on Left" msgstr "Margin on Left" -#: ../gtk/gtkwidget.c:1146 +#: ../gtk/gtkwidget.c:1160 msgid "Pixels of extra space on the left side" msgstr "Pixels of extra space on the left side" -#: ../gtk/gtkwidget.c:1166 +#: ../gtk/gtkwidget.c:1180 msgid "Margin on Right" msgstr "Margin on Right" -#: ../gtk/gtkwidget.c:1167 +#: ../gtk/gtkwidget.c:1181 msgid "Pixels of extra space on the right side" msgstr "Pixels of extra space on the right side" -#: ../gtk/gtkwidget.c:1187 +#: ../gtk/gtkwidget.c:1201 msgid "Margin on Top" msgstr "Margin on Top" -#: ../gtk/gtkwidget.c:1188 +#: ../gtk/gtkwidget.c:1202 msgid "Pixels of extra space on the top side" msgstr "Pixels of extra space on the top side" -#: ../gtk/gtkwidget.c:1208 +#: ../gtk/gtkwidget.c:1222 msgid "Margin on Bottom" msgstr "Margin on Bottom" -#: ../gtk/gtkwidget.c:1209 +#: ../gtk/gtkwidget.c:1223 msgid "Pixels of extra space on the bottom side" msgstr "Pixels of extra space on the bottom side" -#: ../gtk/gtkwidget.c:1226 +#: ../gtk/gtkwidget.c:1240 msgid "All Margins" msgstr "All Margins" -#: ../gtk/gtkwidget.c:1227 +#: ../gtk/gtkwidget.c:1241 msgid "Pixels of extra space on all four sides" msgstr "Pixels of extra space on all four sides" -#: ../gtk/gtkwidget.c:1260 +#: ../gtk/gtkwidget.c:1274 msgid "Horizontal Expand" msgstr "Horizontal Expand" -#: ../gtk/gtkwidget.c:1261 +#: ../gtk/gtkwidget.c:1275 msgid "Whether widget wants more horizontal space" msgstr "Whether widget wants more horizontal space" -#: ../gtk/gtkwidget.c:1275 +#: ../gtk/gtkwidget.c:1289 msgid "Horizontal Expand Set" msgstr "Horizontal Expand Set" -#: ../gtk/gtkwidget.c:1276 +#: ../gtk/gtkwidget.c:1290 msgid "Whether to use the hexpand property" msgstr "Whether to use the hexpand property" -#: ../gtk/gtkwidget.c:1290 +#: ../gtk/gtkwidget.c:1304 msgid "Vertical Expand" msgstr "Vertical Expand" -#: ../gtk/gtkwidget.c:1291 +#: ../gtk/gtkwidget.c:1305 msgid "Whether widget wants more vertical space" msgstr "Whether widget wants more vertical space" -#: ../gtk/gtkwidget.c:1305 +#: ../gtk/gtkwidget.c:1319 msgid "Vertical Expand Set" msgstr "Vertical Expand Set" -#: ../gtk/gtkwidget.c:1306 +#: ../gtk/gtkwidget.c:1320 msgid "Whether to use the vexpand property" msgstr "Whether to use the vexpand property" -#: ../gtk/gtkwidget.c:1320 +#: ../gtk/gtkwidget.c:1334 msgid "Expand Both" msgstr "Expand Both" -#: ../gtk/gtkwidget.c:1321 +#: ../gtk/gtkwidget.c:1335 msgid "Whether widget wants to expand in both directions" msgstr "Whether widget wants to expand in both directions" -#: ../gtk/gtkwidget.c:2936 +#: ../gtk/gtkwidget.c:2981 msgid "Interior Focus" msgstr "Interior Focus" -#: ../gtk/gtkwidget.c:2937 +#: ../gtk/gtkwidget.c:2982 msgid "Whether to draw the focus indicator inside widgets" msgstr "Whether to draw the focus indicator inside widgets" -#: ../gtk/gtkwidget.c:2943 +#: ../gtk/gtkwidget.c:2988 msgid "Focus linewidth" msgstr "Focus linewidth" -#: ../gtk/gtkwidget.c:2944 +#: ../gtk/gtkwidget.c:2989 msgid "Width, in pixels, of the focus indicator line" msgstr "Width, in pixels, of the focus indicator line" -#: ../gtk/gtkwidget.c:2950 +#: ../gtk/gtkwidget.c:2995 msgid "Focus line dash pattern" msgstr "Focus line dash pattern" -#: ../gtk/gtkwidget.c:2951 +#: ../gtk/gtkwidget.c:2996 msgid "Dash pattern used to draw the focus indicator" msgstr "Dash pattern used to draw the focus indicator" -#: ../gtk/gtkwidget.c:2956 +#: ../gtk/gtkwidget.c:3001 msgid "Focus padding" msgstr "Focus padding" -#: ../gtk/gtkwidget.c:2957 +#: ../gtk/gtkwidget.c:3002 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Width, in pixels, between focus indicator and the widget 'box'" -#: ../gtk/gtkwidget.c:2962 +#: ../gtk/gtkwidget.c:3007 msgid "Cursor color" msgstr "Cursor color" -#: ../gtk/gtkwidget.c:2963 +#: ../gtk/gtkwidget.c:3008 msgid "Color with which to draw insertion cursor" msgstr "Color with which to draw insertion cursor" -#: ../gtk/gtkwidget.c:2968 +#: ../gtk/gtkwidget.c:3013 msgid "Secondary cursor color" msgstr "Secondary cursor color" -#: ../gtk/gtkwidget.c:2969 +#: ../gtk/gtkwidget.c:3014 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6977,43 +6985,43 @@ msgstr "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" -#: ../gtk/gtkwidget.c:2974 +#: ../gtk/gtkwidget.c:3019 msgid "Cursor line aspect ratio" msgstr "Cursor line aspect ratio" -#: ../gtk/gtkwidget.c:2975 +#: ../gtk/gtkwidget.c:3020 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Aspect ratio with which to draw insertion cursor" -#: ../gtk/gtkwidget.c:2981 +#: ../gtk/gtkwidget.c:3026 msgid "Window dragging" msgstr "Window dragging" -#: ../gtk/gtkwidget.c:2982 +#: ../gtk/gtkwidget.c:3027 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Whether windows can be dragged by clicking on empty areas" -#: ../gtk/gtkwidget.c:2995 +#: ../gtk/gtkwidget.c:3040 msgid "Unvisited Link Color" msgstr "Unvisited Link Color" -#: ../gtk/gtkwidget.c:2996 +#: ../gtk/gtkwidget.c:3041 msgid "Color of unvisited links" msgstr "Color of unvisited links" -#: ../gtk/gtkwidget.c:3009 +#: ../gtk/gtkwidget.c:3054 msgid "Visited Link Color" msgstr "Visited Link Color" -#: ../gtk/gtkwidget.c:3010 +#: ../gtk/gtkwidget.c:3055 msgid "Color of visited links" msgstr "Color of visited links" -#: ../gtk/gtkwidget.c:3024 +#: ../gtk/gtkwidget.c:3069 msgid "Wide Separators" msgstr "Wide Separators" -#: ../gtk/gtkwidget.c:3025 +#: ../gtk/gtkwidget.c:3070 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7021,79 +7029,79 @@ msgstr "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" -#: ../gtk/gtkwidget.c:3039 +#: ../gtk/gtkwidget.c:3084 msgid "Separator Width" msgstr "Separator Width" -#: ../gtk/gtkwidget.c:3040 +#: ../gtk/gtkwidget.c:3085 msgid "The width of separators if wide-separators is TRUE" msgstr "The width of separators if wide-separators is TRUE" -#: ../gtk/gtkwidget.c:3054 +#: ../gtk/gtkwidget.c:3099 msgid "Separator Height" msgstr "Separator Height" -#: ../gtk/gtkwidget.c:3055 +#: ../gtk/gtkwidget.c:3100 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "The height of separators if \"wide-separators\" is TRUE" -#: ../gtk/gtkwidget.c:3069 +#: ../gtk/gtkwidget.c:3114 msgid "Horizontal Scroll Arrow Length" msgstr "Horizontal Scroll Arrow Length" -#: ../gtk/gtkwidget.c:3070 +#: ../gtk/gtkwidget.c:3115 msgid "The length of horizontal scroll arrows" msgstr "The length of horizontal scroll arrows" -#: ../gtk/gtkwidget.c:3084 +#: ../gtk/gtkwidget.c:3129 msgid "Vertical Scroll Arrow Length" msgstr "Vertical Scroll Arrow Length" -#: ../gtk/gtkwidget.c:3085 +#: ../gtk/gtkwidget.c:3130 msgid "The length of vertical scroll arrows" msgstr "The length of vertical scroll arrows" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:614 msgid "Window Type" msgstr "Window Type" -#: ../gtk/gtkwindow.c:616 +#: ../gtk/gtkwindow.c:615 msgid "The type of the window" msgstr "The type of the window" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:623 msgid "Window Title" msgstr "Window Title" -#: ../gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:624 msgid "The title of the window" msgstr "The title of the window" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:631 msgid "Window Role" msgstr "Window Role" -#: ../gtk/gtkwindow.c:633 +#: ../gtk/gtkwindow.c:632 msgid "Unique identifier for the window to be used when restoring a session" msgstr "Unique identifier for the window to be used when restoring a session" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:648 msgid "Startup ID" msgstr "Startup ID" -#: ../gtk/gtkwindow.c:650 +#: ../gtk/gtkwindow.c:649 msgid "Unique startup identifier for the window used by startup-notification" msgstr "Unique startup identifier for the window used by startup-notification" -#: ../gtk/gtkwindow.c:658 +#: ../gtk/gtkwindow.c:657 msgid "If TRUE, users can resize the window" msgstr "If TRUE, users can resize the window" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:664 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:666 +#: ../gtk/gtkwindow.c:665 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7101,78 +7109,78 @@ msgstr "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:672 msgid "Window Position" msgstr "Window Position" -#: ../gtk/gtkwindow.c:674 +#: ../gtk/gtkwindow.c:673 msgid "The initial position of the window" msgstr "The initial position of the window" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:681 msgid "Default Width" msgstr "Default Width" -#: ../gtk/gtkwindow.c:683 +#: ../gtk/gtkwindow.c:682 msgid "The default width of the window, used when initially showing the window" msgstr "" "The default width of the window, used when initially showing the window" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:691 msgid "Default Height" msgstr "Default Height" -#: ../gtk/gtkwindow.c:693 +#: ../gtk/gtkwindow.c:692 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "The default height of the window, used when initially showing the window" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:701 msgid "Destroy with Parent" msgstr "Destroy with Parent" -#: ../gtk/gtkwindow.c:703 +#: ../gtk/gtkwindow.c:702 msgid "If this window should be destroyed when the parent is destroyed" msgstr "If this window should be destroyed when the parent is destroyed" -#: ../gtk/gtkwindow.c:711 +#: ../gtk/gtkwindow.c:710 msgid "Icon for this window" msgstr "Icon for this window" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:716 msgid "Mnemonics Visible" msgstr "Mnemonics Visible" -#: ../gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:717 msgid "Whether mnemonics are currently visible in this window" msgstr "Whether mnemonics are currently visible in this window" -#: ../gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:733 msgid "Name of the themed icon for this window" msgstr "Name of the themed icon for this window" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:748 msgid "Is Active" msgstr "Is Active" -#: ../gtk/gtkwindow.c:750 +#: ../gtk/gtkwindow.c:749 msgid "Whether the toplevel is the current active window" msgstr "Whether the toplevel is the current active window" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:756 msgid "Focus in Toplevel" msgstr "Focus in Toplevel" -#: ../gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:757 msgid "Whether the input focus is within this GtkWindow" msgstr "Whether the input focus is within this GtkWindow" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:764 msgid "Type hint" msgstr "Type hint" -#: ../gtk/gtkwindow.c:766 +#: ../gtk/gtkwindow.c:765 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7180,115 +7188,115 @@ msgstr "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:773 msgid "Skip taskbar" msgstr "Skip taskbar" -#: ../gtk/gtkwindow.c:775 +#: ../gtk/gtkwindow.c:774 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE if the window should not be in the task bar." -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:781 msgid "Skip pager" msgstr "Skip pager" -#: ../gtk/gtkwindow.c:783 +#: ../gtk/gtkwindow.c:782 msgid "TRUE if the window should not be in the pager." msgstr "TRUE if the window should not be in the pager." -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:789 msgid "Urgent" msgstr "Urgent" -#: ../gtk/gtkwindow.c:791 +#: ../gtk/gtkwindow.c:790 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE if the window should be brought to the user's attention." -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:804 msgid "Accept focus" msgstr "Accept focus" -#: ../gtk/gtkwindow.c:806 +#: ../gtk/gtkwindow.c:805 msgid "TRUE if the window should receive the input focus." msgstr "TRUE if the window should receive the input focus." -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:819 msgid "Focus on map" msgstr "Focus on map" -#: ../gtk/gtkwindow.c:821 +#: ../gtk/gtkwindow.c:820 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE if the window should receive the input focus when mapped." -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:834 msgid "Decorated" msgstr "Decorated" -#: ../gtk/gtkwindow.c:836 +#: ../gtk/gtkwindow.c:835 msgid "Whether the window should be decorated by the window manager" msgstr "Whether the window should be decorated by the window manager" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:849 msgid "Deletable" msgstr "Deletable" -#: ../gtk/gtkwindow.c:851 +#: ../gtk/gtkwindow.c:850 msgid "Whether the window frame should have a close button" msgstr "Whether the window frame should have a close button" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:869 msgid "Resize grip" msgstr "Resize grip" -#: ../gtk/gtkwindow.c:871 +#: ../gtk/gtkwindow.c:870 msgid "Specifies whether the window should have a resize grip" msgstr "Specifies whether the window should have a resize grip" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:884 msgid "Resize grip is visible" msgstr "Resize grip is visible" -#: ../gtk/gtkwindow.c:886 +#: ../gtk/gtkwindow.c:885 msgid "Specifies whether the window's resize grip is visible." msgstr "Specifies whether the window's resize grip is visible." -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:901 msgid "Gravity" msgstr "Gravity" -#: ../gtk/gtkwindow.c:903 +#: ../gtk/gtkwindow.c:902 msgid "The window gravity of the window" msgstr "The window gravity of the window" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:919 msgid "Transient for Window" msgstr "Transient for Window" -#: ../gtk/gtkwindow.c:921 +#: ../gtk/gtkwindow.c:920 msgid "The transient parent of the dialog" msgstr "The transient parent of the dialog" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:935 msgid "Opacity for Window" msgstr "Opacity for Window" -#: ../gtk/gtkwindow.c:937 +#: ../gtk/gtkwindow.c:936 msgid "The opacity of the window, from 0 to 1" msgstr "The opacity of the window, from 0 to 1" -#: ../gtk/gtkwindow.c:947 ../gtk/gtkwindow.c:948 +#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 msgid "Width of resize grip" msgstr "Width of resize grip" -#: ../gtk/gtkwindow.c:953 ../gtk/gtkwindow.c:954 +#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 msgid "Height of resize grip" msgstr "Height of resize grip" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:972 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:974 +#: ../gtk/gtkwindow.c:973 msgid "The GtkApplication for the window" msgstr "The GtkApplication for the window" From 137f16c4c50f9b7f132d74ffa95e562c29a50651 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 13:56:24 +0100 Subject: [PATCH 0337/1463] Do not bother starting a draw call if bar_size <= 0 --- gtk/gtkcellrendererprogress.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcellrendererprogress.c b/gtk/gtkcellrendererprogress.c index 20abba0fcd..f226eb7c22 100644 --- a/gtk/gtkcellrendererprogress.c +++ b/gtk/gtkcellrendererprogress.c @@ -604,12 +604,13 @@ gtk_cell_renderer_progress_render (GtkCellRenderer *cell, clip.y = bar_position; } - gtk_paint_box (style, - cr, - GTK_STATE_SELECTED, GTK_SHADOW_OUT, - widget, "bar", - clip.x, clip.y, - clip.width, clip.height); + if (bar_size > 0) + gtk_paint_box (style, + cr, + GTK_STATE_SELECTED, GTK_SHADOW_OUT, + widget, "bar", + clip.x, clip.y, + clip.width, clip.height); if (priv->label) { From 9f4f22faf1d92d2ee8bc50c58b763e20e3f1e752 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 30 Nov 2010 14:29:45 +0900 Subject: [PATCH 0338/1463] Removed all variables from GtkTreeViewColumn and created GtkTreeViewColumnPrivate Some details: - button_request was not needed, consult the minimum request of the button - gtk_tree_view_column_get_button() needed to be public as people can set tooltips on the button (and libgail accesses the button). --- gtk/gtktreeprivate.h | 48 +- gtk/gtktreeview.c | 371 ++++++---- gtk/gtktreeviewcolumn.c | 1105 ++++++++++++++++++----------- gtk/gtktreeviewcolumn.h | 57 +- modules/other/gail/gailtreeview.c | 2 +- tests/testtooltips.c | 2 +- 6 files changed, 944 insertions(+), 641 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 8e11e18aa1..1a5f9b353c 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -414,6 +414,20 @@ void _gtk_tree_view_remove_editable (GtkTreeView *tree_v GtkTreeViewColumn *column, GtkCellEditable *cell_editable); +void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view); +void _gtk_tree_view_column_autosize (GtkTreeView *tree_view, + GtkTreeViewColumn *column); + + +GtkTreeSelection* _gtk_tree_selection_new (void); +GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view); +void _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection, + GtkTreeView *tree_view); +gboolean _gtk_tree_selection_row_is_selectable (GtkTreeSelection *selection, + GtkRBNode *node, + GtkTreePath *path); + + void _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_unrealize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, @@ -434,22 +448,10 @@ gboolean _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, const GdkRectangle *background_area, const GdkRectangle *cell_area, guint flags); -void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view); -void _gtk_tree_view_column_autosize (GtkTreeView *tree_view, - GtkTreeViewColumn *column); - -gboolean _gtk_tree_view_column_has_editable_cell (GtkTreeViewColumn *column); -GtkCellRenderer *_gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column); -GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, - gint x); - -GtkTreeSelection* _gtk_tree_selection_new (void); -GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view); -void _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection, - GtkTreeView *tree_view); -gboolean _gtk_tree_selection_row_is_selectable (GtkTreeSelection *selection, - GtkRBNode *node, - GtkTreePath *path); +gboolean _gtk_tree_view_column_has_editable_cell(GtkTreeViewColumn *column); +GtkCellRenderer *_gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column); +GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, + gint x); void _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, cairo_t *cr, @@ -467,6 +469,20 @@ gboolean _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_colu gboolean right); void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler); +gboolean _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column); +GdkWindow *_gtk_tree_view_column_get_window (GtkTreeViewColumn *column); + +void _gtk_tree_view_column_set_requested_width (GtkTreeViewColumn *column, + gint width); +gint _gtk_tree_view_column_get_requested_width (GtkTreeViewColumn *column); +void _gtk_tree_view_column_set_resized_width (GtkTreeViewColumn *column, + gint width); +gint _gtk_tree_view_column_get_resized_width (GtkTreeViewColumn *column); +void _gtk_tree_view_column_set_use_resized_width (GtkTreeViewColumn *column, + gboolean use_resized_width); +gboolean _gtk_tree_view_column_get_use_resized_width (GtkTreeViewColumn *column); +gint _gtk_tree_view_column_get_drag_x (GtkTreeViewColumn *column); +GtkCellAreaContext *_gtk_tree_view_column_get_context (GtkTreeViewColumn *column); G_END_DECLS diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 84948aa3b3..a8b1790060 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -45,6 +45,7 @@ #include "gtktreemodelsort.h" #include "gtktooltip.h" #include "gtkscrollable.h" +#include "gtkcelllayout.h" #include "gtkprivate.h" #include "gtkwidgetprivate.h" #include "gtkentryprivate.h" @@ -1786,26 +1787,32 @@ gtk_tree_view_map_buttons (GtkTreeView *tree_view) if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) { GtkTreeViewColumn *column; + GtkWidget *button; + GdkWindow *window; for (list = tree_view->priv->columns; list; list = list->next) { column = list->data; - if (gtk_widget_get_visible (column->button) && - !gtk_widget_get_mapped (column->button)) - gtk_widget_map (column->button); + button = gtk_tree_view_column_get_button (column); + + if (gtk_widget_get_visible (button) && + !gtk_widget_get_mapped (button)) + gtk_widget_map (button); } for (list = tree_view->priv->columns; list; list = list->next) { column = list->data; if (gtk_tree_view_column_get_visible (column) == FALSE) continue; + + window = _gtk_tree_view_column_get_window (column); if (gtk_tree_view_column_get_resizable (column)) { - gdk_window_raise (column->window); - gdk_window_show (column->window); + gdk_window_raise (window); + gdk_window_show (window); } else - gdk_window_hide (column->window); + gdk_window_hide (window); } gdk_window_show (tree_view->priv->header_window); } @@ -2028,16 +2035,16 @@ gtk_tree_view_size_request_columns (GtkTreeView *tree_view) { for (list = tree_view->priv->columns; list; list = list->next) { - GtkRequisition requisition; + GtkRequisition requisition; GtkTreeViewColumn *column = list->data; + GtkWidget *button = gtk_tree_view_column_get_button (column); - if (column->button == NULL) + if (button == NULL) continue; column = list->data; - gtk_widget_get_preferred_size (column->button, &requisition, NULL); - column->button_request = requisition.width; + gtk_widget_get_preferred_size (button, &requisition, NULL); tree_view->priv->header_height = MAX (tree_view->priv->header_height, requisition.height); } } @@ -2073,9 +2080,9 @@ gtk_tree_view_update_size (GtkTreeView *tree_view) if (!gtk_tree_view_column_get_visible (column)) continue; - if (column->use_resized_width) + if (_gtk_tree_view_column_get_use_resized_width (column)) { - real_requested_width = column->resized_width; + real_requested_width = _gtk_tree_view_column_get_resized_width (column); } else if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_FIXED) { @@ -2083,11 +2090,16 @@ gtk_tree_view_update_size (GtkTreeView *tree_view) } else if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) { - real_requested_width = MAX (column->requested_width, column->button_request); + GtkWidget *button = gtk_tree_view_column_get_button (column); + gint button_request; + + gtk_widget_get_preferred_width (button, &button_request, NULL); + + real_requested_width = MAX (_gtk_tree_view_column_get_requested_width (column), button_request); } else { - real_requested_width = column->requested_width; + real_requested_width = _gtk_tree_view_column_get_requested_width (column); } min_width = gtk_tree_view_column_get_min_width (column); @@ -2235,9 +2247,9 @@ gtk_tree_view_get_real_requested_width_from_column (GtkTreeView *tree_view gint max_width, min_width; gint real_requested_width; - if (column->use_resized_width) + if (_gtk_tree_view_column_get_use_resized_width (column)) { - real_requested_width = column->resized_width; + real_requested_width = _gtk_tree_view_column_get_resized_width (column); } else if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_FIXED) { @@ -2245,11 +2257,16 @@ gtk_tree_view_get_real_requested_width_from_column (GtkTreeView *tree_view } else if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) { - real_requested_width = MAX (column->requested_width, column->button_request); + GtkWidget *button = gtk_tree_view_column_get_button (column); + gint button_request; + + gtk_widget_get_preferred_width (button, &button_request, NULL); + + real_requested_width = MAX (_gtk_tree_view_column_get_requested_width (column), button_request); } else { - real_requested_width = column->requested_width; + real_requested_width = _gtk_tree_view_column_get_requested_width (column); if (real_requested_width < 0) real_requested_width = 0; } @@ -2359,6 +2376,8 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, list != (rtl ? first_column->prev : last_column->next); list = (rtl ? list->prev : list->next)) { + GtkWidget *button; + GdkWindow *window; gint real_requested_width = 0; gint internal_column_width = 0; gint old_width, column_width; @@ -2374,13 +2393,15 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, if (column == tree_view->priv->drag_column) { GtkAllocation drag_allocation; + GtkWidget *button; + + button = gtk_tree_view_column_get_button (tree_view->priv->drag_column); drag_allocation.x = 0; drag_allocation.y = 0; drag_allocation.width = gdk_window_get_width (tree_view->priv->drag_window); drag_allocation.height = gdk_window_get_height (tree_view->priv->drag_window); - gtk_widget_size_allocate (tree_view->priv->drag_column->button, - &drag_allocation); + gtk_widget_size_allocate (button, &drag_allocation); width += drag_allocation.width; continue; } @@ -2430,10 +2451,13 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, if (column_width > old_width) column_changed = TRUE; - gtk_widget_size_allocate (column->button, &allocation); + button = gtk_tree_view_column_get_button (column); + window = _gtk_tree_view_column_get_window (column); - if (column->window) - gdk_window_move_resize (column->window, + gtk_widget_size_allocate (button, &allocation); + + if (window) + gdk_window_move_resize (window, allocation.x + (rtl ? 0 : allocation.width) - TREE_VIEW_DRAG_WIDTH/2, allocation.y, TREE_VIEW_DRAG_WIDTH, allocation.height); @@ -2773,7 +2797,7 @@ gtk_tree_view_button_press (GtkWidget *widget, if (!gtk_tree_view_column_get_visible (candidate)) continue; - background_area.width = candidate->width; + background_area.width = gtk_tree_view_column_get_width (candidate); if ((background_area.x > (gint) event->x) || (background_area.x + background_area.width <= (gint) event->x)) { @@ -2847,7 +2871,8 @@ gtk_tree_view_button_press (GtkWidget *widget, &background_area, &cell_area, flags)) { - cell_editable = gtk_cell_area_get_edit_widget (column->cell_area); + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)); + cell_editable = gtk_cell_area_get_edit_widget (area); if (cell_editable != NULL) { @@ -2990,22 +3015,23 @@ gtk_tree_view_button_press (GtkWidget *widget, for (i = 0, list = tree_view->priv->columns; list; list = list->next, i++) { column = list->data; - if (event->window == column->window && + if (event->window == _gtk_tree_view_column_get_window (column) && gtk_tree_view_column_get_resizable (column) && - column->window) + _gtk_tree_view_column_get_window (column)) { + GtkWidget *button; GtkAllocation button_allocation; gpointer drag_data; if (event->type == GDK_2BUTTON_PRESS && gtk_tree_view_column_get_sizing (column) != GTK_TREE_VIEW_COLUMN_AUTOSIZE) { - column->use_resized_width = FALSE; + _gtk_tree_view_column_set_use_resized_width (column, FALSE); _gtk_tree_view_column_autosize (tree_view, column); return TRUE; } - if (gdk_pointer_grab (column->window, FALSE, + if (gdk_pointer_grab (_gtk_tree_view_column_get_window (column), FALSE, GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_RELEASE_MASK, @@ -3014,8 +3040,9 @@ gtk_tree_view_button_press (GtkWidget *widget, gtk_grab_add (widget); GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE); - column->resized_width = gtk_tree_view_column_get_width (column) - - tree_view->priv->last_extra_space_per_column; + + _gtk_tree_view_column_set_resized_width (column, gtk_tree_view_column_get_width (column) - + tree_view->priv->last_extra_space_per_column); /* block attached dnd signal handler */ drag_data = g_object_get_data (G_OBJECT (widget), "gtk-site-data"); @@ -3025,7 +3052,8 @@ gtk_tree_view_button_press (GtkWidget *widget, 0, 0, NULL, NULL, drag_data); - gtk_widget_get_allocation (column->button, &button_allocation); + button = gtk_tree_view_column_get_button (column); + gtk_widget_get_allocation (button, &button_allocation); tree_view->priv->drag_pos = i; tree_view->priv->x_drag = button_allocation.x + (rtl ? 0 : button_allocation.width); @@ -3044,6 +3072,7 @@ gtk_tree_view_button_release_drag_column (GtkWidget *widget, GdkEventButton *event) { GtkTreeView *tree_view; + GtkWidget *button; GList *l; gboolean rtl; @@ -3054,21 +3083,22 @@ gtk_tree_view_button_release_drag_column (GtkWidget *widget, gdk_display_keyboard_ungrab (gtk_widget_get_display (widget), GDK_CURRENT_TIME); /* Move the button back */ - g_object_ref (tree_view->priv->drag_column->button); - gtk_container_remove (GTK_CONTAINER (tree_view), tree_view->priv->drag_column->button); - gtk_widget_set_parent_window (tree_view->priv->drag_column->button, tree_view->priv->header_window); - gtk_widget_set_parent (tree_view->priv->drag_column->button, GTK_WIDGET (tree_view)); - g_object_unref (tree_view->priv->drag_column->button); + button = gtk_tree_view_column_get_button (tree_view->priv->drag_column); + g_object_ref (button); + gtk_container_remove (GTK_CONTAINER (tree_view), button); + gtk_widget_set_parent_window (button, tree_view->priv->header_window); + gtk_widget_set_parent (button, GTK_WIDGET (tree_view)); + g_object_unref (button); gtk_widget_queue_resize (widget); if (gtk_tree_view_column_get_resizable (tree_view->priv->drag_column)) { - gdk_window_raise (tree_view->priv->drag_column->window); - gdk_window_show (tree_view->priv->drag_column->window); + gdk_window_raise (_gtk_tree_view_column_get_window (tree_view->priv->drag_column)); + gdk_window_show (_gtk_tree_view_column_get_window (tree_view->priv->drag_column)); } else - gdk_window_hide (tree_view->priv->drag_column->window); + gdk_window_hide (_gtk_tree_view_column_get_window (tree_view->priv->drag_column)); - gtk_widget_grab_focus (tree_view->priv->drag_column->button); + gtk_widget_grab_focus (button); if (rtl) { @@ -3387,7 +3417,8 @@ prelight_or_select (GtkTreeView *tree_view, if (tree_view->priv->hover_selection && (mode == GTK_SELECTION_SINGLE || mode == GTK_SELECTION_BROWSE) && !(tree_view->priv->edited_column && - gtk_cell_area_get_edit_widget (tree_view->priv->edited_column->cell_area))) + gtk_cell_area_get_edit_widget + (gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->edited_column))))) { if (node) { @@ -3502,16 +3533,19 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) { GtkAllocation left_allocation, right_allocation; GdkRectangle visible_rect; + GtkWidget *button; gtk_tree_view_get_visible_rect (tree_view, &visible_rect); if (reorder->left_column) { - gtk_widget_get_allocation (reorder->left_column->button, &left_allocation); + button = gtk_tree_view_column_get_button (reorder->left_column); + gtk_widget_get_allocation (button, &left_allocation); x = left_allocation.x + left_allocation.width; } else { - gtk_widget_get_allocation (reorder->right_column->button, &right_allocation); + button = gtk_tree_view_column_get_button (reorder->right_column); + gtk_widget_get_allocation (button, &right_allocation); x = right_allocation.x; } @@ -3529,6 +3563,7 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) if (tree_view->priv->drag_column_window_state != DRAG_COLUMN_WINDOW_STATE_ORIGINAL) { GtkAllocation drag_allocation; + GtkWidget *button; if (tree_view->priv->drag_highlight_window) { @@ -3537,11 +3572,12 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) gdk_window_destroy (tree_view->priv->drag_highlight_window); } + button = gtk_tree_view_column_get_button (tree_view->priv->drag_column); attributes.window_type = GDK_WINDOW_CHILD; attributes.wclass = GDK_INPUT_OUTPUT; attributes.x = tree_view->priv->drag_column_x; attributes.y = 0; - gtk_widget_get_allocation (tree_view->priv->drag_column->button, &drag_allocation); + gtk_widget_get_allocation (button, &drag_allocation); width = attributes.width = drag_allocation.width; height = attributes.height = drag_allocation.height; attributes.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view)); @@ -3570,6 +3606,7 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) else if (arrow_type == DRAG_COLUMN_WINDOW_STATE_ARROW) { GtkAllocation button_allocation; + GtkWidget *button; width = tree_view->priv->expander_size; @@ -3577,13 +3614,15 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) gdk_window_get_origin (tree_view->priv->header_window, &x, &y); if (reorder->left_column) { - gtk_widget_get_allocation (reorder->left_column->button, &button_allocation); + button = gtk_tree_view_column_get_button (reorder->left_column); + gtk_widget_get_allocation (button, &button_allocation); x += button_allocation.x + button_allocation.width - width/2; height = button_allocation.height; } else { - gtk_widget_get_allocation (reorder->right_column->button, &button_allocation); + button = gtk_tree_view_column_get_button (reorder->right_column); + gtk_widget_get_allocation (button, &button_allocation); x += button_allocation.x - width/2; height = button_allocation.height; } @@ -3640,6 +3679,7 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) arrow_type == DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT) { GtkAllocation allocation; + GtkWidget *button; width = tree_view->priv->expander_size; @@ -3655,12 +3695,14 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view) if (reorder->left_column) { - gtk_widget_get_allocation (reorder->left_column->button, &allocation); + button = gtk_tree_view_column_get_button (reorder->left_column); + gtk_widget_get_allocation (button, &allocation); height = allocation.height; } else { - gtk_widget_get_allocation (reorder->right_column->button, &allocation); + button = gtk_tree_view_column_get_button (reorder->right_column); + gtk_widget_get_allocation (button, &allocation); height = allocation.height; } @@ -3754,10 +3796,14 @@ gtk_tree_view_motion_resize_column (GtkWidget *widget, if (x != tree_view->priv->x_drag && (new_width != gtk_tree_view_column_get_fixed_width (column))) { - column->use_resized_width = TRUE; - column->resized_width = new_width; + _gtk_tree_view_column_set_use_resized_width (column, TRUE); + if (gtk_tree_view_column_get_expand (column)) - column->resized_width -= tree_view->priv->last_extra_space_per_column; + new_width -= tree_view->priv->last_extra_space_per_column; + + _gtk_tree_view_column_set_resized_width (column, new_width); + + gtk_widget_queue_resize (widget); } @@ -3848,6 +3894,7 @@ gtk_tree_view_motion_drag_column (GtkWidget *widget, GtkAllocation allocation, button_allocation; GtkTreeView *tree_view = (GtkTreeView *) widget; GtkTreeViewColumn *column = tree_view->priv->drag_column; + GtkWidget *button; gint x, y; /* Sanity Check */ @@ -3855,11 +3902,13 @@ gtk_tree_view_motion_drag_column (GtkWidget *widget, (event->window != tree_view->priv->drag_window)) return FALSE; + button = gtk_tree_view_column_get_button (column); + /* Handle moving the header */ gdk_window_get_position (tree_view->priv->drag_window, &x, &y); gtk_widget_get_allocation (widget, &allocation); - gtk_widget_get_allocation (column->button, &button_allocation); - x = CLAMP (x + (gint)event->x - column->drag_x, 0, + gtk_widget_get_allocation (button, &button_allocation); + x = CLAMP (x + (gint)event->x - _gtk_tree_view_column_get_drag_x (column), 0, MAX (tree_view->priv->width, allocation.width) - button_allocation.width); gdk_window_move (tree_view->priv->drag_window, x, y); @@ -5113,6 +5162,7 @@ gtk_tree_view_draw (GtkWidget *widget, cairo_t *cr) { GtkTreeView *tree_view = GTK_TREE_VIEW (widget); + GtkWidget *button; if (gtk_cairo_should_draw_window (cr, tree_view->priv->bin_window)) { @@ -5152,18 +5202,20 @@ gtk_tree_view_draw (GtkWidget *widget, continue; if (gtk_tree_view_column_get_visible (column)) - gtk_container_propagate_draw (GTK_CONTAINER (tree_view), - column->button, - cr); + { + button = gtk_tree_view_column_get_button (column); + gtk_container_propagate_draw (GTK_CONTAINER (tree_view), + button, cr); + } } } if (tree_view->priv->drag_window && gtk_cairo_should_draw_window (cr, tree_view->priv->drag_window)) { + button = gtk_tree_view_column_get_button (tree_view->priv->drag_column); gtk_container_propagate_draw (GTK_CONTAINER (tree_view), - tree_view->priv->drag_column->button, - cr); + button, cr); } return TRUE; @@ -5388,6 +5440,7 @@ gtk_tree_view_key_press (GtkWidget *widget, GdkEventKey *event) { GtkTreeView *tree_view = (GtkTreeView *) widget; + GtkWidget *button; if (tree_view->priv->rubber_band_status) { @@ -5419,8 +5472,9 @@ gtk_tree_view_key_press (GtkWidget *widget, focus_column = focus_column->next) { GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (focus_column->data); - - if (gtk_widget_has_focus (column->button)) + + button = gtk_tree_view_column_get_button (column); + if (gtk_widget_has_focus (button)) break; } @@ -5442,54 +5496,62 @@ gtk_tree_view_key_press (GtkWidget *widget, || event->keyval == (rtl ? GDK_KEY_KP_Right : GDK_KEY_KP_Left)) { GtkRequisition button_req; - gint old_width = column->resized_width; + gint old_width = _gtk_tree_view_column_get_resized_width (column); + gint new_width; - gtk_widget_get_preferred_size (column->button, &button_req, NULL); + button = gtk_tree_view_column_get_button (column); - column->resized_width = MAX (column->resized_width, - gtk_tree_view_column_get_width (column)); - column->resized_width -= 2; - if (column->resized_width < 0) - column->resized_width = 0; + gtk_widget_get_preferred_size (button, &button_req, NULL); + + new_width = MAX (old_width, gtk_tree_view_column_get_width (column)); + new_width -= 2; + if (new_width < 0) + new_width = 0; + + _gtk_tree_view_column_set_resized_width (column, new_width); min_width = gtk_tree_view_column_get_min_width (column); if (min_width == -1) - column->resized_width = MAX (button_req.width, - column->resized_width); + new_width = MAX (button_req.width, new_width); else { - column->resized_width = MAX (min_width, - column->resized_width); + new_width = MAX (min_width, new_width); } max_width = gtk_tree_view_column_get_max_width (column); if (max_width != -1) - column->resized_width = MIN (column->resized_width, max_width); + new_width = MIN (new_width, max_width); - column->use_resized_width = TRUE; + _gtk_tree_view_column_set_use_resized_width (column, TRUE); - if (column->resized_width != old_width) - gtk_widget_queue_resize (widget); + if (new_width != old_width) + { + _gtk_tree_view_column_set_resized_width (column, new_width); + gtk_widget_queue_resize (widget); + } else gtk_widget_error_bell (widget); } else if (event->keyval == (rtl ? GDK_KEY_Left : GDK_KEY_Right) || event->keyval == (rtl ? GDK_KEY_KP_Left : GDK_KEY_KP_Right)) { - gint old_width = column->resized_width; + gint old_width = _gtk_tree_view_column_get_resized_width (column); + gint new_width; - column->resized_width = MAX (column->resized_width, - gtk_tree_view_column_get_width (column)); - column->resized_width += 2; + new_width = MAX (old_width, gtk_tree_view_column_get_width (column)); + new_width += 2; max_width = gtk_tree_view_column_get_max_width (column); if (max_width != -1) - column->resized_width = MIN (column->resized_width, max_width); + new_width = MIN (new_width, max_width); - column->use_resized_width = TRUE; + _gtk_tree_view_column_set_use_resized_width (column, TRUE); - if (column->resized_width != old_width) - gtk_widget_queue_resize (widget); + if (new_width != old_width) + { + _gtk_tree_view_column_set_resized_width (column, new_width); + gtk_widget_queue_resize (widget); + } else gtk_widget_error_bell (widget); } @@ -5839,7 +5901,8 @@ validate_row (GtkTreeView *tree_view, if (!gtk_tree_view_column_get_visible (column)) continue; - if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID) && !column->dirty) + if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_COLUMN_INVALID) && + !_gtk_tree_view_column_cell_get_dirty (column)) continue; gtk_tree_view_column_cell_set_cell_data (column, tree_view->priv->model, iter, @@ -5881,10 +5944,10 @@ validate_row (GtkTreeView *tree_view, tmp_width += grid_line_width; } - if (tmp_width > column->requested_width) + if (tmp_width > _gtk_tree_view_column_get_requested_width (column)) { retval = TRUE; - column->requested_width = tmp_width; + _gtk_tree_view_column_set_requested_width (column, tmp_width); } } @@ -7753,8 +7816,12 @@ gtk_tree_view_remove (GtkContainer *container, while (tmp_list) { GtkTreeViewColumn *column; + GtkWidget *button; + column = tmp_list->data; - if (column->button == widget) + button = gtk_tree_view_column_get_button (column); + + if (button == widget) { gtk_widget_unparent (widget); return; @@ -7772,6 +7839,7 @@ gtk_tree_view_forall (GtkContainer *container, GtkTreeView *tree_view = GTK_TREE_VIEW (container); GtkTreeViewChild *child = NULL; GtkTreeViewColumn *column; + GtkWidget *button; GList *tmp_list; tmp_list = tree_view->priv->children; @@ -7788,9 +7856,10 @@ gtk_tree_view_forall (GtkContainer *container, for (tmp_list = tree_view->priv->columns; tmp_list; tmp_list = tmp_list->next) { column = tmp_list->data; + button = gtk_tree_view_column_get_button (column); - if (column->button) - (* callback) (column->button, callback_data); + if (button) + (* callback) (button, callback_data); } } @@ -7809,7 +7878,7 @@ gtk_tree_view_has_can_focus_cell (GtkTreeView *tree_view) if (!gtk_tree_view_column_get_visible (column)) continue; - if (gtk_cell_area_is_activatable (column->cell_area)) + if (gtk_cell_area_is_activatable (gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)))) return TRUE; } @@ -7911,7 +7980,7 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, { GtkTreeViewColumn *column; GtkWidget *focus_child; - + GtkWidget *button; GList *last_column, *first_column; GList *tmp_list; gboolean rtl; @@ -7925,8 +7994,9 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, while (first_column) { column = GTK_TREE_VIEW_COLUMN (first_column->data); + button = gtk_tree_view_column_get_button (column); - if (gtk_widget_get_can_focus (column->button) && + if (gtk_widget_get_can_focus (button) && gtk_tree_view_column_get_visible (column) && (gtk_tree_view_column_get_clickable (column) || gtk_tree_view_column_get_reorderable (column))) @@ -7943,8 +8013,9 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, while (last_column) { column = GTK_TREE_VIEW_COLUMN (last_column->data); + button = gtk_tree_view_column_get_button (column); - if (gtk_widget_get_can_focus (column->button) && + if (gtk_widget_get_can_focus (button) && gtk_tree_view_column_get_visible (column) && (gtk_tree_view_column_get_clickable (column) || gtk_tree_view_column_get_reorderable (column))) @@ -7963,11 +8034,16 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, case GTK_DIR_DOWN: if (focus_child == NULL) { - if (tree_view->priv->focus_column != NULL && - gtk_widget_get_can_focus (tree_view->priv->focus_column->button)) - focus_child = tree_view->priv->focus_column->button; + if (tree_view->priv->focus_column != NULL) + button = gtk_tree_view_column_get_button (tree_view->priv->focus_column); + else + button = NULL; + + if (button && gtk_widget_get_can_focus (button)) + focus_child = button; else - focus_child = GTK_TREE_VIEW_COLUMN (first_column->data)->button; + focus_child = gtk_tree_view_column_get_button (GTK_TREE_VIEW_COLUMN (first_column->data)); + gtk_widget_grab_focus (focus_child); break; } @@ -7978,11 +8054,12 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, if (focus_child == NULL) { if (tree_view->priv->focus_column != NULL) - focus_child = tree_view->priv->focus_column->button; + focus_child = gtk_tree_view_column_get_button (tree_view->priv->focus_column); else if (dir == GTK_DIR_LEFT) - focus_child = GTK_TREE_VIEW_COLUMN (last_column->data)->button; + focus_child = gtk_tree_view_column_get_button (GTK_TREE_VIEW_COLUMN (last_column->data)); else - focus_child = GTK_TREE_VIEW_COLUMN (first_column->data)->button; + focus_child = gtk_tree_view_column_get_button (GTK_TREE_VIEW_COLUMN (first_column->data)); + gtk_widget_grab_focus (focus_child); break; } @@ -7996,7 +8073,7 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, /* We need to move the focus among the row of buttons. */ for (tmp_list = tree_view->priv->columns; tmp_list; tmp_list = tmp_list->next) - if (GTK_TREE_VIEW_COLUMN (tmp_list->data)->button == focus_child) + if (gtk_tree_view_column_get_button (GTK_TREE_VIEW_COLUMN (tmp_list->data)) == focus_child) break; if ((tmp_list == first_column && dir == (rtl ? GTK_DIR_RIGHT : GTK_DIR_LEFT)) @@ -8009,6 +8086,7 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, while (tmp_list) { GtkTreeViewColumn *column; + GtkWidget *button; if (dir == (rtl ? GTK_DIR_LEFT : GTK_DIR_RIGHT)) tmp_list = tmp_list->next; @@ -8021,12 +8099,13 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, break; } column = tmp_list->data; - if (column->button && + button = gtk_tree_view_column_get_button (column); + if (button && gtk_tree_view_column_get_visible (column) && - gtk_widget_get_can_focus (column->button)) + gtk_widget_get_can_focus (button)) { - focus_child = column->button; - gtk_widget_grab_focus (column->button); + focus_child = button; + gtk_widget_grab_focus (button); break; } } @@ -8041,7 +8120,7 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, if (focus_child) { for (tmp_list = tree_view->priv->columns; tmp_list; tmp_list = tmp_list->next) - if (GTK_TREE_VIEW_COLUMN (tmp_list->data)->button == focus_child) + if (gtk_tree_view_column_get_button (GTK_TREE_VIEW_COLUMN (tmp_list->data)) == focus_child) { tree_view->priv->focus_column = GTK_TREE_VIEW_COLUMN (tmp_list->data); break; @@ -8213,7 +8292,7 @@ gtk_tree_view_set_focus_child (GtkContainer *container, for (list = tree_view->priv->columns; list; list = list->next) { - if (GTK_TREE_VIEW_COLUMN (list->data)->button == child) + if (gtk_tree_view_column_get_button (GTK_TREE_VIEW_COLUMN (list->data)) == child) { tree_view->priv->focus_column = GTK_TREE_VIEW_COLUMN (list->data); break; @@ -8601,7 +8680,6 @@ gtk_tree_view_row_has_child_toggled (GtkTreeModel *model, for (list = tree_view->priv->columns; list; list = list->next) if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data))) { - GTK_TREE_VIEW_COLUMN (list->data)->dirty = TRUE; _gtk_tree_view_column_cell_set_dirty (GTK_TREE_VIEW_COLUMN (list->data), TRUE); break; } @@ -8990,7 +9068,7 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view, if (column == NULL) return; - gtk_widget_get_allocation (column->button, &allocation); + gtk_widget_get_allocation (gtk_tree_view_column_get_button (column), &allocation); x = allocation.x; width = allocation.width; @@ -9354,11 +9432,16 @@ gtk_tree_view_set_column_drag_info (GtkTreeView *tree_view, if (tmp_list->next != NULL) { GtkAllocation right_allocation, left_allocation; + GtkWidget *left_button, *right_button; g_assert (tmp_list->next->data); - gtk_widget_get_allocation (reorder->right_column->button, &right_allocation); - gtk_widget_get_allocation (((GtkTreeViewColumnReorder *)tmp_list->next->data)->left_column->button, &left_allocation); + right_button = gtk_tree_view_column_get_button (reorder->right_column); + left_button = gtk_tree_view_column_get_button + (((GtkTreeViewColumnReorder *)tmp_list->next->data)->left_column); + + gtk_widget_get_allocation (right_button, &right_allocation); + gtk_widget_get_allocation (left_button, &left_allocation); left = reorder->right_align = (right_allocation.x + right_allocation.width + left_allocation.x) / 2; } else @@ -9379,6 +9462,7 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, GtkAllocation button_allocation; GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (tree_view)); GdkDisplay *display = gdk_screen_get_display (screen); + GtkWidget *button; g_return_if_fail (tree_view->priv->column_drag_info == NULL); g_return_if_fail (tree_view->priv->cur_reorder == NULL); @@ -9388,12 +9472,14 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, if (tree_view->priv->column_drag_info == NULL) return; + button = gtk_tree_view_column_get_button (column); + if (tree_view->priv->drag_window == NULL) { GdkWindowAttr attributes; guint attributes_mask; - gtk_widget_get_allocation (column->button, &button_allocation); + gtk_widget_get_allocation (button, &button_allocation); attributes.window_type = GDK_WINDOW_CHILD; attributes.wclass = GDK_INPUT_OUTPUT; @@ -9414,17 +9500,17 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, gdk_display_pointer_ungrab (display, GDK_CURRENT_TIME); gdk_display_keyboard_ungrab (display, GDK_CURRENT_TIME); - gtk_grab_remove (column->button); + gtk_grab_remove (button); send_event = gdk_event_new (GDK_LEAVE_NOTIFY); send_event->crossing.send_event = TRUE; - send_event->crossing.window = g_object_ref (gtk_button_get_event_window (GTK_BUTTON (column->button))); + send_event->crossing.window = g_object_ref (gtk_button_get_event_window (GTK_BUTTON (button))); send_event->crossing.subwindow = NULL; send_event->crossing.detail = GDK_NOTIFY_ANCESTOR; send_event->crossing.time = GDK_CURRENT_TIME; gdk_event_set_device (send_event, device); - gtk_propagate_event (column->button, send_event); + gtk_propagate_event (button, send_event); gdk_event_free (send_event); send_event = gdk_event_new (GDK_BUTTON_RELEASE); @@ -9440,22 +9526,22 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, send_event->button.y_root = 0; gdk_event_set_device (send_event, device); - gtk_propagate_event (column->button, send_event); + gtk_propagate_event (button, send_event); gdk_event_free (send_event); /* Kids, don't try this at home */ - g_object_ref (column->button); - gtk_container_remove (GTK_CONTAINER (tree_view), column->button); - gtk_widget_set_parent_window (column->button, tree_view->priv->drag_window); - gtk_widget_set_parent (column->button, GTK_WIDGET (tree_view)); - g_object_unref (column->button); + g_object_ref (button); + gtk_container_remove (GTK_CONTAINER (tree_view), button); + gtk_widget_set_parent_window (button, tree_view->priv->drag_window); + gtk_widget_set_parent (button, GTK_WIDGET (tree_view)); + g_object_unref (button); - gtk_widget_get_allocation (column->button, &button_allocation); + gtk_widget_get_allocation (button, &button_allocation); tree_view->priv->drag_column_x = button_allocation.x; allocation = button_allocation; allocation.x = 0; - gtk_widget_size_allocate (column->button, &allocation); - gtk_widget_set_parent_window (column->button, tree_view->priv->drag_window); + gtk_widget_size_allocate (button, &allocation); + gtk_widget_set_parent_window (button, tree_view->priv->drag_window); tree_view->priv->drag_column = column; gdk_window_show (tree_view->priv->drag_window); @@ -10527,12 +10613,14 @@ gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view, for (list = tree_view->priv->columns; list; list = list->next) { GtkTreeViewColumn *column; + GtkWidget *button; column = list->data; if (!gtk_tree_view_column_get_visible (column)) continue; - if (gtk_widget_has_focus (column->button)) + button = gtk_tree_view_column_get_button (column); + if (gtk_widget_has_focus (button)) { found_focus = TRUE; break; @@ -10613,14 +10701,14 @@ gtk_tree_view_new_column_width (GtkTreeView *tree_view, */ rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL); column = g_list_nth (tree_view->priv->columns, i)->data; - gtk_widget_get_allocation (column->button, &allocation); + gtk_widget_get_allocation (gtk_tree_view_column_get_button (column), &allocation); width = rtl ? (allocation.x + allocation.width - *x) : (*x - allocation.x); /* Clamp down the value */ min_width = gtk_tree_view_column_get_min_width (column); if (min_width == -1) { - gtk_widget_get_preferred_size (column->button, &button_req, NULL); + gtk_widget_get_preferred_size (gtk_tree_view_column_get_button (column), &button_req, NULL); width = MAX (button_req.width, width); } else @@ -10737,8 +10825,10 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, GList *list; GtkTreeViewChild *child = NULL; GtkCellEditable *edit_widget; + GtkCellArea *area; - edit_widget = gtk_cell_area_get_edit_widget (tree_view->priv->edited_column->cell_area); + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->edited_column)); + edit_widget = gtk_cell_area_get_edit_widget (area); if (GTK_IS_WIDGET (edit_widget)) { adjust_allocation (GTK_WIDGET (edit_widget), 0, dy); @@ -11149,6 +11239,7 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, GList *list; GtkTreeViewColumn *column; GtkAllocation allocation; + GtkWidget *button; g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); @@ -11182,7 +11273,8 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, for (list = tree_view->priv->columns; list; list = list->next) { column = list->data; - gtk_widget_unmap (column->button); + button = gtk_tree_view_column_get_button (column); + gtk_widget_unmap (button); } gdk_window_hide (tree_view->priv->header_window); } @@ -11347,7 +11439,7 @@ gtk_tree_view_append_column (GtkTreeView *tree_view, { g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), -1); g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1); - g_return_val_if_fail (column->tree_view == NULL, -1); + g_return_val_if_fail (gtk_tree_view_column_get_tree_view (column) == NULL, -1); return gtk_tree_view_insert_column (tree_view, column, -1); } @@ -11368,7 +11460,7 @@ gtk_tree_view_remove_column (GtkTreeView *tree_view, { g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), -1); g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1); - g_return_val_if_fail (column->tree_view == GTK_WIDGET (tree_view), -1); + g_return_val_if_fail (gtk_tree_view_column_get_tree_view (column) == GTK_WIDGET (tree_view), -1); if (tree_view->priv->focus_column == column) tree_view->priv->focus_column = NULL; @@ -11440,7 +11532,7 @@ gtk_tree_view_insert_column (GtkTreeView *tree_view, { g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), -1); g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), -1); - g_return_val_if_fail (column->tree_view == NULL, -1); + g_return_val_if_fail (gtk_tree_view_column_get_tree_view (column) == NULL, -1); if (tree_view->priv->fixed_height_mode) g_return_val_if_fail (gtk_tree_view_column_get_sizing (column) @@ -12878,7 +12970,8 @@ gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, /* cancel the current editing, if it exists */ if (tree_view->priv->edited_column && - gtk_cell_area_get_edit_widget (tree_view->priv->edited_column->cell_area)) + gtk_cell_area_get_edit_widget + (gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->edited_column)))) gtk_tree_view_stop_editing (tree_view, TRUE); gtk_tree_view_real_set_cursor (tree_view, path, TRUE, TRUE); @@ -13091,7 +13184,7 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); g_return_if_fail (column == NULL || GTK_IS_TREE_VIEW_COLUMN (column)); g_return_if_fail (rect != NULL); - g_return_if_fail (!column || column->tree_view == (GtkWidget *) tree_view); + g_return_if_fail (!column || gtk_tree_view_column_get_tree_view (column) == (GtkWidget *) tree_view); g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (tree_view))); gtk_widget_style_get (GTK_WIDGET (tree_view), @@ -13106,7 +13199,7 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, if (column) { - gtk_widget_get_allocation (column->button, &allocation); + gtk_widget_get_allocation (gtk_tree_view_column_get_button (column), &allocation); rect->x = allocation.x + horizontal_separator/2; rect->width = allocation.width - horizontal_separator; } @@ -14908,8 +15001,8 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, focus_column, &cell_area); - if (gtk_cell_area_activate (focus_column->cell_area, - focus_column->cell_area_context, + if (gtk_cell_area_activate (gtk_cell_layout_get_area (GTK_CELL_LAYOUT (focus_column)), + _gtk_tree_view_column_get_context (focus_column), GTK_WIDGET (tree_view), &cell_area, flags)) @@ -14975,7 +15068,7 @@ gtk_tree_view_stop_editing (GtkTreeView *tree_view, */ column = tree_view->priv->edited_column; - gtk_cell_area_stop_editing (column->cell_area, cancel_editing); + gtk_cell_area_stop_editing (gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)), cancel_editing); tree_view->priv->edited_column = NULL; } diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index f49e8fa138..33c9645894 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -56,35 +56,6 @@ */ -enum -{ - PROP_0, - PROP_VISIBLE, - PROP_RESIZABLE, - PROP_WIDTH, - PROP_SPACING, - PROP_SIZING, - PROP_FIXED_WIDTH, - PROP_MIN_WIDTH, - PROP_MAX_WIDTH, - PROP_TITLE, - PROP_EXPAND, - PROP_CLICKABLE, - PROP_WIDGET, - PROP_ALIGNMENT, - PROP_REORDERABLE, - PROP_SORT_INDICATOR, - PROP_SORT_ORDER, - PROP_SORT_COLUMN_ID, - PROP_CELL_AREA -}; - -enum -{ - CLICKED, - LAST_SIGNAL -}; - /* Type methods */ static void gtk_tree_view_column_cell_layout_init (GtkCellLayoutIface *iface); @@ -150,6 +121,87 @@ static void gtk_tree_view_column_set_attributesv (GtkTreeViewColum /* GtkBuildable implementation */ static void gtk_tree_view_column_buildable_init (GtkBuildableIface *iface); + +struct _GtkTreeViewColumnPrivate +{ + GtkWidget *tree_view; + GtkWidget *button; + GtkWidget *child; + GtkWidget *arrow; + GtkWidget *alignment; + GdkWindow *window; + gfloat xalign; + gulong property_changed_signal; + + /* Sizing fields */ + /* see gtk+/doc/tree-column-sizing.txt for more information on them */ + GtkTreeViewColumnSizing column_type; + gint requested_width; + gint resized_width; + gint width; + gint fixed_width; + gint min_width; + gint max_width; + + /* dragging columns */ + gint drag_x; + gint drag_y; + + gchar *title; + + /* Sorting */ + gulong sort_clicked_signal; + gulong sort_column_changed_signal; + gint sort_column_id; + GtkSortType sort_order; + + /* Cell area */ + GtkCellArea *cell_area; + GtkCellAreaContext *cell_area_context; + gulong add_editable_signal; + gulong remove_editable_signal; + gulong context_changed_signal; + + /* Flags */ + guint visible : 1; + guint resizable : 1; + guint clickable : 1; + guint dirty : 1; + guint show_sort_indicator : 1; + guint maybe_reordered : 1; + guint reorderable : 1; + guint use_resized_width : 1; + guint expand : 1; +}; + +enum +{ + PROP_0, + PROP_VISIBLE, + PROP_RESIZABLE, + PROP_WIDTH, + PROP_SPACING, + PROP_SIZING, + PROP_FIXED_WIDTH, + PROP_MIN_WIDTH, + PROP_MAX_WIDTH, + PROP_TITLE, + PROP_EXPAND, + PROP_CLICKABLE, + PROP_WIDGET, + PROP_ALIGNMENT, + PROP_REORDERABLE, + PROP_SORT_INDICATOR, + PROP_SORT_ORDER, + PROP_SORT_COLUMN_ID +}; + +enum +{ + CLICKED, + LAST_SIGNAL +}; + static guint tree_column_signals[LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE_WITH_CODE (GtkTreeViewColumn, gtk_tree_view_column, G_TYPE_INITIALLY_UNOWNED, @@ -342,21 +394,7 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class) -1, GTK_PARAM_READWRITE)); - /** - * GtkTreeViewColumn:cell-area: - * - * The #GtkCellArea used to layout cell renderers for this column. - * - * Since: 3.0 - */ - g_object_class_install_property (object_class, - PROP_CELL_AREA, - g_param_spec_object ("cell-area", - P_("Cell Area"), - P_("The GtkCellArea used to layout cells"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - + g_type_class_add_private (class, sizeof (GtkTreeViewColumnPrivate)); } static void @@ -387,66 +425,44 @@ gtk_tree_view_column_cell_layout_init (GtkCellLayoutIface *iface) static void gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) { - tree_column->button = NULL; - tree_column->xalign = 0.0; - tree_column->width = 0; - tree_column->requested_width = -1; - tree_column->min_width = -1; - tree_column->max_width = -1; - tree_column->resized_width = 0; - tree_column->column_type = GTK_TREE_VIEW_COLUMN_GROW_ONLY; - tree_column->visible = TRUE; - tree_column->resizable = FALSE; - tree_column->expand = FALSE; - tree_column->clickable = FALSE; - tree_column->dirty = TRUE; - tree_column->sort_order = GTK_SORT_ASCENDING; - tree_column->show_sort_indicator = FALSE; - tree_column->property_changed_signal = 0; - tree_column->sort_clicked_signal = 0; - tree_column->sort_column_changed_signal = 0; - tree_column->sort_column_id = -1; - tree_column->reorderable = FALSE; - tree_column->maybe_reordered = FALSE; - tree_column->fixed_width = 1; - tree_column->use_resized_width = FALSE; - tree_column->title = g_strdup (""); -} + GtkTreeViewColumnPrivate *priv; -static GObject * -gtk_tree_view_column_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) -{ - GtkTreeViewColumn *tree_column; - GObject *object; + tree_column->priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_column, + GTK_TYPE_TREE_VIEW_COLUMN, + GtkTreeViewColumnPrivate); + priv = tree_column->priv; - object = G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->constructor - (type, n_construct_properties, construct_properties); + priv->button = NULL; + priv->xalign = 0.0; + priv->width = 0; + priv->requested_width = -1; + priv->min_width = -1; + priv->max_width = -1; + priv->resized_width = 0; + priv->column_type = GTK_TREE_VIEW_COLUMN_GROW_ONLY; + priv->visible = TRUE; + priv->resizable = FALSE; + priv->expand = FALSE; + priv->clickable = FALSE; + priv->dirty = TRUE; + priv->sort_order = GTK_SORT_ASCENDING; + priv->show_sort_indicator = FALSE; + priv->property_changed_signal = 0; + priv->sort_clicked_signal = 0; + priv->sort_column_changed_signal = 0; + priv->sort_column_id = -1; + priv->reorderable = FALSE; + priv->maybe_reordered = FALSE; + priv->fixed_width = 1; + priv->use_resized_width = FALSE; + priv->title = g_strdup (""); - tree_column = (GtkTreeViewColumn *) object; + priv->cell_area = gtk_cell_area_box_new (); + gtk_cell_area_set_style_detail (priv->cell_area, "treeview"); + priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); - if (!tree_column->cell_area) - { - tree_column->cell_area = gtk_cell_area_box_new (); - g_object_ref_sink (tree_column->cell_area); - } - - gtk_cell_area_set_style_detail (tree_column->cell_area, "treeview"); - - tree_column->add_editable_signal = - g_signal_connect (tree_column->cell_area, "add-editable", - G_CALLBACK (gtk_tree_view_column_add_editable_callback), - tree_column); - tree_column->remove_editable_signal = - g_signal_connect (tree_column->cell_area, "remove-editable", - G_CALLBACK (gtk_tree_view_column_remove_editable_callback), - tree_column); - - tree_column->cell_area_context = gtk_cell_area_create_context (tree_column->cell_area); - - tree_column->context_changed_signal = - g_signal_connect (tree_column->cell_area_context, "notify", + priv->context_changed_signal = + g_signal_connect (priv->cell_area_context, "notify", G_CALLBACK (gtk_tree_view_column_context_changed), tree_column); return object; @@ -455,36 +471,30 @@ gtk_tree_view_column_constructor (GType type, static void gtk_tree_view_column_dispose (GObject *object) { - GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; + GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; + GtkTreeViewColumnPrivate *priv = tree_column->priv; - if (tree_column->cell_area_context) + if (priv->cell_area_context) { - g_signal_handler_disconnect (tree_column->cell_area_context, - tree_column->context_changed_signal); + g_signal_handler_disconnect (priv->cell_area_context, + priv->context_changed_signal); - g_object_unref (tree_column->cell_area_context); + g_object_unref (priv->cell_area_context); - tree_column->cell_area_context = NULL; - tree_column->context_changed_signal = 0; + priv->cell_area_context = NULL; + priv->context_changed_signal = 0; } - if (tree_column->cell_area) + if (priv->cell_area) { - g_signal_handler_disconnect (tree_column->cell_area, - tree_column->add_editable_signal); - g_signal_handler_disconnect (tree_column->cell_area, - tree_column->remove_editable_signal); - - g_object_unref (tree_column->cell_area); - tree_column->cell_area = NULL; - tree_column->add_editable_signal = 0; - tree_column->remove_editable_signal = 0; + g_object_unref (priv->cell_area); + priv->cell_area = NULL; } - if (tree_column->child) + if (priv->child) { - g_object_unref (tree_column->child); - tree_column->child = NULL; + g_object_unref (priv->child); + priv->child = NULL; } G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->dispose (object); @@ -493,9 +503,10 @@ gtk_tree_view_column_dispose (GObject *object) static void gtk_tree_view_column_finalize (GObject *object) { - GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; + GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object; + GtkTreeViewColumnPrivate *priv = tree_column->priv; - g_free (tree_column->title); + g_free (priv->title); G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->finalize (object); } @@ -719,12 +730,10 @@ gtk_tree_view_column_get_property (GObject *object, static GtkCellArea * gtk_tree_view_column_cell_layout_get_area (GtkCellLayout *cell_layout) { - GtkTreeViewColumn *column; + GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (cell_layout); + GtkTreeViewColumnPrivate *priv = column->priv; - g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (cell_layout), NULL); - column = GTK_TREE_VIEW_COLUMN (cell_layout); - - return column->cell_area; + return priv->cell_area; } /* Button handling code @@ -732,42 +741,43 @@ gtk_tree_view_column_cell_layout_get_area (GtkCellLayout *cell_layout) static void gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column) { + GtkTreeViewColumnPrivate *priv = tree_column->priv; GtkTreeView *tree_view; GtkWidget *child; GtkWidget *hbox; - tree_view = (GtkTreeView *) tree_column->tree_view; + tree_view = (GtkTreeView *) priv->tree_view; g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); - g_return_if_fail (tree_column->button == NULL); + g_return_if_fail (priv->button == NULL); gtk_widget_push_composite_child (); - tree_column->button = gtk_button_new (); - gtk_widget_add_events (tree_column->button, GDK_POINTER_MOTION_MASK); + priv->button = gtk_button_new (); + gtk_widget_add_events (priv->button, GDK_POINTER_MOTION_MASK); gtk_widget_pop_composite_child (); /* make sure we own a reference to it as well. */ if (tree_view->priv->header_window) - gtk_widget_set_parent_window (tree_column->button, tree_view->priv->header_window); - gtk_widget_set_parent (tree_column->button, GTK_WIDGET (tree_view)); + gtk_widget_set_parent_window (priv->button, tree_view->priv->header_window); + gtk_widget_set_parent (priv->button, GTK_WIDGET (tree_view)); - g_signal_connect (tree_column->button, "event", + g_signal_connect (priv->button, "event", G_CALLBACK (gtk_tree_view_column_button_event), tree_column); - g_signal_connect (tree_column->button, "clicked", + g_signal_connect (priv->button, "clicked", G_CALLBACK (gtk_tree_view_column_button_clicked), tree_column); - tree_column->alignment = gtk_alignment_new (tree_column->xalign, 0.5, 0.0, 0.0); + priv->alignment = gtk_alignment_new (priv->xalign, 0.5, 0.0, 0.0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); - tree_column->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); + priv->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_IN); - if (tree_column->child) - child = tree_column->child; + if (priv->child) + child = priv->child; else { - child = gtk_label_new (tree_column->title); + child = gtk_label_new (priv->title); gtk_widget_show (child); } @@ -775,24 +785,25 @@ gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column) G_CALLBACK (gtk_tree_view_column_mnemonic_activate), tree_column); - if (tree_column->xalign <= 0.5) - gtk_box_pack_end (GTK_BOX (hbox), tree_column->arrow, FALSE, FALSE, 0); + if (priv->xalign <= 0.5) + gtk_box_pack_end (GTK_BOX (hbox), priv->arrow, FALSE, FALSE, 0); else - gtk_box_pack_start (GTK_BOX (hbox), tree_column->arrow, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), priv->arrow, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (hbox), tree_column->alignment, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (hbox), priv->alignment, TRUE, TRUE, 0); - gtk_container_add (GTK_CONTAINER (tree_column->alignment), child); - gtk_container_add (GTK_CONTAINER (tree_column->button), hbox); + gtk_container_add (GTK_CONTAINER (priv->alignment), child); + gtk_container_add (GTK_CONTAINER (priv->button), hbox); gtk_widget_show (hbox); - gtk_widget_show (tree_column->alignment); + gtk_widget_show (priv->alignment); gtk_tree_view_column_update_button (tree_column); } static void gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) { + GtkTreeViewColumnPrivate *priv = tree_column->priv; gint sort_column_id = -1; GtkWidget *hbox; GtkWidget *alignment; @@ -801,38 +812,38 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) GtkArrowType arrow_type = GTK_ARROW_NONE; GtkTreeModel *model; - if (tree_column->tree_view) - model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_column->tree_view)); + if (priv->tree_view) + model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->tree_view)); else model = NULL; /* Create a button if necessary */ - if (tree_column->visible && - tree_column->button == NULL && - tree_column->tree_view && - gtk_widget_get_realized (tree_column->tree_view)) + if (priv->visible && + priv->button == NULL && + priv->tree_view && + gtk_widget_get_realized (priv->tree_view)) gtk_tree_view_column_create_button (tree_column); - if (! tree_column->button) + if (! priv->button) return; - hbox = gtk_bin_get_child (GTK_BIN (tree_column->button)); - alignment = tree_column->alignment; - arrow = tree_column->arrow; + hbox = gtk_bin_get_child (GTK_BIN (priv->button)); + alignment = priv->alignment; + arrow = priv->arrow; current_child = gtk_bin_get_child (GTK_BIN (alignment)); /* Set up the actual button */ - gtk_alignment_set (GTK_ALIGNMENT (alignment), tree_column->xalign, + gtk_alignment_set (GTK_ALIGNMENT (alignment), priv->xalign, 0.5, 0.0, 0.0); - if (tree_column->child) + if (priv->child) { - if (current_child != tree_column->child) + if (current_child != priv->child) { gtk_container_remove (GTK_CONTAINER (alignment), current_child); gtk_container_add (GTK_CONTAINER (alignment), - tree_column->child); + priv->child); } } else @@ -847,9 +858,9 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) g_return_if_fail (GTK_IS_LABEL (current_child)); - if (tree_column->title) + if (priv->title) gtk_label_set_text_with_mnemonic (GTK_LABEL (current_child), - tree_column->title); + priv->title); else gtk_label_set_text_with_mnemonic (GTK_LABEL (current_child), ""); @@ -860,15 +871,15 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) &sort_column_id, NULL); - if (tree_column->show_sort_indicator) + if (priv->show_sort_indicator) { gboolean alternative; - g_object_get (gtk_widget_get_settings (tree_column->tree_view), + g_object_get (gtk_widget_get_settings (priv->tree_view), "gtk-alternative-sort-arrows", &alternative, NULL); - switch (tree_column->sort_order) + switch (priv->sort_order) { case GTK_SORT_ASCENDING: arrow_type = alternative ? GTK_ARROW_UP : GTK_ARROW_DOWN; @@ -895,7 +906,7 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) g_object_ref (arrow); gtk_container_remove (GTK_CONTAINER (hbox), arrow); - if (tree_column->xalign <= 0.5) + if (priv->xalign <= 0.5) { gtk_box_pack_end (GTK_BOX (hbox), arrow, FALSE, FALSE, 0); } @@ -907,52 +918,52 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) } g_object_unref (arrow); - if (tree_column->show_sort_indicator - || (GTK_IS_TREE_SORTABLE (model) && tree_column->sort_column_id >= 0)) + if (priv->show_sort_indicator + || (GTK_IS_TREE_SORTABLE (model) && priv->sort_column_id >= 0)) gtk_widget_show (arrow); else gtk_widget_hide (arrow); /* It's always safe to hide the button. It isn't always safe to show it, as * if you show it before it's realized, it'll get the wrong window. */ - if (tree_column->button && - tree_column->tree_view != NULL && - gtk_widget_get_realized (tree_column->tree_view)) + if (priv->button && + priv->tree_view != NULL && + gtk_widget_get_realized (priv->tree_view)) { - if (tree_column->visible) + if (priv->visible) { - gtk_widget_show_now (tree_column->button); - if (tree_column->window) + gtk_widget_show_now (priv->button); + if (priv->window) { - if (tree_column->resizable) + if (priv->resizable) { - gdk_window_show (tree_column->window); - gdk_window_raise (tree_column->window); + gdk_window_show (priv->window); + gdk_window_raise (priv->window); } else { - gdk_window_hide (tree_column->window); + gdk_window_hide (priv->window); } } } else { - gtk_widget_hide (tree_column->button); - if (tree_column->window) - gdk_window_hide (tree_column->window); + gtk_widget_hide (priv->button); + if (priv->window) + gdk_window_hide (priv->window); } } - if (tree_column->reorderable || tree_column->clickable) + if (priv->reorderable || priv->clickable) { - gtk_widget_set_can_focus (tree_column->button, TRUE); + gtk_widget_set_can_focus (priv->button, TRUE); } else { - gtk_widget_set_can_focus (tree_column->button, FALSE); - if (gtk_widget_has_focus (tree_column->button)) + gtk_widget_set_can_focus (priv->button, FALSE); + if (gtk_widget_has_focus (priv->button)) { - GtkWidget *toplevel = gtk_widget_get_toplevel (tree_column->tree_view); + GtkWidget *toplevel = gtk_widget_get_toplevel (priv->tree_view); if (gtk_widget_is_toplevel (toplevel)) { gtk_window_set_focus (GTK_WINDOW (toplevel), NULL); @@ -962,8 +973,8 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) /* Queue a resize on the assumption that we always want to catch all changes * and columns don't change all that often. */ - if (gtk_widget_get_realized (tree_column->tree_view)) - gtk_widget_queue_resize (tree_column->tree_view); + if (gtk_widget_get_realized (priv->tree_view)) + gtk_widget_queue_resize (priv->tree_view); } @@ -975,40 +986,42 @@ gtk_tree_view_column_button_event (GtkWidget *widget, GdkEvent *event, gpointer data) { - GtkTreeViewColumn *column = (GtkTreeViewColumn *) data; + GtkTreeViewColumn *column = (GtkTreeViewColumn *) data; + GtkTreeViewColumnPrivate *priv = column->priv; g_return_val_if_fail (event != NULL, FALSE); if (event->type == GDK_BUTTON_PRESS && - column->reorderable && + priv->reorderable && ((GdkEventButton *)event)->button == 1) { - column->maybe_reordered = TRUE; + priv->maybe_reordered = TRUE; gdk_window_get_pointer (gtk_button_get_event_window (GTK_BUTTON (widget)), - &column->drag_x, - &column->drag_y, + &priv->drag_x, + &priv->drag_y, NULL); gtk_widget_grab_focus (widget); } if (event->type == GDK_BUTTON_RELEASE || event->type == GDK_LEAVE_NOTIFY) - column->maybe_reordered = FALSE; + priv->maybe_reordered = FALSE; if (event->type == GDK_MOTION_NOTIFY && - column->maybe_reordered && + priv->maybe_reordered && (gtk_drag_check_threshold (widget, - column->drag_x, - column->drag_y, + priv->drag_x, + priv->drag_y, (gint) ((GdkEventMotion *)event)->x, (gint) ((GdkEventMotion *)event)->y))) { - column->maybe_reordered = FALSE; - _gtk_tree_view_column_start_drag (GTK_TREE_VIEW (column->tree_view), column, + priv->maybe_reordered = FALSE; + _gtk_tree_view_column_start_drag (GTK_TREE_VIEW (priv->tree_view), column, event->motion.device); return TRUE; } - if (column->clickable == FALSE) + + if (priv->clickable == FALSE) { switch (event->type) { @@ -1039,17 +1052,20 @@ gtk_tree_view_column_mnemonic_activate (GtkWidget *widget, gboolean group_cycling, gpointer data) { - GtkTreeViewColumn *column = (GtkTreeViewColumn *)data; + GtkTreeViewColumn *column = (GtkTreeViewColumn *)data; + GtkTreeViewColumnPrivate *priv = column->priv; g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), FALSE); - GTK_TREE_VIEW (column->tree_view)->priv->focus_column = column; - if (column->clickable) - gtk_button_clicked (GTK_BUTTON (column->button)); - else if (gtk_widget_get_can_focus (column->button)) - gtk_widget_grab_focus (column->button); + /* XXX Direct access to treeview */ + GTK_TREE_VIEW (priv->tree_view)->priv->focus_column = column; + + if (priv->clickable) + gtk_button_clicked (GTK_BUTTON (priv->button)); + else if (gtk_widget_get_can_focus (priv->button)) + gtk_widget_grab_focus (priv->button); else - gtk_widget_grab_focus (column->tree_view); + gtk_widget_grab_focus (priv->tree_view); return TRUE; } @@ -1058,6 +1074,7 @@ static void gtk_tree_view_model_sort_column_changed (GtkTreeSortable *sortable, GtkTreeViewColumn *column) { + GtkTreeViewColumnPrivate *priv = column->priv; gint sort_column_id; GtkSortType order; @@ -1065,7 +1082,7 @@ gtk_tree_view_model_sort_column_changed (GtkTreeSortable *sortable, &sort_column_id, &order)) { - if (sort_column_id == column->sort_column_id) + if (sort_column_id == priv->sort_column_id) { gtk_tree_view_column_set_sort_indicator (column, TRUE); gtk_tree_view_column_set_sort_order (column, order); @@ -1085,74 +1102,80 @@ static void gtk_tree_view_column_sort (GtkTreeViewColumn *tree_column, gpointer data) { + GtkTreeViewColumnPrivate *priv = tree_column->priv; + GtkTreeModel *model; + GtkTreeSortable *sortable; gint sort_column_id; GtkSortType order; gboolean has_sort_column; gboolean has_default_sort_func; - g_return_if_fail (tree_column->tree_view != NULL); + g_return_if_fail (priv->tree_view != NULL); + + model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->tree_view)); + sortable = GTK_TREE_SORTABLE (model); has_sort_column = - gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (GTK_TREE_VIEW (tree_column->tree_view)->priv->model), + gtk_tree_sortable_get_sort_column_id (sortable, &sort_column_id, &order); has_default_sort_func = - gtk_tree_sortable_has_default_sort_func (GTK_TREE_SORTABLE (GTK_TREE_VIEW (tree_column->tree_view)->priv->model)); + gtk_tree_sortable_has_default_sort_func (sortable); if (has_sort_column && - sort_column_id == tree_column->sort_column_id) + sort_column_id == priv->sort_column_id) { if (order == GTK_SORT_ASCENDING) - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GTK_TREE_VIEW (tree_column->tree_view)->priv->model), - tree_column->sort_column_id, + gtk_tree_sortable_set_sort_column_id (sortable, + priv->sort_column_id, GTK_SORT_DESCENDING); else if (order == GTK_SORT_DESCENDING && has_default_sort_func) - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GTK_TREE_VIEW (tree_column->tree_view)->priv->model), + gtk_tree_sortable_set_sort_column_id (sortable, GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); else - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GTK_TREE_VIEW (tree_column->tree_view)->priv->model), - tree_column->sort_column_id, + gtk_tree_sortable_set_sort_column_id (sortable, + priv->sort_column_id, GTK_SORT_ASCENDING); } else { - gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (GTK_TREE_VIEW (tree_column->tree_view)->priv->model), - tree_column->sort_column_id, + gtk_tree_sortable_set_sort_column_id (sortable, + priv->sort_column_id, GTK_SORT_ASCENDING); } } - static void gtk_tree_view_column_setup_sort_column_id_callback (GtkTreeViewColumn *tree_column) { + GtkTreeViewColumnPrivate *priv = tree_column->priv; GtkTreeModel *model; - if (tree_column->tree_view == NULL) + if (priv->tree_view == NULL) return; - model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_column->tree_view)); + model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->tree_view)); if (model == NULL) return; if (GTK_IS_TREE_SORTABLE (model) && - tree_column->sort_column_id != -1) + priv->sort_column_id != -1) { gint real_sort_column_id; GtkSortType real_order; - if (tree_column->sort_column_changed_signal == 0) - tree_column->sort_column_changed_signal = + if (priv->sort_column_changed_signal == 0) + priv->sort_column_changed_signal = g_signal_connect (model, "sort-column-changed", G_CALLBACK (gtk_tree_view_model_sort_column_changed), tree_column); - + if (gtk_tree_sortable_get_sort_column_id (GTK_TREE_SORTABLE (model), &real_sort_column_id, &real_order) && - (real_sort_column_id == tree_column->sort_column_id)) + (real_sort_column_id == priv->sort_column_id)) { gtk_tree_view_column_set_sort_indicator (tree_column, TRUE); gtk_tree_view_column_set_sort_order (tree_column, real_order); @@ -1190,21 +1213,19 @@ gtk_tree_view_column_add_editable_callback (GtkCellArea *area, const gchar *path_string, gpointer user_data) { - GtkTreePath *path; - GtkTreeViewColumn *column = user_data; + GtkTreeViewColumn *column = user_data; + GtkTreeViewColumnPrivate *priv = column->priv; + GtkTreePath *path; - if (column->tree_view) - { - path = gtk_tree_path_new_from_string (path_string); - - _gtk_tree_view_add_editable (GTK_TREE_VIEW (column->tree_view), - column, - path, - edit_widget, - cell_area); - - gtk_tree_path_free (path); - } + path = gtk_tree_path_new_from_string (path_string); + + _gtk_tree_view_add_editable (GTK_TREE_VIEW (priv->tree_view), + column, + path, + edit_widget, + cell_area); + + gtk_tree_path_free (path); } static void @@ -1213,39 +1234,40 @@ gtk_tree_view_column_remove_editable_callback (GtkCellArea *area, GtkCellEditable *edit_widget, gpointer user_data) { - GtkTreeViewColumn *column = user_data; + GtkTreeViewColumn *column = user_data; + GtkTreeViewColumnPrivate *priv = column->priv; - if (column->tree_view) - _gtk_tree_view_remove_editable (GTK_TREE_VIEW (column->tree_view), - column, - edit_widget); + _gtk_tree_view_remove_editable (GTK_TREE_VIEW (priv->tree_view), + column, + edit_widget); } /* Exported Private Functions. * These should only be called by gtktreeview.c or gtktreeviewcolumn.c */ - void _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) { + GtkTreeViewColumnPrivate *priv = column->priv; GtkAllocation allocation; GtkTreeView *tree_view; GdkWindowAttr attr; guint attributes_mask; gboolean rtl; - tree_view = (GtkTreeView *)column->tree_view; - rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL); + tree_view = (GtkTreeView *)priv->tree_view; + rtl = (gtk_widget_get_direction (priv->tree_view) == GTK_TEXT_DIR_RTL); g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); - g_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (tree_view))); + g_return_if_fail (gtk_widget_get_realized (priv->tree_view)); + g_return_if_fail (priv->button != NULL); + + /* XXX Access to GtkTreeView->priv */ g_return_if_fail (tree_view->priv->header_window != NULL); - g_return_if_fail (column->button != NULL); + gtk_widget_set_parent_window (priv->button, tree_view->priv->header_window); - gtk_widget_set_parent_window (column->button, tree_view->priv->header_window); - - if (column->visible) - gtk_widget_show (column->button); + if (priv->visible) + gtk_widget_show (priv->button); attr.window_type = GDK_WINDOW_CHILD; attr.wclass = GDK_INPUT_ONLY; @@ -1263,11 +1285,11 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) attr.width = TREE_VIEW_DRAG_WIDTH; attr.height = tree_view->priv->header_height; - gtk_widget_get_allocation (column->button, &allocation); - attr.x = (allocation.x + (rtl ? 0 : allocation.width)) - TREE_VIEW_DRAG_WIDTH / 2; - column->window = gdk_window_new (tree_view->priv->header_window, + gtk_widget_get_allocation (priv->button, &allocation); + attr.x = (allocation.x + (rtl ? 0 : allocation.width)) - TREE_VIEW_DRAG_WIDTH / 2; + priv->window = gdk_window_new (tree_view->priv->header_window, &attr, attributes_mask); - gdk_window_set_user_data (column->window, tree_view); + gdk_window_set_user_data (priv->window, tree_view); gtk_tree_view_column_update_button (column); @@ -1277,23 +1299,29 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) void _gtk_tree_view_column_unrealize_button (GtkTreeViewColumn *column) { - g_return_if_fail (column != NULL); - g_return_if_fail (column->window != NULL); + GtkTreeViewColumnPrivate *priv; - gdk_window_set_user_data (column->window, NULL); - gdk_window_destroy (column->window); - column->window = NULL; + g_return_if_fail (column != NULL); + + priv = column->priv; + g_return_if_fail (priv->window != NULL); + + gdk_window_set_user_data (priv->window, NULL); + gdk_window_destroy (priv->window); + priv->window = NULL; } void _gtk_tree_view_column_unset_model (GtkTreeViewColumn *column, GtkTreeModel *old_model) { - if (column->sort_column_changed_signal) + GtkTreeViewColumnPrivate *priv = column->priv; + + if (priv->sort_column_changed_signal) { g_signal_handler_disconnect (old_model, - column->sort_column_changed_signal); - column->sort_column_changed_signal = 0; + priv->sort_column_changed_signal); + priv->sort_column_changed_signal = 0; } gtk_tree_view_column_set_sort_indicator (column, FALSE); } @@ -1302,12 +1330,23 @@ void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view) { - g_assert (column->tree_view == NULL); + GtkTreeViewColumnPrivate *priv = column->priv; - column->tree_view = GTK_WIDGET (tree_view); + g_assert (priv->tree_view == NULL); + + priv->tree_view = GTK_WIDGET (tree_view); gtk_tree_view_column_create_button (column); - column->property_changed_signal = + priv->add_editable_signal = + g_signal_connect (priv->cell_area, "add-editable", + G_CALLBACK (gtk_tree_view_column_add_editable_callback), + column); + priv->remove_editable_signal = + g_signal_connect (priv->cell_area, "remove-editable", + G_CALLBACK (gtk_tree_view_column_remove_editable_callback), + column); + + priv->property_changed_signal = g_signal_connect_swapped (tree_view, "notify::model", G_CALLBACK (gtk_tree_view_column_setup_sort_column_id_callback), @@ -1319,34 +1358,37 @@ _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, void _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column) { - if (column->tree_view && column->button) + GtkTreeViewColumnPrivate *priv = column->priv; + + if (priv->tree_view && priv->button) { - gtk_container_remove (GTK_CONTAINER (column->tree_view), column->button); + gtk_container_remove (GTK_CONTAINER (priv->tree_view), priv->button); } - if (column->property_changed_signal) + if (priv->property_changed_signal) { - g_signal_handler_disconnect (column->tree_view, column->property_changed_signal); - column->property_changed_signal = 0; + g_signal_handler_disconnect (priv->tree_view, priv->property_changed_signal); + priv->property_changed_signal = 0; } - if (column->sort_column_changed_signal) + if (priv->sort_column_changed_signal) { - g_signal_handler_disconnect (gtk_tree_view_get_model (GTK_TREE_VIEW (column->tree_view)), - column->sort_column_changed_signal); - column->sort_column_changed_signal = 0; + g_signal_handler_disconnect (gtk_tree_view_get_model (GTK_TREE_VIEW (priv->tree_view)), + priv->sort_column_changed_signal); + priv->sort_column_changed_signal = 0; } - column->tree_view = NULL; - column->button = NULL; + priv->tree_view = NULL; + priv->button = NULL; } gboolean _gtk_tree_view_column_has_editable_cell (GtkTreeViewColumn *column) { + GtkTreeViewColumnPrivate *priv = column->priv; gboolean ret = FALSE; GList *list, *cells; - cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column->cell_area)); + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->cell_area)); for (list = cells; list; list = list->next) { @@ -1371,7 +1413,9 @@ _gtk_tree_view_column_has_editable_cell (GtkTreeViewColumn *column) GtkCellRenderer * _gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column) { - return gtk_cell_area_get_edited_cell (column->cell_area); + GtkTreeViewColumnPrivate *priv = column->priv; + + return gtk_cell_area_get_edited_cell (priv->cell_area); } /* Public Functions */ @@ -1520,18 +1564,19 @@ gtk_tree_view_column_set_attributesv (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, va_list args) { + GtkTreeViewColumnPrivate *priv = tree_column->priv; gchar *attribute; gint column; attribute = va_arg (args, gchar *); - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (tree_column->cell_area), + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (priv->cell_area), cell_renderer); while (attribute != NULL) { column = va_arg (args, gint); - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (tree_column->cell_area), + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->cell_area), cell_renderer, attribute, column); attribute = va_arg (args, gchar *); } @@ -1620,12 +1665,16 @@ void gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column, gint spacing) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (spacing >= 0); - gtk_cell_area_box_set_spacing (GTK_CELL_AREA_BOX (tree_column->cell_area), + priv = tree_column->priv; + + gtk_cell_area_box_set_spacing (GTK_CELL_AREA_BOX (priv->cell_area), spacing); - if (tree_column->tree_view) + if (priv->tree_view) _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); } @@ -1640,9 +1689,13 @@ gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column, gint gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column) { + GtkTreeViewColumnPrivate *priv; + g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (tree_column->cell_area)); + priv = tree_column->priv; + + return gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (priv->cell_area)); } /* Options for manipulating the columns */ @@ -1658,16 +1711,19 @@ void gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column, gboolean visible) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + priv = tree_column->priv; visible = !! visible; - if (tree_column->visible == visible) + if (priv->visible == visible) return; - tree_column->visible = visible; + priv->visible = visible; - if (tree_column->visible) + if (priv->visible) _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); gtk_tree_view_column_update_button (tree_column); @@ -1688,7 +1744,7 @@ gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return tree_column->visible; + return tree_column->priv->visible; } /** @@ -1705,16 +1761,19 @@ void gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column, gboolean resizable) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + priv = tree_column->priv; resizable = !! resizable; - if (tree_column->resizable == resizable) + if (priv->resizable == resizable) return; - tree_column->resizable = resizable; + priv->resizable = resizable; - if (resizable && tree_column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) + if (resizable && priv->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) gtk_tree_view_column_set_sizing (tree_column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); gtk_tree_view_column_update_button (tree_column); @@ -1735,7 +1794,7 @@ gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return tree_column->resizable; + return tree_column->priv->resizable; } @@ -1750,9 +1809,13 @@ void gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column, GtkTreeViewColumnSizing type) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - if (type == tree_column->column_type) + priv = tree_column->priv; + + if (type == priv->column_type) return; if (type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) @@ -1762,13 +1825,13 @@ gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column, /* I was clearly on crack when I wrote this. I'm not sure what's supposed to * be below so I'll leave it until I figure it out. */ - if (tree_column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE && - tree_column->requested_width != -1) + if (priv->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE && + priv->requested_width != -1) { - gtk_tree_view_column_set_sizing (tree_column, tree_column->requested_width); + gtk_tree_view_column_set_sizing (tree_column, priv->requested_width); } #endif - tree_column->column_type = type; + priv->column_type = type; gtk_tree_view_column_update_button (tree_column); @@ -1788,7 +1851,7 @@ gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return tree_column->column_type; + return tree_column->priv->column_type; } /** @@ -1804,7 +1867,7 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return tree_column->width; + return tree_column->priv->width; } void @@ -1812,10 +1875,14 @@ _gtk_tree_view_column_set_width (GtkTreeViewColumn *tree_column, int width, int internal_width) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - gtk_cell_area_context_allocate (tree_column->cell_area_context, internal_width, -1); - tree_column->width = width; + priv = tree_column->priv; + + gtk_cell_area_context_allocate (priv->cell_area_context, internal_width, -1); + priv->width = width; g_object_notify (G_OBJECT (tree_column), "width"); } @@ -1835,17 +1902,21 @@ void gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column, gint fixed_width) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (fixed_width > 0); - tree_column->fixed_width = fixed_width; - tree_column->use_resized_width = FALSE; + priv = tree_column->priv; - if (tree_column->tree_view && - gtk_widget_get_realized (tree_column->tree_view) && - tree_column->column_type == GTK_TREE_VIEW_COLUMN_FIXED) + priv->fixed_width = fixed_width; + priv->use_resized_width = FALSE; + + if (priv->tree_view && + gtk_widget_get_realized (priv->tree_view) && + priv->column_type == GTK_TREE_VIEW_COLUMN_FIXED) { - gtk_widget_queue_resize (tree_column->tree_view); + gtk_widget_queue_resize (priv->tree_view); } g_object_notify (G_OBJECT (tree_column), "fixed-width"); @@ -1865,7 +1936,7 @@ gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return tree_column->fixed_width; + return tree_column->priv->fixed_width; } /** @@ -1880,32 +1951,36 @@ void gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column, gint min_width) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (min_width >= -1); - if (min_width == tree_column->min_width) + priv = tree_column->priv; + + if (min_width == priv->min_width) return; - if (tree_column->visible && - tree_column->tree_view != NULL && - gtk_widget_get_realized (tree_column->tree_view)) + if (priv->visible && + priv->tree_view != NULL && + gtk_widget_get_realized (priv->tree_view)) { - if (min_width > tree_column->width) - gtk_widget_queue_resize (tree_column->tree_view); + if (min_width > priv->width) + gtk_widget_queue_resize (priv->tree_view); } - tree_column->min_width = min_width; + priv->min_width = min_width; g_object_freeze_notify (G_OBJECT (tree_column)); - if (tree_column->max_width != -1 && tree_column->max_width < min_width) + if (priv->max_width != -1 && priv->max_width < min_width) { - tree_column->max_width = min_width; + priv->max_width = min_width; g_object_notify (G_OBJECT (tree_column), "max-width"); } g_object_notify (G_OBJECT (tree_column), "min-width"); g_object_thaw_notify (G_OBJECT (tree_column)); - if (tree_column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) - _gtk_tree_view_column_autosize (GTK_TREE_VIEW (tree_column->tree_view), + if (priv->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) + _gtk_tree_view_column_autosize (GTK_TREE_VIEW (priv->tree_view), tree_column); } @@ -1923,7 +1998,7 @@ gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), -1); - return tree_column->min_width; + return tree_column->priv->min_width; } /** @@ -1940,32 +2015,36 @@ void gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column, gint max_width) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (max_width >= -1); - if (max_width == tree_column->max_width) + priv = tree_column->priv; + + if (max_width == priv->max_width) return; - if (tree_column->visible && - tree_column->tree_view != NULL && - gtk_widget_get_realized (tree_column->tree_view)) + if (priv->visible && + priv->tree_view != NULL && + gtk_widget_get_realized (priv->tree_view)) { - if (max_width != -1 && max_width < tree_column->width) - gtk_widget_queue_resize (tree_column->tree_view); + if (max_width != -1 && max_width < priv->width) + gtk_widget_queue_resize (priv->tree_view); } - tree_column->max_width = max_width; + priv->max_width = max_width; g_object_freeze_notify (G_OBJECT (tree_column)); - if (max_width != -1 && max_width < tree_column->min_width) + if (max_width != -1 && max_width < priv->min_width) { - tree_column->min_width = max_width; + priv->min_width = max_width; g_object_notify (G_OBJECT (tree_column), "min-width"); } g_object_notify (G_OBJECT (tree_column), "max-width"); g_object_thaw_notify (G_OBJECT (tree_column)); - if (tree_column->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) - _gtk_tree_view_column_autosize (GTK_TREE_VIEW (tree_column->tree_view), + if (priv->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) + _gtk_tree_view_column_autosize (GTK_TREE_VIEW (priv->tree_view), tree_column); } @@ -1983,7 +2062,7 @@ gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), -1); - return tree_column->max_width; + return tree_column->priv->max_width; } /** @@ -1996,12 +2075,16 @@ gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column) void gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - if (tree_column->visible && - tree_column->button && - tree_column->clickable) - gtk_button_clicked (GTK_BUTTON (tree_column->button)); + priv = tree_column->priv; + + if (priv->visible && + priv->button && + priv->clickable) + gtk_button_clicked (GTK_BUTTON (priv->button)); } /** @@ -2016,13 +2099,16 @@ void gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column, const gchar *title) { - gchar *new_title; - + GtkTreeViewColumnPrivate *priv; + gchar *new_title; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + priv = tree_column->priv; + new_title = g_strdup (title); - g_free (tree_column->title); - tree_column->title = new_title; + g_free (priv->title); + priv->title = new_title; gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "title"); @@ -2042,7 +2128,7 @@ gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), NULL); - return tree_column->title; + return tree_column->priv->title; } /** @@ -2061,25 +2147,29 @@ void gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column, gboolean expand) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - expand = expand?TRUE:FALSE; - if (tree_column->expand == expand) - return; - tree_column->expand = expand; + priv = tree_column->priv; - if (tree_column->visible && - tree_column->tree_view != NULL && - gtk_widget_get_realized (tree_column->tree_view)) + expand = expand?TRUE:FALSE; + if (priv->expand == expand) + return; + priv->expand = expand; + + if (priv->visible && + priv->tree_view != NULL && + gtk_widget_get_realized (priv->tree_view)) { /* We want to continue using the original width of the * column that includes additional space added by the user * resizing the columns and possibly extra (expanded) space, which * are not included in the resized width. */ - tree_column->use_resized_width = FALSE; + priv->use_resized_width = FALSE; - gtk_widget_queue_resize (tree_column->tree_view); + gtk_widget_queue_resize (priv->tree_view); } g_object_notify (G_OBJECT (tree_column), "expand"); @@ -2100,7 +2190,7 @@ gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return tree_column->expand; + return tree_column->priv->expand; } /** @@ -2115,13 +2205,17 @@ void gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column, gboolean clickable) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + priv = tree_column->priv; + clickable = !! clickable; - if (tree_column->clickable == clickable) + if (priv->clickable == clickable) return; - tree_column->clickable = clickable; + priv->clickable = clickable; gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "clickable"); } @@ -2139,7 +2233,7 @@ gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return tree_column->clickable; + return tree_column->priv->clickable; } /** @@ -2154,16 +2248,20 @@ void gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column, GtkWidget *widget) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (widget == NULL || GTK_IS_WIDGET (widget)); + priv = tree_column->priv; + if (widget) g_object_ref_sink (widget); - if (tree_column->child) - g_object_unref (tree_column->child); + if (priv->child) + g_object_unref (priv->child); - tree_column->child = widget; + priv->child = widget; gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "widget"); } @@ -2183,7 +2281,7 @@ gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), NULL); - return tree_column->child; + return tree_column->priv->child; } /** @@ -2199,14 +2297,18 @@ void gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column, gfloat xalign) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + priv = tree_column->priv; + xalign = CLAMP (xalign, 0.0, 1.0); - if (tree_column->xalign == xalign) + if (priv->xalign == xalign) return; - tree_column->xalign = xalign; + priv->xalign = xalign; gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "alignment"); } @@ -2225,7 +2327,7 @@ gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0.5); - return tree_column->xalign; + return tree_column->priv->xalign; } /** @@ -2240,15 +2342,19 @@ void gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column, gboolean reorderable) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); + priv = tree_column->priv; + /* if (reorderable) gtk_tree_view_column_set_clickable (tree_column, TRUE);*/ - if (tree_column->reorderable == (reorderable?TRUE:FALSE)) + if (priv->reorderable == (reorderable?TRUE:FALSE)) return; - tree_column->reorderable = (reorderable?TRUE:FALSE); + priv->reorderable = (reorderable?TRUE:FALSE); gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "reorderable"); } @@ -2266,7 +2372,7 @@ gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return tree_column->reorderable; + return tree_column->priv->reorderable; } @@ -2282,29 +2388,33 @@ void gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column, gint sort_column_id) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (sort_column_id >= -1); - if (tree_column->sort_column_id == sort_column_id) + priv = tree_column->priv; + + if (priv->sort_column_id == sort_column_id) return; - tree_column->sort_column_id = sort_column_id; + priv->sort_column_id = sort_column_id; /* Handle unsetting the id */ if (sort_column_id == -1) { - GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (tree_column->tree_view)); + GtkTreeModel *model = gtk_tree_view_get_model (GTK_TREE_VIEW (priv->tree_view)); - if (tree_column->sort_clicked_signal) + if (priv->sort_clicked_signal) { - g_signal_handler_disconnect (tree_column, tree_column->sort_clicked_signal); - tree_column->sort_clicked_signal = 0; + g_signal_handler_disconnect (tree_column, priv->sort_clicked_signal); + priv->sort_clicked_signal = 0; } - if (tree_column->sort_column_changed_signal) + if (priv->sort_column_changed_signal) { - g_signal_handler_disconnect (model, tree_column->sort_column_changed_signal); - tree_column->sort_column_changed_signal = 0; + g_signal_handler_disconnect (model, priv->sort_column_changed_signal); + priv->sort_column_changed_signal = 0; } gtk_tree_view_column_set_sort_order (tree_column, GTK_SORT_ASCENDING); @@ -2316,11 +2426,11 @@ gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column, gtk_tree_view_column_set_clickable (tree_column, TRUE); - if (! tree_column->sort_clicked_signal) - tree_column->sort_clicked_signal = g_signal_connect (tree_column, - "clicked", - G_CALLBACK (gtk_tree_view_column_sort), - NULL); + if (! priv->sort_clicked_signal) + priv->sort_clicked_signal = g_signal_connect (tree_column, + "clicked", + G_CALLBACK (gtk_tree_view_column_sort), + NULL); gtk_tree_view_column_setup_sort_column_id_callback (tree_column); g_object_notify (G_OBJECT (tree_column), "sort-column-id"); @@ -2342,7 +2452,7 @@ gtk_tree_view_column_get_sort_column_id (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return tree_column->sort_column_id; + return tree_column->priv->sort_column_id; } /** @@ -2364,10 +2474,10 @@ gtk_tree_view_column_set_sort_indicator (GtkTreeViewColumn *tree_column, setting = setting != FALSE; - if (setting == tree_column->show_sort_indicator) + if (setting == tree_column->priv->show_sort_indicator) return; - tree_column->show_sort_indicator = setting; + tree_column->priv->show_sort_indicator = setting; gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "sort-indicator"); } @@ -2385,7 +2495,7 @@ gtk_tree_view_column_get_sort_indicator (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - return tree_column->show_sort_indicator; + return tree_column->priv->show_sort_indicator; } /** @@ -2411,10 +2521,10 @@ gtk_tree_view_column_set_sort_order (GtkTreeViewColumn *tree_column, { g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - if (order == tree_column->sort_order) + if (order == tree_column->priv->sort_order) return; - tree_column->sort_order = order; + tree_column->priv->sort_order = order; gtk_tree_view_column_update_button (tree_column); g_object_notify (G_OBJECT (tree_column), "sort-order"); } @@ -2432,7 +2542,7 @@ gtk_tree_view_column_get_sort_order (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), 0); - return tree_column->sort_order; + return tree_column->priv->sort_order; } /** @@ -2460,7 +2570,7 @@ gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column, if (tree_model == NULL) return; - gtk_cell_area_apply_attributes (tree_column->cell_area, tree_model, iter, + gtk_cell_area_apply_attributes (tree_column->priv->cell_area, tree_model, iter, is_expander, is_expanded); } @@ -2484,29 +2594,46 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gint *width, gint *height) { - gint min_width = 0, min_height = 0; + GtkTreeViewColumnPrivate *priv; + int focus_line_width; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - g_signal_handler_block (tree_column->cell_area_context, - tree_column->context_changed_signal); + priv = tree_column->priv; - gtk_cell_area_get_preferred_width (tree_column->cell_area, - tree_column->cell_area_context, - tree_column->tree_view, - NULL, NULL); + if (height) + * height = 0; + if (width) + * width = 0; - gtk_cell_area_context_get_preferred_width (tree_column->cell_area_context, &min_width, NULL); + /* FIXME: This is a temporary hack to get things to allocate mostly right. + * + * We will add twice the focus-line-width to the for-width + * parameter below. If we do not do this, the height returned is the + * height for two lines of text instead of one. It feels like some lines + * get less width than expected (due to subtraction of focus_line_width?) + * and will unnecessarily wrap. + */ + gtk_widget_style_get (priv->tree_view, + "focus-line-width", &focus_line_width, + NULL); - gtk_cell_area_get_preferred_height_for_width (tree_column->cell_area, - tree_column->cell_area_context, - tree_column->tree_view, - min_width, - &min_height, + g_signal_handler_block (priv->cell_area_context, + priv->context_changed_signal); + + gtk_cell_area_get_preferred_width (priv->cell_area, + priv->cell_area_context, + priv->tree_view, + width, NULL); + gtk_cell_area_get_preferred_height_for_width (priv->cell_area, + priv->cell_area_context, + priv->tree_view, + *width + focus_line_width * 2, + height, NULL); - g_signal_handler_unblock (tree_column->cell_area_context, - tree_column->context_changed_signal); + g_signal_handler_unblock (priv->cell_area_context, + priv->context_changed_signal); if (height) @@ -2535,15 +2662,19 @@ _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, guint flags, gboolean draw_focus) { + GtkTreeViewColumnPrivate *priv; + g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (cr != NULL); g_return_if_fail (background_area != NULL); g_return_if_fail (cell_area != NULL); + priv = tree_column->priv; + cairo_save (cr); - gtk_cell_area_render (tree_column->cell_area, tree_column->cell_area_context, - tree_column->tree_view, cr, + gtk_cell_area_render (priv->cell_area, priv->cell_area_context, + priv->tree_view, cr, background_area, cell_area, flags, draw_focus); @@ -2559,15 +2690,29 @@ _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, const GdkRectangle *cell_area, guint flags) { + GtkTreeViewColumnPrivate *priv; + g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); + priv = tree_column->priv; + /* FIXME: Should we pass background area here as well? * What will happen to the path_string and editable widget * variables? + * + * Answer, No dont pass background area... editable widgets + * grab the pointer and keyboard so the treeview doesnt + * recieve these events while editable widgets are editing. + * + * Also it's important that gtk_cell_area_apply_attributes be + * called before passing the event to the cell (maybe we need to + * instead use the path_string here to apply the attributes ?, + * if the attributes are applied, the underlying CellArea knows + * the path string, which is expected when handling events). */ - return gtk_cell_area_event (tree_column->cell_area, - tree_column->cell_area_context, - tree_column->tree_view, + return gtk_cell_area_event (priv->cell_area, + priv->cell_area_context, + priv->tree_view, event, cell_area, flags); @@ -2601,8 +2746,9 @@ _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, { gboolean rtl; GtkDirectionType direction = 0; + GtkTreeViewColumnPrivate *priv = tree_column->priv; - rtl = gtk_widget_get_direction (GTK_WIDGET (tree_column->tree_view)) == GTK_TEXT_DIR_RTL; + rtl = gtk_widget_get_direction (priv->tree_view) == GTK_TEXT_DIR_RTL; switch (count) { @@ -2618,9 +2764,11 @@ _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, /* if we are the current focus column and have multiple editable cells, * try to select the next one, else move the focus to the next column */ - if (GTK_TREE_VIEW (tree_column->tree_view)->priv->focus_column == tree_column) + + /* XXX Access to GtkTreeViewPrivate */ + if (GTK_TREE_VIEW (priv->tree_view)->priv->focus_column == tree_column) { - if (gtk_cell_area_focus (tree_column->cell_area, direction)) + if (gtk_cell_area_focus (priv->cell_area, direction)) /* Focus stays in this column, so we are done */ return TRUE; @@ -2628,18 +2776,18 @@ _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, if (count == -1 && !left) { direction = GTK_DIR_RIGHT; - gtk_cell_area_focus (tree_column->cell_area, direction); + gtk_cell_area_focus (priv->cell_area, direction); } else if (count == 1 && !right) { direction = GTK_DIR_LEFT; - gtk_cell_area_focus (tree_column->cell_area, direction); + gtk_cell_area_focus (priv->cell_area, direction); } return FALSE; } - return gtk_cell_area_focus (tree_column->cell_area, direction); + return gtk_cell_area_focus (priv->cell_area, direction); } /** @@ -2657,10 +2805,13 @@ gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column) { GList *list; GList *cells; + GtkTreeViewColumnPrivate *priv; g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); - cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (tree_column->cell_area)); + priv = tree_column->priv; + + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->cell_area)); for (list = cells; list; list = list->next) { if (gtk_cell_renderer_get_visible (list->data)) @@ -2692,28 +2843,37 @@ gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column, g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - gtk_cell_area_set_focus_cell (tree_column->cell_area, cell); + gtk_cell_area_set_focus_cell (tree_column->priv->cell_area, cell); } void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler) { - tree_column->dirty = TRUE; - tree_column->requested_width = -1; - tree_column->width = 0; + GtkTreeViewColumnPrivate *priv = tree_column->priv; - if (tree_column->tree_view && - gtk_widget_get_realized (tree_column->tree_view)) + priv->dirty = TRUE; + priv->requested_width = -1; + priv->width = 0; + + if (priv->tree_view && + gtk_widget_get_realized (priv->tree_view)) { if (install_handler) - _gtk_tree_view_install_mark_rows_col_dirty (GTK_TREE_VIEW (tree_column->tree_view)); + _gtk_tree_view_install_mark_rows_col_dirty (GTK_TREE_VIEW (priv->tree_view)); else - GTK_TREE_VIEW (tree_column->tree_view)->priv->mark_rows_col_dirty = TRUE; - gtk_widget_queue_resize (tree_column->tree_view); + /* XXX Access to GtkTreeViewPrivate */ + GTK_TREE_VIEW (priv->tree_view)->priv->mark_rows_col_dirty = TRUE; + gtk_widget_queue_resize (priv->tree_view); } } +gboolean +_gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column) +{ + return tree_column->priv->dirty; +} + /** * gtk_tree_view_column_cell_get_position: * @tree_column: a #GtkTreeViewColumn @@ -2734,13 +2894,19 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, gint *start_pos, gint *width) { + GtkTreeViewColumnPrivate *priv; GdkRectangle zero_cell_area = { 0, }; GdkRectangle allocation; + g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); + g_return_val_if_fail (GTK_IS_CELL_RENDERER (cell_renderer), FALSE); + + priv = tree_column->priv; + /* FIXME: Could use a boolean return value for invalid cells */ - gtk_cell_area_get_cell_allocation (tree_column->cell_area, - tree_column->cell_area_context, - tree_column->tree_view, + gtk_cell_area_get_cell_allocation (priv->cell_area, + priv->cell_area_context, + priv->tree_view, cell_renderer, &zero_cell_area, &allocation); @@ -2767,7 +2933,7 @@ gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column) { g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); - if (tree_column->tree_view) + if (tree_column->priv->tree_view) _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); } @@ -2789,5 +2955,80 @@ gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column) { g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), NULL); - return tree_column->tree_view; + return tree_column->priv->tree_view; +} + +/** + * gtk_tree_view_column_get_button: + * @tree_column: A #GtkTreeViewColumn + * + * Returns the button used in the treeview column header + * + * Return value: (transfer none): The button for the column header. + * + * Since: 3.0 + */ +GtkWidget * +gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column) +{ + g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), NULL); + + return tree_column->priv->button; +} + +GdkWindow * +_gtk_tree_view_column_get_window (GtkTreeViewColumn *column) +{ + return column->priv->window; +} + +void +_gtk_tree_view_column_set_requested_width (GtkTreeViewColumn *column, + gint width) +{ + column->priv->requested_width = width; +} + +gint +_gtk_tree_view_column_get_requested_width (GtkTreeViewColumn *column) +{ + return column->priv->requested_width; +} + +void +_gtk_tree_view_column_set_resized_width (GtkTreeViewColumn *column, + gint width) +{ + column->priv->resized_width = width; +} + +gint +_gtk_tree_view_column_get_resized_width (GtkTreeViewColumn *column) +{ + return column->priv->resized_width; +} + +void +_gtk_tree_view_column_set_use_resized_width (GtkTreeViewColumn *column, + gboolean use_resized_width) +{ + column->priv->use_resized_width = use_resized_width; +} + +gboolean +_gtk_tree_view_column_get_use_resized_width (GtkTreeViewColumn *column) +{ + return column->priv->use_resized_width; +} + +gint +_gtk_tree_view_column_get_drag_x (GtkTreeViewColumn *column) +{ + return column->priv->drag_x; +} + +GtkCellAreaContext * +_gtk_tree_view_column_get_context (GtkTreeViewColumn *column) +{ + return column->priv->cell_area_context; } diff --git a/gtk/gtktreeviewcolumn.h b/gtk/gtktreeviewcolumn.h index 631052b526..ac2807ba5b 100644 --- a/gtk/gtktreeviewcolumn.h +++ b/gtk/gtktreeviewcolumn.h @@ -40,8 +40,9 @@ G_BEGIN_DECLS #define GTK_IS_TREE_VIEW_COLUMN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_VIEW_COLUMN)) #define GTK_TREE_VIEW_COLUMN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_VIEW_COLUMN, GtkTreeViewColumnClass)) -typedef struct _GtkTreeViewColumn GtkTreeViewColumn; -typedef struct _GtkTreeViewColumnClass GtkTreeViewColumnClass; +typedef struct _GtkTreeViewColumn GtkTreeViewColumn; +typedef struct _GtkTreeViewColumnClass GtkTreeViewColumnClass; +typedef struct _GtkTreeViewColumnPrivate GtkTreeViewColumnPrivate; /** * GtkTreeViewColumnSizing: @@ -86,56 +87,7 @@ struct _GtkTreeViewColumn { GInitiallyUnowned parent_instance; - GtkWidget *GSEAL (tree_view); - GtkWidget *GSEAL (button); - GtkWidget *GSEAL (child); - GtkWidget *GSEAL (arrow); - GtkWidget *GSEAL (alignment); - GdkWindow *GSEAL (window); - gfloat GSEAL (xalign); - gulong GSEAL (property_changed_signal); - - /* Sizing fields */ - /* see gtk+/doc/tree-column-sizing.txt for more information on them */ - GtkTreeViewColumnSizing GSEAL (column_type); - gint GSEAL (requested_width); - gint GSEAL (button_request); - gint GSEAL (resized_width); - gint GSEAL (width); - gint GSEAL (fixed_width); - gint GSEAL (min_width); - gint GSEAL (max_width); - - /* dragging columns */ - gint GSEAL (drag_x); - gint GSEAL (drag_y); - - gchar *GSEAL (title); - - /* Sorting */ - gulong GSEAL (sort_clicked_signal); - gulong GSEAL (sort_column_changed_signal); - gint GSEAL (sort_column_id); - GtkSortType GSEAL (sort_order); - - /* Cell area */ - GtkCellArea *cell_area; - GtkCellAreaContext *cell_area_context; - - gulong add_editable_signal; - gulong remove_editable_signal; - gulong context_changed_signal; - - /* Flags */ - guint GSEAL (visible) : 1; - guint GSEAL (resizable) : 1; - guint GSEAL (clickable) : 1; - guint GSEAL (dirty) : 1; - guint GSEAL (show_sort_indicator) : 1; - guint GSEAL (maybe_reordered) : 1; - guint GSEAL (reorderable) : 1; - guint GSEAL (use_resized_width) : 1; - guint GSEAL (expand) : 1; + GtkTreeViewColumnPrivate *priv; }; struct _GtkTreeViewColumnClass @@ -262,6 +214,7 @@ gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewCol gint *width); void gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column); GtkWidget *gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column); +GtkWidget *gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column); G_END_DECLS diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c index 60de100e3a..f1b506357f 100644 --- a/modules/other/gail/gailtreeview.c +++ b/modules/other/gail/gailtreeview.c @@ -4651,7 +4651,7 @@ get_header_from_column (GtkTreeViewColumn *tv_col) /* If the user has not set a header object, grab the column */ /* header object defined by the GtkTreeView */ - header_widget = tv_col->button; + header_widget = gtk_tree_view_column_get_button (tv_col); if (header_widget) { diff --git a/tests/testtooltips.c b/tests/testtooltips.c index 54c2e05b88..483b8fd2a3 100644 --- a/tests/testtooltips.c +++ b/tests/testtooltips.c @@ -359,7 +359,7 @@ main (int argc, char *argv[]) /* Set a tooltip on the column */ column = gtk_tree_view_get_column (GTK_TREE_VIEW (tree_view), 0); gtk_tree_view_column_set_clickable (column, TRUE); - g_object_set (column->button, "tooltip-text", "Header", NULL); + g_object_set (gtk_tree_view_column_get_button (column), "tooltip-text", "Header", NULL); gtk_box_pack_start (GTK_BOX (box), tree_view, FALSE, FALSE, 2); From 4b5c80dc0f4bf4ddfd86041f985e7a998985faa6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 30 Nov 2010 15:28:14 +0900 Subject: [PATCH 0339/1463] Removed the private sharing of internal treeview macros from gtktreeprivate.h Added them directly to gtktreeview.c. --- gtk/gtkfilechooserdefault.c | 6 +- gtk/gtktreeprivate.h | 116 +----------------------------------- gtk/gtktreeview.c | 116 ++++++++++++++++++++++++++++++++++++ 3 files changed, 124 insertions(+), 114 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 1ae575880e..a3de75b65d 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -2998,14 +2998,18 @@ shortcuts_compute_drop_position (GtkFileChooserDefault *impl, GdkRectangle cell; int row; int bookmarks_index; + int header_height = 0; tree_view = GTK_TREE_VIEW (impl->browse_shortcuts_tree_view); + if (gtk_tree_view_get_headers_visible (tree_view)) + header_height = _gtk_tree_view_get_header_height (tree_view); + bookmarks_index = shortcuts_get_index (impl, SHORTCUTS_BOOKMARKS); if (!gtk_tree_view_get_path_at_pos (tree_view, x, - y - TREE_VIEW_HEADER_HEIGHT (tree_view), + y - header_height, path, &column, NULL, diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 1a5f9b353c..d018bdca9f 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -30,18 +30,6 @@ G_BEGIN_DECLS #define TREE_VIEW_DRAG_WIDTH 6 -typedef enum -{ - GTK_TREE_VIEW_IS_LIST = 1 << 0, - GTK_TREE_VIEW_SHOW_EXPANDERS = 1 << 1, - GTK_TREE_VIEW_IN_COLUMN_RESIZE = 1 << 2, - GTK_TREE_VIEW_ARROW_PRELIT = 1 << 3, - GTK_TREE_VIEW_HEADERS_VISIBLE = 1 << 4, - GTK_TREE_VIEW_DRAW_KEYFOCUS = 1 << 5, - GTK_TREE_VIEW_MODEL_SETUP = 1 << 6, - GTK_TREE_VIEW_IN_COLUMN_DRAG = 1 << 7 -} GtkTreeViewFlags; - typedef enum { GTK_TREE_SELECT_MODE_TOGGLE = 1 << 0, @@ -49,34 +37,6 @@ typedef enum } GtkTreeSelectMode; -enum -{ - DRAG_COLUMN_WINDOW_STATE_UNSET = 0, - DRAG_COLUMN_WINDOW_STATE_ORIGINAL = 1, - DRAG_COLUMN_WINDOW_STATE_ARROW = 2, - DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT = 3, - DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT = 4 -}; - -enum -{ - RUBBER_BAND_OFF = 0, - RUBBER_BAND_MAYBE_START = 1, - RUBBER_BAND_ACTIVE = 2 -}; - -#define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END -#define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END -#define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) -#define TREE_VIEW_HEADER_HEIGHT(tree_view) (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)?tree_view->priv->header_height:0) -#define TREE_VIEW_COLUMN_REQUESTED_WIDTH(column) (CLAMP (column->requested_width, (column->min_width!=-1)?column->min_width:column->requested_width, (column->max_width!=-1)?column->max_width:column->requested_width)) -#define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&>K_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) - - /* This lovely little value is used to determine how far away from the title bar - * you can move the mouse and still have a column drag work. - */ -#define TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER(tree_view) (10*TREE_VIEW_HEADER_HEIGHT(tree_view)) - typedef struct _GtkTreeViewColumnReorder GtkTreeViewColumnReorder; struct _GtkTreeViewColumnReorder { @@ -309,76 +269,6 @@ struct _GtkTreeViewPrivate guint vscroll_policy : 1; }; -#ifdef __GNUC__ - -#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \ - if (!(expr)) \ - { \ - g_log (G_LOG_DOMAIN, \ - G_LOG_LEVEL_CRITICAL, \ - "%s (%s): assertion `%s' failed.\n" \ - "There is a disparity between the internal view of the GtkTreeView,\n" \ - "and the GtkTreeModel. This generally means that the model has changed\n"\ - "without letting the view know. Any display from now on is likely to\n" \ - "be incorrect.\n", \ - G_STRLOC, \ - G_STRFUNC, \ - #expr); \ - return ret; \ - }; }G_STMT_END - -#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ - if (!(expr)) \ - { \ - g_log (G_LOG_DOMAIN, \ - G_LOG_LEVEL_CRITICAL, \ - "%s (%s): assertion `%s' failed.\n" \ - "There is a disparity between the internal view of the GtkTreeView,\n" \ - "and the GtkTreeModel. This generally means that the model has changed\n"\ - "without letting the view know. Any display from now on is likely to\n" \ - "be incorrect.\n", \ - G_STRLOC, \ - G_STRFUNC, \ - #expr); \ - return; \ - }; }G_STMT_END - -#else - -#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \ - if (!(expr)) \ - { \ - g_log (G_LOG_DOMAIN, \ - G_LOG_LEVEL_CRITICAL, \ - "file %s: line %d: assertion `%s' failed.\n" \ - "There is a disparity between the internal view of the GtkTreeView,\n" \ - "and the GtkTreeModel. This generally means that the model has changed\n"\ - "without letting the view know. Any display from now on is likely to\n" \ - "be incorrect.\n", \ - __FILE__, \ - __LINE__, \ - #expr); \ - return ret; \ - }; }G_STMT_END - -#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ - if (!(expr)) \ - { \ - g_log (G_LOG_DOMAIN, \ - G_LOG_LEVEL_CRITICAL, \ - "file %s: line %d: assertion '%s' failed.\n" \ - "There is a disparity between the internal view of the GtkTreeView,\n" \ - "and the GtkTreeModel. This generally means that the model has changed\n"\ - "without letting the view know. Any display from now on is likely to\n" \ - "be incorrect.\n", \ - __FILE__, \ - __LINE__, \ - #expr); \ - return; \ - }; }G_STMT_END -#endif - - /* functions that shouldn't be exported */ void _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, GtkRBNode *node, @@ -415,9 +305,9 @@ void _gtk_tree_view_remove_editable (GtkTreeView *tree_v GtkCellEditable *cell_editable); void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view); -void _gtk_tree_view_column_autosize (GtkTreeView *tree_view, - GtkTreeViewColumn *column); - +void _gtk_tree_view_column_autosize (GtkTreeView *tree_view, + GtkTreeViewColumn *column); +gint _gtk_tree_view_get_header_height (GtkTreeView *tree_view); GtkTreeSelection* _gtk_tree_selection_new (void); GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index a8b1790060..22b7a5b611 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -135,6 +135,115 @@ */ +typedef enum +{ + GTK_TREE_VIEW_IS_LIST = 1 << 0, + GTK_TREE_VIEW_SHOW_EXPANDERS = 1 << 1, + GTK_TREE_VIEW_IN_COLUMN_RESIZE = 1 << 2, + GTK_TREE_VIEW_ARROW_PRELIT = 1 << 3, + GTK_TREE_VIEW_HEADERS_VISIBLE = 1 << 4, + GTK_TREE_VIEW_DRAW_KEYFOCUS = 1 << 5, + GTK_TREE_VIEW_MODEL_SETUP = 1 << 6, + GTK_TREE_VIEW_IN_COLUMN_DRAG = 1 << 7 +} GtkTreeViewFlags; + +enum +{ + DRAG_COLUMN_WINDOW_STATE_UNSET = 0, + DRAG_COLUMN_WINDOW_STATE_ORIGINAL = 1, + DRAG_COLUMN_WINDOW_STATE_ARROW = 2, + DRAG_COLUMN_WINDOW_STATE_ARROW_LEFT = 3, + DRAG_COLUMN_WINDOW_STATE_ARROW_RIGHT = 4 +}; + +enum +{ + RUBBER_BAND_OFF = 0, + RUBBER_BAND_MAYBE_START = 1, + RUBBER_BAND_ACTIVE = 2 +}; + +#define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END +#define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END +#define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) +#define TREE_VIEW_HEADER_HEIGHT(tree_view) (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)?tree_view->priv->header_height:0) +#define TREE_VIEW_COLUMN_REQUESTED_WIDTH(column) (CLAMP (column->requested_width, (column->min_width!=-1)?column->min_width:column->requested_width, (column->max_width!=-1)?column->max_width:column->requested_width)) +#define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&>K_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) + + /* This lovely little value is used to determine how far away from the title bar + * you can move the mouse and still have a column drag work. + */ +#define TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER(tree_view) (10*TREE_VIEW_HEADER_HEIGHT(tree_view)) + +#ifdef __GNUC__ + +#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \ + if (!(expr)) \ + { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + "%s (%s): assertion `%s' failed.\n" \ + "There is a disparity between the internal view of the GtkTreeView,\n" \ + "and the GtkTreeModel. This generally means that the model has changed\n"\ + "without letting the view know. Any display from now on is likely to\n" \ + "be incorrect.\n", \ + G_STRLOC, \ + G_STRFUNC, \ + #expr); \ + return ret; \ + }; }G_STMT_END + +#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ + if (!(expr)) \ + { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + "%s (%s): assertion `%s' failed.\n" \ + "There is a disparity between the internal view of the GtkTreeView,\n" \ + "and the GtkTreeModel. This generally means that the model has changed\n"\ + "without letting the view know. Any display from now on is likely to\n" \ + "be incorrect.\n", \ + G_STRLOC, \ + G_STRFUNC, \ + #expr); \ + return; \ + }; }G_STMT_END + +#else + +#define TREE_VIEW_INTERNAL_ASSERT(expr, ret) G_STMT_START{ \ + if (!(expr)) \ + { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + "file %s: line %d: assertion `%s' failed.\n" \ + "There is a disparity between the internal view of the GtkTreeView,\n" \ + "and the GtkTreeModel. This generally means that the model has changed\n"\ + "without letting the view know. Any display from now on is likely to\n" \ + "be incorrect.\n", \ + __FILE__, \ + __LINE__, \ + #expr); \ + return ret; \ + }; }G_STMT_END + +#define TREE_VIEW_INTERNAL_ASSERT_VOID(expr) G_STMT_START{ \ + if (!(expr)) \ + { \ + g_log (G_LOG_DOMAIN, \ + G_LOG_LEVEL_CRITICAL, \ + "file %s: line %d: assertion '%s' failed.\n" \ + "There is a disparity between the internal view of the GtkTreeView,\n" \ + "and the GtkTreeModel. This generally means that the model has changed\n"\ + "without letting the view know. Any display from now on is likely to\n" \ + "be incorrect.\n", \ + __FILE__, \ + __LINE__, \ + #expr); \ + return; \ + }; }G_STMT_END +#endif + #define GTK_TREE_VIEW_PRIORITY_VALIDATE (GDK_PRIORITY_REDRAW + 5) #define GTK_TREE_VIEW_PRIORITY_SCROLL_SYNC (GTK_TREE_VIEW_PRIORITY_VALIDATE + 2) #define GTK_TREE_VIEW_TIME_MS_PER_IDLE 30 @@ -9614,6 +9723,13 @@ _gtk_tree_view_queue_draw_node (GtkTreeView *tree_view, } } +gint +_gtk_tree_view_get_header_height (GtkTreeView *tree_view) +{ + return tree_view->priv->header_height; +} + + static void gtk_tree_view_queue_draw_path (GtkTreeView *tree_view, GtkTreePath *path, From 4038cd76b331ad4214ee5ae8b517ad79fcc65913 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 30 Nov 2010 16:36:07 +0900 Subject: [PATCH 0340/1463] Removed GtkTreeViewPrivate from gtktreeprivate.h and added a few more accessors. This actually much simplifies interaction with GtkTreeSelection (at least reduces code size where dealing width the treeview anchor path). --- gtk/gtkcombobox.c | 8 +- gtk/gtktreeprivate.h | 249 +++------------------------------ gtk/gtktreeselection.c | 198 ++++++++++++--------------- gtk/gtktreeview.c | 297 +++++++++++++++++++++++++++++++++++++++- gtk/gtktreeviewcolumn.c | 33 ++--- 5 files changed, 420 insertions(+), 365 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 4775fe930d..15c8df31f6 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -4415,10 +4415,12 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection, gboolean path_currently_selected, gpointer data) { - GList *list; + GList *list, *columns; gboolean sensitive = FALSE; - for (list = selection->tree_view->priv->columns; list && !sensitive; list = list->next) + columns = gtk_tree_view_get_columns (selection->tree_view); + + for (list = columns; list && !sensitive; list = list->next) { GList *cells, *cell; gboolean cell_sensitive, cell_visible; @@ -4450,6 +4452,8 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection, sensitive = cell_sensitive; } + g_list_free (columns); + return sensitive; } diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index d018bdca9f..3277680b1f 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -37,238 +37,6 @@ typedef enum } GtkTreeSelectMode; -typedef struct _GtkTreeViewColumnReorder GtkTreeViewColumnReorder; -struct _GtkTreeViewColumnReorder -{ - gint left_align; - gint right_align; - GtkTreeViewColumn *left_column; - GtkTreeViewColumn *right_column; -}; - -struct _GtkTreeViewPrivate -{ - GtkTreeModel *model; - - guint flags; - /* tree information */ - GtkRBTree *tree; - - /* Container info */ - GList *children; - gint width; - gint height; - - /* Adjustments */ - GtkAdjustment *hadjustment; - GtkAdjustment *vadjustment; - gint min_display_width; - gint min_display_height; - - /* Sub windows */ - GdkWindow *bin_window; - GdkWindow *header_window; - - /* Scroll position state keeping */ - GtkTreeRowReference *top_row; - gint top_row_dy; - /* dy == y pos of top_row + top_row_dy */ - /* we cache it for simplicity of the code */ - gint dy; - - guint presize_handler_timer; - guint validate_rows_timer; - guint scroll_sync_timer; - - /* Indentation and expander layout */ - gint expander_size; - GtkTreeViewColumn *expander_column; - - gint level_indentation; - - /* Key navigation (focus), selection */ - gint cursor_offset; - - GtkTreeRowReference *anchor; - GtkTreeRowReference *cursor; - - GtkTreeViewColumn *focus_column; - - /* Current pressed node, previously pressed, prelight */ - GtkRBNode *button_pressed_node; - GtkRBTree *button_pressed_tree; - - gint pressed_button; - gint press_start_x; - gint press_start_y; - - gint event_last_x; - gint event_last_y; - - guint last_button_time; - gint last_button_x; - gint last_button_y; - - GtkRBNode *prelight_node; - GtkRBTree *prelight_tree; - - /* Cell Editing */ - GtkTreeViewColumn *edited_column; - - /* The node that's currently being collapsed or expanded */ - GtkRBNode *expanded_collapsed_node; - GtkRBTree *expanded_collapsed_tree; - guint expand_collapse_timeout; - - /* Auto expand/collapse timeout in hover mode */ - guint auto_expand_timeout; - - /* Selection information */ - GtkTreeSelection *selection; - - /* Header information */ - gint n_columns; - GList *columns; - gint header_height; - - GtkTreeViewColumnDropFunc column_drop_func; - gpointer column_drop_func_data; - GDestroyNotify column_drop_func_data_destroy; - GList *column_drag_info; - GtkTreeViewColumnReorder *cur_reorder; - - gint prev_width_before_expander; - - /* Interactive Header reordering */ - GdkWindow *drag_window; - GdkWindow *drag_highlight_window; - GtkTreeViewColumn *drag_column; - gint drag_column_x; - - /* Interactive Header Resizing */ - gint drag_pos; - gint x_drag; - - /* Non-interactive Header Resizing, expand flag support */ - gint prev_width; - - gint last_extra_space; - gint last_extra_space_per_column; - gint last_number_of_expand_columns; - - /* ATK Hack */ - GtkTreeDestroyCountFunc destroy_count_func; - gpointer destroy_count_data; - GDestroyNotify destroy_count_destroy; - - /* Scroll timeout (e.g. during dnd, rubber banding) */ - guint scroll_timeout; - - /* Row drag-and-drop */ - GtkTreeRowReference *drag_dest_row; - GtkTreeViewDropPosition drag_dest_pos; - guint open_dest_timeout; - - /* Rubber banding */ - gint rubber_band_status; - gint rubber_band_x; - gint rubber_band_y; - gint rubber_band_shift; - gint rubber_band_ctrl; - - GtkRBNode *rubber_band_start_node; - GtkRBTree *rubber_band_start_tree; - - GtkRBNode *rubber_band_end_node; - GtkRBTree *rubber_band_end_tree; - - /* fixed height */ - gint fixed_height; - - /* Scroll-to functionality when unrealized */ - GtkTreeRowReference *scroll_to_path; - GtkTreeViewColumn *scroll_to_column; - gfloat scroll_to_row_align; - gfloat scroll_to_col_align; - - /* Interactive search */ - gint selected_iter; - gint search_column; - GtkTreeViewSearchPositionFunc search_position_func; - GtkTreeViewSearchEqualFunc search_equal_func; - gpointer search_user_data; - GDestroyNotify search_destroy; - gpointer search_position_user_data; - GDestroyNotify search_position_destroy; - GtkWidget *search_window; - GtkWidget *search_entry; - gulong search_entry_changed_id; - guint typeselect_flush_timeout; - - /* Grid and tree lines */ - GtkTreeViewGridLines grid_lines; - double grid_line_dashes[2]; - int grid_line_width; - - gboolean tree_lines_enabled; - double tree_line_dashes[2]; - int tree_line_width; - - /* Row separators */ - GtkTreeViewRowSeparatorFunc row_separator_func; - gpointer row_separator_data; - GDestroyNotify row_separator_destroy; - - /* Tooltip support */ - gint tooltip_column; - - /* Here comes the bitfield */ - guint scroll_to_use_align : 1; - - guint fixed_height_mode : 1; - guint fixed_height_check : 1; - - guint reorderable : 1; - guint header_has_focus : 1; - guint drag_column_window_state : 3; - /* hint to display rows in alternating colors */ - guint has_rules : 1; - guint mark_rows_col_dirty : 1; - - /* for DnD */ - guint empty_view_drop : 1; - - guint ctrl_pressed : 1; - guint shift_pressed : 1; - - guint init_hadjust_value : 1; - - guint in_top_row_to_dy : 1; - - /* interactive search */ - guint enable_search : 1; - guint disable_popdown : 1; - guint search_custom_entry_set : 1; - - guint hover_selection : 1; - guint hover_expand : 1; - guint imcontext_changed : 1; - - guint rubber_banding_enable : 1; - - guint in_grab : 1; - - guint post_validation_flag : 1; - - /* Whether our key press handler is to avoid sending an unhandled binding to the search entry */ - guint search_entry_avoid_unhandled_binding : 1; - - /* GtkScrollablePolicy needs to be checked when - * driving the scrollable adjustment values */ - guint hscroll_policy : 1; - guint vscroll_policy : 1; -}; - /* functions that shouldn't be exported */ void _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, GtkRBNode *node, @@ -304,11 +72,26 @@ void _gtk_tree_view_remove_editable (GtkTreeView *tree_v GtkTreeViewColumn *column, GtkCellEditable *cell_editable); -void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view); +void _gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view, + gboolean install_handler); void _gtk_tree_view_column_autosize (GtkTreeView *tree_view, GtkTreeViewColumn *column); gint _gtk_tree_view_get_header_height (GtkTreeView *tree_view); +void _gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view, + GtkTreeViewRowSeparatorFunc *func, + gpointer *data); +GtkTreePath *_gtk_tree_view_get_anchor_path (GtkTreeView *tree_view); +void _gtk_tree_view_set_anchor_path (GtkTreeView *tree_view, + GtkTreePath *anchor_path); +GtkRBTree * _gtk_tree_view_get_rbtree (GtkTreeView *tree_view); + +GtkTreeViewColumn *_gtk_tree_view_get_focus_column (GtkTreeView *tree_view); +void _gtk_tree_view_set_focus_column (GtkTreeView *tree_view, + GtkTreeViewColumn *column); +GdkWindow *_gtk_tree_view_get_header_window (GtkTreeView *tree_view); + + GtkTreeSelection* _gtk_tree_selection_new (void); GtkTreeSelection* _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view); void _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection, diff --git a/gtk/gtktreeselection.c b/gtk/gtktreeselection.c index 5ae0866146..8d2a164541 100644 --- a/gtk/gtktreeselection.c +++ b/gtk/gtktreeselection.c @@ -214,8 +214,7 @@ gtk_tree_selection_set_mode (GtkTreeSelection *selection, gtk_tree_selection_unselect_all (selection); selection->user_func = tmp_func; - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - selection->tree_view->priv->anchor = NULL; + _gtk_tree_view_set_anchor_path (selection->tree_view, NULL); } else if (type == GTK_SELECTION_SINGLE || type == GTK_SELECTION_BROWSE) @@ -225,20 +224,17 @@ gtk_tree_selection_set_mode (GtkTreeSelection *selection, gint selected = FALSE; GtkTreePath *anchor_path = NULL; - if (selection->tree_view->priv->anchor) + anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); + + if (anchor_path) { - anchor_path = gtk_tree_row_reference_get_path (selection->tree_view->priv->anchor); - - if (anchor_path) - { - _gtk_tree_view_find_node (selection->tree_view, - anchor_path, - &tree, - &node); - - if (node && GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED)) - selected = TRUE; - } + _gtk_tree_view_find_node (selection->tree_view, + anchor_path, + &tree, + &node); + + if (node && GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED)) + selected = TRUE; } /* We do this so that we unconditionally unset all rows @@ -393,12 +389,9 @@ gtk_tree_selection_get_selected (GtkTreeSelection *selection, memset (iter, 0, sizeof (GtkTreeIter)); if (model) - *model = selection->tree_view->priv->model; + *model = gtk_tree_view_get_model (selection->tree_view); - if (selection->tree_view->priv->anchor == NULL) - return FALSE; - - anchor_path = gtk_tree_row_reference_get_path (selection->tree_view->priv->anchor); + anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); if (anchor_path == NULL) return FALSE; @@ -418,7 +411,7 @@ gtk_tree_selection_get_selected (GtkTreeSelection *selection, if (iter == NULL) retval = TRUE; else - retval = gtk_tree_model_get_iter (selection->tree_view->priv->model, + retval = gtk_tree_model_get_iter (gtk_tree_view_get_model (selection->tree_view), iter, anchor_path); } @@ -467,10 +460,11 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, g_return_val_if_fail (selection->tree_view != NULL, NULL); if (model) - *model = selection->tree_view->priv->model; + *model = gtk_tree_view_get_model (selection->tree_view); - if (selection->tree_view->priv->tree == NULL || - selection->tree_view->priv->tree->root == NULL) + tree = _gtk_tree_view_get_rbtree (selection->tree_view); + + if (tree == NULL || tree->root == NULL) return NULL; if (selection->type == GTK_SELECTION_NONE) @@ -483,7 +477,7 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, { GtkTreePath *path; - path = gtk_tree_model_get_path (selection->tree_view->priv->model, &iter); + path = gtk_tree_model_get_path (gtk_tree_view_get_model (selection->tree_view), &iter); list = g_list_append (list, path); return list; @@ -492,8 +486,7 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, return NULL; } - tree = selection->tree_view->priv->tree; - node = selection->tree_view->priv->tree->root; + node = tree->root; while (node->left != tree->nil) node = node->left; @@ -582,12 +575,14 @@ gint gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection) { gint count = 0; + GtkRBTree *tree; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), 0); g_return_val_if_fail (selection->tree_view != NULL, 0); - if (selection->tree_view->priv->tree == NULL || - selection->tree_view->priv->tree->root == NULL) + tree = _gtk_tree_view_get_rbtree (selection->tree_view); + + if (tree == NULL || tree->root == NULL) return 0; if (selection->type == GTK_SELECTION_SINGLE || @@ -599,8 +594,7 @@ gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection) return 0; } - _gtk_rbtree_traverse (selection->tree_view->priv->tree, - selection->tree_view->priv->tree->root, + _gtk_rbtree_traverse (tree, tree->root, G_PRE_ORDER, gtk_tree_selection_count_selected_rows_helper, &count); @@ -644,31 +638,32 @@ gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); - if (func == NULL || - selection->tree_view->priv->tree == NULL || - selection->tree_view->priv->tree->root == NULL) + tree = _gtk_tree_view_get_rbtree (selection->tree_view); + + if (func == NULL || tree == NULL || tree->root == NULL) return; + model = gtk_tree_view_get_model (selection->tree_view); + if (selection->type == GTK_SELECTION_SINGLE || selection->type == GTK_SELECTION_BROWSE) { - if (gtk_tree_row_reference_valid (selection->tree_view->priv->anchor)) + path = _gtk_tree_view_get_anchor_path (selection->tree_view); + + if (path) { - path = gtk_tree_row_reference_get_path (selection->tree_view->priv->anchor); - gtk_tree_model_get_iter (selection->tree_view->priv->model, &iter, path); - (* func) (selection->tree_view->priv->model, path, &iter, data); + gtk_tree_model_get_iter (model, &iter, path); + (* func) (model, path, &iter, data); gtk_tree_path_free (path); } return; } - tree = selection->tree_view->priv->tree; - node = selection->tree_view->priv->tree->root; + node = tree->root; while (node->left != tree->nil) node = node->left; - model = selection->tree_view->priv->model; g_object_ref (model); /* connect to signals to monitor changes in treemodel */ @@ -848,14 +843,16 @@ gtk_tree_selection_select_iter (GtkTreeSelection *selection, GtkTreeIter *iter) { GtkTreePath *path; + GtkTreeModel *model; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); - g_return_if_fail (selection->tree_view->priv->model != NULL); + + model = gtk_tree_view_get_model (selection->tree_view); + g_return_if_fail (model != NULL); g_return_if_fail (iter != NULL); - path = gtk_tree_model_get_path (selection->tree_view->priv->model, - iter); + path = gtk_tree_model_get_path (model, iter); if (path == NULL) return; @@ -877,14 +874,16 @@ gtk_tree_selection_unselect_iter (GtkTreeSelection *selection, GtkTreeIter *iter) { GtkTreePath *path; + GtkTreeModel *model; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); - g_return_if_fail (selection->tree_view->priv->model != NULL); + + model = gtk_tree_view_get_model (selection->tree_view); + g_return_if_fail (model != NULL); g_return_if_fail (iter != NULL); - path = gtk_tree_model_get_path (selection->tree_view->priv->model, - iter); + path = gtk_tree_model_get_path (model, iter); if (path == NULL) return; @@ -915,7 +914,7 @@ gtk_tree_selection_path_is_selected (GtkTreeSelection *selection, g_return_val_if_fail (path != NULL, FALSE); g_return_val_if_fail (selection->tree_view != NULL, FALSE); - if (selection->tree_view->priv->model == NULL) + if (gtk_tree_view_get_model (selection->tree_view) == NULL) return FALSE; ret = _gtk_tree_view_find_node (selection->tree_view, @@ -944,14 +943,17 @@ gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection, GtkTreeIter *iter) { GtkTreePath *path; + GtkTreeModel *model; gboolean retval; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), FALSE); g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (selection->tree_view != NULL, FALSE); - g_return_val_if_fail (selection->tree_view->priv->model != NULL, FALSE); - path = gtk_tree_model_get_path (selection->tree_view->priv->model, iter); + model = gtk_tree_view_get_model (selection->tree_view); + g_return_val_if_fail (model != NULL, FALSE); + + path = gtk_tree_model_get_path (model, iter); if (path == NULL) return FALSE; @@ -995,8 +997,11 @@ static gint gtk_tree_selection_real_select_all (GtkTreeSelection *selection) { struct _TempTuple *tuple; + GtkRBTree *tree; - if (selection->tree_view->priv->tree == NULL) + tree = _gtk_tree_view_get_rbtree (selection->tree_view); + + if (tree == NULL) return FALSE; /* Mark all nodes selected */ @@ -1004,8 +1009,7 @@ gtk_tree_selection_real_select_all (GtkTreeSelection *selection) tuple->selection = selection; tuple->dirty = FALSE; - _gtk_rbtree_traverse (selection->tree_view->priv->tree, - selection->tree_view->priv->tree->root, + _gtk_rbtree_traverse (tree, tree->root, G_PRE_ORDER, select_all_helper, tuple); @@ -1031,7 +1035,8 @@ gtk_tree_selection_select_all (GtkTreeSelection *selection) g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); - if (selection->tree_view->priv->tree == NULL || selection->tree_view->priv->model == NULL) + if (_gtk_tree_view_get_rbtree (selection->tree_view) == NULL || + gtk_tree_view_get_model (selection->tree_view) == NULL) return; g_return_if_fail (selection->type == GTK_SELECTION_MULTIPLE); @@ -1071,10 +1076,7 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) GtkRBNode *node = NULL; GtkTreePath *anchor_path; - if (selection->tree_view->priv->anchor == NULL) - return FALSE; - - anchor_path = gtk_tree_row_reference_get_path (selection->tree_view->priv->anchor); + anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); if (anchor_path == NULL) return FALSE; @@ -1093,8 +1095,7 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) { if (gtk_tree_selection_real_select_node (selection, tree, node, FALSE)) { - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - selection->tree_view->priv->anchor = NULL; + _gtk_tree_view_set_anchor_path (selection->tree_view, NULL); return TRUE; } } @@ -1102,12 +1103,14 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) } else { + GtkRBTree *tree; + tuple = g_new (struct _TempTuple, 1); tuple->selection = selection; tuple->dirty = FALSE; - _gtk_rbtree_traverse (selection->tree_view->priv->tree, - selection->tree_view->priv->tree->root, + tree = _gtk_tree_view_get_rbtree (selection->tree_view); + _gtk_rbtree_traverse (tree, tree->root, G_PRE_ORDER, unselect_all_helper, tuple); @@ -1134,7 +1137,8 @@ gtk_tree_selection_unselect_all (GtkTreeSelection *selection) g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); - if (selection->tree_view->priv->tree == NULL || selection->tree_view->priv->model == NULL) + if (_gtk_tree_view_get_rbtree (selection->tree_view) == NULL || + gtk_tree_view_get_model (selection->tree_view) == NULL) return; if (gtk_tree_selection_real_unselect_all (selection)) @@ -1197,15 +1201,7 @@ gtk_tree_selection_real_modify_range (GtkTreeSelection *selection, g_return_val_if_fail (end_node != NULL, FALSE); if (anchor_path) - { - if (selection->tree_view->priv->anchor) - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - - selection->tree_view->priv->anchor = - gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), - selection->tree_view->priv->model, - anchor_path); - } + _gtk_tree_view_set_anchor_path (selection->tree_view, anchor_path); do { @@ -1254,7 +1250,7 @@ gtk_tree_selection_select_range (GtkTreeSelection *selection, g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); g_return_if_fail (selection->type == GTK_SELECTION_MULTIPLE); - g_return_if_fail (selection->tree_view->priv->model != NULL); + g_return_if_fail (gtk_tree_view_get_model (selection->tree_view) != NULL); if (gtk_tree_selection_real_modify_range (selection, RANGE_SELECT, start_path, end_path)) g_signal_emit (selection, tree_selection_signals[CHANGED], 0); @@ -1278,7 +1274,7 @@ gtk_tree_selection_unselect_range (GtkTreeSelection *selection, { g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); g_return_if_fail (selection->tree_view != NULL); - g_return_if_fail (selection->tree_view->priv->model != NULL); + g_return_if_fail (gtk_tree_view_get_model (selection->tree_view) != NULL); if (gtk_tree_selection_real_modify_range (selection, RANGE_UNSELECT, start_path, end_path)) g_signal_emit (selection, tree_selection_signals[CHANGED], 0); @@ -1290,22 +1286,28 @@ _gtk_tree_selection_row_is_selectable (GtkTreeSelection *selection, GtkTreePath *path) { GtkTreeIter iter; + GtkTreeModel *model; + GtkTreeViewRowSeparatorFunc separator_func; + gpointer separator_data; gboolean sensitive = FALSE; - if (!gtk_tree_model_get_iter (selection->tree_view->priv->model, &iter, path)) + model = gtk_tree_view_get_model (selection->tree_view); + + _gtk_tree_view_get_row_separator_func (selection->tree_view, + &separator_func, &separator_data); + + if (!gtk_tree_model_get_iter (model, &iter, path)) sensitive = TRUE; - if (!sensitive && selection->tree_view->priv->row_separator_func) + if (!sensitive && separator_func) { /* never allow separators to be selected */ - if ((* selection->tree_view->priv->row_separator_func) (selection->tree_view->priv->model, - &iter, - selection->tree_view->priv->row_separator_data)) + if ((* separator_func) (model, &iter, separator_data)) return FALSE; } if (selection->user_func) - return (*selection->user_func) (selection, selection->tree_view->priv->model, path, + return (*selection->user_func) (selection, model, path, GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED), selection->user_data); else @@ -1336,8 +1338,7 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, if (selection->type == GTK_SELECTION_NONE) return; - if (selection->tree_view->priv->anchor) - anchor_path = gtk_tree_row_reference_get_path (selection->tree_view->priv->anchor); + anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); if (selection->type == GTK_SELECTION_SINGLE || selection->type == GTK_SELECTION_BROWSE) @@ -1374,17 +1375,11 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, * old one, and can then select the new one */ if (dirty) { - if (selection->tree_view->priv->anchor) - { - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - selection->tree_view->priv->anchor = NULL; - } + + _gtk_tree_view_set_anchor_path (selection->tree_view, NULL); if (gtk_tree_selection_real_select_node (selection, tree, node, TRUE)) - { - selection->tree_view->priv->anchor = - gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), selection->tree_view->priv->model, path); - } + _gtk_tree_view_set_anchor_path (selection->tree_view, path); } } else @@ -1392,11 +1387,8 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, if (gtk_tree_selection_real_select_node (selection, tree, node, TRUE)) { dirty = TRUE; - if (selection->tree_view->priv->anchor) - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - selection->tree_view->priv->anchor = - gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), selection->tree_view->priv->model, path); + _gtk_tree_view_set_anchor_path (selection->tree_view, path); } } } @@ -1406,11 +1398,8 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, if ((mode & GTK_TREE_SELECT_MODE_EXTEND) == GTK_TREE_SELECT_MODE_EXTEND && (anchor_path == NULL)) { - if (selection->tree_view->priv->anchor) - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); + _gtk_tree_view_set_anchor_path (selection->tree_view, path); - selection->tree_view->priv->anchor = - gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), selection->tree_view->priv->model, path); dirty = gtk_tree_selection_real_select_node (selection, tree, node, TRUE); } else if ((mode & (GTK_TREE_SELECT_MODE_EXTEND | GTK_TREE_SELECT_MODE_TOGGLE)) == (GTK_TREE_SELECT_MODE_EXTEND | GTK_TREE_SELECT_MODE_TOGGLE)) @@ -1422,11 +1411,8 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, else if ((mode & GTK_TREE_SELECT_MODE_TOGGLE) == GTK_TREE_SELECT_MODE_TOGGLE) { flags = node->flags; - if (selection->tree_view->priv->anchor) - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - selection->tree_view->priv->anchor = - gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), selection->tree_view->priv->model, path); + _gtk_tree_view_set_anchor_path (selection->tree_view, path); if ((flags & GTK_RBNODE_IS_SELECTED) == GTK_RBNODE_IS_SELECTED) dirty |= gtk_tree_selection_real_select_node (selection, tree, node, FALSE); @@ -1445,11 +1431,7 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, { dirty = gtk_tree_selection_real_unselect_all (selection); - if (selection->tree_view->priv->anchor) - gtk_tree_row_reference_free (selection->tree_view->priv->anchor); - - selection->tree_view->priv->anchor = - gtk_tree_row_reference_new_proxy (G_OBJECT (selection->tree_view), selection->tree_view->priv->model, path); + _gtk_tree_view_set_anchor_path (selection->tree_view, path); dirty |= gtk_tree_selection_real_select_node (selection, tree, node, TRUE); } diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 22b7a5b611..bc72795cce 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -274,6 +274,14 @@ enum #define ROW_HEIGHT(tree_view,height) \ ((height > 0) ? (height) : (tree_view)->priv->expander_size) +typedef struct _GtkTreeViewColumnReorder GtkTreeViewColumnReorder; +struct _GtkTreeViewColumnReorder +{ + gint left_align; + gint right_align; + GtkTreeViewColumn *left_column; + GtkTreeViewColumn *right_column; +}; typedef struct _GtkTreeViewChild GtkTreeViewChild; struct _GtkTreeViewChild @@ -300,6 +308,230 @@ struct _TreeViewDragInfo }; +struct _GtkTreeViewPrivate +{ + GtkTreeModel *model; + + guint flags; + /* tree information */ + GtkRBTree *tree; + + /* Container info */ + GList *children; + gint width; + gint height; + + /* Adjustments */ + GtkAdjustment *hadjustment; + GtkAdjustment *vadjustment; + gint min_display_width; + gint min_display_height; + + /* Sub windows */ + GdkWindow *bin_window; + GdkWindow *header_window; + + /* Scroll position state keeping */ + GtkTreeRowReference *top_row; + gint top_row_dy; + /* dy == y pos of top_row + top_row_dy */ + /* we cache it for simplicity of the code */ + gint dy; + + guint presize_handler_timer; + guint validate_rows_timer; + guint scroll_sync_timer; + + /* Indentation and expander layout */ + gint expander_size; + GtkTreeViewColumn *expander_column; + + gint level_indentation; + + /* Key navigation (focus), selection */ + gint cursor_offset; + + GtkTreeRowReference *anchor; + GtkTreeRowReference *cursor; + + GtkTreeViewColumn *focus_column; + + /* Current pressed node, previously pressed, prelight */ + GtkRBNode *button_pressed_node; + GtkRBTree *button_pressed_tree; + + gint pressed_button; + gint press_start_x; + gint press_start_y; + + gint event_last_x; + gint event_last_y; + + guint last_button_time; + gint last_button_x; + gint last_button_y; + + GtkRBNode *prelight_node; + GtkRBTree *prelight_tree; + + /* Cell Editing */ + GtkTreeViewColumn *edited_column; + + /* The node that's currently being collapsed or expanded */ + GtkRBNode *expanded_collapsed_node; + GtkRBTree *expanded_collapsed_tree; + guint expand_collapse_timeout; + + /* Auto expand/collapse timeout in hover mode */ + guint auto_expand_timeout; + + /* Selection information */ + GtkTreeSelection *selection; + + /* Header information */ + gint n_columns; + GList *columns; + gint header_height; + + GtkTreeViewColumnDropFunc column_drop_func; + gpointer column_drop_func_data; + GDestroyNotify column_drop_func_data_destroy; + GList *column_drag_info; + GtkTreeViewColumnReorder *cur_reorder; + + gint prev_width_before_expander; + + /* Interactive Header reordering */ + GdkWindow *drag_window; + GdkWindow *drag_highlight_window; + GtkTreeViewColumn *drag_column; + gint drag_column_x; + + /* Interactive Header Resizing */ + gint drag_pos; + gint x_drag; + + /* Non-interactive Header Resizing, expand flag support */ + gint prev_width; + + gint last_extra_space; + gint last_extra_space_per_column; + gint last_number_of_expand_columns; + + /* ATK Hack */ + GtkTreeDestroyCountFunc destroy_count_func; + gpointer destroy_count_data; + GDestroyNotify destroy_count_destroy; + + /* Scroll timeout (e.g. during dnd, rubber banding) */ + guint scroll_timeout; + + /* Row drag-and-drop */ + GtkTreeRowReference *drag_dest_row; + GtkTreeViewDropPosition drag_dest_pos; + guint open_dest_timeout; + + /* Rubber banding */ + gint rubber_band_status; + gint rubber_band_x; + gint rubber_band_y; + gint rubber_band_shift; + gint rubber_band_ctrl; + + GtkRBNode *rubber_band_start_node; + GtkRBTree *rubber_band_start_tree; + + GtkRBNode *rubber_band_end_node; + GtkRBTree *rubber_band_end_tree; + + /* fixed height */ + gint fixed_height; + + /* Scroll-to functionality when unrealized */ + GtkTreeRowReference *scroll_to_path; + GtkTreeViewColumn *scroll_to_column; + gfloat scroll_to_row_align; + gfloat scroll_to_col_align; + + /* Interactive search */ + gint selected_iter; + gint search_column; + GtkTreeViewSearchPositionFunc search_position_func; + GtkTreeViewSearchEqualFunc search_equal_func; + gpointer search_user_data; + GDestroyNotify search_destroy; + gpointer search_position_user_data; + GDestroyNotify search_position_destroy; + GtkWidget *search_window; + GtkWidget *search_entry; + gulong search_entry_changed_id; + guint typeselect_flush_timeout; + + /* Grid and tree lines */ + GtkTreeViewGridLines grid_lines; + double grid_line_dashes[2]; + int grid_line_width; + + gboolean tree_lines_enabled; + double tree_line_dashes[2]; + int tree_line_width; + + /* Row separators */ + GtkTreeViewRowSeparatorFunc row_separator_func; + gpointer row_separator_data; + GDestroyNotify row_separator_destroy; + + /* Tooltip support */ + gint tooltip_column; + + /* Here comes the bitfield */ + guint scroll_to_use_align : 1; + + guint fixed_height_mode : 1; + guint fixed_height_check : 1; + + guint reorderable : 1; + guint header_has_focus : 1; + guint drag_column_window_state : 3; + /* hint to display rows in alternating colors */ + guint has_rules : 1; + guint mark_rows_col_dirty : 1; + + /* for DnD */ + guint empty_view_drop : 1; + + guint ctrl_pressed : 1; + guint shift_pressed : 1; + + guint init_hadjust_value : 1; + + guint in_top_row_to_dy : 1; + + /* interactive search */ + guint enable_search : 1; + guint disable_popdown : 1; + guint search_custom_entry_set : 1; + + guint hover_selection : 1; + guint hover_expand : 1; + guint imcontext_changed : 1; + + guint rubber_banding_enable : 1; + + guint in_grab : 1; + + guint post_validation_flag : 1; + + /* Whether our key press handler is to avoid sending an unhandled binding to the search entry */ + guint search_entry_avoid_unhandled_binding : 1; + + /* GtkScrollablePolicy needs to be checked when + * driving the scrollable adjustment values */ + guint hscroll_policy : 1; + guint vscroll_policy : 1; +}; + + /* Signals */ enum { @@ -6880,11 +7112,13 @@ gtk_tree_view_top_row_to_dy (GtkTreeView *tree_view) void -_gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view) +_gtk_tree_view_install_mark_rows_col_dirty (GtkTreeView *tree_view, + gboolean install_handler) { tree_view->priv->mark_rows_col_dirty = TRUE; - install_presize_handler (tree_view); + if (install_handler) + install_presize_handler (tree_view); } /* @@ -9729,6 +9963,65 @@ _gtk_tree_view_get_header_height (GtkTreeView *tree_view) return tree_view->priv->header_height; } +void +_gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view, + GtkTreeViewRowSeparatorFunc *func, + gpointer *data) +{ + *func = tree_view->priv->row_separator_func; + *data = tree_view->priv->row_separator_data; +} + +GtkTreePath * +_gtk_tree_view_get_anchor_path (GtkTreeView *tree_view) +{ + if (tree_view->priv->anchor) + return gtk_tree_row_reference_get_path (tree_view->priv->anchor); + + return NULL; +} + +void +_gtk_tree_view_set_anchor_path (GtkTreeView *tree_view, + GtkTreePath *anchor_path) +{ + if (tree_view->priv->anchor) + { + gtk_tree_row_reference_free (tree_view->priv->anchor); + tree_view->priv->anchor = NULL; + } + + if (anchor_path && tree_view->priv->model) + tree_view->priv->anchor = + gtk_tree_row_reference_new_proxy (G_OBJECT (tree_view), + tree_view->priv->model, anchor_path); +} + +GtkRBTree * +_gtk_tree_view_get_rbtree (GtkTreeView *tree_view) +{ + return tree_view->priv->tree; +} + +GtkTreeViewColumn * +_gtk_tree_view_get_focus_column (GtkTreeView *tree_view) +{ + return tree_view->priv->focus_column; +} + +GdkWindow * +_gtk_tree_view_get_header_window (GtkTreeView *tree_view) +{ + return tree_view->priv->header_window; +} + +void +_gtk_tree_view_set_focus_column (GtkTreeView *tree_view, + GtkTreeViewColumn *column) +{ + tree_view->priv->focus_column = column; +} + static void gtk_tree_view_queue_draw_path (GtkTreeView *tree_view, diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 33c9645894..76e32ce2d5 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -757,8 +757,9 @@ gtk_tree_view_column_create_button (GtkTreeViewColumn *tree_column) gtk_widget_pop_composite_child (); /* make sure we own a reference to it as well. */ - if (tree_view->priv->header_window) - gtk_widget_set_parent_window (priv->button, tree_view->priv->header_window); + if (_gtk_tree_view_get_header_window (tree_view)) + gtk_widget_set_parent_window (priv->button, _gtk_tree_view_get_header_window (tree_view)); + gtk_widget_set_parent (priv->button, GTK_WIDGET (tree_view)); g_signal_connect (priv->button, "event", @@ -1057,8 +1058,7 @@ gtk_tree_view_column_mnemonic_activate (GtkWidget *widget, g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (column), FALSE); - /* XXX Direct access to treeview */ - GTK_TREE_VIEW (priv->tree_view)->priv->focus_column = column; + _gtk_tree_view_set_focus_column (GTK_TREE_VIEW (priv->tree_view), column); if (priv->clickable) gtk_button_clicked (GTK_BUTTON (priv->button)); @@ -1262,9 +1262,8 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) g_return_if_fail (gtk_widget_get_realized (priv->tree_view)); g_return_if_fail (priv->button != NULL); - /* XXX Access to GtkTreeView->priv */ - g_return_if_fail (tree_view->priv->header_window != NULL); - gtk_widget_set_parent_window (priv->button, tree_view->priv->header_window); + g_return_if_fail (_gtk_tree_view_get_header_window (tree_view) != NULL); + gtk_widget_set_parent_window (priv->button, _gtk_tree_view_get_header_window (tree_view)); if (priv->visible) gtk_widget_show (priv->button); @@ -1279,16 +1278,16 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) GDK_POINTER_MOTION_HINT_MASK | GDK_KEY_PRESS_MASK); attributes_mask = GDK_WA_CURSOR | GDK_WA_X | GDK_WA_Y; - attr.cursor = gdk_cursor_new_for_display (gdk_window_get_display (tree_view->priv->header_window), - GDK_SB_H_DOUBLE_ARROW); + attr.cursor = gdk_cursor_new_for_display + (gdk_window_get_display (_gtk_tree_view_get_header_window (tree_view)), GDK_SB_H_DOUBLE_ARROW); attr.y = 0; attr.width = TREE_VIEW_DRAG_WIDTH; - attr.height = tree_view->priv->header_height; + attr.height = _gtk_tree_view_get_header_height (tree_view); gtk_widget_get_allocation (priv->button, &allocation); attr.x = (allocation.x + (rtl ? 0 : allocation.width)) - TREE_VIEW_DRAG_WIDTH / 2; - priv->window = gdk_window_new (tree_view->priv->header_window, - &attr, attributes_mask); + priv->window = gdk_window_new (_gtk_tree_view_get_header_window (tree_view), + &attr, attributes_mask); gdk_window_set_user_data (priv->window, tree_view); gtk_tree_view_column_update_button (column); @@ -2764,9 +2763,7 @@ _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, /* if we are the current focus column and have multiple editable cells, * try to select the next one, else move the focus to the next column */ - - /* XXX Access to GtkTreeViewPrivate */ - if (GTK_TREE_VIEW (priv->tree_view)->priv->focus_column == tree_column) + if (_gtk_tree_view_get_focus_column (GTK_TREE_VIEW (priv->tree_view)) == tree_column) { if (gtk_cell_area_focus (priv->cell_area, direction)) /* Focus stays in this column, so we are done */ @@ -2859,11 +2856,7 @@ _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, if (priv->tree_view && gtk_widget_get_realized (priv->tree_view)) { - if (install_handler) - _gtk_tree_view_install_mark_rows_col_dirty (GTK_TREE_VIEW (priv->tree_view)); - else - /* XXX Access to GtkTreeViewPrivate */ - GTK_TREE_VIEW (priv->tree_view)->priv->mark_rows_col_dirty = TRUE; + _gtk_tree_view_install_mark_rows_col_dirty (GTK_TREE_VIEW (priv->tree_view), install_handler); gtk_widget_queue_resize (priv->tree_view); } } From cf8299f098ce5c0db8f2481b004801c87d3ac93f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 12:23:02 +0900 Subject: [PATCH 0341/1463] Changed _gtk_tree_view_column_set_width for _gtk_tree_view_column_allocate Now the GtkTreeViewColumn takes care of move/resizing its window and allocating its button (except for the special case of current drag_column where the column doesnt actually get reallocated). --- gtk/gtktreeprivate.h | 8 +++++--- gtk/gtktreeview.c | 34 +++++++--------------------------- gtk/gtktreeviewcolumn.c | 28 ++++++++++++++++++++++++---- 3 files changed, 36 insertions(+), 34 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 3277680b1f..b033ec3e45 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -103,11 +103,13 @@ gboolean _gtk_tree_selection_row_is_selectable (GtkTreeSelection *sele void _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_unrealize_button (GtkTreeViewColumn *column); + void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view); -void _gtk_tree_view_column_set_width (GtkTreeViewColumn *column, - int width, - int internal_width); +void _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, + int x_offset, + int width, + int cell_width); void _gtk_tree_view_column_unset_model (GtkTreeViewColumn *column, GtkTreeModel *old_model); void _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index bc72795cce..52afee8c3c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2631,7 +2631,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, GtkTreeView *tree_view; GList *list, *first_column, *last_column; GtkTreeViewColumn *column; - GtkAllocation allocation; GtkAllocation widget_allocation; gint width = 0; gint extra, extra_per_column, extra_for_last; @@ -2657,9 +2656,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, first_column = first_column->next) ; - allocation.y = 0; - allocation.height = tree_view->priv->header_height; - rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); /* find out how many extra space and expandable columns we have */ @@ -2719,7 +2715,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, { GtkWidget *button; GdkWindow *window; - gint real_requested_width = 0; gint internal_column_width = 0; gint old_width, column_width; @@ -2747,9 +2742,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, continue; } - real_requested_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); - - allocation.x = width; + column_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); if (gtk_tree_view_column_get_expand (column)) { @@ -2757,11 +2750,11 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, { /* We add the remander to the last column as * */ - real_requested_width += extra; + column_width += extra; } else { - real_requested_width += extra_per_column; + column_width += extra_per_column; extra -= extra_per_column; number_of_expand_columns --; } @@ -2769,39 +2762,26 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, else if (number_of_expand_columns == 0 && list == last_column) { - real_requested_width += extra; + column_width += extra; } /* In addition to expand, the last column can get even more * extra space so all available space is filled up. */ if (extra_for_last > 0 && list == last_column) - real_requested_width += extra_for_last; + column_width += extra_for_last; /* XXX This needs to account the real allocated space for * the internal GtkCellArea */ - internal_column_width = real_requested_width /* - all the stuff treeview adds around the area */; + internal_column_width = column_width /* - all the stuff treeview adds around the area */; - _gtk_tree_view_column_set_width (column, real_requested_width, internal_column_width); + _gtk_tree_view_column_allocate (column, width, column_width, internal_column_width); - column_width = gtk_tree_view_column_get_width (column); - allocation.width = column_width; width += column_width; if (column_width > old_width) column_changed = TRUE; - - button = gtk_tree_view_column_get_button (column); - window = _gtk_tree_view_column_get_window (column); - - gtk_widget_size_allocate (button, &allocation); - - if (window) - gdk_window_move_resize (window, - allocation.x + (rtl ? 0 : allocation.width) - TREE_VIEW_DRAG_WIDTH/2, - allocation.y, - TREE_VIEW_DRAG_WIDTH, allocation.height); } /* We change the width here. The user might have been resizing columns, diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 76e32ce2d5..fff962c6c0 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1870,19 +1870,39 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column) } void -_gtk_tree_view_column_set_width (GtkTreeViewColumn *tree_column, - int width, - int internal_width) +_gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, + int x_offset, + int width, + int cell_width) { GtkTreeViewColumnPrivate *priv; + GtkAllocation allocation; + gboolean rtl; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); priv = tree_column->priv; - gtk_cell_area_context_allocate (priv->cell_area_context, internal_width, -1); priv->width = width; + gtk_cell_area_context_allocate (priv->cell_area_context, cell_width, -1); + + allocation.x = x_offset; + allocation.y = 0; + allocation.width = width; + allocation.height = _gtk_tree_view_get_header_height (GTK_TREE_VIEW (priv->tree_view)); + + gtk_widget_size_allocate (priv->button, &allocation); + + if (priv->window) + { + rtl = (gtk_widget_get_direction (priv->tree_view) == GTK_TEXT_DIR_RTL); + gdk_window_move_resize (priv->window, + allocation.x + (rtl ? 0 : allocation.width) - TREE_VIEW_DRAG_WIDTH/2, + allocation.y, + TREE_VIEW_DRAG_WIDTH, allocation.height); + } + g_object_notify (G_OBJECT (tree_column), "width"); } From 7b36405a940e318e083154e12c03190aa02da2be Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 12:26:45 +0900 Subject: [PATCH 0342/1463] Use gtk_tree_view_get_real_requested_width_from_column() all around GtkTreeView duplicated the contents of this function word-for-word inside gtk_tree_view_update_size(). --- gtk/gtktreeview.c | 30 +----------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 52afee8c3c..e63d471a14 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2421,35 +2421,7 @@ gtk_tree_view_update_size (GtkTreeView *tree_view) if (!gtk_tree_view_column_get_visible (column)) continue; - if (_gtk_tree_view_column_get_use_resized_width (column)) - { - real_requested_width = _gtk_tree_view_column_get_resized_width (column); - } - else if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_FIXED) - { - real_requested_width = gtk_tree_view_column_get_fixed_width (column); - } - else if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) - { - GtkWidget *button = gtk_tree_view_column_get_button (column); - gint button_request; - - gtk_widget_get_preferred_width (button, &button_request, NULL); - - real_requested_width = MAX (_gtk_tree_view_column_get_requested_width (column), button_request); - } - else - { - real_requested_width = _gtk_tree_view_column_get_requested_width (column); - } - - min_width = gtk_tree_view_column_get_min_width (column); - if (min_width != -1) - real_requested_width = MAX (real_requested_width, min_width); - - max_width = gtk_tree_view_column_get_max_width (column); - if (max_width != -1) - real_requested_width = MIN (real_requested_width, max_width); + real_requested_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); tree_view->priv->width += real_requested_width; } From 81e1d02de3f0d26be4ebda0237fcad345fa0f39a Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 12:41:42 +0900 Subject: [PATCH 0343/1463] Created _gtk_tree_view_column_request_width(). Removed gtk_tree_view_get_real_requested_width_from_column() from gtktreeview.c in favor of this function in the treeviewcolumn domain (since this function goes and checks treeviewcolumn internals, settings and derives the real requested width, seems logical this should be done by the treeviewcolumn instead). --- gtk/gtktreeprivate.h | 1 + gtk/gtktreeview.c | 55 +++-------------------------------------- gtk/gtktreeviewcolumn.c | 39 +++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 52 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index b033ec3e45..942a2a3f60 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -106,6 +106,7 @@ void _gtk_tree_view_column_unrealize_button (GtkTreeViewColumn *column); void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, GtkTreeView *tree_view); +gint _gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column); void _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, int x_offset, int width, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index e63d471a14..136eda87d3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2414,16 +2414,11 @@ gtk_tree_view_update_size (GtkTreeView *tree_view) /* keep this in sync with size_allocate below */ for (list = tree_view->priv->columns, i = 0; list; list = list->next, i++) { - gint max_width, min_width; - gint real_requested_width = 0; - column = list->data; if (!gtk_tree_view_column_get_visible (column)) continue; - real_requested_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); - - tree_view->priv->width += real_requested_width; + tree_view->priv->width += _gtk_tree_view_column_request_width (column); } if (tree_view->priv->tree == NULL) @@ -2553,48 +2548,6 @@ invalidate_last_column (GtkTreeView *tree_view) } } -static gint -gtk_tree_view_get_real_requested_width_from_column (GtkTreeView *tree_view, - GtkTreeViewColumn *column) -{ - gint max_width, min_width; - gint real_requested_width; - - if (_gtk_tree_view_column_get_use_resized_width (column)) - { - real_requested_width = _gtk_tree_view_column_get_resized_width (column); - } - else if (gtk_tree_view_column_get_sizing (column) == GTK_TREE_VIEW_COLUMN_FIXED) - { - real_requested_width = gtk_tree_view_column_get_fixed_width (column); - } - else if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) - { - GtkWidget *button = gtk_tree_view_column_get_button (column); - gint button_request; - - gtk_widget_get_preferred_width (button, &button_request, NULL); - - real_requested_width = MAX (_gtk_tree_view_column_get_requested_width (column), button_request); - } - else - { - real_requested_width = _gtk_tree_view_column_get_requested_width (column); - if (real_requested_width < 0) - real_requested_width = 0; - } - - min_width = gtk_tree_view_column_get_min_width (column); - if (min_width != -1) - real_requested_width = MAX (real_requested_width, min_width); - - max_width = gtk_tree_view_column_get_max_width (column); - if (max_width != -1) - real_requested_width = MIN (real_requested_width, max_width); - - return real_requested_width; -} - /* GtkWidget::size_allocate helper */ static void gtk_tree_view_size_allocate_columns (GtkWidget *widget, @@ -2638,7 +2591,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, if (!gtk_tree_view_column_get_visible (column)) continue; - full_requested_width += gtk_tree_view_get_real_requested_width_from_column (tree_view, column); + full_requested_width += _gtk_tree_view_column_request_width (column); if (gtk_tree_view_column_get_expand (column)) number_of_expand_columns++; @@ -2685,8 +2638,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, list != (rtl ? first_column->prev : last_column->next); list = (rtl ? list->prev : list->next)) { - GtkWidget *button; - GdkWindow *window; gint internal_column_width = 0; gint old_width, column_width; @@ -2714,7 +2665,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, continue; } - column_width = gtk_tree_view_get_real_requested_width_from_column (tree_view, column); + column_width = _gtk_tree_view_column_request_width (column); if (gtk_tree_view_column_get_expand (column)) { diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index fff962c6c0..07f9880d4f 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1869,6 +1869,45 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column) return tree_column->priv->width; } +gint +_gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column) +{ + GtkTreeViewColumnPrivate *priv; + gint real_requested_width; + + priv = tree_column->priv; + + if (priv->use_resized_width) + { + real_requested_width = priv->resized_width; + } + else if (priv->column_type == GTK_TREE_VIEW_COLUMN_FIXED) + { + real_requested_width = priv->fixed_width; + } + else if (gtk_tree_view_get_headers_visible (GTK_TREE_VIEW (priv->tree_view))) + { + gint button_request; + + gtk_widget_get_preferred_width (priv->button, &button_request, NULL); + real_requested_width = MAX (priv->requested_width, button_request); + } + else + { + real_requested_width = priv->requested_width; + if (real_requested_width < 0) + real_requested_width = 0; + } + + if (priv->min_width != -1) + real_requested_width = MAX (real_requested_width, priv->min_width); + + if (priv->max_width != -1) + real_requested_width = MIN (real_requested_width, priv->max_width); + + return real_requested_width; +} + void _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, int x_offset, From b54c004c6b5d188c7b5f694aa5472ca76d5fb270 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 14:57:44 +0900 Subject: [PATCH 0344/1463] Allocate proper inner cell area to the GtkTreeViewColumn. This is a premature patch, it traverses the tree's expanded rows and fetches the deepest depth every time we allocate a column. The deepest depth should rather be cached and pushed when a row expands, then recalculated when the deepest expanded row collapses. --- gtk/gtktreeview.c | 72 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 136eda87d3..5ee50f5f6c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2548,6 +2548,66 @@ invalidate_last_column (GtkTreeView *tree_view) } } +static gboolean +gtk_tree_view_column_is_edge (GtkTreeView *tree_view, + GtkTreeViewColumn *column) +{ + GtkTreeViewColumn *first_column = tree_view->priv->columns->data; + GtkTreeViewColumn *last_column = g_list_last (tree_view->priv->columns)->data; + + return (column == first_column || column == last_column); +} + +static void +gtk_tree_view_deepest_expanded_depth (GtkTreeView *tree_view, + GtkTreePath *path, + gint *deepest) +{ + gint children_depth = gtk_tree_path_get_depth (path) + 1; + + if (children_depth > *deepest) + *deepest = children_depth; +} + +/* Gets the space in a column that is not actually distributed to + * the internal cell area, i.e. total indentation expander size + * grid line widths and horizontal separators */ +static gint +gtk_tree_view_get_column_padding (GtkTreeView *tree_view, + GtkTreeViewColumn *column) +{ + gint padding; + gint grid_line_width; + gint horizontal_separator; + gint depth = 1; + + /* Get the deepest depth */ + gtk_tree_view_map_expanded_rows (tree_view, + (GtkTreeViewMappingFunc)gtk_tree_view_deepest_expanded_depth, + &depth); + + gtk_widget_style_get (GTK_WIDGET (tree_view), + "horizontal-separator", &horizontal_separator, + "grid-line-width", &grid_line_width, + NULL); + + padding = horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; + + if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) + padding += depth * tree_view->priv->expander_size; + + if (tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_VERTICAL || + tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_BOTH) + { + if (gtk_tree_view_column_is_edge (tree_view, column)) + padding += grid_line_width / 2.0; + else + padding += grid_line_width; + } + + return padding; +} + /* GtkWidget::size_allocate helper */ static void gtk_tree_view_size_allocate_columns (GtkWidget *widget, @@ -2638,7 +2698,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, list != (rtl ? first_column->prev : last_column->next); list = (rtl ? list->prev : list->next)) { - gint internal_column_width = 0; + gint column_cell_width = 0; gint old_width, column_width; column = list->data; @@ -2694,12 +2754,13 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, if (extra_for_last > 0 && list == last_column) column_width += extra_for_last; - /* XXX This needs to account the real allocated space for - * the internal GtkCellArea + /* Remove any padding that we add to the column around the cell area + * and give the correct internal cell area to the column. */ - internal_column_width = column_width /* - all the stuff treeview adds around the area */; + column_cell_width = + column_width - gtk_tree_view_get_column_padding (tree_view, column); - _gtk_tree_view_column_allocate (column, width, column_width, internal_column_width); + _gtk_tree_view_column_allocate (column, width, column_width, column_cell_width); width += column_width; @@ -9147,6 +9208,7 @@ gtk_tree_view_get_background_xrange (GtkTreeView *tree_view, *x2 = total_width; /* width of 0 */ } } + static void gtk_tree_view_get_arrow_xrange (GtkTreeView *tree_view, GtkRBTree *tree, From 779125976c9437dd07882727e1892dedf8363605 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 16:20:22 +0900 Subject: [PATCH 0345/1463] Changed GtkTreeView to bookkeep the deepest expanded depth instead of recalculating it at column allocation time. --- gtk/gtktreeview.c | 50 ++++++++++++++++++++++++++++++----------------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 5ee50f5f6c..f470719280 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -381,6 +381,7 @@ struct _GtkTreeViewPrivate GtkRBNode *expanded_collapsed_node; GtkRBTree *expanded_collapsed_tree; guint expand_collapse_timeout; + gint deepest_depth; /* Auto expand/collapse timeout in hover mode */ guint auto_expand_timeout; @@ -1768,6 +1769,8 @@ gtk_tree_view_init (GtkTreeView *tree_view) tree_view->priv->event_last_x = -10000; tree_view->priv->event_last_y = -10000; + tree_view->priv->deepest_depth = 1; + gtk_tree_view_set_vadjustment (tree_view, NULL); gtk_tree_view_set_hadjustment (tree_view, NULL); } @@ -2558,17 +2561,6 @@ gtk_tree_view_column_is_edge (GtkTreeView *tree_view, return (column == first_column || column == last_column); } -static void -gtk_tree_view_deepest_expanded_depth (GtkTreeView *tree_view, - GtkTreePath *path, - gint *deepest) -{ - gint children_depth = gtk_tree_path_get_depth (path) + 1; - - if (children_depth > *deepest) - *deepest = children_depth; -} - /* Gets the space in a column that is not actually distributed to * the internal cell area, i.e. total indentation expander size * grid line widths and horizontal separators */ @@ -2579,22 +2571,18 @@ gtk_tree_view_get_column_padding (GtkTreeView *tree_view, gint padding; gint grid_line_width; gint horizontal_separator; - gint depth = 1; /* Get the deepest depth */ - gtk_tree_view_map_expanded_rows (tree_view, - (GtkTreeViewMappingFunc)gtk_tree_view_deepest_expanded_depth, - &depth); gtk_widget_style_get (GTK_WIDGET (tree_view), "horizontal-separator", &horizontal_separator, "grid-line-width", &grid_line_width, NULL); - padding = horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; + padding = horizontal_separator + (tree_view->priv->deepest_depth - 1) * tree_view->priv->level_indentation; if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) - padding += depth * tree_view->priv->expander_size; + padding += tree_view->priv->deepest_depth * tree_view->priv->expander_size; if (tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_VERTICAL || tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_BOTH) @@ -12756,6 +12744,10 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view, gtk_tree_path_get_depth (path) + 1, open_all); + /* Update the deepest expanded row depth */ + if (tree_view->priv->deepest_depth < gtk_tree_path_get_depth (path) + 1) + tree_view->priv->deepest_depth = gtk_tree_path_get_depth (path) + 1; + remove_expand_collapse_timeout (tree_view); if (animate) @@ -12810,6 +12802,17 @@ gtk_tree_view_expand_row (GtkTreeView *tree_view, return FALSE; } +static void +gtk_tree_view_deepest_expanded_depth (GtkTreeView *tree_view, + GtkTreePath *path, + gint *deepest) +{ + gint children_depth = gtk_tree_path_get_depth (path) + 1; + + if (children_depth > *deepest) + *deepest = children_depth; +} + static gboolean gtk_tree_view_real_collapse_row (GtkTreeView *tree_view, GtkTreePath *path, @@ -12935,7 +12938,7 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view, } g_signal_emit (tree_view, tree_view_signals[ROW_COLLAPSED], 0, &iter, path); - + if (gtk_widget_get_mapped (GTK_WIDGET (tree_view))) { /* now that we've collapsed all rows, we want to try to set the prelight @@ -12962,6 +12965,17 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view, } } + /* If we're collapsing one of the deepest expanded rows, + * we need to recalculate the deepest_depth + */ + if (tree_view->priv->deepest_depth == gtk_tree_path_get_depth (path) + 1) + { + tree_view->priv->deepest_depth = 1; + gtk_tree_view_map_expanded_rows (tree_view, + (GtkTreeViewMappingFunc)gtk_tree_view_deepest_expanded_depth, + &tree_view->priv->deepest_depth); + } + return TRUE; } From 0baee408f298bf52bca7ef5e58f0d8785508910f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 17:12:32 +0900 Subject: [PATCH 0346/1463] Fixed GtkTreeViewColumn allocation to only subtract the depth padding/indentation from the expander column. --- gtk/gtktreeview.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index f470719280..cc97dece8c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2579,10 +2579,15 @@ gtk_tree_view_get_column_padding (GtkTreeView *tree_view, "grid-line-width", &grid_line_width, NULL); - padding = horizontal_separator + (tree_view->priv->deepest_depth - 1) * tree_view->priv->level_indentation; + padding = horizontal_separator; - if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) - padding += tree_view->priv->deepest_depth * tree_view->priv->expander_size; + if (gtk_tree_view_is_expander_column (tree_view, column)) + { + padding += (tree_view->priv->deepest_depth - 1) * tree_view->priv->level_indentation; + + if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) + padding += tree_view->priv->deepest_depth * tree_view->priv->expander_size; + } if (tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_VERTICAL || tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_BOTH) From 1b28d8725302f7e7cb2da5eb47ef42d76205dfe9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 1 Dec 2010 23:26:25 +0900 Subject: [PATCH 0347/1463] Added GtkTreeViewColumn:cell-area construct-only property. Allow feeding treeviewcolumn a custom cell-area (or not a custom one, but allow sharing the cell-area with say, the combo-box area). This patch also: - Fixes signal connections to the area (now they do eventually get disconnected at dispose time, they are handled regardless if a treeview is set but execute safely, at least there is only one connection/disconnection). - Fixes refcounting on the cell_area (GtkCellArea is GInitiallyUnowned). - Adds a constructor() in order to build the cell-area if one has not been provided by the caller before hand at g_object_new() construct time. --- gtk/gtktreeviewcolumn.c | 99 ++++++++++++++++++++++++++++++----------- 1 file changed, 74 insertions(+), 25 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 07f9880d4f..230ca1a366 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -193,7 +193,8 @@ enum PROP_REORDERABLE, PROP_SORT_INDICATOR, PROP_SORT_ORDER, - PROP_SORT_COLUMN_ID + PROP_SORT_COLUMN_ID, + PROP_CELL_AREA }; enum @@ -394,6 +395,21 @@ gtk_tree_view_column_class_init (GtkTreeViewColumnClass *class) -1, GTK_PARAM_READWRITE)); + /** + * GtkTreeViewColumn:cell-area: + * + * The #GtkCellArea used to layout cell renderers for this column. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_type_class_add_private (class, sizeof (GtkTreeViewColumnPrivate)); } @@ -456,9 +472,40 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) priv->fixed_width = 1; priv->use_resized_width = FALSE; priv->title = g_strdup (""); +} + +static GObject * +gtk_tree_view_column_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GtkTreeViewColumn *tree_column; + GtkTreeViewColumnPrivate *priv; + GObject *object; + + object = G_OBJECT_CLASS (gtk_tree_view_column_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + tree_column = (GtkTreeViewColumn *) object; + priv = tree_column->priv; + + if (!priv->cell_area) + { + priv->cell_area = gtk_cell_area_box_new (); + g_object_ref_sink (priv->cell_area); + } - priv->cell_area = gtk_cell_area_box_new (); gtk_cell_area_set_style_detail (priv->cell_area, "treeview"); + + priv->add_editable_signal = + g_signal_connect (priv->cell_area, "add-editable", + G_CALLBACK (gtk_tree_view_column_add_editable_callback), + tree_column); + priv->remove_editable_signal = + g_signal_connect (priv->cell_area, "remove-editable", + G_CALLBACK (gtk_tree_view_column_remove_editable_callback), + tree_column); + priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); priv->context_changed_signal = @@ -487,8 +534,15 @@ gtk_tree_view_column_dispose (GObject *object) if (priv->cell_area) { + g_signal_handler_disconnect (priv->cell_area, + priv->add_editable_signal); + g_signal_handler_disconnect (priv->cell_area, + priv->remove_editable_signal); + g_object_unref (priv->cell_area); priv->cell_area = NULL; + priv->add_editable_signal = 0; + priv->remove_editable_signal = 0; } if (priv->child) @@ -609,7 +663,7 @@ gtk_tree_view_column_set_property (GObject *object, area = g_value_get_object (value); if (area) - tree_column->cell_area = g_object_ref_sink (area); + tree_column->priv->cell_area = g_object_ref_sink (area); break; default: @@ -716,7 +770,7 @@ gtk_tree_view_column_get_property (GObject *object, break; case PROP_CELL_AREA: - g_value_set_object (value, tree_column->cell_area); + g_value_set_object (value, tree_column->priv->cell_area); break; default: @@ -1217,15 +1271,18 @@ gtk_tree_view_column_add_editable_callback (GtkCellArea *area, GtkTreeViewColumnPrivate *priv = column->priv; GtkTreePath *path; - path = gtk_tree_path_new_from_string (path_string); - - _gtk_tree_view_add_editable (GTK_TREE_VIEW (priv->tree_view), - column, - path, - edit_widget, - cell_area); - - gtk_tree_path_free (path); + if (priv->tree_view) + { + path = gtk_tree_path_new_from_string (path_string); + + _gtk_tree_view_add_editable (GTK_TREE_VIEW (priv->tree_view), + column, + path, + edit_widget, + cell_area); + + gtk_tree_path_free (path); + } } static void @@ -1237,9 +1294,10 @@ gtk_tree_view_column_remove_editable_callback (GtkCellArea *area, GtkTreeViewColumn *column = user_data; GtkTreeViewColumnPrivate *priv = column->priv; - _gtk_tree_view_remove_editable (GTK_TREE_VIEW (priv->tree_view), - column, - edit_widget); + if (priv->tree_view) + _gtk_tree_view_remove_editable (GTK_TREE_VIEW (priv->tree_view), + column, + edit_widget); } /* Exported Private Functions. @@ -1336,15 +1394,6 @@ _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, priv->tree_view = GTK_WIDGET (tree_view); gtk_tree_view_column_create_button (column); - priv->add_editable_signal = - g_signal_connect (priv->cell_area, "add-editable", - G_CALLBACK (gtk_tree_view_column_add_editable_callback), - column); - priv->remove_editable_signal = - g_signal_connect (priv->cell_area, "remove-editable", - G_CALLBACK (gtk_tree_view_column_remove_editable_callback), - column); - priv->property_changed_signal = g_signal_connect_swapped (tree_view, "notify::model", From 78979b2954102a6c52a3a6ccc0c1110c7ae35dab Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 14:05:15 +0900 Subject: [PATCH 0348/1463] Removing hack and fixing gtk_tree_view_column_cell_get_size(). Now consult gtk_cell_area_context_get_preferred_height(). It can be that height-for-widths requested here were too large when multiple cells are in play because of the alignments stored in the context... removing the temporary focus-line-width hack. --- gtk/gtktreeviewcolumn.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 230ca1a366..014f00c264 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2702,7 +2702,6 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gint *height) { GtkTreeViewColumnPrivate *priv; - int focus_line_width; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); @@ -2713,29 +2712,20 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, if (width) * width = 0; - /* FIXME: This is a temporary hack to get things to allocate mostly right. - * - * We will add twice the focus-line-width to the for-width - * parameter below. If we do not do this, the height returned is the - * height for two lines of text instead of one. It feels like some lines - * get less width than expected (due to subtraction of focus_line_width?) - * and will unnecessarily wrap. - */ - gtk_widget_style_get (priv->tree_view, - "focus-line-width", &focus_line_width, - NULL); - g_signal_handler_block (priv->cell_area_context, priv->context_changed_signal); gtk_cell_area_get_preferred_width (priv->cell_area, priv->cell_area_context, priv->tree_view, - width, NULL); + NULL, NULL); + + gtk_cell_area_context_get_preferred_width (priv->cell_area_context, width, NULL); + gtk_cell_area_get_preferred_height_for_width (priv->cell_area, priv->cell_area_context, priv->tree_view, - *width + focus_line_width * 2, + *width, height, NULL); From 847581b67cf737e476c1e94c8f4cead87552afd1 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 14:27:18 +0900 Subject: [PATCH 0349/1463] Adding testverticalcells.c. This test displays a GtkTreeViewColumn rendering a vertically oriented GtkCellArea along side a horizontally oriented column in the same treeview. --- tests/Makefile.am | 3 + tests/testverticalcells.c | 375 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 378 insertions(+) create mode 100644 tests/testverticalcells.c diff --git a/tests/Makefile.am b/tests/Makefile.am index 3bfd2ac397..681e9b3fda 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -87,6 +87,7 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testtreecolumns \ testtreecolumnsizing \ testtreesort \ + testverticalcells \ treestoretest \ testxinerama \ testwindows \ @@ -179,6 +180,7 @@ testtreeflow_DEPENDENCIES = $(DEPS) testtreecolumns_DEPENDENCIES = $(DEPS) testtreecolumnsizing_DEPENDENCIES = $(DEPS) testtreesort_DEPENDENCIES = $(DEPS) +testverticalcells_DEPENDENCIES = $(DEPS) treestoretest_DEPENDENCIES = $(TEST_DEPS) testxinerama_DEPENDENCIES = $(TEST_DEPS) testmerge_DEPENDENCIES = $(TEST_DEPS) @@ -257,6 +259,7 @@ testtreeflow_LDADD = $(LDADDS) testtreecolumns_LDADD = $(LDADDS) testtreecolumnsizing_LDADD = $(LDADDS) testtreesort_LDADD = $(LDADDS) +testverticalcells_LDADD = $(LDADDS) treestoretest_LDADD = $(LDADDS) testxinerama_LDADD = $(LDADDS) testmerge_LDADD = $(LDADDS) diff --git a/tests/testverticalcells.c b/tests/testverticalcells.c new file mode 100644 index 0000000000..81a586abc0 --- /dev/null +++ b/tests/testverticalcells.c @@ -0,0 +1,375 @@ +/* testverticalcells.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" +#include + +typedef struct _TreeEntry TreeEntry; + +struct _TreeEntry { + const gchar *icon; + const gchar *info; + const gchar *description; + const gchar *fine_print; + const gchar *fine_print_color; + gint progress; + TreeEntry *entries; +}; + +enum { + ICON_COLUMN, + INFO_COLUMN, + DESCRIPTION_COLUMN, + FINE_PRINT_COLUMN, + FINE_PRINT_COLOR_COLUMN, + PROGRESS_COLUMN, + NUM_COLUMNS +}; + + +static TreeEntry info_entries[] = + { + { + "gtk-execute", + "Will you\n" + "run this ?", + "Currently executing that thing... you might want to abort", + "and every day he went fishing for pigs in the sky", + "green", + 83, + NULL + }, + { + "gtk-dialog-authentication", + "This is the\n" + "realest of the real", + "We are about to authenticate the actual realness, this could take some time", + "one day he caught a giant ogre who barked and barked and barked", + "purple", + 4, + NULL + }, + { 0, }, + }; + +static TreeEntry directory_entries[] = + { + { + "gtk-edit", + "We can edit\n" + "things in here", + "Time to edit your directory, almost finished now", + "she thought the best remedy for daydreams was going to be sleep", + "dark sea green", + 99, + NULL + }, + { + "gtk-file", + "You have a\n" + "file here", + "Who would of thought there would be a file in the directory ?", + "after taking loads of sleeping pills he could still hear the pigs barking", + "green yellow", + 33, + NULL + }, + { + "gtk-dialog-question", + "Any questions ?", + "This file would like to ask you a question", + "so he decided that the fine print underneath the progress bar probably made no sense at all", + "lavender", + 73, + NULL + }, + { 0, }, + }; + +static TreeEntry other_entries[] = + { + { + "gtk-zoom-fit", + "Thats the\n" + "perfect fit", + "Now fitting foo into bar using frobnicator", + "using his nifty wide angle lense, he was able to catch a 'dark salmon', it was no flying pig " + "however it was definitely a keeper", + "dark salmon", + 59, + NULL + }, + { + "gtk-underline", + "Under the\n" + "line", + "Now underlining that this demo would look alot niftier with some real content", + "it was indeed strange to catch a red salmon while fishing for pigs in the deep sky blue.", + "deep sky blue", + 99, + NULL + }, + }; + +static TreeEntry add_entries[] = + { + { + "gtk-about", + "its about\n" + "to start", + "This is what it's all about", + "so he went ahead and added the 'gtk-about' icon to his story, thinking 'mint cream' would be the " + "right color for something like that", + "dark violet", + 1, + NULL + }, + { + "gtk-zoom-in", + "Watch it\n" + "Zoom !", + "Now zooming into something", + "while fishing for pigs in the sky, maybe he would have caught something faster if only he had zoomed in", + "orchid", + 6, + NULL + }, + { + "gtk-zoom-out", + "Zoom Zoom\n" + "Zoom !", + "Now zooming out of something else", + "the daydream had a much prettier picture over all once he had zoomed out for the wide angle, " + "jill agreed", + "dark magenta", + 46, + other_entries + }, + { 0, }, + }; + + +static TreeEntry main_entries[] = + { + { + "gtk-info", + "This is all\n" + "the info", + "We are currently informing you", + "once upon a time in a land far far away there was a guy named buba", + "red", + 64, + info_entries + }, + { + "gtk-dialog-warning", + "This is a\n" + "warning", + "We would like to warn you that your laptop might explode after we're done", + "so he decided that he must be stark raving mad", + "orange", + 43, + NULL + }, + { + "gtk-dialog-error", + "An error will\n" + "occur", + "Once we're done here, dont worry... an error will surely occur.", + "and went to a see a yellow physiotherapist who's name was jill", + "yellow", + 98, + NULL + }, + { + "gtk-directory", + "The directory", + "Currently scanning your directories.", + "jill didnt know what to make of the barking pigs either so she fed him sleeping pills", + "brown", + 20, + directory_entries + }, + { + "gtk-delete", + "Now deleting\n" + "the whole thing", + "Time to delete the sucker", + "and he decided to just delete the whole conversation since it didnt make sense to him", + "dark orange", + 26, + NULL + }, + { + "gtk-add", + "Anything\n" + "to add ?", + "Now adding stuff... please be patient", + "but on second thought, maybe he had something to add so that things could make a little less sense.", + "maroon", + 72, + add_entries + }, + { + "gtk-redo", + "Time to\n" + "do it again", + "For the hell of it, lets add the content to the treeview over and over again !", + "buba likes telling his story, so maybe he's going to tell it 20 times more.", + "deep pink", + 100, + NULL + }, + { 0, }, + }; + + +static void +populate_model (GtkTreeStore *model, + GtkTreeIter *parent, + TreeEntry *entries) +{ + GtkTreeIter iter; + gint i; + + for (i = 0; entries[i].info != NULL; i++) + { + gtk_tree_store_append (model, &iter, parent); + gtk_tree_store_set (model, &iter, + ICON_COLUMN, entries[i].icon, + INFO_COLUMN, entries[i].info, + DESCRIPTION_COLUMN, entries[i].description, + FINE_PRINT_COLUMN, entries[i].fine_print, + FINE_PRINT_COLOR_COLUMN, entries[i].fine_print_color, + PROGRESS_COLUMN, entries[i].progress, + -1); + + if (entries[i].entries) + populate_model (model, &iter, entries[i].entries); + } +} + +static GtkTreeModel * +create_model (void) +{ + GtkTreeStore *model; + gint i; + + model = gtk_tree_store_new (NUM_COLUMNS, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_STRING, + G_TYPE_INT); + + for (i = 0; i < 20; i++) + populate_model (model, NULL, main_entries); + + return GTK_TREE_MODEL (model); +} + +gint +main (gint argc, gchar **argv) +{ + GtkWidget *window; + GtkWidget *scrolled_window; + GtkWidget *tree_view; + GtkTreeModel *tree_model; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; + GtkCellArea *area; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Vertical cells in GtkTreeViewColumn example"); + g_signal_connect (window, "destroy", gtk_main_quit, NULL); + + scrolled_window = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_ETCHED_IN); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_container_add (GTK_CONTAINER (window), scrolled_window); + + tree_model = create_model (); + tree_view = gtk_tree_view_new_with_model (tree_model); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), FALSE); + + /* First column */ + column = gtk_tree_view_column_new (); + + renderer = gtk_cell_renderer_pixbuf_new (); + g_object_set (renderer, "stock-size", GTK_ICON_SIZE_DIALOG, NULL); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "stock-id", ICON_COLUMN, NULL); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (renderer, "scale", 1.2F, "weight", PANGO_WEIGHT_BOLD, NULL); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "text", INFO_COLUMN, + NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column); + + /* Second (vertical) column */ + column = gtk_tree_view_column_new (); + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)); + gtk_orientable_set_orientation (GTK_ORIENTABLE (area), GTK_ORIENTATION_VERTICAL); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "text", DESCRIPTION_COLUMN, + NULL); + + renderer = gtk_cell_renderer_progress_new (); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "value", PROGRESS_COLUMN, + NULL); + + renderer = gtk_cell_renderer_text_new (); + g_object_set (renderer, "scale", 0.6F, "ellipsize", PANGO_ELLIPSIZE_END, NULL); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "text", FINE_PRINT_COLUMN, + "foreground", FINE_PRINT_COLOR_COLUMN, + NULL); + + gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column); + + gtk_tree_view_expand_all (GTK_TREE_VIEW (tree_view)); + + gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view); + + gtk_window_set_default_size (GTK_WINDOW (window), + 800, 400); + + gtk_widget_show_all (window); + gtk_main (); + + return 0; +} From 3ca2ec5d2d2ec0cf256658f2021630b970782bae Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 16:24:31 +0900 Subject: [PATCH 0350/1463] Fixed conflicts from rebasing GtkTreeViewColumn changes from treeview-refactor. --- gtk/gtktreeviewcolumn.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 014f00c264..63b10a674e 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2702,16 +2702,12 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, gint *height) { GtkTreeViewColumnPrivate *priv; + gint min_width = 0, min_height = 0; g_return_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column)); priv = tree_column->priv; - if (height) - * height = 0; - if (width) - * width = 0; - g_signal_handler_block (priv->cell_area_context, priv->context_changed_signal); @@ -2720,13 +2716,13 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn *tree_column, priv->tree_view, NULL, NULL); - gtk_cell_area_context_get_preferred_width (priv->cell_area_context, width, NULL); + gtk_cell_area_context_get_preferred_width (priv->cell_area_context, &min_width, NULL); gtk_cell_area_get_preferred_height_for_width (priv->cell_area, priv->cell_area_context, priv->tree_view, - *width, - height, + min_width, + &min_height, NULL); g_signal_handler_unblock (priv->cell_area_context, From 364fe807f4553acf98bdbb52d930ca2d09ed20e0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 5 Dec 2010 15:20:19 +0900 Subject: [PATCH 0351/1463] Added g_getenv("RTL") to test rtl layouting. --- tests/testverticalcells.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/testverticalcells.c b/tests/testverticalcells.c index 81a586abc0..627db457d2 100644 --- a/tests/testverticalcells.c +++ b/tests/testverticalcells.c @@ -302,6 +302,9 @@ main (gint argc, gchar **argv) gtk_init (&argc, &argv); + if (g_getenv ("RTL")) + gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (window), "Vertical cells in GtkTreeViewColumn example"); g_signal_connect (window, "destroy", gtk_main_quit, NULL); From 43de55d7a96e5563b427e8fca075dce15b2ad36b Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 14:42:08 +0100 Subject: [PATCH 0352/1463] Turn TREE_VIEW_HEADER_HEIGHT into an inline function --- gtk/gtktreeview.c | 46 ++++++++++++++++++++++++++++------------------ 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index cc97dece8c..4996d21bcb 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -166,14 +166,13 @@ enum #define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END #define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END #define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) -#define TREE_VIEW_HEADER_HEIGHT(tree_view) (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)?tree_view->priv->header_height:0) #define TREE_VIEW_COLUMN_REQUESTED_WIDTH(column) (CLAMP (column->requested_width, (column->min_width!=-1)?column->min_width:column->requested_width, (column->max_width!=-1)?column->max_width:column->requested_width)) #define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&>K_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) /* This lovely little value is used to determine how far away from the title bar * you can move the mouse and still have a column drag work. */ -#define TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER(tree_view) (10*TREE_VIEW_HEADER_HEIGHT(tree_view)) +#define TREE_VIEW_COLUMN_DRAG_DEAD_MULTIPLIER(tree_view) (10*gtk_tree_view_get_effective_header_height(tree_view)) #ifdef __GNUC__ @@ -832,6 +831,8 @@ static void update_prelight (GtkTreeView int x, int y); +static inline gint gtk_tree_view_get_effective_header_height (GtkTreeView *tree_view); + /* interactive search */ static void gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view); static void gtk_tree_view_search_dialog_hide (GtkWidget *search_dialog, @@ -2225,7 +2226,7 @@ gtk_tree_view_realize (GtkWidget *widget) /* Make the window for the tree */ attributes.x = 0; - attributes.y = TREE_VIEW_HEADER_HEIGHT (tree_view); + attributes.y = gtk_tree_view_get_effective_header_height (tree_view); attributes.width = MAX (tree_view->priv->width, allocation.width); attributes.height = allocation.height; attributes.event_mask = (GDK_EXPOSURE_MASK | @@ -2445,7 +2446,7 @@ gtk_tree_view_size_request (GtkWidget *widget, gtk_tree_view_update_size (GTK_TREE_VIEW (widget)); requisition->width = tree_view->priv->width; - requisition->height = tree_view->priv->height + TREE_VIEW_HEADER_HEIGHT (tree_view); + requisition->height = tree_view->priv->height + gtk_tree_view_get_effective_header_height (tree_view); tmp_list = tree_view->priv->children; } @@ -2864,7 +2865,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget, g_object_freeze_notify (G_OBJECT (tree_view->priv->vadjustment)); gtk_adjustment_set_page_size (tree_view->priv->vadjustment, allocation->height - - TREE_VIEW_HEADER_HEIGHT (tree_view)); + gtk_tree_view_get_effective_header_height (tree_view)); gtk_adjustment_set_step_increment (tree_view->priv->vadjustment, tree_view->priv->vadjustment->page_size * 0.1); gtk_adjustment_set_page_increment (tree_view->priv->vadjustment, @@ -2898,9 +2899,9 @@ gtk_tree_view_size_allocate (GtkWidget *widget, tree_view->priv->header_height); gdk_window_move_resize (tree_view->priv->bin_window, - (gint) tree_view->priv->hadjustment->value, - TREE_VIEW_HEADER_HEIGHT (tree_view), + gtk_tree_view_get_effective_header_height (tree_view), MAX (tree_view->priv->width, allocation->width), - allocation->height - TREE_VIEW_HEADER_HEIGHT (tree_view)); + allocation->height - gtk_tree_view_get_effective_header_height (tree_view)); } if (tree_view->priv->tree == NULL) @@ -6103,7 +6104,7 @@ gtk_tree_view_node_queue_redraw (GtkTreeView *tree_view, y = _gtk_rbtree_node_find_offset (tree, node) - tree_view->priv->vadjustment->value - + TREE_VIEW_HEADER_HEIGHT (tree_view); + + gtk_tree_view_get_effective_header_height (tree_view); gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation); gtk_widget_queue_draw_area (GTK_WIDGET (tree_view), @@ -6287,7 +6288,7 @@ validate_visible_area (GtkTreeView *tree_view) return; gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation); - total_height = allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view); + total_height = allocation.height - gtk_tree_view_get_effective_header_height (tree_view); if (total_height == 0) return; @@ -7436,7 +7437,7 @@ set_destination_row (GtkTreeView *tree_view, di = get_info (tree_view); - if (di == NULL || y - TREE_VIEW_HEADER_HEIGHT (tree_view) < 0) + if (di == NULL || y - gtk_tree_view_get_effective_header_height (tree_view) < 0) { /* someone unset us as a drag dest, note that if * we return FALSE drag_leave isn't called @@ -9915,6 +9916,15 @@ _gtk_tree_view_queue_draw_node (GtkTreeView *tree_view, } } +static inline gint +gtk_tree_view_get_effective_header_height (GtkTreeView *tree_view) +{ + if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) + return tree_view->priv->header_height; + /* else */ + return 0; +} + gint _gtk_tree_view_get_header_height (GtkTreeView *tree_view) { @@ -11176,7 +11186,7 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, gdk_window_move (tree_view->priv->bin_window, - tree_view->priv->hadjustment->value, - TREE_VIEW_HEADER_HEIGHT (tree_view)); + gtk_tree_view_get_effective_header_height (tree_view)); gdk_window_move (tree_view->priv->header_window, - tree_view->priv->hadjustment->value, 0); @@ -11627,8 +11637,8 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, { gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation); gdk_window_move_resize (tree_view->priv->bin_window, - x, y + TREE_VIEW_HEADER_HEIGHT (tree_view), - tree_view->priv->width, allocation.height - + TREE_VIEW_HEADER_HEIGHT (tree_view)); + x, y + gtk_tree_view_get_effective_header_height (tree_view), + tree_view->priv->width, allocation.height - + gtk_tree_view_get_effective_header_height (tree_view)); if (gtk_widget_get_mapped (GTK_WIDGET (tree_view))) gtk_tree_view_map_buttons (tree_view); @@ -11648,8 +11658,8 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, } gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation); - tree_view->priv->vadjustment->page_size = allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view); - tree_view->priv->vadjustment->page_increment = (allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view)) / 2; + tree_view->priv->vadjustment->page_size = allocation.height - gtk_tree_view_get_effective_header_height (tree_view); + tree_view->priv->vadjustment->page_increment = (allocation.height - gtk_tree_view_get_effective_header_height (tree_view)) / 2; tree_view->priv->vadjustment->lower = 0; tree_view->priv->vadjustment->upper = tree_view->priv->height; gtk_adjustment_changed (tree_view->priv->vadjustment); @@ -13718,7 +13728,7 @@ gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, visible_rect->x = tree_view->priv->hadjustment->value; visible_rect->y = tree_view->priv->vadjustment->value; visible_rect->width = allocation.width; - visible_rect->height = allocation.height - TREE_VIEW_HEADER_HEIGHT (tree_view); + visible_rect->height = allocation.height - gtk_tree_view_get_effective_header_height (tree_view); } } @@ -13811,7 +13821,7 @@ gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, if (bx) *bx = wx + tree_view->priv->hadjustment->value; if (by) - *by = wy - TREE_VIEW_HEADER_HEIGHT (tree_view); + *by = wy - gtk_tree_view_get_effective_header_height (tree_view); } /** @@ -13839,7 +13849,7 @@ gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, if (wx) *wx = bx - tree_view->priv->hadjustment->value; if (wy) - *wy = by + TREE_VIEW_HEADER_HEIGHT (tree_view); + *wy = by + gtk_tree_view_get_effective_header_height (tree_view); } /** From ebba08a842c2a74ae3daea965684af7db3ac05b0 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 14:42:40 +0100 Subject: [PATCH 0353/1463] Remove unused TREE_VIEW_COLUMN_REQUESTED_WIDTH macro --- gtk/gtktreeview.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 4996d21bcb..911f254583 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -166,7 +166,6 @@ enum #define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END #define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END #define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) -#define TREE_VIEW_COLUMN_REQUESTED_WIDTH(column) (CLAMP (column->requested_width, (column->min_width!=-1)?column->min_width:column->requested_width, (column->max_width!=-1)?column->max_width:column->requested_width)) #define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&>K_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) /* This lovely little value is used to determine how far away from the title bar From 73f99eda1d81ab1ca572a5c4f4d740d21d686bcf Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 14:47:51 +0100 Subject: [PATCH 0354/1463] Turn TREE_VIEW_DRAW_EXPANDERS into an inline function --- gtk/gtktreeview.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 911f254583..4088015f21 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -166,7 +166,6 @@ enum #define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END #define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END #define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) -#define TREE_VIEW_DRAW_EXPANDERS(tree_view) (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)&>K_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) /* This lovely little value is used to determine how far away from the title bar * you can move the mouse and still have a column drag work. @@ -747,6 +746,7 @@ static void invalidate_empty_focus (GtkTreeView *tree_view); /* Internal functions */ static gboolean gtk_tree_view_is_expander_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); +static inline gboolean gtk_tree_view_draw_expanders (GtkTreeView *tree_view); static void gtk_tree_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, guint modmask, @@ -2585,7 +2585,7 @@ gtk_tree_view_get_column_padding (GtkTreeView *tree_view, { padding += (tree_view->priv->deepest_depth - 1) * tree_view->priv->level_indentation; - if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) + if (gtk_tree_view_draw_expanders (tree_view)) padding += tree_view->priv->deepest_depth * tree_view->priv->expander_size; } @@ -3039,7 +3039,7 @@ gtk_tree_view_button_press (GtkWidget *widget, /* are we in an arrow? */ if (tree_view->priv->prelight_node && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT) && - TREE_VIEW_DRAW_EXPANDERS (tree_view)) + gtk_tree_view_draw_expanders (tree_view)) { if (event->button == 1) { @@ -3116,7 +3116,7 @@ gtk_tree_view_button_press (GtkWidget *widget, cell_area.x += (depth - 1) * tree_view->priv->level_indentation; cell_area.width -= (depth - 1) * tree_view->priv->level_indentation; - if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) + if (gtk_tree_view_draw_expanders (tree_view)) { if (!rtl) cell_area.x += depth * tree_view->priv->expander_size; @@ -3622,7 +3622,7 @@ do_prelight (GtkTreeView *tree_view, /* We are still on the same node, but we might need to take care of the arrow */ - if (tree && node && TREE_VIEW_DRAW_EXPANDERS (tree_view)) + if (tree && node && gtk_tree_view_draw_expanders (tree_view)) { gboolean over_arrow; gboolean flag_set; @@ -3655,7 +3655,7 @@ do_prelight (GtkTreeView *tree_view, GTK_RBNODE_IS_PRELIT); if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT) - && TREE_VIEW_DRAW_EXPANDERS (tree_view)) + && gtk_tree_view_draw_expanders (tree_view)) { GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_ARROW_PRELIT); @@ -3683,7 +3683,7 @@ do_prelight (GtkTreeView *tree_view, /* Prelight the new node and arrow */ - if (TREE_VIEW_DRAW_EXPANDERS (tree_view) + if (gtk_tree_view_draw_expanders (tree_view) && coords_are_over_arrow (tree_view, tree, node, x, y)) { GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_ARROW_PRELIT); @@ -5131,7 +5131,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, cell_area.x += (depth - 1) * tree_view->priv->level_indentation; cell_area.width -= (depth - 1) * tree_view->priv->level_indentation; - if (TREE_VIEW_DRAW_EXPANDERS(tree_view)) + if (gtk_tree_view_draw_expanders (tree_view)) { if (!rtl) cell_area.x += depth * tree_view->priv->expander_size; @@ -5161,7 +5161,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, &cell_area, flags, draw_focus); - if (TREE_VIEW_DRAW_EXPANDERS(tree_view) + if (gtk_tree_view_draw_expanders (tree_view) && (node->flags & GTK_RBNODE_IS_PARENT) == GTK_RBNODE_IS_PARENT) { if (!got_pointer) @@ -6228,7 +6228,7 @@ validate_row (GtkTreeView *tree_view, { tmp_width = tmp_width + horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; - if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) + if (gtk_tree_view_draw_expanders (tree_view)) tmp_width += depth * tree_view->priv->expander_size; } else @@ -9547,6 +9547,16 @@ gtk_tree_view_is_expander_column (GtkTreeView *tree_view, return FALSE; } +static inline gboolean +gtk_tree_view_draw_expanders (GtkTreeView *tree_view) +{ + if (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST) + && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) + return TRUE; + /* else */ + return FALSE; +} + static void gtk_tree_view_add_move_binding (GtkBindingSet *binding_set, guint keyval, @@ -13629,7 +13639,7 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, rect->x += (depth - 1) * tree_view->priv->level_indentation; rect->width -= (depth - 1) * tree_view->priv->level_indentation; - if (TREE_VIEW_DRAW_EXPANDERS (tree_view)) + if (gtk_tree_view_draw_expanders (tree_view)) { if (!rtl) rect->x += depth * tree_view->priv->expander_size; @@ -14438,7 +14448,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, cell_area.x += (depth - 1) * tree_view->priv->level_indentation; cell_area.width -= (depth - 1) * tree_view->priv->level_indentation; - if (TREE_VIEW_DRAW_EXPANDERS(tree_view)) + if (gtk_tree_view_draw_expanders (tree_view)) { if (!rtl) cell_area.x += depth * tree_view->priv->expander_size; From 4701aeb3bc81771654f6c6e6f5ecb994125f072f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Sun, 5 Dec 2010 14:57:08 +0100 Subject: [PATCH 0355/1463] Updated Galician translations --- po-properties/gl.po | 2350 ++++++++++++++++++++++--------------------- po/gl.po | 398 ++++---- 2 files changed, 1401 insertions(+), 1347 deletions(-) diff --git a/po-properties/gl.po b/po-properties/gl.po index 6c54be2cf2..fa261040b5 100644 --- a/po-properties/gl.po +++ b/po-properties/gl.po @@ -24,8 +24,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-properties-gl-77816____.merged\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-26 16:52+0200\n" -"PO-Revision-Date: 2010-10-26 16:58+0200\n" +"POT-Creation-Date: 2010-12-05 14:51+0100\n" +"PO-Revision-Date: 2010-12-05 14:55+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -35,63 +35,63 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdkdevice.c:99 +#: ../gdk/gdkdevice.c:113 msgid "Device Display" msgstr "Pantalla do dispositivo" -#: ../gdk/gdkdevice.c:100 +#: ../gdk/gdkdevice.c:114 msgid "Display which the device belongs to" msgstr "Pantalla á que pertence o dispositivo" -#: ../gdk/gdkdevice.c:114 +#: ../gdk/gdkdevice.c:128 msgid "Device manager" msgstr "Xestor de dispositivos" -#: ../gdk/gdkdevice.c:115 +#: ../gdk/gdkdevice.c:129 msgid "Device manager which the device belongs to" msgstr "Xestor de dispositivos ao que pertence o dispositivos" -#: ../gdk/gdkdevice.c:129 ../gdk/gdkdevice.c:130 +#: ../gdk/gdkdevice.c:143 ../gdk/gdkdevice.c:144 msgid "Device name" msgstr "Nome do dispositivo" -#: ../gdk/gdkdevice.c:144 +#: ../gdk/gdkdevice.c:158 msgid "Device type" msgstr "Tipo de dispositivo" -#: ../gdk/gdkdevice.c:145 +#: ../gdk/gdkdevice.c:159 msgid "Device role in the device manager" msgstr "Rol do dispositivo no xestor de dispositivos" -#: ../gdk/gdkdevice.c:161 +#: ../gdk/gdkdevice.c:175 msgid "Associated device" msgstr "Dispositivo asociado" -#: ../gdk/gdkdevice.c:162 +#: ../gdk/gdkdevice.c:176 msgid "Associated pointer or keyboard with this device" msgstr "Punteiro ou teclado asociado a este dispositivo" -#: ../gdk/gdkdevice.c:175 +#: ../gdk/gdkdevice.c:189 msgid "Input source" msgstr "Orixe de entrada" -#: ../gdk/gdkdevice.c:176 +#: ../gdk/gdkdevice.c:190 msgid "Source type for the device" msgstr "Tipo de orixe para o dispositivo" -#: ../gdk/gdkdevice.c:191 ../gdk/gdkdevice.c:192 +#: ../gdk/gdkdevice.c:205 ../gdk/gdkdevice.c:206 msgid "Input mode for the device" msgstr "Modo de entrada para o dispositivo" -#: ../gdk/gdkdevice.c:207 +#: ../gdk/gdkdevice.c:221 msgid "Whether the device has a cursor" msgstr "Indica se o dispositivo ten un cursor" -#: ../gdk/gdkdevice.c:208 +#: ../gdk/gdkdevice.c:222 msgid "Whether there is a visible cursor following device motion" msgstr "Indica se hai un cursor visíbel seguindo o movemento do dispositivo" -#: ../gdk/gdkdevice.c:222 ../gdk/gdkdevice.c:223 +#: ../gdk/gdkdevice.c:236 ../gdk/gdkdevice.c:237 msgid "Number of axes in the device" msgstr "Número de eixos no dispositivo" @@ -103,31 +103,31 @@ msgstr "Pantalla" msgid "Display for the device manager" msgstr "Pantalla para o xestor de dispositivos" -#: ../gdk/gdkdisplaymanager.c:101 +#: ../gdk/gdkdisplaymanager.c:106 msgid "Default Display" msgstr "Pantalla predefinida" -#: ../gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:107 msgid "The default display for GDK" msgstr "Pantalla predefinida para o GDK" -#: ../gdk/gdkscreen.c:74 +#: ../gdk/gdkscreen.c:90 msgid "Font options" msgstr "Opcións de tipo de letra" -#: ../gdk/gdkscreen.c:75 +#: ../gdk/gdkscreen.c:91 msgid "The default font options for the screen" msgstr "As opcións predefinidas do tipo de letra para a pantalla" -#: ../gdk/gdkscreen.c:82 +#: ../gdk/gdkscreen.c:98 msgid "Font resolution" msgstr "Resolución do tipo de letra" -#: ../gdk/gdkscreen.c:83 +#: ../gdk/gdkscreen.c:99 msgid "The resolution for fonts on the screen" msgstr "A resolución para os tipos de letra na pantalla" -#: ../gdk/gdkwindow.c:410 ../gdk/gdkwindow.c:411 +#: ../gdk/gdkwindow.c:393 ../gdk/gdkwindow.c:394 msgid "Cursor" msgstr "Cursor" @@ -298,9 +298,9 @@ msgstr "Nome" msgid "A unique name for the action." msgstr "Un nome único para a acción." -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:238 ../gtk/gtkexpander.c:209 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:549 ../gtk/gtkmenuitem.c:331 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:209 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Etiqueta" @@ -341,26 +341,26 @@ msgid "GIcon" msgstr "GIcon" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:320 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "A GIcon que se mostra" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:302 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:732 msgid "Icon Name" msgstr "Nome da icona" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:303 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "O nome da icona do tema de iconas" -#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "Visíbel cando é horizontal" -#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." @@ -380,11 +380,11 @@ msgstr "" "Cando é TRUE, os proxies toolitem para esta acción represéntanse no menú de " "desbordamento da barra de tarefas." -#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "Visíbel cando é vertical" -#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." @@ -392,7 +392,7 @@ msgstr "" "Indica se o elemento da barra de ferramentas é visíbel cando a barra de " "ferramentas está en orientación vertical." -#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "É importante" @@ -414,7 +414,7 @@ msgstr "" "Cando é TRUE, ocúltanse os proxies de menú baleiro para este aplicativo." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:243 ../gtk/gtkwidget.c:975 +#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:927 msgid "Sensitive" msgstr "Sensíbel" @@ -424,7 +424,7 @@ msgstr "Indica se a acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 #: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 -#: ../gtk/gtkwidget.c:968 +#: ../gtk/gtkwidget.c:920 msgid "Visible" msgstr "Visíbel" @@ -444,11 +444,11 @@ msgstr "" "O GtkActionGroup co que esta GtkAction está asociada ou NULL (para uso " "interno)." -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 msgid "Always show image" msgstr "Mostrar sempre a imaxe" -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 msgid "Whether the image will always be shown" msgstr "Indica se hai que mostrar a imaxe sempre" @@ -481,7 +481,7 @@ msgid "Whether to use the related actions appearance properties" msgstr "Cando usar as accións relacionadas coas propiedades da aparencia" #: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:289 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:291 msgid "Value" msgstr "Valor" @@ -533,7 +533,7 @@ msgstr "O tamaño de páxina do axuste" msgid "Horizontal alignment" msgstr "Aliñamento horizontal" -#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -545,7 +545,7 @@ msgstr "" msgid "Vertical alignment" msgstr "Aliñamento vertical" -#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -633,7 +633,7 @@ msgstr "Escalado de frecha" msgid "Amount of space used up by arrow" msgstr "Cantidade de espazo ocupado por frecha" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1171 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 msgid "Horizontal Alignment" msgstr "Aliñamento horizontal" @@ -641,7 +641,7 @@ msgstr "Aliñamento horizontal" msgid "X alignment of the child" msgstr "Aliñamento X do fillo" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1187 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 msgid "Vertical Alignment" msgstr "Aliñamento vertical" @@ -665,99 +665,99 @@ msgstr "Obedecer ao fillo" msgid "Force aspect ratio to match that of the frame's child" msgstr "Forzar a proporción de aspecto para que coincida coa do marco do fillo" -#: ../gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:327 msgid "Header Padding" msgstr "Recheo da cabeceira" -#: ../gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:328 msgid "Number of pixels around the header." msgstr "Número de píxeles ao redor da cabeceira." -#: ../gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:335 msgid "Content Padding" msgstr "Recheo do contido" -#: ../gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:336 msgid "Number of pixels around the content pages." msgstr "Número de píxeles ao redor das páxinas de contidos." -#: ../gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:352 msgid "Page type" msgstr "Tipo de páxina" -#: ../gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:353 msgid "The type of the assistant page" msgstr "O tipo da páxina do asistente" -#: ../gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:370 msgid "Page title" msgstr "Título da páxina" -#: ../gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:371 msgid "The title of the assistant page" msgstr "O título da páxina do asistente" -#: ../gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:387 msgid "Header image" msgstr "Imaxe de cabeceira" -#: ../gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:388 msgid "Header image for the assistant page" msgstr "Imaxe de cabeceira para a páxina do asistente" -#: ../gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image" msgstr "Imaxe da barra lateral" -#: ../gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:405 msgid "Sidebar image for the assistant page" msgstr "Imaxe da barra lateral da páxina do asistente" -#: ../gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:420 msgid "Page complete" msgstr "Páxina completa" -#: ../gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:421 msgid "Whether all required fields on the page have been filled out" msgstr "Indica se todos os campos requiridos na páxina foron cubertos" -#: ../gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "Largura mínima do fillo" -#: ../gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "A largura mínima dos botóns dentro da caixa" -#: ../gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "Altura mínima do fillo" -#: ../gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "A altura mínima dos botóns dentro da caixa" -#: ../gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "Largura interna de recheo do fillo" -#: ../gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "Cantidade na que se aumenta o tamaño do fillo por cada lado" -#: ../gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "Altura interna de recheo do fillo" -#: ../gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "Cantidade en que se aumenta o tamaño do fillo por encima e por debaixo" -#: ../gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "Estilo de disposición" -#: ../gtk/gtkbbox.c:172 +#: ../gtk/gtkbbox.c:189 msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" @@ -765,11 +765,11 @@ msgstr "" "Como dispor os botóns na caixa. Os valores posíbeis son: " "«spread» (afastados), «edge» (bordos), «start» (inicio) e «end» (final)" -#: ../gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "Secundario" -#: ../gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" @@ -777,34 +777,34 @@ msgstr "" "Se é TRUE, o fillo aparece nun grupo secundario de fillos; é útil, por " "exemplo, para botóns de axuda" -#: ../gtk/gtkbox.c:237 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:691 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:696 #: ../gtk/gtktreeviewcolumn.c:238 msgid "Spacing" msgstr "Espazamento" -#: ../gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "A cantidade de espazo entre os fillos" -#: ../gtk/gtkbox.c:247 ../gtk/gtktable.c:188 ../gtk/gtktoolbar.c:547 -#: ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homoxéneo" -#: ../gtk/gtkbox.c:248 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "Indica se todos os fillos deben ser do mesmo tamaño" -#: ../gtk/gtkbox.c:264 ../gtk/gtktoolbar.c:539 ../gtk/gtktoolitemgroup.c:1631 -#: ../gtk/gtktoolpalette.c:1065 ../gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:294 msgid "Expand" msgstr "Expandir" -#: ../gtk/gtkbox.c:265 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "Indica se o fillo debe recibir espazo adicional cando o pai crece" -#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "Encher" @@ -829,7 +829,7 @@ msgstr "" msgid "Pack type" msgstr "Tipo de empaquetado" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:786 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:795 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -837,12 +837,12 @@ msgstr "" "Un GtkPackType que indica se o fillo está empaquetado en relación ao inicio " "ou ao final do pai" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:757 ../gtk/gtkpaned.c:271 -#: ../gtk/gtkruler.c:158 ../gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:766 ../gtk/gtkpaned.c:327 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Posición" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:758 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:767 msgid "The index of the child in the parent" msgstr "O índice do fillo no pai" @@ -854,7 +854,7 @@ msgstr "Dominio de tradución" msgid "The translation domain used by gettext" msgstr "O dominio de tradución usado por gettext" -#: ../gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:227 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" @@ -862,12 +862,12 @@ msgstr "" "Texto da etiqueta do widget dentro do botón, se o botón contén unha etiqueta " "widget" -#: ../gtk/gtkbutton.c:246 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:570 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:587 #: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Usar subliñado" -#: ../gtk/gtkbutton.c:247 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:571 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:588 #: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " @@ -876,71 +876,71 @@ msgstr "" "Se se define, un subliñado no texto indica que o seguinte carácter debería " "usarse para a tecla rápida mnemónica" -#: ../gtk/gtkbutton.c:254 ../gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 msgid "Use stock" msgstr "Usar inventario" -#: ../gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:243 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "Se se estabelece, a etiqueta úsase para seleccionar un elemento do " "inventario en vez de ser mostrado" -#: ../gtk/gtkbutton.c:262 ../gtk/gtkcombobox.c:861 +#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 #: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Enfocar ao premer" -#: ../gtk/gtkbutton.c:263 ../gtk/gtkfilechooserbutton.c:384 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Indica se o botón captura o foco cando se preme co rato" -#: ../gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:258 msgid "Border relief" msgstr "Relevo do bordo" -#: ../gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:259 msgid "The border relief style" msgstr "Estilo de relevo do bordo" -#: ../gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:276 msgid "Horizontal alignment for child" msgstr "Aliñamento horizontal para o fillo" -#: ../gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:295 msgid "Vertical alignment for child" msgstr "Aliñamento vertical para o fillo" -#: ../gtk/gtkbutton.c:324 ../gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 msgid "Image widget" msgstr "Widget de imaxe" -#: ../gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:313 msgid "Child widget to appear next to the button text" msgstr "Widget fillo que aparecerá ao lado do texto do botón" -#: ../gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:327 msgid "Image position" msgstr "Posición da imaxe" -#: ../gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:328 msgid "The position of the image relative to the text" msgstr "A posición da imaxe en relación ao texto" -#: ../gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:448 msgid "Default Spacing" msgstr "Espazamento predefinido" -#: ../gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:449 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Espazo adicional que engadir para os botóns GTK_CAN_DEFAULT" -#: ../gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:463 msgid "Default Outside Spacing" msgstr "Espazamento exterior predefinido" -#: ../gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:464 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -948,31 +948,31 @@ msgstr "" "Espazo adicional que engadir para os botóns GTK_CAN_DEFAULT que son sempre " "debuxados fóra do bordo" -#: ../gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:469 msgid "Child X Displacement" msgstr "Desprazamento X do fillo" -#: ../gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:470 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" "Distancia na dirección X que debe moverse o fillo cando se solta o botón" -#: ../gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:477 msgid "Child Y Displacement" msgstr "Desprazamento Y do fillo" -#: ../gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:478 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" "Distancia na dirección Y que debe moverse o fillo cando se solta o botón" -#: ../gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:494 msgid "Displace focus" msgstr "Desprazar o foco" -#: ../gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:495 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -980,43 +980,43 @@ msgstr "" "Indica se as propiedades child_displacement_x/_y deberían afectar tamén ao " "rectángulo do foco" -#: ../gtk/gtkbutton.c:520 ../gtk/gtkentry.c:695 ../gtk/gtkentry.c:1740 +#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:786 ../gtk/gtkentry.c:1831 msgid "Inner Border" msgstr "Bordo interior" -#: ../gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:509 msgid "Border between button edges and child." msgstr "Bordo entre os bordos do botón e o fillo." -#: ../gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:522 msgid "Image spacing" msgstr "Espazamento da imaxe" -#: ../gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:523 msgid "Spacing in pixels between the image and label" msgstr "Espazamento en píxeles entre a imaxe e a etiqueta" -#: ../gtk/gtkcalendar.c:470 +#: ../gtk/gtkcalendar.c:475 msgid "Year" msgstr "Ano" -#: ../gtk/gtkcalendar.c:471 +#: ../gtk/gtkcalendar.c:476 msgid "The selected year" msgstr "O ano seleccionado" -#: ../gtk/gtkcalendar.c:484 +#: ../gtk/gtkcalendar.c:489 msgid "Month" msgstr "Mes" -#: ../gtk/gtkcalendar.c:485 +#: ../gtk/gtkcalendar.c:490 msgid "The selected month (as a number between 0 and 11)" msgstr "O mes seleccionado (como número entre 0 e 11)" -#: ../gtk/gtkcalendar.c:499 +#: ../gtk/gtkcalendar.c:504 msgid "Day" msgstr "Día" -#: ../gtk/gtkcalendar.c:500 +#: ../gtk/gtkcalendar.c:505 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1024,83 +1024,83 @@ msgstr "" "O día seleccionado (como un número entre 1 e 31 ou 0 para anular a selección " "do día seleccionado actualmente)" -#: ../gtk/gtkcalendar.c:514 +#: ../gtk/gtkcalendar.c:519 msgid "Show Heading" msgstr "Mostrar a cabeceira" -#: ../gtk/gtkcalendar.c:515 +#: ../gtk/gtkcalendar.c:520 msgid "If TRUE, a heading is displayed" msgstr "Se é TRUE, móstrase unha cabeceira" -#: ../gtk/gtkcalendar.c:529 +#: ../gtk/gtkcalendar.c:534 msgid "Show Day Names" msgstr "Mostrar os nomes dos días" -#: ../gtk/gtkcalendar.c:530 +#: ../gtk/gtkcalendar.c:535 msgid "If TRUE, day names are displayed" msgstr "Se é TRUE, móstranse os nomes dos días" -#: ../gtk/gtkcalendar.c:543 +#: ../gtk/gtkcalendar.c:548 msgid "No Month Change" msgstr "Sen cambio de mes" -#: ../gtk/gtkcalendar.c:544 +#: ../gtk/gtkcalendar.c:549 msgid "If TRUE, the selected month cannot be changed" msgstr "Se é TRUE, non será posíbel cambiar o mes seleccionado" -#: ../gtk/gtkcalendar.c:558 +#: ../gtk/gtkcalendar.c:563 msgid "Show Week Numbers" msgstr "Mostrar os números de semana" -#: ../gtk/gtkcalendar.c:559 +#: ../gtk/gtkcalendar.c:564 msgid "If TRUE, week numbers are displayed" msgstr "Se é TRUE, móstranse os números de semana" -#: ../gtk/gtkcalendar.c:574 +#: ../gtk/gtkcalendar.c:579 msgid "Details Width" msgstr "Largura dos detalles" -#: ../gtk/gtkcalendar.c:575 +#: ../gtk/gtkcalendar.c:580 msgid "Details width in characters" msgstr "A largura dos detalles en caracteres" -#: ../gtk/gtkcalendar.c:590 +#: ../gtk/gtkcalendar.c:595 msgid "Details Height" msgstr "Altura dos detalles" -#: ../gtk/gtkcalendar.c:591 +#: ../gtk/gtkcalendar.c:596 msgid "Details height in rows" msgstr "A altura dos detalles en caracteres" -#: ../gtk/gtkcalendar.c:607 +#: ../gtk/gtkcalendar.c:612 msgid "Show Details" msgstr "Mostrar os detalles" -#: ../gtk/gtkcalendar.c:608 +#: ../gtk/gtkcalendar.c:613 msgid "If TRUE, details are shown" msgstr "Se é TRUE móstranse os detalles" -#: ../gtk/gtkcalendar.c:620 +#: ../gtk/gtkcalendar.c:625 msgid "Inner border" msgstr "Bordo interior" -#: ../gtk/gtkcalendar.c:621 +#: ../gtk/gtkcalendar.c:626 msgid "Inner border space" msgstr "Espacio do bordo interior" -#: ../gtk/gtkcalendar.c:632 +#: ../gtk/gtkcalendar.c:637 msgid "Vertical separation" msgstr "Separación vertical" -#: ../gtk/gtkcalendar.c:633 +#: ../gtk/gtkcalendar.c:638 msgid "Space between day headers and main area" msgstr "Espazo entre as cabeceiras de día e o área principal" -#: ../gtk/gtkcalendar.c:644 +#: ../gtk/gtkcalendar.c:649 msgid "Horizontal separation" msgstr "Separación horizontal" -#: ../gtk/gtkcalendar.c:645 +#: ../gtk/gtkcalendar.c:650 msgid "Space between week headers and main area" msgstr "Espazo entre as cabeceiras de semana e o área principal" @@ -1144,127 +1144,127 @@ msgstr "Modo de teclas rápidas" msgid "The type of accelerators" msgstr "O tipo de teclas rápidas" -#: ../gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:266 msgid "mode" msgstr "modo" -#: ../gtk/gtkcellrenderer.c:228 +#: ../gtk/gtkcellrenderer.c:267 msgid "Editable mode of the CellRenderer" msgstr "Modo editábel do CellRenderer" -#: ../gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:275 msgid "visible" msgstr "visíbel" -#: ../gtk/gtkcellrenderer.c:237 +#: ../gtk/gtkcellrenderer.c:276 msgid "Display the cell" msgstr "Mostrar a cela" -#: ../gtk/gtkcellrenderer.c:244 +#: ../gtk/gtkcellrenderer.c:283 msgid "Display the cell sensitive" msgstr "Mostrar a cela sensíbel" -#: ../gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:290 msgid "xalign" msgstr "xalign" -#: ../gtk/gtkcellrenderer.c:252 +#: ../gtk/gtkcellrenderer.c:291 msgid "The x-align" msgstr "O aliñamento x" -#: ../gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:300 msgid "yalign" msgstr "yalign" -#: ../gtk/gtkcellrenderer.c:262 +#: ../gtk/gtkcellrenderer.c:301 msgid "The y-align" msgstr "O aliñamento y" -#: ../gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:310 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:272 +#: ../gtk/gtkcellrenderer.c:311 msgid "The xpad" msgstr "O xpad" -#: ../gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:320 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:282 +#: ../gtk/gtkcellrenderer.c:321 msgid "The ypad" msgstr "O ypad" -#: ../gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:330 msgid "width" msgstr "largura" -#: ../gtk/gtkcellrenderer.c:292 +#: ../gtk/gtkcellrenderer.c:331 msgid "The fixed width" msgstr "A largura fixa" -#: ../gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:340 msgid "height" msgstr "altura" -#: ../gtk/gtkcellrenderer.c:302 +#: ../gtk/gtkcellrenderer.c:341 msgid "The fixed height" msgstr "A altura fixa" -#: ../gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:350 msgid "Is Expander" msgstr "É expansor" -#: ../gtk/gtkcellrenderer.c:312 +#: ../gtk/gtkcellrenderer.c:351 msgid "Row has children" msgstr "A fila ten fillos" -#: ../gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:359 msgid "Is Expanded" msgstr "Está expandido" -#: ../gtk/gtkcellrenderer.c:321 +#: ../gtk/gtkcellrenderer.c:360 msgid "Row is an expander row, and is expanded" msgstr "A fila é unha fila de expansor e está expandida" -#: ../gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:367 msgid "Cell background color name" msgstr "Nome da cor de fondo da cela" -#: ../gtk/gtkcellrenderer.c:329 +#: ../gtk/gtkcellrenderer.c:368 msgid "Cell background color as a string" msgstr "Cor de fondo da cela como unha cadea" -#: ../gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:375 msgid "Cell background color" msgstr "Cor de fondo da cela" -#: ../gtk/gtkcellrenderer.c:337 +#: ../gtk/gtkcellrenderer.c:376 msgid "Cell background color as a GdkColor" msgstr "Cor de fondo da cela como unha GdkColor" -#: ../gtk/gtkcellrenderer.c:350 +#: ../gtk/gtkcellrenderer.c:389 msgid "Cell background RGBA color" msgstr "Cor de fondo RGBA da cela" -#: ../gtk/gtkcellrenderer.c:351 +#: ../gtk/gtkcellrenderer.c:390 msgid "Cell background color as a GdkRGBA" msgstr "Cor de fondo da cela como GdkRGBA" -#: ../gtk/gtkcellrenderer.c:358 +#: ../gtk/gtkcellrenderer.c:397 msgid "Editing" msgstr "Editando" -#: ../gtk/gtkcellrenderer.c:359 +#: ../gtk/gtkcellrenderer.c:398 msgid "Whether the cell renderer is currently in editing mode" msgstr "Indica se o renderizador de cela está actualmente no modo de edición" -#: ../gtk/gtkcellrenderer.c:367 +#: ../gtk/gtkcellrenderer.c:406 msgid "Cell background set" msgstr "Definición do fondo da cela" -#: ../gtk/gtkcellrenderer.c:368 +#: ../gtk/gtkcellrenderer.c:407 msgid "Whether this tag affects the cell background color" msgstr "Indica se esta etiqueta afecta á cor de fondo da cela" @@ -1284,7 +1284,7 @@ msgstr "Columna de texto" msgid "A column in the data source model to get the strings from" msgstr "Unha columna no modelo de orixe de datos da que se obteñen as cadeas" -#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:928 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 msgid "Has Entry" msgstr "Ten entrada" @@ -1316,7 +1316,7 @@ msgstr "O pixbuf do expansor pechado" msgid "Pixbuf for closed expander" msgstr "O pixbuf para o expansor pechado" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:244 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 #: ../gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "ID de inventario" @@ -1350,8 +1350,8 @@ msgstr "Seguir o estado" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica se o pixbuf renderizado debería colorearse de acordo co estado" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:319 -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:709 msgid "Icon" msgstr "Icona" @@ -1359,10 +1359,10 @@ msgstr "Icona" msgid "Value of the progress bar" msgstr "Valor da barra de progreso" -#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:233 -#: ../gtk/gtkentry.c:738 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:145 -#: ../gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:247 +#: ../gtk/gtkentry.c:829 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 msgid "Text" msgstr "Texto" @@ -1402,21 +1402,21 @@ msgstr "Aliñamento y do texto" msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "O aliñamento vertical do texto, desde 0 (superior) até 1 (inferior)." -#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:121 -#: ../gtk/gtkrange.c:433 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:440 msgid "Inverted" msgstr "Invertido" -#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:122 +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 msgid "Invert the direction in which the progress bar grows" msgstr "Inverter a dirección na que crece a barra de progreso" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:425 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:432 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:230 msgid "Adjustment" msgstr "Axuste" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:231 msgid "The adjustment that holds the value of the spin button" msgstr "O axuste que mantén o valor do botón de axuste" @@ -1424,22 +1424,23 @@ msgstr "O axuste que mantén o valor do botón de axuste" msgid "Climb rate" msgstr "Taxa de incremento" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:239 msgid "The acceleration rate when you hold down a button" msgstr "A taxa de aceleración cando mantén premido un botón" -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:244 -#: ../gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:254 +#: ../gtk/gtkspinbutton.c:248 msgid "Digits" msgstr "Díxitos" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:249 msgid "The number of decimal places to display" msgstr "O número de lugares decimais que se vai mostrar" #: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:131 ../gtk/gtktoggleaction.c:133 -#: ../gtk/gtktogglebutton.c:122 ../gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "Activo" @@ -1455,194 +1456,194 @@ msgstr "Pulso do spinner" msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "O valor do GtkIconSize que especifica o tamaño do spinner renderizado" -#: ../gtk/gtkcellrenderertext.c:234 +#: ../gtk/gtkcellrenderertext.c:248 msgid "Text to render" msgstr "Texto para renderizar" -#: ../gtk/gtkcellrenderertext.c:241 +#: ../gtk/gtkcellrenderertext.c:255 msgid "Markup" msgstr "Marcación" -#: ../gtk/gtkcellrenderertext.c:242 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Marked up text to render" msgstr "Texto marcado para renderizar" -#: ../gtk/gtkcellrenderertext.c:249 ../gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:573 msgid "Attributes" msgstr "Atributos" -#: ../gtk/gtkcellrenderertext.c:250 +#: ../gtk/gtkcellrenderertext.c:264 msgid "A list of style attributes to apply to the text of the renderer" msgstr "" "Unha lista de atributos de estilo para aplicar ao texto do renderizador" -#: ../gtk/gtkcellrenderertext.c:257 +#: ../gtk/gtkcellrenderertext.c:271 msgid "Single Paragraph Mode" msgstr "Modo de parágrafo único" -#: ../gtk/gtkcellrenderertext.c:258 +#: ../gtk/gtkcellrenderertext.c:272 msgid "Whether to keep all text in a single paragraph" msgstr "Indica se debe manterse ou non todo o texto nun só parágrafo" -#: ../gtk/gtkcellrenderertext.c:266 ../gtk/gtkcellview.c:179 +#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtkcellview.c:192 #: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "Nome da cor de fondo" -#: ../gtk/gtkcellrenderertext.c:267 ../gtk/gtkcellview.c:180 +#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtkcellview.c:193 #: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "Cor de fondo como unha cadea" -#: ../gtk/gtkcellrenderertext.c:274 ../gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:199 #: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "Cor de fondo" -#: ../gtk/gtkcellrenderertext.c:275 ../gtk/gtkcellview.c:187 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "Cor de fondo como unha GdkColor" -#: ../gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:303 msgid "Background color as RGBA" msgstr "Nome do cor de fondo como RGBA" -#: ../gtk/gtkcellrenderertext.c:290 ../gtk/gtkcellview.c:201 +#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtkcellview.c:214 msgid "Background color as a GdkRGBA" msgstr "Cor de fondo como GdkRBGA" -#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:310 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "Nome da cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "Cor de primeiro plano como unha cadea" -#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtktexttag.c:210 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:210 #: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "Cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:305 +#: ../gtk/gtkcellrenderertext.c:319 msgid "Foreground color as a GdkColor" msgstr "Cor de primeiro plano como unha GdkColor" -#: ../gtk/gtkcellrenderertext.c:319 +#: ../gtk/gtkcellrenderertext.c:333 msgid "Foreground color as RGBA" msgstr "Cor de primeiro plano como RGBA" -#: ../gtk/gtkcellrenderertext.c:320 +#: ../gtk/gtkcellrenderertext.c:334 msgid "Foreground color as a GdkRGBA" msgstr "Cor de primeiro plano como GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:328 ../gtk/gtkentry.c:662 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:667 +#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtkentry.c:753 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:686 msgid "Editable" msgstr "Editábel" -#: ../gtk/gtkcellrenderertext.c:329 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:343 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:687 msgid "Whether the text can be modified by the user" msgstr "Indica se o usuario pode modificar o texto" -#: ../gtk/gtkcellrenderertext.c:336 ../gtk/gtkcellrenderertext.c:344 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkcellrenderertext.c:358 #: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "Tipo de letra" -#: ../gtk/gtkcellrenderertext.c:337 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "" "Descrición do tipo de letra como unha cadea, por exemplo \"Sans Italic 12\"" -#: ../gtk/gtkcellrenderertext.c:345 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "Descrición do tipo de letra como unha estrutura PangoFontDescription" -#: ../gtk/gtkcellrenderertext.c:353 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "Familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:354 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:368 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "" "Nome da familia do tipo de letra, por exemplo Sans, Helvética, Times ou " "Monospace" -#: ../gtk/gtkcellrenderertext.c:361 ../gtk/gtkcellrenderertext.c:362 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtkcellrenderertext.c:376 #: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "Estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:370 ../gtk/gtkcellrenderertext.c:371 +#: ../gtk/gtkcellrenderertext.c:384 ../gtk/gtkcellrenderertext.c:385 #: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "Variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:379 ../gtk/gtkcellrenderertext.c:380 +#: ../gtk/gtkcellrenderertext.c:393 ../gtk/gtkcellrenderertext.c:394 #: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "Grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:389 ../gtk/gtkcellrenderertext.c:390 +#: ../gtk/gtkcellrenderertext.c:403 ../gtk/gtkcellrenderertext.c:404 #: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "Expandir o tipo de letra" -#: ../gtk/gtkcellrenderertext.c:398 ../gtk/gtkcellrenderertext.c:399 +#: ../gtk/gtkcellrenderertext.c:412 ../gtk/gtkcellrenderertext.c:413 #: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "Tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:408 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:422 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "Puntos do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:409 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:423 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "Tamaño do tipo de letra en puntos" -#: ../gtk/gtkcellrenderertext.c:418 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "Escala do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:419 +#: ../gtk/gtkcellrenderertext.c:433 msgid "Font scaling factor" msgstr "Factor de escalado do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:428 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:442 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "Elevación" -#: ../gtk/gtkcellrenderertext.c:429 +#: ../gtk/gtkcellrenderertext.c:443 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Desprazamento do texto sobre a liña base (por debaixo da liña base se a " "elevación é negativa)" -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:454 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "Riscado" -#: ../gtk/gtkcellrenderertext.c:441 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:455 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "Indica se se risca o texto" -#: ../gtk/gtkcellrenderertext.c:448 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "Subliñado" -#: ../gtk/gtkcellrenderertext.c:449 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "Estilo de subliñado para este texto" -#: ../gtk/gtkcellrenderertext.c:457 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "Idioma" -#: ../gtk/gtkcellrenderertext.c:458 +#: ../gtk/gtkcellrenderertext.c:472 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1652,12 +1653,12 @@ msgstr "" "isto como unha axuda cando está renderizando o texto. Se non comprende este " "parámetro probabelmente non o necesite" -#: ../gtk/gtkcellrenderertext.c:478 ../gtk/gtklabel.c:681 -#: ../gtk/gtkprogressbar.c:175 +#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:698 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Elipsis" -#: ../gtk/gtkcellrenderertext.c:479 +#: ../gtk/gtkcellrenderertext.c:493 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1665,28 +1666,28 @@ msgstr "" "O lugar preferido para a elipse a cadea, se o renderizador da cela non ten " "espazo suficiente para mostrar a cadea completa" -#: ../gtk/gtkcellrenderertext.c:498 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:719 msgid "Width In Characters" msgstr "Largura en caracteres" -#: ../gtk/gtkcellrenderertext.c:499 ../gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:720 msgid "The desired width of the label, in characters" msgstr "A largura desexada da etiqueta, en caracteres" -#: ../gtk/gtkcellrenderertext.c:523 ../gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:780 msgid "Maximum Width In Characters" msgstr "Largura máxima en caracteres" -#: ../gtk/gtkcellrenderertext.c:524 +#: ../gtk/gtkcellrenderertext.c:538 msgid "The maximum width of the cell, in characters" msgstr "A largura máxima da cela, en caracteres" -#: ../gtk/gtkcellrenderertext.c:542 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:556 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "Modo de axuste" -#: ../gtk/gtkcellrenderertext.c:543 +#: ../gtk/gtkcellrenderertext.c:557 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1694,149 +1695,149 @@ msgstr "" "Como romper a cadea en liñas múltiples, se o renderizador da cela non ten " "suficiente espazo para mostrar a cadea completa" -#: ../gtk/gtkcellrenderertext.c:562 ../gtk/gtkcombobox.c:750 +#: ../gtk/gtkcellrenderertext.c:576 ../gtk/gtkcombobox.c:754 msgid "Wrap width" msgstr "Largura de axuste" -#: ../gtk/gtkcellrenderertext.c:563 +#: ../gtk/gtkcellrenderertext.c:577 msgid "The width at which the text is wrapped" msgstr "A largura á que o texto se axustará" -#: ../gtk/gtkcellrenderertext.c:583 ../gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktreeviewcolumn.c:319 msgid "Alignment" msgstr "Aliñamento" -#: ../gtk/gtkcellrenderertext.c:584 +#: ../gtk/gtkcellrenderertext.c:598 msgid "How to align the lines" msgstr "Como aliñar as liñas" -#: ../gtk/gtkcellrenderertext.c:596 ../gtk/gtkcellview.c:223 +#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtkcellview.c:236 #: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "Definición do fondo" -#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtkcellview.c:224 +#: ../gtk/gtkcellrenderertext.c:611 ../gtk/gtkcellview.c:237 #: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "Indica se esta marca afecta á cor de fondo" -#: ../gtk/gtkcellrenderertext.c:600 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "Definición do primeiro plano" -#: ../gtk/gtkcellrenderertext.c:601 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:615 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "Indica se esta marca afecta á cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:604 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "Definición da editabilidade" -#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "Indica se esta marca afecta á editabilidade do texto" -#: ../gtk/gtkcellrenderertext.c:608 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "Definición da familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:609 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "Indica se esta marca afecta á familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:612 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "Definición do estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:613 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "Indica se esta marca afecta ao estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:616 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "Definición da variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:617 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "Indica se esta marca afecta á variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:620 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "Definición do grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:621 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "Indica se esta marca afecta ao grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:624 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "Definición da expansión do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:625 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "Indica se esta marca afecta á expansión do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:628 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "Definición do tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:629 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "Indica se esta marca afecta ao tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:632 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "Definición da escala do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:633 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "Indica se esta etiqueta escala o tamaño do tipo de letra por un factor" -#: ../gtk/gtkcellrenderertext.c:636 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "Definición da elevación" -#: ../gtk/gtkcellrenderertext.c:637 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "Indica se esta marca afecta á elevación" -#: ../gtk/gtkcellrenderertext.c:640 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "Definición do riscado" -#: ../gtk/gtkcellrenderertext.c:641 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "Indica se esta marca afecta ao riscado" -#: ../gtk/gtkcellrenderertext.c:644 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "Definición do subliñado" -#: ../gtk/gtkcellrenderertext.c:645 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "Indica se esta marca afecta ao subliñado" -#: ../gtk/gtkcellrenderertext.c:648 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "Definición do idioma" -#: ../gtk/gtkcellrenderertext.c:649 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "Indica se esta marca afecta ao idioma en que se renderiza o texto" -#: ../gtk/gtkcellrenderertext.c:652 +#: ../gtk/gtkcellrenderertext.c:666 msgid "Ellipsize set" msgstr "Definición da elipse" -#: ../gtk/gtkcellrenderertext.c:653 +#: ../gtk/gtkcellrenderertext.c:667 msgid "Whether this tag affects the ellipsize mode" msgstr "Indica se esta marca afecta ao modo de elipse" -#: ../gtk/gtkcellrenderertext.c:656 +#: ../gtk/gtkcellrenderertext.c:670 msgid "Align set" msgstr "Definición de aliñamento" -#: ../gtk/gtkcellrenderertext.c:657 +#: ../gtk/gtkcellrenderertext.c:671 msgid "Whether this tag affects the alignment mode" msgstr "Indica se esta marca afecta ao modo de aliñamento" @@ -1876,32 +1877,32 @@ msgstr "Debuxar o botón de estado como un botón de opción" msgid "Indicator size" msgstr "Tamaño do indicador" -#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:72 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 #: ../gtk/gtkcheckmenuitem.c:129 msgid "Size of check or radio indicator" msgstr "Tamaño do indicador de opción ou de verificación" -#: ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:213 msgid "Background RGBA color" msgstr "Cor de fondo RGBA" -#: ../gtk/gtkcellview.c:215 +#: ../gtk/gtkcellview.c:228 msgid "CellView model" msgstr "Modelo CellView" -#: ../gtk/gtkcellview.c:216 +#: ../gtk/gtkcellview.c:229 msgid "The model for cell view" msgstr "O modelo para a visualización de cela" -#: ../gtk/gtkcheckbutton.c:71 ../gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 msgid "Indicator Size" msgstr "Tamaño do indicador" -#: ../gtk/gtkcheckbutton.c:79 ../gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:267 msgid "Indicator Spacing" msgstr "Espazamento do indicador" -#: ../gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:86 msgid "Spacing around check or radio indicator" msgstr "Espazamento ao redor do indicador de opción ou de verificación" @@ -1909,7 +1910,7 @@ msgstr "Espazamento ao redor do indicador de opción ou de verificación" msgid "Whether the menu item is checked" msgstr "Indica se o elemento de menú está seleccionado" -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:130 +#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inconsistente" @@ -1927,81 +1928,81 @@ msgstr "" "Indica se a aparencia do elemento de menú é como un elemento do menú de " "opción" -#: ../gtk/gtkcolorbutton.c:158 +#: ../gtk/gtkcolorbutton.c:171 msgid "Use alpha" msgstr "Usar alfa" -#: ../gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:172 msgid "Whether to give the color an alpha value" msgstr "Indica se debe dárselle ou non un valor alfa á cor" -#: ../gtk/gtkcolorbutton.c:173 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 #: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 #: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:286 msgid "Title" msgstr "Título" -#: ../gtk/gtkcolorbutton.c:174 +#: ../gtk/gtkcolorbutton.c:187 msgid "The title of the color selection dialog" msgstr "O título do diálogo de selección da cor" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorsel.c:325 +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:339 msgid "Current Color" msgstr "Cor actual" -#: ../gtk/gtkcolorbutton.c:189 +#: ../gtk/gtkcolorbutton.c:202 msgid "The selected color" msgstr "A cor seleccionada" -#: ../gtk/gtkcolorbutton.c:203 ../gtk/gtkcolorsel.c:332 +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:346 msgid "Current Alpha" msgstr "Alfa actual" -#: ../gtk/gtkcolorbutton.c:204 +#: ../gtk/gtkcolorbutton.c:217 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "O valor de opacidade actual (0 é completamente transparente; 65535 é " "completamente opaco)" -#: ../gtk/gtkcolorbutton.c:218 +#: ../gtk/gtkcolorbutton.c:231 msgid "Current RGBA Color" msgstr "Cor RGBA actual" -#: ../gtk/gtkcolorbutton.c:219 +#: ../gtk/gtkcolorbutton.c:232 msgid "The selected RGBA color" msgstr "A cor RGBA seleccionada" -#: ../gtk/gtkcolorsel.c:311 +#: ../gtk/gtkcolorsel.c:325 msgid "Has Opacity Control" msgstr "Ten un control de opacidade" -#: ../gtk/gtkcolorsel.c:312 +#: ../gtk/gtkcolorsel.c:326 msgid "Whether the color selector should allow setting opacity" msgstr "Indica se o selector de cor pode permitir seleccionar a opacidade" -#: ../gtk/gtkcolorsel.c:318 +#: ../gtk/gtkcolorsel.c:332 msgid "Has palette" msgstr "Ten unha paleta" -#: ../gtk/gtkcolorsel.c:319 +#: ../gtk/gtkcolorsel.c:333 msgid "Whether a palette should be used" msgstr "Indica se se pode usar unha paleta" -#: ../gtk/gtkcolorsel.c:326 +#: ../gtk/gtkcolorsel.c:340 msgid "The current color" msgstr "A cor actual" -#: ../gtk/gtkcolorsel.c:333 +#: ../gtk/gtkcolorsel.c:347 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "O valor de opacidade actual (0 é completamente transparente, 65535 é " "completamente opaco)" -#: ../gtk/gtkcolorsel.c:347 +#: ../gtk/gtkcolorsel.c:361 msgid "Current RGBA" msgstr "RGBA actual" -#: ../gtk/gtkcolorsel.c:348 +#: ../gtk/gtkcolorsel.c:362 msgid "The current RGBA color" msgstr "A cor RGBA actual" @@ -2037,68 +2038,68 @@ msgstr "Botón Axuda" msgid "The help button of the dialog." msgstr "O botón Axuda do diálogo." -#: ../gtk/gtkcombobox.c:733 +#: ../gtk/gtkcombobox.c:737 msgid "ComboBox model" msgstr "Modelo de caixa de combinación" -#: ../gtk/gtkcombobox.c:734 +#: ../gtk/gtkcombobox.c:738 msgid "The model for the combo box" msgstr "O modelo para a caixa de combinación" -#: ../gtk/gtkcombobox.c:751 +#: ../gtk/gtkcombobox.c:755 msgid "Wrap width for laying out the items in a grid" msgstr "Largura de axuste para distribuír os elementos nunha grade" -#: ../gtk/gtkcombobox.c:773 +#: ../gtk/gtkcombobox.c:777 msgid "Row span column" msgstr "Columna de expansión da fila" -#: ../gtk/gtkcombobox.c:774 +#: ../gtk/gtkcombobox.c:778 msgid "TreeModel column containing the row span values" msgstr "Columna TreeModel que contén os valores de expansión da fila" -#: ../gtk/gtkcombobox.c:795 +#: ../gtk/gtkcombobox.c:799 msgid "Column span column" msgstr "Columna de expansión da columna" -#: ../gtk/gtkcombobox.c:796 +#: ../gtk/gtkcombobox.c:800 msgid "TreeModel column containing the column span values" msgstr "Columna TreeModel que contén os valores de expansión da columna" -#: ../gtk/gtkcombobox.c:817 +#: ../gtk/gtkcombobox.c:821 msgid "Active item" msgstr "Elemento activo" -#: ../gtk/gtkcombobox.c:818 +#: ../gtk/gtkcombobox.c:822 msgid "The item which is currently active" msgstr "O elemento que está activo actualmente" -#: ../gtk/gtkcombobox.c:837 ../gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 msgid "Add tearoffs to menus" msgstr "Engadir tiradores aos menús" -#: ../gtk/gtkcombobox.c:838 +#: ../gtk/gtkcombobox.c:842 msgid "Whether dropdowns should have a tearoff menu item" msgstr "" "Indica se os menús despregábeis deben ter un elemento de menú desprazábel" -#: ../gtk/gtkcombobox.c:853 ../gtk/gtkentry.c:687 +#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:778 msgid "Has Frame" msgstr "Ten marco" -#: ../gtk/gtkcombobox.c:854 +#: ../gtk/gtkcombobox.c:858 msgid "Whether the combo box draws a frame around the child" msgstr "Indica se a caixa de combinación debuxa un marco ao redor do fillo" -#: ../gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:866 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Indica se a caixa de combinación captura o foco cando se preme co rato" -#: ../gtk/gtkcombobox.c:877 ../gtk/gtkmenu.c:575 +#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 msgid "Tearoff Title" msgstr "Título do tirador" -#: ../gtk/gtkcombobox.c:878 +#: ../gtk/gtkcombobox.c:882 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" @@ -2106,31 +2107,31 @@ msgstr "" "Un título que o xestor de xanelas pode mostrar cando o menú emerxente se " "separa" -#: ../gtk/gtkcombobox.c:895 +#: ../gtk/gtkcombobox.c:899 msgid "Popup shown" msgstr "Menú emerxente mostrado" -#: ../gtk/gtkcombobox.c:896 +#: ../gtk/gtkcombobox.c:900 msgid "Whether the combo's dropdown is shown" msgstr "Indica se se mostra o despregábel da caixa de combinación" -#: ../gtk/gtkcombobox.c:912 +#: ../gtk/gtkcombobox.c:916 msgid "Button Sensitivity" msgstr "Sensibilidade do botón" -#: ../gtk/gtkcombobox.c:913 +#: ../gtk/gtkcombobox.c:917 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Indica se o botón despregábel é sensíbel cando o modelo está baleiro" -#: ../gtk/gtkcombobox.c:929 +#: ../gtk/gtkcombobox.c:933 msgid "Whether combo box has an entry" msgstr "Indica se o ComboBox ten unha entrada" -#: ../gtk/gtkcombobox.c:944 +#: ../gtk/gtkcombobox.c:948 msgid "Entry Text Column" msgstr "Columna de entrada de texto" -#: ../gtk/gtkcombobox.c:945 +#: ../gtk/gtkcombobox.c:949 msgid "" "The column in the combo box's model to associate with strings from the entry " "if the combo was created with #GtkComboBox:has-entry = %TRUE" @@ -2138,11 +2139,31 @@ msgstr "" "A columna no modelo de caixa de combinación para asociar con cadeas da " "entrada se a caixa combinada creouse con #GtkComboBox:has-entry = %TRUE" -#: ../gtk/gtkcombobox.c:962 +#: ../gtk/gtkcombobox.c:966 +msgid "ID Column" +msgstr "ID da columna" + +#: ../gtk/gtkcombobox.c:967 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "" +"A columna no modelo de caixa de combinación que fornece os ID de cadeas para " +"os valores no modelo" + +#: ../gtk/gtkcombobox.c:982 +msgid "Active id" +msgstr "ID activo" + +#: ../gtk/gtkcombobox.c:983 +msgid "The value of the id column for the active row" +msgstr "O valor do ID da columna para a fila activa" + +#: ../gtk/gtkcombobox.c:998 msgid "Popup Fixed Width" msgstr "Anchura fixa de emerxente" -#: ../gtk/gtkcombobox.c:963 +#: ../gtk/gtkcombobox.c:999 msgid "" "Whether the popup's width should be a fixed width matching the allocated " "width of the combo box" @@ -2150,53 +2171,53 @@ msgstr "" "Indica se a anchura do emerxente debería ser fixa coincidindo coa anchura " "reservada para a caixa de combinación" -#: ../gtk/gtkcombobox.c:971 +#: ../gtk/gtkcombobox.c:1007 msgid "Appears as list" msgstr "Móstrase como unha lista" -#: ../gtk/gtkcombobox.c:972 +#: ../gtk/gtkcombobox.c:1008 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Indica se os despregábeis deben parecerse a listas en vez de a menús" -#: ../gtk/gtkcombobox.c:988 +#: ../gtk/gtkcombobox.c:1024 msgid "Arrow Size" msgstr "Tamaño da frecha" -#: ../gtk/gtkcombobox.c:989 +#: ../gtk/gtkcombobox.c:1025 msgid "The minimum size of the arrow in the combo box" msgstr "O tamaño mínimo da frecha no caixa de combinación" -#: ../gtk/gtkcombobox.c:1004 ../gtk/gtkentry.c:787 ../gtk/gtkhandlebox.c:182 -#: ../gtk/gtkmenubar.c:189 ../gtk/gtkstatusbar.c:178 ../gtk/gtktoolbar.c:597 -#: ../gtk/gtkviewport.c:155 +#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:878 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "Tipo de sombra" -#: ../gtk/gtkcombobox.c:1005 +#: ../gtk/gtkcombobox.c:1041 msgid "Which kind of shadow to draw around the combo box" msgstr "A clase de sombra que se debuxa ao redor da caixa de combinación" -#: ../gtk/gtkcontainer.c:472 +#: ../gtk/gtkcontainer.c:476 msgid "Resize mode" msgstr "Modo de redimensionamento" -#: ../gtk/gtkcontainer.c:473 +#: ../gtk/gtkcontainer.c:477 msgid "Specify how resize events are handled" msgstr "Especifica como se manipulan os eventos de redimensionamento" -#: ../gtk/gtkcontainer.c:480 +#: ../gtk/gtkcontainer.c:484 msgid "Border width" msgstr "Largura do bordo" -#: ../gtk/gtkcontainer.c:481 +#: ../gtk/gtkcontainer.c:485 msgid "The width of the empty border outside the containers children" msgstr "A largura do bordo baleiro fóra dos contedores fillos" -#: ../gtk/gtkcontainer.c:489 +#: ../gtk/gtkcontainer.c:493 msgid "Child" msgstr "Fillo" -#: ../gtk/gtkcontainer.c:490 +#: ../gtk/gtkcontainer.c:494 msgid "Can be used to add a new child to the container" msgstr "Pode usarse para engadir un fillo novo ao contedor" @@ -2234,48 +2255,48 @@ msgstr "" "Largura do bordo ao redor da área do botón na parte inferior da caixa de " "diálogo" -#: ../gtk/gtkentry.c:634 +#: ../gtk/gtkentry.c:725 msgid "Text Buffer" msgstr "Búfer de texto" -#: ../gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:726 msgid "Text buffer object which actually stores entry text" msgstr "Obxecto de búfer de texto que almacena actualmente a entrada de texto" -#: ../gtk/gtkentry.c:642 ../gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:661 msgid "Cursor Position" msgstr "Posición do cursor" -#: ../gtk/gtkentry.c:643 ../gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "The current position of the insertion cursor in chars" msgstr "A posición actual do cursor de inserción en caracteres" -#: ../gtk/gtkentry.c:652 ../gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:671 msgid "Selection Bound" msgstr "Límite da selección" -#: ../gtk/gtkentry.c:653 ../gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "A posición en caracteres do extremo oposto da selección desde o cursor" -#: ../gtk/gtkentry.c:663 +#: ../gtk/gtkentry.c:754 msgid "Whether the entry contents can be edited" msgstr "Indica se os contidos da entrada se poden editar" -#: ../gtk/gtkentry.c:670 ../gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:761 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Lonxitude máxima" -#: ../gtk/gtkentry.c:671 ../gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Número máximo de caracteres nesta entrada. É cero se non hai un máximo" -#: ../gtk/gtkentry.c:679 +#: ../gtk/gtkentry.c:770 msgid "Visibility" msgstr "Visibilidade" -#: ../gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:771 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2283,32 +2304,32 @@ msgstr "" "FALSE mostra o \"carácter invisíbel\" en lugar do texto actual (no modo " "contrasinal)" -#: ../gtk/gtkentry.c:688 +#: ../gtk/gtkentry.c:779 msgid "FALSE removes outside bevel from entry" msgstr "FALSE elimina o bisel exterior da entrada" -#: ../gtk/gtkentry.c:696 +#: ../gtk/gtkentry.c:787 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" "Bordo entre o texto e o marco. Sobreponse á propiedade de estilo do bordo " "interno" -#: ../gtk/gtkentry.c:703 ../gtk/gtkentry.c:1269 +#: ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1360 msgid "Invisible character" msgstr "Carácter invisíbel" -#: ../gtk/gtkentry.c:704 ../gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "O carácter que usar cando se oculten os contidos da entrada (no \"modo de " "contrasinal\")" -#: ../gtk/gtkentry.c:711 +#: ../gtk/gtkentry.c:802 msgid "Activates default" msgstr "Activa o predefinido" -#: ../gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:803 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2316,32 +2337,32 @@ msgstr "" "Indica se se debe activar o widget predefinido (como o botón predefinido " "nunha caixa de diálogo) cando se prema a tecla Intro" -#: ../gtk/gtkentry.c:718 +#: ../gtk/gtkentry.c:809 msgid "Width in chars" msgstr "Largura en caracteres" -#: ../gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:810 msgid "Number of characters to leave space for in the entry" msgstr "Número de caracteres para os que deixar espazo na entrada" -#: ../gtk/gtkentry.c:728 +#: ../gtk/gtkentry.c:819 msgid "Scroll offset" msgstr "Compensación do desprazamento" -#: ../gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:820 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "" "Número de píxeles da entrada desprazados fóra da pantalla e cara á esquerda" -#: ../gtk/gtkentry.c:739 +#: ../gtk/gtkentry.c:830 msgid "The contents of the entry" msgstr "Os contidos da entrada" -#: ../gtk/gtkentry.c:754 ../gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:845 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "Aliñamento X" -#: ../gtk/gtkentry.c:755 ../gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2349,66 +2370,66 @@ msgstr "" "O aliñamento horizontal, desde 0 (esquerda) até 1 (dereita). Ao revés para " "disposicións DAE." -#: ../gtk/gtkentry.c:771 +#: ../gtk/gtkentry.c:862 msgid "Truncate multiline" msgstr "Truncar multiliña" -#: ../gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:863 msgid "Whether to truncate multiline pastes to one line." msgstr "Indica se se truncan as accións de pegar multiliñas nunha liña." -#: ../gtk/gtkentry.c:788 +#: ../gtk/gtkentry.c:879 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" "Que tipo de sombra debuxar ao redor da entrada cando has-frame está activado" -#: ../gtk/gtkentry.c:803 ../gtk/gtktextview.c:747 +#: ../gtk/gtkentry.c:894 ../gtk/gtktextview.c:766 msgid "Overwrite mode" msgstr "Modo de sobrescritura" -#: ../gtk/gtkentry.c:804 +#: ../gtk/gtkentry.c:895 msgid "Whether new text overwrites existing text" msgstr "Indica se o texto novo sobrescribe o texto existente" -#: ../gtk/gtkentry.c:818 ../gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:909 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Lonxitude de texto" -#: ../gtk/gtkentry.c:819 +#: ../gtk/gtkentry.c:910 msgid "Length of the text currently in the entry" msgstr "A lonxitude do texto que está actualmente na entrada" -#: ../gtk/gtkentry.c:834 +#: ../gtk/gtkentry.c:925 msgid "Invisible character set" msgstr "Conxunto de caracteres invisíbel" -#: ../gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:926 msgid "Whether the invisible character has been set" msgstr "Indica se o carácter invisíbel foi definido" -#: ../gtk/gtkentry.c:853 +#: ../gtk/gtkentry.c:944 msgid "Caps Lock warning" msgstr "Aviso de Bloq Maiús" -#: ../gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:945 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "" "Indica se as entradas de contrasinal mostrarán un aviso cando Bloq Maiús " "estea activado" -#: ../gtk/gtkentry.c:868 +#: ../gtk/gtkentry.c:959 msgid "Progress Fraction" msgstr "Fracción de progreso" -#: ../gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:960 msgid "The current fraction of the task that's been completed" msgstr "A fracción actual da tarefa que está terminada" -#: ../gtk/gtkentry.c:886 +#: ../gtk/gtkentry.c:977 msgid "Progress Pulse Step" msgstr "Paso de pulso de progreso" -#: ../gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:978 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2416,169 +2437,169 @@ msgstr "" "A fracción total da largura da entrada para mover o bloque de rebote de " "progreso para cada chamada a gtk_entry_progress_pulse()" -#: ../gtk/gtkentry.c:903 +#: ../gtk/gtkentry.c:994 msgid "Primary pixbuf" msgstr "Pixbuf primario" -#: ../gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf for the entry" msgstr "O pixbuf primario para a entrada" -#: ../gtk/gtkentry.c:918 +#: ../gtk/gtkentry.c:1009 msgid "Secondary pixbuf" msgstr "Pixbuf secundario" -#: ../gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf for the entry" msgstr "O pixbuf secundario para a entrada" -#: ../gtk/gtkentry.c:933 +#: ../gtk/gtkentry.c:1024 msgid "Primary stock ID" msgstr "ID de inventario primario" -#: ../gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:1025 msgid "Stock ID for primary icon" msgstr "O ID de inventario para a icona primaria" -#: ../gtk/gtkentry.c:948 +#: ../gtk/gtkentry.c:1039 msgid "Secondary stock ID" msgstr "ID de inventario secundario" -#: ../gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:1040 msgid "Stock ID for secondary icon" msgstr "O ID de inventario para a icona secundaria" -#: ../gtk/gtkentry.c:963 +#: ../gtk/gtkentry.c:1054 msgid "Primary icon name" msgstr "Nome de icona primaria" -#: ../gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1055 msgid "Icon name for primary icon" msgstr "O nome de icona para a icona primaria" -#: ../gtk/gtkentry.c:978 +#: ../gtk/gtkentry.c:1069 msgid "Secondary icon name" msgstr "Nome de icona secundaria" -#: ../gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1070 msgid "Icon name for secondary icon" msgstr "O nome de icona para a icona secundaria" -#: ../gtk/gtkentry.c:993 +#: ../gtk/gtkentry.c:1084 msgid "Primary GIcon" msgstr "GIcon primaria" -#: ../gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1085 msgid "GIcon for primary icon" msgstr "O nome para a GIcon primaria" -#: ../gtk/gtkentry.c:1008 +#: ../gtk/gtkentry.c:1099 msgid "Secondary GIcon" msgstr "GIcon secundaria" -#: ../gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1100 msgid "GIcon for secondary icon" msgstr "O nome para a GIcon secundaria" -#: ../gtk/gtkentry.c:1023 +#: ../gtk/gtkentry.c:1114 msgid "Primary storage type" msgstr "Tipo de almacenamento primario" -#: ../gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1115 msgid "The representation being used for primary icon" msgstr "A representación usada para a icona primaria" -#: ../gtk/gtkentry.c:1039 +#: ../gtk/gtkentry.c:1130 msgid "Secondary storage type" msgstr "Tipo de almacenamento secundario" -#: ../gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1131 msgid "The representation being used for secondary icon" msgstr "A representación usada para a icona secundaria" -#: ../gtk/gtkentry.c:1061 +#: ../gtk/gtkentry.c:1152 msgid "Primary icon activatable" msgstr "Icona primaria activábel" -#: ../gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1153 msgid "Whether the primary icon is activatable" msgstr "Indica se a icona primaria é activábel" -#: ../gtk/gtkentry.c:1082 +#: ../gtk/gtkentry.c:1173 msgid "Secondary icon activatable" msgstr "Icona secundaria activábel" -#: ../gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1174 msgid "Whether the secondary icon is activatable" msgstr "Indica se a icona secundaria é activábel" -#: ../gtk/gtkentry.c:1105 +#: ../gtk/gtkentry.c:1196 msgid "Primary icon sensitive" msgstr "Sensibilidade da icona primaria" -#: ../gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1197 msgid "Whether the primary icon is sensitive" msgstr "Indica se a icona primaria é sensíbel" -#: ../gtk/gtkentry.c:1127 +#: ../gtk/gtkentry.c:1218 msgid "Secondary icon sensitive" msgstr "Sensibilidade da icona secundaria" -#: ../gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1219 msgid "Whether the secondary icon is sensitive" msgstr "Indica se a icona secundaria é sensíbel" -#: ../gtk/gtkentry.c:1144 +#: ../gtk/gtkentry.c:1235 msgid "Primary icon tooltip text" msgstr "Texto da indicación da icona primaria" -#: ../gtk/gtkentry.c:1145 ../gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1236 ../gtk/gtkentry.c:1272 msgid "The contents of the tooltip on the primary icon" msgstr "O contido da indicación da icona primaria" -#: ../gtk/gtkentry.c:1161 +#: ../gtk/gtkentry.c:1252 msgid "Secondary icon tooltip text" msgstr "Texto da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1162 ../gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1253 ../gtk/gtkentry.c:1291 msgid "The contents of the tooltip on the secondary icon" msgstr "O contido da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1180 +#: ../gtk/gtkentry.c:1271 msgid "Primary icon tooltip markup" msgstr "Marcación da indicación da icona primaria" -#: ../gtk/gtkentry.c:1199 +#: ../gtk/gtkentry.c:1290 msgid "Secondary icon tooltip markup" msgstr "Marcación da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1219 ../gtk/gtktextview.c:775 +#: ../gtk/gtkentry.c:1310 ../gtk/gtktextview.c:794 msgid "IM module" msgstr "Módulo MI" -#: ../gtk/gtkentry.c:1220 ../gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:795 msgid "Which IM module should be used" msgstr "O módulo de MI que se debería usar" -#: ../gtk/gtkentry.c:1234 +#: ../gtk/gtkentry.c:1325 msgid "Icon Prelight" msgstr "Iluminación previa da icona" -#: ../gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1326 msgid "Whether activatable icons should prelight when hovered" msgstr "" "Indica se as iconas activábeis se deberían iluminar previamente ao pasar o " "rato por encima" -#: ../gtk/gtkentry.c:1248 +#: ../gtk/gtkentry.c:1339 msgid "Progress Border" msgstr "Bordo do progreso" -#: ../gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1340 msgid "Border around the progress bar" msgstr "O bordo ao redor da barra de progreso" -#: ../gtk/gtkentry.c:1741 +#: ../gtk/gtkentry.c:1832 msgid "Border between text and frame." msgstr "Bordo entre o texto e o marco." @@ -2606,7 +2627,7 @@ msgstr "Lonxitude mínima da chave" msgid "Minimum length of the search key in order to look up matches" msgstr "Lonxitude mínima da chave de busca para encontrar coincidencias" -#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:612 +#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "Columna de texto" @@ -2690,11 +2711,11 @@ msgstr "Indica se o expansor foi aberto para deixar ver o widget fillo" msgid "Text of the expander's label" msgstr "Texto da etiqueta do expansor" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:580 msgid "Use markup" msgstr "Usar a marcación" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:581 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "O texto da etiqueta inclúe marcación XML. Vexa pango_parse_markup()" @@ -2703,7 +2724,7 @@ msgid "Space to put between the label and the child" msgstr "Espazo para pór entre a etiqueta e o fillo" #: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 -#: ../gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Widget etiqueta" @@ -2720,13 +2741,13 @@ msgid "Whether the label widget should fill all available horizontal space" msgstr "" "Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" -#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1606 -#: ../gtk/gtktreeview.c:770 +#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:863 msgid "Expander Size" msgstr "Tamaño do expansor" -#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1607 -#: ../gtk/gtktreeview.c:771 +#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:864 msgid "Size of the expander arrow" msgstr "Tamaño da frecha do expansor" @@ -2852,19 +2873,19 @@ msgstr "" "Indica se un selector de ficheiros sen estar en modo aberto lle ofrecerá ao " "usuario crear cartafoles novos." -#: ../gtk/gtkfixed.c:98 ../gtk/gtklayout.c:610 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 msgid "X position" msgstr "Posición X" -#: ../gtk/gtkfixed.c:99 ../gtk/gtklayout.c:611 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "Posición X do widget fillo" -#: ../gtk/gtkfixed.c:108 ../gtk/gtklayout.c:620 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 msgid "Y position" msgstr "Posición Y" -#: ../gtk/gtkfixed.c:109 ../gtk/gtklayout.c:621 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "Posición Y do widget fillo" @@ -2961,23 +2982,23 @@ msgstr "Aparencia do bordo do marco" msgid "A widget to display in place of the usual frame label" msgstr "Un widget para mostrar en lugar da etiqueta de marco habitual" -#: ../gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:189 msgid "Appearance of the shadow that surrounds the container" msgstr "Aparencia da sombra que rodea o contedor" -#: ../gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:197 msgid "Handle position" msgstr "Posición do manipulador" -#: ../gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:198 msgid "Position of the handle relative to the child widget" msgstr "Posición do manipulador en relación ao widget fillo" -#: ../gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:206 msgid "Snap edge" msgstr "Axustar ao bordo" -#: ../gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:207 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -2985,11 +3006,11 @@ msgstr "" "Lado da caixa manipuladora que está aliñado co punto de ancoraxe, para " "ancorar a caixa manipuladora" -#: ../gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:215 msgid "Snap edge set" msgstr "Definición do axuste de bordo" -#: ../gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:216 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -2997,11 +3018,11 @@ msgstr "" "Indica se se usa o valor da propiedade snap_edge ou un valor derivado de " "handle_position" -#: ../gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:223 msgid "Child Detached" msgstr "Fillo separado" -#: ../gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:224 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -3009,218 +3030,218 @@ msgstr "" "Un valor booleano que indica se a caixa de manipulación do fillo está " "separada ou anexada." -#: ../gtk/gtkiconview.c:575 +#: ../gtk/gtkiconview.c:580 msgid "Selection mode" msgstr "Modo de selección" -#: ../gtk/gtkiconview.c:576 +#: ../gtk/gtkiconview.c:581 msgid "The selection mode" msgstr "O modo de selección" -#: ../gtk/gtkiconview.c:594 +#: ../gtk/gtkiconview.c:599 msgid "Pixbuf column" msgstr "Columna de pixbuf" -#: ../gtk/gtkiconview.c:595 +#: ../gtk/gtkiconview.c:600 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Columna modelo usada para recuperar o pixbuf da icona" -#: ../gtk/gtkiconview.c:613 +#: ../gtk/gtkiconview.c:618 msgid "Model column used to retrieve the text from" msgstr "Columna modelo usada para recuperar o texto" -#: ../gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:637 msgid "Markup column" msgstr "Columna de marcación" -#: ../gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:638 msgid "Model column used to retrieve the text if using Pango markup" msgstr "" "Columna modelo usada para recuperar o texto se se emprega a marcación Pango" -#: ../gtk/gtkiconview.c:640 +#: ../gtk/gtkiconview.c:645 msgid "Icon View Model" msgstr "Modelo de visualización de icona" -#: ../gtk/gtkiconview.c:641 +#: ../gtk/gtkiconview.c:646 msgid "The model for the icon view" msgstr "O modelo para a visualización de icona" -#: ../gtk/gtkiconview.c:657 +#: ../gtk/gtkiconview.c:662 msgid "Number of columns" msgstr "Número de columnas" -#: ../gtk/gtkiconview.c:658 +#: ../gtk/gtkiconview.c:663 msgid "Number of columns to display" msgstr "O número de columnas que se mostran" -#: ../gtk/gtkiconview.c:675 +#: ../gtk/gtkiconview.c:680 msgid "Width for each item" msgstr "Largura de cada elemento" -#: ../gtk/gtkiconview.c:676 +#: ../gtk/gtkiconview.c:681 msgid "The width used for each item" msgstr "A largura usada para cada elemento" -#: ../gtk/gtkiconview.c:692 +#: ../gtk/gtkiconview.c:697 msgid "Space which is inserted between cells of an item" msgstr "Espazo que se introduce entre as celas dun elemento" -#: ../gtk/gtkiconview.c:707 +#: ../gtk/gtkiconview.c:712 msgid "Row Spacing" msgstr "Espazamento de fila" -#: ../gtk/gtkiconview.c:708 +#: ../gtk/gtkiconview.c:713 msgid "Space which is inserted between grid rows" msgstr "Espazo que se introduce entre as filas da grade" -#: ../gtk/gtkiconview.c:723 +#: ../gtk/gtkiconview.c:728 msgid "Column Spacing" msgstr "Espazamento de columna" -#: ../gtk/gtkiconview.c:724 +#: ../gtk/gtkiconview.c:729 msgid "Space which is inserted between grid columns" msgstr "Espazo que se introduce entre as columnas da grade" -#: ../gtk/gtkiconview.c:739 +#: ../gtk/gtkiconview.c:744 msgid "Margin" msgstr "Marxe" -#: ../gtk/gtkiconview.c:740 +#: ../gtk/gtkiconview.c:745 msgid "Space which is inserted at the edges of the icon view" msgstr "Espazo que se insire nos bordos da visualización de icona" -#: ../gtk/gtkiconview.c:755 +#: ../gtk/gtkiconview.c:760 msgid "Item Orientation" msgstr "Orientación do elemento" -#: ../gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:761 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" "Como se sitúan o texto e a icona de cada elemento en relación un ao outro" -#: ../gtk/gtkiconview.c:772 ../gtk/gtktreeview.c:605 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:698 #: ../gtk/gtktreeviewcolumn.c:329 msgid "Reorderable" msgstr "Reordenábel" -#: ../gtk/gtkiconview.c:773 ../gtk/gtktreeview.c:606 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:699 msgid "View is reorderable" msgstr "A visualización é reordenábel" -#: ../gtk/gtkiconview.c:780 ../gtk/gtktreeview.c:756 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:849 msgid "Tooltip Column" msgstr "Columna de indicación" -#: ../gtk/gtkiconview.c:781 +#: ../gtk/gtkiconview.c:786 msgid "The column in the model containing the tooltip texts for the items" msgstr "" "A columna do modelo que contén os textos de indicación para os elementos" -#: ../gtk/gtkiconview.c:798 +#: ../gtk/gtkiconview.c:803 msgid "Item Padding" msgstr "Recheo de ítem" -#: ../gtk/gtkiconview.c:799 +#: ../gtk/gtkiconview.c:804 msgid "Padding around icon view items" msgstr "Recheo arredor dos ítems de iconas" -#: ../gtk/gtkiconview.c:812 +#: ../gtk/gtkiconview.c:817 msgid "Selection Box Color" msgstr "Cor da caixa de selección" -#: ../gtk/gtkiconview.c:813 +#: ../gtk/gtkiconview.c:818 msgid "Color of the selection box" msgstr "Cor da caixa de selección" -#: ../gtk/gtkiconview.c:819 +#: ../gtk/gtkiconview.c:824 msgid "Selection Box Alpha" msgstr "Alfa da caixa de selección" -#: ../gtk/gtkiconview.c:820 +#: ../gtk/gtkiconview.c:825 msgid "Opacity of the selection box" msgstr "Opacidade da caixa de selección" -#: ../gtk/gtkimage.c:227 ../gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "Pixbuf" -#: ../gtk/gtkimage.c:228 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "Un GdkPixbuf para mostrar" -#: ../gtk/gtkimage.c:235 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 #: ../gtk/gtkstatusicon.c:220 msgid "Filename" msgstr "Nome do ficheiro" -#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "Nome de ficheiro para cargar e mostrar" -#: ../gtk/gtkimage.c:245 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "ID de inventario para unha imaxe de inventario para mostrar" -#: ../gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:258 msgid "Icon set" msgstr "Definición da icona" -#: ../gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:259 msgid "Icon set to display" msgstr "Definición da icona para mostrar" -#: ../gtk/gtkimage.c:260 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:514 -#: ../gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolpalette.c:1030 msgid "Icon size" msgstr "Tamaño da icona" -#: ../gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:267 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Tamaño simbólico que usar para a icona de inventario, conxunto de iconas ou " "icona con nome" -#: ../gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:283 msgid "Pixel size" msgstr "Tamaño do píxel" -#: ../gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:284 msgid "Pixel size to use for named icon" msgstr "Tamaño do píxel que usar para a icona con nome" -#: ../gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:292 msgid "Animation" msgstr "Animación" -#: ../gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:293 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation para mostrar" -#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "Tipo de almacenamento" -#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "A representación empregada para as informacións de imaxe" -#: ../gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:149 msgid "Child widget to appear next to the menu text" msgstr "Widget fillo que aparecerá ao lado do texto de menú" -#: ../gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:164 msgid "Whether to use the label text to create a stock menu item" msgstr "" "Indica se hai que usar a etiqueta de texto para crear un elemento de menú de " "inventario" -#: ../gtk/gtkimagemenuitem.c:187 ../gtk/gtkmenu.c:535 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 msgid "Accel Group" msgstr "Grupo de teclas rápidas" -#: ../gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:198 msgid "The Accel Group to use for stock accelerator keys" msgstr "O grupo de teclas rápidas para usar nas teclas rápidas de inventario" @@ -3245,27 +3266,27 @@ msgid "Width of border around the action area" msgstr "Largura do bordo arredor da área de acción" #: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 msgid "Screen" msgstr "Pantalla" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:742 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 msgid "The screen where this window will be displayed" msgstr "A pantalla onde se mostrará esta xanela" -#: ../gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:567 msgid "The text of the label" msgstr "O texto da etiqueta" -#: ../gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:574 msgid "A list of style attributes to apply to the text of the label" msgstr "Unha lista de atributos de estilos para aplicar ao texto da etiqueta" -#: ../gtk/gtklabel.c:578 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:684 +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "Xustificación" -#: ../gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:596 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3275,11 +3296,11 @@ msgstr "" "NON afecta ao aliñamento da etiqueta dentro da súa asignación Ver GtkMisc::" "xalign para iso" -#: ../gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:604 msgid "Pattern" msgstr "Patrón" -#: ../gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:605 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3287,47 +3308,47 @@ msgstr "" "Unha cadea con caracteres _ en posicións correspondentes a caracteres no " "texto para subliñar" -#: ../gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:612 msgid "Line wrap" msgstr "Axuste de liña" -#: ../gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:613 msgid "If set, wrap lines if the text becomes too wide" msgstr "Se se define, axusta a liña se o texto se volve demasiado largo" -#: ../gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:628 msgid "Line wrap mode" msgstr "Modo de axuste de liña" -#: ../gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:629 msgid "If wrap is set, controls how linewrapping is done" msgstr "Se se estabelece o axuste, controla como se fai o axuste de liña" -#: ../gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:636 msgid "Selectable" msgstr "Seleccionábel" -#: ../gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:637 msgid "Whether the label text can be selected with the mouse" msgstr "Indica se o texto da etiqueta pode ser seleccionado co rato" -#: ../gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:643 msgid "Mnemonic key" msgstr "Tecla mnemónica" -#: ../gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:644 msgid "The mnemonic accelerator key for this label" msgstr "A tecla rápida mnemónica para esta etiqueta" -#: ../gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:652 msgid "Mnemonic widget" msgstr "Widget mnemónico" -#: ../gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:653 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "O widget que se activará cando se prema a tecla mnemónica da etiqueta" -#: ../gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:699 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3335,47 +3356,47 @@ msgstr "" "O lugar preferido para a elipse da cadea, se a etiqueta non ten suficiente " "espazo para mostrar a cadea completa" -#: ../gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:740 msgid "Single Line Mode" msgstr "Modo de liña única" -#: ../gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:741 msgid "Whether the label is in single line mode" msgstr "Indica se a etiqueta está no modo de liña única" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:758 msgid "Angle" msgstr "Ángulo" -#: ../gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:759 msgid "Angle at which the label is rotated" msgstr "Ángulo sobre o que se rota a etiqueta" -#: ../gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:781 msgid "The desired maximum width of the label, in characters" msgstr "A largura máxima desexada da etiqueta, en caracteres" -#: ../gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:799 msgid "Track visited links" msgstr "Rexistrar as ligazóns visitadas" -#: ../gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:800 msgid "Whether visited links should be tracked" msgstr "Indica se as ligazóns visitadas deberían ser rexistradas" -#: ../gtk/gtklayout.c:636 ../gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:229 msgid "Width" msgstr "Largura" -#: ../gtk/gtklayout.c:637 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "A largura da disposición" -#: ../gtk/gtklayout.c:645 +#: ../gtk/gtklayout.c:668 msgid "Height" msgstr "Altura" -#: ../gtk/gtklayout.c:646 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "A altura da disposición" @@ -3395,31 +3416,31 @@ msgstr "Visitada" msgid "Whether this link has been visited." msgstr "Indica se esta ligazón foi visitada." -#: ../gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:170 msgid "Pack direction" msgstr "Dirección do empaquetado" -#: ../gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:171 msgid "The pack direction of the menubar" msgstr "A dirección do empaquetado da barra de menú" -#: ../gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:187 msgid "Child Pack direction" msgstr "Dirección do empaquetado fillo" -#: ../gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:188 msgid "The child pack direction of the menubar" msgstr "A dirección do empaquetado fillo da barra de menú" -#: ../gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:197 msgid "Style of bevel around the menubar" msgstr "Estilo do bisel ao redor da barra de menús" -#: ../gtk/gtkmenubar.c:197 ../gtk/gtktoolbar.c:564 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 msgid "Internal padding" msgstr "Recheo interno" -#: ../gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:205 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "" "Cantidade de espazo do bordo entre a sombra da barra de menús e os elementos " @@ -3546,7 +3567,7 @@ msgstr "Indica onde se deberían colocar as frechas de desprazamento" msgid "Left Attach" msgstr "Anexar á esquerda" -#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:197 +#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "A cantidade de columnas para anexar ao lado esquerdo do fillo" @@ -3570,7 +3591,7 @@ msgstr "O número de filas para anexar encima do fillo" msgid "Bottom Attach" msgstr "Anexar abaixo" -#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:218 +#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "O número de filas para anexar debaixo do fillo" @@ -3621,11 +3642,11 @@ msgstr "Largura en caracteres" msgid "The minimum desired width of the menu item in characters" msgstr "A largura mínima desexada do elemento de menú en caracteres" -#: ../gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:381 msgid "Take Focus" msgstr "Obtén o foco" -#: ../gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:382 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Un booleano que determina se o menú captura o foco do teclado" @@ -3747,53 +3768,53 @@ msgstr "Se estamos mostrando un diálogo" msgid "The screen where this window will be displayed." msgstr "A pantalla onde esta xanela se mostrará." -#: ../gtk/gtknotebook.c:682 +#: ../gtk/gtknotebook.c:691 msgid "Page" msgstr "Páxina" -#: ../gtk/gtknotebook.c:683 +#: ../gtk/gtknotebook.c:692 msgid "The index of the current page" msgstr "O índice da páxina actual" -#: ../gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:700 msgid "Tab Position" msgstr "Posición do separador" -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:701 msgid "Which side of the notebook holds the tabs" msgstr "Que lado do caderno contén os separadores" -#: ../gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:708 msgid "Show Tabs" msgstr "Mostrar separadores" -#: ../gtk/gtknotebook.c:700 +#: ../gtk/gtknotebook.c:709 msgid "Whether tabs should be shown" msgstr "Indica se os separadores deben mostrarse ou non" -#: ../gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:715 msgid "Show Border" msgstr "Mostrar bordo" -#: ../gtk/gtknotebook.c:707 +#: ../gtk/gtknotebook.c:716 msgid "Whether the border should be shown" msgstr "Indica se o bordo debe mostrarse ou non" -#: ../gtk/gtknotebook.c:713 +#: ../gtk/gtknotebook.c:722 msgid "Scrollable" msgstr "Desprazábel" -#: ../gtk/gtknotebook.c:714 +#: ../gtk/gtknotebook.c:723 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Se é TRUE, engádense frechas de desprazamento se hai demasiados separadores " "para encaixar" -#: ../gtk/gtknotebook.c:720 +#: ../gtk/gtknotebook.c:729 msgid "Enable Popup" msgstr "Activar o menú emerxente" -#: ../gtk/gtknotebook.c:721 +#: ../gtk/gtknotebook.c:730 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3801,126 +3822,126 @@ msgstr "" "Se é TRUE, premendo o botón dereito do rato no caderno emerxe un menú que " "pode usar para ir a unha páxina" -#: ../gtk/gtknotebook.c:735 +#: ../gtk/gtknotebook.c:744 msgid "Group Name" msgstr "Nome do grupo" -#: ../gtk/gtknotebook.c:736 +#: ../gtk/gtknotebook.c:745 msgid "Group name for tab drag and drop" msgstr "Nome do grupo para o arrastre e solte dos separadores" -#: ../gtk/gtknotebook.c:743 +#: ../gtk/gtknotebook.c:752 msgid "Tab label" msgstr "Etiqueta de separador" -#: ../gtk/gtknotebook.c:744 +#: ../gtk/gtknotebook.c:753 msgid "The string displayed on the child's tab label" msgstr "A cadea mostrada na etiqueta do separador fillo" -#: ../gtk/gtknotebook.c:750 +#: ../gtk/gtknotebook.c:759 msgid "Menu label" msgstr "Etiqueta de menú" -#: ../gtk/gtknotebook.c:751 +#: ../gtk/gtknotebook.c:760 msgid "The string displayed in the child's menu entry" msgstr "A cadea mostrada na entrada de menú filla" -#: ../gtk/gtknotebook.c:764 +#: ../gtk/gtknotebook.c:773 msgid "Tab expand" msgstr "Expansión do separador" -#: ../gtk/gtknotebook.c:765 +#: ../gtk/gtknotebook.c:774 msgid "Whether to expand the child's tab" msgstr "Indica se se expanden os separadores fillos ou non" -#: ../gtk/gtknotebook.c:771 +#: ../gtk/gtknotebook.c:780 msgid "Tab fill" msgstr "Recheo de separador" -#: ../gtk/gtknotebook.c:772 +#: ../gtk/gtknotebook.c:781 msgid "Whether the child's tab should fill the allocated area" msgstr "Indica se os separadores fillos deberían encher a área asignada ou non" -#: ../gtk/gtknotebook.c:785 +#: ../gtk/gtknotebook.c:794 msgid "Tab pack type" msgstr "Tipo de empaquetado de separador" -#: ../gtk/gtknotebook.c:792 +#: ../gtk/gtknotebook.c:801 msgid "Tab reorderable" msgstr "Separador reordenábel" -#: ../gtk/gtknotebook.c:793 +#: ../gtk/gtknotebook.c:802 msgid "Whether the tab is reorderable by user action" msgstr "" "Indica se o separador se pode ou non reordenar por unha acción do usuario" -#: ../gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:808 msgid "Tab detachable" msgstr "Separador desprazábel" -#: ../gtk/gtknotebook.c:800 +#: ../gtk/gtknotebook.c:809 msgid "Whether the tab is detachable" msgstr "Indica se o separador é desprazábel" -#: ../gtk/gtknotebook.c:815 ../gtk/gtkscrollbar.c:105 +#: ../gtk/gtknotebook.c:824 ../gtk/gtkscrollbar.c:105 msgid "Secondary backward stepper" msgstr "Paso de retroceso secundario" -#: ../gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:825 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Mostra un segundo botón de frecha de retroceso no extremo oposto da área de " "tabulación" -#: ../gtk/gtknotebook.c:831 ../gtk/gtkscrollbar.c:112 +#: ../gtk/gtknotebook.c:840 ../gtk/gtkscrollbar.c:112 msgid "Secondary forward stepper" msgstr "Paso de avance secundario" -#: ../gtk/gtknotebook.c:832 +#: ../gtk/gtknotebook.c:841 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Mostra un segundo botón de frecha de avance no extremo oposto da área de " "tabulación" -#: ../gtk/gtknotebook.c:846 ../gtk/gtkscrollbar.c:91 +#: ../gtk/gtknotebook.c:855 ../gtk/gtkscrollbar.c:91 msgid "Backward stepper" msgstr "Paso de retroceso" -#: ../gtk/gtknotebook.c:847 ../gtk/gtkscrollbar.c:92 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:92 msgid "Display the standard backward arrow button" msgstr "Mostrar o botón estándar de frecha de retroceso" -#: ../gtk/gtknotebook.c:861 ../gtk/gtkscrollbar.c:98 +#: ../gtk/gtknotebook.c:870 ../gtk/gtkscrollbar.c:98 msgid "Forward stepper" msgstr "Paso de avance" -#: ../gtk/gtknotebook.c:862 ../gtk/gtkscrollbar.c:99 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:99 msgid "Display the standard forward arrow button" msgstr "Mostrar o botón estándar de frecha de avance" -#: ../gtk/gtknotebook.c:876 +#: ../gtk/gtknotebook.c:885 msgid "Tab overlap" msgstr "Superposición de separador" -#: ../gtk/gtknotebook.c:877 +#: ../gtk/gtknotebook.c:886 msgid "Size of tab overlap area" msgstr "Tamaño da área de superposición do separador" -#: ../gtk/gtknotebook.c:892 +#: ../gtk/gtknotebook.c:901 msgid "Tab curvature" msgstr "Curvatura do separador" -#: ../gtk/gtknotebook.c:893 +#: ../gtk/gtknotebook.c:902 msgid "Size of tab curvature" msgstr "Tamaño da curvatura do separador" -#: ../gtk/gtknotebook.c:909 +#: ../gtk/gtknotebook.c:918 msgid "Arrow spacing" msgstr "Espazamento de frechas" -#: ../gtk/gtknotebook.c:910 +#: ../gtk/gtknotebook.c:919 msgid "Scroll arrow spacing" msgstr "Espazamento das frechas de desprazamento" @@ -3933,58 +3954,58 @@ msgstr "Orientación" msgid "The orientation of the orientable" msgstr "A orientación do orientábel" -#: ../gtk/gtkpaned.c:272 +#: ../gtk/gtkpaned.c:328 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" "Posición do separador de sección en píxeles (0 significa todo o traxecto " "cara á esquerda ou arriba)" -#: ../gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:337 msgid "Position Set" msgstr "Definición de posición" -#: ../gtk/gtkpaned.c:282 +#: ../gtk/gtkpaned.c:338 msgid "TRUE if the Position property should be used" msgstr "É TRUE se a propiedade de posición debe ser usada" -#: ../gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:344 msgid "Handle Size" msgstr "Tamaño do manipulador" -#: ../gtk/gtkpaned.c:289 +#: ../gtk/gtkpaned.c:345 msgid "Width of handle" msgstr "Largura do manipulador" -#: ../gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:361 msgid "Minimal Position" msgstr "Posición mínima" -#: ../gtk/gtkpaned.c:306 +#: ../gtk/gtkpaned.c:362 msgid "Smallest possible value for the \"position\" property" msgstr "O valor máis pequeno posíbel para a propiedade \"posición\"" -#: ../gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:379 msgid "Maximal Position" msgstr "Posición máxima" -#: ../gtk/gtkpaned.c:324 +#: ../gtk/gtkpaned.c:380 msgid "Largest possible value for the \"position\" property" msgstr "O valor máis grande posíbel para a propiedade \"posición\"" -#: ../gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:397 msgid "Resize" msgstr "Redimensionar" -#: ../gtk/gtkpaned.c:342 +#: ../gtk/gtkpaned.c:398 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "Se é TRUE, o fillo expándese e redúcese xunto coa sección do widget" -#: ../gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:413 msgid "Shrink" msgstr "Reducir" -#: ../gtk/gtkpaned.c:358 +#: ../gtk/gtkpaned.c:414 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Se é TRUE, o fillo pode facerse máis pequeno que a súa solicitude" @@ -4311,36 +4332,36 @@ msgstr "" "TRUE se as caixas de combinación da configuración de páxina están " "incorporadas no GtkPrintUnixDialog" -#: ../gtk/gtkprogressbar.c:129 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "Fracción" -#: ../gtk/gtkprogressbar.c:130 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "A fracción do traballo total que se completou" -#: ../gtk/gtkprogressbar.c:137 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "Paso de pulso" -#: ../gtk/gtkprogressbar.c:138 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "" "A fracción do progreso total para mover o bloque rebotador cando se preme" -#: ../gtk/gtkprogressbar.c:146 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "Texto que se mostrará na barra de progreso" -#: ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "Mostrar texto" -#: ../gtk/gtkprogressbar.c:154 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "Indica se o progreso se mostra como texto." -#: ../gtk/gtkprogressbar.c:176 +#: ../gtk/gtkprogressbar.c:208 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4348,51 +4369,51 @@ msgstr "" "O lugar preferido para a elipse da cadea, se a barra de progreso non ten " "espazo suficiente para mostrar a cadea completa." -#: ../gtk/gtkprogressbar.c:183 +#: ../gtk/gtkprogressbar.c:215 msgid "X spacing" msgstr "Espazamento X" -#: ../gtk/gtkprogressbar.c:184 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "Espazo extra aplicado á largura dunha barra de progreso." -#: ../gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:221 msgid "Y spacing" msgstr "Espazamento Y" -#: ../gtk/gtkprogressbar.c:190 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "Un espazamento extra aplicado á altura dunha barra de progreso." -#: ../gtk/gtkprogressbar.c:203 +#: ../gtk/gtkprogressbar.c:235 msgid "Minimum horizontal bar width" msgstr "Largura horizontal mínima da barra" -#: ../gtk/gtkprogressbar.c:204 +#: ../gtk/gtkprogressbar.c:236 msgid "The minimum horizontal width of the progress bar" msgstr "A largura horizontal mínima da barra de progreso" -#: ../gtk/gtkprogressbar.c:216 +#: ../gtk/gtkprogressbar.c:248 msgid "Minimum horizontal bar height" msgstr "Altura horizontal mínima da barra" -#: ../gtk/gtkprogressbar.c:217 +#: ../gtk/gtkprogressbar.c:249 msgid "Minimum horizontal height of the progress bar" msgstr "A altura horizontal mínima da barra de progreso" -#: ../gtk/gtkprogressbar.c:229 +#: ../gtk/gtkprogressbar.c:261 msgid "Minimum vertical bar width" msgstr "Largura vertical mínima da barra" -#: ../gtk/gtkprogressbar.c:230 +#: ../gtk/gtkprogressbar.c:262 msgid "The minimum vertical width of the progress bar" msgstr "A largura vertical mínima da barra de progreso" -#: ../gtk/gtkprogressbar.c:242 +#: ../gtk/gtkprogressbar.c:274 msgid "Minimum vertical bar height" msgstr "Altura vertical mínima da barra" -#: ../gtk/gtkprogressbar.c:243 +#: ../gtk/gtkprogressbar.c:275 msgid "The minimum vertical height of the progress bar" msgstr "A altura vertical mínima da barra de progreso" @@ -4408,7 +4429,7 @@ msgstr "" "O valor devolto por gtk_radio_action_get_current_value() cando esta acción é " "a acción actual do seu grupo." -#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:160 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 #: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "Grupo" @@ -4429,7 +4450,7 @@ msgstr "" "A propiedade do valor do membro actualmente activo do grupo ao que esta " "acción pertence." -#: ../gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:164 msgid "The radio button whose group this widget belongs to." msgstr "O botón de opción a cuxo grupo pertence este widget." @@ -4441,29 +4462,29 @@ msgstr "O elemento do menú de opción a cuxo grupo pertence este widget." msgid "The radio tool button whose group this button belongs to." msgstr "O botón de ferramenta de opción a cuxo grupo pertence este botón." -#: ../gtk/gtkrange.c:416 +#: ../gtk/gtkrange.c:423 msgid "Update policy" msgstr "Política de actualización" -#: ../gtk/gtkrange.c:417 +#: ../gtk/gtkrange.c:424 msgid "How the range should be updated on the screen" msgstr "Como se debe actualizar o intervalo na pantalla" -#: ../gtk/gtkrange.c:426 +#: ../gtk/gtkrange.c:433 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "O GtkAdjustment que contén o valor actual deste intervalo de obxectos" -#: ../gtk/gtkrange.c:434 +#: ../gtk/gtkrange.c:441 msgid "Invert direction slider moves to increase range value" msgstr "" "Inverter a dirección en que se move o control desprazábel para incrementar o " "valor do intervalo" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:448 msgid "Lower stepper sensitivity" msgstr "Sensibilidade de paso inferior" -#: ../gtk/gtkrange.c:442 +#: ../gtk/gtkrange.c:449 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4471,11 +4492,11 @@ msgstr "" "A política de sensibilidade para o paso que apunta ao lado máis baixo do " "axuste" -#: ../gtk/gtkrange.c:450 +#: ../gtk/gtkrange.c:457 msgid "Upper stepper sensitivity" msgstr "Sensibilidade do paso superior" -#: ../gtk/gtkrange.c:451 +#: ../gtk/gtkrange.c:458 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4483,89 +4504,89 @@ msgstr "" "A política de sensibilidade para o paso que apunta ao lado máis alto do " "axuste" -#: ../gtk/gtkrange.c:468 +#: ../gtk/gtkrange.c:475 msgid "Show Fill Level" msgstr "Mostrar nivel de recheo" -#: ../gtk/gtkrange.c:469 +#: ../gtk/gtkrange.c:476 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" "Indica se se debe mostrar o indicador gráfico de nivel de recheo mentres se " "enche." -#: ../gtk/gtkrange.c:485 +#: ../gtk/gtkrange.c:492 msgid "Restrict to Fill Level" msgstr "Restrinxir ao nivel de recheo" -#: ../gtk/gtkrange.c:486 +#: ../gtk/gtkrange.c:493 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Indica se se debe restrinxir o bordo superior ao nivel de recheo." -#: ../gtk/gtkrange.c:501 +#: ../gtk/gtkrange.c:508 msgid "Fill Level" msgstr "Nivel de recheo" -#: ../gtk/gtkrange.c:502 +#: ../gtk/gtkrange.c:509 msgid "The fill level." msgstr "O nivel de recheo." -#: ../gtk/gtkrange.c:510 +#: ../gtk/gtkrange.c:517 ../gtk/gtkswitch.c:772 msgid "Slider Width" msgstr "Largura do control desprazábel" -#: ../gtk/gtkrange.c:511 +#: ../gtk/gtkrange.c:518 msgid "Width of scrollbar or scale thumb" msgstr "Largura da barra de desprazamento ou do indicador de escala" -#: ../gtk/gtkrange.c:518 +#: ../gtk/gtkrange.c:525 msgid "Trough Border" msgstr "Bordo do canal" -#: ../gtk/gtkrange.c:519 +#: ../gtk/gtkrange.c:526 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "" "Espazamento entre o indicador de escala ou os pasos e o bisel do canal " "exterior" -#: ../gtk/gtkrange.c:526 +#: ../gtk/gtkrange.c:533 msgid "Stepper Size" msgstr "Tamaño do paso" -#: ../gtk/gtkrange.c:527 +#: ../gtk/gtkrange.c:534 msgid "Length of step buttons at ends" msgstr "Lonxitude dos botóns de paso nos extremos" -#: ../gtk/gtkrange.c:542 +#: ../gtk/gtkrange.c:549 msgid "Stepper Spacing" msgstr "Espazamento do paso" -#: ../gtk/gtkrange.c:543 +#: ../gtk/gtkrange.c:550 msgid "Spacing between step buttons and thumb" msgstr "Espazamento entre os botóns de paso e o indicador de escala" -#: ../gtk/gtkrange.c:550 +#: ../gtk/gtkrange.c:557 msgid "Arrow X Displacement" msgstr "Desprazamento X da frecha" -#: ../gtk/gtkrange.c:551 +#: ../gtk/gtkrange.c:558 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "Até onde se move a frecha na dirección X cando se solta o botón" -#: ../gtk/gtkrange.c:558 +#: ../gtk/gtkrange.c:565 msgid "Arrow Y Displacement" msgstr "Desprazamento Y da frecha" -#: ../gtk/gtkrange.c:559 +#: ../gtk/gtkrange.c:566 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "Até onde se move a frecha na dirección Y cando se solta o botón" -#: ../gtk/gtkrange.c:577 +#: ../gtk/gtkrange.c:584 msgid "Trough Under Steppers" msgstr "Canal baixo os pasos" -#: ../gtk/gtkrange.c:578 +#: ../gtk/gtkrange.c:585 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4573,11 +4594,11 @@ msgstr "" "Indica se se debuxa para toda a lonxitude do intervalo ou se exclúe os pasos " "e o espazamento" -#: ../gtk/gtkrange.c:591 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling" msgstr "Escalado de frecha" -#: ../gtk/gtkrange.c:592 +#: ../gtk/gtkrange.c:599 msgid "Arrow scaling with regard to scroll button size" msgstr "O escalado da frecha con atención ao tamaño do botón de desprazamento" @@ -4674,43 +4695,6 @@ msgstr "" msgid "The size of the recently used resources list" msgstr "O tamaño da lista de recursos usados recentemente" -# verificar: High= alta e low= baixa -#: ../gtk/gtkruler.c:138 -msgid "Lower" -msgstr "Inferior" - -#: ../gtk/gtkruler.c:139 -msgid "Lower limit of ruler" -msgstr "Límite inferior da regra" - -#: ../gtk/gtkruler.c:148 -msgid "Upper" -msgstr "Superior" - -#: ../gtk/gtkruler.c:149 -msgid "Upper limit of ruler" -msgstr "Límite superior da regra" - -#: ../gtk/gtkruler.c:159 -msgid "Position of mark on the ruler" -msgstr "Posición da marca na regra" - -#: ../gtk/gtkruler.c:168 -msgid "Max Size" -msgstr "Tamaño máximo" - -#: ../gtk/gtkruler.c:169 -msgid "Maximum size of the ruler" -msgstr "Tamaño máximo da regra" - -#: ../gtk/gtkruler.c:184 -msgid "Metric" -msgstr "Métrica" - -#: ../gtk/gtkruler.c:185 -msgid "The metric used for the ruler" -msgstr "A métrica que se usa na regra" - #: ../gtk/gtkscalebutton.c:221 msgid "The value of the scale" msgstr "O valor da escala" @@ -4733,41 +4717,41 @@ msgstr "Iconas" msgid "List of icon names" msgstr "Lista dos nomes de iconas" -#: ../gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:255 msgid "The number of decimal places that are displayed in the value" msgstr "O número de lugares decimais que se mostran no valor" -#: ../gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:264 msgid "Draw Value" msgstr "Valor de debuxo" -#: ../gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:265 msgid "Whether the current value is displayed as a string next to the slider" msgstr "" "Indica se o valor actual se mostra como unha cadea contigua ao control " "desprazábel" -#: ../gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:272 msgid "Value Position" msgstr "Posición do valor" -#: ../gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:273 msgid "The position in which the current value is displayed" msgstr "A posición na que se mostra o valor actual" -#: ../gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:280 msgid "Slider Length" msgstr "Lonxitude do control desprazábel" -#: ../gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:281 msgid "Length of scale's slider" msgstr "Lonxitude da escala do control desprazábel" -#: ../gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:289 msgid "Value spacing" msgstr "Espazamento do valor" -#: ../gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:290 msgid "Space between value text and the slider/trough area" msgstr "" "Espazo entre os valores de texto e a área do control desprazábel ou o canal" @@ -4903,19 +4887,19 @@ msgid "" "The minimum height that the scrolled window will allocate to its content" msgstr "A altura mínima que a xanela desprazada reservará para o seu contido" -#: ../gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "Debuxar" -#: ../gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "Indica se se debuxa o separador ou se se deixa en branco" -#: ../gtk/gtksettings.c:241 +#: ../gtk/gtksettings.c:285 msgid "Double Click Time" msgstr "Tempo do dobre clic" -#: ../gtk/gtksettings.c:242 +#: ../gtk/gtksettings.c:286 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4923,11 +4907,11 @@ msgstr "" "Tempo máximo permitido entre dous clics para ser considerados como un clic " "dobre (en milisegundos)" -#: ../gtk/gtksettings.c:249 +#: ../gtk/gtksettings.c:293 msgid "Double Click Distance" msgstr "Distancia do dobre clic" -#: ../gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:294 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4935,36 +4919,36 @@ msgstr "" "Distancia máxima permitida entre dous clics para ser considerados como un " "dobre clic (en píxeles)" -#: ../gtk/gtksettings.c:266 +#: ../gtk/gtksettings.c:310 msgid "Cursor Blink" msgstr "Intermitencia do cursor" -#: ../gtk/gtksettings.c:267 +#: ../gtk/gtksettings.c:311 msgid "Whether the cursor should blink" msgstr "Indica se o cursor debe pestanexar" -#: ../gtk/gtksettings.c:274 +#: ../gtk/gtksettings.c:318 msgid "Cursor Blink Time" msgstr "Tempo de intermitencia do cursor" -#: ../gtk/gtksettings.c:275 +#: ../gtk/gtksettings.c:319 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Duración do ciclo de intermitencia do cursor, en milisegundos" -#: ../gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:338 msgid "Cursor Blink Timeout" msgstr "Tempo de intermitencia do cursor" -#: ../gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:339 msgid "Time after which the cursor stops blinking, in seconds" msgstr "" "Duración a partir de que se detén a intermitencia do cursor, en segundos" -#: ../gtk/gtksettings.c:302 +#: ../gtk/gtksettings.c:346 msgid "Split Cursor" msgstr "Cursor dividido" -#: ../gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:347 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4972,157 +4956,157 @@ msgstr "" "Indica se se deben mostrar dous cursores para o texto mesturado de esquerda " "a dereita e de dereita a esquerda" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:354 msgid "Theme Name" msgstr "Nome do tema" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:355 msgid "Name of theme RC file to load" msgstr "Nome do ficheiro de tema RC para cargar" -#: ../gtk/gtksettings.c:319 +#: ../gtk/gtksettings.c:363 msgid "Icon Theme Name" msgstr "Nome do tema de iconas" -#: ../gtk/gtksettings.c:320 +#: ../gtk/gtksettings.c:364 msgid "Name of icon theme to use" msgstr "Nome do tema de iconas para usar" -#: ../gtk/gtksettings.c:328 +#: ../gtk/gtksettings.c:372 msgid "Fallback Icon Theme Name" msgstr "Nome do tema de iconas do modo de emerxencia" -#: ../gtk/gtksettings.c:329 +#: ../gtk/gtksettings.c:373 msgid "Name of a icon theme to fall back to" msgstr "Nome do tema de iconas que usar cando o escollido falle" -#: ../gtk/gtksettings.c:337 +#: ../gtk/gtksettings.c:381 msgid "Key Theme Name" msgstr "Nome do tema principal" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:382 msgid "Name of key theme RC file to load" msgstr "Nome do ficheiro de tema RC principal para cargar" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:390 msgid "Menu bar accelerator" msgstr "Tecla rápida da barra de menús" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:391 msgid "Keybinding to activate the menu bar" msgstr "Combinación de teclas para activar a barra de menús" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:399 msgid "Drag threshold" msgstr "Límite de arrastre" -#: ../gtk/gtksettings.c:356 +#: ../gtk/gtksettings.c:400 msgid "Number of pixels the cursor can move before dragging" msgstr "Número de píxeles que o cursor pode mover antes de iniciar o arrastre" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:408 msgid "Font Name" msgstr "Nome do tipo de letra" -#: ../gtk/gtksettings.c:365 +#: ../gtk/gtksettings.c:409 msgid "Name of default font to use" msgstr "Nome do tipo de letra predefinido que usar" -#: ../gtk/gtksettings.c:387 +#: ../gtk/gtksettings.c:431 msgid "Icon Sizes" msgstr "Tamaño das iconas" -#: ../gtk/gtksettings.c:388 +#: ../gtk/gtksettings.c:432 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Lista dos tamaños das iconas (gtk-menu=16,16:gtk-button=20,20..." -#: ../gtk/gtksettings.c:396 +#: ../gtk/gtksettings.c:440 msgid "GTK Modules" msgstr "Módulos GTK" -#: ../gtk/gtksettings.c:397 +#: ../gtk/gtksettings.c:441 msgid "List of currently active GTK modules" msgstr "Lista dos módulos GTK actualmente activos" -#: ../gtk/gtksettings.c:406 +#: ../gtk/gtksettings.c:450 msgid "Xft Antialias" msgstr "Suavizado Xft" -#: ../gtk/gtksettings.c:407 +#: ../gtk/gtksettings.c:451 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica se se suavizan os bordos dos tipo de letra Xft, 0=non, 1=si, " "-1=predefinido" -#: ../gtk/gtksettings.c:416 +#: ../gtk/gtksettings.c:460 msgid "Xft Hinting" msgstr "Contorno Xft" -#: ../gtk/gtksettings.c:417 +#: ../gtk/gtksettings.c:461 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica se se usa o contorno dos tipo de letra Xft; 0=non, 1=si, " "-1=predefinido" -#: ../gtk/gtksettings.c:426 +#: ../gtk/gtksettings.c:470 msgid "Xft Hint Style" msgstr "Estilo de contorno Xft" -#: ../gtk/gtksettings.c:427 +#: ../gtk/gtksettings.c:471 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "Que grao de contorno hai que usar: ningunha, lixeira, media ou completa" -#: ../gtk/gtksettings.c:436 +#: ../gtk/gtksettings.c:480 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:437 +#: ../gtk/gtksettings.c:481 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Tipo de suavizado de subpíxel: ningún, rgb, vrgb, vbgr" -#: ../gtk/gtksettings.c:446 +#: ../gtk/gtksettings.c:490 msgid "Xft DPI" msgstr "PPP Xft" -#: ../gtk/gtksettings.c:447 +#: ../gtk/gtksettings.c:491 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" "Resolución para Xft, en 1024 * puntos por polgada. -1 para usar o valor " "predefinido" -#: ../gtk/gtksettings.c:456 +#: ../gtk/gtksettings.c:500 msgid "Cursor theme name" msgstr "Nome do tema de cursor" -#: ../gtk/gtksettings.c:457 +#: ../gtk/gtksettings.c:501 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "Nome do tema de cursor que usar ou NULL para usar o tema predefinido" -#: ../gtk/gtksettings.c:465 +#: ../gtk/gtksettings.c:509 msgid "Cursor theme size" msgstr "Tamaño do tema de cursor" -#: ../gtk/gtksettings.c:466 +#: ../gtk/gtksettings.c:510 msgid "Size to use for cursors, or 0 to use the default size" msgstr "" "Tamaño que se vai usar para os cursores ou 0 para usar o tamaño predefinido" -#: ../gtk/gtksettings.c:476 +#: ../gtk/gtksettings.c:520 msgid "Alternative button order" msgstr "Orde alternativa dos botóns" -#: ../gtk/gtksettings.c:477 +#: ../gtk/gtksettings.c:521 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" "Indica se os botóns nos diálogos deben usar a orde alternativa de botóns" -#: ../gtk/gtksettings.c:494 +#: ../gtk/gtksettings.c:538 msgid "Alternative sort indicator direction" msgstr "Dirección alternativa do indicador de orde" -#: ../gtk/gtksettings.c:495 +#: ../gtk/gtksettings.c:539 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5131,11 +5115,11 @@ msgstr "" "en árbore está invertida en comparación coa predefinida (onde abaixo " "significa ascendente)" -#: ../gtk/gtksettings.c:503 +#: ../gtk/gtksettings.c:547 msgid "Show the 'Input Methods' menu" msgstr "Mostrar o menú Métodos de entrada" -#: ../gtk/gtksettings.c:504 +#: ../gtk/gtksettings.c:548 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5143,11 +5127,11 @@ msgstr "" "Indica se os menús de contexto das entradas e as visualizacións de texto " "deben ofrecer modificar o método de entrada" -#: ../gtk/gtksettings.c:512 +#: ../gtk/gtksettings.c:556 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Mostrar o menú Inserir carácter de control Unicode" -#: ../gtk/gtksettings.c:513 +#: ../gtk/gtksettings.c:557 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5155,253 +5139,253 @@ msgstr "" "Indica se os menús de contexto das entradas e as visualizacións de texto " "deben ofrecer inserir caracteres de control" -#: ../gtk/gtksettings.c:521 +#: ../gtk/gtksettings.c:565 msgid "Start timeout" msgstr "Comezar o tempo de espera" -#: ../gtk/gtksettings.c:522 +#: ../gtk/gtksettings.c:566 msgid "Starting value for timeouts, when button is pressed" msgstr "Valor de inicio para o tempo de espera, cando se prema o botón" -#: ../gtk/gtksettings.c:531 +#: ../gtk/gtksettings.c:575 msgid "Repeat timeout" msgstr "Repetir o tempo de espera" -#: ../gtk/gtksettings.c:532 +#: ../gtk/gtksettings.c:576 msgid "Repeat value for timeouts, when button is pressed" msgstr "Valor de repetición para o tempo de espera, cando o botón se prema" -#: ../gtk/gtksettings.c:541 +#: ../gtk/gtksettings.c:585 msgid "Expand timeout" msgstr "Ampliar o tempo de espera" -#: ../gtk/gtksettings.c:542 +#: ../gtk/gtksettings.c:586 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" "Valor de ampliación para os tempos de espera, cando un widget está " "expandindo unha nova rexión" -#: ../gtk/gtksettings.c:577 +#: ../gtk/gtksettings.c:621 msgid "Color scheme" msgstr "Esquema de cor" -#: ../gtk/gtksettings.c:578 +#: ../gtk/gtksettings.c:622 msgid "A palette of named colors for use in themes" msgstr "Unha paleta de cores con nome para usar nos temas" -#: ../gtk/gtksettings.c:587 +#: ../gtk/gtksettings.c:631 msgid "Enable Animations" msgstr "Activar animacións" -#: ../gtk/gtksettings.c:588 +#: ../gtk/gtksettings.c:632 msgid "Whether to enable toolkit-wide animations." msgstr "Indica se se activan as animacións para todo o toolkit." -#: ../gtk/gtksettings.c:606 +#: ../gtk/gtksettings.c:650 msgid "Enable Touchscreen Mode" msgstr "Activar o modo de pantalla táctil" -#: ../gtk/gtksettings.c:607 +#: ../gtk/gtksettings.c:651 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" "Cando é TRUE, non se envían eventos de notificación de movemento a esta " "pantalla" -#: ../gtk/gtksettings.c:624 +#: ../gtk/gtksettings.c:668 msgid "Tooltip timeout" msgstr "Tempo de espera da indicación" -#: ../gtk/gtksettings.c:625 +#: ../gtk/gtksettings.c:669 msgid "Timeout before tooltip is shown" msgstr "Tempo de espera antes de que se mostre a indicación" -#: ../gtk/gtksettings.c:650 +#: ../gtk/gtksettings.c:694 msgid "Tooltip browse timeout" msgstr "Tempo de espera da indicación de navegación" -#: ../gtk/gtksettings.c:651 +#: ../gtk/gtksettings.c:695 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" "Tempo de espera antes de que se mostre a indicación cando o modo de " "navegación está activo" -#: ../gtk/gtksettings.c:672 +#: ../gtk/gtksettings.c:716 msgid "Tooltip browse mode timeout" msgstr "Tempo de espera da indicación en modo de navegación" -#: ../gtk/gtksettings.c:673 +#: ../gtk/gtksettings.c:717 msgid "Timeout after which browse mode is disabled" msgstr "Tempo de espera despois do que se desactiva o modo de navegación" -#: ../gtk/gtksettings.c:692 +#: ../gtk/gtksettings.c:736 msgid "Keynav Cursor Only" msgstr "Só cursor para navegar con teclas" -#: ../gtk/gtksettings.c:693 +#: ../gtk/gtksettings.c:737 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" "Cando sexa TRUE, só hai teclas de cursor dispoñíbeis para navegar polos " "widgets" -#: ../gtk/gtksettings.c:710 +#: ../gtk/gtksettings.c:754 msgid "Keynav Wrap Around" msgstr "Dar a volta coa navegación con teclas" -#: ../gtk/gtksettings.c:711 +#: ../gtk/gtksettings.c:755 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Indica se se dá a volta cando se navegue cos widgets co teclado" -#: ../gtk/gtksettings.c:731 +#: ../gtk/gtksettings.c:775 msgid "Error Bell" msgstr "Campá de erro" -#: ../gtk/gtksettings.c:732 +#: ../gtk/gtksettings.c:776 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" "Cando sexa TRUE, a navegación co teclado e outros erros emitirán un ton de " "aviso" -#: ../gtk/gtksettings.c:749 +#: ../gtk/gtksettings.c:793 msgid "Color Hash" msgstr "Hash da cor" -#: ../gtk/gtksettings.c:750 +#: ../gtk/gtksettings.c:794 msgid "A hash table representation of the color scheme." msgstr "Unha representación en táboa hash do esquema de cor." -#: ../gtk/gtksettings.c:758 +#: ../gtk/gtksettings.c:802 msgid "Default file chooser backend" msgstr "Backend predefinido do selector de ficheiros" -#: ../gtk/gtksettings.c:759 +#: ../gtk/gtksettings.c:803 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Nome do backend do GtkFileChooser para usar por defecto" -#: ../gtk/gtksettings.c:776 +#: ../gtk/gtksettings.c:820 msgid "Default print backend" msgstr "Backend de impresión predefinido" -#: ../gtk/gtksettings.c:777 +#: ../gtk/gtksettings.c:821 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Lista dos backends do GtkPrintBackend para usar por defecto" -#: ../gtk/gtksettings.c:800 +#: ../gtk/gtksettings.c:844 msgid "Default command to run when displaying a print preview" msgstr "" "Orde predefinida para executar ao mostrar unha visualización previa de " "impresión" -#: ../gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:845 msgid "Command to run when displaying a print preview" msgstr "Orde para executar ao mostrar unha visualización previa de impresión" -#: ../gtk/gtksettings.c:817 +#: ../gtk/gtksettings.c:861 msgid "Enable Mnemonics" msgstr "Activar mnemónicos" -#: ../gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:862 msgid "Whether labels should have mnemonics" msgstr "Indica se as etiquetas deben ser mnemónicas" -#: ../gtk/gtksettings.c:834 +#: ../gtk/gtksettings.c:878 msgid "Enable Accelerators" msgstr "Activar teclas rápidas" -#: ../gtk/gtksettings.c:835 +#: ../gtk/gtksettings.c:879 msgid "Whether menu items should have accelerators" msgstr "Indica se os elementos de menús deben ter teclas rápidas" -#: ../gtk/gtksettings.c:852 +#: ../gtk/gtksettings.c:896 msgid "Recent Files Limit" msgstr "Límite de ficheiros recentes" -#: ../gtk/gtksettings.c:853 +#: ../gtk/gtksettings.c:897 msgid "Number of recently used files" msgstr "Número de ficheiros usados recentemente" -#: ../gtk/gtksettings.c:871 +#: ../gtk/gtksettings.c:915 msgid "Default IM module" msgstr "Módulo de MI predefinido" -#: ../gtk/gtksettings.c:872 +#: ../gtk/gtksettings.c:916 msgid "Which IM module should be used by default" msgstr "O módulo de MI que se debería usar por defecto" -#: ../gtk/gtksettings.c:890 +#: ../gtk/gtksettings.c:934 msgid "Recent Files Max Age" msgstr "Antigüidade máxima dos ficheiros recentes" -#: ../gtk/gtksettings.c:891 +#: ../gtk/gtksettings.c:935 msgid "Maximum age of recently used files, in days" msgstr "A antigüidade máxima dos ficheiros usados recentemente, en días" -#: ../gtk/gtksettings.c:900 +#: ../gtk/gtksettings.c:944 msgid "Fontconfig configuration timestamp" msgstr "Marca temporal de configuración do Fontconfig" -#: ../gtk/gtksettings.c:901 +#: ../gtk/gtksettings.c:945 msgid "Timestamp of current fontconfig configuration" msgstr "A marca temporal da configuración actual do Fontconfig" -#: ../gtk/gtksettings.c:923 +#: ../gtk/gtksettings.c:967 msgid "Sound Theme Name" msgstr "Nome do tema de son" -#: ../gtk/gtksettings.c:924 +#: ../gtk/gtksettings.c:968 msgid "XDG sound theme name" msgstr "Nome do tema de son XDG" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:946 +#: ../gtk/gtksettings.c:990 msgid "Audible Input Feedback" msgstr "Retroacción audíbel á entrada" -#: ../gtk/gtksettings.c:947 +#: ../gtk/gtksettings.c:991 msgid "Whether to play event sounds as feedback to user input" msgstr "" "Indica se hai que reproducir eventos de son como retroacción á entrada do " "usuario" -#: ../gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1012 msgid "Enable Event Sounds" msgstr "Activar os eventos de son" -#: ../gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1013 msgid "Whether to play any event sounds at all" msgstr "Indica se hai que activar todos os eventos de son" -#: ../gtk/gtksettings.c:984 +#: ../gtk/gtksettings.c:1028 msgid "Enable Tooltips" msgstr "Activar indicacións" -#: ../gtk/gtksettings.c:985 +#: ../gtk/gtksettings.c:1029 msgid "Whether tooltips should be shown on widgets" msgstr "Indica se se deberían mostrar as indicacións nos widgets" -#: ../gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1042 msgid "Toolbar style" msgstr "Estilo da barra de ferramentas" -#: ../gtk/gtksettings.c:999 +#: ../gtk/gtksettings.c:1043 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Indica se as barras de ferramentas predefinidas teñen só texto, texto e " "iconas, só iconas etc." -#: ../gtk/gtksettings.c:1013 +#: ../gtk/gtksettings.c:1057 msgid "Toolbar Icon Size" msgstr "Tamaño da icona da barra de ferramentas" -#: ../gtk/gtksettings.c:1014 +#: ../gtk/gtksettings.c:1058 msgid "The size of icons in default toolbars." msgstr "Tamaño das iconas das barras de ferramentas predefinidas." -#: ../gtk/gtksettings.c:1031 +#: ../gtk/gtksettings.c:1075 msgid "Auto Mnemonics" msgstr "Mnemónicos automáticos" -#: ../gtk/gtksettings.c:1032 +#: ../gtk/gtksettings.c:1076 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5409,62 +5393,62 @@ msgstr "" "Indica se os mnemónicos deberían mostrarse e agocharse automáticamente cando " "o usuario prema un activador de mnemónico." -#: ../gtk/gtksettings.c:1057 +#: ../gtk/gtksettings.c:1101 msgid "Application prefers a dark theme" msgstr "O aplicativo prefire un tema escuro" -#: ../gtk/gtksettings.c:1058 +#: ../gtk/gtksettings.c:1102 msgid "Whether the application prefers to have a dark theme." msgstr "Indica se o aplicativo prefire un tema escuro." -#: ../gtk/gtksettings.c:1073 +#: ../gtk/gtksettings.c:1117 msgid "Show button images" msgstr "Mostrar imaxes no botón" -#: ../gtk/gtksettings.c:1074 +#: ../gtk/gtksettings.c:1118 msgid "Whether images should be shown on buttons" msgstr "Indica se se deberían mostrar as imaxes nos botóns" -#: ../gtk/gtksettings.c:1082 ../gtk/gtksettings.c:1176 +#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 msgid "Select on focus" msgstr "Seleccionar ao enfocar" -#: ../gtk/gtksettings.c:1083 +#: ../gtk/gtksettings.c:1127 msgid "Whether to select the contents of an entry when it is focused" msgstr "" "Indica se se deben seleccionar os contidos dunha entrada cando está enfocada" -#: ../gtk/gtksettings.c:1100 +#: ../gtk/gtksettings.c:1144 msgid "Password Hint Timeout" msgstr "Tempo de espera para a suxestión de contrasinal" -#: ../gtk/gtksettings.c:1101 +#: ../gtk/gtksettings.c:1145 msgid "How long to show the last input character in hidden entries" msgstr "" "Durante canto tempo hai que mostrar o último carácter introducido nas " "entradas ocultas" -#: ../gtk/gtksettings.c:1110 +#: ../gtk/gtksettings.c:1154 msgid "Show menu images" msgstr "Mostrar as imaxes de menú" -#: ../gtk/gtksettings.c:1111 +#: ../gtk/gtksettings.c:1155 msgid "Whether images should be shown in menus" msgstr "Indica se se deben mostrar ou non as imaxes nos menús" -#: ../gtk/gtksettings.c:1119 +#: ../gtk/gtksettings.c:1163 msgid "Delay before drop down menus appear" msgstr "Atraso antes de que os menús despregábeis aparezan" -#: ../gtk/gtksettings.c:1120 +#: ../gtk/gtksettings.c:1164 msgid "Delay before the submenus of a menu bar appear" msgstr "Atraso antes de que os submenús dunha barra de menú aparezan" -#: ../gtk/gtksettings.c:1137 +#: ../gtk/gtksettings.c:1181 msgid "Scrolled Window Placement" msgstr "Colocación da xanela con desprazamento" -#: ../gtk/gtksettings.c:1138 +#: ../gtk/gtksettings.c:1182 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5473,33 +5457,33 @@ msgstr "" "barras de desprazamento, se non toma precedencia a colocación da propia " "xanela con desprazamento." -#: ../gtk/gtksettings.c:1147 +#: ../gtk/gtksettings.c:1191 msgid "Can change accelerators" msgstr "Pode cambiar as teclas rápidas" -#: ../gtk/gtksettings.c:1148 +#: ../gtk/gtksettings.c:1192 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Indica se as teclas rápidas do menú poden ser cambiadas premendo unha tecla " "sobre o elemento de menú" -#: ../gtk/gtksettings.c:1156 +#: ../gtk/gtksettings.c:1200 msgid "Delay before submenus appear" msgstr "Atraso antes de que os submenús aparezan" -#: ../gtk/gtksettings.c:1157 +#: ../gtk/gtksettings.c:1201 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "Tempo mínimo no que o punteiro debe permanecer sobre un elemento de menú " "antes de que o submenú apareza" -#: ../gtk/gtksettings.c:1166 +#: ../gtk/gtksettings.c:1210 msgid "Delay before hiding a submenu" msgstr "Atraso antes de ocultar un submenú" -#: ../gtk/gtksettings.c:1167 +#: ../gtk/gtksettings.c:1211 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" @@ -5507,33 +5491,33 @@ msgstr "" "Tempo antes de ocultar un submenú cando o punteiro se estea a mover cara ao " "submenú" -#: ../gtk/gtksettings.c:1177 +#: ../gtk/gtksettings.c:1221 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Indica se se seleccionan os contidos dunha etiqueta seleccionábel cando está " "enfocada" -#: ../gtk/gtksettings.c:1185 +#: ../gtk/gtksettings.c:1229 msgid "Custom palette" msgstr "Paleta personalizada" -#: ../gtk/gtksettings.c:1186 +#: ../gtk/gtksettings.c:1230 msgid "Palette to use in the color selector" msgstr "A paleta que se usará no selector de cores" -#: ../gtk/gtksettings.c:1194 +#: ../gtk/gtksettings.c:1238 msgid "IM Preedit style" msgstr "Estilo preedit IM" -#: ../gtk/gtksettings.c:1195 +#: ../gtk/gtksettings.c:1239 msgid "How to draw the input method preedit string" msgstr "Como debuxar a cadea do método de entrada de preedit" -#: ../gtk/gtksettings.c:1204 +#: ../gtk/gtksettings.c:1248 msgid "IM Status style" msgstr "Estilo do estado IM" -#: ../gtk/gtksettings.c:1205 +#: ../gtk/gtksettings.c:1249 msgid "How to draw the input method statusbar" msgstr "Como debuxar o método de entrada da barra de estado" @@ -5560,15 +5544,15 @@ msgstr "" "Se é TRUE, os widgets non mapeados ignoraranse ao determinar o tamaño do " "grupo" -#: ../gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:238 msgid "Climb Rate" msgstr "Taxa de incremento" -#: ../gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:258 msgid "Snap to Ticks" msgstr "Axustar aos pasos" -#: ../gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:259 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5576,52 +5560,52 @@ msgstr "" "Indica se os valores errados se cambian automaticamente polo incremento de " "paso máis próximo dun botón de axuste" -#: ../gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:266 msgid "Numeric" msgstr "Numérico" -#: ../gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:267 msgid "Whether non-numeric characters should be ignored" msgstr "Indica se se deben ignorar os caracteres non numéricos" -#: ../gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:274 msgid "Wrap" msgstr "Axustar" -#: ../gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:275 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "" "Indica se un botón de axuste debe axustarse cara a arriba até alcanzar os " "seus límites" -#: ../gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:282 msgid "Update Policy" msgstr "Política de actualización" -#: ../gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:283 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Indica se o botón de axuste debe actualizarse sempre ou só cando o valor é " "correcto" -#: ../gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:292 msgid "Reads the current value, or sets a new value" msgstr "Le o valor actual ou define un valor novo" -#: ../gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:301 msgid "Style of bevel around the spin button" msgstr "Estilo de bisel ao redor do botón de axuste" -#: ../gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "Indica se o spinner é activábel" -#: ../gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:135 msgid "Number of steps" msgstr "Número de pasos" -#: ../gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:136 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" @@ -5631,16 +5615,16 @@ msgstr "" "un ciclo completo nun segundo de forma predefinida (vexa #GtkSpinner:cicyle-" "duration)." -#: ../gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:153 msgid "Animation duration" msgstr "Duración da animación" -#: ../gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:154 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "O tempo en milisegundos para que o spinner complete un bucle completo" -#: ../gtk/gtkstatusbar.c:179 +#: ../gtk/gtkstatusbar.c:181 msgid "Style of bevel around the statusbar text" msgstr "Estilo do bisel ao redor do texto da barra de estado" @@ -5664,7 +5648,7 @@ msgstr "Indica se a icona de estado está incrustada" msgid "The orientation of the tray" msgstr "A orientación da bandexa" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1084 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1036 msgid "Has tooltip" msgstr "Ten indicación" @@ -5672,15 +5656,15 @@ msgstr "Ten indicación" msgid "Whether this tray icon has a tooltip" msgstr "Indica se esta icona de bandexa ten unha indicación" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1105 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1057 msgid "Tooltip Text" msgstr "Texto da indicación" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1106 ../gtk/gtkwidget.c:1127 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 msgid "The contents of the tooltip for this widget" msgstr "Os contidos da indicación para este widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1126 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1078 msgid "Tooltip markup" msgstr "Marcado das indicacións" @@ -5692,87 +5676,103 @@ msgstr "O contido da indicación para esta icona de bandexa" msgid "The title of this tray icon" msgstr "O título desta icona na barra de tarefas" -#: ../gtk/gtktable.c:152 +#: ../gtk/gtkstyle.c:516 +msgid "Style context" +msgstr "Contexto do estilo" + +#: ../gtk/gtkstyle.c:517 +msgid "GtkStyleContext to get style from" +msgstr "GtkStyleContext de onde obter o estilo" + +#: ../gtk/gtkswitch.c:739 +msgid "Whether the switch is on or off" +msgstr "Indica se o interruptor está acendido ou apagado" + +#: ../gtk/gtkswitch.c:773 +msgid "The minimum width of the handle" +msgstr "O ancho mínimo do tirador" + +#: ../gtk/gtktable.c:157 msgid "Rows" msgstr "Filas" -#: ../gtk/gtktable.c:153 +#: ../gtk/gtktable.c:158 msgid "The number of rows in the table" msgstr "O número de filas na táboa" -#: ../gtk/gtktable.c:161 +#: ../gtk/gtktable.c:166 msgid "Columns" msgstr "Columnas" -#: ../gtk/gtktable.c:162 +#: ../gtk/gtktable.c:167 msgid "The number of columns in the table" msgstr "O número de columnas na táboa" -#: ../gtk/gtktable.c:170 +#: ../gtk/gtktable.c:175 msgid "Row spacing" msgstr "Espazamento de fila" -#: ../gtk/gtktable.c:171 +#: ../gtk/gtktable.c:176 msgid "The amount of space between two consecutive rows" msgstr "A cantidade de espazo entre dúas filas consecutivas" -#: ../gtk/gtktable.c:179 +#: ../gtk/gtktable.c:184 msgid "Column spacing" msgstr "Espazamento de columna" -#: ../gtk/gtktable.c:180 +#: ../gtk/gtktable.c:185 msgid "The amount of space between two consecutive columns" msgstr "A cantidade de espazo entre dúas columnas consecutivas" -#: ../gtk/gtktable.c:189 +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "Se é TRUE, as celas da táboa teñen todas a mesma largura ou altura" -#: ../gtk/gtktable.c:196 +#: ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "Anexo á esquerda" -#: ../gtk/gtktable.c:203 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Anexo á dereita" -#: ../gtk/gtktable.c:204 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "O número de columnas para anexar ao lado dereito dun widget fillo" -#: ../gtk/gtktable.c:210 +#: ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "Anexo superior" -#: ../gtk/gtktable.c:211 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "O número de filas para anexar encima do widget fillo" -#: ../gtk/gtktable.c:217 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "Anexo inferior" -#: ../gtk/gtktable.c:224 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "Opcións horizontais" -#: ../gtk/gtktable.c:225 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "Opcións que especifican o comportamento horizontal do fillo" -#: ../gtk/gtktable.c:231 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "Opcións verticais" -#: ../gtk/gtktable.c:232 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "Opcións que especifican o comportamento vertical do fillo" -#: ../gtk/gtktable.c:238 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "Recheo horizontal" -#: ../gtk/gtktable.c:239 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" @@ -5780,11 +5780,11 @@ msgstr "" "Espazo adicional en píxeles para colocar entre o fillo e os seus veciños á " "esquerda e á dereita" -#: ../gtk/gtktable.c:245 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "Recheo vertical" -#: ../gtk/gtktable.c:246 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" @@ -5792,53 +5792,53 @@ msgstr "" "Espazo adicional en píxeles para colocar entre o fillo e os seus veciños " "superiores e inferiores" -#: ../gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:191 msgid "Tag Table" msgstr "Táboa de etiquetas" -#: ../gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:192 msgid "Text Tag Table" msgstr "Táboa de etiquetas de texto" -#: ../gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:210 msgid "Current text of the buffer" msgstr "Texto actual do búfer" -#: ../gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:224 msgid "Has selection" msgstr "Está selecccionado" -#: ../gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:225 msgid "Whether the buffer has some text currently selected" msgstr "Indica se o búfer ten actualmente algún texto seleccionado" -#: ../gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:241 msgid "Cursor position" msgstr "Posición do cursor" -#: ../gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:242 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" "A posición da marca de inserción (como desprazamento desde o principio do " "búfer)" -#: ../gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:257 msgid "Copy target list" msgstr "Lista de destinos da copia" -#: ../gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:258 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" "A lista de destinos que admite este búfer para copiar desde o portapapeis e " "a orixe do DND" -#: ../gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:273 msgid "Paste target list" msgstr "Lista de destinos para pegar" -#: ../gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:274 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5937,7 +5937,7 @@ msgstr "" "etc., polo que é recomendábel. O Pango define previamente algunhas escalas " "tales como PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:685 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:704 msgid "Left, right, or center justification" msgstr "Xustificación á esquerda, á dereita ou ao centro" @@ -5954,7 +5954,7 @@ msgstr "" msgid "Left margin" msgstr "Marxe esquerda" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:694 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:713 msgid "Width of the left margin in pixels" msgstr "Largura da marxe esquerda en píxeles" @@ -5962,15 +5962,15 @@ msgstr "Largura da marxe esquerda en píxeles" msgid "Right margin" msgstr "Marxe dereita" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:704 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:723 msgid "Width of the right margin in pixels" msgstr "Largura da marxe dereita en píxeles" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:713 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:732 msgid "Indent" msgstr "Sangría" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:733 msgid "Amount to indent the paragraph, in pixels" msgstr "Cantidade en píxeles para a sangría de parágrafo" @@ -5986,7 +5986,7 @@ msgstr "" msgid "Pixels above lines" msgstr "Píxeles encima das liñas" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:638 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:657 msgid "Pixels of blank space above paragraphs" msgstr "Píxeles de espazo en branco encima do parágrafos" @@ -5994,7 +5994,7 @@ msgstr "Píxeles de espazo en branco encima do parágrafos" msgid "Pixels below lines" msgstr "Píxeles debaixo das liñas" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:648 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:667 msgid "Pixels of blank space below paragraphs" msgstr "Píxeles de espazo en branco debaixo dos parágrafos" @@ -6002,22 +6002,22 @@ msgstr "Píxeles de espazo en branco debaixo dos parágrafos" msgid "Pixels inside wrap" msgstr "Píxeles dentro do axuste" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:658 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:677 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Píxeles de espazo en branco entre as liñas axustadas nun parágrafo" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:676 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:695 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Indica se nunca se axustan as liñas aos límites de palabra ou aos límites de " "carácter" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:723 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:742 msgid "Tabs" msgstr "Separadores" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:743 msgid "Custom tabs for this text" msgstr "Separadores personalizados para este texto" @@ -6147,63 +6147,63 @@ msgstr "Definición do fondo de parágrafo" msgid "Whether this tag affects the paragraph background color" msgstr "Indica se esta etiqueta afecta á cor de fondo de parágrafo" -#: ../gtk/gtktextview.c:637 +#: ../gtk/gtktextview.c:656 msgid "Pixels Above Lines" msgstr "Píxeles encima das liñas" -#: ../gtk/gtktextview.c:647 +#: ../gtk/gtktextview.c:666 msgid "Pixels Below Lines" msgstr "Píxeles debaixo das liñas" -#: ../gtk/gtktextview.c:657 +#: ../gtk/gtktextview.c:676 msgid "Pixels Inside Wrap" msgstr "Píxeles dentro do axuste" -#: ../gtk/gtktextview.c:675 +#: ../gtk/gtktextview.c:694 msgid "Wrap Mode" msgstr "Modo de axuste" -#: ../gtk/gtktextview.c:693 +#: ../gtk/gtktextview.c:712 msgid "Left Margin" msgstr "Marxe esquerda" -#: ../gtk/gtktextview.c:703 +#: ../gtk/gtktextview.c:722 msgid "Right Margin" msgstr "Marxe dereita" -#: ../gtk/gtktextview.c:731 +#: ../gtk/gtktextview.c:750 msgid "Cursor Visible" msgstr "Cursor visíbel" -#: ../gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:751 msgid "If the insertion cursor is shown" msgstr "Se se mostra o cursor de inserción" -#: ../gtk/gtktextview.c:739 +#: ../gtk/gtktextview.c:758 msgid "Buffer" msgstr "Búfer" -#: ../gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:759 msgid "The buffer which is displayed" msgstr "O búfer que se mostra" -#: ../gtk/gtktextview.c:748 +#: ../gtk/gtktextview.c:767 msgid "Whether entered text overwrites existing contents" msgstr "Indica se o texto introducido sobrescribe os contidos existentes" -#: ../gtk/gtktextview.c:755 +#: ../gtk/gtktextview.c:774 msgid "Accepts tab" msgstr "Acepta tabulación" -#: ../gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:775 msgid "Whether Tab will result in a tab character being entered" msgstr "Indica se o tabulador resultará nun carácter de tabulación introducido" -#: ../gtk/gtktextview.c:791 +#: ../gtk/gtktextview.c:810 msgid "Error underline color" msgstr "Cor de subliñado de erros" -#: ../gtk/gtktextview.c:792 +#: ../gtk/gtktextview.c:811 msgid "Color with which to draw error-indication underlines" msgstr "Cor coa que debuxar o subliñado de indicación de erros" @@ -6221,101 +6221,101 @@ msgstr "" msgid "Whether the toggle action should be active" msgstr "Se a acción de conmutación debe estar activa ou non" -#: ../gtk/gtktogglebutton.c:123 ../gtk/gtktoggletoolbutton.c:113 +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" msgstr "Se o botón de estado debe estar premido ou non" -#: ../gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:134 msgid "If the toggle button is in an \"in between\" state" msgstr "Se o botón de estado está en estado \"intermedio\"" -#: ../gtk/gtktogglebutton.c:138 +#: ../gtk/gtktogglebutton.c:141 msgid "Draw Indicator" msgstr "Debuxar o indicador" -#: ../gtk/gtktogglebutton.c:139 +#: ../gtk/gtktogglebutton.c:142 msgid "If the toggle part of the button is displayed" msgstr "Se se mostra a parte de activación do botón" -#: ../gtk/gtktoolbar.c:485 ../gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 msgid "Toolbar Style" msgstr "Estilo da barra de ferramentas" -#: ../gtk/gtktoolbar.c:486 +#: ../gtk/gtktoolbar.c:492 msgid "How to draw the toolbar" msgstr "Como debuxar a barra de ferramentas" -#: ../gtk/gtktoolbar.c:493 +#: ../gtk/gtktoolbar.c:499 msgid "Show Arrow" msgstr "Mostrar frecha" -#: ../gtk/gtktoolbar.c:494 +#: ../gtk/gtktoolbar.c:500 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Se debe mostrar unha frecha se a barra de ferramentas non encaixa" -#: ../gtk/gtktoolbar.c:515 +#: ../gtk/gtktoolbar.c:521 msgid "Size of icons in this toolbar" msgstr "Tamaño das iconas nesta barra de ferramentas" -#: ../gtk/gtktoolbar.c:530 ../gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 msgid "Icon size set" msgstr "Definición do tamaño da icona" -#: ../gtk/gtktoolbar.c:531 ../gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 msgid "Whether the icon-size property has been set" msgstr "Indica se se estabeleceu a propiedade de tamaño da icona" -#: ../gtk/gtktoolbar.c:540 +#: ../gtk/gtktoolbar.c:546 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "" "Indica se o elemento debe recibir espazo adicional cando a barra de " "ferramentas medre" -#: ../gtk/gtktoolbar.c:548 ../gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Indica se o elemento debería ser do mesmo tamaño que outros elementos " "homoxéneos" -#: ../gtk/gtktoolbar.c:555 +#: ../gtk/gtktoolbar.c:561 msgid "Spacer size" msgstr "Tamaño do espazador" -#: ../gtk/gtktoolbar.c:556 +#: ../gtk/gtktoolbar.c:562 msgid "Size of spacers" msgstr "Tamaño dos espazadores" -#: ../gtk/gtktoolbar.c:565 +#: ../gtk/gtktoolbar.c:571 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "" "Cantidade de espazo do bordo entre a sombra da barra de ferramentas e os " "botóns" -#: ../gtk/gtktoolbar.c:573 +#: ../gtk/gtktoolbar.c:579 msgid "Maximum child expand" msgstr "Expansión de fillos máxima" -#: ../gtk/gtktoolbar.c:574 +#: ../gtk/gtktoolbar.c:580 msgid "Maximum amount of space an expandable item will be given" msgstr "Cantidade máxima de espazo que se lle dará a un elemento expandíbel" -#: ../gtk/gtktoolbar.c:582 +#: ../gtk/gtktoolbar.c:588 msgid "Space style" msgstr "Estilo do espazo" -#: ../gtk/gtktoolbar.c:583 +#: ../gtk/gtktoolbar.c:589 msgid "Whether spacers are vertical lines or just blank" msgstr "Indica se os espazadores son liñas verticais ou só espazos en branco" -#: ../gtk/gtktoolbar.c:590 +#: ../gtk/gtktoolbar.c:596 msgid "Button relief" msgstr "Relevo do botón" -#: ../gtk/gtktoolbar.c:591 +#: ../gtk/gtktoolbar.c:597 msgid "Type of bevel around toolbar buttons" msgstr "Tipo de bisel ao redor dos botóns da barra de ferramentas" -#: ../gtk/gtktoolbar.c:598 +#: ../gtk/gtktoolbar.c:604 msgid "Style of bevel around the toolbar" msgstr "Estilo do bisel ao redor da barra de ferramentas" @@ -6368,7 +6368,7 @@ msgstr "Espazamento da icona" msgid "Spacing in pixels between the icon and label" msgstr "Espazamento en píxeles entre a icona e a etiqueta" -#: ../gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -6377,84 +6377,84 @@ msgstr "" "é TRUE, os botóns da barra de ferramentas mostran o texto no modo " "GTK_TOOLBAR_BOTH_HORIZ" -#: ../gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 msgid "The human-readable title of this item group" msgstr "Unha descrición lexíbel por humanos do elemento de grupo" -#: ../gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 msgid "A widget to display in place of the usual label" msgstr "Un widget para mostrar no lugar da etiqueta habitual" -#: ../gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "Recollido" -#: ../gtk/gtktoolitemgroup.c:1586 +#: ../gtk/gtktoolitemgroup.c:1603 msgid "Whether the group has been collapsed and items are hidden" msgstr "Indica se grupo foi contraído e os elementos agochados" -#: ../gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "ellipsize" msgstr "Elipse" -#: ../gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "Elipse para as cabeceiras de grupo do elemento" -#: ../gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Header Relief" msgstr "Relieve da cabeceira" -#: ../gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "Relief of the group header button" msgstr "Relieve do botón de cabeceira de grupo" -#: ../gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 msgid "Header Spacing" msgstr "Espazamento da cabeceira" -#: ../gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 msgid "Spacing between expander arrow and caption" msgstr "Espazamento entre a frecha expansora e o título" -#: ../gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 msgid "Whether the item should receive extra space when the group grows" msgstr "Indica se o elemento debe recibir espazo adicional cando o grupo medre" -#: ../gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 msgid "Whether the item should fill the available space" msgstr "Indica se o elemento deben encher o espazo dispoñíbel" -#: ../gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "Nova fila" -#: ../gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 msgid "Whether the item should start a new row" msgstr "Indica se os elementos deberían mostrarse nunha nova fila" -#: ../gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 msgid "Position of the item within this group" msgstr "Posición do elemento neste grupo" -#: ../gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1031 msgid "Size of icons in this tool palette" msgstr "Tamaño das iconas nesta paleta de ferramentas" -#: ../gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1061 msgid "Style of items in the tool palette" msgstr "Estilo dos elementos na paleta de ferramentas" -#: ../gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1077 msgid "Exclusive" msgstr "Exclusivo" -#: ../gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1078 msgid "Whether the item group should be the only expanded at a given time" msgstr "" "Indica se o grupo de elementos deberían expandirse só nun momento determinado" -#: ../gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1093 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" @@ -6501,220 +6501,220 @@ msgstr "Modelo TreeModelSort" msgid "The model for the TreeModelSort to sort" msgstr "O modelo para o TreeModelSort que ordenar" -#: ../gtk/gtktreeview.c:568 +#: ../gtk/gtktreeview.c:661 msgid "TreeView Model" msgstr "Modelo TreeView" -#: ../gtk/gtktreeview.c:569 +#: ../gtk/gtktreeview.c:662 msgid "The model for the tree view" msgstr "O modelo para a visualización en árbore" -#: ../gtk/gtktreeview.c:581 +#: ../gtk/gtktreeview.c:674 msgid "Headers Visible" msgstr "Cabeceiras visíbeis" -#: ../gtk/gtktreeview.c:582 +#: ../gtk/gtktreeview.c:675 msgid "Show the column header buttons" msgstr "Mostrar botóns nas cabeceiras de columna" -#: ../gtk/gtktreeview.c:589 +#: ../gtk/gtktreeview.c:682 msgid "Headers Clickable" msgstr "Cabeceiras premíbeis" -#: ../gtk/gtktreeview.c:590 +#: ../gtk/gtktreeview.c:683 msgid "Column headers respond to click events" msgstr "As cabeceiras de columna responden aos eventos de clic" -#: ../gtk/gtktreeview.c:597 +#: ../gtk/gtktreeview.c:690 msgid "Expander Column" msgstr "Columna expansora" -#: ../gtk/gtktreeview.c:598 +#: ../gtk/gtktreeview.c:691 msgid "Set the column for the expander column" msgstr "Estabelecer a columna para a columna expansora" -#: ../gtk/gtktreeview.c:613 +#: ../gtk/gtktreeview.c:706 msgid "Rules Hint" msgstr "Suxestión das regras" -#: ../gtk/gtktreeview.c:614 +#: ../gtk/gtktreeview.c:707 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" "Define unha suxestión para o motor de tema para debuxar as filas con cores " "alternas" -#: ../gtk/gtktreeview.c:621 +#: ../gtk/gtktreeview.c:714 msgid "Enable Search" msgstr "Activar a busca" -#: ../gtk/gtktreeview.c:622 +#: ../gtk/gtktreeview.c:715 msgid "View allows user to search through columns interactively" msgstr "" "A visualización permite aos usuarios buscar de modo interactivo a través das " "columnas" -#: ../gtk/gtktreeview.c:629 +#: ../gtk/gtktreeview.c:722 msgid "Search Column" msgstr "Columna de busca" -#: ../gtk/gtktreeview.c:630 +#: ../gtk/gtktreeview.c:723 msgid "Model column to search through during interactive search" msgstr "A columna de modelo na que buscar durante a busca interactiva" -#: ../gtk/gtktreeview.c:650 +#: ../gtk/gtktreeview.c:743 msgid "Fixed Height Mode" msgstr "Modo de altura fixa" -#: ../gtk/gtktreeview.c:651 +#: ../gtk/gtktreeview.c:744 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Acelera GtkTreeView asumindo que todas as filas teñen a mesma altura" -#: ../gtk/gtktreeview.c:671 +#: ../gtk/gtktreeview.c:764 msgid "Hover Selection" msgstr "Seleccionar ao pasar por encima" -#: ../gtk/gtktreeview.c:672 +#: ../gtk/gtktreeview.c:765 msgid "Whether the selection should follow the pointer" msgstr "Indica se a selección debería seguir o punteiro" -#: ../gtk/gtktreeview.c:691 +#: ../gtk/gtktreeview.c:784 msgid "Hover Expand" msgstr "Expandir ao pasar por encima" -#: ../gtk/gtktreeview.c:692 +#: ../gtk/gtktreeview.c:785 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Indica se as filas deben expandirse ou contraerse cando se move o punteiro " "sobre elas" -#: ../gtk/gtktreeview.c:706 +#: ../gtk/gtktreeview.c:799 msgid "Show Expanders" msgstr "Mostrar expansores" -#: ../gtk/gtktreeview.c:707 +#: ../gtk/gtktreeview.c:800 msgid "View has expanders" msgstr "A visualización ten expansores" -#: ../gtk/gtktreeview.c:721 +#: ../gtk/gtktreeview.c:814 msgid "Level Indentation" msgstr "Nivel de sangría" -#: ../gtk/gtktreeview.c:722 +#: ../gtk/gtktreeview.c:815 msgid "Extra indentation for each level" msgstr "Sangría adicional para cada nivel" -#: ../gtk/gtktreeview.c:731 +#: ../gtk/gtktreeview.c:824 msgid "Rubber Banding" msgstr "Tiras de goma" -#: ../gtk/gtktreeview.c:732 +#: ../gtk/gtktreeview.c:825 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Indica se se activa a selección de múltiples elementos arrastrando o " "punteiro do rato" -#: ../gtk/gtktreeview.c:739 +#: ../gtk/gtktreeview.c:832 msgid "Enable Grid Lines" msgstr "Activar as liñas da grade" -#: ../gtk/gtktreeview.c:740 +#: ../gtk/gtktreeview.c:833 msgid "Whether grid lines should be drawn in the tree view" msgstr "" "Indica se as liñas da grade se deben debuxar na visualización en árbore" -#: ../gtk/gtktreeview.c:748 +#: ../gtk/gtktreeview.c:841 msgid "Enable Tree Lines" msgstr "Activar as liñas da árbore" -#: ../gtk/gtktreeview.c:749 +#: ../gtk/gtktreeview.c:842 msgid "Whether tree lines should be drawn in the tree view" msgstr "Indica se se deben debuxar as liñas na visualización en árbore" -#: ../gtk/gtktreeview.c:757 +#: ../gtk/gtktreeview.c:850 msgid "The column in the model containing the tooltip texts for the rows" msgstr "A columna do modelo que contén os textos de indicación para as filas" -#: ../gtk/gtktreeview.c:779 +#: ../gtk/gtktreeview.c:872 msgid "Vertical Separator Width" msgstr "Largura do separador vertical" -#: ../gtk/gtktreeview.c:780 +#: ../gtk/gtktreeview.c:873 msgid "Vertical space between cells. Must be an even number" msgstr "Espazo vertical entre celas. Debe ser un número par" -#: ../gtk/gtktreeview.c:788 +#: ../gtk/gtktreeview.c:881 msgid "Horizontal Separator Width" msgstr "Largura do separador horizontal" -#: ../gtk/gtktreeview.c:789 +#: ../gtk/gtktreeview.c:882 msgid "Horizontal space between cells. Must be an even number" msgstr "Espazo horizontal entre celas. Debe ser un número par" -#: ../gtk/gtktreeview.c:797 +#: ../gtk/gtktreeview.c:890 msgid "Allow Rules" msgstr "Permitir regras" -#: ../gtk/gtktreeview.c:798 +#: ../gtk/gtktreeview.c:891 msgid "Allow drawing of alternating color rows" msgstr "Permitir debuxar filas con cores alternas" -#: ../gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:897 msgid "Indent Expanders" msgstr "Sangrar os expansores" -#: ../gtk/gtktreeview.c:805 +#: ../gtk/gtktreeview.c:898 msgid "Make the expanders indented" msgstr "Crear os expansores sangrados" -#: ../gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:904 msgid "Even Row Color" msgstr "Cor da fila par" -#: ../gtk/gtktreeview.c:812 +#: ../gtk/gtktreeview.c:905 msgid "Color to use for even rows" msgstr "Cor que usar para as filas pares" -#: ../gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:911 msgid "Odd Row Color" msgstr "Cor da fila impar" -#: ../gtk/gtktreeview.c:819 +#: ../gtk/gtktreeview.c:912 msgid "Color to use for odd rows" msgstr "Cor que usar para as filas impares" -#: ../gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:918 msgid "Grid line width" msgstr "Largura da liña da grade" -#: ../gtk/gtktreeview.c:826 +#: ../gtk/gtktreeview.c:919 msgid "Width, in pixels, of the tree view grid lines" -msgstr "Largura en píxeles das liñas da grade da visualización en árbore" +msgstr "Largura, en píxeles, das liñas da grade da visualización en árbore" -#: ../gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:925 msgid "Tree line width" msgstr "Largura da liña da árbore" -#: ../gtk/gtktreeview.c:833 +#: ../gtk/gtktreeview.c:926 msgid "Width, in pixels, of the tree view lines" msgstr "Largura en píxeles das liñas da visualización en árbore" -#: ../gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:932 msgid "Grid line pattern" msgstr "Patrón da liña da grade" -#: ../gtk/gtktreeview.c:840 +#: ../gtk/gtktreeview.c:933 msgid "Dash pattern used to draw the tree view grid lines" msgstr "" "Patrón de trazos usado para debuxar as liñas da grade da visualización en " "árbore" -#: ../gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:939 msgid "Tree line pattern" msgstr "Patrón da liña da árbore" -#: ../gtk/gtktreeview.c:847 +#: ../gtk/gtktreeview.c:940 msgid "Dash pattern used to draw the tree view lines" msgstr "" "Patrón de trazos usado para debuxar as liñas da visualización en árbore" @@ -6723,7 +6723,7 @@ msgstr "" msgid "Whether to display the column" msgstr "Indica se se mostra a columna" -#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:657 +#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:656 msgid "Resizable" msgstr "Redimensionábel" @@ -6843,32 +6843,32 @@ msgstr "Definición de IU combinado" msgid "An XML string describing the merged UI" msgstr "Unha cadea XML que describe o IU combinado" -#: ../gtk/gtkviewport.c:156 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como se debuxa a caixa sombreada ao redor da área de visualización" -#: ../gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:887 msgid "Widget name" msgstr "Nome do widget" -#: ../gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:888 msgid "The name of the widget" msgstr "O nome do widget" -#: ../gtk/gtkwidget.c:942 +#: ../gtk/gtkwidget.c:894 msgid "Parent widget" msgstr "Widget pai" -#: ../gtk/gtkwidget.c:943 +#: ../gtk/gtkwidget.c:895 msgid "The parent widget of this widget. Must be a Container widget" msgstr "O widget pai deste widget. Debe ser un widget contedor" -#: ../gtk/gtkwidget.c:950 +#: ../gtk/gtkwidget.c:902 msgid "Width request" msgstr "Solicitude de largura" -#: ../gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:903 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6876,11 +6876,11 @@ msgstr "" "Sobrepor a solicitude de largura do widget ou -1 se se debe empregar a " "solicitude normal" -#: ../gtk/gtkwidget.c:959 +#: ../gtk/gtkwidget.c:911 msgid "Height request" msgstr "Solicitude de altura" -#: ../gtk/gtkwidget.c:960 +#: ../gtk/gtkwidget.c:912 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6888,268 +6888,268 @@ msgstr "" "Sobrepor a solicitude de altura do widget ou -1 se se debe empregar a " "solicitude normal" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:921 msgid "Whether the widget is visible" msgstr "Indica se o widget é visíbel" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:928 msgid "Whether the widget responds to input" msgstr "Indica se o widget responde á entrada de datos" -#: ../gtk/gtkwidget.c:982 +#: ../gtk/gtkwidget.c:934 msgid "Application paintable" msgstr "Aplicativo pintábel" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:935 msgid "Whether the application will paint directly on the widget" msgstr "Indica se o aplicativo pintará directamente sobre o widget" -#: ../gtk/gtkwidget.c:989 +#: ../gtk/gtkwidget.c:941 msgid "Can focus" msgstr "Pode enfocar" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget can accept the input focus" msgstr "Indica se o widget pode aceptar o foco de entrada" -#: ../gtk/gtkwidget.c:996 +#: ../gtk/gtkwidget.c:948 msgid "Has focus" msgstr "Ten foco" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:949 msgid "Whether the widget has the input focus" msgstr "Indica se o widget ten o foco de entrada" -#: ../gtk/gtkwidget.c:1003 +#: ../gtk/gtkwidget.c:955 msgid "Is focus" msgstr "É o foco" -#: ../gtk/gtkwidget.c:1004 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica se o widget é o widget co foco, dentro do nivel superior" -#: ../gtk/gtkwidget.c:1010 +#: ../gtk/gtkwidget.c:962 msgid "Can default" msgstr "Pode ser o predefinido" -#: ../gtk/gtkwidget.c:1011 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget can be the default widget" msgstr "Indica se o widget pode ser o widget predefinido" -#: ../gtk/gtkwidget.c:1017 +#: ../gtk/gtkwidget.c:969 msgid "Has default" msgstr "É o predefinido" -#: ../gtk/gtkwidget.c:1018 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the default widget" msgstr "Indica se o widget é o widget predefinido" -#: ../gtk/gtkwidget.c:1024 +#: ../gtk/gtkwidget.c:976 msgid "Receives default" msgstr "Recibe o predefinido" -#: ../gtk/gtkwidget.c:1025 +#: ../gtk/gtkwidget.c:977 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "Se é TRUE, o widget recibirá a acción predefinida cando estea enfocado" -#: ../gtk/gtkwidget.c:1031 +#: ../gtk/gtkwidget.c:983 msgid "Composite child" msgstr "Fillo composto" -#: ../gtk/gtkwidget.c:1032 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is part of a composite widget" msgstr "Indica se o widget é parte dun widget composto" -#: ../gtk/gtkwidget.c:1038 +#: ../gtk/gtkwidget.c:990 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:1039 +#: ../gtk/gtkwidget.c:991 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "" -"O estilo do widget, que contén información sobre a aparencia (cores etc.)" +"O estilo do widget, que contén información sobre a aparencia (cores, etc)" -#: ../gtk/gtkwidget.c:1045 +#: ../gtk/gtkwidget.c:997 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:1046 +#: ../gtk/gtkwidget.c:998 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "A máscara de eventos que decide que tipo de GdkEvents recibe este widget" -#: ../gtk/gtkwidget.c:1053 +#: ../gtk/gtkwidget.c:1005 msgid "Extension events" msgstr "Eventos de extensión" -#: ../gtk/gtkwidget.c:1054 +#: ../gtk/gtkwidget.c:1006 msgid "The mask that decides what kind of extension events this widget gets" msgstr "" "A máscara que decide que clase de eventos de extensión consegue este widget" -#: ../gtk/gtkwidget.c:1061 +#: ../gtk/gtkwidget.c:1013 msgid "No show all" msgstr "Non mostrar todo" -#: ../gtk/gtkwidget.c:1062 +#: ../gtk/gtkwidget.c:1014 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Indica se o gtk_widget_show_all() non debe afectar a este widget" -#: ../gtk/gtkwidget.c:1085 +#: ../gtk/gtkwidget.c:1037 msgid "Whether this widget has a tooltip" msgstr "Indica se este widget ten unha indicación" -#: ../gtk/gtkwidget.c:1141 +#: ../gtk/gtkwidget.c:1093 msgid "Window" msgstr "Xanela" -#: ../gtk/gtkwidget.c:1142 +#: ../gtk/gtkwidget.c:1094 msgid "The widget's window if it is realized" msgstr "A xanela do widget, se se crea" -#: ../gtk/gtkwidget.c:1156 +#: ../gtk/gtkwidget.c:1108 msgid "Double Buffered" msgstr "Con búfer dobre" -#: ../gtk/gtkwidget.c:1157 +#: ../gtk/gtkwidget.c:1109 msgid "Whether the widget is double buffered" msgstr "Indica se o widget conta ou non con búfer dobre" -#: ../gtk/gtkwidget.c:1172 +#: ../gtk/gtkwidget.c:1124 msgid "How to position in extra horizontal space" msgstr "Como posicionar no espazo horizontal adicional" -#: ../gtk/gtkwidget.c:1188 +#: ../gtk/gtkwidget.c:1140 msgid "How to position in extra vertical space" msgstr "Como posicionar no espazo vertical adicional" -#: ../gtk/gtkwidget.c:1207 +#: ../gtk/gtkwidget.c:1159 msgid "Margin on Left" msgstr "Marxe á esquerda" -#: ../gtk/gtkwidget.c:1208 +#: ../gtk/gtkwidget.c:1160 msgid "Pixels of extra space on the left side" msgstr "Píxeles de espacio adicional na lado esquerda" -#: ../gtk/gtkwidget.c:1228 +#: ../gtk/gtkwidget.c:1180 msgid "Margin on Right" msgstr "Marxe á dereita" -#: ../gtk/gtkwidget.c:1229 +#: ../gtk/gtkwidget.c:1181 msgid "Pixels of extra space on the right side" msgstr "Píxeles de espacio adicional na lado dereita" -#: ../gtk/gtkwidget.c:1249 +#: ../gtk/gtkwidget.c:1201 msgid "Margin on Top" msgstr "Marxe superior" -#: ../gtk/gtkwidget.c:1250 +#: ../gtk/gtkwidget.c:1202 msgid "Pixels of extra space on the top side" msgstr "Píxeles de espacio adicional na lado superior" -#: ../gtk/gtkwidget.c:1270 +#: ../gtk/gtkwidget.c:1222 msgid "Margin on Bottom" msgstr "Marxe inferior" -#: ../gtk/gtkwidget.c:1271 +#: ../gtk/gtkwidget.c:1223 msgid "Pixels of extra space on the bottom side" msgstr "Píxeles de espacio adicional na lado inferior" -#: ../gtk/gtkwidget.c:1288 +#: ../gtk/gtkwidget.c:1240 msgid "All Margins" msgstr "Todos os marxes" -#: ../gtk/gtkwidget.c:1289 +#: ../gtk/gtkwidget.c:1241 msgid "Pixels of extra space on all four sides" msgstr "Píxeles de espacio adicional nos catro lados" -#: ../gtk/gtkwidget.c:1322 +#: ../gtk/gtkwidget.c:1274 msgid "Horizontal Expand" msgstr "Expansión horizontal" -#: ../gtk/gtkwidget.c:1323 +#: ../gtk/gtkwidget.c:1275 msgid "Whether widget wants more horizontal space" msgstr "Indica se o widget quere usar máis espazo horizontal" -#: ../gtk/gtkwidget.c:1337 +#: ../gtk/gtkwidget.c:1289 msgid "Horizontal Expand Set" msgstr "Axuste de expansión horizontal" -#: ../gtk/gtkwidget.c:1338 +#: ../gtk/gtkwidget.c:1290 msgid "Whether to use the hexpand property" msgstr "Indica se se debe usar a propiedade hexpand" -#: ../gtk/gtkwidget.c:1352 +#: ../gtk/gtkwidget.c:1304 msgid "Vertical Expand" msgstr "Expansión vertical" -#: ../gtk/gtkwidget.c:1353 +#: ../gtk/gtkwidget.c:1305 msgid "Whether widget wants more vertical space" msgstr "Indica se o widget quere usar máis espazo vertical" -#: ../gtk/gtkwidget.c:1367 +#: ../gtk/gtkwidget.c:1319 msgid "Vertical Expand Set" msgstr "Axuste de expansión vertical" -#: ../gtk/gtkwidget.c:1368 +#: ../gtk/gtkwidget.c:1320 msgid "Whether to use the vexpand property" msgstr "Indica se se debe usar a propiedade vexpand" -#: ../gtk/gtkwidget.c:1382 +#: ../gtk/gtkwidget.c:1334 msgid "Expand Both" msgstr "Expandir en ambas" -#: ../gtk/gtkwidget.c:1383 +#: ../gtk/gtkwidget.c:1335 msgid "Whether widget wants to expand in both directions" msgstr "Indica se o widget quere expandirse en ámbalas dúas direccións" -#: ../gtk/gtkwidget.c:3037 +#: ../gtk/gtkwidget.c:2981 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:3038 +#: ../gtk/gtkwidget.c:2982 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica se se debuxa o foco indicador dentro dos widgets" -#: ../gtk/gtkwidget.c:3044 +#: ../gtk/gtkwidget.c:2988 msgid "Focus linewidth" msgstr "Enfocar a largura da liña" -#: ../gtk/gtkwidget.c:3045 +#: ../gtk/gtkwidget.c:2989 msgid "Width, in pixels, of the focus indicator line" msgstr "Largura en píxeles da liña indicadora do foco" -#: ../gtk/gtkwidget.c:3051 +#: ../gtk/gtkwidget.c:2995 msgid "Focus line dash pattern" msgstr "Patrón de trazos da liña de foco" -#: ../gtk/gtkwidget.c:3052 +#: ../gtk/gtkwidget.c:2996 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón de trazos empregado para debuxar o indicador de foco" -#: ../gtk/gtkwidget.c:3057 +#: ../gtk/gtkwidget.c:3001 msgid "Focus padding" msgstr "Recheo do foco" -#: ../gtk/gtkwidget.c:3058 +#: ../gtk/gtkwidget.c:3002 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Largura en píxeles entre o indicador de foco e a 'caixa' do widget" -#: ../gtk/gtkwidget.c:3063 +#: ../gtk/gtkwidget.c:3007 msgid "Cursor color" msgstr "Cor do cursor" -#: ../gtk/gtkwidget.c:3064 +#: ../gtk/gtkwidget.c:3008 msgid "Color with which to draw insertion cursor" msgstr "Cor coa que debuxar o cursor de inserción" -#: ../gtk/gtkwidget.c:3069 +#: ../gtk/gtkwidget.c:3013 msgid "Secondary cursor color" msgstr "Cor secundaria do cursor" -#: ../gtk/gtkwidget.c:3070 +#: ../gtk/gtkwidget.c:3014 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7157,43 +7157,43 @@ msgstr "" "Cor coa que debuxar o cursor de inserción secundario cando se edita unha " "mestura de texto de dereita a esquerda e de esquerda a dereita" -#: ../gtk/gtkwidget.c:3075 +#: ../gtk/gtkwidget.c:3019 msgid "Cursor line aspect ratio" msgstr "Proporción de aspecto da liña do cursor" -#: ../gtk/gtkwidget.c:3076 +#: ../gtk/gtkwidget.c:3020 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Proporción de aspecto coa que debuxar o cursor de inserción" -#: ../gtk/gtkwidget.c:3082 +#: ../gtk/gtkwidget.c:3026 msgid "Window dragging" msgstr "Arrastre da xanela" -#: ../gtk/gtkwidget.c:3083 +#: ../gtk/gtkwidget.c:3027 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica se as xanelas se poden arrastrar premendo nas áreas baleiras" -#: ../gtk/gtkwidget.c:3096 +#: ../gtk/gtkwidget.c:3040 msgid "Unvisited Link Color" msgstr "Cor de ligazón non visitada" -#: ../gtk/gtkwidget.c:3097 +#: ../gtk/gtkwidget.c:3041 msgid "Color of unvisited links" msgstr "Cor de ligazóns non visitadas" -#: ../gtk/gtkwidget.c:3110 +#: ../gtk/gtkwidget.c:3054 msgid "Visited Link Color" msgstr "Cor de ligazón visitada" -#: ../gtk/gtkwidget.c:3111 +#: ../gtk/gtkwidget.c:3055 msgid "Color of visited links" msgstr "Cor de ligazóns visitadas" -#: ../gtk/gtkwidget.c:3125 +#: ../gtk/gtkwidget.c:3069 msgid "Wide Separators" msgstr "Separadores largos" -#: ../gtk/gtkwidget.c:3126 +#: ../gtk/gtkwidget.c:3070 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7201,81 +7201,81 @@ msgstr "" "Indica se os separadores teñen unha largura configurábel e se deberían " "debuxarse usando unha caixa en vez dunha liña" -#: ../gtk/gtkwidget.c:3140 +#: ../gtk/gtkwidget.c:3084 msgid "Separator Width" msgstr "Largura do separador" -#: ../gtk/gtkwidget.c:3141 +#: ../gtk/gtkwidget.c:3085 msgid "The width of separators if wide-separators is TRUE" -msgstr "A largura dos separadores se \"wide-separators\" é TRUE" +msgstr "A largura dos separadores se «wide-separators» é TRUE" -#: ../gtk/gtkwidget.c:3155 +#: ../gtk/gtkwidget.c:3099 msgid "Separator Height" msgstr "Altura do separador" -#: ../gtk/gtkwidget.c:3156 +#: ../gtk/gtkwidget.c:3100 msgid "The height of separators if \"wide-separators\" is TRUE" -msgstr "A altura dos separadores se \"wide-separators\" é TRUE" +msgstr "A altura dos separadores se «wide-separators» é TRUE" -#: ../gtk/gtkwidget.c:3170 +#: ../gtk/gtkwidget.c:3114 msgid "Horizontal Scroll Arrow Length" msgstr "Lonxitude da frecha de desprazamento horizontal" -#: ../gtk/gtkwidget.c:3171 +#: ../gtk/gtkwidget.c:3115 msgid "The length of horizontal scroll arrows" msgstr "A lonxitude das frechas de desprazamento horizontal" -#: ../gtk/gtkwidget.c:3185 +#: ../gtk/gtkwidget.c:3129 msgid "Vertical Scroll Arrow Length" msgstr "Lonxitude das frechas de desprazamento vertical" -#: ../gtk/gtkwidget.c:3186 +#: ../gtk/gtkwidget.c:3130 msgid "The length of vertical scroll arrows" msgstr "A lonxitude das frechas de desprazamento vertical" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:614 msgid "Window Type" msgstr "Tipo de xanela" -#: ../gtk/gtkwindow.c:616 +#: ../gtk/gtkwindow.c:615 msgid "The type of the window" msgstr "O tipo da xanela" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:623 msgid "Window Title" msgstr "Título da xanela" -#: ../gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:624 msgid "The title of the window" msgstr "O título da xanela" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:631 msgid "Window Role" msgstr "Rol da xanela" -#: ../gtk/gtkwindow.c:633 +#: ../gtk/gtkwindow.c:632 msgid "Unique identifier for the window to be used when restoring a session" msgstr "" "Identificador único para a xanela que se usará ao restaurar unha sesión" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:648 msgid "Startup ID" msgstr "ID de inicio" -#: ../gtk/gtkwindow.c:650 +#: ../gtk/gtkwindow.c:649 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador único para a xanela que se usará para a notificación de inicio" -#: ../gtk/gtkwindow.c:658 +#: ../gtk/gtkwindow.c:657 msgid "If TRUE, users can resize the window" msgstr "Se é TRUE, os usuarios poden redimensionar a xanela" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:664 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:666 +#: ../gtk/gtkwindow.c:665 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7283,78 +7283,78 @@ msgstr "" "Se é TRUE, a xanela é modal (non é posíbel usar outras xanelas mentres esta " "está encima)" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:672 msgid "Window Position" msgstr "Posición da xanela" -#: ../gtk/gtkwindow.c:674 +#: ../gtk/gtkwindow.c:673 msgid "The initial position of the window" msgstr "A posición inicial da xanela" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:681 msgid "Default Width" msgstr "Largura predefinida" -#: ../gtk/gtkwindow.c:683 +#: ../gtk/gtkwindow.c:682 msgid "The default width of the window, used when initially showing the window" msgstr "" "A largura predefinida da xanela, usada cando se mostra inicialmente a xanela" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:691 msgid "Default Height" msgstr "Altura predefinida" -#: ../gtk/gtkwindow.c:693 +#: ../gtk/gtkwindow.c:692 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "A altura predefinida da xanela, usada cando se mostra inicialmente a xanela" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:701 msgid "Destroy with Parent" msgstr "Destruír co pai" -#: ../gtk/gtkwindow.c:703 +#: ../gtk/gtkwindow.c:702 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Se esta xanela debería ser destruída cando se destrúe o pai" -#: ../gtk/gtkwindow.c:711 +#: ../gtk/gtkwindow.c:710 msgid "Icon for this window" msgstr "Icona para esta xanela" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:716 msgid "Mnemonics Visible" msgstr "Mnemónicos visíbeis" -#: ../gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:717 msgid "Whether mnemonics are currently visible in this window" msgstr "Indica se os mnemónicos están visíbeis actualmente nesta xanela" -#: ../gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:733 msgid "Name of the themed icon for this window" msgstr "Nome da icona de tema para esta xanela" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:748 msgid "Is Active" msgstr "Está activo" -#: ../gtk/gtkwindow.c:750 +#: ../gtk/gtkwindow.c:749 msgid "Whether the toplevel is the current active window" msgstr "Indica se o nivel superior é a xanela activa actual" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:756 msgid "Focus in Toplevel" msgstr "Foco no nivel superior" -#: ../gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:757 msgid "Whether the input focus is within this GtkWindow" msgstr "Indica se o foco de entrada está dentro desta GtkWindow" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:764 msgid "Type hint" msgstr "Suxestión de tipo" -#: ../gtk/gtkwindow.c:766 +#: ../gtk/gtkwindow.c:765 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7362,118 +7362,146 @@ msgstr "" "Suxestión para axudar ao contorno de escritorio a entender que clase de " "xanela é e como tratar con ela." -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:773 msgid "Skip taskbar" msgstr "Omitir a barra de tarefas" -#: ../gtk/gtkwindow.c:775 +#: ../gtk/gtkwindow.c:774 msgid "TRUE if the window should not be in the task bar." msgstr "É TRUE se a xanela non debe estar na barra de tarefas." -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:781 msgid "Skip pager" msgstr "Omitir o paxinador" -#: ../gtk/gtkwindow.c:783 +#: ../gtk/gtkwindow.c:782 msgid "TRUE if the window should not be in the pager." msgstr "É TRUE se a xanela non debe estar no paxinador." -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:789 msgid "Urgent" msgstr "Urxente" -#: ../gtk/gtkwindow.c:791 +#: ../gtk/gtkwindow.c:790 msgid "TRUE if the window should be brought to the user's attention." msgstr "É TRUE se a xanela debe chamar a atención do usuario." -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:804 msgid "Accept focus" msgstr "Aceptar o foco" -#: ../gtk/gtkwindow.c:806 +#: ../gtk/gtkwindow.c:805 msgid "TRUE if the window should receive the input focus." msgstr "É TRUE se a xanela non debe recibir o foco de entrada." -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:819 msgid "Focus on map" msgstr "Foco no mapa" -#: ../gtk/gtkwindow.c:821 +#: ../gtk/gtkwindow.c:820 msgid "TRUE if the window should receive the input focus when mapped." msgstr "É TRUE se a xanela debería recibir o foco de entrada cando se mapee." -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:834 msgid "Decorated" msgstr "Decorado" -#: ../gtk/gtkwindow.c:836 +#: ../gtk/gtkwindow.c:835 msgid "Whether the window should be decorated by the window manager" msgstr "Indica se o xestor de xanelas debe decorar a xanela" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:849 msgid "Deletable" msgstr "Eliminábel" -#: ../gtk/gtkwindow.c:851 +#: ../gtk/gtkwindow.c:850 msgid "Whether the window frame should have a close button" msgstr "Indica se o marco da xanela debería ter un botón de pechar" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:869 msgid "Resize grip" msgstr "Tirador de redimensión" -#: ../gtk/gtkwindow.c:871 +#: ../gtk/gtkwindow.c:870 msgid "Specifies whether the window should have a resize grip" msgstr "Indica se a xanela debe ter un tirador de redimensión" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:884 msgid "Resize grip is visible" msgstr "O tirador de redimensión é visíbel" -#: ../gtk/gtkwindow.c:886 +#: ../gtk/gtkwindow.c:885 msgid "Specifies whether the window's resize grip is visible." msgstr "Indica se o tirador de redimensión da xanela é visíbel." -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:901 msgid "Gravity" msgstr "Gravidade" -#: ../gtk/gtkwindow.c:903 +#: ../gtk/gtkwindow.c:902 msgid "The window gravity of the window" msgstr "O tipo de gravidade da xanela" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:919 msgid "Transient for Window" msgstr "Transición para a xanela" -#: ../gtk/gtkwindow.c:921 +#: ../gtk/gtkwindow.c:920 msgid "The transient parent of the dialog" msgstr "O pai transicional do diálogo" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:935 msgid "Opacity for Window" msgstr "Opacidade para a xanela" -#: ../gtk/gtkwindow.c:937 +#: ../gtk/gtkwindow.c:936 msgid "The opacity of the window, from 0 to 1" msgstr "A opacidade da xanela; de 0 até 1" -#: ../gtk/gtkwindow.c:947 ../gtk/gtkwindow.c:948 +#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 msgid "Width of resize grip" msgstr "Anchura do tirador de redimensión" -#: ../gtk/gtkwindow.c:953 ../gtk/gtkwindow.c:954 +#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 msgid "Height of resize grip" msgstr "Altura do tirador de redimensión" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:972 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:974 +#: ../gtk/gtkwindow.c:973 msgid "The GtkApplication for the window" msgstr "O GtkApplication para a xanela" +# verificar: High= alta e low= baixa +#~ msgid "Lower" +#~ msgstr "Inferior" + +#~ msgid "Lower limit of ruler" +#~ msgstr "Límite inferior da regra" + +#~ msgid "Upper" +#~ msgstr "Superior" + +#~ msgid "Upper limit of ruler" +#~ msgstr "Límite superior da regra" + +#~ msgid "Position of mark on the ruler" +#~ msgstr "Posición da marca na regra" + +#~ msgid "Max Size" +#~ msgstr "Tamaño máximo" + +#~ msgid "Maximum size of the ruler" +#~ msgstr "Tamaño máximo da regra" + +#~ msgid "Metric" +#~ msgstr "Métrica" + +#~ msgid "The metric used for the ruler" +#~ msgstr "A métrica que se usa na regra" + #~ msgid "Horizontal adjustment" #~ msgstr "Axuste horizontal" diff --git a/po/gl.po b/po/gl.po index 63272e3950..1e7d406110 100644 --- a/po/gl.po +++ b/po/gl.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-gl-77922___.merged\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-26 16:52+0200\n" -"PO-Revision-Date: 2010-10-25 01:05+0200\n" +"POT-Creation-Date: 2010-12-05 14:56+0100\n" +"PO-Revision-Date: 2010-12-05 14:56+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -32,58 +32,58 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdk.c:104 +#: ../gdk/gdk.c:115 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Produciuse un erro ao analizar a opción --gdk-debug" -#: ../gdk/gdk.c:124 +#: ../gdk/gdk.c:135 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Produciuse un erro ao analizar a opción --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:152 +#: ../gdk/gdk.c:163 msgid "Program class as used by the window manager" msgstr "Clase de programa tal como a usa o xestor de xanelas" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:153 +#: ../gdk/gdk.c:164 msgid "CLASS" msgstr "CLASE" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:155 +#: ../gdk/gdk.c:166 msgid "Program name as used by the window manager" msgstr "Nome do programa tal como o usa o xestor de xanelas" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:156 +#: ../gdk/gdk.c:167 msgid "NAME" msgstr "NOME" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:158 +#: ../gdk/gdk.c:169 msgid "X display to use" msgstr "Pantalla de X que se vai usar" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:159 +#: ../gdk/gdk.c:170 msgid "DISPLAY" msgstr "PANTALLA" #. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:161 +#: ../gdk/gdk.c:172 msgid "X screen to use" msgstr "Pantalla X que se vai usar" #. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:162 +#: ../gdk/gdk.c:173 msgid "SCREEN" msgstr "PANTALLA" #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:165 +#: ../gdk/gdk.c:176 msgid "GDK debugging flags to set" msgstr "Opcións de depuración GDK para estabelecer" @@ -91,12 +91,12 @@ msgstr "Opcións de depuración GDK para estabelecer" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 +#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 msgid "FLAGS" msgstr "PARÁMETROS" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:168 +#: ../gdk/gdk.c:179 msgid "GDK debugging flags to unset" msgstr "Opcións de depuración GDK para quitar" @@ -315,17 +315,17 @@ msgstr "Tamaño da paleta en modo 8 bits" msgid "COLORS" msgstr "CORES" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 #, c-format msgid "Starting %s" msgstr "Iniciando %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 #, c-format msgid "Opening %s" msgstr "Abrindo %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" @@ -346,7 +346,7 @@ msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" "Este programa non fornece NINGUNHA GARANTÍA, para máis información visite %s" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2232 +#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 msgid "License" msgstr "Licenza" @@ -355,41 +355,41 @@ msgid "The license of the program" msgstr "A licenza do programa" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:622 msgid "C_redits" msgstr "C_réditos" #. Add the license button -#: ../gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:636 msgid "_License" msgstr "_Licenza" -#: ../gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:840 msgid "Could not show link" msgstr "Non foi posíbel mostrar a ligazón" -#: ../gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:933 #, c-format msgid "About %s" msgstr "Sobre %s" -#: ../gtk/gtkaboutdialog.c:2150 +#: ../gtk/gtkaboutdialog.c:2151 msgid "Credits" msgstr "Créditos" -#: ../gtk/gtkaboutdialog.c:2182 +#: ../gtk/gtkaboutdialog.c:2183 msgid "Written by" msgstr "Escrito por" -#: ../gtk/gtkaboutdialog.c:2185 +#: ../gtk/gtkaboutdialog.c:2186 msgid "Documented by" msgstr "Documentado por" -#: ../gtk/gtkaboutdialog.c:2197 +#: ../gtk/gtkaboutdialog.c:2198 msgid "Translated by" msgstr "Traducido por" -#: ../gtk/gtkaboutdialog.c:2201 +#: ../gtk/gtkaboutdialog.c:2202 msgid "Artwork by" msgstr "Material gráfico por" @@ -495,7 +495,7 @@ msgstr "Etiqueta non compatíbel: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:873 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:MY" @@ -503,7 +503,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:911 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -512,7 +512,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1843 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -527,7 +527,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1874 ../gtk/gtkcalendar.c:2535 +#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -543,7 +543,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1906 ../gtk/gtkcalendar.c:2403 +#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -559,7 +559,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2168 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -595,15 +595,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:175 ../gtk/gtkcolorbutton.c:460 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 msgid "Pick a Color" msgstr "Seleccione unha cor" -#: ../gtk/gtkcolorbutton.c:350 +#: ../gtk/gtkcolorbutton.c:363 msgid "Received invalid color data\n" msgstr "Recibiuse un dato de cor incorrecto\n" -#: ../gtk/gtkcolorsel.c:395 +#: ../gtk/gtkcolorsel.c:416 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -611,7 +611,7 @@ msgstr "" "Seleccione a cor que quere desde o anel exterior. Seleccione a escuridade ou " "luminosidade usando o triángulo interior." -#: ../gtk/gtkcolorsel.c:419 +#: ../gtk/gtkcolorsel.c:440 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -619,67 +619,67 @@ msgstr "" "Seleccione o contagotas, despois prema sobre calquera cor que haxa na súa " "pantalla para seleccionala." -#: ../gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "_Matiz:" -#: ../gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "Posición na roda de cores." -#: ../gtk/gtkcolorsel.c:431 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "_Saturación:" -#: ../gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." msgstr "Intensidade da cor." -#: ../gtk/gtkcolorsel.c:433 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "_Valor:" -#: ../gtk/gtkcolorsel.c:434 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "Brillo da cor." -#: ../gtk/gtkcolorsel.c:435 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "_Vermello:" -#: ../gtk/gtkcolorsel.c:436 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "Cantidade de luz vermella na cor." -#: ../gtk/gtkcolorsel.c:437 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "V_erde:" -#: ../gtk/gtkcolorsel.c:438 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "Cantidade de luz verde na cor." -#: ../gtk/gtkcolorsel.c:439 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "_Azul:" -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "Cantidade de luz azul na cor." -#: ../gtk/gtkcolorsel.c:443 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "Op_acidade:" -#: ../gtk/gtkcolorsel.c:450 ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "Transparencia da cor." -#: ../gtk/gtkcolorsel.c:467 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "_Nome da cor:" -#: ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:502 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -687,15 +687,15 @@ msgstr "" "Nesta entrada pode introducir un valor de cor en estilo HTML hexadecimal ou " "simplemente un nome de cor como 'orange'." -#: ../gtk/gtkcolorsel.c:511 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "_Paleta:" -#: ../gtk/gtkcolorsel.c:540 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "Roda de cor" -#: ../gtk/gtkcolorsel.c:1010 +#: ../gtk/gtkcolorsel.c:1031 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -706,7 +706,7 @@ msgstr "" "seleccionar esta cor como actual arrastrándoa até a outra cor ao longo da " "mostra." -#: ../gtk/gtkcolorsel.c:1013 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -714,7 +714,7 @@ msgstr "" "A cor que escolleu. Pode arrastrar esta cor a unha entrada da paleta e " "gardala para usala no futuro." -#: ../gtk/gtkcolorsel.c:1018 +#: ../gtk/gtkcolorsel.c:1039 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -722,15 +722,15 @@ msgstr "" "A cor seleccionada anteriormente, para comparar coa cor que seleccionou " "agora." -#: ../gtk/gtkcolorsel.c:1021 +#: ../gtk/gtkcolorsel.c:1042 msgid "The color you've chosen." msgstr "A cor que seleccionou." -#: ../gtk/gtkcolorsel.c:1421 +#: ../gtk/gtkcolorsel.c:1442 msgid "_Save color here" msgstr "_Gardar a cor aquí" -#: ../gtk/gtkcolorsel.c:1626 +#: ../gtk/gtkcolorsel.c:1647 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -807,23 +807,23 @@ msgstr "_Dereito:" msgid "Paper Margins" msgstr "Marxes do papel" -#: ../gtk/gtkentry.c:8570 ../gtk/gtktextview.c:8185 +#: ../gtk/gtkentry.c:8793 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8584 ../gtk/gtktextview.c:8199 +#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "_Inserir un carácter de control Unicode" -#: ../gtk/gtkentry.c:9984 +#: ../gtk/gtkentry.c:10207 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Maiús e Bloq Num estás activados" -#: ../gtk/gtkentry.c:9986 +#: ../gtk/gtkentry.c:10209 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:9988 +#: ../gtk/gtkentry.c:10211 msgid "Caps Lock is on" msgstr "Bloq Maiús está activado" @@ -842,7 +842,7 @@ msgstr "Escritorio" msgid "(None)" msgstr "(Ningún)" -#: ../gtk/gtkfilechooserbutton.c:1997 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Outro..." @@ -903,192 +903,192 @@ msgstr "%1$s en %2$s" msgid "Search" msgstr "Buscar" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9382 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417 msgid "Recently Used" msgstr "Usado recentemente" -#: ../gtk/gtkfilechooserdefault.c:2430 +#: ../gtk/gtkfilechooserdefault.c:2437 msgid "Select which types of files are shown" msgstr "Seleccione que tipos de ficheiros se mostran" -#: ../gtk/gtkfilechooserdefault.c:2789 +#: ../gtk/gtkfilechooserdefault.c:2796 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Engadirlle o cartafol «%s» aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:2833 +#: ../gtk/gtkfilechooserdefault.c:2840 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Engadirlle o cartafol actual aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:2835 +#: ../gtk/gtkfilechooserdefault.c:2842 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Engadirlle os cartafoles seleccionados aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:2873 +#: ../gtk/gtkfilechooserdefault.c:2880 #, c-format msgid "Remove the bookmark '%s'" msgstr "Eliminar o marcador «%s»" -#: ../gtk/gtkfilechooserdefault.c:2875 +#: ../gtk/gtkfilechooserdefault.c:2882 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "O marcador «%s» non pode ser eliminado" -#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3746 +#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750 msgid "Remove the selected bookmark" msgstr "Eliminar o marcador seleccionado" -#: ../gtk/gtkfilechooserdefault.c:3442 +#: ../gtk/gtkfilechooserdefault.c:3445 msgid "Remove" msgstr "Eliminar" -#: ../gtk/gtkfilechooserdefault.c:3451 +#: ../gtk/gtkfilechooserdefault.c:3454 msgid "Rename..." msgstr "Renomear..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3614 +#: ../gtk/gtkfilechooserdefault.c:3617 msgid "Places" msgstr "Lugares" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3671 +#: ../gtk/gtkfilechooserdefault.c:3674 msgid "_Places" msgstr "_Lugares" -#: ../gtk/gtkfilechooserdefault.c:3727 +#: ../gtk/gtkfilechooserdefault.c:3731 msgid "_Add" msgstr "_Engadir" -#: ../gtk/gtkfilechooserdefault.c:3734 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "Add the selected folder to the Bookmarks" msgstr "Engadir o cartafol seleccionado aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:3739 +#: ../gtk/gtkfilechooserdefault.c:3743 msgid "_Remove" msgstr "_Eliminar" -#: ../gtk/gtkfilechooserdefault.c:3881 +#: ../gtk/gtkfilechooserdefault.c:3885 msgid "Could not select file" msgstr "Non foi posíbel seleccionar o ficheiro" -#: ../gtk/gtkfilechooserdefault.c:4056 +#: ../gtk/gtkfilechooserdefault.c:4060 msgid "_Add to Bookmarks" msgstr "_Engadir aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:4069 +#: ../gtk/gtkfilechooserdefault.c:4073 msgid "Show _Hidden Files" msgstr "Mostrar os ficheiros _ocultos" -#: ../gtk/gtkfilechooserdefault.c:4076 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Size Column" msgstr "Mostrar a columna de _tamaño" -#: ../gtk/gtkfilechooserdefault.c:4302 +#: ../gtk/gtkfilechooserdefault.c:4306 msgid "Files" msgstr "Ficheiros" -#: ../gtk/gtkfilechooserdefault.c:4353 +#: ../gtk/gtkfilechooserdefault.c:4357 msgid "Name" msgstr "Nome" -#: ../gtk/gtkfilechooserdefault.c:4376 +#: ../gtk/gtkfilechooserdefault.c:4380 msgid "Size" msgstr "Tamaño" -#: ../gtk/gtkfilechooserdefault.c:4390 +#: ../gtk/gtkfilechooserdefault.c:4394 msgid "Modified" msgstr "Modificado" #. Label -#: ../gtk/gtkfilechooserdefault.c:4645 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Nome:" -#: ../gtk/gtkfilechooserdefault.c:4688 +#: ../gtk/gtkfilechooserdefault.c:4692 msgid "_Browse for other folders" msgstr "_Buscar outros cartafoles" -#: ../gtk/gtkfilechooserdefault.c:4958 +#: ../gtk/gtkfilechooserdefault.c:4962 msgid "Type a file name" msgstr "Teclee un nome de ficheiro" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5001 +#: ../gtk/gtkfilechooserdefault.c:5005 msgid "Create Fo_lder" msgstr "Crear car_tafol" -#: ../gtk/gtkfilechooserdefault.c:5011 +#: ../gtk/gtkfilechooserdefault.c:5015 msgid "_Location:" msgstr "_Localización:" -#: ../gtk/gtkfilechooserdefault.c:5215 +#: ../gtk/gtkfilechooserdefault.c:5219 msgid "Save in _folder:" msgstr "Gardar no _cartafol:" -#: ../gtk/gtkfilechooserdefault.c:5217 +#: ../gtk/gtkfilechooserdefault.c:5221 msgid "Create in _folder:" msgstr "Crear no _cartafol:" -#: ../gtk/gtkfilechooserdefault.c:6286 +#: ../gtk/gtkfilechooserdefault.c:6290 #, c-format msgid "Could not read the contents of %s" msgstr "Non foi posíbel ler os contidos do %s" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6294 msgid "Could not read the contents of the folder" msgstr "Non foi posíbel ler os contidos do cartafol" -#: ../gtk/gtkfilechooserdefault.c:6383 ../gtk/gtkfilechooserdefault.c:6451 -#: ../gtk/gtkfilechooserdefault.c:6596 +#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455 +#: ../gtk/gtkfilechooserdefault.c:6600 msgid "Unknown" msgstr "Descoñecido" -#: ../gtk/gtkfilechooserdefault.c:6398 +#: ../gtk/gtkfilechooserdefault.c:6402 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6400 +#: ../gtk/gtkfilechooserdefault.c:6404 msgid "Yesterday at %H:%M" msgstr "Onte ás %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7066 +#: ../gtk/gtkfilechooserdefault.c:7070 msgid "Cannot change to folder because it is not local" msgstr "Non é posíbel cambiar ao cartafol porque non é local" -#: ../gtk/gtkfilechooserdefault.c:7663 ../gtk/gtkfilechooserdefault.c:7684 +#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688 #, c-format msgid "Shortcut %s already exists" msgstr "O atallo %s xa existe" -#: ../gtk/gtkfilechooserdefault.c:7774 +#: ../gtk/gtkfilechooserdefault.c:7778 #, c-format msgid "Shortcut %s does not exist" msgstr "O atallo %s non existe" -#: ../gtk/gtkfilechooserdefault.c:8035 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Xa existe un ficheiro con nome «%s». Quere substituílo?" -#: ../gtk/gtkfilechooserdefault.c:8038 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "O ficheiro xa existe en «%s». Se o substitúe sobrescribirá os seus contidos." -#: ../gtk/gtkfilechooserdefault.c:8043 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Substituír" -#: ../gtk/gtkfilechooserdefault.c:8751 +#: ../gtk/gtkfilechooserdefault.c:8755 msgid "Could not start the search process" msgstr "Non foi posíbel iniciar o proceso de busca" -#: ../gtk/gtkfilechooserdefault.c:8752 +#: ../gtk/gtkfilechooserdefault.c:8756 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1096,15 +1096,15 @@ msgstr "" "O programa non puido crear unha conexión co deamon indexador. Asegúrese de " "que está en execución." -#: ../gtk/gtkfilechooserdefault.c:8766 +#: ../gtk/gtkfilechooserdefault.c:8770 msgid "Could not send the search request" msgstr "Non foi posíbel enviar a solicitude de busca" -#: ../gtk/gtkfilechooserdefault.c:8954 +#: ../gtk/gtkfilechooserdefault.c:8989 msgid "Search:" msgstr "Buscar:" -#: ../gtk/gtkfilechooserdefault.c:9559 +#: ../gtk/gtkfilechooserdefault.c:9594 #, c-format msgid "Could not mount %s" msgstr "Non foi posíbel montar %s" @@ -1207,11 +1207,11 @@ msgid "Si_ze:" msgstr "_Tamaño:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_Previsualización:" -#: ../gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Selección do tipo de letra" @@ -1223,7 +1223,7 @@ msgstr "Selección do tipo de letra" msgid "Error loading icon: %s" msgstr "Produciuse un erro ao cargar a icona: %s" -#: ../gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1236,12 +1236,12 @@ msgstr "" "Pode obter unha copia desde:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "A icona «%s» non está presente no tema" -#: ../gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Produciuse un fallo ao cargar a icona" @@ -1266,12 +1266,12 @@ msgid "System (%s)" msgstr "Sistema (%s)" #. Open Link -#: ../gtk/gtklabel.c:6196 +#: ../gtk/gtklabel.c:6233 msgid "_Open Link" msgstr "_Abrir a ligazón" #. Copy Link Address -#: ../gtk/gtklabel.c:6208 +#: ../gtk/gtklabel.c:6245 msgid "Copy _Link Address" msgstr "Copiar o enderezo da _ligazón" @@ -1284,27 +1284,27 @@ msgid "Invalid URI" msgstr "URI incorrecto" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:516 msgid "Load additional GTK+ modules" msgstr "Cargar os módulos adicionais GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:528 +#: ../gtk/gtkmain.c:517 msgid "MODULES" msgstr "MÓDULOS" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:530 +#: ../gtk/gtkmain.c:519 msgid "Make all warnings fatal" msgstr "Facer todos os avisos fatais" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:533 +#: ../gtk/gtkmain.c:522 msgid "GTK+ debugging flags to set" msgstr "Marcas de depuración GTK+ para activar" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:536 +#: ../gtk/gtkmain.c:525 msgid "GTK+ debugging flags to unset" msgstr "Marcas de depuración GTK+ para desconfigurar" @@ -1313,20 +1313,20 @@ msgstr "Marcas de depuración GTK+ para desconfigurar" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:799 +#: ../gtk/gtkmain.c:788 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:864 +#: ../gtk/gtkmain.c:852 #, c-format msgid "Cannot open display: %s" msgstr "Non é posíbel abrir a pantalla: %s" -#: ../gtk/gtkmain.c:923 +#: ../gtk/gtkmain.c:911 msgid "GTK+ Options" msgstr "Opcións GTK+" -#: ../gtk/gtkmain.c:923 +#: ../gtk/gtkmain.c:911 msgid "Show GTK+ Options" msgstr "Mostrar opcións GTK+" @@ -1411,12 +1411,12 @@ msgstr "Intérprete de ordes Z" msgid "Cannot end process with PID %d: %s" msgstr "Non é posíbel finalizar o proceso co PID %d: %s" -#: ../gtk/gtknotebook.c:4724 ../gtk/gtknotebook.c:7287 +#: ../gtk/gtknotebook.c:4758 ../gtk/gtknotebook.c:7353 #, c-format msgid "Page %u" msgstr "Páxina %u" -#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 #: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Non é un ficheiro correcto de configuración de páxina" @@ -1464,15 +1464,15 @@ msgstr "_Orientación:" msgid "Page Setup" msgstr "Configuración de páxina" -#: ../gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Camiño superior" -#: ../gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Camiño inferior" -#: ../gtk/gtkpathbar.c:1490 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "Sistema de ficheiros raíz" @@ -1955,12 +1955,12 @@ msgstr "Algunhas das configuracións do diálogo están en conflito" msgid "Print" msgstr "Imprimir" -#: ../gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2855 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "Non é posíbel localizar o ficheiro 'include': «%s»" -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3491 ../gtk/gtkrc.c:3494 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Non é posíbel localizar o ficheiro de imaxe no pixmap_path: «%s»" @@ -2071,12 +2071,12 @@ msgstr "" "Non foi posíbel encontrar ningún aplicativo rexistrado co nome «%s» para o " "elemento co URI «%s»" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Axustador" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "Fornece un indicador visual de progreso" @@ -2584,6 +2584,32 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "Red_ucir" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +msgctxt "switch" +msgid "ON" +msgstr "ACENDIDO" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +msgctxt "switch" +msgid "OFF" +msgstr "APAGADO" + +#: ../gtk/gtkswitch.c:943 +msgctxt "light switch widget" +msgid "Switch" +msgstr "Interruptor" + +#: ../gtk/gtkswitch.c:944 +msgid "Switches between on and off states" +msgstr "Cambia entre os estados acendido e apagado" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2594,109 +2620,109 @@ msgstr "Erro descoñecido ao tentar deserializar %s" msgid "No deserialize function found for format %s" msgstr "Non se localizou a función de deserializar para o formato %s" -#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Localizáronse tanto \"id\" como \"name\" no elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "O atributo «%s» localizouse dúas veces no elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:851 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "O elemento <%s> ten un ID «%s» non válido" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "" "O elemento <%s> non ten nin un atributo \"name\" nin un atributo \"id\"" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "O atributo «%s» repítese dúas veces no mesmo elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "O atributo «%s» non é válido no elemento <%s> neste contexto" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "A etiqueta «%s» non foi definida." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "Localizouse unha etiqueta anónima e non é posíbel crear as etiquetas." -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "A etiqueta «%s» non existe no búfer e non é posíbel crear as etiquetas." -#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Non se permite o elemento <%s> por baixo de <%s>" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» non é un tipo de atributo correcto" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» non é un nome de atributo correcto" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "Non foi posíbel converter «%s» nun valor de tipo «%s» para o atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» non é un valor correcto para o atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "A etiqueta «%s» xa está definida" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "A etiqueta «%s» ten a prioridade incorrecta«%s»" -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "O elemento máis extremo no texto debe ser non <%s>" -#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "Xa se especificou un elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr "Un elemento non pode aparecer antes dun elemento " -#: ../gtk/gtktextbufferserialize.c:1796 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "Os datos serializados están formados incorrectamente" -#: ../gtk/gtktextbufferserialize.c:1874 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -3655,81 +3681,81 @@ msgstr "Produciuse un fallo ao escribir o índice do cartafol\n" msgid "Failed to rewrite header\n" msgstr "Produciuse un fallo ao reescribir a cabeceira\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Produciuse un fallo ao abrir o ficheiro %s : %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Produciuse un fallo ao escribir o ficheiro da caché: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "A caché xerada non é correcta.\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Non foi posíbel renomear %s como %s: %s, ao eliminar %s despois.\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Non foi posíbel renomear %s como %s: %s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "Non foi posíbel volver a renomear %s como %s: %s.\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "O ficheiro da caché creouse correctamente.\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Substituír unha caché existente, mesmo se está actualizada" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "Non verificar a existencia de index.theme" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Non incluír os datos da imaxe na caché" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "Xerar un ficheiro de cabeceira C" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Desactivar a saída detallada" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Validar a caché de iconas existente" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "O ficheiro non foi encontrado: %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Non é unha caché de iconas correcta: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "Non hai ficheiro de índice de tema.\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -4147,32 +4173,32 @@ msgstr "Personalizado %sx%s" msgid "output.%s" msgstr "saída.%s" -#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Imprimir a un ficheiro" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Pá_xinas por folla:" -#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "Ficheiro" -#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "Formato de _saída" From 131783005e19a9ccaaf81daee291b5cb431685dd Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 15:12:53 +0100 Subject: [PATCH 0356/1463] Use structure bitfield instead of GtkTreeViewFlags --- gtk/gtktreeview.c | 139 ++++++++++++++++++++-------------------------- 1 file changed, 59 insertions(+), 80 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 4088015f21..0a7bf5db38 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -134,19 +134,6 @@ * */ - -typedef enum -{ - GTK_TREE_VIEW_IS_LIST = 1 << 0, - GTK_TREE_VIEW_SHOW_EXPANDERS = 1 << 1, - GTK_TREE_VIEW_IN_COLUMN_RESIZE = 1 << 2, - GTK_TREE_VIEW_ARROW_PRELIT = 1 << 3, - GTK_TREE_VIEW_HEADERS_VISIBLE = 1 << 4, - GTK_TREE_VIEW_DRAW_KEYFOCUS = 1 << 5, - GTK_TREE_VIEW_MODEL_SETUP = 1 << 6, - GTK_TREE_VIEW_IN_COLUMN_DRAG = 1 << 7 -} GtkTreeViewFlags; - enum { DRAG_COLUMN_WINDOW_STATE_UNSET = 0, @@ -163,10 +150,6 @@ enum RUBBER_BAND_ACTIVE = 2 }; -#define GTK_TREE_VIEW_SET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags|=flag); }G_STMT_END -#define GTK_TREE_VIEW_UNSET_FLAG(tree_view, flag) G_STMT_START{ (tree_view->priv->flags&=~(flag)); }G_STMT_END -#define GTK_TREE_VIEW_FLAG_SET(tree_view, flag) ((tree_view->priv->flags&flag)==flag) - /* This lovely little value is used to determine how far away from the title bar * you can move the mouse and still have a column drag work. */ @@ -309,7 +292,6 @@ struct _GtkTreeViewPrivate { GtkTreeModel *model; - guint flags; /* tree information */ GtkRBTree *tree; @@ -527,6 +509,16 @@ struct _GtkTreeViewPrivate * driving the scrollable adjustment values */ guint hscroll_policy : 1; guint vscroll_policy : 1; + + /* GtkTreeView flags */ + guint is_list : 1; + guint show_expanders : 1; + guint in_column_resize : 1; + guint arrow_prelit : 1; + guint headers_visible : 1; + guint draw_keyfocus : 1; + guint model_setup : 1; + guint in_column_drag : 1; }; @@ -1718,9 +1710,9 @@ gtk_tree_view_init (GtkTreeView *tree_view) gtk_widget_set_can_focus (GTK_WIDGET (tree_view), TRUE); gtk_widget_set_redraw_on_allocate (GTK_WIDGET (tree_view), FALSE); - tree_view->priv->flags = GTK_TREE_VIEW_SHOW_EXPANDERS - | GTK_TREE_VIEW_DRAW_KEYFOCUS - | GTK_TREE_VIEW_HEADERS_VISIBLE; + tree_view->priv->show_expanders = TRUE; + tree_view->priv->draw_keyfocus = TRUE; + tree_view->priv->headers_visible = TRUE; /* We need some padding */ tree_view->priv->dy = 0; @@ -1921,7 +1913,7 @@ gtk_tree_view_get_property (GObject *object, g_value_set_boolean (value, tree_view->priv->hover_expand); break; case PROP_SHOW_EXPANDERS: - g_value_set_boolean (value, GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)); + g_value_set_boolean (value, tree_view->priv->show_expanders); break; case PROP_LEVEL_INDENTATION: g_value_set_int (value, tree_view->priv->level_indentation); @@ -2128,7 +2120,7 @@ gtk_tree_view_map_buttons (GtkTreeView *tree_view) g_return_if_fail (gtk_widget_get_mapped (GTK_WIDGET (tree_view))); - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) + if (tree_view->priv->headers_visible) { GtkTreeViewColumn *column; GtkWidget *button; @@ -2959,7 +2951,7 @@ grab_focus_and_unset_draw_keyfocus (GtkTreeView *tree_view) if (gtk_widget_get_can_focus (widget) && !gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); + tree_view->priv->draw_keyfocus = 0; } static inline gboolean @@ -3038,7 +3030,7 @@ gtk_tree_view_button_press (GtkWidget *widget, /* are we in an arrow? */ if (tree_view->priv->prelight_node && - GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT) && + tree_view->priv->arrow_prelit && gtk_tree_view_draw_expanders (tree_view)) { if (event->button == 1) @@ -3337,7 +3329,7 @@ gtk_tree_view_button_press (GtkWidget *widget, return FALSE; gtk_grab_add (widget); - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE); + tree_view->priv->in_column_resize = TRUE; _gtk_tree_view_column_set_resized_width (column, gtk_tree_view_column_get_width (column) - tree_view->priv->last_extra_space_per_column); @@ -3426,7 +3418,7 @@ gtk_tree_view_button_release_drag_column (GtkWidget *widget, /* Reset our flags */ tree_view->priv->drag_column_window_state = DRAG_COLUMN_WINDOW_STATE_UNSET; - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG); + tree_view->priv->in_column_drag = FALSE; return TRUE; } @@ -3451,7 +3443,7 @@ gtk_tree_view_button_release_column_resize (GtkWidget *widget, 0, 0, NULL, NULL, drag_data); - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE); + tree_view->priv->in_column_resize = FALSE; gtk_grab_remove (widget); gdk_display_pointer_ungrab (gdk_window_get_display (event->window), event->time); @@ -3464,7 +3456,7 @@ gtk_tree_view_button_release (GtkWidget *widget, { GtkTreeView *tree_view = GTK_TREE_VIEW (widget); - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG)) + if (tree_view->priv->in_column_drag) return gtk_tree_view_button_release_drag_column (widget, event); if (tree_view->priv->rubber_band_status) @@ -3473,7 +3465,7 @@ gtk_tree_view_button_release (GtkWidget *widget, if (tree_view->priv->pressed_button == event->button) tree_view->priv->pressed_button = -1; - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE)) + if (tree_view->priv->in_column_resize) return gtk_tree_view_button_release_column_resize (widget, event); if (tree_view->priv->button_pressed_node == NULL) @@ -3483,7 +3475,7 @@ gtk_tree_view_button_release (GtkWidget *widget, { gtk_grab_remove (widget); if (tree_view->priv->button_pressed_node == tree_view->priv->prelight_node && - GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT)) + tree_view->priv->arrow_prelit) { GtkTreePath *path = NULL; @@ -3516,10 +3508,10 @@ gtk_tree_view_grab_broken (GtkWidget *widget, { GtkTreeView *tree_view = GTK_TREE_VIEW (widget); - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG)) + if (tree_view->priv->in_column_drag) gtk_tree_view_button_release_drag_column (widget, (GdkEventButton *)event); - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE)) + if (tree_view->priv->in_column_resize) gtk_tree_view_button_release_column_resize (widget, (GdkEventButton *)event); return TRUE; @@ -3625,20 +3617,15 @@ do_prelight (GtkTreeView *tree_view, if (tree && node && gtk_tree_view_draw_expanders (tree_view)) { gboolean over_arrow; - gboolean flag_set; over_arrow = coords_are_over_arrow (tree_view, tree, node, x, y); - flag_set = GTK_TREE_VIEW_FLAG_SET (tree_view, - GTK_TREE_VIEW_ARROW_PRELIT); - if (over_arrow != flag_set) + if (over_arrow != tree_view->priv->arrow_prelit) { if (over_arrow) - GTK_TREE_VIEW_SET_FLAG (tree_view, - GTK_TREE_VIEW_ARROW_PRELIT); + tree_view->priv->arrow_prelit = TRUE; else - GTK_TREE_VIEW_UNSET_FLAG (tree_view, - GTK_TREE_VIEW_ARROW_PRELIT); + tree_view->priv->arrow_prelit = FALSE; gtk_tree_view_queue_draw_arrow (tree_view, tree, node); } @@ -3654,10 +3641,10 @@ do_prelight (GtkTreeView *tree_view, GTK_RBNODE_UNSET_FLAG (tree_view->priv->prelight_node, GTK_RBNODE_IS_PRELIT); - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT) + if (tree_view->priv->arrow_prelit && gtk_tree_view_draw_expanders (tree_view)) { - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_ARROW_PRELIT); + tree_view->priv->arrow_prelit = FALSE; gtk_tree_view_queue_draw_arrow (tree_view, tree_view->priv->prelight_tree, @@ -3686,7 +3673,7 @@ do_prelight (GtkTreeView *tree_view, if (gtk_tree_view_draw_expanders (tree_view) && coords_are_over_arrow (tree_view, tree, node, x, y)) { - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_ARROW_PRELIT); + tree_view->priv->arrow_prelit = TRUE; gtk_tree_view_queue_draw_arrow (tree_view, tree, node); } @@ -3728,7 +3715,7 @@ prelight_or_select (GtkTreeView *tree_view, gtk_tree_selection_select_path (tree_view->priv->selection, path); if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED)) { - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); + tree_view->priv->draw_keyfocus = FALSE; gtk_tree_view_real_set_cursor (tree_view, path, FALSE, FALSE); } gtk_tree_path_free (path); @@ -4615,11 +4602,11 @@ gtk_tree_view_motion (GtkWidget *widget, tree_view = (GtkTreeView *) widget; /* Resizing a column */ - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_RESIZE)) + if (tree_view->priv->in_column_resize) return gtk_tree_view_motion_resize_column (widget, event); /* Drag column */ - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG)) + if (tree_view->priv->in_column_drag) return gtk_tree_view_motion_drag_column (widget, event); /* Sanity check it */ @@ -5091,7 +5078,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, if (node == cursor && has_can_focus_cell && ((column == tree_view->priv->focus_column - && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS) && + && tree_view->priv->draw_keyfocus && gtk_widget_has_focus (widget)) || (column == tree_view->priv->edited_column))) draw_focus = TRUE; @@ -5345,7 +5332,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, /* draw the big row-spanning focus rectangle, if needed */ if (!has_can_focus_cell && node == cursor && - GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS) && + tree_view->priv->draw_keyfocus && gtk_widget_has_focus (widget)) { gint tmp_y, tmp_height; @@ -5748,7 +5735,7 @@ gtk_tree_view_key_press (GtkWidget *widget, return TRUE; } - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG)) + if (tree_view->priv->in_column_drag) { if (event->keyval == GDK_KEY_Escape) { @@ -5758,7 +5745,7 @@ gtk_tree_view_key_press (GtkWidget *widget, return TRUE; } - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) + if (tree_view->priv->headers_visible) { GList *focus_column; gboolean rtl; @@ -8285,7 +8272,7 @@ gtk_tree_view_header_focus (GtkTreeView *tree_view, GList *tmp_list; gboolean rtl; - if (! GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) + if (! tree_view->priv->headers_visible) return FALSE; focus_child = gtk_container_get_focus_child (GTK_CONTAINER (tree_view)); @@ -8622,7 +8609,7 @@ gtk_tree_view_real_move_cursor (GtkTreeView *tree_view, return FALSE; gtk_tree_view_stop_editing (tree_view, FALSE); - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); + tree_view->priv->draw_keyfocus = TRUE; gtk_widget_grab_focus (GTK_WIDGET (tree_view)); if (gtk_get_current_event_state (&state)) @@ -8970,10 +8957,10 @@ gtk_tree_view_row_has_child_toggled (GtkTreeModel *model, else GTK_RBNODE_UNSET_FLAG (node, GTK_RBNODE_IS_PARENT); - if (has_child && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)) + if (has_child && tree_view->priv->is_list) { - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_IS_LIST); - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) + tree_view->priv->is_list = FALSE; + if (tree_view->priv->show_expanders) { GList *list; @@ -9268,7 +9255,6 @@ gtk_tree_view_build_tree (GtkTreeView *tree_view, { GtkRBNode *temp = NULL; GtkTreePath *path = NULL; - gboolean is_list = GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST); do { @@ -9284,7 +9270,7 @@ gtk_tree_view_build_tree (GtkTreeView *tree_view, } } - if (is_list) + if (tree_view->priv->is_list) continue; if (recurse) @@ -9525,7 +9511,7 @@ gtk_tree_view_is_expander_column (GtkTreeView *tree_view, { GList *list; - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST)) + if (tree_view->priv->is_list) return FALSE; if (tree_view->priv->expander_column != NULL) @@ -9550,8 +9536,7 @@ gtk_tree_view_is_expander_column (GtkTreeView *tree_view, static inline gboolean gtk_tree_view_draw_expanders (GtkTreeView *tree_view) { - if (!GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_IS_LIST) - && GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS)) + if (!tree_view->priv->is_list && tree_view->priv->show_expanders) return TRUE; /* else */ return FALSE; @@ -9861,7 +9846,7 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, while (gtk_events_pending ()) gtk_main_iteration (); - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IN_COLUMN_DRAG); + tree_view->priv->in_column_drag = TRUE; gdk_pointer_grab (tree_view->priv->drag_window, FALSE, GDK_POINTER_MOTION_MASK|GDK_BUTTON_RELEASE_MASK, @@ -9928,7 +9913,7 @@ _gtk_tree_view_queue_draw_node (GtkTreeView *tree_view, static inline gint gtk_tree_view_get_effective_header_height (GtkTreeView *tree_view) { - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE)) + if (tree_view->priv->headers_visible) return tree_view->priv->header_height; /* else */ return 0; @@ -10066,7 +10051,7 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view, else { if (node == tree_view->priv->prelight_node && - GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT)) + tree_view->priv->arrow_prelit) state = GTK_STATE_PRELIGHT; else state = GTK_STATE_NORMAL; @@ -10144,7 +10129,7 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view) if (cursor_path) { - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); + tree_view->priv->draw_keyfocus = TRUE; gtk_tree_view_queue_draw_path (tree_view, cursor_path, NULL); gtk_tree_path_free (cursor_path); @@ -11426,9 +11411,9 @@ gtk_tree_view_set_model (GtkTreeView *tree_view, flags = gtk_tree_model_get_flags (tree_view->priv->model); if ((flags & GTK_TREE_MODEL_LIST_ONLY) == GTK_TREE_MODEL_LIST_ONLY) - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_IS_LIST); + tree_view->priv->is_list = TRUE; else - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_IS_LIST); + tree_view->priv->is_list = FALSE; path = gtk_tree_path_new_first (); if (gtk_tree_model_get_iter (tree_view->priv->model, &iter, path)) @@ -11607,7 +11592,7 @@ gtk_tree_view_get_headers_visible (GtkTreeView *tree_view) { g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), FALSE); - return GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE); + return tree_view->priv->headers_visible; } /** @@ -11631,13 +11616,10 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, headers_visible = !! headers_visible; - if (GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE) == headers_visible) + if (tree_view->priv->headers_visible == headers_visible) return; - if (headers_visible) - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE); - else - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_HEADERS_VISIBLE); + tree_view->priv->headers_visible = headers_visible == TRUE; if (gtk_widget_get_realized (GTK_WIDGET (tree_view))) { @@ -15441,7 +15423,7 @@ _gtk_tree_view_add_editable (GtkTreeView *tree_view, gtk_widget_get_preferred_size (GTK_WIDGET (cell_editable), &requisition, NULL); - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_DRAW_KEYFOCUS); + tree_view->priv->draw_keyfocus = TRUE; if (requisition.height < cell_area->height) { @@ -15918,12 +15900,9 @@ gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); enabled = enabled != FALSE; - was_enabled = GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS); + was_enabled = tree_view->priv->show_expanders; - if (enabled) - GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS); - else - GTK_TREE_VIEW_UNSET_FLAG (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS); + tree_view->priv->show_expanders = enabled == TRUE; if (enabled != was_enabled) gtk_widget_queue_draw (GTK_WIDGET (tree_view)); @@ -15945,7 +15924,7 @@ gtk_tree_view_get_show_expanders (GtkTreeView *tree_view) { g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), FALSE); - return GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_SHOW_EXPANDERS); + return tree_view->priv->show_expanders; } /** From 0a1982aff364a7e23a4c7b282dee980f7c3e9ff9 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 15:18:13 +0100 Subject: [PATCH 0357/1463] Move _gtk_tree_view_column_cell_focus to gtktreeview.c --- gtk/gtktreeprivate.h | 4 --- gtk/gtktreeview.c | 55 ++++++++++++++++++++++++++++++++++++++++- gtk/gtktreeviewcolumn.c | 50 ------------------------------------- 3 files changed, 54 insertions(+), 55 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 942a2a3f60..c0dacd55d5 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -139,10 +139,6 @@ void _gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, const GdkRectangle *background_area, const GdkRectangle *cell_area, GdkRectangle *focus_area); -gboolean _gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, - gint count, - gboolean left, - gboolean right); void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler); gboolean _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 0a7bf5db38..eacfa9b206 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10389,6 +10389,59 @@ cleanup: gtk_tree_path_free (cursor_path); } +static gboolean +gtk_tree_view_move_focus_column (GtkTreeView *tree_view, + GtkTreeViewColumn *tree_column, + gint count, + gboolean left, + gboolean right) +{ + gboolean rtl; + GtkDirectionType direction = 0; + GtkCellArea *cell_area; + + rtl = gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL; + + switch (count) + { + case -1: + direction = GTK_DIR_LEFT; + break; + + case 1: + direction = GTK_DIR_RIGHT; + break; + } + + cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_column)); + + /* if we are the current focus column and have multiple editable cells, + * try to select the next one, else move the focus to the next column + */ + if (tree_view->priv->focus_column == tree_column) + { + if (gtk_cell_area_focus (cell_area, direction)) + /* Focus stays in this column, so we are done */ + return TRUE; + + /* FIXME: RTL support for the following: */ + if (count == -1 && !left) + { + direction = GTK_DIR_RIGHT; + gtk_cell_area_focus (cell_area, direction); + } + else if (count == 1 && !right) + { + direction = GTK_DIR_LEFT; + gtk_cell_area_focus (cell_area, direction); + } + + return FALSE; + } + + return gtk_cell_area_focus (cell_area, direction); +} + static void gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, gint count) @@ -10469,7 +10522,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, right = list->next ? TRUE : FALSE; } - if (_gtk_tree_view_column_cell_focus (column, count, left, right)) + if (gtk_tree_view_move_focus_column (tree_view, column, count, left, right)) { tree_view->priv->focus_column = column; found_column = TRUE; diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 63b10a674e..f104d1c2db 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2831,56 +2831,6 @@ _gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, } -gboolean -_gtk_tree_view_column_cell_focus (GtkTreeViewColumn *tree_column, - gint count, - gboolean left, - gboolean right) -{ - gboolean rtl; - GtkDirectionType direction = 0; - GtkTreeViewColumnPrivate *priv = tree_column->priv; - - rtl = gtk_widget_get_direction (priv->tree_view) == GTK_TEXT_DIR_RTL; - - switch (count) - { - case -1: - direction = GTK_DIR_LEFT; - break; - - case 1: - direction = GTK_DIR_RIGHT; - break; - } - - /* if we are the current focus column and have multiple editable cells, - * try to select the next one, else move the focus to the next column - */ - if (_gtk_tree_view_get_focus_column (GTK_TREE_VIEW (priv->tree_view)) == tree_column) - { - if (gtk_cell_area_focus (priv->cell_area, direction)) - /* Focus stays in this column, so we are done */ - return TRUE; - - /* FIXME: RTL support for the following: */ - if (count == -1 && !left) - { - direction = GTK_DIR_RIGHT; - gtk_cell_area_focus (priv->cell_area, direction); - } - else if (count == 1 && !right) - { - direction = GTK_DIR_LEFT; - gtk_cell_area_focus (priv->cell_area, direction); - } - - return FALSE; - } - - return gtk_cell_area_focus (priv->cell_area, direction); -} - /** * gtk_tree_view_column_cell_is_visible: * @tree_column: A #GtkTreeViewColumn From 77d972e436fdf2d4129162049b35922db481ed17 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 15:20:17 +0100 Subject: [PATCH 0358/1463] Remove private accessor for focus column --- gtk/gtktreeprivate.h | 1 - gtk/gtktreeview.c | 6 ------ 2 files changed, 7 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index c0dacd55d5..837801efac 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -86,7 +86,6 @@ void _gtk_tree_view_set_anchor_path (GtkTreeView GtkTreePath *anchor_path); GtkRBTree * _gtk_tree_view_get_rbtree (GtkTreeView *tree_view); -GtkTreeViewColumn *_gtk_tree_view_get_focus_column (GtkTreeView *tree_view); void _gtk_tree_view_set_focus_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); GdkWindow *_gtk_tree_view_get_header_window (GtkTreeView *tree_view); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index eacfa9b206..c63ec24ccc 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -9965,12 +9965,6 @@ _gtk_tree_view_get_rbtree (GtkTreeView *tree_view) return tree_view->priv->tree; } -GtkTreeViewColumn * -_gtk_tree_view_get_focus_column (GtkTreeView *tree_view) -{ - return tree_view->priv->focus_column; -} - GdkWindow * _gtk_tree_view_get_header_window (GtkTreeView *tree_view) { From 64ddd3f40f911372898f661541cbe7beabaa92eb Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 17:04:52 +0100 Subject: [PATCH 0359/1463] Clarify start_pos parameter gtk_tree_view_column_cell_get_position By renaming it to x_offset. --- gtk/gtktreeviewcolumn.c | 8 ++++---- gtk/gtktreeviewcolumn.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index f104d1c2db..6b86fd32e5 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2915,7 +2915,7 @@ _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column) * gtk_tree_view_column_cell_get_position: * @tree_column: a #GtkTreeViewColumn * @cell_renderer: a #GtkCellRenderer - * @start_pos: return location for the horizontal position of @cell within + * @x_offset: return location for the horizontal position of @cell within * @tree_column, may be %NULL * @width: return location for the width of @cell, may be %NULL * @@ -2928,7 +2928,7 @@ _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column) gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, - gint *start_pos, + gint *x_offset, gint *width) { GtkTreeViewColumnPrivate *priv; @@ -2948,8 +2948,8 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, &zero_cell_area, &allocation); - if (start_pos) - *start_pos = allocation.x; + if (x_offset) + *x_offset = allocation.x; if (width) *width = allocation.width; diff --git a/gtk/gtktreeviewcolumn.h b/gtk/gtktreeviewcolumn.h index ac2807ba5b..c056898f0e 100644 --- a/gtk/gtktreeviewcolumn.h +++ b/gtk/gtktreeviewcolumn.h @@ -210,7 +210,7 @@ void gtk_tree_view_column_focus_cell (GtkTreeViewCol GtkCellRenderer *cell); gboolean gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, GtkCellRenderer *cell_renderer, - gint *start_pos, + gint *x_offset, gint *width); void gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column); GtkWidget *gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column); From 6c73647727cdd2b3d2d062fe9fb7d54c37daabb4 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 17:10:21 +0100 Subject: [PATCH 0360/1463] Remove the need for _gtk_tree_view_column_get_focus_area --- gtk/gtktreeprivate.h | 4 ---- gtk/gtktreeview.c | 47 ++++++++++++++++------------------------- gtk/gtktreeviewcolumn.c | 20 ------------------ 3 files changed, 18 insertions(+), 53 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 837801efac..6cb1ffcae1 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -134,10 +134,6 @@ void _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, const GdkRectangle *cell_area, guint flags, gboolean draw_focus); -void _gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GdkRectangle *focus_area); void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean install_handler); gboolean _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index c63ec24ccc..2d16f468b7 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -9367,42 +9367,31 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view, * focus cell is bigger than the page size, we make sure the * left-hand side of the cell is visible). * - * If the column does not have those so-called special cells, we + * If the column does not have an activatable cell, we * make sure the left-hand side of the column is visible. */ if (focus_to_cell && gtk_tree_view_has_can_focus_cell (tree_view)) { - GtkTreePath *cursor_path; - GdkRectangle background_area, cell_area, focus_area; + GtkCellArea *cell_area; + GtkCellRenderer *focus_cell; - cursor_path = gtk_tree_row_reference_get_path (tree_view->priv->cursor); + cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)); + focus_cell = gtk_cell_area_get_focus_cell (cell_area); - gtk_tree_view_get_cell_area (tree_view, - cursor_path, column, &cell_area); - gtk_tree_view_get_background_area (tree_view, - cursor_path, column, - &background_area); - - gtk_tree_path_free (cursor_path); - - _gtk_tree_view_column_get_focus_area (column, - &background_area, - &cell_area, - &focus_area); - - x = focus_area.x; - width = focus_area.width; - - if (width < tree_view->priv->hadjustment->page_size) - { - if ((tree_view->priv->hadjustment->value + tree_view->priv->hadjustment->page_size) < (x + width)) - gtk_adjustment_set_value (tree_view->priv->hadjustment, - x + width - tree_view->priv->hadjustment->page_size); - else if (tree_view->priv->hadjustment->value > x) - gtk_adjustment_set_value (tree_view->priv->hadjustment, x); - } - } + if (gtk_tree_view_column_cell_get_position (column, focus_cell, + &x, &width)) + { + if (width < tree_view->priv->hadjustment->page_size) + { + if (tree_view->priv->hadjustment->value + tree_view->priv->hadjustment->page_size < x + width) + gtk_adjustment_set_value (tree_view->priv->hadjustment, + x + width - tree_view->priv->hadjustment->page_size); + else if (tree_view->priv->hadjustment->value > x) + gtk_adjustment_set_value (tree_view->priv->hadjustment, x); + } + } + } gtk_adjustment_set_value (tree_view->priv->hadjustment, x); } diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 6b86fd32e5..1fa4cf0bb6 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2811,26 +2811,6 @@ _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, flags); } -void -_gtk_tree_view_column_get_focus_area (GtkTreeViewColumn *tree_column, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GdkRectangle *focus_area) -{ - /* FIXME */ -#if 0 - gtk_tree_view_column_cell_process_action (tree_column, - NULL, - background_area, - cell_area, - 0, - CELL_ACTION_FOCUS, - focus_area, - NULL, NULL, NULL); -#endif -} - - /** * gtk_tree_view_column_cell_is_visible: * @tree_column: A #GtkTreeViewColumn From 924359c31da39e1866ec408a94fa3d9654d5bcf8 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 17:12:37 +0100 Subject: [PATCH 0361/1463] Clean up _gtk_tree_view_column_cell_event --- gtk/gtktreeprivate.h | 3 --- gtk/gtktreeview.c | 3 --- gtk/gtktreeviewcolumn.c | 17 ----------------- 3 files changed, 23 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 6cb1ffcae1..695e06d6aa 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -117,10 +117,7 @@ void _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, GtkTreeViewColumn *column, GdkDevice *device); gboolean _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, - GtkCellEditable **editable_widget, GdkEvent *event, - gchar *path_string, - const GdkRectangle *background_area, const GdkRectangle *cell_area, guint flags); gboolean _gtk_tree_view_column_has_editable_cell(GtkTreeViewColumn *column); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 2d16f468b7..8272fbcd53 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3155,10 +3155,7 @@ gtk_tree_view_button_press (GtkWidget *widget, guint flags = 0; if (_gtk_tree_view_column_cell_event (column, - NULL, (GdkEvent *)event, - NULL, - &background_area, &cell_area, flags)) { GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 1fa4cf0bb6..bf1679e3b5 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2776,10 +2776,7 @@ _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, gboolean _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, - GtkCellEditable **editable_widget, GdkEvent *event, - gchar *path_string, - const GdkRectangle *background_area, const GdkRectangle *cell_area, guint flags) { @@ -2789,20 +2786,6 @@ _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, priv = tree_column->priv; - /* FIXME: Should we pass background area here as well? - * What will happen to the path_string and editable widget - * variables? - * - * Answer, No dont pass background area... editable widgets - * grab the pointer and keyboard so the treeview doesnt - * recieve these events while editable widgets are editing. - * - * Also it's important that gtk_cell_area_apply_attributes be - * called before passing the event to the cell (maybe we need to - * instead use the path_string here to apply the attributes ?, - * if the attributes are applied, the underlying CellArea knows - * the path string, which is expected when handling events). - */ return gtk_cell_area_event (priv->cell_area, priv->cell_area_context, priv->tree_view, From 7fe950a745cef54795b3327e6210dc8758826863 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 17:56:30 +0100 Subject: [PATCH 0362/1463] Clean up and clarify row height calculations --- gtk/gtktreeview.c | 103 +++++++++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 38 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 8272fbcd53..eee93afad2 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -232,15 +232,6 @@ enum #define GTK_TREE_VIEW_SEARCH_DIALOG_TIMEOUT 5000 #define AUTO_EXPAND_TIMEOUT 500 -/* The "background" areas of all rows/cells add up to cover the entire tree. - * The background includes all inter-row and inter-cell spacing. - * The "cell" areas are the cell_area passed in to gtk_cell_renderer_render(), - * i.e. just the cells, no spacing. - */ - -#define BACKGROUND_HEIGHT(node) (GTK_RBNODE_GET_HEIGHT (node)) -#define CELL_HEIGHT(node, separator) ((BACKGROUND_HEIGHT (node)) - (separator)) - /* Translate from bin_window coordinates to rbtree (tree coordinates) and * vice versa. */ @@ -251,9 +242,6 @@ enum #define BACKGROUND_FIRST_PIXEL(tree_view,tree,node) (RBTREE_Y_TO_TREE_WINDOW_Y (tree_view, _gtk_rbtree_node_find_offset ((tree), (node)))) #define CELL_FIRST_PIXEL(tree_view,tree,node,separator) (BACKGROUND_FIRST_PIXEL (tree_view,tree,node) + separator/2) -#define ROW_HEIGHT(tree_view,height) \ - ((height > 0) ? (height) : (tree_view)->priv->expander_size) - typedef struct _GtkTreeViewColumnReorder GtkTreeViewColumnReorder; struct _GtkTreeViewColumnReorder { @@ -824,6 +812,12 @@ static void update_prelight (GtkTreeView static inline gint gtk_tree_view_get_effective_header_height (GtkTreeView *tree_view); +static inline gint gtk_tree_view_get_cell_area_height (GtkTreeView *tree_view, + GtkRBNode *node, + gint vertical_separator); +static inline gint gtk_tree_view_get_row_height (GtkTreeView *tree_view, + GtkRBNode *node); + /* interactive search */ static void gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view); static void gtk_tree_view_search_dialog_hide (GtkWidget *search_dialog, @@ -3073,7 +3067,7 @@ gtk_tree_view_button_press (GtkWidget *widget, depth = gtk_tree_path_get_depth (path); background_area.y = y_offset + event->y; - background_area.height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + background_area.height = gtk_tree_view_get_row_height (tree_view, node); background_area.x = 0; @@ -3549,8 +3543,7 @@ coords_are_over_arrow (GtkTreeView *tree_view, return FALSE; arrow.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); - - arrow.height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + arrow.height = gtk_tree_view_get_row_height (tree_view, node); gtk_tree_view_get_arrow_xrange (tree_view, tree, &arrow.x, &x2); @@ -4908,7 +4901,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, is_separator = row_is_separator (tree_view, &iter, NULL); - max_height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + max_height = gtk_tree_view_get_row_height (tree_view, node); cell_offset = 0; highlight_x = 0; /* should match x coord of first cell */ @@ -5311,7 +5304,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, 0, BACKGROUND_FIRST_PIXEL (tree_view, tree, node) - focus_line_width / 2, gdk_window_get_width (tree_view->priv->bin_window), - ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)) + gtk_tree_view_get_row_height (tree_view, node) - focus_line_width + 1); break; } @@ -5344,12 +5337,12 @@ gtk_tree_view_bin_draw (GtkWidget *widget, if (draw_hgrid_lines) { tmp_y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node) + grid_line_width / 2; - tmp_height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)) - grid_line_width; + tmp_height = gtk_tree_view_get_row_height (tree_view, node) - grid_line_width; } else { tmp_y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); - tmp_height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + tmp_height = gtk_tree_view_get_row_height (tree_view, node); } gtk_paint_focus (style, @@ -6105,7 +6098,7 @@ node_is_visible (GtkTreeView *tree_view, int height; y = _gtk_rbtree_node_find_offset (tree, node); - height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + height = gtk_tree_view_get_row_height (tree_view, node); if (y >= tree_view->priv->vadjustment->value && y + height <= (tree_view->priv->vadjustment->value @@ -6295,7 +6288,7 @@ validate_visible_area (GtkTreeView *tree_view) if (tree_view->priv->scroll_to_use_align) { - gint height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + gint height = gtk_tree_view_get_row_height (tree_view, node); area_above = (total_height - height) * tree_view->priv->scroll_to_row_align; area_below = total_height - area_above - height; @@ -6309,7 +6302,7 @@ validate_visible_area (GtkTreeView *tree_view) * 2) row visible */ gint dy; - gint height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + gint height = gtk_tree_view_get_row_height (tree_view, node); dy = _gtk_rbtree_node_find_offset (tree, node); @@ -6406,7 +6399,7 @@ validate_visible_area (GtkTreeView *tree_view) size_changed = TRUE; } area_above = 0; - area_below = total_height - ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + area_below = total_height - gtk_tree_view_get_row_height (tree_view, node); } above_path = gtk_tree_path_copy (path); @@ -6517,7 +6510,7 @@ validate_visible_area (GtkTreeView *tree_view) size_changed = TRUE; } - area_below -= ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + area_below -= gtk_tree_view_get_row_height (tree_view, node); } gtk_tree_path_free (path); @@ -6557,7 +6550,7 @@ validate_visible_area (GtkTreeView *tree_view) if (validate_row (tree_view, tree, node, &iter, above_path)) size_changed = TRUE; } - area_above -= ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + area_above -= gtk_tree_view_get_row_height (tree_view, node); } /* if we scrolled to a path, we need to set the dy here, @@ -6645,7 +6638,7 @@ initialize_fixed_height_mode (GtkTreeView *tree_view) gtk_tree_path_free (path); - tree_view->priv->fixed_height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + tree_view->priv->fixed_height = gtk_tree_view_get_row_height (tree_view, node); } _gtk_rbtree_set_fixed_height (tree_view->priv->tree, @@ -6757,7 +6750,7 @@ do_validate_rows (GtkTreeView *tree_view, gboolean queue_resize) { gint height; - height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + height = gtk_tree_view_get_row_height (tree_view, node); if (prev_height < 0) prev_height = height; else if (prev_height != height) @@ -7030,7 +7023,7 @@ gtk_tree_view_top_row_to_dy (GtkTreeView *tree_view) return; } - if (ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)) + if (gtk_tree_view_get_row_height (tree_view, node) < tree_view->priv->top_row_dy) { /* new top row -- do NOT install the idle handler */ @@ -9322,7 +9315,7 @@ gtk_tree_view_clamp_node_visible (GtkTreeView *tree_view, /* just return if the node is visible, avoiding a costly expose */ node_dy = _gtk_rbtree_node_find_offset (tree, node); - height = ROW_HEIGHT (tree_view, GTK_RBNODE_GET_HEIGHT (node)); + height = gtk_tree_view_get_row_height (tree_view, node); if (! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) && node_dy >= tree_view->priv->vadjustment->value && node_dy + height <= (tree_view->priv->vadjustment->value @@ -9858,7 +9851,7 @@ gtk_tree_view_queue_draw_arrow (GtkTreeView *tree_view, rect.width = MAX (tree_view->priv->expander_size, MAX (tree_view->priv->width, allocation.width)); rect.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); - rect.height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + rect.height = gtk_tree_view_get_row_height (tree_view, node); gdk_window_invalidate_rect (tree_view->priv->bin_window, &rect, TRUE); } @@ -9880,7 +9873,7 @@ _gtk_tree_view_queue_draw_node (GtkTreeView *tree_view, rect.width = MAX (tree_view->priv->width, allocation.width); rect.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); - rect.height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + rect.height = gtk_tree_view_get_row_height (tree_view, node); if (clip_rect) { @@ -10014,7 +10007,8 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view, area.x = x_offset; area.y = CELL_FIRST_PIXEL (tree_view, tree, node, vertical_separator); area.width = expander_size + 2; - area.height = MAX (CELL_HEIGHT (node, vertical_separator), (expander_size - vertical_separator)); + area.height = gtk_tree_view_get_cell_area_height (tree_view, node, + vertical_separator); if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE) { @@ -10316,11 +10310,12 @@ gtk_tree_view_move_cursor_page_up_down (GtkTreeView *tree_view, return; } - if (tree_view->priv->cursor_offset > BACKGROUND_HEIGHT (cursor_node)) + if (tree_view->priv->cursor_offset + > gtk_tree_view_get_row_height (tree_view, cursor_node)) { _gtk_rbtree_next_full (cursor_tree, cursor_node, &cursor_tree, &cursor_node); - tree_view->priv->cursor_offset -= BACKGROUND_HEIGHT (cursor_node); + tree_view->priv->cursor_offset -= gtk_tree_view_get_row_height (tree_view, cursor_node); } y -= tree_view->priv->cursor_offset; @@ -13579,6 +13574,20 @@ gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, } +static inline gint +gtk_tree_view_get_cell_area_height (GtkTreeView *tree_view, + GtkRBNode *node, + gint vertical_separator) +{ + /* The "cell" areas are the cell_area passed in to gtk_cell_renderer_render(), + * i.e. just the cells, no spacing. + * + * The cell area height is at least expander_size - vertical_separator; + */ + + return gtk_tree_view_get_row_height (tree_view, node) - vertical_separator; +} + /** * gtk_tree_view_get_cell_area: * @tree_view: a #GtkTreeView @@ -13640,7 +13649,8 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, return; rect->y = CELL_FIRST_PIXEL (tree_view, tree, node, vertical_separator); - rect->height = MAX (CELL_HEIGHT (node, vertical_separator), tree_view->priv->expander_size - vertical_separator); + rect->height = gtk_tree_view_get_cell_area_height (tree_view, node, + vertical_separator); if (column && gtk_tree_view_is_expander_column (tree_view, column)) @@ -13666,6 +13676,24 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, } } +static inline gint +gtk_tree_view_get_row_height (GtkTreeView *tree_view, + GtkRBNode *node) +{ + int height; + + /* The "background" areas of all rows/cells add up to cover the entire tree. + * The background includes all inter-row and inter-cell spacing. + * + * The height of a row is at least "expander_size". + */ + height = GTK_RBNODE_GET_HEIGHT (node); + if (height < tree_view->priv->expander_size) + height = tree_view->priv->expander_size; + + return height; +} + /** * gtk_tree_view_get_background_area: * @tree_view: a #GtkTreeView @@ -13711,8 +13739,7 @@ gtk_tree_view_get_background_area (GtkTreeView *tree_view, return; rect->y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); - - rect->height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + rect->height = gtk_tree_view_get_row_height (tree_view, node); } if (column) @@ -14415,7 +14442,7 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, cell_offset = x; background_area.y = y; - background_area.height = ROW_HEIGHT (tree_view, BACKGROUND_HEIGHT (node)); + background_area.height = gtk_tree_view_get_row_height (tree_view, node); bin_window_width = gdk_window_get_width (tree_view->priv->bin_window); From 2a6550176c8814ec297f52a25570b6127c480ffe Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 18:04:07 +0100 Subject: [PATCH 0363/1463] Replace FIRST_PIXEL macros with something that's more clear --- gtk/gtktreeview.c | 58 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 45 insertions(+), 13 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index eee93afad2..2f2d5ce1fd 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -238,10 +238,6 @@ enum #define TREE_WINDOW_Y_TO_RBTREE_Y(tree_view,y) ((y) + tree_view->priv->dy) #define RBTREE_Y_TO_TREE_WINDOW_Y(tree_view,y) ((y) - tree_view->priv->dy) -/* This is in bin_window coordinates */ -#define BACKGROUND_FIRST_PIXEL(tree_view,tree,node) (RBTREE_Y_TO_TREE_WINDOW_Y (tree_view, _gtk_rbtree_node_find_offset ((tree), (node)))) -#define CELL_FIRST_PIXEL(tree_view,tree,node,separator) (BACKGROUND_FIRST_PIXEL (tree_view,tree,node) + separator/2) - typedef struct _GtkTreeViewColumnReorder GtkTreeViewColumnReorder; struct _GtkTreeViewColumnReorder { @@ -812,9 +808,17 @@ static void update_prelight (GtkTreeView static inline gint gtk_tree_view_get_effective_header_height (GtkTreeView *tree_view); +static inline gint gtk_tree_view_get_cell_area_y_offset (GtkTreeView *tree_view, + GtkRBTree *tree, + GtkRBNode *node, + gint vertical_separator); static inline gint gtk_tree_view_get_cell_area_height (GtkTreeView *tree_view, GtkRBNode *node, gint vertical_separator); + +static inline gint gtk_tree_view_get_row_y_offset (GtkTreeView *tree_view, + GtkRBTree *tree, + GtkRBNode *node); static inline gint gtk_tree_view_get_row_height (GtkTreeView *tree_view, GtkRBNode *node); @@ -3542,7 +3546,7 @@ coords_are_over_arrow (GtkTreeView *tree_view, if ((node->flags & GTK_RBNODE_IS_PARENT) == 0) return FALSE; - arrow.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); + arrow.y = gtk_tree_view_get_row_y_offset (tree_view, tree, node); arrow.height = gtk_tree_view_get_row_height (tree_view, node); gtk_tree_view_get_arrow_xrange (tree_view, tree, &arrow.x, &x2); @@ -5301,7 +5305,7 @@ gtk_tree_view_bin_draw (GtkWidget *widget, (is_first ? (is_last ? "treeview-drop-indicator" : "treeview-drop-indicator-left" ) : (is_last ? "treeview-drop-indicator-right" : "tree-view-drop-indicator-middle" )), - 0, BACKGROUND_FIRST_PIXEL (tree_view, tree, node) + 0, gtk_tree_view_get_row_y_offset (tree_view, tree, node) - focus_line_width / 2, gdk_window_get_width (tree_view->priv->bin_window), gtk_tree_view_get_row_height (tree_view, node) @@ -5336,12 +5340,12 @@ gtk_tree_view_bin_draw (GtkWidget *widget, if (draw_hgrid_lines) { - tmp_y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node) + grid_line_width / 2; + tmp_y = gtk_tree_view_get_row_y_offset (tree_view, tree, node) + grid_line_width / 2; tmp_height = gtk_tree_view_get_row_height (tree_view, node) - grid_line_width; } else { - tmp_y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); + tmp_y = gtk_tree_view_get_row_y_offset (tree_view, tree, node); tmp_height = gtk_tree_view_get_row_height (tree_view, node); } @@ -9850,7 +9854,7 @@ gtk_tree_view_queue_draw_arrow (GtkTreeView *tree_view, rect.x = 0; rect.width = MAX (tree_view->priv->expander_size, MAX (tree_view->priv->width, allocation.width)); - rect.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); + rect.y = gtk_tree_view_get_row_y_offset (tree_view, tree, node); rect.height = gtk_tree_view_get_row_height (tree_view, node); gdk_window_invalidate_rect (tree_view->priv->bin_window, &rect, TRUE); @@ -9872,7 +9876,7 @@ _gtk_tree_view_queue_draw_node (GtkTreeView *tree_view, rect.x = 0; rect.width = MAX (tree_view->priv->width, allocation.width); - rect.y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); + rect.y = gtk_tree_view_get_row_y_offset (tree_view, tree, node); rect.height = gtk_tree_view_get_row_height (tree_view, node); if (clip_rect) @@ -10005,7 +10009,8 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view, gtk_tree_view_get_arrow_xrange (tree_view, tree, &x_offset, &x2); area.x = x_offset; - area.y = CELL_FIRST_PIXEL (tree_view, tree, node, vertical_separator); + area.y = gtk_tree_view_get_cell_area_y_offset (tree_view, tree, node, + vertical_separator); area.width = expander_size + 2; area.height = gtk_tree_view_get_cell_area_height (tree_view, node, vertical_separator); @@ -13588,6 +13593,20 @@ gtk_tree_view_get_cell_area_height (GtkTreeView *tree_view, return gtk_tree_view_get_row_height (tree_view, node) - vertical_separator; } +static inline gint +gtk_tree_view_get_cell_area_y_offset (GtkTreeView *tree_view, + GtkRBTree *tree, + GtkRBNode *node, + gint vertical_separator) +{ + int offset; + + offset = gtk_tree_view_get_row_y_offset (tree_view, tree, node); + offset += vertical_separator / 2; + + return offset; +} + /** * gtk_tree_view_get_cell_area: * @tree_view: a #GtkTreeView @@ -13648,7 +13667,8 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, if ((!ret && tree == NULL) || ret) return; - rect->y = CELL_FIRST_PIXEL (tree_view, tree, node, vertical_separator); + rect->y = gtk_tree_view_get_cell_area_y_offset (tree_view, tree, node, + vertical_separator); rect->height = gtk_tree_view_get_cell_area_height (tree_view, node, vertical_separator); @@ -13694,6 +13714,18 @@ gtk_tree_view_get_row_height (GtkTreeView *tree_view, return height; } +static inline gint +gtk_tree_view_get_row_y_offset (GtkTreeView *tree_view, + GtkRBTree *tree, + GtkRBNode *node) +{ + int offset; + + offset = _gtk_rbtree_node_find_offset (tree, node); + + return RBTREE_Y_TO_TREE_WINDOW_Y (tree_view, offset); +} + /** * gtk_tree_view_get_background_area: * @tree_view: a #GtkTreeView @@ -13738,7 +13770,7 @@ gtk_tree_view_get_background_area (GtkTreeView *tree_view, tree == NULL) return; - rect->y = BACKGROUND_FIRST_PIXEL (tree_view, tree, node); + rect->y = gtk_tree_view_get_row_y_offset (tree_view, tree, node); rect->height = gtk_tree_view_get_row_height (tree_view, node); } From d5df33c75f8a5be6ecf194e48d0f2ac174a3afb0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 5 Dec 2010 12:18:30 -0500 Subject: [PATCH 0364/1463] Fix abi check after recent merges --- gtk/gtk.symbols | 181 +++++++++++++++++++++++++++ gtk/gtk9slice.c | 34 +++--- gtk/gtk9slice.h | 34 +++--- gtk/gtkanimationdescription.c | 26 ++-- gtk/gtkanimationdescription.h | 22 ++-- gtk/gtkappchooserdialog.c | 16 +-- gtk/gtkappchooseronline.c | 31 +++-- gtk/gtkappchooseronline.h | 24 ++-- gtk/gtkappchooseronlinepk.c | 4 +- gtk/gtkassistant.c | 10 +- gtk/gtkcssprovider.c | 10 +- gtk/gtkspinner.c | 8 +- gtk/gtkstylecontext.c | 42 +++---- gtk/gtkthemingengine.c | 4 +- gtk/gtktimeline.c | 222 +++++++++++++++++----------------- gtk/gtktimeline.h | 56 ++++----- gtk/gtkwidget.c | 4 +- 17 files changed, 454 insertions(+), 274 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index e1d9de295f..7d444bbb97 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -265,6 +265,7 @@ gtk_border_copy gtk_border_free gtk_border_get_type G_GNUC_CONST gtk_border_new G_GNUC_MALLOC +gtk_border_style_get_type G_GNUC_CONST gtk_box_get_homogeneous gtk_box_get_spacing gtk_box_get_type G_GNUC_CONST @@ -592,6 +593,7 @@ gtk_container_get_focus_chain gtk_container_get_focus_child gtk_container_get_focus_hadjustment gtk_container_get_focus_vadjustment +gtk_container_get_path_for_child gtk_container_get_resize_mode gtk_container_get_type G_GNUC_CONST gtk_container_propagate_draw @@ -606,6 +608,15 @@ gtk_container_set_reallocate_redraws gtk_container_set_resize_mode gtk_container_unset_focus_chain gtk_corner_type_get_type G_GNUC_CONST +gtk_css_provider_error_get_type +gtk_css_provider_error_quark +gtk_css_provider_get_default +gtk_css_provider_get_named +gtk_css_provider_get_type +gtk_css_provider_load_from_data +gtk_css_provider_load_from_file +gtk_css_provider_load_from_path +gtk_css_provider_new gtk_custom_paper_unix_dialog_get_type G_GNUC_CONST gtk_debug_flag_get_type G_GNUC_CONST gtk_decorated_window_calculate_frame_size @@ -616,6 +627,13 @@ gtk_delete_type_get_type G_GNUC_CONST gtk_dest_defaults_get_type G_GNUC_CONST gtk_device_grab_add gtk_device_grab_remove +gtk_gradient_add_color_stop +gtk_gradient_get_type +gtk_gradient_new_linear +gtk_gradient_new_radial +gtk_gradient_ref +gtk_gradient_resolve +gtk_gradient_unref gtk_dialog_add_action_widget gtk_dialog_add_button gtk_dialog_add_buttons G_GNUC_NULL_TERMINATED @@ -1033,6 +1051,7 @@ gtk_icon_info_get_filename gtk_icon_info_get_type G_GNUC_CONST gtk_icon_info_load_icon gtk_icon_info_load_symbolic +gtk_icon_info_load_symbolic_for_context gtk_icon_info_load_symbolic_for_style gtk_icon_info_new_for_pixbuf gtk_icon_info_set_raw_coordinates @@ -1248,6 +1267,7 @@ gtk_invisible_get_type G_GNUC_CONST gtk_invisible_new gtk_invisible_new_for_screen gtk_invisible_set_screen +gtk_junction_sides_get_type G_GNUC_CONST gtk_justification_get_type G_GNUC_CONST gtk_key_snooper_install gtk_key_snooper_remove @@ -1430,6 +1450,13 @@ gtk_misc_get_padding gtk_misc_get_type G_GNUC_CONST gtk_misc_set_alignment gtk_misc_set_padding +gtk_modifier_style_get_type +gtk_modifier_style_map_color +gtk_modifier_style_new +gtk_modifier_style_set_background_color +gtk_modifier_style_set_color +gtk_modifier_style_set_color_property +gtk_modifier_style_set_font gtk_mount_operation_get_parent gtk_mount_operation_get_screen gtk_mount_operation_get_type G_GNUC_CONST @@ -2057,7 +2084,23 @@ gtk_recent_manager_new gtk_recent_manager_purge_items gtk_recent_manager_remove_item gtk_recent_sort_type_get_type G_GNUC_CONST +gtk_region_flags_get_type G_GNUC_CONST gtk_relief_style_get_type G_GNUC_CONST +gtk_render_activity +gtk_render_arrow +gtk_render_background +gtk_render_check +gtk_render_expander +gtk_render_extension +gtk_render_focus +gtk_render_frame +gtk_render_frame_gap +gtk_render_handle +gtk_render_icon_pixbuf +gtk_render_layout +gtk_render_line +gtk_render_option +gtk_render_slider gtk_requisition_copy gtk_requisition_free gtk_requisition_get_type G_GNUC_CONST @@ -2223,6 +2266,7 @@ gtk_spinner_new gtk_spinner_start gtk_spinner_stop gtk_spin_type_get_type G_GNUC_CONST +gtk_state_flags_get_type G_GNUC_CONST gtk_state_type_get_type G_GNUC_CONST gtk_statusbar_get_context_id gtk_statusbar_get_message_area @@ -2280,17 +2324,94 @@ gtk_switch_new gtk_switch_set_active gtk_style_apply_default_background gtk_style_attach +gtk_style_context_add_class +gtk_style_context_add_provider +gtk_style_context_add_provider_for_screen +gtk_style_context_add_region +gtk_style_context_get +gtk_style_context_get_background_color +gtk_style_context_get_border +gtk_style_context_get_border_color +gtk_style_context_get_color +gtk_style_context_get_direction +gtk_style_context_get_junction_sides +gtk_style_context_get_margin +gtk_style_context_get_padding +gtk_style_context_get_path +gtk_style_context_get_property +gtk_style_context_get_screen +gtk_style_context_get_state +gtk_style_context_get_style +gtk_style_context_get_style_property +gtk_style_context_get_style_valist +gtk_style_context_get_type +gtk_style_context_get_valist +gtk_style_context_has_class +gtk_style_context_has_region +gtk_style_context_invalidate +gtk_style_context_list_classes +gtk_style_context_list_regions +gtk_style_context_lookup_color +gtk_style_context_lookup_icon_set +gtk_style_context_new +gtk_style_context_notify_state_change +gtk_style_context_pop_animatable_region +gtk_style_context_push_animatable_region +gtk_style_context_remove_class +gtk_style_context_remove_provider +gtk_style_context_remove_provider_for_screen +gtk_style_context_remove_region +gtk_style_context_reset_widgets +gtk_style_context_restore +gtk_style_context_save +gtk_style_context_set_background +gtk_style_context_set_direction +gtk_style_context_set_junction_sides +gtk_style_context_set_path +gtk_style_context_set_screen +gtk_style_context_set_state +gtk_style_context_state_is_running gtk_style_copy gtk_style_detach gtk_style_get gtk_style_get_style_property gtk_style_get_type G_GNUC_CONST gtk_style_get_valist +gtk_style_has_context gtk_style_lookup_color gtk_style_lookup_icon_set gtk_style_new +gtk_style_properties_clear +gtk_style_properties_get +gtk_style_properties_get_property +gtk_style_properties_get_style +gtk_style_properties_get_type +gtk_style_properties_get_valist +gtk_style_properties_lookup_color +gtk_style_properties_lookup_property +gtk_style_properties_map_color +gtk_style_properties_merge +gtk_style_properties_new +gtk_style_properties_register_property +gtk_style_properties_set +gtk_style_properties_set_property +gtk_style_properties_set_valist +gtk_style_properties_unset_property +gtk_style_provider_get_icon_factory +gtk_style_provider_get_style +gtk_style_provider_get_style_property +gtk_style_provider_get_type gtk_style_render_icon gtk_style_set_background +gtk_symbolic_color_get_type +gtk_symbolic_color_new_alpha +gtk_symbolic_color_new_literal +gtk_symbolic_color_new_mix +gtk_symbolic_color_new_name +gtk_symbolic_color_new_shade +gtk_symbolic_color_ref +gtk_symbolic_color_resolve +gtk_symbolic_color_unref gtk_table_attach gtk_table_attach_defaults gtk_table_get_col_spacing @@ -2664,6 +2785,31 @@ gtk_text_window_type_get_type G_GNUC_CONST gtk_theme_engine_create_rc_style gtk_theme_engine_get gtk_theme_engine_get_type G_GNUC_CONST +gtk_theming_engine_get +gtk_theming_engine_get_background_color +gtk_theming_engine_get_border +gtk_theming_engine_get_border_color +gtk_theming_engine_get_color +gtk_theming_engine_get_direction +gtk_theming_engine_get_junction_sides +gtk_theming_engine_get_margin +gtk_theming_engine_get_padding +gtk_theming_engine_get_path +gtk_theming_engine_get_property +gtk_theming_engine_get_screen +gtk_theming_engine_get_state +gtk_theming_engine_get_style +gtk_theming_engine_get_style_property +gtk_theming_engine_get_style_valist +gtk_theming_engine_get_type +gtk_theming_engine_get_valist +gtk_theming_engine_has_class +gtk_theming_engine_has_region +gtk_theming_engine_load +gtk_theming_engine_lookup_color +gtk_theming_engine_register_property +gtk_theming_engine_state_is_running +gtk_theming_module_get_type gtk_toggle_action_get_active gtk_toggle_action_get_draw_as_radio gtk_toggle_action_get_type G_GNUC_CONST @@ -3214,6 +3360,7 @@ gtk_widget_get_no_show_all gtk_widget_get_pango_context gtk_widget_get_parent gtk_widget_get_parent_window +gtk_widget_get_path gtk_widget_get_pointer gtk_widget_get_preferred_height gtk_widget_get_preferred_height_for_width @@ -3230,7 +3377,9 @@ gtk_widget_get_sensitive gtk_widget_get_settings gtk_widget_get_size_request gtk_widget_get_state +gtk_widget_get_state_flags gtk_widget_get_style +gtk_widget_get_style_context gtk_widget_get_support_multidevice gtk_widget_get_tooltip_markup gtk_widget_get_tooltip_text @@ -3277,9 +3426,38 @@ gtk_widget_modify_text gtk_widget_new gtk_widget_override_background_color gtk_widget_override_color +gtk_widget_override_cursor gtk_widget_override_font gtk_widget_override_symbolic_color gtk_widget_path +gtk_widget_path_append_type +gtk_widget_path_copy +gtk_widget_path_free +gtk_widget_path_get_type G_GNUC_CONST +gtk_widget_path_get_widget_type +gtk_widget_path_has_parent +gtk_widget_path_is_type +gtk_widget_path_iter_add_class +gtk_widget_path_iter_add_region +gtk_widget_path_iter_clear_classes +gtk_widget_path_iter_clear_regions +gtk_widget_path_iter_get_name +gtk_widget_path_iter_get_widget_type +gtk_widget_path_iter_has_class +gtk_widget_path_iter_has_name +gtk_widget_path_iter_has_qclass +gtk_widget_path_iter_has_qname +gtk_widget_path_iter_has_qregion +gtk_widget_path_iter_has_region +gtk_widget_path_iter_list_classes +gtk_widget_path_iter_list_regions +gtk_widget_path_iter_remove_class +gtk_widget_path_iter_remove_region +gtk_widget_path_iter_set_name +gtk_widget_path_iter_set_widget_type +gtk_widget_path_length +gtk_widget_path_new +gtk_widget_path_prepend_type gtk_widget_pop_composite_child gtk_widget_push_composite_child gtk_widget_queue_compute_expand @@ -3297,6 +3475,7 @@ gtk_widget_render_icon_pixbuf gtk_widget_reparent gtk_widget_reset_rc_styles gtk_widget_reset_shapes +gtk_widget_reset_style gtk_widget_send_expose gtk_widget_send_focus_change gtk_widget_set_accel_path @@ -3332,6 +3511,7 @@ gtk_widget_set_redraw_on_allocate gtk_widget_set_sensitive gtk_widget_set_size_request gtk_widget_set_state +gtk_widget_set_state_flags gtk_widget_set_style gtk_widget_set_support_multidevice gtk_widget_set_tooltip_markup @@ -3359,6 +3539,7 @@ gtk_widget_trigger_tooltip_query gtk_widget_unmap gtk_widget_unparent gtk_widget_unrealize +gtk_widget_unset_state_flags #ifdef GDK_WINDOWING_WIN32 gtk_win32_embed_widget_get_type G_GNUC_CONST #endif diff --git a/gtk/gtk9slice.c b/gtk/gtk9slice.c index c3e824b4d5..1f2e517131 100644 --- a/gtk/gtk9slice.c +++ b/gtk/gtk9slice.c @@ -44,18 +44,18 @@ struct Gtk9Slice gint ref_count; }; -G_DEFINE_BOXED_TYPE (Gtk9Slice, gtk_9slice, - gtk_9slice_ref, gtk_9slice_unref) +G_DEFINE_BOXED_TYPE (Gtk9Slice, _gtk_9slice, + _gtk_9slice_ref, _gtk_9slice_unref) Gtk9Slice * -gtk_9slice_new (GdkPixbuf *pixbuf, - gdouble distance_top, - gdouble distance_bottom, - gdouble distance_left, - gdouble distance_right, - GtkSliceSideModifier horizontal_modifier, - GtkSliceSideModifier vertical_modifier) +_gtk_9slice_new (GdkPixbuf *pixbuf, + gdouble distance_top, + gdouble distance_bottom, + gdouble distance_left, + gdouble distance_right, + GtkSliceSideModifier horizontal_modifier, + GtkSliceSideModifier vertical_modifier) { Gtk9Slice *slice; cairo_surface_t *surface; @@ -264,12 +264,12 @@ render_corner (cairo_t *cr, } void -gtk_9slice_render (Gtk9Slice *slice, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height) +_gtk_9slice_render (Gtk9Slice *slice, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height) { int img_width, img_height; cairo_surface_t *surface; @@ -347,7 +347,7 @@ gtk_9slice_render (Gtk9Slice *slice, } Gtk9Slice * -gtk_9slice_ref (Gtk9Slice *slice) +_gtk_9slice_ref (Gtk9Slice *slice) { g_return_val_if_fail (slice != NULL, NULL); @@ -356,7 +356,7 @@ gtk_9slice_ref (Gtk9Slice *slice) } void -gtk_9slice_unref (Gtk9Slice *slice) +_gtk_9slice_unref (Gtk9Slice *slice) { g_return_if_fail (slice != NULL); diff --git a/gtk/gtk9slice.h b/gtk/gtk9slice.h index 10e3df079d..72b5efd435 100644 --- a/gtk/gtk9slice.h +++ b/gtk/gtk9slice.h @@ -27,32 +27,32 @@ G_BEGIN_DECLS /* Dummy typedefs */ typedef struct Gtk9Slice Gtk9Slice; -#define GTK_TYPE_9SLICE (gtk_9slice_get_type ()) +#define GTK_TYPE_9SLICE (_gtk_9slice_get_type ()) typedef enum { GTK_SLICE_REPEAT, GTK_SLICE_STRETCH } GtkSliceSideModifier; -GType gtk_9slice_get_type (void) G_GNUC_CONST; +GType _gtk_9slice_get_type (void) G_GNUC_CONST; -Gtk9Slice * gtk_9slice_new (GdkPixbuf *pixbuf, - gdouble distance_top, - gdouble distance_bottom, - gdouble distance_left, - gdouble distance_right, - GtkSliceSideModifier horizontal_modifier, - GtkSliceSideModifier vertical_modifier); +Gtk9Slice * _gtk_9slice_new (GdkPixbuf *pixbuf, + gdouble distance_top, + gdouble distance_bottom, + gdouble distance_left, + gdouble distance_right, + GtkSliceSideModifier horizontal_modifier, + GtkSliceSideModifier vertical_modifier); -Gtk9Slice * gtk_9slice_ref (Gtk9Slice *slice); -void gtk_9slice_unref (Gtk9Slice *slice); +Gtk9Slice * _gtk_9slice_ref (Gtk9Slice *slice); +void _gtk_9slice_unref (Gtk9Slice *slice); -void gtk_9slice_render (Gtk9Slice *slice, - cairo_t *cr, - gdouble x, - gdouble y, - gdouble width, - gdouble height); +void _gtk_9slice_render (Gtk9Slice *slice, + cairo_t *cr, + gdouble x, + gdouble y, + gdouble width, + gdouble height); G_END_DECLS diff --git a/gtk/gtkanimationdescription.c b/gtk/gtkanimationdescription.c index 785018ad37..f46ab4bef3 100644 --- a/gtk/gtkanimationdescription.c +++ b/gtk/gtkanimationdescription.c @@ -30,9 +30,9 @@ struct GtkAnimationDescription }; GtkAnimationDescription * -gtk_animation_description_new (gdouble duration, - GtkTimelineProgressType progress_type, - gboolean loop) +_gtk_animation_description_new (gdouble duration, + GtkTimelineProgressType progress_type, + gboolean loop) { GtkAnimationDescription *desc; @@ -46,32 +46,32 @@ gtk_animation_description_new (gdouble duration, } gdouble -gtk_animation_description_get_duration (GtkAnimationDescription *desc) +_gtk_animation_description_get_duration (GtkAnimationDescription *desc) { return desc->duration; } GtkTimelineProgressType -gtk_animation_description_get_progress_type (GtkAnimationDescription *desc) +_gtk_animation_description_get_progress_type (GtkAnimationDescription *desc) { return desc->progress_type; } gboolean -gtk_animation_description_get_loop (GtkAnimationDescription *desc) +_gtk_animation_description_get_loop (GtkAnimationDescription *desc) { return (desc->loop != 0); } GtkAnimationDescription * -gtk_animation_description_ref (GtkAnimationDescription *desc) +_gtk_animation_description_ref (GtkAnimationDescription *desc) { desc->ref_count++; return desc; } void -gtk_animation_description_unref (GtkAnimationDescription *desc) +_gtk_animation_description_unref (GtkAnimationDescription *desc) { desc->ref_count--; @@ -80,7 +80,7 @@ gtk_animation_description_unref (GtkAnimationDescription *desc) } GtkAnimationDescription * -gtk_animation_description_from_string (const gchar *str) +_gtk_animation_description_from_string (const gchar *str) { gchar timing_function[16] = { 0, }; gchar duration_unit[3] = { 0, }; @@ -120,18 +120,18 @@ gtk_animation_description_from_string (const gchar *str) return NULL; } - return gtk_animation_description_new ((gdouble) duration, progress_type, loop); + return _gtk_animation_description_new ((gdouble) duration, progress_type, loop); } GType -gtk_animation_description_get_type (void) +_gtk_animation_description_get_type (void) { static GType type = 0; if (G_UNLIKELY (!type)) type = g_boxed_type_register_static (I_("GtkAnimationDescription"), - (GBoxedCopyFunc) gtk_animation_description_ref, - (GBoxedFreeFunc) gtk_animation_description_unref); + (GBoxedCopyFunc) _gtk_animation_description_ref, + (GBoxedFreeFunc) _gtk_animation_description_unref); return type; } diff --git a/gtk/gtkanimationdescription.h b/gtk/gtkanimationdescription.h index 34fc8fcb95..7bff674cc1 100644 --- a/gtk/gtkanimationdescription.h +++ b/gtk/gtkanimationdescription.h @@ -27,22 +27,22 @@ G_BEGIN_DECLS /* Dummy typedefs */ typedef struct GtkAnimationDescription GtkAnimationDescription; -#define GTK_TYPE_ANIMATION_DESCRIPTION (gtk_animation_description_get_type ()) +#define GTK_TYPE_ANIMATION_DESCRIPTION (_gtk_animation_description_get_type ()) -GType gtk_animation_description_get_type (void) G_GNUC_CONST; +GType _gtk_animation_description_get_type (void) G_GNUC_CONST; -GtkAnimationDescription * gtk_animation_description_new (gdouble duration, - GtkTimelineProgressType progress_type, - gboolean loop); +GtkAnimationDescription * _gtk_animation_description_new (gdouble duration, + GtkTimelineProgressType progress_type, + gboolean loop); -gdouble gtk_animation_description_get_duration (GtkAnimationDescription *desc); -GtkTimelineProgressType gtk_animation_description_get_progress_type (GtkAnimationDescription *desc); -gboolean gtk_animation_description_get_loop (GtkAnimationDescription *desc); +gdouble _gtk_animation_description_get_duration (GtkAnimationDescription *desc); +GtkTimelineProgressType _gtk_animation_description_get_progress_type (GtkAnimationDescription *desc); +gboolean _gtk_animation_description_get_loop (GtkAnimationDescription *desc); -GtkAnimationDescription * gtk_animation_description_ref (GtkAnimationDescription *desc); -void gtk_animation_description_unref (GtkAnimationDescription *desc); +GtkAnimationDescription * _gtk_animation_description_ref (GtkAnimationDescription *desc); +void _gtk_animation_description_unref (GtkAnimationDescription *desc); -GtkAnimationDescription * gtk_animation_description_from_string (const gchar *str); +GtkAnimationDescription * _gtk_animation_description_from_string (const gchar *str); G_END_DECLS diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c index 83cf7e00e4..60532bb278 100644 --- a/gtk/gtkappchooserdialog.c +++ b/gtk/gtkappchooserdialog.c @@ -108,7 +108,7 @@ search_for_mimetype_ready_cb (GObject *source, GtkAppChooserDialog *self = user_data; GError *error = NULL; - gtk_app_chooser_online_search_for_mimetype_finish (online, res, &error); + _gtk_app_chooser_online_search_for_mimetype_finish (online, res, &error); if (error != NULL) { @@ -128,11 +128,11 @@ online_button_clicked_cb (GtkButton *b, { GtkAppChooserDialog *self = user_data; - gtk_app_chooser_online_search_for_mimetype_async (self->priv->online, - self->priv->content_type, - GTK_WINDOW (self), - search_for_mimetype_ready_cb, - self); + _gtk_app_chooser_online_search_for_mimetype_async (self->priv->online, + self->priv->content_type, + GTK_WINDOW (self), + search_for_mimetype_ready_cb, + self); } static void @@ -142,7 +142,7 @@ app_chooser_online_get_default_ready_cb (GObject *source, { GtkAppChooserDialog *self = user_data; - self->priv->online = gtk_app_chooser_online_get_default_finish (source, res); + self->priv->online = _gtk_app_chooser_online_get_default_finish (source, res); if (self->priv->online != NULL) { @@ -164,7 +164,7 @@ app_chooser_online_get_default_ready_cb (GObject *source, static void ensure_online_button (GtkAppChooserDialog *self) { - gtk_app_chooser_online_get_default_async (app_chooser_online_get_default_ready_cb, self); + _gtk_app_chooser_online_get_default_async (app_chooser_online_get_default_ready_cb, self); } /* An application is valid if: diff --git a/gtk/gtkappchooseronline.c b/gtk/gtkappchooseronline.c index 71267ca7f5..deda4b30a7 100644 --- a/gtk/gtkappchooseronline.c +++ b/gtk/gtkappchooseronline.c @@ -30,20 +30,19 @@ #include -#define gtk_app_chooser_online_get_type _gtk_app_chooser_online_get_type static void gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface); -G_DEFINE_INTERFACE_WITH_CODE (GtkAppChooserOnline, gtk_app_chooser_online, G_TYPE_OBJECT, +G_DEFINE_INTERFACE_WITH_CODE (GtkAppChooserOnline, _gtk_app_chooser_online, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_ASYNC_INITABLE);) static void -gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface) +_gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface) { /* do nothing */ } GtkAppChooserOnline * -gtk_app_chooser_online_get_default_finish (GObject *source, - GAsyncResult *result) +_gtk_app_chooser_online_get_default_finish (GObject *source, + GAsyncResult *result) { GtkAppChooserOnline *retval; @@ -51,11 +50,11 @@ gtk_app_chooser_online_get_default_finish (GObject *source, result, NULL)); return retval; -} +} void -gtk_app_chooser_online_get_default_async (GAsyncReadyCallback callback, - gpointer user_data) +_gtk_app_chooser_online_get_default_async (GAsyncReadyCallback callback, + gpointer user_data) { GIOExtensionPoint *ep; GIOExtension *extension; @@ -76,11 +75,11 @@ gtk_app_chooser_online_get_default_async (GAsyncReadyCallback callback, } void -gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self, - const gchar *content_type, - GtkWindow *parent, - GAsyncReadyCallback callback, - gpointer user_data) +_gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self, + const gchar *content_type, + GtkWindow *parent, + GAsyncReadyCallback callback, + gpointer user_data) { GtkAppChooserOnlineInterface *iface; @@ -92,9 +91,9 @@ gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self, } gboolean -gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self, - GAsyncResult *res, - GError **error) +_gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self, + GAsyncResult *res, + GError **error) { GtkAppChooserOnlineInterface *iface; diff --git a/gtk/gtkappchooseronline.h b/gtk/gtkappchooseronline.h index d0eca3b9e0..a8316c1e1e 100644 --- a/gtk/gtkappchooseronline.h +++ b/gtk/gtkappchooseronline.h @@ -54,20 +54,20 @@ struct _GtkAppChooserOnlineInterface { GError **error); }; -GType _gtk_app_chooser_online_get_type (void) G_GNUC_CONST; +GType _gtk_app_chooser_online_get_type (void) G_GNUC_CONST; -void gtk_app_chooser_online_get_default_async (GAsyncReadyCallback callback, - gpointer user_data); -GtkAppChooserOnline * gtk_app_chooser_online_get_default_finish (GObject *source, +void _gtk_app_chooser_online_get_default_async (GAsyncReadyCallback callback, + gpointer user_data); +GtkAppChooserOnline * _gtk_app_chooser_online_get_default_finish (GObject *source, GAsyncResult *result); -void gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self, - const gchar *content_type, - GtkWindow *parent, - GAsyncReadyCallback callback, - gpointer user_data); -gboolean gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self, - GAsyncResult *res, - GError **error); +void _gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self, + const gchar *content_type, + GtkWindow *parent, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean _gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self, + GAsyncResult *res, + GError **error); #endif /* __GTK_APP_CHOOSER_ONLINE_H__ */ diff --git a/gtk/gtkappchooseronlinepk.c b/gtk/gtkappchooseronlinepk.c index c498546890..4b6df0ec22 100644 --- a/gtk/gtkappchooseronlinepk.c +++ b/gtk/gtkappchooseronlinepk.c @@ -134,7 +134,7 @@ pk_search_mime_async (GtkAppChooserOnline *obj, self->priv->result = g_simple_async_result_new (G_OBJECT (self), callback, user_data, - gtk_app_chooser_online_search_for_mimetype_async); + _gtk_app_chooser_online_search_for_mimetype_async); #ifdef GDK_WINDOWING_X11 window = gtk_widget_get_window (GTK_WIDGET (parent)); @@ -243,7 +243,7 @@ app_chooser_online_pk_init_async (GAsyncInitable *init, self->priv->init_result = g_simple_async_result_new (G_OBJECT (self), callback, user_data, - gtk_app_chooser_online_get_default_async); + _gtk_app_chooser_online_get_default_async); self->priv->watch_id = g_bus_watch_name (G_BUS_TYPE_SESSION, diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index c3baf9cf16..2b0ac71f8c 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -2478,7 +2478,7 @@ gtk_assistant_get_accessible (GtkWidget *widget) typedef struct _GtkAssistantAccessible GtkAssistantAccessible; typedef struct _GtkAssistantAccessibleClass GtkAssistantAccessibleClass; -ATK_DEFINE_TYPE (GtkAssistantAccessible, gtk_assistant_accessible, GTK_TYPE_ASSISTANT); +ATK_DEFINE_TYPE (GtkAssistantAccessible, _gtk_assistant_accessible, GTK_TYPE_ASSISTANT); static gint gtk_assistant_accessible_get_n_children (AtkObject *accessible) @@ -2537,7 +2537,7 @@ gtk_assistant_accessible_ref_child (AtkObject *accessible, } static void -gtk_assistant_accessible_class_init (GtkAssistantAccessibleClass *klass) +_gtk_assistant_accessible_class_init (GtkAssistantAccessibleClass *klass) { AtkObjectClass *atk_class = ATK_OBJECT_CLASS (klass); @@ -2546,7 +2546,7 @@ gtk_assistant_accessible_class_init (GtkAssistantAccessibleClass *klass) } static void -gtk_assistant_accessible_init (GtkAssistantAccessible *self) +_gtk_assistant_accessible_init (GtkAssistantAccessible *self) { } @@ -2561,7 +2561,7 @@ G_DEFINE_TYPE (GtkAssistantAccessibleFactory, static GType gtk_assistant_accessible_factory_get_accessible_type (void) { - return gtk_assistant_accessible_get_type (); + return _gtk_assistant_accessible_get_type (); } static AtkObject* @@ -2569,7 +2569,7 @@ gtk_assistant_accessible_factory_create_accessible (GObject *obj) { AtkObject *accessible; - accessible = g_object_new (gtk_assistant_accessible_get_type (), NULL); + accessible = g_object_new (_gtk_assistant_accessible_get_type (), NULL); atk_object_initialize (accessible, obj); return accessible; diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 5ab102a85e..b417234096 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -2621,10 +2621,10 @@ slice_parse_str (GtkCssProvider *css_provider, return NULL; } - slice = gtk_9slice_new (pixbuf, - distance_top, distance_bottom, - distance_left, distance_right, - mods[0], mods[1]); + slice = _gtk_9slice_new (pixbuf, + distance_top, distance_bottom, + distance_left, distance_right, + mods[0], mods[1]); g_object_unref (pixbuf); return slice; @@ -2796,7 +2796,7 @@ css_provider_parse_value (GtkCssProvider *css_provider, { GtkAnimationDescription *desc; - desc = gtk_animation_description_from_string (value_str); + desc = _gtk_animation_description_from_string (value_str); if (desc) g_value_take_boxed (value, desc); diff --git a/gtk/gtkspinner.c b/gtk/gtkspinner.c index 65bf7e2353..78c6b994df 100644 --- a/gtk/gtkspinner.c +++ b/gtk/gtkspinner.c @@ -345,7 +345,7 @@ typedef AtkObjectFactory GtkSpinnerAccessibleFactory; typedef AtkObjectFactoryClass GtkSpinnerAccessibleFactoryClass; G_DEFINE_TYPE (GtkSpinnerAccessibleFactory, - gtk_spinner_accessible_factory, + _gtk_spinner_accessible_factory, ATK_TYPE_OBJECT_FACTORY); static GType @@ -366,14 +366,14 @@ gtk_spinner_accessible_factory_create_accessible (GObject *obj) } static void -gtk_spinner_accessible_factory_class_init (AtkObjectFactoryClass *klass) +_gtk_spinner_accessible_factory_class_init (AtkObjectFactoryClass *klass) { klass->create_accessible = gtk_spinner_accessible_factory_create_accessible; klass->get_accessible_type = gtk_spinner_accessible_factory_get_accessible_type; } static void -gtk_spinner_accessible_factory_init (AtkObjectFactory *factory) +_gtk_spinner_accessible_factory_init (AtkObjectFactory *factory) { } @@ -402,7 +402,7 @@ gtk_spinner_get_accessible (GtkWidget *widget) if (g_type_is_a (derived_atk_type, GTK_TYPE_ACCESSIBLE)) atk_registry_set_factory_type (registry, GTK_TYPE_SPINNER, - gtk_spinner_accessible_factory_get_type ()); + _gtk_spinner_accessible_factory_get_type ()); first_time = FALSE; } diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index b8d8c992e7..bc604d88c6 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -495,7 +495,7 @@ enum { LAST_SIGNAL }; -guint signals[LAST_SIGNAL] = { 0 }; +static guint signals[LAST_SIGNAL] = { 0 }; static GQuark provider_list_quark = 0; @@ -842,19 +842,19 @@ animation_info_new (GtkStyleContext *context, info = g_slice_new0 (AnimationInfo); info->rectangles = g_array_new (FALSE, FALSE, sizeof (cairo_rectangle_int_t)); - info->timeline = gtk_timeline_new (duration); + info->timeline = _gtk_timeline_new (duration); info->window = g_object_ref (window); info->state = state; info->target_value = target_value; info->region_id = region_id; - gtk_timeline_set_progress_type (info->timeline, progress_type); - gtk_timeline_set_loop (info->timeline, loop); + _gtk_timeline_set_progress_type (info->timeline, progress_type); + _gtk_timeline_set_loop (info->timeline, loop); if (!loop && !target_value) { - gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_BACKWARD); - gtk_timeline_rewind (info->timeline); + _gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_BACKWARD); + _gtk_timeline_rewind (info->timeline); } g_signal_connect (info->timeline, "frame", @@ -862,7 +862,7 @@ animation_info_new (GtkStyleContext *context, g_signal_connect (info->timeline, "finished", G_CALLBACK (timeline_finished_cb), context); - gtk_timeline_start (info->timeline); + _gtk_timeline_start (info->timeline); return info; } @@ -1076,7 +1076,7 @@ build_icon_factories (GtkStyleContext *context, } } -GtkWidgetPath * +static GtkWidgetPath * create_query_path (GtkStyleContext *context) { GtkStyleContextPrivate *priv; @@ -1628,7 +1628,7 @@ gtk_style_context_state_is_running (GtkStyleContext *context, context_has_animatable_region (context, info->region_id)) { if (progress) - *progress = gtk_timeline_get_progress (info->timeline); + *progress = _gtk_timeline_get_progress (info->timeline); return TRUE; } @@ -2855,9 +2855,9 @@ gtk_style_context_notify_state_change (GtkStyleContext *context, if (!desc) return; - if (gtk_animation_description_get_duration (desc) == 0) + if (_gtk_animation_description_get_duration (desc) == 0) { - gtk_animation_description_unref (desc); + _gtk_animation_description_unref (desc); return; } @@ -2867,37 +2867,37 @@ gtk_style_context_notify_state_change (GtkStyleContext *context, info->target_value != state_value) { /* Target values are the opposite */ - if (!gtk_timeline_get_loop (info->timeline)) + if (!_gtk_timeline_get_loop (info->timeline)) { /* Reverse the animation */ - if (gtk_timeline_get_direction (info->timeline) == GTK_TIMELINE_DIRECTION_FORWARD) - gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_BACKWARD); + if (_gtk_timeline_get_direction (info->timeline) == GTK_TIMELINE_DIRECTION_FORWARD) + _gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_BACKWARD); else - gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_FORWARD); + _gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_FORWARD); info->target_value = state_value; } else { /* Take it out of its looping state */ - gtk_timeline_set_loop (info->timeline, FALSE); + _gtk_timeline_set_loop (info->timeline, FALSE); } } else if (!info && - (!gtk_animation_description_get_loop (desc) || + (!_gtk_animation_description_get_loop (desc) || state_value)) { info = animation_info_new (context, region_id, - gtk_animation_description_get_duration (desc), - gtk_animation_description_get_progress_type (desc), - gtk_animation_description_get_loop (desc), + _gtk_animation_description_get_duration (desc), + _gtk_animation_description_get_progress_type (desc), + _gtk_animation_description_get_loop (desc), state, state_value, window); priv->animations = g_slist_prepend (priv->animations, info); priv->animations_invalidated = TRUE; } - gtk_animation_description_unref (desc); + _gtk_animation_description_unref (desc); } /** diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index e254161141..88ba166ef8 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1971,8 +1971,8 @@ gtk_theming_engine_render_frame (GtkThemingEngine *engine, if (slice) { - gtk_9slice_render (slice, cr, x, y, width, height); - gtk_9slice_unref (slice); + _gtk_9slice_render (slice, cr, x, y, width, height); + _gtk_9slice_unref (slice); } else if (border_style != GTK_BORDER_STYLE_NONE) render_frame_internal (engine, cr, diff --git a/gtk/gtktimeline.c b/gtk/gtktimeline.c index 348011c768..5550e7d47c 100644 --- a/gtk/gtktimeline.c +++ b/gtk/gtktimeline.c @@ -76,94 +76,94 @@ static void gtk_timeline_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_timeline_finalize (GObject *object); +static void _gtk_timeline_finalize (GObject *object); -G_DEFINE_TYPE (GtkTimeline, gtk_timeline, G_TYPE_OBJECT) +G_DEFINE_TYPE (GtkTimeline, _gtk_timeline, G_TYPE_OBJECT) static void -gtk_timeline_class_init (GtkTimelineClass *klass) +_gtk_timeline_class_init (GtkTimelineClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->set_property = gtk_timeline_set_property; object_class->get_property = gtk_timeline_get_property; - object_class->finalize = gtk_timeline_finalize; + object_class->finalize = _gtk_timeline_finalize; g_object_class_install_property (object_class, - PROP_FPS, - g_param_spec_uint ("fps", - "FPS", - "Frames per second for the timeline", - 1, G_MAXUINT, - DEFAULT_FPS, - G_PARAM_READWRITE)); + PROP_FPS, + g_param_spec_uint ("fps", + "FPS", + "Frames per second for the timeline", + 1, G_MAXUINT, + DEFAULT_FPS, + G_PARAM_READWRITE)); g_object_class_install_property (object_class, - PROP_DURATION, - g_param_spec_uint ("duration", - "Animation Duration", - "Animation Duration", - 0, G_MAXUINT, - 0, - G_PARAM_READWRITE)); + PROP_DURATION, + g_param_spec_uint ("duration", + "Animation Duration", + "Animation Duration", + 0, G_MAXUINT, + 0, + G_PARAM_READWRITE)); g_object_class_install_property (object_class, - PROP_LOOP, - g_param_spec_boolean ("loop", - "Loop", - "Whether the timeline loops or not", - FALSE, - G_PARAM_READWRITE)); + PROP_LOOP, + g_param_spec_boolean ("loop", + "Loop", + "Whether the timeline loops or not", + FALSE, + G_PARAM_READWRITE)); g_object_class_install_property (object_class, - PROP_SCREEN, - g_param_spec_object ("screen", - "Screen", - "Screen to get the settings from", - GDK_TYPE_SCREEN, - G_PARAM_READWRITE)); + PROP_SCREEN, + g_param_spec_object ("screen", + "Screen", + "Screen to get the settings from", + GDK_TYPE_SCREEN, + G_PARAM_READWRITE)); signals[STARTED] = g_signal_new ("started", - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkTimelineClass, started), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkTimelineClass, started), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); signals[PAUSED] = g_signal_new ("paused", - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkTimelineClass, paused), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkTimelineClass, paused), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); signals[FINISHED] = g_signal_new ("finished", - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkTimelineClass, finished), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkTimelineClass, finished), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); signals[FRAME] = g_signal_new ("frame", - G_TYPE_FROM_CLASS (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkTimelineClass, frame), - NULL, NULL, - g_cclosure_marshal_VOID__DOUBLE, - G_TYPE_NONE, 1, - G_TYPE_DOUBLE); + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkTimelineClass, frame), + NULL, NULL, + g_cclosure_marshal_VOID__DOUBLE, + G_TYPE_NONE, 1, + G_TYPE_DOUBLE); g_type_class_add_private (klass, sizeof (GtkTimelinePriv)); } static void -gtk_timeline_init (GtkTimeline *timeline) +_gtk_timeline_init (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -194,20 +194,20 @@ gtk_timeline_set_property (GObject *object, switch (prop_id) { case PROP_FPS: - gtk_timeline_set_fps (timeline, g_value_get_uint (value)); + _gtk_timeline_set_fps (timeline, g_value_get_uint (value)); break; case PROP_DURATION: - gtk_timeline_set_duration (timeline, g_value_get_uint (value)); + _gtk_timeline_set_duration (timeline, g_value_get_uint (value)); break; case PROP_LOOP: - gtk_timeline_set_loop (timeline, g_value_get_boolean (value)); + _gtk_timeline_set_loop (timeline, g_value_get_boolean (value)); break; case PROP_DIRECTION: - gtk_timeline_set_direction (timeline, g_value_get_enum (value)); + _gtk_timeline_set_direction (timeline, g_value_get_enum (value)); break; case PROP_SCREEN: - gtk_timeline_set_screen (timeline, - GDK_SCREEN (g_value_get_object (value))); + _gtk_timeline_set_screen (timeline, + GDK_SCREEN (g_value_get_object (value))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -249,7 +249,7 @@ gtk_timeline_get_property (GObject *object, } static void -gtk_timeline_finalize (GObject *object) +_gtk_timeline_finalize (GObject *object) { GtkTimelinePriv *priv; GtkTimeline *timeline; @@ -266,10 +266,10 @@ gtk_timeline_finalize (GObject *object) if (priv->timer) g_timer_destroy (priv->timer); - G_OBJECT_CLASS (gtk_timeline_parent_class)->finalize (object); + G_OBJECT_CLASS (_gtk_timeline_parent_class)->finalize (object); } -gdouble +static gdouble calculate_progress (gdouble linear_progress, GtkTimelineProgressType progress_type) { @@ -324,9 +324,9 @@ gtk_timeline_run_frame (GtkTimeline *timeline) progress = priv->last_progress; if (priv->direction == GTK_TIMELINE_DIRECTION_BACKWARD) - progress -= delta_progress; + progress -= delta_progress; else - progress += delta_progress; + progress += delta_progress; priv->last_progress = progress; @@ -343,18 +343,18 @@ gtk_timeline_run_frame (GtkTimeline *timeline) (priv->direction == GTK_TIMELINE_DIRECTION_BACKWARD && progress == 0.0)) { if (!priv->loop) - { - if (priv->source_id) - { - g_source_remove (priv->source_id); - priv->source_id = 0; - } + { + if (priv->source_id) + { + g_source_remove (priv->source_id); + priv->source_id = 0; + } g_timer_stop (priv->timer); - g_signal_emit (timeline, signals [FINISHED], 0); - return FALSE; - } + g_signal_emit (timeline, signals [FINISHED], 0); + return FALSE; + } else - gtk_timeline_rewind (timeline); + _gtk_timeline_rewind (timeline); } return TRUE; @@ -369,21 +369,21 @@ gtk_timeline_run_frame (GtkTimeline *timeline) * Return Value: the newly created #GtkTimeline **/ GtkTimeline * -gtk_timeline_new (guint duration) +_gtk_timeline_new (guint duration) { return g_object_new (GTK_TYPE_TIMELINE, - "duration", duration, - NULL); + "duration", duration, + NULL); } GtkTimeline * -gtk_timeline_new_for_screen (guint duration, - GdkScreen *screen) +_gtk_timeline_new_for_screen (guint duration, + GdkScreen *screen) { return g_object_new (GTK_TYPE_TIMELINE, - "duration", duration, - "screen", screen, - NULL); + "duration", duration, + "screen", screen, + NULL); } /** @@ -393,7 +393,7 @@ gtk_timeline_new_for_screen (guint duration, * Runs the timeline from the current frame. **/ void -gtk_timeline_start (GtkTimeline *timeline) +_gtk_timeline_start (GtkTimeline *timeline) { GtkTimelinePriv *priv; GtkSettings *settings; @@ -440,7 +440,7 @@ gtk_timeline_start (GtkTimeline *timeline) * Pauses the timeline. **/ void -gtk_timeline_pause (GtkTimeline *timeline) +_gtk_timeline_pause (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -464,7 +464,7 @@ gtk_timeline_pause (GtkTimeline *timeline) * Rewinds the timeline. **/ void -gtk_timeline_rewind (GtkTimeline *timeline) +_gtk_timeline_rewind (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -472,7 +472,7 @@ gtk_timeline_rewind (GtkTimeline *timeline) priv = timeline->priv; - if (gtk_timeline_get_direction(timeline) != GTK_TIMELINE_DIRECTION_FORWARD) + if (_gtk_timeline_get_direction (timeline) != GTK_TIMELINE_DIRECTION_FORWARD) priv->progress = priv->last_progress = 1.; else priv->progress = priv->last_progress = 0.; @@ -496,7 +496,7 @@ gtk_timeline_rewind (GtkTimeline *timeline) * Return Value: %TRUE if the timeline is running **/ gboolean -gtk_timeline_is_running (GtkTimeline *timeline) +_gtk_timeline_is_running (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -516,7 +516,7 @@ gtk_timeline_is_running (GtkTimeline *timeline) * Return Value: frames per second **/ guint -gtk_timeline_get_fps (GtkTimeline *timeline) +_gtk_timeline_get_fps (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -535,7 +535,7 @@ gtk_timeline_get_fps (GtkTimeline *timeline) * the timeline will play. **/ void -gtk_timeline_set_fps (GtkTimeline *timeline, +_gtk_timeline_set_fps (GtkTimeline *timeline, guint fps) { GtkTimelinePriv *priv; @@ -547,12 +547,12 @@ gtk_timeline_set_fps (GtkTimeline *timeline, priv->fps = fps; - if (gtk_timeline_is_running (timeline)) + if (_gtk_timeline_is_running (timeline)) { g_source_remove (priv->source_id); priv->source_id = gdk_threads_add_timeout (FRAME_INTERVAL (priv->fps), - (GSourceFunc) gtk_timeline_run_frame, - timeline); + (GSourceFunc) gtk_timeline_run_frame, + timeline); } g_object_notify (G_OBJECT (timeline), "fps"); @@ -568,7 +568,7 @@ gtk_timeline_set_fps (GtkTimeline *timeline, * Return Value: %TRUE if the timeline loops **/ gboolean -gtk_timeline_get_loop (GtkTimeline *timeline) +_gtk_timeline_get_loop (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -587,8 +587,8 @@ gtk_timeline_get_loop (GtkTimeline *timeline) * when it has reached the end. **/ void -gtk_timeline_set_loop (GtkTimeline *timeline, - gboolean loop) +_gtk_timeline_set_loop (GtkTimeline *timeline, + gboolean loop) { GtkTimelinePriv *priv; @@ -604,8 +604,8 @@ gtk_timeline_set_loop (GtkTimeline *timeline, } void -gtk_timeline_set_duration (GtkTimeline *timeline, - guint duration) +_gtk_timeline_set_duration (GtkTimeline *timeline, + guint duration) { GtkTimelinePriv *priv; @@ -621,7 +621,7 @@ gtk_timeline_set_duration (GtkTimeline *timeline, } guint -gtk_timeline_get_duration (GtkTimeline *timeline) +_gtk_timeline_get_duration (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -640,8 +640,8 @@ gtk_timeline_get_duration (GtkTimeline *timeline) * Sets the direction of the timeline. **/ void -gtk_timeline_set_direction (GtkTimeline *timeline, - GtkTimelineDirection direction) +_gtk_timeline_set_direction (GtkTimeline *timeline, + GtkTimelineDirection direction) { GtkTimelinePriv *priv; @@ -660,7 +660,7 @@ gtk_timeline_set_direction (GtkTimeline *timeline, * Return Value: direction **/ GtkTimelineDirection -gtk_timeline_get_direction (GtkTimeline *timeline) +_gtk_timeline_get_direction (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -671,8 +671,8 @@ gtk_timeline_get_direction (GtkTimeline *timeline) } void -gtk_timeline_set_screen (GtkTimeline *timeline, - GdkScreen *screen) +_gtk_timeline_set_screen (GtkTimeline *timeline, + GdkScreen *screen) { GtkTimelinePriv *priv; @@ -690,7 +690,7 @@ gtk_timeline_set_screen (GtkTimeline *timeline, } GdkScreen * -gtk_timeline_get_screen (GtkTimeline *timeline) +_gtk_timeline_get_screen (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -701,7 +701,7 @@ gtk_timeline_get_screen (GtkTimeline *timeline) } gdouble -gtk_timeline_get_progress (GtkTimeline *timeline) +_gtk_timeline_get_progress (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -712,7 +712,7 @@ gtk_timeline_get_progress (GtkTimeline *timeline) } GtkTimelineProgressType -gtk_timeline_get_progress_type (GtkTimeline *timeline) +_gtk_timeline_get_progress_type (GtkTimeline *timeline) { GtkTimelinePriv *priv; @@ -723,8 +723,8 @@ gtk_timeline_get_progress_type (GtkTimeline *timeline) } void -gtk_timeline_set_progress_type (GtkTimeline *timeline, - GtkTimelineProgressType progress_type) +_gtk_timeline_set_progress_type (GtkTimeline *timeline, + GtkTimelineProgressType progress_type) { GtkTimelinePriv *priv; diff --git a/gtk/gtktimeline.h b/gtk/gtktimeline.h index d9a6ae5d2c..0b0aee16d0 100644 --- a/gtk/gtktimeline.h +++ b/gtk/gtktimeline.h @@ -26,7 +26,7 @@ G_BEGIN_DECLS -#define GTK_TYPE_TIMELINE (gtk_timeline_get_type ()) +#define GTK_TYPE_TIMELINE (_gtk_timeline_get_type ()) #define GTK_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TIMELINE, GtkTimeline)) #define GTK_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TIMELINE, GtkTimelineClass)) #define GTK_IS_TIMELINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TIMELINE)) @@ -73,43 +73,43 @@ struct GtkTimelineClass }; -GType gtk_timeline_get_type (void) G_GNUC_CONST; +GType _gtk_timeline_get_type (void) G_GNUC_CONST; -GtkTimeline *gtk_timeline_new (guint duration); -GtkTimeline *gtk_timeline_new_for_screen (guint duration, - GdkScreen *screen); +GtkTimeline * _gtk_timeline_new (guint duration); +GtkTimeline * _gtk_timeline_new_for_screen (guint duration, + GdkScreen *screen); -void gtk_timeline_start (GtkTimeline *timeline); -void gtk_timeline_pause (GtkTimeline *timeline); -void gtk_timeline_rewind (GtkTimeline *timeline); +void _gtk_timeline_start (GtkTimeline *timeline); +void _gtk_timeline_pause (GtkTimeline *timeline); +void _gtk_timeline_rewind (GtkTimeline *timeline); -gboolean gtk_timeline_is_running (GtkTimeline *timeline); +gboolean _gtk_timeline_is_running (GtkTimeline *timeline); -guint gtk_timeline_get_fps (GtkTimeline *timeline); -void gtk_timeline_set_fps (GtkTimeline *timeline, - guint fps); +guint _gtk_timeline_get_fps (GtkTimeline *timeline); +void _gtk_timeline_set_fps (GtkTimeline *timeline, + guint fps); -gboolean gtk_timeline_get_loop (GtkTimeline *timeline); -void gtk_timeline_set_loop (GtkTimeline *timeline, - gboolean loop); +gboolean _gtk_timeline_get_loop (GtkTimeline *timeline); +void _gtk_timeline_set_loop (GtkTimeline *timeline, + gboolean loop); -guint gtk_timeline_get_duration (GtkTimeline *timeline); -void gtk_timeline_set_duration (GtkTimeline *timeline, - guint duration); +guint _gtk_timeline_get_duration (GtkTimeline *timeline); +void _gtk_timeline_set_duration (GtkTimeline *timeline, + guint duration); -GdkScreen *gtk_timeline_get_screen (GtkTimeline *timeline); -void gtk_timeline_set_screen (GtkTimeline *timeline, - GdkScreen *screen); +GdkScreen * _gtk_timeline_get_screen (GtkTimeline *timeline); +void _gtk_timeline_set_screen (GtkTimeline *timeline, + GdkScreen *screen); -GtkTimelineDirection gtk_timeline_get_direction (GtkTimeline *timeline); -void gtk_timeline_set_direction (GtkTimeline *timeline, - GtkTimelineDirection direction); +GtkTimelineDirection _gtk_timeline_get_direction (GtkTimeline *timeline); +void _gtk_timeline_set_direction (GtkTimeline *timeline, + GtkTimelineDirection direction); -gdouble gtk_timeline_get_progress (GtkTimeline *timeline); +gdouble _gtk_timeline_get_progress (GtkTimeline *timeline); -GtkTimelineProgressType gtk_timeline_get_progress_type (GtkTimeline *timeline); -void gtk_timeline_set_progress_type (GtkTimeline *timeline, - GtkTimelineProgressType progress_type); +GtkTimelineProgressType _gtk_timeline_get_progress_type (GtkTimeline *timeline); +void _gtk_timeline_set_progress_type (GtkTimeline *timeline, + GtkTimelineProgressType progress_type); G_END_DECLS diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 196a2c59dd..c0df69b59c 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4097,10 +4097,10 @@ _gtk_widget_start_state_transitions (GtkWidget *widget) if (animation_desc) { - if (gtk_animation_description_get_loop (animation_desc)) + if (_gtk_animation_description_get_loop (animation_desc)) _gtk_widget_notify_state_change (widget, flag, TRUE); - gtk_animation_description_unref (animation_desc); + _gtk_animation_description_unref (animation_desc); } flag >>= 1; From d28cbd6e6db15a77929719d08e014f560c73b0ba Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 5 Dec 2010 18:18:36 +0100 Subject: [PATCH 0365/1463] Bring back _gtk_tree_view_column_get_cell_at_pos The function has been re-implemented around GtkCellArea. This commits also brings back the invocation of this function in gtk_tree_view_button_press(). I shouldn't have removed this. --- gtk/gtktreeview.c | 6 ++++++ gtk/gtktreeviewcolumn.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 2f2d5ce1fd..a2f3846f04 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3180,11 +3180,17 @@ gtk_tree_view_button_press (GtkWidget *widget, */ if (event->type == GDK_BUTTON_PRESS) { + GtkCellRenderer *focus_cell; + if ((event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK) tree_view->priv->ctrl_pressed = TRUE; if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) tree_view->priv->shift_pressed = TRUE; + focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, event->x - background_area.x); + if (focus_cell) + gtk_tree_view_column_focus_cell (column, focus_cell); + if (event->state & GDK_CONTROL_MASK) { gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index bf1679e3b5..429ed577fb 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1466,6 +1466,40 @@ _gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column) return gtk_cell_area_get_edited_cell (priv->cell_area); } +GtkCellRenderer * +_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, + gint x) +{ + GList *list; + GList *cell; + GtkCellRenderer *match = NULL; + GtkTreeViewColumnPrivate *priv = column->priv; + + list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column)); + for (cell = list; cell; cell = cell->next) + { + GdkRectangle zero_cell_area = { 0, }; + GdkRectangle allocation; + + gtk_cell_area_get_cell_allocation (priv->cell_area, + priv->cell_area_context, + priv->tree_view, + cell->data, + &zero_cell_area, + &allocation); + + if (allocation.x <= x && x <= allocation.x + allocation.width) + { + match = cell->data; + break; + } + } + + g_list_free (list); + + return match; +} + /* Public Functions */ From 059aa89cbd2e0b998339eca4d3fc4d108355355c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Sun, 5 Dec 2010 18:33:31 +0100 Subject: [PATCH 0366/1463] Updated Spanish translation --- po-properties/es.po | 906 ++++++++++++++++++++++---------------------- 1 file changed, 453 insertions(+), 453 deletions(-) diff --git a/po-properties/es.po b/po-properties/es.po index be287b4698..866a43d207 100644 --- a/po-properties/es.po +++ b/po-properties/es.po @@ -17,8 +17,8 @@ msgstr "" "Project-Id-Version: gtk+-properties.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-11-30 05:33+0000\n" -"PO-Revision-Date: 2010-12-02 19:09+0100\n" +"POT-Creation-Date: 2010-12-05 03:20+0000\n" +"PO-Revision-Date: 2010-12-05 18:32+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -121,7 +121,7 @@ msgstr "Resolución de la tipografía" msgid "The resolution for fonts on the screen" msgstr "La resolución para las tipografías en la pantalla" -#: ../gdk/gdkwindow.c:410 ../gdk/gdkwindow.c:411 +#: ../gdk/gdkwindow.c:393 ../gdk/gdkwindow.c:394 msgid "Cursor" msgstr "Cursor" @@ -295,7 +295,7 @@ msgid "A unique name for the action." msgstr "Un nombre único para la acción." #: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:209 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 #: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Etiqueta" @@ -344,7 +344,7 @@ msgstr "El icono mostrado" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 #: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:732 msgid "Icon Name" msgstr "Nombre del icono" @@ -413,7 +413,7 @@ msgstr "" "acción se ocultan." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:916 +#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:927 msgid "Sensitive" msgstr "Sensible" @@ -423,7 +423,7 @@ msgstr "Indica si la acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 #: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 -#: ../gtk/gtkwidget.c:909 +#: ../gtk/gtkwidget.c:920 msgid "Visible" msgstr "Visible" @@ -627,7 +627,7 @@ msgstr "Sombra de la flecha" msgid "Appearance of the shadow surrounding the arrow" msgstr "Apariencia de la sombra que rodea la flecha" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:731 ../gtk/gtkmenuitem.c:394 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 msgid "Arrow Scaling" msgstr "Escalado de flechas" @@ -635,7 +635,7 @@ msgstr "Escalado de flechas" msgid "Amount of space used up by arrow" msgstr "Cantidad de espacio ocupado por flecha" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1112 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 msgid "Horizontal Alignment" msgstr "Alineación horizontal" @@ -643,7 +643,7 @@ msgstr "Alineación horizontal" msgid "X alignment of the child" msgstr "Alineación X del hijo" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1128 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 msgid "Vertical Alignment" msgstr "Alineación vertical" @@ -831,7 +831,7 @@ msgstr "Espacio extra para colocar entre el hijo y sus vecinos, en píxeles" msgid "Pack type" msgstr "Tipo de empaquetado" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:793 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:795 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -839,12 +839,12 @@ msgstr "" "Un GtkPackType que indica si el hijo está empaquetado con referencia al " "inicio o el final del padre" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:764 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:766 ../gtk/gtkpaned.c:327 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Posición" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:765 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:767 msgid "The index of the child in the parent" msgstr "El índice del hijo en el padre" @@ -864,12 +864,12 @@ msgstr "" "Texto del etiqueta del widget dentro del botón, si el botón contiene una " "etiqueta del widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:588 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:587 #: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Utilizar subrayado" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:589 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:588 #: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " @@ -1355,7 +1355,7 @@ msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica si el pixbuf renderizado debe colorearse de acuerdo al estado" #: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:709 msgid "Icon" msgstr "Icono" @@ -1432,7 +1432,7 @@ msgstr "Tasa de subida" msgid "The acceleration rate when you hold down a button" msgstr "La tasa de aceleración cuando mantiene apretado un botón" -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:249 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:254 #: ../gtk/gtkspinbutton.c:248 msgid "Digits" msgstr "Dígitos" @@ -1442,7 +1442,7 @@ msgid "The number of decimal places to display" msgstr "El número de lugares decimales que mostrar" #: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:521 ../gtk/gtkspinner.c:131 ../gtk/gtkswitch.c:739 +#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1475,7 +1475,7 @@ msgstr "Marcado" msgid "Marked up text to render" msgstr "Texto resaltado a renderizar" -#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:574 +#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:573 msgid "Attributes" msgstr "Atributos" @@ -1659,7 +1659,7 @@ msgstr "" "como una ayuda cuando está renderizando el texto. Si no comprende este " "parámetro probablemente no lo necesite" -#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:699 +#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:698 #: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Elipsis" @@ -1673,15 +1673,15 @@ msgstr "" "celda no tiene espacio suficiente para mostrar la cadena completa" #: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:720 +#: ../gtk/gtklabel.c:719 msgid "Width In Characters" msgstr "Anchura en caracteres" -#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:721 +#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:720 msgid "The desired width of the label, in characters" msgstr "La anchura deseada de la etiqueta, en caracteres" -#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:781 +#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:780 msgid "Maximum Width In Characters" msgstr "Anchura máxima en caracteres" @@ -2102,7 +2102,7 @@ msgstr "Indica si el ComboBox dibuja un marco alrededor del hijo" msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Indica si el ComboBox obtiene el foco cuando se pulsa con el ratón" -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:576 +#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 msgid "Tearoff Title" msgstr "Título del tirador" @@ -2146,14 +2146,10 @@ msgstr "" "entrada si la caja combinada se creó con #GtkComboBox:has-entry = %TRUE" #: ../gtk/gtkcombobox.c:966 -#| msgid "Columns" msgid "ID Column" msgstr "ID de la columna" #: ../gtk/gtkcombobox.c:967 -#| msgid "" -#| "The column in the combo box's model to associate with strings from the " -#| "entry if the combo was created with #GtkComboBox:has-entry = %TRUE" msgid "" "The column in the combo box's model that provides string IDs for the values " "in the model" @@ -2162,12 +2158,10 @@ msgstr "" "para los valores en el modelo" #: ../gtk/gtkcombobox.c:982 -#| msgid "Active" msgid "Active id" msgstr "ID activo" #: ../gtk/gtkcombobox.c:983 -#| msgid "The name of the icon from the icon theme" msgid "The value of the id column for the active row" msgstr "El valor del ID de la columna para la fila activa" @@ -2209,27 +2203,27 @@ msgstr "Tipo de sombra" msgid "Which kind of shadow to draw around the combo box" msgstr "Qué clase de sombra dibujar alrededor de la caja combo" -#: ../gtk/gtkcontainer.c:472 +#: ../gtk/gtkcontainer.c:476 msgid "Resize mode" msgstr "Modo de redimensión" -#: ../gtk/gtkcontainer.c:473 +#: ../gtk/gtkcontainer.c:477 msgid "Specify how resize events are handled" msgstr "Especifica cómo se manipulan los eventos de redimensionado" -#: ../gtk/gtkcontainer.c:480 +#: ../gtk/gtkcontainer.c:484 msgid "Border width" msgstr "Anchura del borde" -#: ../gtk/gtkcontainer.c:481 +#: ../gtk/gtkcontainer.c:485 msgid "The width of the empty border outside the containers children" msgstr "La anchura del borde vacío fuera de los contenedores hijos" -#: ../gtk/gtkcontainer.c:489 +#: ../gtk/gtkcontainer.c:493 msgid "Child" msgstr "Hijo" -#: ../gtk/gtkcontainer.c:490 +#: ../gtk/gtkcontainer.c:494 msgid "Can be used to add a new child to the container" msgstr "Puede usarse para añadir un hijo nuevo al contenedor" @@ -2275,19 +2269,19 @@ msgstr "Búfer de texto" msgid "Text buffer object which actually stores entry text" msgstr "Objeto de búfer de texto que realmente almacena la entrada de texto" -#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:661 msgid "Cursor Position" msgstr "Posición del cursor" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:663 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "The current position of the insertion cursor in chars" msgstr "La posición actual del cursor de inserción en caracteres" -#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:671 msgid "Selection Bound" msgstr "Límite de selección" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:673 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" @@ -2728,11 +2722,11 @@ msgstr "Indica si el expansor ha sido abierto para revelar el widget hijo" msgid "Text of the expander's label" msgstr "Texto de la etiqueta del expansor" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:580 msgid "Use markup" msgstr "Usar marcado" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:582 +#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:581 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "El texto de la etiqueta incluye marcado XML. Vea pango_parse_markup()" @@ -3256,7 +3250,7 @@ msgstr "" "Indica si se debe usar el texto de la etiqueta para crear un elemento del " "menú de stock" -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:536 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 msgid "Accel Group" msgstr "Grupo de aceleración" @@ -3286,27 +3280,27 @@ msgid "Width of border around the action area" msgstr "Anchura del borde alrededor del área de acción" #: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 msgid "Screen" msgstr "Pantalla" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:742 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 msgid "The screen where this window will be displayed" msgstr "La pantalla donde se mostrará esta ventana" -#: ../gtk/gtklabel.c:568 +#: ../gtk/gtklabel.c:567 msgid "The text of the label" msgstr "El texto de la etiqueta" -#: ../gtk/gtklabel.c:575 +#: ../gtk/gtklabel.c:574 msgid "A list of style attributes to apply to the text of the label" msgstr "Un lista de atributos de estilos para aplicar al texto de la etiqueta" -#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "Justificación" -#: ../gtk/gtklabel.c:597 +#: ../gtk/gtklabel.c:596 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3316,11 +3310,11 @@ msgstr "" "Esto NO afecta la alineación de la etiqueta dentro de su ubicación. Ver " "GtkMisc::xalign para ello" -#: ../gtk/gtklabel.c:605 +#: ../gtk/gtklabel.c:604 msgid "Pattern" msgstr "Patrón" -#: ../gtk/gtklabel.c:606 +#: ../gtk/gtklabel.c:605 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3328,50 +3322,50 @@ msgstr "" "Un cadena con caracteres _ en posiciones correspondientes a caracteres en el " "texto a subrayar" -#: ../gtk/gtklabel.c:613 +#: ../gtk/gtklabel.c:612 msgid "Line wrap" msgstr "Ajuste de línea" -#: ../gtk/gtklabel.c:614 +#: ../gtk/gtklabel.c:613 msgid "If set, wrap lines if the text becomes too wide" msgstr "" "Si esta definido, ajustar las líneas si el texto se vuelve demasiado ancho" -#: ../gtk/gtklabel.c:629 +#: ../gtk/gtklabel.c:628 msgid "Line wrap mode" msgstr "Modo de ajuste de línea" -#: ../gtk/gtklabel.c:630 +#: ../gtk/gtklabel.c:629 msgid "If wrap is set, controls how linewrapping is done" msgstr "Si se establece el ajuste, controla cómo se hace el ajuste de línea" -#: ../gtk/gtklabel.c:637 +#: ../gtk/gtklabel.c:636 msgid "Selectable" msgstr "Seleccionable" -#: ../gtk/gtklabel.c:638 +#: ../gtk/gtklabel.c:637 msgid "Whether the label text can be selected with the mouse" msgstr "Indica si el texto de la etiqueta puede ser seleccionado con el ratón" -#: ../gtk/gtklabel.c:644 +#: ../gtk/gtklabel.c:643 msgid "Mnemonic key" msgstr "Tecla nemónica" -#: ../gtk/gtklabel.c:645 +#: ../gtk/gtklabel.c:644 msgid "The mnemonic accelerator key for this label" msgstr "La tecla nemotécnica del acelerador para esta etiqueta" -#: ../gtk/gtklabel.c:653 +#: ../gtk/gtklabel.c:652 msgid "Mnemonic widget" msgstr "Widget nemónico" -#: ../gtk/gtklabel.c:654 +#: ../gtk/gtklabel.c:653 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "" "El widget que se activará cuando se presione la tecla mnemotécnica de la " "etiqueta" -#: ../gtk/gtklabel.c:700 +#: ../gtk/gtklabel.c:699 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3379,31 +3373,31 @@ msgstr "" "El lugar preferido para la elipsis de la cadena, si la etiqueta no tiene " "suficiente espacio para mostrar la cadena completa" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:740 msgid "Single Line Mode" msgstr "Modo de línea única" -#: ../gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:741 msgid "Whether the label is in single line mode" msgstr "Indica si la etiqueta está en modo de línea única" -#: ../gtk/gtklabel.c:759 +#: ../gtk/gtklabel.c:758 msgid "Angle" msgstr "Ángulo" -#: ../gtk/gtklabel.c:760 +#: ../gtk/gtklabel.c:759 msgid "Angle at which the label is rotated" msgstr "Ángulo al cual la etiqueta se rota" -#: ../gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:781 msgid "The desired maximum width of the label, in characters" msgstr "La anchura máxima deseada de la etiqueta, en caracteres" -#: ../gtk/gtklabel.c:800 +#: ../gtk/gtklabel.c:799 msgid "Track visited links" msgstr "Seguir los enlaces visitados" -#: ../gtk/gtklabel.c:801 +#: ../gtk/gtklabel.c:800 msgid "Whether visited links should be tracked" msgstr "Indica si deben seguir los enlaces visitados" @@ -3469,33 +3463,33 @@ msgstr "" "Número de espacios del borde entre la sombra de la barra de menús y los " "elementos del menú" -#: ../gtk/gtkmenu.c:522 +#: ../gtk/gtkmenu.c:521 msgid "The currently selected menu item" msgstr "El elemento del menú actualmente seleccionado" -#: ../gtk/gtkmenu.c:537 +#: ../gtk/gtkmenu.c:536 msgid "The accel group holding accelerators for the menu" msgstr "El grupo de aceleración que contiene los aceleradores para el menú" -#: ../gtk/gtkmenu.c:551 ../gtk/gtkmenuitem.c:316 +#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 msgid "Accel Path" msgstr "Ruta del acelerador" -#: ../gtk/gtkmenu.c:552 +#: ../gtk/gtkmenu.c:551 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "Una ruta de acelerador usada para construir convenientemente rutas de " "aceleración de elementos hijo" -#: ../gtk/gtkmenu.c:568 +#: ../gtk/gtkmenu.c:567 msgid "Attach Widget" msgstr "Acoplar widget" -#: ../gtk/gtkmenu.c:569 +#: ../gtk/gtkmenu.c:568 msgid "The widget the menu is attached to" msgstr "El menú al que está acoplado el widget" -#: ../gtk/gtkmenu.c:577 +#: ../gtk/gtkmenu.c:576 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3503,54 +3497,54 @@ msgstr "" "Un título que podría mostrarse por el administrador de ventanas cuando este " "menú se desprenda" -#: ../gtk/gtkmenu.c:591 +#: ../gtk/gtkmenu.c:590 msgid "Tearoff State" msgstr "Estado de desprendimiento" -#: ../gtk/gtkmenu.c:592 +#: ../gtk/gtkmenu.c:591 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Un booleano que indica si el menú ha sido desprendido" -#: ../gtk/gtkmenu.c:606 +#: ../gtk/gtkmenu.c:605 msgid "Monitor" msgstr "Monitor" -#: ../gtk/gtkmenu.c:607 +#: ../gtk/gtkmenu.c:606 msgid "The monitor the menu will be popped up on" msgstr "El monitor en el que se mostrará el menú" -#: ../gtk/gtkmenu.c:613 +#: ../gtk/gtkmenu.c:612 msgid "Vertical Padding" msgstr "Separación vertical" -#: ../gtk/gtkmenu.c:614 +#: ../gtk/gtkmenu.c:613 msgid "Extra space at the top and bottom of the menu" msgstr "El espacio adicional en la parte superior e inferior del menú" -#: ../gtk/gtkmenu.c:636 +#: ../gtk/gtkmenu.c:635 msgid "Reserve Toggle Size" msgstr "Reservar tamaño para conmutar" -#: ../gtk/gtkmenu.c:637 +#: ../gtk/gtkmenu.c:636 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "" "Un booleano que indica si el menú reserva espacio para conmutadores e iconos" -#: ../gtk/gtkmenu.c:643 +#: ../gtk/gtkmenu.c:642 msgid "Horizontal Padding" msgstr "Separación horizontal" -#: ../gtk/gtkmenu.c:644 +#: ../gtk/gtkmenu.c:643 msgid "Extra space at the left and right edges of the menu" msgstr "El espacio adicional en los bordes derecho e izquierdo del menú" -#: ../gtk/gtkmenu.c:652 +#: ../gtk/gtkmenu.c:651 msgid "Vertical Offset" msgstr "Desplazamiento vertical" -#: ../gtk/gtkmenu.c:653 +#: ../gtk/gtkmenu.c:652 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3558,11 +3552,11 @@ msgstr "" "Cuando el menú es un submenú, colocarlo este número de píxeles de " "desplazamiento vertical" -#: ../gtk/gtkmenu.c:661 +#: ../gtk/gtkmenu.c:660 msgid "Horizontal Offset" msgstr "Desplazamiento horizontal" -#: ../gtk/gtkmenu.c:662 +#: ../gtk/gtkmenu.c:661 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3570,55 +3564,55 @@ msgstr "" "Cuando el menú es un submenú, colocarlo este número de píxeles de " "desplazamiento horizontal" -#: ../gtk/gtkmenu.c:670 +#: ../gtk/gtkmenu.c:669 msgid "Double Arrows" msgstr "Dobles flechas" -#: ../gtk/gtkmenu.c:671 +#: ../gtk/gtkmenu.c:670 msgid "When scrolling, always show both arrows." msgstr "Al desplazar, siempre mostrar ambas flechas." -#: ../gtk/gtkmenu.c:684 +#: ../gtk/gtkmenu.c:683 msgid "Arrow Placement" msgstr "Colocación de flecha" -#: ../gtk/gtkmenu.c:685 +#: ../gtk/gtkmenu.c:684 msgid "Indicates where scroll arrows should be placed" msgstr "Indica si las flechas de desplazamiento se deben colocar" -#: ../gtk/gtkmenu.c:693 +#: ../gtk/gtkmenu.c:692 msgid "Left Attach" msgstr "Acoplar a la izquierda" -#: ../gtk/gtkmenu.c:694 ../gtk/gtktable.c:202 +#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "El número de columnas que acoplar al lado izquierdo del hijo" -#: ../gtk/gtkmenu.c:701 +#: ../gtk/gtkmenu.c:700 msgid "Right Attach" msgstr "Acoplar a la derecha" -#: ../gtk/gtkmenu.c:702 +#: ../gtk/gtkmenu.c:701 msgid "The column number to attach the right side of the child to" msgstr "El número de columnas que acoplar al lado derecho del hijo" -#: ../gtk/gtkmenu.c:709 +#: ../gtk/gtkmenu.c:708 msgid "Top Attach" msgstr "Acoplamiento superior" -#: ../gtk/gtkmenu.c:710 +#: ../gtk/gtkmenu.c:709 msgid "The row number to attach the top of the child to" msgstr "El número de filas que acoplar por encima del hijo" -#: ../gtk/gtkmenu.c:717 +#: ../gtk/gtkmenu.c:716 msgid "Bottom Attach" msgstr "Acoplamiento inferior" -#: ../gtk/gtkmenu.c:718 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "El número de filas que acoplar por debajo del hijo" -#: ../gtk/gtkmenu.c:732 +#: ../gtk/gtkmenu.c:731 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" "Constante arbitraria para reducir el escalado del tamaño de la flecha de " @@ -3793,52 +3787,52 @@ msgstr "Estamos mostrando un diálogo" msgid "The screen where this window will be displayed." msgstr "La pantalla donde se mostrará esta ventana." -#: ../gtk/gtknotebook.c:689 +#: ../gtk/gtknotebook.c:691 msgid "Page" msgstr "Página" -#: ../gtk/gtknotebook.c:690 +#: ../gtk/gtknotebook.c:692 msgid "The index of the current page" msgstr "El índice de la página actual" -#: ../gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:700 msgid "Tab Position" msgstr "Posición del tabulador" -#: ../gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:701 msgid "Which side of the notebook holds the tabs" msgstr "Qué lado del cuaderno contiene las solapas" -#: ../gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:708 msgid "Show Tabs" msgstr "Mostrar solapas" -#: ../gtk/gtknotebook.c:707 +#: ../gtk/gtknotebook.c:709 msgid "Whether tabs should be shown" msgstr "Indica si se deben mostrar las solapas" -#: ../gtk/gtknotebook.c:713 +#: ../gtk/gtknotebook.c:715 msgid "Show Border" msgstr "Mostrar borde" -#: ../gtk/gtknotebook.c:714 +#: ../gtk/gtknotebook.c:716 msgid "Whether the border should be shown" msgstr "Indica si se debe mostrar el borde" -#: ../gtk/gtknotebook.c:720 +#: ../gtk/gtknotebook.c:722 msgid "Scrollable" msgstr "Desplazable" -#: ../gtk/gtknotebook.c:721 +#: ../gtk/gtknotebook.c:723 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Si es TRUE, añadir flechas de desplazamiento si no caben todas las solapas" -#: ../gtk/gtknotebook.c:727 +#: ../gtk/gtknotebook.c:729 msgid "Enable Popup" msgstr "Activar emergente" -#: ../gtk/gtknotebook.c:728 +#: ../gtk/gtknotebook.c:730 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3846,125 +3840,125 @@ msgstr "" "Si es TRUE, presionando el botón derecho del ratón en el cuaderno emerge un " "menú que puede usar para ir a una página" -#: ../gtk/gtknotebook.c:742 +#: ../gtk/gtknotebook.c:744 msgid "Group Name" msgstr "Nombre del grupo" -#: ../gtk/gtknotebook.c:743 +#: ../gtk/gtknotebook.c:745 msgid "Group name for tab drag and drop" msgstr "Nombre del grupo para el arrastre y suelte de solapas" -#: ../gtk/gtknotebook.c:750 +#: ../gtk/gtknotebook.c:752 msgid "Tab label" msgstr "Etiqueta de la solapa" -#: ../gtk/gtknotebook.c:751 +#: ../gtk/gtknotebook.c:753 msgid "The string displayed on the child's tab label" msgstr "La cadena mostrada en la etiqueta de la solapa hija" -#: ../gtk/gtknotebook.c:757 +#: ../gtk/gtknotebook.c:759 msgid "Menu label" msgstr "Etiqueta de menú" -#: ../gtk/gtknotebook.c:758 +#: ../gtk/gtknotebook.c:760 msgid "The string displayed in the child's menu entry" msgstr "La cadena mostrada en la entrada de menú hija" -#: ../gtk/gtknotebook.c:771 +#: ../gtk/gtknotebook.c:773 msgid "Tab expand" msgstr "Expansión de la solapa" -#: ../gtk/gtknotebook.c:772 +#: ../gtk/gtknotebook.c:774 msgid "Whether to expand the child's tab" msgstr "Indica si se deben expandir la solapas del hijo" -#: ../gtk/gtknotebook.c:778 +#: ../gtk/gtknotebook.c:780 msgid "Tab fill" msgstr "Relleno de la solapa" -#: ../gtk/gtknotebook.c:779 +#: ../gtk/gtknotebook.c:781 msgid "Whether the child's tab should fill the allocated area" msgstr "Indica si se debe rellenar el área asignada de las solapas hijas " -#: ../gtk/gtknotebook.c:792 +#: ../gtk/gtknotebook.c:794 msgid "Tab pack type" msgstr "Tipo de empaquetado de la solapa" -#: ../gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:801 msgid "Tab reorderable" msgstr "Solapa reordenable" -#: ../gtk/gtknotebook.c:800 +#: ../gtk/gtknotebook.c:802 msgid "Whether the tab is reorderable by user action" msgstr "Indica si la solapa se puede reordenar por una acción del usuario" -#: ../gtk/gtknotebook.c:806 +#: ../gtk/gtknotebook.c:808 msgid "Tab detachable" msgstr "Solapa desprendible" -#: ../gtk/gtknotebook.c:807 +#: ../gtk/gtknotebook.c:809 msgid "Whether the tab is detachable" msgstr "Indica si la solapa es desprendible" -#: ../gtk/gtknotebook.c:822 ../gtk/gtkscrollbar.c:105 +#: ../gtk/gtknotebook.c:824 ../gtk/gtkscrollbar.c:105 msgid "Secondary backward stepper" msgstr "Flecha de retroceso secundaria" -#: ../gtk/gtknotebook.c:823 +#: ../gtk/gtknotebook.c:825 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Muestra una segunda flecha de retroceso en el extremo opuesto del área de " "solapas" -#: ../gtk/gtknotebook.c:838 ../gtk/gtkscrollbar.c:112 +#: ../gtk/gtknotebook.c:840 ../gtk/gtkscrollbar.c:112 msgid "Secondary forward stepper" msgstr "Flecha de adelanto secundaria" -#: ../gtk/gtknotebook.c:839 +#: ../gtk/gtknotebook.c:841 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Mostrar una segunda flecha de avance en el extremo opuesto del área de " "solapas" -#: ../gtk/gtknotebook.c:853 ../gtk/gtkscrollbar.c:91 +#: ../gtk/gtknotebook.c:855 ../gtk/gtkscrollbar.c:91 msgid "Backward stepper" msgstr "Flecha de retroceso" -#: ../gtk/gtknotebook.c:854 ../gtk/gtkscrollbar.c:92 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:92 msgid "Display the standard backward arrow button" msgstr "Mostrar el botón estándar de flecha de retroceso" -#: ../gtk/gtknotebook.c:868 ../gtk/gtkscrollbar.c:98 +#: ../gtk/gtknotebook.c:870 ../gtk/gtkscrollbar.c:98 msgid "Forward stepper" msgstr "Flecha de avance" -#: ../gtk/gtknotebook.c:869 ../gtk/gtkscrollbar.c:99 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:99 msgid "Display the standard forward arrow button" msgstr "Mostrar el botón estándar de flecha de avance" -#: ../gtk/gtknotebook.c:883 +#: ../gtk/gtknotebook.c:885 msgid "Tab overlap" msgstr "Solapamiento de la solapa" -#: ../gtk/gtknotebook.c:884 +#: ../gtk/gtknotebook.c:886 msgid "Size of tab overlap area" msgstr "Tamaño del área de solapamiento de la solapa" -#: ../gtk/gtknotebook.c:899 +#: ../gtk/gtknotebook.c:901 msgid "Tab curvature" msgstr "Curvatura de la solapa" -#: ../gtk/gtknotebook.c:900 +#: ../gtk/gtknotebook.c:902 msgid "Size of tab curvature" msgstr "Tamaño de la curvatura de la solapa" -#: ../gtk/gtknotebook.c:916 +#: ../gtk/gtknotebook.c:918 msgid "Arrow spacing" msgstr "Espaciado de las flechas" -#: ../gtk/gtknotebook.c:917 +#: ../gtk/gtknotebook.c:919 msgid "Scroll arrow spacing" msgstr "Espaciado del desplazamiento de las flechas" @@ -4553,7 +4547,7 @@ msgstr "Nivel de llenado" msgid "The fill level." msgstr "El nivel de llenado." -#: ../gtk/gtkrange.c:517 ../gtk/gtkswitch.c:773 +#: ../gtk/gtkrange.c:517 ../gtk/gtkswitch.c:772 msgid "Slider Width" msgstr "Anchura del deslizador" @@ -4742,40 +4736,40 @@ msgstr "Iconos" msgid "List of icon names" msgstr "Lista de nombres de iconos" -#: ../gtk/gtkscale.c:250 +#: ../gtk/gtkscale.c:255 msgid "The number of decimal places that are displayed in the value" msgstr "El número de lugares decimales que se mostrarán en el valor" -#: ../gtk/gtkscale.c:259 +#: ../gtk/gtkscale.c:264 msgid "Draw Value" msgstr "Dibujar valor" -#: ../gtk/gtkscale.c:260 +#: ../gtk/gtkscale.c:265 msgid "Whether the current value is displayed as a string next to the slider" msgstr "" "Indica si el valor actual se muestra como una cadena contigua al deslizador" -#: ../gtk/gtkscale.c:267 +#: ../gtk/gtkscale.c:272 msgid "Value Position" msgstr "Posición del valor" -#: ../gtk/gtkscale.c:268 +#: ../gtk/gtkscale.c:273 msgid "The position in which the current value is displayed" msgstr "La posición en que se muestra el valor actual" -#: ../gtk/gtkscale.c:275 +#: ../gtk/gtkscale.c:280 msgid "Slider Length" msgstr "Longitud del deslizador" -#: ../gtk/gtkscale.c:276 +#: ../gtk/gtkscale.c:281 msgid "Length of scale's slider" msgstr "Longitud de la escala del deslizador" -#: ../gtk/gtkscale.c:284 +#: ../gtk/gtkscale.c:289 msgid "Value spacing" msgstr "Espaciado del valor" -#: ../gtk/gtkscale.c:285 +#: ../gtk/gtkscale.c:290 msgid "Space between value text and the slider/trough area" msgstr "Espacio entre el texto del valor y el área del deslizador/carril" @@ -4918,11 +4912,11 @@ msgstr "Dibujar" msgid "Whether the separator is drawn, or just blank" msgstr "Indica si el separador se dibuja, o sólo se deja en blanco" -#: ../gtk/gtksettings.c:277 +#: ../gtk/gtksettings.c:285 msgid "Double Click Time" msgstr "Tiempo del doble pulsación" -#: ../gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:286 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4930,11 +4924,11 @@ msgstr "" "Tiempo máximo permitido entre dos pulsaciones para ser considerados como una " "pulsación doble (en milisegundos)" -#: ../gtk/gtksettings.c:285 +#: ../gtk/gtksettings.c:293 msgid "Double Click Distance" msgstr "Distancia de la pulsación doble" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:294 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4942,35 +4936,35 @@ msgstr "" "Distancia máxima permitida entre dos pulsaciones para ser considerados como " "una pulsación doble (en píxeles)" -#: ../gtk/gtksettings.c:302 +#: ../gtk/gtksettings.c:310 msgid "Cursor Blink" msgstr "Parpadeo del cursor" -#: ../gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:311 msgid "Whether the cursor should blink" msgstr "Indica si el cursor debe parpadear" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:318 msgid "Cursor Blink Time" msgstr "Tiempo de parpadeo del cursor" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:319 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Longitud del ciclo de parpadeo del cursor, en milisegundos" -#: ../gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:338 msgid "Cursor Blink Timeout" msgstr "Intervalo de parpadeo del cursor" -#: ../gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:339 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Tiempo tras el que el cursor para de parpadear, en segundos" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:346 msgid "Split Cursor" msgstr "Dividir cursor" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:347 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4978,161 +4972,161 @@ msgstr "" "Indica si deben mostrarse dos cursores para el texto mezclado de izquierda-a-" "derecha y derecha-a-izquierda" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:354 msgid "Theme Name" msgstr "Nombre del tema" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:355 msgid "Name of theme RC file to load" msgstr "Nombre del archivo RC de tema que cargar" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:363 msgid "Icon Theme Name" msgstr "Nombre del tema de iconos" -#: ../gtk/gtksettings.c:356 +#: ../gtk/gtksettings.c:364 msgid "Name of icon theme to use" msgstr "Nombre del tema de iconos que utilizar" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:372 msgid "Fallback Icon Theme Name" msgstr "Nombre del tema de iconos de resguardo" -#: ../gtk/gtksettings.c:365 +#: ../gtk/gtksettings.c:373 msgid "Name of a icon theme to fall back to" msgstr "Nombre del tema de iconos que utilizar como resguardo" -#: ../gtk/gtksettings.c:373 +#: ../gtk/gtksettings.c:381 msgid "Key Theme Name" msgstr "Nombre del tema de teclas" -#: ../gtk/gtksettings.c:374 +#: ../gtk/gtksettings.c:382 msgid "Name of key theme RC file to load" msgstr "Nombre del archivo RC de tema de teclas que cargar" -#: ../gtk/gtksettings.c:382 +#: ../gtk/gtksettings.c:390 msgid "Menu bar accelerator" msgstr "Acelerador de la barra de menús" -#: ../gtk/gtksettings.c:383 +#: ../gtk/gtksettings.c:391 msgid "Keybinding to activate the menu bar" msgstr "Combinación de teclas para activar la barra de menús" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:399 msgid "Drag threshold" msgstr "Umbral del arrastre" -#: ../gtk/gtksettings.c:392 +#: ../gtk/gtksettings.c:400 msgid "Number of pixels the cursor can move before dragging" msgstr "" "Número de píxeles que el cursor puede mover antes de iniciar el arrastre" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:408 msgid "Font Name" msgstr "Nombre de la tipografía" -#: ../gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:409 msgid "Name of default font to use" msgstr "Nombre de la tipografía predeterminada a utilizar" -#: ../gtk/gtksettings.c:423 +#: ../gtk/gtksettings.c:431 msgid "Icon Sizes" msgstr "Tamaños de los iconos" -#: ../gtk/gtksettings.c:424 +#: ../gtk/gtksettings.c:432 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Lista de tamaños de los iconos (gtk-menu=16,16:gtk-button=20,20..." -#: ../gtk/gtksettings.c:432 +#: ../gtk/gtksettings.c:440 msgid "GTK Modules" msgstr "Módulos GTK" -#: ../gtk/gtksettings.c:433 +#: ../gtk/gtksettings.c:441 msgid "List of currently active GTK modules" msgstr "Lista de módulos GTK activos actualmente" -#: ../gtk/gtksettings.c:442 +#: ../gtk/gtksettings.c:450 msgid "Xft Antialias" msgstr "Suavizado Xft" -#: ../gtk/gtksettings.c:443 +#: ../gtk/gtksettings.c:451 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica si se deben suavizar los bordes de las tipografías Xft; 0=no,1=sí, " "-1=predeterminado" -#: ../gtk/gtksettings.c:452 +#: ../gtk/gtksettings.c:460 msgid "Xft Hinting" msgstr "Sugerencias Xft" -#: ../gtk/gtksettings.c:453 +#: ../gtk/gtksettings.c:461 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica si se deben usar las sugerencias de las tipografías Xft; 0=no, 1 =sí, " "-1=predeterminado" -#: ../gtk/gtksettings.c:462 +#: ../gtk/gtksettings.c:470 msgid "Xft Hint Style" msgstr "Estilo de sugerencias Xft" -#: ../gtk/gtksettings.c:463 +#: ../gtk/gtksettings.c:471 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "Qué grado de sugerencias usar: ninguno, ligero, medio o completo" -#: ../gtk/gtksettings.c:472 +#: ../gtk/gtksettings.c:480 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:473 +#: ../gtk/gtksettings.c:481 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Tipo de suavizado de subpíxel: ninguno, rgb, bgr, vrgb, vbgr" -#: ../gtk/gtksettings.c:482 +#: ../gtk/gtksettings.c:490 msgid "Xft DPI" msgstr "PPP Xft (DPI)" -#: ../gtk/gtksettings.c:483 +#: ../gtk/gtksettings.c:491 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" "Resolución para Xft, en 1024 * puntos/pulgada. -1 para usar el valor " "predeterminado" -#: ../gtk/gtksettings.c:492 +#: ../gtk/gtksettings.c:500 msgid "Cursor theme name" msgstr "Nombre del tema del cursor" -#: ../gtk/gtksettings.c:493 +#: ../gtk/gtksettings.c:501 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "" "Nombre del tema de cursor que utilizar, o NULL para usar el tema " "predeterminado" -#: ../gtk/gtksettings.c:501 +#: ../gtk/gtksettings.c:509 msgid "Cursor theme size" msgstr "Tamaño del tema del cursor" -#: ../gtk/gtksettings.c:502 +#: ../gtk/gtksettings.c:510 msgid "Size to use for cursors, or 0 to use the default size" msgstr "" "Tamaño que se va a usar para los cursores, o 0 para usar el tamaño " "predeterminado" -#: ../gtk/gtksettings.c:512 +#: ../gtk/gtksettings.c:520 msgid "Alternative button order" msgstr "Orden de los botones alternativo" -#: ../gtk/gtksettings.c:513 +#: ../gtk/gtksettings.c:521 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" "Indica si los botones en los diálogos deben usar un orden de botones " "alternativo" -#: ../gtk/gtksettings.c:530 +#: ../gtk/gtksettings.c:538 msgid "Alternative sort indicator direction" msgstr "Dirección alternativa del indicador de ordenamiento" -#: ../gtk/gtksettings.c:531 +#: ../gtk/gtksettings.c:539 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5141,11 +5135,11 @@ msgstr "" "vista de árbol está invertida en comparación con la predeterminada (donde " "abajo significa ascendente)" -#: ../gtk/gtksettings.c:539 +#: ../gtk/gtksettings.c:547 msgid "Show the 'Input Methods' menu" msgstr "Mostrar el menú de métodos de entrada" -#: ../gtk/gtksettings.c:540 +#: ../gtk/gtksettings.c:548 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5153,11 +5147,11 @@ msgstr "" "Indica si los menús de contexto y las vistas de texto deben ofrecer cambiar " "el método de entrada" -#: ../gtk/gtksettings.c:548 +#: ../gtk/gtksettings.c:556 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Mostrar el menú «Insertar carácter de control Unicode»" -#: ../gtk/gtksettings.c:549 +#: ../gtk/gtksettings.c:557 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5165,254 +5159,254 @@ msgstr "" "Indica si los menús de contexto de las estradas y las vistas de texto deben " "ofrecer insertar caracteres de control" -#: ../gtk/gtksettings.c:557 +#: ../gtk/gtksettings.c:565 msgid "Start timeout" msgstr "Tiempo de expiración de inicio" -#: ../gtk/gtksettings.c:558 +#: ../gtk/gtksettings.c:566 msgid "Starting value for timeouts, when button is pressed" msgstr "Valor de inicio para las expiraciones, cuando se pulsa el botón" -#: ../gtk/gtksettings.c:567 +#: ../gtk/gtksettings.c:575 msgid "Repeat timeout" msgstr "Expiración de repetición" -#: ../gtk/gtksettings.c:568 +#: ../gtk/gtksettings.c:576 msgid "Repeat value for timeouts, when button is pressed" msgstr "Valor de repetición para expiraciones, cuando el botón se pulsa" -#: ../gtk/gtksettings.c:577 +#: ../gtk/gtksettings.c:585 msgid "Expand timeout" msgstr "Expiración del expansor" -#: ../gtk/gtksettings.c:578 +#: ../gtk/gtksettings.c:586 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" "Valor de expansión para las expiraciones, cuando un widget está expandiendo " "una región nueva" -#: ../gtk/gtksettings.c:613 +#: ../gtk/gtksettings.c:621 msgid "Color scheme" msgstr "Esquema de color" -#: ../gtk/gtksettings.c:614 +#: ../gtk/gtksettings.c:622 msgid "A palette of named colors for use in themes" msgstr "Una paleta de colores con nombre para usar en los temas" -#: ../gtk/gtksettings.c:623 +#: ../gtk/gtksettings.c:631 msgid "Enable Animations" msgstr "Activar animaciones" -#: ../gtk/gtksettings.c:624 +#: ../gtk/gtksettings.c:632 msgid "Whether to enable toolkit-wide animations." msgstr "Indica si se activan las animaciones para todo el toolkit." -#: ../gtk/gtksettings.c:642 +#: ../gtk/gtksettings.c:650 msgid "Enable Touchscreen Mode" msgstr "Activar modo pantalla táctil" -#: ../gtk/gtksettings.c:643 +#: ../gtk/gtksettings.c:651 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" "Cuando esté a TRUE, no hay eventos de notificación de movimiento entregados " "en esta pantalla" -#: ../gtk/gtksettings.c:660 +#: ../gtk/gtksettings.c:668 msgid "Tooltip timeout" msgstr "Tiempo de expiración del consejo" -#: ../gtk/gtksettings.c:661 +#: ../gtk/gtksettings.c:669 msgid "Timeout before tooltip is shown" msgstr "Tiempo de expiración antes de que se muestre el consejo" -#: ../gtk/gtksettings.c:686 +#: ../gtk/gtksettings.c:694 msgid "Tooltip browse timeout" msgstr "Tiempo de los consejos de navegación" -#: ../gtk/gtksettings.c:687 +#: ../gtk/gtksettings.c:695 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" "Tiempo de expiración antes de que se muestre el consejo cuando el modo de " "navegación está activado" -#: ../gtk/gtksettings.c:708 +#: ../gtk/gtksettings.c:716 msgid "Tooltip browse mode timeout" msgstr "Tiempo de los consejos en modo navegación" -#: ../gtk/gtksettings.c:709 +#: ../gtk/gtksettings.c:717 msgid "Timeout after which browse mode is disabled" msgstr "" "Tiempo de expiración después del cual se desactiva el modo de navegación" -#: ../gtk/gtksettings.c:728 +#: ../gtk/gtksettings.c:736 msgid "Keynav Cursor Only" msgstr "Sólo cursor para navegar con teclas" -#: ../gtk/gtksettings.c:729 +#: ../gtk/gtksettings.c:737 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" "Cuando sea TRUE, sólo hay teclas de cursos disponibles para navegar por los " "widgets" -#: ../gtk/gtksettings.c:746 +#: ../gtk/gtksettings.c:754 msgid "Keynav Wrap Around" msgstr "Saltar al navegar con el teclado" -#: ../gtk/gtksettings.c:747 +#: ../gtk/gtksettings.c:755 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "" "Indica si se ha de saltar alrededor cuando se navegue por los widgets con el " "teclado" -#: ../gtk/gtksettings.c:767 +#: ../gtk/gtksettings.c:775 msgid "Error Bell" msgstr "Campana de error" -#: ../gtk/gtksettings.c:768 +#: ../gtk/gtksettings.c:776 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" "Cuando sea TRUE, la navegación con el teclado y otros errores causarán un bip" -#: ../gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:793 msgid "Color Hash" msgstr "Hash del color" -#: ../gtk/gtksettings.c:786 +#: ../gtk/gtksettings.c:794 msgid "A hash table representation of the color scheme." msgstr "Una representación en tabla hash del esquema de color." -#: ../gtk/gtksettings.c:794 +#: ../gtk/gtksettings.c:802 msgid "Default file chooser backend" msgstr "Backend predeterminado del selector de archivos" -#: ../gtk/gtksettings.c:795 +#: ../gtk/gtksettings.c:803 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Nombre del backend predeterminado del GtkFileChooser" -#: ../gtk/gtksettings.c:812 +#: ../gtk/gtksettings.c:820 msgid "Default print backend" msgstr "Backend predeterminado de impresión" -#: ../gtk/gtksettings.c:813 +#: ../gtk/gtksettings.c:821 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Lista de backends GtkPrintBackend para usar por omisión" -#: ../gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:844 msgid "Default command to run when displaying a print preview" msgstr "" "Comando predeterminado que ejecutar al mostrar una vista previa de impresión" -#: ../gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:845 msgid "Command to run when displaying a print preview" msgstr "Comando que ejecutar al mostrar una vista previa de impresión" -#: ../gtk/gtksettings.c:853 +#: ../gtk/gtksettings.c:861 msgid "Enable Mnemonics" msgstr "Activar mnemónicos" -#: ../gtk/gtksettings.c:854 +#: ../gtk/gtksettings.c:862 msgid "Whether labels should have mnemonics" msgstr "Indica si las etiquetas deben tener mnemónicos" -#: ../gtk/gtksettings.c:870 +#: ../gtk/gtksettings.c:878 msgid "Enable Accelerators" msgstr "Activar aceleradores" -#: ../gtk/gtksettings.c:871 +#: ../gtk/gtksettings.c:879 msgid "Whether menu items should have accelerators" msgstr "Indica si los elementos del menú deben tener aceleradores" -#: ../gtk/gtksettings.c:888 +#: ../gtk/gtksettings.c:896 msgid "Recent Files Limit" msgstr "Límite de archivos recientes" -#: ../gtk/gtksettings.c:889 +#: ../gtk/gtksettings.c:897 msgid "Number of recently used files" msgstr "Número de archivos usados recientemente" -#: ../gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:915 msgid "Default IM module" msgstr "Módulo de método de entrada predeterminado" -#: ../gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:916 msgid "Which IM module should be used by default" msgstr "Qué módulo de método de entrada se debe usar de forma predeterminada" -#: ../gtk/gtksettings.c:926 +#: ../gtk/gtksettings.c:934 msgid "Recent Files Max Age" msgstr "Antigüedad máxima de los archivos recientes" -#: ../gtk/gtksettings.c:927 +#: ../gtk/gtksettings.c:935 msgid "Maximum age of recently used files, in days" msgstr "Máxima antigüedad para los archivos recientemente usados, en días" -#: ../gtk/gtksettings.c:936 +#: ../gtk/gtksettings.c:944 msgid "Fontconfig configuration timestamp" msgstr "Configuración de la marca de tiempo de fontconfig" -#: ../gtk/gtksettings.c:937 +#: ../gtk/gtksettings.c:945 msgid "Timestamp of current fontconfig configuration" msgstr "Marca de tiempo de la configuración actual de fontconfig" -#: ../gtk/gtksettings.c:959 +#: ../gtk/gtksettings.c:967 msgid "Sound Theme Name" msgstr "Nombre del tema de sonido" -#: ../gtk/gtksettings.c:960 +#: ../gtk/gtksettings.c:968 msgid "XDG sound theme name" msgstr "Nombre del tema de sonido XDG" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:990 msgid "Audible Input Feedback" msgstr "Contexto de entrada audible" -#: ../gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:991 msgid "Whether to play event sounds as feedback to user input" msgstr "" "Indica si se deben reproducir eventos como respuesta a las entradas del " "usuario" -#: ../gtk/gtksettings.c:1004 +#: ../gtk/gtksettings.c:1012 msgid "Enable Event Sounds" msgstr "Activar eventos de sonido" -#: ../gtk/gtksettings.c:1005 +#: ../gtk/gtksettings.c:1013 msgid "Whether to play any event sounds at all" msgstr "Indica si se debe reproducir cualquier evento de sonido" -#: ../gtk/gtksettings.c:1020 +#: ../gtk/gtksettings.c:1028 msgid "Enable Tooltips" msgstr "Activar consejos" -#: ../gtk/gtksettings.c:1021 +#: ../gtk/gtksettings.c:1029 msgid "Whether tooltips should be shown on widgets" msgstr "Indica si se deben mostrar los consejos en los widgets" -#: ../gtk/gtksettings.c:1034 +#: ../gtk/gtksettings.c:1042 msgid "Toolbar style" msgstr "Estilo de la barra de herramientas" -#: ../gtk/gtksettings.c:1035 +#: ../gtk/gtksettings.c:1043 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Indica si las barras de herramientas predeterminadas tienen sólo texto, " "texto e iconos, sólo iconos, etc." -#: ../gtk/gtksettings.c:1049 +#: ../gtk/gtksettings.c:1057 msgid "Toolbar Icon Size" msgstr "Tamaño del icono de la barra de herramientas" -#: ../gtk/gtksettings.c:1050 +#: ../gtk/gtksettings.c:1058 msgid "The size of icons in default toolbars." msgstr "El tamaño de los iconos el las barras de herramientas." -#: ../gtk/gtksettings.c:1067 +#: ../gtk/gtksettings.c:1075 msgid "Auto Mnemonics" msgstr "Mnemónicos automáticos" -#: ../gtk/gtksettings.c:1068 +#: ../gtk/gtksettings.c:1076 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5420,63 +5414,63 @@ msgstr "" "Indica si se deben mostrar y ocultar automáticamente los mnemónicos cuando " "el usuario pulsa el activador de mnemónicos." -#: ../gtk/gtksettings.c:1093 +#: ../gtk/gtksettings.c:1101 msgid "Application prefers a dark theme" msgstr "La aplicación prefiere un tema oscuro" -#: ../gtk/gtksettings.c:1094 +#: ../gtk/gtksettings.c:1102 msgid "Whether the application prefers to have a dark theme." msgstr "Indica si la aplicación prefiere un tema oscuro." -#: ../gtk/gtksettings.c:1109 +#: ../gtk/gtksettings.c:1117 msgid "Show button images" msgstr "Mostrar imágenes en los botones" -#: ../gtk/gtksettings.c:1110 +#: ../gtk/gtksettings.c:1118 msgid "Whether images should be shown on buttons" msgstr "Indica si se deben mostrar las imágenes en los botones" -#: ../gtk/gtksettings.c:1118 ../gtk/gtksettings.c:1212 +#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 msgid "Select on focus" msgstr "Seleccionar al enfocar" -#: ../gtk/gtksettings.c:1119 +#: ../gtk/gtksettings.c:1127 msgid "Whether to select the contents of an entry when it is focused" msgstr "" "Indica si se deben seleccionar los contenidos de una entrada cuando obtiene " "el foco" -#: ../gtk/gtksettings.c:1136 +#: ../gtk/gtksettings.c:1144 msgid "Password Hint Timeout" msgstr "Tiempo de expiración del hint de contraseña" -#: ../gtk/gtksettings.c:1137 +#: ../gtk/gtksettings.c:1145 msgid "How long to show the last input character in hidden entries" msgstr "" "Indica durante cuánto tiempo mostrar el último carácter en las entradas " "ocultas" -#: ../gtk/gtksettings.c:1146 +#: ../gtk/gtksettings.c:1154 msgid "Show menu images" msgstr "Mostrar imágenes del menú" -#: ../gtk/gtksettings.c:1147 +#: ../gtk/gtksettings.c:1155 msgid "Whether images should be shown in menus" msgstr "Indica si deben mostrarse o no las imágenes en los menús" -#: ../gtk/gtksettings.c:1155 +#: ../gtk/gtksettings.c:1163 msgid "Delay before drop down menus appear" msgstr "Retardo antes de que aparezcan los menús desplegables" -#: ../gtk/gtksettings.c:1156 +#: ../gtk/gtksettings.c:1164 msgid "Delay before the submenus of a menu bar appear" msgstr "Retardo antes de que aparezcan los submenús de una barra de menús" -#: ../gtk/gtksettings.c:1173 +#: ../gtk/gtksettings.c:1181 msgid "Scrolled Window Placement" msgstr "Colocación de la ventana donde se ha desplazado" -#: ../gtk/gtksettings.c:1174 +#: ../gtk/gtksettings.c:1182 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5485,33 +5479,33 @@ msgstr "" "respecto a las barras de desplazamiento, si no toma precedencia por el " "propio emplazamiento de la ventana donde se hizo scroll." -#: ../gtk/gtksettings.c:1183 +#: ../gtk/gtksettings.c:1191 msgid "Can change accelerators" msgstr "Puede cambiar aceleradores" -#: ../gtk/gtksettings.c:1184 +#: ../gtk/gtksettings.c:1192 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Indica si los aceleradores del menú pueden cambiarse pulsando una tecla " "sobre el elemento del menú" -#: ../gtk/gtksettings.c:1192 +#: ../gtk/gtksettings.c:1200 msgid "Delay before submenus appear" msgstr "Retraso antes de que aparezcan los submenús" -#: ../gtk/gtksettings.c:1193 +#: ../gtk/gtksettings.c:1201 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "Tiempo mínimo en que el puntero debe permanecer sobre un elemento de menú " "antes de que el submenú aparezca" -#: ../gtk/gtksettings.c:1202 +#: ../gtk/gtksettings.c:1210 msgid "Delay before hiding a submenu" msgstr "Retraso antes de ocultar un submenú" -#: ../gtk/gtksettings.c:1203 +#: ../gtk/gtksettings.c:1211 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" @@ -5519,33 +5513,33 @@ msgstr "" "El tiempo antes de ocultar un submenú cuando el puntero se este moviendo " "hacia el submenú" -#: ../gtk/gtksettings.c:1213 +#: ../gtk/gtksettings.c:1221 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Indica si se debe seleccionar el contenido de una etiqueta seleccionable " "cuando obtiene el foco" -#: ../gtk/gtksettings.c:1221 +#: ../gtk/gtksettings.c:1229 msgid "Custom palette" msgstr "Paleta personalizada" -#: ../gtk/gtksettings.c:1222 +#: ../gtk/gtksettings.c:1230 msgid "Palette to use in the color selector" msgstr "Paleta que se usará en el selector de colores" -#: ../gtk/gtksettings.c:1230 +#: ../gtk/gtksettings.c:1238 msgid "IM Preedit style" msgstr "Estilo de preedición del ME" -#: ../gtk/gtksettings.c:1231 +#: ../gtk/gtksettings.c:1239 msgid "How to draw the input method preedit string" msgstr "Cómo dibujar la cadena del método de entrada de preedición" -#: ../gtk/gtksettings.c:1240 +#: ../gtk/gtksettings.c:1248 msgid "IM Status style" msgstr "Estilo del estado ME" -#: ../gtk/gtksettings.c:1241 +#: ../gtk/gtksettings.c:1249 msgid "How to draw the input method statusbar" msgstr "Cómo dibujar el método de entrada de la barra de estado" @@ -5624,15 +5618,15 @@ msgstr "Lee el valor actual, o establece un valor nuevo" msgid "Style of bevel around the spin button" msgstr "Estilo de bisel alrededor del botón giratorio" -#: ../gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "Indica si el marcador incrementable está activo" -#: ../gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:135 msgid "Number of steps" msgstr "Número de pasos" -#: ../gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:136 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" @@ -5642,11 +5636,11 @@ msgstr "" "completa. La animación completará de forma predeterminada un ciclo completo " "en un segundo (consulte #GtkSpinner:cycle-duration)." -#: ../gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:153 msgid "Animation duration" msgstr "Duración de la animación" -#: ../gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:154 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "" @@ -5677,7 +5671,7 @@ msgstr "Indica si el icono de estado está empotrado" msgid "The orientation of the tray" msgstr "La orientación de la bandeja" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1025 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1036 msgid "Has tooltip" msgstr "Tiene consejo" @@ -5685,15 +5679,15 @@ msgstr "Tiene consejo" msgid "Whether this tray icon has a tooltip" msgstr "Indica si el icono de la bandeja tiene un consejo" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1046 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1057 msgid "Tooltip Text" msgstr "Texto del consejo" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1047 ../gtk/gtkwidget.c:1068 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 msgid "The contents of the tooltip for this widget" msgstr "El contenido de los consejos para este widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1067 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1078 msgid "Tooltip markup" msgstr "Marcado de consejos" @@ -5705,13 +5699,19 @@ msgstr "El contenido de los consejos para este icono de la bandeja" msgid "The title of this tray icon" msgstr "El título de este icono de la bandeja" -#: ../gtk/gtkswitch.c:740 -#| msgid "Whether the widget is double buffered" +#: ../gtk/gtkstyle.c:516 +msgid "Style context" +msgstr "Estilo del contexto" + +#: ../gtk/gtkstyle.c:517 +msgid "GtkStyleContext to get style from" +msgstr "GtkStyleContext del que obtener el estilo" + +#: ../gtk/gtkswitch.c:739 msgid "Whether the switch is on or off" msgstr "Indica si el interruptor está encendido o apagado" -#: ../gtk/gtkswitch.c:774 -#| msgid "The minimum value of the adjustment" +#: ../gtk/gtkswitch.c:773 msgid "The minimum width of the handle" msgstr "La anchura mínima del tirador" @@ -6753,7 +6753,7 @@ msgstr "" msgid "Whether to display the column" msgstr "Indica si se debe mostrar la columna" -#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:657 +#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:656 msgid "Resizable" msgstr "Redimensionable" @@ -6879,27 +6879,27 @@ msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como es dibujado el marco sombreado alrededor del puerto de visión" -#: ../gtk/gtkwidget.c:876 +#: ../gtk/gtkwidget.c:887 msgid "Widget name" msgstr "Nombre del widget" -#: ../gtk/gtkwidget.c:877 +#: ../gtk/gtkwidget.c:888 msgid "The name of the widget" msgstr "El nombre del widget" -#: ../gtk/gtkwidget.c:883 +#: ../gtk/gtkwidget.c:894 msgid "Parent widget" msgstr "Widget padre" -#: ../gtk/gtkwidget.c:884 +#: ../gtk/gtkwidget.c:895 msgid "The parent widget of this widget. Must be a Container widget" msgstr "El widget padre de este widget. Debe ser un widget contenedor" -#: ../gtk/gtkwidget.c:891 +#: ../gtk/gtkwidget.c:902 msgid "Width request" msgstr "Petición de anchura" -#: ../gtk/gtkwidget.c:892 +#: ../gtk/gtkwidget.c:903 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6907,11 +6907,11 @@ msgstr "" "Sobreescribir el ancho solicitado del widget, o -1 si deber ser utilizado la " "solicitud natural" -#: ../gtk/gtkwidget.c:900 +#: ../gtk/gtkwidget.c:911 msgid "Height request" msgstr "Petición de altura" -#: ../gtk/gtkwidget.c:901 +#: ../gtk/gtkwidget.c:912 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6919,84 +6919,84 @@ msgstr "" "Sobreescribir la altura solicitada del widget, o -1 si deber ser utilizada " "la solicitud natural" -#: ../gtk/gtkwidget.c:910 +#: ../gtk/gtkwidget.c:921 msgid "Whether the widget is visible" msgstr "Indica si el widget es visible" -#: ../gtk/gtkwidget.c:917 +#: ../gtk/gtkwidget.c:928 msgid "Whether the widget responds to input" msgstr "Indica si el widget responde al ingreso" -#: ../gtk/gtkwidget.c:923 +#: ../gtk/gtkwidget.c:934 msgid "Application paintable" msgstr "Pintable por la aplicación" -#: ../gtk/gtkwidget.c:924 +#: ../gtk/gtkwidget.c:935 msgid "Whether the application will paint directly on the widget" msgstr "Indica si la aplicación pintará directamente sobre el widget" -#: ../gtk/gtkwidget.c:930 +#: ../gtk/gtkwidget.c:941 msgid "Can focus" msgstr "Puede enfocar" -#: ../gtk/gtkwidget.c:931 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget can accept the input focus" msgstr "Indica si el widget puede aceptar el foco de entrada" -#: ../gtk/gtkwidget.c:937 +#: ../gtk/gtkwidget.c:948 msgid "Has focus" msgstr "Tiene foco" -#: ../gtk/gtkwidget.c:938 +#: ../gtk/gtkwidget.c:949 msgid "Whether the widget has the input focus" msgstr "Indica si el widget tiene el foco de entrada" -#: ../gtk/gtkwidget.c:944 +#: ../gtk/gtkwidget.c:955 msgid "Is focus" msgstr "Tiene el foco" -#: ../gtk/gtkwidget.c:945 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica si el widget es el widget con foco dentro del nivel superior" -#: ../gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:962 msgid "Can default" msgstr "Puede por omisión" -#: ../gtk/gtkwidget.c:952 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget can be the default widget" msgstr "Indica si el widget puede ser el widget predeterminado" -#: ../gtk/gtkwidget.c:958 +#: ../gtk/gtkwidget.c:969 msgid "Has default" msgstr "Tiene por omisión" -#: ../gtk/gtkwidget.c:959 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the default widget" msgstr "Indica si el widget es el widget predeterminado" -#: ../gtk/gtkwidget.c:965 +#: ../gtk/gtkwidget.c:976 msgid "Receives default" msgstr "Recibe por omisión" -#: ../gtk/gtkwidget.c:966 +#: ../gtk/gtkwidget.c:977 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "" "Si es TRUE el widget recibirá la acción predeterminada cuando obtiene el foco" -#: ../gtk/gtkwidget.c:972 +#: ../gtk/gtkwidget.c:983 msgid "Composite child" msgstr "Hijo compuesto" -#: ../gtk/gtkwidget.c:973 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is part of a composite widget" msgstr "Indica si el widget es parte de un widget compuesto" -#: ../gtk/gtkwidget.c:979 +#: ../gtk/gtkwidget.c:990 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:980 +#: ../gtk/gtkwidget.c:991 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -7004,186 +7004,186 @@ msgstr "" "El estilo del widget, que contiene información sobre la apariencia (colores, " "etc)" -#: ../gtk/gtkwidget.c:986 +#: ../gtk/gtkwidget.c:997 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:998 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "La máscara de eventos que decide que tipo de GtkEvents recibe este widget" -#: ../gtk/gtkwidget.c:994 +#: ../gtk/gtkwidget.c:1005 msgid "Extension events" msgstr "Eventos de extensión" -#: ../gtk/gtkwidget.c:995 +#: ../gtk/gtkwidget.c:1006 msgid "The mask that decides what kind of extension events this widget gets" msgstr "" "La máscara que decide que clase de eventos de extensión conseguirá este " "widget" -#: ../gtk/gtkwidget.c:1002 +#: ../gtk/gtkwidget.c:1013 msgid "No show all" msgstr "No mostrar todo" -#: ../gtk/gtkwidget.c:1003 +#: ../gtk/gtkwidget.c:1014 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Indica que gtk_widget_show_all() no debe afectar a este widget" -#: ../gtk/gtkwidget.c:1026 +#: ../gtk/gtkwidget.c:1037 msgid "Whether this widget has a tooltip" msgstr "Indica si el widget tiene un consejo" -#: ../gtk/gtkwidget.c:1082 +#: ../gtk/gtkwidget.c:1093 msgid "Window" msgstr "Ventana" -#: ../gtk/gtkwidget.c:1083 +#: ../gtk/gtkwidget.c:1094 msgid "The widget's window if it is realized" msgstr "La ventana del widget si se realiza" -#: ../gtk/gtkwidget.c:1097 +#: ../gtk/gtkwidget.c:1108 msgid "Double Buffered" msgstr "Búfer doble" -#: ../gtk/gtkwidget.c:1098 +#: ../gtk/gtkwidget.c:1109 msgid "Whether the widget is double buffered" msgstr "Indica si el widget tiene búfer doble" -#: ../gtk/gtkwidget.c:1113 +#: ../gtk/gtkwidget.c:1124 msgid "How to position in extra horizontal space" msgstr "Cómo posicionar en el espacio horizontal adicional" -#: ../gtk/gtkwidget.c:1129 +#: ../gtk/gtkwidget.c:1140 msgid "How to position in extra vertical space" msgstr "Cómo posicionar en el espacio vertical adicional" -#: ../gtk/gtkwidget.c:1148 +#: ../gtk/gtkwidget.c:1159 msgid "Margin on Left" msgstr "Margen a la izquierda" -#: ../gtk/gtkwidget.c:1149 +#: ../gtk/gtkwidget.c:1160 msgid "Pixels of extra space on the left side" msgstr "Píxeles de espacio adicional en la parte izquierda" -#: ../gtk/gtkwidget.c:1169 +#: ../gtk/gtkwidget.c:1180 msgid "Margin on Right" msgstr "Margen a la derecha" -#: ../gtk/gtkwidget.c:1170 +#: ../gtk/gtkwidget.c:1181 msgid "Pixels of extra space on the right side" msgstr "Píxeles de espacio adicional en la parte derecha" -#: ../gtk/gtkwidget.c:1190 +#: ../gtk/gtkwidget.c:1201 msgid "Margin on Top" msgstr "Margen arriba" -#: ../gtk/gtkwidget.c:1191 +#: ../gtk/gtkwidget.c:1202 msgid "Pixels of extra space on the top side" msgstr "Píxeles de espacio adicional en la parte superior" -#: ../gtk/gtkwidget.c:1211 +#: ../gtk/gtkwidget.c:1222 msgid "Margin on Bottom" msgstr "Margen abajo" -#: ../gtk/gtkwidget.c:1212 +#: ../gtk/gtkwidget.c:1223 msgid "Pixels of extra space on the bottom side" msgstr "Píxeles de espacio adicional en la parte inferior" -#: ../gtk/gtkwidget.c:1229 +#: ../gtk/gtkwidget.c:1240 msgid "All Margins" msgstr "Todos los márgenes" -#: ../gtk/gtkwidget.c:1230 +#: ../gtk/gtkwidget.c:1241 msgid "Pixels of extra space on all four sides" msgstr "Píxeles de espacio adicionales en las cuatro partes" -#: ../gtk/gtkwidget.c:1263 +#: ../gtk/gtkwidget.c:1274 msgid "Horizontal Expand" msgstr "Expansión horizontal" -#: ../gtk/gtkwidget.c:1264 +#: ../gtk/gtkwidget.c:1275 msgid "Whether widget wants more horizontal space" msgstr "Indica si el widget quiere usar más espacio horizontal" -#: ../gtk/gtkwidget.c:1278 +#: ../gtk/gtkwidget.c:1289 msgid "Horizontal Expand Set" msgstr "Ajuste de expansión horizontal" -#: ../gtk/gtkwidget.c:1279 +#: ../gtk/gtkwidget.c:1290 msgid "Whether to use the hexpand property" msgstr "Indica si se debe usar la propiedad hexpand" -#: ../gtk/gtkwidget.c:1293 +#: ../gtk/gtkwidget.c:1304 msgid "Vertical Expand" msgstr "Expansión vertial" -#: ../gtk/gtkwidget.c:1294 +#: ../gtk/gtkwidget.c:1305 msgid "Whether widget wants more vertical space" msgstr "Indica si el widget quiere usar más espacio vertical" -#: ../gtk/gtkwidget.c:1308 +#: ../gtk/gtkwidget.c:1319 msgid "Vertical Expand Set" msgstr "Ajuste de expansión vertical" -#: ../gtk/gtkwidget.c:1309 +#: ../gtk/gtkwidget.c:1320 msgid "Whether to use the vexpand property" msgstr "Indica si se debe usar la propiedad vexpand" -#: ../gtk/gtkwidget.c:1323 +#: ../gtk/gtkwidget.c:1334 msgid "Expand Both" msgstr "Expandir en ambas" -#: ../gtk/gtkwidget.c:1324 +#: ../gtk/gtkwidget.c:1335 msgid "Whether widget wants to expand in both directions" msgstr "Indica si el widget quiere expandirse en ambas direcciones" -#: ../gtk/gtkwidget.c:2963 +#: ../gtk/gtkwidget.c:2981 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:2964 +#: ../gtk/gtkwidget.c:2982 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica si se ha de dibujar el indicador del foco dentro de los widgets" -#: ../gtk/gtkwidget.c:2970 +#: ../gtk/gtkwidget.c:2988 msgid "Focus linewidth" msgstr "Dar foco al ancho de línea" -#: ../gtk/gtkwidget.c:2971 +#: ../gtk/gtkwidget.c:2989 msgid "Width, in pixels, of the focus indicator line" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtkwidget.c:2977 +#: ../gtk/gtkwidget.c:2995 msgid "Focus line dash pattern" msgstr "Dar foco a la línea con patrón punteado" -#: ../gtk/gtkwidget.c:2978 +#: ../gtk/gtkwidget.c:2996 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón punteado utilizado para dibujar el indicador de foco" -#: ../gtk/gtkwidget.c:2983 +#: ../gtk/gtkwidget.c:3001 msgid "Focus padding" msgstr "Relleno del foco" -#: ../gtk/gtkwidget.c:2984 +#: ../gtk/gtkwidget.c:3002 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Anchura, en píxeles, entre el indicador de foco y la «caja» del widget" -#: ../gtk/gtkwidget.c:2989 +#: ../gtk/gtkwidget.c:3007 msgid "Cursor color" msgstr "Color del cursor" -#: ../gtk/gtkwidget.c:2990 +#: ../gtk/gtkwidget.c:3008 msgid "Color with which to draw insertion cursor" msgstr "Color con el cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:2995 +#: ../gtk/gtkwidget.c:3013 msgid "Secondary cursor color" msgstr "Color secundario del cursor" -#: ../gtk/gtkwidget.c:2996 +#: ../gtk/gtkwidget.c:3014 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7191,43 +7191,43 @@ msgstr "" "Color con el cual dibujar el cursor de inserción secundario cuando se esta " "editando una mezcla de texto de derecha-a-izquierda y izquierda-a-derecha" -#: ../gtk/gtkwidget.c:3001 +#: ../gtk/gtkwidget.c:3019 msgid "Cursor line aspect ratio" msgstr "Proporción de la línea del cursor" -#: ../gtk/gtkwidget.c:3002 +#: ../gtk/gtkwidget.c:3020 msgid "Aspect ratio with which to draw insertion cursor" msgstr "La proporción con la cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3008 +#: ../gtk/gtkwidget.c:3026 msgid "Window dragging" msgstr "Arrastre de ventana" -#: ../gtk/gtkwidget.c:3009 +#: ../gtk/gtkwidget.c:3027 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica si las ventanas se pueden arrastrar pulsando en áreas vacías" -#: ../gtk/gtkwidget.c:3022 +#: ../gtk/gtkwidget.c:3040 msgid "Unvisited Link Color" msgstr "Color del enlace no visitado" -#: ../gtk/gtkwidget.c:3023 +#: ../gtk/gtkwidget.c:3041 msgid "Color of unvisited links" msgstr "Color de los enlaces no visitados" -#: ../gtk/gtkwidget.c:3036 +#: ../gtk/gtkwidget.c:3054 msgid "Visited Link Color" msgstr "Color del enlace visitado" -#: ../gtk/gtkwidget.c:3037 +#: ../gtk/gtkwidget.c:3055 msgid "Color of visited links" msgstr "Color de los enlaces visitados" -#: ../gtk/gtkwidget.c:3051 +#: ../gtk/gtkwidget.c:3069 msgid "Wide Separators" msgstr "Separadores anchos" -#: ../gtk/gtkwidget.c:3052 +#: ../gtk/gtkwidget.c:3070 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7235,81 +7235,81 @@ msgstr "" "Indica si los separadores tienen anchura configurable y deben dibujarse " "usando una caja en lugar de una línea" -#: ../gtk/gtkwidget.c:3066 +#: ../gtk/gtkwidget.c:3084 msgid "Separator Width" msgstr "Anchura del separador" -#: ../gtk/gtkwidget.c:3067 +#: ../gtk/gtkwidget.c:3085 msgid "The width of separators if wide-separators is TRUE" msgstr "La anchura de los separadores si «wide-separators« es TRUE" -#: ../gtk/gtkwidget.c:3081 +#: ../gtk/gtkwidget.c:3099 msgid "Separator Height" msgstr "Altura del separador" -#: ../gtk/gtkwidget.c:3082 +#: ../gtk/gtkwidget.c:3100 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "La altura de los separadores si «wide-separators» es TRUE" -#: ../gtk/gtkwidget.c:3096 +#: ../gtk/gtkwidget.c:3114 msgid "Horizontal Scroll Arrow Length" msgstr "Longitud de la flecha de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3097 +#: ../gtk/gtkwidget.c:3115 msgid "The length of horizontal scroll arrows" msgstr "La longitud de las flechas de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3111 +#: ../gtk/gtkwidget.c:3129 msgid "Vertical Scroll Arrow Length" msgstr "Longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwidget.c:3112 +#: ../gtk/gtkwidget.c:3130 msgid "The length of vertical scroll arrows" msgstr "La longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:614 msgid "Window Type" msgstr "Tipo de ventana" -#: ../gtk/gtkwindow.c:616 +#: ../gtk/gtkwindow.c:615 msgid "The type of the window" msgstr "El tipo de la ventana" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:623 msgid "Window Title" msgstr "Título de la ventana" -#: ../gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:624 msgid "The title of the window" msgstr "El título de la ventana" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:631 msgid "Window Role" msgstr "Rol de la ventana" -#: ../gtk/gtkwindow.c:633 +#: ../gtk/gtkwindow.c:632 msgid "Unique identifier for the window to be used when restoring a session" msgstr "" "Identificador único para la ventana para usarlo al restaurar una sesión" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:648 msgid "Startup ID" msgstr "ID de inicio" -#: ../gtk/gtkwindow.c:650 +#: ../gtk/gtkwindow.c:649 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador único de inicio para la ventana usado por startup-notification" -#: ../gtk/gtkwindow.c:658 +#: ../gtk/gtkwindow.c:657 msgid "If TRUE, users can resize the window" msgstr "Si es TRUE los usuario pueden redimensionar la ventana" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:664 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:666 +#: ../gtk/gtkwindow.c:665 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7317,80 +7317,80 @@ msgstr "" "Si es TRUE, esta ventana es modal (no se pueden utilizar otras ventanas " "mientras ésta este encima)" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:672 msgid "Window Position" msgstr "Posición de la ventana" -#: ../gtk/gtkwindow.c:674 +#: ../gtk/gtkwindow.c:673 msgid "The initial position of the window" msgstr "La posición inicial de la ventana" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:681 msgid "Default Width" msgstr "Anchura predeterminada" -#: ../gtk/gtkwindow.c:683 +#: ../gtk/gtkwindow.c:682 msgid "The default width of the window, used when initially showing the window" msgstr "" "El ancho predeterminado de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:691 msgid "Default Height" msgstr "Altura predeterminada" -#: ../gtk/gtkwindow.c:693 +#: ../gtk/gtkwindow.c:692 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "La altura predeterminada de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:701 msgid "Destroy with Parent" msgstr "Destruir con el padre" -#: ../gtk/gtkwindow.c:703 +#: ../gtk/gtkwindow.c:702 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Indica si esta ventana debe ser destruida cuando el padre se destruye" -#: ../gtk/gtkwindow.c:711 +#: ../gtk/gtkwindow.c:710 msgid "Icon for this window" msgstr "Icono para esta ventana" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:716 msgid "Mnemonics Visible" msgstr "Mnemónicos visibles" -#: ../gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:717 msgid "Whether mnemonics are currently visible in this window" msgstr "Indica si los mnemónicos son visibles actualmente en esta ventana" -#: ../gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:733 msgid "Name of the themed icon for this window" msgstr "Nombre del icono del tema para esta ventana" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:748 msgid "Is Active" msgstr "Está activo" -#: ../gtk/gtkwindow.c:750 +#: ../gtk/gtkwindow.c:749 msgid "Whether the toplevel is the current active window" msgstr "Indica si el nivel superior es la ventana activa actual" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:756 msgid "Focus in Toplevel" msgstr "Foco en el nivel superior" -#: ../gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:757 msgid "Whether the input focus is within this GtkWindow" msgstr "Indica si el foco de entrada esta dentro de este GtkWindow" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:764 msgid "Type hint" msgstr "Pista de tipo" -#: ../gtk/gtkwindow.c:766 +#: ../gtk/gtkwindow.c:765 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7398,115 +7398,115 @@ msgstr "" "Pista para ayudar al entorno de escritorio a entender qué clase de ventana " "es ésta y cómo tratar con ella." -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:773 msgid "Skip taskbar" msgstr "Ignorar barra de tareas" -#: ../gtk/gtkwindow.c:775 +#: ../gtk/gtkwindow.c:774 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE si la ventana no debe estar en la barra de tareas." -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:781 msgid "Skip pager" msgstr "Ignorar paginador" -#: ../gtk/gtkwindow.c:783 +#: ../gtk/gtkwindow.c:782 msgid "TRUE if the window should not be in the pager." msgstr "TRUE si la ventana no debe estar en el paginador." -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:789 msgid "Urgent" msgstr "Urgente" -#: ../gtk/gtkwindow.c:791 +#: ../gtk/gtkwindow.c:790 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE si la ventana debe llamar la atención del usuario." -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:804 msgid "Accept focus" msgstr "Aceptar foco" -#: ../gtk/gtkwindow.c:806 +#: ../gtk/gtkwindow.c:805 msgid "TRUE if the window should receive the input focus." msgstr "TRUE si la ventana no debe recibir el foco de entrada." -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:819 msgid "Focus on map" msgstr "Foco en el mapa" -#: ../gtk/gtkwindow.c:821 +#: ../gtk/gtkwindow.c:820 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE si la ventana debe recibir el foco de entrada al ser mapeada." -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:834 msgid "Decorated" msgstr "Decorado" -#: ../gtk/gtkwindow.c:836 +#: ../gtk/gtkwindow.c:835 msgid "Whether the window should be decorated by the window manager" msgstr "Indica si la ventana debe ser decorada por el gestor de ventanas" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:849 msgid "Deletable" msgstr "Borrable" -#: ../gtk/gtkwindow.c:851 +#: ../gtk/gtkwindow.c:850 msgid "Whether the window frame should have a close button" msgstr "Indica si el marco de la ventana debe tener un botón de cierre" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:869 msgid "Resize grip" msgstr "Redimensionar tirador" -#: ../gtk/gtkwindow.c:871 +#: ../gtk/gtkwindow.c:870 msgid "Specifies whether the window should have a resize grip" msgstr "Especifica si la ventana debe tener un tirador de redimensión" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:884 msgid "Resize grip is visible" msgstr "El tirador de redimensión es visible" -#: ../gtk/gtkwindow.c:886 +#: ../gtk/gtkwindow.c:885 msgid "Specifies whether the window's resize grip is visible." msgstr "Indica si el tirador de redimensión de la ventana es visible." -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:901 msgid "Gravity" msgstr "Gravedad" -#: ../gtk/gtkwindow.c:903 +#: ../gtk/gtkwindow.c:902 msgid "The window gravity of the window" msgstr "La gravedad de la ventana" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:919 msgid "Transient for Window" msgstr "Transitorio para la ventana" -#: ../gtk/gtkwindow.c:921 +#: ../gtk/gtkwindow.c:920 msgid "The transient parent of the dialog" msgstr "El padre transitorio del diálogo" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:935 msgid "Opacity for Window" msgstr "Opacidad para la ventana" -#: ../gtk/gtkwindow.c:937 +#: ../gtk/gtkwindow.c:936 msgid "The opacity of the window, from 0 to 1" msgstr "La opacidad de la ventana, desde 0 hasta 1" -#: ../gtk/gtkwindow.c:947 ../gtk/gtkwindow.c:948 +#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 msgid "Width of resize grip" msgstr "Anchura del tirador de redimensión" -#: ../gtk/gtkwindow.c:953 ../gtk/gtkwindow.c:954 +#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 msgid "Height of resize grip" msgstr "Altura del tirador de redimensión" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:972 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:974 +#: ../gtk/gtkwindow.c:973 msgid "The GtkApplication for the window" msgstr "El GtkApplication para la ventana" From 5361490db88974b529bf5a1ba79711fcb1c7249b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 5 Dec 2010 20:00:44 +0100 Subject: [PATCH 0367/1463] =?UTF-8?q?Bug=C2=A0636511=20-=20New=20style=20o?= =?UTF-8?q?verride=20functions=20do=20not=20work=20on=20textview?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Emit ::style-set on overrider style changes, this is necessary in the mean time so widgets not listening yet to ::style-updated get the style changes. --- gtk/gtkwidget.c | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index c0df69b59c..9f1d65e5af 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7935,6 +7935,11 @@ modifier_style_changed (GtkModifierStyle *style, context = gtk_widget_get_style_context (widget); gtk_style_context_invalidate (context); + + g_signal_emit (widget, + widget_signals[STYLE_SET], + 0, + widget->priv->style); } static GtkModifierStyle * @@ -8188,11 +8193,6 @@ gtk_widget_modify_fg (GtkWidget *widget, } else gtk_widget_override_color (widget, state, NULL); - - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - widget->priv->style); } /** @@ -8258,11 +8258,6 @@ gtk_widget_modify_bg (GtkWidget *widget, } else gtk_widget_override_background_color (widget, state, NULL); - - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - widget->priv->style); } /** @@ -8396,11 +8391,6 @@ gtk_widget_modify_cursor (GtkWidget *widget, secondary_rgba.alpha = 1; gtk_widget_override_cursor (widget, &primary_rgba, &secondary_rgba); - - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - widget->priv->style); } /** @@ -8421,11 +8411,6 @@ gtk_widget_modify_font (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); gtk_widget_override_font (widget, font_desc); - - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - widget->priv->style); } static void From 4cca7554b8f4f4fb352e2a8815052c03d6ea1ab0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sun, 5 Dec 2010 20:18:03 +0100 Subject: [PATCH 0368/1463] GtkStyleContext: warn on meaningless coords in gtk_render_* calls --- gtk/gtkstylecontext.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index bc604d88c6..2aee8b2992 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3383,6 +3383,8 @@ gtk_render_check (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3427,6 +3429,8 @@ gtk_render_option (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3469,6 +3473,7 @@ gtk_render_arrow (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (size > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3514,6 +3519,8 @@ gtk_render_background (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3560,6 +3567,8 @@ gtk_render_frame (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3603,6 +3612,8 @@ gtk_render_expander (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3643,6 +3654,8 @@ gtk_render_focus (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3677,6 +3690,7 @@ gtk_render_layout (GtkStyleContext *context, PangoRectangle extents; g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); + g_return_if_fail (PANGO_IS_LAYOUT (layout)); g_return_if_fail (cr != NULL); priv = context->priv; @@ -3763,6 +3777,8 @@ gtk_render_slider (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3813,6 +3829,16 @@ gtk_render_frame_gap (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); + g_return_if_fail (xy0_gap < xy1_gap); + g_return_if_fail (xy0_gap >= 0); + + if (gap_side == GTK_POS_LEFT || + gap_side == GTK_POS_RIGHT) + g_return_if_fail (xy1_gap <= height); + else + g_return_if_fail (xy1_gap <= width); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3860,6 +3886,8 @@ gtk_render_extension (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3903,6 +3931,8 @@ gtk_render_handle (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); @@ -3941,6 +3971,8 @@ gtk_render_activity (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (cr != NULL); + g_return_if_fail (width > 0); + g_return_if_fail (height > 0); priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); From 561346bd4060a6ce08b10edd683f2e559d9226a5 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 5 Dec 2010 21:11:34 +0100 Subject: [PATCH 0369/1463] Remove unused function modify_color_property --- gtk/gtkwidget.c | 30 ------------------------------ 1 file changed, 30 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 9f1d65e5af..c82b6eaa86 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8322,36 +8322,6 @@ gtk_widget_modify_base (GtkWidget *widget, gtk_widget_modify_color_component (widget, GTK_RC_BASE, state, color); } -static void -modify_color_property (GtkWidget *widget, - GtkRcStyle *rc_style, - const char *name, - const GdkColor *color) -{ - GQuark type_name = g_type_qname (G_OBJECT_TYPE (widget)); - GQuark property_name = g_quark_from_string (name); - - if (color) - { - GtkRcProperty rc_property = {0}; - char *color_name; - - rc_property.type_name = type_name; - rc_property.property_name = property_name; - rc_property.origin = NULL; - - color_name = gdk_color_to_string (color); - g_value_init (&rc_property.value, G_TYPE_STRING); - g_value_take_string (&rc_property.value, color_name); - - _gtk_rc_style_set_rc_property (rc_style, &rc_property); - - g_value_unset (&rc_property.value); - } - else - _gtk_rc_style_unset_rc_property (rc_style, type_name, property_name); -} - /** * gtk_widget_modify_cursor: * @widget: a #GtkWidget From 4a7e746bbcbdf511ba79dce1b9de100bbce6126c Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 5 Dec 2010 21:00:59 +0100 Subject: [PATCH 0370/1463] Use the new style context API in GtkLabel. --- gtk/gtklabel.c | 54 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 55bc6c335e..563845c8d4 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -2273,11 +2273,13 @@ gtk_label_get_link_colors (GtkWidget *widget, GdkColor **link_color, GdkColor **visited_link_color) { - gtk_widget_ensure_style (widget); - gtk_widget_style_get (widget, - "link-color", link_color, - "visited-link-color", visited_link_color, - NULL); + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_style (context, + "link-color", link_color, + "visited-link-color", visited_link_color, + NULL); if (!*link_color) *link_color = gdk_color_copy (&default_link_color); if (!*visited_link_color) @@ -3007,13 +3009,25 @@ gtk_label_clear_layout (GtkLabel *label) } } +static PangoFontMetrics * +get_font_metrics (PangoContext *context, GtkWidget *widget) +{ + GtkStyleContext *style_context; + PangoFontDescription *font; + + style_context = gtk_widget_get_style_context (widget); + gtk_style_context_get (style_context, 0, "font", &font, NULL); + + return pango_context_get_metrics (context, + font, + pango_context_get_language (context)); +} static void get_label_width (GtkLabel *label, gint *minimum, gint *natural) { - GtkWidgetAuxInfo *aux_info; GtkLabelPrivate *priv; PangoLayout *layout; PangoContext *context; @@ -3022,14 +3036,10 @@ get_label_width (GtkLabel *label, gint char_width, digit_width, char_pixels, text_width, ellipsize_chars, guess_width; priv = label->priv; - aux_info = _gtk_widget_get_aux_info (GTK_WIDGET (label), FALSE); layout = pango_layout_copy (priv->layout); context = pango_layout_get_context (layout); - metrics = pango_context_get_metrics (context, - gtk_widget_get_style (GTK_WIDGET (label))->font_desc, - pango_context_get_language (context)); - + metrics = get_font_metrics (context, GTK_WIDGET (label)); char_width = pango_font_metrics_get_approximate_char_width (metrics); digit_width = pango_font_metrics_get_approximate_digit_width (metrics); char_pixels = MAX (char_width, digit_width); @@ -3108,11 +3118,16 @@ get_label_width (GtkLabel *label, } /* if a width-request is set, use that as the requested label width */ - if ((priv->wrap || priv->ellipsize || priv->width_chars > 0 || priv->max_width_chars > 0) && - aux_info && aux_info->width > 0) + if (priv->wrap || priv->ellipsize || priv->width_chars > 0 || priv->max_width_chars > 0) { - *minimum = aux_info->width * PANGO_SCALE; - *natural = MAX (*natural, *minimum); + GtkWidgetAuxInfo *aux_info; + + aux_info = _gtk_widget_get_aux_info (GTK_WIDGET (label), FALSE); + if (aux_info && aux_info->width > 0) + { + *minimum = aux_info->width * PANGO_SCALE; + *natural = MAX (*natural, *minimum); + } } g_object_unref (layout); @@ -3143,10 +3158,7 @@ get_label_wrap_width (GtkLabel *label) layout = pango_layout_copy (priv->layout); context = pango_layout_get_context (layout); - metrics = pango_context_get_metrics (context, - gtk_widget_get_style (GTK_WIDGET (label))->font_desc, - pango_context_get_language (context)); - + metrics = get_font_metrics (context, GTK_WIDGET (label)); char_width = pango_font_metrics_get_approximate_char_width (metrics); digit_width = pango_font_metrics_get_approximate_digit_width (metrics); char_pixels = MAX (char_width, digit_width); @@ -3353,9 +3365,7 @@ get_single_line_height (GtkWidget *widget, gint ascent, descent; context = pango_layout_get_context (layout); - metrics = pango_context_get_metrics (context, gtk_widget_get_style (widget)->font_desc, - pango_context_get_language (context)); - + metrics = get_font_metrics (context, widget); ascent = pango_font_metrics_get_ascent (metrics); descent = pango_font_metrics_get_descent (metrics); pango_font_metrics_unref (metrics); From b36cb87df95f9e89fec35db794b008082303480e Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 5 Dec 2010 22:05:29 +0100 Subject: [PATCH 0371/1463] Use the new style context API in GtkButton Mostly replaces gtk_widget_style_get with gtk_style_context_get_style --- gtk/gtkbutton.c | 118 ++++++++++++++++++++++++++++-------------------- 1 file changed, 69 insertions(+), 49 deletions(-) diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index f0e00dadef..40b93c1b04 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -971,6 +971,7 @@ static void gtk_button_construct_child (GtkButton *button) { GtkButtonPrivate *priv = button->priv; + GtkStyleContext *context; GtkStockItem item; GtkWidget *child; GtkWidget *label; @@ -986,9 +987,11 @@ gtk_button_construct_child (GtkButton *button) if (!priv->label_text && !priv->image) return; - gtk_widget_style_get (GTK_WIDGET (button), - "image-spacing", &image_spacing, - NULL); + context = gtk_widget_get_style_context (GTK_WIDGET (button)); + + gtk_style_context_get_style (context, + "image-spacing", &image_spacing, + NULL); if (priv->image && !priv->image_is_stock) { @@ -1302,8 +1305,6 @@ gtk_button_realize (GtkWidget *widget) priv->event_window = gdk_window_new (window, &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, button); - - gtk_widget_style_attach (widget); } static void @@ -1350,7 +1351,8 @@ gtk_button_unmap (GtkWidget *widget) } static void -gtk_button_update_image_spacing (GtkButton *button) +gtk_button_update_image_spacing (GtkButton *button, + GtkStyleContext *context) { GtkButtonPrivate *priv = button->priv; GtkWidget *child; @@ -1369,19 +1371,23 @@ gtk_button_update_image_spacing (GtkButton *button) child = gtk_bin_get_child (GTK_BIN (child)); if (GTK_IS_BOX (child)) { - gtk_widget_style_get (GTK_WIDGET (button), - "image-spacing", &spacing, - NULL); + gtk_style_context_get_style (context, + "image-spacing", &spacing, + NULL); gtk_box_set_spacing (GTK_BOX (child), spacing); } - } + } } static void gtk_button_style_updated (GtkWidget *widget) { - gtk_button_update_image_spacing (GTK_BUTTON (widget)); + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + + gtk_button_update_image_spacing (GTK_BUTTON (widget), context); } static void @@ -1391,12 +1397,16 @@ gtk_button_get_props (GtkButton *button, GtkBorder *inner_border, gboolean *interior_focus) { - GtkWidget *widget = GTK_WIDGET (button); + GtkStyleContext *context; GtkBorder *tmp_border; + context = gtk_widget_get_style_context (GTK_WIDGET (button)); + if (default_border) { - gtk_widget_style_get (widget, "default-border", &tmp_border, NULL); + gtk_style_context_get_style (context, + "default-border", &tmp_border, + NULL); if (tmp_border) { @@ -1409,7 +1419,9 @@ gtk_button_get_props (GtkButton *button, if (default_outside_border) { - gtk_widget_style_get (widget, "default-outside-border", &tmp_border, NULL); + gtk_style_context_get_style (context, + "default-outside-border", &tmp_border, + NULL); if (tmp_border) { @@ -1422,7 +1434,9 @@ gtk_button_get_props (GtkButton *button, if (inner_border) { - gtk_widget_style_get (widget, "inner-border", &tmp_border, NULL); + gtk_style_context_get_style (context, + "inner-border", &tmp_border, + NULL); if (tmp_border) { @@ -1434,7 +1448,11 @@ gtk_button_get_props (GtkButton *button, } if (interior_focus) - gtk_widget_style_get (widget, "interior-focus", interior_focus, NULL); + { + gtk_style_context_get_style (context, + "interior-focus", interior_focus, + NULL); + } } static void @@ -1447,25 +1465,25 @@ gtk_button_size_allocate (GtkWidget *widget, GtkStyleContext *context; GtkStateFlags state; GtkWidget *child; - GtkBorder default_border; - GtkBorder inner_border, *border; + GtkBorder inner_border; + GtkBorder *border; gint focus_width; gint focus_pad; context = gtk_widget_get_style_context (widget); state = gtk_widget_get_state_flags (widget); + gtk_button_get_props (button, &default_border, NULL, &inner_border, NULL); + gtk_style_context_get_style (context, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + gtk_style_context_get (context, state, "border-width", &border, NULL); - gtk_button_get_props (button, &default_border, NULL, &inner_border, NULL); - gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); - gtk_widget_set_allocation (widget, allocation); if (gtk_widget_get_realized (widget)) @@ -1513,11 +1531,11 @@ gtk_button_size_allocate (GtkWidget *widget, { gint child_displacement_x; gint child_displacement_y; - - gtk_widget_style_get (widget, - "child-displacement-x", &child_displacement_x, - "child-displacement-y", &child_displacement_y, - NULL); + + gtk_style_context_get_style (context, + "child-displacement-x", &child_displacement_x, + "child-displacement-y", &child_displacement_y, + NULL); child_allocation.x += child_displacement_x; child_allocation.y += child_displacement_y; } @@ -1556,14 +1574,16 @@ _gtk_button_paint (GtkButton *button, widget = GTK_WIDGET (button); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_button_get_props (button, &default_border, &default_outside_border, NULL, &interior_focus); - gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); + gtk_style_context_get_style (context, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); gtk_widget_get_allocation (widget, &allocation); - context = gtk_widget_get_style_context (widget); window = gtk_widget_get_window (widget); x = 0; @@ -1614,15 +1634,15 @@ _gtk_button_paint (GtkButton *button, gboolean displace_focus; GtkBorder *border; - gtk_widget_style_get (widget, - "child-displacement-y", &child_displacement_y, - "child-displacement-x", &child_displacement_x, - "displace-focus", &displace_focus, - NULL); + gtk_style_context_get_style (context, + "child-displacement-y", &child_displacement_y, + "child-displacement-x", &child_displacement_x, + "displace-focus", &displace_focus, + NULL); gtk_style_context_get (context, state, - "border-width", &border, - NULL); + "border-width", &border, + NULL); if (interior_focus) { @@ -1906,23 +1926,23 @@ gtk_button_get_size (GtkWidget *widget, { GtkButton *button = GTK_BUTTON (widget); GtkStyleContext *context; + GtkStateFlags state; GtkWidget *child; GtkBorder default_border; GtkBorder inner_border; - GtkStateFlags state; GtkBorder *border; gint focus_width; gint focus_pad; gint minimum, natural; - gtk_button_get_props (button, &default_border, NULL, &inner_border, NULL); - gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - context = gtk_widget_get_style_context (GTK_WIDGET (widget)); - state = gtk_widget_get_state_flags (GTK_WIDGET (widget)); + gtk_button_get_props (button, &default_border, NULL, &inner_border, NULL); + gtk_style_context_get_style (context, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); gtk_style_context_get (context, state, "border-width", &border, From 84fd9b166c6088d0bed62dfe7da3ba21f963a328 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 5 Dec 2010 14:32:59 +0100 Subject: [PATCH 0372/1463] gdk: Remove nonexisting function from internal header --- gdk/gdkinternals.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index a0063cdc97..b5f5a57fa3 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -385,10 +385,6 @@ void _gdk_windowing_window_process_updates_recurse (GdkWindow *window, void _gdk_windowing_before_process_all_updates (void); void _gdk_windowing_after_process_all_updates (void); -/* Return the number of bits-per-pixel for images of the specified depth. */ -gint _gdk_windowing_get_bits_for_depth (GdkDisplay *display, - gint depth); - #define GDK_WINDOW_IS_MAPPED(window) (((window)->state & GDK_WINDOW_STATE_WITHDRAWN) == 0) From 645d0ac403f6c707d22307d86cc5732c9c20118a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 5 Dec 2010 14:36:59 +0100 Subject: [PATCH 0373/1463] API: gdk: Remove depth argument from gdk_window_get_geometry() We don't want to expose depth anymore. If you need it, query the visual. --- gdk/gdkscreen.c | 2 +- gdk/gdkwindow.c | 8 ++------ gdk/gdkwindow.h | 3 +-- gdk/x11/gdkdnd-x11.c | 2 +- gdk/x11/gdkwindow-x11.c | 4 ++-- gtk/gtkiconview.c | 2 +- gtk/gtkwindow-decorate.c | 4 ++-- 7 files changed, 10 insertions(+), 15 deletions(-) diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index 57b17ff880..71cabf57f7 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -304,7 +304,7 @@ gdk_screen_get_monitor_at_window (GdkScreen *screen, g_return_val_if_fail (GDK_IS_SCREEN (screen), -1); gdk_window_get_geometry (window, &win_rect.x, &win_rect.y, &win_rect.width, - &win_rect.height, NULL); + &win_rect.height); gdk_window_get_origin (window, &win_rect.x, &win_rect.y); num_monitors = gdk_screen_get_n_monitors (screen); diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 71959ee973..4ab9a26e5d 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -6809,7 +6809,6 @@ gdk_window_set_device_cursor (GdkWindow *window, * @y: (out) (allow-none): return location for Y coordinate of window (relative to its parent) * @width: (out) (allow-none): return location for width of window * @height: (out) (allow-none): return location for height of window - * @depth: (out) (allow-none): return location for bit depth of window * * Any of the return location arguments to this function may be %NULL, * if you aren't interested in getting the value of that field. @@ -6839,8 +6838,7 @@ gdk_window_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, - gint *height, - gint *depth) + gint *height) { GdkWindow *parent; GdkWindowImplClass *impl_class; @@ -6862,7 +6860,7 @@ gdk_window_get_geometry (GdkWindow *window, impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); impl_class->get_geometry (window, x, y, width, height, - depth); + NULL); /* This reports the position wrt to the native parent, we need to convert it to be relative to the client side parent */ parent = window->parent; @@ -6884,8 +6882,6 @@ gdk_window_get_geometry (GdkWindow *window, *width = window->width; if (height) *height = window->height; - if (depth) - *depth = window->depth; } } } diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index 936e69af20..05da7835d6 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -720,8 +720,7 @@ void gdk_window_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, - gint *height, - gint *depth); + gint *height); int gdk_window_get_width (GdkWindow *window); int gdk_window_get_height (GdkWindow *window); void gdk_window_get_position (GdkWindow *window, diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 0c94a6456b..f8f2e139af 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -559,7 +559,7 @@ gdk_window_cache_new (GdkScreen *screen) toplevel_windows = gdk_screen_get_toplevel_windows (screen); for (list = toplevel_windows; list; list = list->next) { window = GDK_WINDOW (list->data); - gdk_window_get_geometry (window, &x, &y, &width, &height, NULL); + gdk_window_get_geometry (window, &x, &y, &width, &height); gdk_window_cache_add (result, GDK_WINDOW_XID (window), x, y, width, height, gdk_window_is_visible (window)); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 725f77a61b..51ded44f60 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -3229,7 +3229,7 @@ _gdk_windowing_window_at_device_position (GdkDisplay *display, pointer_window = child; break; } - gdk_window_get_geometry (window, NULL, NULL, &width, &height, NULL); + gdk_window_get_geometry (window, NULL, NULL, &width, &height); if (winx >= 0 && winy >= 0 && winx < width && winy < height) { /* A childless toplevel, or below another window? */ @@ -5096,7 +5096,7 @@ calculate_unmoving_origin (MoveResizeData *mv_resize) { gdk_window_get_frame_extents (mv_resize->moveresize_window, &rect); gdk_window_get_geometry (mv_resize->moveresize_window, - NULL, NULL, &width, &height, NULL); + NULL, NULL, &width, &height); switch (mv_resize->moveresize_geometry.win_gravity) { diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 17ce6af25b..243106e9fd 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -6704,7 +6704,7 @@ gtk_icon_view_autoscroll (GtkIconView *icon_view) window = gtk_widget_get_window (GTK_WIDGET (icon_view)); gdk_window_get_pointer (window, &px, &py, NULL); - gdk_window_get_geometry (window, &x, &y, &width, &height, NULL); + gdk_window_get_geometry (window, &x, &y, &width, &height); /* see if we are near the edge. */ voffset = py - (y + 2 * SCROLL_EDGE_SIZE); diff --git a/gtk/gtkwindow-decorate.c b/gtk/gtkwindow-decorate.c index 1a276f85b4..d58feb3295 100644 --- a/gtk/gtkwindow-decorate.c +++ b/gtk/gtkwindow-decorate.c @@ -362,7 +362,7 @@ gtk_decorated_window_motion_notify (GtkWidget *widget, win_x += DECORATION_BORDER_LEFT; win_y += DECORATION_BORDER_TOP; - gdk_window_get_geometry (win, NULL, NULL, &win_w, &win_h, NULL); + gdk_window_get_geometry (win, NULL, NULL, &win_w, &win_h); if (deco->moving) { @@ -547,7 +547,7 @@ gtk_decorated_window_window_state (GtkWidget *widget, { int w, h; gdk_window_get_geometry (widget->window, NULL, NULL, - &deco->last_w, &deco->last_h, NULL); + &deco->last_w, &deco->last_h); gdk_window_get_origin (widget->window, &deco->last_x, &deco->last_y); w = gdk_screen_get_width(gdk_screen_get_default()) - DECORATION_BORDER_TOT_X; h = gdk_screen_get_height(gdk_screen_get_default()) - DECORATION_BORDER_TOT_Y; From d55073fde64a7d1ed8bb8c484c725e30c2b7e473 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 5 Dec 2010 14:40:35 +0100 Subject: [PATCH 0374/1463] gdk: Remove depth argument from GdkWindowImpl->get_geometry() --- gdk/gdkoffscreenwindow.c | 5 +---- gdk/gdkwindow.c | 3 +-- gdk/gdkwindowimpl.h | 3 +-- gdk/quartz/gdkwindow-quartz.c | 6 +----- gdk/win32/gdkwindow-win32.c | 5 +---- gdk/x11/gdkwindow-x11.c | 5 +---- 6 files changed, 6 insertions(+), 21 deletions(-) diff --git a/gdk/gdkoffscreenwindow.c b/gdk/gdkoffscreenwindow.c index 9ade91bee1..1731f45dad 100644 --- a/gdk/gdkoffscreenwindow.c +++ b/gdk/gdkoffscreenwindow.c @@ -549,8 +549,7 @@ gdk_offscreen_window_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, - gint *height, - gint *depth) + gint *height) { if (!GDK_WINDOW_DESTROYED (window)) { @@ -562,8 +561,6 @@ gdk_offscreen_window_get_geometry (GdkWindow *window, *width = window->width; if (height) *height = window->height; - if (depth) - *depth = window->depth; } } diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 4ab9a26e5d..7ac839640f 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -6859,8 +6859,7 @@ gdk_window_get_geometry (GdkWindow *window, { impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); impl_class->get_geometry (window, x, y, - width, height, - NULL); + width, height); /* This reports the position wrt to the native parent, we need to convert it to be relative to the client side parent */ parent = window->parent; diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 0332a31b71..af2d922c42 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -91,8 +91,7 @@ struct _GdkWindowImplClass gint *x, gint *y, gint *width, - gint *height, - gint *depth); + gint *height); gint (* get_root_coords) (GdkWindow *window, gint x, gint y, diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 40b9dbb854..a27163ca4b 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1645,8 +1645,7 @@ gdk_window_quartz_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, - gint *height, - gint *depth) + gint *height) { GdkWindowImplQuartz *impl; GdkWindowObject *private; @@ -1713,9 +1712,6 @@ gdk_window_quartz_get_geometry (GdkWindow *window, if (height) *height = ns_rect.size.height; } - - if (depth) - *depth = gdk_visual_get_depth (gdk_window_get_visual (window)); } static gint diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index bcbdca33a1..549f7a38ac 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -1800,8 +1800,7 @@ gdk_win32_window_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, - gint *height, - gint *depth) + gint *height) { if (!window) window = _gdk_root; @@ -1848,8 +1847,6 @@ gdk_win32_window_get_geometry (GdkWindow *window, *width = rect.right - rect.left; if (height) *height = rect.bottom - rect.top; - if (depth) - *depth = gdk_window_get_visual (window)->depth; GDK_NOTE (MISC, g_print ("gdk_win32_window_get_geometry: %p: %ldx%ldx%d@%+ld%+ld\n", GDK_WINDOW_HWND (window), diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 51ded44f60..d3b1992855 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2739,8 +2739,7 @@ gdk_window_x11_get_geometry (GdkWindow *window, gint *x, gint *y, gint *width, - gint *height, - gint *depth) + gint *height) { Window root; gint tx; @@ -2764,8 +2763,6 @@ gdk_window_x11_get_geometry (GdkWindow *window, *width = twidth; if (height) *height = theight; - if (depth) - *depth = tdepth; } } From e4c9d1a3214052edffe9cf5376ecc76e958758f4 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 5 Dec 2010 14:54:43 +0100 Subject: [PATCH 0375/1463] gdk: Constify argument to gdk_rgba_copy() --- gdk/gdkrgba.c | 2 +- gdk/gdkrgba.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/gdkrgba.c b/gdk/gdkrgba.c index c2cf2fca31..686d89b07b 100644 --- a/gdk/gdkrgba.c +++ b/gdk/gdkrgba.c @@ -49,7 +49,7 @@ G_DEFINE_BOXED_TYPE (GdkRGBA, gdk_rgba, * Since: 3.0 **/ GdkRGBA * -gdk_rgba_copy (GdkRGBA *rgba) +gdk_rgba_copy (const GdkRGBA *rgba) { GdkRGBA *copy; diff --git a/gdk/gdkrgba.h b/gdk/gdkrgba.h index 2b7670477a..d0d1286c7b 100644 --- a/gdk/gdkrgba.h +++ b/gdk/gdkrgba.h @@ -45,7 +45,7 @@ struct _GdkRGBA #define GDK_TYPE_RGBA (gdk_rgba_get_type ()) -GdkRGBA * gdk_rgba_copy (GdkRGBA *rgba); +GdkRGBA * gdk_rgba_copy (const GdkRGBA *rgba); void gdk_rgba_free (GdkRGBA *rgba); gboolean gdk_rgba_parse (GdkRGBA *rgba, From 6d6ee9a26ab515e5a872984dd28c964c7788f2ac Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sun, 5 Dec 2010 15:05:00 +0100 Subject: [PATCH 0376/1463] style: Remove unused code --- gtk/gtkstyle.c | 303 ------------------------------------------------- 1 file changed, 303 deletions(-) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index ff7686a6ab..fab8607225 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1753,40 +1753,6 @@ _cairo_draw_line (cairo_t *cr, cairo_restore (cr); } -static void -_cairo_draw_rectangle (cairo_t *cr, - GdkColor *color, - gboolean filled, - gint x, - gint y, - gint width, - gint height) -{ - gdk_cairo_set_source_color (cr, color); - - if (filled) - { - cairo_rectangle (cr, x, y, width, height); - cairo_fill (cr); - } - else - { - cairo_rectangle (cr, x + 0.5, y + 0.5, width, height); - cairo_stroke (cr); - } -} - -static void -_cairo_draw_point (cairo_t *cr, - GdkColor *color, - gint x, - gint y) -{ - gdk_cairo_set_source_color (cr, color); - cairo_rectangle (cr, x, y, 1, 1); - cairo_fill (cr); -} - static void transform_detail_string (const gchar *detail, GtkStyleContext *context) @@ -2020,153 +1986,6 @@ gtk_default_draw_vline (GtkStyle *style, gtk_style_context_restore (context); } -static void -draw_thin_shadow (GtkStyle *style, - cairo_t *cr, - GtkStateType state, - gint x, - gint y, - gint width, - gint height) -{ - GdkColor *gc1, *gc2; - - gc1 = &style->light[state]; - gc2 = &style->dark[state]; - - _cairo_draw_line (cr, gc1, - x, y + height - 1, x + width - 1, y + height - 1); - _cairo_draw_line (cr, gc1, - x + width - 1, y, x + width - 1, y + height - 1); - - _cairo_draw_line (cr, gc2, - x, y, x + width - 2, y); - _cairo_draw_line (cr, gc2, - x, y, x, y + height - 2); -} - -static void -draw_spinbutton_shadow (GtkStyle *style, - cairo_t *cr, - GtkStateType state, - GtkTextDirection direction, - gint x, - gint y, - gint width, - gint height) -{ - - if (direction == GTK_TEXT_DIR_LTR) - { - _cairo_draw_line (cr, &style->dark[state], - x, y, x + width - 1, y); - _cairo_draw_line (cr, &style->black, - x, y + 1, x + width - 2, y + 1); - _cairo_draw_line (cr, &style->black, - x + width - 2, y + 2, x + width - 2, y + height - 3); - _cairo_draw_line (cr, &style->light[state], - x + width - 1, y + 1, x + width - 1, y + height - 2); - _cairo_draw_line (cr, &style->light[state], - x, y + height - 1, x + width - 1, y + height - 1); - _cairo_draw_line (cr, &style->bg[state], - x, y + height - 2, x + width - 2, y + height - 2); - _cairo_draw_line (cr, &style->black, - x, y + 2, x, y + height - 3); - } - else - { - _cairo_draw_line (cr, &style->dark[state], - x, y, x + width - 1, y); - _cairo_draw_line (cr, &style->dark[state], - x, y + 1, x, y + height - 1); - _cairo_draw_line (cr, &style->black, - x + 1, y + 1, x + width - 1, y + 1); - _cairo_draw_line (cr, &style->black, - x + 1, y + 2, x + 1, y + height - 2); - _cairo_draw_line (cr, &style->black, - x + width - 1, y + 2, x + width - 1, y + height - 3); - _cairo_draw_line (cr, &style->light[state], - x + 1, y + height - 1, x + width - 1, y + height - 1); - _cairo_draw_line (cr, &style->bg[state], - x + 2, y + height - 2, x + width - 1, y + height - 2); - } -} - -static void -draw_menu_shadow (GtkStyle *style, - cairo_t *cr, - GtkStateType state, - gint x, - gint y, - gint width, - gint height) -{ - if (style->ythickness > 0) - { - if (style->ythickness > 1) - { - _cairo_draw_line (cr, &style->dark[state], - x + 1, y + height - 2, - x + width - 2, y + height - 2); - _cairo_draw_line (cr, &style->black, - x, y + height - 1, x + width - 1, y + height - 1); - } - else - { - _cairo_draw_line (cr, &style->dark[state], - x + 1, y + height - 1, x + width - 1, y + height - 1); - } - } - - if (style->xthickness > 0) - { - if (style->xthickness > 1) - { - _cairo_draw_line (cr, &style->dark[state], - x + width - 2, y + 1, - x + width - 2, y + height - 2); - - _cairo_draw_line (cr, &style->black, - x + width - 1, y, x + width - 1, y + height - 1); - } - else - { - _cairo_draw_line (cr, &style->dark[state], - x + width - 1, y + 1, x + width - 1, y + height - 1); - } - } - - /* Light around top and left */ - - if (style->ythickness > 0) - _cairo_draw_line (cr, &style->black, - x, y, x + width - 2, y); - if (style->xthickness > 0) - _cairo_draw_line (cr, &style->black, - x, y, x, y + height - 2); - - if (style->ythickness > 1) - _cairo_draw_line (cr, &style->light[state], - x + 1, y + 1, x + width - 3, y + 1); - if (style->xthickness > 1) - _cairo_draw_line (cr, &style->light[state], - x + 1, y + 1, x + 1, y + height - 3); -} - -static GtkTextDirection -get_direction (GtkWidget *widget) -{ - GtkTextDirection dir; - - if (widget) - dir = gtk_widget_get_direction (widget); - else - dir = GTK_TEXT_DIR_LTR; - - return dir; -} - - static void gtk_default_draw_shadow (GtkStyle *style, cairo_t *cr, @@ -2250,75 +2069,6 @@ draw_arrow (cairo_t *cr, cairo_restore (cr); } -static void -calculate_arrow_geometry (GtkArrowType arrow_type, - gint *x, - gint *y, - gint *width, - gint *height) -{ - gint w = *width; - gint h = *height; - - switch (arrow_type) - { - case GTK_ARROW_UP: - case GTK_ARROW_DOWN: - w += (w % 2) - 1; - h = (w / 2 + 1); - - if (h > *height) - { - h = *height; - w = 2 * h - 1; - } - - if (arrow_type == GTK_ARROW_DOWN) - { - if (*height % 2 == 1 || h % 2 == 0) - *height += 1; - } - else - { - if (*height % 2 == 0 || h % 2 == 0) - *height -= 1; - } - break; - - case GTK_ARROW_RIGHT: - case GTK_ARROW_LEFT: - h += (h % 2) - 1; - w = (h / 2 + 1); - - if (w > *width) - { - w = *width; - h = 2 * w - 1; - } - - if (arrow_type == GTK_ARROW_RIGHT) - { - if (*width % 2 == 1 || w % 2 == 0) - *width += 1; - } - else - { - if (*width % 2 == 0 || w % 2 == 0) - *width -= 1; - } - break; - - default: - /* should not be reached */ - break; - } - - *x += (*width - w) / 2; - *y += (*height - h) / 2; - *height = h; - *width = w; -} - static void gtk_default_draw_arrow (GtkStyle *style, cairo_t *cr, @@ -2548,16 +2298,6 @@ option_menu_get_props (GtkWidget *widget, *indicator_spacing = default_option_indicator_spacing; } -static gboolean -background_is_solid (GtkStyle *style, - GtkStateType type) -{ - if (style->background[type] == NULL) - return FALSE; - - return cairo_pattern_get_type (style->background[type]) == CAIRO_PATTERN_TYPE_SOLID; -} - static void gtk_default_draw_box (GtkStyle *style, cairo_t *cr, @@ -2624,23 +2364,6 @@ gtk_default_draw_box (GtkStyle *style, gtk_style_context_restore (context); } -static GdkColor * -get_darkened (const GdkColor *color, - gint darken_count) -{ - GdkColor src = *color; - GdkColor shaded = *color; - - while (darken_count) - { - _gtk_style_shade (&src, &shaded, 0.93); - src = shaded; - --darken_count; - } - - return gdk_color_copy (&shaded); -} - static void gtk_default_draw_flat_box (GtkStyle *style, cairo_t *cr, @@ -3170,32 +2893,6 @@ gtk_default_draw_slider (GtkStyle *style, gtk_style_context_restore (context); } -static void -draw_dot (cairo_t *cr, - GdkColor *light, - GdkColor *dark, - gint x, - gint y, - gushort size) -{ - size = CLAMP (size, 2, 3); - - if (size == 2) - { - _cairo_draw_point (cr, light, x, y); - _cairo_draw_point (cr, light, x+1, y+1); - } - else if (size == 3) - { - _cairo_draw_point (cr, light, x, y); - _cairo_draw_point (cr, light, x+1, y); - _cairo_draw_point (cr, light, x, y+1); - _cairo_draw_point (cr, dark, x+1, y+2); - _cairo_draw_point (cr, dark, x+2, y+1); - _cairo_draw_point (cr, dark, x+2, y+2); - } -} - static void gtk_default_draw_handle (GtkStyle *style, cairo_t *cr, From d378470e8795b16f14639ba52524e62aa05c4fa5 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 6 Dec 2010 01:30:19 +0100 Subject: [PATCH 0377/1463] appchooser: Remove bogus function declaration --- gtk/gtkappchooseronline.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtkappchooseronline.c b/gtk/gtkappchooseronline.c index deda4b30a7..99454cd5ee 100644 --- a/gtk/gtkappchooseronline.c +++ b/gtk/gtkappchooseronline.c @@ -30,7 +30,6 @@ #include -static void gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface); G_DEFINE_INTERFACE_WITH_CODE (GtkAppChooserOnline, _gtk_app_chooser_online, G_TYPE_OBJECT, g_type_interface_add_prerequisite (g_define_type_id, G_TYPE_ASYNC_INITABLE);) From 4b065f53899204725b4fafd2ccac1a21afe1c24b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 12:41:38 +0900 Subject: [PATCH 0378/1463] Changed gtk_cell_area_forall to gtk_cell_area_foreach since thats more widely used semantics. Also gave a boolean return value to the callback to allow breaking out of the loop. --- docs/reference/gtk/gtk3-sections.txt | 2 +- gtk/gtk.symbols | 2 +- gtk/gtkcellarea.c | 40 ++++++++++++++++------------ gtk/gtkcellarea.h | 16 ++++++----- gtk/gtkcellareabox.c | 13 ++++----- 5 files changed, 41 insertions(+), 32 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 08f6a2f475..15a692d12e 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4391,7 +4391,7 @@ GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID gtk_cell_area_add gtk_cell_area_remove gtk_cell_area_has_renderer -gtk_cell_area_forall +gtk_cell_area_foreach gtk_cell_area_get_cell_allocation gtk_cell_area_event gtk_cell_area_render diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 0974cae0b5..3e0704fde6 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -392,7 +392,7 @@ gtk_cell_area_context_push_preferred_height gtk_cell_area_context_reset gtk_cell_area_create_context gtk_cell_area_event -gtk_cell_area_forall +gtk_cell_area_foreach gtk_cell_area_focus gtk_cell_area_get_edited_cell gtk_cell_area_get_edit_widget diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index f240adfdb9..a601962a63 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -418,7 +418,7 @@ static void gtk_cell_area_reorder (GtkCellLayout static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); -/* Used in forall loop to check if a child renderer is present */ +/* Used in foreach loop to check if a child renderer is present */ typedef struct { GtkCellRenderer *renderer; gboolean has_renderer; @@ -571,7 +571,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) /* general */ class->add = NULL; class->remove = NULL; - class->forall = NULL; + class->foreach = NULL; class->event = gtk_cell_area_real_event; class->render = NULL; class->apply_attributes = gtk_cell_area_real_apply_attributes; @@ -1035,13 +1035,15 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, context, widget, minimum_width, natural_width); } -static void +static gboolean get_is_activatable (GtkCellRenderer *renderer, gboolean *activatable) { if (gtk_cell_renderer_is_activatable (renderer)) *activatable = TRUE; + + return *activatable; } static gboolean @@ -1055,7 +1057,7 @@ gtk_cell_area_real_is_activatable (GtkCellArea *area) * Subclasses can override this in the case that they are also * rendering widgets as well as renderers. */ - gtk_cell_area_forall (area, (GtkCellCallback)get_is_activatable, &activatable); + gtk_cell_area_foreach (area, (GtkCellCallback)get_is_activatable, &activatable); return activatable; } @@ -1229,11 +1231,13 @@ gtk_cell_area_reorder (GtkCellLayout *cell_layout, g_type_name (G_TYPE_FROM_INSTANCE (cell_layout))); } -static void +static gboolean accum_cells (GtkCellRenderer *renderer, GList **accum) { *accum = g_list_prepend (*accum, renderer); + + return FALSE; } static GList * @@ -1241,9 +1245,9 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) { GList *cells = NULL; - gtk_cell_area_forall (GTK_CELL_AREA (cell_layout), - (GtkCellCallback)accum_cells, - &cells); + gtk_cell_area_foreach (GTK_CELL_AREA (cell_layout), + (GtkCellCallback)accum_cells, + &cells); return g_list_reverse (cells); } @@ -1332,12 +1336,14 @@ gtk_cell_area_remove (GtkCellArea *area, g_type_name (G_TYPE_FROM_INSTANCE (area))); } -static void +static gboolean get_has_renderer (GtkCellRenderer *renderer, HasRendererCheck *check) { if (renderer == check->renderer) check->has_renderer = TRUE; + + return check->has_renderer; } /** @@ -1360,13 +1366,13 @@ gtk_cell_area_has_renderer (GtkCellArea *area, g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), FALSE); - gtk_cell_area_forall (area, (GtkCellCallback)get_has_renderer, &check); + gtk_cell_area_foreach (area, (GtkCellCallback)get_has_renderer, &check); return check.has_renderer; } /** - * gtk_cell_area_forall: + * gtk_cell_area_foreach: * @area: a #GtkCellArea * @callback: the #GtkCellCallback to call * @callback_data: user provided data pointer @@ -1376,9 +1382,9 @@ gtk_cell_area_has_renderer (GtkCellArea *area, * Since: 3.0 */ void -gtk_cell_area_forall (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data) +gtk_cell_area_foreach (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data) { GtkCellAreaClass *class; @@ -1387,10 +1393,10 @@ gtk_cell_area_forall (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); - if (class->forall) - class->forall (area, callback, callback_data); + if (class->foreach) + class->foreach (area, callback, callback_data); else - g_warning ("GtkCellAreaClass::forall not implemented for `%s'", + g_warning ("GtkCellAreaClass::foreach not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index cf396c638a..aa0560c20c 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -65,10 +65,12 @@ typedef struct _GtkCellAreaContext GtkCellAreaContext; * @data: user-supplied data * * The type of the callback functions used for iterating over - * the cell renderers of a #GtkCellArea, see gtk_cell_area_forall(). + * the cell renderers of a #GtkCellArea, see gtk_cell_area_foreach(). + * + * Return value: %TRUE to stop iterating over cells. */ -typedef void (*GtkCellCallback) (GtkCellRenderer *renderer, - gpointer data); +typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, + gpointer data); struct _GtkCellArea @@ -84,8 +86,8 @@ struct _GtkCellArea * GtkCellAreaClass: * @add: adds a #GtkCellRenderer to the area. * @remove: removes a #GtkCellRenderer from the area. - * @forall: Calls the #GtkCellCallback function on every #GtkCellRenderer in the area - * with the provided user data. + * @foreach: Calls the #GtkCellCallback function on every #GtkCellRenderer in the area + * with the provided user data until the callback returns %TRUE. * @get_cell_allocation: Gets the position (relative to the passed @cell_area rectangle) * and size of a #GtkCellRenderer. * @event: Handle an event in the area, this is generally used to activate a cell @@ -149,7 +151,7 @@ struct _GtkCellAreaClass GtkCellRenderer *renderer); void (* remove) (GtkCellArea *area, GtkCellRenderer *renderer); - void (* forall) (GtkCellArea *area, + void (* foreach) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); void (* get_cell_allocation) (GtkCellArea *area, @@ -248,7 +250,7 @@ void gtk_cell_area_remove (GtkCellArea GtkCellRenderer *renderer); gboolean gtk_cell_area_has_renderer (GtkCellArea *area, GtkCellRenderer *renderer); -void gtk_cell_area_forall (GtkCellArea *area, +void gtk_cell_area_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); void gtk_cell_area_get_cell_allocation (GtkCellArea *area, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index a014531a04..f60cc9a659 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -71,7 +71,7 @@ static void gtk_cell_area_box_add (GtkCellArea GtkCellRenderer *renderer); static void gtk_cell_area_box_remove (GtkCellArea *area, GtkCellRenderer *renderer); -static void gtk_cell_area_box_forall (GtkCellArea *area, +static void gtk_cell_area_box_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); static void gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, @@ -266,7 +266,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) /* GtkCellAreaClass */ area_class->add = gtk_cell_area_box_add; area_class->remove = gtk_cell_area_box_remove; - area_class->forall = gtk_cell_area_box_forall; + area_class->foreach = gtk_cell_area_box_foreach; area_class->get_cell_allocation = gtk_cell_area_box_get_cell_allocation; area_class->event = gtk_cell_area_box_event; area_class->render = gtk_cell_area_box_render; @@ -1022,9 +1022,9 @@ gtk_cell_area_box_remove (GtkCellArea *area, } static void -gtk_cell_area_box_forall (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data) +gtk_cell_area_box_foreach (GtkCellArea *area, + GtkCellCallback callback, + gpointer callback_data) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; @@ -1034,7 +1034,8 @@ gtk_cell_area_box_forall (GtkCellArea *area, { CellInfo *info = list->data; - callback (info->renderer, callback_data); + if (callback (info->renderer, callback_data)) + break; } } From 2588165bfb50dcdf81e08b3e0126044ade1e98bb Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 14:11:28 +0900 Subject: [PATCH 0379/1463] Added gtk_cell_area_foreach_alloc() to further simplify GtkCellArea subclasses gtk_cell_area_foreach_alloc() itterates over an allocated list of cells and calls a callback with the cell's allocation until the callback returns TRUE. - Removed vfunc get_cell_allocation() and implemented gtk_cell_area_get_cell_allocation() using foreach_alloc() - Added gtk_cell_area_get_cell_at_position() using foreach_alloc() - Removed GtkCellAreaBox ->event() implementation and implemented mouse "click" cell activation in GtkCellArea class directly using gtk_cell_area_get_cell_at_position(). --- docs/reference/gtk/gtk3-sections.txt | 5 +- gtk/gtkcellarea.c | 220 ++++++++++++++++++++++++--- gtk/gtkcellarea.h | 48 +++++- gtk/gtkcellareabox.c | 178 ++++------------------ 4 files changed, 271 insertions(+), 180 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 15a692d12e..555a043ba2 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4387,16 +4387,19 @@ gtk_cell_layout_get_type GtkCellArea GtkCellAreaClass GtkCellCallback +GtkCellAllocCallback GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID gtk_cell_area_add gtk_cell_area_remove gtk_cell_area_has_renderer gtk_cell_area_foreach -gtk_cell_area_get_cell_allocation +gtk_cell_area_foreach_alloc gtk_cell_area_event gtk_cell_area_render gtk_cell_area_set_style_detail gtk_cell_area_get_style_detail +gtk_cell_area_get_cell_allocation +gtk_cell_area_get_cell_at_position gtk_cell_area_create_context gtk_cell_area_get_request_mode gtk_cell_area_get_preferred_width diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index a601962a63..166546bc45 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -424,6 +424,20 @@ typedef struct { gboolean has_renderer; } HasRendererCheck; +/* Used in foreach loop to get a cell's allocation */ +typedef struct { + GtkCellRenderer *renderer; + GdkRectangle allocation; +} RendererAllocationData; + +/* Used in foreach loop to get a cell by position */ +typedef struct { + gint x; + gint y; + GtkCellRenderer *renderer; + GdkRectangle cell_area; +} CellByPositionData; + /* Attribute/Cell metadata */ typedef struct { const gchar *attribute; @@ -919,6 +933,7 @@ gtk_cell_area_real_event (GtkCellArea *area, GtkCellRendererState flags) { GtkCellAreaPrivate *priv = area->priv; + gboolean retval = FALSE; if (event->type == GDK_KEY_PRESS && (flags & GTK_CELL_RENDERER_FOCUSED) != 0) { @@ -928,11 +943,63 @@ gtk_cell_area_real_event (GtkCellArea *area, if (priv->edited_cell && (key_event->keyval == GDK_KEY_Escape)) { gtk_cell_area_stop_editing (area, TRUE); - return TRUE; + retval = TRUE; + } + } + else if (event->type == GDK_BUTTON_PRESS) + { + GdkEventButton *button_event = (GdkEventButton *)event; + + if (button_event->button == 1) + { + GtkCellRenderer *renderer; + GtkCellRenderer *focus_renderer; + GdkRectangle alloc_area, inner_area; + gint event_x, event_y; + + /* We may need some semantics to tell us the offset of the event + * window we are handling events for (i.e. GtkTreeView has a bin_window) */ + event_x = button_event->x; + event_y = button_event->y; + + renderer = + gtk_cell_area_get_cell_at_position (area, context, widget, + cell_area, event_x, event_y, + &alloc_area); + + if (renderer) + { + focus_renderer = gtk_cell_area_get_focus_from_sibling (area, renderer); + if (!focus_renderer) + focus_renderer = renderer; + + /* If we're already editing, cancel it and set focus */ + if (gtk_cell_area_get_edited_cell (area)) + { + /* XXX Was it really canceled in this case ? */ + gtk_cell_area_stop_editing (area, TRUE); + gtk_cell_area_set_focus_cell (area, focus_renderer); + retval = TRUE; + } + else + { + /* If we are activating via a focus sibling, + * we need to fetch the right cell area for the real event renderer */ + if (focus_renderer != renderer) + gtk_cell_area_get_cell_allocation (area, context, widget, focus_renderer, + cell_area, &alloc_area); + + gtk_cell_area_inner_cell_area (area, widget, &alloc_area, &inner_area); + + gtk_cell_area_set_focus_cell (area, focus_renderer); + retval = gtk_cell_area_activate_cell (area, widget, focus_renderer, + event, &inner_area, flags); + } + } } } - return FALSE; + return retval; } static void @@ -1401,43 +1468,41 @@ gtk_cell_area_foreach (GtkCellArea *area, } /** - * gtk_cell_area_get_cell_allocation: + * gtk_cell_area_foreach_alloc: * @area: a #GtkCellArea - * @context: the #GtkCellAreaContext used to hold sizes for @area. - * @widget: the #GtkWidget that @area is rendering on - * @renderer: the #GtkCellRenderer to get the allocation for - * @cell_area: the whole allocated area for @area in @widget - * for this row - * @allocation: (out): where to store the allocation for @renderer + * @context: the #GtkCellAreaContext for this row of data. + * @widget: the #GtkWidget that @area is rendering to + * @cell_area: the @widget relative coordinates and size for @area + * @callback: the #GtkCellAllocCallback to call + * @callback_data: user provided data pointer * - * Derives the allocation of @renderer inside @area if @area - * were to be renderered in @cell_area. + * Calls @callback for every #GtkCellRenderer in @area with the + * allocated rectangle inside @cell_area. * * Since: 3.0 */ void -gtk_cell_area_get_cell_allocation (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *allocation) +gtk_cell_area_foreach_alloc (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellAllocCallback callback, + gpointer callback_data) { GtkCellAreaClass *class; g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (cell_area != NULL); - g_return_if_fail (allocation != NULL); + g_return_if_fail (callback != NULL); class = GTK_CELL_AREA_GET_CLASS (area); - if (class->get_cell_allocation) - class->get_cell_allocation (area, context, widget, renderer, cell_area, allocation); + if (class->foreach_alloc) + class->foreach_alloc (area, context, widget, cell_area, callback, callback_data); else - g_warning ("GtkCellAreaClass::get_cell_allocation not implemented for `%s'", + g_warning ("GtkCellAreaClass::foreach_alloc not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); } @@ -1576,6 +1641,117 @@ gtk_cell_area_get_style_detail (GtkCellArea *area) return priv->style_detail; } +static gboolean +get_cell_allocation (GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + RendererAllocationData *data) +{ + if (data->renderer == renderer) + data->allocation = *cell_area; + + return (data->renderer == renderer); +} + +/** + * gtk_cell_area_get_cell_allocation: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext used to hold sizes for @area. + * @widget: the #GtkWidget that @area is rendering on + * @renderer: the #GtkCellRenderer to get the allocation for + * @cell_area: the whole allocated area for @area in @widget + * for this row + * @allocation: (out): where to store the allocation for @renderer + * + * Derives the allocation of @renderer inside @area if @area + * were to be renderered in @cell_area. + * + * Since: 3.0 + */ +void +gtk_cell_area_get_cell_allocation (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation) +{ + RendererAllocationData data = { renderer, { 0, } }; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); + g_return_if_fail (cell_area != NULL); + g_return_if_fail (allocation != NULL); + + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, + (GtkCellAllocCallback)get_cell_allocation, &data); + + *allocation = data.allocation; +} + +static gboolean +get_cell_by_position (GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + CellByPositionData *data) +{ + if (data->x >= cell_area->x && data->x < cell_area->x + cell_area->width && + data->y >= cell_area->y && data->y < cell_area->y + cell_area->height) + { + data->renderer = renderer; + data->cell_area = *cell_area; + } + + return (data->renderer != NULL); +} + +/** + * gtk_cell_area_get_cell_at_position: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext used to hold sizes for @area. + * @widget: the #GtkWidget that @area is rendering on + * @cell_area: the whole allocated area for @area in @widget + * for this row + * @x: the x position + * @y: the y position + * @alloc_area: (out) (allow-none): where to store the inner allocated area of the + * returned cell renderer, or %NULL. + * + * Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally + * returns the full cell allocation for it inside @cell_area. + * + * Returns: the #GtkCellRenderer at @x and @y. + * + * Since: 3.0 + */ +GtkCellRenderer * +gtk_cell_area_get_cell_at_position (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + gint x, + gint y, + GdkRectangle *alloc_area) +{ + CellByPositionData data = { x, y, NULL, { 0, } }; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + g_return_val_if_fail (GTK_IS_CELL_AREA_CONTEXT (context), NULL); + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); + g_return_val_if_fail (cell_area != NULL, NULL); + g_return_val_if_fail (x >= cell_area->x && x <= cell_area->x + cell_area->width, NULL); + g_return_val_if_fail (y >= cell_area->y && y <= cell_area->y + cell_area->height, NULL); + + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, + (GtkCellAllocCallback)get_cell_by_position, &data); + + if (alloc_area) + *alloc_area = data.cell_area; + + return data.renderer; +} + + /************************************************************* * API: Geometry * *************************************************************/ diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index aa0560c20c..83c174188f 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -72,6 +72,22 @@ typedef struct _GtkCellAreaContext GtkCellAreaContext; typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, gpointer data); +/** + * GtkCellAllocCallback: + * @renderer: the cell renderer to operate on + * @area: the area allocated to @renderer inside the rectangle provided to gtk_cell_area_foreach_alloc(). + * @data: user-supplied data + * + * The type of the callback functions used for iterating over + * the cell renderers and their allocated areas inside a #GtkCellArea, + * see gtk_cell_area_foreach_alloc(). + * + * Return value: %TRUE to stop iterating over cells. + */ +typedef gboolean (*GtkCellAllocCallback) (GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + gpointer data); + struct _GtkCellArea { @@ -88,8 +104,8 @@ struct _GtkCellArea * @remove: removes a #GtkCellRenderer from the area. * @foreach: Calls the #GtkCellCallback function on every #GtkCellRenderer in the area * with the provided user data until the callback returns %TRUE. - * @get_cell_allocation: Gets the position (relative to the passed @cell_area rectangle) - * and size of a #GtkCellRenderer. + * @foreach_alloc: Calls the #GtkCellAllocCallback function on every #GtkCellRenderer in the area + * with the allocated area for the cell and the provided user data until the callback returns %TRUE. * @event: Handle an event in the area, this is generally used to activate a cell * at the event location for button events but can also be used to generically pass * events to #GtkWidgets drawn onto the area. @@ -154,12 +170,12 @@ struct _GtkCellAreaClass void (* foreach) (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); - void (* get_cell_allocation) (GtkCellArea *area, + void (* foreach_alloc) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - GtkCellRenderer *renderer, const GdkRectangle *cell_area, - GdkRectangle *allocation); + GtkCellAllocCallback callback, + gpointer callback_data); gint (* event) (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -253,12 +269,12 @@ gboolean gtk_cell_area_has_renderer (GtkCellArea void gtk_cell_area_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); -void gtk_cell_area_get_cell_allocation (GtkCellArea *area, +void gtk_cell_area_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - GtkCellRenderer *renderer, const GdkRectangle *cell_area, - GdkRectangle *allocation); + GtkCellAllocCallback callback, + gpointer callback_data); gint gtk_cell_area_event (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -277,6 +293,22 @@ void gtk_cell_area_set_style_detail (GtkCellArea const gchar *detail); G_CONST_RETURN gchar *gtk_cell_area_get_style_detail (GtkCellArea *area); + +void gtk_cell_area_get_cell_allocation (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); +GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + gint x, + gint y, + GdkRectangle *alloc_area); + + /* Geometry */ GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area); GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index f60cc9a659..62db9b5aec 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -74,18 +74,12 @@ static void gtk_cell_area_box_remove (GtkCellArea static void gtk_cell_area_box_foreach (GtkCellArea *area, GtkCellCallback callback, gpointer callback_data); -static void gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *allocation); -static gint gtk_cell_area_box_event (GtkCellArea *area, +static void gtk_cell_area_box_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - GdkEvent *event, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellAllocCallback callback, + gpointer callback_data); static void gtk_cell_area_box_render (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -267,8 +261,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->add = gtk_cell_area_box_add; area_class->remove = gtk_cell_area_box_remove; area_class->foreach = gtk_cell_area_box_foreach; - area_class->get_cell_allocation = gtk_cell_area_box_get_cell_allocation; - area_class->event = gtk_cell_area_box_event; + area_class->foreach_alloc = gtk_cell_area_box_foreach_alloc; area_class->render = gtk_cell_area_box_render; area_class->set_cell_property = gtk_cell_area_box_set_cell_property; area_class->get_cell_property = gtk_cell_area_box_get_cell_property; @@ -1040,19 +1033,20 @@ gtk_cell_area_box_foreach (GtkCellArea *area, } static void -gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *allocation) +gtk_cell_area_box_foreach_alloc (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellAllocCallback callback, + gpointer callback_data) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GSList *allocated_cells, *l; + GdkRectangle allocation; - *allocation = *cell_area; + allocation = *cell_area; /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ @@ -1063,145 +1057,25 @@ gtk_cell_area_box_get_cell_allocation (GtkCellArea *area, { AllocatedCell *cell = l->data; - if (cell->renderer == renderer) + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - allocation->x = cell_area->x + cell->position; - allocation->width = cell->size; - } - else - { - allocation->y = cell_area->y + cell->position; - allocation->height = cell->size; - } - - break; + allocation.x = cell_area->x + cell->position; + allocation.width = cell->size; } + else + { + allocation.y = cell_area->y + cell->position; + allocation.height = cell->size; + } + + if (callback (cell->renderer, &allocation, callback_data)) + break; } g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); g_slist_free (allocated_cells); } -enum { - FOCUS_NONE, - FOCUS_PREV, - FOCUS_NEXT -}; - -static gint -gtk_cell_area_box_event (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags) -{ - gint retval; - - /* First let the parent class handle activation of cells via keystrokes */ - retval = - GTK_CELL_AREA_CLASS (gtk_cell_area_box_parent_class)->event (area, context, widget, - event, cell_area, flags); - - if (retval) - return retval; - - /* Also detect mouse events, for mouse events we need to allocate the renderers - * and find which renderer needs to be activated. - */ - if (event->type == GDK_BUTTON_PRESS) - { - GdkEventButton *button_event = (GdkEventButton *)event; - - if (button_event->button == 1) - { - GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GSList *allocated_cells, *l; - GdkRectangle cell_background, inner_area; - gint event_x, event_y; - - /* We may need some semantics to tell us the offset of the event - * window we are handling events for (i.e. GtkTreeView has a bin_window) */ - event_x = button_event->x; - event_y = button_event->y; - - cell_background = *cell_area; - - /* Get a list of cells with allocation sizes decided regardless - * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_context, widget, - cell_area->width, cell_area->height); - - for (l = allocated_cells; l; l = l->next) - { - AllocatedCell *cell = l->data; - - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - cell_background.x = cell_area->x + cell->position; - cell_background.width = cell->size; - } - else - { - cell_background.y = cell_area->y + cell->position; - cell_background.height = cell->size; - } - - /* Remove margins from the background area to produce the cell area - */ - gtk_cell_area_inner_cell_area (area, widget, &cell_background, &inner_area); - - if (event_x >= inner_area.x && event_x <= inner_area.x + inner_area.width && - event_y >= inner_area.y && event_y <= inner_area.y + inner_area.height) - { - GtkCellRenderer *event_renderer = NULL; - GtkCellRenderer *focus_renderer; - - focus_renderer = gtk_cell_area_get_focus_from_sibling (area, cell->renderer); - if (focus_renderer) - event_renderer = focus_renderer; - else - event_renderer = cell->renderer; - - event_renderer = cell->renderer; - - if (event_renderer) - { - if (gtk_cell_area_get_edited_cell (area)) - { - /* XXX Was it really canceled in this case ? */ - gtk_cell_area_stop_editing (area, TRUE); - gtk_cell_area_set_focus_cell (area, event_renderer); - retval = TRUE; - } - else - { - /* If we are activating via a focus sibling, we need to fix the - * cell area */ - if (event_renderer != cell->renderer) - gtk_cell_area_inner_cell_area (area, widget, cell_area, &cell_background); - - gtk_cell_area_set_focus_cell (area, event_renderer); - - retval = gtk_cell_area_activate_cell (area, widget, event_renderer, - event, &cell_background, flags); - } - break; - } - } - } - g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); - g_slist_free (allocated_cells); - } - } - - return retval; -} - static void gtk_cell_area_box_render (GtkCellArea *area, GtkCellAreaContext *context, @@ -1959,6 +1833,12 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, *natural_width = nat_width; } +enum { + FOCUS_NONE, + FOCUS_PREV, + FOCUS_NEXT +}; + static gboolean gtk_cell_area_box_focus (GtkCellArea *area, GtkDirectionType direction) From 94c9eb72ce4be9632f78c587bd19e8af474452f7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 00:44:01 -0500 Subject: [PATCH 0380/1463] Don't use g_warning when loading an engine fails This causes the tests to abort if clearlooks can't be found. --- gtk/gtkthemingengine.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 88ba166ef8..1c77dbce6d 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -889,19 +889,13 @@ gtk_theming_module_load (GTypeModule *type_module) module_path = _gtk_find_module (name, "theming-engines"); if (!module_path) - { - g_warning (_("Unable to locate theme engine in module path: \"%s\","), name); - return FALSE; - } + return FALSE; module = g_module_open (module_path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); g_free (module_path); if (!module) - { - g_warning ("%s", g_module_error ()); - return FALSE; - } + return FALSE; if (!g_module_symbol (module, "theme_init", (gpointer *) &theming_module->init) || @@ -910,7 +904,6 @@ gtk_theming_module_load (GTypeModule *type_module) !g_module_symbol (module, "create_engine", (gpointer *) &theming_module->create_engine)) { - g_warning ("%s", g_module_error ()); g_module_close (module); return FALSE; From f1fafca6ca94c864b791399d1989edd41caaa02c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 00:44:58 -0500 Subject: [PATCH 0381/1463] Make invalid stylesheets fail to parse again The recent improvements to error reporting caused gtk_css_provider_load... to always return TRUE and leave the error unset. Error messages were instead dumped out with g_message, which is not helpful. This commit changes things back to the way they were before: If a GError is passed in, parsing will fail at the first error, reporting it in the given GError. If no GError is passed in, we keep going and just issue the warning messages. This fixes the parser tests. --- gtk/gtkcssprovider.c | 110 ++++++++++++++++++++++++++++--------------- 1 file changed, 72 insertions(+), 38 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index b417234096..f5ab19a6c9 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -791,11 +791,6 @@ static gboolean gtk_css_provider_load_from_path_internal (GtkCssProvider *css_p gboolean reset, GError **error); -enum { - CSS_PROVIDER_PARSE_ERROR -}; - - GQuark gtk_css_provider_error_quark (void) { @@ -1375,7 +1370,7 @@ gtk_css_provider_get_style_property (GtkStyleProvider *provider, (info->state == 0 || info->state == state || ((info->state & state) != 0 && - (info->state & ~(state)) == 0))) + (info->state & ~(state)) == 0))) { const gchar *val_str; @@ -1880,7 +1875,7 @@ parse_selector (GtkCssProvider *css_provider, static GtkSymbolicColor * symbolic_color_parse_str (const gchar *string, - gchar **end_ptr) + gchar **end_ptr) { GtkSymbolicColor *symbolic_color = NULL; gchar *str; @@ -2073,7 +2068,7 @@ symbolic_color_parse_str (const gchar *string, *end_ptr = (gchar *) str; if (str[0] != ')') - { + { gtk_symbolic_color_unref (color1); gtk_symbolic_color_unref (color2); return NULL; @@ -2142,8 +2137,8 @@ symbolic_color_parse (const gchar *str, if (*end != '\0') { g_set_error_literal (error, - gtk_css_provider_error_quark (), - CSS_PROVIDER_PARSE_ERROR, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, "Could not parse symbolic color"); if (color) @@ -2519,8 +2514,8 @@ path_parse (GtkCssProvider *css_provider, if (*end != '\0') { g_set_error_literal (error, - gtk_css_provider_error_quark (), - CSS_PROVIDER_PARSE_ERROR, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, "Error parsing path"); g_free (path); path = NULL; @@ -2739,27 +2734,29 @@ css_provider_parse_value (GtkCssProvider *css_provider, if (type == GDK_TYPE_RGBA || type == GDK_TYPE_COLOR) { - GdkRGBA color; - GdkColor rgb; + GdkRGBA rgba; + GdkColor color; if (type == GDK_TYPE_RGBA && - gdk_rgba_parse (&color, value_str)) - g_value_set_boxed (value, &color); + gdk_rgba_parse (&rgba, value_str)) + g_value_set_boxed (value, &rgba); else if (type == GDK_TYPE_COLOR && - gdk_color_parse (value_str, &rgb)) - g_value_set_boxed (value, &rgb); + gdk_color_parse (value_str, &color)) + g_value_set_boxed (value, &color); else { GtkSymbolicColor *symbolic_color; symbolic_color = symbolic_color_parse_str (value_str, &end); - if (!symbolic_color) - return FALSE; - - g_value_unset (value); - g_value_init (value, GTK_TYPE_SYMBOLIC_COLOR); - g_value_take_boxed (value, symbolic_color); + if (symbolic_color) + { + g_value_unset (value); + g_value_init (value, GTK_TYPE_SYMBOLIC_COLOR); + g_value_take_boxed (value, symbolic_color); + } + else + parsed = FALSE; } } else if (type == PANGO_TYPE_FONT_DESCRIPTION) @@ -2790,7 +2787,10 @@ css_provider_parse_value (GtkCssProvider *css_provider, GtkThemingEngine *engine; engine = gtk_theming_engine_load (value_str); - g_value_set_object (value, engine); + if (engine) + g_value_set_object (value, engine); + else + parsed = FALSE; } else if (type == GTK_TYPE_ANIMATION_DESCRIPTION) { @@ -2878,8 +2878,11 @@ css_provider_parse_value (GtkCssProvider *css_provider, if (!enum_value) { - g_warning ("Unknown value '%s' for enum type '%s'", - value_str, g_type_name (type)); + g_set_error (error, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, + "Unknown value '%s' for enum type '%s'", + value_str, g_type_name (type)); parsed = FALSE; } else @@ -2912,8 +2915,11 @@ css_provider_parse_value (GtkCssProvider *css_provider, if (!flag_value) { - g_warning ("Unknown flag '%s' for type '%s'", - value_str, g_type_name (type)); + g_set_error (error, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, + "Unknown flag '%s' for type '%s'", + value_str, g_type_name (type)); parsed = FALSE; } else @@ -2928,8 +2934,11 @@ css_provider_parse_value (GtkCssProvider *css_provider, if (!flag_value) { - g_warning ("Unknown flag '%s' for type '%s'", - value_str, g_type_name (type)); + g_set_error (error, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, + "Unknown flag '%s' for type '%s'", + value_str, g_type_name (type)); parsed = FALSE; } else @@ -2953,7 +2962,11 @@ css_provider_parse_value (GtkCssProvider *css_provider, } else { - g_warning ("Cannot parse string '%s' for type %s", value_str, g_type_name (type)); + g_set_error (error, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, + "Cannot parse string '%s' for type %s", + value_str, g_type_name (type)); parsed = FALSE; } @@ -2966,8 +2979,8 @@ css_provider_parse_value (GtkCssProvider *css_provider, if (error && !*error) g_set_error_literal (error, - gtk_css_provider_error_quark (), - CSS_PROVIDER_PARSE_ERROR, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, "Failed to parse value"); } @@ -3320,6 +3333,9 @@ parse_stylesheet (GtkCssProvider *css_provider, GError **error) { GtkCssProviderPrivate *priv; + gboolean result; + + result = TRUE; priv = css_provider->priv; g_scanner_get_next_token (priv->scanner); @@ -3334,7 +3350,26 @@ parse_stylesheet (GtkCssProvider *css_provider, if (expected_token != G_TOKEN_NONE) { - scanner_report_warning (css_provider, expected_token, err); + /* If a GError was passed in, propagate the error and bail out, + * else report a warning and keep going + */ + if (error != NULL) + { + result = FALSE; + if (err) + g_propagate_error (error, err); + else + g_set_error_literal (error, + GTK_CSS_PROVIDER_ERROR, + GTK_CSS_PROVIDER_ERROR_FAILED, + "Error parsing stylesheet"); + break; + } + else + { + scanner_report_warning (css_provider, expected_token, err); + g_clear_error (&err); + } while (!g_scanner_eof (priv->scanner) && priv->scanner->token != G_TOKEN_RIGHT_CURLY) @@ -3343,11 +3378,10 @@ parse_stylesheet (GtkCssProvider *css_provider, else css_provider_commit (css_provider); - g_clear_error (&err); g_scanner_get_next_token (priv->scanner); } - return TRUE; + return result; } /** @@ -3650,7 +3684,7 @@ gtk_css_provider_get_default (void) ".check:hover, .radio:hover {\n" " background-color: @base_color;\n" " border-color: @fg_color;\n" - " color: @text_color;\n" + " color: @text_color;\n" " border-style: solid;\n" " border-width: 1;\n" "}\n" From c6572265cb124d28fa35514bf3d569797c2beed6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 16:29:13 +0900 Subject: [PATCH 0382/1463] Fixed gtk-doc statement in GtkCellArea header --- gtk/gtkcellarea.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 83c174188f..c8021f73c7 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -75,7 +75,7 @@ typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, /** * GtkCellAllocCallback: * @renderer: the cell renderer to operate on - * @area: the area allocated to @renderer inside the rectangle provided to gtk_cell_area_foreach_alloc(). + * @cell_area: the area allocated to @renderer inside the rectangle provided to gtk_cell_area_foreach_alloc(). * @data: user-supplied data * * The type of the callback functions used for iterating over From 9366a345b47bfb64f1e237392209a71d13114053 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 16:29:40 +0900 Subject: [PATCH 0383/1463] Fix GtkCellAreaBox allocate_cells_manually to handle undersized areas. --- gtk/gtkcellareabox.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 62db9b5aec..e97767962f 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -697,7 +697,10 @@ allocate_cells_manually (GtkCellAreaBox *box, /* Naturally distribute the allocation */ avail_size -= (nvisible - 1) * priv->spacing; - avail_size = gtk_distribute_natural_allocation (avail_size, nvisible, sizes); + if (avail_size > 0) + avail_size = gtk_distribute_natural_allocation (avail_size, nvisible, sizes); + else + avail_size = 0; /* Calculate/distribute expand for cells */ if (nexpand > 0) From a090d62339be687e1a210d441571bd4edb901560 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 16:30:18 +0900 Subject: [PATCH 0384/1463] Added expand controls to testtreeedit (now you can play with align & expand effects in cells there). --- tests/testtreeedit.c | 82 +++++++++++++++++++++++++++++--------------- 1 file changed, 55 insertions(+), 27 deletions(-) diff --git a/tests/testtreeedit.c b/tests/testtreeedit.c index 924dc16319..86956975d4 100644 --- a/tests/testtreeedit.c +++ b/tests/testtreeedit.c @@ -146,14 +146,46 @@ align_cell_toggled (GtkToggleButton *toggle, gtk_cell_area_cell_set (data->area, data->renderer, "align", active, NULL); } +static void +expand_cell_toggled (GtkToggleButton *toggle, + CallbackData *data) +{ + gboolean active = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (data->area, data->renderer, "expand", active, NULL); +} + +static void +create_control (GtkWidget *box, gint number, gboolean align, CallbackData *data) +{ + GtkWidget *checkbutton; + gchar *name; + + if (align) + name = g_strdup_printf ("Align Cell #%d", number); + else + name = g_strdup_printf ("Expand Cell #%d", number); + + checkbutton = gtk_check_button_new_with_label (name); + gtk_widget_show (checkbutton); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), align); + gtk_box_pack_start (GTK_BOX (box), checkbutton, FALSE, FALSE, 0); + + if (align) + g_signal_connect (G_OBJECT (checkbutton), "toggled", + G_CALLBACK (align_cell_toggled), data); + else + g_signal_connect (G_OBJECT (checkbutton), "toggled", + G_CALLBACK (expand_cell_toggled), data); +} + gint main (gint argc, gchar **argv) { GtkWidget *window; GtkWidget *scrolled_window; GtkWidget *tree_view; - GtkWidget *vbox, *hbox; - GtkWidget *checkbutton; + GtkWidget *vbox, *hbox, *cntl_vbox; GtkTreeModel *tree_model; GtkCellRenderer *renderer; GtkTreeViewColumn *column; @@ -173,10 +205,6 @@ main (gint argc, gchar **argv) gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (window), vbox); - hbox = gtk_hbox_new (FALSE, 6); - gtk_widget_show (hbox); - gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_ETCHED_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), @@ -257,31 +285,31 @@ main (gint argc, gchar **argv) gtk_container_add (GTK_CONTAINER (scrolled_window), tree_view); gtk_window_set_default_size (GTK_WINDOW (window), - 800, 175); + 800, 250); - checkbutton = gtk_check_button_new_with_label ("Align 1st Cell"); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); - gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); - g_signal_connect (G_OBJECT (checkbutton), "toggled", - G_CALLBACK (align_cell_toggled), &callback[0]); + hbox = gtk_hbox_new (FALSE, 6); + gtk_widget_show (hbox); + gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); - checkbutton = gtk_check_button_new_with_label ("Align 2nd Cell"); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); - gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); - g_signal_connect (G_OBJECT (checkbutton), "toggled", - G_CALLBACK (align_cell_toggled), &callback[1]); + /* Alignment controls */ + cntl_vbox = gtk_vbox_new (FALSE, 2); + gtk_widget_show (cntl_vbox); + gtk_box_pack_start (GTK_BOX (hbox), cntl_vbox, FALSE, FALSE, 0); - checkbutton = gtk_check_button_new_with_label ("Align 3rd Cell"); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); - gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); - g_signal_connect (G_OBJECT (checkbutton), "toggled", - G_CALLBACK (align_cell_toggled), &callback[2]); + create_control (cntl_vbox, 1, TRUE, &callback[0]); + create_control (cntl_vbox, 2, TRUE, &callback[1]); + create_control (cntl_vbox, 3, TRUE, &callback[2]); + create_control (cntl_vbox, 4, TRUE, &callback[3]); - checkbutton = gtk_check_button_new_with_label ("Align 4th Cell"); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE); - gtk_box_pack_start (GTK_BOX (hbox), checkbutton, FALSE, FALSE, 0); - g_signal_connect (G_OBJECT (checkbutton), "toggled", - G_CALLBACK (align_cell_toggled), &callback[3]); + /* Expand controls */ + cntl_vbox = gtk_vbox_new (FALSE, 2); + gtk_widget_show (cntl_vbox); + gtk_box_pack_start (GTK_BOX (hbox), cntl_vbox, FALSE, FALSE, 0); + + create_control (cntl_vbox, 1, FALSE, &callback[0]); + create_control (cntl_vbox, 2, FALSE, &callback[1]); + create_control (cntl_vbox, 3, FALSE, &callback[2]); + create_control (cntl_vbox, 4, FALSE, &callback[3]); gtk_widget_show_all (window); gtk_main (); From bf1aa2ad87ecb164282bf9a655464a16209cc774 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 16:31:07 +0900 Subject: [PATCH 0385/1463] Changed GtkTreeViewColumn->requested_width to ->padding Now we bookkeep the treeview assigned padding asides from the requested width stored in the GtkCellAreaContext, this removes the need for bookkeeping the deepest expanded depth in gtktreeview.c At allocation time, just remove the padding from the allocated width of the column and feed the rest to the underlying cell area. --- gtk/gtktreeprivate.h | 7 +-- gtk/gtktreeview.c | 126 ++++++++-------------------------------- gtk/gtktreeviewcolumn.c | 47 ++++++++------- 3 files changed, 52 insertions(+), 128 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 695e06d6aa..be630f8be0 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -108,8 +108,7 @@ void _gtk_tree_view_column_set_tree_view (GtkTreeViewColumn *column, gint _gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column); void _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, int x_offset, - int width, - int cell_width); + int width); void _gtk_tree_view_column_unset_model (GtkTreeViewColumn *column, GtkTreeModel *old_model); void _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column); @@ -136,8 +135,8 @@ void _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, gboolean _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn *tree_column); GdkWindow *_gtk_tree_view_column_get_window (GtkTreeViewColumn *column); -void _gtk_tree_view_column_set_requested_width (GtkTreeViewColumn *column, - gint width); +void _gtk_tree_view_column_push_padding (GtkTreeViewColumn *column, + gint padding); gint _gtk_tree_view_column_get_requested_width (GtkTreeViewColumn *column); void _gtk_tree_view_column_set_resized_width (GtkTreeViewColumn *column, gint width); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index a2f3846f04..c9ca131cbc 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -344,7 +344,6 @@ struct _GtkTreeViewPrivate GtkRBNode *expanded_collapsed_node; GtkRBTree *expanded_collapsed_tree; guint expand_collapse_timeout; - gint deepest_depth; /* Auto expand/collapse timeout in hover mode */ guint auto_expand_timeout; @@ -1759,8 +1758,6 @@ gtk_tree_view_init (GtkTreeView *tree_view) tree_view->priv->event_last_x = -10000; tree_view->priv->event_last_y = -10000; - tree_view->priv->deepest_depth = 1; - gtk_tree_view_set_vadjustment (tree_view, NULL); gtk_tree_view_set_hadjustment (tree_view, NULL); } @@ -2541,56 +2538,6 @@ invalidate_last_column (GtkTreeView *tree_view) } } -static gboolean -gtk_tree_view_column_is_edge (GtkTreeView *tree_view, - GtkTreeViewColumn *column) -{ - GtkTreeViewColumn *first_column = tree_view->priv->columns->data; - GtkTreeViewColumn *last_column = g_list_last (tree_view->priv->columns)->data; - - return (column == first_column || column == last_column); -} - -/* Gets the space in a column that is not actually distributed to - * the internal cell area, i.e. total indentation expander size - * grid line widths and horizontal separators */ -static gint -gtk_tree_view_get_column_padding (GtkTreeView *tree_view, - GtkTreeViewColumn *column) -{ - gint padding; - gint grid_line_width; - gint horizontal_separator; - - /* Get the deepest depth */ - - gtk_widget_style_get (GTK_WIDGET (tree_view), - "horizontal-separator", &horizontal_separator, - "grid-line-width", &grid_line_width, - NULL); - - padding = horizontal_separator; - - if (gtk_tree_view_is_expander_column (tree_view, column)) - { - padding += (tree_view->priv->deepest_depth - 1) * tree_view->priv->level_indentation; - - if (gtk_tree_view_draw_expanders (tree_view)) - padding += tree_view->priv->deepest_depth * tree_view->priv->expander_size; - } - - if (tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_VERTICAL || - tree_view->priv->grid_lines == GTK_TREE_VIEW_GRID_LINES_BOTH) - { - if (gtk_tree_view_column_is_edge (tree_view, column)) - padding += grid_line_width / 2.0; - else - padding += grid_line_width; - } - - return padding; -} - /* GtkWidget::size_allocate helper */ static void gtk_tree_view_size_allocate_columns (GtkWidget *widget, @@ -2681,7 +2628,6 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, list != (rtl ? first_column->prev : last_column->next); list = (rtl ? list->prev : list->next)) { - gint column_cell_width = 0; gint old_width, column_width; column = list->data; @@ -2737,13 +2683,7 @@ gtk_tree_view_size_allocate_columns (GtkWidget *widget, if (extra_for_last > 0 && list == last_column) column_width += extra_for_last; - /* Remove any padding that we add to the column around the cell area - * and give the correct internal cell area to the column. - */ - column_cell_width = - column_width - gtk_tree_view_get_column_padding (tree_view, column); - - _gtk_tree_view_column_allocate (column, width, column_width, column_cell_width); + _gtk_tree_view_column_allocate (column, width, column_width); width += column_width; @@ -3187,7 +3127,10 @@ gtk_tree_view_button_press (GtkWidget *widget, if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) tree_view->priv->shift_pressed = TRUE; + + /* This needs an x and a y ! */ focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, event->x - background_area.x); + if (focus_cell) gtk_tree_view_column_focus_cell (column, focus_cell); @@ -6178,8 +6121,10 @@ validate_row (GtkTreeView *tree_view, for (list = tree_view->priv->columns; list; list = list->next) { - gint tmp_width; - gint tmp_height; + gint padding = 0; + gint original_width; + gint new_width; + gint row_height; column = list->data; @@ -6190,17 +6135,19 @@ validate_row (GtkTreeView *tree_view, !_gtk_tree_view_column_cell_get_dirty (column)) continue; + original_width = _gtk_tree_view_column_get_requested_width (column); + gtk_tree_view_column_cell_set_cell_data (column, tree_view->priv->model, iter, GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PARENT), node->children?TRUE:FALSE); gtk_tree_view_column_cell_get_size (column, NULL, NULL, NULL, - &tmp_width, &tmp_height); + NULL, &row_height); if (!is_separator) { - tmp_height += vertical_separator; - height = MAX (height, tmp_height); + padding += vertical_separator; + height = MAX (height, row_height); height = MAX (height, tree_view->priv->expander_size); } else @@ -6213,27 +6160,28 @@ validate_row (GtkTreeView *tree_view, if (gtk_tree_view_is_expander_column (tree_view, column)) { - tmp_width = tmp_width + horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; + padding += horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; if (gtk_tree_view_draw_expanders (tree_view)) - tmp_width += depth * tree_view->priv->expander_size; + padding += depth * tree_view->priv->expander_size; } else - tmp_width = tmp_width + horizontal_separator; + padding += horizontal_separator; if (draw_vgrid_lines) { if (list->data == first_column || list->data == last_column) - tmp_width += grid_line_width / 2.0; + padding += grid_line_width / 2.0; else - tmp_width += grid_line_width; + padding += grid_line_width; } - if (tmp_width > _gtk_tree_view_column_get_requested_width (column)) - { - retval = TRUE; - _gtk_tree_view_column_set_requested_width (column, tmp_width); - } + /* Update the padding for the column */ + _gtk_tree_view_column_push_padding (column, padding); + new_width = _gtk_tree_view_column_get_requested_width (column); + + if (new_width > original_width) + retval = TRUE; } if (draw_hgrid_lines) @@ -12789,10 +12737,6 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view, gtk_tree_path_get_depth (path) + 1, open_all); - /* Update the deepest expanded row depth */ - if (tree_view->priv->deepest_depth < gtk_tree_path_get_depth (path) + 1) - tree_view->priv->deepest_depth = gtk_tree_path_get_depth (path) + 1; - remove_expand_collapse_timeout (tree_view); if (animate) @@ -12847,17 +12791,6 @@ gtk_tree_view_expand_row (GtkTreeView *tree_view, return FALSE; } -static void -gtk_tree_view_deepest_expanded_depth (GtkTreeView *tree_view, - GtkTreePath *path, - gint *deepest) -{ - gint children_depth = gtk_tree_path_get_depth (path) + 1; - - if (children_depth > *deepest) - *deepest = children_depth; -} - static gboolean gtk_tree_view_real_collapse_row (GtkTreeView *tree_view, GtkTreePath *path, @@ -13010,17 +12943,6 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view, } } - /* If we're collapsing one of the deepest expanded rows, - * we need to recalculate the deepest_depth - */ - if (tree_view->priv->deepest_depth == gtk_tree_path_get_depth (path) + 1) - { - tree_view->priv->deepest_depth = 1; - gtk_tree_view_map_expanded_rows (tree_view, - (GtkTreeViewMappingFunc)gtk_tree_view_deepest_expanded_depth, - &tree_view->priv->deepest_depth); - } - return TRUE; } diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 429ed577fb..7a8bb7367d 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -136,7 +136,7 @@ struct _GtkTreeViewColumnPrivate /* Sizing fields */ /* see gtk+/doc/tree-column-sizing.txt for more information on them */ GtkTreeViewColumnSizing column_type; - gint requested_width; + gint padding; gint resized_width; gint width; gint fixed_width; @@ -451,7 +451,7 @@ gtk_tree_view_column_init (GtkTreeViewColumn *tree_column) priv->button = NULL; priv->xalign = 0.0; priv->width = 0; - priv->requested_width = -1; + priv->padding = -1; priv->min_width = -1; priv->max_width = -1; priv->resized_width = 0; @@ -1903,16 +1903,6 @@ gtk_tree_view_column_set_sizing (GtkTreeViewColumn *tree_column, if (type == GTK_TREE_VIEW_COLUMN_AUTOSIZE) gtk_tree_view_column_set_resizable (tree_column, FALSE); -#if 0 - /* I was clearly on crack when I wrote this. I'm not sure what's supposed to - * be below so I'll leave it until I figure it out. - */ - if (priv->column_type == GTK_TREE_VIEW_COLUMN_AUTOSIZE && - priv->requested_width != -1) - { - gtk_tree_view_column_set_sizing (tree_column, priv->requested_width); - } -#endif priv->column_type = type; gtk_tree_view_column_update_button (tree_column); @@ -1971,13 +1961,22 @@ _gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column) else if (gtk_tree_view_get_headers_visible (GTK_TREE_VIEW (priv->tree_view))) { gint button_request; + gint requested_width; + + gtk_cell_area_context_get_preferred_width (priv->cell_area_context, &requested_width, NULL); + requested_width += priv->padding; gtk_widget_get_preferred_width (priv->button, &button_request, NULL); - real_requested_width = MAX (priv->requested_width, button_request); + real_requested_width = MAX (requested_width, button_request); } else { - real_requested_width = priv->requested_width; + gint requested_width; + + gtk_cell_area_context_get_preferred_width (priv->cell_area_context, &requested_width, NULL); + requested_width += priv->padding; + + real_requested_width = requested_width; if (real_requested_width < 0) real_requested_width = 0; } @@ -1994,8 +1993,7 @@ _gtk_tree_view_column_request_width (GtkTreeViewColumn *tree_column) void _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, int x_offset, - int width, - int cell_width) + int width) { GtkTreeViewColumnPrivate *priv; GtkAllocation allocation; @@ -2007,7 +2005,7 @@ _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column, priv->width = width; - gtk_cell_area_context_allocate (priv->cell_area_context, cell_width, -1); + gtk_cell_area_context_allocate (priv->cell_area_context, priv->width - priv->padding, -1); allocation.x = x_offset; allocation.y = 0; @@ -2891,7 +2889,7 @@ _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, GtkTreeViewColumnPrivate *priv = tree_column->priv; priv->dirty = TRUE; - priv->requested_width = -1; + priv->padding = 0; priv->width = 0; if (priv->tree_view && @@ -3017,18 +3015,23 @@ _gtk_tree_view_column_get_window (GtkTreeViewColumn *column) } void -_gtk_tree_view_column_set_requested_width (GtkTreeViewColumn *column, - gint width) +_gtk_tree_view_column_push_padding (GtkTreeViewColumn *column, + gint padding) { - column->priv->requested_width = width; + column->priv->padding = MAX (column->priv->padding, padding); } gint _gtk_tree_view_column_get_requested_width (GtkTreeViewColumn *column) { - return column->priv->requested_width; + gint requested_width; + + gtk_cell_area_context_get_preferred_width (column->priv->cell_area_context, &requested_width, NULL); + + return requested_width + column->priv->padding; } + void _gtk_tree_view_column_set_resized_width (GtkTreeViewColumn *column, gint width) From 0d0ec8587728ff26fbb2b14c8a7f72b39e386998 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 17:03:53 +0900 Subject: [PATCH 0386/1463] Fixed GtkTreeViewColumn to reset the context when _gtk_tree_view_column_cell_set_dirty is called. This fixes autosize columns... result can be viewable by checking tests/testtreeview and setting the second column to autosize and then expanding/colapsing some rows. --- gtk/gtktreeviewcolumn.c | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 7a8bb7367d..02e4652d19 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -172,6 +172,7 @@ struct _GtkTreeViewColumnPrivate guint reorderable : 1; guint use_resized_width : 1; guint expand : 1; + guint resetting_context : 1; }; enum @@ -1246,16 +1247,24 @@ gtk_tree_view_column_context_changed (GtkCellAreaContext *context, GParamSpec *pspec, GtkTreeViewColumn *tree_column) { + /* Here we want the column re-requested if the underlying context was + * actually reset for any reason, this can happen if the underlying + * area/cell configuration changes (i.e. cell packing properties + * or cell spacing and the like) + * + * Note that we block this handler while requesting for sizes + * so there is no need to check for the new context size being -1, + * we also block the handler when explicitly resetting the context + * so as to avoid some infinite stack recursion. + */ if (!strcmp (pspec->name, "minimum-width") || !strcmp (pspec->name, "natural-width") || !strcmp (pspec->name, "minimum-height") || !strcmp (pspec->name, "natural-height")) { - /* XXX We want to do something specific if the size actually got cleared - * or if it just grew a little bit because of a data change and we - * are in GROW_ONLY mode. - */ + tree_column->priv->resetting_context = TRUE; _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); + tree_column->priv->resetting_context = FALSE; } } @@ -2892,6 +2901,21 @@ _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, priv->padding = 0; priv->width = 0; + /* Issue a manual reset on the context to have all + * sizes re-requested for the context. + * + * This annoying 'resetting_context' flag is unfortunately + * necessary to prevent some infinite recursion + */ + if (!tree_column->priv->resetting_context) + { + g_signal_handler_block (priv->cell_area_context, + priv->context_changed_signal); + gtk_cell_area_context_reset (priv->cell_area_context); + g_signal_handler_unblock (priv->cell_area_context, + priv->context_changed_signal); + } + if (priv->tree_view && gtk_widget_get_realized (priv->tree_view)) { From f08f1f92aa2f9e6b0d22c8b12ad011083ef30a02 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 17:27:03 +0900 Subject: [PATCH 0387/1463] Fixed some nit-picking bugs in GtkCellArea - Dont try fetching a cell renderer for an event when the event coordinate is outside the cell area allocation (can happen on the y axis, not all events are button events). - Dont remove focus-line-width (inner area) an extra time from GtkCellArea->event - Dont remove focus-line-width from the cell area at all for the editable widget... use the whole area including the focus line (compared with git master behaviour and now it looks right, check the multiline editable string in testtreeedit). --- gtk/gtkcellarea.c | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 166546bc45..1fabc94d0d 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -467,7 +467,7 @@ static gint cell_attribute_find (CellAttribute *cell_attribut static void gtk_cell_area_add_editable (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable, - GdkRectangle *cell_area); + const GdkRectangle *cell_area); static void gtk_cell_area_remove_editable (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable); @@ -952,9 +952,9 @@ gtk_cell_area_real_event (GtkCellArea *area, if (button_event->button == 1) { - GtkCellRenderer *renderer; + GtkCellRenderer *renderer = NULL; GtkCellRenderer *focus_renderer; - GdkRectangle alloc_area, inner_area; + GdkRectangle alloc_area; gint event_x, event_y; /* We may need some semantics to tell us the offset of the event @@ -962,10 +962,15 @@ gtk_cell_area_real_event (GtkCellArea *area, event_x = button_event->x; event_y = button_event->y; - renderer = - gtk_cell_area_get_cell_at_position (area, context, widget, - cell_area, event_x, event_y, - &alloc_area); + /* Dont try to search for an event coordinate that is not in the area, that will + * trigger a runtime warning. + */ + if (event_x >= cell_area->x && event_x <= cell_area->x + cell_area->width && + event_y >= cell_area->y && event_y <= cell_area->y + cell_area->height) + renderer = + gtk_cell_area_get_cell_at_position (area, context, widget, + cell_area, event_x, event_y, + &alloc_area); if (renderer) { @@ -988,12 +993,10 @@ gtk_cell_area_real_event (GtkCellArea *area, if (focus_renderer != renderer) gtk_cell_area_get_cell_allocation (area, context, widget, focus_renderer, cell_area, &alloc_area); - - gtk_cell_area_inner_cell_area (area, widget, &alloc_area, &inner_area); gtk_cell_area_set_focus_cell (area, focus_renderer); retval = gtk_cell_area_activate_cell (area, widget, focus_renderer, - event, &inner_area, flags); + event, &alloc_area, flags); } } } @@ -2992,7 +2995,7 @@ static void gtk_cell_area_add_editable (GtkCellArea *area, GtkCellRenderer *renderer, GtkCellEditable *editable, - GdkRectangle *cell_area) + const GdkRectangle *cell_area) { g_signal_emit (area, cell_area_signals[SIGNAL_ADD_EDITABLE], 0, renderer, editable, cell_area, area->priv->current_path); @@ -3157,7 +3160,6 @@ gtk_cell_area_activate_cell (GtkCellArea *area, GtkCellRendererState flags) { GtkCellRendererMode mode; - GdkRectangle inner_area; GtkCellAreaPrivate *priv; g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); @@ -3167,10 +3169,6 @@ gtk_cell_area_activate_cell (GtkCellArea *area, priv = area->priv; - /* Remove margins from the background area to produce the cell area. - */ - gtk_cell_area_inner_cell_area (area, widget, cell_area, &inner_area); - g_object_get (renderer, "mode", &mode, NULL); if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) @@ -3179,7 +3177,7 @@ gtk_cell_area_activate_cell (GtkCellArea *area, event, widget, priv->current_path, cell_area, - &inner_area, + cell_area, flags)) return TRUE; } @@ -3192,7 +3190,7 @@ gtk_cell_area_activate_cell (GtkCellArea *area, event, widget, priv->current_path, cell_area, - &inner_area, + cell_area, flags); if (editable_widget != NULL) @@ -3204,7 +3202,7 @@ gtk_cell_area_activate_cell (GtkCellArea *area, /* Signal that editing started so that callers can get * a handle on the editable_widget */ - gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, &inner_area); + gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, cell_area); /* If the signal was successfully handled start the editing */ if (gtk_widget_get_parent (GTK_WIDGET (editable_widget))) From 55bbe4a3a55090766ae81182e8d545db792f5d59 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 19:04:51 +0900 Subject: [PATCH 0388/1463] Adding gtk_tree_view_column_new_with_area(). Creates a treeviewcolumn using a specific GtkCellArea. This patch also makes GtkEntryCompletion use the new api instead of g_object_new(). --- gtk/gtkentrycompletion.c | 2 +- gtk/gtktreeviewcolumn.c | 21 +++++++++++++++++++++ gtk/gtktreeviewcolumn.h | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 8d21b64e32..36247dde0f 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -493,7 +493,7 @@ gtk_entry_completion_constructor (GType type, completion); priv->first_sel_changed = TRUE; - priv->column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, "cell-area", priv->cell_area, NULL); + priv->column = gtk_tree_view_column_new_with_area (priv->cell_area); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->tree_view), priv->column); priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 02e4652d19..c054a6ba26 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1529,6 +1529,27 @@ gtk_tree_view_column_new (void) return tree_column; } +/** + * gtk_tree_view_column_new_with_area: + * @area: the #GtkCellArea that the newly created column should use to layout cells. + * + * Creates a new #GtkTreeViewColumn using @area to render it's cells. + * + * Return value: A newly created #GtkTreeViewColumn. + * + * Since: 3.0 + */ +GtkTreeViewColumn * +gtk_tree_view_column_new_with_area (GtkCellArea *area) +{ + GtkTreeViewColumn *tree_column; + + tree_column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, "cell-area", area, NULL); + + return tree_column; +} + + /** * gtk_tree_view_column_new_with_attributes: * @title: The title to set the header to. diff --git a/gtk/gtktreeviewcolumn.h b/gtk/gtktreeviewcolumn.h index c056898f0e..f964177283 100644 --- a/gtk/gtktreeviewcolumn.h +++ b/gtk/gtktreeviewcolumn.h @@ -105,6 +105,7 @@ struct _GtkTreeViewColumnClass GType gtk_tree_view_column_get_type (void) G_GNUC_CONST; GtkTreeViewColumn *gtk_tree_view_column_new (void); +GtkTreeViewColumn *gtk_tree_view_column_new_with_area (GtkCellArea *area); GtkTreeViewColumn *gtk_tree_view_column_new_with_attributes (const gchar *title, GtkCellRenderer *cell, ...) G_GNUC_NULL_TERMINATED; From 3b753aa05e5f1de7e6a17bef106eba8d23c64b9b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 07:26:00 -0500 Subject: [PATCH 0389/1463] Fix Makefile syntax --- docs/reference/gtk/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 42d23fc1c1..94231fed3e 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -328,7 +328,7 @@ HTML_IMAGES = \ $(srcdir)/images/layout-tbrl.png \ $(srcdir)/images/window-default.png \ $(srcdir)/images/hello-world.png \ - $(srcdir)/images/switch.png + $(srcdir)/images/switch.png \ $(srcdir)/images/linear.png \ $(srcdir)/images/ease.png \ $(srcdir)/images/ease-in-out.png \ From fd6e57687de49ac2c8e51923a3ccc471e5cc97b5 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Mon, 6 Dec 2010 14:13:40 +0100 Subject: [PATCH 0390/1463] Port Quartz backend to latest rendering-cleanup changes --- gdk/quartz/GdkQuartzView.c | 8 +- gdk/quartz/GdkQuartzWindow.c | 40 +- gdk/quartz/Makefile.am | 2 - gdk/quartz/gdkdevice-core.c | 10 +- gdk/quartz/gdkdrawable-quartz.c | 232 ---------- gdk/quartz/gdkdrawable-quartz.h | 71 --- gdk/quartz/gdkevents-quartz.c | 58 +-- gdk/quartz/gdkgeometry-quartz.c | 3 +- gdk/quartz/gdkinput.c | 14 +- gdk/quartz/gdkprivate-quartz.h | 6 +- gdk/quartz/gdkwindow-quartz.c | 742 +++++++++++++++++--------------- gdk/quartz/gdkwindow-quartz.h | 19 +- 12 files changed, 467 insertions(+), 738 deletions(-) delete mode 100644 gdk/quartz/gdkdrawable-quartz.c delete mode 100644 gdk/quartz/gdkdrawable-quartz.h diff --git a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c index 8c6132b2ab..cf34e8302a 100644 --- a/gdk/quartz/GdkQuartzView.c +++ b/gdk/quartz/GdkQuartzView.c @@ -68,8 +68,7 @@ -(void)drawRect:(NSRect)rect { GdkRectangle gdk_rect; - GdkWindowObject *private = GDK_WINDOW_OBJECT (gdk_window); - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (gdk_window->impl); const NSRect *drawn_rects; NSInteger count; int i; @@ -78,7 +77,7 @@ if (GDK_WINDOW_DESTROYED (gdk_window)) return; - if (!(private->event_mask & GDK_EXPOSURE_MASK)) + if (!(gdk_window->event_mask & GDK_EXPOSURE_MASK)) return; if (NSEqualRects (rect, NSZeroRect)) @@ -127,8 +126,7 @@ */ -(void)updateTrackingRect { - GdkWindowObject *private = GDK_WINDOW_OBJECT (gdk_window); - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (gdk_window->impl); NSRect rect; if (!impl->toplevel) diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c index eb3cce8947..6fd0c9b75e 100644 --- a/gdk/quartz/GdkQuartzWindow.c +++ b/gdk/quartz/GdkQuartzWindow.c @@ -140,7 +140,6 @@ -(void)windowDidMove:(NSNotification *)aNotification { GdkWindow *window = [[self contentView] gdkWindow]; - GdkWindowObject *private = (GdkWindowObject *)window; GdkEvent *event; _gdk_quartz_window_update_position (window); @@ -148,10 +147,10 @@ /* Synthesize a configure event */ event = gdk_event_new (GDK_CONFIGURE); event->configure.window = g_object_ref (window); - event->configure.x = private->x; - event->configure.y = private->y; - event->configure.width = private->width; - event->configure.height = private->height; + event->configure.x = window->x; + event->configure.y = window->y; + event->configure.width = window->width; + event->configure.height = window->height; _gdk_event_queue_append (gdk_display_get_default (), event); } @@ -160,23 +159,22 @@ { NSRect content_rect = [self contentRectForFrameRect:[self frame]]; GdkWindow *window = [[self contentView] gdkWindow]; - GdkWindowObject *private = (GdkWindowObject *)window; GdkEvent *event; - private->width = content_rect.size.width; - private->height = content_rect.size.height; + window->width = content_rect.size.width; + window->height = content_rect.size.height; - [[self contentView] setFrame:NSMakeRect (0, 0, private->width, private->height)]; + [[self contentView] setFrame:NSMakeRect (0, 0, window->width, window->height)]; _gdk_window_update_size (window); /* Synthesize a configure event */ event = gdk_event_new (GDK_CONFIGURE); event->configure.window = g_object_ref (window); - event->configure.x = private->x; - event->configure.y = private->y; - event->configure.width = private->width; - event->configure.height = private->height; + event->configure.x = window->x; + event->configure.y = window->y; + event->configure.width = window->width; + event->configure.height = window->height; _gdk_event_queue_append (gdk_display_get_default (), event); } @@ -199,8 +197,7 @@ -(BOOL)canBecomeMainWindow { GdkWindow *window = [[self contentView] gdkWindow]; - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); switch (impl->type_hint) { @@ -229,16 +226,15 @@ -(BOOL)canBecomeKeyWindow { GdkWindow *window = [[self contentView] gdkWindow]; - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); - if (!private->accept_focus) + if (!window->accept_focus) return NO; /* Popup windows should not be able to get focused in the window * manager sense, it's only handled through grabs. */ - if (private->window_type == GDK_WINDOW_TEMP) + if (window->window_type == GDK_WINDOW_TEMP) return NO; switch (impl->type_hint) @@ -268,8 +264,7 @@ - (void)showAndMakeKey:(BOOL)makeKey { GdkWindow *window = [[self contentView] gdkWindow]; - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); inShowOrHide = YES; @@ -284,8 +279,7 @@ - (void)hide { GdkWindow *window = [[self contentView] gdkWindow]; - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); inShowOrHide = YES; [impl->toplevel orderOut:nil]; diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index b0a967d1e8..f7ffd5a326 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -27,8 +27,6 @@ libgdk_quartz_la_SOURCES = \ gdkdevicemanager-core.c \ gdkdisplay-quartz.c \ gdkdnd-quartz.c \ - gdkdrawable-quartz.c \ - gdkdrawable-quartz.h \ gdkevents-quartz.c \ gdkeventloop-quartz.c \ gdkgeometry-quartz.c \ diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c index 57dc3de728..25f9a1e479 100644 --- a/gdk/quartz/gdkdevice-core.c +++ b/gdk/quartz/gdkdevice-core.c @@ -188,8 +188,7 @@ gdk_device_core_query_state_helper (GdkWindow *window, gint *y, GdkModifierType *mask) { - GdkWindowObject *toplevel; - GdkWindowObject *private; + GdkWindow *toplevel; NSPoint point; gint x_tmp, y_tmp; GdkWindow *found_window; @@ -204,7 +203,7 @@ gdk_device_core_query_state_helper (GdkWindow *window, return NULL; } - toplevel = GDK_WINDOW_OBJECT (gdk_window_get_effective_toplevel (window)); + toplevel = gdk_window_get_effective_toplevel (window); *mask = _gdk_quartz_events_get_current_event_mask (); @@ -220,15 +219,14 @@ gdk_device_core_query_state_helper (GdkWindow *window, NSWindow *nswindow; impl = GDK_WINDOW_IMPL_QUARTZ (toplevel->impl); - private = GDK_WINDOW_OBJECT (toplevel); nswindow = impl->toplevel; point = [nswindow mouseLocationOutsideOfEventStream]; x_tmp = point.x; - y_tmp = private->height - point.y; + y_tmp = toplevel->height - point.y; - window = (GdkWindow *)toplevel; + window = toplevel; } found_window = _gdk_quartz_window_find_child (window, x_tmp, y_tmp, diff --git a/gdk/quartz/gdkdrawable-quartz.c b/gdk/quartz/gdkdrawable-quartz.c deleted file mode 100644 index 632f0cd009..0000000000 --- a/gdk/quartz/gdkdrawable-quartz.c +++ /dev/null @@ -1,232 +0,0 @@ -/* gdkdrawable-quartz.c - * - * Copyright (C) 2005-2007 Imendio AB - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" -#include -#include -#include "gdkprivate-quartz.h" - -static gpointer parent_class; - -static cairo_user_data_key_t gdk_quartz_cairo_key; - -typedef struct { - GdkDrawable *drawable; - CGContextRef cg_context; -} GdkQuartzCairoSurfaceData; - -static void -gdk_quartz_cairo_surface_destroy (void *data) -{ - GdkQuartzCairoSurfaceData *surface_data = data; - GdkDrawableImplQuartz *impl = GDK_DRAWABLE_IMPL_QUARTZ (surface_data->drawable); - - impl->cairo_surface = NULL; - - gdk_quartz_drawable_release_context (surface_data->drawable, - surface_data->cg_context); - - g_free (surface_data); -} - -static cairo_surface_t * -gdk_quartz_create_cairo_surface (GdkDrawable *drawable, - int width, - int height) -{ - CGContextRef cg_context; - GdkQuartzCairoSurfaceData *surface_data; - cairo_surface_t *surface; - - cg_context = gdk_quartz_drawable_get_context (drawable, TRUE); - - if (!cg_context) - return NULL; - - surface_data = g_new (GdkQuartzCairoSurfaceData, 1); - surface_data->drawable = drawable; - surface_data->cg_context = cg_context; - - surface = cairo_quartz_surface_create_for_cg_context (cg_context, - width, height); - - cairo_surface_set_user_data (surface, &gdk_quartz_cairo_key, - surface_data, - gdk_quartz_cairo_surface_destroy); - - return surface; -} - -static cairo_surface_t * -gdk_quartz_ref_cairo_surface (GdkDrawable *drawable) -{ - GdkDrawableImplQuartz *impl = GDK_DRAWABLE_IMPL_QUARTZ (drawable); - - if (GDK_IS_WINDOW_IMPL_QUARTZ (drawable) && - GDK_WINDOW_DESTROYED (impl->wrapper)) - return NULL; - - if (!impl->cairo_surface) - { - impl->cairo_surface = - gdk_quartz_create_cairo_surface (drawable, - gdk_window_get_width (impl->wrapper), - gdk_window_get_height (impl->wrapper)); - } - else - cairo_surface_reference (impl->cairo_surface); - - return impl->cairo_surface; -} - -static void -gdk_drawable_impl_quartz_finalize (GObject *object) -{ - G_OBJECT_CLASS (parent_class)->finalize (object); -} - -static void -gdk_drawable_impl_quartz_class_init (GdkDrawableImplQuartzClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GdkDrawableClass *drawable_class = GDK_DRAWABLE_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_drawable_impl_quartz_finalize; - - drawable_class->ref_cairo_surface = gdk_quartz_ref_cairo_surface; - drawable_class->create_cairo_surface = gdk_quartz_create_cairo_surface; -} - -GType -gdk_drawable_impl_quartz_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkDrawableImplQuartzClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_drawable_impl_quartz_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkDrawableImplQuartz), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL, - }; - - object_type = g_type_register_static (GDK_TYPE_DRAWABLE, - "GdkDrawableImplQuartz", - &object_info, 0); - } - - return object_type; -} - -CGContextRef -gdk_quartz_drawable_get_context (GdkDrawable *drawable, - gboolean antialias) -{ - if (!GDK_DRAWABLE_IMPL_QUARTZ_GET_CLASS (drawable)->get_context) - { - g_warning ("%s doesn't implement GdkDrawableImplQuartzClass::get_context()", - G_OBJECT_TYPE_NAME (drawable)); - return NULL; - } - - return GDK_DRAWABLE_IMPL_QUARTZ_GET_CLASS (drawable)->get_context (drawable, antialias); -} - -void -gdk_quartz_drawable_release_context (GdkDrawable *drawable, - CGContextRef cg_context) -{ - if (!GDK_DRAWABLE_IMPL_QUARTZ_GET_CLASS (drawable)->release_context) - { - g_warning ("%s doesn't implement GdkDrawableImplQuartzClass::release_context()", - G_OBJECT_TYPE_NAME (drawable)); - return; - } - - GDK_DRAWABLE_IMPL_QUARTZ_GET_CLASS (drawable)->release_context (drawable, cg_context); -} - -/* Help preventing "beam sync penalty" where CG makes all graphics code - * block until the next vsync if we try to flush (including call display on - * a view) too often. We do this by limiting the manual flushing done - * outside of expose calls to less than some frequency when measured over - * the last 4 flushes. This is a bit arbitray, but seems to make it possible - * for some quick manual flushes (such as gtkruler or gimp's marching ants) - * without hitting the max flush frequency. - * - * If drawable NULL, no flushing is done, only registering that a flush was - * done externally. - */ -void -_gdk_quartz_drawable_flush (GdkDrawable *drawable) -{ - static struct timeval prev_tv; - static gint intervals[4]; - static gint index; - struct timeval tv; - gint ms; - - gettimeofday (&tv, NULL); - ms = (tv.tv_sec - prev_tv.tv_sec) * 1000 + (tv.tv_usec - prev_tv.tv_usec) / 1000; - intervals[index++ % 4] = ms; - - if (drawable) - { - ms = intervals[0] + intervals[1] + intervals[2] + intervals[3]; - - /* ~25Hz on average. */ - if (ms > 4*40) - { - if (GDK_IS_WINDOW_IMPL_QUARTZ (drawable)) - { - GdkWindowImplQuartz *window_impl = GDK_WINDOW_IMPL_QUARTZ (drawable); - - [window_impl->toplevel flushWindow]; - } - - prev_tv = tv; - } - } - else - prev_tv = tv; -} - -void -_gdk_quartz_drawable_finish (GdkDrawable *drawable) -{ - GdkDrawableImplQuartz *impl = GDK_DRAWABLE_IMPL_QUARTZ (drawable); - - if (impl->cairo_surface) - { - cairo_surface_finish (impl->cairo_surface); - cairo_surface_set_user_data (impl->cairo_surface, &gdk_quartz_cairo_key, - NULL, NULL); - impl->cairo_surface = NULL; - } -} diff --git a/gdk/quartz/gdkdrawable-quartz.h b/gdk/quartz/gdkdrawable-quartz.h deleted file mode 100644 index 24d17d83ea..0000000000 --- a/gdk/quartz/gdkdrawable-quartz.h +++ /dev/null @@ -1,71 +0,0 @@ -/* gdkdrawable-quartz.h - * - * Copyright (C) 2005 Imendio AB - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DRAWABLE_QUARTZ_H__ -#define __GDK_DRAWABLE_QUARTZ_H__ - -#include - -#include - -G_BEGIN_DECLS - -/* Drawable implementation for Quartz - */ - -typedef struct _GdkDrawableImplQuartz GdkDrawableImplQuartz; -typedef struct _GdkDrawableImplQuartzClass GdkDrawableImplQuartzClass; - -#define GDK_TYPE_DRAWABLE_IMPL_QUARTZ (gdk_drawable_impl_quartz_get_type ()) -#define GDK_DRAWABLE_IMPL_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE_IMPL_QUARTZ, GdkDrawableImplQuartz)) -#define GDK_DRAWABLE_IMPL_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWABLE_IMPL_QUARTZ, GdkDrawableImplQuartzClass)) -#define GDK_IS_DRAWABLE_IMPL_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAWABLE_IMPL_QUARTZ)) -#define GDK_IS_DRAWABLE_IMPL_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAWABLE_IMPL_QUARTZ)) -#define GDK_DRAWABLE_IMPL_QUARTZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAWABLE_IMPL_QUARTZ, GdkDrawableImplQuartzClass)) - -struct _GdkDrawableImplQuartz -{ - GdkDrawable parent_instance; - - GdkDrawable *wrapper; - - cairo_surface_t *cairo_surface; -}; - -struct _GdkDrawableImplQuartzClass -{ - GdkDrawableClass parent_class; - - /* vtable */ - CGContextRef (*get_context) (GdkDrawable* drawable, - gboolean antialias); - void (*release_context) (GdkDrawable *drawable, - CGContextRef cg_context); -}; - -GType gdk_drawable_impl_quartz_get_type (void); -CGContextRef gdk_quartz_drawable_get_context (GdkDrawable *drawable, - gboolean antialias); -void gdk_quartz_drawable_release_context (GdkDrawable *drawable, - CGContextRef context); - -G_END_DECLS - -#endif /* __GDK_DRAWABLE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 44f10cbbf4..9cbfdda8e6 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -374,7 +374,6 @@ generate_motion_event (GdkWindow *window) NSPoint screen_point; NSWindow *nswindow; GdkQuartzView *view; - GdkWindowObject *private; GdkEvent *event; gint x, y, x_root, y_root; GdkDisplay *display; @@ -383,8 +382,7 @@ generate_motion_event (GdkWindow *window) event->any.window = NULL; event->any.send_event = TRUE; - private = (GdkWindowObject *)window; - nswindow = ((GdkWindowImplQuartz *)private->impl)->toplevel; + nswindow = ((GdkWindowImplQuartz *)window->impl)->toplevel; view = (GdkQuartzView *)[nswindow contentView]; display = gdk_window_get_display (window); @@ -396,7 +394,7 @@ generate_motion_event (GdkWindow *window) point = [nswindow convertScreenToBase:screen_point]; x = point.x; - y = private->height - point.y; + y = window->height - point.y; event->any.type = GDK_MOTION_NOTIFY; event->motion.window = window; @@ -464,7 +462,6 @@ _gdk_quartz_events_send_enter_notify_event (GdkWindow *window) NSPoint point; NSPoint screen_point; NSWindow *nswindow; - GdkWindowObject *private; GdkEvent *event; gint x, y, x_root, y_root; @@ -472,8 +469,7 @@ _gdk_quartz_events_send_enter_notify_event (GdkWindow *window) event->any.window = NULL; event->any.send_event = FALSE; - private = (GdkWindowObject *)window; - nswindow = ((GdkWindowImplQuartz *)private->impl)->toplevel; + nswindow = ((GdkWindowImplQuartz *)window->impl)->toplevel; screen_point = [NSEvent mouseLocation]; @@ -482,7 +478,7 @@ _gdk_quartz_events_send_enter_notify_event (GdkWindow *window) point = [nswindow convertScreenToBase:screen_point]; x = point.x; - y = private->height - point.y; + y = window->height - point.y; event->crossing.window = window; event->crossing.subwindow = NULL; @@ -503,13 +499,12 @@ _gdk_quartz_events_send_enter_notify_event (GdkWindow *window) void _gdk_quartz_events_send_map_event (GdkWindow *window) { - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (!impl->toplevel) return; - if (private->event_mask & GDK_STRUCTURE_MASK) + if (window->event_mask & GDK_STRUCTURE_MASK) { GdkEvent event; @@ -533,17 +528,15 @@ find_toplevel_under_pointer (GdkDisplay *display, toplevel = info->toplevel_under_pointer; if (toplevel && WINDOW_IS_TOPLEVEL (toplevel)) { - GdkWindowObject *private; NSWindow *nswindow; NSPoint point; - private = (GdkWindowObject *)toplevel; - nswindow = ((GdkWindowImplQuartz *)private->impl)->toplevel; + nswindow = ((GdkWindowImplQuartz *)toplevel->impl)->toplevel; point = [nswindow convertScreenToBase:screen_point]; *x = point.x; - *y = private->height - point.y; + *y = toplevel->height - point.y; } return toplevel; @@ -599,13 +592,11 @@ find_toplevel_for_mouse_event (NSEvent *nsevent, GdkQuartzView *view; GdkDisplay *display; GdkDeviceGrabInfo *grab; - GdkWindowObject *private; view = (GdkQuartzView *)[[nsevent window] contentView]; toplevel = [view gdkWindow]; display = gdk_window_get_display (toplevel); - private = GDK_WINDOW_OBJECT (toplevel); event_type = [nsevent type]; point = [nsevent locationInWindow]; @@ -657,18 +648,16 @@ find_toplevel_for_mouse_event (NSEvent *nsevent, { /* Finally check the grab window. */ GdkWindow *grab_toplevel; - GdkWindowObject *grab_private; NSWindow *grab_nswindow; grab_toplevel = gdk_window_get_effective_toplevel (grab->window); - grab_private = (GdkWindowObject *)grab_toplevel; - grab_nswindow = ((GdkWindowImplQuartz *)grab_private->impl)->toplevel; + grab_nswindow = ((GdkWindowImplQuartz *)grab_toplevel->impl)->toplevel; point = [grab_nswindow convertScreenToBase:screen_point]; /* Note: x_root and y_root are already right. */ *x = point.x; - *y = grab_private->height - point.y; + *y = grab_toplevel->height - point.y; return grab_toplevel; } @@ -699,13 +688,11 @@ find_toplevel_for_mouse_event (NSEvent *nsevent, if (toplevel_under_pointer && WINDOW_IS_TOPLEVEL (toplevel_under_pointer)) { - GdkWindowObject *toplevel_private; GdkWindowImplQuartz *toplevel_impl; toplevel = toplevel_under_pointer; - toplevel_private = (GdkWindowObject *)toplevel; - toplevel_impl = (GdkWindowImplQuartz *)toplevel_private->impl; + toplevel_impl = (GdkWindowImplQuartz *)toplevel->impl; if ([toplevel_impl->toplevel showsResizeIndicator]) { @@ -756,17 +743,15 @@ find_window_for_ns_event (NSEvent *nsevent, NSPoint screen_point; NSEventType event_type; GdkWindow *toplevel; - GdkWindowObject *private; view = (GdkQuartzView *)[[nsevent window] contentView]; toplevel = [view gdkWindow]; - private = GDK_WINDOW_OBJECT (toplevel); point = [nsevent locationInWindow]; screen_point = [[nsevent window] convertBaseToScreen:point]; *x = point.x; - *y = private->height - point.y; + *y = toplevel->height - point.y; _gdk_quartz_window_nspoint_to_gdk_xy (screen_point, x_root, y_root); @@ -934,11 +919,8 @@ fill_scroll_event (GdkWindow *window, gint y_root, GdkScrollDirection direction) { - GdkWindowObject *private; NSPoint point; - private = GDK_WINDOW_OBJECT (window); - point = [nsevent locationInWindow]; event->any.type = GDK_SCROLL; @@ -1083,17 +1065,13 @@ synthesize_crossing_event (GdkWindow *window, gint x_root, gint y_root) { - GdkWindowObject *private; - - private = GDK_WINDOW_OBJECT (window); - switch ([nsevent type]) { case NSMouseEntered: /* Enter events are considered always to be from the root window as we * can't know for sure from what window we enter. */ - if (!(private->event_mask & GDK_ENTER_NOTIFY_MASK)) + if (!(window->event_mask & GDK_ENTER_NOTIFY_MASK)) return FALSE; fill_crossing_event (window, event, nsevent, @@ -1109,7 +1087,7 @@ synthesize_crossing_event (GdkWindow *window, * since there is no way to reliably get information about what new * window is entered when exiting one. */ - if (!(private->event_mask & GDK_LEAVE_NOTIFY_MASK)) + if (!(window->event_mask & GDK_LEAVE_NOTIFY_MASK)) return FALSE; fill_crossing_event (window, event, nsevent, @@ -1220,14 +1198,13 @@ gdk_event_translate (GdkEvent *event, /* Apply any window filters. */ if (GDK_IS_WINDOW (window)) { - GdkWindowObject *filter_private = (GdkWindowObject *) window; GdkFilterReturn result; - if (filter_private->filters) + if (window->filters) { g_object_ref (window); - result = gdk_event_apply_filters (nsevent, event, &filter_private->filters); + result = gdk_event_apply_filters (nsevent, event, &window->filters); g_object_unref (window); @@ -1248,8 +1225,7 @@ gdk_event_translate (GdkEvent *event, event_type == NSOtherMouseDown || event_type == NSLeftMouseDown)) { - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (![NSApp isActive]) { diff --git a/gdk/quartz/gdkgeometry-quartz.c b/gdk/quartz/gdkgeometry-quartz.c index bd602e33df..8434151405 100644 --- a/gdk/quartz/gdkgeometry-quartz.c +++ b/gdk/quartz/gdkgeometry-quartz.c @@ -29,8 +29,7 @@ _gdk_quartz_window_translate (GdkWindow *window, gint dy) { cairo_region_t *invalidate, *scrolled; - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = (GdkWindowImplQuartz *)private->impl; + GdkWindowImplQuartz *impl = (GdkWindowImplQuartz *)window->impl; GdkRectangle extents; cairo_region_get_extents (area, &extents); diff --git a/gdk/quartz/gdkinput.c b/gdk/quartz/gdkinput.c index 31d1bd2c18..3677d8a4c3 100644 --- a/gdk/quartz/gdkinput.c +++ b/gdk/quartz/gdkinput.c @@ -65,7 +65,7 @@ _gdk_input_select_device_events (GdkWindow *impl_window, GdkDevice *device) { guint event_mask; - GdkWindowObject *w; + GdkWindow *w; GdkInputWindow *iw; GdkInputMode mode; gboolean has_cursor; @@ -73,7 +73,7 @@ _gdk_input_select_device_events (GdkWindow *impl_window, GList *l; event_mask = 0; - iw = ((GdkWindowObject *)impl_window)->input_window; + iw = impl_window->input_window; g_object_get (device, "type", &type, @@ -140,16 +140,14 @@ gdk_input_set_extension_events (GdkWindow *window, gint mask, GdkExtensionMode mode) { - GdkWindowObject *window_private; - GdkWindowObject *impl_window; GList *tmp_list; GdkInputWindow *iw; + GdkWindow *impl_window; g_return_if_fail (window != NULL); g_return_if_fail (GDK_WINDOW_IS_QUARTZ (window)); - window_private = (GdkWindowObject*) window; - impl_window = (GdkWindowObject *)_gdk_window_get_impl_window (window); + impl_window = (GdkWindow *)_gdk_window_get_impl_window (window); if (mode == GDK_EXTENSION_EVENTS_NONE) mask = 0; @@ -166,7 +164,7 @@ gdk_input_set_extension_events (GdkWindow *window, iw->grabbed = FALSE; _gdk_input_windows = g_list_append (_gdk_input_windows, iw); - window_private->extension_events = mask; + window->extension_events = mask; /* Add enter window events to the event mask */ /* FIXME, this is not needed for XINPUT_NONE */ @@ -183,7 +181,7 @@ gdk_input_set_extension_events (GdkWindow *window, g_free (iw); } - window_private->extension_events = 0; + window->extension_events = 0; } for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index ca9eae30b1..9a70054746 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -62,7 +62,7 @@ extern GdkWindow *_gdk_root; extern GdkDragContext *_gdk_quartz_drag_source_context; -#define GDK_WINDOW_IS_QUARTZ(win) (GDK_IS_WINDOW_IMPL_QUARTZ (((GdkWindowObject *)win)->impl)) +#define GDK_WINDOW_IS_QUARTZ(win) (GDK_IS_WINDOW_IMPL_QUARTZ (((GdkWindow *)win)->impl)) /* Initialization */ void _gdk_windowing_update_window_sizes (GdkScreen *screen); @@ -130,10 +130,6 @@ void _gdk_quartz_event_loop_release_event (NSEvent *event); GdkEventType _gdk_quartz_keys_event_type (NSEvent *event); gboolean _gdk_quartz_keys_is_modifier (guint keycode); -/* Drawable */ -void _gdk_quartz_drawable_finish (GdkDrawable *drawable); -void _gdk_quartz_drawable_flush (GdkDrawable *drawable); - /* Geometry */ void _gdk_quartz_window_scroll (GdkWindow *window, gint dx, diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index a27163ca4b..c912e26b4d 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -29,6 +29,9 @@ #include "gdkscreen-quartz.h" #include "gdkinputprivate.h" +#include +#include + static gpointer parent_class; static gpointer root_window_parent_class; @@ -37,6 +40,8 @@ static gboolean in_process_all_updates = FALSE; static GSList *main_window_stack; +void _gdk_quartz_window_flush (GdkWindowImplQuartz *window_impl); + #define FULLSCREEN_DATA "fullscreen-data" typedef struct @@ -57,39 +62,31 @@ static FullscreenSavedGeometry *get_fullscreen_geometry (GdkWindow *window); GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN && \ GDK_WINDOW_TYPE (window) != GDK_WINDOW_OFFSCREEN) -static void gdk_window_impl_iface_init (GdkWindowImplIface *iface); - NSView * gdk_quartz_window_get_nsview (GdkWindow *window) { - GdkWindowObject *private = (GdkWindowObject *)window; - if (GDK_WINDOW_DESTROYED (window)) return NULL; - return ((GdkWindowImplQuartz *)private->impl)->view; + return ((GdkWindowImplQuartz *)window->impl)->view; } NSWindow * gdk_quartz_window_get_nswindow (GdkWindow *window) { - GdkWindowObject *private = (GdkWindowObject *)window; - if (GDK_WINDOW_DESTROYED (window)) return NULL; - return ((GdkWindowImplQuartz *)private->impl)->toplevel; + return ((GdkWindowImplQuartz *)window->impl)->toplevel; } static CGContextRef -gdk_window_impl_quartz_get_context (GdkDrawable *drawable, - gboolean antialias) +gdk_window_impl_quartz_get_context (GdkWindowImplQuartz *window_impl, + gboolean antialias) { - GdkDrawableImplQuartz *drawable_impl = GDK_DRAWABLE_IMPL_QUARTZ (drawable); - GdkWindowImplQuartz *window_impl = GDK_WINDOW_IMPL_QUARTZ (drawable); CGContextRef cg_context; - if (GDK_WINDOW_DESTROYED (drawable_impl->wrapper)) + if (GDK_WINDOW_DESTROYED (window_impl->wrapper)) return NULL; /* Lock focus when not called as part of a drawRect call. This @@ -143,18 +140,16 @@ gdk_window_impl_quartz_get_context (GdkDrawable *drawable, } static void -gdk_window_impl_quartz_release_context (GdkDrawable *drawable, - CGContextRef cg_context) +gdk_window_impl_quartz_release_context (GdkWindowImplQuartz *window_impl, + CGContextRef cg_context) { - GdkWindowImplQuartz *window_impl = GDK_WINDOW_IMPL_QUARTZ (drawable); - CGContextRestoreGState (cg_context); CGContextSetAllowsAntialiasing (cg_context, TRUE); - /* See comment in gdk_quartz_drawable_get_context(). */ + /* See comment in gdk_quartz_window_get_context(). */ if (window_impl->in_paint_rect_count == 0) { - _gdk_quartz_drawable_flush (drawable); + _gdk_quartz_window_flush (window_impl); [window_impl->view unlockFocus]; } } @@ -210,7 +205,7 @@ gdk_window_impl_quartz_finalize (GObject *object) { GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (object); - check_grab_destroy (GDK_DRAWABLE_IMPL_QUARTZ (object)->wrapper); + check_grab_destroy (GDK_WINDOW_IMPL_QUARTZ (object)->wrapper); if (impl->paint_clip_region) cairo_region_destroy (impl->paint_clip_region); @@ -221,18 +216,114 @@ gdk_window_impl_quartz_finalize (GObject *object) G_OBJECT_CLASS (parent_class)->finalize (object); } -static void -gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass) +/* Help preventing "beam sync penalty" where CG makes all graphics code + * block until the next vsync if we try to flush (including call display on + * a view) too often. We do this by limiting the manual flushing done + * outside of expose calls to less than some frequency when measured over + * the last 4 flushes. This is a bit arbitray, but seems to make it possible + * for some quick manual flushes (such as gtkruler or gimp's marching ants) + * without hitting the max flush frequency. + * + * If drawable NULL, no flushing is done, only registering that a flush was + * done externally. + */ +void +_gdk_quartz_window_flush (GdkWindowImplQuartz *window_impl) { - GObjectClass *object_class = G_OBJECT_CLASS (klass); - GdkDrawableImplQuartzClass *drawable_quartz_class = GDK_DRAWABLE_IMPL_QUARTZ_CLASS (klass); + static struct timeval prev_tv; + static gint intervals[4]; + static gint index; + struct timeval tv; + gint ms; - parent_class = g_type_class_peek_parent (klass); + gettimeofday (&tv, NULL); + ms = (tv.tv_sec - prev_tv.tv_sec) * 1000 + (tv.tv_usec - prev_tv.tv_usec) / 1000; + intervals[index++ % 4] = ms; - object_class->finalize = gdk_window_impl_quartz_finalize; + if (window_impl) + { + ms = intervals[0] + intervals[1] + intervals[2] + intervals[3]; - drawable_quartz_class->get_context = gdk_window_impl_quartz_get_context; - drawable_quartz_class->release_context = gdk_window_impl_quartz_release_context; + /* ~25Hz on average. */ + if (ms > 4*40) + { + if (window_impl) + [window_impl->toplevel flushWindow]; + + prev_tv = tv; + } + } + else + prev_tv = tv; +} + +static cairo_user_data_key_t gdk_quartz_cairo_key; + +typedef struct { + GdkWindowImplQuartz *window_impl; + CGContextRef cg_context; +} GdkQuartzCairoSurfaceData; + +static void +gdk_quartz_cairo_surface_destroy (void *data) +{ + GdkQuartzCairoSurfaceData *surface_data = data; + + surface_data->window_impl->cairo_surface = NULL; + + gdk_quartz_window_release_context (surface_data->window_impl, + surface_data->cg_context); + + g_free (surface_data); +} + +static cairo_surface_t * +gdk_quartz_create_cairo_surface (GdkWindowImplQuartz *impl, + int width, + int height) +{ + CGContextRef cg_context; + GdkQuartzCairoSurfaceData *surface_data; + cairo_surface_t *surface; + + cg_context = gdk_quartz_window_get_context (impl, TRUE); + + if (!cg_context) + return NULL; + + surface_data = g_new (GdkQuartzCairoSurfaceData, 1); + surface_data->window_impl = impl; + surface_data->cg_context = cg_context; + + surface = cairo_quartz_surface_create_for_cg_context (cg_context, + width, height); + + cairo_surface_set_user_data (surface, &gdk_quartz_cairo_key, + surface_data, + gdk_quartz_cairo_surface_destroy); + + return surface; +} + +static cairo_surface_t * +gdk_quartz_ref_cairo_surface (GdkWindow *window) +{ + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); + + if (GDK_WINDOW_DESTROYED (window)) + return NULL; + + if (!impl->cairo_surface) + { + impl->cairo_surface = + gdk_quartz_create_cairo_surface (impl, + gdk_window_get_width (impl->wrapper), + gdk_window_get_height (impl->wrapper)); + } + else + cairo_surface_reference (impl->cairo_surface); + + return impl->cairo_surface; } static void @@ -247,16 +338,15 @@ gdk_window_impl_quartz_begin_paint_region (GdkPaintable *paintable, const cairo_region_t *region) { GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (paintable); - GdkWindowObject *private = (GdkWindowObject*) window; cairo_region_t *clipped_and_offset_region; cairo_t *cr; clipped_and_offset_region = cairo_region_copy (region); cairo_region_intersect (clipped_and_offset_region, - private->clip_region_with_children); + window->clip_region_with_children); cairo_region_translate (clipped_and_offset_region, - private->abs_x, private->abs_y); + window->abs_x, window->abs_y); if (impl->begin_paint_count == 0) impl->paint_clip_region = cairo_region_reference (clipped_and_offset_region); @@ -270,19 +360,19 @@ gdk_window_impl_quartz_begin_paint_region (GdkPaintable *paintable, cr = gdk_cairo_create (window); - cairo_translate (cr, -private->abs_x, -private->abs_y); + cairo_translate (cr, -window->abs_x, -window->abs_y); gdk_cairo_region (cr, clipped_and_offset_region); cairo_clip (cr); - while (private->background == NULL && private->parent) + while (window->background == NULL && window->parent) { - cairo_translate (cr, -private->x, private->y); - private = private->parent; + cairo_translate (cr, -window->x, window->y); + window = window->parent; } - if (private->background) - cairo_set_source (cr, private->background); + if (window->background) + cairo_set_source (cr, window->background); else cairo_set_source_rgba (cr, 0, 0, 0, 0); @@ -313,12 +403,10 @@ void _gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, cairo_region_t *region) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; int i, n_rects; - private = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (!impl->needs_display_region) impl->needs_display_region = cairo_region_create (); @@ -349,12 +437,10 @@ _gdk_windowing_window_process_updates_recurse (GdkWindow *window, toplevel = gdk_window_get_effective_toplevel (window); if (toplevel && WINDOW_IS_TOPLEVEL (toplevel)) { - GdkWindowObject *toplevel_private; GdkWindowImplQuartz *toplevel_impl; NSWindow *nswindow; - toplevel_private = (GdkWindowObject *)toplevel; - toplevel_impl = (GdkWindowImplQuartz *)toplevel_private->impl; + toplevel_impl = (GdkWindowImplQuartz *)toplevel->impl; nswindow = toplevel_impl->toplevel; /* In theory, we could skip the flush disabling, since we only @@ -402,7 +488,7 @@ _gdk_windowing_after_process_all_updates (void) [[nswindow contentView] displayIfNeeded]; - _gdk_quartz_drawable_flush (NULL); + _gdk_quartz_window_flush (NULL); [nswindow enableFlushWindow]; [nswindow flushWindow]; @@ -425,54 +511,6 @@ gdk_window_impl_quartz_paintable_init (GdkPaintableIface *iface) iface->end_paint = gdk_window_impl_quartz_end_paint; } -GType -_gdk_window_impl_quartz_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkWindowImplQuartzClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_window_impl_quartz_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkWindowImplQuartz), - 0, /* n_preallocs */ - (GInstanceInitFunc) gdk_window_impl_quartz_init, - }; - - const GInterfaceInfo paintable_info = - { - (GInterfaceInitFunc) gdk_window_impl_quartz_paintable_init, - NULL, - NULL - }; - - const GInterfaceInfo window_impl_info = - { - (GInterfaceInitFunc) gdk_window_impl_iface_init, - NULL, - NULL - }; - - object_type = g_type_register_static (GDK_TYPE_DRAWABLE_IMPL_QUARTZ, - "GdkWindowImplQuartz", - &object_info, 0); - g_type_add_interface_static (object_type, - GDK_TYPE_PAINTABLE, - &paintable_info); - g_type_add_interface_static (object_type, - GDK_TYPE_WINDOW_IMPL, - &window_impl_info); - } - - return object_type; -} - static const gchar * get_default_title (void) { @@ -493,15 +531,12 @@ get_ancestor_coordinates_from_child (GdkWindow *child_window, gint *ancestor_x, gint *ancestor_y) { - GdkWindowObject *child_private = GDK_WINDOW_OBJECT (child_window); - GdkWindowObject *ancestor_private = GDK_WINDOW_OBJECT (ancestor_window); - - while (child_private != ancestor_private) + while (child_window != ancestor_window) { - child_x += child_private->x; - child_y += child_private->y; + child_x += child_window->x; + child_y += child_window->y; - child_private = child_private->parent; + child_window = child_window->parent; } *ancestor_x = child_x; @@ -511,7 +546,6 @@ get_ancestor_coordinates_from_child (GdkWindow *child_window, void _gdk_quartz_window_debug_highlight (GdkWindow *window, gint number) { - GdkWindowObject *private = GDK_WINDOW_OBJECT (window); gint x, y; gint gx, gy; GdkWindow *toplevel; @@ -542,10 +576,10 @@ _gdk_quartz_window_debug_highlight (GdkWindow *window, gint number) x += tx; y += ty; - _gdk_quartz_window_gdk_xy_to_xy (x, y + private->height, + _gdk_quartz_window_gdk_xy_to_xy (x, y + window->height, &gx, &gy); - rect = NSMakeRect (gx, gy, private->width, private->height); + rect = NSMakeRect (gx, gy, window->width, window->height); if (debug_window[number] && NSEqualRects (rect, old_rect[number])) return; @@ -659,22 +693,22 @@ find_child_window_helper (GdkWindow *window, GdkWindowImplQuartz *impl; GList *l; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (window == _gdk_root) update_toplevel_order (); for (l = impl->sorted_children; l; l = l->next) { - GdkWindowObject *child_private = l->data; - GdkWindowImplQuartz *child_impl = GDK_WINDOW_IMPL_QUARTZ (child_private->impl); + GdkWindow *child = l->data; + GdkWindowImplQuartz *child_impl = GDK_WINDOW_IMPL_QUARTZ (child->impl); int temp_x, temp_y; - if (!GDK_WINDOW_IS_MAPPED (child_private)) + if (!GDK_WINDOW_IS_MAPPED (child)) continue; - temp_x = x_offset + child_private->x; - temp_y = y_offset + child_private->y; + temp_x = x_offset + child->x; + temp_y = y_offset + child->y; /* Special-case the root window. We have to include the title * bar in the checks, otherwise the window below the title bar @@ -698,7 +732,7 @@ find_child_window_helper (GdkWindow *window, if (titlebar_height > 0 && x >= temp_x && y >= temp_y - titlebar_height && - x < temp_x + child_private->width && y < temp_y) + x < temp_x + child->width && y < temp_y) { /* The root means "unknown" i.e. a window not managed by * GDK. @@ -709,7 +743,7 @@ find_child_window_helper (GdkWindow *window, if ((!get_toplevel || (get_toplevel && window == _gdk_root)) && x >= temp_x && y >= temp_y && - x < temp_x + child_private->width && y < temp_y + child_private->height) + x < temp_x + child->width && y < temp_y + child->height) { /* Look for child windows. */ return find_child_window_helper (l->data, @@ -732,9 +766,7 @@ _gdk_quartz_window_find_child (GdkWindow *window, gint y, gboolean get_toplevel) { - GdkWindowObject *private = GDK_WINDOW_OBJECT (window); - - if (x >= 0 && y >= 0 && x < private->width && y < private->height) + if (x >= 0 && y >= 0 && x < window->width && y < window->height) return find_child_window_helper (window, x, y, 0, 0, get_toplevel); return NULL; @@ -746,7 +778,7 @@ _gdk_quartz_window_did_become_main (GdkWindow *window) { main_window_stack = g_slist_remove (main_window_stack, window); - if (GDK_WINDOW_OBJECT (window)->window_type != GDK_WINDOW_TEMP) + if (window->window_type != GDK_WINDOW_TEMP) main_window_stack = g_slist_prepend (main_window_stack, window); clear_toplevel_order (); @@ -774,8 +806,7 @@ _gdk_quartz_window_did_resign_main (GdkWindow *window) GDK_WINDOW_IS_MAPPED (new_window) && WINDOW_IS_TOPLEVEL (new_window)) { - GdkWindowObject *private = (GdkWindowObject *) new_window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (new_window->impl); [impl->toplevel makeKeyAndOrderFront:impl->toplevel]; } @@ -819,35 +850,30 @@ _gdk_window_impl_new (GdkWindow *window, GdkWindowAttr *attributes, gint attributes_mask) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; - GdkDrawableImplQuartz *draw_impl; GdkWindowImplQuartz *parent_impl; GDK_QUARTZ_ALLOC_POOL; - private = (GdkWindowObject *)window; - impl = g_object_new (GDK_TYPE_WINDOW_IMPL_QUARTZ, NULL); - private->impl = (GdkDrawable *)impl; - draw_impl = GDK_DRAWABLE_IMPL_QUARTZ (impl); - draw_impl->wrapper = GDK_DRAWABLE (window); + window->impl = GDK_WINDOW_IMPL (impl); + impl->wrapper = window; - parent_impl = GDK_WINDOW_IMPL_QUARTZ (private->parent->impl); + parent_impl = GDK_WINDOW_IMPL_QUARTZ (window->parent->impl); - switch (private->window_type) + switch (window->window_type) { case GDK_WINDOW_TOPLEVEL: case GDK_WINDOW_TEMP: - if (GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT) + if (GDK_WINDOW_TYPE (window->parent) != GDK_WINDOW_ROOT) { /* The common code warns for this case */ - parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (_gdk_root)->impl); + parent_impl = GDK_WINDOW_IMPL_QUARTZ (_gdk_root->impl); } } /* Maintain the z-ordered list of children. */ - if (private->parent != (GdkWindowObject *)_gdk_root) + if (window->parent != _gdk_root) parent_impl->sorted_children = g_list_prepend (parent_impl->sorted_children, window); else clear_toplevel_order (); @@ -875,16 +901,16 @@ _gdk_window_impl_new (GdkWindow *window, * to find the screen the window will be on and correct the * content_rect coordinates to be relative to that screen. */ - _gdk_quartz_window_gdk_xy_to_xy (private->x, private->y, &nx, &ny); + _gdk_quartz_window_gdk_xy_to_xy (window->x, window->y, &nx, &ny); screen = get_nsscreen_for_point (nx, ny); screen_rect = [screen frame]; nx -= screen_rect.origin.x; ny -= screen_rect.origin.y; - content_rect = NSMakeRect (nx, ny - private->height, - private->width, - private->height); + content_rect = NSMakeRect (nx, ny - window->height, + window->width, + window->height); if (attributes->window_type == GDK_WINDOW_TEMP || attributes->type_hint == GDK_WINDOW_TYPE_HINT_SPLASHSCREEN) @@ -930,14 +956,14 @@ _gdk_window_impl_new (GdkWindow *window, case GDK_WINDOW_CHILD: { - GdkWindowImplQuartz *parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (private->parent)->impl); + GdkWindowImplQuartz *parent_impl = GDK_WINDOW_IMPL_QUARTZ (window->parent->impl); - if (!private->input_only) + if (!window->input_only) { - NSRect frame_rect = NSMakeRect (private->x + private->parent->abs_x, - private->y + private->parent->abs_y, - private->width, - private->height); + NSRect frame_rect = NSMakeRect (window->x + window->parent->abs_x, + window->y + window->parent->abs_y, + window->width, + window->height); impl->view = [[GdkQuartzView alloc] initWithFrame:frame_rect]; @@ -966,8 +992,7 @@ _gdk_quartz_window_update_position (GdkWindow *window) { NSRect frame_rect; NSRect content_rect; - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); GDK_QUARTZ_ALLOC_POOL; @@ -976,7 +1001,7 @@ _gdk_quartz_window_update_position (GdkWindow *window) _gdk_quartz_window_xy_to_gdk_xy (content_rect.origin.x, content_rect.origin.y + content_rect.size.height, - &private->x, &private->y); + &window->x, &window->y); GDK_QUARTZ_RELEASE_POOL; @@ -986,7 +1011,6 @@ void _gdk_windowing_update_window_sizes (GdkScreen *screen) { GList *windows, *list; - GdkWindowObject *private = (GdkWindowObject *)_gdk_root; /* The size of the root window is so that it can contain all * monitors attached to this machine. The monitors are laid out @@ -995,12 +1019,12 @@ _gdk_windowing_update_window_sizes (GdkScreen *screen) * * This data is updated when the monitor configuration is changed. */ - private->x = 0; - private->y = 0; - private->abs_x = 0; - private->abs_y = 0; - private->width = gdk_screen_get_width (screen); - private->height = gdk_screen_get_height (screen); + _gdk_root->x = 0; + _gdk_root->y = 0; + _gdk_root->abs_x = 0; + _gdk_root->abs_y = 0; + _gdk_root->width = gdk_screen_get_width (screen); + _gdk_root->height = gdk_screen_get_height (screen); windows = gdk_screen_get_toplevel_windows (screen); @@ -1013,31 +1037,26 @@ _gdk_windowing_update_window_sizes (GdkScreen *screen) void _gdk_windowing_window_init (void) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; - GdkDrawableImplQuartz *drawable_impl; g_assert (_gdk_root == NULL); _gdk_root = g_object_new (GDK_TYPE_WINDOW, NULL); - private = (GdkWindowObject *)_gdk_root; - private->impl = g_object_new (_gdk_root_window_impl_quartz_get_type (), NULL); - private->impl_window = private; - private->visual = gdk_screen_get_system_visual (_gdk_screen); + _gdk_root->impl = g_object_new (_gdk_root_window_impl_quartz_get_type (), NULL); + _gdk_root->impl_window = _gdk_root; + _gdk_root->visual = gdk_screen_get_system_visual (_gdk_screen); - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (_gdk_root)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (_gdk_root->impl); _gdk_windowing_update_window_sizes (_gdk_screen); - private->state = 0; /* We don't want GDK_WINDOW_STATE_WITHDRAWN here */ - private->window_type = GDK_WINDOW_ROOT; - private->depth = 24; - private->viewable = TRUE; + _gdk_root->state = 0; /* We don't want GDK_WINDOW_STATE_WITHDRAWN here */ + _gdk_root->window_type = GDK_WINDOW_ROOT; + _gdk_root->depth = 24; + _gdk_root->viewable = TRUE; - drawable_impl = GDK_DRAWABLE_IMPL_QUARTZ (private->impl); - - drawable_impl->wrapper = GDK_DRAWABLE (private); + impl->wrapper = _gdk_root; } static void @@ -1045,19 +1064,17 @@ _gdk_quartz_window_destroy (GdkWindow *window, gboolean recursing, gboolean foreign_destroy) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; - GdkWindowObject *parent; + GdkWindow *parent; - private = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); main_window_stack = g_slist_remove (main_window_stack, window); g_list_free (impl->sorted_children); impl->sorted_children = NULL; - parent = private->parent; + parent = window->parent; if (parent) { GdkWindowImplQuartz *parent_impl = GDK_WINDOW_IMPL_QUARTZ (parent->impl); @@ -1065,7 +1082,13 @@ _gdk_quartz_window_destroy (GdkWindow *window, parent_impl->sorted_children = g_list_remove (parent_impl->sorted_children, window); } - _gdk_quartz_drawable_finish (GDK_DRAWABLE (impl)); + if (impl->cairo_surface) + { + cairo_surface_finish (impl->cairo_surface); + cairo_surface_set_user_data (impl->cairo_surface, &gdk_quartz_cairo_key, + NULL, NULL); + impl->cairo_surface = NULL; + } if (!recursing && !foreign_destroy) { @@ -1104,14 +1127,13 @@ _gdk_windowing_window_destroy_foreign (GdkWindow *window) static void gdk_window_quartz_show (GdkWindow *window, gboolean already_mapped) { - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); gboolean focus_on_map; GDK_QUARTZ_ALLOC_POOL; if (!GDK_WINDOW_IS_MAPPED (window)) - focus_on_map = private->focus_on_map; + focus_on_map = window->focus_on_map; else focus_on_map = TRUE; @@ -1119,8 +1141,8 @@ gdk_window_quartz_show (GdkWindow *window, gboolean already_mapped) { gboolean make_key; - make_key = (private->accept_focus && focus_on_map && - private->window_type != GDK_WINDOW_TEMP); + make_key = (window->accept_focus && focus_on_map && + window->window_type != GDK_WINDOW_TEMP); [(GdkQuartzWindow*)impl->toplevel showAndMakeKey:make_key]; clear_toplevel_order (); @@ -1136,10 +1158,10 @@ gdk_window_quartz_show (GdkWindow *window, gboolean already_mapped) gdk_synthesize_window_state (window, GDK_WINDOW_STATE_WITHDRAWN, 0); - if (private->state & GDK_WINDOW_STATE_MAXIMIZED) + if (window->state & GDK_WINDOW_STATE_MAXIMIZED) gdk_window_maximize (window); - if (private->state & GDK_WINDOW_STATE_ICONIFIED) + if (window->state & GDK_WINDOW_STATE_ICONIFIED) gdk_window_iconify (window); if (impl->transient_for && !GDK_WINDOW_DESTROYED (impl->transient_for)) @@ -1158,7 +1180,7 @@ _gdk_quartz_window_detach_from_parent (GdkWindow *window) g_return_if_fail (GDK_IS_WINDOW (window)); - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); g_return_if_fail (impl->toplevel != NULL); @@ -1166,7 +1188,7 @@ _gdk_quartz_window_detach_from_parent (GdkWindow *window) { GdkWindowImplQuartz *parent_impl; - parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (impl->transient_for)->impl); + parent_impl = GDK_WINDOW_IMPL_QUARTZ (impl->transient_for->impl); [parent_impl->toplevel removeChildWindow:impl->toplevel]; clear_toplevel_order (); } @@ -1180,7 +1202,7 @@ _gdk_quartz_window_attach_to_parent (GdkWindow *window) g_return_if_fail (GDK_IS_WINDOW (window)); - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); g_return_if_fail (impl->toplevel != NULL); @@ -1188,7 +1210,7 @@ _gdk_quartz_window_attach_to_parent (GdkWindow *window) { GdkWindowImplQuartz *parent_impl; - parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (impl->transient_for)->impl); + parent_impl = GDK_WINDOW_IMPL_QUARTZ (impl->transient_for->impl); [parent_impl->toplevel addChildWindow:impl->toplevel ordered:NSWindowAbove]; clear_toplevel_order (); } @@ -1197,7 +1219,6 @@ _gdk_quartz_window_attach_to_parent (GdkWindow *window) void gdk_window_quartz_hide (GdkWindow *window) { - GdkWindowObject *private = (GdkWindowObject *)window; GdkWindowImplQuartz *impl; /* Make sure we're not stuck in fullscreen mode. */ @@ -1208,7 +1229,7 @@ gdk_window_quartz_hide (GdkWindow *window) _gdk_window_clear_update_area (window); - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (WINDOW_IS_TOPLEVEL (window)) { @@ -1241,7 +1262,6 @@ move_resize_window_internal (GdkWindow *window, gint width, gint height) { - GdkWindowObject *private = (GdkWindowObject *)window; GdkWindowImplQuartz *impl; GdkRectangle old_visible; GdkRectangle new_visible; @@ -1253,12 +1273,12 @@ move_resize_window_internal (GdkWindow *window, if (GDK_WINDOW_DESTROYED (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); - if ((x == -1 || (x == private->x)) && - (y == -1 || (y == private->y)) && - (width == -1 || (width == private->width)) && - (height == -1 || (height == private->height))) + if ((x == -1 || (x == window->x)) && + (y == -1 || (y == window->y)) && + (width == -1 || (width == window->width)) && + (height == -1 || (height == window->height))) { return; } @@ -1268,17 +1288,17 @@ move_resize_window_internal (GdkWindow *window, /* The previously visible area of this window in a coordinate * system rooted at the origin of this window. */ - old_visible.x = -private->x; - old_visible.y = -private->y; + old_visible.x = -window->x; + old_visible.y = -window->y; - old_visible.width = private->width; - old_visible.height = private->height; + old_visible.width = window->width; + old_visible.height = window->height; } if (x != -1) { - delta.width = x - private->x; - private->x = x; + delta.width = x - window->x; + window->x = x; } else { @@ -1287,8 +1307,8 @@ move_resize_window_internal (GdkWindow *window, if (y != -1) { - delta.height = y - private->y; - private->y = y; + delta.height = y - window->y; + window->y = y; } else { @@ -1296,10 +1316,10 @@ move_resize_window_internal (GdkWindow *window, } if (width != -1) - private->width = width; + window->width = width; if (height != -1) - private->height = height; + window->height = height; GDK_QUARTZ_ALLOC_POOL; @@ -1309,27 +1329,27 @@ move_resize_window_internal (GdkWindow *window, NSRect frame_rect; gint gx, gy; - _gdk_quartz_window_gdk_xy_to_xy (private->x, private->y + private->height, + _gdk_quartz_window_gdk_xy_to_xy (window->x, window->y + window->height, &gx, &gy); - content_rect = NSMakeRect (gx, gy, private->width, private->height); + content_rect = NSMakeRect (gx, gy, window->width, window->height); frame_rect = [impl->toplevel frameRectForContentRect:content_rect]; [impl->toplevel setFrame:frame_rect display:YES]; } else { - if (!private->input_only) + if (!window->input_only) { NSRect nsrect; - nsrect = NSMakeRect (private->x, private->y, private->width, private->height); + nsrect = NSMakeRect (window->x, window->y, window->width, window->height); /* The newly visible area of this window in a coordinate * system rooted at the origin of this window. */ - new_visible.x = -private->x; - new_visible.y = -private->y; + new_visible.x = -window->x; + new_visible.y = -window->y; new_visible.width = old_visible.width; /* parent has not changed size */ new_visible.height = old_visible.height; /* parent has not changed size */ @@ -1381,7 +1401,7 @@ window_quartz_move (GdkWindow *window, { g_return_if_fail (GDK_IS_WINDOW (window)); - if (((GdkWindowObject *)window)->state & GDK_WINDOW_STATE_FULLSCREEN) + if (window->state & GDK_WINDOW_STATE_FULLSCREEN) return; move_resize_window_internal (window, x, y, -1, -1); @@ -1394,7 +1414,7 @@ window_quartz_resize (GdkWindow *window, { g_return_if_fail (GDK_IS_WINDOW (window)); - if (((GdkWindowObject *)window)->state & GDK_WINDOW_STATE_FULLSCREEN) + if (window->state & GDK_WINDOW_STATE_FULLSCREEN) return; if (width < 1) @@ -1448,7 +1468,7 @@ gdk_window_quartz_reparent (GdkWindow *window, gint x, gint y) { - GdkWindowObject *private, *old_parent_private, *new_parent_private; + GdkWindow *old_parent; GdkWindowImplQuartz *impl, *old_parent_impl, *new_parent_impl; NSView *view, *new_parent_view; @@ -1459,16 +1479,14 @@ gdk_window_quartz_reparent (GdkWindow *window, return FALSE; } - private = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); view = impl->view; - new_parent_private = GDK_WINDOW_OBJECT (new_parent); - new_parent_impl = GDK_WINDOW_IMPL_QUARTZ (new_parent_private->impl); + new_parent_impl = GDK_WINDOW_IMPL_QUARTZ (new_parent->impl); new_parent_view = new_parent_impl->view; - old_parent_private = GDK_WINDOW_OBJECT (private->parent); - old_parent_impl = GDK_WINDOW_IMPL_QUARTZ (old_parent_private->impl); + old_parent = window->parent; + old_parent_impl = GDK_WINDOW_IMPL_QUARTZ (old_parent->impl); [view retain]; @@ -1477,9 +1495,9 @@ gdk_window_quartz_reparent (GdkWindow *window, [view release]; - private->parent = new_parent_private; + window->parent = new_parent; - if (old_parent_private) + if (old_parent) { old_parent_impl->sorted_children = g_list_remove (old_parent_impl->sorted_children, window); } @@ -1496,14 +1514,12 @@ gdk_window_quartz_reparent (GdkWindow *window, static void update_toplevel_order (void) { - GdkWindowObject *root; GdkWindowImplQuartz *root_impl; NSEnumerator *enumerator; id nswindow; GList *toplevels = NULL; - root = GDK_WINDOW_OBJECT (_gdk_root); - root_impl = GDK_WINDOW_IMPL_QUARTZ (root->impl); + root_impl = GDK_WINDOW_IMPL_QUARTZ (_gdk_root->impl); if (root_impl->sorted_children) return; @@ -1530,11 +1546,9 @@ update_toplevel_order (void) static void clear_toplevel_order (void) { - GdkWindowObject *root; GdkWindowImplQuartz *root_impl; - root = GDK_WINDOW_OBJECT (_gdk_root); - root_impl = GDK_WINDOW_IMPL_QUARTZ (root->impl); + root_impl = GDK_WINDOW_IMPL_QUARTZ (_gdk_root->impl); g_list_free (root_impl->sorted_children); root_impl->sorted_children = NULL; @@ -1550,14 +1564,14 @@ gdk_window_quartz_raise (GdkWindow *window) { GdkWindowImplQuartz *impl; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); [impl->toplevel orderFront:impl->toplevel]; clear_toplevel_order (); } else { - GdkWindowObject *parent = GDK_WINDOW_OBJECT (window)->parent; + GdkWindow *parent = window->parent; if (parent) { @@ -1581,14 +1595,14 @@ gdk_window_quartz_lower (GdkWindow *window) { GdkWindowImplQuartz *impl; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); [impl->toplevel orderBack:impl->toplevel]; clear_toplevel_order (); } else { - GdkWindowObject *parent = GDK_WINDOW_OBJECT (window)->parent; + GdkWindow *parent = window->parent; if (parent) { @@ -1648,14 +1662,12 @@ gdk_window_quartz_get_geometry (GdkWindow *window, gint *height) { GdkWindowImplQuartz *impl; - GdkWindowObject *private; NSRect ns_rect; if (GDK_WINDOW_DESTROYED (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); - private = GDK_WINDOW_OBJECT (window); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (window == _gdk_root) { if (x) @@ -1664,9 +1676,9 @@ gdk_window_quartz_get_geometry (GdkWindow *window, *y = 0; if (width) - *width = private->width; + *width = window->width; if (height) - *height = private->height; + *height = window->height; } else if (WINDOW_IS_TOPLEVEL (window)) { @@ -1721,7 +1733,6 @@ gdk_window_quartz_get_root_coords (GdkWindow *window, gint *root_x, gint *root_y) { - GdkWindowObject *private; int tmp_x = 0, tmp_y = 0; GdkWindow *toplevel; NSRect content_rect; @@ -1747,10 +1758,8 @@ gdk_window_quartz_get_root_coords (GdkWindow *window, return 1; } - private = GDK_WINDOW_OBJECT (window); - toplevel = gdk_window_get_toplevel (window); - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (toplevel)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (toplevel->impl); content_rect = [impl->toplevel contentRectForFrameRect:[impl->toplevel frame]]; @@ -1761,15 +1770,15 @@ gdk_window_quartz_get_root_coords (GdkWindow *window, tmp_x += x; tmp_y += y; - while (private != GDK_WINDOW_OBJECT (toplevel)) + while (window != toplevel) { - if (_gdk_window_has_impl ((GdkWindow *)private)) + if (_gdk_window_has_impl ((GdkWindow *)window)) { - tmp_x += private->x; - tmp_y += private->y; + tmp_x += window->x; + tmp_y += window->y; } - private = private->parent; + window = window->parent; } if (root_x) @@ -1807,10 +1816,9 @@ gdk_window_quartz_get_device_state_helper (GdkWindow *window, gint *y, GdkModifierType *mask) { - GdkWindowObject *toplevel; - GdkWindowObject *private; NSPoint point; gint x_tmp, y_tmp; + GdkWindow *toplevel; GdkWindow *found_window; g_return_val_if_fail (window == NULL || GDK_IS_WINDOW (window), NULL); @@ -1823,7 +1831,7 @@ gdk_window_quartz_get_device_state_helper (GdkWindow *window, return NULL; } - toplevel = GDK_WINDOW_OBJECT (gdk_window_get_toplevel (window)); + toplevel = gdk_window_get_toplevel (window); *mask = _gdk_quartz_events_get_current_event_mask (); @@ -1839,13 +1847,12 @@ gdk_window_quartz_get_device_state_helper (GdkWindow *window, NSWindow *nswindow; impl = GDK_WINDOW_IMPL_QUARTZ (toplevel->impl); - private = GDK_WINDOW_OBJECT (toplevel); nswindow = impl->toplevel; point = [nswindow mouseLocationOutsideOfEventStream]; x_tmp = point.x; - y_tmp = private->height - point.y; + y_tmp = toplevel->height - point.y; window = (GdkWindow *)toplevel; } @@ -1917,18 +1924,15 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display, &tmp_mask); if (found_window) { - GdkWindowObject *private; - /* The coordinates returned above are relative the root, we want * coordinates relative the window here. */ - private = GDK_WINDOW_OBJECT (found_window); - while (private != GDK_WINDOW_OBJECT (_gdk_root)) + while (found_window != _gdk_root) { - x -= private->x; - y -= private->y; + x -= found_window->x; + y -= found_window->y; - private = private->parent; + found_window = found_window->parent; } *win_x = x; @@ -1946,21 +1950,19 @@ _gdk_windowing_window_at_pointer (GdkDisplay *display, if (get_toplevel) { - GdkWindowObject *w = (GdkWindowObject *)found_window; /* Requested toplevel, find it. */ /* TODO: This can be implemented more efficient by never recursing into children in the first place */ - if (w) + if (found_window) { /* Convert to toplevel */ - while (w->parent != NULL && - w->parent->window_type != GDK_WINDOW_ROOT) + while (found_window->parent != NULL && + found_window->parent->window_type != GDK_WINDOW_ROOT) { - *win_x += w->x; - *win_y += w->y; - w = w->parent; + *win_x += found_window->x; + *win_y += found_window->y; + found_window = found_window->parent; } - found_window = (GdkWindow *)w; } } @@ -1988,7 +1990,7 @@ gdk_window_quartz_get_events (GdkWindow *window) if (GDK_WINDOW_DESTROYED (window)) return 0; else - return GDK_WINDOW_OBJECT (window)->event_mask; + return window->event_mask; } static void @@ -2022,7 +2024,7 @@ gdk_window_set_geometry_hints (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (((GdkWindowObject *) window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (!impl->toplevel) return; @@ -2099,7 +2101,7 @@ gdk_window_set_title (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (((GdkWindowObject *)window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (impl->toplevel) { @@ -2131,7 +2133,7 @@ gdk_window_set_transient_for (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return; - window_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + window_impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (!window_impl->toplevel) return; @@ -2145,7 +2147,7 @@ gdk_window_set_transient_for (GdkWindow *window, window_impl->transient_for = NULL; } - parent_impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (parent)->impl); + parent_impl = GDK_WINDOW_IMPL_QUARTZ (parent->impl); if (parent_impl->toplevel) { /* We save the parent because it needs to be unset/reset when @@ -2165,7 +2167,7 @@ gdk_window_set_transient_for (GdkWindow *window, * be shown unconditionally here. If it is not shown, the * window will be added in show() instead. */ - if (!(GDK_WINDOW_OBJECT (window)->state & GDK_WINDOW_STATE_WITHDRAWN)) + if (!(window->state & GDK_WINDOW_STATE_WITHDRAWN)) _gdk_quartz_window_attach_to_parent (window); } } @@ -2202,11 +2204,7 @@ void gdk_window_set_accept_focus (GdkWindow *window, gboolean accept_focus) { - GdkWindowObject *private; - - private = (GdkWindowObject *)window; - - private->accept_focus = accept_focus != FALSE; + window->accept_focus = accept_focus != FALSE; } static gboolean @@ -2225,11 +2223,7 @@ void gdk_window_set_focus_on_map (GdkWindow *window, gboolean focus_on_map) { - GdkWindowObject *private; - - private = (GdkWindowObject *)window; - - private->focus_on_map = focus_on_map != FALSE; + window->focus_on_map = focus_on_map != FALSE; } void @@ -2243,17 +2237,15 @@ void gdk_window_focus (GdkWindow *window, guint32 timestamp) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; - private = (GdkWindowObject*) window; - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) return; - if (private->accept_focus && private->window_type != GDK_WINDOW_TEMP) + if (window->accept_focus && window->window_type != GDK_WINDOW_TEMP) { GDK_QUARTZ_ALLOC_POOL; [impl->toplevel makeKeyAndOrderFront:impl->toplevel]; @@ -2339,7 +2331,7 @@ gdk_window_set_type_hint (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (((GdkWindowObject *) window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); impl->type_hint = hint; @@ -2358,7 +2350,7 @@ gdk_window_get_type_hint (GdkWindow *window) !WINDOW_IS_TOPLEVEL (window)) return GDK_WINDOW_TYPE_HINT_NORMAL; - return GDK_WINDOW_IMPL_QUARTZ (((GdkWindowObject *) window)->impl)->type_hint; + return GDK_WINDOW_IMPL_QUARTZ (window->impl)->type_hint; } void @@ -2402,7 +2394,6 @@ gdk_window_begin_resize_drag (GdkWindow *window, gint root_y, guint32 timestamp) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2416,8 +2407,7 @@ gdk_window_begin_resize_drag (GdkWindow *window, if (GDK_WINDOW_DESTROYED (window)) return; - private = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (!impl->toplevel) { @@ -2435,15 +2425,13 @@ gdk_window_begin_move_drag (GdkWindow *window, gint root_y, guint32 timestamp) { - GdkWindowObject *private; GdkWindowImplQuartz *impl; if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) return; - private = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (!impl->toplevel) { @@ -2465,14 +2453,12 @@ void gdk_window_get_frame_extents (GdkWindow *window, GdkRectangle *rect) { - GdkWindowObject *private; GdkWindow *toplevel; GdkWindowImplQuartz *impl; NSRect ns_rect; g_return_if_fail (rect != NULL); - private = GDK_WINDOW_OBJECT (window); rect->x = 0; rect->y = 0; @@ -2480,7 +2466,7 @@ gdk_window_get_frame_extents (GdkWindow *window, rect->height = 1; toplevel = gdk_window_get_effective_toplevel (window); - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (toplevel)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (toplevel->impl); ns_rect = [impl->toplevel frame]; @@ -2504,7 +2490,7 @@ gdk_window_set_decorations (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (decorations == 0 || GDK_WINDOW_TYPE (window) == GDK_WINDOW_TEMP || impl->type_hint == GDK_WINDOW_TYPE_HINT_SPLASHSCREEN ) @@ -2580,7 +2566,7 @@ gdk_window_get_decorations (GdkWindow *window, !WINDOW_IS_TOPLEVEL (window)) return FALSE; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (decorations) { @@ -2640,7 +2626,7 @@ gdk_window_maximize (GdkWindow *window) !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (GDK_WINDOW_IS_MAPPED (window)) { @@ -2668,7 +2654,7 @@ gdk_window_unmaximize (GdkWindow *window) !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (GDK_WINDOW_IS_MAPPED (window)) { @@ -2696,7 +2682,7 @@ gdk_window_iconify (GdkWindow *window) !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (GDK_WINDOW_IS_MAPPED (window)) { @@ -2724,7 +2710,7 @@ gdk_window_deiconify (GdkWindow *window) !WINDOW_IS_TOPLEVEL (window)) return; - impl = GDK_WINDOW_IMPL_QUARTZ (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); if (GDK_WINDOW_IS_MAPPED (window)) { @@ -2753,7 +2739,6 @@ void gdk_window_fullscreen (GdkWindow *window) { FullscreenSavedGeometry *geometry; - GdkWindowObject *private = (GdkWindowObject *) window; NSRect frame; if (GDK_WINDOW_DESTROYED (window) || @@ -2765,10 +2750,10 @@ gdk_window_fullscreen (GdkWindow *window) { geometry = g_new (FullscreenSavedGeometry, 1); - geometry->x = private->x; - geometry->y = private->y; - geometry->width = private->width; - geometry->height = private->height; + geometry->x = window->x; + geometry->y = window->y; + geometry->width = window->width; + geometry->height = window->height; if (!gdk_window_get_decorations (window, &geometry->decor)) geometry->decor = GDK_DECOR_ALL; @@ -2821,8 +2806,7 @@ gdk_window_unfullscreen (GdkWindow *window) void gdk_window_set_keep_above (GdkWindow *window, gboolean setting) { - GdkWindowObject *private = (GdkWindowObject *) window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); gint level; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2840,8 +2824,7 @@ gdk_window_set_keep_above (GdkWindow *window, gboolean setting) void gdk_window_set_keep_below (GdkWindow *window, gboolean setting) { - GdkWindowObject *private = (GdkWindowObject *) window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); gint level; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2919,8 +2902,7 @@ void gdk_window_set_opacity (GdkWindow *window, gdouble opacity) { - GdkWindowObject *private = (GdkWindowObject *) window; - GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (private->impl); + GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); g_return_if_fail (GDK_IS_WINDOW (window)); g_return_if_fail (WINDOW_IS_TOPLEVEL (window)); @@ -2956,45 +2938,125 @@ gdk_quartz_window_get_input_shape (GdkWindow *window) return NULL; } + static void -gdk_window_impl_iface_init (GdkWindowImplIface *iface) +gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass) { - iface->show = gdk_window_quartz_show; - iface->hide = gdk_window_quartz_hide; - iface->withdraw = gdk_window_quartz_withdraw; - iface->set_events = gdk_window_quartz_set_events; - iface->get_events = gdk_window_quartz_get_events; - iface->raise = gdk_window_quartz_raise; - iface->lower = gdk_window_quartz_lower; - iface->restack_toplevel = gdk_window_quartz_restack_toplevel; - iface->move_resize = gdk_window_quartz_move_resize; - iface->set_background = gdk_window_quartz_set_background; - iface->reparent = gdk_window_quartz_reparent; - iface->set_device_cursor = gdk_window_quartz_set_device_cursor; - iface->get_geometry = gdk_window_quartz_get_geometry; - iface->get_root_coords = gdk_window_quartz_get_root_coords; - iface->get_device_state = gdk_window_quartz_get_device_state; - iface->shape_combine_region = gdk_window_quartz_shape_combine_region; - iface->input_shape_combine_region = gdk_window_quartz_input_shape_combine_region; - iface->set_static_gravities = gdk_window_quartz_set_static_gravities; - iface->queue_antiexpose = _gdk_quartz_window_queue_antiexpose; - iface->translate = _gdk_quartz_window_translate; - iface->destroy = _gdk_quartz_window_destroy; - iface->resize_cairo_surface = gdk_window_quartz_resize_cairo_surface; - iface->get_shape = gdk_quartz_window_get_shape; - iface->get_input_shape = gdk_quartz_window_get_input_shape; + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkWindowImplClass *impl_class = GDK_WINDOW_IMPL_CLASS (klass); + GdkWindowImplQuartzClass *impl_quartz_class = GDK_WINDOW_IMPL_QUARTZ_CLASS (klass); + + parent_class = g_type_class_peek_parent (klass); + + object_class->finalize = gdk_window_impl_quartz_finalize; + + impl_class->ref_cairo_surface = gdk_quartz_ref_cairo_surface; + impl_class->show = gdk_window_quartz_show; + impl_class->hide = gdk_window_quartz_hide; + impl_class->withdraw = gdk_window_quartz_withdraw; + impl_class->set_events = gdk_window_quartz_set_events; + impl_class->get_events = gdk_window_quartz_get_events; + impl_class->raise = gdk_window_quartz_raise; + impl_class->lower = gdk_window_quartz_lower; + impl_class->restack_toplevel = gdk_window_quartz_restack_toplevel; + impl_class->move_resize = gdk_window_quartz_move_resize; + impl_class->set_background = gdk_window_quartz_set_background; + impl_class->reparent = gdk_window_quartz_reparent; + impl_class->set_device_cursor = gdk_window_quartz_set_device_cursor; + impl_class->get_geometry = gdk_window_quartz_get_geometry; + impl_class->get_root_coords = gdk_window_quartz_get_root_coords; + impl_class->get_device_state = gdk_window_quartz_get_device_state; + impl_class->shape_combine_region = gdk_window_quartz_shape_combine_region; + impl_class->input_shape_combine_region = gdk_window_quartz_input_shape_combine_region; + impl_class->set_static_gravities = gdk_window_quartz_set_static_gravities; + impl_class->queue_antiexpose = _gdk_quartz_window_queue_antiexpose; + impl_class->translate = _gdk_quartz_window_translate; + impl_class->destroy = _gdk_quartz_window_destroy; + impl_class->resize_cairo_surface = gdk_window_quartz_resize_cairo_surface; + impl_class->get_shape = gdk_quartz_window_get_shape; + impl_class->get_input_shape = gdk_quartz_window_get_input_shape; + + impl_quartz_class->get_context = gdk_window_impl_quartz_get_context; + impl_quartz_class->release_context = gdk_window_impl_quartz_release_context; +} + +GType +_gdk_window_impl_quartz_get_type (void) +{ + static GType object_type = 0; + + if (!object_type) + { + const GTypeInfo object_info = + { + sizeof (GdkWindowImplQuartzClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) gdk_window_impl_quartz_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GdkWindowImplQuartz), + 0, /* n_preallocs */ + (GInstanceInitFunc) gdk_window_impl_quartz_init, + }; + + const GInterfaceInfo paintable_info = + { + (GInterfaceInitFunc) gdk_window_impl_quartz_paintable_init, + NULL, + NULL + }; + + object_type = g_type_register_static (GDK_TYPE_WINDOW_IMPL, + "GdkWindowImplQuartz", + &object_info, 0); + g_type_add_interface_static (object_type, + GDK_TYPE_PAINTABLE, + &paintable_info); + } + + return object_type; +} + +CGContextRef +gdk_quartz_window_get_context (GdkWindowImplQuartz *window, + gboolean antialias) +{ + if (!GDK_WINDOW_IMPL_QUARTZ_GET_CLASS (window)->get_context) + { + g_warning ("%s doesn't implement GdkWindowImplQuartzClass::get_context()", + G_OBJECT_TYPE_NAME (window)); + return NULL; + } + + return GDK_WINDOW_IMPL_QUARTZ_GET_CLASS (window)->get_context (window, antialias); +} + +void +gdk_quartz_window_release_context (GdkWindowImplQuartz *window, + CGContextRef cg_context) +{ + if (!GDK_WINDOW_IMPL_QUARTZ_GET_CLASS (window)->release_context) + { + g_warning ("%s doesn't implement GdkWindowImplQuartzClass::release_context()", + G_OBJECT_TYPE_NAME (window)); + return; + } + + GDK_WINDOW_IMPL_QUARTZ_GET_CLASS (window)->release_context (window, cg_context); } + static CGContextRef -gdk_root_window_impl_quartz_get_context (GdkDrawable *drawable, - gboolean antialias) +gdk_root_window_impl_quartz_get_context (GdkWindowImplQuartz *window, + gboolean antialias) { - GdkDrawableImplQuartz *drawable_impl = GDK_DRAWABLE_IMPL_QUARTZ (drawable); CGColorSpaceRef colorspace; CGContextRef cg_context; + GdkWindowImplQuartz *window_impl = GDK_WINDOW_IMPL_QUARTZ (window); - if (GDK_WINDOW_DESTROYED (drawable_impl->wrapper)) + if (GDK_WINDOW_DESTROYED (window_impl->wrapper)) return NULL; /* We do not have the notion of a root window on OS X. We fake this @@ -3010,8 +3072,8 @@ gdk_root_window_impl_quartz_get_context (GdkDrawable *drawable, } static void -gdk_root_window_impl_quartz_release_context (GdkDrawable *drawable, - CGContextRef cg_context) +gdk_root_window_impl_quartz_release_context (GdkWindowImplQuartz *window, + CGContextRef cg_context) { CGContextRelease (cg_context); } @@ -3019,12 +3081,12 @@ gdk_root_window_impl_quartz_release_context (GdkDrawable *drawable, static void gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) { - GdkDrawableImplQuartzClass *drawable_quartz_class = GDK_DRAWABLE_IMPL_QUARTZ_CLASS (klass); + GdkWindowImplQuartzClass *window_quartz_class = GDK_WINDOW_IMPL_QUARTZ_CLASS (klass); root_window_parent_class = g_type_class_peek_parent (klass); - drawable_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; - drawable_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; + window_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; + window_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; } static void diff --git a/gdk/quartz/gdkwindow-quartz.h b/gdk/quartz/gdkwindow-quartz.h index b591eebc81..f55bbb33e9 100644 --- a/gdk/quartz/gdkwindow-quartz.h +++ b/gdk/quartz/gdkwindow-quartz.h @@ -21,9 +21,9 @@ #ifndef __GDK_WINDOW_QUARTZ_H__ #define __GDK_WINDOW_QUARTZ_H__ -#include #import #import +#include "gdk/gdkwindowimpl.h" G_BEGIN_DECLS @@ -42,7 +42,9 @@ typedef struct _GdkWindowImplQuartzClass GdkWindowImplQuartzClass; struct _GdkWindowImplQuartz { - GdkDrawableImplQuartz parent_instance; + GdkWindowImpl parent_instance; + + GdkWindow *wrapper; NSWindow *toplevel; NSTrackingRectTag tracking_rect; @@ -60,15 +62,26 @@ struct _GdkWindowImplQuartz GList *sorted_children; cairo_region_t *needs_display_region; + + cairo_surface_t *cairo_surface; }; struct _GdkWindowImplQuartzClass { - GdkDrawableImplQuartzClass parent_class; + GdkWindowImplClass parent_class; + + CGContextRef (* get_context) (GdkWindowImplQuartz *window, + gboolean antialias); + void (* release_context) (GdkWindowImplQuartz *window, + CGContextRef cg_context); }; GType _gdk_window_impl_quartz_get_type (void); +CGContextRef gdk_quartz_window_get_context (GdkWindowImplQuartz *window, + gboolean antialias); +void gdk_quartz_window_release_context (GdkWindowImplQuartz *window, + CGContextRef context); /* Root window implementation for Quartz */ From 5f75ffc97436b84a99ed450a0e8810f291a9237a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 09:50:01 -0500 Subject: [PATCH 0391/1463] Add gtk_widget_path_get_type to the headers Bug 636591 --- docs/reference/gtk/gtk3-sections.txt | 6 ++++++ gtk/gtkwidgetpath.h | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 32759d9b21..261cf31196 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5291,6 +5291,12 @@ gtk_widget_path_iter_set_widget_type gtk_widget_path_length gtk_widget_path_new gtk_widget_path_prepend_type + + +GTK_TYPE_WIDGET_PATH + + +gtk_widget_path_get_type
diff --git a/gtk/gtkwidgetpath.h b/gtk/gtkwidgetpath.h index 801906c68f..b069fe61e3 100644 --- a/gtk/gtkwidgetpath.h +++ b/gtk/gtkwidgetpath.h @@ -31,8 +31,10 @@ G_BEGIN_DECLS typedef struct _GtkWidgetPath GtkWidgetPath; +#define GTK_TYPE_WIDGET_PATH (gtk_widget_path_get_type ()) -GtkWidgetPath * gtk_widget_path_new (void); +GType gtk_widget_path_get_type (void) G_GNUC_CONST: +GtkWidgetPath * gtk_widget_path_new (void); GtkWidgetPath * gtk_widget_path_copy (const GtkWidgetPath *path); void gtk_widget_path_free (GtkWidgetPath *path); From d23fb64d972ee184ab39e9e4ed90230f0faee287 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Mon, 6 Dec 2010 16:01:55 +0100 Subject: [PATCH 0392/1463] Fix a typo to fix the build. --- gtk/gtkwidgetpath.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkwidgetpath.h b/gtk/gtkwidgetpath.h index b069fe61e3..87b44b8ef9 100644 --- a/gtk/gtkwidgetpath.h +++ b/gtk/gtkwidgetpath.h @@ -33,7 +33,7 @@ typedef struct _GtkWidgetPath GtkWidgetPath; #define GTK_TYPE_WIDGET_PATH (gtk_widget_path_get_type ()) -GType gtk_widget_path_get_type (void) G_GNUC_CONST: +GType gtk_widget_path_get_type (void) G_GNUC_CONST; GtkWidgetPath * gtk_widget_path_new (void); GtkWidgetPath * gtk_widget_path_copy (const GtkWidgetPath *path); From 48dba326c2794dcb998b77955ec0e00cd1780ca4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 10:12:22 -0500 Subject: [PATCH 0393/1463] Disable theme engines for now They need to be ported to GtkThemingEngine. --- modules/engines/Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/engines/Makefile.am b/modules/engines/Makefile.am index 7f65239551..5af553f16e 100644 --- a/modules/engines/Makefile.am +++ b/modules/engines/Makefile.am @@ -4,6 +4,10 @@ if USE_WIN32 wimp = ms-windows endif -SUBDIRS = $(wimp) pixbuf +# the theme engines need to be ported to GtkThemingEngine +# SUBDIRS = $(wimp) pixbuf + +DIST_SUBDIRS = ms-windows pixbuf + -include $(top_srcdir)/git.mk From 96139cbb003058c78dc7a57ae3f6f9c25561d848 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 10:56:03 -0500 Subject: [PATCH 0394/1463] Update NEWS for 2.91.6 --- NEWS | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/NEWS b/NEWS index 9fe44fb3ae..da432f5c52 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,43 @@ +Overview of Changes from GTK+ 2.91.5 to 2.91.6 +============================================== + +* Deprecations, cleanups and API changes: + - GdkDrawable and some X11-specific APIs have been removed + - GtkStyle and GtkRcStyle have been deprecated + - The GdkWindowClass enumeration is now GdkWindowWindowClass + - gdk_window_get_geometry lost its depth argument + +* GtkComboBox has gained an 'active id' property that is + intended for easy binding to settings + +* GtkAppChooser: A new family of widgets that allow choosing + an application to open a file. This is strongly based on + the corresponding nautilus dialog, which it is replacing. + +* The GtkStyleContext branch has been merged, changing the APIs + that are used to do themed drawing, and the theme engine interfaces. + Among the new classes are GtkStyleContext (replacing GtkStyle) and + GtkCssProvider (replacing the gtkrc parser). The migration guide + contains a chapter about porting from GtkStyle to GtkStyleContext. + +* Bugs fixed: + 549720 Add a way to hide GtkScale's slider + 582557 need open with dialog box to use with IBM's Lotus Notes... + 619148 "active ID" properties (GtkComboBox) + 636060 use ATK_DEFINE_TYPE where possible + 636129 invalid uninstantiatable type `(null)' in cast to `GtkSpinner' + 636388 gtk3-demo craches (segfault) when pressing a key in the textarea... + 636511 New style override functions do not work on textview + +* Updated translations: + Estonian + Galician + Hebrew + Persian + Slovenian + Spanish + + Overview of Changes from GTK+ 2.91.4 to 2.91.5 ============================================== From 66f0f55b628a0c756bb022f3093b576bafbdc2dc Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 6 Dec 2010 11:27:57 -0500 Subject: [PATCH 0395/1463] configure: Drop AC_PREREQ back down to 2.62 Commit 39f57407639b85c7e929d349ee95eabc46d083e bumped the autoconf version to 2.64 with no explicit rationale. It looks to me like a copy-and-paste error. Reverting back to 2.62 (the previous version). 2.63 at least (RHEL6) works here. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 477aa7cda8..17023af81d 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ m4_define([gtk_version], # This is the X.Y used in -lgtk-FOO-X.Y m4_define([gtk_api_version], [3.0]) -AC_PREREQ([2.64]) +AC_PREREQ([2.62]) AC_INIT([gtk+], [gtk_version], [http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B], [gtk+]) From 65e3c09139a5df904fb024dc6acf0a519d742d75 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Mon, 6 Dec 2010 11:42:47 -0500 Subject: [PATCH 0396/1463] introspection: Fix (out) for gdk_screen_get_monitor_geometry Scanner doesn't detect this case correctly because it's a typedef; work around it here by explicitly specifying that it's caller allocates. See bug 636393 for the scanner issue. --- gdk/x11/gdkscreen-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 5927378839..362ec485a6 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -450,7 +450,7 @@ gdk_x11_screen_get_monitor_output (GdkScreen *screen, * gdk_screen_get_monitor_geometry: * @screen: a #GdkScreen * @monitor_num: the monitor number, between 0 and gdk_screen_get_n_monitors (screen) - * @dest: (out) (allow-none): a #GdkRectangle to be filled with the monitor geometry + * @dest: (out caller-allocates) (allow-none): a #GdkRectangle to be filled with the monitor geometry * * Retrieves the #GdkRectangle representing the size and position of * the individual monitor within the entire screen area. From 48e92c6939e9038deba217a25f56e2a2d9c2d124 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Mon, 6 Dec 2010 18:13:24 +0100 Subject: [PATCH 0397/1463] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20t?= =?UTF-8?q?ranslation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 169 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 98 insertions(+), 71 deletions(-) diff --git a/po/nb.po b/po/nb.po index 13efa46c7c..f9b2919b15 100644 --- a/po/nb.po +++ b/po/nb.po @@ -6,9 +6,9 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ 2.92.x\n" -"Report-Msgid-Bugs-To:\n" -"POT-Creation-Date: 2010-11-20 11:47+0100\n" -"PO-Revision-Date: 2010-11-20 11:48+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-12-06 18:12+0100\n" +"PO-Revision-Date: 2010-12-06 18:13+0100\n" "Last-Translator: Torstein Adolf Winterseth \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" @@ -77,7 +77,7 @@ msgstr "Feilsøkingsflagg som skal settes for GDK" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:525 ../gtk/gtkmain.c:528 +#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 msgid "FLAGS" msgstr "FLAGG" @@ -301,17 +301,17 @@ msgstr "Størrelse på paletten i 8-bits modus" msgid "COLORS" msgstr "FARGER" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 #, c-format msgid "Starting %s" msgstr "Starter %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 #, c-format msgid "Opening %s" msgstr "Åpner %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" @@ -788,23 +788,23 @@ msgstr "Høy_re:" msgid "Paper Margins" msgstr "Papirmarger" -#: ../gtk/gtkentry.c:8630 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8793 ../gtk/gtktextview.c:8229 msgid "Input _Methods" msgstr "Inndata_metoder" -#: ../gtk/gtkentry.c:8644 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8243 msgid "_Insert Unicode Control Character" msgstr "Sett _inn Unicode kontrolltegn" -#: ../gtk/gtkentry.c:10044 +#: ../gtk/gtkentry.c:10207 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock og Num Lock er på" -#: ../gtk/gtkentry.c:10046 +#: ../gtk/gtkentry.c:10209 msgid "Num Lock is on" msgstr "Num Lock er på" -#: ../gtk/gtkentry.c:10048 +#: ../gtk/gtkentry.c:10211 msgid "Caps Lock is on" msgstr "Caps Lock er på" @@ -1205,7 +1205,7 @@ msgstr "Valg av skrift" msgid "Error loading icon: %s" msgstr "Feil under lasting av ikon: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1218,12 +1218,12 @@ msgstr "" "Du kan finne en kopi av det på:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "Ikon «%s» er ikke tilstede i tema" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Feil under lasting av ikon" @@ -1248,12 +1248,12 @@ msgid "System (%s)" msgstr "System (%s)" #. Open Link -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6243 msgid "_Open Link" msgstr "_Åpne lenke" #. Copy Link Address -#: ../gtk/gtklabel.c:6226 +#: ../gtk/gtklabel.c:6255 msgid "Copy _Link Address" msgstr "Kopier _lenkas adresse" @@ -1266,27 +1266,27 @@ msgid "Invalid URI" msgstr "Ugyldig URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:516 msgid "Load additional GTK+ modules" msgstr "Last tilleggsmoduler for GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:517 msgid "MODULES" msgstr "MODULER" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:519 msgid "Make all warnings fatal" msgstr "La alle advarsler være fatale" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:522 msgid "GTK+ debugging flags to set" msgstr "Feilsøkingsflagg som skal settes for GTK+" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:525 msgid "GTK+ debugging flags to unset" msgstr "Feilsøkingsflagg som skal fjernes for GTK+" @@ -1295,20 +1295,20 @@ msgstr "Feilsøkingsflagg som skal fjernes for GTK+" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:790 +#: ../gtk/gtkmain.c:788 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:855 +#: ../gtk/gtkmain.c:852 #, c-format msgid "Cannot open display: %s" msgstr "Kan ikke åpne skjerm: %s" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:911 msgid "GTK+ Options" msgstr "Alternativer for GTK+" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:911 msgid "Show GTK+ Options" msgstr "Vis alternativer for GTK+" @@ -1393,7 +1393,7 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "Kan ikke avslutte prosess med PID %d: %s" -#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4758 ../gtk/gtknotebook.c:7353 #, c-format msgid "Page %u" msgstr "Side %u" @@ -1937,12 +1937,12 @@ msgstr "Noen innstillinger i dialogen er i konflikt" msgid "Print" msgstr "Skriv ut" -#: ../gtk/gtkrc.c:2834 +#: ../gtk/gtkrc.c:2855 #, c-format msgid "Unable to find include file: \"%s\"" msgstr "Kan ikke finne include-fil: «%s»" -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:3491 ../gtk/gtkrc.c:3494 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Klarte ikke å finne bildefil i pixmap_path: «%s»" @@ -2049,14 +2049,15 @@ msgstr "Kan ikke finne en oppføring med URI «%s»" #: ../gtk/gtkrecentmanager.c:2437 #, c-format msgid "No registered application with name '%s' for item with URI '%s' found" -msgstr "Ingen registrerte programmer med navn «%s» funnet for oppføring med URI «%s»" +msgstr "" +"Ingen registrerte programmer med navn «%s» funnet for oppføring med URI «%s»" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Spinner" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "Gir visuell indikasjon av framdrift" @@ -2564,6 +2565,32 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "Zoom _ut" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +msgctxt "switch" +msgid "ON" +msgstr "PÅ" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +msgctxt "switch" +msgid "OFF" +msgstr "AV" + +#: ../gtk/gtkswitch.c:943 +msgctxt "light switch widget" +msgid "Switch" +msgstr "Bryter" + +#: ../gtk/gtkswitch.c:944 +msgid "Switches between on and off states" +msgstr "Bytter mellom av/på tilstand" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2574,107 +2601,107 @@ msgstr "Ukjent feil ved forsøk på å deserialisere %s" msgid "No deserialize function found for format %s" msgstr "Ingen de-serialiseringsfunksjon funnet for format %s" -#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Både «id» og «name» ble finnet i element <%s>" -#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Attributten «%s» ble funnet to ganger på element <%s>" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:851 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "Element <%s> har ugyldig ID «%s»" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "Element <%s> har ikke et «name»- eller «id»-element" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Attributt «%s» gjentatt to ganger på samme <%s>-element" -#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Attributt «%s» er ugyldig på <%s>-element i denne konteksten" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Tagg «%s» er ikke definert." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "Anonym tagg funnet og tagger kan ikke opprettes." -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Tagg «%s» eksisterer ikke i bufferen og tagger kan ikke opprettes." -#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Element <%s> er ikke tillatt under <%s>" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» er ikke en gyldig type attributt" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» er ikke et gyldig attributtnavn" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "«%s» kunne ikke konverteres til en verdi av type «%s» for attributt «%s»" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» er ikke en gyldig verdi for attributt «%s»" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "Tagg «%s» er allerede definert" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Tagg «%s» har ugyldig prioritet «%s»" -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Det ytterste elementet i en tekst må være ikke <%s>" -#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "Et element <%s> er allerede spesifisert" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr "Et -element kan ikke brukes før et -element" -#: ../gtk/gtktextbufferserialize.c:1796 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "Serialiserte data har feil utforming" -#: ../gtk/gtktextbufferserialize.c:1874 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -3632,81 +3659,81 @@ msgstr "Klarte ikke å skrive mappeindeks\n" msgid "Failed to rewrite header\n" msgstr "Klarte ikke skrive om hode\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Klarte ikke å åpne fil %s: %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Klarte ikke å skrive bufferfil: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "Generert buffer var ugyldig.\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Klarte ikke å endre navn på %s til %s: %s, fjerner %s.\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Klarte ikke å endre navn på %s til %s: %s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "Klarte ikke å endre navn på %s tilbake til %s: %s\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "Oppretting av bufferfil fullført.\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Overskriv en eksisterende buffer, selv om den er oppdatert" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "Ikke sjekk om index.theme eksisterer" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Ikke ta med bildedata i bufferen" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "Skriv ut en C-headerfil" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Slå av ekstra utdata" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Valider eksisterende ikonbuffer" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "Fil ikke funnet %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Ikke en gyldig ikonbuffer: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "Ingen indeksfil for tema.\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" From 8f8aeb7dfe396723bdeb24b1e2d6905c4af66d96 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 6 Dec 2010 17:19:56 +0100 Subject: [PATCH 0398/1463] gdk: Remove GdkWindowObject typedef It's unused by now. --- gdk/gdkwindow.h | 1 - 1 file changed, 1 deletion(-) diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index 05da7835d6..69fee5ad09 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -474,7 +474,6 @@ struct _GdkPointerHooks gint *win_y); }; -typedef struct _GdkWindowObject GdkWindowObject; typedef struct _GdkWindowClass GdkWindowClass; #define GDK_TYPE_WINDOW (gdk_window_get_type ()) From fc711434bc6c436d996e582e4f0b658eb449acb0 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 6 Dec 2010 17:20:13 +0100 Subject: [PATCH 0399/1463] gtk: Remove old DirectFB code for drawing window decorations I'm not sure it'd even compile. --- gtk/Makefile.am | 2 - gtk/gtkwindow-decorate.c | 808 --------------------------------------- gtk/gtkwindow-decorate.h | 41 -- gtk/gtkwindow.c | 18 +- 4 files changed, 4 insertions(+), 865 deletions(-) delete mode 100644 gtk/gtkwindow-decorate.c delete mode 100644 gtk/gtkwindow-decorate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index d95f3de7d6..9fa5059c27 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -428,7 +428,6 @@ gtk_private_h_sources = \ gtktoolpaletteprivate.h \ gtktreedatalist.h \ gtktreeprivate.h \ - gtkwindow-decorate.h \ gtkwidgetprivate.h \ $(gtk_clipboard_dnd_h_sources) \ $(gtk_appchooser_impl_h_sources) @@ -666,7 +665,6 @@ gtk_base_c_sources = \ gtkvseparator.c \ gtkwidget.c \ gtkwidgetpath.c \ - gtkwindow-decorate.c \ gtkwindow.c \ $(gtk_clipboard_dnd_c_sources) \ $(gtk_appchooser_impl_c_sources) diff --git a/gtk/gtkwindow-decorate.c b/gtk/gtkwindow-decorate.c deleted file mode 100644 index d58feb3295..0000000000 --- a/gtk/gtkwindow-decorate.c +++ /dev/null @@ -1,808 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 2001 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Authors: Alexander Larsson - */ - -#include "config.h" -#include "gtkprivate.h" -#include "gtkwindow.h" -#include "gtkmain.h" -#include "gtkwindow-decorate.h" -#include "gtkintl.h" - - -#ifdef DECORATE_WINDOWS - -typedef enum -{ - GTK_WINDOW_REGION_TITLE, - GTK_WINDOW_REGION_MAXIMIZE, - GTK_WINDOW_REGION_CLOSE, - GTK_WINDOW_REGION_BR_RESIZE -} GtkWindowRegionType; - -typedef struct _GtkWindowRegion GtkWindowRegion; -typedef struct _GtkWindowDecoration GtkWindowDecoration; - -struct _GtkWindowRegion -{ - GdkRectangle rect; - GtkWindowRegionType type; -}; - -typedef enum -{ - RESIZE_TOP_LEFT, - RESIZE_TOP, - RESIZE_TOP_RIGHT, - RESIZE_RIGHT, - RESIZE_BOTTOM_RIGHT, - RESIZE_BOTTOM, - RESIZE_BOTTOM_LEFT, - RESIZE_LEFT, - RESIZE_NONE, -} GtkWindowResizeType; - -struct _GtkWindowDecoration -{ - gint n_regions; - GtkWindowRegion *regions; - - gint last_x, last_y; - gint last_w, last_h; - - PangoLayout *title_layout; - - GtkWindowResizeType resize; - - guint moving : 1; - guint closing : 1; - guint maximizing : 1; - guint maximized : 1; - guint maximizable : 1; - guint decorated : 1; - guint real_inner_move : 1; - guint focused : 1; -}; - -#define DECORATION_BORDER_TOP 15 -#define DECORATION_BORDER_LEFT 3 -#define DECORATION_BORDER_RIGHT 3 -#define DECORATION_BORDER_BOTTOM 3 -#define DECORATION_BORDER_TOT_X (DECORATION_BORDER_LEFT + DECORATION_BORDER_RIGHT) -#define DECORATION_BORDER_TOT_Y (DECORATION_BORDER_TOP + DECORATION_BORDER_BOTTOM) -#define DECORATION_BUTTON_SIZE 9 -#define DECORATION_BUTTON_Y_OFFSET 2 -#define DECORATION_TITLE_FONT "Sans 9" - -static void gtk_decorated_window_recalculate_regions (GtkWindow *window); -static GtkWindowRegionType gtk_decorated_window_region_type (GtkWindow *window, - gint x, - gint y); -static gint gtk_decorated_window_frame_event (GtkWindow *window, - GdkEvent *event); -static gint gtk_decorated_window_button_press (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_decorated_window_button_release (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_decorated_window_motion_notify (GtkWidget *widget, - GdkEventMotion *event); -static gint gtk_decorated_window_window_state (GtkWidget *widget, - GdkEventWindowState *event); -static void gtk_decorated_window_paint (GtkWidget *widget, - GdkRectangle *area); -static gint gtk_decorated_window_focus_change (GtkWidget *widget, - GdkEventFocus *event); -static void gtk_decorated_window_realize (GtkWindow *window); -static void gtk_decorated_window_unrealize (GtkWindow *window); - -static void -gtk_decoration_free (GtkWindowDecoration *deco) -{ - g_free (deco->regions); - deco->regions = NULL; - deco->n_regions = 0; - - g_free (deco); -} - -void -gtk_decorated_window_init (GtkWindow *window) -{ - GtkWindowDecoration *deco; - - deco = g_new (GtkWindowDecoration, 1); - - deco->n_regions = 0; - deco->regions = NULL; - deco->title_layout = NULL; - deco->resize = RESIZE_NONE; - deco->moving = FALSE; - deco->decorated = TRUE; - deco->closing = FALSE; - deco->maximizing = FALSE; - deco->maximized = FALSE; - deco->maximizable = FALSE; - deco->real_inner_move = FALSE; - - g_object_set_data_full (G_OBJECT (window), I_("gtk-window-decoration"), deco, - (GDestroyNotify) gtk_decoration_free); - - gtk_window_set_has_frame (window, TRUE); - - g_signal_connect (window, - "frame-event", - G_CALLBACK (gtk_decorated_window_frame_event), - window); - g_signal_connect (window, - "focus-in-event", - G_CALLBACK (gtk_decorated_window_focus_change), - window); - g_signal_connect (window, - "focus-out-event", - G_CALLBACK (gtk_decorated_window_focus_change), - window); - g_signal_connect (window, - "realize", - G_CALLBACK (gtk_decorated_window_realize), - window); - g_signal_connect (window, - "unrealize", - G_CALLBACK (gtk_decorated_window_unrealize), - window); -} - -static inline GtkWindowDecoration * -get_decoration (GtkWindow *window) -{ - return (GtkWindowDecoration *)g_object_get_data (G_OBJECT (window), "gtk-window-decoration"); -} - -void -gtk_decorated_window_set_title (GtkWindow *window, - const gchar *title) -{ - GtkWindowDecoration *deco = get_decoration (window); - - if (deco->title_layout) - pango_layout_set_text (deco->title_layout, title, -1); -} - -void -gtk_decorated_window_calculate_frame_size (GtkWindow *window) -{ - GdkWMDecoration decorations; - GtkWindowDecoration *deco = get_decoration (window); - - if (gdk_window_get_decorations (GTK_WIDGET (window)->window, - &decorations)) - { - if ((decorations & GDK_DECOR_BORDER) && - (decorations & GDK_DECOR_TITLE)) - { - deco->decorated = TRUE; - if ((decorations & GDK_DECOR_MAXIMIZE) && - (gtk_window_get_type_hint (window) == GDK_WINDOW_TYPE_HINT_NORMAL)) - deco->maximizable = TRUE; - } - else - deco->decorated = FALSE; - } - else - { - deco->decorated = (window->type != GTK_WINDOW_POPUP); - deco->maximizable = (gtk_window_get_type_hint (window) == GDK_WINDOW_TYPE_HINT_NORMAL); - } - - if (deco->decorated) - gtk_window_set_frame_dimensions (window, - DECORATION_BORDER_LEFT, - DECORATION_BORDER_TOP, - DECORATION_BORDER_RIGHT, - DECORATION_BORDER_BOTTOM); - else - gtk_window_set_frame_dimensions (window, 0, 0, 0, 0); - - gtk_decorated_window_recalculate_regions (window); -} - -static gboolean -gtk_decorated_window_inner_change (GdkWindow *win, - gint x, gint y, - gint width, gint height, - gpointer user_data) -{ - GtkWindow *window = (GtkWindow *)user_data; - GtkWidget *widget = GTK_WIDGET (window); - GtkWindowDecoration *deco = get_decoration (window); - - if (deco->real_inner_move) - { - deco->real_inner_move = FALSE; - return FALSE; - } - - deco->real_inner_move = TRUE; - gdk_window_move_resize (widget->window, - window->frame_left, window->frame_top, - width, height); - - gdk_window_move_resize (window->frame, - x - window->frame_left, y - window->frame_top, - width + window->frame_left + window->frame_right, - height + window->frame_top + window->frame_bottom); - return TRUE; -} - -static void -gtk_decorated_window_inner_get_pos (GdkWindow *win, - gint *x, gint *y, - gpointer user_data) -{ - GtkWindow *window = (GtkWindow *)user_data; - - gdk_window_get_position (window->frame, x, y); - - *x += window->frame_left; - *y += window->frame_top; -} - -static void -gtk_decorated_window_realize (GtkWindow *window) -{ - GtkWindowDecoration *deco = get_decoration (window); - GtkWidget *widget = GTK_WIDGET (window); - PangoFontDescription *font_desc; - - deco->title_layout = gtk_widget_create_pango_layout (widget, - (window->title)?window->title:""); - - font_desc = pango_font_description_from_string(DECORATION_TITLE_FONT); - pango_layout_set_font_description (deco->title_layout, font_desc); - pango_font_description_free (font_desc); -} - - -static void -gtk_decorated_window_unrealize (GtkWindow *window) -{ - GtkWindowDecoration *deco = get_decoration (window); - - if (deco->title_layout) - { - g_object_unref (deco->title_layout); - deco->title_layout = NULL; - } -} - -static gint -gtk_decorated_window_frame_event (GtkWindow *window, GdkEvent *event) -{ - GtkWindowDecoration *deco = get_decoration (window); - GtkWidget *widget = GTK_WIDGET (window); - GdkEventExpose *expose_event; - - switch (event->type) - { - case GDK_EXPOSE: - expose_event = (GdkEventExpose *)event; - if (deco->decorated) - gtk_decorated_window_paint (widget, &expose_event->area); - return TRUE; - break; - case GDK_CONFIGURE: - gtk_decorated_window_recalculate_regions (window); - break; - case GDK_MOTION_NOTIFY: - return gtk_decorated_window_motion_notify (widget, (GdkEventMotion *)event); - break; - case GDK_BUTTON_PRESS: - return gtk_decorated_window_button_press (widget, (GdkEventButton *)event); - break; - case GDK_BUTTON_RELEASE: - return gtk_decorated_window_button_release (widget, (GdkEventButton *)event); - case GDK_WINDOW_STATE: - return gtk_decorated_window_window_state (widget, (GdkEventWindowState *)event); - default: - break; - } - return FALSE; -} - -static gint -gtk_decorated_window_focus_change (GtkWidget *widget, - GdkEventFocus *event) -{ - GtkWindow *window = GTK_WINDOW(widget); - GtkWindowDecoration *deco = get_decoration (window); - deco->focused = event->in; - gdk_window_invalidate_rect (window->frame, NULL, FALSE); - return FALSE; -} - -static gint -gtk_decorated_window_motion_notify (GtkWidget *widget, - GdkEventMotion *event) -{ - GtkWindow *window; - GtkWindowDecoration *deco; - GdkModifierType mask; - GdkWindow *win; - gint x, y; - gint win_x, win_y, win_w, win_h; - - window = GTK_WINDOW (widget); - deco = get_decoration (window); - - if (!deco->decorated) - return TRUE; - - win = widget->window; - gdk_window_get_pointer (window->frame, &x, &y, &mask); - - gdk_window_get_position (window->frame, &win_x, &win_y); - win_x += DECORATION_BORDER_LEFT; - win_y += DECORATION_BORDER_TOP; - - gdk_window_get_geometry (win, NULL, NULL, &win_w, &win_h); - - if (deco->moving) - { - int dx, dy; - dx = x - deco->last_x; - dy = y - deco->last_y; - - gtk_window_move (window, win_x + dx, win_y + dy); - } - - if (deco->resize != RESIZE_NONE) - { - int w, h; - - w = win_w; - h = win_h; - - switch(deco->resize) { - case RESIZE_BOTTOM_RIGHT: - w = x - DECORATION_BORDER_TOT_X; - h = y - DECORATION_BORDER_TOT_Y; - break; - case RESIZE_RIGHT: - w = x - DECORATION_BORDER_TOT_X; - break; - case RESIZE_BOTTOM: - h = y - DECORATION_BORDER_TOT_Y; - break; - case RESIZE_TOP_LEFT: - case RESIZE_TOP: - case RESIZE_TOP_RIGHT: - case RESIZE_BOTTOM_LEFT: - case RESIZE_LEFT: - default: - g_warning ("Resize mode %d not handled yet.\n", deco->resize); - break; - } - - if ((w > 0) && (h > 0)) - { - _gtk_window_constrain_size (window, w,h, &w, &h); - - if ((w != win_w) || (h != win_h)) - gdk_window_resize (widget->window, w, h); - } - } - - return TRUE; -} - -static GtkWindowRegionType -gtk_decorated_window_region_type (GtkWindow *window, gint x, gint y) -{ - GtkWindowDecoration *deco = get_decoration (window); - int i; - - for (i=0;in_regions;i++) - { - if ((x > deco->regions[i].rect.x) && - (x - deco->regions[i].rect.x < deco->regions[i].rect.width) && - (y > deco->regions[i].rect.y) && - (y - deco->regions[i].rect.y < deco->regions[i].rect.height)) - return deco->regions[i].type; - } - return -1; -} - -static gint -gtk_decorated_window_button_press (GtkWidget *widget, - GdkEventButton *event) -{ - GtkWindow *window; - GtkWindowRegionType type; - GtkWindowDecoration *deco; - gint x, y; - - window = GTK_WINDOW (widget); - deco = get_decoration (window); - - if (!deco->decorated) - return TRUE; - - x = event->x; - y = event->y; - - type = gtk_decorated_window_region_type (window, x, y); - - switch (type) - { - case GTK_WINDOW_REGION_TITLE: - if (!deco->maximized && event->state & GDK_BUTTON1_MASK) - { - deco->last_x = x; - deco->last_y = y; - deco->moving = TRUE; - } - break; - case GTK_WINDOW_REGION_MAXIMIZE: - if (event->state & GDK_BUTTON1_MASK) - deco->maximizing = TRUE; - break; - case GTK_WINDOW_REGION_CLOSE: - if (event->state & GDK_BUTTON1_MASK) - deco->closing = TRUE; - break; - case GTK_WINDOW_REGION_BR_RESIZE: - if (!deco->maximized) - { - if (event->state & GDK_BUTTON1_MASK) - deco->resize = RESIZE_BOTTOM_RIGHT; - deco->last_x = x; - deco->last_y = y; - } - break; - default: - break; - } - - return TRUE; -} - -static gint -gtk_decorated_window_button_release (GtkWidget *widget, - GdkEventButton *event) -{ - GtkWindow *window; - GtkWindowRegionType type; - GtkWindowDecoration *deco; - - window = GTK_WINDOW (widget); - deco = get_decoration (window); - - if (deco->closing) - { - type = gtk_decorated_window_region_type (window, event->x, event->y); - if (type == GTK_WINDOW_REGION_CLOSE) - { - GdkEvent *event = gdk_event_new (GDK_DELETE); - - event->any.type = GDK_DELETE; - event->any.window = g_object_ref (widget->window); - event->any.send_event = TRUE; - - gtk_main_do_event (event); - gdk_event_free (event); - } - } - else if (deco->maximizing) - { - type = gtk_decorated_window_region_type (window, event->x, event->y); - if (type == GTK_WINDOW_REGION_MAXIMIZE) - { - if (deco->maximized) - gtk_window_unmaximize (window); - else - gtk_window_maximize (window); - } - } - - deco->closing = FALSE; - deco->maximizing = FALSE; - deco->moving = FALSE; - deco->resize = RESIZE_NONE; - return TRUE; -} - -static gint -gtk_decorated_window_window_state (GtkWidget *widget, - GdkEventWindowState *event) -{ - GtkWindow *window; - GtkWindowDecoration *deco; - GdkWindowObject *priv; - - window = GTK_WINDOW (widget); - deco = get_decoration (window); - priv = GDK_WINDOW_OBJECT (window->frame); - - if (event->changed_mask & GDK_WINDOW_STATE_MAXIMIZED) - { - if (event->new_window_state & GDK_WINDOW_STATE_MAXIMIZED) - { - int w, h; - gdk_window_get_geometry (widget->window, NULL, NULL, - &deco->last_w, &deco->last_h); - gdk_window_get_origin (widget->window, &deco->last_x, &deco->last_y); - w = gdk_screen_get_width(gdk_screen_get_default()) - DECORATION_BORDER_TOT_X; - h = gdk_screen_get_height(gdk_screen_get_default()) - DECORATION_BORDER_TOT_Y; - _gtk_window_constrain_size (window, w, h, &w, &h); - if (w != deco->last_w || h != deco->last_h) - { - gtk_window_move (window, DECORATION_BORDER_LEFT, DECORATION_BORDER_TOP); - gdk_window_resize (widget->window, w, h); - deco->maximized = TRUE; - } - } - else - { - gtk_window_move (window, deco->last_x, deco->last_y); - _gtk_window_constrain_size (window, deco->last_w, deco->last_h, - &deco->last_w, &deco->last_h); - gdk_window_resize (widget->window, deco->last_w, deco->last_h); - deco->maximized = FALSE; - } - } - return TRUE; -} - -static void -gtk_decorated_window_paint (GtkWidget *widget, - GdkRectangle *area) -{ - GtkWindow *window = GTK_WINDOW (widget); - GtkWindowDecoration *deco = get_decoration (window); - gint x1, y1, x2, y2; - GtkStateType border_state; - cairo_t *cr; - - if (deco->decorated) - { - GdkWindow *frame; - gint width, height; - - frame = window->frame; - gdk_drawable_get_size (frame, &width, &height); - - /* Top */ - gtk_paint_flat_box (widget->style, frame, GTK_STATE_NORMAL, - GTK_SHADOW_NONE, area, widget, "base", - 0, 0, - width, DECORATION_BORDER_TOP); - /* Bottom */ - gtk_paint_flat_box (widget->style, frame, GTK_STATE_NORMAL, - GTK_SHADOW_NONE, area, widget, "base", - 0, height - DECORATION_BORDER_BOTTOM, - width, DECORATION_BORDER_BOTTOM); - /* Left */ - gtk_paint_flat_box (widget->style, frame, GTK_STATE_NORMAL, - GTK_SHADOW_NONE, area, widget, "base", - 0, DECORATION_BORDER_TOP, - DECORATION_BORDER_LEFT, height - DECORATION_BORDER_TOT_Y); - /* Right */ - gtk_paint_flat_box (widget->style, frame, GTK_STATE_NORMAL, - GTK_SHADOW_NONE, area, widget, "base", - width - DECORATION_BORDER_RIGHT, DECORATION_BORDER_TOP, - DECORATION_BORDER_RIGHT, height - DECORATION_BORDER_TOT_Y); - - /* Border: */ - if (deco->focused) - border_state = GTK_STATE_SELECTED; - else - border_state = GTK_STATE_PRELIGHT; - - gtk_paint_box (widget->style, frame, border_state, - GTK_SHADOW_OUT, area, widget, "base", - 0, 0, width, height); - - gtk_paint_box (widget->style, frame, border_state, - GTK_SHADOW_IN, area, widget, "base", - DECORATION_BORDER_LEFT - 2, DECORATION_BORDER_TOP - 2, - width - (DECORATION_BORDER_LEFT + DECORATION_BORDER_RIGHT) + 3, - height - (DECORATION_BORDER_TOP + DECORATION_BORDER_BOTTOM) + 3); - - cr = gdk_cairo_create (frame); - cairo_set_line_width (cr, 1.0); - cairo_set_line_cap (cr, CAIRO_LINE_CAP_SQUARE); - - if (area) - { - gdk_cairo_rectangle (cr, &area); - cairo_clip (cr); - } - - if (deco->maximizable) - { - /* Maximize button: */ - - x1 = width - (DECORATION_BORDER_LEFT * 2) - (DECORATION_BUTTON_SIZE * 2); - y1 = DECORATION_BUTTON_Y_OFFSET; - x2 = x1 + DECORATION_BUTTON_SIZE; - y2 = y1 + DECORATION_BUTTON_SIZE; - - gdk_cairo_set_source_color (cr, &widget->style->bg[widget->state]); - cairo_rectangle (cr, x1, y1, x2 - x1, y2 - y1); - cairo_fill (cr); - - gdk_cairo_set_source_rgb (cr, 0, 0, 0); - cairo_rectangle (cr, x1 + 1, y1 + 1, x2 - x1 - 3, 1); - cairo_move_to (cr, x1 + 1.5, y1 + 1.5); - cairo_line_to (cr, x2 - 1.5, y1 + 1.5); - cairo_rectangle (cr, x1 + 1.5, y1 + 2.5, DECORATION_BUTTON_SIZE - 3, DECORATION_BUTTON_SIZE - 4); - cairo_stroke (cr); - } - - /* Close button: */ - - x1 = width - DECORATION_BORDER_LEFT - DECORATION_BUTTON_SIZE; - y1 = DECORATION_BUTTON_Y_OFFSET; - x2 = width - DECORATION_BORDER_LEFT; - y2 = DECORATION_BUTTON_Y_OFFSET + DECORATION_BUTTON_SIZE; - - gdk_cairo_set_source_color (cr, &widget->style->bg[widget->state]); - cairo_rectangle (cr, x1, y1, x2 - x1, y2 - y1); - cairo_fill (cr); - - /* draw an X */ - cairo_move_to (cr, x1 + 0.5, y1 + 0.5); - cairo_line_to (cr, x2 - 0.5, y2 - 0.5); - cairo_move_to (cr, x1 + 0.5, y2 - 0.5); - cairo_line_to (cr, x2 - 0.5, y1 + 0.5); - cairo_stroke (cr); - - /* Title */ - if (deco->title_layout) - { - gdk_cairo_set_source_color (cr, widget->style->fg [border_state]); - pango_cairo_show_layout (cr, deco->title_layout); - } - - cairo_destroy (cr); - } -} - - -static void -gtk_decorated_window_recalculate_regions (GtkWindow *window) -{ - gint n_regions; - gint width, height; - GtkWindowRegion *region; - GtkWindowDecoration *deco = get_decoration (window); - - n_regions = 0; - - if (!deco->decorated) - return; - - n_regions += 2; /* close, Title */ - if (deco->maximizable) - n_regions += 1; - if (gtk_window_get_resizable (window)) - n_regions += 2; - - if (deco->n_regions != n_regions) - { - g_free (deco->regions); - deco->regions = g_new (GtkWindowRegion, n_regions); - deco->n_regions = n_regions; - } - - width = GTK_WIDGET (window)->allocation.width + DECORATION_BORDER_TOT_X; - height = GTK_WIDGET (window)->allocation.height + DECORATION_BORDER_TOT_Y; - - region = deco->regions; - - /* Maximize button */ - if (deco->maximizable) - { - region->rect.x = width - (DECORATION_BORDER_LEFT * 2) - (DECORATION_BUTTON_SIZE * 2); - region->rect.y = DECORATION_BUTTON_Y_OFFSET; - region->rect.width = DECORATION_BUTTON_SIZE; - region->rect.height = DECORATION_BUTTON_SIZE; - region->type = GTK_WINDOW_REGION_MAXIMIZE; - region++; - } - - /* Close button */ - region->rect.x = width - DECORATION_BORDER_LEFT - DECORATION_BUTTON_SIZE; - region->rect.y = DECORATION_BUTTON_Y_OFFSET; - region->rect.width = DECORATION_BUTTON_SIZE; - region->rect.height = DECORATION_BUTTON_SIZE; - region->type = GTK_WINDOW_REGION_CLOSE; - region++; - - /* title bar */ - region->rect.x = 0; - region->rect.y = 0; - region->rect.width = width; - region->rect.height = DECORATION_BORDER_TOP; - region->type = GTK_WINDOW_REGION_TITLE; - region++; - - if (gtk_window_get_resizable (window)) - { - region->rect.x = width - (DECORATION_BORDER_RIGHT + 10); - region->rect.y = height - DECORATION_BORDER_BOTTOM; - region->rect.width = DECORATION_BORDER_RIGHT + 10; - region->rect.height = DECORATION_BORDER_BOTTOM; - region->type = GTK_WINDOW_REGION_BR_RESIZE; - region++; - - region->rect.x = width - DECORATION_BORDER_RIGHT; - region->rect.y = height - (DECORATION_BORDER_BOTTOM + 10); - region->rect.width = DECORATION_BORDER_RIGHT; - region->rect.height = DECORATION_BORDER_BOTTOM + 10; - region->type = GTK_WINDOW_REGION_BR_RESIZE; - region++; - } -} - -void -gtk_decorated_window_move_resize_window (GtkWindow *window, - gint x, - gint y, - gint width, - gint height) -{ - GtkWidget *widget = GTK_WIDGET (window); - GtkWindowDecoration *deco = get_decoration (window); - - deco->real_inner_move = TRUE; - gdk_window_move_resize (widget->window, - x, y, width, height); -} -#else - -void -gtk_decorated_window_init (GtkWindow *window) -{ -} - -void -gtk_decorated_window_calculate_frame_size (GtkWindow *window) -{ -} - -void -gtk_decorated_window_set_title (GtkWindow *window, - const gchar *title) -{ -} - -void -gtk_decorated_window_move_resize_window (GtkWindow *window, - gint x, - gint y, - gint width, - gint height) -{ - gdk_window_move_resize (gtk_widget_get_window (GTK_WIDGET (window)), - x, y, width, height); -} -#endif diff --git a/gtk/gtkwindow-decorate.h b/gtk/gtkwindow-decorate.h deleted file mode 100644 index 9f182f457b..0000000000 --- a/gtk/gtkwindow-decorate.h +++ /dev/null @@ -1,41 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 2001 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Authors: Alexander Larsson - */ - -#ifndef __GTK_WINDOW_DECORATE_H__ -#define __GTK_WINDOW_DECORATE_H__ - -G_BEGIN_DECLS - -void gtk_decorated_window_init (GtkWindow *window); -void gtk_decorated_window_calculate_frame_size (GtkWindow *window); -void gtk_decorated_window_set_title (GtkWindow *window, - const gchar *title); -void gtk_decorated_window_move_resize_window (GtkWindow *window, - gint x, - gint y, - gint width, - gint height); - -G_END_DECLS - -#endif /* __GTK_WINDOW_DECORATE_H__ */ diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 31f46a56cd..b42f68dc87 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -37,7 +37,6 @@ #include "gtkprivate.h" #include "gtkrc.h" #include "gtkwindow.h" -#include "gtkwindow-decorate.h" #include "gtkbindings.h" #include "gtkkeyhash.h" #include "gtkmain.h" @@ -1135,8 +1134,6 @@ gtk_window_init (GtkWindow *window) priv->has_user_ref_count = TRUE; toplevel_list = g_slist_prepend (toplevel_list, window); - gtk_decorated_window_init (window); - g_signal_connect (priv->screen, "composited-changed", G_CALLBACK (gtk_window_on_composited_changed), window); } @@ -1584,8 +1581,6 @@ gtk_window_set_title (GtkWindow *window, { gdk_window_set_title (gtk_widget_get_window (widget), priv->title); - - gtk_decorated_window_set_title (window, title); } g_object_notify (G_OBJECT (window), "title"); @@ -4671,11 +4666,6 @@ gtk_window_show (GtkWidget *widget) was_realized = TRUE; } - /* Must be done after the windows are realized, - * so that the decorations can be read - */ - gtk_decorated_window_calculate_frame_size (window); - /* We only send configure request if we didn't just finish * creating the window; if we just created the window * then we created it with widget->allocation anyhow. @@ -7583,10 +7573,10 @@ gtk_window_set_frame_dimensions (GtkWindow *window, width = allocation.width + left + right; height = allocation.height + top + bottom; gdk_window_resize (priv->frame, width, height); - gtk_decorated_window_move_resize_window (window, - left, top, - allocation.width, - allocation.height); + gdk_window_move_resize (gtk_widget_get_window (GTK_WIDGET (window)), + left, top, + allocation.width, + allocation.height); } } From 9b042e39ecd7c386031addbac5475387b06e004e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 6 Dec 2010 18:56:11 +0100 Subject: [PATCH 0400/1463] gdk: Add section docs for GdkRGBA --- gdk/gdkrgba.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gdk/gdkrgba.c b/gdk/gdkrgba.c index 686d89b07b..97c4071119 100644 --- a/gdk/gdkrgba.c +++ b/gdk/gdkrgba.c @@ -32,11 +32,31 @@ * SECTION:rgba_colors * @Short_description: RGBA colors * @Title: RGBA Colors + * + * The #GdkRGBA struct is a convenient way to pass rgba colors around. + * It's based on cairo's way to deal with colors and mirros its behavior. + * All values are in the range from 0.0 to 1.0 inclusive. So the color + * (0.0, 0.0, 0.0, 0.0) represents transparent black and + * (1.0, 1.0, 1.0, 1.0) is opaque white. Other values will be clamped + * to this range when drawing. */ G_DEFINE_BOXED_TYPE (GdkRGBA, gdk_rgba, gdk_rgba_copy, gdk_rgba_free) +/** + * GdkRGBA: + * @red: The intensity of the red channel from 0.0 to 1.0 inclusive. + * @green: The intensity of the green channel from 0.0 to 1.0 inclusive. + * @blue: The intensity of the blue channel from 0.0 to 1.0 inclusive. + * @alpha: The opacity of the color from 0.0 for completely translucent to + * 1.0 for opaque. + * + * The GdkRGBA structure is used to pass around color data. When using it + * as struct members or on the stack, you want to use the struct directly + * and not allocate it. + */ + /** * gdk_rgba_copy: * @rgba: a #GdkRGBA From ad80cb627928f1e3b94dc53f3a9750b3ccd88f36 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 14:10:42 -0500 Subject: [PATCH 0401/1463] Allow + in identifiers This is necessary since we treat paths as identifiers in @import rules, and it is common to have a + in there (at least when distchecking gtk+ ...) --- gtk/gtkcssprovider.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index f5ab19a6c9..5faa07666c 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -1451,7 +1451,7 @@ scanner_apply_scope (GScanner *scanner, if (scope == SCOPE_VALUE) { scanner->config->cset_identifier_first = G_CSET_a_2_z G_CSET_A_2_Z G_CSET_DIGITS "@#-_"; - scanner->config->cset_identifier_nth = G_CSET_a_2_z G_CSET_A_2_Z G_CSET_DIGITS "@#-_ (),.%\t\n'/\""; + scanner->config->cset_identifier_nth = G_CSET_a_2_z G_CSET_A_2_Z G_CSET_DIGITS "@#-_ +(),.%\t\n'/\""; scanner->config->scan_identifier_1char = TRUE; } else if (scope == SCOPE_SELECTOR) @@ -2407,7 +2407,6 @@ path_parse_str (GtkCssProvider *css_provider, { gchar *path, *chr; const gchar *start, *end; - start = str; if (g_str_has_prefix (str, "url")) From f2ab9e497dc634ec10bfbb0b6d6fcfdfe2f20bc2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 14:11:46 -0500 Subject: [PATCH 0402/1463] Prepare the stylecontext test to run out-of-srcdir This is necessary to make distcheck work. --- gtk/tests/Makefile.am | 1 + gtk/tests/stylecontext.c | 16 +++++++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index dda9727d49..186880b11c 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -6,6 +6,7 @@ INCLUDES = \ -I$(top_srcdir)/gdk \ -DGDK_DISABLE_DEPRECATED \ -DGTK_DISABLE_DEPRECATED \ + -DSRCDIR=\""$(abs_srcdir)"\" \ $(GTK_DEBUG_FLAGS) \ $(GTK_DEP_CFLAGS) diff --git a/gtk/tests/stylecontext.c b/gtk/tests/stylecontext.c index 20b7dadfc9..54141edd99 100644 --- a/gtk/tests/stylecontext.c +++ b/gtk/tests/stylecontext.c @@ -26,11 +26,11 @@ test_parse_at (void) gboolean res; gint i; const gchar *valid[] = { - "@import \"test.css\";", - "@import 'test.css';", - "@import url(\"test.css\");", - "@import url('test.css');", - "@import\nurl (\t\"test.css\" ) ;", + "@import \"" SRCDIR "/test.css\";", + "@import '" SRCDIR "/test.css';", + "@import url(\"" SRCDIR "/test.css\");", + "@import url('" SRCDIR "/test.css');", + "@import\nurl (\t\"" SRCDIR "/test.css\" ) ;", "@define-color bg_color #f9a039;", "@define-color color @bg_color;", "@define-color color rgb(100, 99, 88);", @@ -48,8 +48,8 @@ test_parse_at (void) }; const gchar *invalid[] = { - "@import test.css ;", - "@import url ( \"test.css\" xyz );", + "@import " SRCDIR "/test.css ;", + "@import url ( \"" SRCDIR "/test.css\" xyz );", "@import url(\");", "@import url(');", "@import url(\"abc');", @@ -77,6 +77,8 @@ test_parse_at (void) { provider = gtk_css_provider_new (); res = gtk_css_provider_load_from_data (provider, valid[i], -1, &error); + if (error) + g_print ("parsing '%s': got unexpected error: %s\n", valid[i], error->message); g_assert_no_error (error); g_assert (res); From fe008de12c2cd5e30cc41535527d574e368ab32d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 14:35:13 -0500 Subject: [PATCH 0403/1463] Fix POTFILES for recent changes --- po-properties/POTFILES.in | 1 - po/POTFILES.in | 1 - 2 files changed, 2 deletions(-) diff --git a/po-properties/POTFILES.in b/po-properties/POTFILES.in index 4ea635ed5e..da8ed2bd9b 100644 --- a/po-properties/POTFILES.in +++ b/po-properties/POTFILES.in @@ -209,7 +209,6 @@ gtk/gtkvscrollbar.c gtk/gtkvseparator.c gtk/gtkwidget.c gtk/gtkwindow.c -gtk/gtkwindow-decorate.c gtk/paper_names.c gtk/paper_names_offsets.c gtk/updateiconcache.c diff --git a/po/POTFILES.in b/po/POTFILES.in index 35783a698e..3bb4266da7 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -210,7 +210,6 @@ gtk/gtkvscrollbar.c gtk/gtkvseparator.c gtk/gtkwidget.c gtk/gtkwindow.c -gtk/gtkwindow-decorate.c gtk/paper_names_offsets.c gtk/updateiconcache.c modules/input/gtkimcontextxim.c From 26f6b48ccb17910e1593753ea21b221290373a6f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 17:44:12 -0500 Subject: [PATCH 0404/1463] Update for the removal of gtk_decorated_window_ apis --- NEWS | 2 ++ gtk/gtk.symbols | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/NEWS b/NEWS index da432f5c52..c9bec87b7e 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,8 @@ Overview of Changes from GTK+ 2.91.5 to 2.91.6 - GtkStyle and GtkRcStyle have been deprecated - The GdkWindowClass enumeration is now GdkWindowWindowClass - gdk_window_get_geometry lost its depth argument + - The old, unused gtk_decorated_window_... functions have + been removed. * GtkComboBox has gained an 'active id' property that is intended for easy binding to settings diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 7d444bbb97..6311e46e81 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -619,10 +619,6 @@ gtk_css_provider_load_from_path gtk_css_provider_new gtk_custom_paper_unix_dialog_get_type G_GNUC_CONST gtk_debug_flag_get_type G_GNUC_CONST -gtk_decorated_window_calculate_frame_size -gtk_decorated_window_init -gtk_decorated_window_move_resize_window -gtk_decorated_window_set_title gtk_delete_type_get_type G_GNUC_CONST gtk_dest_defaults_get_type G_GNUC_CONST gtk_device_grab_add From fae1e7481232741a1957e4d0791d6dd2e5709212 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 19:05:18 -0500 Subject: [PATCH 0405/1463] More !srcdir fixes for the stylecontext test --- gtk/tests/stylecontext.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/tests/stylecontext.c b/gtk/tests/stylecontext.c index 54141edd99..69b9510bfd 100644 --- a/gtk/tests/stylecontext.c +++ b/gtk/tests/stylecontext.c @@ -219,8 +219,8 @@ test_parse_declarations (void) " center center, 0.8, \n" " color-stop (0.0,#fff),\n" " color-stop (1.0,#000))}\n", - "* { border-image: url (\"test.png\") 3 4 3 4 stretch }", - "* { border-image: url (\"test.png\") 3 4 3 4 repeat stretch}", + "* { border-image: url (\"" SRCDIR "/test.png\") 3 4 3 4 stretch }", + "* { border-image: url (\"" SRCDIR "/test.png\") 3 4 3 4 repeat stretch}", "* { transition: 150ms ease-in-out }", "* { transition: 1s linear loop }", NULL From 509e0423e1487e290afa246d86cf9361987713cb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 6 Dec 2010 20:37:30 -0500 Subject: [PATCH 0406/1463] Bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 17023af81d..40402924f7 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [91]) -m4_define([gtk_micro_version], [6]) +m4_define([gtk_micro_version], [7]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From 97e060b094e6ad894c09da927f054069a874638b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 7 Dec 2010 13:11:27 +0900 Subject: [PATCH 0407/1463] Fixed my mistake in validate_row (), now the height of treeviews in GtkEntryCompletion is correct again. --- gtk/gtktreeview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index c9ca131cbc..d6e290dff9 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -6146,7 +6146,7 @@ validate_row (GtkTreeView *tree_view, if (!is_separator) { - padding += vertical_separator; + row_height += vertical_separator; height = MAX (height, row_height); height = MAX (height, tree_view->priv->expander_size); } From 515af9ce702d77c5d1ab0a089c51564c31cd2247 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 7 Dec 2010 13:49:21 +0900 Subject: [PATCH 0408/1463] Temporary fix to make separator rows request enough space for the expander size. This fix is incorrect, treeviews dont rely on the expander size for drawing separator rows (added XXX comment in line), need to fix this somewhere else --- gtk/gtktreeview.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index d6e290dff9..c2a611ccd5 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -6148,7 +6148,6 @@ validate_row (GtkTreeView *tree_view, { row_height += vertical_separator; height = MAX (height, row_height); - height = MAX (height, tree_view->priv->expander_size); } else { @@ -6158,6 +6157,10 @@ validate_row (GtkTreeView *tree_view, height = 2 + 2 * focus_pad; } + /* XXX Expander size is also used to draw the separator rows, + * maybe that should not be the case ? */ + height = MAX (height, tree_view->priv->expander_size); + if (gtk_tree_view_is_expander_column (tree_view, column)) { padding += horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; From 1b336983842d302f6898f700e96512f163eda498 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 7 Dec 2010 14:09:26 +0900 Subject: [PATCH 0409/1463] Revert "Temporary fix to make separator rows request enough space for the expander size." This reverts commit 515af9ce702d77c5d1ab0a089c51564c31cd2247. --- gtk/gtktreeview.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index c2a611ccd5..d6e290dff9 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -6148,6 +6148,7 @@ validate_row (GtkTreeView *tree_view, { row_height += vertical_separator; height = MAX (height, row_height); + height = MAX (height, tree_view->priv->expander_size); } else { @@ -6157,10 +6158,6 @@ validate_row (GtkTreeView *tree_view, height = 2 + 2 * focus_pad; } - /* XXX Expander size is also used to draw the separator rows, - * maybe that should not be the case ? */ - height = MAX (height, tree_view->priv->expander_size); - if (gtk_tree_view_is_expander_column (tree_view, column)) { padding += horizontal_separator + (depth - 1) * tree_view->priv->level_indentation; From 5fef00de2c84ddac01a2c6306fd427b6ff66e541 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 7 Dec 2010 17:04:04 +0900 Subject: [PATCH 0410/1463] Adding gtk_tree_view_column_new_with_area to gtk.symbols and gtk3-sections.txt. --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 555a043ba2..a7b316964d 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4145,6 +4145,7 @@ GtkTreeViewColumnSizing GtkTreeCellDataFunc GtkTreeViewColumn gtk_tree_view_column_new +gtk_tree_view_column_new_with_area gtk_tree_view_column_new_with_attributes gtk_tree_view_column_pack_start gtk_tree_view_column_pack_end diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 3e0704fde6..2761dee8ef 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3053,6 +3053,7 @@ gtk_tree_view_column_get_visible gtk_tree_view_column_get_widget gtk_tree_view_column_get_width gtk_tree_view_column_new +gtk_tree_view_column_new_with_area gtk_tree_view_column_new_with_attributes G_GNUC_NULL_TERMINATED gtk_tree_view_column_pack_end gtk_tree_view_column_pack_start From 6f67f5281fcdd157a53be0ce1aa715471c0df18b Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 7 Dec 2010 10:08:47 +0100 Subject: [PATCH 0411/1463] app-chooser-widget: plug a memory leak --- gtk/gtkappchooserwidget.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkappchooserwidget.c b/gtk/gtkappchooserwidget.c index 95510e9a35..5de7c3e7e0 100644 --- a/gtk/gtkappchooserwidget.c +++ b/gtk/gtkappchooserwidget.c @@ -402,13 +402,13 @@ gtk_app_chooser_sort_func (GtkTreeModel *model, /* they're both recommended/falback or not, so if one is a heading, wins */ if (a_heading) { - return -1; + retval = -1; goto out; } if (b_heading) { - return 1; + retval = 1; goto out; } From 503be101480b47a098146ac6ac2900fc16855124 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 7 Dec 2010 10:13:32 +0100 Subject: [PATCH 0412/1463] label: plug a memory leak --- gtk/gtklabel.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 563845c8d4..53b2df7eae 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3014,13 +3014,19 @@ get_font_metrics (PangoContext *context, GtkWidget *widget) { GtkStyleContext *style_context; PangoFontDescription *font; + PangoFontMetrics *retval; style_context = gtk_widget_get_style_context (widget); gtk_style_context_get (style_context, 0, "font", &font, NULL); - return pango_context_get_metrics (context, - font, - pango_context_get_language (context)); + retval = pango_context_get_metrics (context, + font, + pango_context_get_language (context)); + + if (font != NULL) + pango_font_description_free (font); + + return retval; } static void From fc5cabba90393246886c8122851646ec979b19fa Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 7 Dec 2010 23:45:48 +0900 Subject: [PATCH 0413/1463] Added minimum size parameter to GtkWidgetClass->adjust_size_allocation. This allows us to add a check before executing ->get_preferred_height_for_width() to ensure we always request for at least the minimum required size (and lets us remove the warning in gtkcontainer.c telling implementors to do this check manually from thier container implementations). --- gtk/gtkcontainer.c | 33 +++++---------------------------- gtk/gtksizerequest.c | 24 +++++++++++++++--------- gtk/gtkwidget.c | 18 +++++++++++++----- gtk/gtkwidget.h | 1 + 4 files changed, 34 insertions(+), 42 deletions(-) diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index 5433766c25..a5120377cf 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -144,32 +144,6 @@ * } * ]]> * - * Furthermore, in order to ensure correct height-for-width requests it is important - * to check the input width against the real required minimum width. This can - * easily be achieved as follows: - * - * get_preferred_width (widget, &min_width, NULL); - * - * for_width = MAX (min_width, for_width); - * - * execute_real_height_for_width_request_code (widget, for_width, min_height, nat_height); - * } - * else - * { - * ... fall back on virtual results as mentioned in the previous example ... - * } - * } - * ]]> - * * Height for width requests are generally implemented in terms of a virtual allocation * of widgets in the input orientation. Assuming an height-for-width request mode, a container * would implement the get_preferred_height_for_width() virtual function by first calling @@ -327,6 +301,7 @@ static void gtk_container_adjust_size_request (GtkWidget *widget, gint *natural_size); static void gtk_container_adjust_size_allocation (GtkWidget *widget, GtkOrientation orientation, + gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size); @@ -1809,6 +1784,7 @@ gtk_container_adjust_size_request (GtkWidget *widget, static void gtk_container_adjust_size_allocation (GtkWidget *widget, GtkOrientation orientation, + gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size) @@ -1821,7 +1797,7 @@ gtk_container_adjust_size_allocation (GtkWidget *widget, if (!GTK_CONTAINER_GET_CLASS (widget)->handle_border_width) { parent_class->adjust_size_allocation (widget, orientation, - natural_size, allocated_pos, + minimum_size, natural_size, allocated_pos, allocated_size); return; } @@ -1845,6 +1821,7 @@ gtk_container_adjust_size_allocation (GtkWidget *widget, else { *allocated_pos += border_width; + *minimum_size -= border_width * 2; *natural_size -= border_width * 2; } @@ -1856,7 +1833,7 @@ gtk_container_adjust_size_allocation (GtkWidget *widget, * and padding values. */ parent_class->adjust_size_allocation (widget, orientation, - natural_size, allocated_pos, + minimum_size, natural_size, allocated_pos, allocated_size); } diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index ab249484ea..c5e49e7db3 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -217,23 +217,26 @@ compute_size_for_orientation (GtkWidget *widget, } else { - int ignored_position = 0; - int natural_height; + gint ignored_position = 0; + gint minimum_height; + gint natural_height; /* Pull the base natural height from the cache as it's needed to adjust * the proposed 'for_size' */ - gtk_widget_get_preferred_height (widget, NULL, &natural_height); + gtk_widget_get_preferred_height (widget, &minimum_height, &natural_height); /* convert for_size to unadjusted height (for_size is a proposed allocation) */ GTK_WIDGET_GET_CLASS (widget)->adjust_size_allocation (widget, GTK_ORIENTATION_VERTICAL, - &natural_height, + &minimum_height, + &natural_height, &ignored_position, &for_size); push_recursion_check (widget, orientation, for_size); - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width_for_height (widget, for_size, - &min_size, &nat_size); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width_for_height (widget, + MAX (for_size, minimum_height), + &min_size, &nat_size); pop_recursion_check (widget, orientation); } } @@ -248,22 +251,25 @@ compute_size_for_orientation (GtkWidget *widget, else { int ignored_position = 0; + int minimum_width; int natural_width; /* Pull the base natural width from the cache as it's needed to adjust * the proposed 'for_size' */ - gtk_widget_get_preferred_width (widget, NULL, &natural_width); + gtk_widget_get_preferred_width (widget, &minimum_width, &natural_width); /* convert for_size to unadjusted width (for_size is a proposed allocation) */ GTK_WIDGET_GET_CLASS (widget)->adjust_size_allocation (widget, GTK_ORIENTATION_HORIZONTAL, + &minimum_width, &natural_width, &ignored_position, &for_size); push_recursion_check (widget, orientation, for_size); - GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, for_size, - &min_size, &nat_size); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, + MAX (for_size, minimum_width), + &min_size, &nat_size); pop_recursion_check (widget, orientation); } } diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index c82b6eaa86..c685b26d19 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -641,6 +641,7 @@ static void gtk_widget_real_adjust_size_request (GtkWidget gint *natural_size); static void gtk_widget_real_adjust_size_allocation (GtkWidget *widget, GtkOrientation orientation, + gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size); @@ -4636,7 +4637,7 @@ gtk_widget_size_allocate (GtkWidget *widget, gboolean alloc_needed; gboolean size_changed; gboolean position_changed; - gint natural_width, natural_height; + gint natural_width, natural_height, dummy; gint min_width, min_height; priv = widget->priv; @@ -4681,7 +4682,7 @@ gtk_widget_size_allocate (GtkWidget *widget, * when aligning implicitly. */ gtk_widget_get_preferred_width (widget, &min_width, &natural_width); - gtk_widget_get_preferred_height_for_width (widget, real_allocation.width, NULL, &natural_height); + gtk_widget_get_preferred_height_for_width (widget, real_allocation.width, &dummy, &natural_height); } else { @@ -4690,18 +4691,20 @@ gtk_widget_size_allocate (GtkWidget *widget, * when aligning implicitly. */ gtk_widget_get_preferred_height (widget, &min_height, &natural_height); - gtk_widget_get_preferred_width_for_height (widget, real_allocation.height, NULL, &natural_width); + gtk_widget_get_preferred_width_for_height (widget, real_allocation.height, &dummy, &natural_width); } /* Now that we have the right natural height and width, go ahead and remove any margins from the * allocated sizes and possibly limit them to the natural sizes */ GTK_WIDGET_GET_CLASS (widget)->adjust_size_allocation (widget, GTK_ORIENTATION_HORIZONTAL, + &dummy, &natural_width, &adjusted_allocation.x, &adjusted_allocation.width); GTK_WIDGET_GET_CLASS (widget)->adjust_size_allocation (widget, GTK_ORIENTATION_VERTICAL, + &dummy, &natural_height, &adjusted_allocation.y, &adjusted_allocation.height); @@ -5026,10 +5029,12 @@ adjust_for_align(GtkAlign align, static void adjust_for_margin(gint start_margin, gint end_margin, + gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size) { + *minimum_size -= (start_margin + end_margin); *natural_size -= (start_margin + end_margin); *allocated_pos += start_margin; *allocated_size -= (start_margin + end_margin); @@ -5038,6 +5043,7 @@ adjust_for_margin(gint start_margin, static void gtk_widget_real_adjust_size_allocation (GtkWidget *widget, GtkOrientation orientation, + gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size) @@ -5050,7 +5056,8 @@ gtk_widget_real_adjust_size_allocation (GtkWidget *widget, { adjust_for_margin (aux_info->margin.left, aux_info->margin.right, - natural_size, allocated_pos, allocated_size); + minimum_size, natural_size, + allocated_pos, allocated_size); adjust_for_align (aux_info->halign, natural_size, allocated_pos, allocated_size); } @@ -5058,7 +5065,8 @@ gtk_widget_real_adjust_size_allocation (GtkWidget *widget, { adjust_for_margin (aux_info->margin.top, aux_info->margin.bottom, - natural_size, allocated_pos, allocated_size); + minimum_size, natural_size, + allocated_pos, allocated_size); adjust_for_align (aux_info->valign, natural_size, allocated_pos, allocated_size); } diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 04f7772daf..2a079ea0b6 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -415,6 +415,7 @@ struct _GtkWidgetClass gint *natural_size); void (* adjust_size_allocation) (GtkWidget *widget, GtkOrientation orientation, + gint *minimum_size, gint *natural_size, gint *allocated_pos, gint *allocated_size); From 5ac194c2d71d0041cf9b0070a2fa0a2e50b24fef Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 7 Dec 2010 09:55:18 -0500 Subject: [PATCH 0414/1463] Some doc additions --- gtk/gtkwidget.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index c685b26d19..214c3913b5 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -1520,6 +1520,12 @@ gtk_widget_class_init (GtkWidgetClass *klass) * The ::style-set signal is emitted when a new style has been set * on a widget. Note that style-modifying functions like * gtk_widget_modify_base() also cause this signal to be emitted. + * + * Note that this signal is emitted for changes to the deprecated + * #GtkStyle. To track changes to the #GtkStyleContext associated + * with a widget, use the #GtkWidget::style-updated signal. + * + * Deprecated:3.0: Use the #GtkWidget::style-updated signal */ widget_signals[STYLE_SET] = g_signal_new (I_("style-set"), @@ -1531,6 +1537,16 @@ gtk_widget_class_init (GtkWidgetClass *klass) G_TYPE_NONE, 1, GTK_TYPE_STYLE); + /** + * GtkWidget::style-updated: + * @widget: the object on which the signal is emitted + * + * The ::style-updated signal is emitted when the #GtkStyleContext + * of a widget is changed. Note that style-modifying functions like + * gtk_widget_override_color() also cause this signal to be emitted. + * + * Since: 3.0 + */ widget_signals[STYLE_UPDATED] = g_signal_new (I_("style-updated"), G_TYPE_FROM_CLASS (gobject_class), @@ -8670,6 +8686,15 @@ reset_style_recurse (GtkWidget *widget, gpointer data) NULL); } +/** + * gtk_widget_reset_style: + * @widget: a #GtkWidget + * + * Updates the style context of @widget and all descendents + * by updating its widget path. + * + * Since: 3.0 + */ void gtk_widget_reset_style (GtkWidget *widget) { @@ -8739,7 +8764,7 @@ gtk_widget_peek_pango_context (GtkWidget *widget) * * If you create and keep a #PangoLayout using this context, you must * deal with changes to the context by calling pango_layout_context_changed() - * on the layout in response to the #GtkWidget::style-set and + * on the layout in response to the #GtkWidget::style-updated and * #GtkWidget::direction-changed signals for the widget. * * Return value: (transfer none): the #PangoContext for the widget. @@ -8855,7 +8880,7 @@ gtk_widget_create_pango_context (GtkWidget *widget) * If you keep a #PangoLayout created in this way around, in order to * notify the layout of changes to the base direction or font of this * widget, you must call pango_layout_context_changed() in response to - * the #GtkWidget::style-set and #GtkWidget::direction-changed signals + * the #GtkWidget::style-updated and #GtkWidget::direction-changed signals * for the widget. * * Return value: (transfer full): the new #PangoLayout From 38321eacbf0d99e232f91dc5d908cb36e024578b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 7 Dec 2010 12:59:17 -0500 Subject: [PATCH 0415/1463] GtkStyleContext migration guide tweaks Move the guide into the 2-to-3 guide, since it is something you have to do when porting from 2 to 3. Also add an example for handling of temporary state changes and some more text about color handling. --- docs/reference/gtk/migrating-2to3.xml | 3 + .../gtk/migrating-GtkStyleContext.xml | 82 +++++++++++++------ 2 files changed, 58 insertions(+), 27 deletions(-) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index fc39ff1e24..ad0919b9a8 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -1,6 +1,7 @@ ]> Migrating from GTK+ 2.x to GTK+ 3 @@ -954,6 +955,8 @@ gtk_arrow_draw (GtkWidget *widget,
+ + diff --git a/docs/reference/gtk/migrating-GtkStyleContext.xml b/docs/reference/gtk/migrating-GtkStyleContext.xml index 775fee0545..ef87ab5afc 100644 --- a/docs/reference/gtk/migrating-GtkStyleContext.xml +++ b/docs/reference/gtk/migrating-GtkStyleContext.xml @@ -1,9 +1,9 @@ - - - Migrating from GtkStyle to GtkStyleContext +
+ Theming changes In GTK+ 3.0, #GtkStyleContext was added to replace #GtkStyle and @@ -14,7 +14,7 @@ porting applications, libraries and widgets. - +
Migrating themes @@ -27,9 +27,9 @@ with possible variants such as the dark theme being named gtk-dark.css in the same directory. - +
- +
Migrating theme engines @@ -141,9 +141,9 @@ attempt to handle. - +
- +
Extending the CSS parser @@ -175,9 +175,9 @@ style property can be modified in CSS as -GtkWidget-focus-line-width. - +
- +
Using the CSS file format @@ -358,6 +358,15 @@ independently. + + In the same vein, the light, dark and mid color variants that + were available in GtkStyle should be replaced by a combination of + symbolic colors and custom CSS, where necessary. text_aa should + really not be used anywhere, anyway, and the white and black colors + that were available in GtkStyle can just be replaced by literal + GdkRGBA structs. + + Access to colors has also changed a bit. With #GtkStyle, the common way to access colors is: @@ -393,9 +402,9 @@ It is worth mentioning that the new file format does not support custom keybindings nor stock icon mappings as the RC format did. - +
- +
A checklist for widgets @@ -486,15 +495,34 @@ - Replace all gtk_paint_*() calls with corresponding - gtk_render_*() calls. The most distinctive changes - are the use of #GtkStateFlags to represent the widget state and the - lack of #GtkShadowType. For gtk_render_check() and gtk_render_option(), - the @shadow_type parameter is replaced by the #GTK_STATE_FLAG_ACTIVE - and #GTK_STATE_FLAG_INCONSISTENT state flags. For things such as - pressed/unpressed button states, #GTK_STATE_FLAG_ACTIVE is used, and - the CSS may style normal/active states differently to render - outset/inset borders, respectively. + + Replace all gtk_paint_*() calls with corresponding + gtk_render_*() calls. + + + The most distinctive changes are the use of #GtkStateFlags to + represent the widget state and the lack of #GtkShadowType. Note + that widget state is now passed implicitly via the context, so + to render in a certain state, you have to temporarily set the + state on the context, as in the following example: + + + Rendering with a specific state + + gtk_style_context_save (context); + gtk_style_context_set_state (context, GTK_STATE_FLAG_ACTIVE); + gtk_render_check (context, cr, x, y, width, height); + gtk_style_context_restore (context); + + + + For gtk_render_check() and gtk_render_option(), the @shadow_type + parameter is replaced by the #GTK_STATE_FLAG_ACTIVE and + #GTK_STATE_FLAG_INCONSISTENT state flags. For things such as + pressed/unpressed button states, #GTK_STATE_FLAG_ACTIVE is used, + and the CSS may style normal/active states differently to render + outset/inset borders, respectively. + @@ -515,9 +543,9 @@ of this is merely a guideline. Widgets may choose to follow it or not. - +
- +
Parsing of custom resources As a consequence of the RC format going away, calling gtk_rc_parse() or @@ -534,9 +562,9 @@ by implementing the #GtkStyleProvider interface yourself. This is an advanced feature that should be rarely used. - +
- +
Bonus points @@ -627,5 +655,5 @@ - - +
+
From 13209a9a6cfc647f4aad2e23600290e553782820 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Tue, 7 Dec 2010 19:03:55 +0100 Subject: [PATCH 0416/1463] More annotations for GdkDisplay Mostly (out), and a few (allow-none) for parameters. --- gdk/gdkdisplay.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index d5c01fdc02..5ef630d7bb 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -764,10 +764,11 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, * gdk_display_get_device_state: * @display: a #GdkDisplay. * @device: device to query status to. - * @screen: location to store the #GdkScreen the @device is on, or %NULL. - * @x: location to store root window X coordinate of @device, or %NULL. - * @y: location to store root window Y coordinate of @device, or %NULL. - * @mask: location to store current modifier mask for @device, or %NULL. + * @screen: (out) (transfer none) (allow-none): location to store the #GdkScreen + * the @device is on, or %NULL. + * @x: (out) (allow-none): location to store root window X coordinate of @device, or %NULL. + * @y: (out) (allow-none): location to store root window Y coordinate of @device, or %NULL. + * @mask: (out) (allow-none): location to store current modifier mask for @device, or %NULL. * * Gets the current location and state of @device for a given display. * @@ -804,8 +805,10 @@ gdk_display_get_device_state (GdkDisplay *display, * gdk_display_get_window_at_device_position: * @display: a #GdkDisplay. * @device: #GdkDevice to query info to. - * @win_x: return location for the X coordinate of the device location, relative to the window origin, or %NULL. - * @win_y: return location for the Y coordinate of the device location, relative to the window origin, or %NULL. + * @win_x: (out) (allow-none): return location for the X coordinate of the device location, + * relative to the window origin, or %NULL. + * @win_y: (out) (allow-none): return location for the Y coordinate of the device location, + * relative to the window origin, or %NULL. * * Obtains the window underneath @device, returning the location of the device in @win_x and @win_y. Returns * %NULL if the window tree under @device is not known to GDK (for example, belongs to another application). @@ -839,8 +842,8 @@ gdk_display_get_window_at_device_position (GdkDisplay *display, /** * gdk_display_set_device_hooks: * @display: a #GdkDisplay. - * @new_hooks: a table of pointers to functions for getting quantities related to all - * devices position, or %NULL to restore the default table. + * @new_hooks: (allow-none): a table of pointers to functions for getting quantities related + * to all devices position, or %NULL to restore the default table. * * This function allows for hooking into the operation of getting the current location of any * #GdkDevice on a particular #GdkDisplay. This is only useful for such low-level tools as @@ -1054,7 +1057,7 @@ multihead_default_window_at_pointer (GdkDisplay *display, /** * gdk_display_set_pointer_hooks: * @display: a #GdkDisplay - * @new_hooks: a table of pointers to functions for getting + * @new_hooks: (allow-none): a table of pointers to functions for getting * quantities related to the current pointer position, * or %NULL to restore the default table. * @@ -1155,7 +1158,7 @@ singlehead_default_window_at_pointer (GdkScreen *screen, /** * gdk_set_pointer_hooks: - * @new_hooks: a table of pointers to functions for getting + * @new_hooks: (allow-none): a table of pointers to functions for getting * quantities related to the current pointer position, * or %NULL to restore the default table. * @@ -1745,8 +1748,8 @@ _gdk_display_pointer_info_foreach (GdkDisplay *display, * gdk_device_grab_info_libgtk_only: * @display: the display for which to get the grab information * @device: device to get the grab information from - * @grab_window: location to store current grab window - * @owner_events: location to store boolean indicating whether + * @grab_window: (out) (transfer none): location to store current grab window + * @owner_events: (out): location to store boolean indicating whether * the @owner_events flag to gdk_keyboard_grab() or * gdk_pointer_grab() was %TRUE. * From 6188ea608f14fbfbb14fe7e4ad6dabc65d34c9de Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Wed, 8 Dec 2010 18:44:20 +1100 Subject: [PATCH 0417/1463] Add missing X11/Xlib.h include required for X11/extensions/sync.h --- gdk/x11/gdkwindow-x11.h | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/x11/gdkwindow-x11.h b/gdk/x11/gdkwindow-x11.h index fd63e8b462..0c02b67652 100644 --- a/gdk/x11/gdkwindow-x11.h +++ b/gdk/x11/gdkwindow-x11.h @@ -35,6 +35,7 @@ #endif #ifdef HAVE_XSYNC +#include #include #endif From 34f4b5c190e8a1f9a7e942cb46d33858a8723161 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 8 Dec 2010 21:18:05 +0900 Subject: [PATCH 0418/1463] Added 'background_area' calculation to GtkCellAreaClass->foreach_alloc vfunc This allows us to reduce code allocation code paths in subclasses, as a result GtkCellArea implements the ->render() vfunc and the subclass only decides the cell area and background area distributions in a single code path. --- gtk/gtkcellarea.c | 134 ++++++++++++++++++++++++++-- gtk/gtkcellarea.h | 6 +- gtk/gtkcellareabox.c | 204 +++++++++---------------------------------- 3 files changed, 173 insertions(+), 171 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 1fabc94d0d..73831b9939 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -317,7 +317,7 @@ * The #GtkCellArea introduces cell properties for #GtkCellRenderers in very * much the same way that #GtkContainer introduces child properties * for #GtkWidgets. This provides some general interfaces for defining the relationship cell areas - * have with thier cells. For instance in a #GtkCellAreaBox a cell might "expand" and recieve extra + * have with their cells. For instance in a #GtkCellAreaBox a cell might "expand" and recieve extra * space when the area is allocated more than it's full natural request, or a cell might be configured * to "align" with adjacent rows which were requested and rendered with the same #GtkCellAreaContext. * @@ -371,6 +371,14 @@ static gint gtk_cell_area_real_event (GtkCellArea GdkEvent *event, const GdkRectangle *cell_area, GtkCellRendererState flags); +static void gtk_cell_area_real_render (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus); static void gtk_cell_area_real_apply_attributes (GtkCellArea *area, GtkTreeModel *tree_model, GtkTreeIter *iter, @@ -430,6 +438,18 @@ typedef struct { GdkRectangle allocation; } RendererAllocationData; +/* Used in foreach loop to render cells */ +typedef struct { + GtkCellArea *area; + GtkWidget *widget; + cairo_t *cr; + GdkRectangle focus_rect; + GtkCellRendererState render_flags; + guint paint_focus : 1; + guint focus_all : 1; + guint first_focus : 1; +} CellRenderData; + /* Used in foreach loop to get a cell by position */ typedef struct { gint x; @@ -587,7 +607,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) class->remove = NULL; class->foreach = NULL; class->event = gtk_cell_area_real_event; - class->render = NULL; + class->render = gtk_cell_area_real_render; class->apply_attributes = gtk_cell_area_real_apply_attributes; /* geometry */ @@ -1005,6 +1025,103 @@ gtk_cell_area_real_event (GtkCellArea *area, return retval; } +static gboolean +render_cell (GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + CellRenderData *data) +{ + GtkCellRenderer *focus_cell; + GtkCellRendererState flags; + GdkRectangle inner_area; + + focus_cell = gtk_cell_area_get_focus_cell (data->area); + flags = data->render_flags; + + gtk_cell_area_inner_cell_area (data->area, data->widget, cell_area, &inner_area); + + if ((flags & GTK_CELL_RENDERER_FOCUSED) && + (data->focus_all || + (focus_cell && + (renderer == focus_cell || + gtk_cell_area_is_focus_sibling (data->area, focus_cell, renderer))))) + { + GdkRectangle cell_focus; + + gtk_cell_renderer_get_aligned_area (renderer, data->widget, flags, &inner_area, &cell_focus); + + if (data->first_focus) + { + data->first_focus = FALSE; + data->focus_rect = cell_focus; + } + else + { + gdk_rectangle_union (&data->focus_rect, &cell_focus, &data->focus_rect); + } + } + else + flags &= ~GTK_CELL_RENDERER_FOCUSED; + + gtk_cell_renderer_render (renderer, data->cr, data->widget, + cell_background, &inner_area, flags); + + return FALSE; +} + +static void +gtk_cell_area_real_render (GtkCellArea *area, + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus) +{ + CellRenderData render_data = + { + area, + widget, + cr, + { 0, }, + flags, + paint_focus, + FALSE, TRUE + }; + + /* Make sure we dont paint a focus rectangle while there + * is an editable widget in play + */ + if (gtk_cell_area_get_edited_cell (area)) + render_data.paint_focus = FALSE; + + /* If no cell can activate but the caller wants focus painted, + * then we paint focus around all cells */ + if ((flags & GTK_CELL_RENDERER_FOCUSED) != 0 && paint_focus && + !gtk_cell_area_is_activatable (area)) + render_data.focus_all = TRUE; + + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, + (GtkCellAllocCallback)render_cell, &render_data); + + if (render_data.paint_focus && + render_data.focus_rect.width != 0 && + render_data.focus_rect.height != 0) + { + GtkStateType renderer_state = + flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : + (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : + (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); + + gtk_paint_focus (gtk_widget_get_style (widget), cr, + renderer_state, widget, + gtk_cell_area_get_style_detail (area), + render_data.focus_rect.x, render_data.focus_rect.y, + render_data.focus_rect.width, render_data.focus_rect.height); + } +} + static void apply_cell_attributes (GtkCellRenderer *renderer, CellInfo *info, @@ -1476,6 +1593,7 @@ gtk_cell_area_foreach (GtkCellArea *area, * @context: the #GtkCellAreaContext for this row of data. * @widget: the #GtkWidget that @area is rendering to * @cell_area: the @widget relative coordinates and size for @area + * @background_area: the @widget relative coordinates of the background area * @callback: the #GtkCellAllocCallback to call * @callback_data: user provided data pointer * @@ -1489,6 +1607,7 @@ gtk_cell_area_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, + const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data) { @@ -1503,7 +1622,7 @@ gtk_cell_area_foreach_alloc (GtkCellArea *area, class = GTK_CELL_AREA_GET_CLASS (area); if (class->foreach_alloc) - class->foreach_alloc (area, context, widget, cell_area, callback, callback_data); + class->foreach_alloc (area, context, widget, cell_area, background_area, callback, callback_data); else g_warning ("GtkCellAreaClass::foreach_alloc not implemented for `%s'", g_type_name (G_TYPE_FROM_INSTANCE (area))); @@ -1647,6 +1766,7 @@ gtk_cell_area_get_style_detail (GtkCellArea *area) static gboolean get_cell_allocation (GtkCellRenderer *renderer, const GdkRectangle *cell_area, + const GdkRectangle *cell_background, RendererAllocationData *data) { if (data->renderer == renderer) @@ -1687,7 +1807,7 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, g_return_if_fail (cell_area != NULL); g_return_if_fail (allocation != NULL); - gtk_cell_area_foreach_alloc (area, context, widget, cell_area, + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, (GtkCellAllocCallback)get_cell_allocation, &data); *allocation = data.allocation; @@ -1696,6 +1816,7 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, static gboolean get_cell_by_position (GtkCellRenderer *renderer, const GdkRectangle *cell_area, + const GdkRectangle *cell_background, CellByPositionData *data) { if (data->x >= cell_area->x && data->x < cell_area->x + cell_area->width && @@ -1723,7 +1844,7 @@ get_cell_by_position (GtkCellRenderer *renderer, * Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally * returns the full cell allocation for it inside @cell_area. * - * Returns: the #GtkCellRenderer at @x and @y. + * Returns value: the #GtkCellRenderer at @x and @y. * * Since: 3.0 */ @@ -1745,7 +1866,7 @@ gtk_cell_area_get_cell_at_position (GtkCellArea *area, g_return_val_if_fail (x >= cell_area->x && x <= cell_area->x + cell_area->width, NULL); g_return_val_if_fail (y >= cell_area->y && y <= cell_area->y + cell_area->height, NULL); - gtk_cell_area_foreach_alloc (area, context, widget, cell_area, + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, (GtkCellAllocCallback)get_cell_by_position, &data); if (alloc_area) @@ -1754,7 +1875,6 @@ gtk_cell_area_get_cell_at_position (GtkCellArea *area, return data.renderer; } - /************************************************************* * API: Geometry * *************************************************************/ diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index c8021f73c7..15d2856711 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -76,6 +76,8 @@ typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, * GtkCellAllocCallback: * @renderer: the cell renderer to operate on * @cell_area: the area allocated to @renderer inside the rectangle provided to gtk_cell_area_foreach_alloc(). + * @cell_background: the background area for @renderer inside the background + * area provided to gtk_cell_area_foreach_alloc(). * @data: user-supplied data * * The type of the callback functions used for iterating over @@ -86,6 +88,7 @@ typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, */ typedef gboolean (*GtkCellAllocCallback) (GtkCellRenderer *renderer, const GdkRectangle *cell_area, + const GdkRectangle *cell_background, gpointer data); @@ -174,6 +177,7 @@ struct _GtkCellAreaClass GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, + const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); gint (* event) (GtkCellArea *area, @@ -273,6 +277,7 @@ void gtk_cell_area_foreach_alloc (GtkCellArea GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, + const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); gint gtk_cell_area_event (GtkCellArea *area, @@ -308,7 +313,6 @@ GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea gint y, GdkRectangle *alloc_area); - /* Geometry */ GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area); GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index e97767962f..2222b4b36d 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -78,16 +78,9 @@ static void gtk_cell_area_box_foreach_alloc (GtkCellArea GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, + const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); -static void gtk_cell_area_box_render (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus); static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, GtkCellRenderer *renderer, guint prop_id, @@ -262,7 +255,6 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->remove = gtk_cell_area_box_remove; area_class->foreach = gtk_cell_area_box_foreach; area_class->foreach_alloc = gtk_cell_area_box_foreach_alloc; - area_class->render = gtk_cell_area_box_render; area_class->set_cell_property = gtk_cell_area_box_set_cell_property; area_class->get_cell_property = gtk_cell_area_box_get_cell_property; @@ -1040,6 +1032,7 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, + const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data) { @@ -1047,9 +1040,13 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GSList *allocated_cells, *l; - GdkRectangle allocation; + GdkRectangle cell_alloc, cell_background; + gboolean rtl; - allocation = *cell_area; + rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + + cell_alloc = *cell_area; /* Get a list of cells with allocation sizes decided regardless * of alignments and pack order etc. */ @@ -1062,96 +1059,23 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - allocation.x = cell_area->x + cell->position; - allocation.width = cell->size; + cell_alloc.x = cell_area->x + cell->position; + cell_alloc.width = cell->size; } else { - allocation.y = cell_area->y + cell->position; - allocation.height = cell->size; + cell_alloc.y = cell_area->y + cell->position; + cell_alloc.height = cell->size; } - if (callback (cell->renderer, &allocation, callback_data)) - break; - } - - g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); - g_slist_free (allocated_cells); -} - -static void -gtk_cell_area_box_render (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus) -{ - GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); - GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GSList *allocated_cells, *l; - GdkRectangle cell_background, inner_area; - GtkCellRenderer *focus_cell = NULL; - GdkRectangle focus_rect = { 0, }; - gboolean first_focus_cell = TRUE; - gboolean focus_all = FALSE; - gboolean rtl; - - rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); - - /* Make sure we dont paint a focus rectangle while there - * is an editable widget in play - */ - if (gtk_cell_area_get_edited_cell (area)) - paint_focus = FALSE; - - if (flags & GTK_CELL_RENDERER_FOCUSED) - { - focus_cell = gtk_cell_area_get_focus_cell (area); - flags &= ~GTK_CELL_RENDERER_FOCUSED; - - /* If no cell can activate but the caller wants focus painted, - * then we paint focus around all cells */ - if (paint_focus && !gtk_cell_area_is_activatable (area)) - focus_all = TRUE; - } - - cell_background = *cell_area; - - /* Get a list of cells with allocation sizes decided regardless - * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_context, widget, - cell_area->width, cell_area->height); - - for (l = allocated_cells; l; l = l->next) - { - AllocatedCell *cell = l->data; - GtkCellRendererState cell_fields = 0; - GdkRectangle render_background; - - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - cell_background.x = cell_area->x + cell->position; - cell_background.width = cell->size; - } - else - { - cell_background.y = cell_area->y + cell->position; - cell_background.height = cell->size; - } - - /* Stop rendering cells if they flow out of the render area, + /* Stop iterating over cells if they flow out of the render area, * this can happen because the render area can actually be * smaller than the requested area (treeview columns can * be user resizable and can be resized to be smaller than * the actual requested area). */ - if (cell_background.x > cell_area->x + cell_area->width || - cell_background.x + cell_background.width < cell_area->x || - cell_background.y > cell_area->y + cell_area->height) + if (cell_alloc.x > cell_area->x + cell_area->width || + cell_alloc.x + cell_alloc.width < cell_area->x || + cell_alloc.y > cell_area->y + cell_area->height) break; /* Special case for the last cell (or first cell in rtl)... let the last cell consume @@ -1164,13 +1088,13 @@ gtk_cell_area_box_render (GtkCellArea *area, if (rtl) { /* Fill the leading space for the first cell in the area (still last in the list) */ - cell_background.width = (cell_background.x - cell_area->x) + cell_background.width; - cell_background.x = cell_area->x; + cell_alloc.width = (cell_alloc.x - cell_area->x) + cell_alloc.width; + cell_alloc.x = cell_area->x; } else { - cell_background.width = cell_area->x + cell_area->width - cell_background.x; - cell_background.height = cell_area->y + cell_area->height - cell_background.y; + cell_alloc.width = cell_area->x + cell_area->width - cell_alloc.x; + cell_alloc.height = cell_area->y + cell_area->height - cell_alloc.y; } } else @@ -1179,98 +1103,52 @@ gtk_cell_area_box_render (GtkCellArea *area, * so that the underlying renderer has a chance to deal with it (for instance * text renderers get a chance to ellipsize). */ - if (cell_background.x + cell_background.width > cell_area->x + cell_area->width) - cell_background.width = cell_area->x + cell_area->width - cell_background.x; + if (cell_alloc.x + cell_alloc.width > cell_area->x + cell_area->width) + cell_alloc.width = cell_area->x + cell_area->width - cell_alloc.x; - if (cell_background.y + cell_background.height > cell_area->y + cell_area->height) - cell_background.height = cell_area->y + cell_area->height - cell_background.y; + if (cell_alloc.y + cell_alloc.height > cell_area->y + cell_area->height) + cell_alloc.height = cell_area->y + cell_area->height - cell_alloc.y; } - /* Remove margins from the background area to produce the cell area - */ - gtk_cell_area_inner_cell_area (area, widget, &cell_background, &inner_area); - - /* Add portions of the background_area to the cell_background - * to create the render_background */ - render_background = cell_background; + /* Add portions of the background_area to the cell_alloc + * to create the cell_background */ + cell_background = cell_alloc; if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { if (l == allocated_cells) { - render_background.width += render_background.x - background_area->x; - render_background.x = background_area->x; + cell_background.width += cell_background.x - background_area->x; + cell_background.x = background_area->x; } if (l->next == NULL) - render_background.width = - background_area->width - (render_background.x - background_area->x); + cell_background.width = + background_area->width - (cell_background.x - background_area->x); - render_background.y = background_area->y; - render_background.height = background_area->height; + cell_background.y = background_area->y; + cell_background.height = background_area->height; } else { if (l == allocated_cells) { - render_background.height += render_background.y - background_area->y; - render_background.y = background_area->y; + cell_background.height += cell_background.y - background_area->y; + cell_background.y = background_area->y; } if (l->next == NULL) - render_background.height = - background_area->height - (render_background.y - background_area->y); + cell_background.height = + background_area->height - (cell_background.y - background_area->y); - render_background.x = background_area->x; - render_background.width = background_area->width; + cell_background.x = background_area->x; + cell_background.width = background_area->width; } - if (focus_all || - (focus_cell && - (cell->renderer == focus_cell || - gtk_cell_area_is_focus_sibling (area, focus_cell, cell->renderer)))) - { - cell_fields |= GTK_CELL_RENDERER_FOCUSED; - - if (paint_focus) - { - GdkRectangle cell_focus; - - gtk_cell_renderer_get_aligned_area (cell->renderer, widget, flags, &inner_area, &cell_focus); - - /* Accumulate the focus rectangle for all focus siblings */ - if (first_focus_cell) - { - focus_rect = cell_focus; - first_focus_cell = FALSE; - } - else - gdk_rectangle_union (&focus_rect, &cell_focus, &focus_rect); - } - } - - /* We have to do some per-cell considerations for the 'flags' - * for focus handling */ - gtk_cell_renderer_render (cell->renderer, cr, widget, - &render_background, &inner_area, - flags | cell_fields); + if (callback (cell->renderer, &cell_alloc, &cell_background, callback_data)) + break; } - if (paint_focus && focus_rect.width != 0 && focus_rect.height != 0) - { - GtkStateType renderer_state = - flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : - (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : - (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); - - gtk_paint_focus (gtk_widget_get_style (widget), cr, - renderer_state, widget, - gtk_cell_area_get_style_detail (area), - focus_rect.x, focus_rect.y, - focus_rect.width, focus_rect.height); - } - - g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); g_slist_free (allocated_cells); } From 40e9f91f43fd32b61da4018bfc6949dab42edbc6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 8 Dec 2010 21:27:52 +0900 Subject: [PATCH 0419/1463] Fixed foreach_alloc call from gtk_cell_area_real_render to pass the real background area. --- gtk/gtkcellarea.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 73831b9939..59b6231c95 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1102,7 +1102,7 @@ gtk_cell_area_real_render (GtkCellArea *area, !gtk_cell_area_is_activatable (area)) render_data.focus_all = TRUE; - gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, background_area, (GtkCellAllocCallback)render_cell, &render_data); if (render_data.paint_focus && From f1c26dfdb29ea9b9d3928ac324e94fffc72405d3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 8 Dec 2010 22:30:03 +0900 Subject: [PATCH 0420/1463] Fixed gtk-docs typo in gtkcellarea.c --- gtk/gtkcellarea.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 59b6231c95..96d9162be3 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1844,7 +1844,7 @@ get_cell_by_position (GtkCellRenderer *renderer, * Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally * returns the full cell allocation for it inside @cell_area. * - * Returns value: the #GtkCellRenderer at @x and @y. + * Return value: the #GtkCellRenderer at @x and @y. * * Since: 3.0 */ From f5d7a63aff70ca3cfa0865983d7102e4e6b5e27b Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Wed, 8 Dec 2010 15:14:29 +0100 Subject: [PATCH 0421/1463] Fix gtk_builder_add_objects_from_file g-i annotation Use the same annotation already used for add_objects_from_string --- gtk/gtkbuilder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkbuilder.c b/gtk/gtkbuilder.c index 97b0053da3..faa3ef79ad 100644 --- a/gtk/gtkbuilder.c +++ b/gtk/gtkbuilder.c @@ -913,7 +913,7 @@ gtk_builder_add_from_file (GtkBuilder *builder, * gtk_builder_add_objects_from_file: * @builder: a #GtkBuilder * @filename: the name of the file to parse - * @object_ids: nul-terminated array of objects to build + * @object_ids: (array zero-terminated=1) (element-type utf8): nul-terminated array of objects to build * @error: (allow-none): return location for an error, or %NULL * * Parses a file containing a GtkBuilder From 61731c65aa8f1e720e761a7e9649683365440a26 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Wed, 8 Dec 2010 15:30:42 +0100 Subject: [PATCH 0422/1463] Annotate ColorButton get_color and get_rgba. --- gtk/gtkcolorbutton.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index c363f3aa26..6d2548692f 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -721,7 +721,7 @@ gtk_color_button_set_alpha (GtkColorButton *color_button, /** * gtk_color_button_get_color: * @color_button: a #GtkColorButton. - * @color: a #GdkColor to fill in with the current color. + * @color: (out): a #GdkColor to fill in with the current color. * * Sets @color to be the current color in the #GtkColorButton widget. * @@ -780,7 +780,7 @@ gtk_color_button_set_rgba (GtkColorButton *color_button, /** * gtk_color_button_get_rgba: * @color_button: a #GtkColorButton. - * @rgba: a #GdkRGBA to fill in with the current color + * @rgba: (out): a #GdkRGBA to fill in with the current color * * Sets @rgba to be the current color in the #GtkColorButton widget. * From 5582bd23fb7e1f01ebd4719ec01d38eb9609c73d Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 16:46:57 +0100 Subject: [PATCH 0423/1463] Add gtk_widget_render_icon_pixbuf() prototype to gtkwidget.h And move gtk_widget_render_icon() to deprecation guards block --- gtk/gtkwidget.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 2a079ea0b6..5e240086f0 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -831,6 +831,10 @@ void gtk_widget_class_path (GtkWidget *widget, gchar **path, gchar **path_reversed); +GdkPixbuf *gtk_widget_render_icon (GtkWidget *widget, + const gchar *stock_id, + GtkIconSize size, + const gchar *detail); #endif /* GTK_DISABLE_DEPRECATED */ PangoContext *gtk_widget_create_pango_context (GtkWidget *widget); @@ -838,10 +842,9 @@ PangoContext *gtk_widget_get_pango_context (GtkWidget *widget); PangoLayout *gtk_widget_create_pango_layout (GtkWidget *widget, const gchar *text); -GdkPixbuf *gtk_widget_render_icon (GtkWidget *widget, +GdkPixbuf *gtk_widget_render_icon_pixbuf (GtkWidget *widget, const gchar *stock_id, - GtkIconSize size, - const gchar *detail); + GtkIconSize size); /* handle composite names for GTK_COMPOSITE_CHILD widgets, * the returned name is newly allocated. From 80170929770789cf23b7de9e080ffa1b165d0498 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:10:34 +0100 Subject: [PATCH 0424/1463] dnd: Use gtk_widget_render_icon_pixbuf() Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkdnd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 08496d5761..84e651d668 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -3109,8 +3109,8 @@ set_icon_stock_pixbuf (GdkDragContext *context, if (stock_id) { - pixbuf = gtk_widget_render_icon (window, stock_id, - GTK_ICON_SIZE_DND, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (window, stock_id, + GTK_ICON_SIZE_DND); if (!pixbuf) { From a5dba1670ed1adbdc914e31115c900c28edb99c3 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:12:14 +0100 Subject: [PATCH 0425/1463] GtkEntry: Use gtk_widget_render_icon_pixbuf() Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkentry.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 4eb96a34e8..aac0b9108d 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -6634,15 +6634,13 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, case GTK_IMAGE_STOCK: state = gtk_widget_get_state_flags (widget); gtk_widget_set_state_flags (widget, 0, TRUE); - icon_info->pixbuf = gtk_widget_render_icon (widget, - icon_info->stock_id, - GTK_ICON_SIZE_MENU, - NULL); + icon_info->pixbuf = gtk_widget_render_icon_pixbuf (widget, + icon_info->stock_id, + GTK_ICON_SIZE_MENU); if (!icon_info->pixbuf) - icon_info->pixbuf = gtk_widget_render_icon (widget, - GTK_STOCK_MISSING_IMAGE, - GTK_ICON_SIZE_MENU, - NULL); + icon_info->pixbuf = gtk_widget_render_icon_pixbuf (widget, + GTK_STOCK_MISSING_IMAGE, + GTK_ICON_SIZE_MENU); gtk_widget_set_state_flags (widget, state, TRUE); break; @@ -6666,10 +6664,9 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, { state = gtk_widget_get_state_flags (widget); gtk_widget_set_state_flags (widget, 0, TRUE); - icon_info->pixbuf = gtk_widget_render_icon (widget, - GTK_STOCK_MISSING_IMAGE, - GTK_ICON_SIZE_MENU, - NULL); + icon_info->pixbuf = gtk_widget_render_icon_pixbuf (widget, + GTK_STOCK_MISSING_IMAGE, + GTK_ICON_SIZE_MENU); gtk_widget_set_state_flags (widget, state, TRUE); } } @@ -6700,10 +6697,9 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, { state = gtk_widget_get_state_flags (widget); gtk_widget_set_state_flags (widget, 0, TRUE); - icon_info->pixbuf = gtk_widget_render_icon (widget, - GTK_STOCK_MISSING_IMAGE, - GTK_ICON_SIZE_MENU, - NULL); + icon_info->pixbuf = gtk_widget_render_icon_pixbuf (widget, + GTK_STOCK_MISSING_IMAGE, + GTK_ICON_SIZE_MENU); gtk_widget_set_state_flags (widget, state, TRUE); } } From e2100b13d00fd5d6707ee195955a884c9e37c9c5 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:12:59 +0100 Subject: [PATCH 0426/1463] GtkFileChooser: Use gtk_widget_render_icon_pixbuf() Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkfilechooserdefault.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 1ae575880e..4b8fcdbc1f 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -1124,7 +1124,7 @@ set_preview_widget (GtkFileChooserDefault *impl, static GdkPixbuf * render_search_icon (GtkFileChooserDefault *impl) { - return gtk_widget_render_icon (GTK_WIDGET (impl), GTK_STOCK_FIND, GTK_ICON_SIZE_MENU, NULL); + return gtk_widget_render_icon_pixbuf (GTK_WIDGET (impl), GTK_STOCK_FIND, GTK_ICON_SIZE_MENU); } static GdkPixbuf * @@ -1144,7 +1144,7 @@ render_recent_icon (GtkFileChooserDefault *impl) /* fallback */ if (!retval) - retval = gtk_widget_render_icon (GTK_WIDGET (impl), GTK_STOCK_FILE, GTK_ICON_SIZE_MENU, NULL); + retval = gtk_widget_render_icon_pixbuf (GTK_WIDGET (impl), GTK_STOCK_FILE, GTK_ICON_SIZE_MENU); return retval; } From 2dde04140df9cbe7302247b326d41639680b5953 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:13:43 +0100 Subject: [PATCH 0427/1463] GtkImage: Use gtk_widget_render_icon_pixbuf() Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkimage.c | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 184451ef23..340b71cb7a 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -1485,10 +1485,9 @@ ensure_pixbuf_for_icon_name (GtkImage *image, if (priv->data.name.pixbuf == NULL) { priv->data.name.pixbuf = - gtk_widget_render_icon (GTK_WIDGET (image), - GTK_STOCK_MISSING_IMAGE, - priv->icon_size, - NULL); + gtk_widget_render_icon_pixbuf (GTK_WIDGET (image), + GTK_STOCK_MISSING_IMAGE, + priv->icon_size); priv->was_symbolic = FALSE; } } @@ -1560,10 +1559,9 @@ ensure_pixbuf_for_gicon (GtkImage *image, if (priv->data.gicon.pixbuf == NULL) { priv->data.gicon.pixbuf = - gtk_widget_render_icon (GTK_WIDGET (image), - GTK_STOCK_MISSING_IMAGE, - priv->icon_size, - NULL); + gtk_widget_render_icon_pixbuf (GTK_WIDGET (image), + GTK_STOCK_MISSING_IMAGE, + priv->icon_size); priv->was_symbolic = FALSE; } } @@ -1621,10 +1619,9 @@ gtk_image_draw (GtkWidget *widget, break; case GTK_IMAGE_STOCK: - pixbuf = gtk_widget_render_icon (widget, - priv->data.stock.stock_id, - priv->icon_size, - NULL); + pixbuf = gtk_widget_render_icon_pixbuf (widget, + priv->data.stock.stock_id, + priv->icon_size); /* already done */ needs_state_transform = FALSE; @@ -1890,10 +1887,9 @@ gtk_image_calc_size (GtkImage *image) switch (priv->storage_type) { case GTK_IMAGE_STOCK: - pixbuf = gtk_widget_render_icon (widget, - priv->data.stock.stock_id, - priv->icon_size, - NULL); + pixbuf = gtk_widget_render_icon_pixbuf (widget, + priv->data.stock.stock_id, + priv->icon_size); break; case GTK_IMAGE_ICON_SET: From 3a3a4e8f3bdf132c22b6d69a14feb6daf2f9c426 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:14:48 +0100 Subject: [PATCH 0428/1463] GtkStatusIcon: Use gtk_widget_render_icon_pixbuf() Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkstatusicon.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index f3bf6383b4..32972a5e50 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -1434,10 +1434,9 @@ gtk_status_icon_update_image (GtkStatusIcon *status_icon) #ifdef GDK_WINDOWING_WIN32 { GdkPixbuf *pixbuf = - gtk_widget_render_icon (priv->dummy_widget, - priv->image_data.stock_id, - GTK_ICON_SIZE_SMALL_TOOLBAR, - NULL); + gtk_widget_render_icon_pixbuf (priv->dummy_widget, + priv->image_data.stock_id, + GTK_ICON_SIZE_SMALL_TOOLBAR); prev_hicon = priv->nid.hIcon; priv->nid.hIcon = gdk_win32_pixbuf_to_hicon_libgtk_only (pixbuf); @@ -1454,10 +1453,9 @@ gtk_status_icon_update_image (GtkStatusIcon *status_icon) { GdkPixbuf *pixbuf; - pixbuf = gtk_widget_render_icon (priv->dummy_widget, - priv->image_data.stock_id, - GTK_ICON_SIZE_SMALL_TOOLBAR, - NULL); + pixbuf = gtk_widget_render_icon_pixbuf (priv->dummy_widget, + priv->image_data.stock_id, + GTK_ICON_SIZE_SMALL_TOOLBAR); QUARTZ_POOL_ALLOC; [priv->status_item setImage:pixbuf]; QUARTZ_POOL_RELEASE; From e779b8f249b2040282888563f54c4ca8cad0bfe9 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:15:25 +0100 Subject: [PATCH 0429/1463] GtkIconFactory: mention gtk_widget_render_icon_pixbuf() in docs Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkiconfactory.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c index 5b21c62fd6..c39574c23d 100644 --- a/gtk/gtkiconfactory.c +++ b/gtk/gtkiconfactory.c @@ -872,7 +872,7 @@ icon_size_lookup_intern (GtkSettings *settings, * modified by user preferences for a particular * #GtkSettings. Normally @size would be * #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function - * isn't normally needed, gtk_widget_render_icon() is the usual + * isn't normally needed, gtk_widget_render_icon_pixbuf() is the usual * way to get an icon for rendering, then just look at the size of * the rendered pixbuf. The rendered pixbuf may not even correspond to * the width/height returned by gtk_icon_size_lookup(), because themes @@ -905,7 +905,7 @@ gtk_icon_size_lookup_for_settings (GtkSettings *settings, * (See gtk_icon_size_lookup_for_settings().) * Normally @size would be * #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function - * isn't normally needed, gtk_widget_render_icon() is the usual + * isn't normally needed, gtk_widget_render_icon_pixbuf() is the usual * way to get an icon for rendering, then just look at the size of * the rendered pixbuf. The rendered pixbuf may not even correspond to * the width/height returned by gtk_icon_size_lookup(), because themes @@ -1131,7 +1131,7 @@ static guint cache_serial = 0; * for a given size and state on request, and automatically caches * some of the rendered #GdkPixbuf objects. * - * Normally you would use gtk_widget_render_icon() instead of + * Normally you would use gtk_widget_render_icon_pixbuf() instead of * using #GtkIconSet directly. The one case where you'd use * #GtkIconSet is to create application-specific icon sets to place in * a #GtkIconFactory. @@ -1577,7 +1577,7 @@ render_fallback_image (GtkStyleContext *context, * means render at the size of the source and don't scale. * * Renders an icon using gtk_render_icon_pixbuf(). In most cases, - * gtk_widget_render_icon() is better, since it automatically provides + * gtk_widget_render_icon_pixbuf() is better, since it automatically provides * most of the arguments from the current widget settings. This * function never returns %NULL; if the icon can't be rendered * (perhaps because an image file fails to load), a default "missing From 24e832187f739ed10035abfda83773568878a6d1 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Wed, 8 Dec 2010 17:16:02 +0100 Subject: [PATCH 0430/1463] GtkCellRendererPixbuf: Use gtk_widget_render_icon_pixbuf() Instead of gtk_widget_render_icon() which is now deprecated. --- gtk/gtkcellrendererpixbuf.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c index 729d08a89d..8a191d981a 100644 --- a/gtk/gtkcellrendererpixbuf.c +++ b/gtk/gtkcellrendererpixbuf.c @@ -481,10 +481,9 @@ gtk_cell_renderer_pixbuf_create_stock_pixbuf (GtkCellRendererPixbuf *cellpixbuf, if (priv->pixbuf) g_object_unref (priv->pixbuf); - priv->pixbuf = gtk_widget_render_icon (widget, - priv->stock_id, - priv->stock_size, - priv->stock_detail); + priv->pixbuf = gtk_widget_render_icon_pixbuf (widget, + priv->stock_id, + priv->stock_size); g_object_notify (G_OBJECT (cellpixbuf), "pixbuf"); } From da8531209784e992bcb010f27fb8df40da4de192 Mon Sep 17 00:00:00 2001 From: Marek Kasik Date: Tue, 7 Dec 2010 18:25:37 +0100 Subject: [PATCH 0431/1463] Mark conflicts when printer has changed Schedule marking of conflicts when printer has changed. Map conflict warning immediately. (#635401) --- gtk/gtkprintunixdialog.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index b90f7a37f7..bbe59da91b 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -1928,6 +1928,7 @@ selected_printer_changed (GtkTreeSelection *selection, priv->options_changed_handler = g_signal_connect_swapped (priv->options, "changed", G_CALLBACK (options_changed_cb), dialog); + schedule_idle_mark_conflicts (dialog); } update_dialog_from_settings (dialog); From 05abea6c4fb7bf1db0ca72c65b255af975208278 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Dec 2010 11:35:06 -0500 Subject: [PATCH 0432/1463] Add missing include See bug 636732 --- gdk/x11/gdkwindow-x11.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/x11/gdkwindow-x11.h b/gdk/x11/gdkwindow-x11.h index 0c02b67652..85d892b283 100644 --- a/gdk/x11/gdkwindow-x11.h +++ b/gdk/x11/gdkwindow-x11.h @@ -30,6 +30,8 @@ #include "gdk/x11/gdkprivate-x11.h" #include "gdk/gdkwindowimpl.h" +#include + #ifdef HAVE_XDAMAGE #include #endif From 107cebe546cb53c0e5511fc431b88eadf34092c5 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 8 Dec 2010 15:13:21 +0100 Subject: [PATCH 0433/1463] gtk_css_provider_get_named: don't leak subpath (#636777) --- gtk/gtkcssprovider.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 5faa07666c..0e1f8af914 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3856,6 +3856,8 @@ gtk_css_provider_get_named (const gchar *name, } } + g_free (subpath); + if (path) { GError *error = NULL; From 32d9396f0071bff5172f5ce73eebb6759a438c59 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 13:57:21 +0900 Subject: [PATCH 0434/1463] Changed misleading variable name in gtk_cell_area_real_activate. --- gtk/gtkcellarea.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 96d9162be3..b006d11edf 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1257,7 +1257,7 @@ gtk_cell_area_real_activate (GtkCellArea *area, GtkCellRendererState flags) { GtkCellAreaPrivate *priv = area->priv; - GdkRectangle background_area; + GdkRectangle renderer_area; GtkCellRenderer *activate_cell = NULL; if (priv->focus_cell) @@ -1286,7 +1286,7 @@ gtk_cell_area_real_activate (GtkCellArea *area, /* Get the allocation of the focused cell. */ gtk_cell_area_get_cell_allocation (area, context, widget, activate_cell, - cell_area, &background_area); + cell_area, &renderer_area); /* Activate or Edit the cell * @@ -1294,7 +1294,7 @@ gtk_cell_area_real_activate (GtkCellArea *area, * the event argument anyway, worst case is we can synthesize one. */ if (gtk_cell_area_activate_cell (area, widget, activate_cell, NULL, - &background_area, flags)) + &renderer_area, flags)) return TRUE; } From 95ca1e241ccf42e0ef4f882641f207552787dfc9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 13:57:58 +0900 Subject: [PATCH 0435/1463] Removed calculation of background area when about to edit a cell (no need to check the background area of the cell in this case). --- gtk/gtktreeview.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index d6e290dff9..1eeb5e0d72 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -15377,7 +15377,6 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, GtkTreePath *cursor_path) { GtkTreeIter iter; - GdkRectangle background_area; GdkRectangle cell_area; GtkTreeViewColumn *focus_column; gchar *path_string; @@ -15406,10 +15405,6 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, &iter, GTK_RBNODE_FLAG_SET (cursor_node, GTK_RBNODE_IS_PARENT), cursor_node->children?TRUE:FALSE); - gtk_tree_view_get_background_area (tree_view, - cursor_path, - focus_column, - &background_area); gtk_tree_view_get_cell_area (tree_view, cursor_path, focus_column, From ded14b256202d8792629b88874d934638762cee3 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 9 Dec 2010 11:13:41 +0100 Subject: [PATCH 0436/1463] docs: Reinstate pixbufs section in GDK docs It was accidentally removed in 0775b0a85818e14d12087f33977e14efec6a058a --- docs/reference/gdk/gdk-docs.sgml | 1 + gtk/gtkgradient.c | 23 ++-- gtk/gtkgradient.h | 6 +- gtk/gtkicontheme.c | 179 +++++++++++-------------------- gtk/gtkinfobar.c | 64 ++--------- gtk/gtkstyle.c | 26 ++--- gtk/gtkstyle.h | 2 +- gtk/gtkstylecontext.c | 92 +++++++++++----- gtk/gtkstylecontext.h | 8 +- gtk/gtkstyleproperties.c | 32 ++---- gtk/gtksymboliccolor.c | 57 +++++----- gtk/gtksymboliccolor.h | 2 +- gtk/gtkthemingengine.c | 10 +- gtk/gtkthemingengine.h | 6 +- 14 files changed, 202 insertions(+), 306 deletions(-) diff --git a/docs/reference/gdk/gdk-docs.sgml b/docs/reference/gdk/gdk-docs.sgml index c77b8be902..ed18e2fbbd 100644 --- a/docs/reference/gdk/gdk-docs.sgml +++ b/docs/reference/gdk/gdk-docs.sgml @@ -22,6 +22,7 @@ + diff --git a/gtk/gtkgradient.c b/gtk/gtkgradient.c index a19b8fe583..1ebc62d187 100644 --- a/gtk/gtkgradient.c +++ b/gtk/gtkgradient.c @@ -226,7 +226,6 @@ gtk_gradient_unref (GtkGradient *gradient) * gtk_gradient_resolve: * @gradient: a #GtkGradient * @props: #GtkStyleProperties to use when resolving named colors - * @resolved_gradient: (out): return location for the resolved pattern * * If @gradient is resolvable, @resolved_gradient will be filled in * with the resolved gradient as a cairo_pattern_t, and %TRUE will @@ -234,21 +233,20 @@ gtk_gradient_unref (GtkGradient *gradient) * due to it being defined on top of a named color that doesn't * exist in @props. * - * Returns: %TRUE if the gradient has been resolved + * Returns: the resolved pattern. Use cairo_pattern_destroy() + * after use. * * Since: 3.0 **/ -gboolean +cairo_pattern_t * gtk_gradient_resolve (GtkGradient *gradient, - GtkStyleProperties *props, - cairo_pattern_t **resolved_gradient) + GtkStyleProperties *props) { cairo_pattern_t *pattern; guint i; - g_return_val_if_fail (gradient != NULL, FALSE); - g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), FALSE); - g_return_val_if_fail (resolved_gradient != NULL, FALSE); + g_return_val_if_fail (gradient != NULL, NULL); + g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), NULL); if (gradient->radius0 == 0 && gradient->radius1 == 0) pattern = cairo_pattern_create_linear (gradient->x0, gradient->y0, @@ -266,17 +264,12 @@ gtk_gradient_resolve (GtkGradient *gradient, stop = &g_array_index (gradient->stops, ColorStop, i); - if (!gtk_symbolic_color_resolve (stop->color, props, &color)) - { - cairo_pattern_destroy (pattern); - return FALSE; - } + gtk_symbolic_color_resolve (stop->color, props, &color); cairo_pattern_add_color_stop_rgba (pattern, stop->offset, color.red, color.green, color.blue, color.alpha); } - *resolved_gradient = pattern; - return TRUE; + return pattern; } diff --git a/gtk/gtkgradient.h b/gtk/gtkgradient.h index f097c40fd0..21cf6bea22 100644 --- a/gtk/gtkgradient.h +++ b/gtk/gtkgradient.h @@ -52,9 +52,9 @@ void gtk_gradient_add_color_stop (GtkGradient *gradient, GtkGradient * gtk_gradient_ref (GtkGradient *gradient); void gtk_gradient_unref (GtkGradient *gradient); -gboolean gtk_gradient_resolve (GtkGradient *gradient, - GtkStyleProperties *props, - cairo_pattern_t **resolved_gradient); +cairo_pattern_t * + gtk_gradient_resolve (GtkGradient *gradient, + GtkStyleProperties *props); G_END_DECLS diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2f41849967..c90ec99582 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3060,16 +3060,7 @@ gtk_icon_info_load_icon (GtkIconInfo *icon_info, } static gchar * -gdk_color_to_css (GdkColor *color) -{ - return g_strdup_printf ("rgb(%d,%d,%d)", - color->red >> 8, - color->green >> 8, - color->blue >> 8); -} - -static gchar * -gdk_rgba_to_css (GdkRGBA *color) +gdk_rgba_to_css (const GdkRGBA *color) { return g_strdup_printf ("rgba(%d,%d,%d,%f)", (gint)(color->red * 255), @@ -3078,41 +3069,40 @@ gdk_rgba_to_css (GdkRGBA *color) color->alpha); } +static char * +_gtk_icon_info_color_to_css (const GdkRGBA *rgba, + const char *color_name) +{ + GdkRGBA color; + + if (rgba) + return gdk_rgba_to_css (rgba); + + gtk_style_context_lookup_default_color (color_name, &color); + return gdk_rgba_to_css (&color); +} + static GdkPixbuf * -_gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, - const gchar *css_fg, - const gchar *css_success, - const gchar *css_warning, - const gchar *css_error, - GError **error) +_gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, + const GdkRGBA *fg, + const GdkRGBA *success_rgba, + const GdkRGBA *warning_rgba, + const GdkRGBA *error_rgba, + GError **error) { GInputStream *stream; GdkPixbuf *pixbuf; gchar *data; - gchar *success, *warning, *err; + char *css_fg, *css_success, *css_warning, *css_error; /* css_fg can't possibly have failed, otherwise * that would mean we have a broken style */ - g_return_val_if_fail (css_fg != NULL, NULL); - - success = warning = err = NULL; - - if (!css_success) - { - GdkColor success_default_color = { 0, 0x4e00, 0x9a00, 0x0600 }; - success = gdk_color_to_css (&success_default_color); - } - if (!css_warning) - { - GdkColor warning_default_color = { 0, 0xf500, 0x7900, 0x3e00 }; - warning = gdk_color_to_css (&warning_default_color); - } - if (!css_error) - { - GdkColor error_default_color = { 0, 0xcc00, 0x0000, 0x0000 }; - err = gdk_color_to_css (&error_default_color); - } + g_return_val_if_fail (fg != NULL, NULL); + css_fg = _gtk_icon_info_color_to_css (fg, "color"); + css_warning = _gtk_icon_info_color_to_css (warning_rgba, "warning_color"); + css_error = _gtk_icon_info_color_to_css (error_rgba, "error_color"); + css_success = _gtk_icon_info_color_to_css (success_rgba, "success_color"); data = g_strconcat ("\n" "\n" " \n" " filename, "\"/>\n" "", NULL); - g_free (warning); - g_free (err); - g_free (success); + + g_free (css_fg); + g_free (css_warning); + g_free (css_error); + g_free (css_success); stream = g_memory_input_stream_new_from_data (data, -1, g_free); pixbuf = gdk_pixbuf_new_from_stream_at_scale (stream, @@ -3199,10 +3191,6 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, GError **error) { GdkPixbuf *pixbuf; - gchar *css_fg; - gchar *css_success; - gchar *css_warning; - gchar *css_error; g_return_val_if_fail (fg != NULL, NULL); @@ -3217,27 +3205,10 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, if (was_symbolic) *was_symbolic = TRUE; - css_fg = gdk_rgba_to_string (fg); - - css_success = css_warning = css_error = NULL; - - if (warning_color) - css_warning = gdk_rgba_to_string (warning_color); - - if (error_color) - css_error = gdk_rgba_to_string (error_color); - - if (success_color) - css_success = gdk_rgba_to_string (success_color); - pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, - css_fg, css_success, - css_warning, css_error, + fg, success_color, + warning_color, error_color, error); - g_free (css_fg); - g_free (css_warning); - g_free (css_success); - g_free (css_error); return pixbuf; } @@ -3271,9 +3242,7 @@ gtk_icon_info_load_symbolic_for_context (GtkIconInfo *icon_info, { GdkPixbuf *pixbuf; GdkRGBA *color = NULL; - GdkRGBA rgba; - gchar *css_fg = NULL, *css_success; - gchar *css_warning, *css_error; + GdkRGBA success_color, warning_color, error_color; GtkStateFlags state; if (!icon_info->filename || @@ -3289,36 +3258,30 @@ gtk_icon_info_load_symbolic_for_context (GtkIconInfo *icon_info, state = gtk_style_context_get_state (context); gtk_style_context_get (context, state, "color", &color, NULL); - if (color) - { - css_fg = gdk_rgba_to_css (color); - gdk_rgba_free (color); - } - - css_success = css_warning = css_error = NULL; - - if (gtk_style_context_lookup_color (context, "success_color", &rgba)) - css_success = gdk_rgba_to_css (&rgba); - - if (gtk_style_context_lookup_color (context, "warning_color", &rgba)) - css_warning = gdk_rgba_to_css (&rgba); - - if (gtk_style_context_lookup_color (context, "error_color", &rgba)) - css_error = gdk_rgba_to_css (&rgba); + gtk_style_context_lookup_color (context, "success_color", &success_color); + gtk_style_context_lookup_color (context, "warning_color", &warning_color); + gtk_style_context_lookup_color (context, "error_color", &error_color); pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, - css_fg, css_success, - css_warning, css_error, + color, &success_color, + &warning_color, &error_color, error); - g_free (css_fg); - g_free (css_success); - g_free (css_warning); - g_free (css_error); + gdk_rgba_free (color); return pixbuf; } +static void +_color_to_rgba (const GdkColor *color, + GdkRGBA *rgba) +{ + rgba->red = color->red / 65535.0; + rgba->green = color->green / 65535.0; + rgba->blue = color->blue / 65535.0; + rgba->alpha = 1.0; +} + /** * gtk_icon_info_load_symbolic_for_style: * @icon_info: a #GtkIconInfo @@ -3351,12 +3314,8 @@ gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, GError **error) { GdkPixbuf *pixbuf; - GdkColor success_color; - GdkColor warning_color; - GdkColor error_color; - GdkColor *fg; - gchar *css_fg, *css_success; - gchar *css_warning, *css_error; + GdkColor success_color, warning_color, error_color; + GdkRGBA fg_rgba, success_rgba, warning_rgba, error_rgba; if (!icon_info->filename || !g_str_has_suffix (icon_info->filename, "-symbolic.svg")) @@ -3369,30 +3328,22 @@ gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, if (was_symbolic) *was_symbolic = TRUE; - fg = &style->fg[state]; - css_fg = gdk_color_to_css (fg); + _color_to_rgba (&style->fg[state], &fg_rgba); - css_success = css_warning = css_error = NULL; + gtk_style_lookup_color (style, "success_color", &success_color); + _color_to_rgba (&success_color, &success_rgba); - if (gtk_style_lookup_color (style, "success_color", &success_color)) - css_success = gdk_color_to_css (&success_color); + gtk_style_lookup_color (style, "warning_color", &warning_color); + _color_to_rgba (&warning_color, &warning_rgba); - if (gtk_style_lookup_color (style, "warning_color", &warning_color)) - css_warning = gdk_color_to_css (&warning_color); - - if (gtk_style_lookup_color (style, "error_color", &error_color)) - css_error = gdk_color_to_css (&error_color); + gtk_style_lookup_color (style, "error_color", &error_color); + _color_to_rgba (&error_color, &error_rgba); pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, - css_fg, css_success, - css_warning, css_error, + &fg_rgba, &success_rgba, + &warning_rgba, &error_rgba, error); - g_free (css_fg); - g_free (css_success); - g_free (css_warning); - g_free (css_error); - return pixbuf; } diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index a7879606b4..ef832fc0dd 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -495,18 +495,7 @@ gtk_info_bar_update_colors (GtkInfoBar *info_bar) { GtkWidget *widget = GTK_WIDGET (info_bar); GtkInfoBarPrivate *priv = info_bar->priv; - GdkRGBA info_default_border_color = { 0.71, 0.67, 0.61, 1.0 }; - GdkRGBA info_default_fill_color = { 0.99, 0.99, 0.74, 1.0 }; - GdkRGBA warning_default_border_color = { 0.68, 0.47, 0.16, 1.0 }; - GdkRGBA warning_default_fill_color = { 0.98, 0.68, 0.24, 1.0 }; - GdkRGBA question_default_border_color = { 0.38, 0.48, 0.84, 1.0 }; - GdkRGBA question_default_fill_color = { 0.54, 0.68, 0.83, 1.0 }; - GdkRGBA error_default_border_color = { 0.65, 0.15, 0.15, 1.0 }; - GdkRGBA error_default_fill_color = { 0.93, 0.21, 0.21, 1.0 }; - GdkRGBA other_default_border_color = { 0.71, 0.67, 0.61, 1.0 }; - GdkRGBA other_default_fill_color = { 0.99, 0.99, 0.74, 1.0 }; - GdkRGBA *fg, *bg; - GdkRGBA sym_fg, sym_bg; + GdkRGBA fg, bg; GdkRGBA *color, *bg_color; GtkStyleContext *context; @@ -527,56 +516,17 @@ gtk_info_bar_update_colors (GtkInfoBar *info_bar) context = gtk_widget_get_style_context (widget); - if (gtk_style_context_lookup_color (context, fg_color_name[priv->message_type], &sym_fg) && - gtk_style_context_lookup_color (context, bg_color_name[priv->message_type], &sym_bg)) - { - fg = &sym_fg; - bg = &sym_bg; - } - else - { - switch (priv->message_type) - { - case GTK_MESSAGE_INFO: - fg = &info_default_border_color; - bg = &info_default_fill_color; - break; - - case GTK_MESSAGE_WARNING: - fg = &warning_default_border_color; - bg = &warning_default_fill_color; - break; - - case GTK_MESSAGE_QUESTION: - fg = &question_default_border_color; - bg = &question_default_fill_color; - break; - - case GTK_MESSAGE_ERROR: - fg = &error_default_border_color; - bg = &error_default_fill_color; - break; - - case GTK_MESSAGE_OTHER: - fg = &other_default_border_color; - bg = &other_default_fill_color; - break; - - default: - g_assert_not_reached(); - fg = NULL; - bg = NULL; - } - } + gtk_style_context_lookup_color (context, fg_color_name[priv->message_type], &fg); + gtk_style_context_lookup_color (context, bg_color_name[priv->message_type], &bg); gtk_style_context_get (context, 0, "color", &color, "background-color", &bg_color, NULL); - if (!gdk_rgba_equal (bg_color, bg)) - gtk_widget_override_background_color (widget, 0, bg); - if (!gdk_rgba_equal (color, fg)) - gtk_widget_override_color (widget, 0, fg); + if (!gdk_rgba_equal (bg_color, &bg)) + gtk_widget_override_background_color (widget, 0, &bg); + if (!gdk_rgba_equal (color, &fg)) + gtk_widget_override_color (widget, 0, &fg); gdk_rgba_free (color); gdk_rgba_free (bg_color); diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index fab8607225..9474ae00e1 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1071,35 +1071,25 @@ gtk_style_lookup_icon_set (GtkStyle *style, * * Deprecated:3.0: Use gtk_style_context_lookup_color() instead **/ -gboolean +void gtk_style_lookup_color (GtkStyle *style, const char *color_name, GdkColor *color) { GtkStylePrivate *priv; - gboolean result; GdkRGBA rgba; - g_return_val_if_fail (GTK_IS_STYLE (style), FALSE); - g_return_val_if_fail (color_name != NULL, FALSE); - g_return_val_if_fail (color != NULL, FALSE); + g_return_if_fail (GTK_IS_STYLE (style)); + g_return_if_fail (color_name != NULL); priv = GTK_STYLE_GET_PRIVATE (style); - if (!priv->context) - return FALSE; + gtk_style_context_lookup_color (priv->context, color_name, &rgba); - result = gtk_style_context_lookup_color (priv->context, color_name, &rgba); - - if (color) - { - color->red = (guint16) (rgba.red * 65535); - color->green = (guint16) (rgba.green * 65535); - color->blue = (guint16) (rgba.blue * 65535); - color->pixel = 0; - } - - return result; + color->red = (guint16) (rgba.red * 65535); + color->green = (guint16) (rgba.green * 65535); + color->blue = (guint16) (rgba.blue * 65535); + color->pixel = 0; } /** diff --git a/gtk/gtkstyle.h b/gtk/gtkstyle.h index 3d44b1ffa7..eb6f2b0f96 100644 --- a/gtk/gtkstyle.h +++ b/gtk/gtkstyle.h @@ -402,7 +402,7 @@ void gtk_style_apply_default_background (GtkStyle *style, GtkIconSet* gtk_style_lookup_icon_set (GtkStyle *style, const gchar *stock_id); -gboolean gtk_style_lookup_color (GtkStyle *style, +void gtk_style_lookup_color (GtkStyle *style, const gchar *color_name, GdkColor *color); diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 2aee8b2992..223017ac68 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2317,29 +2317,25 @@ _gtk_style_context_peek_style_property (GtkStyleContext *context, color = g_value_get_boxed (&pcache->value); - if (gtk_symbolic_color_resolve (color, data->store, &rgba)) + gtk_symbolic_color_resolve (color, data->store, &rgba); + g_value_unset (&pcache->value); + + if (G_PARAM_SPEC_VALUE_TYPE (pspec) == GDK_TYPE_RGBA) { - g_value_unset (&pcache->value); - - if (G_PARAM_SPEC_VALUE_TYPE (pspec) == GDK_TYPE_RGBA) - { - g_value_init (&pcache->value, GDK_TYPE_RGBA); - g_value_set_boxed (&pcache->value, &rgba); - } - else - { - GdkColor rgb; - - rgb.red = rgba.red * 65535. + 0.5; - rgb.green = rgba.green * 65535. + 0.5; - rgb.blue = rgba.blue * 65535. + 0.5; - - g_value_init (&pcache->value, GDK_TYPE_COLOR); - g_value_set_boxed (&pcache->value, &rgb); - } + g_value_init (&pcache->value, GDK_TYPE_RGBA); + g_value_set_boxed (&pcache->value, &rgba); } else - g_param_value_set_default (pspec, &pcache->value); + { + GdkColor rgb; + + rgb.red = rgba.red * 65535. + 0.5; + rgb.green = rgba.green * 65535. + 0.5; + rgb.blue = rgba.blue * 65535. + 0.5; + + g_value_init (&pcache->value, GDK_TYPE_COLOR); + g_value_set_boxed (&pcache->value, &rgb); + } } return &pcache->value; @@ -2708,6 +2704,44 @@ gtk_style_context_get_junction_sides (GtkStyleContext *context) return info->junction_sides; } +gboolean +gtk_style_context_lookup_default_color (const gchar *color_name, + GdkRGBA *color) +{ + static const GdkRGBA fallback_color = { 1.0, 0.0, 1.0, 1.0 }; + static const struct { + const char *name; + const GdkRGBA rgba; + } colors[] = { + { "success_color", { 0.3, 0.6, 0.02, 1.0 } }, + { "warning_color", { 0.96, 0.474, 0.24, 1.0 } }, + { "error_color", { 0.8, 0.0, 0.0, 1.0 } }, + { "info_fg_color", { 0.71, 0.67, 0.61, 1.0 } }, + { "info_bg_color", { 0.99, 0.99, 0.74, 1.0 } }, + { "warning_fg_color", { 0.68, 0.47, 0.16, 1.0 } }, + { "warning_bg_color", { 0.98, 0.68, 0.24, 1.0 } }, + { "question_fg_color", { 0.38, 0.48, 0.84, 1.0 } }, + { "question_bg_color", { 0.54, 0.68, 0.83, 1.0 } }, + { "error_fg_color", { 0.65, 0.15, 0.15, 1.0 } }, + { "error_bg_color", { 0.93, 0.21, 0.21, 1.0 } }, + { "other_fg_color", { 0.71, 0.67, 0.61, 1.0 } }, + { "other_bg_color", { 0.99, 0.99, 0.74, 1.0 } } + }; + guint i; + + for (i = 0; i < G_N_ELEMENTS (colors); i++) + { + if (g_str_equal (color_name, colors[i].name)) + { + *color = colors[i].rgba; + return TRUE; + } + } + + *color = fallback_color; + return FALSE; +} + /** * gtk_style_context_lookup_color: * @context: a #GtkStyleContext @@ -2718,7 +2752,7 @@ gtk_style_context_get_junction_sides (GtkStyleContext *context) * * Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise **/ -gboolean +void gtk_style_context_lookup_color (GtkStyleContext *context, const gchar *color_name, GdkRGBA *color) @@ -2727,20 +2761,20 @@ gtk_style_context_lookup_color (GtkStyleContext *context, GtkSymbolicColor *sym_color; StyleData *data; - g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), FALSE); - g_return_val_if_fail (color_name != NULL, FALSE); - g_return_val_if_fail (color != NULL, FALSE); + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); + g_return_if_fail (color_name != NULL); + g_return_if_fail (color != NULL); priv = context->priv; - g_return_val_if_fail (priv->widget_path != NULL, FALSE); + g_return_if_fail (priv->widget_path != NULL); data = style_data_lookup (context); sym_color = gtk_style_properties_lookup_color (data->store, color_name); - if (!sym_color) - return FALSE; - - return gtk_symbolic_color_resolve (sym_color, data->store, color); + if (sym_color) + gtk_symbolic_color_resolve (sym_color, data->store, color); + else + gtk_style_context_lookup_default_color (color_name, color); } /** diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index a67e523a83..cff1a5855d 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -415,9 +415,11 @@ void gtk_style_context_set_junction_sides (GtkStyleContext *context GtkJunctionSides sides); GtkJunctionSides gtk_style_context_get_junction_sides (GtkStyleContext *context); -gboolean gtk_style_context_lookup_color (GtkStyleContext *context, - const gchar *color_name, - GdkRGBA *color); +void gtk_style_context_lookup_color (GtkStyleContext *context, + const gchar *color_name, + GdkRGBA *color); +gboolean gtk_style_context_lookup_default_color (const gchar *color_name, + GdkRGBA *color); void gtk_style_context_notify_state_change (GtkStyleContext *context, GdkWindow *window, diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c index c6592740fc..915e1a4e4b 100644 --- a/gtk/gtkstyleproperties.c +++ b/gtk/gtkstyleproperties.c @@ -566,7 +566,7 @@ gtk_style_properties_map_color (GtkStyleProperties *props, * Returns the symbolic color that is mapped * to @name. * - * Returns: The mapped color + * Returns: The mapped color or %NULL if no color is mapped to @name * * Since: 3.0 **/ @@ -760,33 +760,29 @@ gtk_style_properties_set (GtkStyleProperties *props, va_end (args); } -static gboolean +static void resolve_color (GtkStyleProperties *props, GValue *value) { GdkRGBA color; /* Resolve symbolic color to GdkRGBA */ - if (!gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &color)) - return FALSE; + gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &color); /* Store it back, this is where GdkRGBA caching happens */ g_value_unset (value); g_value_init (value, GDK_TYPE_RGBA); g_value_set_boxed (value, &color); - - return TRUE; } -static gboolean +static void resolve_color_rgb (GtkStyleProperties *props, GValue *value) { GdkColor color = { 0 }; GdkRGBA rgba; - if (!gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &rgba)) - return FALSE; + gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &rgba); color.red = rgba.red * 65535. + 0.5; color.green = rgba.green * 65535. + 0.5; @@ -795,8 +791,6 @@ resolve_color_rgb (GtkStyleProperties *props, g_value_unset (value); g_value_init (value, GDK_TYPE_COLOR); g_value_set_boxed (value, &color); - - return TRUE; } static gboolean @@ -805,8 +799,7 @@ resolve_gradient (GtkStyleProperties *props, { cairo_pattern_t *gradient; - if (!gtk_gradient_resolve (g_value_get_boxed (value), props, &gradient)) - return FALSE; + gradient = gtk_gradient_resolve (g_value_get_boxed (value), props); /* Store it back, this is where cairo_pattern_t caching happens */ g_value_unset (value); @@ -824,15 +817,9 @@ style_properties_resolve_type (GtkStyleProperties *props, if (val && G_VALUE_TYPE (val) == GTK_TYPE_SYMBOLIC_COLOR) { if (node->pspec->value_type == GDK_TYPE_RGBA) - { - if (!resolve_color (props, val)) - return FALSE; - } + resolve_color (props, val); else if (node->pspec->value_type == GDK_TYPE_COLOR) - { - if (!resolve_color_rgb (props, val)) - return FALSE; - } + resolve_color_rgb (props, val); else return FALSE; } @@ -840,8 +827,7 @@ style_properties_resolve_type (GtkStyleProperties *props, { g_return_val_if_fail (node->pspec->value_type == CAIRO_GOBJECT_TYPE_PATTERN, FALSE); - if (!resolve_gradient (props, val)) - return FALSE; + resolve_gradient (props, val); } return TRUE; diff --git a/gtk/gtksymboliccolor.c b/gtk/gtksymboliccolor.c index 2345cfa396..cd5302568b 100644 --- a/gtk/gtksymboliccolor.c +++ b/gtk/gtksymboliccolor.c @@ -19,6 +19,7 @@ #include "config.h" #include "gtksymboliccolor.h" +#include "gtkstylecontext.h" #include "gtkstyleproperties.h" #include "gtkintl.h" @@ -468,91 +469,81 @@ _shade_color (GdkRGBA *color, * @props: #GtkStyleProperties to use when resolving named colors * @resolved_color: (out): return location for the resolved color * - * If @color is resolvable, @resolved_color will be filled in - * with the resolved color, and %TRUE will be returned. Generally, - * if @color can't be resolved, it is due to it being defined on - * top of a named color that doesn't exist in @props. + * Resolves @color using @props. @resolved_color will be filled in + * with the resolved color. * - * Returns: %TRUE if the color has been resolved + * If @props does not contain information for resolving @color or + * any of the colors it depends on, then solid pink (#FF00FF) will + * be assumed for the missing colors. This is to make it visually + * obvious when a color is missing. * * Since: 3.0 **/ -gboolean +void gtk_symbolic_color_resolve (GtkSymbolicColor *color, GtkStyleProperties *props, GdkRGBA *resolved_color) { - g_return_val_if_fail (color != NULL, FALSE); - g_return_val_if_fail (resolved_color != NULL, FALSE); + g_return_if_fail (color != NULL); + g_return_if_fail (resolved_color != NULL); + g_return_if_fail (GTK_IS_STYLE_PROPERTIES (props)); switch (color->type) { case COLOR_TYPE_LITERAL: *resolved_color = color->color; - return TRUE; + break; + case COLOR_TYPE_NAME: { GtkSymbolicColor *named_color; - g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), FALSE); - named_color = gtk_style_properties_lookup_color (props, color->name); if (!named_color) - return FALSE; + gtk_style_context_lookup_default_color (color->name, resolved_color); - return gtk_symbolic_color_resolve (named_color, props, resolved_color); + gtk_symbolic_color_resolve (named_color, props, resolved_color); } - break; + case COLOR_TYPE_SHADE: { GdkRGBA shade; - if (!gtk_symbolic_color_resolve (color->shade.color, props, &shade)) - return FALSE; + gtk_symbolic_color_resolve (color->shade.color, props, &shade); _shade_color (&shade, color->shade.factor); *resolved_color = shade; - - return TRUE; } - break; + case COLOR_TYPE_ALPHA: { GdkRGBA alpha; - if (!gtk_symbolic_color_resolve (color->alpha.color, props, &alpha)) - return FALSE; + gtk_symbolic_color_resolve (color->alpha.color, props, &alpha); *resolved_color = alpha; resolved_color->alpha = CLAMP (alpha.alpha * color->alpha.factor, 0, 1); - - return TRUE; } + break; + case COLOR_TYPE_MIX: { GdkRGBA color1, color2; - if (!gtk_symbolic_color_resolve (color->mix.color1, props, &color1)) - return FALSE; - - if (!gtk_symbolic_color_resolve (color->mix.color2, props, &color2)) - return FALSE; + gtk_symbolic_color_resolve (color->mix.color1, props, &color1); + gtk_symbolic_color_resolve (color->mix.color2, props, &color2); resolved_color->red = CLAMP (color1.red + ((color2.red - color1.red) * color->mix.factor), 0, 1); resolved_color->green = CLAMP (color1.green + ((color2.green - color1.green) * color->mix.factor), 0, 1); resolved_color->blue = CLAMP (color1.blue + ((color2.blue - color1.blue) * color->mix.factor), 0, 1); resolved_color->alpha = CLAMP (color1.alpha + ((color2.alpha - color1.alpha) * color->mix.factor), 0, 1); - - return TRUE; } - break; + default: g_assert_not_reached (); } - - return FALSE; } diff --git a/gtk/gtksymboliccolor.h b/gtk/gtksymboliccolor.h index 4f4b8137b4..2deff1b4f8 100644 --- a/gtk/gtksymboliccolor.h +++ b/gtk/gtksymboliccolor.h @@ -46,7 +46,7 @@ GtkSymbolicColor * gtk_symbolic_color_new_mix (GtkSymbolicColor *color1, GtkSymbolicColor * gtk_symbolic_color_ref (GtkSymbolicColor *color); void gtk_symbolic_color_unref (GtkSymbolicColor *color); -gboolean gtk_symbolic_color_resolve (GtkSymbolicColor *color, +void gtk_symbolic_color_resolve (GtkSymbolicColor *color, GtkStyleProperties *props, GdkRGBA *resolved_color); diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 1c77dbce6d..75301f5d27 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -549,21 +549,19 @@ gtk_theming_engine_get_style (GtkThemingEngine *engine, * @color: (out): Return location for the looked up color * * Looks up and resolves a color name in the current style's color map. - * - * Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise **/ -gboolean +void gtk_theming_engine_lookup_color (GtkThemingEngine *engine, const gchar *color_name, GdkRGBA *color) { GtkThemingEnginePrivate *priv; - g_return_val_if_fail (GTK_IS_THEMING_ENGINE (engine), FALSE); - g_return_val_if_fail (color_name != NULL, FALSE); + g_return_if_fail (GTK_IS_THEMING_ENGINE (engine)); + g_return_if_fail (color_name != NULL); priv = engine->priv; - return gtk_style_context_lookup_color (priv->context, color_name, color); + gtk_style_context_lookup_color (priv->context, color_name, color); } /** diff --git a/gtk/gtkthemingengine.h b/gtk/gtkthemingengine.h index 64b39216e2..dc07d4744d 100644 --- a/gtk/gtkthemingengine.h +++ b/gtk/gtkthemingengine.h @@ -198,9 +198,9 @@ void gtk_theming_engine_get_style_valist (GtkThemingEngine *engine, void gtk_theming_engine_get_style (GtkThemingEngine *engine, ...); -gboolean gtk_theming_engine_lookup_color (GtkThemingEngine *engine, - const gchar *color_name, - GdkRGBA *color); +void gtk_theming_engine_lookup_color (GtkThemingEngine *engine, + const gchar *color_name, + GdkRGBA *color); G_CONST_RETURN GtkWidgetPath * gtk_theming_engine_get_path (GtkThemingEngine *engine); From 3070d6e3d502763e985a64a604548b4d528302fd Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 9 Dec 2010 23:55:33 +0100 Subject: [PATCH 0437/1463] Revert "docs: Reinstate pixbufs section in GDK docs" I committed my whole working tee instead of just one file. Ooops. This reverts commit ded14b256202d8792629b88874d934638762cee3. --- docs/reference/gdk/gdk-docs.sgml | 1 - gtk/gtkgradient.c | 23 ++-- gtk/gtkgradient.h | 6 +- gtk/gtkicontheme.c | 179 ++++++++++++++++++++----------- gtk/gtkinfobar.c | 64 +++++++++-- gtk/gtkstyle.c | 26 +++-- gtk/gtkstyle.h | 2 +- gtk/gtkstylecontext.c | 92 +++++----------- gtk/gtkstylecontext.h | 8 +- gtk/gtkstyleproperties.c | 32 ++++-- gtk/gtksymboliccolor.c | 61 ++++++----- gtk/gtksymboliccolor.h | 2 +- gtk/gtkthemingengine.c | 10 +- gtk/gtkthemingengine.h | 6 +- 14 files changed, 308 insertions(+), 204 deletions(-) diff --git a/docs/reference/gdk/gdk-docs.sgml b/docs/reference/gdk/gdk-docs.sgml index ed18e2fbbd..c77b8be902 100644 --- a/docs/reference/gdk/gdk-docs.sgml +++ b/docs/reference/gdk/gdk-docs.sgml @@ -22,7 +22,6 @@ - diff --git a/gtk/gtkgradient.c b/gtk/gtkgradient.c index 1ebc62d187..a19b8fe583 100644 --- a/gtk/gtkgradient.c +++ b/gtk/gtkgradient.c @@ -226,6 +226,7 @@ gtk_gradient_unref (GtkGradient *gradient) * gtk_gradient_resolve: * @gradient: a #GtkGradient * @props: #GtkStyleProperties to use when resolving named colors + * @resolved_gradient: (out): return location for the resolved pattern * * If @gradient is resolvable, @resolved_gradient will be filled in * with the resolved gradient as a cairo_pattern_t, and %TRUE will @@ -233,20 +234,21 @@ gtk_gradient_unref (GtkGradient *gradient) * due to it being defined on top of a named color that doesn't * exist in @props. * - * Returns: the resolved pattern. Use cairo_pattern_destroy() - * after use. + * Returns: %TRUE if the gradient has been resolved * * Since: 3.0 **/ -cairo_pattern_t * +gboolean gtk_gradient_resolve (GtkGradient *gradient, - GtkStyleProperties *props) + GtkStyleProperties *props, + cairo_pattern_t **resolved_gradient) { cairo_pattern_t *pattern; guint i; - g_return_val_if_fail (gradient != NULL, NULL); - g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), NULL); + g_return_val_if_fail (gradient != NULL, FALSE); + g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), FALSE); + g_return_val_if_fail (resolved_gradient != NULL, FALSE); if (gradient->radius0 == 0 && gradient->radius1 == 0) pattern = cairo_pattern_create_linear (gradient->x0, gradient->y0, @@ -264,12 +266,17 @@ gtk_gradient_resolve (GtkGradient *gradient, stop = &g_array_index (gradient->stops, ColorStop, i); - gtk_symbolic_color_resolve (stop->color, props, &color); + if (!gtk_symbolic_color_resolve (stop->color, props, &color)) + { + cairo_pattern_destroy (pattern); + return FALSE; + } cairo_pattern_add_color_stop_rgba (pattern, stop->offset, color.red, color.green, color.blue, color.alpha); } - return pattern; + *resolved_gradient = pattern; + return TRUE; } diff --git a/gtk/gtkgradient.h b/gtk/gtkgradient.h index 21cf6bea22..f097c40fd0 100644 --- a/gtk/gtkgradient.h +++ b/gtk/gtkgradient.h @@ -52,9 +52,9 @@ void gtk_gradient_add_color_stop (GtkGradient *gradient, GtkGradient * gtk_gradient_ref (GtkGradient *gradient); void gtk_gradient_unref (GtkGradient *gradient); -cairo_pattern_t * - gtk_gradient_resolve (GtkGradient *gradient, - GtkStyleProperties *props); +gboolean gtk_gradient_resolve (GtkGradient *gradient, + GtkStyleProperties *props, + cairo_pattern_t **resolved_gradient); G_END_DECLS diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index c90ec99582..2f41849967 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3060,7 +3060,16 @@ gtk_icon_info_load_icon (GtkIconInfo *icon_info, } static gchar * -gdk_rgba_to_css (const GdkRGBA *color) +gdk_color_to_css (GdkColor *color) +{ + return g_strdup_printf ("rgb(%d,%d,%d)", + color->red >> 8, + color->green >> 8, + color->blue >> 8); +} + +static gchar * +gdk_rgba_to_css (GdkRGBA *color) { return g_strdup_printf ("rgba(%d,%d,%d,%f)", (gint)(color->red * 255), @@ -3069,40 +3078,41 @@ gdk_rgba_to_css (const GdkRGBA *color) color->alpha); } -static char * -_gtk_icon_info_color_to_css (const GdkRGBA *rgba, - const char *color_name) -{ - GdkRGBA color; - - if (rgba) - return gdk_rgba_to_css (rgba); - - gtk_style_context_lookup_default_color (color_name, &color); - return gdk_rgba_to_css (&color); -} - static GdkPixbuf * -_gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, - const GdkRGBA *fg, - const GdkRGBA *success_rgba, - const GdkRGBA *warning_rgba, - const GdkRGBA *error_rgba, - GError **error) +_gtk_icon_info_load_symbolic_internal (GtkIconInfo *icon_info, + const gchar *css_fg, + const gchar *css_success, + const gchar *css_warning, + const gchar *css_error, + GError **error) { GInputStream *stream; GdkPixbuf *pixbuf; gchar *data; - char *css_fg, *css_success, *css_warning, *css_error; + gchar *success, *warning, *err; /* css_fg can't possibly have failed, otherwise * that would mean we have a broken style */ - g_return_val_if_fail (fg != NULL, NULL); + g_return_val_if_fail (css_fg != NULL, NULL); + + success = warning = err = NULL; + + if (!css_success) + { + GdkColor success_default_color = { 0, 0x4e00, 0x9a00, 0x0600 }; + success = gdk_color_to_css (&success_default_color); + } + if (!css_warning) + { + GdkColor warning_default_color = { 0, 0xf500, 0x7900, 0x3e00 }; + warning = gdk_color_to_css (&warning_default_color); + } + if (!css_error) + { + GdkColor error_default_color = { 0, 0xcc00, 0x0000, 0x0000 }; + err = gdk_color_to_css (&error_default_color); + } - css_fg = _gtk_icon_info_color_to_css (fg, "color"); - css_warning = _gtk_icon_info_color_to_css (warning_rgba, "warning_color"); - css_error = _gtk_icon_info_color_to_css (error_rgba, "error_color"); - css_success = _gtk_icon_info_color_to_css (success_rgba, "success_color"); data = g_strconcat ("\n" "\n" " \n" " filename, "\"/>\n" "", NULL); - - g_free (css_fg); - g_free (css_warning); - g_free (css_error); - g_free (css_success); + g_free (warning); + g_free (err); + g_free (success); stream = g_memory_input_stream_new_from_data (data, -1, g_free); pixbuf = gdk_pixbuf_new_from_stream_at_scale (stream, @@ -3191,6 +3199,10 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, GError **error) { GdkPixbuf *pixbuf; + gchar *css_fg; + gchar *css_success; + gchar *css_warning; + gchar *css_error; g_return_val_if_fail (fg != NULL, NULL); @@ -3205,10 +3217,27 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, if (was_symbolic) *was_symbolic = TRUE; + css_fg = gdk_rgba_to_string (fg); + + css_success = css_warning = css_error = NULL; + + if (warning_color) + css_warning = gdk_rgba_to_string (warning_color); + + if (error_color) + css_error = gdk_rgba_to_string (error_color); + + if (success_color) + css_success = gdk_rgba_to_string (success_color); + pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, - fg, success_color, - warning_color, error_color, + css_fg, css_success, + css_warning, css_error, error); + g_free (css_fg); + g_free (css_warning); + g_free (css_success); + g_free (css_error); return pixbuf; } @@ -3242,7 +3271,9 @@ gtk_icon_info_load_symbolic_for_context (GtkIconInfo *icon_info, { GdkPixbuf *pixbuf; GdkRGBA *color = NULL; - GdkRGBA success_color, warning_color, error_color; + GdkRGBA rgba; + gchar *css_fg = NULL, *css_success; + gchar *css_warning, *css_error; GtkStateFlags state; if (!icon_info->filename || @@ -3258,30 +3289,36 @@ gtk_icon_info_load_symbolic_for_context (GtkIconInfo *icon_info, state = gtk_style_context_get_state (context); gtk_style_context_get (context, state, "color", &color, NULL); - gtk_style_context_lookup_color (context, "success_color", &success_color); - gtk_style_context_lookup_color (context, "warning_color", &warning_color); - gtk_style_context_lookup_color (context, "error_color", &error_color); + if (color) + { + css_fg = gdk_rgba_to_css (color); + gdk_rgba_free (color); + } + + css_success = css_warning = css_error = NULL; + + if (gtk_style_context_lookup_color (context, "success_color", &rgba)) + css_success = gdk_rgba_to_css (&rgba); + + if (gtk_style_context_lookup_color (context, "warning_color", &rgba)) + css_warning = gdk_rgba_to_css (&rgba); + + if (gtk_style_context_lookup_color (context, "error_color", &rgba)) + css_error = gdk_rgba_to_css (&rgba); pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, - color, &success_color, - &warning_color, &error_color, + css_fg, css_success, + css_warning, css_error, error); - gdk_rgba_free (color); + g_free (css_fg); + g_free (css_success); + g_free (css_warning); + g_free (css_error); return pixbuf; } -static void -_color_to_rgba (const GdkColor *color, - GdkRGBA *rgba) -{ - rgba->red = color->red / 65535.0; - rgba->green = color->green / 65535.0; - rgba->blue = color->blue / 65535.0; - rgba->alpha = 1.0; -} - /** * gtk_icon_info_load_symbolic_for_style: * @icon_info: a #GtkIconInfo @@ -3314,8 +3351,12 @@ gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, GError **error) { GdkPixbuf *pixbuf; - GdkColor success_color, warning_color, error_color; - GdkRGBA fg_rgba, success_rgba, warning_rgba, error_rgba; + GdkColor success_color; + GdkColor warning_color; + GdkColor error_color; + GdkColor *fg; + gchar *css_fg, *css_success; + gchar *css_warning, *css_error; if (!icon_info->filename || !g_str_has_suffix (icon_info->filename, "-symbolic.svg")) @@ -3328,22 +3369,30 @@ gtk_icon_info_load_symbolic_for_style (GtkIconInfo *icon_info, if (was_symbolic) *was_symbolic = TRUE; - _color_to_rgba (&style->fg[state], &fg_rgba); + fg = &style->fg[state]; + css_fg = gdk_color_to_css (fg); - gtk_style_lookup_color (style, "success_color", &success_color); - _color_to_rgba (&success_color, &success_rgba); + css_success = css_warning = css_error = NULL; - gtk_style_lookup_color (style, "warning_color", &warning_color); - _color_to_rgba (&warning_color, &warning_rgba); + if (gtk_style_lookup_color (style, "success_color", &success_color)) + css_success = gdk_color_to_css (&success_color); - gtk_style_lookup_color (style, "error_color", &error_color); - _color_to_rgba (&error_color, &error_rgba); + if (gtk_style_lookup_color (style, "warning_color", &warning_color)) + css_warning = gdk_color_to_css (&warning_color); + + if (gtk_style_lookup_color (style, "error_color", &error_color)) + css_error = gdk_color_to_css (&error_color); pixbuf = _gtk_icon_info_load_symbolic_internal (icon_info, - &fg_rgba, &success_rgba, - &warning_rgba, &error_rgba, + css_fg, css_success, + css_warning, css_error, error); + g_free (css_fg); + g_free (css_success); + g_free (css_warning); + g_free (css_error); + return pixbuf; } diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index ef832fc0dd..a7879606b4 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -495,7 +495,18 @@ gtk_info_bar_update_colors (GtkInfoBar *info_bar) { GtkWidget *widget = GTK_WIDGET (info_bar); GtkInfoBarPrivate *priv = info_bar->priv; - GdkRGBA fg, bg; + GdkRGBA info_default_border_color = { 0.71, 0.67, 0.61, 1.0 }; + GdkRGBA info_default_fill_color = { 0.99, 0.99, 0.74, 1.0 }; + GdkRGBA warning_default_border_color = { 0.68, 0.47, 0.16, 1.0 }; + GdkRGBA warning_default_fill_color = { 0.98, 0.68, 0.24, 1.0 }; + GdkRGBA question_default_border_color = { 0.38, 0.48, 0.84, 1.0 }; + GdkRGBA question_default_fill_color = { 0.54, 0.68, 0.83, 1.0 }; + GdkRGBA error_default_border_color = { 0.65, 0.15, 0.15, 1.0 }; + GdkRGBA error_default_fill_color = { 0.93, 0.21, 0.21, 1.0 }; + GdkRGBA other_default_border_color = { 0.71, 0.67, 0.61, 1.0 }; + GdkRGBA other_default_fill_color = { 0.99, 0.99, 0.74, 1.0 }; + GdkRGBA *fg, *bg; + GdkRGBA sym_fg, sym_bg; GdkRGBA *color, *bg_color; GtkStyleContext *context; @@ -516,17 +527,56 @@ gtk_info_bar_update_colors (GtkInfoBar *info_bar) context = gtk_widget_get_style_context (widget); - gtk_style_context_lookup_color (context, fg_color_name[priv->message_type], &fg); - gtk_style_context_lookup_color (context, bg_color_name[priv->message_type], &bg); + if (gtk_style_context_lookup_color (context, fg_color_name[priv->message_type], &sym_fg) && + gtk_style_context_lookup_color (context, bg_color_name[priv->message_type], &sym_bg)) + { + fg = &sym_fg; + bg = &sym_bg; + } + else + { + switch (priv->message_type) + { + case GTK_MESSAGE_INFO: + fg = &info_default_border_color; + bg = &info_default_fill_color; + break; + + case GTK_MESSAGE_WARNING: + fg = &warning_default_border_color; + bg = &warning_default_fill_color; + break; + + case GTK_MESSAGE_QUESTION: + fg = &question_default_border_color; + bg = &question_default_fill_color; + break; + + case GTK_MESSAGE_ERROR: + fg = &error_default_border_color; + bg = &error_default_fill_color; + break; + + case GTK_MESSAGE_OTHER: + fg = &other_default_border_color; + bg = &other_default_fill_color; + break; + + default: + g_assert_not_reached(); + fg = NULL; + bg = NULL; + } + } gtk_style_context_get (context, 0, "color", &color, "background-color", &bg_color, NULL); - if (!gdk_rgba_equal (bg_color, &bg)) - gtk_widget_override_background_color (widget, 0, &bg); - if (!gdk_rgba_equal (color, &fg)) - gtk_widget_override_color (widget, 0, &fg); + if (!gdk_rgba_equal (bg_color, bg)) + gtk_widget_override_background_color (widget, 0, bg); + if (!gdk_rgba_equal (color, fg)) + gtk_widget_override_color (widget, 0, fg); gdk_rgba_free (color); gdk_rgba_free (bg_color); diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 9474ae00e1..fab8607225 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1071,25 +1071,35 @@ gtk_style_lookup_icon_set (GtkStyle *style, * * Deprecated:3.0: Use gtk_style_context_lookup_color() instead **/ -void +gboolean gtk_style_lookup_color (GtkStyle *style, const char *color_name, GdkColor *color) { GtkStylePrivate *priv; + gboolean result; GdkRGBA rgba; - g_return_if_fail (GTK_IS_STYLE (style)); - g_return_if_fail (color_name != NULL); + g_return_val_if_fail (GTK_IS_STYLE (style), FALSE); + g_return_val_if_fail (color_name != NULL, FALSE); + g_return_val_if_fail (color != NULL, FALSE); priv = GTK_STYLE_GET_PRIVATE (style); - gtk_style_context_lookup_color (priv->context, color_name, &rgba); + if (!priv->context) + return FALSE; - color->red = (guint16) (rgba.red * 65535); - color->green = (guint16) (rgba.green * 65535); - color->blue = (guint16) (rgba.blue * 65535); - color->pixel = 0; + result = gtk_style_context_lookup_color (priv->context, color_name, &rgba); + + if (color) + { + color->red = (guint16) (rgba.red * 65535); + color->green = (guint16) (rgba.green * 65535); + color->blue = (guint16) (rgba.blue * 65535); + color->pixel = 0; + } + + return result; } /** diff --git a/gtk/gtkstyle.h b/gtk/gtkstyle.h index eb6f2b0f96..3d44b1ffa7 100644 --- a/gtk/gtkstyle.h +++ b/gtk/gtkstyle.h @@ -402,7 +402,7 @@ void gtk_style_apply_default_background (GtkStyle *style, GtkIconSet* gtk_style_lookup_icon_set (GtkStyle *style, const gchar *stock_id); -void gtk_style_lookup_color (GtkStyle *style, +gboolean gtk_style_lookup_color (GtkStyle *style, const gchar *color_name, GdkColor *color); diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 223017ac68..2aee8b2992 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2317,25 +2317,29 @@ _gtk_style_context_peek_style_property (GtkStyleContext *context, color = g_value_get_boxed (&pcache->value); - gtk_symbolic_color_resolve (color, data->store, &rgba); - g_value_unset (&pcache->value); - - if (G_PARAM_SPEC_VALUE_TYPE (pspec) == GDK_TYPE_RGBA) + if (gtk_symbolic_color_resolve (color, data->store, &rgba)) { - g_value_init (&pcache->value, GDK_TYPE_RGBA); - g_value_set_boxed (&pcache->value, &rgba); + g_value_unset (&pcache->value); + + if (G_PARAM_SPEC_VALUE_TYPE (pspec) == GDK_TYPE_RGBA) + { + g_value_init (&pcache->value, GDK_TYPE_RGBA); + g_value_set_boxed (&pcache->value, &rgba); + } + else + { + GdkColor rgb; + + rgb.red = rgba.red * 65535. + 0.5; + rgb.green = rgba.green * 65535. + 0.5; + rgb.blue = rgba.blue * 65535. + 0.5; + + g_value_init (&pcache->value, GDK_TYPE_COLOR); + g_value_set_boxed (&pcache->value, &rgb); + } } else - { - GdkColor rgb; - - rgb.red = rgba.red * 65535. + 0.5; - rgb.green = rgba.green * 65535. + 0.5; - rgb.blue = rgba.blue * 65535. + 0.5; - - g_value_init (&pcache->value, GDK_TYPE_COLOR); - g_value_set_boxed (&pcache->value, &rgb); - } + g_param_value_set_default (pspec, &pcache->value); } return &pcache->value; @@ -2704,44 +2708,6 @@ gtk_style_context_get_junction_sides (GtkStyleContext *context) return info->junction_sides; } -gboolean -gtk_style_context_lookup_default_color (const gchar *color_name, - GdkRGBA *color) -{ - static const GdkRGBA fallback_color = { 1.0, 0.0, 1.0, 1.0 }; - static const struct { - const char *name; - const GdkRGBA rgba; - } colors[] = { - { "success_color", { 0.3, 0.6, 0.02, 1.0 } }, - { "warning_color", { 0.96, 0.474, 0.24, 1.0 } }, - { "error_color", { 0.8, 0.0, 0.0, 1.0 } }, - { "info_fg_color", { 0.71, 0.67, 0.61, 1.0 } }, - { "info_bg_color", { 0.99, 0.99, 0.74, 1.0 } }, - { "warning_fg_color", { 0.68, 0.47, 0.16, 1.0 } }, - { "warning_bg_color", { 0.98, 0.68, 0.24, 1.0 } }, - { "question_fg_color", { 0.38, 0.48, 0.84, 1.0 } }, - { "question_bg_color", { 0.54, 0.68, 0.83, 1.0 } }, - { "error_fg_color", { 0.65, 0.15, 0.15, 1.0 } }, - { "error_bg_color", { 0.93, 0.21, 0.21, 1.0 } }, - { "other_fg_color", { 0.71, 0.67, 0.61, 1.0 } }, - { "other_bg_color", { 0.99, 0.99, 0.74, 1.0 } } - }; - guint i; - - for (i = 0; i < G_N_ELEMENTS (colors); i++) - { - if (g_str_equal (color_name, colors[i].name)) - { - *color = colors[i].rgba; - return TRUE; - } - } - - *color = fallback_color; - return FALSE; -} - /** * gtk_style_context_lookup_color: * @context: a #GtkStyleContext @@ -2752,7 +2718,7 @@ gtk_style_context_lookup_default_color (const gchar *color_name, * * Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise **/ -void +gboolean gtk_style_context_lookup_color (GtkStyleContext *context, const gchar *color_name, GdkRGBA *color) @@ -2761,20 +2727,20 @@ gtk_style_context_lookup_color (GtkStyleContext *context, GtkSymbolicColor *sym_color; StyleData *data; - g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); - g_return_if_fail (color_name != NULL); - g_return_if_fail (color != NULL); + g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), FALSE); + g_return_val_if_fail (color_name != NULL, FALSE); + g_return_val_if_fail (color != NULL, FALSE); priv = context->priv; - g_return_if_fail (priv->widget_path != NULL); + g_return_val_if_fail (priv->widget_path != NULL, FALSE); data = style_data_lookup (context); sym_color = gtk_style_properties_lookup_color (data->store, color_name); - if (sym_color) - gtk_symbolic_color_resolve (sym_color, data->store, color); - else - gtk_style_context_lookup_default_color (color_name, color); + if (!sym_color) + return FALSE; + + return gtk_symbolic_color_resolve (sym_color, data->store, color); } /** diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index cff1a5855d..a67e523a83 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -415,11 +415,9 @@ void gtk_style_context_set_junction_sides (GtkStyleContext *context GtkJunctionSides sides); GtkJunctionSides gtk_style_context_get_junction_sides (GtkStyleContext *context); -void gtk_style_context_lookup_color (GtkStyleContext *context, - const gchar *color_name, - GdkRGBA *color); -gboolean gtk_style_context_lookup_default_color (const gchar *color_name, - GdkRGBA *color); +gboolean gtk_style_context_lookup_color (GtkStyleContext *context, + const gchar *color_name, + GdkRGBA *color); void gtk_style_context_notify_state_change (GtkStyleContext *context, GdkWindow *window, diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c index 915e1a4e4b..c6592740fc 100644 --- a/gtk/gtkstyleproperties.c +++ b/gtk/gtkstyleproperties.c @@ -566,7 +566,7 @@ gtk_style_properties_map_color (GtkStyleProperties *props, * Returns the symbolic color that is mapped * to @name. * - * Returns: The mapped color or %NULL if no color is mapped to @name + * Returns: The mapped color * * Since: 3.0 **/ @@ -760,29 +760,33 @@ gtk_style_properties_set (GtkStyleProperties *props, va_end (args); } -static void +static gboolean resolve_color (GtkStyleProperties *props, GValue *value) { GdkRGBA color; /* Resolve symbolic color to GdkRGBA */ - gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &color); + if (!gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &color)) + return FALSE; /* Store it back, this is where GdkRGBA caching happens */ g_value_unset (value); g_value_init (value, GDK_TYPE_RGBA); g_value_set_boxed (value, &color); + + return TRUE; } -static void +static gboolean resolve_color_rgb (GtkStyleProperties *props, GValue *value) { GdkColor color = { 0 }; GdkRGBA rgba; - gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &rgba); + if (!gtk_symbolic_color_resolve (g_value_get_boxed (value), props, &rgba)) + return FALSE; color.red = rgba.red * 65535. + 0.5; color.green = rgba.green * 65535. + 0.5; @@ -791,6 +795,8 @@ resolve_color_rgb (GtkStyleProperties *props, g_value_unset (value); g_value_init (value, GDK_TYPE_COLOR); g_value_set_boxed (value, &color); + + return TRUE; } static gboolean @@ -799,7 +805,8 @@ resolve_gradient (GtkStyleProperties *props, { cairo_pattern_t *gradient; - gradient = gtk_gradient_resolve (g_value_get_boxed (value), props); + if (!gtk_gradient_resolve (g_value_get_boxed (value), props, &gradient)) + return FALSE; /* Store it back, this is where cairo_pattern_t caching happens */ g_value_unset (value); @@ -817,9 +824,15 @@ style_properties_resolve_type (GtkStyleProperties *props, if (val && G_VALUE_TYPE (val) == GTK_TYPE_SYMBOLIC_COLOR) { if (node->pspec->value_type == GDK_TYPE_RGBA) - resolve_color (props, val); + { + if (!resolve_color (props, val)) + return FALSE; + } else if (node->pspec->value_type == GDK_TYPE_COLOR) - resolve_color_rgb (props, val); + { + if (!resolve_color_rgb (props, val)) + return FALSE; + } else return FALSE; } @@ -827,7 +840,8 @@ style_properties_resolve_type (GtkStyleProperties *props, { g_return_val_if_fail (node->pspec->value_type == CAIRO_GOBJECT_TYPE_PATTERN, FALSE); - resolve_gradient (props, val); + if (!resolve_gradient (props, val)) + return FALSE; } return TRUE; diff --git a/gtk/gtksymboliccolor.c b/gtk/gtksymboliccolor.c index cd5302568b..2345cfa396 100644 --- a/gtk/gtksymboliccolor.c +++ b/gtk/gtksymboliccolor.c @@ -19,7 +19,6 @@ #include "config.h" #include "gtksymboliccolor.h" -#include "gtkstylecontext.h" #include "gtkstyleproperties.h" #include "gtkintl.h" @@ -469,81 +468,91 @@ _shade_color (GdkRGBA *color, * @props: #GtkStyleProperties to use when resolving named colors * @resolved_color: (out): return location for the resolved color * - * Resolves @color using @props. @resolved_color will be filled in - * with the resolved color. + * If @color is resolvable, @resolved_color will be filled in + * with the resolved color, and %TRUE will be returned. Generally, + * if @color can't be resolved, it is due to it being defined on + * top of a named color that doesn't exist in @props. * - * If @props does not contain information for resolving @color or - * any of the colors it depends on, then solid pink (#FF00FF) will - * be assumed for the missing colors. This is to make it visually - * obvious when a color is missing. + * Returns: %TRUE if the color has been resolved * * Since: 3.0 **/ -void +gboolean gtk_symbolic_color_resolve (GtkSymbolicColor *color, GtkStyleProperties *props, GdkRGBA *resolved_color) { - g_return_if_fail (color != NULL); - g_return_if_fail (resolved_color != NULL); - g_return_if_fail (GTK_IS_STYLE_PROPERTIES (props)); + g_return_val_if_fail (color != NULL, FALSE); + g_return_val_if_fail (resolved_color != NULL, FALSE); switch (color->type) { case COLOR_TYPE_LITERAL: *resolved_color = color->color; - break; - + return TRUE; case COLOR_TYPE_NAME: { GtkSymbolicColor *named_color; + g_return_val_if_fail (GTK_IS_STYLE_PROPERTIES (props), FALSE); + named_color = gtk_style_properties_lookup_color (props, color->name); if (!named_color) - gtk_style_context_lookup_default_color (color->name, resolved_color); + return FALSE; - gtk_symbolic_color_resolve (named_color, props, resolved_color); + return gtk_symbolic_color_resolve (named_color, props, resolved_color); } - break; + break; case COLOR_TYPE_SHADE: { GdkRGBA shade; - gtk_symbolic_color_resolve (color->shade.color, props, &shade); + if (!gtk_symbolic_color_resolve (color->shade.color, props, &shade)) + return FALSE; _shade_color (&shade, color->shade.factor); *resolved_color = shade; - } - break; + return TRUE; + } + + break; case COLOR_TYPE_ALPHA: { GdkRGBA alpha; - gtk_symbolic_color_resolve (color->alpha.color, props, &alpha); + if (!gtk_symbolic_color_resolve (color->alpha.color, props, &alpha)) + return FALSE; *resolved_color = alpha; resolved_color->alpha = CLAMP (alpha.alpha * color->alpha.factor, 0, 1); - } - break; + return TRUE; + } case COLOR_TYPE_MIX: { GdkRGBA color1, color2; - gtk_symbolic_color_resolve (color->mix.color1, props, &color1); - gtk_symbolic_color_resolve (color->mix.color2, props, &color2); + if (!gtk_symbolic_color_resolve (color->mix.color1, props, &color1)) + return FALSE; + + if (!gtk_symbolic_color_resolve (color->mix.color2, props, &color2)) + return FALSE; resolved_color->red = CLAMP (color1.red + ((color2.red - color1.red) * color->mix.factor), 0, 1); resolved_color->green = CLAMP (color1.green + ((color2.green - color1.green) * color->mix.factor), 0, 1); resolved_color->blue = CLAMP (color1.blue + ((color2.blue - color1.blue) * color->mix.factor), 0, 1); resolved_color->alpha = CLAMP (color1.alpha + ((color2.alpha - color1.alpha) * color->mix.factor), 0, 1); - } - break; + return TRUE; + } + + break; default: g_assert_not_reached (); } + + return FALSE; } diff --git a/gtk/gtksymboliccolor.h b/gtk/gtksymboliccolor.h index 2deff1b4f8..4f4b8137b4 100644 --- a/gtk/gtksymboliccolor.h +++ b/gtk/gtksymboliccolor.h @@ -46,7 +46,7 @@ GtkSymbolicColor * gtk_symbolic_color_new_mix (GtkSymbolicColor *color1, GtkSymbolicColor * gtk_symbolic_color_ref (GtkSymbolicColor *color); void gtk_symbolic_color_unref (GtkSymbolicColor *color); -void gtk_symbolic_color_resolve (GtkSymbolicColor *color, +gboolean gtk_symbolic_color_resolve (GtkSymbolicColor *color, GtkStyleProperties *props, GdkRGBA *resolved_color); diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 75301f5d27..1c77dbce6d 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -549,19 +549,21 @@ gtk_theming_engine_get_style (GtkThemingEngine *engine, * @color: (out): Return location for the looked up color * * Looks up and resolves a color name in the current style's color map. + * + * Returns: %TRUE if @color_name was found and resolved, %FALSE otherwise **/ -void +gboolean gtk_theming_engine_lookup_color (GtkThemingEngine *engine, const gchar *color_name, GdkRGBA *color) { GtkThemingEnginePrivate *priv; - g_return_if_fail (GTK_IS_THEMING_ENGINE (engine)); - g_return_if_fail (color_name != NULL); + g_return_val_if_fail (GTK_IS_THEMING_ENGINE (engine), FALSE); + g_return_val_if_fail (color_name != NULL, FALSE); priv = engine->priv; - gtk_style_context_lookup_color (priv->context, color_name, color); + return gtk_style_context_lookup_color (priv->context, color_name, color); } /** diff --git a/gtk/gtkthemingengine.h b/gtk/gtkthemingengine.h index dc07d4744d..64b39216e2 100644 --- a/gtk/gtkthemingengine.h +++ b/gtk/gtkthemingengine.h @@ -198,9 +198,9 @@ void gtk_theming_engine_get_style_valist (GtkThemingEngine *engine, void gtk_theming_engine_get_style (GtkThemingEngine *engine, ...); -void gtk_theming_engine_lookup_color (GtkThemingEngine *engine, - const gchar *color_name, - GdkRGBA *color); +gboolean gtk_theming_engine_lookup_color (GtkThemingEngine *engine, + const gchar *color_name, + GdkRGBA *color); G_CONST_RETURN GtkWidgetPath * gtk_theming_engine_get_path (GtkThemingEngine *engine); From ddb5e12e6156480035c107954aa90cab94504a05 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 9 Dec 2010 23:56:25 +0100 Subject: [PATCH 0438/1463] docs: Reinstate pixbufs section in GDK docs It was accidentally removed in 0775b0a85818e14d12087f33977e14efec6a058a --- docs/reference/gdk/gdk-docs.sgml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/reference/gdk/gdk-docs.sgml b/docs/reference/gdk/gdk-docs.sgml index c77b8be902..ed18e2fbbd 100644 --- a/docs/reference/gdk/gdk-docs.sgml +++ b/docs/reference/gdk/gdk-docs.sgml @@ -22,6 +22,7 @@ + From bb87eada6ba87a9eb398289ff8558898169f1a3d Mon Sep 17 00:00:00 2001 From: Martyn Russell Date: Tue, 7 Dec 2010 12:15:42 +0000 Subject: [PATCH 0439/1463] gtksearchenginetracker: Update to work with libtracker-sparql libtracker-sparql is available in Tracker 0.9/0.10 --- gtk/gtksearchenginetracker.c | 555 +++++++++++++++++------------------ 1 file changed, 276 insertions(+), 279 deletions(-) diff --git a/gtk/gtksearchenginetracker.c b/gtk/gtksearchenginetracker.c index e46691a944..ad9ff7fe2f 100644 --- a/gtk/gtksearchenginetracker.c +++ b/gtk/gtksearchenginetracker.c @@ -1,5 +1,4 @@ /* - * Copyright (C) 2005 Jamie McCracken * Copyright (C) 2009-2010 Nokia * * This library is free software; you can redistribute it and/or @@ -16,163 +15,143 @@ * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * - * Authors: Jamie McCracken - * Jürg Billeter + * Authors: Jürg Billeter * Martyn Russell * * Based on nautilus-search-engine-tracker.c */ #include "config.h" + +#include #include + #include "gtksearchenginetracker.h" -/* we dlopen() libtracker at runtime */ +/* If defined, we use fts:match, this has to be enabled in Tracker to + * work which it usually is. The alternative is to undefine it and + * use filename matching instead. This doesn't use the content of the + * file however. + */ +#undef FTS_MATCHING -typedef struct _TrackerClient TrackerClient; +#define MODULE_FILENAME "libtracker-sparql-0.10.so.0" -typedef enum +#define MODULE_MAP(a) { #a, (gpointer *)&a } + +/* Connection object */ +typedef struct _TrackerSparqlConnection TrackerSparqlConnection; + +#define TRACKER_SPARQL_TYPE_CONNECTION (tracker_sparql_connection_get_type ()) +#define TRACKER_SPARQL_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_CONNECTION, TrackerSparqlConnection)) + +/* Cursor object */ +typedef struct _TrackerSparqlCursor TrackerSparqlCursor; + +#define TRACKER_SPARQL_TYPE_CURSOR (tracker_sparql_cursor_get_type ()) +#define TRACKER_SPARQL_CURSOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_SPARQL_TYPE_CURSOR, TrackerSparqlCursor)) + +/* API */ +static GType (*tracker_sparql_connection_get_type) (void) = NULL; +static TrackerSparqlConnection * (*tracker_sparql_connection_get) (GCancellable *cancellable, + GError **error) = NULL; +static void (*tracker_sparql_connection_query_async) (TrackerSparqlConnection *self, + const gchar *sparql, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) = NULL; +static TrackerSparqlCursor * (*tracker_sparql_connection_query_finish) (TrackerSparqlConnection *self, + GAsyncResult *_res_, + GError **error) = NULL; +static GType (*tracker_sparql_cursor_get_type) (void) = NULL; +static void (*tracker_sparql_cursor_next_async) (TrackerSparqlCursor *self, + GCancellable *cancellable, + GAsyncReadyCallback callback, + gpointer user_data) = NULL; +static gboolean (*tracker_sparql_cursor_next_finish) (TrackerSparqlCursor *self, + GAsyncResult *_res_, + GError **error) = NULL; +static const gchar * (*tracker_sparql_cursor_get_string) (TrackerSparqlCursor *self, + gint *column, + glong *length) = NULL; +static gchar * (*tracker_sparql_escape_string) (const gchar *literal) = NULL; + +static struct TrackerFunctions { - TRACKER_UNAVAILABLE = 0, - TRACKER_0_6 = 1 << 0, - TRACKER_0_7 = 1 << 1, - TRACKER_0_8 = 1 << 2, - TRACKER_0_9 = 1 << 3 -} TrackerVersion; - - -/* Tracker 0.6 API */ -typedef void (*TrackerArrayReply) (char **result, - GError *error, - gpointer user_data); - -static TrackerClient * - (*tracker_connect) (gboolean enable_warnings, - gint timeout) = NULL; -static void (*tracker_disconnect) (TrackerClient *client) = NULL; -static int (*tracker_get_version) (TrackerClient *client, - GError **error) = NULL; -static void (*tracker_cancel_last_call) (TrackerClient *client) = NULL; - -static void (*tracker_search_metadata_by_text_async) (TrackerClient *client, - const char *query, - TrackerArrayReply callback, - gpointer user_data) = NULL; -static void (*tracker_search_metadata_by_text_and_location_async) (TrackerClient *client, - const char *query, - const char *location, - TrackerArrayReply callback, - gpointer user_data) = NULL; - - -/* Tracker 0.7->0.9 API */ -typedef enum { - TRACKER_CLIENT_ENABLE_WARNINGS = 1 << 0 -} TrackerClientFlags; - -typedef void (*TrackerReplyGPtrArray) (GPtrArray *result, - GError *error, - gpointer user_data); - -static TrackerClient * (*tracker_client_new) (TrackerClientFlags flags, - gint timeout) = NULL; -static gchar * (*tracker_sparql_escape) (const gchar *str) = NULL; -static guint (*tracker_resources_sparql_query_async) (TrackerClient *client, - const gchar *query, - TrackerReplyGPtrArray callback, - gpointer user_data) = NULL; - - -static struct TrackerDlMapping -{ - const char *fn_name; - gpointer *fn_ptr_ref; - TrackerVersion versions; -} tracker_dl_mapping[] = -{ -#define MAP(a,v) { #a, (gpointer *)&a, v } - MAP (tracker_connect, TRACKER_0_6 | TRACKER_0_7), - MAP (tracker_disconnect, TRACKER_0_6 | TRACKER_0_7), - MAP (tracker_get_version, TRACKER_0_6), - MAP (tracker_cancel_last_call, TRACKER_0_6 | TRACKER_0_7 | TRACKER_0_8 | TRACKER_0_9), - MAP (tracker_search_metadata_by_text_async, TRACKER_0_6 | TRACKER_0_7), - MAP (tracker_search_metadata_by_text_and_location_async, TRACKER_0_6 | TRACKER_0_7), - MAP (tracker_client_new, TRACKER_0_8 | TRACKER_0_9), - MAP (tracker_sparql_escape, TRACKER_0_8 | TRACKER_0_9), - MAP (tracker_resources_sparql_query_async, TRACKER_0_8 | TRACKER_0_9) -#undef MAP + const char *name; + gpointer *pointer; +} funcs[] = { + MODULE_MAP (tracker_sparql_connection_get_type), + MODULE_MAP (tracker_sparql_connection_get), + MODULE_MAP (tracker_sparql_connection_query_async), + MODULE_MAP (tracker_sparql_connection_query_finish), + MODULE_MAP (tracker_sparql_cursor_get_type), + MODULE_MAP (tracker_sparql_cursor_next_async), + MODULE_MAP (tracker_sparql_cursor_next_finish), + MODULE_MAP (tracker_sparql_cursor_get_string), + MODULE_MAP (tracker_sparql_escape_string) }; -static TrackerVersion -open_libtracker (void) +static gboolean +init (void) { - static gboolean done = FALSE; - static TrackerVersion version = TRACKER_UNAVAILABLE; + static gboolean inited = FALSE; + gint i; + GModule *m; + GModuleFlags flags; - if (!done) - { - gint i; - GModule *tracker; - GModuleFlags flags; + if (inited) + return TRUE; - done = TRUE; - flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL; + flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL; - /* So this is the order: - * - * - 0.9 (latest unstable) - * - 0.8 (stable) - * - 0.7 (unstable, 0.6 sucks so badly) - * - 0.6 (stable) - */ - if ((tracker = g_module_open ("libtracker-client-0.9.so.0", flags)) != NULL) - version = TRACKER_0_9; - else if ((tracker = g_module_open ("libtracker-client-0.8.so.0", flags)) != NULL) - version = TRACKER_0_8; - else if ((tracker = g_module_open ("libtracker-client-0.7.so.0", flags)) != NULL) - version = TRACKER_0_7; - else if ((tracker = g_module_open ("libtrackerclient.so.0", flags)) != NULL) - version = TRACKER_0_6; - else - { - g_debug ("No tracker backend available"); - return TRACKER_UNAVAILABLE; - } + /* Only support 0.10 onwards */ + if ((m = g_module_open (MODULE_FILENAME, flags)) == NULL) + { + g_debug ("No tracker backend available or it is not new enough"); + g_debug ("Only available using '%s'", MODULE_FILENAME); + return FALSE; + } - for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++) - { - if ((tracker_dl_mapping[i].versions & version) == 0) - continue; + inited = TRUE; - if (!g_module_symbol (tracker, - tracker_dl_mapping[i].fn_name, - tracker_dl_mapping[i].fn_ptr_ref)) - { - g_warning ("Missing symbol '%s' in libtracker\n", - tracker_dl_mapping[i].fn_name); - g_module_close (tracker); + /* Check for the symbols we need */ + for (i = 0; i < G_N_ELEMENTS (funcs); i++) + { + if (!g_module_symbol (m, funcs[i].name, funcs[i].pointer)) + { + g_warning ("Missing symbol '%s' in libtracker-sparql\n", + funcs[i].name); + g_module_close (m); - for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++) - tracker_dl_mapping[i].fn_ptr_ref = NULL; + for (i = 0; i < G_N_ELEMENTS (funcs); i++) + funcs[i].pointer = NULL; - return TRACKER_UNAVAILABLE; + return FALSE; + } } - } - } - return version; + g_debug ("Loaded Tracker library and all required symbols"); + + return TRUE; } +/* + * GtkSearchEngineTracker object + */ struct _GtkSearchEngineTrackerPrivate { - GtkQuery *query; - TrackerClient *client; - gboolean query_pending; - TrackerVersion version; + TrackerSparqlConnection *connection; + GCancellable *cancellable; + GtkQuery *query; + gboolean query_pending; }; G_DEFINE_TYPE (GtkSearchEngineTracker, _gtk_search_engine_tracker, GTK_TYPE_SEARCH_ENGINE); +static void cursor_callback (GObject *object, + GAsyncResult *result, + gpointer user_data); static void finalize (GObject *object) @@ -181,56 +160,106 @@ finalize (GObject *object) tracker = GTK_SEARCH_ENGINE_TRACKER (object); + if (tracker->priv->cancellable) + { + g_cancellable_cancel (tracker->priv->cancellable); + g_object_unref (tracker->priv->cancellable); + tracker->priv->cancellable = NULL; + } + if (tracker->priv->query) { g_object_unref (tracker->priv->query); tracker->priv->query = NULL; } - if (tracker->priv->version == TRACKER_0_8 || - tracker->priv->version == TRACKER_0_9) - g_object_unref (tracker->priv->client); - else - tracker_disconnect (tracker->priv->client); + if (tracker->priv->connection) + { + g_object_unref (tracker->priv->connection); + tracker->priv->connection = NULL; + } G_OBJECT_CLASS (_gtk_search_engine_tracker_parent_class)->finalize (object); } - -/* stolen from tracker sources, tracker.c */ static void -sparql_append_string_literal (GString *sparql, - const gchar *str) +cursor_next (GtkSearchEngineTracker *tracker, + TrackerSparqlCursor *cursor) { - gchar *s; - - s = tracker_sparql_escape (str); - - g_string_append_c (sparql, '"'); - g_string_append (sparql, s); - g_string_append_c (sparql, '"'); - - g_free (s); + tracker_sparql_cursor_next_async (cursor, + tracker->priv->cancellable, + cursor_callback, + tracker); } - static void -search_callback (gpointer results, - GError *error, - gpointer user_data) +cursor_callback (GObject *object, + GAsyncResult *result, + gpointer user_data) { GtkSearchEngineTracker *tracker; - gchar **results_p; - GList *hit_uris; - GPtrArray *OUT_result; - gchar *uri; - gint i; + GError *error = NULL; + TrackerSparqlCursor *cursor; + GList *hits; + gboolean success; + + tracker = GTK_SEARCH_ENGINE_TRACKER (user_data); + + cursor = TRACKER_SPARQL_CURSOR (object); + success = tracker_sparql_cursor_next_finish (cursor, result, &error); + + if (error) + { + _gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message); + + g_error_free (error); + + if (cursor) + g_object_unref (cursor); + + return; + } + + if (!success) + { + _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker)); + + if (cursor) + g_object_unref (cursor); + + return; + } + + /* We iterate result by result, not n at a time. */ + hits = g_list_append (NULL, (gchar*) tracker_sparql_cursor_get_string (cursor, 0, NULL)); + _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (tracker), hits); + g_list_free (hits); + + /* Get next */ + cursor_next (tracker, cursor); +} + +static void +query_callback (GObject *object, + GAsyncResult *result, + gpointer user_data) +{ + GtkSearchEngineTracker *tracker; + TrackerSparqlConnection *connection; + TrackerSparqlCursor *cursor; + GError *error = NULL; tracker = GTK_SEARCH_ENGINE_TRACKER (user_data); - hit_uris = NULL; tracker->priv->query_pending = FALSE; + connection = TRACKER_SPARQL_CONNECTION (object); + cursor = tracker_sparql_connection_query_finish (connection, + result, + &error); + + g_debug ("Query returned cursor:%p", cursor); + if (error) { _gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message); @@ -238,118 +267,96 @@ search_callback (gpointer results, return; } - if (!results) - return; + if (!cursor) + { + _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker)); + return; + } - if (tracker->priv->version == TRACKER_0_8 || - tracker->priv->version == TRACKER_0_9) - { - OUT_result = (GPtrArray*) results; - - for (i = 0; i < OUT_result->len; i++) - { - uri = g_strdup (((gchar **) OUT_result->pdata[i])[0]); - if (uri) - hit_uris = g_list_prepend (hit_uris, uri); - } - - g_ptr_array_foreach (OUT_result, (GFunc) g_free, NULL); - g_ptr_array_free (OUT_result, TRUE); - } - else - { - for (results_p = results; *results_p; results_p++) - { - if (tracker->priv->version == TRACKER_0_6) - uri = g_filename_to_uri (*results_p, NULL, NULL); - else - uri = g_strdup (*results_p); - - if (uri) - hit_uris = g_list_prepend (hit_uris, uri); - } - g_strfreev ((gchar **) results); - } - - _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (tracker), hit_uris); - _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker)); - - g_list_foreach (hit_uris, (GFunc) g_free, NULL); - g_list_free (hit_uris); + cursor_next (tracker, cursor); } +static void +sparql_append_string_literal (GString *sparql, + const gchar *str) +{ + gchar *s; + + s = tracker_sparql_escape_string (str); + + g_string_append_c (sparql, '"'); + g_string_append (sparql, s); + g_string_append_c (sparql, '"'); + + g_free (s); +} static void gtk_search_engine_tracker_start (GtkSearchEngine *engine) { GtkSearchEngineTracker *tracker; - gchar *search_text, *location, *location_uri; + gchar *search_text, *location_uri; GString *sparql; tracker = GTK_SEARCH_ENGINE_TRACKER (engine); if (tracker->priv->query_pending) - return; + { + g_debug ("Attempt to start a new search while one is pending, doing nothing"); + return; + } if (tracker->priv->query == NULL) - return; + { + g_debug ("Attempt to start a new search with no GtkQuery, doing nothing"); + return; + } search_text = _gtk_query_get_text (tracker->priv->query); location_uri = _gtk_query_get_location (tracker->priv->query); - location = NULL; + g_debug ("Query starting, search criteria:'%s', location:'%s'", search_text, location_uri); + + /* Using FTS: */ + sparql = g_string_new ("SELECT nie:url(?urn) " + "WHERE {" + " ?urn a nfo:FileDataObject ;" + " tracker:available true ; " + " fts:match "); + sparql_append_string_literal (sparql, search_text); + +#ifdef FTS_MATCHING if (location_uri) - { - if (tracker->priv->version == TRACKER_0_6) - { - location = g_filename_from_uri (location_uri, NULL, NULL); - g_free (location_uri); - } - else - location = location_uri; - } + { + g_string_append (sparql, " . FILTER (fn:starts-with(nie:url(?urn),"); + sparql_append_string_literal (sparql, location_uri); + g_string_append (sparql, "))"); + } - if (tracker->priv->version == TRACKER_0_8 || - tracker->priv->version == TRACKER_0_9) - { - sparql = g_string_new ("SELECT nie:url(?urn) WHERE { ?urn a nfo:FileDataObject; fts:match "); - sparql_append_string_literal (sparql, search_text); - if (location) - { - g_string_append (sparql, " . FILTER (fn:starts-with(nie:url(?urn),"); - sparql_append_string_literal (sparql, location); - g_string_append (sparql, "))"); - } - g_string_append (sparql, " } ORDER BY DESC(fts:rank(?urn)) ASC(nie:url(?urn))"); + g_string_append (sparql, " } ORDER BY DESC(fts:rank(?urn)) ASC(nie:url(?urn))"); +#else /* FTS_MATCHING */ + /* Using filename matching: */ + sparql = g_string_new ("SELECT nie:url(?urn) " + "WHERE {" + " ?urn a nfo:FileDataObject ;" + " tracker:available true ." + " FILTER (fn:contains(nfo:fileName(?urn),"); + sparql_append_string_literal (sparql, search_text); - tracker_resources_sparql_query_async (tracker->priv->client, - sparql->str, - (TrackerReplyGPtrArray) search_callback, - tracker); - g_string_free (sparql, TRUE); - } - else - { - if (location) - { - tracker_search_metadata_by_text_and_location_async (tracker->priv->client, - search_text, - location, - (TrackerArrayReply) search_callback, - tracker); - } - else - { - tracker_search_metadata_by_text_async (tracker->priv->client, - search_text, - (TrackerArrayReply) search_callback, - tracker); - } - } + g_string_append (sparql, + "))" + "} ORDER BY DESC(nie:url(?urn)) DESC(nfo:fileName(?urn))"); +#endif /* FTS_MATCHING */ + + tracker_sparql_connection_query_async (tracker->priv->connection, + sparql->str, + tracker->priv->cancellable, + query_callback, + tracker); + g_string_free (sparql, TRUE); tracker->priv->query_pending = TRUE; g_free (search_text); - g_free (location); } static void @@ -359,9 +366,11 @@ gtk_search_engine_tracker_stop (GtkSearchEngine *engine) tracker = GTK_SEARCH_ENGINE_TRACKER (engine); + g_debug ("Query stopping"); + if (tracker->priv->query && tracker->priv->query_pending) { - tracker_cancel_last_call (tracker->priv->client); + g_cancellable_cancel (tracker->priv->cancellable); tracker->priv->query_pending = FALSE; } } @@ -374,7 +383,7 @@ gtk_search_engine_tracker_is_indexed (GtkSearchEngine *engine) static void gtk_search_engine_tracker_set_query (GtkSearchEngine *engine, - GtkQuery *query) + GtkQuery *query) { GtkSearchEngineTracker *tracker; @@ -410,7 +419,9 @@ _gtk_search_engine_tracker_class_init (GtkSearchEngineTrackerClass *class) static void _gtk_search_engine_tracker_init (GtkSearchEngineTracker *engine) { - engine->priv = G_TYPE_INSTANCE_GET_PRIVATE (engine, GTK_TYPE_SEARCH_ENGINE_TRACKER, GtkSearchEngineTrackerPrivate); + engine->priv = G_TYPE_INSTANCE_GET_PRIVATE (engine, + GTK_TYPE_SEARCH_ENGINE_TRACKER, + GtkSearchEngineTrackerPrivate); } @@ -418,49 +429,35 @@ GtkSearchEngine * _gtk_search_engine_tracker_new (void) { GtkSearchEngineTracker *engine; - TrackerClient *tracker_client; - TrackerVersion version; - GError *err = NULL; + TrackerSparqlConnection *connection; + GCancellable *cancellable; + GError *error = NULL; - version = open_libtracker (); + if (!init ()) + return NULL; - if (version == TRACKER_0_8 || - version == TRACKER_0_9) - { - tracker_client = tracker_client_new (TRACKER_CLIENT_ENABLE_WARNINGS, G_MAXINT); - } - else - { - if (!tracker_connect) - return NULL; + g_debug ("Creating GtkSearchEngineTracker..."); - tracker_client = tracker_connect (FALSE, -1); - } + cancellable = g_cancellable_new (); + connection = tracker_sparql_connection_get (cancellable, &error); - if (!tracker_client) - return NULL; - - - if (version == TRACKER_0_6) - { - if (!tracker_get_version) - return NULL; - - tracker_get_version (tracker_client, &err); - - if (err != NULL) - { - g_error_free (err); - tracker_disconnect (tracker_client); - return NULL; - } - } + if (error) + { + g_warning ("Could not establish a connection to Tracker: %s", error->message); + g_error_free (error); + return NULL; + } + else if (!connection) + { + g_warning ("Could not establish a connection to Tracker, no TrackerSparqlConnection was returned"); + return NULL; + } engine = g_object_new (GTK_TYPE_SEARCH_ENGINE_TRACKER, NULL); - engine->priv->client = tracker_client; + engine->priv->connection = connection; + engine->priv->cancellable = cancellable; engine->priv->query_pending = FALSE; - engine->priv->version = version; return GTK_SEARCH_ENGINE (engine); } From fe5e0e4502943e9c52141b295766fba124c1e7f3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 00:58:33 -0500 Subject: [PATCH 0440/1463] Add some forgotten accessors for GdkDragContext These fields are accessed in gtk. --- gdk/gdk.symbols | 2 ++ gdk/gdkdnd.c | 37 +++++++++++++++++++++++++++++++++++++ gdk/gdkdnd.h | 2 ++ 3 files changed, 41 insertions(+) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 4479b6fa8a..df8cff676e 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -135,7 +135,9 @@ gdk_drag_abort gdk_drag_action_get_type G_GNUC_CONST gdk_drag_begin gdk_drag_context_get_actions +gdk_drag_context_get_dest_window gdk_drag_context_get_device +gdk_drag_context_get_protocol gdk_drag_context_get_selected_action gdk_drag_context_get_source_window gdk_drag_context_get_suggested_action diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c index cccae0968a..22967adc10 100644 --- a/gdk/gdkdnd.c +++ b/gdk/gdkdnd.c @@ -185,3 +185,40 @@ gdk_drag_context_get_source_window (GdkDragContext *context) return context->source_window; } + +/** + * gdk_drag_context_get_dest_window: + * @context: a #GdkDragContext + * + * Returns the destination windw for the DND operation. + * + * Return value: (transfer none): a #GdkWindow + * + * Since: 3.0 + **/ +GdkWindow * +gdk_drag_context_get_dest_window (GdkDragContext *context) +{ + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL); + + return context->dest_window; +} + +/** + * gdk_drag_context_get_protocol: + * @context: a #GdkDragContext + * + * Returns the drag protocol thats used by this context. + * + * Returns: the drag protocol + * + * Since: 3.0 + */ +GdkDragProtocol +gdk_drag_context_get_protocol (GdkDragContext *context) +{ + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), GDK_DRAG_PROTO_NONE); + + return context->protocol; +} + diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h index b257d1e8f0..e383c957e2 100644 --- a/gdk/gdkdnd.h +++ b/gdk/gdkdnd.h @@ -146,6 +146,8 @@ GdkDragAction gdk_drag_context_get_suggested_action (GdkDragContext *context) GdkDragAction gdk_drag_context_get_selected_action (GdkDragContext *context); GdkWindow *gdk_drag_context_get_source_window (GdkDragContext *context); +GdkWindow *gdk_drag_context_get_dest_window (GdkDragContext *context); +GdkDragProtocol gdk_drag_context_get_protocol (GdkDragContext *context); /* Destination side */ From 83204928b93bbdf412fab39456710288b7abe5e8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 00:59:07 -0500 Subject: [PATCH 0441/1463] Don't access GdkDragContext fields directly Instead use the accessors. --- gtk/gtkcalendar.c | 10 ++--- gtk/gtkdnd.c | 74 +++++++++++++++++-------------------- gtk/gtkentry.c | 6 +-- gtk/gtkfilechooserdefault.c | 8 ++-- gtk/gtkiconview.c | 6 +-- gtk/gtktextview.c | 8 ++-- gtk/gtktreeview.c | 6 +-- 7 files changed, 56 insertions(+), 62 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 57a26d6d7e..1836ef88b6 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -3379,19 +3379,19 @@ gtk_calendar_drag_motion (GtkWidget *widget, { GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); GdkAtom target; - - if (!priv->drag_highlight) + + if (!priv->drag_highlight) { priv->drag_highlight = 1; gtk_drag_highlight (widget); } - + target = gtk_drag_dest_find_target (widget, context, NULL); - if (target == GDK_NONE || context->suggested_action == 0) + if (target == GDK_NONE || gdk_drag_context_get_suggested_action (context) == 0) gdk_drag_status (context, 0, time); else { - set_status_pending (context, context->suggested_action); + set_status_pending (context, gdk_drag_context_get_suggested_action (context)); gtk_drag_get_data (widget, context, target, time); } diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 84e651d668..bdc8994a6b 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -981,7 +981,6 @@ gtk_drag_get_data (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (!context->is_source); selection_widget = gtk_drag_get_ipc_widget (widget); @@ -1016,14 +1015,13 @@ gtk_drag_get_source_widget (GdkDragContext *context) GSList *tmp_list; g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL); - g_return_val_if_fail (!context->is_source, NULL); tmp_list = source_widgets; while (tmp_list) { GtkWidget *ipc_widget = tmp_list->data; - if (gtk_widget_get_window (ipc_widget) == context->source_window) + if (gtk_widget_get_window (ipc_widget) == gdk_drag_context_get_source_window (context)) { GtkDragSourceInfo *info; info = g_object_get_data (G_OBJECT (ipc_widget), "gtk-info"); @@ -1057,13 +1055,12 @@ gtk_drag_finish (GdkDragContext *context, GdkAtom target = GDK_NONE; g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (!context->is_source); if (success && del) { target = gdk_atom_intern_static_string ("DELETE"); } - else if (context->protocol == GDK_DRAG_PROTO_MOTIF) + else if (gdk_drag_context_get_protocol (context) == GDK_DRAG_PROTO_MOTIF) { target = gdk_atom_intern_static_string (success ? "XmTRANSFER_SUCCESS" : @@ -1072,7 +1069,7 @@ gtk_drag_finish (GdkDragContext *context, if (target != GDK_NONE) { - GtkWidget *selection_widget = gtk_drag_get_ipc_widget_for_screen (gdk_window_get_screen (context->source_window)); + GtkWidget *selection_widget = gtk_drag_get_ipc_widget_for_screen (gdk_window_get_screen (gdk_drag_context_get_source_window (context))); g_object_ref (context); @@ -1639,7 +1636,7 @@ _gtk_drag_dest_handle_event (GtkWidget *toplevel, else if (event->type == GDK_DROP_START && !info->proxy_source) { gdk_drop_reply (context, found, event->dnd.time); - if ((context->protocol == GDK_DRAG_PROTO_MOTIF) && !found) + if ((gdk_drag_context_get_protocol (context) == GDK_DRAG_PROTO_MOTIF) && !found) gtk_drag_finish (context, FALSE, FALSE, event->dnd.time); } } @@ -1657,7 +1654,7 @@ _gtk_drag_dest_handle_event (GtkWidget *toplevel, * @target_list: (allow-none): list of droppable targets, or %NULL to use * gtk_drag_dest_get_target_list (@widget). * - * Looks for a match between @context->targets and the + * Looks for a match between the supported targets of @context and the * @dest_target_list, returning the first matching target, otherwise * returning %GDK_NONE. @dest_target_list should usually be the return * value from gtk_drag_dest_get_target_list(), but some widgets may @@ -1665,7 +1662,8 @@ _gtk_drag_dest_handle_event (GtkWidget *toplevel, * that case, they will have to implement a drag_motion handler that * passes the correct target list to this function. * - * Return value: first target that the source offers and the dest can accept, or %GDK_NONE + * Return value: first target that the source offers and the dest can + * accept, or %GDK_NONE **/ GdkAtom gtk_drag_dest_find_target (GtkWidget *widget, @@ -1678,7 +1676,6 @@ gtk_drag_dest_find_target (GtkWidget *widget, g_return_val_if_fail (GTK_IS_WIDGET (widget), GDK_NONE); g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), GDK_NONE); - g_return_val_if_fail (!context->is_source, GDK_NONE); source_widget = gtk_drag_get_source_widget (context); @@ -1693,7 +1690,7 @@ gtk_drag_dest_find_target (GtkWidget *widget, while (tmp_target) { GtkTargetPair *pair = tmp_target->data; - tmp_source = context->targets; + tmp_source = gdk_drag_context_list_targets (context); while (tmp_source) { if (tmp_source->data == GUINT_TO_POINTER (pair->target)) @@ -1787,7 +1784,7 @@ gtk_drag_selection_received (GtkWidget *widget, gtk_drag_finish (context, (selection_data->length >= 0), - (context->action == GDK_ACTION_MOVE), + (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE), time); } @@ -1906,7 +1903,7 @@ gtk_drag_find_widget (GtkWidget *widget, } static void -gtk_drag_proxy_begin (GtkWidget *widget, +gtk_drag_proxy_begin (GtkWidget *widget, GtkDragDestInfo *dest_info, guint32 time) { @@ -1924,7 +1921,7 @@ gtk_drag_proxy_begin (GtkWidget *widget, ipc_widget = gtk_drag_get_ipc_widget (widget); context = gdk_drag_begin (gtk_widget_get_window (ipc_widget), - dest_info->context->targets); + gdk_drag_context_list_targets (dest_info->context)); source_info = gtk_drag_get_source_info (context, TRUE); @@ -1932,10 +1929,10 @@ gtk_drag_proxy_begin (GtkWidget *widget, source_info->widget = g_object_ref (widget); source_info->target_list = gtk_target_list_new (NULL, 0); - tmp_list = dest_info->context->targets; + tmp_list = gdk_drag_context_list_targets (dest_info->context); while (tmp_list) { - gtk_target_list_add (source_info->target_list, + gtk_target_list_add (source_info->target_list, GDK_POINTER_TO_ATOM (tmp_list->data), 0, 0); tmp_list = tmp_list->next; } @@ -2123,8 +2120,9 @@ gtk_drag_dest_motion (GtkWidget *widget, dest_window, proto, current_event->dnd.x_root, current_event->dnd.y_root, - context->suggested_action, - context->actions, time); + gdk_drag_context_get_suggested_action (context), + gdk_drag_context_get_actions (context), + time); if (!site->proxy_window && dest_window) g_object_unref (dest_window); @@ -2141,8 +2139,8 @@ gtk_drag_dest_motion (GtkWidget *widget, if (site->track_motion || site->flags & GTK_DEST_DEFAULT_MOTION) { - if (context->suggested_action & site->actions) - action = context->suggested_action; + if (gdk_drag_context_get_suggested_action (context) & site->actions) + action = gdk_drag_context_get_suggested_action (context); else { gint i; @@ -2150,7 +2148,7 @@ gtk_drag_dest_motion (GtkWidget *widget, for (i = 0; i < 8; i++) { if ((site->actions & (1 << i)) && - (context->actions & (1 << i))) + (gdk_drag_context_get_actions (context) & (1 << i))) { action = (1 << i); break; @@ -2205,7 +2203,7 @@ gtk_drag_dest_drop (GtkWidget *widget, if (site->do_proxy) { if (info->proxy_source || - (info->context->protocol == GDK_DRAG_PROTO_ROOTWIN)) + (gdk_drag_context_get_protocol (info->context) == GDK_DRAG_PROTO_ROOTWIN)) { gtk_drag_drop (info->proxy_source, time); } @@ -2245,8 +2243,9 @@ gtk_drag_dest_drop (GtkWidget *widget, dest_window, proto, current_event->dnd.x_root, current_event->dnd.y_root, - context->suggested_action, - context->actions, time); + gdk_drag_context_get_suggested_action (context), + gdk_drag_context_get_actions (context), + time); if (!site->proxy_window && dest_window) g_object_unref (dest_window); @@ -3024,7 +3023,6 @@ gtk_drag_set_icon_widget (GdkDragContext *context, gint hot_y) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (GTK_IS_WIDGET (widget)); gtk_drag_set_icon_window (context, widget, hot_x, hot_y, FALSE); @@ -3097,7 +3095,7 @@ set_icon_stock_pixbuf (GdkDragContext *context, g_return_if_fail (pixbuf != NULL || stock_id != NULL); g_return_if_fail (pixbuf == NULL || stock_id == NULL); - screen = gdk_window_get_screen (context->source_window); + screen = gdk_window_get_screen (gdk_drag_context_get_source_window (context)); window = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DND); @@ -3123,7 +3121,7 @@ set_icon_stock_pixbuf (GdkDragContext *context, else g_object_ref (pixbuf); - display = gdk_window_get_display (context->source_window); + display = gdk_window_get_display (gdk_drag_context_get_source_window (context)); width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); @@ -3173,7 +3171,6 @@ gtk_drag_set_icon_pixbuf (GdkDragContext *context, gint hot_y) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); set_icon_stock_pixbuf (context, NULL, pixbuf, hot_x, hot_y, FALSE); @@ -3196,7 +3193,6 @@ gtk_drag_set_icon_stock (GdkDragContext *context, gint hot_y) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (stock_id != NULL); set_icon_stock_pixbuf (context, stock_id, NULL, hot_x, hot_y, FALSE); @@ -3264,13 +3260,12 @@ gtk_drag_set_icon_surface (GdkDragContext *context, cairo_pattern_t *pattern; g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (surface != NULL); _gtk_cairo_surface_extents (surface, &extents); - screen = gdk_window_get_screen (context->source_window); + screen = gdk_window_get_screen (gdk_drag_context_get_source_window (context)); window = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_DND); @@ -3359,10 +3354,9 @@ gtk_drag_set_icon_name (GdkDragContext *context, gint width, height, icon_size; g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (icon_name != NULL); - screen = gdk_window_get_screen (context->source_window); + screen = gdk_window_get_screen (gdk_drag_context_get_source_window (context)); g_return_if_fail (screen != NULL); settings = gtk_settings_get_for_screen (screen); @@ -3395,7 +3389,6 @@ void gtk_drag_set_icon_default (GdkDragContext *context) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); gtk_drag_set_icon_stock (context, GTK_STOCK_DND, -2, -2); } @@ -3438,7 +3431,7 @@ _gtk_drag_source_handle_event (GtkWidget *widget, { if (info->proxy_dest->proxy_drop_wait) { - gboolean result = context->action != 0; + gboolean result = gdk_drag_context_get_selected_action (context) != 0; /* Aha - we can finally pass the MOTIF DROP on... */ gdk_drop_reply (info->proxy_dest->context, result, info->proxy_dest->proxy_drop_time); @@ -3450,7 +3443,7 @@ _gtk_drag_source_handle_event (GtkWidget *widget, else { gdk_drag_status (info->proxy_dest->context, - event->dnd.context->action, + gdk_drag_context_get_selected_action (event->dnd.context), event->dnd.time); } } @@ -3458,7 +3451,7 @@ _gtk_drag_source_handle_event (GtkWidget *widget, else if (info->have_grab) { cursor = gtk_drag_get_cursor (gtk_widget_get_display (widget), - event->dnd.context->action, + gdk_drag_context_get_selected_action (event->dnd.context), info); if (info->cursor != cursor) { @@ -3528,7 +3521,7 @@ gtk_drag_source_check_selection (GtkDragSourceInfo *info, tmp_list = tmp_list->next; } - if (info->context->protocol == GDK_DRAG_PROTO_MOTIF) + if (gdk_drag_context_get_protocol (info->context) == GDK_DRAG_PROTO_MOTIF) { gtk_selection_add_target (info->ipc_widget, selection, @@ -3642,7 +3635,7 @@ static void gtk_drag_drop (GtkDragSourceInfo *info, guint32 time) { - if (info->context->protocol == GDK_DRAG_PROTO_ROOTWIN) + if (gdk_drag_context_get_protocol (info->context) == GDK_DRAG_PROTO_ROOTWIN) { GtkSelectionData selection_data; GList *tmp_list; @@ -4330,7 +4323,8 @@ gtk_drag_button_release_cb (GtkWidget *widget, if (event->button != info->button) return FALSE; - if ((info->context->action != 0) && (info->context->dest_window != NULL)) + if ((gdk_drag_context_get_selected_action (info->context) != 0) && + (gdk_drag_context_get_dest_window (info->context) != NULL)) { gtk_drag_end (info, event->time); gtk_drag_drop (info, event->time); diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index aac0b9108d..c07535c134 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -8988,7 +8988,7 @@ gtk_entry_drag_motion (GtkWidget *widget, gtk_drag_dest_find_target (widget, context, NULL) != GDK_NONE) { source_widget = gtk_drag_get_source_widget (context); - suggested_action = context->suggested_action; + suggested_action = gdk_drag_context_get_suggested_action (context); if (!gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &sel1, &sel2) || new_position < sel1 || new_position > sel2) @@ -8998,7 +8998,7 @@ gtk_entry_drag_motion (GtkWidget *widget, /* Default to MOVE, unless the user has * pressed ctrl or alt to affect available actions */ - if ((context->actions & GDK_ACTION_MOVE) != 0) + if ((gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0) suggested_action = GDK_ACTION_MOVE; } @@ -9075,7 +9075,7 @@ gtk_entry_drag_data_received (GtkWidget *widget, end_change (entry); } - gtk_drag_finish (context, TRUE, context->action == GDK_ACTION_MOVE, time); + gtk_drag_finish (context, TRUE, gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE, time); } else { diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 4b8fcdbc1f..6ae3429f17 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -3071,11 +3071,11 @@ shortcuts_drag_motion_cb (GtkWidget *widget, } #endif - if (context->suggested_action == GDK_ACTION_COPY || - (context->actions & GDK_ACTION_COPY) != 0) + if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_COPY || + (gdk_drag_context_get_actions (context) & GDK_ACTION_COPY) != 0) action = GDK_ACTION_COPY; - else if (context->suggested_action == GDK_ACTION_MOVE || - (context->actions & GDK_ACTION_MOVE) != 0) + else if (gdk_drag_context_get_suggested_action (context) == GDK_ACTION_MOVE || + (gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0) action = GDK_ACTION_MOVE; else { diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 243106e9fd..1df2a7d94b 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -6825,7 +6825,7 @@ out: { GtkWidget *source_widget; - *suggested_action = context->suggested_action; + *suggested_action = gdk_drag_context_get_suggested_action (context); source_widget = gtk_drag_get_source_widget (context); if (source_widget == widget) @@ -6833,7 +6833,7 @@ out: /* Default to MOVE, unless the user has * pressed ctrl or shift to affect available actions */ - if ((context->actions & GDK_ACTION_MOVE) != 0) + if ((gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0) *suggested_action = GDK_ACTION_MOVE; } @@ -7284,7 +7284,7 @@ gtk_icon_view_drag_data_received (GtkWidget *widget, gtk_drag_finish (context, accepted, - (context->action == GDK_ACTION_MOVE), + (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE), time); gtk_tree_path_free (dest_row); diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index de6619d86e..0a49786b83 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -7028,7 +7028,7 @@ gtk_text_view_drag_motion (GtkWidget *widget, { GtkWidget *source_widget; - suggested_action = context->suggested_action; + suggested_action = gdk_drag_context_get_suggested_action (context); source_widget = gtk_drag_get_source_widget (context); @@ -7037,7 +7037,7 @@ gtk_text_view_drag_motion (GtkWidget *widget, /* Default to MOVE, unless the user has * pressed ctrl or alt to affect available actions */ - if ((context->actions & GDK_ACTION_MOVE) != 0) + if ((gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0) suggested_action = GDK_ACTION_MOVE; } } @@ -7194,7 +7194,7 @@ gtk_text_view_drag_data_received (GtkWidget *widget, atoms = gtk_text_buffer_get_deserialize_formats (buffer, &n_atoms); - for (list = context->targets; list; list = g_list_next (list)) + for (list = gdk_drag_context_list_targets (context); list; list = g_list_next (list)) { gint i; @@ -7262,7 +7262,7 @@ gtk_text_view_drag_data_received (GtkWidget *widget, done: gtk_drag_finish (context, success, - success && context->action == GDK_ACTION_MOVE, + success && gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE, time); if (success) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 85280038a8..408394f8cd 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -7188,7 +7188,7 @@ out: { GtkWidget *source_widget; - *suggested_action = context->suggested_action; + *suggested_action = gdk_drag_context_get_suggested_action (context); source_widget = gtk_drag_get_source_widget (context); if (source_widget == widget) @@ -7196,7 +7196,7 @@ out: /* Default to MOVE, unless the user has * pressed ctrl or shift to affect available actions */ - if ((context->actions & GDK_ACTION_MOVE) != 0) + if ((gdk_drag_context_get_actions (context) & GDK_ACTION_MOVE) != 0) *suggested_action = GDK_ACTION_MOVE; } @@ -7729,7 +7729,7 @@ gtk_tree_view_drag_data_received (GtkWidget *widget, gtk_drag_finish (context, accepted, - (context->action == GDK_ACTION_MOVE), + (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE), time); if (gtk_tree_path_get_depth (dest_row) == 1 From 948ab1a1685a33eca16979e63d79915395af0b36 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 02:32:18 -0500 Subject: [PATCH 0442/1463] Don't access GdkVisual fields directly Use accessors instead. --- gtk/gtktrayicon-x11.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c index 150b634823..4689d3ca53 100644 --- a/gtk/gtktrayicon-x11.c +++ b/gtk/gtktrayicon-x11.c @@ -445,6 +445,9 @@ gtk_tray_icon_get_visual_property (GtkTrayIcon *icon) gulong bytes_after; int error, result; GdkVisual *visual; + gint red_prec; + gint green_prec; + gint blue_prec; g_assert (icon->priv->manager_window != None); @@ -468,9 +471,13 @@ gtk_tray_icon_get_visual_property (GtkTrayIcon *icon) visual = gdk_x11_screen_lookup_visual (screen, visual_id); } + gdk_visual_get_red_pixel_details (visual, NULL, NULL, &red_prec); + gdk_visual_get_green_pixel_details (visual, NULL, NULL, &green_prec); + gdk_visual_get_blue_pixel_details (visual, NULL, NULL, &blue_prec); + icon->priv->manager_visual = visual; icon->priv->manager_visual_rgba = visual != NULL && - (visual->red_prec + visual->blue_prec + visual->green_prec < visual->depth); + (red_prec + blue_prec + green_prec < gdk_visual_get_depth (visual)); /* For the background-relative hack we use when we aren't using a real RGBA * visual, we can't be double-buffered */ @@ -844,7 +851,7 @@ gtk_tray_icon_set_visual (GtkTrayIcon *icon) * to be either the screen default visual or a TrueColor visual; ignore it * if it is something else */ - if (visual && visual->type != GDK_VISUAL_TRUE_COLOR) + if (visual && gdk_visual_get_visual_type (visual) != GDK_VISUAL_TRUE_COLOR) visual = NULL; if (visual == NULL) From 3b90d877b7f40de3c04cfa9df80f823369d750e8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 23:39:10 -0500 Subject: [PATCH 0443/1463] Remove unused header --- gdk/Makefile.am | 3 +- gdk/gdkpoly-generic.h | 291 ------------------------------------------ 2 files changed, 1 insertion(+), 293 deletions(-) delete mode 100644 gdk/gdkpoly-generic.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 987379bc9c..c56c721cd6 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -98,8 +98,7 @@ gdk_built_public_sources = \ gdk_private_headers = \ gdkinternals.h \ gdkdeviceprivate.h \ - gdkintl.h \ - gdkpoly-generic.h + gdkintl.h gdk_c_sources = \ gdk.c \ diff --git a/gdk/gdkpoly-generic.h b/gdk/gdkpoly-generic.h deleted file mode 100644 index 660c689adb..0000000000 --- a/gdk/gdkpoly-generic.h +++ /dev/null @@ -1,291 +0,0 @@ -/* $TOG: poly.h /main/5 1998/02/06 17:47:27 kaleb $ */ -/************************************************************************ - -Copyright 1987, 1998 The Open Group - -All Rights Reserved. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - - -Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts. - - All Rights Reserved - -Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that copyright notice and this permission notice appear in -supporting documentation, and that the name of Digital not be -used in advertising or publicity pertaining to distribution of the -software without specific, written prior permission. - -DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING -ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL -DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR -ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, -ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS -SOFTWARE. - -************************************************************************/ - -/* - * This file contains a few macros to help track - * the edge of a filled object. The object is assumed - * to be filled in scanline order, and thus the - * algorithm used is an extension of Bresenham's line - * drawing algorithm which assumes that y is always the - * major axis. - * Since these pieces of code are the same for any filled shape, - * it is more convenient to gather the library in one - * place, but since these pieces of code are also in - * the inner loops of output primitives, procedure call - * overhead is out of the question. - * See the author for a derivation if needed. - */ - - -/* - * In scan converting polygons, we want to choose those pixels - * which are inside the polygon. Thus, we add .5 to the starting - * x coordinate for both left and right edges. Now we choose the - * first pixel which is inside the pgon for the left edge and the - * first pixel which is outside the pgon for the right edge. - * Draw the left pixel, but not the right. - * - * How to add .5 to the starting x coordinate: - * If the edge is moving to the right, then subtract dy from the - * error term from the general form of the algorithm. - * If the edge is moving to the left, then add dy to the error term. - * - * The reason for the difference between edges moving to the left - * and edges moving to the right is simple: If an edge is moving - * to the right, then we want the algorithm to flip immediately. - * If it is moving to the left, then we don't want it to flip until - * we traverse an entire pixel. - */ -#define BRESINITPGON(dy, x1, x2, xStart, d, m, m1, incr1, incr2) { \ - int dx; /* local storage */ \ -\ - /* \ - * if the edge is horizontal, then it is ignored \ - * and assumed not to be processed. Otherwise, do this stuff. \ - */ \ - if ((dy) != 0) { \ - xStart = (x1); \ - dx = (x2) - xStart; \ - if (dx < 0) { \ - m = dx / (dy); \ - m1 = m - 1; \ - incr1 = -2 * dx + 2 * (dy) * m1; \ - incr2 = -2 * dx + 2 * (dy) * m; \ - d = 2 * m * (dy) - 2 * dx - 2 * (dy); \ - } else { \ - m = dx / (dy); \ - m1 = m + 1; \ - incr1 = 2 * dx - 2 * (dy) * m1; \ - incr2 = 2 * dx - 2 * (dy) * m; \ - d = -2 * m * (dy) + 2 * dx; \ - } \ - } \ -} - -#define BRESINCRPGON(d, minval, m, m1, incr1, incr2) { \ - if (m1 > 0) { \ - if (d > 0) { \ - minval += m1; \ - d += incr1; \ - } \ - else { \ - minval += m; \ - d += incr2; \ - } \ - } else {\ - if (d >= 0) { \ - minval += m1; \ - d += incr1; \ - } \ - else { \ - minval += m; \ - d += incr2; \ - } \ - } \ -} - - -/* - * This structure contains all of the information needed - * to run the bresenham algorithm. - * The variables may be hardcoded into the declarations - * instead of using this structure to make use of - * register declarations. - */ -typedef struct { - int minor_axis; /* minor axis */ - int d; /* decision variable */ - int m, m1; /* slope and slope+1 */ - int incr1, incr2; /* error increments */ -} BRESINFO; - - -#define BRESINITPGONSTRUCT(dmaj, min1, min2, bres) \ - BRESINITPGON(dmaj, min1, min2, bres.minor_axis, bres.d, \ - bres.m, bres.m1, bres.incr1, bres.incr2) - -#define BRESINCRPGONSTRUCT(bres) \ - BRESINCRPGON(bres.d, bres.minor_axis, bres.m, bres.m1, bres.incr1, bres.incr2) - - - -/* - * These are the data structures needed to scan - * convert regions. Two different scan conversion - * methods are available -- the even-odd method, and - * the winding number method. - * The even-odd rule states that a point is inside - * the polygon if a ray drawn from that point in any - * direction will pass through an odd number of - * path segments. - * By the winding number rule, a point is decided - * to be inside the polygon if a ray drawn from that - * point in any direction passes through a different - * number of clockwise and counter-clockwise path - * segments. - * - * These data structures are adapted somewhat from - * the algorithm in (Foley/Van Dam) for scan converting - * polygons. - * The basic algorithm is to start at the top (smallest y) - * of the polygon, stepping down to the bottom of - * the polygon by incrementing the y coordinate. We - * keep a list of edges which the current scanline crosses, - * sorted by x. This list is called the Active Edge Table (AET) - * As we change the y-coordinate, we update each entry in - * in the active edge table to reflect the edges new xcoord. - * This list must be sorted at each scanline in case - * two edges intersect. - * We also keep a data structure known as the Edge Table (ET), - * which keeps track of all the edges which the current - * scanline has not yet reached. The ET is basically a - * list of ScanLineList structures containing a list of - * edges which are entered at a given scanline. There is one - * ScanLineList per scanline at which an edge is entered. - * When we enter a new edge, we move it from the ET to the AET. - * - * From the AET, we can implement the even-odd rule as in - * (Foley/Van Dam). - * The winding number rule is a little trickier. We also - * keep the EdgeTableEntries in the AET linked by the - * nextWETE (winding EdgeTableEntry) link. This allows - * the edges to be linked just as before for updating - * purposes, but only uses the edges linked by the nextWETE - * link as edges representing spans of the polygon to - * drawn (as with the even-odd rule). - */ - -/* - * for the winding number rule - */ -#define CLOCKWISE 1 -#define COUNTERCLOCKWISE -1 - -typedef struct _EdgeTableEntry { - int ymax; /* ycoord at which we exit this edge. */ - BRESINFO bres; /* Bresenham info to run the edge */ - struct _EdgeTableEntry *next; /* next in the list */ - struct _EdgeTableEntry *back; /* for insertion sort */ - struct _EdgeTableEntry *nextWETE; /* for winding num rule */ - int ClockWise; /* flag for winding number rule */ -} EdgeTableEntry; - - -typedef struct _ScanLineList{ - int scanline; /* the scanline represented */ - EdgeTableEntry *edgelist; /* header node */ - struct _ScanLineList *next; /* next in the list */ -} ScanLineList; - - -typedef struct { - int ymax; /* ymax for the polygon */ - int ymin; /* ymin for the polygon */ - ScanLineList scanlines; /* header node */ -} EdgeTable; - - -/* - * Here is a struct to help with storage allocation - * so we can allocate a big chunk at a time, and then take - * pieces from this heap when we need to. - */ -#define SLLSPERBLOCK 25 - -typedef struct _ScanLineListBlock { - ScanLineList SLLs[SLLSPERBLOCK]; - struct _ScanLineListBlock *next; -} ScanLineListBlock; - - - -/* - * - * a few macros for the inner loops of the fill code where - * performance considerations don't allow a procedure call. - * - * Evaluate the given edge at the given scanline. - * If the edge has expired, then we leave it and fix up - * the active edge table; otherwise, we increment the - * x value to be ready for the next scanline. - * The winding number rule is in effect, so we must notify - * the caller when the edge has been removed so he - * can reorder the Winding Active Edge Table. - */ -#define EVALUATEEDGEWINDING(pAET, pPrevAET, y, fixWAET) { \ - if (pAET->ymax == y) { /* leaving this edge */ \ - pPrevAET->next = pAET->next; \ - pAET = pPrevAET->next; \ - fixWAET = 1; \ - if (pAET) \ - pAET->back = pPrevAET; \ - } \ - else { \ - BRESINCRPGONSTRUCT(pAET->bres); \ - pPrevAET = pAET; \ - pAET = pAET->next; \ - } \ -} - - -/* - * Evaluate the given edge at the given scanline. - * If the edge has expired, then we leave it and fix up - * the active edge table; otherwise, we increment the - * x value to be ready for the next scanline. - * The even-odd rule is in effect. - */ -#define EVALUATEEDGEEVENODD(pAET, pPrevAET, y) { \ - if (pAET->ymax == y) { /* leaving this edge */ \ - pPrevAET->next = pAET->next; \ - pAET = pPrevAET->next; \ - if (pAET) \ - pAET->back = pPrevAET; \ - } \ - else { \ - BRESINCRPGONSTRUCT(pAET->bres); \ - pPrevAET = pAET; \ - pAET = pAET->next; \ - } \ -} From 029083454b090eec50b894ba29c8e1e00801b6b6 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Sat, 11 Dec 2010 15:12:47 +0100 Subject: [PATCH 0444/1463] [GtkComboBoxText] Add checks for id-column/entry-text-column >= 0 If the GtkComboBoxText doesn't have id-column or entry-text-column set for some reason (value -1), better warn and return. Else, unrelated assertions fail, and warnings from gtk_tree_model_get_column_type() are printed, which are not really obvious. https://bugzilla.gnome.org/show_bug.cgi?id=637018 --- gtk/gtkcomboboxtext.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c index c7b82d1063..4e67c6c1c1 100644 --- a/gtk/gtkcomboboxtext.c +++ b/gtk/gtkcomboboxtext.c @@ -265,6 +265,7 @@ gtk_combo_box_text_insert (GtkComboBoxText *combo_box, store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box))); g_return_if_fail (GTK_IS_LIST_STORE (store)); text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box)); + g_return_if_fail (text_column >= 0); column_type = gtk_tree_model_get_column_type (GTK_TREE_MODEL (store), text_column); g_return_if_fail (column_type == G_TYPE_STRING); @@ -276,6 +277,7 @@ gtk_combo_box_text_insert (GtkComboBoxText *combo_box, gint id_column; id_column = gtk_combo_box_get_id_column (GTK_COMBO_BOX (combo_box)); + g_return_if_fail (id_column >= 0); column_type = gtk_tree_model_get_column_type (GTK_TREE_MODEL (store), id_column); g_return_if_fail (column_type == G_TYPE_STRING); @@ -359,6 +361,7 @@ gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box) model = gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box)); g_return_val_if_fail (GTK_IS_LIST_STORE (model), NULL); text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box)); + g_return_val_if_fail (text_column >= 0, NULL); column_type = gtk_tree_model_get_column_type (model, text_column); g_return_val_if_fail (column_type == G_TYPE_STRING, NULL); gtk_tree_model_get (model, &iter, text_column, &text, -1); From fa71b24e9a30f85a5ab6153ca2f4aff7792329c7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 16:42:37 +0900 Subject: [PATCH 0445/1463] Fixed gtk_cell_area_context_real_reset() to only notify properties if they change. --- gtk/gtkcellareacontext.c | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 164af47467..087b590401 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -284,18 +284,35 @@ gtk_cell_area_context_real_reset (GtkCellAreaContext *context) { GtkCellAreaContextPrivate *priv = context->priv; - priv->min_width = -1; - priv->nat_width = -1; - priv->min_height = -1; - priv->nat_height = -1; + g_object_freeze_notify (G_OBJECT (context)); + + if (priv->min_width != -1) + { + priv->min_width = -1; + g_object_notify (G_OBJECT (context), "minimum-width"); + } + + if (priv->nat_width != -1) + { + priv->nat_width = -1; + g_object_notify (G_OBJECT (context), "natural-width"); + } + + if (priv->min_height != -1) + { + priv->min_height = -1; + g_object_notify (G_OBJECT (context), "minimum-height"); + } + + if (priv->nat_height != -1) + { + priv->nat_height = -1; + g_object_notify (G_OBJECT (context), "natural-height"); + } + priv->alloc_width = 0; priv->alloc_height = 0; - g_object_freeze_notify (G_OBJECT (context)); - g_object_notify (G_OBJECT (context), "minimum-width"); - g_object_notify (G_OBJECT (context), "natural-width"); - g_object_notify (G_OBJECT (context), "minimum-height"); - g_object_notify (G_OBJECT (context), "natural-height"); g_object_thaw_notify (G_OBJECT (context)); } From 46c49ee260b45da13282df6711c56b74a74d0d3d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 16:43:07 +0900 Subject: [PATCH 0446/1463] Removed the resetting_context flag from GtkTreeViewColumn private data No longer need to detect if we're currently resetting the context since the context properly now avoids re-triggering the reset by properly avoiding to notify properties that dont change as a result of the reset. --- gtk/gtktreeviewcolumn.c | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index c054a6ba26..fe6e5f58cc 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -172,7 +172,6 @@ struct _GtkTreeViewColumnPrivate guint reorderable : 1; guint use_resized_width : 1; guint expand : 1; - guint resetting_context : 1; }; enum @@ -1261,11 +1260,7 @@ gtk_tree_view_column_context_changed (GtkCellAreaContext *context, !strcmp (pspec->name, "natural-width") || !strcmp (pspec->name, "minimum-height") || !strcmp (pspec->name, "natural-height")) - { - tree_column->priv->resetting_context = TRUE; - _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); - tree_column->priv->resetting_context = FALSE; - } + _gtk_tree_view_column_cell_set_dirty (tree_column, TRUE); } static void @@ -2924,18 +2919,12 @@ _gtk_tree_view_column_cell_set_dirty (GtkTreeViewColumn *tree_column, /* Issue a manual reset on the context to have all * sizes re-requested for the context. - * - * This annoying 'resetting_context' flag is unfortunately - * necessary to prevent some infinite recursion */ - if (!tree_column->priv->resetting_context) - { - g_signal_handler_block (priv->cell_area_context, - priv->context_changed_signal); - gtk_cell_area_context_reset (priv->cell_area_context); - g_signal_handler_unblock (priv->cell_area_context, - priv->context_changed_signal); - } + g_signal_handler_block (priv->cell_area_context, + priv->context_changed_signal); + gtk_cell_area_context_reset (priv->cell_area_context); + g_signal_handler_unblock (priv->cell_area_context, + priv->context_changed_signal); if (priv->tree_view && gtk_widget_get_realized (priv->tree_view)) From 2f4e45107522bfbf55dd3f87ff36cd50c969f5a6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 17:15:46 +0900 Subject: [PATCH 0447/1463] Added "edit_only" argument to gtk_cell_area_activate() This argument allows the caller to specify that only an editable cell should start editing but an activatable cell should not toggle it's state, this is important for public apis like gtk_tree_view_set_cursor_on_cell() which are only intended to programatically bring attention to the editing of a specific row or cell but not actually change any data. GtkTreeView & CellAreaScaffold updated for the last minute api change. --- gtk/gtkcellarea.c | 30 +++++++++++++++++++++++------- gtk/gtkcellarea.h | 6 ++++-- gtk/gtktreeview.c | 12 +++++++----- tests/cellareascaffold.c | 3 ++- 4 files changed, 36 insertions(+), 15 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index b006d11edf..c21fdcd013 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -401,7 +401,8 @@ static gboolean gtk_cell_area_real_activate (GtkCellArea GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean edit_only); /* GtkCellLayoutIface */ static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface); @@ -1254,14 +1255,23 @@ gtk_cell_area_real_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkCellRendererState flags, + gboolean edit_only) { GtkCellAreaPrivate *priv = area->priv; GdkRectangle renderer_area; GtkCellRenderer *activate_cell = NULL; + GtkCellRendererMode mode; if (priv->focus_cell) - activate_cell = priv->focus_cell; + { + g_object_get (priv->focus_cell, "mode", &mode, NULL); + + if (gtk_cell_renderer_get_visible (priv->focus_cell) && + (edit_only ? mode == GTK_CELL_RENDERER_MODE_EDITABLE : + mode != GTK_CELL_RENDERER_MODE_INERT)) + activate_cell = priv->focus_cell; + } else { GList *cells, *l; @@ -1274,12 +1284,15 @@ gtk_cell_area_real_activate (GtkCellArea *area, { GtkCellRenderer *renderer = l->data; - if (gtk_cell_renderer_is_activatable (renderer)) + g_object_get (renderer, "mode", &mode, NULL); + + if (gtk_cell_renderer_get_visible (renderer) && + (edit_only ? mode == GTK_CELL_RENDERER_MODE_EDITABLE : + mode != GTK_CELL_RENDERER_MODE_INERT)) activate_cell = renderer; } g_list_free (cells); } - if (activate_cell) { @@ -2813,6 +2826,8 @@ gtk_cell_area_focus (GtkCellArea *area, * @widget: the #GtkWidget that @area is rendering on * @cell_area: the size and location of @area relative to @widget's allocation * @flags: the #GtkCellRendererState flags for @area for this row of data. + * @edit_only: if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE + * will be activated. * * Activates @area, usually by activating the currently focused * cell, however some subclasses which embed widgets in the area @@ -2827,11 +2842,12 @@ gtk_cell_area_activate (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkCellRendererState flags, + gboolean edit_only) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); - return GTK_CELL_AREA_GET_CLASS (area)->activate (area, context, widget, cell_area, flags); + return GTK_CELL_AREA_GET_CLASS (area)->activate (area, context, widget, cell_area, flags, edit_only); } diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 15d2856711..8c54b053d2 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -246,7 +246,8 @@ struct _GtkCellAreaClass GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean edit_only); /*< private >*/ @@ -398,7 +399,8 @@ gboolean gtk_cell_area_activate (GtkCellArea GtkCellAreaContext *context, GtkWidget *widget, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags, + gboolean edit_only); gboolean gtk_cell_area_focus (GtkCellArea *area, GtkDirectionType direction); void gtk_cell_area_set_focus_cell (GtkCellArea *area, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 1eeb5e0d72..04055d5ab4 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -874,7 +874,8 @@ static void gtk_tree_view_put (GtkTreeView *tree_ gint width, gint height); static gboolean gtk_tree_view_start_editing (GtkTreeView *tree_view, - GtkTreePath *cursor_path); + GtkTreePath *cursor_path, + gboolean edit_only); static void gtk_tree_view_stop_editing (GtkTreeView *tree_view, gboolean cancel_editing); static gboolean gtk_tree_view_real_start_interactive_search (GtkTreeView *tree_view, @@ -10615,7 +10616,7 @@ gtk_tree_view_real_select_cursor_row (GtkTreeView *tree_view, if (!tree_view->priv->shift_pressed && start_editing && tree_view->priv->focus_column) { - if (gtk_tree_view_start_editing (tree_view, cursor_path)) + if (gtk_tree_view_start_editing (tree_view, cursor_path, FALSE)) { gtk_tree_path_free (cursor_path); return TRUE; @@ -13348,7 +13349,7 @@ gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, if (focus_cell) gtk_tree_view_column_focus_cell (focus_column, focus_cell); if (start_editing) - gtk_tree_view_start_editing (tree_view, path); + gtk_tree_view_start_editing (tree_view, path, TRUE); } } @@ -15374,7 +15375,8 @@ _gtk_tree_view_remove_editable (GtkTreeView *tree_view, static gboolean gtk_tree_view_start_editing (GtkTreeView *tree_view, - GtkTreePath *cursor_path) + GtkTreePath *cursor_path, + gboolean edit_only) { GtkTreeIter iter; GdkRectangle cell_area; @@ -15414,7 +15416,7 @@ gtk_tree_view_start_editing (GtkTreeView *tree_view, _gtk_tree_view_column_get_context (focus_column), GTK_WIDGET (tree_view), &cell_area, - flags)) + flags, edit_only)) retval = TRUE; return retval; diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index b753ca9260..c623b20acd 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -848,7 +848,8 @@ cell_area_scaffold_activate (CellAreaScaffold *scaffold) cell_area.height = data->size; gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_activate (priv->area, priv->context, widget, &cell_area, GTK_CELL_RENDERER_FOCUSED); + gtk_cell_area_activate (priv->area, priv->context, widget, &cell_area, + GTK_CELL_RENDERER_FOCUSED, FALSE); break; } From 89b3700b78f94d5a877d435bccfd9f5b449d7a4b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 18:20:39 +0900 Subject: [PATCH 0448/1463] Make GtkCellAreaBox remember what was the last focus cell so that when cycling focus from row to row for a horizontal area we can remember where focus was the last time around. --- gtk/gtkcellareabox.c | 67 +++++++++++++++++++++++++++++++++++--------- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 2222b4b36d..8199fcc7e1 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -129,6 +129,9 @@ static void gtk_cell_area_box_layout_pack_end (GtkCellLayout static void gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, gint position); +static void gtk_cell_area_box_focus_changed (GtkCellArea *area, + GParamSpec *pspec, + GtkCellAreaBox *box); /* CellInfo/CellGroup metadata handling and convenience functions */ @@ -184,18 +187,24 @@ static GSList *get_allocated_cells (GtkCellAreaBox *box, struct _GtkCellAreaBoxPrivate { - GtkOrientation orientation; + GtkOrientation orientation; - GList *cells; - GArray *groups; + /* We hold on to the previously focused cell when navigating + * up and down in a horizontal box (or left and right on a vertical one) + * this way we always re-enter the last focused cell. */ + GtkCellRenderer *last_focus_cell; + gulong focus_cell_id; - GSList *contexts; + GList *cells; + GArray *groups; - gint spacing; + GSList *contexts; + + gint spacing; /* We hold on to the rtl state from a widget we are requested for * so that we can navigate focus correctly */ - gboolean rtl; + gboolean rtl; }; enum { @@ -236,6 +245,11 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->contexts = NULL; priv->spacing = 0; priv->rtl = FALSE; + + /* Watch whenever focus is given to a cell, even if it's not with keynav, + * this way we remember upon entry of the area where focus was last time around */ + priv->focus_cell_id = g_signal_connect (box, "notify::focus-cell", + G_CALLBACK (gtk_cell_area_box_focus_changed), box); } static void @@ -895,6 +909,16 @@ get_allocated_cells (GtkCellAreaBox *box, return g_slist_reverse (allocated_cells); } + +static void +gtk_cell_area_box_focus_changed (GtkCellArea *area, + GParamSpec *pspec, + GtkCellAreaBox *box) +{ + if (gtk_cell_area_get_focus_cell (area)) + box->priv->last_focus_cell = gtk_cell_area_get_focus_cell (area); +} + /************************************************************* * GObjectClass * *************************************************************/ @@ -991,6 +1015,9 @@ gtk_cell_area_box_remove (GtkCellArea *area, GtkCellAreaBoxPrivate *priv = box->priv; GList *node; + if (priv->last_focus_cell == renderer) + priv->last_focus_cell = NULL; + node = g_list_find_custom (priv->cells, renderer, (GCompareFunc)cell_info_find); @@ -1717,7 +1744,8 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, enum { FOCUS_NONE, FOCUS_PREV, - FOCUS_NEXT + FOCUS_NEXT, + FOCUS_LAST_CELL }; static gboolean @@ -1751,26 +1779,39 @@ gtk_cell_area_box_focus (GtkCellArea *area, cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; break; case GTK_DIR_UP: - if (priv->orientation == GTK_ORIENTATION_VERTICAL || !focus_cell) + if (priv->orientation == GTK_ORIENTATION_VERTICAL) cycle = FOCUS_PREV; + else if (!focus_cell) + cycle = FOCUS_LAST_CELL; break; case GTK_DIR_DOWN: - if (priv->orientation == GTK_ORIENTATION_VERTICAL || !focus_cell) - cycle = FOCUS_NEXT; + if (priv->orientation == GTK_ORIENTATION_VERTICAL) + cycle = FOCUS_PREV; + else if (!focus_cell) + cycle = FOCUS_LAST_CELL; break; case GTK_DIR_LEFT: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !focus_cell) + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; + else if (!focus_cell) + cycle = FOCUS_LAST_CELL; break; case GTK_DIR_RIGHT: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !focus_cell) + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT; + else if (!focus_cell) + cycle = FOCUS_LAST_CELL; break; default: break; } - if (cycle != FOCUS_NONE) + if (cycle == FOCUS_LAST_CELL) + { + gtk_cell_area_set_focus_cell (area, priv->last_focus_cell); + cycled_focus = TRUE; + } + else if (cycle != FOCUS_NONE) { gboolean found_cell = FALSE; GList *list; From 1c8093b65e53d6d42dde500cfcd64f334cef9c63 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 18:29:36 +0900 Subject: [PATCH 0449/1463] Fixed some glitches in GtkCellAreaBox keynav from my last commit. --- gtk/gtkcellareabox.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 8199fcc7e1..286c67096d 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1779,25 +1779,25 @@ gtk_cell_area_box_focus (GtkCellArea *area, cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; break; case GTK_DIR_UP: - if (priv->orientation == GTK_ORIENTATION_VERTICAL) + if (priv->orientation == GTK_ORIENTATION_VERTICAL || !priv->last_focus_cell) cycle = FOCUS_PREV; else if (!focus_cell) cycle = FOCUS_LAST_CELL; break; case GTK_DIR_DOWN: - if (priv->orientation == GTK_ORIENTATION_VERTICAL) - cycle = FOCUS_PREV; + if (priv->orientation == GTK_ORIENTATION_VERTICAL || !priv->last_focus_cell) + cycle = FOCUS_NEXT; else if (!focus_cell) cycle = FOCUS_LAST_CELL; break; case GTK_DIR_LEFT: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !priv->last_focus_cell) cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; else if (!focus_cell) cycle = FOCUS_LAST_CELL; break; case GTK_DIR_RIGHT: - if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) + if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !priv->last_focus_cell) cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT; else if (!focus_cell) cycle = FOCUS_LAST_CELL; From d142d8bb6c80e2aeffd15c15229050ff96df10ef Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 12 Dec 2010 14:34:26 +0100 Subject: [PATCH 0450/1463] Do not enforce a minimum of expander_size in gtk_tree_view_get_row_height Instead this is now enforced in gtk_tree_view_get_cell_area_height(). There are rows for which a height in between 0 and expander_size is allowed, for example separator rows. --- gtk/gtktreeview.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 04055d5ab4..995c55e4ce 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -13513,13 +13513,21 @@ gtk_tree_view_get_cell_area_height (GtkTreeView *tree_view, GtkRBNode *node, gint vertical_separator) { + int height; + /* The "cell" areas are the cell_area passed in to gtk_cell_renderer_render(), * i.e. just the cells, no spacing. * - * The cell area height is at least expander_size - vertical_separator; + * The cell area height is at least expander_size - vertical_separator. + * For regular nodes, the height is then at least expander_size. We should + * be able to enforce the expander_size minimum here, because this + * function will not be called for irregular (e.g. separator) rows. */ + height = gtk_tree_view_get_row_height (tree_view, node); + if (height < tree_view->priv->expander_size) + height = tree_view->priv->expander_size; - return gtk_tree_view_get_row_height (tree_view, node) - vertical_separator; + return height - vertical_separator; } static inline gint @@ -13634,10 +13642,13 @@ gtk_tree_view_get_row_height (GtkTreeView *tree_view, /* The "background" areas of all rows/cells add up to cover the entire tree. * The background includes all inter-row and inter-cell spacing. * - * The height of a row is at least "expander_size". + * If the row pointed at by node does not have a height set, we default + * to expander_size, which is the minimum height for regular nodes. + * Non-regular nodes (e.g. separators) can have a height set smaller + * than expander_size and should not be overruled here. */ height = GTK_RBNODE_GET_HEIGHT (node); - if (height < tree_view->priv->expander_size) + if (height <= 0) height = tree_view->priv->expander_size; return height; From 8c743a0363d014eb41407b826eae61d36ceab3f2 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 12 Dec 2010 15:03:33 +0100 Subject: [PATCH 0451/1463] Add unit test for row separator height --- gtk/tests/treeview.c | 77 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/gtk/tests/treeview.c b/gtk/tests/treeview.c index 1b3ce9952c..b59537dec5 100644 --- a/gtk/tests/treeview.c +++ b/gtk/tests/treeview.c @@ -150,6 +150,81 @@ test_select_collapsed_row (void) gtk_tree_path_free (path); } +static gboolean +test_row_separator_height_func (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data) +{ + gboolean ret = FALSE; + GtkTreePath *path; + + path = gtk_tree_model_get_path (model, iter); + if (gtk_tree_path_get_indices (path)[0] == 2) + ret = TRUE; + gtk_tree_path_free (path); + + return ret; +} + +static void +test_row_separator_height (void) +{ + int focus_pad, separator_height, height; + gboolean wide_separators; + GtkTreeIter iter; + GtkTreePath *path; + GtkListStore *store; + GtkWidget *window; + GtkWidget *tree_view; + GdkRectangle rect; + + store = gtk_list_store_new (1, G_TYPE_STRING); + gtk_list_store_insert_with_values (store, &iter, 0, 0, "Row content", -1); + gtk_list_store_insert_with_values (store, &iter, 1, 0, "Row content", -1); + gtk_list_store_insert_with_values (store, &iter, 2, 0, "Row content", -1); + gtk_list_store_insert_with_values (store, &iter, 3, 0, "Row content", -1); + gtk_list_store_insert_with_values (store, &iter, 4, 0, "Row content", -1); + + window = gtk_offscreen_window_new (); + + tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store)); + gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (tree_view), + test_row_separator_height_func, + NULL, + NULL); + + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view), + 0, + "Test", + gtk_cell_renderer_text_new (), + "text", 0, + NULL); + + gtk_container_add (GTK_CONTAINER (window), tree_view); + gtk_widget_show (window); + + + path = gtk_tree_path_new_from_indices (2, -1); + gtk_tree_view_get_background_area (GTK_TREE_VIEW (tree_view), + path, NULL, &rect); + gtk_tree_path_free (path); + + gtk_widget_style_get (tree_view, + "focus-padding", &focus_pad, + "wide-separators", &wide_separators, + "separator-height", &separator_height, + NULL); + + if (wide_separators) + height = separator_height + 2 * focus_pad; + else + height = 2 + 2 * focus_pad; + + g_assert_cmpint (rect.height, ==, height); + + gtk_widget_destroy (tree_view); +} + int main (int argc, char **argv) @@ -160,6 +235,8 @@ main (int argc, g_test_add_func ("/TreeView/cursor/bug-539377", test_bug_539377); g_test_add_func ("/TreeView/cursor/select-collapsed_row", test_select_collapsed_row); + g_test_add_func ("/TreeView/sizing/row-separator-height", + test_row_separator_height); return g_test_run (); } From cbfc3f5bf03e837d00c90cc428d24c020af7ace1 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 12 Dec 2010 15:09:27 +0100 Subject: [PATCH 0452/1463] Make gtk_tree_view_get_cell_area() aware of row separators --- gtk/gtktreeview.c | 19 +++++++++++++++---- gtk/tests/treeview.c | 7 +++++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 995c55e4ce..fd010fd74b 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -13604,10 +13604,21 @@ gtk_tree_view_get_cell_area (GtkTreeView *tree_view, if ((!ret && tree == NULL) || ret) return; - rect->y = gtk_tree_view_get_cell_area_y_offset (tree_view, tree, node, - vertical_separator); - rect->height = gtk_tree_view_get_cell_area_height (tree_view, node, - vertical_separator); + if (row_is_separator (tree_view, NULL, path)) + { + /* There isn't really a "cell area" for separator, so we + * return the y, height values for background area instead. + */ + rect->y = gtk_tree_view_get_row_y_offset (tree_view, tree, node); + rect->height = gtk_tree_view_get_row_height (tree_view, node); + } + else + { + rect->y = gtk_tree_view_get_cell_area_y_offset (tree_view, tree, node, + vertical_separator); + rect->height = gtk_tree_view_get_cell_area_height (tree_view, node, + vertical_separator); + } if (column && gtk_tree_view_is_expander_column (tree_view, column)) diff --git a/gtk/tests/treeview.c b/gtk/tests/treeview.c index b59537dec5..fe42095530 100644 --- a/gtk/tests/treeview.c +++ b/gtk/tests/treeview.c @@ -176,7 +176,7 @@ test_row_separator_height (void) GtkListStore *store; GtkWidget *window; GtkWidget *tree_view; - GdkRectangle rect; + GdkRectangle rect, cell_rect; store = gtk_list_store_new (1, G_TYPE_STRING); gtk_list_store_insert_with_values (store, &iter, 0, 0, "Row content", -1); @@ -201,12 +201,14 @@ test_row_separator_height (void) NULL); gtk_container_add (GTK_CONTAINER (window), tree_view); - gtk_widget_show (window); + gtk_widget_show_all (window); path = gtk_tree_path_new_from_indices (2, -1); gtk_tree_view_get_background_area (GTK_TREE_VIEW (tree_view), path, NULL, &rect); + gtk_tree_view_get_cell_area (GTK_TREE_VIEW (tree_view), + path, NULL, &cell_rect); gtk_tree_path_free (path); gtk_widget_style_get (tree_view, @@ -221,6 +223,7 @@ test_row_separator_height (void) height = 2 + 2 * focus_pad; g_assert_cmpint (rect.height, ==, height); + g_assert_cmpint (cell_rect.height, ==, height); gtk_widget_destroy (tree_view); } From ff39c76bfd9ea882c80c60313b594cf73035fa6e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 12 Dec 2010 15:22:49 +0100 Subject: [PATCH 0453/1463] Welcome _gtk_tree_view_column_get_cell_at_pos to the second dimension --- gtk/gtktreeprivate.h | 4 +++- gtk/gtktreeview.c | 12 +++++++++--- gtk/gtktreeviewcolumn.c | 33 +++++++++------------------------ 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index be630f8be0..9fe2074a00 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -122,7 +122,9 @@ gboolean _gtk_tree_view_column_cell_event (GtkTreeViewColumn *tree_column, gboolean _gtk_tree_view_column_has_editable_cell(GtkTreeViewColumn *column); GtkCellRenderer *_gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column); GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, - gint x); + GdkRectangle *cell_area, + gint x, + gint y); void _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, cairo_t *cr, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index fd010fd74b..5833be63d2 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3128,9 +3128,15 @@ gtk_tree_view_button_press (GtkWidget *widget, if ((event->state & GDK_SHIFT_MASK) == GDK_SHIFT_MASK) tree_view->priv->shift_pressed = TRUE; - - /* This needs an x and a y ! */ - focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, event->x - background_area.x); + /* We update the focus cell here, this is also needed if the + * column does not contain an editable cell. In this case, + * GtkCellArea did not receive the event for processing (and + * could not update the focus cell). + */ + focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, + &cell_area, + event->x, + event->y); if (focus_cell) gtk_tree_view_column_focus_cell (column, focus_cell); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index fe6e5f58cc..fd5eb1c6cf 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1472,34 +1472,19 @@ _gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column) GtkCellRenderer * _gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, - gint x) + GdkRectangle *cell_area, + gint x, + gint y) { - GList *list; - GList *cell; GtkCellRenderer *match = NULL; GtkTreeViewColumnPrivate *priv = column->priv; - list = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column)); - for (cell = list; cell; cell = cell->next) - { - GdkRectangle zero_cell_area = { 0, }; - GdkRectangle allocation; - - gtk_cell_area_get_cell_allocation (priv->cell_area, - priv->cell_area_context, - priv->tree_view, - cell->data, - &zero_cell_area, - &allocation); - - if (allocation.x <= x && x <= allocation.x + allocation.width) - { - match = cell->data; - break; - } - } - - g_list_free (list); + match = gtk_cell_area_get_cell_at_position (priv->cell_area, + priv->cell_area_context, + priv->tree_view, + cell_area, + x, y, + NULL); return match; } From 0431dd67f82def7af57119b27bcc4dea0b7a2167 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 00:18:00 +0900 Subject: [PATCH 0454/1463] Added apis to GtkCellArea for GtkIconView purposes. Added a few apis, - GtkCellAreaContext get_preferred_height_for_width & width for height apis and vfuncs, this lets the icon view request the collective (and aligned) height for width for a said row. - gtk_cell_area_copy_context() this creates a duplicate of an already created and requested context, this way the icon view uses a global context to request the widths of all rows and then makes a copy with all the stored alignments and uses a separate copy to calculate the height and alignments of each row separately. --- gtk/gtkcellarea.c | 40 ++++++++++++ gtk/gtkcellarea.h | 4 ++ gtk/gtkcellareabox.c | 20 ++++++ gtk/gtkcellareaboxcontext.c | 127 ++++++++++++++++++++++++++++++++---- gtk/gtkcellareaboxcontext.h | 4 ++ gtk/gtkcellareacontext.c | 60 +++++++++++++++++ gtk/gtkcellareacontext.h | 52 ++++++++++----- 7 files changed, 277 insertions(+), 30 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index c21fdcd013..59a1d015d4 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1924,6 +1924,46 @@ gtk_cell_area_create_context (GtkCellArea *area) return NULL; } +/** + * gtk_cell_area_copy_context: + * @area: a #GtkCellArea + * @context: the #GtkCellAreaContext to copy + * + * This is sometimes needed for cases where rows need to share + * alignments in one orientation but may be separately grouped + * in the opposing orientation. + * + * For instance, #GtkIconView creates all icons (rows) to have + * the same width and the cells theirin to have the same + * horizontal alignments. However each row of icons may have + * a separate collective height. #GtkIconView uses this to + * request the heights of each row based on a context which + * was already used to request all the row widths that are + * to be displayed. + * + * Return value: (transfer full): a newly created #GtkCellAreaContext copy of @context. + * + * Since: 3.0 + */ +GtkCellAreaContext * +gtk_cell_area_copy_context (GtkCellArea *area, + GtkCellAreaContext *context) +{ + GtkCellAreaClass *class; + + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + g_return_val_if_fail (GTK_IS_CELL_AREA_CONTEXT (context), NULL); + + class = GTK_CELL_AREA_GET_CLASS (area); + + if (class->copy_context) + return class->copy_context (area, context); + + g_warning ("GtkCellAreaClass::copy_context not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + + return NULL; +} /** * gtk_cell_area_get_request_mode: diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 8c54b053d2..61579221fb 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -202,6 +202,8 @@ struct _GtkCellAreaClass /* Geometry */ GtkCellAreaContext *(* create_context) (GtkCellArea *area); + GtkCellAreaContext *(* copy_context) (GtkCellArea *area, + GtkCellAreaContext *context); GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, GtkCellAreaContext *context, @@ -316,6 +318,8 @@ GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea /* Geometry */ GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area); +GtkCellAreaContext *gtk_cell_area_copy_context (GtkCellArea *area, + GtkCellAreaContext *context); GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); void gtk_cell_area_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 286c67096d..56a856bf6a 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -92,6 +92,8 @@ static void gtk_cell_area_box_get_cell_property (GtkCellArea GValue *value, GParamSpec *pspec); static GtkCellAreaContext *gtk_cell_area_box_create_context (GtkCellArea *area); +static GtkCellAreaContext *gtk_cell_area_box_copy_context (GtkCellArea *area, + GtkCellAreaContext *context); static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, @@ -273,6 +275,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->get_cell_property = gtk_cell_area_box_get_cell_property; area_class->create_context = gtk_cell_area_box_create_context; + area_class->copy_context = gtk_cell_area_box_copy_context; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; area_class->get_preferred_width = gtk_cell_area_box_get_preferred_width; area_class->get_preferred_height = gtk_cell_area_box_get_preferred_height; @@ -1301,6 +1304,23 @@ gtk_cell_area_box_create_context (GtkCellArea *area) return context; } +static GtkCellAreaContext * +gtk_cell_area_box_copy_context (GtkCellArea *area, + GtkCellAreaContext *context) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellAreaContext *copy = + (GtkCellAreaContext *)gtk_cell_area_box_context_copy (GTK_CELL_AREA_BOX (area), + GTK_CELL_AREA_BOX_CONTEXT (context)); + + priv->contexts = g_slist_prepend (priv->contexts, copy); + + g_object_weak_ref (G_OBJECT (copy), (GWeakNotify)context_weak_notify, box); + + return copy; +} + static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area) { diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index cc4c0b4c48..fbf6ffea1d 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -35,10 +35,23 @@ static void gtk_cell_area_box_context_reset (GtkCellAreaCon static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, gint width, gint height); +static void gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height); +static void gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width); + + /* Internal functions */ -static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, - GtkOrientation orientation); +static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, + GtkOrientation orientation, + gint for_size, + gint *minimum_size, + gint *natural_size); static void free_cache_array (GArray *array); static GArray *group_array_new (GtkCellAreaBoxContext *context); static GArray *get_array (GtkCellAreaBoxContext *context, @@ -190,8 +203,10 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) /* GObjectClass */ object_class->finalize = gtk_cell_area_box_context_finalize; - context_class->reset = gtk_cell_area_box_context_reset; - context_class->allocate = gtk_cell_area_box_context_allocate; + context_class->reset = gtk_cell_area_box_context_reset; + context_class->allocate = gtk_cell_area_box_context_allocate; + context_class->get_preferred_height_for_width = gtk_cell_area_box_context_get_preferred_height_for_width; + context_class->get_preferred_width_for_height = gtk_cell_area_box_context_get_preferred_width_for_height; g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxContextPrivate)); } @@ -402,7 +417,10 @@ gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, - GtkOrientation orientation) + GtkOrientation orientation, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellArea *area; GtkOrientation box_orientation; @@ -413,7 +431,7 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, area = gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); box_orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - array = get_array (context, orientation, -1); + array = get_array (context, orientation, for_size); for (i = 0; i < array->len; i++) { @@ -440,15 +458,100 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, } } - if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_context_push_preferred_width (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); - else - gtk_cell_area_context_push_preferred_height (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); + if (for_size < 0) + { + if (orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_context_push_preferred_width (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); + else + gtk_cell_area_context_push_preferred_height (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); + } + + if (minimum_size) + *minimum_size = min_size; + if (natural_size) + *natural_size = nat_size; +} + +static void +gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height) +{ + gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_VERTICAL, + width, minimum_height, natural_height); +} + +static void +gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width) +{ + gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_HORIZONTAL, + height, minimum_width, natural_width); } /************************************************************* * API * *************************************************************/ +static void +copy_size_array (GArray *src_array, + GArray *dest_array) +{ + gint i; + + for (i = 0; i < src_array->len; i++) + { + CachedSize *src = &g_array_index (src_array, CachedSize, i); + CachedSize *dest = &g_array_index (dest_array, CachedSize, i); + + memcpy (dest, src, sizeof (CachedSize)); + } +} + +static void +for_size_copy (gpointer key, + GArray *size_array, + GHashTable *dest_hash) +{ + GArray *new_array; + + new_array = g_array_new (FALSE, TRUE, sizeof (CachedSize)); + g_array_set_size (new_array, size_array->len); + + copy_size_array (size_array, new_array); + + g_hash_table_insert (dest_hash, key, new_array); +} + +GtkCellAreaBoxContext * +gtk_cell_area_box_context_copy (GtkCellAreaBox *box, + GtkCellAreaBoxContext *box_context) +{ + GtkCellAreaBoxContext *context; + + context = g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, + "area", box, NULL); + + gtk_cell_area_box_init_groups (context, + box_context->priv->base_widths->len, + box_context->priv->expand); + + /* Copy all the arrays */ + copy_size_array (box_context->priv->base_widths, + context->priv->base_widths); + copy_size_array (box_context->priv->base_heights, + context->priv->base_heights); + + g_hash_table_foreach (box_context->priv->heights, + (GHFunc)for_size_copy, context->priv->heights); + g_hash_table_foreach (box_context->priv->widths, + (GHFunc)for_size_copy, context->priv->widths); + + return context; +} + void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, guint n_groups, @@ -500,7 +603,7 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, } if (grew) - gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_HORIZONTAL); + gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_HORIZONTAL, -1, NULL, NULL); } void @@ -559,7 +662,7 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, } if (grew) - gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_VERTICAL); + gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_VERTICAL, -1, NULL, NULL); } void diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 7800b0fdcb..1161d38b2f 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -62,6 +62,10 @@ struct _GtkCellAreaBoxContextClass GType gtk_cell_area_box_context_get_type (void) G_GNUC_CONST; +/* Create a duplicate of the context */ +GtkCellAreaBoxContext *gtk_cell_area_box_context_copy (GtkCellAreaBox *box, + GtkCellAreaBoxContext *box_context); + /* Initialize group array dimensions */ void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, guint n_groups, diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 087b590401..f3c14b00dd 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -489,6 +489,66 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, *natural_height = priv->nat_height; } +/** + * gtk_cell_area_context_get_preferred_height_for_width: + * @context: a #GtkCellAreaContext + * @width: a proposed width for allocation + * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL + * @natural_height: (out) (allow-none): location to store the natural height, or %NULL + * + * Gets the accumulative preferred height for @width for all rows which have been + * requested for the same said @width with this context. + * + * After gtk_cell_area_context_reset() is called and/or before ever requesting + * the size of a #GtkCellArea, the returned values are -1. + * + * Since: 3.0 + */ +void +gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + if (GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_height_for_width) + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_height_for_width (context, + width, + minimum_height, + natural_height); +} + +/** + * gtk_cell_area_context_get_preferred_width_for_height: + * @context: a #GtkCellAreaContext + * @height: a proposed height for allocation + * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL + * @natural_width: (out) (allow-none): location to store the natural width, or %NULL + * + * Gets the accumulative preferred width for @height for all rows which have + * been requested for the same said @height with this context. + * + * After gtk_cell_area_context_reset() is called and/or before ever requesting + * the size of a #GtkCellArea, the returned values are -1. + * + * Since: 3.0 + */ +void +gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width) +{ + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); + + if (GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_width_for_height) + GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_width_for_height (context, + height, + minimum_width, + natural_width); +} + /** * gtk_cell_area_context_get_allocation: * @context: a #GtkCellAreaContext diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 2731a73db4..d2b462cfce 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -65,10 +65,18 @@ struct _GtkCellAreaContextClass GObjectClass parent_class; /*< public >*/ - void (* allocate) (GtkCellAreaContext *context, - gint width, - gint height); - void (* reset) (GtkCellAreaContext *context); + void (* allocate) (GtkCellAreaContext *context, + gint width, + gint height); + void (* reset) (GtkCellAreaContext *context); + void (* get_preferred_height_for_width) (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height); + void (* get_preferred_width_for_height) (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width); /*< private >*/ /* Padding for future expansion */ @@ -81,22 +89,30 @@ struct _GtkCellAreaContextClass GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; /* Main apis */ -GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); -void gtk_cell_area_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); -void gtk_cell_area_context_reset (GtkCellAreaContext *context); +GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); +void gtk_cell_area_context_allocate (GtkCellAreaContext *context, + gint width, + gint height); +void gtk_cell_area_context_reset (GtkCellAreaContext *context); /* Apis for GtkCellArea clients to consult cached values for a series of GtkTreeModel rows */ -void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, - gint *minimum_width, - gint *natural_width); -void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, - gint *minimum_height, - gint *natural_height); -void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, - gint *width, - gint *height); +void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, + gint width, + gint *minimum_height, + gint *natural_height); +void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, + gint height, + gint *minimum_width, + gint *natural_width); +void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, + gint *width, + gint *height); /* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, From 2752fd0f16347bc9a40d25079d4a2b1a3b4200f0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 17:50:05 +0900 Subject: [PATCH 0455/1463] Removing gtk_tree_view_move_focus_column() and only calling gtk_cell_area_focus() This function did alot of nothing, gtk_cell_area_focus() simply returns whether the focus stays in the area (column) or not, seems not to cause regressions to just call it directly instead. --- gtk/gtktreeview.c | 71 +++-------------------------------------------- 1 file changed, 4 insertions(+), 67 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 5833be63d2..a1820d4271 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10330,59 +10330,6 @@ cleanup: gtk_tree_path_free (cursor_path); } -static gboolean -gtk_tree_view_move_focus_column (GtkTreeView *tree_view, - GtkTreeViewColumn *tree_column, - gint count, - gboolean left, - gboolean right) -{ - gboolean rtl; - GtkDirectionType direction = 0; - GtkCellArea *cell_area; - - rtl = gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL; - - switch (count) - { - case -1: - direction = GTK_DIR_LEFT; - break; - - case 1: - direction = GTK_DIR_RIGHT; - break; - } - - cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_column)); - - /* if we are the current focus column and have multiple editable cells, - * try to select the next one, else move the focus to the next column - */ - if (tree_view->priv->focus_column == tree_column) - { - if (gtk_cell_area_focus (cell_area, direction)) - /* Focus stays in this column, so we are done */ - return TRUE; - - /* FIXME: RTL support for the following: */ - if (count == -1 && !left) - { - direction = GTK_DIR_RIGHT; - gtk_cell_area_focus (cell_area, direction); - } - else if (count == 1 && !right) - { - direction = GTK_DIR_LEFT; - gtk_cell_area_focus (cell_area, direction); - } - - return FALSE; - } - - return gtk_cell_area_focus (cell_area, direction); -} - static void gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, gint count) @@ -10396,6 +10343,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, gboolean found_column = FALSE; gboolean rtl; GtkDirectionType direction; + GtkCellArea *cell_area; rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL); @@ -10440,8 +10388,6 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, while (list) { - gboolean left, right; - column = list->data; if (gtk_tree_view_column_get_visible (column) == FALSE) goto loop_end; @@ -10452,23 +10398,14 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, GTK_RBNODE_FLAG_SET (cursor_node, GTK_RBNODE_IS_PARENT), cursor_node->children?TRUE:FALSE); - if (rtl) - { - right = list->prev ? TRUE : FALSE; - left = list->next ? TRUE : FALSE; - } - else - { - left = list->prev ? TRUE : FALSE; - right = list->next ? TRUE : FALSE; - - } - if (gtk_tree_view_move_focus_column (tree_view, column, count, left, right)) + cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (column)); + if (gtk_cell_area_focus (cell_area, direction)) { tree_view->priv->focus_column = column; found_column = TRUE; break; } + loop_end: if (count == 1) list = rtl ? list->prev : list->next; From 632f1f3ac481ad0e718063cb6da67593551af8ef Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 18:01:16 +0900 Subject: [PATCH 0456/1463] Modified gtk_tree_view_move_cursor_up_down to move focus inside the cell area This currently leaves us the problem of maintaining the right cell in focus for horizontal areas, the solution for that comming in the next patch. --- gtk/gtktreeview.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index a1820d4271..b624d25612 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10101,6 +10101,9 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, GtkTreePath *cursor_path = NULL; gboolean grab_focus = TRUE; gboolean selectable; + GtkDirectionType direction; + GtkCellArea *cell_area = NULL; + GtkTreeIter iter; if (! gtk_widget_has_focus (GTK_WIDGET (tree_view))) return; @@ -10118,6 +10121,26 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, /* FIXME: we lost the cursor; should we get the first? */ return; + direction = count < 0 ? GTK_DIR_UP : GTK_DIR_DOWN; + + + if (tree_view->priv->focus_column) + cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column)); + + /* If focus stays in the area for this row, then just return for this round */ + if (cell_area && (count == -1 || count == 1) && + gtk_tree_model_get_iter (tree_view->priv->model, &iter, cursor_path)) + { + gtk_tree_view_column_cell_set_cell_data (tree_view->priv->focus_column, + tree_view->priv->model, + &iter, + GTK_RBNODE_FLAG_SET (cursor_node, GTK_RBNODE_IS_PARENT), + cursor_node->children?TRUE:FALSE); + + if (gtk_cell_area_focus (cell_area, direction)) + return; + } + selection_count = gtk_tree_selection_count_selected_rows (tree_view->priv->selection); selectable = _gtk_tree_selection_row_is_selectable (tree_view->priv->selection, cursor_node, @@ -10189,6 +10212,10 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, cursor_path = _gtk_tree_view_find_path (tree_view, new_cursor_tree, new_cursor_node); gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, TRUE); gtk_tree_path_free (cursor_path); + + /* Give focus to the area in the new row */ + if (cell_area) + gtk_cell_area_focus (cell_area, direction); } else { From 7e526d57f00d99c55f2c7f6dd568dba2f56c90aa Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 9 Dec 2010 18:21:32 +0900 Subject: [PATCH 0457/1463] Add an editable cell to testverticalcells showing functional vertical focus navigation. --- tests/testverticalcells.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testverticalcells.c b/tests/testverticalcells.c index 627db457d2..e1a522d8d8 100644 --- a/tests/testverticalcells.c +++ b/tests/testverticalcells.c @@ -342,7 +342,7 @@ main (gint argc, gchar **argv) gtk_orientable_set_orientation (GTK_ORIENTABLE (area), GTK_ORIENTATION_VERTICAL); renderer = gtk_cell_renderer_text_new (); - g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL); + g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, "editable", TRUE, NULL); gtk_tree_view_column_pack_start (column, renderer, TRUE); gtk_tree_view_column_set_attributes (column, renderer, "text", DESCRIPTION_COLUMN, From 31226ebfb220a9b0419c1cc98b5238ec203c8a9e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 10 Dec 2010 16:12:02 +0900 Subject: [PATCH 0458/1463] Fixed GtkTreeView to give focus back to the last focued cell when hitting the edge. When focusing left/right or up/down inside GtkCellArea, now we save what was the last focused cell and if we hit the side (or top or bottom) of the view we then restore focus to the last focused cell. --- gtk/gtktreeview.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index b624d25612..95550fe143 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10103,6 +10103,7 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, gboolean selectable; GtkDirectionType direction; GtkCellArea *cell_area = NULL; + GtkCellRenderer *last_focus_cell = NULL; GtkTreeIter iter; if (! gtk_widget_has_focus (GTK_WIDGET (tree_view))) @@ -10123,7 +10124,6 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, direction = count < 0 ? GTK_DIR_UP : GTK_DIR_DOWN; - if (tree_view->priv->focus_column) cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column)); @@ -10136,7 +10136,12 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, &iter, GTK_RBNODE_FLAG_SET (cursor_node, GTK_RBNODE_IS_PARENT), cursor_node->children?TRUE:FALSE); - + + /* Save the last cell that had focus, if we hit the end of the view we'll give + * focus back to it. */ + last_focus_cell = gtk_cell_area_get_focus_cell (cell_area); + + /* If focus stays in the area, no need to change the cursor row */ if (gtk_cell_area_focus (cell_area, direction)) return; } @@ -10242,6 +10247,9 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, { gtk_widget_error_bell (GTK_WIDGET (tree_view)); } + + if (cell_area) + gtk_cell_area_set_focus_cell (cell_area, last_focus_cell); } if (grab_focus) @@ -10370,7 +10378,9 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, gboolean found_column = FALSE; gboolean rtl; GtkDirectionType direction; - GtkCellArea *cell_area; + GtkCellArea *cell_area; + GtkCellRenderer *last_focus_cell = NULL; + GtkCellArea *last_focus_area = NULL; rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL); @@ -10395,6 +10405,11 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, list = rtl ? g_list_last (tree_view->priv->columns) : g_list_first (tree_view->priv->columns); if (tree_view->priv->focus_column) { + /* Save the cell/area we are moving focus from, if moving the cursor + * by one step hits the end we'll set focus back here */ + last_focus_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column)); + last_focus_cell = gtk_cell_area_get_focus_cell (last_focus_area); + for (; list; list = (rtl ? list->prev : list->next)) { if (list->data == tree_view->priv->focus_column) @@ -10453,6 +10468,9 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, else { gtk_widget_error_bell (GTK_WIDGET (tree_view)); + + if (last_focus_area) + gtk_cell_area_set_focus_cell (last_focus_area, last_focus_cell); } gtk_tree_view_clamp_column_visible (tree_view, From 2e1e97305f9a917315a22b103d3b5374aefaeaae Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 10 Dec 2010 16:22:06 +0900 Subject: [PATCH 0459/1463] Make GtkTreeView explicitly focus the first cell in the first column when grabbing focus When focus is initially grabbed and there is no focus column, when selecting the first column for focus, further explicitly focus into the first cell using gtk_cell_area_focus(). --- gtk/gtktreeview.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 95550fe143..0eedbad9d2 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10081,7 +10081,16 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view) { if (gtk_tree_view_column_get_visible (GTK_TREE_VIEW_COLUMN (list->data))) { + GtkCellArea *cell_area; + tree_view->priv->focus_column = GTK_TREE_VIEW_COLUMN (list->data); + + /* This happens when the treeview initially grabs focus and there + * is no column in focus, here we explicitly focus into the first cell */ + cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column)); + if (!gtk_cell_area_get_focus_cell (cell_area)) + gtk_cell_area_focus (cell_area, GTK_DIR_RIGHT); + break; } } From d743ecf82e8ca7198d3b6d8a569764e8ee003238 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Sun, 12 Dec 2010 17:32:59 +0100 Subject: [PATCH 0460/1463] Handle clicks in indentation area For this case, we want to set focus on the first cell in the column. --- gtk/gtktreeviewcolumn.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index fd5eb1c6cf..2621cb360b 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1479,6 +1479,14 @@ _gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, GtkCellRenderer *match = NULL; GtkTreeViewColumnPrivate *priv = column->priv; + if (x < cell_area->x) + { + /* This can happen when we click in the "indentation". In this + * case, we set x to cell_area->x, the start of the first cell. + */ + x = cell_area->x; + } + match = gtk_cell_area_get_cell_at_position (priv->cell_area, priv->cell_area_context, priv->tree_view, From 41cd9d139412c0d7077c9432431b6c42a0209756 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 15:37:12 +0900 Subject: [PATCH 0461/1463] Fixed gtk_cell_area_box_context_copy() to also copy it's allocations. --- gtk/gtkcellareaboxcontext.c | 42 +++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index fbf6ffea1d..fe61b45e0f 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -527,27 +527,37 @@ for_size_copy (gpointer key, GtkCellAreaBoxContext * gtk_cell_area_box_context_copy (GtkCellAreaBox *box, - GtkCellAreaBoxContext *box_context) + GtkCellAreaBoxContext *context) { - GtkCellAreaBoxContext *context; + GtkCellAreaBoxContext *copy; - context = g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, - "area", box, NULL); + copy = g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, + "area", box, NULL); - gtk_cell_area_box_init_groups (context, - box_context->priv->base_widths->len, - box_context->priv->expand); + gtk_cell_area_box_init_groups (copy, + context->priv->base_widths->len, + context->priv->expand); - /* Copy all the arrays */ - copy_size_array (box_context->priv->base_widths, - context->priv->base_widths); - copy_size_array (box_context->priv->base_heights, - context->priv->base_heights); + /* Copy the base arrays */ + copy_size_array (context->priv->base_widths, + copy->priv->base_widths); + copy_size_array (context->priv->base_heights, + copy->priv->base_heights); - g_hash_table_foreach (box_context->priv->heights, - (GHFunc)for_size_copy, context->priv->heights); - g_hash_table_foreach (box_context->priv->widths, - (GHFunc)for_size_copy, context->priv->widths); + /* Copy each for size */ + g_hash_table_foreach (context->priv->heights, + (GHFunc)for_size_copy, copy->priv->heights); + g_hash_table_foreach (context->priv->widths, + (GHFunc)for_size_copy, copy->priv->widths); + + /* Copy any active allocation */ + copy->priv->n_orientation_allocs = + context->priv->n_orientation_allocs; + + if (copy->priv->n_orientation_allocs) + copy->priv->orientation_allocs = + g_memdup (context->priv->orientation_allocs, + copy->priv->n_orientation_allocs * sizeof (GtkCellAreaBoxAllocation)); return context; } From 96d636a78007c7ec552ec99b206e2a80b1b218e3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 15:43:58 +0900 Subject: [PATCH 0462/1463] Updated some docs and gtk.symbols file for new apis Added gtk_cell_area_context_get_preferred_height_for_width and width_for_height & gtk_cell_area_copy_context() to gtk.symbols and gtk3-sections.txt (also finished up documenting those apis). --- docs/reference/gtk/gtk3-sections.txt | 3 +++ gtk/gtk.symbols | 3 +++ gtk/gtkcellarea.h | 2 ++ gtk/gtkcellareacontext.h | 6 ++++++ 4 files changed, 14 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index c433f7b51c..dbe4e423e8 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4402,6 +4402,7 @@ gtk_cell_area_get_style_detail gtk_cell_area_get_cell_allocation gtk_cell_area_get_cell_at_position gtk_cell_area_create_context +gtk_cell_area_copy_context gtk_cell_area_get_request_mode gtk_cell_area_get_preferred_width gtk_cell_area_get_preferred_height_for_width @@ -4458,6 +4459,8 @@ gtk_cell_area_context_allocate gtk_cell_area_context_reset gtk_cell_area_context_get_preferred_width gtk_cell_area_context_get_preferred_height +gtk_cell_area_context_get_preferred_height_for_width +gtk_cell_area_context_get_preferred_width_for_height gtk_cell_area_context_get_allocation gtk_cell_area_context_push_preferred_width gtk_cell_area_context_push_preferred_height diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 8489ee1399..ce41e59b0e 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -386,11 +386,14 @@ gtk_cell_area_context_allocate gtk_cell_area_context_get_allocation gtk_cell_area_context_get_area gtk_cell_area_context_get_preferred_height +gtk_cell_area_context_get_preferred_height_for_width gtk_cell_area_context_get_preferred_width +gtk_cell_area_context_get_preferred_width_for_height gtk_cell_area_context_get_type G_GNUC_CONST gtk_cell_area_context_push_preferred_width gtk_cell_area_context_push_preferred_height gtk_cell_area_context_reset +gtk_cell_area_copy_context gtk_cell_area_create_context gtk_cell_area_event gtk_cell_area_foreach diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 61579221fb..008b8bb10f 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -119,6 +119,8 @@ struct _GtkCellArea * class but can be overridden to apply some custom attributes. * @create_context: Creates and returns a class specific #GtkCellAreaContext to store cell * alignment and allocation details for a said #GtkCellArea class. + * @copy_context: Creates a new #GtkCellAreaContext in the same state as the passed @context + * with any cell alignment data and allocations in tact. * @get_request_mode: This allows an area to tell its layouting widget whether it prefers to * be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. * @get_preferred_width: Calculates the minimum and natural width of the area's cells diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index d2b462cfce..3c3522bc59 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -58,6 +58,10 @@ struct _GtkCellAreaContext * recalculated at gtk_cell_area_render() time. * @reset: Clear any previously stored information about requested and allocated * sizes for the context. + * @get_preferred_height_for_width: Returns the aligned height for the given width + * that context must store while collecting sizes for it's rows. + * @get_preferred_width_for_height: Returns the aligned width for the given height + * that context must store while collecting sizes for it's rows. */ struct _GtkCellAreaContextClass { @@ -84,6 +88,8 @@ struct _GtkCellAreaContextClass void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); }; GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; From 623abdedf6c6f4ce7dd7eb3594644b6032c295f5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 15:58:07 +0900 Subject: [PATCH 0463/1463] Added gtk_entry_completion_new_with_area() --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkentrycompletion.c | 22 ++++++++++++++++++++++ gtk/gtkentrycompletion.h | 2 ++ 4 files changed, 26 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index dbe4e423e8..5702bdb406 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -1119,6 +1119,7 @@ gtk_entry_buffer_get_type GtkEntryCompletion GtkEntryCompletionMatchFunc gtk_entry_completion_new +gtk_entry_completion_new_with_area gtk_entry_completion_get_entry gtk_entry_completion_set_model gtk_entry_completion_get_model diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index ce41e59b0e..b7c384bd77 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -798,6 +798,7 @@ gtk_entry_completion_insert_action_markup gtk_entry_completion_insert_action_text gtk_entry_completion_insert_prefix gtk_entry_completion_new +gtk_entry_completion_new_with_area gtk_entry_completion_set_inline_completion gtk_entry_completion_set_inline_selection gtk_entry_completion_set_match_func diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 36247dde0f..0808c1059f 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -995,6 +995,28 @@ gtk_entry_completion_new (void) return completion; } +/** + * gtk_entry_completion_new_with_area: + * @area: the #GtkCellArea used to layout cells + * + * Creates a new #GtkEntryCompletion object using the + * specified @area to layout cells in the underlying + * #GtkTreeViewColumn for the drop-down menu. + * + * Return value: A newly created #GtkEntryCompletion object. + * + * Since: 3.0 + */ +GtkEntryCompletion * +gtk_entry_completion_new_with_area (GtkCellArea *area) +{ + GtkEntryCompletion *completion; + + completion = g_object_new (GTK_TYPE_ENTRY_COMPLETION, "cell-area", area, NULL); + + return completion; +} + /** * gtk_entry_completion_get_entry: * @completion: A #GtkEntryCompletion. diff --git a/gtk/gtkentrycompletion.h b/gtk/gtkentrycompletion.h index f120c3a679..a5ba4226c9 100644 --- a/gtk/gtkentrycompletion.h +++ b/gtk/gtkentrycompletion.h @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -81,6 +82,7 @@ struct _GtkEntryCompletionClass /* core */ GType gtk_entry_completion_get_type (void) G_GNUC_CONST; GtkEntryCompletion *gtk_entry_completion_new (void); +GtkEntryCompletion *gtk_entry_completion_new_with_area (GtkCellArea *area); GtkWidget *gtk_entry_completion_get_entry (GtkEntryCompletion *completion); From e2c8ecba30d883a57bc9ffa71bb7261d6e997af2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 16:27:36 +0900 Subject: [PATCH 0464/1463] Fixed an error in my last commit in gtk_cell_area_box_context_copy(). --- gtk/gtkcellareaboxcontext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index fe61b45e0f..2c0fa22ac7 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -559,7 +559,7 @@ gtk_cell_area_box_context_copy (GtkCellAreaBox *box, g_memdup (context->priv->orientation_allocs, copy->priv->n_orientation_allocs * sizeof (GtkCellAreaBoxAllocation)); - return context; + return copy; } void From f285a84bd60297cfd0aef58bcd588434bb329bde Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 5 Dec 2010 19:40:13 +0100 Subject: [PATCH 0465/1463] Add convenience function for the font description. --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtkstylecontext.c | 32 ++++++++++++++++++++++++++++ gtk/gtkstylecontext.h | 3 +++ 3 files changed, 36 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 261cf31196..35fbd5e5f4 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5415,6 +5415,7 @@ gtk_style_context_get_border_color gtk_style_context_get_border gtk_style_context_get_padding gtk_style_context_get_margin +gtk_style_context_get_font gtk_style_context_invalidate gtk_style_context_state_is_running gtk_style_context_lookup_color diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 2aee8b2992..be7f78279f 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3346,6 +3346,38 @@ gtk_style_context_get_margin (GtkStyleContext *context, *margin = *b; } +/** + * gtk_style_context_get_font: + * @context: a #GtkStyleContext + * @state: state to retrieve the font for + * + * Returns the font description for a given state. The returned + * object is const and will remain valid until the + * #GtkStyleContext::changed signal happens. + * + * Returns: the #PangoFontDescription for the given state. This + * object is owned by GTK+ and should not be freed. + * + * Since: 3.0 + **/ +const PangoFontDescription * +gtk_style_context_get_font (GtkStyleContext *context, + GtkStateFlags state) +{ + GtkStyleContextPrivate *priv; + StyleData *data; + const GValue *value; + + g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), NULL); + + priv = context->priv; + g_return_val_if_fail (priv->widget_path != NULL, NULL); + + data = style_data_lookup (context); + value = _gtk_style_properties_peek_property (data->store, "font", state); + return g_value_get_boxed (value); +} + /* Paint methods */ /** diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index a67e523a83..f7d658a5a6 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -439,6 +439,9 @@ void gtk_style_context_get_border_color (GtkStyleContext *context, GtkStateFlags state, GdkRGBA *color); +const PangoFontDescription * gtk_style_context_get_font (GtkStyleContext *context, + GtkStateFlags state); + void gtk_style_context_get_border (GtkStyleContext *context, GtkStateFlags state, GtkBorder *border); From 99f59d8266c538127457571a58eccd92096f1fc6 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 00:27:24 +0100 Subject: [PATCH 0466/1463] Fix coalescing of state animation areas for multiple window widgets. Coordinates needed to be translated relative to the window position in within the widget. --- gtk/gtkstylecontext.c | 6 ++++-- gtk/gtkstylecontext.h | 3 +-- gtk/gtkwidget.c | 22 ++++++++++------------ gtk/gtkwidgetprivate.h | 5 +++++ 4 files changed, 20 insertions(+), 16 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index be7f78279f..27f7efb65b 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -34,6 +34,7 @@ #include "gtkanimationdescription.h" #include "gtktimeline.h" #include "gtkiconfactory.h" +#include "gtkwidgetprivate.h" /** * SECTION:gtkstylecontext @@ -2982,8 +2983,7 @@ _gtk_style_context_invalidate_animation_areas (GtkStyleContext *context) void _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, - gint rel_x, - gint rel_y) + GtkWidget *widget) { GtkStyleContextPrivate *priv; GSList *l; @@ -2998,6 +2998,7 @@ _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, while (l) { AnimationInfo *info; + gint rel_x, rel_y; GSList *cur; guint i; @@ -3017,6 +3018,7 @@ _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, } info->invalidation_region = cairo_region_create (); + _gtk_widget_get_translation_to_window (widget, info->window, &rel_x, &rel_y); for (i = 0; i < info->rectangles->len; i++) { diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index f7d658a5a6..0d1f74be74 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -459,8 +459,7 @@ const GValue * _gtk_style_context_peek_style_property (GtkStyleContext *context, GParamSpec *pspec); void _gtk_style_context_invalidate_animation_areas (GtkStyleContext *context); void _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, - gint rel_x, - gint rel_y); + GtkWidget *widget); void gtk_style_context_invalidate (GtkStyleContext *context); void gtk_style_context_reset_widgets (GdkScreen *screen); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 214c3913b5..317b45b3c2 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -5564,9 +5564,7 @@ _gtk_widget_draw_internal (GtkWidget *widget, } context = gtk_widget_get_style_context (widget); - _gtk_style_context_coalesce_animation_areas (context, - widget->priv->allocation.x, - widget->priv->allocation.y); + _gtk_style_context_coalesce_animation_areas (context, widget); } /** @@ -5688,11 +5686,11 @@ gtk_widget_event (GtkWidget *widget, } /* Returns TRUE if a translation should be done */ -static gboolean -gtk_widget_get_translation_to_window (GtkWidget *widget, - GdkWindow *window, - int *x, - int *y) +gboolean +_gtk_widget_get_translation_to_window (GtkWidget *widget, + GdkWindow *window, + int *x, + int *y) { GdkWindow *w, *widget_window; @@ -5755,7 +5753,7 @@ gtk_cairo_transform_to_window (cairo_t *cr, g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (GDK_IS_WINDOW (window)); - if (gtk_widget_get_translation_to_window (widget, window, &x, &y)) + if (_gtk_widget_get_translation_to_window (widget, window, &x, &y)) cairo_translate (cr, x, y); } @@ -5798,9 +5796,9 @@ gtk_widget_send_expose (GtkWidget *widget, gdk_cairo_region (cr, event->expose.region); cairo_clip (cr); - do_clip = gtk_widget_get_translation_to_window (widget, - event->expose.window, - &x, &y); + do_clip = _gtk_widget_get_translation_to_window (widget, + event->expose.window, + &x, &y); cairo_translate (cr, -x, -y); _gtk_widget_draw_internal (widget, cr, do_clip); diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index b31efd9b5b..c5666468f3 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -88,6 +88,11 @@ void _gtk_widget_restore_size_request (GtkWidget *widget, int old_width, int old_height); +gboolean _gtk_widget_get_translation_to_window (GtkWidget *widget, + GdkWindow *window, + int *x, + int *y); + G_END_DECLS #endif /* __GTK_WIDGET_PRIVATE_H__ */ From 1f697f269503b1ab9227128c23edabf95e7b569d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 12:36:42 +0100 Subject: [PATCH 0467/1463] GtkThemingEngine: remove unused variable --- gtk/gtkthemingengine.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 1c77dbce6d..0994f4da36 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1461,8 +1461,7 @@ render_background_internal (GtkThemingEngine *engine, GtkStateFlags flags; gboolean running; gdouble progress, alpha = 1; - gint radius, border_width; - GtkBorder *border; + gint radius; flags = gtk_theming_engine_get_state (engine); cairo_save (cr); @@ -1470,14 +1469,10 @@ render_background_internal (GtkThemingEngine *engine, gtk_theming_engine_get (engine, flags, "background-image", &pattern, "background-color", &bg_color, - "border-width", &border, "border-radius", &radius, NULL); running = gtk_theming_engine_state_is_running (engine, GTK_STATE_PRELIGHT, &progress); - border_width = MIN (MIN (border->top, border->bottom), - MIN (border->left, border->right)); - _cairo_round_rectangle_sides (cr, (gdouble) radius, x, y, width, height, SIDE_ALL, junction); @@ -1694,7 +1689,6 @@ render_background_internal (GtkThemingEngine *engine, cairo_restore (cr); gdk_rgba_free (bg_color); - gtk_border_free (border); } static void From 2371ed8b8785e0f2b8f02dd1854fe4b2c612bc8f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 12:37:40 +0100 Subject: [PATCH 0468/1463] GtkThemingEngine: handle expander transitions to active, and rtl --- gtk/gtkthemingengine.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 0994f4da36..be50e9e816 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1986,6 +1986,8 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine, double x_double, y_double; gdouble angle; gint line_width; + gboolean running, is_rtl; + gdouble progress; cairo_save (cr); flags = gtk_theming_engine_get_state (engine); @@ -1993,23 +1995,23 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine, gtk_theming_engine_get (engine, flags, "color", &fg_color, NULL); - gtk_theming_engine_get (engine, 0, - "color", &outline_color, + gtk_theming_engine_get (engine, flags, + "border-color", &outline_color, NULL); + running = gtk_theming_engine_state_is_running (engine, GTK_STATE_ACTIVE, &progress); + is_rtl = (gtk_theming_engine_get_direction (engine) == GTK_TEXT_DIR_RTL); line_width = 1; - /* FIXME: LTR/RTL */ - if (flags & GTK_STATE_FLAG_ACTIVE) - { - angle = G_PI / 2; - interp = 1.0; - } + if (!running) + progress = (flags & GTK_STATE_FLAG_ACTIVE) ? 1 : 0; + + if (is_rtl) + angle = (G_PI) - ((G_PI / 2) * progress); else - { - angle = 0; - interp = 0; - } + angle = (G_PI / 2) * progress; + + interp = progress; /* Compute distance that the stroke extends beyonds the end * of the triangle we draw. From d80868aa68ce8e0f4e96549fe62aa475d0c4535b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 12:38:37 +0100 Subject: [PATCH 0469/1463] GtkThemingEngine: Render tabs background in the correct direction. The cairo context has been already rotated, so using GTK_JUNCTION_BOTTOM is expected to be used there. --- gtk/gtkthemingengine.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index be50e9e816..e3cde59e24 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -2506,12 +2506,11 @@ gtk_theming_engine_render_extension (GtkThemingEngine *engine, gap_side == GTK_POS_BOTTOM) render_background_internal (engine, cr, 0, 0, width, height, - junction); + GTK_JUNCTION_BOTTOM); else render_background_internal (engine, cr, 0, 0, height, width, - junction); - + GTK_JUNCTION_BOTTOM); cairo_restore (cr); cairo_save (cr); From 618b1a8b33398213541888d81ee5788017415f42 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 12:44:29 +0100 Subject: [PATCH 0470/1463] GtkCssProvider: Make selectors applying from the topmost widget rank higher For example, for an entry within a notebook, previously these 2 rules would have the same weight: .entry {} .notebook {} Now ".entry" will rank higher than ".notebook" for the GtkEntry, further specific selectors such as: .notebook .entry {} still get a higher score than the previous ones. --- gtk/gtkcssprovider.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 0e1f8af914..02356f4fa0 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -1150,7 +1150,7 @@ compare_selector (GtkWidgetPath *path, SelectorPath *selector) { GSList *elements = selector->elements; - gboolean match = TRUE; + gboolean match = TRUE, first = TRUE, first_match = FALSE; guint64 score = 0; gint i; @@ -1165,6 +1165,9 @@ compare_selector (GtkWidgetPath *path, match = compare_selector_element (path, i, elem, &elem_score); + if (match && first) + first_match = TRUE; + /* Only move on to the next index if there is no match * with the current element (whether to continue or not * handled right after in the combinator check), or a @@ -1197,6 +1200,8 @@ compare_selector (GtkWidgetPath *path, score <<= 4; score |= elem_score; } + + first = FALSE; } /* If there are pending selector @@ -1208,6 +1213,13 @@ compare_selector (GtkWidgetPath *path, if (!match) score = 0; + else if (first_match) + { + /* Assign more weight to these selectors + * that matched right from the first element. + */ + score <<= 4; + } return score; } From 8b8eab1c819652b2116e2fd647c58ba4952a2005 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 13:37:40 +0100 Subject: [PATCH 0471/1463] GtkEntry: Use GtkStyleContext. --- gtk/gtkentry.c | 206 +++++++++++++++++++++++++++---------------------- 1 file changed, 114 insertions(+), 92 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index c07535c134..8463311fc0 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -353,8 +353,10 @@ static void gtk_entry_get_preferred_height (GtkWidget *widget, static void gtk_entry_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_entry_draw_frame (GtkWidget *widget, + GtkStyleContext *context, cairo_t *cr); static void gtk_entry_draw_progress (GtkWidget *widget, + GtkStyleContext *context, cairo_t *cr); static gint gtk_entry_draw (GtkWidget *widget, cairo_t *cr); @@ -377,8 +379,7 @@ static gint gtk_entry_focus_in (GtkWidget *widget, static gint gtk_entry_focus_out (GtkWidget *widget, GdkEventFocus *event); static void gtk_entry_grab_focus (GtkWidget *widget); -static void gtk_entry_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_entry_style_updated (GtkWidget *widget); static gboolean gtk_entry_query_tooltip (GtkWidget *widget, gint x, gint y, @@ -386,8 +387,8 @@ static gboolean gtk_entry_query_tooltip (GtkWidget *widget, GtkTooltip *tooltip); static void gtk_entry_direction_changed (GtkWidget *widget, GtkTextDirection previous_dir); -static void gtk_entry_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_entry_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static void gtk_entry_screen_changed (GtkWidget *widget, GdkScreen *old_screen); @@ -681,12 +682,12 @@ gtk_entry_class_init (GtkEntryClass *class) widget_class->focus_in_event = gtk_entry_focus_in; widget_class->focus_out_event = gtk_entry_focus_out; widget_class->grab_focus = gtk_entry_grab_focus; - widget_class->style_set = gtk_entry_style_set; + widget_class->style_updated = gtk_entry_style_updated; widget_class->query_tooltip = gtk_entry_query_tooltip; widget_class->drag_begin = gtk_entry_drag_begin; widget_class->drag_end = gtk_entry_drag_end; widget_class->direction_changed = gtk_entry_direction_changed; - widget_class->state_changed = gtk_entry_state_changed; + widget_class->state_flags_changed = gtk_entry_state_flags_changed; widget_class->screen_changed = gtk_entry_screen_changed; widget_class->mnemonic_activate = gtk_entry_mnemonic_activate; @@ -2309,10 +2310,9 @@ find_invisible_char (GtkWidget *widget) 0x273a /* SIXTEEN POINTED ASTERISK */ }; - if (gtk_widget_get_style (widget)) - gtk_widget_style_get (widget, - "invisible-char", &invisible_chars[0], - NULL); + gtk_widget_style_get (widget, + "invisible-char", &invisible_chars[0], + NULL); layout = gtk_widget_create_pango_layout (widget, NULL); @@ -2347,6 +2347,7 @@ find_invisible_char (GtkWidget *widget) static void gtk_entry_init (GtkEntry *entry) { + GtkStyleContext *context; GtkEntryPrivate *priv; entry->priv = G_TYPE_INSTANCE_GET_PRIVATE (entry, @@ -2393,6 +2394,8 @@ gtk_entry_init (GtkEntry *entry) g_signal_connect (priv->im_context, "delete-surrounding", G_CALLBACK (gtk_entry_delete_surrounding_cb), entry); + context = gtk_widget_get_style_context (GTK_WIDGET (entry)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_ENTRY); } static gint @@ -2934,14 +2937,17 @@ _gtk_entry_get_borders (GtkEntry *entry, { GtkEntryPrivate *priv = entry->priv; GtkWidget *widget = GTK_WIDGET (entry); - GtkStyle *style; if (priv->has_frame) { - style = gtk_widget_get_style (widget); + GtkStyleContext *context; + GtkBorder padding; - *xborder = style->xthickness; - *yborder = style->ythickness; + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (context, 0, &padding); + + *xborder = padding.left; + *yborder = padding.top; } else { @@ -2967,14 +2973,20 @@ gtk_entry_get_preferred_width (GtkWidget *widget, gint xborder, yborder; GtkBorder inner_border; PangoContext *context; + GtkStyleContext *style_context; + GtkStateFlags state; gint icon_widths = 0; gint icon_width, i; gint width; gtk_widget_ensure_style (widget); context = gtk_widget_get_pango_context (widget); + + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, + gtk_style_context_get_font (style_context, state), pango_context_get_language (context)); _gtk_entry_get_borders (entry, &xborder, &yborder); @@ -3017,13 +3029,19 @@ gtk_entry_get_preferred_height (GtkWidget *widget, PangoFontMetrics *metrics; gint xborder, yborder; GtkBorder inner_border; + GtkStyleContext *style_context; + GtkStateFlags state; PangoContext *context; gint height; gtk_widget_ensure_style (widget); context = gtk_widget_get_pango_context (widget); + + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, + gtk_style_context_get_font (style_context, state), pango_context_get_language (context)); priv->ascent = pango_font_metrics_get_ascent (metrics); @@ -3375,15 +3393,14 @@ draw_icon (GtkWidget *widget, static void -gtk_entry_draw_frame (GtkWidget *widget, - cairo_t *cr) +gtk_entry_draw_frame (GtkWidget *widget, + GtkStyleContext *context, + cairo_t *cr) { GtkEntry *entry = GTK_ENTRY (widget); GtkEntryPrivate *priv = entry->priv; - GtkStyle *style; GdkWindow *window; gint x = 0, y = 0, width, height; - GtkStateType state; GtkAllocation allocation; gint frame_x, frame_y; @@ -3418,20 +3435,14 @@ gtk_entry_draw_frame (GtkWidget *widget, height -= 2 * priv->focus_width; } - style = gtk_widget_get_style (widget); - state = gtk_widget_get_state (widget); - - gtk_paint_flat_box (style, cr, - state, GTK_SHADOW_NONE, - widget, "entry_bg", - x, y, width, height); + gtk_render_background (context, cr, + x, y, width, height); if (priv->has_frame) - gtk_paint_shadow (style, cr, - state, priv->shadow_type, - widget, "entry", x, y, width, height); + gtk_render_frame (context, cr, + x, y, width, height); - gtk_entry_draw_progress (widget, cr); + gtk_entry_draw_progress (widget, context, cr); if (gtk_widget_has_focus (widget) && !priv->interior_focus) { @@ -3440,10 +3451,8 @@ gtk_entry_draw_frame (GtkWidget *widget, width += 2 * priv->focus_width; height += 2 * priv->focus_width; - gtk_paint_focus (style, cr, - gtk_widget_get_state (widget), - widget, "entry", - 0, 0, width, height); + gtk_render_focus (context, cr, + 0, 0, width, height); } cairo_restore (cr); @@ -3514,26 +3523,24 @@ get_progress_area (GtkWidget *widget, } static void -gtk_entry_draw_progress (GtkWidget *widget, - cairo_t *cr) +gtk_entry_draw_progress (GtkWidget *widget, + GtkStyleContext *context, + cairo_t *cr) { gint x, y, width, height; - GtkStateType state; get_progress_area (widget, &x, &y, &width, &height); if ((width <= 0) || (height <= 0)) return; - state = GTK_STATE_SELECTED; - if (!gtk_widget_get_sensitive (widget)) - state = GTK_STATE_INSENSITIVE; + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); - gtk_paint_box (gtk_widget_get_style (widget), cr, - state, GTK_SHADOW_OUT, - widget, "entry-progress", - x, y, - width, height); + gtk_render_activity (context, cr, + x, y, width, height); + + gtk_style_context_restore (context); } static gint @@ -3541,20 +3548,21 @@ gtk_entry_draw (GtkWidget *widget, cairo_t *cr) { GtkEntry *entry = GTK_ENTRY (widget); - GtkStyle *style; - GtkStateType state; + GtkStyleContext *context; + GtkStateFlags state; GtkEntryPrivate *priv = entry->priv; int i; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - state = gtk_widget_has_focus (widget) ? - GTK_STATE_ACTIVE : gtk_widget_get_state (widget); + if (gtk_widget_has_focus (widget)) + state |= GTK_STATE_FLAG_FOCUSED; if (gtk_cairo_should_draw_window (cr, gtk_widget_get_window (widget))) { /* Draw entry_bg, shadow, progress and focus */ - gtk_entry_draw_frame (widget, cr); + gtk_entry_draw_frame (widget, context, cr); /* Draw text and cursor */ cairo_save (cr); @@ -4309,8 +4317,8 @@ gtk_entry_direction_changed (GtkWidget *widget, } static void -gtk_entry_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_entry_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { GtkEntry *entry = GTK_ENTRY (widget); GtkEntryPrivate *priv = entry->priv; @@ -4508,8 +4516,7 @@ icon_margin_changed (GtkEntry *entry) } static void -gtk_entry_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_entry_style_updated (GtkWidget *widget) { GtkEntry *entry = GTK_ENTRY (widget); GtkEntryPrivate *priv = entry->priv; @@ -5596,7 +5603,9 @@ get_layout_position (GtkEntry *entry, } static void -draw_text_with_color (GtkEntry *entry, cairo_t *cr, GdkColor *default_color) +draw_text_with_color (GtkEntry *entry, + cairo_t *cr, + GdkRGBA *default_color) { GtkEntryPrivate *priv = entry->priv; PangoLayout *layout = gtk_entry_ensure_layout (entry, TRUE); @@ -5611,7 +5620,7 @@ draw_text_with_color (GtkEntry *entry, cairo_t *cr, GdkColor *default_color) get_layout_position (entry, &x, &y); cairo_move_to (cr, x, y); - gdk_cairo_set_source_color (cr, default_color); + gdk_cairo_set_source_rgba (cr, default_color); pango_cairo_show_layout (cr, layout); if (gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &start_pos, &end_pos)) @@ -5619,25 +5628,22 @@ draw_text_with_color (GtkEntry *entry, cairo_t *cr, GdkColor *default_color) gint *ranges; gint n_ranges, i; PangoRectangle logical_rect; - GdkColor *selection_color, *text_color; + GdkRGBA selection_color, text_color; GtkBorder inner_border; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + context = gtk_widget_get_style_context (widget); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); gtk_entry_get_pixel_ranges (entry, &ranges, &n_ranges); - style = gtk_widget_get_style (widget); + state = GTK_STATE_FLAG_SELECTED; if (gtk_widget_has_focus (widget)) - { - selection_color = &style->base [GTK_STATE_SELECTED]; - text_color = &style->text [GTK_STATE_SELECTED]; - } - else - { - selection_color = &style->base [GTK_STATE_ACTIVE]; - text_color = &style->text [GTK_STATE_ACTIVE]; - } + state |= GTK_STATE_FLAG_FOCUSED; + + gtk_style_context_get_background_color (context, state, &selection_color); + gtk_style_context_get_color (context, state, &text_color); _gtk_entry_effective_inner_border (entry, &inner_border); @@ -5650,11 +5656,11 @@ draw_text_with_color (GtkEntry *entry, cairo_t *cr, GdkColor *default_color) cairo_clip (cr); - gdk_cairo_set_source_color (cr, selection_color); + gdk_cairo_set_source_rgba (cr, &selection_color); cairo_paint (cr); cairo_move_to (cr, x, y); - gdk_cairo_set_source_color (cr, text_color); + gdk_cairo_set_source_rgba (cr, &text_color); pango_cairo_show_layout (cr, layout); g_free (ranges); @@ -5668,9 +5674,9 @@ gtk_entry_draw_text (GtkEntry *entry, { GtkEntryPrivate *priv = entry->priv; GtkWidget *widget = GTK_WIDGET (entry); - GtkStateType state; - GtkStyle *style; - GdkColor text_color, bar_text_color; + GtkStateFlags state = 0; + GdkRGBA text_color, bar_text_color; + GtkStyleContext *context; gint pos_x, pos_y; gint width, height; gint progress_x, progress_y, progress_width, progress_height; @@ -5679,13 +5685,17 @@ gtk_entry_draw_text (GtkEntry *entry, /* Nothing to display at all */ if (gtk_entry_get_display_mode (entry) == DISPLAY_BLANK) return; - - state = GTK_STATE_SELECTED; - if (!gtk_widget_get_sensitive (widget)) - state = GTK_STATE_INSENSITIVE; - style = gtk_widget_get_style (widget); - text_color = style->text[gtk_widget_get_state (widget)]; - bar_text_color = style->fg[state]; + + state = gtk_widget_get_state_flags (widget); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_get_color (context, state, &text_color); + + /* Get foreground color for progressbars */ + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); + gtk_style_context_get_color (context, state, &bar_text_color); + gtk_style_context_restore (context); get_progress_area (widget, &progress_x, &progress_y, @@ -5698,7 +5708,7 @@ gtk_entry_draw_text (GtkEntry *entry, /* If the color is the same, or the progress area has a zero * size, then we only need to draw once. */ - if ((text_color.pixel == bar_text_color.pixel) || + if (gdk_rgba_equal (&text_color, &bar_text_color) || ((progress_width == 0) || (progress_height == 0))) { draw_text_with_color (entry, cr, &text_color); @@ -5869,10 +5879,18 @@ gtk_entry_draw_cursor (GtkEntry *entry, if (!block_at_line_end) { + GtkStyleContext *context; + GtkStateFlags state; + GdkRGBA color; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_background_color (context, state, &color); + gdk_cairo_rectangle (cr, &rect); cairo_clip (cr); cairo_move_to (cr, x, y); - gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->base[gtk_widget_get_state (widget)]); + gdk_cairo_set_source_rgba (cr, &color); pango_cairo_show_layout (cr, layout); } @@ -8971,15 +8989,17 @@ gtk_entry_drag_motion (GtkWidget *widget, { GtkEntry *entry = GTK_ENTRY (widget); GtkEntryPrivate *priv = entry->priv; - GtkStyle *style; + GtkStyleContext *style_context; GtkWidget *source_widget; GdkDragAction suggested_action; gint new_position, old_position; gint sel1, sel2; + GtkBorder padding; - style = gtk_widget_get_style (widget); - x -= style->xthickness; - y -= style->ythickness; + style_context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (style_context, 0, &padding); + x -= padding.left; + y -= padding.top; old_position = priv->dnd_position; new_position = gtk_entry_find_position (entry, x + priv->scroll_offset); @@ -9039,14 +9059,16 @@ gtk_entry_drag_data_received (GtkWidget *widget, GtkEntry *entry = GTK_ENTRY (widget); GtkEntryPrivate *priv = entry->priv; GtkEditable *editable = GTK_EDITABLE (widget); - GtkStyle *style; + GtkStyleContext *style_context; + GtkBorder padding; gchar *str; str = (gchar *) gtk_selection_data_get_text (selection_data); - style = gtk_widget_get_style (widget); - x -= style->xthickness; - y -= style->ythickness; + style_context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (style_context, 0, &padding); + x -= padding.left; + y -= padding.top; if (str && priv->editable) { From 3306305fe193628f5b00579d76e4227076e8ed58 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 13:39:53 +0100 Subject: [PATCH 0472/1463] GtkNotebook: Use GtkStyleContext. --- gtk/gtknotebook.c | 539 +++++++++++++++++++++++++++++------------- gtk/gtkstylecontext.h | 8 + 2 files changed, 385 insertions(+), 162 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index f5a4db5cc9..b66f421a44 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -358,12 +358,11 @@ static gint gtk_notebook_focus_out (GtkWidget *widget, GdkEventFocus *event); static void gtk_notebook_grab_notify (GtkWidget *widget, gboolean was_grabbed); -static void gtk_notebook_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_notebook_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static gint gtk_notebook_focus (GtkWidget *widget, GtkDirectionType direction); -static void gtk_notebook_style_set (GtkWidget *widget, - GtkStyle *previous); +static void gtk_notebook_style_updated (GtkWidget *widget); /*** Drag and drop Methods ***/ static void gtk_notebook_drag_begin (GtkWidget *widget, @@ -422,6 +421,8 @@ static void gtk_notebook_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); +static GtkWidgetPath * gtk_notebook_get_path_for_child (GtkContainer *container, + GtkWidget *widget); /*** GtkNotebook Methods ***/ static gint gtk_notebook_real_insert_page (GtkNotebook *notebook, @@ -463,8 +464,7 @@ static void gtk_notebook_paint (GtkWidget *widget, static void gtk_notebook_draw_tab (GtkNotebook *notebook, GtkNotebookPage *page, cairo_t *cr, - guint position, - gboolean is_last); + GtkRegionFlags flags); static void gtk_notebook_draw_arrow (GtkNotebook *notebook, cairo_t *cr, GtkNotebookArrow arrow); @@ -653,11 +653,11 @@ gtk_notebook_class_init (GtkNotebookClass *class) widget_class->leave_notify_event = gtk_notebook_leave_notify; widget_class->motion_notify_event = gtk_notebook_motion_notify; widget_class->grab_notify = gtk_notebook_grab_notify; - widget_class->state_changed = gtk_notebook_state_changed; + widget_class->state_flags_changed = gtk_notebook_state_flags_changed; widget_class->focus_in_event = gtk_notebook_focus_in; widget_class->focus_out_event = gtk_notebook_focus_out; widget_class->focus = gtk_notebook_focus; - widget_class->style_set = gtk_notebook_style_set; + widget_class->style_updated = gtk_notebook_style_updated; widget_class->drag_begin = gtk_notebook_drag_begin; widget_class->drag_end = gtk_notebook_drag_end; widget_class->drag_motion = gtk_notebook_drag_motion; @@ -674,6 +674,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) container_class->get_child_property = gtk_notebook_get_child_property; container_class->set_child_property = gtk_notebook_set_child_property; container_class->child_type = gtk_notebook_child_type; + container_class->get_path_for_child = gtk_notebook_get_path_for_child; class->switch_page = gtk_notebook_real_switch_page; class->insert_page = gtk_notebook_real_insert_page; @@ -1149,6 +1150,7 @@ static void gtk_notebook_init (GtkNotebook *notebook) { GtkNotebookPrivate *priv; + GtkStyleContext *context; gtk_widget_set_can_focus (GTK_WIDGET (notebook), TRUE); gtk_widget_set_has_window (GTK_WIDGET (notebook), FALSE); @@ -1204,6 +1206,9 @@ gtk_notebook_init (GtkNotebook *notebook) G_CALLBACK (gtk_notebook_drag_failed), NULL); gtk_drag_dest_set_track_motion (GTK_WIDGET (notebook), TRUE); + + context = gtk_widget_get_style_context (GTK_WIDGET (notebook)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_NOTEBOOK); } static void @@ -1668,7 +1673,7 @@ gtk_notebook_get_property (GObject *object, * gtk_notebook_motion_notify * gtk_notebook_focus_in * gtk_notebook_focus_out - * gtk_notebook_style_set + * gtk_notebook_style_updated * gtk_notebook_drag_begin * gtk_notebook_drag_end * gtk_notebook_drag_failed @@ -1915,6 +1920,89 @@ gtk_notebook_unrealize (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_notebook_parent_class)->unrealize (widget); } +static GtkRegionFlags +_gtk_notebook_get_tab_flags (GtkNotebook *notebook, + GtkNotebookPage *page) +{ + GtkNotebookPrivate *priv = notebook->priv; + gint i = 0, page_num = -1; + GtkRegionFlags flags = 0; + gboolean is_last = FALSE; + GList *pages; + + if (page->pack == GTK_PACK_START) + { + gint last = -1; + + 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; + + is_last = TRUE; + + /* 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) + { + 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; + } + + if (page_num < 0) + return 0; + + if ((page_num) % 2 == 0) + flags |= GTK_REGION_EVEN; + else + flags |= GTK_REGION_ODD; + + if (page_num == 1) + flags |= GTK_REGION_FIRST; + + if (is_last) + flags |= GTK_REGION_LAST; + + return flags; +} + static void gtk_notebook_size_request (GtkWidget *widget, GtkRequisition *requisition) @@ -1987,12 +2075,14 @@ gtk_notebook_size_request (GtkWidget *widget, if (priv->show_border || priv->show_tabs) { - GtkStyle *style; + GtkStyleContext *context; + GtkBorder notebook_padding; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (context, 0, ¬ebook_padding); - requisition->width += style->xthickness * 2; - requisition->height += style->ythickness * 2; + requisition->width += notebook_padding.left + notebook_padding.right; + requisition->height += notebook_padding.top + notebook_padding.bottom; if (priv->show_tabs) { @@ -2011,14 +2101,26 @@ gtk_notebook_size_request (GtkWidget *widget, if (gtk_widget_get_visible (page->child)) { + GtkBorder tab_padding; + if (!gtk_widget_get_visible (page->tab_label)) gtk_widget_show (page->tab_label); gtk_widget_get_preferred_size (page->tab_label, &child_requisition, NULL); - page->requisition.width = child_requisition.width + 2 * style->xthickness; - page->requisition.height = child_requisition.height + 2 * style->ythickness; + /* Get border/padding for tab */ + gtk_style_context_save (context); + gtk_style_context_add_region (context, GTK_STYLE_REGION_TAB, + _gtk_notebook_get_tab_flags (notebook, page)); + gtk_style_context_get_padding (context, 0, &tab_padding); + gtk_style_context_restore (context); + + page->requisition.width = child_requisition.width + + tab_padding.left + tab_padding.right; + + page->requisition.height = child_requisition.height + + tab_padding.top + tab_padding.bottom; switch (priv->tab_pos) { @@ -2052,8 +2154,8 @@ gtk_notebook_size_request (GtkWidget *widget, { gtk_widget_get_preferred_size (priv->action_widget[i], &action_widget_requisition[i], NULL); - action_widget_requisition[i].width += style->xthickness; - action_widget_requisition[i].height += style->ythickness; + action_widget_requisition[i].width += notebook_padding.left; + action_widget_requisition[i].height += notebook_padding.top; } } @@ -2249,12 +2351,12 @@ gtk_notebook_size_allocate (GtkWidget *widget, { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; - GtkStyle *style; + GtkStyleContext *context; gint tab_pos = get_effective_tab_pos (notebook); gboolean is_rtl; gint focus_width; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); gtk_widget_style_get (widget, "focus-line-width", &focus_width, NULL); @@ -2291,10 +2393,16 @@ gtk_notebook_size_allocate (GtkWidget *widget, if (priv->show_tabs || priv->show_border) { - child_allocation.x += style->xthickness; - child_allocation.y += style->ythickness; - child_allocation.width = MAX (1, child_allocation.width - style->xthickness * 2); - child_allocation.height = MAX (1, child_allocation.height - style->ythickness * 2); + GtkStyleContext *context; + GtkBorder padding; + + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (context, 0, &padding); + + child_allocation.x += padding.left; + child_allocation.y += padding.top; + child_allocation.width = MAX (1, child_allocation.width - padding.left - padding.right); + child_allocation.height = MAX (1, child_allocation.height - padding.top - padding.bottom); if (priv->show_tabs && priv->children && priv->cur_page) { @@ -2338,7 +2446,7 @@ gtk_notebook_size_allocate (GtkWidget *widget, /* fall through */ case GTK_POS_TOP: widget_allocation.width = requisition.width; - widget_allocation.height = priv->cur_page->requisition.height - style->ythickness; + widget_allocation.height = priv->cur_page->requisition.height - padding.top; if ((i == ACTION_WIDGET_START && is_rtl) || (i == ACTION_WIDGET_END && !is_rtl)) @@ -2351,7 +2459,7 @@ gtk_notebook_size_allocate (GtkWidget *widget, /* fall through */ case GTK_POS_LEFT: widget_allocation.height = requisition.height; - widget_allocation.width = priv->cur_page->requisition.width - style->xthickness; + widget_allocation.width = priv->cur_page->requisition.width - padding.left; if (i == ACTION_WIDGET_END) widget_allocation.y += allocation->height - 2 * border_width - requisition.height; @@ -2434,8 +2542,12 @@ gtk_notebook_draw (GtkWidget *widget, if (priv->operation == DRAG_OPERATION_REORDER && gtk_cairo_should_draw_window (cr, priv->drag_window)) { + GtkStyleContext *context; + GdkRGBA bg_color; + cairo_save (cr); gtk_cairo_transform_to_window (cr, widget, priv->drag_window); + context = gtk_widget_get_style_context (widget); /* FIXME: This is a workaround to make tabs reordering work better * with engines with rounded tabs. If the drag window background @@ -2444,12 +2556,13 @@ gtk_notebook_draw (GtkWidget *widget, * Ideally, these corners should be made transparent, Either by using * ARGB visuals or shape windows. */ - gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->bg [GTK_STATE_NORMAL]); + gtk_style_context_get_background_color (context, 0, &bg_color); + gdk_cairo_set_source_rgba (cr, &bg_color); cairo_paint (cr); gtk_notebook_draw_tab (notebook, priv->cur_page, - cr, 0, FALSE); + cr, 0); cairo_restore (cr); @@ -3322,8 +3435,8 @@ gtk_notebook_grab_notify (GtkWidget *widget, } static void -gtk_notebook_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_notebook_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { if (!gtk_widget_is_sensitive (widget)) stop_scrolling (GTK_NOTEBOOK (widget)); @@ -3348,8 +3461,7 @@ gtk_notebook_focus_out (GtkWidget *widget, } static void -gtk_notebook_style_set (GtkWidget *widget, - GtkStyle *previous) +gtk_notebook_style_updated (GtkWidget *widget) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3371,7 +3483,7 @@ gtk_notebook_style_set (GtkWidget *widget, priv->has_after_previous = has_after_previous; priv->has_after_next = has_after_next; - GTK_WIDGET_CLASS (gtk_notebook_parent_class)->style_set (widget, previous); + GTK_WIDGET_CLASS (gtk_notebook_parent_class)->style_updated (widget); } static gboolean @@ -3381,25 +3493,29 @@ on_drag_icon_draw (GtkWidget *widget, { GtkWidget *notebook, *child; GtkRequisition requisition; + GtkStyleContext *context; gint gap_pos; notebook = GTK_WIDGET (data); child = gtk_bin_get_child (GTK_BIN (widget)); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_region (context, GTK_STYLE_REGION_TAB, 0); gtk_widget_get_preferred_size (widget, &requisition, NULL); gap_pos = get_tab_gap_pos (GTK_NOTEBOOK (notebook)); - gtk_paint_extension (gtk_widget_get_style (notebook), - cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "tab", - 0, 0, - requisition.width, requisition.height, - gap_pos); + gtk_render_extension (context, cr, 0, 0, + requisition.width, requisition.height, + gap_pos); + if (child) gtk_container_propagate_draw (GTK_CONTAINER (widget), child, cr); + gtk_style_context_restore (context); + return TRUE; } @@ -4320,6 +4436,40 @@ gtk_notebook_forall (GtkContainer *container, } } +static GtkWidgetPath * +gtk_notebook_get_path_for_child (GtkContainer *container, + GtkWidget *widget) +{ + GtkNotebookPrivate *priv; + GtkNotebook *notebook; + GtkNotebookPage *page; + GtkWidgetPath *path; + GtkRegionFlags flags; + GList *c; + + path = GTK_CONTAINER_CLASS (gtk_notebook_parent_class)->get_path_for_child (container, widget); + + notebook = GTK_NOTEBOOK (container); + priv = notebook->priv; + + for (c = priv->children; c; c = c->next) + { + page = c->data; + + if (page->tab_label == widget) + break; + } + + /* Widget is not a tab label */ + if (!c) + return path; + + flags = _gtk_notebook_get_tab_flags (notebook, page); + gtk_widget_path_iter_add_region (path, -1, GTK_STYLE_REGION_TAB, flags); + + return path; +} + static GType gtk_notebook_child_type (GtkContainer *container) { @@ -4478,10 +4628,11 @@ gtk_notebook_redraw_tabs (GtkNotebook *notebook) GtkAllocation allocation; GtkWidget *widget; GtkNotebookPage *page; - GtkStyle *style; + GtkStyleContext *context; GdkRectangle redraw_rect; gint border; gint tab_pos = get_effective_tab_pos (notebook); + GtkBorder padding; widget = GTK_WIDGET (notebook); border = gtk_container_get_border_width (GTK_CONTAINER (notebook)); @@ -4494,38 +4645,40 @@ gtk_notebook_redraw_tabs (GtkNotebook *notebook) redraw_rect.x = border; redraw_rect.y = border; - style = gtk_widget_get_style (widget); gtk_widget_get_allocation (widget, &allocation); + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (context, 0, &padding); + switch (tab_pos) { case GTK_POS_BOTTOM: redraw_rect.y = allocation.height - border - - page->allocation.height - style->ythickness; + page->allocation.height - padding.bottom; if (page != priv->cur_page) - redraw_rect.y -= style->ythickness; + redraw_rect.y -= padding.bottom; /* fall through */ case GTK_POS_TOP: redraw_rect.width = allocation.width - 2 * border; - redraw_rect.height = page->allocation.height + style->ythickness; + redraw_rect.height = page->allocation.height + padding.top; if (page != priv->cur_page) - redraw_rect.height += style->ythickness; + redraw_rect.height += padding.top; break; case GTK_POS_RIGHT: redraw_rect.x = allocation.width - border - - page->allocation.width - style->xthickness; + page->allocation.width - padding.right; if (page != priv->cur_page) - redraw_rect.x -= style->xthickness; + redraw_rect.x -= padding.right; /* fall through */ case GTK_POS_LEFT: - redraw_rect.width = page->allocation.width + style->xthickness; + redraw_rect.width = page->allocation.width + padding.left; redraw_rect.height = allocation.height - 2 * border; if (page != priv->cur_page) - redraw_rect.width += style->xthickness; + redraw_rect.width += padding.left; break; } @@ -4785,7 +4938,7 @@ gtk_notebook_update_labels (GtkNotebook *notebook) else gtk_label_set_text (GTK_LABEL (page->menu_label), string); } - } + } } static gint @@ -4897,13 +5050,18 @@ gtk_notebook_paint (GtkWidget *widget, gint x, y; guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gint gap_x = 0, gap_width = 0, step = STEP_PREV; - gboolean is_rtl, cur_page_end; - gint tab_pos, i, cur_page_pos; - + gboolean is_rtl; + 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; if ((!priv->show_tabs && !priv->show_border) || !priv->cur_page || !gtk_widget_get_visible (priv->cur_page->child)) @@ -4918,10 +5076,10 @@ gtk_notebook_paint (GtkWidget *widget, if (priv->show_border && (!priv->show_tabs || !priv->children)) { - gtk_paint_box (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "notebook", - x, y, width, height); + gtk_render_background (context, cr, + x, y, width, height); + gtk_render_frame (context, cr, + x, y, width, height); return; } @@ -4981,37 +5139,92 @@ gtk_notebook_paint (GtkWidget *widget, break; } } - gtk_paint_box_gap (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "notebook", - x, y, width, height, - tab_pos, gap_x, gap_width); - showarrow = FALSE; + for (children = priv->children; children; children = children->next) + { + page = children->data; + + 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) + break; + } + + gtk_style_context_save (context); + + if (!showarrow || !priv->scrollable) + { + GtkJunctionSides junction = 0; + + /* Apply junction sides, if no arrows are shown, + * then make corners with connecting tabs square. + */ + switch (tab_pos) + { + case GTK_POS_TOP: + if (has_pack_start) + 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; + + 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; + + if (has_pack_end) + junction |= GTK_JUNCTION_CORNER_BOTTOMLEFT; + break; + case GTK_POS_RIGHT: + if (has_pack_start) + junction |= GTK_JUNCTION_CORNER_TOPRIGHT; + + if (has_pack_end) + junction |= GTK_JUNCTION_CORNER_BOTTOMRIGHT; + break; + } + + gtk_style_context_set_junction_sides (context, junction); + } + + gtk_render_background (context, cr, + x, y, width, height); + gtk_render_frame_gap (context, cr, + x, y, width, height, + tab_pos, gap_x, gap_x + gap_width); + + gtk_style_context_restore (context); + children = gtk_notebook_search_page (notebook, NULL, step, TRUE); - i = 0; while (children) { page = children->data; children = gtk_notebook_search_page (notebook, children, step, TRUE); - if (!gtk_widget_get_visible (page->child)) + if (!gtk_widget_get_visible (page->child) || + !gtk_widget_get_mapped (page->tab_label)) continue; - if (!gtk_widget_get_mapped (page->tab_label)) - showarrow = TRUE; - else - { - if (page != priv->cur_page) - gtk_notebook_draw_tab (notebook, page, cr, i, children != NULL); - else - { - cur_page_pos = i; - cur_page_end = (children != NULL); - } - i++; - } + tab_flags = _gtk_notebook_get_tab_flags (notebook, page); + gtk_notebook_draw_tab (notebook, page, cr, tab_flags); } if (showarrow && priv->scrollable) @@ -5027,21 +5240,22 @@ gtk_notebook_paint (GtkWidget *widget, } if (priv->operation != DRAG_OPERATION_REORDER) - gtk_notebook_draw_tab (notebook, priv->cur_page, cr, cur_page_pos, cur_page_end); + { + tab_flags = _gtk_notebook_get_tab_flags (notebook, priv->cur_page); + gtk_notebook_draw_tab (notebook, priv->cur_page, cr, tab_flags); + } } static void gtk_notebook_draw_tab (GtkNotebook *notebook, GtkNotebookPage *page, cairo_t *cr, - guint position, - gboolean is_last) + GtkRegionFlags flags) { GtkNotebookPrivate *priv; - GtkStateType state_type; + GtkStateFlags state = 0; GtkWidget *widget; GtkStyleContext *context; - GtkRegionFlags flags = 0; if (!NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) || !gtk_widget_get_mapped (page->tab_label) || @@ -5052,27 +5266,14 @@ gtk_notebook_draw_tab (GtkNotebook *notebook, priv = notebook->priv; if (priv->cur_page == page) - state_type = GTK_STATE_NORMAL; - else - state_type = GTK_STATE_ACTIVE; - - if ((position + 1) % 2 == 0) - flags |= GTK_REGION_EVEN; - else - flags |= GTK_REGION_ODD; - - if (position == 0) - flags |= GTK_REGION_FIRST; - - if (is_last) - flags |= GTK_REGION_LAST; + state = GTK_STATE_FLAG_ACTIVE; context = gtk_widget_get_style_context (widget); - gtk_style_context_add_region (context, "tab", flags); + gtk_style_context_save (context); + gtk_style_context_add_region (context, GTK_STYLE_REGION_TAB, flags); + gtk_style_context_set_state (context, state); - gtk_paint_extension (gtk_widget_get_style (widget), cr, - state_type, GTK_SHADOW_OUT, - widget, "tab", + gtk_render_extension (context, cr, page->allocation.x, page->allocation.y, page->allocation.width, @@ -5088,15 +5289,14 @@ gtk_notebook_draw_tab (GtkNotebook *notebook, gtk_widget_get_allocation (page->tab_label, &allocation); gtk_widget_style_get (widget, "focus-line-width", &focus_width, NULL); - gtk_paint_focus (gtk_widget_get_style (widget), cr, - gtk_widget_get_state (widget), widget, "tab", - allocation.x - focus_width, - allocation.y - focus_width, - allocation.width + 2 * focus_width, - allocation.height + 2 * focus_width); + gtk_render_focus (context, cr, + allocation.x - focus_width, + allocation.y - focus_width, + allocation.width + 2 * focus_width, + allocation.height + 2 * focus_width); } - gtk_style_context_remove_region (context, "tab"); + gtk_style_context_restore (context); } static void @@ -5105,17 +5305,18 @@ gtk_notebook_draw_arrow (GtkNotebook *notebook, GtkNotebookArrow nbarrow) { GtkNotebookPrivate *priv = notebook->priv; - GtkStateType state_type; - GtkShadowType shadow_type; + GtkStyleContext *context; + GtkStateFlags state = 0; GtkWidget *widget; GdkRectangle arrow_rect; - GtkArrowType arrow; gboolean is_rtl, left; gint scroll_arrow_hlength; gint scroll_arrow_vlength; gint arrow_size; + gdouble angle; widget = GTK_WIDGET (notebook); + context = gtk_widget_get_style_context (widget); gtk_notebook_get_arrow_rect (notebook, &arrow_rect, nbarrow); @@ -5130,44 +5331,39 @@ gtk_notebook_draw_arrow (GtkNotebook *notebook, if (priv->in_child == nbarrow) { + state |= GTK_STATE_FLAG_PRELIGHT; + if (priv->click_child == nbarrow) - state_type = GTK_STATE_ACTIVE; - else - state_type = GTK_STATE_PRELIGHT; + state |= GTK_STATE_FLAG_ACTIVE; } else - state_type = gtk_widget_get_state (widget); - - if (priv->click_child == nbarrow) - shadow_type = GTK_SHADOW_IN; - else - shadow_type = GTK_SHADOW_OUT; + state = gtk_widget_get_state_flags (widget); if (priv->focus_tab && !gtk_notebook_search_page (notebook, priv->focus_tab, left ? STEP_PREV : STEP_NEXT, TRUE)) - { - shadow_type = GTK_SHADOW_ETCHED_IN; - state_type = GTK_STATE_INSENSITIVE; - } - + state = GTK_STATE_FLAG_INSENSITIVE; + if (priv->tab_pos == GTK_POS_LEFT || priv->tab_pos == GTK_POS_RIGHT) { - arrow = (ARROW_IS_LEFT (nbarrow) ? GTK_ARROW_UP : GTK_ARROW_DOWN); + angle = (ARROW_IS_LEFT (nbarrow)) ? 0 : G_PI; arrow_size = scroll_arrow_vlength; } else { - arrow = (ARROW_IS_LEFT (nbarrow) ? GTK_ARROW_LEFT : GTK_ARROW_RIGHT); + angle = (ARROW_IS_LEFT (nbarrow)) ? 3 * (G_PI / 2) : G_PI / 2; arrow_size = scroll_arrow_hlength; } - - gtk_paint_arrow (gtk_widget_get_style (widget), - cr, state_type, - shadow_type, widget, "notebook", - arrow, TRUE, arrow_rect.x, arrow_rect.y, - arrow_size, arrow_size); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_render_arrow (context, cr, angle, + arrow_rect.x, arrow_rect.y, + arrow_size); + + gtk_style_context_restore (context); } /* Private GtkNotebook Size Allocate Functions: @@ -5189,7 +5385,7 @@ gtk_notebook_tab_space (GtkNotebook *notebook, GtkNotebookPrivate *priv = notebook->priv; GtkAllocation allocation, action_allocation; GtkWidget *widget; - GtkStyle *style; + GtkStyleContext *context; GList *children; gint tab_pos = get_effective_tab_pos (notebook); gint tab_overlap; @@ -5199,12 +5395,13 @@ gtk_notebook_tab_space (GtkNotebook *notebook, gboolean is_rtl; gint i; guint border_width; + GtkBorder padding; widget = GTK_WIDGET (notebook); children = priv->children; is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); gtk_widget_style_get (GTK_WIDGET (notebook), "arrow-spacing", &arrow_spacing, @@ -5213,6 +5410,7 @@ gtk_notebook_tab_space (GtkNotebook *notebook, NULL); border_width = gtk_container_get_border_width (GTK_CONTAINER (notebook)); + gtk_style_context_get_padding (context, 0, &padding); gtk_widget_get_allocation (widget, &allocation); @@ -5231,9 +5429,9 @@ gtk_notebook_tab_space (GtkNotebook *notebook, if ((i == ACTION_WIDGET_START && !is_rtl) || (i == ACTION_WIDGET_END && is_rtl)) - *min += action_allocation.width + style->xthickness; + *min += action_allocation.width + padding.left; else - *max -= action_allocation.width + style->xthickness; + *max -= action_allocation.width + padding.right; } } @@ -5261,9 +5459,9 @@ gtk_notebook_tab_space (GtkNotebook *notebook, gtk_widget_get_allocation (priv->action_widget[i], &action_allocation); if (i == ACTION_WIDGET_START) - *min += action_allocation.height + style->ythickness; + *min += action_allocation.height + padding.top; else - *max -= action_allocation.height + style->ythickness; + *max -= action_allocation.height + padding.bottom; } } @@ -5599,15 +5797,15 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, GtkWidget *widget; GtkContainer *container; GtkNotebookPage *page; - GtkStyle *style; + GtkStyleContext *context; gboolean allocate_at_bottom; gint tab_overlap, tab_pos, tab_extra_space; gint left_x, right_x, top_y, bottom_y, anchor; - gint xthickness, ythickness; guint border_width; gboolean gap_left, packing_changed; GtkAllocation child_allocation = { 0, }; GtkOrientation tab_expand_orientation; + GtkBorder padding; widget = GTK_WIDGET (notebook); container = GTK_CONTAINER (notebook); @@ -5622,9 +5820,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, child_allocation.x = allocation.x + border_width; child_allocation.y = allocation.y + border_width; - style = gtk_widget_get_style (widget); - xthickness = style->xthickness; - ythickness = style->ythickness; + context = gtk_widget_get_style_context (widget); switch (tab_pos) { @@ -5662,10 +5858,16 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, else tab_expand_orientation = GTK_ORIENTATION_VERTICAL; + gtk_style_context_save (context); + while (*children && *children != last_child) { page = (*children)->data; + gtk_style_context_add_region (context, GTK_STYLE_REGION_TAB, + _gtk_notebook_get_tab_flags (notebook, page)); + gtk_style_context_get_padding (context, 0, &padding); + if (direction == STEP_NEXT && page->pack != GTK_PACK_START) { if (!showarrow) @@ -5817,16 +6019,16 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, switch (tab_pos) { case GTK_POS_TOP: - page->allocation.y += ythickness; + page->allocation.y += padding.top; /* fall through */ case GTK_POS_BOTTOM: - page->allocation.height = MAX (1, page->allocation.height - ythickness); + page->allocation.height = MAX (1, page->allocation.height - padding.top); break; case GTK_POS_LEFT: - page->allocation.x += xthickness; + page->allocation.x += padding.left; /* fall through */ case GTK_POS_RIGHT: - page->allocation.width = MAX (1, page->allocation.width - xthickness); + page->allocation.width = MAX (1, page->allocation.width - padding.left); break; } } @@ -5893,6 +6095,8 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, gtk_widget_set_child_visible (page->tab_label, TRUE); } + gtk_style_context_restore (context); + /* Don't move the current tab past the last position during tabs reordering */ if (children && priv->operation == DRAG_OPERATION_REORDER && @@ -5983,15 +6187,14 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, GtkNotebookPrivate *priv = notebook->priv; GtkAllocation child_allocation, label_allocation; GtkRequisition tab_requisition; - GtkStyle *style; - gint xthickness; - gint ythickness; + GtkStyleContext *context; gint padding; gint focus_width; gint tab_curvature; gint tab_pos = get_effective_tab_pos (notebook); gboolean tab_allocation_changed; gboolean was_visible = page->tab_allocated_visible; + GtkBorder tab_padding; if (!page->tab_label || !gtk_widget_get_visible (page->tab_label) || @@ -6001,9 +6204,13 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, return was_visible; } - style = gtk_widget_get_style (widget); - xthickness = style->xthickness; - ythickness = style->ythickness; + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_region (context, GTK_STYLE_REGION_TAB, + _gtk_notebook_get_tab_flags (notebook, page)); + + gtk_style_context_get_padding (context, 0, &tab_padding); gtk_widget_get_preferred_size (page->tab_label, &tab_requisition, NULL); gtk_widget_style_get (widget, @@ -6017,8 +6224,10 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, padding = tab_curvature + focus_width + priv->tab_hborder; if (page->fill) { - child_allocation.x = xthickness + focus_width + priv->tab_hborder; - child_allocation.width = MAX (1, page->allocation.width - 2 * child_allocation.x); + child_allocation.x = tab_padding.left + focus_width + priv->tab_hborder; + child_allocation.width = MAX (1, (page->allocation.width - + tab_padding.left - tab_padding.right - + 2 * (focus_width + priv->tab_hborder))); child_allocation.x += page->allocation.x; } else @@ -6032,9 +6241,10 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, child_allocation.y = priv->tab_vborder + focus_width + page->allocation.y; if (tab_pos == GTK_POS_TOP) - child_allocation.y += ythickness; + child_allocation.y += tab_padding.top; - child_allocation.height = MAX (1, (page->allocation.height - ythickness - + child_allocation.height = MAX (1, (page->allocation.height - + tab_padding.top - tab_padding.bottom - 2 * (priv->tab_vborder + focus_width))); break; case GTK_POS_LEFT: @@ -6042,9 +6252,10 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, padding = tab_curvature + focus_width + priv->tab_vborder; if (page->fill) { - child_allocation.y = ythickness + padding; + child_allocation.y = tab_padding.top + padding; child_allocation.height = MAX (1, (page->allocation.height - - 2 * child_allocation.y)); + tab_padding.bottom - tab_padding.top - + 2 * padding)); child_allocation.y += page->allocation.y; } else @@ -6058,9 +6269,9 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, child_allocation.x = priv->tab_hborder + focus_width + page->allocation.x; if (tab_pos == GTK_POS_LEFT) - child_allocation.x += xthickness; + child_allocation.x += tab_padding.left; - child_allocation.width = MAX (1, (page->allocation.width - xthickness - + child_allocation.width = MAX (1, (page->allocation.width - tab_padding.right - 2 * (priv->tab_hborder + focus_width))); break; } @@ -6079,6 +6290,8 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, tab_allocation_changed = TRUE; } + gtk_style_context_restore (context); + return tab_allocation_changed; } @@ -6208,6 +6421,8 @@ gtk_notebook_update_tab_states (GtkNotebook *notebook) gtk_widget_set_state_flags (page->tab_label, GTK_STATE_FLAG_ACTIVE, TRUE); else gtk_widget_set_state_flags (page->tab_label, 0, TRUE); + + gtk_widget_reset_style (page->tab_label); } } } diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 0d1f74be74..74539c2f48 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -295,6 +295,14 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_SPINNER "spinner" +/** + * GTK_STYLE_CLASS_NOTEBOOK: + * + * A widget class defining a notebook + */ +#define GTK_STYLE_CLASS_NOTEBOOK "notebook" + + /* Predefined set of widget regions */ /** From c64a1891f80b2dd9041e21b7ed027f33b10b27dc Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 13:43:52 +0100 Subject: [PATCH 0473/1463] Port GtkRange widgets to GtkStyleContext --- gtk/gtkrange.c | 342 ++++++++++++++++++++++-------------------- gtk/gtkscale.c | 68 +++++---- gtk/gtkscrollbar.c | 12 +- gtk/gtkstylecontext.h | 14 ++ 4 files changed, 230 insertions(+), 206 deletions(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 3345e88a32..c2409afb3f 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -214,12 +214,11 @@ static gboolean gtk_range_grab_broken (GtkWidget *widget, GdkEventGrabBroken *event); static void gtk_range_grab_notify (GtkWidget *widget, gboolean was_grabbed); -static void gtk_range_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_range_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static gboolean gtk_range_scroll_event (GtkWidget *widget, GdkEventScroll *event); -static void gtk_range_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_range_style_updated (GtkWidget *widget); static void update_slider_position (GtkRange *range, gint mouse_x, gint mouse_y); @@ -316,8 +315,8 @@ gtk_range_class_init (GtkRangeClass *class) widget_class->leave_notify_event = gtk_range_leave_notify; widget_class->grab_broken_event = gtk_range_grab_broken; widget_class->grab_notify = gtk_range_grab_notify; - widget_class->state_changed = gtk_range_state_changed; - widget_class->style_set = gtk_range_style_set; + widget_class->state_flags_changed = gtk_range_state_flags_changed; + widget_class->style_updated = gtk_range_style_updated; widget_class->key_press_event = gtk_range_key_press; class->move_slider = gtk_range_move_slider; @@ -1044,9 +1043,12 @@ gtk_range_set_min_slider_size (GtkRange *range, { priv->min_slider_size = min_size; - priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); - gtk_widget_queue_draw (GTK_WIDGET (range)); + if (gtk_widget_is_drawable (GTK_WIDGET (range))) + { + priv->need_recalc = TRUE; + gtk_range_calc_layout (range, priv->adjustment->value); + gtk_widget_queue_draw (GTK_WIDGET (range)); + } } } @@ -1769,8 +1771,6 @@ gtk_range_realize (GtkWidget *widget) priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, range); - - gtk_widget_style_attach (widget); } static void @@ -1813,81 +1813,74 @@ gtk_range_unmap (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_range_parent_class)->unmap (widget); } -static const gchar * -gtk_range_get_slider_detail (GtkRange *range) +static void +_gtk_range_update_context_for_stepper (GtkRange *range, + GtkStyleContext *context, + Stepper stepper) { GtkRangePrivate *priv = range->priv; - const gchar *slider_detail; + GtkJunctionSides sides = 0; + gboolean vertical, is_rtl; - if (priv->slider_detail_quark) - return g_quark_to_string (priv->slider_detail_quark); + vertical = (priv->orientation == GTK_ORIENTATION_VERTICAL); + is_rtl = (gtk_widget_get_direction (GTK_WIDGET (range)) == GTK_TEXT_DIR_RTL); - slider_detail = GTK_RANGE_GET_CLASS (range)->slider_detail; + /* Take junction sides from what's been + * previously set to the widget itself + */ + sides = gtk_style_context_get_junction_sides (context); - if (slider_detail && slider_detail[0] == 'X') - { - gchar *detail = g_strdup (slider_detail); - - detail[0] = priv->orientation == GTK_ORIENTATION_HORIZONTAL ? 'h' : 'v'; - - priv->slider_detail_quark = g_quark_from_string (detail); - - g_free (detail); - - return g_quark_to_string (priv->slider_detail_quark); - } - - return slider_detail; -} - -static const gchar * -gtk_range_get_stepper_detail (GtkRange *range, - Stepper stepper) -{ - GtkRangePrivate *priv = range->priv; - const gchar *stepper_detail; - gchar *detail; - const gchar *position = NULL; - - if (priv->stepper_detail_quark[stepper]) - return g_quark_to_string (priv->stepper_detail_quark[stepper]); - - stepper_detail = GTK_RANGE_GET_CLASS (range)->stepper_detail; + if (vertical) + sides &= ~(GTK_JUNCTION_TOP | GTK_JUNCTION_BOTTOM); + else + sides &= ~(GTK_JUNCTION_LEFT | GTK_JUNCTION_RIGHT); switch (stepper) { case STEPPER_A: - position = "_start"; + if (vertical) + sides |= GTK_JUNCTION_BOTTOM; + else + sides |= (is_rtl) ? GTK_JUNCTION_LEFT : GTK_JUNCTION_RIGHT; break; case STEPPER_B: if (priv->has_stepper_a) - position = "_start_inner"; + { + if (vertical) + sides |= GTK_JUNCTION_TOP; + else + sides |= (is_rtl) ? GTK_JUNCTION_RIGHT : GTK_JUNCTION_LEFT; + } + + if (vertical) + sides |= GTK_JUNCTION_BOTTOM; else - position = "_start"; + sides |= (is_rtl) ? GTK_JUNCTION_LEFT : GTK_JUNCTION_RIGHT; break; case STEPPER_C: if (priv->has_stepper_d) - position = "_end_inner"; + { + if (vertical) + sides |= GTK_JUNCTION_BOTTOM; + else + sides |= (is_rtl) ? GTK_JUNCTION_LEFT : GTK_JUNCTION_RIGHT; + } + + if (vertical) + sides |= GTK_JUNCTION_TOP; else - position = "_end"; + sides |= (is_rtl) ? GTK_JUNCTION_RIGHT : GTK_JUNCTION_LEFT; break; case STEPPER_D: - position = "_end"; + if (vertical) + sides |= GTK_JUNCTION_TOP; + else + sides |= (is_rtl) ? GTK_JUNCTION_RIGHT : GTK_JUNCTION_LEFT; break; - default: - g_assert_not_reached (); } - detail = g_strconcat (stepper_detail, position, NULL); - - if (detail[0] == 'X') - detail[0] = priv->orientation == GTK_ORIENTATION_HORIZONTAL ? 'h' : 'v'; - - priv->stepper_detail_quark[stepper] = g_quark_from_string (detail); - - g_free (detail); - - return g_quark_to_string (priv->stepper_detail_quark[stepper]); + gtk_style_context_set_junction_sides (context, sides); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); } static void @@ -1900,17 +1893,15 @@ draw_stepper (GtkRange *range, { GtkRangePrivate *priv = range->priv; GtkAllocation allocation; - GtkStateType state_type; - GtkShadowType shadow_type; - GtkStyle *style; + GtkStateFlags state = 0; + GtkStyleContext *context; GtkWidget *widget = GTK_WIDGET (range); GdkWindow *window; gfloat arrow_scaling; GdkRectangle *rect; gint arrow_x; gint arrow_y; - gint arrow_width; - gint arrow_height; + gdouble arrow_size, angle; gboolean arrow_sensitive; switch (stepper) @@ -1948,37 +1939,34 @@ draw_stepper (GtkRange *range, } if (!gtk_widget_is_sensitive (GTK_WIDGET (range)) || !arrow_sensitive) - state_type = GTK_STATE_INSENSITIVE; - else if (clicked) - state_type = GTK_STATE_ACTIVE; - else if (prelighted) - state_type = GTK_STATE_PRELIGHT; - else - state_type = GTK_STATE_NORMAL; - - if (clicked && arrow_sensitive) - shadow_type = GTK_SHADOW_IN; + state = GTK_STATE_FLAG_INSENSITIVE; else - shadow_type = GTK_SHADOW_OUT; + { + if (clicked) + state |= GTK_STATE_FLAG_ACTIVE; + if (prelighted) + state |= GTK_STATE_FLAG_PRELIGHT; + } - style = gtk_widget_get_style (widget); window = gtk_widget_get_window (widget); + context = gtk_widget_get_style_context (widget); - gtk_paint_box (style, cr, - state_type, shadow_type, - widget, - gtk_range_get_stepper_detail (range, stepper), - rect->x, - rect->y, - rect->width, - rect->height); + gtk_style_context_save (context); + _gtk_range_update_context_for_stepper (range, context, stepper); + gtk_style_context_set_state (context, state); + + gtk_render_background (context, cr, + rect->x, rect->y, + rect->width, rect->height); + gtk_render_frame (context, cr, + rect->x, rect->y, + rect->width, rect->height); gtk_widget_style_get (widget, "arrow-scaling", &arrow_scaling, NULL); - arrow_width = rect->width * arrow_scaling; - arrow_height = rect->height * arrow_scaling; - arrow_x = rect->x + (rect->width - arrow_width) / 2; - arrow_y = rect->y + (rect->height - arrow_height) / 2; + arrow_size = MIN (rect->width, rect->height) * arrow_scaling; + arrow_x = rect->x + (rect->width - arrow_size) / 2; + arrow_y = rect->y + (rect->height - arrow_size) / 2; if (clicked && arrow_sensitive) { @@ -1993,13 +1981,29 @@ draw_stepper (GtkRange *range, arrow_y += arrow_displacement_y; } - gtk_paint_arrow (style, cr, - state_type, shadow_type, - widget, - gtk_range_get_stepper_detail (range, stepper), - arrow_type, - TRUE, - arrow_x, arrow_y, arrow_width, arrow_height); + switch (arrow_type) + { + case GTK_ARROW_RIGHT: + angle = G_PI / 2; + break; + case GTK_ARROW_DOWN: + angle = G_PI; + break; + case GTK_ARROW_LEFT: + angle = 3 * (G_PI / 2); + break; + case GTK_ARROW_UP: + default: + angle = 0; + break; + } + + gtk_render_arrow (context, cr, + angle, + arrow_x, arrow_y, + arrow_size); + + gtk_style_context_restore (context); } static gboolean @@ -2009,15 +2013,15 @@ gtk_range_draw (GtkWidget *widget, GtkRange *range = GTK_RANGE (widget); GtkRangePrivate *priv = range->priv; gboolean sensitive; - GtkStateType state; - GtkShadowType shadow_type; - GtkStyle *style; + GtkStateFlags state = 0; GdkWindow *window; gint focus_line_width = 0; gint focus_padding = 0; gboolean touchscreen; gboolean draw_trough = TRUE; + GtkStyleContext *context; + context = gtk_widget_get_style_context (widget); g_object_get (gtk_widget_get_settings (widget), "gtk-touchscreen-mode", &touchscreen, NULL); @@ -2026,7 +2030,6 @@ gtk_range_draw (GtkWidget *widget, priv->adjustment->upper == priv->adjustment->lower) draw_trough = FALSE; - style = gtk_widget_get_style (widget); if (gtk_widget_get_can_focus (GTK_WIDGET (range))) gtk_widget_style_get (GTK_WIDGET (range), "focus-line-width", &focus_line_width, @@ -2072,6 +2075,11 @@ gtk_range_draw (GtkWidget *widget, "stepper-spacing", &stepper_spacing, NULL); + gtk_style_context_save (context); + + if (!sensitive) + gtk_style_context_set_state (context, GTK_STATE_FLAG_INSENSITIVE); + if (stepper_spacing > 0) trough_under_steppers = FALSE; @@ -2117,6 +2125,9 @@ gtk_range_draw (GtkWidget *widget, } } + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TROUGH); + if (draw_trough) { gint trough_change_pos_x = width; @@ -2131,40 +2142,36 @@ gtk_range_draw (GtkWidget *widget, priv->slider.height / 2 - y); - gtk_paint_box (style, cr, - sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE, - GTK_SHADOW_IN, - GTK_WIDGET (range), - should_invert (range) ? "trough-upper" : "trough-lower", - x, y, - trough_change_pos_x, trough_change_pos_y); + /* FIXME: was trough-upper and trough-lower really used, + * in that case, it should still be exposed somehow. + */ + gtk_render_background (context, cr, x, y, + trough_change_pos_x, + trough_change_pos_y); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) trough_change_pos_y = 0; else trough_change_pos_x = 0; - gtk_paint_box (style, cr, - sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE, - GTK_SHADOW_IN, - GTK_WIDGET (range), - should_invert (range) ? "trough-lower" : "trough-upper", - x + trough_change_pos_x, y + trough_change_pos_y, - width - trough_change_pos_x, - height - trough_change_pos_y); + gtk_render_background (context, cr, + x + trough_change_pos_x, y + trough_change_pos_y, + width - trough_change_pos_x, + height - trough_change_pos_y); + + gtk_render_frame (context, cr, + x, y, width, height); } else { - gtk_paint_box (style, cr, - sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE, - GTK_SHADOW_IN, - GTK_WIDGET (range), - "trough-upper", - x, y, - width, - height); + gtk_render_background (context, cr, + x, y, width, height); + gtk_render_frame (context, cr, + x, y, width, height); } + gtk_style_context_restore (context); + if (priv->show_fill_level && priv->adjustment->upper - priv->adjustment->page_size - priv->adjustment->lower != 0) @@ -2176,6 +2183,9 @@ gtk_range_draw (GtkWidget *widget, gint fill_height = height; gchar *fill_detail; + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); + fill_level = CLAMP (fill_level, priv->adjustment->lower, priv->adjustment->upper - priv->adjustment->page_size); @@ -2214,40 +2224,40 @@ gtk_range_draw (GtkWidget *widget, else fill_detail = "trough-fill-level"; - gtk_paint_box (style, cr, - sensitive ? GTK_STATE_ACTIVE : GTK_STATE_INSENSITIVE, - GTK_SHADOW_OUT, - GTK_WIDGET (range), fill_detail, - fill_x, fill_y, - fill_width, fill_height); + gtk_render_activity (context, cr, + fill_x, fill_y, + fill_width, fill_height); + + gtk_style_context_restore (context); } + gtk_style_context_restore (context); + if (sensitive && gtk_widget_has_focus (widget)) - gtk_paint_focus (style, cr, - gtk_widget_get_state (widget), - widget, "trough", - priv->range_rect.x, - priv->range_rect.y, - priv->range_rect.width, - priv->range_rect.height); + { + gtk_style_context_save (context); + gtk_style_context_set_state (context, + gtk_widget_get_state_flags (widget)); + + gtk_render_focus (context, cr, + priv->range_rect.x, + priv->range_rect.y, + priv->range_rect.width, + priv->range_rect.height); + + gtk_style_context_restore (context); + } } cairo_restore (cr); - shadow_type = GTK_SHADOW_OUT; - if (!sensitive) - state = GTK_STATE_INSENSITIVE; + state = GTK_STATE_FLAG_INSENSITIVE; else if (!touchscreen && priv->mouse_location == MOUSE_SLIDER) - state = GTK_STATE_PRELIGHT; - else - state = GTK_STATE_NORMAL; + state = GTK_STATE_FLAG_PRELIGHT; if (priv->grab_location == MOUSE_SLIDER) - { - state = GTK_STATE_ACTIVE; - shadow_type = GTK_SHADOW_IN; - } + state |= GTK_STATE_FLAG_ACTIVE; cairo_save (cr); gdk_cairo_rectangle (cr, &priv->slider); @@ -2255,17 +2265,18 @@ gtk_range_draw (GtkWidget *widget, if (draw_trough) { - gtk_paint_slider (style, - cr, - state, - shadow_type, - widget, - gtk_range_get_slider_detail (range), - priv->slider.x, - priv->slider.y, - priv->slider.width, - priv->slider.height, - priv->orientation); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_SLIDER); + gtk_style_context_set_state (context, state); + + gtk_render_slider (context, cr, + priv->slider.x, + priv->slider.y, + priv->slider.width, + priv->slider.height, + priv->orientation); + + gtk_style_context_restore (context); } cairo_restore (cr); @@ -2867,8 +2878,8 @@ gtk_range_grab_notify (GtkWidget *widget, } static void -gtk_range_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_range_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { if (!gtk_widget_is_sensitive (widget)) stop_scrolling (GTK_RANGE (widget)); @@ -2973,15 +2984,14 @@ gtk_range_adjustment_value_changed (GtkAdjustment *adjustment, } static void -gtk_range_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_range_style_updated (GtkWidget *widget) { GtkRange *range = GTK_RANGE (widget); GtkRangePrivate *priv = range->priv; priv->need_recalc = TRUE; - GTK_WIDGET_CLASS (gtk_range_parent_class)->style_set (widget, previous_style); + GTK_WIDGET_CLASS (gtk_range_parent_class)->style_updated (widget); } static void diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index cd00b2ea2e..d81868e52e 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -127,8 +127,7 @@ static void gtk_scale_get_preferred_width (GtkWidget *widget, static void gtk_scale_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural); -static void gtk_scale_style_set (GtkWidget *widget, - GtkStyle *previous); +static void gtk_scale_style_updated (GtkWidget *widget); static void gtk_scale_get_range_border (GtkRange *range, GtkBorder *border); static void gtk_scale_get_mark_label_size (GtkScale *scale, @@ -204,7 +203,7 @@ gtk_scale_class_init (GtkScaleClass *class) gobject_class->get_property = gtk_scale_get_property; gobject_class->finalize = gtk_scale_finalize; - widget_class->style_set = gtk_scale_style_set; + widget_class->style_updated = gtk_scale_style_updated; widget_class->screen_changed = gtk_scale_screen_changed; widget_class->draw = gtk_scale_draw; widget_class->get_preferred_width = gtk_scale_get_preferred_width; @@ -430,6 +429,7 @@ gtk_scale_init (GtkScale *scale) { GtkScalePrivate *priv; GtkRange *range = GTK_RANGE (scale); + GtkStyleContext *context; scale->priv = G_TYPE_INSTANCE_GET_PRIVATE (scale, GTK_TYPE_SCALE, @@ -449,6 +449,9 @@ gtk_scale_init (GtkScale *scale) g_signal_connect (scale, "notify::orientation", G_CALLBACK (gtk_scale_orientation_notify), NULL); + + context = gtk_widget_get_style_context (GTK_WIDGET (scale)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_SCALE); } static void @@ -921,8 +924,7 @@ gtk_scale_get_mark_label_size (GtkScale *scale, } static void -gtk_scale_style_set (GtkWidget *widget, - GtkStyle *previous) +gtk_scale_style_updated (GtkWidget *widget) { gint slider_length; GtkRange *range; @@ -937,7 +939,7 @@ gtk_scale_style_set (GtkWidget *widget, _gtk_scale_clear_layout (GTK_SCALE (widget)); - GTK_WIDGET_CLASS (gtk_scale_parent_class)->style_set (widget, previous); + GTK_WIDGET_CLASS (gtk_scale_parent_class)->style_updated (widget); } static void @@ -1032,8 +1034,8 @@ gtk_scale_draw (GtkWidget *widget, GtkScale *scale = GTK_SCALE (widget); GtkScalePrivate *priv = scale->priv; GtkRange *range = GTK_RANGE (scale); - GtkStateType state_type; - GtkStyle *style; + GtkStateFlags state = 0; + GtkStyleContext *context; gint n_marks; gint *marks; gint focus_padding; @@ -1041,7 +1043,7 @@ gtk_scale_draw (GtkWidget *widget, gint value_spacing; gint min_sep = 4; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); gtk_widget_style_get (widget, "focus-padding", &focus_padding, "slider-width", &slider_width, @@ -1053,9 +1055,8 @@ gtk_scale_draw (GtkWidget *widget, */ GTK_WIDGET_CLASS (gtk_scale_parent_class)->draw (widget, cr); - state_type = GTK_STATE_NORMAL; if (!gtk_widget_is_sensitive (widget)) - state_type = GTK_STATE_INSENSITIVE; + state |= GTK_STATE_FLAG_INSENSITIVE; if (priv->marks) { @@ -1098,8 +1099,12 @@ gtk_scale_draw (GtkWidget *widget, max_pos = find_next_pos (widget, m, marks + i, GTK_POS_TOP, 0) - min_sep; } - gtk_paint_vline (style, cr, state_type, - widget, "scale-mark", y1, y2, x1); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_MARK); + gtk_style_context_set_state (context, state); + + gtk_render_line (context, cr, + x1, y1, x1, y2); if (mark->markup) { @@ -1124,10 +1129,11 @@ gtk_scale_draw (GtkWidget *widget, min_pos_after = x3 + logical_rect.width + min_sep; } - gtk_paint_layout (style, cr, state_type, - FALSE, widget, "scale-mark", - x3, y3, layout); + gtk_render_layout (context, cr, + x3, y3, layout); } + + gtk_style_context_restore (context); } else { @@ -1147,8 +1153,12 @@ gtk_scale_draw (GtkWidget *widget, } y1 = marks[i]; - gtk_paint_hline (style, cr, state_type, - widget, "range-mark", x1, x2, y1); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_MARK); + gtk_style_context_set_state (context, state); + + gtk_render_line (context, cr, + x1, y1, x2, y1); if (mark->markup) { @@ -1173,10 +1183,11 @@ gtk_scale_draw (GtkWidget *widget, min_pos_after = y3 + logical_rect.height + min_sep; } - gtk_paint_layout (style, cr, state_type, - FALSE, widget, "scale-mark", - x3, y3, layout); + gtk_render_layout (context, cr, + x3, y3, layout); } + + gtk_style_context_restore (context); } } @@ -1197,17 +1208,10 @@ gtk_scale_draw (GtkWidget *widget, gtk_scale_get_layout_offsets (scale, &x, &y); gtk_widget_get_allocation (widget, &allocation); - gtk_paint_layout (style, - cr, - state_type, - FALSE, - widget, - orientation == GTK_ORIENTATION_HORIZONTAL ? - "hscale" : "vscale", - x - allocation.x, - y - allocation.y, - layout); - + gtk_render_layout (context, cr, + x - allocation.x, + y - allocation.y, + layout); } return FALSE; diff --git a/gtk/gtkscrollbar.c b/gtk/gtkscrollbar.c index df4ad75b9c..4a852f2bed 100644 --- a/gtk/gtkscrollbar.c +++ b/gtk/gtkscrollbar.c @@ -56,8 +56,7 @@ */ -static void gtk_scrollbar_style_set (GtkWidget *widget, - GtkStyle *previous); +static void gtk_scrollbar_style_updated (GtkWidget *widget); G_DEFINE_TYPE (GtkScrollbar, gtk_scrollbar, GTK_TYPE_RANGE) @@ -66,9 +65,7 @@ gtk_scrollbar_class_init (GtkScrollbarClass *class) { GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); - widget_class->style_set = gtk_scrollbar_style_set; - - GTK_RANGE_CLASS (class)->stepper_detail = "Xscrollbar"; + widget_class->style_updated = gtk_scrollbar_style_updated; gtk_widget_class_install_style_property (widget_class, g_param_spec_int ("min-slider-length", @@ -125,8 +122,7 @@ gtk_scrollbar_init (GtkScrollbar *scrollbar) } static void -gtk_scrollbar_style_set (GtkWidget *widget, - GtkStyle *previous) +gtk_scrollbar_style_updated (GtkWidget *widget) { GtkRange *range = GTK_RANGE (widget); gint slider_length; @@ -147,7 +143,7 @@ gtk_scrollbar_style_set (GtkWidget *widget, _gtk_range_set_steppers (range, has_a, has_b, has_c, has_d); - GTK_WIDGET_CLASS (gtk_scrollbar_parent_class)->style_set (widget, previous); + GTK_WIDGET_CLASS (gtk_scrollbar_parent_class)->style_updated (widget); } /** diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 74539c2f48..98fc9fb893 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -253,6 +253,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_SCROLLBAR "scrollbar" +/** + * GTK_STYLE_CLASS_SCALE: + * + * A CSS class to match scale widgets. + */ +#define GTK_STYLE_CLASS_SCALE "scale" + /** * GTK_STYLE_CLASS_HEADER: * @@ -295,6 +302,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_SPINNER "spinner" +/** + * GTK_STYLE_CLASS_MARK: + * + * A widget class defining marks in a widget, such as in scales + */ +#define GTK_STYLE_CLASS_MARK "mark" + /** * GTK_STYLE_CLASS_NOTEBOOK: * From 89e6cad92f1337a2756dffd08938703d2bb61f1f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 13:46:21 +0100 Subject: [PATCH 0474/1463] GtkSpinButton: Use GtkStyleContext --- gtk/gtkspinbutton.c | 243 +++++++++++++++++++++++++----------------- gtk/gtkstylecontext.h | 7 ++ 2 files changed, 150 insertions(+), 100 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index a8e0f0833c..0f513bade3 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -133,11 +133,11 @@ static gint gtk_spin_button_focus_out (GtkWidget *widget, GdkEventFocus *event); static void gtk_spin_button_grab_notify (GtkWidget *widget, gboolean was_grabbed); -static void gtk_spin_button_state_changed (GtkWidget *widget, - GtkStateType previous_state); -static void gtk_spin_button_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_spin_button_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); +static void gtk_spin_button_style_updated (GtkWidget *widget); static void gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, + GtkStyleContext *context, cairo_t *cr, GtkArrowType arrow_type); static gboolean gtk_spin_button_timer (GtkSpinButton *spin_button); @@ -170,7 +170,6 @@ static gint gtk_spin_button_default_input (GtkSpinButton *spin_button, static gint gtk_spin_button_default_output (GtkSpinButton *spin_button); static gint spin_button_get_arrow_size (GtkSpinButton *spin_button); -static gint spin_button_get_shadow_type (GtkSpinButton *spin_button); static guint spinbutton_signals[LAST_SIGNAL] = {0}; @@ -214,8 +213,8 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) widget_class->leave_notify_event = gtk_spin_button_leave_notify; widget_class->focus_out_event = gtk_spin_button_focus_out; widget_class->grab_notify = gtk_spin_button_grab_notify; - widget_class->state_changed = gtk_spin_button_state_changed; - widget_class->style_set = gtk_spin_button_style_set; + widget_class->state_flags_changed = gtk_spin_button_state_flags_changed; + widget_class->style_updated = gtk_spin_button_style_updated; entry_class->activate = gtk_spin_button_activate; entry_class->get_text_area_size = gtk_spin_button_get_text_area_size; @@ -505,6 +504,7 @@ static void gtk_spin_button_init (GtkSpinButton *spin_button) { GtkSpinButtonPrivate *priv; + GtkStyleContext *context; spin_button->priv = G_TYPE_INSTANCE_GET_PRIVATE (spin_button, GTK_TYPE_SPIN_BUTTON, @@ -529,6 +529,9 @@ gtk_spin_button_init (GtkSpinButton *spin_button) gtk_spin_button_set_adjustment (spin_button, gtk_adjustment_new (0, 0, 0, 0, 0, 0)); + + context = gtk_widget_get_style_context (GTK_WIDGET (spin_button)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_SPINBUTTON); } static void @@ -580,15 +583,15 @@ gtk_spin_button_realize (GtkWidget *widget) { GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin_button->priv; + GtkStyleContext *context; + GtkStateFlags state; GtkAllocation allocation; GtkRequisition requisition; - GtkStyle *style; GdkWindowAttr attributes; gint attributes_mask; gboolean return_val; gint arrow_size; - - style = gtk_widget_get_style (widget); + GtkBorder padding; arrow_size = spin_button_get_arrow_size (spin_button); @@ -609,9 +612,13 @@ gtk_spin_button_realize (GtkWidget *widget) attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; - attributes.x = allocation.x + allocation.width - arrow_size - 2 * style->xthickness; + state = gtk_widget_get_state_flags (widget); + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (context, state, &padding); + + attributes.x = allocation.x + allocation.width - arrow_size - (padding.left + padding.right); attributes.y = allocation.y + (allocation.height - requisition.height) / 2; - attributes.width = arrow_size + 2 * style->xthickness; + attributes.width = arrow_size + padding.left + padding.right; attributes.height = requisition.height; priv->panel = gdk_window_new (gtk_widget_get_window (widget), @@ -673,10 +680,11 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin_button->priv; GtkEntry *entry = GTK_ENTRY (widget); - GtkStyle *style; + GtkStyleContext *style_context; + GtkBorder padding; gint arrow_size; - style = gtk_widget_get_style (widget); + style_context = gtk_widget_get_style_context (widget); arrow_size = spin_button_get_arrow_size (spin_button); @@ -685,6 +693,7 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, if (gtk_entry_get_width_chars (entry) < 0) { PangoContext *context; + PangoFontDescription *font_desc; PangoFontMetrics *metrics; gint width; gint w; @@ -701,9 +710,13 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, "focus-line-width", &focus_width, NULL); + /* FIXME: update to get_font_desc */ + gtk_style_context_get (style_context, 0, + "font", &font_desc, + NULL); + context = gtk_widget_get_pango_context (widget); - metrics = pango_context_get_metrics (context, - style->font_desc, + metrics = pango_context_get_metrics (context, font_desc, pango_context_get_language (context)); digit_width = pango_font_metrics_get_approximate_digit_width (metrics); @@ -734,8 +747,12 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, *natural = width; } - *minimum += arrow_size + 2 * style->xthickness; - *natural += arrow_size + 2 * style->xthickness; + gtk_style_context_get_padding (style_context, + gtk_widget_get_state_flags (widget), + &padding); + + *minimum += arrow_size + padding.left + padding.right; + *natural += arrow_size + padding.left + padding.right; } static void @@ -746,11 +763,18 @@ gtk_spin_button_size_allocate (GtkWidget *widget, GtkSpinButtonPrivate *priv = spin->priv; GtkAllocation panel_allocation; GtkRequisition requisition; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint arrow_size; gint panel_width; arrow_size = spin_button_get_arrow_size (spin); - panel_width = arrow_size + 2 * gtk_widget_get_style (widget)->xthickness; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_get_padding (context, state, &padding); + panel_width = arrow_size + padding.left + padding.right; gtk_widget_get_preferred_size (widget, &requisition, NULL); @@ -787,30 +811,46 @@ gtk_spin_button_draw (GtkWidget *widget, { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; - GtkShadowType shadow_type; - GtkStateType state; + GtkStyleContext *context; + GtkStateFlags state = 0; + gboolean is_rtl; + + is_rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + context = gtk_widget_get_style_context (widget); + gtk_style_context_save (context); + + if (is_rtl) + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_LEFT); + else + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_RIGHT); GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->draw (widget, cr); + gtk_style_context_restore (context); cairo_save (cr); - shadow_type = spin_button_get_shadow_type (spin); + state = gtk_widget_get_state_flags (widget); - state = gtk_widget_has_focus (widget) ? - GTK_STATE_ACTIVE : gtk_widget_get_state (widget); + if (gtk_widget_has_focus (widget)) + state |= GTK_STATE_FLAG_FOCUSED; + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + if (is_rtl) + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_RIGHT); + else + gtk_style_context_set_junction_sides (context, GTK_JUNCTION_LEFT); gtk_cairo_transform_to_window (cr, widget, priv->panel); if (gtk_entry_get_has_frame (GTK_ENTRY (widget))) - gtk_paint_box (gtk_widget_get_style (widget), cr, - state, shadow_type, - widget, "spinbutton", - 0, 0, - gdk_window_get_width (priv->panel), - gdk_window_get_height (priv->panel)); + gtk_render_background (context, cr, 0, 0, + gdk_window_get_width (priv->panel), + gdk_window_get_height (priv->panel)); - gtk_spin_button_draw_arrow (spin, cr, GTK_ARROW_UP); - gtk_spin_button_draw_arrow (spin, cr, GTK_ARROW_DOWN); + gtk_spin_button_draw_arrow (spin, context, cr, GTK_ARROW_UP); + gtk_spin_button_draw_arrow (spin, context, cr, GTK_ARROW_DOWN); cairo_restore (cr); @@ -844,15 +884,17 @@ spin_button_at_limit (GtkSpinButton *spin_button, } static void -gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, - cairo_t *cr, - GtkArrowType arrow_type) +gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, + GtkStyleContext *context, + cairo_t *cr, + GtkArrowType arrow_type) { GtkSpinButtonPrivate *priv; - GtkStateType state_type; - GtkShadowType shadow_type; - GtkStyle *style; + GtkJunctionSides junction; + GtkStateFlags state; GtkWidget *widget; + GtkBorder padding; + gdouble angle; gint x; gint y; gint panel_height; @@ -862,12 +904,13 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, g_return_if_fail (arrow_type == GTK_ARROW_UP || arrow_type == GTK_ARROW_DOWN); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); + priv = spin_button->priv; widget = GTK_WIDGET (spin_button); + junction = gtk_style_context_get_junction_sides (context); - style = gtk_widget_get_style (widget); - - width = spin_button_get_arrow_size (spin_button) + 2 * style->xthickness; panel_height = gdk_window_get_height (priv->panel); if (arrow_type == GTK_ARROW_UP) @@ -876,6 +919,8 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, y = 0; height = panel_height / 2; + angle = 0; + junction |= GTK_JUNCTION_BOTTOM; } else { @@ -883,41 +928,34 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, y = panel_height / 2; height = (panel_height + 1) / 2; + angle = G_PI; + junction |= GTK_JUNCTION_TOP; } if (spin_button_at_limit (spin_button, arrow_type)) - { - shadow_type = GTK_SHADOW_OUT; - state_type = GTK_STATE_INSENSITIVE; - } + state = GTK_STATE_FLAG_INSENSITIVE; else { if (priv->click_child == arrow_type) - { - state_type = GTK_STATE_ACTIVE; - shadow_type = GTK_SHADOW_IN; - } + state = GTK_STATE_ACTIVE; else { if (priv->in_child == arrow_type && priv->click_child == NO_ARROW) - { - state_type = GTK_STATE_PRELIGHT; - } + state = GTK_STATE_FLAG_PRELIGHT; else - { - state_type = gtk_widget_get_state (widget); - } - - shadow_type = GTK_SHADOW_OUT; + state = gtk_widget_get_state_flags (widget); } } - - gtk_paint_box (style, cr, - state_type, shadow_type, - widget, - (arrow_type == GTK_ARROW_UP)? "spinbutton_up" : "spinbutton_down", - x, y, width, height); + + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_set_junction_sides (context, junction); + gtk_style_context_set_state (context, state); + + width = spin_button_get_arrow_size (spin_button) + padding.left + padding.right; + + gtk_render_background (context, cr, x, y, width, height); + gtk_render_frame (context, cr, x, y, width, height); height = panel_height; @@ -949,11 +987,10 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, height = h; width = w; - gtk_paint_arrow (style, cr, - state_type, shadow_type, - widget, "spinbutton", - arrow_type, TRUE, - x, y, width, height); + gtk_render_arrow (context, cr, + angle, x, y, width); + + gtk_style_context_restore (context); } static gint @@ -1029,8 +1066,8 @@ gtk_spin_button_grab_notify (GtkWidget *widget, } static void -gtk_spin_button_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_spin_button_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); @@ -1042,17 +1079,20 @@ gtk_spin_button_state_changed (GtkWidget *widget, } static void -gtk_spin_button_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_spin_button_style_updated (GtkWidget *widget) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; - if (previous_style && gtk_widget_get_realized (widget)) - gtk_style_set_background (gtk_widget_get_style (widget), - priv->panel, GTK_STATE_NORMAL); + if (gtk_widget_get_realized (widget)) + { + GtkStyleContext *context; - GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->style_set (widget, previous_style); + context = gtk_widget_get_style_context (widget); + gtk_style_context_set_background (context, priv->panel); + } + + GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->style_updated (widget); } @@ -1201,12 +1241,19 @@ gtk_spin_button_button_release (GtkWidget *widget, if (event->button == 3) { GtkRequisition requisition; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gtk_widget_get_preferred_size (widget, &requisition, NULL); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + if (event->y >= 0 && event->x >= 0 && event->y <= requisition.height && - event->x <= arrow_size + 2 * gtk_widget_get_style (widget)->xthickness) + event->x <= arrow_size + padding.left + padding.right) { if (click_child == GTK_ARROW_UP && event->y <= requisition.height / 2) @@ -1488,13 +1535,22 @@ gtk_spin_button_get_text_area_size (GtkEntry *entry, gint *width, gint *height) { + GtkStyleContext *context; + GtkStateFlags state; + GtkWidget *widget; + GtkBorder padding; gint arrow_size; gint panel_width; GTK_ENTRY_CLASS (gtk_spin_button_parent_class)->get_text_area_size (entry, x, y, width, height); + widget = GTK_WIDGET (entry); + state = gtk_widget_get_state_flags (widget); + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_padding (context, state, &padding); + arrow_size = spin_button_get_arrow_size (GTK_SPIN_BUTTON (entry)); - panel_width = arrow_size + 2 * gtk_widget_get_style (GTK_WIDGET (entry))->xthickness; + panel_width = arrow_size + padding.left + padding.right; if (width) *width -= panel_width; @@ -2243,36 +2299,23 @@ gtk_spin_button_get_wrap (GtkSpinButton *spin_button) static gint spin_button_get_arrow_size (GtkSpinButton *spin_button) { - GtkStyle *style; + PangoFontDescription *font_desc; + GtkStyleContext *context; gint size; gint arrow_size; - style = gtk_widget_get_style (GTK_WIDGET (spin_button)); - size = pango_font_description_get_size (style->font_desc); + /* FIXME: use getter */ + context = gtk_widget_get_style_context (GTK_WIDGET (spin_button)); + gtk_style_context_get (context, 0, + "font", &font_desc, + NULL); + + size = pango_font_description_get_size (font_desc); arrow_size = MAX (PANGO_PIXELS (size), MIN_ARROW_WIDTH); return arrow_size - arrow_size % 2; /* force even */ } -/** - * spin_button_get_shadow_type: - * @spin_button: a #GtkSpinButton - * - * Convenience function to Get the shadow type from the underlying widget's - * style. - * - * Return value: the #GtkShadowType - **/ -static gint -spin_button_get_shadow_type (GtkSpinButton *spin_button) -{ - GtkShadowType rc_shadow_type; - - gtk_widget_style_get (GTK_WIDGET (spin_button), "shadow-type", &rc_shadow_type, NULL); - - return rc_shadow_type; -} - /** * gtk_spin_button_set_snap_to_ticks: * @spin_button: a #GtkSpinButton diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 98fc9fb893..0d2c82c41f 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -309,6 +309,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_MARK "mark" +/** + * GTK_STYLE_CLASS_SPINBUTTON: + * + * A widget class defining an spinbutton + */ +#define GTK_STYLE_CLASS_SPINBUTTON "spinbutton" + /** * GTK_STYLE_CLASS_NOTEBOOK: * From a517cf1beddcd58df4c6e83c266f7461ee149a74 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 20:04:40 +0100 Subject: [PATCH 0475/1463] Make GtkExpander use GtkStyleContext --- gtk/gtkcssprovider.c | 10 ++- gtk/gtkexpander.c | 188 ++++++++++++++++-------------------------- gtk/gtkstylecontext.h | 7 ++ 3 files changed, 85 insertions(+), 120 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 02356f4fa0..84443704a8 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3608,8 +3608,16 @@ gtk_css_provider_get_default (void) " color: @selected_fg_color;\n" "}\n" "\n" + ".expander {\n" + " color: #fff;\n" + "}\n" + "\n" ".expander:prelight {\n" - " color: @selected_fg_color\n" + " color: @text_color;\n" + "}\n" + "\n" + ".expander:active {\n" + " transition: 300ms linear;\n" "}\n" "\n" "*:insensitive {\n" diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 236ff279f6..f389bf043a 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -57,8 +57,6 @@ struct _GtkExpanderPrivate GdkWindow *event_window; gint spacing; - GtkExpanderStyle expander_style; - guint animation_timeout; guint expand_timer; guint expanded : 1; @@ -99,8 +97,8 @@ static gboolean gtk_expander_focus (GtkWidget *widget, GtkDirectionType direction); static void gtk_expander_grab_notify (GtkWidget *widget, gboolean was_grabbed); -static void gtk_expander_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_expander_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static gboolean gtk_expander_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, @@ -179,7 +177,7 @@ gtk_expander_class_init (GtkExpanderClass *klass) widget_class->leave_notify_event = gtk_expander_leave_notify; widget_class->focus = gtk_expander_focus; widget_class->grab_notify = gtk_expander_grab_notify; - widget_class->state_changed = gtk_expander_state_changed; + widget_class->state_flags_changed = gtk_expander_state_flags_changed; widget_class->drag_motion = gtk_expander_drag_motion; widget_class->drag_leave = gtk_expander_drag_leave; widget_class->get_preferred_width = gtk_expander_get_preferred_width; @@ -297,9 +295,6 @@ gtk_expander_init (GtkExpander *expander) priv->event_window = NULL; priv->spacing = 0; - priv->expander_style = GTK_EXPANDER_COLLAPSED; - priv->animation_timeout = 0; - priv->expanded = FALSE; priv->use_underline = FALSE; priv->use_markup = FALSE; @@ -414,10 +409,10 @@ gtk_expander_destroy (GtkWidget *widget) { GtkExpanderPrivate *priv = GTK_EXPANDER (widget)->priv; - if (priv->animation_timeout) + if (priv->expand_timer) { - g_source_remove (priv->animation_timeout); - priv->animation_timeout = 0; + g_source_remove (priv->expand_timer); + priv->expand_timer = 0; } GTK_WIDGET_CLASS (gtk_expander_parent_class)->destroy (widget); @@ -723,6 +718,7 @@ gtk_expander_paint_prelight (GtkExpander *expander, cairo_t *cr) GtkContainer *container; GtkExpanderPrivate *priv; GdkRectangle area; + GtkStyleContext *context; gboolean interior_focus; int focus_width; int focus_pad; @@ -763,44 +759,59 @@ gtk_expander_paint_prelight (GtkExpander *expander, cairo_t *cr) area.height = MAX (area.height, expander_size + 2 * expander_spacing); area.height += !interior_focus ? (focus_width + focus_pad) * 2 : 0; - gtk_paint_flat_box (gtk_widget_get_style (widget), - cr, - GTK_STATE_PRELIGHT, - GTK_SHADOW_ETCHED_OUT, - widget, "expander", - area.x, area.y, - area.width, area.height); + context = gtk_widget_get_style_context (widget); + gtk_render_background (context, cr, + area.x, area.y, + area.width, area.height); } static void gtk_expander_paint (GtkExpander *expander, cairo_t *cr) { + GtkExpanderPrivate *priv = expander->priv; GtkWidget *widget; GdkRectangle clip; GtkAllocation allocation; - GtkStateType state; + GtkStyleContext *context; + GtkStateFlags state = 0; + gint size; widget = GTK_WIDGET (expander); + context = gtk_widget_get_style_context (widget); get_expander_bounds (expander, &clip); gtk_widget_get_allocation (widget, &allocation); - state = gtk_widget_get_state (widget); + gtk_style_context_save (context); + if (expander->priv->prelight) { - state = GTK_STATE_PRELIGHT; - + state = GTK_STATE_FLAG_PRELIGHT; + gtk_style_context_set_state (context, state); gtk_expander_paint_prelight (expander, cr); } - gtk_paint_expander (gtk_widget_get_style (widget), - cr, - state, - widget, - "expander", - clip.x + clip.width / 2 - allocation.x, - clip.y + clip.height / 2 - allocation.y, - expander->priv->expander_style); + gtk_widget_style_get (widget, "expander-size", &size, NULL); + + state = gtk_style_context_get_state (context); + + /* Set active flag as per the expanded state */ + if (priv->expanded) + state |= GTK_STATE_FLAG_ACTIVE; + + gtk_style_context_set_state (context, state); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER); + + /* The expander is the only animatable region */ + gtk_style_context_push_animatable_region (context, GUINT_TO_POINTER (1)); + + gtk_render_expander (context, cr, + clip.x - allocation.x, + clip.y - allocation.y, + size, size); + + gtk_style_context_pop_animatable_region (context); + gtk_style_context_restore (context); } static void @@ -810,6 +821,7 @@ gtk_expander_paint_focus (GtkExpander *expander, GtkWidget *widget; GtkExpanderPrivate *priv; GdkRectangle rect; + GtkStyleContext *context; gint x, y, width, height; gboolean interior_focus; gint border_width; @@ -882,11 +894,9 @@ gtk_expander_paint_focus (GtkExpander *expander, height = rect.height + 2 * focus_pad; } - gtk_paint_focus (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - widget, "expander", - x, y, width, height); + context = gtk_widget_get_style_context (widget); + gtk_render_focus (context, cr, + x, y, width, height); } static gboolean @@ -945,8 +955,8 @@ gtk_expander_grab_notify (GtkWidget *widget, } static void -gtk_expander_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_expander_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { if (!gtk_widget_is_sensitive (widget)) GTK_EXPANDER (widget)->priv->button_down = FALSE; @@ -1522,73 +1532,6 @@ gtk_expander_new_with_mnemonic (const gchar *label) NULL); } -static gboolean -gtk_expander_animation_timeout (GtkExpander *expander) -{ - GtkExpanderPrivate *priv = expander->priv; - GtkWidget *widget = GTK_WIDGET (expander); - GtkWidget *child; - GdkRectangle area; - gboolean finish = FALSE; - - if (gtk_widget_get_realized (widget)) - { - get_expander_bounds (expander, &area); - gdk_window_invalidate_rect (gtk_widget_get_window (widget), &area, TRUE); - } - - if (priv->expanded) - { - if (priv->expander_style == GTK_EXPANDER_COLLAPSED) - { - priv->expander_style = GTK_EXPANDER_SEMI_EXPANDED; - } - else - { - priv->expander_style = GTK_EXPANDER_EXPANDED; - finish = TRUE; - } - } - else - { - if (priv->expander_style == GTK_EXPANDER_EXPANDED) - { - priv->expander_style = GTK_EXPANDER_SEMI_COLLAPSED; - } - else - { - priv->expander_style = GTK_EXPANDER_COLLAPSED; - finish = TRUE; - } - } - - if (finish) - { - priv->animation_timeout = 0; - - child = gtk_bin_get_child (GTK_BIN (expander)); - if (child) - gtk_widget_set_child_visible (child, priv->expanded); - gtk_widget_queue_resize (widget); - } - - return !finish; -} - -static void -gtk_expander_start_animation (GtkExpander *expander) -{ - GtkExpanderPrivate *priv = expander->priv; - - if (priv->animation_timeout) - g_source_remove (priv->animation_timeout); - - priv->animation_timeout = - gdk_threads_add_timeout (50, - (GSourceFunc) gtk_expander_animation_timeout, - expander); -} - /** * gtk_expander_set_expanded: * @expander: a #GtkExpander @@ -1615,30 +1558,37 @@ gtk_expander_set_expanded (GtkExpander *expander, if (priv->expanded != expanded) { - GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (expander)); - gboolean enable_animations; + GtkWidget *widget = GTK_WIDGET (expander); + GtkSettings *settings = gtk_widget_get_settings (widget); + GtkStyleContext *context; + gboolean enable_animations; + context = gtk_widget_get_style_context (widget); priv->expanded = expanded; g_object_get (settings, "gtk-enable-animations", &enable_animations, NULL); - if (enable_animations && gtk_widget_get_realized (GTK_WIDGET (expander))) + if (enable_animations && gtk_widget_get_realized (widget)) { - gtk_expander_start_animation (expander); - } - else - { - priv->expander_style = expanded ? GTK_EXPANDER_EXPANDED : - GTK_EXPANDER_COLLAPSED; + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER); - child = gtk_bin_get_child (GTK_BIN (expander)); - if (child) - { - gtk_widget_set_child_visible (child, priv->expanded); - gtk_widget_queue_resize (GTK_WIDGET (expander)); - } + gtk_style_context_notify_state_change (context, + gtk_widget_get_window (widget), + GUINT_TO_POINTER (1), + GTK_STATE_ACTIVE, + expanded); + gtk_style_context_restore (context); } + child = gtk_bin_get_child (GTK_BIN (expander)); + + if (child) + { + gtk_widget_set_child_visible (child, priv->expanded); + gtk_widget_queue_resize (widget); + } + g_object_notify (G_OBJECT (expander), "expanded"); } } diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 0d2c82c41f..e2905ef3ab 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -309,6 +309,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_MARK "mark" +/** + * GTK_STYLE_CLASS_EXPANDER: + * + * A widget class defining an expander, such as those in treeviews + */ +#define GTK_STYLE_CLASS_EXPANDER "expander" + /** * GTK_STYLE_CLASS_SPINBUTTON: * From afca06b362dcd12f08d5170cfe394a5eec0ecc04 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 21:36:49 +0100 Subject: [PATCH 0476/1463] Add getter for font description in GtkThemingEngine This function is analogous to gtk_style_context_get_font(). --- gtk/gtkthemingengine.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index e3cde59e24..7914029602 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -874,6 +874,29 @@ gtk_theming_engine_get_margin (GtkThemingEngine *engine, gtk_style_context_get_margin (priv->context, state, margin); } +/** + * gtk_theming_engine_get_font: + * @engine: a #GtkThemingEngine + * @state: state to retrieve the font for + * + * Returns the font description for a given state. + * + * Returns: the #PangoFontDescription for the given state. This + * object is owned by GTK+ and should not be freed. + * + * Since: 3.0 + **/ +const PangoFontDescription * +gtk_theming_engine_get_font (GtkThemingEngine *engine, + GtkStateFlags state) +{ + GtkThemingEnginePrivate *priv; + + g_return_val_if_fail (GTK_IS_THEMING_ENGINE (engine), NULL); + + priv = engine->priv; + return gtk_style_context_get_font (priv->context, state); +} /* GtkThemingModule */ From fbb75b9b5dc65dde771a9b3fd76fabbc205a184f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 22:42:05 +0100 Subject: [PATCH 0477/1463] Add headers/docs changes for gtk_theming_engine_get_font() Apparently I didn't git add enough... --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtkthemingengine.h | 2 ++ 2 files changed, 3 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 35fbd5e5f4..d62fc59860 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5526,6 +5526,7 @@ gtk_theming_engine_get_border_color gtk_theming_engine_get_border gtk_theming_engine_get_padding gtk_theming_engine_get_margin +gtk_theming_engine_get_font gtk_theming_engine_has_class gtk_theming_engine_has_region gtk_theming_engine_lookup_color diff --git a/gtk/gtkthemingengine.h b/gtk/gtkthemingengine.h index 64b39216e2..ab90bf5a7b 100644 --- a/gtk/gtkthemingengine.h +++ b/gtk/gtkthemingengine.h @@ -240,6 +240,8 @@ void gtk_theming_engine_get_margin (GtkThemingEngine *engine, GtkStateFlags state, GtkBorder *margin); +const PangoFontDescription * gtk_theming_engine_get_font (GtkThemingEngine *engine, + GtkStateFlags state); GtkThemingEngine * gtk_theming_engine_load (const gchar *name); From ee31a016eca9d7202c41cd7df59611f831062cb7 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 14 Dec 2010 02:29:57 +0100 Subject: [PATCH 0478/1463] Make GtkInfoBar use GtkStyleContext All colors are defined now in the default css, and classes have been added so the bars are fully themeable (as opposed to gtk_widget_override_*, which require changing the color map itself) --- gtk/gtkcssprovider.c | 31 ++++++++- gtk/gtkinfobar.c | 142 ++++++++---------------------------------- gtk/gtkstylecontext.h | 32 ++++++++++ 3 files changed, 87 insertions(+), 118 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 84443704a8..4696fcf9ac 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -1215,7 +1215,7 @@ compare_selector (GtkWidgetPath *path, score = 0; else if (first_match) { - /* Assign more weight to these selectors + /* Assign more weight to these selectors * that matched right from the first element. */ score <<= 4; @@ -3589,6 +3589,15 @@ gtk_css_provider_get_default (void) "@define-color tooltip_bg_color #eee1b3; \n" "@define-color tooltip_fg_color #000; \n" "\n" + "@define-color info_fg_color rgb (181, 171, 156);\n" + "@define-color info_bg_color rgb (252, 252, 189);\n" + "@define-color warning_fg_color rgb (173, 120, 41);\n" + "@define-color warning_bg_color rgb (250, 173, 61);\n" + "@define-color question_fg_color rgb (97, 122, 214);\n" + "@define-color question_bg_color rgb (138, 173, 212);\n" + "@define-color error_fg_color rgb (166, 38, 38);\n" + "@define-color error_bg_color rgb (237, 54, 54);\n" + "\n" "*,\n" "GtkTreeView > GtkButton {\n" " background-color: @bg_color;\n" @@ -3792,6 +3801,26 @@ gtk_css_provider_get_default (void) ".spinner:active {\n" " transition: 750ms linear loop;\n" "}\n" + "\n" + ".info {\n" + " background-color: @info_bg_color;\n" + " color: @info_fg_color;\n" + "}\n" + "\n" + ".warning {\n" + " background-color: @warning_bg_color;\n" + " color: @warning_fg_color;\n" + "}\n" + "\n" + ".question {\n" + " background-color: @question_bg_color;\n" + " color: @question_fg_color;\n" + "}\n" + "\n" + ".error {\n" + " background-color: @error_bg_color;\n" + " color: @error_fg_color;\n" + "}\n" "\n"; provider = gtk_css_provider_new (); diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index a7879606b4..5ec7a04d2f 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -157,8 +157,7 @@ static void gtk_info_bar_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_info_bar_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_info_bar_style_updated (GtkWidget *widget); static gboolean gtk_info_bar_draw (GtkWidget *widget, cairo_t *cr); static void gtk_info_bar_buildable_interface_init (GtkBuildableIface *iface); @@ -300,29 +299,34 @@ gtk_info_bar_draw (GtkWidget *widget, cairo_t *cr) { GtkInfoBarPrivate *priv = GTK_INFO_BAR (widget)->priv; - const char* type_detail[] = { - "infobar-info", - "infobar-warning", - "infobar-question", - "infobar-error", - "infobar" + const char* type_class[] = { + GTK_STYLE_CLASS_INFO, + GTK_STYLE_CLASS_WARNING, + GTK_STYLE_CLASS_QUESTION, + GTK_STYLE_CLASS_ERROR, + NULL }; if (priv->message_type != GTK_MESSAGE_OTHER) { - const char *detail; + GtkStyleContext *context; - detail = type_detail[priv->message_type]; + context = gtk_widget_get_style_context (widget); - gtk_paint_box (gtk_widget_get_style (widget), - cr, - GTK_STATE_NORMAL, - GTK_SHADOW_OUT, - widget, - detail, - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + gtk_style_context_save (context); + + if (type_class[priv->message_type]) + gtk_style_context_add_class (context, + type_class[priv->message_type]); + + gtk_render_background (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + gtk_render_frame (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + gtk_style_context_restore (context); } if (GTK_WIDGET_CLASS (gtk_info_bar_parent_class)->draw) @@ -345,7 +349,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass) object_class->set_property = gtk_info_bar_set_property; object_class->finalize = gtk_info_bar_finalize; - widget_class->style_set = gtk_info_bar_style_set; + widget_class->style_updated = gtk_info_bar_style_updated; widget_class->draw = gtk_info_bar_draw; klass->close = gtk_info_bar_close; @@ -491,100 +495,7 @@ gtk_info_bar_class_init (GtkInfoBarClass *klass) } static void -gtk_info_bar_update_colors (GtkInfoBar *info_bar) -{ - GtkWidget *widget = GTK_WIDGET (info_bar); - GtkInfoBarPrivate *priv = info_bar->priv; - GdkRGBA info_default_border_color = { 0.71, 0.67, 0.61, 1.0 }; - GdkRGBA info_default_fill_color = { 0.99, 0.99, 0.74, 1.0 }; - GdkRGBA warning_default_border_color = { 0.68, 0.47, 0.16, 1.0 }; - GdkRGBA warning_default_fill_color = { 0.98, 0.68, 0.24, 1.0 }; - GdkRGBA question_default_border_color = { 0.38, 0.48, 0.84, 1.0 }; - GdkRGBA question_default_fill_color = { 0.54, 0.68, 0.83, 1.0 }; - GdkRGBA error_default_border_color = { 0.65, 0.15, 0.15, 1.0 }; - GdkRGBA error_default_fill_color = { 0.93, 0.21, 0.21, 1.0 }; - GdkRGBA other_default_border_color = { 0.71, 0.67, 0.61, 1.0 }; - GdkRGBA other_default_fill_color = { 0.99, 0.99, 0.74, 1.0 }; - GdkRGBA *fg, *bg; - GdkRGBA sym_fg, sym_bg; - GdkRGBA *color, *bg_color; - GtkStyleContext *context; - - const char* fg_color_name[] = { - "info_fg_color", - "warning_fg_color", - "question_fg_color", - "error_fg_color", - "other_fg_color" - }; - const char* bg_color_name[] = { - "info_bg_color", - "warning_bg_color", - "question_bg_color", - "error_bg_color", - "other_bg_color" - }; - - context = gtk_widget_get_style_context (widget); - - if (gtk_style_context_lookup_color (context, fg_color_name[priv->message_type], &sym_fg) && - gtk_style_context_lookup_color (context, bg_color_name[priv->message_type], &sym_bg)) - { - fg = &sym_fg; - bg = &sym_bg; - } - else - { - switch (priv->message_type) - { - case GTK_MESSAGE_INFO: - fg = &info_default_border_color; - bg = &info_default_fill_color; - break; - - case GTK_MESSAGE_WARNING: - fg = &warning_default_border_color; - bg = &warning_default_fill_color; - break; - - case GTK_MESSAGE_QUESTION: - fg = &question_default_border_color; - bg = &question_default_fill_color; - break; - - case GTK_MESSAGE_ERROR: - fg = &error_default_border_color; - bg = &error_default_fill_color; - break; - - case GTK_MESSAGE_OTHER: - fg = &other_default_border_color; - bg = &other_default_fill_color; - break; - - default: - g_assert_not_reached(); - fg = NULL; - bg = NULL; - } - } - - gtk_style_context_get (context, 0, - "color", &color, - "background-color", &bg_color, - NULL); - if (!gdk_rgba_equal (bg_color, bg)) - gtk_widget_override_background_color (widget, 0, bg); - if (!gdk_rgba_equal (color, fg)) - gtk_widget_override_color (widget, 0, fg); - - gdk_rgba_free (color); - gdk_rgba_free (bg_color); -} - -static void -gtk_info_bar_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_info_bar_style_updated (GtkWidget *widget) { GtkInfoBar *info_bar = GTK_INFO_BAR (widget); gint button_spacing; @@ -605,8 +516,6 @@ gtk_info_bar_style_set (GtkWidget *widget, gtk_box_set_spacing (GTK_BOX (info_bar->priv->content_area), content_area_spacing); gtk_container_set_border_width (GTK_CONTAINER (info_bar->priv->content_area), content_area_border); - - gtk_info_bar_update_colors (info_bar); } static void @@ -1191,7 +1100,6 @@ gtk_info_bar_set_message_type (GtkInfoBar *info_bar, { priv->message_type = message_type; - gtk_info_bar_update_colors (info_bar); gtk_widget_queue_draw (GTK_WIDGET (info_bar)); atk_obj = gtk_widget_get_accessible (GTK_WIDGET (info_bar)); diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index e2905ef3ab..5ea5d2b412 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -330,6 +330,38 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_NOTEBOOK "notebook" +/** + * GTK_STYLE_CLASS_INFO: + * + * A widget class for an area displaying an informational message, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_INFO "info" + +/** + * GTK_STYLE_CLASS_WARNING: + * + * A widget class for an area displaying a warning message, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_WARNING "warning" + +/** + * GTK_STYLE_CLASS_QUESTION: + * + * A widget class for an area displaying a question to the user, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_QUESTION "question" + +/** + * GTK_STYLE_CLASS_ERROR: + * + * A widget class for an area displaying an error message, + * such as those in infobars + */ +#define GTK_STYLE_CLASS_ERROR "error" + /* Predefined set of widget regions */ From 96a4fc4e5b7852c98e17a1e5e067d0bdab1e9f75 Mon Sep 17 00:00:00 2001 From: William Jon McCann Date: Fri, 10 Dec 2010 01:27:55 -0500 Subject: [PATCH 0479/1463] Update about dialog design to not use a swarm of dialogs This is a modernization of the GtkAboutDialog look done by William Jon McCann. The most noteworthy changes are: - no more subdialogs - show license short text in the main dialog - less verbose email link formatting - the dialog is modal to its transient parent --- gtk/gtkaboutdialog.c | 547 +++++++++++++++++++++++++++---------------- 1 file changed, 349 insertions(+), 198 deletions(-) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 677f16acb9..4844ed792d 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -35,15 +35,18 @@ #include #include "gtkaboutdialog.h" +#include "gtkalignment.h" #include "gtkbutton.h" #include "gtkbbox.h" #include "gtkdialog.h" +#include "gtkgrid.h" #include "gtkhbox.h" #include "gtkimage.h" #include "gtklabel.h" #include "gtklinkbutton.h" #include "gtkmarshalers.h" #include "gtknotebook.h" +#include "gtkorientable.h" #include "gtkscrolledwindow.h" #include "gtkstock.h" #include "gtktextview.h" @@ -52,6 +55,7 @@ #include "gtkshow.h" #include "gtkmain.h" #include "gtkmessagedialog.h" +#include "gtktogglebutton.h" #include "gtkprivate.h" #include "gtkintl.h" @@ -98,7 +102,7 @@ static GdkColor default_visited_link_color = { 0, 0x5555, 0x1a1a, 0x8b8b }; /* Translators: this is the license preamble; the string at the end * contains the URL of the license. */ -static const gchar *gtk_license_preamble = N_("This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s"); +static const gchar *gtk_license_preamble = N_("This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s"); /* URLs for each GtkLicense type; keep in the same order as the enumeration */ static const gchar *gtk_license_urls[] = { @@ -132,16 +136,20 @@ struct _GtkAboutDialogPrivate gchar **documenters; gchar **artists; + gint credits_page; + gint license_page; + + GtkWidget *notebook; GtkWidget *logo_image; GtkWidget *name_label; + GtkWidget *version_label; GtkWidget *comments_label; GtkWidget *copyright_label; + GtkWidget *license_label; GtkWidget *website_label; GtkWidget *credits_button; - GtkWidget *credits_dialog; GtkWidget *license_button; - GtkWidget *license_dialog; GdkCursor *hand_cursor; GdkCursor *regular_cursor; @@ -197,9 +205,9 @@ static void set_cursor_if_appropriate (GtkAboutDialog GdkDevice *device, gint x, gint y); -static void display_credits_dialog (GtkWidget *button, +static void display_credits_page (GtkWidget *button, gpointer data); -static void display_license_dialog (GtkWidget *button, +static void display_license_page (GtkWidget *button, gpointer data); static void close_cb (GtkAboutDialog *about); static gboolean gtk_about_dialog_activate_link (GtkAboutDialog *about, @@ -533,12 +541,100 @@ emit_activate_link (GtkAboutDialog *about, return TRUE; } +static void +update_license_button_visibility (GtkAboutDialog *about) +{ + GtkAboutDialogPrivate *priv = about->priv; + + if (priv->license_type == GTK_LICENSE_CUSTOM && priv->license != NULL) + gtk_widget_show (priv->license_button); + else + gtk_widget_hide (priv->license_button); +} + +static void +update_credits_button_visibility (GtkAboutDialog *about) +{ + GtkAboutDialogPrivate *priv = about->priv; + gboolean show; + + show = (priv->authors != NULL || + priv->documenters != NULL || + priv->artists != NULL || + (priv->translator_credits != NULL && + strcmp (priv->translator_credits, "translator_credits") && + strcmp (priv->translator_credits, "translator-credits"))); + if (show) + gtk_widget_show (priv->credits_button); + else + gtk_widget_hide (priv->credits_button); +} + +static void +switch_page (GtkAboutDialog *about, + gint page) +{ + GtkAboutDialogPrivate *priv = about->priv; + + gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->notebook), page); +} + +static void +display_main_page (GtkButton *button, + gpointer data) +{ + GtkAboutDialog *about = (GtkAboutDialog *)data; + + switch_page (about, 0); +} + +static void +credits_button_clicked (GtkButton *button, + gpointer data) +{ + GtkAboutDialog *about = (GtkAboutDialog *)data; + GtkAboutDialogPrivate *priv = about->priv; + gboolean active; + + active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); + + if (active) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->license_button), FALSE); + display_credits_page (NULL, data); + } + else + { + display_main_page (NULL, data); + } +} + +static void +license_button_clicked (GtkButton *button, + gpointer data) +{ + GtkAboutDialog *about = (GtkAboutDialog *)data; + GtkAboutDialogPrivate *priv = about->priv; + gboolean active; + + active = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); + + if (active) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->credits_button), FALSE); + display_license_page (NULL, data); + } + else + { + display_main_page (NULL, data); + } +} static void gtk_about_dialog_init (GtkAboutDialog *about) { GtkDialog *dialog = GTK_DIALOG (about); GtkAboutDialogPrivate *priv; - GtkWidget *vbox, *hbox, *button, *close_button, *image; + GtkWidget *vbox, *page_vbox, *hbox, *button, *close_button, *image; GtkWidget *content_area, *action_area; /* Data */ @@ -574,7 +670,7 @@ gtk_about_dialog_init (GtkAboutDialog *about) /* Widgets */ gtk_widget_push_composite_child (); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); gtk_container_set_border_width (GTK_CONTAINER (vbox), 5); gtk_box_pack_start (GTK_BOX (content_area), vbox, TRUE, TRUE, 0); @@ -586,20 +682,30 @@ gtk_about_dialog_init (GtkAboutDialog *about) gtk_label_set_justify (GTK_LABEL (priv->name_label), GTK_JUSTIFY_CENTER); gtk_box_pack_start (GTK_BOX (vbox), priv->name_label, FALSE, FALSE, 0); + priv->notebook = gtk_notebook_new (); + gtk_box_pack_start (GTK_BOX (vbox), priv->notebook, TRUE, TRUE, 0); + gtk_widget_set_size_request (priv->notebook, 400, 100); + + page_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); + gtk_widget_show (page_vbox); + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), FALSE); + gtk_notebook_set_show_border (GTK_NOTEBOOK (priv->notebook), FALSE); + gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), page_vbox, NULL); + + priv->version_label = gtk_label_new (NULL); + gtk_label_set_selectable (GTK_LABEL (priv->version_label), TRUE); + gtk_label_set_justify (GTK_LABEL (priv->version_label), GTK_JUSTIFY_CENTER); + gtk_box_pack_start (GTK_BOX (page_vbox), priv->version_label, FALSE, FALSE, 0); + priv->comments_label = gtk_label_new (NULL); gtk_label_set_selectable (GTK_LABEL (priv->comments_label), TRUE); gtk_label_set_justify (GTK_LABEL (priv->comments_label), GTK_JUSTIFY_CENTER); gtk_label_set_line_wrap (GTK_LABEL (priv->comments_label), TRUE); - gtk_box_pack_start (GTK_BOX (vbox), priv->comments_label, FALSE, FALSE, 0); - - priv->copyright_label = gtk_label_new (NULL); - gtk_label_set_selectable (GTK_LABEL (priv->copyright_label), TRUE); - gtk_label_set_justify (GTK_LABEL (priv->copyright_label), GTK_JUSTIFY_CENTER); - gtk_box_pack_start (GTK_BOX (vbox), priv->copyright_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (page_vbox), priv->comments_label, FALSE, FALSE, 0); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_set_homogeneous (GTK_BOX (hbox), TRUE); - gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (page_vbox), hbox, FALSE, FALSE, 0); priv->website_label = button = gtk_label_new (""); gtk_widget_set_no_show_all (button, TRUE); @@ -608,7 +714,20 @@ gtk_about_dialog_init (GtkAboutDialog *about) g_signal_connect_swapped (button, "activate-link", G_CALLBACK (emit_activate_link), about); + priv->license_label = gtk_label_new (NULL); + gtk_label_set_use_markup (GTK_LABEL (priv->license_label), TRUE); + gtk_label_set_selectable (GTK_LABEL (priv->license_label), TRUE); + gtk_label_set_justify (GTK_LABEL (priv->license_label), GTK_JUSTIFY_CENTER); + gtk_box_pack_end (GTK_BOX (page_vbox), priv->license_label, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (priv->license_label), TRUE); + + priv->copyright_label = gtk_label_new (NULL); + gtk_label_set_selectable (GTK_LABEL (priv->copyright_label), TRUE); + gtk_label_set_justify (GTK_LABEL (priv->copyright_label), GTK_JUSTIFY_CENTER); + gtk_box_pack_end (GTK_BOX (page_vbox), priv->copyright_label, FALSE, FALSE, 0); + gtk_widget_show (vbox); + gtk_widget_show (priv->notebook); gtk_widget_show (priv->logo_image); gtk_widget_show (priv->name_label); gtk_widget_show (hbox); @@ -619,30 +738,30 @@ gtk_about_dialog_init (GtkAboutDialog *about) gtk_dialog_set_default_response (GTK_DIALOG (about), GTK_RESPONSE_CANCEL); /* Add the credits button */ - button = gtk_button_new_with_mnemonic (_("C_redits")); + button = gtk_toggle_button_new_with_mnemonic (_("C_redits")); gtk_widget_set_can_default (button, TRUE); image = gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON); gtk_button_set_image (GTK_BUTTON (button), image); gtk_widget_set_no_show_all (button, TRUE); - gtk_box_pack_end (GTK_BOX (action_area), - button, FALSE, TRUE, 0); + gtk_box_pack_end (GTK_BOX (action_area), button, FALSE, TRUE, 0); gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (action_area), button, TRUE); g_signal_connect (button, "clicked", - G_CALLBACK (display_credits_dialog), about); + G_CALLBACK (credits_button_clicked), about); priv->credits_button = button; - priv->credits_dialog = NULL; + priv->credits_page = 0; /* Add the license button */ - button = gtk_button_new_from_stock (_("_License")); + button = gtk_toggle_button_new_with_mnemonic (_("_License")); gtk_widget_set_can_default (button, TRUE); gtk_widget_set_no_show_all (button, TRUE); - gtk_box_pack_end (GTK_BOX (action_area), - button, FALSE, TRUE, 0); + gtk_box_pack_end (GTK_BOX (action_area), button, FALSE, TRUE, 0); gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (action_area), button, TRUE); g_signal_connect (button, "clicked", - G_CALLBACK (display_license_dialog), about); + G_CALLBACK (license_button_clicked), about); priv->license_button = button; - priv->license_dialog = NULL; + priv->license_page = 0; + + switch_page (about, 0); gtk_window_set_resizable (GTK_WINDOW (about), FALSE); @@ -874,7 +993,7 @@ update_website (GtkAboutDialog *about) else { markup = g_strdup_printf ("%s", - priv->website_url, priv->website_url); + priv->website_url, _("Homepage")); } gtk_label_set_markup (GTK_LABEL (priv->website_label), markup); @@ -935,14 +1054,16 @@ update_name_version (GtkAboutDialog *about) g_free (title_string); if (priv->version != NULL) - name_string = g_markup_printf_escaped ("%s %s", - priv->name, priv->version); + { + gtk_label_set_markup (GTK_LABEL (priv->version_label), priv->version); + gtk_widget_show (priv->version_label); + } else - name_string = g_markup_printf_escaped ("%s", - priv->name); + gtk_widget_hide (priv->version_label); + name_string = g_markup_printf_escaped ("%s", + priv->name); gtk_label_set_markup (GTK_LABEL (priv->name_label), name_string); - g_free (name_string); } @@ -1187,16 +1308,18 @@ gtk_about_dialog_set_license (GtkAboutDialog *about, { priv->license = g_strdup (license); priv->license_type = GTK_LICENSE_CUSTOM; - gtk_widget_show (priv->license_button); } else { priv->license = NULL; priv->license_type = GTK_LICENSE_UNKNOWN; - gtk_widget_hide (priv->license_button); } g_free (tmp); + gtk_widget_hide (priv->license_label); + + update_license_button_visibility (about); + g_object_notify (G_OBJECT (about), "license"); g_object_notify (G_OBJECT (about), "license-type"); } @@ -1380,24 +1503,6 @@ gtk_about_dialog_get_authors (GtkAboutDialog *about) return (const gchar * const *) priv->authors; } -static void -update_credits_button_visibility (GtkAboutDialog *about) -{ - GtkAboutDialogPrivate *priv = about->priv; - gboolean show; - - show = priv->authors != NULL || - priv->documenters != NULL || - priv->artists != NULL || - (priv->translator_credits != NULL && - strcmp (priv->translator_credits, "translator_credits") && - strcmp (priv->translator_credits, "translator-credits")); - if (show) - gtk_widget_show (priv->credits_button); - else - gtk_widget_hide (priv->credits_button); -} - /** * gtk_about_dialog_set_authors: * @about: a #GtkAboutDialog @@ -1955,7 +2060,6 @@ text_view_visibility_notify_event (GtkWidget *text_view, static GtkWidget * text_view_new (GtkAboutDialog *about, - GtkWidget *dialog, gchar **strings, GtkWrapMode wrap_mode) { @@ -1969,6 +2073,8 @@ text_view_new (GtkAboutDialog *about, GdkColor color; GdkColor link_color; GdkColor visited_link_color; + gint size; + PangoFontDescription *font_desc; GtkAboutDialogPrivate *priv = about->priv; @@ -2000,6 +2106,12 @@ text_view_new (GtkAboutDialog *about, gtk_text_view_set_editable (text_view, FALSE); gtk_text_view_set_wrap_mode (text_view, wrap_mode); + size = pango_font_description_get_size (gtk_widget_get_style (view)->font_desc); + font_desc = pango_font_description_new (); + pango_font_description_set_size (font_desc, size * PANGO_SCALE_SMALL); + gtk_widget_modify_font (view, font_desc); + pango_font_description_free (font_desc); + gtk_text_view_set_left_margin (text_view, 8); gtk_text_view_set_right_margin (text_view, 8); @@ -2051,7 +2163,7 @@ text_view_new (GtkAboutDialog *about, if (*q1 == '<') { - gtk_text_buffer_insert_at_cursor (buffer, q0, (q1 - q0) + 1); + gtk_text_buffer_insert_at_cursor (buffer, q0, q1 - q0 + 1); gtk_text_buffer_get_end_iter (buffer, &end); q1++; link_type = "email"; @@ -2109,81 +2221,153 @@ text_view_new (GtkAboutDialog *about, } static void -add_credits_page (GtkAboutDialog *about, - GtkWidget *credits_dialog, - GtkWidget *notebook, - gchar *title, - gchar **people) +add_credits_section (GtkAboutDialog *about, + GtkGrid *grid, + gint *row, + gchar *title, + gchar **people) { - GtkWidget *sw, *view; + GtkWidget *label; + gchar *markup; + gchar **p; + gchar *q0, *q1, *q2, *r1, *r2; - view = text_view_new (about, credits_dialog, people, GTK_WRAP_NONE); + if (people == NULL) + return; - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), - GTK_SHADOW_IN); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (sw), view); + markup = g_strdup_printf ("%s", title); + label = gtk_label_new (markup); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + g_free (markup); + gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5); + gtk_grid_attach (grid, label, 0, *row, 1, 1); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), - sw, gtk_label_new (title)); + for (p = people; *p; p++) + { + GString *str; + + str = g_string_new (""); + + q0 = *p; + while (*q0) + { + q1 = strchr (q0, '<'); + q2 = q1 ? strchr (q1, '>') : NULL; + r1 = strstr (q0, "http://"); + if (r1) + { + r2 = strpbrk (r1, " \n\t"); + if (!r2) + r2 = strchr (r1, '\0'); + } + else + r2 = NULL; + + if (r1 && r2 && (!q1 || !q2 || (r1 < q1))) + { + q1 = r1; + q2 = r2; + } + else if (q1 && (q1[1] == 'a' || q1[1] == 'A') && q1[2] == ' ') + { + /* if it is a link leave it for the label to parse */ + q1 = NULL; + } + + if (q1 && q2) + { + gchar *link; + gchar *text; + + if (*q1 == '<') + { + /* email */ + gchar *escaped; + + text = g_strstrip (g_strndup (q0, q1 - q0)); + q1++; + link = g_strndup (q1, q2 - q1); + q2++; + escaped = g_uri_escape_string (link, NULL, FALSE); + g_string_append_printf (str, + "%s", + escaped, + text); + g_free (escaped); + g_free (link); + g_free (text); + } + else + { + /* uri */ + text = g_strstrip (g_strndup (q0, q1 - q0)); + link = g_strndup (q1, q2 - q1); + g_string_append_printf (str, + "%s", + link, + text); + g_free (link); + g_free (text); + } + + q0 = q2; + } + else + { + g_string_append (str, q0); + break; + } + } + g_string_append (str, ""); + + label = gtk_label_new (str->str); + gtk_label_set_use_markup (GTK_LABEL (label), TRUE); + g_string_free (str, TRUE); + gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); + gtk_grid_attach (grid, label, 1, *row, 1, 1); + (*row)++; + } + + /* skip one at the end */ + (*row)++; } static void -display_credits_dialog (GtkWidget *button, - gpointer data) +create_credits_page (GtkAboutDialog *about) { - GtkAboutDialog *about = (GtkAboutDialog *)data; GtkAboutDialogPrivate *priv = about->priv; - GtkWidget *dialog, *notebook; - GtkDialog *credits_dialog; - GtkWidget *content_area; - GtkWidget *action_area; + GtkWidget *page_vbox; + GtkWidget *sw; + GtkWidget *grid; + GtkWidget *alignment; + gint row; - if (priv->credits_dialog != NULL) - { - gtk_window_present (GTK_WINDOW (priv->credits_dialog)); - return; - } + page_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); + gtk_widget_show (page_vbox); + priv->credits_page = gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), page_vbox, NULL); - dialog = gtk_dialog_new_with_buttons (_("Credits"), - GTK_WINDOW (about), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL, - NULL); - credits_dialog = GTK_DIALOG (dialog); + sw = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_NONE); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + gtk_box_pack_start (GTK_BOX (page_vbox), sw, TRUE, TRUE, 0); - content_area = gtk_dialog_get_content_area (credits_dialog); - action_area = gtk_dialog_get_action_area (credits_dialog); + alignment = gtk_alignment_new (0.5, 0, 0, 0); + gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sw), alignment); - gtk_container_set_border_width (GTK_CONTAINER (credits_dialog), 5); - gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */ - gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); - - priv->credits_dialog = dialog; - gtk_window_set_default_size (GTK_WINDOW (dialog), 360, 260); - gtk_dialog_set_default_response (credits_dialog, GTK_RESPONSE_CANCEL); - - gtk_window_set_modal (GTK_WINDOW (dialog), - gtk_window_get_modal (GTK_WINDOW (about))); - - g_signal_connect (dialog, "response", - G_CALLBACK (gtk_widget_destroy), dialog); - g_signal_connect (dialog, "destroy", - G_CALLBACK (gtk_widget_destroyed), - &(priv->credits_dialog)); - - notebook = gtk_notebook_new (); - gtk_container_set_border_width (GTK_CONTAINER (notebook), 5); - gtk_box_pack_start (GTK_BOX (content_area), notebook, TRUE, TRUE, 0); + grid = gtk_grid_new (); + gtk_container_set_border_width (GTK_CONTAINER (grid), 5); + gtk_orientable_set_orientation (GTK_ORIENTABLE (grid), GTK_ORIENTATION_VERTICAL); + gtk_grid_set_column_spacing (GTK_GRID (grid), 2); + gtk_grid_set_row_spacing (GTK_GRID (grid), 12); + gtk_container_add (GTK_CONTAINER (alignment), grid); if (priv->authors != NULL) - add_credits_page (about, dialog, notebook, _("Written by"), priv->authors); + add_credits_section (about, GTK_GRID (grid), &row, _("Created by"), priv->authors); if (priv->documenters != NULL) - add_credits_page (about, dialog, notebook, _("Documented by"), priv->documenters); + add_credits_section (about, GTK_GRID (grid), &row, _("Documented by"), priv->documenters); /* Don't show an untranslated gettext msgid */ if (priv->translator_credits != NULL && @@ -2195,86 +2379,68 @@ display_credits_dialog (GtkWidget *button, translators[0] = priv->translator_credits; translators[1] = NULL; - add_credits_page (about, dialog, notebook, _("Translated by"), translators); + add_credits_section (about, GTK_GRID (grid), &row, _("Translated by"), translators); } if (priv->artists != NULL) - add_credits_page (about, dialog, notebook, _("Artwork by"), priv->artists); + add_credits_section (about, GTK_GRID (grid), &row, _("Artwork by"), priv->artists); - gtk_widget_show_all (dialog); + gtk_widget_show_all (sw); } static void -set_policy (GtkWidget *sw) -{ - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); -} - -static void -display_license_dialog (GtkWidget *button, - gpointer data) +display_credits_page (GtkWidget *button, + gpointer data) { GtkAboutDialog *about = (GtkAboutDialog *)data; GtkAboutDialogPrivate *priv = about->priv; - GtkWidget *dialog, *view, *sw; - GtkDialog *license_dialog; - GtkWidget *content_area; - GtkWidget *action_area; + + if (priv->credits_page == 0) + create_credits_page (about); + + switch_page (about, priv->credits_page); +} + +static void +create_license_page (GtkAboutDialog *about) +{ + GtkAboutDialogPrivate *priv = about->priv; + GtkWidget *page_vbox; + GtkWidget *sw; + GtkWidget *view; gchar *strings[2]; - if (priv->license_dialog != NULL) - { - gtk_window_present (GTK_WINDOW (priv->license_dialog)); - return; - } - - dialog = gtk_dialog_new_with_buttons (_("License"), - GTK_WINDOW (about), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL, - NULL); - license_dialog = GTK_DIALOG (dialog); - - content_area = gtk_dialog_get_content_area (license_dialog); - action_area = gtk_dialog_get_action_area (license_dialog); - - gtk_container_set_border_width (GTK_CONTAINER (license_dialog), 5); - gtk_box_set_spacing (GTK_BOX (content_area), 2); /* 2 * 5 + 2 = 12 */ - gtk_container_set_border_width (GTK_CONTAINER (action_area), 5); - - priv->license_dialog = dialog; - gtk_window_set_default_size (GTK_WINDOW (dialog), 420, 320); - gtk_dialog_set_default_response (license_dialog, GTK_RESPONSE_CANCEL); - - gtk_window_set_modal (GTK_WINDOW (dialog), - gtk_window_get_modal (GTK_WINDOW (about))); - - g_signal_connect (dialog, "response", - G_CALLBACK (gtk_widget_destroy), dialog); - g_signal_connect (dialog, "destroy", - G_CALLBACK (gtk_widget_destroyed), - &(priv->license_dialog)); + page_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); + priv->license_page = gtk_notebook_append_page (GTK_NOTEBOOK (priv->notebook), page_vbox, NULL); sw = gtk_scrolled_window_new (NULL, NULL); gtk_container_set_border_width (GTK_CONTAINER (sw), 5); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), - GTK_SHADOW_IN); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_IN); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), - GTK_POLICY_NEVER, - GTK_POLICY_AUTOMATIC); - g_signal_connect (sw, "map", G_CALLBACK (set_policy), NULL); - gtk_box_pack_start (GTK_BOX (content_area), sw, TRUE, TRUE, 0); + GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); + gtk_box_pack_start (GTK_BOX (page_vbox), sw, TRUE, TRUE, 0); strings[0] = priv->license; strings[1] = NULL; - view = text_view_new (about, dialog, strings, + view = text_view_new (about, strings, priv->wrap_license ? GTK_WRAP_WORD : GTK_WRAP_NONE); gtk_container_add (GTK_CONTAINER (sw), view); - gtk_widget_show_all (dialog); + gtk_widget_show_all (page_vbox); +} + +static void +display_license_page (GtkWidget *button, + gpointer data) +{ + GtkAboutDialog *about = (GtkAboutDialog *)data; + GtkAboutDialogPrivate *priv = about->priv; + + if (priv->license_page == 0) + create_license_page (about); + + switch_page (about, priv->license_page); } /** @@ -2297,22 +2463,8 @@ gtk_about_dialog_new (void) static void close_cb (GtkAboutDialog *about) { - GtkAboutDialogPrivate *priv = about->priv; - - if (priv->license_dialog != NULL) - { - gtk_widget_destroy (priv->license_dialog); - priv->license_dialog = NULL; - } - - if (priv->credits_dialog != NULL) - { - gtk_widget_destroy (priv->credits_dialog); - priv->credits_dialog = NULL; - } - + switch_page (about, 0); gtk_widget_hide (GTK_WIDGET (about)); - } /** @@ -2360,6 +2512,7 @@ gtk_show_about_dialog (GtkWindow *parent, if (parent) { + gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); gtk_window_set_transient_for (GTK_WINDOW (dialog), parent); gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE); g_object_set_data_full (G_OBJECT (parent), @@ -2409,37 +2562,35 @@ gtk_about_dialog_set_license_type (GtkAboutDialog *about, if (priv->license_type != GTK_LICENSE_CUSTOM) { const gchar *url; + gchar *license_string; GString *str; url = gtk_license_urls[priv->license_type]; if (url == NULL) url = priv->website_url; - /* compose the new license string as: - * - * \n - * \n - * ... - * \n - * \n - * license preamble + URL - * - */ str = g_string_sized_new (256); - g_string_append (str, priv->name); - g_string_append (str, "\n"); - g_string_append (str, priv->copyright); - g_string_append (str, "\n\n"); - g_string_append_printf (str, _(gtk_license_preamble), url); + g_string_append_printf (str, _(gtk_license_preamble), url, url); g_free (priv->license); priv->license = g_string_free (str, FALSE); priv->wrap_license = TRUE; - gtk_widget_show (priv->license_button); + + license_string = g_strdup_printf ("%s", + priv->license); + gtk_label_set_markup (GTK_LABEL (priv->license_label), license_string); + g_free (license_string); + gtk_widget_show (priv->license_label); + + update_license_button_visibility (about); g_object_notify (G_OBJECT (about), "wrap-license"); g_object_notify (G_OBJECT (about), "license"); } + else + { + gtk_widget_show (priv->license_label); + } g_object_notify (G_OBJECT (about), "license-type"); From 8ca6bbbfc0c960871ca0b191681552d09462f837 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 14 Dec 2010 15:52:40 +0900 Subject: [PATCH 0480/1463] Make GtkCellArea independantly GtkBuildable. Simply use the GtkCellLayoutIface hooks for this. --- gtk/gtkcellarea.c | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 59a1d015d4..079ab56afe 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -425,7 +425,15 @@ static void gtk_cell_area_reorder (GtkCellLayout GtkCellRenderer *cell, gint position); static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); +static GtkCellArea *gtk_cell_area_get_area (GtkCellLayout *cell_layout); +/* GtkBuildableIface */ +static void gtk_cell_area_buildable_init (GtkBuildableIface *iface); +static void gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data); /* Used in foreach loop to check if a child renderer is present */ typedef struct { @@ -560,10 +568,11 @@ static guint cell_area_signals[LAST_SIGNAL] = { 0 }; #define PARAM_SPEC_PARAM_ID(pspec) ((pspec)->param_id) #define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id)) - G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, - gtk_cell_area_cell_layout_init)); + gtk_cell_area_cell_layout_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_cell_area_buildable_init)) static void gtk_cell_area_init (GtkCellArea *area) @@ -1328,6 +1337,7 @@ gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface) iface->clear_attributes = gtk_cell_area_clear_attributes; iface->reorder = gtk_cell_area_reorder; iface->get_cells = gtk_cell_area_get_cells; + iface->get_area = gtk_cell_area_get_area; } static void @@ -1452,6 +1462,33 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) return g_list_reverse (cells); } +static GtkCellArea * +gtk_cell_area_get_area (GtkCellLayout *cell_layout) +{ + return GTK_CELL_AREA (cell_layout); +} + +/************************************************************* + * GtkBuildableIface * + *************************************************************/ +static void +gtk_cell_area_buildable_init (GtkBuildableIface *iface) +{ + iface->add_child = _gtk_cell_layout_buildable_add_child; + iface->custom_tag_start = _gtk_cell_layout_buildable_custom_tag_start; + iface->custom_tag_end = gtk_cell_area_buildable_custom_tag_end; +} + +static void +gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) +{ + /* Just ignore the boolean return from here */ + _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data); +} /************************************************************* * API * From 9929743f24d0c3611b9f388677125ee261c31c81 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 14 Dec 2010 21:10:22 +0100 Subject: [PATCH 0481/1463] docs: Redo drawing area drawing docs They don't seem to have been updated for a long time... --- docs/reference/gtk/tmpl/gtkdrawingarea.sgml | 49 ++++++++++++--------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml index 2ec329cc83..ae46d2bc54 100644 --- a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml +++ b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml @@ -35,8 +35,8 @@ the application may want to connect to: - The "expose_event" signal to handle redrawing the - contents of the widget. + The "draw" signal to handle redrawing the contents of the + widget. @@ -53,40 +53,47 @@ that drawing is implicitly clipped to the exposed area. Simple <structname>GtkDrawingArea</structname> usage. gboolean -expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) +draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) { - cairo_t *cr; - - cr = gdk_cairo_create (event->window); + guint width, height; + GdkRGBA color; - cairo_set_source_rgb (cr, 0.0, 0.0, 1.0); - cairo_paint (cr); + width = gtk_widget_get_allocated_width (widget); + height = gtk_widget_get_allocated_height (widget); + cairo_arc (cr, + width / 2.0, height / 2.0, + MIN (width, height) / 2.0, + 0, 2 * G_PI); - cairo_destroy (cr); - - return TRUE; + gtk_style_context_get_color (gtk_widget_get_style_context (widget), + 0, + &color); + gdk_cairo_set_source_rgba (cr, &color); + + cairo_fill (cr); + + return FALSE; } [...] GtkWidget *drawing_area = gtk_drawing_area_new (); gtk_widget_set_size_request (drawing_area, 100, 100); - g_signal_connect (G_OBJECT (drawing_area), "expose_event", - G_CALLBACK (expose_event_callback), NULL); + g_signal_connect (G_OBJECT (drawing_area), "draw", + G_CALLBACK (draw_callback), NULL); -Expose events are normally delivered when a drawing area first comes -onscreen, or when it's covered by another window and then uncovered -(exposed). You can also force an expose event by adding to the "damage -region" of the drawing area's window; gtk_widget_queue_draw_area() and -gdk_window_invalidate_rect() are equally good ways to do this. You'll -then get an expose event for the invalid region. +Draw signals are normally delivered when a drawing area first comes +onscreen, or when it's covered by another window and then uncovered. +You can also force a redraw by adding to the "damage region" of the +drawing area's window; use gtk_widget_queue_draw_area() to do this. +You'll then get a draw event for the invalid region. The available routines for drawing are documented on the GDK Drawing Primitives page. -See also gdk_draw_pixbuf() for drawing a #GdkPixbuf. +linkend="gdk3-Cairo-Interaction">GDK Drawing Primitives page +and the cairo documentation. From 02f92f29d5f8a3dbb8634816970da9cfa39f6095 Mon Sep 17 00:00:00 2001 From: Diego Escalante Urrelo Date: Tue, 14 Dec 2010 15:46:51 -0500 Subject: [PATCH 0482/1463] gtkstylecontext: fix typos in annotations Fixes Bug #637256 --- gtk/gtkstylecontext.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 27f7efb65b..3abea8b12f 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3256,7 +3256,7 @@ gtk_style_context_get_border_color (GtkStyleContext *context, * gtk_style_context_get_border: * @context: a #GtkStyleContext * @state: state to retrieve the border for - * @color: (out): return value for the border settings + * @border: (out): return value for the border settings * * Gets the border for a given state as a #GtkBorder. * @@ -3288,7 +3288,7 @@ gtk_style_context_get_border (GtkStyleContext *context, * gtk_style_context_get_padding: * @context: a #GtkStyleContext * @state: state to retrieve the padding for - * @color: (out): return value for the padding settings + * @padding: (out): return value for the padding settings * * Gets the padding for a given state as a #GtkBorder. * @@ -3320,7 +3320,7 @@ gtk_style_context_get_padding (GtkStyleContext *context, * gtk_style_context_get_margin: * @context: a #GtkStyleContext * @state: state to retrieve the border for - * @color: (out): return value for the margin settings + * @margin: (out): return value for the margin settings * * Gets the margin for a given state as a #GtkBorder. * From b0560107e9a20811955f862a30186b727a89c351 Mon Sep 17 00:00:00 2001 From: Diego Escalante Urrelo Date: Tue, 14 Dec 2010 12:22:35 -0500 Subject: [PATCH 0483/1463] docs: fix link failure on gtk-doc scanner binaries Bug #637243 --- docs/reference/gdk/Makefile.am | 3 +-- docs/reference/gtk/Makefile.am | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am index 3015baa9fa..0f7dab671c 100644 --- a/docs/reference/gdk/Makefile.am +++ b/docs/reference/gdk/Makefile.am @@ -45,8 +45,7 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) \ $(GDK_DEP_CFLAGS) -GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib) - +GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib) $(GDK_DEP_LIBS) # Extra options to supply to gtkdoc-mkdb MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gdk diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 94231fed3e..85bec08a32 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -108,7 +108,8 @@ CPPFLAGS += \ GTKDOC_LIBS = \ $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gtk/$(gtktargetlib) \ + $(GTK_DEP_LIBS) # Extra options to supply to gtkdoc-mkdb From 66800aa212b3b086996d5a22f4eca151b679f309 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 14 Dec 2010 20:26:52 +0100 Subject: [PATCH 0484/1463] Make GtkTextView use GtkStyleContext GtkTextAppearance still uses GdkColors, even though it could switch to GdkRGBA with little hassle as it seems sheldomly used out there. --- gtk/gtkstylecontext.h | 7 +++ gtk/gtktextview.c | 139 +++++++++++++++++++++++++----------------- 2 files changed, 90 insertions(+), 56 deletions(-) diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 5ea5d2b412..80d5abca21 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -330,6 +330,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_NOTEBOOK "notebook" +/** + * GTK_STYLE_CLASS_VIEW: + * + * A widget class defining a view, such as iconviews or treeviews + */ +#define GTK_STYLE_CLASS_VIEW "view" + /** * GTK_STYLE_CLASS_INFO: * diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 0a49786b83..1696c705fb 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -304,14 +304,13 @@ static void gtk_text_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_text_view_realize (GtkWidget *widget); static void gtk_text_view_unrealize (GtkWidget *widget); -static void gtk_text_view_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_text_view_style_updated (GtkWidget *widget); static void gtk_text_view_direction_changed (GtkWidget *widget, GtkTextDirection previous_direction); static void gtk_text_view_grab_notify (GtkWidget *widget, gboolean was_grabbed); -static void gtk_text_view_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_text_view_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static gint gtk_text_view_event (GtkWidget *widget, GdkEvent *event); @@ -409,8 +408,7 @@ static void gtk_text_view_get_first_para_iter (GtkTextView *text_vi GtkTextIter *iter); static void gtk_text_view_update_layout_width (GtkTextView *text_view); static void gtk_text_view_set_attributes_from_style (GtkTextView *text_view, - GtkTextAttributes *values, - GtkStyle *style); + GtkTextAttributes *values); static void gtk_text_view_ensure_layout (GtkTextView *text_view); static void gtk_text_view_destroy_layout (GtkTextView *text_view); static void gtk_text_view_check_keymap_direction (GtkTextView *text_view); @@ -603,10 +601,10 @@ gtk_text_view_class_init (GtkTextViewClass *klass) widget_class->destroy = gtk_text_view_destroy; widget_class->realize = gtk_text_view_realize; widget_class->unrealize = gtk_text_view_unrealize; - widget_class->style_set = gtk_text_view_style_set; + widget_class->style_updated = gtk_text_view_style_updated; widget_class->direction_changed = gtk_text_view_direction_changed; widget_class->grab_notify = gtk_text_view_grab_notify; - widget_class->state_changed = gtk_text_view_state_changed; + widget_class->state_flags_changed = gtk_text_view_state_flags_changed; widget_class->get_preferred_width = gtk_text_view_get_preferred_width; widget_class->get_preferred_height = gtk_text_view_get_preferred_height; widget_class->size_allocate = gtk_text_view_size_allocate; @@ -3949,11 +3947,14 @@ gtk_text_view_realize (GtkWidget *widget) GtkAllocation allocation; GtkTextView *text_view; GtkTextViewPrivate *priv; + GtkStyleContext *context; + GtkStateFlags state; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; GSList *tmp_list; - + GdkRGBA color; + text_view = GTK_TEXT_VIEW (widget); priv = text_view->priv; @@ -3977,11 +3978,11 @@ gtk_text_view_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); - /* must come before text_window_realize calls */ - gtk_widget_style_attach (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - gdk_window_set_background (window, - >k_widget_get_style (widget)->bg[gtk_widget_get_state (widget)]); + gtk_style_context_get_background_color (context, state, &color); + gdk_window_set_background_rgba (window, &color); text_window_realize (priv->text_window, widget); @@ -4066,42 +4067,47 @@ gtk_text_view_unrealize (GtkWidget *widget) static void gtk_text_view_set_background (GtkTextView *text_view) { - GtkStyle *style; - GtkStateType state; + GtkStyleContext *context; + GtkStateFlags state; GtkWidget *widget; GtkTextViewPrivate *priv; + GdkRGBA color; widget = GTK_WIDGET (text_view); priv = text_view->priv; - style = gtk_widget_get_style (widget); - state = gtk_widget_get_state (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - gdk_window_set_background (gtk_widget_get_window (widget), - &style->bg[state]); + /* Set bin window background */ + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); - gdk_window_set_background (priv->text_window->bin_window, - &style->base[state]); + gtk_style_context_get_background_color (context, state, &color); + gdk_window_set_background_rgba (priv->text_window->bin_window, &color); + + gtk_style_context_restore (context); + + /* Set lateral panes background */ + gtk_style_context_get_background_color (context, state, &color); + + gdk_window_set_background_rgba (gtk_widget_get_window (widget), &color); if (priv->left_window) - gdk_window_set_background (priv->left_window->bin_window, - &style->bg[state]); + gdk_window_set_background_rgba (priv->left_window->bin_window, &color); + if (priv->right_window) - gdk_window_set_background (priv->right_window->bin_window, - &style->bg[state]); + gdk_window_set_background_rgba (priv->right_window->bin_window, &color); if (priv->top_window) - gdk_window_set_background (priv->top_window->bin_window, - &style->bg[state]); + gdk_window_set_background_rgba (priv->top_window->bin_window, &color); if (priv->bottom_window) - gdk_window_set_background (priv->bottom_window->bin_window, - &style->bg[state]); + gdk_window_set_background_rgba (priv->bottom_window->bin_window, &color); } static void -gtk_text_view_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_text_view_style_updated (GtkWidget *widget) { GtkTextView *text_view; GtkTextViewPrivate *priv; @@ -4115,11 +4121,10 @@ gtk_text_view_style_set (GtkWidget *widget, gtk_text_view_set_background (text_view); } - if (priv->layout && previous_style) + if (priv->layout && priv->layout->default_style) { gtk_text_view_set_attributes_from_style (text_view, - priv->layout->default_style, - gtk_widget_get_style (widget)); + priv->layout->default_style); ltr_context = gtk_widget_create_pango_context (widget); pango_context_set_base_dir (ltr_context, PANGO_DIRECTION_LTR); @@ -4148,8 +4153,8 @@ gtk_text_view_direction_changed (GtkWidget *widget, } static void -gtk_text_view_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_text_view_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { GtkTextView *text_view = GTK_TEXT_VIEW (widget); GdkCursor *cursor; @@ -4870,13 +4875,14 @@ gtk_text_view_draw_focus (GtkWidget *widget, NULL); if (gtk_widget_has_focus (widget) && !interior_focus) - { - gtk_paint_focus (gtk_widget_get_style (widget), cr, - gtk_widget_get_state (widget), - widget, "textview", - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + { + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + + gtk_render_focus (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); } } @@ -6535,16 +6541,30 @@ gtk_text_view_end_selection_drag (GtkTextView *text_view) static void gtk_text_view_set_attributes_from_style (GtkTextView *text_view, - GtkTextAttributes *values, - GtkStyle *style) + GtkTextAttributes *values) { - values->appearance.bg_color = style->base[GTK_STATE_NORMAL]; - values->appearance.fg_color = style->text[GTK_STATE_NORMAL]; + GtkStyleContext *context; + GdkRGBA bg_color, fg_color; + GtkStateFlags state; + + context = gtk_widget_get_style_context (GTK_WIDGET (text_view)); + state = gtk_widget_get_state_flags (GTK_WIDGET (text_view)); + + gtk_style_context_get_background_color (context, state, &bg_color); + gtk_style_context_get_color (context, state, &fg_color); + + values->appearance.bg_color.red = CLAMP (bg_color.red * 65535. + 0.5, 0, 65535); + values->appearance.bg_color.green = CLAMP (bg_color.green * 65535. + 0.5, 0, 65535); + values->appearance.bg_color.blue = CLAMP (bg_color.blue * 65535. + 0.5, 0, 65535); + + values->appearance.fg_color.red = CLAMP (fg_color.red * 65535. + 0.5, 0, 65535); + values->appearance.fg_color.green = CLAMP (fg_color.green * 65535. + 0.5, 0, 65535); + values->appearance.fg_color.blue = CLAMP (fg_color.blue * 65535. + 0.5, 0, 65535); if (values->font) pango_font_description_free (values->font); - values->font = pango_font_description_copy (style->font_desc); + values->font = pango_font_description_copy (gtk_style_context_get_font (context, state)); } static void @@ -6638,10 +6658,7 @@ gtk_text_view_ensure_layout (GtkTextView *text_view) style = gtk_text_attributes_new (); - gtk_widget_ensure_style (widget); - gtk_text_view_set_attributes_from_style (text_view, - style, - gtk_widget_get_style (widget)); + gtk_text_view_set_attributes_from_style (text_view, style); style->pixels_above_lines = priv->pixels_above_lines; style->pixels_below_lines = priv->pixels_below_lines; @@ -8352,10 +8369,13 @@ static void text_window_realize (GtkTextWindow *win, GtkWidget *widget) { + GtkStyleContext *context; + GtkStateFlags state; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; GdkCursor *cursor; + GdkRGBA color; attributes.window_type = GDK_WINDOW_CHILD; attributes.x = win->allocation.x; @@ -8397,6 +8417,9 @@ text_window_realize (GtkTextWindow *win, gdk_window_show (win->bin_window); gdk_window_set_user_data (win->bin_window, win->widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + if (win->type == GTK_TEXT_WINDOW_TEXT) { if (gtk_widget_is_sensitive (widget)) @@ -8411,14 +8434,18 @@ text_window_realize (GtkTextWindow *win, gtk_im_context_set_client_window (GTK_TEXT_VIEW (widget)->priv->im_context, win->window); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); - gdk_window_set_background (win->bin_window, - >k_widget_get_style (widget)->base[gtk_widget_get_state (widget)]); + gtk_style_context_get_background_color (context, state, &color); + gdk_window_set_background_rgba (win->bin_window, &color); + + gtk_style_context_restore (context); } else { - gdk_window_set_background (win->bin_window, - >k_widget_get_style (widget)->bg[gtk_widget_get_state (widget)]); + gtk_style_context_get_background_color (context, state, &color); + gdk_window_set_background_rgba (win->bin_window, &color); } g_object_set_qdata (G_OBJECT (win->window), From c4a5c2ed4b8861f92104f51d9213b0c9f64e26b1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 00:55:19 +0100 Subject: [PATCH 0485/1463] Enable XI2 by default gdk_enable_multidevice() has been replaced with gdk_disable_multidevice(), so applications may call that function if they want to go back at the previous behavior. There would be usually little reasons to call that function, unless the application is doing X calls itself that count on old fashioned core devices. --- gdk/gdk.c | 16 ++++++++-------- gdk/gdk.symbols | 2 +- gdk/gdkdevicemanager.c | 11 ++++++----- gdk/gdkglobals.c | 2 +- gdk/gdkinternals.h | 2 +- gdk/x11/gdkdevicemanager-x11.c | 2 +- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index 003ad34847..1b75f7f2a5 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -1063,24 +1063,24 @@ gdk_set_program_class (const char *program_class) } /** - * gdk_enable_multidevice: + * gdk_disable_multidevice: * - * Enables multidevice support in GDK. This call must happen prior + * Disables multidevice support in GDK. This call must happen prior * to gdk_display_open(), gtk_init(), gtk_init_with_args() or * gtk_init_check() in order to take effect. * - * Note that individual #GdkWindows still need to explicitly - * enable multidevice awareness through gdk_window_set_support_multidevice(). - * - * This function must be called before initializing GDK. + * Most common GTK+ applications won't ever need to call this. Only + * applications that do mixed GDK/Xlib calls could want to disable + * multidevice support if such Xlib code deals with input devices in + * any way and doesn't observe the presence of XInput 2. * * Since: 3.0 **/ void -gdk_enable_multidevice (void) +gdk_disable_multidevice (void) { if (gdk_initialized) return; - _gdk_enable_multidevice = TRUE; + _gdk_disable_multidevice = TRUE; } diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index df8cff676e..13d2349306 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -80,6 +80,7 @@ gdk_device_set_source gdk_devices_list gdk_device_type_get_type G_GNUC_CONST gdk_device_ungrab +gdk_disable_multidevice gdk_display_add_client_message_filter gdk_display_beep gdk_display_close @@ -157,7 +158,6 @@ gdk_drag_protocol_get_type G_GNUC_CONST gdk_drag_status gdk_drop_finish gdk_drop_reply -gdk_enable_multidevice gdk_error_trap_pop gdk_error_trap_pop_ignored gdk_error_trap_push diff --git a/gdk/gdkdevicemanager.c b/gdk/gdkdevicemanager.c index 56499bcb64..fced01ff49 100644 --- a/gdk/gdkdevicemanager.c +++ b/gdk/gdkdevicemanager.c @@ -36,12 +36,13 @@ * additional features such as sub-pixel positioning information and additional * device-dependent information. * @Title: GdkDeviceManager - * @See_also: #GdkDevice, #GdkEvent, gdk_enable_multidevice() + * @See_also: #GdkDevice, #GdkEvent, gdk_disable_multidevice() * - * By default, GDK supports the traditional single keyboard/pointer input scheme (Plus additional - * special input devices such as tablets. In short, backwards compatible with 2.X). Since version 3.0, - * if gdk_enable_multidevice() is called before gdk_display_open() and the platform supports it, GDK - * will be aware of multiple keyboard/pointer pairs interacting simultaneously with the user interface. + * By default, and if the platform supports it, GDK is aware of multiple keyboard/pointer pairs + * and multitouch devices, this behavior can be changed by calling gdk_disable_multidevice() + * before gdk_display_open(), although there would be rarely a reason to do that. For a widget + * or window to be dealt as multipointer aware, gdk_window_set_support_multidevice() or + * gtk_widget_set_support_multidevice() must have been called on it. * * Conceptually, in multidevice mode there are 2 device types, virtual devices (or master devices) * are represented by the pointer cursors and keyboard foci that are seen on the screen. physical diff --git a/gdk/gdkglobals.c b/gdk/gdkglobals.c index 5413886694..2a572981dc 100644 --- a/gdk/gdkglobals.c +++ b/gdk/gdkglobals.c @@ -38,6 +38,6 @@ gchar *_gdk_display_name = NULL; gint _gdk_screen_number = -1; gchar *_gdk_display_arg_name = NULL; gboolean _gdk_native_windows = FALSE; -gboolean _gdk_enable_multidevice = FALSE; +gboolean _gdk_disable_multidevice = FALSE; GSList *_gdk_displays = NULL; diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index b5f5a57fa3..8ade0c13a3 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -272,7 +272,7 @@ extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; extern gchar *_gdk_display_arg_name; -extern gboolean _gdk_enable_multidevice; +extern gboolean _gdk_disable_multidevice; void _gdk_events_queue (GdkDisplay *display); GdkEvent* _gdk_event_unqueue (GdkDisplay *display); diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index a6bb50b7c3..4a6953d3be 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -48,7 +48,7 @@ _gdk_device_manager_new (GdkDisplay *display) major = 2; minor = 0; - if (_gdk_enable_multidevice && + if (!_gdk_disable_multidevice && XIQueryVersion (xdisplay, &major, &minor) != BadRequest) { GdkDeviceManagerXI2 *device_manager_xi2; From f5a20ab65a3d03fb90c27b2fa1954d965f8ad768 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 02:12:43 +0100 Subject: [PATCH 0486/1463] Add gdk_event_[gs]et_source_device(). This function may be used to know the hardware device that triggered an event, it could resort to the master device in the few cases there's not a direct hardware device to relate to the event (i.e.: crossing events due to grabs) --- gdk/gdkdisplay.c | 19 ++++++----- gdk/gdkevents.c | 60 ++++++++++++++++++++++++++++++++++ gdk/gdkevents.h | 3 ++ gdk/gdkinternals.h | 3 ++ gdk/gdkwindow.c | 49 +++++++++++++++++---------- gdk/x11/gdkdevicemanager-xi2.c | 39 +++++++++++++++++++--- gdk/x11/gdkdisplay-x11.c | 2 +- gdk/x11/gdkmain-x11.c | 2 +- 8 files changed, 144 insertions(+), 33 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 5ef630d7bb..9a083e18b7 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1302,6 +1302,7 @@ _gdk_display_add_device_grab (GdkDisplay *display, static void synthesize_crossing_events (GdkDisplay *display, GdkDevice *device, + GdkDevice *source_device, GdkWindow *src_window, GdkWindow *dest_window, GdkCrossingMode crossing_mode, @@ -1337,7 +1338,7 @@ synthesize_crossing_events (GdkDisplay *display, _gdk_synthesize_crossing_events (display, src_window, dest_window, - device, + device, source_device, crossing_mode, x, y, state, time, @@ -1351,7 +1352,7 @@ synthesize_crossing_events (GdkDisplay *display, _gdk_synthesize_crossing_events (display, src_window, NULL, - device, + device, source_device, crossing_mode, x, y, state, time, @@ -1366,7 +1367,7 @@ synthesize_crossing_events (GdkDisplay *display, _gdk_synthesize_crossing_events (display, src_window, NULL, - device, + device, source_device, crossing_mode, x, y, state, time, @@ -1377,7 +1378,7 @@ synthesize_crossing_events (GdkDisplay *display, _gdk_synthesize_crossing_events (display, NULL, dest_window, - device, + device, source_device, crossing_mode, x, y, state, time, @@ -1414,6 +1415,7 @@ get_current_toplevel (GdkDisplay *display, static void switch_to_pointer_grab (GdkDisplay *display, GdkDevice *device, + GdkDevice *source_device, GdkDeviceGrabInfo *grab, GdkDeviceGrabInfo *last_grab, guint32 time, @@ -1449,7 +1451,7 @@ switch_to_pointer_grab (GdkDisplay *display, src_window = info->window_under_pointer; if (src_window != grab->window) - synthesize_crossing_events (display, device, + synthesize_crossing_events (display, device, source_device, src_window, grab->window, GDK_CROSSING_GRAB, time, serial); @@ -1500,7 +1502,7 @@ switch_to_pointer_grab (GdkDisplay *display, } if (pointer_window != last_grab->window) - synthesize_crossing_events (display, device, + synthesize_crossing_events (display, device, source_device, last_grab->window, pointer_window, GDK_CROSSING_UNGRAB, time, serial); @@ -1515,6 +1517,7 @@ switch_to_pointer_grab (GdkDisplay *display, void _gdk_display_device_grab_update (GdkDisplay *display, GdkDevice *device, + GdkDevice *source_device, gulong current_serial) { GdkDeviceGrabInfo *current_grab, *next_grab; @@ -1539,7 +1542,7 @@ _gdk_display_device_grab_update (GdkDisplay *display, if (!current_grab->activated) { if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD) - switch_to_pointer_grab (display, device, current_grab, NULL, time, current_serial); + switch_to_pointer_grab (display, device, source_device, current_grab, NULL, time, current_serial); } break; @@ -1567,7 +1570,7 @@ _gdk_display_device_grab_update (GdkDisplay *display, g_hash_table_insert (display->device_grabs, device, grabs); if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD) - switch_to_pointer_grab (display, device, + switch_to_pointer_grab (display, device, source_device, next_grab, current_grab, time, current_serial); diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 438beb8a1f..d6322db795 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -1076,6 +1076,66 @@ gdk_event_get_device (const GdkEvent *event) } } +/** + * gdk_event_set_source_device: + * @event: a #GdkEvent + * @device: a #GdkDevice + * + * Sets the slave device for @event to @device. The event + * must have been allocated by GTK+, for instance, by + * gdk_event_copy(). + * + * Since: 3.0 + **/ +void +gdk_event_set_source_device (GdkEvent *event, + GdkDevice *device) +{ + GdkEventPrivate *private; + + g_return_if_fail (gdk_event_is_allocated (event)); + g_return_if_fail (GDK_IS_DEVICE (device)); + + private = (GdkEventPrivate *) event; + + private->source_device = device; +} + +/** + * gdk_event_get_source_device: + * @event: a #GdkEvent + * + * This function returns the hardware (slave) #GdkDevice that has triggered the event, + * falling back to the virtual (master) device (as in gdk_event_get_device()) if the + * event wasn't caused by interaction with a hardware device. This may happen for + * example in synthesized crossing events after a #GdkWindow updates its geometry or + * a grab is acquired/released. + * + * If the event does not contain device field, this function will return %NULL. + * + * Returns: a #GdkDevice, or %NULL. + * + * Since: 3.0 + **/ +GdkDevice * +gdk_event_get_source_device (const GdkEvent *event) +{ + GdkEventPrivate *private; + + g_return_val_if_fail (event != NULL, NULL); + + if (!gdk_event_is_allocated (event)) + return NULL; + + private = (GdkEventPrivate *) event; + + if (private->source_device) + return private->source_device; + + /* Fallback to event device */ + return gdk_event_get_device (event); +} + /** * gdk_event_request_motions: * @event: a valid #GdkEvent diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h index fcefc6c1c8..b7e5ed37a2 100644 --- a/gdk/gdkevents.h +++ b/gdk/gdkevents.h @@ -1089,6 +1089,9 @@ gboolean gdk_event_get_axis (const GdkEvent *event, void gdk_event_set_device (GdkEvent *event, GdkDevice *device); GdkDevice* gdk_event_get_device (const GdkEvent *event); +void gdk_event_set_source_device (GdkEvent *event, + GdkDevice *device); +GdkDevice* gdk_event_get_source_device (const GdkEvent *event); void gdk_event_request_motions (const GdkEventMotion *event); gboolean gdk_events_get_distance (GdkEvent *event1, diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 8ade0c13a3..a897181d27 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -156,6 +156,7 @@ struct _GdkEventPrivate GdkScreen *screen; gpointer windowing_data; GdkDevice *device; + GdkDevice *source_device; }; /* Tracks information about the pointer grab on this display */ @@ -440,6 +441,7 @@ void _gdk_windowing_launch_failed (GAppLaunchContext *context, void _gdk_display_device_grab_update (GdkDisplay *display, GdkDevice *device, + GdkDevice *source_device, gulong current_serial); GdkDeviceGrabInfo *_gdk_display_get_last_device_grab (GdkDisplay *display, GdkDevice *device); @@ -498,6 +500,7 @@ void _gdk_synthesize_crossing_events (GdkDisplay *display, GdkWindow *src, GdkWindow *dest, GdkDevice *device, + GdkDevice *source_device, GdkCrossingMode mode, gint toplevel_x, gint toplevel_y, diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 7ac839640f..a2eb699f60 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -8335,6 +8335,7 @@ send_crossing_event (GdkDisplay *display, GdkNotifyType notify_type, GdkWindow *subwindow, GdkDevice *device, + GdkDevice *source_device, gint toplevel_x, gint toplevel_y, GdkModifierType mask, @@ -8394,6 +8395,10 @@ send_crossing_event (GdkDisplay *display, { event = _gdk_make_event ((GdkWindow *)window, type, event_in_queue, TRUE); gdk_event_set_device (event, device); + + if (source_device) + gdk_event_set_source_device (event, source_device); + event->crossing.time = time_; event->crossing.subwindow = subwindow; if (subwindow) @@ -8421,6 +8426,7 @@ _gdk_synthesize_crossing_events (GdkDisplay *display, GdkWindow *src, GdkWindow *dest, GdkDevice *device, + GdkDevice *source_device, GdkCrossingMode mode, gint toplevel_x, gint toplevel_y, @@ -8476,7 +8482,7 @@ _gdk_synthesize_crossing_events (GdkDisplay *display, a, GDK_LEAVE_NOTIFY, mode, notify_type, - NULL, device, + NULL, device, source_device, toplevel_x, toplevel_y, mask, time_, event_in_queue, @@ -8498,7 +8504,7 @@ _gdk_synthesize_crossing_events (GdkDisplay *display, mode, notify_type, (GdkWindow *)last, - device, + device, source_device, toplevel_x, toplevel_y, mask, time_, event_in_queue, @@ -8545,7 +8551,7 @@ _gdk_synthesize_crossing_events (GdkDisplay *display, mode, notify_type, (GdkWindow *)next, - device, + device, source_device, toplevel_x, toplevel_y, mask, time_, event_in_queue, @@ -8567,7 +8573,7 @@ _gdk_synthesize_crossing_events (GdkDisplay *display, mode, notify_type, NULL, - device, + device, source_device, toplevel_x, toplevel_y, mask, time_, event_in_queue, @@ -8939,7 +8945,7 @@ do_synthesize_crossing_event (gpointer data) _gdk_synthesize_crossing_events (display, pointer_info->window_under_pointer, new_window_under_pointer, - device, + device, NULL, GDK_CROSSING_NORMAL, pointer_info->toplevel_x, pointer_info->toplevel_y, @@ -9055,7 +9061,7 @@ proxy_pointer_event (GdkDisplay *display, GdkWindow *toplevel_window, *event_window; GdkWindow *pointer_window; GdkPointerWindowInfo *pointer_info; - GdkDevice *device; + GdkDevice *device, *source_device; GdkEvent *event; guint state; gdouble toplevel_x, toplevel_y; @@ -9067,6 +9073,7 @@ proxy_pointer_event (GdkDisplay *display, gdk_event_get_state (source_event, &state); time_ = gdk_event_get_time (source_event); device = gdk_event_get_device (source_event); + source_device = gdk_event_get_source_device (source_event); pointer_info = _gdk_display_get_pointer_info (display, device); toplevel_window = convert_native_coords_to_toplevel (event_window, toplevel_x, toplevel_y, @@ -9100,7 +9107,7 @@ proxy_pointer_event (GdkDisplay *display, _gdk_synthesize_crossing_events (display, pointer_info->window_under_pointer, event_window, - device, + device, source_device, source_event->crossing.mode, toplevel_x, toplevel_y, state, time_, @@ -9116,7 +9123,7 @@ proxy_pointer_event (GdkDisplay *display, source_event->crossing.mode, source_event->crossing.detail, NULL, - device, + device, source_device, toplevel_x, toplevel_y, state, time_, source_event, @@ -9146,7 +9153,7 @@ proxy_pointer_event (GdkDisplay *display, source_event->crossing.mode, source_event->crossing.detail, NULL, - device, + device, source_device, toplevel_x, toplevel_y, state, time_, source_event, @@ -9156,7 +9163,7 @@ proxy_pointer_event (GdkDisplay *display, _gdk_synthesize_crossing_events (display, event_window, pointer_window, - device, + device, source_device, source_event->crossing.mode, toplevel_x, toplevel_y, state, time_, @@ -9175,7 +9182,7 @@ proxy_pointer_event (GdkDisplay *display, _gdk_synthesize_crossing_events (display, pointer_info->window_under_pointer, pointer_window, - device, + device, source_device, GDK_CROSSING_NORMAL, toplevel_x, toplevel_y, state, time_, @@ -9236,6 +9243,7 @@ proxy_pointer_event (GdkDisplay *display, event->motion.device = source_event->motion.device; event->motion.axes = g_memdup (source_event->motion.axes, sizeof (gdouble) * gdk_device_get_n_axes (source_event->motion.device)); + gdk_event_set_source_device (event, source_device); } } @@ -9265,7 +9273,7 @@ proxy_button_event (GdkEvent *source_event, gdouble toplevel_x, toplevel_y; GdkDisplay *display; GdkWindow *w; - GdkDevice *device; + GdkDevice *device, *source_device; type = source_event->any.type; event_window = source_event->any.window; @@ -9273,6 +9281,7 @@ proxy_button_event (GdkEvent *source_event, gdk_event_get_state (source_event, &state); time_ = gdk_event_get_time (source_event); device = gdk_event_get_device (source_event); + source_device = gdk_event_get_source_device (source_event); display = gdk_window_get_display (source_event->any.window); toplevel_window = convert_native_coords_to_toplevel (event_window, toplevel_x, toplevel_y, @@ -9309,7 +9318,7 @@ proxy_button_event (GdkEvent *source_event, serial, time_, TRUE); - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, source_device, serial); } pointer_window = get_pointer_window (display, toplevel_window, device, @@ -9346,6 +9355,8 @@ proxy_button_event (GdkEvent *source_event, event->button.axes = g_memdup (source_event->button.axes, sizeof (gdouble) * gdk_device_get_n_axes (source_event->button.device)); + gdk_event_set_source_device (event, source_device); + if (type == GDK_BUTTON_PRESS) _gdk_event_button_generate (display, event); return TRUE; @@ -9359,6 +9370,7 @@ proxy_button_event (GdkEvent *source_event, event->scroll.y_root = source_event->scroll.y_root; event->scroll.state = state; event->scroll.device = source_event->scroll.device; + gdk_event_set_source_device (event, source_device); return TRUE; default: @@ -9452,20 +9464,21 @@ _gdk_windowing_got_event (GdkDisplay *display, guint old_state, old_button; GdkDeviceGrabInfo *button_release_grab; GdkPointerWindowInfo *pointer_info; - GdkDevice *device; + GdkDevice *device, *source_device; gboolean is_toplevel; if (gdk_event_get_time (event) != GDK_CURRENT_TIME) display->last_event_time = gdk_event_get_time (event); device = gdk_event_get_device (event); + source_device = gdk_event_get_source_device (event); if (device) { GdkInputMode mode; g_object_get (device, "input-mode", &mode, NULL); - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, source_device, serial); if (mode == GDK_MODE_DISABLED || !_gdk_display_check_grab_ownership (display, device, serial)) @@ -9510,7 +9523,7 @@ _gdk_windowing_got_event (GdkDisplay *display, serial, gdk_event_get_time (event), TRUE); - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, source_device, serial); } if (event->type == GDK_BUTTON_RELEASE && !event->any.send_event) @@ -9523,7 +9536,7 @@ _gdk_windowing_got_event (GdkDisplay *display, { button_release_grab->serial_end = serial; button_release_grab->implicit_ungrab = FALSE; - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, source_device, serial); } } @@ -9645,7 +9658,7 @@ _gdk_windowing_got_event (GdkDisplay *display, { button_release_grab->serial_end = serial; button_release_grab->implicit_ungrab = FALSE; - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, source_device, serial); } } diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 25d7a841a6..1cc2fc2a27 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -641,6 +641,7 @@ translate_keyboard_string (GdkEventKey *event) static void generate_focus_event (GdkWindow *window, GdkDevice *device, + GdkDevice *source_device, gboolean in) { GdkEvent *event; @@ -650,6 +651,7 @@ generate_focus_event (GdkWindow *window, event->focus_change.send_event = FALSE; event->focus_change.in = in; gdk_event_set_device (event, device); + gdk_event_set_source_device (event, source_device); gdk_event_put (event); gdk_event_free (event); @@ -658,6 +660,7 @@ generate_focus_event (GdkWindow *window, static void handle_focus_change (GdkWindow *window, GdkDevice *device, + GdkDevice *source_device, gint detail, gint mode, gboolean in) @@ -717,7 +720,7 @@ handle_focus_change (GdkWindow *window, } if (HAS_FOCUS (toplevel) != had_focus) - generate_focus_event (window, device, (in) ? TRUE : FALSE); + generate_focus_event (window, device, source_device, (in) ? TRUE : FALSE); } static gdouble * @@ -916,7 +919,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, XIDeviceEvent *xev = (XIDeviceEvent *) ev; GdkKeymap *keymap = gdk_keymap_get_for_display (display); GdkModifierType consumed, state; - GdkDevice *device; + GdkDevice *device, *source_device; event->key.type = xev->evtype == XI_KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE; @@ -933,6 +936,10 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, GUINT_TO_POINTER (xev->deviceid)); gdk_event_set_device (event, device); + source_device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->sourceid)); + gdk_event_set_source_device (event, source_device); + event->key.keyval = GDK_KEY_VoidSymbol; gdk_keymap_translate_keyboard_state (keymap, @@ -961,6 +968,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, case XI_ButtonRelease: { XIDeviceEvent *xev = (XIDeviceEvent *) ev; + GdkDevice *source_device; switch (xev->detail) { @@ -989,6 +997,10 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->scroll.device = g_hash_table_lookup (device_manager->id_table, GUINT_TO_POINTER (xev->deviceid)); + source_device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->sourceid)); + gdk_event_set_source_device (event, source_device); + event->scroll.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); break; default: @@ -1004,6 +1016,10 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->button.device = g_hash_table_lookup (device_manager->id_table, GUINT_TO_POINTER (xev->deviceid)); + source_device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->sourceid)); + gdk_event_set_source_device (event, source_device); + event->button.axes = translate_axes (event->button.device, event->button.x, event->button.y, @@ -1036,6 +1052,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, case XI_Motion: { XIDeviceEvent *xev = (XIDeviceEvent *) ev; + GdkDevice *source_device; event->motion.type = GDK_MOTION_NOTIFY; @@ -1050,6 +1067,10 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->motion.device = g_hash_table_lookup (device_manager->id_table, GINT_TO_POINTER (xev->deviceid)); + source_device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->sourceid)); + gdk_event_set_source_device (event, source_device); + event->motion.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); /* There doesn't seem to be motion hints in XI */ @@ -1075,7 +1096,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, case XI_Leave: { XIEnterEvent *xev = (XIEnterEvent *) ev; - GdkDevice *device; + GdkDevice *device, *source_device; event->crossing.type = (ev->evtype == XI_Enter) ? GDK_ENTER_NOTIFY : GDK_LEAVE_NOTIFY; @@ -1093,6 +1114,10 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, GINT_TO_POINTER (xev->deviceid)); gdk_event_set_device (event, device); + source_device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->sourceid)); + gdk_event_set_source_device (event, source_device); + event->crossing.mode = translate_crossing_mode (xev->mode); event->crossing.detail = translate_notify_type (xev->detail); event->crossing.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); @@ -1102,12 +1127,16 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, case XI_FocusOut: { XIEnterEvent *xev = (XIEnterEvent *) ev; - GdkDevice *device; + GdkDevice *device, *source_device; device = g_hash_table_lookup (device_manager->id_table, GINT_TO_POINTER (xev->deviceid)); - handle_focus_change (window, device, xev->detail, xev->mode, + source_device = g_hash_table_lookup (device_manager->id_table, + GUINT_TO_POINTER (xev->sourceid)); + + handle_focus_change (window, device, source_device, + xev->detail, xev->mode, (ev->evtype == XI_FocusIn) ? TRUE : FALSE); return_val = FALSE; diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index bfcc358cce..27ef251919 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1633,7 +1633,7 @@ device_ungrab_callback (GdkDisplay *display, { GdkDevice *device = data; - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, NULL, serial); } diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index f9df29592f..2ce5e34875 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -136,7 +136,7 @@ has_pointer_grab_callback (GdkDisplay *display, { GdkDevice *device = data; - _gdk_display_device_grab_update (display, device, serial); + _gdk_display_device_grab_update (display, device, NULL, serial); } GdkGrabStatus From 9f41101ccc5d81f748f64752528cc3751f971597 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 15 Dec 2010 02:34:42 +0100 Subject: [PATCH 0487/1463] Emit GdkDevice::changed when the slave device being used changes When the slave device changes, the master takes the shape of the new one, modifying its axes, this signal is more useful to catch this situation than the n-axes property --- gdk/gdkdevice.c | 28 ++++++++++++++++++++++++++++ gdk/x11/gdkdevicemanager-xi2.c | 2 ++ 2 files changed, 30 insertions(+) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 4e9b3d24e8..dc66f3bddd 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -64,6 +64,14 @@ struct _GdkDevicePrivate GArray *axes; }; +enum { + CHANGED, + LAST_SIGNAL +}; + +static guint signals [LAST_SIGNAL] = { 0 }; + + static void gdk_device_dispose (GObject *object); static void gdk_device_set_property (GObject *object, guint prop_id, @@ -238,6 +246,26 @@ gdk_device_class_init (GdkDeviceClass *klass) 0, G_MAXUINT, 0, G_PARAM_READABLE | G_PARAM_STATIC_STRINGS)); + /** + * GdkDevice::changed: + * @device: the #GdkDevice that changed. + * + * The ::changed signal is emitted either when the #GdkDevice + * has changed the number of either axes or keys. For example + * In X this will normally happen when the slave device routing + * events through the master device changes (for example, user + * switches from the USB mouse to a tablet), in that case the + * master device will change to reflect the new slave device + * axes and keys. + */ + signals[CHANGED] = + g_signal_new (g_intern_static_string ("changed"), + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_LAST, + NULL, NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, 0); + g_type_class_add_private (object_class, sizeof (GdkDevicePrivate)); } diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 1cc2fc2a27..bdfeac9953 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -499,6 +499,8 @@ handle_device_changed (GdkDeviceManagerXI2 *device_manager, _gdk_device_reset_axes (device); translate_device_classes (display, device, ev->classes, ev->num_classes); + + g_signal_emit_by_name (G_OBJECT (device), "changed"); } static GdkCrossingMode From be7de347bfac28b341aeb25baf1e788c6a333095 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 12:20:34 +0100 Subject: [PATCH 0488/1463] xi2: Improve device hierarchy handling The xi2 device manager now handles slaves being detached and/or attached to a master. gdk_device_list_slaves() has been added so it is possible to know how slaves relate with masters. The other backends (X11 and not) don't neeed to to anything special here since their hierarchy is fully flat. --- gdk/gdkdevice.c | 102 ++++++++++++++++++++++++ gdk/gdkdevice.h | 1 + gdk/gdkdevicemanager.c | 16 ++-- gdk/gdkdeviceprivate.h | 4 + gdk/x11/gdkdevicemanager-xi2.c | 137 +++++++++++++++++++++++++-------- gdk/x11/gdkdevicemanager-xi2.h | 1 - 6 files changed, 224 insertions(+), 37 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index dc66f3bddd..1330d81bf3 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -59,7 +59,13 @@ struct _GdkDevicePrivate GdkDeviceKey *keys; GdkDeviceManager *device_manager; GdkDisplay *display; + + /* Paired master for master, + * associated master for slaves + */ GdkDevice *associated; + + GList *slaves; GdkDeviceType type; GArray *axes; }; @@ -290,6 +296,9 @@ gdk_device_dispose (GObject *object) device = GDK_DEVICE (object); priv = device->priv; + if (priv->type == GDK_DEVICE_TYPE_SLAVE) + _gdk_device_remove_slave (priv->associated, device); + if (priv->associated) { _gdk_device_set_associated_device (priv->associated, NULL); @@ -820,6 +829,24 @@ gdk_device_get_associated_device (GdkDevice *device) return priv->associated; } +static void +_gdk_device_set_device_type (GdkDevice *device, + GdkDeviceType type) +{ + GdkDevicePrivate *priv; + + priv = device->priv; + + if (priv->type != type) + { + priv->type = type; + + g_print ("Setting device type to %d\n", type); + + g_object_notify (G_OBJECT (device), "type"); + } +} + void _gdk_device_set_associated_device (GdkDevice *device, GdkDevice *associated) @@ -842,6 +869,81 @@ _gdk_device_set_associated_device (GdkDevice *device, if (associated) priv->associated = g_object_ref (associated); + + if (priv->type != GDK_DEVICE_TYPE_MASTER) + { + if (priv->associated) + _gdk_device_set_device_type (device, GDK_DEVICE_TYPE_SLAVE); + else + _gdk_device_set_device_type (device, GDK_DEVICE_TYPE_FLOATING); + } +} + +/** + * gdk_device_list_slave_devices: + * @device: a #GdkDevice + * + * If the device if of type %GDK_DEVICE_TYPE_MASTER, it will return + * the list of slave devices attached to it, otherwise it will return + * %NULL + * + * Returns: (transfer container): the list of slave devices, or %NULL. The + * list must be freed with g_list_free(), the contents of the list + * are owned by GTK+ and should not be freed. + **/ +GList * +gdk_device_list_slave_devices (GdkDevice *device) +{ + GdkDevicePrivate *priv; + + g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + g_return_val_if_fail (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER, NULL); + + priv = device->priv; + + return g_list_copy (priv->slaves); +} + +void +_gdk_device_add_slave (GdkDevice *device, + GdkDevice *slave) +{ + GdkDevicePrivate *priv; + + g_return_if_fail (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER); + g_return_if_fail (gdk_device_get_device_type (slave) != GDK_DEVICE_TYPE_MASTER); + + priv = device->priv; + + g_print ("Adding %s ---> %s\n", + gdk_device_get_name (slave), + gdk_device_get_name (device)); + + if (!g_list_find (priv->slaves, slave)) + priv->slaves = g_list_prepend (priv->slaves, slave); +} + +void +_gdk_device_remove_slave (GdkDevice *device, + GdkDevice *slave) +{ + GdkDevicePrivate *priv; + GList *elem; + + g_return_if_fail (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER); + g_return_if_fail (gdk_device_get_device_type (slave) != GDK_DEVICE_TYPE_MASTER); + + priv = device->priv; + elem = g_list_find (priv->slaves, slave); + + if (!elem) + return; + + g_print ("Removing %s ---> %s\n", + gdk_device_get_name (slave), + gdk_device_get_name (device)); + + priv->slaves = g_list_delete_link (priv->slaves, elem); } /** diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index 27375f7621..2c797a9fc8 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -222,6 +222,7 @@ gboolean gdk_device_get_axis (GdkDevice *device, GdkDisplay * gdk_device_get_display (GdkDevice *device); GdkDevice * gdk_device_get_associated_device (GdkDevice *device); +GList * gdk_device_list_slave_devices (GdkDevice *device); GdkDeviceType gdk_device_get_device_type (GdkDevice *device); diff --git a/gdk/gdkdevicemanager.c b/gdk/gdkdevicemanager.c index fced01ff49..e282036424 100644 --- a/gdk/gdkdevicemanager.c +++ b/gdk/gdkdevicemanager.c @@ -183,12 +183,16 @@ gdk_device_manager_class_init (GdkDeviceManagerClass *klass) * @device_manager: the object on which the signal is emitted * @device: the #GdkDevice that changed. * - * The ::device-changed signal is emitted either when some - * #GdkDevice has changed the number of either axes or keys. - * For example In X this will normally happen when the slave - * device routing events through the master device changes, - * in that case the master device will change to reflect the - * new slave device axes and keys. + * The ::device-changed signal is emitted whenever a device + * has changed in the hierarchy, either slave devices being + * disconnected from their master device or connected to + * another one, or master devices being added or removed + * a slave device. + * + * If a slave device is detached from all master devices + * (gdk_device_get_associated_device() returns %NULL), its + * #GdkDeviceType will change to %GDK_DEVICE_TYPE_FLOATING, + * if it's attached, it will change to %GDK_DEVICE_TYPE_SLAVE. */ signals [DEVICE_CHANGED] = g_signal_new (g_intern_static_string ("device-changed"), diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index d878ae634d..f7318620d8 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -125,6 +125,10 @@ GdkTimeCoord ** _gdk_device_allocate_history (GdkDevice *device, void _gdk_input_check_extension_events (GdkDevice *device); +void _gdk_device_add_slave (GdkDevice *device, + GdkDevice *slave); +void _gdk_device_remove_slave (GdkDevice *device, + GdkDevice *slave); G_END_DECLS diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index bdfeac9953..ee3461c3fe 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -263,15 +263,29 @@ add_device (GdkDeviceManagerXI2 *device_manager, if (dev->use == XIMasterPointer || dev->use == XIMasterKeyboard) device_manager->master_devices = g_list_append (device_manager->master_devices, device); - else if (dev->use == XISlavePointer || dev->use == XISlaveKeyboard) + else if (dev->use == XISlavePointer || dev->use == XISlaveKeyboard || dev->use == XIFloatingSlave) device_manager->slave_devices = g_list_append (device_manager->slave_devices, device); - else if (dev->use == XIFloatingSlave) - device_manager->floating_devices = g_list_append (device_manager->floating_devices, device); else g_warning ("Unhandled device: %s\n", gdk_device_get_name (device)); if (emit_signal) - g_signal_emit_by_name (device_manager, "device-added", device); + { + if (dev->use == XISlavePointer || dev->use == XISlaveKeyboard) + { + GdkDevice *master; + + /* The device manager is already constructed, then + * keep the hierarchy coherent for the added device. + */ + master = g_hash_table_lookup (device_manager->id_table, + GINT_TO_POINTER (dev->attachment)); + + _gdk_device_set_associated_device (device, master); + _gdk_device_add_slave (master, device); + } + + g_signal_emit_by_name (device_manager, "device-added", device); + } return device; } @@ -289,7 +303,6 @@ remove_device (GdkDeviceManagerXI2 *device_manager, { device_manager->master_devices = g_list_remove (device_manager->master_devices, device); device_manager->slave_devices = g_list_remove (device_manager->slave_devices, device); - device_manager->floating_devices = g_list_remove (device_manager->floating_devices, device); g_signal_emit_by_name (device_manager, "device-removed", device); @@ -301,7 +314,7 @@ remove_device (GdkDeviceManagerXI2 *device_manager, } static void -relate_devices (gpointer key, +relate_masters (gpointer key, gpointer value, gpointer user_data) { @@ -316,13 +329,29 @@ relate_devices (gpointer key, _gdk_device_set_associated_device (relative, device); } +static void +relate_slaves (gpointer key, + gpointer value, + gpointer user_data) +{ + GdkDeviceManagerXI2 *device_manager; + GdkDevice *slave, *master; + + device_manager = user_data; + slave = g_hash_table_lookup (device_manager->id_table, key); + master = g_hash_table_lookup (device_manager->id_table, value); + + _gdk_device_set_associated_device (slave, master); + _gdk_device_add_slave (master, slave); +} + static void gdk_device_manager_xi2_constructed (GObject *object) { GdkDeviceManagerXI2 *device_manager_xi2; GdkDisplay *display; GdkScreen *screen; - GHashTable *relations; + GHashTable *masters, *slaves; Display *xdisplay; XIDeviceInfo *info, *dev; int ndevices, i; @@ -332,7 +361,9 @@ gdk_device_manager_xi2_constructed (GObject *object) device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (object); display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); xdisplay = GDK_DISPLAY_XDISPLAY (display); - relations = g_hash_table_new (NULL, NULL); + + masters = g_hash_table_new (NULL, NULL); + slaves = g_hash_table_new (NULL, NULL); info = XIQueryDevice(xdisplay, XIAllDevices, &ndevices); @@ -347,7 +378,14 @@ gdk_device_manager_xi2_constructed (GObject *object) if (dev->use == XIMasterPointer || dev->use == XIMasterKeyboard) { - g_hash_table_insert (relations, + g_hash_table_insert (masters, + GINT_TO_POINTER (dev->deviceid), + GINT_TO_POINTER (dev->attachment)); + } + else if (dev->use == XISlavePointer || + dev->use == XISlaveKeyboard) + { + g_hash_table_insert (slaves, GINT_TO_POINTER (dev->deviceid), GINT_TO_POINTER (dev->attachment)); } @@ -356,8 +394,11 @@ gdk_device_manager_xi2_constructed (GObject *object) XIFreeDeviceInfo(info); /* Stablish relationships between devices */ - g_hash_table_foreach (relations, relate_devices, object); - g_hash_table_destroy (relations); + g_hash_table_foreach (masters, relate_masters, object); + g_hash_table_destroy (masters); + + g_hash_table_foreach (slaves, relate_slaves, object); + g_hash_table_destroy (slaves); /* Connect to hierarchy change events */ screen = gdk_display_get_default_screen (display); @@ -388,10 +429,6 @@ gdk_device_manager_xi2_dispose (GObject *object) g_list_free (device_manager_xi2->slave_devices); device_manager_xi2->slave_devices = NULL; - g_list_foreach (device_manager_xi2->floating_devices, (GFunc) g_object_unref, NULL); - g_list_free (device_manager_xi2->floating_devices); - device_manager_xi2->floating_devices = NULL; - if (device_manager_xi2->id_table) { g_hash_table_destroy (device_manager_xi2->id_table); @@ -416,10 +453,21 @@ gdk_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, list = device_manager_xi2->master_devices; break; case GDK_DEVICE_TYPE_SLAVE: - list = device_manager_xi2->slave_devices; - break; case GDK_DEVICE_TYPE_FLOATING: - list = device_manager_xi2->floating_devices; + { + GList *devs = device_manager_xi2->slave_devices; + + while (devs) + { + GdkDevice *dev; + + dev = devs->data; + devs = devs->next; + + if (type == gdk_device_get_device_type (dev)) + list = g_list_prepend (list, dev); + } + } break; default: g_assert_not_reached (); @@ -457,32 +505,61 @@ static void handle_hierarchy_changed (GdkDeviceManagerXI2 *device_manager, XIHierarchyEvent *ev) { + GdkDisplay *display; + Display *xdisplay; GdkDevice *device; + XIDeviceInfo *info; + int ndevices; gint i; - /* We only care about enabled devices */ - if (!(ev->flags & XIDeviceEnabled) && - !(ev->flags & XIDeviceDisabled)) - return; + display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (device_manager)); + xdisplay = GDK_DISPLAY_XDISPLAY (display); for (i = 0; i < ev->num_info; i++) { if (ev->info[i].flags & XIDeviceEnabled) { - GdkDisplay *display; - Display *xdisplay; - XIDeviceInfo *info; - int ndevices; - - display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (device_manager)); - xdisplay = GDK_DISPLAY_XDISPLAY (display); - info = XIQueryDevice(xdisplay, ev->info[i].deviceid, &ndevices); device = add_device (device_manager, &info[0], TRUE); XIFreeDeviceInfo(info); } else if (ev->info[i].flags & XIDeviceDisabled) remove_device (device_manager, ev->info[i].deviceid); + else if (ev->info[i].flags & XISlaveAttached || + ev->info[i].flags & XISlaveDetached) + { + GdkDevice *master, *slave; + + slave = g_hash_table_lookup (device_manager->id_table, + GINT_TO_POINTER (ev->info[i].deviceid)); + + /* Remove old master info */ + master = gdk_device_get_associated_device (slave); + + if (master) + { + _gdk_device_remove_slave (master, slave); + _gdk_device_set_associated_device (slave, NULL); + + g_signal_emit_by_name (device_manager, "device-changed", master); + } + + /* Add new master if it's an attachment event */ + if (ev->info[i].flags & XISlaveAttached) + { + info = XIQueryDevice(xdisplay, ev->info[i].deviceid, &ndevices); + + master = g_hash_table_lookup (device_manager->id_table, + GINT_TO_POINTER (info->attachment)); + + _gdk_device_set_associated_device (slave, master); + _gdk_device_add_slave (master, slave); + + g_signal_emit_by_name (device_manager, "device-changed", master); + } + + g_signal_emit_by_name (device_manager, "device-changed", slave); + } } } diff --git a/gdk/x11/gdkdevicemanager-xi2.h b/gdk/x11/gdkdevicemanager-xi2.h index 20054c160c..e16a6f7bf8 100644 --- a/gdk/x11/gdkdevicemanager-xi2.h +++ b/gdk/x11/gdkdevicemanager-xi2.h @@ -43,7 +43,6 @@ struct _GdkDeviceManagerXI2 GList *master_devices; GList *slave_devices; - GList *floating_devices; GdkDevice *client_pointer; From 44a7ef7bec29d65f3703f62338ba04c11bb9500f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 13 Dec 2010 12:28:18 +0100 Subject: [PATCH 0489/1463] Add gdk_window_[gs]et_source_events() This function will enable events for all devices of a given GdkInputSource, either these available at the time of the call, or these that are connected in the future. --- docs/reference/gdk/gdk3-sections.txt | 2 + gdk/gdk.symbols | 2 + gdk/gdkinternals.h | 4 + gdk/gdkwindow.c | 140 +++++++++++++++++++++++++++ gdk/gdkwindow.h | 6 ++ 5 files changed, 154 insertions(+) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index f4b7e32999..c14347e1b6 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -478,6 +478,8 @@ gdk_window_get_device_cursor gdk_window_set_device_cursor gdk_window_get_device_events gdk_window_set_device_events +gdk_window_get_source_events +gdk_window_set_source_events GdkPointerHooks diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 13d2349306..8d5cba8333 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -436,6 +436,7 @@ gdk_window_get_position gdk_window_get_root_coords gdk_window_get_root_origin gdk_window_get_screen +gdk_window_get_source_events gdk_window_get_state gdk_window_get_support_multidevice gdk_window_get_toplevel @@ -509,6 +510,7 @@ gdk_window_set_override_redirect gdk_window_set_role gdk_window_set_skip_pager_hint gdk_window_set_skip_taskbar_hint +gdk_window_set_source_events gdk_window_set_startup_id gdk_window_set_static_gravities gdk_window_set_support_multidevice diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index a897181d27..c98d2180c5 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -264,6 +264,10 @@ struct _GdkWindow GList *devices_inside; GHashTable *device_events; + + GHashTable *source_event_masks; + gulong device_added_handler_id; + gulong device_changed_handler_id; }; #define GDK_WINDOW_TYPE(d) (((GDK_WINDOW (d)))->window_type) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index a2eb699f60..becfba57f5 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -576,6 +576,9 @@ gdk_window_finalize (GObject *object) if (window->device_events) g_hash_table_destroy (window->device_events); + if (window->source_event_masks) + g_hash_table_destroy (window->source_event_masks); + if (window->devices_inside) g_list_free (window->devices_inside); @@ -8906,6 +8909,143 @@ gdk_window_geometry_changed (GdkWindow *window) _gdk_synthesize_crossing_events_for_geometry_change (window); } +static void +source_events_device_added (GdkDeviceManager *device_manager, + GdkDevice *device, + gpointer user_data) +{ + GdkWindow *window; + GdkEventMask event_mask; + GdkInputSource source; + + if (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_FLOATING) + return; + + window = user_data; + source = gdk_device_get_source (device); + + event_mask = GPOINTER_TO_INT (g_hash_table_lookup (window->source_event_masks, + GINT_TO_POINTER (source))); + if (event_mask) + gdk_window_set_device_events (window, device, event_mask); +} + +static void +source_events_device_changed (GdkDeviceManager *device_manager, + GdkDevice *device, + gpointer user_data) +{ + GdkDeviceType type; + GdkInputSource source; + GdkEventMask event_mask; + GdkWindow *window; + + window = user_data; + type = gdk_device_get_device_type (device); + source = gdk_device_get_source (device); + + event_mask = GPOINTER_TO_INT (g_hash_table_lookup (window->source_event_masks, + GINT_TO_POINTER (source))); + + if (!event_mask) + return; + + if (type == GDK_DEVICE_TYPE_FLOATING) + { + /* The device was just floated, enable its event mask */ + gdk_window_set_device_events (window, device, event_mask); + } + else if (type == GDK_DEVICE_TYPE_SLAVE) + gdk_window_set_device_events (window, device, 0); +} + +/** + * gdk_window_set_source_events: + * @window: a #GdkWindow + * @source: a #GdkInputSource to define the source class. + * @event_mask: event mask for @window + * + * Sets the event mask for any floating device (i.e. not attached to any + * visible pointer) that has the source defined as @source. This event + * mask will be applied both to currently existing, newly added devices + * after this call, and devices being attached/detached. + * + * Since: 3.0 + **/ +void +gdk_window_set_source_events (GdkWindow *window, + GdkInputSource source, + GdkEventMask event_mask) +{ + GdkDeviceManager *device_manager; + GdkDisplay *display; + GList *devices, *d; + guint size; + + g_return_if_fail (GDK_IS_WINDOW (window)); + + display = gdk_window_get_display (window); + device_manager = gdk_display_get_device_manager (display); + + devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_FLOATING); + + /* Set event mask for existing devices */ + for (d = devices; d; d = d->next) + { + GdkDevice *device = d->data; + + if (source == gdk_device_get_source (device)) + gdk_window_set_device_events (window, device, event_mask); + } + + /* Update accounting */ + if (G_UNLIKELY (!window->source_event_masks)) + window->source_event_masks = g_hash_table_new (NULL, NULL); + + if (event_mask) + g_hash_table_insert (window->source_event_masks, + GUINT_TO_POINTER (source), + GUINT_TO_POINTER (event_mask)); + else + g_hash_table_remove (window->source_event_masks, + GUINT_TO_POINTER (source)); + + size = g_hash_table_size (window->source_event_masks); + + /* Update handler if needed */ + if (!window->device_added_handler_id && size > 0) + { + window->device_added_handler_id = + g_signal_connect (device_manager, "device-added", + G_CALLBACK (source_events_device_added), window); + window->device_changed_handler_id = + g_signal_connect (device_manager, "device-changed", + G_CALLBACK (source_events_device_changed), window); + } + else if (window->device_added_handler_id && size == 0) + g_signal_handler_disconnect (device_manager, window->device_added_handler_id); +} + +/** + * gdk_window_get_source_events: + * @window: a #GdkWindow + * @source: a #GdkInputSource to define the source class. + * + * Returns the event mask for @window corresponding to the device class specified + * by @source. + * + * Returns: source event mask for @window + **/ +GdkEventMask +gdk_window_get_source_events (GdkWindow *window, + GdkInputSource source) +{ + g_return_val_if_fail (GDK_IS_WINDOW (window), 0); + + return GPOINTER_TO_UINT (g_hash_table_lookup (window->source_event_masks, + GUINT_TO_POINTER (source))); +} + static gboolean do_synthesize_crossing_event (gpointer data) { diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index 69fee5ad09..164281dc3c 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -778,6 +778,12 @@ void gdk_window_set_device_events (GdkWindow *window, GdkEventMask gdk_window_get_device_events (GdkWindow *window, GdkDevice *device); +void gdk_window_set_source_events (GdkWindow *window, + GdkInputSource source, + GdkEventMask event_mask); +GdkEventMask gdk_window_get_source_events (GdkWindow *window, + GdkInputSource source); + void gdk_window_set_icon_list (GdkWindow *window, GList *pixbufs); void gdk_window_set_icon_name (GdkWindow *window, From f9ed6baeb46ce07b86ed23fe60eef8e94552f77d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 15 Dec 2010 03:33:01 +0100 Subject: [PATCH 0490/1463] Improve docs for gtk_widget_reset_style(). Document that it may be needed in containers when children are reordered. --- gtk/gtkwidget.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 317b45b3c2..05ea17bc9e 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8689,7 +8689,9 @@ reset_style_recurse (GtkWidget *widget, gpointer data) * @widget: a #GtkWidget * * Updates the style context of @widget and all descendents - * by updating its widget path. + * by updating its widget path. #GtkContainers may want + * to use this on a child when reordering it in a way that a different + * style might apply to it. See also gtk_container_get_path_for_child(). * * Since: 3.0 */ From b7fd6f1e8826589646e2b0e2d7a848fc2fab3ee3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 14 Dec 2010 22:15:33 -0500 Subject: [PATCH 0491/1463] Remove gtk_widget_reset_shapes See bug 637155. --- docs/reference/gtk/gtk3-sections.txt | 1 - gtk/gtk.symbols | 1 - gtk/gtkwidget.c | 41 +--------------------------- gtk/gtkwidget.h | 3 -- 4 files changed, 1 insertion(+), 45 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index d62fc59860..88a6d4d90d 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4868,7 +4868,6 @@ gtk_widget_pop_composite_child gtk_widget_push_composite_child gtk_widget_queue_draw_area gtk_widget_queue_draw_region -gtk_widget_reset_shapes gtk_widget_set_app_paintable gtk_widget_set_double_buffered gtk_widget_set_redraw_on_allocate diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 6311e46e81..bb206fa36d 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3470,7 +3470,6 @@ gtk_widget_render_icon gtk_widget_render_icon_pixbuf gtk_widget_reparent gtk_widget_reset_rc_styles -gtk_widget_reset_shapes gtk_widget_reset_style gtk_widget_send_expose gtk_widget_send_focus_change diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 05ea17bc9e..5053b1f8fe 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8439,10 +8439,7 @@ gtk_widget_set_style_internal (GtkWidget *widget, GtkStyle *previous_style; if (gtk_widget_get_realized (widget)) - { - gtk_widget_reset_shapes (widget); - gtk_style_detach (priv->style); - } + gtk_style_detach (priv->style); previous_style = priv->style; priv->style = style; @@ -11228,42 +11225,6 @@ gtk_widget_input_shape_combine_region (GtkWidget *widget, } -static void -gtk_reset_shapes_recurse (GtkWidget *widget, - GdkWindow *window) -{ - gpointer data; - GList *list; - - gdk_window_get_user_data (window, &data); - if (data != widget) - return; - - gdk_window_shape_combine_region (window, NULL, 0, 0); - for (list = gdk_window_peek_children (window); list; list = list->next) - gtk_reset_shapes_recurse (widget, list->data); -} - -/** - * gtk_widget_reset_shapes: - * @widget: a #GtkWidget - * - * Recursively resets the shape on this widget and its descendants. - **/ -void -gtk_widget_reset_shapes (GtkWidget *widget) -{ - GtkWidgetPrivate *priv; - - g_return_if_fail (GTK_IS_WIDGET (widget)); - g_return_if_fail (gtk_widget_get_realized (widget)); - - priv = widget->priv; - - if (!priv->has_shape_mask) - gtk_reset_shapes_recurse (widget, priv->window); -} - /* style properties */ diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 5e240086f0..30fafe690a 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -900,9 +900,6 @@ void gtk_widget_shape_combine_region (GtkWidget *widget, void gtk_widget_input_shape_combine_region (GtkWidget *widget, cairo_region_t *region); -/* internal function */ -void gtk_widget_reset_shapes (GtkWidget *widget); - GList* gtk_widget_list_mnemonic_labels (GtkWidget *widget); void gtk_widget_add_mnemonic_label (GtkWidget *widget, GtkWidget *label); From 208d717fefb7d1d1faa0dada132a290036b458d0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 14 Dec 2010 22:21:39 -0500 Subject: [PATCH 0492/1463] Optimize gdk_window_set_shape_combine_region When setting no shape on an unshaped window, nothing changes, so return early instead of recomputing lots of visibility information. Pointed out by Owen Taylor in bug 637156. --- gdk/gdkwindow.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index becfba57f5..54f5d2f5d1 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -7167,6 +7167,9 @@ gdk_window_shape_combine_region (GdkWindow *window, if (GDK_WINDOW_DESTROYED (window)) return; + if (!window->shape && shape_region == NULL) + return; + window->shaped = (shape_region != NULL); if (window->shape) From 544146b9be4078009c35695b1744431c98a81a40 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 10:33:02 +0100 Subject: [PATCH 0493/1463] size-request: Clamp size requests to screen size Size requests should only ever need to return the screen's width/height and max. This way, potentially large widgets (tree view or icon view) don't need to do so many computations, but can stop when their computed size has reached the screen size. --- gtk/gtksizerequest.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index c5e49e7db3..41ec2599f4 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -239,6 +239,14 @@ compute_size_for_orientation (GtkWidget *widget, &min_size, &nat_size); pop_recursion_check (widget, orientation); } +#ifndef G_DISABLE_CHECKS + if (gtk_widget_get_screen (widget)) + { + guint screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); + min_size = MIN (min_size, screen_width); + nat_size = MIN (nat_size, screen_width); + } +#endif } else { @@ -272,6 +280,14 @@ compute_size_for_orientation (GtkWidget *widget, &min_size, &nat_size); pop_recursion_check (widget, orientation); } +#ifndef G_DISABLE_CHECKS + if (gtk_widget_get_screen (widget)) + { + guint screen_height = gdk_screen_get_height (gtk_widget_get_screen (widget)); + min_size = MIN (min_size, screen_height); + nat_size = MIN (nat_size, screen_height); + } +#endif } if (min_size > nat_size) From ce5dae67021c483d46a46e0206fe3a6095b38100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Wed, 15 Dec 2010 12:52:16 +0100 Subject: [PATCH 0494/1463] Complete renaming of gdk_enable_multidevice() The function was renamed in commit c4a5c2ed4, but some places were missed, most notably the public header. --- docs/reference/gdk/gdk3-sections.txt | 2 +- gdk/gdkdevicemanager.c | 4 ++-- gdk/gdkmain.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index c14347e1b6..a70c8bb276 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -703,7 +703,7 @@ GdkDeviceKey GdkDeviceAxis GdkAxisUse GdkGrabOwnership -gdk_enable_multidevice +gdk_disable_multidevice gdk_device_manager_get_display gdk_device_manager_list_devices gdk_device_manager_get_client_pointer diff --git a/gdk/gdkdevicemanager.c b/gdk/gdkdevicemanager.c index e282036424..5ef51b7724 100644 --- a/gdk/gdkdevicemanager.c +++ b/gdk/gdkdevicemanager.c @@ -85,8 +85,8 @@ * * In order to query the device hierarchy and be aware of changes in the device hierarchy (such as * virtual devices being created or removed, or physical devices being plugged or unplugged), GDK - * provides #GdkDeviceManager. On X11, multidevice support is implemented through XInput 2. If - * gdk_enable_multidevice() is called, the XInput 2.x #GdkDeviceManager implementation will be used + * provides #GdkDeviceManager. On X11, multidevice support is implemented through XInput 2. Unless + * gdk_disable_multidevice() is called, the XInput 2.x #GdkDeviceManager implementation will be used * as input source, else either the core or XInput 1.x implementations will be used. */ diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index 75ffb4e62a..2d05590e7a 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -72,7 +72,7 @@ void gdk_pre_parse_libgtk_only (void); * Returns: the resulting locale. */ gchar* gdk_set_locale (void); -void gdk_enable_multidevice (void); +void gdk_disable_multidevice (void); G_CONST_RETURN gchar *gdk_get_program_class (void); void gdk_set_program_class (const gchar *program_class); From 88767b0af7107df68668877fe3055402f1cbb19d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 11:52:33 +0100 Subject: [PATCH 0495/1463] gdk: Don't use NULL for integers --- gdk/gdkdevice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 1330d81bf3..6b9d108cab 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -268,7 +268,7 @@ gdk_device_class_init (GdkDeviceClass *klass) g_signal_new (g_intern_static_string ("changed"), G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, - NULL, NULL, NULL, + 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); From b0b9c9683b80448398f3a53c21f3965c86c12ade Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:03:04 +0100 Subject: [PATCH 0496/1463] dnd-quartz: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() --- gtk/gtkdnd-quartz.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index 687f1aa606..0f35cbadfc 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -1566,8 +1566,8 @@ set_icon_stock_pixbuf (GdkDragContext *context, if (stock_id) { - pixbuf = gtk_widget_render_icon (info->widget, stock_id, - GTK_ICON_SIZE_DND, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (info->widget, stock_id, + GTK_ICON_SIZE_DND, NULL); if (!pixbuf) { From 6aa745b8195fafd2d1d559dc6ca3b55aab8a207d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:03:46 +0100 Subject: [PATCH 0497/1463] tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() --- tests/testtreeedit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testtreeedit.c b/tests/testtreeedit.c index 30d2a3fa54..4375691a08 100644 --- a/tests/testtreeedit.c +++ b/tests/testtreeedit.c @@ -55,7 +55,7 @@ create_model (void) GtkWidget *blah; blah = gtk_window_new (GTK_WINDOW_TOPLEVEL); - foo = gtk_widget_render_icon (blah, GTK_STOCK_NEW, GTK_ICON_SIZE_MENU, NULL); + foo = gtk_widget_render_icon_pixbuf (blah, GTK_STOCK_NEW, GTK_ICON_SIZE_MENU); gtk_widget_destroy (blah); model = gtk_tree_store_new (NUM_COLUMNS, From 7caec64bc35cba89871053a95eb9cc83e3ff71fc Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:04:15 +0100 Subject: [PATCH 0498/1463] tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() --- tests/testnotebookdnd.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c index 459146d609..a20597b8d1 100644 --- a/tests/testnotebookdnd.c +++ b/tests/testnotebookdnd.c @@ -111,9 +111,9 @@ on_notebook_drag_begin (GtkWidget *widget, if (page_num > 2) { - pixbuf = gtk_widget_render_icon (widget, - (page_num % 2) ? GTK_STOCK_HELP : GTK_STOCK_STOP, - GTK_ICON_SIZE_DND, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (widget, + (page_num % 2) ? GTK_STOCK_HELP : GTK_STOCK_STOP, + GTK_ICON_SIZE_DND); gtk_drag_set_icon_pixbuf (context, pixbuf, 0, 0); g_object_unref (pixbuf); From 1312f774f5c27db904cdda04c43cc1c9ef8a6abe Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:04:52 +0100 Subject: [PATCH 0499/1463] tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() --- tests/testassistant.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/testassistant.c b/tests/testassistant.c index a6b4ef5e67..8501bbcc76 100644 --- a/tests/testassistant.c +++ b/tests/testassistant.c @@ -513,11 +513,11 @@ create_full_featured_assistant (GtkWidget *widget) gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, TRUE); /* set a side image */ - pixbuf = gtk_widget_render_icon (page, GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (page, GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); gtk_assistant_set_page_side_image (GTK_ASSISTANT (assistant), page, pixbuf); /* set a header image */ - pixbuf = gtk_widget_render_icon (page, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (page, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), page, pixbuf); page = get_test_page ("Invisible page"); @@ -531,7 +531,7 @@ create_full_featured_assistant (GtkWidget *widget) gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), page, TRUE); /* set a header image */ - pixbuf = gtk_widget_render_icon (page, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (page, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), page, pixbuf); } From e274ac4b6c78479d6162065e4aa4bb274314c8f6 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:08:01 +0100 Subject: [PATCH 0500/1463] tests: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() --- tests/testcombo.c | 64 +++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/tests/testcombo.c b/tests/testcombo.c index 4a04f1a6bd..f321fb0a55 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -166,8 +166,8 @@ create_tree_blaat (void) store = gtk_tree_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_BOOLEAN); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_DIALOG_WARNING, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_DIALOG_WARNING, + GTK_ICON_SIZE_BUTTON); gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, 0, pixbuf, @@ -175,8 +175,8 @@ create_tree_blaat (void) 2, FALSE, -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_STOP, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_STOP, + GTK_ICON_SIZE_BUTTON); gtk_tree_store_append (store, &iter2, &iter); gtk_tree_store_set (store, &iter2, 0, pixbuf, @@ -184,8 +184,8 @@ create_tree_blaat (void) 2, FALSE, -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_NEW, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_NEW, + GTK_ICON_SIZE_BUTTON); gtk_tree_store_append (store, &iter2, &iter); gtk_tree_store_set (store, &iter2, 0, pixbuf, @@ -193,8 +193,8 @@ create_tree_blaat (void) 2, FALSE, -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_CLEAR, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_CLEAR, + GTK_ICON_SIZE_BUTTON); gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, 0, pixbuf, @@ -211,8 +211,8 @@ create_tree_blaat (void) -1); #endif - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_OPEN, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_OPEN, + GTK_ICON_SIZE_BUTTON); gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, 0, pixbuf, @@ -237,8 +237,8 @@ create_empty_list_blaat (void) store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_DIALOG_WARNING, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_DIALOG_WARNING, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, @@ -268,24 +268,24 @@ populate_list_blaat (gpointer data) cellview = gtk_cell_view_new (); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_STOP, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_STOP, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, 1, "gtk-stock-stop", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_NEW, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_NEW, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, 1, "gtk-stock-new", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_CLEAR, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_CLEAR, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, @@ -298,8 +298,8 @@ populate_list_blaat (gpointer data) 1, "separator", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_OPEN, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_OPEN, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, @@ -321,32 +321,32 @@ create_list_blaat (void) store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_DIALOG_WARNING, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_DIALOG_WARNING, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, 1, "gtk-stock-dialog-warning", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_STOP, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_STOP, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, 1, "gtk-stock-stop", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_NEW, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_NEW, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, 1, "gtk-stock-new", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_CLEAR, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_CLEAR, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, @@ -359,8 +359,8 @@ create_list_blaat (void) 1, "separator", -1); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_OPEN, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_OPEN, + GTK_ICON_SIZE_BUTTON); gtk_list_store_append (store, &iter); gtk_list_store_set (store, &iter, 0, pixbuf, @@ -1077,8 +1077,8 @@ main (int argc, char **argv) cellview = gtk_cell_view_new (); renderer = gtk_cell_renderer_pixbuf_new (); - pixbuf = gtk_widget_render_icon (cellview, GTK_STOCK_DIALOG_WARNING, - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, GTK_STOCK_DIALOG_WARNING, + GTK_ICON_SIZE_BUTTON); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), renderer, From e77ce71caa93607efb413e46d515391f7efa3432 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:14:51 +0100 Subject: [PATCH 0501/1463] gtk-demo: gtk_widget_render_icon() => gtk_widget_render_icon_pixbuf() --- demos/gtk-demo/assistant.c | 6 +++--- demos/gtk-demo/clipboard.c | 4 ++-- demos/gtk-demo/combobox.c | 4 ++-- demos/gtk-demo/stock_browser.c | 6 +++--- demos/gtk-demo/toolpalette.c | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/demos/gtk-demo/assistant.c b/demos/gtk-demo/assistant.c index 09f48d4653..232d345c07 100644 --- a/demos/gtk-demo/assistant.c +++ b/demos/gtk-demo/assistant.c @@ -110,7 +110,7 @@ create_page1 (GtkWidget *assistant) gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 1"); gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), box, GTK_ASSISTANT_PAGE_INTRO); - pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf); g_object_unref (pixbuf); } @@ -133,7 +133,7 @@ create_page2 (GtkWidget *assistant) gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 2"); - pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf); g_object_unref (pixbuf); } @@ -152,7 +152,7 @@ create_page3 (GtkWidget *assistant) gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE); gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, "Confirmation"); - pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG); gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), label, pixbuf); g_object_unref (pixbuf); } diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c index e77b88c9b2..e48eb509ed 100644 --- a/demos/gtk-demo/clipboard.c +++ b/demos/gtk-demo/clipboard.c @@ -77,8 +77,8 @@ get_image_pixbuf (GtkImage *image) return g_object_ref (gtk_image_get_pixbuf (image)); case GTK_IMAGE_STOCK: gtk_image_get_stock (image, &stock_id, &size); - return gtk_widget_render_icon (GTK_WIDGET (image), - stock_id, size, NULL); + return gtk_widget_render_icon_pixbuf (GTK_WIDGET (image), + stock_id, size); default: g_warning ("Image storage type %d not handled", gtk_image_get_storage_type (image)); diff --git a/demos/gtk-demo/combobox.c b/demos/gtk-demo/combobox.c index fbe6c12eeb..e9bf96ba22 100644 --- a/demos/gtk-demo/combobox.c +++ b/demos/gtk-demo/combobox.c @@ -65,8 +65,8 @@ create_stock_icon_store (void) { if (stock_id[i]) { - pixbuf = gtk_widget_render_icon (cellview, stock_id[i], - GTK_ICON_SIZE_BUTTON, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (cellview, stock_id[i], + GTK_ICON_SIZE_BUTTON); gtk_stock_lookup (stock_id[i], &item); label = strip_underscore (item.label); gtk_list_store_append (store, &iter); diff --git a/demos/gtk-demo/stock_browser.c b/demos/gtk-demo/stock_browser.c index e6fed81dd4..d0d3442034 100644 --- a/demos/gtk-demo/stock_browser.c +++ b/demos/gtk-demo/stock_browser.c @@ -166,9 +166,9 @@ create_model (void) } g_free (sizes); - info.small_icon = gtk_widget_render_icon (window, info.id, - size, - NULL); + info.small_icon = gtk_widget_render_icon_pixbuf (window, + info.id, + size); if (size != GTK_ICON_SIZE_MENU) { diff --git a/demos/gtk-demo/toolpalette.c b/demos/gtk-demo/toolpalette.c index 2431d6a4fe..73ab5c1878 100644 --- a/demos/gtk-demo/toolpalette.c +++ b/demos/gtk-demo/toolpalette.c @@ -41,7 +41,7 @@ canvas_item_new (GtkWidget *widget, GdkPixbuf *pixbuf; stock_id = gtk_tool_button_get_stock_id (button); - pixbuf = gtk_widget_render_icon (widget, stock_id, GTK_ICON_SIZE_DIALOG, NULL); + pixbuf = gtk_widget_render_icon_pixbuf (widget, stock_id, GTK_ICON_SIZE_DIALOG); if (pixbuf) { From d3ed729643078b8fd7a64808c166ca2081178c02 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:28:14 +0100 Subject: [PATCH 0502/1463] gtkrc: Remove unused code Makes gcc happy. --- gtk/gtkrc.c | 1848 --------------------------------------------------- 1 file changed, 1848 deletions(-) diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 54cf2fcd76..b0f239a97d 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -141,14 +141,9 @@ struct _GtkRcStylePrivate static GtkRcContext *gtk_rc_context_get (GtkSettings *settings); -static guint gtk_rc_style_hash (const gchar *name); -static gboolean gtk_rc_style_equal (const gchar *a, - const gchar *b); static guint gtk_rc_styles_hash (const GSList *rc_styles); static gboolean gtk_rc_styles_equal (const GSList *a, const GSList *b); -static GtkRcStyle* gtk_rc_style_find (GtkRcContext *context, - const gchar *name); static GSList * gtk_rc_styles_match (GSList *rc_styles, GSList *sets, guint path_length, @@ -171,53 +166,6 @@ static void gtk_rc_parse_any (GtkRcContext *context, const gchar *input_name, gint input_fd, const gchar *input_string); -static guint gtk_rc_parse_statement (GtkRcContext *context, - GScanner *scanner); -static guint gtk_rc_parse_style (GtkRcContext *context, - GScanner *scanner); -static guint gtk_rc_parse_assignment (GScanner *scanner, - GtkRcStyle *style, - GtkRcProperty *prop); -static guint gtk_rc_parse_bg (GScanner *scanner, - GtkRcStyle *style); -static guint gtk_rc_parse_fg (GScanner *scanner, - GtkRcStyle *style); -static guint gtk_rc_parse_text (GScanner *scanner, - GtkRcStyle *style); -static guint gtk_rc_parse_base (GScanner *scanner, - GtkRcStyle *style); -static guint gtk_rc_parse_xthickness (GScanner *scanner, - GtkRcStyle *style); -static guint gtk_rc_parse_ythickness (GScanner *scanner, - GtkRcStyle *style); -static guint gtk_rc_parse_bg_pixmap (GtkRcContext *context, - GScanner *scanner, - GtkRcStyle *rc_style); -static guint gtk_rc_parse_font (GScanner *scanner, - GtkRcStyle *rc_style); -static guint gtk_rc_parse_fontset (GScanner *scanner, - GtkRcStyle *rc_style); -static guint gtk_rc_parse_font_name (GScanner *scanner, - GtkRcStyle *rc_style); -static guint gtk_rc_parse_engine (GtkRcContext *context, - GScanner *scanner, - GtkRcStyle **rc_style); -static guint gtk_rc_parse_pixmap_path (GtkRcContext *context, - GScanner *scanner); -static void gtk_rc_parse_pixmap_path_string (GtkRcContext *context, - GScanner *scanner, - const gchar *pix_path); -static guint gtk_rc_parse_module_path (GScanner *scanner); -static guint gtk_rc_parse_im_module_file (GScanner *scanner); -static guint gtk_rc_parse_path_pattern (GtkRcContext *context, - GScanner *scanner); -static guint gtk_rc_parse_stock (GtkRcContext *context, - GScanner *scanner, - GtkRcStyle *rc_style, - GtkIconFactory *factory); -static guint gtk_rc_parse_logical_color (GScanner *scanner, - GtkRcStyle *rc_style, - GHashTable *hash); static void gtk_rc_clear_hash_node (gpointer key, gpointer data, @@ -927,25 +875,6 @@ gtk_rc_context_parse_string (GtkRcContext *context, void gtk_rc_parse_string (const gchar *rc_string) { - GtkRcFile *rc_file; - GSList *tmp_list; - - g_return_if_fail (rc_string != NULL); - -#if 0 - rc_file = g_new (GtkRcFile, 1); - rc_file->is_string = TRUE; - rc_file->name = g_strdup (rc_string); - rc_file->canonical_name = NULL; - rc_file->directory = NULL; - rc_file->mtime = 0; - rc_file->reload = TRUE; - - global_rc_files = g_slist_append (global_rc_files, rc_file); - - for (tmp_list = rc_contexts; tmp_list; tmp_list = tmp_list->next) - gtk_rc_context_parse_string (tmp_list->data, rc_string); -#endif } static GtkRcFile * @@ -1121,16 +1050,6 @@ gtk_rc_context_parse_file (GtkRcContext *context, void gtk_rc_parse (const gchar *filename) { - GSList *tmp_list; - - g_return_if_fail (filename != NULL); - -#if 0 - add_to_rc_file_list (&global_rc_files, filename, TRUE); - - for (tmp_list = rc_contexts; tmp_list; tmp_list = tmp_list->next) - gtk_rc_context_parse_file (tmp_list->data, filename, GTK_PATH_PRIO_RC, TRUE); -#endif } /* Handling of RC styles */ @@ -2198,93 +2117,6 @@ gtk_rc_parse_any (GtkRcContext *context, gint input_fd, const gchar *input_string) { - GScanner *scanner; - guint i; - gboolean done; - -#if 0 - scanner = gtk_rc_scanner_new (); - - if (input_fd >= 0) - { - g_assert (input_string == NULL); - - g_scanner_input_file (scanner, input_fd); - } - else - { - g_assert (input_string != NULL); - - g_scanner_input_text (scanner, input_string, strlen (input_string)); - } - scanner->input_name = input_name; - - for (i = 0; i < G_N_ELEMENTS (symbols); i++) - g_scanner_scope_add_symbol (scanner, 0, symbol_names + symbols[i].name_offset, GINT_TO_POINTER (symbols[i].token)); - done = FALSE; - while (!done) - { - if (g_scanner_peek_next_token (scanner) == G_TOKEN_EOF) - done = TRUE; - else - { - guint expected_token; - - expected_token = gtk_rc_parse_statement (context, scanner); - - if (expected_token != G_TOKEN_NONE) - { - const gchar *symbol_name = NULL; - gchar *msg = NULL; - - if (scanner->scope_id == 0) - { - guint token; - - /* if we are in scope 0, we know the symbol names - * that are associated with certain token values. - * so we look them up to make the error messages - * more readable. - */ - if (expected_token > GTK_RC_TOKEN_INVALID && - expected_token < GTK_RC_TOKEN_LAST) - { - const gchar *sym = NULL; - - for (i = 0; i < G_N_ELEMENTS (symbols); i++) - if (symbols[i].token == expected_token) - sym = symbol_names + symbols[i].name_offset; - - if (sym) - msg = g_strconcat ("e.g. `", sym, "'", NULL); - } - - token = scanner->token; - if (token > GTK_RC_TOKEN_INVALID && - token < GTK_RC_TOKEN_LAST) - { - symbol_name = "???"; - for (i = 0; i < G_N_ELEMENTS (symbols); i++) - if (symbols[i].token == scanner->token) - symbol_name = symbol_names + symbols[i].name_offset; - } - } - - g_scanner_unexp_token (scanner, - expected_token, - NULL, - "keyword", - symbol_name, - msg, - TRUE); - g_free (msg); - done = TRUE; - } - } - } - - g_scanner_destroy (scanner); -#endif } static guint @@ -2317,35 +2149,6 @@ gtk_rc_styles_equal (const GSList *a, return (a == b); } -static guint -gtk_rc_style_hash (const gchar *name) -{ - guint result; - - result = 0; - while (*name) - result += (result << 3) + *name++; - - return result; -} - -static gboolean -gtk_rc_style_equal (const gchar *a, - const gchar *b) -{ - return (strcmp (a, b) == 0); -} - -static GtkRcStyle* -gtk_rc_style_find (GtkRcContext *context, - const gchar *name) -{ - if (context->rc_style_ht) - return g_hash_table_lookup (context->rc_style_ht, (gpointer) name); - else - return NULL; -} - static GtkStyle * gtk_rc_style_to_style (GtkRcContext *context, GtkRcStyle *rc_style) @@ -2475,759 +2278,6 @@ lookup_color (GtkRcStyle *style, return FALSE; } -static guint -rc_parse_token_or_compound (GScanner *scanner, - GtkRcStyle *style, - GString *gstring, - GTokenType delimiter) -{ - guint token = g_scanner_get_next_token (scanner); - - /* we either scan a single token (skipping comments) - * or a compund statement. - * compunds are enclosed in (), [] or {} braces, we read - * them in via deep recursion. - */ - - switch (token) - { - gchar *string; - case G_TOKEN_INT: - g_string_append_printf (gstring, " 0x%lx", scanner->value.v_int); - break; - case G_TOKEN_FLOAT: - g_string_append_printf (gstring, " %f", scanner->value.v_float); - break; - case G_TOKEN_STRING: - string = g_strescape (scanner->value.v_string, NULL); - g_string_append (gstring, " \""); - g_string_append (gstring, string); - g_string_append_c (gstring, '"'); - g_free (string); - break; - case G_TOKEN_IDENTIFIER: - g_string_append_c (gstring, ' '); - g_string_append (gstring, scanner->value.v_identifier); - break; - case G_TOKEN_COMMENT_SINGLE: - case G_TOKEN_COMMENT_MULTI: - return rc_parse_token_or_compound (scanner, style, gstring, delimiter); - case G_TOKEN_LEFT_PAREN: - g_string_append_c (gstring, ' '); - g_string_append_c (gstring, token); - token = rc_parse_token_or_compound (scanner, style, gstring, G_TOKEN_RIGHT_PAREN); - if (token != G_TOKEN_NONE) - return token; - break; - case G_TOKEN_LEFT_CURLY: - g_string_append_c (gstring, ' '); - g_string_append_c (gstring, token); - token = rc_parse_token_or_compound (scanner, style, gstring, G_TOKEN_RIGHT_CURLY); - if (token != G_TOKEN_NONE) - return token; - break; - case G_TOKEN_LEFT_BRACE: - g_string_append_c (gstring, ' '); - g_string_append_c (gstring, token); - token = rc_parse_token_or_compound (scanner, style, gstring, G_TOKEN_RIGHT_BRACE); - if (token != G_TOKEN_NONE) - return token; - break; - case '@': - if (g_scanner_peek_next_token (scanner) == G_TOKEN_IDENTIFIER) - { - GdkColor color; - gchar rbuf[G_ASCII_DTOSTR_BUF_SIZE]; - gchar gbuf[G_ASCII_DTOSTR_BUF_SIZE]; - gchar bbuf[G_ASCII_DTOSTR_BUF_SIZE]; - - g_scanner_get_next_token (scanner); - - if (!style || !lookup_color (style, scanner->value.v_identifier, - &color)) - { - g_scanner_warn (scanner, "Invalid symbolic color '%s'", - scanner->value.v_identifier); - return G_TOKEN_IDENTIFIER; - } - - - g_string_append_printf (gstring, " { %s, %s, %s }", - g_ascii_formatd (rbuf, sizeof (rbuf), - "%0.4f", - color.red / 65535.0), - g_ascii_formatd (gbuf, sizeof (gbuf), - "%0.4f", - color.green / 65535.0), - g_ascii_formatd (bbuf, sizeof (bbuf), - "%0.4f", - color.blue / 65535.0)); - break; - } - else - return G_TOKEN_IDENTIFIER; - default: - if (token >= 256 || token < 1) - return delimiter ? delimiter : G_TOKEN_STRING; - g_string_append_c (gstring, ' '); - g_string_append_c (gstring, token); - if (token == delimiter) - return G_TOKEN_NONE; - break; - } - if (!delimiter) - return G_TOKEN_NONE; - else - return rc_parse_token_or_compound (scanner, style, gstring, delimiter); -} - -static guint -gtk_rc_parse_assignment (GScanner *scanner, - GtkRcStyle *style, - GtkRcProperty *prop) -{ -#define MY_SCAN_IDENTIFIER TRUE -#define MY_SCAN_SYMBOLS FALSE -#define MY_IDENTIFIER_2_STRING FALSE -#define MY_CHAR_2_TOKEN TRUE -#define MY_SCAN_IDENTIFIER_NULL FALSE -#define MY_NUMBERS_2_INT TRUE - - gboolean scan_identifier = scanner->config->scan_identifier; - gboolean scan_symbols = scanner->config->scan_symbols; - gboolean identifier_2_string = scanner->config->identifier_2_string; - gboolean char_2_token = scanner->config->char_2_token; - gboolean scan_identifier_NULL = scanner->config->scan_identifier_NULL; - gboolean numbers_2_int = scanner->config->numbers_2_int; - gboolean negate = FALSE; - gboolean is_color = FALSE; - guint token; - - /* check that this is an assignment */ - if (g_scanner_get_next_token (scanner) != '=') - return '='; - - /* adjust scanner mode */ - scanner->config->scan_identifier = MY_SCAN_IDENTIFIER; - scanner->config->scan_symbols = MY_SCAN_SYMBOLS; - scanner->config->identifier_2_string = MY_IDENTIFIER_2_STRING; - scanner->config->char_2_token = MY_CHAR_2_TOKEN; - scanner->config->scan_identifier_NULL = MY_SCAN_IDENTIFIER_NULL; - scanner->config->numbers_2_int = MY_NUMBERS_2_INT; - - /* record location */ - if (g_getenv ("GTK_DEBUG")) - prop->origin = g_strdup_printf ("%s:%u", scanner->input_name, scanner->line); - else - prop->origin = NULL; - - /* parse optional symbolic color prefix */ - if (g_scanner_peek_next_token (scanner) == '@') - { - g_scanner_get_next_token (scanner); /* eat color prefix */ - is_color = TRUE; - } - - /* parse optional sign */ - if (!is_color && g_scanner_peek_next_token (scanner) == '-') - { - g_scanner_get_next_token (scanner); /* eat sign */ - negate = TRUE; - } - - /* parse one of LONG, DOUBLE and STRING or, if that fails, create an - * unparsed compund - */ - token = g_scanner_peek_next_token (scanner); - - if (is_color && token != G_TOKEN_IDENTIFIER) - { - token = G_TOKEN_IDENTIFIER; - goto out; - } - - switch (token) - { - case G_TOKEN_INT: - g_scanner_get_next_token (scanner); - g_value_init (&prop->value, G_TYPE_LONG); - g_value_set_long (&prop->value, negate ? -scanner->value.v_int : scanner->value.v_int); - token = G_TOKEN_NONE; - break; - case G_TOKEN_FLOAT: - g_scanner_get_next_token (scanner); - g_value_init (&prop->value, G_TYPE_DOUBLE); - g_value_set_double (&prop->value, negate ? -scanner->value.v_float : scanner->value.v_float); - token = G_TOKEN_NONE; - break; - case G_TOKEN_STRING: - g_scanner_get_next_token (scanner); - if (negate) - token = G_TOKEN_INT; - else - { - g_value_init (&prop->value, G_TYPE_STRING); - g_value_set_string (&prop->value, scanner->value.v_string); - token = G_TOKEN_NONE; - } - break; - case G_TOKEN_IDENTIFIER: - if (is_color) - { - GdkColor color; - gchar rbuf[G_ASCII_DTOSTR_BUF_SIZE]; - gchar gbuf[G_ASCII_DTOSTR_BUF_SIZE]; - gchar bbuf[G_ASCII_DTOSTR_BUF_SIZE]; - GString *gstring; - - g_scanner_get_next_token (scanner); - - if (!style || !lookup_color (style, scanner->value.v_identifier, - &color)) - { - g_scanner_warn (scanner, "Invalid symbolic color '%s'", - scanner->value.v_identifier); - token = G_TOKEN_IDENTIFIER; - break; - } - - gstring = g_string_new (NULL); - - g_string_append_printf (gstring, " { %s, %s, %s }", - g_ascii_formatd (rbuf, sizeof (rbuf), - "%0.4f", - color.red / 65535.0), - g_ascii_formatd (gbuf, sizeof (gbuf), - "%0.4f", - color.green / 65535.0), - g_ascii_formatd (bbuf, sizeof (bbuf), - "%0.4f", - color.blue / 65535.0)); - - g_value_init (&prop->value, G_TYPE_GSTRING); - g_value_take_boxed (&prop->value, gstring); - token = G_TOKEN_NONE; - break; - } - /* fall through */ - case G_TOKEN_LEFT_PAREN: - case G_TOKEN_LEFT_CURLY: - case G_TOKEN_LEFT_BRACE: - if (!negate) - { - GString *gstring = g_string_new (NULL); - gboolean parse_on = TRUE; - - /* allow identifier(foobar) to support color expressions */ - if (token == G_TOKEN_IDENTIFIER) - { - g_scanner_get_next_token (scanner); - - g_string_append_c (gstring, ' '); - g_string_append (gstring, scanner->value.v_identifier); - - /* temporarily reset scanner mode to default, so we - * don't peek the next token in a mode that only makes - * sense in this function; because if anything but - * G_TOKEN_LEFT_PAREN follows, the next token will be - * parsed by our caller. - * - * FIXME: right fix would be to call g_scanner_unget() - * but that doesn't exist - */ - scanner->config->scan_identifier = scan_identifier; - scanner->config->scan_symbols = scan_symbols; - scanner->config->identifier_2_string = identifier_2_string; - scanner->config->char_2_token = char_2_token; - scanner->config->scan_identifier_NULL = scan_identifier_NULL; - scanner->config->numbers_2_int = numbers_2_int; - - token = g_scanner_peek_next_token (scanner); - - /* restore adjusted scanner mode */ - scanner->config->scan_identifier = MY_SCAN_IDENTIFIER; - scanner->config->scan_symbols = MY_SCAN_SYMBOLS; - scanner->config->identifier_2_string = MY_IDENTIFIER_2_STRING; - scanner->config->char_2_token = MY_CHAR_2_TOKEN; - scanner->config->scan_identifier_NULL = MY_SCAN_IDENTIFIER_NULL; - scanner->config->numbers_2_int = MY_NUMBERS_2_INT; - - if (token != G_TOKEN_LEFT_PAREN) - { - token = G_TOKEN_NONE; - parse_on = FALSE; - } - } - - if (parse_on) - token = rc_parse_token_or_compound (scanner, style, gstring, 0); - - if (token == G_TOKEN_NONE) - { - g_string_append_c (gstring, ' '); - g_value_init (&prop->value, G_TYPE_GSTRING); - g_value_take_boxed (&prop->value, gstring); - } - else - g_string_free (gstring, TRUE); - break; - } - /* fall through */ - default: - g_scanner_get_next_token (scanner); - token = G_TOKEN_INT; - break; - } - - out: - - /* restore scanner mode */ - scanner->config->scan_identifier = scan_identifier; - scanner->config->scan_symbols = scan_symbols; - scanner->config->identifier_2_string = identifier_2_string; - scanner->config->char_2_token = char_2_token; - scanner->config->scan_identifier_NULL = scan_identifier_NULL; - scanner->config->numbers_2_int = numbers_2_int; - - return token; -} - -static gboolean -is_c_identifier (const gchar *string) -{ - const gchar *p; - gboolean is_varname; - - is_varname = strchr ("_" G_CSET_a_2_z G_CSET_A_2_Z, string[0]) != NULL; - for (p = string + 1; *p && is_varname; p++) - is_varname &= strchr (G_CSET_DIGITS "-_" G_CSET_a_2_z G_CSET_A_2_Z, *p) != NULL; - - return is_varname; -} - -static void -parse_include_file (GtkRcContext *context, - GScanner *scanner, - const gchar *filename) -{ - char *to_parse = NULL; - - if (g_path_is_absolute (filename)) - { - /* For abolute paths, we call gtk_rc_context_parse_file unconditionally. We - * don't print an error in this case. - */ - to_parse = g_strdup (filename); - } - else - { - /* if a relative path, we look relative to all the RC files in the - * include stack. We require the file to be found in this case - * so we can give meaningful error messages, and because on reparsing - * non-absolute paths don't make sense. - */ - GSList *tmp_list = current_files_stack; - while (tmp_list) - { - GtkRcFile *curfile = tmp_list->data; - gchar *tmpname = g_build_filename (curfile->directory, filename, NULL); - - if (g_file_test (tmpname, G_FILE_TEST_EXISTS)) - { - to_parse = tmpname; - break; - } - - g_free (tmpname); - - tmp_list = tmp_list->next; - } - } - - if (to_parse) - { - gtk_rc_context_parse_file (context, to_parse, context->default_priority, FALSE); - g_free (to_parse); - } - else - { - g_scanner_warn (scanner, - _("Unable to find include file: \"%s\""), - filename); - } - -} - -static guint -gtk_rc_parse_statement (GtkRcContext *context, - GScanner *scanner) -{ - guint token; - - token = g_scanner_peek_next_token (scanner); - switch (token) - { - case GTK_RC_TOKEN_INCLUDE: - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_INCLUDE) - return GTK_RC_TOKEN_INCLUDE; - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - parse_include_file (context, scanner, scanner->value.v_string); - return G_TOKEN_NONE; - - case GTK_RC_TOKEN_STYLE: - return gtk_rc_parse_style (context, scanner); - - case GTK_RC_TOKEN_BINDING: - return _gtk_binding_parse_binding (scanner); - - case GTK_RC_TOKEN_PIXMAP_PATH: - return gtk_rc_parse_pixmap_path (context, scanner); - - case GTK_RC_TOKEN_WIDGET: - return gtk_rc_parse_path_pattern (context, scanner); - - case GTK_RC_TOKEN_WIDGET_CLASS: - return gtk_rc_parse_path_pattern (context, scanner); - - case GTK_RC_TOKEN_CLASS: - return gtk_rc_parse_path_pattern (context, scanner); - - case GTK_RC_TOKEN_MODULE_PATH: - return gtk_rc_parse_module_path (scanner); - - case GTK_RC_TOKEN_IM_MODULE_FILE: - return gtk_rc_parse_im_module_file (scanner); - - case G_TOKEN_IDENTIFIER: - if (is_c_identifier (scanner->next_value.v_identifier)) - { - GtkRcProperty prop = { 0, 0, NULL, { 0, }, }; - gchar *name; - - g_scanner_get_next_token (scanner); /* eat identifier */ - name = g_strdup (scanner->value.v_identifier); - - token = gtk_rc_parse_assignment (scanner, NULL, &prop); - if (token == G_TOKEN_NONE) - { - GtkSettingsValue svalue; - - svalue.origin = prop.origin; - memcpy (&svalue.value, &prop.value, sizeof (prop.value)); - g_strcanon (name, G_CSET_DIGITS "-" G_CSET_a_2_z G_CSET_A_2_Z, '-'); - _gtk_settings_set_property_value_from_rc (context->settings, - name, - &svalue); - } - g_free (prop.origin); - if (G_VALUE_TYPE (&prop.value)) - g_value_unset (&prop.value); - g_free (name); - - return token; - } - else - { - g_scanner_get_next_token (scanner); - return G_TOKEN_IDENTIFIER; - } - default: - g_scanner_get_next_token (scanner); - return /* G_TOKEN_SYMBOL */ GTK_RC_TOKEN_STYLE; - } -} - -static void -fixup_rc_set (GSList *list, - GtkRcStyle *orig, - GtkRcStyle *new) -{ - while (list) - { - GtkRcSet *set = list->data; - if (set->rc_style == orig) - set->rc_style = new; - list = list->next; - } -} - -static void -fixup_rc_sets (GtkRcContext *context, - GtkRcStyle *orig, - GtkRcStyle *new) -{ - fixup_rc_set (context->rc_sets_widget, orig, new); - fixup_rc_set (context->rc_sets_widget_class, orig, new); - fixup_rc_set (context->rc_sets_class, orig, new); -} - -static guint -gtk_rc_parse_style (GtkRcContext *context, - GScanner *scanner) -{ - GtkRcStyle *rc_style; - GtkRcStyle *orig_style; - GtkRcStyle *parent_style = NULL; - GtkRcStylePrivate *rc_priv = NULL; - guint token; - gint i; - GtkIconFactory *our_factory = NULL; - GHashTable *our_hash = NULL; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_STYLE) - return GTK_RC_TOKEN_STYLE; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - rc_style = gtk_rc_style_find (context, scanner->value.v_string); - if (rc_style) - orig_style = g_object_ref (rc_style); - else - orig_style = NULL; - - if (!rc_style) - { - rc_style = gtk_rc_style_new (); - rc_style->name = g_strdup (scanner->value.v_string); - - for (i = 0; i < 5; i++) - rc_style->bg_pixmap_name[i] = NULL; - - for (i = 0; i < 5; i++) - rc_style->color_flags[i] = 0; - } - - rc_priv = GTK_RC_STYLE_GET_PRIVATE (rc_style); - - /* If there's a list, its first member is always the factory belonging - * to this RcStyle - */ - if (rc_style->icon_factories) - our_factory = rc_style->icon_factories->data; - if (rc_priv->color_hashes) - our_hash = rc_priv->color_hashes->data; - - token = g_scanner_peek_next_token (scanner); - if (token == G_TOKEN_EQUAL_SIGN) - { - token = g_scanner_get_next_token (scanner); - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - { - token = G_TOKEN_STRING; - goto err; - } - - parent_style = gtk_rc_style_find (context, scanner->value.v_string); - if (parent_style) - { - for (i = 0; i < 5; i++) - { - rc_style->color_flags[i] = parent_style->color_flags[i]; - rc_style->fg[i] = parent_style->fg[i]; - rc_style->bg[i] = parent_style->bg[i]; - rc_style->text[i] = parent_style->text[i]; - rc_style->base[i] = parent_style->base[i]; - } - - rc_style->xthickness = parent_style->xthickness; - rc_style->ythickness = parent_style->ythickness; - - if (parent_style->font_desc) - { - if (rc_style->font_desc) - pango_font_description_free (rc_style->font_desc); - rc_style->font_desc = pango_font_description_copy (parent_style->font_desc); - } - - if (parent_style->rc_properties) - { - guint i; - - for (i = 0; i < parent_style->rc_properties->len; i++) - insert_rc_property (rc_style, - &g_array_index (parent_style->rc_properties, GtkRcProperty, i), - TRUE); - } - - for (i = 0; i < 5; i++) - { - g_free (rc_style->bg_pixmap_name[i]); - rc_style->bg_pixmap_name[i] = g_strdup (parent_style->bg_pixmap_name[i]); - } - } - } - - /* get icon_factories and color_hashes from the parent style; - * if the parent_style doesn't have color_hashes, initializes - * the color_hashes with the settings' color scheme (if it exists) - */ - gtk_rc_style_copy_icons_and_colors (rc_style, parent_style, context); - - if (rc_style->icon_factories) - our_factory = rc_style->icon_factories->data; - if (rc_priv->color_hashes) - our_hash = rc_priv->color_hashes->data; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_LEFT_CURLY) - { - token = G_TOKEN_LEFT_CURLY; - goto err; - } - - token = g_scanner_peek_next_token (scanner); - while (token != G_TOKEN_RIGHT_CURLY) - { - switch (token) - { - case GTK_RC_TOKEN_BG: - token = gtk_rc_parse_bg (scanner, rc_style); - break; - case GTK_RC_TOKEN_FG: - token = gtk_rc_parse_fg (scanner, rc_style); - break; - case GTK_RC_TOKEN_TEXT: - token = gtk_rc_parse_text (scanner, rc_style); - break; - case GTK_RC_TOKEN_BASE: - token = gtk_rc_parse_base (scanner, rc_style); - break; - case GTK_RC_TOKEN_XTHICKNESS: - token = gtk_rc_parse_xthickness (scanner, rc_style); - break; - case GTK_RC_TOKEN_YTHICKNESS: - token = gtk_rc_parse_ythickness (scanner, rc_style); - break; - case GTK_RC_TOKEN_BG_PIXMAP: - token = gtk_rc_parse_bg_pixmap (context, scanner, rc_style); - break; - case GTK_RC_TOKEN_FONT: - token = gtk_rc_parse_font (scanner, rc_style); - break; - case GTK_RC_TOKEN_FONTSET: - token = gtk_rc_parse_fontset (scanner, rc_style); - break; - case GTK_RC_TOKEN_FONT_NAME: - token = gtk_rc_parse_font_name (scanner, rc_style); - break; - case GTK_RC_TOKEN_ENGINE: - token = gtk_rc_parse_engine (context, scanner, &rc_style); - break; - case GTK_RC_TOKEN_STOCK: - if (our_factory == NULL) - gtk_rc_style_prepend_empty_icon_factory (rc_style); - our_factory = rc_style->icon_factories->data; - token = gtk_rc_parse_stock (context, scanner, rc_style, our_factory); - break; - case GTK_RC_TOKEN_COLOR: - if (our_hash == NULL) - { - gtk_rc_style_prepend_empty_color_hash (rc_style); - our_hash = rc_priv->color_hashes->data; - } - token = gtk_rc_parse_logical_color (scanner, rc_style, our_hash); - break; - case G_TOKEN_IDENTIFIER: - if (is_c_identifier (scanner->next_value.v_identifier)) - { - GtkRcProperty prop = { 0, 0, NULL, { 0, }, }; - gchar *name; - - g_scanner_get_next_token (scanner); /* eat type name */ - prop.type_name = g_quark_from_string (scanner->value.v_identifier); - if (g_scanner_get_next_token (scanner) != ':' || - g_scanner_get_next_token (scanner) != ':') - { - token = ':'; - break; - } - if (g_scanner_get_next_token (scanner) != G_TOKEN_IDENTIFIER || - !is_c_identifier (scanner->value.v_identifier)) - { - token = G_TOKEN_IDENTIFIER; - break; - } - - /* it's important that we do the same canonification as GParamSpecPool here */ - name = g_strdup (scanner->value.v_identifier); - g_strcanon (name, G_CSET_DIGITS "-" G_CSET_a_2_z G_CSET_A_2_Z, '-'); - prop.property_name = g_quark_from_string (name); - g_free (name); - - token = gtk_rc_parse_assignment (scanner, rc_style, &prop); - if (token == G_TOKEN_NONE) - { - g_return_val_if_fail (G_VALUE_TYPE (&prop.value) != 0, G_TOKEN_ERROR); - insert_rc_property (rc_style, &prop, TRUE); - } - - g_free (prop.origin); - if (G_VALUE_TYPE (&prop.value)) - g_value_unset (&prop.value); - } - else - { - g_scanner_get_next_token (scanner); - token = G_TOKEN_IDENTIFIER; - } - break; - default: - g_scanner_get_next_token (scanner); - token = G_TOKEN_RIGHT_CURLY; - break; - } - - if (token != G_TOKEN_NONE) - goto err; - - token = g_scanner_peek_next_token (scanner); - } /* while (token != G_TOKEN_RIGHT_CURLY) */ - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_RIGHT_CURLY) - { - token = G_TOKEN_RIGHT_CURLY; - goto err; - } - - if (rc_style != orig_style) - { - if (!context->rc_style_ht) - context->rc_style_ht = g_hash_table_new ((GHashFunc) gtk_rc_style_hash, - (GEqualFunc) gtk_rc_style_equal); - - g_hash_table_replace (context->rc_style_ht, rc_style->name, rc_style); - - /* If we copied the data into a new rc style, fix up references to the old rc style - * in bindings that we have. - */ - if (orig_style) - fixup_rc_sets (context, orig_style, rc_style); - } - - if (orig_style) - g_object_unref (orig_style); - - return G_TOKEN_NONE; - - err: - if (rc_style != orig_style) - g_object_unref (rc_style); - - if (orig_style) - g_object_unref (orig_style); - - return token; -} - const GtkRcProperty* _gtk_rc_style_lookup_rc_property (GtkRcStyle *rc_style, GQuark type_name, @@ -3252,181 +2302,6 @@ _gtk_rc_style_lookup_rc_property (GtkRcStyle *rc_style, return node; } -static guint -gtk_rc_parse_bg (GScanner *scanner, - GtkRcStyle *style) -{ - GtkStateType state; - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_BG) - return GTK_RC_TOKEN_BG; - - token = gtk_rc_parse_state (scanner, &state); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - style->color_flags[state] |= GTK_RC_BG; - return gtk_rc_parse_color_full (scanner, style, &style->bg[state]); -} - -static guint -gtk_rc_parse_fg (GScanner *scanner, - GtkRcStyle *style) -{ - GtkStateType state; - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_FG) - return GTK_RC_TOKEN_FG; - - token = gtk_rc_parse_state (scanner, &state); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - style->color_flags[state] |= GTK_RC_FG; - return gtk_rc_parse_color_full (scanner, style, &style->fg[state]); -} - -static guint -gtk_rc_parse_text (GScanner *scanner, - GtkRcStyle *style) -{ - GtkStateType state; - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_TEXT) - return GTK_RC_TOKEN_TEXT; - - token = gtk_rc_parse_state (scanner, &state); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - style->color_flags[state] |= GTK_RC_TEXT; - return gtk_rc_parse_color_full (scanner, style, &style->text[state]); -} - -static guint -gtk_rc_parse_base (GScanner *scanner, - GtkRcStyle *style) -{ - GtkStateType state; - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_BASE) - return GTK_RC_TOKEN_BASE; - - token = gtk_rc_parse_state (scanner, &state); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - style->color_flags[state] |= GTK_RC_BASE; - return gtk_rc_parse_color_full (scanner, style, &style->base[state]); -} - -static guint -gtk_rc_parse_xthickness (GScanner *scanner, - GtkRcStyle *style) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_XTHICKNESS) - return GTK_RC_TOKEN_XTHICKNESS; - - if (g_scanner_get_next_token (scanner) != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - if (g_scanner_get_next_token (scanner) != G_TOKEN_INT) - return G_TOKEN_INT; - - style->xthickness = scanner->value.v_int; - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_ythickness (GScanner *scanner, - GtkRcStyle *style) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_YTHICKNESS) - return GTK_RC_TOKEN_YTHICKNESS; - - if (g_scanner_get_next_token (scanner) != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - if (g_scanner_get_next_token (scanner) != G_TOKEN_INT) - return G_TOKEN_INT; - - style->ythickness = scanner->value.v_int; - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_bg_pixmap (GtkRcContext *context, - GScanner *scanner, - GtkRcStyle *rc_style) -{ - GtkStateType state; - guint token; - gchar *pixmap_file; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_BG_PIXMAP) - return GTK_RC_TOKEN_BG_PIXMAP; - - token = gtk_rc_parse_state (scanner, &state); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - if ((strcmp (scanner->value.v_string, "") == 0) || - (strcmp (scanner->value.v_string, "") == 0)) - pixmap_file = g_strdup (scanner->value.v_string); - else - pixmap_file = gtk_rc_find_pixmap_in_path (context->settings, - scanner, scanner->value.v_string); - - if (pixmap_file) - { - g_free (rc_style->bg_pixmap_name[state]); - rc_style->bg_pixmap_name[state] = pixmap_file; - } - - return G_TOKEN_NONE; -} - static gchar* gtk_rc_check_pixmap_dir (const gchar *dir, const gchar *pixmap_file) @@ -3513,219 +2388,6 @@ gtk_rc_find_module_in_path (const gchar *module_file) return _gtk_find_module (module_file, "engines"); } -static guint -gtk_rc_parse_font (GScanner *scanner, - GtkRcStyle *rc_style) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_FONT) - return GTK_RC_TOKEN_FONT; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - /* Ignore, do nothing */ - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_fontset (GScanner *scanner, - GtkRcStyle *rc_style) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_FONTSET) - return GTK_RC_TOKEN_FONTSET; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - /* Do nothing - silently ignore */ - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_font_name (GScanner *scanner, - GtkRcStyle *rc_style) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_FONT_NAME) - return GTK_RC_TOKEN_FONT; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - return G_TOKEN_EQUAL_SIGN; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - if (rc_style->font_desc) - pango_font_description_free (rc_style->font_desc); - - rc_style->font_desc = - pango_font_description_from_string (scanner->value.v_string); - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_engine (GtkRcContext *context, - GScanner *scanner, - GtkRcStyle **rc_style) -{ - guint token; - GtkThemeEngine *engine; - guint result = G_TOKEN_NONE; - GtkRcStyle *new_style = NULL; - gboolean parsed_curlies = FALSE; - GtkRcStylePrivate *rc_priv, *new_priv; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_ENGINE) - return GTK_RC_TOKEN_ENGINE; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - if (!scanner->value.v_string[0]) - { - /* Support engine "" {} to mean override to the default engine - */ - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_LEFT_CURLY) - return G_TOKEN_LEFT_CURLY; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_RIGHT_CURLY) - return G_TOKEN_RIGHT_CURLY; - - parsed_curlies = TRUE; - - rc_priv = GTK_RC_STYLE_GET_PRIVATE (*rc_style); - - if (G_OBJECT_TYPE (*rc_style) != GTK_TYPE_RC_STYLE) - { - new_style = gtk_rc_style_new (); - gtk_rc_style_real_merge (new_style, *rc_style); - - new_style->name = g_strdup ((*rc_style)->name); - - /* take over icon factories and color hashes - * from the to-be-deleted style - */ - new_style->icon_factories = (*rc_style)->icon_factories; - (*rc_style)->icon_factories = NULL; - new_priv = GTK_RC_STYLE_GET_PRIVATE (new_style); - new_priv->color_hashes = rc_priv->color_hashes; - rc_priv->color_hashes = NULL; - } - else - (*rc_style)->engine_specified = TRUE; - } - else - { - engine = gtk_theme_engine_get (scanner->value.v_string); - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_LEFT_CURLY) - return G_TOKEN_LEFT_CURLY; - - if (engine) - { - GtkRcStyleClass *new_class; - - rc_priv = GTK_RC_STYLE_GET_PRIVATE (*rc_style); - new_style = gtk_theme_engine_create_rc_style (engine); - g_type_module_unuse (G_TYPE_MODULE (engine)); - - new_class = GTK_RC_STYLE_GET_CLASS (new_style); - - new_class->merge (new_style, *rc_style); - - new_style->name = g_strdup ((*rc_style)->name); - - /* take over icon factories and color hashes - * from the to-be-deleted style - */ - new_style->icon_factories = (*rc_style)->icon_factories; - (*rc_style)->icon_factories = NULL; - new_priv = GTK_RC_STYLE_GET_PRIVATE (new_style); - new_priv->color_hashes = rc_priv->color_hashes; - rc_priv->color_hashes = NULL; - - if (new_class->parse) - { - parsed_curlies = TRUE; - result = new_class->parse (new_style, context->settings, scanner); - - if (result != G_TOKEN_NONE) - { - /* copy icon factories and color hashes back - */ - (*rc_style)->icon_factories = new_style->icon_factories; - new_style->icon_factories = NULL; - rc_priv->color_hashes = new_priv->color_hashes; - new_priv->color_hashes = NULL; - - g_object_unref (new_style); - new_style = NULL; - } - } - } - } - - if (!parsed_curlies) - { - /* Skip over remainder, looking for nested {}'s - */ - guint count = 1; - - result = G_TOKEN_RIGHT_CURLY; - while ((token = g_scanner_get_next_token (scanner)) != G_TOKEN_EOF) - { - if (token == G_TOKEN_LEFT_CURLY) - count++; - else if (token == G_TOKEN_RIGHT_CURLY) - count--; - - if (count == 0) - { - result = G_TOKEN_NONE; - break; - } - } - } - - if (new_style) - { - new_style->engine_specified = TRUE; - - g_object_unref (*rc_style); - *rc_style = new_style; - } - - return result; -} - /** * gtk_rc_parse_state: * @scanner: @@ -4079,516 +2741,6 @@ gtk_rc_parse_color_full (GScanner *scanner, } } -static guint -gtk_rc_parse_pixmap_path (GtkRcContext *context, - GScanner *scanner) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_PIXMAP_PATH) - return GTK_RC_TOKEN_PIXMAP_PATH; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - gtk_rc_parse_pixmap_path_string (context, scanner, scanner->value.v_string); - - return G_TOKEN_NONE; -} - -static void -gtk_rc_parse_pixmap_path_string (GtkRcContext *context, - GScanner *scanner, - const gchar *pix_path) -{ - g_strfreev (context->pixmap_path); - context->pixmap_path = g_strsplit (pix_path, G_SEARCHPATH_SEPARATOR_S, -1); -} - -static guint -gtk_rc_parse_module_path (GScanner *scanner) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_MODULE_PATH) - return GTK_RC_TOKEN_MODULE_PATH; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - g_warning ("module_path directive is now ignored\n"); - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_im_module_file (GScanner *scanner) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_IM_MODULE_FILE) - return GTK_RC_TOKEN_IM_MODULE_FILE; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - g_free (im_module_file); - - im_module_file = g_strdup (scanner->value.v_string); - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_path_pattern (GtkRcContext *context, - GScanner *scanner) -{ - guint token; - GtkPathType path_type; - gchar *pattern; - gboolean is_binding; - GtkPathPriorityType priority = context->default_priority; - - token = g_scanner_get_next_token (scanner); - switch (token) - { - case GTK_RC_TOKEN_WIDGET: - path_type = GTK_PATH_WIDGET; - break; - case GTK_RC_TOKEN_WIDGET_CLASS: - path_type = GTK_PATH_WIDGET_CLASS; - break; - case GTK_RC_TOKEN_CLASS: - path_type = GTK_PATH_CLASS; - break; - default: - return GTK_RC_TOKEN_WIDGET_CLASS; - } - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - pattern = g_strdup (scanner->value.v_string); - - token = g_scanner_get_next_token (scanner); - if (token == GTK_RC_TOKEN_STYLE) - is_binding = FALSE; - else if (token == GTK_RC_TOKEN_BINDING) - is_binding = TRUE; - else - { - g_free (pattern); - return GTK_RC_TOKEN_STYLE; - } - - if (g_scanner_peek_next_token (scanner) == ':') - { - token = gtk_rc_parse_priority (scanner, &priority); - if (token != G_TOKEN_NONE) - { - g_free (pattern); - return token; - } - } - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_STRING) - { - g_free (pattern); - return G_TOKEN_STRING; - } - - if (is_binding) - { - GtkBindingSet *binding; - - binding = gtk_binding_set_find (scanner->value.v_string); - if (!binding) - { - g_free (pattern); - return G_TOKEN_STRING; - } - gtk_binding_set_add_path (binding, path_type, pattern, priority); - } - else - { - GtkRcStyle *rc_style; - GtkRcSet *rc_set; - - rc_style = gtk_rc_style_find (context, scanner->value.v_string); - - if (!rc_style) - { - g_free (pattern); - return G_TOKEN_STRING; - } - - rc_set = g_new (GtkRcSet, 1); - rc_set->type = path_type; - - if (path_type == GTK_PATH_WIDGET_CLASS) - { - rc_set->pspec = NULL; - rc_set->path = _gtk_rc_parse_widget_class_path (pattern); - } - else - { - rc_set->pspec = g_pattern_spec_new (pattern); - rc_set->path = NULL; - } - - rc_set->rc_style = rc_style; - rc_set->priority = priority; - - if (path_type == GTK_PATH_WIDGET) - context->rc_sets_widget = g_slist_prepend (context->rc_sets_widget, rc_set); - else if (path_type == GTK_PATH_WIDGET_CLASS) - context->rc_sets_widget_class = g_slist_prepend (context->rc_sets_widget_class, rc_set); - else - context->rc_sets_class = g_slist_prepend (context->rc_sets_class, rc_set); - } - - g_free (pattern); - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_hash_key (GScanner *scanner, - gchar **hash_key) -{ - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_LEFT_BRACE) - return G_TOKEN_LEFT_BRACE; - - token = g_scanner_get_next_token (scanner); - - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - *hash_key = g_strdup (scanner->value.v_string); - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_RIGHT_BRACE) - { - g_free (*hash_key); - return G_TOKEN_RIGHT_BRACE; - } - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_icon_source (GtkRcContext *context, - GScanner *scanner, - GtkIconSet *icon_set, - gboolean *icon_set_valid) -{ - guint token; - gchar *full_filename; - GtkIconSource *source = NULL; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_LEFT_CURLY) - return G_TOKEN_LEFT_CURLY; - - token = g_scanner_get_next_token (scanner); - - if (token != G_TOKEN_STRING && token != '@') - return G_TOKEN_STRING; - - if (token == G_TOKEN_STRING) - { - /* Filename */ - - source = gtk_icon_source_new (); - full_filename = gtk_rc_find_pixmap_in_path (context->settings, scanner, scanner->value.v_string); - if (full_filename) - { - gtk_icon_source_set_filename (source, full_filename); - g_free (full_filename); - } - } - else - { - /* Icon name */ - - token = g_scanner_get_next_token (scanner); - - if (token != G_TOKEN_STRING) - return G_TOKEN_STRING; - - source = gtk_icon_source_new (); - gtk_icon_source_set_icon_name (source, scanner->value.v_string); - } - - /* We continue parsing even if we didn't find the pixmap so that rest of the - * file is read, even if the syntax is bad. However we don't validate the - * icon_set so the caller can choose not to install it. - */ - token = g_scanner_get_next_token (scanner); - - if (token == G_TOKEN_RIGHT_CURLY) - goto done; - else if (token != G_TOKEN_COMMA) - { - gtk_icon_source_free (source); - return G_TOKEN_COMMA; - } - - /* Get the direction */ - - token = g_scanner_get_next_token (scanner); - - switch (token) - { - case GTK_RC_TOKEN_RTL: - gtk_icon_source_set_direction_wildcarded (source, FALSE); - gtk_icon_source_set_direction (source, GTK_TEXT_DIR_RTL); - break; - - case GTK_RC_TOKEN_LTR: - gtk_icon_source_set_direction_wildcarded (source, FALSE); - gtk_icon_source_set_direction (source, GTK_TEXT_DIR_LTR); - break; - - case '*': - break; - - default: - gtk_icon_source_free (source); - return GTK_RC_TOKEN_RTL; - break; - } - - token = g_scanner_get_next_token (scanner); - - if (token == G_TOKEN_RIGHT_CURLY) - goto done; - else if (token != G_TOKEN_COMMA) - { - gtk_icon_source_free (source); - return G_TOKEN_COMMA; - } - - /* Get the state */ - - token = g_scanner_get_next_token (scanner); - - switch (token) - { - case GTK_RC_TOKEN_NORMAL: - gtk_icon_source_set_state_wildcarded (source, FALSE); - gtk_icon_source_set_state (source, GTK_STATE_NORMAL); - break; - - case GTK_RC_TOKEN_PRELIGHT: - gtk_icon_source_set_state_wildcarded (source, FALSE); - gtk_icon_source_set_state (source, GTK_STATE_PRELIGHT); - break; - - - case GTK_RC_TOKEN_INSENSITIVE: - gtk_icon_source_set_state_wildcarded (source, FALSE); - gtk_icon_source_set_state (source, GTK_STATE_INSENSITIVE); - break; - - case GTK_RC_TOKEN_ACTIVE: - gtk_icon_source_set_state_wildcarded (source, FALSE); - gtk_icon_source_set_state (source, GTK_STATE_ACTIVE); - break; - - case GTK_RC_TOKEN_SELECTED: - gtk_icon_source_set_state_wildcarded (source, FALSE); - gtk_icon_source_set_state (source, GTK_STATE_SELECTED); - break; - - case '*': - break; - - default: - gtk_icon_source_free (source); - return GTK_RC_TOKEN_PRELIGHT; - break; - } - - token = g_scanner_get_next_token (scanner); - - if (token == G_TOKEN_RIGHT_CURLY) - goto done; - else if (token != G_TOKEN_COMMA) - { - gtk_icon_source_free (source); - return G_TOKEN_COMMA; - } - - /* Get the size */ - - token = g_scanner_get_next_token (scanner); - - if (token != '*') - { - GtkIconSize size; - - if (token != G_TOKEN_STRING) - { - gtk_icon_source_free (source); - return G_TOKEN_STRING; - } - - size = gtk_icon_size_from_name (scanner->value.v_string); - - if (size != GTK_ICON_SIZE_INVALID) - { - gtk_icon_source_set_size_wildcarded (source, FALSE); - gtk_icon_source_set_size (source, size); - } - } - - /* Check the close brace */ - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_RIGHT_CURLY) - { - gtk_icon_source_free (source); - return G_TOKEN_RIGHT_CURLY; - } - - done: - if (gtk_icon_source_get_filename (source) || - gtk_icon_source_get_icon_name (source)) - { - gtk_icon_set_add_source (icon_set, source); - *icon_set_valid = TRUE; - } - gtk_icon_source_free (source); - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_stock (GtkRcContext *context, - GScanner *scanner, - GtkRcStyle *rc_style, - GtkIconFactory *factory) -{ - GtkIconSet *icon_set = NULL; - gboolean icon_set_valid = FALSE; - gchar *stock_id = NULL; - guint token; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_STOCK) - return GTK_RC_TOKEN_STOCK; - - token = gtk_rc_parse_hash_key (scanner, &stock_id); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - { - g_free (stock_id); - return G_TOKEN_EQUAL_SIGN; - } - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_LEFT_CURLY) - { - g_free (stock_id); - return G_TOKEN_LEFT_CURLY; - } - - token = g_scanner_peek_next_token (scanner); - while (token != G_TOKEN_RIGHT_CURLY) - { - if (icon_set == NULL) - icon_set = gtk_icon_set_new (); - - token = gtk_rc_parse_icon_source (context, - scanner, icon_set, &icon_set_valid); - if (token != G_TOKEN_NONE) - { - g_free (stock_id); - gtk_icon_set_unref (icon_set); - return token; - } - - token = g_scanner_get_next_token (scanner); - - if (token != G_TOKEN_COMMA && - token != G_TOKEN_RIGHT_CURLY) - { - g_free (stock_id); - gtk_icon_set_unref (icon_set); - return G_TOKEN_RIGHT_CURLY; - } - } - - if (icon_set) - { - if (icon_set_valid) - gtk_icon_factory_add (factory, - stock_id, - icon_set); - - gtk_icon_set_unref (icon_set); - } - - g_free (stock_id); - - return G_TOKEN_NONE; -} - -static guint -gtk_rc_parse_logical_color (GScanner *scanner, - GtkRcStyle *rc_style, - GHashTable *hash) -{ - gchar *color_id = NULL; - guint token; - GdkColor color; - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_COLOR) - return GTK_RC_TOKEN_COLOR; - - token = gtk_rc_parse_hash_key (scanner, &color_id); - if (token != G_TOKEN_NONE) - return token; - - token = g_scanner_get_next_token (scanner); - if (token != G_TOKEN_EQUAL_SIGN) - { - g_free (color_id); - return G_TOKEN_EQUAL_SIGN; - } - - token = gtk_rc_parse_color_full (scanner, rc_style, &color); - if (token != G_TOKEN_NONE) - { - g_free (color_id); - return token; - } - - /* Because the hash is created with destroy functions, - * g_hash_table_insert will free any old values for us, - * if a mapping with the specified key already exists. - */ - g_hash_table_insert (hash, color_id, gdk_color_copy (&color)); - - return G_TOKEN_NONE; -} - - GSList * _gtk_rc_parse_widget_class_path (const gchar *pattern) { From 211ccb5c73a444683d493588c3eb29b457a5586b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:44:16 +0100 Subject: [PATCH 0503/1463] xim: Fix for new style code --- modules/input/gtkimcontextxim.c | 35 +++++++++------------------------ 1 file changed, 9 insertions(+), 26 deletions(-) diff --git a/modules/input/gtkimcontextxim.c b/modules/input/gtkimcontextxim.c index 035edc3a00..a6adf9f280 100644 --- a/modules/input/gtkimcontextxim.c +++ b/modules/input/gtkimcontextxim.c @@ -1755,14 +1755,19 @@ static gboolean on_status_window_draw (GtkWidget *widget, cairo_t *cr) { - GtkStyle *style; + GtkStyleContext *style; + GdkRGBA color; - style = gtk_widget_get_style (widget); + style = gtk_widget_get_style_context (widget); - gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_NORMAL]); + gtk_style_context_get_background_color (style, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); + cairo_paint (cr); + + gtk_style_context_get_color (style, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_paint (cr); - gdk_cairo_set_source_color (cr, &style->text[GTK_STATE_NORMAL]); cairo_rectangle (cr, 0, 0, gtk_widget_get_allocated_width (widget) - 1, @@ -1772,26 +1777,6 @@ on_status_window_draw (GtkWidget *widget, return FALSE; } -/* We watch the ::style-set signal for our label widget - * and use that to change it's foreground color to match - * the 'text' color of the toplevel window. The text/base - * pair of colors might be reversed from the fg/bg pair - * that are normally used for labels. - */ -static void -on_status_window_style_set (GtkWidget *toplevel, - GtkStyle *previous_style, - GtkWidget *label) -{ - GtkStyle *style; - gint i; - - style = gtk_widget_get_style (toplevel); - - for (i = 0; i < 5; i++) - gtk_widget_modify_fg (label, i, &style->text[i]); -} - /* Creates the widgets for the status window; called when we * first need to show text for the status window. */ @@ -1811,8 +1796,6 @@ status_window_make_window (StatusWindow *status_window) gtk_misc_set_padding (GTK_MISC (status_label), 1, 1); gtk_widget_show (status_label); - g_signal_connect (window, "style-set", - G_CALLBACK (on_status_window_style_set), status_label); gtk_container_add (GTK_CONTAINER (window), status_label); g_signal_connect (window, "draw", From 9e393020c41b4f1e8d69d5dd21c3f5a00f7dbad3 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 12:44:26 +0100 Subject: [PATCH 0504/1463] gail: Fix for new style code --- modules/other/gail/libgail-util/gailmisc.c | 42 ++++++++++++---------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/modules/other/gail/libgail-util/gailmisc.c b/modules/other/gail/libgail-util/gailmisc.c index a70a4f0109..83910bb562 100644 --- a/modules/other/gail/libgail-util/gailmisc.c +++ b/modules/other/gail/libgail-util/gailmisc.c @@ -19,6 +19,7 @@ #include "config.h" +#include #include #include #include "gailmisc.h" @@ -373,9 +374,11 @@ gail_misc_get_default_attributes (AtkAttributeSet *attrib_set, GtkWidget *widget) { PangoContext *context; - GtkStyle *style_value; + GtkStyleContext *style_context; gint int_value; PangoWrapMode mode; + GdkRGBA color; + gchar *value; attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION, @@ -453,25 +456,26 @@ gail_misc_get_default_attributes (AtkAttributeSet *attrib_set, g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_WRAP_MODE, int_value))); - style_value = gtk_widget_get_style (widget); - if (style_value) - { - GdkColor color; - gchar *value; + style_context = gtk_widget_get_style_context (widget); + + gtk_style_context_get_background_color (style_context, 0, &color); + value = g_strdup_printf ("%u,%u,%u", + (guint) ceil (color.red * 65536 - color.red), + (guint) ceil (color.green * 65536 - color.green), + (guint) ceil (color.blue * 65536 - color.blue)); + attrib_set = gail_misc_add_attribute (attrib_set, + ATK_TEXT_ATTR_BG_COLOR, + value); + + gtk_style_context_get_color (style_context, 0, &color); + value = g_strdup_printf ("%u,%u,%u", + (guint) ceil (color.red * 65536 - color.red), + (guint) ceil (color.green * 65536 - color.green), + (guint) ceil (color.blue * 65536 - color.blue)); + attrib_set = gail_misc_add_attribute (attrib_set, + ATK_TEXT_ATTR_FG_COLOR, + value); - color = style_value->base[GTK_STATE_NORMAL]; - value = g_strdup_printf ("%u,%u,%u", - color.red, color.green, color.blue); - attrib_set = gail_misc_add_attribute (attrib_set, - ATK_TEXT_ATTR_BG_COLOR, - value); - color = style_value->text[GTK_STATE_NORMAL]; - value = g_strdup_printf ("%u,%u,%u", - color.red, color.green, color.blue); - attrib_set = gail_misc_add_attribute (attrib_set, - ATK_TEXT_ATTR_FG_COLOR, - value); - } attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_STIPPLE, g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_FG_STIPPLE, From 1b64655eb6d600e8b90c68cb77dcc00d3535862a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 14:25:19 +0100 Subject: [PATCH 0505/1463] cssprovider: Explode if we fail to parse the default CSS This can only happen if somebody really messed up with a checkin, and in that case we want to explode early. --- gtk/gtkcssprovider.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 4696fcf9ac..1ea5ed9ae2 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3824,7 +3824,10 @@ gtk_css_provider_get_default (void) "\n"; provider = gtk_css_provider_new (); - gtk_css_provider_load_from_data (provider, str, -1, NULL); + if (!gtk_css_provider_load_from_data (provider, str, -1, NULL)) + { + g_error ("Failed to load the internal default CSS."); + } } return provider; From cae6021d3a67d3ba90a9f3e1dc5f94ca9206625d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 14:29:04 +0100 Subject: [PATCH 0506/1463] tests: Make testiconview-keynav set its custom style using CSS. --- tests/testiconview-keynav.c | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/tests/testiconview-keynav.c b/tests/testiconview-keynav.c index 07e9479fa2..002c003e76 100644 --- a/tests/testiconview-keynav.c +++ b/tests/testiconview-keynav.c @@ -209,20 +209,28 @@ focus_in (GtkWidget *view, return FALSE; } +#define CSS \ + "GtkWindow {\n" \ + " background-color: @base_color;\n" \ + "}\n" + static void -header_style_set (GtkWidget *widget, - GtkStyle *old_style) +set_styles (void) { - GtkStyle *style; + GtkCssProvider *provider; + GdkScreen *screen; - style = gtk_widget_get_style (widget); + provider = gtk_css_provider_new (); - g_signal_handlers_block_by_func (widget, header_style_set, NULL); - gtk_widget_modify_bg (widget, GTK_STATE_NORMAL, - &style->base[GTK_STATE_NORMAL]); - gtk_widget_modify_fg (widget, GTK_STATE_NORMAL, - &style->text[GTK_STATE_NORMAL]); - g_signal_handlers_unblock_by_func (widget, header_style_set, NULL); + if (!gtk_css_provider_load_from_data (provider, CSS, -1, NULL)) + { + g_assert_not_reached (); + } + + screen = gdk_display_get_default_screen (gdk_display_get_default ()); + + gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); } int @@ -234,6 +242,8 @@ main (int argc, char *argv[]) gtk_init (&argc, &argv); + set_styles (); + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); @@ -263,12 +273,6 @@ main (int argc, char *argv[]) G_CALLBACK (focus_in), NULL); g_signal_connect (views.view2, "focus-out-event", G_CALLBACK (focus_out), NULL); - g_signal_connect (views.header1, "style-set", - G_CALLBACK (header_style_set), NULL); - g_signal_connect (views.header2, "style-set", - G_CALLBACK (header_style_set), NULL); - g_signal_connect (window, "style-set", - G_CALLBACK (header_style_set), NULL); gtk_container_add (GTK_CONTAINER (vbox), views.header1); gtk_container_add (GTK_CONTAINER (vbox), views.view1); From 198fc0b774cbe51d4336246e8d34e8ab3d24cb1f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Dec 2010 14:29:37 +0100 Subject: [PATCH 0507/1463] tests: Hardcode testinput colors instead of trying to use GtkStyle Makes it work with new themeing APIs. --- tests/testinput.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/tests/testinput.c b/tests/testinput.c index b125c7562c..c7348d7657 100644 --- a/tests/testinput.c +++ b/tests/testinput.c @@ -119,26 +119,27 @@ static void draw_brush (GtkWidget *widget, GdkInputSource source, gdouble x, gdouble y, gdouble pressure) { - GtkStyle *style; - GdkColor color; + GdkRGBA color; GdkRectangle update_rect; cairo_t *cr; - style = gtk_widget_get_style (widget); + color.alpha = 1.0; switch (source) { case GDK_SOURCE_MOUSE: - color = style->dark[gtk_widget_get_state (widget)]; + color.red = color.green = 0.0; + color.blue = 1.0; break; case GDK_SOURCE_PEN: - color.red = color.green = color.blue = 0; + color.red = color.green = color.blue = 0.0; break; case GDK_SOURCE_ERASER: - color.red = color.green = color.blue = 65535; + color.red = color.green = color.blue = 1.0; break; default: - color = style->light[gtk_widget_get_state (widget)]; + color.red = color.blue = 0.0; + color.green = 1.0; } update_rect.x = x - 10 * pressure; @@ -147,7 +148,7 @@ draw_brush (GtkWidget *widget, GdkInputSource source, update_rect.height = 20 * pressure; cr = cairo_create (surface); - gdk_cairo_set_source_color (cr, &color); + gdk_cairo_set_source_rgba (cr, &color); gdk_cairo_rectangle (cr, &update_rect); cairo_fill (cr); cairo_destroy (cr); From ec82d133b103ee1fba2fadbbb119c3cb0204b81e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 15 Dec 2010 15:27:49 +0100 Subject: [PATCH 0508/1463] Remove debug messages from GdkDevice --- gdk/gdkdevice.c | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 6b9d108cab..57a1a83368 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -841,8 +841,6 @@ _gdk_device_set_device_type (GdkDevice *device, { priv->type = type; - g_print ("Setting device type to %d\n", type); - g_object_notify (G_OBJECT (device), "type"); } } @@ -915,10 +913,6 @@ _gdk_device_add_slave (GdkDevice *device, priv = device->priv; - g_print ("Adding %s ---> %s\n", - gdk_device_get_name (slave), - gdk_device_get_name (device)); - if (!g_list_find (priv->slaves, slave)) priv->slaves = g_list_prepend (priv->slaves, slave); } @@ -939,10 +933,6 @@ _gdk_device_remove_slave (GdkDevice *device, if (!elem) return; - g_print ("Removing %s ---> %s\n", - gdk_device_get_name (slave), - gdk_device_get_name (device)); - priv->slaves = g_list_delete_link (priv->slaves, elem); } From be39883de2cafe5240fac5c38fbcd143d1065392 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 15 Dec 2010 21:17:27 +0100 Subject: [PATCH 0509/1463] Correct calculation of the cell focus rectangle The cell's focus rectangle is located around the cell's aligned area. To get to the correct coordinates for this rectangle, we have to subtract focus_line_width from the found aligned_area. --- gtk/gtkcellarea.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 079ab56afe..10190214e6 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1056,10 +1056,21 @@ render_cell (GtkCellRenderer *renderer, (renderer == focus_cell || gtk_cell_area_is_focus_sibling (data->area, focus_cell, renderer))))) { + gint focus_line_width; GdkRectangle cell_focus; gtk_cell_renderer_get_aligned_area (renderer, data->widget, flags, &inner_area, &cell_focus); + gtk_widget_style_get (data->widget, + "focus-line-width", &focus_line_width, + NULL); + + /* The focus rectangle is located around the aligned area of the cell */ + cell_focus.x -= focus_line_width; + cell_focus.y -= focus_line_width; + cell_focus.width += 2 * focus_line_width; + cell_focus.height += 2 * focus_line_width; + if (data->first_focus) { data->first_focus = FALSE; From 0112c32c5bc26369c6ad500e000a14659c4b0c3e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 15 Dec 2010 21:22:35 +0100 Subject: [PATCH 0510/1463] Make testcellarea handle RTL environment variable for testing --- tests/testcellarea.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/testcellarea.c b/tests/testcellarea.c index 029f507cb7..ec9398d6f2 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -614,6 +614,9 @@ main (int argc, char *argv[]) { gtk_init (NULL, NULL); + if (g_getenv ("RTL")) + gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); + simple_cell_area (); focus_cell_area (); background_area (); From 92e145e7191bd781106adc8c006772d20c527537 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 15 Dec 2010 21:27:40 +0100 Subject: [PATCH 0511/1463] No need to correct direction for rtl, GtkCellArea takes care of that --- gtk/gtktreeview.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 0eedbad9d2..cf3f543bfe 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10426,16 +10426,7 @@ gtk_tree_view_move_cursor_left_right (GtkTreeView *tree_view, } } - switch (count) - { - case -1: - direction = rtl ? GTK_DIR_RIGHT : GTK_DIR_LEFT; - break; - - case 1: - direction = rtl ? GTK_DIR_LEFT : GTK_DIR_RIGHT; - break; - } + direction = count > 0 ? GTK_DIR_RIGHT : GTK_DIR_LEFT; while (list) { From 8e98333d8bab5401c2520a10cd53c9195b89b204 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 15 Dec 2010 21:31:35 +0100 Subject: [PATCH 0512/1463] RTL fix for gtk_tree_view_focus_to_cursor() --- gtk/gtktreeview.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index cf3f543bfe..50d367d9a3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -10089,7 +10089,13 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view) * is no column in focus, here we explicitly focus into the first cell */ cell_area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (tree_view->priv->focus_column)); if (!gtk_cell_area_get_focus_cell (cell_area)) - gtk_cell_area_focus (cell_area, GTK_DIR_RIGHT); + { + gboolean rtl; + + rtl = (gtk_widget_get_direction (GTK_WIDGET (tree_view)) == GTK_TEXT_DIR_RTL); + gtk_cell_area_focus (cell_area, + rtl ? GTK_DIR_LEFT : GTK_DIR_RIGHT); + } break; } From 5399f7b6e6a483caa4567537cf7d7c24fd92b2b2 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 15 Dec 2010 21:36:47 +0100 Subject: [PATCH 0513/1463] Make testtreeview handle RTL environment variable for testing --- tests/testtreeview.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/testtreeview.c b/tests/testtreeview.c index c252ebfc8c..80efc90fb8 100644 --- a/tests/testtreeview.c +++ b/tests/testtreeview.c @@ -709,6 +709,9 @@ main (int argc, gtk_init (&argc, &argv); + if (g_getenv ("RTL")) + gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); + our_pixbuf = gdk_pixbuf_new_from_xpm_data ((const char **) book_closed_xpm); #if 0 From 67f6a4370280e1482cc7b71e75e8f697f5baa01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Wed, 15 Dec 2010 22:00:00 +0100 Subject: [PATCH 0514/1463] Updated Spanish translation --- po/es.po | 308 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 158 insertions(+), 150 deletions(-) diff --git a/po/es.po b/po/es.po index 1934a51173..048c97fd91 100644 --- a/po/es.po +++ b/po/es.po @@ -16,8 +16,8 @@ msgstr "" "Project-Id-Version: gtk+.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-11-29 20:28+0000\n" -"PO-Revision-Date: 2010-12-02 19:10+0100\n" +"POT-Creation-Date: 2010-12-15 13:52+0000\n" +"PO-Revision-Date: 2010-12-15 21:40+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -86,7 +86,7 @@ msgstr "Opciones de depuración GTK+ que establecer" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:525 ../gtk/gtkmain.c:528 +#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 msgid "FLAGS" msgstr "OPCIONES" @@ -335,56 +335,64 @@ msgstr "Hacer llamadas a X síncronas" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +#| msgid "" +#| "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -"Este programa viene SIN NINGUNA GARANTÍA; para obtener más detalles visite %s" +"Este programa viene SIN NINGUNA GARANTÍA; para obtener más detalles visite " +"%s" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "Licencia" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "La licencia del programa" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:741 msgid "C_redits" msgstr "C_réditos" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:754 msgid "_License" msgstr "_Licencia" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:959 msgid "Could not show link" msgstr "No se pudo mostrar el enlace" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:996 +#| msgctxt "keyboard label" +#| msgid "Home" +msgid "Homepage" +msgstr "Página web" + +#: ../gtk/gtkaboutdialog.c:1052 #, c-format msgid "About %s" msgstr "Acerca de %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "Créditos" +#: ../gtk/gtkaboutdialog.c:2367 +#| msgid "C_reate" +msgid "Created by" +msgstr "Arte por" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "Escrito por" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2370 msgid "Documented by" msgstr "Documentado por" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2382 msgid "Translated by" msgstr "Traducido por" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2386 msgid "Artwork by" msgstr "Arte por" @@ -748,7 +756,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "Gestionar tamaños personalizados" @@ -801,23 +809,23 @@ msgstr "_Derecho:" msgid "Paper Margins" msgstr "Márgenes del papel" -#: ../gtk/gtkentry.c:8794 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8808 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8821 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "_Insertar un carácter de control Unicode" -#: ../gtk/gtkentry.c:10208 +#: ../gtk/gtkentry.c:10225 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Mayús y Bloq Num están activados" -#: ../gtk/gtkentry.c:10210 +#: ../gtk/gtkentry.c:10227 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:10212 +#: ../gtk/gtkentry.c:10229 msgid "Caps Lock is on" msgstr "Bloq Mayús está activado" @@ -1222,7 +1230,7 @@ msgstr "Selección de tipografías" msgid "Error loading icon: %s" msgstr "Ocurrió un error al cargar el icono: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1235,12 +1243,12 @@ msgstr "" "Puede obtener una copia desde:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "El icono «%s» no está presente en el tema" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "No se pudo cargar el icono" @@ -1266,12 +1274,12 @@ msgid "System (%s)" msgstr "Sistema (%s)" #. Open Link -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" msgstr "_Abrir enlace" #. Copy Link Address -#: ../gtk/gtklabel.c:6226 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" msgstr "Copiar la dirección del _enlace" @@ -1284,27 +1292,27 @@ msgid "Invalid URI" msgstr "URI inválida" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:516 msgid "Load additional GTK+ modules" msgstr "Cargar módulos adicionales GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:517 msgid "MODULES" msgstr "MÓDULOS" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:519 msgid "Make all warnings fatal" msgstr "Hacer todas las advertencias fatales" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:522 msgid "GTK+ debugging flags to set" msgstr "Opciones de depuración GTK+ a poner" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:525 msgid "GTK+ debugging flags to unset" msgstr "Opciones de depuración GTK+ a quitar" @@ -1313,20 +1321,20 @@ msgstr "Opciones de depuración GTK+ a quitar" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:790 +#: ../gtk/gtkmain.c:788 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:855 +#: ../gtk/gtkmain.c:852 #, c-format msgid "Cannot open display: %s" msgstr "No se puede abrir el visor: %s" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:911 msgid "GTK+ Options" msgstr "Opciones GTK+" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:911 msgid "Show GTK+ Options" msgstr "Mostrar opciones GTK+" @@ -1411,7 +1419,7 @@ msgstr "Shell Z" msgid "Cannot end process with PID %d: %s" msgstr "No se puede finalizar el proceso con PID %d: %s" -#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4911 ../gtk/gtknotebook.c:7568 #, c-format msgid "Page %u" msgstr "Página %u" @@ -1444,7 +1452,7 @@ msgstr "" " Superior: %s %s\n" " Inferior: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "Gestión de tamaños personalizados…" @@ -1452,7 +1460,7 @@ msgstr "Gestión de tamaños personalizados…" msgid "_Format for:" msgstr "_Formato para:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "Tamaño del _papel:" @@ -1460,7 +1468,7 @@ msgstr "Tamaño del _papel:" msgid "_Orientation:" msgstr "_Orientación:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "Configuración de página" @@ -1639,41 +1647,41 @@ msgstr "Falló la obtención de la información de la impresora" msgid "Getting printer information..." msgstr "Obteniendo la información de la impresora…" -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "Impresora" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "Lugar" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "Rango" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "_Todas las páginas" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "Página a_ctual" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "Se_lección" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "Págin_as:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1681,28 +1689,28 @@ msgstr "" "Especifique uno o más rangos de páginas,\n" "ej. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "Páginas" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "Copias" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "_Copias:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "_Intercalar" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "In_vertir" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "General" @@ -1712,42 +1720,42 @@ msgstr "General" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "De izquierda a derecha, de arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "De izquierda a derecha, de abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "De derecha a izquierda, de arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "De derecha a izquierda, de abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "De arriba a abajo, de izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "De arriba a abajo, de derecha a izquierda" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "De abajo a arriba, de izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "De abajo a arriba, de derecha a izquierda" @@ -1755,125 +1763,125 @@ msgstr "De abajo a arriba, de derecha a izquierda" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Orden de las hojas" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "Izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "Derecha a izquierda" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "De arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "De abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "Disposición" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "Por las _dos caras:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "Páginas por _hoja:" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "Or_den de páginas:" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "_Sólo imprimir:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "Todas las hojas" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "Hojas pares" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "Hojas impares" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "_Escala:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "Papel" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "_Tipo de papel:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "_Fuente del papel:" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "_Bandeja de salida:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "Or_ientación:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "Retrato" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "Paisaje" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "Retrato invertido" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "Paisaje invertido" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "Detalles de la tarea" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "_Prioridad:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "Info de _facturación:" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "Imprimir documento" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "_Ahora" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "_En:" @@ -1881,7 +1889,7 @@ msgstr "_En:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1889,77 +1897,72 @@ msgstr "" "Especifique la hora de impresión,\n" "ej. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "Hora de la impresión" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "En _espera" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "Retener el trabajo hasta que se libere explícitamente" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "Añadir página de cubierta" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "An_tes:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "_Después:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "Tarea" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "Avanzado" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "Calidad de imagen" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "Color" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "Terminando" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "Algunos de los ajustes del diálogo están en conflicto" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "Imprimir" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "No se ha podido encontrar el archivo «include»: «%s»" - -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:2366 ../gtk/gtkrc.c:2369 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Imposible encontrar un archivo imagen en pixmap_path: «%s»" @@ -2070,12 +2073,12 @@ msgstr "" "No se encontró ninguna aplicación registrada con el nombre «%s» para el " "elemento con el URI «%s»" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Marcador incrementable" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "Proporciona una indicación visual del progreso" @@ -2589,7 +2592,7 @@ msgstr "_Reducir" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:297 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:532 +#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 msgctxt "switch" msgid "ON" msgstr "ENCENDIDO" @@ -2597,18 +2600,17 @@ msgstr "ENCENDIDO" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:305 ../gtk/gtkswitch.c:341 ../gtk/gtkswitch.c:553 +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 msgctxt "switch" msgid "OFF" msgstr "APAGADO" -#: ../gtk/gtkswitch.c:938 -#| msgid "inch" +#: ../gtk/gtkswitch.c:943 msgctxt "light switch widget" msgid "Switch" msgstr "Interruptor" -#: ../gtk/gtkswitch.c:939 +#: ../gtk/gtkswitch.c:944 msgid "Switches between on and off states" msgstr "Cambia entre los estados encendido y apagado" @@ -2622,108 +2624,108 @@ msgstr "Error desconocido al intentar deserializar %s" msgid "No deserialize function found for format %s" msgstr "No se encontró función de deserialización para el formato %s" -#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Se encontraron tanto «id» como «name» en el elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Se encontró el atributo «%s» dos veces en el elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:851 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "El elemento <%s> tiene el ID inválido «%s»" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "El elemento <%s> no tiene ni un elemento «name» ni un elemento «id»" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "El atributo «%s» se repite dos veces en el mismo elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "El atributo «%s» es inválido en el elemento <%s> en este contexto" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "La etiqueta «%s» no ha sido definida." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "Se encontró una etiqueta anónima y las etiquetas no se pueden crear." -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "La etiqueta «%s» no existe en el búfer y las etiquetas no se pueden crear." -#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "El elemento <%s» no se permite debajo de <%s>" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» no es un tipo de atributo válido" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» no es un nombre de atributo válido" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "«%s» no se pudo convertir a un valor de tipo «%s»para el atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» no es un valor válido para el atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "La etiqueta «%s» ya está definida" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "La etiqueta «%s» tiene prioridad «%s» inválida" -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "" "El elemento más externo en el texto debe ser no <%s>" -#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "Ya se ha especificado un elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr "Un elemento no puede estar antes de un elemento " -#: ../gtk/gtktextbufferserialize.c:1796 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "Los datos serializados están mal formados" -#: ../gtk/gtktextbufferserialize.c:1874 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -4269,6 +4271,15 @@ msgstr "" "No se ha podido cargar la imagen «%s»: el motivo es desconocido, " "probablemente el archivo gráfico esté corrupto" +#~ msgid "Credits" +#~ msgstr "Créditos" + +#~ msgid "Written by" +#~ msgstr "Escrito por" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "No se ha podido encontrar el archivo «include»: «%s»" + #~ msgid "Error creating folder '%s': %s" #~ msgstr "Error al crear la carpeta «%s» : %s" @@ -4989,9 +5000,6 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "_Nombre de la carpeta:" -#~ msgid "C_reate" -#~ msgstr "C_rear" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "" From c8d130efa7a0d807bdaa50381d12c3f4223e8e2c Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 15 Dec 2010 23:45:04 +0100 Subject: [PATCH 0515/1463] Revisit "Handle clicks in indentation area" Check (x, y) is inside background area. If yes, continue processing and clamp the coordinates into cell area. This way we will properly handle getting a cell (which is only used for setting the focus cell) for clicks in the indentation area (in LTR and RTL mode) and clicks in the focus rectangle area in case focus-line-width is large. --- gtk/gtktreeprivate.h | 1 + gtk/gtktreeview.c | 1 + gtk/gtktreeviewcolumn.c | 30 ++++++++++++++++++++++++------ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 9fe2074a00..9ee61f1ef9 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -123,6 +123,7 @@ gboolean _gtk_tree_view_column_has_editable_cell(GtkTreeViewColumn *co GtkCellRenderer *_gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column); GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, GdkRectangle *cell_area, + GdkRectangle *background_area, gint x, gint y); diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 50d367d9a3..f34d6c2be3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3135,6 +3135,7 @@ gtk_tree_view_button_press (GtkWidget *widget, */ focus_cell = _gtk_tree_view_column_get_cell_at_pos (column, &cell_area, + &background_area, event->x, event->y); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 2621cb360b..905a7bb275 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1473,19 +1473,37 @@ _gtk_tree_view_column_get_edited_cell (GtkTreeViewColumn *column) GtkCellRenderer * _gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, GdkRectangle *cell_area, + GdkRectangle *background_area, gint x, gint y) { GtkCellRenderer *match = NULL; GtkTreeViewColumnPrivate *priv = column->priv; + /* If (x, y) is outside of the background area, immediately return */ + if (x < background_area->x || + x > background_area->x + background_area->width || + y < background_area->y || + y > background_area->y + background_area->height) + return NULL; + + /* If (x, y) is inside the background area, clamp it to the cell_area + * so that a cell is still returned. The main reason for doing this + * (on the x axis) is for handling clicks in the indentation area + * (either at the left or right depending on RTL setting). Another + * reason is for handling clicks on the area where the focus rectangle + * is drawn (this is outside of cell area), this manifests itself + * mainly when a large setting is used for focus-line-width. + */ if (x < cell_area->x) - { - /* This can happen when we click in the "indentation". In this - * case, we set x to cell_area->x, the start of the first cell. - */ - x = cell_area->x; - } + x = cell_area->x; + else if (x > cell_area->x + cell_area->width) + x = cell_area->x + cell_area->width; + + if (y < cell_area->y) + y = cell_area->y; + else if (y > cell_area->y + cell_area->height) + y = cell_area->y + cell_area->height; match = gtk_cell_area_get_cell_at_position (priv->cell_area, priv->cell_area_context, From a28c11a27f410121de949aac92dbeaad73401dbc Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 16 Dec 2010 00:07:08 +0100 Subject: [PATCH 0516/1463] Clip to cell_area when rendering cell content This fixes a GTK+ 3.0 regression. In GTK+ 2, the render method on GtkCellRenderer had a expose_area parameter, typically set to cell_area. This parameter was used for clipping cell content to be rendered to the cell area (and thus clipping to within the focus rectangle). During the rendering clean up this parameter was removed and no clipping put back into place. Since expose_area was usually equal to cell_area anyway, it does not make sense to reintroduce the expose_area parameter. Instead, we do clipping at two levels: - in gtk_cell_renderer_render() we clip to background_area. We cannot clip to cell_area here because we want to allow cell renderers to render in the background area (e.g. background color/effect). - cell renderers should clip to clip_area when rendering cell content individually (as they had to individually clip to expose_region before). --- gtk/gtkcellrenderer.c | 3 +++ gtk/gtkcellrendererspinner.c | 7 +++++++ gtk/gtkcellrenderertext.c | 7 +++++++ gtk/gtkcellrenderertoggle.c | 7 +++++++ 4 files changed, 24 insertions(+) diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index a60b8885cc..e15323e830 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -698,6 +698,9 @@ gtk_cell_renderer_render (GtkCellRenderer *cell, cairo_fill (cr); } + gdk_cairo_rectangle (cr, background_area); + cairo_clip (cr); + GTK_CELL_RENDERER_GET_CLASS (cell)->render (cell, cr, widget, diff --git a/gtk/gtkcellrendererspinner.c b/gtk/gtkcellrendererspinner.c index 5d50f8dfdd..bc63b5ea90 100644 --- a/gtk/gtkcellrendererspinner.c +++ b/gtk/gtkcellrendererspinner.c @@ -372,6 +372,11 @@ gtk_cell_renderer_spinner_render (GtkCellRenderer *cellr, state = GTK_STATE_PRELIGHT; } + cairo_save (cr); + + gdk_cairo_rectangle (cr, cell_area); + cairo_clip (cr); + gtk_paint_spinner (gtk_widget_get_style (widget), cr, state, @@ -380,4 +385,6 @@ gtk_cell_renderer_spinner_render (GtkCellRenderer *cellr, priv->pulse, draw_rect.x, draw_rect.y, draw_rect.width, draw_rect.height); + + cairo_restore (cr); } diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index a61e8c6ea6..2cff3a47c3 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -1833,6 +1833,11 @@ gtk_cell_renderer_text_render (GtkCellRenderer *cell, else if (priv->wrap_width == -1) pango_layout_set_width (layout, -1); + cairo_save (cr); + + gdk_cairo_rectangle (cr, cell_area); + cairo_clip (cr); + gtk_paint_layout (gtk_widget_get_style (widget), cr, state, @@ -1843,6 +1848,8 @@ gtk_cell_renderer_text_render (GtkCellRenderer *cell, cell_area->y + y_offset + ypad, layout); + cairo_restore (cr); + g_object_unref (layout); } diff --git a/gtk/gtkcellrenderertoggle.c b/gtk/gtkcellrenderertoggle.c index e1aa78e03f..177cafd32a 100644 --- a/gtk/gtkcellrenderertoggle.c +++ b/gtk/gtkcellrenderertoggle.c @@ -372,6 +372,11 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell, state = GTK_STATE_INSENSITIVE; } + cairo_save (cr); + + gdk_cairo_rectangle (cr, cell_area); + cairo_clip (cr); + if (priv->radio) { gtk_paint_option (gtk_widget_get_style (widget), @@ -392,6 +397,8 @@ gtk_cell_renderer_toggle_render (GtkCellRenderer *cell, cell_area->y + y_offset + ypad, width, height); } + + cairo_restore (cr); } static gint From 7105e8e907cbf22234bbf9297f7cd062d093ea70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:47:45 +0000 Subject: [PATCH 0517/1463] tests: Use accessor functions to access GtkSelectionData --- tests/testdnd.c | 16 +++++++++------- tests/testgtk.c | 10 +++++----- tests/testimage.c | 2 +- tests/testnotebookdnd.c | 2 +- tests/testselection.c | 31 ++++++++++++++++++------------- 5 files changed, 34 insertions(+), 27 deletions(-) diff --git a/tests/testdnd.c b/tests/testdnd.c index 8777acd1d4..9913564470 100644 --- a/tests/testdnd.c +++ b/tests/testdnd.c @@ -377,13 +377,14 @@ target_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, - GtkSelectionData *data, + GtkSelectionData *selection_data, guint info, guint time) { - if ((data->length >= 0) && (data->format == 8)) + if (gtk_selection_data_get_length (selection_data) >= 0 && + gtk_selection_data_get_format (selection_data) == 8) { - g_print ("Received \"%s\" in trashcan\n", (gchar *)data->data); + g_print ("Received \"%s\" in trashcan\n", (gchar *) gtk_selection_data_get_data (selection_data)); gtk_drag_finish (context, TRUE, FALSE, time); return; } @@ -396,13 +397,14 @@ label_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, - GtkSelectionData *data, + GtkSelectionData *selection_data, guint info, guint time) { - if ((data->length >= 0) && (data->format == 8)) + if (gtk_selection_data_get_length (selection_data) >= 0 && + gtk_selection_data_get_format (selection_data) == 8) { - g_print ("Received \"%s\" in label\n", (gchar *)data->data); + g_print ("Received \"%s\" in label\n", (gchar *) gtk_selection_data_get_data (selection_data)); gtk_drag_finish (context, TRUE, FALSE, time); return; } @@ -422,7 +424,7 @@ source_drag_data_get (GtkWidget *widget, g_print ("I was dropped on the rootwin\n"); else gtk_selection_data_set (selection_data, - selection_data->target, + gtk_selection_data_get_target (selection_data), 8, (guchar *) "I'm Data!", 9); } diff --git a/tests/testgtk.c b/tests/testgtk.c index 76d68387f7..dee4802a20 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -8917,19 +8917,19 @@ create_snapshot (GtkWidget *widget) void selection_test_received (GtkWidget *tree_view, - GtkSelectionData *data) + GtkSelectionData *selection_data) { GtkTreeModel *model; GtkListStore *store; GdkAtom *atoms; int i, l; - if (data->length < 0) + if (gtk_selection_data_get_length (selection_data) < 0) { g_print ("Selection retrieval failed\n"); return; } - if (data->type != GDK_SELECTION_TYPE_ATOM) + if (gtk_selection_data_get_data_type (selection_data) != GDK_SELECTION_TYPE_ATOM) { g_print ("Selection \"TARGETS\" was not returned as atoms!\n"); return; @@ -8943,9 +8943,9 @@ selection_test_received (GtkWidget *tree_view, /* Add new items to list */ - atoms = (GdkAtom *)data->data; + gtk_selection_data_get_targets (selection_data, + &atoms, &l); - l = data->length / sizeof (GdkAtom); for (i = 0; i < l; i++) { char *name; diff --git a/tests/testimage.c b/tests/testimage.c index 375a5b8142..d44559e9b3 100644 --- a/tests/testimage.c +++ b/tests/testimage.c @@ -61,7 +61,7 @@ drag_data_received (GtkWidget *widget, GdkPixbuf *pixbuf; - if (selection_data->length < 0) + if (gtk_selection_data_get_length (selection_data) < 0) return; pixbuf = gtk_selection_data_get_pixbuf (selection_data); diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c index a20597b8d1..3621b0a2b3 100644 --- a/tests/testnotebookdnd.c +++ b/tests/testnotebookdnd.c @@ -134,7 +134,7 @@ on_button_drag_data_received (GtkWidget *widget, GtkWidget **child; source = gtk_drag_get_source_widget (context); - child = (void*) data->data; + child = (void*) gtk_selection_data_get_data (data); tab_label = gtk_notebook_get_tab_label (GTK_NOTEBOOK (source), *child); g_print ("Removing tab: %s\n", gtk_label_get_text (GTK_LABEL (tab_label))); diff --git a/tests/testselection.c b/tests/testselection.c index b6b79d3a2f..de4ec6a950 100644 --- a/tests/testselection.c +++ b/tests/testselection.c @@ -265,24 +265,28 @@ stringify_span (guchar *data, gint *position) } void -selection_received (GtkWidget *widget, GtkSelectionData *data) +selection_received (GtkWidget *widget, GtkSelectionData *selection_data) { int position; int i; SelType seltype; char *str; + guchar *data; GtkTextBuffer *buffer; - - if (data->length < 0) + GdkAtom type; + + if (gtk_selection_data_get_length (selection_data) < 0) { g_print("Error retrieving selection\n"); return; } + type = gtk_selection_data_get_data_type (selection_data); + seltype = SEL_TYPE_NONE; for (i=0; itype) + if (seltypes[i] == type) { seltype = i; break; @@ -291,7 +295,7 @@ selection_received (GtkWidget *widget, GtkSelectionData *data) if (seltype == SEL_TYPE_NONE) { - char *name = gdk_atom_name (data->type); + char *name = gdk_atom_name (type); g_print("Don't know how to handle type: %s\n", name?name:""); return; @@ -306,38 +310,39 @@ selection_received (GtkWidget *widget, GtkSelectionData *data) gtk_text_buffer_set_text (buffer, "", -1); position = 0; - while (position < data->length) + while (position < gtk_selection_data_get_length (selection_data)) { + data = (guchar *) gtk_selection_data_get_data (selection_data); switch (seltype) { case ATOM: - str = stringify_atom (data->data, &position); + str = stringify_atom (data, &position); break; case COMPOUND_TEXT: case STRING: case TEXT: - str = stringify_text (data->data, &position); + str = stringify_text (data, &position); break; case BITMAP: case DRAWABLE: case PIXMAP: case WINDOW: case COLORMAP: - str = stringify_xid (data->data, &position); + str = stringify_xid (data, &position); break; case INTEGER: case PIXEL: - str = stringify_integer (data->data, &position); + str = stringify_integer (data, &position); break; case SPAN: - str = stringify_span (data->data, &position); + str = stringify_span (data, &position); break; default: { - char *name = gdk_atom_name (data->type); + char *name = gdk_atom_name (gtk_selection_data_get_data_type (selection_data)); g_print("Can't convert type %s to string\n", name?name:""); - position = data->length; + position = gtk_selection_data_get_length (selection_data); continue; } } From a66f095b62c19e768e848b119ec1a49c22aedc53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:57:13 +0000 Subject: [PATCH 0518/1463] demos/gtk-demo/clipboard.c: Use accessor functions to access GtkSelectionData --- demos/gtk-demo/clipboard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/gtk-demo/clipboard.c b/demos/gtk-demo/clipboard.c index e48eb509ed..1a321cc682 100644 --- a/demos/gtk-demo/clipboard.c +++ b/demos/gtk-demo/clipboard.c @@ -125,7 +125,7 @@ drag_data_received (GtkWidget *widget, { GdkPixbuf *pixbuf; - if (selection_data->length > 0) + if (gtk_selection_data_get_length (selection_data) > 0) { pixbuf = gtk_selection_data_get_pixbuf (selection_data); gtk_image_set_from_pixbuf (GTK_IMAGE (data), pixbuf); From 1cfd78269ee0928ffd323bf34bbbc1d3f554a6c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:51:23 +0000 Subject: [PATCH 0519/1463] gtk/gtktreeview.c: Use accessor functions to access GtkSelectionData --- gtk/gtktreeview.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 408394f8cd..457c4facdd 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -7428,7 +7428,7 @@ gtk_tree_view_drag_data_get (GtkWidget *widget, goto done; /* If drag_data_get does nothing, try providing row data. */ - if (selection_data->target == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) + if (gtk_selection_data_get_target (selection_data) == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) { gtk_tree_set_row_drag_data (selection_data, model, @@ -7708,7 +7708,7 @@ gtk_tree_view_drag_data_received (GtkWidget *widget, if (dest_row == NULL) return; - if (selection_data->length >= 0) + if (gtk_selection_data_get_length (selection_data) >= 0) { if (path_down_mode) { @@ -7719,7 +7719,7 @@ gtk_tree_view_drag_data_received (GtkWidget *widget, } } - if (selection_data->length >= 0) + if (gtk_selection_data_get_length (selection_data) >= 0) { if (gtk_tree_drag_dest_drag_data_received (GTK_TREE_DRAG_DEST (model), dest_row, From 640f85e568851652fe153c5b76dd97ebfe900bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:52:02 +0000 Subject: [PATCH 0520/1463] gtk/gtktreednd.c: Use accessor functions to access GtkSelectionData --- gtk/gtktreednd.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/gtktreednd.c b/gtk/gtktreednd.c index f5f436bf02..68cc171177 100644 --- a/gtk/gtktreednd.c +++ b/gtk/gtktreednd.c @@ -273,7 +273,7 @@ gtk_tree_set_row_drag_data (GtkSelectionData *selection_data, g_return_val_if_fail (GTK_IS_TREE_MODEL (tree_model), FALSE); g_return_val_if_fail (path != NULL, FALSE); - if (selection_data->target != gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) + if (gtk_selection_data_get_target (selection_data) != gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) return FALSE; path_str = gtk_tree_path_to_string (path); @@ -336,14 +336,14 @@ gtk_tree_get_row_drag_data (GtkSelectionData *selection_data, if (path) *path = NULL; - - if (selection_data->target != gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) + + if (gtk_selection_data_get_target (selection_data) != gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) return FALSE; - if (selection_data->length < 0) + if (gtk_selection_data_get_length (selection_data) < 0) return FALSE; - trd = (void*) selection_data->data; + trd = (void*) gtk_selection_data_get_data (selection_data); if (tree_model) *tree_model = trd->model; From 7c6012d9334dcedd334bd98491b14345e04f912a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:52:26 +0000 Subject: [PATCH 0521/1463] gtk/gtktoolpalette.c: Use accessor functions to access GtkSelectionData --- gtk/gtktoolpalette.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 383d6b5555..6cd32cb214 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -1672,23 +1672,25 @@ gtk_tool_palette_get_drag_item (GtkToolPalette *palette, const GtkSelectionData *selection) { GtkToolPaletteDragData *data; + GdkAtom target; g_return_val_if_fail (GTK_IS_TOOL_PALETTE (palette), NULL); g_return_val_if_fail (NULL != selection, NULL); - g_return_val_if_fail (selection->format == 8, NULL); - g_return_val_if_fail (selection->length == sizeof (GtkToolPaletteDragData), NULL); - g_return_val_if_fail (selection->target == dnd_target_atom_item || - selection->target == dnd_target_atom_group, + g_return_val_if_fail (gtk_selection_data_get_format (selection) == 8, NULL); + g_return_val_if_fail (gtk_selection_data_get_length (selection) == sizeof (GtkToolPaletteDragData), NULL); + target = gtk_selection_data_get_target (selection); + g_return_val_if_fail (target == dnd_target_atom_item || + target == dnd_target_atom_group, NULL); - data = (GtkToolPaletteDragData*) selection->data; + data = (GtkToolPaletteDragData*) gtk_selection_data_get_data (selection); g_return_val_if_fail (data->palette == palette, NULL); - if (dnd_target_atom_item == selection->target) + if (dnd_target_atom_item == target) g_return_val_if_fail (GTK_IS_TOOL_ITEM (data->item), NULL); - else if (dnd_target_atom_group == selection->target) + else if (dnd_target_atom_group == target) g_return_val_if_fail (GTK_IS_TOOL_ITEM_GROUP (data->item), NULL); return data->item; @@ -1818,12 +1820,15 @@ gtk_tool_palette_item_drag_data_get (GtkWidget *widget, gpointer data) { GtkToolPaletteDragData drag_data = { GTK_TOOL_PALETTE (data), NULL }; + GdkAtom target; - if (selection->target == dnd_target_atom_item) + target = gtk_selection_data_get_target (selection); + + if (target == dnd_target_atom_item) drag_data.item = gtk_widget_get_ancestor (widget, GTK_TYPE_TOOL_ITEM); if (drag_data.item) - gtk_selection_data_set (selection, selection->target, 8, + gtk_selection_data_set (selection, target, 8, (guchar*) &drag_data, sizeof (drag_data)); } @@ -1836,12 +1841,15 @@ gtk_tool_palette_child_drag_data_get (GtkWidget *widget, gpointer data) { GtkToolPaletteDragData drag_data = { GTK_TOOL_PALETTE (data), NULL }; + GdkAtom target; - if (selection->target == dnd_target_atom_group) + target = gtk_selection_data_get_target (selection); + + if (target == dnd_target_atom_group) drag_data.item = gtk_widget_get_ancestor (widget, GTK_TYPE_TOOL_ITEM_GROUP); if (drag_data.item) - gtk_selection_data_set (selection, selection->target, 8, + gtk_selection_data_set (selection, target, 8, (guchar*) &drag_data, sizeof (drag_data)); } From 2b7afcdd793ec56c6cc0c449acd5af0f25246caf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:52:40 +0000 Subject: [PATCH 0522/1463] gtk/gtktextview.c: Use accessor functions to access GtkSelectionData --- gtk/gtktextview.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 1696c705fb..e57f957e51 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -6924,7 +6924,7 @@ gtk_text_view_drag_data_get (GtkWidget *widget, { /* Extract the selected text */ str = gtk_text_buffer_serialize (buffer, buffer, - selection_data->target, + gtk_selection_data_get_target (selection_data), &start, &end, &len); } @@ -6932,7 +6932,7 @@ gtk_text_view_drag_data_get (GtkWidget *widget, if (str) { gtk_selection_data_set (selection_data, - selection_data->target, + gtk_selection_data_get_target (selection_data), 8, /* bytes */ (guchar *) str, len); g_free (str); @@ -7188,10 +7188,10 @@ gtk_text_view_drag_data_received (GtkWidget *widget, GtkTextIter start, end; gboolean copy_tags = TRUE; - if (selection_data->length != sizeof (src_buffer)) + if (gtk_selection_data_get_length (selection_data) != sizeof (src_buffer)) return; - memcpy (&src_buffer, selection_data->data, sizeof (src_buffer)); + memcpy (&src_buffer, gtk_selection_data_get_data (selection_data), sizeof (src_buffer)); if (src_buffer == NULL) return; @@ -7255,17 +7255,17 @@ gtk_text_view_drag_data_received (GtkWidget *widget, } } } - else if (selection_data->length > 0 && + else if (gtk_selection_data_get_length (selection_data) > 0 && info == GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT) { gboolean retval; GError *error = NULL; retval = gtk_text_buffer_deserialize (buffer, buffer, - selection_data->target, + gtk_selection_data_get_target (selection_data), &drop_point, - (guint8 *) selection_data->data, - selection_data->length, + (guint8 *) gtk_selection_data_get_data (selection_data), + gtk_selection_data_get_length (selection_data), &error); if (!retval) From 1ceddae7da71dae9f32bad726db5a4b490b8f0e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:53:00 +0000 Subject: [PATCH 0523/1463] gtk/gtktextbuffer: Use accessor functions to access GtkSelectionData --- gtk/gtktextbuffer.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index f1cd6f5098..c71d79b967 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -3156,7 +3156,7 @@ clipboard_get_selection_cb (GtkClipboard *clipboard, * used within-process */ gtk_selection_data_set (selection_data, - selection_data->target, + gtk_selection_data_get_target (selection_data), 8, /* bytes */ (void*)&buffer, sizeof (buffer)); @@ -3167,11 +3167,11 @@ clipboard_get_selection_cb (GtkClipboard *clipboard, gsize len; str = gtk_text_buffer_serialize (buffer, buffer, - selection_data->target, + gtk_selection_data_get_target (selection_data), &start, &end, &len); gtk_selection_data_set (selection_data, - selection_data->target, + gtk_selection_data_get_target (selection_data), 8, /* bytes */ str, len); g_free (str); @@ -3226,7 +3226,7 @@ clipboard_get_contents_cb (GtkClipboard *clipboard, * be used within-process. OK to supply a NULL value for contents. */ gtk_selection_data_set (selection_data, - selection_data->target, + gtk_selection_data_get_target (selection_data), 8, /* bytes */ (void*)&contents, sizeof (contents)); @@ -3244,11 +3244,11 @@ clipboard_get_contents_cb (GtkClipboard *clipboard, gtk_text_buffer_get_bounds (contents, &start, &end); str = gtk_text_buffer_serialize (clipboard_source_buffer, contents, - selection_data->target, + gtk_selection_data_get_target (selection_data), &start, &end, &len); gtk_selection_data_set (selection_data, - selection_data->target, + gtk_selection_data_get_target (selection_data), 8, /* bytes */ str, len); g_free (str); @@ -3404,23 +3404,22 @@ selection_data_get_buffer (GtkSelectionData *selection_data, GtkTextBuffer *src_buffer = NULL; /* If we can get the owner, the selection is in-process */ - owner = gdk_selection_owner_get_for_display (selection_data->display, - selection_data->selection); + owner = gdk_selection_owner_get_for_display (gtk_selection_data_get_display (selection_data), + gtk_selection_data_get_selection (selection_data)); if (owner == NULL) return NULL; if (gdk_window_get_window_type (owner) == GDK_WINDOW_FOREIGN) return NULL; - - if (selection_data->type != - gdk_atom_intern_static_string ("GTK_TEXT_BUFFER_CONTENTS")) + + if (gtk_selection_data_get_data_type (selection_data) != gdk_atom_intern_static_string ("GTK_TEXT_BUFFER_CONTENTS")) return NULL; - if (selection_data->length != sizeof (src_buffer)) + if (gtk_selection_data_get_length (selection_data) != sizeof (src_buffer)) return NULL; - - memcpy (&src_buffer, selection_data->data, sizeof (src_buffer)); + + memcpy (&src_buffer, gtk_selection_data_get_data (selection_data), sizeof (src_buffer)); if (src_buffer == NULL) return NULL; From ad4ac2182a2deffd88a8ac68886b54a77385b302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:54:22 +0000 Subject: [PATCH 0524/1463] gtk/gtknotebook.c: Use accessor functions to access GtkSelectionData --- gtk/gtknotebook.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index b66f421a44..8c4de6577f 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -3840,13 +3840,16 @@ gtk_notebook_drag_data_get (GtkWidget *widget, guint info, guint time) { - if (data->target == gdk_atom_intern_static_string ("GTK_NOTEBOOK_TAB")) + GdkAtom target; + + target = gtk_selection_data_get_target (data); + if (target == gdk_atom_intern_static_string ("GTK_NOTEBOOK_TAB")) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; gtk_selection_data_set (data, - data->target, + target, 8, (void*) &priv->detached_tab->child, sizeof (gpointer)); @@ -3870,9 +3873,9 @@ gtk_notebook_drag_data_received (GtkWidget *widget, source_widget = gtk_drag_get_source_widget (context); if (source_widget && - data->target == gdk_atom_intern_static_string ("GTK_NOTEBOOK_TAB")) + gtk_selection_data_get_target (data) == gdk_atom_intern_static_string ("GTK_NOTEBOOK_TAB")) { - child = (void*) data->data; + child = (void*) gtk_selection_data_get_data (data); do_detach_tab (GTK_NOTEBOOK (source_widget), notebook, *child, x, y); gtk_drag_finish (context, TRUE, FALSE, time); From 8537163e2026020ad8e9f16af0ebb17060892975 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:54:49 +0000 Subject: [PATCH 0525/1463] gtk/gtklinkbutton.c: Use accessor functions to access GtkSelectionData --- gtk/gtklinkbutton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index 6b159d3c8f..9a6b6fa1f2 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -601,7 +601,7 @@ gtk_link_button_drag_data_get_cb (GtkWidget *widget, uri = g_strdup_printf ("%s\r\n", link_button->priv->uri); gtk_selection_data_set (selection, - selection->target, + gtk_selection_data_get_target (selection), 8, (guchar *) uri, strlen (uri)); From fbbe9f519111f1119784dfcb03e7211c4bb6407d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:55:04 +0000 Subject: [PATCH 0526/1463] gtk/gtkiconview.c: Use accessor functions to access GtkSelectionData --- gtk/gtkiconview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 1df2a7d94b..e4da1a0939 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -7037,7 +7037,7 @@ gtk_icon_view_drag_data_get (GtkWidget *widget, goto done; /* If drag_data_get does nothing, try providing row data. */ - if (selection_data->target == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) + if (gtk_selection_data_get_target (selection_data) == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) gtk_tree_set_row_drag_data (selection_data, model, source_row); @@ -7274,7 +7274,7 @@ gtk_icon_view_drag_data_received (GtkWidget *widget, if (dest_row == NULL) return; - if (selection_data->length >= 0) + if (gtk_selection_data_get_length (selection_data) >= 0) { if (gtk_tree_drag_dest_drag_data_received (GTK_TREE_DRAG_DEST (model), dest_row, From c806c0821a50950bcb923f34ab43db562d22575a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:55:18 +0000 Subject: [PATCH 0527/1463] gtk/gtkfilechooserdefault.c: Use accessor functions to access GtkSelectionData --- gtk/gtkfilechooserdefault.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 6ae3429f17..360793b122 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -3224,6 +3224,7 @@ shortcuts_drag_data_received_cb (GtkWidget *widget, GtkFileChooserDefault *impl; GtkTreePath *tree_path; GtkTreeViewDropPosition tree_pos; + GdkAtom target; int position; int bookmarks_index; @@ -3243,9 +3244,11 @@ shortcuts_drag_data_received_cb (GtkWidget *widget, g_assert (position >= bookmarks_index); position -= bookmarks_index; - if (gtk_targets_include_uri (&selection_data->target, 1)) + target = gtk_selection_data_get_target (selection_data); + + if (gtk_targets_include_uri (&target, 1)) shortcuts_drop_uris (impl, selection_data, position); - else if (selection_data->target == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) + else if (target == gdk_atom_intern_static_string ("GTK_TREE_MODEL_ROW")) shortcuts_reorder (impl, position); g_signal_stop_emission_by_name (widget, "drag-data-received"); From 499aa2b3b90817e82dec537294df3c3fbe623307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:55:31 +0000 Subject: [PATCH 0528/1463] gtk/gtkfilechooserbutton.c: Use accessor functions to access GtkSelectionData --- gtk/gtkfilechooserbutton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 3db63bf8d9..695664dc65 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -1041,7 +1041,7 @@ gtk_file_chooser_button_drag_data_received (GtkWidget *widget, data, type, drag_time); - if (widget == NULL || context == NULL || data == NULL || data->length < 0) + if (widget == NULL || context == NULL || data == NULL || gtk_selection_data_get_length (data) < 0) return; switch (type) From a86d1fa7c33e307f3a4326cc7785cdb165f5f6a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:55:45 +0000 Subject: [PATCH 0529/1463] gtk/gtkdnd.c: Use accessor functions to access GtkSelectionData --- gtk/gtkdnd.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index bdc8994a6b..b6e9ea0d2b 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1720,6 +1720,7 @@ gtk_drag_selection_received (GtkWidget *widget, GdkDragContext *context; GtkDragDestInfo *info; GtkWidget *drop_widget; + GdkAtom target; drop_widget = data; @@ -1727,23 +1728,24 @@ gtk_drag_selection_received (GtkWidget *widget, info = gtk_drag_get_dest_info (context, FALSE); if (info->proxy_data && - info->proxy_data->target == selection_data->target) + gtk_selection_data_get_target (info->proxy_data) == gtk_selection_data_get_target (selection_data)) { gtk_selection_data_set (info->proxy_data, - selection_data->type, - selection_data->format, - selection_data->data, - selection_data->length); + gtk_selection_data_get_data_type (selection_data), + gtk_selection_data_get_format (selection_data), + gtk_selection_data_get_data (selection_data), + gtk_selection_data_get_length (selection_data)); gtk_main_quit (); return; } - if (selection_data->target == gdk_atom_intern_static_string ("DELETE")) + target = gtk_selection_data_get_target (selection_data); + if (target == gdk_atom_intern_static_string ("DELETE")) { gtk_drag_finish (context, TRUE, FALSE, time); } - else if ((selection_data->target == gdk_atom_intern_static_string ("XmTRANSFER_SUCCESS")) || - (selection_data->target == gdk_atom_intern_static_string ("XmTRANSFER_FAILURE"))) + else if ((target == gdk_atom_intern_static_string ("XmTRANSFER_SUCCESS")) || + (target == gdk_atom_intern_static_string ("XmTRANSFER_FAILURE"))) { /* Do nothing */ } @@ -1758,11 +1760,11 @@ gtk_drag_selection_received (GtkWidget *widget, guint target_info; if (gtk_target_list_find (site->target_list, - selection_data->target, + target, &target_info)) { if (!(site->flags & GTK_DEST_DEFAULT_DROP) || - selection_data->length >= 0) + gtk_selection_data_get_length (selection_data) >= 0) g_signal_emit_by_name (drop_widget, "drag-data-received", context, info->drop_x, info->drop_y, @@ -1783,7 +1785,7 @@ gtk_drag_selection_received (GtkWidget *widget, { gtk_drag_finish (context, - (selection_data->length >= 0), + (gtk_selection_data_get_length (selection_data) >= 0), (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE), time); } @@ -3796,7 +3798,7 @@ gtk_drag_selection_get (GtkWidget *widget, info->proxy_dest->proxy_data = selection_data; gtk_drag_get_data (info->widget, info->proxy_dest->context, - selection_data->target, + gtk_selection_data_get_target (selection_data), time); gtk_main (); info->proxy_dest->proxy_data = NULL; @@ -3804,7 +3806,7 @@ gtk_drag_selection_get (GtkWidget *widget, else { if (gtk_target_list_find (info->target_list, - selection_data->target, + gtk_selection_data_get_target (selection_data), &target_info)) { g_signal_emit_by_name (info->widget, "drag-data-get", From 1a2d9c368ee073e4d0bb678f32e81e3e4bb3aa8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:55:59 +0000 Subject: [PATCH 0530/1463] gtk/gtkcolorsel.c: Use accessor functions to access GtkSelectionData --- gtk/gtkcolorsel.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 2ed64827af..d0debfca3c 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -808,6 +808,7 @@ color_sample_drop_handle (GtkWidget *widget, { GtkColorSelection *colorsel = data; GtkColorSelectionPrivate *priv; + gint length; guint16 *vals; gdouble color[4]; priv = colorsel->private_data; @@ -818,21 +819,23 @@ color_sample_drop_handle (GtkWidget *widget, * B * opacity */ - - if (selection_data->length < 0) + + length = gtk_selection_data_get_length (selection_data); + + if (length < 0) return; /* We accept drops with the wrong format, since the KDE color * chooser incorrectly drops application/x-color with format 8. */ - if (selection_data->length != 8) + if (length != 8) { g_warning ("Received invalid color data\n"); return; } - - vals = (guint16 *)selection_data->data; - + + vals = (guint16 *) gtk_selection_data_get_data (selection_data); + if (widget == priv->cur_sample) { color[0] = (gdouble)vals[0] / 0xffff; @@ -1533,23 +1536,26 @@ palette_drop_handle (GtkWidget *widget, gpointer data) { GtkColorSelection *colorsel = GTK_COLOR_SELECTION (data); + gint length; guint16 *vals; gdouble color[4]; - - if (selection_data->length < 0) + + length = gtk_selection_data_get_length (selection_data); + + if (length < 0) return; /* We accept drops with the wrong format, since the KDE color * chooser incorrectly drops application/x-color with format 8. */ - if (selection_data->length != 8) + if (length != 8) { g_warning ("Received invalid color data\n"); return; } - - vals = (guint16 *)selection_data->data; - + + vals = (guint16 *) gtk_selection_data_get_data (selection_data); + color[0] = (gdouble)vals[0] / 0xffff; color[1] = (gdouble)vals[1] / 0xffff; color[2] = (gdouble)vals[2] / 0xffff; From e5a3b7edbfcd74c4f5e6e049d02822c2455025ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:56:14 +0000 Subject: [PATCH 0531/1463] gtk/gtkcolorbutton.c: Use accessor functions to access GtkSelectionData --- gtk/gtkcolorbutton.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index 6d2548692f..9afc7542f2 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -350,22 +350,25 @@ gtk_color_button_drag_data_received (GtkWidget *widget, guint32 time, GtkColorButton *color_button) { + gint length; guint16 *dropped; - if (selection_data->length < 0) + length = gtk_selection_data_get_length (selection_data); + + if (length < 0) return; /* We accept drops with the wrong format, since the KDE color * chooser incorrectly drops application/x-color with format 8. */ - if (selection_data->length != 8) + if (length != 8) { g_warning (_("Received invalid color data\n")); return; } - dropped = (guint16 *)selection_data->data; + dropped = (guint16 *) gtk_selection_data_get_data (selection_data); color_button->priv->rgba.red = dropped[0] / 65535.; color_button->priv->rgba.green = dropped[1] / 65535.; @@ -428,7 +431,8 @@ gtk_color_button_drag_data_get (GtkWidget *widget, dropped[2] = (guint16) (color_button->priv->rgba.blue * 65535); dropped[3] = (guint16) (color_button->priv->rgba.alpha * 65535); - gtk_selection_data_set (selection_data, selection_data->target, + gtk_selection_data_set (selection_data, + gtk_selection_data_get_target (selection_data), 16, (guchar *)dropped, 8); } From cf9e9ff47f0336ade725bf86a5a7a4e21d7a3bb0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 15 Dec 2010 23:56:28 +0000 Subject: [PATCH 0532/1463] gtk/gtkclipboard.c: Use accessor functions to access GtkSelectionData --- gtk/gtkclipboard.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/gtk/gtkclipboard.c b/gtk/gtkclipboard.c index 7273bd3944..245d1049e0 100644 --- a/gtk/gtkclipboard.c +++ b/gtk/gtkclipboard.c @@ -331,7 +331,10 @@ selection_get_cb (GtkWidget *widget, guint info, guint time) { - GtkClipboard *clipboard = gtk_widget_get_clipboard (widget, selection_data->selection); + GtkClipboard *clipboard; + + clipboard = gtk_widget_get_clipboard (widget, + gtk_selection_data_get_selection (selection_data)); if (clipboard && clipboard->get_func) clipboard->get_func (clipboard, selection_data, info, clipboard->user_data); @@ -863,8 +866,8 @@ selection_received (GtkWidget *widget, { RequestContentsInfo *request_info = get_request_contents_info (widget); set_request_contents_info (widget, NULL); - - request_info->callback (gtk_widget_get_clipboard (widget, selection_data->selection), + + request_info->callback (gtk_widget_get_clipboard (widget, gtk_selection_data_get_selection (selection_data)), selection_data, request_info->user_data); @@ -935,14 +938,16 @@ request_text_received_func (GtkClipboard *clipboard, * if we asked for compound_text and didn't get it, try string; * If we asked for anything else and didn't get it, give up. */ - if (selection_data->target == gdk_atom_intern_static_string ("UTF8_STRING")) + GdkAtom target = gtk_selection_data_get_target (selection_data); + + if (target == gdk_atom_intern_static_string ("UTF8_STRING")) { gtk_clipboard_request_contents (clipboard, gdk_atom_intern_static_string ("COMPOUND_TEXT"), request_text_received_func, info); return; } - else if (selection_data->target == gdk_atom_intern_static_string ("COMPOUND_TEXT")) + else if (target == gdk_atom_intern_static_string ("COMPOUND_TEXT")) { gtk_clipboard_request_contents (clipboard, GDK_TARGET_STRING, @@ -1000,8 +1005,8 @@ request_rich_text_received_func (GtkClipboard *clipboard, guint8 *result = NULL; gsize length = 0; - result = selection_data->data; - length = selection_data->length; + result = (guint8 *) gtk_selection_data_get_data (selection_data); + length = gtk_selection_data_get_length (selection_data); info->current_atom++; @@ -1013,7 +1018,8 @@ request_rich_text_received_func (GtkClipboard *clipboard, return; } - info->callback (clipboard, selection_data->target, result, length, + info->callback (clipboard, gtk_selection_data_get_target (selection_data), + result, length, info->user_data); g_free (info->atoms); g_free (info); @@ -1081,21 +1087,23 @@ request_image_received_func (GtkClipboard *clipboard, * if we asked for image/gif and didn't get it, try image/bmp; * If we asked for anything else and didn't get it, give up. */ - if (selection_data->target == gdk_atom_intern_static_string ("image/png")) + GdkAtom target = gtk_selection_data_get_target (selection_data); + + if (target == gdk_atom_intern_static_string ("image/png")) { gtk_clipboard_request_contents (clipboard, gdk_atom_intern_static_string ("image/jpeg"), request_image_received_func, info); return; } - else if (selection_data->target == gdk_atom_intern_static_string ("image/jpeg")) + else if (target == gdk_atom_intern_static_string ("image/jpeg")) { gtk_clipboard_request_contents (clipboard, gdk_atom_intern_static_string ("image/gif"), request_image_received_func, info); return; } - else if (selection_data->target == gdk_atom_intern_static_string ("image/gif")) + else if (target == gdk_atom_intern_static_string ("image/gif")) { gtk_clipboard_request_contents (clipboard, gdk_atom_intern_static_string ("image/bmp"), @@ -1276,7 +1284,7 @@ clipboard_received_func (GtkClipboard *clipboard, { WaitResults *results = data; - if (selection_data->length >= 0) + if (gtk_selection_data_get_length (selection_data) >= 0) results->data = gtk_selection_data_copy (selection_data); g_main_loop_quit (results->loop); From e9a77a153501dd5f1ecf1726f23afac0229eed61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Thu, 16 Dec 2010 00:16:00 +0000 Subject: [PATCH 0533/1463] docs: gtknotebook.c: Use accessor functions to access GtkSelectionData --- gtk/gtknotebook.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 8c4de6577f..df0383d78f 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -8116,8 +8116,8 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook, * GtkWidget **child; * * notebook = gtk_drag_get_source_widget (context); - * child = (void*) selection_data->data; - * + * child = (void*) gtk_selection_data_get_data (selection_data); + * * process_widget (*child); * gtk_container_remove (GTK_CONTAINER (notebook), *child); * } From c01ad6f6155b76af90a288d02a8cef048c85b5a3 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 16 Dec 2010 12:26:18 +0100 Subject: [PATCH 0534/1463] Fix background area calculation in RTL mode --- gtk/gtkcellareabox.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 56a856bf6a..e21bb0c9e9 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1148,13 +1148,29 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, { if (l == allocated_cells) { - cell_background.width += cell_background.x - background_area->x; - cell_background.x = background_area->x; + /* Add the depth to the first cell */ + if (rtl) + { + cell_background.width += background_area->width - cell_area->width; + cell_background.x = background_area->x + background_area->width - cell_background.width; + } + else + { + cell_background.width += cell_area->x - background_area->x; + cell_background.x = background_area->x; + } } if (l->next == NULL) - cell_background.width = - background_area->width - (cell_background.x - background_area->x); + { + /* Grant this cell the remaining space */ + int remain = cell_background.x - background_area->x; + + if (rtl) + cell_background.x -= remain; + else + cell_background.width = background_area->width - remain; + } cell_background.y = background_area->y; cell_background.height = background_area->height; From e3cab18354724fee8ca5673d8996218771498bf9 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 16 Dec 2010 12:33:00 +0100 Subject: [PATCH 0535/1463] Clip focus rectangle to background area --- gtk/gtkcellarea.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 10190214e6..a11f5b087f 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -1135,11 +1135,18 @@ gtk_cell_area_real_render (GtkCellArea *area, (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); + cairo_save (cr); + + gdk_cairo_rectangle (cr, background_area); + cairo_clip (cr); + gtk_paint_focus (gtk_widget_get_style (widget), cr, renderer_state, widget, gtk_cell_area_get_style_detail (area), render_data.focus_rect.x, render_data.focus_rect.y, render_data.focus_rect.width, render_data.focus_rect.height); + + cairo_restore (cr); } } From 88f8859f90781b3fb72b24cfc7f2fd15ea5733a9 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 16 Dec 2010 22:42:10 +0100 Subject: [PATCH 0536/1463] Should pass inner_area to cell in gtk_cell_area_activate_cell() --- gtk/gtkcellarea.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index a11f5b087f..fcf550ef82 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -3415,13 +3415,16 @@ gtk_cell_area_activate_cell (GtkCellArea *area, else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) { GtkCellEditable *editable_widget; + GdkRectangle inner_area; + + gtk_cell_area_inner_cell_area (area, widget, cell_area, &inner_area); editable_widget = gtk_cell_renderer_start_editing (renderer, event, widget, priv->current_path, - cell_area, - cell_area, + &inner_area, + &inner_area, flags); if (editable_widget != NULL) From 735fa8b1976e3bbe045e5365d42f0d67007e5293 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 16 Dec 2010 23:33:42 +0100 Subject: [PATCH 0537/1463] Avoid recursion in do_validate_rows() I have never really liked the updates done to the adjustments in do_validate_rows() and other validation functions. But it is really required. I have to come up with a real solution to this one day. --- gtk/gtktreeview.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index f34d6c2be3..41769b14b8 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -575,7 +575,8 @@ static void gtk_tree_view_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural); static void gtk_tree_view_size_request (GtkWidget *widget, - GtkRequisition *requisition); + GtkRequisition *requisition, + gboolean may_validate); static void gtk_tree_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_tree_view_draw (GtkWidget *widget, @@ -2420,15 +2421,20 @@ gtk_tree_view_update_size (GtkTreeView *tree_view) static void gtk_tree_view_size_request (GtkWidget *widget, - GtkRequisition *requisition) + GtkRequisition *requisition, + gboolean may_validate) { GtkTreeView *tree_view = GTK_TREE_VIEW (widget); GList *tmp_list; - /* we validate some rows initially just to make sure we have some size. - * In practice, with a lot of static lists, this should get a good width. - */ - do_validate_rows (tree_view, FALSE); + if (may_validate) + { + /* we validate some rows initially just to make sure we have some size. + * In practice, with a lot of static lists, this should get a good width. + */ + do_validate_rows (tree_view, FALSE); + } + gtk_tree_view_size_request_columns (tree_view); gtk_tree_view_update_size (GTK_TREE_VIEW (widget)); @@ -2445,7 +2451,7 @@ gtk_tree_view_get_preferred_width (GtkWidget *widget, { GtkRequisition requisition; - gtk_tree_view_size_request (widget, &requisition); + gtk_tree_view_size_request (widget, &requisition, TRUE); *minimum = *natural = requisition.width; } @@ -2457,7 +2463,7 @@ gtk_tree_view_get_preferred_height (GtkWidget *widget, { GtkRequisition requisition; - gtk_tree_view_size_request (widget, &requisition); + gtk_tree_view_size_request (widget, &requisition, TRUE); *minimum = *natural = requisition.height; } @@ -6754,7 +6760,7 @@ do_validate_rows (GtkTreeView *tree_view, gboolean queue_resize) * Currently bypassing this but the real solution is to not update the scroll adjustments * untill we've recieved an allocation (never update scroll adjustments from size-requests). */ - gtk_tree_view_size_request (GTK_WIDGET (tree_view), &requisition); + gtk_tree_view_size_request (GTK_WIDGET (tree_view), &requisition, FALSE); tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->upper, (gfloat)requisition.width); tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->upper, (gfloat)requisition.height); From 941a0e95d7a06df556940ef7ad0fbaabc1d26ada Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 17 Dec 2010 15:26:28 +0900 Subject: [PATCH 0538/1463] Fixed documentation of GtkCellLayout Mention that it's safe to use tag for any GtkCellLayout in GTK+ since they *all* use an underlying GtkCellArea (at least they will once the other branches land). --- gtk/gtkcelllayout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index b2182d276e..c54a8753b5 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -63,7 +63,7 @@ * * * Furthermore for implementations of GtkCellLayout that use a #GtkCellArea - * to lay out cells (most, of not all GtkCellLayouts in GTK+ use a GtkCellArea) + * to lay out cells (all GtkCellLayouts in GTK+ use a GtkCellArea) * cell properties can also be defined * in the format by specifying the custom <cell-packing> attribute which * can contain multiple <property> elements defined in the normal way. From b11bb46a76e4c54099eba019e7a3310f25af80a3 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 17 Dec 2010 15:35:21 +0900 Subject: [PATCH 0539/1463] Fixed parameter names in gtkcellarea.h for gtk-doc parsing. --- gtk/gtkcellarea.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 008b8bb10f..f9c1c45b90 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -326,8 +326,8 @@ GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea void gtk_cell_area_get_preferred_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - gint *minimum_size, - gint *natural_size); + gint *minimum_width, + gint *natural_width); void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, @@ -337,8 +337,8 @@ void gtk_cell_area_get_preferred_height_for_width (GtkCellArea void gtk_cell_area_get_preferred_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, - gint *minimum_size, - gint *natural_size); + gint *minimum_height, + gint *natural_height); void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, GtkCellAreaContext *context, GtkWidget *widget, From df0d61e50da88ff90740ce6605d43d4062a54e57 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 17 Dec 2010 18:15:08 +0900 Subject: [PATCH 0540/1463] Fixed gtk_entry_set_icon_tooltip_text & markup to not crash Setting this property before the icon is actually set was resulting in a crash (found by way of Glade bug 606103). --- gtk/gtkentry.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 8463311fc0..9efabbd0a4 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -8481,8 +8481,8 @@ gtk_entry_set_icon_tooltip_text (GtkEntry *entry, priv = entry->priv; - if (!(icon_info = priv->icons[icon_pos])) - icon_info = priv->icons[icon_pos]; + if ((icon_info = priv->icons[icon_pos]) == NULL) + icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos); if (icon_info->tooltip) g_free (icon_info->tooltip); @@ -8561,8 +8561,8 @@ gtk_entry_set_icon_tooltip_markup (GtkEntry *entry, priv = entry->priv; - if (!(icon_info = priv->icons[icon_pos])) - icon_info = priv->icons[icon_pos]; + if ((icon_info = priv->icons[icon_pos]) == NULL) + icon_info = construct_icon_info (GTK_WIDGET (entry), icon_pos); if (icon_info->tooltip) g_free (icon_info->tooltip); From 668604dcfd8fbd27f4ea689d34d75e076d765384 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Fri, 17 Dec 2010 13:09:58 +0100 Subject: [PATCH 0541/1463] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20t?= =?UTF-8?q?ranslation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 306 +++++++++++++++++++++++++++---------------------------- 1 file changed, 151 insertions(+), 155 deletions(-) diff --git a/po/nb.po b/po/nb.po index f9b2919b15..1d99acb0c0 100644 --- a/po/nb.po +++ b/po/nb.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ 2.92.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-06 18:12+0100\n" -"PO-Revision-Date: 2010-12-06 18:13+0100\n" +"POT-Creation-Date: 2010-12-17 13:05+0100\n" +"PO-Revision-Date: 2010-12-17 13:09+0100\n" "Last-Translator: Torstein Adolf Winterseth \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" @@ -326,56 +326,57 @@ msgstr "Gjør kall til X-bibliotekene synkrone" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "" -"Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk %s for detaljer" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk %s for detaljer" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "Lisens" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "Programmets lisens" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:741 msgid "C_redits" msgstr "Bid_ragsytere" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:754 msgid "_License" msgstr "_Lisens" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:959 msgid "Could not show link" msgstr "Klarte ikke å vise lenke" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:996 +msgid "Homepage" +msgstr "Hjemmeside" + +#: ../gtk/gtkaboutdialog.c:1052 #, c-format msgid "About %s" msgstr "Om %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "Bidragsytere" +#: ../gtk/gtkaboutdialog.c:2367 +msgid "Created by" +msgstr "Laget av" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "Skrevet av" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2370 msgid "Documented by" msgstr "Dokumentert av" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2382 msgid "Translated by" msgstr "Oversatt av" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2386 msgid "Artwork by" msgstr "Grafikk av" @@ -579,11 +580,11 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Velg en farge" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Mottok ugyldige fargedata\n" @@ -679,7 +680,7 @@ msgstr "_Palett:" msgid "Color Wheel" msgstr "Fargehjul" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -689,7 +690,7 @@ msgstr "" "denne fargen til en palettoppføring, eller velge denne fargen som aktiv ved " "å dra den til den andre fargeprøven ved siden av." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1037 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -697,21 +698,21 @@ msgstr "" "Fargen du har valgt. Du kan dra denne fargen til en palettoppføring for å " "lagre den for senere bruk." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1042 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "Tidligere valgt farge. For sammenligning med fargen du velger nå." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1045 msgid "The color you've chosen." msgstr "Fargen du har valgt." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1445 msgid "_Save color here" msgstr "_Lagre fargen her" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1653 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -735,7 +736,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "Håndter egendefinerte størrelser" @@ -788,23 +789,23 @@ msgstr "Høy_re:" msgid "Paper Margins" msgstr "Papirmarger" -#: ../gtk/gtkentry.c:8793 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "Inndata_metoder" -#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8821 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "Sett _inn Unicode kontrolltegn" -#: ../gtk/gtkentry.c:10207 +#: ../gtk/gtkentry.c:10225 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock og Num Lock er på" -#: ../gtk/gtkentry.c:10209 +#: ../gtk/gtkentry.c:10227 msgid "Num Lock is on" msgstr "Num Lock er på" -#: ../gtk/gtkentry.c:10211 +#: ../gtk/gtkentry.c:10229 msgid "Caps Lock is on" msgstr "Caps Lock er på" @@ -884,7 +885,7 @@ msgstr "%1$s på %2$s" msgid "Search" msgstr "Søk" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Sist brukt" @@ -917,144 +918,144 @@ msgstr "Fjern bokmerke «%s»" msgid "Bookmark '%s' cannot be removed" msgstr "Bokmerke «%s» kan ikke fjernes" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "Fjern valgt bokmerke" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "Fjern" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "Gi nytt navn …" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "Steder" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "_Steder" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "_Legg til" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "Legg til valgt mappe i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "Fje_rn" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "Klarte ikke å merke filen" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "L_egg til i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "Vis sk_julte filer" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "Vis kolonne for _størrelse" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "Filer" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "Navn" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "Størrelse" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "Endret" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Navn:" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_Se gjennom andre mapper" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "Skriv et filnavn" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "Opprett _mappe" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "_Lokasjon:" -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "Lagre i _mappe:" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "Opprett i _mappe:" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "Klarte ikke å lese innholdet av %s" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "Klarte ikke å lese innholdet i mappen" -#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "Ukjent" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H.%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "I går kl. %H.%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "Kan ikke gå til mappen fordi den ikke er lokal" -#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "Snarvei %s eksisterer allerede" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "Snarvei %s eksisterer ikke" -#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "En fil med navn «%s» eksisterer allerede. Vil du erstatte den?" -#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." @@ -1062,15 +1063,15 @@ msgstr "" "Fila eksisterer allerede i «%s». Hvis du erstatter denne vil du overskrive " "innholdet." -#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "E_rstatt" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Klarte ikke å starte søkeprosessen" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1078,15 +1079,15 @@ msgstr "" "Programmet kunne ikke opprette en tilkobling til indekseringstjenesten. " "Sjekk at denne kjører." -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Klarte ikke å sende søkeforespørselen" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Søk:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Klarte ikke å montere %s" @@ -1248,12 +1249,12 @@ msgid "System (%s)" msgstr "System (%s)" #. Open Link -#: ../gtk/gtklabel.c:6243 +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" msgstr "_Åpne lenke" #. Copy Link Address -#: ../gtk/gtklabel.c:6255 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" msgstr "Kopier _lenkas adresse" @@ -1393,7 +1394,7 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "Kan ikke avslutte prosess med PID %d: %s" -#: ../gtk/gtknotebook.c:4758 ../gtk/gtknotebook.c:7353 +#: ../gtk/gtknotebook.c:4914 ../gtk/gtknotebook.c:7571 #, c-format msgid "Page %u" msgstr "Side %u" @@ -1426,7 +1427,7 @@ msgstr "" " Topp: %s %s\n" " Bunn: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "Håndter egendefinerte størrelser …" @@ -1434,7 +1435,7 @@ msgstr "Håndter egendefinerte størrelser …" msgid "_Format for:" msgstr "_Format for:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "_Papirstørrelse:" @@ -1442,7 +1443,7 @@ msgstr "_Papirstørrelse:" msgid "_Orientation:" msgstr "_Orientering:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "Sideoppsett" @@ -1622,41 +1623,41 @@ msgstr "Klarte ikke å hente informasjon om skriveren" msgid "Getting printer information..." msgstr "Henter informasjon om skriver …" -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "Skriver" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "Lokasjon" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "Status" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "Område" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "Alle sider" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "D_enne siden" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "Utva_lg" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "Sid_er:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1664,28 +1665,28 @@ msgstr "" "Oppgi en ett eller flere sideområder,\n" " f.eks 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "Sider" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "Kopier" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "_Kopier:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "S_lå sammen" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "_Omvendt" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "Generelt" @@ -1695,42 +1696,42 @@ msgstr "Generelt" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "Venstre til høyre, topp til bunn" -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "Venstre til høyre, bunn til topp" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "Høyre til venstre, topp til bunn" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "Høyre til venstre, bunn til topp" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "Topp til bunn, venstre til høyre" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "Topp til bunn, høyre til venstre" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "Bunn til topp, venstre til høyre" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "Bunn til topp, høyre til venstre" @@ -1738,125 +1739,125 @@ msgstr "Bunn til topp, høyre til venstre" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Siderekkefølge" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "Venstre til høyre" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "Høyre til venstre" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "Topp til bunn" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "Bunn til topp" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "Utforming" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "T_osidig:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "Ark per _side:" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "Si_derekkefølge:" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "K_un skriv ut:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "Alle ark" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "Like ark" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "Ulike ark" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "Sk_aler:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "Papir" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "Papir_type:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "Papi_rkilde:" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "U_tskuff:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "Or_ientering:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "Portrett" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "Landskap" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "Omvendt portrett" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "Omvendt landskap" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "Detaljer for jobb" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "Pri_oritet:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "_Faktureringsinformasjon:" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "Skriv ut dokument" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "_Nå" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "_Tid:" @@ -1864,7 +1865,7 @@ msgstr "_Tid:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1872,77 +1873,72 @@ msgstr "" "Oppgi klokkeslett for utskrift.\n" " f.eks 15.30, 2.35 pm, 14.15.20, 11.46.30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "Tid for utskrift" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "På _vent" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "Sett jobben på vent inntil den er eksplisitt aktivert" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "Legg til omslag" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "_Før:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "_Etter:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "Jobb" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "Avansert" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "Bildekvalitet" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "Farge" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "Fullfører" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "Noen innstillinger i dialogen er i konflikt" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "Skriv ut" -#: ../gtk/gtkrc.c:2855 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Kan ikke finne include-fil: «%s»" - -#: ../gtk/gtkrc.c:3491 ../gtk/gtkrc.c:3494 +#: ../gtk/gtkrc.c:2366 ../gtk/gtkrc.c:2369 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Klarte ikke å finne bildefil i pixmap_path: «%s»" From 23c1d1cbc99f927a78fb03665c7fd74ef7801611 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Fri, 10 Dec 2010 15:05:50 +0000 Subject: [PATCH 0542/1463] gtk: Add symbolic property for GtkVolumeButton When the application prefers symbolic icons, avoids having to reimplement the button in the software itself. https://bugzilla.gnome.org/show_bug.cgi?id=636969 --- gtk/gtkvolumebutton.c | 104 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 95 insertions(+), 9 deletions(-) diff --git a/gtk/gtkvolumebutton.c b/gtk/gtkvolumebutton.c index a9c8703b89..639688f493 100644 --- a/gtk/gtkvolumebutton.c +++ b/gtk/gtkvolumebutton.c @@ -47,6 +47,28 @@ #define EPSILON (1e-10) +const char * const icons[] = +{ + "audio-volume-muted", + "audio-volume-high", + "audio-volume-low", + "audio-volume-medium", + NULL +}; +const char * const icons_symbolic[] = +{ + "audio-volume-muted-symbolic", + "audio-volume-high-symbolic", + "audio-volume-low-symbolic", + "audio-volume-medium-symbolic", + NULL +}; + +enum +{ + PROP_0, + PROP_SYMBOLIC +}; static gboolean cb_query_tooltip (GtkWidget *button, gint x, @@ -60,9 +82,80 @@ static void cb_value_changed (GtkVolumeButton *button, G_DEFINE_TYPE (GtkVolumeButton, gtk_volume_button, GTK_TYPE_SCALE_BUTTON) +static void +gtk_volume_button_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkScaleButton *button = GTK_SCALE_BUTTON (object); + + switch (prop_id) + { + case PROP_SYMBOLIC: + if (g_value_get_boolean (value)) + gtk_scale_button_set_icons (button, (const char **) icons_symbolic); + else + gtk_scale_button_set_icons (button, (const char **) icons); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gtk_volume_button_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + switch (prop_id) + { + case PROP_SYMBOLIC: { + char **icon_list; + + g_object_get (object, "icons", &icon_list, NULL); + if (icon_list != NULL && + icon_list[0] != NULL && + g_str_equal (icon_list[0], icons_symbolic[0])) + g_value_set_boolean (value, TRUE); + else + g_value_set_boolean (value, FALSE); + g_strfreev (icon_list); + break; + } + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static void gtk_volume_button_class_init (GtkVolumeButtonClass *klass) { + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + + gobject_class->set_property = gtk_volume_button_set_property; + gobject_class->get_property = gtk_volume_button_get_property; + + /** + * GtkVolumeButton:use-symbolic: + * + * Whether to use symbolic icons as the icons. Note that + * if the symbolic icons are not available in your installed + * theme, then the normal (potentially colorful) icons will + * be used. + * + * Since: 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_SYMBOLIC, + g_param_spec_boolean ("use-symbolic", + P_("Use symbolic icons"), + P_("Whether to use symbolic icons"), + FALSE, + G_PARAM_READWRITE)); } static void @@ -71,13 +164,6 @@ gtk_volume_button_init (GtkVolumeButton *button) GtkScaleButton *sbutton = GTK_SCALE_BUTTON (button); GtkAdjustment *adj; GtkWidget *minus_button, *plus_button; - const char *icons[] = { - "audio-volume-muted", - "audio-volume-high", - "audio-volume-low", - "audio-volume-medium", - NULL - }; atk_object_set_name (gtk_widget_get_accessible (GTK_WIDGET (button)), _("Volume")); @@ -102,14 +188,14 @@ gtk_volume_button_init (GtkVolumeButton *button) _("Increases the volume")); gtk_widget_set_tooltip_text (plus_button, _("Volume Up")); - gtk_scale_button_set_icons (sbutton, icons); + gtk_scale_button_set_icons (sbutton, (const char **) icons); adj = gtk_adjustment_new (0., 0., 1., 0.02, 0.2, 0.); g_object_set (G_OBJECT (button), "adjustment", adj, "size", GTK_ICON_SIZE_SMALL_TOOLBAR, "has-tooltip", TRUE, - NULL); + NULL); g_signal_connect (G_OBJECT (button), "query-tooltip", G_CALLBACK (cb_query_tooltip), NULL); From 2c8c1c6df49b38b525b51a4773758b08a648f81e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 17 Dec 2010 03:17:13 +0100 Subject: [PATCH 0543/1463] Remove *_set_extension_events() and old API to query devices. The old functions to get core pointer and devices list are gone as well. This slice is entirely replaced internally by multidevice handling and may just go. --- docs/reference/gdk/gdk3-sections.txt | 10 -- docs/reference/gtk/gtk3-sections.txt | 2 - gdk/Makefile.am | 2 - gdk/gdk.h | 1 - gdk/gdk.symbols | 5 - gdk/gdkdevice.c | 5 - gdk/gdkdeviceprivate.h | 2 - gdk/gdkdisplay.c | 39 ----- gdk/gdkdisplay.h | 4 - gdk/gdkinput.h | 60 ------- gdk/gdkinternals.h | 6 - gdk/gdkwindow.c | 153 ------------------ gdk/x11/Makefile.am | 1 - gdk/x11/gdkinput.c | 227 --------------------------- gtk/gtk.symbols | 2 - gtk/gtkwidget.c | 125 +-------------- gtk/gtkwidget.h | 4 - 17 files changed, 2 insertions(+), 646 deletions(-) delete mode 100644 gdk/gdkinput.h delete mode 100644 gdk/x11/gdkinput.c diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index a70c8bb276..1a1db3bf3f 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -122,7 +122,6 @@ gdk_display_sync gdk_display_flush gdk_display_close gdk_display_is_closed -gdk_display_list_devices gdk_display_get_event gdk_display_peek_event gdk_display_put_event @@ -173,7 +172,6 @@ gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_set_default_display gdk_display_manager_list_displays -gdk_display_get_core_pointer GDK_DISPLAY_MANAGER GDK_DISPLAY_MANAGER_CLASS @@ -738,14 +736,6 @@ gdk_device_get_axis gdk_device_list_axes gdk_device_get_axis_value - -gdk_input_set_extension_events -GdkExtensionMode - - -gdk_devices_list -gdk_device_get_core_pointer - GDK_TYPE_AXIS_USE GDK_TYPE_EXTENSION_MODE diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 6fefb960ad..e16eb06bf3 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4937,8 +4937,6 @@ gtk_widget_get_parent_window gtk_widget_set_events gtk_widget_get_events gtk_widget_add_events -gtk_widget_set_extension_events -gtk_widget_get_extension_events gtk_widget_set_device_events gtk_widget_get_device_events gtk_widget_add_device_events diff --git a/gdk/Makefile.am b/gdk/Makefile.am index c56c721cd6..40aaaf777a 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -72,7 +72,6 @@ gdk_public_h_sources = \ gdkdisplaymanager.h \ gdkdnd.h \ gdkevents.h \ - gdkinput.h \ gdkkeys.h \ gdkkeysyms.h \ gdkkeysyms-compat.h \ @@ -195,7 +194,6 @@ x11_introspection_files = \ x11/gdkgeometry-x11.c \ x11/gdkglobals-x11.c \ x11/gdkim-x11.c \ - x11/gdkinput.c \ x11/gdkkeys-x11.c \ x11/gdkmain-x11.c \ x11/gdkproperty-x11.c \ diff --git a/gdk/gdk.h b/gdk/gdk.h index 851185a8c0..529dc05949 100644 --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -40,7 +40,6 @@ #include #include #include -#include #include #include #include diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 8d5cba8333..f9a2f4dfd0 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -50,7 +50,6 @@ gdk_device_get_associated_device gdk_device_get_axis gdk_device_get_axis_use gdk_device_get_axis_value -gdk_device_get_core_pointer gdk_device_get_device_type gdk_device_get_display gdk_device_get_has_cursor @@ -77,7 +76,6 @@ gdk_device_set_axis_use gdk_device_set_key gdk_device_set_mode gdk_device_set_source -gdk_devices_list gdk_device_type_get_type G_GNUC_CONST gdk_device_ungrab gdk_disable_multidevice @@ -86,7 +84,6 @@ gdk_display_beep gdk_display_close gdk_display_device_is_grabbed gdk_display_flush -gdk_display_get_core_pointer gdk_display_get_default gdk_display_get_default_cursor_size gdk_display_get_default_group @@ -104,7 +101,6 @@ gdk_display_get_window_at_device_position gdk_display_get_window_at_pointer gdk_display_is_closed gdk_display_keyboard_ungrab -gdk_display_list_devices gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_get_type G_GNUC_CONST @@ -208,7 +204,6 @@ gdk_gravity_get_type G_GNUC_CONST gdk_init gdk_init_check gdk_input_mode_get_type G_GNUC_CONST -gdk_input_set_extension_events gdk_input_source_get_type G_GNUC_CONST gdk_keyboard_grab gdk_keyboard_ungrab diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 57a1a83368..755f78acd6 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -621,14 +621,9 @@ gdk_device_set_mode (GdkDevice *device, gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER) return FALSE; - /* FIXME: setting has_cursor when mode is window? */ - device->priv->mode = mode; g_object_notify (G_OBJECT (device), "input-mode"); - if (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER) - _gdk_input_check_extension_events (device); - return TRUE; } diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index f7318620d8..53536510d8 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -123,8 +123,6 @@ gboolean _gdk_device_translate_axis (GdkDevice *device, GdkTimeCoord ** _gdk_device_allocate_history (GdkDevice *device, gint n_events); -void _gdk_input_check_extension_events (GdkDevice *device); - void _gdk_device_add_slave (GdkDevice *device, GdkDevice *slave); void _gdk_device_remove_slave (GdkDevice *device, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 9a083e18b7..7ec0906280 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -649,45 +649,6 @@ gdk_event_send_clientmessage_toall (GdkEvent *event) gdk_screen_broadcast_client_message (gdk_screen_get_default (), event); } -/** - * gdk_device_get_core_pointer: - * - * Returns the core pointer device for the default display. - * - * Return value: (transfer none): the core pointer device; this is owned - * by the display and should not be freed. - * - * Deprecated: 3.0: Use gdk_device_manager_get_client_pointer() instead, or - * gdk_event_get_device() if a #GdkEvent with pointer device - * information is available. - **/ -GdkDevice * -gdk_device_get_core_pointer (void) -{ - return gdk_display_get_core_pointer (gdk_display_get_default ()); -} - -/** - * gdk_display_get_core_pointer: - * @display: a #GdkDisplay - * - * Returns the core pointer device for the given display - * - * Return value: (transfer none): the core pointer device; this is owned by the - * display and should not be freed. - * - * Since: 2.2 - * - * Deprecated: 3.0: Use gdk_device_manager_get_client_pointer() instead, or - * gdk_event_get_device() if a #GdkEvent with device - * information is available. - **/ -GdkDevice * -gdk_display_get_core_pointer (GdkDisplay *display) -{ - return display->core_pointer; -} - /** * gdk_set_sm_client_id: * @sm_client_id: the client id assigned by the session manager when the diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 17afa4bfc7..381f45e844 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -259,10 +259,6 @@ GdkDisplay *gdk_display_get_default (void); #ifndef GDK_MULTIDEVICE_SAFE -#ifndef GDK_DISABLE_DEPRECATED -GdkDevice *gdk_display_get_core_pointer (GdkDisplay *display); -#endif /* GDK_DISABLE_DEPRECATED */ - void gdk_display_get_pointer (GdkDisplay *display, GdkScreen **screen, gint *x, diff --git a/gdk/gdkinput.h b/gdk/gdkinput.h deleted file mode 100644 index 3ea024dc2d..0000000000 --- a/gdk/gdkinput.h +++ /dev/null @@ -1,60 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __GDK_INPUT_H__ -#define __GDK_INPUT_H__ - -#include -#include - -G_BEGIN_DECLS - -#if !defined (GDK_MULTIDEVICE_SAFE) && !defined (GDK_DISABLE_DEPRECATED) - -#ifndef GDK_MULTIHEAD_SAFE - -/* Returns a list of GdkDevice * */ -GList * gdk_devices_list (void); - -#ifndef GTK_DISABLE_DEPRECATED -GdkDevice *gdk_device_get_core_pointer (void); -#endif - -#endif /* GDK_MULTIHEAD_SAFE */ - -void gdk_input_set_extension_events (GdkWindow *window, - gint mask, - GdkExtensionMode mode); - -#endif /* !GDK_MULTIDEVICE_SAFE && GDK_DISABLE_DEPRECATED */ - -G_END_DECLS - -#endif /* __GDK_INPUT_H__ */ diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index c98d2180c5..c6173a747f 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -176,7 +176,6 @@ typedef struct guint implicit_ungrab : 1; } GdkDeviceGrabInfo; -typedef struct _GdkInputWindow GdkInputWindow; typedef struct _GdkWindowPaint GdkWindowPaint; typedef void (* GdkDisplayPointerInfoForeach) (GdkDisplay *display, @@ -253,7 +252,6 @@ struct _GdkWindow guint num_offscreen_children; GdkWindowPaint *implicit_paint; - GdkInputWindow *input_window; /* only set for impl windows */ GList *outstanding_moves; @@ -527,10 +525,6 @@ cairo_region_t *_gdk_window_calculate_full_clip_region (GdkWindow *window gint *base_y_offset); gboolean _gdk_window_has_impl (GdkWindow *window); GdkWindow * _gdk_window_get_impl_window (GdkWindow *window); -GdkWindow *_gdk_window_get_input_window_for_event (GdkWindow *native_window, - GdkEventType event_type, - int x, int y, - gulong serial); /***************************** * offscreen window routines * diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 54f5d2f5d1..d5e5e1488d 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1699,67 +1699,6 @@ gdk_window_reparent (GdkWindow *window, _gdk_synthesize_crossing_events_for_geometry_change (window); } -static gboolean -temporary_disable_extension_events (GdkWindow*window) -{ - GdkWindow*child; - GList *l; - gboolean res; - - if (window->extension_events != 0) - { - g_object_set_data (G_OBJECT (window), - "gdk-window-extension-events", - GINT_TO_POINTER (window->extension_events)); - gdk_input_set_extension_events ((GdkWindow *)window, 0, - GDK_EXTENSION_EVENTS_NONE); - } - else - res = FALSE; - - for (l = window->children; l != NULL; l = l->next) - { - child = l->data; - - if (window->impl_window == child->impl_window) - res |= temporary_disable_extension_events (child); - } - - return res; -} - -static void -reenable_extension_events (GdkWindow *window) -{ - GdkWindow *child; - GList *l; - int mask; - - mask = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (window), - "gdk-window-extension-events")); - - if (mask != 0) - { - /* We don't have the mode here, so we pass in cursor. - This works with the current code since mode is not - stored except as part of the mask, and cursor doesn't - change the mask. */ - gdk_input_set_extension_events ((GdkWindow *)window, mask, - GDK_EXTENSION_EVENTS_CURSOR); - g_object_set_data (G_OBJECT (window), - "gdk-window-extension-events", - NULL); - } - - for (l = window->children; l != NULL; l = l->next) - { - child = l->data; - - if (window->impl_window == child->impl_window) - reenable_extension_events (window); - } -} - /** * gdk_window_ensure_native: * @window: a #GdkWindow @@ -1784,7 +1723,6 @@ gdk_window_ensure_native (GdkWindow *window) GdkWindow *above; GList listhead; GdkWindowImplClass *impl_class; - gboolean disabled_extension_events; g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE); @@ -1803,12 +1741,6 @@ gdk_window_ensure_native (GdkWindow *window) /* Need to create a native window */ - /* First we disable any extension events on the window or its - descendants to handle the native input window moving */ - disabled_extension_events = FALSE; - if (impl_window->input_window) - disabled_extension_events = temporary_disable_extension_events (window); - gdk_window_drop_cairo_surface (window); screen = gdk_window_get_screen (window); @@ -1859,9 +1791,6 @@ gdk_window_ensure_native (GdkWindow *window) if (gdk_window_is_viewable (window)) impl_class->show (window, FALSE); - if (disabled_extension_events) - reenable_extension_events (window); - return TRUE; } @@ -9814,88 +9743,6 @@ _gdk_windowing_got_event (GdkDisplay *display, } } - -static GdkWindow * -get_extension_event_window (GdkDisplay *display, - GdkWindow *pointer_window, - GdkEventType type, - gulong serial) -{ - guint evmask; - GdkWindow *w, *grab_window; - GdkDeviceGrabInfo *grab; - - /* FIXME: which device? */ - grab = _gdk_display_has_device_grab (display, display->core_pointer, serial); - - if (grab != NULL && !grab->owner_events) - { - evmask = grab->event_mask; - - grab_window = grab->window; - - if (evmask & type_masks[type]) - return grab_window; - else - return NULL; - } - - w = pointer_window; - while (w != NULL) - { - evmask = w->extension_events; - - if (evmask & type_masks[type]) - return w; - - w = get_event_parent (w); - } - - if (grab != NULL && - grab->owner_events) - { - evmask = grab->event_mask; - - if (evmask & type_masks[type]) - return grab->window; - else - return NULL; - } - - return NULL; -} - - -GdkWindow * -_gdk_window_get_input_window_for_event (GdkWindow *native_window, - GdkEventType event_type, - int x, int y, - gulong serial) -{ - GdkDisplay *display; - GdkWindow *toplevel_window; - GdkWindow *pointer_window; - GdkWindow *event_win; - gdouble toplevel_x, toplevel_y; - - toplevel_x = x; - toplevel_y = y; - - display = gdk_window_get_display (native_window); - toplevel_window = convert_native_coords_to_toplevel (native_window, - toplevel_x, toplevel_y, - &toplevel_x, &toplevel_y); - /* FIXME: which device? */ - pointer_window = get_pointer_window (display, toplevel_window, NULL, - toplevel_x, toplevel_y, serial); - event_win = get_extension_event_window (display, - pointer_window, - event_type, - serial); - - return event_win; -} - /** * gdk_window_create_similar_surface: * @window: window to make new surface similar to diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index b6a4751b32..30295b42f6 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -37,7 +37,6 @@ libgdk_x11_la_SOURCES = \ gdkgeometry-x11.c \ gdkglobals-x11.c \ gdkim-x11.c \ - gdkinput.c \ gdkkeys-x11.c \ gdkmain-x11.c \ gdkproperty-x11.c \ diff --git a/gdk/x11/gdkinput.c b/gdk/x11/gdkinput.c deleted file mode 100644 index bd41a428ea..0000000000 --- a/gdk/x11/gdkinput.c +++ /dev/null @@ -1,227 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include "gdkscreen-x11.h" -#include "gdkdisplay-x11.h" -#include "gdkwindow.h" - -#include - - -/* Addition used for extension_events mask */ -#define GDK_ALL_DEVICES_MASK (1<<30) - -struct _GdkInputWindow -{ - GList *windows; /* GdkWindow:s with extension_events set */ - - /* gdk window */ - GdkWindow *impl_window; /* an impl window */ -}; - - -/** - * gdk_devices_list: - * - * Returns the list of available input devices for the default display. - * The list is statically allocated and should not be freed. - * - * Return value: (transfer none) (element-type GdkDevice): a list of #GdkDevice - * - * Deprecated: 3.0: Use gdk_device_manager_list_devices() instead. - **/ -GList * -gdk_devices_list (void) -{ - return gdk_display_list_devices (gdk_display_get_default ()); -} - -static void -_gdk_input_select_device_events (GdkWindow *impl_window, - GdkDevice *device) -{ - guint event_mask; - GdkWindow *w; - GdkInputWindow *iw; - GdkInputMode mode; - gboolean has_cursor; - GdkDeviceType type; - GList *l; - - event_mask = 0; - iw = impl_window->input_window; - - g_object_get (device, - "type", &type, - "input-mode", &mode, - "has-cursor", &has_cursor, - NULL); - - if (iw == NULL || - mode == GDK_MODE_DISABLED || - type == GDK_DEVICE_TYPE_MASTER) - return; - - for (l = iw->windows; l != NULL; l = l->next) - { - w = l->data; - - if (has_cursor || (w->extension_events & GDK_ALL_DEVICES_MASK)) - { - event_mask = w->extension_events; - - if (event_mask) - event_mask |= GDK_PROXIMITY_OUT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK; - - gdk_window_set_device_events (w, device, event_mask); - } - } -} - -static void -unset_extension_events (GdkWindow *window) -{ - GdkWindow *impl_window; - GdkDisplayX11 *display_x11; - GdkInputWindow *iw; - - impl_window = _gdk_window_get_impl_window (window); - iw = impl_window->input_window; - - display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); - - if (window->extension_events != 0) - { - g_assert (iw != NULL); - g_assert (g_list_find (iw->windows, window) != NULL); - - iw->windows = g_list_remove (iw->windows, window); - if (iw->windows == NULL) - { - impl_window->input_window = NULL; - display_x11->input_windows = g_list_remove (display_x11->input_windows, iw); - g_free (iw); - } - } - - window->extension_events = 0; -} - -/** - * gdk_input_set_extension_events: - * @window: a #GdkWindow. - * @mask: the event mask - * @mode: the type of extension events that are desired. - * - * Turns extension events on or off for a particular window, - * and specifies the event mask for extension events. - * - * Deprecated: 3.0: Use gdk_window_set_device_events() instead. - **/ -void -gdk_input_set_extension_events (GdkWindow *window, - gint mask, - GdkExtensionMode mode) -{ - GdkWindow *impl_window; - GdkInputWindow *iw; - GdkDisplayX11 *display_x11; -#ifndef XINPUT_NONE - GList *tmp_list; -#endif - - g_return_if_fail (window != NULL); - g_return_if_fail (GDK_WINDOW_IS_X11 (window)); - - display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); - if (GDK_WINDOW_DESTROYED (window)) - return; - - impl_window = _gdk_window_get_impl_window (window); - - if (mode == GDK_EXTENSION_EVENTS_ALL && mask != 0) - mask |= GDK_ALL_DEVICES_MASK; - - if (mode == GDK_EXTENSION_EVENTS_NONE) - mask = 0; - - iw = impl_window->input_window; - - if (mask != 0) - { - if (!iw) - { - iw = g_new0 (GdkInputWindow,1); - - iw->impl_window = (GdkWindow *)impl_window; - - iw->windows = NULL; - - display_x11->input_windows = g_list_append (display_x11->input_windows, iw); - impl_window->input_window = iw; - } - - if (window->extension_events == 0) - iw->windows = g_list_append (iw->windows, window); - window->extension_events = mask; - } - else - { - unset_extension_events (window); - } - -#ifndef XINPUT_NONE - for (tmp_list = display_x11->input_devices; tmp_list; tmp_list = tmp_list->next) - { - GdkDevice *dev = tmp_list->data; - _gdk_input_select_device_events (GDK_WINDOW (impl_window), dev); - } -#endif /* !XINPUT_NONE */ -} - -void -_gdk_input_window_destroy (GdkWindow *window) -{ - unset_extension_events (window); -} - -void -_gdk_input_check_extension_events (GdkDevice *device) -{ - GdkDisplayX11 *display_impl; - GdkInputWindow *input_window; - GList *tmp_list; - - display_impl = GDK_DISPLAY_X11 (gdk_device_get_display (device)); - - for (tmp_list = display_impl->input_windows; tmp_list; tmp_list = tmp_list->next) - { - input_window = tmp_list->data; - _gdk_input_select_device_events (input_window->impl_window, device); - } -} diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index d121000676..ad10d607e3 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3408,7 +3408,6 @@ gtk_widget_get_direction gtk_widget_get_display gtk_widget_get_double_buffered gtk_widget_get_events -gtk_widget_get_extension_events gtk_widget_get_halign gtk_widget_get_has_tooltip gtk_widget_get_has_window @@ -3554,7 +3553,6 @@ gtk_widget_set_device_events gtk_widget_set_direction gtk_widget_set_double_buffered gtk_widget_set_events -gtk_widget_set_extension_events gtk_widget_set_halign gtk_widget_set_has_tooltip gtk_widget_set_has_window diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 5053b1f8fe..3e3f7a0a93 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -24,8 +24,6 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -#undef GDK_DISABLE_DEPRECATED /* gdk_input_set_extension_events() */ - #include "config.h" #include #include @@ -467,7 +465,6 @@ enum { PROP_COMPOSITE_CHILD, PROP_STYLE, PROP_EVENTS, - PROP_EXTENSION_EVENTS, PROP_NO_SHOW_ALL, PROP_HAS_TOOLTIP, PROP_TOOLTIP_MARKUP, @@ -669,7 +666,6 @@ static GQuark quark_accel_path = 0; static GQuark quark_accel_closures = 0; static GQuark quark_event_mask = 0; static GQuark quark_device_event_mask = 0; -static GQuark quark_extension_event_mode = 0; static GQuark quark_parent_window = 0; static GQuark quark_pointer_window = 0; static GQuark quark_shape_info = 0; @@ -783,7 +779,6 @@ gtk_widget_class_init (GtkWidgetClass *klass) quark_accel_closures = g_quark_from_static_string ("gtk-accel-closures"); quark_event_mask = g_quark_from_static_string ("gtk-event-mask"); quark_device_event_mask = g_quark_from_static_string ("gtk-device-event-mask"); - quark_extension_event_mode = g_quark_from_static_string ("gtk-extension-event-mode"); quark_parent_window = g_quark_from_static_string ("gtk-parent-window"); quark_pointer_window = g_quark_from_static_string ("gtk-pointer-window"); quark_shape_info = g_quark_from_static_string ("gtk-shape-info"); @@ -1000,14 +995,6 @@ gtk_widget_class_init (GtkWidgetClass *klass) GDK_TYPE_EVENT_MASK, GDK_STRUCTURE_MASK, GTK_PARAM_READWRITE)); - g_object_class_install_property (gobject_class, - PROP_EXTENSION_EVENTS, - g_param_spec_enum ("extension-events", - P_("Extension events"), - P_("The mask that decides what kind of extension events this widget gets"), - GDK_TYPE_EXTENSION_MODE, - GDK_EXTENSION_EVENTS_NONE, - GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_NO_SHOW_ALL, g_param_spec_boolean ("no-show-all", @@ -3231,9 +3218,6 @@ gtk_widget_set_property (GObject *object, if (!gtk_widget_get_realized (widget) && gtk_widget_get_has_window (widget)) gtk_widget_set_events (widget, g_value_get_flags (value)); break; - case PROP_EXTENSION_EVENTS: - gtk_widget_set_extension_events (widget, g_value_get_enum (value)); - break; case PROP_NO_SHOW_ALL: gtk_widget_set_no_show_all (widget, g_value_get_boolean (value)); break; @@ -3348,7 +3332,6 @@ gtk_widget_get_property (GObject *object, switch (prop_id) { gpointer *eventp; - gpointer *modep; case PROP_NAME: if (priv->name) @@ -3410,10 +3393,6 @@ gtk_widget_get_property (GObject *object, eventp = g_object_get_qdata (G_OBJECT (widget), quark_event_mask); g_value_set_flags (value, GPOINTER_TO_INT (eventp)); break; - case PROP_EXTENSION_EVENTS: - modep = g_object_get_qdata (G_OBJECT (widget), quark_extension_event_mode); - g_value_set_enum (value, GPOINTER_TO_INT (modep)); - break; case PROP_NO_SHOW_ALL: g_value_set_boolean (value, gtk_widget_get_no_show_all (widget)); break; @@ -4181,52 +4160,6 @@ gtk_widget_unmap (GtkWidget *widget) } } -static void -gtk_widget_set_extension_events_internal (GtkWidget *widget, - GdkExtensionMode mode, - GList *window_list) -{ - GtkWidgetPrivate *priv = widget->priv; - GList *free_list = NULL; - GList *l; - - if (window_list == NULL) - { - if (gtk_widget_get_has_window (widget)) - window_list = g_list_prepend (NULL, priv->window); - else - window_list = gdk_window_get_children (priv->window); - - free_list = window_list; - } - - for (l = window_list; l != NULL; l = l->next) - { - GdkWindow *window = l->data; - gpointer user_data; - - gdk_window_get_user_data (window, &user_data); - if (user_data == widget) - { - GList *children; - - gdk_input_set_extension_events (window, - gdk_window_get_events (window), - mode); - - children = gdk_window_get_children (window); - if (children) - { - gtk_widget_set_extension_events_internal (widget, mode, children); - g_list_free (children); - } - } - } - - if (free_list) - g_list_free (free_list); -} - static void _gtk_widget_enable_device_events (GtkWidget *widget) { @@ -4279,7 +4212,6 @@ void gtk_widget_realize (GtkWidget *widget) { GtkWidgetPrivate *priv; - GdkExtensionMode mode; cairo_region_t *region; g_return_if_fail (GTK_IS_WIDGET (widget)); @@ -4322,10 +4254,6 @@ gtk_widget_realize (GtkWidget *widget) if (region) gdk_window_input_shape_combine_region (priv->window, region, 0, 0); - mode = gtk_widget_get_extension_events (widget); - if (mode != GDK_EXTENSION_EVENTS_NONE) - gtk_widget_set_extension_events_internal (widget, mode, NULL); - if (priv->multidevice) gdk_window_set_support_multidevice (priv->window, TRUE); @@ -9759,28 +9687,6 @@ gtk_widget_add_device_events (GtkWidget *widget, g_object_notify (G_OBJECT (widget), "events"); } -/** - * gtk_widget_set_extension_events: - * @widget: a #GtkWidget - * @mode: bitfield of extension events to receive - * - * Sets the extension events mask to @mode. See #GdkExtensionMode - * and gdk_input_set_extension_events(). - **/ -void -gtk_widget_set_extension_events (GtkWidget *widget, - GdkExtensionMode mode) -{ - g_return_if_fail (GTK_IS_WIDGET (widget)); - - if (gtk_widget_get_realized (widget)) - gtk_widget_set_extension_events_internal (widget, mode, NULL); - - g_object_set_qdata (G_OBJECT (widget), quark_extension_event_mode, - GINT_TO_POINTER (mode)); - g_object_notify (G_OBJECT (widget), "extension-events"); -} - /** * gtk_widget_get_toplevel: * @widget: a #GtkWidget @@ -9993,23 +9899,6 @@ gtk_widget_get_device_events (GtkWidget *widget, return GPOINTER_TO_UINT (g_hash_table_lookup (device_events, device)); } -/** - * gtk_widget_get_extension_events: - * @widget: a #GtkWidget - * - * Retrieves the extension events the widget will receive; see - * gdk_input_set_extension_events(). - * - * Return value: extension events for @widget - **/ -GdkExtensionMode -gtk_widget_get_extension_events (GtkWidget *widget) -{ - g_return_val_if_fail (GTK_IS_WIDGET (widget), 0); - - return GPOINTER_TO_INT (g_object_get_qdata (G_OBJECT (widget), quark_extension_event_mode)); -} - /** * gtk_widget_get_pointer: * @widget: a #GtkWidget @@ -13637,7 +13526,7 @@ gtk_widget_get_window (GtkWidget *widget) * Returns %TRUE if @widget is multiple pointer aware. See * gtk_widget_set_support_multidevice() for more information. * - * Returns: %TRUE is @widget is multidevice aware. + * Returns: %TRUE if @widget is multidevice aware. **/ gboolean gtk_widget_get_support_multidevice (GtkWidget *widget) @@ -13668,17 +13557,7 @@ gtk_widget_set_support_multidevice (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); priv = widget->priv; - - if (support_multidevice) - { - priv->multidevice = TRUE; - gtk_widget_set_extension_events (widget, GDK_EXTENSION_EVENTS_ALL); - } - else - { - priv->multidevice = FALSE; - gtk_widget_set_extension_events (widget, GDK_EXTENSION_EVENTS_NONE); - } + priv->multidevice = (support_multidevice == TRUE); if (gtk_widget_get_realized (widget)) gdk_window_set_support_multidevice (priv->window, support_multidevice); diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 30fafe690a..54acc3d8a7 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -671,10 +671,6 @@ void gtk_widget_set_device_events (GtkWidget *widget, void gtk_widget_add_device_events (GtkWidget *widget, GdkDevice *device, GdkEventMask events); -void gtk_widget_set_extension_events (GtkWidget *widget, - GdkExtensionMode mode); - -GdkExtensionMode gtk_widget_get_extension_events (GtkWidget *widget); GtkWidget* gtk_widget_get_toplevel (GtkWidget *widget); GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget, GType widget_type); From d50c582961a8b2fc3d5fb0480a3ad8fda2caeb1e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Fri, 17 Dec 2010 15:41:59 +0100 Subject: [PATCH 0544/1463] selection: constify GtkSelectionData getters --- gtk/gtkselection.c | 42 +++++++++++++++++++++--------------------- gtk/gtkselection.h | 32 ++++++++++++++++---------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 4148f37b23..fd8058d3bf 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -1122,7 +1122,7 @@ gtk_selection_convert (GtkWidget *widget, * Since: 2.16 **/ GdkAtom -gtk_selection_data_get_selection (GtkSelectionData *selection_data) +gtk_selection_data_get_selection (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, 0); @@ -1140,7 +1140,7 @@ gtk_selection_data_get_selection (GtkSelectionData *selection_data) * Since: 2.14 **/ GdkAtom -gtk_selection_data_get_target (GtkSelectionData *selection_data) +gtk_selection_data_get_target (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, 0); @@ -1158,7 +1158,7 @@ gtk_selection_data_get_target (GtkSelectionData *selection_data) * Since: 2.14 **/ GdkAtom -gtk_selection_data_get_data_type (GtkSelectionData *selection_data) +gtk_selection_data_get_data_type (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, 0); @@ -1176,7 +1176,7 @@ gtk_selection_data_get_data_type (GtkSelectionData *selection_data) * Since: 2.14 **/ gint -gtk_selection_data_get_format (GtkSelectionData *selection_data) +gtk_selection_data_get_format (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, 0); @@ -1194,7 +1194,7 @@ gtk_selection_data_get_format (GtkSelectionData *selection_data) * Since: 2.14 **/ const guchar* -gtk_selection_data_get_data (GtkSelectionData *selection_data) +gtk_selection_data_get_data (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, NULL); @@ -1212,7 +1212,7 @@ gtk_selection_data_get_data (GtkSelectionData *selection_data) * Since: 2.14 */ gint -gtk_selection_data_get_length (GtkSelectionData *selection_data) +gtk_selection_data_get_length (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, -1); @@ -1230,7 +1230,7 @@ gtk_selection_data_get_length (GtkSelectionData *selection_data) * Since: 2.14 **/ GdkDisplay * -gtk_selection_data_get_display (GtkSelectionData *selection_data) +gtk_selection_data_get_display (const GtkSelectionData *selection_data) { g_return_val_if_fail (selection_data != NULL, NULL); @@ -1433,7 +1433,7 @@ selection_set_text_plain (GtkSelectionData *selection_data, } static guchar * -selection_get_text_plain (GtkSelectionData *selection_data) +selection_get_text_plain (const GtkSelectionData *selection_data) { const gchar *charset = NULL; gchar *str, *result; @@ -1546,7 +1546,7 @@ gtk_selection_data_set_text (GtkSelectionData *selection_data, * If the result is non-%NULL it must be freed with g_free(). **/ guchar * -gtk_selection_data_get_text (GtkSelectionData *selection_data) +gtk_selection_data_get_text (const GtkSelectionData *selection_data) { guchar *result = NULL; @@ -1666,7 +1666,7 @@ gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data, * Since: 2.6 **/ GdkPixbuf * -gtk_selection_data_get_pixbuf (GtkSelectionData *selection_data) +gtk_selection_data_get_pixbuf (const GtkSelectionData *selection_data) { GdkPixbufLoader *loader; GdkPixbuf *result = NULL; @@ -1765,7 +1765,7 @@ gtk_selection_data_set_uris (GtkSelectionData *selection_data, * Since: 2.6 **/ gchar ** -gtk_selection_data_get_uris (GtkSelectionData *selection_data) +gtk_selection_data_get_uris (const GtkSelectionData *selection_data) { gchar **result = NULL; @@ -1809,9 +1809,9 @@ gtk_selection_data_get_uris (GtkSelectionData *selection_data) * array of targets, otherwise %FALSE. **/ gboolean -gtk_selection_data_get_targets (GtkSelectionData *selection_data, - GdkAtom **targets, - gint *n_atoms) +gtk_selection_data_get_targets (const GtkSelectionData *selection_data, + GdkAtom **targets, + gint *n_atoms) { g_return_val_if_fail (selection_data != NULL, FALSE); @@ -1944,7 +1944,7 @@ gtk_targets_include_rich_text (GdkAtom *targets, * and a suitable target for text is included, otherwise %FALSE. **/ gboolean -gtk_selection_data_targets_include_text (GtkSelectionData *selection_data) +gtk_selection_data_targets_include_text (const GtkSelectionData *selection_data) { GdkAtom *targets; gint n_targets; @@ -1979,8 +1979,8 @@ gtk_selection_data_targets_include_text (GtkSelectionData *selection_data) * Since: 2.10 **/ gboolean -gtk_selection_data_targets_include_rich_text (GtkSelectionData *selection_data, - GtkTextBuffer *buffer) +gtk_selection_data_targets_include_rich_text (const GtkSelectionData *selection_data, + GtkTextBuffer *buffer) { GdkAtom *targets; gint n_targets; @@ -2062,8 +2062,8 @@ gtk_targets_include_image (GdkAtom *targets, * Since: 2.6 **/ gboolean -gtk_selection_data_targets_include_image (GtkSelectionData *selection_data, - gboolean writable) +gtk_selection_data_targets_include_image (const GtkSelectionData *selection_data, + gboolean writable) { GdkAtom *targets; gint n_targets; @@ -2135,7 +2135,7 @@ gtk_targets_include_uri (GdkAtom *targets, * Since: 2.10 **/ gboolean -gtk_selection_data_targets_include_uri (GtkSelectionData *selection_data) +gtk_selection_data_targets_include_uri (const GtkSelectionData *selection_data) { GdkAtom *targets; gint n_targets; @@ -3081,7 +3081,7 @@ gtk_selection_default_handler (GtkWidget *widget, * Return value: a pointer to a copy of @data. **/ GtkSelectionData* -gtk_selection_data_copy (GtkSelectionData *data) +gtk_selection_data_copy (const GtkSelectionData *data) { GtkSelectionData *new_data; diff --git a/gtk/gtkselection.h b/gtk/gtkselection.h index eddab0f4ad..bdb1312e1f 100644 --- a/gtk/gtkselection.h +++ b/gtk/gtkselection.h @@ -149,13 +149,13 @@ gboolean gtk_selection_convert (GtkWidget *widget, GdkAtom target, guint32 time_); -GdkAtom gtk_selection_data_get_selection (GtkSelectionData *selection_data); -GdkAtom gtk_selection_data_get_target (GtkSelectionData *selection_data); -GdkAtom gtk_selection_data_get_data_type (GtkSelectionData *selection_data); -gint gtk_selection_data_get_format (GtkSelectionData *selection_data); -const guchar *gtk_selection_data_get_data (GtkSelectionData *selection_data); -gint gtk_selection_data_get_length (GtkSelectionData *selection_data); -GdkDisplay *gtk_selection_data_get_display (GtkSelectionData *selection_data); +GdkAtom gtk_selection_data_get_selection (const GtkSelectionData *selection_data); +GdkAtom gtk_selection_data_get_target (const GtkSelectionData *selection_data); +GdkAtom gtk_selection_data_get_data_type (const GtkSelectionData *selection_data); +gint gtk_selection_data_get_format (const GtkSelectionData *selection_data); +const guchar *gtk_selection_data_get_data (const GtkSelectionData *selection_data); +gint gtk_selection_data_get_length (const GtkSelectionData *selection_data); +GdkDisplay *gtk_selection_data_get_display (const GtkSelectionData *selection_data); void gtk_selection_data_set (GtkSelectionData *selection_data, GdkAtom type, @@ -165,23 +165,23 @@ void gtk_selection_data_set (GtkSelectionData *selection_data, gboolean gtk_selection_data_set_text (GtkSelectionData *selection_data, const gchar *str, gint len); -guchar * gtk_selection_data_get_text (GtkSelectionData *selection_data); +guchar * gtk_selection_data_get_text (const GtkSelectionData *selection_data); gboolean gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data, GdkPixbuf *pixbuf); -GdkPixbuf *gtk_selection_data_get_pixbuf (GtkSelectionData *selection_data); +GdkPixbuf *gtk_selection_data_get_pixbuf (const GtkSelectionData *selection_data); gboolean gtk_selection_data_set_uris (GtkSelectionData *selection_data, gchar **uris); -gchar **gtk_selection_data_get_uris (GtkSelectionData *selection_data); +gchar **gtk_selection_data_get_uris (const GtkSelectionData *selection_data); -gboolean gtk_selection_data_get_targets (GtkSelectionData *selection_data, +gboolean gtk_selection_data_get_targets (const GtkSelectionData *selection_data, GdkAtom **targets, gint *n_atoms); -gboolean gtk_selection_data_targets_include_text (GtkSelectionData *selection_data); -gboolean gtk_selection_data_targets_include_rich_text (GtkSelectionData *selection_data, +gboolean gtk_selection_data_targets_include_text (const GtkSelectionData *selection_data); +gboolean gtk_selection_data_targets_include_rich_text (const GtkSelectionData *selection_data, GtkTextBuffer *buffer); -gboolean gtk_selection_data_targets_include_image (GtkSelectionData *selection_data, +gboolean gtk_selection_data_targets_include_image (const GtkSelectionData *selection_data, gboolean writable); -gboolean gtk_selection_data_targets_include_uri (GtkSelectionData *selection_data); +gboolean gtk_selection_data_targets_include_uri (const GtkSelectionData *selection_data); gboolean gtk_targets_include_text (GdkAtom *targets, gint n_targets); gboolean gtk_targets_include_rich_text (GdkAtom *targets, @@ -210,7 +210,7 @@ gboolean _gtk_selection_property_notify (GtkWidget *widget, GdkEventProperty *event); GType gtk_selection_data_get_type (void) G_GNUC_CONST; -GtkSelectionData *gtk_selection_data_copy (GtkSelectionData *data); +GtkSelectionData *gtk_selection_data_copy (const GtkSelectionData *data); void gtk_selection_data_free (GtkSelectionData *data); GType gtk_target_entry_get_type (void) G_GNUC_CONST; From 81515f71833c248b446a3a62e351f956943d4b2d Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 17 Dec 2010 13:15:27 +0100 Subject: [PATCH 0545/1463] Check if popup_window is mapped, not popup_widget Before hide_all was used on popup_window, which means popup_widget was also unmapped. This is now no longer the case. This fixes subsequent pop ups for appears-as-list == 1. --- gtk/gtkcombobox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 15c8df31f6..5de9a0fbb9 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -2290,7 +2290,7 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box, if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) return; - if (gtk_widget_get_mapped (priv->popup_widget)) + if (gtk_widget_get_mapped (priv->popup_window)) return; if (priv->grab_pointer && priv->grab_keyboard) From 21fc66f1205e7b905bc7d38fc5a7897673cb14e8 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 17 Dec 2010 16:30:15 +0100 Subject: [PATCH 0546/1463] Set cell_view to NULL immediately after unparenting This way we are sure no invalid pointer will be accessed in between. --- gtk/gtkcombobox.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 5de9a0fbb9..dc909fecfa 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -1450,6 +1450,7 @@ static void gtk_combo_box_add (GtkContainer *container, GtkWidget *widget) { + gboolean cell_view_removed = FALSE; GtkComboBox *combo_box = GTK_COMBO_BOX (container); GtkComboBoxPrivate *priv = combo_box->priv; @@ -1461,23 +1462,26 @@ gtk_combo_box_add (GtkContainer *container, return; } + if (priv->cell_view != NULL && widget != priv->cell_view) + cell_view_removed = TRUE; + if (priv->cell_view && gtk_widget_get_parent (priv->cell_view)) { gtk_widget_unparent (priv->cell_view); _gtk_bin_set_child (GTK_BIN (container), NULL); + + /* since the cell_view was unparented, it's gone now */ + priv->cell_view = NULL; + gtk_widget_queue_resize (GTK_WIDGET (container)); } gtk_widget_set_parent (widget, GTK_WIDGET (container)); _gtk_bin_set_child (GTK_BIN (container), widget); - if (priv->cell_view && - widget != priv->cell_view) + if (cell_view_removed) { - /* since the cell_view was unparented, it's gone now */ - priv->cell_view = NULL; - if (!priv->tree_view && priv->separator) { gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (priv->separator)), From faf35d708bc90017e4a85fd9475619205510c3d2 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 17 Dec 2010 16:51:42 +0100 Subject: [PATCH 0547/1463] Fix size allocation for list mode combo box --- gtk/gtkcombobox.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index dc909fecfa..fcfe854f72 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -2681,8 +2681,8 @@ gtk_combo_box_size_allocate (GtkWidget *widget, { child.x += border.left + border_width; child.y += border.top + border_width; - child.width -= (2 * border_width) - (border.left + border.right); - child.height -= (2 * border_width) - (border.top + border.bottom); + child.width -= (2 * border_width) + border.left + border.right; + child.height -= (2 * border_width) + border.top + border.bottom; } if (gtk_widget_get_visible (priv->popup_window)) From 806c04411d306680353cf90cffee98ce73e122f2 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 17 Dec 2010 08:03:01 -0500 Subject: [PATCH 0548/1463] gdk: Fix GdkWindowFilter internal refcounting Running gnome-shell under valgrind, I saw the attached invalid write. Basically we can destroy a window during event processing, and the old window_remove_filters simply called g_free() on the filter, ignoring the refcount. Then later in event processing we call filter->refcount--, which is writing to free()d memory. Fix this by centralizing list mutation and refcount handling inside a new shared _gdk_window_filter_unref() function, and using that everywhere. ==13876== Invalid write of size 4 ==13876== at 0x446B181: gdk_event_apply_filters (gdkeventsource.c:86) ==13876== by 0x446B411: _gdk_events_queue (gdkeventsource.c:188) ==13876== by 0x44437EF: gdk_display_get_event (gdkdisplay.c:410) ==13876== by 0x446B009: gdk_event_source_dispatch (gdkeventsource.c:317) ==13876== by 0x4AB7159: g_main_context_dispatch (gmain.c:2436) ==13876== by 0x4AB7957: g_main_context_iterate.clone.5 (gmain.c:3087) ==13876== by 0x4AB806A: g_main_loop_run (gmain.c:3295) ==13876== by 0x8084D6B: main (main.c:722) ==13876== Address 0x1658bcac is 12 bytes inside a block of size 16 free'd ==13876== at 0x4005EAD: free (vg_replace_malloc.c:366) ==13876== by 0x4ABE515: g_free (gmem.c:263) ==13876== by 0x444BCC9: window_remove_filters (gdkwindow.c:1873) ==13876== by 0x4454BA3: _gdk_window_destroy_hierarchy (gdkwindow.c:2043) ==13876== by 0x447BF6E: gdk_window_destroy_notify (gdkwindow-x11.c:1115) ==13876== by 0x43588E2: _gtk_socket_windowing_filter_func (gtksocket-x11.c:518) ==13876== by 0x446B170: gdk_event_apply_filters (gdkeventsource.c:79) ==13876== by 0x446B411: _gdk_events_queue (gdkeventsource.c:188) ==13876== by 0x44437EF: gdk_display_get_event (gdkdisplay.c:410) ==13876== by 0x446B009: gdk_event_source_dispatch (gdkeventsource.c:317) ==13876== by 0x4AB7159: g_main_context_dispatch (gmain.c:2436) ==13876== by 0x4AB7957: g_main_context_iterate.clone.5 (gmain.c:3087) https://bugzilla.gnome.org/show_bug.cgi?id=637464 --- gdk/gdkinternals.h | 3 ++ gdk/gdkwindow.c | 66 ++++++++++++++++++++++++++++------------ gdk/x11/gdkeventsource.c | 32 +++++++++---------- 3 files changed, 64 insertions(+), 37 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index c6173a747f..d9fa2c000a 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -280,6 +280,9 @@ extern gboolean _gdk_disable_multidevice; void _gdk_events_queue (GdkDisplay *display); GdkEvent* _gdk_event_unqueue (GdkDisplay *display); +void _gdk_event_filter_unref (GdkWindow *window, + GdkEventFilter *filter); + void _gdk_event_emit (GdkEvent *event); GList* _gdk_event_queue_find_first (GdkDisplay *display); void _gdk_event_queue_remove_link (GdkDisplay *display, diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index d5e5e1488d..da50f994d4 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1794,19 +1794,55 @@ gdk_window_ensure_native (GdkWindow *window) return TRUE; } +/** + * _gdk_event_filter_unref: + * @window: A #GdkWindow, or %NULL to be the global window + * @filter: A window filter + * + * Release a reference to @filter. Note this function may + * mutate the list storage, so you need to handle this + * if iterating over a list of filters. + */ +void +_gdk_event_filter_unref (GdkWindow *window, + GdkEventFilter *filter) +{ + GList **filters; + GList *tmp_list; + + if (window == NULL) + filters = &_gdk_default_filters; + else + filters = &window->filters; + + for (tmp_list = *filters; tmp_list; tmp_list = tmp_list->next) + { + GdkEventFilter *iter_filter = tmp_list->data; + GList *node; + + if (iter_filter != filter) + continue; + + g_assert (iter_filter->ref_count > 0); + + filter->ref_count--; + if (filter->ref_count != 0) + continue; + + node = tmp_list; + tmp_list = tmp_list->next; + + *filters = g_list_remove_link (*filters, node); + g_free (filter); + g_list_free_1 (node); + } +} + static void window_remove_filters (GdkWindow *window) { - if (window->filters) - { - GList *tmp_list; - - for (tmp_list = window->filters; tmp_list; tmp_list = tmp_list->next) - g_free (tmp_list->data); - - g_list_free (window->filters); - window->filters = NULL; - } + while (window->filters) + _gdk_event_filter_unref (window, window->filters->data); } static void @@ -2486,16 +2522,8 @@ gdk_window_remove_filter (GdkWindow *window, if ((filter->function == function) && (filter->data == data)) { filter->flags |= GDK_EVENT_FILTER_REMOVED; - filter->ref_count--; - if (filter->ref_count != 0) - return; - if (window) - window->filters = g_list_remove_link (window->filters, node); - else - _gdk_default_filters = g_list_remove_link (_gdk_default_filters, node); - g_list_free_1 (node); - g_free (filter); + _gdk_event_filter_unref (window, filter); return; } diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 5f0c3a79e6..37275fb183 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -55,14 +55,17 @@ static GSourceFuncs event_funcs = { static GList *event_sources = NULL; static gint -gdk_event_apply_filters (XEvent *xevent, - GdkEvent *event, - GList **filters) +gdk_event_apply_filters (XEvent *xevent, + GdkEvent *event, + GdkWindow *window) { GList *tmp_list; GdkFilterReturn result; - tmp_list = *filters; + if (window == NULL) + tmp_list = _gdk_default_filters; + else + tmp_list = window->filters; while (tmp_list) { @@ -78,18 +81,12 @@ gdk_event_apply_filters (XEvent *xevent, filter->ref_count++; result = filter->function (xevent, event, filter->data); - /* get the next node after running the function since the - function may add or remove a next node */ - node = tmp_list; - tmp_list = tmp_list->next; + /* Protect against unreffing the filter mutating the list */ + node = tmp_list->next; - filter->ref_count--; - if (filter->ref_count == 0) - { - *filters = g_list_remove_link (*filters, node); - g_list_free_1 (node); - g_free (filter); - } + _gdk_event_filter_unref (window, filter); + + tmp_list = node; if (result != GDK_FILTER_CONTINUE) return result; @@ -162,8 +159,7 @@ gdk_event_source_translate_event (GdkEventSource *event_source, { /* Apply global filters */ - result = gdk_event_apply_filters (xevent, event, - &_gdk_default_filters); + result = gdk_event_apply_filters (xevent, event, NULL); if (result == GDK_FILTER_REMOVE) { @@ -186,7 +182,7 @@ gdk_event_source_translate_event (GdkEventSource *event_source, if (filter_window->filters) { result = gdk_event_apply_filters (xevent, event, - &filter_window->filters); + filter_window); if (result == GDK_FILTER_REMOVE) { From b792a3199558937e8e55aa4f92487a42cb9ebf0e Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Mon, 13 Dec 2010 17:54:02 +0100 Subject: [PATCH 0549/1463] widgetpath: allow GTypes non-derived from GTK_TYPE_WIDGET This makes things like GtkCellRenderer or GtkNumerableIcon more easily themeable. https://bugzilla.gnome.org/show_bug.cgi?id=637169 --- docs/reference/gtk/gtk3-sections.txt | 6 +++--- gtk/gtk.symbols | 6 +++--- gtk/gtkcssprovider.c | 2 +- gtk/gtkstylecontext.c | 24 +++++++++++++++++---- gtk/gtkstyleprovider.c | 2 +- gtk/gtkwidget.c | 2 +- gtk/gtkwidgetpath.c | 31 ++++++++++++---------------- gtk/gtkwidgetpath.h | 6 +++--- gtk/tests/stylecontext.c | 4 ++-- 9 files changed, 47 insertions(+), 36 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index e16eb06bf3..a96ec21128 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5383,7 +5383,7 @@ GtkWidgetPath gtk_widget_path_append_type gtk_widget_path_copy gtk_widget_path_free -gtk_widget_path_get_widget_type +gtk_widget_path_get_object_type gtk_widget_path_has_parent gtk_widget_path_is_type gtk_widget_path_iter_add_class @@ -5391,7 +5391,7 @@ gtk_widget_path_iter_add_region gtk_widget_path_iter_clear_classes gtk_widget_path_iter_clear_regions gtk_widget_path_iter_get_name -gtk_widget_path_iter_get_widget_type +gtk_widget_path_iter_get_object_type gtk_widget_path_iter_has_class gtk_widget_path_iter_has_name gtk_widget_path_iter_has_qclass @@ -5403,7 +5403,7 @@ gtk_widget_path_iter_list_regions gtk_widget_path_iter_remove_class gtk_widget_path_iter_remove_region gtk_widget_path_iter_set_name -gtk_widget_path_iter_set_widget_type +gtk_widget_path_iter_set_object_type gtk_widget_path_length gtk_widget_path_new gtk_widget_path_prepend_type diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index ad10d607e3..d93271540e 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3498,7 +3498,7 @@ gtk_widget_path_append_type gtk_widget_path_copy gtk_widget_path_free gtk_widget_path_get_type G_GNUC_CONST -gtk_widget_path_get_widget_type +gtk_widget_path_get_object_type gtk_widget_path_has_parent gtk_widget_path_is_type gtk_widget_path_iter_add_class @@ -3506,7 +3506,7 @@ gtk_widget_path_iter_add_region gtk_widget_path_iter_clear_classes gtk_widget_path_iter_clear_regions gtk_widget_path_iter_get_name -gtk_widget_path_iter_get_widget_type +gtk_widget_path_iter_get_object_type gtk_widget_path_iter_has_class gtk_widget_path_iter_has_name gtk_widget_path_iter_has_qclass @@ -3518,7 +3518,7 @@ gtk_widget_path_iter_list_regions gtk_widget_path_iter_remove_class gtk_widget_path_iter_remove_region gtk_widget_path_iter_set_name -gtk_widget_path_iter_set_widget_type +gtk_widget_path_iter_set_object_type gtk_widget_path_length gtk_widget_path_new gtk_widget_path_prepend_type diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 1ea5ed9ae2..90a50d310a 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -1073,7 +1073,7 @@ compare_selector_element (GtkWidgetPath *path, { GType type; - type = gtk_widget_path_iter_get_widget_type (path, index); + type = gtk_widget_path_iter_get_object_type (path, index); if (!g_type_is_a (type, elem->type)) return FALSE; diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 3abea8b12f..8217b37d73 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2386,7 +2386,15 @@ gtk_style_context_get_style_property (GtkStyleContext *context, if (!priv->widget_path) return; - widget_type = gtk_widget_path_get_widget_type (priv->widget_path); + widget_type = gtk_widget_path_get_object_type (priv->widget_path); + + if (!g_type_is_a (widget_type, GTK_TYPE_WIDGET)) + { + g_warning ("%s: can't get style properties for non-widget class `%s'", + G_STRLOC, + g_type_name (widget_type)); + return; + } widget_class = g_type_class_ref (widget_type); pspec = gtk_widget_class_find_style_property (widget_class, property_name); @@ -2433,6 +2441,7 @@ gtk_style_context_get_style_valist (GtkStyleContext *context, GtkStyleContextPrivate *priv; const gchar *prop_name; GtkStateFlags state; + GType widget_type; g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); @@ -2442,6 +2451,16 @@ gtk_style_context_get_style_valist (GtkStyleContext *context, if (!priv->widget_path) return; + widget_type = gtk_widget_path_get_object_type (priv->widget_path); + + if (!g_type_is_a (widget_type, GTK_TYPE_WIDGET)) + { + g_warning ("%s: can't get style properties for non-widget class `%s'", + G_STRLOC, + g_type_name (widget_type)); + return; + } + state = gtk_style_context_get_state (context); while (prop_name) @@ -2449,11 +2468,8 @@ gtk_style_context_get_style_valist (GtkStyleContext *context, GtkWidgetClass *widget_class; GParamSpec *pspec; const GValue *peek_value; - GType widget_type; gchar *error; - widget_type = gtk_widget_path_get_widget_type (priv->widget_path); - widget_class = g_type_class_ref (widget_type); pspec = gtk_widget_class_find_style_property (widget_class, prop_name); g_type_class_unref (widget_class); diff --git a/gtk/gtkstyleprovider.c b/gtk/gtkstyleprovider.c index 8ed0d975ca..5cd63e4f06 100644 --- a/gtk/gtkstyleprovider.c +++ b/gtk/gtkstyleprovider.c @@ -107,7 +107,7 @@ gtk_style_provider_get_style_property (GtkStyleProvider *provider, g_return_val_if_fail (GTK_IS_STYLE_PROVIDER (provider), FALSE); g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE); g_return_val_if_fail (path != NULL, FALSE); - g_return_val_if_fail (g_type_is_a (gtk_widget_path_get_widget_type (path), pspec->owner_type), FALSE); + g_return_val_if_fail (g_type_is_a (gtk_widget_path_get_object_type (path), pspec->owner_type), FALSE); g_return_val_if_fail (value != NULL, FALSE); iface = GTK_STYLE_PROVIDER_GET_IFACE (provider); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 3e3f7a0a93..31672e01ff 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -13754,7 +13754,7 @@ gtk_widget_get_path (GtkWidget *widget) * implementation with a wrong widget type in the widget path */ if (widget->priv->path && - G_OBJECT_TYPE (widget) != gtk_widget_path_get_widget_type (widget->priv->path)) + G_OBJECT_TYPE (widget) != gtk_widget_path_get_object_type (widget->priv->path)) { gtk_widget_path_free (widget->priv->path); widget->priv->path = NULL; diff --git a/gtk/gtkwidgetpath.c b/gtk/gtkwidgetpath.c index d25f550975..6636abdd14 100644 --- a/gtk/gtkwidgetpath.c +++ b/gtk/gtkwidgetpath.c @@ -239,7 +239,6 @@ gtk_widget_path_prepend_type (GtkWidgetPath *path, GtkPathElement new = { 0 }; g_return_if_fail (path != NULL); - g_return_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET)); new.type = type; g_array_prepend_val (path->elems, new); @@ -263,7 +262,6 @@ gtk_widget_path_append_type (GtkWidgetPath *path, GtkPathElement new = { 0 }; g_return_val_if_fail (path != NULL, 0); - g_return_val_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET), 0); new.type = type; g_array_append_val (path->elems, new); @@ -272,11 +270,11 @@ gtk_widget_path_append_type (GtkWidgetPath *path, } /** - * gtk_widget_path_iter_get_widget_type: + * gtk_widget_path_iter_get_object_type: * @path: a #GtkWidgetPath - * @pos: position to get the widget type for, -1 for the path head + * @pos: position to get the object type for, -1 for the path head * - * Returns the widget #GType that is at position @pos in the widget + * Returns the object #GType that is at position @pos in the widget * hierarchy defined in @path. * * Returns: a widget type @@ -284,7 +282,7 @@ gtk_widget_path_append_type (GtkWidgetPath *path, * Since: 3.0 **/ GType -gtk_widget_path_iter_get_widget_type (const GtkWidgetPath *path, +gtk_widget_path_iter_get_object_type (const GtkWidgetPath *path, gint pos) { GtkPathElement *elem; @@ -300,18 +298,18 @@ gtk_widget_path_iter_get_widget_type (const GtkWidgetPath *path, } /** - * gtk_widget_path_iter_set_widget_type: + * gtk_widget_path_iter_set_object_type: * @path: a #GtkWidgetPath * @pos: position to modify, -1 for the path head - * @type: widget type to set + * @type: object type to set * - * Sets the widget type for a given position in the widget hierarchy - * defined by @path. @type must be a #GtkWidget derived #GType. + * Sets the object type for a given position in the widget hierarchy + * defined by @path. * * Since: 3.0 **/ void -gtk_widget_path_iter_set_widget_type (GtkWidgetPath *path, +gtk_widget_path_iter_set_object_type (GtkWidgetPath *path, gint pos, GType type) { @@ -319,7 +317,6 @@ gtk_widget_path_iter_set_widget_type (GtkWidgetPath *path, g_return_if_fail (path != NULL); g_return_if_fail (path->elems->len != 0); - g_return_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET)); if (pos < 0 || pos > path->elems->len) pos = path->elems->len - 1; @@ -959,18 +956,18 @@ gtk_widget_path_iter_has_region (const GtkWidgetPath *path, } /** - * gtk_widget_path_get_widget_type: + * gtk_widget_path_get_object_type: * @path: a #GtkWidget * - * Returns the topmost widget type, that is, the widget type this path + * Returns the topmost object type, that is, the object type this path * is representing. * - * Returns: The widget type + * Returns: The object type * * Since: 3.0 **/ GType -gtk_widget_path_get_widget_type (const GtkWidgetPath *path) +gtk_widget_path_get_object_type (const GtkWidgetPath *path) { GtkPathElement *elem; @@ -1000,7 +997,6 @@ gtk_widget_path_is_type (const GtkWidgetPath *path, GtkPathElement *elem; g_return_val_if_fail (path != NULL, FALSE); - g_return_val_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET), FALSE); elem = &g_array_index (path->elems, GtkPathElement, path->elems->len - 1); @@ -1031,7 +1027,6 @@ gtk_widget_path_has_parent (const GtkWidgetPath *path, guint i; g_return_val_if_fail (path != NULL, FALSE); - g_return_val_if_fail (g_type_is_a (type, GTK_TYPE_WIDGET), FALSE); for (i = 0; i < path->elems->len - 1; i++) { diff --git a/gtk/gtkwidgetpath.h b/gtk/gtkwidgetpath.h index 87b44b8ef9..2c9c981e41 100644 --- a/gtk/gtkwidgetpath.h +++ b/gtk/gtkwidgetpath.h @@ -46,9 +46,9 @@ gint gtk_widget_path_append_type (GtkWidgetPath *path, void gtk_widget_path_prepend_type (GtkWidgetPath *path, GType type); -GType gtk_widget_path_iter_get_widget_type (const GtkWidgetPath *path, +GType gtk_widget_path_iter_get_object_type (const GtkWidgetPath *path, gint pos); -void gtk_widget_path_iter_set_widget_type (GtkWidgetPath *path, +void gtk_widget_path_iter_set_object_type (GtkWidgetPath *path, gint pos, GType type); @@ -103,7 +103,7 @@ gboolean gtk_widget_path_iter_has_qregion (const GtkWidgetPath *path, GQuark qname, GtkRegionFlags *flags); -GType gtk_widget_path_get_widget_type (const GtkWidgetPath *path); +GType gtk_widget_path_get_object_type (const GtkWidgetPath *path); gboolean gtk_widget_path_is_type (const GtkWidgetPath *path, GType type); diff --git a/gtk/tests/stylecontext.c b/gtk/tests/stylecontext.c index 69b9510bfd..b1e413f197 100644 --- a/gtk/tests/stylecontext.c +++ b/gtk/tests/stylecontext.c @@ -274,14 +274,14 @@ test_path (void) pos = gtk_widget_path_append_type (path, GTK_TYPE_WINDOW); g_assert_cmpint (pos, ==, 0); g_assert_cmpint (gtk_widget_path_length (path), ==, 1); - g_assert (gtk_widget_path_iter_get_widget_type (path, 0) == GTK_TYPE_WINDOW); + g_assert (gtk_widget_path_iter_get_object_type (path, 0) == GTK_TYPE_WINDOW); g_assert (gtk_widget_path_is_type (path, GTK_TYPE_WIDGET)); g_assert (gtk_widget_path_iter_get_name (path, 0) == NULL); pos = gtk_widget_path_append_type (path, GTK_TYPE_WIDGET); g_assert_cmpint (pos, ==, 1); g_assert_cmpint (gtk_widget_path_length (path), ==, 2); - gtk_widget_path_iter_set_widget_type (path, pos, GTK_TYPE_BUTTON); + gtk_widget_path_iter_set_object_type (path, pos, GTK_TYPE_BUTTON); g_assert (gtk_widget_path_is_type (path, GTK_TYPE_BUTTON)); g_assert (gtk_widget_path_has_parent (path, GTK_TYPE_WIDGET)); g_assert (gtk_widget_path_has_parent (path, GTK_TYPE_WINDOW)); From 4317ae32c33b40b933ada1851bbbe7cf03ee20d4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:24:25 -0500 Subject: [PATCH 0550/1463] Adjust symbol lists in the docs --- docs/reference/gtk/gtk3-sections.txt | 22 +++++----------------- 1 file changed, 5 insertions(+), 17 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index a96ec21128..924ba5b45b 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -994,9 +994,6 @@ gtk_editable_get_editable GTK_EDITABLE GTK_IS_EDITABLE GTK_TYPE_EDITABLE -GTK_EDITABLE_CLASS -GTK_IS_EDITABLE_CLASS -GTK_EDITABLE_GET_CLASS GTK_EDITABLE_GET_IFACE gtk_editable_get_type @@ -1737,9 +1734,7 @@ GTK_IMAGE_GET_CLASS GtkImagePrivate gtk_image_get_type GtkImageIconSetData -GtkImageImageData GtkImagePixbufData -GtkImagePixmapData GtkImageStockData GtkImageAnimationData GtkImageIconNameData @@ -2483,8 +2478,6 @@ GTK_RANGE_GET_CLASS gtk_range_get_type GtkRangePrivate -GtkRangeLayout -GtkRangeStepTimer
@@ -2773,13 +2766,11 @@ gtk_scrollable_set_vscroll_policy -GtkScrollableIface -GTK_IS_SCROLLABLE -GTK_IS_SCROLLABLE_CLASS -GTK_SCROLLABLE -GTK_SCROLLABLE_CLASS -GTK_SCROLLABLE_GET_IFACE +GtkScrollableInterface GTK_TYPE_SCROLLABLE +GTK_SCROLLABLE +GTK_IS_SCROLLABLE +GTK_SCROLLABLE_GET_IFACE gtk_scrollable_get_type @@ -3002,7 +2993,7 @@ GTK_SPINNER GTK_IS_SPINNER GTK_TYPE_SPINNER GTK_SPINNER_CLASS -GTK_IS_SPINER_CLASS +GTK_IS_SPINNER_CLASS GTK_SPINNER_GET_CLASS GTK_IS_SPINNER_CLASS @@ -3228,7 +3219,6 @@ GTK_TEXT_BUFFER_GET_CLASS GtkTextBufferPrivate gtk_text_buffer_get_type -GtkTextLogAttrCache
@@ -3497,8 +3487,6 @@ GtkTextViewPrivate gtk_text_view_get_type gtk_text_child_anchor_get_type GtkTextBTree -GtkTextWindow -GtkTextPendingScroll
From 55ffebe505fa26946852be52e2775677a53408ef Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:27:48 -0500 Subject: [PATCH 0551/1463] Avoid a gtk-doc warning --- gtk/gtkmain.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index ac2bbd05ad..dc303e7f8a 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -863,7 +863,12 @@ post_parse_hook (GOptionContext *context, /** * gtk_get_debug_flags: * - * Returns the GTK+ debug flags setting. + * Returns the GTK+ debug flags. + * + * This function is intended for GTK+ modules that want + * to adjust their debug output based on GTK+ debug flags. + * + * Returns: the GTK+ debug flags. */ guint gtk_get_debug_flags (void) From b32f4ae7c45dd88391bbb5035dc496ad0dd415c2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:31:44 -0500 Subject: [PATCH 0552/1463] Add deprecation guards for gtk_icon_set_render_icon --- gtk/gtkiconfactory.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkiconfactory.h b/gtk/gtkiconfactory.h index 69ab250b0e..1faf7b73cd 100644 --- a/gtk/gtkiconfactory.h +++ b/gtk/gtkiconfactory.h @@ -121,6 +121,7 @@ GtkIconSet* gtk_icon_set_ref (GtkIconSet *icon_set); void gtk_icon_set_unref (GtkIconSet *icon_set); GtkIconSet* gtk_icon_set_copy (GtkIconSet *icon_set); +#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) /* Get one of the icon variants in the set, creating the variant if * necessary. */ @@ -130,7 +131,8 @@ GdkPixbuf* gtk_icon_set_render_icon (GtkIconSet *icon_set, GtkStateType state, GtkIconSize size, GtkWidget *widget, - const char *detail); + const gchar *detail); +#endif void gtk_icon_set_add_source (GtkIconSet *icon_set, const GtkIconSource *source); From 9d8682b9ac981dcdd5a99c218be5821c0eb337d6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:46:18 -0500 Subject: [PATCH 0553/1463] Fix a few parameter name mismatches --- gtk/gtkwidget.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 31672e01ff..b27cd38b8e 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8052,12 +8052,12 @@ gtk_widget_override_symbolic_color (GtkWidget *widget, /** * gtk_widget_override_cursor: * @widget: a #GtkWidget - * @primary: the color to use for primary cursor (does not need to be - * allocated), or %NULL to undo the effect of previous calls to - * of gtk_widget_override_cursor(). - * @secondary: the color to use for secondary cursor (does not need to be - * allocated), or %NULL to undo the effect of previous calls to - * of gtk_widget_override_cursor(). + * @cursor: the color to use for primary cursor (does not need to be + * allocated), or %NULL to undo the effect of previous calls to + * of gtk_widget_override_cursor(). + * @secondary_cursor: the color to use for secondary cursor (does not + * need to be allocated), or %NULL to undo the effect of previous + * calls to of gtk_widget_override_cursor(). * * Sets the cursor color to use in a widget, overriding the * #GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color @@ -8068,7 +8068,7 @@ gtk_widget_override_symbolic_color (GtkWidget *widget, * so the alpha value in @primary and @secondary will be ignored. * * Since: 3.0 - **/ + */ void gtk_widget_override_cursor (GtkWidget *widget, const GdkRGBA *cursor, @@ -11975,8 +11975,6 @@ gtk_widget_get_hexpand_set (GtkWidget *widget) * * There are few reasons to use this function, but it's here * for completeness and consistency. - * - * Return value: whether hexpand has been explicitly set */ void gtk_widget_set_hexpand_set (GtkWidget *widget, @@ -12054,8 +12052,6 @@ gtk_widget_get_vexpand_set (GtkWidget *widget) * be used. * * See gtk_widget_set_hexpand_set() for more detail. - * - * Return value: whether vexpand has been explicitly set */ void gtk_widget_set_vexpand_set (GtkWidget *widget, From 5627ba161e1115448fa5bf38a08896e00d20974a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:47:56 -0500 Subject: [PATCH 0554/1463] More parameter name mismatches --- gtk/gtkstyle.c | 3 --- gtk/gtkthemingengine.c | 6 +++--- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index fab8607225..87f72bebc4 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1634,7 +1634,6 @@ gtk_style_render_icon (GtkStyle *style, * @window: * @set_bg: * @state_type: - * @area: (allow-none): * @x: * @y: * @width: @@ -3687,8 +3686,6 @@ gtk_paint_box (GtkStyle *style, * @cr: a #cairo_t * @state_type: a state * @shadow_type: the type of shadow to draw - * @area: (allow-none): clip rectangle, or %NULL if the - * output should not be clipped * @widget: (allow-none): the widget * @detail: (allow-none): a style detail * @x: x origin of the box diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 7914029602..7bd97ef2ef 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -832,7 +832,7 @@ gtk_theming_engine_get_border (GtkThemingEngine *engine, * gtk_theming_engine_get_padding: * @engine: a #GtkthemingEngine * @state: state to retrieve the padding for - * @color: (out): return value for the padding settings + * @padding: (out): return value for the padding settings * * Gets the padding for a given state as a #GtkBorder. * @@ -853,9 +853,9 @@ gtk_theming_engine_get_padding (GtkThemingEngine *engine, /** * gtk_theming_engine_get_margin: - * @engien: a #GtkThemingEngine + * @engine: a #GtkThemingEngine * @state: state to retrieve the border for - * @color: (out): return value for the margin settings + * @margin: (out): return value for the margin settings * * Gets the margin for a given state as a #GtkBorder. * From 17c7bda6a39097fb5aa2d493bbf75a7dde24d7bd Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:50:55 -0500 Subject: [PATCH 0555/1463] Fix a doc comment format problem Parameters / enum values come first, then the paragraph. --- gtk/gtkenums.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 8a100aad0f..2891dadf5b 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -364,12 +364,6 @@ typedef enum /** * GtkStateType: - * - * This type indicates the current state of a widget; the state determines how - * the widget is drawn. The #GtkStateType enumeration is also used to - * identify different colors in a #GtkStyle for drawing, so states can be - * used for subparts of a widget as well as entire widgets. - * * @GTK_STATE_NORMAL: State during normal operation. * @GTK_STATE_ACTIVE: State of a currently active widget, such as a depressed button. * @GTK_STATE_PRELIGHT: State indicating that the mouse pointer is over @@ -381,6 +375,11 @@ typedef enum * or radiobuttons that aren't either set to %TRUE nor %FALSE, * or buttons requiring the user attention. * @GTK_STATE_FOCUSED: The widget has the keyboard focus. + * + * This type indicates the current state of a widget; the state determines how + * the widget is drawn. The #GtkStateType enumeration is also used to + * identify different colors in a #GtkStyle for drawing, so states can be + * used for subparts of a widget as well as entire widgets. */ typedef enum { From 55a0f8700fc55aa882203d34d51caf5f6efafdd7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:51:53 -0500 Subject: [PATCH 0556/1463] Another doc format problem --- gtk/gtkicontheme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 2f41849967..b813a8d622 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3245,7 +3245,7 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, /** * gtk_icon_info_load_symbolic_for_context: * @icon_info: a #GtkIconInfo - * context: a #GtkStyleContext + * @context: a #GtkStyleContext * @was_symbolic: (allow-none): a #gboolean, returns whether the loaded icon * was a symbolic one and whether the @fg color was applied to it. * @error: (allow-none): location to store error information on failure, From 33fb60e050719d8f3dfed20474003ca44694f0af Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:53:43 -0500 Subject: [PATCH 0557/1463] Fix an escaping problem & must be escaped as & in examples. --- docs/reference/gtk/tmpl/gtkdrawingarea.sgml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml index ae46d2bc54..0986d02d1b 100644 --- a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml +++ b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml @@ -60,24 +60,26 @@ draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); - cairo_arc (cr, + cairo_arc (cr, width / 2.0, height / 2.0, MIN (width, height) / 2.0, 0, 2 * G_PI); gtk_style_context_get_color (gtk_widget_get_style_context (widget), 0, - &color); - gdk_cairo_set_source_rgba (cr, &color); + &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_fill (cr); return FALSE; } -[...] + + /* ... */ + GtkWidget *drawing_area = gtk_drawing_area_new (); gtk_widget_set_size_request (drawing_area, 100, 100); - g_signal_connect (G_OBJECT (drawing_area), "draw", + g_signal_connect (G_OBJECT (drawing_area), "draw", G_CALLBACK (draw_callback), NULL); From d08ff485f28f23427bff1b3aac64ab3f77a8664d Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 17 Dec 2010 15:36:51 -0500 Subject: [PATCH 0558/1463] gdkwindow: Fix event unref iteration We were double looping previously which caused a NULL deref. --- gdk/gdkwindow.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index da50f994d4..43174e98e6 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1815,11 +1815,15 @@ _gdk_event_filter_unref (GdkWindow *window, else filters = &window->filters; - for (tmp_list = *filters; tmp_list; tmp_list = tmp_list->next) + tmp_list = *filters; + while (tmp_list) { GdkEventFilter *iter_filter = tmp_list->data; GList *node; + node = tmp_list; + tmp_list = tmp_list->next; + if (iter_filter != filter) continue; @@ -1829,9 +1833,6 @@ _gdk_event_filter_unref (GdkWindow *window, if (filter->ref_count != 0) continue; - node = tmp_list; - tmp_list = tmp_list->next; - *filters = g_list_remove_link (*filters, node); g_free (filter); g_list_free_1 (node); From 8bc4e13c220344b50085dc53ffef0a3ccfef3247 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 14:58:21 -0500 Subject: [PATCH 0559/1463] No links in title, please --- gtk/gtkcellarea.c | 2 +- gtk/gtkcellareabox.c | 2 +- gtk/gtkcellareacontext.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index fcf550ef82..184ac50c36 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -23,7 +23,7 @@ /** * SECTION:gtkcellarea - * @Short_Description: An abstract class for laying out #GtkCellRenderers + * @Short_Description: An abstract class for laying out GtkCellRenderers * @Title: GtkCellArea * * The #GtkCellArea is an abstract class for #GtkCellLayout widgets (also referred diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index e21bb0c9e9..b1818ec919 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -24,7 +24,7 @@ /** * SECTION:gtkcellareabox - * @Short_Description: A cell area that renders #GtkCellRenderers into a row or a column + * @Short_Description: A cell area that renders GtkCellRenderers into a row or a column * @Title: GtkCellAreaBox * * The #GtkCellAreaBox renders cell renderers into a row or a column depending on diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index f3c14b00dd..44c718aa1c 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -23,7 +23,7 @@ /** * SECTION:gtkcellareacontext - * @Short_Description: An object for a #GtkCellArea to store geometrical information for a series of rows. + * @Short_Description: An object for a GtkCellArea to store geometrical information for a series of rows. * @Title: GtkCellAreaContext * * The #GtkCellAreaContext object is created by a given #GtkCellArea implementation via it's From 453bf477ed3088fd9d3310e070d0248b84821d21 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 18:39:59 -0500 Subject: [PATCH 0560/1463] Don't query the position of keyboards Turns out that this causes X errors with the XI2 implementation. --- gtk/gtkaboutdialog.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 4844ed792d..b72676d1ba 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -2045,6 +2045,9 @@ text_view_visibility_notify_event (GtkWidget *text_view, { GdkDevice *dev = d->data; + if (gdk_device_get_source (dev) == GDK_SOURCE_KEYBOARD) + continue; + gdk_window_get_device_position (gtk_widget_get_window (text_view), dev, &wx, &wy, NULL); From a2dda0c2bb88c1f009f7a10e0e344c4a301ff3b9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 19:14:35 -0500 Subject: [PATCH 0561/1463] Trivial changes Whitespace fixes, comment formatting, etc --- gtk/gtkcellarea.c | 1616 ++++++++++++++++++----------------- gtk/gtkcellarea.h | 474 +++++----- gtk/gtkcellareabox.c | 1266 ++++++++++++++------------- gtk/gtkcellareabox.h | 34 +- gtk/gtkcellareaboxcontext.c | 320 +++---- gtk/gtkcellareaboxcontext.h | 76 +- gtk/gtkcellareacontext.c | 286 ++++--- gtk/gtkcellareacontext.h | 86 +- 8 files changed, 2122 insertions(+), 2036 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 184ac50c36..40a5c9eaa3 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -26,22 +26,23 @@ * @Short_Description: An abstract class for laying out GtkCellRenderers * @Title: GtkCellArea * - * The #GtkCellArea is an abstract class for #GtkCellLayout widgets (also referred - * to as "layouting widgets") to interface with an arbitrary number of #GtkCellRenderers - * and interact with the user for a given #GtkTreeModel row. + * The #GtkCellArea is an abstract class for #GtkCellLayout widgets + * (also referred to as "layouting widgets") to interface with an + * arbitrary number of #GtkCellRenderers and interact with the user + * for a given #GtkTreeModel row. * - * The cell area handles events, focus navigation, drawing and wraps geometrical + * The cell area handles events, focus navigation, drawing and * size requests and allocations for a given row of data. * - * Usually users dont have to interact with the #GtkCellArea directly unless they - * are implementing a cell layouting widget themselves. + * Usually users dont have to interact with the #GtkCellArea directly + * unless they are implementing a cell layouting widget themselves. * * * Requesting area sizes * * As outlined in GtkWidget's * geometry management section, GTK+ uses a height-for-width - * geometry managemen system to compute the sizes of widgets and user + * geometry management system to compute the sizes of widgets and user * interfaces. #GtkCellArea uses the same semantics to calculate the * size of an area for an arbitrary number of #GtkTreeModel rows. * @@ -50,11 +51,11 @@ * different layouting widgets. For instance a #GtkTreeViewColumn * always lines up the areas from top to bottom while a #GtkIconView * on the other hand might enforce that all areas received the same - * width and wrap the areas around, requesting height for more cell + * width and wrap the areas around, requesting height for more cell * areas when allocated less width. * - * It's also important for areas to maintain some cell - * alignments with areas rendered for adjacent rows (cells can + * It's also important for areas to maintain some cell + * alignments with areas rendered for adjacent rows (cells can * appear "columnized" inside an area even when the size of * cells are different in each row). For this reason the #GtkCellArea * uses a #GtkCellAreaContext object to store the alignments @@ -66,7 +67,7 @@ * #GtkCellArea which created it (see gtk_cell_area_create_context()). * The owning cell layouting widget can create as many contexts as * it wishes to calculate sizes of rows which should receive the - * same size in at least one orientation (horizontally or vertically), + * same size in at least one orientation (horizontally or vertically), * however it's important that the same #GtkCellAreaContext which * was used to request the sizes for a given #GtkTreeModel row be * used when rendering or processing events for that row. @@ -74,7 +75,7 @@ * In order to request the width of all the rows at the root level * of a #GtkTreeModel one would do the following: * - * Requesting the width of a hand full of GtkTreeModel rows. + * Requesting the width of a handful of GtkTreeModel rows * * GtkTreeIter iter; * gint minimum_width; @@ -91,22 +92,26 @@ * gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width); * * - * Note that in this example it's not important to observe the returned minimum and - * natural width of the area for each row unless the cell layouting object is actually - * interested in the widths of individual rows. The overall width is however stored - * in the accompanying #GtkCellAreaContext object and can be consulted at any time. + * Note that in this example it's not important to observe the + * returned minimum and natural width of the area for each row + * unless the cell layouting object is actually interested in the + * widths of individual rows. The overall width is however stored + * in the accompanying #GtkCellAreaContext object and can be consulted + * at any time. * - * This can be useful since #GtkCellLayout widgets usually have to support requesting - * and rendering rows in treemodels with an exceedingly large amount of rows. The - * #GtkCellLayout widget in that case would calculate the required width of the rows - * in an idle or timeout source (see g_timeout_add()) and when the widget is requested - * its actual width in #GtkWidgetClass.get_preferred_width() it can simply consult the - * width accumulated so far in the #GtkCellAreaContext object. + * This can be useful since #GtkCellLayout widgets usually have to + * support requesting and rendering rows in treemodels with an + * exceedingly large amount of rows. The #GtkCellLayout widget in + * that case would calculate the required width of the rows in an + * idle or timeout source (see g_timeout_add()) and when the widget + * is requested its actual width in #GtkWidgetClass.get_preferred_width() + * it can simply consult the width accumulated so far in the + * #GtkCellAreaContext object. * - * A simple example where rows are rendered from top to bottom and take up the full - * width of the layouting widget would look like: + * A simple example where rows are rendered from top to bottom and + * take up the full width of the layouting widget would look like: * - * A typical #GtkWidgetClass.get_preferred_width() for a layouting widget. + * A typical get_preferred_width() implementation * * static void * foo_get_preferred_width (GtkWidget *widget, @@ -122,22 +127,23 @@ * } * * - * - * In the above example the Foo widget has to make sure that some row sizes have - * been calculated (the amount of rows that Foo judged was appropriate to request - * space for in a single timeout iteration) before simply returning the amount - * of space required by the area via the #GtkCellAreaContext. - * - * Requesting the height for width (or width for height) of an area is a similar - * task except in this case the #GtkCellAreaContext does not store the data (actually - * it does not know how much space the layouting widget plans to allocate it for - * every row, it's up to the layouting widget to render each row of data with - * the appropriate height and width which was requested by the #GtkCellArea). + * In the above example the Foo widget has to make sure that some + * row sizes have been calculated (the amount of rows that Foo judged + * was appropriate to request space for in a single timeout iteration) + * before simply returning the amount of space required by the area via + * the #GtkCellAreaContext. * - * In order to request the height for width of all the rows at the root level - * of a #GtkTreeModel one would do the following: + * Requesting the height for width (or width for height) of an area is + * a similar task except in this case the #GtkCellAreaContext does not + * store the data (actually, it does not know how much space the layouting + * widget plans to allocate it for every row, it's up to the layouting + * widget to render each row of data with the appropriate height and + * width which was requested by the #GtkCellArea). + * + * In order to request the height for width of all the rows at the + * root level of a #GtkTreeModel one would do the following: * - * Requesting the height for width of a hand full of GtkTreeModel rows. + * Requesting the height for width of a handful of GtkTreeModel rows * * GtkTreeIter iter; * gint minimum_height; @@ -149,7 +155,7 @@ * while (valid) * { * gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE); - * gtk_cell_area_get_preferred_height_for_width (area, context, widget, + * gtk_cell_area_get_preferred_height_for_width (area, context, widget, * width, &minimum_height, &natural_height); * * if (width_is_for_allocation) @@ -162,34 +168,39 @@ * } * * + * Note that in the above example we would need to cache the heights + * returned for each row so that we would know what sizes to render the + * areas for each row. However we would only want to really cache the + * heights if the request is intended for the layouting widgets real + * allocation. * - * Note that in the above example we would need to cache the heights returned for each - * treemodel row so that we would know what sizes to render the areas for each row. However - * we would only want to really cache the heights if the request is intended for the - * layouting widgets real allocation. - * - * In some cases the layouting widget is requested the height for an arbitrary for_width, - * this is a special case for layouting widgets who need to request size for tens of thousands - * of treemodel rows. For this case it's only important that the layouting widget calculate - * one reasonably sized chunk of rows and return that height synchronously. The reasoning here - * is that any layouting widget is at least capable of synchronously calculating enough - * height to fill the screen height (or scrolled window height) in response to a single call to - * #GtkWidgetClass.get_preferred_height_for_width(). Returning a perfect height for width that - * is larger than the screen area is inconsequential since after the layouting receives an - * allocation from a scrolled window it simply continues to drive the the scrollbar - * values while more and mode height is required for the row heights that are calculated - * in the background. + * In some cases the layouting widget is requested the height for an + * arbitrary for_width, this is a special case for layouting widgets + * who need to request size for tens of thousands of rows. For this + * case it's only important that the layouting widget calculate + * one reasonably sized chunk of rows and return that height + * synchronously. The reasoning here is that any layouting widget is + * at least capable of synchronously calculating enough height to fill + * the screen height (or scrolled window height) in response to a single + * call to #GtkWidgetClass.get_preferred_height_for_width(). Returning + * a perfect height for width that is larger than the screen area is + * inconsequential since after the layouting receives an allocation + * from a scrolled window it simply continues to drive the the scrollbar + * values while more and more height is required for the row heights + * that are calculated in the background. * * * * Rendering Areas * - * Once area sizes have been aquired at least for the rows in the visible area of the - * layouting widget they can be rendered at #GtkWidgetClass.draw() time. + * Once area sizes have been aquired at least for the rows in the + * visible area of the layouting widget they can be rendered at + * #GtkWidgetClass.draw() time. * - * A crued example of how to render all the rows at the root level runs as follows: + * A crude example of how to render all the rows at the root level + * runs as follows: * - * Requesting the width of a hand full of GtkTreeModel rows. + * Requesting the width of a handful of GtkTreeModel rows * * GtkAllocation allocation; * GdkRectangle cell_area = { 0, }; @@ -206,7 +217,7 @@ * cell_area.height = get_cached_height_for_row (&iter); * * gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE); - * gtk_cell_area_render (area, context, widget, cr, + * gtk_cell_area_render (area, context, widget, cr, * &cell_area, &cell_area, state_flags, FALSE); * * cell_area.y += cell_area.height; @@ -215,42 +226,46 @@ * } * * - * Note that the cached height in this example really depends on how the layouting - * widget works. The layouting widget might decide to give every row it's minimum - * or natural height or if the model content is expected to fit inside the layouting - * widget with no scrolled window it would make sense to calculate the allocation - * for each row at #GtkWidget.size_allocate() time using gtk_distribute_natural_allocation(). + * Note that the cached height in this example really depends on how + * the layouting widget works. The layouting widget might decide to + * give every row it's minimum or natural height or, if the model content + * is expected to fit inside the layouting widget without scrolling, it + * would make sense to calculate the allocation for each row at + * #GtkWidget.size_allocate() time using gtk_distribute_natural_allocation(). * * * * Handling Events and Driving Keyboard Focus * - * Passing events to the area is as simple as handling events on any normal - * widget and then passing them to the gtk_cell_area_event() api as they come - * in. Usually #GtkCellArea is only interested in button events, however some - * customized derived areas can be implemented who are interested in handling - * other events. Handling an event can trigger the #GtkCellArea::focus-changed - * signal to fire as well as #GtkCellArea::add-editable in the case that - * an editable cell was clicked and needs to start editing. You can call + * Passing events to the area is as simple as handling events on any + * normal widget and then passing them to the gtk_cell_area_event() + * API as they come in. Usually #GtkCellArea is only interested in + * button events, however some customized derived areas can be implemented + * who are interested in handling other events. Handling an event can + * trigger the #GtkCellArea::focus-changed signal to fire; as well as + * #GtkCellArea::add-editable in the case that an editable cell was + * clicked and needs to start editing. You can call * gtk_cell_area_stop_editing() at any time to cancel any cell editing * that is currently in progress. * - * The #GtkCellArea drives keyboard focus from cell to cell in a way similar - * to #GtkWidget. For layouting widgets that support giving focus to cells it's - * important to remember to pass %GTK_CELL_RENDERER_FOCUSED to the area functions - * for the row that has focus and to tell the area to paint the focus at render - * time. + * The #GtkCellArea drives keyboard focus from cell to cell in a way + * similar to #GtkWidget. For layouting widgets that support giving + * focus to cells it's important to remember to pass %GTK_CELL_RENDERER_FOCUSED + * to the area functions for the row that has focus and to tell the + * area to paint the focus at render time. * - * Layouting widgets that accept focus on cells should implement the #GtkWidgetClass.focus() - * virtual method. The layouting widget is always responsible for knowing where - * #GtkTreeModel rows are rendered inside the widget, so at #GtkWidgetClass.focus() time - * the layouting widget should use the #GtkCellArea methods to navigate focus inside the - * area and then observe the GtkDirectionType to pass the focus to adjacent rows and - * areas. + * Layouting widgets that accept focus on cells should implement the + * #GtkWidgetClass.focus() virtual method. The layouting widget is always + * responsible for knowing where #GtkTreeModel rows are rendered inside + * the widget, so at #GtkWidgetClass.focus() time the layouting widget + * should use the #GtkCellArea methods to navigate focus inside the area + * and then observe the GtkDirectionType to pass the focus to adjacent + * rows and areas. * - * A basic example of how the #GtkWidgetClass.focus() virtual method should be implemented: + * A basic example of how the #GtkWidgetClass.focus() virtual method + * should be implemented: * - * Implementing keyboard focus navigation when displaying rows from top to bottom. + * Implementing keyboard focus navigation * * static gboolean * foo_focus (GtkWidget *widget, @@ -309,31 +324,34 @@ * } * * + * Note that the layouting widget is responsible for matching the + * GtkDirectionType values to the way it lays out its cells. * * * * Cell Properties * - * The #GtkCellArea introduces cell properties for #GtkCellRenderers in very - * much the same way that #GtkContainer introduces child properties - * for #GtkWidgets. This provides some general interfaces for defining the relationship cell areas - * have with their cells. For instance in a #GtkCellAreaBox a cell might "expand" and recieve extra - * space when the area is allocated more than it's full natural request, or a cell might be configured - * to "align" with adjacent rows which were requested and rendered with the same #GtkCellAreaContext. + * The #GtkCellArea introduces cell properties + * for #GtkCellRenderers in very much the same way that #GtkContainer + * introduces child properties + * for #GtkWidgets. This provides some general interfaces for defining + * the relationship cell areas have with their cells. For instance in a + * #GtkCellAreaBox a cell might "expand" and receive extra space when + * the area is allocated more than it's full natural request, or a cell + * might be configured to "align" with adjacent rows which were requested + * and rendered with the same #GtkCellAreaContext. * - * Use gtk_cell_area_class_install_cell_property() to install cell properties - * for a cell area class and gtk_cell_area_class_find_cell_property() or - * gtk_cell_area_class_list_cell_properties() to get information about existing - * cell properties. + * Use gtk_cell_area_class_install_cell_property() to install cell + * properties for a cell area class and gtk_cell_area_class_find_cell_property() + * or gtk_cell_area_class_list_cell_properties() to get information about + * existing cell properties. * * To set the value of a cell property, use gtk_cell_area_cell_set_property(), - * gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). - * To obtain the value of a cell property, use - * gtk_cell_area_cell_get_property(), gtk_cell_area_cell_get() or - * gtk_cell_area_cell_get_valist(). + * gtk_cell_area_cell_set() or gtk_cell_area_cell_set_valist(). To obtain + * the value of a cell property, use gtk_cell_area_cell_get_property(), + * gtk_cell_area_cell_get() or gtk_cell_area_cell_get_valist(). * * - * */ #include "config.h" @@ -356,84 +374,84 @@ static void gtk_cell_area_dispose (GObject *object); static void gtk_cell_area_finalize (GObject *object); static void gtk_cell_area_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_cell_area_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); /* GtkCellAreaClass */ static gint gtk_cell_area_real_event (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellAreaContext *context, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); static void gtk_cell_area_real_render (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus); + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus); static void gtk_cell_area_real_apply_attributes (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded); + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); + GtkCellAreaContext *context, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); + GtkCellAreaContext *context, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); static gboolean gtk_cell_area_real_is_activatable (GtkCellArea *area); static gboolean gtk_cell_area_real_activate (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean edit_only); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean edit_only); /* GtkCellLayoutIface */ static void gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface); static void gtk_cell_area_pack_default (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand); + GtkCellRenderer *renderer, + gboolean expand); static void gtk_cell_area_clear (GtkCellLayout *cell_layout); static void gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column); + GtkCellRenderer *renderer, + const gchar *attribute, + gint column); static void gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy); static void gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); static void gtk_cell_area_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gint position); + GtkCellRenderer *cell, + gint position); static GList *gtk_cell_area_get_cells (GtkCellLayout *cell_layout); static GtkCellArea *gtk_cell_area_get_area (GtkCellLayout *cell_layout); /* GtkBuildableIface */ static void gtk_cell_area_buildable_init (GtkBuildableIface *iface); static void gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data); + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data); /* Used in foreach loop to check if a child renderer is present */ typedef struct { @@ -482,31 +500,31 @@ typedef struct { } CellInfo; static CellInfo *cell_info_new (GtkCellLayoutDataFunc func, - gpointer data, - GDestroyNotify destroy); + gpointer data, + GDestroyNotify destroy); static void cell_info_free (CellInfo *info); static CellAttribute *cell_attribute_new (GtkCellRenderer *renderer, - const gchar *attribute, - gint column); + const gchar *attribute, + gint column); static void cell_attribute_free (CellAttribute *attribute); static gint cell_attribute_find (CellAttribute *cell_attribute, - const gchar *attribute); + const gchar *attribute); /* Internal functions/signal emissions */ static void gtk_cell_area_add_editable (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable, - const GdkRectangle *cell_area); + GtkCellRenderer *renderer, + GtkCellEditable *editable, + const GdkRectangle *cell_area); static void gtk_cell_area_remove_editable (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable); + GtkCellRenderer *renderer, + GtkCellEditable *editable); static void gtk_cell_area_set_edit_widget (GtkCellArea *area, - GtkCellEditable *editable); + GtkCellEditable *editable); static void gtk_cell_area_set_edited_cell (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); -/* Struct to pass data along while looping over +/* Struct to pass data along while looping over * cell renderers to apply attributes */ typedef struct { @@ -519,13 +537,14 @@ typedef struct { struct _GtkCellAreaPrivate { - /* The GtkCellArea bookkeeps any connected + /* The GtkCellArea bookkeeps any connected * attributes in this hash table. */ GHashTable *cell_info; /* Current path is saved as a side-effect - * of gtk_cell_area_apply_attributes() */ + * of gtk_cell_area_apply_attributes() + */ gchar *current_path; /* Current cell being edited and editable widget used */ @@ -561,7 +580,8 @@ enum { }; /* Keep the paramspec pool internal, no need to deliver notifications - * on cells. at least no percieved need for now */ + * on cells. at least no perceived need for now + */ static GParamSpecPool *cell_property_pool = NULL; static guint cell_area_signals[LAST_SIGNAL] = { 0 }; @@ -569,10 +589,10 @@ static guint cell_area_signals[LAST_SIGNAL] = { 0 }; #define PARAM_SPEC_SET_PARAM_ID(pspec, id) ((pspec)->param_id = (id)) G_DEFINE_ABSTRACT_TYPE_WITH_CODE (GtkCellArea, gtk_cell_area, G_TYPE_INITIALLY_UNOWNED, - G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, - gtk_cell_area_cell_layout_init) - G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_cell_area_buildable_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_cell_area_cell_layout_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_cell_area_buildable_init)) static void gtk_cell_area_init (GtkCellArea *area) @@ -580,19 +600,19 @@ gtk_cell_area_init (GtkCellArea *area) GtkCellAreaPrivate *priv; area->priv = G_TYPE_INSTANCE_GET_PRIVATE (area, - GTK_TYPE_CELL_AREA, - GtkCellAreaPrivate); + GTK_TYPE_CELL_AREA, + GtkCellAreaPrivate); priv = area->priv; - priv->cell_info = g_hash_table_new_full (g_direct_hash, - g_direct_equal, - NULL, - (GDestroyNotify)cell_info_free); + priv->cell_info = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify)cell_info_free); - priv->focus_siblings = g_hash_table_new_full (g_direct_hash, - g_direct_equal, - NULL, - (GDestroyNotify)g_list_free); + priv->focus_siblings = g_hash_table_new_full (g_direct_hash, + g_direct_equal, + NULL, + (GDestroyNotify)g_list_free); priv->focus_cell = NULL; priv->edited_cell = NULL; @@ -601,11 +621,11 @@ gtk_cell_area_init (GtkCellArea *area) priv->remove_widget_id = 0; } -static void +static void gtk_cell_area_class_init (GtkCellAreaClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); - + /* GObjectClass */ object_class->dispose = gtk_cell_area_dispose; object_class->finalize = gtk_cell_area_finalize; @@ -648,16 +668,16 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) */ cell_area_signals[SIGNAL_APPLY_ATTRIBUTES] = g_signal_new (I_("apply-attributes"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkCellAreaClass, apply_attributes), - NULL, NULL, - _gtk_marshal_VOID__OBJECT_BOXED_BOOLEAN_BOOLEAN, - G_TYPE_NONE, 4, - GTK_TYPE_TREE_MODEL, - GTK_TYPE_TREE_ITER, - G_TYPE_BOOLEAN, - G_TYPE_BOOLEAN); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkCellAreaClass, apply_attributes), + NULL, NULL, + _gtk_marshal_VOID__OBJECT_BOXED_BOOLEAN_BOOLEAN, + G_TYPE_NONE, 4, + GTK_TYPE_TREE_MODEL, + GTK_TYPE_TREE_ITER, + G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN); /** * GtkCellArea::add-editable: @@ -675,16 +695,16 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) */ cell_area_signals[SIGNAL_ADD_EDITABLE] = g_signal_new (I_("add-editable"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - 0, /* No class closure here */ - NULL, NULL, - _gtk_marshal_VOID__OBJECT_OBJECT_BOXED_STRING, - G_TYPE_NONE, 4, - GTK_TYPE_CELL_RENDERER, - GTK_TYPE_CELL_EDITABLE, - GDK_TYPE_RECTANGLE, - G_TYPE_STRING); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_OBJECT_BOXED_STRING, + G_TYPE_NONE, 4, + GTK_TYPE_CELL_RENDERER, + GTK_TYPE_CELL_EDITABLE, + GDK_TYPE_RECTANGLE, + G_TYPE_STRING); /** @@ -700,14 +720,14 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) */ cell_area_signals[SIGNAL_REMOVE_EDITABLE] = g_signal_new (I_("remove-editable"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - 0, /* No class closure here */ - NULL, NULL, - _gtk_marshal_VOID__OBJECT_OBJECT, - G_TYPE_NONE, 2, - GTK_TYPE_CELL_RENDERER, - GTK_TYPE_CELL_EDITABLE); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_OBJECT, + G_TYPE_NONE, 2, + GTK_TYPE_CELL_RENDERER, + GTK_TYPE_CELL_EDITABLE); /** * GtkCellArea::focus-changed: @@ -728,14 +748,14 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) */ cell_area_signals[SIGNAL_FOCUS_CHANGED] = g_signal_new (I_("focus-changed"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - 0, /* No class closure here */ - NULL, NULL, - _gtk_marshal_VOID__OBJECT_STRING, - G_TYPE_NONE, 2, - GTK_TYPE_CELL_RENDERER, - G_TYPE_STRING); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__OBJECT_STRING, + G_TYPE_NONE, 2, + GTK_TYPE_CELL_RENDERER, + G_TYPE_STRING); /* Properties */ /** @@ -748,11 +768,11 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) g_object_class_install_property (object_class, PROP_FOCUS_CELL, g_param_spec_object - ("focus-cell", - P_("Focus Cell"), - P_("The cell which currently has focus"), - GTK_TYPE_CELL_RENDERER, - GTK_PARAM_READWRITE)); + ("focus-cell", + P_("Focus Cell"), + P_("The cell which currently has focus"), + GTK_TYPE_CELL_RENDERER, + GTK_PARAM_READWRITE)); /** * GtkCellArea:edited-cell: @@ -767,11 +787,11 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) g_object_class_install_property (object_class, PROP_EDITED_CELL, g_param_spec_object - ("edited-cell", - P_("Edited Cell"), - P_("The cell which is currently being edited"), - GTK_TYPE_CELL_RENDERER, - G_PARAM_READABLE)); + ("edited-cell", + P_("Edited Cell"), + P_("The cell which is currently being edited"), + GTK_TYPE_CELL_RENDERER, + G_PARAM_READABLE)); /** * GtkCellArea:edit-widget: @@ -786,11 +806,11 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) g_object_class_install_property (object_class, PROP_EDIT_WIDGET, g_param_spec_object - ("edit-widget", - P_("Edit Widget"), - P_("The widget currently editing the edited cell"), - GTK_TYPE_CELL_RENDERER, - G_PARAM_READABLE)); + ("edit-widget", + P_("Edit Widget"), + P_("The widget currently editing the edited cell"), + GTK_TYPE_CELL_RENDERER, + G_PARAM_READABLE)); /* Pool for Cell Properties */ if (!cell_property_pool) @@ -804,8 +824,8 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) *************************************************************/ static CellInfo * cell_info_new (GtkCellLayoutDataFunc func, - gpointer data, - GDestroyNotify destroy) + gpointer data, + GDestroyNotify destroy) { CellInfo *info = g_slice_new0 (CellInfo); @@ -830,14 +850,14 @@ cell_info_free (CellInfo *info) static CellAttribute * cell_attribute_new (GtkCellRenderer *renderer, - const gchar *attribute, - gint column) + const gchar *attribute, + gint column) { GParamSpec *pspec; /* Check if the attribute really exists and point to * the property string installed on the cell renderer - * class (dont dup the string) + * class (dont dup the string) */ pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (renderer), attribute); @@ -863,7 +883,7 @@ cell_attribute_free (CellAttribute *attribute) /* GCompareFunc for g_slist_find_custom() */ static gint cell_attribute_find (CellAttribute *cell_attribute, - const gchar *attribute) + const gchar *attribute) { return g_strcmp0 (cell_attribute->attribute, attribute); } @@ -878,7 +898,7 @@ gtk_cell_area_finalize (GObject *object) GtkCellAreaPrivate *priv = area->priv; /* All cell renderers should already be removed at this point, - * just kill our (empty) hash tables here. + * just kill our (empty) hash tables here. */ g_hash_table_destroy (priv->cell_info); g_hash_table_destroy (priv->focus_siblings); @@ -893,7 +913,7 @@ static void gtk_cell_area_dispose (GObject *object) { /* This removes every cell renderer that may be added to the GtkCellArea, - * subclasses should be breaking references to the GtkCellRenderers + * subclasses should be breaking references to the GtkCellRenderers * at this point. */ gtk_cell_layout_clear (GTK_CELL_LAYOUT (object)); @@ -908,9 +928,9 @@ gtk_cell_area_dispose (GObject *object) static void gtk_cell_area_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkCellArea *area = GTK_CELL_AREA (object); @@ -927,9 +947,9 @@ gtk_cell_area_set_property (GObject *object, static void gtk_cell_area_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkCellArea *area = GTK_CELL_AREA (object); GtkCellAreaPrivate *priv = area->priv; @@ -956,11 +976,11 @@ gtk_cell_area_get_property (GObject *object, *************************************************************/ static gint gtk_cell_area_real_event (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkCellAreaContext *context, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { GtkCellAreaPrivate *priv = area->priv; gboolean retval = FALSE; @@ -971,65 +991,65 @@ gtk_cell_area_real_event (GtkCellArea *area, /* Cancel any edits in progress */ if (priv->edited_cell && (key_event->keyval == GDK_KEY_Escape)) - { - gtk_cell_area_stop_editing (area, TRUE); - retval = TRUE; - } + { + gtk_cell_area_stop_editing (area, TRUE); + retval = TRUE; + } } else if (event->type == GDK_BUTTON_PRESS) { GdkEventButton *button_event = (GdkEventButton *)event; if (button_event->button == 1) - { - GtkCellRenderer *renderer = NULL; - GtkCellRenderer *focus_renderer; - GdkRectangle alloc_area; - gint event_x, event_y; + { + GtkCellRenderer *renderer = NULL; + GtkCellRenderer *focus_renderer; + GdkRectangle alloc_area; + gint event_x, event_y; - /* We may need some semantics to tell us the offset of the event - * window we are handling events for (i.e. GtkTreeView has a bin_window) */ - event_x = button_event->x; - event_y = button_event->y; + /* We may need some semantics to tell us the offset of the event + * window we are handling events for (i.e. GtkTreeView has a bin_window) */ + event_x = button_event->x; + event_y = button_event->y; - /* Dont try to search for an event coordinate that is not in the area, that will - * trigger a runtime warning. - */ - if (event_x >= cell_area->x && event_x <= cell_area->x + cell_area->width && - event_y >= cell_area->y && event_y <= cell_area->y + cell_area->height) - renderer = - gtk_cell_area_get_cell_at_position (area, context, widget, - cell_area, event_x, event_y, - &alloc_area); + /* Dont try to search for an event coordinate that is not in the area, that will + * trigger a runtime warning. + */ + if (event_x >= cell_area->x && event_x <= cell_area->x + cell_area->width && + event_y >= cell_area->y && event_y <= cell_area->y + cell_area->height) + renderer = + gtk_cell_area_get_cell_at_position (area, context, widget, + cell_area, event_x, event_y, + &alloc_area); - if (renderer) - { - focus_renderer = gtk_cell_area_get_focus_from_sibling (area, renderer); - if (!focus_renderer) - focus_renderer = renderer; + if (renderer) + { + focus_renderer = gtk_cell_area_get_focus_from_sibling (area, renderer); + if (!focus_renderer) + focus_renderer = renderer; - /* If we're already editing, cancel it and set focus */ - if (gtk_cell_area_get_edited_cell (area)) - { - /* XXX Was it really canceled in this case ? */ - gtk_cell_area_stop_editing (area, TRUE); - gtk_cell_area_set_focus_cell (area, focus_renderer); - retval = TRUE; - } - else - { - /* If we are activating via a focus sibling, - * we need to fetch the right cell area for the real event renderer */ - if (focus_renderer != renderer) - gtk_cell_area_get_cell_allocation (area, context, widget, focus_renderer, - cell_area, &alloc_area); - - gtk_cell_area_set_focus_cell (area, focus_renderer); - retval = gtk_cell_area_activate_cell (area, widget, focus_renderer, - event, &alloc_area, flags); - } - } - } + /* If we're already editing, cancel it and set focus */ + if (gtk_cell_area_get_edited_cell (area)) + { + /* XXX Was it really canceled in this case ? */ + gtk_cell_area_stop_editing (area, TRUE); + gtk_cell_area_set_focus_cell (area, focus_renderer); + retval = TRUE; + } + else + { + /* If we are activating via a focus sibling, + * we need to fetch the right cell area for the real event renderer */ + if (focus_renderer != renderer) + gtk_cell_area_get_cell_allocation (area, context, widget, focus_renderer, + cell_area, &alloc_area); + + gtk_cell_area_set_focus_cell (area, focus_renderer); + retval = gtk_cell_area_activate_cell (area, widget, focus_renderer, + event, &alloc_area, flags); + } + } + } } return retval; @@ -1037,9 +1057,9 @@ gtk_cell_area_real_event (GtkCellArea *area, static gboolean render_cell (GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - const GdkRectangle *cell_background, - CellRenderData *data) + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + CellRenderData *data) { GtkCellRenderer *focus_cell; GtkCellRendererState flags; @@ -1051,10 +1071,10 @@ render_cell (GtkCellRenderer *renderer, gtk_cell_area_inner_cell_area (data->area, data->widget, cell_area, &inner_area); if ((flags & GTK_CELL_RENDERER_FOCUSED) && - (data->focus_all || - (focus_cell && - (renderer == focus_cell || - gtk_cell_area_is_focus_sibling (data->area, focus_cell, renderer))))) + (data->focus_all || + (focus_cell && + (renderer == focus_cell || + gtk_cell_area_is_focus_sibling (data->area, focus_cell, renderer))))) { gint focus_line_width; GdkRectangle cell_focus; @@ -1072,79 +1092,79 @@ render_cell (GtkCellRenderer *renderer, cell_focus.height += 2 * focus_line_width; if (data->first_focus) - { - data->first_focus = FALSE; - data->focus_rect = cell_focus; - } + { + data->first_focus = FALSE; + data->focus_rect = cell_focus; + } else - { - gdk_rectangle_union (&data->focus_rect, &cell_focus, &data->focus_rect); - } + { + gdk_rectangle_union (&data->focus_rect, &cell_focus, &data->focus_rect); + } } else flags &= ~GTK_CELL_RENDERER_FOCUSED; gtk_cell_renderer_render (renderer, data->cr, data->widget, - cell_background, &inner_area, flags); + cell_background, &inner_area, flags); return FALSE; } static void gtk_cell_area_real_render (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus) + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus) { - CellRenderData render_data = - { - area, - widget, - cr, - { 0, }, - flags, - paint_focus, + CellRenderData render_data = + { + area, + widget, + cr, + { 0, }, + flags, + paint_focus, FALSE, TRUE }; /* Make sure we dont paint a focus rectangle while there - * is an editable widget in play + * is an editable widget in play */ if (gtk_cell_area_get_edited_cell (area)) render_data.paint_focus = FALSE; /* If no cell can activate but the caller wants focus painted, * then we paint focus around all cells */ - if ((flags & GTK_CELL_RENDERER_FOCUSED) != 0 && paint_focus && + if ((flags & GTK_CELL_RENDERER_FOCUSED) != 0 && paint_focus && !gtk_cell_area_is_activatable (area)) render_data.focus_all = TRUE; - gtk_cell_area_foreach_alloc (area, context, widget, cell_area, background_area, - (GtkCellAllocCallback)render_cell, &render_data); + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, background_area, + (GtkCellAllocCallback)render_cell, &render_data); - if (render_data.paint_focus && - render_data.focus_rect.width != 0 && + if (render_data.paint_focus && + render_data.focus_rect.width != 0 && render_data.focus_rect.height != 0) { - GtkStateType renderer_state = - flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : - (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : - (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); + GtkStateType renderer_state = + flags & GTK_CELL_RENDERER_SELECTED ? GTK_STATE_SELECTED : + (flags & GTK_CELL_RENDERER_PRELIT ? GTK_STATE_PRELIGHT : + (flags & GTK_CELL_RENDERER_INSENSITIVE ? GTK_STATE_INSENSITIVE : GTK_STATE_NORMAL)); cairo_save (cr); gdk_cairo_rectangle (cr, background_area); cairo_clip (cr); - gtk_paint_focus (gtk_widget_get_style (widget), cr, - renderer_state, widget, - gtk_cell_area_get_style_detail (area), - render_data.focus_rect.x, render_data.focus_rect.y, - render_data.focus_rect.width, render_data.focus_rect.height); + gtk_paint_focus (gtk_widget_get_style (widget), cr, + renderer_state, widget, + gtk_cell_area_get_style_detail (area), + render_data.focus_rect.x, render_data.focus_rect.y, + render_data.focus_rect.width, render_data.focus_rect.height); cairo_restore (cr); } @@ -1152,8 +1172,8 @@ gtk_cell_area_real_render (GtkCellArea *area, static void apply_cell_attributes (GtkCellRenderer *renderer, - CellInfo *info, - AttributeData *data) + CellInfo *info, + AttributeData *data) { CellAttribute *attribute; GSList *list; @@ -1163,14 +1183,14 @@ apply_cell_attributes (GtkCellRenderer *renderer, g_object_freeze_notify (G_OBJECT (renderer)); - /* Whether a row expands or is presently expanded can only be + /* Whether a row expands or is presently expanded can only be * provided by the view (as these states can vary across views * accessing the same model). */ g_object_get (renderer, "is-expander", &is_expander, NULL); if (is_expander != data->is_expander) g_object_set (renderer, "is-expander", data->is_expander, NULL); - + g_object_get (renderer, "is-expanded", &is_expanded, NULL); if (is_expanded != data->is_expanded) g_object_set (renderer, "is-expanded", data->is_expanded, NULL); @@ -1189,17 +1209,17 @@ apply_cell_attributes (GtkCellRenderer *renderer, */ if (info->func) info->func (GTK_CELL_LAYOUT (data->area), renderer, - data->model, data->iter, info->data); + data->model, data->iter, info->data); g_object_thaw_notify (G_OBJECT (renderer)); } static void gtk_cell_area_real_apply_attributes (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded) + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded) { GtkCellAreaPrivate *priv; @@ -1228,11 +1248,11 @@ gtk_cell_area_real_apply_attributes (GtkCellArea *area, static void gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height) + GtkCellAreaContext *context, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) { /* If the area doesnt do height-for-width, fallback on base preferred height */ GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, context, widget, minimum_height, natural_height); @@ -1240,11 +1260,11 @@ gtk_cell_area_real_get_preferred_height_for_width (GtkCellArea *area, static void gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width) + GtkCellAreaContext *context, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) { /* If the area doesnt do width-for-height, fallback on base preferred width */ GTK_CELL_AREA_GET_CLASS (area)->get_preferred_width (area, context, widget, minimum_width, natural_width); @@ -1252,7 +1272,7 @@ gtk_cell_area_real_get_preferred_width_for_height (GtkCellArea *area, static gboolean get_is_activatable (GtkCellRenderer *renderer, - gboolean *activatable) + gboolean *activatable) { if (gtk_cell_renderer_is_activatable (renderer)) @@ -1279,11 +1299,11 @@ gtk_cell_area_real_is_activatable (GtkCellArea *area) static gboolean gtk_cell_area_real_activate (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean edit_only) + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean edit_only) { GtkCellAreaPrivate *priv = area->priv; GdkRectangle renderer_area; @@ -1295,9 +1315,9 @@ gtk_cell_area_real_activate (GtkCellArea *area, g_object_get (priv->focus_cell, "mode", &mode, NULL); if (gtk_cell_renderer_get_visible (priv->focus_cell) && - (edit_only ? mode == GTK_CELL_RENDERER_MODE_EDITABLE : - mode != GTK_CELL_RENDERER_MODE_INERT)) - activate_cell = priv->focus_cell; + (edit_only ? mode == GTK_CELL_RENDERER_MODE_EDITABLE : + mode != GTK_CELL_RENDERER_MODE_INERT)) + activate_cell = priv->focus_cell; } else { @@ -1308,16 +1328,16 @@ gtk_cell_area_real_activate (GtkCellArea *area, */ cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); for (l = cells; l && !activate_cell; l = l->next) - { - GtkCellRenderer *renderer = l->data; + { + GtkCellRenderer *renderer = l->data; - g_object_get (renderer, "mode", &mode, NULL); + g_object_get (renderer, "mode", &mode, NULL); - if (gtk_cell_renderer_get_visible (renderer) && - (edit_only ? mode == GTK_CELL_RENDERER_MODE_EDITABLE : - mode != GTK_CELL_RENDERER_MODE_INERT)) - activate_cell = renderer; - } + if (gtk_cell_renderer_get_visible (renderer) && + (edit_only ? mode == GTK_CELL_RENDERER_MODE_EDITABLE : + mode != GTK_CELL_RENDERER_MODE_INERT)) + activate_cell = renderer; + } g_list_free (cells); } @@ -1326,16 +1346,16 @@ gtk_cell_area_real_activate (GtkCellArea *area, /* Get the allocation of the focused cell. */ gtk_cell_area_get_cell_allocation (area, context, widget, activate_cell, - cell_area, &renderer_area); - + cell_area, &renderer_area); + /* Activate or Edit the cell * * Currently just not sending an event, renderers afaics dont use * the event argument anyway, worst case is we can synthesize one. */ if (gtk_cell_area_activate_cell (area, widget, activate_cell, NULL, - &renderer_area, flags)) - return TRUE; + &renderer_area, flags)) + return TRUE; } return FALSE; @@ -1360,8 +1380,8 @@ gtk_cell_area_cell_layout_init (GtkCellLayoutIface *iface) static void gtk_cell_area_pack_default (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand) + GtkCellRenderer *renderer, + gboolean expand) { gtk_cell_area_add (GTK_CELL_AREA (cell_layout), renderer); } @@ -1384,20 +1404,20 @@ gtk_cell_area_clear (GtkCellLayout *cell_layout) static void gtk_cell_area_add_attribute (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column) + GtkCellRenderer *renderer, + const gchar *attribute, + gint column) { gtk_cell_area_attribute_connect (GTK_CELL_AREA (cell_layout), - renderer, attribute, column); + renderer, attribute, column); } static void gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) + GtkCellRenderer *renderer, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy) { GtkCellArea *area = GTK_CELL_AREA (cell_layout); GtkCellAreaPrivate *priv = area->priv; @@ -1408,20 +1428,20 @@ gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, if (info) { if (info->destroy && info->data) - info->destroy (info->data); + info->destroy (info->data); if (func) - { - info->func = func; - info->data = func_data; - info->destroy = destroy; - } + { + info->func = func; + info->data = func_data; + info->destroy = destroy; + } else - { - info->func = NULL; - info->data = NULL; - info->destroy = NULL; - } + { + info->func = NULL; + info->data = NULL; + info->destroy = NULL; + } } else { @@ -1433,7 +1453,7 @@ gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, static void gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellArea *area = GTK_CELL_AREA (cell_layout); GtkCellAreaPrivate *priv = area->priv; @@ -1450,18 +1470,18 @@ gtk_cell_area_clear_attributes (GtkCellLayout *cell_layout, } } -static void +static void gtk_cell_area_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - gint position) + GtkCellRenderer *cell, + gint position) { - g_warning ("GtkCellLayout::reorder not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (cell_layout))); + g_warning ("GtkCellLayout::reorder not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (cell_layout))); } static gboolean accum_cells (GtkCellRenderer *renderer, - GList **accum) + GList **accum) { *accum = g_list_prepend (*accum, renderer); @@ -1473,9 +1493,9 @@ gtk_cell_area_get_cells (GtkCellLayout *cell_layout) { GList *cells = NULL; - gtk_cell_area_foreach (GTK_CELL_AREA (cell_layout), - (GtkCellCallback)accum_cells, - &cells); + gtk_cell_area_foreach (GTK_CELL_AREA (cell_layout), + (GtkCellCallback)accum_cells, + &cells); return g_list_reverse (cells); } @@ -1499,10 +1519,10 @@ gtk_cell_area_buildable_init (GtkBuildableIface *iface) static void gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data) + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) { /* Just ignore the boolean return from here */ _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data); @@ -1523,7 +1543,7 @@ gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable, */ void gtk_cell_area_add (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellAreaClass *class; @@ -1535,8 +1555,8 @@ gtk_cell_area_add (GtkCellArea *area, if (class->add) class->add (area, renderer); else - g_warning ("GtkCellAreaClass::add not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::add not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -1550,7 +1570,7 @@ gtk_cell_area_add (GtkCellArea *area, */ void gtk_cell_area_remove (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellAreaClass *class; GtkCellAreaPrivate *priv; @@ -1568,7 +1588,7 @@ gtk_cell_area_remove (GtkCellArea *area, /* Remove focus siblings of this renderer */ g_hash_table_remove (priv->focus_siblings, renderer); - /* Remove this renderer from any focus renderer's sibling list */ + /* Remove this renderer from any focus renderer's sibling list */ renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); for (l = renderers; l; l = l->next) @@ -1576,10 +1596,10 @@ gtk_cell_area_remove (GtkCellArea *area, GtkCellRenderer *focus_renderer = l->data; if (gtk_cell_area_is_focus_sibling (area, focus_renderer, renderer)) - { - gtk_cell_area_remove_focus_sibling (area, focus_renderer, renderer); - break; - } + { + gtk_cell_area_remove_focus_sibling (area, focus_renderer, renderer); + break; + } } g_list_free (renderers); @@ -1587,13 +1607,13 @@ gtk_cell_area_remove (GtkCellArea *area, if (class->remove) class->remove (area, renderer); else - g_warning ("GtkCellAreaClass::remove not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::remove not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } static gboolean get_has_renderer (GtkCellRenderer *renderer, - HasRendererCheck *check) + HasRendererCheck *check) { if (renderer == check->renderer) check->has_renderer = TRUE; @@ -1614,7 +1634,7 @@ get_has_renderer (GtkCellRenderer *renderer, */ gboolean gtk_cell_area_has_renderer (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { HasRendererCheck check = { renderer, FALSE }; @@ -1638,8 +1658,8 @@ gtk_cell_area_has_renderer (GtkCellArea *area, */ void gtk_cell_area_foreach (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data) + GtkCellCallback callback, + gpointer callback_data) { GtkCellAreaClass *class; @@ -1651,8 +1671,8 @@ gtk_cell_area_foreach (GtkCellArea *area, if (class->foreach) class->foreach (area, callback, callback_data); else - g_warning ("GtkCellAreaClass::foreach not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::foreach not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -1672,12 +1692,12 @@ gtk_cell_area_foreach (GtkCellArea *area, */ void gtk_cell_area_foreach_alloc (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - const GdkRectangle *background_area, - GtkCellAllocCallback callback, - gpointer callback_data) + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + const GdkRectangle *background_area, + GtkCellAllocCallback callback, + gpointer callback_data) { GtkCellAreaClass *class; @@ -1692,8 +1712,8 @@ gtk_cell_area_foreach_alloc (GtkCellArea *area, if (class->foreach_alloc) class->foreach_alloc (area, context, widget, cell_area, background_area, callback, callback_data); else - g_warning ("GtkCellAreaClass::foreach_alloc not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::foreach_alloc not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -1713,11 +1733,11 @@ gtk_cell_area_foreach_alloc (GtkCellArea *area, */ gint gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkCellAreaContext *context, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { GtkCellAreaClass *class; @@ -1732,8 +1752,8 @@ gtk_cell_area_event (GtkCellArea *area, if (class->event) return class->event (area, context, widget, event, cell_area, flags); - g_warning ("GtkCellAreaClass::event not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::event not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); return 0; } @@ -1755,13 +1775,13 @@ gtk_cell_area_event (GtkCellArea *area, */ void gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus) + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus) { GtkCellAreaClass *class; @@ -1777,8 +1797,8 @@ gtk_cell_area_render (GtkCellArea *area, if (class->render) class->render (area, context, widget, cr, background_area, cell_area, flags, paint_focus); else - g_warning ("GtkCellAreaClass::render not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::render not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -1793,7 +1813,7 @@ gtk_cell_area_render (GtkCellArea *area, */ void gtk_cell_area_set_style_detail (GtkCellArea *area, - const gchar *detail) + const gchar *detail) { GtkCellAreaPrivate *priv; @@ -1833,9 +1853,9 @@ gtk_cell_area_get_style_detail (GtkCellArea *area) static gboolean get_cell_allocation (GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - const GdkRectangle *cell_background, - RendererAllocationData *data) + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + RendererAllocationData *data) { if (data->renderer == renderer) data->allocation = *cell_area; @@ -1860,11 +1880,11 @@ get_cell_allocation (GtkCellRenderer *renderer, */ void gtk_cell_area_get_cell_allocation (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *allocation) + GtkCellAreaContext *context, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation) { RendererAllocationData data = { renderer, { 0, } }; @@ -1875,17 +1895,17 @@ gtk_cell_area_get_cell_allocation (GtkCellArea *area, g_return_if_fail (cell_area != NULL); g_return_if_fail (allocation != NULL); - gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, - (GtkCellAllocCallback)get_cell_allocation, &data); + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, + (GtkCellAllocCallback)get_cell_allocation, &data); *allocation = data.allocation; } static gboolean get_cell_by_position (GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - const GdkRectangle *cell_background, - CellByPositionData *data) + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + CellByPositionData *data) { if (data->x >= cell_area->x && data->x < cell_area->x + cell_area->width && data->y >= cell_area->y && data->y < cell_area->y + cell_area->height) @@ -1906,7 +1926,7 @@ get_cell_by_position (GtkCellRenderer *renderer, * for this row * @x: the x position * @y: the y position - * @alloc_area: (out) (allow-none): where to store the inner allocated area of the + * @alloc_area: (out) (allow-none): where to store the inner allocated area of the * returned cell renderer, or %NULL. * * Gets the #GtkCellRenderer at @x and @y coordinates inside @area and optionally @@ -1918,12 +1938,12 @@ get_cell_by_position (GtkCellRenderer *renderer, */ GtkCellRenderer * gtk_cell_area_get_cell_at_position (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - gint x, - gint y, - GdkRectangle *alloc_area) + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + gint x, + gint y, + GdkRectangle *alloc_area) { CellByPositionData data = { x, y, NULL, { 0, } }; @@ -1934,8 +1954,8 @@ gtk_cell_area_get_cell_at_position (GtkCellArea *area, g_return_val_if_fail (x >= cell_area->x && x <= cell_area->x + cell_area->width, NULL); g_return_val_if_fail (y >= cell_area->y && y <= cell_area->y + cell_area->height, NULL); - gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, - (GtkCellAllocCallback)get_cell_by_position, &data); + gtk_cell_area_foreach_alloc (area, context, widget, cell_area, cell_area, + (GtkCellAllocCallback)get_cell_by_position, &data); if (alloc_area) *alloc_area = data.cell_area; @@ -1973,9 +1993,9 @@ gtk_cell_area_create_context (GtkCellArea *area) if (class->create_context) return class->create_context (area); - g_warning ("GtkCellAreaClass::create_context not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); - + g_warning ("GtkCellAreaClass::create_context not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + return NULL; } @@ -2002,7 +2022,7 @@ gtk_cell_area_create_context (GtkCellArea *area) */ GtkCellAreaContext * gtk_cell_area_copy_context (GtkCellArea *area, - GtkCellAreaContext *context) + GtkCellAreaContext *context) { GtkCellAreaClass *class; @@ -2014,9 +2034,9 @@ gtk_cell_area_copy_context (GtkCellArea *area, if (class->copy_context) return class->copy_context (area, context); - g_warning ("GtkCellAreaClass::copy_context not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); - + g_warning ("GtkCellAreaClass::copy_context not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + return NULL; } @@ -2031,22 +2051,22 @@ gtk_cell_area_copy_context (GtkCellArea *area, * * Since: 3.0 */ -GtkSizeRequestMode +GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area) { GtkCellAreaClass *class; - g_return_val_if_fail (GTK_IS_CELL_AREA (area), - GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH); + g_return_val_if_fail (GTK_IS_CELL_AREA (area), + GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH); class = GTK_CELL_AREA_GET_CLASS (area); if (class->get_request_mode) return class->get_request_mode (area); - g_warning ("GtkCellAreaClass::get_request_mode not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); - + g_warning ("GtkCellAreaClass::get_request_mode not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); + return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH; } @@ -2070,10 +2090,10 @@ gtk_cell_area_get_request_mode (GtkCellArea *area) */ void gtk_cell_area_get_preferred_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_width, - gint *natural_width) + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width) { GtkCellAreaClass *class; @@ -2085,8 +2105,8 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, if (class->get_preferred_width) class->get_preferred_width (area, context, widget, minimum_width, natural_width); else - g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::get_preferred_width not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -2117,11 +2137,11 @@ gtk_cell_area_get_preferred_width (GtkCellArea *area, */ void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height) + GtkCellAreaContext *context, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) { GtkCellAreaClass *class; @@ -2153,10 +2173,10 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, */ void gtk_cell_area_get_preferred_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_height, - gint *natural_height) + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height) { GtkCellAreaClass *class; @@ -2168,8 +2188,8 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, if (class->get_preferred_height) class->get_preferred_height (area, context, widget, minimum_height, natural_height); else - g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::get_preferred_height not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -2200,11 +2220,11 @@ gtk_cell_area_get_preferred_height (GtkCellArea *area, */ void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width) + GtkCellAreaContext *context, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) { GtkCellAreaClass *class; @@ -2233,10 +2253,10 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, */ void gtk_cell_area_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column) -{ + GtkCellRenderer *renderer, + const gchar *attribute, + gint column) +{ GtkCellAreaPrivate *priv; CellInfo *info; CellAttribute *cell_attribute; @@ -2261,17 +2281,17 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, /* Check we are not adding the same attribute twice */ if ((node = g_slist_find_custom (info->attributes, attribute, - (GCompareFunc)cell_attribute_find)) != NULL) - { - cell_attribute = node->data; + (GCompareFunc)cell_attribute_find)) != NULL) + { + cell_attribute = node->data; - g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' " - "since `%s' is already attributed to column %d", - attribute, - g_type_name (G_TYPE_FROM_INSTANCE (area)), - attribute, cell_attribute->column); - return; - } + g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' " + "since `%s' is already attributed to column %d", + attribute, + g_type_name (G_TYPE_FROM_INSTANCE (area)), + attribute, cell_attribute->column); + return; + } } cell_attribute = cell_attribute_new (renderer, attribute, column); @@ -2279,9 +2299,9 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, if (!cell_attribute) { g_warning ("Cannot connect attribute `%s' for cell renderer class `%s' " - "since attribute does not exist", - attribute, - g_type_name (G_TYPE_FROM_INSTANCE (area))); + "since attribute does not exist", + attribute, + g_type_name (G_TYPE_FROM_INSTANCE (area))); return; } @@ -2300,10 +2320,10 @@ gtk_cell_area_attribute_connect (GtkCellArea *area, * * Since: 3.0 */ -void +void gtk_cell_area_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute) + GtkCellRenderer *renderer, + const gchar *attribute) { GtkCellAreaPrivate *priv; CellInfo *info; @@ -2321,15 +2341,15 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, if (info) { node = g_slist_find_custom (info->attributes, attribute, - (GCompareFunc)cell_attribute_find); + (GCompareFunc)cell_attribute_find); if (node) - { - cell_attribute = node->data; + { + cell_attribute = node->data; - cell_attribute_free (cell_attribute); + cell_attribute_free (cell_attribute); - info->attributes = g_slist_delete_link (info->attributes, node); - } + info->attributes = g_slist_delete_link (info->attributes, node); + } } } @@ -2342,24 +2362,24 @@ gtk_cell_area_attribute_disconnect (GtkCellArea *area, * @is_expanded: whether @iter is expanded in the view and * children are visible * - * Applies any connected attributes to the renderers in + * Applies any connected attributes to the renderers in * @area by pulling the values from @tree_model. * * Since: 3.0 */ void gtk_cell_area_apply_attributes (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded) + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded) { g_return_if_fail (GTK_IS_CELL_AREA (area)); g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (iter != NULL); - g_signal_emit (area, cell_area_signals[SIGNAL_APPLY_ATTRIBUTES], 0, - tree_model, iter, is_expander, is_expanded); + g_signal_emit (area, cell_area_signals[SIGNAL_APPLY_ATTRIBUTES], 0, + tree_model, iter, is_expander, is_expanded); } /** @@ -2406,8 +2426,8 @@ gtk_cell_area_get_current_path_string (GtkCellArea *area) */ void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, - guint property_id, - GParamSpec *pspec) + guint property_id, + GParamSpec *pspec) { g_return_if_fail (GTK_IS_CELL_AREA_CLASS (aclass)); g_return_if_fail (G_IS_PARAM_SPEC (pspec)); @@ -2422,7 +2442,7 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, if (g_param_spec_pool_lookup (cell_property_pool, pspec->name, G_OBJECT_CLASS_TYPE (aclass), TRUE)) { g_warning (G_STRLOC ": class `%s' already contains a cell property named `%s'", - G_OBJECT_CLASS_NAME (aclass), pspec->name); + G_OBJECT_CLASS_NAME (aclass), pspec->name); return; } g_param_spec_ref (pspec); @@ -2445,15 +2465,15 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, */ GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, - const gchar *property_name) + const gchar *property_name) { g_return_val_if_fail (GTK_IS_CELL_AREA_CLASS (aclass), NULL); g_return_val_if_fail (property_name != NULL, NULL); return g_param_spec_pool_lookup (cell_property_pool, - property_name, - G_OBJECT_CLASS_TYPE (aclass), - TRUE); + property_name, + G_OBJECT_CLASS_TYPE (aclass), + TRUE); } /** @@ -2470,7 +2490,7 @@ gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, */ GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, - guint *n_properties) + guint *n_properties) { GParamSpec **pspecs; guint n; @@ -2478,8 +2498,8 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, g_return_val_if_fail (GTK_IS_CELL_AREA_CLASS (aclass), NULL); pspecs = g_param_spec_pool_list (cell_property_pool, - G_OBJECT_CLASS_TYPE (aclass), - &n); + G_OBJECT_CLASS_TYPE (aclass), + &n); if (n_properties) *n_properties = n; @@ -2501,9 +2521,9 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, */ void gtk_cell_area_add_with_properties (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) { GtkCellAreaClass *class; @@ -2523,8 +2543,8 @@ gtk_cell_area_add_with_properties (GtkCellArea *area, va_end (var_args); } else - g_warning ("GtkCellAreaClass::add not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::add not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); } /** @@ -2541,9 +2561,9 @@ gtk_cell_area_add_with_properties (GtkCellArea *area, */ void gtk_cell_area_cell_set (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) { va_list var_args; @@ -2569,9 +2589,9 @@ gtk_cell_area_cell_set (GtkCellArea *area, */ void gtk_cell_area_cell_get (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) { va_list var_args; @@ -2585,20 +2605,20 @@ gtk_cell_area_cell_get (GtkCellArea *area, static inline void area_get_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - GParamSpec *pspec, - GValue *value) + GtkCellRenderer *renderer, + GParamSpec *pspec, + GValue *value) { GtkCellAreaClass *class = g_type_class_peek (pspec->owner_type); - + class->get_cell_property (area, renderer, PARAM_SPEC_PARAM_ID (pspec), value, pspec); } static inline void area_set_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - GParamSpec *pspec, - const GValue *value) + GtkCellRenderer *renderer, + GParamSpec *pspec, + const GValue *value) { GValue tmp_value = { 0, }; GtkCellAreaClass *class = g_type_class_peek (pspec->owner_type); @@ -2607,18 +2627,18 @@ area_set_cell_property (GtkCellArea *area, g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); if (!g_value_transform (value, &tmp_value)) g_warning ("unable to set cell property `%s' of type `%s' from value of type `%s'", - pspec->name, - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), - G_VALUE_TYPE_NAME (value)); + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), + G_VALUE_TYPE_NAME (value)); else if (g_param_value_validate (pspec, &tmp_value) && !(pspec->flags & G_PARAM_LAX_VALIDATION)) { gchar *contents = g_strdup_value_contents (value); g_warning ("value \"%s\" of type `%s' is invalid for property `%s' of type `%s'", - contents, - G_VALUE_TYPE_NAME (value), - pspec->name, - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec))); + contents, + G_VALUE_TYPE_NAME (value), + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec))); g_free (contents); } else @@ -2642,9 +2662,9 @@ area_set_cell_property (GtkCellArea *area, */ void gtk_cell_area_cell_set_valist (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_property_name, - va_list var_args) + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args) { const gchar *name; @@ -2656,34 +2676,34 @@ gtk_cell_area_cell_set_valist (GtkCellArea *area, { GValue value = { 0, }; gchar *error = NULL; - GParamSpec *pspec = - g_param_spec_pool_lookup (cell_property_pool, name, - G_OBJECT_TYPE (area), TRUE); + GParamSpec *pspec = + g_param_spec_pool_lookup (cell_property_pool, name, + G_OBJECT_TYPE (area), TRUE); if (!pspec) - { - g_warning ("%s: cell area class `%s' has no cell property named `%s'", - G_STRLOC, G_OBJECT_TYPE_NAME (area), name); - break; - } + { + g_warning ("%s: cell area class `%s' has no cell property named `%s'", + G_STRLOC, G_OBJECT_TYPE_NAME (area), name); + break; + } if (!(pspec->flags & G_PARAM_WRITABLE)) - { - g_warning ("%s: cell property `%s' of cell area class `%s' is not writable", - G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); - break; - } + { + g_warning ("%s: cell property `%s' of cell area class `%s' is not writable", + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + break; + } g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); G_VALUE_COLLECT (&value, var_args, 0, &error); if (error) - { - g_warning ("%s: %s", G_STRLOC, error); - g_free (error); + { + g_warning ("%s: %s", G_STRLOC, error); + g_free (error); - /* we purposely leak the value here, it might not be - * in a sane state if an error condition occoured - */ - break; - } + /* we purposely leak the value here, it might not be + * in a sane state if an error condition occoured + */ + break; + } area_set_cell_property (area, renderer, pspec, &value); g_value_unset (&value); name = va_arg (var_args, gchar*); @@ -2704,9 +2724,9 @@ gtk_cell_area_cell_set_valist (GtkCellArea *area, */ void gtk_cell_area_cell_get_valist (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_property_name, - va_list var_args) + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args) { const gchar *name; @@ -2721,30 +2741,30 @@ gtk_cell_area_cell_get_valist (GtkCellArea *area, gchar *error; pspec = g_param_spec_pool_lookup (cell_property_pool, name, - G_OBJECT_TYPE (area), TRUE); + G_OBJECT_TYPE (area), TRUE); if (!pspec) - { - g_warning ("%s: cell area class `%s' has no cell property named `%s'", - G_STRLOC, G_OBJECT_TYPE_NAME (area), name); - break; - } + { + g_warning ("%s: cell area class `%s' has no cell property named `%s'", + G_STRLOC, G_OBJECT_TYPE_NAME (area), name); + break; + } if (!(pspec->flags & G_PARAM_READABLE)) - { - g_warning ("%s: cell property `%s' of cell area class `%s' is not readable", - G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); - break; - } + { + g_warning ("%s: cell property `%s' of cell area class `%s' is not readable", + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + break; + } g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (pspec)); area_get_cell_property (area, renderer, pspec, &value); G_VALUE_LCOPY (&value, var_args, 0, &error); if (error) - { - g_warning ("%s: %s", G_STRLOC, error); - g_free (error); - g_value_unset (&value); - break; - } + { + g_warning ("%s: %s", G_STRLOC, error); + g_free (error); + g_value_unset (&value); + break; + } g_value_unset (&value); name = va_arg (var_args, gchar*); } @@ -2763,9 +2783,9 @@ gtk_cell_area_cell_get_valist (GtkCellArea *area, */ void gtk_cell_area_cell_set_property (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *property_name, - const GValue *value) + GtkCellRenderer *renderer, + const gchar *property_name, + const GValue *value) { GParamSpec *pspec; @@ -2773,15 +2793,15 @@ gtk_cell_area_cell_set_property (GtkCellArea *area, g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (property_name != NULL); g_return_if_fail (G_IS_VALUE (value)); - + pspec = g_param_spec_pool_lookup (cell_property_pool, property_name, - G_OBJECT_TYPE (area), TRUE); + G_OBJECT_TYPE (area), TRUE); if (!pspec) g_warning ("%s: cell area class `%s' has no cell property named `%s'", - G_STRLOC, G_OBJECT_TYPE_NAME (area), property_name); + G_STRLOC, G_OBJECT_TYPE_NAME (area), property_name); else if (!(pspec->flags & G_PARAM_WRITABLE)) g_warning ("%s: cell property `%s' of cell area class `%s' is not writable", - G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); else { area_set_cell_property (area, renderer, pspec, value); @@ -2801,9 +2821,9 @@ gtk_cell_area_cell_set_property (GtkCellArea *area, */ void gtk_cell_area_cell_get_property (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *property_name, - GValue *value) + GtkCellRenderer *renderer, + const gchar *property_name, + GValue *value) { GParamSpec *pspec; @@ -2811,15 +2831,15 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); g_return_if_fail (property_name != NULL); g_return_if_fail (G_IS_VALUE (value)); - + pspec = g_param_spec_pool_lookup (cell_property_pool, property_name, - G_OBJECT_TYPE (area), TRUE); + G_OBJECT_TYPE (area), TRUE); if (!pspec) g_warning ("%s: cell area class `%s' has no cell property named `%s'", - G_STRLOC, G_OBJECT_TYPE_NAME (area), property_name); + G_STRLOC, G_OBJECT_TYPE_NAME (area), property_name); else if (!(pspec->flags & G_PARAM_READABLE)) g_warning ("%s: cell property `%s' of cell area class `%s' is not readable", - G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); + G_STRLOC, pspec->name, G_OBJECT_TYPE_NAME (area)); else { GValue *prop_value, tmp_value = { 0, }; @@ -2827,31 +2847,31 @@ gtk_cell_area_cell_get_property (GtkCellArea *area, /* auto-conversion of the callers value type */ if (G_VALUE_TYPE (value) == G_PARAM_SPEC_VALUE_TYPE (pspec)) - { - g_value_reset (value); - prop_value = value; - } + { + g_value_reset (value); + prop_value = value; + } else if (!g_value_type_transformable (G_PARAM_SPEC_VALUE_TYPE (pspec), G_VALUE_TYPE (value))) - { - g_warning ("can't retrieve cell property `%s' of type `%s' as value of type `%s'", - pspec->name, - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), - G_VALUE_TYPE_NAME (value)); - return; - } + { + g_warning ("can't retrieve cell property `%s' of type `%s' as value of type `%s'", + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), + G_VALUE_TYPE_NAME (value)); + return; + } else - { - g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - prop_value = &tmp_value; - } + { + g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + prop_value = &tmp_value; + } area_get_cell_property (area, renderer, pspec, prop_value); if (prop_value != value) - { - g_value_transform (prop_value, value); - g_value_unset (&tmp_value); - } + { + g_value_transform (prop_value, value); + g_value_unset (&tmp_value); + } } } @@ -2897,7 +2917,7 @@ gtk_cell_area_is_activatable (GtkCellArea *area) */ gboolean gtk_cell_area_focus (GtkCellArea *area, - GtkDirectionType direction) + GtkDirectionType direction) { GtkCellAreaClass *class; @@ -2908,8 +2928,8 @@ gtk_cell_area_focus (GtkCellArea *area, if (class->focus) return class->focus (area, direction); - g_warning ("GtkCellAreaClass::focus not implemented for `%s'", - g_type_name (G_TYPE_FROM_INSTANCE (area))); + g_warning ("GtkCellAreaClass::focus not implemented for `%s'", + g_type_name (G_TYPE_FROM_INSTANCE (area))); return FALSE; } @@ -2934,11 +2954,11 @@ gtk_cell_area_focus (GtkCellArea *area, */ gboolean gtk_cell_area_activate (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean edit_only) + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean edit_only) { g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); @@ -2961,7 +2981,7 @@ gtk_cell_area_activate (GtkCellArea *area, */ void gtk_cell_area_set_focus_cell (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellAreaPrivate *priv; @@ -2973,12 +2993,12 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area, if (priv->focus_cell != renderer) { if (priv->focus_cell) - g_object_unref (priv->focus_cell); + g_object_unref (priv->focus_cell); priv->focus_cell = renderer; if (priv->focus_cell) - g_object_ref (priv->focus_cell); + g_object_ref (priv->focus_cell); g_object_notify (G_OBJECT (area), "focus-cell"); } @@ -2986,8 +3006,8 @@ gtk_cell_area_set_focus_cell (GtkCellArea *area, /* Signal that the current focus renderer for this path changed * (it may be that the focus cell did not change, but the row * may have changed so we need to signal it) */ - g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_CHANGED], 0, - priv->focus_cell, priv->current_path); + g_signal_emit (area, cell_area_signals[SIGNAL_FOCUS_CHANGED], 0, + priv->focus_cell, priv->current_path); } @@ -3025,7 +3045,7 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) * @sibling: the #GtkCellRenderer to add to @renderer's focus area * * Adds @sibling to @renderer's focusable area, focus will be drawn - * around @renderer and all of it's siblings if @renderer can + * around @renderer and all of it's siblings if @renderer can * focus for a given row. * * Events handled by focus siblings can also activate the given @@ -3035,8 +3055,8 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area) */ void gtk_cell_area_add_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling) + GtkCellRenderer *renderer, + GtkCellRenderer *sibling) { GtkCellAreaPrivate *priv; GList *siblings; @@ -3072,16 +3092,16 @@ gtk_cell_area_add_focus_sibling (GtkCellArea *area, * @area: a #GtkCellArea * @renderer: the #GtkCellRenderer expected to have focus * @sibling: the #GtkCellRenderer to remove from @renderer's focus area - * - * Removes @sibling from @renderer's focus sibling list + * + * Removes @sibling from @renderer's focus sibling list * (see gtk_cell_area_add_focus_sibling()). * * Since: 3.0 */ void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling) + GtkCellRenderer *renderer, + GtkCellRenderer *sibling) { GtkCellAreaPrivate *priv; GList *siblings; @@ -3109,7 +3129,7 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea *area, * @area: a #GtkCellArea * @renderer: the #GtkCellRenderer expected to have focus * @sibling: the #GtkCellRenderer to check against @renderer's sibling list - * + * * Returns %TRUE if @sibling is one of @renderer's focus siblings * (see gtk_cell_area_add_focus_sibling()). * @@ -3117,8 +3137,8 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea *area, */ gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling) + GtkCellRenderer *renderer, + GtkCellRenderer *sibling) { GtkCellAreaPrivate *priv; GList *siblings, *l; @@ -3136,7 +3156,7 @@ gtk_cell_area_is_focus_sibling (GtkCellArea *area, GtkCellRenderer *a_sibling = l->data; if (a_sibling == sibling) - return TRUE; + return TRUE; } return FALSE; @@ -3149,14 +3169,14 @@ gtk_cell_area_is_focus_sibling (GtkCellArea *area, * * Gets the focus sibling cell renderers for @renderer. * - * Return value: (element-type GtkCellRenderer) (transfer none): A #GList of #GtkCellRenderers. + * Return value: (element-type GtkCellRenderer) (transfer none): A #GList of #GtkCellRenderers. * The returned list is internal and should not be freed. * * Since: 3.0 */ const GList * gtk_cell_area_get_focus_siblings (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellAreaPrivate *priv; @@ -3165,7 +3185,7 @@ gtk_cell_area_get_focus_siblings (GtkCellArea *area, priv = area->priv; - return g_hash_table_lookup (priv->focus_siblings, renderer); + return g_hash_table_lookup (priv->focus_siblings, renderer); } /** @@ -3187,7 +3207,7 @@ gtk_cell_area_get_focus_siblings (GtkCellArea *area, */ GtkCellRenderer * gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellRenderer *ret_renderer = NULL; GList *renderers, *l; @@ -3202,17 +3222,17 @@ gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, GtkCellRenderer *a_renderer = l->data; const GList *list; - for (list = gtk_cell_area_get_focus_siblings (area, a_renderer); - list; list = list->next) - { - GtkCellRenderer *sibling_renderer = list->data; + for (list = gtk_cell_area_get_focus_siblings (area, a_renderer); + list; list = list->next) + { + GtkCellRenderer *sibling_renderer = list->data; - if (sibling_renderer == renderer) - { - ret_renderer = a_renderer; - break; - } - } + if (sibling_renderer == renderer) + { + ret_renderer = a_renderer; + break; + } + } } g_list_free (renderers); @@ -3224,25 +3244,25 @@ gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, *************************************************************/ static void gtk_cell_area_add_editable (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable, - const GdkRectangle *cell_area) + GtkCellRenderer *renderer, + GtkCellEditable *editable, + const GdkRectangle *cell_area) { - g_signal_emit (area, cell_area_signals[SIGNAL_ADD_EDITABLE], 0, - renderer, editable, cell_area, area->priv->current_path); + g_signal_emit (area, cell_area_signals[SIGNAL_ADD_EDITABLE], 0, + renderer, editable, cell_area, area->priv->current_path); } static void gtk_cell_area_remove_editable (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellEditable *editable) + GtkCellRenderer *renderer, + GtkCellEditable *editable) { g_signal_emit (area, cell_area_signals[SIGNAL_REMOVE_EDITABLE], 0, renderer, editable); } static void cell_area_remove_widget_cb (GtkCellEditable *editable, - GtkCellArea *area) + GtkCellArea *area) { GtkCellAreaPrivate *priv = area->priv; @@ -3259,7 +3279,7 @@ cell_area_remove_widget_cb (GtkCellEditable *editable, static void gtk_cell_area_set_edited_cell (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellAreaPrivate *priv; @@ -3271,12 +3291,12 @@ gtk_cell_area_set_edited_cell (GtkCellArea *area, if (priv->edited_cell != renderer) { if (priv->edited_cell) - g_object_unref (priv->edited_cell); + g_object_unref (priv->edited_cell); priv->edited_cell = renderer; if (priv->edited_cell) - g_object_ref (priv->edited_cell); + g_object_ref (priv->edited_cell); g_object_notify (G_OBJECT (area), "edited-cell"); } @@ -3284,7 +3304,7 @@ gtk_cell_area_set_edited_cell (GtkCellArea *area, static void gtk_cell_area_set_edit_widget (GtkCellArea *area, - GtkCellEditable *editable) + GtkCellEditable *editable) { GtkCellAreaPrivate *priv; @@ -3296,22 +3316,22 @@ gtk_cell_area_set_edit_widget (GtkCellArea *area, if (priv->edit_widget != editable) { if (priv->edit_widget) - { - g_signal_handler_disconnect (priv->edit_widget, priv->remove_widget_id); + { + g_signal_handler_disconnect (priv->edit_widget, priv->remove_widget_id); - g_object_unref (priv->edit_widget); - } + g_object_unref (priv->edit_widget); + } priv->edit_widget = editable; if (priv->edit_widget) - { - priv->remove_widget_id = - g_signal_connect (priv->edit_widget, "remove-widget", - G_CALLBACK (cell_area_remove_widget_cb), area); + { + priv->remove_widget_id = + g_signal_connect (priv->edit_widget, "remove-widget", + G_CALLBACK (cell_area_remove_widget_cb), area); - g_object_ref (priv->edit_widget); - } + g_object_ref (priv->edit_widget); + } g_object_notify (G_OBJECT (area), "edit-widget"); } @@ -3384,15 +3404,15 @@ gtk_cell_area_get_edit_widget (GtkCellArea *area) */ gboolean gtk_cell_area_activate_cell (GtkCellArea *area, - GtkWidget *widget, - GtkCellRenderer *renderer, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags) + GtkWidget *widget, + GtkCellRenderer *renderer, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags) { GtkCellRendererMode mode; GtkCellAreaPrivate *priv; - + g_return_val_if_fail (GTK_IS_CELL_AREA (area), FALSE); g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); g_return_val_if_fail (GTK_IS_CELL_RENDERER (renderer), FALSE); @@ -3405,12 +3425,12 @@ gtk_cell_area_activate_cell (GtkCellArea *area, if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) { if (gtk_cell_renderer_activate (renderer, - event, widget, - priv->current_path, - cell_area, - cell_area, - flags)) - return TRUE; + event, widget, + priv->current_path, + cell_area, + cell_area, + flags)) + return TRUE; } else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) { @@ -3418,43 +3438,43 @@ gtk_cell_area_activate_cell (GtkCellArea *area, GdkRectangle inner_area; gtk_cell_area_inner_cell_area (area, widget, cell_area, &inner_area); - + editable_widget = - gtk_cell_renderer_start_editing (renderer, - event, widget, - priv->current_path, - &inner_area, - &inner_area, - flags); - + gtk_cell_renderer_start_editing (renderer, + event, widget, + priv->current_path, + &inner_area, + &inner_area, + flags); + if (editable_widget != NULL) - { - g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); - - gtk_cell_area_set_edited_cell (area, renderer); - gtk_cell_area_set_edit_widget (area, editable_widget); - - /* Signal that editing started so that callers can get - * a handle on the editable_widget */ - gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, cell_area); + { + g_return_val_if_fail (GTK_IS_CELL_EDITABLE (editable_widget), FALSE); - /* If the signal was successfully handled start the editing */ - if (gtk_widget_get_parent (GTK_WIDGET (editable_widget))) - { - gtk_cell_editable_start_editing (editable_widget, NULL); - gtk_widget_grab_focus (GTK_WIDGET (editable_widget)); - } - else - { - /* Otherwise clear the editing state and fire a warning */ - gtk_cell_area_set_edited_cell (area, NULL); - gtk_cell_area_set_edit_widget (area, NULL); + gtk_cell_area_set_edited_cell (area, renderer); + gtk_cell_area_set_edit_widget (area, editable_widget); - g_warning ("GtkCellArea::add-editable fired in the dark, no cell editing was started."); - } - - return TRUE; - } + /* Signal that editing started so that callers can get + * a handle on the editable_widget */ + gtk_cell_area_add_editable (area, priv->focus_cell, editable_widget, cell_area); + + /* If the signal was successfully handled start the editing */ + if (gtk_widget_get_parent (GTK_WIDGET (editable_widget))) + { + gtk_cell_editable_start_editing (editable_widget, NULL); + gtk_widget_grab_focus (GTK_WIDGET (editable_widget)); + } + else + { + /* Otherwise clear the editing state and fire a warning */ + gtk_cell_area_set_edited_cell (area, NULL); + gtk_cell_area_set_edit_widget (area, NULL); + + g_warning ("GtkCellArea::add-editable fired in the dark, no cell editing was started."); + } + + return TRUE; + } } return FALSE; @@ -3475,7 +3495,7 @@ gtk_cell_area_activate_cell (GtkCellArea *area, */ void gtk_cell_area_stop_editing (GtkCellArea *area, - gboolean canceled) + gboolean canceled) { GtkCellAreaPrivate *priv; @@ -3490,7 +3510,7 @@ gtk_cell_area_stop_editing (GtkCellArea *area, /* Stop editing of the cell renderer */ gtk_cell_renderer_stop_editing (priv->edited_cell, canceled); - + /* Remove any references to the editable widget */ gtk_cell_area_set_edited_cell (area, NULL); gtk_cell_area_set_edit_widget (area, NULL); @@ -3512,7 +3532,7 @@ gtk_cell_area_stop_editing (GtkCellArea *area, * gtk_cell_area_inner_cell_area: * @area: a #GtkCellArea * @widget: the #GtkWidget that @area is rendering onto - * @cell_area: the @widget relative coordinates where one of @area's cells + * @cell_area: the @widget relative coordinates where one of @area's cells * is to be placed * @inner_area: (out): the return location for the inner cell area * @@ -3524,9 +3544,9 @@ gtk_cell_area_stop_editing (GtkCellArea *area, */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, - GtkWidget *widget, - const GdkRectangle *cell_area, - GdkRectangle *inner_area) + GtkWidget *widget, + const GdkRectangle *cell_area, + GdkRectangle *inner_area) { gint focus_line_width; @@ -3566,12 +3586,12 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area, */ void gtk_cell_area_request_renderer (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkOrientation orientation, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) + GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellAreaPrivate *priv; gint focus_line_width; @@ -3591,26 +3611,26 @@ gtk_cell_area_request_renderer (GtkCellArea *area, if (orientation == GTK_ORIENTATION_HORIZONTAL) { if (for_size < 0) - gtk_cell_renderer_get_preferred_width (renderer, widget, minimum_size, natural_size); + gtk_cell_renderer_get_preferred_width (renderer, widget, minimum_size, natural_size); else - { - for_size = MAX (0, for_size - focus_line_width); + { + for_size = MAX (0, for_size - focus_line_width); - gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, for_size, - minimum_size, natural_size); - } + gtk_cell_renderer_get_preferred_width_for_height (renderer, widget, for_size, + minimum_size, natural_size); + } } else /* GTK_ORIENTATION_VERTICAL */ { if (for_size < 0) - gtk_cell_renderer_get_preferred_height (renderer, widget, minimum_size, natural_size); + gtk_cell_renderer_get_preferred_height (renderer, widget, minimum_size, natural_size); else - { - for_size = MAX (0, for_size - focus_line_width); + { + for_size = MAX (0, for_size - focus_line_width); - gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, for_size, - minimum_size, natural_size); - } + gtk_cell_renderer_get_preferred_height_for_width (renderer, widget, for_size, + minimum_size, natural_size); + } } *minimum_size += focus_line_width; diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index f9c1c45b90..d8d06cfecc 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -34,10 +34,10 @@ G_BEGIN_DECLS -#define GTK_TYPE_CELL_AREA (gtk_cell_area_get_type ()) -#define GTK_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA, GtkCellArea)) -#define GTK_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) -#define GTK_IS_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA)) +#define GTK_TYPE_CELL_AREA (gtk_cell_area_get_type ()) +#define GTK_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA, GtkCellArea)) +#define GTK_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) +#define GTK_IS_CELL_AREA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA)) #define GTK_IS_CELL_AREA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA)) #define GTK_CELL_AREA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA, GtkCellAreaClass)) @@ -49,7 +49,7 @@ typedef struct _GtkCellAreaContext GtkCellAreaContext; /** * GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID: * @object: the #GObject on which set_cell_property() or get_get_property() - * was called + * was called * @property_id: the numeric id of the property * @pspec: the #GParamSpec of the property * @@ -70,26 +70,27 @@ typedef struct _GtkCellAreaContext GtkCellAreaContext; * Return value: %TRUE to stop iterating over cells. */ typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, - gpointer data); + gpointer data); /** * GtkCellAllocCallback: * @renderer: the cell renderer to operate on - * @cell_area: the area allocated to @renderer inside the rectangle provided to gtk_cell_area_foreach_alloc(). - * @cell_background: the background area for @renderer inside the background - * area provided to gtk_cell_area_foreach_alloc(). + * @cell_area: the area allocated to @renderer inside the rectangle + * provided to gtk_cell_area_foreach_alloc(). + * @cell_background: the background area for @renderer inside the + * background area provided to gtk_cell_area_foreach_alloc(). * @data: user-supplied data * - * The type of the callback functions used for iterating over - * the cell renderers and their allocated areas inside a #GtkCellArea, + * The type of the callback functions used for iterating over the + * cell renderers and their allocated areas inside a #GtkCellArea, * see gtk_cell_area_foreach_alloc(). * * Return value: %TRUE to stop iterating over cells. */ typedef gboolean (*GtkCellAllocCallback) (GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - const GdkRectangle *cell_background, - gpointer data); + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + gpointer data); struct _GtkCellArea @@ -105,60 +106,71 @@ struct _GtkCellArea * GtkCellAreaClass: * @add: adds a #GtkCellRenderer to the area. * @remove: removes a #GtkCellRenderer from the area. - * @foreach: Calls the #GtkCellCallback function on every #GtkCellRenderer in the area - * with the provided user data until the callback returns %TRUE. - * @foreach_alloc: Calls the #GtkCellAllocCallback function on every #GtkCellRenderer in the area - * with the allocated area for the cell and the provided user data until the callback returns %TRUE. - * @event: Handle an event in the area, this is generally used to activate a cell - * at the event location for button events but can also be used to generically pass - * events to #GtkWidgets drawn onto the area. - * @render: Actually render the area's cells to the specified rectangle, @background_area - * should be correctly distributed to the cells coresponding background areas. - * @apply_attributes: Apply the cell attributes to the cells. This is implemented as a signal and - * generally #GtkCellArea subclasses dont need to implement this since it's handled by the base - * class but can be overridden to apply some custom attributes. - * @create_context: Creates and returns a class specific #GtkCellAreaContext to store cell - * alignment and allocation details for a said #GtkCellArea class. - * @copy_context: Creates a new #GtkCellAreaContext in the same state as the passed @context - * with any cell alignment data and allocations in tact. - * @get_request_mode: This allows an area to tell its layouting widget whether it prefers to - * be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. - * @get_preferred_width: Calculates the minimum and natural width of the area's cells - * with the current attributes applied while considering the particular layouting details - * of the said #GtkCellArea. While requests are performed over a series of rows, alignments - * and overall minimum and natural sizes should be stored in the corresponding #GtkCellAreaContext. - * @get_preferred_height_for_width: Calculates the minimum and natural height for the area - * if the passed @context would be allocated the given width. When implementing this virtual - * method it is safe to assume that @context has already stored the aligned cell widths - * for every #GtkTreeModel row that @context will be allocated for since this information - * was stored at #GtkCellAreaClass.get_preferred_width() time. This virtual method should - * also store any necessary alignments of cell heights for the case that the context is - * allocated a height. - * @get_preferred_height: Calculates the minimum and natural height of the area's cells - * with the current attributes applied. Essentially this is the same as - * #GtkCellAreaClass.get_preferred_width() only for areas that are being requested as - * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT. - * @get_preferred_width_for_height: Calculates the minimum and natural width for the area - * if the passed @context would be allocated the given height. The same as - * #GtkCellAreaClass.get_preferred_height_for_width() only for handling requests in the - * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. - * @set_cell_property: This should be implemented to handle changes in child cell properties - * for a given #GtkCellRenderer that were previously installed on the #GtkCellAreaClass with - * gtk_cell_area_class_install_cell_property(). - * @get_cell_property: This should be implemented to report the values of child cell properties - * for a given child #GtkCellRenderer. - * @focus: This virtual method should be implemented to navigate focus from cell to cell - * inside the #GtkCellArea. The #GtkCellArea should move focus from cell to cell inside - * the area and return %FALSE if focus logically leaves the area with the following exceptions: - * When the area contains no activatable cells, the entire area recieves focus. Focus should not - * be given to cells that are actually "focus siblings" of other sibling cells - * (see gtk_cell_area_get_focus_from_sibling()). Focus is set by calling gtk_cell_area_set_focus_cell(). - * @is_activatable: Returns whether the #GtkCellArea can respond to #GtkCellAreaClass.activate(), - * usually this does not need to be implemented since the base class takes care of this however - * it can be enhanced if the #GtkCellArea subclass can handle activation in other ways than - * activating its #GtkCellRenderers. - * @activate: This is called when the layouting widget rendering the #GtkCellArea activates - * the focus cell (see gtk_cell_area_get_focus_cell()). + * @foreach: calls the #GtkCellCallback function on every #GtkCellRenderer in + * the area with the provided user data until the callback returns %TRUE. + * @foreach_alloc: Calls the #GtkCellAllocCallback function on every + * #GtkCellRenderer in the area with the allocated area for the cell + * and the provided user data until the callback returns %TRUE. + * @event: Handle an event in the area, this is generally used to activate + * a cell at the event location for button events but can also be used + * to generically pass events to #GtkWidgets drawn onto the area. + * @render: Actually render the area's cells to the specified rectangle, + * @background_area should be correctly distributed to the cells + * corresponding background areas. + * @apply_attributes: Apply the cell attributes to the cells. This is + * implemented as a signal and generally #GtkCellArea subclasses don't + * need to implement it since it is handled by the base class. + * @create_context: Creates and returns a class specific #GtkCellAreaContext + * to store cell alignment and allocation details for a said #GtkCellArea + * class. + * @copy_context: Creates a new #GtkCellAreaContext in the same state as + * the passed @context with any cell alignment data and allocations intact. + * @get_request_mode: This allows an area to tell its layouting widget whether + * it prefers to be allocated in %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH or + * %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT mode. + * @get_preferred_width: Calculates the minimum and natural width of the + * areas cells with the current attributes applied while considering + * the particular layouting details of the said #GtkCellArea. While + * requests are performed over a series of rows, alignments and overall + * minimum and natural sizes should be stored in the corresponding + * #GtkCellAreaContext. + * @get_preferred_height_for_width: Calculates the minimum and natural height + * for the area if the passed @context would be allocated the given width. + * When implementing this virtual method it is safe to assume that @context + * has already stored the aligned cell widths for every #GtkTreeModel row + * that @context will be allocated for since this information was stored + * at #GtkCellAreaClass.get_preferred_width() time. This virtual method + * should also store any necessary alignments of cell heights for the + * case that the context is allocated a height. + * @get_preferred_height: Calculates the minimum and natural height of the + * areas cells with the current attributes applied. Essentially this is + * the same as #GtkCellAreaClass.get_preferred_width() only for areas + * that are being requested as %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT. + * @get_preferred_width_for_height: Calculates the minimum and natural width + * for the area if the passed @context would be allocated the given + * height. The same as #GtkCellAreaClass.get_preferred_height_for_width() + * only for handling requests in the %GTK_SIZE_REQUEST_WIDTH_FOR_HEIGHT + * mode. + * @set_cell_property: This should be implemented to handle changes in child + * cell properties for a given #GtkCellRenderer that were previously + * installed on the #GtkCellAreaClass with gtk_cell_area_class_install_cell_property(). + * @get_cell_property: This should be implemented to report the values of + * child cell properties for a given child #GtkCellRenderer. + * @focus: This virtual method should be implemented to navigate focus from + * cell to cell inside the #GtkCellArea. The #GtkCellArea should move + * focus from cell to cell inside the area and return %FALSE if focus + * logically leaves the area with the following exceptions: When the + * area contains no activatable cells, the entire area recieves focus. + * Focus should not be given to cells that are actually "focus siblings" + * of other sibling cells (see gtk_cell_area_get_focus_from_sibling()). + * Focus is set by calling gtk_cell_area_set_focus_cell(). + * @is_activatable: Returns whether the #GtkCellArea can respond to + * #GtkCellAreaClass.activate(), usually this does not need to be + * implemented since the base class takes care of this however it can + * be enhanced if the #GtkCellArea subclass can handle activation in + * other ways than activating its #GtkCellRenderers. + * @activate: This is called when the layouting widget rendering the + * #GtkCellArea activates the focus cell (see gtk_cell_area_get_focus_cell()). */ struct _GtkCellAreaClass { @@ -169,62 +181,62 @@ struct _GtkCellAreaClass /* Basic methods */ void (* add) (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); void (* remove) (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); void (* foreach) (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); + GtkCellCallback callback, + gpointer callback_data); void (* foreach_alloc) (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - const GdkRectangle *background_area, - GtkCellAllocCallback callback, - gpointer callback_data); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + const GdkRectangle *background_area, + GtkCellAllocCallback callback, + gpointer callback_data); gint (* event) (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellAreaContext *context, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); void (* render) (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus); + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus); void (* apply_attributes) (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded); + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); /* Geometry */ GtkCellAreaContext *(* create_context) (GtkCellArea *area); GtkCellAreaContext *(* copy_context) (GtkCellArea *area, - GtkCellAreaContext *context); + GtkCellAreaContext *context); GtkSizeRequestMode (* get_request_mode) (GtkCellArea *area); void (* get_preferred_width) (GtkCellArea *area, - GtkCellAreaContext *context, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_width, gint *natural_width); void (* get_preferred_height_for_width) (GtkCellArea *area, - GtkCellAreaContext *context, + GtkCellAreaContext *context, GtkWidget *widget, gint width, gint *minimum_height, gint *natural_height); void (* get_preferred_height) (GtkCellArea *area, - GtkCellAreaContext *context, + GtkCellAreaContext *context, GtkWidget *widget, gint *minimum_height, gint *natural_height); void (* get_preferred_width_for_height) (GtkCellArea *area, - GtkCellAreaContext *context, + GtkCellAreaContext *context, GtkWidget *widget, gint height, gint *minimum_width, @@ -232,26 +244,26 @@ struct _GtkCellAreaClass /* Cell Properties */ void (* set_cell_property) (GtkCellArea *area, - GtkCellRenderer *renderer, - guint property_id, - const GValue *value, - GParamSpec *pspec); + GtkCellRenderer *renderer, + guint property_id, + const GValue *value, + GParamSpec *pspec); void (* get_cell_property) (GtkCellArea *area, - GtkCellRenderer *renderer, - guint property_id, - GValue *value, - GParamSpec *pspec); + GtkCellRenderer *renderer, + guint property_id, + GValue *value, + GParamSpec *pspec); /* Focus */ gboolean (* focus) (GtkCellArea *area, - GtkDirectionType direction); + GtkDirectionType direction); gboolean (* is_activatable) (GtkCellArea *area); gboolean (* activate) (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean edit_only); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean edit_only); /*< private >*/ @@ -270,193 +282,193 @@ GType gtk_cell_area_get_type (void) G_GNUC /* Basic methods */ void gtk_cell_area_add (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); void gtk_cell_area_remove (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); gboolean gtk_cell_area_has_renderer (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); void gtk_cell_area_foreach (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); + GtkCellCallback callback, + gpointer callback_data); void gtk_cell_area_foreach_alloc (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - const GdkRectangle *background_area, - GtkCellAllocCallback callback, - gpointer callback_data); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + const GdkRectangle *background_area, + GtkCellAllocCallback callback, + gpointer callback_data); gint gtk_cell_area_event (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellAreaContext *context, + GtkWidget *widget, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); void gtk_cell_area_render (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - cairo_t *cr, - const GdkRectangle *background_area, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean paint_focus); + GtkCellAreaContext *context, + GtkWidget *widget, + cairo_t *cr, + const GdkRectangle *background_area, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean paint_focus); void gtk_cell_area_set_style_detail (GtkCellArea *area, - const gchar *detail); + const gchar *detail); G_CONST_RETURN gchar *gtk_cell_area_get_style_detail (GtkCellArea *area); void gtk_cell_area_get_cell_allocation (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - GtkCellRenderer *renderer, - const GdkRectangle *cell_area, - GdkRectangle *allocation); + GtkCellAreaContext *context, + GtkWidget *widget, + GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + GdkRectangle *allocation); GtkCellRenderer *gtk_cell_area_get_cell_at_position (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - gint x, - gint y, - GdkRectangle *alloc_area); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + gint x, + gint y, + GdkRectangle *alloc_area); /* Geometry */ GtkCellAreaContext *gtk_cell_area_create_context (GtkCellArea *area); GtkCellAreaContext *gtk_cell_area_copy_context (GtkCellArea *area, - GtkCellAreaContext *context); + GtkCellAreaContext *context); GtkSizeRequestMode gtk_cell_area_get_request_mode (GtkCellArea *area); void gtk_cell_area_get_preferred_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_width, - gint *natural_width); + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width); void gtk_cell_area_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); + GtkCellAreaContext *context, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); void gtk_cell_area_get_preferred_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_height, - gint *natural_height); + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height); void gtk_cell_area_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); + GtkCellAreaContext *context, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); G_CONST_RETURN gchar *gtk_cell_area_get_current_path_string (GtkCellArea *area); /* Attributes */ void gtk_cell_area_apply_attributes (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded); + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); void gtk_cell_area_attribute_connect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column); + GtkCellRenderer *renderer, + const gchar *attribute, + gint column); void gtk_cell_area_attribute_disconnect (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *attribute); + GtkCellRenderer *renderer, + const gchar *attribute); /* Cell Properties */ void gtk_cell_area_class_install_cell_property (GtkCellAreaClass *aclass, - guint property_id, - GParamSpec *pspec); + guint property_id, + GParamSpec *pspec); GParamSpec* gtk_cell_area_class_find_cell_property (GtkCellAreaClass *aclass, - const gchar *property_name); + const gchar *property_name); GParamSpec** gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, - guint *n_properties); + guint *n_properties); void gtk_cell_area_add_with_properties (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) G_GNUC_NULL_TERMINATED; + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; void gtk_cell_area_cell_set (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) G_GNUC_NULL_TERMINATED; + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; void gtk_cell_area_cell_get (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_prop_name, - ...) G_GNUC_NULL_TERMINATED; + GtkCellRenderer *renderer, + const gchar *first_prop_name, + ...) G_GNUC_NULL_TERMINATED; void gtk_cell_area_cell_set_valist (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_property_name, - va_list var_args); + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args); void gtk_cell_area_cell_get_valist (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *first_property_name, - va_list var_args); + GtkCellRenderer *renderer, + const gchar *first_property_name, + va_list var_args); void gtk_cell_area_cell_set_property (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *property_name, - const GValue *value); + GtkCellRenderer *renderer, + const gchar *property_name, + const GValue *value); void gtk_cell_area_cell_get_property (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *property_name, - GValue *value); + GtkCellRenderer *renderer, + const gchar *property_name, + GValue *value); /* Focus */ gboolean gtk_cell_area_is_activatable (GtkCellArea *area); gboolean gtk_cell_area_activate (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - GtkCellRendererState flags, - gboolean edit_only); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + GtkCellRendererState flags, + gboolean edit_only); gboolean gtk_cell_area_focus (GtkCellArea *area, - GtkDirectionType direction); + GtkDirectionType direction); void gtk_cell_area_set_focus_cell (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_cell (GtkCellArea *area); /* Focus siblings */ void gtk_cell_area_add_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling); + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); void gtk_cell_area_remove_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling); + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); gboolean gtk_cell_area_is_focus_sibling (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkCellRenderer *sibling); + GtkCellRenderer *renderer, + GtkCellRenderer *sibling); G_CONST_RETURN GList *gtk_cell_area_get_focus_siblings (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); GtkCellRenderer *gtk_cell_area_get_focus_from_sibling (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); /* Cell Activation/Editing */ GtkCellRenderer *gtk_cell_area_get_edited_cell (GtkCellArea *area); GtkCellEditable *gtk_cell_area_get_edit_widget (GtkCellArea *area); gboolean gtk_cell_area_activate_cell (GtkCellArea *area, - GtkWidget *widget, - GtkCellRenderer *renderer, - GdkEvent *event, - const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkWidget *widget, + GtkCellRenderer *renderer, + GdkEvent *event, + const GdkRectangle *cell_area, + GtkCellRendererState flags); void gtk_cell_area_stop_editing (GtkCellArea *area, - gboolean canceled); + gboolean canceled); /* Functions for area implementations */ /* Distinguish the inner cell area from the whole requested area including margins */ void gtk_cell_area_inner_cell_area (GtkCellArea *area, - GtkWidget *widget, - const GdkRectangle *cell_area, - GdkRectangle *inner_area); + GtkWidget *widget, + const GdkRectangle *cell_area, + GdkRectangle *inner_area); /* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */ void gtk_cell_area_request_renderer (GtkCellArea *area, - GtkCellRenderer *renderer, - GtkOrientation orientation, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size); + GtkCellRenderer *renderer, + GtkOrientation orientation, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); G_END_DECLS diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index b1818ec919..90a0a07233 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -24,25 +24,27 @@ /** * SECTION:gtkcellareabox - * @Short_Description: A cell area that renders GtkCellRenderers into a row or a column + * @Short_Description: A cell area that renders GtkCellRenderers + * into a row or a column * @Title: GtkCellAreaBox * - * The #GtkCellAreaBox renders cell renderers into a row or a column depending on - * its #GtkOrientation. + * The #GtkCellAreaBox renders cell renderers into a row or a column + * depending on its #GtkOrientation. * * GtkCellAreaBox uses a notion of packing. Packing - * refers to adding cell renderers with reference to a particular position + * refers to adding cell renderers with reference to a particular position * in a #GtkCellAreaBox. There are two reference positions: the * start and the end of the box. - * When the #GtkCellAreaBox is oriented in the %GTK_ORIENTATION_VERTICAL orientation, - * the start is defined as the top of the box and the end is defined as the bottom. - * In the %GTK_ORIENTATION_HORIZONTAL orientation start is defined as the - * left side and the end is defined as the right side. + * When the #GtkCellAreaBox is oriented in the %GTK_ORIENTATION_VERTICAL + * orientation, the start is defined as the top of the box and the end is + * defined as the bottom. In the %GTK_ORIENTATION_HORIZONTAL orientation + * start is defined as the left side and the end is defined as the right + * side. * - * Alignments of #GtkCellRenderers rendered in adjacent rows can be configured - * by configuring the #GtkCellAreaBox:align child cell property with - * gtk_cell_area_cell_set_property() or by specifying the "align" argument - * to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end(). + * Alignments of #GtkCellRenderers rendered in adjacent rows can be + * configured by configuring the #GtkCellAreaBox:align child cell property + * with gtk_cell_area_cell_set_property() or by specifying the "align" + * argument to gtk_cell_area_box_pack_start() and gtk_cell_area_box_pack_end(). */ #include "config.h" @@ -58,82 +60,82 @@ static void gtk_cell_area_box_finalize (GObject *object); static void gtk_cell_area_box_dispose (GObject *object); static void gtk_cell_area_box_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_cell_area_box_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); /* GtkCellAreaClass */ static void gtk_cell_area_box_add (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); static void gtk_cell_area_box_remove (GtkCellArea *area, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); static void gtk_cell_area_box_foreach (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data); + GtkCellCallback callback, + gpointer callback_data); static void gtk_cell_area_box_foreach_alloc (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - const GdkRectangle *background_area, - GtkCellAllocCallback callback, - gpointer callback_data); + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + const GdkRectangle *background_area, + GtkCellAllocCallback callback, + gpointer callback_data); static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + GtkCellRenderer *renderer, + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_cell_area_box_get_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - guint prop_id, - GValue *value, - GParamSpec *pspec); + GtkCellRenderer *renderer, + guint prop_id, + GValue *value, + GParamSpec *pspec); static GtkCellAreaContext *gtk_cell_area_box_create_context (GtkCellArea *area); static GtkCellAreaContext *gtk_cell_area_box_copy_context (GtkCellArea *area, - GtkCellAreaContext *context); + GtkCellAreaContext *context); static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area); static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_width, - gint *natural_width); + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width); static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_height, - gint *natural_height); + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height); static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height); + GtkCellAreaContext *context, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height); static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width); + GtkCellAreaContext *context, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width); static gboolean gtk_cell_area_box_focus (GtkCellArea *area, - GtkDirectionType direction); + GtkDirectionType direction); /* GtkCellLayoutIface */ static void gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface); static void gtk_cell_area_box_layout_pack_start (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand); + GtkCellRenderer *renderer, + gboolean expand); static void gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand); + GtkCellRenderer *renderer, + gboolean expand); static void gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gint position); + GtkCellRenderer *renderer, + gint position); static void gtk_cell_area_box_focus_changed (GtkCellArea *area, - GParamSpec *pspec, - GtkCellAreaBox *box); + GParamSpec *pspec, + GtkCellAreaBox *box); /* CellInfo/CellGroup metadata handling and convenience functions */ @@ -141,8 +143,8 @@ typedef struct { GtkCellRenderer *renderer; guint expand : 1; /* Whether the cell expands */ - guint pack : 1; /* Whether the cell is packed from the start or end */ - guint align : 1; /* Whether to align this cell's position with adjacent rows */ + guint pack : 1; /* Whether it is packed from the start or end */ + guint align : 1; /* Whether to align its position with adjacent rows */ } CellInfo; typedef struct { @@ -160,31 +162,31 @@ typedef struct { gint size; } AllocatedCell; -static CellInfo *cell_info_new (GtkCellRenderer *renderer, - GtkPackType pack, - gboolean expand, - gboolean align); +static CellInfo *cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, + gboolean expand, + gboolean align); static void cell_info_free (CellInfo *info); static gint cell_info_find (CellInfo *info, - GtkCellRenderer *renderer); + GtkCellRenderer *renderer); static AllocatedCell *allocated_cell_new (GtkCellRenderer *renderer, - gint position, - gint size); + gint position, + gint size); static void allocated_cell_free (AllocatedCell *cell); static GList *list_consecutive_cells (GtkCellAreaBox *box); static gint count_expand_groups (GtkCellAreaBox *box); static void context_weak_notify (GtkCellAreaBox *box, - GtkCellAreaBoxContext *dead_context); + GtkCellAreaBoxContext *dead_context); static void reset_contexts (GtkCellAreaBox *box); static void init_context_groups (GtkCellAreaBox *box); static void init_context_group (GtkCellAreaBox *box, - GtkCellAreaBoxContext *context); + GtkCellAreaBoxContext *context); static GSList *get_allocated_cells (GtkCellAreaBox *box, - GtkCellAreaBoxContext *context, - GtkWidget *widget, - gint width, - gint height); + GtkCellAreaBoxContext *context, + GtkWidget *widget, + gint width, + gint height); struct _GtkCellAreaBoxPrivate @@ -193,7 +195,8 @@ struct _GtkCellAreaBoxPrivate /* We hold on to the previously focused cell when navigating * up and down in a horizontal box (or left and right on a vertical one) - * this way we always re-enter the last focused cell. */ + * this way we always re-enter the last focused cell. + */ GtkCellRenderer *last_focus_cell; gulong focus_cell_id; @@ -205,7 +208,8 @@ struct _GtkCellAreaBoxPrivate gint spacing; /* We hold on to the rtl state from a widget we are requested for - * so that we can navigate focus correctly */ + * so that we can navigate focus correctly + */ gboolean rtl; }; @@ -223,12 +227,12 @@ enum { }; G_DEFINE_TYPE_WITH_CODE (GtkCellAreaBox, gtk_cell_area_box, GTK_TYPE_CELL_AREA, - G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, - gtk_cell_area_box_cell_layout_init) - G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_cell_area_box_cell_layout_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); -#define OPPOSITE_ORIENTATION(orientation) \ - ((orientation) == GTK_ORIENTATION_HORIZONTAL ? \ +#define OPPOSITE_ORIENTATION(orientation) \ + ((orientation) == GTK_ORIENTATION_HORIZONTAL ? \ GTK_ORIENTATION_VERTICAL : GTK_ORIENTATION_HORIZONTAL) static void @@ -249,12 +253,14 @@ gtk_cell_area_box_init (GtkCellAreaBox *box) priv->rtl = FALSE; /* Watch whenever focus is given to a cell, even if it's not with keynav, - * this way we remember upon entry of the area where focus was last time around */ - priv->focus_cell_id = g_signal_connect (box, "notify::focus-cell", - G_CALLBACK (gtk_cell_area_box_focus_changed), box); + * this way we remember upon entry of the area where focus was last time + * around + */ + priv->focus_cell_id = g_signal_connect (box, "notify::focus-cell", + G_CALLBACK (gtk_cell_area_box_focus_changed), box); } -static void +static void gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); @@ -273,7 +279,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->foreach_alloc = gtk_cell_area_box_foreach_alloc; area_class->set_cell_property = gtk_cell_area_box_set_cell_property; area_class->get_cell_property = gtk_cell_area_box_get_cell_property; - + area_class->create_context = gtk_cell_area_box_create_context; area_class->copy_context = gtk_cell_area_box_copy_context; area_class->get_request_mode = gtk_cell_area_box_get_request_mode; @@ -297,31 +303,31 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) g_object_class_install_property (object_class, PROP_SPACING, g_param_spec_int ("spacing", - P_("Spacing"), - P_("Space which is inserted between cells"), - 0, - G_MAXINT, - 0, - GTK_PARAM_READWRITE)); + P_("Spacing"), + P_("Space which is inserted between cells"), + 0, + G_MAXINT, + 0, + GTK_PARAM_READWRITE)); /* Cell Properties */ /** * GtkCellAreaBox:expand: * - * Whether the cell renderer should receive extra space when the area receives - * more than its natural size. + * Whether the cell renderer should receive extra space + * when the area receives more than its natural size. * * Since: 3.0 */ gtk_cell_area_class_install_cell_property (area_class, - CELL_PROP_EXPAND, - g_param_spec_boolean - ("expand", - P_("Expand"), - P_("Whether the cell expands"), - FALSE, - GTK_PARAM_READWRITE)); - + CELL_PROP_EXPAND, + g_param_spec_boolean + ("expand", + P_("Expand"), + P_("Whether the cell expands"), + FALSE, + GTK_PARAM_READWRITE)); + /** * GtkCellAreaBox:align: * @@ -330,31 +336,31 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) * Since: 3.0 */ gtk_cell_area_class_install_cell_property (area_class, - CELL_PROP_ALIGN, - g_param_spec_boolean - ("align", - P_("Align"), - P_("Whether cell should align with adjacent rows"), - TRUE, - GTK_PARAM_READWRITE)); + CELL_PROP_ALIGN, + g_param_spec_boolean + ("align", + P_("Align"), + P_("Whether cell should align with adjacent rows"), + TRUE, + GTK_PARAM_READWRITE)); /** * GtkCellAreaBox:pack-type: * - * A GtkPackType indicating whether the cell renderer is packed with reference to the - * start or end of the area. + * A GtkPackType indicating whether the cell renderer is packed + * with reference to the start or end of the area. * * Since: 3.0 */ gtk_cell_area_class_install_cell_property (area_class, - CELL_PROP_PACK_TYPE, - g_param_spec_enum - ("pack-type", - P_("Pack Type"), - P_("A GtkPackType indicating whether the cell is packed with " - "reference to the start or end of the cell area"), - GTK_TYPE_PACK_TYPE, GTK_PACK_START, - GTK_PARAM_READWRITE)); + CELL_PROP_PACK_TYPE, + g_param_spec_enum + ("pack-type", + P_("Pack Type"), + P_("A GtkPackType indicating whether the cell is packed with " + "reference to the start or end of the cell area"), + GTK_TYPE_PACK_TYPE, GTK_PACK_START, + GTK_PARAM_READWRITE)); g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxPrivate)); } @@ -364,13 +370,13 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) * CellInfo/CellGroup basics and convenience functions * *************************************************************/ static CellInfo * -cell_info_new (GtkCellRenderer *renderer, - GtkPackType pack, - gboolean expand, - gboolean align) +cell_info_new (GtkCellRenderer *renderer, + GtkPackType pack, + gboolean expand, + gboolean align) { CellInfo *info = g_slice_new (CellInfo); - + info->renderer = g_object_ref_sink (renderer); info->pack = pack; info->expand = expand; @@ -389,15 +395,15 @@ cell_info_free (CellInfo *info) static gint cell_info_find (CellInfo *info, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { return (info->renderer == renderer) ? 0 : -1; } static AllocatedCell * allocated_cell_new (GtkCellRenderer *renderer, - gint position, - gint size) + gint position, + gint size) { AllocatedCell *cell = g_slice_new (AllocatedCell); @@ -421,23 +427,23 @@ list_consecutive_cells (GtkCellAreaBox *box) GList *l, *consecutive_cells = NULL, *pack_end_cells = NULL; CellInfo *info; - /* List cells in consecutive order taking their - * PACK_START/PACK_END options into account + /* List cells in consecutive order taking their + * PACK_START/PACK_END options into account */ for (l = priv->cells; l; l = l->next) { info = l->data; - + if (info->pack == GTK_PACK_START) - consecutive_cells = g_list_prepend (consecutive_cells, info); + consecutive_cells = g_list_prepend (consecutive_cells, info); } for (l = priv->cells; l; l = l->next) { info = l->data; - + if (info->pack == GTK_PACK_END) - pack_end_cells = g_list_prepend (pack_end_cells, info); + pack_end_cells = g_list_prepend (pack_end_cells, info); } consecutive_cells = g_list_reverse (consecutive_cells); @@ -447,9 +453,9 @@ list_consecutive_cells (GtkCellAreaBox *box) } static void -cell_groups_clear (GtkCellAreaBox *box) +cell_groups_clear (GtkCellAreaBox *box) { - GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellAreaBoxPrivate *priv = box->priv; gint i; for (i = 0; i < priv->groups->len; i++) @@ -465,7 +471,7 @@ cell_groups_clear (GtkCellAreaBox *box) static void cell_groups_rebuild (GtkCellAreaBox *box) { - GtkCellAreaBoxPrivate *priv = box->priv; + GtkCellAreaBoxPrivate *priv = box->priv; CellGroup group = { 0, }; CellGroup *group_ptr; GList *cells, *l; @@ -488,20 +494,20 @@ cell_groups_rebuild (GtkCellAreaBox *box) /* A new group starts with any aligned cell, the first group is implied */ if (info->align && l != cells) - { - memset (&group, 0x0, sizeof (CellGroup)); - group.id = ++id; + { + memset (&group, 0x0, sizeof (CellGroup)); + group.id = ++id; - g_array_append_val (priv->groups, group); - group_ptr = &g_array_index (priv->groups, CellGroup, id); - } + g_array_append_val (priv->groups, group); + group_ptr = &g_array_index (priv->groups, CellGroup, id); + } group_ptr->cells = g_list_prepend (group_ptr->cells, info); group_ptr->n_cells++; /* A group expands if it contains any expand cells */ if (info->expand) - group_ptr->expand_cells++; + group_ptr->expand_cells++; } g_list_free (cells); @@ -518,8 +524,8 @@ cell_groups_rebuild (GtkCellAreaBox *box) } static gint -count_visible_cells (CellGroup *group, - gint *expand_cells) +count_visible_cells (CellGroup *group, + gint *expand_cells) { GList *l; gint visible_cells = 0; @@ -530,12 +536,12 @@ count_visible_cells (CellGroup *group, CellInfo *info = l->data; if (gtk_cell_renderer_get_visible (info->renderer)) - { - visible_cells++; + { + visible_cells++; - if (info->expand) - n_expand_cells++; - } + if (info->expand) + n_expand_cells++; + } } if (expand_cells) @@ -556,15 +562,15 @@ count_expand_groups (GtkCellAreaBox *box) CellGroup *group = &g_array_index (priv->groups, CellGroup, i); if (group->expand_cells > 0) - expand_groups++; + expand_groups++; } return expand_groups; } -static void +static void context_weak_notify (GtkCellAreaBox *box, - GtkCellAreaBoxContext *dead_context) + GtkCellAreaBoxContext *dead_context) { GtkCellAreaBoxPrivate *priv = box->priv; @@ -573,7 +579,7 @@ context_weak_notify (GtkCellAreaBox *box, static void init_context_group (GtkCellAreaBox *box, - GtkCellAreaBoxContext *context) + GtkCellAreaBoxContext *context) { GtkCellAreaBoxPrivate *priv = box->priv; gint *expand_groups, i; @@ -598,8 +604,8 @@ init_context_groups (GtkCellAreaBox *box) GtkCellAreaBoxPrivate *priv = box->priv; GSList *l; - /* When the box's groups are reconstructed, contexts need to - * be reinitialized. + /* When the box's groups are reconstructed, + * contexts need to be reinitialized. */ for (l = priv->contexts; l; l = l->next) { @@ -633,9 +639,9 @@ reset_contexts (GtkCellAreaBox *box) */ static GSList * allocate_cells_manually (GtkCellAreaBox *box, - GtkWidget *widget, - gint width, - gint height) + GtkWidget *widget, + gint width, + gint height) { GtkCellAreaBoxPrivate *priv = box->priv; GList *cells, *l; @@ -650,9 +656,11 @@ allocate_cells_manually (GtkCellAreaBox *box, if (!priv->cells) return NULL; - /* For vertical oriented boxes, we just let the cell renderers realign themselves for rtl */ + /* For vertical oriented boxes, we just let the cell renderers + * realign themselves for rtl + */ rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); cells = list_consecutive_cells (box); @@ -689,13 +697,13 @@ allocate_cells_manually (GtkCellAreaBox *box, CellInfo *info = l->data; if (!gtk_cell_renderer_get_visible (info->renderer)) - continue; + continue; gtk_cell_area_request_renderer (GTK_CELL_AREA (box), info->renderer, - priv->orientation, - widget, for_size, - &sizes[i].minimum_size, - &sizes[i].natural_size); + priv->orientation, + widget, for_size, + &sizes[i].minimum_size, + &sizes[i].natural_size); avail_size -= sizes[i].minimum_size; @@ -727,24 +735,24 @@ allocate_cells_manually (GtkCellAreaBox *box, AllocatedCell *cell; if (info->expand) - { - sizes[i].minimum_size += extra_size; - if (extra_extra) - { - sizes[i].minimum_size++; - extra_extra--; - } - } - + { + sizes[i].minimum_size += extra_size; + if (extra_extra) + { + sizes[i].minimum_size++; + extra_extra--; + } + } + if (rtl) - cell = allocated_cell_new (info->renderer, - full_size - (position + sizes[i].minimum_size), - sizes[i].minimum_size); + cell = allocated_cell_new (info->renderer, + full_size - (position + sizes[i].minimum_size), + sizes[i].minimum_size); else - cell = allocated_cell_new (info->renderer, position, sizes[i].minimum_size); + cell = allocated_cell_new (info->renderer, position, sizes[i].minimum_size); allocated_cells = g_slist_prepend (allocated_cells, cell); - + position += sizes[i].minimum_size; position += priv->spacing; } @@ -753,7 +761,8 @@ allocate_cells_manually (GtkCellAreaBox *box, g_list_free (cells); /* Note it might not be important to reverse the list here at all, - * we have the correct positions, no need to allocate from left to right */ + * we have the correct positions, no need to allocate from left to right + */ return g_slist_reverse (allocated_cells); } @@ -763,10 +772,10 @@ allocate_cells_manually (GtkCellAreaBox *box, */ static GSList * get_allocated_cells (GtkCellAreaBox *box, - GtkCellAreaBoxContext *context, - GtkWidget *widget, - gint width, - gint height) + GtkCellAreaBoxContext *context, + GtkWidget *widget, + gint width, + gint height) { GtkCellAreaBoxAllocation *group_allocs; GtkCellArea *area = GTK_CELL_AREA (box); @@ -792,131 +801,137 @@ get_allocated_cells (GtkCellAreaBox *box, for_size = width; } - /* For vertical oriented boxes, we just let the cell renderers realign themselves for rtl */ + /* For vertical oriented boxes, we just let the cell renderers + * realign themselves for rtl + */ rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); for (i = 0; i < n_allocs; i++) { - /* We dont always allocate all groups, sometimes the requested group has only invisible - * cells for every row, hence the usage of group_allocs[i].group_idx here + /* We dont always allocate all groups, sometimes the requested + * group has only invisible cells for every row, hence the usage + * of group_allocs[i].group_idx here */ CellGroup *group = &g_array_index (priv->groups, CellGroup, group_allocs[i].group_idx); /* Exception for single cell groups */ if (group->n_cells == 1) - { - CellInfo *info = group->cells->data; - AllocatedCell *cell; + { + CellInfo *info = group->cells->data; + AllocatedCell *cell; - if (rtl) - cell = allocated_cell_new (info->renderer, - full_size - (group_allocs[i].position + group_allocs[i].size), - group_allocs[i].size); - else - cell = allocated_cell_new (info->renderer, group_allocs[i].position, group_allocs[i].size); + if (rtl) + cell = allocated_cell_new (info->renderer, + full_size - (group_allocs[i].position + group_allocs[i].size), + group_allocs[i].size); + else + cell = allocated_cell_new (info->renderer, group_allocs[i].position, group_allocs[i].size); - allocated_cells = g_slist_prepend (allocated_cells, cell); - } + allocated_cells = g_slist_prepend (allocated_cells, cell); + } else - { - GtkRequestedSize *sizes; - gint avail_size, position; - gint visible_cells, expand_cells; - gint extra_size, extra_extra; + { + GtkRequestedSize *sizes; + gint avail_size, position; + gint visible_cells, expand_cells; + gint extra_size, extra_extra; - visible_cells = count_visible_cells (group, &expand_cells); + visible_cells = count_visible_cells (group, &expand_cells); - /* If this row has no visible cells in this group, just - * skip the allocation */ - if (visible_cells == 0) - continue; + /* If this row has no visible cells in this group, just + * skip the allocation + */ + if (visible_cells == 0) + continue; - /* Offset the allocation to the group position and allocate into - * the group's available size */ - position = group_allocs[i].position; - avail_size = group_allocs[i].size; + /* Offset the allocation to the group position + * and allocate into the group's available size + */ + position = group_allocs[i].position; + avail_size = group_allocs[i].size; - sizes = g_new (GtkRequestedSize, visible_cells); + sizes = g_new (GtkRequestedSize, visible_cells); - for (j = 0, cell_list = group->cells; cell_list; cell_list = cell_list->next) - { - CellInfo *info = cell_list->data; + for (j = 0, cell_list = group->cells; cell_list; cell_list = cell_list->next) + { + CellInfo *info = cell_list->data; - if (!gtk_cell_renderer_get_visible (info->renderer)) - continue; + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; - gtk_cell_area_request_renderer (area, info->renderer, - priv->orientation, - widget, for_size, - &sizes[j].minimum_size, - &sizes[j].natural_size); + gtk_cell_area_request_renderer (area, info->renderer, + priv->orientation, + widget, for_size, + &sizes[j].minimum_size, + &sizes[j].natural_size); - sizes[j].data = info; - avail_size -= sizes[j].minimum_size; + sizes[j].data = info; + avail_size -= sizes[j].minimum_size; - j++; - } + j++; + } - /* Distribute cells naturally within the group */ - avail_size -= (visible_cells - 1) * priv->spacing; + /* Distribute cells naturally within the group */ + avail_size -= (visible_cells - 1) * priv->spacing; if (avail_size > 0) avail_size = gtk_distribute_natural_allocation (avail_size, visible_cells, sizes); else avail_size = 0; - /* Calculate/distribute expand for cells */ - if (expand_cells > 0) - { - extra_size = avail_size / expand_cells; - extra_extra = avail_size % expand_cells; - } - else - extra_size = extra_extra = 0; + /* Calculate/distribute expand for cells */ + if (expand_cells > 0) + { + extra_size = avail_size / expand_cells; + extra_extra = avail_size % expand_cells; + } + else + extra_size = extra_extra = 0; - /* Create the allocated cells (loop only over visible cells here) */ - for (j = 0; j < visible_cells; j++) - { - CellInfo *info = sizes[j].data; - AllocatedCell *cell; + /* Create the allocated cells (loop only over visible cells here) */ + for (j = 0; j < visible_cells; j++) + { + CellInfo *info = sizes[j].data; + AllocatedCell *cell; - if (info->expand) - { - sizes[j].minimum_size += extra_size; - if (extra_extra) - { - sizes[j].minimum_size++; - extra_extra--; - } - } - - if (rtl) - cell = allocated_cell_new (info->renderer, - full_size - (position + sizes[j].minimum_size), - sizes[j].minimum_size); - else - cell = allocated_cell_new (info->renderer, position, sizes[j].minimum_size); + if (info->expand) + { + sizes[j].minimum_size += extra_size; + if (extra_extra) + { + sizes[j].minimum_size++; + extra_extra--; + } + } - allocated_cells = g_slist_prepend (allocated_cells, cell); - - position += sizes[j].minimum_size; - position += priv->spacing; - } + if (rtl) + cell = allocated_cell_new (info->renderer, + full_size - (position + sizes[j].minimum_size), + sizes[j].minimum_size); + else + cell = allocated_cell_new (info->renderer, position, sizes[j].minimum_size); - g_free (sizes); - } + allocated_cells = g_slist_prepend (allocated_cells, cell); + + position += sizes[j].minimum_size; + position += priv->spacing; + } + + g_free (sizes); + } } /* Note it might not be important to reverse the list here at all, - * we have the correct positions, no need to allocate from left to right */ + * we have the correct positions, no need to allocate from left to right + */ return g_slist_reverse (allocated_cells); } static void gtk_cell_area_box_focus_changed (GtkCellArea *area, - GParamSpec *pspec, - GtkCellAreaBox *box) + GParamSpec *pspec, + GtkCellAreaBox *box) { if (gtk_cell_area_get_focus_cell (area)) box->priv->last_focus_cell = gtk_cell_area_get_focus_cell (area); @@ -942,7 +957,7 @@ gtk_cell_area_box_finalize (GObject *object) /* Free the cell grouping info */ cell_groups_clear (box); g_array_free (priv->groups, TRUE); - + G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->finalize (object); } @@ -954,9 +969,9 @@ gtk_cell_area_box_dispose (GObject *object) static void gtk_cell_area_box_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (object); @@ -979,9 +994,9 @@ gtk_cell_area_box_set_property (GObject *object, static void gtk_cell_area_box_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (object); @@ -1002,17 +1017,17 @@ gtk_cell_area_box_get_property (GObject *object, /************************************************************* * GtkCellAreaClass * *************************************************************/ -static void +static void gtk_cell_area_box_add (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), - renderer, FALSE, TRUE); + renderer, FALSE, TRUE); } static void gtk_cell_area_box_remove (GtkCellArea *area, - GtkCellRenderer *renderer) + GtkCellRenderer *renderer) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; @@ -1021,8 +1036,8 @@ gtk_cell_area_box_remove (GtkCellArea *area, if (priv->last_focus_cell == renderer) priv->last_focus_cell = NULL; - node = g_list_find_custom (priv->cells, renderer, - (GCompareFunc)cell_info_find); + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); if (node) { @@ -1041,8 +1056,8 @@ gtk_cell_area_box_remove (GtkCellArea *area, static void gtk_cell_area_box_foreach (GtkCellArea *area, - GtkCellCallback callback, - gpointer callback_data) + GtkCellCallback callback, + gpointer callback_data) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; @@ -1053,18 +1068,18 @@ gtk_cell_area_box_foreach (GtkCellArea *area, CellInfo *info = list->data; if (callback (info->renderer, callback_data)) - break; + break; } } static void gtk_cell_area_box_foreach_alloc (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - const GdkRectangle *cell_area, - const GdkRectangle *background_area, - GtkCellAllocCallback callback, - gpointer callback_data) + GtkCellAreaContext *context, + GtkWidget *widget, + const GdkRectangle *cell_area, + const GdkRectangle *background_area, + GtkCellAllocCallback callback, + gpointer callback_data) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; @@ -1074,80 +1089,87 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, gboolean rtl; rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); cell_alloc = *cell_area; /* Get a list of cells with allocation sizes decided regardless - * of alignments and pack order etc. */ - allocated_cells = get_allocated_cells (box, box_context, widget, - cell_area->width, cell_area->height); + * of alignments and pack order etc. + */ + allocated_cells = get_allocated_cells (box, box_context, widget, + cell_area->width, cell_area->height); for (l = allocated_cells; l; l = l->next) { AllocatedCell *cell = l->data; if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - cell_alloc.x = cell_area->x + cell->position; - cell_alloc.width = cell->size; - } + { + cell_alloc.x = cell_area->x + cell->position; + cell_alloc.width = cell->size; + } else - { - cell_alloc.y = cell_area->y + cell->position; - cell_alloc.height = cell->size; - } + { + cell_alloc.y = cell_area->y + cell->position; + cell_alloc.height = cell->size; + } - /* Stop iterating over cells if they flow out of the render area, - * this can happen because the render area can actually be - * smaller than the requested area (treeview columns can + /* Stop iterating over cells if they flow out of the render + * area, this can happen because the render area can actually + * be smaller than the requested area (treeview columns can * be user resizable and can be resized to be smaller than - * the actual requested area). */ + * the actual requested area). + */ if (cell_alloc.x > cell_area->x + cell_area->width || - cell_alloc.x + cell_alloc.width < cell_area->x || - cell_alloc.y > cell_area->y + cell_area->height) - break; + cell_alloc.x + cell_alloc.width < cell_area->x || + cell_alloc.y > cell_area->y + cell_area->height) + break; - /* Special case for the last cell (or first cell in rtl)... let the last cell consume - * the remaining space in the area (the last cell is allowed to consume the remaining - * space if the space given for rendering is actually larger than allocation, this can - * happen in the expander GtkTreeViewColumn where only the deepest depth column - * receives the allocation... shallow columns recieve more width). */ + /* Special case for the last cell (or first cell in rtl)... + * let the last cell consume the remaining space in the area + * (the last cell is allowed to consume the remaining space if + * the space given for rendering is actually larger than allocation, + * this can happen in the expander GtkTreeViewColumn where only the + * deepest depth column receives the allocation... shallow columns + * receive more width). */ if (!l->next) - { - if (rtl) - { - /* Fill the leading space for the first cell in the area (still last in the list) */ - cell_alloc.width = (cell_alloc.x - cell_area->x) + cell_alloc.width; - cell_alloc.x = cell_area->x; - } - else - { - cell_alloc.width = cell_area->x + cell_area->width - cell_alloc.x; - cell_alloc.height = cell_area->y + cell_area->height - cell_alloc.y; - } - } + { + if (rtl) + { + /* Fill the leading space for the first cell in the area + * (still last in the list) + */ + cell_alloc.width = (cell_alloc.x - cell_area->x) + cell_alloc.width; + cell_alloc.x = cell_area->x; + } + else + { + cell_alloc.width = cell_area->x + cell_area->width - cell_alloc.x; + cell_alloc.height = cell_area->y + cell_area->height - cell_alloc.y; + } + } else - { - /* If the cell we are rendering doesnt fit into the remaining space, clip it - * so that the underlying renderer has a chance to deal with it (for instance - * text renderers get a chance to ellipsize). - */ - if (cell_alloc.x + cell_alloc.width > cell_area->x + cell_area->width) - cell_alloc.width = cell_area->x + cell_area->width - cell_alloc.x; + { + /* If the cell we are rendering doesnt fit into the remaining space, + * clip it so that the underlying renderer has a chance to deal with + * it (for instance text renderers get a chance to ellipsize). + */ + if (cell_alloc.x + cell_alloc.width > cell_area->x + cell_area->width) + cell_alloc.width = cell_area->x + cell_area->width - cell_alloc.x; - if (cell_alloc.y + cell_alloc.height > cell_area->y + cell_area->height) - cell_alloc.height = cell_area->y + cell_area->height - cell_alloc.y; - } + if (cell_alloc.y + cell_alloc.height > cell_area->y + cell_area->height) + cell_alloc.height = cell_area->y + cell_area->height - cell_alloc.y; + } /* Add portions of the background_area to the cell_alloc - * to create the cell_background */ + * to create the cell_background + */ cell_background = cell_alloc; if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - if (l == allocated_cells) - { + { + if (l == allocated_cells) + { /* Add the depth to the first cell */ if (rtl) { @@ -1159,9 +1181,9 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, cell_background.width += cell_area->x - background_area->x; cell_background.x = background_area->x; } - } + } - if (l->next == NULL) + if (l->next == NULL) { /* Grant this cell the remaining space */ int remain = cell_background.x - background_area->x; @@ -1172,27 +1194,27 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, cell_background.width = background_area->width - remain; } - cell_background.y = background_area->y; - cell_background.height = background_area->height; - } + cell_background.y = background_area->y; + cell_background.height = background_area->height; + } else - { - if (l == allocated_cells) - { - cell_background.height += cell_background.y - background_area->y; - cell_background.y = background_area->y; - } + { + if (l == allocated_cells) + { + cell_background.height += cell_background.y - background_area->y; + cell_background.y = background_area->y; + } - if (l->next == NULL) - cell_background.height = - background_area->height - (cell_background.y - background_area->y); + if (l->next == NULL) + cell_background.height = + background_area->height - (cell_background.y - background_area->y); - cell_background.x = background_area->x; - cell_background.width = background_area->width; - } + cell_background.x = background_area->x; + cell_background.width = background_area->width; + } if (callback (cell->renderer, &cell_alloc, &cell_background, callback_data)) - break; + break; } g_slist_foreach (allocated_cells, (GFunc)allocated_cell_free, NULL); @@ -1201,12 +1223,12 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + GtkCellRenderer *renderer, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GList *node; CellInfo *info; @@ -1214,8 +1236,8 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, gboolean val; GtkPackType pack_type; - node = g_list_find_custom (priv->cells, renderer, - (GCompareFunc)cell_info_find); + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); if (!node) return; @@ -1227,30 +1249,30 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, val = g_value_get_boolean (value); if (info->expand != val) - { - info->expand = val; - rebuild = TRUE; - } + { + info->expand = val; + rebuild = TRUE; + } break; case CELL_PROP_ALIGN: val = g_value_get_boolean (value); if (info->align != val) - { - info->align = val; - rebuild = TRUE; - } + { + info->align = val; + rebuild = TRUE; + } break; case CELL_PROP_PACK_TYPE: pack_type = g_value_get_enum (value); if (info->pack != pack_type) - { - info->pack = pack_type; - rebuild = TRUE; - } + { + info->pack = pack_type; + rebuild = TRUE; + } break; default: GTK_CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID (area, prop_id, pspec); @@ -1264,18 +1286,18 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, static void gtk_cell_area_box_get_cell_property (GtkCellArea *area, - GtkCellRenderer *renderer, - guint prop_id, - GValue *value, - GParamSpec *pspec) + GtkCellRenderer *renderer, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GList *node; CellInfo *info; - node = g_list_find_custom (priv->cells, renderer, - (GCompareFunc)cell_info_find); + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); if (!node) return; @@ -1307,8 +1329,8 @@ gtk_cell_area_box_create_context (GtkCellArea *area) GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaContext *context = - (GtkCellAreaContext *)g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, - "area", area, NULL); + (GtkCellAreaContext *)g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, + "area", area, NULL); priv->contexts = g_slist_prepend (priv->contexts, context); @@ -1322,13 +1344,13 @@ gtk_cell_area_box_create_context (GtkCellArea *area) static GtkCellAreaContext * gtk_cell_area_box_copy_context (GtkCellArea *area, - GtkCellAreaContext *context) + GtkCellAreaContext *context) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; - GtkCellAreaContext *copy = - (GtkCellAreaContext *)gtk_cell_area_box_context_copy (GTK_CELL_AREA_BOX (area), - GTK_CELL_AREA_BOX_CONTEXT (context)); + GtkCellAreaContext *copy = + (GtkCellAreaContext *)gtk_cell_area_box_context_copy (GTK_CELL_AREA_BOX (area), + GTK_CELL_AREA_BOX_CONTEXT (context)); priv->contexts = g_slist_prepend (priv->contexts, copy); @@ -1337,7 +1359,7 @@ gtk_cell_area_box_copy_context (GtkCellArea *area, return copy; } -static GtkSizeRequestMode +static GtkSizeRequestMode gtk_cell_area_box_get_request_mode (GtkCellArea *area) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); @@ -1350,12 +1372,12 @@ gtk_cell_area_box_get_request_mode (GtkCellArea *area) static void compute_size (GtkCellAreaBox *box, - GtkOrientation orientation, - GtkCellAreaBoxContext *context, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) + GtkOrientation orientation, + GtkCellAreaBoxContext *context, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; GtkCellArea *area = GTK_CELL_AREA (box); @@ -1363,7 +1385,7 @@ compute_size (GtkCellAreaBox *box, gint i; gint min_size = 0; gint nat_size = 0; - + for (i = 0; i < priv->groups->len; i++) { CellGroup *group = &g_array_index (priv->groups, CellGroup, i); @@ -1371,60 +1393,60 @@ compute_size (GtkCellAreaBox *box, gint group_nat_size = 0; for (list = group->cells; list; list = list->next) - { - CellInfo *info = list->data; - gint renderer_min_size, renderer_nat_size; + { + CellInfo *info = list->data; + gint renderer_min_size, renderer_nat_size; - if (!gtk_cell_renderer_get_visible (info->renderer)) - continue; - - gtk_cell_area_request_renderer (area, info->renderer, orientation, widget, for_size, - &renderer_min_size, &renderer_nat_size); + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; - if (orientation == priv->orientation) - { - if (min_size > 0) - { - min_size += priv->spacing; - nat_size += priv->spacing; - } - - if (group_min_size > 0) - { - group_min_size += priv->spacing; - group_nat_size += priv->spacing; - } - - min_size += renderer_min_size; - nat_size += renderer_nat_size; - group_min_size += renderer_min_size; - group_nat_size += renderer_nat_size; - } - else - { - min_size = MAX (min_size, renderer_min_size); - nat_size = MAX (nat_size, renderer_nat_size); - group_min_size = MAX (group_min_size, renderer_min_size); - group_nat_size = MAX (group_nat_size, renderer_nat_size); - } - } + gtk_cell_area_request_renderer (area, info->renderer, orientation, widget, for_size, + &renderer_min_size, &renderer_nat_size); + + if (orientation == priv->orientation) + { + if (min_size > 0) + { + min_size += priv->spacing; + nat_size += priv->spacing; + } + + if (group_min_size > 0) + { + group_min_size += priv->spacing; + group_nat_size += priv->spacing; + } + + min_size += renderer_min_size; + nat_size += renderer_nat_size; + group_min_size += renderer_min_size; + group_nat_size += renderer_nat_size; + } + else + { + min_size = MAX (min_size, renderer_min_size); + nat_size = MAX (nat_size, renderer_nat_size); + group_min_size = MAX (group_min_size, renderer_min_size); + group_nat_size = MAX (group_nat_size, renderer_nat_size); + } + } if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - if (for_size < 0) - gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); - else - gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, - group_min_size, group_nat_size); - } + { + if (for_size < 0) + gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); + else + gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, + group_min_size, group_nat_size); + } else - { - if (for_size < 0) - gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); - else - gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, - group_min_size, group_nat_size); - } + { + if (for_size < 0) + gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); + else + gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, + group_min_size, group_nat_size); + } } *minimum_size = min_size; @@ -1432,15 +1454,15 @@ compute_size (GtkCellAreaBox *box, /* Update rtl state for focus navigation to work */ priv->rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); } GtkRequestedSize * get_group_sizes (GtkCellArea *area, - CellGroup *group, - GtkOrientation orientation, - GtkWidget *widget, - gint *n_sizes) + CellGroup *group, + GtkOrientation orientation, + GtkWidget *widget, + gint *n_sizes) { GtkRequestedSize *sizes; GList *l; @@ -1454,14 +1476,14 @@ get_group_sizes (GtkCellArea *area, CellInfo *info = l->data; if (!gtk_cell_renderer_get_visible (info->renderer)) - continue; + continue; sizes[i].data = info; - + gtk_cell_area_request_renderer (area, info->renderer, - orientation, widget, -1, - &sizes[i].minimum_size, - &sizes[i].natural_size); + orientation, widget, -1, + &sizes[i].minimum_size, + &sizes[i].natural_size); i++; } @@ -1471,11 +1493,11 @@ get_group_sizes (GtkCellArea *area, static void compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, - CellGroup *group, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) + CellGroup *group, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; GtkCellArea *area = GTK_CELL_AREA (box); @@ -1486,8 +1508,8 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, CellInfo *info = group->cells->data; gtk_cell_area_request_renderer (area, info->renderer, - OPPOSITE_ORIENTATION (priv->orientation), - widget, for_size, minimum_size, natural_size); + OPPOSITE_ORIENTATION (priv->orientation), + widget, for_size, minimum_size, natural_size); } else { @@ -1503,7 +1525,7 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, /* First naturally allocate the cells in the group into the for_size */ avail_size -= (n_sizes - 1) * priv->spacing; for (i = 0; i < n_sizes; i++) - avail_size -= orientation_sizes[i].minimum_size; + avail_size -= orientation_sizes[i].minimum_size; if (avail_size > 0) avail_size = gtk_distribute_natural_allocation (avail_size, n_sizes, orientation_sizes); @@ -1512,38 +1534,38 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, /* Calculate/distribute expand for cells */ if (group->expand_cells > 0) - { - extra_size = avail_size / group->expand_cells; - extra_extra = avail_size % group->expand_cells; - } + { + extra_size = avail_size / group->expand_cells; + extra_extra = avail_size % group->expand_cells; + } else - extra_size = extra_extra = 0; + extra_size = extra_extra = 0; for (i = 0; i < n_sizes; i++) - { - gint cell_min, cell_nat; + { + gint cell_min, cell_nat; - info = orientation_sizes[i].data; + info = orientation_sizes[i].data; - if (info->expand) - { - orientation_sizes[i].minimum_size += extra_size; - if (extra_extra) - { - orientation_sizes[i].minimum_size++; - extra_extra--; - } - } + if (info->expand) + { + orientation_sizes[i].minimum_size += extra_size; + if (extra_extra) + { + orientation_sizes[i].minimum_size++; + extra_extra--; + } + } - gtk_cell_area_request_renderer (area, info->renderer, - OPPOSITE_ORIENTATION (priv->orientation), - widget, - orientation_sizes[i].minimum_size, - &cell_min, &cell_nat); + gtk_cell_area_request_renderer (area, info->renderer, + OPPOSITE_ORIENTATION (priv->orientation), + widget, + orientation_sizes[i].minimum_size, + &cell_min, &cell_nat); - min_size = MAX (min_size, cell_min); - nat_size = MAX (nat_size, cell_nat); - } + min_size = MAX (min_size, cell_min); + nat_size = MAX (nat_size, cell_nat); + } *minimum_size = min_size; *natural_size = nat_size; @@ -1553,12 +1575,12 @@ compute_group_size_for_opposing_orientation (GtkCellAreaBox *box, } static void -compute_size_for_opposing_orientation (GtkCellAreaBox *box, - GtkCellAreaBoxContext *context, - GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) +compute_size_for_opposing_orientation (GtkCellAreaBox *box, + GtkCellAreaBoxContext *context, + GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellAreaBoxPrivate *priv = box->priv; CellGroup *group; @@ -1595,44 +1617,46 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, extra_size = extra_extra = 0; /* Now we need to naturally allocate sizes for cells in each group - * and push the height-for-width for each group accordingly while accumulating - * the overall height-for-width for this row. + * and push the height-for-width for each group accordingly while + * accumulating the overall height-for-width for this row. */ for (i = 0; i < n_groups; i++) { gint group_min, group_nat; gint group_idx = GPOINTER_TO_INT (orientation_sizes[i].data); - + group = &g_array_index (priv->groups, CellGroup, group_idx); if (group->expand_cells > 0) - { - orientation_sizes[i].minimum_size += extra_size; - if (extra_extra) - { - orientation_sizes[i].minimum_size++; - extra_extra--; - } - } + { + orientation_sizes[i].minimum_size += extra_size; + if (extra_extra) + { + orientation_sizes[i].minimum_size++; + extra_extra--; + } + } - /* Now we have the allocation for the group, request it's height-for-width */ + /* Now we have the allocation for the group, + * request it's height-for-width + */ compute_group_size_for_opposing_orientation (box, group, widget, - orientation_sizes[i].minimum_size, - &group_min, &group_nat); + orientation_sizes[i].minimum_size, + &group_min, &group_nat); min_size = MAX (min_size, group_min); nat_size = MAX (nat_size, group_nat); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - { - gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, - group_min, group_nat); - } + { + gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, + group_min, group_nat); + } else - { - gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, - group_min, group_nat); - } + { + gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, + group_min, group_nat); + } } *minimum_size = min_size; @@ -1642,17 +1666,17 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, /* Update rtl state for focus navigation to work */ priv->rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && - gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); + gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); } static void gtk_cell_area_box_get_preferred_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_width, - gint *natural_width) + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_width, + gint *natural_width) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxContext *box_context; @@ -1662,10 +1686,11 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - /* Compute the size of all renderers for current row data, - * bumping cell alignments in the context along the way */ + /* Compute the size of all renderers for current row data, + * bumping cell alignments in the context along the way + */ compute_size (box, GTK_ORIENTATION_HORIZONTAL, - box_context, widget, -1, &min_width, &nat_width); + box_context, widget, -1, &min_width, &nat_width); if (minimum_width) *minimum_width = min_width; @@ -1676,10 +1701,10 @@ gtk_cell_area_box_get_preferred_width (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint *minimum_height, - gint *natural_height) + GtkCellAreaContext *context, + GtkWidget *widget, + gint *minimum_height, + gint *natural_height) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxContext *box_context; @@ -1689,10 +1714,11 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - /* Compute the size of all renderers for current row data, - * bumping cell alignments in the context along the way */ + /* Compute the size of all renderers for current row data, + * bumping cell alignments in the context along the way + */ compute_size (box, GTK_ORIENTATION_VERTICAL, - box_context, widget, -1, &min_height, &nat_height); + box_context, widget, -1, &min_height, &nat_height); if (minimum_height) *minimum_height = min_height; @@ -1703,11 +1729,11 @@ gtk_cell_area_box_get_preferred_height (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint width, - gint *minimum_height, - gint *natural_height) + GtkCellAreaContext *context, + GtkWidget *widget, + gint width, + gint *minimum_height, + gint *natural_height) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxContext *box_context; @@ -1721,14 +1747,17 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, if (priv->orientation == GTK_ORIENTATION_VERTICAL) { - /* Add up vertical requests of height for width and push the overall - * cached sizes for alignments */ + /* Add up vertical requests of height for width and push + * the overall cached sizes for alignments + */ compute_size (box, priv->orientation, box_context, widget, width, &min_height, &nat_height); } else { - /* Juice: virtually allocate cells into the for_width using the - * alignments and then return the overall height for that width, and cache it */ + /* Juice: virtually allocate cells into the for_width using the + * alignments and then return the overall height for that width, + * and cache it + */ compute_size_for_opposing_orientation (box, box_context, widget, width, &min_height, &nat_height); } @@ -1741,11 +1770,11 @@ gtk_cell_area_box_get_preferred_height_for_width (GtkCellArea *area, static void gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, - GtkCellAreaContext *context, - GtkWidget *widget, - gint height, - gint *minimum_width, - gint *natural_width) + GtkCellAreaContext *context, + GtkWidget *widget, + gint height, + gint *minimum_width, + gint *natural_width) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxContext *box_context; @@ -1759,14 +1788,17 @@ gtk_cell_area_box_get_preferred_width_for_height (GtkCellArea *area, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - /* Add up horizontal requests of width for height and push the overall - * cached sizes for alignments */ + /* Add up horizontal requests of width for height and push + * the overall cached sizes for alignments + */ compute_size (box, priv->orientation, box_context, widget, height, &min_width, &nat_width); } else { - /* Juice: horizontally allocate cells into the for_height using the - * alignments and then return the overall width for that height, and cache it */ + /* Juice: horizontally allocate cells into the for_height using the + * alignments and then return the overall width for that height, + * and cache it + */ compute_size_for_opposing_orientation (box, box_context, widget, height, &min_width, &nat_width); } @@ -1786,7 +1818,7 @@ enum { static gboolean gtk_cell_area_box_focus (GtkCellArea *area, - GtkDirectionType direction) + GtkDirectionType direction) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; @@ -1814,29 +1846,29 @@ gtk_cell_area_box_focus (GtkCellArea *area, case GTK_DIR_TAB_BACKWARD: cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; break; - case GTK_DIR_UP: + case GTK_DIR_UP: if (priv->orientation == GTK_ORIENTATION_VERTICAL || !priv->last_focus_cell) - cycle = FOCUS_PREV; + cycle = FOCUS_PREV; else if (!focus_cell) - cycle = FOCUS_LAST_CELL; + cycle = FOCUS_LAST_CELL; break; case GTK_DIR_DOWN: if (priv->orientation == GTK_ORIENTATION_VERTICAL || !priv->last_focus_cell) - cycle = FOCUS_NEXT; + cycle = FOCUS_NEXT; else if (!focus_cell) - cycle = FOCUS_LAST_CELL; + cycle = FOCUS_LAST_CELL; break; case GTK_DIR_LEFT: if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !priv->last_focus_cell) - cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; + cycle = priv->rtl ? FOCUS_NEXT : FOCUS_PREV; else if (!focus_cell) - cycle = FOCUS_LAST_CELL; + cycle = FOCUS_LAST_CELL; break; case GTK_DIR_RIGHT: if (priv->orientation == GTK_ORIENTATION_HORIZONTAL || !priv->last_focus_cell) - cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT; + cycle = priv->rtl ? FOCUS_PREV : FOCUS_NEXT; else if (!focus_cell) - cycle = FOCUS_LAST_CELL; + cycle = FOCUS_LAST_CELL; break; default: break; @@ -1853,31 +1885,31 @@ gtk_cell_area_box_focus (GtkCellArea *area, GList *list; gint i; - /* If there is no focused cell, focus on the first (or last) one in the list */ + /* If there is no focused cell, focus on the first (or last) one */ if (!focus_cell) - found_cell = TRUE; + found_cell = TRUE; - for (i = (cycle == FOCUS_NEXT) ? 0 : priv->groups->len -1; - cycled_focus == FALSE && i >= 0 && i < priv->groups->len; - i = (cycle == FOCUS_NEXT) ? i + 1 : i - 1) - { - CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - - for (list = (cycle == FOCUS_NEXT) ? g_list_first (group->cells) : g_list_last (group->cells); - cycled_focus == FALSE && list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) - { - CellInfo *info = list->data; + for (i = (cycle == FOCUS_NEXT) ? 0 : priv->groups->len -1; + cycled_focus == FALSE && i >= 0 && i < priv->groups->len; + i = (cycle == FOCUS_NEXT) ? i + 1 : i - 1) + { + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); - if (info->renderer == focus_cell) - found_cell = TRUE; - else if (found_cell && /* Dont give focus to cells that are siblings to a focus cell */ - gtk_cell_area_get_focus_from_sibling (area, info->renderer) == NULL) - { + for (list = (cycle == FOCUS_NEXT) ? g_list_first (group->cells) : g_list_last (group->cells); + cycled_focus == FALSE && list; list = (cycle == FOCUS_NEXT) ? list->next : list->prev) + { + CellInfo *info = list->data; + + if (info->renderer == focus_cell) + found_cell = TRUE; + else if (found_cell && /* Dont give focus to cells that are siblings to a focus cell */ + gtk_cell_area_get_focus_from_sibling (area, info->renderer) == NULL) + { gtk_cell_area_set_focus_cell (area, info->renderer); cycled_focus = TRUE; - } - } - } + } + } + } } if (!cycled_focus) @@ -1900,32 +1932,32 @@ gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface) static void gtk_cell_area_box_layout_pack_start (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand) + GtkCellRenderer *renderer, + gboolean expand) { gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, TRUE); } static void gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gboolean expand) + GtkCellRenderer *renderer, + gboolean expand) { gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, TRUE); } static void gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, - GtkCellRenderer *renderer, - gint position) + GtkCellRenderer *renderer, + gint position) { GtkCellAreaBox *box = GTK_CELL_AREA_BOX (cell_layout); GtkCellAreaBoxPrivate *priv = box->priv; GList *node; CellInfo *info; - - node = g_list_find_custom (priv->cells, renderer, - (GCompareFunc)cell_info_find); + + node = g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find); if (node) { @@ -1943,10 +1975,12 @@ gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, *************************************************************/ /** * gtk_cell_area_box_new: - * + * * Creates a new #GtkCellAreaBox. * * Return value: a newly created #GtkCellAreaBox + * + * Since: 3.0 */ GtkCellArea * gtk_cell_area_box_new (void) @@ -1960,20 +1994,20 @@ gtk_cell_area_box_new (void) * @renderer: the #GtkCellRenderer to add * @expand: whether @renderer should receive extra space when the area receives * more than its natural size - * @align: whether @renderer should be aligned in adjacent rows. + * @align: whether @renderer should be aligned in adjacent rows * * Adds @renderer to @box, packed with reference to the start of @box. * - * The @renderer is packed after any other #GtkCellRenderer packed with reference - * to the start of @box. + * The @renderer is packed after any other #GtkCellRenderer packed + * with reference to the start of @box. * * Since: 3.0 */ void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, - GtkCellRenderer *renderer, - gboolean expand, - gboolean align) + GtkCellRenderer *renderer, + gboolean expand, + gboolean align) { GtkCellAreaBoxPrivate *priv; CellInfo *info; @@ -1983,8 +2017,8 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, priv = box->priv; - if (g_list_find_custom (priv->cells, renderer, - (GCompareFunc)cell_info_find)) + if (g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find)) { g_warning ("Refusing to add the same cell renderer to a GtkCellAreaBox twice"); return; @@ -2003,20 +2037,20 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, * @renderer: the #GtkCellRenderer to add * @expand: whether @renderer should receive extra space when the area receives * more than its natural size - * @align: whether @renderer should be aligned in adjacent rows. + * @align: whether @renderer should be aligned in adjacent rows * * Adds @renderer to @box, packed with reference to the end of @box. * - * The @renderer is packed after (away from end of) any other #GtkCellRenderer - * packed with reference to the end of @box. + * The @renderer is packed after (away from end of) any other + * #GtkCellRenderer packed with reference to the end of @box. * * Since: 3.0 */ void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, - GtkCellRenderer *renderer, - gboolean expand, - gboolean align) + GtkCellRenderer *renderer, + gboolean expand, + gboolean align) { GtkCellAreaBoxPrivate *priv; CellInfo *info; @@ -2026,8 +2060,8 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, priv = box->priv; - if (g_list_find_custom (priv->cells, renderer, - (GCompareFunc)cell_info_find)) + if (g_list_find_custom (priv->cells, renderer, + (GCompareFunc)cell_info_find)) { g_warning ("Refusing to add the same cell renderer to a GtkCellArea twice"); return; @@ -2069,7 +2103,7 @@ gtk_cell_area_box_get_spacing (GtkCellAreaBox *box) */ void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, - gint spacing) + gint spacing) { GtkCellAreaBoxPrivate *priv; diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index a6d3a061bb..632ea93bec 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -32,10 +32,10 @@ G_BEGIN_DECLS -#define GTK_TYPE_CELL_AREA_BOX (gtk_cell_area_box_get_type ()) -#define GTK_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBox)) -#define GTK_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass)) -#define GTK_IS_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX)) +#define GTK_TYPE_CELL_AREA_BOX (gtk_cell_area_box_get_type ()) +#define GTK_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBox)) +#define GTK_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass)) +#define GTK_IS_CELL_AREA_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX)) #define GTK_IS_CELL_AREA_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX)) #define GTK_CELL_AREA_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX, GtkCellAreaBoxClass)) @@ -63,20 +63,20 @@ struct _GtkCellAreaBoxClass void (*_gtk_reserved4) (void); }; -GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; +GType gtk_cell_area_box_get_type (void) G_GNUC_CONST; -GtkCellArea *gtk_cell_area_box_new (void); -void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, - GtkCellRenderer *renderer, - gboolean expand, - gboolean align); -void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, - GtkCellRenderer *renderer, - gboolean expand, - gboolean align); -gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); -void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, - gint spacing); +GtkCellArea *gtk_cell_area_box_new (void); +void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand, + gboolean align); +void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, + GtkCellRenderer *renderer, + gboolean expand, + gboolean align); +gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); +void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, + gint spacing); G_END_DECLS diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index 2c0fa22ac7..b68002d9c5 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -33,32 +33,32 @@ static void gtk_cell_area_box_context_finalize (GObject /* GtkCellAreaContextClass */ static void gtk_cell_area_box_context_reset (GtkCellAreaContext *context); static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); + gint width, + gint height); static void gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint width, - gint *minimum_height, - gint *natural_height); + gint width, + gint *minimum_height, + gint *natural_height); static void gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint height, - gint *minimum_width, - gint *natural_width); + gint height, + gint *minimum_width, + gint *natural_width); /* Internal functions */ static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint for_size, - gint *minimum_size, - gint *natural_size); + GtkOrientation orientation, + gint for_size, + gint *minimum_size, + gint *natural_size); static void free_cache_array (GArray *array); static GArray *group_array_new (GtkCellAreaBoxContext *context); static GArray *get_array (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint for_size); + GtkOrientation orientation, + gint for_size); static gboolean group_expands (GtkCellAreaBoxContext *context, - gint group_idx); + gint group_idx); static gint count_expand_groups (GtkCellAreaBoxContext *context); @@ -110,8 +110,8 @@ group_array_new (GtkCellAreaBoxContext *context) static GArray * get_array (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint for_size) + GtkOrientation orientation, + gint for_size) { GtkCellAreaBoxContextPrivate *priv = context->priv; GArray *array; @@ -119,26 +119,26 @@ get_array (GtkCellAreaBoxContext *context, if (for_size < 0) { if (orientation == GTK_ORIENTATION_HORIZONTAL) - array = priv->base_widths; + array = priv->base_widths; else - array = priv->base_heights; + array = priv->base_heights; } else { if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_size)); + { + array = g_hash_table_lookup (priv->widths, GINT_TO_POINTER (for_size)); - if (!array) - array = priv->base_widths; - } + if (!array) + array = priv->base_widths; + } else - { - array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_size)); + { + array = g_hash_table_lookup (priv->heights, GINT_TO_POINTER (for_size)); - if (!array) - array = priv->base_heights; - } + if (!array) + array = priv->base_heights; + } } return array; @@ -146,7 +146,7 @@ get_array (GtkCellAreaBoxContext *context, static gboolean group_expands (GtkCellAreaBoxContext *context, - gint group_idx) + gint group_idx) { GtkCellAreaBoxContextPrivate *priv = context->priv; @@ -164,7 +164,7 @@ count_expand_groups (GtkCellAreaBoxContext *context) for (i = 0; i < priv->base_widths->len; i++) { if (priv->expand[i]) - expand++; + expand++; } return expand; @@ -176,17 +176,17 @@ gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) GtkCellAreaBoxContextPrivate *priv; box_context->priv = G_TYPE_INSTANCE_GET_PRIVATE (box_context, - GTK_TYPE_CELL_AREA_BOX_CONTEXT, - GtkCellAreaBoxContextPrivate); + GTK_TYPE_CELL_AREA_BOX_CONTEXT, + GtkCellAreaBoxContextPrivate); priv = box_context->priv; priv->base_widths = g_array_new (FALSE, TRUE, sizeof (CachedSize)); priv->base_heights = g_array_new (FALSE, TRUE, sizeof (CachedSize)); priv->widths = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)free_cache_array); + NULL, (GDestroyNotify)free_cache_array); priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, - NULL, (GDestroyNotify)free_cache_array); + NULL, (GDestroyNotify)free_cache_array); priv->alloc_width = 0; priv->alloc_height = 0; @@ -232,7 +232,7 @@ gtk_cell_area_box_context_finalize (GObject *object) } /************************************************************* - * GtkCellAreaContextClass * + * GtkCellAreaContextClass * *************************************************************/ static void gtk_cell_area_box_context_reset (GtkCellAreaContext *context) @@ -270,9 +270,9 @@ gtk_cell_area_box_context_reset (GtkCellAreaContext *context) static GtkRequestedSize * gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, - GtkOrientation orientation, - gint for_size, - gint *n_requests) + GtkOrientation orientation, + gint for_size, + gint *n_requests) { GtkCellAreaBoxContextPrivate *priv; GtkRequestedSize *requests; @@ -291,7 +291,7 @@ gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, size = &g_array_index (array, CachedSize, i); if (size->nat_size > 0) - visible_groups++; + visible_groups++; } requests = g_new (GtkRequestedSize, visible_groups); @@ -301,12 +301,12 @@ gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, size = &g_array_index (array, CachedSize, i); if (size->nat_size > 0) - { - requests[j].data = GINT_TO_POINTER (i); - requests[j].minimum_size = size->min_size; - requests[j].natural_size = size->nat_size; - j++; - } + { + requests[j].data = GINT_TO_POINTER (i); + requests[j].minimum_size = size->min_size; + requests[j].natural_size = size->nat_size; + j++; + } } if (n_requests) @@ -317,11 +317,11 @@ gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, static GtkCellAreaBoxAllocation * allocate_for_orientation (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint spacing, - gint size, - gint for_size, - gint *n_allocs) + GtkOrientation orientation, + gint spacing, + gint size, + gint for_size, + gint *n_allocs) { GtkCellAreaBoxAllocation *allocs; GtkRequestedSize *sizes; @@ -363,14 +363,14 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, allocs[i].size = sizes[i].minimum_size; if (group_expands (context, allocs[i].group_idx)) - { - allocs[i].size += extra_size; - if (extra_extra) - { - allocs[i].size++; - extra_extra--; - } - } + { + allocs[i].size += extra_size; + if (extra_extra) + { + allocs[i].size++; + extra_extra--; + } + } position += allocs[i].size; position += spacing; @@ -386,8 +386,8 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, - gint width, - gint height) + gint width, + gint height) { GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GtkCellAreaBoxContextPrivate *priv = box_context->priv; @@ -405,22 +405,22 @@ gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, if (orientation == GTK_ORIENTATION_HORIZONTAL && width > 0) priv->orientation_allocs = allocate_for_orientation (box_context, orientation, - spacing, width, height, - &priv->n_orientation_allocs); + spacing, width, height, + &priv->n_orientation_allocs); else if (orientation == GTK_ORIENTATION_VERTICAL && height > 0) priv->orientation_allocs = allocate_for_orientation (box_context, orientation, - spacing, height, width, - &priv->n_orientation_allocs); + spacing, height, width, + &priv->n_orientation_allocs); GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate (context, width, height); } static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint for_size, - gint *minimum_size, - gint *natural_size) + GtkOrientation orientation, + gint for_size, + gint *minimum_size, + gint *natural_size) { GtkCellArea *area; GtkOrientation box_orientation; @@ -438,32 +438,32 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, CachedSize *size = &g_array_index (array, CachedSize, i); if (box_orientation == orientation) - { - /* Dont add spacing for 0 size groups, they can be 0 size because - * they contain only invisible cells for this round of requests - */ - if (min_size > 0 && size->nat_size > 0) - { - min_size += spacing; - nat_size += spacing; - } - - min_size += size->min_size; - nat_size += size->nat_size; - } + { + /* Dont add spacing for 0 size groups, they can be 0 size because + * they contain only invisible cells for this round of requests + */ + if (min_size > 0 && size->nat_size > 0) + { + min_size += spacing; + nat_size += spacing; + } + + min_size += size->min_size; + nat_size += size->nat_size; + } else - { - min_size = MAX (min_size, size->min_size); - nat_size = MAX (nat_size, size->nat_size); - } + { + min_size = MAX (min_size, size->min_size); + nat_size = MAX (nat_size, size->nat_size); + } } if (for_size < 0) { if (orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_context_push_preferred_width (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); + gtk_cell_area_context_push_preferred_width (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); else - gtk_cell_area_context_push_preferred_height (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); + gtk_cell_area_context_push_preferred_height (GTK_CELL_AREA_CONTEXT (context), min_size, nat_size); } if (minimum_size) @@ -474,22 +474,22 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, static void gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint width, - gint *minimum_height, - gint *natural_height) + gint width, + gint *minimum_height, + gint *natural_height) { gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_VERTICAL, - width, minimum_height, natural_height); + width, minimum_height, natural_height); } static void gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint height, - gint *minimum_width, - gint *natural_width) + gint height, + gint *minimum_width, + gint *natural_width) { gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_HORIZONTAL, - height, minimum_width, natural_width); + height, minimum_width, natural_width); } /************************************************************* @@ -497,7 +497,7 @@ gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *co *************************************************************/ static void copy_size_array (GArray *src_array, - GArray *dest_array) + GArray *dest_array) { gint i; @@ -512,8 +512,8 @@ copy_size_array (GArray *src_array, static void for_size_copy (gpointer key, - GArray *size_array, - GHashTable *dest_hash) + GArray *size_array, + GHashTable *dest_hash) { GArray *new_array; @@ -527,52 +527,52 @@ for_size_copy (gpointer key, GtkCellAreaBoxContext * gtk_cell_area_box_context_copy (GtkCellAreaBox *box, - GtkCellAreaBoxContext *context) + GtkCellAreaBoxContext *context) { GtkCellAreaBoxContext *copy; - copy = g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, - "area", box, NULL); + copy = g_object_new (GTK_TYPE_CELL_AREA_BOX_CONTEXT, + "area", box, NULL); - gtk_cell_area_box_init_groups (copy, - context->priv->base_widths->len, - context->priv->expand); + gtk_cell_area_box_init_groups (copy, + context->priv->base_widths->len, + context->priv->expand); /* Copy the base arrays */ - copy_size_array (context->priv->base_widths, - copy->priv->base_widths); - copy_size_array (context->priv->base_heights, - copy->priv->base_heights); + copy_size_array (context->priv->base_widths, + copy->priv->base_widths); + copy_size_array (context->priv->base_heights, + copy->priv->base_heights); /* Copy each for size */ g_hash_table_foreach (context->priv->heights, - (GHFunc)for_size_copy, copy->priv->heights); + (GHFunc)for_size_copy, copy->priv->heights); g_hash_table_foreach (context->priv->widths, - (GHFunc)for_size_copy, copy->priv->widths); + (GHFunc)for_size_copy, copy->priv->widths); /* Copy any active allocation */ - copy->priv->n_orientation_allocs = + copy->priv->n_orientation_allocs = context->priv->n_orientation_allocs; if (copy->priv->n_orientation_allocs) - copy->priv->orientation_allocs = - g_memdup (context->priv->orientation_allocs, - copy->priv->n_orientation_allocs * sizeof (GtkCellAreaBoxAllocation)); + copy->priv->orientation_allocs = + g_memdup (context->priv->orientation_allocs, + copy->priv->n_orientation_allocs * sizeof (GtkCellAreaBoxAllocation)); return copy; } void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, - guint n_groups, - gboolean *expand_groups) + guint n_groups, + gboolean *expand_groups) { GtkCellAreaBoxContextPrivate *priv; g_return_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context)); g_return_if_fail (n_groups == 0 || expand_groups != NULL); - /* When the group dimensions change, all info must be reset + /* When the group dimensions change, all info must be reset * Note this already clears the min/nat values on the CachedSizes */ gtk_cell_area_context_reset (GTK_CELL_AREA_CONTEXT (box_context)); @@ -587,9 +587,9 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint minimum_width, - gint natural_width) + gint group_idx, + gint minimum_width, + gint natural_width) { GtkCellAreaBoxContextPrivate *priv; CachedSize *size; @@ -618,10 +618,10 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, void gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint minimum_height, - gint natural_height) + gint group_idx, + gint for_width, + gint minimum_height, + gint natural_height) { GtkCellAreaBoxContextPrivate *priv; GArray *group_array; @@ -646,9 +646,9 @@ gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *b void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint minimum_height, - gint natural_height) + gint group_idx, + gint minimum_height, + gint natural_height) { GtkCellAreaBoxContextPrivate *priv; CachedSize *size; @@ -677,10 +677,10 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, void gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint minimum_width, - gint natural_width) + gint group_idx, + gint for_height, + gint minimum_width, + gint natural_width) { GtkCellAreaBoxContextPrivate *priv; GArray *group_array; @@ -705,9 +705,9 @@ gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *bo void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint *minimum_width, - gint *natural_width) + gint group_idx, + gint *minimum_width, + gint *natural_width) { GtkCellAreaBoxContextPrivate *priv; CachedSize *size; @@ -721,17 +721,17 @@ gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, if (minimum_width) *minimum_width = size->min_size; - + if (natural_width) *natural_width = size->nat_size; } void gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint *minimum_height, - gint *natural_height) + gint group_idx, + gint for_width, + gint *minimum_height, + gint *natural_height) { GtkCellAreaBoxContextPrivate *priv; GArray *group_array; @@ -748,26 +748,26 @@ gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); if (minimum_height) - *minimum_height = size->min_size; + *minimum_height = size->min_size; if (natural_height) - *natural_height = size->nat_size; + *natural_height = size->nat_size; } else { if (minimum_height) - *minimum_height = -1; + *minimum_height = -1; if (natural_height) - *natural_height = -1; + *natural_height = -1; } } void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint *minimum_height, - gint *natural_height) + gint group_idx, + gint *minimum_height, + gint *natural_height) { GtkCellAreaBoxContextPrivate *priv; CachedSize *size; @@ -781,17 +781,17 @@ gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, if (minimum_height) *minimum_height = size->min_size; - + if (natural_height) *natural_height = size->nat_size; } void gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint *minimum_width, - gint *natural_width) + gint group_idx, + gint for_height, + gint *minimum_width, + gint *natural_width) { GtkCellAreaBoxContextPrivate *priv; GArray *group_array; @@ -808,43 +808,43 @@ gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box CachedSize *size = &g_array_index (group_array, CachedSize, group_idx); if (minimum_width) - *minimum_width = size->min_size; + *minimum_width = size->min_size; if (natural_width) - *natural_width = size->nat_size; + *natural_width = size->nat_size; } else { if (minimum_width) - *minimum_width = -1; + *minimum_width = -1; if (natural_width) - *natural_width = -1; + *natural_width = -1; } } GtkRequestedSize * gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, - gint *n_widths) + gint *n_widths) { return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_HORIZONTAL, -1, n_widths); } GtkRequestedSize * gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, - gint *n_heights) + gint *n_heights) { return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_VERTICAL, -1, n_heights); } GtkCellAreaBoxAllocation * gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, - gint *n_allocs) + gint *n_allocs) { GtkCellAreaBoxContextPrivate *priv; g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context), NULL); - + priv = context->priv; *n_allocs = priv->n_orientation_allocs; diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 1161d38b2f..7d9f37ed83 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -35,10 +35,10 @@ G_BEGIN_DECLS -#define GTK_TYPE_CELL_AREA_BOX_CONTEXT (gtk_cell_area_box_context_get_type ()) -#define GTK_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContext)) -#define GTK_CELL_AREA_BOX_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContextClass)) -#define GTK_IS_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT)) +#define GTK_TYPE_CELL_AREA_BOX_CONTEXT (gtk_cell_area_box_context_get_type ()) +#define GTK_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContext)) +#define GTK_CELL_AREA_BOX_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContextClass)) +#define GTK_IS_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT)) #define GTK_IS_CELL_AREA_BOX_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_BOX_CONTEXT)) #define GTK_CELL_AREA_BOX_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContextClass)) @@ -64,63 +64,63 @@ GType gtk_cell_area_box_context_get_type (void) G_GNUC_CON /* Create a duplicate of the context */ GtkCellAreaBoxContext *gtk_cell_area_box_context_copy (GtkCellAreaBox *box, - GtkCellAreaBoxContext *box_context); + GtkCellAreaBoxContext *box_context); /* Initialize group array dimensions */ void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, - guint n_groups, - gboolean *expand_groups); + guint n_groups, + gboolean *expand_groups); /* Update cell-group sizes */ void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint minimum_width, - gint natural_width); + gint group_idx, + gint minimum_width, + gint natural_width); void gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint minimum_height, - gint natural_height); + gint group_idx, + gint for_width, + gint minimum_height, + gint natural_height); void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint minimum_height, - gint natural_height); + gint group_idx, + gint minimum_height, + gint natural_height); void gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint minimum_width, - gint natural_width); + gint group_idx, + gint for_height, + gint minimum_width, + gint natural_width); /* Fetch cell-group sizes */ void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint *minimum_width, - gint *natural_width); + gint group_idx, + gint *minimum_width, + gint *natural_width); void gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_width, - gint *minimum_height, - gint *natural_height); + gint group_idx, + gint for_width, + gint *minimum_height, + gint *natural_height); void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint *minimum_height, - gint *natural_height); + gint group_idx, + gint *minimum_height, + gint *natural_height); void gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, - gint group_idx, - gint for_height, - gint *minimum_width, - gint *natural_width); + gint group_idx, + gint for_height, + gint *minimum_width, + gint *natural_width); GtkRequestedSize *gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, - gint *n_widths); + gint *n_widths); GtkRequestedSize *gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, - gint *n_heights); + gint *n_heights); /* Private context/area interaction */ typedef struct { @@ -131,7 +131,7 @@ typedef struct { GtkCellAreaBoxAllocation * gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, - gint *n_allocs); + gint *n_allocs); G_END_DECLS diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index 44c718aa1c..d2249d9219 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -23,18 +23,22 @@ /** * SECTION:gtkcellareacontext - * @Short_Description: An object for a GtkCellArea to store geometrical information for a series of rows. + * @Short_Description: An object for a GtkCellArea to store geometrical + * information for a series of rows. * @Title: GtkCellAreaContext * - * The #GtkCellAreaContext object is created by a given #GtkCellArea implementation via it's - * #GtkCellAreaClass.create_context() virtual method and is used to store cell sizes and alignments - * for a series of #GtkTreeModel rows that are requested and rendered in the same context. + * The #GtkCellAreaContext object is created by a given #GtkCellArea + * implementation via it's #GtkCellAreaClass.create_context() virtual + * method and is used to store cell sizes and alignments for a series of + * #GtkTreeModel rows that are requested and rendered in the same context. * - * #GtkCellLayout widgets can create any number of contexts in which to request and render - * groups of data rows. However its important that the same context which was used to - * request sizes for a given #GtkTreeModel row also be used for the same row when calling - * other #GtkCellArea apis such as gtk_cell_area_render() and gtk_cell_area_event(). + * #GtkCellLayout widgets can create any number of contexts in which to + * request and render groups of data rows. However its important that the + * same context which was used to request sizes for a given #GtkTreeModel + * row also be used for the same row when calling other #GtkCellArea APIs + * such as gtk_cell_area_render() and gtk_cell_area_event(). */ + #include "config.h" #include "gtkintl.h" #include "gtkmarshalers.h" @@ -42,21 +46,21 @@ #include "gtkprivate.h" /* GObjectClass */ -static void gtk_cell_area_context_dispose (GObject *object); -static void gtk_cell_area_context_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void gtk_cell_area_context_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); +static void gtk_cell_area_context_dispose (GObject *object); +static void gtk_cell_area_context_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void gtk_cell_area_context_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); /* GtkCellAreaContextClass */ -static void gtk_cell_area_context_real_reset (GtkCellAreaContext *context); -static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, - gint width, - gint height); +static void gtk_cell_area_context_real_reset (GtkCellAreaContext *context); +static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, + gint width, + gint height); struct _GtkCellAreaContextPrivate { @@ -87,8 +91,8 @@ gtk_cell_area_context_init (GtkCellAreaContext *context) GtkCellAreaContextPrivate *priv; context->priv = G_TYPE_INSTANCE_GET_PRIVATE (context, - GTK_TYPE_CELL_AREA_CONTEXT, - GtkCellAreaContextPrivate); + GTK_TYPE_CELL_AREA_CONTEXT, + GtkCellAreaContextPrivate); priv = context->priv; priv->min_width = -1; @@ -97,7 +101,7 @@ gtk_cell_area_context_init (GtkCellAreaContext *context) priv->nat_height = -1; } -static void +static void gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); @@ -121,10 +125,10 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_object_class_install_property (object_class, PROP_CELL_AREA, g_param_spec_object ("area", - P_("Area"), - P_("The Cell Area this context was created for"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + P_("Area"), + P_("The Cell Area this context was created for"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkCellAreaContext:minimum-width: @@ -138,12 +142,12 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_object_class_install_property (object_class, PROP_MIN_WIDTH, g_param_spec_int ("minimum-width", - P_("Minimum Width"), - P_("Minimum cached width"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); + P_("Minimum Width"), + P_("Minimum cached width"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); /** * GtkCellAreaContext:natural-width: @@ -157,12 +161,12 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_object_class_install_property (object_class, PROP_NAT_WIDTH, g_param_spec_int ("natural-width", - P_("Minimum Width"), - P_("Minimum cached width"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); + P_("Minimum Width"), + P_("Minimum cached width"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); /** * GtkCellAreaContext:minimum-height: @@ -176,12 +180,12 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_object_class_install_property (object_class, PROP_MIN_HEIGHT, g_param_spec_int ("minimum-height", - P_("Minimum Height"), - P_("Minimum cached height"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); + P_("Minimum Height"), + P_("Minimum cached height"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); /** * GtkCellAreaContext:natural-height: @@ -195,12 +199,12 @@ gtk_cell_area_context_class_init (GtkCellAreaContextClass *class) g_object_class_install_property (object_class, PROP_NAT_HEIGHT, g_param_spec_int ("natural-height", - P_("Minimum Height"), - P_("Minimum cached height"), - -1, - G_MAXINT, - -1, - G_PARAM_READABLE)); + P_("Minimum Height"), + P_("Minimum cached height"), + -1, + G_MAXINT, + -1, + G_PARAM_READABLE)); g_type_class_add_private (object_class, sizeof (GtkCellAreaContextPrivate)); } @@ -226,9 +230,9 @@ gtk_cell_area_context_dispose (GObject *object) static void gtk_cell_area_context_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); GtkCellAreaContextPrivate *priv = context->priv; @@ -246,9 +250,9 @@ gtk_cell_area_context_set_property (GObject *object, static void gtk_cell_area_context_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkCellAreaContext *context = GTK_CELL_AREA_CONTEXT (object); GtkCellAreaContextPrivate *priv = context->priv; @@ -277,13 +281,13 @@ gtk_cell_area_context_get_property (GObject *object, } /************************************************************* - * GtkCellAreaContextClass * + * GtkCellAreaContextClass * *************************************************************/ static void gtk_cell_area_context_real_reset (GtkCellAreaContext *context) { GtkCellAreaContextPrivate *priv = context->priv; - + g_object_freeze_notify (G_OBJECT (context)); if (priv->min_width != -1) @@ -318,8 +322,8 @@ gtk_cell_area_context_real_reset (GtkCellAreaContext *context) static void gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, - gint width, - gint height) + gint width, + gint height) { GtkCellAreaContextPrivate *priv = context->priv; @@ -336,13 +340,13 @@ gtk_cell_area_context_real_allocate (GtkCellAreaContext *context, * * Fetches the #GtkCellArea this @context was created by. * - * This is generally unneeded by layouting widgets however - * its important for the context implementation itself to + * This is generally unneeded by layouting widgets; however + * it is important for the context implementation itself to * fetch information about the area it is being used for. * * For instance at #GtkCellAreaContextClass.allocate() time * it's important to know details about any cell spacing - * that the #GtkCellArea is configured with in order to + * that the #GtkCellArea is configured with in order to * compute a proper allocation. * * Return value: the #GtkCellArea this context was created by. @@ -366,15 +370,15 @@ gtk_cell_area_context_get_area (GtkCellAreaContext *context) * @context: a #GtkCellAreaContext * * Resets any previously cached request and allocation - * data. + * data. * - * When underlying #GtkTreeModel data changes it's + * When underlying #GtkTreeModel data changes it's * important to reset the context if the content * size is allowed to shrink. If the content size * is only allowed to grow (this is usually an option * for views rendering large data stores as a measure * of optimization), then only the row that changed - * or was inserted needs to be (re)requested with + * or was inserted needs to be (re)requested with * gtk_cell_area_get_preferred_width(). * * When the new overall size of the context requires @@ -401,24 +405,28 @@ gtk_cell_area_context_reset (GtkCellAreaContext *context) /** * gtk_cell_area_context_allocate: * @context: a #GtkCellAreaContext - * @width: the allocated width for all #GtkTreeModel rows rendered with @context, or -1. - * @height: the allocated height for all #GtkTreeModel rows rendered with @context, or -1. + * @width: the allocated width for all #GtkTreeModel rows rendered + * with @context, or -1. + * @height: the allocated height for all #GtkTreeModel rows rendered + * with @context, or -1. * - * Allocates a width and/or a height for all rows which are to be rendered with @context. + * Allocates a width and/or a height for all rows which are to be + * rendered with @context. * - * Usually allocation is performed only horizontally or sometimes vertically since - * a group of rows are usually rendered side by side vertically or horizontally and - * share either the same width or the same hieght. Sometimes they are allocated in - * both horizontal and vertical orientations producing a homogenious effect of the - * rows. This is generally the case for #GtkTreeView when #GtkTreeView:fixed-height-mode - * is enabled. + * Usually allocation is performed only horizontally or sometimes + * vertically since a group of rows are usually rendered side by + * side vertically or horizontally and share either the same width + * or the same height. Sometimes they are allocated in both horizontal + * and vertical orientations producing a homogeneous effect of the + * rows. This is generally the case for #GtkTreeView when + * #GtkTreeView:fixed-height-mode is enabled. * * Since 3.0 */ void gtk_cell_area_context_allocate (GtkCellAreaContext *context, - gint width, - gint height) + gint width, + gint height) { g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); @@ -428,21 +436,23 @@ gtk_cell_area_context_allocate (GtkCellAreaContext *context, /** * gtk_cell_area_context_get_preferred_width: * @context: a #GtkCellAreaContext - * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL - * @natural_width: (out) (allow-none): location to store the natural width, or %NULL + * @minimum_width: (out) (allow-none): location to store the minimum width, + * or %NULL + * @natural_width: (out) (allow-none): location to store the natural width, + * or %NULL * - * Gets the accumulative preferred width for all rows which have been requested - * with this context. + * Gets the accumulative preferred width for all rows which have been + * requested with this context. * - * After gtk_cell_area_context_reset() is called and/or before ever requesting - * the size of a #GtkCellArea, the returned values are -1. + * After gtk_cell_area_context_reset() is called and/or before ever + * requesting the size of a #GtkCellArea, the returned values are -1. * - * Since: 3.0 + * Since: 3.0 */ void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, - gint *minimum_width, - gint *natural_width) + gint *minimum_width, + gint *natural_width) { GtkCellAreaContextPrivate *priv; @@ -460,21 +470,23 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, /** * gtk_cell_area_context_get_preferred_height: * @context: a #GtkCellAreaContext - * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL - * @natural_height: (out) (allow-none): location to store the natural height, or %NULL + * @minimum_height: (out) (allow-none): location to store the minimum height, + * or %NULL + * @natural_height: (out) (allow-none): location to store the natural height, + * or %NULL * - * Gets the accumulative preferred height for all rows which have been requested - * with this context. + * Gets the accumulative preferred height for all rows which have been + * requested with this context. * - * After gtk_cell_area_context_reset() is called and/or before ever requesting - * the size of a #GtkCellArea, the returned values are -1. + * After gtk_cell_area_context_reset() is called and/or before ever + * requesting the size of a #GtkCellArea, the returned values are -1. * * Since: 3.0 */ void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, - gint *minimum_height, - gint *natural_height) + gint *minimum_height, + gint *natural_height) { GtkCellAreaContextPrivate *priv; @@ -493,67 +505,71 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, * gtk_cell_area_context_get_preferred_height_for_width: * @context: a #GtkCellAreaContext * @width: a proposed width for allocation - * @minimum_height: (out) (allow-none): location to store the minimum height, or %NULL - * @natural_height: (out) (allow-none): location to store the natural height, or %NULL + * @minimum_height: (out) (allow-none): location to store the minimum height, + * or %NULL + * @natural_height: (out) (allow-none): location to store the natural height, + * or %NULL * - * Gets the accumulative preferred height for @width for all rows which have been - * requested for the same said @width with this context. + * Gets the accumulative preferred height for @width for all rows + * which have been requested for the same said @width with this context. * - * After gtk_cell_area_context_reset() is called and/or before ever requesting - * the size of a #GtkCellArea, the returned values are -1. + * After gtk_cell_area_context_reset() is called and/or before ever + * requesting the size of a #GtkCellArea, the returned values are -1. * * Since: 3.0 */ void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint width, - gint *minimum_height, - gint *natural_height) + gint width, + gint *minimum_height, + gint *natural_height) { g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); if (GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_height_for_width) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_height_for_width (context, - width, - minimum_height, - natural_height); + width, + minimum_height, + natural_height); } /** * gtk_cell_area_context_get_preferred_width_for_height: * @context: a #GtkCellAreaContext * @height: a proposed height for allocation - * @minimum_width: (out) (allow-none): location to store the minimum width, or %NULL - * @natural_width: (out) (allow-none): location to store the natural width, or %NULL + * @minimum_width: (out) (allow-none): location to store the minimum width, + * or %NULL + * @natural_width: (out) (allow-none): location to store the natural width, + * or %NULL * - * Gets the accumulative preferred width for @height for all rows which have - * been requested for the same said @height with this context. + * Gets the accumulative preferred width for @height for all rows which + * have been requested for the same said @height with this context. * - * After gtk_cell_area_context_reset() is called and/or before ever requesting - * the size of a #GtkCellArea, the returned values are -1. + * After gtk_cell_area_context_reset() is called and/or before ever + * requesting the size of a #GtkCellArea, the returned values are -1. * - * Since: 3.0 + * Since: 3.0 */ void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint height, - gint *minimum_width, - gint *natural_width) -{ + gint height, + gint *minimum_width, + gint *natural_width) +{ g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); if (GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_width_for_height) GTK_CELL_AREA_CONTEXT_GET_CLASS (context)->get_preferred_width_for_height (context, - height, - minimum_width, - natural_width); + height, + minimum_width, + natural_width); } /** * gtk_cell_area_context_get_allocation: * @context: a #GtkCellAreaContext - * @width: (out) (allow-none): location to store the allocated width, or %NULL. - * @height: (out) (allow-none): location to store the allocated height, or %NULL. + * @width: (out) (allow-none): location to store the allocated width, or %NULL + * @height: (out) (allow-none): location to store the allocated height, or %NULL * * Fetches the current allocation size for @context. * @@ -565,8 +581,8 @@ gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *contex */ void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, - gint *width, - gint *height) + gint *width, + gint *height) { GtkCellAreaContextPrivate *priv; @@ -584,8 +600,8 @@ gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, /** * gtk_cell_area_context_push_preferred_width: * @context: a #GtkCellAreaContext - * @minimum_width: the proposed new minimum width for @context. - * @natural_width: the proposed new natural width for @context. + * @minimum_width: the proposed new minimum width for @context + * @natural_width: the proposed new natural width for @context * * Causes the minimum and/or natural width to grow if the new * proposed sizes exceed the current minimum and natural width. @@ -599,8 +615,8 @@ gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, */ void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, - gint minimum_width, - gint natural_width) + gint minimum_width, + gint natural_width) { GtkCellAreaContextPrivate *priv; @@ -630,8 +646,8 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, /** * gtk_cell_area_context_push_preferred_height: * @context: a #GtkCellAreaContext - * @minimum_height: the proposed new minimum height for @context. - * @natural_height: the proposed new natural height for @context. + * @minimum_height: the proposed new minimum height for @context + * @natural_height: the proposed new natural height for @context * * Causes the minimum and/or natural height to grow if the new * proposed sizes exceed the current minimum and natural height. @@ -645,11 +661,11 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, */ void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, - gint minimum_height, - gint natural_height) + gint minimum_height, + gint natural_height) { GtkCellAreaContextPrivate *priv; - + g_return_if_fail (GTK_IS_CELL_AREA_CONTEXT (context)); priv = context->priv; diff --git a/gtk/gtkcellareacontext.h b/gtk/gtkcellareacontext.h index 3c3522bc59..787344e619 100644 --- a/gtk/gtkcellareacontext.h +++ b/gtk/gtkcellareacontext.h @@ -32,10 +32,10 @@ G_BEGIN_DECLS -#define GTK_TYPE_CELL_AREA_CONTEXT (gtk_cell_area_context_get_type ()) -#define GTK_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContext)) +#define GTK_TYPE_CELL_AREA_CONTEXT (gtk_cell_area_context_get_type ()) +#define GTK_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContext)) #define GTK_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) -#define GTK_IS_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_CONTEXT)) +#define GTK_IS_CELL_AREA_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_CONTEXT)) #define GTK_IS_CELL_AREA_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_CELL_AREA_CONTEXT)) #define GTK_CELL_AREA_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_CELL_AREA_CONTEXT, GtkCellAreaContextClass)) @@ -52,16 +52,16 @@ struct _GtkCellAreaContext /** * GtkCellAreaContextClass: - * @allocate: This tells the context that an allocation width or height (or both) - * have been decided for a group of rows. The context should store any allocations - * for internally aligned cells at this point so that they dont need to be - * recalculated at gtk_cell_area_render() time. - * @reset: Clear any previously stored information about requested and allocated - * sizes for the context. - * @get_preferred_height_for_width: Returns the aligned height for the given width - * that context must store while collecting sizes for it's rows. - * @get_preferred_width_for_height: Returns the aligned width for the given height - * that context must store while collecting sizes for it's rows. + * @allocate: This tells the context that an allocation width or height + * (or both) have been decided for a group of rows. The context should + * store any allocations for internally aligned cells at this point so + * that they dont need to be recalculated at gtk_cell_area_render() time. + * @reset: Clear any previously stored information about requested and + * allocated sizes for the context. + * @get_preferred_height_for_width: Returns the aligned height for the given + * width that context must store while collecting sizes for it's rows. + * @get_preferred_width_for_height: Returns the aligned width for the given + * height that context must store while collecting sizes for it's rows. */ struct _GtkCellAreaContextClass { @@ -70,17 +70,17 @@ struct _GtkCellAreaContextClass /*< public >*/ void (* allocate) (GtkCellAreaContext *context, - gint width, - gint height); + gint width, + gint height); void (* reset) (GtkCellAreaContext *context); void (* get_preferred_height_for_width) (GtkCellAreaContext *context, - gint width, - gint *minimum_height, - gint *natural_height); + gint width, + gint *minimum_height, + gint *natural_height); void (* get_preferred_width_for_height) (GtkCellAreaContext *context, - gint height, - gint *minimum_width, - gint *natural_width); + gint height, + gint *minimum_width, + gint *natural_width); /*< private >*/ /* Padding for future expansion */ @@ -97,36 +97,40 @@ GType gtk_cell_area_context_get_type (void) G_GNUC_CONST; /* Main apis */ GtkCellArea *gtk_cell_area_context_get_area (GtkCellAreaContext *context); void gtk_cell_area_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); + gint width, + gint height); void gtk_cell_area_context_reset (GtkCellAreaContext *context); -/* Apis for GtkCellArea clients to consult cached values for a series of GtkTreeModel rows */ +/* Apis for GtkCellArea clients to consult cached values + * for a series of GtkTreeModel rows + */ void gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context, - gint *minimum_width, - gint *natural_width); + gint *minimum_width, + gint *natural_width); void gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context, - gint *minimum_height, - gint *natural_height); + gint *minimum_height, + gint *natural_height); void gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context, - gint width, - gint *minimum_height, - gint *natural_height); + gint width, + gint *minimum_height, + gint *natural_height); void gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context, - gint height, - gint *minimum_width, - gint *natural_width); + gint height, + gint *minimum_width, + gint *natural_width); void gtk_cell_area_context_get_allocation (GtkCellAreaContext *context, - gint *width, - gint *height); + gint *width, + gint *height); -/* Apis for GtkCellArea implementations to update cached values for multiple GtkTreeModel rows */ +/* Apis for GtkCellArea implementations to update cached values + * for multiple GtkTreeModel rows + */ void gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context, - gint minimum_width, - gint natural_width); + gint minimum_width, + gint natural_width); void gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context, - gint minimum_height, - gint natural_height); + gint minimum_height, + gint natural_height); G_END_DECLS From 7b665316cfabda944555551aac94436f5586c792 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 20:41:16 -0500 Subject: [PATCH 0562/1463] Hide GtkWindowGroup members In the process of removing all sealed members from headers. At the same time, add a gtkwindowprivate.h header and move all internal functions from gtkwindow.h there. --- gtk/Makefile.am | 1 + gtk/gtkaccelmap.c | 2 +- gtk/gtkmain.c | 31 ++++++--------- gtk/gtkplug-x11.c | 1 + gtk/gtkplug.c | 2 +- gtk/gtksocket-x11.c | 2 +- gtk/gtksocket.c | 2 +- gtk/gtkwidget.c | 2 +- gtk/gtkwindow.c | 86 +++++++++++++++++++++------------------- gtk/gtkwindow.h | 63 ++--------------------------- gtk/gtkwindowprivate.h | 90 ++++++++++++++++++++++++++++++++++++++++++ 11 files changed, 157 insertions(+), 125 deletions(-) create mode 100644 gtk/gtkwindowprivate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index cbf8b3d89e..62be9e1bfe 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -433,6 +433,7 @@ gtk_private_h_sources = \ gtktreedatalist.h \ gtktreeprivate.h \ gtkwidgetprivate.h \ + gtkwindowprivate.h \ $(gtk_clipboard_dnd_h_sources) \ $(gtk_appchooser_impl_h_sources) diff --git a/gtk/gtkaccelmap.c b/gtk/gtkaccelmap.c index de3745e2ce..2b0fc3d519 100644 --- a/gtk/gtkaccelmap.c +++ b/gtk/gtkaccelmap.c @@ -22,7 +22,7 @@ #include "gtkaccelmap.h" #include "gtkmarshalers.h" -#include "gtkwindow.h" /* in lack of GtkAcceleratable */ +#include "gtkwindowprivate.h" #include "gtkintl.h" #include diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index dc303e7f8a..861ab0f44a 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -60,7 +60,7 @@ #include "gtkselection.h" #include "gtksettings.h" #include "gtkwidgetprivate.h" -#include "gtkwindow.h" +#include "gtkwindowprivate.h" #include "gtktooltip.h" #include "gtkdebug.h" #include "gtkmenu.h" @@ -1585,8 +1585,8 @@ gtk_main_do_event (GdkEvent *event) if (device) grab_widget = gtk_window_group_get_current_device_grab (window_group, device); - if (!grab_widget && window_group->grabs) - grab_widget = window_group->grabs->data; + if (!grab_widget) + grab_widget = gtk_window_group_get_current_grab (window_group); /* If the grab widget is an ancestor of the event widget * then we send the event to the original event widget. @@ -1629,7 +1629,7 @@ gtk_main_do_event (GdkEvent *event) case GDK_DELETE: g_object_ref (event_widget); - if ((!window_group->grabs || gtk_widget_get_toplevel (window_group->grabs->data) == event_widget) && + if ((!gtk_window_group_get_current_grab (window_group) || gtk_widget_get_toplevel (gtk_window_group_get_current_grab (window_group)) == event_widget) && !gtk_widget_event (event_widget, event)) gtk_widget_destroy (event_widget); g_object_unref (event_widget); @@ -1988,16 +1988,13 @@ gtk_grab_add (GtkWidget *widget) if (!gtk_widget_has_grab (widget) && gtk_widget_is_sensitive (widget)) { _gtk_widget_set_has_grab (widget, TRUE); - + group = gtk_main_get_window_group (widget); - if (group->grabs) - old_grab_widget = (GtkWidget *)group->grabs->data; - else - old_grab_widget = NULL; + old_grab_widget = gtk_window_group_get_current_grab (group); g_object_ref (widget); - group->grabs = g_slist_prepend (group->grabs, widget); + _gtk_window_group_add_grab (group, widget); gtk_grab_notify (group, NULL, old_grab_widget, widget, TRUE); } @@ -2018,9 +2015,7 @@ gtk_grab_get_current (void) group = gtk_main_get_window_group (NULL); - if (group->grabs) - return GTK_WIDGET (group->grabs->data); - return NULL; + return gtk_window_group_get_current_grab (group); } void @@ -2036,15 +2031,11 @@ gtk_grab_remove (GtkWidget *widget) _gtk_widget_set_has_grab (widget, FALSE); group = gtk_main_get_window_group (widget); - group->grabs = g_slist_remove (group->grabs, widget); - - if (group->grabs) - new_grab_widget = (GtkWidget *)group->grabs->data; - else - new_grab_widget = NULL; + _gtk_window_group_remove_grab (group, widget); + new_grab_widget = gtk_window_group_get_current_grab (group); gtk_grab_notify (group, NULL, widget, new_grab_widget, FALSE); - + g_object_unref (widget); } } diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index df98e93e29..827474b50e 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -45,6 +45,7 @@ #include "gtkplug.h" #include "gtkprivate.h" #include "gtkplugprivate.h" +#include "gtkwindowprivate.h" #include "gtkdebug.h" #include "x11/gdkx.h" diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index d3aacabcec..fc63c8ca52 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -34,7 +34,7 @@ #include "gtkprivate.h" #include "gtkplugprivate.h" #include "gtkwidgetprivate.h" -#include "gtkwindow.h" +#include "gtkwindowprivate.h" /** * SECTION:gtkplug diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c index 963d832b85..83cdc5c28b 100644 --- a/gtk/gtksocket-x11.c +++ b/gtk/gtksocket-x11.c @@ -31,7 +31,7 @@ #include "gdk/gdkkeysyms.h" #include "gtkmain.h" #include "gtkmarshalers.h" -#include "gtkwindow.h" +#include "gtkwindowprivate.h" #include "gtkplug.h" #include "gtkprivate.h" #include "gtksocket.h" diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index b50d1c8384..86d72a1689 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -35,7 +35,7 @@ #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtksizerequest.h" -#include "gtkwindow.h" +#include "gtkwindowprivate.h" #include "gtkplug.h" #include "gtkprivate.h" #include "gtksocketprivate.h" diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index b27cd38b8e..214a1cf913 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -41,7 +41,7 @@ #include "gtksizegroup-private.h" #include "gtkwidget.h" #include "gtkwidgetprivate.h" -#include "gtkwindow.h" +#include "gtkwindowprivate.h" #include "gtkbindings.h" #include "gtkprivate.h" #include "gdk/gdk.h" diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index b42f68dc87..0bdda2bc2f 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -25,6 +25,9 @@ */ #include "config.h" + +#include "gtkintl.h" + #include #include #include @@ -32,11 +35,10 @@ #include "gdk/gdk.h" #include "gdk/gdkkeysyms.h" -#include "gtkintl.h" - #include "gtkprivate.h" #include "gtkrc.h" #include "gtkwindow.h" +#include "gtkwindowprivate.h" #include "gtkbindings.h" #include "gtkkeyhash.h" #include "gtkmain.h" @@ -95,7 +97,6 @@ */ typedef struct _GtkDeviceGrabInfo GtkDeviceGrabInfo; -typedef struct _GtkWindowGroupPrivate GtkWindowGroupPrivate; struct _GtkWindowPrivate { @@ -297,7 +298,6 @@ struct _GtkWindowGeometryInfo GtkWindowLastGeometryInfo last; }; -#define GTK_WINDOW_GROUP_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_WINDOW_GROUP, GtkWindowGroupPrivate)) struct _GtkDeviceGrabInfo { @@ -308,6 +308,7 @@ struct _GtkDeviceGrabInfo struct _GtkWindowGroupPrivate { + GSList *grabs; GSList *device_grabs; }; @@ -8461,39 +8462,22 @@ gtk_window_has_toplevel_focus (GtkWindow *window) return window->priv->has_toplevel_focus; } +G_DEFINE_TYPE (GtkWindowGroup, gtk_window_group, G_TYPE_OBJECT) + +static void +gtk_window_group_init (GtkWindowGroup *group) +{ + group->priv = G_TYPE_INSTANCE_GET_PRIVATE (group, + GTK_TYPE_WINDOW_GROUP, + GtkWindowGroupPrivate); +} + static void gtk_window_group_class_init (GtkWindowGroupClass *klass) { g_type_class_add_private (klass, sizeof (GtkWindowGroupPrivate)); } -GType -gtk_window_group_get_type (void) -{ - static GType window_group_type = 0; - - if (!window_group_type) - { - const GTypeInfo window_group_info = - { - sizeof (GtkWindowGroupClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_window_group_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkWindowGroup), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL, - }; - - window_group_type = g_type_register_static (G_TYPE_OBJECT, I_("GtkWindowGroup"), - &window_group_info, 0); - } - - return window_group_type; -} - /** * gtk_window_group_new: * @@ -8510,14 +8494,16 @@ gtk_window_group_new (void) static void window_group_cleanup_grabs (GtkWindowGroup *group, - GtkWindow *window) + GtkWindow *window) { GtkWindowGroupPrivate *priv; GtkDeviceGrabInfo *info; GSList *tmp_list; GSList *to_remove = NULL; - tmp_list = group->grabs; + priv = group->priv; + + tmp_list = priv->grabs; while (tmp_list) { if (gtk_widget_get_toplevel (tmp_list->data) == (GtkWidget*) window) @@ -8532,7 +8518,6 @@ window_group_cleanup_grabs (GtkWindowGroup *group, to_remove = g_slist_delete_link (to_remove, to_remove); } - priv = GTK_WINDOW_GROUP_GET_PRIVATE (group); tmp_list = priv->device_grabs; while (tmp_list) @@ -8709,11 +8694,32 @@ gtk_window_group_get_current_grab (GtkWindowGroup *window_group) { g_return_val_if_fail (GTK_IS_WINDOW_GROUP (window_group), NULL); - if (window_group->grabs) - return GTK_WIDGET (window_group->grabs->data); + if (window_group->priv->grabs) + return GTK_WIDGET (window_group->priv->grabs->data); return NULL; } +void +_gtk_window_group_add_grab (GtkWindowGroup *window_group, + GtkWidget *widget) +{ + GtkWindowGroupPrivate *priv; + + priv = window_group->priv; + priv->grabs = g_slist_prepend (priv->grabs, widget); +} + +void +_gtk_window_group_remove_grab (GtkWindowGroup *window_group, + GtkWidget *widget) +{ + GtkWindowGroupPrivate *priv; + + priv = window_group->priv; + priv->grabs = g_slist_remove (priv->grabs, widget); +} + + void _gtk_window_group_add_device_grab (GtkWindowGroup *window_group, GtkWidget *widget, @@ -8723,7 +8729,7 @@ _gtk_window_group_add_device_grab (GtkWindowGroup *window_group, GtkWindowGroupPrivate *priv; GtkDeviceGrabInfo *info; - priv = GTK_WINDOW_GROUP_GET_PRIVATE (window_group); + priv = window_group->priv; info = g_slice_new0 (GtkDeviceGrabInfo); info->widget = widget; @@ -8743,7 +8749,7 @@ _gtk_window_group_remove_device_grab (GtkWindowGroup *window_group, GSList *list, *node = NULL; GdkDevice *other_device; - priv = GTK_WINDOW_GROUP_GET_PRIVATE (window_group); + priv = window_group->priv; other_device = gdk_device_get_associated_device (device); list = priv->device_grabs; @@ -8794,7 +8800,7 @@ gtk_window_group_get_current_device_grab (GtkWindowGroup *window_group, g_return_val_if_fail (GTK_IS_WINDOW_GROUP (window_group), NULL); g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); - priv = GTK_WINDOW_GROUP_GET_PRIVATE (window_group); + priv = window_group->priv; list = priv->device_grabs; other_device = gdk_device_get_associated_device (device); @@ -8821,7 +8827,7 @@ _gtk_window_group_widget_is_blocked_for_device (GtkWindowGroup *window_group, GdkDevice *other_device; GSList *list; - priv = GTK_WINDOW_GROUP_GET_PRIVATE (window_group); + priv = window_group->priv; other_device = gdk_device_get_associated_device (device); list = priv->device_grabs; diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index 57d1f81476..81a979a6da 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -53,6 +53,7 @@ typedef struct _GtkWindowClass GtkWindowClass; typedef struct _GtkWindowGeometryInfo GtkWindowGeometryInfo; typedef struct _GtkWindowGroup GtkWindowGroup; typedef struct _GtkWindowGroupClass GtkWindowGroupClass; +typedef struct _GtkWindowGroupPrivate GtkWindowGroupPrivate; struct _GtkWindow { @@ -95,7 +96,7 @@ struct _GtkWindowGroup { GObject parent_instance; - GSList *GSEAL (grabs); + GtkWindowGroupPrivate *priv; }; struct _GtkWindowGroupClass @@ -336,6 +337,7 @@ void gtk_window_group_remove_window (GtkWindowGroup *window_grou GtkWindow *window); GList * gtk_window_group_list_windows (GtkWindowGroup *window_group); +GtkWidget * gtk_window_group_get_current_grab (GtkWindowGroup *window_group); GtkWidget * gtk_window_group_get_current_device_grab (GtkWindowGroup *window_group, GdkDevice *device); @@ -353,65 +355,6 @@ gboolean gtk_window_resize_grip_is_visible (GtkWindow *window); gboolean gtk_window_get_resize_grip_area (GtkWindow *window, GdkRectangle *rect); - -/* --- internal functions --- */ -void _gtk_window_internal_set_focus (GtkWindow *window, - GtkWidget *focus); -void gtk_window_remove_embedded_xid (GtkWindow *window, - GdkNativeWindow xid); -void gtk_window_add_embedded_xid (GtkWindow *window, - GdkNativeWindow xid); -void _gtk_window_reposition (GtkWindow *window, - gint x, - gint y); -void _gtk_window_constrain_size (GtkWindow *window, - gint width, - gint height, - gint *new_width, - gint *new_height); -GtkWidget *gtk_window_group_get_current_grab (GtkWindowGroup *window_group); -void _gtk_window_group_add_device_grab (GtkWindowGroup *window_group, - GtkWidget *widget, - GdkDevice *device, - gboolean block_others); -void _gtk_window_group_remove_device_grab (GtkWindowGroup *window_group, - GtkWidget *widget, - GdkDevice *device); - -gboolean _gtk_window_group_widget_is_blocked_for_device (GtkWindowGroup *window_group, - GtkWidget *widget, - GdkDevice *device); - -void _gtk_window_set_has_toplevel_focus (GtkWindow *window, - gboolean has_toplevel_focus); -void _gtk_window_unset_focus_and_default (GtkWindow *window, - GtkWidget *widget); - -void _gtk_window_set_is_active (GtkWindow *window, - gboolean is_active); - -void _gtk_window_set_is_toplevel (GtkWindow *window, - gboolean is_toplevel); - -void _gtk_window_get_wmclass (GtkWindow *window, - gchar **wmclass_name, - gchar **wmclass_class); - -typedef void (*GtkWindowKeysForeachFunc) (GtkWindow *window, - guint keyval, - GdkModifierType modifiers, - gboolean is_mnemonic, - gpointer data); - -void _gtk_window_keys_foreach (GtkWindow *window, - GtkWindowKeysForeachFunc func, - gpointer func_data); - -/* --- internal (GtkAcceleratable) --- */ -gboolean _gtk_window_query_nonaccels (GtkWindow *window, - guint accel_key, - GdkModifierType accel_mods); - G_END_DECLS #endif /* __GTK_WINDOW_H__ */ diff --git a/gtk/gtkwindowprivate.h b/gtk/gtkwindowprivate.h new file mode 100644 index 0000000000..18562e9a38 --- /dev/null +++ b/gtk/gtkwindowprivate.h @@ -0,0 +1,90 @@ + +/* GTK - The GIMP Toolkit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_WINDOW_PRIVATE_H__ +#define __GTK_WINDOW_PRIVATE_H__ + +#include "gtkwindow.h" + +G_BEGIN_DECLS + +void _gtk_window_internal_set_focus (GtkWindow *window, + GtkWidget *focus); +void gtk_window_remove_embedded_xid (GtkWindow *window, + GdkNativeWindow xid); +void gtk_window_add_embedded_xid (GtkWindow *window, + GdkNativeWindow xid); +void _gtk_window_reposition (GtkWindow *window, + gint x, + gint y); +void _gtk_window_constrain_size (GtkWindow *window, + gint width, + gint height, + gint *new_width, + gint *new_height); +void _gtk_window_group_add_grab (GtkWindowGroup *window_group, + GtkWidget *widget); +void _gtk_window_group_remove_grab (GtkWindowGroup *window_group, + GtkWidget *widget); +void _gtk_window_group_add_device_grab (GtkWindowGroup *window_group, + GtkWidget *widget, + GdkDevice *device, + gboolean block_others); +void _gtk_window_group_remove_device_grab (GtkWindowGroup *window_group, + GtkWidget *widget, + GdkDevice *device); + +gboolean _gtk_window_group_widget_is_blocked_for_device (GtkWindowGroup *window_group, + GtkWidget *widget, + GdkDevice *device); + +void _gtk_window_set_has_toplevel_focus (GtkWindow *window, + gboolean has_toplevel_focus); +void _gtk_window_unset_focus_and_default (GtkWindow *window, + GtkWidget *widget); + +void _gtk_window_set_is_active (GtkWindow *window, + gboolean is_active); + +void _gtk_window_set_is_toplevel (GtkWindow *window, + gboolean is_toplevel); + +void _gtk_window_get_wmclass (GtkWindow *window, + gchar **wmclass_name, + gchar **wmclass_class); + +typedef void (*GtkWindowKeysForeachFunc) (GtkWindow *window, + guint keyval, + GdkModifierType modifiers, + gboolean is_mnemonic, + gpointer data); + +void _gtk_window_keys_foreach (GtkWindow *window, + GtkWindowKeysForeachFunc func, + gpointer func_data); + +/* --- internal (GtkAcceleratable) --- */ +gboolean _gtk_window_query_nonaccels (GtkWindow *window, + guint accel_key, + GdkModifierType accel_mods); + +G_END_DECLS + +#endif /* __GTK_WINDOW_PRIVATE_H__ */ From 841edfe8c3c1ad057b07c9131c3aae522dfbc8d6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 20:54:13 -0500 Subject: [PATCH 0563/1463] Remove an unused pointer from GtkDrawingArea This is part of removing all sealed members from instance structures. --- gtk/gtkdrawingarea.c | 1 - gtk/gtkdrawingarea.h | 2 -- 2 files changed, 3 deletions(-) diff --git a/gtk/gtkdrawingarea.c b/gtk/gtkdrawingarea.c index b3a2e6c39a..ffa71634ad 100644 --- a/gtk/gtkdrawingarea.c +++ b/gtk/gtkdrawingarea.c @@ -48,7 +48,6 @@ gtk_drawing_area_class_init (GtkDrawingAreaClass *class) static void gtk_drawing_area_init (GtkDrawingArea *darea) { - darea->draw_data = NULL; } diff --git a/gtk/gtkdrawingarea.h b/gtk/gtkdrawingarea.h index 07283bbfb6..553b9be97d 100644 --- a/gtk/gtkdrawingarea.h +++ b/gtk/gtkdrawingarea.h @@ -51,8 +51,6 @@ typedef struct _GtkDrawingAreaClass GtkDrawingAreaClass; struct _GtkDrawingArea { GtkWidget widget; - - gpointer GSEAL (draw_data); }; struct _GtkDrawingAreaClass From 60953ae0f4d1c0d242823d90a5ceef70bb4215b3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 21:43:42 -0500 Subject: [PATCH 0564/1463] Avoid accidental exports --- gtk/gtkvolumebutton.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gtk/gtkvolumebutton.c b/gtk/gtkvolumebutton.c index 639688f493..3a196c606d 100644 --- a/gtk/gtkvolumebutton.c +++ b/gtk/gtkvolumebutton.c @@ -47,7 +47,7 @@ #define EPSILON (1e-10) -const char * const icons[] = +static const gchar * const icons[] = { "audio-volume-muted", "audio-volume-high", @@ -55,7 +55,8 @@ const char * const icons[] = "audio-volume-medium", NULL }; -const char * const icons_symbolic[] = + +static const gchar * const icons_symbolic[] = { "audio-volume-muted-symbolic", "audio-volume-high-symbolic", From 881ea2881df5e4a252ef1ddd0739f100a8f86711 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 21:45:20 -0500 Subject: [PATCH 0565/1463] Remove sealed members from GtkTreeStore --- gtk/gtktreestore.c | 399 ++++++++++++++++++++++++++------------------- gtk/gtktreestore.h | 18 +- 2 files changed, 231 insertions(+), 186 deletions(-) diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index 05567396a0..d2f69aa8c7 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -62,10 +62,26 @@ * */ +struct _GtkTreeStorePrivate +{ + gint stamp; + gpointer root; + gpointer last; + gint n_columns; + gint sort_column_id; + GList *sort_list; + GtkSortType order; + GType *column_headers; + GtkTreeIterCompareFunc default_sort_func; + gpointer default_sort_data; + GDestroyNotify default_sort_destroy; + guint columns_dirty : 1; +}; + #define G_NODE(node) ((GNode *)node) -#define GTK_TREE_STORE_IS_SORTED(tree) (((GtkTreeStore*)(tree))->sort_column_id != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) -#define VALID_ITER(iter, tree_store) ((iter)!= NULL && (iter)->user_data != NULL && ((GtkTreeStore*)(tree_store))->stamp == (iter)->stamp) +#define GTK_TREE_STORE_IS_SORTED(tree) (((GtkTreeStore*)(tree))->priv->sort_column_id != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) +#define VALID_ITER(iter, tree_store) ((iter)!= NULL && (iter)->user_data != NULL && ((GtkTreeStore*)(tree_store))->priv->stamp == (iter)->stamp) static void gtk_tree_store_tree_model_init (GtkTreeModelIface *iface); static void gtk_tree_store_drag_source_init(GtkTreeDragSourceIface *iface); @@ -180,9 +196,9 @@ validate_tree (GtkTreeStore *tree_store) { if (gtk_get_debug_flags () & GTK_DEBUG_TREE) { - g_assert (G_NODE (tree_store->root)->parent == NULL); + g_assert (G_NODE (tree_store->priv->root)->parent == NULL); - validate_gnode (G_NODE (tree_store->root)); + validate_gnode (G_NODE (tree_store->priv->root)); } } @@ -260,18 +276,23 @@ gtk_tree_store_buildable_init (GtkBuildableIface *iface) static void gtk_tree_store_init (GtkTreeStore *tree_store) { - tree_store->root = g_node_new (NULL); - /* While the odds are against us getting 0... - */ + GtkTreeStorePrivate *priv; + + priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_store, + GTK_TYPE_TREE_STORE, + GtkTreeStorePrivate); + tree_store->priv = priv; + priv->root = g_node_new (NULL); + /* While the odds are against us getting 0... */ do { - tree_store->stamp = g_random_int (); + priv->stamp = g_random_int (); } - while (tree_store->stamp == 0); + while (priv->stamp == 0); - tree_store->sort_list = NULL; - tree_store->sort_column_id = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; - tree_store->columns_dirty = FALSE; + priv->sort_list = NULL; + priv->sort_column_id = GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID; + priv->columns_dirty = FALSE; } /** @@ -375,7 +396,7 @@ gtk_tree_store_set_column_types (GtkTreeStore *tree_store, gint i; g_return_if_fail (GTK_IS_TREE_STORE (tree_store)); - g_return_if_fail (tree_store->columns_dirty == 0); + g_return_if_fail (tree_store->priv->columns_dirty == 0); gtk_tree_store_set_n_columns (tree_store, n_columns); for (i = 0; i < n_columns; i++) @@ -393,20 +414,21 @@ static void gtk_tree_store_set_n_columns (GtkTreeStore *tree_store, gint n_columns) { + GtkTreeStorePrivate *priv = tree_store->priv; int i; - if (tree_store->n_columns == n_columns) + if (priv->n_columns == n_columns) return; - tree_store->column_headers = g_renew (GType, tree_store->column_headers, n_columns); - for (i = tree_store->n_columns; i < n_columns; i++) - tree_store->column_headers[i] = G_TYPE_INVALID; - tree_store->n_columns = n_columns; + priv->column_headers = g_renew (GType, priv->column_headers, n_columns); + for (i = priv->n_columns; i < n_columns; i++) + priv->column_headers[i] = G_TYPE_INVALID; + priv->n_columns = n_columns; - if (tree_store->sort_list) - _gtk_tree_data_list_header_free (tree_store->sort_list); + if (priv->sort_list) + _gtk_tree_data_list_header_free (priv->sort_list); - tree_store->sort_list = _gtk_tree_data_list_header_new (n_columns, tree_store->column_headers); + priv->sort_list = _gtk_tree_data_list_header_new (n_columns, priv->column_headers); } /** @@ -426,12 +448,14 @@ gtk_tree_store_set_column_type (GtkTreeStore *tree_store, gint column, GType type) { + GtkTreeStorePrivate *priv = tree_store->priv; + if (!_gtk_tree_data_list_check_type (type)) { g_warning ("%s: Invalid type %s\n", G_STRLOC, g_type_name (type)); return; } - tree_store->column_headers[column] = type; + priv->column_headers[column] = type; } static gboolean @@ -448,20 +472,21 @@ static void gtk_tree_store_finalize (GObject *object) { GtkTreeStore *tree_store = GTK_TREE_STORE (object); + GtkTreeStorePrivate *priv = tree_store->priv; - g_node_traverse (tree_store->root, G_POST_ORDER, G_TRAVERSE_ALL, -1, - node_free, tree_store->column_headers); - g_node_destroy (tree_store->root); - _gtk_tree_data_list_header_free (tree_store->sort_list); - g_free (tree_store->column_headers); + g_node_traverse (priv->root, G_POST_ORDER, G_TRAVERSE_ALL, -1, + node_free, priv->column_headers); + g_node_destroy (priv->root); + _gtk_tree_data_list_header_free (priv->sort_list); + g_free (priv->column_headers); - if (tree_store->default_sort_destroy) + if (priv->default_sort_destroy) { - GDestroyNotify d = tree_store->default_sort_destroy; + GDestroyNotify d = priv->default_sort_destroy; - tree_store->default_sort_destroy = NULL; - d (tree_store->default_sort_data); - tree_store->default_sort_data = NULL; + priv->default_sort_destroy = NULL; + d (priv->default_sort_data); + priv->default_sort_data = NULL; } /* must chain up */ @@ -485,10 +510,11 @@ static gint gtk_tree_store_get_n_columns (GtkTreeModel *tree_model) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; - return tree_store->n_columns; + return priv->n_columns; } static GType @@ -496,12 +522,13 @@ gtk_tree_store_get_column_type (GtkTreeModel *tree_model, gint index) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; - g_return_val_if_fail (index < tree_store->n_columns, G_TYPE_INVALID); + g_return_val_if_fail (index < priv->n_columns, G_TYPE_INVALID); - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; - return tree_store->column_headers[index]; + return priv->column_headers[index]; } static gboolean @@ -510,19 +537,20 @@ gtk_tree_store_get_iter (GtkTreeModel *tree_model, GtkTreePath *path) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreeIter parent; gint *indices; gint depth, i; - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; indices = gtk_tree_path_get_indices (path); depth = gtk_tree_path_get_depth (path); g_return_val_if_fail (depth > 0, FALSE); - parent.stamp = tree_store->stamp; - parent.user_data = tree_store->root; + parent.stamp = priv->stamp; + parent.user_data = priv->root; if (!gtk_tree_store_iter_nth_child (tree_model, iter, &parent, indices[0])) return FALSE; @@ -542,24 +570,25 @@ gtk_tree_store_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *retval; GNode *tmp_node; gint i = 0; g_return_val_if_fail (iter->user_data != NULL, NULL); - g_return_val_if_fail (iter->stamp == tree_store->stamp, NULL); + g_return_val_if_fail (iter->stamp == priv->stamp, NULL); validate_tree (tree_store); if (G_NODE (iter->user_data)->parent == NULL && - G_NODE (iter->user_data) == tree_store->root) + G_NODE (iter->user_data) == priv->root) return gtk_tree_path_new (); g_assert (G_NODE (iter->user_data)->parent != NULL); - if (G_NODE (iter->user_data)->parent == G_NODE (tree_store->root)) + if (G_NODE (iter->user_data)->parent == G_NODE (priv->root)) { retval = gtk_tree_path_new (); - tmp_node = G_NODE (tree_store->root)->children; + tmp_node = G_NODE (priv->root)->children; } else { @@ -608,10 +637,11 @@ gtk_tree_store_get_value (GtkTreeModel *tree_model, GValue *value) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreeDataList *list; gint tmp_column = column; - g_return_if_fail (column < tree_store->n_columns); + g_return_if_fail (column < priv->n_columns); g_return_if_fail (VALID_ITER (iter, tree_store)); list = G_NODE (iter->user_data)->data; @@ -622,13 +652,13 @@ gtk_tree_store_get_value (GtkTreeModel *tree_model, if (list) { _gtk_tree_data_list_node_to_value (list, - tree_store->column_headers[column], + priv->column_headers[column], value); } else { /* We want to return an initialized but empty (default) value */ - g_value_init (value, tree_store->column_headers[column]); + g_value_init (value, priv->column_headers[column]); } } @@ -637,7 +667,7 @@ gtk_tree_store_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter) { g_return_val_if_fail (iter->user_data != NULL, FALSE); - g_return_val_if_fail (iter->stamp == GTK_TREE_STORE (tree_model)->stamp, FALSE); + g_return_val_if_fail (iter->stamp == GTK_TREE_STORE (tree_model)->priv->stamp, FALSE); if (G_NODE (iter->user_data)->next) { @@ -657,6 +687,7 @@ gtk_tree_store_iter_children (GtkTreeModel *tree_model, GtkTreeIter *parent) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; GNode *children; if (parent) @@ -665,11 +696,11 @@ gtk_tree_store_iter_children (GtkTreeModel *tree_model, if (parent) children = G_NODE (parent->user_data)->children; else - children = G_NODE (tree_store->root)->children; + children = G_NODE (priv->root)->children; if (children) { - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = children; return TRUE; } @@ -700,7 +731,7 @@ gtk_tree_store_iter_n_children (GtkTreeModel *tree_model, g_return_val_if_fail (iter == NULL || iter->user_data != NULL, 0); if (iter == NULL) - node = G_NODE (GTK_TREE_STORE (tree_model)->root)->children; + node = G_NODE (GTK_TREE_STORE (tree_model)->priv->root)->children; else node = G_NODE (iter->user_data)->children; @@ -720,13 +751,14 @@ gtk_tree_store_iter_nth_child (GtkTreeModel *tree_model, gint n) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; GNode *parent_node; GNode *child; g_return_val_if_fail (parent == NULL || parent->user_data != NULL, FALSE); if (parent == NULL) - parent_node = tree_store->root; + parent_node = priv->root; else parent_node = parent->user_data; @@ -735,7 +767,7 @@ gtk_tree_store_iter_nth_child (GtkTreeModel *tree_model, if (child) { iter->user_data = child; - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; return TRUE; } else @@ -751,6 +783,7 @@ gtk_tree_store_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *child) { GtkTreeStore *tree_store = (GtkTreeStore *) tree_model; + GtkTreeStorePrivate *priv = tree_store->priv; GNode *parent; g_return_val_if_fail (iter != NULL, FALSE); @@ -760,10 +793,10 @@ gtk_tree_store_iter_parent (GtkTreeModel *tree_model, g_assert (parent != NULL); - if (parent != tree_store->root) + if (parent != priv->root) { iter->user_data = parent; - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; return TRUE; } else @@ -782,22 +815,23 @@ gtk_tree_store_real_set_value (GtkTreeStore *tree_store, GValue *value, gboolean sort) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreeDataList *list; GtkTreeDataList *prev; gint old_column = column; - GValue real_value = {0, }; + GValue real_value = { 0, }; gboolean converted = FALSE; gboolean retval = FALSE; - if (! g_type_is_a (G_VALUE_TYPE (value), tree_store->column_headers[column])) + if (! g_type_is_a (G_VALUE_TYPE (value), priv->column_headers[column])) { - if (! (g_value_type_compatible (G_VALUE_TYPE (value), tree_store->column_headers[column]) && - g_value_type_compatible (tree_store->column_headers[column], G_VALUE_TYPE (value)))) + if (! (g_value_type_compatible (G_VALUE_TYPE (value), priv->column_headers[column]) && + g_value_type_compatible (priv->column_headers[column], G_VALUE_TYPE (value)))) { g_warning ("%s: Unable to convert from %s to %s\n", G_STRLOC, g_type_name (G_VALUE_TYPE (value)), - g_type_name (tree_store->column_headers[column])); + g_type_name (priv->column_headers[column])); return retval; } if (!g_value_transform (value, &real_value)) @@ -805,7 +839,7 @@ gtk_tree_store_real_set_value (GtkTreeStore *tree_store, g_warning ("%s: Unable to make conversion from %s to %s\n", G_STRLOC, g_type_name (G_VALUE_TYPE (value)), - g_type_name (tree_store->column_headers[column])); + g_type_name (priv->column_headers[column])); g_value_unset (&real_value); return retval; } @@ -889,7 +923,7 @@ gtk_tree_store_set_value (GtkTreeStore *tree_store, { g_return_if_fail (GTK_IS_TREE_STORE (tree_store)); g_return_if_fail (VALID_ITER (iter, tree_store)); - g_return_if_fail (column >= 0 && column < tree_store->n_columns); + g_return_if_fail (column >= 0 && column < tree_store->priv->n_columns); g_return_if_fail (G_IS_VALUE (value)); if (gtk_tree_store_real_set_value (tree_store, iter, column, value, TRUE)) @@ -905,22 +939,23 @@ gtk_tree_store_set_value (GtkTreeStore *tree_store, static GtkTreeIterCompareFunc gtk_tree_store_get_compare_func (GtkTreeStore *tree_store) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreeIterCompareFunc func = NULL; if (GTK_TREE_STORE_IS_SORTED (tree_store)) { - if (tree_store->sort_column_id != -1) + if (priv->sort_column_id != -1) { GtkTreeDataSortHeader *header; - header = _gtk_tree_data_list_get_header (tree_store->sort_list, - tree_store->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); g_return_val_if_fail (header != NULL, NULL); g_return_val_if_fail (header->func != NULL, NULL); func = header->func; } else { - func = tree_store->default_sort_func; + func = priv->default_sort_func; } } @@ -936,6 +971,7 @@ gtk_tree_store_set_vector_internal (GtkTreeStore *tree_store, GValue *values, gint n_values) { + GtkTreeStorePrivate *priv = tree_store->priv; gint i; GtkTreeIterCompareFunc func = NULL; @@ -950,7 +986,7 @@ gtk_tree_store_set_vector_internal (GtkTreeStore *tree_store, FALSE) || *emit_signal; if (func == _gtk_tree_data_list_compare_func && - columns[i] == tree_store->sort_column_id) + columns[i] == priv->sort_column_id) *maybe_need_sort = TRUE; } } @@ -962,6 +998,7 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, gboolean *maybe_need_sort, va_list var_args) { + GtkTreeStorePrivate *priv = tree_store->priv; gint column; GtkTreeIterCompareFunc func = NULL; @@ -976,12 +1013,12 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, GValue value = { 0, }; gchar *error = NULL; - if (column < 0 || column >= tree_store->n_columns) + if (column < 0 || column >= priv->n_columns) { g_warning ("%s: Invalid column number %d added to iter (remember to end your list of columns with a -1)", G_STRLOC, column); break; } - g_value_init (&value, tree_store->column_headers[column]); + g_value_init (&value, priv->column_headers[column]); G_VALUE_COLLECT (&value, var_args, 0, &error); if (error) @@ -1002,7 +1039,7 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store, FALSE) || *emit_signal; if (func == _gtk_tree_data_list_compare_func && - column == tree_store->sort_column_id) + column == priv->sort_column_id) *maybe_need_sort = TRUE; g_value_unset (&value); @@ -1033,6 +1070,7 @@ gtk_tree_store_set_valuesv (GtkTreeStore *tree_store, GValue *values, gint n_values) { + GtkTreeStorePrivate *priv = tree_store->priv; gboolean emit_signal = FALSE; gboolean maybe_need_sort = FALSE; @@ -1045,7 +1083,7 @@ gtk_tree_store_set_valuesv (GtkTreeStore *tree_store, columns, values, n_values); if (maybe_need_sort && GTK_TREE_STORE_IS_SORTED (tree_store)) - gtk_tree_store_sort_iter_changed (tree_store, iter, tree_store->sort_column_id, TRUE); + gtk_tree_store_sort_iter_changed (tree_store, iter, priv->sort_column_id, TRUE); if (emit_signal) { @@ -1072,6 +1110,7 @@ gtk_tree_store_set_valist (GtkTreeStore *tree_store, GtkTreeIter *iter, va_list var_args) { + GtkTreeStorePrivate *priv = tree_store->priv; gboolean emit_signal = FALSE; gboolean maybe_need_sort = FALSE; @@ -1084,7 +1123,7 @@ gtk_tree_store_set_valist (GtkTreeStore *tree_store, var_args); if (maybe_need_sort && GTK_TREE_STORE_IS_SORTED (tree_store)) - gtk_tree_store_sort_iter_changed (tree_store, iter, tree_store->sort_column_id, TRUE); + gtk_tree_store_sort_iter_changed (tree_store, iter, priv->sort_column_id, TRUE); if (emit_signal) { @@ -1139,6 +1178,7 @@ gboolean gtk_tree_store_remove (GtkTreeStore *tree_store, GtkTreeIter *iter) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *path; GtkTreeIter new_iter = {0,}; GNode *parent; @@ -1154,21 +1194,21 @@ gtk_tree_store_remove (GtkTreeStore *tree_store, if (G_NODE (iter->user_data)->data) g_node_traverse (G_NODE (iter->user_data), G_POST_ORDER, G_TRAVERSE_ALL, - -1, node_free, tree_store->column_headers); + -1, node_free, priv->column_headers); path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); g_node_destroy (G_NODE (iter->user_data)); gtk_tree_model_row_deleted (GTK_TREE_MODEL (tree_store), path); - if (parent != G_NODE (tree_store->root)) + if (parent != G_NODE (priv->root)) { /* child_toggled */ if (parent->children == NULL) { gtk_tree_path_up (path); - new_iter.stamp = tree_store->stamp; + new_iter.stamp = priv->stamp; new_iter.user_data = parent; gtk_tree_model_row_has_child_toggled (GTK_TREE_MODEL (tree_store), path, &new_iter); } @@ -1178,7 +1218,7 @@ gtk_tree_store_remove (GtkTreeStore *tree_store, /* revalidate iter */ if (next_node != NULL) { - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = next_node; return TRUE; } @@ -1213,6 +1253,7 @@ gtk_tree_store_insert (GtkTreeStore *tree_store, GtkTreeIter *parent, gint position) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *path; GNode *parent_node; GNode *new_node; @@ -1225,20 +1266,20 @@ gtk_tree_store_insert (GtkTreeStore *tree_store, if (parent) parent_node = parent->user_data; else - parent_node = tree_store->root; + parent_node = priv->root; - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; new_node = g_node_new (NULL); - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = new_node; g_node_insert (parent_node, position, new_node); path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { if (new_node->prev == NULL && new_node->next == NULL) { @@ -1276,6 +1317,7 @@ gtk_tree_store_insert_before (GtkTreeStore *tree_store, GtkTreeIter *parent, GtkTreeIter *sibling) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *path; GNode *parent_node = NULL; GNode *new_node; @@ -1288,7 +1330,7 @@ gtk_tree_store_insert_before (GtkTreeStore *tree_store, g_return_if_fail (VALID_ITER (sibling, tree_store)); if (parent == NULL && sibling == NULL) - parent_node = tree_store->root; + parent_node = priv->root; else if (parent == NULL) parent_node = G_NODE (sibling->user_data)->parent; else if (sibling == NULL) @@ -1299,7 +1341,7 @@ gtk_tree_store_insert_before (GtkTreeStore *tree_store, parent_node = G_NODE (parent->user_data); } - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; new_node = g_node_new (NULL); @@ -1307,19 +1349,19 @@ gtk_tree_store_insert_before (GtkTreeStore *tree_store, sibling ? G_NODE (sibling->user_data) : NULL, new_node); - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = new_node; path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { if (new_node->prev == NULL && new_node->next == NULL) { GtkTreeIter parent_iter; - parent_iter.stamp = tree_store->stamp; + parent_iter.stamp = priv->stamp; parent_iter.user_data = parent_node; gtk_tree_path_up (path); @@ -1356,6 +1398,7 @@ gtk_tree_store_insert_after (GtkTreeStore *tree_store, GtkTreeIter *parent, GtkTreeIter *sibling) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *path; GNode *parent_node; GNode *new_node; @@ -1368,7 +1411,7 @@ gtk_tree_store_insert_after (GtkTreeStore *tree_store, g_return_if_fail (VALID_ITER (sibling, tree_store)); if (parent == NULL && sibling == NULL) - parent_node = tree_store->root; + parent_node = priv->root; else if (parent == NULL) parent_node = G_NODE (sibling->user_data)->parent; else if (sibling == NULL) @@ -1380,7 +1423,7 @@ gtk_tree_store_insert_after (GtkTreeStore *tree_store, parent_node = G_NODE (parent->user_data); } - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; new_node = g_node_new (NULL); @@ -1388,19 +1431,19 @@ gtk_tree_store_insert_after (GtkTreeStore *tree_store, sibling ? G_NODE (sibling->user_data) : NULL, new_node); - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = new_node; path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { if (new_node->prev == NULL && new_node->next == NULL) { GtkTreeIter parent_iter; - parent_iter.stamp = tree_store->stamp; + parent_iter.stamp = priv->stamp; parent_iter.user_data = parent_node; gtk_tree_path_up (path); @@ -1449,6 +1492,7 @@ gtk_tree_store_insert_with_values (GtkTreeStore *tree_store, gint position, ...) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *path; GNode *parent_node; GNode *new_node; @@ -1468,13 +1512,13 @@ gtk_tree_store_insert_with_values (GtkTreeStore *tree_store, if (parent) parent_node = parent->user_data; else - parent_node = tree_store->root; + parent_node = priv->root; - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; new_node = g_node_new (NULL); - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = new_node; g_node_insert (parent_node, position, new_node); @@ -1485,12 +1529,12 @@ gtk_tree_store_insert_with_values (GtkTreeStore *tree_store, va_end (var_args); if (maybe_need_sort && GTK_TREE_STORE_IS_SORTED (tree_store)) - gtk_tree_store_sort_iter_changed (tree_store, iter, tree_store->sort_column_id, FALSE); + gtk_tree_store_sort_iter_changed (tree_store, iter, priv->sort_column_id, FALSE); path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { if (new_node->prev == NULL && new_node->next == NULL) { @@ -1529,6 +1573,7 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, GValue *values, gint n_values) { + GtkTreeStorePrivate *priv = tree_store->priv; GtkTreePath *path; GNode *parent_node; GNode *new_node; @@ -1547,13 +1592,13 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, if (parent) parent_node = parent->user_data; else - parent_node = tree_store->root; + parent_node = priv->root; - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; new_node = g_node_new (NULL); - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = new_node; g_node_insert (parent_node, position, new_node); @@ -1562,12 +1607,12 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, columns, values, n_values); if (maybe_need_sort && GTK_TREE_STORE_IS_SORTED (tree_store)) - gtk_tree_store_sort_iter_changed (tree_store, iter, tree_store->sort_column_id, FALSE); + gtk_tree_store_sort_iter_changed (tree_store, iter, priv->sort_column_id, FALSE); path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { if (new_node->prev == NULL && new_node->next == NULL) { @@ -1598,6 +1643,7 @@ gtk_tree_store_prepend (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent) { + GtkTreeStorePrivate *priv = tree_store->priv; GNode *parent_node; g_return_if_fail (GTK_IS_TREE_STORE (tree_store)); @@ -1605,10 +1651,10 @@ gtk_tree_store_prepend (GtkTreeStore *tree_store, if (parent != NULL) g_return_if_fail (VALID_ITER (parent, tree_store)); - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; if (parent == NULL) - parent_node = tree_store->root; + parent_node = priv->root; else parent_node = parent->user_data; @@ -1616,7 +1662,7 @@ gtk_tree_store_prepend (GtkTreeStore *tree_store, { GtkTreePath *path; - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = g_node_new (NULL); g_node_prepend (parent_node, G_NODE (iter->user_data)); @@ -1624,7 +1670,7 @@ gtk_tree_store_prepend (GtkTreeStore *tree_store, path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { gtk_tree_path_up (path); gtk_tree_model_row_has_child_toggled (GTK_TREE_MODEL (tree_store), path, parent); @@ -1656,6 +1702,7 @@ gtk_tree_store_append (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent) { + GtkTreeStorePrivate *priv = tree_store->priv; GNode *parent_node; g_return_if_fail (GTK_IS_TREE_STORE (tree_store)); @@ -1664,17 +1711,17 @@ gtk_tree_store_append (GtkTreeStore *tree_store, g_return_if_fail (VALID_ITER (parent, tree_store)); if (parent == NULL) - parent_node = tree_store->root; + parent_node = priv->root; else parent_node = parent->user_data; - tree_store->columns_dirty = TRUE; + priv->columns_dirty = TRUE; if (parent_node->children == NULL) { GtkTreePath *path; - iter->stamp = tree_store->stamp; + iter->stamp = priv->stamp; iter->user_data = g_node_new (NULL); g_node_append (parent_node, G_NODE (iter->user_data)); @@ -1682,7 +1729,7 @@ gtk_tree_store_append (GtkTreeStore *tree_store, path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), iter); gtk_tree_model_row_inserted (GTK_TREE_MODEL (tree_store), path, iter); - if (parent_node != tree_store->root) + if (parent_node != priv->root) { gtk_tree_path_up (path); gtk_tree_model_row_has_child_toggled (GTK_TREE_MODEL (tree_store), path, parent); @@ -1766,7 +1813,7 @@ gtk_tree_store_clear_traverse (GNode *node, if (node->parent) { - iter.stamp = store->stamp; + iter.stamp = store->priv->stamp; iter.user_data = node; gtk_tree_store_remove (store, &iter); @@ -1774,7 +1821,7 @@ gtk_tree_store_clear_traverse (GNode *node, } else if (node->parent) { - iter.stamp = store->stamp; + iter.stamp = store->priv->stamp; iter.user_data = node; gtk_tree_store_remove (store, &iter); @@ -1786,11 +1833,12 @@ gtk_tree_store_clear_traverse (GNode *node, static void gtk_tree_store_increment_stamp (GtkTreeStore *tree_store) { + GtkTreeStorePrivate *priv = tree_store->priv; do { - tree_store->stamp++; + priv->stamp++; } - while (tree_store->stamp == 0); + while (priv->stamp == 0); } /** @@ -1804,7 +1852,7 @@ gtk_tree_store_clear (GtkTreeStore *tree_store) { g_return_if_fail (GTK_IS_TREE_STORE (tree_store)); - gtk_tree_store_clear_traverse (tree_store->root, tree_store); + gtk_tree_store_clear_traverse (tree_store->priv->root, tree_store); gtk_tree_store_increment_stamp (tree_store); } @@ -1856,7 +1904,7 @@ gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store, if (!VALID_ITER (iter, tree_store)) return FALSE; - return gtk_tree_store_iter_is_valid_helper (iter, tree_store->root); + return gtk_tree_store_iter_is_valid_helper (iter, tree_store->priv->root); } /* DND */ @@ -1928,7 +1976,7 @@ copy_node_data (GtkTreeStore *tree_store, col = 0; while (dl) { - copy_iter = _gtk_tree_data_list_node_copy (dl, tree_store->column_headers[col]); + copy_iter = _gtk_tree_data_list_node_copy (dl, tree_store->priv->column_headers[col]); if (copy_head == NULL) copy_head = copy_iter; @@ -2204,7 +2252,7 @@ gtk_tree_store_reorder (GtkTreeStore *tree_store, g_return_if_fail (new_order != NULL); if (!parent) - level = G_NODE (tree_store->root)->children; + level = G_NODE (tree_store->priv->root)->children; else level = G_NODE (parent->user_data)->children; @@ -2246,7 +2294,7 @@ gtk_tree_store_reorder (GtkTreeStore *tree_store, if (parent) G_NODE (parent->user_data)->children = sort_array[0].node; else - G_NODE (tree_store->root)->children = sort_array[0].node; + G_NODE (tree_store->priv->root)->children = sort_array[0].node; /* emit signal */ if (parent) @@ -2307,11 +2355,11 @@ gtk_tree_store_swap (GtkTreeStore *tree_store, { gtk_tree_path_free (path_a); gtk_tree_path_free (path_b); - + g_warning ("Given children are not in the same level\n"); return; } - parent_node = G_NODE (tree_store->root); + parent_node = G_NODE (tree_store->priv->root); } else { @@ -2319,7 +2367,7 @@ gtk_tree_store_swap (GtkTreeStore *tree_store, { gtk_tree_path_free (path_a); gtk_tree_path_free (path_b); - + g_warning ("Given children don't have a common parent\n"); return; } @@ -2396,7 +2444,7 @@ gtk_tree_store_swap (GtkTreeStore *tree_store, order[i] = i; gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store), path_a, - parent_node == tree_store->root + parent_node == tree_store->priv->root ? NULL : &parent, order); gtk_tree_path_free (path_a); g_free (order); @@ -2494,7 +2542,7 @@ gtk_tree_store_move (GtkTreeStore *tree_store, parent = G_NODE (parent_iter.user_data); } else - parent = G_NODE (tree_store->root); + parent = G_NODE (tree_store->priv->root); /* yes, I know that this can be done shorter, but I'm doing it this way * so the code is also maintainable @@ -2772,6 +2820,7 @@ gtk_tree_store_compare_func (gconstpointer a, gpointer user_data) { GtkTreeStore *tree_store = user_data; + GtkTreeStorePrivate *priv = tree_store->priv; GNode *node_a; GNode *node_b; GtkTreeIterCompareFunc func; @@ -2781,12 +2830,12 @@ gtk_tree_store_compare_func (gconstpointer a, GtkTreeIter iter_b; gint retval; - if (tree_store->sort_column_id != -1) + if (priv->sort_column_id != -1) { GtkTreeDataSortHeader *header; - header = _gtk_tree_data_list_get_header (tree_store->sort_list, - tree_store->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); g_return_val_if_fail (header != NULL, 0); g_return_val_if_fail (header->func != NULL, 0); @@ -2795,22 +2844,22 @@ gtk_tree_store_compare_func (gconstpointer a, } else { - g_return_val_if_fail (tree_store->default_sort_func != NULL, 0); - func = tree_store->default_sort_func; - data = tree_store->default_sort_data; + g_return_val_if_fail (priv->default_sort_func != NULL, 0); + func = priv->default_sort_func; + data = priv->default_sort_data; } node_a = ((SortTuple *) a)->node; node_b = ((SortTuple *) b)->node; - iter_a.stamp = tree_store->stamp; + iter_a.stamp = priv->stamp; iter_a.user_data = node_a; - iter_b.stamp = tree_store->stamp; + iter_b.stamp = priv->stamp; iter_b.user_data = node_b; retval = (* func) (GTK_TREE_MODEL (user_data), &iter_a, &iter_b, data); - if (tree_store->order == GTK_SORT_DESCENDING) + if (priv->order == GTK_SORT_DESCENDING) { if (retval > 0) retval = -1; @@ -2879,7 +2928,7 @@ gtk_tree_store_sort_helper (GtkTreeStore *tree_store, for (i = 0; i < list_length; i++) new_order[i] = g_array_index (sort_array, SortTuple, i).offset; - iter.stamp = tree_store->stamp; + iter.stamp = tree_store->priv->stamp; iter.user_data = parent; path = gtk_tree_store_get_path (GTK_TREE_MODEL (tree_store), &iter); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (tree_store), @@ -2901,15 +2950,17 @@ gtk_tree_store_sort_helper (GtkTreeStore *tree_store, static void gtk_tree_store_sort (GtkTreeStore *tree_store) { + GtkTreeStorePrivate *priv = tree_store->priv; + if (!GTK_TREE_STORE_IS_SORTED (tree_store)) return; - if (tree_store->sort_column_id != -1) + if (priv->sort_column_id != -1) { GtkTreeDataSortHeader *header = NULL; - header = _gtk_tree_data_list_get_header (tree_store->sort_list, - tree_store->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); /* We want to make sure that we have a function */ g_return_if_fail (header != NULL); @@ -2917,10 +2968,10 @@ gtk_tree_store_sort (GtkTreeStore *tree_store) } else { - g_return_if_fail (tree_store->default_sort_func != NULL); + g_return_if_fail (priv->default_sort_func != NULL); } - gtk_tree_store_sort_helper (tree_store, G_NODE (tree_store->root), TRUE); + gtk_tree_store_sort_helper (tree_store, G_NODE (priv->root), TRUE); } static void @@ -2929,6 +2980,7 @@ gtk_tree_store_sort_iter_changed (GtkTreeStore *tree_store, gint column, gboolean emit_signal) { + GtkTreeStorePrivate *priv = tree_store->priv; GNode *prev = NULL; GNode *next = NULL; GNode *node; @@ -2946,12 +2998,12 @@ gtk_tree_store_sort_iter_changed (GtkTreeStore *tree_store, g_return_if_fail (G_NODE (iter->user_data)->parent != NULL); - tmp_iter.stamp = tree_store->stamp; - if (tree_store->sort_column_id != -1) + tmp_iter.stamp = priv->stamp; + if (priv->sort_column_id != -1) { GtkTreeDataSortHeader *header; - header = _gtk_tree_data_list_get_header (tree_store->sort_list, - tree_store->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); g_return_if_fail (header != NULL); g_return_if_fail (header->func != NULL); func = header->func; @@ -2959,14 +3011,14 @@ gtk_tree_store_sort_iter_changed (GtkTreeStore *tree_store, } else { - g_return_if_fail (tree_store->default_sort_func != NULL); - func = tree_store->default_sort_func; - data = tree_store->default_sort_data; + g_return_if_fail (priv->default_sort_func != NULL); + func = priv->default_sort_func; + data = priv->default_sort_data; } /* If it's the built in function, we don't sort. */ if (func == _gtk_tree_data_list_compare_func && - tree_store->sort_column_id != column) + priv->sort_column_id != column) return; old_location = 0; @@ -2997,7 +3049,7 @@ gtk_tree_store_sort_iter_changed (GtkTreeStore *tree_store, cmp_b = (* func) (GTK_TREE_MODEL (tree_store), iter, &tmp_iter, data); } - if (tree_store->order == GTK_SORT_DESCENDING) + if (priv->order == GTK_SORT_DESCENDING) { if (cmp_a < 0) cmp_a = 1; @@ -3037,7 +3089,7 @@ gtk_tree_store_sort_iter_changed (GtkTreeStore *tree_store, node = node->parent->children; new_location = 0; tmp_iter.user_data = node; - if (tree_store->order == GTK_SORT_DESCENDING) + if (priv->order == GTK_SORT_DESCENDING) cmp_a = (* func) (GTK_TREE_MODEL (tree_store), &tmp_iter, iter, data); else cmp_a = (* func) (GTK_TREE_MODEL (tree_store), iter, &tmp_iter, data); @@ -3048,7 +3100,7 @@ gtk_tree_store_sort_iter_changed (GtkTreeStore *tree_store, node = node->next; new_location++; tmp_iter.user_data = node; - if (tree_store->order == GTK_SORT_DESCENDING) + if (priv->order == GTK_SORT_DESCENDING) cmp_a = (* func) (GTK_TREE_MODEL (tree_store), &tmp_iter, iter, data); else cmp_a = (* func) (GTK_TREE_MODEL (tree_store), iter, &tmp_iter, data); @@ -3123,14 +3175,15 @@ gtk_tree_store_get_sort_column_id (GtkTreeSortable *sortable, GtkSortType *order) { GtkTreeStore *tree_store = (GtkTreeStore *) sortable; + GtkTreeStorePrivate *priv = tree_store->priv; if (sort_column_id) - * sort_column_id = tree_store->sort_column_id; + * sort_column_id = priv->sort_column_id; if (order) - * order = tree_store->order; + * order = priv->order; - if (tree_store->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID || - tree_store->sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID || + priv->sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) return FALSE; return TRUE; @@ -3142,10 +3195,10 @@ gtk_tree_store_set_sort_column_id (GtkTreeSortable *sortable, GtkSortType order) { GtkTreeStore *tree_store = (GtkTreeStore *) sortable; + GtkTreeStorePrivate *priv = tree_store->priv; - - if ((tree_store->sort_column_id == sort_column_id) && - (tree_store->order == order)) + if ((priv->sort_column_id == sort_column_id) && + (priv->order == order)) return; if (sort_column_id != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) @@ -3154,7 +3207,7 @@ gtk_tree_store_set_sort_column_id (GtkTreeSortable *sortable, { GtkTreeDataSortHeader *header = NULL; - header = _gtk_tree_data_list_get_header (tree_store->sort_list, + header = _gtk_tree_data_list_get_header (priv->sort_list, sort_column_id); /* We want to make sure that we have a function */ @@ -3163,12 +3216,12 @@ gtk_tree_store_set_sort_column_id (GtkTreeSortable *sortable, } else { - g_return_if_fail (tree_store->default_sort_func != NULL); + g_return_if_fail (priv->default_sort_func != NULL); } } - tree_store->sort_column_id = sort_column_id; - tree_store->order = order; + priv->sort_column_id = sort_column_id; + priv->order = order; gtk_tree_sortable_sort_column_changed (sortable); @@ -3183,12 +3236,13 @@ gtk_tree_store_set_sort_func (GtkTreeSortable *sortable, GDestroyNotify destroy) { GtkTreeStore *tree_store = (GtkTreeStore *) sortable; + GtkTreeStorePrivate *priv = tree_store->priv; - tree_store->sort_list = _gtk_tree_data_list_set_header (tree_store->sort_list, - sort_column_id, - func, data, destroy); + priv->sort_list = _gtk_tree_data_list_set_header (priv->sort_list, + sort_column_id, + func, data, destroy); - if (tree_store->sort_column_id == sort_column_id) + if (priv->sort_column_id == sort_column_id) gtk_tree_store_sort (tree_store); } @@ -3199,20 +3253,21 @@ gtk_tree_store_set_default_sort_func (GtkTreeSortable *sortable, GDestroyNotify destroy) { GtkTreeStore *tree_store = (GtkTreeStore *) sortable; + GtkTreeStorePrivate *priv = tree_store->priv; - if (tree_store->default_sort_destroy) + if (priv->default_sort_destroy) { - GDestroyNotify d = tree_store->default_sort_destroy; + GDestroyNotify d = priv->default_sort_destroy; - tree_store->default_sort_destroy = NULL; - d (tree_store->default_sort_data); + priv->default_sort_destroy = NULL; + d (priv->default_sort_data); } - tree_store->default_sort_func = func; - tree_store->default_sort_data = data; - tree_store->default_sort_destroy = destroy; + priv->default_sort_func = func; + priv->default_sort_data = data; + priv->default_sort_destroy = destroy; - if (tree_store->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) gtk_tree_store_sort (tree_store); } @@ -3221,7 +3276,7 @@ gtk_tree_store_has_default_sort_func (GtkTreeSortable *sortable) { GtkTreeStore *tree_store = (GtkTreeStore *) sortable; - return (tree_store->default_sort_func != NULL); + return (tree_store->priv->default_sort_func != NULL); } static void diff --git a/gtk/gtktreestore.h b/gtk/gtktreestore.h index aee9baca97..5fba118d16 100644 --- a/gtk/gtktreestore.h +++ b/gtk/gtktreestore.h @@ -40,25 +40,15 @@ G_BEGIN_DECLS #define GTK_IS_TREE_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_STORE)) #define GTK_TREE_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_STORE, GtkTreeStoreClass)) -typedef struct _GtkTreeStore GtkTreeStore; -typedef struct _GtkTreeStoreClass GtkTreeStoreClass; +typedef struct _GtkTreeStore GtkTreeStore; +typedef struct _GtkTreeStoreClass GtkTreeStoreClass; +typedef struct _GtkTreeStorePrivate GtkTreeStorePrivate; struct _GtkTreeStore { GObject parent; - gint GSEAL (stamp); - gpointer GSEAL (root); - gpointer GSEAL (last); - gint GSEAL (n_columns); - gint GSEAL (sort_column_id); - GList *GSEAL (sort_list); - GtkSortType GSEAL (order); - GType *GSEAL (column_headers); - GtkTreeIterCompareFunc GSEAL (default_sort_func); - gpointer GSEAL (default_sort_data); - GDestroyNotify GSEAL (default_sort_destroy); - guint GSEAL (columns_dirty) : 1; + GtkTreeStorePrivate *priv; }; struct _GtkTreeStoreClass From 121746605bc8efbeea1276cd657d9e1916facd8b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 21:50:18 -0500 Subject: [PATCH 0566/1463] Add the private struct in class_init --- gtk/gtktreestore.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index d2f69aa8c7..fd0b3fff64 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -222,6 +222,8 @@ gtk_tree_store_class_init (GtkTreeStoreClass *class) object_class = (GObjectClass *) class; object_class->finalize = gtk_tree_store_finalize; + + g_type_class_add_private (class, sizeof (GtkTreeStorePrivate)); } static void From b45e5fa51e02e6ae902550e0c7406b61138f21f1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 23:49:27 -0500 Subject: [PATCH 0567/1463] Remove sealed members from GtkTreeModelSort --- gtk/gtktreemodelsort.c | 462 ++++++++++++++++++++++++----------------- gtk/gtktreemodelsort.h | 28 +-- 2 files changed, 270 insertions(+), 220 deletions(-) diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c index b83b59f347..5582da781e 100644 --- a/gtk/gtktreemodelsort.c +++ b/gtk/gtktreemodelsort.c @@ -95,9 +95,35 @@ enum { }; +struct _GtkTreeModelSortPrivate +{ + gpointer root; + gint stamp; + guint child_flags; + GtkTreeModel *child_model; + gint zero_ref_count; + + /* sort information */ + GList *sort_list; + gint sort_column_id; + GtkSortType order; + + /* default sort */ + GtkTreeIterCompareFunc default_sort_func; + gpointer default_sort_data; + GDestroyNotify default_sort_destroy; + + /* signal ids */ + gulong changed_id; + gulong inserted_id; + gulong has_child_toggled_id; + gulong deleted_id; + gulong reordered_id; +}; + #define GTK_TREE_MODEL_SORT_CACHE_CHILD_ITERS(tree_model_sort) \ - (((GtkTreeModelSort *)tree_model_sort)->child_flags>K_TREE_MODEL_ITERS_PERSIST) + (((GtkTreeModelSort *)tree_model_sort)->priv->child_flags>K_TREE_MODEL_ITERS_PERSIST) #define SORT_ELT(sort_elt) ((SortElt *)sort_elt) #define SORT_LEVEL(sort_level) ((SortLevel *)sort_level) @@ -109,7 +135,7 @@ enum { #define NO_SORT_FUNC ((GtkTreeIterCompareFunc) 0x1) -#define VALID_ITER(iter, tree_model_sort) ((iter) != NULL && (iter)->user_data != NULL && (iter)->user_data2 != NULL && (tree_model_sort)->stamp == (iter)->stamp) +#define VALID_ITER(iter, tree_model_sort) ((iter) != NULL && (iter)->user_data != NULL && (iter)->user_data2 != NULL && (tree_model_sort)->priv->stamp == (iter)->stamp) /* general (object/interface init, etc) */ static void gtk_tree_model_sort_tree_model_init (GtkTreeModelIface *iface); @@ -252,11 +278,17 @@ G_DEFINE_TYPE_WITH_CODE (GtkTreeModelSort, gtk_tree_model_sort, G_TYPE_OBJECT, static void gtk_tree_model_sort_init (GtkTreeModelSort *tree_model_sort) { - tree_model_sort->sort_column_id = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID; - tree_model_sort->stamp = 0; - tree_model_sort->zero_ref_count = 0; - tree_model_sort->root = NULL; - tree_model_sort->sort_list = NULL; + GtkTreeModelSortPrivate *priv; + + priv = G_TYPE_INSTANCE_GET_PRIVATE (tree_model_sort, + GTK_TYPE_TREE_MODEL_SORT, + GtkTreeModelSortPrivate); + tree_model_sort->priv = priv; + priv->sort_column_id = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID; + priv->stamp = 0; + priv->zero_ref_count = 0; + priv->root = NULL; + priv->sort_list = NULL; } static void @@ -279,6 +311,8 @@ gtk_tree_model_sort_class_init (GtkTreeModelSortClass *class) P_("The model for the TreeModelSort to sort"), GTK_TYPE_TREE_MODEL, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_type_class_add_private (class, sizeof (GtkTreeModelSortPrivate)); } static void @@ -345,23 +379,24 @@ static void gtk_tree_model_sort_finalize (GObject *object) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) object; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gtk_tree_model_sort_set_model (tree_model_sort, NULL); - if (tree_model_sort->root) - gtk_tree_model_sort_free_level (tree_model_sort, tree_model_sort->root); + if (priv->root) + gtk_tree_model_sort_free_level (tree_model_sort, priv->root); - if (tree_model_sort->sort_list) + if (priv->sort_list) { - _gtk_tree_data_list_header_free (tree_model_sort->sort_list); - tree_model_sort->sort_list = NULL; + _gtk_tree_data_list_header_free (priv->sort_list); + priv->sort_list = NULL; } - if (tree_model_sort->default_sort_destroy) + if (priv->default_sort_destroy) { - tree_model_sort->default_sort_destroy (tree_model_sort->default_sort_data); - tree_model_sort->default_sort_destroy = NULL; - tree_model_sort->default_sort_data = NULL; + priv->default_sort_destroy (priv->default_sort_data); + priv->default_sort_destroy = NULL; + priv->default_sort_data = NULL; } @@ -399,7 +434,7 @@ gtk_tree_model_sort_get_property (GObject *object, switch (prop_id) { case PROP_MODEL: - g_value_set_object (value, gtk_tree_model_sort_get_model(tree_model_sort)); + g_value_set_object (value, gtk_tree_model_sort_get_model (tree_model_sort)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -414,6 +449,7 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model, gpointer data) { GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreePath *path = NULL; GtkTreeIter iter; GtkTreeIter tmpiter; @@ -451,8 +487,8 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model, elt = iter.user_data2; if (level->array->len < 2 || - (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && - tree_model_sort->default_sort_func == NO_SORT_FUNC)) + (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && + priv->default_sort_func == NO_SORT_FUNC)) { if (free_s_path) gtk_tree_path_free (start_s_path); @@ -467,7 +503,7 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model, if (!GTK_TREE_MODEL_SORT_CACHE_CHILD_ITERS (tree_model_sort)) { - gtk_tree_model_get_iter (tree_model_sort->child_model, + gtk_tree_model_get_iter (priv->child_model, &tmpiter, start_s_path); } @@ -545,7 +581,7 @@ gtk_tree_model_sort_row_changed (GtkTreeModel *s_model, if (level->parent_elt_index >= 0) { - iter.stamp = tree_model_sort->stamp; + iter.stamp = priv->stamp; iter.user_data = level->parent_level; iter.user_data2 = SORT_LEVEL_PARENT_ELT (level); @@ -584,6 +620,7 @@ gtk_tree_model_sort_row_inserted (GtkTreeModel *s_model, gpointer data) { GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreePath *path; GtkTreeIter iter; GtkTreeIter real_s_iter; @@ -596,7 +633,7 @@ gtk_tree_model_sort_row_inserted (GtkTreeModel *s_model, SortLevel *level; SortLevel *parent_level = NULL; - parent_level = level = SORT_LEVEL (tree_model_sort->root); + parent_level = level = SORT_LEVEL (priv->root); g_return_if_fail (s_path != NULL || s_iter != NULL); @@ -611,7 +648,7 @@ gtk_tree_model_sort_row_inserted (GtkTreeModel *s_model, else real_s_iter = *s_iter; - if (!tree_model_sort->root) + if (!priv->root) { gtk_tree_model_sort_build_level (tree_model_sort, NULL, -1); @@ -665,7 +702,7 @@ gtk_tree_model_sort_row_inserted (GtkTreeModel *s_model, if (!parent_level) goto done; - if (level->ref_count == 0 && level != tree_model_sort->root) + if (level->ref_count == 0 && level != priv->root) { gtk_tree_model_sort_free_level (tree_model_sort, level); goto done; @@ -764,11 +801,11 @@ gtk_tree_model_sort_row_deleted (GtkTreeModel *s_model, */ gtk_tree_model_sort_increment_stamp (tree_model_sort); gtk_tree_path_free (path); - if (level == tree_model_sort->root) + if (level == tree_model_sort->priv->root) { gtk_tree_model_sort_free_level (tree_model_sort, - tree_model_sort->root); - tree_model_sort->root = NULL; + tree_model_sort->priv->root); + tree_model_sort->priv->root = NULL; } return; } @@ -809,15 +846,16 @@ gtk_tree_model_sort_rows_reordered (GtkTreeModel *s_model, int i, j; GtkTreePath *path; GtkTreeModelSort *tree_model_sort = GTK_TREE_MODEL_SORT (data); + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; g_return_if_fail (new_order != NULL); if (s_path == NULL || gtk_tree_path_get_depth (s_path) == 0) { - if (tree_model_sort->root == NULL) + if (priv->root == NULL) return; path = gtk_tree_path_new (); - level = SORT_LEVEL (tree_model_sort->root); + level = SORT_LEVEL (priv->root); } else { @@ -858,8 +896,8 @@ gtk_tree_model_sort_rows_reordered (GtkTreeModel *s_model, g_array_index (level->array, SortElt, i).offset = tmp_array[i]; g_free (tmp_array); - if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && - tree_model_sort->default_sort_func == NO_SORT_FUNC) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && + priv->default_sort_func == NO_SORT_FUNC) { gtk_tree_model_sort_sort_level (tree_model_sort, level, @@ -891,9 +929,9 @@ gtk_tree_model_sort_get_flags (GtkTreeModel *tree_model) GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; GtkTreeModelFlags flags; - g_return_val_if_fail (tree_model_sort->child_model != NULL, 0); + g_return_val_if_fail (tree_model_sort->priv->child_model != NULL, 0); - flags = gtk_tree_model_get_flags (tree_model_sort->child_model); + flags = gtk_tree_model_get_flags (tree_model_sort->priv->child_model); if ((flags & GTK_TREE_MODEL_LIST_ONLY) == GTK_TREE_MODEL_LIST_ONLY) return GTK_TREE_MODEL_LIST_ONLY; @@ -906,10 +944,10 @@ gtk_tree_model_sort_get_n_columns (GtkTreeModel *tree_model) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; - if (tree_model_sort->child_model == 0) + if (tree_model_sort->priv->child_model == 0) return 0; - return gtk_tree_model_get_n_columns (tree_model_sort->child_model); + return gtk_tree_model_get_n_columns (tree_model_sort->priv->child_model); } static GType @@ -918,9 +956,9 @@ gtk_tree_model_sort_get_column_type (GtkTreeModel *tree_model, { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; - g_return_val_if_fail (tree_model_sort->child_model != NULL, G_TYPE_INVALID); + g_return_val_if_fail (tree_model_sort->priv->child_model != NULL, G_TYPE_INVALID); - return gtk_tree_model_get_column_type (tree_model_sort->child_model, index); + return gtk_tree_model_get_column_type (tree_model_sort->priv->child_model, index); } static gboolean @@ -929,17 +967,18 @@ gtk_tree_model_sort_get_iter (GtkTreeModel *tree_model, GtkTreePath *path) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint *indices; SortLevel *level; gint depth, i; - g_return_val_if_fail (tree_model_sort->child_model != NULL, FALSE); + g_return_val_if_fail (priv->child_model != NULL, FALSE); indices = gtk_tree_path_get_indices (path); - if (tree_model_sort->root == NULL) + if (priv->root == NULL) gtk_tree_model_sort_build_level (tree_model_sort, NULL, -1); - level = SORT_LEVEL (tree_model_sort->root); + level = SORT_LEVEL (priv->root); depth = gtk_tree_path_get_depth (path); if (depth == 0) @@ -962,7 +1001,7 @@ gtk_tree_model_sort_get_iter (GtkTreeModel *tree_model, return FALSE; } - iter->stamp = tree_model_sort->stamp; + iter->stamp = priv->stamp; iter->user_data = level; iter->user_data2 = &g_array_index (level->array, SortElt, indices[depth - 1]); @@ -974,12 +1013,13 @@ gtk_tree_model_sort_get_path (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreePath *retval; SortLevel *level; gint elt_index; - g_return_val_if_fail (tree_model_sort->child_model != NULL, NULL); - g_return_val_if_fail (tree_model_sort->stamp == iter->stamp, NULL); + g_return_val_if_fail (priv->child_model != NULL, NULL); + g_return_val_if_fail (priv->stamp == iter->stamp, NULL); retval = gtk_tree_path_new (); @@ -1004,13 +1044,14 @@ gtk_tree_model_sort_get_value (GtkTreeModel *tree_model, GValue *value) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreeIter child_iter; - g_return_if_fail (tree_model_sort->child_model != NULL); + g_return_if_fail (priv->child_model != NULL); g_return_if_fail (VALID_ITER (iter, tree_model_sort)); GET_CHILD_ITER (tree_model_sort, &child_iter, iter); - gtk_tree_model_get_value (tree_model_sort->child_model, + gtk_tree_model_get_value (priv->child_model, &child_iter, column, value); } @@ -1019,11 +1060,12 @@ gtk_tree_model_sort_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; SortLevel *level; SortElt *elt; - g_return_val_if_fail (tree_model_sort->child_model != NULL, FALSE); - g_return_val_if_fail (tree_model_sort->stamp == iter->stamp, FALSE); + g_return_val_if_fail (priv->child_model != NULL, FALSE); + g_return_val_if_fail (priv->stamp == iter->stamp, FALSE); level = iter->user_data; elt = iter->user_data2; @@ -1044,22 +1086,23 @@ gtk_tree_model_sort_iter_children (GtkTreeModel *tree_model, GtkTreeIter *parent) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; SortLevel *level; iter->stamp = 0; - g_return_val_if_fail (tree_model_sort->child_model != NULL, FALSE); + g_return_val_if_fail (priv->child_model != NULL, FALSE); if (parent) g_return_val_if_fail (VALID_ITER (parent, tree_model_sort), FALSE); if (parent == NULL) { - if (tree_model_sort->root == NULL) + if (priv->root == NULL) gtk_tree_model_sort_build_level (tree_model_sort, NULL, -1); - if (tree_model_sort->root == NULL) + if (priv->root == NULL) return FALSE; - level = tree_model_sort->root; - iter->stamp = tree_model_sort->stamp; + level = priv->root; + iter->stamp = priv->stamp; iter->user_data = level; iter->user_data2 = level->array->data; } @@ -1077,7 +1120,7 @@ gtk_tree_model_sort_iter_children (GtkTreeModel *tree_model, if (elt->children == NULL) return FALSE; - iter->stamp = tree_model_sort->stamp; + iter->stamp = priv->stamp; iter->user_data = elt->children; iter->user_data2 = elt->children->array->data; } @@ -1090,14 +1133,15 @@ gtk_tree_model_sort_iter_has_child (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreeIter child_iter; - g_return_val_if_fail (tree_model_sort->child_model != NULL, FALSE); + g_return_val_if_fail (priv->child_model != NULL, FALSE); g_return_val_if_fail (VALID_ITER (iter, tree_model_sort), FALSE); GET_CHILD_ITER (tree_model_sort, &child_iter, iter); - return gtk_tree_model_iter_has_child (tree_model_sort->child_model, &child_iter); + return gtk_tree_model_iter_has_child (priv->child_model, &child_iter); } static gint @@ -1105,18 +1149,19 @@ gtk_tree_model_sort_iter_n_children (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreeIter child_iter; - g_return_val_if_fail (tree_model_sort->child_model != NULL, 0); + g_return_val_if_fail (priv->child_model != NULL, 0); if (iter) g_return_val_if_fail (VALID_ITER (iter, tree_model_sort), 0); if (iter == NULL) - return gtk_tree_model_iter_n_children (tree_model_sort->child_model, NULL); + return gtk_tree_model_iter_n_children (priv->child_model, NULL); GET_CHILD_ITER (tree_model_sort, &child_iter, iter); - return gtk_tree_model_iter_n_children (tree_model_sort->child_model, &child_iter); + return gtk_tree_model_iter_n_children (priv->child_model, &child_iter); } static gboolean @@ -1147,7 +1192,7 @@ gtk_tree_model_sort_iter_nth_child (GtkTreeModel *tree_model, return FALSE; } - iter->stamp = tree_model_sort->stamp; + iter->stamp = tree_model_sort->priv->stamp; iter->user_data = level; iter->user_data2 = &g_array_index (level->array, SortElt, n); @@ -1160,17 +1205,18 @@ gtk_tree_model_sort_iter_parent (GtkTreeModel *tree_model, GtkTreeIter *child) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; SortLevel *level; iter->stamp = 0; - g_return_val_if_fail (tree_model_sort->child_model != NULL, FALSE); + g_return_val_if_fail (priv->child_model != NULL, FALSE); g_return_val_if_fail (VALID_ITER (child, tree_model_sort), FALSE); level = child->user_data; if (level->parent_level) { - iter->stamp = tree_model_sort->stamp; + iter->stamp = priv->stamp; iter->user_data = level->parent_level; iter->user_data2 = SORT_LEVEL_PARENT_ELT (level); @@ -1184,18 +1230,19 @@ gtk_tree_model_sort_ref_node (GtkTreeModel *tree_model, GtkTreeIter *iter) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreeIter child_iter; SortLevel *level, *parent_level; SortElt *elt; gint parent_elt_index; - g_return_if_fail (tree_model_sort->child_model != NULL); + g_return_if_fail (priv->child_model != NULL); g_return_if_fail (VALID_ITER (iter, tree_model_sort)); GET_CHILD_ITER (tree_model_sort, &child_iter, iter); /* Reference the node in the child model */ - gtk_tree_model_ref_node (tree_model_sort->child_model, &child_iter); + gtk_tree_model_ref_node (priv->child_model, &child_iter); /* Increase the reference count of this element and its level */ level = iter->user_data; @@ -1212,7 +1259,7 @@ gtk_tree_model_sort_ref_node (GtkTreeModel *tree_model, { GtkTreeIter tmp_iter; - tmp_iter.stamp = tree_model_sort->stamp; + tmp_iter.stamp = priv->stamp; tmp_iter.user_data = parent_level; tmp_iter.user_data2 = &g_array_index (parent_level->array, SortElt, parent_elt_index); @@ -1236,8 +1283,8 @@ gtk_tree_model_sort_ref_node (GtkTreeModel *tree_model, parent_level = parent_level->parent_level; } - if (tree_model_sort->root != level) - tree_model_sort->zero_ref_count--; + if (priv->root != level) + priv->zero_ref_count--; } } @@ -1247,11 +1294,12 @@ gtk_tree_model_sort_real_unref_node (GtkTreeModel *tree_model, gboolean propagate_unref) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; SortLevel *level, *parent_level; SortElt *elt; gint parent_elt_index; - g_return_if_fail (tree_model_sort->child_model != NULL); + g_return_if_fail (priv->child_model != NULL); g_return_if_fail (VALID_ITER (iter, tree_model_sort)); if (propagate_unref) @@ -1259,7 +1307,7 @@ gtk_tree_model_sort_real_unref_node (GtkTreeModel *tree_model, GtkTreeIter child_iter; GET_CHILD_ITER (tree_model_sort, &child_iter, iter); - gtk_tree_model_unref_node (tree_model_sort->child_model, &child_iter); + gtk_tree_model_unref_node (priv->child_model, &child_iter); } level = iter->user_data; @@ -1278,7 +1326,7 @@ gtk_tree_model_sort_real_unref_node (GtkTreeModel *tree_model, { GtkTreeIter tmp_iter; - tmp_iter.stamp = tree_model_sort->stamp; + tmp_iter.stamp = priv->stamp; tmp_iter.user_data = parent_level; tmp_iter.user_data2 = &g_array_index (parent_level->array, SortElt, parent_elt_index); @@ -1302,8 +1350,8 @@ gtk_tree_model_sort_real_unref_node (GtkTreeModel *tree_model, parent_level = parent_level->parent_level; } - if (tree_model_sort->root != level) - tree_model_sort->zero_ref_count++; + if (priv->root != level) + priv->zero_ref_count++; } } @@ -1321,14 +1369,15 @@ gtk_tree_model_sort_get_sort_column_id (GtkTreeSortable *sortable, GtkSortType *order) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *)sortable; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; if (sort_column_id) - *sort_column_id = tree_model_sort->sort_column_id; + *sort_column_id = priv->sort_column_id; if (order) - *order = tree_model_sort->order; + *order = priv->order; - if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID || - tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID || + priv->sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) return FALSE; return TRUE; @@ -1340,6 +1389,7 @@ gtk_tree_model_sort_set_sort_column_id (GtkTreeSortable *sortable, GtkSortType order) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *)sortable; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; if (sort_column_id != GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) { @@ -1347,7 +1397,7 @@ gtk_tree_model_sort_set_sort_column_id (GtkTreeSortable *sortable, { GtkTreeDataSortHeader *header = NULL; - header = _gtk_tree_data_list_get_header (tree_model_sort->sort_list, + header = _gtk_tree_data_list_get_header (priv->sort_list, sort_column_id); /* we want to make sure that we have a function */ @@ -1355,13 +1405,13 @@ gtk_tree_model_sort_set_sort_column_id (GtkTreeSortable *sortable, g_return_if_fail (header->func != NULL); } else - g_return_if_fail (tree_model_sort->default_sort_func != NULL); + g_return_if_fail (priv->default_sort_func != NULL); - if (tree_model_sort->sort_column_id == sort_column_id) + if (priv->sort_column_id == sort_column_id) { if (sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) { - if (tree_model_sort->order == order) + if (priv->order == order) return; } else @@ -1369,8 +1419,8 @@ gtk_tree_model_sort_set_sort_column_id (GtkTreeSortable *sortable, } } - tree_model_sort->sort_column_id = sort_column_id; - tree_model_sort->order = order; + priv->sort_column_id = sort_column_id; + priv->order = order; gtk_tree_sortable_sort_column_changed (sortable); @@ -1385,12 +1435,13 @@ gtk_tree_model_sort_set_sort_func (GtkTreeSortable *sortable, GDestroyNotify destroy) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) sortable; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; - tree_model_sort->sort_list = _gtk_tree_data_list_set_header (tree_model_sort->sort_list, - sort_column_id, - func, data, destroy); + priv->sort_list = _gtk_tree_data_list_set_header (priv->sort_list, + sort_column_id, + func, data, destroy); - if (tree_model_sort->sort_column_id == sort_column_id) + if (priv->sort_column_id == sort_column_id) gtk_tree_model_sort_sort (tree_model_sort); } @@ -1401,20 +1452,21 @@ gtk_tree_model_sort_set_default_sort_func (GtkTreeSortable *sortable, GDestroyNotify destroy) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *)sortable; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; - if (tree_model_sort->default_sort_destroy) + if (priv->default_sort_destroy) { - GDestroyNotify d = tree_model_sort->default_sort_destroy; + GDestroyNotify d = priv->default_sort_destroy; - tree_model_sort->default_sort_destroy = NULL; - d (tree_model_sort->default_sort_data); + priv->default_sort_destroy = NULL; + d (priv->default_sort_data); } - tree_model_sort->default_sort_func = func; - tree_model_sort->default_sort_data = data; - tree_model_sort->default_sort_destroy = destroy; + priv->default_sort_func = func; + priv->default_sort_data = data; + priv->default_sort_destroy = destroy; - if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) gtk_tree_model_sort_sort (tree_model_sort); } @@ -1423,7 +1475,7 @@ gtk_tree_model_sort_has_default_sort_func (GtkTreeSortable *sortable) { GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *)sortable; - return (tree_model_sort->default_sort_func != NULL); + return (tree_model_sort->priv->default_sort_func != NULL); } /* DragSource interface */ @@ -1437,7 +1489,7 @@ gtk_tree_model_sort_row_draggable (GtkTreeDragSource *drag_source, child_path = gtk_tree_model_sort_convert_path_to_child_path (tree_model_sort, path); - draggable = gtk_tree_drag_source_row_draggable (GTK_TREE_DRAG_SOURCE (tree_model_sort->child_model), child_path); + draggable = gtk_tree_drag_source_row_draggable (GTK_TREE_DRAG_SOURCE (tree_model_sort->priv->child_model), child_path); gtk_tree_path_free (child_path); return draggable; @@ -1453,7 +1505,7 @@ gtk_tree_model_sort_drag_data_get (GtkTreeDragSource *drag_source, gboolean gotten; child_path = gtk_tree_model_sort_convert_path_to_child_path (tree_model_sort, path); - gotten = gtk_tree_drag_source_drag_data_get (GTK_TREE_DRAG_SOURCE (tree_model_sort->child_model), child_path, selection_data); + gotten = gtk_tree_drag_source_drag_data_get (GTK_TREE_DRAG_SOURCE (tree_model_sort->priv->child_model), child_path, selection_data); gtk_tree_path_free (child_path); return gotten; @@ -1468,7 +1520,7 @@ gtk_tree_model_sort_drag_data_delete (GtkTreeDragSource *drag_source, gboolean deleted; child_path = gtk_tree_model_sort_convert_path_to_child_path (tree_model_sort, path); - deleted = gtk_tree_drag_source_drag_data_delete (GTK_TREE_DRAG_SOURCE (tree_model_sort->child_model), child_path); + deleted = gtk_tree_drag_source_drag_data_delete (GTK_TREE_DRAG_SOURCE (tree_model_sort->priv->child_model), child_path); gtk_tree_path_free (child_path); return deleted; @@ -1482,6 +1534,7 @@ gtk_tree_model_sort_compare_func (gconstpointer a, { SortData *data = (SortData *)user_data; GtkTreeModelSort *tree_model_sort = data->tree_model_sort; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; SortTuple *sa = (SortTuple *)a; SortTuple *sb = (SortTuple *)b; @@ -1500,16 +1553,16 @@ gtk_tree_model_sort_compare_func (gconstpointer a, else { data->parent_path_indices [data->parent_path_depth-1] = sa->elt->offset; - gtk_tree_model_get_iter (GTK_TREE_MODEL (tree_model_sort->child_model), &iter_a, data->parent_path); + gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->child_model), &iter_a, data->parent_path); data->parent_path_indices [data->parent_path_depth-1] = sb->elt->offset; - gtk_tree_model_get_iter (GTK_TREE_MODEL (tree_model_sort->child_model), &iter_b, data->parent_path); + gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->child_model), &iter_b, data->parent_path); } - retval = (* data->sort_func) (GTK_TREE_MODEL (tree_model_sort->child_model), + retval = (* data->sort_func) (GTK_TREE_MODEL (priv->child_model), &iter_a, &iter_b, data->sort_data); - if (tree_model_sort->order == GTK_SORT_DESCENDING) + if (priv->order == GTK_SORT_DESCENDING) { if (retval > 0) retval = -1; @@ -1539,7 +1592,7 @@ gtk_tree_model_sort_offset_compare_func (gconstpointer a, else retval = 0; - if (data->tree_model_sort->order == GTK_SORT_DESCENDING) + if (data->tree_model_sort->priv->order == GTK_SORT_DESCENDING) { if (retval > 0) retval = -1; @@ -1556,6 +1609,7 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, gboolean recurse, gboolean emit_reordered) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint i; gint ref_offset; GArray *sort_array; @@ -1572,7 +1626,7 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, if (level->array->len < 1 && !((SortElt *)level->array->data)->children) return; - iter.stamp = tree_model_sort->stamp; + iter.stamp = priv->stamp; iter.user_data = level; iter.user_data2 = &g_array_index (level->array, SortElt, 0); @@ -1606,12 +1660,12 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, g_array_append_val (sort_array, tuple); } - if (tree_model_sort->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) + if (priv->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) { GtkTreeDataSortHeader *header = NULL; - header = _gtk_tree_data_list_get_header (tree_model_sort->sort_list, - tree_model_sort->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); g_return_if_fail (header != NULL); g_return_if_fail (header->func != NULL); @@ -1622,10 +1676,10 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, else { /* absolutely SHOULD NOT happen: */ - g_return_if_fail (tree_model_sort->default_sort_func != NULL); + g_return_if_fail (priv->default_sort_func != NULL); - data.sort_func = tree_model_sort->default_sort_func; - data.sort_data = tree_model_sort->default_sort_data; + data.sort_func = priv->default_sort_func; + data.sort_data = priv->default_sort_data; } if (data.sort_func == NO_SORT_FUNC) @@ -1663,7 +1717,7 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, gtk_tree_model_sort_increment_stamp (tree_model_sort); if (level->parent_elt_index >= 0) { - iter.stamp = tree_model_sort->stamp; + iter.stamp = priv->stamp; iter.user_data = level->parent_level; iter.user_data2 = SORT_LEVEL_PARENT_ELT (level); @@ -1703,7 +1757,7 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, /* get the iter we referenced at the beginning of this function and * unref it again */ - iter.stamp = tree_model_sort->stamp; + iter.stamp = priv->stamp; iter.user_data = level; for (i = 0; i < level->array->len; i++) @@ -1721,27 +1775,29 @@ gtk_tree_model_sort_sort_level (GtkTreeModelSort *tree_model_sort, static void gtk_tree_model_sort_sort (GtkTreeModelSort *tree_model_sort) { - if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; + + if (priv->sort_column_id == GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID) return; - if (!tree_model_sort->root) + if (!priv->root) return; - if (tree_model_sort->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) + if (priv->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) { GtkTreeDataSortHeader *header = NULL; - header = _gtk_tree_data_list_get_header (tree_model_sort->sort_list, - tree_model_sort->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); /* we want to make sure that we have a function */ g_return_if_fail (header != NULL); g_return_if_fail (header->func != NULL); } else - g_return_if_fail (tree_model_sort->default_sort_func != NULL); + g_return_if_fail (priv->default_sort_func != NULL); - gtk_tree_model_sort_sort_level (tree_model_sort, tree_model_sort->root, + gtk_tree_model_sort_sort_level (tree_model_sort, priv->root, TRUE, TRUE); } @@ -1752,6 +1808,7 @@ gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort, GtkTreeIter *iter, gint skip_index) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint start, middle, end; gint cmp; SortElt *tmp_elt; @@ -1760,12 +1817,12 @@ gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort, GtkTreeIterCompareFunc func; gpointer data; - if (tree_model_sort->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) + if (priv->sort_column_id != GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) { GtkTreeDataSortHeader *header; - header = _gtk_tree_data_list_get_header (tree_model_sort->sort_list, - tree_model_sort->sort_column_id); + header = _gtk_tree_data_list_get_header (priv->sort_list, + priv->sort_column_id); g_return_val_if_fail (header != NULL, 0); @@ -1774,8 +1831,8 @@ gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort, } else { - func = tree_model_sort->default_sort_func; - data = tree_model_sort->default_sort_data; + func = priv->default_sort_func; + data = priv->default_sort_data; g_return_val_if_fail (func != NO_SORT_FUNC, 0); } @@ -1804,18 +1861,18 @@ gtk_tree_model_sort_level_find_insert (GtkTreeModelSort *tree_model_sort, if (!GTK_TREE_MODEL_SORT_CACHE_CHILD_ITERS (tree_model_sort)) { GtkTreePath *path = gtk_tree_model_sort_elt_get_path (level, tmp_elt); - gtk_tree_model_get_iter (tree_model_sort->child_model, + gtk_tree_model_get_iter (priv->child_model, &tmp_iter, path); gtk_tree_path_free (path); } else tmp_iter = tmp_elt->iter; - if (tree_model_sort->order == GTK_SORT_ASCENDING) - cmp = (* func) (GTK_TREE_MODEL (tree_model_sort->child_model), + if (priv->order == GTK_SORT_ASCENDING) + cmp = (* func) (GTK_TREE_MODEL (priv->child_model), &tmp_iter, iter, data); else - cmp = (* func) (GTK_TREE_MODEL (tree_model_sort->child_model), + cmp = (* func) (GTK_TREE_MODEL (priv->child_model), iter, &tmp_iter, data); if (cmp <= 0) @@ -1836,6 +1893,7 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort, GtkTreePath *s_path, GtkTreeIter *s_iter) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint offset, index, i; SortElt elt; @@ -1856,8 +1914,8 @@ gtk_tree_model_sort_insert_value (GtkTreeModelSort *tree_model_sort, if (tmp_elt->offset >= offset) tmp_elt->offset++; - if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && - tree_model_sort->default_sort_func == NO_SORT_FUNC) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID && + priv->default_sort_func == NO_SORT_FUNC) index = offset; else index = gtk_tree_model_sort_level_find_insert (tree_model_sort, @@ -1915,71 +1973,73 @@ static void gtk_tree_model_sort_set_model (GtkTreeModelSort *tree_model_sort, GtkTreeModel *child_model) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; + if (child_model) g_object_ref (child_model); - if (tree_model_sort->child_model) + if (priv->child_model) { - g_signal_handler_disconnect (tree_model_sort->child_model, - tree_model_sort->changed_id); - g_signal_handler_disconnect (tree_model_sort->child_model, - tree_model_sort->inserted_id); - g_signal_handler_disconnect (tree_model_sort->child_model, - tree_model_sort->has_child_toggled_id); - g_signal_handler_disconnect (tree_model_sort->child_model, - tree_model_sort->deleted_id); - g_signal_handler_disconnect (tree_model_sort->child_model, - tree_model_sort->reordered_id); + g_signal_handler_disconnect (priv->child_model, + priv->changed_id); + g_signal_handler_disconnect (priv->child_model, + priv->inserted_id); + g_signal_handler_disconnect (priv->child_model, + priv->has_child_toggled_id); + g_signal_handler_disconnect (priv->child_model, + priv->deleted_id); + g_signal_handler_disconnect (priv->child_model, + priv->reordered_id); /* reset our state */ - if (tree_model_sort->root) - gtk_tree_model_sort_free_level (tree_model_sort, tree_model_sort->root); - tree_model_sort->root = NULL; - _gtk_tree_data_list_header_free (tree_model_sort->sort_list); - tree_model_sort->sort_list = NULL; - g_object_unref (tree_model_sort->child_model); + if (priv->root) + gtk_tree_model_sort_free_level (tree_model_sort, priv->root); + priv->root = NULL; + _gtk_tree_data_list_header_free (priv->sort_list); + priv->sort_list = NULL; + g_object_unref (priv->child_model); } - tree_model_sort->child_model = child_model; + priv->child_model = child_model; if (child_model) { GType *types; gint i, n_columns; - tree_model_sort->changed_id = + priv->changed_id = g_signal_connect (child_model, "row-changed", G_CALLBACK (gtk_tree_model_sort_row_changed), tree_model_sort); - tree_model_sort->inserted_id = + priv->inserted_id = g_signal_connect (child_model, "row-inserted", G_CALLBACK (gtk_tree_model_sort_row_inserted), tree_model_sort); - tree_model_sort->has_child_toggled_id = + priv->has_child_toggled_id = g_signal_connect (child_model, "row-has-child-toggled", G_CALLBACK (gtk_tree_model_sort_row_has_child_toggled), tree_model_sort); - tree_model_sort->deleted_id = + priv->deleted_id = g_signal_connect (child_model, "row-deleted", G_CALLBACK (gtk_tree_model_sort_row_deleted), tree_model_sort); - tree_model_sort->reordered_id = + priv->reordered_id = g_signal_connect (child_model, "rows-reordered", G_CALLBACK (gtk_tree_model_sort_rows_reordered), tree_model_sort); - tree_model_sort->child_flags = gtk_tree_model_get_flags (child_model); + priv->child_flags = gtk_tree_model_get_flags (child_model); n_columns = gtk_tree_model_get_n_columns (child_model); types = g_new (GType, n_columns); for (i = 0; i < n_columns; i++) types[i] = gtk_tree_model_get_column_type (child_model, i); - tree_model_sort->sort_list = _gtk_tree_data_list_header_new (n_columns, types); + priv->sort_list = _gtk_tree_data_list_header_new (n_columns, types); g_free (types); - tree_model_sort->default_sort_func = NO_SORT_FUNC; - tree_model_sort->stamp = g_random_int (); + priv->default_sort_func = NO_SORT_FUNC; + priv->stamp = g_random_int (); } } @@ -1996,7 +2056,7 @@ gtk_tree_model_sort_get_model (GtkTreeModelSort *tree_model) { g_return_val_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model), NULL); - return tree_model->child_model; + return tree_model->priv->child_model; } @@ -2005,20 +2065,21 @@ gtk_real_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_mode GtkTreePath *child_path, gboolean build_levels) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint *child_indices; GtkTreePath *retval; SortLevel *level; gint i; - g_return_val_if_fail (tree_model_sort->child_model != NULL, NULL); + g_return_val_if_fail (priv->child_model != NULL, NULL); g_return_val_if_fail (child_path != NULL, NULL); retval = gtk_tree_path_new (); child_indices = gtk_tree_path_get_indices (child_path); - if (tree_model_sort->root == NULL && build_levels) + if (priv->root == NULL && build_levels) gtk_tree_model_sort_build_level (tree_model_sort, NULL, -1); - level = SORT_LEVEL (tree_model_sort->root); + level = SORT_LEVEL (priv->root); for (i = 0; i < gtk_tree_path_get_depth (child_path); i++) { @@ -2078,7 +2139,7 @@ gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sor GtkTreePath *child_path) { g_return_val_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort), NULL); - g_return_val_if_fail (tree_model_sort->child_model != NULL, NULL); + g_return_val_if_fail (tree_model_sort->priv->child_model != NULL, NULL); g_return_val_if_fail (child_path != NULL, NULL); return gtk_real_tree_model_sort_convert_child_path_to_path (tree_model_sort, child_path, TRUE); @@ -2104,16 +2165,17 @@ gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sor { gboolean ret; GtkTreePath *child_path, *path; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; g_return_val_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort), FALSE); - g_return_val_if_fail (tree_model_sort->child_model != NULL, FALSE); + g_return_val_if_fail (priv->child_model != NULL, FALSE); g_return_val_if_fail (sort_iter != NULL, FALSE); g_return_val_if_fail (child_iter != NULL, FALSE); g_return_val_if_fail (sort_iter != child_iter, FALSE); sort_iter->stamp = 0; - child_path = gtk_tree_model_get_path (tree_model_sort->child_model, child_iter); + child_path = gtk_tree_model_get_path (priv->child_model, child_iter); g_return_val_if_fail (child_path != NULL, FALSE); path = gtk_tree_model_sort_convert_child_path_to_path (tree_model_sort, child_path); @@ -2149,20 +2211,21 @@ GtkTreePath * gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sort, GtkTreePath *sorted_path) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint *sorted_indices; GtkTreePath *retval; SortLevel *level; gint i; g_return_val_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort), NULL); - g_return_val_if_fail (tree_model_sort->child_model != NULL, NULL); + g_return_val_if_fail (priv->child_model != NULL, NULL); g_return_val_if_fail (sorted_path != NULL, NULL); retval = gtk_tree_path_new (); sorted_indices = gtk_tree_path_get_indices (sorted_path); - if (tree_model_sort->root == NULL) + if (priv->root == NULL) gtk_tree_model_sort_build_level (tree_model_sort, NULL, -1); - level = SORT_LEVEL (tree_model_sort->root); + level = SORT_LEVEL (priv->root); for (i = 0; i < gtk_tree_path_get_depth (sorted_path); i++) { @@ -2204,8 +2267,9 @@ gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sor GtkTreeIter *child_iter, GtkTreeIter *sorted_iter) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; g_return_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort)); - g_return_if_fail (tree_model_sort->child_model != NULL); + g_return_if_fail (priv->child_model != NULL); g_return_if_fail (child_iter != NULL); g_return_if_fail (VALID_ITER (sorted_iter, tree_model_sort)); g_return_if_fail (sorted_iter != child_iter); @@ -2220,7 +2284,7 @@ gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sor path = gtk_tree_model_sort_elt_get_path (sorted_iter->user_data, sorted_iter->user_data2); - gtk_tree_model_get_iter (tree_model_sort->child_model, child_iter, path); + gtk_tree_model_get_iter (priv->child_model, child_iter, path); gtk_tree_path_free (path); } } @@ -2230,19 +2294,20 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, SortLevel *parent_level, gint parent_elt_index) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; GtkTreeIter iter; SortElt *parent_elt = NULL; SortLevel *new_level; gint length = 0; gint i; - g_assert (tree_model_sort->child_model != NULL); + g_assert (priv->child_model != NULL); if (parent_level == NULL) { - if (gtk_tree_model_get_iter_first (tree_model_sort->child_model, &iter) == FALSE) + if (gtk_tree_model_get_iter_first (priv->child_model, &iter) == FALSE) return; - length = gtk_tree_model_iter_n_children (tree_model_sort->child_model, NULL); + length = gtk_tree_model_iter_n_children (priv->child_model, NULL); } else { @@ -2251,14 +2316,14 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, parent_elt = &g_array_index (parent_level->array, SortElt, parent_elt_index); - parent_iter.stamp = tree_model_sort->stamp; + parent_iter.stamp = priv->stamp; parent_iter.user_data = parent_level; parent_iter.user_data2 = parent_elt; gtk_tree_model_sort_convert_iter_to_child_iter (tree_model_sort, &child_parent_iter, &parent_iter); - if (gtk_tree_model_iter_children (tree_model_sort->child_model, + if (gtk_tree_model_iter_children (priv->child_model, &iter, &child_parent_iter) == FALSE) return; @@ -2268,7 +2333,7 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, &child_parent_iter, &parent_iter); - length = gtk_tree_model_iter_n_children (tree_model_sort->child_model, &child_parent_iter); + length = gtk_tree_model_iter_n_children (priv->child_model, &child_parent_iter); } g_return_if_fail (length > 0); @@ -2282,7 +2347,7 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, if (parent_elt_index >= 0) parent_elt->children = new_level; else - tree_model_sort->root = new_level; + priv->root = new_level; /* increase the count of zero ref_counts.*/ while (parent_level) @@ -2293,8 +2358,8 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, parent_level = parent_level->parent_level; } - if (new_level != tree_model_sort->root) - tree_model_sort->zero_ref_count++; + if (new_level != priv->root) + priv->zero_ref_count++; for (i = 0; i < length; i++) { @@ -2307,7 +2372,7 @@ gtk_tree_model_sort_build_level (GtkTreeModelSort *tree_model_sort, if (GTK_TREE_MODEL_SORT_CACHE_CHILD_ITERS (tree_model_sort)) { sort_elt.iter = iter; - if (gtk_tree_model_iter_next (tree_model_sort->child_model, &iter) == FALSE && + if (gtk_tree_model_iter_next (priv->child_model, &iter) == FALSE && i < length - 1) { if (parent_level) @@ -2349,6 +2414,7 @@ static void gtk_tree_model_sort_free_level (GtkTreeModelSort *tree_model_sort, SortLevel *sort_level) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; gint i; g_assert (sort_level); @@ -2373,14 +2439,14 @@ gtk_tree_model_sort_free_level (GtkTreeModelSort *tree_model_sort, parent_level = parent_level->parent_level; } - if (sort_level != tree_model_sort->root) - tree_model_sort->zero_ref_count--; + if (sort_level != priv->root) + priv->zero_ref_count--; } if (sort_level->parent_elt_index >= 0) SORT_LEVEL_PARENT_ELT (sort_level)->children = NULL; else - tree_model_sort->root = NULL; + priv->root = NULL; g_array_free (sort_level->array, TRUE); sort_level->array = NULL; @@ -2392,11 +2458,13 @@ gtk_tree_model_sort_free_level (GtkTreeModelSort *tree_model_sort, static void gtk_tree_model_sort_increment_stamp (GtkTreeModelSort *tree_model_sort) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; + do { - tree_model_sort->stamp++; + priv->stamp++; } - while (tree_model_sort->stamp == 0); + while (priv->stamp == 0); gtk_tree_model_sort_clear_cache (tree_model_sort); } @@ -2415,7 +2483,7 @@ gtk_tree_model_sort_clear_cache_helper (GtkTreeModelSort *tree_model_sort, gtk_tree_model_sort_clear_cache_helper (tree_model_sort, g_array_index (level->array, SortElt, i).children); } - if (level->ref_count == 0 && level != tree_model_sort->root) + if (level->ref_count == 0 && level != tree_model_sort->priv->root) gtk_tree_model_sort_free_level (tree_model_sort, level); } @@ -2431,23 +2499,25 @@ gtk_tree_model_sort_clear_cache_helper (GtkTreeModelSort *tree_model_sort, void gtk_tree_model_sort_reset_default_sort_func (GtkTreeModelSort *tree_model_sort) { + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; + g_return_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort)); - if (tree_model_sort->default_sort_destroy) + if (priv->default_sort_destroy) { - GDestroyNotify d = tree_model_sort->default_sort_destroy; + GDestroyNotify d = priv->default_sort_destroy; - tree_model_sort->default_sort_destroy = NULL; - d (tree_model_sort->default_sort_data); + priv->default_sort_destroy = NULL; + d (priv->default_sort_data); } - tree_model_sort->default_sort_func = NO_SORT_FUNC; - tree_model_sort->default_sort_data = NULL; - tree_model_sort->default_sort_destroy = NULL; + priv->default_sort_func = NO_SORT_FUNC; + priv->default_sort_data = NULL; + priv->default_sort_destroy = NULL; - if (tree_model_sort->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) + if (priv->sort_column_id == GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID) gtk_tree_model_sort_sort (tree_model_sort); - tree_model_sort->sort_column_id = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID; + priv->sort_column_id = GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID; } /** @@ -2466,8 +2536,8 @@ gtk_tree_model_sort_clear_cache (GtkTreeModelSort *tree_model_sort) { g_return_if_fail (GTK_IS_TREE_MODEL_SORT (tree_model_sort)); - if (tree_model_sort->zero_ref_count > 0) - gtk_tree_model_sort_clear_cache_helper (tree_model_sort, (SortLevel *)tree_model_sort->root); + if (tree_model_sort->priv->zero_ref_count > 0) + gtk_tree_model_sort_clear_cache_helper (tree_model_sort, (SortLevel *)tree_model_sort->priv->root); } static gboolean @@ -2517,5 +2587,5 @@ gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort, return FALSE; return gtk_tree_model_sort_iter_is_valid_helper (iter, - tree_model_sort->root); + tree_model_sort->priv->root); } diff --git a/gtk/gtktreemodelsort.h b/gtk/gtktreemodelsort.h index bb5910c5e9..7645761389 100644 --- a/gtk/gtktreemodelsort.h +++ b/gtk/gtktreemodelsort.h @@ -37,36 +37,16 @@ G_BEGIN_DECLS #define GTK_IS_TREE_MODEL_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_MODEL_SORT)) #define GTK_TREE_MODEL_SORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MODEL_SORT, GtkTreeModelSortClass)) -typedef struct _GtkTreeModelSort GtkTreeModelSort; -typedef struct _GtkTreeModelSortClass GtkTreeModelSortClass; +typedef struct _GtkTreeModelSort GtkTreeModelSort; +typedef struct _GtkTreeModelSortClass GtkTreeModelSortClass; +typedef struct _GtkTreeModelSortPrivate GtkTreeModelSortPrivate; struct _GtkTreeModelSort { GObject parent; /* < private > */ - gpointer GSEAL (root); - gint GSEAL (stamp); - guint GSEAL (child_flags); - GtkTreeModel *GSEAL (child_model); - gint GSEAL (zero_ref_count); - - /* sort information */ - GList *GSEAL (sort_list); - gint GSEAL (sort_column_id); - GtkSortType GSEAL (order); - - /* default sort */ - GtkTreeIterCompareFunc GSEAL (default_sort_func); - gpointer GSEAL (default_sort_data); - GDestroyNotify GSEAL (default_sort_destroy); - - /* signal ids */ - gulong GSEAL (changed_id); - gulong GSEAL (inserted_id); - gulong GSEAL (has_child_toggled_id); - gulong GSEAL (deleted_id); - gulong GSEAL (reordered_id); + GtkTreeModelSortPrivate *priv; }; struct _GtkTreeModelSortClass From bbc637f7fdc2180108133479cdd2027b67c0c749 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 18 Dec 2010 11:23:21 +0100 Subject: [PATCH 0568/1463] GtkWindow: remove deprecated call. gtk_style_context_reset_widgets() can be used now to reset all widgets in a screen. --- gtk/gtkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 0bdda2bc2f..6a782ce5c6 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -6024,7 +6024,7 @@ gtk_window_client_event (GtkWidget *widget, if (event->message_type == atom_rcfiles) { send_client_message_to_embedded_windows (widget, atom_rcfiles); - gtk_rc_reparse_all_for_settings (gtk_widget_get_settings (widget), FALSE); + gtk_style_context_reset_widgets (gtk_widget_get_screen (widget)); } if (event->message_type == atom_iconthemes) From d7dc12d30117374df300102052350085fe70d132 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 18 Dec 2010 11:26:48 +0100 Subject: [PATCH 0569/1463] Adapt gtk_widget_set_name() docs to style context. --- gtk/gtkwidget.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 214a1cf913..ca61f04a20 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -6697,12 +6697,15 @@ gtk_widget_device_is_shadowed (GtkWidget *widget, * @name: name for the widget * * Widgets can be named, which allows you to refer to them from a - * gtkrc file. You can apply a style to widgets with a particular name - * in the gtkrc file. See the documentation for gtkrc files (on the - * same page as the docs for #GtkRcStyle). + * CSS file. You can apply a style to widgets with a particular name + * in the CSS file. See the documentation for the CSS syntax (on the + * same page as the docs for #GtkStyleContext). * - * Note that widget names are separated by periods in paths (see - * gtk_widget_path()), so names with embedded periods may cause confusion. + * Note that the CSS syntax has certain special characters to delimit + * and represent elements in a selector (period, #, >, *...), + * so using these will make your widget impossible to match by name. + * Any combination of alphanumeric symbols, dashes and underscores will + * suffice. **/ void gtk_widget_set_name (GtkWidget *widget, From 56c3d4b1be15e294eee8efe964b1307f7bceff29 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 18 Dec 2010 11:27:26 +0100 Subject: [PATCH 0570/1463] Remove dead Gtk[Rc]Style code Most code in gtkrc.c has been turned into a no-op, but that one reverting in public API (gtk_rc_scanner_new() and such). GtStyle is also more shallow, now fully relies in the backing GtkStyleContext and all connection to gtkrc.c has been removed. GtkBinding has been also affected, there is no replacement yet for custom keybindings in style files, so that piece of code that hooked into gtkrc has been replaced by a FIXME so in the future it may be added back. --- gtk/gtkbindings.c | 407 +--------- gtk/gtkrc.c | 1796 +-------------------------------------------- gtk/gtkrc.h | 18 - gtk/gtksettings.c | 2 - gtk/gtkstyle.c | 481 ++---------- gtk/gtkstyle.h | 10 +- gtk/gtkwidget.c | 163 +--- 7 files changed, 95 insertions(+), 2782 deletions(-) diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c index 6973a6a2bb..fcf531618a 100644 --- a/gtk/gtkbindings.c +++ b/gtk/gtkbindings.c @@ -47,7 +47,6 @@ typedef struct { GtkPathType type; GPatternSpec *pspec; - GSList *path; gpointer user_data; guint seq_id; } PatternSpec; @@ -65,7 +64,6 @@ static GQuark key_id_class_binding_set = 0; static void pattern_spec_free (PatternSpec *pspec) { - _gtk_rc_free_widget_class_path (pspec->path); if (pspec->pspec) g_pattern_spec_free (pspec->pspec); g_free (pspec); @@ -972,6 +970,8 @@ gtk_binding_entry_add_signal (GtkBindingSet *binding_set, * * This function is used internally by the GtkRC parsing mechanism to * assign match patterns to #GtkBindingSet structures. + * + * Deprecated: 3.0 */ void gtk_binding_set_add_path (GtkBindingSet *binding_set, @@ -1009,16 +1009,10 @@ gtk_binding_set_add_path (GtkBindingSet *binding_set, pspec = g_new (PatternSpec, 1); pspec->type = path_type; if (path_type == GTK_PATH_WIDGET_CLASS) - { - pspec->pspec = NULL; - pspec->path = _gtk_rc_parse_widget_class_path (path_pattern); - } + pspec->pspec = NULL; else - { - pspec->pspec = g_pattern_spec_new (path_pattern); - pspec->path = NULL; - } - + pspec->pspec = g_pattern_spec_new (path_pattern); + pspec->seq_id = priority << 28; pspec->user_data = binding_set; @@ -1070,13 +1064,8 @@ binding_match_activate (GSList *pspec_list, binding_set = NULL; pspec = slist->data; - - if (pspec->type == GTK_PATH_WIDGET_CLASS) - { - if (_gtk_rc_match_widget_class (pspec->path, path_length, path, path_reversed)) - binding_set = pspec->user_data; - } - else + + if (pspec->type != GTK_PATH_WIDGET_CLASS) { if (g_pattern_match (pspec->pspec, path_length, path, path_reversed)) binding_set = pspec->user_data; @@ -1175,47 +1164,12 @@ gtk_bindings_activate_list (GObject *object, GSList *entries, gboolean is_release) { - GtkWidget *widget = GTK_WIDGET (object); gboolean handled = FALSE; if (!entries) return FALSE; - if (!handled) - { - guint path_length; - gchar *path, *path_reversed; - GSList *patterns; - gboolean unbound; - - gtk_widget_path (widget, &path_length, &path, &path_reversed); - patterns = gtk_binding_entries_sort_patterns (entries, GTK_PATH_WIDGET, is_release); - handled = binding_match_activate (patterns, object, path_length, path, path_reversed, &unbound); - g_slist_free (patterns); - g_free (path); - g_free (path_reversed); - - if (unbound) - return FALSE; - } - - if (!handled) - { - guint path_length; - gchar *path, *path_reversed; - GSList *patterns; - gboolean unbound; - - gtk_widget_class_path (widget, &path_length, &path, &path_reversed); - patterns = gtk_binding_entries_sort_patterns (entries, GTK_PATH_WIDGET_CLASS, is_release); - handled = binding_match_activate (patterns, object, path_length, path, path_reversed, &unbound); - g_slist_free (patterns); - g_free (path); - g_free (path_reversed); - - if (unbound) - return FALSE; - } + /* FIXME: Add back binding parsing from user config files */ if (!handled) { @@ -1333,348 +1287,3 @@ gtk_bindings_activate_event (GObject *object, return handled; } - -static guint -gtk_binding_parse_signal (GScanner *scanner, - GtkBindingSet *binding_set, - guint keyval, - GdkModifierType modifiers) -{ - gchar *signal; - guint expected_token = 0; - GSList *args; - GSList *slist; - gboolean done; - gboolean negate; - gboolean need_arg; - gboolean seen_comma; - guint token; - - g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR); - - g_scanner_get_next_token (scanner); - if (scanner->token != G_TOKEN_STRING) - return G_TOKEN_STRING; - g_scanner_peek_next_token (scanner); - if (scanner->next_token != '(') - { - g_scanner_get_next_token (scanner); - return '('; - } - signal = g_strdup (scanner->value.v_string); - g_scanner_get_next_token (scanner); - - negate = FALSE; - args = NULL; - done = FALSE; - need_arg = TRUE; - seen_comma = FALSE; - scanner->config->scan_symbols = FALSE; - do - { - if (need_arg) - expected_token = G_TOKEN_INT; - else - expected_token = ')'; - - token = g_scanner_get_next_token (scanner); - switch (token) - { - GtkBindingArg *arg; - - case G_TOKEN_FLOAT: - if (need_arg) - { - need_arg = FALSE; - arg = g_new (GtkBindingArg, 1); - arg->arg_type = G_TYPE_DOUBLE; - arg->d.double_data = scanner->value.v_float; - if (negate) - { - arg->d.double_data = - arg->d.double_data; - negate = FALSE; - } - args = g_slist_prepend (args, arg); - } - else - done = TRUE; - break; - case G_TOKEN_INT: - if (need_arg) - { - need_arg = FALSE; - arg = g_new (GtkBindingArg, 1); - arg->arg_type = G_TYPE_LONG; - arg->d.long_data = scanner->value.v_int; - if (negate) - { - arg->d.long_data = - arg->d.long_data; - negate = FALSE; - } - args = g_slist_prepend (args, arg); - } - else - done = TRUE; - break; - case G_TOKEN_STRING: - if (need_arg && !negate) - { - need_arg = FALSE; - arg = g_new (GtkBindingArg, 1); - arg->arg_type = G_TYPE_STRING; - arg->d.string_data = g_strdup (scanner->value.v_string); - args = g_slist_prepend (args, arg); - } - else - done = TRUE; - break; - case G_TOKEN_IDENTIFIER: - if (need_arg && !negate) - { - need_arg = FALSE; - arg = g_new (GtkBindingArg, 1); - arg->arg_type = GTK_TYPE_IDENTIFIER; - arg->d.string_data = g_strdup (scanner->value.v_identifier); - args = g_slist_prepend (args, arg); - } - else - done = TRUE; - break; - case '-': - if (!need_arg) - done = TRUE; - else if (negate) - { - expected_token = G_TOKEN_INT; - done = TRUE; - } - else - negate = TRUE; - break; - case ',': - seen_comma = TRUE; - if (need_arg) - done = TRUE; - else - need_arg = TRUE; - break; - case ')': - if (!(need_arg && seen_comma) && !negate) - { - args = g_slist_reverse (args); - _gtk_binding_entry_add_signall (binding_set, - keyval, - modifiers, - signal, - args); - expected_token = G_TOKEN_NONE; - } - done = TRUE; - break; - default: - done = TRUE; - break; - } - } - while (!done); - scanner->config->scan_symbols = TRUE; - - for (slist = args; slist; slist = slist->next) - { - GtkBindingArg *arg; - - arg = slist->data; - if (G_TYPE_FUNDAMENTAL (arg->arg_type) == G_TYPE_STRING) - g_free (arg->d.string_data); - g_free (arg); - } - g_slist_free (args); - g_free (signal); - - return expected_token; -} - -static inline guint -gtk_binding_parse_bind (GScanner *scanner, - GtkBindingSet *binding_set) -{ - guint keyval = 0; - GdkModifierType modifiers = 0; - gboolean unbind = FALSE; - guint token; - - g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR); - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_BIND && - token != GTK_RC_TOKEN_UNBIND) - return GTK_RC_TOKEN_BIND; - unbind = token == GTK_RC_TOKEN_UNBIND; - g_scanner_get_next_token (scanner); - if (scanner->token != G_TOKEN_STRING) - return G_TOKEN_STRING; - gtk_accelerator_parse (scanner->value.v_string, &keyval, &modifiers); - modifiers &= BINDING_MOD_MASK (); - if (keyval == 0) - return G_TOKEN_STRING; - - if (unbind) - { - gtk_binding_entry_skip (binding_set, keyval, modifiers); - return G_TOKEN_NONE; - } - - g_scanner_get_next_token (scanner); - - if (scanner->token != '{') - return '{'; - - gtk_binding_entry_clear_internal (binding_set, keyval, modifiers); - - g_scanner_peek_next_token (scanner); - while (scanner->next_token != '}') - { - switch (scanner->next_token) - { - guint expected_token; - - case G_TOKEN_STRING: - expected_token = gtk_binding_parse_signal (scanner, - binding_set, - keyval, - modifiers); - if (expected_token != G_TOKEN_NONE) - return expected_token; - break; - default: - g_scanner_get_next_token (scanner); - return '}'; - } - g_scanner_peek_next_token (scanner); - } - g_scanner_get_next_token (scanner); - - return G_TOKEN_NONE; -} - -guint -_gtk_binding_parse_binding (GScanner *scanner) -{ - GtkBindingSet *binding_set; - gchar *name; - guint token; - - g_return_val_if_fail (scanner != NULL, G_TOKEN_ERROR); - - token = g_scanner_get_next_token (scanner); - if (token != GTK_RC_TOKEN_BINDING) - return GTK_RC_TOKEN_BINDING; - g_scanner_get_next_token (scanner); - if (scanner->token != G_TOKEN_STRING) - return G_TOKEN_STRING; - name = g_strdup (scanner->value.v_string); - - g_scanner_get_next_token (scanner); - if (scanner->token != '{') - { - g_free (name); - return G_TOKEN_STRING; - } - - binding_set = gtk_binding_set_find (name); - if (!binding_set) - { - binding_set = gtk_binding_set_new (name); - binding_set->parsed = 1; - } - g_free (name); - - g_scanner_peek_next_token (scanner); - while (scanner->next_token != '}') - { - guint next_token = scanner->next_token; - switch (next_token) - { - guint expected_token; - - case GTK_RC_TOKEN_BIND: - case GTK_RC_TOKEN_UNBIND: - expected_token = gtk_binding_parse_bind (scanner, binding_set); - if (expected_token != G_TOKEN_NONE) - return expected_token; - break; - default: - g_scanner_get_next_token (scanner); - return '}'; - } - g_scanner_peek_next_token (scanner); - } - g_scanner_get_next_token (scanner); - - return G_TOKEN_NONE; -} - -static void -free_pattern_specs (GSList *pattern_specs) -{ - GSList *slist; - - for (slist = pattern_specs; slist; slist = slist->next) - { - PatternSpec *pspec; - - pspec = slist->data; - - pattern_spec_free (pspec); - } - - g_slist_free (pattern_specs); -} - -static void -binding_set_delete (GtkBindingSet *binding_set) -{ - GtkBindingEntry *entry, *next; - - entry = binding_set->entries; - while (entry) - { - next = entry->set_next; - binding_entry_destroy (entry); - entry = next; - } - - free_pattern_specs (binding_set->widget_path_pspecs); - free_pattern_specs (binding_set->widget_class_pspecs); - free_pattern_specs (binding_set->class_branch_pspecs); - - g_free (binding_set); -} - -/** - * _gtk_binding_reset_parsed: - * - * Remove all binding sets that were added by gtk_binding_parse_binding(). - */ -void -_gtk_binding_reset_parsed (void) -{ - GSList *slist, *next; - - slist = binding_set_list; - while (slist) - { - GtkBindingSet *binding_set; - - binding_set = slist->data; - next = slist->next; - - if (binding_set->parsed) - { - binding_set_list = g_slist_delete_link (binding_set_list, slist); - binding_set_delete (binding_set); - } - - slist = next; - } -} diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index b0f239a97d..5f726bd23f 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -60,10 +60,6 @@ #include #endif -typedef struct _GtkRcSet GtkRcSet; -typedef struct _GtkRcNode GtkRcNode; -typedef struct _GtkRcFile GtkRcFile; - enum { PATH_ELT_PSPEC, @@ -82,54 +78,6 @@ typedef struct } elt; } PathElt; -struct _GtkRcSet -{ - GtkPathType type; - - GPatternSpec *pspec; - GSList *path; - - GtkRcStyle *rc_style; - gint priority; -}; - -struct _GtkRcFile -{ - time_t mtime; - gchar *name; - gchar *canonical_name; - gchar *directory; - guint reload : 1; - guint is_string : 1; /* If TRUE, name is a string to parse with gtk_rc_parse_string() */ -}; - - -struct _GtkRcContext -{ - GHashTable *rc_style_ht; - GtkSettings *settings; - GSList *rc_sets_widget; - GSList *rc_sets_widget_class; - GSList *rc_sets_class; - - /* The files we have parsed, to reread later if necessary */ - GSList *rc_files; - - gchar *theme_name; - gboolean prefer_dark_theme; - gchar *key_theme_name; - gchar *font_name; - - gchar **pixmap_path; - - gint default_priority; - GtkStyle *default_style; - - GHashTable *color_hash; - - guint reloading : 1; -}; - #define GTK_RC_STYLE_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_RC_STYLE, GtkRcStylePrivate)) typedef struct _GtkRcStylePrivate GtkRcStylePrivate; @@ -139,51 +87,13 @@ struct _GtkRcStylePrivate GSList *color_hashes; }; -static GtkRcContext *gtk_rc_context_get (GtkSettings *settings); - -static guint gtk_rc_styles_hash (const GSList *rc_styles); -static gboolean gtk_rc_styles_equal (const GSList *a, - const GSList *b); -static GSList * gtk_rc_styles_match (GSList *rc_styles, - GSList *sets, - guint path_length, - gchar *path, - gchar *path_reversed); -static GtkStyle * gtk_rc_style_to_style (GtkRcContext *context, - GtkRcStyle *rc_style); -static GtkStyle* gtk_rc_init_style (GtkRcContext *context, - GSList *rc_styles); -static void gtk_rc_parse_default_files (GtkRcContext *context); -static gboolean gtk_rc_parse_named (GtkRcContext *context, - const gchar *name, - const gchar *type, - const gchar *variant); -static void gtk_rc_context_parse_file (GtkRcContext *context, - const gchar *filename, - gint priority, - gboolean reload); -static void gtk_rc_parse_any (GtkRcContext *context, - const gchar *input_name, - gint input_fd, - const gchar *input_string); - -static void gtk_rc_clear_hash_node (gpointer key, - gpointer data, - gpointer user_data); -static void gtk_rc_clear_styles (GtkRcContext *context); -static void gtk_rc_add_initial_default_files (void); - static void gtk_rc_style_finalize (GObject *object); static void gtk_rc_style_real_merge (GtkRcStyle *dest, GtkRcStyle *src); static GtkRcStyle* gtk_rc_style_real_create_rc_style (GtkRcStyle *rc_style); static GtkStyle* gtk_rc_style_real_create_style (GtkRcStyle *rc_style); -static void gtk_rc_style_copy_icons_and_colors(GtkRcStyle *rc_style, - GtkRcStyle *src_style, - GtkRcContext *context); static gint gtk_rc_properties_cmp (gconstpointer bsearch_node1, gconstpointer bsearch_node2); -static void gtk_rc_set_free (GtkRcSet *rc_set); static void insert_rc_property (GtkRcStyle *style, GtkRcProperty *property, @@ -319,23 +229,8 @@ static GHashTable *realized_style_ht = NULL; static gchar *im_module_file = NULL; -static gint max_default_files = 0; static gchar **gtk_rc_default_files = NULL; -/* A stack of information of RC files we are parsing currently. - * The directories for these files are implicitely added to the end of - * PIXMAP_PATHS. - */ -static GSList *current_files_stack = NULL; - -/* RC files and strings that are parsed for every context - */ -static GSList *global_rc_files = NULL; - -/* Keep list of all current RC contexts for convenience - */ -static GSList *rc_contexts; - /* RC file handling */ static gchar * @@ -436,55 +331,6 @@ gtk_rc_get_module_dir (void) return gtk_rc_make_default_dir ("engines"); } -static void -gtk_rc_add_initial_default_files (void) -{ - static gint init = FALSE; - const gchar *var; - gchar *str; - gchar **files; - gint i; - - if (init) - return; - - gtk_rc_default_files = g_new (gchar*, 10); - max_default_files = 10; - - gtk_rc_default_files[0] = NULL; - init = TRUE; - - var = g_getenv ("GTK2_RC_FILES"); - - if (var) - { - files = g_strsplit (var, G_SEARCHPATH_SEPARATOR_S, -1); - i=0; - while (files[i]) - { - gtk_rc_add_default_file (files[i]); - i++; - } - g_strfreev (files); - } - else - { - const gchar *home; - str = g_build_filename (GTK_SYSCONFDIR, "gtk-3.0", "gtkrc", NULL); - - gtk_rc_add_default_file (str); - g_free (str); - - home = g_get_home_dir (); - if (home) - { - str = g_build_filename (home, ".gtkrc-3.0", NULL); - gtk_rc_add_default_file (str); - g_free (str); - } - } -} - /** * gtk_rc_add_default_file: * @filename: the pathname to the file. If @filename is not absolute, it @@ -498,24 +344,6 @@ gtk_rc_add_initial_default_files (void) void gtk_rc_add_default_file (const gchar *filename) { - guint n; - - gtk_rc_add_initial_default_files (); - - for (n = 0; n < max_default_files; n++) - { - if (gtk_rc_default_files[n] == NULL) - break; - } - - if (n == max_default_files) - { - max_default_files += 10; - gtk_rc_default_files = g_renew (gchar*, gtk_rc_default_files, max_default_files); - } - - gtk_rc_default_files[n++] = g_strdup (filename); - gtk_rc_default_files[n] = NULL; } /** @@ -530,25 +358,6 @@ gtk_rc_add_default_file (const gchar *filename) void gtk_rc_set_default_files (gchar **filenames) { - gint i; - - gtk_rc_add_initial_default_files (); - - i = 0; - while (gtk_rc_default_files[i]) - { - g_free (gtk_rc_default_files[i]); - i++; - } - - gtk_rc_default_files[0] = NULL; - - i = 0; - while (filenames[i] != NULL) - { - gtk_rc_add_default_file (filenames[i]); - i++; - } } /** @@ -566,490 +375,19 @@ gtk_rc_set_default_files (gchar **filenames) gchar ** gtk_rc_get_default_files (void) { - gtk_rc_add_initial_default_files (); - return gtk_rc_default_files; } -static void -gtk_rc_settings_changed (GtkSettings *settings, - GParamSpec *pspec, - GtkRcContext *context) -{ - gchar *new_theme_name; - gchar *new_key_theme_name; - gboolean new_prefer_dark_theme; - - if (context->reloading) - return; - - g_object_get (settings, - "gtk-theme-name", &new_theme_name, - "gtk-key-theme-name", &new_key_theme_name, - "gtk-application-prefer-dark-theme", &new_prefer_dark_theme, - NULL); - - if ((new_theme_name != context->theme_name && - !(new_theme_name && context->theme_name && strcmp (new_theme_name, context->theme_name) == 0)) || - (new_key_theme_name != context->key_theme_name && - !(new_key_theme_name && context->key_theme_name && strcmp (new_key_theme_name, context->key_theme_name) == 0)) || - new_prefer_dark_theme != context->prefer_dark_theme) - { - gtk_rc_reparse_all_for_settings (settings, TRUE); - } - - g_free (new_theme_name); - g_free (new_key_theme_name); -} - -static void -gtk_rc_font_name_changed (GtkSettings *settings, - GParamSpec *pspec, - GtkRcContext *context) -{ - if (!context->reloading) - _gtk_rc_context_get_default_font_name (settings); -} - -static void -gtk_rc_color_hash_changed (GtkSettings *settings, - GParamSpec *pspec, - GtkRcContext *context) -{ - GHashTable *old_hash; - - old_hash = context->color_hash; - - g_object_get (settings, "color-hash", &context->color_hash, NULL); - - if (old_hash) - g_hash_table_unref (old_hash); - - gtk_rc_reparse_all_for_settings (settings, TRUE); -} - -static GtkRcContext * -gtk_rc_context_get (GtkSettings *settings) -{ - if (!settings->rc_context) - { - GtkRcContext *context = settings->rc_context = g_new (GtkRcContext, 1); - - context->settings = settings; - context->rc_style_ht = NULL; - context->rc_sets_widget = NULL; - context->rc_sets_widget_class = NULL; - context->rc_sets_class = NULL; - context->rc_files = NULL; - context->default_style = NULL; - context->reloading = FALSE; - - g_object_get (settings, - "gtk-theme-name", &context->theme_name, - "gtk-key-theme-name", &context->key_theme_name, - "gtk-font-name", &context->font_name, - "color-hash", &context->color_hash, - "gtk-application-prefer-dark-theme", &context->prefer_dark_theme, - NULL); - - g_signal_connect (settings, - "notify::gtk-theme-name", - G_CALLBACK (gtk_rc_settings_changed), - context); - g_signal_connect (settings, - "notify::gtk-key-theme-name", - G_CALLBACK (gtk_rc_settings_changed), - context); - g_signal_connect (settings, - "notify::gtk-font-name", - G_CALLBACK (gtk_rc_font_name_changed), - context); - g_signal_connect (settings, - "notify::color-hash", - G_CALLBACK (gtk_rc_color_hash_changed), - context); - g_signal_connect (settings, - "notify::gtk-application-prefer-dark-theme", - G_CALLBACK (gtk_rc_settings_changed), - context); - - context->pixmap_path = NULL; - - context->default_priority = GTK_PATH_PRIO_RC; - - rc_contexts = g_slist_prepend (rc_contexts, settings->rc_context); - } - - return settings->rc_context; -} - -static void -gtk_rc_clear_rc_files (GtkRcContext *context) -{ - GSList *list; - - list = context->rc_files; - while (list) - { - GtkRcFile *rc_file = list->data; - - if (rc_file->canonical_name != rc_file->name) - g_free (rc_file->canonical_name); - g_free (rc_file->directory); - g_free (rc_file->name); - g_free (rc_file); - - list = list->next; - } - - g_slist_free (context->rc_files); - context->rc_files = NULL; -} - -void -_gtk_rc_context_destroy (GtkSettings *settings) -{ - GtkRcContext *context; - - g_return_if_fail (GTK_IS_SETTINGS (settings)); - - context = settings->rc_context; - if (!context) - return; - - _gtk_settings_reset_rc_values (context->settings); - gtk_rc_clear_styles (context); - gtk_rc_clear_rc_files (context); - - if (context->default_style) - g_object_unref (context->default_style); - - g_strfreev (context->pixmap_path); - - g_free (context->theme_name); - g_free (context->key_theme_name); - g_free (context->font_name); - - if (context->color_hash) - g_hash_table_unref (context->color_hash); - - g_signal_handlers_disconnect_by_func (settings, - gtk_rc_settings_changed, context); - g_signal_handlers_disconnect_by_func (settings, - gtk_rc_font_name_changed, context); - g_signal_handlers_disconnect_by_func (settings, - gtk_rc_color_hash_changed, context); - - rc_contexts = g_slist_remove (rc_contexts, context); - - g_free (context); - - settings->rc_context = NULL; -} - -static gboolean -gtk_rc_parse_named (GtkRcContext *context, - const gchar *name, - const gchar *type, - const gchar *variant) -{ - gchar *path = NULL; - const gchar *home_dir; - gchar *subpath; - gboolean retval; - - retval = FALSE; - - if (type) - subpath = g_strconcat ("gtk-3.0-", type, - G_DIR_SEPARATOR_S "gtkrc", - NULL); - else - subpath = g_strconcat ("gtk-3.0" G_DIR_SEPARATOR_S "gtkrc", - variant, NULL); - - /* First look in the users home directory - */ - home_dir = g_get_home_dir (); - if (home_dir) - { - path = g_build_filename (home_dir, ".themes", name, subpath, NULL); - if (!g_file_test (path, G_FILE_TEST_EXISTS)) - { - g_free (path); - path = NULL; - } - } - - if (!path) - { - gchar *theme_dir = gtk_rc_get_theme_dir (); - path = g_build_filename (theme_dir, name, subpath, NULL); - g_free (theme_dir); - - if (!g_file_test (path, G_FILE_TEST_EXISTS)) - { - g_free (path); - path = NULL; - } - } - - if (path) - { - gtk_rc_context_parse_file (context, path, GTK_PATH_PRIO_THEME, FALSE); - g_free (path); - retval = TRUE; - } - - g_free (subpath); - - return retval; -} - -static void -gtk_rc_parse_default_files (GtkRcContext *context) -{ - gint i; - - gtk_rc_add_initial_default_files (); - - for (i = 0; gtk_rc_default_files[i] != NULL; i++) - gtk_rc_context_parse_file (context, gtk_rc_default_files[i], GTK_PATH_PRIO_RC, FALSE); -} - -void -_gtk_rc_init (void) -{ - static gboolean initialized = FALSE; - - if (!initialized) - { - initialized = TRUE; - - gtk_rc_add_initial_default_files (); - } - - /* Default RC string */ - gtk_rc_parse_string ("style \"gtk-default-tooltips-style\" {\n" - " bg[NORMAL] = \"#eee1b3\"\n" - " fg[NORMAL] = \"#000000\"\n" - "}\n" - "\n" - "style \"gtk-default-progress-bar-style\" {\n" - " bg[PRELIGHT] = \"#4b6983\"\n" - " fg[PRELIGHT] = \"#ffffff\"\n" - " bg[NORMAL] = \"#c4c2bd\"\n" - "}\n" - "\n" - "style \"gtk-default-entry-style\" {\n" - " bg[SELECTED] = \"#b7c3cd\"\n" - " fg[SELECTED] = \"#000000\"\n" - "}\n" - "\n" - "style \"gtk-default-menu-bar-item-style\" {\n" - " GtkMenuItem::horizontal_padding = 5\n" - "}\n" - "\n" - "style \"gtk-default-menu-item-style\" {\n" - " bg[PRELIGHT] = \"#4b6983\"\n" - " fg[PRELIGHT] = \"#ffffff\"\n" - " base[PRELIGHT] = \"#4b6983\"\n" - " text[PRELIGHT] = \"#ffffff\"\n" - "}\n" - "\n" - "class \"GtkProgressBar\" style : gtk \"gtk-default-progress-bar-style\"\n" - "class \"GtkEntry\" style : gtk \"gtk-default-entry-style\"\n" - "widget \"gtk-tooltip*\" style : gtk \"gtk-default-tooltips-style\"\n" - "widget_class \"**\" style : gtk \"gtk-default-menu-item-style\"\n" - "widget_class \"**\" style : gtk \"gtk-default-menu-bar-item-style\"\n" - ); -} - -static void -gtk_rc_context_parse_string (GtkRcContext *context, - const gchar *rc_string) -{ - gtk_rc_parse_any (context, "-", -1, rc_string); -} - void gtk_rc_parse_string (const gchar *rc_string) { -} - -static GtkRcFile * -add_to_rc_file_list (GSList **rc_file_list, - const char *filename, - gboolean reload) -{ - GSList *tmp_list; - GtkRcFile *rc_file; - - tmp_list = *rc_file_list; - while (tmp_list) - { - rc_file = tmp_list->data; - if (!strcmp (rc_file->name, filename)) - return rc_file; - - tmp_list = tmp_list->next; - } - - rc_file = g_new (GtkRcFile, 1); - rc_file->is_string = FALSE; - rc_file->name = g_strdup (filename); - rc_file->canonical_name = NULL; - rc_file->directory = NULL; - rc_file->mtime = 0; - rc_file->reload = reload; - - *rc_file_list = g_slist_append (*rc_file_list, rc_file); - - return rc_file; -} - -static void -gtk_rc_context_parse_one_file (GtkRcContext *context, - const gchar *filename, - gint priority, - gboolean reload) -{ - GtkRcFile *rc_file; - struct stat statbuf; - gint saved_priority; - - g_return_if_fail (filename != NULL); - - saved_priority = context->default_priority; - context->default_priority = priority; - - rc_file = add_to_rc_file_list (&context->rc_files, filename, reload); - - if (!rc_file->canonical_name) - { - /* Get the absolute pathname */ - - if (g_path_is_absolute (rc_file->name)) - rc_file->canonical_name = rc_file->name; - else - { - gchar *cwd; - - cwd = g_get_current_dir (); - rc_file->canonical_name = g_build_filename (cwd, rc_file->name, NULL); - g_free (cwd); - } - - rc_file->directory = g_path_get_dirname (rc_file->canonical_name); - } - - /* If the file is already being parsed (recursion), do nothing - */ - if (g_slist_find (current_files_stack, rc_file)) - return; - - if (!g_lstat (rc_file->canonical_name, &statbuf)) - { - gint fd; - - rc_file->mtime = statbuf.st_mtime; - - fd = g_open (rc_file->canonical_name, O_RDONLY, 0); - if (fd < 0) - goto out; - - /* Temporarily push information for this file on - * a stack of current files while parsing it. - */ - current_files_stack = g_slist_prepend (current_files_stack, rc_file); - gtk_rc_parse_any (context, filename, fd, NULL); - current_files_stack = g_slist_delete_link (current_files_stack, - current_files_stack); - - close (fd); - } - - out: - context->default_priority = saved_priority; -} - -static gchar * -strchr_len (const gchar *str, gint len, char c) -{ - while (len--) - { - if (*str == c) - return (gchar *)str; - - str++; - } - - return NULL; -} - -static void -gtk_rc_context_parse_file (GtkRcContext *context, - const gchar *filename, - gint priority, - gboolean reload) -{ - gchar *locale_suffixes[2]; - gint n_locale_suffixes = 0; - gchar *p; - gchar *locale; - gint length, j; - gboolean found = FALSE; - - locale = _gtk_get_lc_ctype (); - - if (strcmp (locale, "C") && strcmp (locale, "POSIX")) - { - /* Determine locale-specific suffixes for RC files. - */ - length = strlen (locale); - - p = strchr (locale, '@'); - if (p) - length = p - locale; - - p = strchr_len (locale, length, '.'); - if (p) - length = p - locale; - - locale_suffixes[n_locale_suffixes++] = g_strndup (locale, length); - - p = strchr_len (locale, length, '_'); - if (p) - { - length = p - locale; - locale_suffixes[n_locale_suffixes++] = g_strndup (locale, length); - } - } - - g_free (locale); - - gtk_rc_context_parse_one_file (context, filename, priority, reload); - for (j = 0; j < n_locale_suffixes; j++) - { - if (!found) - { - gchar *name = g_strconcat (filename, ".", locale_suffixes[j], NULL); - if (g_file_test (name, G_FILE_TEST_EXISTS)) - { - gtk_rc_context_parse_one_file (context, name, priority, FALSE); - found = TRUE; - } - - g_free (name); - } - - g_free (locale_suffixes[j]); - } + g_return_if_fail (rc_string != NULL); } void gtk_rc_parse (const gchar *filename) { + g_return_if_fail (filename != NULL); } /* Handling of RC styles */ @@ -1206,85 +544,15 @@ gtk_rc_style_copy (GtkRcStyle *orig) style = GTK_RC_STYLE_GET_CLASS (orig)->create_rc_style (orig); GTK_RC_STYLE_GET_CLASS (style)->merge (style, orig); - gtk_rc_style_copy_icons_and_colors (style, orig, NULL); - return style; } -void -_gtk_rc_style_set_rc_property (GtkRcStyle *rc_style, - GtkRcProperty *property) -{ - g_return_if_fail (GTK_IS_RC_STYLE (rc_style)); - g_return_if_fail (property != NULL); - - insert_rc_property (rc_style, property, TRUE); -} - -void -_gtk_rc_style_unset_rc_property (GtkRcStyle *rc_style, - GQuark type_name, - GQuark property_name) -{ - GtkRcProperty *node; - - g_return_if_fail (GTK_IS_RC_STYLE (rc_style)); - - node = (GtkRcProperty *) _gtk_rc_style_lookup_rc_property (rc_style, - type_name, - property_name); - - if (node != NULL) - { - guint index = node - (GtkRcProperty *) rc_style->rc_properties->data; - g_value_unset (&node->value); - g_free (node->origin); - g_array_remove_index (rc_style->rc_properties, index); - } -} - static GtkRcStyle * gtk_rc_style_real_create_rc_style (GtkRcStyle *style) { return g_object_new (G_OBJECT_TYPE (style), NULL); } -GSList * -_gtk_rc_style_get_color_hashes (GtkRcStyle *rc_style) -{ - GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style); - - return priv->color_hashes; -} - -static void gtk_rc_style_prepend_empty_color_hash (GtkRcStyle *rc_style); - -void -_gtk_rc_style_set_symbolic_color (GtkRcStyle *rc_style, - const gchar *name, - const GdkColor *color) -{ - GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style); - GHashTable *our_hash = NULL; - - if (priv->color_hashes) - our_hash = priv->color_hashes->data; - - if (our_hash == NULL) - { - if (color == NULL) - return; - - gtk_rc_style_prepend_empty_color_hash (rc_style); - our_hash = priv->color_hashes->data; - } - - if (color) - g_hash_table_insert (our_hash, g_strdup (name), gdk_color_copy (color)); - else - g_hash_table_remove (our_hash, name); -} - static gint gtk_rc_properties_cmp (gconstpointer bsearch_node1, gconstpointer bsearch_node2) @@ -1417,195 +685,6 @@ gtk_rc_style_real_create_style (GtkRcStyle *rc_style) return gtk_style_new (); } -static void -gtk_rc_style_prepend_empty_icon_factory (GtkRcStyle *rc_style) -{ - GtkIconFactory *factory = gtk_icon_factory_new (); - - rc_style->icon_factories = g_slist_prepend (rc_style->icon_factories, factory); -} - -static void -gtk_rc_style_prepend_empty_color_hash (GtkRcStyle *rc_style) -{ - GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style); - GHashTable *hash = g_hash_table_new_full (g_str_hash, g_str_equal, - g_free, - (GDestroyNotify) gdk_color_free); - - priv->color_hashes = g_slist_prepend (priv->color_hashes, hash); -} - -static void -gtk_rc_style_append_icon_factories (GtkRcStyle *rc_style, - GtkRcStyle *src_style) -{ - GSList *concat = g_slist_copy (src_style->icon_factories); - - g_slist_foreach (concat, (GFunc) g_object_ref, NULL); - - rc_style->icon_factories = g_slist_concat (rc_style->icon_factories, concat); -} - -static void -gtk_rc_style_append_color_hashes (GtkRcStyle *rc_style, - GtkRcStyle *src_style) -{ - GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style); - GtkRcStylePrivate *src_priv = GTK_RC_STYLE_GET_PRIVATE (src_style); - GSList *concat = g_slist_copy (src_priv->color_hashes); - - g_slist_foreach (concat, (GFunc) g_hash_table_ref, NULL); - - priv->color_hashes = g_slist_concat (priv->color_hashes, concat); -} - -static void -gtk_rc_style_copy_icons_and_colors (GtkRcStyle *rc_style, - GtkRcStyle *src_style, - GtkRcContext *context) -{ - GtkRcStylePrivate *priv = GTK_RC_STYLE_GET_PRIVATE (rc_style); - - if (src_style) - { - GtkRcStylePrivate *src_priv = GTK_RC_STYLE_GET_PRIVATE (src_style); - - /* Append src_style's factories, adding a ref to them */ - if (src_style->icon_factories != NULL) - { - /* Add a factory for ourselves if we have none, - * in case we end up defining more stock icons. - * I see no real way around this; we need to maintain - * the invariant that the first factory in the list - * is always our_factory, the one belonging to us, - * and if we put src_style factories in the list we can't - * do that if the style is reopened. - */ - if (rc_style->icon_factories == NULL) - gtk_rc_style_prepend_empty_icon_factory (rc_style); - - gtk_rc_style_append_icon_factories (rc_style, src_style); - } - - /* Also append src_style's color hashes, adding a ref to them */ - if (src_priv->color_hashes != NULL) - { - /* See comment above .. */ - if (priv->color_hashes == NULL) - gtk_rc_style_prepend_empty_color_hash (rc_style); - - gtk_rc_style_append_color_hashes (rc_style, src_style); - } - } - - /* if we didn't get color hashes from the src_style, initialize - * the list with the settings' color scheme (if it exists) - */ - if (priv->color_hashes == NULL && context && context->color_hash != NULL) - { - gtk_rc_style_prepend_empty_color_hash (rc_style); - - priv->color_hashes = g_slist_append (priv->color_hashes, - g_hash_table_ref (context->color_hash)); - } -} - -static void -gtk_rc_clear_hash_node (gpointer key, - gpointer data, - gpointer user_data) -{ - g_object_unref (data); -} - -static void -gtk_rc_free_rc_sets (GSList *slist) -{ - while (slist) - { - GtkRcSet *rc_set; - - rc_set = slist->data; - gtk_rc_set_free (rc_set); - - slist = slist->next; - } -} - -static void -gtk_rc_clear_styles (GtkRcContext *context) -{ - /* Clear out all old rc_styles */ - - if (context->rc_style_ht) - { - g_hash_table_foreach (context->rc_style_ht, gtk_rc_clear_hash_node, NULL); - g_hash_table_destroy (context->rc_style_ht); - context->rc_style_ht = NULL; - } - - gtk_rc_free_rc_sets (context->rc_sets_widget); - g_slist_free (context->rc_sets_widget); - context->rc_sets_widget = NULL; - - gtk_rc_free_rc_sets (context->rc_sets_widget_class); - g_slist_free (context->rc_sets_widget_class); - context->rc_sets_widget_class = NULL; - - gtk_rc_free_rc_sets (context->rc_sets_class); - g_slist_free (context->rc_sets_class); - context->rc_sets_class = NULL; -} - -/* Reset all our widgets. Also, we have to invalidate cached icons in - * icon sets so they get re-rendered. - */ -static void -gtk_rc_reset_widgets (GtkSettings *settings) -{ - GList *list, *toplevels; - - _gtk_icon_set_invalidate_caches (); - - toplevels = gtk_window_list_toplevels (); - g_list_foreach (toplevels, (GFunc)g_object_ref, NULL); - - for (list = toplevels; list; list = list->next) - { - if (gtk_widget_get_screen (list->data) == settings->screen) - { - gtk_widget_reset_rc_styles (list->data); - } - - g_object_unref (list->data); - } - g_list_free (toplevels); -} - -static void -gtk_rc_clear_realized_style (gpointer key, - gpointer value, - gpointer data) -{ - GSList *rc_styles = key; - GtkStyle *style = value; - GSList *tmp_list = rc_styles; - - g_object_unref (style); - - while (tmp_list) - { - GtkRcStyle *rc_style = tmp_list->data; - - rc_style->rc_style_lists = g_slist_remove_all (rc_style->rc_style_lists, - rc_styles); - tmp_list = tmp_list->next; - } - - g_slist_free (rc_styles); -} - /** * gtk_rc_reset_styles: * @settings: a #GtkSettings @@ -1626,59 +705,7 @@ gtk_rc_clear_realized_style (gpointer key, void gtk_rc_reset_styles (GtkSettings *settings) { - GtkRcContext *context; - gboolean reset = FALSE; - - g_return_if_fail (GTK_IS_SETTINGS (settings)); - - context = gtk_rc_context_get (settings); - - if (context->default_style) - { - g_object_unref (context->default_style); - context->default_style = NULL; - reset = TRUE; - } - - /* Clear out styles that have been looked up already - */ - if (realized_style_ht) - { - g_hash_table_foreach (realized_style_ht, gtk_rc_clear_realized_style, NULL); - g_hash_table_destroy (realized_style_ht); - realized_style_ht = NULL; - reset = TRUE; - } - - if (reset) - gtk_rc_reset_widgets (settings); -} - -const gchar* -_gtk_rc_context_get_default_font_name (GtkSettings *settings) -{ - GtkRcContext *context; - gchar *new_font_name; - - g_return_val_if_fail (GTK_IS_SETTINGS (settings), NULL); - - context = gtk_rc_context_get (settings); - - g_object_get (context->settings, - "gtk-font-name", &new_font_name, - NULL); - - if (new_font_name != context->font_name && !(new_font_name && strcmp (context->font_name, new_font_name) == 0)) - { - g_free (context->font_name); - context->font_name = g_strdup (new_font_name); - - gtk_rc_reset_styles (settings); - } - - g_free (new_font_name); - - return context->font_name; + gtk_style_context_reset_widgets (_gtk_settings_get_screen (settings)); } /** @@ -1696,97 +723,7 @@ gboolean gtk_rc_reparse_all_for_settings (GtkSettings *settings, gboolean force_load) { - gboolean mtime_modified = FALSE; - GtkRcFile *rc_file; - GSList *tmp_list; - GtkRcContext *context; - struct stat statbuf; - - g_return_val_if_fail (GTK_IS_SETTINGS (settings), FALSE); - - context = gtk_rc_context_get (settings); - - if (context->reloading) - return FALSE; - - if (!force_load) - { - /* Check through and see if any of the RC's have had their - * mtime modified. If so, reparse everything. - */ - tmp_list = context->rc_files; - while (tmp_list) - { - rc_file = tmp_list->data; - - if (!rc_file->is_string) - { - if (!g_lstat (rc_file->name, &statbuf) && - (statbuf.st_mtime != rc_file->mtime)) - { - mtime_modified = TRUE; - break; - } - } - - tmp_list = tmp_list->next; - } - } - - if (force_load || mtime_modified) - { - _gtk_binding_reset_parsed (); - gtk_rc_clear_styles (context); - context->reloading = TRUE; - - _gtk_settings_reset_rc_values (context->settings); - gtk_rc_clear_rc_files (context); - - gtk_rc_parse_default_files (context); - - tmp_list = global_rc_files; - while (tmp_list) - { - rc_file = tmp_list->data; - - if (rc_file->is_string) - gtk_rc_context_parse_string (context, rc_file->name); - else - gtk_rc_context_parse_file (context, rc_file->name, GTK_PATH_PRIO_RC, FALSE); - - tmp_list = tmp_list->next; - } - - g_free (context->theme_name); - g_free (context->key_theme_name); - - g_object_get (context->settings, - "gtk-theme-name", &context->theme_name, - "gtk-key-theme-name", &context->key_theme_name, - "gtk-application-prefer-dark-theme", &context->prefer_dark_theme, - NULL); - - if (context->theme_name && context->theme_name[0]) - { - if (context->prefer_dark_theme) - { - if (!gtk_rc_parse_named (context, context->theme_name, NULL, "-dark")) - gtk_rc_parse_named (context, context->theme_name, NULL, NULL); - } - else - { - gtk_rc_parse_named (context, context->theme_name, NULL, NULL); - } - } - if (context->key_theme_name && context->key_theme_name[0]) - gtk_rc_parse_named (context, context->key_theme_name, "key", NULL); - - context->reloading = FALSE; - - gtk_rc_reset_widgets (context->settings); - } - - return force_load || mtime_modified; + return FALSE; } /** @@ -1801,89 +738,7 @@ gtk_rc_reparse_all_for_settings (GtkSettings *settings, gboolean gtk_rc_reparse_all (void) { - GSList *tmp_list; - gboolean result = FALSE; - - for (tmp_list = rc_contexts; tmp_list; tmp_list = tmp_list->next) - { - GtkRcContext *context = tmp_list->data; - if (gtk_rc_reparse_all_for_settings (context->settings, FALSE)) - result = TRUE; - } - - return result; -} - -static GSList * -gtk_rc_styles_match (GSList *rc_styles, - GSList *sets, - guint path_length, - gchar *path, - gchar *path_reversed) - -{ - GtkRcSet *rc_set; - - while (sets) - { - rc_set = sets->data; - sets = sets->next; - - if (rc_set->type == GTK_PATH_WIDGET_CLASS) - { - if (_gtk_rc_match_widget_class (rc_set->path, path_length, path, path_reversed)) - rc_styles = g_slist_append (rc_styles, rc_set); - } - else - { - if (g_pattern_match (rc_set->pspec, path_length, path, path_reversed)) - rc_styles = g_slist_append (rc_styles, rc_set); - } - } - - return rc_styles; -} - -static gint -rc_set_compare (gconstpointer a, gconstpointer b) -{ - const GtkRcSet *set_a = a; - const GtkRcSet *set_b = b; - - return (set_a->priority < set_b->priority) ? 1 : (set_a->priority == set_b->priority ? 0 : -1); -} - -static GSList * -sort_and_dereference_sets (GSList *styles) -{ - GSList *tmp_list; - - /* At this point, the list of sets is ordered by: - * - * a) 'widget' patterns are earlier than 'widget_class' patterns - * which are ealier than 'class' patterns. - * a) For two matches for class patterns, a match to a child type - * is before a match to a parent type - * c) a match later in the RC file (or in a later RC file) is before a - * match earlier in the RC file. - * - * With a) taking precedence over b) which takes precendence over c). - * - * Now sort by priority, which has the highest precendence for sort order - */ - styles = g_slist_sort (styles, rc_set_compare); - - /* Make styles->data = styles->data->rc_style - */ - tmp_list = styles; - while (tmp_list) - { - GtkRcSet *set = tmp_list->data; - tmp_list->data = set->rc_style; - tmp_list = tmp_list->next; - } - - return styles; + return FALSE; } /** @@ -1906,87 +761,11 @@ sort_and_dereference_sets (GSList *styles) GtkStyle * gtk_rc_get_style (GtkWidget *widget) { - GtkRcStyle *widget_rc_style; - GSList *rc_styles = NULL; - GtkRcContext *context; - - static guint rc_style_key_id = 0; - g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); - context = gtk_rc_context_get (gtk_widget_get_settings (widget)); + gtk_widget_ensure_style (widget); - /* We allow the specification of a single rc style to be bound - * tightly to a widget, for application modifications - */ - if (!rc_style_key_id) - rc_style_key_id = g_quark_from_static_string ("gtk-rc-style"); - - if (context->rc_sets_widget) - { - gchar *path, *path_reversed; - guint path_length; - - gtk_widget_path (widget, &path_length, &path, &path_reversed); - rc_styles = gtk_rc_styles_match (rc_styles, context->rc_sets_widget, path_length, path, path_reversed); - g_free (path); - g_free (path_reversed); - } - - if (context->rc_sets_widget_class) - { - gchar *path, *path_reversed; - guint path_length; - - gtk_widget_class_path (widget, &path_length, &path, &path_reversed); - rc_styles = gtk_rc_styles_match (rc_styles, context->rc_sets_widget_class, path_length, path, path_reversed); - g_free (path); - g_free (path_reversed); - } - - if (context->rc_sets_class) - { - GType type; - - type = G_TYPE_FROM_INSTANCE (widget); - while (type) - { - gchar *path; - gchar *path_reversed; - guint path_length; - - path = g_strdup (g_type_name (type)); - path_length = strlen (path); - path_reversed = g_strdup (path); - g_strreverse (path_reversed); - - rc_styles = gtk_rc_styles_match (rc_styles, context->rc_sets_class, path_length, path, path_reversed); - g_free (path); - g_free (path_reversed); - - type = g_type_parent (type); - } - } - - rc_styles = sort_and_dereference_sets (rc_styles); - - widget_rc_style = g_object_get_qdata (G_OBJECT (widget), rc_style_key_id); - - if (widget_rc_style) - rc_styles = g_slist_prepend (rc_styles, widget_rc_style); - - if (rc_styles) - return gtk_rc_init_style (context, rc_styles); - else - { - if (!context->default_style) - { - context->default_style = gtk_style_new (); - _gtk_style_init_for_settings (context->default_style, context->settings); - } - - return context->default_style; - } + return gtk_widget_get_style (widget); } /** @@ -2028,75 +807,6 @@ gtk_rc_get_style_by_paths (GtkSettings *settings, const char *class_path, GType type) { - /* We duplicate the code from above to avoid slowing down the above - * by generating paths when we don't need them. I don't know if - * this is really worth it. - */ - GSList *rc_styles = NULL; - GtkRcContext *context; - - g_return_val_if_fail (GTK_IS_SETTINGS (settings), NULL); - - context = gtk_rc_context_get (settings); - - if (widget_path && context->rc_sets_widget) - { - gchar *path; - gchar *path_reversed; - guint path_length; - - path_length = strlen (widget_path); - path = g_strdup (widget_path); - path_reversed = g_strdup (widget_path); - g_strreverse (path_reversed); - - rc_styles = gtk_rc_styles_match (rc_styles, context->rc_sets_widget, path_length, path, path_reversed); - g_free (path); - g_free (path_reversed); - } - - if (class_path && context->rc_sets_widget_class) - { - gchar *path; - gchar *path_reversed; - guint path_length; - - path = g_strdup (class_path); - path_length = strlen (class_path); - path_reversed = g_strdup (class_path); - g_strreverse (path_reversed); - - rc_styles = gtk_rc_styles_match (rc_styles, context->rc_sets_widget_class, path_length, path, path_reversed); - g_free (path); - g_free (path_reversed); - } - - if (type != G_TYPE_NONE && context->rc_sets_class) - { - while (type) - { - gchar *path; - gchar *path_reversed; - guint path_length; - - path = g_strdup (g_type_name (type)); - path_length = strlen (path); - path_reversed = g_strdup (path); - g_strreverse (path_reversed); - - rc_styles = gtk_rc_styles_match (rc_styles, context->rc_sets_class, path_length, path, path_reversed); - g_free (path); - g_free (path_reversed); - - type = g_type_parent (type); - } - } - - rc_styles = sort_and_dereference_sets (rc_styles); - - if (rc_styles) - return gtk_rc_init_style (context, rc_styles); - return NULL; } @@ -2111,144 +821,6 @@ gtk_rc_scanner_new (void) return g_scanner_new (>k_rc_scanner_config); } -static void -gtk_rc_parse_any (GtkRcContext *context, - const gchar *input_name, - gint input_fd, - const gchar *input_string) -{ -} - -static guint -gtk_rc_styles_hash (const GSList *rc_styles) -{ - guint result; - - result = 0; - while (rc_styles) - { - result += (result << 9) + GPOINTER_TO_UINT (rc_styles->data); - rc_styles = rc_styles->next; - } - - return result; -} - -static gboolean -gtk_rc_styles_equal (const GSList *a, - const GSList *b) -{ - while (a && b) - { - if (a->data != b->data) - return FALSE; - a = a->next; - b = b->next; - } - - return (a == b); -} - -static GtkStyle * -gtk_rc_style_to_style (GtkRcContext *context, - GtkRcStyle *rc_style) -{ - GtkStyle *style; - - style = GTK_RC_STYLE_GET_CLASS (rc_style)->create_style (rc_style); - _gtk_style_init_for_settings (style, context->settings); - - style->rc_style = g_object_ref (rc_style); - - GTK_STYLE_GET_CLASS (style)->init_from_rc (style, rc_style); - - return style; -} - -/* Reuses or frees rc_styles */ -static GtkStyle * -gtk_rc_init_style (GtkRcContext *context, - GSList *rc_styles) -{ - GtkStyle *style = NULL; - gint i; - - g_return_val_if_fail (rc_styles != NULL, NULL); - - if (!realized_style_ht) - realized_style_ht = g_hash_table_new ((GHashFunc) gtk_rc_styles_hash, - (GEqualFunc) gtk_rc_styles_equal); - - style = g_hash_table_lookup (realized_style_ht, rc_styles); - - if (!style) - { - GtkRcStyle *base_style = NULL; - GtkRcStyle *proto_style; - GtkRcStyleClass *proto_style_class; - GSList *tmp_styles; - GType rc_style_type = GTK_TYPE_RC_STYLE; - - /* Find the first style where the RC file specified engine "" {} - * or the first derived style and use that to create the - * merged style. If we only have raw GtkRcStyles, use the first - * style to create the merged style. - */ - base_style = rc_styles->data; - tmp_styles = rc_styles; - while (tmp_styles) - { - GtkRcStyle *rc_style = tmp_styles->data; - - if (rc_style->engine_specified || - G_OBJECT_TYPE (rc_style) != rc_style_type) - { - base_style = rc_style; - break; - } - - tmp_styles = tmp_styles->next; - } - - proto_style_class = GTK_RC_STYLE_GET_CLASS (base_style); - proto_style = proto_style_class->create_rc_style (base_style); - - tmp_styles = rc_styles; - while (tmp_styles) - { - GtkRcStyle *rc_style = tmp_styles->data; - - proto_style_class->merge (proto_style, rc_style); - - /* Point from each rc_style to the list of styles */ - if (!g_slist_find (rc_style->rc_style_lists, rc_styles)) - rc_style->rc_style_lists = g_slist_prepend (rc_style->rc_style_lists, rc_styles); - - gtk_rc_style_append_icon_factories (proto_style, rc_style); - gtk_rc_style_append_color_hashes (proto_style, rc_style); - - tmp_styles = tmp_styles->next; - } - - for (i = 0; i < 5; i++) - if (proto_style->bg_pixmap_name[i] && - (strcmp (proto_style->bg_pixmap_name[i], "") == 0)) - { - g_free (proto_style->bg_pixmap_name[i]); - proto_style->bg_pixmap_name[i] = NULL; - } - - style = gtk_rc_style_to_style (context, proto_style); - g_object_unref (proto_style); - - g_hash_table_insert (realized_style_ht, rc_styles, style); - } - else - g_slist_free (rc_styles); - - return style; -} - /********************* * Parsing functions * *********************/ @@ -2278,46 +850,6 @@ lookup_color (GtkRcStyle *style, return FALSE; } -const GtkRcProperty* -_gtk_rc_style_lookup_rc_property (GtkRcStyle *rc_style, - GQuark type_name, - GQuark property_name) -{ - GtkRcProperty *node = NULL; - - g_return_val_if_fail (GTK_IS_RC_STYLE (rc_style), NULL); - - if (rc_style->rc_properties) - { - GtkRcProperty key; - - key.type_name = type_name; - key.property_name = property_name; - - node = bsearch (&key, - rc_style->rc_properties->data, rc_style->rc_properties->len, - sizeof (GtkRcProperty), gtk_rc_properties_cmp); - } - - return node; -} - -static gchar* -gtk_rc_check_pixmap_dir (const gchar *dir, - const gchar *pixmap_file) -{ - gchar *buf; - - buf = g_build_filename (dir, pixmap_file, NULL); - - if (g_file_test (buf, G_FILE_TEST_EXISTS)) - return buf; - - g_free (buf); - - return NULL; - } - /** * gtk_rc_find_pixmap_in_path: * @settings: a #GtkSettings @@ -2336,39 +868,8 @@ gtk_rc_find_pixmap_in_path (GtkSettings *settings, GScanner *scanner, const gchar *pixmap_file) { - gint i; - gchar *filename; - GSList *tmp_list; - - GtkRcContext *context = gtk_rc_context_get (settings); - - if (context->pixmap_path) - for (i = 0; context->pixmap_path[i] != NULL; i++) - { - filename = gtk_rc_check_pixmap_dir (context->pixmap_path[i], pixmap_file); - if (filename) - return filename; - } - - tmp_list = current_files_stack; - while (tmp_list) - { - GtkRcFile *curfile = tmp_list->data; - filename = gtk_rc_check_pixmap_dir (curfile->directory, pixmap_file); - if (filename) - return filename; - - tmp_list = tmp_list->next; - } - - if (scanner) - g_scanner_warn (scanner, - _("Unable to locate image file in pixmap_path: \"%s\""), - pixmap_file); - else - g_warning (_("Unable to locate image file in pixmap_path: \"%s\""), - pixmap_file); - + g_warning (_("Unable to locate image file in pixmap_path: \"%s\""), + pixmap_file); return NULL; } @@ -2740,282 +1241,3 @@ gtk_rc_parse_color_full (GScanner *scanner, return G_TOKEN_STRING; } } - -GSList * -_gtk_rc_parse_widget_class_path (const gchar *pattern) -{ - GSList *result; - PathElt *path_elt; - const gchar *current; - const gchar *class_start; - const gchar *class_end; - const gchar *pattern_end; - const gchar *pattern_start; - gchar *sub_pattern; - - result = NULL; - current = pattern; - while ((class_start = strchr (current, '<')) && - (class_end = strchr (class_start, '>'))) - { - /* Add patterns, but ignore single dots */ - if (!(class_start == current || - (class_start == current + 1 && current[0] == '.'))) - { - pattern_end = class_start - 1; - pattern_start = current; - - path_elt = g_new (PathElt, 1); - - sub_pattern = g_strndup (pattern_start, pattern_end - pattern_start + 1); - path_elt->type = PATH_ELT_PSPEC; - path_elt->elt.pspec = g_pattern_spec_new (sub_pattern); - g_free (sub_pattern); - - result = g_slist_prepend (result, path_elt); - } - - path_elt = g_new (PathElt, 1); - - /* The < > need to be removed from the string. */ - sub_pattern = g_strndup (class_start + 1, class_end - class_start - 1); - - path_elt->type = PATH_ELT_UNRESOLVED; - path_elt->elt.class_name = sub_pattern; - - result = g_slist_prepend (result, path_elt); - - current = class_end + 1; - } - - /* Add the rest, if anything is left */ - if (strlen (current) > 0) - { - path_elt = g_new (PathElt, 1); - path_elt->type = PATH_ELT_PSPEC; - path_elt->elt.pspec = g_pattern_spec_new (current); - - result = g_slist_prepend (result, path_elt); - } - - return g_slist_reverse (result); -} - -static void -free_path_elt (gpointer data, - gpointer user_data) -{ - PathElt *path_elt = data; - - switch (path_elt->type) - { - case PATH_ELT_PSPEC: - g_pattern_spec_free (path_elt->elt.pspec); - break; - case PATH_ELT_UNRESOLVED: - g_free (path_elt->elt.class_name); - break; - case PATH_ELT_TYPE: - break; - default: - g_assert_not_reached (); - } - - g_free (path_elt); -} - -void -_gtk_rc_free_widget_class_path (GSList *list) -{ - g_slist_foreach (list, free_path_elt, NULL); - g_slist_free (list); -} - -static void -gtk_rc_set_free (GtkRcSet *rc_set) -{ - if (rc_set->pspec) - g_pattern_spec_free (rc_set->pspec); - - _gtk_rc_free_widget_class_path (rc_set->path); - - g_free (rc_set); -} - -static gboolean -match_class (PathElt *path_elt, - gchar *type_name) -{ - GType type; - - if (path_elt->type == PATH_ELT_UNRESOLVED) - { - type = g_type_from_name (path_elt->elt.class_name); - if (type != G_TYPE_INVALID) - { - g_free (path_elt->elt.class_name); - path_elt->elt.class_type = type; - path_elt->type = PATH_ELT_TYPE; - } - else - return g_str_equal (type_name, path_elt->elt.class_name); - } - - return g_type_is_a (g_type_from_name (type_name), path_elt->elt.class_type); -} - -static gboolean -match_widget_class_recursive (GSList *list, - guint length, - gchar *path, - gchar *path_reversed) -{ - PathElt *path_elt; - - /* break out if we cannot match anymore. */ - if (list == NULL) - { - if (length > 0) - return FALSE; - else - return TRUE; - } - - /* there are two possibilities: - * 1. The next pattern should match the class. - * 2. First normal matching, and then maybe a class */ - - path_elt = list->data; - - if (path_elt->type != PATH_ELT_PSPEC) - { - gchar *class_start = path; - gchar *class_end; - - /* ignore leading dot */ - if (class_start[0] == '.') - class_start++; - class_end = strchr (class_start, '.'); - - if (class_end == NULL) - { - if (!match_class (path_elt, class_start)) - return FALSE; - else - return match_widget_class_recursive (list->next, 0, "", ""); - } - else - { - class_end[0] = '\0'; - if (!match_class (path_elt, class_start)) - { - class_end[0] = '.'; - return FALSE; - } - else - { - gboolean result; - gint new_length = length - (class_end - path); - gchar old_char = path_reversed[new_length]; - - class_end[0] = '.'; - - path_reversed[new_length] = '\0'; - result = match_widget_class_recursive (list->next, new_length, class_end, path_reversed); - path_reversed[new_length] = old_char; - - return result; - } - } - } - else - { - PathElt *class_elt; - gchar *class_start; - gchar *class_end; - gboolean result = FALSE; - - /* If there is nothing after this (ie. no class match), - * just compare the pspec. - */ - if (list->next == NULL) - return g_pattern_match (path_elt->elt.pspec, length, path, path_reversed); - - class_elt = (PathElt *)list->next->data; - g_assert (class_elt->type != PATH_ELT_PSPEC); - - class_start = path; - if (class_start[0] == '.') - class_start++; - - while (TRUE) - { - class_end = strchr (class_start, '.'); - - /* It should be cheaper to match the class first. (either the pattern - * is simple, and will match most of the times, or it may be complex - * and matching is slow) - */ - if (class_end == NULL) - { - result = match_class (class_elt, class_start); - } - else - { - class_end[0] = '\0'; - result = match_class (class_elt, class_start); - class_end[0] = '.'; - } - - if (result) - { - gchar old_char; - result = FALSE; - - /* terminate the string in front of the class. It does not matter - * that the class becomes unusable, because it is not needed - * inside the recursion - */ - old_char = class_start[0]; - class_start[0] = '\0'; - - if (g_pattern_match (path_elt->elt.pspec, class_start - path, path, path_reversed + length - (class_start - path))) - { - if (class_end != NULL) - { - gint new_length = length - (class_end - path); - gchar path_reversed_char = path_reversed[new_length]; - - path_reversed[new_length] = '\0'; - - result = match_widget_class_recursive (list->next->next, new_length, class_end, path_reversed); - - path_reversed[new_length] = path_reversed_char; - } - else - result = match_widget_class_recursive (list->next->next, 0, "", ""); - } - - class_start[0] = old_char; - } - - if (result) - return TRUE; - - /* get next class in path, or break out */ - if (class_end != NULL) - class_start = class_end + 1; - else - return FALSE; - } - } -} - -gboolean -_gtk_rc_match_widget_class (GSList *list, - gint length, - gchar *path, - gchar *path_reversed) -{ - return match_widget_class_recursive (list, length, path, path_reversed); -} diff --git a/gtk/gtkrc.h b/gtk/gtkrc.h index 65635eebb9..dc3abe7635 100644 --- a/gtk/gtkrc.h +++ b/gtk/gtkrc.h @@ -123,7 +123,6 @@ struct _GtkRcStyleClass void (*_gtk_reserved4) (void); }; -void _gtk_rc_init (void); GSList* _gtk_rc_parse_widget_class_path (const gchar *pattern); void _gtk_rc_free_widget_class_path (GSList *list); gboolean _gtk_rc_match_widget_class (GSList *list, @@ -234,23 +233,6 @@ struct _GtkRcProperty gchar *origin; GValue value; }; -const GtkRcProperty* _gtk_rc_style_lookup_rc_property (GtkRcStyle *rc_style, - GQuark type_name, - GQuark property_name); -void _gtk_rc_style_set_rc_property (GtkRcStyle *rc_style, - GtkRcProperty *property); -void _gtk_rc_style_unset_rc_property (GtkRcStyle *rc_style, - GQuark type_name, - GQuark property_name); - -GSList * _gtk_rc_style_get_color_hashes (GtkRcStyle *rc_style); - -void _gtk_rc_style_set_symbolic_color (GtkRcStyle *rc_style, - const gchar *name, - const GdkColor *color); - -const gchar* _gtk_rc_context_get_default_font_name (GtkSettings *settings); -void _gtk_rc_context_destroy (GtkSettings *settings); G_END_DECLS diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index f84bc9b283..2e0f7d69af 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -1334,8 +1334,6 @@ gtk_settings_finalize (GObject *object) object_list = g_slist_remove (object_list, settings); - _gtk_rc_context_destroy (settings); - for (i = 0; i < class_n_properties; i++) g_value_unset (&settings->property_values[i].value); g_free (settings->property_values); diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 87f72bebc4..419b098abb 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -82,7 +82,6 @@ typedef struct { typedef struct _GtkStylePrivate GtkStylePrivate; struct _GtkStylePrivate { - GSList *color_hashes; GtkStyleContext *context; gulong context_changed_id; }; @@ -104,8 +103,6 @@ static void gtk_style_get_property (GObject *object, GValue *value, GParamSpec *pspec); -static void gtk_style_realize (GtkStyle *style, - GdkVisual *visual); static void gtk_style_real_realize (GtkStyle *style); static void gtk_style_real_unrealize (GtkStyle *style); static void gtk_style_real_copy (GtkStyle *style, @@ -334,8 +331,6 @@ static void hls_to_rgb (gdouble *h, gdouble *l, gdouble *s); -static void style_unrealize_cursors (GtkStyle *style); - static void transform_detail_string (const gchar *detail, GtkStyleContext *context); @@ -378,54 +373,13 @@ G_DEFINE_TYPE (GtkStyle, gtk_style, G_TYPE_OBJECT) /* --- functions --- */ -/** - * _gtk_style_init_for_settings: - * @style: a #GtkStyle - * @settings: a #GtkSettings - * - * Initializes the font description in @style according to the default - * font name of @settings. This is called for gtk_style_new() with - * the settings for the default screen (if any); if we are creating - * a style for a particular screen, we then call it again in a - * location where we know the correct settings. - * The reason for this is that gtk_rc_style_create_style() doesn't - * take the screen for an argument. - **/ -void -_gtk_style_init_for_settings (GtkStyle *style, - GtkSettings *settings) -{ - const gchar *font_name = _gtk_rc_context_get_default_font_name (settings); - - if (style->font_desc) - pango_font_description_free (style->font_desc); - - style->font_desc = pango_font_description_from_string (font_name); - - if (!pango_font_description_get_family (style->font_desc)) - { - g_warning ("Default font does not have a family set"); - pango_font_description_set_family (style->font_desc, "Sans"); - } - if (pango_font_description_get_size (style->font_desc) <= 0) - { - g_warning ("Default font does not have a positive size"); - pango_font_description_set_size (style->font_desc, 10 * PANGO_SCALE); - } -} - static void gtk_style_init (GtkStyle *style) { gint i; - - GtkSettings *settings = gtk_settings_get_default (); - - if (settings) - _gtk_style_init_for_settings (style, settings); - else - style->font_desc = pango_font_description_from_string ("Sans 10"); - + + style->font_desc = pango_font_description_from_string ("Sans 10"); + style->attach_count = 0; style->black.red = 0; @@ -556,25 +510,6 @@ gtk_style_class_init (GtkStyleClass *klass) G_TYPE_NONE, 0); } -static void -clear_property_cache (GtkStyle *style) -{ - if (style->property_cache) - { - guint i; - - for (i = 0; i < style->property_cache->len; i++) - { - PropertyValue *node = &g_array_index (style->property_cache, PropertyValue, i); - - g_param_spec_unref (node->pspec); - g_value_unset (&node->value); - } - g_array_free (style->property_cache, TRUE); - style->property_cache = NULL; - } -} - static void gtk_style_finalize (GObject *object) { @@ -583,8 +518,6 @@ gtk_style_finalize (GObject *object) g_return_if_fail (style->attach_count == 0); - clear_property_cache (style); - /* All the styles in the list have the same * style->styles pointer. If we delete the * *first* style from the list, we need to update @@ -612,9 +545,6 @@ gtk_style_finalize (GObject *object) g_slist_foreach (style->icon_factories, (GFunc) g_object_unref, NULL); g_slist_free (style->icon_factories); - g_slist_foreach (priv->color_hashes, (GFunc) g_hash_table_unref, NULL); - g_slist_free (priv->color_hashes); - pango_font_description_free (style->font_desc); if (style->private_font_desc) @@ -748,6 +678,7 @@ gtk_style_update_from_context (GtkStyle *style) GtkStylePrivate *priv; GtkStateType state; GtkBorder *padding; + gint i; priv = GTK_STYLE_GET_PRIVATE (style); @@ -792,6 +723,33 @@ gtk_style_update_from_context (GtkStyle *style) gtk_border_free (padding); } + + for (i = 0; i < 5; i++) + { + _gtk_style_shade (&style->bg[i], &style->light[i], LIGHTNESS_MULT); + _gtk_style_shade (&style->bg[i], &style->dark[i], DARKNESS_MULT); + + style->mid[i].red = (style->light[i].red + style->dark[i].red) / 2; + style->mid[i].green = (style->light[i].green + style->dark[i].green) / 2; + style->mid[i].blue = (style->light[i].blue + style->dark[i].blue) / 2; + + style->text_aa[i].red = (style->text[i].red + style->base[i].red) / 2; + style->text_aa[i].green = (style->text[i].green + style->base[i].green) / 2; + style->text_aa[i].blue = (style->text[i].blue + style->base[i].blue) / 2; + } + + style->black.red = 0x0000; + style->black.green = 0x0000; + style->black.blue = 0x0000; + + style->white.red = 0xffff; + style->white.green = 0xffff; + style->white.blue = 0xffff; + + for (i = 0; i < 5; i++) + style->background[i] = cairo_pattern_create_rgb (style->bg[i].red / 65535.0, + style->bg[i].green / 65535.0, + style->bg[i].blue / 65535.0); } static void @@ -840,26 +798,6 @@ gtk_style_copy (GtkStyle *style) return new_style; } -static GtkStyle* -gtk_style_duplicate (GtkStyle *style) -{ - GtkStyle *new_style; - - g_return_val_if_fail (GTK_IS_STYLE (style), NULL); - - new_style = gtk_style_copy (style); - - /* All the styles in the list have the same - * style->styles pointer. When we insert a new - * style, we append it to the list to avoid having - * to update the existing ones. - */ - style->styles = g_slist_append (style->styles, new_style); - new_style->styles = style->styles; - - return new_style; -} - /** * gtk_style_new: * @returns: a new #GtkStyle. @@ -914,69 +852,10 @@ GtkStyle* gtk_style_attach (GtkStyle *style, GdkWindow *window) { - GSList *styles; - GtkStyle *new_style = NULL; - GdkVisual *visual; - g_return_val_if_fail (GTK_IS_STYLE (style), NULL); g_return_val_if_fail (window != NULL, NULL); - - visual = gdk_window_get_visual (window); - - if (!style->styles) - style->styles = g_slist_append (NULL, style); - - styles = style->styles; - while (styles) - { - new_style = styles->data; - - if (new_style->visual == visual) - break; - new_style = NULL; - styles = styles->next; - } - - if (!new_style) - { - styles = style->styles; - - while (styles) - { - new_style = styles->data; - - if (new_style->attach_count == 0) - { - gtk_style_realize (new_style, visual); - break; - } - - new_style = NULL; - styles = styles->next; - } - } - - if (!new_style) - { - new_style = gtk_style_duplicate (style); - gtk_style_realize (new_style, visual); - } - - /* A style gets a refcount from being attached */ - if (new_style->attach_count == 0) - g_object_ref (new_style); - - /* Another refcount belongs to the parent */ - if (style != new_style) - { - g_object_unref (style); - g_object_ref (new_style); - } - - new_style->attach_count++; - - return new_style; + return style; } /** @@ -992,35 +871,6 @@ void gtk_style_detach (GtkStyle *style) { g_return_if_fail (GTK_IS_STYLE (style)); - - if (style->attach_count == 0) - return; - - style->attach_count -= 1; - if (style->attach_count == 0) - { - g_signal_emit (style, unrealize_signal, 0); - - g_object_unref (style->visual); - style->visual = NULL; - - if (style->private_font_desc) - { - pango_font_description_free (style->private_font_desc); - style->private_font_desc = NULL; - } - - g_object_unref (style); - } -} - -static void -gtk_style_realize (GtkStyle *style, - GdkVisual *visual) -{ - style->visual = g_object_ref (visual); - - g_signal_emit (style, realize_signal, 0); } /** @@ -1141,8 +991,6 @@ static void gtk_style_real_copy (GtkStyle *style, GtkStyle *src) { - GtkStylePrivate *priv = GTK_STYLE_GET_PRIVATE (style); - GtkStylePrivate *src_priv = GTK_STYLE_GET_PRIVATE (src); gint i; for (i = 0; i < 5; i++) @@ -1179,64 +1027,12 @@ gtk_style_real_copy (GtkStyle *style, g_slist_free (style->icon_factories); style->icon_factories = g_slist_copy (src->icon_factories); g_slist_foreach (style->icon_factories, (GFunc) g_object_ref, NULL); - - g_slist_foreach (priv->color_hashes, (GFunc) g_hash_table_unref, NULL); - g_slist_free (priv->color_hashes); - priv->color_hashes = g_slist_copy (src_priv->color_hashes); - g_slist_foreach (priv->color_hashes, (GFunc) g_hash_table_ref, NULL); - - /* don't copy, just clear cache */ - clear_property_cache (style); } static void gtk_style_real_init_from_rc (GtkStyle *style, GtkRcStyle *rc_style) { - GtkStylePrivate *priv = GTK_STYLE_GET_PRIVATE (style); - gint i; - - /* cache _should_ be still empty */ - clear_property_cache (style); - - if (rc_style->font_desc) - pango_font_description_merge (style->font_desc, rc_style->font_desc, TRUE); - - for (i = 0; i < 5; i++) - { - if (rc_style->color_flags[i] & GTK_RC_FG) - style->fg[i] = rc_style->fg[i]; - if (rc_style->color_flags[i] & GTK_RC_BG) - style->bg[i] = rc_style->bg[i]; - if (rc_style->color_flags[i] & GTK_RC_TEXT) - style->text[i] = rc_style->text[i]; - if (rc_style->color_flags[i] & GTK_RC_BASE) - style->base[i] = rc_style->base[i]; - } - - if (rc_style->xthickness >= 0) - style->xthickness = rc_style->xthickness; - if (rc_style->ythickness >= 0) - style->ythickness = rc_style->ythickness; - - style->icon_factories = g_slist_copy (rc_style->icon_factories); - g_slist_foreach (style->icon_factories, (GFunc) g_object_ref, NULL); - - priv->color_hashes = g_slist_copy (_gtk_rc_style_get_color_hashes (rc_style)); - g_slist_foreach (priv->color_hashes, (GFunc) g_hash_table_ref, NULL); -} - -static gint -style_property_values_cmp (gconstpointer bsearch_node1, - gconstpointer bsearch_node2) -{ - const PropertyValue *val1 = bsearch_node1; - const PropertyValue *val2 = bsearch_node2; - - if (val1->widget_type == val2->widget_type) - return val1->pspec < val2->pspec ? -1 : val1->pspec == val2->pspec ? 0 : 1; - else - return val1->widget_type < val2->widget_type ? -1 : 1; } /** @@ -1258,9 +1054,9 @@ gtk_style_get_style_property (GtkStyle *style, const gchar *property_name, GValue *value) { + GtkStylePrivate *priv; GtkWidgetClass *klass; GParamSpec *pspec; - GtkRcPropertyParser parser; const GValue *peek_value; klass = g_type_class_ref (widget_type); @@ -1276,10 +1072,10 @@ gtk_style_get_style_property (GtkStyle *style, return; } - parser = g_param_spec_get_qdata (pspec, - g_quark_from_static_string ("gtk-rc-property-parser")); - - peek_value = _gtk_style_peek_property_value (style, widget_type, pspec, parser); + priv = GTK_STYLE_GET_PRIVATE (style); + peek_value = _gtk_style_context_peek_style_property (priv->context, + widget_type, + 0, pspec); if (G_VALUE_TYPE (value) == G_PARAM_SPEC_VALUE_TYPE (pspec)) g_value_copy (peek_value, value); @@ -1312,6 +1108,7 @@ gtk_style_get_valist (GtkStyle *style, const gchar *first_property_name, va_list var_args) { + GtkStylePrivate *priv; const char *property_name; GtkWidgetClass *klass; @@ -1319,11 +1116,11 @@ gtk_style_get_valist (GtkStyle *style, klass = g_type_class_ref (widget_type); + priv = GTK_STYLE_GET_PRIVATE (style); property_name = first_property_name; while (property_name) { GParamSpec *pspec; - GtkRcPropertyParser parser; const GValue *peek_value; gchar *error; @@ -1338,10 +1135,8 @@ gtk_style_get_valist (GtkStyle *style, break; } - parser = g_param_spec_get_qdata (pspec, - g_quark_from_static_string ("gtk-rc-property-parser")); - - peek_value = _gtk_style_peek_property_value (style, widget_type, pspec, parser); + peek_value = _gtk_style_context_peek_style_property (priv->context, widget_type, + 0, pspec); G_VALUE_LCOPY (peek_value, var_args, 0, &error); if (error) { @@ -1383,195 +1178,14 @@ gtk_style_get (GtkStyle *style, va_end (var_args); } -const GValue* -_gtk_style_peek_property_value (GtkStyle *style, - GType widget_type, - GParamSpec *pspec, - GtkRcPropertyParser parser) -{ - PropertyValue *pcache, key = { 0, NULL, { 0, } }; - const GtkRcProperty *rcprop = NULL; - guint i; - - g_return_val_if_fail (GTK_IS_STYLE (style), NULL); - g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), NULL); - g_return_val_if_fail (g_type_is_a (pspec->owner_type, GTK_TYPE_WIDGET), NULL); - g_return_val_if_fail (g_type_is_a (widget_type, pspec->owner_type), NULL); - - key.widget_type = widget_type; - key.pspec = pspec; - - /* need value cache array */ - if (!style->property_cache) - style->property_cache = g_array_new (FALSE, FALSE, sizeof (PropertyValue)); - else - { - pcache = bsearch (&key, - style->property_cache->data, style->property_cache->len, - sizeof (PropertyValue), style_property_values_cmp); - if (pcache) - return &pcache->value; - } - - i = 0; - while (i < style->property_cache->len && - style_property_values_cmp (&key, &g_array_index (style->property_cache, PropertyValue, i)) >= 0) - i++; - - g_array_insert_val (style->property_cache, i, key); - pcache = &g_array_index (style->property_cache, PropertyValue, i); - - /* cache miss, initialize value type, then set contents */ - g_param_spec_ref (pcache->pspec); - g_value_init (&pcache->value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - - /* value provided by rc style? */ - if (style->rc_style) - { - GQuark prop_quark = g_quark_from_string (pspec->name); - - do - { - rcprop = _gtk_rc_style_lookup_rc_property (style->rc_style, - g_type_qname (widget_type), - prop_quark); - if (rcprop) - break; - widget_type = g_type_parent (widget_type); - } - while (g_type_is_a (widget_type, pspec->owner_type)); - } - - /* when supplied by rc style, we need to convert */ - if (rcprop && !_gtk_settings_parse_convert (parser, &rcprop->value, - pspec, &pcache->value)) - { - gchar *contents = g_strdup_value_contents (&rcprop->value); - - g_message ("%s: failed to retrieve property `%s::%s' of type `%s' from rc file value \"%s\" of type `%s'", - rcprop->origin ? rcprop->origin : "(for origin information, set GTK_DEBUG)", - g_type_name (pspec->owner_type), pspec->name, - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), - contents, - G_VALUE_TYPE_NAME (&rcprop->value)); - g_free (contents); - rcprop = NULL; /* needs default */ - } - - /* not supplied by rc style (or conversion failed), revert to default */ - if (!rcprop) - g_param_value_set_default (pspec, &pcache->value); - - return &pcache->value; -} - -static cairo_pattern_t * -load_background (GdkVisual *visual, - GdkColor *bg_color, - const gchar *filename) -{ - if (filename == NULL) - { - return cairo_pattern_create_rgb (bg_color->red / 65535.0, - bg_color->green / 65535.0, - bg_color->blue / 65535.0); - } - if (strcmp (filename, "") == 0) - return NULL; - else - { - GdkPixbuf *pixbuf; - cairo_surface_t *surface; - cairo_pattern_t *pattern; - cairo_t *cr; - GdkScreen *screen = gdk_visual_get_screen (visual); - - pixbuf = gdk_pixbuf_new_from_file (filename, NULL); - if (!pixbuf) - return NULL; - - surface = gdk_window_create_similar_surface (gdk_screen_get_root_window (screen), - CAIRO_CONTENT_COLOR, - gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf)); - - cr = cairo_create (surface); - - gdk_cairo_set_source_color (cr, bg_color); - cairo_paint (cr); - - gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0); - cairo_paint (cr); - - cairo_destroy (cr); - g_object_unref (pixbuf); - - pattern = cairo_pattern_create_for_surface (surface); - - cairo_surface_destroy (surface); - - return pattern; - } -} - static void gtk_style_real_realize (GtkStyle *style) { - gint i; - - for (i = 0; i < 5; i++) - { - _gtk_style_shade (&style->bg[i], &style->light[i], LIGHTNESS_MULT); - _gtk_style_shade (&style->bg[i], &style->dark[i], DARKNESS_MULT); - - style->mid[i].red = (style->light[i].red + style->dark[i].red) / 2; - style->mid[i].green = (style->light[i].green + style->dark[i].green) / 2; - style->mid[i].blue = (style->light[i].blue + style->dark[i].blue) / 2; - - style->text_aa[i].red = (style->text[i].red + style->base[i].red) / 2; - style->text_aa[i].green = (style->text[i].green + style->base[i].green) / 2; - style->text_aa[i].blue = (style->text[i].blue + style->base[i].blue) / 2; - } - - style->black.red = 0x0000; - style->black.green = 0x0000; - style->black.blue = 0x0000; - - style->white.red = 0xffff; - style->white.green = 0xffff; - style->white.blue = 0xffff; - - for (i = 0; i < 5; i++) - { - const char *image_name; - - if (style->rc_style) - image_name = style->rc_style->bg_pixmap_name[i]; - else - image_name = NULL; - - style->background[i] = load_background (style->visual, - &style->bg[i], - image_name); - } } static void gtk_style_real_unrealize (GtkStyle *style) { - int i; - - for (i = 0; i < 5; i++) - { - if (style->background[i]) - { - cairo_pattern_destroy (style->background[i]); - style->background[i] = NULL; - } - - } - - style_unrealize_cursors (style); } static void @@ -4320,19 +3934,6 @@ struct _CursorInfo GdkColor secondary; }; -static void -style_unrealize_cursors (GtkStyle *style) -{ - CursorInfo * - - cursor_info = g_object_get_data (G_OBJECT (style), "gtk-style-cursor-info"); - if (cursor_info) - { - g_free (cursor_info); - g_object_set_data (G_OBJECT (style), I_("gtk-style-cursor-info"), NULL); - } -} - static const GdkColor * get_insertion_cursor_color (GtkWidget *widget, gboolean is_primary) diff --git a/gtk/gtkstyle.h b/gtk/gtkstyle.h index 3d44b1ffa7..efd78a7cfc 100644 --- a/gtk/gtkstyle.h +++ b/gtk/gtkstyle.h @@ -634,14 +634,6 @@ void gtk_style_get (GtkStyle *style, #endif /* --- private API --- */ -const GValue* _gtk_style_peek_property_value (GtkStyle *style, - GType widget_type, - GParamSpec *pspec, - GtkRcPropertyParser parser); - -void _gtk_style_init_for_settings (GtkStyle *style, - GtkSettings *settings); - void _gtk_style_shade (const GdkColor *a, GdkColor *b, gdouble k); @@ -655,7 +647,7 @@ void gtk_draw_insertion_cursor (GtkWidget *widget, void _gtk_widget_get_cursor_color (GtkWidget *widget, GdkColor *color); -gboolean gtk_style_has_context (GtkStyle *style); +gboolean gtk_style_has_context (GtkStyle *style); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index ca61f04a20..ffdd76ddfc 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -45,7 +45,6 @@ #include "gtkbindings.h" #include "gtkprivate.h" #include "gdk/gdk.h" -#include "gdk/gdkprivate.h" /* Used in gtk_reset_shapes_recurse to avoid copy */ #include #include #include @@ -560,10 +559,7 @@ static PangoContext* gtk_widget_peek_pango_context (GtkWidget *widget); static void gtk_widget_update_pango_context (GtkWidget *widget); static void gtk_widget_propagate_state (GtkWidget *widget, GtkStateData *data); -static void gtk_widget_reset_rc_style (GtkWidget *widget); -static void gtk_widget_set_style_internal (GtkWidget *widget, - GtkStyle *style, - gboolean initial_emission); +; static gint gtk_widget_event_internal (GtkWidget *widget, GdkEvent *event); static gboolean gtk_widget_real_mnemonic_activate (GtkWidget *widget, @@ -6290,9 +6286,29 @@ gtk_widget_real_query_tooltip (GtkWidget *widget, static void gtk_widget_real_style_updated (GtkWidget *widget) { + if (gtk_widget_get_realized (widget)) + { + /* Trigger ::style-set for old + * widgets not listening to this + */ + g_signal_emit (widget, + widget_signals[STYLE_SET], + 0, + widget->priv->style); + } + if (widget->priv->context) - gtk_style_context_invalidate (widget->priv->context); - gtk_widget_queue_resize (widget); + { + gtk_style_context_invalidate (widget->priv->context); + + if (gtk_widget_get_realized (widget) && + gtk_widget_get_has_window (widget)) + gtk_style_context_set_background (widget->priv->context, + widget->priv->window); + } + + if (widget->priv->anchored) + gtk_widget_queue_resize (widget); } static gboolean @@ -6734,9 +6750,6 @@ gtk_widget_set_name (GtkWidget *widget, if (priv->context) gtk_style_context_set_path (priv->context, priv->path); - if (priv->rc_style) - gtk_widget_reset_rc_style (widget); - g_object_notify (G_OBJECT (widget), "name"); } @@ -7658,23 +7671,6 @@ gtk_widget_set_style (GtkWidget *widget, GtkStyle *style) { g_return_if_fail (GTK_IS_WIDGET (widget)); - - if (style) - { - gboolean initial_emission; - - initial_emission = !widget->priv->rc_style && !widget->priv->user_style; - - widget->priv->rc_style = FALSE; - widget->priv->user_style = TRUE; - - gtk_widget_set_style_internal (widget, style, initial_emission); - } - else - { - if (widget->priv->user_style) - gtk_widget_reset_rc_style (widget); - } } /** @@ -7698,42 +7694,21 @@ gtk_widget_ensure_style (GtkWidget *widget) { GtkStyle *style; + if (widget->priv->style) + g_object_unref (widget->priv->style); + style = g_object_new (GTK_TYPE_STYLE, "context", gtk_widget_get_style_context (widget), NULL); - gtk_widget_set_style_internal (widget, style, TRUE); + widget->priv->style = g_object_ref (style); + + g_signal_emit (widget, + widget_signals[STYLE_SET], + 0, NULL); + g_object_unref (style); } - -#if 0 - if (!widget->priv->rc_style && !widget->priv->user_style) - gtk_widget_reset_rc_style (widget); -#endif -} - -/* Look up the RC style for this widget, unsetting any user style that - * may be in effect currently - **/ -static void -gtk_widget_reset_rc_style (GtkWidget *widget) -{ - GtkWidgetPrivate *priv = widget->priv; - GtkStyle *new_style = NULL; - gboolean initial_emission; - - initial_emission = !priv->rc_style && !priv->user_style; - - priv->user_style = FALSE; - priv->rc_style = TRUE; - - if (gtk_widget_has_screen (widget)) - new_style = gtk_rc_get_style (widget); - if (!new_style) - new_style = gtk_widget_get_default_style (); - - if (initial_emission || new_style != priv->style) - gtk_widget_set_style_internal (widget, new_style, initial_emission); } /** @@ -7790,13 +7765,6 @@ gtk_widget_modify_style (GtkWidget *widget, quark_rc_style, gtk_rc_style_copy (style), (GDestroyNotify) g_object_unref); - - /* note that "style" may be invalid here if it was the old - * modifier style and the only reference was our own. - */ - - if (widget->priv->rc_style) - gtk_widget_reset_rc_style (widget); } /** @@ -7888,11 +7856,6 @@ modifier_style_changed (GtkModifierStyle *style, context = gtk_widget_get_style_context (widget); gtk_style_context_invalidate (context); - - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - widget->priv->style); } static GtkModifierStyle * @@ -8347,59 +8310,6 @@ static void gtk_widget_real_style_set (GtkWidget *widget, GtkStyle *previous_style) { - GtkWidgetPrivate *priv = widget->priv; - - if (gtk_widget_get_realized (widget) && - gtk_widget_get_has_window (widget)) - gtk_style_set_background (priv->style, priv->window, - gtk_widget_get_state (widget)); -} - -static void -gtk_widget_set_style_internal (GtkWidget *widget, - GtkStyle *style, - gboolean initial_emission) -{ - GtkWidgetPrivate *priv = widget->priv; - - g_object_ref (widget); - g_object_freeze_notify (G_OBJECT (widget)); - - if (priv->style != style) - { - GtkStyle *previous_style; - - if (gtk_widget_get_realized (widget)) - gtk_style_detach (priv->style); - - previous_style = priv->style; - priv->style = style; - g_object_ref (priv->style); - - if (gtk_widget_get_realized (widget)) - priv->style = gtk_style_attach (priv->style, priv->window); - - gtk_widget_update_pango_context (widget); - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - initial_emission ? NULL : previous_style); - g_object_unref (previous_style); - - if (priv->anchored && !initial_emission) - gtk_widget_queue_resize (widget); - } - else if (initial_emission) - { - gtk_widget_update_pango_context (widget); - g_signal_emit (widget, - widget_signals[STYLE_SET], - 0, - NULL); - } - g_object_notify (G_OBJECT (widget), "style"); - g_object_thaw_notify (G_OBJECT (widget)); - g_object_unref (widget); } typedef struct { @@ -8594,11 +8504,6 @@ _gtk_widget_propagate_screen_changed (GtkWidget *widget, static void reset_style_recurse (GtkWidget *widget, gpointer data) { -#if 0 - if (widget->priv->rc_style) - gtk_widget_reset_rc_style (widget); -#endif - if (widget->priv->context) { _gtk_widget_update_path (widget); @@ -13797,7 +13702,11 @@ style_context_changed (GtkStyleContext *context, { GtkWidget *widget = user_data; + gtk_widget_update_pango_context (widget); g_signal_emit (widget, widget_signals[STYLE_UPDATED], 0); + + if (widget->priv->anchored) + gtk_widget_queue_resize (widget); } /** From 53845f0851ecf3ab07e3f2192a4c565781ff0c9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Sat, 18 Dec 2010 14:39:36 +0100 Subject: [PATCH 0571/1463] Updated Spanish translation --- po-properties/es.po | 1406 ++++++++++++++++++++++--------------------- 1 file changed, 711 insertions(+), 695 deletions(-) diff --git a/po-properties/es.po b/po-properties/es.po index 866a43d207..af51e91b86 100644 --- a/po-properties/es.po +++ b/po-properties/es.po @@ -17,8 +17,8 @@ msgstr "" "Project-Id-Version: gtk+-properties.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-12-05 03:20+0000\n" -"PO-Revision-Date: 2010-12-05 18:32+0100\n" +"POT-Creation-Date: 2010-12-17 15:28+0000\n" +"PO-Revision-Date: 2010-12-18 14:32+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -28,72 +28,72 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:127 msgid "Device Display" msgstr "Pantalla del dispositivo" -#: ../gdk/gdkdevice.c:114 +#: ../gdk/gdkdevice.c:128 msgid "Display which the device belongs to" msgstr "Pantalla a la que pertenece el dispositivo" -#: ../gdk/gdkdevice.c:128 +#: ../gdk/gdkdevice.c:142 msgid "Device manager" msgstr "Gestor de dispositivos" -#: ../gdk/gdkdevice.c:129 +#: ../gdk/gdkdevice.c:143 msgid "Device manager which the device belongs to" msgstr "Gestor de dispositivos al que pertenece el dispositivo" -#: ../gdk/gdkdevice.c:143 ../gdk/gdkdevice.c:144 +#: ../gdk/gdkdevice.c:157 ../gdk/gdkdevice.c:158 msgid "Device name" msgstr "Nombre del dispositivo" -#: ../gdk/gdkdevice.c:158 +#: ../gdk/gdkdevice.c:172 msgid "Device type" msgstr "Tipo de dispositivo" -#: ../gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:173 msgid "Device role in the device manager" msgstr "Rol del dispositivo en el gestor de dispositivos" -#: ../gdk/gdkdevice.c:175 +#: ../gdk/gdkdevice.c:189 msgid "Associated device" msgstr "Dispositivo asociado" -#: ../gdk/gdkdevice.c:176 +#: ../gdk/gdkdevice.c:190 msgid "Associated pointer or keyboard with this device" msgstr "Dispositivo apuntador o teclado asociado con este dispositivo" -#: ../gdk/gdkdevice.c:189 +#: ../gdk/gdkdevice.c:203 msgid "Input source" msgstr "Fuente de entrada" -#: ../gdk/gdkdevice.c:190 +#: ../gdk/gdkdevice.c:204 msgid "Source type for the device" msgstr "Tipo de la fuente de entrada para el dispositivo" -#: ../gdk/gdkdevice.c:205 ../gdk/gdkdevice.c:206 +#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 msgid "Input mode for the device" msgstr "Modo de entrada para el dispositivo" -#: ../gdk/gdkdevice.c:221 +#: ../gdk/gdkdevice.c:235 msgid "Whether the device has a cursor" msgstr "Indica si el dispositivo tiene un cursor" -#: ../gdk/gdkdevice.c:222 +#: ../gdk/gdkdevice.c:236 msgid "Whether there is a visible cursor following device motion" msgstr "" "Indica si existe un cursor disponible siguiendo el movimiento del dispositivo" -#: ../gdk/gdkdevice.c:236 ../gdk/gdkdevice.c:237 +#: ../gdk/gdkdevice.c:250 ../gdk/gdkdevice.c:251 msgid "Number of axes in the device" msgstr "Número de ejes en el dispositivo" -#: ../gdk/gdkdevicemanager.c:136 +#: ../gdk/gdkdevicemanager.c:137 msgid "Display" msgstr "Pantalla" -#: ../gdk/gdkdevicemanager.c:137 +#: ../gdk/gdkdevicemanager.c:138 msgid "Display for the device manager" msgstr "Pantalla para el gestor de dispositivos" @@ -142,11 +142,11 @@ msgstr "Base del dispositivo" msgid "Event base for XInput events" msgstr "Base de eventos para los eventos XInput" -#: ../gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:277 msgid "Program name" msgstr "Nombre del programa" -#: ../gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:278 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -154,51 +154,51 @@ msgstr "" "El nombre del programa. Si no estuviese establecido, se usará por omisión " "g_get_application_name()" -#: ../gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:292 msgid "Program version" msgstr "Versión del programa" -#: ../gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:293 msgid "The version of the program" msgstr "La versión del programa" -#: ../gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright string" msgstr "Cadena del copyright" -#: ../gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:308 msgid "Copyright information for the program" msgstr "Información de copyright del programa" -#: ../gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments string" msgstr "Cadena de comentarios" -#: ../gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:326 msgid "Comments about the program" msgstr "Comentarios acerca del programa" -#: ../gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:376 msgid "License Type" msgstr "Tipo de licencia" -#: ../gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:377 msgid "The license type of the program" msgstr "El tipo de licencia del programa" -#: ../gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:393 msgid "Website URL" msgstr "URL del sitio web" -#: ../gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:394 msgid "The URL for the link to the website of the program" msgstr "La URL para el enlace al sitio web del programa" -#: ../gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:409 msgid "Website label" msgstr "Etiqueta del sitio web" -#: ../gtk/gtkaboutdialog.c:402 +#: ../gtk/gtkaboutdialog.c:410 msgid "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" @@ -206,45 +206,45 @@ msgstr "" "La etiqueta para el enlace al sitio web del programa. Si no está " "establecida, se usará la URL de forma predeterminada" -#: ../gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:426 msgid "Authors" msgstr "Autores" -#: ../gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:427 msgid "List of authors of the program" msgstr "Lista de autores del programa" -#: ../gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:443 msgid "Documenters" msgstr "Documentadores" -#: ../gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:444 msgid "List of people documenting the program" msgstr "Lista de gente documentando el programa" -#: ../gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:460 msgid "Artists" msgstr "Artistas" -#: ../gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:461 msgid "List of people who have contributed artwork to the program" msgstr "Lista de gente que ha contribuido con trabajo artístico al programa" -#: ../gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:478 msgid "Translator credits" msgstr "Créditos de traducción" -#: ../gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:479 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Créditos a los traductores. Esta cadena debe etiquetarse como traducible" -#: ../gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:494 msgid "Logo" msgstr "Logotipo" -#: ../gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:495 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -252,20 +252,20 @@ msgstr "" "Un logotipo para la caja «acerca de». Si no se establece, lo predeterminado " "es gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:510 msgid "Logo Icon Name" msgstr "Nombre del icono del logotipo" -#: ../gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:511 msgid "A named icon to use as the logo for the about box." msgstr "" "Un icono con nombre para usar como el logotipo para la caja «Acerca de»." -#: ../gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:524 msgid "Wrap license" msgstr "Ajustar licencia" -#: ../gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:525 msgid "Whether to wrap the license text." msgstr "Indica si se debe ajustar el texto de la licencia." @@ -294,7 +294,7 @@ msgstr "Nombre" msgid "A unique name for the action." msgstr "Un nombre único para la acción." -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:209 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 #: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 #: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" @@ -344,7 +344,7 @@ msgstr "El icono mostrado" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 #: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:732 +#: ../gtk/gtkwindow.c:731 msgid "Icon Name" msgstr "Nombre del icono" @@ -413,7 +413,7 @@ msgstr "" "acción se ocultan." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:927 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:923 msgid "Sensitive" msgstr "Sensible" @@ -422,8 +422,8 @@ msgid "Whether the action is enabled." msgstr "Indica si la acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 +#: ../gtk/gtkwidget.c:916 msgid "Visible" msgstr "Visible" @@ -483,7 +483,7 @@ msgstr "" "relacionadas" #: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:291 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 msgid "Value" msgstr "Valor" @@ -635,7 +635,7 @@ msgstr "Escalado de flechas" msgid "Amount of space used up by arrow" msgstr "Cantidad de espacio ocupado por flecha" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1111 msgid "Horizontal Alignment" msgstr "Alineación horizontal" @@ -643,7 +643,7 @@ msgstr "Alineación horizontal" msgid "X alignment of the child" msgstr "Alineación X del hijo" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1127 msgid "Vertical Alignment" msgstr "Alineación vertical" @@ -780,8 +780,8 @@ msgstr "" "Si es TRUE, el hijo aparece en un grupo secundario de hijos, apropiado para, " "por ejemplo, botones de ayuda" -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Spacing" msgstr "Espaciado" @@ -799,7 +799,7 @@ msgid "Whether the children should all be the same size" msgstr "Indica si todos los hijos deben ser del mismo tamaño" #: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 msgid "Expand" msgstr "Expandir" @@ -831,7 +831,7 @@ msgstr "Espacio extra para colocar entre el hijo y sus vecinos, en píxeles" msgid "Pack type" msgstr "Tipo de empaquetado" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:795 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -839,12 +839,12 @@ msgstr "" "Un GtkPackType que indica si el hijo está empaquetado con referencia al " "inicio o el final del padre" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:766 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Posición" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:767 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 msgid "The index of the child in the parent" msgstr "El índice del hijo en el padre" @@ -864,12 +864,12 @@ msgstr "" "Texto del etiqueta del widget dentro del botón, si el botón contiene una " "etiqueta del widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:587 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 #: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Utilizar subrayado" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:588 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 #: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " @@ -982,7 +982,7 @@ msgstr "" "Indica si las propiedades child_displacement_x/_y deben afectar también al " "rectángulo del foco" -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:786 ../gtk/gtkentry.c:1831 +#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Borde interior" @@ -1146,127 +1146,127 @@ msgstr "Modo del acelerador" msgid "The type of accelerators" msgstr "El tipo de aceleradores" -#: ../gtk/gtkcellrenderer.c:266 +#: ../gtk/gtkcellrenderer.c:271 msgid "mode" msgstr "modo" -#: ../gtk/gtkcellrenderer.c:267 +#: ../gtk/gtkcellrenderer.c:272 msgid "Editable mode of the CellRenderer" msgstr "Modo editable del CellRenderer" -#: ../gtk/gtkcellrenderer.c:275 +#: ../gtk/gtkcellrenderer.c:280 msgid "visible" msgstr "visible" -#: ../gtk/gtkcellrenderer.c:276 +#: ../gtk/gtkcellrenderer.c:281 msgid "Display the cell" msgstr "Mostrar la celda" -#: ../gtk/gtkcellrenderer.c:283 +#: ../gtk/gtkcellrenderer.c:288 msgid "Display the cell sensitive" msgstr "Mostrar la celda sensible" -#: ../gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:295 msgid "xalign" msgstr "xalign" -#: ../gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:296 msgid "The x-align" msgstr "La alineación x" -#: ../gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:305 msgid "yalign" msgstr "yalign" -#: ../gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:306 msgid "The y-align" msgstr "La alineación y" -#: ../gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:315 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:316 msgid "The xpad" msgstr "La separación x" -#: ../gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:325 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:321 +#: ../gtk/gtkcellrenderer.c:326 msgid "The ypad" msgstr "La separación y" -#: ../gtk/gtkcellrenderer.c:330 +#: ../gtk/gtkcellrenderer.c:335 msgid "width" msgstr "anchura" -#: ../gtk/gtkcellrenderer.c:331 +#: ../gtk/gtkcellrenderer.c:336 msgid "The fixed width" msgstr "La anchura fija" -#: ../gtk/gtkcellrenderer.c:340 +#: ../gtk/gtkcellrenderer.c:345 msgid "height" msgstr "altura" -#: ../gtk/gtkcellrenderer.c:341 +#: ../gtk/gtkcellrenderer.c:346 msgid "The fixed height" msgstr "La altura fija" -#: ../gtk/gtkcellrenderer.c:350 +#: ../gtk/gtkcellrenderer.c:355 msgid "Is Expander" msgstr "Es expansor" -#: ../gtk/gtkcellrenderer.c:351 +#: ../gtk/gtkcellrenderer.c:356 msgid "Row has children" msgstr "La fila tiene hijos" -#: ../gtk/gtkcellrenderer.c:359 +#: ../gtk/gtkcellrenderer.c:364 msgid "Is Expanded" msgstr "Está expandido" -#: ../gtk/gtkcellrenderer.c:360 +#: ../gtk/gtkcellrenderer.c:365 msgid "Row is an expander row, and is expanded" msgstr "La fila es una fila de expansor, y está expandida" -#: ../gtk/gtkcellrenderer.c:367 +#: ../gtk/gtkcellrenderer.c:372 msgid "Cell background color name" msgstr "Nombre del color de fondo de la celda" -#: ../gtk/gtkcellrenderer.c:368 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color as a string" msgstr "Color de fondo de la celda como una cadena" -#: ../gtk/gtkcellrenderer.c:375 +#: ../gtk/gtkcellrenderer.c:380 msgid "Cell background color" msgstr "Color de fondo de la celda" -#: ../gtk/gtkcellrenderer.c:376 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color as a GdkColor" msgstr "Color de fondo de la celda como GdkColor" -#: ../gtk/gtkcellrenderer.c:389 +#: ../gtk/gtkcellrenderer.c:394 msgid "Cell background RGBA color" msgstr "Color de fondo RGBA de la celda" -#: ../gtk/gtkcellrenderer.c:390 +#: ../gtk/gtkcellrenderer.c:395 msgid "Cell background color as a GdkRGBA" msgstr "Color de fondo de la celda como GdkRGBA" -#: ../gtk/gtkcellrenderer.c:397 +#: ../gtk/gtkcellrenderer.c:402 msgid "Editing" msgstr "Editando" -#: ../gtk/gtkcellrenderer.c:398 +#: ../gtk/gtkcellrenderer.c:403 msgid "Whether the cell renderer is currently in editing mode" msgstr "Indica si la renderización de la celda está en modo de edición" -#: ../gtk/gtkcellrenderer.c:406 +#: ../gtk/gtkcellrenderer.c:411 msgid "Cell background set" msgstr "Establece el fondo de la celda" -#: ../gtk/gtkcellrenderer.c:407 +#: ../gtk/gtkcellrenderer.c:412 msgid "Whether this tag affects the cell background color" msgstr "Indica si esta etiqueta afecta el color de fondo de la celda" @@ -1355,7 +1355,7 @@ msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica si el pixbuf renderizado debe colorearse de acuerdo al estado" #: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:708 msgid "Icon" msgstr "Icono" @@ -1363,8 +1363,8 @@ msgstr "Icono" msgid "Value of the progress bar" msgstr "Valor de la barra de progreso" -#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:247 -#: ../gtk/gtkentry.c:829 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 #: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 #: ../gtk/gtktextbuffer.c:209 msgid "Text" @@ -1407,7 +1407,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "La alineación vertical del texto, desde 0 (superior) a 1 (inferior)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:439 msgid "Inverted" msgstr "Invertido" @@ -1415,12 +1415,12 @@ msgstr "Invertido" msgid "Invert the direction in which the progress bar grows" msgstr "Invertir la dirección en la que aumentan las barras de progreso" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:432 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:230 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 msgid "Adjustment" msgstr "Ajuste" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:231 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 msgid "The adjustment that holds the value of the spin button" msgstr "El ajuste que mantiene el valor del botón incrementable" @@ -1428,16 +1428,16 @@ msgstr "El ajuste que mantiene el valor del botón incrementable" msgid "Climb rate" msgstr "Tasa de subida" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:239 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 msgid "The acceleration rate when you hold down a button" msgstr "La tasa de aceleración cuando mantiene apretado un botón" -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:254 -#: ../gtk/gtkspinbutton.c:248 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:247 msgid "Digits" msgstr "Dígitos" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:249 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 msgid "The number of decimal places to display" msgstr "El número de lugares decimales que mostrar" @@ -1463,193 +1463,193 @@ msgstr "" "El valor de GTKIconSize que especifica el tamaño del marcador incrementable " "renderizado" -#: ../gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Texto a renderizar" -#: ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Marcado" -#: ../gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Texto resaltado a renderizar" -#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:573 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 msgid "Attributes" msgstr "Atributos" -#: ../gtk/gtkcellrenderertext.c:264 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "" "Un lista de atributos de estilos para aplicar al texto del renderizador" -#: ../gtk/gtkcellrenderertext.c:271 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Modo de parágrafo simple" -#: ../gtk/gtkcellrenderertext.c:272 +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" msgstr "Indica si se debe mantener todo el texto en un sólo parágrafo" -#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtkcellview.c:192 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 #: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "Nombre del color de fondo" -#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtkcellview.c:193 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 #: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "Color de fondo como una cadena" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:199 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 #: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "Color de fondo" -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "Color de fondo como GdkColor" -#: ../gtk/gtkcellrenderertext.c:303 +#: ../gtk/gtkcellrenderertext.c:311 msgid "Background color as RGBA" msgstr "Nombre del color de fondo como RGBA" -#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtkcellview.c:214 +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 msgid "Background color as a GdkRGBA" msgstr "Color de fondo como GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:310 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "Nombre del color de primer plano" -#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "Color de primer plano como una cadena" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:210 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 #: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "Color de primer plano" -#: ../gtk/gtkcellrenderertext.c:319 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Color de primer plano como GdkColor" -#: ../gtk/gtkcellrenderertext.c:333 +#: ../gtk/gtkcellrenderertext.c:341 msgid "Foreground color as RGBA" msgstr "Color de primer plano como RGBA" -#: ../gtk/gtkcellrenderertext.c:334 +#: ../gtk/gtkcellrenderertext.c:342 msgid "Foreground color as a GdkRGBA" msgstr "Color de primer plano como GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtkentry.c:753 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:686 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 msgid "Editable" msgstr "Editable" -#: ../gtk/gtkcellrenderertext.c:343 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:687 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:685 msgid "Whether the text can be modified by the user" msgstr "Indica si el texto puede modificarse por el usuario" -#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkcellrenderertext.c:358 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 #: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "Tipografía" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "" "Descripción de la tipografía como una cadena, ejemplo: «Sans Italic 12»" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "Descripción de la tipografía como una estructura PangoFontDescription" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "Familia tipográfica" -#: ../gtk/gtkcellrenderertext.c:368 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "" "Nombre de la familia tipográfica, ej. Sans, Helvética, Times, Monospace" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtkcellrenderertext.c:376 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 #: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "Estilo de la tipografía" -#: ../gtk/gtkcellrenderertext.c:384 ../gtk/gtkcellrenderertext.c:385 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 #: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "Variante de la tipografía" -#: ../gtk/gtkcellrenderertext.c:393 ../gtk/gtkcellrenderertext.c:394 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 #: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "Anchura de la tipografía" -#: ../gtk/gtkcellrenderertext.c:403 ../gtk/gtkcellrenderertext.c:404 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 #: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "Estiramiento de la tipografía" -#: ../gtk/gtkcellrenderertext.c:412 ../gtk/gtkcellrenderertext.c:413 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 #: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "Tamaño de la tipografía" -#: ../gtk/gtkcellrenderertext.c:422 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "Puntos de la tipografía" -#: ../gtk/gtkcellrenderertext.c:423 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "Tamaño de la tipografía en puntos" -#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "Escala de la tipografía" -#: ../gtk/gtkcellrenderertext.c:433 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Factor de escalado de la tipografía" -#: ../gtk/gtkcellrenderertext.c:442 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "Elevar" -#: ../gtk/gtkcellrenderertext.c:443 +#: ../gtk/gtkcellrenderertext.c:451 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Desplazamiento del texto sobre la línea base (por debajo de la línea base la " "elevación es negativa)" -#: ../gtk/gtkcellrenderertext.c:454 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "Tachar" -#: ../gtk/gtkcellrenderertext.c:455 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "Indica si se tacha el texto" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "Subrayado" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "Estilo de subrayado de este texto" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "Idioma" -#: ../gtk/gtkcellrenderertext.c:472 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1659,12 +1659,12 @@ msgstr "" "como una ayuda cuando está renderizando el texto. Si no comprende este " "parámetro probablemente no lo necesite" -#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:698 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 #: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Elipsis" -#: ../gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1672,28 +1672,28 @@ msgstr "" "El lugar preferido para la elipsis de la cadena, si el renderizador de la " "celda no tiene espacio suficiente para mostrar la cadena completa" -#: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 #: ../gtk/gtklabel.c:719 msgid "Width In Characters" msgstr "Anchura en caracteres" -#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:720 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 msgid "The desired width of the label, in characters" msgstr "La anchura deseada de la etiqueta, en caracteres" -#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:780 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 msgid "Maximum Width In Characters" msgstr "Anchura máxima en caracteres" -#: ../gtk/gtkcellrenderertext.c:538 +#: ../gtk/gtkcellrenderertext.c:546 msgid "The maximum width of the cell, in characters" msgstr "La anchura máxima de la celda, en caracteres" -#: ../gtk/gtkcellrenderertext.c:556 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "Modo de ajuste" -#: ../gtk/gtkcellrenderertext.c:557 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1701,150 +1701,150 @@ msgstr "" "Cómo romper la cadena en líneas múltiples, si el renderizador de la celda no " "tiene suficiente espacio para mostrar la cadena completa" -#: ../gtk/gtkcellrenderertext.c:576 ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 msgid "Wrap width" msgstr "Ajustar anchura" -#: ../gtk/gtkcellrenderertext.c:577 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "La anchura a la que el texto se ajusta" -#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 msgid "Alignment" msgstr "Alineación" -#: ../gtk/gtkcellrenderertext.c:598 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "Cómo alinear las líneas" -#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtkcellview.c:236 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 #: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "Establece el fondo" -#: ../gtk/gtkcellrenderertext.c:611 ../gtk/gtkcellview.c:237 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 #: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "Indica si esta etiqueta afecta el color de fondo" -#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "Establece el primer plano" -#: ../gtk/gtkcellrenderertext.c:615 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "Indica si esta etiqueta afecta al color de frente" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "Establece la editabilidad" -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "Indica si esta etiqueta afecta la editabilidad del texto" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "Establece familia tipográfica" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "Indica si esta etiqueta afecta a la familia de la tipografía" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "Establece el estilo de la tipografía" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "Indica si esta etiqueta afecta el estilo de la tipografía" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "Establece la variante de la tipografía" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "Indica si esta etiqueta afecta la variante de la tipografía" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "Establece el peso de la tipografía" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "Indica si esta etiqueta afecta el peso de la tipografía" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "Establece el ancho de la tipografía" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "Indica si esta etiqueta afecta el estiramiento de la tipografía" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "Establece el tamaño de tipografía" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "Indica si esta etiqueta afecta el tamaño de la tipografía" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "Establece la escala de la tipografía" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "" "Indica si esta etiqueta escala el tamaño de la tipografía por un factor" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "Establece el elevamiento" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "Indica si esta etiqueta afecta la elevación" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "Establece el tachado" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "Indica si esta etiqueta afecta el tachado" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "Establece el subrayado" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "Indica si esta etiqueta afecta el subrayado" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "Establece el idioma" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "Indica si esta etiqueta afecta al idioma en que se renderiza el texto" -#: ../gtk/gtkcellrenderertext.c:666 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Establece la elipsis" -#: ../gtk/gtkcellrenderertext.c:667 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "Indica si esta etiqueta afecta el modo de elipsis" -#: ../gtk/gtkcellrenderertext.c:670 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Establece alineación" -#: ../gtk/gtkcellrenderertext.c:671 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Indica si esta etiqueta afecta el modo de alineamiento" @@ -1905,7 +1905,7 @@ msgstr "El modelo para la vista de celda" msgid "Indicator Size" msgstr "Tamaño del indicador" -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 msgid "Indicator Spacing" msgstr "Espacio del indicador" @@ -1946,7 +1946,7 @@ msgstr "Indica si se debe dar un valor alfa al color" # components/music/nautilus-music-view.c:198 #: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 #: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:286 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 msgid "Title" msgstr "Título" @@ -2090,7 +2090,7 @@ msgstr "Añadir tiradores a los menús" msgid "Whether dropdowns should have a tearoff menu item" msgstr "Indica si los desplegables deben tener un tirador en el menú" -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:778 +#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Tiene marco" @@ -2193,7 +2193,7 @@ msgstr "Tamaño de la flecha" msgid "The minimum size of the arrow in the combo box" msgstr "El tamaño mínimo de la flecha en la caja combo" -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:878 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 #: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 #: ../gtk/gtkviewport.c:154 msgid "Shadow type" @@ -2203,31 +2203,31 @@ msgstr "Tipo de sombra" msgid "Which kind of shadow to draw around the combo box" msgstr "Qué clase de sombra dibujar alrededor de la caja combo" -#: ../gtk/gtkcontainer.c:476 +#: ../gtk/gtkcontainer.c:451 msgid "Resize mode" msgstr "Modo de redimensión" -#: ../gtk/gtkcontainer.c:477 +#: ../gtk/gtkcontainer.c:452 msgid "Specify how resize events are handled" msgstr "Especifica cómo se manipulan los eventos de redimensionado" -#: ../gtk/gtkcontainer.c:484 +#: ../gtk/gtkcontainer.c:459 msgid "Border width" msgstr "Anchura del borde" -#: ../gtk/gtkcontainer.c:485 +#: ../gtk/gtkcontainer.c:460 msgid "The width of the empty border outside the containers children" msgstr "La anchura del borde vacío fuera de los contenedores hijos" -#: ../gtk/gtkcontainer.c:493 +#: ../gtk/gtkcontainer.c:468 msgid "Child" msgstr "Hijo" -#: ../gtk/gtkcontainer.c:494 +#: ../gtk/gtkcontainer.c:469 msgid "Can be used to add a new child to the container" msgstr "Puede usarse para añadir un hijo nuevo al contenedor" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Borde del área de contenidos" @@ -2235,7 +2235,7 @@ msgstr "Borde del área de contenidos" msgid "Width of border around the main dialog area" msgstr "Anchura del borde alrededor del área principal del diálogo" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Separación del área de contenido" @@ -2243,15 +2243,15 @@ msgstr "Separación del área de contenido" msgid "Spacing between elements of the main dialog area" msgstr "Espacio entre los elementos del área del diálogo principal" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Espaciado de los botones" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Espaciado entre los botones" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Borde del área de acción" @@ -2261,49 +2261,49 @@ msgstr "" "Anchura del borde alrededor del área del botón en la parte inferior del " "diálogo" -#: ../gtk/gtkentry.c:725 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Búfer de texto" -#: ../gtk/gtkentry.c:726 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "Objeto de búfer de texto que realmente almacena la entrada de texto" -#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:661 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 msgid "Cursor Position" msgstr "Posición del cursor" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 msgid "The current position of the insertion cursor in chars" msgstr "La posición actual del cursor de inserción en caracteres" -#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:671 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 msgid "Selection Bound" msgstr "Límite de selección" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" "La posición en caracteres del extremo opuesto de la selección desde el cursor" -#: ../gtk/gtkentry.c:754 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Indica si los contenidos de la entrada pueden editarse" -#: ../gtk/gtkentry.c:761 ../gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Longitud máxima" -#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Número máximo de caracteres para esta entrada. Cero si no hay máximo" -#: ../gtk/gtkentry.c:770 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Visibilidad" -#: ../gtk/gtkentry.c:771 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2311,32 +2311,32 @@ msgstr "" "FALSE muestra el «carácter invisible» en lugar del texto actual (modo " "contraseña)" -#: ../gtk/gtkentry.c:779 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "FALSE quita el bisel exterior de la entrada" -#: ../gtk/gtkentry.c:787 +#: ../gtk/gtkentry.c:788 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" "Borde entre el texto y el marco. Toma precedencia sobre la propiedad de " "estilo del borde interno" -#: ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1360 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Carácter invisible" -#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "El carácter que se usará cuando se enmascaren los contenidos de la entrada " "(en «modo contraseña»)" -#: ../gtk/gtkentry.c:802 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Activar predeterminado" -#: ../gtk/gtkentry.c:803 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2344,33 +2344,33 @@ msgstr "" "Indica si se debe activar el widget predeterminado (como el botón " "predeterminado en un diálogo) cuando se pulse INTRO" -#: ../gtk/gtkentry.c:809 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Anchura en caracteres" -#: ../gtk/gtkentry.c:810 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Número de caracteres para dejar de espacio en la entrada" -#: ../gtk/gtkentry.c:819 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Desplazamiento del scroll" -#: ../gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "" "Número de píxeles de la entrada desplazados en scroll fuera de la pantalla " "hacia la izquierda" -#: ../gtk/gtkentry.c:830 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "El contenido de la entrada" -#: ../gtk/gtkentry.c:845 ../gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X alineación" -#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2378,68 +2378,68 @@ msgstr "" "La alineación horizontal, desde 0 (izquierda) hasta 1 (derecha). Al revés " "para distribuciones D-->I." -#: ../gtk/gtkentry.c:862 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Truncar multilínea" -#: ../gtk/gtkentry.c:863 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Indica si se truncan las pegadas multilíneas a una línea." -#: ../gtk/gtkentry.c:879 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" "Qué clase de sombra dibujar alrededor de la entrada cuando has-frame está " "activado" -#: ../gtk/gtkentry.c:894 ../gtk/gtktextview.c:766 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 msgid "Overwrite mode" msgstr "Modo de sobreescritura" -#: ../gtk/gtkentry.c:895 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "Indica si el texto introducido sobreescribe el existente" -#: ../gtk/gtkentry.c:909 ../gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Longitud del texto" -#: ../gtk/gtkentry.c:910 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "Longitud del texto actualmente en la entrada" -#: ../gtk/gtkentry.c:925 +#: ../gtk/gtkentry.c:926 msgid "Invisible character set" msgstr "Conjunto de caracteres invisibles" -#: ../gtk/gtkentry.c:926 +#: ../gtk/gtkentry.c:927 msgid "Whether the invisible character has been set" msgstr "" "Indica si se ha establecido la invisibilidad del conjunto de caracteres" -#: ../gtk/gtkentry.c:944 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Advertencia de bloqueo de mayúsculas" -#: ../gtk/gtkentry.c:945 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "" "Indica si en las entradas de contraseñas se muestra una advertencia cuando " "el bloqueo de mayúsculas está activo" -#: ../gtk/gtkentry.c:959 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Fracción de progreso" -#: ../gtk/gtkentry.c:960 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "La fracción actual completada de la tarea" -#: ../gtk/gtkentry.c:977 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "Progreso del paso del pulso" -#: ../gtk/gtkentry.c:978 +#: ../gtk/gtkentry.c:979 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2447,169 +2447,169 @@ msgstr "" "La fracción del ancho total de la entrada para mover el bloque de rebote de " "progreso para cada llamada a gtk_entry_progress_pulse()" -#: ../gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Pixbuf primario" -#: ../gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "El pixbuf primario para la entrada" -#: ../gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Pixbuf secundario" -#: ../gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "El pixbuf secundario para la entrada" -#: ../gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "ID de almacenamiento primario" -#: ../gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "ID de almacenamiento para el icono primario" -#: ../gtk/gtkentry.c:1039 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "ID de almacenamiento secundario" -#: ../gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "ID de almacenamiento para el icono secundario" -#: ../gtk/gtkentry.c:1054 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Nombre del icono primario" -#: ../gtk/gtkentry.c:1055 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "Nombre del icono para el icono primario" -#: ../gtk/gtkentry.c:1069 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Nombre del icono secundario" -#: ../gtk/gtkentry.c:1070 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "Nombre del icono para el icono secundario" -#: ../gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "GIcon primario" -#: ../gtk/gtkentry.c:1085 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "GIcon para el icono primario" -#: ../gtk/gtkentry.c:1099 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "GIcon secundario" -#: ../gtk/gtkentry.c:1100 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "GIcon para el icono secundario" -#: ../gtk/gtkentry.c:1114 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Tipo de almacenamiento primario" -#: ../gtk/gtkentry.c:1115 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "La representación empleada para el icono primario" -#: ../gtk/gtkentry.c:1130 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Tipo de almacenamiento secundario" -#: ../gtk/gtkentry.c:1131 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "La representación empleada para el icono secundario" -#: ../gtk/gtkentry.c:1152 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Icono primario activable" -#: ../gtk/gtkentry.c:1153 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Indica si el icono primario es activable" -#: ../gtk/gtkentry.c:1173 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Icono secundario activable" -#: ../gtk/gtkentry.c:1174 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Indica si el icono secundario es activable" -#: ../gtk/gtkentry.c:1196 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Sensibilidad del icono primario" -#: ../gtk/gtkentry.c:1197 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Indica si el icono primario es sensible" -#: ../gtk/gtkentry.c:1218 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Sensibilidad del icono secundario" -#: ../gtk/gtkentry.c:1219 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Indica si el icono secundario es sensible" -#: ../gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Texto del consejo del icono primario" -#: ../gtk/gtkentry.c:1236 ../gtk/gtkentry.c:1272 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "El contenido del consejo para el icono primario" -#: ../gtk/gtkentry.c:1252 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Texto del consejo del icono secundario" -#: ../gtk/gtkentry.c:1253 ../gtk/gtkentry.c:1291 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "El contenido del consejo para el icono secundario" -#: ../gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "Marcado del consejo del icono primario" -#: ../gtk/gtkentry.c:1290 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "Marcado del consejo del icono secundario" -#: ../gtk/gtkentry.c:1310 ../gtk/gtktextview.c:794 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 msgid "IM module" msgstr "Módulo ME" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:795 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 msgid "Which IM module should be used" msgstr "Qué módulo de ME se debe usar" -#: ../gtk/gtkentry.c:1325 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "Iluminación de icono" -#: ../gtk/gtkentry.c:1326 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" msgstr "" "Indica si los iconos activables deben iluminarse al pasar el ratón sobre " "ellos" -#: ../gtk/gtkentry.c:1339 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Borde del progreso" -#: ../gtk/gtkentry.c:1340 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "Borde alrededor de la barra de progreso" -#: ../gtk/gtkentry.c:1832 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Borde entre el texto y el marco." @@ -2621,71 +2621,79 @@ msgstr "El contenido del búfer" msgid "Length of the text currently in the buffer" msgstr "Longitud del texto actualmente en el búfer" -#: ../gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:267 msgid "Completion Model" msgstr "Modelo de completado" -#: ../gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:268 msgid "The model to find matches in" msgstr "El modelo para encontrar coincidencias" -#: ../gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:274 msgid "Minimum Key Length" msgstr "Longitud mínima de clave" -#: ../gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:275 msgid "Minimum length of the search key in order to look up matches" msgstr "Longitud mínima de la clave de búsqueda para buscar coincidencias" -#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:617 +#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "Columna de texto" -#: ../gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:292 msgid "The column of the model containing the strings." msgstr "La columna del modelo que contiene las cadenas." -#: ../gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:311 msgid "Inline completion" msgstr "Completado en línea" -#: ../gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:312 msgid "Whether the common prefix should be inserted automatically" msgstr "Indica si el prefijo común debe insertarse automáticamente" -#: ../gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:326 msgid "Popup completion" msgstr "Emerger el completado" -#: ../gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:327 msgid "Whether the completions should be shown in a popup window" msgstr "Indica si los completados deben mostrarse en una ventana emergente" -#: ../gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:342 msgid "Popup set width" msgstr "El emergente establece la anchura" -#: ../gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:343 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "Si es TRUE, la ventana emergente tendrá el mismo tamaño que la entrada" -#: ../gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:361 msgid "Popup single match" msgstr "Coincidencia simple del emergente" -#: ../gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:362 msgid "If TRUE, the popup window will appear for a single match." msgstr "" "Si es TRUE, la ventana emergente aparecerá para una coincidencia simple." -#: ../gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:376 msgid "Inline selection" msgstr "Selección en línea" -#: ../gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:377 msgid "Your description here" msgstr "Aquí su descripción" +#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 +msgid "Cell Area" +msgstr "Área de la celda" + +#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 +msgid "The GtkCellArea used to layout cells" +msgstr "El GtkCellArea usado para la distribución de las celdas" + #: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "Ventana visible" @@ -2710,60 +2718,60 @@ msgstr "" "Indica si la ventana atrapadora de eventos de la caja de eventos está por " "encima del widget hijo como oposición debajo de ésta." -#: ../gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:199 msgid "Expanded" msgstr "Expandido" -#: ../gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:200 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Indica si el expansor ha sido abierto para revelar el widget hijo" -#: ../gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:208 msgid "Text of the expander's label" msgstr "Texto de la etiqueta del expansor" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:580 +#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 msgid "Use markup" msgstr "Usar marcado" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "El texto de la etiqueta incluye marcado XML. Vea pango_parse_markup()" -#: ../gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:232 msgid "Space to put between the label and the child" msgstr "Espacio para colocar entre la etiqueta y el hijo" -#: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 #: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Widget etiqueta" -#: ../gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:242 msgid "A widget to display in place of the usual expander label" msgstr "Un widget para mostrar en lugar de la etiqueta usual del expansor" -#: ../gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:249 msgid "Label fill" msgstr "Relleno de etiqueta" -#: ../gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:250 msgid "Whether the label widget should fill all available horizontal space" msgstr "" "Indica si el widget de etiqueta debería llenar todo el espacio horizontal " "disponible" -#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:863 +#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1190 msgid "Expander Size" msgstr "Tamaño del expansor" -#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:864 +#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1191 msgid "Size of the expander arrow" msgstr "Tamaño de la flecha del expansor" -#: ../gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:266 msgid "Spacing around expander arrow" msgstr "Espaciado alrededor de la flecha del expansor" @@ -3134,16 +3142,16 @@ msgid "" msgstr "" "Cómo se sitúan el texto y el icono para cada elemento relativo a los demás" -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:698 -#: ../gtk/gtktreeviewcolumn.c:329 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 +#: ../gtk/gtktreeviewcolumn.c:358 msgid "Reorderable" msgstr "Reordenable" -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:699 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 msgid "View is reorderable" msgstr "La vista es reordenable" -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:849 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 msgid "Tooltip Column" msgstr "Columna de consejo" @@ -3259,32 +3267,32 @@ msgid "The Accel Group to use for stock accelerator keys" msgstr "" "El grupo de aceleración que usar para los aceleradores de teclado de stock" -#: ../gtk/gtkinfobar.c:375 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "Tipo de mensaje" -#: ../gtk/gtkinfobar.c:376 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "El tipo de mensaje" -#: ../gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Anchura del borde alrededor del área de contenido" -#: ../gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "Espacio entre los elementos del área" -#: ../gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Anchura del borde alrededor del área de acción" #: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:739 msgid "Screen" msgstr "Pantalla" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:740 msgid "The screen where this window will be displayed" msgstr "La pantalla donde se mostrará esta ventana" @@ -3296,7 +3304,7 @@ msgstr "El texto de la etiqueta" msgid "A list of style attributes to apply to the text of the label" msgstr "Un lista de atributos de estilos para aplicar al texto de la etiqueta" -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 msgid "Justification" msgstr "Justificación" @@ -3401,7 +3409,7 @@ msgstr "Seguir los enlaces visitados" msgid "Whether visited links should be tracked" msgstr "Indica si deben seguir los enlaces visitados" -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 msgid "Width" msgstr "Anchura" @@ -3787,52 +3795,52 @@ msgstr "Estamos mostrando un diálogo" msgid "The screen where this window will be displayed." msgstr "La pantalla donde se mostrará esta ventana." -#: ../gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:692 msgid "Page" msgstr "Página" -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:693 msgid "The index of the current page" msgstr "El índice de la página actual" -#: ../gtk/gtknotebook.c:700 +#: ../gtk/gtknotebook.c:701 msgid "Tab Position" msgstr "Posición del tabulador" -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:702 msgid "Which side of the notebook holds the tabs" msgstr "Qué lado del cuaderno contiene las solapas" -#: ../gtk/gtknotebook.c:708 +#: ../gtk/gtknotebook.c:709 msgid "Show Tabs" msgstr "Mostrar solapas" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:710 msgid "Whether tabs should be shown" msgstr "Indica si se deben mostrar las solapas" -#: ../gtk/gtknotebook.c:715 +#: ../gtk/gtknotebook.c:716 msgid "Show Border" msgstr "Mostrar borde" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:717 msgid "Whether the border should be shown" msgstr "Indica si se debe mostrar el borde" -#: ../gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:723 msgid "Scrollable" msgstr "Desplazable" -#: ../gtk/gtknotebook.c:723 +#: ../gtk/gtknotebook.c:724 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Si es TRUE, añadir flechas de desplazamiento si no caben todas las solapas" -#: ../gtk/gtknotebook.c:729 +#: ../gtk/gtknotebook.c:730 msgid "Enable Popup" msgstr "Activar emergente" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:731 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3840,125 +3848,125 @@ msgstr "" "Si es TRUE, presionando el botón derecho del ratón en el cuaderno emerge un " "menú que puede usar para ir a una página" -#: ../gtk/gtknotebook.c:744 +#: ../gtk/gtknotebook.c:745 msgid "Group Name" msgstr "Nombre del grupo" -#: ../gtk/gtknotebook.c:745 +#: ../gtk/gtknotebook.c:746 msgid "Group name for tab drag and drop" msgstr "Nombre del grupo para el arrastre y suelte de solapas" -#: ../gtk/gtknotebook.c:752 +#: ../gtk/gtknotebook.c:753 msgid "Tab label" msgstr "Etiqueta de la solapa" -#: ../gtk/gtknotebook.c:753 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed on the child's tab label" msgstr "La cadena mostrada en la etiqueta de la solapa hija" -#: ../gtk/gtknotebook.c:759 +#: ../gtk/gtknotebook.c:760 msgid "Menu label" msgstr "Etiqueta de menú" -#: ../gtk/gtknotebook.c:760 +#: ../gtk/gtknotebook.c:761 msgid "The string displayed in the child's menu entry" msgstr "La cadena mostrada en la entrada de menú hija" -#: ../gtk/gtknotebook.c:773 +#: ../gtk/gtknotebook.c:774 msgid "Tab expand" msgstr "Expansión de la solapa" -#: ../gtk/gtknotebook.c:774 +#: ../gtk/gtknotebook.c:775 msgid "Whether to expand the child's tab" msgstr "Indica si se deben expandir la solapas del hijo" -#: ../gtk/gtknotebook.c:780 +#: ../gtk/gtknotebook.c:781 msgid "Tab fill" msgstr "Relleno de la solapa" -#: ../gtk/gtknotebook.c:781 +#: ../gtk/gtknotebook.c:782 msgid "Whether the child's tab should fill the allocated area" msgstr "Indica si se debe rellenar el área asignada de las solapas hijas " -#: ../gtk/gtknotebook.c:794 +#: ../gtk/gtknotebook.c:795 msgid "Tab pack type" msgstr "Tipo de empaquetado de la solapa" -#: ../gtk/gtknotebook.c:801 +#: ../gtk/gtknotebook.c:802 msgid "Tab reorderable" msgstr "Solapa reordenable" -#: ../gtk/gtknotebook.c:802 +#: ../gtk/gtknotebook.c:803 msgid "Whether the tab is reorderable by user action" msgstr "Indica si la solapa se puede reordenar por una acción del usuario" -#: ../gtk/gtknotebook.c:808 +#: ../gtk/gtknotebook.c:809 msgid "Tab detachable" msgstr "Solapa desprendible" -#: ../gtk/gtknotebook.c:809 +#: ../gtk/gtknotebook.c:810 msgid "Whether the tab is detachable" msgstr "Indica si la solapa es desprendible" -#: ../gtk/gtknotebook.c:824 ../gtk/gtkscrollbar.c:105 +#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Flecha de retroceso secundaria" -#: ../gtk/gtknotebook.c:825 +#: ../gtk/gtknotebook.c:826 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Muestra una segunda flecha de retroceso en el extremo opuesto del área de " "solapas" -#: ../gtk/gtknotebook.c:840 ../gtk/gtkscrollbar.c:112 +#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Flecha de adelanto secundaria" -#: ../gtk/gtknotebook.c:841 +#: ../gtk/gtknotebook.c:842 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Mostrar una segunda flecha de avance en el extremo opuesto del área de " "solapas" -#: ../gtk/gtknotebook.c:855 ../gtk/gtkscrollbar.c:91 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Flecha de retroceso" -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:92 +#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Mostrar el botón estándar de flecha de retroceso" -#: ../gtk/gtknotebook.c:870 ../gtk/gtkscrollbar.c:98 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Flecha de avance" -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:99 +#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Mostrar el botón estándar de flecha de avance" -#: ../gtk/gtknotebook.c:885 +#: ../gtk/gtknotebook.c:886 msgid "Tab overlap" msgstr "Solapamiento de la solapa" -#: ../gtk/gtknotebook.c:886 +#: ../gtk/gtknotebook.c:887 msgid "Size of tab overlap area" msgstr "Tamaño del área de solapamiento de la solapa" -#: ../gtk/gtknotebook.c:901 +#: ../gtk/gtknotebook.c:902 msgid "Tab curvature" msgstr "Curvatura de la solapa" -#: ../gtk/gtknotebook.c:902 +#: ../gtk/gtknotebook.c:903 msgid "Size of tab curvature" msgstr "Tamaño de la curvatura de la solapa" -#: ../gtk/gtknotebook.c:918 +#: ../gtk/gtknotebook.c:919 msgid "Arrow spacing" msgstr "Espaciado de las flechas" -#: ../gtk/gtknotebook.c:919 +#: ../gtk/gtknotebook.c:920 msgid "Scroll arrow spacing" msgstr "Espaciado del desplazamiento de las flechas" @@ -4479,29 +4487,29 @@ msgstr "El elemento del menú de radio a cuyo grupo pertenece este widget." msgid "The radio tool button whose group this button belongs to." msgstr "La herramienta de botón de radio a cuyo grupo pertenece este widget." -#: ../gtk/gtkrange.c:423 +#: ../gtk/gtkrange.c:422 msgid "Update policy" msgstr "Política de actualización" -#: ../gtk/gtkrange.c:424 +#: ../gtk/gtkrange.c:423 msgid "How the range should be updated on the screen" msgstr "Cómo se debe actualizar el rango en la pantalla" -#: ../gtk/gtkrange.c:433 +#: ../gtk/gtkrange.c:432 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "El GtkAdjustment que contiene el valor actual de este objeto de rango" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:440 msgid "Invert direction slider moves to increase range value" msgstr "" "Invierte la dirección en que se mueve el deslizador para incrementar el " "valor del rango" -#: ../gtk/gtkrange.c:448 +#: ../gtk/gtkrange.c:447 msgid "Lower stepper sensitivity" msgstr "Sensibilidad de la flecha inferior" -#: ../gtk/gtkrange.c:449 +#: ../gtk/gtkrange.c:448 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4509,11 +4517,11 @@ msgstr "" "La directiva de sensibilidad del botón de desplazamiento que apunta al lado " "más bajo del ajuste" -#: ../gtk/gtkrange.c:457 +#: ../gtk/gtkrange.c:456 msgid "Upper stepper sensitivity" msgstr "Sensibilidad de la flecha superior" -#: ../gtk/gtkrange.c:458 +#: ../gtk/gtkrange.c:457 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4521,91 +4529,91 @@ msgstr "" "La directiva de sensibilidad del botón de flecha que apunta al lado más alto " "del ajuste" -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:474 msgid "Show Fill Level" msgstr "Mostrar nivel de relleno" -#: ../gtk/gtkrange.c:476 +#: ../gtk/gtkrange.c:475 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" "Indica si se debe mostrar el indicador de nivel de llenado en los gráficos " "mientras se llena." -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:491 msgid "Restrict to Fill Level" msgstr "Restringir al nivel de llenado" -#: ../gtk/gtkrange.c:493 +#: ../gtk/gtkrange.c:492 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Indica si se debe restringir el borde superior al nivel de llenado." -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:507 msgid "Fill Level" msgstr "Nivel de llenado" -#: ../gtk/gtkrange.c:509 +#: ../gtk/gtkrange.c:508 msgid "The fill level." msgstr "El nivel de llenado." -#: ../gtk/gtkrange.c:517 ../gtk/gtkswitch.c:772 +#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 msgid "Slider Width" msgstr "Anchura del deslizador" -#: ../gtk/gtkrange.c:518 +#: ../gtk/gtkrange.c:517 msgid "Width of scrollbar or scale thumb" msgstr "Anchura de la barra de desplazamiento o escala de miniatura" -#: ../gtk/gtkrange.c:525 +#: ../gtk/gtkrange.c:524 msgid "Trough Border" msgstr "Borde del carril" -#: ../gtk/gtkrange.c:526 +#: ../gtk/gtkrange.c:525 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "" "Espaciado entre la marcador/flechas de desplazamiento y el bisel exterior " "del carril" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:532 msgid "Stepper Size" msgstr "Tamaño del botón de flecha de desplazamiento" -#: ../gtk/gtkrange.c:534 +#: ../gtk/gtkrange.c:533 msgid "Length of step buttons at ends" msgstr "Longitud de los botones de flecha en los extremos" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:548 msgid "Stepper Spacing" msgstr "Espaciado de los botones de flecha de desplazamiento" -#: ../gtk/gtkrange.c:550 +#: ../gtk/gtkrange.c:549 msgid "Spacing between step buttons and thumb" msgstr "Espaciado entre los botones de flecha de desplazamiento y el marcador" -#: ../gtk/gtkrange.c:557 +#: ../gtk/gtkrange.c:556 msgid "Arrow X Displacement" msgstr "Desplazamiento de la flecha X" -#: ../gtk/gtkrange.c:558 +#: ../gtk/gtkrange.c:557 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "Distancia en la dirección «X» para mover la flecha cuando se suelta el botón " -#: ../gtk/gtkrange.c:565 +#: ../gtk/gtkrange.c:564 msgid "Arrow Y Displacement" msgstr "Desplazamiento de la flecha Y" -#: ../gtk/gtkrange.c:566 +#: ../gtk/gtkrange.c:565 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "Distancia en la dirección «Y» para mover la flecha cuando se suelta el botón " -#: ../gtk/gtkrange.c:584 +#: ../gtk/gtkrange.c:583 msgid "Trough Under Steppers" msgstr "Carril bajo las flechas de deslizamiento" -#: ../gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:584 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4613,11 +4621,11 @@ msgstr "" "Indica si se debe dibujar para la longitud completa del rango o excluir las " "flechas de desplazamiento y el espaciado" -#: ../gtk/gtkrange.c:598 +#: ../gtk/gtkrange.c:597 msgid "Arrow scaling" msgstr "Escalado de flechas" -#: ../gtk/gtkrange.c:599 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling with regard to scroll button size" msgstr "" "Escalado de flechas en consideración con el tamaño del botón de " @@ -4736,68 +4744,68 @@ msgstr "Iconos" msgid "List of icon names" msgstr "Lista de nombres de iconos" -#: ../gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "El número de lugares decimales que se mostrarán en el valor" -#: ../gtk/gtkscale.c:264 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Dibujar valor" -#: ../gtk/gtkscale.c:265 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "" "Indica si el valor actual se muestra como una cadena contigua al deslizador" -#: ../gtk/gtkscale.c:272 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Posición del valor" -#: ../gtk/gtkscale.c:273 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "La posición en que se muestra el valor actual" -#: ../gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Longitud del deslizador" -#: ../gtk/gtkscale.c:281 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Longitud de la escala del deslizador" -#: ../gtk/gtkscale.c:289 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Espaciado del valor" -#: ../gtk/gtkscale.c:290 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "Espacio entre el texto del valor y el área del deslizador/carril" -#: ../gtk/gtkscrollbar.c:75 +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Longitud mínima del deslizador" -#: ../gtk/gtkscrollbar.c:76 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Longitud mínima de deslizador de la barras de desplazamiento" -#: ../gtk/gtkscrollbar.c:84 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Tamaño del deslizador fijo" -#: ../gtk/gtkscrollbar.c:85 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "" "No cambiar el tamaño del deslizador, sólo bloquearlo a la longitud mínima" -#: ../gtk/gtkscrollbar.c:106 +#: ../gtk/gtkscrollbar.c:103 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" "Muestra un segundo botón con una flecha de retroceso en el extremo opuesto " "de la barra de desplazamiento" -#: ../gtk/gtkscrollbar.c:113 +#: ../gtk/gtkscrollbar.c:110 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" @@ -5566,15 +5574,15 @@ msgstr "" "Si es TRUE, los widgets no mapeados se ignoran al determinar el tamaño del " "grupo" -#: ../gtk/gtkspinbutton.c:238 +#: ../gtk/gtkspinbutton.c:237 msgid "Climb Rate" msgstr "Tasa de subida" -#: ../gtk/gtkspinbutton.c:258 +#: ../gtk/gtkspinbutton.c:257 msgid "Snap to Ticks" msgstr "Ajustarse a los ticks" -#: ../gtk/gtkspinbutton.c:259 +#: ../gtk/gtkspinbutton.c:258 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5582,39 +5590,39 @@ msgstr "" "Indica si los valores erróneos se cambian por el valor más cercano de un " "botón incrementable" -#: ../gtk/gtkspinbutton.c:266 +#: ../gtk/gtkspinbutton.c:265 msgid "Numeric" msgstr "Numérico" -#: ../gtk/gtkspinbutton.c:267 +#: ../gtk/gtkspinbutton.c:266 msgid "Whether non-numeric characters should be ignored" msgstr "Indica si se ignoran los caracteres no numéricos" -#: ../gtk/gtkspinbutton.c:274 +#: ../gtk/gtkspinbutton.c:273 msgid "Wrap" msgstr "Volver al inicio" -#: ../gtk/gtkspinbutton.c:275 +#: ../gtk/gtkspinbutton.c:274 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "" "Indica si un botón giratorio debe volver al inicio al alcanzar sus límites" -#: ../gtk/gtkspinbutton.c:282 +#: ../gtk/gtkspinbutton.c:281 msgid "Update Policy" msgstr "Norma de actualización" -#: ../gtk/gtkspinbutton.c:283 +#: ../gtk/gtkspinbutton.c:282 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Indica si el botón incrementable se actualiza siempre, o sólo cuando el " "valor es legal" -#: ../gtk/gtkspinbutton.c:292 +#: ../gtk/gtkspinbutton.c:291 msgid "Reads the current value, or sets a new value" msgstr "Lee el valor actual, o establece un valor nuevo" -#: ../gtk/gtkspinbutton.c:301 +#: ../gtk/gtkspinbutton.c:300 msgid "Style of bevel around the spin button" msgstr "Estilo de bisel alrededor del botón giratorio" @@ -5671,7 +5679,7 @@ msgstr "Indica si el icono de estado está empotrado" msgid "The orientation of the tray" msgstr "La orientación de la bandeja" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1036 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1024 msgid "Has tooltip" msgstr "Tiene consejo" @@ -5679,15 +5687,15 @@ msgstr "Tiene consejo" msgid "Whether this tray icon has a tooltip" msgstr "Indica si el icono de la bandeja tiene un consejo" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1057 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1045 msgid "Tooltip Text" msgstr "Texto del consejo" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1046 ../gtk/gtkwidget.c:1067 msgid "The contents of the tooltip for this widget" msgstr "El contenido de los consejos para este widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1078 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1066 msgid "Tooltip markup" msgstr "Marcado de consejos" @@ -5963,7 +5971,7 @@ msgstr "" "tema, etc. por lo cual se recomienda. Pango define previamente algunas " "escalas tales como PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:704 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 msgid "Left, right, or center justification" msgstr "Justificación a la izquierda, derecha o centro" @@ -5980,7 +5988,7 @@ msgstr "" msgid "Left margin" msgstr "Margen izquierdo" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:713 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 msgid "Width of the left margin in pixels" msgstr "Anchura del margen izquierdo en píxeles" @@ -5988,15 +5996,15 @@ msgstr "Anchura del margen izquierdo en píxeles" msgid "Right margin" msgstr "Margen derecho" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:723 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 msgid "Width of the right margin in pixels" msgstr "Anchura del margen derecho en píxeles" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:732 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 msgid "Indent" msgstr "Sangrar" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:733 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 msgid "Amount to indent the paragraph, in pixels" msgstr "Número de píxeles para el sangrado del párrafo" @@ -6012,7 +6020,7 @@ msgstr "" msgid "Pixels above lines" msgstr "Píxeles encima de las líneas" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:657 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 msgid "Pixels of blank space above paragraphs" msgstr "Píxeles de espacio en blanco encima de los párrafos" @@ -6020,7 +6028,7 @@ msgstr "Píxeles de espacio en blanco encima de los párrafos" msgid "Pixels below lines" msgstr "Píxeles debajo de las líneas" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:667 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 msgid "Pixels of blank space below paragraphs" msgstr "Píxeles de espacio en blanco debajo de los párrafos" @@ -6028,22 +6036,22 @@ msgstr "Píxeles de espacio en blanco debajo de los párrafos" msgid "Pixels inside wrap" msgstr "Píxeles dentro del ajuste" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Píxeles de espacio en blanco entre las líneas ajustadas en un párrafo" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Indica si deben ajustarse las líneas, a los límites de las palabras, a los " "límites de los caracteres, o nunca" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:742 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 msgid "Tabs" msgstr "Solapas" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:743 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 msgid "Custom tabs for this text" msgstr "Pestañas personalizadas para este texto" @@ -6174,63 +6182,63 @@ msgstr "Fondo de parágrafo establecido" msgid "Whether this tag affects the paragraph background color" msgstr "Indica si esta etiqueta afecta el color de fondo del parágrafo" -#: ../gtk/gtktextview.c:656 +#: ../gtk/gtktextview.c:654 msgid "Pixels Above Lines" msgstr "Píxeles sobre las líneas" -#: ../gtk/gtktextview.c:666 +#: ../gtk/gtktextview.c:664 msgid "Pixels Below Lines" msgstr "Píxeles por debajo de las líneas" -#: ../gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:674 msgid "Pixels Inside Wrap" msgstr "Píxeles dentro del ajuste" -#: ../gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:692 msgid "Wrap Mode" msgstr "Modo de ajuste" -#: ../gtk/gtktextview.c:712 +#: ../gtk/gtktextview.c:710 msgid "Left Margin" msgstr "Margen izquierdo" -#: ../gtk/gtktextview.c:722 +#: ../gtk/gtktextview.c:720 msgid "Right Margin" msgstr "Margen derecho" -#: ../gtk/gtktextview.c:750 +#: ../gtk/gtktextview.c:748 msgid "Cursor Visible" msgstr "Cursor visible" -#: ../gtk/gtktextview.c:751 +#: ../gtk/gtktextview.c:749 msgid "If the insertion cursor is shown" msgstr "Si se muestra el cursor de inserción" -#: ../gtk/gtktextview.c:758 +#: ../gtk/gtktextview.c:756 msgid "Buffer" msgstr "Búfer" -#: ../gtk/gtktextview.c:759 +#: ../gtk/gtktextview.c:757 msgid "The buffer which is displayed" msgstr "El búfer que se está mostrando" -#: ../gtk/gtktextview.c:767 +#: ../gtk/gtktextview.c:765 msgid "Whether entered text overwrites existing contents" msgstr "Indica si el texto introducido sobreescribe el existente" -#: ../gtk/gtktextview.c:774 +#: ../gtk/gtktextview.c:772 msgid "Accepts tab" msgstr "Acepta tabuladores" -#: ../gtk/gtktextview.c:775 +#: ../gtk/gtktextview.c:773 msgid "Whether Tab will result in a tab character being entered" msgstr "Indica si Tab resultará en la introducción de un carácter tabulador" -#: ../gtk/gtktextview.c:810 +#: ../gtk/gtktextview.c:808 msgid "Error underline color" msgstr "Color de subrayado de errores" -#: ../gtk/gtktextview.c:811 +#: ../gtk/gtktextview.c:809 msgid "Color with which to draw error-indication underlines" msgstr "Color con el que dibujar el subrayado de indicación de errores" @@ -6529,334 +6537,334 @@ msgstr "Modelo TreeModelSort" msgid "The model for the TreeModelSort to sort" msgstr "El modelo para el TreeModelSort a ordenar" -#: ../gtk/gtktreeview.c:661 +#: ../gtk/gtktreeview.c:988 msgid "TreeView Model" msgstr "Modelo TreeView" -#: ../gtk/gtktreeview.c:662 +#: ../gtk/gtktreeview.c:989 msgid "The model for the tree view" msgstr "El modelo para la vista de árbol" -#: ../gtk/gtktreeview.c:674 +#: ../gtk/gtktreeview.c:1001 msgid "Headers Visible" msgstr "Cabeceras visibles" -#: ../gtk/gtktreeview.c:675 +#: ../gtk/gtktreeview.c:1002 msgid "Show the column header buttons" msgstr "Mostrar botones en los encabezados de columna" -#: ../gtk/gtktreeview.c:682 +#: ../gtk/gtktreeview.c:1009 msgid "Headers Clickable" msgstr "Cabeceras pulsables" -#: ../gtk/gtktreeview.c:683 +#: ../gtk/gtktreeview.c:1010 msgid "Column headers respond to click events" msgstr "Las cabeceras de las columnas responden a los eventos de pulsación" -#: ../gtk/gtktreeview.c:690 +#: ../gtk/gtktreeview.c:1017 msgid "Expander Column" msgstr "Columna expansora" -#: ../gtk/gtktreeview.c:691 +#: ../gtk/gtktreeview.c:1018 msgid "Set the column for the expander column" msgstr "Define la columna para la columna expansora" -#: ../gtk/gtktreeview.c:706 +#: ../gtk/gtktreeview.c:1033 msgid "Rules Hint" msgstr "Consejo de las reglas" -#: ../gtk/gtktreeview.c:707 +#: ../gtk/gtktreeview.c:1034 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" "Define un consejo para el motor del tema para dibujar las filas con colores " "alternativos" -#: ../gtk/gtktreeview.c:714 +#: ../gtk/gtktreeview.c:1041 msgid "Enable Search" msgstr "Habilitar búsqueda" -#: ../gtk/gtktreeview.c:715 +#: ../gtk/gtktreeview.c:1042 msgid "View allows user to search through columns interactively" msgstr "" "La vista permite a los usuarios buscar en forma interactiva a través de las " "columnas" -#: ../gtk/gtktreeview.c:722 +#: ../gtk/gtktreeview.c:1049 msgid "Search Column" msgstr "Columna de búsqueda" -#: ../gtk/gtktreeview.c:723 +#: ../gtk/gtktreeview.c:1050 msgid "Model column to search through during interactive search" msgstr "" "Columna modelo para buscar a través de ella en una búsqueda interactiva" -#: ../gtk/gtktreeview.c:743 +#: ../gtk/gtktreeview.c:1070 msgid "Fixed Height Mode" msgstr "Modo de altura fija" -#: ../gtk/gtktreeview.c:744 +#: ../gtk/gtktreeview.c:1071 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "" "Acelera GtkTreeView asumiendo que todas las filas tienen la misma altura" -#: ../gtk/gtktreeview.c:764 +#: ../gtk/gtktreeview.c:1091 msgid "Hover Selection" msgstr "Selección al pasar por encima" -#: ../gtk/gtktreeview.c:765 +#: ../gtk/gtktreeview.c:1092 msgid "Whether the selection should follow the pointer" msgstr "Indica si la selección debe seguir al puntero" -#: ../gtk/gtktreeview.c:784 +#: ../gtk/gtktreeview.c:1111 msgid "Hover Expand" msgstr "Expandir al poner el cursor encima" -#: ../gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1112 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Indica si las filas deben expandirse/contraerse cuando el puntero se mueve " "sobre ellas" -#: ../gtk/gtktreeview.c:799 +#: ../gtk/gtktreeview.c:1126 msgid "Show Expanders" msgstr "Mostrar expansores" -#: ../gtk/gtktreeview.c:800 +#: ../gtk/gtktreeview.c:1127 msgid "View has expanders" msgstr "La vista tiene expansores" -#: ../gtk/gtktreeview.c:814 +#: ../gtk/gtktreeview.c:1141 msgid "Level Indentation" msgstr "Nivel de sangrado" -#: ../gtk/gtktreeview.c:815 +#: ../gtk/gtktreeview.c:1142 msgid "Extra indentation for each level" msgstr "Sangría extra para cada nivel" -#: ../gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1151 msgid "Rubber Banding" msgstr "Bandas de goma" -#: ../gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1152 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Indica si se debe activar la selección de múltiples elementos arrastrándo el " "puntero del ratón" -#: ../gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1159 msgid "Enable Grid Lines" msgstr "Activar líneas de la rejilla" -#: ../gtk/gtktreeview.c:833 +#: ../gtk/gtktreeview.c:1160 msgid "Whether grid lines should be drawn in the tree view" msgstr "Indica si debe haber un icono cerca del elemento" -#: ../gtk/gtktreeview.c:841 +#: ../gtk/gtktreeview.c:1168 msgid "Enable Tree Lines" msgstr "Activar líneas del árbol" -#: ../gtk/gtktreeview.c:842 +#: ../gtk/gtktreeview.c:1169 msgid "Whether tree lines should be drawn in the tree view" msgstr "Indica si deben dibujar las líneas en la vista del árbol" -#: ../gtk/gtktreeview.c:850 +#: ../gtk/gtktreeview.c:1177 msgid "The column in the model containing the tooltip texts for the rows" msgstr "" "La columna del modelo que contiene los textos de consejo para las filas" -#: ../gtk/gtktreeview.c:872 +#: ../gtk/gtktreeview.c:1199 msgid "Vertical Separator Width" msgstr "Anchura del separador vertical" -#: ../gtk/gtktreeview.c:873 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical space between cells. Must be an even number" msgstr "Espacio vertical entre celdas. Debe ser un número par" -#: ../gtk/gtktreeview.c:881 +#: ../gtk/gtktreeview.c:1208 msgid "Horizontal Separator Width" msgstr "Anchura del separador horizontal" -#: ../gtk/gtktreeview.c:882 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal space between cells. Must be an even number" msgstr "Espacio horizontal entre celdas. Debe ser un número par" -#: ../gtk/gtktreeview.c:890 +#: ../gtk/gtktreeview.c:1217 msgid "Allow Rules" msgstr "Permitir reglas" -#: ../gtk/gtktreeview.c:891 +#: ../gtk/gtktreeview.c:1218 msgid "Allow drawing of alternating color rows" msgstr "Permitir el dibujado de filas con colores alternativos" -#: ../gtk/gtktreeview.c:897 +#: ../gtk/gtktreeview.c:1224 msgid "Indent Expanders" msgstr "Sangrar expansores" -#: ../gtk/gtktreeview.c:898 +#: ../gtk/gtktreeview.c:1225 msgid "Make the expanders indented" msgstr "Crea los expansores sangrados" -#: ../gtk/gtktreeview.c:904 +#: ../gtk/gtktreeview.c:1231 msgid "Even Row Color" msgstr "Color de la fila par" -#: ../gtk/gtktreeview.c:905 +#: ../gtk/gtktreeview.c:1232 msgid "Color to use for even rows" msgstr "Color a usar para las filas pares" -#: ../gtk/gtktreeview.c:911 +#: ../gtk/gtktreeview.c:1238 msgid "Odd Row Color" msgstr "Color de la fila impar" -#: ../gtk/gtktreeview.c:912 +#: ../gtk/gtktreeview.c:1239 msgid "Color to use for odd rows" msgstr "Color a usar para las filas impares" -#: ../gtk/gtktreeview.c:918 +#: ../gtk/gtktreeview.c:1245 msgid "Grid line width" msgstr "Anchura de la línea de la rejilla" -#: ../gtk/gtktreeview.c:919 +#: ../gtk/gtktreeview.c:1246 msgid "Width, in pixels, of the tree view grid lines" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtktreeview.c:925 +#: ../gtk/gtktreeview.c:1252 msgid "Tree line width" msgstr "Anchura de la línea del árbol" -#: ../gtk/gtktreeview.c:926 +#: ../gtk/gtktreeview.c:1253 msgid "Width, in pixels, of the tree view lines" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtktreeview.c:932 +#: ../gtk/gtktreeview.c:1259 msgid "Grid line pattern" msgstr "Patrón de la línea de la rejilla" -#: ../gtk/gtktreeview.c:933 +#: ../gtk/gtktreeview.c:1260 msgid "Dash pattern used to draw the tree view grid lines" msgstr "" "Patrón de guiones utilizado para dibujar las líneas de rejilla de la vista " "de árbol" -#: ../gtk/gtktreeview.c:939 +#: ../gtk/gtktreeview.c:1266 msgid "Tree line pattern" msgstr "Patrón de la línea del árbol" -#: ../gtk/gtktreeview.c:940 +#: ../gtk/gtktreeview.c:1267 msgid "Dash pattern used to draw the tree view lines" msgstr "" "Patrón de guiones utilizado para dibujar las líneas de la vista de árbol" -#: ../gtk/gtktreeviewcolumn.c:214 +#: ../gtk/gtktreeviewcolumn.c:243 msgid "Whether to display the column" msgstr "Indica si se debe mostrar la columna" -#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:656 +#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:655 msgid "Resizable" msgstr "Redimensionable" -#: ../gtk/gtktreeviewcolumn.c:222 +#: ../gtk/gtktreeviewcolumn.c:251 msgid "Column is user-resizable" msgstr "La columna es ajustable por el usuario" -#: ../gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:259 msgid "Current width of the column" msgstr "Anchura actual de la columna" -#: ../gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:268 msgid "Space which is inserted between cells" msgstr "Espacio que se introduce entre las celdas" -#: ../gtk/gtktreeviewcolumn.c:247 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Sizing" msgstr "Dimensionar" -#: ../gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Resize mode of the column" msgstr "Modo de redimensionado de la columna" -#: ../gtk/gtktreeviewcolumn.c:256 +#: ../gtk/gtktreeviewcolumn.c:285 msgid "Fixed Width" msgstr "Anchura fijo" -#: ../gtk/gtktreeviewcolumn.c:257 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Current fixed width of the column" msgstr "Anchura fijo actual de la columna" -#: ../gtk/gtktreeviewcolumn.c:266 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Minimum Width" msgstr "Anchura mínimo" -#: ../gtk/gtktreeviewcolumn.c:267 +#: ../gtk/gtktreeviewcolumn.c:296 msgid "Minimum allowed width of the column" msgstr "Anchura mínimo permitido de la columna" -#: ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtktreeviewcolumn.c:305 msgid "Maximum Width" msgstr "Anchura máximo" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum allowed width of the column" msgstr "Anchura máximo permitido de la columna" -#: ../gtk/gtktreeviewcolumn.c:287 +#: ../gtk/gtktreeviewcolumn.c:316 msgid "Title to appear in column header" msgstr "Título que aparecerá en el encabezado de columna" -#: ../gtk/gtktreeviewcolumn.c:295 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Column gets share of extra width allocated to the widget" msgstr "" "La columna obtiene compartición de anchura extra asignada para el widget" -#: ../gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:331 msgid "Clickable" msgstr "Pulsable" -#: ../gtk/gtktreeviewcolumn.c:303 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Whether the header can be clicked" msgstr "Indica si la cabecera puede ser pulsada" -#: ../gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtktreeviewcolumn.c:340 msgid "Widget" msgstr "Widget" -#: ../gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget to put in column header button instead of column title" msgstr "" "Widget a colocar en el botón de la cabecera de la columna en lugar del " "título de la columna" -#: ../gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:349 msgid "X Alignment of the column header text or widget" msgstr "Alineación X del texto o el widget de la cabecera de la columna" -#: ../gtk/gtktreeviewcolumn.c:330 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Whether the column can be reordered around the headers" msgstr "Indica si la columna poder ser reordenada alrededor de las cabeceras" -#: ../gtk/gtktreeviewcolumn.c:337 +#: ../gtk/gtktreeviewcolumn.c:366 msgid "Sort indicator" msgstr "Indicador de ordenación" -#: ../gtk/gtktreeviewcolumn.c:338 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Whether to show a sort indicator" msgstr "Indica si se debe mostrar un indicador de ordenamiento" -#: ../gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:374 msgid "Sort order" msgstr "Orden de la ordenación" -#: ../gtk/gtktreeviewcolumn.c:346 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort direction the sort indicator should indicate" msgstr "Dirección de ordenación que el indicador deberá indicar" -#: ../gtk/gtktreeviewcolumn.c:362 +#: ../gtk/gtktreeviewcolumn.c:391 msgid "Sort column ID" msgstr "ID de columna de ordenación" -#: ../gtk/gtktreeviewcolumn.c:363 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" "ID de columna de ordenación lógica que ordena esta columna cuando se " @@ -6879,27 +6887,37 @@ msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como es dibujado el marco sombreado alrededor del puerto de visión" -#: ../gtk/gtkwidget.c:887 +#: ../gtk/gtkvolumebutton.c:155 +#| msgid "Success color for symbolic icons" +msgid "Use symbolic icons" +msgstr "Usar iconos simbólicos" + +#: ../gtk/gtkvolumebutton.c:156 +#| msgid "Warning color for symbolic icons" +msgid "Whether to use symbolic icons" +msgstr "Indica si se deben usar enlaces simbólicos" + +#: ../gtk/gtkwidget.c:883 msgid "Widget name" msgstr "Nombre del widget" -#: ../gtk/gtkwidget.c:888 +#: ../gtk/gtkwidget.c:884 msgid "The name of the widget" msgstr "El nombre del widget" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:890 msgid "Parent widget" msgstr "Widget padre" -#: ../gtk/gtkwidget.c:895 +#: ../gtk/gtkwidget.c:891 msgid "The parent widget of this widget. Must be a Container widget" msgstr "El widget padre de este widget. Debe ser un widget contenedor" -#: ../gtk/gtkwidget.c:902 +#: ../gtk/gtkwidget.c:898 msgid "Width request" msgstr "Petición de anchura" -#: ../gtk/gtkwidget.c:903 +#: ../gtk/gtkwidget.c:899 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6907,11 +6925,11 @@ msgstr "" "Sobreescribir el ancho solicitado del widget, o -1 si deber ser utilizado la " "solicitud natural" -#: ../gtk/gtkwidget.c:911 +#: ../gtk/gtkwidget.c:907 msgid "Height request" msgstr "Petición de altura" -#: ../gtk/gtkwidget.c:912 +#: ../gtk/gtkwidget.c:908 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6919,84 +6937,84 @@ msgstr "" "Sobreescribir la altura solicitada del widget, o -1 si deber ser utilizada " "la solicitud natural" -#: ../gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:917 msgid "Whether the widget is visible" msgstr "Indica si el widget es visible" -#: ../gtk/gtkwidget.c:928 +#: ../gtk/gtkwidget.c:924 msgid "Whether the widget responds to input" msgstr "Indica si el widget responde al ingreso" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:930 msgid "Application paintable" msgstr "Pintable por la aplicación" -#: ../gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:931 msgid "Whether the application will paint directly on the widget" msgstr "Indica si la aplicación pintará directamente sobre el widget" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:937 msgid "Can focus" msgstr "Puede enfocar" -#: ../gtk/gtkwidget.c:942 +#: ../gtk/gtkwidget.c:938 msgid "Whether the widget can accept the input focus" msgstr "Indica si el widget puede aceptar el foco de entrada" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:944 msgid "Has focus" msgstr "Tiene foco" -#: ../gtk/gtkwidget.c:949 +#: ../gtk/gtkwidget.c:945 msgid "Whether the widget has the input focus" msgstr "Indica si el widget tiene el foco de entrada" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:951 msgid "Is focus" msgstr "Tiene el foco" -#: ../gtk/gtkwidget.c:956 +#: ../gtk/gtkwidget.c:952 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica si el widget es el widget con foco dentro del nivel superior" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:958 msgid "Can default" msgstr "Puede por omisión" -#: ../gtk/gtkwidget.c:963 +#: ../gtk/gtkwidget.c:959 msgid "Whether the widget can be the default widget" msgstr "Indica si el widget puede ser el widget predeterminado" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:965 msgid "Has default" msgstr "Tiene por omisión" -#: ../gtk/gtkwidget.c:970 +#: ../gtk/gtkwidget.c:966 msgid "Whether the widget is the default widget" msgstr "Indica si el widget es el widget predeterminado" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:972 msgid "Receives default" msgstr "Recibe por omisión" -#: ../gtk/gtkwidget.c:977 +#: ../gtk/gtkwidget.c:973 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "" "Si es TRUE el widget recibirá la acción predeterminada cuando obtiene el foco" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:979 msgid "Composite child" msgstr "Hijo compuesto" -#: ../gtk/gtkwidget.c:984 +#: ../gtk/gtkwidget.c:980 msgid "Whether the widget is part of a composite widget" msgstr "Indica si el widget es parte de un widget compuesto" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:986 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:991 +#: ../gtk/gtkwidget.c:987 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -7004,186 +7022,176 @@ msgstr "" "El estilo del widget, que contiene información sobre la apariencia (colores, " "etc)" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:993 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:998 +#: ../gtk/gtkwidget.c:994 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "La máscara de eventos que decide que tipo de GtkEvents recibe este widget" -#: ../gtk/gtkwidget.c:1005 -msgid "Extension events" -msgstr "Eventos de extensión" - -#: ../gtk/gtkwidget.c:1006 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "" -"La máscara que decide que clase de eventos de extensión conseguirá este " -"widget" - -#: ../gtk/gtkwidget.c:1013 +#: ../gtk/gtkwidget.c:1001 msgid "No show all" msgstr "No mostrar todo" -#: ../gtk/gtkwidget.c:1014 +#: ../gtk/gtkwidget.c:1002 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Indica que gtk_widget_show_all() no debe afectar a este widget" -#: ../gtk/gtkwidget.c:1037 +#: ../gtk/gtkwidget.c:1025 msgid "Whether this widget has a tooltip" msgstr "Indica si el widget tiene un consejo" -#: ../gtk/gtkwidget.c:1093 +#: ../gtk/gtkwidget.c:1081 msgid "Window" msgstr "Ventana" -#: ../gtk/gtkwidget.c:1094 +#: ../gtk/gtkwidget.c:1082 msgid "The widget's window if it is realized" msgstr "La ventana del widget si se realiza" -#: ../gtk/gtkwidget.c:1108 +#: ../gtk/gtkwidget.c:1096 msgid "Double Buffered" msgstr "Búfer doble" -#: ../gtk/gtkwidget.c:1109 +#: ../gtk/gtkwidget.c:1097 msgid "Whether the widget is double buffered" msgstr "Indica si el widget tiene búfer doble" -#: ../gtk/gtkwidget.c:1124 +#: ../gtk/gtkwidget.c:1112 msgid "How to position in extra horizontal space" msgstr "Cómo posicionar en el espacio horizontal adicional" -#: ../gtk/gtkwidget.c:1140 +#: ../gtk/gtkwidget.c:1128 msgid "How to position in extra vertical space" msgstr "Cómo posicionar en el espacio vertical adicional" -#: ../gtk/gtkwidget.c:1159 +#: ../gtk/gtkwidget.c:1147 msgid "Margin on Left" msgstr "Margen a la izquierda" -#: ../gtk/gtkwidget.c:1160 +#: ../gtk/gtkwidget.c:1148 msgid "Pixels of extra space on the left side" msgstr "Píxeles de espacio adicional en la parte izquierda" -#: ../gtk/gtkwidget.c:1180 +#: ../gtk/gtkwidget.c:1168 msgid "Margin on Right" msgstr "Margen a la derecha" -#: ../gtk/gtkwidget.c:1181 +#: ../gtk/gtkwidget.c:1169 msgid "Pixels of extra space on the right side" msgstr "Píxeles de espacio adicional en la parte derecha" -#: ../gtk/gtkwidget.c:1201 +#: ../gtk/gtkwidget.c:1189 msgid "Margin on Top" msgstr "Margen arriba" -#: ../gtk/gtkwidget.c:1202 +#: ../gtk/gtkwidget.c:1190 msgid "Pixels of extra space on the top side" msgstr "Píxeles de espacio adicional en la parte superior" -#: ../gtk/gtkwidget.c:1222 +#: ../gtk/gtkwidget.c:1210 msgid "Margin on Bottom" msgstr "Margen abajo" -#: ../gtk/gtkwidget.c:1223 +#: ../gtk/gtkwidget.c:1211 msgid "Pixels of extra space on the bottom side" msgstr "Píxeles de espacio adicional en la parte inferior" -#: ../gtk/gtkwidget.c:1240 +#: ../gtk/gtkwidget.c:1228 msgid "All Margins" msgstr "Todos los márgenes" -#: ../gtk/gtkwidget.c:1241 +#: ../gtk/gtkwidget.c:1229 msgid "Pixels of extra space on all four sides" msgstr "Píxeles de espacio adicionales en las cuatro partes" -#: ../gtk/gtkwidget.c:1274 +#: ../gtk/gtkwidget.c:1262 msgid "Horizontal Expand" msgstr "Expansión horizontal" -#: ../gtk/gtkwidget.c:1275 +#: ../gtk/gtkwidget.c:1263 msgid "Whether widget wants more horizontal space" msgstr "Indica si el widget quiere usar más espacio horizontal" -#: ../gtk/gtkwidget.c:1289 +#: ../gtk/gtkwidget.c:1277 msgid "Horizontal Expand Set" msgstr "Ajuste de expansión horizontal" -#: ../gtk/gtkwidget.c:1290 +#: ../gtk/gtkwidget.c:1278 msgid "Whether to use the hexpand property" msgstr "Indica si se debe usar la propiedad hexpand" -#: ../gtk/gtkwidget.c:1304 +#: ../gtk/gtkwidget.c:1292 msgid "Vertical Expand" msgstr "Expansión vertial" -#: ../gtk/gtkwidget.c:1305 +#: ../gtk/gtkwidget.c:1293 msgid "Whether widget wants more vertical space" msgstr "Indica si el widget quiere usar más espacio vertical" -#: ../gtk/gtkwidget.c:1319 +#: ../gtk/gtkwidget.c:1307 msgid "Vertical Expand Set" msgstr "Ajuste de expansión vertical" -#: ../gtk/gtkwidget.c:1320 +#: ../gtk/gtkwidget.c:1308 msgid "Whether to use the vexpand property" msgstr "Indica si se debe usar la propiedad vexpand" -#: ../gtk/gtkwidget.c:1334 +#: ../gtk/gtkwidget.c:1322 msgid "Expand Both" msgstr "Expandir en ambas" -#: ../gtk/gtkwidget.c:1335 +#: ../gtk/gtkwidget.c:1323 msgid "Whether widget wants to expand in both directions" msgstr "Indica si el widget quiere expandirse en ambas direcciones" -#: ../gtk/gtkwidget.c:2981 +#: ../gtk/gtkwidget.c:2985 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:2982 +#: ../gtk/gtkwidget.c:2986 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica si se ha de dibujar el indicador del foco dentro de los widgets" -#: ../gtk/gtkwidget.c:2988 +#: ../gtk/gtkwidget.c:2992 msgid "Focus linewidth" msgstr "Dar foco al ancho de línea" -#: ../gtk/gtkwidget.c:2989 +#: ../gtk/gtkwidget.c:2993 msgid "Width, in pixels, of the focus indicator line" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtkwidget.c:2995 +#: ../gtk/gtkwidget.c:2999 msgid "Focus line dash pattern" msgstr "Dar foco a la línea con patrón punteado" -#: ../gtk/gtkwidget.c:2996 +#: ../gtk/gtkwidget.c:3000 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón punteado utilizado para dibujar el indicador de foco" -#: ../gtk/gtkwidget.c:3001 +#: ../gtk/gtkwidget.c:3005 msgid "Focus padding" msgstr "Relleno del foco" -#: ../gtk/gtkwidget.c:3002 +#: ../gtk/gtkwidget.c:3006 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Anchura, en píxeles, entre el indicador de foco y la «caja» del widget" -#: ../gtk/gtkwidget.c:3007 +#: ../gtk/gtkwidget.c:3011 msgid "Cursor color" msgstr "Color del cursor" -#: ../gtk/gtkwidget.c:3008 +#: ../gtk/gtkwidget.c:3012 msgid "Color with which to draw insertion cursor" msgstr "Color con el cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3013 +#: ../gtk/gtkwidget.c:3017 msgid "Secondary cursor color" msgstr "Color secundario del cursor" -#: ../gtk/gtkwidget.c:3014 +#: ../gtk/gtkwidget.c:3018 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7191,43 +7199,43 @@ msgstr "" "Color con el cual dibujar el cursor de inserción secundario cuando se esta " "editando una mezcla de texto de derecha-a-izquierda y izquierda-a-derecha" -#: ../gtk/gtkwidget.c:3019 +#: ../gtk/gtkwidget.c:3023 msgid "Cursor line aspect ratio" msgstr "Proporción de la línea del cursor" -#: ../gtk/gtkwidget.c:3020 +#: ../gtk/gtkwidget.c:3024 msgid "Aspect ratio with which to draw insertion cursor" msgstr "La proporción con la cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3026 +#: ../gtk/gtkwidget.c:3030 msgid "Window dragging" msgstr "Arrastre de ventana" -#: ../gtk/gtkwidget.c:3027 +#: ../gtk/gtkwidget.c:3031 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica si las ventanas se pueden arrastrar pulsando en áreas vacías" -#: ../gtk/gtkwidget.c:3040 +#: ../gtk/gtkwidget.c:3044 msgid "Unvisited Link Color" msgstr "Color del enlace no visitado" -#: ../gtk/gtkwidget.c:3041 +#: ../gtk/gtkwidget.c:3045 msgid "Color of unvisited links" msgstr "Color de los enlaces no visitados" -#: ../gtk/gtkwidget.c:3054 +#: ../gtk/gtkwidget.c:3058 msgid "Visited Link Color" msgstr "Color del enlace visitado" -#: ../gtk/gtkwidget.c:3055 +#: ../gtk/gtkwidget.c:3059 msgid "Color of visited links" msgstr "Color de los enlaces visitados" -#: ../gtk/gtkwidget.c:3069 +#: ../gtk/gtkwidget.c:3073 msgid "Wide Separators" msgstr "Separadores anchos" -#: ../gtk/gtkwidget.c:3070 +#: ../gtk/gtkwidget.c:3074 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7235,81 +7243,81 @@ msgstr "" "Indica si los separadores tienen anchura configurable y deben dibujarse " "usando una caja en lugar de una línea" -#: ../gtk/gtkwidget.c:3084 +#: ../gtk/gtkwidget.c:3088 msgid "Separator Width" msgstr "Anchura del separador" -#: ../gtk/gtkwidget.c:3085 +#: ../gtk/gtkwidget.c:3089 msgid "The width of separators if wide-separators is TRUE" msgstr "La anchura de los separadores si «wide-separators« es TRUE" -#: ../gtk/gtkwidget.c:3099 +#: ../gtk/gtkwidget.c:3103 msgid "Separator Height" msgstr "Altura del separador" -#: ../gtk/gtkwidget.c:3100 +#: ../gtk/gtkwidget.c:3104 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "La altura de los separadores si «wide-separators» es TRUE" -#: ../gtk/gtkwidget.c:3114 +#: ../gtk/gtkwidget.c:3118 msgid "Horizontal Scroll Arrow Length" msgstr "Longitud de la flecha de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3115 +#: ../gtk/gtkwidget.c:3119 msgid "The length of horizontal scroll arrows" msgstr "La longitud de las flechas de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3129 +#: ../gtk/gtkwidget.c:3133 msgid "Vertical Scroll Arrow Length" msgstr "Longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwidget.c:3130 +#: ../gtk/gtkwidget.c:3134 msgid "The length of vertical scroll arrows" msgstr "La longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwindow.c:614 +#: ../gtk/gtkwindow.c:613 msgid "Window Type" msgstr "Tipo de ventana" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:614 msgid "The type of the window" msgstr "El tipo de la ventana" -#: ../gtk/gtkwindow.c:623 +#: ../gtk/gtkwindow.c:622 msgid "Window Title" msgstr "Título de la ventana" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:623 msgid "The title of the window" msgstr "El título de la ventana" -#: ../gtk/gtkwindow.c:631 +#: ../gtk/gtkwindow.c:630 msgid "Window Role" msgstr "Rol de la ventana" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:631 msgid "Unique identifier for the window to be used when restoring a session" msgstr "" "Identificador único para la ventana para usarlo al restaurar una sesión" -#: ../gtk/gtkwindow.c:648 +#: ../gtk/gtkwindow.c:647 msgid "Startup ID" msgstr "ID de inicio" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:648 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador único de inicio para la ventana usado por startup-notification" -#: ../gtk/gtkwindow.c:657 +#: ../gtk/gtkwindow.c:656 msgid "If TRUE, users can resize the window" msgstr "Si es TRUE los usuario pueden redimensionar la ventana" -#: ../gtk/gtkwindow.c:664 +#: ../gtk/gtkwindow.c:663 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:664 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7317,80 +7325,80 @@ msgstr "" "Si es TRUE, esta ventana es modal (no se pueden utilizar otras ventanas " "mientras ésta este encima)" -#: ../gtk/gtkwindow.c:672 +#: ../gtk/gtkwindow.c:671 msgid "Window Position" msgstr "Posición de la ventana" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:672 msgid "The initial position of the window" msgstr "La posición inicial de la ventana" -#: ../gtk/gtkwindow.c:681 +#: ../gtk/gtkwindow.c:680 msgid "Default Width" msgstr "Anchura predeterminada" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:681 msgid "The default width of the window, used when initially showing the window" msgstr "" "El ancho predeterminado de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:691 +#: ../gtk/gtkwindow.c:690 msgid "Default Height" msgstr "Altura predeterminada" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:691 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "La altura predeterminada de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:700 msgid "Destroy with Parent" msgstr "Destruir con el padre" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:701 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Indica si esta ventana debe ser destruida cuando el padre se destruye" -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:709 msgid "Icon for this window" msgstr "Icono para esta ventana" -#: ../gtk/gtkwindow.c:716 +#: ../gtk/gtkwindow.c:715 msgid "Mnemonics Visible" msgstr "Mnemónicos visibles" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:716 msgid "Whether mnemonics are currently visible in this window" msgstr "Indica si los mnemónicos son visibles actualmente en esta ventana" -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:732 msgid "Name of the themed icon for this window" msgstr "Nombre del icono del tema para esta ventana" -#: ../gtk/gtkwindow.c:748 +#: ../gtk/gtkwindow.c:747 msgid "Is Active" msgstr "Está activo" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:748 msgid "Whether the toplevel is the current active window" msgstr "Indica si el nivel superior es la ventana activa actual" -#: ../gtk/gtkwindow.c:756 +#: ../gtk/gtkwindow.c:755 msgid "Focus in Toplevel" msgstr "Foco en el nivel superior" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:756 msgid "Whether the input focus is within this GtkWindow" msgstr "Indica si el foco de entrada esta dentro de este GtkWindow" -#: ../gtk/gtkwindow.c:764 +#: ../gtk/gtkwindow.c:763 msgid "Type hint" msgstr "Pista de tipo" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:764 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7398,118 +7406,126 @@ msgstr "" "Pista para ayudar al entorno de escritorio a entender qué clase de ventana " "es ésta y cómo tratar con ella." -#: ../gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:772 msgid "Skip taskbar" msgstr "Ignorar barra de tareas" -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:773 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE si la ventana no debe estar en la barra de tareas." -#: ../gtk/gtkwindow.c:781 +#: ../gtk/gtkwindow.c:780 msgid "Skip pager" msgstr "Ignorar paginador" -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:781 msgid "TRUE if the window should not be in the pager." msgstr "TRUE si la ventana no debe estar en el paginador." -#: ../gtk/gtkwindow.c:789 +#: ../gtk/gtkwindow.c:788 msgid "Urgent" msgstr "Urgente" -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:789 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE si la ventana debe llamar la atención del usuario." -#: ../gtk/gtkwindow.c:804 +#: ../gtk/gtkwindow.c:803 msgid "Accept focus" msgstr "Aceptar foco" -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:804 msgid "TRUE if the window should receive the input focus." msgstr "TRUE si la ventana no debe recibir el foco de entrada." -#: ../gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:818 msgid "Focus on map" msgstr "Foco en el mapa" -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:819 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE si la ventana debe recibir el foco de entrada al ser mapeada." -#: ../gtk/gtkwindow.c:834 +#: ../gtk/gtkwindow.c:833 msgid "Decorated" msgstr "Decorado" -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:834 msgid "Whether the window should be decorated by the window manager" msgstr "Indica si la ventana debe ser decorada por el gestor de ventanas" -#: ../gtk/gtkwindow.c:849 +#: ../gtk/gtkwindow.c:848 msgid "Deletable" msgstr "Borrable" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:849 msgid "Whether the window frame should have a close button" msgstr "Indica si el marco de la ventana debe tener un botón de cierre" -#: ../gtk/gtkwindow.c:869 +#: ../gtk/gtkwindow.c:868 msgid "Resize grip" msgstr "Redimensionar tirador" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:869 msgid "Specifies whether the window should have a resize grip" msgstr "Especifica si la ventana debe tener un tirador de redimensión" -#: ../gtk/gtkwindow.c:884 +#: ../gtk/gtkwindow.c:883 msgid "Resize grip is visible" msgstr "El tirador de redimensión es visible" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:884 msgid "Specifies whether the window's resize grip is visible." msgstr "Indica si el tirador de redimensión de la ventana es visible." -#: ../gtk/gtkwindow.c:901 +#: ../gtk/gtkwindow.c:900 msgid "Gravity" msgstr "Gravedad" -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:901 msgid "The window gravity of the window" msgstr "La gravedad de la ventana" -#: ../gtk/gtkwindow.c:919 +#: ../gtk/gtkwindow.c:918 msgid "Transient for Window" msgstr "Transitorio para la ventana" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:919 msgid "The transient parent of the dialog" msgstr "El padre transitorio del diálogo" -#: ../gtk/gtkwindow.c:935 +#: ../gtk/gtkwindow.c:934 msgid "Opacity for Window" msgstr "Opacidad para la ventana" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:935 msgid "The opacity of the window, from 0 to 1" msgstr "La opacidad de la ventana, desde 0 hasta 1" -#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 +#: ../gtk/gtkwindow.c:945 ../gtk/gtkwindow.c:946 msgid "Width of resize grip" msgstr "Anchura del tirador de redimensión" -#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 +#: ../gtk/gtkwindow.c:951 ../gtk/gtkwindow.c:952 msgid "Height of resize grip" msgstr "Altura del tirador de redimensión" -#: ../gtk/gtkwindow.c:972 +#: ../gtk/gtkwindow.c:971 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:972 msgid "The GtkApplication for the window" msgstr "El GtkApplication para la ventana" +#~ msgid "Extension events" +#~ msgstr "Eventos de extensión" + +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "La máscara que decide que clase de eventos de extensión conseguirá este " +#~ "widget" + #~ msgid "Lower" #~ msgstr "Inferior" From 5ee3a444152cc45c9fa921079de96e776bf53af3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Dec 2010 00:45:13 -0500 Subject: [PATCH 0572/1463] Remove sealed members from GtkSocket --- gtk/gtkplug.c | 15 +-- gtk/gtksocket-x11.c | 125 +++++++++++----------- gtk/gtksocket.c | 237 +++++++++++++++++++++-------------------- gtk/gtksocket.h | 20 +--- gtk/gtksocketprivate.h | 59 ++++++---- 5 files changed, 233 insertions(+), 223 deletions(-) diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index fc63c8ca52..65326d97f6 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -33,6 +33,7 @@ #include "gtkintl.h" #include "gtkprivate.h" #include "gtkplugprivate.h" +#include "gtksocketprivate.h" #include "gtkwidgetprivate.h" #include "gtkwindowprivate.h" @@ -346,8 +347,8 @@ _gtk_plug_add_to_socket (GtkPlug *plug, gtk_plug_set_is_child (plug, TRUE); priv->same_app = TRUE; - socket_->same_app = TRUE; - socket_->plug_widget = widget; + socket_->priv->same_app = TRUE; + socket_->priv->plug_widget = widget; priv->socket_window = gtk_widget_get_window (GTK_WIDGET (socket_)); g_object_ref (priv->socket_window); @@ -436,14 +437,14 @@ _gtk_plug_remove_from_socket (GtkPlug *plug, gtk_widget_unparent (GTK_WIDGET (plug)); _gtk_widget_set_in_reparent (widget, FALSE); - socket_->plug_widget = NULL; - if (socket_->plug_window != NULL) + socket_->priv->plug_widget = NULL; + if (socket_->priv->plug_window != NULL) { - g_object_unref (socket_->plug_window); - socket_->plug_window = NULL; + g_object_unref (socket_->priv->plug_window); + socket_->priv->plug_window = NULL; } - socket_->same_app = FALSE; + socket_->priv->same_app = FALSE; priv->same_app = FALSE; if (priv->socket_window != NULL) diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c index 83cdc5c28b..692e08345f 100644 --- a/gtk/gtksocket-x11.c +++ b/gtk/gtksocket-x11.c @@ -91,36 +91,37 @@ void _gtk_socket_windowing_end_embedding_toplevel (GtkSocket *socket) { gtk_window_remove_embedded_xid (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (socket))), - GDK_WINDOW_XID (socket->plug_window)); + GDK_WINDOW_XID (socket->priv->plug_window)); } void _gtk_socket_windowing_size_request (GtkSocket *socket) { + GtkSocketPrivate *private = socket->priv; XSizeHints hints; long supplied; gdk_error_trap_push (); - socket->request_width = 1; - socket->request_height = 1; + private->request_width = 1; + private->request_height = 1; - if (XGetWMNormalHints (GDK_WINDOW_XDISPLAY (socket->plug_window), - GDK_WINDOW_XID (socket->plug_window), + if (XGetWMNormalHints (GDK_WINDOW_XDISPLAY (private->plug_window), + GDK_WINDOW_XID (private->plug_window), &hints, &supplied)) { if (hints.flags & PMinSize) { - socket->request_width = MAX (hints.min_width, 1); - socket->request_height = MAX (hints.min_height, 1); + private->request_width = MAX (hints.min_width, 1); + private->request_height = MAX (hints.min_height, 1); } else if (hints.flags & PBaseSize) { - socket->request_width = MAX (hints.base_width, 1); - socket->request_height = MAX (hints.base_height, 1); + private->request_width = MAX (hints.base_width, 1); + private->request_height = MAX (hints.base_height, 1); } } - socket->have_size = TRUE; + private->have_size = TRUE; gdk_error_trap_pop_ignored (); } @@ -131,11 +132,11 @@ _gtk_socket_windowing_send_key_event (GtkSocket *socket, gboolean mask_key_presses) { XKeyEvent xkey; - GdkScreen *screen = gdk_window_get_screen (socket->plug_window); + GdkScreen *screen = gdk_window_get_screen (socket->priv->plug_window); memset (&xkey, 0, sizeof (xkey)); xkey.type = (gdk_event->type == GDK_KEY_PRESS) ? KeyPress : KeyRelease; - xkey.window = GDK_WINDOW_XID (socket->plug_window); + xkey.window = GDK_WINDOW_XID (socket->priv->plug_window); xkey.root = GDK_WINDOW_XID (gdk_screen_get_root_window (screen)); xkey.subwindow = None; xkey.time = gdk_event->key.time; @@ -148,8 +149,8 @@ _gtk_socket_windowing_send_key_event (GtkSocket *socket, xkey.same_screen = True;/* FIXME ? */ gdk_error_trap_push (); - XSendEvent (GDK_WINDOW_XDISPLAY (socket->plug_window), - GDK_WINDOW_XID (socket->plug_window), + XSendEvent (GDK_WINDOW_XDISPLAY (socket->priv->plug_window), + GDK_WINDOW_XID (socket->priv->plug_window), False, (mask_key_presses ? KeyPressMask : NoEventMask), (XEvent *)&xkey); @@ -161,10 +162,10 @@ _gtk_socket_windowing_focus_change (GtkSocket *socket, gboolean focus_in) { if (focus_in) - _gtk_xembed_send_focus_message (socket->plug_window, + _gtk_xembed_send_focus_message (socket->priv->plug_window, XEMBED_FOCUS_IN, XEMBED_FOCUS_CURRENT); else - _gtk_xembed_send_message (socket->plug_window, + _gtk_xembed_send_message (socket->priv->plug_window, XEMBED_FOCUS_OUT, 0, 0, 0); } @@ -172,7 +173,7 @@ void _gtk_socket_windowing_update_active (GtkSocket *socket, gboolean active) { - _gtk_xembed_send_message (socket->plug_window, + _gtk_xembed_send_message (socket->priv->plug_window, active ? XEMBED_WINDOW_ACTIVATE : XEMBED_WINDOW_DEACTIVATE, 0, 0, 0); } @@ -181,7 +182,7 @@ void _gtk_socket_windowing_update_modality (GtkSocket *socket, gboolean modality) { - _gtk_xembed_send_message (socket->plug_window, + _gtk_xembed_send_message (socket->priv->plug_window, modality ? XEMBED_MODALITY_ON : XEMBED_MODALITY_OFF, 0, 0, 0); } @@ -206,7 +207,7 @@ _gtk_socket_windowing_focus (GtkSocket *socket, break; } - _gtk_xembed_send_focus_message (socket->plug_window, XEMBED_FOCUS_IN, detail); + _gtk_xembed_send_focus_message (socket->priv->plug_window, XEMBED_FOCUS_IN, detail); } void @@ -216,20 +217,20 @@ _gtk_socket_windowing_send_configure_event (GtkSocket *socket) XConfigureEvent xconfigure; gint x, y; - g_return_if_fail (socket->plug_window != NULL); + g_return_if_fail (socket->priv->plug_window != NULL); memset (&xconfigure, 0, sizeof (xconfigure)); xconfigure.type = ConfigureNotify; - xconfigure.event = GDK_WINDOW_XID (socket->plug_window); - xconfigure.window = GDK_WINDOW_XID (socket->plug_window); + xconfigure.event = GDK_WINDOW_XID (socket->priv->plug_window); + xconfigure.window = GDK_WINDOW_XID (socket->priv->plug_window); /* The ICCCM says that synthetic events should have root relative * coordinates. We still aren't really ICCCM compliant, since * we don't send events when the real toplevel is moved. */ gdk_error_trap_push (); - gdk_window_get_origin (socket->plug_window, &x, &y); + gdk_window_get_origin (socket->priv->plug_window, &x, &y); gdk_error_trap_pop_ignored (); gtk_widget_get_allocation (GTK_WIDGET(socket), &allocation); @@ -243,8 +244,8 @@ _gtk_socket_windowing_send_configure_event (GtkSocket *socket) xconfigure.override_redirect = False; gdk_error_trap_push (); - XSendEvent (GDK_WINDOW_XDISPLAY (socket->plug_window), - GDK_WINDOW_XID (socket->plug_window), + XSendEvent (GDK_WINDOW_XDISPLAY (socket->priv->plug_window), + GDK_WINDOW_XID (socket->priv->plug_window), False, NoEventMask, (XEvent *)&xconfigure); gdk_error_trap_pop_ignored (); } @@ -253,7 +254,7 @@ void _gtk_socket_windowing_select_plug_window_input (GtkSocket *socket) { XSelectInput (GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (socket))), - GDK_WINDOW_XID (socket->plug_window), + GDK_WINDOW_XID (socket->priv->plug_window), StructureNotifyMask | PropertyChangeMask); } @@ -262,36 +263,38 @@ _gtk_socket_windowing_embed_get_info (GtkSocket *socket) { unsigned long version; unsigned long flags; + GtkSocketPrivate *private = socket->priv; - socket->xembed_version = -1; - if (xembed_get_info (socket->plug_window, &version, &flags)) + private->xembed_version = -1; + if (xembed_get_info (private->plug_window, &version, &flags)) { - socket->xembed_version = MIN (GTK_XEMBED_PROTOCOL_VERSION, version); - socket->is_mapped = (flags & XEMBED_MAPPED) != 0; + private->xembed_version = MIN (GTK_XEMBED_PROTOCOL_VERSION, version); + private->is_mapped = (flags & XEMBED_MAPPED) != 0; } else { /* FIXME, we should probably actually check the state before we started */ - socket->is_mapped = TRUE; + private->is_mapped = TRUE; } } void _gtk_socket_windowing_embed_notify (GtkSocket *socket) { + GtkSocketPrivate *private = socket->priv; #ifdef HAVE_XFIXES GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (socket)); gdk_error_trap_push (); XFixesChangeSaveSet (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XID (socket->plug_window), + GDK_WINDOW_XID (private->plug_window), SetModeInsert, SaveSetRoot, SaveSetUnmap); gdk_error_trap_pop_ignored (); #endif - _gtk_xembed_send_message (socket->plug_window, + _gtk_xembed_send_message (private->plug_window, XEMBED_EMBEDDED_NOTIFY, 0, GDK_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (socket))), - socket->xembed_version); + private->xembed_version); } static gboolean @@ -419,14 +422,16 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, GtkWidget *widget; GdkDisplay *display; XEvent *xevent; + GtkSocketPrivate *private; GdkFilterReturn return_val; - + socket = GTK_SOCKET (data); + private = socket->priv; return_val = GDK_FILTER_CONTINUE; - if (socket->plug_widget) + if (private->plug_widget) return return_val; widget = GTK_WIDGET (socket); @@ -455,11 +460,11 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, { XCreateWindowEvent *xcwe = &xevent->xcreatewindow; - if (!socket->plug_window) + if (!private->plug_window) { _gtk_socket_add_window (socket, xcwe->window, FALSE); - if (socket->plug_window) + if (private->plug_window) { GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - window created")); } @@ -474,19 +479,17 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, { XConfigureRequestEvent *xcre = &xevent->xconfigurerequest; - if (!socket->plug_window) + if (!private->plug_window) _gtk_socket_add_window (socket, xcre->window, FALSE); - if (socket->plug_window) + if (private->plug_window) { - GtkSocketPrivate *private = _gtk_socket_get_private (socket); - if (xcre->value_mask & (CWWidth | CWHeight)) { GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - configure request: %d %d", - socket->request_width, - socket->request_height)); + private->request_width, + private->request_height)); private->resize_count++; gtk_widget_queue_resize (widget); @@ -509,13 +512,13 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, /* Note that we get destroy notifies both from SubstructureNotify on * our window and StructureNotify on socket->plug_window */ - if (socket->plug_window && (xdwe->window == GDK_WINDOW_XID (socket->plug_window))) + if (private->plug_window && (xdwe->window == GDK_WINDOW_XID (private->plug_window))) { gboolean result; GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - destroy notify")); - gdk_window_destroy_notify (socket->plug_window); + gdk_window_destroy_notify (private->plug_window); _gtk_socket_end_embedding (socket); g_object_ref (widget); @@ -540,12 +543,12 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, return_val = GDK_FILTER_REMOVE; break; case MapRequest: - if (!socket->plug_window) + if (!private->plug_window) { _gtk_socket_add_window (socket, xevent->xmaprequest.window, FALSE); } - if (socket->plug_window) + if (private->plug_window) { GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - Map Request")); @@ -554,15 +557,15 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, } break; case PropertyNotify: - if (socket->plug_window && - xevent->xproperty.window == GDK_WINDOW_XID (socket->plug_window)) + if (private->plug_window && + xevent->xproperty.window == GDK_WINDOW_XID (private->plug_window)) { GdkDragProtocol protocol; if (xevent->xproperty.atom == gdk_x11_get_xatom_by_name_for_display (display, "WM_NORMAL_HINTS")) { GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - received PropertyNotify for plug's WM_NORMAL_HINTS")); - socket->have_size = FALSE; + private->have_size = FALSE; gtk_widget_queue_resize (widget); return_val = GDK_FILTER_REMOVE; } @@ -574,7 +577,7 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, xevent->xproperty.window, &protocol)) gtk_drag_dest_set_proxy (GTK_WIDGET (socket), - socket->plug_window, + private->plug_window, protocol, TRUE); gdk_error_trap_pop_ignored (); @@ -584,9 +587,9 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, { unsigned long flags; - if (xembed_get_info (socket->plug_window, NULL, &flags)) + if (xembed_get_info (private->plug_window, NULL, &flags)) { - gboolean was_mapped = socket->is_mapped; + gboolean was_mapped = private->is_mapped; gboolean is_mapped = (flags & XEMBED_MAPPED) != 0; if (was_mapped != is_mapped) @@ -596,7 +599,7 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, else { gdk_error_trap_push (); - gdk_window_show (socket->plug_window); + gdk_window_show (private->plug_window); gdk_error_trap_pop_ignored (); _gtk_socket_unmap_notify (socket); @@ -615,12 +618,12 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, window = gtk_widget_get_window (widget); GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - ReparentNotify received")); - if (!socket->plug_window && + if (!private->plug_window && xre->parent == GDK_WINDOW_XID (window)) { _gtk_socket_add_window (socket, xre->window, FALSE); - if (socket->plug_window) + if (private->plug_window) { GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - window reparented")); } @@ -629,8 +632,8 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, } else { - if (socket->plug_window && - xre->window == GDK_WINDOW_XID (socket->plug_window) && + if (private->plug_window && + xre->window == GDK_WINDOW_XID (private->plug_window) && xre->parent != GDK_WINDOW_XID (window)) { gboolean result; @@ -650,8 +653,8 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, break; } case UnmapNotify: - if (socket->plug_window && - xevent->xunmap.window == GDK_WINDOW_XID (socket->plug_window)) + if (private->plug_window && + xevent->xunmap.window == GDK_WINDOW_XID (private->plug_window)) { GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - Unmap notify")); diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 86d72a1689..c8a8c58337 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -158,29 +158,15 @@ enum { static guint socket_signals[LAST_SIGNAL] = { 0 }; -/* - * _gtk_socket_get_private: - * - * @socket: a #GtkSocket - * - * Returns the private data associated with a GtkSocket, creating it - * first if necessary. - */ -GtkSocketPrivate * -_gtk_socket_get_private (GtkSocket *socket) -{ - return G_TYPE_INSTANCE_GET_PRIVATE (socket, GTK_TYPE_SOCKET, GtkSocketPrivate); -} - G_DEFINE_TYPE (GtkSocket, gtk_socket, GTK_TYPE_CONTAINER) static void gtk_socket_finalize (GObject *object) { GtkSocket *socket = GTK_SOCKET (object); - - g_object_unref (socket->accel_group); - socket->accel_group = NULL; + GtkSocketPrivate *priv = socket->priv; + + g_object_unref (priv->accel_group); G_OBJECT_CLASS (gtk_socket_parent_class)->finalize (object); } @@ -213,7 +199,7 @@ gtk_socket_class_init (GtkSocketClass *class) /* We don't want to show_all the in-process plug, if any. */ widget_class->show_all = gtk_widget_show; - + container_class->remove = gtk_socket_remove; container_class->forall = gtk_socket_forall; @@ -258,20 +244,26 @@ gtk_socket_class_init (GtkSocketClass *class) static void gtk_socket_init (GtkSocket *socket) { - socket->request_width = 0; - socket->request_height = 0; - socket->current_width = 0; - socket->current_height = 0; - - socket->plug_window = NULL; - socket->plug_widget = NULL; - socket->focus_in = FALSE; - socket->have_size = FALSE; - socket->need_map = FALSE; - socket->active = FALSE; + GtkSocketPrivate *priv; - socket->accel_group = gtk_accel_group_new (); - g_object_set_data (G_OBJECT (socket->accel_group), I_("gtk-socket"), socket); + priv = G_TYPE_INSTANCE_GET_PRIVATE (socket, + GTK_TYPE_SOCKET, + GtkSocketPrivate); + socket->priv = priv; + priv->request_width = 0; + priv->request_height = 0; + priv->current_width = 0; + priv->current_height = 0; + + priv->plug_window = NULL; + priv->plug_widget = NULL; + priv->focus_in = FALSE; + priv->have_size = FALSE; + priv->need_map = FALSE; + priv->active = FALSE; + + priv->accel_group = gtk_accel_group_new (); + g_object_set_data (G_OBJECT (priv->accel_group), I_("gtk-socket"), socket); } /** @@ -363,7 +355,7 @@ gtk_socket_get_plug_window (GtkSocket *socket) { g_return_val_if_fail (GTK_IS_SOCKET (socket), NULL); - return socket->plug_window; + return socket->priv->plug_window; } static void @@ -422,33 +414,34 @@ gtk_socket_realize (GtkWidget *widget) void _gtk_socket_end_embedding (GtkSocket *socket) { - GtkSocketPrivate *private = _gtk_socket_get_private (socket); + GtkSocketPrivate *private = socket->priv; GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket)); - + if (GTK_IS_WINDOW (toplevel)) _gtk_socket_windowing_end_embedding_toplevel (socket); - g_object_unref (socket->plug_window); - socket->plug_window = NULL; - socket->current_width = 0; - socket->current_height = 0; + g_object_unref (private->plug_window); + private->plug_window = NULL; + private->current_width = 0; + private->current_height = 0; private->resize_count = 0; - gtk_accel_group_disconnect (socket->accel_group, NULL); + gtk_accel_group_disconnect (private->accel_group, NULL); } static void gtk_socket_unrealize (GtkWidget *widget) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; gtk_widget_set_realized (widget, FALSE); - if (socket->plug_widget) + if (private->plug_widget) { - _gtk_plug_remove_from_socket (GTK_PLUG (socket->plug_widget), socket); + _gtk_plug_remove_from_socket (GTK_PLUG (private->plug_widget), socket); } - else if (socket->plug_window) + else if (private->plug_window) { _gtk_socket_end_embedding (socket); } @@ -462,18 +455,19 @@ gtk_socket_get_preferred_width (GtkWidget *widget, gint *natural) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; - if (socket->plug_widget) + if (private->plug_widget) { - gtk_widget_get_preferred_width (socket->plug_widget, minimum, natural); + gtk_widget_get_preferred_width (private->plug_widget, minimum, natural); } else { - if (socket->is_mapped && !socket->have_size && socket->plug_window) + if (private->is_mapped && !private->have_size && private->plug_window) _gtk_socket_windowing_size_request (socket); - if (socket->is_mapped && socket->have_size) - *minimum = *natural = MAX (socket->request_width, 1); + if (private->is_mapped && private->have_size) + *minimum = *natural = MAX (private->request_width, 1); else *minimum = *natural = 1; } @@ -485,18 +479,19 @@ gtk_socket_get_preferred_height (GtkWidget *widget, gint *natural) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; - if (socket->plug_widget) + if (private->plug_widget) { - gtk_widget_get_preferred_height (socket->plug_widget, minimum, natural); + gtk_widget_get_preferred_height (private->plug_widget, minimum, natural); } else { - if (socket->is_mapped && !socket->have_size && socket->plug_window) + if (private->is_mapped && !private->have_size && private->plug_window) _gtk_socket_windowing_size_request (socket); - if (socket->is_mapped && socket->have_size) - *minimum = *natural = MAX (socket->request_height, 1); + if (private->is_mapped && private->have_size) + *minimum = *natural = MAX (private->request_height, 1); else *minimum = *natural = 1; } @@ -507,6 +502,7 @@ gtk_socket_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; gtk_widget_set_allocation (widget, allocation); if (gtk_widget_get_realized (widget)) @@ -515,7 +511,7 @@ gtk_socket_size_allocate (GtkWidget *widget, allocation->x, allocation->y, allocation->width, allocation->height); - if (socket->plug_widget) + if (private->plug_widget) { GtkAllocation child_allocation; @@ -524,18 +520,16 @@ gtk_socket_size_allocate (GtkWidget *widget, child_allocation.width = allocation->width; child_allocation.height = allocation->height; - gtk_widget_size_allocate (socket->plug_widget, &child_allocation); + gtk_widget_size_allocate (private->plug_widget, &child_allocation); } - else if (socket->plug_window) + else if (private->plug_window) { - GtkSocketPrivate *private = _gtk_socket_get_private (socket); - gdk_error_trap_push (); - - if (allocation->width != socket->current_width || - allocation->height != socket->current_height) + + if (allocation->width != private->current_width || + allocation->height != private->current_height) { - gdk_window_move_resize (socket->plug_window, + gdk_window_move_resize (private->plug_window, 0, 0, allocation->width, allocation->height); if (private->resize_count) @@ -544,14 +538,14 @@ gtk_socket_size_allocate (GtkWidget *widget, GTK_NOTE (PLUGSOCKET, g_message ("GtkSocket - allocated: %d %d", allocation->width, allocation->height)); - socket->current_width = allocation->width; - socket->current_height = allocation->height; + private->current_width = allocation->width; + private->current_height = allocation->height; } - if (socket->need_map) + if (private->need_map) { - gdk_window_show (socket->plug_window); - socket->need_map = FALSE; + gdk_window_show (private->plug_window); + private->need_map = FALSE; } while (private->resize_count) @@ -580,7 +574,7 @@ activate_key (GtkAccelGroup *accel_group, GtkSocket *socket = g_object_get_data (G_OBJECT (accel_group), "gtk-socket"); gboolean retval = FALSE; - if (gdk_event && gdk_event->type == GDK_KEY_PRESS && socket->plug_window) + if (gdk_event && gdk_event->type == GDK_KEY_PRESS && socket->priv->plug_window) { _gtk_socket_windowing_send_key_event (socket, gdk_event, FALSE); retval = TRUE; @@ -626,7 +620,7 @@ _gtk_socket_add_grabbed_key (GtkSocket *socket, grabbed_key->accel_key = keyval; grabbed_key->accel_mods = modifiers; - if (gtk_accel_group_find (socket->accel_group, + if (gtk_accel_group_find (socket->priv->accel_group, find_accel_key, &grabbed_key)) { @@ -638,7 +632,7 @@ _gtk_socket_add_grabbed_key (GtkSocket *socket, closure = g_cclosure_new (G_CALLBACK (activate_key), grabbed_key, (GClosureNotify)g_free); - gtk_accel_group_connect (socket->accel_group, keyval, modifiers, GTK_ACCEL_LOCKED, + gtk_accel_group_connect (socket->priv->accel_group, keyval, modifiers, GTK_ACCEL_LOCKED, closure); } @@ -657,7 +651,7 @@ _gtk_socket_remove_grabbed_key (GtkSocket *socket, guint keyval, GdkModifierType modifiers) { - if (!gtk_accel_group_disconnect_key (socket->accel_group, keyval, modifiers)) + if (!gtk_accel_group_disconnect_key (socket->priv->accel_group, keyval, modifiers)) g_warning ("GtkSocket: request to remove non-present grabbed key %u,%#x\n", keyval, modifiers); } @@ -665,9 +659,10 @@ _gtk_socket_remove_grabbed_key (GtkSocket *socket, static void socket_update_focus_in (GtkSocket *socket) { + GtkSocketPrivate *private = socket->priv; gboolean focus_in = FALSE; - if (socket->plug_window) + if (private->plug_window) { GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket)); @@ -677,9 +672,9 @@ socket_update_focus_in (GtkSocket *socket) focus_in = TRUE; } - if (focus_in != socket->focus_in) + if (focus_in != private->focus_in) { - socket->focus_in = focus_in; + private->focus_in = focus_in; _gtk_socket_windowing_focus_change (socket, focus_in); } @@ -688,9 +683,10 @@ socket_update_focus_in (GtkSocket *socket) static void socket_update_active (GtkSocket *socket) { + GtkSocketPrivate *private = socket->priv; gboolean active = FALSE; - if (socket->plug_window) + if (private->plug_window) { GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket)); @@ -699,9 +695,9 @@ socket_update_active (GtkSocket *socket) active = TRUE; } - if (active != socket->active) + if (active != private->active) { - socket->active = active; + private->active = active; _gtk_socket_windowing_update_active (socket, active); } @@ -712,32 +708,33 @@ gtk_socket_hierarchy_changed (GtkWidget *widget, GtkWidget *old_toplevel) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; GtkWidget *toplevel = gtk_widget_get_toplevel (widget); if (toplevel && !GTK_IS_WINDOW (toplevel)) toplevel = NULL; - if (toplevel != socket->toplevel) + if (toplevel != private->toplevel) { - if (socket->toplevel) + if (private->toplevel) { - gtk_window_remove_accel_group (GTK_WINDOW (socket->toplevel), socket->accel_group); - g_signal_handlers_disconnect_by_func (socket->toplevel, + gtk_window_remove_accel_group (GTK_WINDOW (private->toplevel), private->accel_group); + g_signal_handlers_disconnect_by_func (private->toplevel, socket_update_focus_in, socket); - g_signal_handlers_disconnect_by_func (socket->toplevel, + g_signal_handlers_disconnect_by_func (private->toplevel, socket_update_active, socket); } - socket->toplevel = toplevel; + private->toplevel = toplevel; if (toplevel) { - gtk_window_add_accel_group (GTK_WINDOW (socket->toplevel), socket->accel_group); - g_signal_connect_swapped (socket->toplevel, "notify::has-toplevel-focus", + gtk_window_add_accel_group (GTK_WINDOW (private->toplevel), private->accel_group); + g_signal_connect_swapped (private->toplevel, "notify::has-toplevel-focus", G_CALLBACK (socket_update_focus_in), socket); - g_signal_connect_swapped (socket->toplevel, "notify::is-active", + g_signal_connect_swapped (private->toplevel, "notify::is-active", G_CALLBACK (socket_update_active), socket); } @@ -752,7 +749,7 @@ gtk_socket_grab_notify (GtkWidget *widget, { GtkSocket *socket = GTK_SOCKET (widget); - if (!socket->same_app) + if (!socket->priv->same_app) _gtk_socket_windowing_update_modality (socket, !was_grabbed); } @@ -761,8 +758,9 @@ gtk_socket_key_event (GtkWidget *widget, GdkEventKey *event) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; - if (gtk_widget_has_focus (widget) && socket->plug_window && !socket->plug_widget) + if (gtk_widget_has_focus (widget) && private->plug_window && !private->plug_widget) { _gtk_socket_windowing_send_key_event (socket, (GdkEvent *) event, FALSE); @@ -794,9 +792,10 @@ _gtk_socket_claim_focus (GtkSocket *socket, gboolean send_event) { GtkWidget *widget = GTK_WIDGET (socket); + GtkSocketPrivate *private = socket->priv; if (!send_event) - socket->focus_in = TRUE; /* Otherwise, our notify handler will send FOCUS_IN */ + private->focus_in = TRUE; /* Otherwise, our notify handler will send FOCUS_IN */ /* Oh, the trickery... */ @@ -810,9 +809,10 @@ gtk_socket_focus (GtkWidget *widget, GtkDirectionType direction) { GtkSocket *socket = GTK_SOCKET (widget); + GtkSocketPrivate *private = socket->priv; - if (socket->plug_widget) - return gtk_widget_child_focus (socket->plug_widget, direction); + if (private->plug_widget) + return gtk_widget_child_focus (private->plug_widget, direction); if (!gtk_widget_is_focus (widget)) { @@ -830,10 +830,11 @@ gtk_socket_remove (GtkContainer *container, GtkWidget *child) { GtkSocket *socket = GTK_SOCKET (container); + GtkSocketPrivate *private = socket->priv; - g_return_if_fail (child == socket->plug_widget); + g_return_if_fail (child == private->plug_widget); - _gtk_plug_remove_from_socket (GTK_PLUG (socket->plug_widget), socket); + _gtk_plug_remove_from_socket (GTK_PLUG (private->plug_widget), socket); } static void @@ -843,9 +844,10 @@ gtk_socket_forall (GtkContainer *container, gpointer callback_data) { GtkSocket *socket = GTK_SOCKET (container); + GtkSocketPrivate *private = socket->priv; - if (socket->plug_widget) - (* callback) (socket->plug_widget, callback_data); + if (private->plug_widget) + (* callback) (private->plug_widget, callback_data); } /** @@ -866,13 +868,14 @@ _gtk_socket_add_window (GtkSocket *socket, GtkWidget *widget = GTK_WIDGET (socket); GdkDisplay *display = gtk_widget_get_display (widget); gpointer user_data = NULL; + GtkSocketPrivate *private = socket->priv; - socket->plug_window = gdk_window_lookup_for_display (display, xid); + private->plug_window = gdk_window_lookup_for_display (display, xid); - if (socket->plug_window) + if (private->plug_window) { - g_object_ref (socket->plug_window); - gdk_window_get_user_data (socket->plug_window, &user_data); + g_object_ref (private->plug_window); + gdk_window_get_user_data (private->plug_window, &user_data); } if (user_data) /* A widget's window in this process */ @@ -882,7 +885,7 @@ _gtk_socket_add_window (GtkSocket *socket, if (!GTK_IS_PLUG (child_widget)) { g_warning (G_STRLOC ": Can't add non-GtkPlug to GtkSocket"); - socket->plug_window = NULL; + private->plug_window = NULL; gdk_error_trap_pop_ignored (); return; @@ -897,10 +900,10 @@ _gtk_socket_add_window (GtkSocket *socket, gdk_error_trap_push (); - if (!socket->plug_window) + if (!private->plug_window) { - socket->plug_window = gdk_window_foreign_new_for_display (display, xid); - if (!socket->plug_window) /* was deleted before we could get it */ + private->plug_window = gdk_window_foreign_new_for_display (display, xid); + if (!private->plug_window) /* was deleted before we could get it */ { gdk_error_trap_pop_ignored (); return; @@ -911,8 +914,8 @@ _gtk_socket_add_window (GtkSocket *socket, if (gdk_error_trap_pop ()) { - g_object_unref (socket->plug_window); - socket->plug_window = NULL; + g_object_unref (private->plug_window); + private->plug_window = NULL; return; } @@ -922,25 +925,25 @@ _gtk_socket_add_window (GtkSocket *socket, if (need_reparent) { - gdk_window_hide (socket->plug_window); /* Shouldn't actually be necessary for XEMBED, but just in case */ - gdk_window_reparent (socket->plug_window, + gdk_window_hide (private->plug_window); /* Shouldn't actually be necessary for XEMBED, but just in case */ + gdk_window_reparent (private->plug_window, gtk_widget_get_window (widget), 0, 0); } - socket->have_size = FALSE; + private->have_size = FALSE; _gtk_socket_windowing_embed_get_info (socket); - socket->need_map = socket->is_mapped; + private->need_map = private->is_mapped; if (gdk_drag_get_protocol_for_display (display, xid, &protocol)) - gtk_drag_dest_set_proxy (GTK_WIDGET (socket), socket->plug_window, + gtk_drag_dest_set_proxy (GTK_WIDGET (socket), private->plug_window, protocol, TRUE); gdk_error_trap_pop_ignored (); - gdk_window_add_filter (socket->plug_window, + gdk_window_add_filter (private->plug_window, _gtk_socket_windowing_filter_func, socket); @@ -958,7 +961,7 @@ _gtk_socket_add_window (GtkSocket *socket, gtk_widget_queue_resize (GTK_WIDGET (socket)); } - if (socket->plug_window) + if (private->plug_window) g_signal_emit (socket, socket_signals[PLUG_ADDED], 0); } @@ -972,10 +975,11 @@ _gtk_socket_add_window (GtkSocket *socket, void _gtk_socket_handle_map_request (GtkSocket *socket) { - if (!socket->is_mapped) + GtkSocketPrivate *private = socket->priv; + if (!private->is_mapped) { - socket->is_mapped = TRUE; - socket->need_map = TRUE; + private->is_mapped = TRUE; + private->need_map = TRUE; gtk_widget_queue_resize (GTK_WIDGET (socket)); } @@ -991,9 +995,10 @@ _gtk_socket_handle_map_request (GtkSocket *socket) void _gtk_socket_unmap_notify (GtkSocket *socket) { - if (socket->is_mapped) + GtkSocketPrivate *private = socket->priv; + if (private->is_mapped) { - socket->is_mapped = FALSE; + private->is_mapped = FALSE; gtk_widget_queue_resize (GTK_WIDGET (socket)); } } diff --git a/gtk/gtksocket.h b/gtk/gtksocket.h index e3cd3a36ce..139d6a247f 100644 --- a/gtk/gtksocket.h +++ b/gtk/gtksocket.h @@ -44,29 +44,13 @@ G_BEGIN_DECLS typedef struct _GtkSocket GtkSocket; typedef struct _GtkSocketClass GtkSocketClass; +typedef struct _GtkSocketPrivate GtkSocketPrivate; struct _GtkSocket { GtkContainer container; - guint16 GSEAL (request_width); - guint16 GSEAL (request_height); - guint16 GSEAL (current_width); - guint16 GSEAL (current_height); - - GdkWindow *GSEAL (plug_window); - GtkWidget *GSEAL (plug_widget); - - gshort GSEAL (xembed_version); /* -1 == not xembed */ - guint GSEAL (same_app) : 1; - guint GSEAL (focus_in) : 1; - guint GSEAL (have_size) : 1; - guint GSEAL (need_map) : 1; - guint GSEAL (is_mapped) : 1; - guint GSEAL (active) : 1; - - GtkAccelGroup *GSEAL (accel_group); - GtkWidget *GSEAL (toplevel); + GtkSocketPrivate *priv; }; struct _GtkSocketClass diff --git a/gtk/gtksocketprivate.h b/gtk/gtksocketprivate.h index 44a6c6b36e..282634a24e 100644 --- a/gtk/gtksocketprivate.h +++ b/gtk/gtksocketprivate.h @@ -26,33 +26,50 @@ #ifndef __GTK_SOCKET_PRIVATE_H__ #define __GTK_SOCKET_PRIVATE_H__ -typedef struct _GtkSocketPrivate GtkSocketPrivate; +#include "gtksocket.h" struct _GtkSocketPrivate { gint resize_count; + + guint16 request_width; + guint16 request_height; + guint16 current_width; + guint16 current_height; + + GdkWindow *plug_window; + GtkWidget *plug_widget; + + gshort xembed_version; /* -1 == not xembed */ + guint same_app : 1; + guint focus_in : 1; + guint have_size : 1; + guint need_map : 1; + guint is_mapped : 1; + guint active : 1; + + GtkAccelGroup *GSEAL (accel_group); + GtkWidget *GSEAL (toplevel); }; /* In gtksocket.c: */ -GtkSocketPrivate *_gtk_socket_get_private (GtkSocket *socket); - void _gtk_socket_add_grabbed_key (GtkSocket *socket, - guint keyval, - GdkModifierType modifiers); + guint keyval, + GdkModifierType modifiers); void _gtk_socket_remove_grabbed_key (GtkSocket *socket, - guint keyval, - GdkModifierType modifiers); -void _gtk_socket_claim_focus (GtkSocket *socket, - gboolean send_event); -void _gtk_socket_add_window (GtkSocket *socket, - GdkNativeWindow xid, - gboolean need_reparent); + guint keyval, + GdkModifierType modifiers); +void _gtk_socket_claim_focus (GtkSocket *socket, + gboolean send_event); +void _gtk_socket_add_window (GtkSocket *socket, + GdkNativeWindow xid, + gboolean need_reparent); void _gtk_socket_end_embedding (GtkSocket *socket); void _gtk_socket_handle_map_request (GtkSocket *socket); void _gtk_socket_unmap_notify (GtkSocket *socket); void _gtk_socket_advance_toplevel_focus (GtkSocket *socket, - GtkDirectionType direction); + GtkDirectionType direction); /* In backend-specific file: */ @@ -88,36 +105,36 @@ void _gtk_socket_windowing_size_request (GtkSocket *socket); * */ void _gtk_socket_windowing_send_key_event (GtkSocket *socket, - GdkEvent *gdk_event, - gboolean mask_key_presses); + GdkEvent *gdk_event, + gboolean mask_key_presses); /* * _gtk_socket_windowing_focus_change: * */ void _gtk_socket_windowing_focus_change (GtkSocket *socket, - gboolean focus_in); + gboolean focus_in); /* * _gtk_socket_windowing_update_active: * */ void _gtk_socket_windowing_update_active (GtkSocket *socket, - gboolean active); + gboolean active); /* * _gtk_socket_windowing_update_modality: * */ void _gtk_socket_windowing_update_modality (GtkSocket *socket, - gboolean modality); + gboolean modality); /* * _gtk_socket_windowing_focus: * */ void _gtk_socket_windowing_focus (GtkSocket *socket, - GtkDirectionType direction); + GtkDirectionType direction); /* * _gtk_socket_windowing_send_configure_event: @@ -165,7 +182,7 @@ void _gtk_socket_windowing_embed_set_focus_wrapped (void); * */ GdkFilterReturn _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); #endif /* __GTK_SOCKET_PRIVATE_H__ */ From eb11430228e7e891a265ec98636af93741d0ee9e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Dec 2010 17:32:58 -0500 Subject: [PATCH 0573/1463] Fix gdk symbols after recent changes --- gdk/gdk.symbols | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index f9a2f4dfd0..f3e72b76ae 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -65,6 +65,7 @@ gdk_device_get_type G_GNUC_CONST gdk_device_grab gdk_device_grab_info_libgtk_only gdk_device_list_axes +gdk_device_list_slave_devices gdk_device_manager_core_get_type gdk_device_manager_get_client_pointer gdk_device_manager_get_display @@ -101,6 +102,7 @@ gdk_display_get_window_at_device_position gdk_display_get_window_at_pointer gdk_display_is_closed gdk_display_keyboard_ungrab +gdk_display_list_devices gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_get_type G_GNUC_CONST @@ -165,6 +167,7 @@ gdk_event_get_coords gdk_event_get_device gdk_event_get_root_coords gdk_event_get_screen +gdk_event_get_source_device gdk_event_get_state gdk_event_get_time gdk_event_get_type G_GNUC_CONST @@ -179,6 +182,7 @@ gdk_event_send_client_message_for_display gdk_event_send_clientmessage_toall gdk_event_set_device gdk_event_set_screen +gdk_event_set_source_device gdk_events_get_angle gdk_events_get_center gdk_events_get_distance From 5863382e114e0851ea6ebc77bbbfd5c7236f6b5e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Dec 2010 17:35:06 -0500 Subject: [PATCH 0574/1463] Don't use GtkSocket internals in gail --- modules/other/gail/gail.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/other/gail/gail.c b/modules/other/gail/gail.c index 07a619d2ce..7094d9fe31 100644 --- a/modules/other/gail/gail.c +++ b/modules/other/gail/gail.c @@ -308,7 +308,7 @@ gail_focus_watcher (GSignalInvocationHint *ihint, * plug will report a focus notification. */ if (GTK_IS_SOCKET (widget) && - GTK_SOCKET (widget)->plug_widget == NULL) + gtk_socket_get_plug_window (GTK_SOCKET (widget)) != NULL) return TRUE; /* * The widget may not yet be visible on the screen so we wait until it is. From 81051253691f340bff77241e3006ce7481b54611 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Dec 2010 17:45:31 -0500 Subject: [PATCH 0575/1463] Remove sealed members from GtkPrintJob Also add accessors for these members, and use them in print backends. --- docs/reference/gtk/gtk3-sections.txt | 20 + gtk/gtk.symbols | 20 + gtk/gtkprintjob.c | 386 ++++++++++++++++-- gtk/gtkprintjob.h | 50 ++- gtk/gtkprintoperation-unix.c | 22 +- .../printbackends/cups/gtkprintbackendcups.c | 39 +- .../printbackends/file/gtkprintbackendfile.c | 40 +- .../printbackends/lpr/gtkprintbackendlpr.c | 40 +- 8 files changed, 514 insertions(+), 103 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 924ba5b45b..41dbae93ee 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -6668,6 +6668,26 @@ gtk_print_job_get_surface gtk_print_job_send gtk_print_job_set_track_print_status gtk_print_job_get_track_print_status +gtk_print_job_get_pages +gtk_print_job_set_pages +gtk_print_job_get_page_ranges +gtk_print_job_set_page_ranges +gtk_print_job_get_page_set +gtk_print_job_set_page_set +gtk_print_job_get_num_copies +gtk_print_job_set_num_copies +gtk_print_job_get_scale +gtk_print_job_set_scale +gtk_print_job_get_n_up +gtk_print_job_set_n_up +gtk_print_job_get_n_up_layout +gtk_print_job_set_n_up_layout +gtk_print_job_get_rotate +gtk_print_job_set_rotate +gtk_print_job_get_collate +gtk_print_job_set_collate +gtk_print_job_get_reverse +gtk_print_job_set_reverse GTK_TYPE_PRINT_JOB diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index d93271540e..c4080b07e3 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1776,7 +1776,17 @@ gtk_printer_set_is_paused gtk_printer_set_job_count gtk_printer_set_location gtk_printer_set_state_message +gtk_print_job_get_collate +gtk_print_job_get_n_up +gtk_print_job_get_n_up_layout +gtk_print_job_get_num_copies +gtk_print_job_get_pages +gtk_print_job_get_page_ranges +gtk_print_job_get_page_set gtk_print_job_get_printer +gtk_print_job_get_reverse +gtk_print_job_get_rotate +gtk_print_job_get_scale gtk_print_job_get_settings gtk_print_job_get_status gtk_print_job_get_surface @@ -1785,6 +1795,16 @@ gtk_print_job_get_track_print_status gtk_print_job_get_type G_GNUC_CONST gtk_print_job_new gtk_print_job_send +gtk_print_job_set_collate +gtk_print_job_set_n_up +gtk_print_job_set_n_up_layout +gtk_print_job_set_num_copies +gtk_print_job_set_pages +gtk_print_job_set_page_ranges +gtk_print_job_set_page_set +gtk_print_job_set_reverse +gtk_print_job_set_rotate +gtk_print_job_set_scale gtk_print_job_set_source_file gtk_print_job_set_status gtk_print_job_set_track_print_status diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c index 7dc890b0b4..d96af1ed48 100644 --- a/gtk/gtkprintjob.c +++ b/gtk/gtkprintjob.c @@ -50,17 +50,28 @@ struct _GtkPrintJobPrivate cairo_surface_t *surface; GtkPrintStatus status; - GtkPrintBackend *backend; + GtkPrintBackend *backend; GtkPrinter *printer; GtkPrintSettings *settings; GtkPageSetup *page_setup; - guint printer_set : 1; - guint page_setup_set : 1; - guint settings_set : 1; - guint track_print_status : 1; -}; + GtkPrintPages print_pages; + GtkPageRange *page_ranges; + gint num_page_ranges; + GtkPageSet page_set; + gint num_copies; + gdouble scale; + guint number_up; + GtkNumberUpLayout number_up_layout; + guint printer_set : 1; + guint page_setup_set : 1; + guint settings_set : 1; + guint track_print_status : 1; + guint rotate_to_orientation : 1; + guint collate : 1; + guint reverse : 1; +}; #define GTK_PRINT_JOB_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), GTK_TYPE_PRINT_JOB, GtkPrintJobPrivate)) @@ -180,7 +191,7 @@ gtk_print_job_init (GtkPrintJob *job) { GtkPrintJobPrivate *priv; - priv = job->priv = GTK_PRINT_JOB_GET_PRIVATE (job); + priv = job->priv = GTK_PRINT_JOB_GET_PRIVATE (job); priv->spool_io = NULL; @@ -194,18 +205,18 @@ gtk_print_job_init (GtkPrintJob *job) priv->page_setup_set = FALSE; priv->status = GTK_PRINT_STATUS_INITIAL; priv->track_print_status = FALSE; - - job->print_pages = GTK_PRINT_PAGES_ALL; - job->page_ranges = NULL; - job->num_page_ranges = 0; - job->collate = FALSE; - job->reverse = FALSE; - job->num_copies = 1; - job->scale = 1.0; - job->page_set = GTK_PAGE_SET_ALL; - job->rotate_to_orientation = FALSE; - job->number_up = 1; - job->number_up_layout = GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM; + + priv->print_pages = GTK_PRINT_PAGES_ALL; + priv->page_ranges = NULL; + priv->num_page_ranges = 0; + priv->collate = FALSE; + priv->reverse = FALSE; + priv->num_copies = 1; + priv->scale = 1.0; + priv->page_set = GTK_PAGE_SET_ALL; + priv->rotate_to_orientation = FALSE; + priv->number_up = 1; + priv->number_up_layout = GTK_NUMBER_UP_LAYOUT_LEFT_TO_RIGHT_TOP_TO_BOTTOM; } @@ -250,7 +261,7 @@ gtk_print_job_finalize (GObject *object) g_io_channel_unref (priv->spool_io); priv->spool_io = NULL; } - + if (priv->backend) g_object_unref (priv->backend); @@ -262,13 +273,13 @@ gtk_print_job_finalize (GObject *object) if (priv->settings) g_object_unref (priv->settings); - + if (priv->page_setup) g_object_unref (priv->page_setup); - g_free (job->page_ranges); - job->page_ranges = NULL; - + g_free (priv->page_ranges); + priv->page_ranges = NULL; + g_free (priv->title); priv->title = NULL; @@ -683,3 +694,330 @@ gtk_print_job_send (GtkPrintJob *job, priv->spool_io, callback, user_data, dnotify); } + +/** + * gtk_print_job_get_pages: + * @job: a #GtkPrintJob + * + * Gets the #GtkPrintPages setting for this job. + * + * Returns: the #GtkPrintPages setting + * + * Since: 3.0 + */ +GtkPrintPages +gtk_print_job_get_pages (GtkPrintJob *job) +{ + return job->priv->print_pages; +} + +/** + * gtk_print_job_set_pages: + * @job: a #GtkPrintJob + * @pages: the #GtkPrintPages setting + * + * Sets the #GtkPrintPages setting for this job. + * + * Since: 3.0 + */ +void +gtk_print_job_set_pages (GtkPrintJob *job, + GtkPrintPages pages) +{ + job->priv->print_pages = pages; +} + +/** + * gtk_print_job_get_page_ranges: + * @job: a #GtkPrintJob + * @n_ranges: (out): return location for the number of ranges + * + * Gets the page ranges for this job. + * + * Returns: a pointer to an array of #GtkPageRange structs + * + * Since: 3.0 + */ +GtkPageRange * +gtk_print_job_get_page_ranges (GtkPrintJob *job, + gint *n_ranges) +{ + *n_ranges = job->priv->num_page_ranges; + return job->priv->page_ranges; +} + +/** + * gtk_print_job_set_page_ranges: + * @job: a #GtkPrintJob + * @ranges: pointer to an array of #GtkPageRange structs + * @n_ranges: the length of the @ranges array + * + * Sets the page ranges for this job. + * + * Since: 3.0 + */ +void +gtk_print_job_set_page_ranges (GtkPrintJob *job, + GtkPageRange *ranges, + gint n_ranges) +{ + job->priv->page_ranges = ranges; + job->priv->num_page_ranges = n_ranges; +} + +/** + * gtk_print_job_get_page_set: + * @job: a #GtkPrintJob + * + * Gets the #GtkPageSet setting for this job. + * + * Returns: the #GtkPageSet setting + * + * Since: 3.0 + */ +GtkPageSet +gtk_print_job_get_page_set (GtkPrintJob *job) +{ + return job->priv->page_set; +} + +/** + * gtk_print_job_set_page_set: + * @job: a #GtkPrintJob + * @page_set: a #GtkPageSet setting + * + * Sets the #GtkPageSet setting for this job. + * + * Since: 3.0 + */ +void +gtk_print_job_set_page_set (GtkPrintJob *job, + GtkPageSet page_set) +{ + job->priv->page_set = page_set; +} + +/** + * gtk_print_job_get_num_copies: + * @job: a #GtkPrintJob + * + * Gets the number of copies of this job. + * + * Returns: the number of copies + * + * Since: 3.0 + */ +gint +gtk_print_job_get_num_copies (GtkPrintJob *job) +{ + return job->priv->num_copies; +} + +/** + * gtk_print_job_set_num_copies: + * @job: a #GtkPrintJob + * @num_copies: the number of copies + * + * Sets the number of copies for this job. + * + * Since: 3.0 + */ +void +gtk_print_job_set_num_copies (GtkPrintJob *job, + gint num_copies) +{ + job->priv->num_copies = num_copies; +} + +/** + * gtk_print_job_get_scale: + * @job: a #GtkPrintJob + * + * Gets the scale for this job (where 1.0 means unscaled). + * + * Returns: the scale + * + * Since: 3.0 + */ +gdouble +gtk_print_job_get_scale (GtkPrintJob *job) + +{ + return job->priv->scale; +} + +/** + * gtk_print_job_set_scale: + * @job: a #GtkPrintJob + * @scale: the scale + * + * Sets the scale for this job (where 1.0 means unscaled). + * + * Since: 3.0 + */ +void +gtk_print_job_set_scale (GtkPrintJob *job, + gdouble scale) +{ + job->priv->scale = scale; +} + +/** + * gtk_print_job_get_n_up: + * @job: a #GtkPrintJob + * + * Gets the n-up setting for this job. + * + * Returns: the n-up setting + * + * Since: 3.0 + */ +guint +gtk_print_job_get_n_up (GtkPrintJob *job) +{ + return job->priv->number_up; +} + +/** + * gtk_print_job_set_n_up: + * @job: a #GtkPrintJob + * @n_up: the n-up value + * + * Sets the n-up setting for this job. + * + * Since: 3.0 + */ +void +gtk_print_job_set_n_up (GtkPrintJob *job, + guint n_up) +{ + job->priv->number_up = n_up; +} + +/** + * gtk_print_job_get_n_up_layout: + * @job: a #GtkPrintJob + * + * Gets the n-up layout setting for this job. + * + * Returns: the n-up layout + * + * Since: 3.0 + */ +GtkNumberUpLayout +gtk_print_job_get_n_up_layout (GtkPrintJob *job) +{ + return job->priv->number_up_layout; +} + +/** + * gtk_print_job_set_n_up_layout: + * @job: a #GtkPrintJob + * @layout: the n-up layout setting + * + * Sets the n-up layout setting for this job. + * + * Since: 3.0 + */ +void +gtk_print_job_set_n_up_layout (GtkPrintJob *job, + GtkNumberUpLayout layout) +{ + job->priv->number_up_layout = layout; +} + +/** + * gtk_print_job_get_rotate: + * @job: a #GtkPrintJob + * + * Gets whether the job is printed rotated. + * + * Returns: whether the job is printed rotated + * + * Since: 3.0 + */ +gboolean +gtk_print_job_get_rotate (GtkPrintJob *job) +{ + return job->priv->rotate_to_orientation; +} + +/** + * gtk_print_job_set_rotate: + * @job: a #GtkPrintJob + * @rotate: whether to print rotated + * + * Sets whether this job is printed rotated. + * + * Since: 3.0 + */ +void +gtk_print_job_set_rotate (GtkPrintJob *job, + gboolean rotate) +{ + job->priv->rotate_to_orientation = rotate; +} + +/** + * gtk_print_job_get_collate: + * @job: a #GtkPrintJob + * + * Gets whether this job is printed collated. + * + * Returns: whether the job is printed collated + * + * Since: 3.0 + */ +gboolean +gtk_print_job_get_collate (GtkPrintJob *job) +{ + return job->priv->collate; +} + +/** + * gtk_print_job_set_collated: + * @job: a #GtkPrintJob + * @collate: whether the job is printed collated + * + * Sets whether this job is printed collated. + * + * Since: 3.0 + */ +void +gtk_print_job_set_collate (GtkPrintJob *job, + gboolean collate) +{ + job->priv->collate = collate; +} + +/** + * gtk_print_job_get_reverse: + * @job: a #GtkPrintJob + * + * Gets whether this job is printed reversed. + * + * Returns: whether the job is printed reversed. + * + * Since: 3.0 + */ +gboolean +gtk_print_job_get_reverse (GtkPrintJob *job) +{ + return job->priv->reverse; +} + +/** + * gtk_print_job_set_reverse: + * @job: a #GtkPrintJob + * @reverse: whether the job is printed reversed + * + * Sets whether this job is printed reversed. + * + * Since: 3.0 + */ +void +gtk_print_job_set_reverse (GtkPrintJob *job, + gboolean reverse) +{ + job->priv->reverse = reverse; +} diff --git a/gtk/gtkprintjob.h b/gtk/gtkprintjob.h index 4f3c76181c..89668a5c7e 100644 --- a/gtk/gtkprintjob.h +++ b/gtk/gtkprintjob.h @@ -52,22 +52,7 @@ struct _GtkPrintJob { GObject parent_instance; - GtkPrintJobPrivate *GSEAL (priv); - - /* Settings the client has to implement: - * (These are read-only, set at initialization) - */ - GtkPrintPages GSEAL (print_pages); - GtkPageRange *GSEAL (page_ranges); - gint GSEAL (num_page_ranges); - GtkPageSet GSEAL (page_set); - gint GSEAL (num_copies); - gdouble GSEAL (scale); - guint GSEAL (rotate_to_orientation) : 1; - guint GSEAL (collate) : 1; - guint GSEAL (reverse) : 1; - guint GSEAL (number_up); - GtkNumberUpLayout GSEAL (number_up_layout); + GtkPrintJobPrivate *priv; }; struct _GtkPrintJobClass @@ -105,6 +90,39 @@ void gtk_print_job_send (GtkPrintJob gpointer user_data, GDestroyNotify dnotify); +GtkPrintPages gtk_print_job_get_pages (GtkPrintJob *job); +void gtk_print_job_set_pages (GtkPrintJob *job, + GtkPrintPages pages); +GtkPageRange * gtk_print_job_get_page_ranges (GtkPrintJob *job, + gint *n_ranges); +void gtk_print_job_set_page_ranges (GtkPrintJob *job, + GtkPageRange *ranges, + gint n_ranges); +GtkPageSet gtk_print_job_get_page_set (GtkPrintJob *job); +void gtk_print_job_set_page_set (GtkPrintJob *job, + GtkPageSet page_set); +gint gtk_print_job_get_num_copies (GtkPrintJob *job); +void gtk_print_job_set_num_copies (GtkPrintJob *job, + gint num_copies); +gdouble gtk_print_job_get_scale (GtkPrintJob *job); +void gtk_print_job_set_scale (GtkPrintJob *job, + gdouble scale); +guint gtk_print_job_get_n_up (GtkPrintJob *job); +void gtk_print_job_set_n_up (GtkPrintJob *job, + guint n_up); +GtkNumberUpLayout gtk_print_job_get_n_up_layout (GtkPrintJob *job); +void gtk_print_job_set_n_up_layout (GtkPrintJob *job, + GtkNumberUpLayout layout); +gboolean gtk_print_job_get_rotate (GtkPrintJob *job); +void gtk_print_job_set_rotate (GtkPrintJob *job, + gboolean rotate); +gboolean gtk_print_job_get_collate (GtkPrintJob *job); +void gtk_print_job_set_collate (GtkPrintJob *job, + gboolean collate); +gboolean gtk_print_job_get_reverse (GtkPrintJob *job); +void gtk_print_job_set_reverse (GtkPrintJob *job, + gboolean reverse); + G_END_DECLS #endif /* __GTK_PRINT_JOB_H__ */ diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c index d43db01e51..5eb770ec3c 100644 --- a/gtk/gtkprintoperation-unix.c +++ b/gtk/gtkprintoperation-unix.c @@ -577,18 +577,16 @@ finish_print (PrintResponseData *rdata, g_signal_connect (job, "status-changed", G_CALLBACK (job_status_changed_cb), op); - priv->print_pages = job->print_pages; - priv->page_ranges = job->page_ranges; - priv->num_page_ranges = job->num_page_ranges; - - priv->manual_num_copies = job->num_copies; - priv->manual_collation = job->collate; - priv->manual_reverse = job->reverse; - priv->manual_page_set = job->page_set; - priv->manual_scale = job->scale; - priv->manual_orientation = job->rotate_to_orientation; - priv->manual_number_up = job->number_up; - priv->manual_number_up_layout = job->number_up_layout; + priv->print_pages = gtk_print_job_get_pages (job); + priv->page_ranges = gtk_print_job_get_page_ranges (job, &priv->num_page_ranges); + priv->manual_num_copies = gtk_print_job_get_num_copies (job); + priv->manual_collation = gtk_print_job_get_collate (job); + priv->manual_reverse = gtk_print_job_get_reverse (job); + priv->manual_page_set = gtk_print_job_get_page_set (job); + priv->manual_scale = gtk_print_job_get_scale (job); + priv->manual_orientation = gtk_print_job_get_rotate (job); + priv->manual_number_up = gtk_print_job_get_n_up (job); + priv->manual_number_up_layout = gtk_print_job_get_n_up_layout (job); } } out: diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index 1b83e32e61..e190a7a498 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -4366,44 +4366,49 @@ cups_printer_prepare_for_print (GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup) { + GtkPrintPages pages; + GtkPageRange *ranges; + gint n_ranges; GtkPageSet page_set; GtkPaperSize *paper_size; const char *ppd_paper_name; double scale; - print_job->print_pages = gtk_print_settings_get_print_pages (settings); - print_job->page_ranges = NULL; - print_job->num_page_ranges = 0; - - if (print_job->print_pages == GTK_PRINT_PAGES_RANGES) - print_job->page_ranges = - gtk_print_settings_get_page_ranges (settings, - &print_job->num_page_ranges); - + pages = gtk_print_settings_get_print_pages (settings); + gtk_print_job_set_pages (print_job, pages); + + if (pages == GTK_PRINT_PAGES_RANGES) + ranges = gtk_print_settings_get_page_ranges (settings, &n_ranges); + else + { + ranges = NULL; + n_ranges = 0; + } + + gtk_print_job_set_page_ranges (print_job, ranges, n_ranges); if (gtk_print_settings_get_collate (settings)) gtk_print_settings_set (settings, "cups-Collate", "True"); - print_job->collate = FALSE; + gtk_print_job_set_collate (print_job, FALSE); if (gtk_print_settings_get_reverse (settings)) gtk_print_settings_set (settings, "cups-OutputOrder", "Reverse"); - print_job->reverse = FALSE; + gtk_print_job_set_reverse (print_job, FALSE); if (gtk_print_settings_get_n_copies (settings) > 1) gtk_print_settings_set_int (settings, "cups-copies", - gtk_print_settings_get_n_copies (settings)); - print_job->num_copies = 1; + gtk_print_settings_get_n_copies (settings)); + gtk_print_job_set_num_copies (print_job, 1); scale = gtk_print_settings_get_scale (settings); - print_job->scale = 1.0; if (scale != 100.0) - print_job->scale = scale/100.0; + gtk_print_job_set_scale (print_job, scale / 100.0); page_set = gtk_print_settings_get_page_set (settings); if (page_set == GTK_PAGE_SET_EVEN) gtk_print_settings_set (settings, "cups-page-set", "even"); else if (page_set == GTK_PAGE_SET_ODD) gtk_print_settings_set (settings, "cups-page-set", "odd"); - print_job->page_set = GTK_PAGE_SET_ALL; + gtk_print_job_set_page_set (print_job, GTK_PAGE_SET_ALL); paper_size = gtk_page_setup_get_paper_size (page_setup); ppd_paper_name = gtk_paper_size_get_ppd_name (paper_size); @@ -4455,7 +4460,7 @@ cups_printer_prepare_for_print (GtkPrinter *printer, g_type_class_unref (enum_class); } - print_job->rotate_to_orientation = TRUE; + gtk_print_job_set_rotate (print_job, TRUE); } static GtkPageSetup * diff --git a/modules/printbackends/file/gtkprintbackendfile.c b/modules/printbackends/file/gtkprintbackendfile.c index 79023c9682..fee3d38bc5 100644 --- a/modules/printbackends/file/gtkprintbackendfile.c +++ b/modules/printbackends/file/gtkprintbackendfile.c @@ -706,28 +706,34 @@ file_printer_prepare_for_print (GtkPrinter *printer, GtkPageSetup *page_setup) { gdouble scale; + GtkPrintPages pages; + GtkPageRange *ranges; + gint n_ranges; - print_job->print_pages = gtk_print_settings_get_print_pages (settings); - print_job->page_ranges = NULL; - print_job->num_page_ranges = 0; - - if (print_job->print_pages == GTK_PRINT_PAGES_RANGES) - print_job->page_ranges = - gtk_print_settings_get_page_ranges (settings, - &print_job->num_page_ranges); - - print_job->collate = gtk_print_settings_get_collate (settings); - print_job->reverse = gtk_print_settings_get_reverse (settings); - print_job->num_copies = gtk_print_settings_get_n_copies (settings); - print_job->number_up = gtk_print_settings_get_number_up (settings); - print_job->number_up_layout = gtk_print_settings_get_number_up_layout (settings); + pages = gtk_print_settings_get_print_pages (settings); + gtk_print_job_set_pages (print_job, pages); + + if (pages == GTK_PRINT_PAGES_RANGES) + ranges = gtk_print_settings_get_page_ranges (settings, &n_ranges); + else + { + ranges = NULL; + n_ranges = 0; + } + + gtk_print_job_set_page_ranges (print_job, ranges, n_ranges); + gtk_print_job_set_collate (print_job, gtk_print_settings_get_collate (settings)); + gtk_print_job_set_reverse (print_job, gtk_print_settings_get_reverse (settings)); + gtk_print_job_set_num_copies (print_job, gtk_print_settings_get_n_copies (settings)); + gtk_print_job_set_n_up (print_job, gtk_print_settings_get_number_up (settings)); + gtk_print_job_set_n_up_layout (print_job, gtk_print_settings_get_number_up_layout (settings)); scale = gtk_print_settings_get_scale (settings); if (scale != 100.0) - print_job->scale = scale/100.0; + gtk_print_job_set_scale (print_job, scale / 100.0); - print_job->page_set = gtk_print_settings_get_page_set (settings); - print_job->rotate_to_orientation = TRUE; + gtk_print_job_set_page_set (print_job, gtk_print_settings_get_page_set (settings)); + gtk_print_job_set_rotate (print_job, TRUE); } static GList * diff --git a/modules/printbackends/lpr/gtkprintbackendlpr.c b/modules/printbackends/lpr/gtkprintbackendlpr.c index d84ab9a7e1..b273e386d2 100644 --- a/modules/printbackends/lpr/gtkprintbackendlpr.c +++ b/modules/printbackends/lpr/gtkprintbackendlpr.c @@ -465,26 +465,32 @@ lpr_printer_prepare_for_print (GtkPrinter *printer, GtkPageSetup *page_setup) { double scale; + GtkPrintPages pages; + GtkPageRange *ranges; + gint n_ranges; - print_job->print_pages = gtk_print_settings_get_print_pages (settings); - print_job->page_ranges = NULL; - print_job->num_page_ranges = 0; - - if (print_job->print_pages == GTK_PRINT_PAGES_RANGES) - print_job->page_ranges = - gtk_print_settings_get_page_ranges (settings, - &print_job->num_page_ranges); - - print_job->collate = gtk_print_settings_get_collate (settings); - print_job->reverse = gtk_print_settings_get_reverse (settings); - print_job->num_copies = gtk_print_settings_get_n_copies (settings); - print_job->number_up = gtk_print_settings_get_number_up (settings); - print_job->number_up_layout = gtk_print_settings_get_number_up_layout (settings); + pages = gtk_print_settings_get_print_pages (settings); + gtk_print_job_set_pages (print_job, pages); + + if (pages == GTK_PRINT_PAGES_RANGES) + ranges = gtk_print_settings_get_page_ranges (settings, &n_ranges); + else + { + ranges = NULL; + n_ranges = 0; + } + + gtk_print_job_set_page_ranges (print_job, ranges, n_ranges); + gtk_print_job_set_collate (print_job, gtk_print_settings_get_collate (settings)); + gtk_print_job_set_reverse (print_job, gtk_print_settings_get_reverse (settings)); + gtk_print_job_set_num_copies (print_job, gtk_print_settings_get_n_copies (settings)); + gtk_print_job_set_n_up (print_job, gtk_print_settings_get_number_up (settings)); + gtk_print_job_set_n_up_layout (print_job, gtk_print_settings_get_number_up_layout (settings)); scale = gtk_print_settings_get_scale (settings); if (scale != 100.0) - print_job->scale = scale/100.0; + gtk_print_job_set_scale (print_job, scale / 100.0); - print_job->page_set = gtk_print_settings_get_page_set (settings); - print_job->rotate_to_orientation = TRUE; + gtk_print_job_set_page_set (print_job, gtk_print_settings_get_page_set (settings)); + gtk_print_job_set_rotate (print_job, TRUE); } From 1b67d31bd9aa48940d355d33d4464f25c446810c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Dec 2010 17:46:19 -0500 Subject: [PATCH 0576/1463] Remove G_SEAL from private headers --- gtk/gtksocketprivate.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtksocketprivate.h b/gtk/gtksocketprivate.h index 282634a24e..5fb7525f8f 100644 --- a/gtk/gtksocketprivate.h +++ b/gtk/gtksocketprivate.h @@ -48,8 +48,8 @@ struct _GtkSocketPrivate guint is_mapped : 1; guint active : 1; - GtkAccelGroup *GSEAL (accel_group); - GtkWidget *GSEAL (toplevel); + GtkAccelGroup *accel_group; + GtkWidget *toplevel; }; /* In gtksocket.c: */ From e92da3e166c0150adc5727eeafd47689443028c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 19 Dec 2010 01:27:41 +0000 Subject: [PATCH 0577/1463] gtkcombobox.c: Use accessor functions to access GtkTreeSelection --- gtk/gtkcombobox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index fcfe854f72..016c28d44b 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -4422,7 +4422,7 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection, GList *list, *columns; gboolean sensitive = FALSE; - columns = gtk_tree_view_get_columns (selection->tree_view); + columns = gtk_tree_view_get_columns (gtk_tree_selection_get_tree_view (selection)); for (list = columns; list && !sensitive; list = list->next) { From 74a7bc3a7749e0a1f190d35185bb9ecf14ed75d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 19 Dec 2010 04:55:14 +0000 Subject: [PATCH 0578/1463] gtk/gtktreeview.c: Use accessor to access GtkTreeSelection --- gtk/gtktreeview.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index d92aa2ff17..bce916aaa6 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3189,7 +3189,7 @@ gtk_tree_view_button_press (GtkWidget *widget, if (tree_view->priv->rubber_banding_enable && !node_selected - && tree_view->priv->selection->type == GTK_SELECTION_MULTIPLE) + && gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_MULTIPLE) { tree_view->priv->press_start_y += tree_view->priv->dy; tree_view->priv->rubber_band_x = event->x; @@ -10067,7 +10067,7 @@ gtk_tree_view_focus_to_cursor (GtkTreeView *tree_view) if (cursor_path) { - if (tree_view->priv->selection->type == GTK_SELECTION_MULTIPLE) + if (gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_MULTIPLE) gtk_tree_view_real_set_cursor (tree_view, cursor_path, FALSE, FALSE); else gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, FALSE); @@ -10174,7 +10174,7 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, cursor_path); if (selection_count == 0 - && tree_view->priv->selection->type != GTK_SELECTION_NONE + && gtk_tree_selection_get_mode (tree_view->priv->selection) != GTK_SELECTION_NONE && !tree_view->priv->ctrl_pressed && selectable) { @@ -10212,7 +10212,7 @@ gtk_tree_view_move_cursor_up_down (GtkTreeView *tree_view, * If the list has only one item and multi-selection is set then select * the row (if not yet selected). */ - if (tree_view->priv->selection->type == GTK_SELECTION_MULTIPLE && + if (gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_MULTIPLE && new_cursor_node == NULL) { if (count == -1) @@ -10563,7 +10563,7 @@ gtk_tree_view_real_select_all (GtkTreeView *tree_view) if (!gtk_widget_has_focus (GTK_WIDGET (tree_view))) return FALSE; - if (tree_view->priv->selection->type != GTK_SELECTION_MULTIPLE) + if (gtk_tree_selection_get_mode (tree_view->priv->selection) != GTK_SELECTION_MULTIPLE) return FALSE; gtk_tree_selection_select_all (tree_view->priv->selection); @@ -10577,7 +10577,7 @@ gtk_tree_view_real_unselect_all (GtkTreeView *tree_view) if (!gtk_widget_has_focus (GTK_WIDGET (tree_view))) return FALSE; - if (tree_view->priv->selection->type != GTK_SELECTION_MULTIPLE) + if (gtk_tree_selection_get_mode (tree_view->priv->selection) != GTK_SELECTION_MULTIPLE) return FALSE; gtk_tree_selection_unselect_all (tree_view->priv->selection); From d0b81b21483df69a07677fa7162b4ded806eaa86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 19 Dec 2010 04:55:36 +0000 Subject: [PATCH 0579/1463] gail: Use accessor functions to access GtkTreeSelection --- modules/other/gail/gailtreeview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c index f1b506357f..644b0fb950 100644 --- a/modules/other/gail/gailtreeview.c +++ b/modules/other/gail/gailtreeview.c @@ -1391,7 +1391,7 @@ gail_tree_view_get_selected_rows (AtkTable *table, selection = gtk_tree_view_get_selection (tree_view); - switch (selection->type) + switch (gtk_selection_get_mode (selection)) { case GTK_SELECTION_SINGLE: case GTK_SELECTION_BROWSE: From 66e7915dc442ca47f4fa83a4bbe5c085115a0bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 19 Dec 2010 05:01:22 +0000 Subject: [PATCH 0580/1463] gtktreeselection: Move public members to a private structure --- gtk/gtktreeselection.c | 321 ++++++++++++++++++++++++++--------------- gtk/gtktreeselection.h | 11 +- 2 files changed, 212 insertions(+), 120 deletions(-) diff --git a/gtk/gtktreeselection.c b/gtk/gtktreeselection.c index 8d2a164541..1ec2000a17 100644 --- a/gtk/gtktreeselection.c +++ b/gtk/gtktreeselection.c @@ -60,6 +60,14 @@ * select_row on an already selected row). */ +struct _GtkTreeSelectionPrivate +{ + GtkTreeView *tree_view; + GtkSelectionMode type; + GtkTreeSelectionFunc user_func; + gpointer user_data; + GDestroyNotify destroy; +}; static void gtk_tree_selection_finalize (GObject *object); static gint gtk_tree_selection_real_select_all (GtkTreeSelection *selection); @@ -106,21 +114,31 @@ gtk_tree_selection_class_init (GtkTreeSelectionClass *class) NULL, NULL, _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + + g_type_class_add_private (class, sizeof (GtkTreeSelectionPrivate)); } static void gtk_tree_selection_init (GtkTreeSelection *selection) { - selection->type = GTK_SELECTION_SINGLE; + GtkTreeSelectionPrivate *priv; + + selection->priv = G_TYPE_INSTANCE_GET_PRIVATE (selection, + GTK_TYPE_TREE_SELECTION, + GtkTreeSelectionPrivate); + priv = selection->priv; + + priv->type = GTK_SELECTION_SINGLE; } static void gtk_tree_selection_finalize (GObject *object) { GtkTreeSelection *selection = GTK_TREE_SELECTION (object); + GtkTreeSelectionPrivate *priv = selection->priv; - if (selection->destroy) - selection->destroy (selection->user_data); + if (priv->destroy) + priv->destroy (priv->user_data); /* chain parent_class' handler */ G_OBJECT_CLASS (gtk_tree_selection_parent_class)->finalize (object); @@ -178,11 +196,15 @@ void _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection, GtkTreeView *tree_view) { + GtkTreeSelectionPrivate *priv; + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); if (tree_view != NULL) g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); - selection->tree_view = tree_view; + priv = selection->priv; + + priv->tree_view = tree_view; } /** @@ -198,23 +220,26 @@ void gtk_tree_selection_set_mode (GtkTreeSelection *selection, GtkSelectionMode type) { + GtkTreeSelectionPrivate *priv; GtkTreeSelectionFunc tmp_func; + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - if (selection->type == type) + priv = selection->priv; + + if (priv->type == type) return; - if (type == GTK_SELECTION_NONE) { /* We do this so that we unconditionally unset all rows */ - tmp_func = selection->user_func; - selection->user_func = NULL; + tmp_func = priv->user_func; + priv->user_func = NULL; gtk_tree_selection_unselect_all (selection); - selection->user_func = tmp_func; + priv->user_func = tmp_func; - _gtk_tree_view_set_anchor_path (selection->tree_view, NULL); + _gtk_tree_view_set_anchor_path (priv->tree_view, NULL); } else if (type == GTK_SELECTION_SINGLE || type == GTK_SELECTION_BROWSE) @@ -224,11 +249,11 @@ gtk_tree_selection_set_mode (GtkTreeSelection *selection, gint selected = FALSE; GtkTreePath *anchor_path = NULL; - anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); + anchor_path = _gtk_tree_view_get_anchor_path (priv->tree_view); if (anchor_path) { - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, anchor_path, &tree, &node); @@ -239,10 +264,10 @@ gtk_tree_selection_set_mode (GtkTreeSelection *selection, /* We do this so that we unconditionally unset all rows */ - tmp_func = selection->user_func; - selection->user_func = NULL; + tmp_func = priv->user_func; + priv->user_func = NULL; gtk_tree_selection_unselect_all (selection); - selection->user_func = tmp_func; + priv->user_func = tmp_func; if (node && selected) _gtk_tree_selection_internal_select_node (selection, @@ -255,7 +280,7 @@ gtk_tree_selection_set_mode (GtkTreeSelection *selection, gtk_tree_path_free (anchor_path); } - selection->type = type; + priv->type = type; } /** @@ -272,7 +297,7 @@ gtk_tree_selection_get_mode (GtkTreeSelection *selection) { g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), GTK_SELECTION_SINGLE); - return selection->type; + return selection->priv->type; } /** @@ -295,14 +320,18 @@ gtk_tree_selection_set_select_function (GtkTreeSelection *selection, gpointer data, GDestroyNotify destroy) { + GtkTreeSelectionPrivate *priv; + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - if (selection->destroy) - selection->destroy (selection->user_data); + priv = selection->priv; - selection->user_func = func; - selection->user_data = data; - selection->destroy = destroy; + if (priv->destroy) + priv->destroy (priv->user_data); + + priv->user_func = func; + priv->user_data = data; + priv->destroy = destroy; } /** @@ -320,7 +349,7 @@ gtk_tree_selection_get_select_function (GtkTreeSelection *selection) { g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), NULL); - return selection->user_func; + return selection->priv->user_func; } /** @@ -336,7 +365,7 @@ gtk_tree_selection_get_user_data (GtkTreeSelection *selection) { g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), NULL); - return selection->user_data; + return selection->priv->user_data; } /** @@ -352,7 +381,7 @@ gtk_tree_selection_get_tree_view (GtkTreeSelection *selection) { g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), NULL); - return selection->tree_view; + return selection->priv->tree_view; } /** @@ -374,6 +403,7 @@ gtk_tree_selection_get_selected (GtkTreeSelection *selection, GtkTreeModel **model, GtkTreeIter *iter) { + GtkTreeSelectionPrivate *priv; GtkRBTree *tree; GtkRBNode *node; GtkTreePath *anchor_path; @@ -381,24 +411,27 @@ gtk_tree_selection_get_selected (GtkTreeSelection *selection, gboolean found_node; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), FALSE); - g_return_val_if_fail (selection->type != GTK_SELECTION_MULTIPLE, FALSE); - g_return_val_if_fail (selection->tree_view != NULL, FALSE); + + priv = selection->priv; + + g_return_val_if_fail (priv->type != GTK_SELECTION_MULTIPLE, FALSE); + g_return_val_if_fail (priv->tree_view != NULL, FALSE); /* Clear the iter */ if (iter) memset (iter, 0, sizeof (GtkTreeIter)); if (model) - *model = gtk_tree_view_get_model (selection->tree_view); + *model = gtk_tree_view_get_model (priv->tree_view); - anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); + anchor_path = _gtk_tree_view_get_anchor_path (priv->tree_view); if (anchor_path == NULL) return FALSE; retval = FALSE; - found_node = !_gtk_tree_view_find_node (selection->tree_view, + found_node = !_gtk_tree_view_find_node (priv->tree_view, anchor_path, &tree, &node); @@ -411,7 +444,7 @@ gtk_tree_selection_get_selected (GtkTreeSelection *selection, if (iter == NULL) retval = TRUE; else - retval = gtk_tree_model_get_iter (gtk_tree_view_get_model (selection->tree_view), + retval = gtk_tree_model_get_iter (gtk_tree_view_get_model (priv->tree_view), iter, anchor_path); } @@ -451,25 +484,29 @@ GList * gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, GtkTreeModel **model) { + GtkTreeSelectionPrivate *priv; GList *list = NULL; GtkRBTree *tree = NULL; GtkRBNode *node = NULL; GtkTreePath *path; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), NULL); - g_return_val_if_fail (selection->tree_view != NULL, NULL); + + priv = selection->priv; + + g_return_val_if_fail (priv->tree_view != NULL, NULL); if (model) - *model = gtk_tree_view_get_model (selection->tree_view); + *model = gtk_tree_view_get_model (priv->tree_view); - tree = _gtk_tree_view_get_rbtree (selection->tree_view); + tree = _gtk_tree_view_get_rbtree (priv->tree_view); if (tree == NULL || tree->root == NULL) return NULL; - if (selection->type == GTK_SELECTION_NONE) + if (priv->type == GTK_SELECTION_NONE) return NULL; - else if (selection->type != GTK_SELECTION_MULTIPLE) + else if (priv->type != GTK_SELECTION_MULTIPLE) { GtkTreeIter iter; @@ -477,7 +514,7 @@ gtk_tree_selection_get_selected_rows (GtkTreeSelection *selection, { GtkTreePath *path; - path = gtk_tree_model_get_path (gtk_tree_view_get_model (selection->tree_view), &iter); + path = gtk_tree_model_get_path (gtk_tree_view_get_model (priv->tree_view), &iter); list = g_list_append (list, path); return list; @@ -574,19 +611,23 @@ gtk_tree_selection_count_selected_rows_helper (GtkRBTree *tree, gint gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection) { + GtkTreeSelectionPrivate *priv; gint count = 0; GtkRBTree *tree; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), 0); - g_return_val_if_fail (selection->tree_view != NULL, 0); - tree = _gtk_tree_view_get_rbtree (selection->tree_view); + priv = selection->priv; + + g_return_val_if_fail (priv->tree_view != NULL, 0); + + tree = _gtk_tree_view_get_rbtree (priv->tree_view); if (tree == NULL || tree->root == NULL) return 0; - if (selection->type == GTK_SELECTION_SINGLE || - selection->type == GTK_SELECTION_BROWSE) + if (priv->type == GTK_SELECTION_SINGLE || + priv->type == GTK_SELECTION_BROWSE) { if (gtk_tree_selection_get_selected (selection, NULL, NULL)) return 1; @@ -626,6 +667,7 @@ gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, GtkTreeSelectionForeachFunc func, gpointer data) { + GtkTreeSelectionPrivate *priv; GtkTreePath *path; GtkRBTree *tree; GtkRBNode *node; @@ -636,19 +678,22 @@ gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, gboolean stop = FALSE; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); - tree = _gtk_tree_view_get_rbtree (selection->tree_view); + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + + tree = _gtk_tree_view_get_rbtree (priv->tree_view); if (func == NULL || tree == NULL || tree->root == NULL) return; - model = gtk_tree_view_get_model (selection->tree_view); + model = gtk_tree_view_get_model (priv->tree_view); - if (selection->type == GTK_SELECTION_SINGLE || - selection->type == GTK_SELECTION_BROWSE) + if (priv->type == GTK_SELECTION_SINGLE || + priv->type == GTK_SELECTION_BROWSE) { - path = _gtk_tree_view_get_anchor_path (selection->tree_view); + path = _gtk_tree_view_get_anchor_path (priv->tree_view); if (path) { @@ -676,7 +721,7 @@ gtk_tree_selection_selected_foreach (GtkTreeSelection *selection, reordered_id = g_signal_connect_swapped (model, "rows-reordered", G_CALLBACK (model_changed), &stop); - changed_id = g_signal_connect_swapped (selection->tree_view, "notify::model", + changed_id = g_signal_connect_swapped (priv->tree_view, "notify::model", G_CALLBACK (model_changed), &stop); @@ -744,7 +789,7 @@ out: g_signal_handler_disconnect (model, inserted_id); g_signal_handler_disconnect (model, deleted_id); g_signal_handler_disconnect (model, reordered_id); - g_signal_handler_disconnect (selection->tree_view, changed_id); + g_signal_handler_disconnect (priv->tree_view, changed_id); g_object_unref (model); /* check if we have to spew a scary message */ @@ -766,16 +811,20 @@ void gtk_tree_selection_select_path (GtkTreeSelection *selection, GtkTreePath *path) { + GtkTreeSelectionPrivate *priv; GtkRBNode *node; GtkRBTree *tree; gboolean ret; GtkTreeSelectMode mode = 0; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); + + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); g_return_if_fail (path != NULL); - ret = _gtk_tree_view_find_node (selection->tree_view, + ret = _gtk_tree_view_find_node (priv->tree_view, path, &tree, &node); @@ -784,7 +833,7 @@ gtk_tree_selection_select_path (GtkTreeSelection *selection, ret == TRUE) return; - if (selection->type == GTK_SELECTION_MULTIPLE) + if (priv->type == GTK_SELECTION_MULTIPLE) mode = GTK_TREE_SELECT_MODE_TOGGLE; _gtk_tree_selection_internal_select_node (selection, @@ -806,15 +855,19 @@ void gtk_tree_selection_unselect_path (GtkTreeSelection *selection, GtkTreePath *path) { + GtkTreeSelectionPrivate *priv; GtkRBNode *node; GtkRBTree *tree; gboolean ret; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); + + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); g_return_if_fail (path != NULL); - ret = _gtk_tree_view_find_node (selection->tree_view, + ret = _gtk_tree_view_find_node (priv->tree_view, path, &tree, &node); @@ -842,13 +895,17 @@ void gtk_tree_selection_select_iter (GtkTreeSelection *selection, GtkTreeIter *iter) { + GtkTreeSelectionPrivate *priv; GtkTreePath *path; GtkTreeModel *model; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); - model = gtk_tree_view_get_model (selection->tree_view); + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + + model = gtk_tree_view_get_model (priv->tree_view); g_return_if_fail (model != NULL); g_return_if_fail (iter != NULL); @@ -873,13 +930,17 @@ void gtk_tree_selection_unselect_iter (GtkTreeSelection *selection, GtkTreeIter *iter) { + GtkTreeSelectionPrivate *priv; GtkTreePath *path; GtkTreeModel *model; g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); - model = gtk_tree_view_get_model (selection->tree_view); + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + + model = gtk_tree_view_get_model (priv->tree_view); g_return_if_fail (model != NULL); g_return_if_fail (iter != NULL); @@ -906,18 +967,22 @@ gboolean gtk_tree_selection_path_is_selected (GtkTreeSelection *selection, GtkTreePath *path) { + GtkTreeSelectionPrivate *priv; GtkRBNode *node; GtkRBTree *tree; gboolean ret; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), FALSE); - g_return_val_if_fail (path != NULL, FALSE); - g_return_val_if_fail (selection->tree_view != NULL, FALSE); - if (gtk_tree_view_get_model (selection->tree_view) == NULL) + priv = selection->priv; + + g_return_val_if_fail (path != NULL, FALSE); + g_return_val_if_fail (priv->tree_view != NULL, FALSE); + + if (gtk_tree_view_get_model (priv->tree_view) == NULL) return FALSE; - ret = _gtk_tree_view_find_node (selection->tree_view, + ret = _gtk_tree_view_find_node (priv->tree_view, path, &tree, &node); @@ -942,15 +1007,19 @@ gboolean gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection, GtkTreeIter *iter) { + GtkTreeSelectionPrivate *priv; GtkTreePath *path; GtkTreeModel *model; gboolean retval; g_return_val_if_fail (GTK_IS_TREE_SELECTION (selection), FALSE); - g_return_val_if_fail (iter != NULL, FALSE); - g_return_val_if_fail (selection->tree_view != NULL, FALSE); - model = gtk_tree_view_get_model (selection->tree_view); + priv = selection->priv; + + g_return_val_if_fail (iter != NULL, FALSE); + g_return_val_if_fail (priv->tree_view != NULL, FALSE); + + model = gtk_tree_view_get_model (priv->tree_view); g_return_val_if_fail (model != NULL, FALSE); path = gtk_tree_model_get_path (model, iter); @@ -996,10 +1065,11 @@ select_all_helper (GtkRBTree *tree, static gint gtk_tree_selection_real_select_all (GtkTreeSelection *selection) { + GtkTreeSelectionPrivate *priv = selection->priv; struct _TempTuple *tuple; GtkRBTree *tree; - tree = _gtk_tree_view_get_rbtree (selection->tree_view); + tree = _gtk_tree_view_get_rbtree (priv->tree_view); if (tree == NULL) return FALSE; @@ -1032,14 +1102,19 @@ gtk_tree_selection_real_select_all (GtkTreeSelection *selection) void gtk_tree_selection_select_all (GtkTreeSelection *selection) { - g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); + GtkTreeSelectionPrivate *priv; - if (_gtk_tree_view_get_rbtree (selection->tree_view) == NULL || - gtk_tree_view_get_model (selection->tree_view) == NULL) + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); + + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + + if (_gtk_tree_view_get_rbtree (priv->tree_view) == NULL || + gtk_tree_view_get_model (priv->tree_view) == NULL) return; - g_return_if_fail (selection->type == GTK_SELECTION_MULTIPLE); + g_return_if_fail (priv->type == GTK_SELECTION_MULTIPLE); if (gtk_tree_selection_real_select_all (selection)) g_signal_emit (selection, tree_selection_signals[CHANGED], 0); @@ -1067,21 +1142,22 @@ unselect_all_helper (GtkRBTree *tree, static gboolean gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) { + GtkTreeSelectionPrivate *priv = selection->priv; struct _TempTuple *tuple; - if (selection->type == GTK_SELECTION_SINGLE || - selection->type == GTK_SELECTION_BROWSE) + if (priv->type == GTK_SELECTION_SINGLE || + priv->type == GTK_SELECTION_BROWSE) { GtkRBTree *tree = NULL; GtkRBNode *node = NULL; GtkTreePath *anchor_path; - anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); + anchor_path = _gtk_tree_view_get_anchor_path (priv->tree_view); if (anchor_path == NULL) return FALSE; - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, anchor_path, &tree, &node); @@ -1095,7 +1171,7 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) { if (gtk_tree_selection_real_select_node (selection, tree, node, FALSE)) { - _gtk_tree_view_set_anchor_path (selection->tree_view, NULL); + _gtk_tree_view_set_anchor_path (priv->tree_view, NULL); return TRUE; } } @@ -1109,7 +1185,7 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) tuple->selection = selection; tuple->dirty = FALSE; - tree = _gtk_tree_view_get_rbtree (selection->tree_view); + tree = _gtk_tree_view_get_rbtree (priv->tree_view); _gtk_rbtree_traverse (tree, tree->root, G_PRE_ORDER, unselect_all_helper, @@ -1134,11 +1210,16 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection) void gtk_tree_selection_unselect_all (GtkTreeSelection *selection) { - g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); + GtkTreeSelectionPrivate *priv; - if (_gtk_tree_view_get_rbtree (selection->tree_view) == NULL || - gtk_tree_view_get_model (selection->tree_view) == NULL) + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); + + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + + if (_gtk_tree_view_get_rbtree (priv->tree_view) == NULL || + gtk_tree_view_get_model (priv->tree_view) == NULL) return; if (gtk_tree_selection_real_unselect_all (selection)) @@ -1157,6 +1238,7 @@ gtk_tree_selection_real_modify_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path) { + GtkTreeSelectionPrivate *priv = selection->priv; GtkRBNode *start_node, *end_node; GtkRBTree *start_tree, *end_tree; GtkTreePath *anchor_path = NULL; @@ -1165,18 +1247,18 @@ gtk_tree_selection_real_modify_range (GtkTreeSelection *selection, switch (gtk_tree_path_compare (start_path, end_path)) { case 1: - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, end_path, &start_tree, &start_node); - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, start_path, &end_tree, &end_node); anchor_path = start_path; break; case 0: - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, start_path, &start_tree, &start_node); @@ -1185,11 +1267,11 @@ gtk_tree_selection_real_modify_range (GtkTreeSelection *selection, anchor_path = start_path; break; case -1: - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, start_path, &start_tree, &start_node); - _gtk_tree_view_find_node (selection->tree_view, + _gtk_tree_view_find_node (priv->tree_view, end_path, &end_tree, &end_node); @@ -1201,7 +1283,7 @@ gtk_tree_selection_real_modify_range (GtkTreeSelection *selection, g_return_val_if_fail (end_node != NULL, FALSE); if (anchor_path) - _gtk_tree_view_set_anchor_path (selection->tree_view, anchor_path); + _gtk_tree_view_set_anchor_path (priv->tree_view, anchor_path); do { @@ -1247,10 +1329,15 @@ gtk_tree_selection_select_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path) { + GtkTreeSelectionPrivate *priv; + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); - g_return_if_fail (selection->type == GTK_SELECTION_MULTIPLE); - g_return_if_fail (gtk_tree_view_get_model (selection->tree_view) != NULL); + + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + g_return_if_fail (priv->type == GTK_SELECTION_MULTIPLE); + g_return_if_fail (gtk_tree_view_get_model (priv->tree_view) != NULL); if (gtk_tree_selection_real_modify_range (selection, RANGE_SELECT, start_path, end_path)) g_signal_emit (selection, tree_selection_signals[CHANGED], 0); @@ -1272,9 +1359,14 @@ gtk_tree_selection_unselect_range (GtkTreeSelection *selection, GtkTreePath *start_path, GtkTreePath *end_path) { + GtkTreeSelectionPrivate *priv; + g_return_if_fail (GTK_IS_TREE_SELECTION (selection)); - g_return_if_fail (selection->tree_view != NULL); - g_return_if_fail (gtk_tree_view_get_model (selection->tree_view) != NULL); + + priv = selection->priv; + + g_return_if_fail (priv->tree_view != NULL); + g_return_if_fail (gtk_tree_view_get_model (priv->tree_view) != NULL); if (gtk_tree_selection_real_modify_range (selection, RANGE_UNSELECT, start_path, end_path)) g_signal_emit (selection, tree_selection_signals[CHANGED], 0); @@ -1285,15 +1377,16 @@ _gtk_tree_selection_row_is_selectable (GtkTreeSelection *selection, GtkRBNode *node, GtkTreePath *path) { + GtkTreeSelectionPrivate *priv = selection->priv; GtkTreeIter iter; GtkTreeModel *model; GtkTreeViewRowSeparatorFunc separator_func; gpointer separator_data; gboolean sensitive = FALSE; - model = gtk_tree_view_get_model (selection->tree_view); + model = gtk_tree_view_get_model (priv->tree_view); - _gtk_tree_view_get_row_separator_func (selection->tree_view, + _gtk_tree_view_get_row_separator_func (priv->tree_view, &separator_func, &separator_data); if (!gtk_tree_model_get_iter (model, &iter, path)) @@ -1306,10 +1399,10 @@ _gtk_tree_selection_row_is_selectable (GtkTreeSelection *selection, return FALSE; } - if (selection->user_func) - return (*selection->user_func) (selection, model, path, + if (priv->user_func) + return (*priv->user_func) (selection, model, path, GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED), - selection->user_data); + priv->user_data); else return TRUE; } @@ -1331,25 +1424,26 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, GtkTreeSelectMode mode, gboolean override_browse_mode) { + GtkTreeSelectionPrivate *priv = selection->priv; gint flags; gint dirty = FALSE; GtkTreePath *anchor_path = NULL; - if (selection->type == GTK_SELECTION_NONE) + if (priv->type == GTK_SELECTION_NONE) return; - anchor_path = _gtk_tree_view_get_anchor_path (selection->tree_view); + anchor_path = _gtk_tree_view_get_anchor_path (priv->tree_view); - if (selection->type == GTK_SELECTION_SINGLE || - selection->type == GTK_SELECTION_BROWSE) + if (priv->type == GTK_SELECTION_SINGLE || + priv->type == GTK_SELECTION_BROWSE) { /* just unselect */ - if (selection->type == GTK_SELECTION_BROWSE && override_browse_mode) + if (priv->type == GTK_SELECTION_BROWSE && override_browse_mode) { dirty = gtk_tree_selection_real_unselect_all (selection); } /* Did we try to select the same node again? */ - else if (selection->type == GTK_SELECTION_SINGLE && + else if (priv->type == GTK_SELECTION_SINGLE && anchor_path && gtk_tree_path_compare (path, anchor_path) == 0) { if ((mode & GTK_TREE_SELECT_MODE_TOGGLE) == GTK_TREE_SELECT_MODE_TOGGLE) @@ -1376,10 +1470,10 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, if (dirty) { - _gtk_tree_view_set_anchor_path (selection->tree_view, NULL); + _gtk_tree_view_set_anchor_path (priv->tree_view, NULL); if (gtk_tree_selection_real_select_node (selection, tree, node, TRUE)) - _gtk_tree_view_set_anchor_path (selection->tree_view, path); + _gtk_tree_view_set_anchor_path (priv->tree_view, path); } } else @@ -1388,17 +1482,17 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, { dirty = TRUE; - _gtk_tree_view_set_anchor_path (selection->tree_view, path); + _gtk_tree_view_set_anchor_path (priv->tree_view, path); } } } } - else if (selection->type == GTK_SELECTION_MULTIPLE) + else if (priv->type == GTK_SELECTION_MULTIPLE) { if ((mode & GTK_TREE_SELECT_MODE_EXTEND) == GTK_TREE_SELECT_MODE_EXTEND && (anchor_path == NULL)) { - _gtk_tree_view_set_anchor_path (selection->tree_view, path); + _gtk_tree_view_set_anchor_path (priv->tree_view, path); dirty = gtk_tree_selection_real_select_node (selection, tree, node, TRUE); } @@ -1412,7 +1506,7 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, { flags = node->flags; - _gtk_tree_view_set_anchor_path (selection->tree_view, path); + _gtk_tree_view_set_anchor_path (priv->tree_view, path); if ((flags & GTK_RBNODE_IS_SELECTED) == GTK_RBNODE_IS_SELECTED) dirty |= gtk_tree_selection_real_select_node (selection, tree, node, FALSE); @@ -1431,7 +1525,7 @@ _gtk_tree_selection_internal_select_node (GtkTreeSelection *selection, { dirty = gtk_tree_selection_real_unselect_all (selection); - _gtk_tree_view_set_anchor_path (selection->tree_view, path); + _gtk_tree_view_set_anchor_path (priv->tree_view, path); dirty |= gtk_tree_selection_real_select_node (selection, tree, node, TRUE); } @@ -1460,6 +1554,7 @@ gtk_tree_selection_real_select_node (GtkTreeSelection *selection, GtkRBNode *node, gboolean select) { + GtkTreeSelectionPrivate *priv = selection->priv; gboolean toggle = FALSE; GtkTreePath *path = NULL; @@ -1467,7 +1562,7 @@ gtk_tree_selection_real_select_node (GtkTreeSelection *selection, if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED) != select) { - path = _gtk_tree_view_find_path (selection->tree_view, tree, node); + path = _gtk_tree_view_find_path (priv->tree_view, tree, node); toggle = _gtk_tree_selection_row_is_selectable (selection, node, path); gtk_tree_path_free (path); } @@ -1476,8 +1571,8 @@ gtk_tree_selection_real_select_node (GtkTreeSelection *selection, { node->flags ^= GTK_RBNODE_IS_SELECTED; - _gtk_tree_view_queue_draw_node (selection->tree_view, tree, node, NULL); - + _gtk_tree_view_queue_draw_node (priv->tree_view, tree, node, NULL); + return TRUE; } diff --git a/gtk/gtktreeselection.h b/gtk/gtktreeselection.h index 38a1f702e3..36cfafa7fd 100644 --- a/gtk/gtktreeselection.h +++ b/gtk/gtktreeselection.h @@ -36,6 +36,8 @@ G_BEGIN_DECLS #define GTK_IS_TREE_SELECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_SELECTION)) #define GTK_TREE_SELECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_SELECTION, GtkTreeSelectionClass)) +typedef struct _GtkTreeSelectionPrivate GtkTreeSelectionPrivate; + /** * GtkTreeSelectionFunc: * @selection: A #GtkTreeSelection @@ -74,15 +76,10 @@ typedef void (* GtkTreeSelectionForeachFunc) (GtkTreeModel *model, struct _GtkTreeSelection { + /*< private >*/ GObject parent; - /*< private >*/ - - GtkTreeView *GSEAL (tree_view); - GtkSelectionMode GSEAL (type); - GtkTreeSelectionFunc GSEAL (user_func); - gpointer GSEAL (user_data); - GDestroyNotify GSEAL (destroy); + GtkTreeSelectionPrivate *priv; }; struct _GtkTreeSelectionClass From 3573179ced5e58f6285e5fc2139a078d06fc89ec Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 19 Dec 2010 09:09:16 +0200 Subject: [PATCH 0581/1463] Updated Hebrew translation --- po-properties/he.po | 1253 ++++++++++++++++++++++--------------------- po/he.po | 392 +++++++------- 2 files changed, 832 insertions(+), 813 deletions(-) diff --git a/po-properties/he.po b/po-properties/he.po index ebfcd04761..7a1d26f7db 100644 --- a/po-properties/he.po +++ b/po-properties/he.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 14:13+0200\n" -"PO-Revision-Date: 2010-12-05 14:13+0200\n" +"POT-Creation-Date: 2010-12-19 09:07+0200\n" +"PO-Revision-Date: 2010-12-19 09:08+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -16,71 +16,71 @@ msgstr "" "Language: he\n" "X-Generator: KBabel 1.0\n" -#: ../gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:127 msgid "Device Display" msgstr "Device Display" -#: ../gdk/gdkdevice.c:114 +#: ../gdk/gdkdevice.c:128 msgid "Display which the device belongs to" msgstr "Display which the device belongs to" -#: ../gdk/gdkdevice.c:128 +#: ../gdk/gdkdevice.c:142 msgid "Device manager" msgstr "Device manager" -#: ../gdk/gdkdevice.c:129 +#: ../gdk/gdkdevice.c:143 msgid "Device manager which the device belongs to" msgstr "Device manager which the device belongs to" -#: ../gdk/gdkdevice.c:143 ../gdk/gdkdevice.c:144 +#: ../gdk/gdkdevice.c:157 ../gdk/gdkdevice.c:158 msgid "Device name" msgstr "Device name" -#: ../gdk/gdkdevice.c:158 +#: ../gdk/gdkdevice.c:172 msgid "Device type" msgstr "Device type" -#: ../gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:173 msgid "Device role in the device manager" msgstr "Device role in the device manager" -#: ../gdk/gdkdevice.c:175 +#: ../gdk/gdkdevice.c:189 msgid "Associated device" msgstr "Associated device" -#: ../gdk/gdkdevice.c:176 +#: ../gdk/gdkdevice.c:190 msgid "Associated pointer or keyboard with this device" msgstr "Associated pointer or keyboard with this device" -#: ../gdk/gdkdevice.c:189 +#: ../gdk/gdkdevice.c:203 msgid "Input source" msgstr "Input source" -#: ../gdk/gdkdevice.c:190 +#: ../gdk/gdkdevice.c:204 msgid "Source type for the device" msgstr "Source type for the device" -#: ../gdk/gdkdevice.c:205 ../gdk/gdkdevice.c:206 +#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 msgid "Input mode for the device" msgstr "Input mode for the device" -#: ../gdk/gdkdevice.c:221 +#: ../gdk/gdkdevice.c:235 msgid "Whether the device has a cursor" msgstr "Whether the device has a cursor" -#: ../gdk/gdkdevice.c:222 +#: ../gdk/gdkdevice.c:236 msgid "Whether there is a visible cursor following device motion" msgstr "Whether there is a visible cursor following device motion" -#: ../gdk/gdkdevice.c:236 ../gdk/gdkdevice.c:237 +#: ../gdk/gdkdevice.c:250 ../gdk/gdkdevice.c:251 msgid "Number of axes in the device" msgstr "Number of axes in the device" -#: ../gdk/gdkdevicemanager.c:136 +#: ../gdk/gdkdevicemanager.c:137 msgid "Display" msgstr "Display" -#: ../gdk/gdkdevicemanager.c:137 +#: ../gdk/gdkdevicemanager.c:138 msgid "Display for the device manager" msgstr "Display for the device manager" @@ -129,11 +129,11 @@ msgstr "Event base" msgid "Event base for XInput events" msgstr "Event base for XInput events" -#: ../gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:277 msgid "Program name" msgstr "Program name" -#: ../gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:278 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -141,51 +141,51 @@ msgstr "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" -#: ../gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:292 msgid "Program version" msgstr "Program version" -#: ../gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:293 msgid "The version of the program" msgstr "The version of the program" -#: ../gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright string" msgstr "Copyright string" -#: ../gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:308 msgid "Copyright information for the program" msgstr "Copyright information for the program" -#: ../gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments string" msgstr "Comments string" -#: ../gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:326 msgid "Comments about the program" msgstr "Comments about the program" -#: ../gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:376 msgid "License Type" msgstr "License Type" -#: ../gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:377 msgid "The license type of the program" msgstr "The license type of the program" -#: ../gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:393 msgid "Website URL" msgstr "Website URL" -#: ../gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:394 msgid "The URL for the link to the website of the program" msgstr "The URL for the link to the website of the program" -#: ../gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:409 msgid "Website label" msgstr "Website label" -#: ../gtk/gtkaboutdialog.c:402 +#: ../gtk/gtkaboutdialog.c:410 msgid "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" @@ -193,45 +193,45 @@ msgstr "" "The label for the link to the website of the program. If this is not set, it " "defaults to the URL" -#: ../gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:426 msgid "Authors" msgstr "Authors" -#: ../gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:427 msgid "List of authors of the program" msgstr "List of authors of the program" -#: ../gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:443 msgid "Documenters" msgstr "Documenters" -#: ../gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:444 msgid "List of people documenting the program" msgstr "List of people documenting the program" -#: ../gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:460 msgid "Artists" msgstr "Artists" -#: ../gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:461 msgid "List of people who have contributed artwork to the program" msgstr "List of people who have contributed artwork to the program" -#: ../gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:478 msgid "Translator credits" msgstr "Translator credits" -#: ../gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:479 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Credits to the translators. This string should be marked as translatable" -#: ../gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:494 msgid "Logo" msgstr "Logo" -#: ../gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:495 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -239,19 +239,19 @@ msgstr "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:510 msgid "Logo Icon Name" msgstr "Logo Icon Name" -#: ../gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:511 msgid "A named icon to use as the logo for the about box." msgstr "A named icon to use as the logo for the about box." -#: ../gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:524 msgid "Wrap license" msgstr "Wrap license" -#: ../gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:525 msgid "Whether to wrap the license text." msgstr "Whether to wrap the license text." @@ -280,7 +280,7 @@ msgstr "Name" msgid "A unique name for the action." msgstr "A unique name for the action." -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:209 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 #: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 #: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" @@ -391,7 +391,7 @@ msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "When TRUE, empty menu proxies for this action are hidden." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:927 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:919 msgid "Sensitive" msgstr "Sensitive" @@ -400,8 +400,8 @@ msgid "Whether the action is enabled." msgstr "Whether the action is enabled." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 +#: ../gtk/gtkwidget.c:912 msgid "Visible" msgstr "Visible" @@ -458,7 +458,7 @@ msgid "Whether to use the related actions appearance properties" msgstr "Whether to use the related actions appearance properties" #: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:291 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 msgid "Value" msgstr "Value" @@ -610,7 +610,7 @@ msgstr "Arrow Scaling" msgid "Amount of space used up by arrow" msgstr "Amount of space used up by arrow" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1107 msgid "Horizontal Alignment" msgstr "Horizontal Alignment" @@ -618,7 +618,7 @@ msgstr "Horizontal Alignment" msgid "X alignment of the child" msgstr "X alignment of the child" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1123 msgid "Vertical Alignment" msgstr "Vertical Alignment" @@ -754,8 +754,8 @@ msgstr "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Spacing" msgstr "Spacing" @@ -773,7 +773,7 @@ msgid "Whether the children should all be the same size" msgstr "Whether the children should all be the same size" #: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 msgid "Expand" msgstr "Expand" @@ -805,7 +805,7 @@ msgstr "Extra space to put between the child and its neighbors, in pixels" msgid "Pack type" msgstr "Pack type" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:795 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -813,12 +813,12 @@ msgstr "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:766 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Position" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:767 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 msgid "The index of the child in the parent" msgstr "The index of the child in the parent" @@ -838,12 +838,12 @@ msgstr "" "Text of the label widget inside the button, if the button contains a label " "widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:587 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 #: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Use underline" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:588 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 #: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " @@ -955,7 +955,7 @@ msgstr "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:786 ../gtk/gtkentry.c:1831 +#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Inner Border" @@ -1119,127 +1119,127 @@ msgstr "Accelerator Mode" msgid "The type of accelerators" msgstr "The type of accelerators" -#: ../gtk/gtkcellrenderer.c:266 +#: ../gtk/gtkcellrenderer.c:271 msgid "mode" msgstr "mode" -#: ../gtk/gtkcellrenderer.c:267 +#: ../gtk/gtkcellrenderer.c:272 msgid "Editable mode of the CellRenderer" msgstr "Editable mode of the CellRenderer" -#: ../gtk/gtkcellrenderer.c:275 +#: ../gtk/gtkcellrenderer.c:280 msgid "visible" msgstr "visible" -#: ../gtk/gtkcellrenderer.c:276 +#: ../gtk/gtkcellrenderer.c:281 msgid "Display the cell" msgstr "Display the cell" -#: ../gtk/gtkcellrenderer.c:283 +#: ../gtk/gtkcellrenderer.c:288 msgid "Display the cell sensitive" msgstr "Display the cell sensitive" -#: ../gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:295 msgid "xalign" msgstr "xalign" -#: ../gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:296 msgid "The x-align" msgstr "The x-align" -#: ../gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:305 msgid "yalign" msgstr "yalign" -#: ../gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:306 msgid "The y-align" msgstr "The y-align" -#: ../gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:315 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:316 msgid "The xpad" msgstr "The xpad" -#: ../gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:325 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:321 +#: ../gtk/gtkcellrenderer.c:326 msgid "The ypad" msgstr "The ypad" -#: ../gtk/gtkcellrenderer.c:330 +#: ../gtk/gtkcellrenderer.c:335 msgid "width" msgstr "width" -#: ../gtk/gtkcellrenderer.c:331 +#: ../gtk/gtkcellrenderer.c:336 msgid "The fixed width" msgstr "The fixed width" -#: ../gtk/gtkcellrenderer.c:340 +#: ../gtk/gtkcellrenderer.c:345 msgid "height" msgstr "height" -#: ../gtk/gtkcellrenderer.c:341 +#: ../gtk/gtkcellrenderer.c:346 msgid "The fixed height" msgstr "The fixed height" -#: ../gtk/gtkcellrenderer.c:350 +#: ../gtk/gtkcellrenderer.c:355 msgid "Is Expander" msgstr "Is Expander" -#: ../gtk/gtkcellrenderer.c:351 +#: ../gtk/gtkcellrenderer.c:356 msgid "Row has children" msgstr "Row has children" -#: ../gtk/gtkcellrenderer.c:359 +#: ../gtk/gtkcellrenderer.c:364 msgid "Is Expanded" msgstr "Is Expanded" -#: ../gtk/gtkcellrenderer.c:360 +#: ../gtk/gtkcellrenderer.c:365 msgid "Row is an expander row, and is expanded" msgstr "Row is an expander row, and is expanded" -#: ../gtk/gtkcellrenderer.c:367 +#: ../gtk/gtkcellrenderer.c:372 msgid "Cell background color name" msgstr "Cell background color name" -#: ../gtk/gtkcellrenderer.c:368 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color as a string" msgstr "Cell background color as a string" -#: ../gtk/gtkcellrenderer.c:375 +#: ../gtk/gtkcellrenderer.c:380 msgid "Cell background color" msgstr "Cell background color" -#: ../gtk/gtkcellrenderer.c:376 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color as a GdkColor" msgstr "Cell background color as a GdkColor" -#: ../gtk/gtkcellrenderer.c:389 +#: ../gtk/gtkcellrenderer.c:394 msgid "Cell background RGBA color" msgstr "Cell background RGBA color" -#: ../gtk/gtkcellrenderer.c:390 +#: ../gtk/gtkcellrenderer.c:395 msgid "Cell background color as a GdkRGBA" msgstr "Cell background color as a GdkRGBA" -#: ../gtk/gtkcellrenderer.c:397 +#: ../gtk/gtkcellrenderer.c:402 msgid "Editing" msgstr "Editing" -#: ../gtk/gtkcellrenderer.c:398 +#: ../gtk/gtkcellrenderer.c:403 msgid "Whether the cell renderer is currently in editing mode" msgstr "Whether the cell renderer is currently in editing mode" -#: ../gtk/gtkcellrenderer.c:406 +#: ../gtk/gtkcellrenderer.c:411 msgid "Cell background set" msgstr "Cell background set" -#: ../gtk/gtkcellrenderer.c:407 +#: ../gtk/gtkcellrenderer.c:412 msgid "Whether this tag affects the cell background color" msgstr "Whether this tag affects the cell background color" @@ -1334,8 +1334,8 @@ msgstr "Icon" msgid "Value of the progress bar" msgstr "Value of the progress bar" -#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:247 -#: ../gtk/gtkentry.c:829 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 #: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 #: ../gtk/gtktextbuffer.c:209 msgid "Text" @@ -1378,7 +1378,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "The vertical text alignment, from 0 (top) to 1 (bottom)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:439 msgid "Inverted" msgstr "Inverted" @@ -1386,12 +1386,12 @@ msgstr "Inverted" msgid "Invert the direction in which the progress bar grows" msgstr "Invert the direction in which the progress bar grows" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:432 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:230 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 msgid "Adjustment" msgstr "Adjustment" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:231 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 msgid "The adjustment that holds the value of the spin button" msgstr "The adjustment that holds the value of the spin button" @@ -1399,16 +1399,16 @@ msgstr "The adjustment that holds the value of the spin button" msgid "Climb rate" msgstr "Climb rate" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:239 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 msgid "The acceleration rate when you hold down a button" msgstr "The acceleration rate when you hold down a button" -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:254 -#: ../gtk/gtkspinbutton.c:248 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:247 msgid "Digits" msgstr "Digits" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:249 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 msgid "The number of decimal places to display" msgstr "The number of decimal places to display" @@ -1431,189 +1431,189 @@ msgstr "Pulse of the spinner" msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "The GtkIconSize value that specifies the size of the rendered spinner" -#: ../gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Text to render" -#: ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Markup" -#: ../gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Marked up text to render" -#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:573 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 msgid "Attributes" msgstr "Attributes" -#: ../gtk/gtkcellrenderertext.c:264 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "A list of style attributes to apply to the text of the renderer" -#: ../gtk/gtkcellrenderertext.c:271 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Single Paragraph Mode" -#: ../gtk/gtkcellrenderertext.c:272 +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" msgstr "Whether to keep all text in a single paragraph" -#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtkcellview.c:192 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 #: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "Background color name" -#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtkcellview.c:193 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 #: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "Background color as a string" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:199 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 #: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "Background color" -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "Background color as a GdkColor" -#: ../gtk/gtkcellrenderertext.c:303 +#: ../gtk/gtkcellrenderertext.c:311 msgid "Background color as RGBA" msgstr "Background color as RGBA" -#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtkcellview.c:214 +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 msgid "Background color as a GdkRGBA" msgstr "Background color as a GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:310 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "Foreground color name" -#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "Foreground color as a string" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:210 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 #: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "Foreground color" -#: ../gtk/gtkcellrenderertext.c:319 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Foreground color as a GdkColor" -#: ../gtk/gtkcellrenderertext.c:333 +#: ../gtk/gtkcellrenderertext.c:341 msgid "Foreground color as RGBA" msgstr "Foreground color as RGBA" -#: ../gtk/gtkcellrenderertext.c:334 +#: ../gtk/gtkcellrenderertext.c:342 msgid "Foreground color as a GdkRGBA" msgstr "Foreground color as a GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtkentry.c:753 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:686 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 msgid "Editable" msgstr "Editable" -#: ../gtk/gtkcellrenderertext.c:343 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:687 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:685 msgid "Whether the text can be modified by the user" msgstr "Whether the text can be modified by the user" -#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkcellrenderertext.c:358 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 #: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "Font" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Font description as a string, e.g. \"Sans Italic 12\"" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "Font description as a PangoFontDescription struct" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "Font family" -#: ../gtk/gtkcellrenderertext.c:368 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtkcellrenderertext.c:376 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 #: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "Font style" -#: ../gtk/gtkcellrenderertext.c:384 ../gtk/gtkcellrenderertext.c:385 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 #: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "Font variant" -#: ../gtk/gtkcellrenderertext.c:393 ../gtk/gtkcellrenderertext.c:394 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 #: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "Font weight" -#: ../gtk/gtkcellrenderertext.c:403 ../gtk/gtkcellrenderertext.c:404 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 #: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "Font stretch" -#: ../gtk/gtkcellrenderertext.c:412 ../gtk/gtkcellrenderertext.c:413 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 #: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "Font size" -#: ../gtk/gtkcellrenderertext.c:422 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "Font points" -#: ../gtk/gtkcellrenderertext.c:423 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "Font size in points" -#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "Font scale" -#: ../gtk/gtkcellrenderertext.c:433 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Font scaling factor" -#: ../gtk/gtkcellrenderertext.c:442 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "Rise" -#: ../gtk/gtkcellrenderertext.c:443 +#: ../gtk/gtkcellrenderertext.c:451 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Offset of text above the baseline (below the baseline if rise is negative)" -#: ../gtk/gtkcellrenderertext.c:454 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "Strikethrough" -#: ../gtk/gtkcellrenderertext.c:455 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "Whether to strike through the text" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "Underline" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "Style of underline for this text" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "Language" -#: ../gtk/gtkcellrenderertext.c:472 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1623,12 +1623,12 @@ msgstr "" "when rendering the text. If you don't understand this parameter, you " "probably don't need it" -#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:698 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 #: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Ellipsize" -#: ../gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1636,28 +1636,28 @@ msgstr "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" -#: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 #: ../gtk/gtklabel.c:719 msgid "Width In Characters" msgstr "Width In Characters" -#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:720 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 msgid "The desired width of the label, in characters" msgstr "The desired width of the label, in characters" -#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:780 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 msgid "Maximum Width In Characters" msgstr "Maximum Width In Characters" -#: ../gtk/gtkcellrenderertext.c:538 +#: ../gtk/gtkcellrenderertext.c:546 msgid "The maximum width of the cell, in characters" msgstr "The maximum width of the cell, in characters" -#: ../gtk/gtkcellrenderertext.c:556 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "Wrap mode" -#: ../gtk/gtkcellrenderertext.c:557 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1665,149 +1665,149 @@ msgstr "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" -#: ../gtk/gtkcellrenderertext.c:576 ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 msgid "Wrap width" msgstr "Wrap width" -#: ../gtk/gtkcellrenderertext.c:577 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "The width at which the text is wrapped" -#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 msgid "Alignment" msgstr "Alignment" -#: ../gtk/gtkcellrenderertext.c:598 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "How to draw the toolbar" -#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtkcellview.c:236 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 #: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "Background set" -#: ../gtk/gtkcellrenderertext.c:611 ../gtk/gtkcellview.c:237 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 #: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "Whether this tag affects the background color" -#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "Foreground set" -#: ../gtk/gtkcellrenderertext.c:615 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "Whether this tag affects the foreground color" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "Editability set" -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "Whether this tag affects text editability" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "Font family set" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "Whether this tag affects the font family" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "Font style set" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "Whether this tag affects the font style" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "Font variant set" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "Whether this tag affects the font variant" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "Font weight set" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "Whether this tag affects the font weight" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "Font stretch set" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "Whether this tag affects the font stretch" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "Font size set" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "Whether this tag affects the font size" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "Font scale set" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "Whether this tag scales the font size by a factor" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "Rise set" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "Whether this tag affects the rise" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "Strikethrough set" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "Whether this tag affects strikethrough" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "Underline set" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "Whether this tag affects underlining" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "Language set" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "Whether this tag affects the language the text is rendered as" -#: ../gtk/gtkcellrenderertext.c:666 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Ellipsize set" -#: ../gtk/gtkcellrenderertext.c:667 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "Whether this tag affects the ellipsize mode" -#: ../gtk/gtkcellrenderertext.c:670 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Align set" -#: ../gtk/gtkcellrenderertext.c:671 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Whether this tag affects the alignment mode" @@ -1868,7 +1868,7 @@ msgstr "The model for cell view" msgid "Indicator Size" msgstr "Indicator Size" -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 msgid "Indicator Spacing" msgstr "Indicator Spacing" @@ -1905,8 +1905,8 @@ msgid "Whether to give the color an alpha value" msgstr "Whether to give the color an alpha value" #: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:286 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 msgid "Title" msgstr "Title" @@ -2046,7 +2046,7 @@ msgstr "Add tearoffs to menus" msgid "Whether dropdowns should have a tearoff menu item" msgstr "Whether dropdowns should have a tearoff menu item" -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:778 +#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Has Frame" @@ -2150,7 +2150,7 @@ msgstr "Arrow Size" msgid "The minimum size of the arrow in the combo box" msgstr "The minimum size of the arrow in the combo box" -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:878 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 #: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 #: ../gtk/gtkviewport.c:154 msgid "Shadow type" @@ -2160,31 +2160,31 @@ msgstr "Shadow type" msgid "Which kind of shadow to draw around the combo box" msgstr "Which kind of shadow to draw around the combo box" -#: ../gtk/gtkcontainer.c:476 +#: ../gtk/gtkcontainer.c:451 msgid "Resize mode" msgstr "Resize mode" -#: ../gtk/gtkcontainer.c:477 +#: ../gtk/gtkcontainer.c:452 msgid "Specify how resize events are handled" msgstr "Specify how resize events are handled" -#: ../gtk/gtkcontainer.c:484 +#: ../gtk/gtkcontainer.c:459 msgid "Border width" msgstr "Border width" -#: ../gtk/gtkcontainer.c:485 +#: ../gtk/gtkcontainer.c:460 msgid "The width of the empty border outside the containers children" msgstr "The width of the empty border outside the containers children" -#: ../gtk/gtkcontainer.c:493 +#: ../gtk/gtkcontainer.c:468 msgid "Child" msgstr "Child" -#: ../gtk/gtkcontainer.c:494 +#: ../gtk/gtkcontainer.c:469 msgid "Can be used to add a new child to the container" msgstr "Can be used to add a new child to the container" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Content area border" @@ -2192,7 +2192,7 @@ msgstr "Content area border" msgid "Width of border around the main dialog area" msgstr "Width of border around the main dialog area" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Content area spacing" @@ -2200,15 +2200,15 @@ msgstr "Content area spacing" msgid "Spacing between elements of the main dialog area" msgstr "Spacing between elements of the main dialog area" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Button spacing" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Spacing between buttons" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Action area border" @@ -2216,49 +2216,49 @@ msgstr "Action area border" msgid "Width of border around the button area at the bottom of the dialog" msgstr "Width of border around the button area at the bottom of the dialog" -#: ../gtk/gtkentry.c:725 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Text Buffer" -#: ../gtk/gtkentry.c:726 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "Text buffer object which actually stores entry text" -#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:661 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 msgid "Cursor Position" msgstr "Cursor Position" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 msgid "The current position of the insertion cursor in chars" msgstr "The current position of the insertion cursor in chars" -#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:671 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 msgid "Selection Bound" msgstr "Selection Bound" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" "The position of the opposite end of the selection from the cursor in chars" -#: ../gtk/gtkentry.c:754 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Whether the entry contents can be edited" -#: ../gtk/gtkentry.c:761 ../gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Maximum length" -#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Maximum number of characters for this entry. Zero if no maximum" -#: ../gtk/gtkentry.c:770 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Visibility" -#: ../gtk/gtkentry.c:771 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2266,30 +2266,30 @@ msgstr "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" -#: ../gtk/gtkentry.c:779 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "FALSE removes outside bevel from entry" -#: ../gtk/gtkentry.c:787 +#: ../gtk/gtkentry.c:788 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" "Border between text and frame. Overrides the inner-border style property" -#: ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1360 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Invisible character" -#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "The character to use when masking entry contents (in \"password mode\")" -#: ../gtk/gtkentry.c:802 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Activates default" -#: ../gtk/gtkentry.c:803 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2297,31 +2297,31 @@ msgstr "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" -#: ../gtk/gtkentry.c:809 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Width in chars" -#: ../gtk/gtkentry.c:810 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Number of characters to leave space for in the entry" -#: ../gtk/gtkentry.c:819 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Scroll offset" -#: ../gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "Number of pixels of the entry scrolled off the screen to the left" -#: ../gtk/gtkentry.c:830 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "The contents of the entry" -#: ../gtk/gtkentry.c:845 ../gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X align" -#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2329,63 +2329,63 @@ msgstr "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." -#: ../gtk/gtkentry.c:862 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Truncate multiline" -#: ../gtk/gtkentry.c:863 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Whether to truncate multiline pastes to one line." -#: ../gtk/gtkentry.c:879 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "Which kind of shadow to draw around the entry when has-frame is set" -#: ../gtk/gtkentry.c:894 ../gtk/gtktextview.c:766 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 msgid "Overwrite mode" msgstr "Overwrite mode" -#: ../gtk/gtkentry.c:895 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "Whether new text overwrites existing text" -#: ../gtk/gtkentry.c:909 ../gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Text length" -#: ../gtk/gtkentry.c:910 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "Length of the text currently in the entry" -#: ../gtk/gtkentry.c:925 +#: ../gtk/gtkentry.c:926 msgid "Invisible character set" msgstr "Invisible character set" -#: ../gtk/gtkentry.c:926 +#: ../gtk/gtkentry.c:927 msgid "Whether the invisible character has been set" msgstr "Whether the invisible character has been set" -#: ../gtk/gtkentry.c:944 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Caps Lock warning" -#: ../gtk/gtkentry.c:945 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "Whether password entries will show a warning when Caps Lock is on" -#: ../gtk/gtkentry.c:959 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Progress Fraction" -#: ../gtk/gtkentry.c:960 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "The current fraction of the task that's been completed" -#: ../gtk/gtkentry.c:977 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "Progress Pulse Step" -#: ../gtk/gtkentry.c:978 +#: ../gtk/gtkentry.c:979 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2393,167 +2393,167 @@ msgstr "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" -#: ../gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Primary pixbuf" -#: ../gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "Primary pixbuf for the entry" -#: ../gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Secondary pixbuf" -#: ../gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "Secondary pixbuf for the entry" -#: ../gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "Primary stock ID" -#: ../gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "Stock ID for primary icon" -#: ../gtk/gtkentry.c:1039 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "Secondary stock ID" -#: ../gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "Stock ID for secondary icon" -#: ../gtk/gtkentry.c:1054 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Primary icon name" -#: ../gtk/gtkentry.c:1055 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "Icon name for primary icon" -#: ../gtk/gtkentry.c:1069 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Secondary icon name" -#: ../gtk/gtkentry.c:1070 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "Icon name for secondary icon" -#: ../gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "Primary GIcon" -#: ../gtk/gtkentry.c:1085 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "GIcon for primary icon" -#: ../gtk/gtkentry.c:1099 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "Secondary GIcon" -#: ../gtk/gtkentry.c:1100 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "GIcon for secondary icon" -#: ../gtk/gtkentry.c:1114 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Primary storage type" -#: ../gtk/gtkentry.c:1115 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "The representation being used for primary icon" -#: ../gtk/gtkentry.c:1130 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Secondary storage type" -#: ../gtk/gtkentry.c:1131 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "The representation being used for secondary icon" -#: ../gtk/gtkentry.c:1152 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Primary icon activatable" -#: ../gtk/gtkentry.c:1153 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Whether the primary icon is activatable" -#: ../gtk/gtkentry.c:1173 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Secondary icon activatable" -#: ../gtk/gtkentry.c:1174 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Whether the secondary icon is activatable" -#: ../gtk/gtkentry.c:1196 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Primary icon sensitive" -#: ../gtk/gtkentry.c:1197 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Whether the primary icon is sensitive" -#: ../gtk/gtkentry.c:1218 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Secondary icon sensitive" -#: ../gtk/gtkentry.c:1219 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Whether the secondary icon is sensitive" -#: ../gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Primary icon tooltip text" -#: ../gtk/gtkentry.c:1236 ../gtk/gtkentry.c:1272 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "The contents of the tooltip on the primary icon" -#: ../gtk/gtkentry.c:1252 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Secondary icon tooltip text" -#: ../gtk/gtkentry.c:1253 ../gtk/gtkentry.c:1291 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "The contents of the tooltip on the secondary icon" -#: ../gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "Primary icon tooltip markup" -#: ../gtk/gtkentry.c:1290 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "Secondary icon tooltip markup" -#: ../gtk/gtkentry.c:1310 ../gtk/gtktextview.c:794 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 msgid "IM module" msgstr "IM module" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:795 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 msgid "Which IM module should be used" msgstr "Which IM module should be used" -#: ../gtk/gtkentry.c:1325 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "Icon Prelight" -#: ../gtk/gtkentry.c:1326 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" msgstr "Whether activatable icons should prelight when hovered" -#: ../gtk/gtkentry.c:1339 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Progress Border" -#: ../gtk/gtkentry.c:1340 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "Border around the progress bar" -#: ../gtk/gtkentry.c:1832 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Border between text and frame." @@ -2565,70 +2565,78 @@ msgstr "The contents of the buffer" msgid "Length of the text currently in the buffer" msgstr "Length of the text currently in the buffer" -#: ../gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:267 msgid "Completion Model" msgstr "Completion Model" -#: ../gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:268 msgid "The model to find matches in" msgstr "The model to find matches in" -#: ../gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:274 msgid "Minimum Key Length" msgstr "Minimum Key Length" -#: ../gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:275 msgid "Minimum length of the search key in order to look up matches" msgstr "Minimum length of the search key in order to look up matches" -#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:617 +#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "Text column" -#: ../gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:292 msgid "The column of the model containing the strings." msgstr "The column of the model containing the strings." -#: ../gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:311 msgid "Inline completion" msgstr "Inline completion" -#: ../gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:312 msgid "Whether the common prefix should be inserted automatically" msgstr "Whether the common prefix should be inserted automatically" -#: ../gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:326 msgid "Popup completion" msgstr "Popup completion" -#: ../gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:327 msgid "Whether the completions should be shown in a popup window" msgstr "Whether the completions should be shown in a popup window" -#: ../gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:342 msgid "Popup set width" msgstr "Popup set width" -#: ../gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:343 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "If TRUE, the popup window will have the same size as the entry" -#: ../gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:361 msgid "Popup single match" msgstr "Popup single match" -#: ../gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:362 msgid "If TRUE, the popup window will appear for a single match." msgstr "If TRUE, the popup window will appear for a single match." -#: ../gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:376 msgid "Inline selection" msgstr "Inline selection" -#: ../gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:377 msgid "Your description here" msgstr "Your description here" +#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 +msgid "Cell Area" +msgstr "Cell Area" + +#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 +msgid "The GtkCellArea used to layout cells" +msgstr "The GtkCellArea used to layout cells" + #: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "Visible Window" @@ -2653,58 +2661,58 @@ msgstr "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." -#: ../gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:199 msgid "Expanded" msgstr "Expanded" -#: ../gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:200 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Whether the expander has been opened to reveal the child widget" -#: ../gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:208 msgid "Text of the expander's label" msgstr "Text of the expander's label" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:580 +#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 msgid "Use markup" msgstr "Use markup" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "The text of the label includes XML markup. See pango_parse_markup()" -#: ../gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:232 msgid "Space to put between the label and the child" msgstr "Space to put between the label and the child" -#: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 #: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Label widget" -#: ../gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:242 msgid "A widget to display in place of the usual expander label" msgstr "A widget to display in place of the usual expander label" -#: ../gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:249 msgid "Label fill" msgstr "Label fill" -#: ../gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:250 msgid "Whether the label widget should fill all available horizontal space" msgstr "Whether the label widget should fill all available horizontal space" -#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:863 +#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1190 msgid "Expander Size" msgstr "Expander Size" -#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:864 +#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1191 msgid "Size of the expander arrow" msgstr "Size of the expander arrow" -#: ../gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:266 msgid "Spacing around expander arrow" msgstr "Spacing around expander arrow" @@ -3068,16 +3076,16 @@ msgid "" msgstr "" "How the text and icon of each item are positioned relative to each other" -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:698 -#: ../gtk/gtktreeviewcolumn.c:329 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 +#: ../gtk/gtktreeviewcolumn.c:358 msgid "Reorderable" msgstr "Reorderable" -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:699 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 msgid "View is reorderable" msgstr "View is reorderable" -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:849 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 msgid "Tooltip Column" msgstr "Tooltip Column" @@ -3187,23 +3195,23 @@ msgstr "Accel Group" msgid "The Accel Group to use for stock accelerator keys" msgstr "The Accel Group to use for stock accelerator keys" -#: ../gtk/gtkinfobar.c:375 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "Message Type" -#: ../gtk/gtkinfobar.c:376 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "The type of message" -#: ../gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Width of border around the content area" -#: ../gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "Spacing between elements of the area" -#: ../gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Width of border around the action area" @@ -3224,7 +3232,7 @@ msgstr "The text of the label" msgid "A list of style attributes to apply to the text of the label" msgstr "A list of style attributes to apply to the text of the label" -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 msgid "Justification" msgstr "Justification" @@ -3326,7 +3334,7 @@ msgstr "Track visited links" msgid "Whether visited links should be tracked" msgstr "Whether visited links should be tracked" -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 msgid "Width" msgstr "Width" @@ -3702,51 +3710,51 @@ msgstr "Are we showing a dialog" msgid "The screen where this window will be displayed." msgstr "The screen where this window will be displayed." -#: ../gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:692 msgid "Page" msgstr "Page" -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:693 msgid "The index of the current page" msgstr "The index of the current page" -#: ../gtk/gtknotebook.c:700 +#: ../gtk/gtknotebook.c:701 msgid "Tab Position" msgstr "Tab Position" -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:702 msgid "Which side of the notebook holds the tabs" msgstr "Which side of the notebook holds the tabs" -#: ../gtk/gtknotebook.c:708 +#: ../gtk/gtknotebook.c:709 msgid "Show Tabs" msgstr "Show Tabs" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:710 msgid "Whether tabs should be shown" msgstr "Whether tabs should be shown" -#: ../gtk/gtknotebook.c:715 +#: ../gtk/gtknotebook.c:716 msgid "Show Border" msgstr "Show Border" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:717 msgid "Whether the border should be shown" msgstr "Whether the border should be shown" -#: ../gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:723 msgid "Scrollable" msgstr "Scrollable" -#: ../gtk/gtknotebook.c:723 +#: ../gtk/gtknotebook.c:724 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "If TRUE, scroll arrows are added if there are too many tabs to fit" -#: ../gtk/gtknotebook.c:729 +#: ../gtk/gtknotebook.c:730 msgid "Enable Popup" msgstr "Enable Popup" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:731 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3754,123 +3762,123 @@ msgstr "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" -#: ../gtk/gtknotebook.c:744 +#: ../gtk/gtknotebook.c:745 msgid "Group Name" msgstr "Group Name" -#: ../gtk/gtknotebook.c:745 +#: ../gtk/gtknotebook.c:746 msgid "Group name for tab drag and drop" msgstr "Group name for tab drag and drop" -#: ../gtk/gtknotebook.c:752 +#: ../gtk/gtknotebook.c:753 msgid "Tab label" msgstr "Tab label" -#: ../gtk/gtknotebook.c:753 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed on the child's tab label" msgstr "The string displayed on the child's tab label" -#: ../gtk/gtknotebook.c:759 +#: ../gtk/gtknotebook.c:760 msgid "Menu label" msgstr "Menu label" -#: ../gtk/gtknotebook.c:760 +#: ../gtk/gtknotebook.c:761 msgid "The string displayed in the child's menu entry" msgstr "The string displayed in the child's menu entry" -#: ../gtk/gtknotebook.c:773 +#: ../gtk/gtknotebook.c:774 msgid "Tab expand" msgstr "Tab expand" -#: ../gtk/gtknotebook.c:774 +#: ../gtk/gtknotebook.c:775 msgid "Whether to expand the child's tab" msgstr "Whether to expand the child's tab" -#: ../gtk/gtknotebook.c:780 +#: ../gtk/gtknotebook.c:781 msgid "Tab fill" msgstr "Tab fill" -#: ../gtk/gtknotebook.c:781 +#: ../gtk/gtknotebook.c:782 msgid "Whether the child's tab should fill the allocated area" msgstr "Whether the child's tab should fill the allocated area" -#: ../gtk/gtknotebook.c:794 +#: ../gtk/gtknotebook.c:795 msgid "Tab pack type" msgstr "Tab pack type" -#: ../gtk/gtknotebook.c:801 +#: ../gtk/gtknotebook.c:802 msgid "Tab reorderable" msgstr "Tab reorderable" -#: ../gtk/gtknotebook.c:802 +#: ../gtk/gtknotebook.c:803 msgid "Whether the tab is reorderable by user action" msgstr "Whether the tab is reorderable by user action" -#: ../gtk/gtknotebook.c:808 +#: ../gtk/gtknotebook.c:809 msgid "Tab detachable" msgstr "Tab detachable" -#: ../gtk/gtknotebook.c:809 +#: ../gtk/gtknotebook.c:810 msgid "Whether the tab is detachable" msgstr "Whether the tab is detachable" -#: ../gtk/gtknotebook.c:824 ../gtk/gtkscrollbar.c:105 +#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Secondary backward stepper" -#: ../gtk/gtknotebook.c:825 +#: ../gtk/gtknotebook.c:826 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Display a second backward arrow button on the opposite end of the tab area" -#: ../gtk/gtknotebook.c:840 ../gtk/gtkscrollbar.c:112 +#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Secondary forward stepper" -#: ../gtk/gtknotebook.c:841 +#: ../gtk/gtknotebook.c:842 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Display a second forward arrow button on the opposite end of the tab area" -#: ../gtk/gtknotebook.c:855 ../gtk/gtkscrollbar.c:91 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Backward stepper" -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:92 +#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Display the standard backward arrow button" -#: ../gtk/gtknotebook.c:870 ../gtk/gtkscrollbar.c:98 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Forward stepper" -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:99 +#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Display the standard forward arrow button" -#: ../gtk/gtknotebook.c:885 +#: ../gtk/gtknotebook.c:886 msgid "Tab overlap" msgstr "Tab overlap" -#: ../gtk/gtknotebook.c:886 +#: ../gtk/gtknotebook.c:887 msgid "Size of tab overlap area" msgstr "Size of tab overlap area" -#: ../gtk/gtknotebook.c:901 +#: ../gtk/gtknotebook.c:902 msgid "Tab curvature" msgstr "Tab curvature" -#: ../gtk/gtknotebook.c:902 +#: ../gtk/gtknotebook.c:903 msgid "Size of tab curvature" msgstr "Size of tab curvature" -#: ../gtk/gtknotebook.c:918 +#: ../gtk/gtknotebook.c:919 msgid "Arrow spacing" msgstr "Arrow spacing" -#: ../gtk/gtknotebook.c:919 +#: ../gtk/gtknotebook.c:920 msgid "Scroll arrow spacing" msgstr "Scroll arrow spacing" @@ -3937,19 +3945,19 @@ msgstr "Shrink" msgid "If TRUE, the child can be made smaller than its requisition" msgstr "If TRUE, the child can be made smaller than its requisition" -#: ../gtk/gtkplug.c:172 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:173 ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "Embedded" -#: ../gtk/gtkplug.c:173 +#: ../gtk/gtkplug.c:174 msgid "Whether the plug is embedded" msgstr "Whether the plug is embedded" -#: ../gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:188 msgid "Socket Window" msgstr "Socket Window" -#: ../gtk/gtkplug.c:188 +#: ../gtk/gtkplug.c:189 msgid "The window of the socket the plug is embedded in" msgstr "The window of the socket the plug is embedded in" @@ -4041,36 +4049,36 @@ msgstr "Source option" msgid "The PrinterOption backing this widget" msgstr "The PrinterOption backing this widget" -#: ../gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "Title of the print job" -#: ../gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "Printer" -#: ../gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "Printer to print the job to" -#: ../gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "Settings" -#: ../gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "Printer settings" -#: ../gtk/gtkprintjob.c:142 ../gtk/gtkprintjob.c:143 +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 #: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Page Setup" -#: ../gtk/gtkprintjob.c:151 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "Track Print Status" -#: ../gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:163 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4383,27 +4391,27 @@ msgstr "The radio menu item whose group this widget belongs to." msgid "The radio tool button whose group this button belongs to." msgstr "The radio tool button whose group this button belongs to." -#: ../gtk/gtkrange.c:423 +#: ../gtk/gtkrange.c:422 msgid "Update policy" msgstr "Update policy" -#: ../gtk/gtkrange.c:424 +#: ../gtk/gtkrange.c:423 msgid "How the range should be updated on the screen" msgstr "How the range should be updated on the screen" -#: ../gtk/gtkrange.c:433 +#: ../gtk/gtkrange.c:432 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "The GtkAdjustment that contains the current value of this range object" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:440 msgid "Invert direction slider moves to increase range value" msgstr "Invert direction slider moves to increase range value" -#: ../gtk/gtkrange.c:448 +#: ../gtk/gtkrange.c:447 msgid "Lower stepper sensitivity" msgstr "Lower stepper sensitivity" -#: ../gtk/gtkrange.c:449 +#: ../gtk/gtkrange.c:448 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4411,11 +4419,11 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" -#: ../gtk/gtkrange.c:457 +#: ../gtk/gtkrange.c:456 msgid "Upper stepper sensitivity" msgstr "Upper stepper sensitivity" -#: ../gtk/gtkrange.c:458 +#: ../gtk/gtkrange.c:457 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4423,87 +4431,87 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:474 msgid "Show Fill Level" msgstr "Show Fill Level" -#: ../gtk/gtkrange.c:476 +#: ../gtk/gtkrange.c:475 msgid "Whether to display a fill level indicator graphics on trough." msgstr "Whether to display a fill level indicator graphics on trough." -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:491 msgid "Restrict to Fill Level" msgstr "Restrict to Fill Level" -#: ../gtk/gtkrange.c:493 +#: ../gtk/gtkrange.c:492 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Whether to restrict the upper boundary to the fill level." -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:507 msgid "Fill Level" msgstr "Fill Level" -#: ../gtk/gtkrange.c:509 +#: ../gtk/gtkrange.c:508 msgid "The fill level." msgstr "The fill level." -#: ../gtk/gtkrange.c:517 ../gtk/gtkswitch.c:772 +#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 msgid "Slider Width" msgstr "Slider Width" -#: ../gtk/gtkrange.c:518 +#: ../gtk/gtkrange.c:517 msgid "Width of scrollbar or scale thumb" msgstr "Width of scrollbar or scale thumb" -#: ../gtk/gtkrange.c:525 +#: ../gtk/gtkrange.c:524 msgid "Trough Border" msgstr "Trough Border" -#: ../gtk/gtkrange.c:526 +#: ../gtk/gtkrange.c:525 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Spacing between thumb/steppers and outer trough bevel" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:532 msgid "Stepper Size" msgstr "Stepper Size" -#: ../gtk/gtkrange.c:534 +#: ../gtk/gtkrange.c:533 msgid "Length of step buttons at ends" msgstr "Length of step buttons at ends" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:548 msgid "Stepper Spacing" msgstr "Stepper Spacing" -#: ../gtk/gtkrange.c:550 +#: ../gtk/gtkrange.c:549 msgid "Spacing between step buttons and thumb" msgstr "Spacing between step buttons and thumb" -#: ../gtk/gtkrange.c:557 +#: ../gtk/gtkrange.c:556 msgid "Arrow X Displacement" msgstr "Arrow X Displacement" -#: ../gtk/gtkrange.c:558 +#: ../gtk/gtkrange.c:557 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "How far in the x direction to move the arrow when the button is depressed" -#: ../gtk/gtkrange.c:565 +#: ../gtk/gtkrange.c:564 msgid "Arrow Y Displacement" msgstr "Arrow Y Displacement" -#: ../gtk/gtkrange.c:566 +#: ../gtk/gtkrange.c:565 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "How far in the y direction to move the arrow when the button is depressed" -#: ../gtk/gtkrange.c:584 +#: ../gtk/gtkrange.c:583 msgid "Trough Under Steppers" msgstr "Trough Under Steppers" -#: ../gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:584 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4511,11 +4519,11 @@ msgstr "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" -#: ../gtk/gtkrange.c:598 +#: ../gtk/gtkrange.c:597 msgid "Arrow scaling" msgstr "Arrow scaling" -#: ../gtk/gtkrange.c:599 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling with regard to scroll button size" msgstr "Arrow scaling with regard to scroll button size" @@ -4630,65 +4638,65 @@ msgstr "Icons" msgid "List of icon names" msgstr "List of icon names" -#: ../gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "The number of decimal places that are displayed in the value" -#: ../gtk/gtkscale.c:264 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Draw Value" -#: ../gtk/gtkscale.c:265 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "Whether the current value is displayed as a string next to the slider" -#: ../gtk/gtkscale.c:272 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Value Position" -#: ../gtk/gtkscale.c:273 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "The position in which the current value is displayed" -#: ../gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Slider Length" -#: ../gtk/gtkscale.c:281 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Length of scale's slider" -#: ../gtk/gtkscale.c:289 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Value spacing" -#: ../gtk/gtkscale.c:290 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "Space between value text and the slider/trough area" -#: ../gtk/gtkscrollbar.c:75 +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Minimum Slider Length" -#: ../gtk/gtkscrollbar.c:76 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Minimum length of scrollbar slider" -#: ../gtk/gtkscrollbar.c:84 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Fixed slider size" -#: ../gtk/gtkscrollbar.c:85 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "Don't change slider size, just lock it to the minimum length" -#: ../gtk/gtkscrollbar.c:106 +#: ../gtk/gtkscrollbar.c:103 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" "Display a second backward arrow button on the opposite end of the scrollbar" -#: ../gtk/gtkscrollbar.c:113 +#: ../gtk/gtkscrollbar.c:110 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" @@ -5417,15 +5425,15 @@ msgid "" msgstr "" "If TRUE, unmapped widgets are ignored when determining the size of the group" -#: ../gtk/gtkspinbutton.c:238 +#: ../gtk/gtkspinbutton.c:237 msgid "Climb Rate" msgstr "Climb Rate" -#: ../gtk/gtkspinbutton.c:258 +#: ../gtk/gtkspinbutton.c:257 msgid "Snap to Ticks" msgstr "Snap to Ticks" -#: ../gtk/gtkspinbutton.c:259 +#: ../gtk/gtkspinbutton.c:258 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5433,37 +5441,37 @@ msgstr "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" -#: ../gtk/gtkspinbutton.c:266 +#: ../gtk/gtkspinbutton.c:265 msgid "Numeric" msgstr "Numeric" -#: ../gtk/gtkspinbutton.c:267 +#: ../gtk/gtkspinbutton.c:266 msgid "Whether non-numeric characters should be ignored" msgstr "Whether non-numeric characters should be ignored" -#: ../gtk/gtkspinbutton.c:274 +#: ../gtk/gtkspinbutton.c:273 msgid "Wrap" msgstr "Wrap" -#: ../gtk/gtkspinbutton.c:275 +#: ../gtk/gtkspinbutton.c:274 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "Whether a spin button should wrap upon reaching its limits" -#: ../gtk/gtkspinbutton.c:282 +#: ../gtk/gtkspinbutton.c:281 msgid "Update Policy" msgstr "Update Policy" -#: ../gtk/gtkspinbutton.c:283 +#: ../gtk/gtkspinbutton.c:282 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Whether the spin button should update always, or only when the value is legal" -#: ../gtk/gtkspinbutton.c:292 +#: ../gtk/gtkspinbutton.c:291 msgid "Reads the current value, or sets a new value" msgstr "Reads the current value, or sets a new value" -#: ../gtk/gtkspinbutton.c:301 +#: ../gtk/gtkspinbutton.c:300 msgid "Style of bevel around the spin button" msgstr "Style of bevel around the spin button" @@ -5519,7 +5527,7 @@ msgstr "Whether the status icon is embedded" msgid "The orientation of the tray" msgstr "The orientation of the tray" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1036 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1020 msgid "Has tooltip" msgstr "Has tooltip" @@ -5527,15 +5535,15 @@ msgstr "Has tooltip" msgid "Whether this tray icon has a tooltip" msgstr "Whether this tray icon has a tooltip" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1057 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1041 msgid "Tooltip Text" msgstr "Tooltip Text" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1042 ../gtk/gtkwidget.c:1063 msgid "The contents of the tooltip for this widget" msgstr "The contents of the tooltip for this widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1078 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1062 msgid "Tooltip markup" msgstr "Tooltip markup" @@ -5547,11 +5555,11 @@ msgstr "The contents of the tooltip for this tray icon" msgid "The title of this tray icon" msgstr "The title of this tray icon" -#: ../gtk/gtkstyle.c:516 +#: ../gtk/gtkstyle.c:470 msgid "Style context" msgstr "Style context" -#: ../gtk/gtkstyle.c:517 +#: ../gtk/gtkstyle.c:471 msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext to get style from" @@ -5797,7 +5805,7 @@ msgstr "" "adapts to theme changes etc. so is recommended. Pango predefines some scales " "such as PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:704 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 msgid "Left, right, or center justification" msgstr "Left, right, or center justification" @@ -5813,7 +5821,7 @@ msgstr "" msgid "Left margin" msgstr "Left margin" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:713 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 msgid "Width of the left margin in pixels" msgstr "Width of the left margin in pixels" @@ -5821,15 +5829,15 @@ msgstr "Width of the left margin in pixels" msgid "Right margin" msgstr "Right margin" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:723 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 msgid "Width of the right margin in pixels" msgstr "Width of the right margin in pixels" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:732 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 msgid "Indent" msgstr "Indent" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:733 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 msgid "Amount to indent the paragraph, in pixels" msgstr "Amount to indent the paragraph, in pixels" @@ -5845,7 +5853,7 @@ msgstr "" msgid "Pixels above lines" msgstr "Pixels above lines" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:657 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 msgid "Pixels of blank space above paragraphs" msgstr "Pixels of blank space above paragraphs" @@ -5853,7 +5861,7 @@ msgstr "Pixels of blank space above paragraphs" msgid "Pixels below lines" msgstr "Pixels below lines" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:667 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 msgid "Pixels of blank space below paragraphs" msgstr "Pixels of blank space below paragraphs" @@ -5861,21 +5869,21 @@ msgstr "Pixels of blank space below paragraphs" msgid "Pixels inside wrap" msgstr "Pixels inside wrap" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Pixels of blank space between wrapped lines in a paragraph" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Whether to wrap lines never, at word boundaries, or at character boundaries" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:742 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 msgid "Tabs" msgstr "Tabs" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:743 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 msgid "Custom tabs for this text" msgstr "Custom tabs for this text" @@ -6003,63 +6011,63 @@ msgstr "Paragraph background set" msgid "Whether this tag affects the paragraph background color" msgstr "Whether this tag affects the paragraph background color" -#: ../gtk/gtktextview.c:656 +#: ../gtk/gtktextview.c:654 msgid "Pixels Above Lines" msgstr "Pixels Above Lines" -#: ../gtk/gtktextview.c:666 +#: ../gtk/gtktextview.c:664 msgid "Pixels Below Lines" msgstr "Pixels Below Lines" -#: ../gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:674 msgid "Pixels Inside Wrap" msgstr "Pixels Inside Wrap" -#: ../gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:692 msgid "Wrap Mode" msgstr "Wrap Mode" -#: ../gtk/gtktextview.c:712 +#: ../gtk/gtktextview.c:710 msgid "Left Margin" msgstr "Left Margin" -#: ../gtk/gtktextview.c:722 +#: ../gtk/gtktextview.c:720 msgid "Right Margin" msgstr "Right Margin" -#: ../gtk/gtktextview.c:750 +#: ../gtk/gtktextview.c:748 msgid "Cursor Visible" msgstr "Cursor Visible" -#: ../gtk/gtktextview.c:751 +#: ../gtk/gtktextview.c:749 msgid "If the insertion cursor is shown" msgstr "If the insertion cursor is shown" -#: ../gtk/gtktextview.c:758 +#: ../gtk/gtktextview.c:756 msgid "Buffer" msgstr "Buffer" -#: ../gtk/gtktextview.c:759 +#: ../gtk/gtktextview.c:757 msgid "The buffer which is displayed" msgstr "The buffer which is displayed" -#: ../gtk/gtktextview.c:767 +#: ../gtk/gtktextview.c:765 msgid "Whether entered text overwrites existing contents" msgstr "Whether entered text overwrites existing contents" -#: ../gtk/gtktextview.c:774 +#: ../gtk/gtktextview.c:772 msgid "Accepts tab" msgstr "Accepts tab" -#: ../gtk/gtktextview.c:775 +#: ../gtk/gtktextview.c:773 msgid "Whether Tab will result in a tab character being entered" msgstr "Whether Tab will result in a tab character being entered" -#: ../gtk/gtktextview.c:810 +#: ../gtk/gtktextview.c:808 msgid "Error underline color" msgstr "Error underline color" -#: ../gtk/gtktextview.c:811 +#: ../gtk/gtktextview.c:809 msgid "Color with which to draw error-indication underlines" msgstr "Color with which to draw error-indication underlines" @@ -6337,327 +6345,327 @@ msgstr "Success color for symbolic icons" msgid "Padding that should be put around icons in the tray" msgstr "Padding that should be put around icons in the tray" -#: ../gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:310 msgid "TreeModelSort Model" msgstr "TreeModelSort Model" -#: ../gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:311 msgid "The model for the TreeModelSort to sort" msgstr "The model for the TreeModelSort to sort" -#: ../gtk/gtktreeview.c:661 +#: ../gtk/gtktreeview.c:988 msgid "TreeView Model" msgstr "TreeView Model" -#: ../gtk/gtktreeview.c:662 +#: ../gtk/gtktreeview.c:989 msgid "The model for the tree view" msgstr "The model for the tree view" -#: ../gtk/gtktreeview.c:674 +#: ../gtk/gtktreeview.c:1001 msgid "Headers Visible" msgstr "Headers Visible" -#: ../gtk/gtktreeview.c:675 +#: ../gtk/gtktreeview.c:1002 msgid "Show the column header buttons" msgstr "Show the column header buttons" -#: ../gtk/gtktreeview.c:682 +#: ../gtk/gtktreeview.c:1009 msgid "Headers Clickable" msgstr "Headers Clickable" -#: ../gtk/gtktreeview.c:683 +#: ../gtk/gtktreeview.c:1010 msgid "Column headers respond to click events" msgstr "Column headers respond to click events" -#: ../gtk/gtktreeview.c:690 +#: ../gtk/gtktreeview.c:1017 msgid "Expander Column" msgstr "Expander Column" -#: ../gtk/gtktreeview.c:691 +#: ../gtk/gtktreeview.c:1018 msgid "Set the column for the expander column" msgstr "Set the column for the expander column" -#: ../gtk/gtktreeview.c:706 +#: ../gtk/gtktreeview.c:1033 msgid "Rules Hint" msgstr "Rules Hint" -#: ../gtk/gtktreeview.c:707 +#: ../gtk/gtktreeview.c:1034 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "Set a hint to the theme engine to draw rows in alternating colors" -#: ../gtk/gtktreeview.c:714 +#: ../gtk/gtktreeview.c:1041 msgid "Enable Search" msgstr "Enable Search" -#: ../gtk/gtktreeview.c:715 +#: ../gtk/gtktreeview.c:1042 msgid "View allows user to search through columns interactively" msgstr "View allows user to search through columns interactively" -#: ../gtk/gtktreeview.c:722 +#: ../gtk/gtktreeview.c:1049 msgid "Search Column" msgstr "Search Column" -#: ../gtk/gtktreeview.c:723 +#: ../gtk/gtktreeview.c:1050 msgid "Model column to search through during interactive search" msgstr "Model column to search through during interactive search" -#: ../gtk/gtktreeview.c:743 +#: ../gtk/gtktreeview.c:1070 msgid "Fixed Height Mode" msgstr "Fixed Height Mode" -#: ../gtk/gtktreeview.c:744 +#: ../gtk/gtktreeview.c:1071 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Speeds up GtkTreeView by assuming that all rows have the same height" -#: ../gtk/gtktreeview.c:764 +#: ../gtk/gtktreeview.c:1091 msgid "Hover Selection" msgstr "Hover Selection" -#: ../gtk/gtktreeview.c:765 +#: ../gtk/gtktreeview.c:1092 msgid "Whether the selection should follow the pointer" msgstr "Whether the selection should follow the pointer" -#: ../gtk/gtktreeview.c:784 +#: ../gtk/gtktreeview.c:1111 msgid "Hover Expand" msgstr "Hover Expand" -#: ../gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1112 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Whether rows should be expanded/collapsed when the pointer moves over them" -#: ../gtk/gtktreeview.c:799 +#: ../gtk/gtktreeview.c:1126 msgid "Show Expanders" msgstr "Show Expanders" -#: ../gtk/gtktreeview.c:800 +#: ../gtk/gtktreeview.c:1127 msgid "View has expanders" msgstr "View has expanders" -#: ../gtk/gtktreeview.c:814 +#: ../gtk/gtktreeview.c:1141 msgid "Level Indentation" msgstr "Level Indentation" -#: ../gtk/gtktreeview.c:815 +#: ../gtk/gtktreeview.c:1142 msgid "Extra indentation for each level" msgstr "Extra indentation for each level" -#: ../gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1151 msgid "Rubber Banding" msgstr "Rubber Banding" -#: ../gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1152 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Whether to enable selection of multiple items by dragging the mouse pointer" -#: ../gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1159 msgid "Enable Grid Lines" msgstr "Enable Grid Lines" -#: ../gtk/gtktreeview.c:833 +#: ../gtk/gtktreeview.c:1160 msgid "Whether grid lines should be drawn in the tree view" msgstr "Whether grid lines should be drawn in the tree view" -#: ../gtk/gtktreeview.c:841 +#: ../gtk/gtktreeview.c:1168 msgid "Enable Tree Lines" msgstr "Enable Tree Lines" -#: ../gtk/gtktreeview.c:842 +#: ../gtk/gtktreeview.c:1169 msgid "Whether tree lines should be drawn in the tree view" msgstr "Whether tree lines should be drawn in the tree view" -#: ../gtk/gtktreeview.c:850 +#: ../gtk/gtktreeview.c:1177 msgid "The column in the model containing the tooltip texts for the rows" msgstr "The column in the model containing the tooltip texts for the rows" -#: ../gtk/gtktreeview.c:872 +#: ../gtk/gtktreeview.c:1199 msgid "Vertical Separator Width" msgstr "Vertical Separator Width" -#: ../gtk/gtktreeview.c:873 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical space between cells. Must be an even number" msgstr "Vertical space between cells. Must be an even number" -#: ../gtk/gtktreeview.c:881 +#: ../gtk/gtktreeview.c:1208 msgid "Horizontal Separator Width" msgstr "Horizontal Separator Width" -#: ../gtk/gtktreeview.c:882 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal space between cells. Must be an even number" msgstr "Horizontal space between cells. Must be an even number" -#: ../gtk/gtktreeview.c:890 +#: ../gtk/gtktreeview.c:1217 msgid "Allow Rules" msgstr "Allow Rules" -#: ../gtk/gtktreeview.c:891 +#: ../gtk/gtktreeview.c:1218 msgid "Allow drawing of alternating color rows" msgstr "Allow drawing of alternating color rows" -#: ../gtk/gtktreeview.c:897 +#: ../gtk/gtktreeview.c:1224 msgid "Indent Expanders" msgstr "Indent Expanders" -#: ../gtk/gtktreeview.c:898 +#: ../gtk/gtktreeview.c:1225 msgid "Make the expanders indented" msgstr "Make the expanders indented" -#: ../gtk/gtktreeview.c:904 +#: ../gtk/gtktreeview.c:1231 msgid "Even Row Color" msgstr "Even Row Color" -#: ../gtk/gtktreeview.c:905 +#: ../gtk/gtktreeview.c:1232 msgid "Color to use for even rows" msgstr "Color to use for even rows" -#: ../gtk/gtktreeview.c:911 +#: ../gtk/gtktreeview.c:1238 msgid "Odd Row Color" msgstr "Odd Row Color" -#: ../gtk/gtktreeview.c:912 +#: ../gtk/gtktreeview.c:1239 msgid "Color to use for odd rows" msgstr "Color to use for odd rows" -#: ../gtk/gtktreeview.c:918 +#: ../gtk/gtktreeview.c:1245 msgid "Grid line width" msgstr "Grid line width" -#: ../gtk/gtktreeview.c:919 +#: ../gtk/gtktreeview.c:1246 msgid "Width, in pixels, of the tree view grid lines" msgstr "Width, in pixels, of the tree view grid lines" -#: ../gtk/gtktreeview.c:925 +#: ../gtk/gtktreeview.c:1252 msgid "Tree line width" msgstr "Tree line width" -#: ../gtk/gtktreeview.c:926 +#: ../gtk/gtktreeview.c:1253 msgid "Width, in pixels, of the tree view lines" msgstr "Width, in pixels, of the tree view lines" -#: ../gtk/gtktreeview.c:932 +#: ../gtk/gtktreeview.c:1259 msgid "Grid line pattern" msgstr "Grid line pattern" -#: ../gtk/gtktreeview.c:933 +#: ../gtk/gtktreeview.c:1260 msgid "Dash pattern used to draw the tree view grid lines" msgstr "Dash pattern used to draw the tree view grid lines" -#: ../gtk/gtktreeview.c:939 +#: ../gtk/gtktreeview.c:1266 msgid "Tree line pattern" msgstr "Tree line pattern" -#: ../gtk/gtktreeview.c:940 +#: ../gtk/gtktreeview.c:1267 msgid "Dash pattern used to draw the tree view lines" msgstr "Dash pattern used to draw the tree view lines" -#: ../gtk/gtktreeviewcolumn.c:214 +#: ../gtk/gtktreeviewcolumn.c:243 msgid "Whether to display the column" msgstr "Whether to display the column" -#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:656 +#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 msgid "Resizable" msgstr "Resizable" -#: ../gtk/gtktreeviewcolumn.c:222 +#: ../gtk/gtktreeviewcolumn.c:251 msgid "Column is user-resizable" msgstr "Column is user-resizable" -#: ../gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:259 msgid "Current width of the column" msgstr "Current width of the column" -#: ../gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:268 msgid "Space which is inserted between cells" msgstr "Space which is inserted between cells" -#: ../gtk/gtktreeviewcolumn.c:247 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Sizing" msgstr "Sizing" -#: ../gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Resize mode of the column" msgstr "Resize mode of the column" -#: ../gtk/gtktreeviewcolumn.c:256 +#: ../gtk/gtktreeviewcolumn.c:285 msgid "Fixed Width" msgstr "Fixed Width" -#: ../gtk/gtktreeviewcolumn.c:257 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Current fixed width of the column" msgstr "Current fixed width of the column" -#: ../gtk/gtktreeviewcolumn.c:266 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Minimum Width" msgstr "Minimum Width" -#: ../gtk/gtktreeviewcolumn.c:267 +#: ../gtk/gtktreeviewcolumn.c:296 msgid "Minimum allowed width of the column" msgstr "Minimum allowed width of the column" -#: ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtktreeviewcolumn.c:305 msgid "Maximum Width" msgstr "Maximum Width" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum allowed width of the column" msgstr "Maximum allowed width of the column" -#: ../gtk/gtktreeviewcolumn.c:287 +#: ../gtk/gtktreeviewcolumn.c:316 msgid "Title to appear in column header" msgstr "Title to appear in column header" -#: ../gtk/gtktreeviewcolumn.c:295 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Column gets share of extra width allocated to the widget" msgstr "Column gets share of extra width allocated to the widget" -#: ../gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:331 msgid "Clickable" msgstr "Clickable" -#: ../gtk/gtktreeviewcolumn.c:303 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Whether the header can be clicked" msgstr "Whether the header can be clicked" -#: ../gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtktreeviewcolumn.c:340 msgid "Widget" msgstr "Widget" -#: ../gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget to put in column header button instead of column title" msgstr "Widget to put in column header button instead of column title" -#: ../gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:349 msgid "X Alignment of the column header text or widget" msgstr "X Alignment of the column header text or widget" -#: ../gtk/gtktreeviewcolumn.c:330 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Whether the column can be reordered around the headers" msgstr "Whether the column can be reordered around the headers" -#: ../gtk/gtktreeviewcolumn.c:337 +#: ../gtk/gtktreeviewcolumn.c:366 msgid "Sort indicator" msgstr "Sort indicator" -#: ../gtk/gtktreeviewcolumn.c:338 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Whether to show a sort indicator" msgstr "Whether to show a sort indicator" -#: ../gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:374 msgid "Sort order" msgstr "Sort order" -#: ../gtk/gtktreeviewcolumn.c:346 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort direction the sort indicator should indicate" msgstr "Sort direction the sort indicator should indicate" -#: ../gtk/gtktreeviewcolumn.c:362 +#: ../gtk/gtktreeviewcolumn.c:391 msgid "Sort column ID" msgstr "Sort column ID" -#: ../gtk/gtktreeviewcolumn.c:363 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "Logical sort column ID this column sorts on when selected for sorting" @@ -6677,27 +6685,35 @@ msgstr "An XML string describing the merged UI" msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Determines how the shadowed box around the viewport is drawn" -#: ../gtk/gtkwidget.c:887 +#: ../gtk/gtkvolumebutton.c:156 +msgid "Use symbolic icons" +msgstr "Use symbolic icons" + +#: ../gtk/gtkvolumebutton.c:157 +msgid "Whether to use symbolic icons" +msgstr "Whether to use symbolic icons" + +#: ../gtk/gtkwidget.c:879 msgid "Widget name" msgstr "Widget name" -#: ../gtk/gtkwidget.c:888 +#: ../gtk/gtkwidget.c:880 msgid "The name of the widget" msgstr "The name of the widget" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:886 msgid "Parent widget" msgstr "Parent widget" -#: ../gtk/gtkwidget.c:895 +#: ../gtk/gtkwidget.c:887 msgid "The parent widget of this widget. Must be a Container widget" msgstr "The parent widget of this widget. Must be a Container widget" -#: ../gtk/gtkwidget.c:902 +#: ../gtk/gtkwidget.c:894 msgid "Width request" msgstr "Width request" -#: ../gtk/gtkwidget.c:903 +#: ../gtk/gtkwidget.c:895 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6705,11 +6721,11 @@ msgstr "" "Override for width request of the widget, or -1 if natural request should be " "used" -#: ../gtk/gtkwidget.c:911 +#: ../gtk/gtkwidget.c:903 msgid "Height request" msgstr "Height request" -#: ../gtk/gtkwidget.c:912 +#: ../gtk/gtkwidget.c:904 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6717,83 +6733,83 @@ msgstr "" "Override for height request of the widget, or -1 if natural request should " "be used" -#: ../gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:913 msgid "Whether the widget is visible" msgstr "Whether the widget is visible" -#: ../gtk/gtkwidget.c:928 +#: ../gtk/gtkwidget.c:920 msgid "Whether the widget responds to input" msgstr "Whether the widget responds to input" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:926 msgid "Application paintable" msgstr "Application paintable" -#: ../gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:927 msgid "Whether the application will paint directly on the widget" msgstr "Whether the application will paint directly on the widget" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:933 msgid "Can focus" msgstr "Can focus" -#: ../gtk/gtkwidget.c:942 +#: ../gtk/gtkwidget.c:934 msgid "Whether the widget can accept the input focus" msgstr "Whether the widget can accept the input focus" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:940 msgid "Has focus" msgstr "Has focus" -#: ../gtk/gtkwidget.c:949 +#: ../gtk/gtkwidget.c:941 msgid "Whether the widget has the input focus" msgstr "Whether the widget has the input focus" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:947 msgid "Is focus" msgstr "Is focus" -#: ../gtk/gtkwidget.c:956 +#: ../gtk/gtkwidget.c:948 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Whether the widget is the focus widget within the toplevel" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:954 msgid "Can default" msgstr "Can default" -#: ../gtk/gtkwidget.c:963 +#: ../gtk/gtkwidget.c:955 msgid "Whether the widget can be the default widget" msgstr "Whether the widget can be the default widget" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:961 msgid "Has default" msgstr "Has default" -#: ../gtk/gtkwidget.c:970 +#: ../gtk/gtkwidget.c:962 msgid "Whether the widget is the default widget" msgstr "Whether the widget is the default widget" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:968 msgid "Receives default" msgstr "Receives default" -#: ../gtk/gtkwidget.c:977 +#: ../gtk/gtkwidget.c:969 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "If TRUE, the widget will receive the default action when it is focused" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:975 msgid "Composite child" msgstr "Composite child" -#: ../gtk/gtkwidget.c:984 +#: ../gtk/gtkwidget.c:976 msgid "Whether the widget is part of a composite widget" msgstr "Whether the widget is part of a composite widget" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:982 msgid "Style" msgstr "Style" -#: ../gtk/gtkwidget.c:991 +#: ../gtk/gtkwidget.c:983 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -6801,135 +6817,127 @@ msgstr "" "The style of the widget, which contains information about how it will look " "(colors etc)" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:989 msgid "Events" msgstr "Events" -#: ../gtk/gtkwidget.c:998 +#: ../gtk/gtkwidget.c:990 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "The event mask that decides what kind of GdkEvents this widget gets" -#: ../gtk/gtkwidget.c:1005 -msgid "Extension events" -msgstr "Extension events" - -#: ../gtk/gtkwidget.c:1006 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "The mask that decides what kind of extension events this widget gets" - -#: ../gtk/gtkwidget.c:1013 +#: ../gtk/gtkwidget.c:997 msgid "No show all" msgstr "No show all" -#: ../gtk/gtkwidget.c:1014 +#: ../gtk/gtkwidget.c:998 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Whether gtk_widget_show_all() should not affect this widget" -#: ../gtk/gtkwidget.c:1037 +#: ../gtk/gtkwidget.c:1021 msgid "Whether this widget has a tooltip" msgstr "Whether this widget has a tooltip" -#: ../gtk/gtkwidget.c:1093 +#: ../gtk/gtkwidget.c:1077 msgid "Window" msgstr "Window" -#: ../gtk/gtkwidget.c:1094 +#: ../gtk/gtkwidget.c:1078 msgid "The widget's window if it is realized" msgstr "The widget's window if it is realized" -#: ../gtk/gtkwidget.c:1108 +#: ../gtk/gtkwidget.c:1092 msgid "Double Buffered" msgstr "Double Buffered" -#: ../gtk/gtkwidget.c:1109 +#: ../gtk/gtkwidget.c:1093 msgid "Whether the widget is double buffered" msgstr "Whether the widget is double buffered" -#: ../gtk/gtkwidget.c:1124 +#: ../gtk/gtkwidget.c:1108 msgid "How to position in extra horizontal space" msgstr "How to position in extra horizontal space" -#: ../gtk/gtkwidget.c:1140 +#: ../gtk/gtkwidget.c:1124 msgid "How to position in extra vertical space" msgstr "How to position in extra vertical space" -#: ../gtk/gtkwidget.c:1159 +#: ../gtk/gtkwidget.c:1143 msgid "Margin on Left" msgstr "Margin on Left" -#: ../gtk/gtkwidget.c:1160 +#: ../gtk/gtkwidget.c:1144 msgid "Pixels of extra space on the left side" msgstr "Pixels of extra space on the left side" -#: ../gtk/gtkwidget.c:1180 +#: ../gtk/gtkwidget.c:1164 msgid "Margin on Right" msgstr "Margin on Right" -#: ../gtk/gtkwidget.c:1181 +#: ../gtk/gtkwidget.c:1165 msgid "Pixels of extra space on the right side" msgstr "Pixels of extra space on the right side" -#: ../gtk/gtkwidget.c:1201 +#: ../gtk/gtkwidget.c:1185 msgid "Margin on Top" msgstr "Margin on Top" -#: ../gtk/gtkwidget.c:1202 +#: ../gtk/gtkwidget.c:1186 msgid "Pixels of extra space on the top side" msgstr "Pixels of extra space on the top side" -#: ../gtk/gtkwidget.c:1222 +#: ../gtk/gtkwidget.c:1206 msgid "Margin on Bottom" msgstr "Margin on Bottom" -#: ../gtk/gtkwidget.c:1223 +#: ../gtk/gtkwidget.c:1207 msgid "Pixels of extra space on the bottom side" msgstr "Pixels of extra space on the bottom side" -#: ../gtk/gtkwidget.c:1240 +#: ../gtk/gtkwidget.c:1224 msgid "All Margins" msgstr "All Margins" -#: ../gtk/gtkwidget.c:1241 +#: ../gtk/gtkwidget.c:1225 msgid "Pixels of extra space on all four sides" msgstr "Pixels of extra space on all four sides" -#: ../gtk/gtkwidget.c:1274 +#: ../gtk/gtkwidget.c:1258 msgid "Horizontal Expand" msgstr "Horizontal Expand" -#: ../gtk/gtkwidget.c:1275 +#: ../gtk/gtkwidget.c:1259 msgid "Whether widget wants more horizontal space" msgstr "Whether widget wants more horizontal space" -#: ../gtk/gtkwidget.c:1289 +#: ../gtk/gtkwidget.c:1273 msgid "Horizontal Expand Set" msgstr "Horizontal Expand Set" -#: ../gtk/gtkwidget.c:1290 +#: ../gtk/gtkwidget.c:1274 msgid "Whether to use the hexpand property" msgstr "Whether to use the hexpand property" -#: ../gtk/gtkwidget.c:1304 +#: ../gtk/gtkwidget.c:1288 msgid "Vertical Expand" msgstr "Vertical Expand" -#: ../gtk/gtkwidget.c:1305 +#: ../gtk/gtkwidget.c:1289 msgid "Whether widget wants more vertical space" msgstr "Whether widget wants more vertical space" -#: ../gtk/gtkwidget.c:1319 +#: ../gtk/gtkwidget.c:1303 msgid "Vertical Expand Set" msgstr "Vertical Expand Set" -#: ../gtk/gtkwidget.c:1320 +#: ../gtk/gtkwidget.c:1304 msgid "Whether to use the vexpand property" msgstr "Whether to use the vexpand property" -#: ../gtk/gtkwidget.c:1334 +#: ../gtk/gtkwidget.c:1318 msgid "Expand Both" msgstr "Expand Both" -#: ../gtk/gtkwidget.c:1335 +#: ../gtk/gtkwidget.c:1319 msgid "Whether widget wants to expand in both directions" msgstr "Whether widget wants to expand in both directions" @@ -7300,6 +7308,13 @@ msgstr "GtkApplication" msgid "The GtkApplication for the window" msgstr "The GtkApplication for the window" +#~ msgid "Extension events" +#~ msgstr "Extension events" + +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "The mask that decides what kind of extension events this widget gets" + #~ msgid "Lower" #~ msgstr "Lower" diff --git a/po/he.po b/po/he.po index 4f465b6de0..48fac9b142 100644 --- a/po/he.po +++ b/po/he.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-04 15:16+0200\n" -"PO-Revision-Date: 2010-12-04 15:25+0200\n" +"POT-Creation-Date: 2010-12-19 09:02+0200\n" +"PO-Revision-Date: 2010-12-19 09:07+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -138,7 +138,7 @@ msgstr "בית" #: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" -msgstr "שמאל" +msgstr "שמאלה" #: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" @@ -148,7 +148,7 @@ msgstr "מעלה" #: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" -msgstr "ימין" +msgstr "ימינה" #: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" @@ -158,32 +158,32 @@ msgstr "מטה" #: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" -msgstr "עמוד_למעלה" +msgstr "Page_Up" #: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" -msgstr "עמוד_למטה" +msgstr "Page_Down" #: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" -msgstr "סוף" +msgstr "End" #: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" -msgstr "התחלה" +msgstr "Begin" #: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" -msgstr "הדפסה" +msgstr "Print" #: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" -msgstr "הוספה" +msgstr "Insert" #: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" @@ -213,7 +213,7 @@ msgstr "בית" #: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" -msgstr "שמאל" +msgstr "שמאלה" #: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" @@ -223,7 +223,7 @@ msgstr "מעלה" #: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" -msgstr "ימין" +msgstr "ימינה" #: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" @@ -233,7 +233,7 @@ msgstr "מטה" #: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" -msgstr "עמוד למעלה" +msgstr "Page Up" #: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" @@ -243,7 +243,7 @@ msgstr "קודם" #: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" -msgstr "עמוד למטה" +msgstr "Page Down" #: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" @@ -253,27 +253,27 @@ msgstr "הבא" #: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" -msgstr "סוף" +msgstr "End" #: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" -msgstr "התחלה" +msgstr "Begin" #: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" -msgstr "הוספה" +msgstr "Insert" #: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" -msgstr "מחיקה" +msgstr "Delete" #: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" -msgstr "מחיקה" +msgstr "Delete" #. Description of --sync in --help output #: ../gdk/win32/gdkmain-win32.c:54 @@ -308,12 +308,12 @@ msgstr "COLORS" #: ../gdk/x11/gdkapplaunchcontext-x11.c:305 #, c-format msgid "Starting %s" -msgstr "מתחיל את %s" +msgstr "%s מתחיל" #: ../gdk/x11/gdkapplaunchcontext-x11.c:318 #, c-format msgid "Opening %s" -msgstr "פותח את %s" +msgstr "%s נפתח" #: ../gdk/x11/gdkapplaunchcontext-x11.c:323 #, c-format @@ -330,55 +330,58 @@ msgstr "Make X calls synchronous" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "תכנית זו מופצת ללא שום אחריות; לפרטים נא לבקר בכתובת %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "" +"תכנית זו מופצת ללא שום אחריות; לפרטים נא לבקר בכתובת %s" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "רישיון" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "רישיון השימוש בתוכנה" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:741 msgid "C_redits" msgstr "_תודות" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:754 msgid "_License" msgstr "_רישיון" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:959 msgid "Could not show link" msgstr "לא ניתן להציג את הקישור" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:996 +msgid "Homepage" +msgstr "דף הבית" + +#: ../gtk/gtkaboutdialog.c:1052 #, c-format msgid "About %s" msgstr "על אודות %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "תודות" +#: ../gtk/gtkaboutdialog.c:2370 +msgid "Created by" +msgstr "נוצר על ידי" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "נכתב על ידי" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2373 msgid "Documented by" msgstr "תועד על ידי" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "תורגם על ידי" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2389 msgid "Artwork by" msgstr "אומנות על ידי" @@ -582,11 +585,11 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "בחירת צבע" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "התקבלו נתוני צבע בלתי תקינים\n" @@ -680,7 +683,7 @@ msgstr "_פלטה:" msgid "Color Wheel" msgstr "גלגל הצבעים" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1034 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -689,27 +692,27 @@ msgstr "" "הצבע הקודם שנבחר, להשוואה עם הצבע הנבחר כעת. ניתן לגרור צבע זה לרשומה בפלטה, " "או לבחור צבע זה כנוכחי על־ידי גרירתו לפיסת הצבע השנייה שלצידו." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1037 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." msgstr "הצבע שנבחר. ניתן לגרור צבע זה לרשומת פלטה כדי לשמור אותו לשימוש בעתיד." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1042 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "הצבע הקודם שנבחר, להשוואה עם הצבע שנבחר כעת." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1045 msgid "The color you've chosen." msgstr "הצבע שנבחר." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1445 msgid "_Save color here" msgstr "_שמירת הצבע כאן" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1653 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -732,7 +735,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "ניהול גדלים מותאמים" @@ -785,23 +788,23 @@ msgstr "_ימין:" msgid "Paper Margins" msgstr "שולי נייר" -#: ../gtk/gtkentry.c:8794 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "_שיטות קלט" -#: ../gtk/gtkentry.c:8808 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8821 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "_הזנת תו בקרה יוניקוד" -#: ../gtk/gtkentry.c:10208 +#: ../gtk/gtkentry.c:10225 msgid "Caps Lock and Num Lock are on" msgstr "ה־Caps Lock וה־Num Lock פעילים" -#: ../gtk/gtkentry.c:10210 +#: ../gtk/gtkentry.c:10227 msgid "Num Lock is on" msgstr "ה־Num Lock פעיל" -#: ../gtk/gtkentry.c:10212 +#: ../gtk/gtkentry.c:10229 msgid "Caps Lock is on" msgstr "ה־Caps Lock פעיל" @@ -880,7 +883,7 @@ msgstr "‏%1$s ב־%2$s" msgid "Search" msgstr "חיפוש" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "בשימוש לאחרונה" @@ -913,174 +916,174 @@ msgstr "הסרת הסימנייה '%s'" msgid "Bookmark '%s' cannot be removed" msgstr "לא ניתן להסיר את הסימנייה '%s'" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "הסרת הסימנייה הנבחרת" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "הסרה" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "שינוי שם..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "מקומות" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "_מקומות" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "_הוספה" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "הוספת התיקייה הנבחרת לסימניות" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "_הסרה" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "לא ניתן לבחור את הקובץ" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "_הוספה לסימניות" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "הצגת קבצים _נסתרים" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "הצגת _רוחב העמודה" # hebrew note: "תיקייה" is "folder", but there is no better word for # "directory" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "קבצים" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "שם" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "גודל" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "שונה" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_שם:" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_דפדוף לתיקיות אחרות" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "הזנת שם קובץ" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "יצירת _תיקייה" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "_מיקום:" -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "שמירה ב_תיקייה:" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "יצירה ב_תיקייה:" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "לא ניתן לקרוא את התוכן של %s" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "לא ניתן לקרוא את תכני התיקייה" -#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "לא ידוע" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "אתמול ב־%H:%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "לא ניתן לשנות תיקייה כיוון שהיא איננה מקומית" -#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "הקיצור %s כבר קיים" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "הקיצור %s אינו קיים" -#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "קובץ בשם \"%s\" כבר קיים. האם ברצונך להחליפו?" -#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "הקובץ כבר קיים ב-\"%s\". החלפתו תגרום לאיבוד תוכנו." -#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "ה_חלפה" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "לא ניתן להתחיל את תהליך החיפוש" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "התנית לא הצליחה ליצור חיבור אל סוכן האינדקס. יש לוודא כי הוא פעיל." -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "לא ניתן לשלוח את בקשת החיפוש" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "חיפוש:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "לא ניתן לעגון את %s" @@ -1201,7 +1204,7 @@ msgstr "בחירת גופן" msgid "Error loading icon: %s" msgstr "שגיאה בטעינת סמל: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1214,12 +1217,12 @@ msgstr "" "אתה יכול לקבל עותק מ:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "הסמל '%s' לא קיים בערכת הנושא" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "ארע כשל בטעינת סמל" @@ -1246,12 +1249,12 @@ msgid "System (%s)" msgstr "מערכת (%s)" #. Open Link -#: ../gtk/gtklabel.c:6215 +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" msgstr "_פתיחת קישור" #. Copy Link Address -#: ../gtk/gtklabel.c:6227 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" msgstr "העתקת כתובת ה_קישור" @@ -1297,16 +1300,16 @@ msgstr "GTK+ debugging flags to unset" msgid "default:LTR" msgstr "default:RTL" -#: ../gtk/gtkmain.c:853 +#: ../gtk/gtkmain.c:852 #, c-format msgid "Cannot open display: %s" msgstr "Cannot open display: %s" -#: ../gtk/gtkmain.c:912 +#: ../gtk/gtkmain.c:916 msgid "GTK+ Options" msgstr "GTK+ Options" -#: ../gtk/gtkmain.c:912 +#: ../gtk/gtkmain.c:916 msgid "Show GTK+ Options" msgstr "Show GTK+ Options" @@ -1390,7 +1393,7 @@ msgstr "מעטפת Z" msgid "Cannot end process with PID %d: %s" msgstr "לא ניתן לסיים את התהליך בעל המזהה %d: ‏%s" -#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4914 ../gtk/gtknotebook.c:7571 #, c-format msgid "Page %u" msgstr "עמוד %u" @@ -1423,7 +1426,7 @@ msgstr "" " מעלה: %s %s\n" " מטה: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "ניהול גדלים _מותאמים..." @@ -1431,7 +1434,7 @@ msgstr "ניהול גדלים _מותאמים..." msgid "_Format for:" msgstr "_תצורה עבור:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "_גודל הנייר:" @@ -1439,7 +1442,7 @@ msgstr "_גודל הנייר:" msgid "_Orientation:" msgstr "_כיווניות:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "הגדרות עמוד" @@ -1620,41 +1623,41 @@ msgstr "קבלת נתוני המדפסת נכשלה" msgid "Getting printer information..." msgstr "נתוני המדפסת מתקבלים..." -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "מדפסת" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "מיקום" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "מצב" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "טווח" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "כל ה_דפים" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "_הדף הנוכחי" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "_בחירה" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "_דפים:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1662,28 +1665,28 @@ msgstr "" "ניתן לציין טווח דפים אחד או יותר,\n" " לדוגמה: 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "דפים" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "עותקים" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "_עותקים:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "_איסוף" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "_החזרה" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "כללי" @@ -1693,42 +1696,42 @@ msgstr "כללי" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "שמאל לימין, מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "שמאל לימין, מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "ימין לשמאל, מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "ימין לשמאל, מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "מלמעלה למטה, משמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "מלמעלה למטה, מימין לשמאל" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "מלמטה למעלה, משמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "מלמטה למעלה, מימין לשמאל" @@ -1736,125 +1739,125 @@ msgstr "מלמטה למעלה, מימין לשמאל" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "סדר דפים" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "שמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "ימין לשמאל" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "פריסה" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "ד_ו־צדדי:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "מספר _עמודים בכל צג:" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "_סדר הדפים:" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "ה_דפסה בלבד:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "כל הדפים" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "דפים זוגיים" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "דפים אי זוגיים" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "_התאמה:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "נייר" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "_סוג נייר:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "מ_קור נייר:" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "_מגש פלט:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "_כיווניות:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "לאורך" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "לרוחב" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "לאורך הפוך" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "לרוחב הפוך" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "פרטי המשימה" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "_עדיפות:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "_נתוני חיוב:" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "הדפסת מסמך" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "_כעת" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "_ב:" @@ -1862,7 +1865,7 @@ msgstr "_ב:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1870,77 +1873,72 @@ msgstr "" "ציון זמן ההדפסה,\n" "לדוגמה: 15:30, 2:35‎ pm,‏ 14:15:20, 11:46:30‎ am,‏ 4‎ pm" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "זמן ההדפסה" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "ב_המתנה" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "החזקת המשימה עד שתשוחרר מפורשות" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "הוספת עמוד שער" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "ל_פני:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "א_חרי:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "משימה" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "מתקדם" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "איכות תמונה" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "צבע" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "גימור" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "חלק מההגדרות בתיבת הדו־שיח מתנגשות" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "הדפסה" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "לא ניתן למצוא את קובץ ה include: \"%s\"" - -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:871 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "לא ניתן לאתר את קובץ התמונה ב־pixmap_path:‏ \"%s\"" @@ -2049,12 +2047,12 @@ msgstr "לא ניתן למצוא פריט עם כתובת '%s'" msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "לא נמצא יישום הרשום בשם '%s' עבור הפריט בעל הכתובת '%s'" -#: ../gtk/gtkspinner.c:439 +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "הנפשת המתנה" -#: ../gtk/gtkspinner.c:440 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "אספקת חיווי חזותי של התהליך" @@ -2768,39 +2766,39 @@ msgstr "מידע תו לא צפוי בשורה %d תו %d" msgid "Empty" msgstr "ריק" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "עצמת שמע" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "מגביר או מנמיך את העצמה" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "מכוון את העצמה" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "הנמכת העצמה" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "מנמיך את העצמה" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "הגברת העצמה" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "מגביר את העצמה" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "מושתק" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "עצמה מלאה" @@ -2809,7 +2807,7 @@ msgstr "עצמה מלאה" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -4240,6 +4238,15 @@ msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "נכשל בפתיחת התמונה '%s': הסיבה איננה ידועה, כנראה קובץ תמונה פגום" +#~ msgid "Credits" +#~ msgstr "תודות" + +#~ msgid "Written by" +#~ msgstr "נכתב על ידי" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "לא ניתן למצוא את קובץ ה include: \"%s\"" + #~ msgid "Error creating folder '%s': %s" #~ msgstr "שגיאה ביצירת התיקייה '%s': %s" @@ -4931,9 +4938,6 @@ msgstr "נכשל בפתיחת התמונה '%s': הסיבה איננה ידוע #~ msgid "_Folder name:" #~ msgstr "שם ה_תיקייה:" -#~ msgid "C_reate" -#~ msgstr "_צור" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "שם הקובץ \"%s\" מכיל סמלים שאינם מותרים לשימוש בשמות קבצים" From 75970da97fd433fc545f2e1fe2c61805a6289332 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Sun, 19 Dec 2010 16:23:47 +0700 Subject: [PATCH 0582/1463] po/vi.po: import some translations from Ubuntu/Maverick --- po/vi.po | 254 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 148 insertions(+), 106 deletions(-) diff --git a/po/vi.po b/po/vi.po index a2e6a84c39..d1d352a72f 100644 --- a/po/vi.po +++ b/po/vi.po @@ -10,7 +10,7 @@ msgstr "" "Project-Id-Version: Gtk+ 2.15.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-03-22 23:18+0930\n" +"PO-Revision-Date: 2010-12-19 16:22+0700\n" "Last-Translator: Clytie Siddall \n" "Language-Team: Vietnamese \n" "Language: vi\n" @@ -43,7 +43,7 @@ msgstr "HẠNG" #. Description of --name=NAME in --help output #: gdk/gdk.c:154 msgid "Program name as used by the window manager" -msgstr "Tên chương trình như được dùng bởi bộ quản lý cửa sổ" +msgstr "Tên chương trình được dùng bởi trình quản lý cửa sổ" #. Placeholder in --name=NAME in --help output #: gdk/gdk.c:155 @@ -53,12 +53,12 @@ msgstr "TÊN" #. Description of --display=DISPLAY in --help output #: gdk/gdk.c:157 msgid "X display to use" -msgstr "Bộ trình bày X cần dùng" +msgstr "Trình hiển thị X cần dùng" #. Placeholder in --display=DISPLAY in --help output #: gdk/gdk.c:158 msgid "DISPLAY" -msgstr "BỘ TRÌNH BÀY" +msgstr "HIỂN THỊ" #. Description of --screen=SCREEN in --help output #: gdk/gdk.c:160 @@ -72,9 +72,8 @@ msgstr "MÀN HÌNH" #. Description of --gdk-debug=FLAGS in --help output #: gdk/gdk.c:164 -#, fuzzy msgid "GDK debugging flags to set" -msgstr "Các cờ gỡ lỗi GTK+ cần đặt" +msgstr "Các cờ gỡ lỗi GDK cần đặt" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output @@ -86,9 +85,8 @@ msgstr "CỜ" #. Description of --gdk-no-debug=FLAGS in --help output #: gdk/gdk.c:167 -#, fuzzy msgid "GDK debugging flags to unset" -msgstr "Các cờ gỡ lỗi GTK+ cần bỏ đặt" +msgstr "Các cờ gỡ lỗi GDK cần bỏ đặt" #: gdk/keyname-table.h:3940 msgctxt "keyboard label" @@ -316,10 +314,10 @@ msgid "Opening %s" msgstr "Đang mở %s" #: gdk/x11/gdkapplaunchcontext-x11.c:321 -#, fuzzy, c-format +#, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" -msgstr[0] "Đang mở %s" +msgstr[0] "Đang mở %d mục" #. Description of --sync in --help output #: gdk/x11/gdkmain-x11.c:96 @@ -367,19 +365,19 @@ msgstr "Công trạng" #: gtk/gtkaboutdialog.c:2185 msgid "Written by" -msgstr "Tác giả" +msgstr "Tác giả:" #: gtk/gtkaboutdialog.c:2188 msgid "Documented by" -msgstr "Tài liệu" +msgstr "Tài liệu:" #: gtk/gtkaboutdialog.c:2200 msgid "Translated by" -msgstr "Bản dịch" +msgstr "Bản dịch:" #: gtk/gtkaboutdialog.c:2204 msgid "Artwork by" -msgstr "Đồ họa" +msgstr "Đồ họa:" #. This is the text that should appear next to menu accelerators #. * that use the shift key. If the text on this key isn't typically @@ -457,9 +455,9 @@ msgid "Invalid type function on line %d: '%s'" msgstr "Hàm kiểu không hợp lệ tại dòng %d: '%s'" #: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "Trùng ID đối tượng '%s' trên dòng %d (trùng với trên dòng %d)" +msgstr "Trùng ID đối tượng '%s' trên dòng %d (trùng với dòng %d)" #: gtk/gtkbuilderparser.c:859 #, c-format @@ -607,7 +605,7 @@ msgstr "" #: gtk/gtkcolorsel.c:417 msgid "_Hue:" -msgstr "_Sắc độ :" +msgstr "_Sắc độ:" #: gtk/gtkcolorsel.c:418 msgid "Position on the color wheel." @@ -618,9 +616,8 @@ msgid "_Saturation:" msgstr "Độ _bão hòa:" #: gtk/gtkcolorsel.c:421 -#, fuzzy msgid "Intensity of the color." -msgstr "Độ trong suốt của màu." +msgstr "Cường độ màu." #: gtk/gtkcolorsel.c:422 msgid "_Value:" @@ -632,7 +629,7 @@ msgstr "Độ sáng của màu." #: gtk/gtkcolorsel.c:424 msgid "_Red:" -msgstr "Mà_u đỏ :" +msgstr "Đỏ:" #: gtk/gtkcolorsel.c:425 msgid "Amount of red light in the color." @@ -648,7 +645,7 @@ msgstr "Lượng sắc xanh lá cây trong màu." #: gtk/gtkcolorsel.c:428 msgid "_Blue:" -msgstr "Xanh _dương:" +msgstr "Xanh _lục:" #: gtk/gtkcolorsel.c:429 msgid "Amount of blue light in the color." @@ -793,20 +790,19 @@ msgstr "Lề giấy" #: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 msgid "Input _Methods" -msgstr "_Phương pháp nhập" +msgstr "Cách _gõ" #: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 msgid "_Insert Unicode Control Character" -msgstr "Chèn ký tự đ_iều khiển Unicode" +msgstr "_Chèn ký tự điều khiển Unicode" #: gtk/gtkentry.c:10015 msgid "Caps Lock and Num Lock are on" -msgstr "" +msgstr "Caps Lock và Num Lock đều bật" #: gtk/gtkentry.c:10017 -#, fuzzy msgid "Num Lock is on" -msgstr "Caps Lock đã bật" +msgstr "Num Lock đã bật" #: gtk/gtkentry.c:10019 msgid "Caps Lock is on" @@ -915,7 +911,7 @@ msgstr "Không thể gỡ bỏ Đánh dấu '%s'." #: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 msgid "Remove the selected bookmark" -msgstr "Gỡ bỏ đánh dấu được chọn" +msgstr "Gỡ bỏ Đánh dấu được chọn" #: gtk/gtkfilechooserdefault.c:3421 msgid "Remove" @@ -953,7 +949,7 @@ msgstr "Không thể chọn tập tin đó" #: gtk/gtkfilechooserdefault.c:4035 msgid "_Add to Bookmarks" -msgstr "Thê_m vào Đánh dấu" +msgstr "T_hêm Đánh dấu" #: gtk/gtkfilechooserdefault.c:4048 msgid "Show _Hidden Files" @@ -973,7 +969,7 @@ msgstr "Tên" #: gtk/gtkfilechooserdefault.c:4355 msgid "Size" -msgstr "Cỡ" +msgstr "Kích thước" #: gtk/gtkfilechooserdefault.c:4369 msgid "Modified" @@ -1179,20 +1175,20 @@ msgstr "aăâbcdđeêghikoôơuư AĂÂBCDĐEÊGHIKOÔƠUƯ" #: gtk/gtkfontsel.c:370 msgid "_Family:" -msgstr "_Họ :" +msgstr "_Họ:" #: gtk/gtkfontsel.c:376 msgid "_Style:" -msgstr "_Kiểu :" +msgstr "_Kiểu:" #: gtk/gtkfontsel.c:382 msgid "Si_ze:" -msgstr "_Cỡ :" +msgstr "_Cỡ:" #. create the text entry widget #: gtk/gtkfontsel.c:559 msgid "_Preview:" -msgstr "_Xem thử :" +msgstr "_Xem thử:" #: gtk/gtkfontsel.c:1659 msgid "Font Selection" @@ -1350,9 +1346,9 @@ msgid "Remember _forever" msgstr "_Nhớ mãi mãi" #: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format +#, c-format msgid "Unknown Application (PID %d)" -msgstr "Ứng dụng lạ (pid %d)" +msgstr "Ứng dụng lạ (PID %d)" #: gtk/gtkmountoperation.c:1066 #, c-format @@ -1364,10 +1360,10 @@ msgid "_End Process" msgstr "_Chấm dứt tiến trình" #: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." msgstr "" -"Không thể buộc chấm dứt tiến trình có pid %d. Thao tác chưa được cài đặt." +"Không thể buộc chấm dứt tiến trình có PID %d. Thao tác chưa được cài đặt." #. translators: this string is a name for the 'less' command #: gtk/gtkmountoperation-x11.c:862 @@ -1391,9 +1387,9 @@ msgid "Z Shell" msgstr "Z Shell" #: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "Không thể chấm dứt tiến trình có pid %d: %s" +msgstr "Không thể chấm dứt tiến trình có PID %d: %s" #: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 #, c-format @@ -1468,9 +1464,8 @@ msgid "Not available" msgstr "Không sẵn sàng" #: gtk/gtkprinteroptionwidget.c:794 -#, fuzzy msgid "Select a folder" -msgstr "Chọn tập tin" +msgstr "Chọn thư mục" #: gtk/gtkprinteroptionwidget.c:813 msgid "_Save in folder:" @@ -1687,7 +1682,7 @@ msgstr "Đố_i chiếu" #: gtk/gtkprintunixdialog.c:2271 msgid "_Reverse" -msgstr "Để ngu_yên" +msgstr "Đả_o" #: gtk/gtkprintunixdialog.c:2291 msgid "General" @@ -2109,7 +2104,6 @@ msgid "_Cancel" msgstr "_Thôi" #: gtk/gtkstock.c:326 -#, fuzzy msgctxt "Stock label" msgid "_CD-ROM" msgstr "_CD-ROM" @@ -2170,7 +2164,6 @@ msgid "_Edit" msgstr "_Sửa" #: gtk/gtkstock.c:338 -#, fuzzy msgctxt "Stock label" msgid "_File" msgstr "_Tập tin" @@ -2249,7 +2242,6 @@ msgid "_Up" msgstr "_Lên" #: gtk/gtkstock.c:360 -#, fuzzy msgctxt "Stock label" msgid "_Hard Disk" msgstr "Đĩa _cứng" @@ -2587,9 +2579,9 @@ msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Tìm thuộc tính « %s » hai lần trên yếu tố <%s>" #: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "Yếu tố <%s> có mã nhận diện không hợp lệ « %s »" +msgstr "Yếu tố <%s> có ID không hợp lệ « %s »" #: gtk/gtktextbufferserialize.c:855 #, c-format @@ -2690,39 +2682,39 @@ msgstr "" #: gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" -msgstr "_LRM dấu trái-sang-phải" +msgstr "_LRM Đánh dấu Trái-sang-phải" #: gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" -msgstr "_RLM dấu phải-sang-trái" +msgstr "_RLM Đánh dấu Phải-sang-trái" #: gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" -msgstr "LR_E nhúng trái-sang-phải" +msgstr "LRE _Nhúng Trái-sang-phải" #: gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" -msgstr "RLE _nhúng phải-sang-trái" +msgstr "RLE N_húng Phải-sang-trái" #: gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" -msgstr "LR_O đè trái-sang-phải" +msgstr "_LRO Đè Trái-sang-phải" #: gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" -msgstr "RLO đè phải-s_ang-trái" +msgstr "RLO Đè _Phải-sang-trái" #: gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" -msgstr "_PDF dạng thức định hướng Pop" +msgstr "PDF dạng thức định hướng Pop" #: gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" -msgstr "_ZWS Dấu cách có độ dài bằng không" +msgstr "ZWS Dấu _cách có độ dài bằng không" #: gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" -msgstr "ZW_J Bộ nối kết có độ dài bằng không" +msgstr "ZWJ Bộ _nối kết có độ dài bằng không" #: gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" @@ -2732,18 +2724,18 @@ msgstr "ZW_NJ Bộ không nối kết có độ dài bằng không" #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "" -"Không thể định vị cơ chế sắc thái tại « module_path » (đường dẫn mô-đun): « " -"%s »," +"Không thể định vị cơ chế sắc thái tại « module_path » (đường dẫn mô-đun): « %s " +"»," #: gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" -msgstr "Gặp thẻ đầu bất ngờ « %s » trên dòng %d ký tự %d" +msgstr "Gặp thẻ đầu bất thường « %s » trên dòng %d ký tự %d" #: gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" -msgstr "Gặp dữ liệu ký tự bất ngờ trên dòng %d ký tự %d" +msgstr "Gặp dữ liệu ký tự bất thường trên dòng %d ký tự %d" #: gtk/gtkuimanager.c:2427 msgid "Empty" @@ -3914,9 +3906,9 @@ msgid "Printer '%s' is out of paper." msgstr "Máy in « %s » cạn giấy." #: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#, c-format msgid "Printer '%s' is currently offline." -msgstr "Máy in « %s » hiện thời ngoại tuyến." +msgstr "Máy in '%s' hiện thời ngoại tuyến." #: modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format @@ -4216,13 +4208,50 @@ msgstr "Không thể lấy thông tin cho tập tin « %s »: %s" #: tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" -msgstr "Lỗi mở tập tin « %s »': %s" +msgstr "Không mở được tập tin « %s »: %s" #: tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập tin ảnh bị hỏng" +msgstr "" +"Lỗi tải tập tin ảnh « %s »: không biết lý do, có lẽ tập tin ảnh bị hỏng." + +msgid "Color profile has invalid length %d." +msgstr "Hồ sơ màu sắc có chiều dài sai %d." + +msgid "Input file descriptor is NULL." +msgstr "Tập tin đầu vào có bộ mô tả VÔ GIÁ TRỊ." + +msgid "Failed to read QTIF header" +msgstr "Lỗi đọc phần đầu QTIF" + +msgid "QTIF atom size too large (%d bytes)" +msgstr "Atom QTIF có kích cỡ quá lớn (%d byte)" + +msgid "Failed to allocate %d bytes for file read buffer" +msgstr "Lỗi cấp phát %d byte cho vùng đệm đọc tập tin" + +msgid "File error when reading QTIF atom: %s" +msgstr "Gặp lỗi tập tin khi đọc atom QTIF: %s" + +msgid "Failed to skip the next %d bytes with seek()." +msgstr "Không nhảy được qua %d byte kế tiếp dùng seek()." + +msgid "Failed to allocate QTIF context structure." +msgstr "Không cấp phát được cấu trúc ngữ cảnh QTIF." + +msgid "Failed to create GdkPixbufLoader object." +msgstr "Không tạo được đối tượng kiểu GdkPixbufLoader (nạp vùng đệm điểm ảnh)." + +msgid "Failed to find an image data atom." +msgstr "Không tìm thấy được một atom kiểu dữ liệu ảnh." + +msgid "The QTIF image format" +msgstr "Định dạng ảnh QTIF" + +msgid "Image is corrupted or truncated" +msgstr "Ảnh bị cắt bớt hoặc bị hỏng" #~ msgid "Gdk debugging flags to set" #~ msgstr "Những cờ gỡ lỗi Gdk cần đặt" @@ -4312,10 +4341,9 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgid "Image pixel data corrupt" #~ msgstr "Dữ liệu điểm ảnh của ảnh bị hỏng" -#, fuzzy #~ msgid "failed to allocate image buffer of %u byte" #~ msgid_plural "failed to allocate image buffer of %u bytes" -#~ msgstr[0] "Lỗi cấp phát %d byte cho vùng đệm đọc tập tin" +#~ msgstr[0] "lỗi cấp phát bộ đệm ảnh có kích thước %u byte" #~ msgid "Unexpected icon chunk in animation" #~ msgstr "Gặp đoạn biểu tượng bất thường trong hoạt cảnh" @@ -4586,9 +4614,6 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgid "Keys for PNG text chunks must be ASCII characters." #~ msgstr "Các khóa cho các đoạn PNG text phải là ký tự ASCII." -#~ msgid "Color profile has invalid length %d." -#~ msgstr "Hồ sơ màu sắc có chiều dài sai %d." - #~ msgid "" #~ "PNG compression level must be a value between 0 and 9; value '%s' could " #~ "not be parsed." @@ -4657,37 +4682,6 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgid "The PNM/PBM/PGM/PPM image format family" #~ msgstr "Họ dạng thức ảnh PNM/PBM/PGM/PPM" -#~ msgid "Input file descriptor is NULL." -#~ msgstr "Tập tin đầu vào có bộ mô tả VÔ GIÁ TRỊ." - -#~ msgid "Failed to read QTIF header" -#~ msgstr "Lỗi đọc phần đầu QTIF" - -#~ msgid "QTIF atom size too large (%d bytes)" -#~ msgstr "Atom QTIF có kích cỡ quá lớn (%d byte)" - -#~ msgid "Failed to allocate %d bytes for file read buffer" -#~ msgstr "Lỗi cấp phát %d byte cho vùng đệm đọc tập tin" - -#~ msgid "File error when reading QTIF atom: %s" -#~ msgstr "Gặp lỗi tập tin khi đọc atom QTIF: %s" - -#~ msgid "Failed to skip the next %d bytes with seek()." -#~ msgstr "Không nhảy được qua %d byte kế tiếp dùng seek()." - -#~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "Không cấp phát được cấu trúc ngữ cảnh QTIF." - -#~ msgid "Failed to create GdkPixbufLoader object." -#~ msgstr "" -#~ "Không tạo được đối tượng kiểu GdkPixbufLoader (nạp vùng đệm điểm ảnh)." - -#~ msgid "Failed to find an image data atom." -#~ msgstr "Không tìm thấy được một atom kiểu dữ liệu ảnh." - -#~ msgid "The QTIF image format" -#~ msgstr "Định dạng ảnh QTIF" - #~ msgid "RAS image has bogus header data" #~ msgstr "Ảnh RAS có dữ liệu phần đầu giả" @@ -4719,9 +4713,6 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgid "Cannot allocate new pixbuf" #~ msgstr "Không thể cấp phát bộ đệm điểm ảnh mới" -#~ msgid "Image is corrupted or truncated" -#~ msgstr "Ảnh bị cắt bớt hoặc bị hỏng" - #~ msgid "Cannot allocate colormap structure" #~ msgstr "Không thể cấp phát cấu trúc bản đồ màu sắc" @@ -4912,7 +4903,7 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgstr "_Xóa bỏ tập tin" #~ msgid "_Rename File" -#~ msgstr "Th_ay tên tập tin" +#~ msgstr "Đổ_i tên tập tin" #~ msgid "" #~ "The folder name \"%s\" contains symbols that are not allowed in filenames" @@ -4957,7 +4948,7 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgstr "Đổi tên tập tin « %s » thành:" #~ msgid "_Rename" -#~ msgstr "Th_ay tên" +#~ msgstr "Đổ_i tên" #~ msgid "_Selection: " #~ msgstr "_Vùng chọn: " @@ -4989,7 +4980,7 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgstr "Nhập" #~ msgid "No extended input devices" -#~ msgstr "Không có thiết bị gõ mở rộng nào" +#~ msgstr "Không có thiết bị nhập đã mở rộng nào" #~ msgid "_Device:" #~ msgstr "Thiết _bị:" @@ -5044,3 +5035,54 @@ msgstr "Lỗi tải tập tin ảnh « %s »: không biết sao, có lẽ tập #~ msgid "--- No Tip ---" #~ msgstr "--- Không có mẹo ---" + +#~ msgid "Color profile has invalid length '%" +#~ msgstr "Hồ sơ màu có độ dài không hợp lệ '%" + +#~ msgid "Color profile has invalid length '%d'." +#~ msgstr "Hồ sơ màu có độ dài không hợp lệ '%d'." + +#~ msgid "Duplicate object id '%s' on line %d (previously on line %d)" +#~ msgstr "Trùng ID đối tượng '%s' trên dòng %d (trùng với trên dòng %d)" + +#~ msgid "_Files" +#~ msgstr "_Tập tin" + +#~ msgid "Unknown Application (pid %d)" +#~ msgstr "Ứng dụng lạ (pid %d)" + +#~ msgid "Cannot kill process with pid %d. Operation is not implemented." +#~ msgstr "" +#~ "Không thể buộc chấm dứt tiến trình có pid %d. Thao tác chưa được cài đặt." + +#~ msgid "Cannot end process with pid %d: %s" +#~ msgstr "Không thể chấm dứt tiến trình có pid %d: %s" + +#~ msgctxt "Stock label" +#~ msgid "_CD-Rom" +#~ msgstr "_CD-ROM" + +#~ msgctxt "Stock label" +#~ msgid "_Harddisk" +#~ msgstr "Đĩa _cứng" + +#~ msgid "<%s> element has invalid id \"%s\"" +#~ msgstr "Yếu tố <%s> có mã nhận diện không hợp lệ « %s »" + +#~ msgid "Printer '%s' is currently off-line." +#~ msgstr "Máy in « %s » hiện thời ngoại tuyến." + +#~ msgid "(Empty)" +#~ msgstr "(Rỗng)" + +#~ msgid "_Search:" +#~ msgstr "Tìm _kiếm:" + +#~ msgid "Recently Used" +#~ msgstr "Vừa dùng" + +#~ msgid "directfb arg" +#~ msgstr "directfb arg" + +#~ msgid "sdl|system" +#~ msgstr "sdl|system" From 39b85421f87a4e6f8b7bf73b269de612274dc648 Mon Sep 17 00:00:00 2001 From: Mahyar Moghimi Date: Sun, 19 Dec 2010 13:42:39 +0330 Subject: [PATCH 0583/1463] Updating Persian translations (minor change) --- po/fa.po | 853 +++++++++++++++++++++++++++---------------------------- 1 file changed, 425 insertions(+), 428 deletions(-) diff --git a/po/fa.po b/po/fa.po index 2d5e7a38c4..ef9cfab05b 100644 --- a/po/fa.po +++ b/po/fa.po @@ -4,13 +4,14 @@ # Roozbeh Pournader , 2000, 2002, 2003, 2004, 2005. # Meelad Zakaria , 2005. # Mahyar Moghimi , 2010. +# Ali Yousefi Sabzevar , 2010. # msgid "" msgstr "" "Project-Id-Version: gtk+ 2.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-11-30 21:56+0000\n" -"PO-Revision-Date: 2010-12-01 14:19+0330\n" +"POT-Creation-Date: 2010-12-19 09:25+0000\n" +"PO-Revision-Date: 2010-12-19 13:26+0330\n" "Last-Translator: Mahyar Moghimi \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" @@ -24,17 +25,17 @@ msgstr "" #: ../gdk/gdk.c:115 #, c-format msgid "Error parsing option --gdk-debug" -msgstr "خطا در تجزیهٔ گزینهٔ --gdk-debug" +msgstr "خطا در تجزیه‌ی گزینه‌ی --gdk-debug" #: ../gdk/gdk.c:135 #, c-format msgid "Error parsing option --gdk-no-debug" -msgstr "خطا در تجزیهٔ گزینه --gdk-no-debug" +msgstr "خطا در تجزیه‌ی گزینه --gdk-no-debug" #. Description of --class=CLASS in --help output #: ../gdk/gdk.c:163 msgid "Program class as used by the window manager" -msgstr "ردهٔ برنامه، به شکل مورد استفادهٔ مدیر پنجره‌ها" +msgstr "رده‌ی برنامه، به شکل مورد استفاده‌ی مدیر پنجره‌ها" #. Placeholder in --class=CLASS in --help output #: ../gdk/gdk.c:164 @@ -44,7 +45,7 @@ msgstr "CLASS" #. Description of --name=NAME in --help output #: ../gdk/gdk.c:166 msgid "Program name as used by the window manager" -msgstr "نام برنامه، به شکل مورد استفادهٔ مدیر پنجره‌ها" +msgstr "نام برنامه، به شکل مورد استفاده‌ی مدیر پنجره‌ها" #. Placeholder in --name=NAME in --help output #: ../gdk/gdk.c:167 @@ -64,7 +65,7 @@ msgstr "DISPLAY" #. Description of --screen=SCREEN in --help output #: ../gdk/gdk.c:172 msgid "X screen to use" -msgstr "صفحهٔ X مورد استفاده" +msgstr "صفحه‌ی X مورد استفاده" #. Placeholder in --screen=SCREEN in --help output #: ../gdk/gdk.c:173 @@ -82,8 +83,8 @@ msgstr "پرچمهای اشکال‌زدایی GDK که باید یک شوند" #. Placeholder in --gtk-no-debug=FLAGS in --help output #: ../gdk/gdk.c:177 #: ../gdk/gdk.c:180 -#: ../gtk/gtkmain.c:525 -#: ../gtk/gtkmain.c:528 +#: ../gtk/gtkmain.c:523 +#: ../gtk/gtkmain.c:526 msgid "FLAGS" msgstr "FLAGS" @@ -195,82 +196,82 @@ msgstr "قفل _اعداد" #: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" -msgstr "_فاصلهٔ صفحهٔ اعداد" +msgstr "_فاصله‌ی صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" -msgstr "_جهش صفحهٔ اعداد" +msgstr "_جهش صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" -msgstr "_ورود صفحهٔ اعداد" +msgstr "_ورود صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" -msgstr "آغا_زهٔ صفحهٔ اعداد" +msgstr "آغا_زه‌ی صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" -msgstr "_چپ صفحهٔ اعداد" +msgstr "_چپ صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" -msgstr "_بالای صفحهٔ اعداد" +msgstr "_بالای صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" -msgstr "_راست صفحهٔ اعداد" +msgstr "_راست صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" -msgstr "_پایین صفحهٔ اعداد" +msgstr "_پایین صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" -msgstr "_صفحه‌بالای صفحهٔ اعداد" +msgstr "_صفحه‌بالای صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" -msgstr "_پیشین صفحهٔ اعداد" +msgstr "_پیشین صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" -msgstr "_صفحه‌بالای صفحهٔ اعداد" +msgstr "_صفحه‌بالای صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" -msgstr "_پسین صفحهٔ اعداد" +msgstr "_پسین صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" -msgstr "_پایان صفحهٔ اعداد" +msgstr "_پایان صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" -msgstr "آ_غاز صفحهٔ اعداد" +msgstr "آ_غاز صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" -msgstr "_درج صفحهٔ اعداد" +msgstr "_درج صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" -msgstr "_حذف صفحهٔ اعداد" +msgstr "_حذف صفحه‌ی اعداد" #: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" @@ -300,7 +301,7 @@ msgstr "از Wintab API استفاده شود [پیش‌فرض]" #. Description of --max-colors=COLORS in --help output #: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" -msgstr "اندازهٔ تخته‌رنگ در حالت ۸ بیتی" +msgstr "اندازه‌ی تخته‌رنگ در حالت ۸ بیتی" #. Placeholder in --max-colors=COLORS in --help output #: ../gdk/win32/gdkmain-win32.c:63 @@ -331,56 +332,55 @@ msgstr "تماسهای با X همگام شوند" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "این برنامه هیچ‌گونه گارانتی ندارد؛ برای جزئیات بیشتر %s را ببینید" +msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "این برنامه هیچ‌گونه ضمانتی ندارد؛ برای جزئیات بیشتر %s را ببینید" -#: ../gtk/gtkaboutdialog.c:339 -#: ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "مجوز" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "مجوز برنامه" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:741 msgid "C_redits" msgstr "_دست اندر کاران" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:754 msgid "_License" msgstr "_مجوز" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:959 msgid "Could not show link" msgstr "نمی توان پیوند را نمایش داد" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:996 +msgid "Homepage" +msgstr "صفحه‌ی خانگی" + +#: ../gtk/gtkaboutdialog.c:1052 #, c-format msgid "About %s" -msgstr "دربارهٔ %s" +msgstr "درباره‌ی %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "دست‌اندرکاران" +#: ../gtk/gtkaboutdialog.c:2370 +msgid "Created by" +msgstr "ایجاد شده توسط" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "نوشتهٔ" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2373 msgid "Documented by" msgstr "مستندسازی از" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "ترجمه از" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2389 msgid "Artwork by" msgstr "طرح‌ها و تصاویر از" @@ -462,12 +462,12 @@ msgstr "تابع با نوع نامعتبر در خط %d: «%s»" #: ../gtk/gtkbuilderparser.c:407 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "شناسهٔ شئ «%s»تکراری در خط %d (پیش‌تر در خط %d)" +msgstr "شناسه‌ی شئ «%s»تکراری در خط %d (پیش‌تر در خط %d)" #: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" -msgstr "عنصر ریشهٔ نامعتبر: «%s»" +msgstr "عنصر ریشه‌ی نامعتبر: «%s»" #: ../gtk/gtkbuilderparser.c:898 #, c-format @@ -589,17 +589,17 @@ msgid "%d %%" msgstr "%Id ٪" #: ../gtk/gtkcolorbutton.c:188 -#: ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "یک رنگ بردارید" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "اطلاعات رنگی نامعتبر دریافت شد\n" #: ../gtk/gtkcolorsel.c:416 msgid "Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle." -msgstr "رنگی را که می‌خواهید از حلقهٔ خارجی انتخاب کنید. تیرگی یا روشنی آن رنگ را با استفاده از مثلث داخلی انتخاب کنید." +msgstr "رنگی را که می‌خواهید از حلقه‌ی خارجی انتخاب کنید. تیرگی یا روشنی آن رنگ را با استفاده از مثلث داخلی انتخاب کنید." #: ../gtk/gtkcolorsel.c:440 msgid "Click the eyedropper, then click a color anywhere on your screen to select that color." @@ -655,7 +655,7 @@ msgstr "میزان نور آبی در رنگ." #: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" -msgstr "درجهٔ _ماتی:" +msgstr "درجه‌ی _ماتی:" #: ../gtk/gtkcolorsel.c:471 #: ../gtk/gtkcolorsel.c:481 @@ -678,29 +678,29 @@ msgstr "_تخته‌رنگ:" msgid "Color Wheel" msgstr "چرخ رنگ" -#: ../gtk/gtkcolorsel.c:1031 -msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside." -msgstr "رنگی که پیش‌تر انتخاب شده بود، برای مقایسه با رنگی که حالا دارید انتخاب می‌کنید. می‌توانید این رنگ را تا یک مدخل تخته‌رنگ بکشید، یا با کشیدنش به نمونهٔ دیگر در کنار آن، این رنگ را به عنوان رنگ فعلی انتخاب کنید." - #: ../gtk/gtkcolorsel.c:1034 +msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside." +msgstr "رنگی که پیش‌تر انتخاب شده بود، برای مقایسه با رنگی که حالا دارید انتخاب می‌کنید. می‌توانید این رنگ را تا یک مدخل تخته‌رنگ بکشید، یا با کشیدنش به نمونه‌ی دیگر در کنار آن، این رنگ را به عنوان رنگ فعلی انتخاب کنید." + +#: ../gtk/gtkcolorsel.c:1037 msgid "The color you've chosen. You can drag this color to a palette entry to save it for use in the future." msgstr "رنگی که انتخاب کرده‌اید. می‌توانید این رنگ را به یک مدخل تخته‌رنگ بکشید تا برای استفاده در آینده ذخیره شود." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1042 msgid "The previously-selected color, for comparison to the color you're selecting now." msgstr "رنگ انتخابی پیشین، برای مقایسه با رنگی که اکنون می‌گزینید." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1045 msgid "The color you've chosen." msgstr "رنگی که گزیده‌اید." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1445 msgid "_Save color here" -msgstr "_ذخیرهٔ رنگ در این‌جا" +msgstr "_ذخیره‌ی رنگ در این‌جا" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1653 msgid "Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "روی این مدخل تخته‌رنگ کلیک کنید تا رنگ فعلی شود. برای تغییر این مدخل، یک نمونهٔ رنگ را به اینجا بکشید یا روی آن کلیک راست کنید و «ذخیرهٔ رنگ در اینجا» را انتخاب کنید." +msgstr "روی این مدخل تخته‌رنگ کلیک کنید تا رنگ فعلی شود. برای تغییر این مدخل، یک نمونه‌ی رنگ را به اینجا بکشید یا روی آن کلیک راست کنید و «ذخیره‌ی رنگ در اینجا» را انتخاب کنید." #: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" @@ -718,7 +718,7 @@ msgstr "default:mm" #. And show the custom paper dialog #: ../gtk/gtkcustompaperunixdialog.c:374 -#: ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "مدیریت اندازه‌های سفارشی" @@ -739,7 +739,7 @@ msgstr "حاشیه‌ها از چاپگر..." #: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" -msgstr "اندازهٔ سفارشی %Id" +msgstr "اندازه‌ی سفارشی %Id" #: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" @@ -751,7 +751,7 @@ msgstr "_بلندی:" #: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" -msgstr "اندازهٔ _کاغذ:" +msgstr "اندازه‌ی _کاغذ:" #: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" @@ -773,25 +773,25 @@ msgstr "_راست:" msgid "Paper Margins" msgstr "حاشیه کاغذ" -#: ../gtk/gtkentry.c:8794 -#: ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8807 +#: ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "روش‌های ورودی" -#: ../gtk/gtkentry.c:8808 -#: ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8821 +#: ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" -msgstr "_درج نویسهٔ کنترلی یونی‌کد" +msgstr "_درج نویسه‌ی کنترلی یونی‌کد" -#: ../gtk/gtkentry.c:10208 +#: ../gtk/gtkentry.c:10225 msgid "Caps Lock and Num Lock are on" msgstr "قفل تبدیل و قفل اعداد هردو روشن هستند" -#: ../gtk/gtkentry.c:10210 +#: ../gtk/gtkentry.c:10227 msgid "Num Lock is on" msgstr "قفل اعداد روشن است" -#: ../gtk/gtkentry.c:10212 +#: ../gtk/gtkentry.c:10229 msgid "Caps Lock is on" msgstr "قفل تبدیل روشن است." @@ -818,11 +818,11 @@ msgstr "غیره..." #: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" -msgstr "نام پوشهٔ جدید را وارد کنید" +msgstr "نام پوشه‌ی جدید را وارد کنید" #: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" -msgstr "نمی‌توان اطلاعاتی دربارهٔ پرونده بازیابی کرد" +msgstr "نمی‌توان اطلاعاتی درباره‌ی پرونده بازیابی کرد" #: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" @@ -846,7 +846,7 @@ msgstr "شما فقط می‌توانید پوشه‌ها را بگزینید. #: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" -msgstr "نام پروندهٔ نامعتبر" +msgstr "نام پرونده‌ی نامعتبر" #: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" @@ -866,7 +866,7 @@ msgid "Search" msgstr "جستجو" #: ../gtk/gtkfilechooserdefault.c:1776 -#: ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "به‌تازه‌گی استفاده شده" @@ -877,12 +877,12 @@ msgstr "انتخاب این که کدام نوع پرونده‌ها نمایش #: ../gtk/gtkfilechooserdefault.c:2796 #, c-format msgid "Add the folder '%s' to the bookmarks" -msgstr "اضافه کردن پوشهٔ «%s» به نشانک‌ها" +msgstr "اضافه کردن پوشه‌ی «%s» به نشانک‌ها" #: ../gtk/gtkfilechooserdefault.c:2840 #, c-format msgid "Add the current folder to the bookmarks" -msgstr "اضافه کردن پوشهٔ فعلی به نشانک‌ها" +msgstr "اضافه کردن پوشه‌ی فعلی به نشانک‌ها" #: ../gtk/gtkfilechooserdefault.c:2842 #, c-format @@ -900,175 +900,175 @@ msgid "Bookmark '%s' cannot be removed" msgstr "نشانک '%s' حذف نمی‌شود" #: ../gtk/gtkfilechooserdefault.c:2889 -#: ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "حذف پوشه‌های انتخاب‌شده" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "حذف" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "تغییر نام..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "محل‌ها" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "_محل‌ها" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "_افزودن" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" -msgstr "افزودن پوشهٔ گزیده‌شده به نشانک‌ها" +msgstr "افزودن پوشه‌ی گزیده‌شده به نشانک‌ها" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "_حذف" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "پرونده گزیده نشد" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "_افزودن به نشانک‌ها" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "نمایش پرونده‌های _مخفی" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "نمایش ستون _اندازه" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "پرونده‌ها" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "نام" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "اندازه" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "تغییریافته" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 +#: ../gtk/gtkfilechooserdefault.c:4656 #: ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_نام:" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_مرور برای سایر پوشه‌ها" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "یک نام پرونده وارد کنید" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "ایجاد پو_شه" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "_مکان:" -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" -msgstr "ذخیره در پو_شهٔ:" +msgstr "ذخیره در پو_شه‌ی:" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" -msgstr "ایجاد در پو_شهٔ:" +msgstr "ایجاد در پو_شه‌ی:" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "محتوای %s خوانده نشد" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "محتوای پوشه خوانده نشد" -#: ../gtk/gtkfilechooserdefault.c:6387 -#: ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6394 +#: ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "نامعلوم" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "دیروز ساعت %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "نمی‌توان به پوشه رفت چون محلی نیست" -#: ../gtk/gtkfilechooserdefault.c:7667 -#: ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7674 +#: ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "میان‌بر %s پیشاپیش موجود است" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "میانبر %s وجود ندارد" -#: ../gtk/gtkfilechooserdefault.c:8039 +#: ../gtk/gtkfilechooserdefault.c:8046 #: ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "پرونده‌ایبا نام \"%s\" پیشاپیش وجود دارد. می‌خواهید آن را جایگزین کنید؟" -#: ../gtk/gtkfilechooserdefault.c:8042 +#: ../gtk/gtkfilechooserdefault.c:8049 #: ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "پرونده پیشاپیش در \"%s\" وجود دارد. با جایگزینی آن تمام محتوایش بازنویسی می‌شود." -#: ../gtk/gtkfilechooserdefault.c:8047 +#: ../gtk/gtkfilechooserdefault.c:8054 #: ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_جایگزینی" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "فرآیند جستجو شروع نشد" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "The program was not able to create a connection to the indexer daemon. Please make sure it is running." msgstr "برنامه نتوانست اتصالی به شبح نمایه‌گذار برقرار کند. بررسی کنید که آن در حال اجرا باشد." -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "درخواست جستجو فرستاده نشد" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "جستجو:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "نمی‌توان %s را سوار کرد" @@ -1190,7 +1190,7 @@ msgstr "انتخاب قلم" msgid "Error loading icon: %s" msgstr "خطا در بار کردن نشان: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1203,12 +1203,12 @@ msgstr "" "می‌توانید یک رونوشت از نشانی زیر بگیرید:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "نشان «%s» در تم وجود ندارد" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "خراب شدن بارکردن نشان" @@ -1234,12 +1234,12 @@ msgid "System (%s)" msgstr "سیستم (%s)" #. Open Link -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" msgstr "_باز کردن پیوند" #. Copy Link Address -#: ../gtk/gtklabel.c:6226 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" msgstr "_رونوشت از نشانی پیوند" @@ -1252,27 +1252,27 @@ msgid "Invalid URI" msgstr "نشانی وب نامعتبر" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:516 msgid "Load additional GTK+ modules" msgstr "پیمانه‌های GTK+ بیشتری بار شود" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:517 msgid "MODULES" msgstr "پیمانه‌ها" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:519 msgid "Make all warnings fatal" -msgstr "همهٔ اخطارها مهلک شوند" +msgstr "همه‌ی اخطارها مهلک شوند" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:522 msgid "GTK+ debugging flags to set" msgstr "پرچمهای اشکال‌زدایی GTK+ که باید یک شوند" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:525 msgid "GTK+ debugging flags to unset" msgstr "پرچمهای اشکال‌زدایی GTK+ که باید صفر شوند" @@ -1281,20 +1281,20 @@ msgstr "پرچمهای اشکال‌زدایی GTK+ که باید صفر شون #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:790 +#: ../gtk/gtkmain.c:788 msgid "default:LTR" msgstr "default:RTL" -#: ../gtk/gtkmain.c:855 +#: ../gtk/gtkmain.c:852 #, c-format msgid "Cannot open display: %s" msgstr "نمایش %s باز نمی‌شود" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:916 msgid "GTK+ Options" msgstr "گزینه‌های GTK+" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:916 msgid "Show GTK+ Options" msgstr "نشان دادن گزینه‌های GTK+" @@ -1337,7 +1337,7 @@ msgstr "برای _همیشه به‌خاطر سپرده شود." #: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" -msgstr "برنامهٔ ناشناخته (شناسهٔ فرآیند %d)" +msgstr "برنامه‌ی ناشناخته (شناسه‌ی فرآیند %d)" #: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" @@ -1350,7 +1350,7 @@ msgstr "به _پایان بردن فرآیند" #: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "نمی‌توان فرآیند با شناسهٔ %d را کشت. این کنش پیاده‌سازی نشده است." +msgstr "نمی‌توان فرآیند با شناسه‌ی %d را کشت. این کنش پیاده‌سازی نشده است." #. translators: this string is a name for the 'less' command #: ../gtk/gtkmountoperation-x11.c:862 @@ -1363,32 +1363,32 @@ msgstr "فرمان تاپ (top)" #: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" -msgstr "پوستهٔ بورن اِگِین" +msgstr "پوسته‌ی بورن اِگِین" #: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" -msgstr "پوستهٔ بورن" +msgstr "پوسته‌ی بورن" #: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" -msgstr "پوستهٔ زی" +msgstr "پوسته‌ی زی" #: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" -msgstr "نمی‌توان فرآیند با شناسهٔ %d را به پایان برد: %s" +msgstr "نمی‌توان فرآیند با شناسه‌ی %d را به پایان برد: %s" -#: ../gtk/gtknotebook.c:4756 -#: ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4914 +#: ../gtk/gtknotebook.c:7571 #, c-format msgid "Page %u" -msgstr "صفحهٔ %Iu" +msgstr "صفحه‌ی %Iu" #: ../gtk/gtkpagesetup.c:648 #: ../gtk/gtkpapersize.c:838 #: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" -msgstr "پروندهٔ برپایی صفحه نامعتبر است." +msgstr "پرونده‌ی برپایی صفحه نامعتبر است." #: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" @@ -1414,7 +1414,7 @@ msgstr "" "ته:%s %s" #: ../gtk/gtkpagesetupunixdialog.c:858 -#: ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "مدیریت اندازه‌های سفارشی..." @@ -1423,16 +1423,16 @@ msgid "_Format for:" msgstr "_قالب‌بندی برای:" #: ../gtk/gtkpagesetupunixdialog.c:931 -#: ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" -msgstr "اندازهٔ _کاغذ:" +msgstr "اندازه‌ی _کاغذ:" #: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "جهت_" #: ../gtk/gtkpagesetupunixdialog.c:1026 -#: ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "برپایی صفحه" @@ -1446,7 +1446,7 @@ msgstr "مسیر پایین" #: ../gtk/gtkpathbar.c:1523 msgid "File System Root" -msgstr "ریشهٔ سیستم پرونده" +msgstr "ریشه‌ی سیستم پرونده" #: ../gtk/gtkprintbackend.c:749 msgid "Authentication" @@ -1462,7 +1462,7 @@ msgstr "یک پوشه انتخاب کنید" #: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" -msgstr "ذخیره در _پوشهٔ:" +msgstr "ذخیره در _پوشه‌ی:" #. translators: this string is the default job title for print #. * jobs. %s gets replaced by the application name, %d gets replaced @@ -1539,7 +1539,7 @@ msgstr "خطا در ایجاد پیش‌نمایش چاپ" #: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." -msgstr "محتمل‌ترین دلیل این‌است که یک پروندهٔ موقت ایجاد نشد." +msgstr "محتمل‌ترین دلیل این‌است که یک پرونده‌ی موقت ایجاد نشد." #: ../gtk/gtkprintoperation-unix.c:297 msgid "Error launching preview" @@ -1570,7 +1570,7 @@ msgstr "نیاز به مداخله کاربر هست" #: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" -msgstr "اندازهٔ سفارشی" +msgstr "اندازه‌ی سفارشی" #: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" @@ -1589,7 +1589,7 @@ msgstr "خطا از StartDoc" #: ../gtk/gtkprintoperation-win32.c:1707 #: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" -msgstr "حافظهٔ کافی نیست" +msgstr "حافظه‌ی کافی نیست" #: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" @@ -1615,70 +1615,70 @@ msgstr "گرفتن اطلاعات چاپگر خراب شد" msgid "Getting printer information..." msgstr "در حال گرفتن اطلاعاتِ چاپگر..." -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "چاپگر" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "مکان" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "وضعیت" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "گستره" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" -msgstr "_همهٔ صفحات" +msgstr "_همه‌ی صفحات" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" -msgstr "صفحهٔ _جاری" +msgstr "صفحه‌ی _جاری" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "_گزینش" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "_صفحه‌ها:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" msgstr "" -"یک یا چند گسترهٔ صفحه‌ها را مشخص کنید، \n" +"یک یا چند گستره‌ی صفحه‌ها را مشخص کنید، \n" "مثلا: ۱-۳،۷،۱۱" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "صفحه‌ها" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "رونوشت‌ها" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "_رونوشت‌ها:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "_تلفیق" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "ترتیب _معکوس" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "کلی" @@ -1688,42 +1688,42 @@ msgstr "کلی" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "از چپ به راست، از سر به ته" -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "از چپ به راست، از ته به سر" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "از راست به چپ، از سر به ته" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "از راست به چپ، از ته به سر" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "از سر به ته، از چپ به راست" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "از سر به ته، از راست به چپ" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "از ته به سر، از چپ به راست" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "از ته به سر، از راست به چپ" @@ -1731,126 +1731,126 @@ msgstr "از ته به سر، از راست به چپ" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 -#: ../gtk/gtkprintunixdialog.c:3044 +#: ../gtk/gtkprintunixdialog.c:3032 +#: ../gtk/gtkprintunixdialog.c:3045 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "ترتیب صفحه‌ها" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "چپ به راست" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "چپ به راست" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "از سر به ته" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "از ته به سر" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "صفحه‌بندی" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "_دو رو:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "_تعداد صفحه‌ها در یک رو" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "_ترتیب صفحه‌ها" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "_فقط چاپ" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 -msgid "All sheets" -msgstr "همهٔ صفحه‌ها" - #: ../gtk/gtkprintunixdialog.c:3382 +msgid "All sheets" +msgstr "همه‌ی صفحه‌ها" + +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "صفحه‌های زوج" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "صفحه‌های فرد" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "م_قیاس:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "کاغذ" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "نو_ع کاغذ:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "_منبع کاغذ" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "_سینی خروجی:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "_جهت:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "عمودی" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "منظره‌‌ای" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "عمودی معکوس" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "منظره‌ای معکوس" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "جزئیات کار" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "او_لویت:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "ا_طلاعات صورتحساب" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "چاپ سند" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "_اکنون" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "_در:" @@ -1858,7 +1858,7 @@ msgstr "_در:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1866,81 +1866,75 @@ msgstr "" "زمان چاپ را مشخص کنید، \n" "مثلا ۱۵:۳۰، ۲:۳۵ ب.ظ، ۱۴:۱۵:۲۰، ۱۱:۴۶ ق.ظ، ۴ ب.ظ" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "زمان چاپ" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "_در حل انتظار:" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "کار را نگهدار تا آشکارا منتشر شود" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" -msgstr "افزودن صفحهٔ رویه" +msgstr "افزودن صفحه‌ی رویه" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "_پیش از:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "_پس از:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "کار" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "پیشرفته" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "کیفیت تصویر" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "رنگ" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "در حال پایان بردن" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" -msgstr "ببعضی از تنظیمات در جعبهٔ محاوره ناسازگارند." +msgstr "ببعضی از تنظیمات در جعبه‌ی محاوره ناسازگارند." -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "چاپ" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "نمی‌توان پروندهٔ درجی را یافت: «%s»" - -#: ../gtk/gtkrc.c:3470 -#: ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:871 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "نمی‌توان پروندهٔ تصویر را در pixmap_path یافت: «%s»" +msgstr "نمی‌توان پرونده‌ی تصویر را در pixmap_path یافت: «%s»" #: ../gtk/gtkrecentaction.c:165 #: ../gtk/gtkrecentaction.c:173 @@ -1948,7 +1942,7 @@ msgstr "نمی‌توان پروندهٔ تصویر را در pixmap_path یاف #: ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" -msgstr "این تابع برای عنصر‌های ردهٔ '%s' پیاده‌سازی نشده است" +msgstr "این تابع برای عنصر‌های رده‌ی '%s' پیاده‌سازی نشده است" #: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" @@ -2051,14 +2045,14 @@ msgstr "نمی‌توان موردی با نشانی «%s» یافت" #: ../gtk/gtkrecentmanager.c:2437 #, c-format msgid "No registered application with name '%s' for item with URI '%s' found" -msgstr "هیچ برنامهٔ ثبت شده‌ای با نام «%s» برای آدرس ولی «%s» یافت نشد" +msgstr "هیچ برنامه‌ی ثبت شده‌ای با نام «%s» برای آدرس ولی «%s» یافت نشد" -#: ../gtk/gtkspinner.c:439 +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "گرداننده" -#: ../gtk/gtkspinner.c:440 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "نشان‌گر تصویری پیشرفت را فراهم می‌کند" @@ -2548,7 +2542,7 @@ msgstr "بله" #: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" -msgstr "اندازهٔ _عادی" +msgstr "اندازه‌ی _عادی" #. Zoom #: ../gtk/gtkstock.c:439 @@ -2588,7 +2582,6 @@ msgid "OFF" msgstr "U+25CB" #: ../gtk/gtkswitch.c:943 -#| msgid "inch" msgctxt "light switch widget" msgid "Switch" msgstr "تعویض" @@ -2607,121 +2600,121 @@ msgstr "خطای ناشناخته هنگام تلاش برای نامتوالی msgid "No deserialize function found for format %s" msgstr "هیچ تابع نامتوالی‌کننده‌ای برای قالب %s یافت نشد" -#: ../gtk/gtktextbufferserialize.c:803 -#: ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:799 +#: ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "هم «id» و هم «name» در عنصر <%s> یافت شدند" -#: ../gtk/gtktextbufferserialize.c:813 -#: ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:809 +#: ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "خصیصه«%s» دوبار در عنصر <%s> یافت شد" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:851 #, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "عنصر <%s> شناسهٔ نامعتبر «%s» دارد" +msgstr "عنصر <%s> شناسه‌ی نامعتبر «%s» دارد" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" -msgstr "عنصر <%s> نه خصیصهٔ «name» و نه خصیصهٔ «id» دارد" +msgstr "عنصر <%s> نه خصیصه‌ی «name» و نه خصیصه‌ی «id» دارد" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "خصیصهٔ «%s» در عنصر <%s> یکسان دو بار تکرار شده است" +msgstr "خصیصه‌ی «%s» در عنصر <%s> یکسان دو بار تکرار شده است" -#: ../gtk/gtktextbufferserialize.c:970 -#: ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:966 +#: ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" -msgstr "خصیصهٔ «%s» در این متن روی عنصر <%s> نامعتبر است" +msgstr "خصیصه‌ی «%s» در این متن روی عنصر <%s> نامعتبر است" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "برچسب «%s» تعریف نشده است." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "برچسب بی‌نام پیدا شده و نمی‌توان برچسب ساخت." -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "برچسب \"%s\" در میان‌گیر وجود ندارد و نمی‌توان برچسب ساخت." -#: ../gtk/gtktextbufferserialize.c:1156 -#: ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 -#: ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1152 +#: ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 +#: ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "عنصر <%s> زیر <%s> مجاز نیست" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» نوع خصیصه‌ای نامعتبر است" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" -msgstr "«%s» نام خصیصهٔ معتبری نیست" +msgstr "«%s» نام خصیصه‌ی معتبری نیست" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "«%s» نمی‌تواند به یک مقدار معتبر از نوع «%s» برای خصیصهٔ «%s» تبدیل شود" +msgstr "«%s» نمی‌تواند به یک مقدار معتبر از نوع «%s» برای خصیصه‌ی «%s» تبدیل شود" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" -msgstr "«%s» مقدار معتبری برای خصیصهٔ «%s» نیست" +msgstr "«%s» مقدار معتبری برای خصیصه‌ی «%s» نیست" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "برچسب «%s» پیشاپیش تعریف شده است" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "برچسب «%s» دارای اولویت نامعتبر«%s» است." -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "بیرونی‌ترین عنصر در متن بایستی باشد نه <%s>" -#: ../gtk/gtktextbufferserialize.c:1374 -#: ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1370 +#: ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "یک عنصر <%s> پیشاپیش مشخص شده‌است" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr "یک عنصر نمی‌تواند پیش از یک عنصر پیش‌بیاید" -#: ../gtk/gtktextbufferserialize.c:1796 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" -msgstr "دادهٔ متوالی شده بد‌ریخت است" +msgstr "داده‌ی متوالی شده بد‌ریخت است" -#: ../gtk/gtktextbufferserialize.c:1874 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "دادهٔ متوالی شده بد‌ریخت است. اولین بخش GTKTEXTBUFFERCONTENTS-0001 نیست" +msgstr "داده‌ی متوالی شده بد‌ریخت است. اولین بخش GTKTEXTBUFFERCONTENTS-0001 نیست" #: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" -msgstr "LRM نشانهٔ _چپ‌به‌راست" +msgstr "LRM نشانه‌ی _چپ‌به‌راست" #: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" -msgstr "RLM نشانهٔ _راست‌به‌چپ" +msgstr "RLM نشانه‌ی _راست‌به‌چپ" #: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" @@ -2745,7 +2738,7 @@ msgstr "PDF پایان زیرمتن_" #: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" -msgstr "ZWS فاصلهٔ _بی‌عرض" +msgstr "ZWS فاصله‌ی _بی‌عرض" #: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" @@ -2753,7 +2746,7 @@ msgstr "ZWJ _اتصال بی‌عرض" #: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" -msgstr "ZWNJ _جداکنندهٔ بی‌عرض" +msgstr "ZWNJ _جداکننده‌ی بی‌عرض" #: ../gtk/gtkthemes.c:72 #, c-format @@ -2763,52 +2756,52 @@ msgstr "نمی‌توان موتور تم را در module_path یافت: «%s» #: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" -msgstr "برچسب شروع غیرمنتظره «%s» در سطر %Id نویسهٔ %Id" +msgstr "برچسب شروع غیرمنتظره «%s» در سطر %Id نویسه‌ی %Id" #: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" -msgstr "دادهٔ نویسه‌ای غیرمنتظره در سطر %Id نویسهٔ %Id" +msgstr "داده‌ی نویسه‌ای غیرمنتظره در سطر %Id نویسه‌ی %Id" #: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "خالی" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "بلندی" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "صدا را کم یا زیاد می‌کند." -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "_تنظیم بلندی صدا" -#: ../gtk/gtkvolumebutton.c:94 -#: ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 +#: ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "کم کردن صدا" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "کم کردن بلندی صدا" -#: ../gtk/gtkvolumebutton.c:100 -#: ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 +#: ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "بلند کردن صدا" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "بلند کردن صدا" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "بی‌صدا" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "_آخرِ صدا" @@ -2817,7 +2810,7 @@ msgstr "_آخرِ صدا" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3417,12 +3410,12 @@ msgstr "قانونی دولتی" #: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" -msgstr "نامهٔ دولتی" +msgstr "نامه‌ی دولتی" #: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" -msgstr "نمایهٔ ۵×۳" +msgstr "نمایه‌ی ۵×۳" #: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" @@ -3437,7 +3430,7 @@ msgstr "نمایه ۶×۴ خارجی" #: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" -msgstr "نمایهٔ ۸×۵" +msgstr "نمایه‌ی ۸×۵" #: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" @@ -3467,12 +3460,12 @@ msgstr "نامه‌ای ایالات متحده" #: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" -msgstr "نامهٔ ایالات متحده ویژه" +msgstr "نامه‌ی ایالات متحده ویژه" #: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" -msgstr "نامهٔ ایالات متحده اضافه" +msgstr "نامه‌ی ایالات متحده اضافه" #: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" @@ -3648,7 +3641,7 @@ msgstr "ROC 8k" #: ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" -msgstr "برای پیوند نمادی «%s» و «%s» مشخصهٔ idatas متفاتی پیدا شد\n" +msgstr "برای پیوند نمادی «%s» و «%s» مشخصه‌ی idatas متفاتی پیدا شد\n" #: ../gtk/updateiconcache.c:1374 #, c-format @@ -3663,7 +3656,7 @@ msgstr "نوشتن جدول درهم خراب شد \n" #: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" -msgstr "نوشتن نمایهٔ پوشه خراب شد\n" +msgstr "نوشتن نمایه‌ی پوشه خراب شد\n" #: ../gtk/updateiconcache.c:1394 #, c-format @@ -3673,13 +3666,13 @@ msgstr "بازنویسی سرآیند خراب شد\n" #: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" -msgstr "باز کردن پروندهٔ%s : %s خراب شد\n" +msgstr "باز کردن پرونده‌ی%s : %s خراب شد\n" #: ../gtk/updateiconcache.c:1496 #: ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" -msgstr "نوشتن پروندهٔ نهان‌گاه «‎%s» خراب شد\n" +msgstr "نوشتن پرونده‌ی نهان‌گاه «‎%s» خراب شد\n" #: ../gtk/updateiconcache.c:1537 #, c-format @@ -3699,12 +3692,12 @@ msgstr "تغییر نام «%s» به %s ممکن نبود: %s \n" #: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" -msgstr "برگشت تغییر نام پوشهٔ %s به %s ممکن نبود: %s \n" +msgstr "برگشت تغییر نام پوشه‌ی %s به %s ممکن نبود: %s \n" #: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" -msgstr "پروندهٔ نهان‌گاه با موفقیت ایجاد شد.\n" +msgstr "پرونده‌ی نهان‌گاه با موفقیت ایجاد شد.\n" #: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" @@ -3743,7 +3736,7 @@ msgstr "این یک نهان‌گاه نشان معتبر نیست: %s\n" #: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" -msgstr "پروندهٔ نمایهٔ چهره‌ای نیست.\n" +msgstr "پرونده‌ی نمایه‌ی چهره‌ای نیست.\n" #: ../gtk/updateiconcache.c:1736 #, c-format @@ -3751,7 +3744,7 @@ msgid "" "No theme index file in '%s'.\n" "If you really want to create an icon cache here, use --ignore-theme-index.\n" msgstr "" -"پروندهٔ نمایهٔ تم در '%s' نیست.\n" +"پرونده‌ی نمایه‌ی تم در '%s' نیست.\n" "اگر به‌راستی می‌خواهید یک نهان‌گاه نشان اینجا ایجاد کنید، از --ignore-theme-index استفاده کنید..\n" #. ID @@ -3807,7 +3800,7 @@ msgstr "ویتنامی (VIQR)" #. ID #: ../modules/input/imxim.c:28 msgid "X Input Method" -msgstr "شیوهٔ ورودی X" +msgstr "شیوه‌ی ورودی X" #: ../modules/printbackends/cups/gtkprintbackendcups.c:810 #: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 @@ -4207,7 +4200,7 @@ msgstr "چاپگر برون‌خط" #. SUN_BRANDING #: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" -msgstr "آمادهٔ چاپ" +msgstr "آماده‌ی چاپ" #. SUN_BRANDING #: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 @@ -4237,18 +4230,24 @@ msgstr "چاپ به چاپگر آزمایشی" #: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" -msgstr "نمی‌توان برای پروندهٔ «%s» اطلاعات گرفت: %s" +msgstr "نمی‌توان برای پرونده‌ی «%s» اطلاعات گرفت: %s" #: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" -msgstr "باز کردن پروندهٔ «%s» شکست خورد: %s" +msgstr "باز کردن پرونده‌ی «%s» شکست خورد: %s" #: ../tests/testfilechooser.c:267 #, c-format msgid "Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن معلوم نیست، احتمالاً پروندهٔ تصویری خراب است" +msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن معلوم نیست، احتمالاً پرونده‌ی تصویری خراب است" +#~ msgid "Credits" +#~ msgstr "دست‌اندرکاران" +#~ msgid "Written by" +#~ msgstr "نوشته‌ی" +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "نمی‌توان پرونده‌ی درجی را یافت: «%s»" #~ msgid "Gdk debugging flags to set" #~ msgstr "پرچم‌های اشکال‌زدایی Gdk که باید یک شوند" #~ msgid "Gdk debugging flags to unset" @@ -4256,64 +4255,64 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Error creating folder '%s': %s" #~ msgstr "خطا هنگام ایجاد پوشه «%s» : %s" #~ msgid "Image file '%s' contains no data" -#~ msgstr "پروندهٔ تصویری «%s» هیچ داده‌ای ندارد" +#~ msgstr "پرونده‌ی تصویری «%s» هیچ داده‌ای ندارد" #~ msgid "" #~ "Failed to load animation '%s': reason not known, probably a corrupt " #~ "animation file" #~ msgstr "" -#~ "بار کردن پویانمایی «%s» شکست خورد: دلیل آن معلوم نیست، احتمالاً پروندهٔ " +#~ "بار کردن پویانمایی «%s» شکست خورد: دلیل آن معلوم نیست، احتمالاً پرونده‌ی " #~ "پویانمایی خراب است" #~ msgid "Unable to load image-loading module: %s: %s" -#~ msgstr "نمی‌توان پیمانهٔ تصویربارکن را بار کرد: %s: %s" +#~ msgstr "نمی‌توان پیمانه‌ی تصویربارکن را بار کرد: %s: %s" #~ msgid "" #~ "Image-loading module %s does not export the proper interface; perhaps " #~ "it's from a different GTK version?" #~ msgstr "" -#~ "پیمانهٔ بار کردن پرونده %s رابط مناسب را صادر نمی‌کند؛ شاید از نسخهٔ دیگری " +#~ "پیمانه‌ی بار کردن پرونده %s رابط مناسب را صادر نمی‌کند؛ شاید از نسخه‌ی دیگری " #~ "از GTK است؟" #~ msgid "Image type '%s' is not supported" #~ msgstr "تصویر نوع «%s» پشتیبانی نمی‌شود" #~ msgid "Couldn't recognize the image file format for file '%s'" -#~ msgstr "قالب پروندهٔ تصویر برای پروندهٔ «%s» تشخیص داده نشد" +#~ msgstr "قالب پرونده‌ی تصویر برای پرونده‌ی «%s» تشخیص داده نشد" #~ msgid "Unrecognized image file format" -#~ msgstr "قالب پروندهٔ تصویری ناشناخته" +#~ msgstr "قالب پرونده‌ی تصویری ناشناخته" #~ msgid "Failed to load image '%s': %s" #~ msgstr "بار کردن تصویر «%s» شکست خورد: %s" #~ msgid "Error writing to image file: %s" -#~ msgstr "خطا در نوشتن در پروندهٔ تصویر: %s" +#~ msgstr "خطا در نوشتن در پرونده‌ی تصویر: %s" #~ msgid "" #~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "این ساخت gdk-pixbuf از ذخیرهٔ این قالب تصویری پشتیبانی نمی‌کند: %s" +#~ msgstr "این ساخت gdk-pixbuf از ذخیره‌ی این قالب تصویری پشتیبانی نمی‌کند: %s" #~ msgid "Failed to open temporary file" -#~ msgstr "باز کردن پروندهٔ موقت شکست خورد" +#~ msgstr "باز کردن پرونده‌ی موقت شکست خورد" #~ msgid "Failed to read from temporary file" -#~ msgstr "خواندن از پروندهٔ موقت شکست خورد" +#~ msgstr "خواندن از پرونده‌ی موقت شکست خورد" #~ msgid "Failed to open '%s' for writing: %s" #~ msgstr "نمی‌توان «%s» را برای نوشتن باز کرد: %s" #~ msgid "" #~ "Failed to close '%s' while writing image, all data may not have been " #~ "saved: %s" #~ msgstr "" -#~ "بستن «%s» هنگام نوشتن تصویر شکست خورد، ممکن است همهٔ داده‌ها ذخیره نشده " +#~ "بستن «%s» هنگام نوشتن تصویر شکست خورد، ممکن است همه‌ی داده‌ها ذخیره نشده " #~ "باشند: %s" #~ msgid "Insufficient memory to save image into a buffer" #~ msgstr "حافظه برای ذخیره کردن تصویر در میان‌گیر کافی نیست" #, fuzzy #~ msgid "Error writing to image stream" -#~ msgstr "خطا در نوشتن در پروندهٔ تصویر: %s" +#~ msgstr "خطا در نوشتن در پرونده‌ی تصویر: %s" #, fuzzy #~ msgid "" #~ "Internal error: Image loader module '%s' failed to complete an operation, " #~ "but didn't give a reason for the failure" #~ msgstr "" -#~ "خطای داخلی: پیمانهٔ بارکنندهٔ تصویر «%s» در بار کردن یک تصویر شکست خورد،ولی " +#~ "خطای داخلی: پیمانه‌ی بارکننده‌ی تصویر «%s» در بار کردن یک تصویر شکست خورد،ولی " #~ "دلیلی برای این شکست اعلام نکرد" #~ msgid "Incremental loading of image type '%s' is not supported" #~ msgstr "بار کردن افزایشی تصویر نوع «%s» پشتیبانی نمی‌شود" #~ msgid "Image header corrupt" -#~ msgstr "سرصفحهٔ تصویر خراب است" +#~ msgstr "سرصفحه‌ی تصویر خراب است" #~ msgid "Image format unknown" #~ msgstr "قالب تصویر نامعلوم است" #~ msgid "Image pixel data corrupt" @@ -4326,19 +4325,19 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Unsupported animation type" #~ msgstr "پویانمایی از نوع پشتیبانی‌نشده" #~ msgid "Invalid header in animation" -#~ msgstr "سرصفحهٔ نامعتبر در پویانمایی" +#~ msgstr "سرصفحه‌ی نامعتبر در پویانمایی" #~ msgid "Not enough memory to load animation" #~ msgstr "حافظه برای بار کردن پویانمایی کافی نیست" #~ msgid "Malformed chunk in animation" -#~ msgstr "تکهٔ معیوب در پویانمایی" +#~ msgstr "تکه‌ی معیوب در پویانمایی" #~ msgid "The ANI image format" #~ msgstr "قالب تصویر ANI" #~ msgid "BMP image has bogus header data" -#~ msgstr "داده‌های سرصفحهٔ تصویر BMP جعلی است" +#~ msgstr "داده‌های سرصفحه‌ی تصویر BMP جعلی است" #~ msgid "Not enough memory to load bitmap image" #~ msgstr "حافظه برای بار کردن تصویر نقشه‌بیتی کافی نیست" #~ msgid "BMP image has unsupported header size" -#~ msgstr "اندازهٔ سرصفحهٔ تصویر BMP پشتیبانی نمی‌شود" +#~ msgstr "اندازه‌ی سرصفحه‌ی تصویر BMP پشتیبانی نمی‌شود" #~ msgid "Topdown BMP images cannot be compressed" #~ msgstr "تصاویر BMP ازبالا‌به‌پایین نمی‌توانند فشرده باشند" #~ msgid "Premature end-of-file encountered" @@ -4346,7 +4345,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #, fuzzy #~ msgid "Couldn't allocate memory for saving BMP file" -#~ msgstr "نمی‌توان برای بار کردن پروندهٔ JPEG حافظه تخصیص داد" +#~ msgstr "نمی‌توان برای بار کردن پرونده‌ی JPEG حافظه تخصیص داد" #, fuzzy #~ msgid "Couldn't write to BMP file" @@ -4357,29 +4356,29 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgstr "شکست در خواندن GIF: %s" #~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" #~ msgstr "" -#~ "بعضی از داده‌های پروندهٔ GIF مفقود شده‌اند (شاید پرونده به شکلی قطع شده است؟)‏" +#~ "بعضی از داده‌های پرونده‌ی GIF مفقود شده‌اند (شاید پرونده به شکلی قطع شده است؟)‏" #~ msgid "Internal error in the GIF loader (%s)" #~ msgstr "خطای داخلی در بارگذار GIF (%s)" #~ msgid "Stack overflow" #~ msgstr "سرریز پشته" #~ msgid "GIF image loader cannot understand this image." -#~ msgstr "بارکنندهٔ تصویر GIF نمی‌تواند این تصویر را بفهمد." +#~ msgstr "بارکننده‌ی تصویر GIF نمی‌تواند این تصویر را بفهمد." #~ msgid "Bad code encountered" #~ msgstr "برخورد با کد بد" #~ msgid "Circular table entry in GIF file" -#~ msgstr "مدخل دوری جدول در پروندهٔ GIF" +#~ msgstr "مدخل دوری جدول در پرونده‌ی GIF" #~ msgid "Not enough memory to load GIF file" -#~ msgstr "حافظه برای بار کردن پروندهٔ GIF کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی GIF کافی نیست" #, fuzzy #~ msgid "Not enough memory to composite a frame in GIF file" -#~ msgstr "حافظه برای بار کردن پروندهٔ GIF کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی GIF کافی نیست" #~ msgid "GIF image is corrupt (incorrect LZW compression)" #~ msgstr "تصویر GIF خراب است (فشرده‌سازی LZW غلط)" #~ msgid "File does not appear to be a GIF file" -#~ msgstr "پرونده به‌نظر یک پروندهٔ GIF نمی‌رسد" +#~ msgstr "پرونده به‌نظر یک پرونده‌ی GIF نمی‌رسد" #~ msgid "Version %s of the GIF file format is not supported" -#~ msgstr "نسخهٔ %s از قالب پروندهٔ GIF پشتیبانی نمی‌شود" +#~ msgstr "نسخه‌ی %s از قالب پرونده‌ی GIF پشتیبانی نمی‌شود" #~ msgid "" #~ "GIF image has no global colormap, and a frame inside it has no local " #~ "colormap." @@ -4391,7 +4390,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "The GIF image format" #~ msgstr "قالب تصویر GIF" #~ msgid "Invalid header in icon" -#~ msgstr "سرصفحهٔ نامعتبر در شمایل" +#~ msgstr "سرصفحه‌ی نامعتبر در شمایل" #~ msgid "Not enough memory to load icon" #~ msgstr "حافظه برای بار کردن شمایل کافی نیست" #~ msgid "Icon has zero width" @@ -4403,19 +4402,19 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Unsupported icon type" #~ msgstr "شمایل از نوع پشتیانی‌نشده" #~ msgid "Not enough memory to load ICO file" -#~ msgstr "حافظه برای بار کردن پروندهٔ ICO کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی ICO کافی نیست" #~ msgid "Image too large to be saved as ICO" #~ msgstr "تصویر برای ذخیره شدن به‌عنوان ICO خیلی بزرگ است" #~ msgid "Cursor hotspot outside image" #~ msgstr "کانون مکان‌نما خارج از تصویر است" #~ msgid "Unsupported depth for ICO file: %d" -#~ msgstr "عمق پشتیبانی‌نشده برای پروندهٔ ICO: %Id" +#~ msgstr "عمق پشتیبانی‌نشده برای پرونده‌ی ICO: %Id" #~ msgid "The ICO image format" #~ msgstr "قالب تصویر ICO" #, fuzzy #~ msgid "Error reading ICNS image: %s" -#~ msgstr "خطای مهلک در خواندن پروندهٔ تصویری PNG‏: %s" +#~ msgstr "خطای مهلک در خواندن پرونده‌ی تصویری PNG‏: %s" #, fuzzy #~ msgid "Could not decode ICNS file" @@ -4443,11 +4442,11 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #, fuzzy #~ msgid "Couldn't allocate memory for color profile" -#~ msgstr "نمی‌توان برای بار کردن پروندهٔ JPEG حافظه تخصیص داد" +#~ msgstr "نمی‌توان برای بار کردن پرونده‌ی JPEG حافظه تخصیص داد" #, fuzzy #~ msgid "Insufficient memory to open JPEG 2000 file" -#~ msgstr "حافظه برای بار کردن پروندهٔ TIFF کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی TIFF کافی نیست" #, fuzzy #~ msgid "Couldn't allocate memory to buffer image data" @@ -4457,7 +4456,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "The JPEG 2000 image format" #~ msgstr "قالب تصویر JPEG" #~ msgid "Error interpreting JPEG image file (%s)" -#~ msgstr "خطا در تفسیر پروندهٔ JPEG ‏(%s)" +#~ msgstr "خطا در تفسیر پرونده‌ی JPEG ‏(%s)" #~ msgid "" #~ "Insufficient memory to load image, try exiting some applications to free " #~ "memory" @@ -4467,7 +4466,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Unsupported JPEG color space (%s)" #~ msgstr "فضای رنگ JPEG پشتیبانی نمی‌شود (%s)" #~ msgid "Couldn't allocate memory for loading JPEG file" -#~ msgstr "نمی‌توان برای بار کردن پروندهٔ JPEG حافظه تخصیص داد" +#~ msgstr "نمی‌توان برای بار کردن پرونده‌ی JPEG حافظه تخصیص داد" #, fuzzy #~ msgid "Transformed JPEG has zero width or height." @@ -4498,7 +4497,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Couldn't allocate memory for paletted data" #~ msgstr "نمی‌توان برای داده‌های تخته‌رنگ‌شده حافظه تخصیص داد" #~ msgid "Didn't get all lines of PCX image" -#~ msgstr "همهٔ خطهای تصویر PCX گرفته نشد" +#~ msgstr "همه‌ی خطهای تصویر PCX گرفته نشد" #~ msgid "No palette found at end of PCX data" #~ msgstr "در انتهای داده‌های PCX تخته‌رنگی یافته نشد" #~ msgid "The PCX image format" @@ -4514,19 +4513,19 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." #~ msgstr "تعداد کانالهای PNG تبدیل‌شده پشتیبانی نمی‌شود، باید ۳ یا ۴ تا باشد." #~ msgid "Fatal error in PNG image file: %s" -#~ msgstr "خطای مهلک در پروندهٔ تصویر PNG‏: %s" +#~ msgstr "خطای مهلک در پرونده‌ی تصویر PNG‏: %s" #~ msgid "Insufficient memory to load PNG file" -#~ msgstr "حافظه برای بار کردن پروندهٔ PNG کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی PNG کافی نیست" #~ msgid "" #~ "Insufficient memory to store a %ld by %ld image; try exiting some " #~ "applications to reduce memory usage" #~ msgstr "" -#~ "حافظه برای ذخیرهٔ یک تصویر %Ild در %Ild کافی نیست؛ برای کاهش مصرف حافظه " +#~ "حافظه برای ذخیره‌ی یک تصویر %Ild در %Ild کافی نیست؛ برای کاهش مصرف حافظه " #~ "خروج از بعضی برنامه‌ها را امتحان کنید" #~ msgid "Fatal error reading PNG image file" -#~ msgstr "خطای مهلک در خواندن پروندهٔ تصویری PNG" +#~ msgstr "خطای مهلک در خواندن پرونده‌ی تصویری PNG" #~ msgid "Fatal error reading PNG image file: %s" -#~ msgstr "خطای مهلک در خواندن پروندهٔ تصویری PNG‏: %s" +#~ msgstr "خطای مهلک در خواندن پرونده‌ی تصویری PNG‏: %s" #~ msgid "" #~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." #~ msgstr "کلیدهای تکه‌متنهای PNG باید حداقل یک و حداکثر ۷۹ نویسه داشته باشند." @@ -4550,40 +4549,40 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "The PNG image format" #~ msgstr "قالب تصویر PNG" #~ msgid "PNM loader expected to find an integer, but didn't" -#~ msgstr "بارکنندهٔ PNM انتظار داشت یک عدد صحیح ببیند، ولی ندید" +#~ msgstr "بارکننده‌ی PNM انتظار داشت یک عدد صحیح ببیند، ولی ندید" #~ msgid "PNM file has an incorrect initial byte" -#~ msgstr "بایت ابتدایی پروندهٔ PNM نادرست است" +#~ msgstr "بایت ابتدایی پرونده‌ی PNM نادرست است" #~ msgid "PNM file is not in a recognized PNM subformat" -#~ msgstr "پروندهٔ PNM در زیرقالب شناخته‌شده‌ای از PNM نیست" +#~ msgstr "پرونده‌ی PNM در زیرقالب شناخته‌شده‌ای از PNM نیست" #~ msgid "PNM file has an image width of 0" -#~ msgstr "عرض تصویر پروندهٔ PNM صفر است" +#~ msgstr "عرض تصویر پرونده‌ی PNM صفر است" #~ msgid "PNM file has an image height of 0" -#~ msgstr "ارتفاع تصویر پروندهٔ PNM صفر است" +#~ msgstr "ارتفاع تصویر پرونده‌ی PNM صفر است" #~ msgid "Maximum color value in PNM file is 0" -#~ msgstr "حداکثر مقدار رنگ در پروندهٔ PNM صفر است" +#~ msgstr "حداکثر مقدار رنگ در پرونده‌ی PNM صفر است" #~ msgid "Maximum color value in PNM file is too large" -#~ msgstr "مقدار حداکثر رنگ در پروندهٔ PNM خیلی بزرگ است" +#~ msgstr "مقدار حداکثر رنگ در پرونده‌ی PNM خیلی بزرگ است" #~ msgid "Raw PNM image type is invalid" #~ msgstr "نوع تصویر PNM خام نامعتبر است" #~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "بارکنندهٔ تصویر PNM از این زیرقالب پشتیبانی نمی‌کند" +#~ msgstr "بارکننده‌ی تصویر PNM از این زیرقالب پشتیبانی نمی‌کند" #~ msgid "Raw PNM formats require exactly one whitespace before sample data" #~ msgstr "" -#~ "قالبهای PNM خام به دقیقاً یک فاصلهٔ خالی قبل از داده‌های نمونه نیاز دارند" +#~ "قالبهای PNM خام به دقیقاً یک فاصله‌ی خالی قبل از داده‌های نمونه نیاز دارند" #~ msgid "Cannot allocate memory for loading PNM image" #~ msgstr "نمی‌توان برای بار کردن تصویر PNM حافظه تخصیص داد" #~ msgid "Insufficient memory to load PNM context struct" -#~ msgstr "حافظه برای بار کردن ساختار زمینهٔ PNM کافی نیست" +#~ msgstr "حافظه برای بار کردن ساختار زمینه‌ی PNM کافی نیست" #~ msgid "Unexpected end of PNM image data" -#~ msgstr "پایان غیرمنتظرهٔ داده‌های تصویر PNM" +#~ msgstr "پایان غیرمنتظره‌ی داده‌های تصویر PNM" #~ msgid "Insufficient memory to load PNM file" -#~ msgstr "حافظه برای بار کردن پروندهٔ PNM کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی PNM کافی نیست" #~ msgid "The PNM/PBM/PGM/PPM image format family" -#~ msgstr "خانوادهٔ قالبهای تصویر PNM/PBM/PGM/PPM" +#~ msgstr "خانواده‌ی قالبهای تصویر PNM/PBM/PGM/PPM" #, fuzzy #~ msgid "Failed to read QTIF header" -#~ msgstr "باز کردن پروندهٔ TIFF شکست خورد" +#~ msgstr "باز کردن پرونده‌ی TIFF شکست خورد" #, fuzzy #~ msgid "Failed to allocate %d bytes for file read buffer" @@ -4595,15 +4594,15 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #, fuzzy #~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "نمی‌توان برای ساختار زمینهٔ TGA حافظه تخصیص داد" +#~ msgstr "نمی‌توان برای ساختار زمینه‌ی TGA حافظه تخصیص داد" #, fuzzy #~ msgid "Failed to create GdkPixbufLoader object." -#~ msgstr "خواندن از پروندهٔ موقت شکست خورد" +#~ msgstr "خواندن از پرونده‌ی موقت شکست خورد" #, fuzzy #~ msgid "Failed to find an image data atom." -#~ msgstr "باز کردن پروندهٔ TIFF شکست خورد" +#~ msgstr "باز کردن پرونده‌ی TIFF شکست خورد" #, fuzzy #~ msgid "The QTIF image format" @@ -4637,43 +4636,43 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Unexpected bitdepth for colormap entries" #~ msgstr "عمق بیتی غیرمنتظره برای مدخلهای نقشه‌رنگ" #~ msgid "Cannot allocate TGA header memory" -#~ msgstr "نمی‌توان حافظهٔ سرصفحهٔ TGA را تخصیص داد" +#~ msgstr "نمی‌توان حافظه‌ی سرصفحه‌ی TGA را تخصیص داد" #~ msgid "TGA image has invalid dimensions" -#~ msgstr "ابعاد پروندهٔ TGA نامعتبر است" +#~ msgstr "ابعاد پرونده‌ی TGA نامعتبر است" #~ msgid "TGA image type not supported" #~ msgstr "تصویر نوع TGA پشتیبانی نمی‌شود" #~ msgid "Cannot allocate memory for TGA context struct" -#~ msgstr "نمی‌توان برای ساختار زمینهٔ TGA حافظه تخصیص داد" +#~ msgstr "نمی‌توان برای ساختار زمینه‌ی TGA حافظه تخصیص داد" #~ msgid "Excess data in file" #~ msgstr "داده‌های اضافی در پرونده" #~ msgid "The Targa image format" #~ msgstr "قالب تصویر تارگا" #~ msgid "Could not get image width (bad TIFF file)" -#~ msgstr "نمی‌توان عرض تصویر را گرفت (پروندهٔ TIFF خراب)" +#~ msgstr "نمی‌توان عرض تصویر را گرفت (پرونده‌ی TIFF خراب)" #~ msgid "Could not get image height (bad TIFF file)" -#~ msgstr "نمی‌توان ارتفاع تصویر را گرفت (پروندهٔ TIFF خراب)" +#~ msgstr "نمی‌توان ارتفاع تصویر را گرفت (پرونده‌ی TIFF خراب)" #~ msgid "Width or height of TIFF image is zero" #~ msgstr "عرض یا ارتفاع تصویر TIFF صفر است" #~ msgid "Dimensions of TIFF image too large" #~ msgstr "ابعاد تصویر TIFF خیلی بزرگ است" #~ msgid "Insufficient memory to open TIFF file" -#~ msgstr "حافظه برای بار کردن پروندهٔ TIFF کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی TIFF کافی نیست" #~ msgid "Failed to load RGB data from TIFF file" -#~ msgstr "نمی‌توان داده‌های RGB را از پروندهٔ TIFF بار کرد" +#~ msgstr "نمی‌توان داده‌های RGB را از پرونده‌ی TIFF بار کرد" #~ msgid "Failed to open TIFF image" -#~ msgstr "باز کردن پروندهٔ TIFF شکست خورد" +#~ msgstr "باز کردن پرونده‌ی TIFF شکست خورد" #~ msgid "TIFFClose operation failed" #~ msgstr "عملیات TIFFClose شکست خورد" #~ msgid "Failed to load TIFF image" -#~ msgstr "بار کردن پروندهٔ TIFF شکست خورد" +#~ msgstr "بار کردن پرونده‌ی TIFF شکست خورد" #, fuzzy #~ msgid "Failed to save TIFF image" -#~ msgstr "باز کردن پروندهٔ TIFF شکست خورد" +#~ msgstr "باز کردن پرونده‌ی TIFF شکست خورد" #, fuzzy #~ msgid "Failed to write TIFF data" -#~ msgstr "باز کردن پروندهٔ TIFF شکست خورد" +#~ msgstr "باز کردن پرونده‌ی TIFF شکست خورد" #, fuzzy #~ msgid "Couldn't write to TIFF file" @@ -4691,33 +4690,33 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "The WBMP image format" #~ msgstr "قالب تصویری WBMP" #~ msgid "Invalid XBM file" -#~ msgstr "پروندهٔ XBM نامعتبر" +#~ msgstr "پرونده‌ی XBM نامعتبر" #~ msgid "Insufficient memory to load XBM image file" -#~ msgstr "حافظه برای بار کردن پروندهٔ تصویری XBM کافی نیست" +#~ msgstr "حافظه برای بار کردن پرونده‌ی تصویری XBM کافی نیست" #~ msgid "Failed to write to temporary file when loading XBM image" -#~ msgstr "نوشتن پروندهٔ موقت هنگام بار کردن تصویر XNM شکست خورد" +#~ msgstr "نوشتن پرونده‌ی موقت هنگام بار کردن تصویر XNM شکست خورد" #~ msgid "The XBM image format" #~ msgstr "قالب تصویر XBM" #~ msgid "No XPM header found" -#~ msgstr "سرصفحهٔ XPM یافت نشد" +#~ msgstr "سرصفحه‌ی XPM یافت نشد" #, fuzzy #~ msgid "Invalid XPM header" -#~ msgstr "پروندهٔ XBM نامعتبر" +#~ msgstr "پرونده‌ی XBM نامعتبر" #~ msgid "XPM file has image width <= 0" -#~ msgstr "عرض تصویر پروندهٔ XPM کمتر یا مساوی صفر است" +#~ msgstr "عرض تصویر پرونده‌ی XPM کمتر یا مساوی صفر است" #~ msgid "XPM file has image height <= 0" -#~ msgstr "ارتفاع تصویر پروندهٔ XPM کمتر یا مساوی صفر است" +#~ msgstr "ارتفاع تصویر پرونده‌ی XPM کمتر یا مساوی صفر است" #~ msgid "XPM has invalid number of chars per pixel" -#~ msgstr "تعداد نویسه بر نقطهٔ XPM نامعتبر است" +#~ msgstr "تعداد نویسه بر نقطه‌ی XPM نامعتبر است" #~ msgid "XPM file has invalid number of colors" -#~ msgstr "تعداد رنگهای پروندهٔ XPM نامعتبر است" +#~ msgstr "تعداد رنگهای پرونده‌ی XPM نامعتبر است" #~ msgid "Cannot allocate memory for loading XPM image" #~ msgstr "نمی‌توان برای بار کردن تصویر XPM حافظه تخصیص داد" #~ msgid "Cannot read XPM colormap" #~ msgstr "نمی‌توان نقشه‌رنگ XPM را خواند" #~ msgid "Failed to write to temporary file when loading XPM image" -#~ msgstr "نوشتن در پروندهٔ موقت هنگام بار کردن تصویر XPM شکست خورد" +#~ msgstr "نوشتن در پرونده‌ی موقت هنگام بار کردن تصویر XPM شکست خورد" #~ msgid "The XPM image format" #~ msgstr "قالب تصویر XPM" @@ -4731,7 +4730,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #, fuzzy #~ msgid "Could not create stream: %s" -#~ msgstr "خطا در ایجاد شاخهٔ «%s»: %s" +#~ msgstr "خطا در ایجاد شاخه‌ی «%s»: %s" #, fuzzy #~ msgid "Could not seek stream: %s" @@ -4739,7 +4738,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #, fuzzy #~ msgid "Could not read from stream: %s" -#~ msgstr "خطا در ایجاد شاخهٔ «%s»: %s" +#~ msgstr "خطا در ایجاد شاخه‌ی «%s»: %s" #, fuzzy #~ msgid "Couldn't load bitmap" @@ -4773,53 +4772,51 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ "available to this program.\n" #~ "Are you sure that you want to select it?" #~ msgstr "" -#~ "پروندهٔ «%s» روی دستگاه دیگری (به نام %s) است و ممکن است برای این برنامه " +#~ "پرونده‌ی «%s» روی دستگاه دیگری (به نام %s) است و ممکن است برای این برنامه " #~ "قابل دسترسی نباشد.\n" #~ "آیا مطمئنید می‌خواهید انتخابش کنید؟" #~ msgid "_New Folder" -#~ msgstr "پوشهٔ _جدید" +#~ msgstr "پوشه‌ی _جدید" #~ msgid "De_lete File" #~ msgstr "_حذف پرونده" #~ msgid "_Rename File" #~ msgstr "_تغییر نام پرونده" #~ msgid "" #~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "نام پوشهٔ «%s» نمادهایی دارد که در نام پرونده‌ها مجاز نیستند" +#~ msgstr "نام پوشه‌ی «%s» نمادهایی دارد که در نام پرونده‌ها مجاز نیستند" #~ msgid "New Folder" -#~ msgstr "پوشهٔ جدید" +#~ msgstr "پوشه‌ی جدید" #~ msgid "_Folder name:" #~ msgstr "_نام پوشه:" -#~ msgid "C_reate" -#~ msgstr "_ایجاد" #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "نام پروندهٔ «%s» نمادهایی دارد که در نام پرونده‌ها مجاز نیستند" +#~ msgstr "نام پرونده‌ی «%s» نمادهایی دارد که در نام پرونده‌ها مجاز نیستند" #, fuzzy #~ msgid "Error deleting file '%s': %s" -#~ msgstr "خطا در حذف پروندهٔ \"%s\": %s" +#~ msgstr "خطا در حذف پرونده‌ی \"%s\": %s" #~ msgid "Really delete file \"%s\"?" -#~ msgstr "پروندهٔ «%s» واقعاً حذف شود؟" +#~ msgstr "پرونده‌ی «%s» واقعاً حذف شود؟" #~ msgid "Delete File" #~ msgstr "حذف پرونده" #, fuzzy #~ msgid "Error renaming file to \"%s\": %s" #~ msgstr "" -#~ "خطا در تغییر نام پروندهٔ «%s»: %s\n" +#~ "خطا در تغییر نام پرونده‌ی «%s»: %s\n" #~ "%s" #, fuzzy #~ msgid "Error renaming file \"%s\": %s" #~ msgstr "" -#~ "خطا در تغییر نام پروندهٔ «%s»: %s\n" +#~ "خطا در تغییر نام پرونده‌ی «%s»: %s\n" #~ "%s" #~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "خطا در تغییر نام پروندهٔ «%s» به «%s»: %s" +#~ msgstr "خطا در تغییر نام پرونده‌ی «%s» به «%s»: %s" #~ msgid "Rename File" #~ msgstr "تغییر نام پرونده" #~ msgid "Rename file \"%s\" to:" -#~ msgstr "تغییر نام پروندهٔ «%s» به:" +#~ msgstr "تغییر نام پرونده‌ی «%s» به:" #~ msgid "_Rename" #~ msgstr "_تغییر نام" #~ msgid "_Selection: " @@ -4828,7 +4825,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " #~ "environment variable G_FILENAME_ENCODING): %s" #~ msgstr "" -#~ "نام پروندهٔ «%s» را نمی‌توان به UTF-8 تبدیل کرد. (تنظیم متغیر محیطی " +#~ "نام پرونده‌ی «%s» را نمی‌توان به UTF-8 تبدیل کرد. (تنظیم متغیر محیطی " #~ "G_FILENAME_ENCODING را امتحان کنید): %s" #~ msgid "Invalid UTF-8" #~ msgstr "‏UTF-8 نامعتبر" @@ -4941,9 +4938,9 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Group" #~ msgstr "گروه" #~ msgid "The radio tool button whose group this button belongs to." -#~ msgstr "دکمهٔ ابزار رادیویی‌ای که این دکمه به گروه آن تعلق دارد." +#~ msgstr "دکمه‌ی ابزار رادیویی‌ای که این دکمه به گروه آن تعلق دارد." #~ msgid "Invalid filename: %s" -#~ msgstr "نام پروندهٔ نامعتبر: %s" +#~ msgstr "نام پرونده‌ی نامعتبر: %s" #~ msgid "" #~ "Could not add a bookmark for '%s' because it is an invalid path name." #~ msgstr "نمی‌توان برای «%s» نشانکی اضافه کرد چون نام مسیر نامعتبری است." @@ -4958,7 +4955,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgstr[0] "%Id بایت" #, fuzzy #~ msgid "Could not get a stock icon for %s\n" -#~ msgstr "نمی‌توان برای پروندهٔ «%s» اطلاعات گرفت: %s" +#~ msgstr "نمی‌توان برای پرونده‌ی «%s» اطلاعات گرفت: %s" #~ msgid "Error getting information for '%s': %s" #~ msgstr "خطا در گرفتن اطلاعات برای «%s»: %s" #~ msgid "This file system does not support mounting" @@ -4967,15 +4964,15 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ "The name \"%s\" is not valid because it contains the character \"%s\". " #~ "Please use a different name." #~ msgstr "" -#~ "نام «%s» معتبر نیست چون شامل نویسهٔ «%s» است. لطفاً از نام دیگری استفاده کنید." +#~ "نام «%s» معتبر نیست چون شامل نویسه‌ی «%s» است. لطفاً از نام دیگری استفاده کنید." #~ msgid "Bookmark saving failed: %s" -#~ msgstr "ذخیرهٔ نشانک‌ شکست خورد: %s" +#~ msgstr "ذخیره‌ی نشانک‌ شکست خورد: %s" #~ msgid "'%s' already exists in the bookmarks list" #~ msgstr "‏«%s» از قبل در فهرست نشانک‌ها موجود است" #~ msgid "'%s' does not exist in the bookmarks list" #~ msgstr "‏«%s» در فهرست نشانک‌ها موجود نیست" #~ msgid "Unknown attribute '%s' on line %d char %d" -#~ msgstr "مشخصهٔ نامعلوم «%s» در سطر %Id نویسهٔ %Id" +#~ msgstr "مشخصه‌ی نامعلوم «%s» در سطر %Id نویسه‌ی %Id" #~ msgid "Default" #~ msgstr "پیش‌فرض" @@ -4991,14 +4988,14 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "PNM image format is invalid" #~ msgstr "قالب تصویر PNM نامعتبر است" #~ msgid "Error creating directory '%s': %s" -#~ msgstr "خطا در ایجاد شاخهٔ «%s»: %s" +#~ msgstr "خطا در ایجاد شاخه‌ی «%s»: %s" #~ msgid "Thai (Broken)" #~ msgstr "تایلندی (شکسته)" #~ msgid "" #~ "Error creating folder \"%s\": %s\n" #~ "%s" #~ msgstr "" -#~ "خطا در ایجاد پوشهٔ «%s»: %s\n" +#~ "خطا در ایجاد پوشه‌ی «%s»: %s\n" #~ "%s" #~ msgid "You probably used symbols not allowed in filenames." #~ msgstr "احتمالاً از نمادهایی استفاده کرده‌اید که در نام پرونده‌ها مجاز نیستند" @@ -5006,13 +5003,13 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ "Error deleting file \"%s\": %s\n" #~ "%s" #~ msgstr "" -#~ "خطا در حذف پروندهٔ «%s»: %s\n" +#~ "خطا در حذف پرونده‌ی «%s»: %s\n" #~ "%s" #~ msgid "It probably contains symbols not allowed in filenames." #~ msgstr "احتمالاً نمادهایی دارد که در نام پرونده‌ها مجاز نیست." #~ msgid "" #~ "The file name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "نام پروندهٔ «%s» نمادهایی دارد که در نام پرونده‌ها مجاز نیستند" +#~ msgstr "نام پرونده‌ی «%s» نمادهایی دارد که در نام پرونده‌ها مجاز نیستند" #~ msgid "Error getting information for '/': %s" #~ msgstr "خطا در گرفتن اطلاعات برای «/»: %s" #~ msgid "Select All" @@ -5024,7 +5021,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "Cannot handle PNM files with maximum color values greater than 255" #~ msgstr "نمی‌توان با پرونده‌های PNM با حداکثر مقدار رنگ بیشتر از ۲۵۵ کار کرد" #~ msgid "Could not get information about '%s': %s" -#~ msgstr "نمی‌توان دربارهٔ «%s» اطلاعات گرفت: %s" +#~ msgstr "نمی‌توان درباره‌ی «%s» اطلاعات گرفت: %s" #~ msgid "Shortcuts" #~ msgstr "میانبرها" #~ msgid "Folder" @@ -5044,7 +5041,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #, fuzzy #~ msgid "Writing %s failed: %s" -#~ msgstr "ذخیرهٔ نشانک‌ شکست خورد: %s" +#~ msgstr "ذخیره‌ی نشانک‌ شکست خورد: %s" #~ msgid "_Credits" #~ msgstr "_دست‌اندرکاران" @@ -5057,7 +5054,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ "Could not change the current folder to %s:\n" #~ "%s" #~ msgstr "" -#~ "خطا در ایجاد پوشهٔ \"%s\": %s\n" +#~ "خطا در ایجاد پوشه‌ی \"%s\": %s\n" #~ "%s" #, fuzzy @@ -5076,7 +5073,7 @@ msgstr "بار کردن تصویر «%s» شکست خورد: دلیل آن مع #~ msgid "_Filename:" #~ msgstr "نام پرونده" #~ msgid "Current folder: %s" -#~ msgstr "پوشهٔ فعلی: %s" +#~ msgstr "پوشه‌ی فعلی: %s" #~ msgid "Zoom _100%" #~ msgstr "زوم _۱۰۰٪" From 26a304c54bf876df5f0ed886f2ca2abae761eccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sun, 19 Dec 2010 20:43:30 +0000 Subject: [PATCH 0584/1463] Move GtkSelectionData to a private header --- gtk/gtkdnd.c | 1 + gtk/gtkselection.c | 5 ++++- gtk/gtkselection.h | 22 --------------------- gtk/gtkselectionprivate.h | 40 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+), 23 deletions(-) create mode 100644 gtk/gtkselectionprivate.h diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index b6e9ea0d2b..3e56216ace 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -52,6 +52,7 @@ #include "gtkwindow.h" #include "gtkintl.h" #include "gtkdndcursors.h" +#include "gtkselectionprivate.h" static GSList *source_widgets = NULL; diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index fd8058d3bf..71520e448e 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -52,13 +52,16 @@ */ #include "config.h" + +#include "gtkselection.h" +#include "gtkselectionprivate.h" + #include #include #include "gdk.h" #include "gtkmain.h" #include "gtkdebug.h" -#include "gtkselection.h" #include "gtktextbufferrichtext.h" #include "gtkintl.h" #include "gdk-pixbuf/gdk-pixbuf.h" diff --git a/gtk/gtkselection.h b/gtk/gtkselection.h index bdb1312e1f..761d2b288a 100644 --- a/gtk/gtkselection.h +++ b/gtk/gtkselection.h @@ -44,28 +44,6 @@ typedef struct _GtkTargetEntry GtkTargetEntry; #define GTK_TYPE_SELECTION_DATA (gtk_selection_data_get_type ()) #define GTK_TYPE_TARGET_LIST (gtk_target_list_get_type ()) -/* The contents of a selection are returned in a GtkSelectionData - * structure. selection/target identify the request. type specifies - * the type of the return; if length < 0, and the data should be - * ignored. This structure has object semantics - no fields should be - * modified directly, they should not be created directly, and - * pointers to them should not be stored beyond the duration of a - * callback. (If the last is changed, we'll need to add reference - * counting.) The time field gives the timestamp at which the data was - * sent. - */ - -struct _GtkSelectionData -{ - GdkAtom GSEAL (selection); - GdkAtom GSEAL (target); - GdkAtom GSEAL (type); - gint GSEAL (format); - guchar *GSEAL (data); - gint GSEAL (length); - GdkDisplay *GSEAL (display); -}; - struct _GtkTargetEntry { gchar *target; diff --git a/gtk/gtkselectionprivate.h b/gtk/gtkselectionprivate.h new file mode 100644 index 0000000000..831753fd33 --- /dev/null +++ b/gtk/gtkselectionprivate.h @@ -0,0 +1,40 @@ +/* GTK - The GIMP Toolkit + * + * Copyright (C) 2010 Javier Jardón + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + */ + + +/* The contents of a selection are returned in a GtkSelectionData + * structure. selection/target identify the request. type specifies + * the type of the return; if length < 0, and the data should be + * ignored. This structure has object semantics - no fields should be + * modified directly, they should not be created directly, and + * pointers to them should not be stored beyond the duration of a + * callback. (If the last is changed, we'll need to add reference + * counting.) The time field gives the timestamp at which the data was + * sent. + */ + +struct _GtkSelectionData +{ + GdkAtom selection; + GdkAtom target; + GdkAtom type; + gint format; + guchar *data; + gint length; + GdkDisplay *display; +}; From d4e9cd09ab98b7dc4fea64b653303198f987ef9a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 19 Dec 2010 23:45:21 -0500 Subject: [PATCH 0585/1463] Fix up symbol lists --- gtk/gtk.symbols | 19 +++++++++++++++++++ gtk/gtkcellareabox.c | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index c4080b07e3..3c768c41d3 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -367,8 +367,22 @@ gtk_cell_area_add_with_properties gtk_cell_area_apply_attributes gtk_cell_area_attribute_connect gtk_cell_area_attribute_disconnect +gtk_cell_area_box_context_copy +gtk_cell_area_box_context_get_group_height +gtk_cell_area_box_context_get_group_height_for_width +gtk_cell_area_box_context_get_group_width +gtk_cell_area_box_context_get_group_width_for_height +gtk_cell_area_box_context_get_heights +gtk_cell_area_box_context_get_orientation_allocs +gtk_cell_area_box_context_get_type +gtk_cell_area_box_context_get_widths +gtk_cell_area_box_context_push_group_height +gtk_cell_area_box_context_push_group_height_for_width +gtk_cell_area_box_context_push_group_width +gtk_cell_area_box_context_push_group_width_for_height gtk_cell_area_box_get_spacing gtk_cell_area_box_get_type G_GNUC_CONST +gtk_cell_area_box_init_groups gtk_cell_area_box_new gtk_cell_area_box_pack_end gtk_cell_area_box_pack_start @@ -397,6 +411,7 @@ gtk_cell_area_copy_context gtk_cell_area_create_context gtk_cell_area_event gtk_cell_area_foreach +gtk_cell_area_foreach_alloc gtk_cell_area_focus gtk_cell_area_get_edited_cell gtk_cell_area_get_edit_widget @@ -404,6 +419,7 @@ gtk_cell_area_get_focus_cell gtk_cell_area_get_focus_from_sibling gtk_cell_area_get_focus_siblings gtk_cell_area_get_cell_allocation +gtk_cell_area_get_cell_at_position gtk_cell_area_get_current_path_string gtk_cell_area_get_preferred_height gtk_cell_area_get_preferred_height_for_width @@ -2418,6 +2434,7 @@ gtk_style_context_get_border gtk_style_context_get_border_color gtk_style_context_get_color gtk_style_context_get_direction +gtk_style_context_get_font gtk_style_context_get_junction_sides gtk_style_context_get_margin gtk_style_context_get_padding @@ -2875,6 +2892,7 @@ gtk_theming_engine_get_border gtk_theming_engine_get_border_color gtk_theming_engine_get_color gtk_theming_engine_get_direction +gtk_theming_engine_get_font gtk_theming_engine_get_junction_sides gtk_theming_engine_get_margin gtk_theming_engine_get_padding @@ -3200,6 +3218,7 @@ gtk_tree_view_column_clear_attributes gtk_tree_view_column_clicked gtk_tree_view_column_focus_cell gtk_tree_view_column_get_alignment +gtk_tree_view_column_get_button gtk_tree_view_column_get_clickable gtk_tree_view_column_get_expand gtk_tree_view_column_get_fixed_width diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 90a0a07233..97cfc2215f 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1457,7 +1457,7 @@ compute_size (GtkCellAreaBox *box, gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); } -GtkRequestedSize * +static GtkRequestedSize * get_group_sizes (GtkCellArea *area, CellGroup *group, GtkOrientation orientation, From 079b72574abf59dd7a0ac2376c45caa1c4f5f2e2 Mon Sep 17 00:00:00 2001 From: Baurzhan Muftakhidinov Date: Mon, 20 Dec 2010 17:06:25 +0600 Subject: [PATCH 0586/1463] Updates to Kazakh translation --- po/kk.po | 834 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 437 insertions(+), 397 deletions(-) diff --git a/po/kk.po b/po/kk.po index ac385b2659..833006e8b2 100644 --- a/po/kk.po +++ b/po/kk.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: trunk\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-10-05 23:12+0000\n" -"PO-Revision-Date: 2010-10-06 10:34+0600\n" +"POT-Creation-Date: 2010-12-17 09:13+0000\n" +"PO-Revision-Date: 2010-12-20 16:43+0600\n" "Last-Translator: Baurzhan Muftakhidinov \n" "Language-Team: Kazakh \n" "MIME-Version: 1.0\n" @@ -19,58 +19,58 @@ msgstr "" "X-Poedit-Language: Kazakh\n" "X-Poedit-Country: KAZAKHSTAN\n" -#: ../gdk/gdk.c:103 +#: ../gdk/gdk.c:115 #, c-format msgid "Error parsing option --gdk-debug" msgstr "--gdk-debug опциясын өңдеу қатесі" -#: ../gdk/gdk.c:123 +#: ../gdk/gdk.c:135 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "--gdk-no-debug опциясын өңдеу қатесі" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:151 +#: ../gdk/gdk.c:163 msgid "Program class as used by the window manager" msgstr "Терезелер басқарушы қолданатындай бағдарлама класы" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:152 +#: ../gdk/gdk.c:164 msgid "CLASS" msgstr "КЛАСС" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:154 +#: ../gdk/gdk.c:166 msgid "Program name as used by the window manager" msgstr "Терезелер басқарушы қолданатындай бағдарлама аты" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:155 +#: ../gdk/gdk.c:167 msgid "NAME" msgstr "АТЫ" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:157 +#: ../gdk/gdk.c:169 msgid "X display to use" msgstr "Қолданылатын X дисплейі" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:158 +#: ../gdk/gdk.c:170 msgid "DISPLAY" msgstr "ДИСПЛЕЙ" #. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:160 +#: ../gdk/gdk.c:172 msgid "X screen to use" msgstr "Қолданылатын X экраны" #. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:161 +#: ../gdk/gdk.c:173 msgid "SCREEN" msgstr "ЭКРАН" #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:176 msgid "GDK debugging flags to set" msgstr "GDK жөндеу жалаушалары орнатылған" @@ -78,15 +78,15 @@ msgstr "GDK жөндеу жалаушалары орнатылған" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:165 -#: ../gdk/gdk.c:168 -#: ../gtk/gtkmain.c:533 -#: ../gtk/gtkmain.c:536 +#: ../gdk/gdk.c:177 +#: ../gdk/gdk.c:180 +#: ../gtk/gtkmain.c:523 +#: ../gtk/gtkmain.c:526 msgid "FLAGS" msgstr "ЖАЛАУШАЛАР" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:179 msgid "GDK debugging flags to unset" msgstr "GDK жөндеу жалаушалары орнатылмаған" @@ -305,80 +305,84 @@ msgstr "8 биттік режиміндегі палитра өлшемі" msgid "COLORS" msgstr "ТҮСТЕР" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 #, c-format msgid "Starting %s" msgstr "%s қосылу" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 #, c-format msgid "Opening %s" msgstr "%s ашу" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "%d нәрсе ашылуда" #. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:96 +#: ../gdk/x11/gdkmain-x11.c:94 msgid "Make X calls synchronous" msgstr "X сервер шақыруларын синхронды қылу" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "Бұл бағдарлама ЕШҚАНДАЙ КЕПІЛДЕМЕСІЗ таратылады; көбірек білу үшін, %s шолыңыз" +#| msgid "" +#| "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "Бұл бағдарлама ЕШҚАНДАЙ КЕПІЛДЕМЕСІЗ таратылады; көбірек білу үшін, %s шолыңыз" -#: ../gtk/gtkaboutdialog.c:339 -#: ../gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "Лицензиясы" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "Бағдарлама лицензиясы" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:741 msgid "C_redits" msgstr "Ж_асағандар" #. Add the license button -#: ../gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:754 msgid "_License" msgstr "Л_ицензиясы" -#: ../gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:959 msgid "Could not show link" msgstr "Сілтемені көрсету мүмкін емес" -#: ../gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:996 +#| msgctxt "keyboard label" +#| msgid "Home" +msgid "Homepage" +msgstr "Үй парағы" + +#: ../gtk/gtkaboutdialog.c:1052 #, c-format msgid "About %s" msgstr "%s туралы" -#: ../gtk/gtkaboutdialog.c:2153 -msgid "Credits" -msgstr "Жасағандар" +#: ../gtk/gtkaboutdialog.c:2367 +#| msgid "C_reate" +msgid "Created by" +msgstr "Жасаған" -#: ../gtk/gtkaboutdialog.c:2185 -msgid "Written by" -msgstr "Жазған" - -#: ../gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2370 msgid "Documented by" msgstr "Құжаттаманы жазған" -#: ../gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2382 msgid "Translated by" msgstr "Аударған" -#: ../gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2386 msgid "Artwork by" msgstr "Бейнелеуі" @@ -482,7 +486,7 @@ msgstr "Өңделмеген тег: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:878 msgid "calendar:MY" msgstr "calendar:MY" @@ -490,7 +494,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:916 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -499,7 +503,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1848 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -514,8 +518,8 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:2037 -#: ../gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1879 +#: ../gtk/gtkcalendar.c:2564 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -531,8 +535,8 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:2069 -#: ../gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1911 +#: ../gtk/gtkcalendar.c:2432 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -548,7 +552,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2197 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -586,117 +590,117 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:176 -#: ../gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 +#: ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Түсті таңдаңыз" -#: ../gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Алынған түс мәні қате\n" -#: ../gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:416 msgid "Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle." msgstr "Өіңізге керек түсті сыртқы шеңберден таңдаңыз. Ол түстің күңгірттігін не ашықтығын ішіндегі үшбұрыштан көрсетіңіз." -#: ../gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:440 msgid "Click the eyedropper, then click a color anywhere on your screen to select that color." msgstr "Түс алушыны шертіп, экранның кез-келген аймағының түсін таңдау үшін жай ғана ол түске шертіңіз." -#: ../gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:449 msgid "_Hue:" msgstr "Р_еңі:" -#: ../gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:450 msgid "Position on the color wheel." msgstr "Түс шеңберіндегі орны." -#: ../gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:452 msgid "_Saturation:" msgstr "Қ_аңықтылығы:" -#: ../gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:453 msgid "Intensity of the color." msgstr "Түс мөлдірлілігі." -#: ../gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:454 msgid "_Value:" msgstr "Мә_ні:" -#: ../gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:455 msgid "Brightness of the color." msgstr "Түс жарықтылығы." -#: ../gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:456 msgid "_Red:" msgstr "Қ_ызыл:" -#: ../gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:457 msgid "Amount of red light in the color." msgstr "Түстегі қызыл мәннің шамасы." -#: ../gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:458 msgid "_Green:" msgstr "Ж_асыл:" -#: ../gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:459 msgid "Amount of green light in the color." msgstr "Түстегі жасыл мәннің шамасы." -#: ../gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:460 msgid "_Blue:" msgstr "_Көк:" -#: ../gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:461 msgid "Amount of blue light in the color." msgstr "Түстегі көк мәннің шамасы." -#: ../gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:464 msgid "Op_acity:" msgstr "Мө_лдірсіздігі:" -#: ../gtk/gtkcolorsel.c:439 -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:471 +#: ../gtk/gtkcolorsel.c:481 msgid "Transparency of the color." msgstr "Түс мөлдірлілігі." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:488 msgid "Color _name:" msgstr "Тү_с аты:" -#: ../gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:502 msgid "You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry." msgstr "Сіз осында HTML-дей он алтылық түрде түс мәнін не жай ғана түс атын енгізе аласыз, мысалға, 'orange'." -#: ../gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:532 msgid "_Palette:" msgstr "_Палитра:" -#: ../gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:561 msgid "Color Wheel" msgstr "Түстер шеңбері." -#: ../gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1034 msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside." msgstr "Алдында таңдалған түс, қазіргі таңдаумен салыстыру үшін көрсетілген. Осы түсті палитраға тартып апаруға, не оны ағымдағы түс қылу үшін осы түстер ауыстырғыштың екінші жағына тартып апарыңыз." -#: ../gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1037 msgid "The color you've chosen. You can drag this color to a palette entry to save it for use in the future." msgstr "Сіз таңдаған түс. Оны сақтау үшін палитраға тартып апарсаңыз болады." -#: ../gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1042 msgid "The previously-selected color, for comparison to the color you're selecting now." msgstr "Алдында таңдалған түс, қазіргі таңдаумен салыстыру үшін көрсетілген." -#: ../gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1045 msgid "The color you've chosen." msgstr "Сіз таңдаған түс." -#: ../gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1445 msgid "_Save color here" msgstr "_Түсті осында сақтау" -#: ../gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1653 msgid "Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select \"Save color here.\"" msgstr "Ағымдағы түс ретінде орнату үшін палитраның осы мүшесін шертіңіз. Осы мүшені өзгерту үшін, түс таңдаушыны осында тартып әкеліңіз, не оң жақпен шертіп, \"Түсті осында сақтау\"-ды таңдаңыз." @@ -716,7 +720,7 @@ msgstr "default:mm" #. And show the custom paper dialog #: ../gtk/gtkcustompaperunixdialog.c:374 -#: ../gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "Таңдауыңызша өлшемдерді басқару" @@ -771,25 +775,25 @@ msgstr "Оң ж_ақ:" msgid "Paper Margins" msgstr "Қағаздың шет өрістері" -#: ../gtk/gtkentry.c:8601 -#: ../gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8807 +#: ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "Ен_гізу тәсілдері" -#: ../gtk/gtkentry.c:8615 -#: ../gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8821 +#: ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "Unicode б_асқару таңбасын кірістіру" -#: ../gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10225 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock пен Num Lock қосулы тұр" -#: ../gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10227 msgid "Num Lock is on" msgstr "Num Lock is қосулы тұр" -#: ../gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10229 msgid "Caps Lock is on" msgstr "Caps Lock қосулы тұр" @@ -801,7 +805,7 @@ msgid "Select A File" msgstr "Файлды таңдаңыз" #: ../gtk/gtkfilechooserbutton.c:62 -#: ../gtk/gtkfilechooserdefault.c:1825 +#: ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "Жұмыс үстелі" @@ -809,43 +813,43 @@ msgstr "Жұмыс үстелі" msgid "(None)" msgstr "(Ешнәрсе)" -#: ../gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Басқа..." -#: ../gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "Жаңа буманың атын енгізіңіз" -#: ../gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "Файл туралы ақпаратты алу мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "Бетбелгіні қосу мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "Бетбелгіні өшіру мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "Буманы жасау мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "The folder could not be created, as a file with the same name already exists. Try using a different name for the folder, or rename the file first." msgstr "Буманы жасау мүмкін емес, өйткені аттас файл бар болып тұр. Бума үшін басқа атын таңдаңыз, не файлды өшіріңіз." -#: ../gtk/gtkfilechooserdefault.c:998 +#: ../gtk/gtkfilechooserdefault.c:1006 msgid "You may only select folders. The item that you selected is not a folder; try using a different item." msgstr "Сізге тек бумаларды таңдауға болады. Сіз таңдаған нәрсе бума емес; басқа нәрсені таңдап көріңіз." -#: ../gtk/gtkfilechooserdefault.c:1008 +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "Файл аты қате" -#: ../gtk/gtkfilechooserdefault.c:1018 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "Бума құрамасын көрсету мүмкін емес" @@ -853,219 +857,219 @@ msgstr "Бума құрамасын көрсету мүмкін емес" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1568 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s, қайда: %2$s" -#: ../gtk/gtkfilechooserdefault.c:1744 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "Іздеу" -#: ../gtk/gtkfilechooserdefault.c:1768 -#: ../gtk/gtkfilechooserdefault.c:9349 +#: ../gtk/gtkfilechooserdefault.c:1776 +#: ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Соңғы қолданылған" -#: ../gtk/gtkfilechooserdefault.c:2422 +#: ../gtk/gtkfilechooserdefault.c:2437 msgid "Select which types of files are shown" msgstr "Файлдардың қай түрлері көрсетілетінін таңдаңыз" -#: ../gtk/gtkfilechooserdefault.c:2781 +#: ../gtk/gtkfilechooserdefault.c:2796 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "'%s' бумасын бетбелгілерге қосу" -#: ../gtk/gtkfilechooserdefault.c:2825 +#: ../gtk/gtkfilechooserdefault.c:2840 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Ағымдағы буманы бетбелгілерге қосу" -#: ../gtk/gtkfilechooserdefault.c:2827 +#: ../gtk/gtkfilechooserdefault.c:2842 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Таңдалған бумаларды бетбелгілерге қосу" -#: ../gtk/gtkfilechooserdefault.c:2865 +#: ../gtk/gtkfilechooserdefault.c:2880 #, c-format msgid "Remove the bookmark '%s'" msgstr "'%s' бетбелгісін өшіру" -#: ../gtk/gtkfilechooserdefault.c:2867 +#: ../gtk/gtkfilechooserdefault.c:2882 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "'%s' бетбелгісін өшіру мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:2874 -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:2889 +#: ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "Таңдалған бетбелгіні өшіру" -#: ../gtk/gtkfilechooserdefault.c:3434 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "Өшіру" -#: ../gtk/gtkfilechooserdefault.c:3443 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "Атын ауыстыру..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3606 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "Орындар" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3663 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "Орын_дар" -#: ../gtk/gtkfilechooserdefault.c:3719 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "Қ_осу" -#: ../gtk/gtkfilechooserdefault.c:3726 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "Таңдалған буманы бетбелгілерге қосу" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "Ө_шіру" -#: ../gtk/gtkfilechooserdefault.c:3873 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "Файлды таңдау мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "Б_етбелгілерге қосу" -#: ../gtk/gtkfilechooserdefault.c:4061 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "Жас_ырын файлдарды көрсету" -#: ../gtk/gtkfilechooserdefault.c:4068 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "Ө_лшем бағанын көрсету" -#: ../gtk/gtkfilechooserdefault.c:4294 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "Файлдар" -#: ../gtk/gtkfilechooserdefault.c:4345 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "Аты" -#: ../gtk/gtkfilechooserdefault.c:4368 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "Өлшемі" -#: ../gtk/gtkfilechooserdefault.c:4382 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "Өзгертілген" #. Label -#: ../gtk/gtkfilechooserdefault.c:4637 -#: ../gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4656 +#: ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Аты:" -#: ../gtk/gtkfilechooserdefault.c:4680 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_Басқа бумаларды қарау" -#: ../gtk/gtkfilechooserdefault.c:4950 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "Файл атын енгізіңіз" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:4993 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "Бу_маны жасау" -#: ../gtk/gtkfilechooserdefault.c:5003 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "Ор_наласуы:" -#: ../gtk/gtkfilechooserdefault.c:5207 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "Бу_маға сақтау:" -#: ../gtk/gtkfilechooserdefault.c:5209 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "Бума_да жасау:" -#: ../gtk/gtkfilechooserdefault.c:6261 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "%s құрамасын оқу мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:6265 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "Бума құрамасын оқу мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:6358 -#: ../gtk/gtkfilechooserdefault.c:6426 -#: ../gtk/gtkfilechooserdefault.c:6571 +#: ../gtk/gtkfilechooserdefault.c:6394 +#: ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "Белгісіз" -#: ../gtk/gtkfilechooserdefault.c:6373 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6375 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "Кеше, уақыты %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7041 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "Бумаға ауысу мүмкін емес, өйткені ол жергілікті емес" -#: ../gtk/gtkfilechooserdefault.c:7638 -#: ../gtk/gtkfilechooserdefault.c:7659 +#: ../gtk/gtkfilechooserdefault.c:7674 +#: ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "%s жарлығы бар болып тұр" -#: ../gtk/gtkfilechooserdefault.c:7749 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "%s жарлығы жоқ болып тұр" -#: ../gtk/gtkfilechooserdefault.c:8010 +#: ../gtk/gtkfilechooserdefault.c:8046 #: ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "\"%s\" аты бар файл бар болып тұр. Оны алмастыруды қалайсыз ба?" -#: ../gtk/gtkfilechooserdefault.c:8013 +#: ../gtk/gtkfilechooserdefault.c:8049 #: ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "Файл \"%s\" ішінде бар болып тұр. Оны алмастыру нітижесінде құрамасы үстінен жазылады." -#: ../gtk/gtkfilechooserdefault.c:8018 +#: ../gtk/gtkfilechooserdefault.c:8054 #: ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "А_лмастыру" -#: ../gtk/gtkfilechooserdefault.c:8718 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Іздеу үрдісін бастау мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:8719 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "The program was not able to create a connection to the indexer daemon. Please make sure it is running." msgstr "Индекстеу қызметімен байланыс орнату мүмкін емес. Оның қосулы тұрғанын тексеріңіз." -#: ../gtk/gtkfilechooserdefault.c:8733 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Іздеу сұранымын жіберу мүмкін емес" -#: ../gtk/gtkfilechooserdefault.c:8921 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Іздеу:" -#: ../gtk/gtkfilechooserdefault.c:9526 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "%s тіркеу мүмкін емес" @@ -1073,21 +1077,21 @@ msgstr "%s тіркеу мүмкін емес" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. #: ../gtk/gtkfilechooserentry.c:702 -#: ../gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "Жолы қате" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "Сәйкестік жоқ" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" msgstr "Бір сәйкестік" @@ -1095,13 +1099,13 @@ msgstr "Бір сәйкестік" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "Аяқталған, бірақ жалғыз емес" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "Аяқтау..." @@ -1109,8 +1113,8 @@ msgstr "Аяқтау..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1182 -#: ../gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 +#: ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "Тек жергілікті файлдарды таңдай аласыз" @@ -1118,22 +1122,17 @@ msgstr "Тек жергілікті файлдарды таңдай аласыз #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "Хост аты толық емес; оны '/' таңбасымен аяқтаңыз" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" msgstr "Жол жоқ болып тұр" -#: ../gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "'%s' бумасын жасау қатесі: %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to @@ -1176,11 +1175,11 @@ msgid "Si_ze:" msgstr "Өл_шемі:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "А_лдын-ала қарау:" -#: ../gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Қаріпті таңдау" @@ -1192,7 +1191,7 @@ msgstr "Қаріпті таңдау" msgid "Error loading icon: %s" msgstr "Таңбашаны жүктеу қатесі: %s" -#: ../gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1205,12 +1204,12 @@ msgstr "" "Көшірмесін мына жерден ала аласыз:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "'%s' таңбашасы темада жоқ" -#: ../gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Таңбашаны жүктеу сәтсіз" @@ -1235,45 +1234,45 @@ msgid "System (%s)" msgstr "Жүйе (%s)" #. Open Link -#: ../gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" msgstr "Сі_лтемені ашу" #. Copy Link Address -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" msgstr "Сілтеме адр_есін көшіру" -#: ../gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "URL көшіру" -#: ../gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "URI қате" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:516 msgid "Load additional GTK+ modules" msgstr "Қосымша GTK+ модульдерін жүктеу" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:517 msgid "MODULES" msgstr "МОДУЛЬДЕР" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:519 msgid "Make all warnings fatal" msgstr "Барлық ескертулерді қатаң деп белгілеу" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:522 msgid "GTK+ debugging flags to set" msgstr "GTK+ жөндеу жалаушалары орнатылған" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:525 msgid "GTK+ debugging flags to unset" msgstr "GTK+ жөндеу жалаушалары орнатылмаған" @@ -1282,20 +1281,20 @@ msgstr "GTK+ жөндеу жалаушалары орнатылмаған" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:788 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:852 #, c-format msgid "Cannot open display: %s" msgstr "Экранды ашу мүмкін емес: %s" -#: ../gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:911 msgid "GTK+ Options" msgstr "GTK+ опциялары" -#: ../gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:911 msgid "Show GTK+ Options" msgstr "GTK+ опцияларын көрсету" @@ -1379,13 +1378,13 @@ msgstr "Z қоршамы" msgid "Cannot end process with PID %d: %s" msgstr "PID %d бар үрдісті аяқтау мүмкін емес: %s" -#: ../gtk/gtknotebook.c:4690 -#: ../gtk/gtknotebook.c:7241 +#: ../gtk/gtknotebook.c:4914 +#: ../gtk/gtknotebook.c:7571 #, c-format msgid "Page %u" msgstr "Парақ %u" -#: ../gtk/gtkpagesetup.c:596 +#: ../gtk/gtkpagesetup.c:648 #: ../gtk/gtkpapersize.c:838 #: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" @@ -1415,7 +1414,7 @@ msgstr "" " Асты: %s %s" #: ../gtk/gtkpagesetupunixdialog.c:858 -#: ../gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "Таңдауыңызша өлшемдерді басқару..." @@ -1424,7 +1423,7 @@ msgid "_Format for:" msgstr "Ү_шін пішімдеу:" #: ../gtk/gtkpagesetupunixdialog.c:931 -#: ../gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "Қағаз өл_шемі:" @@ -1433,19 +1432,19 @@ msgid "_Orientation:" msgstr "Бағдар_ы:" #: ../gtk/gtkpagesetupunixdialog.c:1026 -#: ../gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "Парақ баптаулары" -#: ../gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Ағашпен жоғары" -#: ../gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Ағашпен төмен" -#: ../gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "Файлдық жүйенің түбірі" @@ -1453,15 +1452,15 @@ msgstr "Файлдық жүйенің түбірі" msgid "Authentication" msgstr "Аутентификация" -#: ../gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Қол жетерлік емес" -#: ../gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "Буманы тандаңыз" -#: ../gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "Бу_мада сақтау:" @@ -1616,41 +1615,41 @@ msgstr "Принтер ақпаратын алу сәтсіз" msgid "Getting printer information..." msgstr "Принтер ақпаратын алу..." -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "Принтер" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "Орналасуы" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "Күйі" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "Диапазон" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "Барл_ық парақтар" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "Ағ_ымдағы парақ" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "Таң_далғанды" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "Парақ_тар:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1658,28 +1657,28 @@ msgstr "" "Бір не бірнеше аралықты көрсетіңіз,\n" " мыс. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "Парақтар" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "Көшірмелер" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "Кө_шірмелер саны:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "Ж_инау" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "К_ері" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "Жалпы" @@ -1689,169 +1688,169 @@ msgstr "Жалпы" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "Солдан оңға, үстінен астыға" -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "Солдан оңға, астынан үстіге" -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "Оңнан солға, үстінен астыға" -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "Оңнан солға, астынан үстіге" -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "Үстінен астыға, солдан оңға" -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "Үстінен астыға, оңнан солға" -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "Астынан үстіге, солдан оңға" -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "Астынан үстіге, оңнан солға" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../gtk/gtkprintunixdialog.c:3037 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3032 +#: ../gtk/gtkprintunixdialog.c:3045 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Парақтар реті" -#: ../gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "Солдан оңға" -#: ../gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "Оңнан солға" -#: ../gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "Үстінен астыға" -#: ../gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "Астынан үстіге" -#: ../gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "Жайма" -#: ../gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "Е_кі жақты:" -#: ../gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "Бір жақ_тағы парақтар:" -#: ../gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "Парақт_ар реті:" -#: ../gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "Т_ек шығару:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "Барлық парақтар" -#: ../gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "Жұп парақтар" -#: ../gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "Тақ парақтар" -#: ../gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "Мас_штаб:" -#: ../gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "Қағаз" -#: ../gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "Қаға_з түрі:" -#: ../gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "Қ_ағаз көзі:" -#: ../gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "Шығ_ыс сөресі:" -#: ../gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "_Бағдары:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "Тік" -#: ../gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "Жатық" -#: ../gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "Теріс тік" -#: ../gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "Теріс жатық" -#: ../gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "Тапсырма ақпараты" -#: ../gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "Пр_иоритет:" -#: ../gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "_Орналасуы:" -#: ../gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "Құжатты баспаға шығару" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "Қ_азір" -#: ../gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "Қа_шан:" @@ -1859,7 +1858,7 @@ msgstr "Қа_шан:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1867,125 +1866,120 @@ msgstr "" "Басып шығару уақытын көрсетіңіз,\n" " мысалы, 15:30, 14:15:20, 11:46" -#: ../gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "Басып шығару уақыты" -#: ../gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "Кү_ту" -#: ../gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "Қосымша команда берілгенге дейін тапсырманы күттіру" -#: ../gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "Титулдық парақты қосу" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "Де_йін:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "К_ейін:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "Тапсырма" -#: ../gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "Кеңейтілген" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "Сурет сапасы" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "Түс" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "Аяқтау" -#: ../gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "Сұхбаттағы кейбір баптаулар өзара ерегіседі" -#: ../gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "Баспаға шығару" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Қосылатын файлды табу мүмкін емес: \"%s\"" - -#: ../gtk/gtkrc.c:3470 -#: ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:2366 +#: ../gtk/gtkrc.c:2369 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "pixmap_path ішінен суретті табу мүмкін емес: \"%s\"" #: ../gtk/gtkrecentaction.c:165 #: ../gtk/gtkrecentaction.c:173 -#: ../gtk/gtkrecentchoosermenu.c:615 -#: ../gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentchoosermenu.c:608 +#: ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "'%s' класы виджеттері үшін функция іске асырылмаған" -#: ../gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Көрсетілетін құжаттар түрлерін таңдаңыз" -#: ../gtk/gtkrecentchooserdefault.c:1138 -#: ../gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 +#: ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "URI '%s' үшін нәрсе табылмады" -#: ../gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "Атаусыз фильтр" -#: ../gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "Элементті өшіру мүмкін емес" -#: ../gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "Тізімді тазарту мүмкін емес" -#: ../gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "_Сілтеме адресін көшіру" -#: ../gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "Ті_зімнен өшіру" -#: ../gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "Тізі_мді тазарту" -#: ../gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "Ж_еке ресурстарды көрсету" @@ -1999,22 +1993,22 @@ msgstr "Ж_еке ресурстарды көрсету" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: ../gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "Ешнәрсе табылмады" -#: ../gtk/gtkrecentchoosermenu.c:535 -#: ../gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 +#: ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "URI `%s' бар соңғы қолданылған ресурс жоқ" -#: ../gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "'%s' ашу" -#: ../gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Белгісіз элемент" @@ -2023,7 +2017,7 @@ msgstr "Белгісіз элемент" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: ../gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2032,29 +2026,34 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: ../gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: ../gtk/gtkrecentmanager.c:980 -#: ../gtk/gtkrecentmanager.c:993 -#: ../gtk/gtkrecentmanager.c:1131 -#: ../gtk/gtkrecentmanager.c:1141 -#: ../gtk/gtkrecentmanager.c:1194 -#: ../gtk/gtkrecentmanager.c:1203 -#: ../gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 +#: ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 +#: ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 +#: ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "URI '%s' бар нәрсе табылмады" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "URI '%s' үшін аты '%s' болатын ешбір тіркелген қолданба табылмады" + +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Айналғыш" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "Үрдістің графикалық көрсеткішін ұсынады" @@ -2562,6 +2561,37 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "Кі_шірейту" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:296 +#: ../gtk/gtkswitch.c:339 +#: ../gtk/gtkswitch.c:531 +msgctxt "switch" +msgid "ON" +msgstr "ON" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:304 +#: ../gtk/gtkswitch.c:340 +#: ../gtk/gtkswitch.c:552 +msgctxt "switch" +msgid "OFF" +msgstr "OFF" + +#: ../gtk/gtkswitch.c:943 +#| msgid "inch" +msgctxt "light switch widget" +msgid "Switch" +msgstr "Ауыстыру" + +#: ../gtk/gtkswitch.c:944 +msgid "Switches between on and off states" +msgstr "On және off қалып-күйлерін ауыстырғышы" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2572,111 +2602,111 @@ msgstr "%s десериализациялап көру кезінде белгі msgid "No deserialize function found for format %s" msgstr "%s пішімі үшін десериализация функциясы табылмады" -#: ../gtk/gtktextbufferserialize.c:795 -#: ../gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:799 +#: ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "<%s> элементінде \"id\" мен \"name\" екеуі де бар" -#: ../gtk/gtktextbufferserialize.c:805 -#: ../gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:809 +#: ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "<%s> элементінен \"%s\" атрибуты екі рет табылды" -#: ../gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:851 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s> элементінің \"%s\" ID-і қате" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> элементінің не \"name\", не \"id\" атрибуты жоқ" -#: ../gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "<%s> элементінде \"%s\" атрибуты екі рет қайталанды" -#: ../gtk/gtktextbufferserialize.c:960 -#: ../gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:966 +#: ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Бұл контекстте \"%s\" атрибуты <%s> элементінің ішінде қате" -#: ../gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "\"%s\" тегі анықталмаған." -#: ../gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "Анонимды тег табылды, тегтерді жасау мүмкін емес." -#: ../gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "\"%s\" тегі буферде жоқ, тегтерді жасау мүмкін емес." -#: ../gtk/gtktextbufferserialize.c:1146 -#: ../gtk/gtktextbufferserialize.c:1221 -#: ../gtk/gtktextbufferserialize.c:1324 -#: ../gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1152 +#: ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 +#: ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "<%s> элементін <%s> алдында орналастыру рұқсат етілмеген" -#: ../gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" - атрибуттың дұрыс түрі емес" -#: ../gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" - атрибуттың дұрыс аты емес" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "\"%s\" қазір \"%s\" түріндегі мәнге, \"%s\" атрибуты үшін, түрлендіру мүмкін емес" -#: ../gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" - \"%s\" атрибуты үшін дұрыс мән емес" -#: ../gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "\"%s\" тегі анықталып тұр" -#: ../gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "\"%s\" тегтің \"%s\" приоритеті қате" -#: ../gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Мәтінде ен қашық нәрсе болуы тиіс, <%s> емес" -#: ../gtk/gtktextbufferserialize.c:1362 -#: ../gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1370 +#: ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> элементі көрсетілген болып тұр" -#: ../gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr " элементі элементінің алдында кездесуі мүмкін емес" -#: ../gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "Сериализацияланған мәліметтер қате жасалған." -#: ../gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "Сериализацияланған мәліметтер қате жасалған. Бірінші секциясы GTKTEXTBUFFERCONTENTS-0001 емес болып тұр" @@ -3635,81 +3665,82 @@ msgstr "Бума индексін жазу сәтсіз\n" msgid "Failed to rewrite header\n" msgstr "Тақырыптаманы қайта жазу сәтсіз\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Файлды ашу қатемен аяқталды %s : %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 +#: ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Кэш файлын жазу сәтсіз: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "Жасалған кэш қате.\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s үшін жаңа %s атын орнату мүмкін емес: %s, кейін %s өшіріледі.\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s атын жаңа %s атына ауыстыру мүмкін емес: %s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s атын қайта %s етіп орнату мүмкін емес: %s.\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "Кэш файлы сәтті жасалды.\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Бар кэшті үстінен жазу, ескірмесе де" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "index.theme файлының бар-жоғын тексермеу" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Кэш ішіне сурет файлдарын қоспау" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "C тақырыптама файлын шығару" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Кеңейтілген шығысты сөндіру" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Бар болып тұрған таңбашалар кэшін тексеру" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "Файл табылмады: %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Дұрыс таңбашалар кэші емес: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "Теманың индекс файлы табылмады.\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3773,60 +3804,60 @@ msgstr "Вьетнам (VIQR)" msgid "X Input Method" msgstr "X енгізу тәсілі" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 #: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "Пайдаланушы аты:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 #: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "Пароль:" #: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s ішінен файлды алу үшін аутентификация керек" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 #: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "'%s' құжатын %s принтерінен басып шығару үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "%s жерінде құажтты басып шығару үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "'%s' тапсырмасының атрибуттарын алу үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "Тапсырманың атрибуттарын алу үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "'%s' принтерінің атрибуттарын алу үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "Принтердің атрибуттарын алу үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "%s үшін бастапқы принтерді алу үшін аутентификация керек" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "%s жерінен принтерлерді алу үшін аутентификация керек" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s ішінен файлды алу үшін аутентификация керек" + #: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" @@ -3975,7 +4006,7 @@ msgstr "Авто таңдау" #: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "Принтердің негізгісі" @@ -4008,19 +4039,19 @@ msgstr "Әр түрлі" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "Жедел" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "Жоғары" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "Орташа" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "Төмен" @@ -4028,66 +4059,66 @@ msgstr "Төмен" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "Бір параққа беттер" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "Тапсырма приоритеті" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "Орналасуы" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "Жоқ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "Классификацияланған" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "Конфиденциалды" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "Құпия сөз" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "Қалыпты" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "Қатаң құпия" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "Классификацияланбаған" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "Дейін" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "Кейін" @@ -4095,14 +4126,14 @@ msgstr "Кейін" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "Уақыты" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "Баспаны бастау уақыты" @@ -4110,7 +4141,7 @@ msgstr "Баспаны бастау уақыты" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "Ерекше %sx%s" @@ -4121,32 +4152,32 @@ msgstr "Ерекше %sx%s" msgid "output.%s" msgstr "шығыс.%s" -#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Print to File" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Бір _параққа беттер:" -#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "Файл" -#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "Шығыс _пішімі" @@ -4212,6 +4243,18 @@ msgstr "'%s' файлын ашу сәтсіз: %s" msgid "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "'%s' суретін жүктеу сәтсіз: себебі белгісіз, мүмкін сурет файлы зақымдалған" +#~ msgid "Credits" +#~ msgstr "Жасағандар" + +#~ msgid "Written by" +#~ msgstr "Жазған" + +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "'%s' бумасын жасау қатесі: %s" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Қосылатын файлды табу мүмкін емес: \"%s\"" + #~ msgid "\"Deepness\" of the color." #~ msgstr "Түс \"тереңділігі\"." @@ -4256,9 +4299,6 @@ msgstr "'%s' суретін жүктеу сәтсіз: себебі белгіс #~ msgid "_Folder name:" #~ msgstr "Бу_ма аты:" -#~ msgid "C_reate" -#~ msgstr "Жа_сау" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "\"%s\" файл атауында рұқсат етілмеген таңбалары бар" From 08af2cb488a4032d57419ade7c07000b18e951bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 20 Dec 2010 11:51:39 +0000 Subject: [PATCH 0587/1463] gail: Fix a typo This fixes commit d0b81b21483df69a07677fa7162b4ded806eaa86 --- modules/other/gail/gailtreeview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/other/gail/gailtreeview.c b/modules/other/gail/gailtreeview.c index 644b0fb950..29c5fac86b 100644 --- a/modules/other/gail/gailtreeview.c +++ b/modules/other/gail/gailtreeview.c @@ -1391,7 +1391,7 @@ gail_tree_view_get_selected_rows (AtkTable *table, selection = gtk_tree_view_get_selection (tree_view); - switch (gtk_selection_get_mode (selection)) + switch (gtk_tree_selection_get_mode (selection)) { case GTK_SELECTION_SINGLE: case GTK_SELECTION_BROWSE: From 3c8076f3dca03eddd37b3d26887bab64b0bc7904 Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Mon, 20 Dec 2010 13:54:25 +0200 Subject: [PATCH 0588/1463] [l10n] Updated Estonian translation --- po/et.po | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/po/et.po b/po/et.po index b2079502a9..4524d1c273 100644 --- a/po/et.po +++ b/po/et.po @@ -16,14 +16,14 @@ msgstr "" "Project-Id-Version: gtk+ MASTER\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-11-29 20:28+0000\n" +"POT-Creation-Date: 2010-12-19 10:13+0000\n" "PO-Revision-Date: 2010-11-30 14:03+0200\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" +"Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #, c-format @@ -275,8 +275,12 @@ msgstr "X'i kutsungid sünkroonseks" #. * contains the URL of the license. #. #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "See programm on ILMA IGASUGUSE GARANTIITA. Üksikasjade kohta vaata %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "" +"See programm on ILMA IGASUGUSE GARANTIITA. Üksikasjade kohta vaata %s" msgid "License" msgstr "Litsents" @@ -295,15 +299,15 @@ msgstr "_Litsents" msgid "Could not show link" msgstr "Linki pole võimalik kuvada" +msgid "Homepage" +msgstr "Koduleht" + #, c-format msgid "About %s" msgstr "Lähem teave %s kohta" -msgid "Credits" -msgstr "Autorid" - -msgid "Written by" -msgstr "Programmeerimine" +msgid "Created by" +msgstr "Autor:" msgid "Documented by" msgstr "Dokumentatsioon" @@ -1558,10 +1562,6 @@ msgstr "Selle dialoogi mõned sätted on omavahel vastuolus" msgid "Print" msgstr "Printimine" -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Faili pole võimalik kaasata: \"%s\"" - #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Ei leia pildifaili otsingurajalt 'pixmap_path': \"%s\"" @@ -3397,3 +3397,12 @@ msgid "" msgstr "" "Tõrge pildifaili '%s' laadimisel: põhjus teadmata, arvatavasti on pildifail " "rikutud" + +#~ msgid "Credits" +#~ msgstr "Autorid" + +#~ msgid "Written by" +#~ msgstr "Programmeerimine" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Faili pole võimalik kaasata: \"%s\"" From ca7fe1cb730f9459e4fc4466912443b386d83109 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 20 Dec 2010 12:26:11 +0100 Subject: [PATCH 0589/1463] GtkStyleProperties: Assign default value for the font property This fixes a failure when running make test, where style queries happened before there was even an screen. --- gtk/gtkstyleproperties.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c index c6592740fc..abd9383440 100644 --- a/gtk/gtkstyleproperties.c +++ b/gtk/gtkstyleproperties.c @@ -853,6 +853,8 @@ lookup_default_value (PropertyNode *node, { if (node->pspec->value_type == GTK_TYPE_THEMING_ENGINE) g_value_set_object (value, gtk_theming_engine_load (NULL)); + else if (node->pspec->value_type == PANGO_TYPE_FONT_DESCRIPTION) + g_value_take_boxed (value, pango_font_description_from_string ("Sans 10")); else g_param_value_set_default (node->pspec, value); } From 7030492a3b57191c3e1ae7728bb69999e8c9a555 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 20 Dec 2010 13:48:10 +0100 Subject: [PATCH 0590/1463] Disable XI2 in gtk_test_init() gdk_test_simulate_*() uses XSendEvent, which doesn't currently work with XI2/GenericEvents, so make tests use core events for the time being. Luckily there's a lot more to test than low-level event handling in these tests. --- gtk/gtktestutils.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gtk/gtktestutils.c b/gtk/gtktestutils.c index 704674b3c1..a77ebe726e 100644 --- a/gtk/gtktestutils.c +++ b/gtk/gtktestutils.c @@ -77,6 +77,14 @@ gtk_test_init (int *argcp, gtk_disable_setlocale(); setlocale (LC_ALL, "C"); g_test_bug_base ("http://bugzilla.gnome.org/show_bug.cgi?id=%s"); + + /* XSendEvent() doesn't work yet on XI2 events. + * So at the moment gdk_test_simulate_* can only + * send events that GTK+ understands if XI2 is + * disabled, bummer. + */ + gdk_disable_multidevice (); + gtk_init (argcp, argvp); } From a9753ef5c65ad4d3217bed05b112f4bc4f71bb89 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 07:15:46 -0500 Subject: [PATCH 0591/1463] Add a test for basic style properties --- gtk/tests/stylecontext.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gtk/tests/stylecontext.c b/gtk/tests/stylecontext.c index b1e413f197..5250919819 100644 --- a/gtk/tests/stylecontext.c +++ b/gtk/tests/stylecontext.c @@ -518,6 +518,36 @@ test_style_property (void) g_object_unref (context); } +void +test_basic_properties (void) +{ + GtkStyleContext *context; + GtkWidgetPath *path; + GdkRGBA *color; + GdkRGBA *bg_color; + PangoFontDescription *font; + + context = gtk_style_context_new (); + path = gtk_widget_path_new (); + gtk_style_context_set_path (context, path); + gtk_widget_path_free (path); + + gtk_style_context_get (context, 0, + "color", &color, + "background-color", &bg_color, + "font", &font, + NULL); + g_assert (color != NULL); + g_assert (bg_color != NULL); + g_assert (font != NULL); + + gdk_rgba_free (color); + gdk_rgba_free (bg_color); + pango_font_description_free (font); + + g_object_unref (context); +} + int main (int argc, char *argv[]) { @@ -531,6 +561,7 @@ main (int argc, char *argv[]) g_test_add_func ("/style/path", test_path); g_test_add_func ("/style/match", test_match); g_test_add_func ("/style/style-property", test_style_property); + g_test_add_func ("/style/basic", test_basic_properties); return g_test_run (); } From 183bf8ac9dfac28f31f9f5fb4dfcb2150d1d9fb1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 10:02:00 -0500 Subject: [PATCH 0592/1463] Use g_strtod when converting strings for GtkCellRendererSpin These strings are likely user-provided values, so we should respect locale settings. Reported in bug 637189. --- gtk/gtkcellrendererspin.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellrendererspin.c b/gtk/gtkcellrendererspin.c index 2a7fc10ddf..fc170bd966 100644 --- a/gtk/gtkcellrendererspin.c +++ b/gtk/gtkcellrendererspin.c @@ -323,9 +323,11 @@ gtk_cell_renderer_spin_start_editing (GtkCellRenderer *cell, g_object_get (cell_text, "text", &text, NULL); if (text) - gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), - g_ascii_strtod (text, NULL)); - g_free (text); + { + gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin), + g_strtod (text, NULL)); + g_free (text); + } g_object_set_data_full (G_OBJECT (spin), GTK_CELL_RENDERER_SPIN_PATH, g_strdup (path), g_free); From a5fe3fef7bb671bae57ede84c0895e1c08a466dc Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Wed, 15 Dec 2010 11:58:29 +0100 Subject: [PATCH 0593/1463] appchooserdialog: use new GLib API to modify positioning The dialog will always show up with the last selected application. --- configure.ac | 2 +- gtk/gtkappchooserdialog.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 40402924f7..a77df6e186 100644 --- a/configure.ac +++ b/configure.ac @@ -38,7 +38,7 @@ AC_CONFIG_MACRO_DIR([m4]) m4_define([gtk_binary_version], [3.0.0]) # required versions of other packages -m4_define([glib_required_version], [2.27.3]) +m4_define([glib_required_version], [2.27.5]) m4_define([pango_required_version], [1.20]) m4_define([atk_required_version], [1.29.2]) m4_define([cairo_required_version], [1.10.0]) diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c index 60532bb278..09f575a765 100644 --- a/gtk/gtkappchooserdialog.c +++ b/gtk/gtkappchooserdialog.c @@ -234,9 +234,9 @@ add_or_find_application (GtkAppChooserDialog *self) app = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self)); /* we don't care about reporting errors here */ - g_app_info_add_supports_type (app, - self->priv->content_type, - NULL); + g_app_info_set_as_last_used_for_type (app, + self->priv->content_type, + NULL); g_object_unref (app); } From 5b299ce7af074974a9245d11359360684be90dc4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 10:19:55 -0500 Subject: [PATCH 0594/1463] Remove reference to GTK2_RC_FILES from the docs Pointed out in bug 637471. --- docs/reference/gtk/running.sgml | 9 --------- gtk/gtkcssprovider.c | 8 ++++---- gtk/gtktestutils.c | 1 - 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/docs/reference/gtk/running.sgml b/docs/reference/gtk/running.sgml index 82a3c2070b..4abbd9d1d9 100644 --- a/docs/reference/gtk/running.sgml +++ b/docs/reference/gtk/running.sgml @@ -267,15 +267,6 @@ additional environment variables. - - <envar>GTK2_RC_FILES</envar> - - - Specifies a list of RC files to parse instead of the default ones; - see Resource Files. - - - <envar>GTK_EXE_PREFIX</envar> diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 90a50d310a..46303bebe5 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -47,13 +47,13 @@ * calling gtk_css_provider_load_from_file() and adding the provider with * gtk_style_context_add_provider() or gtk_style_context_add_provider_for_screen(). * In addition, certain files will be read when GTK+ is initialized. First, - * the file XDG_CONFIG_HOME/gtk-3.0/gtk.css + * the file $XDG_CONFIG_HOME/gtk-3.0/gtk.css * is loaded if it exists. Then, GTK+ tries to load - * HOME/.themes/theme-name/gtk-3.0/gtk.css, + * $HOME/.themes/theme-name/gtk-3.0/gtk.css, * falling back to - * GTK_DATA_PREFIX/share/themes/theme-name/gtk-3.0/gtk.css, + * datadir/share/themes/theme-name/gtk-3.0/gtk.css, * where theme-name is the name of the current theme - * (see the #GtkSettings:gtk-theme-name setting) and GTK_DATA_PREFIX + * (see the #GtkSettings:gtk-theme-name setting) and datadir * is the prefix configured when GTK+ was compiled, unless overridden by the * GTK_DATA_PREFIX environment variable. * diff --git a/gtk/gtktestutils.c b/gtk/gtktestutils.c index a77ebe726e..d6996ddb14 100644 --- a/gtk/gtktestutils.c +++ b/gtk/gtktestutils.c @@ -73,7 +73,6 @@ gtk_test_init (int *argcp, * - this function could install a mock object around GtkSettings */ g_setenv ("GTK_MODULES", "", TRUE); - g_setenv ("GTK2_RC_FILES", "/dev/null", TRUE); gtk_disable_setlocale(); setlocale (LC_ALL, "C"); g_test_bug_base ("http://bugzilla.gnome.org/show_bug.cgi?id=%s"); From 33cd32f7968fb4e54d6f4f8e6e5c9910fba9fb20 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 20 Dec 2010 17:10:27 +0100 Subject: [PATCH 0595/1463] Make gtk_style_new() use a backing GtkStyleContext Fixes a bug in mutter where it would resort to a dummy style to get iconview rubberband color. Reported by Mathieu Bridon in https://bugzilla.gnome.org/show_bug.cgi?id=637520 --- gtk/gtkstyle.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 419b098abb..e02beb5655 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -809,10 +809,24 @@ gtk_style_copy (GtkStyle *style) GtkStyle* gtk_style_new (void) { + GtkStyleContext *context; + GtkWidgetPath *path; GtkStyle *style; - - style = g_object_new (GTK_TYPE_STYLE, NULL); - + + context = gtk_style_context_new (); + gtk_style_context_set_screen (context, gdk_screen_get_default ()); + + path = gtk_widget_path_new (); + gtk_widget_path_append_type (path, GTK_TYPE_WIDGET); + gtk_style_context_set_path (context, path); + + style = g_object_new (GTK_TYPE_STYLE, + "context", context, + NULL); + + g_object_unref (context); + gtk_widget_path_free (path); + return style; } From 335bfbc8fcf1aefb6999ca8d33b500e689e6c032 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 11:38:31 -0500 Subject: [PATCH 0596/1463] Update GtkAboutDialog documentation Also, remove some dead code, pointed out in bug 637608. --- gtk/gtkaboutdialog.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index b72676d1ba..3d2d73fc82 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -398,8 +398,7 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass) /** * GtkAboutDialog:website-label: * - * The label for the link to the website of the program. If this is not set, - * it defaults to the URL specified in the #GtkAboutDialog:website property. + * The label for the link to the website of the program. * * Since: 2.6 */ @@ -407,7 +406,7 @@ gtk_about_dialog_class_init (GtkAboutDialogClass *klass) PROP_WEBSITE_LABEL, g_param_spec_string ("website-label", P_("Website label"), - P_("The label for the link to the website of the program. If this is not set, it defaults to the URL"), + P_("The label for the link to the website of the program"), NULL, GTK_PARAM_READWRITE)); @@ -1001,9 +1000,7 @@ update_website (GtkAboutDialog *about) } else { - if (priv->website_url) - gtk_label_set_text (GTK_LABEL (priv->website_label), priv->website_url); - else if (priv->website_text) + if (priv->website_text) gtk_label_set_text (GTK_LABEL (priv->website_label), priv->website_text); else gtk_widget_hide (priv->website_label); @@ -1454,7 +1451,6 @@ gtk_about_dialog_get_website_label (GtkAboutDialog *about) * @website_label: the label used for the website link * * Sets the label to be used for the website link. - * It defaults to the website URL. * * Since: 2.6 */ From 28cc7baef0c2f4e80113395a48e562e427211f03 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 12:28:05 -0500 Subject: [PATCH 0597/1463] Make GtkEntry hide completely When it was converted to no-window, we forgot to make it hide/show its input window as necessary. --- gtk/gtkentry.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 9efabbd0a4..b344349c60 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -2775,6 +2775,8 @@ gtk_entry_map (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_entry_parent_class)->map (widget); + gdk_window_show (priv->text_area); + for (i = 0; i < MAX_ICONS; i++) { if ((icon_info = priv->icons[i]) != NULL) @@ -2804,6 +2806,8 @@ gtk_entry_unmap (GtkWidget *widget) } } + gdk_window_hide (priv->text_area); + GTK_WIDGET_CLASS (gtk_entry_parent_class)->unmap (widget); } @@ -2863,8 +2867,6 @@ gtk_entry_realize (GtkWidget *widget) gtk_widget_style_attach (widget); - gdk_window_show (priv->text_area); - gtk_im_context_set_client_window (priv->im_context, priv->text_area); gtk_entry_adjust_scroll (entry); From 23ce44c9fecefb9c243c09709c8c1decfd1eb530 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 20 Dec 2010 12:46:51 -0500 Subject: [PATCH 0598/1463] Verify GtkWidget invariants if G_ENABLE_DEBUG is defined These checks are a bit expensive so require --enable-debug=yes. gtk_widget_verify_invariants() checks invariants mentioned in docs/widget_system.txt in particular, and can verify others in the future. Some of the invariants in docs/widget_system.txt don't in fact hold right now, so those are #if 0'd in this patch pending someone fixing either the docs or the code. --- gtk/gtkwidget.c | 234 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 227 insertions(+), 7 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index ffdd76ddfc..d3ff2b8666 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -368,6 +368,11 @@ struct _GtkWidgetPrivate */ GtkWidget *parent; +#ifdef G_ENABLE_DEBUG + /* Number of gtk_widget_push_verify_invariants () */ + guint verifying_invariants_count; +#endif /* G_ENABLE_DEBUG */ + /* Widget's path for styling */ GtkWidgetPath *path; }; @@ -555,6 +560,15 @@ static void gtk_widget_real_move_focus (GtkWidget GtkDirectionType direction); static gboolean gtk_widget_real_keynav_failed (GtkWidget *widget, GtkDirectionType direction); +#ifdef G_ENABLE_DEBUG +static void gtk_widget_verify_invariants (GtkWidget *widget); +static void gtk_widget_push_verify_invariants (GtkWidget *widget); +static void gtk_widget_pop_verify_invariants (GtkWidget *widget); +#else +#define gtk_widget_verify_invariants(widget) +#define gtk_widget_push_verify_invariants(widget) +#define gtk_widget_pop_verify_invariants(widget) +#endif static PangoContext* gtk_widget_peek_pango_context (GtkWidget *widget); static void gtk_widget_update_pango_context (GtkWidget *widget); static void gtk_widget_propagate_state (GtkWidget *widget, @@ -3694,8 +3708,9 @@ gtk_widget_unparent (GtkWidget *widget) if (priv->parent == NULL) return; - /* keep this function in sync with gtk_menu_detach() - */ + /* keep this function in sync with gtk_menu_detach() */ + + gtk_widget_push_verify_invariants (widget); g_object_freeze_notify (G_OBJECT (widget)); nqueue = g_object_notify_queue_freeze (G_OBJECT (widget), _gtk_widget_child_property_notify_context); @@ -3767,6 +3782,8 @@ gtk_widget_unparent (GtkWidget *widget) if (!priv->parent) g_object_notify_queue_clear (G_OBJECT (widget), nqueue); g_object_notify_queue_thaw (G_OBJECT (widget), nqueue); + + gtk_widget_pop_verify_invariants (widget); g_object_unref (widget); } @@ -3848,8 +3865,10 @@ gtk_widget_show (GtkWidget *widget) if (!gtk_widget_get_visible (widget)) { g_object_ref (widget); + gtk_widget_push_verify_invariants (widget); + if (!gtk_widget_is_toplevel (widget)) - gtk_widget_queue_resize (widget); + gtk_widget_queue_resize (widget); /* see comment in set_parent() for why this should and can be * conditional @@ -3864,6 +3883,8 @@ gtk_widget_show (GtkWidget *widget) g_signal_emit (widget, widget_signals[SHOW], 0); g_object_notify (G_OBJECT (widget), "visible"); + + gtk_widget_pop_verify_invariants (widget); g_object_unref (widget); } } @@ -3945,8 +3966,10 @@ gtk_widget_hide (GtkWidget *widget) GtkWidget *toplevel = gtk_widget_get_toplevel (widget); g_object_ref (widget); + gtk_widget_push_verify_invariants (widget); + if (toplevel != widget && gtk_widget_is_toplevel (toplevel)) - _gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget); + _gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget); /* a parent may now be expand=FALSE since we're hidden. */ if (widget->priv->need_compute_expand || @@ -3960,6 +3983,8 @@ gtk_widget_hide (GtkWidget *widget) if (!gtk_widget_is_toplevel (widget)) gtk_widget_queue_resize (widget); g_object_notify (G_OBJECT (widget), "visible"); + + gtk_widget_pop_verify_invariants (widget); g_object_unref (widget); } } @@ -4119,13 +4144,17 @@ gtk_widget_map (GtkWidget *widget) if (!gtk_widget_get_mapped (widget)) { + gtk_widget_push_verify_invariants (widget); + if (!gtk_widget_get_realized (widget)) - gtk_widget_realize (widget); + gtk_widget_realize (widget); g_signal_emit (widget, widget_signals[MAP], 0); if (!gtk_widget_get_has_window (widget)) - gdk_window_invalidate_rect (priv->window, &priv->allocation, FALSE); + gdk_window_invalidate_rect (priv->window, &priv->allocation, FALSE); + + gtk_widget_pop_verify_invariants (widget); _gtk_widget_start_state_transitions (widget); } @@ -4149,10 +4178,14 @@ gtk_widget_unmap (GtkWidget *widget) if (gtk_widget_get_mapped (widget)) { + gtk_widget_push_verify_invariants (widget); + if (!gtk_widget_get_has_window (widget)) gdk_window_invalidate_rect (priv->window, &priv->allocation, FALSE); _gtk_tooltip_hide (widget); g_signal_emit (widget, widget_signals[UNMAP], 0); + + gtk_widget_pop_verify_invariants (widget); } } @@ -4218,6 +4251,8 @@ gtk_widget_realize (GtkWidget *widget) if (!gtk_widget_get_realized (widget)) { + gtk_widget_push_verify_invariants (widget); + /* if (GTK_IS_CONTAINER (widget) && gtk_widget_get_has_window (widget)) g_message ("gtk_widget_realize(%s)", G_OBJECT_TYPE_NAME (widget)); @@ -4254,6 +4289,8 @@ gtk_widget_realize (GtkWidget *widget) gdk_window_set_support_multidevice (priv->window, TRUE); _gtk_widget_enable_device_events (widget); + + gtk_widget_pop_verify_invariants (widget); } } @@ -4270,6 +4307,8 @@ gtk_widget_unrealize (GtkWidget *widget) { g_return_if_fail (GTK_IS_WIDGET (widget)); + gtk_widget_push_verify_invariants (widget); + if (widget->priv->has_shape_mask) gtk_widget_shape_combine_region (widget, NULL); @@ -4285,6 +4324,8 @@ gtk_widget_unrealize (GtkWidget *widget) gtk_widget_set_mapped (widget, FALSE); g_object_unref (widget); } + + gtk_widget_pop_verify_invariants (widget); } /***************************************** @@ -4584,6 +4625,8 @@ gtk_widget_size_allocate (GtkWidget *widget, g_return_if_fail (GTK_IS_WIDGET (widget)); + gtk_widget_push_verify_invariants (widget); + #ifdef G_ENABLE_DEBUG if (gtk_get_debug_flags () & GTK_DEBUG_GEOMETRY) { @@ -4683,7 +4726,7 @@ gtk_widget_size_allocate (GtkWidget *widget, old_allocation.y != real_allocation.y); if (!alloc_needed && !size_changed && !position_changed) - return; + goto out; g_signal_emit (widget, widget_signals[SIZE_ALLOCATE], 0, &real_allocation); @@ -4735,6 +4778,9 @@ gtk_widget_size_allocate (GtkWidget *widget, gtk_widget_invalidate_widget_windows (priv->parent, invalidate); cairo_region_destroy (invalidate); } + +out: + gtk_widget_pop_verify_invariants (widget); } /** @@ -7515,6 +7561,9 @@ gtk_widget_set_parent (GtkWidget *widget, */ g_object_ref_sink (widget); + + gtk_widget_push_verify_invariants (widget); + priv->parent = parent; parent_flags = gtk_widget_get_state_flags (parent); @@ -7578,6 +7627,8 @@ gtk_widget_set_parent (GtkWidget *widget, gtk_style_context_set_screen (widget->priv->context, gtk_widget_get_screen (widget)); } + + gtk_widget_pop_verify_invariants (widget); } /** @@ -8578,6 +8629,173 @@ gtk_widget_get_default_style (void) return gtk_default_style; } +#ifdef G_ENABLE_DEBUG +/* Verify invariants, see docs/widget_system.txt for notes on much of + * this. Invariants may be temporarily broken while we're in the + * process of updating state, of course, so you can only + * verify_invariants() after a given operation is complete. + * Use push/pop_verify_invariants to help with that. + */ +static void +gtk_widget_verify_invariants (GtkWidget *widget) +{ + GtkWidget *parent; + + if (widget->priv->verifying_invariants_count > 0) + return; + + parent = widget->priv->parent; + + if (widget->priv->mapped) + { + /* Mapped implies ... */ + + if (!widget->priv->realized) + g_warning ("%s %p is mapped but not realized", + G_OBJECT_TYPE_NAME (widget), widget); + + if (!widget->priv->visible) + g_warning ("%s %p is mapped but not visible", + G_OBJECT_TYPE_NAME (widget), widget); + + if (!widget->priv->toplevel) + { + if (!widget->priv->child_visible) + g_warning ("%s %p is mapped but not child_visible", + G_OBJECT_TYPE_NAME (widget), widget); + } + } + else + { + /* Not mapped implies... */ + + if (widget->priv->toplevel) + { + if (widget->priv->visible) + g_warning ("%s %p toplevel is visible but not mapped", + G_OBJECT_TYPE_NAME (widget), widget); + } + } + + /* Parent related checks aren't possible if parent has + * verifying_invariants_count > 0 because parent needs to recurse + * children first before the invariants will hold. + */ + if (parent == NULL || parent->priv->verifying_invariants_count == 0) + { + if (parent && + parent->priv->realized) + { + /* Parent realized implies... */ + +#if 0 + /* This is in widget_system.txt but appears to fail + * because there's no gtk_container_realize() that + * realizes all children... instead we just lazily + * wait for map to fix things up. + */ + if (!widget->priv->realized) + g_warning ("%s %p is realized but child %s %p is not realized", + G_OBJECT_TYPE_NAME (parent), parent, + G_OBJECT_TYPE_NAME (widget), widget); +#endif + } + else if (!widget->priv->toplevel) + { + /* No parent or parent not realized on non-toplevel implies... */ + + if (widget->priv->realized && !widget->priv->in_reparent) + g_warning ("%s %p is not realized but child %s %p is realized", + parent ? G_OBJECT_TYPE_NAME (parent) : "no parent", parent, + G_OBJECT_TYPE_NAME (widget), widget); + } + + if (parent && + parent->priv->mapped && + widget->priv->visible && + widget->priv->child_visible) + { + /* Parent mapped and we are visible implies... */ + + if (!widget->priv->mapped) + g_warning ("%s %p is mapped but visible child %s %p is not mapped", + G_OBJECT_TYPE_NAME (parent), parent, + G_OBJECT_TYPE_NAME (widget), widget); + } + } + + if (!widget->priv->realized) + { + /* Not realized implies... */ + +#if 0 + /* widget_system.txt says these hold, but they don't. */ + if (widget->priv->resize_pending) + g_warning ("%s %p resize pending but not realized", + G_OBJECT_TYPE_NAME (widget), widget); + + if (widget->priv->alloc_needed) + g_warning ("%s %p alloc needed but not realized", + G_OBJECT_TYPE_NAME (widget), widget); + + if (widget->priv->width_request_needed) + g_warning ("%s %p width request needed but not realized", + G_OBJECT_TYPE_NAME (widget), widget); + + if (widget->priv->height_request_needed) + g_warning ("%s %p height request needed but not realized", + G_OBJECT_TYPE_NAME (widget), widget); +#endif + } +} + +/* The point of this push/pop is that invariants may not hold while + * we're busy making changes. So we only check at the outermost call + * on the call stack, after we finish updating everything. + */ +static void +gtk_widget_push_verify_invariants (GtkWidget *widget) +{ + widget->priv->verifying_invariants_count += 1; +} + +static void +gtk_widget_verify_child_invariants (GtkWidget *widget, + gpointer client_data) +{ + /* We don't recurse further; this is a one-level check. */ + gtk_widget_verify_invariants (widget); +} + +static void +gtk_widget_pop_verify_invariants (GtkWidget *widget) +{ + g_assert (widget->priv->verifying_invariants_count > 0); + + widget->priv->verifying_invariants_count -= 1; + + if (widget->priv->verifying_invariants_count == 0) + { + gtk_widget_verify_invariants (widget); + + if (GTK_IS_CONTAINER (widget)) + { + /* Check one level of children, because our + * push_verify_invariants() will have prevented some of the + * checks. This does not recurse because if recursion is + * needed, it will happen naturally as each child has a + * push/pop on that child. For example if we're recursively + * mapping children, we'll push/pop on each child as we map + * it. + */ + gtk_container_forall (GTK_CONTAINER (widget), + gtk_widget_verify_child_invariants, + NULL); + } + } +} +#endif /* G_ENABLE_DEBUG */ + static PangoContext * gtk_widget_peek_pango_context (GtkWidget *widget) { @@ -8907,6 +9125,7 @@ gtk_widget_set_child_visible (GtkWidget *widget, priv = widget->priv; g_object_ref (widget); + gtk_widget_verify_invariants (widget); if (is_visible) priv->child_visible = TRUE; @@ -8931,6 +9150,7 @@ gtk_widget_set_child_visible (GtkWidget *widget, gtk_widget_unmap (widget); } + gtk_widget_verify_invariants (widget); g_object_unref (widget); } From b67c5af55bf611c013b2c43e6878281abd773530 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 20 Dec 2010 12:58:04 -0500 Subject: [PATCH 0599/1463] Add invariant that a child is unmapped if parent is unmapped Requires fixes to GtkContainer and GtkWindow to unmap their children, rather than just withdrawing or hiding the container window. Requires fix to GtkHandleBox to chain up to GtkContainer unmap. Historically we avoided these unmaps for efficiency reasons, but these days it's a bigger problem that there's no way for child widgets to know that one of their ancestors has become unmapped. --- docs/widget_system.txt | 2 +- gtk/gtkcontainer.c | 13 +++++++++---- gtk/gtkhandlebox.c | 2 ++ gtk/gtkwidget.c | 12 ++++++++++++ gtk/gtkwindow.c | 5 +++++ 5 files changed, 29 insertions(+), 5 deletions(-) diff --git a/docs/widget_system.txt b/docs/widget_system.txt index 1c2867cad5..9463f10db9 100644 --- a/docs/widget_system.txt +++ b/docs/widget_system.txt @@ -255,7 +255,7 @@ In the following widget->parent && GTK_WIDGET_MAPPED (widget->parent) && GTK_WIDGET_VISIBLE (widget) && GTK_WIDGET_CHILD_VISIBLE - => GTK_WIDGET_MAPPED (widget) + <=> GTK_WIDGET_MAPPED (widget) Note:, the definition diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index a5120377cf..0ae08277f7 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -3110,12 +3110,17 @@ gtk_container_unmap (GtkWidget *widget) { gtk_widget_set_mapped (widget, FALSE); + /* hide our window first so user doesn't see all the child windows + * vanishing one by one. (only matters these days if one of the + * children has an actual native window instead of client-side + * window, e.g. a GtkSocket would) + */ if (gtk_widget_get_has_window (widget)) gdk_window_hide (gtk_widget_get_window (widget)); - else - gtk_container_forall (GTK_CONTAINER (widget), - (GtkCallback)gtk_widget_unmap, - NULL); + + gtk_container_forall (GTK_CONTAINER (widget), + (GtkCallback)gtk_widget_unmap, + NULL); } /** diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index 1e02e84f87..2b1f9063ae 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -397,6 +397,8 @@ gtk_handle_box_unmap (GtkWidget *widget) gdk_window_hide (priv->float_window); priv->float_window_mapped = FALSE; } + + GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->unmap (widget); } static void diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index d3ff2b8666..92e4278912 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8722,6 +8722,18 @@ gtk_widget_verify_invariants (GtkWidget *widget) G_OBJECT_TYPE_NAME (parent), parent, G_OBJECT_TYPE_NAME (widget), widget); } + else if (!widget->priv->toplevel) + { + /* No parent or parent not mapped on non-toplevel implies... */ + + if (widget->priv->mapped && !widget->priv->in_reparent) + g_warning ("%s %p is mapped but visible=%d child_visible=%d parent %s %p mapped=%d", + G_OBJECT_TYPE_NAME (widget), widget, + widget->priv->visible, + widget->priv->child_visible, + parent ? G_OBJECT_TYPE_NAME (parent) : "no parent", parent, + parent ? parent->priv->mapped : FALSE); + } } if (!widget->priv->realized) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 6a782ce5c6..1a77b1f1f8 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4828,6 +4828,7 @@ gtk_window_unmap (GtkWidget *widget) { GtkWindow *window = GTK_WINDOW (widget); GtkWindowPrivate *priv = window->priv; + GtkWidget *child; GtkWindowGeometryInfo *info; GdkWindow *gdk_window; GdkWindowState state; @@ -4862,6 +4863,10 @@ gtk_window_unmap (GtkWidget *widget) priv->stick_initially = (state & GDK_WINDOW_STATE_STICKY) != 0; priv->above_initially = (state & GDK_WINDOW_STATE_ABOVE) != 0; priv->below_initially = (state & GDK_WINDOW_STATE_BELOW) != 0; + + child = gtk_bin_get_child (&(window->bin)); + if (child) + gtk_widget_unmap (child); } static void From 9552152dd9c4c51fcb2847fdd15e118dd3c363f1 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Mon, 20 Dec 2010 13:04:45 -0500 Subject: [PATCH 0600/1463] Always emit unmap when a widget is unmapped Previously, for performance reasons we would sometimes skip invoking the unmap signal (and associated vfunc) in favor of simply unrealizing. However, widgets then had no way to clean stuff up when they were hidden (but still inside a parent which was shown). This patch also removes _gtk_tooltip_hide() which was done in both unmap and unrealize in gtkwidget.c, now can only be in unmap. There are probably lots of things cleaned up in unrealize that would now be better to move to unmap. https://bugzilla.gnome.org/show_bug.cgi?id=629923 --- gtk/gtkwidget.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 92e4278912..d261b13245 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4318,10 +4318,14 @@ gtk_widget_unrealize (GtkWidget *widget) if (gtk_widget_get_realized (widget)) { g_object_ref (widget); - _gtk_tooltip_hide (widget); + + if (widget->priv->mapped) + gtk_widget_unmap (widget); + g_signal_emit (widget, widget_signals[UNREALIZE], 0); + g_assert (!widget->priv->mapped); gtk_widget_set_realized (widget, FALSE); - gtk_widget_set_mapped (widget, FALSE); + g_object_unref (widget); } @@ -10507,10 +10511,7 @@ gtk_widget_real_unrealize (GtkWidget *widget) { GtkWidgetPrivate *priv = widget->priv; - if (gtk_widget_get_mapped (widget)) - gtk_widget_real_unmap (widget); - - gtk_widget_set_mapped (widget, FALSE); + g_assert (!widget->priv->mapped); /* printf ("unrealizing %s\n", g_type_name (G_TYPE_FROM_INSTANCE (widget))); */ From 0c518a81b8a2c401405652b46ae46dafa66c0ca4 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Sun, 12 Dec 2010 12:54:47 +0100 Subject: [PATCH 0601/1463] printing: Set new print operation settings before emitting custom-widget-apply signal So that custom settings can be added from the custom-widget-apply callback. https://bugzilla.gnome.org/show_bug.cgi?id=637069 --- gtk/gtkprintoperation-unix.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c index 5eb770ec3c..3b620e1649 100644 --- a/gtk/gtkprintoperation-unix.c +++ b/gtk/gtkprintoperation-unix.c @@ -633,7 +633,11 @@ handle_print_response (GtkWidget *dialog, settings = gtk_print_unix_dialog_get_settings (GTK_PRINT_UNIX_DIALOG (pd)); page_setup = gtk_print_unix_dialog_get_page_setup (GTK_PRINT_UNIX_DIALOG (pd)); page_setup_set = gtk_print_unix_dialog_get_page_setup_set (GTK_PRINT_UNIX_DIALOG (pd)); - + + /* Set new print settings now so that custom-widget options + * can be added to the settings in the callback + */ + gtk_print_operation_set_print_settings (rdata->op, settings); g_signal_emit_by_name (rdata->op, "custom-widget-apply", rdata->op->priv->custom_widget); } From 17e97467df86fbbb602f84da2e89a8bdee2f763f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 20 Dec 2010 23:04:44 +0100 Subject: [PATCH 0602/1463] Strengthen checks in functions taking a GdkDevice Docs have also been improved, to make explicit the device type/source accepted. --- gdk/gdkdevice.c | 25 ++++++++++++++++++------- gdk/gdkdisplay.c | 6 ++++-- gdk/gdkwindow.c | 11 ++++++++--- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 755f78acd6..8e6feec025 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -414,7 +414,7 @@ gdk_device_get_property (GObject *object, * or %NULL. * @mask: location to store the modifiers, or %NULL. * - * Gets the current state of a device relative to @window. + * Gets the current state of a pointer device relative to @window. */ void gdk_device_get_state (GdkDevice *device, @@ -423,6 +423,7 @@ gdk_device_get_state (GdkDevice *device, GdkModifierType *mask) { g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); g_return_if_fail (GDK_IS_WINDOW (window)); if (GDK_DEVICE_GET_CLASS (device)->get_state) @@ -438,7 +439,7 @@ gdk_device_get_state (GdkDevice *device, * @events: (array length=n_events) (out) (transfer none): location to store a newly-allocated array of #GdkTimeCoord, or %NULL * @n_events: location to store the length of @events, or %NULL * - * Obtains the motion history for a device; given a starting and + * Obtains the motion history for a pointer device; given a starting and * ending timestamp, return all events in the motion history for * the device in the given range of time. Some windowing systems * do not support motion history, in which case, %FALSE will @@ -457,6 +458,7 @@ gdk_device_get_history (GdkDevice *device, gint *n_events) { g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, FALSE); g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE); if (n_events) @@ -540,6 +542,7 @@ gboolean gdk_device_get_has_cursor (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, FALSE); return device->priv->has_cursor; } @@ -706,7 +709,7 @@ gdk_device_set_key (GdkDevice *device, /** * gdk_device_get_axis_use: - * @device: a #GdkDevice. + * @device: a pointer #GdkDevice. * @index_: the index of the axis. * * Returns the axis use for @index_. @@ -722,6 +725,7 @@ gdk_device_get_axis_use (GdkDevice *device, GdkAxisInfo *info; g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_AXIS_IGNORE); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, GDK_AXIS_IGNORE); g_return_val_if_fail (index_ < device->priv->axes->len, GDK_AXIS_IGNORE); info = &g_array_index (device->priv->axes, GdkAxisInfo, index_); @@ -731,7 +735,7 @@ gdk_device_get_axis_use (GdkDevice *device, /** * gdk_device_set_axis_use: - * @device: a #GdkDevice + * @device: a pointer #GdkDevice * @index_: the index of the axis * @use: specifies how the axis is used * @@ -746,6 +750,7 @@ gdk_device_set_axis_use (GdkDevice *device, GdkAxisInfo *info; g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); g_return_if_fail (index_ < device->priv->axes->len); priv = device->priv; @@ -955,7 +960,7 @@ gdk_device_get_device_type (GdkDevice *device) /** * gdk_device_get_n_axes: - * @device: a #GdkDevice + * @device: a pointer #GdkDevice * * Returns the number of axes the device currently has. * @@ -967,13 +972,14 @@ gint gdk_device_get_n_axes (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), 0); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); return device->priv->axes->len; } /** * gdk_device_list_axes: - * @device: a #GdkDevice + * @device: a pointer #GdkDevice * * Returns a #GList of #GdkAtoms, containing the labels for * the axes that @device currently has. @@ -990,6 +996,9 @@ gdk_device_list_axes (GdkDevice *device) GList *axes = NULL; gint i; + g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); + priv = device->priv; for (i = 0; i < priv->axes->len; i++) @@ -1005,7 +1014,7 @@ gdk_device_list_axes (GdkDevice *device) /** * gdk_device_get_axis_value: - * @device: a #GdkDevice. + * @device: a pointer #GdkDevice. * @axes: pointer to an array of axes * @axis_label: #GdkAtom with the axis label. * @value: location to store the found value. @@ -1028,6 +1037,7 @@ gdk_device_get_axis_value (GdkDevice *device, gint i; g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, FALSE); if (axes == NULL) return FALSE; @@ -1074,6 +1084,7 @@ gdk_device_get_axis (GdkDevice *device, gint i; g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, FALSE); if (axes == NULL) return FALSE; diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 7ec0906280..ed63756ec0 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -724,7 +724,7 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, /** * gdk_display_get_device_state: * @display: a #GdkDisplay. - * @device: device to query status to. + * @device: pointer device to query status about. * @screen: (out) (transfer none) (allow-none): location to store the #GdkScreen * the @device is on, or %NULL. * @x: (out) (allow-none): location to store root window X coordinate of @device, or %NULL. @@ -749,6 +749,7 @@ gdk_display_get_device_state (GdkDisplay *display, g_return_if_fail (GDK_IS_DISPLAY (display)); g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask); @@ -765,7 +766,7 @@ gdk_display_get_device_state (GdkDisplay *display, /** * gdk_display_get_window_at_device_position: * @display: a #GdkDisplay. - * @device: #GdkDevice to query info to. + * @device: pointer #GdkDevice to query info to. * @win_x: (out) (allow-none): return location for the X coordinate of the device location, * relative to the window origin, or %NULL. * @win_y: (out) (allow-none): return location for the Y coordinate of the device location, @@ -789,6 +790,7 @@ gdk_display_get_window_at_device_position (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); window = display->device_hooks->window_at_device_position (display, device, &tmp_x, &tmp_y); diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 43174e98e6..dc4be64a90 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4943,7 +4943,7 @@ gdk_window_get_pointer (GdkWindow *window, /** * gdk_window_get_device_position: * @window: a #GdkWindow. - * @device: #GdkDevice to query to. + * @device: pointer #GdkDevice to query to. * @x: (out) (allow-none): return location for the X coordinate of @device, or %NULL. * @y: (out) (allow-none): return location for the Y coordinate of @device, or %NULL. * @mask: (out) (allow-none): return location for the modifier mask, or %NULL. @@ -4972,6 +4972,7 @@ gdk_window_get_device_position (GdkWindow *window, g_return_val_if_fail (GDK_IS_WINDOW (window), NULL); g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); tmp_x = 0; tmp_y = 0; @@ -6697,7 +6698,7 @@ gdk_window_set_cursor (GdkWindow *window, /** * gdk_window_get_device_cursor: * @window: a #GdkWindow. - * @device: a #GdkDevice. + * @device: a master, pointer #GdkDevice. * * Retrieves a #GdkCursor pointer for the @device currently set on the * specified #GdkWindow, or %NULL. If the return value is %NULL then @@ -6716,6 +6717,8 @@ gdk_window_get_device_cursor (GdkWindow *window, { g_return_val_if_fail (GDK_IS_WINDOW (window), NULL); g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); + g_return_val_if_fail (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER, NULL); return g_hash_table_lookup (window->device_cursor, device); } @@ -6723,7 +6726,7 @@ gdk_window_get_device_cursor (GdkWindow *window, /** * gdk_window_set_device_cursor: * @window: a #Gdkwindow - * @device: a #GdkDevice + * @device: a master, pointer #GdkDevice * @cursor: a #GdkCursor * * Sets a specific #GdkCursor for a given device when it gets inside @window. @@ -6744,6 +6747,8 @@ gdk_window_set_device_cursor (GdkWindow *window, g_return_if_fail (GDK_IS_WINDOW (window)); g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); + g_return_if_fail (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER); display = gdk_window_get_display (window); From 5c2f407935cb10a87230c38e41918df7ac883747 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 17:07:20 -0500 Subject: [PATCH 0603/1463] Fix problems with window handling in GtkCalendar After the window removal a while ago, the calendar main window was not properly moved in size_allocate. Also, we ought to hide/show the windows in map/unmap, not keep them visible at all times. Bug 634657 --- gtk/gtkcalendar.c | 72 +++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 66 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 1836ef88b6..e42f3307d5 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -341,6 +341,8 @@ static void gtk_calendar_get_property (GObject *object, static void gtk_calendar_realize (GtkWidget *widget); static void gtk_calendar_unrealize (GtkWidget *widget); +static void gtk_calendar_map (GtkWidget *widget); +static void gtk_calendar_unmap (GtkWidget *widget); static void gtk_calendar_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural); @@ -441,6 +443,8 @@ gtk_calendar_class_init (GtkCalendarClass *class) widget_class->destroy = gtk_calendar_destroy; widget_class->realize = gtk_calendar_realize; widget_class->unrealize = gtk_calendar_unrealize; + widget_class->map = gtk_calendar_map; + widget_class->unmap = gtk_calendar_unmap; widget_class->draw = gtk_calendar_draw; widget_class->get_preferred_width = gtk_calendar_get_preferred_width; widget_class->get_preferred_height = gtk_calendar_get_preferred_height; @@ -1588,7 +1592,6 @@ calendar_realize_arrows (GtkCalendar *calendar) priv->arrow_state[i] = GTK_STATE_NORMAL; else priv->arrow_state[i] = GTK_STATE_INSENSITIVE; - gdk_window_show (priv->arrow_win[i]); gdk_window_set_user_data (priv->arrow_win[i], widget); } } @@ -1693,7 +1696,6 @@ gtk_calendar_realize (GtkWidget *widget) priv->main_win = gdk_window_new (gtk_widget_get_window (widget), &attributes, attributes_mask); - gdk_window_show (priv->main_win); gdk_window_set_user_data (priv->main_win, widget); calendar_realize_arrows (GTK_CALENDAR (widget)); @@ -1716,6 +1718,56 @@ gtk_calendar_unrealize (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_calendar_parent_class)->unrealize (widget); } +static void +calendar_map_arrows (GtkCalendar *calendar) +{ + GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); + gint i; + + for (i = 0; i < 4; i++) + { + if (priv->arrow_win[i]) + gdk_window_show (priv->arrow_win[i]); + } +} + +static void +calendar_unmap_arrows (GtkCalendar *calendar) +{ + GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); + gint i; + + for (i = 0; i < 4; i++) + { + if (priv->arrow_win[i]) + gdk_window_hide (priv->arrow_win[i]); + } +} + +static void +gtk_calendar_map (GtkWidget *widget) +{ + GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); + + GTK_WIDGET_CLASS (gtk_calendar_parent_class)->map (widget); + + gdk_window_show (priv->main_win); + + calendar_map_arrows (GTK_CALENDAR (widget)); +} + +static void +gtk_calendar_unmap (GtkWidget *widget) +{ + GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); + + calendar_unmap_arrows (GTK_CALENDAR (widget)); + + gdk_window_hide (priv->main_win); + + GTK_WIDGET_CLASS (gtk_calendar_parent_class)->unmap (widget); +} + static gchar* gtk_calendar_get_detail (GtkCalendar *calendar, gint row, @@ -2099,16 +2151,20 @@ gtk_calendar_size_allocate (GtkWidget *widget, { if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) gdk_window_move_resize (priv->main_win, - priv->week_width + xthickness + inner_border, - priv->header_h + priv->day_name_h + allocation->x + + priv->week_width + xthickness + inner_border, + allocation->y + + priv->header_h + priv->day_name_h + (style->ythickness + inner_border), allocation->width - priv->week_width - (xthickness + inner_border) * 2, priv->main_h); else gdk_window_move_resize (priv->main_win, - xthickness + inner_border, - priv->header_h + priv->day_name_h + allocation->x + + xthickness + inner_border, + allocation->y + + priv->header_h + priv->day_name_h + style->ythickness + inner_border, allocation->width - priv->week_width - (xthickness + inner_border) * 2, @@ -3566,6 +3622,8 @@ gtk_calendar_set_display_options (GtkCalendar *calendar, { priv->display_flags &= ~GTK_CALENDAR_NO_MONTH_CHANGE; calendar_realize_arrows (calendar); + if (gtk_widget_get_mapped (widget)) + calendar_map_arrows (calendar); } else { @@ -3581,6 +3639,8 @@ gtk_calendar_set_display_options (GtkCalendar *calendar, { priv->display_flags |= GTK_CALENDAR_SHOW_HEADING; calendar_realize_arrows (calendar); + if (gtk_widget_get_mapped (widget)) + calendar_map_arrows (calendar); } else { From 33fd2104b7bfffd383d38d97acd6137ae7465639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 20 Dec 2010 21:45:08 +0000 Subject: [PATCH 0604/1463] docs: unmap signal will always be emitted when a widget is unmapped Since commit 9552152dd9c4c51fcb2847fdd15e118dd3c363f1 --- gtk/gtkwidget.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index d261b13245..97a1f447f1 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -2160,13 +2160,9 @@ gtk_widget_class_init (GtkWidgetClass *klass) * @widget: the object which received the signal * @event: (type Gdk.EventAny): the #GdkEventAny which triggered this signal * - * The ::unmap-event signal may be emitted when the @widget's window is + * The ::unmap-event signal will be emitted when the @widget's window is * unmapped. A window is unmapped when it becomes invisible on the screen. * - * For performance reasons GTK+ may not emit ::unmap-event, so one - * should always also implement ::unrealize in order to release - * resources and disconnect signal handlers. - * * To receive this signal, the #GdkWindow associated to the widget needs * to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask * automatically for all new windows. From e02b10046d543db9094f75994f0f77d93d09706b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 21 Dec 2010 01:27:32 +0100 Subject: [PATCH 0605/1463] Ensure widgets get a GtkStyle with its backing GtkStyleContext Since the default style also has a backing context, it wasn't being replaced after initialization. --- gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 97a1f447f1..66838bcca9 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7741,7 +7741,7 @@ gtk_widget_ensure_style (GtkWidget *widget) g_return_if_fail (GTK_IS_WIDGET (widget)); if (!widget->priv->style || - !gtk_style_has_context (widget->priv->style)) + widget->priv->style == gtk_widget_get_default_style ()) { GtkStyle *style; From 1bb68f0bc5de0ecf40be29482e8cc57f5994413c Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 21 Dec 2010 12:46:41 +0200 Subject: [PATCH 0606/1463] Updated Hebrew translation --- po-properties/he.po | 297 ++++++++++++++++++++++---------------------- 1 file changed, 150 insertions(+), 147 deletions(-) diff --git a/po-properties/he.po b/po-properties/he.po index 7a1d26f7db..5a1b8de899 100644 --- a/po-properties/he.po +++ b/po-properties/he.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-19 09:07+0200\n" -"PO-Revision-Date: 2010-12-19 09:08+0200\n" +"POT-Creation-Date: 2010-12-21 12:45+0200\n" +"PO-Revision-Date: 2010-12-21 12:46+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -181,57 +181,53 @@ msgstr "Website URL" msgid "The URL for the link to the website of the program" msgstr "The URL for the link to the website of the program" -#: ../gtk/gtkaboutdialog.c:409 +#: ../gtk/gtkaboutdialog.c:408 msgid "Website label" msgstr "Website label" -#: ../gtk/gtkaboutdialog.c:410 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" +#: ../gtk/gtkaboutdialog.c:409 +msgid "The label for the link to the website of the program" +msgstr "The label for the link to the website of the program" -#: ../gtk/gtkaboutdialog.c:426 +#: ../gtk/gtkaboutdialog.c:425 msgid "Authors" msgstr "Authors" -#: ../gtk/gtkaboutdialog.c:427 +#: ../gtk/gtkaboutdialog.c:426 msgid "List of authors of the program" msgstr "List of authors of the program" -#: ../gtk/gtkaboutdialog.c:443 +#: ../gtk/gtkaboutdialog.c:442 msgid "Documenters" msgstr "Documenters" -#: ../gtk/gtkaboutdialog.c:444 +#: ../gtk/gtkaboutdialog.c:443 msgid "List of people documenting the program" msgstr "List of people documenting the program" -#: ../gtk/gtkaboutdialog.c:460 +#: ../gtk/gtkaboutdialog.c:459 msgid "Artists" msgstr "Artists" -#: ../gtk/gtkaboutdialog.c:461 +#: ../gtk/gtkaboutdialog.c:460 msgid "List of people who have contributed artwork to the program" msgstr "List of people who have contributed artwork to the program" -#: ../gtk/gtkaboutdialog.c:478 +#: ../gtk/gtkaboutdialog.c:477 msgid "Translator credits" msgstr "Translator credits" -#: ../gtk/gtkaboutdialog.c:479 +#: ../gtk/gtkaboutdialog.c:478 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Credits to the translators. This string should be marked as translatable" -#: ../gtk/gtkaboutdialog.c:494 +#: ../gtk/gtkaboutdialog.c:493 msgid "Logo" msgstr "Logo" -#: ../gtk/gtkaboutdialog.c:495 +#: ../gtk/gtkaboutdialog.c:494 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -239,19 +235,19 @@ msgstr "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:510 +#: ../gtk/gtkaboutdialog.c:509 msgid "Logo Icon Name" msgstr "Logo Icon Name" -#: ../gtk/gtkaboutdialog.c:511 +#: ../gtk/gtkaboutdialog.c:510 msgid "A named icon to use as the logo for the about box." msgstr "A named icon to use as the logo for the about box." -#: ../gtk/gtkaboutdialog.c:524 +#: ../gtk/gtkaboutdialog.c:523 msgid "Wrap license" msgstr "Wrap license" -#: ../gtk/gtkaboutdialog.c:525 +#: ../gtk/gtkaboutdialog.c:524 msgid "Whether to wrap the license text." msgstr "Whether to wrap the license text." @@ -391,7 +387,7 @@ msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "When TRUE, empty menu proxies for this action are hidden." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:919 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 msgid "Sensitive" msgstr "Sensitive" @@ -401,7 +397,7 @@ msgstr "Whether the action is enabled." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 #: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 -#: ../gtk/gtkwidget.c:912 +#: ../gtk/gtkwidget.c:926 msgid "Visible" msgstr "Visible" @@ -610,7 +606,7 @@ msgstr "Arrow Scaling" msgid "Amount of space used up by arrow" msgstr "Amount of space used up by arrow" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1107 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 msgid "Horizontal Alignment" msgstr "Horizontal Alignment" @@ -618,7 +614,7 @@ msgstr "Horizontal Alignment" msgid "X alignment of the child" msgstr "X alignment of the child" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1123 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 msgid "Vertical Alignment" msgstr "Vertical Alignment" @@ -971,27 +967,27 @@ msgstr "Image spacing" msgid "Spacing in pixels between the image and label" msgstr "Spacing in pixels between the image and label" -#: ../gtk/gtkcalendar.c:475 +#: ../gtk/gtkcalendar.c:479 msgid "Year" msgstr "Year" -#: ../gtk/gtkcalendar.c:476 +#: ../gtk/gtkcalendar.c:480 msgid "The selected year" msgstr "The selected year" -#: ../gtk/gtkcalendar.c:489 +#: ../gtk/gtkcalendar.c:493 msgid "Month" msgstr "Month" -#: ../gtk/gtkcalendar.c:490 +#: ../gtk/gtkcalendar.c:494 msgid "The selected month (as a number between 0 and 11)" msgstr "The selected month (as a number between 0 and 11)" -#: ../gtk/gtkcalendar.c:504 +#: ../gtk/gtkcalendar.c:508 msgid "Day" msgstr "Day" -#: ../gtk/gtkcalendar.c:505 +#: ../gtk/gtkcalendar.c:509 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -999,83 +995,83 @@ msgstr "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" -#: ../gtk/gtkcalendar.c:519 +#: ../gtk/gtkcalendar.c:523 msgid "Show Heading" msgstr "Show Heading" -#: ../gtk/gtkcalendar.c:520 +#: ../gtk/gtkcalendar.c:524 msgid "If TRUE, a heading is displayed" msgstr "If TRUE, a heading is displayed" -#: ../gtk/gtkcalendar.c:534 +#: ../gtk/gtkcalendar.c:538 msgid "Show Day Names" msgstr "Show Day Names" -#: ../gtk/gtkcalendar.c:535 +#: ../gtk/gtkcalendar.c:539 msgid "If TRUE, day names are displayed" msgstr "If TRUE, day names are displayed" -#: ../gtk/gtkcalendar.c:548 +#: ../gtk/gtkcalendar.c:552 msgid "No Month Change" msgstr "No Month Change" -#: ../gtk/gtkcalendar.c:549 +#: ../gtk/gtkcalendar.c:553 msgid "If TRUE, the selected month cannot be changed" msgstr "If TRUE, the selected month cannot be changed" -#: ../gtk/gtkcalendar.c:563 +#: ../gtk/gtkcalendar.c:567 msgid "Show Week Numbers" msgstr "Show Week Numbers" -#: ../gtk/gtkcalendar.c:564 +#: ../gtk/gtkcalendar.c:568 msgid "If TRUE, week numbers are displayed" msgstr "If TRUE, week numbers are displayed" -#: ../gtk/gtkcalendar.c:579 +#: ../gtk/gtkcalendar.c:583 msgid "Details Width" msgstr "Details Width" -#: ../gtk/gtkcalendar.c:580 +#: ../gtk/gtkcalendar.c:584 msgid "Details width in characters" msgstr "Details width in characters" -#: ../gtk/gtkcalendar.c:595 +#: ../gtk/gtkcalendar.c:599 msgid "Details Height" msgstr "Details Height" -#: ../gtk/gtkcalendar.c:596 +#: ../gtk/gtkcalendar.c:600 msgid "Details height in rows" msgstr "Details height in rows" -#: ../gtk/gtkcalendar.c:612 +#: ../gtk/gtkcalendar.c:616 msgid "Show Details" msgstr "Show Details" -#: ../gtk/gtkcalendar.c:613 +#: ../gtk/gtkcalendar.c:617 msgid "If TRUE, details are shown" msgstr "If TRUE, details are shown" -#: ../gtk/gtkcalendar.c:625 +#: ../gtk/gtkcalendar.c:629 msgid "Inner border" msgstr "Inner border" -#: ../gtk/gtkcalendar.c:626 +#: ../gtk/gtkcalendar.c:630 msgid "Inner border space" msgstr "Inner border space" -#: ../gtk/gtkcalendar.c:637 +#: ../gtk/gtkcalendar.c:641 msgid "Vertical separation" msgstr "Vertical separation" -#: ../gtk/gtkcalendar.c:638 +#: ../gtk/gtkcalendar.c:642 msgid "Space between day headers and main area" msgstr "Space between day headers and main area" -#: ../gtk/gtkcalendar.c:649 +#: ../gtk/gtkcalendar.c:653 msgid "Horizontal separation" msgstr "Horizontal separation" -#: ../gtk/gtkcalendar.c:650 +#: ../gtk/gtkcalendar.c:654 msgid "Space between week headers and main area" msgstr "Space between week headers and main area" @@ -5527,7 +5523,7 @@ msgstr "Whether the status icon is embedded" msgid "The orientation of the tray" msgstr "The orientation of the tray" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1020 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 msgid "Has tooltip" msgstr "Has tooltip" @@ -5535,15 +5531,15 @@ msgstr "Has tooltip" msgid "Whether this tray icon has a tooltip" msgstr "Whether this tray icon has a tooltip" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1041 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 msgid "Tooltip Text" msgstr "Tooltip Text" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1042 ../gtk/gtkwidget.c:1063 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 msgid "The contents of the tooltip for this widget" msgstr "The contents of the tooltip for this widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1062 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 msgid "Tooltip markup" msgstr "Tooltip markup" @@ -6693,27 +6689,27 @@ msgstr "Use symbolic icons" msgid "Whether to use symbolic icons" msgstr "Whether to use symbolic icons" -#: ../gtk/gtkwidget.c:879 +#: ../gtk/gtkwidget.c:893 msgid "Widget name" msgstr "Widget name" -#: ../gtk/gtkwidget.c:880 +#: ../gtk/gtkwidget.c:894 msgid "The name of the widget" msgstr "The name of the widget" -#: ../gtk/gtkwidget.c:886 +#: ../gtk/gtkwidget.c:900 msgid "Parent widget" msgstr "Parent widget" -#: ../gtk/gtkwidget.c:887 +#: ../gtk/gtkwidget.c:901 msgid "The parent widget of this widget. Must be a Container widget" msgstr "The parent widget of this widget. Must be a Container widget" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:908 msgid "Width request" msgstr "Width request" -#: ../gtk/gtkwidget.c:895 +#: ../gtk/gtkwidget.c:909 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6721,11 +6717,11 @@ msgstr "" "Override for width request of the widget, or -1 if natural request should be " "used" -#: ../gtk/gtkwidget.c:903 +#: ../gtk/gtkwidget.c:917 msgid "Height request" msgstr "Height request" -#: ../gtk/gtkwidget.c:904 +#: ../gtk/gtkwidget.c:918 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6733,83 +6729,83 @@ msgstr "" "Override for height request of the widget, or -1 if natural request should " "be used" -#: ../gtk/gtkwidget.c:913 +#: ../gtk/gtkwidget.c:927 msgid "Whether the widget is visible" msgstr "Whether the widget is visible" -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:934 msgid "Whether the widget responds to input" msgstr "Whether the widget responds to input" -#: ../gtk/gtkwidget.c:926 +#: ../gtk/gtkwidget.c:940 msgid "Application paintable" msgstr "Application paintable" -#: ../gtk/gtkwidget.c:927 +#: ../gtk/gtkwidget.c:941 msgid "Whether the application will paint directly on the widget" msgstr "Whether the application will paint directly on the widget" -#: ../gtk/gtkwidget.c:933 +#: ../gtk/gtkwidget.c:947 msgid "Can focus" msgstr "Can focus" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:948 msgid "Whether the widget can accept the input focus" msgstr "Whether the widget can accept the input focus" -#: ../gtk/gtkwidget.c:940 +#: ../gtk/gtkwidget.c:954 msgid "Has focus" msgstr "Has focus" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:955 msgid "Whether the widget has the input focus" msgstr "Whether the widget has the input focus" -#: ../gtk/gtkwidget.c:947 +#: ../gtk/gtkwidget.c:961 msgid "Is focus" msgstr "Is focus" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:962 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Whether the widget is the focus widget within the toplevel" -#: ../gtk/gtkwidget.c:954 +#: ../gtk/gtkwidget.c:968 msgid "Can default" msgstr "Can default" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:969 msgid "Whether the widget can be the default widget" msgstr "Whether the widget can be the default widget" -#: ../gtk/gtkwidget.c:961 +#: ../gtk/gtkwidget.c:975 msgid "Has default" msgstr "Has default" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:976 msgid "Whether the widget is the default widget" msgstr "Whether the widget is the default widget" -#: ../gtk/gtkwidget.c:968 +#: ../gtk/gtkwidget.c:982 msgid "Receives default" msgstr "Receives default" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:983 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "If TRUE, the widget will receive the default action when it is focused" -#: ../gtk/gtkwidget.c:975 +#: ../gtk/gtkwidget.c:989 msgid "Composite child" msgstr "Composite child" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:990 msgid "Whether the widget is part of a composite widget" msgstr "Whether the widget is part of a composite widget" -#: ../gtk/gtkwidget.c:982 +#: ../gtk/gtkwidget.c:996 msgid "Style" msgstr "Style" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:997 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -6817,175 +6813,175 @@ msgstr "" "The style of the widget, which contains information about how it will look " "(colors etc)" -#: ../gtk/gtkwidget.c:989 +#: ../gtk/gtkwidget.c:1003 msgid "Events" msgstr "Events" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:1004 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "The event mask that decides what kind of GdkEvents this widget gets" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:1011 msgid "No show all" msgstr "No show all" -#: ../gtk/gtkwidget.c:998 +#: ../gtk/gtkwidget.c:1012 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Whether gtk_widget_show_all() should not affect this widget" -#: ../gtk/gtkwidget.c:1021 +#: ../gtk/gtkwidget.c:1035 msgid "Whether this widget has a tooltip" msgstr "Whether this widget has a tooltip" -#: ../gtk/gtkwidget.c:1077 +#: ../gtk/gtkwidget.c:1091 msgid "Window" msgstr "Window" -#: ../gtk/gtkwidget.c:1078 +#: ../gtk/gtkwidget.c:1092 msgid "The widget's window if it is realized" msgstr "The widget's window if it is realized" -#: ../gtk/gtkwidget.c:1092 +#: ../gtk/gtkwidget.c:1106 msgid "Double Buffered" msgstr "Double Buffered" -#: ../gtk/gtkwidget.c:1093 +#: ../gtk/gtkwidget.c:1107 msgid "Whether the widget is double buffered" msgstr "Whether the widget is double buffered" -#: ../gtk/gtkwidget.c:1108 +#: ../gtk/gtkwidget.c:1122 msgid "How to position in extra horizontal space" msgstr "How to position in extra horizontal space" -#: ../gtk/gtkwidget.c:1124 +#: ../gtk/gtkwidget.c:1138 msgid "How to position in extra vertical space" msgstr "How to position in extra vertical space" -#: ../gtk/gtkwidget.c:1143 +#: ../gtk/gtkwidget.c:1157 msgid "Margin on Left" msgstr "Margin on Left" -#: ../gtk/gtkwidget.c:1144 +#: ../gtk/gtkwidget.c:1158 msgid "Pixels of extra space on the left side" msgstr "Pixels of extra space on the left side" -#: ../gtk/gtkwidget.c:1164 +#: ../gtk/gtkwidget.c:1178 msgid "Margin on Right" msgstr "Margin on Right" -#: ../gtk/gtkwidget.c:1165 +#: ../gtk/gtkwidget.c:1179 msgid "Pixels of extra space on the right side" msgstr "Pixels of extra space on the right side" -#: ../gtk/gtkwidget.c:1185 +#: ../gtk/gtkwidget.c:1199 msgid "Margin on Top" msgstr "Margin on Top" -#: ../gtk/gtkwidget.c:1186 +#: ../gtk/gtkwidget.c:1200 msgid "Pixels of extra space on the top side" msgstr "Pixels of extra space on the top side" -#: ../gtk/gtkwidget.c:1206 +#: ../gtk/gtkwidget.c:1220 msgid "Margin on Bottom" msgstr "Margin on Bottom" -#: ../gtk/gtkwidget.c:1207 +#: ../gtk/gtkwidget.c:1221 msgid "Pixels of extra space on the bottom side" msgstr "Pixels of extra space on the bottom side" -#: ../gtk/gtkwidget.c:1224 +#: ../gtk/gtkwidget.c:1238 msgid "All Margins" msgstr "All Margins" -#: ../gtk/gtkwidget.c:1225 +#: ../gtk/gtkwidget.c:1239 msgid "Pixels of extra space on all four sides" msgstr "Pixels of extra space on all four sides" -#: ../gtk/gtkwidget.c:1258 +#: ../gtk/gtkwidget.c:1272 msgid "Horizontal Expand" msgstr "Horizontal Expand" -#: ../gtk/gtkwidget.c:1259 +#: ../gtk/gtkwidget.c:1273 msgid "Whether widget wants more horizontal space" msgstr "Whether widget wants more horizontal space" -#: ../gtk/gtkwidget.c:1273 +#: ../gtk/gtkwidget.c:1287 msgid "Horizontal Expand Set" msgstr "Horizontal Expand Set" -#: ../gtk/gtkwidget.c:1274 +#: ../gtk/gtkwidget.c:1288 msgid "Whether to use the hexpand property" msgstr "Whether to use the hexpand property" -#: ../gtk/gtkwidget.c:1288 +#: ../gtk/gtkwidget.c:1302 msgid "Vertical Expand" msgstr "Vertical Expand" -#: ../gtk/gtkwidget.c:1289 +#: ../gtk/gtkwidget.c:1303 msgid "Whether widget wants more vertical space" msgstr "Whether widget wants more vertical space" -#: ../gtk/gtkwidget.c:1303 +#: ../gtk/gtkwidget.c:1317 msgid "Vertical Expand Set" msgstr "Vertical Expand Set" -#: ../gtk/gtkwidget.c:1304 +#: ../gtk/gtkwidget.c:1318 msgid "Whether to use the vexpand property" msgstr "Whether to use the vexpand property" -#: ../gtk/gtkwidget.c:1318 +#: ../gtk/gtkwidget.c:1332 msgid "Expand Both" msgstr "Expand Both" -#: ../gtk/gtkwidget.c:1319 +#: ../gtk/gtkwidget.c:1333 msgid "Whether widget wants to expand in both directions" msgstr "Whether widget wants to expand in both directions" -#: ../gtk/gtkwidget.c:2981 +#: ../gtk/gtkwidget.c:2991 msgid "Interior Focus" msgstr "Interior Focus" -#: ../gtk/gtkwidget.c:2982 +#: ../gtk/gtkwidget.c:2992 msgid "Whether to draw the focus indicator inside widgets" msgstr "Whether to draw the focus indicator inside widgets" -#: ../gtk/gtkwidget.c:2988 +#: ../gtk/gtkwidget.c:2998 msgid "Focus linewidth" msgstr "Focus linewidth" -#: ../gtk/gtkwidget.c:2989 +#: ../gtk/gtkwidget.c:2999 msgid "Width, in pixels, of the focus indicator line" msgstr "Width, in pixels, of the focus indicator line" -#: ../gtk/gtkwidget.c:2995 +#: ../gtk/gtkwidget.c:3005 msgid "Focus line dash pattern" msgstr "Focus line dash pattern" -#: ../gtk/gtkwidget.c:2996 +#: ../gtk/gtkwidget.c:3006 msgid "Dash pattern used to draw the focus indicator" msgstr "Dash pattern used to draw the focus indicator" -#: ../gtk/gtkwidget.c:3001 +#: ../gtk/gtkwidget.c:3011 msgid "Focus padding" msgstr "Focus padding" -#: ../gtk/gtkwidget.c:3002 +#: ../gtk/gtkwidget.c:3012 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Width, in pixels, between focus indicator and the widget 'box'" -#: ../gtk/gtkwidget.c:3007 +#: ../gtk/gtkwidget.c:3017 msgid "Cursor color" msgstr "Cursor color" -#: ../gtk/gtkwidget.c:3008 +#: ../gtk/gtkwidget.c:3018 msgid "Color with which to draw insertion cursor" msgstr "Color with which to draw insertion cursor" -#: ../gtk/gtkwidget.c:3013 +#: ../gtk/gtkwidget.c:3023 msgid "Secondary cursor color" msgstr "Secondary cursor color" -#: ../gtk/gtkwidget.c:3014 +#: ../gtk/gtkwidget.c:3024 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6993,43 +6989,43 @@ msgstr "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" -#: ../gtk/gtkwidget.c:3019 +#: ../gtk/gtkwidget.c:3029 msgid "Cursor line aspect ratio" msgstr "Cursor line aspect ratio" -#: ../gtk/gtkwidget.c:3020 +#: ../gtk/gtkwidget.c:3030 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Aspect ratio with which to draw insertion cursor" -#: ../gtk/gtkwidget.c:3026 +#: ../gtk/gtkwidget.c:3036 msgid "Window dragging" msgstr "Window dragging" -#: ../gtk/gtkwidget.c:3027 +#: ../gtk/gtkwidget.c:3037 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Whether windows can be dragged by clicking on empty areas" -#: ../gtk/gtkwidget.c:3040 +#: ../gtk/gtkwidget.c:3050 msgid "Unvisited Link Color" msgstr "Unvisited Link Color" -#: ../gtk/gtkwidget.c:3041 +#: ../gtk/gtkwidget.c:3051 msgid "Color of unvisited links" msgstr "Color of unvisited links" -#: ../gtk/gtkwidget.c:3054 +#: ../gtk/gtkwidget.c:3064 msgid "Visited Link Color" msgstr "Visited Link Color" -#: ../gtk/gtkwidget.c:3055 +#: ../gtk/gtkwidget.c:3065 msgid "Color of visited links" msgstr "Color of visited links" -#: ../gtk/gtkwidget.c:3069 +#: ../gtk/gtkwidget.c:3079 msgid "Wide Separators" msgstr "Wide Separators" -#: ../gtk/gtkwidget.c:3070 +#: ../gtk/gtkwidget.c:3080 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7037,35 +7033,35 @@ msgstr "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" -#: ../gtk/gtkwidget.c:3084 +#: ../gtk/gtkwidget.c:3094 msgid "Separator Width" msgstr "Separator Width" -#: ../gtk/gtkwidget.c:3085 +#: ../gtk/gtkwidget.c:3095 msgid "The width of separators if wide-separators is TRUE" msgstr "The width of separators if wide-separators is TRUE" -#: ../gtk/gtkwidget.c:3099 +#: ../gtk/gtkwidget.c:3109 msgid "Separator Height" msgstr "Separator Height" -#: ../gtk/gtkwidget.c:3100 +#: ../gtk/gtkwidget.c:3110 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "The height of separators if \"wide-separators\" is TRUE" -#: ../gtk/gtkwidget.c:3114 +#: ../gtk/gtkwidget.c:3124 msgid "Horizontal Scroll Arrow Length" msgstr "Horizontal Scroll Arrow Length" -#: ../gtk/gtkwidget.c:3115 +#: ../gtk/gtkwidget.c:3125 msgid "The length of horizontal scroll arrows" msgstr "The length of horizontal scroll arrows" -#: ../gtk/gtkwidget.c:3129 +#: ../gtk/gtkwidget.c:3139 msgid "Vertical Scroll Arrow Length" msgstr "Vertical Scroll Arrow Length" -#: ../gtk/gtkwidget.c:3130 +#: ../gtk/gtkwidget.c:3140 msgid "The length of vertical scroll arrows" msgstr "The length of vertical scroll arrows" @@ -7308,6 +7304,13 @@ msgstr "GtkApplication" msgid "The GtkApplication for the window" msgstr "The GtkApplication for the window" +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" + #~ msgid "Extension events" #~ msgstr "Extension events" From 939f68a35e153a3c8395099f4ee097a097d18f09 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Sun, 19 Dec 2010 21:51:53 +0100 Subject: [PATCH 0607/1463] Added out annotations for gtk_accelerator_parse https://bugzilla.gnome.org/show_bug.cgi?id=637606 --- gtk/gtkaccelgroup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index 39c63989e9..38296b31b2 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -1139,8 +1139,8 @@ is_hyper (const gchar *string) /** * gtk_accelerator_parse: * @accelerator: string representing an accelerator - * @accelerator_key: return location for accelerator keyval - * @accelerator_mods: return location for accelerator modifier mask + * @accelerator_key: (out): return location for accelerator keyval + * @accelerator_mods: (out): return location for accelerator modifier mask * * Parses a string representing an accelerator. The * format looks like "<Control>a" or "<Shift><Alt>F1" or From e36ba3465bffac2b946e3a86e85541a2d061313f Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Sun, 19 Dec 2010 21:52:51 +0100 Subject: [PATCH 0608/1463] Added out annotations for gtk_icon_size_lookup/_for_settings https://bugzilla.gnome.org/show_bug.cgi?id=637606 --- gtk/gtkiconfactory.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c index c39574c23d..fda6177f82 100644 --- a/gtk/gtkiconfactory.c +++ b/gtk/gtkiconfactory.c @@ -865,8 +865,8 @@ icon_size_lookup_intern (GtkSettings *settings, * @settings: a #GtkSettings object, used to determine * which set of user preferences to used. * @size: (type int): an icon size - * @width: location to store icon width - * @height: location to store icon height + * @width: (out): location to store icon width + * @height: (out): location to store icon height * * Obtains the pixel size of a semantic icon size, possibly * modified by user preferences for a particular @@ -897,8 +897,8 @@ gtk_icon_size_lookup_for_settings (GtkSettings *settings, /** * gtk_icon_size_lookup: * @size: (type int): an icon size - * @width: location to store icon width - * @height: location to store icon height + * @width: (out): location to store icon width + * @height: (out): location to store icon height * * Obtains the pixel size of a semantic icon size, possibly * modified by user preferences for the default #GtkSettings. From ac0353e08af41273b0fd81c8fe9ddc20fa9f0097 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 21 Dec 2010 14:42:06 +0100 Subject: [PATCH 0609/1463] Make gtk_style_context_get_* functions more robust Even if the default CSS contains values for these, handle non-existing values as queries might happen on an incomplete style. --- gtk/gtkstylecontext.c | 74 +++++++++++++++++++++++++++++++++++-------- 1 file changed, 61 insertions(+), 13 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 8217b37d73..e42ebf8aac 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -499,6 +499,8 @@ enum { static guint signals[LAST_SIGNAL] = { 0 }; static GQuark provider_list_quark = 0; +static GdkRGBA fallback_color = { 1.0, 0.75, 0.75, 1.0 }; +static GtkBorder fallback_border = { 0 }; static void gtk_style_context_finalize (GObject *object); @@ -3192,6 +3194,9 @@ gtk_style_context_get_color (GtkStyleContext *context, const GValue *value; GdkRGBA *c; + g_return_if_fail (color != NULL); + *color = fallback_color; + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); priv = context->priv; @@ -3200,8 +3205,12 @@ gtk_style_context_get_color (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "color", state); - c = g_value_get_boxed (value); - *color = *c; + + if (value) + { + c = g_value_get_boxed (value); + *color = *c; + } } /** @@ -3224,6 +3233,9 @@ gtk_style_context_get_background_color (GtkStyleContext *context, const GValue *value; GdkRGBA *c; + g_return_if_fail (color != NULL); + *color = fallback_color; + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); priv = context->priv; @@ -3232,8 +3244,12 @@ gtk_style_context_get_background_color (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "background-color", state); - c = g_value_get_boxed (value); - *color = *c; + + if (value) + { + c = g_value_get_boxed (value); + *color = *c; + } } /** @@ -3256,6 +3272,9 @@ gtk_style_context_get_border_color (GtkStyleContext *context, const GValue *value; GdkRGBA *c; + g_return_if_fail (color != NULL); + *color = fallback_color; + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); priv = context->priv; @@ -3264,8 +3283,12 @@ gtk_style_context_get_border_color (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "border-color", state); - c = g_value_get_boxed (value); - *color = *c; + + if (value) + { + c = g_value_get_boxed (value); + *color = *c; + } } /** @@ -3288,6 +3311,9 @@ gtk_style_context_get_border (GtkStyleContext *context, const GValue *value; GtkBorder *b; + g_return_if_fail (border != NULL); + *border = fallback_border; + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); priv = context->priv; @@ -3296,8 +3322,12 @@ gtk_style_context_get_border (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "border-width", state); - b = g_value_get_boxed (value); - *border = *b; + + if (value) + { + b = g_value_get_boxed (value); + *border = *b; + } } /** @@ -3320,6 +3350,9 @@ gtk_style_context_get_padding (GtkStyleContext *context, const GValue *value; GtkBorder *b; + g_return_if_fail (padding != NULL); + *padding = fallback_border; + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); priv = context->priv; @@ -3328,8 +3361,12 @@ gtk_style_context_get_padding (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "padding", state); - b = g_value_get_boxed (value); - *padding = *b; + + if (value) + { + b = g_value_get_boxed (value); + *padding = *b; + } } /** @@ -3352,6 +3389,9 @@ gtk_style_context_get_margin (GtkStyleContext *context, const GValue *value; GtkBorder *b; + g_return_if_fail (margin != NULL); + *margin = fallback_border; + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); priv = context->priv; @@ -3360,8 +3400,12 @@ gtk_style_context_get_margin (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "margin", state); - b = g_value_get_boxed (value); - *margin = *b; + + if (value) + { + b = g_value_get_boxed (value); + *margin = *b; + } } /** @@ -3393,7 +3437,11 @@ gtk_style_context_get_font (GtkStyleContext *context, data = style_data_lookup (context); value = _gtk_style_properties_peek_property (data->store, "font", state); - return g_value_get_boxed (value); + + if (value) + return g_value_get_boxed (value); + + return NULL; } /* Paint methods */ From 13f18567e98e3c26e125ee458ca318fef6acb281 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Tue, 21 Dec 2010 15:16:35 +0100 Subject: [PATCH 0610/1463] gdk: return 0, not NULL from gdk_device_get_n_axes() --- gdk/gdkdevice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 8e6feec025..f7269f3dba 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -972,7 +972,7 @@ gint gdk_device_get_n_axes (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), 0); - g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, 0); return device->priv->axes->len; } From c8ae68c33dc65dc4407863553d059caa1d41e464 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 20 Dec 2010 19:37:30 +0900 Subject: [PATCH 0611/1463] Fixed gtk_cell_layout_set_cell_data_func() to pass the correct layout object Added _gtk_cell_area_set_cell_data_func_with_proxy() to be called by gtk_cell_layout_set_cell_data_func() when the layouting object itself is not the underlying cell area. --- gtk/gtkcellarea.c | 86 +++++++++++++++++++++++++++++---------------- gtk/gtkcellarea.h | 13 +++++++ gtk/gtkcelllayout.c | 11 +++++- 3 files changed, 78 insertions(+), 32 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 40a5c9eaa3..9e770d69c7 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -497,6 +497,7 @@ typedef struct { GtkCellLayoutDataFunc func; gpointer data; GDestroyNotify destroy; + GtkCellLayout *proxy; } CellInfo; static CellInfo *cell_info_new (GtkCellLayoutDataFunc func, @@ -1208,8 +1209,8 @@ apply_cell_attributes (GtkCellRenderer *renderer, /* Call any GtkCellLayoutDataFunc that may have been set by the user */ if (info->func) - info->func (GTK_CELL_LAYOUT (data->area), renderer, - data->model, data->iter, info->data); + info->func (info->proxy ? info->proxy : GTK_CELL_LAYOUT (data->area), renderer, + data->model, data->iter, info->data); g_object_thaw_notify (G_OBJECT (renderer)); } @@ -1419,36 +1420,9 @@ gtk_cell_area_set_cell_data_func (GtkCellLayout *cell_layout, gpointer func_data, GDestroyNotify destroy) { - GtkCellArea *area = GTK_CELL_AREA (cell_layout); - GtkCellAreaPrivate *priv = area->priv; - CellInfo *info; + GtkCellArea *area = GTK_CELL_AREA (cell_layout); - info = g_hash_table_lookup (priv->cell_info, renderer); - - if (info) - { - if (info->destroy && info->data) - info->destroy (info->data); - - if (func) - { - info->func = func; - info->data = func_data; - info->destroy = destroy; - } - else - { - info->func = NULL; - info->data = NULL; - info->destroy = NULL; - } - } - else - { - info = cell_info_new (func, func_data, destroy); - - g_hash_table_insert (priv->cell_info, renderer, info); - } + _gtk_cell_area_set_cell_data_func_with_proxy (area, renderer, (GFunc)func, func_data, destroy, NULL); } static void @@ -3636,3 +3610,53 @@ gtk_cell_area_request_renderer (GtkCellArea *area, *minimum_size += focus_line_width; *natural_size += focus_line_width; } + +void +_gtk_cell_area_set_cell_data_func_with_proxy (GtkCellArea *area, + GtkCellRenderer *cell, + GFunc func, + gpointer func_data, + GDestroyNotify destroy, + gpointer proxy) +{ + GtkCellAreaPrivate *priv; + CellInfo *info; + + g_return_if_fail (GTK_IS_CELL_AREA (area)); + g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); + + priv = area->priv; + + info = g_hash_table_lookup (priv->cell_info, cell); + + /* Note we do not take a reference to the proxy, the proxy is a GtkCellLayout + * that is forwarding it's implementation to a delegate GtkCellArea therefore + * it's life-cycle is longer than the area's life cycle. + */ + if (info) + { + if (info->destroy && info->data) + info->destroy (info->data); + + if (func) + { + info->func = (GtkCellLayoutDataFunc)func; + info->data = func_data; + info->destroy = destroy; + info->proxy = proxy; + } + else + { + info->func = NULL; + info->data = NULL; + info->destroy = NULL; + info->proxy = NULL; + } + } + else + { + info = cell_info_new ((GtkCellLayoutDataFunc)func, func_data, destroy); + + g_hash_table_insert (priv->cell_info, cell, info); + } +} diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index d8d06cfecc..78d5e95450 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -470,6 +470,19 @@ void gtk_cell_area_request_renderer (GtkCellArea gint *minimum_size, gint *natural_size); +/* For api stability, this is called from gtkcelllayout.c in order to ensure the correct + * object is passed to the user function in gtk_cell_layout_set_cell_data_func. + * + * This private api takes gpointer & GFunc arguments to circumvent circular header file + * dependancies. + */ +void _gtk_cell_area_set_cell_data_func_with_proxy (GtkCellArea *area, + GtkCellRenderer *cell, + GFunc func, + gpointer func_data, + GDestroyNotify destroy, + gpointer proxy); + G_END_DECLS #endif /* __GTK_CELL_AREA_H__ */ diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index c54a8753b5..5a0ae592f5 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -357,7 +357,16 @@ gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, area = iface->get_area (cell_layout); if (area) - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (area), cell, func, func_data, destroy); + { + /* Ensure that the correct proxy object is sent to 'func' */ + if (GTK_CELL_LAYOUT (area) != cell_layout) + _gtk_cell_area_set_cell_data_func_with_proxy (area, cell, + (GFunc)func, func_data, destroy, + cell_layout); + else + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (area), cell, + func, func_data, destroy); + } } } From 49273f227770052f99dcb4be6fbe8224712d0944 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 21 Dec 2010 21:11:01 +0900 Subject: [PATCH 0612/1463] Added "fixed-size" cell property to GtkCellAreaBox Now a cell can either have a "fixed" size or it can have an "aligned" starting point or both. "fixed" size cells take no space when they are invisible. --- gtk/gtkcellareabox.c | 204 ++++++++++++++++--- gtk/gtkcellareabox.h | 9 +- gtk/gtkcellareaboxcontext.c | 385 ++++++++++++++++++------------------ gtk/gtkcellareaboxcontext.h | 3 +- tests/testcellarea.c | 12 +- tests/testtreeedit.c | 75 +++++-- 6 files changed, 442 insertions(+), 246 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 97cfc2215f..f81d1c2d9c 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -83,6 +83,11 @@ static void gtk_cell_area_box_foreach_alloc (GtkCellArea const GdkRectangle *background_area, GtkCellAllocCallback callback, gpointer callback_data); +static void gtk_cell_area_box_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded); static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, GtkCellRenderer *renderer, guint prop_id, @@ -145,6 +150,7 @@ typedef struct { guint expand : 1; /* Whether the cell expands */ guint pack : 1; /* Whether it is packed from the start or end */ guint align : 1; /* Whether to align its position with adjacent rows */ + guint fixed : 1; /* Whether to require the same size for all rows */ } CellInfo; typedef struct { @@ -153,6 +159,8 @@ typedef struct { guint id : 8; guint n_cells : 8; guint expand_cells : 8; + guint align : 1; + guint visible : 1; } CellGroup; typedef struct { @@ -165,7 +173,8 @@ typedef struct { static CellInfo *cell_info_new (GtkCellRenderer *renderer, GtkPackType pack, gboolean expand, - gboolean align); + gboolean align, + gboolean fixed); static void cell_info_free (CellInfo *info); static gint cell_info_find (CellInfo *info, GtkCellRenderer *renderer); @@ -223,6 +232,7 @@ enum { CELL_PROP_0, CELL_PROP_EXPAND, CELL_PROP_ALIGN, + CELL_PROP_FIXED_SIZE, CELL_PROP_PACK_TYPE }; @@ -277,6 +287,7 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) area_class->remove = gtk_cell_area_box_remove; area_class->foreach = gtk_cell_area_box_foreach; area_class->foreach_alloc = gtk_cell_area_box_foreach_alloc; + area_class->apply_attributes = gtk_cell_area_box_apply_attributes; area_class->set_cell_property = gtk_cell_area_box_set_cell_property; area_class->get_cell_property = gtk_cell_area_box_get_cell_property; @@ -341,6 +352,23 @@ gtk_cell_area_box_class_init (GtkCellAreaBoxClass *class) ("align", P_("Align"), P_("Whether cell should align with adjacent rows"), + FALSE, + GTK_PARAM_READWRITE)); + + /** + * GtkCellAreaBox:fixed-size: + * + * Whether the cell renderer should require the same size + * for all rows for which it was requested. + * + * Since: 3.0 + */ + gtk_cell_area_class_install_cell_property (area_class, + CELL_PROP_FIXED_SIZE, + g_param_spec_boolean + ("fixed-size", + P_("Fixed Size"), + P_("Whether cells should be the same size in all rows"), TRUE, GTK_PARAM_READWRITE)); @@ -373,7 +401,8 @@ static CellInfo * cell_info_new (GtkCellRenderer *renderer, GtkPackType pack, gboolean expand, - gboolean align) + gboolean align, + gboolean fixed) { CellInfo *info = g_slice_new (CellInfo); @@ -381,6 +410,7 @@ cell_info_new (GtkCellRenderer *renderer, info->pack = pack; info->expand = expand; info->align = align; + info->fixed = fixed; return info; } @@ -476,6 +506,7 @@ cell_groups_rebuild (GtkCellAreaBox *box) CellGroup *group_ptr; GList *cells, *l; guint id = 0; + gboolean last_cell_fixed = FALSE; cell_groups_clear (box); @@ -492,8 +523,10 @@ cell_groups_rebuild (GtkCellAreaBox *box) { CellInfo *info = l->data; - /* A new group starts with any aligned cell, the first group is implied */ - if (info->align && l != cells) + /* A new group starts with any aligned cell, or + * at the beginning and end of a fixed size cell. + * the first group is implied */ + if ((info->align || info->fixed || last_cell_fixed) && l != cells) { memset (&group, 0x0, sizeof (CellGroup)); group.id = ++id; @@ -505,9 +538,16 @@ cell_groups_rebuild (GtkCellAreaBox *box) group_ptr->cells = g_list_prepend (group_ptr->cells, info); group_ptr->n_cells++; + /* Not every group is aligned, some are floating + * fixed size cells */ + if (info->align) + group_ptr->align = TRUE; + /* A group expands if it contains any expand cells */ if (info->expand) group_ptr->expand_cells++; + + last_cell_fixed = info->fixed; } g_list_free (cells); @@ -582,20 +622,23 @@ init_context_group (GtkCellAreaBox *box, GtkCellAreaBoxContext *context) { GtkCellAreaBoxPrivate *priv = box->priv; - gint *expand_groups, i; + gint *expand_groups, *align_groups, i; expand_groups = g_new (gboolean, priv->groups->len); + align_groups = g_new (gboolean, priv->groups->len); for (i = 0; i < priv->groups->len; i++) { CellGroup *group = &g_array_index (priv->groups, CellGroup, i); expand_groups[i] = (group->expand_cells > 0); + align_groups[i] = group->align; } /* This call implies reseting the request info */ - gtk_cell_area_box_init_groups (context, priv->groups->len, expand_groups); + gtk_cell_area_box_init_groups (context, priv->groups->len, expand_groups, align_groups); g_free (expand_groups); + g_free (align_groups); } static void @@ -782,7 +825,7 @@ get_allocated_cells (GtkCellAreaBox *box, GtkCellAreaBoxPrivate *priv = box->priv; GList *cell_list; GSList *allocated_cells = NULL; - gint i, j, n_allocs; + gint i, j, n_allocs, position; gint for_size, full_size; gboolean rtl; @@ -807,7 +850,7 @@ get_allocated_cells (GtkCellAreaBox *box, rtl = (priv->orientation == GTK_ORIENTATION_HORIZONTAL && gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); - for (i = 0; i < n_allocs; i++) + for (position = 0, i = 0; i < n_allocs; i++) { /* We dont always allocate all groups, sometimes the requested * group has only invisible cells for every row, hence the usage @@ -820,20 +863,43 @@ get_allocated_cells (GtkCellAreaBox *box, { CellInfo *info = group->cells->data; AllocatedCell *cell; + gint cell_position, cell_size; + + /* If were not aligned, place the cell after the last cell */ + if (info->align) + position = cell_position = group_allocs[i].position; + else + cell_position = position; + + /* If not a fixed size, use only the requested size for this row */ + if (info->fixed) + cell_size = group_allocs[i].size; + else + { + gint dummy; + gtk_cell_area_request_renderer (area, info->renderer, + priv->orientation, + widget, for_size, + &dummy, + &cell_size); + cell_size = MIN (cell_size, group_allocs[i].size); + } if (rtl) cell = allocated_cell_new (info->renderer, - full_size - (group_allocs[i].position + group_allocs[i].size), - group_allocs[i].size); + full_size - (cell_position + cell_size), cell_size); else - cell = allocated_cell_new (info->renderer, group_allocs[i].position, group_allocs[i].size); + cell = allocated_cell_new (info->renderer, cell_position, cell_size); + + position += cell_size; + position += priv->spacing; allocated_cells = g_slist_prepend (allocated_cells, cell); } else { GtkRequestedSize *sizes; - gint avail_size, position; + gint avail_size, cell_position; gint visible_cells, expand_cells; gint extra_size, extra_extra; @@ -845,11 +911,19 @@ get_allocated_cells (GtkCellAreaBox *box, if (visible_cells == 0) continue; - /* Offset the allocation to the group position - * and allocate into the group's available size - */ - position = group_allocs[i].position; - avail_size = group_allocs[i].size; + /* If were not aligned, place the cell after the last cell + * and eat up the extra space + */ + if (group->align) + { + avail_size = group_allocs[i].size; + position = cell_position = group_allocs[i].position; + } + else + { + avail_size = group_allocs[i].size + (group_allocs[i].position - position); + cell_position = position; + } sizes = g_new (GtkRequestedSize, visible_cells); @@ -906,21 +980,25 @@ get_allocated_cells (GtkCellAreaBox *box, if (rtl) cell = allocated_cell_new (info->renderer, - full_size - (position + sizes[j].minimum_size), + full_size - (cell_position + sizes[j].minimum_size), sizes[j].minimum_size); else - cell = allocated_cell_new (info->renderer, position, sizes[j].minimum_size); + cell = allocated_cell_new (info->renderer, cell_position, sizes[j].minimum_size); allocated_cells = g_slist_prepend (allocated_cells, cell); - position += sizes[j].minimum_size; - position += priv->spacing; + cell_position += sizes[j].minimum_size; + cell_position += priv->spacing; } g_free (sizes); + + position = cell_position; } } + g_free (group_allocs); + /* Note it might not be important to reverse the list here at all, * we have the correct positions, no need to allocate from left to right */ @@ -1022,7 +1100,7 @@ gtk_cell_area_box_add (GtkCellArea *area, GtkCellRenderer *renderer) { gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), - renderer, FALSE, TRUE); + renderer, FALSE, FALSE, TRUE); } static void @@ -1221,6 +1299,40 @@ gtk_cell_area_box_foreach_alloc (GtkCellArea *area, g_slist_free (allocated_cells); } +static void +gtk_cell_area_box_apply_attributes (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded) +{ + GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); + GtkCellAreaBoxPrivate *priv = box->priv; + gint i; + + /* Call the parent class to apply the attributes */ + GTK_CELL_AREA_CLASS + (gtk_cell_area_box_parent_class)->apply_attributes (area, tree_model, iter, + is_expander, is_expanded); + + /* Update visible state for cell groups */ + for (i = 0; i < priv->groups->len; i++) + { + CellGroup *group = &g_array_index (priv->groups, CellGroup, i); + GList *list; + + group->visible = FALSE; + + for (list = group->cells; list && group->visible == FALSE; list = list->next) + { + CellInfo *info = list->data; + + if (gtk_cell_renderer_get_visible (info->renderer)) + group->visible = TRUE; + } + } +} + static void gtk_cell_area_box_set_cell_property (GtkCellArea *area, GtkCellRenderer *renderer, @@ -1265,6 +1377,16 @@ gtk_cell_area_box_set_cell_property (GtkCellArea *area, } break; + case CELL_PROP_FIXED_SIZE: + val = g_value_get_boolean (value); + + if (info->fixed != val) + { + info->fixed = val; + rebuild = TRUE; + } + break; + case CELL_PROP_PACK_TYPE: pack_type = g_value_get_enum (value); @@ -1313,6 +1435,10 @@ gtk_cell_area_box_get_cell_property (GtkCellArea *area, g_value_set_boolean (value, info->align); break; + case CELL_PROP_FIXED_SIZE: + g_value_set_boolean (value, info->fixed); + break; + case CELL_PROP_PACK_TYPE: g_value_set_enum (value, info->pack); break; @@ -1935,7 +2061,7 @@ gtk_cell_area_box_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, gboolean expand) { - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, FALSE, TRUE); } static void @@ -1943,7 +2069,7 @@ gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *renderer, gboolean expand) { - gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, TRUE); + gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand, FALSE, TRUE); } static void @@ -1970,6 +2096,24 @@ gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout, } } +/************************************************************* + * Private interaction with GtkCellAreaBoxContext * + *************************************************************/ +gboolean +_gtk_cell_area_box_group_visible (GtkCellAreaBox *box, + gint group_idx) +{ + GtkCellAreaBoxPrivate *priv = box->priv; + CellGroup *group; + + g_assert (group_idx >= 0 && group_idx < priv->groups->len); + + group = &g_array_index (priv->groups, CellGroup, group_idx); + + return group->visible; +} + + /************************************************************* * API * *************************************************************/ @@ -1995,6 +2139,7 @@ gtk_cell_area_box_new (void) * @expand: whether @renderer should receive extra space when the area receives * more than its natural size * @align: whether @renderer should be aligned in adjacent rows + * @fixed: whether @renderer should have the same size in all rows * * Adds @renderer to @box, packed with reference to the start of @box. * @@ -2007,7 +2152,8 @@ void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, - gboolean align) + gboolean align, + gboolean fixed) { GtkCellAreaBoxPrivate *priv; CellInfo *info; @@ -2024,7 +2170,7 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, return; } - info = cell_info_new (renderer, GTK_PACK_START, expand, align); + info = cell_info_new (renderer, GTK_PACK_START, expand, align, fixed); priv->cells = g_list_append (priv->cells, info); @@ -2038,6 +2184,7 @@ gtk_cell_area_box_pack_start (GtkCellAreaBox *box, * @expand: whether @renderer should receive extra space when the area receives * more than its natural size * @align: whether @renderer should be aligned in adjacent rows + * @fixed: whether @renderer should have the same size in all rows * * Adds @renderer to @box, packed with reference to the end of @box. * @@ -2050,7 +2197,8 @@ void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, - gboolean align) + gboolean align, + gboolean fixed) { GtkCellAreaBoxPrivate *priv; CellInfo *info; @@ -2067,7 +2215,7 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox *box, return; } - info = cell_info_new (renderer, GTK_PACK_END, expand, align); + info = cell_info_new (renderer, GTK_PACK_END, expand, align, fixed); priv->cells = g_list_append (priv->cells, info); diff --git a/gtk/gtkcellareabox.h b/gtk/gtkcellareabox.h index 632ea93bec..cfe00e831e 100644 --- a/gtk/gtkcellareabox.h +++ b/gtk/gtkcellareabox.h @@ -69,15 +69,20 @@ GtkCellArea *gtk_cell_area_box_new (void); void gtk_cell_area_box_pack_start (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, - gboolean align); + gboolean align, + gboolean fixed); void gtk_cell_area_box_pack_end (GtkCellAreaBox *box, GtkCellRenderer *renderer, gboolean expand, - gboolean align); + gboolean align, + gboolean fixed); gint gtk_cell_area_box_get_spacing (GtkCellAreaBox *box); void gtk_cell_area_box_set_spacing (GtkCellAreaBox *box, gint spacing); +/* Private interaction with GtkCellAreaBoxContext */ +gboolean _gtk_cell_area_box_group_visible (GtkCellAreaBox *box, + gint group_idx); G_END_DECLS diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index b68002d9c5..c5e02bda9e 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -32,9 +32,6 @@ static void gtk_cell_area_box_context_finalize (GObject /* GtkCellAreaContextClass */ static void gtk_cell_area_box_context_reset (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, - gint width, - gint height); static void gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, gint width, gint *minimum_height, @@ -81,11 +78,8 @@ struct _GtkCellAreaBoxContextPrivate /* Whether each group expands */ gboolean *expand; - /* Allocation info for this context if any */ - gint alloc_width; - gint alloc_height; - gint n_orientation_allocs; - GtkCellAreaBoxAllocation *orientation_allocs; + /* Whether each group is aligned */ + gboolean *align; }; G_DEFINE_TYPE (GtkCellAreaBoxContext, gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT); @@ -187,11 +181,6 @@ gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) NULL, (GDestroyNotify)free_cache_array); priv->heights = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify)free_cache_array); - - priv->alloc_width = 0; - priv->alloc_height = 0; - priv->orientation_allocs = NULL; - priv->n_orientation_allocs = 0; } static void @@ -204,7 +193,6 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) object_class->finalize = gtk_cell_area_box_context_finalize; context_class->reset = gtk_cell_area_box_context_reset; - context_class->allocate = gtk_cell_area_box_context_allocate; context_class->get_preferred_height_for_width = gtk_cell_area_box_context_get_preferred_height_for_width; context_class->get_preferred_width_for_height = gtk_cell_area_box_context_get_preferred_width_for_height; @@ -225,8 +213,8 @@ gtk_cell_area_box_context_finalize (GObject *object) g_hash_table_destroy (priv->widths); g_hash_table_destroy (priv->heights); - g_free (priv->orientation_allocs); g_free (priv->expand); + g_free (priv->align); G_OBJECT_CLASS (gtk_cell_area_box_context_parent_class)->finalize (object); } @@ -259,162 +247,10 @@ gtk_cell_area_box_context_reset (GtkCellAreaContext *context) g_hash_table_remove_all (priv->widths); g_hash_table_remove_all (priv->heights); - /* Clear the allocation */ - g_free (priv->orientation_allocs); - priv->orientation_allocs = NULL; - priv->n_orientation_allocs = 0; - GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->reset (context); } -static GtkRequestedSize * -gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, - GtkOrientation orientation, - gint for_size, - gint *n_requests) -{ - GtkCellAreaBoxContextPrivate *priv; - GtkRequestedSize *requests; - GArray *array; - CachedSize *size; - gint visible_groups = 0; - gint i, j; - - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (box_context), NULL); - - priv = box_context->priv; - array = get_array (box_context, orientation, for_size); - - for (i = 0; i < array->len; i++) - { - size = &g_array_index (array, CachedSize, i); - - if (size->nat_size > 0) - visible_groups++; - } - - requests = g_new (GtkRequestedSize, visible_groups); - - for (j = 0, i = 0; i < array->len; i++) - { - size = &g_array_index (array, CachedSize, i); - - if (size->nat_size > 0) - { - requests[j].data = GINT_TO_POINTER (i); - requests[j].minimum_size = size->min_size; - requests[j].natural_size = size->nat_size; - j++; - } - } - - if (n_requests) - *n_requests = visible_groups; - - return requests; -} - -static GtkCellAreaBoxAllocation * -allocate_for_orientation (GtkCellAreaBoxContext *context, - GtkOrientation orientation, - gint spacing, - gint size, - gint for_size, - gint *n_allocs) -{ - GtkCellAreaBoxAllocation *allocs; - GtkRequestedSize *sizes; - GArray *array; - gint n_expand_groups = 0; - gint i, n_groups, position; - gint extra_size, extra_extra; - gint avail_size = size; - - sizes = gtk_cell_area_box_context_get_requests (context, orientation, for_size, &n_groups); - array = get_array (context, orientation, for_size); - n_expand_groups = count_expand_groups (context); - - /* First start by naturally allocating space among groups */ - avail_size -= (n_groups - 1) * spacing; - for (i = 0; i < n_groups; i++) - avail_size -= sizes[i].minimum_size; - - if (avail_size > 0) - avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, sizes); - else - avail_size = 0; - - /* Calculate/distribute expand for groups */ - if (n_expand_groups > 0) - { - extra_size = avail_size / n_expand_groups; - extra_extra = avail_size % n_expand_groups; - } - else - extra_size = extra_extra = 0; - - allocs = g_new (GtkCellAreaBoxAllocation, n_groups); - - for (position = 0, i = 0; i < n_groups; i++) - { - allocs[i].group_idx = GPOINTER_TO_INT (sizes[i].data); - allocs[i].position = position; - allocs[i].size = sizes[i].minimum_size; - - if (group_expands (context, allocs[i].group_idx)) - { - allocs[i].size += extra_size; - if (extra_extra) - { - allocs[i].size++; - extra_extra--; - } - } - - position += allocs[i].size; - position += spacing; - } - - if (n_allocs) - *n_allocs = n_groups; - - g_free (sizes); - - return allocs; -} - -static void -gtk_cell_area_box_context_allocate (GtkCellAreaContext *context, - gint width, - gint height) -{ - GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); - GtkCellAreaBoxContextPrivate *priv = box_context->priv; - GtkCellArea *area; - GtkOrientation orientation; - gint spacing; - - area = gtk_cell_area_context_get_area (context); - orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); - - g_free (priv->orientation_allocs); - priv->orientation_allocs = NULL; - priv->n_orientation_allocs = 0; - - if (orientation == GTK_ORIENTATION_HORIZONTAL && width > 0) - priv->orientation_allocs = allocate_for_orientation (box_context, orientation, - spacing, width, height, - &priv->n_orientation_allocs); - else if (orientation == GTK_ORIENTATION_VERTICAL && height > 0) - priv->orientation_allocs = allocate_for_orientation (box_context, orientation, - spacing, height, width, - &priv->n_orientation_allocs); - - GTK_CELL_AREA_CONTEXT_CLASS (gtk_cell_area_box_context_parent_class)->allocate (context, width, height); -} - static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, GtkOrientation orientation, @@ -422,23 +258,38 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, gint *minimum_size, gint *natural_size) { - GtkCellArea *area; + GtkCellAreaBoxContextPrivate *priv = context->priv; + GtkCellAreaBox *area; GtkOrientation box_orientation; GArray *array; - gint spacing, i; + gint spacing, i, last_aligned_group_idx; gint min_size = 0, nat_size = 0; - area = gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); - spacing = gtk_cell_area_box_get_spacing (GTK_CELL_AREA_BOX (area)); + area = (GtkCellAreaBox *)gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (context)); + spacing = gtk_cell_area_box_get_spacing (area); box_orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); array = get_array (context, orientation, for_size); + /* Get the last visible aligned group + * (we need to get space at least up till this group) */ + for (i = array->len - 1; i >= 0; i--) + { + if (priv->align[i] && + _gtk_cell_area_box_group_visible (area, i)) + break; + } + last_aligned_group_idx = i >= 0 ? i : 0; + for (i = 0; i < array->len; i++) { CachedSize *size = &g_array_index (array, CachedSize, i); if (box_orientation == orientation) { + if (i > last_aligned_group_idx && + !_gtk_cell_area_box_group_visible (area, i)) + continue; + /* Dont add spacing for 0 size groups, they can be 0 size because * they contain only invisible cells for this round of requests */ @@ -536,7 +387,8 @@ gtk_cell_area_box_context_copy (GtkCellAreaBox *box, gtk_cell_area_box_init_groups (copy, context->priv->base_widths->len, - context->priv->expand); + context->priv->expand, + context->priv->align); /* Copy the base arrays */ copy_size_array (context->priv->base_widths, @@ -550,14 +402,6 @@ gtk_cell_area_box_context_copy (GtkCellAreaBox *box, g_hash_table_foreach (context->priv->widths, (GHFunc)for_size_copy, copy->priv->widths); - /* Copy any active allocation */ - copy->priv->n_orientation_allocs = - context->priv->n_orientation_allocs; - - if (copy->priv->n_orientation_allocs) - copy->priv->orientation_allocs = - g_memdup (context->priv->orientation_allocs, - copy->priv->n_orientation_allocs * sizeof (GtkCellAreaBoxAllocation)); return copy; } @@ -565,7 +409,8 @@ gtk_cell_area_box_context_copy (GtkCellAreaBox *box, void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, guint n_groups, - gboolean *expand_groups) + gboolean *expand_groups, + gboolean *align_groups) { GtkCellAreaBoxContextPrivate *priv; @@ -583,6 +428,9 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, g_free (priv->expand); priv->expand = g_memdup (expand_groups, n_groups * sizeof (gboolean)); + + g_free (priv->align); + priv->align = g_memdup (align_groups, n_groups * sizeof (gboolean)); } void @@ -823,31 +671,192 @@ gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box } } +static GtkRequestedSize * +gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, + GtkCellAreaBox *area, + GtkOrientation orientation, + gint for_size, + gint *n_requests) +{ + GtkCellAreaBoxContextPrivate *priv = box_context->priv; + GtkRequestedSize *requests; + GArray *array; + CachedSize *size; + gint visible_groups = 0; + gint last_aligned_group_idx = 0; + gint i, j; + + /* Get the last visible aligned group + * (we need to get space at least up till this group) */ + for (i = priv->base_widths->len - 1; i >= 0; i--) + { + if (priv->align[i] && + _gtk_cell_area_box_group_visible (area, i)) + break; + } + last_aligned_group_idx = i >= 0 ? i : 0; + + priv = box_context->priv; + array = get_array (box_context, orientation, for_size); + + for (i = 0; i < array->len; i++) + { + size = &g_array_index (array, CachedSize, i); + + if (size->nat_size > 0 && + (i <= last_aligned_group_idx || + _gtk_cell_area_box_group_visible (area, i))) + visible_groups++; + } + + requests = g_new (GtkRequestedSize, visible_groups); + + for (j = 0, i = 0; i < array->len; i++) + { + size = &g_array_index (array, CachedSize, i); + + if (size->nat_size > 0 && + (i <= last_aligned_group_idx || + _gtk_cell_area_box_group_visible (area, i))) + { + requests[j].data = GINT_TO_POINTER (i); + requests[j].minimum_size = size->min_size; + requests[j].natural_size = size->nat_size; + j++; + } + } + + if (n_requests) + *n_requests = visible_groups; + + return requests; +} + +static GtkCellAreaBoxAllocation * +allocate_for_orientation (GtkCellAreaBoxContext *context, + GtkCellAreaBox *area, + GtkOrientation orientation, + gint spacing, + gint size, + gint for_size, + gint *n_allocs) +{ + GtkCellAreaBoxContextPrivate *priv = context->priv; + GtkCellAreaBoxAllocation *allocs; + GtkRequestedSize *sizes; + GArray *array; + gint n_expand_groups = 0; + gint i, n_groups, position, vis_position; + gint extra_size, extra_extra; + gint avail_size = size; + + sizes = gtk_cell_area_box_context_get_requests (context, area, orientation, for_size, &n_groups); + array = get_array (context, orientation, for_size); + n_expand_groups = count_expand_groups (context); + + /* First start by naturally allocating space among groups */ + avail_size -= (n_groups - 1) * spacing; + for (i = 0; i < n_groups; i++) + avail_size -= sizes[i].minimum_size; + + if (avail_size > 0) + avail_size = gtk_distribute_natural_allocation (avail_size, n_groups, sizes); + else + avail_size = 0; + + /* Calculate/distribute expand for groups */ + if (n_expand_groups > 0) + { + extra_size = avail_size / n_expand_groups; + extra_extra = avail_size % n_expand_groups; + } + else + extra_size = extra_extra = 0; + + allocs = g_new (GtkCellAreaBoxAllocation, n_groups); + + for (vis_position = 0, position = 0, i = 0; i < n_groups; i++) + { + allocs[i].group_idx = GPOINTER_TO_INT (sizes[i].data); + + if (priv->align[allocs[i].group_idx]) + vis_position = position; + + allocs[i].position = vis_position; + allocs[i].size = sizes[i].minimum_size; + + if (group_expands (context, allocs[i].group_idx)) + { + allocs[i].size += extra_size; + if (extra_extra) + { + allocs[i].size++; + extra_extra--; + } + } + + position += allocs[i].size; + position += spacing; + + if (_gtk_cell_area_box_group_visible (area, allocs[i].group_idx)) + { + vis_position += allocs[i].size; + vis_position += spacing; + } + } + + if (n_allocs) + *n_allocs = n_groups; + + g_free (sizes); + + return allocs; +} + GtkRequestedSize * gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths) { - return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_HORIZONTAL, -1, n_widths); + GtkCellAreaBox *area = (GtkCellAreaBox *)gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (box_context)); + + return gtk_cell_area_box_context_get_requests (box_context, area, GTK_ORIENTATION_HORIZONTAL, -1, n_widths); } GtkRequestedSize * gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, gint *n_heights) { - return gtk_cell_area_box_context_get_requests (box_context, GTK_ORIENTATION_VERTICAL, -1, n_heights); + GtkCellAreaBox *area = (GtkCellAreaBox *)gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (box_context)); + + return gtk_cell_area_box_context_get_requests (box_context, area, GTK_ORIENTATION_VERTICAL, -1, n_heights); } GtkCellAreaBoxAllocation * gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, gint *n_allocs) { - GtkCellAreaBoxContextPrivate *priv; + GtkCellAreaContext *ctx = GTK_CELL_AREA_CONTEXT (context); + GtkCellAreaBox *area; + GtkOrientation orientation; + gint spacing, width, height, alloc_count = 0; + GtkCellAreaBoxAllocation *allocs = NULL; - g_return_val_if_fail (GTK_IS_CELL_AREA_BOX_CONTEXT (context), NULL); + area = (GtkCellAreaBox *)gtk_cell_area_context_get_area (ctx); + orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (area)); + spacing = gtk_cell_area_box_get_spacing (area); - priv = context->priv; + gtk_cell_area_context_get_allocation (ctx, &width, &height); - *n_allocs = priv->n_orientation_allocs; + if (orientation == GTK_ORIENTATION_HORIZONTAL && width > 0) + allocs = allocate_for_orientation (context, area, orientation, + spacing, width, height, + &alloc_count); + else if (orientation == GTK_ORIENTATION_VERTICAL && height > 0) + allocs = allocate_for_orientation (context, area, orientation, + spacing, height, width, + &alloc_count); - return priv->orientation_allocs; + *n_allocs = alloc_count; + + return allocs; } diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontext.h index 7d9f37ed83..d586cc341a 100644 --- a/gtk/gtkcellareaboxcontext.h +++ b/gtk/gtkcellareaboxcontext.h @@ -69,7 +69,8 @@ GtkCellAreaBoxContext *gtk_cell_area_box_context_copy (GtkCellAreaBox /* Initialize group array dimensions */ void gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, guint n_groups, - gboolean *expand_groups); + gboolean *expand_groups, + gboolean *align_groups); /* Update cell-group sizes */ void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, diff --git a/tests/testcellarea.c b/tests/testcellarea.c index ec9398d6f2..be54c79b3f 100644 --- a/tests/testcellarea.c +++ b/tests/testcellarea.c @@ -96,12 +96,12 @@ simple_scaffold (void) area = cell_area_scaffold_get_area (CELL_AREA_SCAFFOLD (scaffold)); cell_1 = renderer = gtk_cell_renderer_text_new (); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_NAME); cell_2 = renderer = gtk_cell_renderer_pixbuf_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "stock-id", SIMPLE_COLUMN_ICON); cell_3 = renderer = gtk_cell_renderer_text_new (); @@ -109,7 +109,7 @@ simple_scaffold (void) "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 215, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); return scaffold; @@ -360,7 +360,7 @@ focus_scaffold (gboolean color_bg, GtkCellRenderer **focus, GtkCellRenderer **si renderer = gtk_cell_renderer_text_new (); g_object_set (G_OBJECT (renderer), "editable", TRUE, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_NAME); if (color_bg) @@ -371,7 +371,7 @@ focus_scaffold (gboolean color_bg, GtkCellRenderer **focus, GtkCellRenderer **si toggle = renderer = gtk_cell_renderer_toggle_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "active", FOCUS_COLUMN_CHECK); if (color_bg) @@ -395,7 +395,7 @@ focus_scaffold (gboolean color_bg, GtkCellRenderer **focus, GtkCellRenderer **si if (sibling) *sibling = renderer; - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", FOCUS_COLUMN_STATIC_TEXT); gtk_cell_area_add_focus_sibling (area, toggle, renderer); diff --git a/tests/testtreeedit.c b/tests/testtreeedit.c index 01e1f2bbe7..712dad4128 100644 --- a/tests/testtreeedit.c +++ b/tests/testtreeedit.c @@ -156,27 +156,50 @@ expand_cell_toggled (GtkToggleButton *toggle, } static void -create_control (GtkWidget *box, gint number, gboolean align, CallbackData *data) +fixed_cell_toggled (GtkToggleButton *toggle, + CallbackData *data) +{ + gboolean active = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (data->area, data->renderer, "fixed-size", active, NULL); +} + +enum { + CNTL_EXPAND, + CNTL_ALIGN, + CNTL_FIXED +}; + +static void +create_control (GtkWidget *box, gint number, gint cntl, CallbackData *data) { GtkWidget *checkbutton; - gchar *name; + GCallback callback = NULL; + gchar *name = NULL; - if (align) - name = g_strdup_printf ("Align Cell #%d", number); - else - name = g_strdup_printf ("Expand Cell #%d", number); + switch (cntl) + { + case CNTL_EXPAND: + name = g_strdup_printf ("Expand Cell #%d", number); + callback = G_CALLBACK (expand_cell_toggled); + break; + case CNTL_ALIGN: + name = g_strdup_printf ("Align Cell #%d", number); + callback = G_CALLBACK (align_cell_toggled); + break; + case CNTL_FIXED: + name = g_strdup_printf ("Fix size Cell #%d", number); + callback = G_CALLBACK (fixed_cell_toggled); + break; + } checkbutton = gtk_check_button_new_with_label (name); gtk_widget_show (checkbutton); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), align); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), cntl == CNTL_FIXED); gtk_box_pack_start (GTK_BOX (box), checkbutton, FALSE, FALSE, 0); - if (align) - g_signal_connect (G_OBJECT (checkbutton), "toggled", - G_CALLBACK (align_cell_toggled), data); - else - g_signal_connect (G_OBJECT (checkbutton), "toggled", - G_CALLBACK (expand_cell_toggled), data); + g_signal_connect (G_OBJECT (checkbutton), "toggled", callback, data); + g_free (name); } gint @@ -296,20 +319,30 @@ main (gint argc, gchar **argv) gtk_widget_show (cntl_vbox); gtk_box_pack_start (GTK_BOX (hbox), cntl_vbox, FALSE, FALSE, 0); - create_control (cntl_vbox, 1, TRUE, &callback[0]); - create_control (cntl_vbox, 2, TRUE, &callback[1]); - create_control (cntl_vbox, 3, TRUE, &callback[2]); - create_control (cntl_vbox, 4, TRUE, &callback[3]); + create_control (cntl_vbox, 1, CNTL_ALIGN, &callback[0]); + create_control (cntl_vbox, 2, CNTL_ALIGN, &callback[1]); + create_control (cntl_vbox, 3, CNTL_ALIGN, &callback[2]); + create_control (cntl_vbox, 4, CNTL_ALIGN, &callback[3]); /* Expand controls */ cntl_vbox = gtk_vbox_new (FALSE, 2); gtk_widget_show (cntl_vbox); gtk_box_pack_start (GTK_BOX (hbox), cntl_vbox, FALSE, FALSE, 0); - create_control (cntl_vbox, 1, FALSE, &callback[0]); - create_control (cntl_vbox, 2, FALSE, &callback[1]); - create_control (cntl_vbox, 3, FALSE, &callback[2]); - create_control (cntl_vbox, 4, FALSE, &callback[3]); + create_control (cntl_vbox, 1, CNTL_EXPAND, &callback[0]); + create_control (cntl_vbox, 2, CNTL_EXPAND, &callback[1]); + create_control (cntl_vbox, 3, CNTL_EXPAND, &callback[2]); + create_control (cntl_vbox, 4, CNTL_EXPAND, &callback[3]); + + /* Fixed controls */ + cntl_vbox = gtk_vbox_new (FALSE, 2); + gtk_widget_show (cntl_vbox); + gtk_box_pack_start (GTK_BOX (hbox), cntl_vbox, FALSE, FALSE, 0); + + create_control (cntl_vbox, 1, CNTL_FIXED, &callback[0]); + create_control (cntl_vbox, 2, CNTL_FIXED, &callback[1]); + create_control (cntl_vbox, 3, CNTL_FIXED, &callback[2]); + create_control (cntl_vbox, 4, CNTL_FIXED, &callback[3]); gtk_widget_show_all (window); gtk_main (); From ac7d55c9483d727b3e0b612b0188697dda009c71 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Sun, 5 Dec 2010 21:58:23 +0100 Subject: [PATCH 0613/1463] Convert all gdk_window methods to vtable calls --- gdk/gdkwindow.c | 860 +++++++++++++++++++++++++++++++++++++++ gdk/gdkwindowimpl.h | 78 ++++ gdk/x11/gdkdnd-x11.c | 11 +- gdk/x11/gdkprivate-x11.h | 2 + gdk/x11/gdkwindow-x11.c | 835 +++++++------------------------------ 5 files changed, 1095 insertions(+), 691 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index dc4be64a90..1c78ea2c73 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -9825,3 +9825,863 @@ gdk_window_create_similar_surface (GdkWindow * window, return surface; } +/** + * gdk_window_focus: + * @window: a #GdkWindow + * @timestamp: timestamp of the event triggering the window focus + * + * Sets keyboard focus to @window. In most cases, gtk_window_present() + * should be used on a #GtkWindow, rather than calling this function. + * + **/ +void +gdk_window_focus (GdkWindow *window, + guint32 timestamp) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->focus (window, timestamp); +} + +/** + * gdk_window_set_type_hint: + * @window: A toplevel #GdkWindow + * @hint: A hint of the function this window will have + * + * The application can use this call to provide a hint to the window + * manager about the functionality of a window. The window manager + * can use this information when determining the decoration and behaviour + * of the window. + * + * The hint must be set before the window is mapped. + **/ +void +gdk_window_set_type_hint (GdkWindow *window, + GdkWindowTypeHint hint) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_type_hint (window, hint); +} + +/** + * gdk_window_get_type_hint: + * @window: A toplevel #GdkWindow + * + * This function returns the type hint set for a window. + * + * Return value: The type hint set for @window + * + * Since: 2.10 + **/ +GdkWindowTypeHint +gdk_window_get_type_hint (GdkWindow *window) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_type_hint (window); +} + +/** + * gdk_window_set_modal_hint: + * @window: A toplevel #GdkWindow + * @modal: %TRUE if the window is modal, %FALSE otherwise. + * + * The application can use this hint to tell the window manager + * that a certain window has modal behaviour. The window manager + * can use this information to handle modal windows in a special + * way. + * + * You should only use this on windows for which you have + * previously called gdk_window_set_transient_for() + **/ +void +gdk_window_set_modal_hint (GdkWindow *window, + gboolean modal) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_modal_hint (window, modal); +} + +/** + * gdk_window_set_skip_taskbar_hint: + * @window: a toplevel #GdkWindow + * @skips_taskbar: %TRUE to skip the taskbar + * + * Toggles whether a window should appear in a task list or window + * list. If a window's semantic type as specified with + * gdk_window_set_type_hint() already fully describes the window, this + * function should not be called in addition, + * instead you should allow the window to be treated according to + * standard policy for its semantic type. + * + * Since: 2.2 + **/ +void +gdk_window_set_skip_taskbar_hint (GdkWindow *window, + gboolean skips_taskbar) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_skip_taskbar_hint (window, skips_taskbar); +} + +/** + * gdk_window_set_skip_pager_hint: + * @window: a toplevel #GdkWindow + * @skips_pager: %TRUE to skip the pager + * + * Toggles whether a window should appear in a pager (workspace + * switcher, or other desktop utility program that displays a small + * thumbnail representation of the windows on the desktop). If a + * window's semantic type as specified with gdk_window_set_type_hint() + * already fully describes the window, this function should + * not be called in addition, instead you should + * allow the window to be treated according to standard policy for + * its semantic type. + * + * Since: 2.2 + **/ +void +gdk_window_set_skip_pager_hint (GdkWindow *window, + gboolean skips_pager) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_skip_pager_hint (window, skips_pager); +} + +/** + * gdk_window_set_urgency_hint: + * @window: a toplevel #GdkWindow + * @urgent: %TRUE if the window is urgent + * + * Toggles whether a window needs the user's + * urgent attention. + * + * Since: 2.8 + **/ +void +gdk_window_set_urgency_hint (GdkWindow *window, + gboolean urgent) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_urgency_hint (window, urgent); +} + +/** + * gdk_window_set_geometry_hints: + * @window: a toplevel #GdkWindow + * @geometry: geometry hints + * @geom_mask: bitmask indicating fields of @geometry to pay attention to + * + * Sets the geometry hints for @window. Hints flagged in @geom_mask + * are set, hints not flagged in @geom_mask are unset. + * To unset all hints, use a @geom_mask of 0 and a @geometry of %NULL. + * + * This function provides hints to the windowing system about + * acceptable sizes for a toplevel window. The purpose of + * this is to constrain user resizing, but the windowing system + * will typically (but is not required to) also constrain the + * current size of the window to the provided values and + * constrain programatic resizing via gdk_window_resize() or + * gdk_window_move_resize(). + * + * Note that on X11, this effect has no effect on windows + * of type %GDK_WINDOW_TEMP or windows where override redirect + * has been turned on via gdk_window_set_override_redirect() + * since these windows are not resizable by the user. + * + * Since you can't count on the windowing system doing the + * constraints for programmatic resizes, you should generally + * call gdk_window_constrain_size() yourself to determine + * appropriate sizes. + * + **/ +void +gdk_window_set_geometry_hints (GdkWindow *window, + const GdkGeometry *geometry, + GdkWindowHints geom_mask) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_geometry_hints (window, geometry, geom_mask); +} + +/** + * gdk_window_set_title: + * @window: a toplevel #GdkWindow + * @title: title of @window + * + * Sets the title of a toplevel window, to be displayed in the titlebar. + * If you haven't explicitly set the icon name for the window + * (using gdk_window_set_icon_name()), the icon name will be set to + * @title as well. @title must be in UTF-8 encoding (as with all + * user-readable strings in GDK/GTK+). @title may not be %NULL. + **/ +void +gdk_window_set_title (GdkWindow *window, + const gchar *title) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_title (window, title); +} + +/** + * gdk_window_set_role: + * @window: a toplevel #GdkWindow + * @role: a string indicating its role + * + * When using GTK+, typically you should use gtk_window_set_role() instead + * of this low-level function. + * + * The window manager and session manager use a window's role to + * distinguish it from other kinds of window in the same application. + * When an application is restarted after being saved in a previous + * session, all windows with the same title and role are treated as + * interchangeable. So if you have two windows with the same title + * that should be distinguished for session management purposes, you + * should set the role on those windows. It doesn't matter what string + * you use for the role, as long as you have a different role for each + * non-interchangeable kind of window. + * + **/ +void +gdk_window_set_role (GdkWindow *window, + const gchar *role) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_role (window, role); +} + +/** + * gdk_window_set_startup_id: + * @window: a toplevel #GdkWindow + * @startup_id: a string with startup-notification identifier + * + * When using GTK+, typically you should use gtk_window_set_startup_id() + * instead of this low-level function. + * + * Since: 2.12 + * + **/ +void +gdk_window_set_startup_id (GdkWindow *window, + const gchar *startup_id) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_startup_id (window, startup_id); +} + +/** + * gdk_window_set_transient_for: + * @window: a toplevel #GdkWindow + * @parent: another toplevel #GdkWindow + * + * Indicates to the window manager that @window is a transient dialog + * associated with the application window @parent. This allows the + * window manager to do things like center @window on @parent and + * keep @window above @parent. + * + * See gtk_window_set_transient_for() if you're using #GtkWindow or + * #GtkDialog. + **/ +void +gdk_window_set_transient_for (GdkWindow *window, + GdkWindow *parent) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_transient_for (window, parent); +} + +/** + * gdk_window_get_root_origin: + * @window: a toplevel #GdkWindow + * @x: return location for X position of window frame + * @y: return location for Y position of window frame + * + * Obtains the top-left corner of the window manager frame in root + * window coordinates. + * + **/ +void +gdk_window_get_root_origin (GdkWindow *window, + gint *x, + gint *y) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_root_origin (window, x, y); +} + +/** + * gdk_window_get_frame_extents: + * @window: a toplevel #GdkWindow + * @rect: rectangle to fill with bounding box of the window frame + * + * Obtains the bounding box of the window, including window manager + * titlebar/borders if any. The frame position is given in root window + * coordinates. To get the position of the window itself (rather than + * the frame) in root window coordinates, use gdk_window_get_origin(). + * + **/ +void +gdk_window_get_frame_extents (GdkWindow *window, + GdkRectangle *rect) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_frame_extents (window, rect); +} + +/** + * gdk_window_set_override_redirect: + * @window: a toplevel #GdkWindow + * @override_redirect: %TRUE if window should be override redirect + * + * An override redirect window is not under the control of the window manager. + * This means it won't have a titlebar, won't be minimizable, etc. - it will + * be entirely under the control of the application. The window manager + * can't see the override redirect window at all. + * + * Override redirect should only be used for short-lived temporary + * windows, such as popup menus. #GtkMenu uses an override redirect + * window in its implementation, for example. + * + **/ +void +gdk_window_set_override_redirect (GdkWindow *window, + gboolean override_redirect) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_override_redirect (window, override_redirect); +} + +/** + * gdk_window_set_accept_focus: + * @window: a toplevel #GdkWindow + * @accept_focus: %TRUE if the window should receive input focus + * + * Setting @accept_focus to %FALSE hints the desktop environment that the + * window doesn't want to receive input focus. + * + * On X, it is the responsibility of the window manager to interpret this + * hint. ICCCM-compliant window manager usually respect it. + * + * Since: 2.4 + **/ +void +gdk_window_set_accept_focus (GdkWindow *window, + gboolean accept_focus) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_accept_focus (window, accept_focus); +} + +/** + * gdk_window_set_focus_on_map: + * @window: a toplevel #GdkWindow + * @focus_on_map: %TRUE if the window should receive input focus when mapped + * + * Setting @focus_on_map to %FALSE hints the desktop environment that the + * window doesn't want to receive input focus when it is mapped. + * focus_on_map should be turned off for windows that aren't triggered + * interactively (such as popups from network activity). + * + * On X, it is the responsibility of the window manager to interpret + * this hint. Window managers following the freedesktop.org window + * manager extension specification should respect it. + * + * Since: 2.6 + **/ +void +gdk_window_set_focus_on_map (GdkWindow *window, + gboolean focus_on_map) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_focus_on_map (window, focus_on_map); +} + +/** + * gdk_window_set_icon_list: + * @window: The #GdkWindow toplevel window to set the icon of. + * @pixbufs: (transfer none) (element-type GdkPixbuf): + * A list of pixbufs, of different sizes. + * + * Sets a list of icons for the window. One of these will be used + * to represent the window when it has been iconified. The icon is + * usually shown in an icon box or some sort of task bar. Which icon + * size is shown depends on the window manager. The window manager + * can scale the icon but setting several size icons can give better + * image quality since the window manager may only need to scale the + * icon by a small amount or not at all. + * + **/ +void +gdk_window_set_icon_list (GdkWindow *window, + GList *pixbufs) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_icon_list (window, pixbufs); +} + +/** + * gdk_window_set_icon_name: + * @window: a toplevel #GdkWindow + * @name: name of window while iconified (minimized) + * + * Windows may have a name used while minimized, distinct from the + * name they display in their titlebar. Most of the time this is a bad + * idea from a user interface standpoint. But you can set such a name + * with this function, if you like. + * + * After calling this with a non-%NULL @name, calls to gdk_window_set_title() + * will not update the icon title. + * + * Using %NULL for @name unsets the icon title; further calls to + * gdk_window_set_title() will again update the icon title as well. + **/ +void +gdk_window_set_icon_name (GdkWindow *window, + const gchar *name) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_icon_name (window, name); +} + +/** + * gdk_window_iconify: + * @window: a toplevel #GdkWindow + * + * Asks to iconify (minimize) @window. The window manager may choose + * to ignore the request, but normally will honor it. Using + * gtk_window_iconify() is preferred, if you have a #GtkWindow widget. + * + * This function only makes sense when @window is a toplevel window. + * + **/ +void +gdk_window_iconify (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->iconify (window); +} + +/** + * gdk_window_deiconify: + * @window: a toplevel #GdkWindow + * + * Attempt to deiconify (unminimize) @window. On X11 the window manager may + * choose to ignore the request to deiconify. When using GTK+, + * use gtk_window_deiconify() instead of the #GdkWindow variant. Or better yet, + * you probably want to use gtk_window_present(), which raises the window, focuses it, + * unminimizes it, and puts it on the current desktop. + * + **/ +void +gdk_window_deiconify (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->deiconify (window); +} + +/** + * gdk_window_stick: + * @window: a toplevel #GdkWindow + * + * "Pins" a window such that it's on all workspaces and does not scroll + * with viewports, for window managers that have scrollable viewports. + * (When using #GtkWindow, gtk_window_stick() may be more useful.) + * + * On the X11 platform, this function depends on window manager + * support, so may have no effect with many window managers. However, + * GDK will do the best it can to convince the window manager to stick + * the window. For window managers that don't support this operation, + * there's nothing you can do to force it to happen. + * + **/ +void +gdk_window_stick (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->stick (window); +} + +/** + * gdk_window_unstick: + * @window: a toplevel #GdkWindow + * + * Reverse operation for gdk_window_stick(); see gdk_window_stick(), + * and gtk_window_unstick(). + * + **/ +void +gdk_window_unstick (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->unstick (window); +} + +/** + * gdk_window_maximize: + * @window: a toplevel #GdkWindow + * + * Maximizes the window. If the window was already maximized, then + * this function does nothing. + * + * On X11, asks the window manager to maximize @window, if the window + * manager supports this operation. Not all window managers support + * this, and some deliberately ignore it or don't have a concept of + * "maximized"; so you can't rely on the maximization actually + * happening. But it will happen with most standard window managers, + * and GDK makes a best effort to get it to happen. + * + * On Windows, reliably maximizes the window. + * + **/ +void +gdk_window_maximize (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->maximize (window); +} + +/** + * gdk_window_unmaximize: + * @window: a toplevel #GdkWindow + * + * Unmaximizes the window. If the window wasn't maximized, then this + * function does nothing. + * + * On X11, asks the window manager to unmaximize @window, if the + * window manager supports this operation. Not all window managers + * support this, and some deliberately ignore it or don't have a + * concept of "maximized"; so you can't rely on the unmaximization + * actually happening. But it will happen with most standard window + * managers, and GDK makes a best effort to get it to happen. + * + * On Windows, reliably unmaximizes the window. + * + **/ +void +gdk_window_unmaximize (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->unmaximize (window); +} + +/** + * gdk_window_fullscreen: + * @window: a toplevel #GdkWindow + * + * Moves the window into fullscreen mode. This means the + * window covers the entire screen and is above any panels + * or task bars. + * + * If the window was already fullscreen, then this function does nothing. + * + * On X11, asks the window manager to put @window in a fullscreen + * state, if the window manager supports this operation. Not all + * window managers support this, and some deliberately ignore it or + * don't have a concept of "fullscreen"; so you can't rely on the + * fullscreenification actually happening. But it will happen with + * most standard window managers, and GDK makes a best effort to get + * it to happen. + * + * Since: 2.2 + **/ +void +gdk_window_fullscreen (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->fullscreen (window); +} + +/** + * gdk_window_unfullscreen: + * @window: a toplevel #GdkWindow + * + * Moves the window out of fullscreen mode. If the window was not + * fullscreen, does nothing. + * + * On X11, asks the window manager to move @window out of the fullscreen + * state, if the window manager supports this operation. Not all + * window managers support this, and some deliberately ignore it or + * don't have a concept of "fullscreen"; so you can't rely on the + * unfullscreenification actually happening. But it will happen with + * most standard window managers, and GDK makes a best effort to get + * it to happen. + * + * Since: 2.2 + **/ +void +gdk_window_unfullscreen (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->unfullscreen (window); +} + +/** + * gdk_window_set_keep_above: + * @window: a toplevel #GdkWindow + * @setting: whether to keep @window above other windows + * + * Set if @window must be kept above other windows. If the + * window was already above, then this function does nothing. + * + * On X11, asks the window manager to keep @window above, if the window + * manager supports this operation. Not all window managers support + * this, and some deliberately ignore it or don't have a concept of + * "keep above"; so you can't rely on the window being kept above. + * But it will happen with most standard window managers, + * and GDK makes a best effort to get it to happen. + * + * Since: 2.4 + **/ +void +gdk_window_set_keep_above (GdkWindow *window, + gboolean setting) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_keep_above (window, setting); +} + +/** + * gdk_window_set_keep_below: + * @window: a toplevel #GdkWindow + * @setting: whether to keep @window below other windows + * + * Set if @window must be kept below other windows. If the + * window was already below, then this function does nothing. + * + * On X11, asks the window manager to keep @window below, if the window + * manager supports this operation. Not all window managers support + * this, and some deliberately ignore it or don't have a concept of + * "keep below"; so you can't rely on the window being kept below. + * But it will happen with most standard window managers, + * and GDK makes a best effort to get it to happen. + * + * Since: 2.4 + **/ +void +gdk_window_set_keep_below (GdkWindow *window, gboolean setting) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_keep_below (window, setting); +} + +/** + * gdk_window_get_group: + * @window: a toplevel #GdkWindow + * + * Returns the group leader window for @window. See gdk_window_set_group(). + * + * Return value: (transfer none): the group leader window for @window + * + * Since: 2.4 + **/ +GdkWindow * +gdk_window_get_group (GdkWindow *window) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_group (window); +} + +/** + * gdk_window_set_group: + * @window: a toplevel #GdkWindow + * @leader: group leader window, or %NULL to restore the default group leader window + * + * Sets the group leader window for @window. By default, + * GDK sets the group leader for all toplevel windows + * to a global window implicitly created by GDK. With this function + * you can override this default. + * + * The group leader window allows the window manager to distinguish + * all windows that belong to a single application. It may for example + * allow users to minimize/unminimize all windows belonging to an + * application at once. You should only set a non-default group window + * if your application pretends to be multiple applications. + **/ +void +gdk_window_set_group (GdkWindow *window, + GdkWindow *leader) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_group (window, leader); +} + +/** + * gdk_window_set_decorations: + * @window: a toplevel #GdkWindow + * @decorations: decoration hint mask + * + * "Decorations" are the features the window manager adds to a toplevel #GdkWindow. + * This function sets the traditional Motif window manager hints that tell the + * window manager which decorations you would like your window to have. + * Usually you should use gtk_window_set_decorated() on a #GtkWindow instead of + * using the GDK function directly. + * + * The @decorations argument is the logical OR of the fields in + * the #GdkWMDecoration enumeration. If #GDK_DECOR_ALL is included in the + * mask, the other bits indicate which decorations should be turned off. + * If #GDK_DECOR_ALL is not included, then the other bits indicate + * which decorations should be turned on. + * + * Most window managers honor a decorations hint of 0 to disable all decorations, + * but very few honor all possible combinations of bits. + * + **/ +void +gdk_window_set_decorations (GdkWindow *window, + GdkWMDecoration decorations) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_decorations (window, decorations); +} + +/** + * gdk_window_get_decorations: + * @window: The toplevel #GdkWindow to get the decorations from + * @decorations: The window decorations will be written here + * + * Returns the decorations set on the GdkWindow with + * gdk_window_set_decorations(). + * + * Returns: %TRUE if the window has decorations set, %FALSE otherwise. + **/ +gboolean +gdk_window_get_decorations(GdkWindow *window, + GdkWMDecoration *decorations) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_decorations (window, decorations); +} + +/** + * gdk_window_set_functions: + * @window: a toplevel #GdkWindow + * @functions: bitmask of operations to allow on @window + * + * Sets hints about the window management functions to make available + * via buttons on the window frame. + * + * On the X backend, this function sets the traditional Motif window + * manager hint for this purpose. However, few window managers do + * anything reliable or interesting with this hint. Many ignore it + * entirely. + * + * The @functions argument is the logical OR of values from the + * #GdkWMFunction enumeration. If the bitmask includes #GDK_FUNC_ALL, + * then the other bits indicate which functions to disable; if + * it doesn't include #GDK_FUNC_ALL, it indicates which functions to + * enable. + * + **/ +void +gdk_window_set_functions (GdkWindow *window, + GdkWMFunction functions) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_functions (window, functions); +} + +/** + * gdk_window_begin_resize_drag: + * @window: a toplevel #GdkWindow + * @edge: the edge or corner from which the drag is started + * @button: the button being used to drag + * @root_x: root window X coordinate of mouse click that began the drag + * @root_y: root window Y coordinate of mouse click that began the drag + * @timestamp: timestamp of mouse click that began the drag (use gdk_event_get_time()) + * + * Begins a window resize operation (for a toplevel window). + * You might use this function to implement a "window resize grip," for + * example; in fact #GtkStatusbar uses it. The function works best + * with window managers that support the Extended Window Manager Hints, but has a + * fallback implementation for other window managers. + * + **/ +void +gdk_window_begin_resize_drag (GdkWindow *window, + GdkWindowEdge edge, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->begin_resize_drag (window, edge, button, root_x, root_y, timestamp); +} + +/** + * gdk_window_begin_move_drag: + * @window: a toplevel #GdkWindow + * @button: the button being used to drag + * @root_x: root window X coordinate of mouse click that began the drag + * @root_y: root window Y coordinate of mouse click that began the drag + * @timestamp: timestamp of mouse click that began the drag + * + * Begins a window move operation (for a toplevel window). You might + * use this function to implement a "window move grip," for + * example. The function works best with window managers that support + * the Extended + * Window Manager Hints, but has a fallback implementation for + * other window managers. + * + **/ +void +gdk_window_begin_move_drag (GdkWindow *window, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->begin_move_drag (window, button, root_x, root_y, timestamp); +} + +/** + * gdk_window_enable_synchronized_configure: + * @window: a toplevel #GdkWindow + * + * Indicates that the application will cooperate with the window + * system in synchronizing the window repaint with the window + * manager during resizing operations. After an application calls + * this function, it must call gdk_window_configure_finished() every + * time it has finished all processing associated with a set of + * Configure events. Toplevel GTK+ windows automatically use this + * protocol. + * + * On X, calling this function makes @window participate in the + * _NET_WM_SYNC_REQUEST window manager protocol. + * + * Since: 2.6 + **/ +void +gdk_window_enable_synchronized_configure (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->enable_synchronized_configure (window); +} + +/** + * gdk_window_configure_finished: + * @window: a toplevel #GdkWindow + * + * Signal to the window system that the application has finished + * handling Configure events it has received. Window Managers can + * use this to better synchronize the frame repaint with the + * application. GTK+ applications will automatically call this + * function when appropriate. + * + * This function can only be called if gdk_window_enable_synchronized_configure() + * was called previously. + * + * Since: 2.6 + **/ +void +gdk_window_configure_finished (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->configure_finished (window); +} + +/** + * gdk_window_set_opacity: + * @window: a top-level #GdkWindow + * @opacity: opacity + * + * Request the windowing system to make @window partially transparent, + * with opacity 0 being fully transparent and 1 fully opaque. (Values + * of the opacity parameter are clamped to the [0,1] range.) + * + * On X11, this works only on X screens with a compositing manager + * running. + * + * For setting up per-pixel alpha, see gdk_screen_get_rgba_visual(). + * For making non-toplevel windows translucent, see + * gdk_window_set_composited(). + * + * Since: 2.12 + */ +void +gdk_window_set_opacity (GdkWindow *window, + gdouble opacity) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->set_opacity (window, opacity); +} + +/* This function is called when the XWindow is really gone. + */ +void +gdk_window_destroy_notify (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->destroy_notify (window); +} + +/** + * gdk_window_register_dnd: + * @window: a #GdkWindow. + * + * Registers a window as a potential drop destination. + */ +void +gdk_window_register_dnd (GdkWindow *window) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->register_dnd (window); +} diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index af2d922c42..2dd7d582f8 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -160,6 +160,84 @@ struct _GdkWindowImplClass /* optional */ gboolean (* beep) (GdkWindow *window); + + void (* focus) (GdkWindow *window, + guint32 timestamp); + void (* set_type_hint) (GdkWindow *window, + GdkWindowTypeHint hint); + GdkWindowTypeHint (* get_type_hint) (GdkWindow *window); + void (* set_modal_hint) (GdkWindow *window, + gboolean modal); + void (* set_skip_taskbar_hint) (GdkWindow *window, + gboolean skips_taskbar); + void (* set_skip_pager_hint) (GdkWindow *window, + gboolean skips_pager); + void (* set_urgency_hint) (GdkWindow *window, + gboolean urgent); + void (* set_geometry_hints) (GdkWindow *window, + const GdkGeometry *geometry, + GdkWindowHints geom_mask); + void (* set_title) (GdkWindow *window, + const gchar *title); + void (* set_role) (GdkWindow *window, + const gchar *role); + void (* set_startup_id) (GdkWindow *window, + const gchar *startup_id); + void (* set_transient_for) (GdkWindow *window, + GdkWindow *parent); + void (* get_root_origin) (GdkWindow *window, + gint *x, + gint *y); + void (* get_frame_extents) (GdkWindow *window, + GdkRectangle *rect); + void (* set_override_redirect) (GdkWindow *window, + gboolean override_redirect); + void (* set_accept_focus) (GdkWindow *window, + gboolean accept_focus); + void (* set_focus_on_map) (GdkWindow *window, + gboolean focus_on_map); + void (* set_icon_list) (GdkWindow *window, + GList *pixbufs); + void (* set_icon_name) (GdkWindow *window, + const gchar *name); + void (* iconify) (GdkWindow *window); + void (* deiconify) (GdkWindow *window); + void (* stick) (GdkWindow *window); + void (* unstick) (GdkWindow *window); + void (* maximize) (GdkWindow *window); + void (* unmaximize) (GdkWindow *window); + void (* fullscreen) (GdkWindow *window); + void (* unfullscreen) (GdkWindow *window); + void (* set_keep_above) (GdkWindow *window, + gboolean setting); + void (* set_keep_below) (GdkWindow *window, + gboolean setting); + GdkWindow * (* get_group) (GdkWindow *window); + void (* set_group) (GdkWindow *window, + GdkWindow *leader); + void (* set_decorations) (GdkWindow *window, + GdkWMDecoration decorations); + gboolean (* get_decorations) (GdkWindow *window, + GdkWMDecoration *decorations); + void (* set_functions) (GdkWindow *window, + GdkWMFunction functions); + void (* begin_resize_drag) (GdkWindow *window, + GdkWindowEdge edge, + gint button, + gint root_x, + gint root_y, + guint32 timestamp); + void (* begin_move_drag) (GdkWindow *window, + gint button, + gint root_x, + gint root_y, + guint32 timestamp); + void (* enable_synchronized_configure) (GdkWindow *window); + void (* configure_finished) (GdkWindow *window); + void (* set_opacity) (GdkWindow *window, + gdouble opacity); + void (* destroy_notify) (GdkWindow *window); + void (* register_dnd) (GdkWindow *window); }; /* Interface Functions */ diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index f8f2e139af..cae3420e61 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3930,15 +3930,8 @@ gdk_drop_finish (GdkDragContext *context, } } - -/** - * gdk_window_register_dnd: - * @window: a #GdkWindow. - * - * Registers a window as a potential drop destination. - */ -void -gdk_window_register_dnd (GdkWindow *window) +void +_gdk_x11_window_register_dnd (GdkWindow *window) { static const gulong xdnd_version = 5; MotifDragReceiverInfo info; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index ee5e1a76d9..f9a4c1208d 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -133,6 +133,8 @@ void _gdk_dnd_init (GdkDisplay *display); void _gdk_x11_cursor_update_theme (GdkCursor *cursor); void _gdk_x11_cursor_display_finalize (GdkDisplay *display); +void _gdk_x11_window_register_dnd (GdkWindow *window); + gboolean _gdk_x11_get_xft_setting (GdkScreen *screen, const gchar *name, GValue *value); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index d3b1992855..3fdbd69d59 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -1100,8 +1100,8 @@ get_root (GdkWindow *window) /* This function is called when the XWindow is really gone. */ -void -gdk_window_destroy_notify (GdkWindow *window) +static void +gdk_x11_window_destroy_notify (GdkWindow *window) { GdkWindowImplX11 *window_impl; @@ -1771,18 +1771,9 @@ move_to_current_desktop (GdkWindow *window) } } -/** - * gdk_window_focus: - * @window: a #GdkWindow - * @timestamp: timestamp of the event triggering the window focus - * - * Sets keyboard focus to @window. In most cases, gtk_window_present() - * should be used on a #GtkWindow, rather than calling this function. - * - **/ -void -gdk_window_focus (GdkWindow *window, - guint32 timestamp) +static void +gdk_x11_window_focus (GdkWindow *window, + guint32 timestamp) { GdkDisplay *display; @@ -1828,21 +1819,9 @@ gdk_window_focus (GdkWindow *window, } } -/** - * gdk_window_set_type_hint: - * @window: A toplevel #GdkWindow - * @hint: A hint of the function this window will have - * - * The application can use this call to provide a hint to the window - * manager about the functionality of a window. The window manager - * can use this information when determining the decoration and behaviour - * of the window. - * - * The hint must be set before the window is mapped. - **/ -void -gdk_window_set_type_hint (GdkWindow *window, - GdkWindowTypeHint hint) +static void +gdk_x11_window_set_type_hint (GdkWindow *window, + GdkWindowTypeHint hint) { GdkDisplay *display; Atom atom; @@ -1908,18 +1887,8 @@ gdk_window_set_type_hint (GdkWindow *window, (guchar *)&atom, 1); } -/** - * gdk_window_get_type_hint: - * @window: A toplevel #GdkWindow - * - * This function returns the type hint set for a window. - * - * Return value: The type hint set for @window - * - * Since: 2.10 - **/ -GdkWindowTypeHint -gdk_window_get_type_hint (GdkWindow *window) +static GdkWindowTypeHint +gdk_x11_window_get_type_hint (GdkWindow *window) { GdkDisplay *display; GdkWindowTypeHint type; @@ -2014,22 +1983,9 @@ gdk_wmspec_change_state (gboolean add, (XEvent *)&xclient); } -/** - * gdk_window_set_modal_hint: - * @window: A toplevel #GdkWindow - * @modal: %TRUE if the window is modal, %FALSE otherwise. - * - * The application can use this hint to tell the window manager - * that a certain window has modal behaviour. The window manager - * can use this information to handle modal windows in a special - * way. - * - * You should only use this on windows for which you have - * previously called gdk_window_set_transient_for() - **/ -void -gdk_window_set_modal_hint (GdkWindow *window, - gboolean modal) +static void +gdk_x11_window_set_modal_hint (GdkWindow *window, + gboolean modal) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -2043,23 +1999,9 @@ gdk_window_set_modal_hint (GdkWindow *window, GDK_NONE); } -/** - * gdk_window_set_skip_taskbar_hint: - * @window: a toplevel #GdkWindow - * @skips_taskbar: %TRUE to skip the taskbar - * - * Toggles whether a window should appear in a task list or window - * list. If a window's semantic type as specified with - * gdk_window_set_type_hint() already fully describes the window, this - * function should not be called in addition, - * instead you should allow the window to be treated according to - * standard policy for its semantic type. - * - * Since: 2.2 - **/ -void -gdk_window_set_skip_taskbar_hint (GdkWindow *window, - gboolean skips_taskbar) +static void +gdk_x11_window_set_skip_taskbar_hint (GdkWindow *window, + gboolean skips_taskbar) { GdkToplevelX11 *toplevel; @@ -2078,25 +2020,9 @@ gdk_window_set_skip_taskbar_hint (GdkWindow *window, GDK_NONE); } -/** - * gdk_window_set_skip_pager_hint: - * @window: a toplevel #GdkWindow - * @skips_pager: %TRUE to skip the pager - * - * Toggles whether a window should appear in a pager (workspace - * switcher, or other desktop utility program that displays a small - * thumbnail representation of the windows on the desktop). If a - * window's semantic type as specified with gdk_window_set_type_hint() - * already fully describes the window, this function should - * not be called in addition, instead you should - * allow the window to be treated according to standard policy for - * its semantic type. - * - * Since: 2.2 - **/ -void -gdk_window_set_skip_pager_hint (GdkWindow *window, - gboolean skips_pager) +static void +gdk_x11_window_set_skip_pager_hint (GdkWindow *window, + gboolean skips_pager) { GdkToplevelX11 *toplevel; @@ -2115,18 +2041,8 @@ gdk_window_set_skip_pager_hint (GdkWindow *window, GDK_NONE); } -/** - * gdk_window_set_urgency_hint: - * @window: a toplevel #GdkWindow - * @urgent: %TRUE if the window is urgent - * - * Toggles whether a window needs the user's - * urgent attention. - * - * Since: 2.8 - **/ -void -gdk_window_set_urgency_hint (GdkWindow *window, +static void +gdk_x11_window_set_urgency_hint (GdkWindow *window, gboolean urgent) { GdkToplevelX11 *toplevel; @@ -2143,39 +2059,10 @@ gdk_window_set_urgency_hint (GdkWindow *window, update_wm_hints (window, FALSE); } -/** - * gdk_window_set_geometry_hints: - * @window: a toplevel #GdkWindow - * @geometry: geometry hints - * @geom_mask: bitmask indicating fields of @geometry to pay attention to - * - * Sets the geometry hints for @window. Hints flagged in @geom_mask - * are set, hints not flagged in @geom_mask are unset. - * To unset all hints, use a @geom_mask of 0 and a @geometry of %NULL. - * - * This function provides hints to the windowing system about - * acceptable sizes for a toplevel window. The purpose of - * this is to constrain user resizing, but the windowing system - * will typically (but is not required to) also constrain the - * current size of the window to the provided values and - * constrain programatic resizing via gdk_window_resize() or - * gdk_window_move_resize(). - * - * Note that on X11, this effect has no effect on windows - * of type %GDK_WINDOW_TEMP or windows where override redirect - * has been turned on via gdk_window_set_override_redirect() - * since these windows are not resizable by the user. - * - * Since you can't count on the windowing system doing the - * constraints for programmatic resizes, you should generally - * call gdk_window_constrain_size() yourself to determine - * appropriate sizes. - * - **/ -void -gdk_window_set_geometry_hints (GdkWindow *window, - const GdkGeometry *geometry, - GdkWindowHints geom_mask) +static void +gdk_x11_window_set_geometry_hints (GdkWindow *window, + const GdkGeometry *geometry, + GdkWindowHints geom_mask) { XSizeHints size_hints; @@ -2424,20 +2311,9 @@ set_wm_name (GdkDisplay *display, name); } -/** - * gdk_window_set_title: - * @window: a toplevel #GdkWindow - * @title: title of @window - * - * Sets the title of a toplevel window, to be displayed in the titlebar. - * If you haven't explicitly set the icon name for the window - * (using gdk_window_set_icon_name()), the icon name will be set to - * @title as well. @title must be in UTF-8 encoding (as with all - * user-readable strings in GDK/GTK+). @title may not be %NULL. - **/ -void -gdk_window_set_title (GdkWindow *window, - const gchar *title) +static void +gdk_x11_window_set_title (GdkWindow *window, + const gchar *title) { GdkDisplay *display; Display *xdisplay; @@ -2468,28 +2344,9 @@ gdk_window_set_title (GdkWindow *window, } } -/** - * gdk_window_set_role: - * @window: a toplevel #GdkWindow - * @role: a string indicating its role - * - * When using GTK+, typically you should use gtk_window_set_role() instead - * of this low-level function. - * - * The window manager and session manager use a window's role to - * distinguish it from other kinds of window in the same application. - * When an application is restarted after being saved in a previous - * session, all windows with the same title and role are treated as - * interchangeable. So if you have two windows with the same title - * that should be distinguished for session management purposes, you - * should set the role on those windows. It doesn't matter what string - * you use for the role, as long as you have a different role for each - * non-interchangeable kind of window. - * - **/ -void -gdk_window_set_role (GdkWindow *window, - const gchar *role) +static void +gdk_x11_window_set_role (GdkWindow *window, + const gchar *role) { GdkDisplay *display; @@ -2508,20 +2365,9 @@ gdk_window_set_role (GdkWindow *window, gdk_x11_get_xatom_by_name_for_display (display, "WM_WINDOW_ROLE")); } -/** - * gdk_window_set_startup_id: - * @window: a toplevel #GdkWindow - * @startup_id: a string with startup-notification identifier - * - * When using GTK+, typically you should use gtk_window_set_startup_id() - * instead of this low-level function. - * - * Since: 2.12 - * - **/ -void -gdk_window_set_startup_id (GdkWindow *window, - const gchar *startup_id) +static void +gdk_x11_window_set_startup_id (GdkWindow *window, + const gchar *startup_id) { GdkDisplay *display; @@ -2543,22 +2389,9 @@ gdk_window_set_startup_id (GdkWindow *window, gdk_x11_get_xatom_by_name_for_display (display, "_NET_STARTUP_ID")); } -/** - * gdk_window_set_transient_for: - * @window: a toplevel #GdkWindow - * @parent: another toplevel #GdkWindow - * - * Indicates to the window manager that @window is a transient dialog - * associated with the application window @parent. This allows the - * window manager to do things like center @window on @parent and - * keep @window above @parent. - * - * See gtk_window_set_transient_for() if you're using #GtkWindow or - * #GtkDialog. - **/ -void -gdk_window_set_transient_for (GdkWindow *window, - GdkWindow *parent) +static void +gdk_x11_window_set_transient_for (GdkWindow *window, + GdkWindow *parent) { if (!GDK_WINDOW_DESTROYED (window) && !GDK_WINDOW_DESTROYED (parent) && WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -2792,18 +2625,8 @@ gdk_window_x11_get_root_coords (GdkWindow *window, return return_val; } -/** - * gdk_window_get_root_origin: - * @window: a toplevel #GdkWindow - * @x: return location for X position of window frame - * @y: return location for Y position of window frame - * - * Obtains the top-left corner of the window manager frame in root - * window coordinates. - * - **/ -void -gdk_window_get_root_origin (GdkWindow *window, +static void +gdk_x11_window_get_root_origin (GdkWindow *window, gint *x, gint *y) { @@ -2818,20 +2641,9 @@ gdk_window_get_root_origin (GdkWindow *window, *y = rect.y; } -/** - * gdk_window_get_frame_extents: - * @window: a toplevel #GdkWindow - * @rect: rectangle to fill with bounding box of the window frame - * - * Obtains the bounding box of the window, including window manager - * titlebar/borders if any. The frame position is given in root window - * coordinates. To get the position of the window itself (rather than - * the frame) in root window coordinates, use gdk_window_get_origin(). - * - **/ -void -gdk_window_get_frame_extents (GdkWindow *window, - GdkRectangle *rect) +static void +gdk_x11_window_get_frame_extents (GdkWindow *window, + GdkRectangle *rect) { GdkDisplay *display; GdkWindowImplX11 *impl; @@ -3414,23 +3226,8 @@ gdk_window_x11_input_shape_combine_region (GdkWindow *window, } -/** - * gdk_window_set_override_redirect: - * @window: a toplevel #GdkWindow - * @override_redirect: %TRUE if window should be override redirect - * - * An override redirect window is not under the control of the window manager. - * This means it won't have a titlebar, won't be minimizable, etc. - it will - * be entirely under the control of the application. The window manager - * can't see the override redirect window at all. - * - * Override redirect should only be used for short-lived temporary - * windows, such as popup menus. #GtkMenu uses an override redirect - * window in its implementation, for example. - * - **/ -void -gdk_window_set_override_redirect (GdkWindow *window, +static void +gdk_x11_window_set_override_redirect (GdkWindow *window, gboolean override_redirect) { XSetWindowAttributes attr; @@ -3450,22 +3247,9 @@ gdk_window_set_override_redirect (GdkWindow *window, } } -/** - * gdk_window_set_accept_focus: - * @window: a toplevel #GdkWindow - * @accept_focus: %TRUE if the window should receive input focus - * - * Setting @accept_focus to %FALSE hints the desktop environment that the - * window doesn't want to receive input focus. - * - * On X, it is the responsibility of the window manager to interpret this - * hint. ICCCM-compliant window manager usually respect it. - * - * Since: 2.4 - **/ -void -gdk_window_set_accept_focus (GdkWindow *window, - gboolean accept_focus) +static void +gdk_x11_window_set_accept_focus (GdkWindow *window, + gboolean accept_focus) { accept_focus = accept_focus != FALSE; @@ -3479,25 +3263,9 @@ gdk_window_set_accept_focus (GdkWindow *window, } } -/** - * gdk_window_set_focus_on_map: - * @window: a toplevel #GdkWindow - * @focus_on_map: %TRUE if the window should receive input focus when mapped - * - * Setting @focus_on_map to %FALSE hints the desktop environment that the - * window doesn't want to receive input focus when it is mapped. - * focus_on_map should be turned off for windows that aren't triggered - * interactively (such as popups from network activity). - * - * On X, it is the responsibility of the window manager to interpret - * this hint. Window managers following the freedesktop.org window - * manager extension specification should respect it. - * - * Since: 2.6 - **/ -void -gdk_window_set_focus_on_map (GdkWindow *window, - gboolean focus_on_map) +static void +gdk_x11_window_set_focus_on_map (GdkWindow *window, + gboolean focus_on_map) { focus_on_map = focus_on_map != FALSE; @@ -3683,24 +3451,9 @@ gdk_window_update_icon (GdkWindow *window, update_wm_hints (window, FALSE); } -/** - * gdk_window_set_icon_list: - * @window: The #GdkWindow toplevel window to set the icon of. - * @pixbufs: (transfer none) (element-type GdkPixbuf): - * A list of pixbufs, of different sizes. - * - * Sets a list of icons for the window. One of these will be used - * to represent the window when it has been iconified. The icon is - * usually shown in an icon box or some sort of task bar. Which icon - * size is shown depends on the window manager. The window manager - * can scale the icon but setting several size icons can give better - * image quality since the window manager may only need to scale the - * icon by a small amount or not at all. - * - **/ -void -gdk_window_set_icon_list (GdkWindow *window, - GList *pixbufs) +static void +gdk_x11_window_set_icon_list (GdkWindow *window, + GList *pixbufs) { gulong *data; guchar *pixels; @@ -3812,25 +3565,9 @@ gdk_window_icon_name_set (GdkWindow *window) g_quark_from_static_string ("gdk-icon-name-set"))); } -/** - * gdk_window_set_icon_name: - * @window: a toplevel #GdkWindow - * @name: name of window while iconified (minimized) - * - * Windows may have a name used while minimized, distinct from the - * name they display in their titlebar. Most of the time this is a bad - * idea from a user interface standpoint. But you can set such a name - * with this function, if you like. - * - * After calling this with a non-%NULL @name, calls to gdk_window_set_title() - * will not update the icon title. - * - * Using %NULL for @name unsets the icon title; further calls to - * gdk_window_set_title() will again update the icon title as well. - **/ -void -gdk_window_set_icon_name (GdkWindow *window, - const gchar *name) +static void +gdk_x11_window_set_icon_name (GdkWindow *window, + const gchar *name) { GdkDisplay *display; @@ -3866,19 +3603,8 @@ gdk_window_set_icon_name (GdkWindow *window, } } -/** - * gdk_window_iconify: - * @window: a toplevel #GdkWindow - * - * Asks to iconify (minimize) @window. The window manager may choose - * to ignore the request, but normally will honor it. Using - * gtk_window_iconify() is preferred, if you have a #GtkWindow widget. - * - * This function only makes sense when @window is a toplevel window. - * - **/ -void -gdk_window_iconify (GdkWindow *window) +static void +gdk_x11_window_iconify (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -3899,19 +3625,8 @@ gdk_window_iconify (GdkWindow *window) } } -/** - * gdk_window_deiconify: - * @window: a toplevel #GdkWindow - * - * Attempt to deiconify (unminimize) @window. On X11 the window manager may - * choose to ignore the request to deiconify. When using GTK+, - * use gtk_window_deiconify() instead of the #GdkWindow variant. Or better yet, - * you probably want to use gtk_window_present(), which raises the window, focuses it, - * unminimizes it, and puts it on the current desktop. - * - **/ -void -gdk_window_deiconify (GdkWindow *window) +static void +gdk_x11_window_deiconify (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -3930,23 +3645,8 @@ gdk_window_deiconify (GdkWindow *window) } } -/** - * gdk_window_stick: - * @window: a toplevel #GdkWindow - * - * "Pins" a window such that it's on all workspaces and does not scroll - * with viewports, for window managers that have scrollable viewports. - * (When using #GtkWindow, gtk_window_stick() may be more useful.) - * - * On the X11 platform, this function depends on window manager - * support, so may have no effect with many window managers. However, - * GDK will do the best it can to convince the window manager to stick - * the window. For window managers that don't support this operation, - * there's nothing you can do to force it to happen. - * - **/ -void -gdk_window_stick (GdkWindow *window) +static void +gdk_x11_window_stick (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -3993,16 +3693,8 @@ gdk_window_stick (GdkWindow *window) } } -/** - * gdk_window_unstick: - * @window: a toplevel #GdkWindow - * - * Reverse operation for gdk_window_stick(); see gdk_window_stick(), - * and gtk_window_unstick(). - * - **/ -void -gdk_window_unstick (GdkWindow *window) +static void +gdk_x11_window_unstick (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -4027,25 +3719,8 @@ gdk_window_unstick (GdkWindow *window) } } -/** - * gdk_window_maximize: - * @window: a toplevel #GdkWindow - * - * Maximizes the window. If the window was already maximized, then - * this function does nothing. - * - * On X11, asks the window manager to maximize @window, if the window - * manager supports this operation. Not all window managers support - * this, and some deliberately ignore it or don't have a concept of - * "maximized"; so you can't rely on the maximization actually - * happening. But it will happen with most standard window managers, - * and GDK makes a best effort to get it to happen. - * - * On Windows, reliably maximizes the window. - * - **/ -void -gdk_window_maximize (GdkWindow *window) +static void +gdk_x11_window_maximize (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -4061,25 +3736,8 @@ gdk_window_maximize (GdkWindow *window) GDK_WINDOW_STATE_MAXIMIZED); } -/** - * gdk_window_unmaximize: - * @window: a toplevel #GdkWindow - * - * Unmaximizes the window. If the window wasn't maximized, then this - * function does nothing. - * - * On X11, asks the window manager to unmaximize @window, if the - * window manager supports this operation. Not all window managers - * support this, and some deliberately ignore it or don't have a - * concept of "maximized"; so you can't rely on the unmaximization - * actually happening. But it will happen with most standard window - * managers, and GDK makes a best effort to get it to happen. - * - * On Windows, reliably unmaximizes the window. - * - **/ -void -gdk_window_unmaximize (GdkWindow *window) +static void +gdk_x11_window_unmaximize (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -4095,28 +3753,8 @@ gdk_window_unmaximize (GdkWindow *window) 0); } -/** - * gdk_window_fullscreen: - * @window: a toplevel #GdkWindow - * - * Moves the window into fullscreen mode. This means the - * window covers the entire screen and is above any panels - * or task bars. - * - * If the window was already fullscreen, then this function does nothing. - * - * On X11, asks the window manager to put @window in a fullscreen - * state, if the window manager supports this operation. Not all - * window managers support this, and some deliberately ignore it or - * don't have a concept of "fullscreen"; so you can't rely on the - * fullscreenification actually happening. But it will happen with - * most standard window managers, and GDK makes a best effort to get - * it to happen. - * - * Since: 2.2 - **/ -void -gdk_window_fullscreen (GdkWindow *window) +static void +gdk_x11_window_fullscreen (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -4133,25 +3771,8 @@ gdk_window_fullscreen (GdkWindow *window) GDK_WINDOW_STATE_FULLSCREEN); } -/** - * gdk_window_unfullscreen: - * @window: a toplevel #GdkWindow - * - * Moves the window out of fullscreen mode. If the window was not - * fullscreen, does nothing. - * - * On X11, asks the window manager to move @window out of the fullscreen - * state, if the window manager supports this operation. Not all - * window managers support this, and some deliberately ignore it or - * don't have a concept of "fullscreen"; so you can't rely on the - * unfullscreenification actually happening. But it will happen with - * most standard window managers, and GDK makes a best effort to get - * it to happen. - * - * Since: 2.2 - **/ -void -gdk_window_unfullscreen (GdkWindow *window) +static void +gdk_x11_window_unfullscreen (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -4168,26 +3789,9 @@ gdk_window_unfullscreen (GdkWindow *window) 0); } -/** - * gdk_window_set_keep_above: - * @window: a toplevel #GdkWindow - * @setting: whether to keep @window above other windows - * - * Set if @window must be kept above other windows. If the - * window was already above, then this function does nothing. - * - * On X11, asks the window manager to keep @window above, if the window - * manager supports this operation. Not all window managers support - * this, and some deliberately ignore it or don't have a concept of - * "keep above"; so you can't rely on the window being kept above. - * But it will happen with most standard window managers, - * and GDK makes a best effort to get it to happen. - * - * Since: 2.4 - **/ -void -gdk_window_set_keep_above (GdkWindow *window, - gboolean setting) +static void +gdk_x11_window_set_keep_above (GdkWindow *window, + gboolean setting) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -4211,25 +3815,8 @@ gdk_window_set_keep_above (GdkWindow *window, setting ? GDK_WINDOW_STATE_ABOVE : 0); } -/** - * gdk_window_set_keep_below: - * @window: a toplevel #GdkWindow - * @setting: whether to keep @window below other windows - * - * Set if @window must be kept below other windows. If the - * window was already below, then this function does nothing. - * - * On X11, asks the window manager to keep @window below, if the window - * manager supports this operation. Not all window managers support - * this, and some deliberately ignore it or don't have a concept of - * "keep below"; so you can't rely on the window being kept below. - * But it will happen with most standard window managers, - * and GDK makes a best effort to get it to happen. - * - * Since: 2.4 - **/ -void -gdk_window_set_keep_below (GdkWindow *window, gboolean setting) +static void +gdk_x11_window_set_keep_below (GdkWindow *window, gboolean setting) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -4253,18 +3840,8 @@ gdk_window_set_keep_below (GdkWindow *window, gboolean setting) setting ? GDK_WINDOW_STATE_BELOW : 0); } -/** - * gdk_window_get_group: - * @window: a toplevel #GdkWindow - * - * Returns the group leader window for @window. See gdk_window_set_group(). - * - * Return value: (transfer none): the group leader window for @window - * - * Since: 2.4 - **/ -GdkWindow * -gdk_window_get_group (GdkWindow *window) +static GdkWindow * +gdk_x11_window_get_group (GdkWindow *window) { GdkToplevelX11 *toplevel; @@ -4277,25 +3854,9 @@ gdk_window_get_group (GdkWindow *window) return toplevel->group_leader; } -/** - * gdk_window_set_group: - * @window: a toplevel #GdkWindow - * @leader: group leader window, or %NULL to restore the default group leader window - * - * Sets the group leader window for @window. By default, - * GDK sets the group leader for all toplevel windows - * to a global window implicitly created by GDK. With this function - * you can override this default. - * - * The group leader window allows the window manager to distinguish - * all windows that belong to a single application. It may for example - * allow users to minimize/unminimize all windows belonging to an - * application at once. You should only set a non-default group window - * if your application pretends to be multiple applications. - **/ -void -gdk_window_set_group (GdkWindow *window, - GdkWindow *leader) +static void +gdk_x11_window_set_group (GdkWindow *window, + GdkWindow *leader) { GdkToplevelX11 *toplevel; @@ -4404,30 +3965,9 @@ gdk_window_set_mwm_hints (GdkWindow *window, XFree (hints); } -/** - * gdk_window_set_decorations: - * @window: a toplevel #GdkWindow - * @decorations: decoration hint mask - * - * "Decorations" are the features the window manager adds to a toplevel #GdkWindow. - * This function sets the traditional Motif window manager hints that tell the - * window manager which decorations you would like your window to have. - * Usually you should use gtk_window_set_decorated() on a #GtkWindow instead of - * using the GDK function directly. - * - * The @decorations argument is the logical OR of the fields in - * the #GdkWMDecoration enumeration. If #GDK_DECOR_ALL is included in the - * mask, the other bits indicate which decorations should be turned off. - * If #GDK_DECOR_ALL is not included, then the other bits indicate - * which decorations should be turned on. - * - * Most window managers honor a decorations hint of 0 to disable all decorations, - * but very few honor all possible combinations of bits. - * - **/ -void -gdk_window_set_decorations (GdkWindow *window, - GdkWMDecoration decorations) +static void +gdk_x11_window_set_decorations (GdkWindow *window, + GdkWMDecoration decorations) { MotifWmHints hints; @@ -4443,19 +3983,9 @@ gdk_window_set_decorations (GdkWindow *window, gdk_window_set_mwm_hints (window, &hints); } -/** - * gdk_window_get_decorations: - * @window: The toplevel #GdkWindow to get the decorations from - * @decorations: The window decorations will be written here - * - * Returns the decorations set on the GdkWindow with - * gdk_window_set_decorations(). - * - * Returns: %TRUE if the window has decorations set, %FALSE otherwise. - **/ -gboolean -gdk_window_get_decorations(GdkWindow *window, - GdkWMDecoration *decorations) +static gboolean +gdk_x11_window_get_decorations(GdkWindow *window, + GdkWMDecoration *decorations) { MotifWmHints *hints; gboolean result = FALSE; @@ -4481,28 +4011,8 @@ gdk_window_get_decorations(GdkWindow *window, return result; } -/** - * gdk_window_set_functions: - * @window: a toplevel #GdkWindow - * @functions: bitmask of operations to allow on @window - * - * Sets hints about the window management functions to make available - * via buttons on the window frame. - * - * On the X backend, this function sets the traditional Motif window - * manager hint for this purpose. However, few window managers do - * anything reliable or interesting with this hint. Many ignore it - * entirely. - * - * The @functions argument is the logical OR of values from the - * #GdkWMFunction enumeration. If the bitmask includes #GDK_FUNC_ALL, - * then the other bits indicate which functions to disable; if - * it doesn't include #GDK_FUNC_ALL, it indicates which functions to - * enable. - * - **/ -void -gdk_window_set_functions (GdkWindow *window, +static void +gdk_x11_window_set_functions (GdkWindow *window, GdkWMFunction functions) { MotifWmHints hints; @@ -5192,29 +4702,13 @@ emulate_move_drag (GdkWindow *window, create_moveresize_window (mv_resize, timestamp); } -/** - * gdk_window_begin_resize_drag: - * @window: a toplevel #GdkWindow - * @edge: the edge or corner from which the drag is started - * @button: the button being used to drag - * @root_x: root window X coordinate of mouse click that began the drag - * @root_y: root window Y coordinate of mouse click that began the drag - * @timestamp: timestamp of mouse click that began the drag (use gdk_event_get_time()) - * - * Begins a window resize operation (for a toplevel window). - * You might use this function to implement a "window resize grip," for - * example; in fact #GtkStatusbar uses it. The function works best - * with window managers that support the Extended Window Manager Hints, but has a - * fallback implementation for other window managers. - * - **/ -void -gdk_window_begin_resize_drag (GdkWindow *window, - GdkWindowEdge edge, - gint button, - gint root_x, - gint root_y, - guint32 timestamp) +static void +gdk_x11_window_begin_resize_drag (GdkWindow *window, + GdkWindowEdge edge, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL_OR_FOREIGN (window)) @@ -5227,28 +4721,12 @@ gdk_window_begin_resize_drag (GdkWindow *window, emulate_resize_drag (window, edge, button, root_x, root_y, timestamp); } -/** - * gdk_window_begin_move_drag: - * @window: a toplevel #GdkWindow - * @button: the button being used to drag - * @root_x: root window X coordinate of mouse click that began the drag - * @root_y: root window Y coordinate of mouse click that began the drag - * @timestamp: timestamp of mouse click that began the drag - * - * Begins a window move operation (for a toplevel window). You might - * use this function to implement a "window move grip," for - * example. The function works best with window managers that support - * the Extended - * Window Manager Hints, but has a fallback implementation for - * other window managers. - * - **/ -void -gdk_window_begin_move_drag (GdkWindow *window, - gint button, - gint root_x, - gint root_y, - guint32 timestamp) +static void +gdk_x11_window_begin_move_drag (GdkWindow *window, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) @@ -5262,25 +4740,8 @@ gdk_window_begin_move_drag (GdkWindow *window, emulate_move_drag (window, button, root_x, root_y, timestamp); } -/** - * gdk_window_enable_synchronized_configure: - * @window: a toplevel #GdkWindow - * - * Indicates that the application will cooperate with the window - * system in synchronizing the window repaint with the window - * manager during resizing operations. After an application calls - * this function, it must call gdk_window_configure_finished() every - * time it has finished all processing associated with a set of - * Configure events. Toplevel GTK+ windows automatically use this - * protocol. - * - * On X, calling this function makes @window participate in the - * _NET_WM_SYNC_REQUEST window manager protocol. - * - * Since: 2.6 - **/ -void -gdk_window_enable_synchronized_configure (GdkWindow *window) +static void +gdk_x11_window_enable_synchronized_configure (GdkWindow *window) { GdkWindowImplX11 *impl; @@ -5300,23 +4761,8 @@ gdk_window_enable_synchronized_configure (GdkWindow *window) } } -/** - * gdk_window_configure_finished: - * @window: a toplevel #GdkWindow - * - * Signal to the window system that the application has finished - * handling Configure events it has received. Window Managers can - * use this to better synchronize the frame repaint with the - * application. GTK+ applications will automatically call this - * function when appropriate. - * - * This function can only be called if gdk_window_enable_synchronized_configure() - * was called previously. - * - * Since: 2.6 - **/ -void -gdk_window_configure_finished (GdkWindow *window) +static void +gdk_x11_window_configure_finished (GdkWindow *window) { GdkWindowImplX11 *impl; @@ -5368,27 +4814,9 @@ gdk_x11_window_beep (GdkWindow *window) return FALSE; } -/** - * gdk_window_set_opacity: - * @window: a top-level #GdkWindow - * @opacity: opacity - * - * Request the windowing system to make @window partially transparent, - * with opacity 0 being fully transparent and 1 fully opaque. (Values - * of the opacity parameter are clamped to the [0,1] range.) - * - * On X11, this works only on X screens with a compositing manager - * running. - * - * For setting up per-pixel alpha, see gdk_screen_get_rgba_visual(). - * For making non-toplevel windows translucent, see - * gdk_window_set_composited(). - * - * Since: 2.12 - */ -void -gdk_window_set_opacity (GdkWindow *window, - gdouble opacity) +static void +gdk_x11_window_set_opacity (GdkWindow *window, + gdouble opacity) { GdkDisplay *display; guint32 cardinal; @@ -5590,5 +5018,48 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->get_shape = gdk_x11_window_get_shape; impl_class->get_input_shape = gdk_x11_window_get_input_shape; impl_class->beep = gdk_x11_window_beep; + + impl_class->focus = gdk_x11_window_focus; + impl_class->set_type_hint = gdk_x11_window_set_type_hint; + impl_class->get_type_hint = gdk_x11_window_get_type_hint; + impl_class->set_modal_hint = gdk_x11_window_set_modal_hint; + impl_class->set_skip_taskbar_hint = gdk_x11_window_set_skip_taskbar_hint; + impl_class->set_skip_pager_hint = gdk_x11_window_set_skip_pager_hint; + impl_class->set_urgency_hint = gdk_x11_window_set_urgency_hint; + impl_class->set_geometry_hints = gdk_x11_window_set_geometry_hints; + impl_class->set_title = gdk_x11_window_set_title; + impl_class->set_role = gdk_x11_window_set_role; + impl_class->set_startup_id = gdk_x11_window_set_startup_id; + impl_class->set_transient_for = gdk_x11_window_set_transient_for; + impl_class->get_root_origin = gdk_x11_window_get_root_origin; + impl_class->get_frame_extents = gdk_x11_window_get_frame_extents; + impl_class->set_override_redirect = gdk_x11_window_set_override_redirect; + impl_class->set_accept_focus = gdk_x11_window_set_accept_focus; + impl_class->set_focus_on_map = gdk_x11_window_set_focus_on_map; + impl_class->set_icon_list = gdk_x11_window_set_icon_list; + impl_class->set_icon_name = gdk_x11_window_set_icon_name; + impl_class->iconify = gdk_x11_window_iconify; + impl_class->deiconify = gdk_x11_window_deiconify; + impl_class->stick = gdk_x11_window_stick; + impl_class->unstick = gdk_x11_window_unstick; + impl_class->maximize = gdk_x11_window_maximize; + impl_class->unmaximize = gdk_x11_window_unmaximize; + impl_class->fullscreen = gdk_x11_window_fullscreen; + impl_class->unfullscreen = gdk_x11_window_unfullscreen; + impl_class->set_keep_above = gdk_x11_window_set_keep_above; + impl_class->set_keep_below = gdk_x11_window_set_keep_below; + impl_class->get_group = gdk_x11_window_get_group; + impl_class->set_group = gdk_x11_window_set_group; + impl_class->set_decorations = gdk_x11_window_set_decorations; + impl_class->get_decorations = gdk_x11_window_get_decorations; + impl_class->set_functions = gdk_x11_window_set_functions; + impl_class->set_functions = gdk_x11_window_set_functions; + impl_class->begin_resize_drag = gdk_x11_window_begin_resize_drag; + impl_class->begin_move_drag = gdk_x11_window_begin_move_drag; + impl_class->enable_synchronized_configure = gdk_x11_window_enable_synchronized_configure; + impl_class->configure_finished = gdk_x11_window_configure_finished; + impl_class->set_opacity = gdk_x11_window_set_opacity; + impl_class->destroy_notify = gdk_x11_window_destroy_notify; + impl_class->register_dnd = _gdk_x11_window_register_dnd; } From f1c32f109db2dd88576b0d48188aa9f0aa90960c Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Sun, 5 Dec 2010 22:12:48 +0100 Subject: [PATCH 0614/1463] Hide GdkDisplayClass from public header There is no need for apps to access this class, as its only implemented in the gdk backends, and we want to be free to change it later. --- gdk/gdkdisplay.h | 16 ---------------- gdk/gdkinternals.h | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 381f45e844..bd99b1dd5a 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -116,22 +116,6 @@ struct _GdkDisplay GdkDeviceManager *GSEAL (device_manager); }; -struct _GdkDisplayClass -{ - GObjectClass parent_class; - - G_CONST_RETURN gchar * (*get_display_name) (GdkDisplay *display); - gint (*get_n_screens) (GdkDisplay *display); - GdkScreen * (*get_screen) (GdkDisplay *display, - gint screen_num); - GdkScreen * (*get_default_screen) (GdkDisplay *display); - - - /* Signals */ - void (*closed) (GdkDisplay *display, - gboolean is_error); -}; - /** * GdkDisplayPointerHooks: * @get_pointer: Obtains the current pointer position and modifier state. diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index d9fa2c000a..65c3aa56d5 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -271,6 +271,22 @@ struct _GdkWindow #define GDK_WINDOW_TYPE(d) (((GDK_WINDOW (d)))->window_type) #define GDK_WINDOW_DESTROYED(d) (GDK_WINDOW (d)->destroyed) +struct _GdkDisplayClass +{ + GObjectClass parent_class; + + G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display); + gint (*get_n_screens) (GdkDisplay *display); + GdkScreen * (*get_screen) (GdkDisplay *display, + gint screen_num); + GdkScreen * (*get_default_screen) (GdkDisplay *display); + + + /* Signals */ + void (*closed) (GdkDisplay *display, + gboolean is_error); +}; + extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; From 5fda1669eaab36a31be9fb4b5e5d2fcb5f2e0b72 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Sun, 5 Dec 2010 22:37:03 +0100 Subject: [PATCH 0615/1463] Make display method vtable calls --- gdk/gdkdisplay.c | 374 +++++++++++++++++++++++++++++++++++++ gdk/gdkinternals.h | 24 +++ gdk/x11/gdkdisplay-x11.c | 389 ++++++++------------------------------- 3 files changed, 476 insertions(+), 311 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index ed63756ec0..a6197c28fc 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1831,3 +1831,377 @@ gdk_display_get_device_manager (GdkDisplay *display) return display->device_manager; } + +/** + * gdk_display_get_name: + * @display: a #GdkDisplay + * + * Gets the name of the display. + * + * Returns: a string representing the display name. This string is owned + * by GDK and should not be modified or freed. + * + * Since: 2.2 + */ +G_CONST_RETURN gchar * +gdk_display_get_name (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->get_name (display); +} + +/** + * gdk_display_get_n_screens: + * @display: a #GdkDisplay + * + * Gets the number of screen managed by the @display. + * + * Returns: number of screens. + * + * Since: 2.2 + */ +gint +gdk_display_get_n_screens (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->get_n_screens (display); +} + +/** + * gdk_display_get_screen: + * @display: a #GdkDisplay + * @screen_num: the screen number + * + * Returns a screen object for one of the screens of the display. + * + * Returns: (transfer none): the #GdkScreen object + * + * Since: 2.2 + */ +GdkScreen * +gdk_display_get_screen (GdkDisplay *display, + gint screen_num) +{ + return GDK_DISPLAY_GET_CLASS(display)->get_screen (display, screen_num); +} + +/** + * gdk_display_get_default_screen: + * @display: a #GdkDisplay + * + * Get the default #GdkScreen for @display. + * + * Returns: (transfer none): the default #GdkScreen object for @display + * + * Since: 2.2 + */ +GdkScreen * +gdk_display_get_default_screen (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->get_default_screen (display); +} + +/** + * gdk_display_beep: + * @display: a #GdkDisplay + * + * Emits a short beep on @display + * + * Since: 2.2 + */ +void +gdk_display_beep (GdkDisplay *display) +{ + GDK_DISPLAY_GET_CLASS(display)->beep (display); +} + +/** + * gdk_display_sync: + * @display: a #GdkDisplay + * + * Flushes any requests queued for the windowing system and waits until all + * requests have been handled. This is often used for making sure that the + * display is synchronized with the current state of the program. Calling + * gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors + * generated from earlier requests are handled before the error trap is + * removed. + * + * This is most useful for X11. On windowing systems where requests are + * handled synchronously, this function will do nothing. + * + * Since: 2.2 + */ +void +gdk_display_sync (GdkDisplay *display) +{ + GDK_DISPLAY_GET_CLASS(display)->sync (display); +} + +/** + * gdk_display_flush: + * @display: a #GdkDisplay + * + * Flushes any requests queued for the windowing system; this happens automatically + * when the main loop blocks waiting for new events, but if your application + * is drawing without returning control to the main loop, you may need + * to call this function explicitely. A common case where this function + * needs to be called is when an application is executing drawing commands + * from a thread other than the thread where the main loop is running. + * + * This is most useful for X11. On windowing systems where requests are + * handled synchronously, this function will do nothing. + * + * Since: 2.4 + */ +void +gdk_display_flush (GdkDisplay *display) +{ + GDK_DISPLAY_GET_CLASS(display)->flush (display); +} + +/** + * gdk_display_get_default_group: + * @display: a #GdkDisplay + * + * Returns the default group leader window for all toplevel windows + * on @display. This window is implicitly created by GDK. + * See gdk_window_set_group(). + * + * Return value: (transfer none): The default group leader window + * for @display + * + * Since: 2.4 + **/ +GdkWindow * +gdk_display_get_default_group (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->get_default_group (display); +} + +/** + * gdk_display_supports_selection_notification: + * @display: a #GdkDisplay + * + * Returns whether #GdkEventOwnerChange events will be + * sent when the owner of a selection changes. + * + * Return value: whether #GdkEventOwnerChange events will + * be sent. + * + * Since: 2.6 + **/ +gboolean +gdk_display_supports_selection_notification (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->supports_selection_notification (display); +} + +/** + * gdk_display_request_selection_notification: + * @display: a #GdkDisplay + * @selection: the #GdkAtom naming the selection for which + * ownership change notification is requested + * + * Request #GdkEventOwnerChange events for ownership changes + * of the selection named by the given atom. + * + * Return value: whether #GdkEventOwnerChange events will + * be sent. + * + * Since: 2.6 + **/ +gboolean +gdk_display_request_selection_notification (GdkDisplay *display, + GdkAtom selection) + +{ + return GDK_DISPLAY_GET_CLASS(display)->request_selection_notification (display, selection); +} + +/** + * gdk_display_supports_clipboard_persistence + * @display: a #GdkDisplay + * + * Returns whether the speicifed display supports clipboard + * persistance; i.e. if it's possible to store the clipboard data after an + * application has quit. On X11 this checks if a clipboard daemon is + * running. + * + * Returns: %TRUE if the display supports clipboard persistance. + * + * Since: 2.6 + */ +gboolean +gdk_display_supports_clipboard_persistence (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->supports_clipboard_persistence (display); +} + +/** + * gdk_display_store_clipboard + * @display: a #GdkDisplay + * @clipboard_window: a #GdkWindow belonging to the clipboard owner + * @time_: a timestamp + * @targets: an array of targets that should be saved, or %NULL + * if all available targets should be saved. + * @n_targets: length of the @targets array + * + * Issues a request to the clipboard manager to store the + * clipboard data. On X11, this is a special program that works + * according to the freedesktop clipboard specification, available at + * + * http://www.freedesktop.org/Standards/clipboard-manager-spec. + * + * Since: 2.6 + */ +void +gdk_display_store_clipboard (GdkDisplay *display, + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets) +{ + GDK_DISPLAY_GET_CLASS(display)->store_clipboard (display, clipboard_window, time_, targets, n_targets); +} + +/** + * gdk_display_supports_shapes: + * @display: a #GdkDisplay + * + * Returns %TRUE if gdk_window_shape_combine_mask() can + * be used to create shaped windows on @display. + * + * Returns: %TRUE if shaped windows are supported + * + * Since: 2.10 + */ +gboolean +gdk_display_supports_shapes (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->supports_shapes (display); +} + +/** + * gdk_display_supports_input_shapes: + * @display: a #GdkDisplay + * + * Returns %TRUE if gdk_window_input_shape_combine_mask() can + * be used to modify the input shape of windows on @display. + * + * Returns: %TRUE if windows with modified input shape are supported + * + * Since: 2.10 + */ +gboolean +gdk_display_supports_input_shapes (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->supports_input_shapes (display); +} + +/** + * gdk_display_supports_composite: + * @display: a #GdkDisplay + * + * Returns %TRUE if gdk_window_set_composited() can be used + * to redirect drawing on the window using compositing. + * + * Currently this only works on X11 with XComposite and + * XDamage extensions available. + * + * Returns: %TRUE if windows may be composited. + * + * Since: 2.12 + */ +gboolean +gdk_display_supports_composite (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->supports_composite (display); +} + +/** + * gdk_display_list_devices: + * @display: a #GdkDisplay + * + * Returns the list of available input devices attached to @display. + * The list is statically allocated and should not be freed. + * + * Return value: (transfer none) (element-type GdkDevice): + * a list of #GdkDevice + * + * Since: 2.2 + * + * Deprecated: 3.0: Use gdk_device_manager_list_devices() instead. + **/ +GList * +gdk_display_list_devices (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->list_devices (display); +} + +/** + * gdk_event_send_client_message_for_display: + * @display: the #GdkDisplay for the window where the message is to be sent. + * @event: the #GdkEvent to send, which should be a #GdkEventClient. + * @winid: the window to send the client message to. + * + * On X11, sends an X ClientMessage event to a given window. On + * Windows, sends a message registered with the name + * GDK_WIN32_CLIENT_MESSAGE. + * + * This could be used for communicating between different + * applications, though the amount of data is limited to 20 bytes on + * X11, and to just four bytes on Windows. + * + * Returns: non-zero on success. + * + * Since: 2.2 + */ +gboolean +gdk_event_send_client_message_for_display (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid) +{ + return GDK_DISPLAY_GET_CLASS(display)->send_client_message (display, event, winid); +} + +/** + * gdk_display_add_client_message_filter: + * @display: a #GdkDisplay for which this message filter applies + * @message_type: the type of ClientMessage events to receive. + * This will be checked against the @message_type field + * of the XClientMessage event struct. + * @func: the function to call to process the event. + * @data: user data to pass to @func. + * + * Adds a filter to be called when X ClientMessage events are received. + * See gdk_window_add_filter() if you are interested in filtering other + * types of events. + * + * Since: 2.2 + **/ +void +gdk_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data) +{ + GDK_DISPLAY_GET_CLASS(display)->add_client_message_filter (display, message_type, func, data); +} + +/** + * gdk_add_client_message_filter: + * @message_type: the type of ClientMessage events to receive. This will be + * checked against the message_type field of the + * XClientMessage event struct. + * @func: the function to call to process the event. + * @data: user data to pass to @func. + * + * Adds a filter to the default display to be called when X ClientMessage events + * are received. See gdk_display_add_client_message_filter(). + **/ +void +gdk_add_client_message_filter (GdkAtom message_type, + GdkFilterFunc func, + gpointer data) +{ + gdk_display_add_client_message_filter (gdk_display_get_default (), + message_type, func, data); +} diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 65c3aa56d5..f5df53aaf0 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -280,6 +280,30 @@ struct _GdkDisplayClass GdkScreen * (*get_screen) (GdkDisplay *display, gint screen_num); GdkScreen * (*get_default_screen) (GdkDisplay *display); + void (*beep) (GdkDisplay *display); + void (*sync) (GdkDisplay *display); + void (*flush) (GdkDisplay *display); + GdkWindow * (*get_default_group) (GdkDisplay *display); + gboolean (*supports_selection_notification) (GdkDisplay *display); + gboolean (*request_selection_notification) (GdkDisplay *display, + GdkAtom selection); + gboolean (*supports_clipboard_persistence) (GdkDisplay *display); + void (*store_clipboard) (GdkDisplay *display, + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets); + gboolean (*supports_shapes) (GdkDisplay *display); + gboolean (*supports_input_shapes) (GdkDisplay *display); + gboolean (*supports_composite) (GdkDisplay *display); + GList * (*list_devices) (GdkDisplay *display); + gboolean (*send_client_message) (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid); + void (*add_client_message_filter) (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data); /* Signals */ diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 27ef251919..d09bec571a 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -162,15 +162,6 @@ G_DEFINE_TYPE_WITH_CODE (GdkDisplayX11, _gdk_display_x11, GDK_TYPE_DISPLAY, gdk_display_x11_event_translator_init)) -static void -_gdk_display_x11_class_init (GdkDisplayX11Class * class) -{ - GObjectClass *object_class = G_OBJECT_CLASS (class); - - object_class->dispose = gdk_display_x11_dispose; - object_class->finalize = gdk_display_x11_finalize; -} - static void _gdk_display_x11_init (GdkDisplayX11 *display) { @@ -1526,57 +1517,25 @@ gdk_internal_connection_watch (Display *display, } #endif /* HAVE_X11R6 */ -/** - * gdk_display_get_name: - * @display: a #GdkDisplay - * - * Gets the name of the display. - * - * Returns: a string representing the display name. This string is owned - * by GDK and should not be modified or freed. - * - * Since: 2.2 - */ -G_CONST_RETURN gchar * -gdk_display_get_name (GdkDisplay *display) +static G_CONST_RETURN gchar * +gdk_x11_display_get_name (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - + return (gchar *) DisplayString (GDK_DISPLAY_X11 (display)->xdisplay); } -/** - * gdk_display_get_n_screens: - * @display: a #GdkDisplay - * - * Gets the number of screen managed by the @display. - * - * Returns: number of screens. - * - * Since: 2.2 - */ -gint -gdk_display_get_n_screens (GdkDisplay *display) +static gint +gdk_x11_display_get_n_screens (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); return ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay); } -/** - * gdk_display_get_screen: - * @display: a #GdkDisplay - * @screen_num: the screen number - * - * Returns a screen object for one of the screens of the display. - * - * Returns: (transfer none): the #GdkScreen object - * - * Since: 2.2 - */ -GdkScreen * -gdk_display_get_screen (GdkDisplay *display, - gint screen_num) +static GdkScreen * +gdk_x11_display_get_screen (GdkDisplay *display, + gint screen_num) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num, NULL); @@ -1584,18 +1543,8 @@ gdk_display_get_screen (GdkDisplay *display, return GDK_DISPLAY_X11 (display)->screens[screen_num]; } -/** - * gdk_display_get_default_screen: - * @display: a #GdkDisplay - * - * Get the default #GdkScreen for @display. - * - * Returns: (transfer none): the default #GdkScreen object for @display - * - * Since: 2.2 - */ -GdkScreen * -gdk_display_get_default_screen (GdkDisplay *display) +static GdkScreen * +gdk_x11_display_get_default_screen (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); @@ -1683,16 +1632,8 @@ gdk_device_ungrab (GdkDevice *device, } } -/** - * gdk_display_beep: - * @display: a #GdkDisplay - * - * Emits a short beep on @display - * - * Since: 2.2 - */ -void -gdk_display_beep (GdkDisplay *display) +static void +gdk_x11_display_beep (GdkDisplay *display) { g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -1703,48 +1644,16 @@ gdk_display_beep (GdkDisplay *display) #endif } -/** - * gdk_display_sync: - * @display: a #GdkDisplay - * - * Flushes any requests queued for the windowing system and waits until all - * requests have been handled. This is often used for making sure that the - * display is synchronized with the current state of the program. Calling - * gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors - * generated from earlier requests are handled before the error trap is - * removed. - * - * This is most useful for X11. On windowing systems where requests are - * handled synchronously, this function will do nothing. - * - * Since: 2.2 - */ -void -gdk_display_sync (GdkDisplay *display) +static void +gdk_x11_display_sync (GdkDisplay *display) { g_return_if_fail (GDK_IS_DISPLAY (display)); XSync (GDK_DISPLAY_XDISPLAY (display), False); } -/** - * gdk_display_flush: - * @display: a #GdkDisplay - * - * Flushes any requests queued for the windowing system; this happens automatically - * when the main loop blocks waiting for new events, but if your application - * is drawing without returning control to the main loop, you may need - * to call this function explicitely. A common case where this function - * needs to be called is when an application is executing drawing commands - * from a thread other than the thread where the main loop is running. - * - * This is most useful for X11. On windowing systems where requests are - * handled synchronously, this function will do nothing. - * - * Since: 2.4 - */ -void -gdk_display_flush (GdkDisplay *display) +static void +gdk_x11_display_flush (GdkDisplay *display) { g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -1752,21 +1661,8 @@ gdk_display_flush (GdkDisplay *display) XFlush (GDK_DISPLAY_XDISPLAY (display)); } -/** - * gdk_display_get_default_group: - * @display: a #GdkDisplay - * - * Returns the default group leader window for all toplevel windows - * on @display. This window is implicitly created by GDK. - * See gdk_window_set_group(). - * - * Return value: (transfer none): The default group leader window - * for @display - * - * Since: 2.4 - **/ -GdkWindow * -gdk_display_get_default_group (GdkDisplay *display) +static GdkWindow * +gdk_x11_display_get_default_group (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); @@ -2230,43 +2126,17 @@ gdk_notify_startup_complete_with_id (const gchar* startup_id) NULL); } -/** - * gdk_display_supports_selection_notification: - * @display: a #GdkDisplay - * - * Returns whether #GdkEventOwnerChange events will be - * sent when the owner of a selection changes. - * - * Return value: whether #GdkEventOwnerChange events will - * be sent. - * - * Since: 2.6 - **/ -gboolean -gdk_display_supports_selection_notification (GdkDisplay *display) +static gboolean +gdk_x11_display_supports_selection_notification (GdkDisplay *display) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); return display_x11->have_xfixes; } -/** - * gdk_display_request_selection_notification: - * @display: a #GdkDisplay - * @selection: the #GdkAtom naming the selection for which - * ownership change notification is requested - * - * Request #GdkEventOwnerChange events for ownership changes - * of the selection named by the given atom. - * - * Return value: whether #GdkEventOwnerChange events will - * be sent. - * - * Since: 2.6 - **/ -gboolean -gdk_display_request_selection_notification (GdkDisplay *display, - GdkAtom selection) +static gboolean +gdk_x11_display_request_selection_notification (GdkDisplay *display, + GdkAtom selection) { #ifdef HAVE_XFIXES @@ -2290,21 +2160,8 @@ gdk_display_request_selection_notification (GdkDisplay *display, return FALSE; } -/** - * gdk_display_supports_clipboard_persistence - * @display: a #GdkDisplay - * - * Returns whether the speicifed display supports clipboard - * persistance; i.e. if it's possible to store the clipboard data after an - * application has quit. On X11 this checks if a clipboard daemon is - * running. - * - * Returns: %TRUE if the display supports clipboard persistance. - * - * Since: 2.6 - */ -gboolean -gdk_display_supports_clipboard_persistence (GdkDisplay *display) +static gboolean +gdk_x11_display_supports_clipboard_persistence (GdkDisplay *display) { Atom clipboard_manager; @@ -2313,29 +2170,12 @@ gdk_display_supports_clipboard_persistence (GdkDisplay *display) return XGetSelectionOwner (GDK_DISPLAY_X11 (display)->xdisplay, clipboard_manager) != None; } -/** - * gdk_display_store_clipboard - * @display: a #GdkDisplay - * @clipboard_window: a #GdkWindow belonging to the clipboard owner - * @time_: a timestamp - * @targets: an array of targets that should be saved, or %NULL - * if all available targets should be saved. - * @n_targets: length of the @targets array - * - * Issues a request to the clipboard manager to store the - * clipboard data. On X11, this is a special program that works - * according to the freedesktop clipboard specification, available at - * - * http://www.freedesktop.org/Standards/clipboard-manager-spec. - * - * Since: 2.6 - */ -void -gdk_display_store_clipboard (GdkDisplay *display, - GdkWindow *clipboard_window, - guint32 time_, - const GdkAtom *targets, - gint n_targets) +static void +gdk_x11_display_store_clipboard (GdkDisplay *display, + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); Atom clipboard_manager, save_targets; @@ -2396,36 +2236,14 @@ gdk_x11_display_get_user_time (GdkDisplay *display) return GDK_DISPLAY_X11 (display)->user_time; } -/** - * gdk_display_supports_shapes: - * @display: a #GdkDisplay - * - * Returns %TRUE if gdk_window_shape_combine_mask() can - * be used to create shaped windows on @display. - * - * Returns: %TRUE if shaped windows are supported - * - * Since: 2.10 - */ -gboolean -gdk_display_supports_shapes (GdkDisplay *display) +static gboolean +gdk_x11_display_supports_shapes (GdkDisplay *display) { return GDK_DISPLAY_X11 (display)->have_shapes; } -/** - * gdk_display_supports_input_shapes: - * @display: a #GdkDisplay - * - * Returns %TRUE if gdk_window_input_shape_combine_mask() can - * be used to modify the input shape of windows on @display. - * - * Returns: %TRUE if windows with modified input shape are supported - * - * Since: 2.10 - */ -gboolean -gdk_display_supports_input_shapes (GdkDisplay *display) +static gboolean +gdk_x11_display_supports_input_shapes (GdkDisplay *display) { return GDK_DISPLAY_X11 (display)->have_input_shapes; } @@ -2510,22 +2328,8 @@ gdk_x11_display_set_startup_notification_id (GdkDisplay *display, (guchar *)startup_id, strlen (startup_id)); } -/** - * gdk_display_supports_composite: - * @display: a #GdkDisplay - * - * Returns %TRUE if gdk_window_set_composited() can be used - * to redirect drawing on the window using compositing. - * - * Currently this only works on X11 with XComposite and - * XDamage extensions available. - * - * Returns: %TRUE if windows may be composited. - * - * Since: 2.12 - */ -gboolean -gdk_display_supports_composite (GdkDisplay *display) +static gboolean +gdk_x11_display_supports_composite (GdkDisplay *display) { GdkDisplayX11 *x11_display = GDK_DISPLAY_X11 (display); @@ -2534,50 +2338,18 @@ gdk_display_supports_composite (GdkDisplay *display) x11_display->have_xfixes; } -/** - * gdk_display_list_devices: - * @display: a #GdkDisplay - * - * Returns the list of available input devices attached to @display. - * The list is statically allocated and should not be freed. - * - * Return value: (transfer none) (element-type GdkDevice): - * a list of #GdkDevice - * - * Since: 2.2 - * - * Deprecated: 3.0: Use gdk_device_manager_list_devices() instead. - **/ -GList * -gdk_display_list_devices (GdkDisplay *display) +static GList * +gdk_x11_display_list_devices (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); return GDK_DISPLAY_X11 (display)->input_devices; } -/** - * gdk_event_send_client_message_for_display: - * @display: the #GdkDisplay for the window where the message is to be sent. - * @event: the #GdkEvent to send, which should be a #GdkEventClient. - * @winid: the window to send the client message to. - * - * On X11, sends an X ClientMessage event to a given window. On - * Windows, sends a message registered with the name - * GDK_WIN32_CLIENT_MESSAGE. - * - * This could be used for communicating between different - * applications, though the amount of data is limited to 20 bytes on - * X11, and to just four bytes on Windows. - * - * Returns: non-zero on success. - * - * Since: 2.2 - */ -gboolean -gdk_event_send_client_message_for_display (GdkDisplay *display, - GdkEvent *event, - GdkNativeWindow winid) +static gboolean +gdk_x11_display_send_client_message (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid) { XEvent sev; @@ -2594,26 +2366,11 @@ gdk_event_send_client_message_for_display (GdkDisplay *display, return _gdk_send_xevent (display, winid, False, NoEventMask, &sev); } -/** - * gdk_display_add_client_message_filter: - * @display: a #GdkDisplay for which this message filter applies - * @message_type: the type of ClientMessage events to receive. - * This will be checked against the @message_type field - * of the XClientMessage event struct. - * @func: the function to call to process the event. - * @data: user data to pass to @func. - * - * Adds a filter to be called when X ClientMessage events are received. - * See gdk_window_add_filter() if you are interested in filtering other - * types of events. - * - * Since: 2.2 - **/ -void -gdk_display_add_client_message_filter (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data) +static void +gdk_x11_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data) { GdkClientFilter *filter; g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -2628,26 +2385,6 @@ gdk_display_add_client_message_filter (GdkDisplay *display, filter); } -/** - * gdk_add_client_message_filter: - * @message_type: the type of ClientMessage events to receive. This will be - * checked against the message_type field of the - * XClientMessage event struct. - * @func: the function to call to process the event. - * @data: user data to pass to @func. - * - * Adds a filter to the default display to be called when X ClientMessage events - * are received. See gdk_display_add_client_message_filter(). - **/ -void -gdk_add_client_message_filter (GdkAtom message_type, - GdkFilterFunc func, - gpointer data) -{ - gdk_display_add_client_message_filter (gdk_display_get_default (), - message_type, func, data); -} - /* *-------------------------------------------------------------- * gdk_flush @@ -2965,3 +2702,33 @@ gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display) gdk_x11_display_error_trap_pop_internal (display, FALSE); } + +static void +_gdk_display_x11_class_init (GdkDisplayX11Class * class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); + + object_class->dispose = gdk_display_x11_dispose; + object_class->finalize = gdk_display_x11_finalize; + + display_class->get_name = gdk_x11_display_get_name; + display_class->get_n_screens = gdk_x11_display_get_n_screens; + display_class->get_screen = gdk_x11_display_get_screen; + display_class->get_default_screen = gdk_x11_display_get_default_screen; + display_class->beep = gdk_x11_display_beep; + display_class->sync = gdk_x11_display_sync; + display_class->flush = gdk_x11_display_flush; + display_class->get_default_group = gdk_x11_display_get_default_group; + display_class->supports_selection_notification = gdk_x11_display_supports_selection_notification; + display_class->request_selection_notification = gdk_x11_display_request_selection_notification; + display_class->supports_clipboard_persistence = gdk_x11_display_supports_clipboard_persistence; + display_class->store_clipboard = gdk_x11_display_store_clipboard; + display_class->supports_shapes = gdk_x11_display_supports_shapes; + display_class->supports_input_shapes = gdk_x11_display_supports_input_shapes; + display_class->supports_composite = gdk_x11_display_supports_composite; + display_class->list_devices = gdk_x11_display_list_devices; + display_class->send_client_message = gdk_x11_display_send_client_message; + display_class->add_client_message_filter = gdk_x11_display_add_client_message_filter; +} + From 4ad948ec4af946114c82cefa8aed390c38cf2a96 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 6 Dec 2010 12:40:41 +0100 Subject: [PATCH 0616/1463] Move GdkKeymapClass definition to internal header This lets us change this without affecting apps. --- gdk/gdkinternals.h | 9 +++++++++ gdk/gdkkeys.c | 1 + gdk/gdkkeys.h | 9 --------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index f5df53aaf0..8a07af3fa9 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -311,6 +311,15 @@ struct _GdkDisplayClass gboolean is_error); }; +struct _GdkKeymapClass +{ + GObjectClass parent_class; + + void (*direction_changed) (GdkKeymap *keymap); + void (*keys_changed) (GdkKeymap *keymap); + void (*state_changed) (GdkKeymap *keymap); +}; + extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index 102b6f08e0..09e8bda04c 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -26,6 +26,7 @@ #include "config.h" +#include "gdkinternals.h" #include "gdkkeys.h" #include "gdkdisplay.h" diff --git a/gdk/gdkkeys.h b/gdk/gdkkeys.h index 4551b98905..cc04057cfd 100644 --- a/gdk/gdkkeys.h +++ b/gdk/gdkkeys.h @@ -89,15 +89,6 @@ struct _GdkKeymap GdkDisplay *GSEAL (display); }; -struct _GdkKeymapClass -{ - GObjectClass parent_class; - - void (*direction_changed) (GdkKeymap *keymap); - void (*keys_changed) (GdkKeymap *keymap); - void (*state_changed) (GdkKeymap *keymap); -}; - GType gdk_keymap_get_type (void) G_GNUC_CONST; #ifndef GDK_MULTIHEAD_SAFE From 8c6162b50cd8bb5addf711b444b83024060d6582 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 6 Dec 2010 20:01:12 +0100 Subject: [PATCH 0617/1463] Convert all gdk_keymap methods to vtable calls --- gdk/gdkinternals.h | 30 +++++ gdk/gdkkeys.c | 281 +++++++++++++++++++++++++++++++++++++++ gdk/x11/gdkkeys-x11.c | 302 ++++++++---------------------------------- 3 files changed, 369 insertions(+), 244 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 8a07af3fa9..0be0825790 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -315,6 +315,36 @@ struct _GdkKeymapClass { GObjectClass parent_class; + PangoDirection (* get_direction) (GdkKeymap *keymap); + gboolean (* have_bidi_layouts) (GdkKeymap *keymap); + gboolean (* get_caps_lock_state) (GdkKeymap *keymap); + gboolean (* get_num_lock_state) (GdkKeymap *keymap); + gboolean (* get_entries_for_keyval) (GdkKeymap *keymap, + guint keyval, + GdkKeymapKey **keys, + gint *n_keys); + gboolean (* get_entries_for_keycode) (GdkKeymap *keymap, + guint hardware_keycode, + GdkKeymapKey **keys, + guint **keyvals, + gint *n_entries); + guint (* lookup_key) (GdkKeymap *keymap, + const GdkKeymapKey *key); + gboolean (* translate_keyboard_state) (GdkKeymap *keymap, + guint hardware_keycode, + GdkModifierType state, + gint group, + guint *keyval, + gint *effective_group, + gint *level, + GdkModifierType *consumed_modifiers); + void (* add_virtual_modifiers) (GdkKeymap *keymap, + GdkModifierType *state); + gboolean (* map_virtual_modifiers) (GdkKeymap *keymap, + GdkModifierType *state); + + + /* Signals */ void (*direction_changed) (GdkKeymap *keymap); void (*keys_changed) (GdkKeymap *keymap); void (*state_changed) (GdkKeymap *keymap); diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index 09e8bda04c..c52a45e241 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -420,3 +420,284 @@ gdk_keymap_get_default (void) { return gdk_keymap_get_for_display (gdk_display_get_default ()); } + +/** + * gdk_keymap_get_direction: + * @keymap: a #GdkKeymap or %NULL to use the default keymap + * + * Returns the direction of effective layout of the keymap. + * + * Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL + * if it can determine the direction. %PANGO_DIRECTION_NEUTRAL + * otherwise. + **/ +PangoDirection +gdk_keymap_get_direction (GdkKeymap *keymap) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->get_direction (keymap); +} + +/** + * gdk_keymap_have_bidi_layouts: + * @keymap: a #GdkKeymap or %NULL to use the default keymap + * + * Determines if keyboard layouts for both right-to-left and left-to-right + * languages are in use. + * + * Returns: %TRUE if there are layouts in both directions, %FALSE otherwise + * + * Since: 2.12 + **/ +gboolean +gdk_keymap_have_bidi_layouts (GdkKeymap *keymap) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->have_bidi_layouts (keymap); +} + +/** + * gdk_keymap_get_caps_lock_state: + * @keymap: a #GdkKeymap + * + * Returns whether the Caps Lock modifer is locked. + * + * Returns: %TRUE if Caps Lock is on + * + * Since: 2.16 + */ +gboolean +gdk_keymap_get_caps_lock_state (GdkKeymap *keymap) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->get_caps_lock_state (keymap); +} + +/** + * gdk_keymap_get_num_lock_state: + * @keymap: a #GdkKeymap + * + * Returns whether the Num Lock modifer is locked. + * + * Returns: %TRUE if Num Lock is on + * + * Since: 3.0 + */ +gboolean +gdk_keymap_get_num_lock_state (GdkKeymap *keymap) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->get_num_lock_state (keymap); +} + +/** + * gdk_keymap_get_entries_for_keyval: + * @keymap: (allow-none): a #GdkKeymap, or %NULL to use the default keymap + * @keyval: a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc. + * @keys: (out): return location for an array of #GdkKeymapKey + * @n_keys: (out): return location for number of elements in returned array + * + * Obtains a list of keycode/group/level combinations that will + * generate @keyval. Groups and levels are two kinds of keyboard mode; + * in general, the level determines whether the top or bottom symbol + * on a key is used, and the group determines whether the left or + * right symbol is used. On US keyboards, the shift key changes the + * keyboard level, and there are no groups. A group switch key might + * convert a keyboard between Hebrew to English modes, for example. + * #GdkEventKey contains a %group field that indicates the active + * keyboard group. The level is computed from the modifier mask. + * The returned array should be freed + * with g_free(). + * + * Return value: %TRUE if keys were found and returned + **/ +gboolean +gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, + guint keyval, + GdkKeymapKey **keys, + gint *n_keys) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->get_entries_for_keyval (keymap, keyval, keys, n_keys); +} + +/** + * gdk_keymap_get_entries_for_keycode: + * @keymap: (allow-none): a #GdkKeymap or %NULL to use the default keymap + * @hardware_keycode: a keycode + * @keys: (out): return location for array of #GdkKeymapKey, or %NULL + * @keyvals: (out): return location for array of keyvals, or %NULL + * @n_entries: length of @keys and @keyvals + * + * Returns the keyvals bound to @hardware_keycode. + * The Nth #GdkKeymapKey in @keys is bound to the Nth + * keyval in @keyvals. Free the returned arrays with g_free(). + * When a keycode is pressed by the user, the keyval from + * this list of entries is selected by considering the effective + * keyboard group and level. See gdk_keymap_translate_keyboard_state(). + * + * Returns: %TRUE if there were any entries + **/ +gboolean +gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, + guint hardware_keycode, + GdkKeymapKey **keys, + guint **keyvals, + gint *n_entries) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->get_entries_for_keycode (keymap, hardware_keycode, keys, keyvals, n_entries); +} + +/** + * gdk_keymap_lookup_key: + * @keymap: a #GdkKeymap or %NULL to use the default keymap + * @key: a #GdkKeymapKey with keycode, group, and level initialized + * + * Looks up the keyval mapped to a keycode/group/level triplet. + * If no keyval is bound to @key, returns 0. For normal user input, + * you want to use gdk_keymap_translate_keyboard_state() instead of + * this function, since the effective group/level may not be + * the same as the current keyboard state. + * + * Return value: a keyval, or 0 if none was mapped to the given @key + **/ +guint +gdk_keymap_lookup_key (GdkKeymap *keymap, + const GdkKeymapKey *key) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->lookup_key (keymap, key); +} + +/** + * gdk_keymap_translate_keyboard_state: + * @keymap: (allow-none): a #GdkKeymap, or %NULL to use the default + * @hardware_keycode: a keycode + * @state: a modifier state + * @group: active keyboard group + * @keyval: (out) (allow-none): return location for keyval, or %NULL + * @effective_group: (out) (allow-none): return location for effective group, or %NULL + * @level: (out) (allow-none): return location for level, or %NULL + * @consumed_modifiers: (out) (allow-none): return location for modifiers that were used to + * determine the group or level, or %NULL + * + * Translates the contents of a #GdkEventKey into a keyval, effective + * group, and level. Modifiers that affected the translation and + * are thus unavailable for application use are returned in + * @consumed_modifiers. See for an explanation of + * groups and levels. The @effective_group is the group that was + * actually used for the translation; some keys such as Enter are not + * affected by the active keyboard group. The @level is derived from + * @state. For convenience, #GdkEventKey already contains the translated + * keyval, so this function isn't as useful as you might think. + * + * + * @consumed_modifiers gives modifiers that should be masked out + * from @state when comparing this key press to a hot key. For + * instance, on a US keyboard, the plus + * symbol is shifted, so when comparing a key press to a + * <Control>plus accelerator <Shift> should + * be masked out. + * + * + * /* We want to ignore irrelevant modifiers like ScrollLock */ + * #define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK) + * gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode, + * event->state, event->group, + * &keyval, NULL, NULL, &consumed); + * if (keyval == GDK_PLUS && + * (event->state & ~consumed & ALL_ACCELS_MASK) == GDK_CONTROL_MASK) + * /* Control was pressed */ + * + * + * An older interpretation @consumed_modifiers was that it contained + * all modifiers that might affect the translation of the key; + * this allowed accelerators to be stored with irrelevant consumed + * modifiers, by doing: + * + * /* XXX Don't do this XXX */ + * if (keyval == accel_keyval && + * (event->state & ~consumed & ALL_ACCELS_MASK) == (accel_mods & ~consumed)) + * /* Accelerator was pressed */ + * + * + * However, this did not work if multi-modifier combinations were + * used in the keymap, since, for instance, <Control> + * would be masked out even if only <Control><Alt> + * was used in the keymap. To support this usage as well as well as + * possible, all single modifier combinations + * that could affect the key for any combination of modifiers will + * be returned in @consumed_modifiers; multi-modifier combinations + * are returned only when actually found in @state. When you store + * accelerators, you should always store them with consumed modifiers + * removed. Store <Control>plus, + * not <Control><Shift>plus, + * + * + * Return value: %TRUE if there was a keyval bound to the keycode/state/group + **/ +gboolean +gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, + guint hardware_keycode, + GdkModifierType state, + gint group, + guint *keyval, + gint *effective_group, + gint *level, + GdkModifierType *consumed_modifiers) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->translate_keyboard_state (keymap, + hardware_keycode, + state, + group, + keyval, + effective_group, + level, + consumed_modifiers); +} + +/** + * gdk_keymap_add_virtual_modifiers: + * @keymap: a #GdkKeymap + * @state: pointer to the modifier mask to change + * + * Adds virtual modifiers (i.e. Super, Hyper and Meta) which correspond + * to the real modifiers (i.e Mod2, Mod3, ...) in @modifiers. + * are set in @state to their non-virtual counterparts (i.e. Mod2, + * Mod3,...) and set the corresponding bits in @state. + * + * GDK already does this before delivering key events, but for + * compatibility reasons, it only sets the first virtual modifier + * it finds, whereas this function sets all matching virtual modifiers. + * + * This function is useful when matching key events against + * accelerators. + * + * Since: 2.20 + */ +void +gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap, + GdkModifierType *state) +{ + GDK_KEYMAP_GET_CLASS(keymap)->add_virtual_modifiers (keymap, state); +} + +/** + * gdk_keymap_map_virtual_modifiers: + * @keymap: a #GdkKeymap + * @state: pointer to the modifier state to map + * + * Maps the virtual modifiers (i.e. Super, Hyper and Meta) which + * are set in @state to their non-virtual counterparts (i.e. Mod2, + * Mod3,...) and set the corresponding bits in @state. + * + * This function is useful when matching key events against + * accelerators. + * + * Returns: %TRUE if no virtual modifiers were mapped to the + * same non-virtual modifier. Note that %FALSE is also returned + * if a virtual modifier is mapped to a non-virtual modifier that + * was already set in @state. + * + * Since: 2.20 + */ +gboolean +gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, + GdkModifierType *state) +{ + return GDK_KEYMAP_GET_CLASS(keymap)->map_virtual_modifiers (keymap, state); +} diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 1de8400fb3..1394b56cd7 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -138,16 +138,6 @@ gdk_keymap_x11_get_type (void) return object_type; } -static void -gdk_keymap_x11_class_init (GdkKeymapX11Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_keymap_x11_finalize; -} - static void gdk_keymap_x11_init (GdkKeymapX11 *keymap) { @@ -736,18 +726,8 @@ _gdk_keymap_keys_changed (GdkDisplay *display) g_signal_emit_by_name (display_x11->keymap, "keys_changed", 0); } -/** - * gdk_keymap_get_direction: - * @keymap: a #GdkKeymap or %NULL to use the default keymap - * - * Returns the direction of effective layout of the keymap. - * - * Returns: %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL - * if it can determine the direction. %PANGO_DIRECTION_NEUTRAL - * otherwise. - **/ -PangoDirection -gdk_keymap_get_direction (GdkKeymap *keymap) +static PangoDirection +gdk_x11_keymap_get_direction (GdkKeymap *keymap) { keymap = GET_EFFECTIVE_KEYMAP (keymap); @@ -773,19 +753,8 @@ gdk_keymap_get_direction (GdkKeymap *keymap) return PANGO_DIRECTION_NEUTRAL; } -/** - * gdk_keymap_have_bidi_layouts: - * @keymap: a #GdkKeymap or %NULL to use the default keymap - * - * Determines if keyboard layouts for both right-to-left and left-to-right - * languages are in use. - * - * Returns: %TRUE if there are layouts in both directions, %FALSE otherwise - * - * Since: 2.12 - **/ -gboolean -gdk_keymap_have_bidi_layouts (GdkKeymap *keymap) +static gboolean +gdk_x11_keymap_have_bidi_layouts (GdkKeymap *keymap) { keymap = GET_EFFECTIVE_KEYMAP (keymap); @@ -815,18 +784,8 @@ gdk_keymap_have_bidi_layouts (GdkKeymap *keymap) return FALSE; } -/** - * gdk_keymap_get_caps_lock_state: - * @keymap: a #GdkKeymap - * - * Returns whether the Caps Lock modifer is locked. - * - * Returns: %TRUE if Caps Lock is on - * - * Since: 2.16 - */ -gboolean -gdk_keymap_get_caps_lock_state (GdkKeymap *keymap) +static gboolean +gdk_x11_keymap_get_caps_lock_state (GdkKeymap *keymap) { GdkKeymapX11 *keymap_x11; @@ -837,18 +796,8 @@ gdk_keymap_get_caps_lock_state (GdkKeymap *keymap) return keymap_x11->caps_lock_state; } -/** - * gdk_keymap_get_num_lock_state: - * @keymap: a #GdkKeymap - * - * Returns whether the Num Lock modifer is locked. - * - * Returns: %TRUE if Num Lock is on - * - * Since: 3.0 - */ -gboolean -gdk_keymap_get_num_lock_state (GdkKeymap *keymap) +static gboolean +gdk_x11_keymap_get_num_lock_state (GdkKeymap *keymap) { GdkKeymapX11 *keymap_x11; @@ -859,32 +808,11 @@ gdk_keymap_get_num_lock_state (GdkKeymap *keymap) return keymap_x11->num_lock_state; } -/** - * gdk_keymap_get_entries_for_keyval: - * @keymap: (allow-none): a #GdkKeymap, or %NULL to use the default keymap - * @keyval: a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc. - * @keys: (out): return location for an array of #GdkKeymapKey - * @n_keys: (out): return location for number of elements in returned array - * - * Obtains a list of keycode/group/level combinations that will - * generate @keyval. Groups and levels are two kinds of keyboard mode; - * in general, the level determines whether the top or bottom symbol - * on a key is used, and the group determines whether the left or - * right symbol is used. On US keyboards, the shift key changes the - * keyboard level, and there are no groups. A group switch key might - * convert a keyboard between Hebrew to English modes, for example. - * #GdkEventKey contains a %group field that indicates the active - * keyboard group. The level is computed from the modifier mask. - * The returned array should be freed - * with g_free(). - * - * Return value: %TRUE if keys were found and returned - **/ -gboolean -gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, - guint keyval, - GdkKeymapKey **keys, - gint *n_keys) +static gboolean +gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, + guint keyval, + GdkKeymapKey **keys, + gint *n_keys) { GArray *retval; GdkKeymapX11 *keymap_x11; @@ -1009,29 +937,12 @@ gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, return *n_keys > 0; } -/** - * gdk_keymap_get_entries_for_keycode: - * @keymap: (allow-none): a #GdkKeymap or %NULL to use the default keymap - * @hardware_keycode: a keycode - * @keys: (out): return location for array of #GdkKeymapKey, or %NULL - * @keyvals: (out): return location for array of keyvals, or %NULL - * @n_entries: length of @keys and @keyvals - * - * Returns the keyvals bound to @hardware_keycode. - * The Nth #GdkKeymapKey in @keys is bound to the Nth - * keyval in @keyvals. Free the returned arrays with g_free(). - * When a keycode is pressed by the user, the keyval from - * this list of entries is selected by considering the effective - * keyboard group and level. See gdk_keymap_translate_keyboard_state(). - * - * Returns: %TRUE if there were any entries - **/ -gboolean -gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, - guint hardware_keycode, - GdkKeymapKey **keys, - guint **keyvals, - gint *n_entries) +static gboolean +gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, + guint hardware_keycode, + GdkKeymapKey **keys, + guint **keyvals, + gint *n_entries) { GdkKeymapX11 *keymap_x11; @@ -1168,23 +1079,9 @@ gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, return *n_entries > 0; } - -/** - * gdk_keymap_lookup_key: - * @keymap: a #GdkKeymap or %NULL to use the default keymap - * @key: a #GdkKeymapKey with keycode, group, and level initialized - * - * Looks up the keyval mapped to a keycode/group/level triplet. - * If no keyval is bound to @key, returns 0. For normal user input, - * you want to use gdk_keymap_translate_keyboard_state() instead of - * this function, since the effective group/level may not be - * the same as the current keyboard state. - * - * Return value: a keyval, or 0 if none was mapped to the given @key - **/ -guint -gdk_keymap_lookup_key (GdkKeymap *keymap, - const GdkKeymapKey *key) +static guint +gdk_x11_keymap_lookup_key (GdkKeymap *keymap, + const GdkKeymapKey *key) { GdkKeymapX11 *keymap_x11; @@ -1434,82 +1331,15 @@ translate_keysym (GdkKeymapX11 *keymap_x11, #undef SYM } -/** - * gdk_keymap_translate_keyboard_state: - * @keymap: (allow-none): a #GdkKeymap, or %NULL to use the default - * @hardware_keycode: a keycode - * @state: a modifier state - * @group: active keyboard group - * @keyval: (out) (allow-none): return location for keyval, or %NULL - * @effective_group: (out) (allow-none): return location for effective group, or %NULL - * @level: (out) (allow-none): return location for level, or %NULL - * @consumed_modifiers: (out) (allow-none): return location for modifiers that were used to - * determine the group or level, or %NULL - * - * Translates the contents of a #GdkEventKey into a keyval, effective - * group, and level. Modifiers that affected the translation and - * are thus unavailable for application use are returned in - * @consumed_modifiers. See for an explanation of - * groups and levels. The @effective_group is the group that was - * actually used for the translation; some keys such as Enter are not - * affected by the active keyboard group. The @level is derived from - * @state. For convenience, #GdkEventKey already contains the translated - * keyval, so this function isn't as useful as you might think. - * - * - * @consumed_modifiers gives modifiers that should be masked out - * from @state when comparing this key press to a hot key. For - * instance, on a US keyboard, the plus - * symbol is shifted, so when comparing a key press to a - * <Control>plus accelerator <Shift> should - * be masked out. - * - * - * /* We want to ignore irrelevant modifiers like ScrollLock */ - * #define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK) - * gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode, - * event->state, event->group, - * &keyval, NULL, NULL, &consumed); - * if (keyval == GDK_PLUS && - * (event->state & ~consumed & ALL_ACCELS_MASK) == GDK_CONTROL_MASK) - * /* Control was pressed */ - * - * - * An older interpretation @consumed_modifiers was that it contained - * all modifiers that might affect the translation of the key; - * this allowed accelerators to be stored with irrelevant consumed - * modifiers, by doing: - * - * /* XXX Don't do this XXX */ - * if (keyval == accel_keyval && - * (event->state & ~consumed & ALL_ACCELS_MASK) == (accel_mods & ~consumed)) - * /* Accelerator was pressed */ - * - * - * However, this did not work if multi-modifier combinations were - * used in the keymap, since, for instance, <Control> - * would be masked out even if only <Control><Alt> - * was used in the keymap. To support this usage as well as well as - * possible, all single modifier combinations - * that could affect the key for any combination of modifiers will - * be returned in @consumed_modifiers; multi-modifier combinations - * are returned only when actually found in @state. When you store - * accelerators, you should always store them with consumed modifiers - * removed. Store <Control>plus, - * not <Control><Shift>plus, - * - * - * Return value: %TRUE if there was a keyval bound to the keycode/state/group - **/ -gboolean -gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, - guint hardware_keycode, - GdkModifierType state, - gint group, - guint *keyval, - gint *effective_group, - gint *level, - GdkModifierType *consumed_modifiers) +static gboolean +gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, + guint hardware_keycode, + GdkModifierType state, + gint group, + guint *keyval, + gint *effective_group, + gint *level, + GdkModifierType *consumed_modifiers) { GdkKeymapX11 *keymap_x11; KeySym tmp_keyval = NoSymbol; @@ -1720,27 +1550,8 @@ _gdk_keymap_add_virtual_modifiers_compat (GdkKeymap *keymap, } } -/** - * gdk_keymap_add_virtual_modifiers: - * @keymap: a #GdkKeymap - * @state: pointer to the modifier mask to change - * - * Adds virtual modifiers (i.e. Super, Hyper and Meta) which correspond - * to the real modifiers (i.e Mod2, Mod3, ...) in @modifiers. - * are set in @state to their non-virtual counterparts (i.e. Mod2, - * Mod3,...) and set the corresponding bits in @state. - * - * GDK already does this before delivering key events, but for - * compatibility reasons, it only sets the first virtual modifier - * it finds, whereas this function sets all matching virtual modifiers. - * - * This function is useful when matching key events against - * accelerators. - * - * Since: 2.20 - */ -void -gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap, +static void +gdk_x11_keymap_add_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state) { GdkKeymapX11 *keymap_x11; @@ -1800,28 +1611,9 @@ _gdk_keymap_key_is_modifier (GdkKeymap *keymap, return FALSE; } -/** - * gdk_keymap_map_virtual_modifiers: - * @keymap: a #GdkKeymap - * @state: pointer to the modifier state to map - * - * Maps the virtual modifiers (i.e. Super, Hyper and Meta) which - * are set in @state to their non-virtual counterparts (i.e. Mod2, - * Mod3,...) and set the corresponding bits in @state. - * - * This function is useful when matching key events against - * accelerators. - * - * Returns: %TRUE if no virtual modifiers were mapped to the - * same non-virtual modifier. Note that %FALSE is also returned - * if a virtual modifier is mapped to a non-virtual modifier that - * was already set in @state. - * - * Since: 2.20 - */ -gboolean -gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, - GdkModifierType *state) +static gboolean +gdk_x11_keymap_map_virtual_modifiers (GdkKeymap *keymap, + GdkModifierType *state) { GdkKeymapX11 *keymap_x11; const guint vmods[] = { @@ -1857,3 +1649,25 @@ gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, return retval; } + +static void +gdk_keymap_x11_class_init (GdkKeymapX11Class *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkKeymapClass *keymap_class = GDK_KEYMAP_CLASS (klass); + + parent_class = g_type_class_peek_parent (klass); + + object_class->finalize = gdk_keymap_x11_finalize; + + keymap_class->get_direction = gdk_x11_keymap_get_direction; + keymap_class->have_bidi_layouts = gdk_x11_keymap_have_bidi_layouts; + keymap_class->get_caps_lock_state = gdk_x11_keymap_get_caps_lock_state; + keymap_class->get_num_lock_state = gdk_x11_keymap_get_num_lock_state; + keymap_class->get_entries_for_keyval = gdk_x11_keymap_get_entries_for_keyval; + keymap_class->get_entries_for_keycode = gdk_x11_keymap_get_entries_for_keycode; + keymap_class->lookup_key = gdk_x11_keymap_lookup_key; + keymap_class->translate_keyboard_state = gdk_x11_keymap_translate_keyboard_state; + keymap_class->add_virtual_modifiers = gdk_x11_keymap_add_virtual_modifiers; + keymap_class->map_virtual_modifiers = gdk_x11_keymap_map_virtual_modifiers; +} From 84c03b14e8e81911bb5c226ae1007d89cae79f5c Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 6 Dec 2010 20:39:53 +0100 Subject: [PATCH 0618/1463] Move GdkScreenClass to internal header --- gdk/gdkinternals.h | 9 +++++++++ gdk/gdkscreen.c | 1 + gdk/gdkscreen.h | 9 --------- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 0be0825790..f5b5ba15d5 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -350,6 +350,15 @@ struct _GdkKeymapClass void (*state_changed) (GdkKeymap *keymap); }; +struct _GdkScreenClass +{ + GObjectClass parent_class; + + void (*size_changed) (GdkScreen *screen); + void (*composited_changed) (GdkScreen *screen); + void (*monitors_changed) (GdkScreen *screen); +}; + extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index 71cabf57f7..79bcd97e18 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -24,6 +24,7 @@ #include "config.h" #include "gdkscreen.h" +#include "gdkinternals.h" #include "gdkrectangle.h" #include "gdkwindow.h" diff --git a/gdk/gdkscreen.h b/gdk/gdkscreen.h index 208c4cdc89..030caad009 100644 --- a/gdk/gdkscreen.h +++ b/gdk/gdkscreen.h @@ -62,15 +62,6 @@ struct _GdkScreen double GSEAL (resolution); /* pixels/points scale factor for fonts */ }; -struct _GdkScreenClass -{ - GObjectClass parent_class; - - void (*size_changed) (GdkScreen *screen); - void (*composited_changed) (GdkScreen *screen); - void (*monitors_changed) (GdkScreen *screen); -}; - GType gdk_screen_get_type (void) G_GNUC_CONST; GdkVisual* gdk_screen_get_system_visual (GdkScreen *screen); GdkVisual * gdk_screen_get_rgba_visual (GdkScreen *screen); From f52223f380e45ae019d65b457871383a0c52c6ca Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 6 Dec 2010 22:05:13 +0100 Subject: [PATCH 0619/1463] Convert all GdkScreen methods to vtable calls --- gdk/gdkinternals.h | 30 +++ gdk/gdkscreen.c | 414 +++++++++++++++++++++++++++++++++++++ gdk/x11/gdkscreen-x11.c | 442 ++++++++-------------------------------- 3 files changed, 534 insertions(+), 352 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index f5b5ba15d5..264955a939 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -354,6 +354,36 @@ struct _GdkScreenClass { GObjectClass parent_class; + GdkDisplay * (* get_display) (GdkScreen *screen); + gint (* get_width) (GdkScreen *screen); + gint (* get_height) (GdkScreen *screen); + gint (* get_width_mm) (GdkScreen *screen); + gint (* get_height_mm) (GdkScreen *screen); + gint (* get_number) (GdkScreen *screen); + GdkWindow * (* get_root_window) (GdkScreen *screen); + gint (* get_n_monitors) (GdkScreen *screen); + gint (* get_primary_monitor) (GdkScreen *screen); + gint (* get_monitor_width_mm) (GdkScreen *screen, + gint monitor_num); + gint (* get_monitor_height_mm) (GdkScreen *screen, + gint monitor_num); + gchar * (* get_monitor_plug_name) (GdkScreen *screen, + gint monitor_num); + void (* get_monitor_geometry) (GdkScreen *screen, + gint monitor_num, + GdkRectangle *dest); + GdkVisual * (* get_rgba_visual) (GdkScreen *screen); + gboolean (* is_composited) (GdkScreen *screen); + gchar * (* make_display_name) (GdkScreen *screen); + GdkWindow * (* get_active_window) (GdkScreen *screen); + GList * (* get_window_stack) (GdkScreen *screen); + void (* broadcast_client_message) (GdkScreen *screen, + GdkEvent *event); + gboolean (* get_setting) (GdkScreen *screen, + const gchar *name, + GValue *value); + + /* Signals: */ void (*size_changed) (GdkScreen *screen); void (*composited_changed) (GdkScreen *screen); void (*monitors_changed) (GdkScreen *screen); diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index 79bcd97e18..f092db7c42 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -532,3 +532,417 @@ gdk_screen_set_property (GObject *object, break; } } + +/** + * gdk_screen_get_display: + * @screen: a #GdkScreen + * + * Gets the display to which the @screen belongs. + * + * Returns: (transfer none): the display to which @screen belongs + * + * Since: 2.2 + **/ +GdkDisplay * +gdk_screen_get_display (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_display (screen); +} + + +/** + * gdk_screen_get_width: + * @screen: a #GdkScreen + * + * Gets the width of @screen in pixels + * + * Returns: the width of @screen in pixels. + * + * Since: 2.2 + **/ +gint +gdk_screen_get_width (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_width (screen); +} + +/** + * gdk_screen_get_height: + * @screen: a #GdkScreen + * + * Gets the height of @screen in pixels + * + * Returns: the height of @screen in pixels. + * + * Since: 2.2 + **/ +gint +gdk_screen_get_height (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_height (screen); +} + +/** + * gdk_screen_get_width_mm: + * @screen: a #GdkScreen + * + * Gets the width of @screen in millimeters. + * Note that on some X servers this value will not be correct. + * + * Returns: the width of @screen in millimeters. + * + * Since: 2.2 + **/ +gint +gdk_screen_get_width_mm (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_width_mm (screen); +} + +/** + * gdk_screen_get_height_mm: + * @screen: a #GdkScreen + * + * Returns the height of @screen in millimeters. + * Note that on some X servers this value will not be correct. + * + * Returns: the heigth of @screen in millimeters. + * + * Since: 2.2 + **/ +gint +gdk_screen_get_height_mm (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_height_mm (screen); +} + +/** + * gdk_screen_get_number: + * @screen: a #GdkScreen + * + * Gets the index of @screen among the screens in the display + * to which it belongs. (See gdk_screen_get_display()) + * + * Returns: the index + * + * Since: 2.2 + **/ +gint +gdk_screen_get_number (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_number (screen); +} + +/** + * gdk_screen_get_root_window: + * @screen: a #GdkScreen + * + * Gets the root window of @screen. + * + * Returns: (transfer none): the root window + * + * Since: 2.2 + **/ +GdkWindow * +gdk_screen_get_root_window (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_root_window (screen); +} + +/** + * gdk_screen_get_n_monitors: + * @screen: a #GdkScreen + * + * Returns the number of monitors which @screen consists of. + * + * Returns: number of monitors which @screen consists of + * + * Since: 2.2 + */ +gint +gdk_screen_get_n_monitors (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_n_monitors (screen); +} + +/** + * gdk_screen_get_primary_monitor: + * @screen: a #GdkScreen. + * + * Gets the primary monitor for @screen. The primary monitor + * is considered the monitor where the 'main desktop' lives. + * While normal application windows typically allow the window + * manager to place the windows, specialized desktop applications + * such as panels should place themselves on the primary monitor. + * + * If no primary monitor is configured by the user, the return value + * will be 0, defaulting to the first monitor. + * + * Returns: An integer index for the primary monitor, or 0 if none is configured. + * + * Since: 2.20 + */ +gint +gdk_screen_get_primary_monitor (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_primary_monitor (screen); +} + +/** + * gdk_screen_get_monitor_width_mm: + * @screen: a #GdkScreen + * @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + * + * Gets the width in millimeters of the specified monitor, if available. + * + * Returns: the width of the monitor, or -1 if not available + * + * Since: 2.14 + */ +gint +gdk_screen_get_monitor_width_mm (GdkScreen *screen, + gint monitor_num) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_monitor_width_mm (screen, monitor_num); +} + +/** + * gdk_screen_get_monitor_height_mm: + * @screen: a #GdkScreen + * @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + * + * Gets the height in millimeters of the specified monitor. + * + * Returns: the height of the monitor, or -1 if not available + * + * Since: 2.14 + */ +gint +gdk_screen_get_monitor_height_mm (GdkScreen *screen, + gint monitor_num) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_monitor_height_mm (screen, monitor_num); +} + +/** + * gdk_screen_get_monitor_plug_name: + * @screen: a #GdkScreen + * @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + * + * Returns the output name of the specified monitor. + * Usually something like VGA, DVI, or TV, not the actual + * product name of the display device. + * + * Returns: a newly-allocated string containing the name of the monitor, + * or %NULL if the name cannot be determined + * + * Since: 2.14 + */ +gchar * +gdk_screen_get_monitor_plug_name (GdkScreen *screen, + gint monitor_num) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_monitor_plug_name (screen, monitor_num); +} + +/** + * gdk_screen_get_monitor_geometry: + * @screen: a #GdkScreen + * @monitor_num: the monitor number, between 0 and gdk_screen_get_n_monitors (screen) + * @dest: (out) (allow-none): a #GdkRectangle to be filled with the monitor geometry + * + * Retrieves the #GdkRectangle representing the size and position of + * the individual monitor within the entire screen area. + * + * Note that the size of the entire screen area can be retrieved via + * gdk_screen_get_width() and gdk_screen_get_height(). + * + * Since: 2.2 + */ +void +gdk_screen_get_monitor_geometry (GdkScreen *screen, + gint monitor_num, + GdkRectangle *dest) +{ + GDK_SCREEN_GET_CLASS(screen)->get_monitor_geometry (screen, monitor_num, dest); +} + +/** + * gdk_screen_get_rgba_visual: + * @screen: a #GdkScreen + * + * Gets a visual to use for creating windows with an alpha channel. + * The windowing system on which GTK+ is running + * may not support this capability, in which case %NULL will + * be returned. Even if a non-%NULL value is returned, its + * possible that the window's alpha channel won't be honored + * when displaying the window on the screen: in particular, for + * X an appropriate windowing manager and compositing manager + * must be running to provide appropriate display. + * + * This functionality is not implemented in the Windows backend. + * + * For setting an overall opacity for a top-level window, see + * gdk_window_set_opacity(). + * + * Return value: (transfer none): a visual to use for windows with an + * alpha channel or %NULL if the capability is not available. + * + * Since: 2.8 + **/ +GdkVisual * +gdk_screen_get_rgba_visual (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_rgba_visual (screen); +} + +/** + * gdk_screen_is_composited: + * @screen: a #GdkScreen + * + * Returns whether windows with an RGBA visual can reasonably + * be expected to have their alpha channel drawn correctly on + * the screen. + * + * On X11 this function returns whether a compositing manager is + * compositing @screen. + * + * Return value: Whether windows with RGBA visuals can reasonably be + * expected to have their alpha channels drawn correctly on the screen. + * + * Since: 2.10 + **/ +gboolean +gdk_screen_is_composited (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->is_composited (screen); +} + +/** + * gdk_screen_make_display_name: + * @screen: a #GdkScreen + * + * Determines the name to pass to gdk_display_open() to get + * a #GdkDisplay with this screen as the default screen. + * + * Return value: a newly allocated string, free with g_free() + * + * Since: 2.2 + **/ +gchar * +gdk_screen_make_display_name (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->make_display_name (screen); +} + +/** + * gdk_screen_get_active_window: + * @screen: a #GdkScreen + * + * Returns the screen's currently active window. + * + * On X11, this is done by inspecting the _NET_ACTIVE_WINDOW property + * on the root window, as described in the Extended Window + * Manager Hints. If there is no currently currently active + * window, or the window manager does not support the + * _NET_ACTIVE_WINDOW hint, this function returns %NULL. + * + * On other platforms, this function may return %NULL, depending on whether + * it is implementable on that platform. + * + * The returned window should be unrefed using g_object_unref() when + * no longer needed. + * + * Return value: (transfer full): the currently active window, or %NULL. + * + * Since: 2.10 + **/ +GdkWindow * +gdk_screen_get_active_window (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_active_window (screen); +} + +/** + * gdk_screen_get_window_stack: + * @screen: a #GdkScreen + * + * Returns a #GList of #GdkWindows representing the current + * window stack. + * + * On X11, this is done by inspecting the _NET_CLIENT_LIST_STACKING + * property on the root window, as described in the Extended Window + * Manager Hints. If the window manager does not support the + * _NET_CLIENT_LIST_STACKING hint, this function returns %NULL. + * + * On other platforms, this function may return %NULL, depending on whether + * it is implementable on that platform. + * + * The returned list is newly allocated and owns references to the + * windows it contains, so it should be freed using g_list_free() and + * its windows unrefed using g_object_unref() when no longer needed. + * + * Return value: (transfer full) (element-type GdkWindow): + * a list of #GdkWindows for the current window stack, + * or %NULL. + * + * Since: 2.10 + **/ +GList * +gdk_screen_get_window_stack (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_window_stack (screen); +} + +/** + * gdk_screen_broadcast_client_message: + * @screen: the #GdkScreen where the event will be broadcasted. + * @event: the #GdkEvent. + * + * On X11, sends an X ClientMessage event to all toplevel windows on + * @screen. + * + * Toplevel windows are determined by checking for the WM_STATE property, + * as described in the Inter-Client Communication Conventions Manual (ICCCM). + * If no windows are found with the WM_STATE property set, the message is + * sent to all children of the root window. + * + * On Windows, broadcasts a message registered with the name + * GDK_WIN32_CLIENT_MESSAGE to all top-level windows. The amount of + * data is limited to one long, i.e. four bytes. + * + * Since: 2.2 + */ +void +gdk_screen_broadcast_client_message (GdkScreen *screen, + GdkEvent *event) +{ + return GDK_SCREEN_GET_CLASS(screen)->broadcast_client_message (screen, event); +} + +/** + * gdk_screen_get_setting: + * @screen: the #GdkScreen where the setting is located + * @name: the name of the setting + * @value: location to store the value of the setting + * + * Retrieves a desktop-wide setting such as double-click time + * for the #GdkScreen @screen. + * + * FIXME needs a list of valid settings here, or a link to + * more information. + * + * Returns: %TRUE if the setting existed and a value was stored + * in @value, %FALSE otherwise. + * + * Since: 2.2 + **/ +gboolean +gdk_screen_get_setting (GdkScreen *screen, + const gchar *name, + GValue *value) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_setting (screen, name, value); +} diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 362ec485a6..5510d63b82 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -87,152 +87,62 @@ struct _GdkX11Monitor char * manufacturer; }; -static void -_gdk_screen_x11_class_init (GdkScreenX11Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->dispose = gdk_screen_x11_dispose; - object_class->finalize = gdk_screen_x11_finalize; - - signals[WINDOW_MANAGER_CHANGED] = - g_signal_new (g_intern_static_string ("window_manager_changed"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GdkScreenX11Class, window_manager_changed), - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, - 0); -} static void _gdk_screen_x11_init (GdkScreenX11 *screen) { } -/** - * gdk_screen_get_display: - * @screen: a #GdkScreen - * - * Gets the display to which the @screen belongs. - * - * Returns: (transfer none): the display to which @screen belongs - * - * Since: 2.2 - **/ -GdkDisplay * -gdk_screen_get_display (GdkScreen *screen) +static GdkDisplay * +gdk_screen_x11_get_display (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); return GDK_SCREEN_X11 (screen)->display; } -/** - * gdk_screen_get_width: - * @screen: a #GdkScreen - * - * Gets the width of @screen in pixels - * - * Returns: the width of @screen in pixels. - * - * Since: 2.2 - **/ -gint -gdk_screen_get_width (GdkScreen *screen) + +static gint +gdk_screen_x11_get_width (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return WidthOfScreen (GDK_SCREEN_X11 (screen)->xscreen); } -/** - * gdk_screen_get_height: - * @screen: a #GdkScreen - * - * Gets the height of @screen in pixels - * - * Returns: the height of @screen in pixels. - * - * Since: 2.2 - **/ -gint -gdk_screen_get_height (GdkScreen *screen) +static gint +gdk_screen_x11_get_height (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return HeightOfScreen (GDK_SCREEN_X11 (screen)->xscreen); } -/** - * gdk_screen_get_width_mm: - * @screen: a #GdkScreen - * - * Gets the width of @screen in millimeters. - * Note that on some X servers this value will not be correct. - * - * Returns: the width of @screen in millimeters. - * - * Since: 2.2 - **/ -gint -gdk_screen_get_width_mm (GdkScreen *screen) +static gint +gdk_screen_x11_get_width_mm (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return WidthMMOfScreen (GDK_SCREEN_X11 (screen)->xscreen); } -/** - * gdk_screen_get_height_mm: - * @screen: a #GdkScreen - * - * Returns the height of @screen in millimeters. - * Note that on some X servers this value will not be correct. - * - * Returns: the heigth of @screen in millimeters. - * - * Since: 2.2 - **/ -gint -gdk_screen_get_height_mm (GdkScreen *screen) +static gint +gdk_screen_x11_get_height_mm (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return HeightMMOfScreen (GDK_SCREEN_X11 (screen)->xscreen); } -/** - * gdk_screen_get_number: - * @screen: a #GdkScreen - * - * Gets the index of @screen among the screens in the display - * to which it belongs. (See gdk_screen_get_display()) - * - * Returns: the index - * - * Since: 2.2 - **/ -gint -gdk_screen_get_number (GdkScreen *screen) +static gint +gdk_screen_x11_get_number (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return GDK_SCREEN_X11 (screen)->screen_num; } -/** - * gdk_screen_get_root_window: - * @screen: a #GdkScreen - * - * Gets the root window of @screen. - * - * Returns: (transfer none): the root window - * - * Since: 2.2 - **/ -GdkWindow * -gdk_screen_get_root_window (GdkScreen *screen) +static GdkWindow * +gdk_screen_x11_get_root_window (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); @@ -302,63 +212,25 @@ gdk_screen_x11_finalize (GObject *object) G_OBJECT_CLASS (_gdk_screen_x11_parent_class)->finalize (object); } -/** - * gdk_screen_get_n_monitors: - * @screen: a #GdkScreen - * - * Returns the number of monitors which @screen consists of. - * - * Returns: number of monitors which @screen consists of - * - * Since: 2.2 - */ -gint -gdk_screen_get_n_monitors (GdkScreen *screen) +static gint +gdk_screen_x11_get_n_monitors (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return GDK_SCREEN_X11 (screen)->n_monitors; } -/** - * gdk_screen_get_primary_monitor: - * @screen: a #GdkScreen. - * - * Gets the primary monitor for @screen. The primary monitor - * is considered the monitor where the 'main desktop' lives. - * While normal application windows typically allow the window - * manager to place the windows, specialized desktop applications - * such as panels should place themselves on the primary monitor. - * - * If no primary monitor is configured by the user, the return value - * will be 0, defaulting to the first monitor. - * - * Returns: An integer index for the primary monitor, or 0 if none is configured. - * - * Since: 2.20 - */ -gint -gdk_screen_get_primary_monitor (GdkScreen *screen) +static gint +gdk_screen_x11_get_primary_monitor (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); return GDK_SCREEN_X11 (screen)->primary_monitor; } -/** - * gdk_screen_get_monitor_width_mm: - * @screen: a #GdkScreen - * @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) - * - * Gets the width in millimeters of the specified monitor, if available. - * - * Returns: the width of the monitor, or -1 if not available - * - * Since: 2.14 - */ -gint -gdk_screen_get_monitor_width_mm (GdkScreen *screen, - gint monitor_num) +static gint +gdk_screen_x11_get_monitor_width_mm (GdkScreen *screen, + gint monitor_num) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); @@ -369,20 +241,9 @@ gdk_screen_get_monitor_width_mm (GdkScreen *screen, return screen_x11->monitors[monitor_num].width_mm; } -/** - * gdk_screen_get_monitor_height_mm: - * @screen: a #GdkScreen - * @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) - * - * Gets the height in millimeters of the specified monitor. - * - * Returns: the height of the monitor, or -1 if not available - * - * Since: 2.14 - */ -gint -gdk_screen_get_monitor_height_mm (GdkScreen *screen, - gint monitor_num) +static gint +gdk_screen_x11_get_monitor_height_mm (GdkScreen *screen, + gint monitor_num) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); @@ -393,23 +254,9 @@ gdk_screen_get_monitor_height_mm (GdkScreen *screen, return screen_x11->monitors[monitor_num].height_mm; } -/** - * gdk_screen_get_monitor_plug_name: - * @screen: a #GdkScreen - * @monitor_num: number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) - * - * Returns the output name of the specified monitor. - * Usually something like VGA, DVI, or TV, not the actual - * product name of the display device. - * - * Returns: a newly-allocated string containing the name of the monitor, - * or %NULL if the name cannot be determined - * - * Since: 2.14 - */ -gchar * -gdk_screen_get_monitor_plug_name (GdkScreen *screen, - gint monitor_num) +static gchar * +gdk_screen_x11_get_monitor_plug_name (GdkScreen *screen, + gint monitor_num) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); @@ -446,24 +293,10 @@ gdk_x11_screen_get_monitor_output (GdkScreen *screen, return screen_x11->monitors[monitor_num].output; } -/** - * gdk_screen_get_monitor_geometry: - * @screen: a #GdkScreen - * @monitor_num: the monitor number, between 0 and gdk_screen_get_n_monitors (screen) - * @dest: (out caller-allocates) (allow-none): a #GdkRectangle to be filled with the monitor geometry - * - * Retrieves the #GdkRectangle representing the size and position of - * the individual monitor within the entire screen area. - * - * Note that the size of the entire screen area can be retrieved via - * gdk_screen_get_width() and gdk_screen_get_height(). - * - * Since: 2.2 - */ -void -gdk_screen_get_monitor_geometry (GdkScreen *screen, - gint monitor_num, - GdkRectangle *dest) +static void +gdk_screen_x11_get_monitor_geometry (GdkScreen *screen, + gint monitor_num, + GdkRectangle *dest) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); @@ -475,31 +308,8 @@ gdk_screen_get_monitor_geometry (GdkScreen *screen, *dest = screen_x11->monitors[monitor_num].geometry; } -/** - * gdk_screen_get_rgba_visual: - * @screen: a #GdkScreen - * - * Gets a visual to use for creating windows with an alpha channel. - * The windowing system on which GTK+ is running - * may not support this capability, in which case %NULL will - * be returned. Even if a non-%NULL value is returned, its - * possible that the window's alpha channel won't be honored - * when displaying the window on the screen: in particular, for - * X an appropriate windowing manager and compositing manager - * must be running to provide appropriate display. - * - * This functionality is not implemented in the Windows backend. - * - * For setting an overall opacity for a top-level window, see - * gdk_window_set_opacity(). - * - * Return value: (transfer none): a visual to use for windows with an - * alpha channel or %NULL if the capability is not available. - * - * Since: 2.8 - **/ -GdkVisual * -gdk_screen_get_rgba_visual (GdkScreen *screen) +static GdkVisual * +gdk_screen_x11_get_rgba_visual (GdkScreen *screen) { GdkScreenX11 *screen_x11; @@ -1022,24 +832,8 @@ _gdk_x11_screen_setup (GdkScreen *screen) screen_x11->is_composited = check_is_composited (screen_x11->display, screen_x11); } -/** - * gdk_screen_is_composited: - * @screen: a #GdkScreen - * - * Returns whether windows with an RGBA visual can reasonably - * be expected to have their alpha channel drawn correctly on - * the screen. - * - * On X11 this function returns whether a compositing manager is - * compositing @screen. - * - * Return value: Whether windows with RGBA visuals can reasonably be - * expected to have their alpha channels drawn correctly on the screen. - * - * Since: 2.10 - **/ -gboolean -gdk_screen_is_composited (GdkScreen *screen) +static gboolean +gdk_screen_x11_is_composited (GdkScreen *screen) { GdkScreenX11 *screen_x11; @@ -1204,19 +998,8 @@ _gdk_windowing_substitute_screen_number (const gchar *display_name, return g_string_free (str, FALSE); } -/** - * gdk_screen_make_display_name: - * @screen: a #GdkScreen - * - * Determines the name to pass to gdk_display_open() to get - * a #GdkDisplay with this screen as the default screen. - * - * Return value: a newly allocated string, free with g_free() - * - * Since: 2.2 - **/ -gchar * -gdk_screen_make_display_name (GdkScreen *screen) +static gchar * +gdk_screen_x11_make_display_name (GdkScreen *screen) { const gchar *old_display; @@ -1228,31 +1011,8 @@ gdk_screen_make_display_name (GdkScreen *screen) gdk_screen_get_number (screen)); } -/** - * gdk_screen_get_active_window: - * @screen: a #GdkScreen - * - * Returns the screen's currently active window. - * - * On X11, this is done by inspecting the _NET_ACTIVE_WINDOW property - * on the root window, as described in the Extended Window - * Manager Hints. If there is no currently currently active - * window, or the window manager does not support the - * _NET_ACTIVE_WINDOW hint, this function returns %NULL. - * - * On other platforms, this function may return %NULL, depending on whether - * it is implementable on that platform. - * - * The returned window should be unrefed using g_object_unref() when - * no longer needed. - * - * Return value: (transfer full): the currently active window, or %NULL. - * - * Since: 2.10 - **/ -GdkWindow * -gdk_screen_get_active_window (GdkScreen *screen) +static GdkWindow * +gdk_screen_x11_get_active_window (GdkScreen *screen) { GdkScreenX11 *screen_x11; GdkWindow *ret = NULL; @@ -1296,34 +1056,8 @@ gdk_screen_get_active_window (GdkScreen *screen) return ret; } -/** - * gdk_screen_get_window_stack: - * @screen: a #GdkScreen - * - * Returns a #GList of #GdkWindows representing the current - * window stack. - * - * On X11, this is done by inspecting the _NET_CLIENT_LIST_STACKING - * property on the root window, as described in the Extended Window - * Manager Hints. If the window manager does not support the - * _NET_CLIENT_LIST_STACKING hint, this function returns %NULL. - * - * On other platforms, this function may return %NULL, depending on whether - * it is implementable on that platform. - * - * The returned list is newly allocated and owns references to the - * windows it contains, so it should be freed using g_list_free() and - * its windows unrefed using g_object_unref() when no longer needed. - * - * Return value: (transfer full) (element-type GdkWindow): - * a list of #GdkWindows for the current window stack, - * or %NULL. - * - * Since: 2.10 - **/ -GList * -gdk_screen_get_window_stack (GdkScreen *screen) +static GList * +gdk_screen_x11_get_window_stack (GdkScreen *screen) { GdkScreenX11 *screen_x11; GList *ret = NULL; @@ -1433,29 +1167,9 @@ gdk_event_send_client_message_to_all_recurse (GdkDisplay *display, return result; } -/** - * gdk_screen_broadcast_client_message: - * @screen: the #GdkScreen where the event will be broadcasted. - * @event: the #GdkEvent. - * - * On X11, sends an X ClientMessage event to all toplevel windows on - * @screen. - * - * Toplevel windows are determined by checking for the WM_STATE property, - * as described in the Inter-Client Communication Conventions Manual (ICCCM). - * If no windows are found with the WM_STATE property set, the message is - * sent to all children of the root window. - * - * On Windows, broadcasts a message registered with the name - * GDK_WIN32_CLIENT_MESSAGE to all top-level windows. The amount of - * data is limited to one long, i.e. four bytes. - * - * Since: 2.2 - */ - -void -gdk_screen_broadcast_client_message (GdkScreen *screen, - GdkEvent *event) +static void +gdk_screen_x11_broadcast_client_message (GdkScreen *screen, + GdkEvent *event) { XEvent sev; GdkWindow *root_window; @@ -1496,27 +1210,10 @@ check_transform (const gchar *xsettings_name, return TRUE; } -/** - * gdk_screen_get_setting: - * @screen: the #GdkScreen where the setting is located - * @name: the name of the setting - * @value: location to store the value of the setting - * - * Retrieves a desktop-wide setting such as double-click time - * for the #GdkScreen @screen. - * - * FIXME needs a list of valid settings here, or a link to - * more information. - * - * Returns: %TRUE if the setting existed and a value was stored - * in @value, %FALSE otherwise. - * - * Since: 2.2 - **/ -gboolean -gdk_screen_get_setting (GdkScreen *screen, - const gchar *name, - GValue *value) +static gboolean +gdk_screen_x11_get_setting (GdkScreen *screen, + const gchar *name, + GValue *value) { const char *xsettings_name = NULL; @@ -2001,3 +1698,44 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) return GDK_SCREEN_X11 (screen)->window_manager_name; } + +static void +_gdk_screen_x11_class_init (GdkScreenX11Class *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); + + object_class->dispose = gdk_screen_x11_dispose; + object_class->finalize = gdk_screen_x11_finalize; + + screen_class->get_display = gdk_screen_x11_get_display; + screen_class->get_width = gdk_screen_x11_get_width; + screen_class->get_height = gdk_screen_x11_get_height; + screen_class->get_width_mm = gdk_screen_x11_get_width_mm; + screen_class->get_height_mm = gdk_screen_x11_get_height_mm; + screen_class->get_number = gdk_screen_x11_get_number; + screen_class->get_root_window = gdk_screen_x11_get_root_window; + screen_class->get_n_monitors = gdk_screen_x11_get_n_monitors; + screen_class->get_primary_monitor = gdk_screen_x11_get_primary_monitor; + screen_class->get_monitor_width_mm = gdk_screen_x11_get_monitor_width_mm; + screen_class->get_monitor_height_mm = gdk_screen_x11_get_monitor_height_mm; + screen_class->get_monitor_plug_name = gdk_screen_x11_get_monitor_plug_name; + screen_class->get_monitor_geometry = gdk_screen_x11_get_monitor_geometry; + screen_class->get_rgba_visual = gdk_screen_x11_get_rgba_visual; + screen_class->is_composited = gdk_screen_x11_is_composited; + screen_class->make_display_name = gdk_screen_x11_make_display_name; + screen_class->get_active_window = gdk_screen_x11_get_active_window; + screen_class->get_window_stack = gdk_screen_x11_get_window_stack; + screen_class->broadcast_client_message = gdk_screen_x11_broadcast_client_message; + screen_class->get_setting = gdk_screen_x11_get_setting; + + signals[WINDOW_MANAGER_CHANGED] = + g_signal_new (g_intern_static_string ("window_manager_changed"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GdkScreenX11Class, window_manager_changed), + NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); +} From ae146a281750926eee6c5fafb88414999ffa6821 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Mon, 6 Dec 2010 23:19:58 +0100 Subject: [PATCH 0620/1463] Convert a bunch of visual related calls to use the screen vtable --- gdk/gdkinternals.h | 19 +++++ gdk/gdkscreen.c | 40 ++++++++++ gdk/gdkvisual.c | 150 +++++++++++++++++++++++++++++++++++++ gdk/x11/gdkprivate-x11.h | 21 ++++++ gdk/x11/gdkscreen-x11.c | 10 +++ gdk/x11/gdkvisual-x11.c | 158 +++++++-------------------------------- 6 files changed, 265 insertions(+), 133 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 264955a939..d0fa21d9b3 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -372,6 +372,8 @@ struct _GdkScreenClass void (* get_monitor_geometry) (GdkScreen *screen, gint monitor_num, GdkRectangle *dest); + GList * (* list_visuals) (GdkScreen *screen); + GdkVisual * (* get_system_visual) (GdkScreen *screen); GdkVisual * (* get_rgba_visual) (GdkScreen *screen); gboolean (* is_composited) (GdkScreen *screen); gchar * (* make_display_name) (GdkScreen *screen); @@ -382,6 +384,23 @@ struct _GdkScreenClass gboolean (* get_setting) (GdkScreen *screen, const gchar *name, GValue *value); + gint (* visual_get_best_depth) (GdkScreen *screen); + GdkVisualType (* visual_get_best_type) (GdkScreen *screen); + GdkVisual * (* visual_get_best) (GdkScreen *screen); + GdkVisual * (* visual_get_best_with_depth) (GdkScreen *screen, + gint depth); + GdkVisual * (* visual_get_best_with_type) (GdkScreen *screen, + GdkVisualType visual_type); + GdkVisual * (* visual_get_best_with_both) (GdkScreen *screen, + gint depth, + GdkVisualType visual_type); + void (* query_depths) (GdkScreen *screen, + gint **depths, + gint *count); + void (* query_visual_types) (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count); + /* Signals: */ void (*size_changed) (GdkScreen *screen); diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index f092db7c42..df316a6f44 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -767,6 +767,46 @@ gdk_screen_get_monitor_geometry (GdkScreen *screen, GDK_SCREEN_GET_CLASS(screen)->get_monitor_geometry (screen, monitor_num, dest); } +/** + * gdk_screen_list_visuals: + * @screen: the relevant #GdkScreen. + * + * Lists the available visuals for the specified @screen. + * A visual describes a hardware image data format. + * For example, a visual might support 24-bit color, or 8-bit color, + * and might expect pixels to be in a certain format. + * + * Call g_list_free() on the return value when you're finished with it. + * + * Return value: (transfer container) (element-type GdkVisual): + * a list of visuals; the list must be freed, but not its contents + * + * Since: 2.2 + **/ +GList * +gdk_screen_list_visuals (GdkScreen *screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->list_visuals (screen); +} + +/** + * gdk_screen_get_system_visual: + * @screen: a #GdkScreen. + * + * Get the system's default visual for @screen. + * This is the visual for the root window of the display. + * The return value should not be freed. + * + * Return value: (transfer none): the system visual + * + * Since: 2.2 + **/ +GdkVisual * +gdk_screen_get_system_visual (GdkScreen * screen) +{ + return GDK_SCREEN_GET_CLASS(screen)->get_system_visual (screen); +} + /** * gdk_screen_get_rgba_visual: * @screen: a #GdkScreen diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c index cba4a7b3d3..15f681d3c6 100644 --- a/gdk/gdkvisual.c +++ b/gdk/gdkvisual.c @@ -23,6 +23,7 @@ #include "config.h" +#include "gdkinternals.h" #include "gdkvisual.h" #include "gdkscreen.h" @@ -90,6 +91,155 @@ gdk_visual_get_system (void) return gdk_screen_get_system_visual (gdk_screen_get_default()); } +/** + * gdk_visual_get_best_depth: + * + * Get the best available depth for the default GDK screen. "Best" + * means "largest," i.e. 32 preferred over 24 preferred over 8 bits + * per pixel. + * + * Return value: best available depth + **/ +gint +gdk_visual_get_best_depth (void) +{ + GdkScreen *screen = gdk_screen_get_default(); + + return GDK_SCREEN_GET_CLASS(screen)->visual_get_best_depth (screen); +} + +/** + * gdk_visual_get_best_type: + * + * Return the best available visual type for the default GDK screen. + * + * Return value: best visual type + **/ +GdkVisualType +gdk_visual_get_best_type (void) +{ + GdkScreen *screen = gdk_screen_get_default(); + + return GDK_SCREEN_GET_CLASS(screen)->visual_get_best_type (screen); +} + +/** + * gdk_visual_get_best: + * + * Get the visual with the most available colors for the default + * GDK screen. The return value should not be freed. + * + * Return value: (transfer none): best visual + **/ +GdkVisual* +gdk_visual_get_best (void) +{ + GdkScreen *screen = gdk_screen_get_default(); + + return GDK_SCREEN_GET_CLASS(screen)->visual_get_best (screen); +} + +/** + * gdk_visual_get_best_with_depth: + * @depth: a bit depth + * + * Get the best visual with depth @depth for the default GDK screen. + * Color visuals and visuals with mutable colormaps are preferred + * over grayscale or fixed-colormap visuals. The return value should not + * be freed. %NULL may be returned if no visual supports @depth. + * + * Return value: (transfer none): best visual for the given depth + **/ +GdkVisual* +gdk_visual_get_best_with_depth (gint depth) +{ + GdkScreen *screen = gdk_screen_get_default(); + + return GDK_SCREEN_GET_CLASS(screen)->visual_get_best_with_depth (screen, depth); +} + +/** + * gdk_visual_get_best_with_type: + * @visual_type: a visual type + * + * Get the best visual of the given @visual_type for the default GDK screen. + * Visuals with higher color depths are considered better. The return value + * should not be freed. %NULL may be returned if no visual has type + * @visual_type. + * + * Return value: (transfer none): best visual of the given type + **/ +GdkVisual* +gdk_visual_get_best_with_type (GdkVisualType visual_type) +{ + GdkScreen *screen = gdk_screen_get_default(); + + return GDK_SCREEN_GET_CLASS(screen)->visual_get_best_with_type (screen, + visual_type); +} + +/** + * gdk_visual_get_best_with_both: + * @depth: a bit depth + * @visual_type: a visual type + * + * Combines gdk_visual_get_best_with_depth() and gdk_visual_get_best_with_type(). + * + * Return value: (transfer none): best visual with both @depth and + * @visual_type, or %NULL if none + **/ +GdkVisual* +gdk_visual_get_best_with_both (gint depth, + GdkVisualType visual_type) +{ + GdkScreen *screen = gdk_screen_get_default(); + + return GDK_SCREEN_GET_CLASS(screen)->visual_get_best_with_both (screen, depth, visual_type); +} + +/** + * gdk_query_depths: + * @depths: (out) (array): return location for available depths + * @count: (out): return location for number of available depths + * + * This function returns the available bit depths for the default + * screen. It's equivalent to listing the visuals + * (gdk_list_visuals()) and then looking at the depth field in each + * visual, removing duplicates. + * + * The array returned by this function should not be freed. + * + **/ +void +gdk_query_depths (gint **depths, + gint *count) +{ + GdkScreen *screen = gdk_screen_get_default(); + + GDK_SCREEN_GET_CLASS(screen)->query_depths (screen, depths, count); +} + +/** + * gdk_query_visual_types: + * @visual_types: return location for the available visual types + * @count: return location for the number of available visual types + * + * This function returns the available visual types for the default + * screen. It's equivalent to listing the visuals + * (gdk_list_visuals()) and then looking at the type field in each + * visual, removing duplicates. + * + * The array returned by this function should not be freed. + **/ +void +gdk_query_visual_types (GdkVisualType **visual_types, + gint *count) +{ + GdkScreen *screen = gdk_screen_get_default(); + + GDK_SCREEN_GET_CLASS(screen)->query_visual_types (screen, visual_types, count); +} + /** * gdk_visual_get_visual_type: * @visual: A #GdkVisual. diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index f9a4c1208d..31c4e906ba 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -54,6 +54,27 @@ void _gdk_x11_error_handler_pop (void); Colormap _gdk_visual_get_x11_colormap (GdkVisual *visual); +gint _gdk_screen_x11_visual_get_best_depth (GdkScreen *screen); +GdkVisualType _gdk_screen_x11_visual_get_best_type (GdkScreen *screen); +GdkVisual * _gdk_screen_x11_get_system_visual (GdkScreen *screen); +GdkVisual* _gdk_screen_x11_visual_get_best (GdkScreen *screen); +GdkVisual* _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, + gint depth); +GdkVisual* _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, + GdkVisualType visual_type); +GdkVisual* _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type); +void _gdk_screen_x11_query_depths (GdkScreen *screen, + gint **depths, + gint *count); +void _gdk_screen_x11_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count); +GList * _gdk_screen_x11_list_visuals (GdkScreen *screen); + + + void _gdk_xid_table_insert (GdkDisplay *display, XID *xid, gpointer data); diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 5510d63b82..f9cda4373e 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -1721,6 +1721,7 @@ _gdk_screen_x11_class_init (GdkScreenX11Class *klass) screen_class->get_monitor_height_mm = gdk_screen_x11_get_monitor_height_mm; screen_class->get_monitor_plug_name = gdk_screen_x11_get_monitor_plug_name; screen_class->get_monitor_geometry = gdk_screen_x11_get_monitor_geometry; + screen_class->get_system_visual = _gdk_screen_x11_get_system_visual; screen_class->get_rgba_visual = gdk_screen_x11_get_rgba_visual; screen_class->is_composited = gdk_screen_x11_is_composited; screen_class->make_display_name = gdk_screen_x11_make_display_name; @@ -1728,6 +1729,15 @@ _gdk_screen_x11_class_init (GdkScreenX11Class *klass) screen_class->get_window_stack = gdk_screen_x11_get_window_stack; screen_class->broadcast_client_message = gdk_screen_x11_broadcast_client_message; screen_class->get_setting = gdk_screen_x11_get_setting; + screen_class->visual_get_best_depth = _gdk_screen_x11_visual_get_best_depth; + screen_class->visual_get_best_type = _gdk_screen_x11_visual_get_best_type; + screen_class->visual_get_best = _gdk_screen_x11_visual_get_best; + screen_class->visual_get_best_with_depth = _gdk_screen_x11_visual_get_best_with_depth; + screen_class->visual_get_best_with_type = _gdk_screen_x11_visual_get_best_with_type; + screen_class->visual_get_best_with_both = _gdk_screen_x11_visual_get_best_with_both; + screen_class->query_depths = _gdk_screen_x11_query_depths; + screen_class->query_visual_types = _gdk_screen_x11_query_visual_types; + screen_class->list_visuals = _gdk_screen_x11_list_visuals; signals[WINDOW_MANAGER_CHANGED] = g_signal_new (g_intern_static_string ("window_manager_changed"), diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 59acba26b0..f2ba3ca7f6 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -338,89 +338,39 @@ _gdk_visual_init (GdkScreen *screen) screen_x11->nvisuals = nvisuals; } -/** - * gdk_visual_get_best_depth: - * - * Get the best available depth for the default GDK screen. "Best" - * means "largest," i.e. 32 preferred over 24 preferred over 8 bits - * per pixel. - * - * Return value: best available depth - **/ gint -gdk_visual_get_best_depth (void) +_gdk_screen_x11_visual_get_best_depth (GdkScreen *screen) { - GdkScreen *screen = gdk_screen_get_default(); - return GDK_SCREEN_X11 (screen)->available_depths[0]; } -/** - * gdk_visual_get_best_type: - * - * Return the best available visual type for the default GDK screen. - * - * Return value: best visual type - **/ GdkVisualType -gdk_visual_get_best_type (void) +_gdk_screen_x11_visual_get_best_type (GdkScreen *screen) { - GdkScreen *screen = gdk_screen_get_default(); - return GDK_SCREEN_X11 (screen)->available_types[0]; } -/** - * gdk_screen_get_system_visual: - * @screen: a #GdkScreen. - * - * Get the system's default visual for @screen. - * This is the visual for the root window of the display. - * The return value should not be freed. - * - * Return value: (transfer none): the system visual - * - * Since: 2.2 - **/ GdkVisual * -gdk_screen_get_system_visual (GdkScreen * screen) +_gdk_screen_x11_get_system_visual (GdkScreen * screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); return ((GdkVisual *) GDK_SCREEN_X11 (screen)->system_visual); } -/** - * gdk_visual_get_best: - * - * Get the visual with the most available colors for the default - * GDK screen. The return value should not be freed. - * - * Return value: (transfer none): best visual - **/ GdkVisual* -gdk_visual_get_best (void) +_gdk_screen_x11_visual_get_best (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (gdk_screen_get_default()); + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); return (GdkVisual *)screen_x11->visuals[0]; } -/** - * gdk_visual_get_best_with_depth: - * @depth: a bit depth - * - * Get the best visual with depth @depth for the default GDK screen. - * Color visuals and visuals with mutable colormaps are preferred - * over grayscale or fixed-colormap visuals. The return value should not - * be freed. %NULL may be returned if no visual supports @depth. - * - * Return value: (transfer none): best visual for the given depth - **/ GdkVisual* -gdk_visual_get_best_with_depth (gint depth) +_gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, + gint depth) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (gdk_screen_get_default ()); + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); GdkVisual *return_val; int i; @@ -435,21 +385,11 @@ gdk_visual_get_best_with_depth (gint depth) return return_val; } -/** - * gdk_visual_get_best_with_type: - * @visual_type: a visual type - * - * Get the best visual of the given @visual_type for the default GDK screen. - * Visuals with higher color depths are considered better. The return value - * should not be freed. %NULL may be returned if no visual has type - * @visual_type. - * - * Return value: (transfer none): best visual of the given type - **/ GdkVisual* -gdk_visual_get_best_with_type (GdkVisualType visual_type) +_gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, + GdkVisualType visual_type) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (gdk_screen_get_default ()); + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); GdkVisual *return_val; int i; @@ -464,21 +404,12 @@ gdk_visual_get_best_with_type (GdkVisualType visual_type) return return_val; } -/** - * gdk_visual_get_best_with_both: - * @depth: a bit depth - * @visual_type: a visual type - * - * Combines gdk_visual_get_best_with_depth() and gdk_visual_get_best_with_type(). - * - * Return value: (transfer none): best visual with both @depth and - * @visual_type, or %NULL if none - **/ GdkVisual* -gdk_visual_get_best_with_both (gint depth, - GdkVisualType visual_type) +_gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (gdk_screen_get_default ()); + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); GdkVisual *return_val; int i; @@ -494,69 +425,30 @@ gdk_visual_get_best_with_both (gint depth, return return_val; } -/** - * gdk_query_depths: - * @depths: (out) (array): return location for available depths - * @count: (out): return location for number of available depths - * - * This function returns the available bit depths for the default - * screen. It's equivalent to listing the visuals - * (gdk_list_visuals()) and then looking at the depth field in each - * visual, removing duplicates. - * - * The array returned by this function should not be freed. - * - **/ void -gdk_query_depths (gint **depths, - gint *count) +_gdk_screen_x11_query_depths (GdkScreen *screen, + gint **depths, + gint *count) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (gdk_screen_get_default ()); - + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + *count = screen_x11->navailable_depths; *depths = screen_x11->available_depths; } -/** - * gdk_query_visual_types: - * @visual_types: return location for the available visual types - * @count: return location for the number of available visual types - * - * This function returns the available visual types for the default - * screen. It's equivalent to listing the visuals - * (gdk_list_visuals()) and then looking at the type field in each - * visual, removing duplicates. - * - * The array returned by this function should not be freed. - **/ void -gdk_query_visual_types (GdkVisualType **visual_types, - gint *count) +_gdk_screen_x11_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (gdk_screen_get_default ()); + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); *count = screen_x11->navailable_types; *visual_types = screen_x11->available_types; } -/** - * gdk_screen_list_visuals: - * @screen: the relevant #GdkScreen. - * - * Lists the available visuals for the specified @screen. - * A visual describes a hardware image data format. - * For example, a visual might support 24-bit color, or 8-bit color, - * and might expect pixels to be in a certain format. - * - * Call g_list_free() on the return value when you're finished with it. - * - * Return value: (transfer container) (element-type GdkVisual): - * a list of visuals; the list must be freed, but not its contents - * - * Since: 2.2 - **/ GList * -gdk_screen_list_visuals (GdkScreen *screen) +_gdk_screen_x11_list_visuals (GdkScreen *screen) { GList *list; GdkScreenX11 *screen_x11; From 07d49ee56a4ce86d9d6154e00ff6b10bd3bdc2a4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Dec 2010 23:07:00 -0500 Subject: [PATCH 0621/1463] Merge libgdk and libgtk This commit does a number of things: - remove some dead wchar configury from configure.ac and gdkconfig.h - repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo macros for each included backend, include it in gdk.h and install it in $includedir instead of below $libdir - drop the backend from the library names - build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la It does not yet enable building multiple backends at the same time. --- configure.ac | 103 +++++-------------------- demos/Makefile.am | 12 ++- demos/gtk-demo/Makefile.am | 8 +- docs/reference/gdk/Makefile.am | 2 +- docs/reference/gtk/Makefile.am | 3 +- docs/tools/Makefile.am | 25 +++--- examples/Makefile.am | 3 +- gdk/Makefile.am | 31 +++----- gdk/gdk.h | 1 + gdk/tests/Makefile.am | 2 +- gtk/Makefile.am | 43 ++++------- gtk/gtkbuilder.h | 1 - gtk/gtkcolorsel.c | 3 +- gtk/gtkdnd-quartz.c | 4 +- gtk/gtkdnd.c | 4 +- gtk/gtklayout.c | 2 +- gtk/gtkliststore.h | 1 - gtk/gtkmain.c | 3 +- gtk/gtkrc.c | 2 +- gtk/gtksearchengine.c | 4 +- gtk/gtktextchild.h | 2 +- gtk/gtktreemodelfilter.h | 1 - gtk/gtktreemodelsort.h | 2 +- gtk/gtktreestore.h | 2 +- gtk/tests/Makefile.am | 6 +- modules/input/Makefile.am | 6 +- modules/other/gail/Makefile.am | 3 +- modules/printbackends/cups/Makefile.am | 3 +- modules/printbackends/file/Makefile.am | 3 +- modules/printbackends/lpr/Makefile.am | 4 +- modules/printbackends/papi/Makefile.am | 4 +- modules/printbackends/test/Makefile.am | 2 +- perf/Makefile.am | 10 +-- tests/Makefile.am | 12 ++- 34 files changed, 103 insertions(+), 214 deletions(-) diff --git a/configure.ac b/configure.ac index a77df6e186..07e95691bd 100644 --- a/configure.ac +++ b/configure.ac @@ -267,12 +267,6 @@ case $gdktarget in *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz or win32.]);; esac -gdktargetlib=libgdk-$gdktarget-$GTK_API_VERSION.la -gtktargetlib=libgtk-$gdktarget-$GTK_API_VERSION.la - -AC_SUBST(gdktargetlib) -AC_SUBST(gtktargetlib) - if test "x$enable_debug" = "xyes"; then test "$cflags_set" = set || CFLAGS="$CFLAGS -g" GTK_DEBUG_FLAGS="-DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES" @@ -666,53 +660,6 @@ else fi fi -# `widechar' tests for gdki18n.h -AC_MSG_CHECKING(for wchar.h) -AC_TRY_CPP([#include ], gdk_wchar_h=yes, gdk_wchar_h=no) -if test $gdk_wchar_h = yes; then - AC_DEFINE(HAVE_WCHAR_H, 1, [Have wchar.h include file]) -fi -AC_MSG_RESULT($gdk_wchar_h) - -# Check for wctype.h (for iswalnum) -AC_MSG_CHECKING(for wctype.h) -AC_TRY_CPP([#include ], gdk_wctype_h=yes, gdk_wctype_h=no) -if test $gdk_wctype_h = yes; then - AC_DEFINE(HAVE_WCTYPE_H, 1, [Have wctype.h include file]) -fi -AC_MSG_RESULT($gdk_wctype_h) - -# in Solaris 2.5, `iswalnum' is in -lw -GDK_WLIBS= -AC_CHECK_FUNC(iswalnum,,[AC_CHECK_LIB(w,iswalnum,GDK_WLIBS=-lw)]) - -oLIBS="$LIBS" -LIBS="$LIBS $GDK_WLIBS" -# The following is necessary for Linux libc-5.4.38 -AC_MSG_CHECKING(if iswalnum() and friends are properly defined) -AC_TRY_LINK([#include ],[ -#if (defined(HAVE_WCTYPE_H) || defined(HAVE_WCHAR_H)) -# ifdef HAVE_WCTYPE_H -# include -# else -# ifdef HAVE_WCHAR_H -# include -# endif -# endif -#else -# define iswalnum(c) ((wchar_t)(c) <= 0xFF && isalnum(c)) -#endif -iswalnum((wchar_t) 0); -], gdk_working_wctype=yes, gdk_working_wctype=no) -LIBS="$oLIBS" - -if test $gdk_working_wctype = no; then - AC_DEFINE(HAVE_BROKEN_WCTYPE, 1, [Is the wctype implementation broken]) - GDK_WLIBS= -fi -AC_MSG_RESULT($gdk_working_wctype) -AC_SUBST(GDK_WLIBS) - # Check for uxtheme.h (for MS-Windows Engine) AC_MSG_CHECKING(for uxtheme.h) AC_TRY_CPP([#include ], gtk_uxtheme_h=yes, gtk_uxtheme_h=no) @@ -883,7 +830,7 @@ fi # Windowing system checks ######################################## -GDK_EXTRA_LIBS="$GDK_WLIBS" +GDK_EXTRA_LIBS= GDK_EXTRA_CFLAGS= # GTK+ uses some X calls, so needs to link against X directly @@ -1530,12 +1477,16 @@ AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [ * This is a generated file. Please modify `configure.ac' */ -#ifndef GDKCONFIG_H -#define GDKCONFIG_H +#ifndef __GDKCONFIG_H__ +#define __GDKCONFIG_H__ -#ifdef __cplusplus -extern "C" { -#endif /* __cplusplus */ +#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#include + +G_BEGIN_DECLS #ifndef GSEAL /* introduce GSEAL() here for all of Gdk and Gtk+ without the need to modify GLib */ @@ -1550,16 +1501,13 @@ _______EOF cat >>$outfile <<_______EOF $gdk_windowing -$gdk_wc _______EOF cat >>$outfile <<_______EOF -#ifdef __cplusplus -} -#endif /* __cplusplus */ +G_END_DECLS -#endif /* GDKCONFIG_H */ +#endif /* __GDKCONFIG_H__ */ _______EOF @@ -1570,31 +1518,20 @@ _______EOF mv $outfile gdk/gdkconfig.h fi ],[ -if test "x$gdktarget" = "xx11" ; then - gdk_windowing=' +gdk_windowing='' +if expr "$gdktarget" : ".*x11.*" > /dev/null ; then + gdk_windowing+=' #define GDK_WINDOWING_X11' -elif test "x$gdktarget" = "xwin32" ; then - gdk_windowing=' +fi +if expr "$gdktarget" : ".*win32.*" > /dev/null ; then + gdk_windowing+=' #define GDK_NATIVE_WINDOW_POINTER - #define GDK_WINDOWING_WIN32' -elif test "x$gdktarget" = "xquartz" ; then +fi +if expr "$gdktarget" : ".*quartz.*" > /dev/null ; then gdk_windowing=' #define GDK_WINDOWING_QUARTZ' fi - -if test x$gdk_wchar_h = xyes; then - gdk_wc=' -#define GDK_HAVE_WCHAR_H 1' -fi -if test x$gdk_wctype_h = xyes; then - gdk_wc="\$gdk_wc -#define GDK_HAVE_WCTYPE_H 1" -fi -if test x$gdk_working_wctype = xno; then - gdk_wc="\$gdk_wc -#define GDK_HAVE_BROKEN_WCTYPE 1" -fi ]) dnl diff --git a/demos/Makefile.am b/demos/Makefile.am index 9fe2ddc33a..efdd0b1183 100644 --- a/demos/Makefile.am +++ b/demos/Makefile.am @@ -11,14 +11,12 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) \ $(GTK_DEP_CFLAGS) -DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) +DEPS = \ + $(top_builddir)/gtk/libgtk-3.0.la -LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(GTK_DEP_LIBS) \ +LDADDS = \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(GTK_DEP_LIBS) \ $(MATH_LIB) noinst_PROGRAMS = \ diff --git a/demos/gtk-demo/Makefile.am b/demos/gtk-demo/Makefile.am index 43b706e7ed..1a5a6770a5 100644 --- a/demos/gtk-demo/Makefile.am +++ b/demos/gtk-demo/Makefile.am @@ -55,13 +55,11 @@ INCLUDES = \ $(GTK_DEP_CFLAGS) DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gtk/libgtk-3.0.la LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(GTK_DEP_LIBS) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(GTK_DEP_LIBS) \ -lm bin_PROGRAMS = gtk3-demo diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am index 0f7dab671c..b672f2c6e2 100644 --- a/docs/reference/gdk/Makefile.am +++ b/docs/reference/gdk/Makefile.am @@ -45,7 +45,7 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) \ $(GDK_DEP_CFLAGS) -GTKDOC_LIBS = $(top_builddir)/gdk/$(gdktargetlib) $(GDK_DEP_LIBS) +GTKDOC_LIBS = $(top_builddir)/gdk/libgdk-3.0.la $(GDK_DEP_LIBS) # Extra options to supply to gtkdoc-mkdb MKDB_OPTIONS=--sgml-mode --output-format=xml --name-space=gdk diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 85bec08a32..f0bd152eb4 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -107,8 +107,7 @@ CPPFLAGS += \ -UGTK_DISABLE_SINGLE_INCLUDES GTKDOC_LIBS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am index def51f2eef..d008afc1b4 100644 --- a/docs/tools/Makefile.am +++ b/docs/tools/Makefile.am @@ -1,22 +1,19 @@ include $(top_srcdir)/Makefile.decl -INCLUDES = \ - -I$(top_srcdir) \ - -I$(top_builddir)/gdk \ - -I$(top_srcdir)/gdk \ - -I$(top_srcdir)/gdk/x11 \ - $(GTK_DEBUG_FLAGS) \ +INCLUDES = \ + -I$(top_srcdir) \ + -I$(top_builddir)/gdk \ + -I$(top_srcdir)/gdk \ + -I$(top_srcdir)/gdk/x11 \ + $(GTK_DEBUG_FLAGS) \ $(GTK_DEP_CFLAGS) -DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) +DEPS = \ + $(top_builddir)/gtk/libgtk-3.0.la -LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(GTK_DEP_LIBS) \ - $(GDK_DEP_LIBS) \ +LDADDS = \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(GTK_DEP_LIBS) \ -lm if USE_X11 diff --git a/examples/Makefile.am b/examples/Makefile.am index 0dbef0aa44..f15e35d7dc 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -45,8 +45,7 @@ INCLUDES = \ $(GTK_DEP_CFLAGS) LDADD = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) noinst_PROGRAMS = hello-world window-default diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 40aaaf777a..801719d9ac 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -92,6 +92,7 @@ gdk_public_h_sources = \ gdkwindow.h gdk_built_public_sources = \ + gdkconfig.h \ gdkenumtypes.h gdk_private_headers = \ @@ -145,6 +146,10 @@ common_sources = \ gdkmarshalers.c \ gdkmarshalers.h +libgdk_3_0_la_SOURCES = $(common_sources) +libgdk_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) +libgdk_3_0_la_LDFLAGS = $(LDADD) + libgdk_x11_3_0_la_SOURCES = $(common_sources) libgdk_x11_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) libgdk_x11_3_0_la_LDFLAGS = $(LDADD) @@ -166,10 +171,10 @@ introspection_files = \ gdkenumtypes.c \ gdkenumtypes.h -Gdk-3.0.gir: $(gdktargetlib) Makefile +Gdk-3.0.gir: libgdk-3.0.la Makefile Gdk_3_0_gir_SCANNERFLAGS = --warn-all Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0 -Gdk_3_0_gir_LIBS = $(gdktargetlib) +Gdk_3_0_gir_LIBS = libgdk-3.0.la Gdk_3_0_gir_FILES = $(introspection_files) Gdk_3_0_gir_CFLAGS = $(INCLUDES) INTROSPECTION_GIRS += Gdk-3.0.gir @@ -210,10 +215,10 @@ x11_introspection_files = \ x11/xsettings-common.c \ x11/gdkx.h -GdkX11-3.0.gir: $(gdktargetlib) Gdk-3.0.gir Makefile +GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0 -GdkX11_3_0_gir_LIBS = $(gdktargetlib) +GdkX11_3_0_gir_LIBS = libgdk-3.0.la GdkX11_3_0_gir_FILES = $(x11_introspection_files) GdkX11_3_0_gir_CFLAGS = $(INCLUDES) -L$(top_builddir)/gdk INTROSPECTION_GIRS += GdkX11-3.0.gir @@ -271,29 +276,15 @@ TESTS = abicheck.sh endif -lib_LTLIBRARIES = $(gdktargetlib) - -EXTRA_LTLIBRARIES = libgdk-x11-3.0.la libgdk-win32-3.0.la libgdk-quartz-3.0.la +noinst_LTLIBRARIES = libgdk-3.0.la MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h EXTRA_DIST += $(gdk_built_sources) EXTRA_HEADERS = -# -# Rule to install gdkconfig.h header file -# -configexecincludedir = $(libdir)/gtk-3.0/include -#configexecinclude_DATA = gdkconfig.h - -install-exec-local: gdkconfig.h - $(mkinstalldirs) $(DESTDIR)$(configexecincludedir) - file=$(DESTDIR)$(configexecincludedir)/gdkconfig.h; \ - if test -r $$file && cmp -s gdkconfig.h $$file; then :; \ - else $(INSTALL_DATA) gdkconfig.h $$file; fi - install-exec-hook: if DISABLE_EXPLICIT_DEPS - $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gdktargetlib) + $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/libgdk-3.0.la endif #note: not gdkconfig.h diff --git a/gdk/gdk.h b/gdk/gdk.h index 529dc05949..938961e35f 100644 --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -29,6 +29,7 @@ #define __GDK_H_INSIDE__ +#include #include #include #include diff --git a/gdk/tests/Makefile.am b/gdk/tests/Makefile.am index 04e5b253fe..9a7531421e 100644 --- a/gdk/tests/Makefile.am +++ b/gdk/tests/Makefile.am @@ -12,7 +12,7 @@ AM_CPPFLAGS = \ progs_ldadd = \ $(GDK_DEP_LIBS) \ - $(top_builddir)/gdk/libgdk-$(gdktarget)-$(GTK_API_VERSION).la \ + $(top_builddir)/gdk/libgdk-$(GTK_API_VERSION).la \ $(NULL) #TEST_PROGS += check-gdk-cairo diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 62be9e1bfe..32b377b4f6 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -109,8 +109,8 @@ TESTS = abicheck.sh endif libgtkincludedir = $(includedir)/gtk-3.0/gtk -libadd = \ - $(top_builddir)/gdk/$(gdktargetlib) \ +libadd = \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) deps = @@ -866,7 +866,7 @@ gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile gtktestutils.c: gtktypefuncs.c # target platform: -lib_LTLIBRARIES = $(gtktargetlib) +lib_LTLIBRARIES = libgtk-3.0.la gtkincludedir = $(includedir)/gtk-3.0/gtk gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h @@ -874,30 +874,22 @@ gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk gtkunixprintincludedir = $(includedir)/gtk-3.0/unix-print/gtk gtkunixprintinclude_HEADERS = $(gtk_unix_print_public_h_sources) -libgtk_x11_3_0_la_SOURCES = $(gtk_c_sources) -libgtk_win32_3_0_la_SOURCES = $(gtk_c_sources) -libgtk_quartz_3_0_la_SOURCES = $(gtk_c_sources) +libgtk_3_0_la_SOURCES = $(gtk_c_sources) +libgtk_3_0_la_LDFLAGS = $(libtool_opts) +libgtk_3_0_la_LIBADD = $(libadd) +libgtk_3_0_la_DEPENDENCIES = $(deps) -libgtk_x11_3_0_la_LDFLAGS = $(libtool_opts) -libgtk_win32_3_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid -libgtk_quartz_3_0_la_LDFLAGS = $(libtool_opts) - -libgtk_x11_3_0_la_LIBADD = $(libadd) -libgtk_win32_3_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -libgtk_quartz_3_0_la_LIBADD = $(libadd) - -libgtk_x11_3_0_la_DEPENDENCIES = $(deps) -libgtk_win32_3_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps) -libgtk_quartz_3_0_la_DEPENDENCIES = $(deps) +#libgtk_win32_3_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid +#libgtk_win32_3_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 +#libgtk_win32_3_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps) if USE_WIN32 libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols) endif -EXTRA_LTLIBRARIES = libgtk-x11-3.0.la libgtk-win32-3.0.la libgtk-quartz-3.0.la install-exec-hook: if DISABLE_EXPLICIT_DEPS - $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/$(gtktargetlib) + $(SHELL) $(top_srcdir)/sanitize-la.sh $(DESTDIR)$(libdir)/libgtk-3.0.la endif if USE_QUARTZ @@ -944,13 +936,13 @@ distclean-local: rm -f $(MAINTAINERCLEANFILES); \ fi -DEPS = $(gtktargetlib) $(top_builddir)/gdk/$(gdktargetlib) +DEPS = libgtk-3.0.la $(top_builddir)/gdk/libgdk-3.0.la TEST_DEPS = $(DEPS) immodules.cache LDADDS = \ - $(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) if HAVE_INTROSPECTION @@ -960,7 +952,7 @@ introspection_files = \ gtktypebuiltins.h \ gtktypebuiltins.c -Gtk-3.0.gir: $(INTROSPECTION_SCANNER) $(gtktargetlib) $(top_builddir)/gdk/Gdk-3.0.gir Makefile +Gtk-3.0.gir: $(INTROSPECTION_SCANNER) libgtk-3.0.la $(top_builddir)/gdk/Gdk-3.0.gir Makefile Gtk_3_0_gir_SCANNERFLAGS = --warn-all --add-include-path=$(top_builddir)/gdk if USE_X11 Gtk_3_0_gir_SCANNERFLAGS += --add-include-path=$(top_builddir)/gdk/x11 @@ -971,10 +963,7 @@ Gtk_3_0_gir_CFLAGS = \ -UGDK_DISABLE_DEPRECATED \ -UGTK_DISABLE_DEPRECATED \ -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API -Gtk_3_0_gir_LIBS = $(gtktargetlib) -if USE_X11 -Gtk_3_0_gir_LIBS += $(top_builddir)/gdk/libgdk-x11-3.0.la -endif +Gtk_3_0_gir_LIBS = libgtk-3.0.la Gtk_3_0_gir_FILES = $(introspection_files) INTROSPECTION_GIRS += Gtk-3.0.gir diff --git a/gtk/gtkbuilder.h b/gtk/gtkbuilder.h index 298e3e8aed..cdbd06f673 100644 --- a/gtk/gtkbuilder.h +++ b/gtk/gtkbuilder.h @@ -25,7 +25,6 @@ #ifndef __GTK_BUILDER_H__ #define __GTK_BUILDER_H__ -#include #include G_BEGIN_DECLS diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index d0debfca3c..2f029ac333 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -32,8 +32,7 @@ #include #include -#include "gdkconfig.h" -#include "gdk/gdkkeysyms.h" +#include "gdk/gdk.h" #include "gtkhsv.h" #include "gtkwindow.h" #include "gtkselection.h" diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index 0f35cbadfc..858f9c2d34 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -29,9 +29,7 @@ #include #include -#include "gdkconfig.h" - -#include "gdk/gdkkeysyms.h" +#include "gdk/gdk.h" #include "gtkdnd.h" #include "gtkiconfactory.h" diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 3e56216ace..502e21b6e6 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -30,9 +30,7 @@ #include #include -#include "gdkconfig.h" - -#include "gdk/gdkkeysyms.h" +#include "gdk/gdk.h" #ifdef GDK_WINDOWING_X11 #include diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index 2815b642b2..bf43bd83e8 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -32,7 +32,7 @@ #include "gtklayout.h" -#include "gdkconfig.h" +#include "gdk/gdk.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkliststore.h b/gtk/gtkliststore.h index 594fc329c8..d05305b23b 100644 --- a/gtk/gtkliststore.h +++ b/gtk/gtkliststore.h @@ -24,7 +24,6 @@ #ifndef __GTK_LIST_STORE_H__ #define __GTK_LIST_STORE_H__ -#include #include #include diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 861ab0f44a..dc272600fe 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -29,7 +29,7 @@ #include "gtkmain.h" #include -#include "gdkconfig.h" +#include "gdk/gdk.h" #include @@ -64,7 +64,6 @@ #include "gtktooltip.h" #include "gtkdebug.h" #include "gtkmenu.h" -#include "gdk/gdkkeysyms.h" #ifdef G_OS_WIN32 diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 5f726bd23f..44b0371479 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -42,7 +42,7 @@ #include #include -#include "gdkconfig.h" +#include "gdk/gdk.h" #include "gtkversion.h" #include "gtkrc.h" diff --git a/gtk/gtksearchengine.c b/gtk/gtksearchengine.c index 2b2274e655..eac7eb628c 100644 --- a/gtk/gtksearchengine.c +++ b/gtk/gtksearchengine.c @@ -27,13 +27,13 @@ #include "gtksearchenginetracker.h" #include "gtksearchenginequartz.h" -#include /* for GDK_WINDOWING_QUARTZ */ +#include /* for GDK_WINDOWING_QUARTZ */ #ifndef G_OS_WIN32 /* Beagle and tracker are not ported * to Windows, as far as I know. */ -#define HAVE_BEAGLE 1 +#define HAVE_BEAGLE 1 #define HAVE_TRACKER 1 #endif diff --git a/gtk/gtktextchild.h b/gtk/gtktextchild.h index dd132f4278..afcbadf8c7 100644 --- a/gtk/gtktextchild.h +++ b/gtk/gtktextchild.h @@ -31,7 +31,7 @@ #ifndef __GTK_TEXT_CHILD_H__ #define __GTK_TEXT_CHILD_H__ -#include +#include #include G_BEGIN_DECLS diff --git a/gtk/gtktreemodelfilter.h b/gtk/gtktreemodelfilter.h index 1dc097a5d8..b8c3376886 100644 --- a/gtk/gtktreemodelfilter.h +++ b/gtk/gtktreemodelfilter.h @@ -25,7 +25,6 @@ #ifndef __GTK_TREE_MODEL_FILTER_H__ #define __GTK_TREE_MODEL_FILTER_H__ -#include #include G_BEGIN_DECLS diff --git a/gtk/gtktreemodelsort.h b/gtk/gtktreemodelsort.h index 7645761389..90cc3c31a1 100644 --- a/gtk/gtktreemodelsort.h +++ b/gtk/gtktreemodelsort.h @@ -24,7 +24,7 @@ #ifndef __GTK_TREE_MODEL_SORT_H__ #define __GTK_TREE_MODEL_SORT_H__ -#include +#include #include #include diff --git a/gtk/gtktreestore.h b/gtk/gtktreestore.h index 5fba118d16..0f151d4702 100644 --- a/gtk/gtktreestore.h +++ b/gtk/gtktreestore.h @@ -24,7 +24,7 @@ #ifndef __GTK_TREE_STORE_H__ #define __GTK_TREE_STORE_H__ -#include +#include #include #include #include diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index 186880b11c..35105d329f 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -11,12 +11,10 @@ INCLUDES = \ $(GTK_DEP_CFLAGS) DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gtk/libgtk-3.0.la progs_ldadd = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) noinst_PROGRAMS = $(TEST_PROGS) $(SAMPLE_PROGS) diff --git a/modules/input/Makefile.am b/modules/input/Makefile.am index 019b52b182..72c2029f2b 100644 --- a/modules/input/Makefile.am +++ b/modules/input/Makefile.am @@ -17,12 +17,10 @@ INCLUDES = \ $(INCLUDED_IMMODULE_DEFINE) DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gtk/libgtk-3.0.la LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) moduledir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/immodules diff --git a/modules/other/gail/Makefile.am b/modules/other/gail/Makefile.am index 6be2ca13c8..687d8f619f 100644 --- a/modules/other/gail/Makefile.am +++ b/modules/other/gail/Makefile.am @@ -141,8 +141,7 @@ libgail_la_CFLAGS = \ $(AM_CFLAGS) libgail_la_LIBADD = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(top_builddir)/modules/other/gail/libgail-util/libgailutil-3.0.la \ $(GTK_DEP_LIBS) \ $(INTLLIBS) diff --git a/modules/printbackends/cups/Makefile.am b/modules/printbackends/cups/Makefile.am index de4d77477d..54feaac16a 100644 --- a/modules/printbackends/cups/Makefile.am +++ b/modules/printbackends/cups/Makefile.am @@ -16,8 +16,7 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) LDADDS = \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) backenddir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/printbackends diff --git a/modules/printbackends/file/Makefile.am b/modules/printbackends/file/Makefile.am index 30469e981b..402ae34379 100644 --- a/modules/printbackends/file/Makefile.am +++ b/modules/printbackends/file/Makefile.am @@ -28,8 +28,7 @@ libprintbackend_file_la_LDFLAGS = \ -avoid-version -module $(no_undefined) libprintbackend_file_la_LIBADD = \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) noinst_HEADERS = \ diff --git a/modules/printbackends/lpr/Makefile.am b/modules/printbackends/lpr/Makefile.am index 379fa4964a..8142b6827b 100644 --- a/modules/printbackends/lpr/Makefile.am +++ b/modules/printbackends/lpr/Makefile.am @@ -15,8 +15,8 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) LDADDS = \ - $(GTK_DEP_LIBS) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gtk/libgtk-3.0.la \ + $(GTK_DEP_LIBS) backenddir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/printbackends diff --git a/modules/printbackends/papi/Makefile.am b/modules/printbackends/papi/Makefile.am index 671055be59..c67d8b251e 100644 --- a/modules/printbackends/papi/Makefile.am +++ b/modules/printbackends/papi/Makefile.am @@ -13,8 +13,8 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) LDADDS = \ - $(GTK_DEP_LIBS) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gtk/libgtk-3.0.la \ + $(GTK_DEP_LIBS) backenddir = $(libdir)/gtk-2.0/$(GTK_BINARY_VERSION)/printbackends diff --git a/modules/printbackends/test/Makefile.am b/modules/printbackends/test/Makefile.am index 2f61165e0e..822514fe46 100644 --- a/modules/printbackends/test/Makefile.am +++ b/modules/printbackends/test/Makefile.am @@ -28,7 +28,7 @@ libprintbackend_test_la_LDFLAGS = \ -avoid-version -module $(no_undefined) libprintbackend_test_la_LIBADD = \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) noinst_HEADERS = \ diff --git a/perf/Makefile.am b/perf/Makefile.am index 6b95b16b48..3b2c0b0c7b 100644 --- a/perf/Makefile.am +++ b/perf/Makefile.am @@ -10,13 +10,11 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) \ $(GTK_DEP_CFLAGS) -DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) +DEPS = \ + $(top_builddir)/gtk/libgtk-3.0.la -LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ +LDADDS = \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) noinst_PROGRAMS = \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 681e9b3fda..744796bb79 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -11,14 +11,12 @@ INCLUDES = \ $(GTK_DEP_CFLAGS) \ $(GDK_DEP_CFLAGS) -DEPS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) +DEPS = \ + $(top_builddir)/gtk/libgtk-3.0.la -LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(GTK_DEP_LIBS) \ +LDADDS = \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(GTK_DEP_LIBS) \ -lm if USE_X11 From 6465e8dd157cf7f7dbf0ade227784aa6f2d10549 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Dec 2010 23:22:49 -0500 Subject: [PATCH 0622/1463] Reorganize pc files for a single library After this commit, pc files no longer include the gdk backend in their name, and we no longer install a pc file for gdk. There is now a single gtk+-3.0.pc file. It turns out a separate gtk+-x11-3.0.pc file is not necessary, since gdkx.h doesn't have a separate include directory that would have to be added to Cflags. --- Makefile.am | 48 ++++++--------------------------------- configure.ac | 2 -- gdk-3.0-uninstalled.pc.in | 8 ------- gdk-3.0.pc.in | 12 ---------- gtk+-3.0.pc.in | 6 ++--- gtk+-unix-print-3.0.pc.in | 2 +- 6 files changed, 11 insertions(+), 67 deletions(-) delete mode 100644 gdk-3.0-uninstalled.pc.in delete mode 100644 gdk-3.0.pc.in diff --git a/Makefile.am b/Makefile.am index 14444964fd..68002d7745 100644 --- a/Makefile.am +++ b/Makefile.am @@ -54,40 +54,19 @@ MAINTAINERCLEANFILES = \ $(srcdir)/ChangeLog \ `find "$(srcdir)" -type f -name Makefile.in -print` -GDKTARGET=@gdktarget@ - -## Copy .pc files to target-specific names -gtk+-$(GDKTARGET)-3.0.pc: gtk+-3.0.pc - rm -f gtk+-$(GDKTARGET)-3.0.pc && \ - cp gtk+-3.0.pc gtk+-$(GDKTARGET)-3.0.pc - -gdk-$(GDKTARGET)-3.0.pc: gdk-3.0.pc - rm -f gdk-$(GDKTARGET)-3.0.pc && \ - cp gdk-3.0.pc gdk-$(GDKTARGET)-3.0.pc - -gtk+-$(GDKTARGET)-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc - rm -f gtk+-$(GDKTARGET)-3.0-uninstalled.pc && \ - cp gtk+-3.0-uninstalled.pc gtk+-$(GDKTARGET)-3.0-uninstalled.pc - -gdk-$(GDKTARGET)-3.0-uninstalled.pc: gdk-3.0-uninstalled.pc - rm -f gdk-$(GDKTARGET)-3.0-uninstalled.pc && \ - cp gdk-3.0-uninstalled.pc gdk-$(GDKTARGET)-3.0-uninstalled.pc - pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = gdk-$(GDKTARGET)-3.0.pc gtk+-$(GDKTARGET)-3.0.pc gail-3.0.pc +pkgconfig_DATA = gtk+-3.0.pc gail-3.0.pc if OS_UNIX pkgconfig_DATA += gtk+-unix-print-3.0.pc endif -DISTCLEANFILES = \ - gtk+-unix-print-3.0.pc \ - gtk+-$(GDKTARGET)-3.0.pc \ - gdk-$(GDKTARGET)-3.0.pc \ - gail-3.0.pc \ - gtk+-$(GDKTARGET)-3.0-uninstalled.pc \ - gdk-$(GDKTARGET)-3.0-uninstalled.pc \ - gail-3.0-uninstalled.pc \ +DISTCLEANFILES = \ + gtk+-unix-print-3.0.pc \ + gtk+-3.0.pc \ + gail-3.0.pc \ + gtk+-3.0-uninstalled.pc \ + gail-3.0-uninstalled.pc \ config.lt distclean-local: @@ -109,20 +88,7 @@ ChangeLog: echo A git checkout and git-log is required to generate this file >> $@); \ fi -## copy the default target for this platform to gdk-3.0.pc and gtk+-3.0.pc -DEFAULT_GDKTARGET=x11 -install-data-hook: - (cd $(DESTDIR)$(pkgconfigdir) && \ - test -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc && \ - test -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc && \ - rm -f gdk-3.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-3.0.pc gdk-3.0.pc && \ - rm -f gtk+-3.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-3.0.pc gtk+-3.0.pc) || \ - (cd $(DESTDIR)$(pkgconfigdir) && \ - rm -f gdk-3.0.pc && cp -f gdk-$(GDKTARGET)-3.0.pc gdk-3.0.pc && \ - rm -f gtk+-3.0.pc && cp -f gtk+-$(GDKTARGET)-3.0.pc gtk+-3.0.pc) - uninstall-local: - rm -f $(DESTDIR)$(pkgconfigdir)/gdk-3.0.pc rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-3.0.pc dist-hook: diff --git a/configure.ac b/configure.ac index 07e95691bd..9ff5b67050 100644 --- a/configure.ac +++ b/configure.ac @@ -1560,11 +1560,9 @@ AC_CONFIG_FILES([ config.h.win32 gtk-zip.sh Makefile -gdk-3.0.pc gtk+-3.0.pc gtk+-unix-print-3.0.pc gail-3.0.pc -gdk-3.0-uninstalled.pc gtk+-3.0-uninstalled.pc gail-3.0-uninstalled.pc m4macros/Makefile diff --git a/gdk-3.0-uninstalled.pc.in b/gdk-3.0-uninstalled.pc.in deleted file mode 100644 index 45adcf0f06..0000000000 --- a/gdk-3.0-uninstalled.pc.in +++ /dev/null @@ -1,8 +0,0 @@ -target=@gdktarget@ - -Name: GDK Uninstalled -Description: GTK+ Drawing Kit (${target} target), Not Installed -Version: @VERSION@ -Requires: gdk-pixbuf-@GTK_API_VERSION@-uninstalled @GDK_PACKAGES@ -Libs: ${pc_top_builddir}/${pcfiledir}/gdk/libgdk-${target}-@GTK_API_VERSION@.la @GDK_EXTRA_LIBS@ -Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@/gdk -I${pc_top_builddir}/${pcfiledir}/@srcdir@ -I${pc_top_builddir}/${pcfiledir} @GDK_EXTRA_CFLAGS@ diff --git a/gdk-3.0.pc.in b/gdk-3.0.pc.in deleted file mode 100644 index fe21977748..0000000000 --- a/gdk-3.0.pc.in +++ /dev/null @@ -1,12 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -target=@gdktarget@ - -Name: GDK -Description: GTK+ Drawing Kit (${target} target) -Version: @VERSION@ -Requires: @GDK_PACKAGES@ -Libs: -L${libdir} -lgdk-${target}-@GTK_API_VERSION@ @GDK_EXTRA_LIBS@ -Cflags: -I${includedir}/gtk-@GTK_API_VERSION@ -I${libdir}/gtk-@GTK_API_VERSION@/include @GDK_EXTRA_CFLAGS@ -DGSEAL_ENABLE diff --git a/gtk+-3.0.pc.in b/gtk+-3.0.pc.in index ccb8c7e107..c686112428 100644 --- a/gtk+-3.0.pc.in +++ b/gtk+-3.0.pc.in @@ -8,8 +8,8 @@ gtk_binary_version=@GTK_BINARY_VERSION@ gtk_host=@host@ Name: GTK+ -Description: GTK+ Graphical UI Library (${target} target) +Description: GTK+ Graphical UI Library Version: @VERSION@ -Requires: gdk-${target}-@GTK_API_VERSION@ @GTK_PACKAGES@ -Libs: -L${libdir} -lgtk-${target}-@GTK_API_VERSION@ @GTK_EXTRA_LIBS@ +Requires: @GTK_PACKAGES@ +Libs: -L${libdir} -lgtk-@GTK_API_VERSION@ @GTK_EXTRA_LIBS@ Cflags: -I${includedir}/gtk-@GTK_API_VERSION@ @GTK_EXTRA_CFLAGS@ -DGSEAL_ENABLE diff --git a/gtk+-unix-print-3.0.pc.in b/gtk+-unix-print-3.0.pc.in index 5b8462a209..cbace1af49 100644 --- a/gtk+-unix-print-3.0.pc.in +++ b/gtk+-unix-print-3.0.pc.in @@ -10,5 +10,5 @@ gtk_host=@host@ Name: GTK+ Description: GTK+ Unix print support Version: @VERSION@ -Requires: gtk+-${target}-@GTK_API_VERSION@ @GTK_PACKAGES@ +Requires: gtk+-@GTK_API_VERSION@ @GTK_PACKAGES@ Cflags: -I${includedir}/gtk-@GTK_API_VERSION@/unix-print From 8075cfd658c72821c21e5898d3650fe88ea36c0c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Dec 2010 23:48:00 -0500 Subject: [PATCH 0623/1463] Move gdk_get_display to common code --- gdk/gdkdisplay.c | 6 ++++++ gdk/quartz/gdkmain-quartz.c | 6 ------ gdk/win32/gdkmain-win32.c | 6 ------ gdk/x11/gdkmain-x11.c | 6 ------ 4 files changed, 6 insertions(+), 18 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index a6197c28fc..cb8b9c2bcd 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -1849,6 +1849,12 @@ gdk_display_get_name (GdkDisplay *display) return GDK_DISPLAY_GET_CLASS(display)->get_name (display); } +gchar * +gdk_get_display (void) +{ + return g_strdup (gdk_display_get_name (gdk_display_get_default ())); +} + /** * gdk_display_get_n_screens: * @display: a #GdkDisplay diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c index 6e84756907..dad1e544e7 100644 --- a/gdk/quartz/gdkmain-quartz.c +++ b/gdk/quartz/gdkmain-quartz.c @@ -61,12 +61,6 @@ gdk_error_trap_pop_ignored (void) { } -gchar * -gdk_get_display (void) -{ - return g_strdup (gdk_display_get_name (gdk_display_get_default ())); -} - void gdk_notify_startup_complete (void) { diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index e48e2bef40..e07c1ca548 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -197,12 +197,6 @@ _gdk_windowing_exit (void) _gdk_display_hdc = NULL; } -gchar * -gdk_get_display (void) -{ - return g_strdup (gdk_display_get_name (gdk_display_get_default ())); -} - void gdk_error_trap_push (void) { diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 2ce5e34875..91eb83d0f7 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -545,12 +545,6 @@ gdk_error_trap_pop (void) return gdk_error_trap_pop_internal (TRUE); } -gchar * -gdk_get_display (void) -{ - return g_strdup (gdk_display_get_name (gdk_display_get_default ())); -} - /** * _gdk_send_xevent: * @display: #GdkDisplay which @window is on From 31cd046cd00a22e432a2aba771dcc2f77b85681b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 8 Dec 2010 23:52:26 -0500 Subject: [PATCH 0624/1463] Move gdk_add_client_message_filter to common code --- gdk/quartz/gdkevents-quartz.c | 8 -------- gdk/win32/gdkevents-win32.c | 9 --------- 2 files changed, 17 deletions(-) diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 9cbfdda8e6..2520d4fa25 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1393,14 +1393,6 @@ gdk_display_add_client_message_filter (GdkDisplay *display, /* Not supported. */ } -void -gdk_add_client_message_filter (GdkAtom message_type, - GdkFilterFunc func, - gpointer data) -{ - /* Not supported. */ -} - void gdk_display_sync (GdkDisplay *display) { diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index e29df5538f..78d6cbe623 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -567,15 +567,6 @@ gdk_display_add_client_message_filter (GdkDisplay *display, GdkAtom message_type, GdkFilterFunc func, gpointer data) -{ - /* XXX */ - gdk_add_client_message_filter (message_type, func, data); -} - -void -gdk_add_client_message_filter (GdkAtom message_type, - GdkFilterFunc func, - gpointer data) { GdkClientFilter *filter = g_new (GdkClientFilter, 1); From de84a7b14f07eca28c31949767d17ecd8368a5fa Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 9 Dec 2010 00:02:35 -0500 Subject: [PATCH 0625/1463] Move gdk_window_lookup to common code --- gdk/gdkwindow.c | 18 ++++++++++++++++++ gdk/quartz/gdkwindow-quartz.c | 7 ------- gdk/win32/gdkwindow-win32.c | 8 +------- gdk/x11/gdkwindow-x11.c | 18 ------------------ 4 files changed, 19 insertions(+), 32 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 1c78ea2c73..7c30e52c6c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -10685,3 +10685,21 @@ gdk_window_register_dnd (GdkWindow *window) { GDK_WINDOW_IMPL_GET_CLASS (window->impl)->register_dnd (window); } + +/** + * gdk_window_lookup: + * @anid: a native window handle + * + * Looks up the #GdkWindow that wraps the given native window handle. + * + * For example in the X backend, a native window handle is an Xlib + * XID. + * + * Return value: (transfer none): the #GdkWindow wrapper for the native + * window, or %NULL if there is none. + **/ +GdkWindow * +gdk_window_lookup (GdkNativeWindow anid) +{ + return gdk_window_lookup_for_display (gdk_display_get_default (), anid); +} diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index c912e26b4d..f0094bab98 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2868,13 +2868,6 @@ gdk_window_foreign_new_for_display (GdkDisplay *display, return NULL; } -GdkWindow* -gdk_window_lookup (GdkNativeWindow anid) -{ - /* Foreign windows aren't supported in Mac OS X */ - return NULL; -} - GdkWindow * gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid) { diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 549f7a38ac..f2f27b5761 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -685,12 +685,6 @@ gdk_window_foreign_new_for_display (GdkDisplay *display, return window; } -GdkWindow* -gdk_window_lookup (GdkNativeWindow hwnd) -{ - return (GdkWindow*) gdk_win32_handle_table_lookup (hwnd); -} - void _gdk_win32_window_destroy (GdkWindow *window, gboolean recursing, @@ -3103,7 +3097,7 @@ gdk_window_lookup_for_display (GdkDisplay *display, { g_return_val_if_fail (display == _gdk_display, NULL); - return gdk_window_lookup (anid); + return (GdkWindow*) gdk_win32_handle_table_lookup (hwnd); } void diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 3fdbd69d59..61d36edf9e 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -969,24 +969,6 @@ gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid) return (GdkWindow*) gdk_xid_table_lookup_for_display (display, anid); } -/** - * gdk_window_lookup: - * @anid: a native window handle. - * - * Looks up the #GdkWindow that wraps the given native window handle. - * - * For example in the X backend, a native window handle is an Xlib - * XID. - * - * Return value: (transfer none): the #GdkWindow wrapper for the native - * window, or %NULL if there is none. - **/ -GdkWindow * -gdk_window_lookup (GdkNativeWindow anid) -{ - return (GdkWindow*) gdk_xid_table_lookup (anid); -} - static void gdk_toplevel_x11_free_contents (GdkDisplay *display, GdkToplevelX11 *toplevel) From 06f75b3727a0f06c1192b580f37edd8f31759263 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 9 Dec 2010 01:08:05 -0500 Subject: [PATCH 0626/1463] Make GdkAppLaunchContext display-dependent Add a GdkDisplay::get_app_launch_context vfunc, and a gdk_display_get_app_launch_context that for X11 returns a subclass. For win32 and quartz, the implementations were trivial, so we just return a new GdkAppLaunchContext without subclassing. Since the type of the context now depends on the display, gdk_app_launch_context_set_display is deprecated. --- gdk/gdk.symbols | 1 + gdk/gdkapplaunchcontext.c | 81 +++++++++++++++---------- gdk/gdkapplaunchcontext.h | 2 +- gdk/gdkdisplay.c | 35 ++++++++++- gdk/gdkdisplay.h | 2 + gdk/gdkinternals.h | 7 +-- gdk/gdktypes.h | 1 + gdk/quartz/Makefile.am | 1 - gdk/quartz/gdkapplaunchcontext-quartz.c | 42 ------------- gdk/win32/Makefile.am | 1 - gdk/win32/gdkapplaunchcontext-win32.c | 42 ------------- gdk/x11/gdkapplaunchcontext-x11.c | 66 ++++++++++++-------- gdk/x11/gdkdisplay-x11.c | 3 + 13 files changed, 133 insertions(+), 151 deletions(-) delete mode 100644 gdk/quartz/gdkapplaunchcontext-quartz.c delete mode 100644 gdk/win32/gdkapplaunchcontext-win32.c diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index f3e72b76ae..7040bfc4c6 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -85,6 +85,7 @@ gdk_display_beep gdk_display_close gdk_display_device_is_grabbed gdk_display_flush +gdk_display_get_app_launch_context gdk_display_get_default gdk_display_get_default_cursor_size gdk_display_get_default_group diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c index 1bd4dbbf29..c9188e03a3 100644 --- a/gdk/gdkapplaunchcontext.c +++ b/gdk/gdkapplaunchcontext.c @@ -61,10 +61,14 @@ static void gdk_app_launch_context_finalize (GObject *object); static gchar * gdk_app_launch_context_get_display (GAppLaunchContext *context, GAppInfo *info, GList *files); +static gchar * gdk_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, + GAppInfo *info, + GList *files); +static void gdk_app_launch_context_launch_failed (GAppLaunchContext *context, + const gchar *startup_notify_id); -G_DEFINE_TYPE (GdkAppLaunchContext, gdk_app_launch_context, - G_TYPE_APP_LAUNCH_CONTEXT) +G_DEFINE_TYPE (GdkAppLaunchContext, gdk_app_launch_context, G_TYPE_APP_LAUNCH_CONTEXT) static void gdk_app_launch_context_class_init (GdkAppLaunchContextClass *klass) @@ -75,8 +79,8 @@ gdk_app_launch_context_class_init (GdkAppLaunchContextClass *klass) gobject_class->finalize = gdk_app_launch_context_finalize; context_class->get_display = gdk_app_launch_context_get_display; - context_class->get_startup_notify_id = _gdk_windowing_get_startup_notify_id; - context_class->launch_failed = _gdk_windowing_launch_failed; + context_class->get_startup_notify_id = gdk_app_launch_context_get_startup_notify_id; + context_class->launch_failed = gdk_app_launch_context_launch_failed; g_type_class_add_private (klass, sizeof (GdkAppLaunchContextPrivate)); } @@ -85,8 +89,8 @@ static void gdk_app_launch_context_init (GdkAppLaunchContext *context) { context->priv = G_TYPE_INSTANCE_GET_PRIVATE (context, - GDK_TYPE_APP_LAUNCH_CONTEXT, - GdkAppLaunchContextPrivate); + GDK_TYPE_APP_LAUNCH_CONTEXT, + GdkAppLaunchContextPrivate); context->priv->workspace = -1; } @@ -144,22 +148,17 @@ gdk_app_launch_context_get_display (GAppLaunchContext *context, * using this context. See also gdk_app_launch_context_set_screen(). * * Since: 2.14 + * + * Deprecated: 3.0: Use gdk_display_get_app_launch_context() instead */ void gdk_app_launch_context_set_display (GdkAppLaunchContext *context, - GdkDisplay *display) + GdkDisplay *display) { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); g_return_if_fail (display == NULL || GDK_IS_DISPLAY (display)); - if (context->priv->display) - { - g_object_unref (context->priv->display); - context->priv->display = NULL; - } - - if (display) - context->priv->display = g_object_ref (display); + g_warn_if_fail (display == NULL || display == context->priv->display); } /** @@ -178,11 +177,13 @@ gdk_app_launch_context_set_display (GdkAppLaunchContext *context, */ void gdk_app_launch_context_set_screen (GdkAppLaunchContext *context, - GdkScreen *screen) + GdkScreen *screen) { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); g_return_if_fail (screen == NULL || GDK_IS_SCREEN (screen)); + g_return_if_fail (screen == NULL || gdk_screen_get_display (screen) == context->priv->display); + if (context->priv->screen) { g_object_unref (context->priv->screen); @@ -199,12 +200,12 @@ gdk_app_launch_context_set_screen (GdkAppLaunchContext *context, * @desktop: the number of a workspace, or -1 * * Sets the workspace on which applications will be launched when - * using this context when running under a window manager that - * supports multiple workspaces, as described in the - * Extended - * Window Manager Hints. + * using this context when running under a window manager that + * supports multiple workspaces, as described in the + * Extended + * Window Manager Hints. * - * When the workspace is not specified or @desktop is set to -1, + * When the workspace is not specified or @desktop is set to -1, * it is up to the window manager to pick one, typically it will * be the current workspace. * @@ -212,7 +213,7 @@ gdk_app_launch_context_set_screen (GdkAppLaunchContext *context, */ void gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, - gint desktop) + gint desktop) { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); @@ -225,7 +226,7 @@ gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, * @timestamp: a timestamp * * Sets the timestamp of @context. The timestamp should ideally - * be taken from the event that triggered the launch. + * be taken from the event that triggered the launch. * * Window managers can use this information to avoid moving the * focus to the newly launched application when the user is busy @@ -236,7 +237,7 @@ gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, */ void gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context, - guint32 timestamp) + guint32 timestamp) { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); @@ -280,20 +281,20 @@ gdk_app_launch_context_set_icon (GdkAppLaunchContext *context, * @context: a #GdkAppLaunchContext * @icon_name: (allow-none): an icon name, or %NULL * - * Sets the icon for applications that are launched with this context. - * The @icon_name will be interpreted in the same way as the Icon field - * in desktop files. See also gdk_app_launch_context_set_icon(). + * Sets the icon for applications that are launched with this context. + * The @icon_name will be interpreted in the same way as the Icon field + * in desktop files. See also gdk_app_launch_context_set_icon(). * * If both @icon and @icon_name are set, the @icon_name takes priority. - * If neither @icon or @icon_name is set, the icon is taken from either - * the file that is passed to launched application or from the #GAppInfo + * If neither @icon or @icon_name is set, the icon is taken from either + * the file that is passed to launched application or from the #GAppInfo * for the launched application itself. - * + * * Since: 2.14 */ void gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, - const char *icon_name) + const char *icon_name) { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); @@ -309,9 +310,25 @@ gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, * Returns: a new #GdkAppLaunchContext * * Since: 2.14 + * + * Deprecated: 3.0: Use gdk_display_get_app_launch_context() instead */ GdkAppLaunchContext * gdk_app_launch_context_new (void) { - return g_object_new (GDK_TYPE_APP_LAUNCH_CONTEXT, NULL); + return gdk_display_get_app_launch_context (gdk_display_get_default ()); +} + +static char * +gdk_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, + GAppInfo *info, + GList *files) +{ + return NULL; +} + +static void +gdk_app_launch_context_launch_failed (GAppLaunchContext *context, + const gchar *startup_notify_id) +{ } diff --git a/gdk/gdkapplaunchcontext.h b/gdk/gdkapplaunchcontext.h index cb53025c46..6805d9f7fe 100644 --- a/gdk/gdkapplaunchcontext.h +++ b/gdk/gdkapplaunchcontext.h @@ -28,6 +28,7 @@ #define __GDK_APP_LAUNCH_CONTEXT_H__ #include +#include #include G_BEGIN_DECLS @@ -39,7 +40,6 @@ G_BEGIN_DECLS #define GDK_IS_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDK_TYPE_APP_LAUNCH_CONTEXT)) #define GDK_APP_LAUNCH_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContextClass)) -typedef struct GdkAppLaunchContext GdkAppLaunchContext; typedef struct GdkAppLaunchContextClass GdkAppLaunchContextClass; typedef struct GdkAppLaunchContextPrivate GdkAppLaunchContextPrivate; diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index cb8b9c2bcd..f2ba0df230 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -121,8 +121,7 @@ static GdkWindow* singlehead_default_window_get_pointer (GdkWindow *window GdkModifierType *mask); static GdkWindow* singlehead_default_window_at_pointer (GdkScreen *screen, gint *win_x, - gint *win_y); -static GdkWindow *gdk_window_real_window_get_device_position (GdkDisplay *display, + gint *win_y);static GdkWindow *gdk_window_real_window_get_device_position (GdkDisplay *display, GdkDevice *device, GdkWindow *window, gint *x, @@ -132,6 +131,7 @@ static GdkWindow *gdk_display_real_get_window_at_device_position (GdkDisplay GdkDevice *device, gint *win_x, gint *win_y); +static GdkAppLaunchContext *gdk_display_real_get_app_launch_context (GdkDisplay *display); static guint signals[LAST_SIGNAL] = { 0 }; @@ -179,6 +179,8 @@ gdk_display_class_init (GdkDisplayClass *class) object_class->finalize = gdk_display_finalize; object_class->dispose = gdk_display_dispose; + class->get_app_launch_context = gdk_display_real_get_app_launch_context; + /** * GdkDisplay::opened: * @display: the object on which the signal is emitted @@ -2211,3 +2213,32 @@ gdk_add_client_message_filter (GdkAtom message_type, gdk_display_add_client_message_filter (gdk_display_get_default (), message_type, func, data); } + +static GdkAppLaunchContext * +gdk_display_real_get_app_launch_context (GdkDisplay *display) +{ + GdkAppLaunchContext *ctx; + + ctx = gdk_app_launch_context_new (); + gdk_app_launch_context_set_display (ctx, display); + + return ctx; +} + +/** + * gdk_display_get_app_launch_context: + * @display: a #GdkDisplay + * + * Returns a #GdkAppLaunchContext suitable for launching + * applications on the given display. + * + * Returns: a new #GdkAppLaunchContext for @display. + * Free with g_object_unref() when done + * + * Since: 3.0 + */ +GdkAppLaunchContext * +gdk_display_get_app_launch_context (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS(display)->get_app_launch_context (display); +} diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index bd99b1dd5a..0da46083f7 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -309,6 +309,8 @@ gboolean gdk_display_supports_composite (GdkDisplay *display); GdkDeviceManager * gdk_display_get_device_manager (GdkDisplay *display); +GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display); + G_END_DECLS diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index d0fa21d9b3..604ed64aa9 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -304,6 +304,7 @@ struct _GdkDisplayClass GdkAtom message_type, GdkFilterFunc func, gpointer data); + GdkAppLaunchContext * (*get_app_launch_context) (GdkDisplay *display); /* Signals */ @@ -575,12 +576,6 @@ struct GdkAppLaunchContextPrivate char *icon_name; }; -char *_gdk_windowing_get_startup_notify_id (GAppLaunchContext *context, - GAppInfo *info, - GList *files); -void _gdk_windowing_launch_failed (GAppLaunchContext *context, - const char *startup_notify_id); - void _gdk_display_device_grab_update (GdkDisplay *display, GdkDevice *device, GdkDevice *source_device, diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 865a7f5226..ce1e1f9e1b 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -147,6 +147,7 @@ typedef struct _GdkVisual GdkVisual; typedef struct _GdkWindow GdkWindow; typedef struct _GdkDisplay GdkDisplay; typedef struct _GdkScreen GdkScreen; +typedef struct GdkAppLaunchContext GdkAppLaunchContext; /** * GdkByteOrder: diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index f7ffd5a326..a1d5664bf3 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -21,7 +21,6 @@ libgdk_quartz_la_SOURCES = \ GdkQuartzView.h \ GdkQuartzWindow.c \ GdkQuartzWindow.h \ - gdkapplaunchcontext-quartz.c \ gdkcursor-quartz.c \ gdkdevice-core.c \ gdkdevicemanager-core.c \ diff --git a/gdk/quartz/gdkapplaunchcontext-quartz.c b/gdk/quartz/gdkapplaunchcontext-quartz.c deleted file mode 100644 index ce0b9c2828..0000000000 --- a/gdk/quartz/gdkapplaunchcontext-quartz.c +++ /dev/null @@ -1,42 +0,0 @@ -/* gdkapplaunchcontext-quartz.c - Gtk+ implementation for GAppLaunchContext - - Copyright (C) 2007 Red Hat, Inc. - - The Gnome Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The Gnome Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the Gnome Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. - - Author: Matthias Clasen -*/ - -#include "config.h" - -#include "gdkapplaunchcontext.h" - - -char * -_gdk_windowing_get_startup_notify_id (GAppLaunchContext *context, - GAppInfo *info, - GList *files) -{ - return NULL; -} - -void -_gdk_windowing_launch_failed (GAppLaunchContext *context, - const char *startup_notify_id) -{ -} - - diff --git a/gdk/win32/Makefile.am b/gdk/win32/Makefile.am index d851ccf056..2f8dd8fce9 100644 --- a/gdk/win32/Makefile.am +++ b/gdk/win32/Makefile.am @@ -26,7 +26,6 @@ EXTRA_DIST += \ libgdk_win32_la_SOURCES = \ xcursors.h \ - gdkapplaunchcontext-win32.c \ gdkcursor-win32.c \ gdkdevicemanager-win32.c \ gdkdevicemanager-win32.h \ diff --git a/gdk/win32/gdkapplaunchcontext-win32.c b/gdk/win32/gdkapplaunchcontext-win32.c deleted file mode 100644 index 8a7323c51d..0000000000 --- a/gdk/win32/gdkapplaunchcontext-win32.c +++ /dev/null @@ -1,42 +0,0 @@ -/* gdkapplaunchcontext-win32.c - Gtk+ implementation for GAppLaunchContext - - Copyright (C) 2007 Red Hat, Inc. - - The Gnome Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The Gnome Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the Gnome Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. - - Author: Matthias Clasen -*/ - -#include "config.h" - -#include "gdkapplaunchcontext.h" - - -char * -_gdk_windowing_get_startup_notify_id (GAppLaunchContext *context, - GAppInfo *info, - GList *files) -{ - return NULL; -} - -void -_gdk_windowing_launch_failed (GAppLaunchContext *context, - const char *startup_notify_id) -{ -} - - diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c index 5aea31d12a..5fdffecf34 100644 --- a/gdk/x11/gdkapplaunchcontext-x11.c +++ b/gdk/x11/gdkapplaunchcontext-x11.c @@ -23,10 +23,10 @@ #include "config.h" #include "gdkapplaunchcontext.h" +#include "gdkinternals.h" #include "gdkx.h" #include "gdkscreen.h" -#include "gdkinternals.h" #include "gdkintl.h" #include @@ -258,10 +258,10 @@ add_startup_timeout (GdkScreen *screen, } -char * -_gdk_windowing_get_startup_notify_id (GAppLaunchContext *context, - GAppInfo *info, - GList *files) +static char * +gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, + GAppInfo *info, + GList *files) { static int sequence = 0; GdkAppLaunchContextPrivate *priv; @@ -281,21 +281,11 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context, priv = GDK_APP_LAUNCH_CONTEXT (context)->priv; + display = priv->display; if (priv->screen) - { - screen = priv->screen; - display = gdk_screen_get_display (priv->screen); - } - else if (priv->display) - { - display = priv->display; - screen = gdk_display_get_default_screen (display); - } + screen = priv->screen; else - { - display = gdk_display_get_default (); - screen = gdk_display_get_default_screen (display); - } + screen = gdk_display_get_default_screen (priv->display); fileinfo = NULL; @@ -398,9 +388,9 @@ _gdk_windowing_get_startup_notify_id (GAppLaunchContext *context, } -void -_gdk_windowing_launch_failed (GAppLaunchContext *context, - const char *startup_notify_id) +static void +gdk_app_launch_context_x11_launch_failed (GAppLaunchContext *context, + const char *startup_notify_id) { GdkAppLaunchContextPrivate *priv; GdkScreen *screen; @@ -412,10 +402,8 @@ _gdk_windowing_launch_failed (GAppLaunchContext *context, if (priv->screen) screen = priv->screen; - else if (priv->display) - screen = gdk_display_get_default_screen (priv->display); else - screen = gdk_display_get_default_screen (gdk_display_get_default ()); + screen = gdk_display_get_default_screen (priv->display); data = g_object_get_data (G_OBJECT (screen), "appinfo-startup-data"); @@ -441,3 +429,33 @@ _gdk_windowing_launch_failed (GAppLaunchContext *context, } } } + +typedef struct GdkAppLaunchContext GdkAppLaunchContextX11; +typedef struct GdkAppLaunchContextClass GdkAppLaunchContextX11Class; + +G_DEFINE_TYPE (GdkAppLaunchContextX11, _gdk_app_launch_context_x11, GDK_TYPE_APP_LAUNCH_CONTEXT) + +static void +_gdk_app_launch_context_x11_class_init (GdkAppLaunchContextX11Class *klass) +{ + GAppLaunchContextClass *ctx_class = G_APP_LAUNCH_CONTEXT_CLASS (klass); + + ctx_class->get_startup_notify_id = gdk_app_launch_context_x11_get_startup_notify_id; + ctx_class->launch_failed = gdk_app_launch_context_x11_launch_failed; +} + +static void +_gdk_app_launch_context_x11_init (GdkAppLaunchContextX11 *ctx) +{ +} + +GdkAppLaunchContext * +_gdk_x11_display_get_app_launch_context (GdkDisplay *display) +{ + GdkAppLaunchContext *ctx; + + ctx = g_object_new (_gdk_app_launch_context_x11_get_type (), NULL); + gdk_app_launch_context_set_display (ctx, display); + + return ctx; +} diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index d09bec571a..d89a171cc4 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2703,6 +2703,8 @@ gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display) gdk_x11_display_error_trap_pop_internal (display, FALSE); } +extern GdkAppLaunchContext *_gdk_x11_display_get_app_launch_context (GdkDisplay *display); + static void _gdk_display_x11_class_init (GdkDisplayX11Class * class) { @@ -2730,5 +2732,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->list_devices = gdk_x11_display_list_devices; display_class->send_client_message = gdk_x11_display_send_client_message; display_class->add_client_message_filter = gdk_x11_display_add_client_message_filter; + display_class->get_app_launch_context = _gdk_x11_display_get_app_launch_context; } From a843a9d6141ec4e5dd418b195256e9dc547d0697 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 01:00:29 -0500 Subject: [PATCH 0627/1463] Make abicheck work again --- gdk/abicheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/abicheck.sh b/gdk/abicheck.sh index a33eef8e59..6031ff9440 100755 --- a/gdk/abicheck.sh +++ b/gdk/abicheck.sh @@ -1,5 +1,5 @@ #! /bin/sh cpp -P -DGDK_ENABLE_BROKEN -include ../config.h -include ./gdkconfig.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi -nm -D -g --defined-only .libs/libgdk-x11-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi +nm -D -g --defined-only .libs/libgdk-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi diff -u expected-abi actual-abi && rm -f expected-abi actual-abi From ae2c3a909c7ac111c7a4f64d4461ba32934c23b3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 19:09:11 -0500 Subject: [PATCH 0628/1463] tests: Don't access GdkDragContext fields directly --- tests/testdnd.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tests/testdnd.c b/tests/testdnd.c index 9913564470..375e5ab854 100644 --- a/tests/testdnd.c +++ b/tests/testdnd.c @@ -335,7 +335,7 @@ target_drag_motion (GtkWidget *widget, G_OBJECT_TYPE_NAME (source_widget) : "NULL"); - tmp_list = context->targets; + tmp_list = gdk_drag_context_list_targets (context); while (tmp_list) { char *name = gdk_atom_name (GDK_POINTER_TO_ATOM (tmp_list->data)); @@ -345,7 +345,8 @@ target_drag_motion (GtkWidget *widget, tmp_list = tmp_list->next; } - gdk_drag_status (context, context->suggested_action, time); + gdk_drag_status (context, gdk_drag_context_get_suggested_action (context), time); + return TRUE; } @@ -361,10 +362,10 @@ target_drag_drop (GtkWidget *widget, gtk_image_set_from_pixbuf (GTK_IMAGE (widget), trashcan_closed); - if (context->targets) + if (gdk_drag_context_list_targets (context)) { - gtk_drag_get_data (widget, context, - GDK_POINTER_TO_ATOM (context->targets->data), + gtk_drag_get_data (widget, context, + GDK_POINTER_TO_ATOM (gdk_drag_context_list_targets (context)->data), time); return TRUE; } From 3c47c8467cc7067e6aae93a99c6710667c05d4bb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 20:36:23 -0500 Subject: [PATCH 0629/1463] Remove some direct access to GdkDragContext members --- gtk/gtkclipboard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkclipboard.c b/gtk/gtkclipboard.c index 245d1049e0..0c4063934e 100644 --- a/gtk/gtkclipboard.c +++ b/gtk/gtkclipboard.c @@ -301,7 +301,7 @@ gtk_clipboard_get_for_display (GdkDisplay *display, { g_return_val_if_fail (display != NULL, NULL); /* See bgo#463773; this is needed because Flash Player sucks */ g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (!display->closed, NULL); + g_return_val_if_fail (!gdk_display_is_closed (display), NULL); return clipboard_peek (display, selection, FALSE); } From c53ec081ceeb84ee2b3088e1c3ec986c89e954af Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 01:27:10 -0500 Subject: [PATCH 0630/1463] Add vtables for DND This commit hides GdkDragContext and GdkDragContextClass, adds vfuncs for most drag context functionality, and turns the X11 DND implementation into GdkDragContextX11. We also add vfuncs to GdkDisplay for gdk_drag_get_protocol and to GdkWindow for gdk_drag_begin, and implemenet them for X11. Other backends need similar treatment and are broken now. --- gdk/gdkdisplay.c | 22 + gdk/gdkdnd.c | 329 ++++++++-- gdk/gdkdnd.h | 73 +-- gdk/gdkinternals.h | 57 ++ gdk/gdkwindow.c | 33 + gdk/gdkwindowimpl.h | 3 + gdk/quartz/gdkdnd-quartz.c | 50 -- gdk/win32/gdkdnd-win32.c | 34 - gdk/x11/gdkdisplay-x11.c | 5 + gdk/x11/gdkdnd-x11.c | 1248 +++++++++++++++--------------------- gdk/x11/gdkwindow-x11.c | 5 + 11 files changed, 924 insertions(+), 935 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index f2ba0df230..fbaf43897a 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2242,3 +2242,25 @@ gdk_display_get_app_launch_context (GdkDisplay *display) { return GDK_DISPLAY_GET_CLASS(display)->get_app_launch_context (display); } + +/** + * gdk_drag_get_protocol_for_display: + * @display: the #GdkDisplay where the destination window resides + * @xid: the windowing system id of the destination window. + * @protocol: location where the supported DND protocol is returned. + * + * Finds out the DND protocol supported by a window. + * + * Return value: the windowing system id of the window where the drop + * should happen. This may be @xid or the id of a proxy window, + * or zero if @xid does not support Drag and Drop. + * + * Since: 2.2 + */ +GdkNativeWindow +gdk_drag_get_protocol_for_display (GdkDisplay *display, + GdkNativeWindow xid, + GdkDragProtocol *protocol) +{ + return GDK_DISPLAY_GET_CLASS (display)->get_drag_protocol (display, xid, protocol, NULL); +} diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c index 22967adc10..0d5e5bec44 100644 --- a/gdk/gdkdnd.c +++ b/gdk/gdkdnd.c @@ -27,7 +27,7 @@ #include "config.h" #include "gdkdnd.h" - +#include "gdkinternals.h" #include "gdkdisplay.h" #include "gdkwindow.h" @@ -48,53 +48,6 @@ * the GTK+ documentation for more information. */ -/** - * gdk_drag_find_window: - * @context: a #GdkDragContext. - * @drag_window: a window which may be at the pointer position, but - * should be ignored, since it is put up by the drag source as an icon. - * @x_root: the x position of the pointer in root coordinates. - * @y_root: the y position of the pointer in root coordinates. - * @dest_window: (out): location to store the destination window in. - * @protocol: (out): location to store the DND protocol in. - * - * Finds the destination window and DND protocol to use at the - * given pointer position. - * - * This function is called by the drag source to obtain the - * @dest_window and @protocol parameters for gdk_drag_motion(). - **/ -void -gdk_drag_find_window (GdkDragContext *context, - GdkWindow *drag_window, - gint x_root, - gint y_root, - GdkWindow **dest_window, - GdkDragProtocol *protocol) -{ - gdk_drag_find_window_for_screen (context, drag_window, - gdk_window_get_screen (context->source_window), - x_root, y_root, dest_window, protocol); -} - -/** - * gdk_drag_get_protocol: - * @xid: the windowing system id of the destination window. - * @protocol: location where the supported DND protocol is returned. - * - * Finds out the DND protocol supported by a window. - * - * Return value: the windowing system specific id for the window where - * the drop should happen. This may be @xid or the id of a proxy - * window, or zero if @xid doesn't support Drag and Drop. - **/ -GdkNativeWindow -gdk_drag_get_protocol (GdkNativeWindow xid, - GdkDragProtocol *protocol) -{ - return gdk_drag_get_protocol_for_display (gdk_display_get_default (), xid, protocol); -} - /** * gdk_drag_context_list_targets: * @context: a #GdkDragContext @@ -222,3 +175,283 @@ gdk_drag_context_get_protocol (GdkDragContext *context) return context->protocol; } +/** + * gdk_drag_context_set_device: + * @context: a #GdkDragContext + * @device: a #GdkDevice + * + * Associates a #GdkDevice to @context, so all Drag and Drop events + * for @context are emitted as if they came from this device. + */ +void +gdk_drag_context_set_device (GdkDragContext *context, + GdkDevice *device) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + g_return_if_fail (GDK_IS_DEVICE (device)); + + if (context->device) + g_object_unref (context->device); + + context->device = device; + + if (context->device) + g_object_ref (context->device); +} + +/** + * gdk_drag_context_get_device: + * @context: a #GdkDragContext + * + * Returns the #GdkDevice associated to the drag context. + * + * Returns: (transfer none): The #GdkDevice associated to @context. + **/ +GdkDevice * +gdk_drag_context_get_device (GdkDragContext *context) +{ + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL); + + return context->device; +} + +G_DEFINE_TYPE (GdkDragContext, gdk_drag_context, G_TYPE_OBJECT) + +static void +gdk_drag_context_init (GdkDragContext *context) +{ +} + +static void +gdk_drag_context_finalize (GObject *object) +{ + GdkDragContext *context = GDK_DRAG_CONTEXT (object); + + g_list_free (context->targets); + + if (context->source_window) + g_object_unref (context->source_window); + + if (context->dest_window) + g_object_unref (context->dest_window); + + G_OBJECT_CLASS (gdk_drag_context_parent_class)->finalize (object); +} + +static void +gdk_drag_context_class_init (GdkDragContextClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + object_class->finalize = gdk_drag_context_finalize; +} + +/** + * gdk_drag_find_window_for_screen: + * @context: a #GdkDragContext + * @drag_window: a window which may be at the pointer position, but + * should be ignored, since it is put up by the drag source as an icon + * @screen: the screen where the destination window is sought + * @x_root: the x position of the pointer in root coordinates + * @y_root: the y position of the pointer in root coordinates + * @dest_window: (out): location to store the destination window in + * @protocol: (out): location to store the DND protocol in + * + * Finds the destination window and DND protocol to use at the + * given pointer position. + * + * This function is called by the drag source to obtain the + * @dest_window and @protocol parameters for gdk_drag_motion(). + * + * Since: 2.2 + */ +void +gdk_drag_find_window_for_screen (GdkDragContext *context, + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkWindow **dest_window, + GdkDragProtocol *protocol) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + + *dest_window = GDK_DRAG_CONTEXT_GET_CLASS (context) + ->find_window (context, drag_window, screen, x_root, y_root, protocol); +} + +/** + * gdk_drag_status: + * @context: a #GdkDragContext + * @action: the selected action which will be taken when a drop happens, + * or 0 to indicate that a drop will not be accepted + * @time_: the timestamp for this operation + * + * Selects one of the actions offered by the drag source. + * + * This function is called by the drag destination in response to + * gdk_drag_motion() called by the drag source. + */ +void +gdk_drag_status (GdkDragContext *context, + GdkDragAction action, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + + GDK_DRAG_CONTEXT_GET_CLASS (context)->drag_status (context, action, time_); +} + +/** + * gdk_drag_motion: + * @context: a #GdkDragContext + * @dest_window: the new destination window, obtained by + * gdk_drag_find_window() + * @protocol: the DND protocol in use, obtained by gdk_drag_find_window() + * @x_root: the x position of the pointer in root coordinates + * @y_root: the y position of the pointer in root coordinates + * @suggested_action: the suggested action + * @possible_actions: the possible actions + * @time_: the timestamp for this operation + * + * Updates the drag context when the pointer moves or the + * set of actions changes. + * + * This function is called by the drag source. + */ +gboolean +gdk_drag_motion (GdkDragContext *context, + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint x_root, + gint y_root, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time_) +{ + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); + + return GDK_DRAG_CONTEXT_GET_CLASS (context) + ->drag_motion (context, + dest_window, + protocol, + x_root, + y_root, + suggested_action, + possible_actions, + time_); +} + +/** + * gdk_drag_abort: + * @context: a #GdkDragContext + * @time_: the timestamp for this operation + * + * Aborts a drag without dropping. + * + * This function is called by the drag source. + */ +void +gdk_drag_abort (GdkDragContext *context, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + + GDK_DRAG_CONTEXT_GET_CLASS (context)->drag_abort (context, time_); +} + +/** + * gdk_drag_drop: + * @context: a #GdkDragContext + * @time_: the timestamp for this operation + * + * Drops on the current destination. + * + * This function is called by the drag source. + */ +void +gdk_drag_drop (GdkDragContext *context, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + + GDK_DRAG_CONTEXT_GET_CLASS (context)->drag_drop (context, time_); +} + +/** + * gdk_drop_reply: + * @context: a #GdkDragContext + * @accepted: %TRUE if the drop is accepted + * @time_: the timestamp for this operation + * + * Accepts or rejects a drop. + * + * This function is called by the drag destination in response + * to a drop initiated by the drag source. + */ +void +gdk_drop_reply (GdkDragContext *context, + gboolean accepted, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + + GDK_DRAG_CONTEXT_GET_CLASS (context)->drop_reply (context, accepted, time_); +} + +/** + * gdk_drop_finish: + * @context: a #GtkDragContext + * @success: %TRUE if the data was successfully received + * @time_: the timestamp for this operation + * + * Ends the drag operation after a drop. + * + * This function is called by the drag destination. + */ +void +gdk_drop_finish (GdkDragContext *context, + gboolean success, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); + + GDK_DRAG_CONTEXT_GET_CLASS (context)->drop_finish (context, success, time_); +} + +/** + * gdk_drag_drop_succeeded: + * @context: a #GdkDragContext + * + * Returns whether the dropped data has been successfully + * transferred. This function is intended to be used while + * handling a %GDK_DROP_FINISHED event, its return value is + * meaningless at other times. + * + * Return value: %TRUE if the drop was successful. + * + * Since: 2.6 + **/ +gboolean +gdk_drag_drop_succeeded (GdkDragContext *context) +{ + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), FALSE); + + return GDK_DRAG_CONTEXT_GET_CLASS (context)->drop_status (context); +} + +/** + * gdk_drag_get_selection: + * @context: a #GdkDragContext. + * + * Returns the selection atom for the current source window. + * + * Return value: the selection atom, or %GDK_NONE + */ +GdkAtom +gdk_drag_get_selection (GdkDragContext *context) +{ + g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), GDK_NONE); + + return GDK_DRAG_CONTEXT_GET_CLASS (context)->get_selection (context); +} diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h index e383c957e2..080af34db9 100644 --- a/gdk/gdkdnd.h +++ b/gdk/gdkdnd.h @@ -36,7 +36,11 @@ G_BEGIN_DECLS +/* Object that holds information about a drag in progress. + * this is used on both source and destination sides. + */ typedef struct _GdkDragContext GdkDragContext; +typedef struct _GdkDragContextClass GdkDragContextClass; /** * GdkDragAction: @@ -81,19 +85,13 @@ typedef enum { GDK_DRAG_PROTO_MOTIF, GDK_DRAG_PROTO_XDND, - GDK_DRAG_PROTO_ROOTWIN, /* A root window with nobody claiming - * drags */ - GDK_DRAG_PROTO_NONE, /* Not a valid drag window */ - GDK_DRAG_PROTO_WIN32_DROPFILES, /* The simple WM_DROPFILES dnd */ - GDK_DRAG_PROTO_OLE2, /* The complex OLE2 dnd (not implemented) */ - GDK_DRAG_PROTO_LOCAL /* Intra-app */ + GDK_DRAG_PROTO_ROOTWIN, + GDK_DRAG_PROTO_NONE, + GDK_DRAG_PROTO_WIN32_DROPFILES, + GDK_DRAG_PROTO_OLE2, + GDK_DRAG_PROTO_LOCAL } GdkDragProtocol; -/* Object that holds information about a drag in progress. - * this is used on both source and destination sides. - */ - -typedef struct _GdkDragContextClass GdkDragContextClass; #define GDK_TYPE_DRAG_CONTEXT (gdk_drag_context_get_type ()) #define GDK_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT, GdkDragContext)) @@ -102,39 +100,8 @@ typedef struct _GdkDragContextClass GdkDragContextClass; #define GDK_IS_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAG_CONTEXT)) #define GDK_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass)) -struct _GdkDragContext { - GObject parent_instance; - /*< public >*/ - - GdkDragProtocol GSEAL (protocol); - - gboolean GSEAL (is_source); - - GdkWindow *GSEAL (source_window); - GdkWindow *GSEAL (dest_window); - - GList *GSEAL (targets); - GdkDragAction GSEAL (actions); - GdkDragAction GSEAL (suggested_action); - GdkDragAction GSEAL (action); - - guint32 GSEAL (start_time); - - /*< private >*/ - - gpointer GSEAL (windowing_data); -}; - -struct _GdkDragContextClass { - GObjectClass parent_class; - -}; - -/* Drag and Drop */ - -GType gdk_drag_context_get_type (void) G_GNUC_CONST; -GdkDragContext * gdk_drag_context_new (void); +GType gdk_drag_context_get_type (void) G_GNUC_CONST; void gdk_drag_context_set_device (GdkDragContext *context, GdkDevice *device); @@ -164,8 +131,12 @@ GdkAtom gdk_drag_get_selection (GdkDragContext *context); /* Source side */ -GdkDragContext * gdk_drag_begin (GdkWindow *window, - GList *targets); +GdkDragContext * gdk_drag_begin (GdkWindow *window, + GList *targets); + +GdkDragContext * gdk_drag_begin_for_device (GdkWindow *window, + GdkDevice *device, + GList *targets); GdkNativeWindow gdk_drag_get_protocol_for_display (GdkDisplay *display, GdkNativeWindow xid, @@ -179,18 +150,6 @@ void gdk_drag_find_window_for_screen (GdkDragContext *context, GdkWindow **dest_window, GdkDragProtocol *protocol); -#ifndef GDK_MULTIHEAD_SAFE -GdkNativeWindow gdk_drag_get_protocol (GdkNativeWindow xid, - GdkDragProtocol *protocol); - -void gdk_drag_find_window (GdkDragContext *context, - GdkWindow *drag_window, - gint x_root, - gint y_root, - GdkWindow **dest_window, - GdkDragProtocol *protocol); -#endif /* GDK_MULTIHEAD_SAFE */ - gboolean gdk_drag_motion (GdkDragContext *context, GdkWindow *dest_window, GdkDragProtocol protocol, diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 604ed64aa9..b50ee9e24d 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -305,6 +305,10 @@ struct _GdkDisplayClass GdkFilterFunc func, gpointer data); GdkAppLaunchContext * (*get_app_launch_context) (GdkDisplay *display); + GdkNativeWindow (*get_drag_protocol) (GdkDisplay *display, + GdkNativeWindow winid, + GdkDragProtocol *protocol, + guint *version); /* Signals */ @@ -409,6 +413,59 @@ struct _GdkScreenClass void (*monitors_changed) (GdkScreen *screen); }; +struct _GdkDragContextClass { + GObjectClass parent_class; + + GdkWindow * (*find_window) (GdkDragContext *context, + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkDragProtocol *protocol); + GdkAtom (*get_selection) (GdkDragContext *context); + gboolean (*drag_motion) (GdkDragContext *context, + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint root_x, + gint root_y, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time_); + void (*drag_status) (GdkDragContext *context, + GdkDragAction action, + guint32 time_); + void (*drag_abort) (GdkDragContext *context, + guint32 time_); + void (*drag_drop) (GdkDragContext *context, + guint32 time_); + void (*drop_reply) (GdkDragContext *context, + gboolean accept, + guint32 time_); + void (*drop_finish) (GdkDragContext *context, + gboolean success, + guint32 time_); + gboolean (*drop_status) (GdkDragContext *context); +}; + +struct _GdkDragContext { + GObject parent_instance; + + GdkDragProtocol protocol; + + gboolean is_source; + GdkWindow *source_window; + GdkWindow *dest_window; + + GList *targets; + GdkDragAction actions; + GdkDragAction suggested_action; + GdkDragAction action; + + guint32 start_time; + + GdkDevice *device; +}; + extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 7c30e52c6c..feedce13cc 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -10686,6 +10686,39 @@ gdk_window_register_dnd (GdkWindow *window) GDK_WINDOW_IMPL_GET_CLASS (window->impl)->register_dnd (window); } +/** + * gdk_drag_begin: + * @window: the source window for this drag. + * @targets: (transfer none) (element-type GdkAtom): the offered targets, + * as list of #GdkAtoms + * + * Starts a drag and creates a new drag context for it. + * + * This function is called by the drag source. + * + * Return value: (transfer full): a newly created #GdkDragContext. + */ +GdkDragContext * +gdk_drag_begin (GdkWindow *window, + GList *targets) +{ + GdkDeviceManager *device_manager; + GdkDevice *device; + + device_manager = gdk_display_get_device_manager (gdk_window_get_display (window)); + device = gdk_device_manager_get_client_pointer (device_manager); + + return gdk_drag_begin_for_device (window, device, targets); +} + +GdkDragContext * +gdk_drag_begin_for_device (GdkWindow *window, + GdkDevice *device, + GList *targets) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->drag_begin (window, device, targets); +} + /** * gdk_window_lookup: * @anid: a native window handle diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 2dd7d582f8..817e2060f7 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -238,6 +238,9 @@ struct _GdkWindowImplClass gdouble opacity); void (* destroy_notify) (GdkWindow *window); void (* register_dnd) (GdkWindow *window); + GdkDragContext * (*drag_begin) (GdkWindow *window, + GdkDevice *device, + GList *targets); }; /* Interface Functions */ diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 73a68df063..4bab48cfc4 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -87,56 +87,6 @@ gdk_drag_context_new (void) return (GdkDragContext *)g_object_new (gdk_drag_context_get_type (), NULL); } -/** - * gdk_drag_context_set_device: - * @context: a #GdkDragContext - * @device: a #GdkDevice - * - * Associates a #GdkDevice to @context, so all Drag and Drop events - * for @context are emitted as if they came from this device. - **/ -void -gdk_drag_context_set_device (GdkDragContext *context, - GdkDevice *device) -{ - GdkDragContextPrivate *private; - - g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (GDK_IS_DEVICE (device)); - - private = GDK_DRAG_CONTEXT_PRIVATE (context); - - if (private->device) - { - g_object_unref (private->device); - private->device = NULL; - } - - if (device) - private->device = g_object_ref (device); -} - -/** - * gdk_drag_context_get_device: - * @context: a #GdkDragContext - * - * Returns the #GdkDevice associated to the drag context. - * - * Returns: The #GdkDevice associated to @context. - **/ -GdkDevice * -gdk_drag_context_get_device (GdkDragContext *context) -{ - GdkDragContextPrivate *private; - - g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL); - - private = GDK_DRAG_CONTEXT_PRIVATE (context); - - return private->device; -} - - GdkDragContext *_gdk_quartz_drag_source_context = NULL; GdkDragContext * diff --git a/gdk/win32/gdkdnd-win32.c b/gdk/win32/gdkdnd-win32.c index 46b871bdef..d7c2905716 100644 --- a/gdk/win32/gdkdnd-win32.c +++ b/gdk/win32/gdkdnd-win32.c @@ -98,7 +98,6 @@ typedef enum { * this is used on both source and destination sides. */ struct _GdkDragContextPrivateWin32 { - GdkDevice *device; gboolean being_finalized; gint ref_count; IUnknown *iface; @@ -204,39 +203,6 @@ gdk_drag_context_new (void) return g_object_new (GDK_TYPE_DRAG_CONTEXT, NULL); } -GdkDevice * -gdk_drag_context_get_device (GdkDragContext *context) -{ - GdkDragContextPrivateWin32 *private; - - g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL); - - private = PRIVATE_DATA (context); - - return private->device; -} - -void -gdk_drag_context_set_device (GdkDragContext *context, - GdkDevice *device) -{ - GdkDragContextPrivateWin32 *private; - - g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (GDK_IS_DEVICE (device)); - - private = PRIVATE_DATA (context); - - if (private->device) - { - g_object_unref (private->device); - private->device = NULL; - } - - if (device) - private->device = g_object_ref (device); -} - static GdkDragContext * gdk_drag_context_find (gboolean is_source, GdkWindow *source, diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index d89a171cc4..dac5fb337c 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2704,6 +2704,10 @@ gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display) } extern GdkAppLaunchContext *_gdk_x11_display_get_app_launch_context (GdkDisplay *display); +extern GdkNativeWindow _gdk_x11_display_get_drag_protocol (GdkDisplay *display, + GdkNativeWindow xid, + GdkDragProtocol *protocol, + guint *version); static void _gdk_display_x11_class_init (GdkDisplayX11Class * class) @@ -2733,5 +2737,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->send_client_message = gdk_x11_display_send_client_message; display_class->add_client_message_filter = gdk_x11_display_add_client_message_filter; display_class->get_app_launch_context = _gdk_x11_display_get_app_launch_context; + display_class->get_drag_protocol = _gdk_x11_display_get_drag_protocol; } diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index cae3420e61..1ebc08d0fc 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -45,8 +45,6 @@ #include -typedef struct _GdkDragContextPrivateX11 GdkDragContextPrivateX11; - typedef enum { GDK_DRAG_STATUS_DRAG, GDK_DRAG_STATUS_MOTION_WAIT, @@ -70,10 +68,13 @@ typedef struct { GdkScreen *screen; } GdkWindowCache; -/* Structure that holds information about a drag in progress. - * this is used on both source and destination sides. - */ -struct _GdkDragContextPrivateX11 { +#define GDK_TYPE_DRAG_CONTEXT_X11 (gdk_drag_context_x11_get_type ()) +#define GDK_DRAG_CONTEXT_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT_X11, GdkDragContextX11)) + +typedef struct _GdkDragContextX11 GdkDragContextX11; +typedef struct _GdkDragContextClass GdkDragContextX11Class; + +struct _GdkDragContextX11 { GdkDragContext context; Atom motif_selection; @@ -97,11 +98,8 @@ struct _GdkDragContextPrivateX11 { guint version; /* Xdnd protocol version */ GSList *window_caches; - GdkDevice *device; }; -#define PRIVATE_DATA(context) ((GdkDragContextPrivateX11 *) GDK_DRAG_CONTEXT (context)->windowing_data) - /* Forward declarations */ static void gdk_window_cache_destroy (GdkWindowCache *cache); @@ -135,8 +133,6 @@ static void xdnd_manage_source_filter (GdkDragContext *context, GdkWindow *window, gboolean add_filter); -static void gdk_drag_context_finalize (GObject *object); - static GList *contexts; static const struct { @@ -150,127 +146,87 @@ static const struct { { "XdndFinished", xdnd_finished_filter }, { "XdndDrop", xdnd_drop_filter }, }; - -G_DEFINE_TYPE (GdkDragContext, gdk_drag_context, G_TYPE_OBJECT) + + +G_DEFINE_TYPE (GdkDragContextX11, gdk_drag_context_x11, GDK_TYPE_DRAG_CONTEXT) static void -gdk_drag_context_init (GdkDragContext *dragcontext) +gdk_drag_context_x11_init (GdkDragContextX11 *context) { - GdkDragContextPrivateX11 *private; - - private = G_TYPE_INSTANCE_GET_PRIVATE (dragcontext, - GDK_TYPE_DRAG_CONTEXT, - GdkDragContextPrivateX11); - - dragcontext->windowing_data = private; - - contexts = g_list_prepend (contexts, dragcontext); + contexts = g_list_prepend (contexts, context); } +static void gdk_drag_context_x11_finalize (GObject *object); +static GdkWindow * gdk_drag_context_x11_find_window (GdkDragContext *context, + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkDragProtocol *protocol); +static gboolean gdk_drag_context_x11_drag_motion (GdkDragContext *context, + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint x_root, + gint y_root, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time); +static void gdk_drag_context_x11_drag_status (GdkDragContext *context, + GdkDragAction action, + guint32 time_); +static void gdk_drag_context_x11_drag_abort (GdkDragContext *context, + guint32 time_); +static void gdk_drag_context_x11_drag_drop (GdkDragContext *context, + guint32 time_); +static void gdk_drag_context_x11_drop_reply (GdkDragContext *context, + gboolean accept, + guint32 time_); +static void gdk_drag_context_x11_drop_finish (GdkDragContext *context, + gboolean success, + guint32 time_); +static gboolean gdk_drag_context_x11_drop_status (GdkDragContext *context); +static GdkAtom gdk_drag_context_x11_get_selection (GdkDragContext *context); + static void -gdk_drag_context_class_init (GdkDragContextClass *klass) +gdk_drag_context_x11_class_init (GdkDragContextX11Class *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass); - object_class->finalize = gdk_drag_context_finalize; + object_class->finalize = gdk_drag_context_x11_finalize; - g_type_class_add_private (object_class, sizeof (GdkDragContextPrivateX11)); + context_class->find_window = gdk_drag_context_x11_find_window; + context_class->drag_status = gdk_drag_context_x11_drag_status; + context_class->drag_motion = gdk_drag_context_x11_drag_motion; + context_class->drag_abort = gdk_drag_context_x11_drag_abort; + context_class->drag_drop = gdk_drag_context_x11_drag_drop; + context_class->drop_reply = gdk_drag_context_x11_drop_reply; + context_class->drop_finish = gdk_drag_context_x11_drop_finish; + context_class->drop_status = gdk_drag_context_x11_drop_status; + context_class->get_selection = gdk_drag_context_x11_get_selection; } static void -gdk_drag_context_finalize (GObject *object) +gdk_drag_context_x11_finalize (GObject *object) { + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (object); GdkDragContext *context = GDK_DRAG_CONTEXT (object); - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); - GSList *tmp_list; - - g_list_free (context->targets); if (context->source_window) { - if ((context->protocol == GDK_DRAG_PROTO_XDND) && - !context->is_source) + if ((context->protocol == GDK_DRAG_PROTO_XDND) && !context->is_source) xdnd_manage_source_filter (context, context->source_window, FALSE); - - g_object_unref (context->source_window); } - - if (context->dest_window) - g_object_unref (context->dest_window); - for (tmp_list = private->window_caches; tmp_list; tmp_list = tmp_list->next) - gdk_window_cache_destroy (tmp_list->data); - g_slist_free (private->window_caches); - + g_slist_free_full (context_x11->window_caches, (GDestroyNotify)gdk_window_cache_destroy); + contexts = g_list_remove (contexts, context); - G_OBJECT_CLASS (gdk_drag_context_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_drag_context_x11_parent_class)->finalize (object); } /* Drag Contexts */ -/** - * gdk_drag_context_new: - * - * Creates a new #GdkDragContext. - * - * Return value: the newly created #GdkDragContext. - **/ -GdkDragContext * -gdk_drag_context_new (void) -{ - return g_object_new (GDK_TYPE_DRAG_CONTEXT, NULL); -} - -/** - * gdk_drag_context_set_device: - * @context: a #GdkDragContext - * @device: a #GdkDevice - * - * Associates a #GdkDevice to @context, so all Drag and Drop events - * for @context are emitted as if they came from this device. - **/ -void -gdk_drag_context_set_device (GdkDragContext *context, - GdkDevice *device) -{ - GdkDragContextPrivateX11 *private; - - g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (GDK_IS_DEVICE (device)); - - private = PRIVATE_DATA (context); - - if (private->device) - { - g_object_unref (private->device); - private->device = NULL; - } - - if (device) - private->device = g_object_ref (device); -} - -/** - * gdk_drag_context_get_device: - * @context: a #GdkDragContext - * - * Returns the #GdkDevice associated to the drag context. - * - * Returns: (transfer none): The #GdkDevice associated to @context. - **/ -GdkDevice * -gdk_drag_context_get_device (GdkDragContext *context) -{ - GdkDragContextPrivateX11 *private; - - g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), NULL); - - private = PRIVATE_DATA (context); - - return private->device; -} - static GdkDragContext * gdk_drag_context_find (GdkDisplay *display, gboolean is_source, @@ -279,33 +235,33 @@ gdk_drag_context_find (GdkDisplay *display, { GList *tmp_list = contexts; GdkDragContext *context; - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11; Window context_dest_xid; while (tmp_list) { context = (GdkDragContext *)tmp_list->data; - private = PRIVATE_DATA (context); + context_x11 = (GdkDragContextX11 *)context; if ((context->source_window && gdk_window_get_display (context->source_window) != display) || (context->dest_window && gdk_window_get_display (context->dest_window) != display)) - continue; + continue; - context_dest_xid = context->dest_window ? - (private->drop_xid ? - private->drop_xid : - GDK_WINDOW_XID (context->dest_window)) : - None; + context_dest_xid = context->dest_window + ? (context_x11->drop_xid + ? context_x11->drop_xid + : GDK_WINDOW_XID (context->dest_window)) + : None; if ((!context->is_source == !is_source) && - ((source_xid == None) || (context->source_window && - (GDK_WINDOW_XID (context->source_window) == source_xid))) && - ((dest_xid == None) || (context_dest_xid == dest_xid))) - return context; - + ((source_xid == None) || (context->source_window && + (GDK_WINDOW_XID (context->source_window) == source_xid))) && + ((dest_xid == None) || (context_dest_xid == dest_xid))) + return context; + tmp_list = tmp_list->next; } - + return NULL; } @@ -1317,8 +1273,10 @@ motif_add_to_target_table (GdkDisplay *display, /* Translate flags */ static void -motif_dnd_translate_flags (GdkDragContext *context, guint16 flags) +motif_dnd_translate_flags (GdkDragContextX11 *context_x11, + guint16 flags) { + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); guint recommended_op = flags & 0x000f; guint possible_ops = (flags & 0x0f0) >> 4; @@ -1381,38 +1339,37 @@ motif_dnd_get_flags (GdkDragContext *context) /* Source Side */ static void -motif_set_targets (GdkDragContext *context) +motif_set_targets (GdkDragContextX11 *context_x11) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); MotifDragInitiatorInfo info; gint i; GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); - + info.byte_order = local_byte_order; info.protocol_version = 0; - info.targets_index = motif_add_to_target_table (display, context->targets); - for (i=0; ; i++) + for (i = 0; ; i++) { gchar buf[20]; - g_snprintf(buf, 20, "_GDK_SELECTION_%d", i); - - private->motif_selection = gdk_x11_get_xatom_by_name_for_display (display, buf); - if (!XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), private->motif_selection)) - break; + g_snprintf (buf, 20, "_GDK_SELECTION_%d", i); + + context_x11->motif_selection = gdk_x11_get_xatom_by_name_for_display (display, buf); + if (!XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), context_x11->motif_selection)) + break; } - info.selection_atom = private->motif_selection; + info.selection_atom = context_x11->motif_selection; XChangeProperty (GDK_WINDOW_XDISPLAY (context->source_window), - GDK_WINDOW_XID (context->source_window), - private->motif_selection, + GDK_WINDOW_XID (context->source_window), + context_x11->motif_selection, gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_INITIATOR_INFO"), 8, PropModeReplace, (guchar *)&info, sizeof (info)); - private->motif_targets_set = 1; + context_x11->motif_targets_set = 1; } static guint32 @@ -1462,10 +1419,10 @@ motif_check_dest (GdkDisplay *display, } static void -motif_send_enter (GdkDragContext *context, - guint32 time) +motif_send_enter (GdkDragContextX11 *context_x11, + guint32 time) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; @@ -1483,10 +1440,10 @@ motif_send_enter (GdkDragContext *context, MOTIF_XCLIENT_LONG (&xev, 1) = time; MOTIF_XCLIENT_LONG (&xev, 2) = GDK_WINDOW_XID (context->source_window); - if (!private->motif_targets_set) - motif_set_targets (context); + if (!context_x11->motif_targets_set) + motif_set_targets (context_x11); - MOTIF_XCLIENT_LONG (&xev, 3) = private->motif_selection; + MOTIF_XCLIENT_LONG (&xev, 3) = context_x11->motif_selection; MOTIF_XCLIENT_LONG (&xev, 4) = 0; if (!_gdk_send_xevent (display, @@ -1498,9 +1455,10 @@ motif_send_enter (GdkDragContext *context, } static void -motif_send_leave (GdkDragContext *context, - guint32 time) +motif_send_leave (GdkDragContextX11 *context_x11, + guint32 time) { + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; @@ -1526,13 +1484,13 @@ motif_send_leave (GdkDragContext *context, } static gboolean -motif_send_motion (GdkDragContext *context, - gint x_root, - gint y_root, - GdkDragAction action, - guint32 time) +motif_send_motion (GdkDragContextX11 *context_x11, + gint x_root, + gint y_root, + GdkDragAction action, + guint32 time) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); gboolean retval; XEvent xev; @@ -1548,12 +1506,12 @@ motif_send_motion (GdkDragContext *context, MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; - if ((context->suggested_action != private->old_action) || - (context->actions != private->old_actions)) + if ((context->suggested_action != context_x11->old_action) || + (context->actions != context_x11->old_actions)) { MOTIF_XCLIENT_BYTE (&xev, 0) = XmOPERATION_CHANGED; - /* private->drag_status = GDK_DRAG_STATUS_ACTION_WAIT; */ + /* context_x11->drag_status = GDK_DRAG_STATUS_ACTION_WAIT; */ retval = TRUE; } else @@ -1563,7 +1521,7 @@ motif_send_motion (GdkDragContext *context, MOTIF_XCLIENT_SHORT (&xev, 4) = x_root; MOTIF_XCLIENT_SHORT (&xev, 5) = y_root; - private->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; + context_x11->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; retval = FALSE; } @@ -1578,9 +1536,10 @@ motif_send_motion (GdkDragContext *context, } static void -motif_send_drop (GdkDragContext *context, guint32 time) +motif_send_drop (GdkDragContextX11 *context_x11, + guint32 time) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; @@ -1594,10 +1553,10 @@ motif_send_drop (GdkDragContext *context, guint32 time) MOTIF_XCLIENT_SHORT (&xev, 1) = motif_dnd_get_flags (context); MOTIF_XCLIENT_LONG (&xev, 1) = time; - MOTIF_XCLIENT_SHORT (&xev, 4) = private->last_x; - MOTIF_XCLIENT_SHORT (&xev, 5) = private->last_y; + MOTIF_XCLIENT_SHORT (&xev, 4) = context_x11->last_x; + MOTIF_XCLIENT_SHORT (&xev, 5) = context_x11->last_y; - MOTIF_XCLIENT_LONG (&xev, 3) = private->motif_selection; + MOTIF_XCLIENT_LONG (&xev, 3) = context_x11->motif_selection; MOTIF_XCLIENT_LONG (&xev, 4) = GDK_WINDOW_XID (context->source_window); if (!_gdk_send_xevent (display, @@ -1684,8 +1643,8 @@ motif_drag_context_new (GdkWindow *dest_window, guint32 source_window, guint32 atom) { - GdkDragContext *new_context; - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11; + GdkDragContext *context; GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); @@ -1703,40 +1662,40 @@ motif_drag_context_new (GdkWindow *dest_window, return NULL; } - new_context = gdk_drag_context_new (); - private = PRIVATE_DATA (new_context); + context_x11 = g_object_new (GDK_TYPE_DRAG_CONTEXT_X11, NULL); + context = GDK_DRAG_CONTEXT (context_x11); - new_context->protocol = GDK_DRAG_PROTO_MOTIF; - new_context->is_source = FALSE; + context->protocol = GDK_DRAG_PROTO_MOTIF; + context->is_source = FALSE; - new_context->source_window = gdk_window_lookup_for_display (display, source_window); - if (new_context->source_window) - g_object_ref (new_context->source_window); + context->source_window = gdk_window_lookup_for_display (display, source_window); + if (context->source_window) + g_object_ref (context->source_window); else { - new_context->source_window = gdk_window_foreign_new_for_display (display, source_window); - if (!new_context->source_window) + context->source_window = gdk_window_foreign_new_for_display (display, source_window); + if (!context->source_window) { - g_object_unref (new_context); + g_object_unref (context_x11); return NULL; } } - new_context->dest_window = dest_window; + context->dest_window = dest_window; g_object_ref (dest_window); - new_context->start_time = timestamp; + context->start_time = timestamp; if (!motif_read_initiator_info (GDK_WINDOW_DISPLAY (dest_window), source_window, atom, - &new_context->targets, - &private->motif_selection)) + &context->targets, + &context_x11->motif_selection)) { - g_object_unref (new_context); + g_object_unref (context_x11); return NULL; } - return new_context; + return context; } /* @@ -1805,7 +1764,7 @@ motif_motion (GdkEvent *event, gint16 x_root, gint16 y_root) { - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11; GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND motion: flags: %#4x time: %d (%d, %d)", @@ -1815,7 +1774,7 @@ motif_motion (GdkEvent *event, (display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_MOTIF) && (timestamp >= display_x11->current_dest_drag->start_time)) { - private = PRIVATE_DATA (display_x11->current_dest_drag); + context_x11 = GDK_DRAG_CONTEXT_X11 (display_x11->current_dest_drag); event->dnd.type = GDK_DRAG_MOTION; event->dnd.context = display_x11->current_dest_drag; @@ -1823,15 +1782,15 @@ motif_motion (GdkEvent *event, event->dnd.time = timestamp; - motif_dnd_translate_flags (display_x11->current_dest_drag, flags); + motif_dnd_translate_flags (context_x11, flags); event->dnd.x_root = x_root; event->dnd.y_root = y_root; - private->last_x = x_root; - private->last_y = y_root; + context_x11->last_x = x_root; + context_x11->last_y = y_root; - private->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; + context_x11->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; return GDK_FILTER_TRANSLATE; } @@ -1844,7 +1803,7 @@ motif_operation_changed (GdkEvent *event, guint16 flags, guint32 timestamp) { - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11; GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND operation changed: flags: %#4x time: %d", flags, timestamp)); @@ -1859,14 +1818,14 @@ motif_operation_changed (GdkEvent *event, g_object_ref (display_x11->current_dest_drag); event->dnd.time = timestamp; - private = PRIVATE_DATA (display_x11->current_dest_drag); + context_x11 = GDK_DRAG_CONTEXT_X11 (display_x11->current_dest_drag); - motif_dnd_translate_flags (display_x11->current_dest_drag, flags); + motif_dnd_translate_flags (context_x11, flags); - event->dnd.x_root = private->last_x; - event->dnd.y_root = private->last_y; + event->dnd.x_root = context_x11->last_x; + event->dnd.y_root = context_x11->last_y; - private->drag_status = GDK_DRAG_STATUS_ACTION_WAIT; + context_x11->drag_status = GDK_DRAG_STATUS_ACTION_WAIT; return GDK_FILTER_TRANSLATE; } @@ -1893,7 +1852,7 @@ motif_drop_start (GdkEvent *event, if (!new_context) return GDK_FILTER_REMOVE; - motif_dnd_translate_flags (new_context, flags); + motif_dnd_translate_flags (GDK_DRAG_CONTEXT_X11 (new_context), flags); event->dnd.type = GDK_DROP_START; event->dnd.context = new_context; @@ -1928,10 +1887,10 @@ motif_drag_status (GdkEvent *event, if (context) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); - if ((private->drag_status == GDK_DRAG_STATUS_MOTION_WAIT) || - (private->drag_status == GDK_DRAG_STATUS_ACTION_WAIT)) - private->drag_status = GDK_DRAG_STATUS_DRAG; + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + if ((context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT) || + (context_x11->drag_status == GDK_DRAG_STATUS_ACTION_WAIT)) + context_x11->drag_status = GDK_DRAG_STATUS_DRAG; event->dnd.type = GDK_DRAG_STATUS; event->dnd.send_event = FALSE; @@ -2074,7 +2033,7 @@ xdnd_initialize_actions (void) gint i; xdnd_actions_initialized = TRUE; - for (i=0; i < xdnd_n_actions; i++) + for (i = 0; i < xdnd_n_actions; i++) xdnd_actions_table[i].atom = gdk_atom_intern_static_string (xdnd_actions_table[i].name); } @@ -2093,7 +2052,7 @@ xdnd_action_from_atom (GdkDisplay *display, if (!xdnd_actions_initialized) xdnd_initialize_actions(); - for (i=0; idrag_status == GDK_DRAG_STATUS_MOTION_WAIT) - private->drag_status = GDK_DRAG_STATUS_DRAG; + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + if (context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT) + context_x11->drag_status = GDK_DRAG_STATUS_DRAG; event->dnd.send_event = FALSE; event->dnd.type = GDK_DRAG_STATUS; @@ -2178,7 +2137,7 @@ xdnd_finished_filter (GdkXEvent *xev, XEvent *xevent = (XEvent *)xev; guint32 dest_window = xevent->xclient.data.l[0]; GdkDragContext *context; - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) @@ -2192,10 +2151,10 @@ xdnd_finished_filter (GdkXEvent *xev, if (context) { - private = PRIVATE_DATA (context); - if (private->version == 5) - private->drop_failed = xevent->xclient.data.l[1] == 0; - + context_x11 = GDK_DRAG_CONTEXT_X11 (context); + if (context_x11->version == 5) + context_x11->drop_failed = xevent->xclient.data.l[1] == 0; + event->dnd.type = GDK_DROP_FINISHED; event->dnd.context = context; gdk_event_set_device (event, gdk_drag_context_get_device (context)); @@ -2210,9 +2169,9 @@ xdnd_finished_filter (GdkXEvent *xev, } static void -xdnd_set_targets (GdkDragContext *context) +xdnd_set_targets (GdkDragContextX11 *context_x11) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); Atom *atomlist; GList *tmp_list = context->targets; gint i; @@ -2236,13 +2195,13 @@ xdnd_set_targets (GdkDragContext *context) g_free (atomlist); - private->xdnd_targets_set = 1; + context_x11->xdnd_targets_set = 1; } static void -xdnd_set_actions (GdkDragContext *context) +xdnd_set_actions (GdkDragContextX11 *context_x11) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); Atom *atomlist; gint i; gint n_atoms; @@ -2254,7 +2213,7 @@ xdnd_set_actions (GdkDragContext *context) actions = context->actions; n_atoms = 0; - for (i=0; iactions; n_atoms = 0; - for (i=0; ixdnd_actions_set = TRUE; - private->xdnd_actions = context->actions; + context_x11->xdnd_actions_set = TRUE; + context_x11->xdnd_actions = context->actions; } static void @@ -2307,13 +2266,13 @@ send_client_message_async_cb (Window window, window == GDK_WINDOW_XID (context->dest_window)) { GdkEvent *temp_event; - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContextX11 *context_x11 = data; g_object_unref (context->dest_window); context->dest_window = NULL; context->action = 0; - private->drag_status = GDK_DRAG_STATUS_DRAG; + context_x11->drag_status = GDK_DRAG_STATUS_DRAG; temp_event = gdk_event_new (GDK_DRAG_STATUS); temp_event->dnd.window = g_object_ref (context->source_window); @@ -2345,7 +2304,7 @@ gdk_drag_context_get_display (GdkDragContext *context) static void send_client_message_async (GdkDragContext *context, - Window window, + Window window, gboolean propagate, glong event_mask, XClientMessageEvent *event_send) @@ -2360,11 +2319,12 @@ send_client_message_async (GdkDragContext *context, } static gboolean -xdnd_send_xevent (GdkDragContext *context, - GdkWindow *window, - gboolean propagate, - XEvent *event_send) +xdnd_send_xevent (GdkDragContextX11 *context_x11, + GdkWindow *window, + gboolean propagate, + XEvent *event_send) { + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = gdk_drag_context_get_display (context); Window xwindow; glong event_mask; @@ -2411,31 +2371,31 @@ xdnd_send_xevent (GdkDragContext *context, } static void -xdnd_send_enter (GdkDragContext *context) +xdnd_send_enter (GdkDragContextX11 *context_x11) { - XEvent xev; - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->dest_window); + XEvent xev; xev.xclient.type = ClientMessage; xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndEnter"); xev.xclient.format = 32; - xev.xclient.window = private->drop_xid ? - private->drop_xid : - GDK_WINDOW_XID (context->dest_window); + xev.xclient.window = context_x11->drop_xid + ? context_x11->drop_xid + : GDK_WINDOW_XID (context->dest_window); xev.xclient.data.l[0] = GDK_WINDOW_XID (context->source_window); - xev.xclient.data.l[1] = (private->version << 24); /* version */ + xev.xclient.data.l[1] = (context_x11->version << 24); /* version */ xev.xclient.data.l[2] = 0; xev.xclient.data.l[3] = 0; xev.xclient.data.l[4] = 0; GDK_NOTE(DND, g_message ("Sending enter source window %#lx XDND protocol version %d\n", - GDK_WINDOW_XID (context->source_window), private->version)); + GDK_WINDOW_XID (context->source_window), context_x11->version)); if (g_list_length (context->targets) > 3) { - if (!private->xdnd_targets_set) - xdnd_set_targets (context); + if (!context_x11->xdnd_targets_set) + xdnd_set_targets (context_x11); xev.xclient.data.l[1] |= 1; } else @@ -2452,8 +2412,7 @@ xdnd_send_enter (GdkDragContext *context) } } - if (!xdnd_send_xevent (context, context->dest_window, - FALSE, &xev)) + if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { GDK_NOTE (DND, g_message ("Send event to %lx failed", @@ -2464,27 +2423,25 @@ xdnd_send_enter (GdkDragContext *context) } static void -xdnd_send_leave (GdkDragContext *context) +xdnd_send_leave (GdkDragContextX11 *context_x11) { + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); - xev.xclient.type = ClientMessage; xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndLeave"); xev.xclient.format = 32; - xev.xclient.window = private->drop_xid ? - private->drop_xid : - GDK_WINDOW_XID (context->dest_window); + xev.xclient.window = context_x11->drop_xid + ? context_x11->drop_xid + : GDK_WINDOW_XID (context->dest_window); xev.xclient.data.l[0] = GDK_WINDOW_XID (context->source_window); xev.xclient.data.l[1] = 0; xev.xclient.data.l[2] = 0; xev.xclient.data.l[3] = 0; xev.xclient.data.l[4] = 0; - if (!xdnd_send_xevent (context, context->dest_window, - FALSE, &xev)) + if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { GDK_NOTE (DND, g_message ("Send event to %lx failed", @@ -2495,28 +2452,28 @@ xdnd_send_leave (GdkDragContext *context) } static void -xdnd_send_drop (GdkDragContext *context, guint32 time) +xdnd_send_drop (GdkDragContextX11 *context_x11, + guint32 time) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; xev.xclient.type = ClientMessage; xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndDrop"); xev.xclient.format = 32; - xev.xclient.window = private->drop_xid ? - private->drop_xid : - GDK_WINDOW_XID (context->dest_window); + xev.xclient.window = context_x11->drop_xid + ? context_x11->drop_xid + : GDK_WINDOW_XID (context->dest_window); xev.xclient.data.l[0] = GDK_WINDOW_XID (context->source_window); xev.xclient.data.l[1] = 0; xev.xclient.data.l[2] = time; xev.xclient.data.l[3] = 0; xev.xclient.data.l[4] = 0; - if (!xdnd_send_xevent (context, context->dest_window, - FALSE, &xev)) + if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { - GDK_NOTE (DND, + GDK_NOTE (DND, g_message ("Send event to %lx failed", GDK_WINDOW_XID (context->dest_window))); g_object_unref (context->dest_window); @@ -2525,38 +2482,37 @@ xdnd_send_drop (GdkDragContext *context, guint32 time) } static void -xdnd_send_motion (GdkDragContext *context, - gint x_root, - gint y_root, - GdkDragAction action, - guint32 time) +xdnd_send_motion (GdkDragContextX11 *context_x11, + gint x_root, + gint y_root, + GdkDragAction action, + guint32 time) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; xev.xclient.type = ClientMessage; xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndPosition"); xev.xclient.format = 32; - xev.xclient.window = private->drop_xid ? - private->drop_xid : - GDK_WINDOW_XID (context->dest_window); + xev.xclient.window = context_x11->drop_xid + ? context_x11->drop_xid + : GDK_WINDOW_XID (context->dest_window); xev.xclient.data.l[0] = GDK_WINDOW_XID (context->source_window); xev.xclient.data.l[1] = 0; xev.xclient.data.l[2] = (x_root << 16) | y_root; xev.xclient.data.l[3] = time; xev.xclient.data.l[4] = xdnd_action_to_atom (display, action); - if (!xdnd_send_xevent (context, context->dest_window, - FALSE, &xev)) + if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { - GDK_NOTE (DND, + GDK_NOTE (DND, g_message ("Send event to %lx failed", GDK_WINDOW_XID (context->dest_window))); g_object_unref (context->dest_window); context->dest_window = NULL; } - private->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; + context_x11->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; } static guint32 @@ -2579,16 +2535,16 @@ xdnd_check_dest (GdkDisplay *display, gdk_error_trap_push (); - if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), win, - xdnd_proxy_atom, 0, + if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), win, + xdnd_proxy_atom, 0, 1, False, AnyPropertyType, - &type, &format, &nitems, &after, + &type, &format, &nitems, &after, &data) == Success) { if (type != None) { proxy_data = (Window *)data; - + if ((format == 32) && (nitems == 1)) { proxy = *proxy_data; @@ -2597,10 +2553,10 @@ xdnd_check_dest (GdkDisplay *display, GDK_NOTE (DND, g_warning ("Invalid XdndProxy " "property on window %ld\n", win)); - + XFree (proxy_data); } - + if ((XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), proxy ? proxy : win, xdnd_aware_atom, 0, 1, False, AnyPropertyType, @@ -2609,7 +2565,7 @@ xdnd_check_dest (GdkDisplay *display, type != None) { version = (Atom *)data; - + if ((format == 32) && (nitems == 1)) { if (*version >= 3) @@ -2621,38 +2577,38 @@ xdnd_check_dest (GdkDisplay *display, GDK_NOTE (DND, g_warning ("Invalid XdndAware " "property on window %ld\n", win)); - + XFree (version); } } gdk_error_trap_pop_ignored (); - + return retval ? (proxy ? proxy : win) : None; } /* Target side */ static void -xdnd_read_actions (GdkDragContext *context) +xdnd_read_actions (GdkDragContextX11 *context_x11) { + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); Atom type; int format; gulong nitems, after; guchar *data; Atom *atoms; - gint i; - - PRIVATE_DATA (context)->xdnd_have_actions = FALSE; + + context_x11->xdnd_have_actions = FALSE; if (gdk_window_get_window_type (context->source_window) == GDK_WINDOW_FOREIGN) { /* Get the XdndActionList, if set */ - + gdk_error_trap_push (); - + if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (context->source_window), gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"), @@ -2665,10 +2621,10 @@ xdnd_read_actions (GdkDragContext *context) context->actions = 0; - for (i=0; iactions |= xdnd_action_from_atom (display, atoms[i]); - PRIVATE_DATA (context)->xdnd_have_actions = TRUE; + context_x11->xdnd_have_actions = TRUE; #ifdef G_ENABLE_DEBUG if (_gdk_debug_flags & GDK_DEBUG_DND) @@ -2708,7 +2664,7 @@ xdnd_read_actions (GdkDragContext *context) if (source_context) { context->actions = source_context->actions; - PRIVATE_DATA (context)->xdnd_have_actions = TRUE; + context_x11->xdnd_have_actions = TRUE; } } } @@ -2719,19 +2675,19 @@ xdnd_read_actions (GdkDragContext *context) * to continually send actions. So we select on PropertyChangeMask * and add this filter. */ -static GdkFilterReturn +static GdkFilterReturn xdnd_source_window_filter (GdkXEvent *xev, GdkEvent *event, gpointer cb_data) { XEvent *xevent = (XEvent *)xev; - GdkDragContext *context = cb_data; + GdkDragContextX11 *context_x11 = cb_data; GdkDisplay *display = GDK_WINDOW_DISPLAY(event->any.window); if ((xevent->xany.type == PropertyNotify) && (xevent->xproperty.atom == gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"))) { - xdnd_read_actions (context); + xdnd_read_actions (context_x11); return GDK_FILTER_REMOVE; } @@ -2767,7 +2723,7 @@ xdnd_manage_source_filter (GdkDragContext *context, */ } - gdk_error_trap_pop_ignored (); + gdk_error_trap_pop_ignored (); } } @@ -2833,7 +2789,8 @@ xdnd_enter_filter (GdkXEvent *xev, GdkDisplay *display; GdkDisplayX11 *display_x11; XEvent *xevent = (XEvent *)xev; - GdkDragContext *new_context; + GdkDragContext *context; + GdkDragContextX11 *context_x11; gint i; Atom type; @@ -2876,30 +2833,32 @@ xdnd_enter_filter (GdkXEvent *xev, display_x11->current_dest_drag = NULL; } - new_context = gdk_drag_context_new (); - new_context->protocol = GDK_DRAG_PROTO_XDND; - PRIVATE_DATA(new_context)->version = version; + context_x11 = (GdkDragContextX11 *)g_object_new (GDK_TYPE_DRAG_CONTEXT_X11, NULL); + context = (GdkDragContext *)context_x11; + + context->protocol = GDK_DRAG_PROTO_XDND; + context_x11->version = version; /* FIXME: Should extend DnD protocol to have device info */ device_manager = gdk_display_get_device_manager (display); - gdk_drag_context_set_device (new_context, gdk_device_manager_get_client_pointer (device_manager)); + gdk_drag_context_set_device (context, gdk_device_manager_get_client_pointer (device_manager)); - new_context->source_window = gdk_window_lookup_for_display (display, source_window); - if (new_context->source_window) - g_object_ref (new_context->source_window); + context->source_window = gdk_window_lookup_for_display (display, source_window); + if (context->source_window) + g_object_ref (context->source_window); else { - new_context->source_window = gdk_window_foreign_new_for_display (display, source_window); - if (!new_context->source_window) + context->source_window = gdk_window_foreign_new_for_display (display, source_window); + if (!context->source_window) { - g_object_unref (new_context); + g_object_unref (context); return GDK_FILTER_REMOVE; } } - new_context->dest_window = event->any.window; - g_object_ref (new_context->dest_window); + context->dest_window = event->any.window; + g_object_ref (context->dest_window); - new_context->targets = NULL; + context->targets = NULL; if (get_types) { gdk_error_trap_push (); @@ -2912,7 +2871,7 @@ xdnd_enter_filter (GdkXEvent *xev, if (gdk_error_trap_pop () || (format != 32) || (type != XA_ATOM)) { - g_object_unref (new_context); + g_object_unref (context); if (data) XFree (data); @@ -2922,43 +2881,43 @@ xdnd_enter_filter (GdkXEvent *xev, atoms = (Atom *)data; - for (i=0; itargets = - g_list_append (new_context->targets, + for (i = 0; i < nitems; i++) + context->targets = + g_list_append (context->targets, GDK_ATOM_TO_POINTER (gdk_x11_xatom_to_atom_for_display (display, atoms[i]))); - XFree(atoms); + XFree (atoms); } else { - for (i=0; i<3; i++) - if (xevent->xclient.data.l[2+i]) - new_context->targets = - g_list_append (new_context->targets, + for (i = 0; i < 3; i++) + if (xevent->xclient.data.l[2 + i]) + context->targets = + g_list_append (context->targets, GDK_ATOM_TO_POINTER (gdk_x11_xatom_to_atom_for_display (display, - xevent->xclient.data.l[2+i]))); + xevent->xclient.data.l[2 + i]))); } #ifdef G_ENABLE_DEBUG if (_gdk_debug_flags & GDK_DEBUG_DND) - print_target_list (new_context->targets); + print_target_list (context->targets); #endif /* G_ENABLE_DEBUG */ - xdnd_manage_source_filter (new_context, new_context->source_window, TRUE); - xdnd_read_actions (new_context); + xdnd_manage_source_filter (context, context->source_window, TRUE); + xdnd_read_actions (context_x11); event->dnd.type = GDK_DRAG_ENTER; - event->dnd.context = new_context; - gdk_event_set_device (event, gdk_drag_context_get_device (new_context)); - g_object_ref (new_context); + event->dnd.context = context; + gdk_event_set_device (event, gdk_drag_context_get_device (context)); + g_object_ref (context); - display_x11->current_dest_drag = new_context; + display_x11->current_dest_drag = context; return GDK_FILTER_TRANSLATE; } -static GdkFilterReturn +static GdkFilterReturn xdnd_leave_filter (GdkXEvent *xev, GdkEvent *event, gpointer data) @@ -2998,7 +2957,7 @@ xdnd_leave_filter (GdkXEvent *xev, return GDK_FILTER_REMOVE; } -static GdkFilterReturn +static GdkFilterReturn xdnd_position_filter (GdkXEvent *xev, GdkEvent *event, gpointer data) @@ -3012,6 +2971,8 @@ xdnd_position_filter (GdkXEvent *xev, GdkDisplay *display; GdkDisplayX11 *display_x11; + GdkDragContext *context; + GdkDragContextX11 *context_x11; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) @@ -3026,27 +2987,31 @@ xdnd_position_filter (GdkXEvent *xev, xdnd_precache_atoms (display); - if ((display_x11->current_dest_drag != NULL) && - (display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_XDND) && - (GDK_WINDOW_XID (display_x11->current_dest_drag->source_window) == source_window)) + context = display_x11->current_dest_drag; + + if ((context != NULL) && + (context->protocol == GDK_DRAG_PROTO_XDND) && + (GDK_WINDOW_XID (context->source_window) == source_window)) { + context_x11 = GDK_DRAG_CONTEXT_X11 (context); + event->dnd.type = GDK_DRAG_MOTION; - event->dnd.context = display_x11->current_dest_drag; - gdk_event_set_device (event, gdk_drag_context_get_device (event->dnd.context)); - g_object_ref (display_x11->current_dest_drag); + event->dnd.context = context; + gdk_event_set_device (event, gdk_drag_context_get_device (context)); + g_object_ref (context); event->dnd.time = time; - display_x11->current_dest_drag->suggested_action = xdnd_action_from_atom (display, action); + context->suggested_action = xdnd_action_from_atom (display, action); - if (!(PRIVATE_DATA (display_x11->current_dest_drag))->xdnd_have_actions) - display_x11->current_dest_drag->actions = display_x11->current_dest_drag->suggested_action; + if (!context_x11->xdnd_have_actions) + context->actions = context->suggested_action; event->dnd.x_root = x_root; event->dnd.y_root = y_root; - (PRIVATE_DATA (display_x11->current_dest_drag))->last_x = x_root; - (PRIVATE_DATA (display_x11->current_dest_drag))->last_y = y_root; + context_x11->last_x = x_root; + context_x11->last_y = y_root; return GDK_FILTER_TRANSLATE; } @@ -3054,7 +3019,7 @@ xdnd_position_filter (GdkXEvent *xev, return GDK_FILTER_REMOVE; } -static GdkFilterReturn +static GdkFilterReturn xdnd_drop_filter (GdkXEvent *xev, GdkEvent *event, gpointer data) @@ -3064,6 +3029,8 @@ xdnd_drop_filter (GdkXEvent *xev, guint32 time = xevent->xclient.data.l[2]; GdkDisplay *display; GdkDisplayX11 *display_x11; + GdkDragContext *context; + GdkDragContextX11 *context_x11; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) @@ -3078,22 +3045,22 @@ xdnd_drop_filter (GdkXEvent *xev, xdnd_precache_atoms (display); - if ((display_x11->current_dest_drag != NULL) && - (display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_XDND) && - (GDK_WINDOW_XID (display_x11->current_dest_drag->source_window) == source_window)) - { - GdkDragContextPrivateX11 *private; - private = PRIVATE_DATA (display_x11->current_dest_drag); + context = display_x11->current_dest_drag; + if ((context != NULL) && + (context->protocol == GDK_DRAG_PROTO_XDND) && + (GDK_WINDOW_XID (context->source_window) == source_window)) + { + context_x11 = GDK_DRAG_CONTEXT_X11 (context); event->dnd.type = GDK_DROP_START; - event->dnd.context = display_x11->current_dest_drag; - gdk_event_set_device (event, gdk_drag_context_get_device (event->dnd.context)); - g_object_ref (display_x11->current_dest_drag); + event->dnd.context = context; + gdk_event_set_device (event, gdk_drag_context_get_device (context)); + g_object_ref (context); event->dnd.time = time; - event->dnd.x_root = private->last_x; - event->dnd.y_root = private->last_y; + event->dnd.x_root = context_x11->last_x; + event->dnd.y_root = context_x11->last_y; gdk_x11_window_set_user_time (event->any.window, time); @@ -3129,17 +3096,20 @@ _gdk_dnd_init (GdkDisplay *display) /* Source side */ static void -gdk_drag_do_leave (GdkDragContext *context, guint32 time) +gdk_drag_do_leave (GdkDragContextX11 *context_x11, + guint32 time) { + GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); + if (context->dest_window) { switch (context->protocol) { case GDK_DRAG_PROTO_MOTIF: - motif_send_leave (context, time); + motif_send_leave (context_x11, time); break; case GDK_DRAG_PROTO_XDND: - xdnd_send_leave (context); + xdnd_send_leave (context_x11); break; case GDK_DRAG_PROTO_ROOTWIN: case GDK_DRAG_PROTO_NONE: @@ -3152,66 +3122,44 @@ gdk_drag_do_leave (GdkDragContext *context, guint32 time) } } -/** - * gdk_drag_begin: - * @window: the source window for this drag. - * @targets: (transfer none) (element-type GdkAtom): the offered targets, - * as list of #GdkAtoms - * - * Starts a drag and creates a new drag context for it. - * - * This function is called by the drag source. - * - * Return value: (transfer full): a newly created #GdkDragContext. - **/ -GdkDragContext * -gdk_drag_begin (GdkWindow *window, - GList *targets) +GdkDragContext * +_gdk_x11_window_drag_begin (GdkWindow *window, + GdkDevice *device, + GList *targets) { - GdkDragContext *new_context; - GdkDisplay *display; - GdkDevice *device; - GdkDeviceManager *device_manager; + GdkDragContext *context; - g_return_val_if_fail (window != NULL, NULL); - g_return_val_if_fail (GDK_WINDOW_IS_X11 (window), NULL); + context = (GdkDragContext *)g_object_new (GDK_TYPE_DRAG_CONTEXT_X11, NULL); - new_context = gdk_drag_context_new (); - new_context->is_source = TRUE; - new_context->source_window = window; + context->is_source = TRUE; + context->source_window = window; g_object_ref (window); - new_context->targets = g_list_copy (targets); - precache_target_list (new_context); - - new_context->actions = 0; + context->targets = g_list_copy (targets); + precache_target_list (context); - display = gdk_window_get_display (window); - device_manager = gdk_display_get_device_manager (display); - device = gdk_device_manager_get_client_pointer (device_manager); - gdk_drag_context_set_device (new_context, device); + context->actions = 0; - return new_context; + gdk_drag_context_set_device (context, device); + + return context; } -static GdkNativeWindow -_gdk_drag_get_protocol_for_display (GdkDisplay *display, - GdkNativeWindow xid, - GdkDragProtocol *protocol, - guint *version) +GdkNativeWindow +_gdk_x11_display_get_drag_protocol (GdkDisplay *display, + GdkNativeWindow xid, + GdkDragProtocol *protocol, + guint *version) { GdkWindow *window; GdkNativeWindow retval; - g_return_val_if_fail (GDK_IS_DISPLAY (display), None); base_precache_atoms (display); - /* Check for a local drag - */ + /* Check for a local drag */ window = gdk_window_lookup_for_display (display, xid); - if (window && - gdk_window_get_window_type (window) != GDK_WINDOW_FOREIGN) + if (window && gdk_window_get_window_type (window) != GDK_WINDOW_FOREIGN) { if (g_object_get_data (G_OBJECT (window), "gdk-dnd-registered") != NULL) { @@ -3244,52 +3192,11 @@ _gdk_drag_get_protocol_for_display (GdkDisplay *display, else { /* Check if this is a root window */ - gboolean rootwin = FALSE; - Atom type = None; - int format; - unsigned long nitems, after; - unsigned char *data; if (_gdk_x11_display_is_root_window (display, (Window) xid)) rootwin = TRUE; - gdk_error_trap_push (); - - if (!rootwin) - { - if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xid, - gdk_x11_get_xatom_by_name_for_display (display, "ENLIGHTENMENT_DESKTOP"), - 0, 0, False, AnyPropertyType, - &type, &format, &nitems, &after, &data) == Success && - type != None) - { - XFree (data); - rootwin = TRUE; - } - } - - /* Until I find out what window manager the next one is for, - * I'm leaving it commented out. It's supported in the - * xscreensaver sources, though. - */ -#if 0 - if (!rootwin) - { - if (XGetWindowProperty (gdk_display, win, - gdk_x11_get_xatom_by_name ("__SWM_VROOT"), - 0, 0, False, AnyPropertyType, - &type, &format, &nitems, &data) && - type != None) - { - XFree (data); - rootwin = TRUE; - } - } -#endif - - gdk_error_trap_pop_ignored (); - if (rootwin) { GDK_NOTE (DND, g_message ("Entering root window\n")); @@ -3303,96 +3210,53 @@ _gdk_drag_get_protocol_for_display (GdkDisplay *display, return 0; /* a.k.a. None */ } -/** - * gdk_drag_get_protocol_for_display: - * @display: the #GdkDisplay where the destination window resides - * @xid: the windowing system id of the destination window. - * @protocol: location where the supported DND protocol is returned. - * @returns: the windowing system id of the window where the drop should happen. This - * may be @xid or the id of a proxy window, or zero if @xid doesn't - * support Drag and Drop. - * - * Finds out the DND protocol supported by a window. - * - * Since: 2.2 - */ -GdkNativeWindow -gdk_drag_get_protocol_for_display (GdkDisplay *display, - GdkNativeWindow xid, - GdkDragProtocol *protocol) -{ - return _gdk_drag_get_protocol_for_display (display, xid, protocol, NULL); -} - static GdkWindowCache * -drag_context_find_window_cache (GdkDragContext *context, - GdkScreen *screen) +drag_context_find_window_cache (GdkDragContextX11 *context_x11, + GdkScreen *screen) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); - GSList *tmp_list; + GSList *list; GdkWindowCache *cache; - for (tmp_list = private->window_caches; tmp_list; tmp_list = tmp_list->next) + for (list = context_x11->window_caches; list; list = list->next) { - cache = tmp_list->data; + cache = list->data; if (cache->screen == screen) return cache; } cache = gdk_window_cache_new (screen); - private->window_caches = g_slist_prepend (private->window_caches, cache); + context_x11->window_caches = g_slist_prepend (context_x11->window_caches, cache); return cache; } -/** - * gdk_drag_find_window_for_screen: - * @context: a #GdkDragContext - * @drag_window: a window which may be at the pointer position, but - * should be ignored, since it is put up by the drag source as an icon. - * @screen: the screen where the destination window is sought. - * @x_root: the x position of the pointer in root coordinates. - * @y_root: the y position of the pointer in root coordinates. - * @dest_window: (out): location to store the destination window in. - * @protocol: (out): location to store the DND protocol in. - * - * Finds the destination window and DND protocol to use at the - * given pointer position. - * - * This function is called by the drag source to obtain the - * @dest_window and @protocol parameters for gdk_drag_motion(). - * - * Since: 2.2 - **/ -void -gdk_drag_find_window_for_screen (GdkDragContext *context, - GdkWindow *drag_window, - GdkScreen *screen, - gint x_root, - gint y_root, - GdkWindow **dest_window, - GdkDragProtocol *protocol) +static GdkWindow * +gdk_drag_context_x11_find_window (GdkDragContext *context, + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkDragProtocol *protocol) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); GdkWindowCache *window_cache; GdkDisplay *display; Window dest; - - g_return_if_fail (context != NULL); + GdkWindow *dest_window; display = GDK_WINDOW_DISPLAY (context->source_window); - window_cache = drag_context_find_window_cache (context, screen); + window_cache = drag_context_find_window_cache (context_x11, screen); dest = get_client_window_at_coords (window_cache, - drag_window && GDK_WINDOW_IS_X11 (drag_window) ? - GDK_WINDOW_XID (drag_window) : None, - x_root, y_root); + drag_window && GDK_WINDOW_IS_X11 (drag_window) ? + GDK_WINDOW_XID (drag_window) : None, + x_root, y_root); - if (private->dest_xid != dest) + if (context_x11->dest_xid != dest) { Window recipient; - private->dest_xid = dest; + context_x11->dest_xid = dest; /* Check if new destination accepts drags, and which protocol */ @@ -3402,101 +3266,85 @@ gdk_drag_find_window_for_screen (GdkDragContext *context, * two are passed explicitely, the third implicitly through * protocol->dest_xid. */ - if ((recipient = _gdk_drag_get_protocol_for_display (display, dest, - protocol, &private->version))) - { - *dest_window = gdk_window_lookup_for_display (display, recipient); - if (*dest_window) - g_object_ref (*dest_window); - else - *dest_window = gdk_window_foreign_new_for_display (display, recipient); - } + recipient = _gdk_x11_display_get_drag_protocol (display, + dest, + protocol, + &context_x11->version); + + if (recipient != None) + { + dest_window = gdk_window_lookup_for_display (display, recipient); + if (dest_window) + g_object_ref (dest_window); + else + dest_window = gdk_window_foreign_new_for_display (display, recipient); + } else - *dest_window = NULL; + dest_window = NULL; } else { - *dest_window = context->dest_window; - if (*dest_window) - g_object_ref (*dest_window); + dest_window = context->dest_window; + if (dest_window) + g_object_ref (dest_window); *protocol = context->protocol; } + + return dest_window; } -/** - * gdk_drag_motion: - * @context: a #GdkDragContext. - * @dest_window: the new destination window, obtained by - * gdk_drag_find_window(). - * @protocol: the DND protocol in use, obtained by gdk_drag_find_window(). - * @x_root: the x position of the pointer in root coordinates. - * @y_root: the y position of the pointer in root coordinates. - * @suggested_action: the suggested action. - * @possible_actions: the possible actions. - * @time_: the timestamp for this operation. - * - * Updates the drag context when the pointer moves or the - * set of actions changes. - * - * This function is called by the drag source. - * - * Return value: FIXME - **/ -gboolean -gdk_drag_motion (GdkDragContext *context, - GdkWindow *dest_window, - GdkDragProtocol protocol, - gint x_root, - gint y_root, - GdkDragAction suggested_action, - GdkDragAction possible_actions, - guint32 time) +static gboolean +gdk_drag_context_x11_drag_motion (GdkDragContext *context, + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint x_root, + gint y_root, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time) { - GdkDragContextPrivateX11 *private = PRIVATE_DATA (context); + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); - g_return_val_if_fail (context != NULL, FALSE); - g_return_val_if_fail (dest_window == NULL || GDK_WINDOW_IS_X11 (dest_window), FALSE); - - private->old_actions = context->actions; + context_x11->old_actions = context->actions; context->actions = possible_actions; - - if (private->old_actions != possible_actions) - private->xdnd_actions_set = FALSE; - - if (protocol == GDK_DRAG_PROTO_XDND && private->version == 0) + + if (context_x11->old_actions != possible_actions) + context_x11->xdnd_actions_set = FALSE; + + if (protocol == GDK_DRAG_PROTO_XDND && context_x11->version == 0) { /* This ugly hack is necessary since GTK+ doesn't know about - * the XDND protocol version, and in particular doesn't know - * that gdk_drag_find_window_for_screen() has the side-effect - * of setting private->version, and therefore sometimes call - * gdk_drag_motion() without a prior call to + * the XDND protocol version, and in particular doesn't know + * that gdk_drag_find_window_for_screen() has the side-effect + * of setting context_x11->version, and therefore sometimes call + * gdk_drag_motion() without a prior call to * gdk_drag_find_window_for_screen(). This happens, e.g. * when GTK+ is proxying DND events to embedded windows. - */ + */ if (dest_window) { GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); - - xdnd_check_dest (display, - GDK_WINDOW_XID (dest_window), - &private->version); + + xdnd_check_dest (display, + GDK_WINDOW_XID (dest_window), + &context_x11->version); } } /* When we have a Xdnd target, make sure our XdndActionList * matches the current actions; */ - if (protocol == GDK_DRAG_PROTO_XDND && !private->xdnd_actions_set) + if (protocol == GDK_DRAG_PROTO_XDND && !context_x11->xdnd_actions_set) { if (dest_window) { if (gdk_window_get_window_type (dest_window) == GDK_WINDOW_FOREIGN) - xdnd_set_actions (context); + xdnd_set_actions (context_x11); else if (context->dest_window == dest_window) { GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); GdkDragContext *dest_context; - + dest_context = gdk_drag_context_find (display, FALSE, GDK_WINDOW_XID (context->source_window), GDK_WINDOW_XID (dest_window)); @@ -3504,7 +3352,7 @@ gdk_drag_motion (GdkDragContext *context, if (dest_context) { dest_context->actions = context->actions; - PRIVATE_DATA (dest_context)->xdnd_have_actions = TRUE; + GDK_DRAG_CONTEXT_X11 (dest_context)->xdnd_have_actions = TRUE; } } } @@ -3515,26 +3363,26 @@ gdk_drag_motion (GdkDragContext *context, GdkEvent *temp_event; /* Send a leave to the last destination */ - gdk_drag_do_leave (context, time); - private->drag_status = GDK_DRAG_STATUS_DRAG; + gdk_drag_do_leave (context_x11, time); + context_x11->drag_status = GDK_DRAG_STATUS_DRAG; /* Check if new destination accepts drags, and which protocol */ if (dest_window) { context->dest_window = dest_window; - private->drop_xid = private->dest_xid; + context_x11->drop_xid = context_x11->dest_xid; g_object_ref (context->dest_window); context->protocol = protocol; switch (protocol) { case GDK_DRAG_PROTO_MOTIF: - motif_send_enter (context, time); + motif_send_enter (context_x11, time); break; case GDK_DRAG_PROTO_XDND: - xdnd_send_enter (context); + xdnd_send_enter (context_x11); break; case GDK_DRAG_PROTO_ROOTWIN: @@ -3542,19 +3390,19 @@ gdk_drag_motion (GdkDragContext *context, default: break; } - private->old_action = suggested_action; + context_x11->old_action = suggested_action; context->suggested_action = suggested_action; - private->old_actions = possible_actions; + context_x11->old_actions = possible_actions; } else { context->dest_window = NULL; - private->drop_xid = None; + context_x11->drop_xid = None; context->action = 0; } /* Push a status event, to let the client know that - * the drag changed + * the drag changed */ temp_event = gdk_event_new (GDK_DRAG_STATUS); temp_event->dnd.window = g_object_ref (context->source_window); @@ -3572,27 +3420,27 @@ gdk_drag_motion (GdkDragContext *context, } else { - private->old_action = context->suggested_action; + context_x11->old_action = context->suggested_action; context->suggested_action = suggested_action; } /* Send a drag-motion event */ - private->last_x = x_root; - private->last_y = y_root; - + context_x11->last_x = x_root; + context_x11->last_y = y_root; + if (context->dest_window) { - if (private->drag_status == GDK_DRAG_STATUS_DRAG) + if (context_x11->drag_status == GDK_DRAG_STATUS_DRAG) { switch (context->protocol) { case GDK_DRAG_PROTO_MOTIF: - motif_send_motion (context, x_root, y_root, suggested_action, time); + motif_send_motion (context_x11, x_root, y_root, suggested_action, time); break; - + case GDK_DRAG_PROTO_XDND: - xdnd_send_motion (context, x_root, y_root, suggested_action, time); + xdnd_send_motion (context_x11, x_root, y_root, suggested_action, time); break; case GDK_DRAG_PROTO_ROOTWIN: @@ -3637,32 +3485,30 @@ gdk_drag_motion (GdkDragContext *context, return FALSE; } -/** - * gdk_drag_drop: - * @context: a #GdkDragContext. - * @time_: the timestamp for this operation. - * - * Drops on the current destination. - * - * This function is called by the drag source. - **/ -void -gdk_drag_drop (GdkDragContext *context, - guint32 time) +static void +gdk_drag_context_x11_drag_abort (GdkDragContext *context, + guint32 time) { - g_return_if_fail (context != NULL); + gdk_drag_do_leave (GDK_DRAG_CONTEXT_X11 (context), time); +} + +static void +gdk_drag_context_x11_drag_drop (GdkDragContext *context, + guint32 time) +{ + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); if (context->dest_window) { switch (context->protocol) { case GDK_DRAG_PROTO_MOTIF: - motif_send_leave (context, time); - motif_send_drop (context, time); + motif_send_leave (context_x11, time); + motif_send_drop (context_x11, time); break; - + case GDK_DRAG_PROTO_XDND: - xdnd_send_drop (context, time); + xdnd_send_drop (context_x11, time); break; case GDK_DRAG_PROTO_ROOTWIN: @@ -3677,93 +3523,63 @@ gdk_drag_drop (GdkDragContext *context, } } -/** - * gdk_drag_abort: - * @context: a #GdkDragContext. - * @time_: the timestamp for this operation. - * - * Aborts a drag without dropping. - * - * This function is called by the drag source. - **/ -void -gdk_drag_abort (GdkDragContext *context, - guint32 time) -{ - g_return_if_fail (context != NULL); - - gdk_drag_do_leave (context, time); -} - /* Destination side */ -/** - * gdk_drag_status: - * @context: a #GdkDragContext. - * @action: the selected action which will be taken when a drop happens, - * or 0 to indicate that a drop will not be accepted. - * @time_: the timestamp for this operation. - * - * Selects one of the actions offered by the drag source. - * - * This function is called by the drag destination in response to - * gdk_drag_motion() called by the drag source. - **/ -void -gdk_drag_status (GdkDragContext *context, - GdkDragAction action, - guint32 time) +static void +gdk_drag_context_x11_drag_status (GdkDragContext *context, + GdkDragAction action, + guint32 time_) { - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); XEvent xev; GdkDisplay *display; - g_return_if_fail (context != NULL); - - private = PRIVATE_DATA (context); display = GDK_WINDOW_DISPLAY (context->source_window); - + context->action = action; if (context->protocol == GDK_DRAG_PROTO_MOTIF) { gboolean need_coords = FALSE; - + xev.xclient.type = ClientMessage; - xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, - "_MOTIF_DRAG_AND_DROP_MESSAGE"); + xev.xclient.message_type = + gdk_x11_get_xatom_by_name_for_display (display, + "_MOTIF_DRAG_AND_DROP_MESSAGE"); xev.xclient.format = 8; xev.xclient.window = GDK_WINDOW_XID (context->source_window); - if (private->drag_status == GDK_DRAG_STATUS_ACTION_WAIT) - { - MOTIF_XCLIENT_BYTE (&xev, 0) = XmOPERATION_CHANGED | 0x80; - } + if (context_x11->drag_status == GDK_DRAG_STATUS_ACTION_WAIT) + { + MOTIF_XCLIENT_BYTE (&xev, 0) = XmOPERATION_CHANGED | 0x80; + } else - { - if ((action != 0) != (private->old_action != 0)) - { - if (action != 0) - { - MOTIF_XCLIENT_BYTE (&xev, 0) = XmDROP_SITE_ENTER | 0x80; - need_coords = TRUE; - } - else - MOTIF_XCLIENT_BYTE (&xev, 0) = XmDROP_SITE_LEAVE | 0x80; - } - else - { - MOTIF_XCLIENT_BYTE (&xev, 0) = XmDRAG_MOTION | 0x80; - need_coords = TRUE; - } - } + { + if ((action != 0) != (context_x11->old_action != 0)) + { + if (action != 0) + { + MOTIF_XCLIENT_BYTE (&xev, 0) = XmDROP_SITE_ENTER | 0x80; + need_coords = TRUE; + } + else + { + MOTIF_XCLIENT_BYTE (&xev, 0) = XmDROP_SITE_LEAVE | 0x80; + } + } + else + { + MOTIF_XCLIENT_BYTE (&xev, 0) = XmDRAG_MOTION | 0x80; + need_coords = TRUE; + } + } MOTIF_XCLIENT_BYTE (&xev, 1) = local_byte_order; switch (action) - { - case GDK_ACTION_MOVE: - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_MOVE; + { + case GDK_ACTION_MOVE: + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_MOVE; break; case GDK_ACTION_COPY: MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY; @@ -3781,16 +3597,16 @@ gdk_drag_status (GdkDragContext *context, else MOTIF_XCLIENT_SHORT (&xev, 1) |= (XmNO_DROP_SITE << 4); - MOTIF_XCLIENT_LONG (&xev, 1) = time; - + MOTIF_XCLIENT_LONG (&xev, 1) = time_; + if (need_coords) { - MOTIF_XCLIENT_SHORT (&xev, 4) = private->last_x; - MOTIF_XCLIENT_SHORT (&xev, 5) = private->last_y; + MOTIF_XCLIENT_SHORT (&xev, 4) = context_x11->last_x; + MOTIF_XCLIENT_SHORT (&xev, 5) = context_x11->last_y; } else MOTIF_XCLIENT_LONG (&xev, 2) = 0; - + MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; @@ -3812,40 +3628,22 @@ gdk_drag_status (GdkDragContext *context, xev.xclient.data.l[1] = (action != 0) ? (2 | 1) : 0; xev.xclient.data.l[2] = 0; xev.xclient.data.l[3] = 0; - xev.xclient.data.l[4] = xdnd_action_to_atom (display, action); - - if (!xdnd_send_xevent (context, context->source_window, - FALSE, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->source_window))); + if (!xdnd_send_xevent (context_x11, context->source_window, FALSE, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->source_window))); } - private->old_action = action; + context_x11->old_action = action; } -/** - * gdk_drop_reply: - * @context: a #GdkDragContext. - * @ok: %TRUE if the drop is accepted. - * @time_: the timestamp for this operation. - * - * Accepts or rejects a drop. - * - * This function is called by the drag destination in response - * to a drop initiated by the drag source. - **/ -void -gdk_drop_reply (GdkDragContext *context, - gboolean ok, - guint32 time) +static void +gdk_drag_context_x11_drop_reply (GdkDragContext *context, + gboolean accepted, + guint32 time_) { - GdkDragContextPrivateX11 *private; + GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); - g_return_if_fail (context != NULL); - - private = PRIVATE_DATA (context); - if (context->protocol == GDK_DRAG_PROTO_MOTIF) { GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -3858,45 +3656,33 @@ gdk_drop_reply (GdkDragContext *context, MOTIF_XCLIENT_BYTE (&xev, 0) = XmDROP_START | 0x80; MOTIF_XCLIENT_BYTE (&xev, 1) = local_byte_order; - if (ok) - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY | + if (accepted) + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY | (XmDROP_SITE_VALID << 4) | (XmDROP_NOOP << 8) | (XmDROP << 12); else - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_NOOP | + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_NOOP | (XmNO_DROP_SITE << 4) | (XmDROP_NOOP << 8) | (XmDROP_CANCEL << 12); - MOTIF_XCLIENT_SHORT (&xev, 2) = private->last_x; - MOTIF_XCLIENT_SHORT (&xev, 3) = private->last_y; + MOTIF_XCLIENT_SHORT (&xev, 2) = context_x11->last_x; + MOTIF_XCLIENT_SHORT (&xev, 3) = context_x11->last_y; MOTIF_XCLIENT_LONG (&xev, 2) = 0; MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; - + _gdk_send_xevent (display, GDK_WINDOW_XID (context->source_window), FALSE, 0, &xev); } } -/** - * gdk_drop_finish: - * @context: a #GtkDragContext. - * @success: %TRUE if the data was successfully received. - * @time_: the timestamp for this operation. - * - * Ends the drag operation after a drop. - * - * This function is called by the drag destination. - **/ -void -gdk_drop_finish (GdkDragContext *context, - gboolean success, - guint32 time) +static void +gdk_drag_context_x11_drop_finish (GdkDragContext *context, + gboolean success, + guint32 time) { - g_return_if_fail (context != NULL); - if (context->protocol == GDK_DRAG_PROTO_XDND) { GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -3906,7 +3692,7 @@ gdk_drop_finish (GdkDragContext *context, xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "XdndFinished"); xev.xclient.format = 32; xev.xclient.window = GDK_WINDOW_XID (context->source_window); - + xev.xclient.data.l[0] = GDK_WINDOW_XID (context->dest_window); if (success) { @@ -3922,8 +3708,7 @@ gdk_drop_finish (GdkDragContext *context, xev.xclient.data.l[3] = 0; xev.xclient.data.l[4] = 0; - if (!xdnd_send_xevent (context, context->source_window, - FALSE, &xev)) + if (!xdnd_send_xevent (GDK_DRAG_CONTEXT_X11 (context), context->source_window, FALSE, &xev)) GDK_NOTE (DND, g_message ("Send event to %lx failed", GDK_WINDOW_XID (context->source_window))); @@ -3980,49 +3765,20 @@ _gdk_x11_window_register_dnd (GdkWindow *window) (guchar *)&xdnd_version, 1); } -/** - * gdk_drag_get_selection: - * @context: a #GdkDragContext. - * - * Returns the selection atom for the current source window. - * - * Return value: the selection atom. - **/ -GdkAtom -gdk_drag_get_selection (GdkDragContext *context) +static GdkAtom +gdk_drag_context_x11_get_selection (GdkDragContext *context) { - g_return_val_if_fail (context != NULL, GDK_NONE); - if (context->protocol == GDK_DRAG_PROTO_MOTIF) return gdk_x11_xatom_to_atom_for_display (GDK_WINDOW_DISPLAY (context->source_window), - (PRIVATE_DATA (context))->motif_selection); + (GDK_DRAG_CONTEXT_X11 (context))->motif_selection); else if (context->protocol == GDK_DRAG_PROTO_XDND) return gdk_atom_intern_static_string ("XdndSelection"); else return GDK_NONE; } -/** - * gdk_drag_drop_succeeded: - * @context: a #GdkDragContext - * - * Returns whether the dropped data has been successfully - * transferred. This function is intended to be used while - * handling a %GDK_DROP_FINISHED event, its return value is - * meaningless at other times. - * - * Return value: %TRUE if the drop was successful. - * - * Since: 2.6 - **/ -gboolean -gdk_drag_drop_succeeded (GdkDragContext *context) +static gboolean +gdk_drag_context_x11_drop_status (GdkDragContext *context) { - GdkDragContextPrivateX11 *private; - - g_return_val_if_fail (context != NULL, FALSE); - - private = PRIVATE_DATA (context); - - return !private->drop_failed; + return ! GDK_DRAG_CONTEXT_X11 (context)->drop_failed; } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 61d36edf9e..426c12f70a 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4965,6 +4965,10 @@ gdk_x11_window_get_xid (GdkWindow *window) return GDK_WINDOW_IMPL_X11 (window->impl)->xid; } +extern GdkDragContext * _gdk_x11_window_drag_begin (GdkWindow *window, + GdkDevice *device, + GList *targets); + static void gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) { @@ -5043,5 +5047,6 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->set_opacity = gdk_x11_window_set_opacity; impl_class->destroy_notify = gdk_x11_window_destroy_notify; impl_class->register_dnd = _gdk_x11_window_register_dnd; + impl_class->drag_begin = _gdk_x11_window_drag_begin; } From 8e1d320ce96c7276d7152c4e5a95c1ff10ab511b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 02:00:39 -0500 Subject: [PATCH 0631/1463] Rename _gdk_dnd_init Nonstatic backend-specific functions need an x11 in their name. --- gdk/x11/gdkdisplay-x11.c | 2 +- gdk/x11/gdkdnd-x11.c | 4 ++-- gdk/x11/gdkprivate-x11.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index dac5fb337c..0be44a1a92 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1425,7 +1425,7 @@ gdk_display_open (const gchar *display_name) #endif _gdk_input_init (display); - _gdk_dnd_init (display); + _gdk_x11_dnd_init (display); for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) _gdk_x11_screen_setup (display_x11->screens[i]); diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 1ebc08d0fc..132bfbc653 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3074,7 +3074,7 @@ xdnd_drop_filter (GdkXEvent *xev, ************************** Public API *********************** *************************************************************/ void -_gdk_dnd_init (GdkDisplay *display) +_gdk_x11_dnd_init (GdkDisplay *display) { int i; init_byte_order (); @@ -3091,7 +3091,7 @@ _gdk_dnd_init (GdkDisplay *display) gdk_atom_intern_static_string (xdnd_filters[i].atom_name), xdnd_filters[i].func, NULL); } -} +} /* Source side */ diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 31c4e906ba..efa886fd06 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -149,7 +149,7 @@ void _gdk_events_init (GdkDisplay *display); void _gdk_events_uninit (GdkDisplay *display); void _gdk_windowing_window_init (GdkScreen *screen); void _gdk_visual_init (GdkScreen *screen); -void _gdk_dnd_init (GdkDisplay *display); +void _gdk_x11_dnd_init (GdkDisplay *display); void _gdk_x11_cursor_update_theme (GdkCursor *cursor); void _gdk_x11_cursor_display_finalize (GdkDisplay *display); From 23a2b4221683765d5ff8f5c0dea33ee02dc45f66 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 08:49:06 -0500 Subject: [PATCH 0632/1463] Fully initialize the ClientMessage struct Otherwise we run into warnings from xdnd_status_filter --- gdk/x11/gdkdnd-x11.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 132bfbc653..286aed97e3 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3628,6 +3628,7 @@ gdk_drag_context_x11_drag_status (GdkDragContext *context, xev.xclient.data.l[1] = (action != 0) ? (2 | 1) : 0; xev.xclient.data.l[2] = 0; xev.xclient.data.l[3] = 0; + xev.xclient.data.l[4] = 0; if (!xdnd_send_xevent (context_x11, context->source_window, FALSE, &xev)) GDK_NOTE (DND, g_message ("Send event to %lx failed", From c6a5074295c65b59bb88ae7a2ade37ae2c46d611 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 09:06:52 -0500 Subject: [PATCH 0633/1463] Move GdkVisual parallel-implementable It turned out no vfuncs were necessary. I've decided to move the screen member up to GdkVisual, since it is the same in all backends. The X11 backend subclasses now, to add the X members that it needs to keep track of. GdkVisual and GdkVisualClass are hidden now. --- gdk/gdkinternals.h | 30 +++++++ gdk/gdkvisual.c | 39 +++++++- gdk/gdkvisual.h | 49 +---------- gdk/x11/gdkprivate-x11.h | 2 +- gdk/x11/gdkscreen-x11.c | 2 +- gdk/x11/gdkvisual-x11.c | 186 +++++++++++++++++---------------------- 6 files changed, 152 insertions(+), 156 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index b50ee9e24d..6defd11414 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -466,6 +466,36 @@ struct _GdkDragContext { GdkDevice *device; }; +struct _GdkVisual +{ + GObject parent_instance; + + GdkVisualType type; + gint depth; + GdkByteOrder byte_order; + gint colormap_size; + gint bits_per_rgb; + + guint32 red_mask; + gint red_shift; + gint red_prec; + + guint32 green_mask; + gint green_shift; + gint green_prec; + + guint32 blue_mask; + gint blue_shift; + gint blue_prec; + + GdkScreen *screen; +}; + +struct _GdkVisualClass +{ + GObjectClass parent_class; +}; + extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c index 15f681d3c6..b0201b2599 100644 --- a/gdk/gdkvisual.c +++ b/gdk/gdkvisual.c @@ -25,7 +25,6 @@ #include "gdkinternals.h" #include "gdkvisual.h" - #include "gdkscreen.h" @@ -55,6 +54,26 @@ * then %GDK_VISUAL_STATIC_GRAY. */ +G_DEFINE_TYPE (GdkVisual, gdk_visual, G_TYPE_OBJECT) + +static void +gdk_visual_init (GdkVisual *visual) +{ +} + +static void +gdk_visual_finalize (GObject *object) +{ + G_OBJECT_CLASS (gdk_visual_parent_class)->finalize (object); +} + +static void +gdk_visual_class_init (GdkVisualClass *visual_class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (visual_class); + + object_class->finalize = gdk_visual_finalize; +} /** * gdk_list_visuals: @@ -428,3 +447,21 @@ gdk_visual_get_blue_pixel_details (GdkVisual *visual, if (precision) *precision = visual->blue_prec; } + +/** + * gdk_visual_get_screen: + * @visual: a #GdkVisual + * + * Gets the screen to which this visual belongs + * + * Return value: (transfer none): the screen to which this visual belongs. + * + * Since: 2.2 + */ +GdkScreen * +gdk_visual_get_screen (GdkVisual *visual) +{ + g_return_val_if_fail (GDK_IS_VISUAL (visual), NULL); + + return visual->screen; +} diff --git a/gdk/gdkvisual.h b/gdk/gdkvisual.h index 5fa4ad919c..bee6426a59 100644 --- a/gdk/gdkvisual.h +++ b/gdk/gdkvisual.h @@ -42,7 +42,6 @@ G_BEGIN_DECLS #define GDK_IS_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_VISUAL)) #define GDK_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_VISUAL, GdkVisualClass)) -typedef struct _GdkVisualPrivate GdkVisualPrivate; typedef struct _GdkVisualClass GdkVisualClass; /** @@ -84,53 +83,7 @@ typedef enum * * The #GdkVisual structure contains information about * a particular visual. - * - * - * Constructing a pixel value from components - * - * guint - * pixel_from_rgb (GdkVisual *visual, - * guchar r, guchar b, guchar g) - * { - * return ((r >> (16 - visual->red_prec)) << visual->red_shift) | - * ((g >> (16 - visual->green_prec)) << visual->green_shift) | - * ((r >> (16 - visual->blue_prec)) << visual->blue_shift); - * } - * - * */ -struct _GdkVisual -{ - /*< private >*/ - GObject parent_instance; - - GdkVisualType GSEAL (type); /* Type of visual this is (PseudoColor, TrueColor, etc) */ - gint GSEAL (depth); /* Bit depth of this visual */ - GdkByteOrder GSEAL (byte_order); - gint GSEAL (colormap_size); /* Size of a colormap for this visual */ - gint GSEAL (bits_per_rgb); /* Number of significant bits per red, green and blue. */ - - /* The red, green and blue masks, shifts and precisions refer - * to value needed to calculate pixel values in TrueColor and DirectColor - * visuals. The "mask" is the significant bits within the pixel. The - * "shift" is the number of bits left we must shift a primary for it - * to be in position (according to the "mask"). "prec" refers to how - * much precision the pixel value contains for a particular primary. - */ - guint32 GSEAL (red_mask); - gint GSEAL (red_shift); - gint GSEAL (red_prec); - - guint32 GSEAL (green_mask); - gint GSEAL (green_shift); - gint GSEAL (green_prec); - - guint32 GSEAL (blue_mask); - gint GSEAL (blue_shift); - gint GSEAL (blue_prec); - - GdkVisualPrivate *priv; -}; GType gdk_visual_get_type (void) G_GNUC_CONST; @@ -152,7 +105,7 @@ void gdk_query_visual_types (GdkVisualType **visual_types, GList* gdk_list_visuals (void); #endif -GdkScreen *gdk_visual_get_screen (GdkVisual *visual); +GdkScreen *gdk_visual_get_screen (GdkVisual *visual); GdkVisualType gdk_visual_get_visual_type (GdkVisual *visual); gint gdk_visual_get_depth (GdkVisual *visual); diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index efa886fd06..f3867ab679 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -148,7 +148,7 @@ void _gdk_screen_x11_events_init (GdkScreen *screen); void _gdk_events_init (GdkDisplay *display); void _gdk_events_uninit (GdkDisplay *display); void _gdk_windowing_window_init (GdkScreen *screen); -void _gdk_visual_init (GdkScreen *screen); +void _gdk_x11_visual_init (GdkScreen *screen); void _gdk_x11_dnd_init (GdkDisplay *display); void _gdk_x11_cursor_update_theme (GdkCursor *cursor); diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index f9cda4373e..8899170d58 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -810,7 +810,7 @@ _gdk_x11_screen_new (GdkDisplay *display, init_multihead (screen); init_randr_support (screen); - _gdk_visual_init (screen); + _gdk_x11_visual_init (screen); _gdk_windowing_window_init (screen); return screen; diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index f2ba3ca7f6..36ef9798f3 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -36,16 +36,18 @@ #include #include -struct _GdkVisualPrivate -{ - Visual *xvisual; - GdkScreen *screen; - Colormap colormap; -}; +typedef struct _GdkVisualX11 GdkVisualX11; +typedef struct _GdkVisualClass GdkVisualX11Class; -struct _GdkVisualClass +#define GDK_TYPE_VISUAL_X11 (gdk_visual_x11_get_type ()) +#define GDK_VISUAL_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_VISUAL_X11, GdkVisualX11)) + +struct _GdkVisualX11 { - GObjectClass parent_class; + GdkVisual visual; + + Visual *xvisual; + Colormap colormap; }; static void gdk_visual_add (GdkVisual *visual); @@ -71,42 +73,36 @@ static const gchar *const visual_names[] = #endif /* G_ENABLE_DEBUG */ -G_DEFINE_TYPE (GdkVisual, gdk_visual, G_TYPE_OBJECT) +G_DEFINE_TYPE (GdkVisualX11, gdk_visual_x11, GDK_TYPE_VISUAL) static void -gdk_visual_finalize (GObject *object) +gdk_visual_x11_init (GdkVisualX11 *visual_x11) { - GdkVisualPrivate *priv = (GdkVisualPrivate *) object; - - if (priv->colormap != None) - XFreeColormap (GDK_SCREEN_XDISPLAY (priv->screen), - priv->colormap); - - G_OBJECT_CLASS (gdk_visual_parent_class)->finalize (object); + visual_x11->colormap = None; } static void -gdk_visual_class_init (GdkVisualClass *visual_class) +gdk_visual_x11_finalize (GObject *object) { - GObjectClass *object_class = G_OBJECT_CLASS (visual_class); + GdkVisual *visual = (GdkVisual *)object; + GdkVisualX11 *visual_x11 = (GdkVisualX11 *)object; - g_type_class_add_private (object_class, sizeof (GdkVisualPrivate)); + if (visual_x11->colormap != None) + XFreeColormap (GDK_SCREEN_XDISPLAY (visual->screen), visual_x11->colormap); - object_class->finalize = gdk_visual_finalize; + G_OBJECT_CLASS (gdk_visual_x11_parent_class)->finalize (object); } static void -gdk_visual_init (GdkVisual *visual) +gdk_visual_x11_class_init (GdkVisualX11Class *class) { - visual->priv = G_TYPE_INSTANCE_GET_PRIVATE (visual, - GDK_TYPE_VISUAL, - GdkVisualPrivate); + GObjectClass *object_class = G_OBJECT_CLASS (class); - visual->priv->colormap = None; + object_class->finalize = gdk_visual_x11_finalize; } void -_gdk_visual_init (GdkScreen *screen) +_gdk_x11_visual_init (GdkScreen *screen) { static const gint possible_depths[8] = { 32, 30, 24, 16, 15, 8, 4, 1 }; static const GdkVisualType possible_types[6] = @@ -128,25 +124,25 @@ _gdk_visual_init (GdkScreen *screen) int nxvisuals; int nvisuals; int i, j; - + g_return_if_fail (GDK_IS_SCREEN (screen)); screen_x11 = GDK_SCREEN_X11 (screen); nxvisuals = 0; visual_template.screen = screen_x11->screen_num; visual_list = XGetVisualInfo (screen_x11->xdisplay, VisualScreenMask, &visual_template, &nxvisuals); - + visuals = g_new (GdkVisual *, nxvisuals); for (i = 0; i < nxvisuals; i++) - visuals[i] = g_object_new (GDK_TYPE_VISUAL, NULL); + visuals[i] = g_object_new (GDK_TYPE_VISUAL_X11, NULL); default_xvisual = DefaultVisual (screen_x11->xdisplay, screen_x11->screen_num); nvisuals = 0; for (i = 0; i < nxvisuals; i++) { - visuals[nvisuals]->priv->screen = screen; - + visuals[nvisuals]->screen = screen; + if (visual_list[i].depth >= 1) { #ifdef __cplusplus @@ -184,7 +180,7 @@ _gdk_visual_init (GdkScreen *screen) visuals[nvisuals]->blue_mask = visual_list[i].blue_mask; visuals[nvisuals]->colormap_size = visual_list[i].colormap_size; visuals[nvisuals]->bits_per_rgb = visual_list[i].bits_per_rgb; - visuals[nvisuals]->priv->xvisual = visual_list[i].visual; + GDK_VISUAL_X11 (visuals[nvisuals])->xvisual = visual_list[i].visual; if ((visuals[nvisuals]->type == GDK_VISUAL_TRUE_COLOR) || (visuals[nvisuals]->type == GDK_VISUAL_DIRECT_COLOR)) @@ -215,7 +211,7 @@ _gdk_visual_init (GdkScreen *screen) visuals[nvisuals]->blue_shift = 0; visuals[nvisuals]->blue_prec = 0; } - + nvisuals += 1; } } @@ -259,11 +255,11 @@ _gdk_visual_init (GdkScreen *screen) for (i = 0; i < nvisuals; i++) { - if (default_xvisual->visualid == visuals[i]->priv->xvisual->visualid) + if (default_xvisual->visualid == GDK_VISUAL_X11 (visuals[i])->xvisual->visualid) { - screen_x11->system_visual = visuals[i]; - visuals[i]->priv->colormap = DefaultColormap (screen_x11->xdisplay, - screen_x11->screen_num); + screen_x11->system_visual = visuals[i]; + GDK_VISUAL_X11 (visuals[i])->colormap = + DefaultColormap (screen_x11->xdisplay, screen_x11->screen_num); } /* For now, we only support 8888 ARGB for the "rgba visual". @@ -275,11 +271,11 @@ _gdk_visual_init (GdkScreen *screen) visuals[i]->green_mask == 0x00ff00 && visuals[i]->blue_mask == 0x0000ff)) { - screen_x11->rgba_visual = GDK_VISUAL (visuals[i]); - } + screen_x11->rgba_visual = visuals[i]; + } } -#ifdef G_ENABLE_DEBUG +#ifdef G_ENABLE_DEBUG if (_gdk_debug_flags & GDK_DEBUG_MISC) { static const gchar *const visual_names[] = @@ -293,9 +289,7 @@ _gdk_visual_init (GdkScreen *screen) }; for (i = 0; i < nvisuals; i++) - g_message ("visual: %s: %d", - visual_names[visuals[i]->type], - visuals[i]->depth); + g_message ("visual: %s: %d", visual_names[visuals[i]->type], visuals[i]->depth); } #endif /* G_ENABLE_DEBUG */ @@ -329,7 +323,7 @@ _gdk_visual_init (GdkScreen *screen) } for (i = 0; i < nvisuals; i++) - gdk_visual_add ((GdkVisual*) visuals[i]); + gdk_visual_add (visuals[i]); if (screen_x11->navailable_types == 0) g_error ("unable to find a usable visual type"); @@ -351,7 +345,7 @@ _gdk_screen_x11_visual_get_best_type (GdkScreen *screen) } GdkVisual * -_gdk_screen_x11_get_system_visual (GdkScreen * screen) +_gdk_screen_x11_get_system_visual (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); @@ -363,12 +357,12 @@ _gdk_screen_x11_visual_get_best (GdkScreen *screen) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); - return (GdkVisual *)screen_x11->visuals[0]; + return screen_x11->visuals[0]; } GdkVisual* _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, - gint depth) + gint depth) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); GdkVisual *return_val; @@ -378,7 +372,7 @@ _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, for (i = 0; i < screen_x11->nvisuals; i++) if (depth == screen_x11->visuals[i]->depth) { - return_val = (GdkVisual *) screen_x11->visuals[i]; + return_val = screen_x11->visuals[i]; break; } @@ -386,8 +380,8 @@ _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, } GdkVisual* -_gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, - GdkVisualType visual_type) +_gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, + GdkVisualType visual_type) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); GdkVisual *return_val; @@ -397,7 +391,7 @@ _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, for (i = 0; i < screen_x11->nvisuals; i++) if (visual_type == screen_x11->visuals[i]->type) { - return_val = (GdkVisual *) screen_x11->visuals[i]; + return_val = screen_x11->visuals[i]; break; } @@ -405,9 +399,9 @@ _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, } GdkVisual* -_gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, - gint depth, - GdkVisualType visual_type) +_gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); GdkVisual *return_val; @@ -418,7 +412,7 @@ _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, if ((depth == screen_x11->visuals[i]->depth) && (visual_type == screen_x11->visuals[i]->type)) { - return_val = (GdkVisual *) screen_x11->visuals[i]; + return_val = screen_x11->visuals[i]; break; } @@ -426,9 +420,9 @@ _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, } void -_gdk_screen_x11_query_depths (GdkScreen *screen, - gint **depths, - gint *count) +_gdk_screen_x11_query_depths (GdkScreen *screen, + gint **depths, + gint *count) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); @@ -437,12 +431,12 @@ _gdk_screen_x11_query_depths (GdkScreen *screen, } void -_gdk_screen_x11_query_visual_types (GdkScreen *screen, - GdkVisualType **visual_types, - gint *count) +_gdk_screen_x11_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); - + *count = screen_x11->navailable_types; *visual_types = screen_x11->available_types; } @@ -456,7 +450,7 @@ _gdk_screen_x11_list_visuals (GdkScreen *screen) g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); screen_x11 = GDK_SCREEN_X11 (screen); - + list = NULL; for (i = 0; i < screen_x11->nvisuals; ++i) @@ -479,7 +473,7 @@ _gdk_screen_x11_list_visuals (GdkScreen *screen) */ GdkVisual * gdk_x11_screen_lookup_visual (GdkScreen *screen, - VisualID xvisualid) + VisualID xvisualid) { int i; GdkScreenX11 *screen_x11; @@ -487,8 +481,8 @@ gdk_x11_screen_lookup_visual (GdkScreen *screen, screen_x11 = GDK_SCREEN_X11 (screen); for (i = 0; i < screen_x11->nvisuals; i++) - if (xvisualid == screen_x11->visuals[i]->priv->xvisual->visualid) - return (GdkVisual *) screen_x11->visuals[i]; + if (xvisualid == GDK_VISUAL_X11 (screen_x11->visuals[i])->xvisual->visualid) + return screen_x11->visuals[i]; return NULL; } @@ -496,9 +490,9 @@ gdk_x11_screen_lookup_visual (GdkScreen *screen, /** * gdkx_visual_get: * @xvisualid: a X visual id. - * - * Returns a #GdkVisual corresponding to a X visual. - * + * + * Returns a #GdkVisual corresponding to a X visual. + * * Return value: the #GdkVisual. **/ GdkVisual* @@ -510,19 +504,19 @@ gdkx_visual_get (VisualID xvisualid) static void gdk_visual_add (GdkVisual *visual) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (visual->priv->screen); - + GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (visual->screen); + if (!screen_x11->visual_hash) screen_x11->visual_hash = g_hash_table_new ((GHashFunc) gdk_visual_hash, (GEqualFunc) gdk_visual_equal); - g_hash_table_insert (screen_x11->visual_hash, visual->priv->xvisual, visual); + g_hash_table_insert (screen_x11->visual_hash, GDK_VISUAL_X11 (visual)->xvisual, visual); } static void gdk_visual_decompose_mask (gulong mask, - gint *shift, - gint *prec) + gint *shift, + gint *prec) { *shift = 0; *prec = 0; @@ -554,7 +548,7 @@ gdk_visual_hash (Visual *key) static gboolean gdk_visual_equal (Visual *a, - Visual *b) + Visual *b) { return (a->visualid == b->visualid); } @@ -570,53 +564,35 @@ gdk_visual_equal (Visual *a, Colormap _gdk_visual_get_x11_colormap (GdkVisual *visual) { - GdkVisualPrivate *priv; + GdkVisualX11 *visual_x11; g_return_val_if_fail (GDK_IS_VISUAL (visual), None); - priv = visual->priv; + visual_x11 = GDK_VISUAL_X11 (visual); - if (priv->colormap == None) + if (visual_x11->colormap == None) { - priv->colormap = XCreateColormap (GDK_SCREEN_XDISPLAY (priv->screen), - GDK_SCREEN_XROOTWIN (priv->screen), - GDK_VISUAL_XVISUAL (visual), - AllocNone); + visual_x11->colormap = XCreateColormap (GDK_SCREEN_XDISPLAY (visual->screen), + GDK_SCREEN_XROOTWIN (visual->screen), + visual_x11->xvisual, + AllocNone); } - return priv->colormap; + return visual_x11->colormap; } /** * gdk_x11_visual_get_xvisual: * @visual: a #GdkVisual. - * + * * Returns the X visual belonging to a #GdkVisual. - * + * * Return value: an Xlib Visual*. **/ Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual) -{ - g_return_val_if_fail (visual != NULL, NULL); - - return visual->priv->xvisual; -} - -/** - * gdk_visual_get_screen: - * @visual: a #GdkVisual - * - * Gets the screen to which this visual belongs - * - * Return value: (transfer none): the screen to which this visual belongs. - * - * Since: 2.2 - **/ -GdkScreen * -gdk_visual_get_screen (GdkVisual *visual) { g_return_val_if_fail (GDK_IS_VISUAL (visual), NULL); - return visual->priv->screen; + return GDK_VISUAL_X11 (visual)->xvisual; } From d5c0b92d5d3df4c160aab52d04c39ac89e460e15 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 09:35:59 -0500 Subject: [PATCH 0634/1463] Hide GdkDeviceManager and GdkDeviceManagerClass And nuke GdkDeviceManagerPrivate at the same time. Again a commit that only deals with the X11 backend, other backends will need to catch up. --- gdk/gdkdevicemanager.c | 30 +++----------------------- gdk/gdkdevicemanager.h | 37 +++++---------------------------- gdk/gdkinternals.h | 25 ++++++++++++++++++++++ gdk/x11/gdkdevicemanager-core.h | 3 ++- gdk/x11/gdkdevicemanager-xi.h | 1 + gdk/x11/gdkdevicemanager-xi2.h | 4 +++- 6 files changed, 39 insertions(+), 61 deletions(-) diff --git a/gdk/gdkdevicemanager.c b/gdk/gdkdevicemanager.c index 5ef51b7724..2eefc3a445 100644 --- a/gdk/gdkdevicemanager.c +++ b/gdk/gdkdevicemanager.c @@ -117,12 +117,6 @@ enum { static guint signals [LAST_SIGNAL] = { 0 }; -struct _GdkDeviceManagerPrivate -{ - GdkDisplay *display; -}; - - static void gdk_device_manager_class_init (GdkDeviceManagerClass *klass) { @@ -203,18 +197,11 @@ gdk_device_manager_class_init (GdkDeviceManagerClass *klass) g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GDK_TYPE_DEVICE); - - g_type_class_add_private (object_class, sizeof (GdkDeviceManagerPrivate)); } static void gdk_device_manager_init (GdkDeviceManager *device_manager) { - GdkDeviceManagerPrivate *priv; - - device_manager->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (device_manager, - GDK_TYPE_DEVICE_MANAGER, - GdkDeviceManagerPrivate); } static void @@ -223,14 +210,10 @@ gdk_device_manager_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { - GdkDeviceManagerPrivate *priv; - - priv = GDK_DEVICE_MANAGER (object)->priv; - switch (prop_id) { case PROP_DISPLAY: - priv->display = g_value_get_object (value); + GDK_DEVICE_MANAGER (object)->display = g_value_get_object (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -244,14 +227,11 @@ gdk_device_manager_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - GdkDeviceManagerPrivate *priv; - - priv = GDK_DEVICE_MANAGER (object)->priv; switch (prop_id) { case PROP_DISPLAY: - g_value_set_object (value, priv->display); + g_value_set_object (value, GDK_DEVICE_MANAGER (object)->display); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -274,13 +254,9 @@ gdk_device_manager_get_property (GObject *object, GdkDisplay * gdk_device_manager_get_display (GdkDeviceManager *device_manager) { - GdkDeviceManagerPrivate *priv; - g_return_val_if_fail (GDK_IS_DEVICE_MANAGER (device_manager), NULL); - priv = device_manager->priv; - - return priv->display; + return device_manager->display; } /** diff --git a/gdk/gdkdevicemanager.h b/gdk/gdkdevicemanager.h index bed2bbba86..2bb6041a17 100644 --- a/gdk/gdkdevicemanager.h +++ b/gdk/gdkdevicemanager.h @@ -37,41 +37,14 @@ G_BEGIN_DECLS #define GDK_DEVICE_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER, GdkDeviceManagerClass)) typedef struct _GdkDeviceManager GdkDeviceManager; -typedef struct _GdkDeviceManagerPrivate GdkDeviceManagerPrivate; typedef struct _GdkDeviceManagerClass GdkDeviceManagerClass; -struct _GdkDeviceManager -{ - GObject parent_instance; +GType gdk_device_manager_get_type (void) G_GNUC_CONST; - /*< private >*/ - GdkDeviceManagerPrivate *priv; -}; - -struct _GdkDeviceManagerClass -{ - GObjectClass parent_class; - - /* Signals */ - void (* device_added) (GdkDeviceManager *device_manager, - GdkDevice *device); - void (* device_removed) (GdkDeviceManager *device_manager, - GdkDevice *device); - void (* device_changed) (GdkDeviceManager *device_manager, - GdkDevice *device); - - /* VMethods */ - GList * (* list_devices) (GdkDeviceManager *device_manager, - GdkDeviceType type); - GdkDevice * (* get_client_pointer) (GdkDeviceManager *device_manager); -}; - -GType gdk_device_manager_get_type (void) G_GNUC_CONST; - -GdkDisplay * gdk_device_manager_get_display (GdkDeviceManager *device_manager); -GList * gdk_device_manager_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type); -GdkDevice * gdk_device_manager_get_client_pointer (GdkDeviceManager *device_manager); +GdkDisplay * gdk_device_manager_get_display (GdkDeviceManager *device_manager); +GList * gdk_device_manager_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type); +GdkDevice * gdk_device_manager_get_client_pointer (GdkDeviceManager *device_manager); G_END_DECLS diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 6defd11414..19d9d2dfbb 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -496,6 +496,31 @@ struct _GdkVisualClass GObjectClass parent_class; }; +struct _GdkDeviceManager +{ + GObject parent_instance; + + GdkDisplay *display; +}; + +struct _GdkDeviceManagerClass +{ + GObjectClass parent_class; + + /* Signals */ + void (* device_added) (GdkDeviceManager *device_manager, + GdkDevice *device); + void (* device_removed) (GdkDeviceManager *device_manager, + GdkDevice *device); + void (* device_changed) (GdkDeviceManager *device_manager, + GdkDevice *device); + + /* VMethods */ + GList * (* list_devices) (GdkDeviceManager *device_manager, + GdkDeviceType type); + GdkDevice * (* get_client_pointer) (GdkDeviceManager *device_manager); +}; + extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; diff --git a/gdk/x11/gdkdevicemanager-core.h b/gdk/x11/gdkdevicemanager-core.h index 0a337fcd00..53d894f4da 100644 --- a/gdk/x11/gdkdevicemanager-core.h +++ b/gdk/x11/gdkdevicemanager-core.h @@ -20,7 +20,8 @@ #ifndef __GDK_DEVICE_MANAGER_CORE_H__ #define __GDK_DEVICE_MANAGER_CORE_H__ -#include +#include "gdkinternals.h" +#include "gdkdevicemanager.h" G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevicemanager-xi.h b/gdk/x11/gdkdevicemanager-xi.h index e2028fdb8d..57974eb699 100644 --- a/gdk/x11/gdkdevicemanager-xi.h +++ b/gdk/x11/gdkdevicemanager-xi.h @@ -20,6 +20,7 @@ #ifndef __GDK_DEVICE_MANAGER_XI_H__ #define __GDK_DEVICE_MANAGER_XI_H__ +#include "gdkinternals.h" #include "gdkdevicemanager-core.h" G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevicemanager-xi2.h b/gdk/x11/gdkdevicemanager-xi2.h index e16a6f7bf8..39bc29b722 100644 --- a/gdk/x11/gdkdevicemanager-xi2.h +++ b/gdk/x11/gdkdevicemanager-xi2.h @@ -20,7 +20,9 @@ #ifndef __GDK_DEVICE_MANAGER_XI2_H__ #define __GDK_DEVICE_MANAGER_XI2_H__ -#include +#include "gdkinternals.h" +#include "gdkdevicemanager.h" + #include G_BEGIN_DECLS From 3412d7a23a375e707413d74a95512759c2291a85 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 14:46:40 -0500 Subject: [PATCH 0635/1463] Don't access GdkScreen fields --- gtk/gtkicontheme.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index b813a8d622..7099165267 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -310,7 +310,6 @@ gtk_icon_theme_get_for_screen (GdkScreen *screen) GtkIconTheme *icon_theme; g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - g_return_val_if_fail (!screen->closed, NULL); icon_theme = g_object_get_data (G_OBJECT (screen), "gtk-icon-theme"); if (!icon_theme) From c7559f57ed42dec8798f65388704fe186eb44ff3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 09:46:35 -0500 Subject: [PATCH 0636/1463] Hide GdkScreen too --- gdk/gdkinternals.h | 11 +++++++++++ gdk/gdkscreen.h | 21 +-------------------- gdk/gdktypes.h | 8 ++++---- 3 files changed, 16 insertions(+), 24 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 19d9d2dfbb..4df0aeacf0 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -316,6 +316,7 @@ struct _GdkDisplayClass gboolean is_error); }; + struct _GdkKeymapClass { GObjectClass parent_class; @@ -355,6 +356,16 @@ struct _GdkKeymapClass void (*state_changed) (GdkKeymap *keymap); }; +struct _GdkScreen +{ + GObject parent_instance; + + guint closed : 1; + + cairo_font_options_t *font_options; + double resolution; /* pixels/points scale factor for fonts */ +}; + struct _GdkScreenClass { GObjectClass parent_class; diff --git a/gdk/gdkscreen.h b/gdk/gdkscreen.h index 030caad009..4b11320a4a 100644 --- a/gdk/gdkscreen.h +++ b/gdk/gdkscreen.h @@ -43,25 +43,6 @@ typedef struct _GdkScreenClass GdkScreenClass; #define GDK_IS_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN)) #define GDK_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN, GdkScreenClass)) -/** - * GdkScreen: - * - * This is a currently just a placeholder typedef for the first argument of - * the #GdkPointerHooks.window_at_pointer function in #GdkPointerHooks. - * It will be used when GDK gets multihead support. - * - * Since: 2.2 - */ -struct _GdkScreen -{ - GObject parent_instance; - - guint GSEAL (closed) : 1; - - cairo_font_options_t *GSEAL (font_options); - double GSEAL (resolution); /* pixels/points scale factor for fonts */ -}; - GType gdk_screen_get_type (void) G_GNUC_CONST; GdkVisual* gdk_screen_get_system_visual (GdkScreen *screen); GdkVisual * gdk_screen_get_rgba_visual (GdkScreen *screen); @@ -118,4 +99,4 @@ GList *gdk_screen_get_window_stack (GdkScreen *screen); G_END_DECLS -#endif /* __GDK_SCREEN_H__ */ +#endif /* __GDK_SCREEN_H__ */ diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index ce1e1f9e1b..410cade6d9 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -134,9 +134,9 @@ typedef guint32 GdkNativeWindow; /* Forward declarations of commonly used types */ -typedef struct _GdkColor GdkColor; +typedef struct _GdkColor GdkColor; typedef struct _GdkRGBA GdkRGBA; -typedef struct _GdkCursor GdkCursor; +typedef struct _GdkCursor GdkCursor; typedef struct _GdkVisual GdkVisual; /** @@ -145,8 +145,8 @@ typedef struct _GdkVisual GdkVisual; * An opaque structure representing an onscreen drawable. */ typedef struct _GdkWindow GdkWindow; -typedef struct _GdkDisplay GdkDisplay; -typedef struct _GdkScreen GdkScreen; +typedef struct _GdkDisplay GdkDisplay; +typedef struct _GdkScreen GdkScreen; typedef struct GdkAppLaunchContext GdkAppLaunchContext; /** From a169f6e32df4012a61ec151c28b64cf26af7feb6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 12:13:25 -0500 Subject: [PATCH 0637/1463] Make GdkDevice parallel-implementable Use the grab and ungrab vfuncs from the frontend instead of the _gdk_windowing wrappers, and move some things around accordingly. Again, only the X11 backend has been updated, other backends need to be updated to match. --- gdk/gdkdevice.c | 49 +++++++++++++++++++++++---------- gdk/gdkinternals.h | 10 ------- gdk/gdkwindow.c | 30 ++++++++++----------- gdk/x11/gdkdevice-core.c | 14 +++++++++- gdk/x11/gdkdevice-core.h | 2 +- gdk/x11/gdkdevice-xi.c | 25 +++++++++++++---- gdk/x11/gdkdevice-xi.h | 3 ++- gdk/x11/gdkdevice-xi2.c | 18 ++++++++++--- gdk/x11/gdkdevice-xi2.h | 3 ++- gdk/x11/gdkdisplay-x11.c | 58 ++++++++++++++-------------------------- gdk/x11/gdkmain-x11.c | 47 -------------------------------- gdk/x11/gdkprivate-x11.h | 9 +++++++ 12 files changed, 130 insertions(+), 138 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index f7269f3dba..e81540a7a9 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -21,9 +21,9 @@ #include "gdkdevice.h" +#include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkintl.h" -#include "gdkinternals.h" typedef struct _GdkDeviceKey GdkDeviceKey; @@ -1185,8 +1185,8 @@ gdk_device_grab (GdkDevice *device, GdkGrabStatus res; GdkWindow *native; - g_return_val_if_fail (GDK_IS_DEVICE (device), 0); - g_return_val_if_fail (GDK_IS_WINDOW (window), 0); + g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_GRAB_SUCCESS); + g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_GRAB_SUCCESS); if (_gdk_native_windows) native = window; @@ -1198,21 +1198,23 @@ gdk_device_grab (GdkDevice *device, native = gdk_offscreen_window_get_embedder (native); if (native == NULL || - (!_gdk_window_has_impl (native) && - !gdk_window_is_viewable (native))) - return GDK_GRAB_NOT_VIEWABLE; + (!_gdk_window_has_impl (native) && + !gdk_window_is_viewable (native))) + return GDK_GRAB_NOT_VIEWABLE; native = gdk_window_get_toplevel (native); } - res = _gdk_windowing_device_grab (device, - window, - native, - owner_events, - get_native_grab_event_mask (event_mask), - NULL, - cursor, - time_); + if (native == NULL || GDK_WINDOW_DESTROYED (native)) + return GDK_GRAB_NOT_VIEWABLE; + + res = GDK_DEVICE_GET_CLASS (device)->grab (device, + native, + owner_events, + get_native_grab_event_mask (event_mask), + NULL, + cursor, + time_); if (res == GDK_GRAB_SUCCESS) { @@ -1237,6 +1239,24 @@ gdk_device_grab (GdkDevice *device, return res; } +/** + * gdk_device_ungrab: + * @device: a #GdkDevice + * @time_: a timestap (e.g. %GDK_CURRENT_TIME). + * + * Release any grab on @device. + * + * Since: 3.0 + */ +void +gdk_device_ungrab (GdkDevice *device, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DEVICE (device)); + + GDK_DEVICE_GET_CLASS (device)->ungrab (device, time_); +} + /* Private API */ void _gdk_device_reset_axes (GdkDevice *device) @@ -1536,3 +1556,4 @@ _gdk_device_translate_axis (GdkDevice *device, return TRUE; } + diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 4df0aeacf0..5d1944c447 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -30,8 +30,6 @@ #define __GDK_INTERNALS_H__ #include -#include -#include #include #include @@ -634,14 +632,6 @@ GdkWindow* _gdk_windowing_window_at_device_position (GdkDisplay *display, gint *win_y, GdkModifierType *mask, gboolean get_toplevel); -GdkGrabStatus _gdk_windowing_device_grab (GdkDevice *device, - GdkWindow *window, - GdkWindow *native, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time); void _gdk_windowing_got_event (GdkDisplay *display, GList *event_link, GdkEvent *event, diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index feedce13cc..3938d30cbc 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -8726,14 +8726,13 @@ gdk_pointer_grab (GdkWindow * window, if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE) continue; - res = _gdk_windowing_device_grab (device, - window, - native, - owner_events, - get_native_grab_event_mask (event_mask), - confine_to, - cursor, - time); + res = GDK_DEVICE_GET_CLASS (device)->grab (device, + native, + owner_events, + get_native_grab_event_mask (event_mask), + confine_to, + cursor, + time); if (res == GDK_GRAB_SUCCESS) _gdk_display_add_device_grab (display, @@ -8831,14 +8830,13 @@ gdk_keyboard_grab (GdkWindow *window, if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD) continue; - res = _gdk_windowing_device_grab (device, - window, - native, - owner_events, - GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, - NULL, - NULL, - time); + res = GDK_DEVICE_GET_CLASS (device)->grab (device, + native, + owner_events, + GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, + NULL, + NULL, + time); if (res == GDK_GRAB_SUCCESS) _gdk_display_add_device_grab (display, diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index 008e339b01..8e7b3c93ab 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -24,6 +24,7 @@ #include "gdkinternals.h" #include "gdkwindow.h" #include "gdkprivate-x11.h" +#include "gdkasync.h" #include "gdkx.h" static gboolean gdk_device_core_get_history (GdkDevice *device, @@ -296,7 +297,7 @@ gdk_device_core_grab (GdkDevice *device, { GdkDisplay *display; Window xwindow, xconfine_to; - int status; + gint status; display = gdk_device_get_display (device); @@ -310,6 +311,11 @@ gdk_device_core_grab (GdkDevice *device, else xconfine_to = GDK_WINDOW_XID (confine_to); +#ifdef G_ENABLE_DEBUG + if (_gdk_debug_flags & GDK_DEBUG_NOGRABS) + status = GrabSuccess; + else +#endif if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) { /* Device is a keyboard */ @@ -357,6 +363,8 @@ gdk_device_core_grab (GdkDevice *device, time_); } + _gdk_x11_display_update_grab_info (display, device, status); + return _gdk_x11_convert_grab_status (status); } @@ -365,13 +373,17 @@ gdk_device_core_ungrab (GdkDevice *device, guint32 time_) { GdkDisplay *display; + gulong serial; display = gdk_device_get_display (device); + serial = NextRequest (GDK_DISPLAY_XDISPLAY (display)); if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) XUngrabKeyboard (GDK_DISPLAY_XDISPLAY (display), time_); else XUngrabPointer (GDK_DISPLAY_XDISPLAY (display), time_); + + _gdk_x11_display_update_grab_info_ungrab (display, device, time_, serial); } static GdkWindow * diff --git a/gdk/x11/gdkdevice-core.h b/gdk/x11/gdkdevice-core.h index 04424b5883..af425da417 100644 --- a/gdk/x11/gdkdevice-core.h +++ b/gdk/x11/gdkdevice-core.h @@ -20,7 +20,7 @@ #ifndef __GDK_DEVICE_CORE_H__ #define __GDK_DEVICE_CORE_H__ -#include +#include "gdkdeviceprivate.h" G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevice-xi.c b/gdk/x11/gdkdevice-xi.c index 8ffd8dfa06..71b0ab5c9c 100644 --- a/gdk/x11/gdkdevice-xi.c +++ b/gdk/x11/gdkdevice-xi.c @@ -25,6 +25,7 @@ #include "gdkdeviceprivate.h" #include "gdkprivate-x11.h" #include "gdkintl.h" +#include "gdkasync.h" #include "gdkx.h" #define MAX_DEVICE_CLASSES 13 @@ -437,11 +438,18 @@ gdk_device_xi_grab (GdkDevice *device, XEventClass event_classes[MAX_DEVICE_CLASSES]; gint status, num_classes; GdkDeviceXI *device_xi; + GdkDisplay *display; device_xi = GDK_DEVICE_XI (device); + display = gdk_device_get_display (device); find_events (device, event_mask, event_classes, &num_classes); - status = XGrabDevice (GDK_WINDOW_XDISPLAY (window), +#ifdef G_ENABLE_DEBUG + if (_gdk_debug_flags & GDK_DEBUG_NOGRABS) + status = GrabSuccess; + else +#endif + status = XGrabDevice (GDK_DISPLAY_XDISPLAY (display), device_xi->xdevice, GDK_WINDOW_XID (window), owner_events, @@ -449,6 +457,8 @@ gdk_device_xi_grab (GdkDevice *device, GrabModeAsync, GrabModeAsync, time_); + _gdk_x11_display_update_grab_info (display, device, status); + return _gdk_x11_convert_grab_status (status); } @@ -456,15 +466,20 @@ static void gdk_device_xi_ungrab (GdkDevice *device, guint32 time_) { - GdkDisplay *display; GdkDeviceXI *device_xi; + GdkDisplay *display; + Display *xdisplay; + unsigned long serial; device_xi = GDK_DEVICE_XI (device); display = gdk_device_get_display (device); + xdisplay = GDK_DISPLAY_XDISPLAY (display); - XUngrabDevice (GDK_DISPLAY_XDISPLAY (device), - device_xi->xdevice, - time_); + serial = NextRequest (xdisplay); + + XUngrabDevice (xdisplay, device_xi->xdevice, time_); + + _gdk_x11_display_update_grab_info_ungrab (display, device, time_, serial); } static GdkWindow* diff --git a/gdk/x11/gdkdevice-xi.h b/gdk/x11/gdkdevice-xi.h index 55f33d30a2..36fab89950 100644 --- a/gdk/x11/gdkdevice-xi.h +++ b/gdk/x11/gdkdevice-xi.h @@ -20,7 +20,8 @@ #ifndef __GDK_DEVICE_XI_H__ #define __GDK_DEVICE_XI_H__ -#include +#include "gdkdeviceprivate.h" + #include G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 7c91cd3f82..09b2965d7a 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -22,6 +22,7 @@ #include "gdkdevice-xi2.h" #include "gdkintl.h" +#include "gdkasync.h" #include "gdkx.h" #include @@ -364,7 +365,7 @@ gdk_device_xi2_grab (GdkDevice *device, XIEventMask mask; Window xwindow; Cursor xcursor; - int status; + gint status; priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_device_get_display (device); @@ -384,6 +385,11 @@ gdk_device_xi2_grab (GdkDevice *device, mask.deviceid = priv->device_id; mask.mask = gdk_device_xi2_translate_event_mask (event_mask, &mask.mask_len); +#ifdef G_ENABLE_DEBUG + if (_gdk_debug_flags & GDK_DEBUG_NOGRABS) + status = GrabSuccess; + else +#endif status = XIGrabDevice (GDK_DISPLAY_XDISPLAY (display), priv->device_id, xwindow, @@ -395,6 +401,8 @@ gdk_device_xi2_grab (GdkDevice *device, g_free (mask.mask); + _gdk_x11_display_update_grab_info (display, device, status); + return _gdk_x11_convert_grab_status (status); } @@ -404,13 +412,15 @@ gdk_device_xi2_ungrab (GdkDevice *device, { GdkDeviceXI2Private *priv; GdkDisplay *display; + gulong serial; priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_device_get_display (device); + serial = NextRequest (GDK_DISPLAY_XDISPLAY (display)); - XIUngrabDevice (GDK_DISPLAY_XDISPLAY (display), - priv->device_id, - time_); + XIUngrabDevice (GDK_DISPLAY_XDISPLAY (display), priv->device_id, time_); + + _gdk_x11_display_update_grab_info_ungrab (display, device, time_, serial); } static GdkWindow * diff --git a/gdk/x11/gdkdevice-xi2.h b/gdk/x11/gdkdevice-xi2.h index 2fa3064744..f30ebb79e6 100644 --- a/gdk/x11/gdkdevice-xi2.h +++ b/gdk/x11/gdkdevice-xi2.h @@ -20,7 +20,8 @@ #ifndef __GDK_DEVICE_XI2_H__ #define __GDK_DEVICE_XI2_H__ -#include +#include "gdkdeviceprivate.h" + #include G_BEGIN_DECLS diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 0be44a1a92..b750a326a7 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1575,60 +1575,42 @@ struct XPointerUngrabInfo { guint32 time; }; -static void -device_ungrab_callback (GdkDisplay *display, - gpointer data, - gulong serial) -{ - GdkDevice *device = data; - - _gdk_display_device_grab_update (display, device, NULL, serial); -} - - #define XSERVER_TIME_IS_LATER(time1, time2) \ ( (( time1 > time2 ) && ( time1 - time2 < ((guint32)-1)/2 )) || \ (( time1 < time2 ) && ( time2 - time1 > ((guint32)-1)/2 )) \ ) -/** - * gdk_device_ungrab: - * @device: a #GdkDevice - * @time_: a timestap (e.g. %GDK_CURRENT_TIME). - * - * Release any grab on @device. - * - * Since: 3.0 - */ void -gdk_device_ungrab (GdkDevice *device, - guint32 time_) +_gdk_x11_display_update_grab_info (GdkDisplay *display, + GdkDevice *device, + gint status) +{ + if (status == GrabSuccess) + _gdk_x11_roundtrip_async (display, + (GdkRoundTripCallback)_gdk_display_device_grab_update, + device); +} + +void +_gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, + GdkDevice *device, + guint32 time, + gulong serial) { - GdkDisplay *display; - Display *xdisplay; GdkDeviceGrabInfo *grab; - unsigned long serial; - g_return_if_fail (GDK_IS_DEVICE (device)); - - display = gdk_device_get_display (device); - xdisplay = GDK_DISPLAY_XDISPLAY (display); - - serial = NextRequest (xdisplay); - - GDK_DEVICE_GET_CLASS (device)->ungrab (device, time_); - XFlush (xdisplay); + XFlush (GDK_DISPLAY_XDISPLAY (display)); grab = _gdk_display_get_last_device_grab (display, device); if (grab && - (time_ == GDK_CURRENT_TIME || + (time == GDK_CURRENT_TIME || grab->time == GDK_CURRENT_TIME || - !XSERVER_TIME_IS_LATER (grab->time, time_))) + !XSERVER_TIME_IS_LATER (grab->time, time))) { grab->serial_end = serial; _gdk_x11_roundtrip_async (display, - device_ungrab_callback, - device); + (GdkRoundTripCallback)_gdk_display_device_grab_update, + device); } } diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 91eb83d0f7..5890335c0f 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -129,53 +129,6 @@ _gdk_x11_convert_grab_status (gint status) return 0; } -static void -has_pointer_grab_callback (GdkDisplay *display, - gpointer data, - gulong serial) -{ - GdkDevice *device = data; - - _gdk_display_device_grab_update (display, device, NULL, serial); -} - -GdkGrabStatus -_gdk_windowing_device_grab (GdkDevice *device, - GdkWindow *window, - GdkWindow *native, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time) -{ - GdkDisplay *display; - GdkGrabStatus status = GDK_GRAB_SUCCESS; - - if (!window || GDK_WINDOW_DESTROYED (window)) - return GDK_GRAB_NOT_VIEWABLE; - - display = gdk_device_get_display (device); - -#ifdef G_ENABLE_DEBUG - if (_gdk_debug_flags & GDK_DEBUG_NOGRABS) - status = GrabSuccess; - else -#endif - status = GDK_DEVICE_GET_CLASS (device)->grab (device, - native, - owner_events, - event_mask, - confine_to, - cursor, - time); - if (status == GDK_GRAB_SUCCESS) - _gdk_x11_roundtrip_async (display, - has_pointer_grab_callback, - device); - return status; -} - /** * _gdk_xgrab_check_unmap: * @window: a #GdkWindow diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index f3867ab679..682cc10dd0 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -139,6 +139,15 @@ void _gdk_xgrab_check_destroy (GdkWindow *window); gboolean _gdk_x11_display_is_root_window (GdkDisplay *display, Window xroot_window); +void _gdk_x11_display_update_grab_info (GdkDisplay *display, + GdkDevice *device, + gint status); +void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, + GdkDevice *device, + guint32 time, + gulong serial); +void _gdk_x11_device_check_extension_events (GdkDevice *device); + void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, gint n_atoms); From 280e8329b4b3f0a4cab8d05a892bdc3f45666717 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 12:42:03 -0500 Subject: [PATCH 0638/1463] Match parameters between headers and doc comment --- gdk/gdkdnd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h index 080af34db9..76e7a293cc 100644 --- a/gdk/gdkdnd.h +++ b/gdk/gdkdnd.h @@ -122,7 +122,7 @@ void gdk_drag_status (GdkDragContext *context, GdkDragAction action, guint32 time_); void gdk_drop_reply (GdkDragContext *context, - gboolean ok, + gboolean accepted, guint32 time_); void gdk_drop_finish (GdkDragContext *context, gboolean success, From 7f6ac56e3c34a986f9c0f993f392381741ffdf23 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 12:54:43 -0500 Subject: [PATCH 0639/1463] Add a vfunc for gdk_window_set_composited --- gdk/gdkwindow.c | 14 +++++++------- gdk/gdkwindowimpl.h | 2 ++ gdk/x11/gdkwindow-x11.c | 7 ++++--- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 3938d30cbc..32f60422cf 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1780,13 +1780,11 @@ gdk_window_ensure_native (GdkWindow *window) reparent_to_impl (window); if (!window->input_only) - { - impl_class->set_background (window, window->background); - } + impl_class->set_background (window, window->background); impl_class->input_shape_combine_region (window, - window->input_shape, - 0, 0); + window->input_shape, + 0, 0); if (gdk_window_is_viewable (window)) impl_class->show (window, FALSE); @@ -7458,6 +7456,7 @@ gdk_window_set_composited (GdkWindow *window, gboolean composited) { GdkDisplay *display; + GdkWindowImplClass *impl_class; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -7474,11 +7473,12 @@ gdk_window_set_composited (GdkWindow *window, if (!gdk_display_supports_composite (display) && composited) { g_warning ("gdk_window_set_composited called but " - "compositing is not supported"); + "compositing is not supported"); return; } - _gdk_windowing_window_set_composited (window, composited); + impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); + impl_class->set_composited (window, composited); recompute_visible_regions (window, TRUE, FALSE); diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 817e2060f7..f3dbda19f2 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -236,6 +236,8 @@ struct _GdkWindowImplClass void (* configure_finished) (GdkWindow *window); void (* set_opacity) (GdkWindow *window, gdouble opacity); + void (* set_composited) (GdkWindow *window, + gboolean composited); void (* destroy_notify) (GdkWindow *window); void (* register_dnd) (GdkWindow *window); GdkDragContext * (*drag_begin) (GdkWindow *window, diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 426c12f70a..5c3b6849dd 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4831,9 +4831,9 @@ gdk_x11_window_set_opacity (GdkWindow *window, (guchar *) &cardinal, 1); } -void -_gdk_windowing_window_set_composited (GdkWindow *window, - gboolean composited) +static void +gdk_x11_window_set_composited (GdkWindow *window, + gboolean composited) { #if defined(HAVE_XCOMPOSITE) && defined(HAVE_XDAMAGE) && defined (HAVE_XFIXES) GdkWindowImplX11 *impl; @@ -5045,6 +5045,7 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->enable_synchronized_configure = gdk_x11_window_enable_synchronized_configure; impl_class->configure_finished = gdk_x11_window_configure_finished; impl_class->set_opacity = gdk_x11_window_set_opacity; + impl_class->set_composited = gdk_x11_window_set_composited; impl_class->destroy_notify = gdk_x11_window_destroy_notify; impl_class->register_dnd = _gdk_x11_window_register_dnd; impl_class->drag_begin = _gdk_x11_window_drag_begin; From 1e694b4dd85a8939e5afe90744460b7d2bf0b58b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 12:56:56 -0500 Subject: [PATCH 0640/1463] Add a vfunc for gdk_window_set_composited --- gdk/gdkwindow.c | 5 +++-- gdk/quartz/gdkwindow-quartz.c | 5 ----- gdk/win32/gdkwindow-win32.c | 5 ----- 3 files changed, 3 insertions(+), 12 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 32f60422cf..5d785e5db2 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -7470,14 +7470,15 @@ gdk_window_set_composited (GdkWindow *window, display = gdk_window_get_display (window); - if (!gdk_display_supports_composite (display) && composited) + impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); + + if (composited && (!gdk_display_supports_composite (display) || !impl_class->set_composited)) { g_warning ("gdk_window_set_composited called but " "compositing is not supported"); return; } - impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); impl_class->set_composited (window, composited); recompute_visible_regions (window, TRUE, FALSE); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index f0094bab98..24b59d23b1 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2912,11 +2912,6 @@ gdk_window_set_opacity (GdkWindow *window, [impl->toplevel setAlphaValue: opacity]; } -void -_gdk_windowing_window_set_composited (GdkWindow *window, gboolean composited) -{ -} - static cairo_region_t * gdk_quartz_window_get_shape (GdkWindow *window) { diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index f2f27b5761..0500cf1582 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -3150,11 +3150,6 @@ gdk_window_set_opacity (GdkWindow *window, } } -void -_gdk_windowing_window_set_composited (GdkWindow *window, gboolean composited) -{ -} - static cairo_region_t * gdk_win32_window_get_shape (GdkWindow *window) { From 9a1cc81acbeff9984b69bc0d7cbd65d10705e654 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 14:06:13 -0500 Subject: [PATCH 0641/1463] Add a vfunc to replace _gdk_windowing_window_destroy_foreign All backends updated. --- gdk/gdkwindow.c | 7 ++++++- gdk/gdkwindowimpl.h | 18 ++++++++++-------- gdk/quartz/gdkwindow-quartz.c | 13 +++++++------ gdk/win32/gdkwindow-win32.c | 17 +++++++++-------- gdk/x11/gdkwindow-x11.c | 13 +++++++------ 5 files changed, 39 insertions(+), 29 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 5d785e5db2..2e2a18c132 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1934,7 +1934,12 @@ _gdk_window_destroy_hierarchy (GdkWindow *window, * foreign windows in our hierarchy. */ if (window->parent) - _gdk_windowing_window_destroy_foreign (window); + { + impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); + + if (gdk_window_has_impl (window)) + impl_class->destroy_foreign (window); + } /* Also for historical reasons, we remove any filters * on a foreign window when it or a parent is destroyed; diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index f3dbda19f2..35aad9231d 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -140,19 +140,21 @@ struct _GdkWindowImplClass * * window: The window being destroyed * recursing: If TRUE, then this is being called because a parent - * was destroyed. This generally means that the call to the windowing system - * to destroy the window can be omitted, since it will be destroyed as a result - * of the parent being destroyed. Unless @foreign_destroy - * - * foreign_destroy: If TRUE, the window or a parent was destroyed by some external - * agency. The window has already been destroyed and no windowing - * system calls should be made. (This may never happen for some - * windowing systems.) + * was destroyed. This generally means that the call to the windowing + * system to destroy the window can be omitted, since it will be + * destroyed as a result of the parent being destroyed. + * Unless @foreign_destroy + * foreign_destroy: If TRUE, the window or a parent was destroyed by some + * external agency. The window has already been destroyed and no + * windowing system calls should be made. (This may never happen + * for some windowing systems.) */ void (* destroy) (GdkWindow *window, gboolean recursing, gboolean foreign_destroy); + void (*destroy_foreign) (GdkWindow *window); + cairo_surface_t * (* resize_cairo_surface) (GdkWindow *window, cairo_surface_t *surface, gint width, diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 24b59d23b1..284ed8a76d 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1060,9 +1060,9 @@ _gdk_windowing_window_init (void) } static void -_gdk_quartz_window_destroy (GdkWindow *window, - gboolean recursing, - gboolean foreign_destroy) +gdk_quartz_window_destroy (GdkWindow *window, + gboolean recursing, + gboolean foreign_destroy) { GdkWindowImplQuartz *impl; GdkWindow *parent; @@ -1115,8 +1115,8 @@ gdk_window_quartz_resize_cairo_surface (GdkWindow *window, return NULL; } -void -_gdk_windowing_window_destroy_foreign (GdkWindow *window) +static void +gdk_quartz_window_destroy_foreign (GdkWindow *window) { /* Foreign windows aren't supported in OSX. */ } @@ -2959,7 +2959,8 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass) impl_class->set_static_gravities = gdk_window_quartz_set_static_gravities; impl_class->queue_antiexpose = _gdk_quartz_window_queue_antiexpose; impl_class->translate = _gdk_quartz_window_translate; - impl_class->destroy = _gdk_quartz_window_destroy; + impl_class->destroy = gdk_quartz_window_destroy; + impl_class->destroy_foreign = gdk_quartz_window_destroy_foreign; impl_class->resize_cairo_surface = gdk_window_quartz_resize_cairo_surface; impl_class->get_shape = gdk_quartz_window_get_shape; impl_class->get_input_shape = gdk_quartz_window_get_input_shape; diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 0500cf1582..bd00e2c4d9 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -685,10 +685,10 @@ gdk_window_foreign_new_for_display (GdkDisplay *display, return window; } -void -_gdk_win32_window_destroy (GdkWindow *window, - gboolean recursing, - gboolean foreign_destroy) +static void +gdk_win32_window_destroy (GdkWindow *window, + gboolean recursing, + gboolean foreign_destroy) { GdkWindowObject *private = (GdkWindowObject *)window; GdkWindowImplWin32 *window_impl = GDK_WINDOW_IMPL_WIN32 (private->impl); @@ -696,7 +696,7 @@ _gdk_win32_window_destroy (GdkWindow *window, g_return_if_fail (GDK_IS_WINDOW (window)); - GDK_NOTE (MISC, g_print ("_gdk_win32_window_destroy: %p\n", + GDK_NOTE (MISC, g_print ("gdk_win32_window_destroy: %p\n", GDK_WINDOW_HWND (window))); /* Remove ourself from the modal stack */ @@ -744,8 +744,8 @@ gdk_win32_window_resize_cairo_surface (GdkWindow *window, return NULL; } -void -_gdk_windowing_window_destroy_foreign (GdkWindow *window) +static void +gdk_win32_window_destroy_foreign (GdkWindow *window) { /* It's somebody else's window, but in our hierarchy, so reparent it * to the desktop, and then try to destroy it. @@ -3284,7 +3284,8 @@ gdk_window_impl_iface_init (GdkWindowImplIface *iface) iface->set_static_gravities = gdk_win32_window_set_static_gravities; iface->queue_antiexpose = _gdk_win32_window_queue_antiexpose; iface->translate = _gdk_win32_window_translate; - iface->destroy = _gdk_win32_window_destroy; + iface->destroy = gdk_win32_window_destroy; + iface->destroy_foreign = gdk_win32_window_destroy_foreign; iface->resize_cairo_surface = gdk_win32_window_resize_cairo_surface; iface->get_shape = gdk_win32_window_get_shape; iface->get_input_shape = gdk_win32_window_get_input_shape; diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 5c3b6849dd..54c1791adb 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -1001,9 +1001,9 @@ gdk_toplevel_x11_free_contents (GdkDisplay *display, } static void -_gdk_x11_window_destroy (GdkWindow *window, - gboolean recursing, - gboolean foreign_destroy) +gdk_x11_window_destroy (GdkWindow *window, + gboolean recursing, + gboolean foreign_destroy) { GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (window->impl); GdkToplevelX11 *toplevel; @@ -1040,8 +1040,8 @@ gdk_window_x11_resize_cairo_surface (GdkWindow *window, return surface; } -void -_gdk_windowing_window_destroy_foreign (GdkWindow *window) +static void +gdk_x11_window_destroy_foreign (GdkWindow *window) { /* It's somebody else's window, but in our hierarchy, * so reparent it to the root window, and then send @@ -4999,7 +4999,8 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->set_static_gravities = gdk_window_x11_set_static_gravities; impl_class->queue_antiexpose = _gdk_x11_window_queue_antiexpose; impl_class->translate = _gdk_x11_window_translate; - impl_class->destroy = _gdk_x11_window_destroy; + impl_class->destroy = gdk_x11_window_destroy; + impl_class->destroy_foreign = gdk_x11_window_destroy_foreign; impl_class->resize_cairo_surface = gdk_window_x11_resize_cairo_surface; impl_class->get_shape = gdk_x11_window_get_shape; impl_class->get_input_shape = gdk_x11_window_get_input_shape; From fa4b54b6de4156403f413b95bdb48ab4bd9e20a4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 14:44:50 -0500 Subject: [PATCH 0642/1463] Add per-target pc files back Dropping those will be an unnecessary pain. --- Makefile.am | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Makefile.am b/Makefile.am index 68002d7745..c95b0e685a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -54,9 +54,21 @@ MAINTAINERCLEANFILES = \ $(srcdir)/ChangeLog \ `find "$(srcdir)" -type f -name Makefile.in -print` + +## Copy .pc files to target-specific names +gtk+-x11-3.0.pc gtk+-win32-3.0.pc gtk+-quartz-3.0.pc: gtk+-3.0.pc + rm -f $@ && \ + cp gtk+-3.0.pc $@ + +gtk+-*-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc + rm -f $@ && \ + cp gtk+-3.0-uninstalled.pc $@ + pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gtk+-3.0.pc gail-3.0.pc +pkgconfig_DATA += $(patsubst %,gtk+-%-3.0.pc,@gdktarget@) + if OS_UNIX pkgconfig_DATA += gtk+-unix-print-3.0.pc endif From ec9c97752d2f2043ad818833914760a7e443a53d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 19:42:09 -0500 Subject: [PATCH 0643/1463] Work toward turning GdkDisplayManager into a backend singleton This commit hides the GdkDisplayManager instance and class structs, adds vfuncs for listing displays, opening displays, and getting and setting the default display. The X11 backend has a derived GdkDisplayManagerX11. The gdk_display_manager_get() function is responsible for deciding on which of the compiled in backends to use. Currently, it consults the GDK_BACKEND environment variable and falls back to x11. --- gdk/gdk.c | 27 +++--- gdk/gdkdisplay.c | 60 ++++++++++--- gdk/gdkdisplay.h | 3 +- gdk/gdkdisplaymanager.c | 147 +++++++++++++++++++------------- gdk/gdkdisplaymanager.h | 26 ++---- gdk/gdkevents.c | 69 ++++++++++++--- gdk/gdkglobals.c | 1 - gdk/gdkinternals.h | 23 ++++- gdk/gdkmain.h | 7 -- gdk/gdktypes.h | 8 +- gdk/win32/gdkmain-win32.c | 9 -- gdk/x11/Makefile.am | 1 + gdk/x11/gdkdisplay-x11.c | 109 +++++++++-------------- gdk/x11/gdkdisplaymanager-x11.c | 134 +++++++++++++++++++++++++++++ gdk/x11/gdkeventsource.c | 33 ------- gdk/x11/gdkmain-x11.c | 17 +--- gdk/x11/gdkprivate-x11.h | 8 ++ 17 files changed, 422 insertions(+), 260 deletions(-) create mode 100644 gdk/x11/gdkdisplaymanager-x11.c diff --git a/gdk/gdk.c b/gdk/gdk.c index 1b75f7f2a5..ba8f7f70ea 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -228,9 +228,8 @@ gdk_pre_parse_libgtk_only (void) g_type_init (); - /* Do any setup particular to the windowing system - */ - _gdk_windowing_init (); + /* Do any setup particular to the windowing system */ + gdk_display_manager_get (); } @@ -262,13 +261,13 @@ gdk_parse_args (int *argc, return; gdk_pre_parse_libgtk_only (); - + option_context = g_option_context_new (NULL); g_option_context_set_ignore_unknown_options (option_context, TRUE); g_option_context_set_help_enabled (option_context, FALSE); option_group = g_option_group_new (NULL, NULL, NULL, NULL, NULL); g_option_context_set_main_group (option_context, option_group); - + g_option_group_add_entries (option_group, gdk_args); g_option_group_add_entries (option_group, _gdk_windowing_args); @@ -282,7 +281,7 @@ gdk_parse_args (int *argc, GDK_NOTE (MISC, g_message ("progname: \"%s\"", g_get_prgname ())); } -/** +/** * gdk_get_display_arg_name: * * Gets the display name specified in the command line arguments passed @@ -309,13 +308,13 @@ gdk_get_display_arg_name (void) /** * gdk_display_open_default_libgtk_only: - * + * * Opens the default display specified by command line arguments or * environment variables, sets it as the default display, and returns * it. gdk_parse_args must have been called first. If the default * display has previously been set, simply returns that. An internal * function that should not be used by applications. - * + * * Return value: (transfer none): the default display, if it could be * opened, otherwise %NULL. **/ @@ -325,7 +324,7 @@ gdk_display_open_default_libgtk_only (void) GdkDisplay *display; g_return_val_if_fail (gdk_initialized, NULL); - + display = gdk_display_get_default (); if (display) return display; @@ -336,14 +335,10 @@ gdk_display_open_default_libgtk_only (void) { g_free (_gdk_display_arg_name); _gdk_display_arg_name = g_strdup (_gdk_display_name); - + display = gdk_display_open (_gdk_display_name); } - - if (display) - gdk_display_manager_set_default_display (gdk_display_manager_get (), - display); - + return display; } @@ -365,7 +360,7 @@ gdk_display_open_default_libgtk_only (void) */ gboolean gdk_init_check (int *argc, - char ***argv) + char ***argv) { gdk_parse_args (argc, argv); diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index fbaf43897a..157e5ef0b1 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -272,8 +272,6 @@ gdk_display_opened (GdkDisplay *display) static void gdk_display_init (GdkDisplay *display) { - _gdk_displays = g_slist_prepend (_gdk_displays, display); - display->double_click_time = 250; display->double_click_distance = 5; @@ -306,18 +304,6 @@ gdk_display_dispose (GObject *object) display->queued_events = NULL; display->queued_tail = NULL; - _gdk_displays = g_slist_remove (_gdk_displays, object); - - if (gdk_display_get_default () == display) - { - if (_gdk_displays) - gdk_display_manager_set_default_display (gdk_display_manager_get(), - _gdk_displays->data); - else - gdk_display_manager_set_default_display (gdk_display_manager_get(), - NULL); - } - if (device_manager) { /* this is to make it drop devices which may require using the X @@ -609,6 +595,29 @@ gdk_beep (void) gdk_display_beep (gdk_display_get_default ()); } +/** + * gdk_flush: + * + * Flushes the output buffers of all display connections and waits + * until all requests have been processed. + * This is rarely needed by applications. + */ +void +gdk_flush (void) +{ + GSList *list, *l; + + list = gdk_display_manager_list_displays (gdk_display_manager_get ()); + for (l = list; l; l = l->next) + { + GdkDisplay *display = l->data; + + GDK_DISPLAY_GET_CLASS (display)->sync (display); + } + + g_slist_free (list); +} + /** * gdk_event_send_client_message: * @event: the #GdkEvent to send, which should be a #GdkEventClient. @@ -2264,3 +2273,26 @@ gdk_drag_get_protocol_for_display (GdkDisplay *display, { return GDK_DISPLAY_GET_CLASS (display)->get_drag_protocol (display, xid, protocol, NULL); } + +/** + * gdk_display_open: + * @display_name: the name of the display to open + * + * Opens a display. + * + * Return value: (transfer none): a #GdkDisplay, or %NULL if the display + * could not be opened. + * + * Since: 2.2 + */ +GdkDisplay * +gdk_display_open (const gchar *display_name) +{ + return gdk_display_manager_open_display (gdk_display_manager_get (), display_name); +} + +gboolean +gdk_display_has_pending (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS (display)->has_pending (display); +} diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 0da46083f7..97ab5b32a6 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -227,7 +227,8 @@ GList * gdk_display_list_devices (GdkDisplay *display); GdkEvent* gdk_display_get_event (GdkDisplay *display); GdkEvent* gdk_display_peek_event (GdkDisplay *display); void gdk_display_put_event (GdkDisplay *display, - const GdkEvent *event); + const GdkEvent *event); +gboolean gdk_display_has_pending (GdkDisplay *display); void gdk_display_add_client_message_filter (GdkDisplay *display, GdkAtom message_type, diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index ec975f26fa..c5653967cd 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -21,11 +21,12 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" +#include "gdkconfig.h" #include "gdkdisplaymanager.h" #include "gdkscreen.h" @@ -58,18 +59,16 @@ enum { static void gdk_display_manager_class_init (GdkDisplayManagerClass *klass); static void gdk_display_manager_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gdk_display_manager_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static guint signals[LAST_SIGNAL] = { 0 }; -static GdkDisplay *default_display = NULL; - G_DEFINE_TYPE (GdkDisplayManager, gdk_display_manager, G_TYPE_OBJECT) static void @@ -82,32 +81,32 @@ gdk_display_manager_class_init (GdkDisplayManagerClass *klass) /** * GdkDisplayManager::display-opened: - * @display_manager: the object on which the signal is emitted + * @manager: the object on which the signal is emitted * @display: the opened display * - * The ::display_opened signal is emitted when a display is opened. + * The ::display-opened signal is emitted when a display is opened. * * Since: 2.2 */ signals[DISPLAY_OPENED] = g_signal_new (g_intern_static_string ("display-opened"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GdkDisplayManagerClass, display_opened), - NULL, NULL, - _gdk_marshal_VOID__OBJECT, - G_TYPE_NONE, - 1, - GDK_TYPE_DISPLAY); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GdkDisplayManagerClass, display_opened), + NULL, NULL, + _gdk_marshal_VOID__OBJECT, + G_TYPE_NONE, + 1, + GDK_TYPE_DISPLAY); g_object_class_install_property (object_class, - PROP_DEFAULT_DISPLAY, - g_param_spec_object ("default-display", - P_("Default Display"), - P_("The default display for GDK"), - GDK_TYPE_DISPLAY, - G_PARAM_READWRITE|G_PARAM_STATIC_NAME| - G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB)); + PROP_DEFAULT_DISPLAY, + g_param_spec_object ("default-display", + P_("Default Display"), + P_("The default display for GDK"), + GDK_TYPE_DISPLAY, + G_PARAM_READWRITE|G_PARAM_STATIC_NAME| + G_PARAM_STATIC_NICK|G_PARAM_STATIC_BLURB)); } static void @@ -117,15 +116,15 @@ gdk_display_manager_init (GdkDisplayManager *manager) static void gdk_display_manager_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { switch (prop_id) { case PROP_DEFAULT_DISPLAY: gdk_display_manager_set_default_display (GDK_DISPLAY_MANAGER (object), - g_value_get_object (value)); + g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -135,14 +134,15 @@ gdk_display_manager_set_property (GObject *object, static void gdk_display_manager_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { switch (prop_id) { case PROP_DEFAULT_DISPLAY: - g_value_set_object (value, default_display); + g_value_set_object (value, + gdk_display_manager_get_default_display (GDK_DISPLAY_MANAGER (object))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -150,42 +150,60 @@ gdk_display_manager_get_property (GObject *object, } } +#ifdef GDK_WINDOWING_X11 +extern GType gdk_display_manager_x11_get_type (void); +#endif + /** * gdk_display_manager_get: * * Gets the singleton #GdkDisplayManager object. * - * Returns: (transfer none): The global #GdkDisplayManager singleton; gdk_parse_pargs(), - * gdk_init(), or gdk_init_check() must have been called first. + * Returns: (transfer none): The global #GdkDisplayManager singleton; + * gdk_parse_pargs(), gdk_init(), or gdk_init_check() must have + * been called first. * * Since: 2.2 **/ GdkDisplayManager* gdk_display_manager_get (void) { - static GdkDisplayManager *display_manager = NULL; + static GdkDisplayManager *manager = NULL; - if (!display_manager) - display_manager = g_object_new (GDK_TYPE_DISPLAY_MANAGER, NULL); + if (!manager) + { + const gchar *backend; - return display_manager; + backend = g_getenv ("GDK_BACKEND"); +#ifdef GDK_WINDOWING_X11 + if (backend == NULL || strcmp (backend, "x11") == 0) + manager = g_object_new (gdk_display_manager_x11_get_type (), NULL); + else +#endif + if (backend != NULL) + g_error ("Unsupported GDK backend: %s", backend); + else + g_error ("No GDK backend found"); + } + + return manager; } /** * gdk_display_manager_get_default_display: - * @display_manager: a #GdkDisplayManager + * @manager: a #GdkDisplayManager * * Gets the default #GdkDisplay. * - * Returns: (transfer none): a #GdkDisplay, or %NULL if there is no default - * display. + * Returns: (transfer none): a #GdkDisplay, or %NULL + * if there is no default display. * * Since: 2.2 */ GdkDisplay * -gdk_display_manager_get_default_display (GdkDisplayManager *display_manager) +gdk_display_manager_get_default_display (GdkDisplayManager *manager) { - return default_display; + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_default_display (manager); } /** @@ -203,7 +221,7 @@ gdk_display_manager_get_default_display (GdkDisplayManager *display_manager) GdkDisplay * gdk_display_get_default (void) { - return default_display; + return gdk_display_manager_get_default_display (gdk_display_manager_get ()); } /** @@ -219,6 +237,10 @@ gdk_display_get_default (void) GdkScreen * gdk_screen_get_default (void) { + GdkDisplay *default_display; + + default_display = gdk_display_get_default (); + if (default_display) return gdk_display_get_default_screen (default_display); else @@ -227,7 +249,7 @@ gdk_screen_get_default (void) /** * gdk_display_manager_set_default_display: - * @display_manager: a #GdkDisplayManager + * @manager: a #GdkDisplayManager * @display: a #GdkDisplay * * Sets @display as the default display. @@ -235,30 +257,35 @@ gdk_screen_get_default (void) * Since: 2.2 **/ void -gdk_display_manager_set_default_display (GdkDisplayManager *display_manager, - GdkDisplay *display) +gdk_display_manager_set_default_display (GdkDisplayManager *manager, + GdkDisplay *display) { - default_display = display; + GDK_DISPLAY_MANAGER_GET_CLASS (manager)->set_default_display (manager, display); - _gdk_windowing_set_default_display (display); - - g_object_notify (G_OBJECT (display_manager), "default-display"); + g_object_notify (G_OBJECT (manager), "default-display"); } /** * gdk_display_manager_list_displays: - * @display_manager: a #GdkDisplayManager + * @manager: a #GdkDisplayManager * * List all currently open displays. - * - * Return value: (transfer container) (element-type GdkDisplay): a newly allocated - * #GSList of #GdkDisplay objects. Free this list with g_slist_free() when you - * are done with it. + * + * Return value: (transfer container) (element-type GdkDisplay): a newly + * allocated #GSList of #GdkDisplay objects. Free with g_slist_free() + * when you are done with it. * * Since: 2.2 **/ GSList * -gdk_display_manager_list_displays (GdkDisplayManager *display_manager) +gdk_display_manager_list_displays (GdkDisplayManager *manager) { - return g_slist_copy (_gdk_displays); + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->list_displays (manager); +} + +GdkDisplay * +gdk_display_manager_open_display (GdkDisplayManager *manager, + const gchar *name) +{ + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->open_display (manager, name); } diff --git a/gdk/gdkdisplaymanager.h b/gdk/gdkdisplaymanager.h index 4d5bd989a4..dccca92541 100644 --- a/gdk/gdkdisplaymanager.h +++ b/gdk/gdkdisplaymanager.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -44,29 +44,17 @@ G_BEGIN_DECLS #define GDK_IS_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_MANAGER)) #define GDK_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManagerClass)) -typedef struct _GdkDisplayManager GdkDisplayManager; typedef struct _GdkDisplayManagerClass GdkDisplayManagerClass; -struct _GdkDisplayManager -{ - GObject parent_instance; -}; - -struct _GdkDisplayManagerClass -{ - GObjectClass parent_class; - - void (*display_opened) (GdkDisplayManager *display_manager, - GdkDisplay *display); -}; - GType gdk_display_manager_get_type (void) G_GNUC_CONST; GdkDisplayManager *gdk_display_manager_get (void); -GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *display_manager); -void gdk_display_manager_set_default_display (GdkDisplayManager *display_manager, - GdkDisplay *display); -GSList * gdk_display_manager_list_displays (GdkDisplayManager *display_manager); +GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager); +void gdk_display_manager_set_default_display (GdkDisplayManager *manager, + GdkDisplay *display); +GSList * gdk_display_manager_list_displays (GdkDisplayManager *manager); +GdkDisplay * gdk_display_manager_open_display (GdkDisplayManager *manager, + const gchar *name); G_END_DECLS diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index d6322db795..4499d22061 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -276,6 +276,45 @@ gdk_event_handler_set (GdkEventFunc func, _gdk_event_notify = notify; } +/** + * gdk_events_pending: + * + * Checks if any events are ready to be processed for any display. + * + * Return value: %TRUE if any events are pending. + */ +gboolean +gdk_events_pending (void) +{ + GSList *list, *l; + gboolean pending; + + pending = FALSE; + list = gdk_display_manager_list_displays (gdk_display_manager_get ()); + for (l = list; l; l = l->next) + { + if (_gdk_event_queue_find_first (l->data)) + { + pending = TRUE; + goto out; + } + } + + for (l = list; l; l = l->next) + { + if (gdk_display_has_pending (l->data)) + { + pending = TRUE; + goto out; + } + } + + out: + g_slist_free (list); + + return pending; +} + /** * gdk_event_get: * @@ -289,16 +328,21 @@ gdk_event_handler_set (GdkEventFunc func, GdkEvent* gdk_event_get (void) { - GSList *tmp_list; + GSList *list, *l; + GdkEvent *event; - for (tmp_list = _gdk_displays; tmp_list; tmp_list = tmp_list->next) + event = NULL; + list = gdk_display_manager_list_displays (gdk_display_manager_get ()); + for (l = list; l; l = l->next) { - GdkEvent *event = gdk_display_get_event (tmp_list->data); + event = gdk_display_get_event (l->data); if (event) - return event; + break; } - return NULL; + g_slist_free (list); + + return event; } /** @@ -314,16 +358,21 @@ gdk_event_get (void) GdkEvent* gdk_event_peek (void) { - GSList *tmp_list; + GSList *list, *l; + GdkEvent *event; - for (tmp_list = _gdk_displays; tmp_list; tmp_list = tmp_list->next) + event = NULL; + list = gdk_display_manager_list_displays (gdk_display_manager_get ()); + for (l = list; l; l = l->next) { - GdkEvent *event = gdk_display_peek_event (tmp_list->data); + event = gdk_display_peek_event (l->data); if (event) - return event; + break; } - return NULL; + g_slist_free (list); + + return event; } /** diff --git a/gdk/gdkglobals.c b/gdk/gdkglobals.c index 2a572981dc..5af484b93d 100644 --- a/gdk/gdkglobals.c +++ b/gdk/gdkglobals.c @@ -40,4 +40,3 @@ gchar *_gdk_display_arg_name = NULL; gboolean _gdk_native_windows = FALSE; gboolean _gdk_disable_multidevice = FALSE; -GSList *_gdk_displays = NULL; diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 5d1944c447..a0dfff8cae 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -269,6 +269,27 @@ struct _GdkWindow #define GDK_WINDOW_TYPE(d) (((GDK_WINDOW (d)))->window_type) #define GDK_WINDOW_DESTROYED(d) (GDK_WINDOW (d)->destroyed) +struct _GdkDisplayManager +{ + GObject parent_instance; +}; + +struct _GdkDisplayManagerClass +{ + GObjectClass parent_class; + + GSList * (*list_displays) (GdkDisplayManager *manager); + GdkDisplay * (*get_default_display) (GdkDisplayManager *manager); + void (*set_default_display) (GdkDisplayManager *manager, + GdkDisplay *display); + GdkDisplay * (*open_display) (GdkDisplayManager *manager, + const gchar *name); + + /* signals */ + void (*display_opened) (GdkDisplayManager *manager, + GdkDisplay *display); +}; + struct _GdkDisplayClass { GObjectClass parent_class; @@ -281,6 +302,7 @@ struct _GdkDisplayClass void (*beep) (GdkDisplay *display); void (*sync) (GdkDisplay *display); void (*flush) (GdkDisplay *display); + gboolean (*has_pending) (GdkDisplay *display); GdkWindow * (*get_default_group) (GdkDisplay *display); gboolean (*supports_selection_notification) (GdkDisplay *display); gboolean (*request_selection_notification) (GdkDisplay *display, @@ -530,7 +552,6 @@ struct _GdkDeviceManagerClass GdkDevice * (* get_client_pointer) (GdkDeviceManager *device_manager); }; -extern GSList *_gdk_displays; extern gchar *_gdk_display_name; extern gint _gdk_screen_number; extern gchar *_gdk_display_arg_name; diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index 2d05590e7a..b9915a3bcf 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -132,13 +132,6 @@ void gdk_beep (void); #endif /* GDK_MULTIHEAD_SAFE */ -/** - * gdk_flush: - * - * Flushes the X output buffer and waits until all requests have been processed - * by the server. This is rarely needed by applications. It's main use is for - * trapping X errors with gdk_error_trap_push() and gdk_error_trap_pop(). - */ void gdk_flush (void); G_END_DECLS diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 410cade6d9..e540b657f0 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -139,14 +139,10 @@ typedef struct _GdkRGBA GdkRGBA; typedef struct _GdkCursor GdkCursor; typedef struct _GdkVisual GdkVisual; -/** - * GdkWindow: - * - * An opaque structure representing an onscreen drawable. - */ -typedef struct _GdkWindow GdkWindow; +typedef struct _GdkDisplayManager GdkDisplayManager; typedef struct _GdkDisplay GdkDisplay; typedef struct _GdkScreen GdkScreen; +typedef struct _GdkWindow GdkWindow; typedef struct GdkAppLaunchContext GdkAppLaunchContext; /** diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index e07c1ca548..ba04cdee43 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -188,15 +188,6 @@ gdk_display_beep (GdkDisplay *display) Beep(1000, 50); } -void -_gdk_windowing_exit (void) -{ - _gdk_win32_dnd_exit (); - CoUninitialize (); - DeleteDC (_gdk_display_hdc); - _gdk_display_hdc = NULL; -} - void gdk_error_trap_push (void) { diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 30295b42f6..6c07ff4aed 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -27,6 +27,7 @@ libgdk_x11_la_SOURCES = \ gdkdevicemanager-core.h \ gdkdevicemanager-core.c \ gdkdevicemanager-x11.c \ + gdkdisplaymanager-x11.c \ gdkdisplay-x11.c \ gdkdisplay-x11.h \ gdkdnd-x11.c \ diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index b750a326a7..01bd04008e 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -165,6 +165,8 @@ G_DEFINE_TYPE_WITH_CODE (GdkDisplayX11, _gdk_display_x11, GDK_TYPE_DISPLAY, static void _gdk_display_x11_init (GdkDisplayX11 *display) { + _gdk_x11_display_manager_add_display (gdk_display_manager_get (), + GDK_DISPLAY_OBJECT (display)); } static void @@ -1090,7 +1092,7 @@ gdk_wm_protocols_filter (GdkXEvent *xev, } static void -_gdk_event_init (GdkDisplay *display) +gdk_event_init (GdkDisplay *display) { GdkDisplayX11 *display_x11; GdkDeviceManager *device_manager; @@ -1112,7 +1114,7 @@ _gdk_event_init (GdkDisplay *display) } static void -_gdk_input_init (GdkDisplay *display) +gdk_input_init (GdkDisplay *display) { GdkDisplayX11 *display_x11; GdkDeviceManager *device_manager; @@ -1175,7 +1177,7 @@ _gdk_input_init (GdkDisplay *display) * Since: 2.2 */ GdkDisplay * -gdk_display_open (const gchar *display_name) +_gdk_x11_display_open (const gchar *display_name) { Display *xdisplay; GdkDisplay *display; @@ -1214,7 +1216,7 @@ gdk_display_open (const gchar *display_name) &display_x11->xrandr_event_base, &ignore)) { int major, minor; - + XRRQueryVersion (display_x11->xdisplay, &major, &minor); if ((major == 1 && minor >= 3) || major > 1) @@ -1223,7 +1225,7 @@ gdk_display_open (const gchar *display_name) gdk_x11_register_standard_event_type (display, display_x11->xrandr_event_base, RRNumberEvents); } #endif - + /* initialize the display's screens */ display_x11->screens = g_new (GdkScreen *, ScreenCount (display_x11->xdisplay)); for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) @@ -1240,7 +1242,7 @@ gdk_display_open (const gchar *display_name) display->device_manager = _gdk_device_manager_new (display); - _gdk_event_init (display); + gdk_event_init (display); attr.window_type = GDK_WINDOW_TOPLEVEL; attr.wclass = GDK_INPUT_OUTPUT; @@ -1424,7 +1426,7 @@ gdk_display_open (const gchar *display_name) } #endif - _gdk_input_init (display); + gdk_input_init (display); _gdk_x11_dnd_init (display); for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) @@ -1520,16 +1522,12 @@ gdk_internal_connection_watch (Display *display, static G_CONST_RETURN gchar * gdk_x11_display_get_name (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return (gchar *) DisplayString (GDK_DISPLAY_X11 (display)->xdisplay); } static gint gdk_x11_display_get_n_screens (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); - return ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay); } @@ -1537,17 +1535,14 @@ static GdkScreen * gdk_x11_display_get_screen (GdkDisplay *display, gint screen_num) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num, NULL); - + return GDK_DISPLAY_X11 (display)->screens[screen_num]; } static GdkScreen * gdk_x11_display_get_default_screen (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return GDK_DISPLAY_X11 (display)->default_screen; } @@ -1557,11 +1552,9 @@ _gdk_x11_display_is_root_window (GdkDisplay *display, { GdkDisplayX11 *display_x11; gint i; - - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - + display_x11 = GDK_DISPLAY_X11 (display); - + for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) { if (GDK_SCREEN_XROOTWIN (display_x11->screens[i]) == xroot_window) @@ -1617,8 +1610,6 @@ _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, static void gdk_x11_display_beep (GdkDisplay *display) { - g_return_if_fail (GDK_IS_DISPLAY (display)); - #ifdef HAVE_XKB XkbBell (GDK_DISPLAY_XDISPLAY (display), None, 0, None); #else @@ -1629,20 +1620,22 @@ gdk_x11_display_beep (GdkDisplay *display) static void gdk_x11_display_sync (GdkDisplay *display) { - g_return_if_fail (GDK_IS_DISPLAY (display)); - XSync (GDK_DISPLAY_XDISPLAY (display), False); } static void gdk_x11_display_flush (GdkDisplay *display) { - g_return_if_fail (GDK_IS_DISPLAY (display)); - if (!display->closed) XFlush (GDK_DISPLAY_XDISPLAY (display)); } +static gboolean +gdk_x11_display_has_pending (GdkDisplay *display) +{ + return XPending (GDK_DISPLAY_XDISPLAY (display)); +} + static GdkWindow * gdk_x11_display_get_default_group (GdkDisplay *display) { @@ -1706,9 +1699,12 @@ gdk_x11_display_ungrab (GdkDisplay *display) static void gdk_display_x11_dispose (GObject *object) { + GdkDisplay *display = GDK_DISPLAY_OBJECT (object); GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (object); gint i; + _gdk_x11_display_manager_remove_display (gdk_display_manager_get (), display); + g_list_foreach (display_x11->input_devices, (GFunc) g_object_run_dispose, NULL); for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) @@ -1810,15 +1806,25 @@ gdk_display_x11_finalize (GObject *object) GdkDisplay * gdk_x11_lookup_xdisplay (Display *xdisplay) { - GSList *tmp_list; + GSList *list, *l; + GdkDisplay *display; - for (tmp_list = _gdk_displays; tmp_list; tmp_list = tmp_list->next) + display = NULL; + + list = gdk_display_manager_list_displays (gdk_display_manager_get ()); + + for (l = list; l; l = l->next) { - if (GDK_DISPLAY_XDISPLAY (tmp_list->data) == xdisplay) - return tmp_list->data; + if (GDK_DISPLAY_XDISPLAY (l->data) == xdisplay) + { + display = l->data; + break; + } } - - return NULL; + + g_slist_free (list); + + return display; } /** @@ -1864,17 +1870,14 @@ gdk_x11_display_get_xdisplay (GdkDisplay *display) } void -_gdk_windowing_set_default_display (GdkDisplay *display) +_gdk_x11_display_make_default (GdkDisplay *display) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); const gchar *startup_id; - - if (!display) - return; g_free (display_x11->startup_notification_id); display_x11->startup_notification_id = NULL; - + startup_id = g_getenv ("DESKTOP_STARTUP_ID"); if (startup_id && *startup_id != '\0') { @@ -1882,9 +1885,9 @@ _gdk_windowing_set_default_display (GdkDisplay *display) g_warning ("DESKTOP_STARTUP_ID contains invalid UTF-8"); else gdk_x11_display_set_startup_notification_id (display, startup_id); - + /* Clear the environment variable so it won't be inherited by - * child processes and confuse things. + * child processes and confuse things. */ g_unsetenv ("DESKTOP_STARTUP_ID"); } @@ -2367,35 +2370,6 @@ gdk_x11_display_add_client_message_filter (GdkDisplay *display, filter); } -/* - *-------------------------------------------------------------- - * gdk_flush - * - * Flushes the Xlib output buffer and then waits - * until all requests have been received and processed - * by the X server. The only real use for this function - * is in dealing with XShm. - * - * Arguments: - * - * Results: - * - * Side effects: - * - *-------------------------------------------------------------- - */ -void -gdk_flush (void) -{ - GSList *tmp_list = _gdk_displays; - - while (tmp_list) - { - XSync (GDK_DISPLAY_XDISPLAY (tmp_list->data), False); - tmp_list = tmp_list->next; - } -} - /** * gdk_x11_register_standard_event_type: * @display: a #GdkDisplay @@ -2707,6 +2681,7 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->beep = gdk_x11_display_beep; display_class->sync = gdk_x11_display_sync; display_class->flush = gdk_x11_display_flush; + display_class->has_pending = gdk_x11_display_has_pending; display_class->get_default_group = gdk_x11_display_get_default_group; display_class->supports_selection_notification = gdk_x11_display_supports_selection_notification; display_class->request_selection_notification = gdk_x11_display_request_selection_notification; diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c new file mode 100644 index 0000000000..b422975238 --- /dev/null +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -0,0 +1,134 @@ +/* GDK - The GIMP Drawing Kit + * gdkdisplaymanager-x11.c + * + * Copyright 2010 Red Hat, Inc. + * + * Author: Matthias clasen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include "gdkdisplay-x11.h" +#include "gdkprivate-x11.h" + +#include "gdkdisplaymanager.h" +#include "gdkinternals.h" + +#define GDK_TYPE_DISPLAY_MANAGER_X11 (gdk_display_manager_x11_get_type ()) +#define GDK_DISPLAY_MANAGER_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER_X11, GdkDisplayManagerX11)) + +typedef struct _GdkDisplayManagerX11 GdkDisplayManagerX11; +typedef struct _GdkDisplayManagerClass GdkDisplayManagerX11Class; + +struct _GdkDisplayManagerX11 +{ + GdkDisplayManager parent; + + GdkDisplay *default_display; + GSList *displays; +}; + +G_DEFINE_TYPE (GdkDisplayManagerX11, gdk_display_manager_x11, GDK_TYPE_DISPLAY_MANAGER) + +static GdkDisplay * +gdk_display_manager_x11_open_display (GdkDisplayManager *manager, + const gchar *name) +{ + return _gdk_x11_display_open (name); +} + +static GSList * +gdk_display_manager_x11_list_displays (GdkDisplayManager *manager) +{ + GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); + + return g_slist_copy (manager_x11->displays); +} + +static GdkDisplay * +gdk_display_manager_x11_get_default_display (GdkDisplayManager *manager) +{ + return GDK_DISPLAY_MANAGER_X11 (manager)->default_display; +} + +static void +gdk_display_manager_x11_set_default_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); + + manager_x11->default_display = display; + + _gdk_x11_display_make_default (display); +} + +static void +gdk_display_manager_x11_init (GdkDisplayManagerX11 *manager) +{ + _gdk_x11_windowing_init (); +} + +static void +gdk_display_manager_x11_finalize (GObject *object) +{ + g_error ("A GdkDisplayManagerX11 object was finalized. This should not happen"); + G_OBJECT_CLASS (gdk_display_manager_x11_parent_class)->finalize (object); +} + +static void +gdk_display_manager_x11_class_init (GdkDisplayManagerX11Class *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GdkDisplayManagerClass *manager_class = GDK_DISPLAY_MANAGER_CLASS (class); + + object_class->finalize = gdk_display_manager_x11_finalize; + + manager_class->open_display = gdk_display_manager_x11_open_display; + manager_class->list_displays = gdk_display_manager_x11_list_displays; + manager_class->set_default_display = gdk_display_manager_x11_set_default_display; + manager_class->get_default_display = gdk_display_manager_x11_get_default_display; +} + +void +_gdk_x11_display_manager_add_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); + + if (manager_x11->displays == NULL) + gdk_display_manager_set_default_display (manager, display); + + manager_x11->displays = g_slist_prepend (manager_x11->displays, display); +} + +void +_gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); + + manager_x11->displays = g_slist_remove (manager_x11->displays, display); + + if (manager_x11->default_display == display) + { + if (manager_x11->displays) + gdk_display_manager_set_default_display (manager, manager_x11->displays->data); + else + gdk_display_manager_set_default_display (manager, NULL); + } +} diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 37275fb183..22cc5b1e5e 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -414,36 +414,3 @@ gdk_event_source_select_events (GdkEventSource *source, XSelectInput (GDK_DISPLAY_XDISPLAY (source->display), window, xmask); } - -/** - * gdk_events_pending: - * - * Checks if any events are ready to be processed for any display. - * - * Return value: %TRUE if any events are pending. - **/ -gboolean -gdk_events_pending (void) -{ - GList *tmp_list; - - for (tmp_list = event_sources; tmp_list; tmp_list = tmp_list->next) - { - GdkEventSource *tmp_source = tmp_list->data; - GdkDisplay *display = tmp_source->display; - - if (_gdk_event_queue_find_first (display)) - return TRUE; - } - - for (tmp_list = event_sources; tmp_list; tmp_list = tmp_list->next) - { - GdkEventSource *tmp_source = tmp_list->data; - GdkDisplay *display = tmp_source->display; - - if (gdk_check_xpending (display)) - return TRUE; - } - - return FALSE; -} diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 5890335c0f..056c90b629 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -96,7 +96,7 @@ const GOptionEntry _gdk_windowing_args[] = { }; void -_gdk_windowing_init (void) +_gdk_x11_windowing_init (void) { _gdk_x11_initialize_locale (); @@ -224,21 +224,6 @@ _gdk_windowing_display_set_sm_client_id (GdkDisplay *display, gdk_x11_get_xatom_by_name_for_display (display, "SM_CLIENT_ID")); } -/* Close all open displays - */ -void -_gdk_windowing_exit (void) -{ - GSList *tmp_list = _gdk_displays; - - while (tmp_list) - { - XCloseDisplay (GDK_DISPLAY_XDISPLAY (tmp_list->data)); - - tmp_list = tmp_list->next; - } -} - /* *-------------------------------------------------------------- * gdk_x_io_error diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 682cc10dd0..e878b5146a 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -131,6 +131,7 @@ gboolean _gdk_keymap_key_is_modifier (GdkKeymap *keymap, guint keycode); void _gdk_x11_initialize_locale (void); +void _gdk_x11_windowing_init (void); void _gdk_xgrab_check_unmap (GdkWindow *window, gulong serial); @@ -139,6 +140,8 @@ void _gdk_xgrab_check_destroy (GdkWindow *window); gboolean _gdk_x11_display_is_root_window (GdkDisplay *display, Window xroot_window); +GdkDisplay * _gdk_x11_display_open (const gchar *display_name); +void _gdk_x11_display_make_default (GdkDisplay *display); void _gdk_x11_display_update_grab_info (GdkDisplay *display, GdkDevice *device, gint status); @@ -148,6 +151,11 @@ void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, gulong serial); void _gdk_x11_device_check_extension_events (GdkDevice *device); +void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, + GdkDisplay *display); +void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, + GdkDisplay *display); + void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, gint n_atoms); From 5fa8791c860fbeec4d03ac2f208168c153f4033b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 20:46:42 -0500 Subject: [PATCH 0644/1463] Add a vfunc for _gdk_events_queue --- gdk/gdkdisplay.c | 4 ++-- gdk/gdkinternals.h | 1 + gdk/x11/gdkdisplay-x11.c | 1 + gdk/x11/gdkeventsource.c | 18 +++++++++--------- gdk/x11/gdkprivate-x11.h | 3 ++- 5 files changed, 15 insertions(+), 12 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 157e5ef0b1..c0252c1d68 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -394,8 +394,8 @@ GdkEvent* gdk_display_get_event (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - - _gdk_events_queue (display); + + GDK_DISPLAY_GET_CLASS (display)->queue_events (display); return _gdk_event_unqueue (display); } diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index a0dfff8cae..7b08fe84ae 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -303,6 +303,7 @@ struct _GdkDisplayClass void (*sync) (GdkDisplay *display); void (*flush) (GdkDisplay *display); gboolean (*has_pending) (GdkDisplay *display); + void (*queue_events) (GdkDisplay *display); GdkWindow * (*get_default_group) (GdkDisplay *display); gboolean (*supports_selection_notification) (GdkDisplay *display); gboolean (*request_selection_notification) (GdkDisplay *display, diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 01bd04008e..a2c49e0e56 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2682,6 +2682,7 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->sync = gdk_x11_display_sync; display_class->flush = gdk_x11_display_flush; display_class->has_pending = gdk_x11_display_has_pending; + display_class->queue_events = _gdk_x11_display_queue_events; display_class->get_default_group = gdk_x11_display_get_default_group; display_class->supports_selection_notification = gdk_x11_display_supports_selection_notification; display_class->request_selection_notification = gdk_x11_display_request_selection_notification; diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 22cc5b1e5e..21552dbc97 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -263,7 +263,7 @@ gdk_event_source_check (GSource *source) } void -_gdk_events_queue (GdkDisplay *display) +_gdk_x11_display_queue_events (GdkDisplay *display) { GdkEvent *event; XEvent xevent; @@ -279,14 +279,14 @@ _gdk_events_queue (GdkDisplay *display) XNextEvent (xdisplay, &xevent); switch (xevent.type) - { - case KeyPress: - case KeyRelease: - break; - default: - if (XFilterEvent (&xevent, None)) - continue; - } + { + case KeyPress: + case KeyRelease: + break; + default: + if (XFilterEvent (&xevent, None)) + continue; + } event = gdk_event_source_translate_event (event_source, &xevent); diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index e878b5146a..752099cca2 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -149,7 +149,8 @@ void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, GdkDevice *device, guint32 time, gulong serial); -void _gdk_x11_device_check_extension_events (GdkDevice *device); +void _gdk_x11_display_queue_events (GdkDisplay *display); +void _gdk_x11_device_check_extension_events (GdkDevice *device); void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, GdkDisplay *display); From 218fa6757a2f51c9aeb8181c02dc79e014aecf7c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 21:42:55 -0500 Subject: [PATCH 0645/1463] Weed out no longer needed declarations --- gdk/gdkinternals.h | 22 ---------------------- 1 file changed, 22 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 7b08fe84ae..28b419fe62 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -558,7 +558,6 @@ extern gint _gdk_screen_number; extern gchar *_gdk_display_arg_name; extern gboolean _gdk_disable_multidevice; -void _gdk_events_queue (GdkDisplay *display); GdkEvent* _gdk_event_unqueue (GdkDisplay *display); void _gdk_event_filter_unref (GdkWindow *window, @@ -628,11 +627,7 @@ const char *_gdk_get_sm_client_id (void); void _gdk_cursor_destroy (GdkCursor *cursor); -void _gdk_windowing_init (void); - extern const GOptionEntry _gdk_windowing_args[]; -void _gdk_windowing_set_default_display (GdkDisplay *display); - gchar *_gdk_windowing_substitute_screen_number (const gchar *display_name, gint screen_number); @@ -667,20 +662,9 @@ void _gdk_windowing_after_process_all_updates (void); #define GDK_WINDOW_IS_MAPPED(window) (((window)->state & GDK_WINDOW_STATE_WITHDRAWN) == 0) - -/* Called when gdk_window_destroy() is called on a foreign window - * or an ancestor of the foreign window. It should generally reparent - * the window out of it's current heirarchy, hide it, and then - * send a message to the owner requesting that the window be destroyed. - */ -void _gdk_windowing_window_destroy_foreign (GdkWindow *window); - void _gdk_windowing_display_set_sm_client_id (GdkDisplay *display, const gchar *sm_client_id); -void _gdk_windowing_window_set_composited (GdkWindow *window, - gboolean composited); - #define GDK_TYPE_PAINTABLE (_gdk_paintable_get_type ()) #define GDK_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PAINTABLE, GdkPaintable)) #define GDK_IS_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PAINTABLE)) @@ -808,12 +792,6 @@ cairo_surface_t * _gdk_offscreen_window_create_surface (GdkWindow *window, gint height); -/************************************ - * Initialization and exit routines * - ************************************/ - -void _gdk_windowing_exit (void); - G_END_DECLS #endif /* __GDK_INTERNALS_H__ */ From b5df501296e01e406420f89602896d061fc59b6f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 21:55:41 -0500 Subject: [PATCH 0646/1463] Move destroy_foreign comment --- gdk/gdkwindowimpl.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 35aad9231d..00ecedd81f 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -153,6 +153,12 @@ struct _GdkWindowImplClass gboolean recursing, gboolean foreign_destroy); + + /* Called when gdk_window_destroy() is called on a foreign window + * or an ancestor of the foreign window. It should generally reparent + * the window out of it's current heirarchy, hide it, and then + * send a message to the owner requesting that the window be destroyed. + */ void (*destroy_foreign) (GdkWindow *window); cairo_surface_t * (* resize_cairo_surface) (GdkWindow *window, From ff8a334725e95fda2e0c500b55955e1cd311bf98 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 10 Dec 2010 21:55:56 -0500 Subject: [PATCH 0647/1463] Hide GdkDevice struct Once its hidden, we can kill the GdkDevicePrivate struct too. --- gdk/gdkdevice.c | 335 ++++++++++++++--------------------------- gdk/gdkdevice.h | 42 +++--- gdk/gdkdeviceprivate.h | 54 +++++-- 3 files changed, 176 insertions(+), 255 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index e81540a7a9..1e9663bd41 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -25,15 +25,6 @@ #include "gdkdeviceprivate.h" #include "gdkintl.h" - -typedef struct _GdkDeviceKey GdkDeviceKey; - -struct _GdkDeviceKey -{ - guint keyval; - GdkModifierType modifiers; -}; - typedef struct _GdkAxisInfo GdkAxisInfo; struct _GdkAxisInfo @@ -49,27 +40,6 @@ struct _GdkAxisInfo gdouble resolution; }; -struct _GdkDevicePrivate -{ - gchar *name; - GdkInputSource source; - GdkInputMode mode; - gboolean has_cursor; - gint num_keys; - GdkDeviceKey *keys; - GdkDeviceManager *device_manager; - GdkDisplay *display; - - /* Paired master for master, - * associated master for slaves - */ - GdkDevice *associated; - - GList *slaves; - GdkDeviceType type; - GArray *axes; -}; - enum { CHANGED, LAST_SIGNAL @@ -122,8 +92,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_DISPLAY, - g_param_spec_object ("display", + PROP_DISPLAY, + g_param_spec_object ("display", P_("Device Display"), P_("Display which the device belongs to"), GDK_TYPE_DISPLAY, @@ -137,8 +107,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_DEVICE_MANAGER, - g_param_spec_object ("device-manager", + PROP_DEVICE_MANAGER, + g_param_spec_object ("device-manager", P_("Device manager"), P_("Device manager which the device belongs to"), GDK_TYPE_DEVICE_MANAGER, @@ -152,8 +122,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_NAME, - g_param_spec_string ("name", + PROP_NAME, + g_param_spec_string ("name", P_("Device name"), P_("Device name"), NULL, @@ -184,8 +154,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_ASSOCIATED_DEVICE, - g_param_spec_object ("associated-device", + PROP_ASSOCIATED_DEVICE, + g_param_spec_object ("associated-device", P_("Associated device"), P_("Associated pointer or keyboard with this device"), GDK_TYPE_DEVICE, @@ -198,8 +168,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_INPUT_SOURCE, - g_param_spec_enum ("input-source", + PROP_INPUT_SOURCE, + g_param_spec_enum ("input-source", P_("Input source"), P_("Source type for the device"), GDK_TYPE_INPUT_SOURCE, @@ -215,7 +185,7 @@ gdk_device_class_init (GdkDeviceClass *klass) */ g_object_class_install_property (object_class, PROP_INPUT_MODE, - g_param_spec_enum ("input-mode", + g_param_spec_enum ("input-mode", P_("Input mode for the device"), P_("Input mode for the device"), GDK_TYPE_INPUT_MODE, @@ -230,8 +200,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_HAS_CURSOR, - g_param_spec_boolean ("has-cursor", + PROP_HAS_CURSOR, + g_param_spec_boolean ("has-cursor", P_("Whether the device has a cursor"), P_("Whether there is a visible cursor following device motion"), FALSE, @@ -245,8 +215,8 @@ gdk_device_class_init (GdkDeviceClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_N_AXES, - g_param_spec_uint ("n-axes", + PROP_N_AXES, + g_param_spec_uint ("n-axes", P_("Number of axes in the device"), P_("Number of axes in the device"), 0, G_MAXUINT, 0, @@ -271,52 +241,40 @@ gdk_device_class_init (GdkDeviceClass *klass) 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); - - g_type_class_add_private (object_class, sizeof (GdkDevicePrivate)); } static void gdk_device_init (GdkDevice *device) { - GdkDevicePrivate *priv; - - device->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (device, - GDK_TYPE_DEVICE, - GdkDevicePrivate); - - priv->axes = g_array_new (FALSE, TRUE, sizeof (GdkAxisInfo)); + device->axes = g_array_new (FALSE, TRUE, sizeof (GdkAxisInfo)); } static void gdk_device_dispose (GObject *object) { - GdkDevicePrivate *priv; - GdkDevice *device; + GdkDevice *device = GDK_DEVICE (object); - device = GDK_DEVICE (object); - priv = device->priv; + if (device->type == GDK_DEVICE_TYPE_SLAVE) + _gdk_device_remove_slave (device->associated, device); - if (priv->type == GDK_DEVICE_TYPE_SLAVE) - _gdk_device_remove_slave (priv->associated, device); - - if (priv->associated) + if (device->associated) { - _gdk_device_set_associated_device (priv->associated, NULL); - g_object_unref (priv->associated); - priv->associated = NULL; + _gdk_device_set_associated_device (device->associated, NULL); + g_object_unref (device->associated); + device->associated = NULL; } - if (priv->axes) + if (device->axes) { - g_array_free (priv->axes, TRUE); - priv->axes = NULL; + g_array_free (device->axes, TRUE); + device->axes = NULL; } - g_free (priv->name); - g_free (priv->keys); + g_free (device->name); + g_free (device->keys); - priv->name = NULL; - priv->keys = NULL; + device->name = NULL; + device->keys = NULL; G_OBJECT_CLASS (gdk_device_parent_class)->dispose (object); } @@ -328,33 +286,32 @@ gdk_device_set_property (GObject *object, GParamSpec *pspec) { GdkDevice *device = GDK_DEVICE (object); - GdkDevicePrivate *priv = device->priv; switch (prop_id) { case PROP_DISPLAY: - priv->display = g_value_get_object (value); + device->display = g_value_get_object (value); break; case PROP_DEVICE_MANAGER: - priv->device_manager = g_value_get_object (value); + device->manager = g_value_get_object (value); break; case PROP_NAME: - if (priv->name) - g_free (priv->name); + if (device->name) + g_free (device->name); - priv->name = g_value_dup_string (value); + device->name = g_value_dup_string (value); break; case PROP_TYPE: - priv->type = g_value_get_enum (value); + device->type = g_value_get_enum (value); break; case PROP_INPUT_SOURCE: - priv->source = g_value_get_enum (value); + device->source = g_value_get_enum (value); break; case PROP_INPUT_MODE: gdk_device_set_mode (device, g_value_get_enum (value)); break; case PROP_HAS_CURSOR: - priv->has_cursor = g_value_get_boolean (value); + device->has_cursor = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -369,36 +326,35 @@ gdk_device_get_property (GObject *object, GParamSpec *pspec) { GdkDevice *device = GDK_DEVICE (object); - GdkDevicePrivate *priv = device->priv; switch (prop_id) { case PROP_DISPLAY: - g_value_set_object (value, priv->display); + g_value_set_object (value, device->display); break; case PROP_DEVICE_MANAGER: - g_value_set_object (value, priv->device_manager); + g_value_set_object (value, device->manager); break; case PROP_ASSOCIATED_DEVICE: - g_value_set_object (value, priv->associated); + g_value_set_object (value, device->associated); break; case PROP_NAME: - g_value_set_string (value, priv->name); + g_value_set_string (value, device->name); break; case PROP_TYPE: - g_value_set_enum (value, priv->type); + g_value_set_enum (value, device->type); break; case PROP_INPUT_SOURCE: - g_value_set_enum (value, priv->source); + g_value_set_enum (value, device->source); break; case PROP_INPUT_MODE: - g_value_set_enum (value, priv->mode); + g_value_set_enum (value, device->mode); break; case PROP_HAS_CURSOR: - g_value_set_boolean (value, priv->has_cursor); + g_value_set_boolean (value, device->has_cursor); break; case PROP_N_AXES: - g_value_set_uint (value, priv->axes->len); + g_value_set_uint (value, device->axes->len); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -487,7 +443,7 @@ _gdk_device_allocate_history (GdkDevice *device, for (i = 0; i < n_events; i++) result[i] = g_malloc (sizeof (GdkTimeCoord) - - sizeof (double) * (GDK_MAX_TIMECOORD_AXES - device->priv->axes->len)); + sizeof (double) * (GDK_MAX_TIMECOORD_AXES - device->axes->len)); return result; } @@ -525,7 +481,7 @@ gdk_device_get_name (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); - return device->priv->name; + return device->name; } /** @@ -544,7 +500,7 @@ gdk_device_get_has_cursor (GdkDevice *device) g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, FALSE); - return device->priv->has_cursor; + return device->has_cursor; } /** @@ -562,7 +518,7 @@ gdk_device_get_source (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), 0); - return device->priv->source; + return device->source; } /** @@ -574,11 +530,11 @@ gdk_device_get_source (GdkDevice *device) **/ void gdk_device_set_source (GdkDevice *device, - GdkInputSource source) + GdkInputSource source) { g_return_if_fail (GDK_IS_DEVICE (device)); - device->priv->source = source; + device->source = source; g_object_notify (G_OBJECT (device), "input-source"); } @@ -597,7 +553,7 @@ gdk_device_get_mode (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), 0); - return device->priv->mode; + return device->mode; } /** @@ -617,14 +573,14 @@ gdk_device_set_mode (GdkDevice *device, { g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); - if (device->priv->mode == mode) + if (device->mode == mode) return TRUE; if (mode == GDK_MODE_DISABLED && gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER) return FALSE; - device->priv->mode = mode; + device->mode = mode; g_object_notify (G_OBJECT (device), "input-mode"); return TRUE; @@ -645,7 +601,7 @@ gdk_device_get_n_keys (GdkDevice *device) { g_return_val_if_fail (GDK_IS_DEVICE (device), 0); - return device->priv->num_keys; + return device->num_keys; } /** @@ -669,17 +625,17 @@ gdk_device_get_key (GdkDevice *device, GdkModifierType *modifiers) { g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); - g_return_val_if_fail (index_ < device->priv->num_keys, FALSE); + g_return_val_if_fail (index_ < device->num_keys, FALSE); - if (!device->priv->keys[index_].keyval && - !device->priv->keys[index_].modifiers) + if (!device->keys[index_].keyval && + !device->keys[index_].modifiers) return FALSE; if (keyval) - *keyval = device->priv->keys[index_].keyval; + *keyval = device->keys[index_].keyval; if (modifiers) - *modifiers = device->priv->keys[index_].modifiers; + *modifiers = device->keys[index_].modifiers; return TRUE; } @@ -696,15 +652,15 @@ gdk_device_get_key (GdkDevice *device, **/ void gdk_device_set_key (GdkDevice *device, - guint index_, - guint keyval, - GdkModifierType modifiers) + guint index_, + guint keyval, + GdkModifierType modifiers) { g_return_if_fail (GDK_IS_DEVICE (device)); - g_return_if_fail (index_ < device->priv->num_keys); + g_return_if_fail (index_ < device->num_keys); - device->priv->keys[index_].keyval = keyval; - device->priv->keys[index_].modifiers = modifiers; + device->keys[index_].keyval = keyval; + device->keys[index_].modifiers = modifiers; } /** @@ -726,9 +682,9 @@ gdk_device_get_axis_use (GdkDevice *device, g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_AXIS_IGNORE); g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, GDK_AXIS_IGNORE); - g_return_val_if_fail (index_ < device->priv->axes->len, GDK_AXIS_IGNORE); + g_return_val_if_fail (index_ < device->axes->len, GDK_AXIS_IGNORE); - info = &g_array_index (device->priv->axes, GdkAxisInfo, index_); + info = &g_array_index (device->axes, GdkAxisInfo, index_); return info->use; } @@ -743,18 +699,16 @@ gdk_device_get_axis_use (GdkDevice *device, **/ void gdk_device_set_axis_use (GdkDevice *device, - guint index_, - GdkAxisUse use) + guint index_, + GdkAxisUse use) { - GdkDevicePrivate *priv; GdkAxisInfo *info; g_return_if_fail (GDK_IS_DEVICE (device)); g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); - g_return_if_fail (index_ < device->priv->axes->len); + g_return_if_fail (index_ < device->axes->len); - priv = device->priv; - info = &g_array_index (priv->axes, GdkAxisInfo, index_); + info = &g_array_index (device->axes, GdkAxisInfo, index_); info->use = use; switch (use) @@ -790,13 +744,9 @@ gdk_device_set_axis_use (GdkDevice *device, GdkDisplay * gdk_device_get_display (GdkDevice *device) { - GdkDevicePrivate *priv; - g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); - priv = device->priv; - - return priv->display; + return device->display; } /** @@ -820,26 +770,18 @@ gdk_device_get_display (GdkDevice *device) GdkDevice * gdk_device_get_associated_device (GdkDevice *device) { - GdkDevicePrivate *priv; - g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); - priv = device->priv; - - return priv->associated; + return device->associated; } static void _gdk_device_set_device_type (GdkDevice *device, GdkDeviceType type) { - GdkDevicePrivate *priv; - - priv = device->priv; - - if (priv->type != type) + if (device->type != type) { - priv->type = type; + device->type = type; g_object_notify (G_OBJECT (device), "type"); } @@ -849,28 +791,24 @@ void _gdk_device_set_associated_device (GdkDevice *device, GdkDevice *associated) { - GdkDevicePrivate *priv; - g_return_if_fail (GDK_IS_DEVICE (device)); g_return_if_fail (associated == NULL || GDK_IS_DEVICE (associated)); - priv = device->priv; - - if (priv->associated == associated) + if (device->associated == associated) return; - if (priv->associated) + if (device->associated) { - g_object_unref (priv->associated); - priv->associated = NULL; + g_object_unref (device->associated); + device->associated = NULL; } if (associated) - priv->associated = g_object_ref (associated); + device->associated = g_object_ref (associated); - if (priv->type != GDK_DEVICE_TYPE_MASTER) + if (device->type != GDK_DEVICE_TYPE_MASTER) { - if (priv->associated) + if (device->associated) _gdk_device_set_device_type (device, GDK_DEVICE_TYPE_SLAVE); else _gdk_device_set_device_type (device, GDK_DEVICE_TYPE_FLOATING); @@ -892,48 +830,38 @@ _gdk_device_set_associated_device (GdkDevice *device, GList * gdk_device_list_slave_devices (GdkDevice *device) { - GdkDevicePrivate *priv; - g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); g_return_val_if_fail (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER, NULL); - priv = device->priv; - - return g_list_copy (priv->slaves); + return g_list_copy (device->slaves); } void _gdk_device_add_slave (GdkDevice *device, GdkDevice *slave) { - GdkDevicePrivate *priv; - g_return_if_fail (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER); g_return_if_fail (gdk_device_get_device_type (slave) != GDK_DEVICE_TYPE_MASTER); - priv = device->priv; - - if (!g_list_find (priv->slaves, slave)) - priv->slaves = g_list_prepend (priv->slaves, slave); + if (!g_list_find (device->slaves, slave)) + device->slaves = g_list_prepend (device->slaves, slave); } void _gdk_device_remove_slave (GdkDevice *device, GdkDevice *slave) { - GdkDevicePrivate *priv; GList *elem; g_return_if_fail (gdk_device_get_device_type (device) == GDK_DEVICE_TYPE_MASTER); g_return_if_fail (gdk_device_get_device_type (slave) != GDK_DEVICE_TYPE_MASTER); - priv = device->priv; - elem = g_list_find (priv->slaves, slave); + elem = g_list_find (device->slaves, slave); if (!elem) return; - priv->slaves = g_list_delete_link (priv->slaves, elem); + device->slaves = g_list_delete_link (device->slaves, elem); } /** @@ -949,13 +877,9 @@ _gdk_device_remove_slave (GdkDevice *device, GdkDeviceType gdk_device_get_device_type (GdkDevice *device) { - GdkDevicePrivate *priv; - g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_DEVICE_TYPE_MASTER); - priv = device->priv; - - return priv->type; + return device->type; } /** @@ -974,7 +898,7 @@ gdk_device_get_n_axes (GdkDevice *device) g_return_val_if_fail (GDK_IS_DEVICE (device), 0); g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, 0); - return device->priv->axes->len; + return device->axes->len; } /** @@ -992,20 +916,17 @@ gdk_device_get_n_axes (GdkDevice *device) GList * gdk_device_list_axes (GdkDevice *device) { - GdkDevicePrivate *priv; GList *axes = NULL; gint i; g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); - priv = device->priv; - - for (i = 0; i < priv->axes->len; i++) + for (i = 0; i < device->axes->len; i++) { GdkAxisInfo axis_info; - axis_info = g_array_index (priv->axes, GdkAxisInfo, i); + axis_info = g_array_index (device->axes, GdkAxisInfo, i); axes = g_list_prepend (axes, GDK_ATOM_TO_POINTER (axis_info.label)); } @@ -1033,7 +954,6 @@ gdk_device_get_axis_value (GdkDevice *device, GdkAtom axis_label, gdouble *value) { - GdkDevicePrivate *priv; gint i; g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); @@ -1042,13 +962,11 @@ gdk_device_get_axis_value (GdkDevice *device, if (axes == NULL) return FALSE; - priv = device->priv; - - for (i = 0; i < priv->axes->len; i++) + for (i = 0; i < device->axes->len; i++) { GdkAxisInfo axis_info; - axis_info = g_array_index (priv->axes, GdkAxisInfo, i); + axis_info = g_array_index (device->axes, GdkAxisInfo, i); if (axis_info.label != axis_label) continue; @@ -1080,7 +998,6 @@ gdk_device_get_axis (GdkDevice *device, GdkAxisUse use, gdouble *value) { - GdkDevicePrivate *priv; gint i; g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); @@ -1089,15 +1006,13 @@ gdk_device_get_axis (GdkDevice *device, if (axes == NULL) return FALSE; - priv = device->priv; + g_return_val_if_fail (device->axes != NULL, FALSE); - g_return_val_if_fail (priv->axes != NULL, FALSE); - - for (i = 0; i < priv->axes->len; i++) + for (i = 0; i < device->axes->len; i++) { GdkAxisInfo axis_info; - axis_info = g_array_index (priv->axes, GdkAxisInfo, i); + axis_info = g_array_index (device->axes, GdkAxisInfo, i); if (axis_info.use != use) continue; @@ -1261,13 +1176,10 @@ gdk_device_ungrab (GdkDevice *device, void _gdk_device_reset_axes (GdkDevice *device) { - GdkDevicePrivate *priv; gint i; - priv = device->priv; - - for (i = priv->axes->len - 1; i >= 0; i--) - g_array_remove_index (priv->axes, i); + for (i = device->axes->len - 1; i >= 0; i--) + g_array_remove_index (device->axes, i); g_object_notify (G_OBJECT (device), "n-axes"); } @@ -1280,12 +1192,9 @@ _gdk_device_add_axis (GdkDevice *device, gdouble max_value, gdouble resolution) { - GdkDevicePrivate *priv; GdkAxisInfo axis_info; guint pos; - priv = device->priv; - axis_info.use = use; axis_info.label = label_atom; axis_info.min_value = min_value; @@ -1310,8 +1219,8 @@ _gdk_device_add_axis (GdkDevice *device, break; } - priv->axes = g_array_append_val (priv->axes, axis_info); - pos = device->priv->axes->len - 1; + device->axes = g_array_append_val (device->axes, axis_info); + pos = device->axes->len - 1; g_object_notify (G_OBJECT (device), "n-axes"); @@ -1322,11 +1231,11 @@ void _gdk_device_set_keys (GdkDevice *device, guint num_keys) { - if (device->priv->keys) - g_free (device->priv->keys); + if (device->keys) + g_free (device->keys); - device->priv->num_keys = num_keys; - device->priv->keys = g_new0 (GdkDeviceKey, num_keys); + device->num_keys = num_keys; + device->keys = g_new0 (GdkDeviceKey, num_keys); } static GdkAxisInfo * @@ -1351,12 +1260,9 @@ GdkAxisUse _gdk_device_get_axis_use (GdkDevice *device, guint index_) { - GdkDevicePrivate *priv; GdkAxisInfo info; - priv = device->priv; - - info = g_array_index (priv->axes, GdkAxisInfo, index_); + info = g_array_index (device->axes, GdkAxisInfo, index_); return info.use; } @@ -1367,7 +1273,6 @@ _gdk_device_translate_window_coord (GdkDevice *device, gdouble value, gdouble *axis_value) { - GdkDevicePrivate *priv; GdkAxisInfo axis_info; GdkAxisInfo *axis_info_x, *axis_info_y; gdouble device_width, device_height; @@ -1378,12 +1283,10 @@ _gdk_device_translate_window_coord (GdkDevice *device, gdouble device_aspect; gint window_width, window_height; - priv = device->priv; - - if (index_ >= priv->axes->len) + if (index_ >= device->axes->len) return FALSE; - axis_info = g_array_index (priv->axes, GdkAxisInfo, index_); + axis_info = g_array_index (device->axes, GdkAxisInfo, index_); if (axis_info.use != GDK_AXIS_X && axis_info.use != GDK_AXIS_Y) @@ -1392,11 +1295,11 @@ _gdk_device_translate_window_coord (GdkDevice *device, if (axis_info.use == GDK_AXIS_X) { axis_info_x = &axis_info; - axis_info_y = find_axis_info (priv->axes, GDK_AXIS_Y); + axis_info_y = find_axis_info (device->axes, GDK_AXIS_Y); } else { - axis_info_x = find_axis_info (priv->axes, GDK_AXIS_X); + axis_info_x = find_axis_info (device->axes, GDK_AXIS_X); axis_info_y = &axis_info; } @@ -1483,17 +1386,16 @@ _gdk_device_translate_screen_coord (GdkDevice *device, gdouble value, gdouble *axis_value) { - GdkDevicePrivate *priv = device->priv; GdkAxisInfo axis_info; gdouble axis_width, scale, offset; - if (priv->mode != GDK_MODE_SCREEN) + if (device->mode != GDK_MODE_SCREEN) return FALSE; - if (index_ >= priv->axes->len) + if (index_ >= device->axes->len) return FALSE; - axis_info = g_array_index (priv->axes, GdkAxisInfo, index_); + axis_info = g_array_index (device->axes, GdkAxisInfo, index_); if (axis_info.use != GDK_AXIS_X && axis_info.use != GDK_AXIS_Y) @@ -1532,16 +1434,13 @@ _gdk_device_translate_axis (GdkDevice *device, gdouble value, gdouble *axis_value) { - GdkDevicePrivate *priv; GdkAxisInfo axis_info; gdouble axis_width, out; - priv = device->priv; - - if (index_ >= priv->axes->len) + if (index_ >= device->axes->len) return FALSE; - axis_info = g_array_index (priv->axes, GdkAxisInfo, index_); + axis_info = g_array_index (device->axes, GdkAxisInfo, index_); if (axis_info.use == GDK_AXIS_X || axis_info.use == GDK_AXIS_Y) diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index 2c797a9fc8..8cb705a47a 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -156,14 +156,6 @@ struct _GdkTimeCoord gdouble axes[GDK_MAX_TIMECOORD_AXES]; }; -struct _GdkDevice -{ - GObject parent_instance; - - /*< private >*/ - GdkDevicePrivate *priv; -}; - GType gdk_device_get_type (void) G_GNUC_CONST; G_CONST_RETURN gchar *gdk_device_get_name (GdkDevice *device); @@ -172,11 +164,11 @@ gboolean gdk_device_get_has_cursor (GdkDevice *device); /* Functions to configure a device */ GdkInputSource gdk_device_get_source (GdkDevice *device); void gdk_device_set_source (GdkDevice *device, - GdkInputSource source); + GdkInputSource source); GdkInputMode gdk_device_get_mode (GdkDevice *device); gboolean gdk_device_set_mode (GdkDevice *device, - GdkInputMode mode); + GdkInputMode mode); gint gdk_device_get_n_keys (GdkDevice *device); gboolean gdk_device_get_key (GdkDevice *device, @@ -184,9 +176,9 @@ gboolean gdk_device_get_key (GdkDevice *device, guint *keyval, GdkModifierType *modifiers); void gdk_device_set_key (GdkDevice *device, - guint index_, - guint keyval, - GdkModifierType modifiers); + guint index_, + guint keyval, + GdkModifierType modifiers); GdkAxisUse gdk_device_get_axis_use (GdkDevice *device, guint index_); @@ -196,17 +188,17 @@ void gdk_device_set_axis_use (GdkDevice *device, void gdk_device_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask); + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask); gboolean gdk_device_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events); + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events); void gdk_device_free_history (GdkTimeCoord **events, - gint n_events); + gint n_events); gint gdk_device_get_n_axes (GdkDevice *device); GList * gdk_device_list_axes (GdkDevice *device); @@ -216,9 +208,9 @@ gboolean gdk_device_get_axis_value (GdkDevice *device, gdouble *value); gboolean gdk_device_get_axis (GdkDevice *device, - gdouble *axes, - GdkAxisUse use, - gdouble *value); + gdouble *axes, + GdkAxisUse use, + gdouble *value); GdkDisplay * gdk_device_get_display (GdkDevice *device); GdkDevice * gdk_device_get_associated_device (GdkDevice *device); diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index 53536510d8..bf0245a42f 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -20,8 +20,9 @@ #ifndef __GDK_DEVICE_PRIVATE_H__ #define __GDK_DEVICE_PRIVATE_H__ -#include -#include +#include "gdkdevicemanager.h" +#include "gdkdevice.h" +#include "gdkevents.h" G_BEGIN_DECLS @@ -31,21 +32,50 @@ G_BEGIN_DECLS typedef struct _GdkDeviceClass GdkDeviceClass; +typedef struct _GdkDeviceKey GdkDeviceKey; + +struct _GdkDeviceKey +{ + guint keyval; + GdkModifierType modifiers; +}; + +struct _GdkDevice +{ + GObject parent_instance; + + gchar *name; + GdkInputSource source; + GdkInputMode mode; + gboolean has_cursor; + gint num_keys; + GdkDeviceKey *keys; + GdkDeviceManager *manager; + GdkDisplay *display; + /* Paired master for master, + * associated master for slaves + */ + GdkDevice *associated; + GList *slaves; + GdkDeviceType type; + GArray *axes; +}; + struct _GdkDeviceClass { GObjectClass parent_class; - gboolean (* get_history) (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events); + gboolean (* get_history) (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events); - void (* get_state) (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask); + void (* get_state) (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask); void (* set_window_cursor) (GdkDevice *device, GdkWindow *window, From ea96e5e16f964c71f2ac3fcf5237542e4776221c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 11 Dec 2010 00:14:53 -0500 Subject: [PATCH 0648/1463] Explode gdkinternals.h into per-class private headers At the same time, move some more class and instance structs out of public headers. --- gdk/Makefile.am | 13 +- gdk/gdkapplaunchcontext.c | 72 ++--- gdk/gdkapplaunchcontext.h | 15 +- gdk/gdkapplaunchcontextprivate.h | 43 +++ gdk/gdkdevice.c | 5 +- gdk/gdkdevicemanager.c | 5 +- gdk/gdkdevicemanagerprivate.h | 54 ++++ gdk/gdkdeviceprivate.h | 2 +- gdk/gdkdisplay.c | 1 + gdk/gdkdisplay.h | 76 +---- gdk/gdkdisplaymanager.c | 5 +- gdk/gdkdisplaymanagerprivate.h | 50 ++++ gdk/gdkdisplayprivate.h | 202 ++++++++++++++ gdk/gdkdnd.c | 3 +- gdk/gdkdndprivate.h | 82 ++++++ gdk/gdkevents.c | 1 + gdk/gdkinternals.h | 450 ++++-------------------------- gdk/gdkkeys.c | 4 +- gdk/gdkkeys.h | 6 - gdk/gdkkeysprivate.h | 74 +++++ gdk/gdkscreen.c | 4 +- gdk/gdkscreen.h | 2 +- gdk/gdkscreenprivate.h | 98 +++++++ gdk/gdktypes.h | 3 +- gdk/gdkvisual.c | 5 +- gdk/gdkvisualprivate.h | 59 ++++ gdk/gdkwindow.c | 1 + gdk/x11/gdkapplaunchcontext-x11.c | 43 ++- gdk/x11/gdkasync.h | 2 +- gdk/x11/gdkdevicemanager-core.c | 2 +- gdk/x11/gdkdevicemanager-core.h | 3 +- gdk/x11/gdkdevicemanager-xi.h | 1 - gdk/x11/gdkdevicemanager-xi2.h | 3 +- gdk/x11/gdkdisplay-x11.h | 40 +-- gdk/x11/gdkdisplaymanager-x11.c | 2 +- gdk/x11/gdkdnd-x11.c | 2 +- gdk/x11/gdkkeys-x11.c | 8 +- gdk/x11/gdkprivate-x11.h | 6 +- gdk/x11/gdkscreen-x11.h | 8 +- gdk/x11/gdkvisual-x11.c | 3 +- gdk/x11/gdkwindow-x11.c | 1 + 41 files changed, 831 insertions(+), 628 deletions(-) create mode 100644 gdk/gdkapplaunchcontextprivate.h create mode 100644 gdk/gdkdevicemanagerprivate.h create mode 100644 gdk/gdkdisplaymanagerprivate.h create mode 100644 gdk/gdkdisplayprivate.h create mode 100644 gdk/gdkdndprivate.h create mode 100644 gdk/gdkkeysprivate.h create mode 100644 gdk/gdkscreenprivate.h create mode 100644 gdk/gdkvisualprivate.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 801719d9ac..3413076249 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -96,9 +96,18 @@ gdk_built_public_sources = \ gdkenumtypes.h gdk_private_headers = \ - gdkinternals.h \ + gdkapplaunchcontextprivate.h \ + gdkdevicemanagerprivate.h \ gdkdeviceprivate.h \ - gdkintl.h + gdkdisplaymanagerprivate.h \ + gdkdisplayprivate.h \ + gdkdndprivate.h \ + gdkscreenprivate.h \ + gdkinternals.h \ + gdkintl.h \ + gdkkeysprivate.h \ + gdkvisualprivate.h \ + gdkpoly-generic.h gdk_c_sources = \ gdk.c \ diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c index c9188e03a3..075f8fd890 100644 --- a/gdk/gdkapplaunchcontext.c +++ b/gdk/gdkapplaunchcontext.c @@ -22,9 +22,7 @@ #include "config.h" -#include "gdkapplaunchcontext.h" - -#include "gdkinternals.h" +#include "gdkapplaunchcontextprivate.h" #include "gdkscreen.h" #include "gdkintl.h" @@ -81,39 +79,29 @@ gdk_app_launch_context_class_init (GdkAppLaunchContextClass *klass) context_class->get_display = gdk_app_launch_context_get_display; context_class->get_startup_notify_id = gdk_app_launch_context_get_startup_notify_id; context_class->launch_failed = gdk_app_launch_context_launch_failed; - - g_type_class_add_private (klass, sizeof (GdkAppLaunchContextPrivate)); } static void gdk_app_launch_context_init (GdkAppLaunchContext *context) { - context->priv = G_TYPE_INSTANCE_GET_PRIVATE (context, - GDK_TYPE_APP_LAUNCH_CONTEXT, - GdkAppLaunchContextPrivate); - context->priv->workspace = -1; + context->workspace = -1; } static void gdk_app_launch_context_finalize (GObject *object) { - GdkAppLaunchContext *context; - GdkAppLaunchContextPrivate *priv; + GdkAppLaunchContext *context = GDK_APP_LAUNCH_CONTEXT (object); - context = GDK_APP_LAUNCH_CONTEXT (object); + if (context->display) + g_object_unref (context->display); - priv = context->priv; + if (context->screen) + g_object_unref (context->screen); - if (priv->display) - g_object_unref (priv->display); + if (context->icon) + g_object_unref (context->icon); - if (priv->screen) - g_object_unref (priv->screen); - - if (priv->icon) - g_object_unref (priv->icon); - - g_free (priv->icon_name); + g_free (context->icon_name); G_OBJECT_CLASS (gdk_app_launch_context_parent_class)->finalize (object); } @@ -123,16 +111,14 @@ gdk_app_launch_context_get_display (GAppLaunchContext *context, GAppInfo *info, GList *files) { + GdkAppLaunchContext *ctx = GDK_APP_LAUNCH_CONTEXT (context); GdkDisplay *display; - GdkAppLaunchContextPrivate *priv; - priv = GDK_APP_LAUNCH_CONTEXT (context)->priv; + if (ctx->screen) + return gdk_screen_make_display_name (ctx->screen); - if (priv->screen) - return gdk_screen_make_display_name (priv->screen); - - if (priv->display) - display = priv->display; + if (ctx->display) + display = ctx->display; else display = gdk_display_get_default (); @@ -158,7 +144,7 @@ gdk_app_launch_context_set_display (GdkAppLaunchContext *context, g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); g_return_if_fail (display == NULL || GDK_IS_DISPLAY (display)); - g_warn_if_fail (display == NULL || display == context->priv->display); + g_warn_if_fail (display == NULL || display == context->display); } /** @@ -182,16 +168,16 @@ gdk_app_launch_context_set_screen (GdkAppLaunchContext *context, g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); g_return_if_fail (screen == NULL || GDK_IS_SCREEN (screen)); - g_return_if_fail (screen == NULL || gdk_screen_get_display (screen) == context->priv->display); + g_return_if_fail (screen == NULL || gdk_screen_get_display (screen) == context->display); - if (context->priv->screen) + if (context->screen) { - g_object_unref (context->priv->screen); - context->priv->screen = NULL; + g_object_unref (context->screen); + context->screen = NULL; } if (screen) - context->priv->screen = g_object_ref (screen); + context->screen = g_object_ref (screen); } /** @@ -217,7 +203,7 @@ gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); - context->priv->workspace = desktop; + context->workspace = desktop; } /** @@ -241,7 +227,7 @@ gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context, { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); - context->priv->timestamp = timestamp; + context->timestamp = timestamp; } /** @@ -266,14 +252,14 @@ gdk_app_launch_context_set_icon (GdkAppLaunchContext *context, g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); g_return_if_fail (icon == NULL || G_IS_ICON (icon)); - if (context->priv->icon) + if (context->icon) { - g_object_unref (context->priv->icon); - context->priv->icon = NULL; + g_object_unref (context->icon); + context->icon = NULL; } if (icon) - context->priv->icon = g_object_ref (icon); + context->icon = g_object_ref (icon); } /** @@ -298,8 +284,8 @@ gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, { g_return_if_fail (GDK_IS_APP_LAUNCH_CONTEXT (context)); - g_free (context->priv->icon_name); - context->priv->icon_name = g_strdup (icon_name); + g_free (context->icon_name); + context->icon_name = g_strdup (icon_name); } /** diff --git a/gdk/gdkapplaunchcontext.h b/gdk/gdkapplaunchcontext.h index 6805d9f7fe..509d558d16 100644 --- a/gdk/gdkapplaunchcontext.h +++ b/gdk/gdkapplaunchcontext.h @@ -40,20 +40,7 @@ G_BEGIN_DECLS #define GDK_IS_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDK_TYPE_APP_LAUNCH_CONTEXT)) #define GDK_APP_LAUNCH_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContextClass)) -typedef struct GdkAppLaunchContextClass GdkAppLaunchContextClass; -typedef struct GdkAppLaunchContextPrivate GdkAppLaunchContextPrivate; - -struct GdkAppLaunchContext -{ - GAppLaunchContext parent_instance; - - GdkAppLaunchContextPrivate *priv; -}; - -struct GdkAppLaunchContextClass -{ - GAppLaunchContextClass parent_class; -}; +typedef GAppLaunchContextClass GdkAppLaunchContextClass; GType gdk_app_launch_context_get_type (void); diff --git a/gdk/gdkapplaunchcontextprivate.h b/gdk/gdkapplaunchcontextprivate.h new file mode 100644 index 0000000000..94c76a8550 --- /dev/null +++ b/gdk/gdkapplaunchcontextprivate.h @@ -0,0 +1,43 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_APP_LAUNCH_CONTEXT_PRIVATE_H__ +#define __GDK_APP_LAUNCH_CONTEXT_PRIVATE_H__ + +#include +#include "gdkapplaunchcontext.h" +#include "gdktypes.h" + +G_BEGIN_DECLS + +struct _GdkAppLaunchContext +{ + GAppLaunchContext parent_instance; + + GdkDisplay *display; + GdkScreen *screen; + gint workspace; + guint32 timestamp; + GIcon *icon; + char *icon_name; +}; + +G_END_DECLS + +#endif diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 1e9663bd41..1da6e4324d 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -19,10 +19,9 @@ #include "config.h" -#include "gdkdevice.h" - -#include "gdkinternals.h" #include "gdkdeviceprivate.h" +#include "gdkdisplayprivate.h" +#include "gdkinternals.h" #include "gdkintl.h" typedef struct _GdkAxisInfo GdkAxisInfo; diff --git a/gdk/gdkdevicemanager.c b/gdk/gdkdevicemanager.c index 2eefc3a445..ab546516d9 100644 --- a/gdk/gdkdevicemanager.c +++ b/gdk/gdkdevicemanager.c @@ -19,10 +19,9 @@ #include "config.h" -#include "gdkdevicemanager.h" - +#include "gdkdevicemanagerprivate.h" +#include "gdkdisplay.h" #include "gdkintl.h" -#include "gdkinternals.h" /** diff --git a/gdk/gdkdevicemanagerprivate.h b/gdk/gdkdevicemanagerprivate.h new file mode 100644 index 0000000000..a89a5e9445 --- /dev/null +++ b/gdk/gdkdevicemanagerprivate.h @@ -0,0 +1,54 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_DEVICE_MANAGER_PRIVATE_H__ +#define __GDK_DEVICE_MANAGER_PRIVATE_H__ + +#include "gdkdevicemanager.h" + +G_BEGIN_DECLS + +struct _GdkDeviceManager +{ + GObject parent_instance; + + GdkDisplay *display; +}; + +struct _GdkDeviceManagerClass +{ + GObjectClass parent_class; + + /* Signals */ + void (* device_added) (GdkDeviceManager *device_manager, + GdkDevice *device); + void (* device_removed) (GdkDeviceManager *device_manager, + GdkDevice *device); + void (* device_changed) (GdkDeviceManager *device_manager, + GdkDevice *device); + + /* VMethods */ + GList * (* list_devices) (GdkDeviceManager *device_manager, + GdkDeviceType type); + GdkDevice * (* get_client_pointer) (GdkDeviceManager *device_manager); +}; + +G_END_DECLS + +#endif diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index bf0245a42f..a9bb0455f1 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -20,8 +20,8 @@ #ifndef __GDK_DEVICE_PRIVATE_H__ #define __GDK_DEVICE_PRIVATE_H__ -#include "gdkdevicemanager.h" #include "gdkdevice.h" +#include "gdkdevicemanager.h" #include "gdkevents.h" G_BEGIN_DECLS diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index c0252c1d68..0bfd150f01 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -24,6 +24,7 @@ #include "config.h" #include "gdkdisplay.h" +#include "gdkdisplayprivate.h" #include "gdkevents.h" #include "gdkwindowimpl.h" diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 97ab5b32a6..0b9f688b6a 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -34,10 +34,6 @@ G_BEGIN_DECLS -typedef struct _GdkDisplayClass GdkDisplayClass; -typedef struct _GdkDisplayPointerHooks GdkDisplayPointerHooks; -typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; - #define GDK_TYPE_DISPLAY (gdk_display_get_type ()) #define GDK_DISPLAY_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) #define GDK_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, GdkDisplayClass)) @@ -45,76 +41,8 @@ typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; #define GDK_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY)) #define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass)) -/* Tracks information about the keyboard grab on this display */ -typedef struct -{ - GdkWindow *window; - GdkWindow *native_window; - gulong serial; - gboolean owner_events; - guint32 time; -} GdkKeyboardGrabInfo; - -/* Tracks information about which window and position the pointer last was in. - * This is useful when we need to synthesize events later. - * Note that we track toplevel_under_pointer using enter/leave events, - * so in the case of a grab, either with owner_events==FALSE or with the - * pointer in no clients window the x/y coordinates may actually be outside - * the window. - */ -typedef struct -{ - GdkWindow *toplevel_under_pointer; /* The toplevel window with mouse inside, tracked via native events */ - GdkWindow *window_under_pointer; /* The window that last got sent a normal enter event */ - gdouble toplevel_x, toplevel_y; - guint32 state; - guint32 button; -} GdkPointerWindowInfo; - -typedef struct -{ - guint32 button_click_time[2]; /* The last 2 button click times. */ - GdkWindow *button_window[2]; /* The last 2 windows to receive button presses. */ - gint button_number[2]; /* The last 2 buttons to be pressed. */ - gint button_x[2]; /* The last 2 button click positions. */ - gint button_y[2]; -} GdkMultipleClickInfo; - -struct _GdkDisplay -{ - GObject parent_instance; - - /*< private >*/ - GList *GSEAL (queued_events); - GList *GSEAL (queued_tail); - - /* Information for determining if the latest button click - * is part of a double-click or triple-click - */ - GHashTable *GSEAL (multiple_click_info); - - guint GSEAL (double_click_time); /* Maximum time between clicks in msecs */ - GdkDevice *GSEAL (core_pointer); /* Core pointer device */ - - const GdkDisplayDeviceHooks *GSEAL (device_hooks); /* Current hooks for querying pointer */ - - guint GSEAL (closed) : 1; /* Whether this display has been closed */ - guint GSEAL (ignore_core_events) : 1; /* Don't send core motion and button event */ - - guint GSEAL (double_click_distance); /* Maximum distance between clicks in pixels */ - - GHashTable *GSEAL (device_grabs); - GHashTable *GSEAL (motion_hint_info); - - /* Hashtable containing a GdkPointerWindowInfo for each device */ - GHashTable *GSEAL (pointers_info); - - /* Last reported event time from server */ - guint32 GSEAL (last_event_time); - - /* Device manager associated to the display */ - GdkDeviceManager *GSEAL (device_manager); -}; +typedef struct _GdkDisplayPointerHooks GdkDisplayPointerHooks; +typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; /** * GdkDisplayPointerHooks: diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index c5653967cd..7cb067edf9 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -27,10 +27,7 @@ #include "config.h" #include "gdkconfig.h" -#include "gdkdisplaymanager.h" - -#include "gdkscreen.h" -#include "gdkdisplay.h" +#include "gdkdisplaymanagerprivate.h" #include "gdkinternals.h" #include "gdkmarshalers.h" #include "gdkintl.h" diff --git a/gdk/gdkdisplaymanagerprivate.h b/gdk/gdkdisplaymanagerprivate.h new file mode 100644 index 0000000000..f10d00a79f --- /dev/null +++ b/gdk/gdkdisplaymanagerprivate.h @@ -0,0 +1,50 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010, Red Hat, Inc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_DISPLAY_MANAGER_PRIVATE_H__ +#define __GDK_DISPLAY_MANAGER_PRIVATE_H__ + +#include "gdkdisplaymanager.h" + +G_BEGIN_DECLS + +struct _GdkDisplayManager +{ + GObject parent_instance; +}; + +struct _GdkDisplayManagerClass +{ + GObjectClass parent_class; + + GSList * (*list_displays) (GdkDisplayManager *manager); + GdkDisplay * (*get_default_display) (GdkDisplayManager *manager); + void (*set_default_display) (GdkDisplayManager *manager, + GdkDisplay *display); + GdkDisplay * (*open_display) (GdkDisplayManager *manager, + const gchar *name); + + /* signals */ + void (*display_opened) (GdkDisplayManager *manager, + GdkDisplay *display); +}; + +G_END_DECLS + +#endif diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h new file mode 100644 index 0000000000..96cb9a110d --- /dev/null +++ b/gdk/gdkdisplayprivate.h @@ -0,0 +1,202 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_DISPLAY_PRIVATE_H__ +#define __GDK_DISPLAY_PRIVATE_H__ + +#include "gdkdisplay.h" + +G_BEGIN_DECLS + +typedef struct _GdkDisplayClass GdkDisplayClass; + +/* Tracks information about the keyboard grab on this display */ +typedef struct +{ + GdkWindow *window; + GdkWindow *native_window; + gulong serial; + gboolean owner_events; + guint32 time; +} GdkKeyboardGrabInfo; + +/* Tracks information about the pointer grab on this display */ +typedef struct +{ + GdkWindow *window; + GdkWindow *native_window; + gulong serial_start; + gulong serial_end; /* exclusive, i.e. not active on serial_end */ + gboolean owner_events; + guint event_mask; + gboolean implicit; + guint32 time; + GdkGrabOwnership ownership; + + guint activated : 1; + guint implicit_ungrab : 1; +} GdkDeviceGrabInfo; + +/* Tracks information about which window and position the pointer last was in. + * This is useful when we need to synthesize events later. + * Note that we track toplevel_under_pointer using enter/leave events, + * so in the case of a grab, either with owner_events==FALSE or with the + * pointer in no clients window the x/y coordinates may actually be outside + * the window. + */ +typedef struct +{ + GdkWindow *toplevel_under_pointer; /* toplevel window containing the pointer, */ + /* tracked via native events */ + GdkWindow *window_under_pointer; /* window that last got a normal enter event */ + gdouble toplevel_x, toplevel_y; + guint32 state; + guint32 button; +} GdkPointerWindowInfo; + +typedef struct +{ + guint32 button_click_time[2]; /* last 2 button click times */ + GdkWindow *button_window[2]; /* last 2 windows to receive button presses */ + gint button_number[2]; /* last 2 buttons to be pressed */ + gint button_x[2]; /* last 2 button click positions */ + gint button_y[2]; +} GdkMultipleClickInfo; + +struct _GdkDisplay +{ + GObject parent_instance; + + GList *queued_events; + GList *queued_tail; + + /* Information for determining if the latest button click + * is part of a double-click or triple-click + */ + GHashTable *multiple_click_info; + guint double_click_time; /* Maximum time between clicks in msecs */ + GdkDevice *core_pointer; /* Core pointer device */ + + const GdkDisplayDeviceHooks *device_hooks; /* Hooks for querying pointer */ + + guint closed : 1; /* Whether this display has been closed */ + guint ignore_core_events : 1; /* Don't send core motion and button event */ + + guint double_click_distance; /* Maximum distance between clicks in pixels */ + + GHashTable *device_grabs; + GHashTable *motion_hint_info; + + GHashTable *pointers_info; /* GdkPointerWindowInfo for each device */ + guint32 last_event_time; /* Last reported event time from server */ + + GdkDeviceManager *device_manager; +}; + +struct _GdkDisplayClass +{ + GObjectClass parent_class; + + G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display); + gint (*get_n_screens) (GdkDisplay *display); + GdkScreen * (*get_screen) (GdkDisplay *display, + gint screen_num); + GdkScreen * (*get_default_screen) (GdkDisplay *display); + void (*beep) (GdkDisplay *display); + void (*sync) (GdkDisplay *display); + void (*flush) (GdkDisplay *display); + gboolean (*has_pending) (GdkDisplay *display); + void (*queue_events) (GdkDisplay *display); + GdkWindow * (*get_default_group) (GdkDisplay *display); + gboolean (*supports_selection_notification) (GdkDisplay *display); + gboolean (*request_selection_notification) (GdkDisplay *display, + GdkAtom selection); + gboolean (*supports_clipboard_persistence) (GdkDisplay *display); + void (*store_clipboard) (GdkDisplay *display, + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets); + gboolean (*supports_shapes) (GdkDisplay *display); + gboolean (*supports_input_shapes) (GdkDisplay *display); + gboolean (*supports_composite) (GdkDisplay *display); + GList * (*list_devices) (GdkDisplay *display); + gboolean (*send_client_message) (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid); + void (*add_client_message_filter) (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data); + GdkAppLaunchContext * (*get_app_launch_context) (GdkDisplay *display); + GdkNativeWindow (*get_drag_protocol) (GdkDisplay *display, + GdkNativeWindow winid, + GdkDragProtocol *protocol, + guint *version); + + /* Signals */ + void (*closed) (GdkDisplay *display, + gboolean is_error); +}; + + +typedef void (* GdkDisplayPointerInfoForeach) (GdkDisplay *display, + GdkDevice *device, + GdkPointerWindowInfo *device_info, + gpointer user_data); + +void _gdk_display_device_grab_update (GdkDisplay *display, + GdkDevice *device, + GdkDevice *source_device, + gulong current_serial); +GdkDeviceGrabInfo * _gdk_display_get_last_device_grab (GdkDisplay *display, + GdkDevice *device); +GdkDeviceGrabInfo * _gdk_display_add_device_grab (GdkDisplay *display, + GdkDevice *device, + GdkWindow *window, + GdkWindow *native_window, + GdkGrabOwnership grab_ownership, + gboolean owner_events, + GdkEventMask event_mask, + gulong serial_start, + guint32 time, + gboolean implicit); +GdkDeviceGrabInfo * _gdk_display_has_device_grab (GdkDisplay *display, + GdkDevice *device, + gulong serial); +gboolean _gdk_display_end_device_grab (GdkDisplay *display, + GdkDevice *device, + gulong serial, + GdkWindow *if_child, + gboolean implicit); +gboolean _gdk_display_check_grab_ownership (GdkDisplay *display, + GdkDevice *device, + gulong serial); +void _gdk_display_enable_motion_hints (GdkDisplay *display, + GdkDevice *device); +GdkPointerWindowInfo * _gdk_display_get_pointer_info (GdkDisplay *display, + GdkDevice *device); +void _gdk_display_pointer_info_foreach (GdkDisplay *display, + GdkDisplayPointerInfoForeach func, + gpointer user_data); + + +G_END_DECLS + +#endif /* __GDK_DISPLAY_PRIVATE_H__ */ diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c index 0d5e5bec44..542f88f154 100644 --- a/gdk/gdkdnd.c +++ b/gdk/gdkdnd.c @@ -26,8 +26,7 @@ #include "config.h" -#include "gdkdnd.h" -#include "gdkinternals.h" +#include "gdkdndprivate.h" #include "gdkdisplay.h" #include "gdkwindow.h" diff --git a/gdk/gdkdndprivate.h b/gdk/gdkdndprivate.h new file mode 100644 index 0000000000..ca82bdc14a --- /dev/null +++ b/gdk/gdkdndprivate.h @@ -0,0 +1,82 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010, Red Hat, Inc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_DND_PRIVATE_H__ +#define __GDK_DND_PRIVATE_H__ + +#include "gdkdnd.h" + +G_BEGIN_DECLS + +struct _GdkDragContextClass { + GObjectClass parent_class; + + GdkWindow * (*find_window) (GdkDragContext *context, + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkDragProtocol *protocol); + GdkAtom (*get_selection) (GdkDragContext *context); + gboolean (*drag_motion) (GdkDragContext *context, + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint root_x, + gint root_y, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time_); + void (*drag_status) (GdkDragContext *context, + GdkDragAction action, + guint32 time_); + void (*drag_abort) (GdkDragContext *context, + guint32 time_); + void (*drag_drop) (GdkDragContext *context, + guint32 time_); + void (*drop_reply) (GdkDragContext *context, + gboolean accept, + guint32 time_); + void (*drop_finish) (GdkDragContext *context, + gboolean success, + guint32 time_); + gboolean (*drop_status) (GdkDragContext *context); +}; + +struct _GdkDragContext { + GObject parent_instance; + + GdkDragProtocol protocol; + + gboolean is_source; + GdkWindow *source_window; + GdkWindow *dest_window; + + GList *targets; + GdkDragAction actions; + GdkDragAction suggested_action; + GdkDragAction action; + + guint32 start_time; + + GdkDevice *device; +}; + +G_END_DECLS + +#endif diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 4499d22061..38c310c83d 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -27,6 +27,7 @@ #include "config.h" #include "gdkinternals.h" +#include "gdkdisplayprivate.h" #include #include diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 28b419fe62..2259bc5116 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -30,8 +30,9 @@ #define __GDK_INTERNALS_H__ #include -#include -#include +#include "gdkwindowimpl.h" +#include "gdkdisplay.h" +#include "gdkprivate.h" G_BEGIN_DECLS @@ -42,8 +43,8 @@ G_BEGIN_DECLS /* Debugging support */ typedef struct _GdkColorInfo GdkColorInfo; -typedef struct _GdkEventFilter GdkEventFilter; -typedef struct _GdkClientFilter GdkClientFilter; +typedef struct _GdkEventFilter GdkEventFilter; +typedef struct _GdkClientFilter GdkClientFilter; typedef enum { GDK_COLOR_WRITEABLE = 1 << 0 @@ -78,26 +79,26 @@ typedef enum { GDK_DEBUG_DND = 1 << 2, GDK_DEBUG_XIM = 1 << 3, GDK_DEBUG_NOGRABS = 1 << 4, - GDK_DEBUG_COLORMAP = 1 << 5, - GDK_DEBUG_INPUT = 1 << 6, - GDK_DEBUG_CURSOR = 1 << 7, - GDK_DEBUG_MULTIHEAD = 1 << 8, - GDK_DEBUG_XINERAMA = 1 << 9, - GDK_DEBUG_DRAW = 1 <<10, + GDK_DEBUG_COLORMAP = 1 << 5, + GDK_DEBUG_INPUT = 1 << 6, + GDK_DEBUG_CURSOR = 1 << 7, + GDK_DEBUG_MULTIHEAD = 1 << 8, + GDK_DEBUG_XINERAMA = 1 << 9, + GDK_DEBUG_DRAW = 1 <<10, GDK_DEBUG_EVENTLOOP = 1 <<11 } GdkDebugFlag; extern GList *_gdk_default_filters; -extern GdkWindow *_gdk_parent_root; +extern GdkWindow *_gdk_parent_root; extern guint _gdk_debug_flags; extern gboolean _gdk_native_windows; #ifdef G_ENABLE_DEBUG -#define GDK_NOTE(type,action) G_STMT_START { \ - if (_gdk_debug_flags & GDK_DEBUG_##type) \ - { action; }; } G_STMT_END +#define GDK_NOTE(type,action) G_STMT_START { \ + if (_gdk_debug_flags & GDK_DEBUG_##type) \ + { action; }; } G_STMT_END #else /* !G_ENABLE_DEBUG */ @@ -157,30 +158,8 @@ struct _GdkEventPrivate GdkDevice *source_device; }; -/* Tracks information about the pointer grab on this display */ -typedef struct -{ - GdkWindow *window; - GdkWindow *native_window; - gulong serial_start; - gulong serial_end; /* exclusive, i.e. not active on serial_end */ - gboolean owner_events; - guint event_mask; - gboolean implicit; - guint32 time; - GdkGrabOwnership ownership; - - guint activated : 1; - guint implicit_ungrab : 1; -} GdkDeviceGrabInfo; - typedef struct _GdkWindowPaint GdkWindowPaint; -typedef void (* GdkDisplayPointerInfoForeach) (GdkDisplay *display, - GdkDevice *device, - GdkPointerWindowInfo *device_info, - gpointer user_data); - struct _GdkWindow { GObject parent_instance; @@ -269,290 +248,6 @@ struct _GdkWindow #define GDK_WINDOW_TYPE(d) (((GDK_WINDOW (d)))->window_type) #define GDK_WINDOW_DESTROYED(d) (GDK_WINDOW (d)->destroyed) -struct _GdkDisplayManager -{ - GObject parent_instance; -}; - -struct _GdkDisplayManagerClass -{ - GObjectClass parent_class; - - GSList * (*list_displays) (GdkDisplayManager *manager); - GdkDisplay * (*get_default_display) (GdkDisplayManager *manager); - void (*set_default_display) (GdkDisplayManager *manager, - GdkDisplay *display); - GdkDisplay * (*open_display) (GdkDisplayManager *manager, - const gchar *name); - - /* signals */ - void (*display_opened) (GdkDisplayManager *manager, - GdkDisplay *display); -}; - -struct _GdkDisplayClass -{ - GObjectClass parent_class; - - G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display); - gint (*get_n_screens) (GdkDisplay *display); - GdkScreen * (*get_screen) (GdkDisplay *display, - gint screen_num); - GdkScreen * (*get_default_screen) (GdkDisplay *display); - void (*beep) (GdkDisplay *display); - void (*sync) (GdkDisplay *display); - void (*flush) (GdkDisplay *display); - gboolean (*has_pending) (GdkDisplay *display); - void (*queue_events) (GdkDisplay *display); - GdkWindow * (*get_default_group) (GdkDisplay *display); - gboolean (*supports_selection_notification) (GdkDisplay *display); - gboolean (*request_selection_notification) (GdkDisplay *display, - GdkAtom selection); - gboolean (*supports_clipboard_persistence) (GdkDisplay *display); - void (*store_clipboard) (GdkDisplay *display, - GdkWindow *clipboard_window, - guint32 time_, - const GdkAtom *targets, - gint n_targets); - gboolean (*supports_shapes) (GdkDisplay *display); - gboolean (*supports_input_shapes) (GdkDisplay *display); - gboolean (*supports_composite) (GdkDisplay *display); - GList * (*list_devices) (GdkDisplay *display); - gboolean (*send_client_message) (GdkDisplay *display, - GdkEvent *event, - GdkNativeWindow winid); - void (*add_client_message_filter) (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data); - GdkAppLaunchContext * (*get_app_launch_context) (GdkDisplay *display); - GdkNativeWindow (*get_drag_protocol) (GdkDisplay *display, - GdkNativeWindow winid, - GdkDragProtocol *protocol, - guint *version); - - - /* Signals */ - void (*closed) (GdkDisplay *display, - gboolean is_error); -}; - - -struct _GdkKeymapClass -{ - GObjectClass parent_class; - - PangoDirection (* get_direction) (GdkKeymap *keymap); - gboolean (* have_bidi_layouts) (GdkKeymap *keymap); - gboolean (* get_caps_lock_state) (GdkKeymap *keymap); - gboolean (* get_num_lock_state) (GdkKeymap *keymap); - gboolean (* get_entries_for_keyval) (GdkKeymap *keymap, - guint keyval, - GdkKeymapKey **keys, - gint *n_keys); - gboolean (* get_entries_for_keycode) (GdkKeymap *keymap, - guint hardware_keycode, - GdkKeymapKey **keys, - guint **keyvals, - gint *n_entries); - guint (* lookup_key) (GdkKeymap *keymap, - const GdkKeymapKey *key); - gboolean (* translate_keyboard_state) (GdkKeymap *keymap, - guint hardware_keycode, - GdkModifierType state, - gint group, - guint *keyval, - gint *effective_group, - gint *level, - GdkModifierType *consumed_modifiers); - void (* add_virtual_modifiers) (GdkKeymap *keymap, - GdkModifierType *state); - gboolean (* map_virtual_modifiers) (GdkKeymap *keymap, - GdkModifierType *state); - - - /* Signals */ - void (*direction_changed) (GdkKeymap *keymap); - void (*keys_changed) (GdkKeymap *keymap); - void (*state_changed) (GdkKeymap *keymap); -}; - -struct _GdkScreen -{ - GObject parent_instance; - - guint closed : 1; - - cairo_font_options_t *font_options; - double resolution; /* pixels/points scale factor for fonts */ -}; - -struct _GdkScreenClass -{ - GObjectClass parent_class; - - GdkDisplay * (* get_display) (GdkScreen *screen); - gint (* get_width) (GdkScreen *screen); - gint (* get_height) (GdkScreen *screen); - gint (* get_width_mm) (GdkScreen *screen); - gint (* get_height_mm) (GdkScreen *screen); - gint (* get_number) (GdkScreen *screen); - GdkWindow * (* get_root_window) (GdkScreen *screen); - gint (* get_n_monitors) (GdkScreen *screen); - gint (* get_primary_monitor) (GdkScreen *screen); - gint (* get_monitor_width_mm) (GdkScreen *screen, - gint monitor_num); - gint (* get_monitor_height_mm) (GdkScreen *screen, - gint monitor_num); - gchar * (* get_monitor_plug_name) (GdkScreen *screen, - gint monitor_num); - void (* get_monitor_geometry) (GdkScreen *screen, - gint monitor_num, - GdkRectangle *dest); - GList * (* list_visuals) (GdkScreen *screen); - GdkVisual * (* get_system_visual) (GdkScreen *screen); - GdkVisual * (* get_rgba_visual) (GdkScreen *screen); - gboolean (* is_composited) (GdkScreen *screen); - gchar * (* make_display_name) (GdkScreen *screen); - GdkWindow * (* get_active_window) (GdkScreen *screen); - GList * (* get_window_stack) (GdkScreen *screen); - void (* broadcast_client_message) (GdkScreen *screen, - GdkEvent *event); - gboolean (* get_setting) (GdkScreen *screen, - const gchar *name, - GValue *value); - gint (* visual_get_best_depth) (GdkScreen *screen); - GdkVisualType (* visual_get_best_type) (GdkScreen *screen); - GdkVisual * (* visual_get_best) (GdkScreen *screen); - GdkVisual * (* visual_get_best_with_depth) (GdkScreen *screen, - gint depth); - GdkVisual * (* visual_get_best_with_type) (GdkScreen *screen, - GdkVisualType visual_type); - GdkVisual * (* visual_get_best_with_both) (GdkScreen *screen, - gint depth, - GdkVisualType visual_type); - void (* query_depths) (GdkScreen *screen, - gint **depths, - gint *count); - void (* query_visual_types) (GdkScreen *screen, - GdkVisualType **visual_types, - gint *count); - - - /* Signals: */ - void (*size_changed) (GdkScreen *screen); - void (*composited_changed) (GdkScreen *screen); - void (*monitors_changed) (GdkScreen *screen); -}; - -struct _GdkDragContextClass { - GObjectClass parent_class; - - GdkWindow * (*find_window) (GdkDragContext *context, - GdkWindow *drag_window, - GdkScreen *screen, - gint x_root, - gint y_root, - GdkDragProtocol *protocol); - GdkAtom (*get_selection) (GdkDragContext *context); - gboolean (*drag_motion) (GdkDragContext *context, - GdkWindow *dest_window, - GdkDragProtocol protocol, - gint root_x, - gint root_y, - GdkDragAction suggested_action, - GdkDragAction possible_actions, - guint32 time_); - void (*drag_status) (GdkDragContext *context, - GdkDragAction action, - guint32 time_); - void (*drag_abort) (GdkDragContext *context, - guint32 time_); - void (*drag_drop) (GdkDragContext *context, - guint32 time_); - void (*drop_reply) (GdkDragContext *context, - gboolean accept, - guint32 time_); - void (*drop_finish) (GdkDragContext *context, - gboolean success, - guint32 time_); - gboolean (*drop_status) (GdkDragContext *context); -}; - -struct _GdkDragContext { - GObject parent_instance; - - GdkDragProtocol protocol; - - gboolean is_source; - GdkWindow *source_window; - GdkWindow *dest_window; - - GList *targets; - GdkDragAction actions; - GdkDragAction suggested_action; - GdkDragAction action; - - guint32 start_time; - - GdkDevice *device; -}; - -struct _GdkVisual -{ - GObject parent_instance; - - GdkVisualType type; - gint depth; - GdkByteOrder byte_order; - gint colormap_size; - gint bits_per_rgb; - - guint32 red_mask; - gint red_shift; - gint red_prec; - - guint32 green_mask; - gint green_shift; - gint green_prec; - - guint32 blue_mask; - gint blue_shift; - gint blue_prec; - - GdkScreen *screen; -}; - -struct _GdkVisualClass -{ - GObjectClass parent_class; -}; - -struct _GdkDeviceManager -{ - GObject parent_instance; - - GdkDisplay *display; -}; - -struct _GdkDeviceManagerClass -{ - GObjectClass parent_class; - - /* Signals */ - void (* device_added) (GdkDeviceManager *device_manager, - GdkDevice *device); - void (* device_removed) (GdkDeviceManager *device_manager, - GdkDevice *device); - void (* device_changed) (GdkDeviceManager *device_manager, - GdkDevice *device); - - /* VMethods */ - GList * (* list_devices) (GdkDeviceManager *device_manager, - GdkDeviceType type); - GdkDevice * (* get_client_pointer) (GdkDeviceManager *device_manager); -}; - extern gchar *_gdk_display_name; extern gint _gdk_screen_number; extern gchar *_gdk_display_arg_name; @@ -566,11 +261,11 @@ void _gdk_event_filter_unref (GdkWindow *window, void _gdk_event_emit (GdkEvent *event); GList* _gdk_event_queue_find_first (GdkDisplay *display); void _gdk_event_queue_remove_link (GdkDisplay *display, - GList *node); + GList *node); GList* _gdk_event_queue_prepend (GdkDisplay *display, - GdkEvent *event); + GdkEvent *event); GList* _gdk_event_queue_append (GdkDisplay *display, - GdkEvent *event); + GdkEvent *event); GList* _gdk_event_queue_insert_after (GdkDisplay *display, GdkEvent *after_event, GdkEvent *event); @@ -578,7 +273,7 @@ GList* _gdk_event_queue_insert_before(GdkDisplay *display, GdkEvent *after_event, GdkEvent *event); void _gdk_event_button_generate (GdkDisplay *display, - GdkEvent *event); + GdkEvent *event); void _gdk_windowing_event_data_copy (const GdkEvent *src, GdkEvent *dst); @@ -601,9 +296,9 @@ cairo_surface_t * _gdk_window_ref_cairo_surface (GdkWindow *window); void _gdk_window_impl_new (GdkWindow *window, - GdkWindow *real_parent, - GdkScreen *screen, - GdkEventMask event_mask, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, GdkWindowAttr *attributes, gint attributes_mask); void _gdk_window_destroy (GdkWindow *window, @@ -629,20 +324,20 @@ void _gdk_cursor_destroy (GdkCursor *cursor); extern const GOptionEntry _gdk_windowing_args[]; gchar *_gdk_windowing_substitute_screen_number (const gchar *display_name, - gint screen_number); + gint screen_number); gulong _gdk_windowing_window_get_next_serial (GdkDisplay *display); void _gdk_windowing_window_get_offsets (GdkWindow *window, - gint *x_offset, - gint *y_offset); + gint *x_offset, + gint *y_offset); void _gdk_windowing_get_device_state (GdkDisplay *display, GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask); GdkWindow* _gdk_windowing_window_at_device_position (GdkDisplay *display, GdkDevice *device, gint *win_x, @@ -650,9 +345,9 @@ GdkWindow* _gdk_windowing_window_at_device_position (GdkDisplay *display, GdkModifierType *mask, gboolean get_toplevel); void _gdk_windowing_got_event (GdkDisplay *display, - GList *event_link, - GdkEvent *event, - gulong serial); + GList *event_link, + GdkEvent *event, + gulong serial); void _gdk_windowing_window_process_updates_recurse (GdkWindow *window, cairo_region_t *expose_region); @@ -663,11 +358,11 @@ void _gdk_windowing_after_process_all_updates (void); #define GDK_WINDOW_IS_MAPPED(window) (((window)->state & GDK_WINDOW_STATE_WITHDRAWN) == 0) void _gdk_windowing_display_set_sm_client_id (GdkDisplay *display, - const gchar *sm_client_id); + const gchar *sm_client_id); #define GDK_TYPE_PAINTABLE (_gdk_paintable_get_type ()) #define GDK_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PAINTABLE, GdkPaintable)) -#define GDK_IS_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PAINTABLE)) +#define GDK_IS_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PAINTABLE)) #define GDK_PAINTABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GDK_TYPE_PAINTABLE, GdkPaintableIface)) typedef struct _GdkPaintable GdkPaintable; @@ -685,76 +380,29 @@ struct _GdkPaintableIface GType _gdk_paintable_get_type (void) G_GNUC_CONST; -struct GdkAppLaunchContextPrivate -{ - GdkDisplay *display; - GdkScreen *screen; - gint workspace; - guint32 timestamp; - GIcon *icon; - char *icon_name; -}; - -void _gdk_display_device_grab_update (GdkDisplay *display, - GdkDevice *device, - GdkDevice *source_device, - gulong current_serial); -GdkDeviceGrabInfo *_gdk_display_get_last_device_grab (GdkDisplay *display, - GdkDevice *device); -GdkDeviceGrabInfo *_gdk_display_add_device_grab (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - GdkWindow *native_window, - GdkGrabOwnership grab_ownership, - gboolean owner_events, - GdkEventMask event_mask, - unsigned long serial_start, - guint32 time, - gboolean implicit); -GdkDeviceGrabInfo * _gdk_display_has_device_grab (GdkDisplay *display, - GdkDevice *device, - gulong serial); -gboolean _gdk_display_end_device_grab (GdkDisplay *display, - GdkDevice *device, - gulong serial, - GdkWindow *if_child, - gboolean implicit); -gboolean _gdk_display_check_grab_ownership (GdkDisplay *display, - GdkDevice *device, - gulong serial); -void _gdk_display_enable_motion_hints (GdkDisplay *display, - GdkDevice *device); - -GdkPointerWindowInfo * _gdk_display_get_pointer_info (GdkDisplay *display, - GdkDevice *device); - -void _gdk_display_pointer_info_foreach (GdkDisplay *display, - GdkDisplayPointerInfoForeach func, - gpointer user_data); - void _gdk_window_invalidate_for_expose (GdkWindow *window, - cairo_region_t *region); + cairo_region_t *region); GdkWindow * _gdk_window_find_child_at (GdkWindow *window, - int x, int y); + int x, int y); GdkWindow * _gdk_window_find_descendant_at (GdkWindow *toplevel, - double x, double y, - double *found_x, - double *found_y); + double x, double y, + double *found_x, + double *found_y); void _gdk_window_add_damage (GdkWindow *toplevel, - cairo_region_t *damaged_region); + cairo_region_t *damaged_region); GdkEvent * _gdk_make_event (GdkWindow *window, - GdkEventType type, - GdkEvent *event_in_queue, - gboolean before_event); + GdkEventType type, + GdkEvent *event_in_queue, + gboolean before_event); gboolean _gdk_window_event_parent_of (GdkWindow *parent, GdkWindow *child); void _gdk_synthesize_crossing_events (GdkDisplay *display, - GdkWindow *src, - GdkWindow *dest, + GdkWindow *src, + GdkWindow *dest, GdkDevice *device, GdkDevice *source_device, GdkCrossingMode mode, @@ -767,7 +415,7 @@ void _gdk_synthesize_crossing_events (GdkDisplay *display, gboolean non_linear); void _gdk_display_set_window_under_pointer (GdkDisplay *display, GdkDevice *device, - GdkWindow *window); + GdkWindow *window); void _gdk_synthesize_crossing_events_for_geometry_change (GdkWindow *changed_window); @@ -785,8 +433,8 @@ GdkWindow * _gdk_window_get_impl_window (GdkWindow *window); *****************************/ GType gdk_offscreen_window_get_type (void); void _gdk_offscreen_window_new (GdkWindow *window, - GdkWindowAttr *attributes, - gint attributes_mask); + GdkWindowAttr *attributes, + gint attributes_mask); cairo_surface_t * _gdk_offscreen_window_create_surface (GdkWindow *window, gint width, gint height); diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index c52a45e241..75ef078ced 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -26,9 +26,7 @@ #include "config.h" -#include "gdkinternals.h" -#include "gdkkeys.h" - +#include "gdkkeysprivate.h" #include "gdkdisplay.h" diff --git a/gdk/gdkkeys.h b/gdk/gdkkeys.h index cc04057cfd..229cf80207 100644 --- a/gdk/gdkkeys.h +++ b/gdk/gdkkeys.h @@ -70,7 +70,6 @@ struct _GdkKeymapKey #define GDK_IS_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_KEYMAP)) #define GDK_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_KEYMAP, GdkKeymapClass)) -typedef struct _GdkKeymap GdkKeymap; typedef struct _GdkKeymapClass GdkKeymapClass; /** @@ -83,11 +82,6 @@ typedef struct _GdkKeymapClass GdkKeymapClass; * state; the second phase is to look up the keycode/group/level triplet * in the keymap and see what keyval it corresponds to. */ -struct _GdkKeymap -{ - GObject parent_instance; - GdkDisplay *GSEAL (display); -}; GType gdk_keymap_get_type (void) G_GNUC_CONST; diff --git a/gdk/gdkkeysprivate.h b/gdk/gdkkeysprivate.h new file mode 100644 index 0000000000..7e02e56c96 --- /dev/null +++ b/gdk/gdkkeysprivate.h @@ -0,0 +1,74 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_KEYS_PRIVATE_H__ +#define __GDK_KEYS_PRIVATE_H__ + +#include "gdkkeys.h" + +G_BEGIN_DECLS + +struct _GdkKeymapClass +{ + GObjectClass parent_class; + + PangoDirection (* get_direction) (GdkKeymap *keymap); + gboolean (* have_bidi_layouts) (GdkKeymap *keymap); + gboolean (* get_caps_lock_state) (GdkKeymap *keymap); + gboolean (* get_num_lock_state) (GdkKeymap *keymap); + gboolean (* get_entries_for_keyval) (GdkKeymap *keymap, + guint keyval, + GdkKeymapKey **keys, + gint *n_keys); + gboolean (* get_entries_for_keycode) (GdkKeymap *keymap, + guint hardware_keycode, + GdkKeymapKey **keys, + guint **keyvals, + gint *n_entries); + guint (* lookup_key) (GdkKeymap *keymap, + const GdkKeymapKey *key); + gboolean (* translate_keyboard_state) (GdkKeymap *keymap, + guint hardware_keycode, + GdkModifierType state, + gint group, + guint *keyval, + gint *effective_group, + gint *level, + GdkModifierType *consumed_modifiers); + void (* add_virtual_modifiers) (GdkKeymap *keymap, + GdkModifierType *state); + gboolean (* map_virtual_modifiers) (GdkKeymap *keymap, + GdkModifierType *state); + + + /* Signals */ + void (*direction_changed) (GdkKeymap *keymap); + void (*keys_changed) (GdkKeymap *keymap); + void (*state_changed) (GdkKeymap *keymap); +}; + +struct _GdkKeymap +{ + GObject parent_instance; + GdkDisplay *display; +}; + +G_END_DECLS + +#endif diff --git a/gdk/gdkscreen.c b/gdk/gdkscreen.c index df316a6f44..7658bfab9c 100644 --- a/gdk/gdkscreen.c +++ b/gdk/gdkscreen.c @@ -23,9 +23,7 @@ #include "config.h" -#include "gdkscreen.h" -#include "gdkinternals.h" - +#include "gdkscreenprivate.h" #include "gdkrectangle.h" #include "gdkwindow.h" #include "gdkintl.h" diff --git a/gdk/gdkscreen.h b/gdk/gdkscreen.h index 4b11320a4a..9898e70197 100644 --- a/gdk/gdkscreen.h +++ b/gdk/gdkscreen.h @@ -44,7 +44,7 @@ typedef struct _GdkScreenClass GdkScreenClass; #define GDK_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN, GdkScreenClass)) GType gdk_screen_get_type (void) G_GNUC_CONST; -GdkVisual* gdk_screen_get_system_visual (GdkScreen *screen); +GdkVisual * gdk_screen_get_system_visual (GdkScreen *screen); GdkVisual * gdk_screen_get_rgba_visual (GdkScreen *screen); gboolean gdk_screen_is_composited (GdkScreen *screen); diff --git a/gdk/gdkscreenprivate.h b/gdk/gdkscreenprivate.h new file mode 100644 index 0000000000..eb87949b3b --- /dev/null +++ b/gdk/gdkscreenprivate.h @@ -0,0 +1,98 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_SCREEN_PRIVATE_H__ +#define __GDK_SCREEN_PRIVATE_H__ + +#include "gdkscreen.h" +#include "gdkvisual.h" + +G_BEGIN_DECLS + +struct _GdkScreen +{ + GObject parent_instance; + + guint closed : 1; + + cairo_font_options_t *font_options; + double resolution; /* pixels/points scale factor for fonts */ +}; + +struct _GdkScreenClass +{ + GObjectClass parent_class; + + GdkDisplay * (* get_display) (GdkScreen *screen); + gint (* get_width) (GdkScreen *screen); + gint (* get_height) (GdkScreen *screen); + gint (* get_width_mm) (GdkScreen *screen); + gint (* get_height_mm) (GdkScreen *screen); + gint (* get_number) (GdkScreen *screen); + GdkWindow * (* get_root_window) (GdkScreen *screen); + gint (* get_n_monitors) (GdkScreen *screen); + gint (* get_primary_monitor) (GdkScreen *screen); + gint (* get_monitor_width_mm) (GdkScreen *screen, + gint monitor_num); + gint (* get_monitor_height_mm) (GdkScreen *screen, + gint monitor_num); + gchar * (* get_monitor_plug_name) (GdkScreen *screen, + gint monitor_num); + void (* get_monitor_geometry) (GdkScreen *screen, + gint monitor_num, + GdkRectangle *dest); + GList * (* list_visuals) (GdkScreen *screen); + GdkVisual * (* get_system_visual) (GdkScreen *screen); + GdkVisual * (* get_rgba_visual) (GdkScreen *screen); + gboolean (* is_composited) (GdkScreen *screen); + gchar * (* make_display_name) (GdkScreen *screen); + GdkWindow * (* get_active_window) (GdkScreen *screen); + GList * (* get_window_stack) (GdkScreen *screen); + void (* broadcast_client_message) (GdkScreen *screen, + GdkEvent *event); + gboolean (* get_setting) (GdkScreen *screen, + const gchar *name, + GValue *value); + gint (* visual_get_best_depth) (GdkScreen *screen); + GdkVisualType (* visual_get_best_type) (GdkScreen *screen); + GdkVisual * (* visual_get_best) (GdkScreen *screen); + GdkVisual * (* visual_get_best_with_depth) (GdkScreen *screen, + gint depth); + GdkVisual * (* visual_get_best_with_type) (GdkScreen *screen, + GdkVisualType visual_type); + GdkVisual * (* visual_get_best_with_both) (GdkScreen *screen, + gint depth, + GdkVisualType visual_type); + void (* query_depths) (GdkScreen *screen, + gint **depths, + gint *count); + void (* query_visual_types) (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count); + + + /* Signals: */ + void (*size_changed) (GdkScreen *screen); + void (*composited_changed) (GdkScreen *screen); + void (*monitors_changed) (GdkScreen *screen); +}; + +G_END_DECLS + +#endif /* __GDK_SCREEN_PRIVATE_H__ */ diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index e540b657f0..f86d5265af 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -143,7 +143,8 @@ typedef struct _GdkDisplayManager GdkDisplayManager; typedef struct _GdkDisplay GdkDisplay; typedef struct _GdkScreen GdkScreen; typedef struct _GdkWindow GdkWindow; -typedef struct GdkAppLaunchContext GdkAppLaunchContext; +typedef struct _GdkKeymap GdkKeymap; +typedef struct _GdkAppLaunchContext GdkAppLaunchContext; /** * GdkByteOrder: diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c index b0201b2599..35d98eade3 100644 --- a/gdk/gdkvisual.c +++ b/gdk/gdkvisual.c @@ -23,9 +23,8 @@ #include "config.h" -#include "gdkinternals.h" -#include "gdkvisual.h" -#include "gdkscreen.h" +#include "gdkvisualprivate.h" +#include "gdkscreenprivate.h" /** diff --git a/gdk/gdkvisualprivate.h b/gdk/gdkvisualprivate.h new file mode 100644 index 0000000000..05e4da8dd3 --- /dev/null +++ b/gdk/gdkvisualprivate.h @@ -0,0 +1,59 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_VISUAL_PRIVATE_H__ +#define __GDK_VISUAL_PRIVATE_H__ + +#include "gdkvisual.h" + +G_BEGIN_DECLS + +struct _GdkVisual +{ + GObject parent_instance; + + GdkVisualType type; + gint depth; + GdkByteOrder byte_order; + gint colormap_size; + gint bits_per_rgb; + + guint32 red_mask; + gint red_shift; + gint red_prec; + + guint32 green_mask; + gint green_shift; + gint green_prec; + + guint32 blue_mask; + gint blue_shift; + gint blue_prec; + + GdkScreen *screen; +}; + +struct _GdkVisualClass +{ + GObjectClass parent_class; +}; + +G_END_DECLS + +#endif diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2e2a18c132..8773a896d1 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -40,6 +40,7 @@ #include "gdkintl.h" #include "gdkscreen.h" #include "gdkdeviceprivate.h" +#include "gdkvisualprivate.h" #include "gdkmarshalers.h" #include "gdkscreen.h" #include "gdkwindowimpl.h" diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c index 5fdffecf34..7aebfa7847 100644 --- a/gdk/x11/gdkapplaunchcontext-x11.c +++ b/gdk/x11/gdkapplaunchcontext-x11.c @@ -22,8 +22,7 @@ #include "config.h" -#include "gdkapplaunchcontext.h" -#include "gdkinternals.h" +#include "gdkapplaunchcontextprivate.h" #include "gdkx.h" #include "gdkscreen.h" @@ -264,7 +263,6 @@ gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, GList *files) { static int sequence = 0; - GdkAppLaunchContextPrivate *priv; GdkDisplay *display; GdkScreen *screen; int files_count; @@ -278,14 +276,15 @@ gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, guint32 timestamp; char *startup_id; GFileInfo *fileinfo; + GdkAppLaunchContext *ctx; - priv = GDK_APP_LAUNCH_CONTEXT (context)->priv; + ctx = GDK_APP_LAUNCH_CONTEXT (context); - display = priv->display; - if (priv->screen) - screen = priv->screen; + display = ctx->display; + if (ctx->screen) + screen = ctx->screen; else - screen = gdk_display_get_default_screen (priv->display); + screen = gdk_display_get_default_screen (ctx->display); fileinfo = NULL; @@ -315,14 +314,14 @@ gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, files_count), files_count); icon_name = NULL; - if (priv->icon_name) - icon_name = g_strdup (priv->icon_name); + if (ctx->icon_name) + icon_name = g_strdup (ctx->icon_name); else { icon = NULL; - if (priv->icon != NULL) - icon = g_object_ref (priv->icon); + if (ctx->icon != NULL) + icon = g_object_ref (ctx->icon); else if (files_count == 1) icon = get_icon (files->data, fileinfo); @@ -340,13 +339,13 @@ gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, binary_name = g_app_info_get_executable (info); - timestamp = priv->timestamp; + timestamp = ctx->timestamp; if (timestamp == GDK_CURRENT_TIME) timestamp = gdk_x11_display_get_user_time (display); screen_str = g_strdup_printf ("%d", gdk_screen_get_number (screen)); - if (priv->workspace > -1) - workspace_str = g_strdup_printf ("%d", priv->workspace); + if (ctx->workspace > -1) + workspace_str = g_strdup_printf ("%d", ctx->workspace); else workspace_str = NULL; @@ -392,18 +391,18 @@ static void gdk_app_launch_context_x11_launch_failed (GAppLaunchContext *context, const char *startup_notify_id) { - GdkAppLaunchContextPrivate *priv; + GdkAppLaunchContext *ctx; GdkScreen *screen; StartupTimeoutData *data; StartupNotificationData *sn_data; GSList *l; - priv = GDK_APP_LAUNCH_CONTEXT (context)->priv; + ctx = GDK_APP_LAUNCH_CONTEXT (context); - if (priv->screen) - screen = priv->screen; + if (ctx->screen) + screen = ctx->screen; else - screen = gdk_display_get_default_screen (priv->display); + screen = gdk_display_get_default_screen (ctx->display); data = g_object_get_data (G_OBJECT (screen), "appinfo-startup-data"); @@ -430,8 +429,8 @@ gdk_app_launch_context_x11_launch_failed (GAppLaunchContext *context, } } -typedef struct GdkAppLaunchContext GdkAppLaunchContextX11; -typedef struct GdkAppLaunchContextClass GdkAppLaunchContextX11Class; +typedef GdkAppLaunchContext GdkAppLaunchContextX11; +typedef GdkAppLaunchContextClass GdkAppLaunchContextX11Class; G_DEFINE_TYPE (GdkAppLaunchContextX11, _gdk_app_launch_context_x11, GDK_TYPE_APP_LAUNCH_CONTEXT) diff --git a/gdk/x11/gdkasync.h b/gdk/x11/gdkasync.h index eebea396a6..f9995156c7 100644 --- a/gdk/x11/gdkasync.h +++ b/gdk/x11/gdkasync.h @@ -21,7 +21,7 @@ #ifndef __GDK_ASYNC_H__ #define __GDK_ASYNC_H__ -#include +#include "gdkdisplay.h" #include G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 5d592b6d99..64f107aff1 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -22,7 +22,7 @@ #include "gdkdevicemanager-core.h" #include "gdktypes.h" -#include "gdkdevicemanager.h" +#include "gdkdevicemanagerprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-core.h" #include "gdkkeysyms.h" diff --git a/gdk/x11/gdkdevicemanager-core.h b/gdk/x11/gdkdevicemanager-core.h index 53d894f4da..774b21ef8d 100644 --- a/gdk/x11/gdkdevicemanager-core.h +++ b/gdk/x11/gdkdevicemanager-core.h @@ -20,8 +20,7 @@ #ifndef __GDK_DEVICE_MANAGER_CORE_H__ #define __GDK_DEVICE_MANAGER_CORE_H__ -#include "gdkinternals.h" -#include "gdkdevicemanager.h" +#include "gdkdevicemanagerprivate.h" G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevicemanager-xi.h b/gdk/x11/gdkdevicemanager-xi.h index 57974eb699..e2028fdb8d 100644 --- a/gdk/x11/gdkdevicemanager-xi.h +++ b/gdk/x11/gdkdevicemanager-xi.h @@ -20,7 +20,6 @@ #ifndef __GDK_DEVICE_MANAGER_XI_H__ #define __GDK_DEVICE_MANAGER_XI_H__ -#include "gdkinternals.h" #include "gdkdevicemanager-core.h" G_BEGIN_DECLS diff --git a/gdk/x11/gdkdevicemanager-xi2.h b/gdk/x11/gdkdevicemanager-xi2.h index 39bc29b722..7f8d926f9d 100644 --- a/gdk/x11/gdkdevicemanager-xi2.h +++ b/gdk/x11/gdkdevicemanager-xi2.h @@ -20,8 +20,7 @@ #ifndef __GDK_DEVICE_MANAGER_XI2_H__ #define __GDK_DEVICE_MANAGER_XI2_H__ -#include "gdkinternals.h" -#include "gdkdevicemanager.h" +#include "gdkdevicemanagerprivate.h" #include diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index 9ac0c3ae02..3f345de8dd 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -1,7 +1,7 @@ /* * gdkdisplay-x11.h - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -24,11 +24,12 @@ #ifndef __GDK_DISPLAY_X11__ #define __GDK_DISPLAY_X11__ -#include -#include -#include -#include -#include +#include "gdkdisplayprivate.h" +#include "gdkkeys.h" +#include "gdkwindow.h" +#include "gdkinternals.h" +#include "gdkmain.h" + #include #include @@ -56,17 +57,17 @@ struct _GdkDisplayX11 gint grab_count; /* Keyboard related information */ - gint xkb_event_type; gboolean use_xkb; - + /* Whether we were able to turn on detectable-autorepeat using * XkbSetDetectableAutorepeat. If FALSE, we'll fall back - * to checking the next event with XPending(). */ + * to checking the next event with XPending(). + */ gboolean have_xkb_autorepeat; GdkKeymap *keymap; - guint keymap_serial; + guint keymap_serial; gboolean have_xfixes; gint xfixes_event_base; @@ -78,23 +79,22 @@ struct _GdkDisplayX11 gboolean have_randr13; gint xrandr_event_base; - /* If the SECURITY extension is in place, whether this client holds - * a trusted authorization and so is allowed to make various requests - * (grabs, properties etc.) Otherwise always TRUE. */ + /* If the SECURITY extension is in place, whether this client holds + * a trusted authorization and so is allowed to make various requests + * (grabs, properties etc.) Otherwise always TRUE. + */ gboolean trusted_client; /* drag and drop information */ GdkDragContext *current_dest_drag; /* data needed for MOTIF DnD */ - Window motif_drag_window; GdkWindow *motif_drag_gdk_window; GList **motif_target_lists; gint motif_n_target_lists; /* Mapping to/from virtual atoms */ - GHashTable *atom_from_virtual; GHashTable *atom_to_virtual; @@ -102,13 +102,13 @@ struct _GdkDisplayX11 Window leader_window; GdkWindow *leader_gdk_window; gboolean leader_window_title_set; - + /* list of filters for client messages */ GList *client_filters; /* List of functions to go from extension event => X window */ GSList *event_types; - + /* X ID hashtable */ GHashTable *xid_ht; @@ -151,10 +151,10 @@ struct _GdkDisplayX11Class GType _gdk_display_x11_get_type (void); GdkScreen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, - Window xrootwin); + Window xrootwin); void _gdk_x11_display_error_event (GdkDisplay *display, XErrorEvent *error); G_END_DECLS -#endif /* __GDK_DISPLAY_X11__ */ +#endif /* __GDK_DISPLAY_X11__ */ diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index b422975238..ddb9e4f571 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -26,7 +26,7 @@ #include "gdkdisplay-x11.h" #include "gdkprivate-x11.h" -#include "gdkdisplaymanager.h" +#include "gdkdisplaymanagerprivate.h" #include "gdkinternals.h" #define GDK_TYPE_DISPLAY_MANAGER_X11 (gdk_display_manager_x11_get_type ()) diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 286aed97e3..ae8d2b8e50 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -26,7 +26,7 @@ #include "config.h" -#include "gdkdnd.h" +#include "gdkdndprivate.h" #include "gdkmain.h" #include "gdkx.h" diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 1394b56cd7..a28834623c 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -26,11 +26,11 @@ #include "config.h" -#include "gdkx.h" -#include "gdkprivate-x11.h" -#include "gdkinternals.h" -#include "gdkdisplay-x11.h" +#include "gdkkeysprivate.h" #include "gdkkeysyms.h" +#include "gdkprivate-x11.h" +#include "gdkdisplay-x11.h" +#include "gdkx.h" #include #include diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 752099cca2..e76038bd33 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -31,9 +31,9 @@ #ifndef __GDK_PRIVATE_X11_H__ #define __GDK_PRIVATE_X11_H__ -#include -#include -#include +#include "gdkcursor.h" +#include "gdkprivate.h" +#include "gdkinternals.h" #include "gdkwindow-x11.h" #include "gdkdisplay-x11.h" #include diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index 72c0ead900..2d9e4dd51b 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -1,7 +1,7 @@ /* * gdkscreen-x11.h - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -24,8 +24,8 @@ #ifndef __GDK_SCREEN_X11_H__ #define __GDK_SCREEN_X11_H__ -#include -#include +#include "gdkscreenprivate.h" +#include "gdkvisual.h" #include "gdkprivate-x11.h" #include "xsettings-client.h" #include diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 36ef9798f3..3a00c556c0 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -26,12 +26,11 @@ #include "config.h" -#include "gdkvisual.h" +#include "gdkvisualprivate.h" #include "gdkx.h" #include "gdkprivate-x11.h" #include "gdkscreen-x11.h" -#include "gdkinternals.h" #include #include diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 54c1791adb..ef1170773f 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -35,6 +35,7 @@ #include "gdkasync.h" #include "gdkdisplay-x11.h" #include "gdkprivate-x11.h" +#include "gdkvisualprivate.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkeventsource.h" From dfe6ba932ca798c53121f90b7d696b5d2231a179 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 10 Dec 2010 23:14:43 -0500 Subject: [PATCH 0649/1463] Don't access GdkDisplay fields directly Use accessors instead. --- gdk/x11/gdkcursor-x11.c | 14 +++++++------- gdk/x11/gdkmain-x11.c | 4 ++-- gdk/x11/gdkproperty-x11.c | 4 ++-- gdk/x11/gdkselection-x11.c | 10 +++++----- gdk/x11/gdkwindow-x11.c | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 6169cc1d89..5cfc445b49 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -177,8 +177,8 @@ get_blank_cursor (GdkDisplay *display) color.pixel = 0; color.red = color.blue = color.green = 0; - - if (display->closed) + + if (gdk_display_is_closed (display)) cursor = None; else cursor = XCreatePixmapCursor (GDK_DISPLAY_XDISPLAY (display), @@ -267,7 +267,7 @@ gdk_cursor_new_for_display (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - if (display->closed) + if (gdk_display_is_closed (display)) { xcursor = None; } @@ -317,7 +317,7 @@ _gdk_cursor_destroy (GdkCursor *cursor) g_return_if_fail (cursor->ref_count == 0); private = (GdkCursorPrivate *) cursor; - if (!private->display->closed && private->xcursor) + if (private->xcursor && !gdk_display_is_closed (private->display)) XFreeCursor (GDK_DISPLAY_XDISPLAY (private->display), private->xcursor); g_free (private->name); @@ -696,7 +696,7 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, g_return_val_if_fail (0 <= x && x < gdk_pixbuf_get_width (pixbuf), NULL); g_return_val_if_fail (0 <= y && y < gdk_pixbuf_get_height (pixbuf), NULL); - if (display->closed) + if (gdk_display_is_closed (display)) xcursor = None; else { @@ -742,7 +742,7 @@ gdk_cursor_new_from_name (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - if (display->closed) + if (gdk_display_is_closed (display)) xcursor = None; else { @@ -862,7 +862,7 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, xbg.blue = bg->blue; xbg.green = bg->green; - if (display->closed) + if (gdk_display_is_closed (display->closed)) xcursor = None; else xcursor = XCreatePixmapCursor (GDK_DISPLAY_XDISPLAY (display), diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 056c90b629..57aedf542c 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -209,7 +209,7 @@ _gdk_windowing_display_set_sm_client_id (GdkDisplay *display, { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); - if (display->closed) + if (gdk_display_is_closed (display)) return; if (sm_client_id && strcmp (sm_client_id, "")) @@ -507,7 +507,7 @@ _gdk_send_xevent (GdkDisplay *display, { gboolean result; - if (display->closed) + if (gdk_display_is_closed (display)) return FALSE; gdk_error_trap_push (); diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index 00132b29e1..60774ed1ef 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -231,7 +231,7 @@ gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, if (atom == GDK_NONE) return None; - if (display->closed) + if (gdk_display_is_closed (display)) return None; xatom = lookup_cached_xatom (display, atom); @@ -337,7 +337,7 @@ gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, if (xatom == None) return GDK_NONE; - if (display->closed) + if (gdk_display_is_closed (display)) return GDK_NONE; display_x11 = GDK_DISPLAY_X11 (display); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 00390aa34f..74d17c4f4d 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -138,7 +138,7 @@ gdk_selection_owner_set_for_display (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); g_return_val_if_fail (selection != GDK_NONE, FALSE); - if (display->closed) + if (gdk_display_is_closed (display)) return FALSE; if (owner) @@ -211,8 +211,8 @@ gdk_selection_owner_get_for_display (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (selection != GDK_NONE, NULL); - - if (display->closed) + + if (gdk_display_is_closed (display)) return NULL; xwindow = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), @@ -458,7 +458,7 @@ gdk_text_property_to_text_list_for_display (GdkDisplay *display, if (list) *list = NULL; - if (display->closed) + if (gdk_display_is_closed (display)) return 0; property.value = (guchar *)text; @@ -709,7 +709,7 @@ gdk_string_to_compound_text_for_display (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); - if (display->closed) + if (gdk_display_is_closed (display)) res = XLocaleNotSupported; else res = XmbTextListToTextProperty (GDK_DISPLAY_XDISPLAY (display), diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index ef1170773f..527da43f3c 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2791,7 +2791,7 @@ _gdk_windowing_get_device_state (GdkDisplay *display, { GdkScreen *default_screen; - if (display->closed) + if (gdk_display_is_closed (display)) return; default_screen = gdk_display_get_default_screen (display); From da216c0665d3629185739f2699c6bf82fc0c1de9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 12:36:35 -0500 Subject: [PATCH 0650/1463] Add vfuncs for a bunch of cursor functionality to GdkDisplay --- gdk/gdkcursor.c | 159 ++++++++++++++- gdk/gdkdisplay.c | 86 +++++++++ gdk/gdkdisplayprivate.h | 26 ++- gdk/x11/gdkcursor-x11.c | 406 ++++++++++++--------------------------- gdk/x11/gdkdisplay-x11.c | 7 + gdk/x11/gdkprivate-x11.h | 17 ++ 6 files changed, 403 insertions(+), 298 deletions(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 475e96fbff..016723e657 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -27,8 +27,7 @@ #include "config.h" #include "gdkcursor.h" - -#include "gdkdisplay.h" +#include "gdkdisplayprivate.h" #include "gdkinternals.h" @@ -61,11 +60,11 @@ G_DEFINE_BOXED_TYPE (GdkCursor, gdk_cursor, /** * gdk_cursor_ref: * @cursor: a #GdkCursor - * + * * Adds a reference to @cursor. - * + * * Return value: Same @cursor that was passed in - **/ + */ GdkCursor* gdk_cursor_ref (GdkCursor *cursor) { @@ -83,8 +82,7 @@ gdk_cursor_ref (GdkCursor *cursor) * * Removes a reference from @cursor, deallocating the cursor * if no references remain. - * - **/ + */ void gdk_cursor_unref (GdkCursor *cursor) { @@ -100,14 +98,14 @@ gdk_cursor_unref (GdkCursor *cursor) /** * gdk_cursor_new: * @cursor_type: cursor to create - * + * * Creates a new cursor from the set of builtin cursors for the default display. * See gdk_cursor_new_for_display(). * * To make the cursor invisible, use %GDK_BLANK_CURSOR. - * + * * Return value: a new #GdkCursor - **/ + */ GdkCursor* gdk_cursor_new (GdkCursorType cursor_type) { @@ -131,3 +129,144 @@ gdk_cursor_get_cursor_type (GdkCursor *cursor) return cursor->type; } + +/** + * gdk_cursor_new_for_display: + * @display: the #GdkDisplay for which the cursor will be created + * @cursor_type: cursor to create + * + * Creates a new cursor from the set of builtin cursors. + * Some useful ones are: + * + * + * #GDK_RIGHT_PTR (right-facing arrow) + * + * + * #GDK_CROSSHAIR (crosshair) + * + * + * #GDK_XTERM (I-beam) + * + * + * #GDK_WATCH (busy) + * + * + * #GDK_FLEUR (for moving objects) + * + * + * #GDK_HAND1 (a right-pointing hand) + * + * + * #GDK_HAND2 (a left-pointing hand) + * + * + * #GDK_LEFT_SIDE (resize left side) + * + * + * #GDK_RIGHT_SIDE (resize right side) + * + * + * #GDK_TOP_LEFT_CORNER (resize northwest corner) + * + * + * #GDK_TOP_RIGHT_CORNER (resize northeast corner) + * + * + * #GDK_BOTTOM_LEFT_CORNER (resize southwest corner) + * + * + * #GDK_BOTTOM_RIGHT_CORNER (resize southeast corner) + * + * + * #GDK_TOP_SIDE (resize top side) + * + * + * #GDK_BOTTOM_SIDE (resize bottom side) + * + * + * #GDK_SB_H_DOUBLE_ARROW (move vertical splitter) + * + * + * #GDK_SB_V_DOUBLE_ARROW (move horizontal splitter) + * + * + * #GDK_BLANK_CURSOR (Blank cursor). Since 2.16 + * + * + * + * Return value: a new #GdkCursor + * + * Since: 2.2 + **/ +GdkCursor* +gdk_cursor_new_for_display (GdkDisplay *display, + GdkCursorType cursor_type) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + + return GDK_DISPLAY_GET_CLASS (display)->get_cursor_for_type (display, cursor_type); +} + +/** + * gdk_cursor_new_from_name: + * @display: the #GdkDisplay for which the cursor will be created + * @name: the name of the cursor + * + * Creates a new cursor by looking up @name in the current cursor + * theme. + * + * Returns: a new #GdkCursor, or %NULL if there is no cursor with + * the given name + * + * Since: 2.8 + */ +GdkCursor* +gdk_cursor_new_from_name (GdkDisplay *display, + const gchar *name) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + + return GDK_DISPLAY_GET_CLASS (display)->get_cursor_for_name (display, name); +} + +/** + * gdk_cursor_new_from_pixbuf: + * @display: the #GdkDisplay for which the cursor will be created + * @pixbuf: the #GdkPixbuf containing the cursor image + * @x: the horizontal offset of the 'hotspot' of the cursor. + * @y: the vertical offset of the 'hotspot' of the cursor. + * + * Creates a new cursor from a pixbuf. + * + * Not all GDK backends support RGBA cursors. If they are not + * supported, a monochrome approximation will be displayed. + * The functions gdk_display_supports_cursor_alpha() and + * gdk_display_supports_cursor_color() can be used to determine + * whether RGBA cursors are supported; + * gdk_display_get_default_cursor_size() and + * gdk_display_get_maximal_cursor_size() give information about + * cursor sizes. + * + * If @x or @y are -1, the pixbuf must have + * options named "x_hot" and "y_hot", resp., containing + * integer values between %0 and the width resp. height of + * the pixbuf. (Since: 3.0) + * + * On the X backend, support for RGBA cursors requires a + * sufficently new version of the X Render extension. + * + * Returns: a new #GdkCursor. + * + * Since: 2.4 + */ +GdkCursor * +gdk_cursor_new_from_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); + + return GDK_DISPLAY_GET_CLASS (display)->get_cursor_for_pixbuf (display, pixbuf, x, y); +} diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 0bfd150f01..d398dc8c45 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2297,3 +2297,89 @@ gdk_display_has_pending (GdkDisplay *display) { return GDK_DISPLAY_GET_CLASS (display)->has_pending (display); } + +/** + * gdk_display_supports_cursor_alpha: + * @display: a #GdkDisplay + * + * Returns %TRUE if cursors can use an 8bit alpha channel + * on @display. Otherwise, cursors are restricted to bilevel + * alpha (i.e. a mask). + * + * Returns: whether cursors can have alpha channels. + * + * Since: 2.4 + */ +gboolean +gdk_display_supports_cursor_alpha (GdkDisplay *display) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); + + return GDK_DISPLAY_GET_CLASS (display)->supports_cursor_alpha (display); +} + +/** + * gdk_display_supports_cursor_color: + * @display: a #GdkDisplay + * + * Returns %TRUE if multicolored cursors are supported + * on @display. Otherwise, cursors have only a forground + * and a background color. + * + * Returns: whether cursors can have multiple colors. + * + * Since: 2.4 + */ +gboolean +gdk_display_supports_cursor_color (GdkDisplay *display) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); + + return GDK_DISPLAY_GET_CLASS (display)->supports_cursor_color (display); +} + +/** + * gdk_display_get_default_cursor_size: + * @display: a #GdkDisplay + * + * Returns the default size to use for cursors on @display. + * + * Returns: the default cursor size. + * + * Since: 2.4 + */ +guint +gdk_display_get_default_cursor_size (GdkDisplay *display) +{ + guint width, height; + + g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); + + GDK_DISPLAY_GET_CLASS (display)->get_default_cursor_size (display, + &width, + &height); + + return MIN (width, height); +} + +/** + * gdk_display_get_maximal_cursor_size: + * @display: a #GdkDisplay + * @width: (out): the return location for the maximal cursor width + * @height: (out): the return location for the maximal cursor height + * + * Gets the maximal size to use for cursors on @display. + * + * Since: 2.4 + */ +void +gdk_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height) +{ + g_return_if_fail (GDK_IS_DISPLAY (display)); + + GDK_DISPLAY_GET_CLASS (display)->get_maximal_cursor_size (display, + width, + height); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 96cb9a110d..d47144c74b 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -21,6 +21,7 @@ #define __GDK_DISPLAY_PRIVATE_H__ #include "gdkdisplay.h" +#include "gdkcursor.h" G_BEGIN_DECLS @@ -127,15 +128,34 @@ struct _GdkDisplayClass gboolean (*supports_selection_notification) (GdkDisplay *display); gboolean (*request_selection_notification) (GdkDisplay *display, GdkAtom selection); + gboolean (*supports_shapes) (GdkDisplay *display); + gboolean (*supports_input_shapes) (GdkDisplay *display); + gboolean (*supports_composite) (GdkDisplay *display); + gboolean (*supports_cursor_alpha) (GdkDisplay *display); + gboolean (*supports_cursor_color) (GdkDisplay *display); + gboolean (*supports_clipboard_persistence) (GdkDisplay *display); void (*store_clipboard) (GdkDisplay *display, GdkWindow *clipboard_window, guint32 time_, const GdkAtom *targets, gint n_targets); - gboolean (*supports_shapes) (GdkDisplay *display); - gboolean (*supports_input_shapes) (GdkDisplay *display); - gboolean (*supports_composite) (GdkDisplay *display); + + void (*get_default_cursor_size) (GdkDisplay *display, + guint *width, + guint *height); + void (*get_maximal_cursor_size) (GdkDisplay *display, + guint *width, + guint *height); + GdkCursor * (*get_cursor_for_type) (GdkDisplay *display, + GdkCursorType type); + GdkCursor * (*get_cursor_for_name) (GdkDisplay *display, + const gchar *name); + GdkCursor * (*get_cursor_for_pixbuf) (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y); + GList * (*list_devices) (GdkDisplay *display); gboolean (*send_client_message) (GdkDisplay *display, GdkEvent *event, diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 5cfc445b49..b257b619e9 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -139,19 +139,19 @@ _gdk_x11_cursor_display_finalize (GdkDisplay *display) GdkCursorPrivate* cursor = (GdkCursorPrivate*)(item->data); if (cursor->display == display) { - GSList* olditem; + GSList* olditem; gdk_cursor_unref ((GdkCursor*) cursor); - /* Remove this item from the list */ - *(itemp) = item->next; - olditem = item; - item = g_slist_next (item); - g_slist_free_1 (olditem); + /* Remove this item from the list */ + *(itemp) = item->next; + olditem = item; + item = g_slist_next (item); + g_slist_free_1 (olditem); } else { - itemp = &(item->next); - item = g_slist_next (item); - } + itemp = &(item->next); + item = g_slist_next (item); + } } } @@ -189,89 +189,19 @@ get_blank_cursor (GdkDisplay *display) return cursor; } -/** - * gdk_cursor_new_for_display: - * @display: the #GdkDisplay for which the cursor will be created - * @cursor_type: cursor to create - * - * Creates a new cursor from the set of builtin cursors. - * Some useful ones are: - * - * - * #GDK_RIGHT_PTR (right-facing arrow) - * - * - * #GDK_CROSSHAIR (crosshair) - * - * - * #GDK_XTERM (I-beam) - * - * - * #GDK_WATCH (busy) - * - * - * #GDK_FLEUR (for moving objects) - * - * - * #GDK_HAND1 (a right-pointing hand) - * - * - * #GDK_HAND2 (a left-pointing hand) - * - * - * #GDK_LEFT_SIDE (resize left side) - * - * - * #GDK_RIGHT_SIDE (resize right side) - * - * - * #GDK_TOP_LEFT_CORNER (resize northwest corner) - * - * - * #GDK_TOP_RIGHT_CORNER (resize northeast corner) - * - * - * #GDK_BOTTOM_LEFT_CORNER (resize southwest corner) - * - * - * #GDK_BOTTOM_RIGHT_CORNER (resize southeast corner) - * - * - * #GDK_TOP_SIDE (resize top side) - * - * - * #GDK_BOTTOM_SIDE (resize bottom side) - * - * - * #GDK_SB_H_DOUBLE_ARROW (move vertical splitter) - * - * - * #GDK_SB_V_DOUBLE_ARROW (move horizontal splitter) - * - * - * #GDK_BLANK_CURSOR (Blank cursor). Since 2.16 - * - * - * - * Return value: a new #GdkCursor - * - * Since: 2.2 - **/ GdkCursor* -gdk_cursor_new_for_display (GdkDisplay *display, - GdkCursorType cursor_type) +_gdk_x11_display_get_cursor_for_type (GdkDisplay *display, + GdkCursorType cursor_type) { GdkCursorPrivate *private; GdkCursor *cursor; Cursor xcursor; - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - if (gdk_display_is_closed (display)) { xcursor = None; - } - else + } + else { private = find_in_cache (display, cursor_type, NULL); @@ -279,19 +209,19 @@ gdk_cursor_new_for_display (GdkDisplay *display, { /* Cache had it, add a ref for this user */ gdk_cursor_ref ((GdkCursor*) private); - + return (GdkCursor*) private; - } - else + } + else { - if (cursor_type != GDK_BLANK_CURSOR) + if (cursor_type != GDK_BLANK_CURSOR) xcursor = XCreateFontCursor (GDK_DISPLAY_XDISPLAY (display), cursor_type); - else - xcursor = get_blank_cursor (display); + else + xcursor = get_blank_cursor (display); } } - + private = g_new (GdkCursorPrivate, 1); private->display = display; private->xcursor = xcursor; @@ -416,14 +346,14 @@ gdk_cursor_get_image (GdkCursor *cursor) if (cursor->type == GDK_CURSOR_IS_PIXMAP) { if (private->name) - images = XcursorLibraryLoadImages (private->name, theme, size); + images = XcursorLibraryLoadImages (private->name, theme, size); } - else + else images = XcursorShapeLoadImages (cursor->type, theme, size); if (!images) return NULL; - + image = images->images[0]; data = g_malloc (4 * image->width * image->height); @@ -437,9 +367,9 @@ gdk_cursor_get_image (GdkCursor *cursor) } pixbuf = gdk_pixbuf_new_from_data (data, GDK_COLORSPACE_RGB, TRUE, - 8, image->width, image->height, - 4 * image->width, - (GdkPixbufDestroyNotify)g_free, NULL); + 8, image->width, image->height, + 4 * image->width, + (GdkPixbufDestroyNotify)g_free, NULL); if (private->name) gdk_pixbuf_set_option (pixbuf, "name", private->name); @@ -479,24 +409,24 @@ _gdk_x11_cursor_update_theme (GdkCursor *cursor) return; if (cursor->type == GDK_CURSOR_IS_PIXMAP) - { - if (private->name) - new_cursor = XcursorLibraryLoadCursor (xdisplay, private->name); - } + { + if (private->name) + new_cursor = XcursorLibraryLoadCursor (xdisplay, private->name); + } else - new_cursor = XcursorShapeLoadCursor (xdisplay, cursor->type); + new_cursor = XcursorShapeLoadCursor (xdisplay, cursor->type); if (new_cursor != None) - { - XFixesChangeCursor (xdisplay, new_cursor, private->xcursor); - private->xcursor = new_cursor; - } + { + XFixesChangeCursor (xdisplay, new_cursor, private->xcursor); + private->xcursor = new_cursor; + } } } static void update_cursor (gpointer data, - gpointer user_data) + gpointer user_data) { GdkCursor *cursor; @@ -531,8 +461,8 @@ update_cursor (gpointer data, */ void gdk_x11_display_set_cursor_theme (GdkDisplay *display, - const gchar *theme, - const gint size) + const gchar *theme, + const gint size) { GdkDisplayX11 *display_x11; Display *xdisplay; @@ -573,8 +503,8 @@ gdk_cursor_get_image (GdkCursor *cursor) void gdk_x11_display_set_cursor_theme (GdkDisplay *display, - const gchar *theme, - const gint size) + const gchar *theme, + const gint size) { g_return_if_fail (GDK_IS_DISPLAY (display)); } @@ -591,8 +521,8 @@ _gdk_x11_cursor_update_theme (GdkCursor *cursor) static XcursorImage* create_cursor_image (GdkPixbuf *pixbuf, - gint x, - gint y) + gint x, + gint y) { guint width, height; XcursorImage *xcimage; @@ -624,42 +554,11 @@ create_cursor_image (GdkPixbuf *pixbuf, return xcimage; } - -/** - * gdk_cursor_new_from_pixbuf: - * @display: the #GdkDisplay for which the cursor will be created - * @pixbuf: the #GdkPixbuf containing the cursor image - * @x: the horizontal offset of the 'hotspot' of the cursor. - * @y: the vertical offset of the 'hotspot' of the cursor. - * - * Creates a new cursor from a pixbuf. - * - * Not all GDK backends support RGBA cursors. If they are not - * supported, a monochrome approximation will be displayed. - * The functions gdk_display_supports_cursor_alpha() and - * gdk_display_supports_cursor_color() can be used to determine - * whether RGBA cursors are supported; - * gdk_display_get_default_cursor_size() and - * gdk_display_get_maximal_cursor_size() give information about - * cursor sizes. - * - * If @x or @y are -1, the pixbuf must have - * options named "x_hot" and "y_hot", resp., containing - * integer values between %0 and the width resp. height of - * the pixbuf. (Since: 3.0) - * - * On the X backend, support for RGBA cursors requires a - * sufficently new version of the X Render extension. - * - * Returns: a new #GdkCursor. - * - * Since: 2.4 - */ GdkCursor * -gdk_cursor_new_from_pixbuf (GdkDisplay *display, - GdkPixbuf *pixbuf, - gint x, - gint y) +_gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y) { XcursorImage *xcimage; Cursor xcursor; @@ -669,9 +568,6 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, char *end; gint64 value; - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); - if (x == -1 && (option = gdk_pixbuf_get_option (pixbuf, "x_hot"))) { errno = 0; @@ -697,8 +593,10 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, g_return_val_if_fail (0 <= y && y < gdk_pixbuf_get_height (pixbuf), NULL); if (gdk_display_is_closed (display)) - xcursor = None; - else + { + xcursor = None; + } + else { xcimage = create_cursor_image (pixbuf, x, y); xcursor = XcursorImageLoadCursor (GDK_DISPLAY_XDISPLAY (display), xcimage); @@ -714,37 +612,24 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, cursor = (GdkCursor *) private; cursor->type = GDK_CURSOR_IS_PIXMAP; cursor->ref_count = 1; - + return cursor; } -/** - * gdk_cursor_new_from_name: - * @display: the #GdkDisplay for which the cursor will be created - * @name: the name of the cursor - * - * Creates a new cursor by looking up @name in the current cursor - * theme. - * - * Returns: a new #GdkCursor, or %NULL if there is no cursor with - * the given name - * - * Since: 2.8 - */ -GdkCursor* -gdk_cursor_new_from_name (GdkDisplay *display, - const gchar *name) +GdkCursor* +_gdk_x11_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name) { Cursor xcursor; Display *xdisplay; GdkCursorPrivate *private; GdkCursor *cursor; - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - if (gdk_display_is_closed (display)) - xcursor = None; - else + { + xcursor = None; + } + else { private = find_in_cache (display, GDK_CURSOR_IS_PIXMAP, name); @@ -759,7 +644,7 @@ gdk_cursor_new_from_name (GdkDisplay *display, xdisplay = GDK_DISPLAY_XDISPLAY (display); xcursor = XcursorLibraryLoadCursor (xdisplay, name); if (xcursor == None) - return NULL; + return NULL; } private = g_new (GdkCursorPrivate, 1); @@ -776,62 +661,24 @@ gdk_cursor_new_from_name (GdkDisplay *display, return cursor; } -/** - * gdk_display_supports_cursor_alpha: - * @display: a #GdkDisplay - * - * Returns %TRUE if cursors can use an 8bit alpha channel - * on @display. Otherwise, cursors are restricted to bilevel - * alpha (i.e. a mask). - * - * Returns: whether cursors can have alpha channels. - * - * Since: 2.4 - */ -gboolean -gdk_display_supports_cursor_alpha (GdkDisplay *display) +gboolean +_gdk_x11_display_supports_cursor_alpha (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - return XcursorSupportsARGB (GDK_DISPLAY_XDISPLAY (display)); } -/** - * gdk_display_supports_cursor_color: - * @display: a #GdkDisplay - * - * Returns %TRUE if multicolored cursors are supported - * on @display. Otherwise, cursors have only a forground - * and a background color. - * - * Returns: whether cursors can have multiple colors. - * - * Since: 2.4 - */ -gboolean -gdk_display_supports_cursor_color (GdkDisplay *display) +gboolean +_gdk_x11_display_supports_cursor_color (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - return XcursorSupportsARGB (GDK_DISPLAY_XDISPLAY (display)); } -/** - * gdk_display_get_default_cursor_size: - * @display: a #GdkDisplay - * - * Returns the default size to use for cursors on @display. - * - * Returns: the default cursor size. - * - * Since: 2.4 - */ -guint -gdk_display_get_default_cursor_size (GdkDisplay *display) +void +_gdk_x11_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - - return XcursorGetDefaultSize (GDK_DISPLAY_XDISPLAY (display)); + *width = *height = XcursorGetDefaultSize (GDK_DISPLAY_XDISPLAY (display)); } #else @@ -839,11 +686,11 @@ gdk_display_get_default_cursor_size (GdkDisplay *display) static GdkCursor* gdk_cursor_new_from_pixmap (GdkDisplay *display, Pixmap source_pixmap, - Pixmap mask_pixmap, - const GdkColor *fg, - const GdkColor *bg, - gint x, - gint y) + Pixmap mask_pixmap, + const GdkColor *fg, + const GdkColor *bg, + gint x, + gint y) { GdkCursorPrivate *private; GdkCursor *cursor; @@ -866,7 +713,7 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, xcursor = None; else xcursor = XCreatePixmapCursor (GDK_DISPLAY_XDISPLAY (display), - source_pixmap, mask_pixmap, &xfg, &xbg, x, y); + source_pixmap, mask_pixmap, &xfg, &xbg, x, y); private = g_new (GdkCursorPrivate, 1); private->display = display; private->xcursor = xcursor; @@ -876,15 +723,15 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, cursor = (GdkCursor *) private; cursor->type = GDK_CURSOR_IS_PIXMAP; cursor->ref_count = 1; - + return cursor; } GdkCursor * -gdk_cursor_new_from_pixbuf (GdkDisplay *display, - GdkPixbuf *pixbuf, - gint x, - gint y) +_gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y) { GdkCursor *cursor; cairo_surface_t *pixmap, *mask; @@ -896,9 +743,6 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, cairo_surface_t *image; cairo_t *cr; - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); - width = gdk_pixbuf_get_width (pixbuf); height = gdk_pixbuf_get_height (pixbuf); @@ -918,28 +762,28 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, guint8 *src = pixels + j * rowstride; guint8 *d = data + data_stride * j; guint8 *md = mask_data + data_stride * j; - + for (i = 0; i < width; i++) - { - if (src[1] < 0x80) - *d |= 1 << (i % 8); - - if (n_channels == 3 || src[3] >= 0x80) - *md |= 1 << (i % 8); - - src += n_channels; - if (i % 8 == 7) - { - d++; - md++; - } - } + { + if (src[1] < 0x80) + *d |= 1 << (i % 8); + + if (n_channels == 3 || src[3] >= 0x80) + *md |= 1 << (i % 8); + + src += n_channels; + if (i % 8 == 7) + { + d++; + md++; + } + } } - + screen = gdk_display_get_default_screen (display); - pixmap = _gdk_x11_window_create_bitmap_surface (gdk_screen_get_root_window (screen), - width, height); + pixmap = _gdk_x11_window_create_bitmap_surface (gdk_screen_get_root_window (screen), + width, height); cr = cairo_create (pixmap); image = cairo_image_surface_create_for_data (data, CAIRO_FORMAT_A1, width, height, data_stride); @@ -948,9 +792,9 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_paint (cr); cairo_destroy (cr); - - mask = _gdk_x11_window_create_bitmap_surface (gdk_screen_get_root_window (screen), - width, height); + + mask = _gdk_x11_window_create_bitmap_surface (gdk_screen_get_root_window (screen), + width, height); cr = cairo_create (mask); image = cairo_image_surface_create_for_data (mask_data, CAIRO_FORMAT_A1, width, height, data_stride); @@ -959,54 +803,46 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); cairo_paint (cr); cairo_destroy (cr); - + cursor = gdk_cursor_new_from_pixmap (display, cairo_xlib_surface_get_drawable (pixmap), cairo_xlib_surface_get_drawable (mask), &fg, &bg, x, y); - + cairo_surface_destroy (pixmap); cairo_surface_destroy (mask); g_free (data); g_free (mask_data); - + return cursor; } -GdkCursor* -gdk_cursor_new_from_name (GdkDisplay *display, - const gchar *name) +GdkCursor* +_gdk_x11_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return NULL; } -gboolean -gdk_display_supports_cursor_alpha (GdkDisplay *display) +gboolean +_gdk_x11_display_supports_cursor_alpha (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - return FALSE; } -gboolean -gdk_display_supports_cursor_color (GdkDisplay *display) +gboolean +_gdk_x11_display_supports_cursor_color (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - return FALSE; } -guint -gdk_display_get_default_cursor_size (GdkDisplay *display) +void +_gdk_x11_display_get_default_cursor_size (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); - /* no idea, really */ - return 20; + return 20; } #endif @@ -1022,19 +858,19 @@ gdk_display_get_default_cursor_size (GdkDisplay *display) * * Since: 2.4 */ -void -gdk_display_get_maximal_cursor_size (GdkDisplay *display, - guint *width, - guint *height) +void +_gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { GdkScreen *screen; GdkWindow *window; g_return_if_fail (GDK_IS_DISPLAY (display)); - + screen = gdk_display_get_default_screen (display); window = gdk_screen_get_root_window (screen); - XQueryBestCursor (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XID (window), - 128, 128, width, height); + XQueryBestCursor (GDK_DISPLAY_XDISPLAY (display), + GDK_WINDOW_XID (window), + 128, 128, width, height); } diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index a2c49e0e56..dc7909602b 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2696,5 +2696,12 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->add_client_message_filter = gdk_x11_display_add_client_message_filter; display_class->get_app_launch_context = _gdk_x11_display_get_app_launch_context; display_class->get_drag_protocol = _gdk_x11_display_get_drag_protocol; + display_class->get_cursor_for_type = _gdk_x11_display_get_cursor_for_type; + display_class->get_cursor_for_name = _gdk_x11_display_get_cursor_for_name; + display_class->get_cursor_for_pixbuf = _gdk_x11_display_get_cursor_for_pixbuf; + display_class->get_default_cursor_size = _gdk_x11_display_get_default_cursor_size; + display_class->get_maximal_cursor_size = _gdk_x11_display_get_maximal_cursor_size; + display_class->supports_cursor_alpha = _gdk_x11_display_supports_cursor_alpha; + display_class->supports_cursor_color = _gdk_x11_display_supports_cursor_color; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index e76038bd33..0d2a0cc2cc 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -157,6 +157,23 @@ void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, GdkDisplay *display); +GdkCursor *_gdk_x11_display_get_cursor_for_type (GdkDisplay *display, + GdkCursorType type); +GdkCursor *_gdk_x11_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name); +GdkCursor *_gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y); +gboolean _gdk_x11_display_supports_cursor_alpha (GdkDisplay *display); +gboolean _gdk_x11_display_supports_cursor_color (GdkDisplay *display); +void _gdk_x11_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height); +void _gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height); + void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, gint n_atoms); From ccb6edeb8b0af779e9c9b718e249d68c421aff65 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 13:30:05 -0500 Subject: [PATCH 0651/1463] Add vfuncs for process_updates_recurse and the before and after hooks --- gdk/gdkdisplayprivate.h | 3 +++ gdk/gdkwindow.c | 54 ++++++++++++++++++++++++++++------------ gdk/gdkwindowimpl.h | 3 +++ gdk/x11/gdkdisplay-x11.c | 3 +++ gdk/x11/gdkprivate-x11.h | 2 ++ gdk/x11/gdkwindow-x11.c | 12 ++++----- 6 files changed, 55 insertions(+), 22 deletions(-) diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index d47144c74b..9b1f12b46b 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -170,6 +170,9 @@ struct _GdkDisplayClass GdkDragProtocol *protocol, guint *version); + void (*before_process_all_updates) (GdkDisplay *display); + void (*after_process_all_updates) (GdkDisplay *display); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 8773a896d1..2a54023c14 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4039,19 +4039,18 @@ gdk_window_process_updates_internal (GdkWindow *window) cairo_region_get_extents (update_area, &clip_box); end_implicit = gdk_window_begin_implicit_paint (window, &clip_box); expose_region = cairo_region_copy (update_area); + impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); if (!end_implicit) { /* Rendering is not double buffered by gdk, do outstanding * moves and queue antiexposure immediately. No need to do * any tricks */ gdk_window_flush_outstanding_moves (window); - impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); save_region = impl_class->queue_antiexpose (window, update_area); } - /* Render the invalid areas to the implicit paint, by sending exposes. * May flush if non-double buffered widget draw. */ - _gdk_windowing_window_process_updates_recurse (window, expose_region); + impl_class->process_updates_recurse (window, expose_region); if (end_implicit) { @@ -4060,17 +4059,12 @@ gdk_window_process_updates_internal (GdkWindow *window) /* By this time we know that any outstanding expose for this * area is invalid and we can avoid it, so queue an antiexpose. - * However, it may be that due to an non-double buffered expose * we have already started drawing to the window, so it would * be to late to anti-expose now. Since this is merely an * optimization we just avoid doing it at all in that case. */ - if (window->implicit_paint != NULL && - !window->implicit_paint->flushed) - { - impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl); - save_region = impl_class->queue_antiexpose (window, update_area); - } + if (window->implicit_paint != NULL && !window->implicit_paint->flushed) + save_region = impl_class->queue_antiexpose (window, update_area); gdk_window_end_implicit_paint (window); } @@ -4093,11 +4087,39 @@ gdk_window_process_updates_internal (GdkWindow *window) static void flush_all_displays (void) { - GSList *displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); - GSList *tmp_list; + GSList *displays, *l; - for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next) - gdk_display_flush (tmp_list->data); + displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); + for (l = displays; l; l = l->next) + gdk_display_flush (l->data); + + g_slist_free (displays); +} + +static void +before_process_all_updates (void) +{ + GSList *displays, *l; + GdkDisplayClass *display_class; + + displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); + display_class = GDK_DISPLAY_GET_CLASS (displays->data); + for (l = displays; l; l = l->next) + display_class->before_process_all_updates (l->data); + + g_slist_free (displays); +} + +static void +after_process_all_updates (void) +{ + GSList *displays, *l; + GdkDisplayClass *display_class; + + displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); + display_class = GDK_DISPLAY_GET_CLASS (displays->data); + for (l = displays; l; l = l->next) + display_class->after_process_all_updates (l->data); g_slist_free (displays); } @@ -4145,7 +4167,7 @@ gdk_window_process_all_updates (void) update_windows = NULL; update_idle = 0; - _gdk_windowing_before_process_all_updates (); + before_process_all_updates (); g_slist_foreach (old_update_windows, (GFunc)g_object_ref, NULL); @@ -4170,7 +4192,7 @@ gdk_window_process_all_updates (void) flush_all_displays (); - _gdk_windowing_after_process_all_updates (); + after_process_all_updates (); in_process_all_updates = FALSE; diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 00ecedd81f..fe50b7a5ca 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -251,6 +251,9 @@ struct _GdkWindowImplClass GdkDragContext * (*drag_begin) (GdkWindow *window, GdkDevice *device, GList *targets); + + void (*process_updates_recurse) (GdkWindow *window, + cairo_region_t *region); }; /* Interface Functions */ diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index dc7909602b..f90554010e 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2703,5 +2703,8 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->get_maximal_cursor_size = _gdk_x11_display_get_maximal_cursor_size; display_class->supports_cursor_alpha = _gdk_x11_display_supports_cursor_alpha; display_class->supports_cursor_color = _gdk_x11_display_supports_cursor_color; + + display_class->before_process_all_updates = _gdk_x11_display_before_process_all_updates; + display_class->after_process_all_updates = _gdk_x11_display_after_process_all_updates; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 0d2a0cc2cc..50302c2188 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -173,6 +173,8 @@ void _gdk_x11_display_get_default_cursor_size (GdkDisplay *display, void _gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display, guint *width, guint *height); +void _gdk_x11_display_before_process_all_updates (GdkDisplay *display); +void _gdk_x11_display_after_process_all_updates (GdkDisplay *display); void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 527da43f3c..72170e9673 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4862,20 +4862,20 @@ gdk_x11_window_set_composited (GdkWindow *window, #endif } -void -_gdk_windowing_window_process_updates_recurse (GdkWindow *window, - cairo_region_t *region) +static void +gdk_x11_window_process_updates_recurse (GdkWindow *window, + cairo_region_t *region) { _gdk_window_process_updates_recurse (window, region); } void -_gdk_windowing_before_process_all_updates (void) +_gdk_x11_display_before_process_all_updates (GdkDisplay *display) { } void -_gdk_windowing_after_process_all_updates (void) +_gdk_x11_display_after_process_all_updates (GdkDisplay *display) { } @@ -5051,5 +5051,5 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->destroy_notify = gdk_x11_window_destroy_notify; impl_class->register_dnd = _gdk_x11_window_register_dnd; impl_class->drag_begin = _gdk_x11_window_drag_begin; + impl_class->process_updates_recurse = gdk_x11_window_process_updates_recurse; } - From 4a74060d63e15f6de20b557cf5c4eede27813dd3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 13:45:38 -0500 Subject: [PATCH 0652/1463] Make gdk_set_sm_client_id X11-specific This is really not a cross-platform API --- gdk/gdk.symbols | 2 +- gdk/gdkdisplay.c | 45 ------------------------------- gdk/x11/gdkdisplay-x11.c | 57 ++++++++++++++++++++++++++++++++++++---- gdk/x11/gdkmain-x11.c | 22 ---------------- gdk/x11/gdkx.h | 2 ++ 5 files changed, 55 insertions(+), 73 deletions(-) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 7040bfc4c6..d47c4e25dd 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -321,7 +321,6 @@ gdk_set_locale gdk_set_pointer_hooks gdk_set_program_class gdk_set_show_events -gdk_set_sm_client_id gdk_setting_action_get_type G_GNUC_CONST gdk_setting_get gdk_spawn_command_line_on_screen @@ -566,6 +565,7 @@ gdk_x11_screen_get_window_manager_name gdk_x11_screen_get_xscreen gdk_x11_screen_lookup_visual gdk_x11_screen_supports_net_wm_hint +gdk_x11_set_sm_client_id gdk_x11_ungrab_server gdk_x11_visual_get_xvisual gdk_x11_window_get_xid diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index d398dc8c45..fb9e591e6e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -136,8 +136,6 @@ static GdkAppLaunchContext *gdk_display_real_get_app_launch_context (GdkDisplay static guint signals[LAST_SIGNAL] = { 0 }; -static char *gdk_sm_client_id; - static const GdkDisplayDeviceHooks default_device_hooks = { _gdk_windowing_get_device_state, gdk_window_real_window_get_device_position, @@ -661,49 +659,6 @@ gdk_event_send_clientmessage_toall (GdkEvent *event) gdk_screen_broadcast_client_message (gdk_screen_get_default (), event); } -/** - * gdk_set_sm_client_id: - * @sm_client_id: the client id assigned by the session manager when the - * connection was opened, or %NULL to remove the property. - * - * Sets the SM_CLIENT_ID property on the application's leader window so that - * the window manager can save the application's state using the X11R6 ICCCM - * session management protocol. - * - * See the X Session Management Library documentation for more information on - * session management and the Inter-Client Communication Conventions Manual - * (ICCCM) for information on the WM_CLIENT_LEADER property. - * (Both documents are part of the X Window System distribution.) - **/ -void -gdk_set_sm_client_id (const gchar* sm_client_id) -{ - GSList *displays, *tmp_list; - - g_free (gdk_sm_client_id); - gdk_sm_client_id = g_strdup (sm_client_id); - - displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); - for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next) - _gdk_windowing_display_set_sm_client_id (tmp_list->data, sm_client_id); - - g_slist_free (displays); -} - -/** - * _gdk_get_sm_client_id: - * - * Gets the client ID set with gdk_set_sm_client_id(), if any. - * - * Return value: Session ID, or %NULL if gdk_set_sm_client_id() - * has never been called. - **/ -const char * -_gdk_get_sm_client_id (void) -{ - return gdk_sm_client_id; -} - void _gdk_display_enable_motion_hints (GdkDisplay *display, GdkDevice *device) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index f90554010e..84d0b5a8ad 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -157,6 +157,8 @@ static const char *const precache_atoms[] = { "_NET_VIRTUAL_ROOTS" }; +static char *gdk_sm_client_id; + G_DEFINE_TYPE_WITH_CODE (GdkDisplayX11, _gdk_display_x11, GDK_TYPE_DISPLAY, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, gdk_display_x11_event_translator_init)) @@ -1165,6 +1167,25 @@ gdk_input_init (GdkDisplay *display) g_list_free (list); } +static void +set_sm_client_id (GdkDisplay *display, + const gchar *sm_client_id) +{ + GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + + if (gdk_display_is_closed (display)) + return; + + if (sm_client_id && strcmp (sm_client_id, "")) + XChangeProperty (display_x11->xdisplay, display_x11->leader_window, + gdk_x11_get_xatom_by_name_for_display (display, "SM_CLIENT_ID"), + XA_STRING, 8, PropModeReplace, (guchar *)sm_client_id, + strlen (sm_client_id)); + else + XDeleteProperty (display_x11->xdisplay, display_x11->leader_window, + gdk_x11_get_xatom_by_name_for_display (display, "SM_CLIENT_ID")); +} + /** * gdk_display_open: * @display_name: the name of the display to open @@ -1185,8 +1206,7 @@ _gdk_x11_display_open (const gchar *display_name) GdkWindowAttr attr; gint argc; gchar *argv[1]; - const char *sm_client_id; - + XClassHint *class_hint; gulong pid; gint i; @@ -1357,9 +1377,8 @@ _gdk_x11_display_open (const gchar *display_name) class_hint); XFree (class_hint); - sm_client_id = _gdk_get_sm_client_id (); - if (sm_client_id) - _gdk_windowing_display_set_sm_client_id (display, sm_client_id); + if (gdk_sm_client_id) + set_sm_client_id (display, gdk_sm_client_id); pid = getpid (); XChangeProperty (display_x11->xdisplay, @@ -2665,6 +2684,34 @@ extern GdkNativeWindow _gdk_x11_display_get_drag_protocol (GdkDisplay GdkDragProtocol *protocol, guint *version); + +/** + * gdk_x11_set_sm_client_id: + * @sm_client_id: the client id assigned by the session manager when the + * connection was opened, or %NULL to remove the property. + * + * Sets the SM_CLIENT_ID property on the application's leader window so that + * the window manager can save the application's state using the X11R6 ICCCM + * session management protocol. + * + * See the X Session Management Library documentation for more information on + * session management and the Inter-Client Communication Conventions Manual + */ +void +gdk_x11_set_sm_client_id (const gchar *sm_client_id) +{ + GSList *displays, *l; + + g_free (gdk_sm_client_id); + gdk_sm_client_id = g_strdup (sm_client_id); + + displays = gdk_display_manager_list_displays (gdk_display_manager_get ()); + for (l = displays; l; l = l->next) + set_sm_client_id (l->data, sm_client_id); + + g_slist_free (displays); +} + static void _gdk_display_x11_class_init (GdkDisplayX11Class * class) { diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 57aedf542c..6424aab56b 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -49,7 +49,6 @@ #include #endif - typedef struct _GdkPredicate GdkPredicate; typedef struct _GdkGlobalErrorTrap GdkGlobalErrorTrap; @@ -203,27 +202,6 @@ _gdk_xgrab_check_destroy (GdkWindow *window) g_list_free (devices); } -void -_gdk_windowing_display_set_sm_client_id (GdkDisplay *display, - const gchar *sm_client_id) -{ - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); - - if (gdk_display_is_closed (display)) - return; - - if (sm_client_id && strcmp (sm_client_id, "")) - { - XChangeProperty (display_x11->xdisplay, display_x11->leader_window, - gdk_x11_get_xatom_by_name_for_display (display, "SM_CLIENT_ID"), - XA_STRING, 8, PropModeReplace, (guchar *)sm_client_id, - strlen (sm_client_id)); - } - else - XDeleteProperty (display_x11->xdisplay, display_x11->leader_window, - gdk_x11_get_xatom_by_name_for_display (display, "SM_CLIENT_ID")); -} - /* *-------------------------------------------------------------- * gdk_x_io_error diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 51aae0dad1..7e5dd1b574 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -248,6 +248,8 @@ void gdk_x11_register_standard_event_type (GdkDisplay *display, gint n_events); +void gdk_x11_set_sm_client_id (const gchar *sm_client_id); + G_END_DECLS #endif /* __GDK_X_H__ */ From 9635f096231eeb5627d92ce15eb921a2c5543558 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 13:53:34 -0500 Subject: [PATCH 0653/1463] Move warp functions to the frontend There were already GdkDevice vfuncs for this. --- gdk/gdkdisplay.c | 73 +++++++++++++++++++++++++++++++++++++++ gdk/x11/gdkwindow-x11.c | 75 ----------------------------------------- 2 files changed, 73 insertions(+), 75 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index fb9e591e6e..88a1d7b4c7 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -26,6 +26,7 @@ #include "gdkdisplay.h" #include "gdkdisplayprivate.h" +#include "gdkdeviceprivate.h" #include "gdkevents.h" #include "gdkwindowimpl.h" #include "gdkinternals.h" @@ -2338,3 +2339,75 @@ gdk_display_get_maximal_cursor_size (GdkDisplay *display, width, height); } + +/** + * gdk_display_warp_pointer: + * @display: a #GdkDisplay + * @screen: the screen of @display to warp the pointer to + * @x: the x coordinate of the destination + * @y: the y coordinate of the destination + * + * Warps the pointer of @display to the point @x,@y on + * the screen @screen, unless the pointer is confined + * to a window by a grab, in which case it will be moved + * as far as allowed by the grab. Warping the pointer + * creates events as if the user had moved the mouse + * instantaneously to the destination. + * + * Note that the pointer should normally be under the + * control of the user. This function was added to cover + * some rare use cases like keyboard navigation support + * for the color picker in the #GtkColorSelectionDialog. + * + * Since: 2.8 + * + * Deprecated: 3.0: Use gdk_display_warp_device() instead. + */ +void +gdk_display_warp_pointer (GdkDisplay *display, + GdkScreen *screen, + gint x, + gint y) +{ + gdk_display_warp_device (display, + display->core_pointer, + screen, + x, y); +} + +/** + * gdk_display_warp_device: + * @display: a #GdkDisplay. + * @device: a #GdkDevice. + * @screen: the screen of @display to warp @device to. + * @x: the X coordinate of the destination. + * @y: the Y coordinate of the destination. + * + * Warps @device in @display to the point @x,@y on + * the screen @screen, unless the device is confined + * to a window by a grab, in which case it will be moved + * as far as allowed by the grab. Warping the pointer + * creates events as if the user had moved the mouse + * instantaneously to the destination. + * + * Note that the pointer should normally be under the + * control of the user. This function was added to cover + * some rare use cases like keyboard navigation support + * for the color picker in the #GtkColorSelectionDialog. + * + * Since: 3.0 + **/ +void +gdk_display_warp_device (GdkDisplay *display, + GdkDevice *device, + GdkScreen *screen, + gint x, + gint y) +{ + g_return_if_fail (GDK_IS_DISPLAY (display)); + g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (GDK_IS_SCREEN (screen)); + g_return_if_fail (display == gdk_device_get_display (device)); + + GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); +} diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 72170e9673..dd233bd247 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2891,81 +2891,6 @@ gdk_window_x11_get_device_state (GdkWindow *window, return return_val; } -/** - * gdk_display_warp_pointer: - * @display: a #GdkDisplay - * @screen: the screen of @display to warp the pointer to - * @x: the x coordinate of the destination - * @y: the y coordinate of the destination - * - * Warps the pointer of @display to the point @x,@y on - * the screen @screen, unless the pointer is confined - * to a window by a grab, in which case it will be moved - * as far as allowed by the grab. Warping the pointer - * creates events as if the user had moved the mouse - * instantaneously to the destination. - * - * Note that the pointer should normally be under the - * control of the user. This function was added to cover - * some rare use cases like keyboard navigation support - * for the color picker in the #GtkColorSelectionDialog. - * - * Since: 2.8 - * - * Deprecated: 3.0: Use gdk_display_warp_device() instead. - */ -void -gdk_display_warp_pointer (GdkDisplay *display, - GdkScreen *screen, - gint x, - gint y) -{ - GdkDevice *device; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - g_return_if_fail (GDK_IS_SCREEN (screen)); - - device = display->core_pointer; - GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); -} - -/** - * gdk_display_warp_device: - * @display: a #GdkDisplay. - * @device: a #GdkDevice. - * @screen: the screen of @display to warp @device to. - * @x: the X coordinate of the destination. - * @y: the Y coordinate of the destination. - * - * Warps @device in @display to the point @x,@y on - * the screen @screen, unless the device is confined - * to a window by a grab, in which case it will be moved - * as far as allowed by the grab. Warping the pointer - * creates events as if the user had moved the mouse - * instantaneously to the destination. - * - * Note that the pointer should normally be under the - * control of the user. This function was added to cover - * some rare use cases like keyboard navigation support - * for the color picker in the #GtkColorSelectionDialog. - * - * Since: 3.0 - **/ -void -gdk_display_warp_device (GdkDisplay *display, - GdkDevice *device, - GdkScreen *screen, - gint x, - gint y) -{ - g_return_if_fail (GDK_IS_DISPLAY (display)); - g_return_if_fail (GDK_IS_DEVICE (device)); - g_return_if_fail (GDK_IS_SCREEN (screen)); - g_return_if_fail (display == gdk_device_get_display (device)); - - GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); -} - GdkWindow* _gdk_windowing_window_at_device_position (GdkDisplay *display, GdkDevice *device, From 9adb9741559439b713dc1618a5a5a70cd3548b53 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 14:05:59 -0500 Subject: [PATCH 0654/1463] Add a vfunc for _gdk_windowing_window_get_next_serial --- gdk/gdkdevice.c | 2 +- gdk/gdkdisplay.c | 8 +++++++- gdk/gdkdisplayprivate.h | 4 +++- gdk/gdkwindow.c | 12 ++++++------ gdk/x11/gdkdevicemanager-core.c | 3 ++- gdk/x11/gdkdevicemanager-xi2.c | 5 +++-- gdk/x11/gdkdisplay-x11.c | 5 +++-- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 1da6e4324d..e8e27d23aa 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -1136,7 +1136,7 @@ gdk_device_grab (GdkDevice *device, gulong serial; display = gdk_window_get_display (window); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); _gdk_display_add_device_grab (display, device, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 88a1d7b4c7..b14ad84a6e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -677,7 +677,7 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, if (*device_serial != 0) { - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); /* We might not actually generate the next request, so make sure this triggers always, this may cause it to trigger slightly too early, but this is just a hint @@ -2411,3 +2411,9 @@ gdk_display_warp_device (GdkDisplay *display, GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); } + +gulong +_gdk_display_get_next_serial (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS (display)->get_next_serial (display); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 9b1f12b46b..4772041e05 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -173,6 +173,8 @@ struct _GdkDisplayClass void (*before_process_all_updates) (GdkDisplay *display); void (*after_process_all_updates) (GdkDisplay *display); + gulong (*get_next_serial) (GdkDisplay *display); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); @@ -218,7 +220,7 @@ GdkPointerWindowInfo * _gdk_display_get_pointer_info (GdkDisplay *display void _gdk_display_pointer_info_foreach (GdkDisplay *display, GdkDisplayPointerInfoForeach func, gpointer user_data); - +gulong _gdk_display_get_next_serial (GdkDisplay *display); G_END_DECLS diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 2a54023c14..215bc5a80c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -5686,8 +5686,9 @@ gdk_window_hide (GdkWindow *window) { GdkDevice *device = d->data; - if (_gdk_display_end_device_grab (display, device, - _gdk_windowing_window_get_next_serial (display), + if (_gdk_display_end_device_grab (display, + device, + _gdk_display_get_next_serial (display), window, TRUE)) gdk_device_ungrab (device, GDK_CURRENT_TIME); @@ -8742,7 +8743,7 @@ gdk_pointer_grab (GdkWindow * window, display = gdk_window_get_display (window); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); device_manager = gdk_display_get_device_manager (display); devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); @@ -8845,8 +8846,7 @@ gdk_keyboard_grab (GdkWindow *window, } display = gdk_window_get_display (window); - - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); device_manager = gdk_display_get_device_manager (display); devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); @@ -9056,7 +9056,7 @@ do_synthesize_crossing_event (gpointer data) return FALSE; display = gdk_window_get_display (changed_toplevel); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); g_hash_table_iter_init (&iter, display->pointers_info); while (g_hash_table_iter_next (&iter, &key, &value)) diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 64f107aff1..7163aa2a4e 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -23,6 +23,7 @@ #include "gdktypes.h" #include "gdkdevicemanagerprivate.h" +#include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-core.h" #include "gdkkeysyms.h" @@ -391,7 +392,7 @@ get_event_window (GdkEventTranslator *translator, GdkDeviceGrabInfo *info; gulong serial; - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); info = _gdk_display_has_device_grab (display, GDK_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, serial); diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index ee3461c3fe..f692ff5549 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -21,7 +21,8 @@ #include "gdkdevicemanager-xi2.h" -#include +#include "gdkdeviceprivate.h" +#include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-xi2.h" #include "gdkkeysyms.h" @@ -905,7 +906,7 @@ get_event_window (GdkEventTranslator *translator, device = g_hash_table_lookup (GDK_DEVICE_MANAGER_XI2 (translator)->id_table, GUINT_TO_POINTER (((XIDeviceEvent *) ev)->deviceid)); - serial = _gdk_windowing_window_get_next_serial (display); + serial = _gdk_display_get_next_serial (display); info = _gdk_display_has_device_grab (display, device, serial); if (info && diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 84d0b5a8ad..194b25fe73 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1486,8 +1486,8 @@ process_internal_connection (GIOChannel *gioc, return TRUE; } -gulong -_gdk_windowing_window_get_next_serial (GdkDisplay *display) +static gulong +gdk_x11_display_get_next_serial (GdkDisplay *display) { return NextRequest (GDK_DISPLAY_XDISPLAY (display)); } @@ -2753,5 +2753,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->before_process_all_updates = _gdk_x11_display_before_process_all_updates; display_class->after_process_all_updates = _gdk_x11_display_after_process_all_updates; + display_class->get_next_serial = gdk_x11_display_get_next_serial; } From 224726f554e88b2abc2d955f3e9a631affe430ca Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 17:43:10 -0500 Subject: [PATCH 0655/1463] Remove gdk_windowing_{get_device_state,window_at_device_position} The !trusted workaround code is pushed down into the GdkDevice subclasses, and we use the device vfuncs directly in gdkdisplay.c --- gdk/gdkdevice.c | 35 +++++++ gdk/gdkdeviceprivate.h | 22 +++- gdk/gdkdisplay.c | 44 ++++++-- gdk/gdkinternals.h | 23 ----- gdk/x11/gdkdevice-core.c | 129 +++++++++++++++++++---- gdk/x11/gdkdevice-xi.c | 1 + gdk/x11/gdkdevice-xi2.c | 156 +++++++++++++++++++++++----- gdk/x11/gdkwindow-x11.c | 214 ++------------------------------------- 8 files changed, 342 insertions(+), 282 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index e8e27d23aa..6b9c693e34 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -1455,3 +1455,38 @@ _gdk_device_translate_axis (GdkDevice *device, return TRUE; } +gboolean +_gdk_device_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask) +{ + return GDK_DEVICE_GET_CLASS (device)->query_state (device, + window, + root_window, + child_window, + root_x, + root_y, + win_x, + win_y, + mask); +} + +GdkWindow * +_gdk_device_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel) +{ + return GDK_DEVICE_GET_CLASS (device)->window_at_position (device, + win_x, + win_y, + mask, + get_toplevel); +} diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index a9bb0455f1..29332b2f5d 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -85,10 +85,10 @@ struct _GdkDeviceClass GdkScreen *screen, gint x, gint y); - gboolean (* query_state) (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, + gboolean (* query_state) (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, gint *root_x, gint *root_y, gint *win_x, @@ -157,6 +157,20 @@ void _gdk_device_add_slave (GdkDevice *device, GdkDevice *slave); void _gdk_device_remove_slave (GdkDevice *device, GdkDevice *slave); +gboolean _gdk_device_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask); +GdkWindow * _gdk_device_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel); G_END_DECLS diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index b14ad84a6e..d78e7c9387 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -133,12 +133,18 @@ static GdkWindow *gdk_display_real_get_window_at_device_position (GdkDisplay GdkDevice *device, gint *win_x, gint *win_y); +static void gdk_display_real_get_device_state (GdkDisplay *display, + GdkDevice *device, + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask); static GdkAppLaunchContext *gdk_display_real_get_app_launch_context (GdkDisplay *display); static guint signals[LAST_SIGNAL] = { 0 }; static const GdkDisplayDeviceHooks default_device_hooks = { - _gdk_windowing_get_device_state, + gdk_display_real_get_device_state, gdk_window_real_window_get_device_position, gdk_display_real_get_window_at_device_position }; @@ -838,7 +844,7 @@ gdk_display_real_get_window_at_device_position (GdkDisplay *display, GdkWindow *window; gint x, y; - window = _gdk_windowing_window_at_device_position (display, device, &x, &y, NULL, FALSE); + window = _gdk_device_window_at_position (device, &x, &y, NULL, FALSE); /* This might need corrections, as the native window returned may contain client side children */ @@ -951,6 +957,32 @@ multihead_window_at_device_position (GdkDisplay *display, return multihead_current_pointer_hooks->window_at_pointer (display, win_x, win_y); } +static void +gdk_display_real_get_device_state (GdkDisplay *display, + GdkDevice *device, + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask) +{ + GdkScreen *default_screen; + GdkWindow *root; + + if (gdk_display_is_closed (display)) + return; + + default_screen = gdk_display_get_default_screen (display); + + _gdk_device_query_state (device, + gdk_screen_get_root_window (default_screen), + &root, NULL, + x, y, + NULL, NULL, + mask); + + *screen = gdk_window_get_screen (root); +} + static void multihead_default_get_pointer (GdkDisplay *display, GdkScreen **screen, @@ -958,9 +990,8 @@ multihead_default_get_pointer (GdkDisplay *display, gint *y, GdkModifierType *mask) { - return _gdk_windowing_get_device_state (display, - display->core_pointer, - screen, x, y, mask); + gdk_display_real_get_device_state (display, display->core_pointer, + screen, x, y, mask); } static GdkWindow * @@ -1329,7 +1360,7 @@ get_current_toplevel (GdkDisplay *display, int x, y; GdkModifierType state; - pointer_window = _gdk_windowing_window_at_device_position (display, device, &x, &y, &state, TRUE); + pointer_window = _gdk_device_window_at_position (device, &x, &y, &state, TRUE); if (pointer_window != NULL && (GDK_WINDOW_DESTROYED (pointer_window) || @@ -1340,6 +1371,7 @@ get_current_toplevel (GdkDisplay *display, *x_out = x; *y_out = y; *state_out = state; + return pointer_window; } diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 2259bc5116..d14a8ee150 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -326,40 +326,17 @@ extern const GOptionEntry _gdk_windowing_args[]; gchar *_gdk_windowing_substitute_screen_number (const gchar *display_name, gint screen_number); -gulong _gdk_windowing_window_get_next_serial (GdkDisplay *display); void _gdk_windowing_window_get_offsets (GdkWindow *window, gint *x_offset, gint *y_offset); - -void _gdk_windowing_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); -GdkWindow* _gdk_windowing_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel); void _gdk_windowing_got_event (GdkDisplay *display, GList *event_link, GdkEvent *event, gulong serial); -void _gdk_windowing_window_process_updates_recurse (GdkWindow *window, - cairo_region_t *expose_region); -void _gdk_windowing_before_process_all_updates (void); -void _gdk_windowing_after_process_all_updates (void); - - #define GDK_WINDOW_IS_MAPPED(window) (((window)->state & GDK_WINDOW_STATE_WITHDRAWN) == 0) -void _gdk_windowing_display_set_sm_client_id (GdkDisplay *display, - const gchar *sm_client_id); - #define GDK_TYPE_PAINTABLE (_gdk_paintable_get_type ()) #define GDK_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_PAINTABLE, GdkPaintable)) #define GDK_IS_PAINTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_PAINTABLE)) diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index 8e7b3c93ab..ff0d456e4c 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -243,23 +243,49 @@ gdk_device_core_query_state (GdkDevice *device, GdkModifierType *mask) { GdkDisplay *display; + GdkScreen *default_screen; Window xroot_window, xchild_window; int xroot_x, xroot_y, xwin_x, xwin_y; unsigned int xmask; display = gdk_window_get_display (window); + default_screen = gdk_display_get_default_screen (display); - if (!XQueryPointer (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), - &xroot_window, - &xchild_window, - &xroot_x, - &xroot_y, - &xwin_x, - &xwin_y, - &xmask)) + if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) { - return FALSE; + if (!XQueryPointer (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + &xroot_window, + &xchild_window, + &xroot_x, + &xroot_y, + &xwin_x, + &xwin_y, + &xmask)) + return FALSE; + } + else + { + XSetWindowAttributes attributes; + Display *xdisplay; + Window xwindow, w; + + /* FIXME: untrusted clients not multidevice-safe */ + xdisplay = GDK_SCREEN_XDISPLAY (default_screen); + xwindow = GDK_SCREEN_XROOTWIN (default_screen); + + w = XCreateWindow (xdisplay, xwindow, 0, 0, 1, 1, 0, + CopyFromParent, InputOnly, CopyFromParent, + 0, &attributes); + XQueryPointer (xdisplay, w, + &xroot_window, + &xchild_window, + &xroot_x, + &xroot_y, + &xwin_x, + &xwin_y, + &xmask); + XDestroyWindow (xdisplay, w); } if (root_window) @@ -415,25 +441,92 @@ gdk_device_core_window_at_position (GdkDevice *device, xdisplay = GDK_SCREEN_XDISPLAY (screen); xwindow = GDK_SCREEN_XROOTWIN (screen); - XQueryPointer (xdisplay, xwindow, - &root, &child, - &xroot_x, &xroot_y, - &xwin_x, &xwin_y, - &xmask); + if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + { + XQueryPointer (xdisplay, xwindow, + &root, &child, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, + &xmask); - if (root == xwindow) - xwindow = child; + if (root == xwindow) + xwindow = child; + else + xwindow = root; + } else - xwindow = root; + { + gint i, screens, width, height; + GList *toplevels, *list; + Window pointer_window, root, child; + int rootx = -1, rooty = -1; + int winx, winy; + unsigned int xmask; + + /* FIXME: untrusted clients case not multidevice-safe */ + pointer_window = None; + screens = gdk_display_get_n_screens (display); + + for (i = 0; i < screens; ++i) + { + screen = gdk_display_get_screen (display, i); + toplevels = gdk_screen_get_toplevel_windows (screen); + for (list = toplevels; list != NULL; list = g_list_next (list)) + { + window = GDK_WINDOW (list->data); + xwindow = GDK_WINDOW_XID (window); + gdk_x11_display_error_trap_push (display); + XQueryPointer (xdisplay, xwindow, + &root, &child, &rootx, &rooty, &winx, &winy, &xmask); + if (gdk_x11_display_error_trap_pop (display)) + continue; + if (child != None) + { + pointer_window = child; + break; + } + gdk_window_get_geometry (window, NULL, NULL, &width, &height); + if (winx >= 0 && winy >= 0 && winx < width && winy < height) + { + /* A childless toplevel, or below another window? */ + XSetWindowAttributes attributes; + Window w; + + w = XCreateWindow (xdisplay, xwindow, winx, winy, 1, 1, 0, + CopyFromParent, InputOnly, CopyFromParent, + 0, &attributes); + XMapWindow (xdisplay, w); + XQueryPointer (xdisplay, xwindow, + &root, &child, + &rootx, &rooty, &winx, &winy, &xmask); + XDestroyWindow (xdisplay, w); + if (child == w) + { + pointer_window = xwindow; + break; + } + } + } + + g_list_free (toplevels); + if (pointer_window != None) + break; + } + + xwindow = pointer_window; + } while (xwindow) { last = xwindow; + gdk_x11_display_error_trap_push (display); XQueryPointer (xdisplay, xwindow, &root, &xwindow, &xroot_x, &xroot_y, &xwin_x, &xwin_y, &xmask); + if (gdk_x11_display_error_trap_pop (display)) + break; if (get_toplevel && last != root && (window = gdk_window_lookup_for_display (display, last)) != NULL && diff --git a/gdk/x11/gdkdevice-xi.c b/gdk/x11/gdkdevice-xi.c index 71b0ab5c9c..e7dfb0ca6a 100644 --- a/gdk/x11/gdkdevice-xi.c +++ b/gdk/x11/gdkdevice-xi.c @@ -491,6 +491,7 @@ gdk_device_xi_window_at_position (GdkDevice *device, { return NULL; } + static void gdk_device_xi_select_window_events (GdkDevice *device, GdkWindow *window, diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 09b2965d7a..522eda90df 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -298,6 +298,7 @@ gdk_device_xi2_query_state (GdkDevice *device, GdkModifierType *mask) { GdkDisplay *display; + GdkScreen *default_screen; GdkDeviceXI2Private *priv; Window xroot_window, xchild_window; gdouble xroot_x, xroot_y, xwin_x, xwin_y; @@ -310,21 +311,49 @@ gdk_device_xi2_query_state (GdkDevice *device, priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_window_get_display (window); + default_screen = gdk_display_get_default_screen (display); - if (!XIQueryPointer (GDK_WINDOW_XDISPLAY (window), - priv->device_id, - GDK_WINDOW_XID (window), - &xroot_window, - &xchild_window, - &xroot_x, - &xroot_y, - &xwin_x, - &xwin_y, - &button_state, - &mod_state, - &group_state)) + if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) { - return FALSE; + if (!XIQueryPointer (GDK_WINDOW_XDISPLAY (window), + priv->device_id, + GDK_WINDOW_XID (window), + &xroot_window, + &xchild_window, + &xroot_x, + &xroot_y, + &xwin_x, + &xwin_y, + &button_state, + &mod_state, + &group_state)) + return FALSE; + } + else + { + XSetWindowAttributes attributes; + Display *xdisplay; + Window xwindow, w; + + /* FIXME: untrusted clients not multidevice-safe */ + xdisplay = GDK_SCREEN_XDISPLAY (default_screen); + xwindow = GDK_SCREEN_XROOTWIN (default_screen); + + w = XCreateWindow (xdisplay, xwindow, 0, 0, 1, 1, 0, + CopyFromParent, InputOnly, CopyFromParent, + 0, &attributes); + XIQueryPointer (xdisplay, priv->device_id, + w, + &xroot_window, + &xchild_window, + &xroot_x, + &xroot_y, + &xwin_x, + &xwin_y, + &button_state, + &mod_state, + &group_state); + XDestroyWindow (xdisplay, w); } if (root_window) @@ -455,24 +484,99 @@ gdk_device_xi2_window_at_position (GdkDevice *device, xdisplay = GDK_SCREEN_XDISPLAY (screen); xwindow = GDK_SCREEN_XROOTWIN (screen); - XIQueryPointer (xdisplay, - priv->device_id, - xwindow, - &root, &child, - &xroot_x, &xroot_y, - &xwin_x, &xwin_y, - &button_state, - &mod_state, - &group_state); + if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + { + XIQueryPointer (xdisplay, + priv->device_id, + xwindow, + &root, &child, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, + &button_state, + &mod_state, + &group_state); - if (root == xwindow) - xwindow = child; + if (root == xwindow) + xwindow = child; + else + xwindow = root; + } else - xwindow = root; + { + gint i, screens, width, height; + GList *toplevels, *list; + Window pointer_window, root, child; + + /* FIXME: untrusted clients case not multidevice-safe */ + pointer_window = None; + screens = gdk_display_get_n_screens (display); + + for (i = 0; i < screens; ++i) + { + screen = gdk_display_get_screen (display, i); + toplevels = gdk_screen_get_toplevel_windows (screen); + for (list = toplevels; list != NULL; list = g_list_next (list)) + { + window = GDK_WINDOW (list->data); + xwindow = GDK_WINDOW_XID (window); + gdk_x11_display_error_trap_push (display); + XIQueryPointer (xdisplay, + priv->device_id, + xwindow, + &root, &child, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, + &button_state, + &mod_state, + &group_state); + if (gdk_x11_display_error_trap_pop (display)) + continue; + if (child != None) + { + pointer_window = child; + break; + } + gdk_window_get_geometry (window, NULL, NULL, &width, &height); + if (xwin_x >= 0 && xwin_y >= 0 && xwin_x < width && xwin_y < height) + { + /* A childless toplevel, or below another window? */ + XSetWindowAttributes attributes; + Window w; + + w = XCreateWindow (xdisplay, xwindow, (int)xwin_x, (int)xwin_y, 1, 1, 0, + CopyFromParent, InputOnly, CopyFromParent, + 0, &attributes); + XMapWindow (xdisplay, w); + XIQueryPointer (xdisplay, + priv->device_id, + xwindow, + &root, &child, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, + &button_state, + &mod_state, + &group_state); + XDestroyWindow (xdisplay, w); + if (child == w) + { + pointer_window = xwindow; + break; + } + } + } + + g_list_free (toplevels); + if (pointer_window != None) + break; + } + + xwindow = pointer_window; + } while (xwindow) { last = xwindow; + gdk_x11_display_error_trap_push (display); XIQueryPointer (xdisplay, priv->device_id, xwindow, @@ -482,6 +586,8 @@ gdk_device_xi2_window_at_position (GdkDevice *device, &button_state, &mod_state, &group_state); + if (gdk_x11_display_error_trap_pop (display)) + break; if (get_toplevel && last != root && (window = gdk_window_lookup_for_display (display, last)) != NULL && diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index dd233bd247..287a5bccfc 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2781,66 +2781,6 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, gdk_error_trap_pop_ignored (); } -void -_gdk_windowing_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask) -{ - GdkScreen *default_screen; - - if (gdk_display_is_closed (display)) - return; - - default_screen = gdk_display_get_default_screen (display); - - - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) - { - GdkWindow *root; - - GDK_DEVICE_GET_CLASS (device)->query_state (device, - gdk_screen_get_root_window (default_screen), - &root, NULL, - x, y, - NULL, NULL, - mask); - *screen = gdk_window_get_screen (root); - } - else - { - XSetWindowAttributes attributes; - Display *xdisplay; - Window xwindow, w, root, child; - int rootx, rooty, winx, winy; - unsigned int xmask; - - /* FIXME: untrusted clients not multidevice-safe */ - - xdisplay = GDK_SCREEN_XDISPLAY (default_screen); - xwindow = GDK_SCREEN_XROOTWIN (default_screen); - - w = XCreateWindow (xdisplay, xwindow, 0, 0, 1, 1, 0, - CopyFromParent, InputOnly, CopyFromParent, - 0, &attributes); - XQueryPointer (xdisplay, w, - &root, &child, &rootx, &rooty, &winx, &winy, &xmask); - XDestroyWindow (xdisplay, w); - - if (root != None) - { - GdkWindow *gdk_root = gdk_window_lookup_for_display (display, root); - *screen = gdk_window_get_screen (gdk_root); - } - - *x = rootx; - *y = rooty; - *mask = xmask; - } -} - static gboolean gdk_window_x11_get_device_state (GdkWindow *window, GdkDevice *device, @@ -2848,156 +2788,18 @@ gdk_window_x11_get_device_state (GdkWindow *window, gint *y, GdkModifierType *mask) { - GdkDisplay *display = GDK_WINDOW_DISPLAY (window); - gboolean return_val; + GdkWindow *child; g_return_val_if_fail (window == NULL || GDK_IS_WINDOW (window), FALSE); - return_val = TRUE; + if (GDK_WINDOW_DESTROYED (window)) + return FALSE; - if (!GDK_WINDOW_DESTROYED (window)) - { - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) - { - GdkWindow *child; - - GDK_DEVICE_GET_CLASS (device)->query_state (device, window, - NULL, &child, - NULL, NULL, - x, y, mask); - return_val = (child != NULL); - } - else - { - GdkScreen *screen; - int originx, originy; - int rootx, rooty; - int winx = 0; - int winy = 0; - unsigned int xmask = 0; - - _gdk_windowing_get_device_state (gdk_window_get_display (window), device, - &screen, &rootx, &rooty, &xmask); - gdk_window_get_origin (window, &originx, &originy); - winx = rootx - originx; - winy = rooty - originy; - - *x = winx; - *y = winy; - *mask = xmask; - } - } - - return return_val; -} - -GdkWindow* -_gdk_windowing_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel) -{ - GdkWindow *window; - GdkScreen *screen; - - screen = gdk_display_get_default_screen (display); - - /* This function really only works if the mouse pointer is held still - * during its operation. If it moves from one leaf window to another - * than we'll end up with inaccurate values for win_x, win_y - * and the result. - */ - gdk_x11_display_grab (display); - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) - window = GDK_DEVICE_GET_CLASS (device)->window_at_position (device, win_x, win_y, mask, get_toplevel); - else - { - gint i, screens, width, height; - GList *toplevels, *list; - Window pointer_window, root, xwindow, child; - Window xwindow_last = 0; - Display *xdisplay; - int rootx = -1, rooty = -1; - int winx, winy; - unsigned int xmask; - - /* FIXME: untrusted clients case not multidevice-safe */ - - xwindow = GDK_SCREEN_XROOTWIN (screen); - xdisplay = GDK_SCREEN_XDISPLAY (screen); - - pointer_window = None; - screens = gdk_display_get_n_screens (display); - for (i = 0; i < screens; ++i) { - screen = gdk_display_get_screen (display, i); - toplevels = gdk_screen_get_toplevel_windows (screen); - for (list = toplevels; list != NULL; list = g_list_next (list)) { - window = GDK_WINDOW (list->data); - xwindow = GDK_WINDOW_XID (window); - gdk_error_trap_push (); - XQueryPointer (xdisplay, xwindow, - &root, &child, &rootx, &rooty, &winx, &winy, &xmask); - if (gdk_error_trap_pop ()) - continue; - if (child != None) - { - pointer_window = child; - break; - } - gdk_window_get_geometry (window, NULL, NULL, &width, &height); - if (winx >= 0 && winy >= 0 && winx < width && winy < height) - { - /* A childless toplevel, or below another window? */ - XSetWindowAttributes attributes; - Window w; - - w = XCreateWindow (xdisplay, xwindow, winx, winy, 1, 1, 0, - CopyFromParent, InputOnly, CopyFromParent, - 0, &attributes); - XMapWindow (xdisplay, w); - XQueryPointer (xdisplay, xwindow, - &root, &child, &rootx, &rooty, &winx, &winy, &xmask); - XDestroyWindow (xdisplay, w); - if (child == w) - { - pointer_window = xwindow; - break; - } - } - } - g_list_free (toplevels); - if (pointer_window != None) - break; - } - xwindow = pointer_window; - - while (xwindow) - { - xwindow_last = xwindow; - gdk_error_trap_push (); - XQueryPointer (xdisplay, xwindow, - &root, &xwindow, &rootx, &rooty, &winx, &winy, &xmask); - if (gdk_error_trap_pop ()) - break; - if (get_toplevel && xwindow_last != root && - (window = gdk_window_lookup_for_display (display, xwindow_last)) != NULL && - GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN) - break; - } - - window = gdk_window_lookup_for_display (display, xwindow_last); - - *win_x = window ? winx : -1; - *win_y = window ? winy : -1; - if (mask) - *mask = xmask; - } - - gdk_x11_display_ungrab (display); - - return window; + GDK_DEVICE_GET_CLASS (device)->query_state (device, window, + NULL, &child, + NULL, NULL, + x, y, mask); + return child != NULL; } static GdkEventMask From 2186203422d4592db3212fd3923b650d2ccd51eb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 18:50:26 -0500 Subject: [PATCH 0656/1463] Remove unused get_offsets functions from headers --- gdk/gdkinternals.h | 4 ---- gdk/win32/gdkprivate-win32.h | 3 --- gdk/x11/gdkwindow-x11.h | 3 --- 3 files changed, 10 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index d14a8ee150..6b179be033 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -326,10 +326,6 @@ extern const GOptionEntry _gdk_windowing_args[]; gchar *_gdk_windowing_substitute_screen_number (const gchar *display_name, gint screen_number); -void _gdk_windowing_window_get_offsets (GdkWindow *window, - gint *x_offset, - gint *y_offset); - void _gdk_windowing_got_event (GdkDisplay *display, GList *event_link, GdkEvent *event, diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h index 384167ee2b..f118a9c909 100644 --- a/gdk/win32/gdkprivate-win32.h +++ b/gdk/win32/gdkprivate-win32.h @@ -167,9 +167,6 @@ void _gdk_win32_window_move_region (GdkWindow *window, const cairo_region_t *region, gint dx, gint dy); -void _gdk_win32_windowing_window_get_offsets (GdkWindow *window, - gint *x_offset, - gint *y_offset); void _gdk_win32_selection_init (void); diff --git a/gdk/x11/gdkwindow-x11.h b/gdk/x11/gdkwindow-x11.h index 85d892b283..5a50464f0c 100644 --- a/gdk/x11/gdkwindow-x11.h +++ b/gdk/x11/gdkwindow-x11.h @@ -163,9 +163,6 @@ void _gdk_x11_window_tmp_unset_parent_bg (GdkWindow *window); void _gdk_x11_window_tmp_reset_parent_bg (GdkWindow *window); GdkCursor *_gdk_x11_window_get_cursor (GdkWindow *window); -void _gdk_x11_window_get_offsets (GdkWindow *window, - gint *x_offset, - gint *y_offset); void _gdk_x11_window_update_size (GdkWindowImplX11 *impl); From a251d3786bdf2849b97035a04952ef66af86e245 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 19:09:11 -0500 Subject: [PATCH 0657/1463] Remove sm-client-id related functions from headers --- gdk/gdkinternals.h | 2 -- gdk/gdkwindow.h | 1 - 2 files changed, 3 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 6b179be033..9e2446948f 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -312,8 +312,6 @@ void _gdk_window_process_updates_recurse (GdkWindow *window, void _gdk_screen_close (GdkScreen *screen); -const char *_gdk_get_sm_client_id (void); - /***************************************** * Interfaces provided by windowing code * *****************************************/ diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index 164281dc3c..f7ac2a5ded 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -676,7 +676,6 @@ void gdk_window_set_urgency_hint (GdkWindow *window, void gdk_window_set_geometry_hints (GdkWindow *window, const GdkGeometry *geometry, GdkWindowHints geom_mask); -void gdk_set_sm_client_id (const gchar *sm_client_id); cairo_region_t *gdk_window_get_clip_region (GdkWindow *window); cairo_region_t *gdk_window_get_visible_region(GdkWindow *window); From beaa11be9843963190490bc239aa4adc83600d3f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 13 Dec 2010 20:46:00 -0500 Subject: [PATCH 0658/1463] Add a vfunc for gdk_notify_startup_complete At the same time, add a display api for this, since it really is per-display. --- gdk/gdk.symbols | 1 + gdk/gdkdisplay.c | 53 ++++++++++++++++++++++++++++++ gdk/gdkdisplay.h | 3 +- gdk/gdkdisplayprivate.h | 3 ++ gdk/x11/gdkdisplay-x11.c | 70 ++++++++-------------------------------- 5 files changed, 72 insertions(+), 58 deletions(-) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index d47c4e25dd..6093cc44b6 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -109,6 +109,7 @@ gdk_display_manager_get_default_display gdk_display_manager_get_type G_GNUC_CONST gdk_display_manager_list_displays gdk_display_manager_set_default_display +gdk_display_notify_startup_complete gdk_display_open gdk_display_open_default_libgtk_only gdk_display_peek_event diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index d78e7c9387..321c6cb17e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2449,3 +2449,56 @@ _gdk_display_get_next_serial (GdkDisplay *display) { return GDK_DISPLAY_GET_CLASS (display)->get_next_serial (display); } + + +/** + * gdk_notify_startup_complete: + * + * Indicates to the GUI environment that the application has finished + * loading. If the applications opens windows, this function is + * normally called after opening the application's initial set of + * windows. + * + * GTK+ will call this function automatically after opening the first + * #GtkWindow unless gtk_window_set_auto_startup_notification() is called + * to disable that feature. + * + * Since: 2.2 + **/ +void +gdk_notify_startup_complete (void) +{ + gdk_notify_startup_complete_with_id (NULL); +} + +/** + * gdk_notify_startup_complete_with_id: + * @startup_id: a startup-notification identifier, for which notification + * process should be completed + * + * Indicates to the GUI environment that the application has finished + * loading, using a given identifier. + * + * GTK+ will call this function automatically for #GtkWindow with custom + * startup-notification identifier unless + * gtk_window_set_auto_startup_notification() is called to disable + * that feature. + * + * Since: 2.12 + */ +void +gdk_notify_startup_complete_with_id (const gchar* startup_id) +{ + GdkDisplay *display; + + display = gdk_display_get_default (); + if (display) + gdk_display_notify_startup_complete (display, startup_id); +} + +void +gdk_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id) +{ + GDK_DISPLAY_GET_CLASS (display)->notify_startup_complete (display, startup_id); +} diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 0b9f688b6a..9bb1ba962d 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -235,12 +235,13 @@ void gdk_display_store_clipboard (GdkDisplay *display, gboolean gdk_display_supports_shapes (GdkDisplay *display); gboolean gdk_display_supports_input_shapes (GdkDisplay *display); gboolean gdk_display_supports_composite (GdkDisplay *display); +void gdk_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id); GdkDeviceManager * gdk_display_get_device_manager (GdkDisplay *display); GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display); - G_END_DECLS #endif /* __GDK_DISPLAY_H__ */ diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 4772041e05..9e8cb4c7c4 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -175,6 +175,9 @@ struct _GdkDisplayClass gulong (*get_next_serial) (GdkDisplay *display); + void (*notify_startup_complete) (GdkDisplay *display, + const gchar *startup_id); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 194b25fe73..126d0288d0 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2062,72 +2062,27 @@ gdk_x11_display_broadcast_startup_message (GdkDisplay *display, va_end (ap); broadcast_xmessage (display, - "_NET_STARTUP_INFO", + "_NET_STARTUP_INFO", "_NET_STARTUP_INFO_BEGIN", message->str); g_string_free (message, TRUE); } -/** - * gdk_notify_startup_complete: - * - * Indicates to the GUI environment that the application has finished - * loading. If the applications opens windows, this function is - * normally called after opening the application's initial set of - * windows. - * - * GTK+ will call this function automatically after opening the first - * #GtkWindow unless gtk_window_set_auto_startup_notification() is called - * to disable that feature. - * - * Since: 2.2 - **/ -void -gdk_notify_startup_complete (void) +static void +gdk_x11_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id) { - GdkDisplay *display; - GdkDisplayX11 *display_x11; - - display = gdk_display_get_default (); - if (!display) - return; - - display_x11 = GDK_DISPLAY_X11 (display); - - if (display_x11->startup_notification_id == NULL) - return; - - gdk_notify_startup_complete_with_id (display_x11->startup_notification_id); -} - -/** - * gdk_notify_startup_complete_with_id: - * @startup_id: a startup-notification identifier, for which notification - * process should be completed - * - * Indicates to the GUI environment that the application has finished - * loading, using a given identifier. - * - * GTK+ will call this function automatically for #GtkWindow with custom - * startup-notification identifier unless - * gtk_window_set_auto_startup_notification() is called to disable - * that feature. - * - * Since: 2.12 - **/ -void -gdk_notify_startup_complete_with_id (const gchar* startup_id) -{ - GdkDisplay *display; - - display = gdk_display_get_default (); - if (!display) - return; + if (startup_id == NULL) + { + startup_id = GDK_DISPLAY_X11 (display)->startup_notification_id; + if (startup_id == NULL) + return; + } gdk_x11_display_broadcast_startup_message (display, "remove", - "ID", startup_id, - NULL); + "ID", startup_id, + NULL); } static gboolean @@ -2754,5 +2709,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->before_process_all_updates = _gdk_x11_display_before_process_all_updates; display_class->after_process_all_updates = _gdk_x11_display_after_process_all_updates; display_class->get_next_serial = gdk_x11_display_get_next_serial; + display_class->notify_startup_complete = gdk_x11_display_notify_startup_complete; } From 5eb4506b944879c37ea3521cb082a383ab26039a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 14 Dec 2010 22:32:47 -0500 Subject: [PATCH 0659/1463] Drop the --screen cmdline argument Commandline arguments should go away altogether, but this one goes first, since we then don't need to worry about _gdk_windowing_substitute_screen_number anymore. --- docs/reference/gtk/x11.sgml | 22 ++-------------------- gdk/gdk.c | 18 +----------------- gdk/gdkglobals.c | 1 - gdk/x11/gdkscreen-x11.c | 31 +++++-------------------------- 4 files changed, 8 insertions(+), 64 deletions(-) diff --git a/docs/reference/gtk/x11.sgml b/docs/reference/gtk/x11.sgml index dab177cbcf..30600da04e 100644 --- a/docs/reference/gtk/x11.sgml +++ b/docs/reference/gtk/x11.sgml @@ -44,25 +44,7 @@ arguments. The name of the X display to open instead of the one specified -in the DISPLAY environment variable. - - - - -<systemitem>--screen <replaceable>screen_number</replaceable></systemitem> - - - The number of the screen within the default display. This overrides - any screen number specified in the display name specified by - by he --display command line option or - the DISPLAY environment variable. If this screen - cannot be opened, then GTK+ will fall back to the screen - specified in the display name. This option is not useful - interactively; the intended purposes is that when a program - registers its command line with a session - manager for later restarting, it can save the - screen it is on, without having to worry if it might be - restarted on a different display. +in the DISPLAY environment variable. @@ -70,7 +52,7 @@ in the DISPLAY environment variable. <systemitem>--sync</systemitem> -Makes all X requests synchronously. This is a useful option for +Makes all X requests synchronously. This is a useful option for debugging, but it will slow down the performance considerably. diff --git a/gdk/gdk.c b/gdk/gdk.c index ba8f7f70ea..5ca6326fa9 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -168,9 +168,6 @@ static const GOptionEntry gdk_args[] = { { "display", 0, G_OPTION_FLAG_IN_MAIN, G_OPTION_ARG_STRING, &_gdk_display_name, /* Description of --display=DISPLAY in --help output */ N_("X display to use"), /* Placeholder in --display=DISPLAY in --help output */ N_("DISPLAY") }, - { "screen", 0, 0, G_OPTION_ARG_INT, &_gdk_screen_number, - /* Description of --screen=SCREEN in --help output */ N_("X screen to use"), - /* Placeholder in --screen=SCREEN in --help output */ N_("SCREEN") }, #ifdef G_ENABLE_DEBUG { "gdk-debug", 0, 0, G_OPTION_ARG_CALLBACK, gdk_arg_debug_cb, /* Description of --gdk-debug=FLAGS in --help output */ N_("GDK debugging flags to set"), @@ -296,12 +293,7 @@ G_CONST_RETURN gchar * gdk_get_display_arg_name (void) { if (!_gdk_display_arg_name) - { - if (_gdk_screen_number >= 0) - _gdk_display_arg_name = _gdk_windowing_substitute_screen_number (_gdk_display_name, _gdk_screen_number); - else - _gdk_display_arg_name = g_strdup (_gdk_display_name); - } + _gdk_display_arg_name = g_strdup (_gdk_display_name); return _gdk_display_arg_name; } @@ -331,14 +323,6 @@ gdk_display_open_default_libgtk_only (void) display = gdk_display_open (gdk_get_display_arg_name ()); - if (!display && _gdk_screen_number >= 0) - { - g_free (_gdk_display_arg_name); - _gdk_display_arg_name = g_strdup (_gdk_display_name); - - display = gdk_display_open (_gdk_display_name); - } - return display; } diff --git a/gdk/gdkglobals.c b/gdk/gdkglobals.c index 5af484b93d..085568fbca 100644 --- a/gdk/gdkglobals.c +++ b/gdk/gdkglobals.c @@ -35,7 +35,6 @@ guint _gdk_debug_flags = 0; GList *_gdk_default_filters = NULL; gchar *_gdk_display_name = NULL; -gint _gdk_screen_number = -1; gchar *_gdk_display_arg_name = NULL; gboolean _gdk_native_windows = FALSE; gboolean _gdk_disable_multidevice = FALSE; diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 8899170d58..95cfecbee9 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -959,34 +959,13 @@ _gdk_x11_screen_process_owner_change (GdkScreen *screen, #endif } -/** - * _gdk_windowing_substitute_screen_number: - * @display_name: The name of a display, in the form used by - * gdk_display_open (). If %NULL a default value - * will be used. On X11, this is derived from the DISPLAY - * environment variable. - * @screen_number: The number of a screen within the display - * referred to by @display_name. - * - * Modifies a @display_name to make @screen_number the default - * screen when the display is opened. - * - * Return value: a newly allocated string holding the resulting - * display name. Free with g_free(). - */ -gchar * -_gdk_windowing_substitute_screen_number (const gchar *display_name, - gint screen_number) +static gchar * +substitute_screen_number (const gchar *display_name, + gint screen_number) { GString *str; gchar *p; - if (!display_name) - display_name = getenv ("DISPLAY"); - - if (!display_name) - return NULL; - str = g_string_new (display_name); p = strrchr (str->str, '.'); @@ -1007,8 +986,8 @@ gdk_screen_x11_make_display_name (GdkScreen *screen) old_display = gdk_display_get_name (gdk_screen_get_display (screen)); - return _gdk_windowing_substitute_screen_number (old_display, - gdk_screen_get_number (screen)); + return substitute_screen_number (old_display, + gdk_screen_get_number (screen)); } static GdkWindow * From 968668629b82679484a650f2a4e494bf91ec8cdc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 14 Dec 2010 23:49:42 -0500 Subject: [PATCH 0660/1463] Go back to installing libgdk.so --- Makefile.am | 6 +++++- configure.ac | 1 + docs/reference/gtk/compiling.sgml | 2 +- gdk-3.0.pc.in | 12 ++++++++++++ gdk/Makefile.am | 7 +------ gtk+-3.0.pc.in | 2 +- 6 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 gdk-3.0.pc.in diff --git a/Makefile.am b/Makefile.am index c95b0e685a..faf57f10c6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -60,12 +60,16 @@ gtk+-x11-3.0.pc gtk+-win32-3.0.pc gtk+-quartz-3.0.pc: gtk+-3.0.pc rm -f $@ && \ cp gtk+-3.0.pc $@ +gdk-x11-3.0.pc gdk-win32-3.0.pc gdk-quartz-3.0.pc: gdk-3.0.pc + rm -f $@ && \ + cp gdk-3.0.pc $@ + gtk+-*-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc rm -f $@ && \ cp gtk+-3.0-uninstalled.pc $@ pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = gtk+-3.0.pc gail-3.0.pc +pkgconfig_DATA = gdk-3.0.pc gtk+-3.0.pc gail-3.0.pc pkgconfig_DATA += $(patsubst %,gtk+-%-3.0.pc,@gdktarget@) diff --git a/configure.ac b/configure.ac index 9ff5b67050..b466bdab2a 100644 --- a/configure.ac +++ b/configure.ac @@ -1560,6 +1560,7 @@ AC_CONFIG_FILES([ config.h.win32 gtk-zip.sh Makefile +gdk-3.0.pc gtk+-3.0.pc gtk+-unix-print-3.0.pc gail-3.0.pc diff --git a/docs/reference/gtk/compiling.sgml b/docs/reference/gtk/compiling.sgml index f40267fb1b..1914b0ee2d 100644 --- a/docs/reference/gtk/compiling.sgml +++ b/docs/reference/gtk/compiling.sgml @@ -32,7 +32,7 @@ your system may be different): $ pkg-config --cflags gtk+-3.0 -pthread -I/usr/include/gtk-3.0 -I/usr/lib64/gtk-3.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 $ pkg-config --libs gtk+-3.0 - -pthread -lgtk-x11-3.0 -lgdk-x11-3.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-3.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 + -pthread -lgtk-3.0 -lgdk-3.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-3.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 diff --git a/gdk-3.0.pc.in b/gdk-3.0.pc.in new file mode 100644 index 0000000000..796938d937 --- /dev/null +++ b/gdk-3.0.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ +target=@gdktarget@ + +Name: GDK +Description: GTK+ Drawing Kit +Version: @VERSION@ +Requires: @GDK_PACKAGES@ +Libs: -L${libdir} -lgdk-@GTK_API_VERSION@ @GDK_EXTRA_LIBS@ +Cflags: -I${includedir}/gtk-@GTK_API_VERSION@ @GDK_EXTRA_CFLAGS@ diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 3413076249..2545e29ff4 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -159,10 +159,6 @@ libgdk_3_0_la_SOURCES = $(common_sources) libgdk_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) libgdk_3_0_la_LDFLAGS = $(LDADD) -libgdk_x11_3_0_la_SOURCES = $(common_sources) -libgdk_x11_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) -libgdk_x11_3_0_la_LDFLAGS = $(LDADD) - libgdk_quartz_3_0_la_SOURCES = $(common_sources) gdkkeynames.c libgdk_quartz_3_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS) libgdk_quartz_3_0_la_LDFLAGS = $(LDADD) @@ -284,8 +280,7 @@ if OS_LINUX TESTS = abicheck.sh endif - -noinst_LTLIBRARIES = libgdk-3.0.la +lib_LTLIBRARIES = libgdk-3.0.la MAINTAINERCLEANFILES = $(gdk_built_sources) stamp-gdkenumtypes.h EXTRA_DIST += $(gdk_built_sources) diff --git a/gtk+-3.0.pc.in b/gtk+-3.0.pc.in index c686112428..b11c4a1791 100644 --- a/gtk+-3.0.pc.in +++ b/gtk+-3.0.pc.in @@ -10,6 +10,6 @@ gtk_host=@host@ Name: GTK+ Description: GTK+ Graphical UI Library Version: @VERSION@ -Requires: @GTK_PACKAGES@ +Requires: gdk-@GTK_API_VERSION@ @GTK_PACKAGES@ Libs: -L${libdir} -lgtk-@GTK_API_VERSION@ @GTK_EXTRA_LIBS@ Cflags: -I${includedir}/gtk-@GTK_API_VERSION@ @GTK_EXTRA_CFLAGS@ -DGSEAL_ENABLE From 39a71b8831988f29da763ccc71f2a45e01a212ae Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 00:37:40 -0500 Subject: [PATCH 0661/1463] Add vfuncs for _gdk_windowing_event_data_{copy,free} --- gdk/gdkdisplay.c | 15 +++++++++++++++ gdk/gdkdisplayprivate.h | 10 ++++++++++ gdk/gdkevents.c | 10 +++++++--- gdk/x11/gdkdisplay-x11.c | 15 +++++++++++++++ gdk/x11/gdkmain-x11.c | 11 ----------- 5 files changed, 47 insertions(+), 14 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 321c6cb17e..1dc331e0ed 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2502,3 +2502,18 @@ gdk_display_notify_startup_complete (GdkDisplay *display, { GDK_DISPLAY_GET_CLASS (display)->notify_startup_complete (display, startup_id); } + +void +_gdk_display_event_data_copy (GdkDisplay *display, + const GdkEvent *event, + GdkEvent *new_event) +{ + GDK_DISPLAY_GET_CLASS (display)->event_data_copy (display, event, new_event); +} + +void +_gdk_display_event_data_free (GdkDisplay *display, + GdkEvent *event) +{ + GDK_DISPLAY_GET_CLASS (display)->event_data_free (display, event); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 9e8cb4c7c4..92398121f2 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -177,6 +177,11 @@ struct _GdkDisplayClass void (*notify_startup_complete) (GdkDisplay *display, const gchar *startup_id); + void (*event_data_copy) (GdkDisplay *display, + const GdkEvent *event, + GdkEvent *new_event); + void (*event_data_free) (GdkDisplay *display, + GdkEvent *event); /* Signals */ void (*closed) (GdkDisplay *display, @@ -224,6 +229,11 @@ void _gdk_display_pointer_info_foreach (GdkDisplay *display GdkDisplayPointerInfoForeach func, gpointer user_data); gulong _gdk_display_get_next_serial (GdkDisplay *display); +void _gdk_display_event_data_copy (GdkDisplay *display, + const GdkEvent *event, + GdkEvent *new_event); +void _gdk_display_event_data_free (GdkDisplay *display, + GdkEvent *event); G_END_DECLS diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 38c310c83d..1455023844 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -571,8 +571,9 @@ gdk_event_copy (const GdkEvent *event) } if (gdk_event_is_allocated (event)) - _gdk_windowing_event_data_copy (event, new_event); - + _gdk_display_event_data_copy (gdk_screen_get_display (new_private->screen), + event, new_event); + return new_event; } @@ -588,6 +589,8 @@ gdk_event_copy (const GdkEvent *event) void gdk_event_free (GdkEvent *event) { + GdkDisplay *display; + g_return_if_fail (event != NULL); if (event->any.window) @@ -639,7 +642,8 @@ gdk_event_free (GdkEvent *event) break; } - _gdk_windowing_event_data_free (event); + display = gdk_screen_get_display (gdk_event_get_screen (event)); + _gdk_display_event_data_free (display, event); g_hash_table_remove (event_hash, event); g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event); diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 126d0288d0..113d61fe7a 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2667,6 +2667,19 @@ gdk_x11_set_sm_client_id (const gchar *sm_client_id) g_slist_free (displays); } +static void +gdk_x11_display_event_data_copy (GdkDisplay *display, + const GdkEvent *src, + GdkEvent *dst) +{ +} + +static void +gdk_x11_display_event_data_free (GdkDisplay *display, + GdkEvent *event) +{ +} + static void _gdk_display_x11_class_init (GdkDisplayX11Class * class) { @@ -2710,5 +2723,7 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->after_process_all_updates = _gdk_x11_display_after_process_all_updates; display_class->get_next_serial = gdk_x11_display_get_next_serial; display_class->notify_startup_complete = gdk_x11_display_notify_startup_complete; + display_class->event_data_copy = gdk_x11_display_event_data_copy; + display_class->event_data_free = gdk_x11_display_event_data_free; } diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 6424aab56b..31a08d4b4f 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -595,14 +595,3 @@ gdk_x11_get_default_xdisplay (void) { return GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); } - -void -_gdk_windowing_event_data_copy (const GdkEvent *src, - GdkEvent *dst) -{ -} - -void -_gdk_windowing_event_data_free (GdkEvent *event) -{ -} From 2d7583c0e32168a89168a1fbc40155122db1bfe9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 01:39:30 -0500 Subject: [PATCH 0662/1463] Make gdk_window_{lookup,foreign_new}_for_display backend specific At the same time, make GDK_IS_DISPLAY_X11 available in gdkx.h, and add some exemplaric ifdefs to GTK+ code. --- docs/reference/gdk/gdk3-sections.txt | 6 +- docs/tools/shooter.c | 2 +- gdk/gdk.symbols | 6 +- gdk/gdkwindow.c | 37 ------- gdk/gdkwindow.h | 13 +-- gdk/x11/gdkdevice-core.c | 8 +- gdk/x11/gdkdevice-xi2.c | 8 +- gdk/x11/gdkdevicemanager-core.c | 6 +- gdk/x11/gdkdevicemanager-xi.c | 4 +- gdk/x11/gdkdevicemanager-xi2.c | 6 +- gdk/x11/gdkdisplay-x11.c | 2 +- gdk/x11/gdkdisplay-x11.h | 1 - gdk/x11/gdkdnd-x11.c | 18 ++-- gdk/x11/gdkeventsource.c | 2 +- gdk/x11/gdkscreen-x11.c | 12 +-- gdk/x11/gdkselection-x11.c | 2 +- gdk/x11/gdkwindow-x11.c | 152 +++++++++++++-------------- gdk/x11/gdkx.h | 6 ++ gtk/gtkplug-x11.c | 4 +- gtk/gtkplug.c | 17 ++- gtk/gtkselection.c | 20 ++-- gtk/gtksocket.c | 52 +++++---- gtk/gtktrayicon-x11.c | 14 +-- 23 files changed, 185 insertions(+), 213 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 1a1db3bf3f..02a3608ca0 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -954,12 +954,10 @@ GDK_SCREEN_XSCREEN GDK_CURSOR_XCURSOR GDK_CURSOR_XDISPLAY gdkx_visual_get -gdk_window_foreign_new -gdk_window_foreign_new_for_display +gdk_x11_window_foreign_new_for_display gdk_xid_table_lookup gdk_xid_table_lookup_for_display -gdk_window_lookup -gdk_window_lookup_for_display +gdk_x11_window_lookup_for_display gdk_x11_lookup_xdisplay gdk_x11_get_server_time gdk_net_wm_supports diff --git a/docs/tools/shooter.c b/docs/tools/shooter.c index f9492f62e1..fa7e8459c2 100644 --- a/docs/tools/shooter.c +++ b/docs/tools/shooter.c @@ -138,7 +138,7 @@ take_window_shot (Window child, else xid = child; - window = gdk_window_foreign_new (xid); + window = gdk_x11_window_foreign_new_for_display (gdk_display_get_default (), xid); width = gdk_window_get_width (window); height = gdk_window_get_height (window); diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 6093cc44b6..ac826df829 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -403,8 +403,6 @@ gdk_window_end_paint gdk_window_ensure_native gdk_window_flush gdk_window_focus -gdk_window_foreign_new -gdk_window_foreign_new_for_display gdk_window_freeze_toplevel_updates_libgtk_only gdk_window_freeze_updates gdk_window_fullscreen @@ -463,8 +461,6 @@ gdk_window_is_input_only gdk_window_is_shaped gdk_window_is_viewable gdk_window_is_visible -gdk_window_lookup -gdk_window_lookup_for_display gdk_window_lower gdk_window_maximize gdk_window_merge_child_input_shapes @@ -569,6 +565,8 @@ gdk_x11_screen_supports_net_wm_hint gdk_x11_set_sm_client_id gdk_x11_ungrab_server gdk_x11_visual_get_xvisual +gdk_x11_window_foreign_new_for_display +gdk_x11_window_lookup_for_display gdk_x11_window_get_xid gdk_x11_window_move_to_current_desktop gdk_x11_window_set_user_time diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 215bc5a80c..d0deb91f1a 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -5058,25 +5058,6 @@ gdk_get_default_root_window (void) return gdk_screen_get_root_window (gdk_screen_get_default ()); } -/** - * gdk_window_foreign_new: - * @anid: a native window handle. - * - * Wraps a native window for the default display in a #GdkWindow. - * This may fail if the window has been destroyed. - * - * For example in the X backend, a native window handle is an Xlib - * XID. - * - * Return value: (transfer full): the newly-created #GdkWindow wrapper - * for the native window, or %NULL if the window has been destroyed. - **/ -GdkWindow * -gdk_window_foreign_new (GdkNativeWindow anid) -{ - return gdk_window_foreign_new_for_display (gdk_display_get_default (), anid); -} - static void get_all_native_children (GdkWindow *window, GList **native) @@ -10745,21 +10726,3 @@ gdk_drag_begin_for_device (GdkWindow *window, { return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->drag_begin (window, device, targets); } - -/** - * gdk_window_lookup: - * @anid: a native window handle - * - * Looks up the #GdkWindow that wraps the given native window handle. - * - * For example in the X backend, a native window handle is an Xlib - * XID. - * - * Return value: (transfer none): the #GdkWindow wrapper for the native - * window, or %NULL if there is none. - **/ -GdkWindow * -gdk_window_lookup (GdkNativeWindow anid) -{ - return gdk_window_lookup_for_display (gdk_display_get_default (), anid); -} diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index f7ac2a5ded..582a9bf6d5 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -642,18 +642,7 @@ GdkWindowState gdk_window_get_state (GdkWindow *window); * window gravity on all children. */ gboolean gdk_window_set_static_gravities (GdkWindow *window, - gboolean use_static); - -/* Functions to create/lookup windows from their native equivalents */ -#ifndef GDK_MULTIHEAD_SAFE -GdkWindow* gdk_window_foreign_new (GdkNativeWindow anid); -GdkWindow* gdk_window_lookup (GdkNativeWindow anid); -#endif -GdkWindow *gdk_window_foreign_new_for_display (GdkDisplay *display, - GdkNativeWindow anid); -GdkWindow* gdk_window_lookup_for_display (GdkDisplay *display, - GdkNativeWindow anid); - + gboolean use_static); /* GdkWindow */ diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index ff0d456e4c..7e4613b557 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -289,10 +289,10 @@ gdk_device_core_query_state (GdkDevice *device, } if (root_window) - *root_window = gdk_window_lookup_for_display (display, xroot_window); + *root_window = gdk_x11_window_lookup_for_display (display, xroot_window); if (child_window) - *child_window = gdk_window_lookup_for_display (display, xchild_window); + *child_window = gdk_x11_window_lookup_for_display (display, xchild_window); if (root_x) *root_x = xroot_x; @@ -529,7 +529,7 @@ gdk_device_core_window_at_position (GdkDevice *device, break; if (get_toplevel && last != root && - (window = gdk_window_lookup_for_display (display, last)) != NULL && + (window = gdk_x11_window_lookup_for_display (display, last)) != NULL && window->window_type != GDK_WINDOW_FOREIGN) { xwindow = last; @@ -539,7 +539,7 @@ gdk_device_core_window_at_position (GdkDevice *device, gdk_x11_display_ungrab (display); - window = gdk_window_lookup_for_display (display, last); + window = gdk_x11_window_lookup_for_display (display, last); if (win_x) *win_x = (window) ? xwin_x : -1; diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 522eda90df..0af7a7edc0 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -357,10 +357,10 @@ gdk_device_xi2_query_state (GdkDevice *device, } if (root_window) - *root_window = gdk_window_lookup_for_display (display, xroot_window); + *root_window = gdk_x11_window_lookup_for_display (display, xroot_window); if (child_window) - *child_window = gdk_window_lookup_for_display (display, xchild_window); + *child_window = gdk_x11_window_lookup_for_display (display, xchild_window); if (root_x) *root_x = (gint) xroot_x; @@ -590,7 +590,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, break; if (get_toplevel && last != root && - (window = gdk_window_lookup_for_display (display, last)) != NULL && + (window = gdk_x11_window_lookup_for_display (display, last)) != NULL && GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN) { xwindow = last; @@ -600,7 +600,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, gdk_x11_display_ungrab (display); - window = gdk_window_lookup_for_display (display, last); + window = gdk_x11_window_lookup_for_display (display, last); if (win_x) *win_x = (window) ? (gint) xwin_x : -1; diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 7163aa2a4e..b368614f26 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -384,7 +384,7 @@ get_event_window (GdkEventTranslator *translator, device_manager = GDK_DEVICE_MANAGER (translator); display = gdk_device_manager_get_display (device_manager); - window = gdk_window_lookup_for_display (display, xevent->xany.window); + window = gdk_x11_window_lookup_for_display (display, xevent->xany.window); /* Apply keyboard grabs to non-native windows */ if (xevent->type == KeyPress || xevent->type == KeyRelease) @@ -680,7 +680,7 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, * lookup the corresponding GdkWindow. */ if (xevent->xcrossing.subwindow != None) - event->crossing.subwindow = gdk_window_lookup_for_display (display, xevent->xcrossing.subwindow); + event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); else event->crossing.subwindow = NULL; @@ -724,7 +724,7 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, * lookup the corresponding GdkWindow. */ if (xevent->xcrossing.subwindow != None) - event->crossing.subwindow = gdk_window_lookup_for_display (display, xevent->xcrossing.subwindow); + event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); else event->crossing.subwindow = NULL; diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c index 6d65725fad..9d8c5bcf6f 100644 --- a/gdk/x11/gdkdevicemanager-xi.c +++ b/gdk/x11/gdkdevicemanager-xi.c @@ -104,7 +104,7 @@ window_input_info_filter (GdkXEvent *xevent, xev = (XEvent *) xevent; display = gdk_device_manager_get_display (device_manager); - window = gdk_window_lookup_for_display (display, xev->xany.window); + window = gdk_x11_window_lookup_for_display (display, xev->xany.window); if (window && xev->type == ConfigureNotify) gdk_device_xi_update_window_info (window); @@ -421,7 +421,7 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, if (!device) return FALSE; - window = gdk_window_lookup_for_display (display, xevent->xany.window); + window = gdk_x11_window_lookup_for_display (display, xevent->xany.window); if (!window) return FALSE; diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index f692ff5549..177926a7a5 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -894,7 +894,7 @@ get_event_window (GdkEventTranslator *translator, { XIDeviceEvent *xev = (XIDeviceEvent *) ev; - window = gdk_window_lookup_for_display (display, xev->event); + window = gdk_x11_window_lookup_for_display (display, xev->event); /* Apply keyboard grabs to non-native windows */ if (ev->evtype == XI_KeyPress || ev->evtype == XI_KeyRelease) @@ -926,7 +926,7 @@ get_event_window (GdkEventTranslator *translator, { XIEnterEvent *xev = (XIEnterEvent *) ev; - window = gdk_window_lookup_for_display (display, xev->event); + window = gdk_x11_window_lookup_for_display (display, xev->event); } break; } @@ -1188,7 +1188,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->crossing.focus = xev->focus; event->crossing.window = window; - event->crossing.subwindow = gdk_window_lookup_for_display (display, xev->child); + event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xev->child); device = g_hash_table_lookup (device_manager->id_table, GINT_TO_POINTER (xev->deviceid)); diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 113d61fe7a..8dfb40aaf4 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -368,7 +368,7 @@ get_event_window (GdkEventTranslator *translator, xwindow = xevent->xany.window; } - return gdk_window_lookup_for_display (display, xwindow); + return gdk_x11_window_lookup_for_display (display, xwindow); } static gboolean diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index 3f345de8dd..f682ca4830 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -41,7 +41,6 @@ typedef struct _GdkDisplayX11Class GdkDisplayX11Class; #define GDK_TYPE_DISPLAY_X11 (_gdk_display_x11_get_type()) #define GDK_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_X11, GdkDisplayX11)) #define GDK_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_X11, GdkDisplayX11Class)) -#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY_X11)) #define GDK_IS_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_X11)) #define GDK_DISPLAY_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_X11, GdkDisplayX11Class)) diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index ae8d2b8e50..0cba36a2fd 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -988,8 +988,8 @@ motif_find_drag_window (GdkDisplay *display, */ if (display_x11->motif_drag_window) { - display_x11->motif_drag_gdk_window = - gdk_window_foreign_new_for_display (display, display_x11->motif_drag_window); + display_x11->motif_drag_gdk_window = + gdk_x11_window_foreign_new_for_display (display, display_x11->motif_drag_window); gdk_window_add_filter (display_x11->motif_drag_gdk_window, motif_drag_window_filter, NULL); @@ -1668,12 +1668,12 @@ motif_drag_context_new (GdkWindow *dest_window, context->protocol = GDK_DRAG_PROTO_MOTIF; context->is_source = FALSE; - context->source_window = gdk_window_lookup_for_display (display, source_window); + context->source_window = gdk_x11_window_lookup_for_display (display, source_window); if (context->source_window) g_object_ref (context->source_window); else { - context->source_window = gdk_window_foreign_new_for_display (display, source_window); + context->source_window = gdk_x11_window_foreign_new_for_display (display, source_window); if (!context->source_window) { g_object_unref (context_x11); @@ -2843,12 +2843,12 @@ xdnd_enter_filter (GdkXEvent *xev, device_manager = gdk_display_get_device_manager (display); gdk_drag_context_set_device (context, gdk_device_manager_get_client_pointer (device_manager)); - context->source_window = gdk_window_lookup_for_display (display, source_window); + context->source_window = gdk_x11_window_lookup_for_display (display, source_window); if (context->source_window) g_object_ref (context->source_window); else { - context->source_window = gdk_window_foreign_new_for_display (display, source_window); + context->source_window = gdk_x11_window_foreign_new_for_display (display, source_window); if (!context->source_window) { g_object_unref (context); @@ -3158,7 +3158,7 @@ _gdk_x11_display_get_drag_protocol (GdkDisplay *display, base_precache_atoms (display); /* Check for a local drag */ - window = gdk_window_lookup_for_display (display, xid); + window = gdk_x11_window_lookup_for_display (display, xid); if (window && gdk_window_get_window_type (window) != GDK_WINDOW_FOREIGN) { if (g_object_get_data (G_OBJECT (window), "gdk-dnd-registered") != NULL) @@ -3273,11 +3273,11 @@ gdk_drag_context_x11_find_window (GdkDragContext *context, if (recipient != None) { - dest_window = gdk_window_lookup_for_display (display, recipient); + dest_window = gdk_x11_window_lookup_for_display (display, recipient); if (dest_window) g_object_ref (dest_window); else - dest_window = gdk_window_foreign_new_for_display (display, recipient); + dest_window = gdk_x11_window_foreign_new_for_display (display, recipient); } else dest_window = NULL; diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 21552dbc97..d21097ad16 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -101,7 +101,7 @@ gdk_event_source_get_filter_window (GdkEventSource *event_source, { GdkWindow *window; - window = gdk_window_lookup_for_display (event_source->display, + window = gdk_x11_window_lookup_for_display (event_source->display, xevent->xany.window); if (window && !GDK_IS_WINDOW (window)) diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 95cfecbee9..8ff085960d 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -1023,8 +1023,8 @@ gdk_screen_x11_get_active_window (GdkScreen *screen) if (window != None) { - ret = gdk_window_foreign_new_for_display (screen_x11->display, - *(GdkNativeWindow *) data); + ret = gdk_x11_window_foreign_new_for_display (screen_x11->display, + *(Window *) data); } } } @@ -1071,8 +1071,8 @@ gdk_screen_x11_get_window_stack (GdkScreen *screen) for (i = 0; i < nitems_return; i++) { - win = gdk_window_foreign_new_for_display (screen_x11->display, - (GdkNativeWindow)stack[i]); + win = gdk_x11_window_foreign_new_for_display (screen_x11->display, + (Window)stack[i]); if (win != NULL) ret = g_list_append (ret, win); @@ -1507,7 +1507,7 @@ gdk_xsettings_watch_cb (Window window, GdkWindow *gdkwin; GdkScreen *screen = cb_data; - gdkwin = gdk_window_lookup_for_display (gdk_screen_get_display (screen), window); + gdkwin = gdk_x11_window_lookup_for_display (gdk_screen_get_display (screen), window); if (is_start) { @@ -1515,7 +1515,7 @@ gdk_xsettings_watch_cb (Window window, g_object_ref (gdkwin); else { - gdkwin = gdk_window_foreign_new_for_display (gdk_screen_get_display (screen), window); + gdkwin = gdk_x11_window_foreign_new_for_display (gdk_screen_get_display (screen), window); /* gdk_window_foreign_new_for_display() can fail and return NULL if the * window has already been destroyed. diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 74d17c4f4d..49cdf3a018 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -221,7 +221,7 @@ gdk_selection_owner_get_for_display (GdkDisplay *display, if (xwindow == None) return NULL; - return gdk_window_lookup_for_display (display, xwindow); + return gdk_x11_window_lookup_for_display (display, xwindow); } void diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 287a5bccfc..e7af2aa0ad 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -848,30 +848,28 @@ x_event_mask_to_gdk_event_mask (long mask) } /** - * gdk_window_foreign_new_for_display: + * gdk_x11_window_foreign_new_for_display: * @display: the #GdkDisplay where the window handle comes from. - * @anid: a native window handle. - * + * @window: an XLib Window + * * Wraps a native window in a #GdkWindow. + * * This may fail if the window has been destroyed. If the window - * was already known to GDK, a new reference to the existing + * was already known to GDK, a new reference to the existing * #GdkWindow is returned. * - * For example in the X backend, a native window handle is an Xlib - * XID. - * * Return value: (transfer full): a #GdkWindow wrapper for the native * window, or %NULL if the window has been destroyed. The wrapper * will be newly created, if one doesn't exist already. * - * Since: 2.2 - **/ + * Since: 3.0 + */ GdkWindow * -gdk_window_foreign_new_for_display (GdkDisplay *display, - GdkNativeWindow anid) +gdk_x11_window_foreign_new_for_display (GdkDisplay *display, + Window window) { GdkScreen *screen; - GdkWindow *window; + GdkWindow *win; GdkWindowImplX11 *impl; GdkDisplayX11 *display_x11; XWindowAttributes attrs; @@ -884,90 +882,88 @@ gdk_window_foreign_new_for_display (GdkDisplay *display, display_x11 = GDK_DISPLAY_X11 (display); - if ((window = gdk_xid_table_lookup_for_display (display, anid)) != NULL) - return g_object_ref (window); + if ((win = gdk_xid_table_lookup_for_display (display, window)) != NULL) + return g_object_ref (win); - gdk_error_trap_push (); - result = XGetWindowAttributes (display_x11->xdisplay, anid, &attrs); - if (gdk_error_trap_pop () || !result) + gdk_x11_display_error_trap_push (display); + result = XGetWindowAttributes (display_x11->xdisplay, window, &attrs); + if (gdk_x11_display_error_trap_pop (display) || !result) return NULL; - /* FIXME: This is pretty expensive. Maybe the caller should supply - * the parent */ - gdk_error_trap_push (); - result = XQueryTree (display_x11->xdisplay, anid, &root, &parent, &children, &nchildren); - if (gdk_error_trap_pop () || !result) + /* FIXME: This is pretty expensive. + * Maybe the caller should supply the parent + */ + gdk_x11_display_error_trap_push (display); + result = XQueryTree (display_x11->xdisplay, window, &root, &parent, &children, &nchildren); + if (gdk_x11_display_error_trap_pop (display) || !result) return NULL; if (children) XFree (children); - + screen = _gdk_x11_display_screen_for_xrootwin (display, root); - window = g_object_new (GDK_TYPE_WINDOW, NULL); + win = g_object_new (GDK_TYPE_WINDOW, NULL); + win->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); + win->impl_window = win; + win->visual = gdk_x11_screen_lookup_visual (screen, + XVisualIDFromVisual (attrs.visual)); - window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); - window->impl_window = window; - window->visual = gdk_x11_screen_lookup_visual (screen, - XVisualIDFromVisual (attrs.visual)); + impl = GDK_WINDOW_IMPL_X11 (win->impl); + impl->wrapper = win; - impl = GDK_WINDOW_IMPL_X11 (window->impl); - impl->wrapper = window; - - window->parent = gdk_xid_table_lookup_for_display (display, parent); - - if (!window->parent || GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_FOREIGN) - window->parent = gdk_screen_get_root_window (screen); - - window->parent->children = g_list_prepend (window->parent->children, window); + win->parent = gdk_xid_table_lookup_for_display (display, parent); - impl->xid = anid; + if (!win->parent || GDK_WINDOW_TYPE (win->parent) == GDK_WINDOW_FOREIGN) + win->parent = gdk_screen_get_root_window (screen); - window->x = attrs.x; - window->y = attrs.y; - window->width = attrs.width; - window->height = attrs.height; - window->window_type = GDK_WINDOW_FOREIGN; - window->destroyed = FALSE; + win->parent->children = g_list_prepend (win->parent->children, win); - window->event_mask = x_event_mask_to_gdk_event_mask (attrs.your_event_mask); + impl->xid = window; + + win->x = attrs.x; + win->y = attrs.y; + win->width = attrs.width; + win->height = attrs.height; + win->window_type = GDK_WINDOW_FOREIGN; + win->destroyed = FALSE; + + win->event_mask = x_event_mask_to_gdk_event_mask (attrs.your_event_mask); if (attrs.map_state == IsUnmapped) - window->state = GDK_WINDOW_STATE_WITHDRAWN; + win->state = GDK_WINDOW_STATE_WITHDRAWN; else - window->state = 0; - window->viewable = TRUE; + win->state = 0; + win->viewable = TRUE; - window->depth = attrs.depth; - - g_object_ref (window); - _gdk_xid_table_insert (display, &GDK_WINDOW_XID (window), window); + win->depth = attrs.depth; + + g_object_ref (win); + _gdk_xid_table_insert (display, &GDK_WINDOW_XID (win), win); /* Update the clip region, etc */ - _gdk_window_update_size (window); + _gdk_window_update_size (win); - return window; + return win; } /** - * gdk_window_lookup_for_display: + * gdk_x11_window_lookup_for_display: * @display: the #GdkDisplay corresponding to the window handle - * @anid: a native window handle. + * @window: an XLib Window * * Looks up the #GdkWindow that wraps the given native window handle. * - * For example in the X backend, a native window handle is an Xlib - * XID. - * * Return value: (transfer none): the #GdkWindow wrapper for the native * window, or %NULL if there is none. * - * Since: 2.2 - **/ + * Since: 3.0 + */ GdkWindow * -gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid) +gdk_x11_window_lookup_for_display (GdkDisplay *display, + Window window) { - return (GdkWindow*) gdk_xid_table_lookup_for_display (display, anid); + return (GdkWindow*) gdk_xid_table_lookup_for_display (display, window); } static void @@ -1008,11 +1004,11 @@ gdk_x11_window_destroy (GdkWindow *window, { GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (window->impl); GdkToplevelX11 *toplevel; - + g_return_if_fail (GDK_IS_WINDOW (window)); _gdk_selection_window_destroyed (window); - + toplevel = _gdk_x11_window_get_toplevel (window); if (toplevel) gdk_toplevel_x11_free_contents (GDK_WINDOW_DISPLAY (window), toplevel); @@ -1021,13 +1017,11 @@ gdk_x11_window_destroy (GdkWindow *window, { cairo_surface_finish (impl->cairo_surface); cairo_surface_set_user_data (impl->cairo_surface, &gdk_x11_cairo_key, - NULL, NULL); + NULL, NULL); } if (!recursing && !foreign_destroy) - { - XDestroyWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window)); - } + XDestroyWindow (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window)); } static cairo_surface_t * @@ -1049,28 +1043,28 @@ gdk_x11_window_destroy_foreign (GdkWindow *window) * it a delete event, as if we were a WM */ XClientMessageEvent xclient; - - gdk_error_trap_push (); + GdkDisplay *display; + + display = GDK_WINDOW_DISPLAY (window); + gdk_x11_display_error_trap_push (display); gdk_window_hide (window); gdk_window_reparent (window, NULL, 0, 0); - + memset (&xclient, 0, sizeof (xclient)); xclient.type = ClientMessage; xclient.window = GDK_WINDOW_XID (window); - xclient.message_type = gdk_x11_get_xatom_by_name_for_display (GDK_WINDOW_DISPLAY (window), - "WM_PROTOCOLS"); + xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, "WM_PROTOCOLS"); xclient.format = 32; - xclient.data.l[0] = gdk_x11_get_xatom_by_name_for_display (GDK_WINDOW_DISPLAY (window), - "WM_DELETE_WINDOW"); + xclient.data.l[0] = gdk_x11_get_xatom_by_name_for_display (display, "WM_DELETE_WINDOW"); xclient.data.l[1] = CurrentTime; xclient.data.l[2] = 0; xclient.data.l[3] = 0; xclient.data.l[4] = 0; XSendEvent (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), - False, 0, (XEvent *)&xclient); - gdk_error_trap_pop_ignored (); + GDK_WINDOW_XID (window), + False, 0, (XEvent *)&xclient); + gdk_x11_display_error_trap_pop_ignored (display); } static GdkWindow * diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 7e5dd1b574..15b5e50d1e 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -95,6 +95,7 @@ gint gdk_x11_get_default_screen (void); */ #define GDK_CURSOR_XCURSOR(cursor) (gdk_x11_cursor_get_xcursor (cursor)) +#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) #ifdef GDK_COMPILATION @@ -250,6 +251,11 @@ void gdk_x11_register_standard_event_type (GdkDisplay *display, void gdk_x11_set_sm_client_id (const gchar *sm_client_id); +GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display, + Window window); +GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display, + Window window); + G_END_DECLS #endif /* __GDK_X_H__ */ diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index 827474b50e..46b2b7cb48 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -316,7 +316,7 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, GTK_NOTE (PLUGSOCKET, g_message ("GtkPlug: start of embedding")); - priv->socket_window = gdk_window_lookup_for_display (display, xre->parent); + priv->socket_window = gdk_x11_window_lookup_for_display (display, xre->parent); if (priv->socket_window) { gpointer user_data = NULL; @@ -333,7 +333,7 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, } else { - priv->socket_window = gdk_window_foreign_new_for_display (display, xre->parent); + priv->socket_window = gdk_x11_window_foreign_new_for_display (display, xre->parent); if (!priv->socket_window) /* Already gone */ break; /* FIXME: shouldn't this unref the plug? i.e. "goto done;" instead */ } diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 65326d97f6..4c0e8258bb 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -37,6 +37,10 @@ #include "gtkwidgetprivate.h" #include "gtkwindowprivate.h" +#ifdef GDK_WINDOWING_X11 +#include "x11/gdkx.h" +#endif + /** * SECTION:gtkplug * @Short_description: Toplevel for embedding into other processes @@ -513,7 +517,13 @@ gtk_plug_construct_for_display (GtkPlug *plug, { gpointer user_data = NULL; - priv->socket_window = gdk_window_lookup_for_display (display, socket_id); +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_DISPLAY_X11 (display)) + priv->socket_window = gdk_x11_window_lookup_for_display (display, socket_id); + else +#endif + priv->socket_window = NULL; + if (priv->socket_window) { gdk_window_get_user_data (priv->socket_window, &user_data); @@ -532,7 +542,10 @@ gtk_plug_construct_for_display (GtkPlug *plug, g_object_ref (priv->socket_window); } else - priv->socket_window = gdk_window_foreign_new_for_display (display, socket_id); +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_DISPLAY_X11 (display)) + priv->socket_window = gdk_x11_window_foreign_new_for_display (display, socket_id); +#endif if (priv->socket_window) { g_signal_emit (plug, plug_signals[EMBEDDED], 0); diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 71520e448e..043d8ed71d 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -2266,20 +2266,20 @@ _gtk_selection_request (GtkWidget *widget, info = g_slice_new (GtkIncrInfo); g_object_ref (widget); - + info->selection = event->selection; info->num_incrs = 0; - + /* Create GdkWindow structure for the requestor */ - - info->requestor = gdk_window_lookup_for_display (display, - event->requestor); - if (!info->requestor) - info->requestor = gdk_window_foreign_new_for_display (display, - event->requestor); - + +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_DISPLAY_X11 (display)) + info->requestor = gdk_x11_window_foreign_new_for_display (display, event->requestor); + else +#endif + info->requestor = NULL; + /* Determine conversions we need to perform */ - if (event->target == gtk_selection_atoms[MULTIPLE]) { GdkAtom type; diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index c8a8c58337..c362b64a2d 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -44,6 +44,10 @@ #include "gtkintl.h" #include "gtkwidgetprivate.h" +#ifdef GDK_WINDOWING_X11 +#include "x11/gdkx.h" +#endif + /** * SECTION:gtksocket @@ -869,8 +873,13 @@ _gtk_socket_add_window (GtkSocket *socket, GdkDisplay *display = gtk_widget_get_display (widget); gpointer user_data = NULL; GtkSocketPrivate *private = socket->priv; - - private->plug_window = gdk_window_lookup_for_display (display, xid); + +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_DISPLAY_X11 (display)) + private->plug_window = gdk_x11_window_lookup_for_display (display, xid); + else +#endif + private->plug_window = NULL; if (private->plug_window) { @@ -878,22 +887,22 @@ _gtk_socket_add_window (GtkSocket *socket, gdk_window_get_user_data (private->plug_window, &user_data); } - if (user_data) /* A widget's window in this process */ + if (user_data) /* A widget's window in this process */ { GtkWidget *child_widget = user_data; if (!GTK_IS_PLUG (child_widget)) - { - g_warning (G_STRLOC ": Can't add non-GtkPlug to GtkSocket"); - private->plug_window = NULL; - gdk_error_trap_pop_ignored (); - - return; - } + { + g_warning (G_STRLOC ": Can't add non-GtkPlug to GtkSocket"); + private->plug_window = NULL; + gdk_error_trap_pop_ignored (); + + return; + } _gtk_plug_add_to_socket (GTK_PLUG (child_widget), socket); } - else /* A foreign window */ + else /* A foreign window */ { GtkWidget *toplevel; GdkDragProtocol protocol; @@ -901,15 +910,18 @@ _gtk_socket_add_window (GtkSocket *socket, gdk_error_trap_push (); if (!private->plug_window) - { - private->plug_window = gdk_window_foreign_new_for_display (display, xid); - if (!private->plug_window) /* was deleted before we could get it */ - { - gdk_error_trap_pop_ignored (); - return; - } - } - + { +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_DISPLAY_X11 (display)) + private->plug_window = gdk_x11_window_foreign_new_for_display (display, xid); +#endif + if (!private->plug_window) /* was deleted before we could get it */ + { + gdk_error_trap_pop_ignored (); + return; + } + } + _gtk_socket_windowing_select_plug_window_input (socket); if (gdk_error_trap_pop ()) diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c index 4689d3ca53..d814cf803f 100644 --- a/gtk/gtktrayicon-x11.c +++ b/gtk/gtktrayicon-x11.c @@ -254,8 +254,8 @@ gtk_tray_icon_clear_manager_window (GtkTrayIcon *icon) { GdkWindow *gdkwin; - gdkwin = gdk_window_lookup_for_display (display, - icon->priv->manager_window); + gdkwin = gdk_x11_window_lookup_for_display (display, + icon->priv->manager_window); gdk_window_remove_filter (gdkwin, gtk_tray_icon_manager_filter, icon); @@ -767,12 +767,12 @@ gtk_tray_icon_update_manager_window (GtkTrayIcon *icon) GdkWindow *gdkwin; GTK_NOTE (PLUGSOCKET, - g_print ("GtkStatusIcon %p: is being managed by window %lx\n", - icon, (gulong) icon->priv->manager_window)); + g_print ("GtkStatusIcon %p: is being managed by window %lx\n", + icon, (gulong) icon->priv->manager_window)); + + gdkwin = gdk_x11_window_lookup_for_display (display, + icon->priv->manager_window); - gdkwin = gdk_window_lookup_for_display (display, - icon->priv->manager_window); - gdk_window_add_filter (gdkwin, gtk_tray_icon_manager_filter, icon); gtk_tray_icon_get_orientation_property (icon); From fa33839d72e54e67fa01e9063e2b03a7e1fdaf68 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 02:05:05 -0500 Subject: [PATCH 0663/1463] Consistently use per-display error traps in the X11 backend --- gdk/x11/gdkasync.c | 4 +- gdk/x11/gdkdevice-xi.c | 4 +- gdk/x11/gdkdisplay-x11.c | 32 ++++---- gdk/x11/gdkdnd-x11.c | 161 +++++++++++++++++++------------------ gdk/x11/gdkmain-x11.c | 4 +- gdk/x11/gdkproperty-x11.c | 4 +- gdk/x11/gdkscreen-x11.c | 22 ++--- gdk/x11/gdktestutils-x11.c | 8 +- gdk/x11/gdkwindow-x11.c | 29 +++---- 9 files changed, 137 insertions(+), 131 deletions(-) diff --git a/gdk/x11/gdkasync.c b/gdk/x11/gdkasync.c index 2f591b0906..795438b411 100644 --- a/gdk/x11/gdkasync.c +++ b/gdk/x11/gdkasync.c @@ -653,12 +653,12 @@ _gdk_x11_get_window_child_info (GdkDisplay *display, state.children = NULL; state.nchildren = 0; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); result = list_children_and_wm_state (dpy, window, win_has_wm_state ? wm_state_atom : None, &has_wm_state, &state.children, &state.nchildren); - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); if (!result) { g_free (state.children); diff --git a/gdk/x11/gdkdevice-xi.c b/gdk/x11/gdkdevice-xi.c index e7dfb0ca6a..19e8ff1177 100644 --- a/gdk/x11/gdkdevice-xi.c +++ b/gdk/x11/gdkdevice-xi.c @@ -151,11 +151,11 @@ gdk_device_xi_constructed (GObject *object) device = GDK_DEVICE_XI (object); display = gdk_device_get_display (GDK_DEVICE (object)); - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); device->xdevice = XOpenDevice (GDK_DISPLAY_XDISPLAY (display), device->device_id); - if (gdk_error_trap_pop ()) + if (gdk_x11_display_error_trap_pop (display)) g_warning ("Device %s can't be opened", gdk_device_get_name (GDK_DEVICE (device))); diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 8dfb40aaf4..11b3ebe843 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -255,14 +255,14 @@ gdk_check_wm_desktop_changed (GdkWindow *window) gulong *desktop; type = None; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (window), gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_DESKTOP"), 0, G_MAXLONG, False, XA_CARDINAL, &type, &format, &nitems, &bytes_after, &data); - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); if (type != None) { @@ -298,12 +298,12 @@ gdk_check_wm_state_changed (GdkWindow *window) toplevel->have_fullscreen = FALSE; type = None; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (window), gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_STATE"), 0, G_MAXLONG, False, XA_ATOM, &type, &format, &nitems, &bytes_after, &data); - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); if (type != None) { @@ -709,7 +709,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, gint ty = 0; Window child_window = 0; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); if (XTranslateCoordinates (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), screen_x11->xroot_window, @@ -720,7 +720,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, event->configure.x = tx; event->configure.y = ty; } - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); } else { @@ -1346,11 +1346,11 @@ _gdk_x11_display_open (const gchar *display_name) int rootx, rooty, winx, winy; unsigned int xmask; - gdk_error_trap_push (); - XQueryPointer (display_x11->xdisplay, + gdk_x11_display_error_trap_push (display); + XQueryPointer (display_x11->xdisplay, GDK_SCREEN_X11 (display_x11->default_screen)->xroot_window, &root, &child, &rootx, &rooty, &winx, &winy, &xmask); - if (G_UNLIKELY (gdk_error_trap_pop () == BadWindow)) + if (G_UNLIKELY (gdk_x11_display_error_trap_pop (display) == BadWindow)) { g_warning ("Connection to display %s appears to be untrusted. Pointer and keyboard grabs and inter-client communication may not work as expected.", gdk_display_get_name (display)); display_x11->trusted_client = FALSE; @@ -2144,14 +2144,14 @@ gdk_x11_display_store_clipboard (GdkDisplay *display, clipboard_manager = gdk_x11_get_xatom_by_name_for_display (display, "CLIPBOARD_MANAGER"); save_targets = gdk_x11_get_xatom_by_name_for_display (display, "SAVE_TARGETS"); - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); if (XGetSelectionOwner (display_x11->xdisplay, clipboard_manager) != None) { Atom property_name = None; Atom *xatoms; int i; - + if (n_targets > 0) { property_name = gdk_x11_atom_to_xatom_for_display (display, _gdk_selection_property); @@ -2166,13 +2166,13 @@ gdk_x11_display_store_clipboard (GdkDisplay *display, g_free (xatoms); } - + XConvertSelection (display_x11->xdisplay, - clipboard_manager, save_targets, property_name, - GDK_WINDOW_XID (clipboard_window), time_); - + clipboard_manager, save_targets, property_name, + GDK_WINDOW_XID (clipboard_window), time_); + } - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); } diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 0cba36a2fd..534f5de451 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -567,6 +567,7 @@ static void gdk_window_cache_destroy (GdkWindowCache *cache) { GdkWindow *root_window = gdk_screen_get_root_window (cache->screen); + GdkDisplay *display; XSelectInput (GDK_WINDOW_XDISPLAY (root_window), GDK_WINDOW_XID (root_window), @@ -574,12 +575,11 @@ gdk_window_cache_destroy (GdkWindowCache *cache) gdk_window_remove_filter (root_window, gdk_window_cache_filter, cache); gdk_window_remove_filter (NULL, gdk_window_cache_shape_filter, cache); - gdk_error_trap_push (); + display = gdk_screen_get_display (cache->screen); - g_list_foreach (cache->children, (GFunc)free_cache_child, - gdk_screen_get_display (cache->screen)); - - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_push (display); + g_list_foreach (cache->children, (GFunc)free_cache_child, display); + gdk_x11_display_error_trap_pop_ignored (display); g_list_free (cache->children); g_hash_table_destroy (cache->child_hash); @@ -682,7 +682,7 @@ get_client_window_at_coords_recurse (GdkDisplay *display, return None; } -static Window +static Window get_client_window_at_coords (GdkWindowCache *cache, Window ignore, gint x_root, @@ -690,9 +690,12 @@ get_client_window_at_coords (GdkWindowCache *cache, { GList *tmp_list; Window retval = None; + GdkDisplay *display; + + display = gdk_screen_get_display (cache->screen); + + gdk_x11_display_error_trap_push (display); - gdk_error_trap_push (); - tmp_list = cache->children; while (tmp_list && !retval) @@ -704,8 +707,6 @@ get_client_window_at_coords (GdkWindowCache *cache, if ((x_root >= child->x) && (x_root < child->x + child->width) && (y_root >= child->y) && (y_root < child->y + child->height)) { - GdkDisplay *display = gdk_screen_get_display (cache->screen); - if (!is_pointer_within_shape (display, child, x_root - child->x, y_root - child->y)) @@ -725,7 +726,7 @@ get_client_window_at_coords (GdkWindowCache *cache, tmp_list = tmp_list->next; } - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); if (retval) return retval; @@ -1028,36 +1029,38 @@ motif_read_target_table (GdkDisplay *display) guchar *p; gboolean success = FALSE; - gdk_error_trap_push (); - XGetWindowProperty (display_x11->xdisplay, - display_x11->motif_drag_window, - motif_drag_targets_atom, - 0, (sizeof(MotifTargetTableHeader)+3)/4, FALSE, - motif_drag_targets_atom, - &type, &format, &nitems, &bytes_after, - &data); + gdk_x11_display_error_trap_push (display); + XGetWindowProperty (display_x11->xdisplay, + display_x11->motif_drag_window, + motif_drag_targets_atom, + 0, (sizeof(MotifTargetTableHeader)+3)/4, FALSE, + motif_drag_targets_atom, + &type, &format, &nitems, &bytes_after, + &data); - if (gdk_error_trap_pop () || (format != 8) || (nitems < sizeof (MotifTargetTableHeader))) - goto error; + if (gdk_x11_display_error_trap_pop (display) || + (format != 8) || (nitems < sizeof (MotifTargetTableHeader))) + goto error; header = (MotifTargetTableHeader *)data; header->n_lists = card16_to_host (header->n_lists, header->byte_order); header->total_size = card32_to_host (header->total_size, header->byte_order); - gdk_error_trap_push (); - XGetWindowProperty (display_x11->xdisplay, - display_x11->motif_drag_window, - motif_drag_targets_atom, - (sizeof(MotifTargetTableHeader)+3)/4, - (header->total_size + 3)/4 - (sizeof(MotifTargetTableHeader) + 3)/4, - FALSE, - motif_drag_targets_atom, &type, &format, &nitems, - &bytes_after, &target_bytes); - - if (gdk_error_trap_pop () || (format != 8) || (bytes_after != 0) || - (nitems != header->total_size - sizeof(MotifTargetTableHeader))) - goto error; + gdk_x11_display_error_trap_push (display); + XGetWindowProperty (display_x11->xdisplay, + display_x11->motif_drag_window, + motif_drag_targets_atom, + (sizeof(MotifTargetTableHeader)+3)/4, + (header->total_size + 3)/4 - (sizeof(MotifTargetTableHeader) + 3)/4, + FALSE, + motif_drag_targets_atom, &type, &format, &nitems, + &bytes_after, &target_bytes); + + if (gdk_x11_display_error_trap_pop (display) || + (format != 8) || (bytes_after != 0) || + (nitems != header->total_size - sizeof(MotifTargetTableHeader))) + goto error; display_x11->motif_n_target_lists = header->n_lists; display_x11->motif_target_lists = g_new0 (GList *, display_x11->motif_n_target_lists); @@ -1067,7 +1070,7 @@ motif_read_target_table (GdkDisplay *display) { gint n_targets; guint32 *targets; - + if (p + sizeof(guint16) - target_bytes > nitems) goto error; @@ -1384,14 +1387,14 @@ motif_check_dest (GdkDisplay *display, unsigned long nitems, after; Atom motif_drag_receiver_info_atom = gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_RECEIVER_INFO"); - gdk_error_trap_push (); - XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), win, - motif_drag_receiver_info_atom, - 0, (sizeof(*info)+3)/4, False, AnyPropertyType, - &type, &format, &nitems, &after, - &data); + gdk_x11_display_error_trap_push (display); + XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), win, + motif_drag_receiver_info_atom, + 0, (sizeof(*info)+3)/4, False, AnyPropertyType, + &type, &format, &nitems, &after, + &data); - if (gdk_error_trap_pop() == 0) + if (gdk_x11_display_error_trap_pop (display) == 0) { if (type != None) { @@ -1583,17 +1586,19 @@ motif_read_initiator_info (GdkDisplay *display, gulong bytes_after; guchar *data; MotifDragInitiatorInfo *initiator_info; - - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); - - gdk_error_trap_push (); - XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), source_window, atom, - 0, sizeof(*initiator_info), FALSE, - gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_INITIATOR_INFO"), - &type, &format, &nitems, &bytes_after, - &data); - if (gdk_error_trap_pop () || (format != 8) || (nitems != sizeof (MotifDragInitiatorInfo)) || (bytes_after != 0)) + GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + + gdk_x11_display_error_trap_push (display); + XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), source_window, atom, + 0, sizeof(*initiator_info), FALSE, + gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_INITIATOR_INFO"), + &type, &format, &nitems, &bytes_after, + &data); + + if (gdk_x11_display_error_trap_pop (display) || + (format != 8) || (nitems != sizeof (MotifDragInitiatorInfo)) || + (bytes_after != 0)) { g_warning ("Error reading initiator info\n"); return FALSE; @@ -2533,13 +2538,12 @@ xdnd_check_dest (GdkDisplay *display, proxy = None; - gdk_error_trap_push (); - + gdk_x11_display_error_trap_push (display); if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), win, - xdnd_proxy_atom, 0, - 1, False, AnyPropertyType, - &type, &format, &nitems, &after, - &data) == Success) + xdnd_proxy_atom, 0, + 1, False, AnyPropertyType, + &type, &format, &nitems, &after, + &data) == Success) { if (type != None) { @@ -2582,7 +2586,7 @@ xdnd_check_dest (GdkDisplay *display, } } - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); return retval ? (proxy ? proxy : win) : None; } @@ -2607,20 +2611,19 @@ xdnd_read_actions (GdkDragContextX11 *context_x11) { /* Get the XdndActionList, if set */ - gdk_error_trap_push (); - + gdk_x11_display_error_trap_push (display); if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XID (context->source_window), - gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"), - 0, 65536, - False, XA_ATOM, &type, &format, &nitems, - &after, &data) == Success && - type == XA_ATOM) - { - atoms = (Atom *)data; - - context->actions = 0; - + GDK_WINDOW_XID (context->source_window), + gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"), + 0, 65536, + False, XA_ATOM, &type, &format, &nitems, + &after, &data) == Success && + type == XA_ATOM) + { + atoms = (Atom *)data; + + context->actions = 0; + for (i = 0; i < nitems; i++) context->actions |= xdnd_action_from_atom (display, atoms[i]); @@ -2647,9 +2650,9 @@ xdnd_read_actions (GdkDragContextX11 *context_x11) } if (data) - XFree (data); - - gdk_error_trap_pop_ignored (); + XFree (data); + + gdk_x11_display_error_trap_pop_ignored (display); } else { @@ -2703,7 +2706,7 @@ xdnd_manage_source_filter (GdkDragContext *context, if (!GDK_WINDOW_DESTROYED (window) && gdk_window_get_window_type (window) == GDK_WINDOW_FOREIGN) { - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (GDK_WINDOW_DISPLAY (window)); if (add_filter) { @@ -2723,7 +2726,7 @@ xdnd_manage_source_filter (GdkDragContext *context, */ } - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (GDK_WINDOW_DISPLAY (window)); } } @@ -2861,7 +2864,7 @@ xdnd_enter_filter (GdkXEvent *xev, context->targets = NULL; if (get_types) { - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); XGetWindowProperty (GDK_WINDOW_XDISPLAY (event->any.window), source_window, gdk_x11_get_xatom_by_name_for_display (display, "XdndTypeList"), @@ -2869,7 +2872,7 @@ xdnd_enter_filter (GdkXEvent *xev, False, XA_ATOM, &type, &format, &nitems, &after, &data); - if (gdk_error_trap_pop () || (format != 32) || (type != XA_ATOM)) + if (gdk_x11_display_error_trap_pop (display) || (format != 32) || (type != XA_ATOM)) { g_object_unref (context); diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 31a08d4b4f..1bf9db8c52 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -488,12 +488,12 @@ _gdk_send_xevent (GdkDisplay *display, if (gdk_display_is_closed (display)) return FALSE; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); result = XSendEvent (GDK_DISPLAY_XDISPLAY (display), window, propagate, event_mask, event_send); XSync (GDK_DISPLAY_XDISPLAY (display), False); - if (gdk_error_trap_pop ()) + if (gdk_x11_display_error_trap_pop (display)) return FALSE; return result; diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index 60774ed1ef..ca8a9a2e80 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -355,9 +355,9 @@ gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, * we take precautions */ char *name; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); name = XGetAtomName (GDK_DISPLAY_XDISPLAY (display), xatom); - if (gdk_error_trap_pop ()) + if (gdk_x11_display_error_trap_pop (display)) { g_warning (G_STRLOC " invalid X atom: %ld", xatom); } diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 8ff085960d..665138cd70 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -1104,7 +1104,7 @@ gdk_event_send_client_message_to_all_recurse (GdkDisplay *display, gboolean result = FALSE; int i; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xid, gdk_x11_get_xatom_by_name_for_display (display, "WM_STATE"), @@ -1141,7 +1141,7 @@ gdk_event_send_client_message_to_all_recurse (GdkDisplay *display, result = send || found; out: - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); return result; } @@ -1333,12 +1333,12 @@ fetch_net_wm_check_window (GdkScreen *screen) return; } - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); /* Find out if this WM goes away, so we can reset everything. */ XSelectInput (screen_x11->xdisplay, *xwindow, StructureNotifyMask); - error = gdk_error_trap_pop (); + error = gdk_x11_display_error_trap_pop (display); if (!error) { screen_x11->wmspec_check_window = *xwindow; @@ -1625,10 +1625,12 @@ const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen) { GdkScreenX11 *screen_x11; + GdkDisplay *display; screen_x11 = GDK_SCREEN_X11 (screen); + display = screen_x11->display; - if (!G_LIKELY (GDK_DISPLAY_X11 (screen_x11->display)->trusted_client)) + if (!G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) return screen_x11->window_manager_name; fetch_net_wm_check_window (screen); @@ -1651,20 +1653,20 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) name = NULL; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (display); - XGetWindowProperty (GDK_DISPLAY_XDISPLAY (screen_x11->display), + XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), screen_x11->wmspec_check_window, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, + gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_NAME"), 0, G_MAXLONG, False, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, + gdk_x11_get_xatom_by_name_for_display (display, "UTF8_STRING"), &type, &format, &n_items, &bytes_after, (guchar **)&name); - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); if (name != NULL) { diff --git a/gdk/x11/gdktestutils-x11.c b/gdk/x11/gdktestutils-x11.c index 960301b1e3..d21d321d81 100644 --- a/gdk/x11/gdktestutils-x11.c +++ b/gdk/x11/gdktestutils-x11.c @@ -147,7 +147,7 @@ gdk_test_simulate_key (GdkWindow *window, g_free (keys); if (!success) return FALSE; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (GDK_WINDOW_DISPLAY (window)); xev.same_screen = XTranslateCoordinates (xev.display, xev.window, xev.root, xev.x, xev.y, &xev.x_root, &xev.y_root, &xev.subwindow); @@ -158,7 +158,7 @@ gdk_test_simulate_key (GdkWindow *window, success &= 0 != XWarpPointer (xev.display, None, xev.window, 0, 0, 0, 0, xev.x, xev.y); success &= 0 != XSendEvent (xev.display, xev.window, True, key_pressrelease == GDK_KEY_PRESS ? KeyPressMask : KeyReleaseMask, (XEvent*) &xev); XSync (xev.display, False); - success &= 0 == gdk_error_trap_pop(); + success &= 0 == gdk_x11_display_error_trap_pop (GDK_WINDOW_DISPLAY (window)); return success; } @@ -235,7 +235,7 @@ gdk_test_simulate_button (GdkWindow *window, xev.y_root = 0; xev.state = modifiers; xev.button = button; - gdk_error_trap_push (); + gdk_x11_display_error_trap_push (GDK_WINDOW_DISPLAY (window)); xev.same_screen = XTranslateCoordinates (xev.display, xev.window, xev.root, xev.x, xev.y, &xev.x_root, &xev.y_root, &xev.subwindow); @@ -245,6 +245,6 @@ gdk_test_simulate_button (GdkWindow *window, success &= 0 != XWarpPointer (xev.display, None, xev.window, 0, 0, 0, 0, xev.x, xev.y); success &= 0 != XSendEvent (xev.display, xev.window, True, button_pressrelease == GDK_BUTTON_PRESS ? ButtonPressMask : ButtonReleaseMask, (XEvent*) &xev); XSync (xev.display, False); - success &= 0 == gdk_error_trap_pop(); + success &= 0 == gdk_x11_display_error_trap_pop(GDK_WINDOW_DISPLAY (window)); return success; } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index e7af2aa0ad..2798a58df7 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2620,7 +2620,7 @@ gdk_x11_window_get_root_origin (GdkWindow *window, static void gdk_x11_window_get_frame_extents (GdkWindow *window, - GdkRectangle *rect) + GdkRectangle *rect) { GdkDisplay *display; GdkWindowImplX11 *impl; @@ -2641,14 +2641,14 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, guint ww, wh, wb, wd; gint wx, wy; gboolean got_frame_extents = FALSE; - + g_return_if_fail (rect != NULL); - + rect->x = 0; rect->y = 0; rect->width = 1; rect->height = 1; - + while (window->parent && (window->parent)->parent) window = window->parent; @@ -2665,18 +2665,19 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, nvroots = 0; vroots = NULL; - gdk_error_trap_push(); - display = gdk_window_get_display (window); + + gdk_x11_display_error_trap_push (display); + xwindow = GDK_WINDOW_XID (window); /* first try: use _NET_FRAME_EXTENTS */ if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow, - gdk_x11_get_xatom_by_name_for_display (display, - "_NET_FRAME_EXTENTS"), - 0, G_MAXLONG, False, XA_CARDINAL, &type_return, - &format_return, &nitems_return, &bytes_after_return, - &data) + gdk_x11_get_xatom_by_name_for_display (display, + "_NET_FRAME_EXTENTS"), + 0, G_MAXLONG, False, XA_CARDINAL, &type_return, + &format_return, &nitems_return, &bytes_after_return, + &data) == Success) { if ((type_return == XA_CARDINAL) && (format_return == 32) && @@ -2758,8 +2759,8 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, } } while (xparent != root); - - if (XGetGeometry (GDK_DISPLAY_XDISPLAY (display), xwindow, + + if (XGetGeometry (GDK_DISPLAY_XDISPLAY (display), xwindow, &root, &wx, &wy, &ww, &wh, &wb, &wd)) { rect->x = wx; @@ -2772,7 +2773,7 @@ gdk_x11_window_get_frame_extents (GdkWindow *window, if (vroots) XFree (vroots); - gdk_error_trap_pop_ignored (); + gdk_x11_display_error_trap_pop_ignored (display); } static gboolean From 6c16ddc2d361f6c644550e22b01fb90bf6ab1ed1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 02:37:03 -0500 Subject: [PATCH 0664/1463] Make GdkAppLaunchContext work again We didn't set the display, ever. Add a construct-only property for this purpose. --- gdk/gdkapplaunchcontext.c | 50 +++++++++++++++++++++++++++++++ gdk/x11/gdkapplaunchcontext-x11.c | 5 ++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c index 075f8fd890..88d5a538d0 100644 --- a/gdk/gdkapplaunchcontext.c +++ b/gdk/gdkapplaunchcontext.c @@ -66,19 +66,69 @@ static void gdk_app_launch_context_launch_failed (GAppLaunchContext *context, const gchar *startup_notify_id); +enum +{ + PROP_0, + PROP_DISPLAY +}; + G_DEFINE_TYPE (GdkAppLaunchContext, gdk_app_launch_context, G_TYPE_APP_LAUNCH_CONTEXT) +static void +gdk_app_launch_context_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GdkAppLaunchContext *context = GDK_APP_LAUNCH_CONTEXT (object); + + switch (prop_id) + { + case PROP_DISPLAY: + g_value_set_object (value, context->display); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + +static void +gdk_app_launch_context_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GdkAppLaunchContext *context = GDK_APP_LAUNCH_CONTEXT (object); + + switch (prop_id) + { + case PROP_DISPLAY: + context->display = g_value_dup_object (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + } +} + static void gdk_app_launch_context_class_init (GdkAppLaunchContextClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GAppLaunchContextClass *context_class = G_APP_LAUNCH_CONTEXT_CLASS (klass); + gobject_class->set_property = gdk_app_launch_context_set_property, + gobject_class->get_property = gdk_app_launch_context_get_property; + gobject_class->finalize = gdk_app_launch_context_finalize; context_class->get_display = gdk_app_launch_context_get_display; context_class->get_startup_notify_id = gdk_app_launch_context_get_startup_notify_id; context_class->launch_failed = gdk_app_launch_context_launch_failed; + + g_object_class_install_property (gobject_class, PROP_DISPLAY, + g_param_spec_object ("display", P_("Display"), P_("Display"), + GDK_TYPE_DISPLAY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); } static void diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c index 7aebfa7847..89ed5aae0d 100644 --- a/gdk/x11/gdkapplaunchcontext-x11.c +++ b/gdk/x11/gdkapplaunchcontext-x11.c @@ -453,8 +453,9 @@ _gdk_x11_display_get_app_launch_context (GdkDisplay *display) { GdkAppLaunchContext *ctx; - ctx = g_object_new (_gdk_app_launch_context_x11_get_type (), NULL); - gdk_app_launch_context_set_display (ctx, display); + ctx = g_object_new (_gdk_app_launch_context_x11_get_type (), + "display", display, + NULL); return ctx; } From 536a7c8abb15be9357566bc56c4542b9caec6a73 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 02:37:52 -0500 Subject: [PATCH 0665/1463] Work around issues with events without screens Just use the default display for copy/free of event data. Maybe the vfuncs should be moved to GdkDisplayManager. --- gdk/gdkevents.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index 1455023844..e9995e9492 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -571,8 +571,7 @@ gdk_event_copy (const GdkEvent *event) } if (gdk_event_is_allocated (event)) - _gdk_display_event_data_copy (gdk_screen_get_display (new_private->screen), - event, new_event); + _gdk_display_event_data_copy (gdk_display_get_default (), event, new_event); return new_event; } @@ -589,8 +588,6 @@ gdk_event_copy (const GdkEvent *event) void gdk_event_free (GdkEvent *event) { - GdkDisplay *display; - g_return_if_fail (event != NULL); if (event->any.window) @@ -642,8 +639,7 @@ gdk_event_free (GdkEvent *event) break; } - display = gdk_screen_get_display (gdk_event_get_screen (event)); - _gdk_display_event_data_free (display, event); + _gdk_display_event_data_free (gdk_display_get_default (), event); g_hash_table_remove (event_hash, event); g_slice_free (GdkEventPrivate, (GdkEventPrivate*) event); From ef85f112da84c0c2bc38020a97d546c906ed2cb3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 02:38:43 -0500 Subject: [PATCH 0666/1463] Don't use gdk_spawn Replace the sole use of gdk_spawn in GTK+ by GAppInfo. --- gtk/gtkprintoperation-unix.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c index 3b620e1649..1e3643002b 100644 --- a/gtk/gtkprintoperation-unix.c +++ b/gtk/gtkprintoperation-unix.c @@ -201,8 +201,8 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, GtkWindow *parent, const gchar *filename) { - gint argc; - gchar **argv; + GAppInfo *appinfo; + GAppLaunchContext *context; gchar *cmd; gchar *preview_cmd; GtkSettings *settings; @@ -276,7 +276,11 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, quoted_filename = g_shell_quote (filename); quoted_settings_filename = g_shell_quote (settings_filename); cmd = shell_command_substitute_file (preview_cmd, quoted_filename, quoted_settings_filename, &filename_used, &settings_used); - g_shell_parse_argv (cmd, &argc, &argv, &error); + + appinfo = g_app_info_create_from_commandline (cmd, + "Print Preview", + G_APP_INFO_CREATE_NONE, + &error); g_free (preview_cmd); g_free (quoted_filename); @@ -286,9 +290,12 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, if (error != NULL) goto out; - gdk_spawn_on_screen (screen, NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &error); + context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen)); + gdk_app_launch_context_set_screen (GDK_APP_LAUNCH_CONTEXT (context), screen); + g_app_info_launch (appinfo, NULL, context, &error); - g_strfreev (argv); + g_object_unref (context); + g_object_unref (appinfo); if (error != NULL) { @@ -311,9 +318,9 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, else g_error_free (error); - filename_used = FALSE; + filename_used = FALSE; settings_used = FALSE; - } + } if (!filename_used) g_unlink (filename); @@ -323,7 +330,7 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, if (fd > 0) close (fd); - + if (key_file) g_key_file_free (key_file); g_free (data); From 25c66c11e2fc83ef221e4bbc910d0b986efca0c3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 08:06:44 -0500 Subject: [PATCH 0667/1463] Remove gdk_spawn functions These functions were trivial g_spawn wrappers in all backends except for X11, and they can be easily replaced by g_app_info_create_for_commandline + GdkAppLaunchContext. --- docs/reference/gdk/gdk3-sections.txt | 4 - gdk/Makefile.am | 2 - gdk/gdk.c | 3 +- gdk/gdk.h | 1 - gdk/gdk.symbols | 3 - gdk/gdkspawn.h | 62 -------- gdk/x11/Makefile.am | 1 - gdk/x11/gdkspawn-x11.c | 214 --------------------------- gtk/gtkprintoperation-unix.c | 6 +- 9 files changed, 4 insertions(+), 292 deletions(-) delete mode 100644 gdk/gdkspawn.h delete mode 100644 gdk/x11/gdkspawn-x11.c diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 02a3608ca0..dc5db53d30 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -217,10 +217,6 @@ gdk_screen_get_resolution gdk_screen_set_resolution gdk_screen_get_active_window gdk_screen_get_window_stack - -gdk_spawn_on_screen -gdk_spawn_on_screen_with_pipes -gdk_spawn_command_line_on_screen GDK_SCREEN diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 2545e29ff4..0e980493fe 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -84,7 +84,6 @@ gdk_public_h_sources = \ gdkrgba.h \ gdkscreen.h \ gdkselection.h \ - gdkspawn.h \ gdktestutils.h \ gdkthreads.h \ gdktypes.h \ @@ -210,7 +209,6 @@ x11_introspection_files = \ x11/gdkscreen-x11.c \ x11/gdkselection-x11.c \ x11/gdksettings.c \ - x11/gdkspawn-x11.c \ x11/gdktestutils-x11.c \ x11/gdkvisual-x11.c \ x11/gdkwindow-x11.c \ diff --git a/gdk/gdk.c b/gdk/gdk.c index 5ca6326fa9..7af9134309 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -218,8 +218,7 @@ gdk_pre_parse_libgtk_only (void) if (getenv ("GDK_NATIVE_WINDOWS")) { _gdk_native_windows = TRUE; - /* Ensure that this is not propagated - to spawned applications */ + /* Ensure that this is not propagated to spawned applications */ g_unsetenv ("GDK_NATIVE_WINDOWS"); } diff --git a/gdk/gdk.h b/gdk/gdk.h index 938961e35f..2b849695d6 100644 --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index ac826df829..cf8c2a1d78 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -324,9 +324,6 @@ gdk_set_program_class gdk_set_show_events gdk_setting_action_get_type G_GNUC_CONST gdk_setting_get -gdk_spawn_command_line_on_screen -gdk_spawn_on_screen -gdk_spawn_on_screen_with_pipes gdk_status_get_type G_GNUC_CONST gdk_string_to_compound_text gdk_string_to_compound_text_for_display diff --git a/gdk/gdkspawn.h b/gdk/gdkspawn.h deleted file mode 100644 index cb7a2eac16..0000000000 --- a/gdk/gdkspawn.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (C) 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * Authors: Mark McLoughlin - */ - -#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __GDK_SPAWN_H__ -#define __GDK_SPAWN_H__ - -#include - -G_BEGIN_DECLS - -gboolean gdk_spawn_on_screen (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - GError **error); - -gboolean gdk_spawn_on_screen_with_pipes (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - gint *standard_input, - gint *standard_output, - gint *standard_error, - GError **error); - -gboolean gdk_spawn_command_line_on_screen (GdkScreen *screen, - const gchar *command_line, - GError **error); - -G_END_DECLS - -#endif /* __GDK_SPAWN_H__ */ diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 6c07ff4aed..d05a03355c 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -44,7 +44,6 @@ libgdk_x11_la_SOURCES = \ gdkscreen-x11.c \ gdkscreen-x11.h \ gdkselection-x11.c \ - gdkspawn-x11.c \ gdktestutils-x11.c \ gdkvisual-x11.c \ gdkwindow-x11.c \ diff --git a/gdk/x11/gdkspawn-x11.c b/gdk/x11/gdkspawn-x11.c deleted file mode 100644 index 7f97b4e4f0..0000000000 --- a/gdk/x11/gdkspawn-x11.c +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (C) 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * Authors: Mark McLoughlin - */ - -#include "config.h" - -#include "gdkspawn.h" - -#include -#include -#include - - -typedef struct { - char *display; - GSpawnChildSetupFunc child_setup; - gpointer user_data; -} UserChildSetup; - -/* - * Set the DISPLAY variable, and then call the user-specified child setup - * function. This is required so that applications can use gdk_spawn_* and - * call putenv() in their child_setup functions. - */ -static void -set_environment (gpointer user_data) -{ - UserChildSetup *setup = user_data; - - g_setenv ("DISPLAY", setup->display, TRUE); - - if (setup->child_setup) - setup->child_setup (setup->user_data); -} - -/** - * gdk_spawn_on_screen: - * @screen: a #GdkScreen - * @working_directory: child's current working directory, or %NULL to - * inherit parent's - * @argv: child's argument vector - * @envp: child's environment, or %NULL to inherit parent's - * @flags: flags from #GSpawnFlags - * @child_setup: function to run in the child just before exec() - * @user_data: user data for @child_setup - * @child_pid: return location for child process ID, or %NULL - * @error: return location for error - * - * Like g_spawn_async(), except the child process is spawned in such - * an environment that on calling gdk_display_open() it would be - * returned a #GdkDisplay with @screen as the default screen. - * - * This is useful for applications which wish to launch an application - * on a specific screen. - * - * Return value: %TRUE on success, %FALSE if error is set - * - * Since: 2.4 - **/ -gboolean -gdk_spawn_on_screen (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - GError **error) -{ - UserChildSetup setup_data; - - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - - setup_data.display = gdk_screen_make_display_name (screen); - setup_data.child_setup = child_setup; - setup_data.user_data = user_data; - - return g_spawn_async (working_directory, - argv, - envp, - flags, - set_environment, - &setup_data, - child_pid, - error); -} - -/** - * gdk_spawn_on_screen_with_pipes: - * @screen: a #GdkScreen - * @working_directory: child's current working directory, or %NULL to - * inherit parent's - * @argv: child's argument vector - * @envp: child's environment, or %NULL to inherit parent's - * @flags: flags from #GSpawnFlags - * @child_setup: function to run in the child just before exec() - * @user_data: user data for @child_setup - * @child_pid: return location for child process ID, or %NULL - * @standard_input: return location for file descriptor to write to - * child's stdin, or %NULL - * @standard_output: return location for file descriptor to read child's - * stdout, or %NULL - * @standard_error: return location for file descriptor to read child's - * stderr, or %NULL - * @error: return location for error - * - * Like g_spawn_async_with_pipes(), except the child process is - * spawned in such an environment that on calling gdk_display_open() - * it would be returned a #GdkDisplay with @screen as the default - * screen. - * - * This is useful for applications which wish to launch an application - * on a specific screen. - * - * Return value: %TRUE on success, %FALSE if an error was set - * - * Since: 2.4 - **/ -gboolean -gdk_spawn_on_screen_with_pipes (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - gint *standard_input, - gint *standard_output, - gint *standard_error, - GError **error) -{ - UserChildSetup setup_data; - - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - - setup_data.display = gdk_screen_make_display_name (screen); - setup_data.child_setup = child_setup; - setup_data.user_data = user_data; - - return g_spawn_async_with_pipes (working_directory, - argv, - envp, - flags, - set_environment, - &setup_data, - child_pid, - standard_input, - standard_output, - standard_error, - error); - -} - -/** - * gdk_spawn_command_line_on_screen: - * @screen: a #GdkScreen - * @command_line: a command line - * @error: return location for errors - * - * Like g_spawn_command_line_async(), except the child process is - * spawned in such an environment that on calling gdk_display_open() - * it would be returned a #GdkDisplay with @screen as the default - * screen. - * - * This is useful for applications which wish to launch an application - * on a specific screen. - * - * Return value: %TRUE on success, %FALSE if error is set. - * - * Since: 2.4 - **/ -gboolean -gdk_spawn_command_line_on_screen (GdkScreen *screen, - const gchar *command_line, - GError **error) -{ - gchar **argv = NULL; - gboolean retval; - - g_return_val_if_fail (command_line != NULL, FALSE); - - if (!g_shell_parse_argv (command_line, - NULL, &argv, - error)) - return FALSE; - - retval = gdk_spawn_on_screen (screen, - NULL, argv, NULL, - G_SPAWN_SEARCH_PATH, - NULL, NULL, NULL, - error); - g_strfreev (argv); - - return retval; -} diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c index 1e3643002b..2431371f0c 100644 --- a/gtk/gtkprintoperation-unix.c +++ b/gtk/gtkprintoperation-unix.c @@ -202,7 +202,7 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, const gchar *filename) { GAppInfo *appinfo; - GAppLaunchContext *context; + GdkAppLaunchContext *context; gchar *cmd; gchar *preview_cmd; GtkSettings *settings; @@ -291,8 +291,8 @@ _gtk_print_operation_platform_backend_launch_preview (GtkPrintOperation *op, goto out; context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen)); - gdk_app_launch_context_set_screen (GDK_APP_LAUNCH_CONTEXT (context), screen); - g_app_info_launch (appinfo, NULL, context, &error); + gdk_app_launch_context_set_screen (context, screen); + g_app_info_launch (appinfo, NULL, G_APP_LAUNCH_CONTEXT (context), &error); g_object_unref (context); g_object_unref (appinfo); From 624dc457553daaf0ed3addb71985241316e41146 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 12:25:38 -0500 Subject: [PATCH 0668/1463] Move event source apis to gdk_x11 Reduces the changes of cross-backend collisions --- gdk/x11/gdkdisplay-x11.c | 16 ++++++++-------- gdk/x11/gdkeventsource.c | 26 +++++++++++++------------- gdk/x11/gdkeventsource.h | 14 +++++++------- gdk/x11/gdkwindow-x11.c | 18 +++++++++--------- 4 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 11b3ebe843..b61d8327a9 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1100,19 +1100,19 @@ gdk_event_init (GdkDisplay *display) GdkDeviceManager *device_manager; display_x11 = GDK_DISPLAY_X11 (display); - display_x11->event_source = gdk_event_source_new (display); + display_x11->event_source = gdk_x11_event_source_new (display); - gdk_event_source_add_translator ((GdkEventSource *) display_x11->event_source, - GDK_EVENT_TRANSLATOR (display)); + gdk_x11_event_source_add_translator ((GdkEventSource *) display_x11->event_source, + GDK_EVENT_TRANSLATOR (display)); device_manager = gdk_display_get_device_manager (display); - gdk_event_source_add_translator ((GdkEventSource *) display_x11->event_source, - GDK_EVENT_TRANSLATOR (device_manager)); + gdk_x11_event_source_add_translator ((GdkEventSource *) display_x11->event_source, + GDK_EVENT_TRANSLATOR (device_manager)); gdk_display_add_client_message_filter (display, - gdk_atom_intern_static_string ("WM_PROTOCOLS"), - gdk_wm_protocols_filter, - NULL); + gdk_atom_intern_static_string ("WM_PROTOCOLS"), + gdk_wm_protocols_filter, + NULL); } static void diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index d21097ad16..b252e0324e 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -89,7 +89,7 @@ gdk_event_apply_filters (XEvent *xevent, tmp_list = node; if (result != GDK_FILTER_CONTINUE) - return result; + return result; } return GDK_FILTER_CONTINUE; @@ -102,7 +102,7 @@ gdk_event_source_get_filter_window (GdkEventSource *event_source, GdkWindow *window; window = gdk_x11_window_lookup_for_display (event_source->display, - xevent->xany.window); + xevent->xany.window); if (window && !GDK_IS_WINDOW (window)) window = NULL; @@ -191,7 +191,7 @@ gdk_event_source_translate_event (GdkEventSource *event_source, } else if (result == GDK_FILTER_TRANSLATE) return event; - } + } } gdk_event_free (event); @@ -236,7 +236,7 @@ gdk_event_source_prepare (GSource *source, *timeout = -1; retval = (_gdk_event_queue_find_first (display) != NULL || - gdk_check_xpending (display)); + gdk_check_xpending (display)); GDK_THREADS_LEAVE (); @@ -253,7 +253,7 @@ gdk_event_source_check (GSource *source) if (event_source->event_poll_fd.revents & G_IO_IN) retval = (_gdk_event_queue_find_first (event_source->display) != NULL || - gdk_check_xpending (event_source->display)); + gdk_check_xpending (event_source->display)); else retval = FALSE; @@ -336,7 +336,7 @@ gdk_event_source_finalize (GSource *source) } GSource * -gdk_event_source_new (GdkDisplay *display) +gdk_x11_event_source_new (GdkDisplay *display) { GSource *source; GdkEventSource *event_source; @@ -346,7 +346,7 @@ gdk_event_source_new (GdkDisplay *display) source = g_source_new (&event_funcs, sizeof (GdkEventSource)); name = g_strdup_printf ("GDK X11 Event source (%s)", - gdk_display_get_name (display)); + gdk_display_get_name (display)); g_source_set_name (source, name); g_free (name); event_source = (GdkEventSource *) source; @@ -369,8 +369,8 @@ gdk_event_source_new (GdkDisplay *display) } void -gdk_event_source_add_translator (GdkEventSource *source, - GdkEventTranslator *translator) +gdk_x11_event_source_add_translator (GdkEventSource *source, + GdkEventTranslator *translator) { g_return_if_fail (GDK_IS_EVENT_TRANSLATOR (translator)); @@ -378,10 +378,10 @@ gdk_event_source_add_translator (GdkEventSource *source, } void -gdk_event_source_select_events (GdkEventSource *source, - Window window, - GdkEventMask event_mask, - unsigned int extra_x_mask) +gdk_x11_event_source_select_events (GdkEventSource *source, + Window window, + GdkEventMask event_mask, + unsigned int extra_x_mask) { unsigned int xmask = extra_x_mask; GList *list; diff --git a/gdk/x11/gdkeventsource.h b/gdk/x11/gdkeventsource.h index 4fc0dbe7b4..b1bf6b20f7 100644 --- a/gdk/x11/gdkeventsource.h +++ b/gdk/x11/gdkeventsource.h @@ -28,17 +28,17 @@ G_BEGIN_DECLS typedef struct _GdkEventSource GdkEventSource; G_GNUC_INTERNAL -GSource * gdk_event_source_new (GdkDisplay *display); +GSource * gdk_x11_event_source_new (GdkDisplay *display); G_GNUC_INTERNAL -void gdk_event_source_add_translator (GdkEventSource *source, - GdkEventTranslator *translator); +void gdk_x11_event_source_add_translator (GdkEventSource *source, + GdkEventTranslator *translator); G_GNUC_INTERNAL -void gdk_event_source_select_events (GdkEventSource *source, - Window window, - GdkEventMask event_mask, - unsigned int extra_x_mask); +void gdk_x11_event_source_select_events (GdkEventSource *source, + Window window, + GdkEventMask event_mask, + unsigned int extra_x_mask); G_END_DECLS diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 2798a58df7..a3bb0f6b92 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -562,9 +562,9 @@ create_focus_window (GdkDisplay *display, GDK_KEY_RELEASE_MASK | GDK_FOCUS_CHANGE_MASK); - gdk_event_source_select_events ((GdkEventSource *) display_x11->event_source, - focus_window, - event_mask, 0); + gdk_x11_event_source_select_events ((GdkEventSource *) display_x11->event_source, + focus_window, + event_mask, 0); XMapWindow (xdisplay, focus_window); @@ -827,9 +827,9 @@ _gdk_window_impl_new (GdkWindow *window, if (attributes_mask & GDK_WA_TYPE_HINT) gdk_window_set_type_hint (window, attributes->type_hint); - gdk_event_source_select_events ((GdkEventSource *) display_x11->event_source, - GDK_WINDOW_XID (window), event_mask, - StructureNotifyMask | PropertyChangeMask); + gdk_x11_event_source_select_events ((GdkEventSource *) display_x11->event_source, + GDK_WINDOW_XID (window), event_mask, + StructureNotifyMask | PropertyChangeMask); } static GdkEventMask @@ -2833,9 +2833,9 @@ gdk_window_x11_set_events (GdkWindow *window, xevent_mask = StructureNotifyMask | PropertyChangeMask; display_x11 = GDK_DISPLAY_X11 (gdk_window_get_display (window)); - gdk_event_source_select_events ((GdkEventSource *) display_x11->event_source, - GDK_WINDOW_XID (window), event_mask, - xevent_mask); + gdk_x11_event_source_select_events ((GdkEventSource *) display_x11->event_source, + GDK_WINDOW_XID (window), event_mask, + xevent_mask); } } From 33417c36f1fd213fd3f8da902e012f934c7659ae Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Sat, 18 Dec 2010 00:41:13 +0100 Subject: [PATCH 0669/1463] plug: Comment hack for xinput that used private x11 backend API --- gtk/gtkplug-x11.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index 46b2b7cb48..43072fe073 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -352,7 +352,10 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, break; } -#ifdef XINPUT_2 +#if 0 + /* FIXME: this needs some X11 backend api to do things + * in a saner way + */ case KeyPress: case KeyRelease: { @@ -394,8 +397,8 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, */ if (G_UNLIKELY (!core_device_manager)) core_device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_CORE, - "display", display, - NULL); + "display", display, + NULL); translated_event = gdk_event_translator_translate (GDK_EVENT_TRANSLATOR (core_device_manager), display, xevent); gdk_event_set_device (translated_event, keyboard); From 985eb1446978b059f6099522a3acd83c517a02c4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 14:49:23 -0500 Subject: [PATCH 0670/1463] Multiple changes to reduce the amount of unprefixed symbols The X11 backend exports a number of symbols which are _-prefixed (so don't become part of the gdk api), but are not named in a way to prevent accidental clashes between backends. The one API change here is that the gdk_xid_table functions have been removed - they did not server an purpose, since the xid table only stores windows anyway, and we already have a lookup-by-xid function for windows. --- docs/reference/gdk/gdk3-sections.txt | 2 - gdk/gdkinternals.h | 2 - gdk/x11/gdkdevice-xi.h | 24 ++++----- gdk/x11/gdkdevice-xi2.h | 6 +-- gdk/x11/gdkdevicemanager-x11.c | 2 +- gdk/x11/gdkdisplay-x11.c | 4 +- gdk/x11/gdkdnd-x11.c | 8 +-- gdk/x11/gdkeventsource.c | 10 ++-- gdk/x11/gdkeventtranslator.c | 18 +++---- gdk/x11/gdkeventtranslator.h | 18 +++---- gdk/x11/gdkprivate-x11.h | 33 +++++++------ gdk/x11/gdkscreen-x11.c | 6 +-- gdk/x11/gdkvisual-x11.c | 2 +- gdk/x11/gdkwindow-x11.c | 25 +++++----- gdk/x11/gdkx.h | 4 -- gdk/x11/gdkxid.c | 73 ++++++++-------------------- gdk/x11/xsettings-common.h | 32 ++++++------ 17 files changed, 116 insertions(+), 153 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index dc5db53d30..b5aa4234bc 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -951,8 +951,6 @@ GDK_CURSOR_XCURSOR GDK_CURSOR_XDISPLAY gdkx_visual_get gdk_x11_window_foreign_new_for_display -gdk_xid_table_lookup -gdk_xid_table_lookup_for_display gdk_x11_window_lookup_for_display gdk_x11_lookup_xdisplay gdk_x11_get_server_time diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 9e2446948f..3e01953bf5 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -283,8 +283,6 @@ void gdk_synthesize_window_state (GdkWindow *window, GdkWindowState unset_flags, GdkWindowState set_flags); -GdkDeviceManager * _gdk_device_manager_new (GdkDisplay *display); - gboolean _gdk_cairo_surface_extents (cairo_surface_t *surface, GdkRectangle *extents); diff --git a/gdk/x11/gdkdevice-xi.h b/gdk/x11/gdkdevice-xi.h index 36fab89950..e0eb08dbfd 100644 --- a/gdk/x11/gdkdevice-xi.h +++ b/gdk/x11/gdkdevice-xi.h @@ -66,23 +66,23 @@ struct _GdkDeviceXIClass }; G_GNUC_INTERNAL -GType gdk_device_xi_get_type (void) G_GNUC_CONST; +GType gdk_device_xi_get_type (void) G_GNUC_CONST; G_GNUC_INTERNAL -void gdk_device_xi_update_window_info (GdkWindow *window); +void gdk_device_xi_update_window_info (GdkWindow *window); G_GNUC_INTERNAL -void gdk_device_xi_update_axes (GdkDevice *device, - gint axes_count, - gint first_axis, - gint *axis_data); +void gdk_device_xi_update_axes (GdkDevice *device, + gint axes_count, + gint first_axis, + gint *axis_data); G_GNUC_INTERNAL -void gdk_device_xi_translate_axes (GdkDevice *device, - GdkWindow *window, - gint *axis_data, - gdouble *axes, - gdouble *x, - gdouble *y); +void gdk_device_xi_translate_axes (GdkDevice *device, + GdkWindow *window, + gint *axis_data, + gdouble *axes, + gdouble *x, + gdouble *y); G_END_DECLS diff --git a/gdk/x11/gdkdevice-xi2.h b/gdk/x11/gdkdevice-xi2.h index f30ebb79e6..63aaf252ef 100644 --- a/gdk/x11/gdkdevice-xi2.h +++ b/gdk/x11/gdkdevice-xi2.h @@ -51,11 +51,11 @@ struct _GdkDeviceXI2Class }; G_GNUC_INTERNAL -GType gdk_device_xi2_get_type (void) G_GNUC_CONST; +GType gdk_device_xi2_get_type (void) G_GNUC_CONST; G_GNUC_INTERNAL -guchar * gdk_device_xi2_translate_event_mask (GdkEventMask event_mask, - int *len); +guchar * gdk_device_xi2_translate_event_mask (GdkEventMask event_mask, + int *len); G_GNUC_INTERNAL guint gdk_device_xi2_translate_state (XIModifierState *mods_state, XIButtonState *buttons_state); diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index 4a6953d3be..cecc82f33b 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -29,7 +29,7 @@ #include "gdkx.h" GdkDeviceManager * -_gdk_device_manager_new (GdkDisplay *display) +_gdk_x11_device_manager_new (GdkDisplay *display) { if (!g_getenv ("GDK_CORE_DEVICE_EVENTS")) { diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index b61d8327a9..a3fefb992d 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1255,12 +1255,12 @@ _gdk_x11_display_open (const gchar *display_name) * structures in places */ for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) - _gdk_screen_x11_events_init (display_x11->screens[i]); + _gdk_x11_screen_init_events (display_x11->screens[i]); /*set the default screen */ display_x11->default_screen = display_x11->screens[DefaultScreen (display_x11->xdisplay)]; - display->device_manager = _gdk_device_manager_new (display); + display->device_manager = _gdk_x11_device_manager_new (display); gdk_event_init (display); diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 534f5de451..b321f3224c 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -605,11 +605,11 @@ is_pointer_within_shape (GdkDisplay *display, GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); cairo_region_t *input_shape; - child->shape = _xwindow_get_shape (display_x11->xdisplay, - child->xid, ShapeBounding); + child->shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay, + child->xid, ShapeBounding); #ifdef ShapeInput - input_shape = _xwindow_get_shape (display_x11->xdisplay, - child->xid, ShapeInput); + input_shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay, + child->xid, ShapeInput); if (child->shape && input_shape) { cairo_region_intersect (child->shape, input_shape); diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index b252e0324e..bd05031f02 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -202,9 +202,9 @@ gdk_event_source_translate_event (GdkEventSource *event_source, GdkEventTranslator *translator = list->data; list = list->next; - event = gdk_event_translator_translate (translator, - event_source->display, - xevent); + event = _gdk_x11_event_translator_translate (translator, + event_source->display, + xevent); } if (event && @@ -394,12 +394,12 @@ gdk_x11_event_source_select_events (GdkEventSource *source, GdkEventTranslator *translator = list->data; GdkEventMask translator_mask, mask; - translator_mask = gdk_event_translator_get_handled_events (translator); + translator_mask = _gdk_x11_event_translator_get_handled_events (translator); mask = event_mask & translator_mask; if (mask != 0) { - gdk_event_translator_select_window_events (translator, window, mask); + _gdk_x11_event_translator_select_window_events (translator, window, mask); event_mask &= ~mask; } diff --git a/gdk/x11/gdkeventtranslator.c b/gdk/x11/gdkeventtranslator.c index b4a285a962..bbd79dcae2 100644 --- a/gdk/x11/gdkeventtranslator.c +++ b/gdk/x11/gdkeventtranslator.c @@ -23,19 +23,19 @@ typedef GdkEventTranslatorIface GdkEventTranslatorInterface; -G_DEFINE_INTERFACE (GdkEventTranslator, gdk_event_translator, G_TYPE_OBJECT); +G_DEFINE_INTERFACE (GdkEventTranslator, _gdk_x11_event_translator, G_TYPE_OBJECT); static void -gdk_event_translator_default_init (GdkEventTranslatorInterface *iface) +_gdk_x11_event_translator_default_init (GdkEventTranslatorInterface *iface) { } GdkEvent * -gdk_event_translator_translate (GdkEventTranslator *translator, - GdkDisplay *display, - XEvent *xevent) +_gdk_x11_event_translator_translate (GdkEventTranslator *translator, + GdkDisplay *display, + XEvent *xevent) { GdkEventTranslatorIface *iface; GdkEvent *event; @@ -59,7 +59,7 @@ gdk_event_translator_translate (GdkEventTranslator *translator, } GdkEventMask -gdk_event_translator_get_handled_events (GdkEventTranslator *translator) +_gdk_x11_event_translator_get_handled_events (GdkEventTranslator *translator) { GdkEventTranslatorIface *iface; @@ -74,9 +74,9 @@ gdk_event_translator_get_handled_events (GdkEventTranslator *translator) } void -gdk_event_translator_select_window_events (GdkEventTranslator *translator, - Window window, - GdkEventMask event_mask) +_gdk_x11_event_translator_select_window_events (GdkEventTranslator *translator, + Window window, + GdkEventMask event_mask) { GdkEventTranslatorIface *iface; diff --git a/gdk/x11/gdkeventtranslator.h b/gdk/x11/gdkeventtranslator.h index 62c99e3f5d..b93a8c8093 100644 --- a/gdk/x11/gdkeventtranslator.h +++ b/gdk/x11/gdkeventtranslator.h @@ -26,7 +26,7 @@ G_BEGIN_DECLS -#define GDK_TYPE_EVENT_TRANSLATOR (gdk_event_translator_get_type ()) +#define GDK_TYPE_EVENT_TRANSLATOR (_gdk_x11_event_translator_get_type ()) #define GDK_EVENT_TRANSLATOR(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_EVENT_TRANSLATOR, GdkEventTranslator)) #define GDK_IS_EVENT_TRANSLATOR(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_EVENT_TRANSLATOR)) #define GDK_EVENT_TRANSLATOR_GET_IFACE(o) (G_TYPE_INSTANCE_GET_INTERFACE ((o), GDK_TYPE_EVENT_TRANSLATOR, GdkEventTranslatorIface)) @@ -50,15 +50,15 @@ struct _GdkEventTranslatorIface GdkEventMask event_mask); }; -GType gdk_event_translator_get_type (void) G_GNUC_CONST; +GType _gdk_x11_event_translator_get_type (void) G_GNUC_CONST; -GdkEvent * gdk_event_translator_translate (GdkEventTranslator *translator, - GdkDisplay *display, - XEvent *xevent); -GdkEventMask gdk_event_translator_get_handled_events (GdkEventTranslator *translator); -void gdk_event_translator_select_window_events (GdkEventTranslator *translator, - Window window, - GdkEventMask event_mask); +GdkEvent * _gdk_x11_event_translator_translate (GdkEventTranslator *translator, + GdkDisplay *display, + XEvent *xevent); +GdkEventMask _gdk_x11_event_translator_get_handled_events (GdkEventTranslator *translator); +void _gdk_x11_event_translator_select_window_events (GdkEventTranslator *translator, + Window window, + GdkEventMask event_mask); G_END_DECLS diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 50302c2188..d45f38566f 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -75,11 +75,14 @@ GList * _gdk_screen_x11_list_visuals (GdkScreen *screen -void _gdk_xid_table_insert (GdkDisplay *display, - XID *xid, - gpointer data); -void _gdk_xid_table_remove (GdkDisplay *display, - XID xid); +void _gdk_xid_table_insert (GdkDisplay *display, + XID *xid, + gpointer data); +void _gdk_xid_table_remove (GdkDisplay *display, + XID xid); +gpointer _gdk_xid_table_lookup (GdkDisplay *display, + XID xid); + gint _gdk_send_xevent (GdkDisplay *display, Window window, gboolean propagate, @@ -106,9 +109,9 @@ void _gdk_x11_window_translate (GdkWindow *window, void _gdk_selection_window_destroyed (GdkWindow *window); gboolean _gdk_selection_filter_clear_event (XSelectionClearEvent *event); -cairo_region_t* _xwindow_get_shape (Display *xdisplay, - Window window, - gint shape_type); +cairo_region_t* _gdk_x11_xwindow_get_shape (Display *xdisplay, + Window window, + gint shape_type); void _gdk_region_get_xrectangles (const cairo_region_t *region, gint x_offset, @@ -152,6 +155,8 @@ void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, void _gdk_x11_display_queue_events (GdkDisplay *display); void _gdk_x11_device_check_extension_events (GdkDevice *device); +GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display); + void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, GdkDisplay *display); void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, @@ -180,13 +185,13 @@ void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, gint n_atoms); -void _gdk_screen_x11_events_init (GdkScreen *screen); +void _gdk_events_init (GdkDisplay *display); +void _gdk_events_uninit (GdkDisplay *display); +void _gdk_x11_dnd_init (GdkDisplay *display); -void _gdk_events_init (GdkDisplay *display); -void _gdk_events_uninit (GdkDisplay *display); -void _gdk_windowing_window_init (GdkScreen *screen); -void _gdk_x11_visual_init (GdkScreen *screen); -void _gdk_x11_dnd_init (GdkDisplay *display); +void _gdk_x11_screen_init_root_window (GdkScreen *screen); +void _gdk_x11_screen_init_visuals (GdkScreen *screen); +void _gdk_x11_screen_init_events (GdkScreen *screen); void _gdk_x11_cursor_update_theme (GdkCursor *cursor); void _gdk_x11_cursor_display_finalize (GdkDisplay *display); diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 665138cd70..1cc7fc5375 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -810,8 +810,8 @@ _gdk_x11_screen_new (GdkDisplay *display, init_multihead (screen); init_randr_support (screen); - _gdk_x11_visual_init (screen); - _gdk_windowing_window_init (screen); + _gdk_x11_screen_init_visuals (screen); + _gdk_x11_screen_init_root_window (screen); return screen; } @@ -1592,7 +1592,7 @@ gdk_xsettings_notify_cb (const char *name, } void -_gdk_screen_x11_events_init (GdkScreen *screen) +_gdk_x11_screen_init_events (GdkScreen *screen) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 3a00c556c0..2624c69448 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -101,7 +101,7 @@ gdk_visual_x11_class_init (GdkVisualX11Class *class) } void -_gdk_x11_visual_init (GdkScreen *screen) +_gdk_x11_screen_init_visuals (GdkScreen *screen) { static const gint possible_depths[8] = { 32, 30, 24, 16, 15, 8, 4, 1 }; static const GdkVisualType possible_types[6] = diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index a3bb0f6b92..7fcc44afd3 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -450,7 +450,7 @@ _gdk_x11_window_tmp_reset_parent_bg (GdkWindow *window) } void -_gdk_windowing_window_init (GdkScreen * screen) +_gdk_x11_screen_init_root_window (GdkScreen *screen) { GdkWindow *window; GdkWindowImplX11 *impl; @@ -882,7 +882,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, display_x11 = GDK_DISPLAY_X11 (display); - if ((win = gdk_xid_table_lookup_for_display (display, window)) != NULL) + if ((win = _gdk_xid_table_lookup (display, window)) != NULL) return g_object_ref (win); gdk_x11_display_error_trap_push (display); @@ -912,7 +912,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, impl = GDK_WINDOW_IMPL_X11 (win->impl); impl->wrapper = win; - win->parent = gdk_xid_table_lookup_for_display (display, parent); + win->parent = _gdk_xid_table_lookup (display, parent); if (!win->parent || GDK_WINDOW_TYPE (win->parent) == GDK_WINDOW_FOREIGN) win->parent = gdk_screen_get_root_window (screen); @@ -963,7 +963,7 @@ GdkWindow * gdk_x11_window_lookup_for_display (GdkDisplay *display, Window window) { - return (GdkWindow*) gdk_xid_table_lookup_for_display (display, window); + return (GdkWindow*) _gdk_xid_table_lookup (display, window); } static void @@ -3737,9 +3737,9 @@ gdk_x11_window_set_functions (GdkWindow *window, } cairo_region_t * -_xwindow_get_shape (Display *xdisplay, - Window window, - gint shape_type) +_gdk_x11_xwindow_get_shape (Display *xdisplay, + Window window, + gint shape_type) { cairo_region_t *shape; GdkRectangle *rl; @@ -3787,8 +3787,9 @@ gdk_x11_window_get_shape (GdkWindow *window) { if (!GDK_WINDOW_DESTROYED (window) && gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window))) - return _xwindow_get_shape (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), ShapeBounding); + return _gdk_x11_xwindow_get_shape (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + ShapeBounding); return NULL; } @@ -3799,9 +3800,9 @@ gdk_x11_window_get_input_shape (GdkWindow *window) #if defined(ShapeInput) if (!GDK_WINDOW_DESTROYED (window) && gdk_display_supports_shapes (GDK_WINDOW_DISPLAY (window))) - return _xwindow_get_shape (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), - ShapeInput); + return _gdk_x11_xwindow_get_shape (GDK_WINDOW_XDISPLAY (window), + GDK_WINDOW_XID (window), + ShapeInput); #endif return NULL; diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 15b5e50d1e..e3e8bca51b 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -185,9 +185,6 @@ GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, GdkVisual* gdkx_visual_get (VisualID xvisualid); #endif - /* Return the Gdk* for a particular XID */ -gpointer gdk_xid_table_lookup_for_display (GdkDisplay *display, - XID xid); guint32 gdk_x11_get_server_time (GdkWindow *window); guint32 gdk_x11_display_get_user_time (GdkDisplay *display); @@ -211,7 +208,6 @@ XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, gint monitor_num); #ifndef GDK_MULTIHEAD_SAFE -gpointer gdk_xid_table_lookup (XID xid); gboolean gdk_net_wm_supports (GdkAtom property); void gdk_x11_grab_server (void); void gdk_x11_ungrab_server (void); diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c index 52b86c9e64..ddd49b5f89 100644 --- a/gdk/x11/gdkxid.c +++ b/gdk/x11/gdkxid.c @@ -32,15 +32,22 @@ #include -static guint gdk_xid_hash (XID *xid); -static gboolean gdk_xid_equal (XID *a, - XID *b); +static guint +gdk_xid_hash (XID *xid) +{ + return *xid; +} +static gboolean +gdk_xid_equal (XID *a, XID *b) +{ + return (*a == *b); +} void _gdk_xid_table_insert (GdkDisplay *display, - XID *xid, - gpointer data) + XID *xid, + gpointer data) { GdkDisplayX11 *display_x11; @@ -51,7 +58,7 @@ _gdk_xid_table_insert (GdkDisplay *display, if (!display_x11->xid_ht) display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash, - (GEqualFunc) gdk_xid_equal); + (GEqualFunc) gdk_xid_equal); if (g_hash_table_lookup (display_x11->xid_ht, xid)) g_warning ("XID collision, trouble ahead"); @@ -61,7 +68,7 @@ _gdk_xid_table_insert (GdkDisplay *display, void _gdk_xid_table_remove (GdkDisplay *display, - XID xid) + XID xid) { GdkDisplayX11 *display_x11; @@ -73,61 +80,19 @@ _gdk_xid_table_remove (GdkDisplay *display, g_hash_table_remove (display_x11->xid_ht, &xid); } -/** - * gdk_xid_table_lookup_for_display: - * @display: the #GdkDisplay. - * @xid: an X id. - * - * Returns the GDK object associated with the given X id. - * - * Return value: (transfer none): the associated #GdkWindow, or %NULL - * of no object is associated with the X id. - * - * Since: 2.2 - */ gpointer -gdk_xid_table_lookup_for_display (GdkDisplay *display, - XID xid) +_gdk_xid_table_lookup (GdkDisplay *display, + XID xid) { GdkDisplayX11 *display_x11; gpointer data = NULL; - + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - + display_x11 = GDK_DISPLAY_X11 (display); if (display_x11->xid_ht) data = g_hash_table_lookup (display_x11->xid_ht, &xid); - + return data; } - - -/** - * gdk_xid_table_lookup: - * @xid: an X id. - * - * Returns the Gdk object associated with the given X id for the default - * display. - * - * Return value: (transfer none): the associated #GdkWindow, or %NULL - * if no object is associated with the X id. - */ -gpointer -gdk_xid_table_lookup (XID xid) -{ - return gdk_xid_table_lookup_for_display (gdk_display_get_default (), xid); -} - -static guint -gdk_xid_hash (XID *xid) -{ - return *xid; -} - -static gboolean -gdk_xid_equal (XID *a, - XID *b) -{ - return (*a == *b); -} diff --git a/gdk/x11/xsettings-common.h b/gdk/x11/xsettings-common.h index de7367a6c2..dcd87f4fa4 100644 --- a/gdk/x11/xsettings-common.h +++ b/gdk/x11/xsettings-common.h @@ -31,22 +31,22 @@ extern "C" { /* Renames for GDK inclusion */ -#define xsettings_byte_order _gdk_xsettings_byte_order -#define xsettings_client_destroy _gdk_xsettings_client_destroy -#define xsettings_client_get_setting _gdk_xsettings_client_get_setting -#define xsettings_client_new _gdk_xsettings_client_new -#define xsettings_client_new_with_grab_funcs _gdk_xsettings_client_new_with_grab_funcs -#define xsettings_client_set_grab_func _gdk_xsettings_client_set_grab_func -#define xsettings_client_set_ungrab_func _gdk_xsettings_client_set_ungrab_func -#define xsettings_client_process_event _gdk_xsettings_client_process_event -#define xsettings_list_copy _gdk_xsettings_list_copy -#define xsettings_list_delete _gdk_xsettings_list_delete -#define xsettings_list_free _gdk_xsettings_list_free -#define xsettings_list_insert _gdk_xsettings_list_insert -#define xsettings_list_lookup _gdk_xsettings_list_lookup -#define xsettings_setting_copy _gdk_xsettings_setting_copy -#define xsettings_setting_equal _gdk_xsettings_setting_equal -#define xsettings_setting_free _gdk_xsettings_setting_free +#define xsettings_byte_order _gdk_x11_xsettings_byte_order +#define xsettings_client_destroy _gdk_x11_xsettings_client_destroy +#define xsettings_client_get_setting _gdk_x11_xsettings_client_get_setting +#define xsettings_client_new _gdk_x11_xsettings_client_new +#define xsettings_client_new_with_grab_funcs _gdk_x11_xsettings_client_new_with_grab_funcs +#define xsettings_client_set_grab_func _gdk_x11_xsettings_client_set_grab_func +#define xsettings_client_set_ungrab_func _gdk_x11_xsettings_client_set_ungrab_func +#define xsettings_client_process_event _gdk_x11_xsettings_client_process_event +#define xsettings_list_copy _gdk_x11_xsettings_list_copy +#define xsettings_list_delete _gdk_x11_xsettings_list_delete +#define xsettings_list_free _gdk_x11_xsettings_list_free +#define xsettings_list_insert _gdk_x11_xsettings_list_insert +#define xsettings_list_lookup _gdk_x11_xsettings_list_lookup +#define xsettings_setting_copy _gdk_x11_xsettings_setting_copy +#define xsettings_setting_equal _gdk_x11_xsettings_setting_equal +#define xsettings_setting_free _gdk_x11_xsettings_setting_free typedef struct _XSettingsBuffer XSettingsBuffer; From 28b7c6f05dc1b7469745a13d1e5f5c9ba43b8392 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 17:32:29 -0500 Subject: [PATCH 0671/1463] Rename _gdk_event_mask_table to _gdk_x11_event_mask_table --- gdk/gdk.c | 105 ++++++++++++++++++-------------------- gdk/x11/gdkdevice-core.c | 9 ++-- gdk/x11/gdkeventsource.c | 4 +- gdk/x11/gdkgeometry-x11.c | 8 +-- gdk/x11/gdkmain-x11.c | 10 ++-- gdk/x11/gdkprivate-x11.h | 30 +++++------ gdk/x11/gdkwindow-x11.c | 19 +++---- 7 files changed, 91 insertions(+), 94 deletions(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index 7af9134309..c0b5d0ad2f 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -69,9 +69,9 @@ struct _GdkThreadsDispatch /* Private variable declarations */ -static int gdk_initialized = 0; /* 1 if the library is initialized, - * 0 otherwise. - */ +static int gdk_initialized = 0; /* 1 if the library is initialized, + * 0 otherwise. + */ static gchar *gdk_progclass = NULL; @@ -82,37 +82,32 @@ static GCallback gdk_threads_unlock = NULL; #ifdef G_ENABLE_DEBUG static const GDebugKey gdk_debug_keys[] = { - {"events", GDK_DEBUG_EVENTS}, - {"misc", GDK_DEBUG_MISC}, - {"dnd", GDK_DEBUG_DND}, - {"xim", GDK_DEBUG_XIM}, + {"events", GDK_DEBUG_EVENTS}, + {"misc", GDK_DEBUG_MISC}, + {"dnd", GDK_DEBUG_DND}, + {"xim", GDK_DEBUG_XIM}, {"nograbs", GDK_DEBUG_NOGRABS}, - {"colormap", GDK_DEBUG_COLORMAP}, - {"input", GDK_DEBUG_INPUT}, - {"cursor", GDK_DEBUG_CURSOR}, - {"multihead", GDK_DEBUG_MULTIHEAD}, - {"xinerama", GDK_DEBUG_XINERAMA}, - {"draw", GDK_DEBUG_DRAW}, - {"eventloop", GDK_DEBUG_EVENTLOOP} + {"colormap", GDK_DEBUG_COLORMAP}, + {"input", GDK_DEBUG_INPUT}, + {"cursor", GDK_DEBUG_CURSOR}, + {"multihead", GDK_DEBUG_MULTIHEAD}, + {"xinerama", GDK_DEBUG_XINERAMA}, + {"draw", GDK_DEBUG_DRAW}, + {"eventloop", GDK_DEBUG_EVENTLOOP} }; -static const int gdk_ndebug_keys = G_N_ELEMENTS (gdk_debug_keys); - -#endif /* G_ENABLE_DEBUG */ - -#ifdef G_ENABLE_DEBUG static gboolean gdk_arg_debug_cb (const char *key, const char *value, gpointer user_data, GError **error) { guint debug_value = g_parse_debug_string (value, - (GDebugKey *) gdk_debug_keys, - gdk_ndebug_keys); + (GDebugKey *) gdk_debug_keys, + G_N_ELEMENTS (gdk_debug_keys)); if (debug_value == 0 && value != NULL && strcmp (value, "") != 0) { - g_set_error (error, - G_OPTION_ERROR, G_OPTION_ERROR_FAILED, - _("Error parsing option --gdk-debug")); + g_set_error (error, + G_OPTION_ERROR, G_OPTION_ERROR_FAILED, + _("Error parsing option --gdk-debug")); return FALSE; } @@ -125,14 +120,14 @@ static gboolean gdk_arg_no_debug_cb (const char *key, const char *value, gpointer user_data, GError **error) { guint debug_value = g_parse_debug_string (value, - (GDebugKey *) gdk_debug_keys, - gdk_ndebug_keys); + (GDebugKey *) gdk_debug_keys, + G_N_ELEMENTS (gdk_debug_keys)); if (debug_value == 0 && value != NULL && strcmp (value, "") != 0) { - g_set_error (error, - G_OPTION_ERROR, G_OPTION_ERROR_FAILED, - _("Error parsing option --gdk-no-debug")); + g_set_error (error, + G_OPTION_ERROR, G_OPTION_ERROR_FAILED, + _("Error parsing option --gdk-no-debug")); return FALSE; } @@ -210,10 +205,10 @@ gdk_pre_parse_libgtk_only (void) gchar *debug_string = getenv("GDK_DEBUG"); if (debug_string != NULL) _gdk_debug_flags = g_parse_debug_string (debug_string, - (GDebugKey *) gdk_debug_keys, - gdk_ndebug_keys); + (GDebugKey *) gdk_debug_keys, + G_N_ELEMENTS (gdk_debug_keys)); } -#endif /* G_ENABLE_DEBUG */ +#endif /* G_ENABLE_DEBUG */ if (getenv ("GDK_NATIVE_WINDOWS")) { @@ -247,7 +242,7 @@ gdk_pre_parse_libgtk_only (void) **/ void gdk_parse_args (int *argc, - char ***argv) + char ***argv) { GOptionContext *option_context; GOptionGroup *option_group; @@ -527,28 +522,28 @@ gdk_init (int *argc, char ***argv) * say_something = (yes_or_no != data->what); * * if(say_something) - * { - * /* set the variable */ - * yes_or_no = data->what; - * } + * { + * /* set the variable */ + * yes_or_no = data->what; + * } * * /* Unlock the yes_or_no variable */ * G_UNLOCK (yes_or_no); * * if (say_something) - * { - * /* get GTK thread lock */ - * gdk_threads_enter (); + * { + * /* get GTK thread lock */ + * gdk_threads_enter (); * - * /* set label text */ - * if(data->what == YES_IT_IS) - * gtk_label_set_text (GTK_LABEL (data->label), "O yes, it is!"); - * else - * gtk_label_set_text (GTK_LABEL (data->label), "O no, it isn't!"); + * /* set label text */ + * if(data->what == YES_IT_IS) + * gtk_label_set_text (GTK_LABEL (data->label), "O yes, it is!"); + * else + * gtk_label_set_text (GTK_LABEL (data->label), "O no, it isn't!"); * - * /* release GTK thread lock */ - * gdk_threads_leave (); - * } + * /* release GTK thread lock */ + * gdk_threads_leave (); + * } * } * * return NULL; @@ -702,10 +697,10 @@ gdk_threads_init (void) **/ void gdk_threads_set_lock_functions (GCallback enter_fn, - GCallback leave_fn) + GCallback leave_fn) { g_return_if_fail (gdk_threads_lock == NULL && - gdk_threads_unlock == NULL); + gdk_threads_unlock == NULL); gdk_threads_lock = enter_fn; gdk_threads_unlock = leave_fn; @@ -795,9 +790,9 @@ gdk_threads_dispatch_free (gpointer data) */ guint gdk_threads_add_idle_full (gint priority, - GSourceFunc function, - gpointer data, - GDestroyNotify notify) + GSourceFunc function, + gpointer data, + GDestroyNotify notify) { GdkThreadsDispatch *dispatch; @@ -830,7 +825,7 @@ gdk_threads_add_idle_full (gint priority, */ guint gdk_threads_add_idle (GSourceFunc function, - gpointer data) + gpointer data) { return gdk_threads_add_idle_full (G_PRIORITY_DEFAULT_IDLE, function, data, NULL); diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index 7e4613b557..e4b35ddc8d 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -19,6 +19,7 @@ #include "config.h" +#include "glib.h" #include "gdkdevice-core.h" #include "gdkinternals.h" @@ -368,10 +369,10 @@ gdk_device_core_grab (GdkDevice *device, xevent_mask = 0; - for (i = 0; i < _gdk_nenvent_masks; i++) + for (i = 0; i < _gdk_x11_event_mask_table_size; i++) { if (event_mask & (1 << (i + 1))) - xevent_mask |= _gdk_event_mask_table[i]; + xevent_mask |= _gdk_x11_event_mask_table[i]; } /* We don't want to set a native motion hint mask, as we're emulating motion @@ -589,10 +590,10 @@ gdk_device_core_select_window_events (GdkDevice *device, /* Combine masks */ event_mask |= window_mask; - for (i = 0; i < _gdk_nenvent_masks; i++) + for (i = 0; i < _gdk_x11_event_mask_table_size; i++) { if (event_mask & (1 << (i + 1))) - xmask |= _gdk_event_mask_table[i]; + xmask |= _gdk_x11_event_mask_table[i]; } if (GDK_WINDOW_XID (window) != GDK_WINDOW_XROOTWIN (window)) diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index bd05031f02..e501fd27ad 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -406,10 +406,10 @@ gdk_x11_event_source_select_events (GdkEventSource *source, list = list->next; } - for (i = 0; i < _gdk_nenvent_masks; i++) + for (i = 0; i < _gdk_x11_event_mask_table_size; i++) { if (event_mask & (1 << (i + 1))) - xmask |= _gdk_event_mask_table[i]; + xmask |= _gdk_x11_event_mask_table[i]; } XSelectInput (GDK_DISPLAY_XDISPLAY (source->display), window, xmask); diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index 8ad8c24279..1f853f4de3 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -246,10 +246,10 @@ _get_scratch_gc (GdkWindow *window, cairo_region_t *clip_region) &values); } - _gdk_region_get_xrectangles (clip_region, - 0, 0, - &rectangles, - &n_rects); + _gdk_x11_region_get_xrectangles (clip_region, + 0, 0, + &rectangles, + &n_rects); XSetClipRectangles (screen->xdisplay, screen->subwindow_gcs[depth], diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 1bf9db8c52..361a4342b8 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -500,11 +500,11 @@ _gdk_send_xevent (GdkDisplay *display, } void -_gdk_region_get_xrectangles (const cairo_region_t *region, - gint x_offset, - gint y_offset, - XRectangle **rects, - gint *n_rects) +_gdk_x11_region_get_xrectangles (const cairo_region_t *region, + gint x_offset, + gint y_offset, + XRectangle **rects, + gint *n_rects) { XRectangle *rectangles; cairo_rectangle_int_t box; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index d45f38566f..b4dc1d1b01 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -83,11 +83,11 @@ void _gdk_xid_table_remove (GdkDisplay *display, gpointer _gdk_xid_table_lookup (GdkDisplay *display, XID xid); -gint _gdk_send_xevent (GdkDisplay *display, - Window window, - gboolean propagate, - glong event_mask, - XEvent *event_send); +gint _gdk_send_xevent (GdkDisplay *display, + Window window, + gboolean propagate, + glong event_mask, + XEvent *event_send); /* Routines from gdkgeometry-x11.c */ void _gdk_window_move_resize_child (GdkWindow *window, @@ -110,14 +110,14 @@ void _gdk_selection_window_destroyed (GdkWindow *window); gboolean _gdk_selection_filter_clear_event (XSelectionClearEvent *event); cairo_region_t* _gdk_x11_xwindow_get_shape (Display *xdisplay, - Window window, - gint shape_type); + Window window, + gint shape_type); -void _gdk_region_get_xrectangles (const cairo_region_t *region, - gint x_offset, - gint y_offset, - XRectangle **rects, - gint *n_rects); +void _gdk_x11_region_get_xrectangles (const cairo_region_t *region, + gint x_offset, + gint y_offset, + XRectangle **rects, + gint *n_rects); gboolean _gdk_moveresize_handle_event (XEvent *event); gboolean _gdk_moveresize_configure_done (GdkDisplay *display, @@ -209,9 +209,9 @@ cairo_surface_t * _gdk_x11_window_create_bitmap_surface (GdkWindow *window, int height); extern gboolean _gdk_use_xshm; -extern const int _gdk_nenvent_masks; -extern const int _gdk_event_mask_table[]; -extern GdkAtom _gdk_selection_property; +extern const gint _gdk_x11_event_mask_table[]; +extern const gint _gdk_x11_event_mask_table_size; +extern GdkAtom _gdk_selection_property; extern gboolean _gdk_synchronize; #define GDK_SCREEN_DISPLAY(screen) (GDK_SCREEN_X11 (screen)->display) diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 7fcc44afd3..3250cbc34f 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -72,7 +72,7 @@ #include #endif -const int _gdk_event_mask_table[21] = +const int _gdk_x11_event_mask_table[21] = { ExposureMask, PointerMotionMask, @@ -91,12 +91,13 @@ const int _gdk_event_mask_table[21] = StructureNotifyMask, PropertyChangeMask, VisibilityChangeMask, - 0, /* PROXIMITY_IN */ - 0, /* PROXIMTY_OUT */ + 0, /* PROXIMITY_IN */ + 0, /* PROXIMTY_OUT */ SubstructureNotifyMask, ButtonPressMask /* SCROLL; on X mouse wheel events is treated as mouse button 4/5 */ }; -const int _gdk_nenvent_masks = sizeof (_gdk_event_mask_table) / sizeof (int); + +const gint _gdk_x11_event_mask_table_size = G_N_ELEMENTS (_gdk_x11_event_mask_table); /* Forward declarations */ static void gdk_window_set_static_win_gravity (GdkWindow *window, @@ -838,9 +839,9 @@ x_event_mask_to_gdk_event_mask (long mask) GdkEventMask event_mask = 0; int i; - for (i = 0; i < _gdk_nenvent_masks; i++) + for (i = 0; i < _gdk_x11_event_mask_table_size; i++) { - if (mask & _gdk_event_mask_table[i]) + if (mask & _gdk_x11_event_mask_table[i]) event_mask |= 1 << (i + 1); } @@ -2883,9 +2884,9 @@ do_shape_combine_region (GdkWindow *window, gint n_rects = 0; XRectangle *xrects = NULL; - _gdk_region_get_xrectangles (shape_region, - 0, 0, - &xrects, &n_rects); + _gdk_x11_region_get_xrectangles (shape_region, + 0, 0, + &xrects, &n_rects); if (shape == ShapeBounding) { From 566abbad250f36926105604eaab7d770567ce0fe Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 17:38:48 -0500 Subject: [PATCH 0672/1463] Rename _gdk_send_xevent to _gdk_x11_display_send_xevent --- gdk/x11/gdkdisplay-x11.c | 2 +- gdk/x11/gdkdnd-x11.c | 66 +++++++++++++++++++------------------- gdk/x11/gdkmain-x11.c | 35 ++++++-------------- gdk/x11/gdkprivate-x11.h | 10 +++--- gdk/x11/gdkscreen-x11.c | 2 +- gdk/x11/gdkselection-x11.c | 2 +- 6 files changed, 51 insertions(+), 66 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index a3fefb992d..40bf45a225 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2322,7 +2322,7 @@ gdk_x11_display_send_client_message (GdkDisplay *display, memcpy(&sev.xclient.data, &event->client.data, sizeof (sev.xclient.data)); sev.xclient.message_type = gdk_x11_atom_to_xatom_for_display (display, event->client.message_type); - return _gdk_send_xevent (display, winid, False, NoEventMask, &sev); + return _gdk_x11_display_send_xevent (display, winid, False, NoEventMask, &sev); } static void diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index b321f3224c..50a1cb75f5 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -1449,12 +1449,12 @@ motif_send_enter (GdkDragContextX11 *context_x11, MOTIF_XCLIENT_LONG (&xev, 3) = context_x11->motif_selection; MOTIF_XCLIENT_LONG (&xev, 4) = 0; - if (!_gdk_send_xevent (display, - GDK_WINDOW_XID (context->dest_window), - FALSE, 0, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + if (!_gdk_x11_display_send_xevent (display, + GDK_WINDOW_XID (context->dest_window), + FALSE, 0, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); } static void @@ -1478,12 +1478,12 @@ motif_send_leave (GdkDragContextX11 *context_x11, MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; - if (!_gdk_send_xevent (display, - GDK_WINDOW_XID (context->dest_window), - FALSE, 0, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + if (!_gdk_x11_display_send_xevent (display, + GDK_WINDOW_XID (context->dest_window), + FALSE, 0, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); } static gboolean @@ -1528,12 +1528,12 @@ motif_send_motion (GdkDragContextX11 *context_x11, retval = FALSE; } - if (!_gdk_send_xevent (display, - GDK_WINDOW_XID (context->dest_window), - FALSE, 0, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + if (!_gdk_x11_display_send_xevent (display, + GDK_WINDOW_XID (context->dest_window), + FALSE, 0, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); return retval; } @@ -1562,12 +1562,12 @@ motif_send_drop (GdkDragContextX11 *context_x11, MOTIF_XCLIENT_LONG (&xev, 3) = context_x11->motif_selection; MOTIF_XCLIENT_LONG (&xev, 4) = GDK_WINDOW_XID (context->source_window); - if (!_gdk_send_xevent (display, - GDK_WINDOW_XID (context->dest_window), - FALSE, 0, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + if (!_gdk_x11_display_send_xevent (display, + GDK_WINDOW_XID (context->dest_window), + FALSE, 0, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); } /* Target Side */ @@ -3613,12 +3613,12 @@ gdk_drag_context_x11_drag_status (GdkDragContext *context, MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; - if (!_gdk_send_xevent (display, - GDK_WINDOW_XID (context->source_window), - FALSE, 0, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->source_window))); + if (!_gdk_x11_display_send_xevent (display, + GDK_WINDOW_XID (context->source_window), + FALSE, 0, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->source_window))); } else if (context->protocol == GDK_DRAG_PROTO_XDND) { @@ -3676,9 +3676,9 @@ gdk_drag_context_x11_drop_reply (GdkDragContext *context, MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; - _gdk_send_xevent (display, - GDK_WINDOW_XID (context->source_window), - FALSE, 0, &xev); + _gdk_x11_display_send_xevent (display, + GDK_WINDOW_XID (context->source_window), + FALSE, 0, &xev); } } diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 361a4342b8..9fe8700526 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -461,27 +461,12 @@ gdk_error_trap_pop (void) return gdk_error_trap_pop_internal (TRUE); } -/** - * _gdk_send_xevent: - * @display: #GdkDisplay which @window is on - * @window: window ID to which to send the event - * @propagate: %TRUE if the event should be propagated if the target window - * doesn't handle it. - * @event_mask: event mask to match against, or 0 to send it to @window - * without regard to event masks. - * @event_send: #XEvent to send - * - * Send an event, like XSendEvent(), but trap errors and check - * the result. - * - * Return value: %TRUE if sending the event succeeded. - **/ -gint -_gdk_send_xevent (GdkDisplay *display, - Window window, - gboolean propagate, - glong event_mask, - XEvent *event_send) +gint +_gdk_x11_display_send_xevent (GdkDisplay *display, + Window window, + gboolean propagate, + glong event_mask, + XEvent *event_send) { gboolean result; @@ -489,13 +474,13 @@ _gdk_send_xevent (GdkDisplay *display, return FALSE; gdk_x11_display_error_trap_push (display); - result = XSendEvent (GDK_DISPLAY_XDISPLAY (display), window, - propagate, event_mask, event_send); + result = XSendEvent (GDK_DISPLAY_XDISPLAY (display), window, + propagate, event_mask, event_send); XSync (GDK_DISPLAY_XDISPLAY (display), False); - + if (gdk_x11_display_error_trap_pop (display)) return FALSE; - + return result; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index b4dc1d1b01..859420a3f4 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -83,11 +83,11 @@ void _gdk_xid_table_remove (GdkDisplay *display, gpointer _gdk_xid_table_lookup (GdkDisplay *display, XID xid); -gint _gdk_send_xevent (GdkDisplay *display, - Window window, - gboolean propagate, - glong event_mask, - XEvent *event_send); +gint _gdk_x11_display_send_xevent (GdkDisplay *display, + Window window, + gboolean propagate, + glong event_mask, + XEvent *event_send); /* Routines from gdkgeometry-x11.c */ void _gdk_window_move_resize_child (GdkWindow *window, diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 1cc7fc5375..e703b952cb 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -1135,7 +1135,7 @@ gdk_event_send_client_message_to_all_recurse (GdkDisplay *display, if (send || (!found && (level == 1))) { xev->xclient.window = xid; - _gdk_send_xevent (display, xid, False, NoEventMask, xev); + _gdk_x11_display_send_xevent (display, xid, False, NoEventMask, xev); } result = send || found; diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 49cdf3a018..e90f522b57 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -415,7 +415,7 @@ gdk_selection_send_notify_for_display (GdkDisplay *display, xevent.property = gdk_x11_atom_to_xatom_for_display (display, property); xevent.time = time; - _gdk_send_xevent (display, requestor, False, NoEventMask, (XEvent*) & xevent); + _gdk_x11_display_send_xevent (display, requestor, False, NoEventMask, (XEvent*) & xevent); } /** From e11bbbf194798a716be9b70a23dd2f02ecdb0dca Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 17:45:05 -0500 Subject: [PATCH 0673/1463] Rename _gdk_xgrab_ apis to _gdk_x11_window_ --- gdk/x11/gdkdisplay-x11.c | 14 +++++++------- gdk/x11/gdkmain-x11.c | 16 ++++++++-------- gdk/x11/gdkprivate-x11.h | 8 ++++---- gdk/x11/gdkwindow-x11.c | 20 ++++++++++---------- 4 files changed, 29 insertions(+), 29 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 40bf45a225..21cbb32316 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -613,14 +613,14 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, * will have already flipped the iconified bit off. */ if (window) - { - if (GDK_WINDOW_IS_MAPPED (window)) - gdk_synthesize_window_state (window, - 0, - GDK_WINDOW_STATE_ICONIFIED); + { + if (GDK_WINDOW_IS_MAPPED (window)) + gdk_synthesize_window_state (window, + 0, + GDK_WINDOW_STATE_ICONIFIED); - _gdk_xgrab_check_unmap (window, xevent->xany.serial); - } + _gdk_x11_window_grab_check_unmap (window, xevent->xany.serial); + } break; diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 9fe8700526..42be400cde 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -128,19 +128,19 @@ _gdk_x11_convert_grab_status (gint status) return 0; } -/** - * _gdk_xgrab_check_unmap: +/* + * _gdk_x11_window_grab_check_unmap: * @window: a #GdkWindow * @serial: serial from Unmap event (or from NextRequest(display) * if the unmap is being done by this client.) - * + * * Checks to see if an unmap request or event causes the current * grab window to become not viewable, and if so, clear the * the pointer we keep to it. **/ void -_gdk_xgrab_check_unmap (GdkWindow *window, - gulong serial) +_gdk_x11_window_grab_check_unmap (GdkWindow *window, + gulong serial) { GdkDisplay *display = gdk_window_get_display (window); GdkDeviceManager *device_manager; @@ -160,15 +160,15 @@ _gdk_xgrab_check_unmap (GdkWindow *window, g_list_free (devices); } -/** - * _gdk_xgrab_check_destroy: +/* + * _gdk_x11_window_grab_check_destroy: * @window: a #GdkWindow * * Checks to see if window is the current grab window, and if * so, clear the current grab window. **/ void -_gdk_xgrab_check_destroy (GdkWindow *window) +_gdk_x11_window_grab_check_destroy (GdkWindow *window) { GdkDisplay *display = gdk_window_get_display (window); GdkDeviceManager *device_manager; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 859420a3f4..d481f58cbc 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -136,12 +136,12 @@ gboolean _gdk_keymap_key_is_modifier (GdkKeymap *keymap, void _gdk_x11_initialize_locale (void); void _gdk_x11_windowing_init (void); -void _gdk_xgrab_check_unmap (GdkWindow *window, - gulong serial); -void _gdk_xgrab_check_destroy (GdkWindow *window); +void _gdk_x11_window_grab_check_unmap (GdkWindow *window, + gulong serial); +void _gdk_x11_window_grab_check_destroy (GdkWindow *window); gboolean _gdk_x11_display_is_root_window (GdkDisplay *display, - Window xroot_window); + Window xroot_window); GdkDisplay * _gdk_x11_display_open (const gchar *display_name); void _gdk_x11_display_make_default (GdkDisplay *display); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 3250cbc34f..6f7ef13532 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -232,22 +232,22 @@ gdk_window_impl_x11_finalize (GObject *object) { GdkWindow *wrapper; GdkWindowImplX11 *impl; - + g_return_if_fail (GDK_IS_WINDOW_IMPL_X11 (object)); impl = GDK_WINDOW_IMPL_X11 (object); - + wrapper = impl->wrapper; - _gdk_xgrab_check_destroy (wrapper); + _gdk_x11_window_grab_check_destroy (wrapper); if (!GDK_WINDOW_DESTROYED (wrapper)) { GdkDisplay *display = GDK_WINDOW_DISPLAY (wrapper); - + _gdk_xid_table_remove (display, impl->xid); if (impl->toplevel && impl->toplevel->focus_window) - _gdk_xid_table_remove (display, impl->toplevel->focus_window); + _gdk_xid_table_remove (display, impl->toplevel->focus_window); } g_free (impl->toplevel); @@ -1092,13 +1092,13 @@ gdk_x11_window_destroy_notify (GdkWindow *window) _gdk_window_destroy (window, TRUE); } - + _gdk_xid_table_remove (GDK_WINDOW_DISPLAY (window), GDK_WINDOW_XID (window)); if (window_impl->toplevel && window_impl->toplevel->focus_window) _gdk_xid_table_remove (GDK_WINDOW_DISPLAY (window), window_impl->toplevel->focus_window); - _gdk_xgrab_check_destroy (window); - + _gdk_x11_window_grab_check_destroy (window); + g_object_unref (window); } @@ -1369,8 +1369,8 @@ gdk_window_x11_hide (GdkWindow *window) * but checking here makes things more consistent if we are * just doing stuff ourself. */ - _gdk_xgrab_check_unmap (window, - NextRequest (GDK_WINDOW_XDISPLAY (window))); + _gdk_x11_window_grab_check_unmap (window, + NextRequest (GDK_WINDOW_XDISPLAY (window))); /* You can't simply unmap toplevel windows. */ switch (window->window_type) From 19cf9309a553dd65f530f92b7abb14aa2e4199d7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 17:48:13 -0500 Subject: [PATCH 0674/1463] Drop gdkx_visual_get The function is badly named, not multihead-safe, basically unused, and has a better replacement with gdk_x11_screen_lookup_visual. --- gdk/x11/gdkvisual-x11.c | 14 -------------- gdk/x11/gdkx.h | 5 +---- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 2624c69448..5acff4ec85 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -486,20 +486,6 @@ gdk_x11_screen_lookup_visual (GdkScreen *screen, return NULL; } -/** - * gdkx_visual_get: - * @xvisualid: a X visual id. - * - * Returns a #GdkVisual corresponding to a X visual. - * - * Return value: the #GdkVisual. - **/ -GdkVisual* -gdkx_visual_get (VisualID xvisualid) -{ - return gdk_x11_screen_lookup_visual (gdk_screen_get_default (), xvisualid); -} - static void gdk_visual_add (GdkVisual *visual) { diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index e3e8bca51b..f9b21c3a73 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -180,10 +180,7 @@ gint gdk_x11_get_default_screen (void); #define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, - VisualID xvisualid); -#ifndef GDK_MULTIHEAD_SAFE -GdkVisual* gdkx_visual_get (VisualID xvisualid); -#endif + VisualID xvisualid); guint32 gdk_x11_get_server_time (GdkWindow *window); guint32 gdk_x11_display_get_user_time (GdkDisplay *display); From 185cdddb0d725891cd016acb1f5b847b2a9294df Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 17:55:04 -0500 Subject: [PATCH 0675/1463] Rename _gdk_moveresize functions to _gdk_x11_moveresize --- gdk/x11/gdkdevicemanager-core.c | 4 +-- gdk/x11/gdkdevicemanager-xi2.c | 2 +- gdk/x11/gdkdisplay-x11.c | 14 ++++---- gdk/x11/gdkprivate-x11.h | 6 ++-- gdk/x11/gdkwindow-x11.c | 60 ++++++++++++++++----------------- 5 files changed, 43 insertions(+), 43 deletions(-) diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index b368614f26..32d58426f2 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -452,8 +452,8 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, (xevent->type == MotionNotify || xevent->type == ButtonRelease)) { - if (_gdk_moveresize_handle_event (xevent)) - { + if (_gdk_x11_moveresize_handle_event (xevent)) + { return_val = FALSE; goto done; } diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 177926a7a5..07f1245527 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -974,7 +974,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, if (ev->evtype == XI_Motion || ev->evtype == XI_ButtonRelease) { - if (_gdk_moveresize_handle_event (xevent)) + if (_gdk_x11_moveresize_handle_event (xevent)) { XFreeEventData (dpy, cookie); return FALSE; diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 21cbb32316..d5cb0b6eda 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -735,14 +735,14 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, _gdk_window_update_size (window); _gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl)); - if (window->resize_count >= 1) - { - window->resize_count -= 1; + if (window->resize_count >= 1) + { + window->resize_count -= 1; - if (window->resize_count == 0) - _gdk_moveresize_configure_done (display, window); - } - } + if (window->resize_count == 0) + _gdk_x11_moveresize_configure_done (display, window); + } + } break; case PropertyNotify: diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index d481f58cbc..70c91a1024 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -119,9 +119,9 @@ void _gdk_x11_region_get_xrectangles (const cairo_region_t *region, XRectangle **rects, gint *n_rects); -gboolean _gdk_moveresize_handle_event (XEvent *event); -gboolean _gdk_moveresize_configure_done (GdkDisplay *display, - GdkWindow *window); +gboolean _gdk_x11_moveresize_handle_event (XEvent *event); +gboolean _gdk_x11_moveresize_configure_done (GdkDisplay *display, + GdkWindow *window); void _gdk_keymap_state_changed (GdkDisplay *display, XEvent *event); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 6f7ef13532..3a3c34e0e1 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4150,22 +4150,22 @@ moveresize_lookahead (MoveResizeData *mv_resize, if (mv_resize->moveresize_process_time) { if (event->xmotion.time == mv_resize->moveresize_process_time) - { - mv_resize->moveresize_process_time = 0; - return TRUE; - } + { + mv_resize->moveresize_process_time = 0; + return TRUE; + } else - return FALSE; + return FALSE; } XCheckIfEvent (event->xany.display, &tmp_event, - lookahead_motion_predicate, (XPointer) & seen_release); + lookahead_motion_predicate, (XPointer) & seen_release); return mv_resize->moveresize_process_time == 0; } - + gboolean -_gdk_moveresize_handle_event (XEvent *event) +_gdk_x11_moveresize_handle_event (XEvent *event) { guint button_mask = 0; GdkDisplay *display = gdk_x11_lookup_xdisplay (event->xany.display); @@ -4180,21 +4180,21 @@ _gdk_moveresize_handle_event (XEvent *event) { case MotionNotify: if (mv_resize->moveresize_window->resize_count > 0) - { - if (mv_resize->moveresize_pending_event) - *mv_resize->moveresize_pending_event = *event; - else - mv_resize->moveresize_pending_event = - g_memdup (event, sizeof (XEvent)); + { + if (mv_resize->moveresize_pending_event) + *mv_resize->moveresize_pending_event = *event; + else + mv_resize->moveresize_pending_event = + g_memdup (event, sizeof (XEvent)); - break; - } + break; + } if (!moveresize_lookahead (mv_resize, event)) - break; + break; update_pos (mv_resize, - event->xmotion.x_root, - event->xmotion.y_root); + event->xmotion.x_root, + event->xmotion.y_root); /* This should never be triggered in normal cases, but in the * case where the drag started without an implicit grab being @@ -4203,28 +4203,28 @@ _gdk_moveresize_handle_event (XEvent *event) * get a permanently stuck grab. */ if ((event->xmotion.state & button_mask) == 0) - finish_drag (mv_resize); + finish_drag (mv_resize); break; case ButtonRelease: update_pos (mv_resize, - event->xbutton.x_root, - event->xbutton.y_root); + event->xbutton.x_root, + event->xbutton.y_root); if (event->xbutton.button == mv_resize->moveresize_button) - finish_drag (mv_resize); + finish_drag (mv_resize); break; } return TRUE; } -gboolean -_gdk_moveresize_configure_done (GdkDisplay *display, - GdkWindow *window) +gboolean +_gdk_x11_moveresize_configure_done (GdkDisplay *display, + GdkWindow *window) { XEvent *tmp_event; MoveResizeData *mv_resize = get_move_resize_data (display, FALSE); - + if (!mv_resize || window != mv_resize->moveresize_window) return FALSE; @@ -4232,16 +4232,16 @@ _gdk_moveresize_configure_done (GdkDisplay *display, { tmp_event = mv_resize->moveresize_pending_event; mv_resize->moveresize_pending_event = NULL; - _gdk_moveresize_handle_event (tmp_event); + _gdk_x11_moveresize_handle_event (tmp_event); g_free (tmp_event); } - + return TRUE; } static void create_moveresize_window (MoveResizeData *mv_resize, - guint32 timestamp) + guint32 timestamp) { GdkWindowAttr attributes; gint attributes_mask; From d5803fa9b2267447b6070c46c186d7bd1cbb66a4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 18:42:38 -0500 Subject: [PATCH 0676/1463] Get rid of the _gdk_selection_property global --- gdk/x11/gdkdisplay-x11.c | 7 ++++--- gdk/x11/gdkglobals-x11.c | 1 - gdk/x11/gdkmain-x11.c | 2 -- gdk/x11/gdkselection-x11.c | 18 +++++++++--------- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index d5cb0b6eda..7db72d8be4 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -154,7 +154,8 @@ static const char *const precache_atoms[] = { "_NET_WM_WINDOW_TYPE", "_NET_WM_WINDOW_TYPE_NORMAL", "_NET_WM_USER_TIME", - "_NET_VIRTUAL_ROOTS" + "_NET_VIRTUAL_ROOTS", + "GDK_SELECTION" }; static char *gdk_sm_client_id; @@ -2153,8 +2154,8 @@ gdk_x11_display_store_clipboard (GdkDisplay *display, int i; if (n_targets > 0) - { - property_name = gdk_x11_atom_to_xatom_for_display (display, _gdk_selection_property); + { + property_name = gdk_x11_get_xatom_by_name_for_display (display, "GDK_SELECTION"); xatoms = g_new (Atom, n_targets); for (i = 0; i < n_targets; i++) diff --git a/gdk/x11/gdkglobals-x11.c b/gdk/x11/gdkglobals-x11.c index de616092f0..d9e900e635 100644 --- a/gdk/x11/gdkglobals-x11.c +++ b/gdk/x11/gdkglobals-x11.c @@ -33,5 +33,4 @@ gboolean _gdk_use_xshm = TRUE; /* used as a cmd line arg */ -GdkAtom _gdk_selection_property; gboolean _gdk_synchronize = FALSE; diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 42be400cde..2ab62764ea 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -102,8 +102,6 @@ _gdk_x11_windowing_init (void) g_queue_init (&gdk_error_traps); XSetErrorHandler (gdk_x_error); XSetIOErrorHandler (gdk_x_io_error); - - _gdk_selection_property = gdk_atom_intern_static_string ("GDK_SELECTION"); } GdkGrabStatus diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index e90f522b57..6ce9ee1384 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -241,10 +241,10 @@ gdk_selection_convert (GdkWindow *requestor, display = GDK_WINDOW_DISPLAY (requestor); XConvertSelection (GDK_WINDOW_XDISPLAY (requestor), - gdk_x11_atom_to_xatom_for_display (display, selection), - gdk_x11_atom_to_xatom_for_display (display, target), - gdk_x11_atom_to_xatom_for_display (display, _gdk_selection_property), - GDK_WINDOW_XID (requestor), time); + gdk_x11_atom_to_xatom_for_display (display, selection), + gdk_x11_atom_to_xatom_for_display (display, target), + gdk_x11_get_xatom_by_name_for_display (display, "GDK_SELECTION"), + GDK_WINDOW_XID (requestor), time); } /** @@ -297,11 +297,11 @@ gdk_selection_property_get (GdkWindow *requestor, notified of PropertyChange events _before_ the property is deleted. Otherwise there's no guarantee we'll win the race ... */ if (XGetWindowProperty (GDK_WINDOW_XDISPLAY (requestor), - GDK_WINDOW_XID (requestor), - gdk_x11_atom_to_xatom_for_display (display, _gdk_selection_property), - 0, 0x1FFFFFFF /* MAXINT32 / 4 */, False, - AnyPropertyType, &prop_type, &prop_format, - &nitems, &nbytes, &t) != Success) + GDK_WINDOW_XID (requestor), + gdk_x11_get_xatom_by_name_for_display (display, "GDK_SELECTION"), + 0, 0x1FFFFFFF /* MAXINT32 / 4 */, False, + AnyPropertyType, &prop_type, &prop_format, + &nitems, &nbytes, &t) != Success) goto err; if (prop_type != None) From 126212b470552b230e000bd8ad5207f73da30026 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 19:07:36 -0500 Subject: [PATCH 0677/1463] Add a vfunc for _gdk_window_impl_new --- gdk/gdkdisplay.c | 18 ++++++++ gdk/gdkdisplayprivate.h | 15 ++++++ gdk/gdkwindow.c | 15 ++++-- gdk/x11/gdkdisplay-x11.c | 1 + gdk/x11/gdkprivate-x11.h | 7 +++ gdk/x11/gdkwindow-x11.c | 99 ++++++++++++++++++++-------------------- 6 files changed, 101 insertions(+), 54 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 1dc331e0ed..bacefc9359 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2517,3 +2517,21 @@ _gdk_display_event_data_free (GdkDisplay *display, { GDK_DISPLAY_GET_CLASS (display)->event_data_free (display, event); } + +void +_gdk_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask) +{ + GDK_DISPLAY_GET_CLASS (display)->create_window_impl (display, + window, + real_parent, + screen, + event_mask, + attributes, + attributes_mask); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 92398121f2..4b1530243d 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -21,6 +21,7 @@ #define __GDK_DISPLAY_PRIVATE_H__ #include "gdkdisplay.h" +#include "gdkwindow.h" #include "gdkcursor.h" G_BEGIN_DECLS @@ -182,6 +183,13 @@ struct _GdkDisplayClass GdkEvent *new_event); void (*event_data_free) (GdkDisplay *display, GdkEvent *event); + void (*create_window_impl) (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask); /* Signals */ void (*closed) (GdkDisplay *display, @@ -234,6 +242,13 @@ void _gdk_display_event_data_copy (GdkDisplay *display GdkEvent *new_event); void _gdk_display_event_data_free (GdkDisplay *display, GdkEvent *event); +void _gdk_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask); G_END_DECLS diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index d0deb91f1a..1a21b58e92 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1276,6 +1276,7 @@ gdk_window_new (GdkWindow *parent, { GdkWindow *window; GdkScreen *screen; + GdkDisplay *display; int x, y; gboolean native; GdkEventMask event_mask; @@ -1425,10 +1426,11 @@ gdk_window_new (GdkWindow *parent, } else if (native) { + display = gdk_screen_get_display (screen); event_mask = get_native_event_mask (window); /* Create the impl */ - _gdk_window_impl_new (window, real_parent, screen, event_mask, attributes, attributes_mask); + _gdk_display_create_window_impl (display, window, real_parent, screen, event_mask, attributes, attributes_mask); window->impl_window = window; /* This will put the native window topmost in the native parent, which may @@ -1720,6 +1722,7 @@ gdk_window_ensure_native (GdkWindow *window) { GdkWindow *impl_window; GdkWindowImpl *new_impl, *old_impl; + GdkDisplay *display; GdkScreen *screen; GdkWindow *above; GList listhead; @@ -1745,12 +1748,14 @@ gdk_window_ensure_native (GdkWindow *window) gdk_window_drop_cairo_surface (window); screen = gdk_window_get_screen (window); + display = gdk_screen_get_display (screen); old_impl = window->impl; - _gdk_window_impl_new (window, window->parent, - screen, - get_native_event_mask (window), - NULL, 0); + _gdk_display_create_window_impl (display, + window, window->parent, + screen, + get_native_event_mask (window), + NULL, 0); new_impl = window->impl; window->impl = old_impl; diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 7db72d8be4..04475a2144 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2726,5 +2726,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->notify_startup_complete = gdk_x11_display_notify_startup_complete; display_class->event_data_copy = gdk_x11_display_event_data_copy; display_class->event_data_free = gdk_x11_display_event_data_free; + display_class->create_window_impl = _gdk_x11_display_create_window_impl; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 70c91a1024..e28d5a8a63 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -180,6 +180,13 @@ void _gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display, guint *height); void _gdk_x11_display_before_process_all_updates (GdkDisplay *display); void _gdk_x11_display_after_process_all_updates (GdkDisplay *display); +void _gdk_x11_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask); void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 3a3c34e0e1..d0f8f039a2 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -677,17 +677,18 @@ setup_toplevel_window (GdkWindow *window, } void -_gdk_window_impl_new (GdkWindow *window, - GdkWindow *real_parent, - GdkScreen *screen, - GdkEventMask event_mask, - GdkWindowAttr *attributes, - gint attributes_mask) +_gdk_x11_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask) { GdkWindowImplX11 *impl; GdkScreenX11 *screen_x11; GdkDisplayX11 *display_x11; - + Window xparent; Visual *xvisual; Display *xdisplay; @@ -695,53 +696,53 @@ _gdk_window_impl_new (GdkWindow *window, XSetWindowAttributes xattributes; long xattributes_mask; XClassHint *class_hint; - + unsigned int class; const char *title; - - screen_x11 = GDK_SCREEN_X11 (screen); + + display_x11 = GDK_DISPLAY_X11 (display); xparent = GDK_WINDOW_XID (real_parent); - display_x11 = GDK_DISPLAY_X11 (GDK_SCREEN_DISPLAY (screen)); - + screen_x11 = GDK_SCREEN_X11 (screen); + impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); window->impl = GDK_WINDOW_IMPL (impl); impl->wrapper = GDK_WINDOW (window); - + xdisplay = screen_x11->xdisplay; xattributes_mask = 0; xvisual = gdk_x11_visual_get_xvisual (window->visual); - + if (attributes_mask & GDK_WA_NOREDIR) { xattributes.override_redirect = - (attributes->override_redirect == FALSE)?False:True; + (attributes->override_redirect == FALSE)?False:True; xattributes_mask |= CWOverrideRedirect; - } + } else xattributes.override_redirect = False; impl->override_redirect = xattributes.override_redirect; - + if (window->parent && window->parent->guffaw_gravity) { xattributes.win_gravity = StaticGravity; xattributes_mask |= CWWinGravity; } - + /* Sanity checks */ switch (window->window_type) { case GDK_WINDOW_TOPLEVEL: case GDK_WINDOW_TEMP: if (GDK_WINDOW_TYPE (window->parent) != GDK_WINDOW_ROOT) - { - /* The common code warns for this case */ - xparent = GDK_SCREEN_XROOTWIN (screen); - } + { + /* The common code warns for this case */ + xparent = GDK_SCREEN_XROOTWIN (screen); + } } - + if (!window->input_only) { class = InputOutput; @@ -752,24 +753,24 @@ _gdk_window_impl_new (GdkWindow *window, xattributes_mask |= CWBorderPixel | CWBackPixel; if (window->guffaw_gravity) - xattributes.bit_gravity = StaticGravity; + xattributes.bit_gravity = StaticGravity; else - xattributes.bit_gravity = NorthWestGravity; - + xattributes.bit_gravity = NorthWestGravity; + xattributes_mask |= CWBitGravity; xattributes.colormap = _gdk_visual_get_x11_colormap (window->visual); xattributes_mask |= CWColormap; if (window->window_type == GDK_WINDOW_TEMP) - { - xattributes.save_under = True; - xattributes.override_redirect = True; - xattributes.cursor = None; - xattributes_mask |= CWSaveUnder | CWOverrideRedirect; + { + xattributes.save_under = True; + xattributes.override_redirect = True; + xattributes.cursor = None; + xattributes_mask |= CWSaveUnder | CWOverrideRedirect; - impl->override_redirect = TRUE; - } + impl->override_redirect = TRUE; + } } else { @@ -780,13 +781,13 @@ _gdk_window_impl_new (GdkWindow *window, window->height > 65535) { g_warning ("Native Windows wider or taller than 65535 pixels are not supported"); - + if (window->width > 65535) - window->width = 65535; + window->width = 65535; if (window->height > 65535) - window->height = 65535; + window->height = 65535; } - + impl->xid = XCreateWindow (xdisplay, xparent, window->x + window->parent->abs_x, window->y + window->parent->abs_y, @@ -802,21 +803,21 @@ _gdk_window_impl_new (GdkWindow *window, case GDK_WINDOW_TOPLEVEL: case GDK_WINDOW_TEMP: if (attributes_mask & GDK_WA_TITLE) - title = attributes->title; + title = attributes->title; else - title = get_default_title (); - + title = get_default_title (); + gdk_window_set_title (window, title); - + if (attributes_mask & GDK_WA_WMCLASS) - { - class_hint = XAllocClassHint (); - class_hint->res_name = attributes->wmclass_name; - class_hint->res_class = attributes->wmclass_class; - XSetClassHint (xdisplay, impl->xid, class_hint); - XFree (class_hint); - } - + { + class_hint = XAllocClassHint (); + class_hint->res_name = attributes->wmclass_name; + class_hint->res_class = attributes->wmclass_class; + XSetClassHint (xdisplay, impl->xid, class_hint); + XFree (class_hint); + } + setup_toplevel_window (window, window->parent); break; From 32e3dcfb47e00b3f1be5fe43e1f8e55c0b4619ff Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 20:56:32 -0500 Subject: [PATCH 0678/1463] drop dead function --- gdk/gdkinternals.h | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gdk/gdkinternals.h b/gdk/gdkinternals.h index 3e01953bf5..e7baa04a68 100644 --- a/gdk/gdkinternals.h +++ b/gdk/gdkinternals.h @@ -293,12 +293,6 @@ gboolean _gdk_cairo_surface_extents (cairo_surface_t *surface, cairo_surface_t * _gdk_window_ref_cairo_surface (GdkWindow *window); -void _gdk_window_impl_new (GdkWindow *window, - GdkWindow *real_parent, - GdkScreen *screen, - GdkEventMask event_mask, - GdkWindowAttr *attributes, - gint attributes_mask); void _gdk_window_destroy (GdkWindow *window, gboolean foreign_destroy); void _gdk_window_clear_update_area (GdkWindow *window); From 214342eac5cadff54002537f9e624b8b1acfe0c8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 22:09:35 -0500 Subject: [PATCH 0679/1463] Clean up gdkx.h a bit Moving the direct-access redefinitions of various macros to gdkprivate-x11.h and use that header throughout in x11/. Also remove a workaround for a long-fixed X server bug. --- gdk/gdkwindow.c | 21 +----- gdk/x11/gdkapplaunchcontext-x11.c | 3 +- gdk/x11/gdkasync.c | 2 +- gdk/x11/gdkcursor-x11.c | 2 - gdk/x11/gdkdevice-core.c | 2 - gdk/x11/gdkdevice-xi.c | 3 +- gdk/x11/gdkdevice-xi2.c | 2 +- gdk/x11/gdkdevicemanager-core.c | 4 +- gdk/x11/gdkdevicemanager-x11.c | 3 +- gdk/x11/gdkdevicemanager-xi.c | 2 +- gdk/x11/gdkdevicemanager-xi2.c | 3 +- gdk/x11/gdkdisplay-x11.c | 7 +- gdk/x11/gdkdnd-x11.c | 3 +- gdk/x11/gdkeventsource.c | 3 +- gdk/x11/gdkeventsource.h | 1 - gdk/x11/gdkeventtranslator.h | 7 +- gdk/x11/gdkgeometry-x11.c | 3 +- gdk/x11/gdkim-x11.c | 2 +- gdk/x11/gdkkeys-x11.c | 1 - gdk/x11/gdkmain-x11.c | 7 +- gdk/x11/gdkprivate-x11.h | 55 +++++++++------ gdk/x11/gdkproperty-x11.c | 5 +- gdk/x11/gdkscreen-x11.c | 5 +- gdk/x11/gdkscreen-x11.h | 1 - gdk/x11/gdkselection-x11.c | 2 - gdk/x11/gdktestutils-x11.c | 6 +- gdk/x11/gdkvisual-x11.c | 2 - gdk/x11/gdkwindow-x11.c | 9 ++- gdk/x11/gdkx.h | 107 +++++++++++++----------------- gdk/x11/gdkxftdefaults.c | 7 +- gdk/x11/gdkxid.c | 1 - 31 files changed, 118 insertions(+), 163 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 1a21b58e92..b0b1fc0aeb 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -31,18 +31,14 @@ #include "gdkwindow.h" -#ifdef GDK_WINDOWING_X11 -#include "x11/gdkx.h" /* For workaround */ -#endif - #include "gdkrectangle.h" #include "gdkinternals.h" #include "gdkintl.h" -#include "gdkscreen.h" +#include "gdkscreenprivate.h" +#include "gdkdisplayprivate.h" #include "gdkdeviceprivate.h" #include "gdkvisualprivate.h" #include "gdkmarshalers.h" -#include "gdkscreen.h" #include "gdkwindowimpl.h" #include @@ -1340,19 +1336,6 @@ gdk_window_new (GdkWindow *parent, window->width = (attributes->width > 1) ? (attributes->width) : (1); window->height = (attributes->height > 1) ? (attributes->height) : (1); -#ifdef GDK_WINDOWING_X11 - /* Work around a bug where Xorg refuses to map toplevel InputOnly windows - * from an untrusted client: http://bugs.freedesktop.org/show_bug.cgi?id=6988 - */ - if (attributes->wclass == GDK_INPUT_ONLY && - window->parent->window_type == GDK_WINDOW_ROOT && - !G_LIKELY (GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (parent))->trusted_client)) - { - g_warning ("Coercing GDK_INPUT_ONLY toplevel window to GDK_INPUT_OUTPUT to work around bug in Xorg server"); - attributes->wclass = GDK_INPUT_OUTPUT; - } -#endif - if (attributes->wclass == GDK_INPUT_ONLY) { /* Backwards compatiblity - we've always ignored diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c index 89ed5aae0d..29c5b3139d 100644 --- a/gdk/x11/gdkapplaunchcontext-x11.c +++ b/gdk/x11/gdkapplaunchcontext-x11.c @@ -23,10 +23,9 @@ #include "config.h" #include "gdkapplaunchcontextprivate.h" - -#include "gdkx.h" #include "gdkscreen.h" #include "gdkintl.h" +#include "gdkprivate-x11.h" #include #include diff --git a/gdk/x11/gdkasync.c b/gdk/x11/gdkasync.c index 795438b411..b86218480c 100644 --- a/gdk/x11/gdkasync.c +++ b/gdk/x11/gdkasync.c @@ -46,7 +46,7 @@ in this Software without prior written authorization from The Open Group. #include "config.h" #include "gdkasync.h" -#include "gdkx.h" +#include "gdkprivate-x11.h" #ifdef NEED_XIPROTO_H_FOR_XREPLY #include diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index b257b619e9..63de8f44ef 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -31,10 +31,8 @@ #include #include "gdkcursor.h" - #include "gdkprivate-x11.h" #include "gdkdisplay-x11.h" -#include "gdkx.h" #include #include diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index e4b35ddc8d..6dbe9f9559 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -19,14 +19,12 @@ #include "config.h" -#include "glib.h" #include "gdkdevice-core.h" #include "gdkinternals.h" #include "gdkwindow.h" #include "gdkprivate-x11.h" #include "gdkasync.h" -#include "gdkx.h" static gboolean gdk_device_core_get_history (GdkDevice *device, GdkWindow *window, diff --git a/gdk/x11/gdkdevice-xi.c b/gdk/x11/gdkdevice-xi.c index 19e8ff1177..3ad3cb6025 100644 --- a/gdk/x11/gdkdevice-xi.c +++ b/gdk/x11/gdkdevice-xi.c @@ -22,11 +22,10 @@ #include "gdkdevice-xi.h" #include "gdkwindow.h" +#include "gdkintl.h" #include "gdkdeviceprivate.h" #include "gdkprivate-x11.h" -#include "gdkintl.h" #include "gdkasync.h" -#include "gdkx.h" #define MAX_DEVICE_CLASSES 13 diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 0af7a7edc0..df7ae1fb2b 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -23,7 +23,7 @@ #include "gdkintl.h" #include "gdkasync.h" -#include "gdkx.h" +#include "gdkprivate-x11.h" #include diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 32d58426f2..521f12b5f6 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -21,14 +21,12 @@ #include "gdkdevicemanager-core.h" -#include "gdktypes.h" +#include "gdkkeysyms.h" #include "gdkdevicemanagerprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-core.h" -#include "gdkkeysyms.h" #include "gdkprivate-x11.h" -#include "gdkx.h" #ifdef HAVE_XKB #include diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index cecc82f33b..25c61005b1 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -26,7 +26,8 @@ #include "gdkdevicemanager-xi2.h" #endif #endif -#include "gdkx.h" +#include "gdkinternals.h" +#include "gdkprivate-x11.h" GdkDeviceManager * _gdk_x11_device_manager_new (GdkDisplay *display) diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c index 9d8c5bcf6f..9433a1fbcd 100644 --- a/gdk/x11/gdkdevicemanager-xi.c +++ b/gdk/x11/gdkdevicemanager-xi.c @@ -24,7 +24,7 @@ #include "gdkeventtranslator.h" #include "gdkdevice-xi.h" #include "gdkintl.h" -#include "gdkx.h" +#include "gdkprivate-x11.h" #include diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 07f1245527..e233a2c28a 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -21,13 +21,12 @@ #include "gdkdevicemanager-xi2.h" +#include "gdkkeysyms.h" #include "gdkdeviceprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkdevice-xi2.h" -#include "gdkkeysyms.h" #include "gdkprivate-x11.h" -#include "gdkx.h" #include diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 04475a2144..551c754b4f 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -24,20 +24,19 @@ #include "config.h" -#include "gdkdisplay-x11.h" - -#include "gdkx.h" #include "gdkasync.h" #include "gdkdisplay.h" #include "gdkeventsource.h" #include "gdkeventtranslator.h" #include "gdkinternals.h" #include "gdkscreen.h" -#include "gdkscreen-x11.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" #include "gdkdevicemanager.h" #include "xsettings-client.h" +#include "gdkdisplay-x11.h" +#include "gdkprivate-x11.h" +#include "gdkscreen-x11.h" #include #include diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 50a1cb75f5..4be4e9c0b9 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -29,11 +29,10 @@ #include "gdkdndprivate.h" #include "gdkmain.h" -#include "gdkx.h" +#include "gdkinternals.h" #include "gdkasync.h" #include "gdkproperty.h" #include "gdkprivate-x11.h" -#include "gdkinternals.h" #include "gdkscreen-x11.h" #include "gdkdisplay-x11.h" diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index e501fd27ad..ea248b997e 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -22,7 +22,8 @@ #include "gdkeventsource.h" #include "gdkinternals.h" -#include "gdkx.h" +#include "gdkwindow-x11.h" +#include "gdkprivate-x11.h" static gboolean gdk_event_source_prepare (GSource *source, diff --git a/gdk/x11/gdkeventsource.h b/gdk/x11/gdkeventsource.h index b1bf6b20f7..3bc5fc40ec 100644 --- a/gdk/x11/gdkeventsource.h +++ b/gdk/x11/gdkeventsource.h @@ -21,7 +21,6 @@ #define __GDK_EVENT_SOURCE_H__ #include "gdkeventtranslator.h" -#include "gdkprivate-x11.h" G_BEGIN_DECLS diff --git a/gdk/x11/gdkeventtranslator.h b/gdk/x11/gdkeventtranslator.h index b93a8c8093..933ad66f42 100644 --- a/gdk/x11/gdkeventtranslator.h +++ b/gdk/x11/gdkeventtranslator.h @@ -20,9 +20,10 @@ #ifndef __GDK_EVENT_TRANSLATOR_H__ #define __GDK_EVENT_TRANSLATOR_H__ -#include -#include -#include "gdkprivate-x11.h" +#include "gdktypes.h" +#include "gdkdisplay.h" + +#include G_BEGIN_DECLS diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index 1f853f4de3..29b3e58fd9 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -19,10 +19,9 @@ #include "config.h" +#include "gdkinternals.h" #include "gdkrectangle.h" #include "gdkprivate-x11.h" -#include "gdkx.h" -#include "gdkinternals.h" #include "gdkscreen-x11.h" #include "gdkdisplay-x11.h" #include "gdkwindow-x11.h" diff --git a/gdk/x11/gdkim-x11.c b/gdk/x11/gdkim-x11.c index 389e653ec0..4d43ea1144 100644 --- a/gdk/x11/gdkim-x11.c +++ b/gdk/x11/gdkim-x11.c @@ -26,10 +26,10 @@ #include "config.h" -#include "gdkx.h" #include "gdkmain.h" #include "gdkinternals.h" #include "gdkdisplay-x11.h" +#include "gdkprivate-x11.h" #include #include diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index a28834623c..8ea67ce83d 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -30,7 +30,6 @@ #include "gdkkeysyms.h" #include "gdkprivate-x11.h" #include "gdkdisplay-x11.h" -#include "gdkx.h" #include #include diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 2ab62764ea..a09d589fc6 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -26,13 +26,12 @@ #include "config.h" -#include "gdkx.h" +#include "gdkdeviceprivate.h" +#include "gdkinternals.h" +#include "gdkintl.h" #include "gdkasync.h" #include "gdkdisplay-x11.h" -#include "gdkinternals.h" #include "gdkprivate-x11.h" -#include "gdkintl.h" -#include "gdkdeviceprivate.h" #include #include diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index e28d5a8a63..b573b27133 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -34,7 +34,9 @@ #include "gdkcursor.h" #include "gdkprivate.h" #include "gdkinternals.h" +#include "gdkx.h" #include "gdkwindow-x11.h" +#include "gdkscreen-x11.h" #include "gdkdisplay-x11.h" #include @@ -59,18 +61,18 @@ GdkVisualType _gdk_screen_x11_visual_get_best_type (GdkScreen *screen GdkVisual * _gdk_screen_x11_get_system_visual (GdkScreen *screen); GdkVisual* _gdk_screen_x11_visual_get_best (GdkScreen *screen); GdkVisual* _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, - gint depth); + gint depth); GdkVisual* _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, - GdkVisualType visual_type); + GdkVisualType visual_type); GdkVisual* _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, - gint depth, - GdkVisualType visual_type); + gint depth, + GdkVisualType visual_type); void _gdk_screen_x11_query_depths (GdkScreen *screen, - gint **depths, - gint *count); + gint **depths, + gint *count); void _gdk_screen_x11_query_visual_types (GdkScreen *screen, - GdkVisualType **visual_types, - gint *count); + GdkVisualType **visual_types, + gint *count); GList * _gdk_screen_x11_list_visuals (GdkScreen *screen); @@ -100,11 +102,11 @@ void _gdk_window_process_expose (GdkWindow *window, GdkRectangle *area); gboolean _gdk_x11_window_queue_antiexpose (GdkWindow *window, - cairo_region_t *area); + cairo_region_t *area); void _gdk_x11_window_translate (GdkWindow *window, - cairo_region_t *area, - gint dx, - gint dy); + cairo_region_t *area, + gint dx, + gint dy); void _gdk_selection_window_destroyed (GdkWindow *window); gboolean _gdk_selection_filter_clear_event (XSelectionClearEvent *event); @@ -124,14 +126,14 @@ gboolean _gdk_x11_moveresize_configure_done (GdkDisplay *display, GdkWindow *window); void _gdk_keymap_state_changed (GdkDisplay *display, - XEvent *event); + XEvent *event); void _gdk_keymap_keys_changed (GdkDisplay *display); gint _gdk_x11_get_group_for_state (GdkDisplay *display, - GdkModifierType state); + GdkModifierType state); void _gdk_keymap_add_virtual_modifiers_compat (GdkKeymap *keymap, GdkModifierType *modifiers); gboolean _gdk_keymap_key_is_modifier (GdkKeymap *keymap, - guint keycode); + guint keycode); void _gdk_x11_initialize_locale (void); void _gdk_x11_windowing_init (void); @@ -189,8 +191,8 @@ void _gdk_x11_display_create_window_impl (GdkDisplay *display, gint attributes_mask); void _gdk_x11_precache_atoms (GdkDisplay *display, - const gchar * const *atom_names, - gint n_atoms); + const gchar * const *atom_names, + gint n_atoms); void _gdk_events_init (GdkDisplay *display); void _gdk_events_uninit (GdkDisplay *display); @@ -206,8 +208,8 @@ void _gdk_x11_cursor_display_finalize (GdkDisplay *display); void _gdk_x11_window_register_dnd (GdkWindow *window); gboolean _gdk_x11_get_xft_setting (GdkScreen *screen, - const gchar *name, - GValue *value); + const gchar *name, + GValue *value); GdkGrabStatus _gdk_x11_convert_grab_status (gint status); @@ -215,7 +217,7 @@ cairo_surface_t * _gdk_x11_window_create_bitmap_surface (GdkWindow *window, int width, int height); -extern gboolean _gdk_use_xshm; +extern gboolean _gdk_use_xshm; extern const gint _gdk_x11_event_mask_table[]; extern const gint _gdk_x11_event_mask_table_size; extern GdkAtom _gdk_selection_property; @@ -223,10 +225,21 @@ extern gboolean _gdk_synchronize; #define GDK_SCREEN_DISPLAY(screen) (GDK_SCREEN_X11 (screen)->display) #define GDK_SCREEN_XROOTWIN(screen) (GDK_SCREEN_X11 (screen)->xroot_window) -#define GDK_WINDOW_SCREEN(win) (gdk_window_get_screen (win)) +#define GDK_WINDOW_SCREEN(win) (gdk_window_get_screen (win)) #define GDK_WINDOW_DISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->display) #define GDK_WINDOW_XROOTWIN(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xroot_window) #define GDK_GC_DISPLAY(gc) (GDK_SCREEN_DISPLAY (GDK_GC_X11(gc)->screen)) #define GDK_WINDOW_IS_X11(win) (GDK_IS_WINDOW_IMPL_X11 ((win)->impl)) +/* override some macros from gdkx.h with direct-access variants */ +#undef GDK_DISPLAY_XDISPLAY +#undef GDK_WINDOW_XDISPLAY +#undef GDK_WINDOW_XID +#undef GDK_SCREEN_XDISPLAY + +#define GDK_DISPLAY_XDISPLAY(display) (GDK_DISPLAY_X11(display)->xdisplay) +#define GDK_WINDOW_XDISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xdisplay) +#define GDK_WINDOW_XID(win) (GDK_WINDOW_IMPL_X11(GDK_WINDOW (win)->impl)->xid) +#define GDK_SCREEN_XDISPLAY(screen) (GDK_SCREEN_X11 (screen)->xdisplay) + #endif /* __GDK_PRIVATE_X11_H__ */ diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index ca8a9a2e80..fdc32a4176 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -27,14 +27,13 @@ #include "config.h" #include "gdkproperty.h" - #include "gdkmain.h" -#include "gdkx.h" #include "gdkprivate.h" #include "gdkinternals.h" +#include "gdkselection.h" +#include "gdkprivate-x11.h" #include "gdkdisplay-x11.h" #include "gdkscreen-x11.h" -#include "gdkselection.h" #include #include diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index e703b952cb..e1ae43e0e7 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -24,11 +24,8 @@ #include "config.h" #include "gdkscreen-x11.h" - -#include "gdkscreen.h" -#include "gdkdisplay.h" #include "gdkdisplay-x11.h" -#include "gdkx.h" +#include "gdkprivate-x11.h" #include diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index 2d9e4dd51b..f8471dcccd 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -26,7 +26,6 @@ #include "gdkscreenprivate.h" #include "gdkvisual.h" -#include "gdkprivate-x11.h" #include "xsettings-client.h" #include #include diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 6ce9ee1384..74437f2474 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -27,8 +27,6 @@ #include "config.h" #include "gdkselection.h" - -#include "gdkx.h" #include "gdkproperty.h" #include "gdkprivate.h" #include "gdkprivate-x11.h" diff --git a/gdk/x11/gdktestutils-x11.c b/gdk/x11/gdktestutils-x11.c index d21d321d81..0068bbea60 100644 --- a/gdk/x11/gdktestutils-x11.c +++ b/gdk/x11/gdktestutils-x11.c @@ -23,7 +23,7 @@ #include "gdktestutils.h" #include "gdkkeysyms.h" -#include "gdkx.h" +#include "gdkprivate-x11.h" #include @@ -121,7 +121,7 @@ gdk_test_simulate_key (GdkWindow *window, xev.type = key_pressrelease == GDK_KEY_PRESS ? KeyPress : KeyRelease; xev.display = GDK_WINDOW_XDISPLAY (window); xev.window = GDK_WINDOW_XID (window); - xev.root = RootWindow (xev.display, GDK_SCREEN_XNUMBER (screen)); + xev.root = RootWindow (xev.display, GDK_SCREEN_X11 (screen)->screen_num); xev.subwindow = 0; xev.time = 0; xev.x = MAX (x, 0); @@ -226,7 +226,7 @@ gdk_test_simulate_button (GdkWindow *window, xev.type = button_pressrelease == GDK_BUTTON_PRESS ? ButtonPress : ButtonRelease; xev.display = GDK_WINDOW_XDISPLAY (window); xev.window = GDK_WINDOW_XID (window); - xev.root = RootWindow (xev.display, GDK_SCREEN_XNUMBER (screen)); + xev.root = RootWindow (xev.display, GDK_SCREEN_X11 (screen)->screen_num); xev.subwindow = 0; xev.time = 0; xev.x = x; diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 5acff4ec85..724ec73155 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -27,8 +27,6 @@ #include "config.h" #include "gdkvisualprivate.h" - -#include "gdkx.h" #include "gdkprivate-x11.h" #include "gdkscreen-x11.h" diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index d0f8f039a2..c532bb1fad 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -29,16 +29,15 @@ #include "gdkwindow-x11.h" -#include "gdkx.h" #include "gdkwindow.h" #include "gdkwindowimpl.h" -#include "gdkasync.h" -#include "gdkdisplay-x11.h" -#include "gdkprivate-x11.h" #include "gdkvisualprivate.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" +#include "gdkasync.h" #include "gdkeventsource.h" +#include "gdkdisplay-x11.h" +#include "gdkprivate-x11.h" #include #include @@ -313,7 +312,7 @@ _gdk_x11_window_create_bitmap_surface (GdkWindow *window, width, height, 1); surface = cairo_xlib_surface_create_for_bitmap (GDK_WINDOW_XDISPLAY (window), pixmap, - GDK_SCREEN_XSCREEN (GDK_WINDOW_SCREEN (window)), + GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (window))->xscreen, width, height); attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap); diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index f9b21c3a73..7c8c30734e 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -57,15 +57,16 @@ G_BEGIN_DECLS Window gdk_x11_window_get_xid (GdkWindow *window); +void gdk_x11_window_set_user_time (GdkWindow *window, + guint32 timestamp); +void gdk_x11_window_move_to_current_desktop (GdkWindow *window); + Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor); Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor); Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual); Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); int gdk_x11_screen_get_screen_number (GdkScreen *screen); -void gdk_x11_window_set_user_time (GdkWindow *window, - guint32 timestamp); -void gdk_x11_window_move_to_current_desktop (GdkWindow *window); const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); @@ -97,47 +98,6 @@ gint gdk_x11_get_default_screen (void); #define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) -#ifdef GDK_COMPILATION - -#include "gdkprivate-x11.h" -#include "gdkscreen-x11.h" - -/** - * GDK_DISPLAY_XDISPLAY: - * @display: a #GdkDisplay. - * - * Returns the display of a #GdkDisplay. - * - * Returns: an Xlib Display* - */ -#define GDK_DISPLAY_XDISPLAY(display) (GDK_DISPLAY_X11(display)->xdisplay) - -/** - * GDK_WINDOW_XDISPLAY: - * @win: a #GdkWindow. - * - * Returns the display of a #GdkWindow. - * - * Returns: an Xlib Display*. - */ -#define GDK_WINDOW_XDISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xdisplay) -#define GDK_WINDOW_XID(win) (GDK_WINDOW_IMPL_X11(GDK_WINDOW (win)->impl)->xid) - -#define GDK_SCREEN_XDISPLAY(screen) (GDK_SCREEN_X11 (screen)->xdisplay) - -/** - * GDK_SCREEN_XSCREEN: - * @screen: a #GdkScreen - * - * Returns the screen of a #GdkScreen. - * - * Returns: an Xlib Screen*. - */ -#define GDK_SCREEN_XSCREEN(screen) (GDK_SCREEN_X11 (screen)->xscreen) -#define GDK_SCREEN_XNUMBER(screen) (GDK_SCREEN_X11 (screen)->screen_num) - -#else /* GDK_COMPILATION */ - #ifndef GDK_MULTIHEAD_SAFE /** * GDK_ROOT_WINDOW: @@ -149,6 +109,14 @@ gint gdk_x11_get_default_screen (void); #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) +/** + * GDK_WINDOW_XDISPLAY: + * @win: a #GdkWindow. + * + * Returns the display of a #GdkWindow. + * + * Returns: an Xlib Display*. + */ #define GDK_WINDOW_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_window_get_display (win))) /** @@ -161,7 +129,24 @@ gint gdk_x11_get_default_screen (void); */ #define GDK_WINDOW_XID(win) (gdk_x11_window_get_xid (win)) +/** + * GDK_DISPLAY_XDISPLAY: + * @display: a #GdkDisplay. + * + * Returns the display of a #GdkDisplay. + * + * Returns: an Xlib Display* + */ #define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) + +/** + * GDK_SCREEN_XSCREEN: + * @screen: a #GdkScreen + * + * Returns the screen of a #GdkScreen. + * + * Returns: an Xlib Screen*. + */ #define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) /** @@ -175,8 +160,6 @@ gint gdk_x11_get_default_screen (void); */ #define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) -#endif /* GDK_COMPILATION */ - #define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, @@ -190,16 +173,16 @@ void gdk_x11_display_set_startup_notification_id (GdkDisplay * const gchar *startup_id); void gdk_x11_display_set_cursor_theme (GdkDisplay *display, - const gchar *theme, - const gint size); + const gchar *theme, + const gint size); void gdk_x11_display_broadcast_startup_message (GdkDisplay *display, - const char *message_type, - ...) G_GNUC_NULL_TERMINATED; + const char *message_type, + ...) G_GNUC_NULL_TERMINATED; /* returns TRUE if we support the given WM spec feature */ gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, - GdkAtom property); + GdkAtom property); XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, gint monitor_num); @@ -214,14 +197,14 @@ GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay); /* Functions to get the X Atom equivalent to the GdkAtom */ -Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, - GdkAtom atom); -GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, - Atom xatom); -Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, - const gchar *atom_name); +Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, + GdkAtom atom); +GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, + Atom xatom); +Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, + const gchar *atom_name); G_CONST_RETURN gchar *gdk_x11_get_xatom_name_for_display (GdkDisplay *display, - Atom xatom); + Atom xatom); #ifndef GDK_MULTIHEAD_SAFE Atom gdk_x11_atom_to_xatom (GdkAtom atom); GdkAtom gdk_x11_xatom_to_atom (Atom xatom); @@ -229,8 +212,8 @@ Atom gdk_x11_get_xatom_by_name (const gchar *atom_name); G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom); #endif -void gdk_x11_display_grab (GdkDisplay *display); -void gdk_x11_display_ungrab (GdkDisplay *display); +void gdk_x11_display_grab (GdkDisplay *display); +void gdk_x11_display_ungrab (GdkDisplay *display); void gdk_x11_display_error_trap_push (GdkDisplay *display); /* warn unused because you could use pop_ignored otherwise */ @@ -238,8 +221,8 @@ G_GNUC_WARN_UNUSED_RESULT gint gdk_x11_display_error_trap_pop (GdkDispla void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display); void gdk_x11_register_standard_event_type (GdkDisplay *display, - gint event_base, - gint n_events); + gint event_base, + gint n_events); void gdk_x11_set_sm_client_id (const gchar *sm_client_id); diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c index 0cc9972581..850c33f564 100644 --- a/gdk/x11/gdkxftdefaults.c +++ b/gdk/x11/gdkxftdefaults.c @@ -54,7 +54,7 @@ #endif #include -#include +#include static gint parse_boolean (char *v) @@ -153,7 +153,6 @@ init_xft_settings (GdkScreen *screen) { GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); Display *xdisplay = GDK_SCREEN_XDISPLAY (screen); - int xscreen = GDK_SCREEN_XNUMBER (screen); double dpi_double; if (screen_x11->xft_init) @@ -174,8 +173,8 @@ init_xft_settings (GdkScreen *screen) screen_x11->xft_rgba = FC_RGBA_UNKNOWN; if (!get_double_default (xdisplay, "dpi", &dpi_double)) - dpi_double = (((double) DisplayHeight (xdisplay, xscreen) * 25.4) / - (double) DisplayHeightMM (xdisplay, xscreen)); + dpi_double = (((double) DisplayHeight (xdisplay, screen_x11->screen_num) * 25.4) / + (double) DisplayHeightMM (xdisplay, screen_x11->screen_num)); screen_x11->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double); } diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c index ddd49b5f89..8476934d0e 100644 --- a/gdk/x11/gdkxid.c +++ b/gdk/x11/gdkxid.c @@ -26,7 +26,6 @@ #include "config.h" -#include "gdkx.h" #include "gdkprivate-x11.h" #include "gdkdisplay-x11.h" From 021f595a3809a7331b82af05c21a6fb7e43df200 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 22:21:39 -0500 Subject: [PATCH 0680/1463] Rename _gdk_window_move_resize_child Rename _gdk_window_move_resize_child and _gdk_window_process_expose to _gdk_x11. --- gdk/x11/gdkdisplay-x11.c | 10 ++-- gdk/x11/gdkgeometry-x11.c | 104 +++++++++++++++++++------------------- gdk/x11/gdkprivate-x11.h | 16 +++--- gdk/x11/gdkwindow-x11.c | 14 ++--- 4 files changed, 72 insertions(+), 72 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 551c754b4f..88f8c98adc 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -488,7 +488,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, expose_rect.width = xevent->xexpose.width; expose_rect.height = xevent->xexpose.height; - _gdk_window_process_expose (window, xevent->xexpose.serial, &expose_rect); + _gdk_x11_window_process_expose (window, xevent->xexpose.serial, &expose_rect); return_val = FALSE; } @@ -513,7 +513,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, expose_rect.width = xevent->xgraphicsexpose.width; expose_rect.height = xevent->xgraphicsexpose.height; - _gdk_window_process_expose (window, xevent->xgraphicsexpose.serial, &expose_rect); + _gdk_x11_window_process_expose (window, xevent->xgraphicsexpose.serial, &expose_rect); return_val = FALSE; } break; @@ -960,9 +960,9 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, repair, None); XFixesDestroyRegion (display_x11->xdisplay, repair); - if (window->parent != NULL) - _gdk_window_process_expose (window->parent, - damage_event->serial, &rect); + if (window->parent != NULL) + _gdk_x11_window_process_expose (window->parent, + damage_event->serial, &rect); return_val = TRUE; } diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index 29b3e58fd9..7e3cf16f84 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -53,11 +53,11 @@ struct _GdkWindowQueueItem }; void -_gdk_window_move_resize_child (GdkWindow *window, - gint x, - gint y, - gint width, - gint height) +_gdk_x11_window_move_resize_child (GdkWindow *window, + gint x, + gint y, + gint width, + gint height) { g_return_if_fail (window != NULL); g_return_if_fail (GDK_IS_WINDOW (window)); @@ -68,9 +68,9 @@ _gdk_window_move_resize_child (GdkWindow *window, g_warning ("Native children wider or taller than 65535 pixels are not supported"); if (width > 65535) - width = 65535; + width = 65535; if (height > 65535) - height = 65535; + height = 65535; } window->x = x; @@ -79,16 +79,16 @@ _gdk_window_move_resize_child (GdkWindow *window, window->height = height; /* We don't really care about origin overflow, because on overflow - the window won't be visible anyway and thus it will be shaped - to nothing */ - + * the window won't be visible anyway and thus it will be shaped + * to nothing + */ _gdk_x11_window_tmp_unset_parent_bg (window); _gdk_x11_window_tmp_unset_bg (window, TRUE); XMoveResizeWindow (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), - window->x + window->parent->abs_x, - window->y + window->parent->abs_y, - width, height); + GDK_WINDOW_XID (window), + window->x + window->parent->abs_x, + window->y + window->parent->abs_y, + width, height); _gdk_x11_window_tmp_reset_parent_bg (window); _gdk_x11_window_tmp_reset_bg (window, TRUE); } @@ -326,9 +326,9 @@ _gdk_x11_window_queue_antiexpose (GdkWindow *window, } void -_gdk_window_process_expose (GdkWindow *window, - gulong serial, - GdkRectangle *area) +_gdk_x11_window_process_expose (GdkWindow *window, + gulong serial, + GdkRectangle *area) { cairo_region_t *invalidate_region = cairo_region_create_rectangle (area); GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); @@ -338,44 +338,44 @@ _gdk_window_process_expose (GdkWindow *window, GList *tmp_list = display_x11->translate_queue->head; while (tmp_list) - { - GdkWindowQueueItem *item = tmp_list->data; + { + GdkWindowQueueItem *item = tmp_list->data; GList *next = tmp_list->next; - /* an overflow-safe (serial < item->serial) */ - if (serial - item->serial > (gulong) G_MAXLONG) - { - if (item->window == window) - { - if (item->type == GDK_WINDOW_QUEUE_TRANSLATE) - { - if (item->u.translate.area) - { - cairo_region_t *intersection; + /* an overflow-safe (serial < item->serial) */ + if (serial - item->serial > (gulong) G_MAXLONG) + { + if (item->window == window) + { + if (item->type == GDK_WINDOW_QUEUE_TRANSLATE) + { + if (item->u.translate.area) + { + cairo_region_t *intersection; - intersection = cairo_region_copy (invalidate_region); - cairo_region_intersect (intersection, item->u.translate.area); - cairo_region_subtract (invalidate_region, intersection); - cairo_region_translate (intersection, item->u.translate.dx, item->u.translate.dy); - cairo_region_union (invalidate_region, intersection); - cairo_region_destroy (intersection); - } - else - cairo_region_translate (invalidate_region, item->u.translate.dx, item->u.translate.dy); - } - else /* anti-expose */ - { - cairo_region_subtract (invalidate_region, item->u.antiexpose.area); - } - } - } - else - { - queue_delete_link (display_x11->translate_queue, tmp_list); - queue_item_free (item); - } - tmp_list = next; - } + intersection = cairo_region_copy (invalidate_region); + cairo_region_intersect (intersection, item->u.translate.area); + cairo_region_subtract (invalidate_region, intersection); + cairo_region_translate (intersection, item->u.translate.dx, item->u.translate.dy); + cairo_region_union (invalidate_region, intersection); + cairo_region_destroy (intersection); + } + else + cairo_region_translate (invalidate_region, item->u.translate.dx, item->u.translate.dy); + } + else /* anti-expose */ + { + cairo_region_subtract (invalidate_region, item->u.antiexpose.area); + } + } + } + else + { + queue_delete_link (display_x11->translate_queue, tmp_list); + queue_item_free (item); + } + tmp_list = next; + } } if (!cairo_region_is_empty (invalidate_region)) diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index b573b27133..ccb2a56900 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -92,14 +92,14 @@ gint _gdk_x11_display_send_xevent (GdkDisplay *display, XEvent *event_send); /* Routines from gdkgeometry-x11.c */ -void _gdk_window_move_resize_child (GdkWindow *window, - gint x, - gint y, - gint width, - gint height); -void _gdk_window_process_expose (GdkWindow *window, - gulong serial, - GdkRectangle *area); +void _gdk_x11_window_move_resize_child (GdkWindow *window, + gint x, + gint y, + gint width, + gint height); +void _gdk_x11_window_process_expose (GdkWindow *window, + gulong serial, + GdkRectangle *area); gboolean _gdk_x11_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index c532bb1fad..d7857a0a35 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -1424,9 +1424,9 @@ window_x11_move (GdkWindow *window, if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_CHILD) { - _gdk_window_move_resize_child (window, - x, y, - window->width, window->height); + _gdk_x11_window_move_resize_child (window, + x, y, + window->width, window->height); } else { @@ -1455,9 +1455,9 @@ window_x11_resize (GdkWindow *window, if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_CHILD) { - _gdk_window_move_resize_child (window, - window->x, window->y, - width, height); + _gdk_x11_window_move_resize_child (window, + window->x, window->y, + width, height); } else { @@ -1498,7 +1498,7 @@ window_x11_move_resize (GdkWindow *window, if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_CHILD) { - _gdk_window_move_resize_child (window, x, y, width, height); + _gdk_x11_window_move_resize_child (window, x, y, width, height); _gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl)); } else From b938e71e1d32926d7739fdf51c13eefce1fea63f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 22:45:37 -0500 Subject: [PATCH 0681/1463] Remove unused _gdk_use_xshm global --- gdk/x11/gdkglobals-x11.c | 2 -- gdk/x11/gdkprivate-x11.h | 1 - 2 files changed, 3 deletions(-) diff --git a/gdk/x11/gdkglobals-x11.c b/gdk/x11/gdkglobals-x11.c index d9e900e635..15144e744f 100644 --- a/gdk/x11/gdkglobals-x11.c +++ b/gdk/x11/gdkglobals-x11.c @@ -31,6 +31,4 @@ #include - -gboolean _gdk_use_xshm = TRUE; /* used as a cmd line arg */ gboolean _gdk_synchronize = FALSE; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index ccb2a56900..5fb3b8a424 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -217,7 +217,6 @@ cairo_surface_t * _gdk_x11_window_create_bitmap_surface (GdkWindow *window, int width, int height); -extern gboolean _gdk_use_xshm; extern const gint _gdk_x11_event_mask_table[]; extern const gint _gdk_x11_event_mask_table_size; extern GdkAtom _gdk_selection_property; From 902fd60a86e8e40b87b4ea0c4a8a9dd04f2f8d08 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 23:11:21 -0500 Subject: [PATCH 0682/1463] Remove the --sync commandline option Remove the --sync option and remove the possibility of backend-specific commandline options altogether. --sync is being replaced by a GDK_SYNCHRONIZE environment variable. --- docs/reference/gtk/running.sgml | 9 ++++ docs/reference/gtk/x11.sgml | 18 ++------ gdk/Makefile.am | 79 ++++++++++++++++----------------- gdk/gdk.c | 6 +-- gdk/x11/Makefile.am | 37 ++++++++------- gdk/x11/gdkdisplay-x11.c | 8 ++-- gdk/x11/gdkglobals-x11.c | 34 -------------- gdk/x11/gdkmain-x11.c | 6 --- gdk/x11/gdkprivate-x11.h | 2 - 9 files changed, 76 insertions(+), 123 deletions(-) delete mode 100644 gdk/x11/gdkglobals-x11.c diff --git a/docs/reference/gtk/running.sgml b/docs/reference/gtk/running.sgml index 4abbd9d1d9..8119f236a2 100644 --- a/docs/reference/gtk/running.sgml +++ b/docs/reference/gtk/running.sgml @@ -368,6 +368,15 @@ nevertheless. + + <envar>GDK_SYNCHRONIZE</envar> + + + If set, GDK makes all X requests synchronously. This is a useful + option for debugging, but it will slow down the performance considerably. + + + <envar>XDG_DATA_HOME</envar>, <envar>XDG_DATA_DIRS</envar> diff --git a/docs/reference/gtk/x11.sgml b/docs/reference/gtk/x11.sgml index 30600da04e..e75bd2774b 100644 --- a/docs/reference/gtk/x11.sgml +++ b/docs/reference/gtk/x11.sgml @@ -20,13 +20,13 @@ X11 aspects of using GTK+ GTK+ for the X Window System -On UNIX, the X backend is the default build for GTK+. So -you don't need to do anything special when compiling it, +On UNIX, the X backend is the default build for GTK+. +So you don't need to do anything special when compiling it, and everything should "just work." -To mix low-level Xlib routines into a GTK program, +To mix low-level Xlib routines into a GTK program, see GDK X Window System interaction in the GDK manual. @@ -35,8 +35,7 @@ System interaction in the GDK manual. X11-specific commandline options -The X backend understands some additional command line -arguments. +The X backend understands some additional command line arguments. @@ -48,15 +47,6 @@ in the DISPLAY environment variable. - -<systemitem>--sync</systemitem> - - -Makes all X requests synchronously. This is a useful option for -debugging, but it will slow down the performance considerably. - - - diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 0e980493fe..12b6fd6340 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -13,13 +13,13 @@ DIST_SUBDIRS = win32 x11 quartz tests CLEANFILES = -EXTRA_DIST += \ +EXTRA_DIST += \ keynames.txt \ keyname-table.h \ gen-keyname-table.pl \ - gdkconfig.h.win32 \ + gdkconfig.h.win32 \ gdkkeysyms-update.pl \ - gdk.def \ + gdk.def \ gdkmarshalers.list \ gdkwindowimpl.h \ makeenums.pl \ @@ -29,12 +29,12 @@ EXTRA_DIST += \ gdkenumtypes.h.template \ abicheck.sh -INCLUDES = \ +INCLUDES = \ -DG_LOG_DOMAIN=\"Gdk\" \ -DGDK_COMPILATION \ -I$(top_srcdir) \ -I$(top_builddir)/gdk \ - $(GTK_DEBUG_FLAGS) \ + $(GTK_DEBUG_FLAGS) \ $(GDK_DEP_CFLAGS) gtarget=$(gdktarget) @@ -46,12 +46,12 @@ endif # libtool stuff: set version and export symbols for resolving # since automake doesn't support conditionalized libsomething_la_LDFLAGS # we use the general approach here -LDADD = \ - $(GTK_LINK_FLAGS) \ - -version-info $(LT_VERSION_INFO) \ - -export-dynamic \ - -rpath $(libdir) \ - $(no_undefined) \ +LDADD = \ + $(GTK_LINK_FLAGS) \ + -version-info $(LT_VERSION_INFO) \ + -export-dynamic \ + -rpath $(libdir) \ + $(no_undefined) \ $(LIBTOOL_EXPORT_OPTIONS) # @@ -60,7 +60,7 @@ LDADD = \ # # GDK header files for public installation (non-generated) # -gdk_public_h_sources = \ +gdk_public_h_sources = \ gdk.h \ gdkapplaunchcontext.h \ gdkcairo.h \ @@ -90,11 +90,11 @@ gdk_public_h_sources = \ gdkvisual.h \ gdkwindow.h -gdk_built_public_sources = \ +gdk_built_public_sources = \ gdkconfig.h \ gdkenumtypes.h -gdk_private_headers = \ +gdk_private_headers = \ gdkapplaunchcontextprivate.h \ gdkdevicemanagerprivate.h \ gdkdeviceprivate.h \ @@ -108,33 +108,33 @@ gdk_private_headers = \ gdkvisualprivate.h \ gdkpoly-generic.h -gdk_c_sources = \ - gdk.c \ - gdkapplaunchcontext.c \ - gdkcairo.c \ - gdkcolor.c \ - gdkcursor.c \ - gdkdevice.c \ - gdkdevicemanager.c \ - gdkdisplay.c \ - gdkdisplaymanager.c \ - gdkdnd.c \ - gdkevents.c \ - gdkglobals.c \ - gdkkeys.c \ - gdkkeyuni.c \ - gdkoffscreenwindow.c \ - gdkpango.c \ - gdkpixbuf-drawable.c \ - gdkrectangle.c \ - gdkrgba.c \ - gdkscreen.c \ - gdkselection.c \ - gdkvisual.c \ - gdkwindow.c \ +gdk_c_sources = \ + gdk.c \ + gdkapplaunchcontext.c \ + gdkcairo.c \ + gdkcolor.c \ + gdkcursor.c \ + gdkdevice.c \ + gdkdevicemanager.c \ + gdkdisplay.c \ + gdkdisplaymanager.c \ + gdkdnd.c \ + gdkevents.c \ + gdkglobals.c \ + gdkkeys.c \ + gdkkeyuni.c \ + gdkoffscreenwindow.c \ + gdkpango.c \ + gdkpixbuf-drawable.c \ + gdkrectangle.c \ + gdkrgba.c \ + gdkscreen.c \ + gdkselection.c \ + gdkvisual.c \ + gdkwindow.c \ gdkwindowimpl.c -gdk_built_sources = \ +gdk_built_sources = \ gdkenumtypes.c \ gdkmarshalers.h \ gdkmarshalers.c \ @@ -201,7 +201,6 @@ x11_introspection_files = \ x11/gdkeventsource.c \ x11/gdkeventtranslator.c \ x11/gdkgeometry-x11.c \ - x11/gdkglobals-x11.c \ x11/gdkim-x11.c \ x11/gdkkeys-x11.c \ x11/gdkmain-x11.c \ diff --git a/gdk/gdk.c b/gdk/gdk.c index c0b5d0ad2f..6ab3caf151 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -177,15 +177,14 @@ static const GOptionEntry gdk_args[] = { /** * gdk_add_option_entries_libgtk_only: * @group: An option group. - * + * * Appends gdk option entries to the passed in option group. This is * not public API and must not be used by applications. - **/ + */ void gdk_add_option_entries_libgtk_only (GOptionGroup *group) { g_option_group_add_entries (group, gdk_args); - g_option_group_add_entries (group, _gdk_windowing_args); } void @@ -260,7 +259,6 @@ gdk_parse_args (int *argc, g_option_context_set_main_group (option_context, option_group); g_option_group_add_entries (option_group, gdk_args); - g_option_group_add_entries (option_group, _gdk_windowing_args); if (!g_option_context_parse (option_context, argc, argv, &error)) { diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index d05a03355c..72487ae518 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -16,42 +16,41 @@ LDADDS = $(GDK_DEP_LIBS) noinst_LTLIBRARIES = libgdk-x11.la -libgdk_x11_la_SOURCES = \ - MwmUtil.h \ +libgdk_x11_la_SOURCES = \ + MwmUtil.h \ gdkapplaunchcontext-x11.c \ gdkasync.c \ gdkasync.h \ - gdkcursor-x11.c \ + gdkcursor-x11.c \ gdkdevice-core.h \ gdkdevice-core.c \ - gdkdevicemanager-core.h \ - gdkdevicemanager-core.c \ + gdkdevicemanager-core.h \ + gdkdevicemanager-core.c \ gdkdevicemanager-x11.c \ gdkdisplaymanager-x11.c \ gdkdisplay-x11.c \ gdkdisplay-x11.h \ - gdkdnd-x11.c \ + gdkdnd-x11.c \ gdkeventsource.c \ gdkeventsource.h \ gdkeventtranslator.c \ gdkeventtranslator.h \ gdkgeometry-x11.c \ - gdkglobals-x11.c \ gdkim-x11.c \ gdkkeys-x11.c \ - gdkmain-x11.c \ - gdkproperty-x11.c \ + gdkmain-x11.c \ + gdkproperty-x11.c \ gdkscreen-x11.c \ gdkscreen-x11.h \ - gdkselection-x11.c \ + gdkselection-x11.c \ gdktestutils-x11.c \ - gdkvisual-x11.c \ - gdkwindow-x11.c \ + gdkvisual-x11.c \ + gdkwindow-x11.c \ gdkwindow-x11.h \ gdkxftdefaults.c \ - gdkxid.c \ - gdkx.h \ - gdkprivate-x11.h \ + gdkxid.c \ + gdkx.h \ + gdkprivate-x11.h \ xsettings-client.h \ xsettings-client.c \ xsettings-common.h \ @@ -59,14 +58,14 @@ libgdk_x11_la_SOURCES = \ if XINPUT_XFREE libgdk_x11_la_SOURCES += \ - gdkdevicemanager-xi.c \ - gdkdevicemanager-xi.h \ + gdkdevicemanager-xi.c \ + gdkdevicemanager-xi.h \ gdkdevice-xi.c \ gdkdevice-xi.h if XINPUT_2 libgdk_x11_la_SOURCES += \ - gdkdevicemanager-xi2.c \ - gdkdevicemanager-xi2.h \ + gdkdevicemanager-xi2.c \ + gdkdevicemanager-xi2.h \ gdkdevice-xi2.c \ gdkdevice-xi2.h endif diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 88f8c98adc..6f755dc67a 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1357,12 +1357,12 @@ _gdk_x11_display_open (const gchar *display_name) } } - if (_gdk_synchronize) + if (g_getenv ("GDK_SYNCHRONIZE")) XSynchronize (display_x11->xdisplay, True); - + class_hint = XAllocClassHint(); class_hint->res_name = g_get_prgname (); - + class_hint->res_class = (char *)gdk_get_program_class (); /* XmbSetWMProperties sets the RESOURCE_NAME environment variable @@ -1370,7 +1370,7 @@ _gdk_x11_display_open (const gchar *display_name) */ argc = 1; argv[0] = g_get_prgname (); - + XmbSetWMProperties (display_x11->xdisplay, display_x11->leader_window, NULL, NULL, argv, argc, NULL, NULL, diff --git a/gdk/x11/gdkglobals-x11.c b/gdk/x11/gdkglobals-x11.c deleted file mode 100644 index 15144e744f..0000000000 --- a/gdk/x11/gdkglobals-x11.c +++ /dev/null @@ -1,34 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include "gdktypes.h" -#include "gdkprivate-x11.h" - -#include - -gboolean _gdk_synchronize = FALSE; diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index a09d589fc6..b3de1684ab 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -87,12 +87,6 @@ static int gdk_x_io_error (Display *display); */ static GQueue gdk_error_traps; -const GOptionEntry _gdk_windowing_args[] = { - { "sync", 0, 0, G_OPTION_ARG_NONE, &_gdk_synchronize, - /* Description of --sync in --help output */ N_("Make X calls synchronous"), NULL }, - { NULL } -}; - void _gdk_x11_windowing_init (void) { diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 5fb3b8a424..1a2db5ff15 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -219,8 +219,6 @@ cairo_surface_t * _gdk_x11_window_create_bitmap_surface (GdkWindow *window, extern const gint _gdk_x11_event_mask_table[]; extern const gint _gdk_x11_event_mask_table_size; -extern GdkAtom _gdk_selection_property; -extern gboolean _gdk_synchronize; #define GDK_SCREEN_DISPLAY(screen) (GDK_SCREEN_X11 (screen)->display) #define GDK_SCREEN_XROOTWIN(screen) (GDK_SCREEN_X11 (screen)->xroot_window) From 55e1031e8412da11ae36bbe9b63b26ee17f21a49 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 23:18:38 -0500 Subject: [PATCH 0683/1463] Remove gdk_net_wm_supports This function is totally misnamed, only operates on the default screen, and has a perfectly fine replacement in gdk_x11_screen_supports_net_wm_hint. --- docs/reference/gdk/gdk3-sections.txt | 1 - gdk/gdk.symbols | 1 - gdk/x11/gdkscreen-x11.c | 17 ----------------- gdk/x11/gdkx.h | 1 - 4 files changed, 20 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index b5aa4234bc..0b45b1609a 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -954,7 +954,6 @@ gdk_x11_window_foreign_new_for_display gdk_x11_window_lookup_for_display gdk_x11_lookup_xdisplay gdk_x11_get_server_time -gdk_net_wm_supports gdk_x11_screen_supports_net_wm_hint gdk_x11_screen_get_window_manager_name gdk_x11_screen_get_monitor_output diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index cf8c2a1d78..fb0ed55e28 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -236,7 +236,6 @@ gdk_keyval_to_unicode G_GNUC_CONST gdk_keyval_to_upper G_GNUC_CONST gdk_list_visuals gdk_modifier_type_get_type G_GNUC_CONST -gdk_net_wm_supports gdk_notify_startup_complete gdk_notify_startup_complete_with_id gdk_notify_type_get_type G_GNUC_CONST diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index e1ae43e0e7..0c2aff0d9b 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -1449,23 +1449,6 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, return FALSE; } -/** - * gdk_net_wm_supports: - * @property: a property atom. - * - * This function is specific to the X11 backend of GDK, and indicates - * whether the window manager for the default screen supports a certain - * hint from the Extended Window Manager Hints Specification. See - * gdk_x11_screen_supports_net_wm_hint() for complete details. - * - * Return value: %TRUE if the window manager supports @property - **/ -gboolean -gdk_net_wm_supports (GdkAtom property) -{ - return gdk_x11_screen_supports_net_wm_hint (gdk_screen_get_default (), property); -} - static void refcounted_grab_server (Display *xdisplay) { diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 7c8c30734e..1801b63f22 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -188,7 +188,6 @@ XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, gint monitor_num); #ifndef GDK_MULTIHEAD_SAFE -gboolean gdk_net_wm_supports (GdkAtom property); void gdk_x11_grab_server (void); void gdk_x11_ungrab_server (void); #endif From 1d5afe4880937620a967f34a67b49ed88432ddbc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 23:35:15 -0500 Subject: [PATCH 0684/1463] Rename the _gdk_xid_table functions --- gdk/x11/gdkdisplay-x11.c | 1 - gdk/x11/gdkprivate-x11.h | 12 ++++----- gdk/x11/gdkwindow-x11.c | 53 ++++++++++++++-------------------------- gdk/x11/gdkxid.c | 32 ++++++++++++++++-------- 4 files changed, 45 insertions(+), 53 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 6f755dc67a..a83c1cc692 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2727,4 +2727,3 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->event_data_free = gdk_x11_display_event_data_free; display_class->create_window_impl = _gdk_x11_display_create_window_impl; } - diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 1a2db5ff15..93d53ddcf4 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -77,13 +77,11 @@ GList * _gdk_screen_x11_list_visuals (GdkScreen *screen -void _gdk_xid_table_insert (GdkDisplay *display, - XID *xid, - gpointer data); -void _gdk_xid_table_remove (GdkDisplay *display, - XID xid); -gpointer _gdk_xid_table_lookup (GdkDisplay *display, - XID xid); +void _gdk_x11_display_add_window (GdkDisplay *display, + XID *xid, + GdkWindow *window); +void _gdk_x11_display_remove_window (GdkDisplay *display, + XID xid); gint _gdk_x11_display_send_xevent (GdkDisplay *display, Window window, diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index d7857a0a35..98eabe0d11 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -244,9 +244,9 @@ gdk_window_impl_x11_finalize (GObject *object) { GdkDisplay *display = GDK_WINDOW_DISPLAY (wrapper); - _gdk_xid_table_remove (display, impl->xid); + _gdk_x11_display_remove_window (display, impl->xid); if (impl->toplevel && impl->toplevel->focus_window) - _gdk_xid_table_remove (display, impl->toplevel->focus_window); + _gdk_x11_display_remove_window (display, impl->toplevel->focus_window); } g_free (impl->toplevel); @@ -486,10 +486,10 @@ _gdk_x11_screen_init_root_window (GdkScreen *screen) window->event_mask = GDK_STRUCTURE_MASK; _gdk_window_update_size (screen_x11->root_window); - - _gdk_xid_table_insert (screen_x11->display, - &screen_x11->xroot_window, - screen_x11->root_window); + + _gdk_x11_display_add_window (screen_x11->display, + &screen_x11->xroot_window, + screen_x11->root_window); } static void @@ -628,11 +628,13 @@ setup_toplevel_window (GdkWindow *window, * press events so they don't get sent to child windows. */ toplevel->focus_window = create_focus_window (display, xid); - _gdk_xid_table_insert (screen_x11->display, &toplevel->focus_window, window); + _gdk_x11_display_add_window (screen_x11->display, + &toplevel->focus_window, + window); } - + check_leader_window_title (screen_x11->display); - + /* FIXME: Is there any point in doing this? Do any WM's pay * attention to PSize, and even if they do, is this the * correct value??? @@ -795,7 +797,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, xattributes_mask, &xattributes); g_object_ref (window); - _gdk_xid_table_insert (screen_x11->display, &impl->xid, window); + _gdk_x11_display_add_window (screen_x11->display, &impl->xid, window); switch (GDK_WINDOW_TYPE (window)) { @@ -883,7 +885,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, display_x11 = GDK_DISPLAY_X11 (display); - if ((win = _gdk_xid_table_lookup (display, window)) != NULL) + if ((win = gdk_x11_window_lookup_for_display (display, window)) != NULL) return g_object_ref (win); gdk_x11_display_error_trap_push (display); @@ -913,7 +915,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, impl = GDK_WINDOW_IMPL_X11 (win->impl); impl->wrapper = win; - win->parent = _gdk_xid_table_lookup (display, parent); + win->parent = gdk_x11_window_lookup_for_display (display, parent); if (!win->parent || GDK_WINDOW_TYPE (win->parent) == GDK_WINDOW_FOREIGN) win->parent = gdk_screen_get_root_window (screen); @@ -940,7 +942,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, win->depth = attrs.depth; g_object_ref (win); - _gdk_xid_table_insert (display, &GDK_WINDOW_XID (win), win); + _gdk_x11_display_add_window (display, &GDK_WINDOW_XID (win), win); /* Update the clip region, etc */ _gdk_window_update_size (win); @@ -948,25 +950,6 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, return win; } -/** - * gdk_x11_window_lookup_for_display: - * @display: the #GdkDisplay corresponding to the window handle - * @window: an XLib Window - * - * Looks up the #GdkWindow that wraps the given native window handle. - * - * Return value: (transfer none): the #GdkWindow wrapper for the native - * window, or %NULL if there is none. - * - * Since: 3.0 - */ -GdkWindow * -gdk_x11_window_lookup_for_display (GdkDisplay *display, - Window window) -{ - return (GdkWindow*) _gdk_xid_table_lookup (display, window); -} - static void gdk_toplevel_x11_free_contents (GdkDisplay *display, GdkToplevelX11 *toplevel) @@ -1093,9 +1076,9 @@ gdk_x11_window_destroy_notify (GdkWindow *window) _gdk_window_destroy (window, TRUE); } - _gdk_xid_table_remove (GDK_WINDOW_DISPLAY (window), GDK_WINDOW_XID (window)); + _gdk_x11_display_remove_window (GDK_WINDOW_DISPLAY (window), GDK_WINDOW_XID (window)); if (window_impl->toplevel && window_impl->toplevel->focus_window) - _gdk_xid_table_remove (GDK_WINDOW_DISPLAY (window), window_impl->toplevel->focus_window); + _gdk_x11_display_remove_window (GDK_WINDOW_DISPLAY (window), window_impl->toplevel->focus_window); _gdk_x11_window_grab_check_destroy (window); @@ -1603,7 +1586,7 @@ gdk_window_x11_reparent (GdkWindow *window, if (impl->toplevel->focus_window) { XDestroyWindow (GDK_WINDOW_XDISPLAY (window), impl->toplevel->focus_window); - _gdk_xid_table_remove (GDK_WINDOW_DISPLAY (window), impl->toplevel->focus_window); + _gdk_x11_display_remove_window (GDK_WINDOW_DISPLAY (window), impl->toplevel->focus_window); } gdk_toplevel_x11_free_contents (GDK_WINDOW_DISPLAY (window), diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c index 8476934d0e..2d229976f2 100644 --- a/gdk/x11/gdkxid.c +++ b/gdk/x11/gdkxid.c @@ -44,9 +44,9 @@ gdk_xid_equal (XID *a, XID *b) } void -_gdk_xid_table_insert (GdkDisplay *display, - XID *xid, - gpointer data) +_gdk_x11_display_add_window (GdkDisplay *display, + XID *xid, + GdkWindow *data) { GdkDisplayX11 *display_x11; @@ -66,8 +66,8 @@ _gdk_xid_table_insert (GdkDisplay *display, } void -_gdk_xid_table_remove (GdkDisplay *display, - XID xid) +_gdk_x11_display_remove_window (GdkDisplay *display, + XID xid) { GdkDisplayX11 *display_x11; @@ -79,19 +79,31 @@ _gdk_xid_table_remove (GdkDisplay *display, g_hash_table_remove (display_x11->xid_ht, &xid); } -gpointer -_gdk_xid_table_lookup (GdkDisplay *display, - XID xid) +/** + * gdk_x11_window_lookup_for_display: + * @display: the #GdkDisplay corresponding to the window handle + * @window: an XLib Window + * + * Looks up the #GdkWindow that wraps the given native window handle. + * + * Return value: (transfer none): the #GdkWindow wrapper for the native + * window, or %NULL if there is none. + * + * Since: 3.0 + */ +GdkWindow * +gdk_x11_window_lookup_for_display (GdkDisplay *display, + Window window) { GdkDisplayX11 *display_x11; - gpointer data = NULL; + GdkWindow *data = NULL; g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); display_x11 = GDK_DISPLAY_X11 (display); if (display_x11->xid_ht) - data = g_hash_table_lookup (display_x11->xid_ht, &xid); + data = g_hash_table_lookup (display_x11->xid_ht, &window); return data; } From a97b1891b3711ec21adfb9553ede627fe385742d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Dec 2010 23:49:31 -0500 Subject: [PATCH 0685/1463] Rename private keymap symbols to _gdk_x11_keymap... --- gdk/x11/gdkdevicemanager-core.c | 4 +- gdk/x11/gdkdevicemanager-xi2.c | 4 +- gdk/x11/gdkdisplay-x11.c | 10 +- gdk/x11/gdkkeys-x11.c | 635 ++++++++++++++++---------------- gdk/x11/gdkprivate-x11.h | 18 +- 5 files changed, 334 insertions(+), 337 deletions(-) diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 521f12b5f6..65eac56e44 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -165,10 +165,10 @@ translate_key_event (GdkDisplay *display, NULL, NULL, &consumed); state = event->key.state & ~consumed; - _gdk_keymap_add_virtual_modifiers_compat (keymap, &state); + _gdk_x11_keymap_add_virt_mods (keymap, &state); event->key.state |= state; - event->key.is_modifier = _gdk_keymap_key_is_modifier (keymap, event->key.hardware_keycode); + event->key.is_modifier = _gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); /* Fill in event->string crudely, since various programs * depend on it. diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index e233a2c28a..a37c16c15e 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -1009,7 +1009,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->key.group = _gdk_x11_get_group_for_state (display, event->key.state); event->key.hardware_keycode = xev->detail; - event->key.is_modifier = _gdk_keymap_key_is_modifier (keymap, event->key.hardware_keycode); + event->key.is_modifier = _gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode); device = g_hash_table_lookup (device_manager->id_table, GUINT_TO_POINTER (xev->deviceid)); @@ -1029,7 +1029,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, NULL, NULL, &consumed); state = event->key.state & ~consumed; - _gdk_keymap_add_virtual_modifiers_compat (keymap, &state); + _gdk_x11_keymap_add_virt_mods (keymap, &state); event->key.state |= state; translate_keyboard_string ((GdkEventKey *) event); diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index a83c1cc692..2ecc335dd3 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -904,7 +904,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, /* Let XLib know that there is a new keyboard mapping. */ XRefreshKeyboardMapping (&xevent->xmapping); - _gdk_keymap_keys_changed (display); + _gdk_x11_keymap_keys_changed (display); return_val = FALSE; break; @@ -977,13 +977,13 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, { case XkbNewKeyboardNotify: case XkbMapNotify: - _gdk_keymap_keys_changed (display); + _gdk_x11_keymap_keys_changed (display); return_val = FALSE; break; case XkbStateNotify: - _gdk_keymap_state_changed (display, xevent); + _gdk_x11_keymap_state_changed (display, xevent); break; } } @@ -1411,7 +1411,7 @@ _gdk_x11_display_open (const gchar *display_name) XkbNewKeyboardNotifyMask | XkbMapNotifyMask | XkbStateNotifyMask, XkbNewKeyboardNotifyMask | XkbMapNotifyMask | XkbStateNotifyMask); - /* keep this in sync with _gdk_keymap_state_changed() */ + /* keep this in sync with _gdk_x11_keymap_state_changed() */ XkbSelectEventDetails (display_x11->xdisplay, XkbUseCoreKbd, XkbStateNotify, XkbAllStateComponentsMask, @@ -1422,7 +1422,7 @@ _gdk_x11_display_open (const gchar *display_name) &detectable_autorepeat_supported); GDK_NOTE (MISC, g_message ("Detectable autorepeat %s.", - detectable_autorepeat_supported ? + detectable_autorepeat_supported ? "supported" : "not supported")); display_x11->have_xkb_autorepeat = detectable_autorepeat_supported; diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 8ea67ce83d..5aa0d26e5e 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -45,7 +45,7 @@ */ # ifndef XkbKeySymEntry # define XkbKeySymEntry(d,k,sl,g) \ - (XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl)))) + (XkbKeySym(d,k,((XkbKeyGroupsWidth(d,k)*(g))+(sl)))) # endif #endif /* HAVE_XKB */ @@ -117,23 +117,23 @@ gdk_keymap_x11_get_type (void) if (!object_type) { const GTypeInfo object_info = - { - sizeof (GdkKeymapClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_keymap_x11_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkKeymapX11), - 0, /* n_preallocs */ - (GInstanceInitFunc) gdk_keymap_x11_init, - }; - + { + sizeof (GdkKeymapClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) gdk_keymap_x11_class_init, + NULL, /* class_finalize */ + NULL, /* class_data */ + sizeof (GdkKeymapX11), + 0, /* n_preallocs */ + (GInstanceInitFunc) gdk_keymap_x11_init, + }; + object_type = g_type_register_static (GDK_TYPE_KEYMAP, g_intern_static_string ("GdkKeymapX11"), &object_info, 0); } - + return object_type; } @@ -146,7 +146,7 @@ gdk_keymap_x11_init (GdkKeymapX11 *keymap) keymap->keymap = NULL; keymap->keysyms_per_keycode = 0; keymap->mod_keymap = NULL; - + keymap->num_lock_mask = 0; keymap->sun_keypad = FALSE; keymap->group_switch_mask = 0; @@ -186,14 +186,14 @@ update_keyrange (GdkKeymapX11 *keymap_x11) { if (keymap_x11->max_keycode == 0) XDisplayKeycodes (KEYMAP_XDISPLAY (GDK_KEYMAP (keymap_x11)), - &keymap_x11->min_keycode, &keymap_x11->max_keycode); + &keymap_x11->min_keycode, &keymap_x11->max_keycode); } #ifdef HAVE_XKB static void update_modmap (Display *display, - GdkKeymapX11 *keymap_x11) + GdkKeymapX11 *keymap_x11) { static struct { const gchar *name; @@ -218,16 +218,16 @@ update_modmap (Display *display, for (i = 0; i < XkbNumVirtualMods; i++) { for (j = 0; vmods[j].atom; j++) - { - if (keymap_x11->xkb_desc->names->vmods[i] == vmods[j].atom) - { - for (k = 0; k < 8; k++) - { - if (keymap_x11->xkb_desc->server->vmods[i] & (1 << k)) - keymap_x11->modmap[k] |= vmods[j].mask; - } - } - } + { + if (keymap_x11->xkb_desc->names->vmods[i] == vmods[j].atom) + { + for (k = 0; k < 8; k++) + { + if (keymap_x11->xkb_desc->server->vmods[i] & (1 << k)) + keymap_x11->modmap[k] |= vmods[j].mask; + } + } + } } } @@ -236,15 +236,15 @@ get_xkb (GdkKeymapX11 *keymap_x11) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; - + update_keyrange (keymap_x11); - + if (keymap_x11->xkb_desc == NULL) { keymap_x11->xkb_desc = XkbGetMap (xdisplay, XkbKeySymsMask | XkbKeyTypesMask | XkbModifierMapMask | XkbVirtualModsMask, XkbUseCoreKbd); if (keymap_x11->xkb_desc == NULL) { - g_error ("Failed to get keymap"); + g_error ("Failed to get keymap"); return NULL; } @@ -255,7 +255,7 @@ get_xkb (GdkKeymapX11 *keymap_x11) else if (keymap_x11->current_serial != display_x11->keymap_serial) { XkbGetUpdatedMap (xdisplay, XkbKeySymsMask | XkbKeyTypesMask | XkbModifierMapMask | XkbVirtualModsMask, - keymap_x11->xkb_desc); + keymap_x11->xkb_desc); XkbGetNames (xdisplay, XkbGroupNamesMask | XkbVirtualModNamesMask, keymap_x11->xkb_desc); update_modmap (xdisplay, keymap_x11); @@ -275,7 +275,7 @@ get_xkb (GdkKeymapX11 *keymap_x11) * to checking the next event with XPending(). */ -/** +/** * gdk_keymap_get_for_display: * @display: the #GdkDisplay. * @@ -291,7 +291,7 @@ gdk_keymap_get_for_display (GdkDisplay *display) GdkDisplayX11 *display_x11; g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); display_x11 = GDK_DISPLAY_X11 (display); - + if (!display_x11->keymap) display_x11->keymap = g_object_new (gdk_keymap_x11_get_type (), NULL); @@ -311,9 +311,9 @@ gdk_keymap_get_for_display (GdkDisplay *display) static gint get_symbol (const KeySym *syms, - GdkKeymapX11 *keymap_x11, - gint group, - gint level) + GdkKeymapX11 *keymap_x11, + gint group, + gint level) { gint index; @@ -325,11 +325,11 @@ get_symbol (const KeySym *syms, } static void -set_symbol (KeySym *syms, - GdkKeymapX11 *keymap_x11, - gint group, - gint level, - KeySym sym) +set_symbol (KeySym *syms, + GdkKeymapX11 *keymap_x11, + gint group, + gint level, + KeySym sym) { gint index; @@ -345,11 +345,11 @@ update_keymaps (GdkKeymapX11 *keymap_x11) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; - + #ifdef HAVE_XKB g_assert (!KEYMAP_USE_XKB (GDK_KEYMAP (keymap_x11))); #endif - + if (keymap_x11->keymap == NULL || keymap_x11->current_serial != display_x11->keymap_serial) { @@ -358,18 +358,18 @@ update_keymaps (GdkKeymapX11 *keymap_x11) gint keycode; keymap_x11->current_serial = display_x11->keymap_serial; - + update_keyrange (keymap_x11); - + if (keymap_x11->keymap) XFree (keymap_x11->keymap); if (keymap_x11->mod_keymap) XFreeModifiermap (keymap_x11->mod_keymap); - + keymap_x11->keymap = XGetKeyboardMapping (xdisplay, keymap_x11->min_keycode, - keymap_x11->max_keycode - keymap_x11->min_keycode + 1, - &keymap_x11->keysyms_per_keycode); + keymap_x11->max_keycode - keymap_x11->min_keycode + 1, + &keymap_x11->keysyms_per_keycode); /* GDK_KEY_ISO_Left_Tab, as usually configured through XKB, really messes @@ -381,12 +381,12 @@ update_keymaps (GdkKeymapX11 *keymap_x11) while (keycode <= keymap_x11->max_keycode) { KeySym *syms = keymap_x11->keymap + (keycode - keymap_x11->min_keycode) * keymap_x11->keysyms_per_keycode; - /* Check both groups */ - for (i = 0 ; i < 2 ; i++) - { - if (get_symbol (syms, keymap_x11, i, 0) == GDK_KEY_Tab) - set_symbol (syms, keymap_x11, i, 1, GDK_KEY_ISO_Left_Tab); - } + /* Check both groups */ + for (i = 0 ; i < 2 ; i++) + { + if (get_symbol (syms, keymap_x11, i, 0) == GDK_KEY_Tab) + set_symbol (syms, keymap_x11, i, 1, GDK_KEY_ISO_Left_Tab); + } /* * If there is one keysym and the key symbol has upper and lower @@ -400,12 +400,11 @@ update_keymaps (GdkKeymapX11 *keymap_x11) gdk_keyval_convert_case (get_symbol (syms, keymap_x11, 0, 0), &lower, &upper); if (lower != upper) { - set_symbol (syms, keymap_x11, 0, 0, lower); - set_symbol (syms, keymap_x11, 0, 1, upper); + set_symbol (syms, keymap_x11, 0, 0, lower); + set_symbol (syms, keymap_x11, 0, 1, upper); } } - - + ++keycode; } @@ -416,8 +415,8 @@ update_keymaps (GdkKeymapX11 *keymap_x11) keymap_x11->num_lock_mask = 0; for (i = 0; i < 8; i++) - keymap_x11->modmap[i] = 1 << i; - + keymap_x11->modmap[i] = 1 << i; + /* There are 8 sets of modifiers, with each set containing * max_keypermod keycodes. */ @@ -428,7 +427,7 @@ update_keymaps (GdkKeymapX11 *keymap_x11) gint keycode = keymap_x11->mod_keymap->modifiermap[i]; gint j; KeySym *syms; - guint mask; + guint mask; /* Ignore invalid keycodes. */ if (keycode < keymap_x11->min_keycode || @@ -437,24 +436,24 @@ update_keymaps (GdkKeymapX11 *keymap_x11) syms = keymap_x11->keymap + (keycode - keymap_x11->min_keycode) * keymap_x11->keysyms_per_keycode; - mask = 0; - for (j = 0; j < keymap_x11->keysyms_per_keycode; j++) - { - if (syms[j] == GDK_KEY_Meta_L || - syms[j] == GDK_KEY_Meta_R) - mask |= GDK_META_MASK; - else if (syms[j] == GDK_KEY_Hyper_L || - syms[j] == GDK_KEY_Hyper_R) - mask |= GDK_HYPER_MASK; - else if (syms[j] == GDK_KEY_Super_L || - syms[j] == GDK_KEY_Super_R) - mask |= GDK_SUPER_MASK; - } + mask = 0; + for (j = 0; j < keymap_x11->keysyms_per_keycode; j++) + { + if (syms[j] == GDK_KEY_Meta_L || + syms[j] == GDK_KEY_Meta_R) + mask |= GDK_META_MASK; + else if (syms[j] == GDK_KEY_Hyper_L || + syms[j] == GDK_KEY_Hyper_R) + mask |= GDK_HYPER_MASK; + else if (syms[j] == GDK_KEY_Super_L || + syms[j] == GDK_KEY_Super_R) + mask |= GDK_SUPER_MASK; + } - keymap_x11->modmap[i/keymap_x11->mod_keymap->max_keypermod] |= mask; + keymap_x11->modmap[i/keymap_x11->mod_keymap->max_keypermod] |= mask; /* The fourth modifier, GDK_MOD1_MASK is 1 << 3. - * Each group of max_keypermod entries refers to the same modifier. + * Each group of max_keypermod entries refers to the same modifier. */ mask = 1 << (i / keymap_x11->mod_keymap->max_keypermod); @@ -465,16 +464,16 @@ update_keymaps (GdkKeymapX11 *keymap_x11) * is Caps_Lock, we will interpret the modifier as Caps_Lock; * otherwise, if any is bound to Shift_Lock, we will interpret * the modifier as Shift_Lock. Otherwise, the lock modifier - * has no effect. + * has no effect. */ - for (j = 0; j < keymap_x11->keysyms_per_keycode; j++) - { - if (syms[j] == GDK_KEY_Caps_Lock) - keymap_x11->lock_keysym = GDK_KEY_Caps_Lock; - else if (syms[j] == GDK_KEY_Shift_Lock && - keymap_x11->lock_keysym == GDK_KEY_VoidSymbol) - keymap_x11->lock_keysym = GDK_KEY_Shift_Lock; - } + for (j = 0; j < keymap_x11->keysyms_per_keycode; j++) + { + if (syms[j] == GDK_KEY_Caps_Lock) + keymap_x11->lock_keysym = GDK_KEY_Caps_Lock; + else if (syms[j] == GDK_KEY_Shift_Lock && + keymap_x11->lock_keysym == GDK_KEY_VoidSymbol) + keymap_x11->lock_keysym = GDK_KEY_Shift_Lock; + } break; case GDK_CONTROL_MASK: @@ -521,7 +520,7 @@ static const KeySym* get_keymap (GdkKeymapX11 *keymap_x11) { update_keymaps (keymap_x11); - + return keymap_x11->keymap; } @@ -529,13 +528,13 @@ get_keymap (GdkKeymapX11 *keymap_x11) static GdkKeymap * get_effective_keymap (GdkKeymap *keymap, - const char *function) + const char *function) { if (!keymap) { GDK_NOTE (MULTIHEAD, - g_message ("reverting to default display keymap in %s", - function)); + g_message ("reverting to default display keymap in %s", + function)); return gdk_keymap_get_default (); } @@ -544,8 +543,8 @@ get_effective_keymap (GdkKeymap *keymap, #if HAVE_XKB static PangoDirection -get_direction (XkbDescRec *xkb, - gint group) +get_direction (XkbDescRec *xkb, + gint group) { gint code; @@ -558,16 +557,16 @@ get_direction (XkbDescRec *xkb, PangoDirection dir = pango_unichar_direction (gdk_keyval_to_unicode (sym)); switch (dir) - { - case PANGO_DIRECTION_RTL: - rtl_minus_ltr++; - break; - case PANGO_DIRECTION_LTR: - rtl_minus_ltr--; - break; - default: - break; - } + { + case PANGO_DIRECTION_RTL: + rtl_minus_ltr++; + break; + case PANGO_DIRECTION_LTR: + rtl_minus_ltr--; + break; + default: + break; + } } if (rtl_minus_ltr > 0) @@ -578,8 +577,8 @@ get_direction (XkbDescRec *xkb, static PangoDirection get_direction_from_cache (GdkKeymapX11 *keymap_x11, - XkbDescPtr xkb, - gint group) + XkbDescPtr xkb, + gint group) { Atom group_atom = xkb->names->groups[group]; @@ -594,24 +593,24 @@ get_direction_from_cache (GdkKeymapX11 *keymap_x11, /* lookup in cache */ for (i = 0; i < G_N_ELEMENTS (keymap_x11->group_direction_cache); i++) { - if (cache[i].group_atom == group_atom) - { - cache_hit = TRUE; - cache[i].serial = keymap_x11->current_cache_serial++; /* freshen */ - direction = cache[i].direction; - group_atom = cache[i].group_atom; - break; - } + if (cache[i].group_atom == group_atom) + { + cache_hit = TRUE; + cache[i].serial = keymap_x11->current_cache_serial++; /* freshen */ + direction = cache[i].direction; + group_atom = cache[i].group_atom; + break; + } } } else { /* initialize cache */ for (i = 0; i < G_N_ELEMENTS (keymap_x11->group_direction_cache); i++) - { - cache[i].group_atom = 0; - cache[i].serial = keymap_x11->current_cache_serial; - } + { + cache[i].group_atom = 0; + cache[i].serial = keymap_x11->current_cache_serial; + } keymap_x11->current_cache_serial++; } @@ -624,11 +623,11 @@ get_direction_from_cache (GdkKeymapX11 *keymap_x11, /* remove the oldest entry */ for (i = 0; i < G_N_ELEMENTS (keymap_x11->group_direction_cache); i++) - { - if (cache[i].serial < cache[oldest].serial) - oldest = i; - } - + { + if (cache[i].serial < cache[oldest].serial) + oldest = i; + } + cache[oldest].group_atom = group_atom; cache[oldest].direction = direction; cache[oldest].serial = keymap_x11->current_cache_serial++; @@ -639,24 +638,24 @@ get_direction_from_cache (GdkKeymapX11 *keymap_x11, static int get_num_groups (GdkKeymap *keymap, - XkbDescPtr xkb) + XkbDescPtr xkb) { Display *display = KEYMAP_XDISPLAY (keymap); XkbGetControls(display, XkbSlowKeysMask, xkb); XkbGetUpdatedMap (display, XkbKeySymsMask | XkbKeyTypesMask | - XkbModifierMapMask | XkbVirtualModsMask, xkb); + XkbModifierMapMask | XkbVirtualModsMask, xkb); return xkb->ctrls->num_groups; } static gboolean update_direction (GdkKeymapX11 *keymap_x11, - gint group) + gint group) { XkbDescPtr xkb = get_xkb (keymap_x11); Atom group_atom; gboolean had_direction; PangoDirection old_direction; - + had_direction = keymap_x11->have_direction; old_direction = keymap_x11->current_direction; @@ -690,22 +689,22 @@ update_lock_state (GdkKeymapX11 *keymap_x11, || (num_lock_state != keymap_x11->num_lock_state); } -/* keep this in sync with the XkbSelectEventDetails() call - * in gdk_display_open() +/* keep this in sync with the XkbSelectEventDetails() + * call in gdk_display_open() */ void -_gdk_keymap_state_changed (GdkDisplay *display, - XEvent *xevent) +_gdk_x11_keymap_state_changed (GdkDisplay *display, + XEvent *xevent) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); XkbEvent *xkb_event = (XkbEvent *)xevent; - + if (display_x11->keymap) { GdkKeymapX11 *keymap_x11 = GDK_KEYMAP_X11 (display_x11->keymap); - + if (update_direction (keymap_x11, XkbStateGroup (&xkb_event->state))) - g_signal_emit_by_name (keymap_x11, "direction-changed"); + g_signal_emit_by_name (keymap_x11, "direction-changed"); if (update_lock_state (keymap_x11, xkb_event->state.locked_mods)) g_signal_emit_by_name (keymap_x11, "state-changed"); @@ -715,12 +714,12 @@ _gdk_keymap_state_changed (GdkDisplay *display, #endif /* HAVE_XKB */ void -_gdk_keymap_keys_changed (GdkDisplay *display) +_gdk_x11_keymap_keys_changed (GdkDisplay *display) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); - + ++display_x11->keymap_serial; - + if (display_x11->keymap) g_signal_emit_by_name (display_x11->keymap, "keys_changed", 0); } @@ -729,22 +728,22 @@ static PangoDirection gdk_x11_keymap_get_direction (GdkKeymap *keymap) { keymap = GET_EFFECTIVE_KEYMAP (keymap); - + #if HAVE_XKB if (KEYMAP_USE_XKB (keymap)) { GdkKeymapX11 *keymap_x11 = GDK_KEYMAP_X11 (keymap); if (!keymap_x11->have_direction) - { - GdkDisplay *display = GDK_KEYMAP (keymap_x11)->display; - XkbStateRec state_rec; + { + GdkDisplay *display = GDK_KEYMAP (keymap_x11)->display; + XkbStateRec state_rec; + + XkbGetState (GDK_DISPLAY_XDISPLAY (display), XkbUseCoreKbd, + &state_rec); + update_direction (keymap_x11, XkbStateGroup (&state_rec)); + } - XkbGetState (GDK_DISPLAY_XDISPLAY (display), XkbUseCoreKbd, - &state_rec); - update_direction (keymap_x11, XkbStateGroup (&state_rec)); - } - return keymap_x11->current_direction; } else @@ -770,10 +769,10 @@ gdk_x11_keymap_have_bidi_layouts (GdkKeymap *keymap) for (i = 0; i < num_groups; i++) { - if (get_direction_from_cache (keymap_x11, xkb, i) == PANGO_DIRECTION_RTL) - have_rtl_keyboard = TRUE; - else - have_ltr_keyboard = TRUE; + if (get_direction_from_cache (keymap_x11, xkb, i) == PANGO_DIRECTION_RTL) + have_rtl_keyboard = TRUE; + else + have_ltr_keyboard = TRUE; } return have_ltr_keyboard && have_rtl_keyboard; @@ -787,11 +786,11 @@ static gboolean gdk_x11_keymap_get_caps_lock_state (GdkKeymap *keymap) { GdkKeymapX11 *keymap_x11; - + keymap = GET_EFFECTIVE_KEYMAP (keymap); - + keymap_x11 = GDK_KEYMAP_X11 (keymap); - + return keymap_x11->caps_lock_state; } @@ -809,9 +808,9 @@ gdk_x11_keymap_get_num_lock_state (GdkKeymap *keymap) static gboolean gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, - guint keyval, - GdkKeymapKey **keys, - gint *n_keys) + guint keyval, + GdkKeymapKey **keys, + gint *n_keys) { GArray *retval; GdkKeymapX11 *keymap_x11; @@ -823,7 +822,7 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, keymap = GET_EFFECTIVE_KEYMAP (keymap); keymap_x11 = GDK_KEYMAP_X11 (keymap); - + retval = g_array_new (FALSE, FALSE, sizeof (GdkKeymapKey)); #ifdef HAVE_XKB @@ -833,7 +832,7 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, XkbDescRec *xkb = get_xkb (keymap_x11); gint keycode; - + keycode = keymap_x11->min_keycode; while (keycode <= keymap_x11->max_keycode) @@ -867,8 +866,8 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, g_array_append_val (retval, key); - g_assert (XkbKeySymEntry (xkb, keycode, level, group) == - keyval); + g_assert (XkbKeySymEntry (xkb, keycode, level, group) == + keyval); } ++level; @@ -890,7 +889,7 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, { const KeySym *map = get_keymap (keymap_x11); gint keycode; - + keycode = keymap_x11->min_keycode; while (keycode <= keymap_x11->max_keycode) { @@ -912,11 +911,9 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, g_array_append_val (retval, key); } - + ++i; } - - ++keycode; } } @@ -930,7 +927,7 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, *keys = NULL; *n_keys = 0; } - + g_array_free (retval, retval->len > 0 ? FALSE : TRUE); return *n_keys > 0; @@ -938,13 +935,13 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, static gboolean gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, - guint hardware_keycode, - GdkKeymapKey **keys, - guint **keyvals, - gint *n_entries) + guint hardware_keycode, + GdkKeymapKey **keys, + guint **keyvals, + gint *n_entries) { GdkKeymapX11 *keymap_x11; - + GArray *key_array; GArray *keyval_array; @@ -967,17 +964,17 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, *n_entries = 0; return FALSE; } - + if (keys) key_array = g_array_new (FALSE, FALSE, sizeof (GdkKeymapKey)); else key_array = NULL; - + if (keyvals) keyval_array = g_array_new (FALSE, FALSE, sizeof (guint)); else keyval_array = NULL; - + #ifdef HAVE_XKB if (KEYMAP_USE_XKB (keymap)) { @@ -990,7 +987,7 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, gint total_syms; gint i = 0; KeySym *entry; - + max_shift_levels = XkbKeyGroupsWidth (xkb, hardware_keycode); /* "key width" */ total_syms = XkbKeyNumSyms (xkb, hardware_keycode); @@ -1001,32 +998,32 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, entry = XkbKeySymsPtr (xkb, hardware_keycode); while (i < total_syms) - { - /* check out our cool loop invariant */ + { + /* check out our cool loop invariant */ g_assert (i == (group * max_shift_levels + level)); if (key_array) { GdkKeymapKey key; - + key.keycode = hardware_keycode; key.group = group; key.level = level; - + g_array_append_val (key_array, key); } if (keyval_array) g_array_append_val (keyval_array, entry[i]); - + ++level; - + if (level == max_shift_levels) { level = 0; ++group; } - + ++i; } } @@ -1044,19 +1041,19 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, if (key_array) { GdkKeymapKey key; - + key.keycode = hardware_keycode; - + /* The "classic" non-XKB keymap has 2 levels per group */ key.group = i / 2; key.level = i % 2; - + g_array_append_val (key_array, key); } if (keyval_array) g_array_append_val (keyval_array, syms[i]); - + ++i; } } @@ -1068,7 +1065,7 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, *n_entries = key_array->len; *keys = (GdkKeymapKey*) g_array_free (key_array, FALSE); } - + if (keyvals) { *n_entries = keyval_array->len; @@ -1080,22 +1077,22 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, static guint gdk_x11_keymap_lookup_key (GdkKeymap *keymap, - const GdkKeymapKey *key) + const GdkKeymapKey *key) { GdkKeymapX11 *keymap_x11; - + g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), 0); g_return_val_if_fail (key != NULL, 0); g_return_val_if_fail (key->group < 4, 0); keymap = GET_EFFECTIVE_KEYMAP (keymap); keymap_x11 = GDK_KEYMAP_X11 (keymap); - + #ifdef HAVE_XKB if (KEYMAP_USE_XKB (keymap)) { XkbDescRec *xkb = get_xkb (keymap_x11); - + return XkbKeySymEntry (xkb, key->keycode, key->level, key->group); } else @@ -1167,27 +1164,27 @@ MyEnhancedXkbTranslateKeyCode(register XkbDescPtr xkb, if (type->map) { /* find the column (shift level) within the group */ register int i; register XkbKTMapEntryPtr entry; - /* ---- Begin section modified for GDK ---- */ - int found = 0; - + /* ---- Begin section modified for GDK ---- */ + int found = 0; + for (i=0,entry=type->map;imap_count;i++,entry++) { - if (mods_rtrn) { - int bits = 0; - unsigned long tmp = entry->mods.mask; - while (tmp) { - if ((tmp & 1) == 1) - bits++; - tmp >>= 1; - } - /* We always add one-modifiers levels to mods_rtrn since - * they can't wipe out bits in the state unless the - * level would be triggered. But return other modifiers - * - */ - if (bits == 1 || (mods&type->mods.mask)==entry->mods.mask) - *mods_rtrn |= entry->mods.mask; - } - + if (mods_rtrn) { + int bits = 0; + unsigned long tmp = entry->mods.mask; + while (tmp) { + if ((tmp & 1) == 1) + bits++; + tmp >>= 1; + } + /* We always add one-modifiers levels to mods_rtrn since + * they can't wipe out bits in the state unless the + * level would be triggered. But return other modifiers + * + */ + if (bits == 1 || (mods&type->mods.mask)==entry->mods.mask) + *mods_rtrn |= entry->mods.mask; + } + if (!found&&entry->active&&((mods&type->mods.mask)==entry->mods.mask)) { col+= entry->level; if (type->preserve) @@ -1195,36 +1192,36 @@ MyEnhancedXkbTranslateKeyCode(register XkbDescPtr xkb, if (level_rtrn) *level_rtrn = entry->level; - + found = 1; } } - /* ---- End section modified for GDK ---- */ + /* ---- End section modified for GDK ---- */ } if (keysym_rtrn!=NULL) *keysym_rtrn= syms[col]; if (mods_rtrn) { - /* ---- Begin section modified for GDK ---- */ + /* ---- Begin section modified for GDK ---- */ *mods_rtrn &= ~preserve; - /* ---- End section modified for GDK ---- */ - + /* ---- End section modified for GDK ---- */ + /* ---- Begin stuff GDK comments out of the original Xlib version ---- */ /* This is commented out because xkb_info is a private struct */ #if 0 /* The Motif VTS doesn't get the help callback called if help - * is bound to Shift+, and it appears as though it - * is XkbTranslateKeyCode that is causing the problem. The - * core X version of XTranslateKey always OR's in ShiftMask - * and LockMask for mods_rtrn, so this "fix" keeps this behavior + * is bound to Shift+, and it appears as though it + * is XkbTranslateKeyCode that is causing the problem. The + * core X version of XTranslateKey always OR's in ShiftMask + * and LockMask for mods_rtrn, so this "fix" keeps this behavior * and solves the VTS problem. */ if ((xkb->dpy)&&(xkb->dpy->xkb_info)&& (xkb->dpy->xkb_info->xlib_ctrls&XkbLC_AlwaysConsumeShiftAndLock)) { *mods_rtrn|= (ShiftMask|LockMask); } #endif - + /* ---- End stuff GDK comments out of the original Xlib version ---- */ } @@ -1232,9 +1229,9 @@ MyEnhancedXkbTranslateKeyCode(register XkbDescPtr xkb, if (group_rtrn) *group_rtrn = effectiveGroup; - + /* ---- End stuff GDK adds to the original Xlib version ---- */ - + return (syms[col] != NoSymbol); } #endif /* HAVE_XKB */ @@ -1244,11 +1241,11 @@ MyEnhancedXkbTranslateKeyCode(register XkbDescPtr xkb, */ static guint translate_keysym (GdkKeymapX11 *keymap_x11, - guint hardware_keycode, - gint group, - GdkModifierType state, - gint *effective_group, - gint *effective_level) + guint hardware_keycode, + gint group, + GdkModifierType state, + gint *effective_group, + gint *effective_level) { const KeySym *map = get_keymap (keymap_x11); const KeySym *syms = map + (hardware_keycode - keymap_x11->min_keycode) * keymap_x11->keysyms_per_keycode; @@ -1276,15 +1273,15 @@ translate_keysym (GdkKeymapX11 *keymap_x11, if (keymap_x11->sun_keypad) { num_lock_index = 2; - + if (group != 0) - { - gint i; - - for (i = 0; i < keymap_x11->keysyms_per_keycode; i++) - if (KEYSYM_IS_KEYPAD (SYM (keymap_x11, 0, i))) - group = 0; - } + { + gint i; + + for (i = 0; i < keymap_x11->keysyms_per_keycode; i++) + if (KEYSYM_IS_KEYPAD (SYM (keymap_x11, 0, i))) + group = 0; + } } else num_lock_index = 1; @@ -1307,38 +1304,38 @@ translate_keysym (GdkKeymapX11 *keymap_x11, */ shift_level = (state & shift_modifiers) ? 1 : 0; if (!SYM (keymap_x11, group, shift_level) && SYM (keymap_x11, group, 0)) - shift_level = 0; - + shift_level = 0; + tmp_keyval = SYM (keymap_x11, group, shift_level); - + if (keymap_x11->lock_keysym == GDK_KEY_Caps_Lock && (state & GDK_LOCK_MASK) != 0) - { - guint upper = gdk_keyval_to_upper (tmp_keyval); - if (upper != tmp_keyval) - tmp_keyval = upper; - } + { + guint upper = gdk_keyval_to_upper (tmp_keyval); + if (upper != tmp_keyval) + tmp_keyval = upper; + } } if (effective_group) *effective_group = group; - + if (effective_level) *effective_level = shift_level; return tmp_keyval; - + #undef SYM } static gboolean gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, - guint hardware_keycode, - GdkModifierType state, - gint group, - guint *keyval, - gint *effective_group, - gint *level, - GdkModifierType *consumed_modifiers) + guint hardware_keycode, + GdkModifierType state, + gint group, + guint *keyval, + gint *effective_group, + gint *level, + GdkModifierType *consumed_modifiers) { GdkKeymapX11 *keymap_x11; KeySym tmp_keyval = NoSymbol; @@ -1347,7 +1344,7 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE); g_return_val_if_fail (group < 4, FALSE); - keymap = GET_EFFECTIVE_KEYMAP (keymap); + keymap = GET_EFFECTIVE_KEYMAP (keymap); keymap_x11 = GDK_KEYMAP_X11 (keymap); if (keyval) @@ -1360,7 +1357,7 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, *consumed_modifiers = 0; update_keyrange (keymap_x11); - + if (hardware_keycode < keymap_x11->min_keycode || hardware_keycode > keymap_x11->max_keycode) return FALSE; @@ -1373,7 +1370,7 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, /* replace bits 13 and 14 with the provided group */ state &= ~(1 << 13 | 1 << 14); state |= group << 13; - + MyEnhancedXkbTranslateKeyCode (xkb, hardware_keycode, state, @@ -1383,7 +1380,7 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, level); if (state & ~tmp_modifiers & LockMask) - tmp_keyval = gdk_keyval_to_upper (tmp_keyval); + tmp_keyval = gdk_keyval_to_upper (tmp_keyval); /* We need to augment the consumed modifiers with LockMask, since * we handle that ourselves, and also with the group bits @@ -1394,40 +1391,40 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, #endif { GdkModifierType bit; - + tmp_modifiers = 0; /* We see what modifiers matter by trying the translation with * and without each possible modifier */ for (bit = GDK_SHIFT_MASK; bit < GDK_BUTTON1_MASK; bit <<= 1) - { - /* Handling of the group here is a bit funky; a traditional - * X keyboard map can have more than two groups, but no way - * of accessing the extra groups is defined. We allow a - * caller to pass in any group to this function, but we - * only can represent switching between group 0 and 1 in - * consumed modifiers. - */ - if (translate_keysym (keymap_x11, hardware_keycode, - (bit == keymap_x11->group_switch_mask) ? 0 : group, - state & ~bit, - NULL, NULL) != - translate_keysym (keymap_x11, hardware_keycode, - (bit == keymap_x11->group_switch_mask) ? 1 : group, - state | bit, - NULL, NULL)) - tmp_modifiers |= bit; - } - + { + /* Handling of the group here is a bit funky; a traditional + * X keyboard map can have more than two groups, but no way + * of accessing the extra groups is defined. We allow a + * caller to pass in any group to this function, but we + * only can represent switching between group 0 and 1 in + * consumed modifiers. + */ + if (translate_keysym (keymap_x11, hardware_keycode, + (bit == keymap_x11->group_switch_mask) ? 0 : group, + state & ~bit, + NULL, NULL) != + translate_keysym (keymap_x11, hardware_keycode, + (bit == keymap_x11->group_switch_mask) ? 1 : group, + state | bit, + NULL, NULL)) + tmp_modifiers |= bit; + } + tmp_keyval = translate_keysym (keymap_x11, hardware_keycode, - group, state, - level, effective_group); + group, state, + level, effective_group); } if (consumed_modifiers) *consumed_modifiers = tmp_modifiers; - + if (keyval) *keyval = tmp_keyval; @@ -1445,11 +1442,11 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, * <gdk/gdkkeysyms.h> header file * but without the leading "GDK_KEY_". * - * Return value: (transfer none): a string containing the name of the key, or + * Return value: (transfer none): a string containing the name of the key, or * %NULL if @keyval is not a valid key. The string should not be modified. **/ gchar* -gdk_keyval_name (guint keyval) +gdk_keyval_name (guint keyval) { switch (keyval) { @@ -1462,7 +1459,7 @@ gdk_keyval_name (guint keyval) case GDK_KEY_KP_Page_Down: return "KP_Page_Down"; } - + return XKeysymToString (keyval); } @@ -1470,15 +1467,15 @@ guint gdk_keyval_from_name (const gchar *keyval_name) { g_return_val_if_fail (keyval_name != NULL, 0); - + return XStringToKeysym (keyval_name); } #ifdef HAVE_XCONVERTCASE void gdk_keyval_convert_case (guint symbol, - guint *lower, - guint *upper) + guint *lower, + guint *upper) { KeySym xlower = 0; KeySym xupper = 0; @@ -1487,12 +1484,12 @@ gdk_keyval_convert_case (guint symbol, if ((symbol & 0xff000000) == 0x01000000) { if (lower) - *lower = gdk_unicode_to_keyval (g_unichar_tolower (symbol & 0x00ffffff)); + *lower = gdk_unicode_to_keyval (g_unichar_tolower (symbol & 0x00ffffff)); if (upper) - *upper = gdk_unicode_to_keyval (g_unichar_toupper (symbol & 0x00ffffff)); + *upper = gdk_unicode_to_keyval (g_unichar_toupper (symbol & 0x00ffffff)); return; } - + if (symbol) XConvertCase (symbol, &xlower, &xupper); @@ -1500,15 +1497,15 @@ gdk_keyval_convert_case (guint symbol, *lower = xlower; if (upper) *upper = xupper; -} +} #endif /* HAVE_XCONVERTCASE */ gint _gdk_x11_get_group_for_state (GdkDisplay *display, - GdkModifierType state) + GdkModifierType state) { GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); - + #ifdef HAVE_XKB if (display_x11->use_xkb) { @@ -1524,12 +1521,12 @@ _gdk_x11_get_group_for_state (GdkDisplay *display, } void -_gdk_keymap_add_virtual_modifiers_compat (GdkKeymap *keymap, - GdkModifierType *modifiers) +_gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap, + GdkModifierType *modifiers) { GdkKeymapX11 *keymap_x11; int i; - + keymap = GET_EFFECTIVE_KEYMAP (keymap); keymap_x11 = GDK_KEYMAP_X11 (keymap); @@ -1537,21 +1534,21 @@ _gdk_keymap_add_virtual_modifiers_compat (GdkKeymap *keymap, { if ((1 << i) & *modifiers) { - if (keymap_x11->modmap[i] & GDK_MOD1_MASK) - *modifiers |= GDK_MOD1_MASK; - else if (keymap_x11->modmap[i] & GDK_SUPER_MASK) - *modifiers |= GDK_SUPER_MASK; - else if (keymap_x11->modmap[i] & GDK_HYPER_MASK) - *modifiers |= GDK_HYPER_MASK; - else if (keymap_x11->modmap[i] & GDK_META_MASK) - *modifiers |= GDK_META_MASK; + if (keymap_x11->modmap[i] & GDK_MOD1_MASK) + *modifiers |= GDK_MOD1_MASK; + else if (keymap_x11->modmap[i] & GDK_SUPER_MASK) + *modifiers |= GDK_SUPER_MASK; + else if (keymap_x11->modmap[i] & GDK_HYPER_MASK) + *modifiers |= GDK_HYPER_MASK; + else if (keymap_x11->modmap[i] & GDK_META_MASK) + *modifiers |= GDK_META_MASK; } } } static void gdk_x11_keymap_add_virtual_modifiers (GdkKeymap *keymap, - GdkModifierType *state) + GdkModifierType *state) { GdkKeymapX11 *keymap_x11; int i; @@ -1563,26 +1560,26 @@ gdk_x11_keymap_add_virtual_modifiers (GdkKeymap *keymap, { if ((1 << i) & *state) { - if (keymap_x11->modmap[i] & GDK_MOD1_MASK) - *state |= GDK_MOD1_MASK; - if (keymap_x11->modmap[i] & GDK_SUPER_MASK) - *state |= GDK_SUPER_MASK; - if (keymap_x11->modmap[i] & GDK_HYPER_MASK) - *state |= GDK_HYPER_MASK; - if (keymap_x11->modmap[i] & GDK_META_MASK) - *state |= GDK_META_MASK; + if (keymap_x11->modmap[i] & GDK_MOD1_MASK) + *state |= GDK_MOD1_MASK; + if (keymap_x11->modmap[i] & GDK_SUPER_MASK) + *state |= GDK_SUPER_MASK; + if (keymap_x11->modmap[i] & GDK_HYPER_MASK) + *state |= GDK_HYPER_MASK; + if (keymap_x11->modmap[i] & GDK_META_MASK) + *state |= GDK_META_MASK; } } } gboolean -_gdk_keymap_key_is_modifier (GdkKeymap *keymap, - guint keycode) +_gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, + guint keycode) { GdkKeymapX11 *keymap_x11; gint i; - keymap = GET_EFFECTIVE_KEYMAP (keymap); + keymap = GET_EFFECTIVE_KEYMAP (keymap); keymap_x11 = GDK_KEYMAP_X11 (keymap); if (keycode < keymap_x11->min_keycode || @@ -1593,18 +1590,18 @@ _gdk_keymap_key_is_modifier (GdkKeymap *keymap, if (KEYMAP_USE_XKB (keymap)) { XkbDescRec *xkb = get_xkb (keymap_x11); - + if (xkb->map->modmap && xkb->map->modmap[keycode] != 0) - return TRUE; + return TRUE; } else #endif { for (i = 0; i < 8 * keymap_x11->mod_keymap->max_keypermod; i++) - { - if (keycode == keymap_x11->mod_keymap->modifiermap[i]) - return TRUE; - } + { + if (keycode == keymap_x11->mod_keymap->modifiermap[i]) + return TRUE; + } } return FALSE; @@ -1612,7 +1609,7 @@ _gdk_keymap_key_is_modifier (GdkKeymap *keymap, static gboolean gdk_x11_keymap_map_virtual_modifiers (GdkKeymap *keymap, - GdkModifierType *state) + GdkModifierType *state) { GdkKeymapX11 *keymap_x11; const guint vmods[] = { diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 93d53ddcf4..88b5ef2551 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -123,15 +123,15 @@ gboolean _gdk_x11_moveresize_handle_event (XEvent *event); gboolean _gdk_x11_moveresize_configure_done (GdkDisplay *display, GdkWindow *window); -void _gdk_keymap_state_changed (GdkDisplay *display, - XEvent *event); -void _gdk_keymap_keys_changed (GdkDisplay *display); -gint _gdk_x11_get_group_for_state (GdkDisplay *display, - GdkModifierType state); -void _gdk_keymap_add_virtual_modifiers_compat (GdkKeymap *keymap, - GdkModifierType *modifiers); -gboolean _gdk_keymap_key_is_modifier (GdkKeymap *keymap, - guint keycode); +void _gdk_x11_keymap_state_changed (GdkDisplay *display, + XEvent *event); +void _gdk_x11_keymap_keys_changed (GdkDisplay *display); +gint _gdk_x11_get_group_for_state (GdkDisplay *display, + GdkModifierType state); +void _gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap, + GdkModifierType *modifiers); +gboolean _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, + guint keycode); void _gdk_x11_initialize_locale (void); void _gdk_x11_windowing_init (void); From 62e9bb06a0004b540c5d10b28b22dc7771b4bd58 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 00:08:42 -0500 Subject: [PATCH 0686/1463] Add a vfunc for gdk_keymap_get_for_display --- gdk/gdkdisplay.c | 16 ++++++++++++++++ gdk/gdkdisplayprivate.h | 2 ++ gdk/x11/gdkdisplay-x11.c | 17 +++++++++++++++++ gdk/x11/gdkkeys-x11.c | 33 ++++----------------------------- gdk/x11/gdkprivate-x11.h | 2 ++ 5 files changed, 41 insertions(+), 29 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index bacefc9359..06b4f5642d 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2535,3 +2535,19 @@ _gdk_display_create_window_impl (GdkDisplay *display, attributes, attributes_mask); } + +/** + * gdk_keymap_get_for_display: + * @display: the #GdkDisplay. + * + * Returns the #GdkKeymap attached to @display. + * + * Return value: (transfer none): the #GdkKeymap attached to @display. + * + * Since: 2.2 + */ +GdkKeymap* +gdk_keymap_get_for_display (GdkDisplay *display) +{ + return GDK_DISPLAY_GET_CLASS (display)->get_keymap (display); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 4b1530243d..2d5630a814 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -191,6 +191,8 @@ struct _GdkDisplayClass GdkWindowAttr *attributes, gint attributes_mask); + GdkKeymap * (*get_keymap) (GdkDisplay *display); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 2ecc335dd3..3f585623f6 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -32,6 +32,7 @@ #include "gdkscreen.h" #include "gdkinternals.h" #include "gdkdeviceprivate.h" +#include "gdkkeysprivate.h" #include "gdkdevicemanager.h" #include "xsettings-client.h" #include "gdkdisplay-x11.h" @@ -2680,6 +2681,21 @@ gdk_x11_display_event_data_free (GdkDisplay *display, { } +static GdkKeymap * +gdk_x11_display_get_keymap (GdkDisplay *display) +{ + GdkDisplayX11 *display_x11; + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + display_x11 = GDK_DISPLAY_X11 (display); + + if (!display_x11->keymap) + display_x11->keymap = g_object_new (_gdk_keymap_x11_get_type (), NULL); + + display_x11->keymap->display = display; + + return display_x11->keymap; +} + static void _gdk_display_x11_class_init (GdkDisplayX11Class * class) { @@ -2726,4 +2742,5 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->event_data_copy = gdk_x11_display_event_data_copy; display_class->event_data_free = gdk_x11_display_event_data_free; display_class->create_window_impl = _gdk_x11_display_create_window_impl; + display_class->get_keymap = gdk_x11_display_get_keymap; } diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 5aa0d26e5e..c18aac1fe9 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -52,7 +52,7 @@ typedef struct _GdkKeymapX11 GdkKeymapX11; typedef struct _GdkKeymapClass GdkKeymapX11Class; -#define GDK_TYPE_KEYMAP_X11 (gdk_keymap_x11_get_type ()) +#define GDK_TYPE_KEYMAP_X11 (_gdk_keymap_x11_get_type ()) #define GDK_KEYMAP_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP_X11, GdkKeymapX11)) #define GDK_IS_KEYMAP_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_KEYMAP_X11)) @@ -102,15 +102,15 @@ struct _GdkKeymapX11 #define KEYMAP_USE_XKB(keymap) GDK_DISPLAY_X11 ((keymap)->display)->use_xkb #define KEYMAP_XDISPLAY(keymap) GDK_DISPLAY_XDISPLAY ((keymap)->display) -static GType gdk_keymap_x11_get_type (void); +GType _gdk_keymap_x11_get_type (void); static void gdk_keymap_x11_class_init (GdkKeymapX11Class *klass); static void gdk_keymap_x11_init (GdkKeymapX11 *keymap); static void gdk_keymap_x11_finalize (GObject *object); static GdkKeymapClass *parent_class = NULL; -static GType -gdk_keymap_x11_get_type (void) +GType +_gdk_keymap_x11_get_type (void) { static GType object_type = 0; @@ -275,31 +275,6 @@ get_xkb (GdkKeymapX11 *keymap_x11) * to checking the next event with XPending(). */ -/** - * gdk_keymap_get_for_display: - * @display: the #GdkDisplay. - * - * Returns the #GdkKeymap attached to @display. - * - * Return value: (transfer none): the #GdkKeymap attached to @display. - * - * Since: 2.2 - **/ -GdkKeymap* -gdk_keymap_get_for_display (GdkDisplay *display) -{ - GdkDisplayX11 *display_x11; - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - display_x11 = GDK_DISPLAY_X11 (display); - - if (!display_x11->keymap) - display_x11->keymap = g_object_new (gdk_keymap_x11_get_type (), NULL); - - display_x11->keymap->display = display; - - return display_x11->keymap; -} - /* Find the index of the group/level pair within the keysyms for a key. * We round up the number of keysyms per keycode to the next even number, * otherwise we lose a whole group of keys diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 88b5ef2551..2d5ba3e31e 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -123,6 +123,8 @@ gboolean _gdk_x11_moveresize_handle_event (XEvent *event); gboolean _gdk_x11_moveresize_configure_done (GdkDisplay *display, GdkWindow *window); +GType _gdk_keymap_x11_get_type (void); + void _gdk_x11_keymap_state_changed (GdkDisplay *display, XEvent *event); void _gdk_x11_keymap_keys_changed (GdkDisplay *display); From 28abd0c75f8ce806c11e0873bf514137f008c3c6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 00:37:39 -0500 Subject: [PATCH 0687/1463] Add vfuncs for atoms --- gdk/gdkdisplaymanager.c | 66 +++++++++++++++++++++++ gdk/gdkdisplaymanagerprivate.h | 5 ++ gdk/x11/gdkdisplaymanager-x11.c | 2 + gdk/x11/gdkprivate-x11.h | 14 +++-- gdk/x11/gdkproperty-x11.c | 93 ++++++++------------------------- 5 files changed, 104 insertions(+), 76 deletions(-) diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 7cb067edf9..60f5302b2c 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -286,3 +286,69 @@ gdk_display_manager_open_display (GdkDisplayManager *manager, { return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->open_display (manager, name); } + +/** + * gdk_atom_intern: + * @atom_name: a string. + * @only_if_exists: if %TRUE, GDK is allowed to not create a new atom, but + * just return %GDK_NONE if the requested atom doesn't already + * exists. Currently, the flag is ignored, since checking the + * existance of an atom is as expensive as creating it. + * + * Finds or creates an atom corresponding to a given string. + * + * Returns: the atom corresponding to @atom_name. + */ +GdkAtom +gdk_atom_intern (const gchar *atom_name, + gboolean only_if_exists) +{ + GdkDisplayManager *manager = gdk_display_manager_get (); + + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->atom_intern (manager, atom_name, TRUE); +} + +/** + * gdk_atom_intern_static_string: + * @atom_name: a static string + * + * Finds or creates an atom corresponding to a given string. + * + * Note that this function is identical to gdk_atom_intern() except + * that if a new #GdkAtom is created the string itself is used rather + * than a copy. This saves memory, but can only be used if the string + * will always exist. It can be used with statically + * allocated strings in the main program, but not with statically + * allocated memory in dynamically loaded modules, if you expect to + * ever unload the module again (e.g. do not use this function in + * GTK+ theme engines). + * + * Returns: the atom corresponding to @atom_name + * + * Since: 2.10 + */ +GdkAtom +gdk_atom_intern_static_string (const gchar *atom_name) +{ + GdkDisplayManager *manager = gdk_display_manager_get (); + + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->atom_intern (manager, atom_name, FALSE); +} + +/** + * gdk_atom_name: + * @atom: a #GdkAtom. + * + * Determines the string corresponding to an atom. + * + * Returns: a newly-allocated string containing the string + * corresponding to @atom. When you are done with the + * return value, you should free it using g_free(). + */ +gchar * +gdk_atom_name (GdkAtom atom) +{ + GdkDisplayManager *manager = gdk_display_manager_get (); + + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_atom_name (manager, atom); +} diff --git a/gdk/gdkdisplaymanagerprivate.h b/gdk/gdkdisplaymanagerprivate.h index f10d00a79f..70afd7df59 100644 --- a/gdk/gdkdisplaymanagerprivate.h +++ b/gdk/gdkdisplaymanagerprivate.h @@ -39,6 +39,11 @@ struct _GdkDisplayManagerClass GdkDisplay *display); GdkDisplay * (*open_display) (GdkDisplayManager *manager, const gchar *name); + GdkAtom (*atom_intern) (GdkDisplayManager *manager, + const gchar *atom_name, + gboolean copy_name); + gchar * (*get_atom_name) (GdkDisplayManager *manager, + GdkAtom atom); /* signals */ void (*display_opened) (GdkDisplayManager *manager, diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index ddb9e4f571..aef1a6dc3c 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -102,6 +102,8 @@ gdk_display_manager_x11_class_init (GdkDisplayManagerX11Class *class) manager_class->list_displays = gdk_display_manager_x11_list_displays; manager_class->set_default_display = gdk_display_manager_x11_set_default_display; manager_class->get_default_display = gdk_display_manager_x11_get_default_display; + manager_class->atom_intern = _gdk_x11_display_manager_atom_intern; + manager_class->get_atom_name = _gdk_x11_display_manager_get_atom_name; } void diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 2d5ba3e31e..ed9513955f 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -159,10 +159,16 @@ void _gdk_x11_device_check_extension_events (GdkDevice *device); GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display); -void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, - GdkDisplay *display); -void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, - GdkDisplay *display); +void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, + GdkDisplay *display); +void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, + GdkDisplay *display); + +GdkAtom _gdk_x11_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gboolean copy_name); +gchar * _gdk_x11_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom); GdkCursor *_gdk_x11_display_get_cursor_for_type (GdkDisplay *display, GdkCursorType type); diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index fdc32a4176..d0ec2d701f 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -393,87 +393,44 @@ virtual_atom_check_init (void) if (!virtual_atom_hash) { gint i; - + virtual_atom_hash = g_hash_table_new (g_str_hash, g_str_equal); virtual_atom_array = g_ptr_array_new (); - + for (i = 0; i < G_N_ELEMENTS (xatoms_offset); i++) - { - g_ptr_array_add (virtual_atom_array, (gchar *)(xatoms_string + xatoms_offset[i])); - g_hash_table_insert (virtual_atom_hash, (gchar *)(xatoms_string + xatoms_offset[i]), - GUINT_TO_POINTER (i)); - } + { + g_ptr_array_add (virtual_atom_array, (gchar *)(xatoms_string + xatoms_offset[i])); + g_hash_table_insert (virtual_atom_hash, (gchar *)(xatoms_string + xatoms_offset[i]), + GUINT_TO_POINTER (i)); + } } } -static GdkAtom -intern_atom (const gchar *atom_name, - gboolean dup) +GdkAtom +_gdk_x11_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gboolean dup) { GdkAtom result; virtual_atom_check_init (); - + result = GDK_POINTER_TO_ATOM (g_hash_table_lookup (virtual_atom_hash, atom_name)); if (!result) { result = INDEX_TO_ATOM (virtual_atom_array->len); - + g_ptr_array_add (virtual_atom_array, dup ? g_strdup (atom_name) : (gchar *)atom_name); - g_hash_table_insert (virtual_atom_hash, - g_ptr_array_index (virtual_atom_array, - ATOM_TO_INDEX (result)), - GDK_ATOM_TO_POINTER (result)); + g_hash_table_insert (virtual_atom_hash, + g_ptr_array_index (virtual_atom_array, + ATOM_TO_INDEX (result)), + GDK_ATOM_TO_POINTER (result)); } return result; } -/** - * gdk_atom_intern: - * @atom_name: a string. - * @only_if_exists: if %TRUE, GDK is allowed to not create a new atom, but - * just return %GDK_NONE if the requested atom doesn't already - * exists. Currently, the flag is ignored, since checking the - * existance of an atom is as expensive as creating it. - * - * Finds or creates an atom corresponding to a given string. - * - * Returns: the atom corresponding to @atom_name. - */ -GdkAtom -gdk_atom_intern (const gchar *atom_name, - gboolean only_if_exists) -{ - return intern_atom (atom_name, TRUE); -} - -/** - * gdk_atom_intern_static_string: - * @atom_name: a static string - * - * Finds or creates an atom corresponding to a given string. - * - * Note that this function is identical to gdk_atom_intern() except - * that if a new #GdkAtom is created the string itself is used rather - * than a copy. This saves memory, but can only be used if the string - * will always exist. It can be used with statically - * allocated strings in the main program, but not with statically - * allocated memory in dynamically loaded modules, if you expect to - * ever unload the module again (e.g. do not use this function in - * GTK+ theme engines). - * - * Returns: the atom corresponding to @atom_name - * - * Since: 2.10 - */ -GdkAtom -gdk_atom_intern_static_string (const gchar *atom_name) -{ - return intern_atom (atom_name, FALSE); -} - -static G_CONST_RETURN char * +static const gchar * get_atom_name (GdkAtom atom) { virtual_atom_check_init (); @@ -484,18 +441,10 @@ get_atom_name (GdkAtom atom) return NULL; } -/** - * gdk_atom_name: - * @atom: a #GdkAtom. - * - * Determines the string corresponding to an atom. - * - * Returns: a newly-allocated string containing the string - * corresponding to @atom. When you are done with the - * return value, you should free it using g_free(). - */ + gchar * -gdk_atom_name (GdkAtom atom) +_gdk_x11_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom) { return g_strdup (get_atom_name (atom)); } From afa0ebf36bda82182d8b2c9a28fd777927d93374 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 01:21:49 -0500 Subject: [PATCH 0688/1463] Add vfuncs for gdk_test apis --- gdk/gdkdisplay.c | 143 +++++++++++++++++++++++++++++++++++++ gdk/gdkdisplayprivate.h | 3 + gdk/gdkwindow.c | 99 +++++++++++++++++++++++++ gdk/gdkwindowimpl.h | 14 ++++ gdk/x11/gdkdisplay-x11.c | 17 +++++ gdk/x11/gdkmain-x11.c | 143 +------------------------------------ gdk/x11/gdkprivate-x11.h | 14 ++++ gdk/x11/gdktestutils-x11.c | 95 ++++-------------------- gdk/x11/gdkwindow-x11.c | 3 + 9 files changed, 307 insertions(+), 224 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 06b4f5642d..335f7d98dc 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2551,3 +2551,146 @@ gdk_keymap_get_for_display (GdkDisplay *display) { return GDK_DISPLAY_GET_CLASS (display)->get_keymap (display); } + +typedef struct _GdkGlobalErrorTrap GdkGlobalErrorTrap; + +struct _GdkGlobalErrorTrap +{ + GSList *displays; +}; + +static GQueue gdk_error_traps = G_QUEUE_INIT; + +/** + * gdk_error_trap_push: + * + * This function allows X errors to be trapped instead of the normal + * behavior of exiting the application. It should only be used if it + * is not possible to avoid the X error in any other way. Errors are + * ignored on all #GdkDisplay currently known to the + * #GdkDisplayManager. If you don't care which error happens and just + * want to ignore everything, pop with gdk_error_trap_pop_ignored(). + * If you need the error code, use gdk_error_trap_pop() which may have + * to block and wait for the error to arrive from the X server. + * + * This API exists on all platforms but only does anything on X. + * + * You can use gdk_x11_display_error_trap_push() to ignore errors + * on only a single display. + * +* + * Trapping an X error + * + * gdk_error_trap_push (); + * + * // ... Call the X function which may cause an error here ... + * + * + * if (gdk_error_trap_pop ()) + * { + * // ... Handle the error here ... + * } + * + * + */ +void +gdk_error_trap_push (void) +{ + GdkDisplayManager *manager; + GdkDisplayClass *class; + GdkGlobalErrorTrap *trap; + GSList *l; + + manager = gdk_display_manager_get (); + class = GDK_DISPLAY_GET_CLASS (gdk_display_manager_get_default_display (manager)); + + if (class->push_error_trap == NULL) + return; + + trap = g_slice_new (GdkGlobalErrorTrap); + trap->displays = gdk_display_manager_list_displays (manager); + + g_slist_foreach (trap->displays, (GFunc) g_object_ref, NULL); + for (l = trap->displays; l != NULL; l = l->next) + { + class->push_error_trap (l->data); + } + + g_queue_push_head (&gdk_error_traps, trap); +} + +static gint +gdk_error_trap_pop_internal (gboolean need_code) +{ + GdkDisplayManager *manager; + GdkDisplayClass *class; + GdkGlobalErrorTrap *trap; + gint result; + GSList *l; + + manager = gdk_display_manager_get (); + class = GDK_DISPLAY_GET_CLASS (gdk_display_manager_get_default_display (manager)); + + if (class->pop_error_trap == NULL) + return 0; + + trap = g_queue_pop_head (&gdk_error_traps); + + g_return_val_if_fail (trap != NULL, 0); + + result = 0; + for (l = trap->displays; l != NULL; l = l->next) + { + gint code = 0; + + code = class->pop_error_trap (l->data, !need_code); + + /* we use the error on the last display listed, why not. */ + if (code != 0) + result = code; + } + + g_slist_free_full (trap->displays, g_object_unref); + g_slice_free (GdkGlobalErrorTrap, trap); + + return result; +} + +/** + * gdk_error_trap_pop_ignored: + * + * Removes an error trap pushed with gdk_error_trap_push(), but + * without bothering to wait and see whether an error occurred. If an + * error arrives later asynchronously that was triggered while the + * trap was pushed, that error will be ignored. + * + * Since: 3.0 + */ +void +gdk_error_trap_pop_ignored (void) +{ + gdk_error_trap_pop_internal (FALSE); +} + +/** + * gdk_error_trap_pop: + * + * Removes an error trap pushed with gdk_error_trap_push(). + * May block until an error has been definitively received + * or not received from the X server. gdk_error_trap_pop_ignored() + * is preferred if you don't need to know whether an error + * occurred, because it never has to block. If you don't + * need the return value of gdk_error_trap_pop(), use + * gdk_error_trap_pop_ignored(). + * + * Prior to GDK 3.0, this function would not automatically + * sync for you, so you had to gdk_flush() if your last + * call to Xlib was not a blocking round trip. + * + * Return value: X error code or 0 on success + */ +gint +gdk_error_trap_pop (void) +{ + return gdk_error_trap_pop_internal (TRUE); +} diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 2d5630a814..f3e48fb56b 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -192,6 +192,9 @@ struct _GdkDisplayClass gint attributes_mask); GdkKeymap * (*get_keymap) (GdkDisplay *display); + void (*push_error_trap) (GdkDisplay *display); + gint (*pop_error_trap) (GdkDisplay *display, + gboolean ignore); /* Signals */ void (*closed) (GdkDisplay *display, diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index b0b1fc0aeb..d949e8ba1b 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -10714,3 +10714,102 @@ gdk_drag_begin_for_device (GdkWindow *window, { return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->drag_begin (window, device, targets); } + +/** + * gdk_test_render_sync: + * @window: a mapped #GdkWindow + * + * This function retrieves a pixel from @window to force the windowing + * system to carry out any pending rendering commands. + * This function is intended to be used to syncronize with rendering + * pipelines, to benchmark windowing system rendering operations. + * + * Since: 2.14 + **/ +void +gdk_test_render_sync (GdkWindow *window) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->sync_rendering (window); +} + +/** + * gdk_test_simulate_key + * @window: a #GdkWindow to simulate a key event for. + * @x: x coordinate within @window for the key event. + * @y: y coordinate within @window for the key event. + * @keyval: A GDK keyboard value. + * @modifiers: Keyboard modifiers the event is setup with. + * @key_pressrelease: either %GDK_KEY_PRESS or %GDK_KEY_RELEASE + * + * This function is intended to be used in GTK+ test programs. + * If (@x,@y) are > (-1,-1), it will warp the mouse pointer to + * the given (@x,@y) corrdinates within @window and simulate a + * key press or release event. + * + * When the mouse pointer is warped to the target location, use + * of this function outside of test programs that run in their + * own virtual windowing system (e.g. Xvfb) is not recommended. + * If (@x,@y) are passed as (-1,-1), the mouse pointer will not + * be warped and @window origin will be used as mouse pointer + * location for the event. + * + * Also, gtk_test_simulate_key() is a fairly low level function, + * for most testing purposes, gtk_test_widget_send_key() is the + * right function to call which will generate a key press event + * followed by its accompanying key release event. + * + * Returns: whether all actions neccessary for a key event simulation + * were carried out successfully. + * + * Since: 2.14 + */ +gboolean +gdk_test_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl) + ->simulate_key (window, x, y, keyval, modifiers, key_pressrelease); +} + +/** + * gdk_test_simulate_button + * @window: a #GdkWindow to simulate a button event for. + * @x: x coordinate within @window for the button event. + * @y: y coordinate within @window for the button event. + * @button: Number of the pointer button for the event, usually 1, 2 or 3. + * @modifiers: Keyboard modifiers the event is setup with. + * @button_pressrelease: either %GDK_BUTTON_PRESS or %GDK_BUTTON_RELEASE + * + * This function is intended to be used in GTK+ test programs. + * It will warp the mouse pointer to the given (@x,@y) corrdinates + * within @window and simulate a button press or release event. + * Because the mouse pointer needs to be warped to the target + * location, use of this function outside of test programs that + * run in their own virtual windowing system (e.g. Xvfb) is not + * recommended. + * +* Also, gtk_test_simulate_button() is a fairly low level function, + * for most testing purposes, gtk_test_widget_click() is the right + * function to call which will generate a button press event followed + * by its accompanying button release event. + * + * Returns: whether all actions neccessary for a button event simulation + * were carried out successfully. + * + * Since: 2.14 + **/ +gboolean +gdk_test_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, /*1..3*/ + GdkModifierType modifiers, + GdkEventType button_pressrelease) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl) + ->simulate_button (window, x, y, button, modifiers, button_pressrelease); +} diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index fe50b7a5ca..0b7695e692 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -254,6 +254,20 @@ struct _GdkWindowImplClass void (*process_updates_recurse) (GdkWindow *window, cairo_region_t *region); + + void (*sync_rendering) (GdkWindow *window); + gboolean (*simulate_key) (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType event_type); + gboolean (*simulate_button) (GdkWindow *window, + gint x, + gint y, + guint button, + GdkModifierType modifiers, + GdkEventType event_type); }; /* Interface Functions */ diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 3f585623f6..f24614a516 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2681,6 +2681,21 @@ gdk_x11_display_event_data_free (GdkDisplay *display, { } +static gint +pop_error_trap (GdkDisplay *display, + gboolean ignored) +{ + if (ignored) + { + gdk_x11_display_error_trap_pop_ignored (display); + return Success; + } + else + { + return gdk_x11_display_error_trap_pop (display); + } +} + static GdkKeymap * gdk_x11_display_get_keymap (GdkDisplay *display) { @@ -2743,4 +2758,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->event_data_free = gdk_x11_display_event_data_free; display_class->create_window_impl = _gdk_x11_display_create_window_impl; display_class->get_keymap = gdk_x11_display_get_keymap; + display_class->push_error_trap = gdk_x11_display_error_trap_push; + display_class->pop_error_trap = pop_error_trap; } diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index b3de1684ab..f629da16d5 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -49,7 +49,6 @@ #endif typedef struct _GdkPredicate GdkPredicate; -typedef struct _GdkGlobalErrorTrap GdkGlobalErrorTrap; struct _GdkPredicate { @@ -63,12 +62,7 @@ static GdkXErrorHandler _gdk_old_error_handler; /* number of times we've pushed the GDK error handler */ static int _gdk_error_handler_push_count = 0; -struct _GdkGlobalErrorTrap -{ - GSList *displays; -}; - -/* +/* * Private function declarations */ @@ -83,16 +77,11 @@ static int gdk_x_error (Display *display, XErrorEvent *error); static int gdk_x_io_error (Display *display); -/* Private variable declarations - */ -static GQueue gdk_error_traps; - void _gdk_x11_windowing_init (void) { _gdk_x11_initialize_locale (); - g_queue_init (&gdk_error_traps); XSetErrorHandler (gdk_x_error); XSetIOErrorHandler (gdk_x_io_error); } @@ -322,136 +311,6 @@ _gdk_x11_error_handler_pop (void) } } -/** - * gdk_error_trap_push: - * - * This function allows X errors to be trapped instead of the normal - * behavior of exiting the application. It should only be used if it - * is not possible to avoid the X error in any other way. Errors are - * ignored on all #GdkDisplay currently known to the - * #GdkDisplayManager. If you don't care which error happens and just - * want to ignore everything, pop with gdk_error_trap_pop_ignored(). - * If you need the error code, use gdk_error_trap_pop() which may have - * to block and wait for the error to arrive from the X server. - * - * This API exists on all platforms but only does anything on X. - * - * You can use gdk_x11_display_error_trap_push() to ignore errors - * on only a single display. - * - * - * Trapping an X error - * - * gdk_error_trap_push (); - * - * // ... Call the X function which may cause an error here ... - * - * - * if (gdk_error_trap_pop ()) - * { - * // ... Handle the error here ... - * } - * - * - * - */ -void -gdk_error_trap_push (void) -{ - GdkGlobalErrorTrap *trap; - GdkDisplayManager *manager; - GSList *tmp_list; - - trap = g_slice_new (GdkGlobalErrorTrap); - manager = gdk_display_manager_get (); - trap->displays = gdk_display_manager_list_displays (manager); - - g_slist_foreach (trap->displays, (GFunc) g_object_ref, NULL); - for (tmp_list = trap->displays; - tmp_list != NULL; - tmp_list = tmp_list->next) - { - gdk_x11_display_error_trap_push (tmp_list->data); - } - - g_queue_push_head (&gdk_error_traps, trap); -} - -static gint -gdk_error_trap_pop_internal (gboolean need_code) -{ - GdkGlobalErrorTrap *trap; - gint result; - GSList *tmp_list; - - trap = g_queue_pop_head (&gdk_error_traps); - - g_return_val_if_fail (trap != NULL, Success); - - result = Success; - for (tmp_list = trap->displays; - tmp_list != NULL; - tmp_list = tmp_list->next) - { - gint code = Success; - - if (need_code) - code = gdk_x11_display_error_trap_pop (tmp_list->data); - else - gdk_x11_display_error_trap_pop_ignored (tmp_list->data); - - /* we use the error on the last display listed, why not. */ - if (code != Success) - result = code; - } - - g_slist_foreach (trap->displays, (GFunc) g_object_unref, NULL); - g_slist_free (trap->displays); - - g_slice_free (GdkGlobalErrorTrap, trap); - - return result; -} - -/** - * gdk_error_trap_pop_ignored: - * - * Removes an error trap pushed with gdk_error_trap_push(), but - * without bothering to wait and see whether an error occurred. If an - * error arrives later asynchronously that was triggered while the - * trap was pushed, that error will be ignored. - * - * Since: 3.0 - */ -void -gdk_error_trap_pop_ignored (void) -{ - gdk_error_trap_pop_internal (FALSE); -} - -/** - * gdk_error_trap_pop: - * - * Removes an error trap pushed with gdk_error_trap_push(). - * May block until an error has been definitively received - * or not received from the X server. gdk_error_trap_pop_ignored() - * is preferred if you don't need to know whether an error - * occurred, because it never has to block. If you don't - * need the return value of gdk_error_trap_pop(), use - * gdk_error_trap_pop_ignored(). - * - * Prior to GDK 3.0, this function would not automatically - * sync for you, so you had to gdk_flush() if your last - * call to Xlib was not a blocking round trip. - * - * Return value: X error code or 0 on success - */ -gint -gdk_error_trap_pop (void) -{ - return gdk_error_trap_pop_internal (TRUE); -} - gint _gdk_x11_display_send_xevent (GdkDisplay *display, Window window, diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index ed9513955f..67e23a1e86 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -99,6 +99,20 @@ void _gdk_x11_window_process_expose (GdkWindow *window, gulong serial, GdkRectangle *area); +void _gdk_x11_window_sync_rendering (GdkWindow *window); +gboolean _gdk_x11_window_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease); +gboolean _gdk_x11_window_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, + GdkModifierType modifiers, + GdkEventType button_pressrelease); + gboolean _gdk_x11_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area); void _gdk_x11_window_translate (GdkWindow *window, diff --git a/gdk/x11/gdktestutils-x11.c b/gdk/x11/gdktestutils-x11.c index 0068bbea60..7b5916f7ec 100644 --- a/gdk/x11/gdktestutils-x11.c +++ b/gdk/x11/gdktestutils-x11.c @@ -27,19 +27,8 @@ #include -/** - * gdk_test_render_sync: - * @window: a mapped #GdkWindow - * - * This function retrieves a pixel from @window to force the windowing - * system to carry out any pending rendering commands. - * This function is intended to be used to syncronize with rendering - * pipelines, to benchmark windowing system rendering operations. - * - * Since: 2.14 - **/ void -gdk_test_render_sync (GdkWindow *window) +_gdk_x11_window_sync_rendering (GdkWindow *window) { Display *display = GDK_WINDOW_XDISPLAY (window); XImage *ximage; @@ -53,44 +42,13 @@ gdk_test_render_sync (GdkWindow *window) XDestroyImage (ximage); } -/** - * gdk_test_simulate_key - * @window: a #GdkWindow to simulate a key event for. - * @x: x coordinate within @window for the key event. - * @y: y coordinate within @window for the key event. - * @keyval: A GDK keyboard value. - * @modifiers: Keyboard modifiers the event is setup with. - * @key_pressrelease: either %GDK_KEY_PRESS or %GDK_KEY_RELEASE - * - * This function is intended to be used in GTK+ test programs. - * If (@x,@y) are > (-1,-1), it will warp the mouse pointer to - * the given (@x,@y) corrdinates within @window and simulate a - * key press or release event. - * - * When the mouse pointer is warped to the target location, use - * of this function outside of test programs that run in their - * own virtual windowing system (e.g. Xvfb) is not recommended. - * If (@x,@y) are passed as (-1,-1), the mouse pointer will not - * be warped and @window origin will be used as mouse pointer - * location for the event. - * - * Also, gtk_test_simulate_key() is a fairly low level function, - * for most testing purposes, gtk_test_widget_send_key() is the - * right function to call which will generate a key press event - * followed by its accompanying key release event. - * - * Returns: whether all actions neccessary for a key event simulation - * were carried out successfully. - * - * Since: 2.14 - **/ gboolean -gdk_test_simulate_key (GdkWindow *window, - gint x, - gint y, - guint keyval, - GdkModifierType modifiers, - GdkEventType key_pressrelease) +_gdk_x11_window_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease) { GdkScreen *screen; GdkKeymapKey *keys = NULL; @@ -162,40 +120,13 @@ gdk_test_simulate_key (GdkWindow *window, return success; } -/** - * gdk_test_simulate_button - * @window: a #GdkWindow to simulate a button event for. - * @x: x coordinate within @window for the button event. - * @y: y coordinate within @window for the button event. - * @button: Number of the pointer button for the event, usually 1, 2 or 3. - * @modifiers: Keyboard modifiers the event is setup with. - * @button_pressrelease: either %GDK_BUTTON_PRESS or %GDK_BUTTON_RELEASE - * - * This function is intended to be used in GTK+ test programs. - * It will warp the mouse pointer to the given (@x,@y) corrdinates - * within @window and simulate a button press or release event. - * Because the mouse pointer needs to be warped to the target - * location, use of this function outside of test programs that - * run in their own virtual windowing system (e.g. Xvfb) is not - * recommended. - * - * Also, gtk_test_simulate_button() is a fairly low level function, - * for most testing purposes, gtk_test_widget_click() is the right - * function to call which will generate a button press event followed - * by its accompanying button release event. - * - * Returns: whether all actions neccessary for a button event simulation - * were carried out successfully. - * - * Since: 2.14 - **/ gboolean -gdk_test_simulate_button (GdkWindow *window, - gint x, - gint y, - guint button, /*1..3*/ - GdkModifierType modifiers, - GdkEventType button_pressrelease) +_gdk_x11_window_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, /*1..3*/ + GdkModifierType modifiers, + GdkEventType button_pressrelease) { GdkScreen *screen; XButtonEvent xev = { diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 98eabe0d11..07746d0112 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4759,4 +4759,7 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->register_dnd = _gdk_x11_window_register_dnd; impl_class->drag_begin = _gdk_x11_window_drag_begin; impl_class->process_updates_recurse = gdk_x11_window_process_updates_recurse; + impl_class->sync_rendering = _gdk_x11_window_sync_rendering; + impl_class->simulate_key = _gdk_x11_window_simulate_key; + impl_class->simulate_button = _gdk_x11_window_simulate_button; } From 2211e52ec5facb192cd07d06bf8175ed1ba26c2d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 23:42:17 -0500 Subject: [PATCH 0689/1463] Don't use gtk_set_locale --- tests/flicker.c | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/flicker.c b/tests/flicker.c index 738ff341c8..2bd53ce53e 100644 --- a/tests/flicker.c +++ b/tests/flicker.c @@ -204,7 +204,6 @@ main (int argc, char *argv[]) { GtkWidget *window1; - gtk_set_locale (); gtk_init (&argc, &argv); window1 = create_flicker (); From fdabc9585d4d8616926c4acf09f114f8e00c383b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 11:33:43 -0500 Subject: [PATCH 0690/1463] Drop g[dt]k_set_locale These functions were essentially just calling setlocale anyway. The X11 version was also setting a gdk_use_mb variable that is not used anywhere. --- docs/reference/gdk/gdk3-sections.txt | 2 - docs/reference/gtk/gtk3-sections.txt | 1 - gdk/Makefile.am | 1 - gdk/gdk.symbols | 1 - gdk/gdkmain.h | 24 +------ gdk/x11/Makefile.am | 1 - gdk/x11/gdkdisplay-x11.c | 6 +- gdk/x11/gdkdnd-x11.c | 5 +- gdk/x11/gdkim-x11.c | 103 --------------------------- gdk/x11/gdkmain-x11.c | 2 - gdk/x11/gdkprivate-x11.h | 5 +- gtk/gtk.symbols | 1 - gtk/gtkmain.c | 31 -------- gtk/gtkmain.h | 1 - 14 files changed, 6 insertions(+), 178 deletions(-) delete mode 100644 gdk/x11/gdkim-x11.c diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 0b45b1609a..90cf828c5f 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -8,8 +8,6 @@ gdk_init gdk_init_check gdk_parse_args gdk_get_display_arg_name -gdk_set_locale -gdk_set_sm_client_id gdk_notify_startup_complete gdk_notify_startup_complete_with_id diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 41dbae93ee..b9e6387f01 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5282,7 +5282,6 @@ gtk_window_group_get_type
gtkmain General -gtk_set_locale gtk_disable_setlocale gtk_get_default_language gtk_parse_args diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 12b6fd6340..b07af094cb 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -201,7 +201,6 @@ x11_introspection_files = \ x11/gdkeventsource.c \ x11/gdkeventtranslator.c \ x11/gdkgeometry-x11.c \ - x11/gdkim-x11.c \ x11/gdkkeys-x11.c \ x11/gdkmain-x11.c \ x11/gdkproperty-x11.c \ diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index fb0ed55e28..15f28c24cd 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -317,7 +317,6 @@ gdk_selection_property_get gdk_selection_send_notify gdk_selection_send_notify_for_display gdk_set_double_click_time -gdk_set_locale gdk_set_pointer_hooks gdk_set_program_class gdk_set_show_events diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index b9915a3bcf..28b587791c 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -50,29 +50,7 @@ gboolean gdk_init_check (gint *argc, void gdk_add_option_entries_libgtk_only (GOptionGroup *group); void gdk_pre_parse_libgtk_only (void); -/** - * gdk_set_locale: - * - * Initializes the support for internationalization by calling the setlocale() - * system call. This function is called by gtk_set_locale() and so GTK+ - * applications should use that instead. - * - * The locale to use is determined by the LANG environment variable, - * so to run an application in a certain locale you can do something like this: - * - * - * export LANG="fr" - * ... run application ... - * - * - * - * If the locale is not supported by X then it is reset to the standard "C" - * locale. - * - * Returns: the resulting locale. - */ -gchar* gdk_set_locale (void); -void gdk_disable_multidevice (void); +void gdk_enable_multidevice (void); G_CONST_RETURN gchar *gdk_get_program_class (void); void gdk_set_program_class (const gchar *program_class); diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 72487ae518..4422b2b7d3 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -36,7 +36,6 @@ libgdk_x11_la_SOURCES = \ gdkeventtranslator.c \ gdkeventtranslator.h \ gdkgeometry-x11.c \ - gdkim-x11.c \ gdkkeys-x11.c \ gdkmain-x11.c \ gdkproperty-x11.c \ diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index f24614a516..7bcb5dec74 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1117,7 +1117,7 @@ gdk_event_init (GdkDisplay *display) } static void -gdk_input_init (GdkDisplay *display) +gdk_x11_display_init_input (GdkDisplay *display) { GdkDisplayX11 *display_x11; GdkDeviceManager *device_manager; @@ -1446,8 +1446,8 @@ _gdk_x11_display_open (const gchar *display_name) } #endif - gdk_input_init (display); - _gdk_x11_dnd_init (display); + gdk_x11_display_init_input (display); + _gdk_x11_display_init_dnd (display); for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) _gdk_x11_screen_setup (display_x11->screens[i]); diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 4be4e9c0b9..eff8bd39db 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3072,11 +3072,8 @@ xdnd_drop_filter (GdkXEvent *xev, return GDK_FILTER_REMOVE; } -/************************************************************* - ************************** Public API *********************** - *************************************************************/ void -_gdk_x11_dnd_init (GdkDisplay *display) +_gdk_x11_display_init_dnd (GdkDisplay *display) { int i; init_byte_order (); diff --git a/gdk/x11/gdkim-x11.c b/gdk/x11/gdkim-x11.c deleted file mode 100644 index 4d43ea1144..0000000000 --- a/gdk/x11/gdkim-x11.c +++ /dev/null @@ -1,103 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include "gdkmain.h" -#include "gdkinternals.h" -#include "gdkdisplay-x11.h" -#include "gdkprivate-x11.h" - -#include -#include -#include - - -/* If this variable is FALSE, it indicates that we should - * avoid trying to use multibyte conversion functions and - * assume everything is 1-byte per character - */ -static gboolean gdk_use_mb; - -void -_gdk_x11_initialize_locale (void) -{ - wchar_t result; - gchar *current_locale; - static char *last_locale = NULL; - - gdk_use_mb = FALSE; - - current_locale = setlocale (LC_ALL, NULL); - - if (last_locale && strcmp (last_locale, current_locale) == 0) - return; - - g_free (last_locale); - last_locale = g_strdup (current_locale); - - if (XSupportsLocale ()) - XSetLocaleModifiers (""); - - if ((strcmp (current_locale, "C")) && (strcmp (current_locale, "POSIX"))) - { - gdk_use_mb = TRUE; - -#ifndef X_LOCALE - /* Detect ancient GNU libc, where mb == UTF8. Not useful unless it's - * really a UTF8 locale. The below still probably will - * screw up on Greek, Cyrillic, etc, encoded as UTF8. - */ - - if ((MB_CUR_MAX == 2) && - (mbstowcs (&result, "\xdd\xa5", 1) > 0) && - result == 0x765) - { - if ((strlen (current_locale) < 4) || - g_ascii_strcasecmp (current_locale + strlen(current_locale) - 4, - "utf8")) - gdk_use_mb = FALSE; - } -#endif /* X_LOCALE */ - } - - GDK_NOTE (XIM, - g_message ("%s multi-byte string functions.", - gdk_use_mb ? "Using" : "Not using")); - - return; -} - -gchar* -gdk_set_locale (void) -{ - if (!setlocale (LC_ALL,"")) - g_warning ("locale not supported by C library"); - - _gdk_x11_initialize_locale (); - - return setlocale (LC_ALL, NULL); -} diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index f629da16d5..13434db792 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -80,8 +80,6 @@ static int gdk_x_io_error (Display *display); void _gdk_x11_windowing_init (void) { - _gdk_x11_initialize_locale (); - XSetErrorHandler (gdk_x_error); XSetIOErrorHandler (gdk_x_io_error); } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 67e23a1e86..4dc341c346 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -149,7 +149,6 @@ void _gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap, gboolean _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, guint keycode); -void _gdk_x11_initialize_locale (void); void _gdk_x11_windowing_init (void); void _gdk_x11_window_grab_check_unmap (GdkWindow *window, @@ -214,9 +213,7 @@ void _gdk_x11_precache_atoms (GdkDisplay *display, const gchar * const *atom_names, gint n_atoms); -void _gdk_events_init (GdkDisplay *display); -void _gdk_events_uninit (GdkDisplay *display); -void _gdk_x11_dnd_init (GdkDisplay *display); +void _gdk_x11_display_init_dnd (GdkDisplay *display); void _gdk_x11_screen_init_root_window (GdkScreen *screen); void _gdk_x11_screen_init_visuals (GdkScreen *screen); diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 3c768c41d3..ff655c745b 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2305,7 +2305,6 @@ gtk_separator_tool_item_get_type G_GNUC_CONST gtk_separator_tool_item_new gtk_separator_tool_item_set_draw gtk_set_debug_flags -gtk_set_locale gtk_settings_get_default gtk_settings_get_for_screen gtk_settings_get_type G_GNUC_CONST diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index dc272600fe..afacd3fb6b 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1169,37 +1169,6 @@ gtk_init_check_abi_check (int *argc, char ***argv, int num_checks, size_t sizeof #endif -/** - * gtk_set_locale: - * - * Initializes internationalization support for GTK+. gtk_init() - * automatically does this, so there is typically no point - * in calling this function. - * - * If you are calling this function because you changed the locale - * after GTK+ is was initialized, then calling this function - * may help a bit. (Note, however, that changing the locale - * after GTK+ is initialized may produce inconsistent results and - * is not really supported.) - * - * In detail - sets the current locale according to the - * program environment. This is the same as calling the C library function - * setlocale (LC_ALL, "") but also takes care of the - * locale specific setup of the windowing system used by GDK. - * - * Returns: a string corresponding to the locale set, typically in the - * form lang_COUNTRY, where lang is an ISO-639 language code, and - * COUNTRY is an ISO-3166 country code. On Unix, this form matches the - * result of the setlocale(); it is also used on other machines, such as - * Windows, where the C library returns a different result. The string is - * owned by GTK+ and should not be modified or freed. - **/ -gchar * -gtk_set_locale (void) -{ - return gdk_set_locale (); -} - /** * _gtk_get_lc_ctype: * diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 1549d9586f..050b18c93c 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -112,7 +112,6 @@ gboolean gtk_init_check_abi_check (int *argc, #endif void gtk_disable_setlocale (void); -gchar * gtk_set_locale (void); PangoLanguage *gtk_get_default_language (void); gboolean gtk_events_pending (void); From 519f09f7f4b60305df1308d9cda2736c166ff5e9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 19:00:01 -0500 Subject: [PATCH 0691/1463] Add vfuncs for keyval and window property functions The keyval functions should really be generic, and the window property api should be completely revisited, but for now this will allow us to proceed. --- gdk/gdkdisplaymanagerprivate.h | 10 ++ gdk/gdkkeys.c | 163 +++++++------------------------- gdk/gdkwindow.c | 119 +++++++++++++++++++++++ gdk/gdkwindowimpl.h | 21 ++++ gdk/x11/gdkdisplaymanager-x11.c | 3 + gdk/x11/gdkkeys-x11.c | 154 ++++++++++++++++++++++++++---- gdk/x11/gdkprivate-x11.h | 27 ++++++ gdk/x11/gdkproperty-x11.c | 118 ++++------------------- gdk/x11/gdkwindow-x11.c | 3 + 9 files changed, 372 insertions(+), 246 deletions(-) diff --git a/gdk/gdkdisplaymanagerprivate.h b/gdk/gdkdisplaymanagerprivate.h index 70afd7df59..a1d19ecc28 100644 --- a/gdk/gdkdisplaymanagerprivate.h +++ b/gdk/gdkdisplaymanagerprivate.h @@ -39,11 +39,21 @@ struct _GdkDisplayManagerClass GdkDisplay *display); GdkDisplay * (*open_display) (GdkDisplayManager *manager, const gchar *name); + + /* FIXME the following should really be frontend-only, not vfuncs */ GdkAtom (*atom_intern) (GdkDisplayManager *manager, const gchar *atom_name, gboolean copy_name); gchar * (*get_atom_name) (GdkDisplayManager *manager, GdkAtom atom); + guint (*lookup_keyval) (GdkDisplayManager *manager, + const gchar *name); + gchar * (*get_keyval_name) (GdkDisplayManager *manager, + guint keyval); + void (*keyval_convert_case) (GdkDisplayManager *manager, + guint keyval, + guint *lower, + guint *upper); /* signals */ void (*display_opened) (GdkDisplayManager *manager, diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index 75ef078ced..5b7ea78e5f 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -28,6 +28,7 @@ #include "gdkkeysprivate.h" #include "gdkdisplay.h" +#include "gdkdisplaymanagerprivate.h" /** @@ -182,12 +183,6 @@ gdk_keymap_init (GdkKeymap *keymap) /* Other key-handling stuff */ -#ifndef HAVE_XCONVERTCASE -#include "gdkkeysyms.h" - -/* compatibility function from X11R6.3, since XConvertCase is not - * supplied by X11R5. - */ /** * gdk_keyval_convert_case: * @symbol: a keyval @@ -196,133 +191,16 @@ gdk_keymap_init (GdkKeymap *keymap) * * Obtains the upper- and lower-case versions of the keyval @symbol. * Examples of keyvals are #GDK_KEY_a, #GDK_KEY_Enter, #GDK_KEY_F1, etc. - * - **/ + */ void gdk_keyval_convert_case (guint symbol, - guint *lower, - guint *upper) + guint *lower, + guint *upper) { - guint xlower = symbol; - guint xupper = symbol; + GdkDisplayManager *manager = gdk_display_manager_get (); - /* Check for directly encoded 24-bit UCS characters: */ - if ((symbol & 0xff000000) == 0x01000000) - { - if (lower) - *lower = gdk_unicode_to_keyval (g_unichar_tolower (symbol & 0x00ffffff)); - if (upper) - *upper = gdk_unicode_to_keyval (g_unichar_toupper (symbol & 0x00ffffff)); - return; - } - - switch (symbol >> 8) - { - case 0: /* Latin 1 */ - if ((symbol >= GDK_KEY_A) && (symbol <= GDK_KEY_Z)) - xlower += (GDK_KEY_a - GDK_KEY_A); - else if ((symbol >= GDK_KEY_a) && (symbol <= GDK_KEY_z)) - xupper -= (GDK_KEY_a - GDK_KEY_A); - else if ((symbol >= GDK_KEY_Agrave) && (symbol <= GDK_KEY_Odiaeresis)) - xlower += (GDK_KEY_agrave - GDK_KEY_Agrave); - else if ((symbol >= GDK_KEY_agrave) && (symbol <= GDK_KEY_odiaeresis)) - xupper -= (GDK_KEY_agrave - GDK_KEY_Agrave); - else if ((symbol >= GDK_KEY_Ooblique) && (symbol <= GDK_KEY_Thorn)) - xlower += (GDK_KEY_oslash - GDK_KEY_Ooblique); - else if ((symbol >= GDK_KEY_oslash) && (symbol <= GDK_KEY_thorn)) - xupper -= (GDK_KEY_oslash - GDK_KEY_Ooblique); - break; - - case 1: /* Latin 2 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (symbol == GDK_KEY_Aogonek) - xlower = GDK_KEY_aogonek; - else if (symbol >= GDK_KEY_Lstroke && symbol <= GDK_KEY_Sacute) - xlower += (GDK_KEY_lstroke - GDK_KEY_Lstroke); - else if (symbol >= GDK_KEY_Scaron && symbol <= GDK_KEY_Zacute) - xlower += (GDK_KEY_scaron - GDK_KEY_Scaron); - else if (symbol >= GDK_KEY_Zcaron && symbol <= GDK_KEY_Zabovedot) - xlower += (GDK_KEY_zcaron - GDK_KEY_Zcaron); - else if (symbol == GDK_KEY_aogonek) - xupper = GDK_KEY_Aogonek; - else if (symbol >= GDK_KEY_lstroke && symbol <= GDK_KEY_sacute) - xupper -= (GDK_KEY_lstroke - GDK_KEY_Lstroke); - else if (symbol >= GDK_KEY_scaron && symbol <= GDK_KEY_zacute) - xupper -= (GDK_KEY_scaron - GDK_KEY_Scaron); - else if (symbol >= GDK_KEY_zcaron && symbol <= GDK_KEY_zabovedot) - xupper -= (GDK_KEY_zcaron - GDK_KEY_Zcaron); - else if (symbol >= GDK_KEY_Racute && symbol <= GDK_KEY_Tcedilla) - xlower += (GDK_KEY_racute - GDK_KEY_Racute); - else if (symbol >= GDK_KEY_racute && symbol <= GDK_KEY_tcedilla) - xupper -= (GDK_KEY_racute - GDK_KEY_Racute); - break; - - case 2: /* Latin 3 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (symbol >= GDK_KEY_Hstroke && symbol <= GDK_KEY_Hcircumflex) - xlower += (GDK_KEY_hstroke - GDK_KEY_Hstroke); - else if (symbol >= GDK_KEY_Gbreve && symbol <= GDK_KEY_Jcircumflex) - xlower += (GDK_KEY_gbreve - GDK_KEY_Gbreve); - else if (symbol >= GDK_KEY_hstroke && symbol <= GDK_KEY_hcircumflex) - xupper -= (GDK_KEY_hstroke - GDK_KEY_Hstroke); - else if (symbol >= GDK_KEY_gbreve && symbol <= GDK_KEY_jcircumflex) - xupper -= (GDK_KEY_gbreve - GDK_KEY_Gbreve); - else if (symbol >= GDK_KEY_Cabovedot && symbol <= GDK_KEY_Scircumflex) - xlower += (GDK_KEY_cabovedot - GDK_KEY_Cabovedot); - else if (symbol >= GDK_KEY_cabovedot && symbol <= GDK_KEY_scircumflex) - xupper -= (GDK_KEY_cabovedot - GDK_KEY_Cabovedot); - break; - - case 3: /* Latin 4 */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (symbol >= GDK_KEY_Rcedilla && symbol <= GDK_KEY_Tslash) - xlower += (GDK_KEY_rcedilla - GDK_KEY_Rcedilla); - else if (symbol >= GDK_KEY_rcedilla && symbol <= GDK_KEY_tslash) - xupper -= (GDK_KEY_rcedilla - GDK_KEY_Rcedilla); - else if (symbol == GDK_KEY_ENG) - xlower = GDK_KEY_eng; - else if (symbol == GDK_KEY_eng) - xupper = GDK_KEY_ENG; - else if (symbol >= GDK_KEY_Amacron && symbol <= GDK_KEY_Umacron) - xlower += (GDK_KEY_amacron - GDK_KEY_Amacron); - else if (symbol >= GDK_KEY_amacron && symbol <= GDK_KEY_umacron) - xupper -= (GDK_KEY_amacron - GDK_KEY_Amacron); - break; - - case 6: /* Cyrillic */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (symbol >= GDK_KEY_Serbian_DJE && symbol <= GDK_KEY_Serbian_DZE) - xlower -= (GDK_KEY_Serbian_DJE - GDK_KEY_Serbian_dje); - else if (symbol >= GDK_KEY_Serbian_dje && symbol <= GDK_KEY_Serbian_dze) - xupper += (GDK_KEY_Serbian_DJE - GDK_KEY_Serbian_dje); - else if (symbol >= GDK_KEY_Cyrillic_YU && symbol <= GDK_KEY_Cyrillic_HARDSIGN) - xlower -= (GDK_KEY_Cyrillic_YU - GDK_KEY_Cyrillic_yu); - else if (symbol >= GDK_KEY_Cyrillic_yu && symbol <= GDK_KEY_Cyrillic_hardsign) - xupper += (GDK_KEY_Cyrillic_YU - GDK_KEY_Cyrillic_yu); - break; - - case 7: /* Greek */ - /* Assume the KeySym is a legal value (ignore discontinuities) */ - if (symbol >= GDK_KEY_Greek_ALPHAaccent && symbol <= GDK_KEY_Greek_OMEGAaccent) - xlower += (GDK_KEY_Greek_alphaaccent - GDK_KEY_Greek_ALPHAaccent); - else if (symbol >= GDK_KEY_Greek_alphaaccent && symbol <= GDK_KEY_Greek_omegaaccent && - symbol != GDK_KEY_Greek_iotaaccentdieresis && - symbol != GDK_KEY_Greek_upsilonaccentdieresis) - xupper -= (GDK_KEY_Greek_alphaaccent - GDK_KEY_Greek_ALPHAaccent); - else if (symbol >= GDK_KEY_Greek_ALPHA && symbol <= GDK_KEY_Greek_OMEGA) - xlower += (GDK_KEY_Greek_alpha - GDK_KEY_Greek_ALPHA); - else if (symbol >= GDK_KEY_Greek_alpha && symbol <= GDK_KEY_Greek_omega && - symbol != GDK_KEY_Greek_finalsmallsigma) - xupper -= (GDK_KEY_Greek_alpha - GDK_KEY_Greek_ALPHA); - break; - } - - if (lower) - *lower = xlower; - if (upper) - *upper = xupper; + GDK_DISPLAY_MANAGER_GET_CLASS (manager)->keyval_convert_case (manager, symbol, lower, upper); } -#endif /** * gdk_keyval_to_upper: @@ -699,3 +577,32 @@ gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, { return GDK_KEYMAP_GET_CLASS(keymap)->map_virtual_modifiers (keymap, state); } + +/** + * gdk_keyval_name: + * @keyval: a key value. + * + * Converts a key value into a symbolic name. + * The names are the same as those in the + * <gdk/gdkkeysyms.h> header file + * but without the leading "GDK_KEY_". + * + * Return value: (transfer none): a string containing the name of the key, + * or %NULL if @keyval is not a valid key. The string should not be + * modified. + */ +gchar* +gdk_keyval_name (guint keyval) +{ + GdkDisplayManager *manager = gdk_display_manager_get (); + + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_keyval_name (manager, keyval); +} + +guint +gdk_keyval_from_name (const gchar *keyval_name) +{ + GdkDisplayManager *manager = gdk_display_manager_get (); + + return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->lookup_keyval (manager, keyval_name); +} diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index d949e8ba1b..4a1049be14 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -10813,3 +10813,122 @@ gdk_test_simulate_button (GdkWindow *window, return GDK_WINDOW_IMPL_GET_CLASS (window->impl) ->simulate_button (window, x, y, button, modifiers, button_pressrelease); } + +/** + * gdk_property_get: + * @window: a #GdkWindow. + * @property: the property to retrieve. + * @type: the desired property type, or %GDK_NONE, if any type of data + * is acceptable. If this does not match the actual + * type, then @actual_format and @actual_length will + * be filled in, a warning will be printed to stderr + * and no data will be returned. + * @offset: the offset into the property at which to begin + * retrieving data, in 4 byte units. + * @length: the length of the data to retrieve in bytes. Data is + * considered to be retrieved in 4 byte chunks, so @length + * will be rounded up to the next highest 4 byte boundary + * (so be careful not to pass a value that might overflow + * when rounded up). + * @pdelete: if %TRUE, delete the property after retrieving the + * data. + * @actual_property_type: location to store the actual type of +* the property. + * @actual_format: location to store the actual return format of the + * data; either 8, 16 or 32 bits. + * @actual_length: location to store the length of the retrieved data, in + * bytes. Data returned in the 32 bit format is stored + * in a long variable, so the actual number of 32 bit + * elements should be be calculated via + * @actual_length / sizeof(glong) to ensure portability to + * 64 bit systems. + * @data: location to store a pointer to the data. The retrieved + * data should be freed with g_free() when you are finished + * using it. + * + * Retrieves a portion of the contents of a property. If the + * property does not exist, then the function returns %FALSE, + * and %GDK_NONE will be stored in @actual_property_type. + * + * + * + * The XGetWindowProperty() function that gdk_property_get() + * uses has a very confusing and complicated set of semantics. + * uses has a very confusing and complicated set of semantics. + * Unfortunately, gdk_property_get() makes the situation + * worse instead of better (the semantics should be considered + * undefined), and also prints warnings to stderr in cases where it + * should return a useful error to the program. You are advised to use + * XGetWindowProperty() directly until a replacement function for + * gdk_property_get() + * is provided. + * + * + * + * Returns: %TRUE if data was successfully received and stored + * in @data, otherwise %FALSE. + */ +gboolean +gdk_property_get (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data) +{ + return GDK_WINDOW_IMPL_GET_CLASS (window->impl) + ->get_property (window, property, type, offset, length, pdelete, + actual_property_type, actual_format_type, + actual_length, data); +} + +/** + * gdk_property_change: + * @window: a #GdkWindow. + * @property: the property to change. + * @type: the new type for the property. If @mode is + * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this + * must match the existing type or an error will occur. + * @format: the new format for the property. If @mode is + * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this + * must match the existing format or an error will occur. + * @mode: a value describing how the new data is to be combined + * with the current data. + * @data: the data (a guchar * + * gushort *, or gulong *, + * depending on @format), cast to a guchar *. + * @nelements: the number of elements of size determined by the format, + * contained in @data. + * + * Changes the contents of a property on a window. + */ +void +gdk_property_change (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl) + ->change_property (window, property, type, format, mode, data, nelements); +} + +/** + * gdk_property_delete: + * @window: a #GdkWindow. + * @property: the property to delete. + * + * Deletes a property from a window. + */ +void +gdk_property_delete (GdkWindow *window, + GdkAtom property) +{ + GDK_WINDOW_IMPL_GET_CLASS (window->impl)->delete_property (window, property); +} diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h index 0b7695e692..fd9add2de0 100644 --- a/gdk/gdkwindowimpl.h +++ b/gdk/gdkwindowimpl.h @@ -28,6 +28,7 @@ #define __GDK_WINDOW_IMPL_H__ #include +#include G_BEGIN_DECLS @@ -268,6 +269,26 @@ struct _GdkWindowImplClass guint button, GdkModifierType modifiers, GdkEventType event_type); + + gboolean (*get_property) (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_type, + gint *actual_format, + gint *actual_length, + guchar **data); + void (*change_property) (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint n_elements); + void (*delete_property) (GdkWindow *window, + GdkAtom property); }; /* Interface Functions */ diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index aef1a6dc3c..d073c3c727 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -104,6 +104,9 @@ gdk_display_manager_x11_class_init (GdkDisplayManagerX11Class *class) manager_class->get_default_display = gdk_display_manager_x11_get_default_display; manager_class->atom_intern = _gdk_x11_display_manager_atom_intern; manager_class->get_atom_name = _gdk_x11_display_manager_get_atom_name; + manager_class->lookup_keyval = _gdk_x11_display_manager_lookup_keyval; + manager_class->get_keyval_name = _gdk_x11_display_manager_get_keyval_name; + manager_class->keyval_convert_case = _gdk_x11_display_manager_keyval_convert_case; } void diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index c18aac1fe9..1b1e9427a4 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -1406,22 +1406,10 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, return tmp_keyval != NoSymbol; } - /* Key handling not part of the keymap */ -/** - * gdk_keyval_name: - * @keyval: a key value. - * - * Converts a key value into a symbolic name. - * The names are the same as those in the - * <gdk/gdkkeysyms.h> header file - * but without the leading "GDK_KEY_". - * - * Return value: (transfer none): a string containing the name of the key, or - * %NULL if @keyval is not a valid key. The string should not be modified. - **/ gchar* -gdk_keyval_name (guint keyval) +_gdk_x11_display_manager_get_keyval_name (GdkDisplayManager *manager, + guint keyval) { switch (keyval) { @@ -1439,7 +1427,8 @@ gdk_keyval_name (guint keyval) } guint -gdk_keyval_from_name (const gchar *keyval_name) +_gdk_x11_display_manager_lookup_keyval (GdkDisplayManager *manager, + const gchar *keyval_name) { g_return_val_if_fail (keyval_name != NULL, 0); @@ -1448,9 +1437,10 @@ gdk_keyval_from_name (const gchar *keyval_name) #ifdef HAVE_XCONVERTCASE void -gdk_keyval_convert_case (guint symbol, - guint *lower, - guint *upper) +_gdk_x11_display_manager_keyval_convert_case (GdkDisplayManager *manager, + guint symbol, + guint *lower, + guint *upper) { KeySym xlower = 0; KeySym xupper = 0; @@ -1473,7 +1463,133 @@ gdk_keyval_convert_case (guint symbol, if (upper) *upper = xupper; } -#endif /* HAVE_XCONVERTCASE */ +#else /* !HAVE_XCONVERTCASE */ +void +_gdk_x11_display_manager_keyval_convert_case (GdkDisplayManager *manager, + guint symbol, + guint *lower, + guint *upper) +{ + guint xlower = symbol; + guint xupper = symbol; + + /* Check for directly encoded 24-bit UCS characters: */ + if ((symbol & 0xff000000) == 0x01000000) + { + if (lower) + *lower = gdk_unicode_to_keyval (g_unichar_tolower (symbol & 0x00ffffff)); + if (upper) + *upper = gdk_unicode_to_keyval (g_unichar_toupper (symbol & 0x00ffffff)); + return; + } + + switch (symbol >> 8) + { + case 0: /* Latin 1 */ + if ((symbol >= GDK_KEY_A) && (symbol <= GDK_KEY_Z)) + xlower += (GDK_KEY_a - GDK_KEY_A); + else if ((symbol >= GDK_KEY_a) && (symbol <= GDK_KEY_z)) + xupper -= (GDK_KEY_a - GDK_KEY_A); + else if ((symbol >= GDK_KEY_Agrave) && (symbol <= GDK_KEY_Odiaeresis)) + xlower += (GDK_KEY_agrave - GDK_KEY_Agrave); + else if ((symbol >= GDK_KEY_agrave) && (symbol <= GDK_KEY_odiaeresis)) + xupper -= (GDK_KEY_agrave - GDK_KEY_Agrave); + else if ((symbol >= GDK_KEY_Ooblique) && (symbol <= GDK_KEY_Thorn)) + xlower += (GDK_KEY_oslash - GDK_KEY_Ooblique); + else if ((symbol >= GDK_KEY_oslash) && (symbol <= GDK_KEY_thorn)) + xupper -= (GDK_KEY_oslash - GDK_KEY_Ooblique); + break; + + case 1: /* Latin 2 */ + /* Assume the KeySym is a legal value (ignore discontinuities) */ + if (symbol == GDK_KEY_Aogonek) + xlower = GDK_KEY_aogonek; + else if (symbol >= GDK_KEY_Lstroke && symbol <= GDK_KEY_Sacute) + xlower += (GDK_KEY_lstroke - GDK_KEY_Lstroke); + else if (symbol >= GDK_KEY_Scaron && symbol <= GDK_KEY_Zacute) + xlower += (GDK_KEY_scaron - GDK_KEY_Scaron); + else if (symbol >= GDK_KEY_Zcaron && symbol <= GDK_KEY_Zabovedot) + xlower += (GDK_KEY_zcaron - GDK_KEY_Zcaron); + else if (symbol == GDK_KEY_aogonek) + xupper = GDK_KEY_Aogonek; + else if (symbol >= GDK_KEY_lstroke && symbol <= GDK_KEY_sacute) + xupper -= (GDK_KEY_lstroke - GDK_KEY_Lstroke); + else if (symbol >= GDK_KEY_scaron && symbol <= GDK_KEY_zacute) + xupper -= (GDK_KEY_scaron - GDK_KEY_Scaron); + else if (symbol >= GDK_KEY_zcaron && symbol <= GDK_KEY_zabovedot) + xupper -= (GDK_KEY_zcaron - GDK_KEY_Zcaron); + else if (symbol >= GDK_KEY_Racute && symbol <= GDK_KEY_Tcedilla) + xlower += (GDK_KEY_racute - GDK_KEY_Racute); + else if (symbol >= GDK_KEY_racute && symbol <= GDK_KEY_tcedilla) + xupper -= (GDK_KEY_racute - GDK_KEY_Racute); + break; + + case 2: /* Latin 3 */ + /* Assume the KeySym is a legal value (ignore discontinuities) */ + if (symbol >= GDK_KEY_Hstroke && symbol <= GDK_KEY_Hcircumflex) + xlower += (GDK_KEY_hstroke - GDK_KEY_Hstroke); + else if (symbol >= GDK_KEY_Gbreve && symbol <= GDK_KEY_Jcircumflex) + xlower += (GDK_KEY_gbreve - GDK_KEY_Gbreve); + else if (symbol >= GDK_KEY_hstroke && symbol <= GDK_KEY_hcircumflex) + xupper -= (GDK_KEY_hstroke - GDK_KEY_Hstroke); + else if (symbol >= GDK_KEY_gbreve && symbol <= GDK_KEY_jcircumflex) + xupper -= (GDK_KEY_gbreve - GDK_KEY_Gbreve); + else if (symbol >= GDK_KEY_Cabovedot && symbol <= GDK_KEY_Scircumflex) + xlower += (GDK_KEY_cabovedot - GDK_KEY_Cabovedot); + else if (symbol >= GDK_KEY_cabovedot && symbol <= GDK_KEY_scircumflex) + xupper -= (GDK_KEY_cabovedot - GDK_KEY_Cabovedot); + break; + + case 3: /* Latin 4 */ + /* Assume the KeySym is a legal value (ignore discontinuities) */ + if (symbol >= GDK_KEY_Rcedilla && symbol <= GDK_KEY_Tslash) + xlower += (GDK_KEY_rcedilla - GDK_KEY_Rcedilla); + else if (symbol >= GDK_KEY_rcedilla && symbol <= GDK_KEY_tslash) + xupper -= (GDK_KEY_rcedilla - GDK_KEY_Rcedilla); + else if (symbol == GDK_KEY_ENG) + xlower = GDK_KEY_eng; + else if (symbol == GDK_KEY_eng) + xupper = GDK_KEY_ENG; + else if (symbol >= GDK_KEY_Amacron && symbol <= GDK_KEY_Umacron) + xlower += (GDK_KEY_amacron - GDK_KEY_Amacron); + else if (symbol >= GDK_KEY_amacron && symbol <= GDK_KEY_umacron) + xupper -= (GDK_KEY_amacron - GDK_KEY_Amacron); + break; + + case 6: /* Cyrillic */ + /* Assume the KeySym is a legal value (ignore discontinuities) */ + if (symbol >= GDK_KEY_Serbian_DJE && symbol <= GDK_KEY_Serbian_DZE) + xlower -= (GDK_KEY_Serbian_DJE - GDK_KEY_Serbian_dje); + else if (symbol >= GDK_KEY_Serbian_dje && symbol <= GDK_KEY_Serbian_dze) + xupper += (GDK_KEY_Serbian_DJE - GDK_KEY_Serbian_dje); + else if (symbol >= GDK_KEY_Cyrillic_YU && symbol <= GDK_KEY_Cyrillic_HARDSIGN) + xlower -= (GDK_KEY_Cyrillic_YU - GDK_KEY_Cyrillic_yu); + else if (symbol >= GDK_KEY_Cyrillic_yu && symbol <= GDK_KEY_Cyrillic_hardsign) + xupper += (GDK_KEY_Cyrillic_YU - GDK_KEY_Cyrillic_yu); + break; + + case 7: /* Greek */ + /* Assume the KeySym is a legal value (ignore discontinuities) */ + if (symbol >= GDK_KEY_Greek_ALPHAaccent && symbol <= GDK_KEY_Greek_OMEGAaccent) + xlower += (GDK_KEY_Greek_alphaaccent - GDK_KEY_Greek_ALPHAaccent); + else if (symbol >= GDK_KEY_Greek_alphaaccent && symbol <= GDK_KEY_Greek_omegaaccent && + symbol != GDK_KEY_Greek_iotaaccentdieresis && + symbol != GDK_KEY_Greek_upsilonaccentdieresis) + xupper -= (GDK_KEY_Greek_alphaaccent - GDK_KEY_Greek_ALPHAaccent); + else if (symbol >= GDK_KEY_Greek_ALPHA && symbol <= GDK_KEY_Greek_OMEGA) + xlower += (GDK_KEY_Greek_alpha - GDK_KEY_Greek_ALPHA); + else if (symbol >= GDK_KEY_Greek_alpha && symbol <= GDK_KEY_Greek_omega && + symbol != GDK_KEY_Greek_finalsmallsigma) + xupper -= (GDK_KEY_Greek_alpha - GDK_KEY_Greek_ALPHA); + break; + } + + if (lower) + *lower = xlower; + if (upper) + *upper = xupper; +} +#endif gint _gdk_x11_get_group_for_state (GdkDisplay *display, diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 4dc341c346..70cffc7310 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -112,6 +112,25 @@ gboolean _gdk_x11_window_simulate_button (GdkWindow *window, guint button, GdkModifierType modifiers, GdkEventType button_pressrelease); +gboolean _gdk_x11_window_get_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data); +void _gdk_x11_window_change_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements); +void _gdk_x11_window_delete_property (GdkWindow *window, + GdkAtom property); gboolean _gdk_x11_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area); @@ -182,6 +201,14 @@ GdkAtom _gdk_x11_display_manager_atom_intern (GdkDisplayManager *manager, gboolean copy_name); gchar * _gdk_x11_display_manager_get_atom_name (GdkDisplayManager *manager, GdkAtom atom); +guint _gdk_x11_display_manager_lookup_keyval (GdkDisplayManager *manager, + const gchar *name); +gchar * _gdk_x11_display_manager_get_keyval_name (GdkDisplayManager *manager, + guint keyval); +void _gdk_x11_display_manager_keyval_convert_case (GdkDisplayManager *manager, + guint symbol, + guint *lower, + guint *upper); GdkCursor *_gdk_x11_display_get_cursor_for_type (GdkDisplay *display, GdkCursorType type); diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index d0ec2d701f..1b57860413 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -531,70 +531,17 @@ gdk_x11_get_xatom_name (Atom xatom) return get_atom_name (gdk_x11_xatom_to_atom (xatom)); } -/** - * gdk_property_get: - * @window: a #GdkWindow. - * @property: the property to retrieve. - * @type: the desired property type, or %GDK_NONE, if any type of data - * is acceptable. If this does not match the actual - * type, then @actual_format and @actual_length will - * be filled in, a warning will be printed to stderr - * and no data will be returned. - * @offset: the offset into the property at which to begin - * retrieving data, in 4 byte units. - * @length: the length of the data to retrieve in bytes. Data is - * considered to be retrieved in 4 byte chunks, so @length - * will be rounded up to the next highest 4 byte boundary - * (so be careful not to pass a value that might overflow - * when rounded up). - * @pdelete: if %TRUE, delete the property after retrieving the - * data. - * @actual_property_type: location to store the actual type of - * the property. - * @actual_format: location to store the actual return format of the - * data; either 8, 16 or 32 bits. - * @actual_length: location to store the length of the retrieved data, in - * bytes. Data returned in the 32 bit format is stored - * in a long variable, so the actual number of 32 bit - * elements should be be calculated via - * @actual_length / sizeof(glong) to ensure portability to - * 64 bit systems. - * @data: location to store a pointer to the data. The retrieved - * data should be freed with g_free() when you are finished - * using it. - * - * Retrieves a portion of the contents of a property. If the - * property does not exist, then the function returns %FALSE, - * and %GDK_NONE will be stored in @actual_property_type. - * - * - * - * The XGetWindowProperty() function that gdk_property_get() - * uses has a very confusing and complicated set of semantics. - * Unfortunately, gdk_property_get() makes the situation - * worse instead of better (the semantics should be considered - * undefined), and also prints warnings to stderr in cases where it - * should return a useful error to the program. You are advised to use - * XGetWindowProperty() directly until a replacement function for - * gdk_property_get() - * is provided. - * - * - * - * Returns: %TRUE if data was successfully received and stored - * in @data, otherwise %FALSE. - */ gboolean -gdk_property_get (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gulong offset, - gulong length, - gint pdelete, - GdkAtom *actual_property_type, - gint *actual_format_type, - gint *actual_length, - guchar **data) +_gdk_x11_window_get_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data) { GdkDisplay *display; Atom ret_prop_type; @@ -730,34 +677,14 @@ gdk_property_get (GdkWindow *window, return TRUE; } -/** - * gdk_property_change: - * @window: a #GdkWindow. - * @property: the property to change. - * @type: the new type for the property. If @mode is - * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this - * must match the existing type or an error will occur. - * @format: the new format for the property. If @mode is - * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this - * must match the existing format or an error will occur. - * @mode: a value describing how the new data is to be combined - * with the current data. - * @data: the data (a guchar * - * gushort *, or gulong *, - * depending on @format), cast to a guchar *. - * @nelements: the number of elements of size determined by the format, - * contained in @data. - * - * Changes the contents of a property on a window. - */ void -gdk_property_change (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gint format, - GdkPropMode mode, - const guchar *data, - gint nelements) +_gdk_x11_window_change_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements) { GdkDisplay *display; Window xwindow; @@ -813,16 +740,9 @@ gdk_property_change (GdkWindow *window, xtype, format, mode, (guchar *)data, nelements); } -/** - * gdk_property_delete: - * @window: a #GdkWindow. - * @property: the property to delete. - * - * Deletes a property from a window. - */ void -gdk_property_delete (GdkWindow *window, - GdkAtom property) +_gdk_x11_window_delete_property (GdkWindow *window, + GdkAtom property) { g_return_if_fail (!window || GDK_WINDOW_IS_X11 (window)); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 07746d0112..2fd5fa5167 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4762,4 +4762,7 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass) impl_class->sync_rendering = _gdk_x11_window_sync_rendering; impl_class->simulate_key = _gdk_x11_window_simulate_key; impl_class->simulate_button = _gdk_x11_window_simulate_button; + impl_class->get_property = _gdk_x11_window_get_property; + impl_class->change_property = _gdk_x11_window_change_property; + impl_class->delete_property = _gdk_x11_window_delete_property; } From cc03a6df793fc79c0e2e2337c89fb249ab635e47 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 19:22:44 -0500 Subject: [PATCH 0692/1463] Add vfuncs for get/set_selection_owner --- gdk/gdkdisplayprivate.h | 8 +++++ gdk/gdkselection.c | 62 +++++++++++++++++++++++++++++++++++- gdk/x11/gdkdisplay-x11.c | 2 ++ gdk/x11/gdkprivate-x11.h | 10 ++++++ gdk/x11/gdkselection-x11.c | 65 +++++++------------------------------- 5 files changed, 93 insertions(+), 54 deletions(-) diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index f3e48fb56b..4764909d00 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -196,6 +196,14 @@ struct _GdkDisplayClass gint (*pop_error_trap) (GdkDisplay *display, gboolean ignore); + GdkWindow * (*get_selection_owner) (GdkDisplay *display, + GdkAtom selection); + gboolean (*set_selection_owner) (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index 9468604fe6..57b85840c4 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -29,7 +29,7 @@ #include "gdkselection.h" #include "gdkproperty.h" -#include "gdkdisplay.h" +#include "gdkdisplayprivate.h" /** @@ -246,3 +246,63 @@ gdk_utf8_to_compound_text (const gchar *str, str, encoding, format, ctext, length); } + +/** + * gdk_selection_owner_set_for_display: + * @display: the #GdkDisplay + * @owner: a #GdkWindow or %NULL to indicate that the owner for + * the given should be unset + * @selection: an atom identifying a selection + * @time_: timestamp to use when setting the selection + * If this is older than the timestamp given last time the owner was + * set for the given selection, the request will be ignored + * @send_event: if %TRUE, and the new owner is different from the current + * owner, the current owner will be sent a SelectionClear event + * + * Sets the #GdkWindow @owner as the current owner of the selection @selection. + * + * Returns: %TRUE if the selection owner was successfully changed to owner, + * otherwise %FALSE. + * + * Since: 2.2 + */ +gboolean +gdk_selection_owner_set_for_display (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); + g_return_val_if_fail (selection != GDK_NONE, FALSE); + + return GDK_DISPLAY_GET_CLASS (display) + ->set_selection_owner (display, owner, selection, time, send_event); +} + +/** + * gdk_selection_owner_get_for_display: + * @display: a #GdkDisplay + * @selection: an atom indentifying a selection + * + * Determine the owner of the given selection. + * + * Note that the return value may be owned by a different + * process if a foreign window was previously created for that + * window, but a new foreign window will never be created by this call. + * + * Returns: (transfer none): if there is a selection owner for this window, + * and it is a window known to the current process, the #GdkWindow that + * owns the selection, otherwise %NULL. + * + * Since: 2.2 + */ +GdkWindow * +gdk_selection_owner_get_for_display (GdkDisplay *display, + GdkAtom selection) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + g_return_val_if_fail (selection != GDK_NONE, NULL); + + return GDK_DISPLAY_GET_CLASS (display)->get_selection_owner (display, selection); +} diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 7bcb5dec74..cb6712811f 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2760,4 +2760,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->get_keymap = gdk_x11_display_get_keymap; display_class->push_error_trap = gdk_x11_display_error_trap_push; display_class->pop_error_trap = pop_error_trap; + display_class->get_selection_owner = _gdk_x11_display_get_selection_owner; + display_class->set_selection_owner = _gdk_x11_display_set_selection_owner; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 70cffc7310..7c380d40e5 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -187,6 +187,16 @@ void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, guint32 time, gulong serial); void _gdk_x11_display_queue_events (GdkDisplay *display); + + +gboolean _gdk_x11_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event); +GdkWindow * _gdk_x11_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection); + void _gdk_x11_device_check_extension_events (GdkDevice *device); GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 74437f2474..7cc682716d 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -101,31 +101,13 @@ _gdk_selection_filter_clear_event (XSelectionClearEvent *event) return FALSE; } -/** - * gdk_selection_owner_set_for_display: - * @display: the #GdkDisplay. - * @owner: a #GdkWindow or %NULL to indicate that the owner for - * the given should be unset. - * @selection: an atom identifying a selection. - * @time_: timestamp to use when setting the selection. - * If this is older than the timestamp given last time the owner was - * set for the given selection, the request will be ignored. - * @send_event: if %TRUE, and the new owner is different from the current - * owner, the current owner will be sent a SelectionClear event. - * - * Sets the #GdkWindow @owner as the current owner of the selection @selection. - * - * Returns: %TRUE if the selection owner was successfully changed to owner, - * otherwise %FALSE. - * - * Since: 2.2 - */ + gboolean -gdk_selection_owner_set_for_display (GdkDisplay *display, - GdkWindow *owner, - GdkAtom selection, - guint32 time, - gboolean send_event) +_gdk_x11_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event) { Display *xdisplay; Window xwindow; @@ -133,17 +115,14 @@ gdk_selection_owner_set_for_display (GdkDisplay *display, GSList *tmp_list; OwnerInfo *info; - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - g_return_val_if_fail (selection != GDK_NONE, FALSE); - if (gdk_display_is_closed (display)) return FALSE; - if (owner) + if (owner) { if (GDK_WINDOW_DESTROYED (owner) || !GDK_WINDOW_IS_X11 (owner)) - return FALSE; - + return FALSE; + gdk_window_ensure_native (owner); xdisplay = GDK_WINDOW_XDISPLAY (owner); xwindow = GDK_WINDOW_XID (owner); @@ -184,35 +163,15 @@ gdk_selection_owner_set_for_display (GdkDisplay *display, return (XGetSelectionOwner (xdisplay, xselection) == xwindow); } -/** - * gdk_selection_owner_get_for_display: - * @display: a #GdkDisplay. - * @selection: an atom indentifying a selection. - * - * Determine the owner of the given selection. - * - * Note that the return value may be owned by a different - * process if a foreign window was previously created for that - * window, but a new foreign window will never be created by this call. - * - * Returns: (transfer none): if there is a selection owner for this window, - * and it is a window known to the current process, the #GdkWindow that - * owns the selection, otherwise %NULL. - * - * Since: 2.2 - */ GdkWindow * -gdk_selection_owner_get_for_display (GdkDisplay *display, - GdkAtom selection) +_gdk_x11_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection) { Window xwindow; - - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (selection != GDK_NONE, NULL); if (gdk_display_is_closed (display)) return NULL; - + xwindow = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), gdk_x11_atom_to_xatom_for_display (display, selection)); From 7e22cf7e50ac5712120b4b8c8bbbee0836e3c56e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 19:26:05 -0500 Subject: [PATCH 0693/1463] Rename some private x11 backend functions to _gdk_x11 --- gdk/x11/gdkdisplay-x11.c | 2 +- gdk/x11/gdkprivate-x11.h | 4 ++-- gdk/x11/gdkselection-x11.c | 4 ++-- gdk/x11/gdkwindow-x11.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index cb6712811f..4ad87a4575 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -792,7 +792,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, g_message ("selection clear:\twindow: %ld", xevent->xproperty.window)); - if (_gdk_selection_filter_clear_event (&xevent->xselectionclear)) + if (_gdk_x11_selection_filter_clear_event (&xevent->xselectionclear)) { event->selection.type = GDK_SELECTION_CLEAR; event->selection.window = window; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 7c380d40e5..68ec939491 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -139,8 +139,8 @@ void _gdk_x11_window_translate (GdkWindow *window, gint dx, gint dy); -void _gdk_selection_window_destroyed (GdkWindow *window); -gboolean _gdk_selection_filter_clear_event (XSelectionClearEvent *event); +void _gdk_x11_selection_window_destroyed (GdkWindow *window); +gboolean _gdk_x11_selection_filter_clear_event (XSelectionClearEvent *event); cairo_region_t* _gdk_x11_xwindow_get_shape (Display *xdisplay, Window window, diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 7cc682716d..0ba05199e6 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -54,7 +54,7 @@ static GSList *owner_list; * low code solution */ void -_gdk_selection_window_destroyed (GdkWindow *window) +_gdk_x11_selection_window_destroyed (GdkWindow *window) { GSList *tmp_list = owner_list; while (tmp_list) @@ -74,7 +74,7 @@ _gdk_selection_window_destroyed (GdkWindow *window) * reflect changes to the selection owner that we didn't make ourself. */ gboolean -_gdk_selection_filter_clear_event (XSelectionClearEvent *event) +_gdk_x11_selection_filter_clear_event (XSelectionClearEvent *event) { GSList *tmp_list = owner_list; GdkDisplay *display = gdk_x11_lookup_xdisplay (event->display); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 2fd5fa5167..b9d59fed0b 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -991,7 +991,7 @@ gdk_x11_window_destroy (GdkWindow *window, g_return_if_fail (GDK_IS_WINDOW (window)); - _gdk_selection_window_destroyed (window); + _gdk_x11_selection_window_destroyed (window); toplevel = _gdk_x11_window_get_toplevel (window); if (toplevel) From 625b8305e9111ddf22394a35cdae1b4a4ba978b1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 19:58:07 -0500 Subject: [PATCH 0694/1463] Add a vfunc for gdk_selection_send_notify_for_display --- gdk/gdkdisplayprivate.h | 6 ++++++ gdk/gdkselection.c | 28 ++++++++++++++++++++++++++++ gdk/x11/gdkdisplay-x11.c | 1 + gdk/x11/gdkprivate-x11.h | 20 +++++++++++++------- gdk/x11/gdkselection-x11.c | 30 +++++++----------------------- 5 files changed, 55 insertions(+), 30 deletions(-) diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 4764909d00..74843f15b4 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -203,6 +203,12 @@ struct _GdkDisplayClass GdkAtom selection, guint32 time, gboolean send_event); + void (*send_selection_notify) (GdkDisplay *dispay, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time_); /* Signals */ void (*closed) (GdkDisplay *display, diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index 57b85840c4..188e64f07e 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -306,3 +306,31 @@ gdk_selection_owner_get_for_display (GdkDisplay *display, return GDK_DISPLAY_GET_CLASS (display)->get_selection_owner (display, selection); } + +/** + * gdk_selection_send_notify_for_display: + * @display: the #GdkDisplay where @requestor is realized + * @requestor: window to which to deliver response + * @selection: selection that was requested + * @target: target that was selected + * @property: property in which the selection owner stored the data, + * or %GDK_NONE to indicate that the request was rejected + * @time_: timestamp + * + * Send a response to SelectionRequest event. + * + * Since: 2.2 + */ +void +gdk_selection_send_notify_for_display (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time_) +{ + g_return_if_fail (GDK_IS_DISPLAY (display)); + + GDK_DISPLAY_GET_CLASS (display) + ->send_selection_notify (display, requestor, selection,target, property, time_); +} diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 4ad87a4575..4595c67f24 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2762,4 +2762,5 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->pop_error_trap = pop_error_trap; display_class->get_selection_owner = _gdk_x11_display_get_selection_owner; display_class->set_selection_owner = _gdk_x11_display_set_selection_owner; + display_class->send_selection_notify = _gdk_x11_display_send_selection_notify; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 68ec939491..866854ae45 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -189,13 +189,19 @@ void _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, void _gdk_x11_display_queue_events (GdkDisplay *display); -gboolean _gdk_x11_display_set_selection_owner (GdkDisplay *display, - GdkWindow *owner, - GdkAtom selection, - guint32 time, - gboolean send_event); -GdkWindow * _gdk_x11_display_get_selection_owner (GdkDisplay *display, - GdkAtom selection); +gboolean _gdk_x11_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event); +GdkWindow * _gdk_x11_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection); +void _gdk_x11_display_send_selection_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time); void _gdk_x11_device_check_extension_events (GdkDevice *device); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 0ba05199e6..81963dcad3 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -334,32 +334,16 @@ gdk_selection_property_get (GdkWindow *requestor, return 0; } -/** - * gdk_selection_send_notify_for_display: - * @display: the #GdkDisplay where @requestor is realized - * @requestor: window to which to deliver response. - * @selection: selection that was requested. - * @target: target that was selected. - * @property: property in which the selection owner stored the data, - * or %GDK_NONE to indicate that the request was rejected. - * @time_: timestamp. - * - * Send a response to SelectionRequest event. - * - * Since: 2.2 - **/ void -gdk_selection_send_notify_for_display (GdkDisplay *display, - GdkNativeWindow requestor, - GdkAtom selection, - GdkAtom target, - GdkAtom property, - guint32 time) +_gdk_x11_display_send_selection_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time) { XSelectionEvent xevent; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - + xevent.type = SelectionNotify; xevent.serial = 0; xevent.send_event = True; From 95868ef00bdce3f3e659e57fb4e1f81ab88adb97 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 20:10:11 -0500 Subject: [PATCH 0695/1463] Add a vfunc for gdk_selection_property_get --- gdk/gdkdisplayprivate.h | 5 +++++ gdk/gdkselection.c | 36 ++++++++++++++++++++++++++++++++++++ gdk/x11/gdkdisplay-x11.c | 1 + gdk/x11/gdkprivate-x11.h | 5 +++++ gdk/x11/gdkselection-x11.c | 38 ++++++-------------------------------- 5 files changed, 53 insertions(+), 32 deletions(-) diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 74843f15b4..a2575d8851 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -209,6 +209,11 @@ struct _GdkDisplayClass GdkAtom target, GdkAtom property, guint32 time_); + gint (*get_selection_property) (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *type, + gint *format); /* Signals */ void (*closed) (GdkDisplay *display, diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index 188e64f07e..80131889c3 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -334,3 +334,39 @@ gdk_selection_send_notify_for_display (GdkDisplay *display, GDK_DISPLAY_GET_CLASS (display) ->send_selection_notify (display, requestor, selection,target, property, time_); } + +/** + * gdk_selection_property_get: + * @requestor: the window on which the data is stored + * @data: location to store a pointer to the retrieved data. + If the retrieval failed, %NULL we be stored here, otherwise, it + will be non-%NULL and the returned data should be freed with g_free() + when you are finished using it. The length of the + allocated memory is one more than the length + of the returned data, and the final byte will always + be zero, to ensure nul-termination of strings + * @prop_type: location to store the type of the property + * @prop_format: location to store the format of the property + * + * Retrieves selection data that was stored by the selection + * data in response to a call to gdk_selection_convert(). This function + * will not be used by applications, who should use the #GtkClipboard + * API instead. + * + * Return value: the length of the retrieved data. + */ +gint +gdk_selection_property_get (GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format) +{ + GdkDisplay *display; + + g_return_val_if_fail (GDK_IS_WINDOW (requestor), 0); + + display = gdk_window_get_display (requestor); + + return GDK_DISPLAY_GET_CLASS (display) + ->get_selection_property (display, requestor, data, ret_type, ret_format); +} diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 4595c67f24..26e1b94575 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2763,4 +2763,5 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->get_selection_owner = _gdk_x11_display_get_selection_owner; display_class->set_selection_owner = _gdk_x11_display_set_selection_owner; display_class->send_selection_notify = _gdk_x11_display_send_selection_notify; + display_class->get_selection_property = _gdk_x11_display_get_selection_property; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 866854ae45..d33b240e08 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -202,6 +202,11 @@ void _gdk_x11_display_send_selection_notify (GdkDisplay *display, GdkAtom target, GdkAtom property, guint32 time); +gint _gdk_x11_display_get_selection_property (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format); void _gdk_x11_device_check_extension_events (GdkDevice *device); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 81963dcad3..52d0394fa4 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -204,45 +204,19 @@ gdk_selection_convert (GdkWindow *requestor, GDK_WINDOW_XID (requestor), time); } -/** - * gdk_selection_property_get: - * @requestor: the window on which the data is stored - * @data: location to store a pointer to the retrieved data. - If the retrieval failed, %NULL we be stored here, otherwise, it - will be non-%NULL and the returned data should be freed with g_free() - when you are finished using it. The length of the - allocated memory is one more than the length - of the returned data, and the final byte will always - be zero, to ensure nul-termination of strings. - * @prop_type: location to store the type of the property. - * @prop_format: location to store the format of the property. - * - * Retrieves selection data that was stored by the selection - * data in response to a call to gdk_selection_convert(). This function - * will not be used by applications, who should use the #GtkClipboard - * API instead. - * - * Return value: the length of the retrieved data. - **/ gint -gdk_selection_property_get (GdkWindow *requestor, - guchar **data, - GdkAtom *ret_type, - gint *ret_format) +_gdk_x11_display_get_selection_property (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format) { gulong nitems; gulong nbytes; - gulong length = 0; /* Quiet GCC */ + gulong length = 0; Atom prop_type; gint prop_format; guchar *t = NULL; - GdkDisplay *display; - - g_return_val_if_fail (requestor != NULL, 0); - g_return_val_if_fail (GDK_IS_WINDOW (requestor), 0); - g_return_val_if_fail (GDK_WINDOW_IS_X11 (requestor), 0); - - display = GDK_WINDOW_DISPLAY (requestor); if (GDK_WINDOW_DESTROYED (requestor) || !GDK_WINDOW_IS_X11 (requestor)) goto err; From 05497c799ad2da29001534b30d53e6d8eb48cbf4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 20:25:32 -0500 Subject: [PATCH 0696/1463] Add a vfunc for gdk_selection_convert --- gdk/gdkdisplayprivate.h | 7 ++++++- gdk/gdkselection.c | 16 ++++++++++++++++ gdk/x11/gdkdisplay-x11.c | 1 + gdk/x11/gdkprivate-x11.h | 5 +++++ gdk/x11/gdkselection-x11.c | 12 +++++------- 5 files changed, 33 insertions(+), 8 deletions(-) diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index a2575d8851..f589581d7e 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -208,12 +208,17 @@ struct _GdkDisplayClass GdkAtom selection, GdkAtom target, GdkAtom property, - guint32 time_); + guint32 time); gint (*get_selection_property) (GdkDisplay *display, GdkWindow *requestor, guchar **data, GdkAtom *type, gint *format); + void (*convert_selection) (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time); /* Signals */ void (*closed) (GdkDisplay *display, diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index 80131889c3..c50a3f70d3 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -370,3 +370,19 @@ gdk_selection_property_get (GdkWindow *requestor, return GDK_DISPLAY_GET_CLASS (display) ->get_selection_property (display, requestor, data, ret_type, ret_format); } + +void +gdk_selection_convert (GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time) +{ + GdkDisplay *display; + + g_return_if_fail (selection != GDK_NONE); + + display = gdk_window_get_display (requestor); + + GDK_DISPLAY_GET_CLASS (display) + ->convert_selection (display, requestor, selection, target, time); +} diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 26e1b94575..cbba5aaae1 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2764,4 +2764,5 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->set_selection_owner = _gdk_x11_display_set_selection_owner; display_class->send_selection_notify = _gdk_x11_display_send_selection_notify; display_class->get_selection_property = _gdk_x11_display_get_selection_property; + display_class->convert_selection = _gdk_x11_display_convert_selection; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index d33b240e08..c630c31706 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -207,6 +207,11 @@ gint _gdk_x11_display_get_selection_property (GdkDisplay *display, guchar **data, GdkAtom *ret_type, gint *ret_format); +void _gdk_x11_display_convert_selection (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time); void _gdk_x11_device_check_extension_events (GdkDevice *device); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 52d0394fa4..4331258cc5 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -182,20 +182,18 @@ _gdk_x11_display_get_selection_owner (GdkDisplay *display, } void -gdk_selection_convert (GdkWindow *requestor, - GdkAtom selection, - GdkAtom target, - guint32 time) +_gdk_x11_display_convert_selection (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time) { - GdkDisplay *display; - g_return_if_fail (selection != GDK_NONE); if (GDK_WINDOW_DESTROYED (requestor) || !GDK_WINDOW_IS_X11 (requestor)) return; gdk_window_ensure_native (requestor); - display = GDK_WINDOW_DISPLAY (requestor); XConvertSelection (GDK_WINDOW_XDISPLAY (requestor), gdk_x11_atom_to_xatom_for_display (display, selection), From 61104d58ea4fbc63ba273770a4e85152dc08addb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 21:45:57 -0500 Subject: [PATCH 0697/1463] Avoid unnecessary use of gdk conversion routines We can use use gtk_selection_data_get_uris, instead of manually doing the conversion ourselves. --- gtk/gtkquartz.c | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/gtk/gtkquartz.c b/gtk/gtkquartz.c index e8945591a4..5b440e4b41 100644 --- a/gtk/gtkquartz.c +++ b/gtk/gtkquartz.c @@ -290,30 +290,17 @@ _gtk_quartz_set_selection_data_for_pasteboard (NSPasteboard *pasteboard, } else if ([type isEqualTo:NSURLPboardType]) { - gchar **list = NULL; - int count; + gchar **uris; - count = gdk_text_property_to_utf8_list_for_display (display, - gdk_atom_intern_static_string ("UTF8_STRING"), - format, - data, - length, - &list); - - if (count > 0) + uris = gtk_selection_data_get_uris (selection_data); + if (uris != NULL) { - gchar **result; NSURL *url; - result = g_uri_list_extract_uris (list[0]); - - url = [NSURL URLWithString:[NSString stringWithUTF8String:result[0]]]; + url = [NSURL URLWithString:[NSString stringWithUTF8String:uris[0]]]; [url writeToPasteboard:pasteboard]; - - g_strfreev (result); } - - g_strfreev (list); + g_strfreev (uris); } else [pasteboard setData:[NSData dataWithBytesNoCopy:(void *)data From 572bb200113dd8e3bec7bc0ff37bb7d6497fad71 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 16 Dec 2010 23:44:50 -0500 Subject: [PATCH 0698/1463] Deal with property encoding functions Move everything dealing with compound text to be X11 specific Only gdk_text_property_to_utf8_list and gdk_utf8_to_string_target are kept across backends, so add vfuncs for these. Also, remove the non-multihead-safe variants of all these. --- gdk/gdk.symbols | 14 +- gdk/gdkdisplayprivate.h | 9 + gdk/gdkproperty.h | 92 ++---- gdk/gdkselection.c | 165 ++++------ gdk/x11/gdkdisplay-x11.c | 2 + gdk/x11/gdkprivate-x11.h | 9 + gdk/x11/gdkselection-x11.c | 644 ++++++++++++++++++------------------- gdk/x11/gdkwindow-x11.c | 10 +- gdk/x11/gdkx.h | 24 ++ gtk/gtkselection.c | 26 +- 10 files changed, 454 insertions(+), 541 deletions(-) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 15f28c24cd..77db64cb2c 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -197,8 +197,6 @@ gdk_event_type_get_type G_GNUC_CONST gdk_extension_mode_get_type G_GNUC_CONST gdk_filter_return_get_type G_GNUC_CONST gdk_flush -gdk_free_compound_text -gdk_free_text_list gdk_get_default_root_window gdk_get_display gdk_get_display_arg_name @@ -323,15 +321,10 @@ gdk_set_show_events gdk_setting_action_get_type G_GNUC_CONST gdk_setting_get gdk_status_get_type G_GNUC_CONST -gdk_string_to_compound_text -gdk_string_to_compound_text_for_display gdk_synthesize_window_state gdk_test_render_sync gdk_test_simulate_button gdk_test_simulate_key -gdk_text_property_to_text_list -gdk_text_property_to_text_list_for_display -gdk_text_property_to_utf8_list gdk_text_property_to_utf8_list_for_display gdk_threads_add_idle gdk_threads_add_idle_full @@ -344,8 +337,6 @@ gdk_threads_init gdk_threads_leave gdk_threads_set_lock_functions gdk_unicode_to_keyval G_GNUC_CONST -gdk_utf8_to_compound_text -gdk_utf8_to_compound_text_for_display gdk_utf8_to_string_target gdk_visibility_state_get_type G_GNUC_CONST gdk_visual_get_best @@ -539,7 +530,12 @@ gdk_x11_display_get_xdisplay gdk_x11_display_grab gdk_x11_display_set_cursor_theme gdk_x11_display_set_startup_notification_id +gdk_x11_display_string_to_compound_text +gdk_x11_display_text_property_to_text_list gdk_x11_display_ungrab +gdk_x11_display_utf8_to_compound_text +gdk_x11_free_compound_text +gdk_x11_free_text_list gdk_x11_get_default_root_xwindow gdk_x11_get_default_screen gdk_x11_get_default_xdisplay diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index f589581d7e..4885b18a46 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -220,6 +220,15 @@ struct _GdkDisplayClass GdkAtom target, guint32 time); + gint (*text_property_to_utf8_list) (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); + gchar * (*utf8_to_string_target) (GdkDisplay *display, + const gchar *text); + /* Signals */ void (*closed) (GdkDisplay *display, gboolean is_error); diff --git a/gdk/gdkproperty.h b/gdk/gdkproperty.h index 4ea6f8153d..014234e983 100644 --- a/gdk/gdkproperty.h +++ b/gdk/gdkproperty.h @@ -54,83 +54,39 @@ typedef enum GdkAtom gdk_atom_intern (const gchar *atom_name, - gboolean only_if_exists); + gboolean only_if_exists); GdkAtom gdk_atom_intern_static_string (const gchar *atom_name); gchar* gdk_atom_name (GdkAtom atom); gboolean gdk_property_get (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gulong offset, - gulong length, - gint pdelete, - GdkAtom *actual_property_type, - gint *actual_format, - gint *actual_length, - guchar **data); + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format, + gint *actual_length, + guchar **data); void gdk_property_change (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gint format, - GdkPropMode mode, - const guchar *data, - gint nelements); + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements); void gdk_property_delete (GdkWindow *window, - GdkAtom property); + GdkAtom property); -#ifndef GDK_MULTIHEAD_SAFE -gint gdk_text_property_to_text_list (GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list); -gint gdk_text_property_to_utf8_list (GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list); -gboolean gdk_utf8_to_compound_text (const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length); -gint gdk_string_to_compound_text (const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length); -#endif /* GDK_MULTIHEAD_SAFE */ +gint gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); -gint gdk_text_property_to_text_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list); -gint gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list); - -gchar *gdk_utf8_to_string_target (const gchar *str); -gint gdk_string_to_compound_text_for_display (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length); -gboolean gdk_utf8_to_compound_text_for_display (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length); - -void gdk_free_text_list (gchar **list); -void gdk_free_compound_text (guchar *ctext); +gchar *gdk_utf8_to_string_target (const gchar *str); G_END_DECLS diff --git a/gdk/gdkselection.c b/gdk/gdkselection.c index c50a3f70d3..27adfdf7d5 100644 --- a/gdk/gdkselection.c +++ b/gdk/gdkselection.c @@ -137,116 +137,6 @@ gdk_selection_send_notify (GdkNativeWindow requestor, target, property, time); } -/** - * gdk_text_property_to_text_list: - * @encoding: an atom representing the encoding. The most common - * values for this are STRING, - * or COMPOUND_TEXT. This is - * value used as the type for the property. - * @format: the format of the property. - * @text: the text data. - * @length: the length of the property, in items. - * @list: location to store a terminated array of strings - * in the encoding of the current locale. This - * array should be freed using gdk_free_text_list(). - * - * Converts a text string from the encoding as it is stored in - * a property into an array of strings in the encoding of - * the current local. (The elements of the array represent - * the nul-separated elements of the original text string.) - * - * Returns: the number of strings stored in @list, or 0, - * if the conversion failed. - */ -gint -gdk_text_property_to_text_list (GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) -{ - return gdk_text_property_to_text_list_for_display (gdk_display_get_default (), - encoding, format, text, length, list); -} - -/** - * gdk_text_property_to_utf8_list: - * @encoding: an atom representing the encoding of the text - * @format: the format of the property - * @text: the text to convert - * @length: the length of @text, in bytes - * @list: (allow-none): location to store the list of strings or %NULL. The - * list should be freed with g_strfreev(). - * - * Convert a text property in the giving encoding to - * a list of UTF-8 strings. - * - * Return value: the number of strings in the resulting - * list. - **/ -gint -gdk_text_property_to_utf8_list (GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) -{ - return gdk_text_property_to_utf8_list_for_display (gdk_display_get_default (), - encoding, format, text, length, list); -} - -/** - * gdk_string_to_compound_text: - * @str: a nul-terminated string. - * @encoding: location to store the encoding atom (to be used as - * the type for the property). - * @format: location to store the format for the property. - * @ctext: location to store newly allocated data for the property. - * @length: location to store the length of @ctext in items. - * - * Converts a string from the encoding of the current locale - * into a form suitable for storing in a window property. - * - * Returns: 0 upon sucess, non-zero upon failure. - */ -gint -gdk_string_to_compound_text (const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length) -{ - return gdk_string_to_compound_text_for_display (gdk_display_get_default (), - str, encoding, format, - ctext, length); -} - -/** - * gdk_utf8_to_compound_text: - * @str: a UTF-8 string - * @encoding: location to store resulting encoding - * @format: location to store format of the result - * @ctext: location to store the data of the result - * @length: location to store the length of the data - * stored in @ctext - * - * Convert from UTF-8 to compound text. - * - * Return value: %TRUE if the conversion succeeded, otherwise - * false. - **/ -gboolean -gdk_utf8_to_compound_text (const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length) -{ - return gdk_utf8_to_compound_text_for_display (gdk_display_get_default (), - str, encoding, format, - ctext, length); -} - /** * gdk_selection_owner_set_for_display: * @display: the #GdkDisplay @@ -386,3 +276,58 @@ gdk_selection_convert (GdkWindow *requestor, GDK_DISPLAY_GET_CLASS (display) ->convert_selection (display, requestor, selection, target, time); } + +/** + * gdk_text_property_to_utf8_list_for_display: + * @display: a #GdkDisplay + * @encoding: an atom representing the encoding of the text + * @format: the format of the property + * @text: the text to convert + * @length: the length of @text, in bytes + * @list: location to store the list of strings or %NULL. The + * list should be freed with g_strfreev(). + * + * Converts a text property in the given encoding to + * a list of UTF-8 strings. + * + * Return value: the number of strings in the resulting list + * + * Since: 2.2 + */ +gint +gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list) +{ + g_return_val_if_fail (text != NULL, 0); + g_return_val_if_fail (length >= 0, 0); + g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); + + return GDK_DISPLAY_GET_CLASS (display) + ->text_property_to_utf8_list (display, encoding, format, text, length, list); +} + +/** + * gdk_utf8_to_string_target: + * @str: a UTF-8 string + * + * Converts an UTF-8 string into the best possible representation + * as a STRING. The representation of characters not in STRING + * is not specified; it may be as pseudo-escape sequences + * \x{ABCD}, or it may be in some other form of approximation. + * + * Return value: the newly-allocated string, or %NULL if the + * conversion failed. (It should not fail for + * any properly formed UTF-8 string unless system + * limits like memory or file descriptors are exceeded.) + **/ +gchar * +gdk_utf8_to_string_target (const gchar *str) +{ + GdkDisplay *display = gdk_display_get_default (); + + return GDK_DISPLAY_GET_CLASS (display)->utf8_to_string_target (display, str); +} diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index cbba5aaae1..cdf2b5cc26 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2765,4 +2765,6 @@ _gdk_display_x11_class_init (GdkDisplayX11Class * class) display_class->send_selection_notify = _gdk_x11_display_send_selection_notify; display_class->get_selection_property = _gdk_x11_display_get_selection_property; display_class->convert_selection = _gdk_x11_display_convert_selection; + display_class->text_property_to_utf8_list = _gdk_x11_display_text_property_to_utf8_list; + display_class->utf8_to_string_target = _gdk_x11_display_utf8_to_string_target; } diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index c630c31706..a2f80dc01e 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -213,6 +213,15 @@ void _gdk_x11_display_convert_selection (GdkDisplay *display, GdkAtom target, guint32 time); +gint _gdk_x11_display_text_property_to_utf8_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); +gchar * _gdk_x11_display_utf8_to_string_target (GdkDisplay *displayt, + const gchar *str); + void _gdk_x11_device_check_extension_events (GdkDevice *device); GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display); diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 4331258cc5..7b89105301 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -21,7 +21,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -61,12 +61,12 @@ _gdk_x11_selection_window_destroyed (GdkWindow *window) { OwnerInfo *info = tmp_list->data; tmp_list = tmp_list->next; - + if (info->owner == window) - { - owner_list = g_slist_remove (owner_list, info); - g_free (info); - } + { + owner_list = g_slist_remove (owner_list, info); + g_free (info); + } } } @@ -78,24 +78,24 @@ _gdk_x11_selection_filter_clear_event (XSelectionClearEvent *event) { GSList *tmp_list = owner_list; GdkDisplay *display = gdk_x11_lookup_xdisplay (event->display); - + while (tmp_list) { OwnerInfo *info = tmp_list->data; if (gdk_window_get_display (info->owner) == display && - info->selection == gdk_x11_xatom_to_atom_for_display (display, event->selection)) - { - if ((GDK_WINDOW_XID (info->owner) == event->window && - event->serial >= info->serial)) - { - owner_list = g_slist_remove (owner_list, info); - g_free (info); - return TRUE; - } - else - return FALSE; - } + info->selection == gdk_x11_xatom_to_atom_for_display (display, event->selection)) + { + if ((GDK_WINDOW_XID (info->owner) == event->window && + event->serial >= info->serial)) + { + owner_list = g_slist_remove (owner_list, info); + g_free (info); + return TRUE; + } + else + return FALSE; + } tmp_list = tmp_list->next; } @@ -127,24 +127,24 @@ _gdk_x11_display_set_selection_owner (GdkDisplay *display, xdisplay = GDK_WINDOW_XDISPLAY (owner); xwindow = GDK_WINDOW_XID (owner); } - else + else { xdisplay = GDK_DISPLAY_XDISPLAY (display); xwindow = None; } - + xselection = gdk_x11_atom_to_xatom_for_display (display, selection); tmp_list = owner_list; while (tmp_list) { info = tmp_list->data; - if (info->selection == selection) - { - owner_list = g_slist_remove (owner_list, info); - g_free (info); - break; - } + if (info->selection == selection) + { + owner_list = g_slist_remove (owner_list, info); + g_free (info); + break; + } tmp_list = tmp_list->next; } @@ -173,8 +173,8 @@ _gdk_x11_display_get_selection_owner (GdkDisplay *display, return NULL; xwindow = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), - gdk_x11_atom_to_xatom_for_display (display, - selection)); + gdk_x11_atom_to_xatom_for_display (display, + selection)); if (xwindow == None) return NULL; @@ -232,66 +232,66 @@ _gdk_x11_display_get_selection_property (GdkDisplay *display, AnyPropertyType, &prop_type, &prop_format, &nitems, &nbytes, &t) != Success) goto err; - + if (prop_type != None) { if (ret_type) - *ret_type = gdk_x11_xatom_to_atom_for_display (display, prop_type); + *ret_type = gdk_x11_xatom_to_atom_for_display (display, prop_type); if (ret_format) - *ret_format = prop_format; + *ret_format = prop_format; if (prop_type == XA_ATOM || - prop_type == gdk_x11_get_xatom_by_name_for_display (display, "ATOM_PAIR")) - { - Atom* atoms = (Atom*) t; - GdkAtom* atoms_dest; - gint num_atom, i; + prop_type == gdk_x11_get_xatom_by_name_for_display (display, "ATOM_PAIR")) + { + Atom* atoms = (Atom*) t; + GdkAtom* atoms_dest; + gint num_atom, i; - if (prop_format != 32) - goto err; - - num_atom = nitems; - length = sizeof (GdkAtom) * num_atom + 1; + if (prop_format != 32) + goto err; - if (data) - { - *data = g_malloc (length); - (*data)[length - 1] = '\0'; - atoms_dest = (GdkAtom *)(*data); - - for (i=0; i < num_atom; i++) - atoms_dest[i] = gdk_x11_xatom_to_atom_for_display (display, atoms[i]); - } - } + num_atom = nitems; + length = sizeof (GdkAtom) * num_atom + 1; + + if (data) + { + *data = g_malloc (length); + (*data)[length - 1] = '\0'; + atoms_dest = (GdkAtom *)(*data); + + for (i=0; i < num_atom; i++) + atoms_dest[i] = gdk_x11_xatom_to_atom_for_display (display, atoms[i]); + } + } else - { - switch (prop_format) - { - case 8: - length = nitems; - break; - case 16: - length = sizeof(short) * nitems; - break; - case 32: - length = sizeof(long) * nitems; - break; - default: - g_assert_not_reached (); - break; - } - - /* Add on an extra byte to handle null termination. X guarantees - that t will be 1 longer than nitems and null terminated */ - length += 1; + { + switch (prop_format) + { + case 8: + length = nitems; + break; + case 16: + length = sizeof(short) * nitems; + break; + case 32: + length = sizeof(long) * nitems; + break; + default: + g_assert_not_reached (); + break; + } + + /* Add on an extra byte to handle null termination. X guarantees + that t will be 1 longer than nitems and null terminated */ + length += 1; + + if (data) + *data = g_memdup (t, length); + } - if (data) - *data = g_memdup (t, length); - } - if (t) - XFree (t); - + XFree (t); + return length - 1; } @@ -302,7 +302,7 @@ _gdk_x11_display_get_selection_property (GdkDisplay *display, *ret_format = 0; if (data) *data = NULL; - + return 0; } @@ -332,35 +332,35 @@ _gdk_x11_display_send_selection_notify (GdkDisplay *display, } /** - * gdk_text_property_to_text_list_for_display: - * @display: The #GdkDisplay where the encoding is defined. - * @encoding: an atom representing the encoding. The most - * common values for this are STRING, or COMPOUND_TEXT. - * This is value used as the type for the property. - * @format: the format of the property. - * @text: The text data. - * @length: The number of items to transform. - * @list: location to store a terminated array of strings in - * the encoding of the current locale. This array should be + * gdk_x11_display_text_property_to_text_list: + * @display: The #GdkDisplay where the encoding is defined + * @encoding: an atom representing the encoding. The most + * common values for this are STRING, or COMPOUND_TEXT. + * This is value used as the type for the property + * @format: the format of the property + * @text: The text data + * @length: The number of items to transform + * @list: location to store a terminated array of strings in + * the encoding of the current locale. This array should be * freed using gdk_free_text_list(). * - * Convert a text string from the encoding as it is stored + * Convert a text string from the encoding as it is stored * in a property into an array of strings in the encoding of * the current locale. (The elements of the array represent the * nul-separated elements of the original text string.) * - * Returns: the number of strings stored in list, or 0, - * if the conversion failed. + * Returns: the number of strings stored in list, or 0, + * if the conversion failed * - * Since: 2.2 + * Since: 3.0 */ gint -gdk_text_property_to_text_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) +gdk_x11_display_text_property_to_text_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list) { XTextProperty property; gint count = 0; @@ -378,31 +378,31 @@ gdk_text_property_to_text_list_for_display (GdkDisplay *display, property.encoding = gdk_x11_atom_to_xatom_for_display (display, encoding); property.format = format; property.nitems = length; - res = XmbTextPropertyToTextList (GDK_DISPLAY_XDISPLAY (display), &property, - &local_list, &count); + res = XmbTextPropertyToTextList (GDK_DISPLAY_XDISPLAY (display), &property, + &local_list, &count); if (res == XNoMemory || res == XLocaleNotSupported || res == XConverterNotFound) return 0; else { if (list) - *list = local_list; + *list = g_strdupv (local_list); else - XFreeStringList (local_list); - + XFreeStringList (local_list); + return count; } } /** - * gdk_free_text_list: + * gdk_x11_free_text_list: * @list: the value stored in the @list parameter by - * a call to gdk_text_property_to_text_list(). + * a call to gdk_x11_display_text_property_to_text_list(). * * Frees the array of strings created by - * gdk_text_property_to_text_list(). + * gdk_x11_display_text_property_to_text_list(). */ void -gdk_free_text_list (gchar **list) +gdk_x11_free_text_list (gchar **list) { g_return_if_fail (list != NULL); @@ -411,9 +411,9 @@ gdk_free_text_list (gchar **list) static gint make_list (const gchar *text, - gint length, - gboolean latin1, - gchar ***list) + gint length, + gboolean latin1, + gchar ***list) { GSList *strings = NULL; gint n_strings = 0; @@ -426,40 +426,40 @@ make_list (const gchar *text, while (p < text + length) { gchar *str; - + q = p; while (*q && q < text + length) - q++; + q++; if (latin1) - { - str = g_convert (p, q - p, - "UTF-8", "ISO-8859-1", - NULL, NULL, &error); + { + str = g_convert (p, q - p, + "UTF-8", "ISO-8859-1", + NULL, NULL, &error); - if (!str) - { - g_warning ("Error converting selection from STRING: %s", - error->message); - g_error_free (error); - } - } + if (!str) + { + g_warning ("Error converting selection from STRING: %s", + error->message); + g_error_free (error); + } + } else - { - str = g_strndup (p, q - p); - if (!g_utf8_validate (str, -1, NULL)) - { - g_warning ("Error converting selection from UTF8_STRING"); - g_free (str); - str = NULL; - } - } + { + str = g_strndup (p, q - p); + if (!g_utf8_validate (str, -1, NULL)) + { + g_warning ("Error converting selection from UTF8_STRING"); + g_free (str); + str = NULL; + } + } if (str) - { - strings = g_slist_prepend (strings, str); - n_strings++; - } + { + strings = g_slist_prepend (strings, str); + n_strings++; + } p = q + 1; } @@ -469,54 +469,32 @@ make_list (const gchar *text, *list = g_new (gchar *, n_strings + 1); (*list)[n_strings] = NULL; } - + i = n_strings; tmp_list = strings; while (tmp_list) { if (list) - (*list)[--i] = tmp_list->data; + (*list)[--i] = tmp_list->data; else - g_free (tmp_list->data); - + g_free (tmp_list->data); + tmp_list = tmp_list->next; } - + g_slist_free (strings); return n_strings; } -/** - * gdk_text_property_to_utf8_list_for_display: - * @display: a #GdkDisplay - * @encoding: an atom representing the encoding of the text - * @format: the format of the property - * @text: the text to convert - * @length: the length of @text, in bytes - * @list: location to store the list of strings or %NULL. The - * list should be freed with g_strfreev(). - * - * Converts a text property in the given encoding to - * a list of UTF-8 strings. - * - * Return value: the number of strings in the resulting - * list. - * - * Since: 2.2 - **/ -gint -gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) +gint +_gdk_x11_display_text_property_to_utf8_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list) { - g_return_val_if_fail (text != NULL, 0); - g_return_val_if_fail (length >= 0, 0); - g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); - if (encoding == GDK_TARGET_STRING) { return make_list ((gchar *)text, length, TRUE, list); @@ -534,88 +512,88 @@ gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, gboolean need_conversion = !g_get_charset (&charset); gint count = 0; GError *error = NULL; - + /* Probably COMPOUND text, we fall back to Xlib routines */ - local_count = gdk_text_property_to_text_list_for_display (display, - encoding, - format, - text, - length, - &local_list); + local_count = gdk_x11_display_text_property_to_text_list (display, + encoding, + format, + text, + length, + &local_list); if (list) - *list = g_new (gchar *, local_count + 1); - + *list = g_new (gchar *, local_count + 1); + for (i=0; imessage); - g_error_free (error); - error = NULL; - } - } - else - { - if (list) - { - if (g_utf8_validate (local_list[i], -1, NULL)) - (*list)[count++] = g_strdup (local_list[i]); - else - g_warning ("Error converting selection"); - } - } - } + { + /* list contains stuff in our default encoding + */ + if (need_conversion) + { + gchar *utf = g_convert (local_list[i], -1, + "UTF-8", charset, + NULL, NULL, &error); + if (utf) + { + if (list) + (*list)[count++] = utf; + else + g_free (utf); + } + else + { + g_warning ("Error converting to UTF-8 from '%s': %s", + charset, error->message); + g_error_free (error); + error = NULL; + } + } + else + { + if (list) + { + if (g_utf8_validate (local_list[i], -1, NULL)) + (*list)[count++] = g_strdup (local_list[i]); + else + g_warning ("Error converting selection"); + } + } + } if (local_count) - gdk_free_text_list (local_list); - + gdk_x11_free_text_list (local_list); + if (list) - (*list)[count] = NULL; + (*list)[count] = NULL; return count; } } /** - * gdk_string_to_compound_text_for_display: - * @display: the #GdkDisplay where the encoding is defined. - * @str: a nul-terminated string. - * @encoding: location to store the encoding atom - * (to be used as the type for the property). - * @format: location to store the format of the property - * @ctext: location to store newly allocated data for the property. - * @length: the length of @text, in bytes - * - * Convert a string from the encoding of the current - * locale into a form suitable for storing in a window property. - * - * Returns: 0 upon success, non-zero upon failure. + * gdk_x11_display_string_to_compound_text: + * @display: the #GdkDisplay where the encoding is defined + * @str: a nul-terminated string + * @encoding: location to store the encoding atom + * (to be used as the type for the property) + * @format: location to store the format of the property + * @ctext: location to store newly allocated data for the property + * @length: the length of @text, in bytes * - * Since: 2.2 - **/ + * Convert a string from the encoding of the current + * locale into a form suitable for storing in a window property. + * + * Returns: 0 upon success, non-zero upon failure + * + * Since: 3.0 + */ gint -gdk_string_to_compound_text_for_display (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length) +gdk_x11_display_string_to_compound_text (GdkDisplay *display, + const gchar *str, + GdkAtom *encoding, + gint *format, + guchar **ctext, + gint *length) { gint res; XTextProperty property; @@ -625,9 +603,9 @@ gdk_string_to_compound_text_for_display (GdkDisplay *display, if (gdk_display_is_closed (display)) res = XLocaleNotSupported; else - res = XmbTextListToTextProperty (GDK_DISPLAY_XDISPLAY (display), - (char **)&str, 1, XCompoundTextStyle, - &property); + res = XmbTextListToTextProperty (GDK_DISPLAY_XDISPLAY (display), + (char **)&str, 1, XCompoundTextStyle, + &property); if (res != Success) { property.encoding = None; @@ -655,9 +633,9 @@ gdk_string_to_compound_text_for_display (GdkDisplay *display, * This routine strips out all non-allowed C0 and C1 characters * from the input string and also canonicalizes \r, and \r\n to \n */ -static gchar * +static gchar * sanitize_utf8 (const gchar *src, - gboolean return_latin1) + gboolean return_latin1) { gint len = strlen (src); GString *result = g_string_sized_new (len); @@ -666,89 +644,76 @@ sanitize_utf8 (const gchar *src, while (*p) { if (*p == '\r') - { - p++; - if (*p == '\n') - p++; + { + p++; + if (*p == '\n') + p++; - g_string_append_c (result, '\n'); - } + g_string_append_c (result, '\n'); + } else - { - gunichar ch = g_utf8_get_char (p); - - if (!((ch < 0x20 && ch != '\t' && ch != '\n') || (ch >= 0x7f && ch < 0xa0))) - { - if (return_latin1) - { - if (ch <= 0xff) - g_string_append_c (result, ch); - else - g_string_append_printf (result, - ch < 0x10000 ? "\\u%04x" : "\\U%08x", - ch); - } - else - { - char buf[7]; - gint buflen; - - buflen = g_unichar_to_utf8 (ch, buf); - g_string_append_len (result, buf, buflen); - } - } + { + gunichar ch = g_utf8_get_char (p); - p = g_utf8_next_char (p); - } + if (!((ch < 0x20 && ch != '\t' && ch != '\n') || (ch >= 0x7f && ch < 0xa0))) + { + if (return_latin1) + { + if (ch <= 0xff) + g_string_append_c (result, ch); + else + g_string_append_printf (result, + ch < 0x10000 ? "\\u%04x" : "\\U%08x", + ch); + } + else + { + char buf[7]; + gint buflen; + + buflen = g_unichar_to_utf8 (ch, buf); + g_string_append_len (result, buf, buflen); + } + } + + p = g_utf8_next_char (p); + } } return g_string_free (result, FALSE); } -/** - * gdk_utf8_to_string_target: - * @str: a UTF-8 string - * - * Converts an UTF-8 string into the best possible representation - * as a STRING. The representation of characters not in STRING - * is not specified; it may be as pseudo-escape sequences - * \x{ABCD}, or it may be in some other form of approximation. - * - * Return value: the newly-allocated string, or %NULL if the - * conversion failed. (It should not fail for - * any properly formed UTF-8 string unless system - * limits like memory or file descriptors are exceeded.) - **/ gchar * -gdk_utf8_to_string_target (const gchar *str) +_gdk_x11_display_utf8_to_string_target (GdkDisplay *display, + const gchar *str) { return sanitize_utf8 (str, TRUE); } /** - * gdk_utf8_to_compound_text_for_display: - * @display: a #GdkDisplay - * @str: a UTF-8 string + * gdk_x11_display_utf8_to_compound_text: + * @display: a #GdkDisplay + * @str: a UTF-8 string * @encoding: location to store resulting encoding - * @format: location to store format of the result - * @ctext: location to store the data of the result - * @length: location to store the length of the data - * stored in @ctext - * - * Converts from UTF-8 to compound text. - * - * Return value: %TRUE if the conversion succeeded, otherwise - * %FALSE. + * @format: location to store format of the result + * @ctext: location to store the data of the result + * @length: location to store the length of the data + * stored in @ctext * - * Since: 2.2 - **/ + * Converts from UTF-8 to compound text. + * + * Return value: %TRUE if the conversion succeeded, + * otherwise %FALSE + * + * Since: 3.0 + */ gboolean -gdk_utf8_to_compound_text_for_display (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length) +gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, + const gchar *str, + GdkAtom *encoding, + gint *format, + guchar **ctext, + gint *length) { gboolean need_conversion; const gchar *charset; @@ -766,53 +731,56 @@ gdk_utf8_to_compound_text_for_display (GdkDisplay *display, if (need_conversion) { locale_str = g_convert (tmp_str, -1, - charset, "UTF-8", - NULL, NULL, &error); + charset, "UTF-8", + NULL, NULL, &error); g_free (tmp_str); if (!locale_str) - { - if (!(error->domain = G_CONVERT_ERROR && - error->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE)) - { - g_warning ("Error converting from UTF-8 to '%s': %s", - charset, error->message); - } - g_error_free (error); + { + if (!(error->domain = G_CONVERT_ERROR && + error->code == G_CONVERT_ERROR_ILLEGAL_SEQUENCE)) + { + g_warning ("Error converting from UTF-8 to '%s': %s", + charset, error->message); + } + g_error_free (error); - if (encoding) - *encoding = None; - if (format) - *format = None; - if (ctext) - *ctext = NULL; - if (length) - *length = 0; + if (encoding) + *encoding = None; + if (format) + *format = None; + if (ctext) + *ctext = NULL; + if (length) + *length = 0; - return FALSE; - } + return FALSE; + } } else locale_str = tmp_str; - - result = gdk_string_to_compound_text_for_display (display, locale_str, - encoding, format, - ctext, length); + + result = gdk_x11_display_string_to_compound_text (display, locale_str, + encoding, format, + ctext, length); result = (result == Success? TRUE : FALSE); - + g_free (locale_str); return result; } /** - * gdk_free_compound_text: + * gdk_x11_free_compound_text: * @ctext: The pointer stored in @ctext from a call to - * gdk_string_to_compound_text(). + * gdk_x11_display_string_to_compound_text(). * - * Frees the data returned from gdk_string_to_compound_text(). + * Frees the data returned from gdk_x11_display_string_to_compound_text(). + * + * Since: 3.0 */ -void gdk_free_compound_text (guchar *ctext) +void +gdk_x11_free_compound_text (guchar *ctext) { if (ctext) XFree (ctext); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index b9d59fed0b..0c29ab90f8 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2231,10 +2231,10 @@ set_text_property (GdkDisplay *display, else { GdkAtom gdk_type; - - gdk_utf8_to_compound_text_for_display (display, - utf8_str, &gdk_type, &prop_format, - (guchar **)&prop_text, &prop_length); + + gdk_x11_display_utf8_to_compound_text (display, + utf8_str, &gdk_type, &prop_format, + (guchar **)&prop_text, &prop_length); prop_type = gdk_x11_atom_to_xatom_for_display (display, gdk_type); is_compound_text = TRUE; } @@ -2249,7 +2249,7 @@ set_text_property (GdkDisplay *display, prop_length); if (is_compound_text) - gdk_free_compound_text ((guchar *)prop_text); + gdk_x11_free_compound_text ((guchar *)prop_text); else g_free (prop_text); } diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 1801b63f22..f9e24be8c9 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -231,6 +231,30 @@ GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display, GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display, Window window); +gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); +void gdk_x11_free_text_list (gchar **list); +gint gdk_x11_display_string_to_compound_text (GdkDisplay *display, + const gchar *str, + GdkAtom *encoding, + gint *format, + guchar **ctext, + gint *length); +gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, + const gchar *str, + GdkAtom *encoding, + gint *format, + guchar **ctext, + gint *length); +void gdk_x11_free_compound_text (guchar *ctext); + + + + G_END_DECLS #endif /* __GDK_X_H__ */ diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 043d8ed71d..eebd8d609f 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -1318,18 +1318,22 @@ selection_set_compound_text (GtkSelectionData *selection_data, gint format; gint new_length; gboolean result = FALSE; - - tmp = g_strndup (str, len); - if (gdk_utf8_to_compound_text_for_display (selection_data->display, tmp, - &encoding, &format, &text, &new_length)) - { - gtk_selection_data_set (selection_data, encoding, format, text, new_length); - gdk_free_compound_text (text); - - result = TRUE; - } - g_free (tmp); +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_DISPLAY_X11 (selection_data->display)) + { + tmp = g_strndup (str, len); + if (gdk_x11_display_utf8_to_compound_text (selection_data->display, tmp, + &encoding, &format, &text, &new_length)) + { + gtk_selection_data_set (selection_data, encoding, format, text, new_length); + gdk_x11_free_compound_text (text); + + result = TRUE; + } + g_free (tmp); + } +#endif return result; } From 00e2b949ebee626c44d07fba483318a112ccaaca Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 00:04:17 -0500 Subject: [PATCH 0699/1463] Reinstate the correct field value --- gdk/x11/gdkdnd-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index eff8bd39db..b0a628a422 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -3627,7 +3627,7 @@ gdk_drag_context_x11_drag_status (GdkDragContext *context, xev.xclient.data.l[1] = (action != 0) ? (2 | 1) : 0; xev.xclient.data.l[2] = 0; xev.xclient.data.l[3] = 0; - xev.xclient.data.l[4] = 0; + xev.xclient.data.l[4] = xdnd_action_to_atom (display, action); if (!xdnd_send_xevent (context_x11, context->source_window, FALSE, &xev)) GDK_NOTE (DND, g_message ("Send event to %lx failed", From 10e23de49e932adc49a464b5a3193045196550bf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 00:41:55 -0500 Subject: [PATCH 0700/1463] Drop sm_client_id win32 implementation --- gdk/win32/gdkmain-win32.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index ba04cdee43..afc6a2268f 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -174,13 +174,6 @@ gdk_screen_get_height_mm (GdkScreen *screen) return (double) gdk_screen_get_height (screen) / GetDeviceCaps (_gdk_display_hdc, LOGPIXELSY) * 25.4; } -void -_gdk_windowing_display_set_sm_client_id (GdkDisplay *display, - const gchar *sm_client_id) -{ - g_warning("gdk_set_sm_client_id %s", sm_client_id ? sm_client_id : "NULL"); -} - void gdk_display_beep (GdkDisplay *display) { From 58529e69ec3fdf76cad911d6fd62e1c6eba2119d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 00:43:07 -0500 Subject: [PATCH 0701/1463] Drop sm_client_id implementation for Quartz --- gdk/quartz/gdkmain-quartz.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c index dad1e544e7..3dfe53ea7e 100644 --- a/gdk/quartz/gdkmain-quartz.c +++ b/gdk/quartz/gdkmain-quartz.c @@ -79,9 +79,3 @@ gdk_window_set_startup_id (GdkWindow *window, { /* FIXME: Implement? */ } - -void -_gdk_windowing_display_set_sm_client_id (GdkDisplay *display, - const gchar *sm_client_id) -{ -} From 2650328ea8eb8914def43268604fe30ffa3982d7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 00:46:04 -0500 Subject: [PATCH 0702/1463] Add win32 implementation for foreign window functions --- gdk/win32/gdkwin32.h | 4 ++++ gdk/win32/gdkwindow-win32.c | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gdk/win32/gdkwin32.h b/gdk/win32/gdkwin32.h index 5a494756d8..9d7d983ec0 100644 --- a/gdk/win32/gdkwin32.h +++ b/gdk/win32/gdkwin32.h @@ -91,6 +91,10 @@ GdkPixbuf *gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon); HICON gdk_win32_pixbuf_to_hicon_libgtk_only (GdkPixbuf *pixbuf); void gdk_win32_set_modal_dialog_libgtk_only (HWND window); +GdkWindow * gdk_win32_window_foreign_new_for_display (GdkDisplay *display, + GdkNativeWindow anid); +GdkWindow * gdk_win32_window_lookup_for_display (GdkDisplay *display, + GdkNativeWindow anid); G_END_DECLS diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index bd00e2c4d9..2f67f35fb3 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -618,8 +618,8 @@ _gdk_window_impl_new (GdkWindow *window, } GdkWindow * -gdk_window_foreign_new_for_display (GdkDisplay *display, - GdkNativeWindow anid) +gdk_win32_window_foreign_new_for_display (GdkDisplay *display, + GdkNativeWindow anid) { GdkWindow *window; GdkWindowObject *private; @@ -677,7 +677,7 @@ gdk_window_foreign_new_for_display (GdkDisplay *display, g_object_ref (window); gdk_win32_handle_table_insert (&GDK_WINDOW_HWND (window), window); - GDK_NOTE (MISC, g_print ("gdk_window_foreign_new_for_display: %p: %s@%+d%+d\n", + GDK_NOTE (MISC, g_print ("gdk_win32_window_foreign_new_for_display: %p: %s@%+d%+d\n", (HWND) anid, _gdk_win32_drawable_description (window), private->x, private->y)); @@ -3092,8 +3092,8 @@ gdk_win32_window_shape_combine_region (GdkWindow *window, } GdkWindow * -gdk_window_lookup_for_display (GdkDisplay *display, - GdkNativeWindow anid) +gdk_win32_window_lookup_for_display (GdkDisplay *display, + GdkNativeWindow anid) { g_return_val_if_fail (display == _gdk_display, NULL); From 3d5d558393d242b55b0ee325db160545263bbf85 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 01:48:12 -0500 Subject: [PATCH 0703/1463] Downgrade some Since tags --- gdk/x11/gdkdisplay-x11.c | 2 ++ gdk/x11/gdkselection-x11.c | 10 ++++++---- gdk/x11/gdkwindow-x11.c | 2 +- gdk/x11/gdkxid.c | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index cdf2b5cc26..60265adff5 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2652,6 +2652,8 @@ extern GdkNativeWindow _gdk_x11_display_get_drag_protocol (GdkDisplay * * See the X Session Management Library documentation for more information on * session management and the Inter-Client Communication Conventions Manual + * + * Since: 2.24 */ void gdk_x11_set_sm_client_id (const gchar *sm_client_id) diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 7b89105301..5a0dfeac0f 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -352,7 +352,7 @@ _gdk_x11_display_send_selection_notify (GdkDisplay *display, * Returns: the number of strings stored in list, or 0, * if the conversion failed * - * Since: 3.0 + * Since: 2.24 */ gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, @@ -400,6 +400,8 @@ gdk_x11_display_text_property_to_text_list (GdkDisplay *display, * * Frees the array of strings created by * gdk_x11_display_text_property_to_text_list(). + * + * Since: 2.24 */ void gdk_x11_free_text_list (gchar **list) @@ -585,7 +587,7 @@ _gdk_x11_display_text_property_to_utf8_list (GdkDisplay *display, * * Returns: 0 upon success, non-zero upon failure * - * Since: 3.0 + * Since: 2.24 */ gint gdk_x11_display_string_to_compound_text (GdkDisplay *display, @@ -705,7 +707,7 @@ _gdk_x11_display_utf8_to_string_target (GdkDisplay *display, * Return value: %TRUE if the conversion succeeded, * otherwise %FALSE * - * Since: 3.0 + * Since: 2.24 */ gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, @@ -777,7 +779,7 @@ gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, * * Frees the data returned from gdk_x11_display_string_to_compound_text(). * - * Since: 3.0 + * Since: 2.24 */ void gdk_x11_free_compound_text (guchar *ctext) diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 0c29ab90f8..7c299c9ce0 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -865,7 +865,7 @@ x_event_mask_to_gdk_event_mask (long mask) * window, or %NULL if the window has been destroyed. The wrapper * will be newly created, if one doesn't exist already. * - * Since: 3.0 + * Since: 2.24 */ GdkWindow * gdk_x11_window_foreign_new_for_display (GdkDisplay *display, diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c index 2d229976f2..085118fdaf 100644 --- a/gdk/x11/gdkxid.c +++ b/gdk/x11/gdkxid.c @@ -89,7 +89,7 @@ _gdk_x11_display_remove_window (GdkDisplay *display, * Return value: (transfer none): the #GdkWindow wrapper for the native * window, or %NULL if there is none. * - * Since: 3.0 + * Since: 2.24 */ GdkWindow * gdk_x11_window_lookup_for_display (GdkDisplay *display, From 8e3afc6e5afea8448d884ab41faaa27d12a4a091 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 01:56:07 +0100 Subject: [PATCH 0704/1463] x11: Use public API to access cursor's xcursor --- gdk/x11/gdkdevice-core.c | 7 ++----- gdk/x11/gdkdevice-xi2.c | 7 ++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index 6dbe9f9559..e176f91f36 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -200,15 +200,12 @@ gdk_device_core_set_window_cursor (GdkDevice *device, GdkWindow *window, GdkCursor *cursor) { - GdkCursorPrivate *cursor_private; Cursor xcursor; - cursor_private = (GdkCursorPrivate*) cursor; - if (!cursor) xcursor = None; else - xcursor = cursor_private->xcursor; + xcursor = gdk_x11_cursor_get_xcursor (cursor); XDefineCursor (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), @@ -362,7 +359,7 @@ gdk_device_core_grab (GdkDevice *device, else { _gdk_x11_cursor_update_theme (cursor); - xcursor = ((GdkCursorPrivate *) cursor)->xcursor; + xcursor = gdk_x11_cursor_get_xcursor (cursor); } xevent_mask = 0; diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index df7ae1fb2b..4eca8f1d29 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -245,7 +245,6 @@ gdk_device_xi2_set_window_cursor (GdkDevice *device, GdkCursor *cursor) { GdkDeviceXI2Private *priv; - GdkCursorPrivate *cursor_private; priv = GDK_DEVICE_XI2 (device)->priv; @@ -255,12 +254,10 @@ gdk_device_xi2_set_window_cursor (GdkDevice *device, if (cursor) { - cursor_private = (GdkCursorPrivate*) cursor; - XIDefineCursor (GDK_WINDOW_XDISPLAY (window), priv->device_id, GDK_WINDOW_XID (window), - cursor_private->xcursor); + gdk_x11_cursor_get_xcursor (cursor)); } else XIUndefineCursor (GDK_WINDOW_XDISPLAY (window), @@ -408,7 +405,7 @@ gdk_device_xi2_grab (GdkDevice *device, else { _gdk_x11_cursor_update_theme (cursor); - xcursor = ((GdkCursorPrivate *) cursor)->xcursor; + xcursor = gdk_x11_cursor_get_xcursor (cursor); } mask.deviceid = priv->device_id; From 2eef91ad93f4da0e3ffccee55a4669c0dd147514 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 02:07:27 +0100 Subject: [PATCH 0705/1463] x11: Move GdkCursorPrivate into the C file --- gdk/x11/gdkcursor-x11.c | 11 +++++++++++ gdk/x11/gdkprivate-x11.h | 11 ----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 63de8f44ef..5577033ce8 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -45,6 +45,17 @@ #include #include +typedef struct _GdkCursorPrivate GdkCursorPrivate; + +struct _GdkCursorPrivate +{ + GdkCursor cursor; + Cursor xcursor; + GdkDisplay *display; + gchar *name; + guint serial; +}; + static guint theme_serial = 0; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index a2f80dc01e..edc191e0f5 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -40,17 +40,6 @@ #include "gdkdisplay-x11.h" #include -typedef struct _GdkCursorPrivate GdkCursorPrivate; - -struct _GdkCursorPrivate -{ - GdkCursor cursor; - Cursor xcursor; - GdkDisplay *display; - gchar *name; - guint serial; -}; - void _gdk_x11_error_handler_push (void); void _gdk_x11_error_handler_pop (void); From 66e38945390cd86a3f97867fc63005d5e60ed7fc Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 02:20:48 +0100 Subject: [PATCH 0706/1463] gdk: Move GdkCursor definition into a private header --- gdk/Makefile.am | 1 + gdk/gdkcursor.c | 6 ++++++ gdk/gdkcursor.h | 12 ------------ gdk/gdkcursorprivate.h | 43 +++++++++++++++++++++++++++++++++++++++++ gdk/x11/gdkcursor-x11.c | 1 + 5 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 gdk/gdkcursorprivate.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index b07af094cb..d7e13741e7 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -96,6 +96,7 @@ gdk_built_public_sources = \ gdk_private_headers = \ gdkapplaunchcontextprivate.h \ + gdkcursorprivate.h \ gdkdevicemanagerprivate.h \ gdkdeviceprivate.h \ gdkdisplaymanagerprivate.h \ diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 016723e657..1609c9cbcd 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -27,6 +27,7 @@ #include "config.h" #include "gdkcursor.h" +#include "gdkcursorprivate.h" #include "gdkdisplayprivate.h" #include "gdkinternals.h" @@ -52,6 +53,11 @@ * #GdkWindowAttr struct passed to gdk_window_new(). */ +/** + * GdkCursor: + * + * The #GdkCursor structure represents a cursor. Its contents are private. + */ G_DEFINE_BOXED_TYPE (GdkCursor, gdk_cursor, gdk_cursor_ref, diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h index a421828389..5979148c09 100644 --- a/gdk/gdkcursor.h +++ b/gdk/gdkcursor.h @@ -208,18 +208,6 @@ typedef enum GDK_CURSOR_IS_PIXMAP = -1 } GdkCursorType; -/** - * GdkCursor: - * - * A #GdkCursor structure represents a cursor. - */ -struct _GdkCursor -{ - /*< private >*/ - GdkCursorType GSEAL (type); - guint GSEAL (ref_count); -}; - /* Cursors */ diff --git a/gdk/gdkcursorprivate.h b/gdk/gdkcursorprivate.h new file mode 100644 index 0000000000..8b174b6ebe --- /dev/null +++ b/gdk/gdkcursorprivate.h @@ -0,0 +1,43 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#ifndef __GDK_CURSOR_PRIVATE_H__ +#define __GDK_CURSOR_PRIVATE_H__ + +#include + +G_BEGIN_DECLS + +struct _GdkCursor +{ + /*< private >*/ + GdkCursorType type; + guint ref_count; +}; + +G_END_DECLS + +#endif /* __GDK_CURSOR_PRIVATE_H__ */ diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 5577033ce8..d6b6adc7c8 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -31,6 +31,7 @@ #include #include "gdkcursor.h" +#include "gdkcursorprivate.h" #include "gdkprivate-x11.h" #include "gdkdisplay-x11.h" From 0b4913a1666aae0907bb32626a1c89a2e5a50e76 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:09:31 +0100 Subject: [PATCH 0707/1463] gdk: Make GdkCursor a GObject Also port the X11 implementation. Win32 and Quartz need to be ported still. --- gdk/gdkcursor.c | 25 +++++----- gdk/gdkcursor.h | 8 ++- gdk/gdkcursorprivate.h | 10 +++- gdk/gdkwindow.c | 14 +++--- gdk/x11/gdkcursor-x11.c | 107 ++++++++++++++++++++++++---------------- 5 files changed, 101 insertions(+), 63 deletions(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 1609c9cbcd..3bbbbddae9 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -59,9 +59,17 @@ * The #GdkCursor structure represents a cursor. Its contents are private. */ -G_DEFINE_BOXED_TYPE (GdkCursor, gdk_cursor, - gdk_cursor_ref, - gdk_cursor_unref) +G_DEFINE_ABSTRACT_TYPE (GdkCursor, gdk_cursor, G_TYPE_OBJECT) + +static void +gdk_cursor_class_init (GdkCursorClass *cursor_class) +{ +} + +static void +gdk_cursor_init (GdkCursor *cursor) +{ +} /** * gdk_cursor_ref: @@ -75,11 +83,8 @@ GdkCursor* gdk_cursor_ref (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, NULL); - g_return_val_if_fail (cursor->ref_count > 0, NULL); - cursor->ref_count += 1; - - return cursor; + return g_object_ref (cursor); } /** @@ -93,12 +98,8 @@ void gdk_cursor_unref (GdkCursor *cursor) { g_return_if_fail (cursor != NULL); - g_return_if_fail (cursor->ref_count > 0); - cursor->ref_count -= 1; - - if (cursor->ref_count == 0) - _gdk_cursor_destroy (cursor); + g_object_unref (cursor); } /** diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h index 5979148c09..717c7d5eb4 100644 --- a/gdk/gdkcursor.h +++ b/gdk/gdkcursor.h @@ -36,7 +36,13 @@ G_BEGIN_DECLS -#define GDK_TYPE_CURSOR (gdk_cursor_get_type ()) +#define GDK_TYPE_CURSOR (gdk_cursor_get_type ()) +#define GDK_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_CURSOR, GdkCursor)) +#define GDK_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_CURSOR, GdkCursorClass)) +#define GDK_IS_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_CURSOR)) +#define GDK_IS_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_CURSOR)) +#define GDK_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_CURSOR, GdkCursorClass)) + /** * GdkCursorType: diff --git a/gdk/gdkcursorprivate.h b/gdk/gdkcursorprivate.h index 8b174b6ebe..1381010450 100644 --- a/gdk/gdkcursorprivate.h +++ b/gdk/gdkcursorprivate.h @@ -31,11 +31,19 @@ G_BEGIN_DECLS +typedef struct _GdkCursorClass GdkCursorClass; + struct _GdkCursor { + GObject parent_instance; + /*< private >*/ GdkCursorType type; - guint ref_count; +}; + +struct _GdkCursorClass +{ + GObjectClass parent_class; }; G_END_DECLS diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 4a1049be14..4b33c6f3de 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -386,11 +386,11 @@ gdk_window_class_init (GdkWindowClass *klass) */ g_object_class_install_property (object_class, PROP_CURSOR, - g_param_spec_boxed ("cursor", - P_("Cursor"), - P_("Cursor"), - GDK_TYPE_CURSOR, - G_PARAM_READWRITE)); + g_param_spec_object ("cursor", + P_("Cursor"), + P_("Cursor"), + GDK_TYPE_CURSOR, + G_PARAM_READWRITE)); /** * GdkWindow::pick-embedded-child: @@ -593,7 +593,7 @@ gdk_window_set_property (GObject *object, switch (prop_id) { case PROP_CURSOR: - gdk_window_set_cursor (window, g_value_get_boxed (value)); + gdk_window_set_cursor (window, g_value_get_object (value)); break; default: @@ -613,7 +613,7 @@ gdk_window_get_property (GObject *object, switch (prop_id) { case PROP_CURSOR: - g_value_set_boxed (value, gdk_window_get_cursor (window)); + g_value_set_object (value, gdk_window_get_cursor (window)); break; default: diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index d6b6adc7c8..b5bf69ceca 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -46,17 +46,30 @@ #include #include -typedef struct _GdkCursorPrivate GdkCursorPrivate; +#define GDK_TYPE_X11_CURSOR (gdk_x11_cursor_get_type ()) +#define GDK_X11_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_CURSOR, GdkX11Cursor)) +#define GDK_X11_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_CURSOR, GdkX11CursorClass)) +#define GDK_IS_X11_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_CURSOR)) +#define GDK_IS_X11_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_CURSOR)) +#define GDK_X11_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_CURSOR, GdkX11CursorClass)) -struct _GdkCursorPrivate +typedef struct _GdkX11Cursor GdkX11Cursor; +typedef struct _GdkX11CursorClass GdkX11CursorClass; + +struct _GdkX11Cursor { GdkCursor cursor; + Cursor xcursor; GdkDisplay *display; gchar *name; guint serial; }; +struct _GdkX11CursorClass +{ + GdkCursorClass cursor_class; +}; static guint theme_serial = 0; @@ -80,7 +93,7 @@ struct cursor_cache_key * a non-NULL name. */ static void -add_to_cache (GdkCursorPrivate* cursor) +add_to_cache (GdkX11Cursor* cursor) { cursor_cache = g_slist_prepend (cursor_cache, cursor); @@ -94,7 +107,7 @@ static gint cache_compare_func (gconstpointer listelem, gconstpointer target) { - GdkCursorPrivate* cursor = (GdkCursorPrivate*)listelem; + GdkX11Cursor* cursor = (GdkX11Cursor*)listelem; struct cursor_cache_key* key = (struct cursor_cache_key*)target; if ((cursor->cursor.type != key->type) || @@ -114,7 +127,7 @@ cache_compare_func (gconstpointer listelem, * For named cursors type shall be GDK_CURSOR_IS_PIXMAP * For unnamed, typed cursors, name shall be NULL */ -static GdkCursorPrivate* +static GdkX11Cursor* find_in_cache (GdkDisplay *display, GdkCursorType type, const char *name) @@ -129,7 +142,7 @@ find_in_cache (GdkDisplay *display, res = g_slist_find_custom (cursor_cache, &key, cache_compare_func); if (res) - return (GdkCursorPrivate *) res->data; + return (GdkX11Cursor *) res->data; return NULL; } @@ -146,7 +159,7 @@ _gdk_x11_cursor_display_finalize (GdkDisplay *display) itemp = &cursor_cache; while (item) { - GdkCursorPrivate* cursor = (GdkCursorPrivate*)(item->data); + GdkX11Cursor* cursor = (GdkX11Cursor*)(item->data); if (cursor->display == display) { GSList* olditem; @@ -165,6 +178,36 @@ _gdk_x11_cursor_display_finalize (GdkDisplay *display) } } +/*** GdkX11Cursor ***/ + +G_DEFINE_TYPE (GdkX11Cursor, gdk_x11_cursor, GDK_TYPE_CURSOR) + +void +gdk_x11_cursor_finalize (GObject *object) +{ + GdkX11Cursor *private = GDK_X11_CURSOR (object); + + if (private->xcursor && !gdk_display_is_closed (private->display)) + XFreeCursor (GDK_DISPLAY_XDISPLAY (private->display), private->xcursor); + + g_free (private->name); + + G_OBJECT_CLASS (gdk_x11_cursor_parent_class)->finalize (object); +} + +static void +gdk_x11_cursor_class_init (GdkX11CursorClass *cursor_class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (cursor_class); + + object_class->finalize = gdk_x11_cursor_finalize; +} + +static void +gdk_x11_cursor_init (GdkX11Cursor *cursor) +{ +} + static Cursor get_blank_cursor (GdkDisplay *display) { @@ -203,7 +246,7 @@ GdkCursor* _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, GdkCursorType cursor_type) { - GdkCursorPrivate *private; + GdkX11Cursor *private; GdkCursor *cursor; Cursor xcursor; @@ -232,7 +275,7 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, } } - private = g_new (GdkCursorPrivate, 1); + private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); private->display = display; private->xcursor = xcursor; private->name = NULL; @@ -240,7 +283,6 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, cursor = (GdkCursor *) private; cursor->type = cursor_type; - cursor->ref_count = 1; if (xcursor != None) add_to_cache (private); @@ -248,22 +290,6 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, return cursor; } -void -_gdk_cursor_destroy (GdkCursor *cursor) -{ - GdkCursorPrivate *private; - - g_return_if_fail (cursor != NULL); - g_return_if_fail (cursor->ref_count == 0); - - private = (GdkCursorPrivate *) cursor; - if (private->xcursor && !gdk_display_is_closed (private->display)) - XFreeCursor (GDK_DISPLAY_XDISPLAY (private->display), private->xcursor); - - g_free (private->name); - g_free (private); -} - /** * gdk_x11_cursor_get_xdisplay: * @cursor: a #GdkCursor. @@ -277,7 +303,7 @@ gdk_x11_cursor_get_xdisplay (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, NULL); - return GDK_DISPLAY_XDISPLAY(((GdkCursorPrivate *)cursor)->display); + return GDK_DISPLAY_XDISPLAY(((GdkX11Cursor *)cursor)->display); } /** @@ -293,7 +319,7 @@ gdk_x11_cursor_get_xcursor (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, None); - return ((GdkCursorPrivate *)cursor)->xcursor; + return ((GdkX11Cursor *)cursor)->xcursor; } /** @@ -312,7 +338,7 @@ gdk_cursor_get_display (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, NULL); - return ((GdkCursorPrivate *)cursor)->display; + return ((GdkX11Cursor *)cursor)->display; } #if defined(HAVE_XCURSOR) && defined(HAVE_XFIXES) && XFIXES_MAJOR >= 2 @@ -335,7 +361,7 @@ GdkPixbuf* gdk_cursor_get_image (GdkCursor *cursor) { Display *xdisplay; - GdkCursorPrivate *private; + GdkX11Cursor *private; XcursorImages *images = NULL; XcursorImage *image; gint size; @@ -346,7 +372,7 @@ gdk_cursor_get_image (GdkCursor *cursor) g_return_val_if_fail (cursor != NULL, NULL); - private = (GdkCursorPrivate *) cursor; + private = (GdkX11Cursor *) cursor; xdisplay = GDK_DISPLAY_XDISPLAY (private->display); @@ -397,11 +423,11 @@ void _gdk_x11_cursor_update_theme (GdkCursor *cursor) { Display *xdisplay; - GdkCursorPrivate *private; + GdkX11Cursor *private; Cursor new_cursor = None; GdkDisplayX11 *display_x11; - private = (GdkCursorPrivate *) cursor; + private = (GdkX11Cursor *) cursor; xdisplay = GDK_DISPLAY_XDISPLAY (private->display); display_x11 = GDK_DISPLAY_X11 (private->display); @@ -572,7 +598,7 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, { XcursorImage *xcimage; Cursor xcursor; - GdkCursorPrivate *private; + GdkX11Cursor *private; GdkCursor *cursor; const char *option; char *end; @@ -613,7 +639,7 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, XcursorImageDestroy (xcimage); } - private = g_new (GdkCursorPrivate, 1); + private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); private->display = display; private->xcursor = xcursor; private->name = NULL; @@ -621,7 +647,6 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, cursor = (GdkCursor *) private; cursor->type = GDK_CURSOR_IS_PIXMAP; - cursor->ref_count = 1; return cursor; } @@ -632,7 +657,7 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, { Cursor xcursor; Display *xdisplay; - GdkCursorPrivate *private; + GdkX11Cursor *private; GdkCursor *cursor; if (gdk_display_is_closed (display)) @@ -657,7 +682,7 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, return NULL; } - private = g_new (GdkCursorPrivate, 1); + private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); private->display = display; private->xcursor = xcursor; private->name = g_strdup (name); @@ -665,7 +690,6 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, cursor = (GdkCursor *) private; cursor->type = GDK_CURSOR_IS_PIXMAP; - cursor->ref_count = 1; add_to_cache (private); return cursor; @@ -702,7 +726,7 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, gint x, gint y) { - GdkCursorPrivate *private; + GdkX11Cursor *private; GdkCursor *cursor; Cursor xcursor; XColor xfg, xbg; @@ -724,7 +748,7 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, else xcursor = XCreatePixmapCursor (GDK_DISPLAY_XDISPLAY (display), source_pixmap, mask_pixmap, &xfg, &xbg, x, y); - private = g_new (GdkCursorPrivate, 1); + private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); private->display = display; private->xcursor = xcursor; private->name = NULL; @@ -732,7 +756,6 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, cursor = (GdkCursor *) private; cursor->type = GDK_CURSOR_IS_PIXMAP; - cursor->ref_count = 1; return cursor; } From 768b425ce69443d4d1f313e8b54101c92086cfac Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:12:33 +0100 Subject: [PATCH 0708/1463] x11: Use g_object_(un)ref instead of gdk_cursor_(un)ref --- gdk/x11/gdkcursor-x11.c | 6 +++--- gdk/x11/gdkwindow-x11.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index b5bf69ceca..efbc96f169 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -98,7 +98,7 @@ add_to_cache (GdkX11Cursor* cursor) cursor_cache = g_slist_prepend (cursor_cache, cursor); /* Take a ref so that if the caller frees it we still have it */ - gdk_cursor_ref ((GdkCursor*) cursor); + g_object_ref (cursor); } /* Returns 0 on a match @@ -261,7 +261,7 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, if (private) { /* Cache had it, add a ref for this user */ - gdk_cursor_ref ((GdkCursor*) private); + g_object_ref (private); return (GdkCursor*) private; } @@ -671,7 +671,7 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, if (private) { /* Cache had it, add a ref for this user */ - gdk_cursor_ref ((GdkCursor*) private); + g_object_ref (private); return (GdkCursor*) private; } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 7c299c9ce0..4f99b027f5 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -134,8 +134,8 @@ static void gdk_window_impl_x11_init (GdkWindowImplX11 *impl) { impl->toplevel_window_type = -1; - impl->device_cursor = g_hash_table_new_full (NULL, NULL, NULL, - (GDestroyNotify) gdk_cursor_unref); + impl->device_cursor = g_hash_table_new_full (NULL, NULL, + NULL, g_object_unref); } GdkToplevelX11 * @@ -2509,7 +2509,7 @@ gdk_window_x11_set_device_cursor (GdkWindow *window, { _gdk_x11_cursor_update_theme (cursor); g_hash_table_replace (impl->device_cursor, - device, gdk_cursor_ref (cursor)); + device, g_object_ref (cursor)); } if (!GDK_WINDOW_DESTROYED (window)) From a9637f05b672666c6331cf4ca5d6f64734647b78 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:23:44 +0100 Subject: [PATCH 0709/1463] gdk: Use g_object_(un)ref instead of gdk_cursor_(un)ref --- gdk/gdkwindow.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 4b33c6f3de..aecfdff4fa 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -565,7 +565,7 @@ gdk_window_finalize (GObject *object) cairo_region_destroy (window->input_shape); if (window->cursor) - gdk_cursor_unref (window->cursor); + g_object_unref (window->cursor); if (window->device_cursor) g_hash_table_destroy (window->device_cursor); @@ -1391,8 +1391,8 @@ gdk_window_new (GdkWindow *parent, if (window->parent) window->parent->children = g_list_prepend (window->parent->children, window); - window->device_cursor = g_hash_table_new_full (NULL, NULL, NULL, - (GDestroyNotify) gdk_cursor_unref); + window->device_cursor = g_hash_table_new_full (NULL, NULL, + NULL, g_object_unref); native = _gdk_native_windows; /* Default */ if (window->parent->window_type == GDK_WINDOW_ROOT) @@ -6674,14 +6674,14 @@ gdk_window_set_cursor (GdkWindow *window, if (window->cursor) { - gdk_cursor_unref (window->cursor); + g_object_unref (window->cursor); window->cursor = NULL; } if (!GDK_WINDOW_DESTROYED (window)) { if (cursor) - window->cursor = gdk_cursor_ref (cursor); + window->cursor = g_object_ref (cursor); _gdk_display_pointer_info_foreach (display, update_cursor_foreach, @@ -6751,7 +6751,7 @@ gdk_window_set_device_cursor (GdkWindow *window, if (!cursor) g_hash_table_remove (window->device_cursor, device); else - g_hash_table_replace (window->device_cursor, device, gdk_cursor_ref (cursor)); + g_hash_table_replace (window->device_cursor, device, g_object_ref (cursor)); if (!GDK_WINDOW_DESTROYED (window)) { From 8f1f7439033e85ebf480c1c62e8e4647cba80b97 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:14:38 +0100 Subject: [PATCH 0710/1463] gtk: Use g_object_unref instead of gdk_cursor_unref --- gtk/gtkaboutdialog.c | 4 ++-- gtk/gtkcolorsel.c | 2 +- gtk/gtkdnd.c | 8 ++++---- gtk/gtkentry.c | 10 +++++----- gtk/gtkfilechooserdefault.c | 2 +- gtk/gtkfilechooserentry.c | 2 +- gtk/gtkhandlebox.c | 2 +- gtk/gtkhsv.c | 2 +- gtk/gtklabel.c | 4 ++-- gtk/gtklinkbutton.c | 2 +- gtk/gtkpaned.c | 4 ++-- gtk/gtkprintunixdialog.c | 2 +- gtk/gtkrecentchooserdefault.c | 2 +- gtk/gtktextview.c | 8 ++++---- gtk/gtktreeviewcolumn.c | 2 +- gtk/gtkwindow.c | 2 +- 16 files changed, 29 insertions(+), 29 deletions(-) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 3d2d73fc82..2e042bdd2f 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -796,8 +796,8 @@ gtk_about_dialog_finalize (GObject *object) g_slist_foreach (priv->visited_links, (GFunc)g_free, NULL); g_slist_free (priv->visited_links); - gdk_cursor_unref (priv->hand_cursor); - gdk_cursor_unref (priv->regular_cursor); + g_object_unref (priv->hand_cursor); + g_object_unref (priv->regular_cursor); G_OBJECT_CLASS (gtk_about_dialog_parent_class)->finalize (object); } diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 2f029ac333..9948090afd 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -1968,7 +1968,7 @@ get_screen_color (GtkWidget *button) GDK_BUTTON_RELEASE_MASK | GDK_BUTTON_PRESS_MASK | GDK_POINTER_MOTION_MASK, picker_cursor, time); - gdk_cursor_unref (picker_cursor); + g_object_unref (picker_cursor); if (grab_status != GDK_GRAB_SUCCESS) { diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 502e21b6e6..e9f0cc1b15 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -734,7 +734,7 @@ gtk_drag_get_cursor (GdkDisplay *display, for (i = 0 ; i < n_drag_cursors - 1; i++) if (drag_cursors[i].cursor != NULL) { - gdk_cursor_unref (drag_cursors[i].cursor); + g_object_unref (drag_cursors[i].cursor); drag_cursors[i].cursor = NULL; } } @@ -751,7 +751,7 @@ gtk_drag_get_cursor (GdkDisplay *display, { if (display != gdk_cursor_get_display (drag_cursors[i].cursor)) { - gdk_cursor_unref (drag_cursors[i].cursor); + g_object_unref (drag_cursors[i].cursor); drag_cursors[i].cursor = NULL; } } @@ -776,7 +776,7 @@ gtk_drag_get_cursor (GdkDisplay *display, if (display == gdk_cursor_get_display (info->drag_cursors[i])) return info->drag_cursors[i]; - gdk_cursor_unref (info->drag_cursors[i]); + g_object_unref (info->drag_cursors[i]); info->drag_cursors[i] = NULL; } @@ -3891,7 +3891,7 @@ gtk_drag_source_info_destroy (GtkDragSourceInfo *info) { if (info->drag_cursors[i] != NULL) { - gdk_cursor_unref (info->drag_cursors[i]); + g_object_unref (info->drag_cursors[i]); info->drag_cursors[i] = NULL; } } diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index b344349c60..ca42ba4b0b 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -2699,7 +2699,7 @@ update_cursors (GtkWidget *widget) display = gtk_widget_get_display (widget); cursor = gdk_cursor_new_for_display (display, GDK_XTERM); gdk_window_set_cursor (icon_info->window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } else { @@ -2863,7 +2863,7 @@ gtk_entry_realize (GtkWidget *widget) gdk_window_set_user_data (priv->text_area, entry); if (attributes_mask & GDK_WA_CURSOR) - gdk_cursor_unref (attributes.cursor); + g_object_unref (attributes.cursor); gtk_widget_style_attach (widget); @@ -4029,7 +4029,7 @@ gtk_entry_motion_notify (GtkWidget *widget, cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), GDK_XTERM); gdk_window_set_cursor (priv->text_area, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); priv->mouse_cursor_obscured = FALSE; } @@ -4142,7 +4142,7 @@ set_invisible_cursor (GdkWindow *window) gdk_window_set_cursor (window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void @@ -4336,7 +4336,7 @@ gtk_entry_state_flags_changed (GtkWidget *widget, gdk_window_set_cursor (priv->text_area, cursor); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); priv->mouse_cursor_obscured = FALSE; diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index ef98afef50..42ced3fb46 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -6053,7 +6053,7 @@ set_busy_cursor (GtkFileChooserDefault *impl, gdk_display_flush (display); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } /* Creates a sort model to wrap the file system model and sets it on the tree view */ diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c index 009d842f37..03ff782cf8 100644 --- a/gtk/gtkfilechooserentry.c +++ b/gtk/gtkfilechooserentry.c @@ -914,7 +914,7 @@ set_invisible_mouse_cursor (GdkWindow *window) gdk_window_set_cursor (window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index 2b1f9063ae..0c2ca5051f 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -1199,7 +1199,7 @@ gtk_handle_box_button_press (GtkWidget *widget, G_CALLBACK (gtk_handle_box_grab_event), hb); } - gdk_cursor_unref (fleur); + g_object_unref (fleur); event_handled = TRUE; } else if (priv->child_detached) /* Double click */ diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index e6093fa3b5..80128f98f0 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -684,7 +684,7 @@ set_cross_grab (GtkHSV *hsv, NULL, cursor, time); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static gboolean diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 53b2df7eae..ba7405564c 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -3799,7 +3799,7 @@ gtk_label_update_cursor (GtkLabel *label) gdk_window_set_cursor (priv->select_info->window, cursor); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } } @@ -5113,7 +5113,7 @@ gtk_label_create_window (GtkLabel *label) gdk_window_set_user_data (priv->select_info->window, widget); if (attributes_mask & GDK_WA_CURSOR) - gdk_cursor_unref (attributes.cursor); + g_object_unref (attributes.cursor); } static void diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index 9a6b6fa1f2..7e5759671d 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -390,7 +390,7 @@ set_hand_cursor (GtkWidget *widget, gdk_display_flush (display); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index 7c0958f5d8..959ac784e0 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -1134,7 +1134,7 @@ gtk_paned_realize (GtkWidget *widget) &attributes, attributes_mask); gdk_window_set_user_data (priv->handle, paned); if (attributes_mask & GDK_WA_CURSOR) - gdk_cursor_unref (attributes.cursor); + g_object_unref (attributes.cursor); gtk_widget_style_attach (widget); @@ -1439,7 +1439,7 @@ gtk_paned_state_changed (GtkWidget *widget, gdk_window_set_cursor (priv->handle, cursor); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } } diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index bbe59da91b..861d779419 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -402,7 +402,7 @@ set_busy_cursor (GtkPrintUnixDialog *dialog, gdk_display_flush (display); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void diff --git a/gtk/gtkrecentchooserdefault.c b/gtk/gtkrecentchooserdefault.c index f1caf17e26..8fba86615d 100644 --- a/gtk/gtkrecentchooserdefault.c +++ b/gtk/gtkrecentchooserdefault.c @@ -765,7 +765,7 @@ set_busy_cursor (GtkRecentChooserDefault *impl, gdk_display_flush (display); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index e57f957e51..fdd44f166b 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -4171,7 +4171,7 @@ gtk_text_view_state_flags_changed (GtkWidget *widget, gdk_window_set_cursor (text_view->priv->text_window->bin_window, cursor); if (cursor) - gdk_cursor_unref (cursor); + g_object_unref (cursor); text_view->priv->mouse_cursor_obscured = FALSE; } @@ -4196,7 +4196,7 @@ set_invisible_cursor (GdkWindow *window) gdk_window_set_cursor (window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static void @@ -4220,7 +4220,7 @@ gtk_text_view_unobscure_mouse_cursor (GtkTextView *text_view) cursor = gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (text_view)), GDK_XTERM); gdk_window_set_cursor (text_view->priv->text_window->bin_window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); text_view->priv->mouse_cursor_obscured = FALSE; } } @@ -8428,7 +8428,7 @@ text_window_realize (GtkTextWindow *win, cursor = gdk_cursor_new_for_display (gdk_window_get_display (window), GDK_XTERM); gdk_window_set_cursor (win->bin_window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } gtk_im_context_set_client_window (GTK_TEXT_VIEW (widget)->priv->im_context, diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 905a7bb275..0147a4a8ca 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1354,7 +1354,7 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) gtk_tree_view_column_update_button (column); - gdk_cursor_unref (attr.cursor); + g_object_unref (attr.cursor); } void diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 1a77b1f1f8..2723c42614 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5202,7 +5202,7 @@ set_grip_cursor (GtkWindow *window) display = gtk_widget_get_display (widget); cursor = gdk_cursor_new_for_display (display, cursor_type); gdk_window_set_cursor (priv->grip_window, cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } else gdk_window_set_cursor (priv->grip_window, NULL); From e622ae9a68804c4193e0c1be4fb06e0b4a649888 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:59:58 +0100 Subject: [PATCH 0711/1463] gtk-demo: Use g_object_unref instead of gdk_cursor_unref --- demos/gtk-demo/changedisplay.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/gtk-demo/changedisplay.c b/demos/gtk-demo/changedisplay.c index 2e3d503f66..ac467e7385 100644 --- a/demos/gtk-demo/changedisplay.c +++ b/demos/gtk-demo/changedisplay.c @@ -151,7 +151,7 @@ query_for_toplevel (GdkScreen *screen, toplevel = NULL; } - gdk_cursor_unref (cursor); + g_object_unref (cursor); gtk_widget_destroy (popup); gdk_flush (); /* Really release the grab */ From 73d8ffd74fb9783ccc00d72c19d64a08c3281e86 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:13:47 +0100 Subject: [PATCH 0712/1463] testgtk: Use g_object_unref instead of gdk_cursor_unref --- tests/testgtk.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index dee4802a20..f560c4ef99 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -4880,7 +4880,7 @@ set_cursor (GtkWidget *spinner, cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), c); gdk_window_set_cursor (gtk_widget_get_window (widget), cursor); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } static gint @@ -8626,7 +8626,7 @@ destroy_properties (GtkWidget *widget, if (data->cursor) { - gdk_cursor_unref (data->cursor); + g_object_unref (data->cursor); data->cursor = NULL; } @@ -8763,7 +8763,7 @@ destroy_snapshot_data (GtkWidget *widget, if (data->cursor) { - gdk_cursor_unref (data->cursor); + g_object_unref (data->cursor); data->cursor = NULL; } From 3e068e921fa114d3668c53a239ac618f8fcd5110 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 03:27:05 +0100 Subject: [PATCH 0713/1463] API: gdk: Deprecate gdk_cursor_ref() and gdk_cursor_unref() Now that GdkCursor is a GObject, it doesn't need custom refcount handling anymore. --- gdk/gdkcursor.c | 4 ++++ gdk/gdkcursor.h | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 3bbbbddae9..840e8fcf62 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -78,6 +78,8 @@ gdk_cursor_init (GdkCursor *cursor) * Adds a reference to @cursor. * * Return value: Same @cursor that was passed in + * + * Deprecated: 3.0: Use g_object_ref() instead */ GdkCursor* gdk_cursor_ref (GdkCursor *cursor) @@ -93,6 +95,8 @@ gdk_cursor_ref (GdkCursor *cursor) * * Removes a reference from @cursor, deallocating the cursor * if no references remain. + * + * Deprecated: 3.0: Use g_object_unref() instead */ void gdk_cursor_unref (GdkCursor *cursor) diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h index 717c7d5eb4..8a88545f1f 100644 --- a/gdk/gdkcursor.h +++ b/gdk/gdkcursor.h @@ -228,11 +228,13 @@ GdkCursor* gdk_cursor_new_from_pixbuf (GdkDisplay *display, GdkPixbuf *pixbuf, gint x, gint y); -GdkDisplay* gdk_cursor_get_display (GdkCursor *cursor); -GdkCursor* gdk_cursor_ref (GdkCursor *cursor); -void gdk_cursor_unref (GdkCursor *cursor); GdkCursor* gdk_cursor_new_from_name (GdkDisplay *display, const gchar *name); +GdkDisplay* gdk_cursor_get_display (GdkCursor *cursor); +#ifndef GDK_DISABLE_DEPRECATED +GdkCursor* gdk_cursor_ref (GdkCursor *cursor); +void gdk_cursor_unref (GdkCursor *cursor); +#endif GdkPixbuf* gdk_cursor_get_image (GdkCursor *cursor); GdkCursorType gdk_cursor_get_cursor_type (GdkCursor *cursor); From 28b2d7e5da2ee5d62b74ac4d3c06214fcdaf1cdb Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 13:35:39 +0100 Subject: [PATCH 0714/1463] gdk: Make cursor-type a property of the cursor --- gdk/gdkcursor.c | 56 +++++++++++++++++++++++++++++++++++++++++ gdk/x11/gdkcursor-x11.c | 39 ++++++++++++---------------- 2 files changed, 72 insertions(+), 23 deletions(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 840e8fcf62..9e27829cf7 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -29,6 +29,7 @@ #include "gdkcursor.h" #include "gdkcursorprivate.h" #include "gdkdisplayprivate.h" +#include "gdkintl.h" #include "gdkinternals.h" @@ -59,11 +60,66 @@ * The #GdkCursor structure represents a cursor. Its contents are private. */ +enum { + PROP_0, + PROP_CURSOR_TYPE +}; + G_DEFINE_ABSTRACT_TYPE (GdkCursor, gdk_cursor, G_TYPE_OBJECT) +static void +gdk_cursor_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GdkCursor *cursor = GDK_CURSOR (object); + + switch (prop_id) + { + case PROP_CURSOR_TYPE: + g_value_set_enum (value, cursor->type); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gdk_cursor_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GdkCursor *cursor = GDK_CURSOR (object); + + switch (prop_id) + { + case PROP_CURSOR_TYPE: + cursor->type = g_value_get_enum (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static void gdk_cursor_class_init (GdkCursorClass *cursor_class) { + GObjectClass *object_class = G_OBJECT_CLASS (cursor_class); + + object_class->get_property = gdk_cursor_get_property; + object_class->set_property = gdk_cursor_set_property; + + g_object_class_install_property (object_class, + PROP_CURSOR_TYPE, + g_param_spec_enum ("cursor-type", + P_("Cursor type"), + P_("Standard cursor type"), + GDK_TYPE_CURSOR_TYPE, GDK_X_CURSOR, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } static void diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index efbc96f169..9d64989996 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -247,7 +247,6 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, GdkCursorType cursor_type) { GdkX11Cursor *private; - GdkCursor *cursor; Cursor xcursor; if (gdk_display_is_closed (display)) @@ -275,19 +274,18 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, } } - private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); + private = g_object_new (GDK_TYPE_X11_CURSOR, + "cursor-type", GDK_CURSOR_IS_PIXMAP, + NULL); private->display = display; private->xcursor = xcursor; private->name = NULL; private->serial = theme_serial; - cursor = (GdkCursor *) private; - cursor->type = cursor_type; - if (xcursor != None) add_to_cache (private); - return cursor; + return GDK_CURSOR (private); } /** @@ -599,7 +597,6 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, XcursorImage *xcimage; Cursor xcursor; GdkX11Cursor *private; - GdkCursor *cursor; const char *option; char *end; gint64 value; @@ -639,16 +636,15 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, XcursorImageDestroy (xcimage); } - private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); + private = g_object_new (GDK_TYPE_X11_CURSOR, + "cursor-type", GDK_CURSOR_IS_PIXMAP, + NULL); private->display = display; private->xcursor = xcursor; private->name = NULL; private->serial = theme_serial; - cursor = (GdkCursor *) private; - cursor->type = GDK_CURSOR_IS_PIXMAP; - - return cursor; + return GDK_CURSOR (private); } GdkCursor* @@ -658,7 +654,6 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, Cursor xcursor; Display *xdisplay; GdkX11Cursor *private; - GdkCursor *cursor; if (gdk_display_is_closed (display)) { @@ -682,17 +677,17 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, return NULL; } - private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); + private = g_object_new (GDK_TYPE_X11_CURSOR, + "cursor-type", GDK_CURSOR_IS_PIXMAP, + NULL); private->display = display; private->xcursor = xcursor; private->name = g_strdup (name); private->serial = theme_serial; - cursor = (GdkCursor *) private; - cursor->type = GDK_CURSOR_IS_PIXMAP; add_to_cache (private); - return cursor; + return GDK_CURSOR (private); } gboolean @@ -727,7 +722,6 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, gint y) { GdkX11Cursor *private; - GdkCursor *cursor; Cursor xcursor; XColor xfg, xbg; @@ -748,16 +742,15 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, else xcursor = XCreatePixmapCursor (GDK_DISPLAY_XDISPLAY (display), source_pixmap, mask_pixmap, &xfg, &xbg, x, y); - private = g_object_new (GDK_TYPE_X11_CURSOR, NULL); + private = g_object_new (GDK_TYPE_X11_CURSOR, + "cursor-type", GDK_CURSOR_IS_PIXMAP, + NULL); private->display = display; private->xcursor = xcursor; private->name = NULL; private->serial = theme_serial; - cursor = (GdkCursor *) private; - cursor->type = GDK_CURSOR_IS_PIXMAP; - - return cursor; + return GDK_CURSOR (private); } GdkCursor * From 7a14b30ea37d4cb9b021df3d9d6036cb15f19df1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 13:45:31 +0100 Subject: [PATCH 0715/1463] gdk: Make display a property of GdkCursor --- gdk/gdkcursor.c | 19 ++++++++++++++++++- gdk/gdkcursorprivate.h | 1 + gdk/x11/gdkcursor-x11.c | 4 ++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 9e27829cf7..2369478225 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -62,7 +62,8 @@ enum { PROP_0, - PROP_CURSOR_TYPE + PROP_CURSOR_TYPE, + PROP_DISPLAY }; G_DEFINE_ABSTRACT_TYPE (GdkCursor, gdk_cursor, G_TYPE_OBJECT) @@ -80,6 +81,9 @@ gdk_cursor_get_property (GObject *object, case PROP_CURSOR_TYPE: g_value_set_enum (value, cursor->type); break; + case PROP_DISPLAY: + g_value_set_object (value, cursor->display); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -99,6 +103,11 @@ gdk_cursor_set_property (GObject *object, case PROP_CURSOR_TYPE: cursor->type = g_value_get_enum (value); break; + case PROP_DISPLAY: + cursor->display = g_value_get_object (value); + /* check that implementations actually provide the display when constructing */ + g_assert (cursor->display != NULL); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -120,6 +129,14 @@ gdk_cursor_class_init (GdkCursorClass *cursor_class) P_("Standard cursor type"), GDK_TYPE_CURSOR_TYPE, GDK_X_CURSOR, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + g_object_class_install_property (object_class, + PROP_DISPLAY, + g_param_spec_object ("display", + P_("Display"), + P_("Display of this cursor"), + GDK_TYPE_DISPLAY, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } static void diff --git a/gdk/gdkcursorprivate.h b/gdk/gdkcursorprivate.h index 1381010450..51501d1906 100644 --- a/gdk/gdkcursorprivate.h +++ b/gdk/gdkcursorprivate.h @@ -39,6 +39,7 @@ struct _GdkCursor /*< private >*/ GdkCursorType type; + GdkDisplay *display; }; struct _GdkCursorClass diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 9d64989996..ac579ab8a9 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -276,6 +276,7 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; @@ -638,6 +639,7 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; @@ -679,6 +681,7 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; @@ -744,6 +747,7 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, source_pixmap, mask_pixmap, &xfg, &xbg, x, y); private = g_object_new (GDK_TYPE_X11_CURSOR, "cursor-type", GDK_CURSOR_IS_PIXMAP, + "display", display, NULL); private->display = display; private->xcursor = xcursor; From 4793bd3399d47a43993a384846d60fbc47dac50e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 13:47:35 +0100 Subject: [PATCH 0716/1463] gdk: Move gdk_cursor_get_display() out of the backends Now that we store the display inside the cursor, that change is obvious. --- gdk/gdkcursor.c | 20 ++++++++++++++++++++ gdk/quartz/gdkcursor-quartz.c | 8 -------- gdk/win32/gdkcursor-win32.c | 6 ------ gdk/x11/gdkcursor-x11.c | 19 ------------------- 4 files changed, 20 insertions(+), 33 deletions(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index 2369478225..f6d229c36b 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -354,3 +354,23 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, return GDK_DISPLAY_GET_CLASS (display)->get_cursor_for_pixbuf (display, pixbuf, x, y); } + +/** + * gdk_cursor_get_display: + * @cursor: a #GdkCursor. + * + * Returns the display on which the #GdkCursor is defined. + * + * Returns: (transfer none): the #GdkDisplay associated to @cursor + * + * Since: 2.2 + */ + +GdkDisplay * +gdk_cursor_get_display (GdkCursor *cursor) +{ + g_return_val_if_fail (GDK_IS_CURSOR (cursor), NULL); + + return cursor->display; +} + diff --git a/gdk/quartz/gdkcursor-quartz.c b/gdk/quartz/gdkcursor-quartz.c index 96dc7704e0..0e22fb7d24 100644 --- a/gdk/quartz/gdkcursor-quartz.c +++ b/gdk/quartz/gdkcursor-quartz.c @@ -391,14 +391,6 @@ gdk_display_get_maximal_cursor_size (GdkDisplay *display, *height = 65536; } -GdkDisplay * -gdk_cursor_get_display (GdkCursor *cursor) -{ - g_return_val_if_fail (cursor != NULL, NULL); - - return gdk_display_get_default (); -} - GdkPixbuf * gdk_cursor_get_image (GdkCursor *cursor) { diff --git a/gdk/win32/gdkcursor-win32.c b/gdk/win32/gdkcursor-win32.c index 3053b917c0..631c1d26f8 100644 --- a/gdk/win32/gdkcursor-win32.c +++ b/gdk/win32/gdkcursor-win32.c @@ -249,12 +249,6 @@ _gdk_cursor_destroy (GdkCursor *cursor) g_free (private); } -GdkDisplay * -gdk_cursor_get_display (GdkCursor *cursor) -{ - return gdk_display_get_default (); -} - GdkPixbuf * gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon) { diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index ac579ab8a9..bc94fbedf1 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -321,25 +321,6 @@ gdk_x11_cursor_get_xcursor (GdkCursor *cursor) return ((GdkX11Cursor *)cursor)->xcursor; } -/** - * gdk_cursor_get_display: - * @cursor: a #GdkCursor. - * - * Returns the display on which the #GdkCursor is defined. - * - * Returns: (transfer none): the #GdkDisplay associated to @cursor - * - * Since: 2.2 - */ - -GdkDisplay * -gdk_cursor_get_display (GdkCursor *cursor) -{ - g_return_val_if_fail (cursor != NULL, NULL); - - return ((GdkX11Cursor *)cursor)->display; -} - #if defined(HAVE_XCURSOR) && defined(HAVE_XFIXES) && XFIXES_MAJOR >= 2 /** From 095d1905a9a74521c2399e85f0537e69969c1000 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 13:55:46 +0100 Subject: [PATCH 0717/1463] x11: Don't keep the display around anymore Use gdk_cursor_get_display() instead. --- gdk/x11/gdkcursor-x11.c | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index bc94fbedf1..cd50a96b0f 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -61,7 +61,6 @@ struct _GdkX11Cursor GdkCursor cursor; Cursor xcursor; - GdkDisplay *display; gchar *name; guint serial; }; @@ -111,7 +110,7 @@ cache_compare_func (gconstpointer listelem, struct cursor_cache_key* key = (struct cursor_cache_key*)target; if ((cursor->cursor.type != key->type) || - (cursor->display != key->display)) + (gdk_cursor_get_display (GDK_CURSOR (cursor)) != key->display)) return 1; /* No match */ /* Elements marked as pixmap must be named cursors @@ -160,7 +159,7 @@ _gdk_x11_cursor_display_finalize (GdkDisplay *display) while (item) { GdkX11Cursor* cursor = (GdkX11Cursor*)(item->data); - if (cursor->display == display) + if (gdk_cursor_get_display (GDK_CURSOR (cursor)) == display) { GSList* olditem; gdk_cursor_unref ((GdkCursor*) cursor); @@ -186,9 +185,11 @@ void gdk_x11_cursor_finalize (GObject *object) { GdkX11Cursor *private = GDK_X11_CURSOR (object); + GdkDisplay *display; - if (private->xcursor && !gdk_display_is_closed (private->display)) - XFreeCursor (GDK_DISPLAY_XDISPLAY (private->display), private->xcursor); + display = gdk_cursor_get_display (GDK_CURSOR (object)); + if (private->xcursor && !gdk_display_is_closed (display)) + XFreeCursor (GDK_DISPLAY_XDISPLAY (display), private->xcursor); g_free (private->name); @@ -278,7 +279,6 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, "cursor-type", GDK_CURSOR_IS_PIXMAP, "display", display, NULL); - private->display = display; private->xcursor = xcursor; private->name = NULL; private->serial = theme_serial; @@ -302,7 +302,7 @@ gdk_x11_cursor_get_xdisplay (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, NULL); - return GDK_DISPLAY_XDISPLAY(((GdkX11Cursor *)cursor)->display); + return GDK_DISPLAY_XDISPLAY (gdk_cursor_get_display (cursor)); } /** @@ -354,7 +354,7 @@ gdk_cursor_get_image (GdkCursor *cursor) private = (GdkX11Cursor *) cursor; - xdisplay = GDK_DISPLAY_XDISPLAY (private->display); + xdisplay = GDK_DISPLAY_XDISPLAY (gdk_cursor_get_display (cursor)); size = XcursorGetDefaultSize (xdisplay); theme = XcursorGetTheme (xdisplay); @@ -408,8 +408,8 @@ _gdk_x11_cursor_update_theme (GdkCursor *cursor) GdkDisplayX11 *display_x11; private = (GdkX11Cursor *) cursor; - xdisplay = GDK_DISPLAY_XDISPLAY (private->display); - display_x11 = GDK_DISPLAY_X11 (private->display); + display_x11 = GDK_DISPLAY_X11 (gdk_cursor_get_display (cursor)); + xdisplay = GDK_DISPLAY_XDISPLAY (display_x11); if (!display_x11->have_xfixes) return; @@ -622,7 +622,6 @@ _gdk_x11_display_get_cursor_for_pixbuf (GdkDisplay *display, "cursor-type", GDK_CURSOR_IS_PIXMAP, "display", display, NULL); - private->display = display; private->xcursor = xcursor; private->name = NULL; private->serial = theme_serial; @@ -664,7 +663,6 @@ _gdk_x11_display_get_cursor_for_name (GdkDisplay *display, "cursor-type", GDK_CURSOR_IS_PIXMAP, "display", display, NULL); - private->display = display; private->xcursor = xcursor; private->name = g_strdup (name); private->serial = theme_serial; @@ -730,7 +728,6 @@ gdk_cursor_new_from_pixmap (GdkDisplay *display, "cursor-type", GDK_CURSOR_IS_PIXMAP, "display", display, NULL); - private->display = display; private->xcursor = xcursor; private->name = NULL; private->serial = theme_serial; From 60dc856dafc6468637511be8cf511479fd0fb244 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 13:57:48 +0100 Subject: [PATCH 0718/1463] x11: Remove duplicated docs They're in gdk/gdkdisplay.c now. --- gdk/x11/gdkcursor-x11.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index cd50a96b0f..5e0a966b12 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -855,17 +855,6 @@ _gdk_x11_display_get_default_cursor_size (GdkDisplay *display) #endif - -/** - * gdk_display_get_maximal_cursor_size: - * @display: a #GdkDisplay - * @width: (out): the return location for the maximal cursor width - * @height: (out): the return location for the maximal cursor height - * - * Gets the maximal size to use for cursors on @display. - * - * Since: 2.4 - */ void _gdk_x11_display_get_maximal_cursor_size (GdkDisplay *display, guint *width, From 7a3359223179468b42fa0130457ec60694ce6ec1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 14:07:11 +0100 Subject: [PATCH 0719/1463] gdk: Move gdk_cursor_get_image() to the base class .. and make it call a vfunc on the cursor --- gdk/gdkcursor.c | 21 +++++++++++++++++++++ gdk/gdkcursorprivate.h | 2 ++ gdk/x11/gdkcursor-x11.c | 37 ++++++++++++------------------------- 3 files changed, 35 insertions(+), 25 deletions(-) diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index f6d229c36b..fe5f38ced7 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -374,3 +374,24 @@ gdk_cursor_get_display (GdkCursor *cursor) return cursor->display; } +/** + * gdk_cursor_get_image: + * @cursor: a #GdkCursor + * + * Returns a #GdkPixbuf with the image used to display the cursor. + * + * Note that depending on the capabilities of the windowing system and + * on the cursor, GDK may not be able to obtain the image data. In this + * case, %NULL is returned. + * + * Returns: (transfer full): a #GdkPixbuf representing @cursor, or %NULL + * + * Since: 2.8 + */ +GdkPixbuf* +gdk_cursor_get_image (GdkCursor *cursor) +{ + g_return_val_if_fail (GDK_IS_CURSOR (cursor), NULL); + + return GDK_CURSOR_GET_CLASS (cursor)->get_image (cursor); +} diff --git a/gdk/gdkcursorprivate.h b/gdk/gdkcursorprivate.h index 51501d1906..6a3a407d9b 100644 --- a/gdk/gdkcursorprivate.h +++ b/gdk/gdkcursorprivate.h @@ -45,6 +45,8 @@ struct _GdkCursor struct _GdkCursorClass { GObjectClass parent_class; + + GdkPixbuf * (* get_image) (GdkCursor * cursor); }; G_END_DECLS diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 5e0a966b12..4fe6cef91a 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -181,6 +181,8 @@ _gdk_x11_cursor_display_finalize (GdkDisplay *display) G_DEFINE_TYPE (GdkX11Cursor, gdk_x11_cursor, GDK_TYPE_CURSOR) +static GdkPixbuf* gdk_x11_cursor_get_image (GdkCursor *cursor); + void gdk_x11_cursor_finalize (GObject *object) { @@ -197,11 +199,14 @@ gdk_x11_cursor_finalize (GObject *object) } static void -gdk_x11_cursor_class_init (GdkX11CursorClass *cursor_class) +gdk_x11_cursor_class_init (GdkX11CursorClass *xcursor_class) { - GObjectClass *object_class = G_OBJECT_CLASS (cursor_class); + GdkCursorClass *cursor_class = GDK_CURSOR_CLASS (xcursor_class); + GObjectClass *object_class = G_OBJECT_CLASS (xcursor_class); object_class->finalize = gdk_x11_cursor_finalize; + + cursor_class->get_image = gdk_x11_cursor_get_image; } static void @@ -323,22 +328,8 @@ gdk_x11_cursor_get_xcursor (GdkCursor *cursor) #if defined(HAVE_XCURSOR) && defined(HAVE_XFIXES) && XFIXES_MAJOR >= 2 -/** - * gdk_cursor_get_image: - * @cursor: a #GdkCursor - * - * Returns a #GdkPixbuf with the image used to display the cursor. - * - * Note that depending on the capabilities of the windowing system and - * on the cursor, GDK may not be able to obtain the image data. In this - * case, %NULL is returned. - * - * Returns: (transfer full): a #GdkPixbuf representing @cursor, or %NULL - * - * Since: 2.8 - */ -GdkPixbuf* -gdk_cursor_get_image (GdkCursor *cursor) +static GdkPixbuf* +gdk_x11_cursor_get_image (GdkCursor *cursor) { Display *xdisplay; GdkX11Cursor *private; @@ -350,9 +341,7 @@ gdk_cursor_get_image (GdkCursor *cursor) GdkPixbuf *pixbuf; gchar *theme; - g_return_val_if_fail (cursor != NULL, NULL); - - private = (GdkX11Cursor *) cursor; + private = GDK_X11_CURSOR (cursor); xdisplay = GDK_DISPLAY_XDISPLAY (gdk_cursor_get_display (cursor)); @@ -509,11 +498,9 @@ gdk_x11_display_set_cursor_theme (GdkDisplay *display, #else -GdkPixbuf* -gdk_cursor_get_image (GdkCursor *cursor) +static GdkPixbuf* +gdk_x11_cursor_get_image (GdkCursor *cursor) { - g_return_val_if_fail (cursor != NULL, NULL); - return NULL; } From 66f7c3a5622e5eacafa70b076bbfa7457f2c0345 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:05:47 +0100 Subject: [PATCH 0720/1463] API: gdk: gdk_display_warp_device() => gdk_device_warp() warping devices has nothing to do with displays, so putting it there seems weird. --- docs/reference/gdk/gdk3-sections.txt | 2 +- gdk/gdk.symbols | 2 +- gdk/gdkdevice.c | 34 ++++++++++++++++++++ gdk/gdkdevice.h | 5 +++ gdk/gdkdisplay.c | 46 +++------------------------- gdk/gdkdisplay.h | 5 --- gtk/gtkcolorsel.c | 2 +- gtk/gtkdnd.c | 6 ++-- 8 files changed, 49 insertions(+), 53 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 90cf828c5f..5f2c0d8cc9 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -135,7 +135,6 @@ gdk_display_set_pointer_hooks GdkDisplayDeviceHooks gdk_display_set_device_hooks gdk_display_warp_pointer -gdk_display_warp_device gdk_display_supports_cursor_color gdk_display_supports_cursor_alpha gdk_display_get_default_cursor_size @@ -716,6 +715,7 @@ gdk_device_get_display gdk_device_get_has_cursor gdk_device_get_n_axes gdk_device_get_n_keys +gdk_device_warp gdk_device_grab diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 77db64cb2c..42e42521f5 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -79,6 +79,7 @@ gdk_device_set_mode gdk_device_set_source gdk_device_type_get_type G_GNUC_CONST gdk_device_ungrab +gdk_device_warp gdk_disable_multidevice gdk_display_add_client_message_filter gdk_display_beep @@ -130,7 +131,6 @@ gdk_display_supports_input_shapes gdk_display_supports_selection_notification gdk_display_supports_shapes gdk_display_sync -gdk_display_warp_device gdk_display_warp_pointer gdk_drag_abort gdk_drag_action_get_type G_GNUC_CONST diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 6b9c693e34..cc375d7b54 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -1171,6 +1171,40 @@ gdk_device_ungrab (GdkDevice *device, GDK_DEVICE_GET_CLASS (device)->ungrab (device, time_); } +/** + * gdk_device_warp: + * @device: the device to warp. + * @screen: the screen to warp @device to. + * @x: the X coordinate of the destination. + * @y: the Y coordinate of the destination. + * + * Warps @device in @display to the point @x,@y on + * the screen @screen, unless the device is confined + * to a window by a grab, in which case it will be moved + * as far as allowed by the grab. Warping the pointer + * creates events as if the user had moved the mouse + * instantaneously to the destination. + * + * Note that the pointer should normally be under the + * control of the user. This function was added to cover + * some rare use cases like keyboard navigation support + * for the color picker in the #GtkColorSelectionDialog. + * + * Since: 3.0 + **/ +void +gdk_device_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y) +{ + g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (GDK_IS_SCREEN (screen)); + g_return_if_fail (gdk_device_get_display (device) == gdk_screen_get_display (screen)); + + GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); +} + /* Private API */ void _gdk_device_reset_axes (GdkDevice *device) diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index 8cb705a47a..d65dae8f18 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -229,6 +229,11 @@ GdkGrabStatus gdk_device_grab (GdkDevice *device, void gdk_device_ungrab (GdkDevice *device, guint32 time_); +void gdk_device_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y); + gboolean gdk_device_grab_info_libgtk_only (GdkDisplay *display, GdkDevice *device, GdkWindow **grab_window, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 335f7d98dc..3374ff405e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2393,7 +2393,7 @@ gdk_display_get_maximal_cursor_size (GdkDisplay *display, * * Since: 2.8 * - * Deprecated: 3.0: Use gdk_display_warp_device() instead. + * Deprecated: 3.0: Use gdk_device_warp() instead. */ void gdk_display_warp_pointer (GdkDisplay *display, @@ -2401,47 +2401,9 @@ gdk_display_warp_pointer (GdkDisplay *display, gint x, gint y) { - gdk_display_warp_device (display, - display->core_pointer, - screen, - x, y); -} - -/** - * gdk_display_warp_device: - * @display: a #GdkDisplay. - * @device: a #GdkDevice. - * @screen: the screen of @display to warp @device to. - * @x: the X coordinate of the destination. - * @y: the Y coordinate of the destination. - * - * Warps @device in @display to the point @x,@y on - * the screen @screen, unless the device is confined - * to a window by a grab, in which case it will be moved - * as far as allowed by the grab. Warping the pointer - * creates events as if the user had moved the mouse - * instantaneously to the destination. - * - * Note that the pointer should normally be under the - * control of the user. This function was added to cover - * some rare use cases like keyboard navigation support - * for the color picker in the #GtkColorSelectionDialog. - * - * Since: 3.0 - **/ -void -gdk_display_warp_device (GdkDisplay *display, - GdkDevice *device, - GdkScreen *screen, - gint x, - gint y) -{ - g_return_if_fail (GDK_IS_DISPLAY (display)); - g_return_if_fail (GDK_IS_DEVICE (device)); - g_return_if_fail (GDK_IS_SCREEN (screen)); - g_return_if_fail (display == gdk_device_get_display (device)); - - GDK_DEVICE_GET_CLASS (device)->warp (device, screen, x, y); + gdk_device_warp (display->core_pointer, + screen, + x, y); } gulong diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 9bb1ba962d..8a4b3e55d1 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -196,11 +196,6 @@ GdkWindow * gdk_display_get_window_at_device_position (GdkDisplay GdkDevice *device, gint *win_x, gint *win_y); -void gdk_display_warp_device (GdkDisplay *display, - GdkDevice *device, - GdkScreen *screen, - gint x, - gint y); #ifndef GDK_MULTIDEVICE_SAFE GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay *display, diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 9948090afd..8f90a8911e 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -1866,7 +1866,7 @@ key_press (GtkWidget *invisible, return FALSE; } - gdk_display_warp_device (display, pointer_device, screen, x + dx, y + dy); + gdk_device_warp (pointer_device, screen, x + dx, y + dy); return TRUE; diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index e9f0cc1b15..8efbacd39f 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -4255,9 +4255,9 @@ gtk_drag_key_cb (GtkWidget *widget, { info->cur_x += dx; info->cur_y += dy; - gdk_display_warp_device (gtk_widget_get_display (widget), pointer, - gtk_widget_get_screen (widget), - info->cur_x, info->cur_y); + gdk_device_warp (pointer, + gtk_widget_get_screen (widget), + info->cur_x, info->cur_y); } gtk_drag_update (info, info->cur_screen, info->cur_x, info->cur_y, (GdkEvent *)event); From 124cf96850bb985633d727ab4b08a0609db7c332 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:22:50 +0100 Subject: [PATCH 0721/1463] x11: Split out public window API into gdkx11window.h --- gdk/Makefile.am | 3 +- gdk/x11/Makefile.am | 3 ++ gdk/x11/gdkx.h | 40 ++++------------------ gdk/x11/gdkx11window.h | 75 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 34 deletions(-) create mode 100644 gdk/x11/gdkx11window.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index d7e13741e7..f35b349d02 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -215,7 +215,8 @@ x11_introspection_files = \ x11/gdkxid.c \ x11/xsettings-client.c \ x11/xsettings-common.c \ - x11/gdkx.h + x11/gdkx.h \ + x11/gdkx11window.h GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 4422b2b7d3..caf2f0f8cf 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -2,6 +2,7 @@ include $(top_srcdir)/Makefile.decl libgdkincludedir = $(includedir)/gtk-3.0/gdk +libgdkx11includedir = $(includedir)/gtk-3.0/gdk/x11 INCLUDES = \ -DG_LOG_DOMAIN=\"Gdk\" \ @@ -74,6 +75,8 @@ endif libgdkinclude_HEADERS = \ gdkx.h +libgdkx11include_HEADERS = \ + gdkx11window.h noinst_PROGRAMS = checksettings checksettings_LDADD = libgdk-x11.la $(GLIB_LIBS) diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index f9e24be8c9..9ee1048631 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -32,9 +32,6 @@ #include #include -G_BEGIN_DECLS - - /** * SECTION:x_interaction * @Short_description: X backend-specific functions @@ -56,10 +53,13 @@ G_BEGIN_DECLS */ -Window gdk_x11_window_get_xid (GdkWindow *window); -void gdk_x11_window_set_user_time (GdkWindow *window, - guint32 timestamp); -void gdk_x11_window_move_to_current_desktop (GdkWindow *window); +#define __GDKX_H_INSIDE__ + +#include + +#undef __GDKX_H_INSIDE__ + +G_BEGIN_DECLS Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor); Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor); @@ -109,26 +109,6 @@ gint gdk_x11_get_default_screen (void); #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) -/** - * GDK_WINDOW_XDISPLAY: - * @win: a #GdkWindow. - * - * Returns the display of a #GdkWindow. - * - * Returns: an Xlib Display*. - */ -#define GDK_WINDOW_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_window_get_display (win))) - -/** - * GDK_WINDOW_XID: - * @win: a #GdkWindow. - * - * Returns the X window belonging to a #GdkWindow. - * - * Returns: the Xlib Window of @win. - */ -#define GDK_WINDOW_XID(win) (gdk_x11_window_get_xid (win)) - /** * GDK_DISPLAY_XDISPLAY: * @display: a #GdkDisplay. @@ -165,7 +145,6 @@ gint gdk_x11_get_default_screen (void); GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, VisualID xvisualid); -guint32 gdk_x11_get_server_time (GdkWindow *window); guint32 gdk_x11_display_get_user_time (GdkDisplay *display); G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); @@ -226,11 +205,6 @@ void gdk_x11_register_standard_event_type (GdkDisplay *display, void gdk_x11_set_sm_client_id (const gchar *sm_client_id); -GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display, - Window window); -GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display, - Window window); - gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, GdkAtom encoding, gint format, diff --git a/gdk/x11/gdkx11window.h b/gdk/x11/gdkx11window.h new file mode 100644 index 0000000000..f1c8971c45 --- /dev/null +++ b/gdk/x11/gdkx11window.h @@ -0,0 +1,75 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_WINDOW_H__ +#define __GDK_X11_WINDOW_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +Window gdk_x11_window_get_xid (GdkWindow *window); +void gdk_x11_window_set_user_time (GdkWindow *window, + guint32 timestamp); +void gdk_x11_window_move_to_current_desktop (GdkWindow *window); + +/** + * GDK_WINDOW_XDISPLAY: + * @win: a #GdkWindow. + * + * Returns the display of a #GdkWindow. + * + * Returns: an Xlib Display*. + */ +#define GDK_WINDOW_XDISPLAY(win) (GDK_DISPLAY_XDISPLAY (gdk_window_get_display (win))) + +/** + * GDK_WINDOW_XID: + * @win: a #GdkWindow. + * + * Returns the X window belonging to a #GdkWindow. + * + * Returns: the Xlib Window of @win. + */ +#define GDK_WINDOW_XID(win) (gdk_x11_window_get_xid (win)) + +guint32 gdk_x11_get_server_time (GdkWindow *window); + +GdkWindow *gdk_x11_window_foreign_new_for_display (GdkDisplay *display, + Window window); +GdkWindow *gdk_x11_window_lookup_for_display (GdkDisplay *display, + Window window); + +G_END_DECLS + +#endif /* __GDK_X11_WINDOW_H__ */ From 55f3451754eb284dde43fa46eebea61728c60c46 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:25:50 +0100 Subject: [PATCH 0722/1463] x11: Move cursor API into gdkx11cursor.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 23 +-------------- gdk/x11/gdkx11cursor.h | 66 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 69 insertions(+), 22 deletions(-) create mode 100644 gdk/x11/gdkx11cursor.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index f35b349d02..0aeb3aba9f 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -216,6 +216,7 @@ x11_introspection_files = \ x11/xsettings-client.c \ x11/xsettings-common.c \ x11/gdkx.h \ + x11/gdkx11cursor.h \ x11/gdkx11window.h GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index caf2f0f8cf..1776ba9702 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -76,6 +76,7 @@ libgdkinclude_HEADERS = \ gdkx.h libgdkx11include_HEADERS = \ + gdkx11cursor.h \ gdkx11window.h noinst_PROGRAMS = checksettings diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 9ee1048631..fe56240e21 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -55,14 +55,13 @@ #define __GDKX_H_INSIDE__ +#include #include #undef __GDKX_H_INSIDE__ G_BEGIN_DECLS -Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor); -Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor); Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual); Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); @@ -76,26 +75,6 @@ Display *gdk_x11_get_default_xdisplay (void); gint gdk_x11_get_default_screen (void); #endif -/** - * GDK_CURSOR_XDISPLAY: - * @cursor: a #GdkCursor. - * - * Returns the display of a #GdkCursor. - * - * Returns: an Xlib Display*. - */ -#define GDK_CURSOR_XDISPLAY(cursor) (gdk_x11_cursor_get_xdisplay (cursor)) - -/** - * GDK_CURSOR_XCURSOR: - * @cursor: a #GdkCursor. - * - * Returns the X cursor belonging to a #GdkCursor. - * - * Returns: an Xlib Cursor. - */ -#define GDK_CURSOR_XCURSOR(cursor) (gdk_x11_cursor_get_xcursor (cursor)) - #define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) #ifndef GDK_MULTIHEAD_SAFE diff --git a/gdk/x11/gdkx11cursor.h b/gdk/x11/gdkx11cursor.h new file mode 100644 index 0000000000..e0169baada --- /dev/null +++ b/gdk/x11/gdkx11cursor.h @@ -0,0 +1,66 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_CURSOR_H__ +#define __GDK_X11_CURSOR_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor); +Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor); + +/** + * GDK_CURSOR_XDISPLAY: + * @cursor: a #GdkCursor. + * + * Returns the display of a #GdkCursor. + * + * Returns: an Xlib Display*. + */ +#define GDK_CURSOR_XDISPLAY(cursor) (gdk_x11_cursor_get_xdisplay (cursor)) + +/** + * GDK_CURSOR_XCURSOR: + * @cursor: a #GdkCursor. + * + * Returns the X cursor belonging to a #GdkCursor. + * + * Returns: an Xlib Cursor. + */ +#define GDK_CURSOR_XCURSOR(cursor) (gdk_x11_cursor_get_xcursor (cursor)) + +G_END_DECLS + +#endif /* __GDK_X11_CURSOR_H__ */ From 0ca6a7ab20c419405778c90909a26000f88ed720 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:29:17 +0100 Subject: [PATCH 0723/1463] x11: Move visual-specific API into gdkx11visual.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 7 +----- gdk/x11/gdkx11visual.h | 50 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 53 insertions(+), 6 deletions(-) create mode 100644 gdk/x11/gdkx11visual.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 0aeb3aba9f..9f793c7130 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -217,6 +217,7 @@ x11_introspection_files = \ x11/xsettings-common.c \ x11/gdkx.h \ x11/gdkx11cursor.h \ + x11/gdkx11visual.h \ x11/gdkx11window.h GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 1776ba9702..64e8d36d20 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -77,6 +77,7 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ + gdkx11visual.h \ gdkx11window.h noinst_PROGRAMS = checksettings diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index fe56240e21..fd5d9af82b 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -56,6 +56,7 @@ #define __GDKX_H_INSIDE__ #include +#include #include #undef __GDKX_H_INSIDE__ @@ -63,7 +64,6 @@ G_BEGIN_DECLS Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); -Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual); Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); int gdk_x11_screen_get_screen_number (GdkScreen *screen); @@ -119,11 +119,6 @@ gint gdk_x11_get_default_screen (void); */ #define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) -#define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) - -GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, - VisualID xvisualid); - guint32 gdk_x11_display_get_user_time (GdkDisplay *display); G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); diff --git a/gdk/x11/gdkx11visual.h b/gdk/x11/gdkx11visual.h new file mode 100644 index 0000000000..db328a7fdb --- /dev/null +++ b/gdk/x11/gdkx11visual.h @@ -0,0 +1,50 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_VISUAL_H__ +#define __GDK_X11_VISUAL_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual); + +#define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) + +GdkVisual* gdk_x11_screen_lookup_visual (GdkScreen *screen, + VisualID xvisualid); + +G_END_DECLS + +#endif /* __GDK_X11_VISUAL_H__ */ From 6dfa90f57c10366496258b814cd5a81ae233aa0a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:35:05 +0100 Subject: [PATCH 0724/1463] x11: Move screen-specific API into gdkx11screen.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 44 +-------------------- gdk/x11/gdkx11screen.h | 90 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 93 insertions(+), 43 deletions(-) create mode 100644 gdk/x11/gdkx11screen.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 9f793c7130..db744c25e6 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -217,6 +217,7 @@ x11_introspection_files = \ x11/xsettings-common.c \ x11/gdkx.h \ x11/gdkx11cursor.h \ + x11/gdkx11screen.h \ x11/gdkx11visual.h \ x11/gdkx11window.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 64e8d36d20..f6982d413a 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -77,6 +77,7 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ + gdkx11screen.h \ gdkx11visual.h \ gdkx11window.h diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index fd5d9af82b..2a5799aa60 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -56,6 +56,7 @@ #define __GDKX_H_INSIDE__ #include +#include #include #include @@ -64,15 +65,10 @@ G_BEGIN_DECLS Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); -Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); -int gdk_x11_screen_get_screen_number (GdkScreen *screen); - -const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); #ifndef GDK_MULTIHEAD_SAFE Window gdk_x11_get_default_root_xwindow (void); Display *gdk_x11_get_default_xdisplay (void); -gint gdk_x11_get_default_screen (void); #endif #define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) @@ -88,37 +84,6 @@ gint gdk_x11_get_default_screen (void); #define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) -/** - * GDK_DISPLAY_XDISPLAY: - * @display: a #GdkDisplay. - * - * Returns the display of a #GdkDisplay. - * - * Returns: an Xlib Display* - */ -#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) - -/** - * GDK_SCREEN_XSCREEN: - * @screen: a #GdkScreen - * - * Returns the screen of a #GdkScreen. - * - * Returns: an Xlib Screen*. - */ -#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) - -/** - * GDK_SCREEN_XNUMBER: - * @screen: a #GdkScreen - * - * Returns the index of a #GdkScreen. - * - * Returns: the position of @screen among the screens of - * its display. - */ -#define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) - guint32 gdk_x11_display_get_user_time (GdkDisplay *display); G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); @@ -133,13 +98,6 @@ void gdk_x11_display_broadcast_startup_message (GdkDisplay *display, const char *message_type, ...) G_GNUC_NULL_TERMINATED; -/* returns TRUE if we support the given WM spec feature */ -gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, - GdkAtom property); - -XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, - gint monitor_num); - #ifndef GDK_MULTIHEAD_SAFE void gdk_x11_grab_server (void); void gdk_x11_ungrab_server (void); diff --git a/gdk/x11/gdkx11screen.h b/gdk/x11/gdkx11screen.h new file mode 100644 index 0000000000..f6a6130e63 --- /dev/null +++ b/gdk/x11/gdkx11screen.h @@ -0,0 +1,90 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_SCREEN_H__ +#define __GDK_X11_SCREEN_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); +int gdk_x11_screen_get_screen_number (GdkScreen *screen); + +const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen); + +#ifndef GDK_MULTIHEAD_SAFE +gint gdk_x11_get_default_screen (void); +#endif + +/** + * GDK_DISPLAY_XDISPLAY: + * @display: a #GdkDisplay. + * + * Returns the display of a #GdkDisplay. + * + * Returns: an Xlib Display* + */ +#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) + +/** + * GDK_SCREEN_XSCREEN: + * @screen: a #GdkScreen + * + * Returns the screen of a #GdkScreen. + * + * Returns: an Xlib Screen*. + */ +#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) + +/** + * GDK_SCREEN_XNUMBER: + * @screen: a #GdkScreen + * + * Returns the index of a #GdkScreen. + * + * Returns: the position of @screen among the screens of + * its display. + */ +#define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) + +/* returns TRUE if we support the given WM spec feature */ +gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, + GdkAtom property); + +XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, + gint monitor_num); + +G_END_DECLS + +#endif /* __GDK_X11_SCREEN_H__ */ From 7949073dd5e3ab8673883fb0c140d2ba01948b64 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:42:37 +0100 Subject: [PATCH 0725/1463] x11: Move display-specific APIs into gdkx11display.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 38 +------------------- gdk/x11/gdkx11display.h | 80 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 83 insertions(+), 37 deletions(-) create mode 100644 gdk/x11/gdkx11display.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index db744c25e6..67e7b6a925 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -217,6 +217,7 @@ x11_introspection_files = \ x11/xsettings-common.c \ x11/gdkx.h \ x11/gdkx11cursor.h \ + x11/gdkx11display.h \ x11/gdkx11screen.h \ x11/gdkx11visual.h \ x11/gdkx11window.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index f6982d413a..963d81b8fe 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -77,6 +77,7 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ + gdkx11display.h \ gdkx11screen.h \ gdkx11visual.h \ gdkx11window.h diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 2a5799aa60..e579bdc61f 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -56,6 +56,7 @@ #define __GDKX_H_INSIDE__ #include +#include #include #include #include @@ -64,15 +65,11 @@ G_BEGIN_DECLS -Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); - #ifndef GDK_MULTIHEAD_SAFE Window gdk_x11_get_default_root_xwindow (void); Display *gdk_x11_get_default_xdisplay (void); #endif -#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) - #ifndef GDK_MULTIHEAD_SAFE /** * GDK_ROOT_WINDOW: @@ -82,29 +79,11 @@ Display *gdk_x11_get_default_xdisplay (void); #define GDK_ROOT_WINDOW() (gdk_x11_get_default_root_xwindow ()) #endif -#define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) - -guint32 gdk_x11_display_get_user_time (GdkDisplay *display); - -G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); -void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, - const gchar *startup_id); - -void gdk_x11_display_set_cursor_theme (GdkDisplay *display, - const gchar *theme, - const gint size); - -void gdk_x11_display_broadcast_startup_message (GdkDisplay *display, - const char *message_type, - ...) G_GNUC_NULL_TERMINATED; - #ifndef GDK_MULTIHEAD_SAFE void gdk_x11_grab_server (void); void gdk_x11_ungrab_server (void); #endif -GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay); - /* Functions to get the X Atom equivalent to the GdkAtom */ Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, @@ -122,21 +101,6 @@ Atom gdk_x11_get_xatom_by_name (const gchar *atom_name); G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom); #endif -void gdk_x11_display_grab (GdkDisplay *display); -void gdk_x11_display_ungrab (GdkDisplay *display); - -void gdk_x11_display_error_trap_push (GdkDisplay *display); -/* warn unused because you could use pop_ignored otherwise */ -G_GNUC_WARN_UNUSED_RESULT gint gdk_x11_display_error_trap_pop (GdkDisplay *display); -void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display); - -void gdk_x11_register_standard_event_type (GdkDisplay *display, - gint event_base, - gint n_events); - - -void gdk_x11_set_sm_client_id (const gchar *sm_client_id); - gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, GdkAtom encoding, gint format, diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h new file mode 100644 index 0000000000..634f05b8f1 --- /dev/null +++ b/gdk/x11/gdkx11display.h @@ -0,0 +1,80 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_DISPLAY_H__ +#define __GDK_X11_DISPLAY_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) + +Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); + +#define GDK_DISPLAY_XDISPLAY(display) (gdk_x11_display_get_xdisplay (display)) + +guint32 gdk_x11_display_get_user_time (GdkDisplay *display); + +G_CONST_RETURN gchar *gdk_x11_display_get_startup_notification_id (GdkDisplay *display); +void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, + const gchar *startup_id); + +void gdk_x11_display_set_cursor_theme (GdkDisplay *display, + const gchar *theme, + const gint size); + +void gdk_x11_display_broadcast_startup_message (GdkDisplay *display, + const char *message_type, + ...) G_GNUC_NULL_TERMINATED; + +GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay); + +void gdk_x11_display_grab (GdkDisplay *display); +void gdk_x11_display_ungrab (GdkDisplay *display); + +void gdk_x11_display_error_trap_push (GdkDisplay *display); +/* warn unused because you could use pop_ignored otherwise */ +G_GNUC_WARN_UNUSED_RESULT gint gdk_x11_display_error_trap_pop (GdkDisplay *display); +void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display); + +void gdk_x11_register_standard_event_type (GdkDisplay *display, + gint event_base, + gint n_events); + +void gdk_x11_set_sm_client_id (const gchar *sm_client_id); + + +G_END_DECLS + +#endif /* __GDK_X11_DISPLAY_H__ */ From ebe46e6f9d1a8dcfe2ddd99a9049f2011bd5b437 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:49:17 +0100 Subject: [PATCH 0726/1463] x11: Move selection-specific API into gdkx11selection.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 25 +-------------- gdk/x11/gdkx11selection.h | 64 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+), 24 deletions(-) create mode 100644 gdk/x11/gdkx11selection.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 67e7b6a925..ad795efb4d 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -219,6 +219,7 @@ x11_introspection_files = \ x11/gdkx11cursor.h \ x11/gdkx11display.h \ x11/gdkx11screen.h \ + x11/gdkx11selection.h \ x11/gdkx11visual.h \ x11/gdkx11window.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 963d81b8fe..0bc6348a95 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -79,6 +79,7 @@ libgdkx11include_HEADERS = \ gdkx11cursor.h \ gdkx11display.h \ gdkx11screen.h \ + gdkx11selection.h \ gdkx11visual.h \ gdkx11window.h diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index e579bdc61f..c3cea2d4a1 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -58,6 +58,7 @@ #include #include #include +#include #include #include @@ -101,30 +102,6 @@ Atom gdk_x11_get_xatom_by_name (const gchar *atom_name); G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom); #endif -gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list); -void gdk_x11_free_text_list (gchar **list); -gint gdk_x11_display_string_to_compound_text (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length); -gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length); -void gdk_x11_free_compound_text (guchar *ctext); - - - - G_END_DECLS #endif /* __GDK_X_H__ */ diff --git a/gdk/x11/gdkx11selection.h b/gdk/x11/gdkx11selection.h new file mode 100644 index 0000000000..03b7ef045d --- /dev/null +++ b/gdk/x11/gdkx11selection.h @@ -0,0 +1,64 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_SELECTION_H__ +#define __GDK_X11_SELECTION_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +gint gdk_x11_display_text_property_to_text_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); +void gdk_x11_free_text_list (gchar **list); +gint gdk_x11_display_string_to_compound_text (GdkDisplay *display, + const gchar *str, + GdkAtom *encoding, + gint *format, + guchar **ctext, + gint *length); +gboolean gdk_x11_display_utf8_to_compound_text (GdkDisplay *display, + const gchar *str, + GdkAtom *encoding, + gint *format, + guchar **ctext, + gint *length); +void gdk_x11_free_compound_text (guchar *ctext); + +G_END_DECLS + +#endif /* __GDK_X11_SELECTION_H__ */ From dd177b5201d2a718d7a684031cf22bc34ff1893c Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:52:49 +0100 Subject: [PATCH 0727/1463] x11: Move atom API into gdkx11property.h --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 18 +----------- gdk/x11/gdkx11property.h | 59 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 17 deletions(-) create mode 100644 gdk/x11/gdkx11property.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index ad795efb4d..2a460e2924 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -218,6 +218,7 @@ x11_introspection_files = \ x11/gdkx.h \ x11/gdkx11cursor.h \ x11/gdkx11display.h \ + x11/gdkx11property.h \ x11/gdkx11screen.h \ x11/gdkx11selection.h \ x11/gdkx11visual.h \ diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 0bc6348a95..e7522fdbb0 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -78,6 +78,7 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ gdkx11display.h \ + gdkx11property.h \ gdkx11screen.h \ gdkx11selection.h \ gdkx11visual.h \ diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index c3cea2d4a1..3f4af1fdbb 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -57,6 +57,7 @@ #include #include +#include #include #include #include @@ -85,23 +86,6 @@ void gdk_x11_grab_server (void); void gdk_x11_ungrab_server (void); #endif - -/* Functions to get the X Atom equivalent to the GdkAtom */ -Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, - GdkAtom atom); -GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, - Atom xatom); -Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, - const gchar *atom_name); -G_CONST_RETURN gchar *gdk_x11_get_xatom_name_for_display (GdkDisplay *display, - Atom xatom); -#ifndef GDK_MULTIHEAD_SAFE -Atom gdk_x11_atom_to_xatom (GdkAtom atom); -GdkAtom gdk_x11_xatom_to_atom (Atom xatom); -Atom gdk_x11_get_xatom_by_name (const gchar *atom_name); -G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom); -#endif - G_END_DECLS #endif /* __GDK_X_H__ */ diff --git a/gdk/x11/gdkx11property.h b/gdk/x11/gdkx11property.h new file mode 100644 index 0000000000..64fb97865d --- /dev/null +++ b/gdk/x11/gdkx11property.h @@ -0,0 +1,59 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_PROPERTY_H__ +#define __GDK_X11_PROPERTY_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +/* Functions to get the X Atom equivalent to the GdkAtom */ +Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display, + GdkAtom atom); +GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, + Atom xatom); +Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display, + const gchar *atom_name); +G_CONST_RETURN gchar *gdk_x11_get_xatom_name_for_display (GdkDisplay *display, + Atom xatom); +#ifndef GDK_MULTIHEAD_SAFE +Atom gdk_x11_atom_to_xatom (GdkAtom atom); +GdkAtom gdk_x11_xatom_to_atom (Atom xatom); +Atom gdk_x11_get_xatom_by_name (const gchar *atom_name); +G_CONST_RETURN gchar *gdk_x11_get_xatom_name (Atom xatom); +#endif + +G_END_DECLS + +#endif /* __GDK_X11_PROPERTY_H__ */ From 04d1459fca121dc37c9c8ce63d2f36b06ad968d1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 15:55:16 +0100 Subject: [PATCH 0728/1463] x11: Move remaining APIs into gdkx11utils.h Now gdkx.h is a clean header equivalent to gdk.h. --- gdk/Makefile.am | 1 + gdk/x11/Makefile.am | 1 + gdk/x11/gdkx.h | 24 +---------------- gdk/x11/gdkx11utils.h | 62 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 23 deletions(-) create mode 100644 gdk/x11/gdkx11utils.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 2a460e2924..e96d813cf1 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -221,6 +221,7 @@ x11_introspection_files = \ x11/gdkx11property.h \ x11/gdkx11screen.h \ x11/gdkx11selection.h \ + x11/gdkx11utils.h \ x11/gdkx11visual.h \ x11/gdkx11window.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index e7522fdbb0..bf33c4adae 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -81,6 +81,7 @@ libgdkx11include_HEADERS = \ gdkx11property.h \ gdkx11screen.h \ gdkx11selection.h \ + gdkx11utils.h \ gdkx11visual.h \ gdkx11window.h diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 3f4af1fdbb..20d596b029 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -60,32 +60,10 @@ #include #include #include +#include #include #include #undef __GDKX_H_INSIDE__ -G_BEGIN_DECLS - -#ifndef GDK_MULTIHEAD_SAFE -Window gdk_x11_get_default_root_xwindow (void); -Display *gdk_x11_get_default_xdisplay (void); -#endif - -#ifndef GDK_MULTIHEAD_SAFE -/** - * GDK_ROOT_WINDOW: - * - * Obtains the Xlib window id of the root window of the current screen. - */ -#define GDK_ROOT_WINDOW() (gdk_x11_get_default_root_xwindow ()) -#endif - -#ifndef GDK_MULTIHEAD_SAFE -void gdk_x11_grab_server (void); -void gdk_x11_ungrab_server (void); -#endif - -G_END_DECLS - #endif /* __GDK_X_H__ */ diff --git a/gdk/x11/gdkx11utils.h b/gdk/x11/gdkx11utils.h new file mode 100644 index 0000000000..f00ee5b653 --- /dev/null +++ b/gdk/x11/gdkx11utils.h @@ -0,0 +1,62 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_UTILS_H__ +#define __GDK_X11_UTILS_H__ + +#include + +#include +#include + +G_BEGIN_DECLS + +#ifndef GDK_MULTIHEAD_SAFE +Window gdk_x11_get_default_root_xwindow (void); +Display *gdk_x11_get_default_xdisplay (void); +#endif + +#ifndef GDK_MULTIHEAD_SAFE +/** + * GDK_ROOT_WINDOW: + * + * Obtains the Xlib window id of the root window of the current screen. + */ +#define GDK_ROOT_WINDOW() (gdk_x11_get_default_root_xwindow ()) +#endif + +#ifndef GDK_MULTIHEAD_SAFE +void gdk_x11_grab_server (void); +void gdk_x11_ungrab_server (void); +#endif + +G_END_DECLS + +#endif /* __GDK_X11_UTILS_H__ */ From 85bd61778f58c50da312cb93a9ead3e98d461072 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 17:11:00 +0100 Subject: [PATCH 0729/1463] API: gdk: GDK_DISPLAY_OBJECT() => GDK_DISPLAY() GDK_DISPLAY_OBJECT is now deprecated. No need to keep failures from gtk1 around. --- docs/reference/gdk/gdk3-sections.txt | 1 + gdk/gdkdisplay.c | 6 +++--- gdk/gdkdisplay.h | 5 ++++- gdk/x11/gdkdisplay-x11.c | 6 +++--- gdk/x11/gdkmain-x11.c | 2 +- gtk/gtktooltip.c | 2 +- 6 files changed, 13 insertions(+), 9 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 5f2c0d8cc9..2e1a58e69a 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -148,6 +148,7 @@ gdk_display_supports_shapes gdk_display_supports_input_shapes gdk_display_supports_composite +GDK_DISPLAY GDK_DISPLAY_OBJECT GDK_IS_DISPLAY GDK_TYPE_DISPLAY diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 3374ff405e..1c69f8b2e4 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -300,10 +300,10 @@ gdk_display_init (GdkDisplay *display) static void gdk_display_dispose (GObject *object) { - GdkDisplay *display = GDK_DISPLAY_OBJECT (object); + GdkDisplay *display = GDK_DISPLAY (object); GdkDeviceManager *device_manager; - device_manager = gdk_display_get_device_manager (GDK_DISPLAY_OBJECT (object)); + device_manager = gdk_display_get_device_manager (GDK_DISPLAY (object)); g_list_foreach (display->queued_events, (GFunc)gdk_event_free, NULL); g_list_free (display->queued_events); @@ -325,7 +325,7 @@ gdk_display_dispose (GObject *object) static void gdk_display_finalize (GObject *object) { - GdkDisplay *display = GDK_DISPLAY_OBJECT (object); + GdkDisplay *display = GDK_DISPLAY (object); g_hash_table_foreach_remove (display->device_grabs, free_device_grabs_foreach, diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 8a4b3e55d1..1445d37a53 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -35,7 +35,10 @@ G_BEGIN_DECLS #define GDK_TYPE_DISPLAY (gdk_display_get_type ()) -#define GDK_DISPLAY_OBJECT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) +#define GDK_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) +#ifndef GDK_DISABLE_DEPRECATED +#define GDK_DISPLAY_OBJECT(object) GDK_DISPLAY(object) +#endif #define GDK_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, GdkDisplayClass)) #define GDK_IS_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY)) #define GDK_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY)) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 60265adff5..550dab6472 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -169,7 +169,7 @@ static void _gdk_display_x11_init (GdkDisplayX11 *display) { _gdk_x11_display_manager_add_display (gdk_display_manager_get (), - GDK_DISPLAY_OBJECT (display)); + GDK_DISPLAY (display)); } static void @@ -1719,7 +1719,7 @@ gdk_x11_display_ungrab (GdkDisplay *display) static void gdk_display_x11_dispose (GObject *object) { - GdkDisplay *display = GDK_DISPLAY_OBJECT (object); + GdkDisplay *display = GDK_DISPLAY (object); GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (object); gint i; @@ -1758,7 +1758,7 @@ gdk_display_x11_finalize (GObject *object) g_free (display_x11->motif_target_lists); } - _gdk_x11_cursor_display_finalize (GDK_DISPLAY_OBJECT(display_x11)); + _gdk_x11_cursor_display_finalize (GDK_DISPLAY (display_x11)); /* Atom Hashtable */ g_hash_table_destroy (display_x11->atom_from_virtual); diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 13434db792..9dfe67a118 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -250,7 +250,7 @@ gdk_x_error (Display *xdisplay, if (xdisplay == gdk_display->xdisplay) { - error_display = GDK_DISPLAY_OBJECT (gdk_display); + error_display = GDK_DISPLAY (gdk_display); g_slist_free (displays); displays = NULL; } diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index 16018b609d..552a63bc48 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -1284,7 +1284,7 @@ tooltip_popup_timeout (gpointer data) GdkDisplay *display; GtkTooltip *tooltip; - display = GDK_DISPLAY_OBJECT (data); + display = GDK_DISPLAY (data); tooltip = g_object_get_data (G_OBJECT (display), "gdk-display-current-tooltip"); From 8e2240f6990e48ac4b27e8ba9364278f689f97e1 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 17:14:04 +0100 Subject: [PATCH 0730/1463] x11: Rename GdkDisplayX11 to GdkX11Display --- gdk/x11/gdkcursor-x11.c | 4 +-- gdk/x11/gdkdevicemanager-core.c | 2 +- gdk/x11/gdkdisplay-x11.c | 50 ++++++++++++++++----------------- gdk/x11/gdkdisplay-x11.h | 14 ++++----- gdk/x11/gdkdnd-x11.c | 44 ++++++++++++++--------------- gdk/x11/gdkeventsource.c | 4 +-- gdk/x11/gdkgeometry-x11.c | 4 +-- gdk/x11/gdkkeys-x11.c | 10 +++---- gdk/x11/gdkmain-x11.c | 2 +- gdk/x11/gdkproperty-x11.c | 6 ++-- gdk/x11/gdkscreen-x11.c | 6 ++-- gdk/x11/gdkwindow-x11.c | 14 ++++----- gdk/x11/gdkx11display.h | 2 +- gdk/x11/gdkxid.c | 6 ++-- 14 files changed, 84 insertions(+), 84 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 4fe6cef91a..8c9bae1cf4 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -394,7 +394,7 @@ _gdk_x11_cursor_update_theme (GdkCursor *cursor) Display *xdisplay; GdkX11Cursor *private; Cursor new_cursor = None; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; private = (GdkX11Cursor *) cursor; display_x11 = GDK_DISPLAY_X11 (gdk_cursor_get_display (cursor)); @@ -469,7 +469,7 @@ gdk_x11_display_set_cursor_theme (GdkDisplay *display, const gchar *theme, const gint size) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; Display *xdisplay; gchar *old_theme; gint old_size; diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index 65eac56e44..a2e2d4429a 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -417,7 +417,7 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, GdkWindowImplX11 *window_impl = NULL; gboolean return_val; GdkToplevelX11 *toplevel = NULL; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); device_manager = GDK_DEVICE_MANAGER_CORE (translator); return_val = FALSE; diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 550dab6472..0acfb0e478 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -160,13 +160,13 @@ static const char *const precache_atoms[] = { static char *gdk_sm_client_id; -G_DEFINE_TYPE_WITH_CODE (GdkDisplayX11, _gdk_display_x11, GDK_TYPE_DISPLAY, +G_DEFINE_TYPE_WITH_CODE (GdkX11Display, _gdk_display_x11, GDK_TYPE_DISPLAY, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, gdk_display_x11_event_translator_init)) static void -_gdk_display_x11_init (GdkDisplayX11 *display) +_gdk_display_x11_init (GdkX11Display *display) { _gdk_x11_display_manager_add_display (gdk_display_manager_get (), GDK_DISPLAY (display)); @@ -383,7 +383,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, GdkScreen *screen = NULL; GdkScreenX11 *screen_x11 = NULL; GdkToplevelX11 *toplevel = NULL; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); gboolean return_val; Window xwindow = None; @@ -1097,7 +1097,7 @@ gdk_wm_protocols_filter (GdkXEvent *xev, static void gdk_event_init (GdkDisplay *display) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkDeviceManager *device_manager; display_x11 = GDK_DISPLAY_X11 (display); @@ -1119,7 +1119,7 @@ gdk_event_init (GdkDisplay *display) static void gdk_x11_display_init_input (GdkDisplay *display) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkDeviceManager *device_manager; GdkDevice *device; GList *list, *l; @@ -1172,7 +1172,7 @@ static void set_sm_client_id (GdkDisplay *display, const gchar *sm_client_id) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (gdk_display_is_closed (display)) return; @@ -1203,7 +1203,7 @@ _gdk_x11_display_open (const gchar *display_name) { Display *xdisplay; GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkWindowAttr attr; gint argc; gchar *argv[1]; @@ -1570,7 +1570,7 @@ gboolean _gdk_x11_display_is_root_window (GdkDisplay *display, Window xroot_window) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; gint i; display_x11 = GDK_DISPLAY_X11 (display); @@ -1678,7 +1678,7 @@ gdk_x11_display_get_default_group (GdkDisplay *display) void gdk_x11_display_grab (GdkDisplay *display) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -1701,7 +1701,7 @@ gdk_x11_display_grab (GdkDisplay *display) void gdk_x11_display_ungrab (GdkDisplay *display) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -1720,7 +1720,7 @@ static void gdk_display_x11_dispose (GObject *object) { GdkDisplay *display = GDK_DISPLAY (object); - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (object); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (object); gint i; _gdk_x11_display_manager_remove_display (gdk_display_manager_get (), display); @@ -1743,7 +1743,7 @@ gdk_display_x11_dispose (GObject *object) static void gdk_display_x11_finalize (GObject *object) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (object); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (object); gint i; /* Keymap */ @@ -1892,7 +1892,7 @@ gdk_x11_display_get_xdisplay (GdkDisplay *display) void _gdk_x11_display_make_default (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); const gchar *startup_id; g_free (display_x11->startup_notification_id); @@ -2089,7 +2089,7 @@ gdk_x11_display_notify_startup_complete (GdkDisplay *display, static gboolean gdk_x11_display_supports_selection_notification (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); return display_x11->have_xfixes; } @@ -2100,7 +2100,7 @@ gdk_x11_display_request_selection_notification (GdkDisplay *display, { #ifdef HAVE_XFIXES - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); Atom atom; if (display_x11->have_xfixes) @@ -2137,7 +2137,7 @@ gdk_x11_display_store_clipboard (GdkDisplay *display, const GdkAtom *targets, gint n_targets) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); Atom clipboard_manager, save_targets; g_return_if_fail (GDK_WINDOW_IS_X11 (clipboard_window)); @@ -2251,7 +2251,7 @@ void gdk_x11_display_set_startup_notification_id (GdkDisplay *display, const gchar *startup_id) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; gchar *time_str; display_x11 = GDK_DISPLAY_X11 (display); @@ -2291,7 +2291,7 @@ gdk_x11_display_set_startup_notification_id (GdkDisplay *display, static gboolean gdk_x11_display_supports_composite (GdkDisplay *display) { - GdkDisplayX11 *x11_display = GDK_DISPLAY_X11 (display); + GdkX11Display *x11_display = GDK_DISPLAY_X11 (display); return x11_display->have_xcomposite && x11_display->have_xdamage && @@ -2372,7 +2372,7 @@ gdk_x11_register_standard_event_type (GdkDisplay *display, gint n_events) { GdkEventTypeX11 *event_type; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; display_x11 = GDK_DISPLAY_X11 (display); event_type = g_new (GdkEventTypeX11, 1); @@ -2391,7 +2391,7 @@ void _gdk_x11_display_error_event (GdkDisplay *display, XErrorEvent *error) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GSList *tmp_list; gboolean ignore; @@ -2451,7 +2451,7 @@ _gdk_x11_display_error_event (GdkDisplay *display, } static void -delete_outdated_error_traps (GdkDisplayX11 *display_x11) +delete_outdated_error_traps (GdkX11Display *display_x11) { GSList *tmp_list; gulong processed_sequence; @@ -2497,7 +2497,7 @@ delete_outdated_error_traps (GdkDisplayX11 *display_x11) void gdk_x11_display_error_trap_push (GdkDisplay *display) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkErrorTrap *trap; display_x11 = GDK_DISPLAY_X11 (display); @@ -2520,7 +2520,7 @@ static gint gdk_x11_display_error_trap_pop_internal (GdkDisplay *display, gboolean need_code) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkErrorTrap *trap; GSList *tmp_list; int result; @@ -2701,7 +2701,7 @@ pop_error_trap (GdkDisplay *display, static GdkKeymap * gdk_x11_display_get_keymap (GdkDisplay *display) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); display_x11 = GDK_DISPLAY_X11 (display); @@ -2714,7 +2714,7 @@ gdk_x11_display_get_keymap (GdkDisplay *display) } static void -_gdk_display_x11_class_init (GdkDisplayX11Class * class) +_gdk_display_x11_class_init (GdkX11DisplayClass * class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index f682ca4830..d805564469 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -35,16 +35,16 @@ G_BEGIN_DECLS -typedef struct _GdkDisplayX11 GdkDisplayX11; -typedef struct _GdkDisplayX11Class GdkDisplayX11Class; +typedef struct _GdkX11Display GdkX11Display; +typedef struct _GdkX11DisplayClass GdkX11DisplayClass; #define GDK_TYPE_DISPLAY_X11 (_gdk_display_x11_get_type()) -#define GDK_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_X11, GdkDisplayX11)) -#define GDK_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_X11, GdkDisplayX11Class)) +#define GDK_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_X11, GdkX11Display)) +#define GDK_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_X11, GdkX11DisplayClass)) #define GDK_IS_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_X11)) -#define GDK_DISPLAY_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_X11, GdkDisplayX11Class)) +#define GDK_DISPLAY_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_X11, GdkX11DisplayClass)) -struct _GdkDisplayX11 +struct _GdkX11Display { GdkDisplay parent_instance; Display *xdisplay; @@ -143,7 +143,7 @@ struct _GdkDisplayX11 GSList *error_traps; }; -struct _GdkDisplayX11Class +struct _GdkX11DisplayClass { GdkDisplayClass parent_class; }; diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index b0a628a422..b52444bd23 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -298,7 +298,7 @@ free_cache_child (GdkCacheChild *child, if (child->shape_selected && display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); XShapeSelectInput (display_x11->xdisplay, child->xid, 0); } @@ -337,7 +337,7 @@ gdk_window_cache_shape_filter (GdkXEvent *xev, XEvent *xevent = (XEvent *)xev; GdkWindowCache *cache = data; - GdkDisplayX11 *display = GDK_DISPLAY_X11 (gdk_screen_get_display (cache->screen)); + GdkX11Display *display = GDK_DISPLAY_X11 (gdk_screen_get_display (cache->screen)); if (display->have_shapes && xevent->type == display->shape_event_base + ShapeNotify) @@ -594,14 +594,14 @@ is_pointer_within_shape (GdkDisplay *display, { if (!child->shape_selected) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); XShapeSelectInput (display_x11->xdisplay, child->xid, ShapeNotifyMask); child->shape_selected = TRUE; } if (!child->shape_valid) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); cairo_region_t *input_shape; child->shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay, @@ -884,7 +884,7 @@ motif_drag_window_filter (GdkXEvent *xevent, { XEvent *xev = (XEvent *)xevent; GdkDisplay *display = GDK_WINDOW_DISPLAY (event->any.window); - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); switch (xev->xany.type) { @@ -937,7 +937,7 @@ static Window motif_find_drag_window (GdkDisplay *display, gboolean create) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (!display_x11->motif_drag_window) { @@ -1002,7 +1002,7 @@ motif_find_drag_window (GdkDisplay *display, static void motif_read_target_table (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); gulong bytes_after, nitems; Atom type; gint format; @@ -1128,7 +1128,7 @@ static gint motif_target_table_check (GdkDisplay *display, GList *sorted) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); GList *tmp_list1, *tmp_list2; gint i; @@ -1156,7 +1156,7 @@ static gint motif_add_to_target_table (GdkDisplay *display, GList *targets) /* targets is list of GdkAtom */ { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); GList *sorted = NULL; gint index = -1; gint i; @@ -1586,7 +1586,7 @@ motif_read_initiator_info (GdkDisplay *display, guchar *data; MotifDragInitiatorInfo *initiator_info; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); gdk_x11_display_error_trap_push (display); XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), source_window, atom, @@ -1650,7 +1650,7 @@ motif_drag_context_new (GdkWindow *dest_window, GdkDragContextX11 *context_x11; GdkDragContext *context; GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); /* FIXME, current_dest_drag really shouldn't be NULL'd * if we error below. @@ -1716,7 +1716,7 @@ motif_top_level_enter (GdkEvent *event, guint32 source_window, guint32 atom) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GdkDragContext *new_context; GDK_NOTE(DND, g_message ("Motif DND top level enter: flags: %#4x time: %d source_widow: %#4x atom: %d", @@ -1740,7 +1740,7 @@ motif_top_level_leave (GdkEvent *event, guint16 flags, guint32 timestamp) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND top level leave: flags: %#4x time: %d", flags, timestamp)); @@ -1769,7 +1769,7 @@ motif_motion (GdkEvent *event, gint16 y_root) { GdkDragContextX11 *context_x11; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND motion: flags: %#4x time: %d (%d, %d)", flags, timestamp, x_root, y_root)); @@ -1808,7 +1808,7 @@ motif_operation_changed (GdkEvent *event, guint32 timestamp) { GdkDragContextX11 *context_x11; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND operation changed: flags: %#4x time: %d", flags, timestamp)); @@ -1847,7 +1847,7 @@ motif_drop_start (GdkEvent *event, gint16 y_root) { GdkDragContext *new_context; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND drop start: flags: %#4x time: %d (%d, %d) source_widow: %#4x atom: %d", flags, timestamp, x_root, y_root, source_window, atom)); @@ -2732,7 +2732,7 @@ xdnd_manage_source_filter (GdkDragContext *context, static void base_precache_atoms (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (!display_x11->base_dnd_atoms_precached) { @@ -2754,7 +2754,7 @@ base_precache_atoms (GdkDisplay *display) static void xdnd_precache_atoms (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (!display_x11->xdnd_atoms_precached) { @@ -2789,7 +2789,7 @@ xdnd_enter_filter (GdkXEvent *xev, { GdkDeviceManager *device_manager; GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; XEvent *xevent = (XEvent *)xev; GdkDragContext *context; GdkDragContextX11 *context_x11; @@ -2927,7 +2927,7 @@ xdnd_leave_filter (GdkXEvent *xev, XEvent *xevent = (XEvent *)xev; guint32 source_window = xevent->xclient.data.l[0]; GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) @@ -2972,7 +2972,7 @@ xdnd_position_filter (GdkXEvent *xev, Atom action = xevent->xclient.data.l[4]; GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkDragContext *context; GdkDragContextX11 *context_x11; @@ -3030,7 +3030,7 @@ xdnd_drop_filter (GdkXEvent *xev, guint32 source_window = xevent->xclient.data.l[0]; guint32 time = xevent->xclient.data.l[2]; GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkDragContext *context; GdkDragContextX11 *context_x11; diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index ea248b997e..213486568c 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -270,7 +270,7 @@ _gdk_x11_display_queue_events (GdkDisplay *display) XEvent xevent; Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); GdkEventSource *event_source; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; display_x11 = GDK_DISPLAY_X11 (display); event_source = (GdkEventSource *) display_x11->event_source; @@ -341,7 +341,7 @@ gdk_x11_event_source_new (GdkDisplay *display) { GSource *source; GdkEventSource *event_source; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; int connection_number; char *name; diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index 7e3cf16f84..d55007dae5 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -157,7 +157,7 @@ static void gdk_window_queue (GdkWindow *window, GdkWindowQueueItem *item) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); if (!display_x11->translate_queue) display_x11->translate_queue = g_queue_new (); @@ -331,7 +331,7 @@ _gdk_x11_window_process_expose (GdkWindow *window, GdkRectangle *area) { cairo_region_t *invalidate_region = cairo_region_create_rectangle (area); - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); if (display_x11->translate_queue) { diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 1b1e9427a4..dbe88fde37 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -234,7 +234,7 @@ update_modmap (Display *display, static XkbDescPtr get_xkb (GdkKeymapX11 *keymap_x11) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; update_keyrange (keymap_x11); @@ -318,7 +318,7 @@ set_symbol (KeySym *syms, static void update_keymaps (GdkKeymapX11 *keymap_x11) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; #ifdef HAVE_XKB @@ -671,7 +671,7 @@ void _gdk_x11_keymap_state_changed (GdkDisplay *display, XEvent *xevent) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); XkbEvent *xkb_event = (XkbEvent *)xevent; if (display_x11->keymap) @@ -691,7 +691,7 @@ _gdk_x11_keymap_state_changed (GdkDisplay *display, void _gdk_x11_keymap_keys_changed (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); ++display_x11->keymap_serial; @@ -1595,7 +1595,7 @@ gint _gdk_x11_get_group_for_state (GdkDisplay *display, GdkModifierType state) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); #ifdef HAVE_XKB if (display_x11->use_xkb) diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 9dfe67a118..1e9b818198 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -246,7 +246,7 @@ gdk_x_error (Display *xdisplay, displays = gdk_display_manager_list_displays (manager); while (displays != NULL) { - GdkDisplayX11 *gdk_display = displays->data; + GdkX11Display *gdk_display = displays->data; if (xdisplay == gdk_display->xdisplay) { diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index 1b57860413..6be1717815 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -174,7 +174,7 @@ insert_atom_pair (GdkDisplay *display, GdkAtom virtual_atom, Atom xatom) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (!display_x11->atom_from_virtual) { @@ -194,7 +194,7 @@ static Atom lookup_cached_xatom (GdkDisplay *display, GdkAtom atom) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (ATOM_TO_INDEX (atom) < G_N_ELEMENTS (xatoms_offset) - N_CUSTOM_PREDEFINED) return ATOM_TO_INDEX (atom); @@ -328,7 +328,7 @@ GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, Atom xatom) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkAtom virtual_atom = GDK_NONE; g_return_val_if_fail (GDK_IS_DISPLAY (display), GDK_NONE); diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 0c2aff0d9b..2a4bc8fcf6 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -486,7 +486,7 @@ init_randr13 (GdkScreen *screen) { #ifdef HAVE_RANDR GdkDisplay *display = gdk_screen_get_display (screen); - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); Display *dpy = GDK_SCREEN_XDISPLAY (screen); XRRScreenResources *resources; @@ -790,7 +790,7 @@ _gdk_x11_screen_new (GdkDisplay *display, { GdkScreen *screen; GdkScreenX11 *screen_x11; - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); screen = g_object_new (GDK_TYPE_SCREEN_X11, NULL); @@ -890,7 +890,7 @@ _gdk_x11_screen_size_changed (GdkScreen *screen, { gint width, height; #ifdef HAVE_RANDR - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; #endif width = gdk_screen_get_width (screen); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 4f99b027f5..44551335b4 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -528,7 +528,7 @@ get_default_title (void) static void check_leader_window_title (GdkDisplay *display) { - GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); if (display_x11->leader_window && !display_x11->leader_window_title_set) { @@ -544,7 +544,7 @@ static Window create_focus_window (GdkDisplay *display, XID parent) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkEventMask event_mask; Display *xdisplay; Window focus_window; @@ -688,7 +688,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, { GdkWindowImplX11 *impl; GdkScreenX11 *screen_x11; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; Window xparent; Visual *xvisual; @@ -874,7 +874,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, GdkScreen *screen; GdkWindow *win; GdkWindowImplX11 *impl; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; XWindowAttributes attrs; Window root, parent; Window *children = NULL; @@ -1262,7 +1262,7 @@ static void gdk_window_x11_show (GdkWindow *window, gboolean already_mapped) { GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkToplevelX11 *toplevel; GdkWindowImplX11 *impl = GDK_WINDOW_IMPL_X11 (window->impl); Display *xdisplay = GDK_WINDOW_XDISPLAY (window); @@ -2811,7 +2811,7 @@ gdk_window_x11_set_events (GdkWindow *window, if (!GDK_WINDOW_DESTROYED (window)) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; if (GDK_WINDOW_XID (window) != GDK_WINDOW_XROOTWIN (window)) xevent_mask = StructureNotifyMask | PropertyChangeMask; @@ -2994,7 +2994,7 @@ gdk_x11_window_set_user_time (GdkWindow *window, guint32 timestamp) { GdkDisplay *display; - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkToplevelX11 *toplevel; glong timestamp_long = (glong)timestamp; Window xid; diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h index 634f05b8f1..887e5e8266 100644 --- a/gdk/x11/gdkx11display.h +++ b/gdk/x11/gdkx11display.h @@ -38,7 +38,7 @@ G_BEGIN_DECLS -#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkDisplayX11"))) +#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkX11Display"))) Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c index 085118fdaf..9f2f275c19 100644 --- a/gdk/x11/gdkxid.c +++ b/gdk/x11/gdkxid.c @@ -48,7 +48,7 @@ _gdk_x11_display_add_window (GdkDisplay *display, XID *xid, GdkWindow *data) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; g_return_if_fail (xid != NULL); g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -69,7 +69,7 @@ void _gdk_x11_display_remove_window (GdkDisplay *display, XID xid) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; g_return_if_fail (GDK_IS_DISPLAY (display)); @@ -95,7 +95,7 @@ GdkWindow * gdk_x11_window_lookup_for_display (GdkDisplay *display, Window window) { - GdkDisplayX11 *display_x11; + GdkX11Display *display_x11; GdkWindow *data = NULL; g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); From 4db086da4b257ddc04cd3ef547a973f09fdf198d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 19:20:10 +0100 Subject: [PATCH 0731/1463] x11: Rename GdkDisplayX11 to GdkX11Display Also rename all the macros etc. --- gdk/x11/gdkcursor-x11.c | 6 +- gdk/x11/gdkdevice-core.c | 4 +- gdk/x11/gdkdevice-xi2.c | 4 +- gdk/x11/gdkdevicemanager-core.c | 2 +- gdk/x11/gdkdisplay-x11.c | 120 ++++++++++++++++---------------- gdk/x11/gdkdisplay-x11.h | 18 ++--- gdk/x11/gdkdnd-x11.c | 50 ++++++------- gdk/x11/gdkeventsource.c | 4 +- gdk/x11/gdkgeometry-x11.c | 4 +- gdk/x11/gdkkeys-x11.c | 12 ++-- gdk/x11/gdkprivate-x11.h | 2 +- gdk/x11/gdkproperty-x11.c | 6 +- gdk/x11/gdkscreen-x11.c | 12 ++-- gdk/x11/gdkwindow-x11.c | 30 ++++---- gdk/x11/gdkx11display.h | 2 +- gdk/x11/gdkxid.c | 6 +- gtk/gtkplug.c | 4 +- gtk/gtkselection.c | 4 +- gtk/gtksocket.c | 4 +- 19 files changed, 147 insertions(+), 147 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 8c9bae1cf4..d9ec9329ea 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -146,7 +146,7 @@ find_in_cache (GdkDisplay *display, return NULL; } -/* Called by gdk_display_x11_finalize to flush any cached cursors +/* Called by gdk_x11_display_finalize to flush any cached cursors * for a dead display. */ void @@ -397,7 +397,7 @@ _gdk_x11_cursor_update_theme (GdkCursor *cursor) GdkX11Display *display_x11; private = (GdkX11Cursor *) cursor; - display_x11 = GDK_DISPLAY_X11 (gdk_cursor_get_display (cursor)); + display_x11 = GDK_X11_DISPLAY (gdk_cursor_get_display (cursor)); xdisplay = GDK_DISPLAY_XDISPLAY (display_x11); if (!display_x11->have_xfixes) @@ -476,7 +476,7 @@ gdk_x11_display_set_cursor_theme (GdkDisplay *display, g_return_if_fail (GDK_IS_DISPLAY (display)); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); xdisplay = GDK_DISPLAY_XDISPLAY (display); old_theme = XcursorGetTheme (xdisplay); diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core.c index e176f91f36..224c3ed1ca 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core.c @@ -247,7 +247,7 @@ gdk_device_core_query_state (GdkDevice *device, display = gdk_window_get_display (window); default_screen = gdk_display_get_default_screen (display); - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) { if (!XQueryPointer (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), @@ -437,7 +437,7 @@ gdk_device_core_window_at_position (GdkDevice *device, xdisplay = GDK_SCREEN_XDISPLAY (screen); xwindow = GDK_SCREEN_XROOTWIN (screen); - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) { XQueryPointer (xdisplay, xwindow, &root, &child, diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 4eca8f1d29..68686ec369 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -310,7 +310,7 @@ gdk_device_xi2_query_state (GdkDevice *device, display = gdk_window_get_display (window); default_screen = gdk_display_get_default_screen (display); - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) { if (!XIQueryPointer (GDK_WINDOW_XDISPLAY (window), priv->device_id, @@ -481,7 +481,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, xdisplay = GDK_SCREEN_XDISPLAY (screen); xwindow = GDK_SCREEN_XROOTWIN (screen); - if (G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) { XIQueryPointer (xdisplay, priv->device_id, diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c index a2e2d4429a..e332cbc3c1 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core.c @@ -417,7 +417,7 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, GdkWindowImplX11 *window_impl = NULL; gboolean return_val; GdkToplevelX11 *toplevel = NULL; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); device_manager = GDK_DEVICE_MANAGER_CORE (translator); return_val = FALSE; diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 0acfb0e478..01c6aeb589 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -88,12 +88,12 @@ struct _GdkErrorTrap int error_code; }; -static void gdk_display_x11_dispose (GObject *object); -static void gdk_display_x11_finalize (GObject *object); +static void gdk_x11_display_dispose (GObject *object); +static void gdk_x11_display_finalize (GObject *object); -static void gdk_display_x11_event_translator_init (GdkEventTranslatorIface *iface); +static void gdk_x11_display_event_translator_init (GdkEventTranslatorIface *iface); -static gboolean gdk_display_x11_translate_event (GdkEventTranslator *translator, +static gboolean gdk_x11_display_translate_event (GdkEventTranslator *translator, GdkDisplay *display, GdkEvent *event, XEvent *xevent); @@ -160,22 +160,22 @@ static const char *const precache_atoms[] = { static char *gdk_sm_client_id; -G_DEFINE_TYPE_WITH_CODE (GdkX11Display, _gdk_display_x11, GDK_TYPE_DISPLAY, +G_DEFINE_TYPE_WITH_CODE (GdkX11Display, _gdk_x11_display, GDK_TYPE_DISPLAY, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, - gdk_display_x11_event_translator_init)) + gdk_x11_display_event_translator_init)) static void -_gdk_display_x11_init (GdkX11Display *display) +_gdk_x11_display_init (GdkX11Display *display) { _gdk_x11_display_manager_add_display (gdk_display_manager_get (), GDK_DISPLAY (display)); } static void -gdk_display_x11_event_translator_init (GdkEventTranslatorIface *iface) +gdk_x11_display_event_translator_init (GdkEventTranslatorIface *iface) { - iface->translate_event = gdk_display_x11_translate_event; + iface->translate_event = gdk_x11_display_translate_event; } static void @@ -373,7 +373,7 @@ get_event_window (GdkEventTranslator *translator, } static gboolean -gdk_display_x11_translate_event (GdkEventTranslator *translator, +gdk_x11_display_translate_event (GdkEventTranslator *translator, GdkDisplay *display, GdkEvent *event, XEvent *xevent) @@ -383,7 +383,7 @@ gdk_display_x11_translate_event (GdkEventTranslator *translator, GdkScreen *screen = NULL; GdkScreenX11 *screen_x11 = NULL; GdkToplevelX11 *toplevel = NULL; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); gboolean return_val; Window xwindow = None; @@ -1077,7 +1077,7 @@ gdk_wm_protocols_filter (GdkXEvent *xev, return GDK_FILTER_REMOVE; } else if (atom == gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_SYNC_REQUEST") && - GDK_DISPLAY_X11 (display)->use_sync) + GDK_X11_DISPLAY (display)->use_sync) { GdkToplevelX11 *toplevel = _gdk_x11_window_get_toplevel (event->any.window); if (toplevel) @@ -1100,7 +1100,7 @@ gdk_event_init (GdkDisplay *display) GdkX11Display *display_x11; GdkDeviceManager *device_manager; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); display_x11->event_source = gdk_x11_event_source_new (display); gdk_x11_event_source_add_translator ((GdkEventSource *) display_x11->event_source, @@ -1124,7 +1124,7 @@ gdk_x11_display_init_input (GdkDisplay *display) GdkDevice *device; GList *list, *l; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); device_manager = gdk_display_get_device_manager (display); /* For backwards compatibility, just add @@ -1172,7 +1172,7 @@ static void set_sm_client_id (GdkDisplay *display, const gchar *sm_client_id) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (gdk_display_is_closed (display)) return; @@ -1218,8 +1218,8 @@ _gdk_x11_display_open (const gchar *display_name) if (!xdisplay) return NULL; - display = g_object_new (GDK_TYPE_DISPLAY_X11, NULL); - display_x11 = GDK_DISPLAY_X11 (display); + display = g_object_new (GDK_TYPE_X11_DISPLAY, NULL); + display_x11 = GDK_X11_DISPLAY (display); display_x11->xdisplay = xdisplay; @@ -1542,28 +1542,28 @@ gdk_internal_connection_watch (Display *display, static G_CONST_RETURN gchar * gdk_x11_display_get_name (GdkDisplay *display) { - return (gchar *) DisplayString (GDK_DISPLAY_X11 (display)->xdisplay); + return (gchar *) DisplayString (GDK_X11_DISPLAY (display)->xdisplay); } static gint gdk_x11_display_get_n_screens (GdkDisplay *display) { - return ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay); + return ScreenCount (GDK_X11_DISPLAY (display)->xdisplay); } static GdkScreen * gdk_x11_display_get_screen (GdkDisplay *display, gint screen_num) { - g_return_val_if_fail (ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num, NULL); + g_return_val_if_fail (ScreenCount (GDK_X11_DISPLAY (display)->xdisplay) > screen_num, NULL); - return GDK_DISPLAY_X11 (display)->screens[screen_num]; + return GDK_X11_DISPLAY (display)->screens[screen_num]; } static GdkScreen * gdk_x11_display_get_default_screen (GdkDisplay *display) { - return GDK_DISPLAY_X11 (display)->default_screen; + return GDK_X11_DISPLAY (display)->default_screen; } gboolean @@ -1573,7 +1573,7 @@ _gdk_x11_display_is_root_window (GdkDisplay *display, GdkX11Display *display_x11; gint i; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); for (i = 0; i < ScreenCount (display_x11->xdisplay); i++) { @@ -1661,7 +1661,7 @@ gdk_x11_display_get_default_group (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return GDK_DISPLAY_X11 (display)->leader_gdk_window; + return GDK_X11_DISPLAY (display)->leader_gdk_window; } /** @@ -1682,7 +1682,7 @@ gdk_x11_display_grab (GdkDisplay *display) g_return_if_fail (GDK_IS_DISPLAY (display)); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if (display_x11->grab_count == 0) XGrabServer (display_x11->xdisplay); @@ -1705,7 +1705,7 @@ gdk_x11_display_ungrab (GdkDisplay *display) g_return_if_fail (GDK_IS_DISPLAY (display)); - display_x11 = GDK_DISPLAY_X11 (display);; + display_x11 = GDK_X11_DISPLAY (display);; g_return_if_fail (display_x11->grab_count > 0); display_x11->grab_count--; @@ -1717,10 +1717,10 @@ gdk_x11_display_ungrab (GdkDisplay *display) } static void -gdk_display_x11_dispose (GObject *object) +gdk_x11_display_dispose (GObject *object) { GdkDisplay *display = GDK_DISPLAY (object); - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (object); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (object); gint i; _gdk_x11_display_manager_remove_display (gdk_display_manager_get (), display); @@ -1737,13 +1737,13 @@ gdk_display_x11_dispose (GObject *object) display_x11->event_source = NULL; } - G_OBJECT_CLASS (_gdk_display_x11_parent_class)->dispose (object); + G_OBJECT_CLASS (_gdk_x11_display_parent_class)->dispose (object); } static void -gdk_display_x11_finalize (GObject *object) +gdk_x11_display_finalize (GObject *object) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (object); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (object); gint i; /* Keymap */ @@ -1810,7 +1810,7 @@ gdk_display_x11_finalize (GObject *object) g_slice_free (GdkErrorTrap, trap); } - G_OBJECT_CLASS (_gdk_display_x11_parent_class)->finalize (object); + G_OBJECT_CLASS (_gdk_x11_display_parent_class)->finalize (object); } /** @@ -1863,7 +1863,7 @@ _gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, { gint i; - for (i = 0; i < ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay); i++) + for (i = 0; i < ScreenCount (GDK_X11_DISPLAY (display)->xdisplay); i++) { GdkScreen *screen = gdk_display_get_screen (display, i); if (GDK_SCREEN_XROOTWIN (screen) == xrootwin) @@ -1886,13 +1886,13 @@ Display * gdk_x11_display_get_xdisplay (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return GDK_DISPLAY_X11 (display)->xdisplay; + return GDK_X11_DISPLAY (display)->xdisplay; } void _gdk_x11_display_make_default (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); const gchar *startup_id; g_free (display_x11->startup_notification_id); @@ -1928,7 +1928,7 @@ broadcast_xmessage (GdkDisplay *display, Atom type_atom_begin; Window xwindow; - if (!G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return; { @@ -2076,7 +2076,7 @@ gdk_x11_display_notify_startup_complete (GdkDisplay *display, { if (startup_id == NULL) { - startup_id = GDK_DISPLAY_X11 (display)->startup_notification_id; + startup_id = GDK_X11_DISPLAY (display)->startup_notification_id; if (startup_id == NULL) return; } @@ -2089,7 +2089,7 @@ gdk_x11_display_notify_startup_complete (GdkDisplay *display, static gboolean gdk_x11_display_supports_selection_notification (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); return display_x11->have_xfixes; } @@ -2100,7 +2100,7 @@ gdk_x11_display_request_selection_notification (GdkDisplay *display, { #ifdef HAVE_XFIXES - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); Atom atom; if (display_x11->have_xfixes) @@ -2127,7 +2127,7 @@ gdk_x11_display_supports_clipboard_persistence (GdkDisplay *display) /* It might make sense to cache this */ clipboard_manager = gdk_x11_get_xatom_by_name_for_display (display, "CLIPBOARD_MANAGER"); - return XGetSelectionOwner (GDK_DISPLAY_X11 (display)->xdisplay, clipboard_manager) != None; + return XGetSelectionOwner (GDK_X11_DISPLAY (display)->xdisplay, clipboard_manager) != None; } static void @@ -2137,7 +2137,7 @@ gdk_x11_display_store_clipboard (GdkDisplay *display, const GdkAtom *targets, gint n_targets) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); Atom clipboard_manager, save_targets; g_return_if_fail (GDK_WINDOW_IS_X11 (clipboard_window)); @@ -2193,19 +2193,19 @@ gdk_x11_display_store_clipboard (GdkDisplay *display, guint32 gdk_x11_display_get_user_time (GdkDisplay *display) { - return GDK_DISPLAY_X11 (display)->user_time; + return GDK_X11_DISPLAY (display)->user_time; } static gboolean gdk_x11_display_supports_shapes (GdkDisplay *display) { - return GDK_DISPLAY_X11 (display)->have_shapes; + return GDK_X11_DISPLAY (display)->have_shapes; } static gboolean gdk_x11_display_supports_input_shapes (GdkDisplay *display) { - return GDK_DISPLAY_X11 (display)->have_input_shapes; + return GDK_X11_DISPLAY (display)->have_input_shapes; } @@ -2222,7 +2222,7 @@ gdk_x11_display_supports_input_shapes (GdkDisplay *display) G_CONST_RETURN gchar * gdk_x11_display_get_startup_notification_id (GdkDisplay *display) { - return GDK_DISPLAY_X11 (display)->startup_notification_id; + return GDK_X11_DISPLAY (display)->startup_notification_id; } /** @@ -2254,7 +2254,7 @@ gdk_x11_display_set_startup_notification_id (GdkDisplay *display, GdkX11Display *display_x11; gchar *time_str; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); g_free (display_x11->startup_notification_id); display_x11->startup_notification_id = g_strdup (startup_id); @@ -2291,7 +2291,7 @@ gdk_x11_display_set_startup_notification_id (GdkDisplay *display, static gboolean gdk_x11_display_supports_composite (GdkDisplay *display) { - GdkX11Display *x11_display = GDK_DISPLAY_X11 (display); + GdkX11Display *x11_display = GDK_X11_DISPLAY (display); return x11_display->have_xcomposite && x11_display->have_xdamage && @@ -2303,7 +2303,7 @@ gdk_x11_display_list_devices (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return GDK_DISPLAY_X11 (display)->input_devices; + return GDK_X11_DISPLAY (display)->input_devices; } static gboolean @@ -2340,8 +2340,8 @@ gdk_x11_display_add_client_message_filter (GdkDisplay *display, filter->function = func; filter->data = data; - GDK_DISPLAY_X11(display)->client_filters = - g_list_append (GDK_DISPLAY_X11 (display)->client_filters, + GDK_X11_DISPLAY(display)->client_filters = + g_list_append (GDK_X11_DISPLAY (display)->client_filters, filter); } @@ -2374,7 +2374,7 @@ gdk_x11_register_standard_event_type (GdkDisplay *display, GdkEventTypeX11 *event_type; GdkX11Display *display_x11; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); event_type = g_new (GdkEventTypeX11, 1); event_type->base = event_base; @@ -2395,7 +2395,7 @@ _gdk_x11_display_error_event (GdkDisplay *display, GSList *tmp_list; gboolean ignore; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); ignore = FALSE; for (tmp_list = display_x11->error_traps; @@ -2500,7 +2500,7 @@ gdk_x11_display_error_trap_push (GdkDisplay *display) GdkX11Display *display_x11; GdkErrorTrap *trap; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); delete_outdated_error_traps (display_x11); @@ -2525,7 +2525,7 @@ gdk_x11_display_error_trap_pop_internal (GdkDisplay *display, GSList *tmp_list; int result; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); g_return_val_if_fail (display_x11->error_traps != NULL, Success); @@ -2607,7 +2607,7 @@ gdk_x11_display_error_trap_pop_internal (GdkDisplay *display, gint gdk_x11_display_error_trap_pop (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY_X11 (display), Success); + g_return_val_if_fail (GDK_IS_X11_DISPLAY (display), Success); return gdk_x11_display_error_trap_pop_internal (display, TRUE); } @@ -2629,7 +2629,7 @@ gdk_x11_display_error_trap_pop (GdkDisplay *display) void gdk_x11_display_error_trap_pop_ignored (GdkDisplay *display) { - g_return_if_fail (GDK_IS_DISPLAY_X11 (display)); + g_return_if_fail (GDK_IS_X11_DISPLAY (display)); gdk_x11_display_error_trap_pop_internal (display, FALSE); } @@ -2703,7 +2703,7 @@ gdk_x11_display_get_keymap (GdkDisplay *display) { GdkX11Display *display_x11; g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->keymap) display_x11->keymap = g_object_new (_gdk_keymap_x11_get_type (), NULL); @@ -2714,13 +2714,13 @@ gdk_x11_display_get_keymap (GdkDisplay *display) } static void -_gdk_display_x11_class_init (GdkX11DisplayClass * class) +_gdk_x11_display_class_init (GdkX11DisplayClass * class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); - object_class->dispose = gdk_display_x11_dispose; - object_class->finalize = gdk_display_x11_finalize; + object_class->dispose = gdk_x11_display_dispose; + object_class->finalize = gdk_x11_display_finalize; display_class->get_name = gdk_x11_display_get_name; display_class->get_n_screens = gdk_x11_display_get_n_screens; diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index d805564469..0075fd1b76 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -21,8 +21,8 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_DISPLAY_X11__ -#define __GDK_DISPLAY_X11__ +#ifndef __GDK_X11_DISPLAY__ +#define __GDK_X11_DISPLAY__ #include "gdkdisplayprivate.h" #include "gdkkeys.h" @@ -38,11 +38,11 @@ G_BEGIN_DECLS typedef struct _GdkX11Display GdkX11Display; typedef struct _GdkX11DisplayClass GdkX11DisplayClass; -#define GDK_TYPE_DISPLAY_X11 (_gdk_display_x11_get_type()) -#define GDK_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_X11, GdkX11Display)) -#define GDK_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_X11, GdkX11DisplayClass)) -#define GDK_IS_DISPLAY_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_X11)) -#define GDK_DISPLAY_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_X11, GdkX11DisplayClass)) +#define GDK_TYPE_X11_DISPLAY (_gdk_x11_display_get_type()) +#define GDK_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DISPLAY, GdkX11Display)) +#define GDK_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) +#define GDK_IS_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DISPLAY)) +#define GDK_X11_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) struct _GdkX11Display { @@ -148,7 +148,7 @@ struct _GdkX11DisplayClass GdkDisplayClass parent_class; }; -GType _gdk_display_x11_get_type (void); +GType _gdk_x11_display_get_type (void); GdkScreen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, Window xrootwin); void _gdk_x11_display_error_event (GdkDisplay *display, @@ -156,4 +156,4 @@ void _gdk_x11_display_error_event (GdkDisplay *display, G_END_DECLS -#endif /* __GDK_DISPLAY_X11__ */ +#endif /* __GDK_X11_DISPLAY__ */ diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index b52444bd23..168c82c801 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -298,7 +298,7 @@ free_cache_child (GdkCacheChild *child, if (child->shape_selected && display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); XShapeSelectInput (display_x11->xdisplay, child->xid, 0); } @@ -337,7 +337,7 @@ gdk_window_cache_shape_filter (GdkXEvent *xev, XEvent *xevent = (XEvent *)xev; GdkWindowCache *cache = data; - GdkX11Display *display = GDK_DISPLAY_X11 (gdk_screen_get_display (cache->screen)); + GdkX11Display *display = GDK_X11_DISPLAY (gdk_screen_get_display (cache->screen)); if (display->have_shapes && xevent->type == display->shape_event_base + ShapeNotify) @@ -505,7 +505,7 @@ gdk_window_cache_new (GdkScreen *screen) XGetWindowAttributes (xdisplay, GDK_WINDOW_XID (root_window), &xwa); result->old_event_mask = xwa.your_event_mask; - if (G_UNLIKELY (!GDK_DISPLAY_X11 (GDK_SCREEN_X11 (screen)->display)->trusted_client)) + if (G_UNLIKELY (!GDK_X11_DISPLAY (GDK_SCREEN_X11 (screen)->display)->trusted_client)) { GList *toplevel_windows, *list; GdkWindow *window; @@ -594,14 +594,14 @@ is_pointer_within_shape (GdkDisplay *display, { if (!child->shape_selected) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); XShapeSelectInput (display_x11->xdisplay, child->xid, ShapeNotifyMask); child->shape_selected = TRUE; } if (!child->shape_valid) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); cairo_region_t *input_shape; child->shape = _gdk_x11_xwindow_get_shape (display_x11->xdisplay, @@ -884,7 +884,7 @@ motif_drag_window_filter (GdkXEvent *xevent, { XEvent *xev = (XEvent *)xevent; GdkDisplay *display = GDK_WINDOW_DISPLAY (event->any.window); - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); switch (xev->xany.type) { @@ -921,7 +921,7 @@ motif_lookup_drag_window (GdkDisplay *display, { retval = *(Window *)data; GDK_NOTE (DND, - g_message ("Found drag window %#lx\n", GDK_DISPLAY_X11 (display)->motif_drag_window)); + g_message ("Found drag window %#lx\n", GDK_X11_DISPLAY (display)->motif_drag_window)); } if (type != None) @@ -937,7 +937,7 @@ static Window motif_find_drag_window (GdkDisplay *display, gboolean create) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->motif_drag_window) { @@ -1002,7 +1002,7 @@ motif_find_drag_window (GdkDisplay *display, static void motif_read_target_table (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); gulong bytes_after, nitems; Atom type; gint format; @@ -1128,7 +1128,7 @@ static gint motif_target_table_check (GdkDisplay *display, GList *sorted) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); GList *tmp_list1, *tmp_list2; gint i; @@ -1156,7 +1156,7 @@ static gint motif_add_to_target_table (GdkDisplay *display, GList *targets) /* targets is list of GdkAtom */ { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); GList *sorted = NULL; gint index = -1; gint i; @@ -1428,7 +1428,7 @@ motif_send_enter (GdkDragContextX11 *context_x11, GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); XEvent xev; - if (!G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return; /* Motif Dnd requires getting properties on the root window */ xev.xclient.type = ClientMessage; @@ -1586,7 +1586,7 @@ motif_read_initiator_info (GdkDisplay *display, guchar *data; MotifDragInitiatorInfo *initiator_info; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); gdk_x11_display_error_trap_push (display); XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), source_window, atom, @@ -1650,7 +1650,7 @@ motif_drag_context_new (GdkWindow *dest_window, GdkDragContextX11 *context_x11; GdkDragContext *context; GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); /* FIXME, current_dest_drag really shouldn't be NULL'd * if we error below. @@ -1716,7 +1716,7 @@ motif_top_level_enter (GdkEvent *event, guint32 source_window, guint32 atom) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GdkDragContext *new_context; GDK_NOTE(DND, g_message ("Motif DND top level enter: flags: %#4x time: %d source_widow: %#4x atom: %d", @@ -1740,7 +1740,7 @@ motif_top_level_leave (GdkEvent *event, guint16 flags, guint32 timestamp) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND top level leave: flags: %#4x time: %d", flags, timestamp)); @@ -1769,7 +1769,7 @@ motif_motion (GdkEvent *event, gint16 y_root) { GdkDragContextX11 *context_x11; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND motion: flags: %#4x time: %d (%d, %d)", flags, timestamp, x_root, y_root)); @@ -1808,7 +1808,7 @@ motif_operation_changed (GdkEvent *event, guint32 timestamp) { GdkDragContextX11 *context_x11; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND operation changed: flags: %#4x time: %d", flags, timestamp)); @@ -1847,7 +1847,7 @@ motif_drop_start (GdkEvent *event, gint16 y_root) { GdkDragContext *new_context; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (event->any.window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND drop start: flags: %#4x time: %d (%d, %d) source_widow: %#4x atom: %d", flags, timestamp, x_root, y_root, source_window, atom)); @@ -2732,7 +2732,7 @@ xdnd_manage_source_filter (GdkDragContext *context, static void base_precache_atoms (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->base_dnd_atoms_precached) { @@ -2754,7 +2754,7 @@ base_precache_atoms (GdkDisplay *display) static void xdnd_precache_atoms (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->xdnd_atoms_precached) { @@ -2814,7 +2814,7 @@ xdnd_enter_filter (GdkXEvent *xev, version = (xevent->xclient.data.l[1] & 0xff000000) >> 24; display = GDK_WINDOW_DISPLAY (event->any.window); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); xdnd_precache_atoms (display); @@ -2938,7 +2938,7 @@ xdnd_leave_filter (GdkXEvent *xev, source_window)); display = GDK_WINDOW_DISPLAY (event->any.window); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); xdnd_precache_atoms (display); @@ -2985,7 +2985,7 @@ xdnd_position_filter (GdkXEvent *xev, source_window, x_root, y_root, time, action)); display = GDK_WINDOW_DISPLAY (event->any.window); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); xdnd_precache_atoms (display); @@ -3043,7 +3043,7 @@ xdnd_drop_filter (GdkXEvent *xev, source_window, time)); display = GDK_WINDOW_DISPLAY (event->any.window); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); xdnd_precache_atoms (display); diff --git a/gdk/x11/gdkeventsource.c b/gdk/x11/gdkeventsource.c index 213486568c..892e68662a 100644 --- a/gdk/x11/gdkeventsource.c +++ b/gdk/x11/gdkeventsource.c @@ -272,7 +272,7 @@ _gdk_x11_display_queue_events (GdkDisplay *display) GdkEventSource *event_source; GdkX11Display *display_x11; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); event_source = (GdkEventSource *) display_x11->event_source; while (!_gdk_event_queue_find_first (display) && XPending (xdisplay)) @@ -353,7 +353,7 @@ gdk_x11_event_source_new (GdkDisplay *display) event_source = (GdkEventSource *) source; event_source->display = display; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); connection_number = ConnectionNumber (display_x11->xdisplay); event_source->event_poll_fd.fd = connection_number; diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index d55007dae5..8bbf123062 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -157,7 +157,7 @@ static void gdk_window_queue (GdkWindow *window, GdkWindowQueueItem *item) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (window)); if (!display_x11->translate_queue) display_x11->translate_queue = g_queue_new (); @@ -331,7 +331,7 @@ _gdk_x11_window_process_expose (GdkWindow *window, GdkRectangle *area) { cairo_region_t *invalidate_region = cairo_region_create_rectangle (area); - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_WINDOW_DISPLAY (window)); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (window)); if (display_x11->translate_queue) { diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index dbe88fde37..84b02d4f1c 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -99,7 +99,7 @@ struct _GdkKeymapX11 #endif }; -#define KEYMAP_USE_XKB(keymap) GDK_DISPLAY_X11 ((keymap)->display)->use_xkb +#define KEYMAP_USE_XKB(keymap) GDK_X11_DISPLAY ((keymap)->display)->use_xkb #define KEYMAP_XDISPLAY(keymap) GDK_DISPLAY_XDISPLAY ((keymap)->display) GType _gdk_keymap_x11_get_type (void); @@ -234,7 +234,7 @@ update_modmap (Display *display, static XkbDescPtr get_xkb (GdkKeymapX11 *keymap_x11) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; update_keyrange (keymap_x11); @@ -318,7 +318,7 @@ set_symbol (KeySym *syms, static void update_keymaps (GdkKeymapX11 *keymap_x11) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (GDK_KEYMAP (keymap_x11)->display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; #ifdef HAVE_XKB @@ -671,7 +671,7 @@ void _gdk_x11_keymap_state_changed (GdkDisplay *display, XEvent *xevent) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); XkbEvent *xkb_event = (XkbEvent *)xevent; if (display_x11->keymap) @@ -691,7 +691,7 @@ _gdk_x11_keymap_state_changed (GdkDisplay *display, void _gdk_x11_keymap_keys_changed (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); ++display_x11->keymap_serial; @@ -1595,7 +1595,7 @@ gint _gdk_x11_get_group_for_state (GdkDisplay *display, GdkModifierType state) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); #ifdef HAVE_XKB if (display_x11->use_xkb) diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index edc191e0f5..da2a3c13b0 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -302,7 +302,7 @@ extern const gint _gdk_x11_event_mask_table_size; #undef GDK_WINDOW_XID #undef GDK_SCREEN_XDISPLAY -#define GDK_DISPLAY_XDISPLAY(display) (GDK_DISPLAY_X11(display)->xdisplay) +#define GDK_DISPLAY_XDISPLAY(display) (GDK_X11_DISPLAY(display)->xdisplay) #define GDK_WINDOW_XDISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xdisplay) #define GDK_WINDOW_XID(win) (GDK_WINDOW_IMPL_X11(GDK_WINDOW (win)->impl)->xid) #define GDK_SCREEN_XDISPLAY(screen) (GDK_SCREEN_X11 (screen)->xdisplay) diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c index 6be1717815..e8ddecd992 100644 --- a/gdk/x11/gdkproperty-x11.c +++ b/gdk/x11/gdkproperty-x11.c @@ -174,7 +174,7 @@ insert_atom_pair (GdkDisplay *display, GdkAtom virtual_atom, Atom xatom) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->atom_from_virtual) { @@ -194,7 +194,7 @@ static Atom lookup_cached_xatom (GdkDisplay *display, GdkAtom atom) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (ATOM_TO_INDEX (atom) < G_N_ELEMENTS (xatoms_offset) - N_CUSTOM_PREDEFINED) return ATOM_TO_INDEX (atom); @@ -339,7 +339,7 @@ gdk_x11_xatom_to_atom_for_display (GdkDisplay *display, if (gdk_display_is_closed (display)) return GDK_NONE; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if (xatom < G_N_ELEMENTS (xatoms_offset) - N_CUSTOM_PREDEFINED) return INDEX_TO_ATOM (xatom); diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index 2a4bc8fcf6..b086ee9f8e 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -486,7 +486,7 @@ init_randr13 (GdkScreen *screen) { #ifdef HAVE_RANDR GdkDisplay *display = gdk_screen_get_display (screen); - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); Display *dpy = GDK_SCREEN_XDISPLAY (screen); XRRScreenResources *resources; @@ -790,7 +790,7 @@ _gdk_x11_screen_new (GdkDisplay *display, { GdkScreen *screen; GdkScreenX11 *screen_x11; - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); screen = g_object_new (GDK_TYPE_SCREEN_X11, NULL); @@ -897,7 +897,7 @@ _gdk_x11_screen_size_changed (GdkScreen *screen, height = gdk_screen_get_height (screen); #ifdef HAVE_RANDR - display_x11 = GDK_DISPLAY_X11 (gdk_screen_get_display (screen)); + display_x11 = GDK_X11_DISPLAY (gdk_screen_get_display (screen)); if (display_x11->have_randr13 && event->type == ConfigureNotify) { @@ -1300,7 +1300,7 @@ fetch_net_wm_check_window (GdkScreen *screen) screen_x11 = GDK_SCREEN_X11 (screen); display = screen_x11->display; - g_return_if_fail (GDK_DISPLAY_X11 (display)->trusted_client); + g_return_if_fail (GDK_X11_DISPLAY (display)->trusted_client); g_get_current_time (&tv); @@ -1392,7 +1392,7 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, screen_x11 = GDK_SCREEN_X11 (screen); display = screen_x11->display; - if (!G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return FALSE; supported_atoms = g_object_get_data (G_OBJECT (screen), "gdk-net-wm-supported-atoms"); @@ -1610,7 +1610,7 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) screen_x11 = GDK_SCREEN_X11 (screen); display = screen_x11->display; - if (!G_LIKELY (GDK_DISPLAY_X11 (display)->trusted_client)) + if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return screen_x11->window_manager_name; fetch_net_wm_check_window (screen); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 44551335b4..1fce606d83 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -504,7 +504,7 @@ set_wm_protocols (GdkWindow *window) protocols[n++] = gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_PING"); #ifdef HAVE_XSYNC - if (GDK_DISPLAY_X11 (display)->use_sync) + if (GDK_X11_DISPLAY (display)->use_sync) protocols[n++] = gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_SYNC_REQUEST"); #endif @@ -528,7 +528,7 @@ get_default_title (void) static void check_leader_window_title (GdkDisplay *display) { - GdkX11Display *display_x11 = GDK_DISPLAY_X11 (display); + GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); if (display_x11->leader_window && !display_x11->leader_window_title_set) { @@ -550,7 +550,7 @@ create_focus_window (GdkDisplay *display, Window focus_window; xdisplay = GDK_DISPLAY_XDISPLAY (display); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); focus_window = XCreateSimpleWindow (xdisplay, parent, -1, -1, 1, 1, 0, @@ -583,7 +583,7 @@ ensure_sync_counter (GdkWindow *window) if (toplevel && impl->use_synchronized_configure && toplevel->update_counter == None && - GDK_DISPLAY_X11 (display)->use_sync) + GDK_X11_DISPLAY (display)->use_sync) { Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); XSyncValue value; @@ -655,7 +655,7 @@ setup_toplevel_window (GdkWindow *window, PropModeReplace, (guchar *)&pid, 1); - leader_window = GDK_DISPLAY_X11 (screen_x11->display)->leader_window; + leader_window = GDK_X11_DISPLAY (screen_x11->display)->leader_window; if (!leader_window) leader_window = xid; XChangeProperty (xdisplay, xid, @@ -671,8 +671,8 @@ setup_toplevel_window (GdkWindow *window, if (!window->focus_on_map) gdk_x11_window_set_user_time (window, 0); - else if (GDK_DISPLAY_X11 (screen_x11->display)->user_time != 0) - gdk_x11_window_set_user_time (window, GDK_DISPLAY_X11 (screen_x11->display)->user_time); + else if (GDK_X11_DISPLAY (screen_x11->display)->user_time != 0) + gdk_x11_window_set_user_time (window, GDK_X11_DISPLAY (screen_x11->display)->user_time); ensure_sync_counter (window); } @@ -701,7 +701,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, unsigned int class; const char *title; - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); xparent = GDK_WINDOW_XID (real_parent); screen_x11 = GDK_SCREEN_X11 (screen); @@ -883,7 +883,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if ((win = gdk_x11_window_lookup_for_display (display, window)) != NULL) return g_object_ref (win); @@ -1127,7 +1127,7 @@ update_wm_hints (GdkWindow *window, wm_hints.window_group = GDK_WINDOW_XID (toplevel->group_leader); } else - wm_hints.window_group = GDK_DISPLAY_X11 (display)->leader_window; + wm_hints.window_group = GDK_X11_DISPLAY (display)->leader_window; if (toplevel->urgency_hint) wm_hints.flags |= XUrgencyHint; @@ -1275,7 +1275,7 @@ gdk_window_x11_show (GdkWindow *window, gboolean already_mapped) if (WINDOW_IS_TOPLEVEL (window)) { display = gdk_window_get_display (window); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); toplevel = _gdk_x11_window_get_toplevel (window); if (toplevel->user_time != 0 && @@ -2816,7 +2816,7 @@ gdk_window_x11_set_events (GdkWindow *window, if (GDK_WINDOW_XID (window) != GDK_WINDOW_XROOTWIN (window)) xevent_mask = StructureNotifyMask | PropertyChangeMask; - display_x11 = GDK_DISPLAY_X11 (gdk_window_get_display (window)); + display_x11 = GDK_X11_DISPLAY (gdk_window_get_display (window)); gdk_x11_event_source_select_events ((GdkEventSource *) display_x11->event_source, GDK_WINDOW_XID (window), event_mask, xevent_mask); @@ -3004,7 +3004,7 @@ gdk_x11_window_set_user_time (GdkWindow *window, return; display = gdk_window_get_display (window); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); toplevel = _gdk_x11_window_get_toplevel (window); if (!toplevel) @@ -4470,7 +4470,7 @@ gdk_x11_window_configure_finished (GdkWindow *window) GdkToplevelX11 *toplevel = _gdk_x11_window_get_toplevel (window); if (toplevel && toplevel->update_counter != None && - GDK_DISPLAY_X11 (display)->use_sync && + GDK_X11_DISPLAY (display)->use_sync && !XSyncValueIsZero (toplevel->current_counter_value)) { XSyncSetCounter (GDK_WINDOW_XDISPLAY (window), @@ -4491,7 +4491,7 @@ gdk_x11_window_beep (GdkWindow *window) display = GDK_WINDOW_DISPLAY (window); #ifdef HAVE_XKB - if (GDK_DISPLAY_X11 (display)->use_xkb) + if (GDK_X11_DISPLAY (display)->use_xkb) { XkbBell (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (window), diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h index 887e5e8266..111f303b7d 100644 --- a/gdk/x11/gdkx11display.h +++ b/gdk/x11/gdkx11display.h @@ -38,7 +38,7 @@ G_BEGIN_DECLS -#define GDK_IS_DISPLAY_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkX11Display"))) +#define GDK_IS_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkX11Display"))) Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); diff --git a/gdk/x11/gdkxid.c b/gdk/x11/gdkxid.c index 9f2f275c19..cb6639cb9e 100644 --- a/gdk/x11/gdkxid.c +++ b/gdk/x11/gdkxid.c @@ -53,7 +53,7 @@ _gdk_x11_display_add_window (GdkDisplay *display, g_return_if_fail (xid != NULL); g_return_if_fail (GDK_IS_DISPLAY (display)); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->xid_ht) display_x11->xid_ht = g_hash_table_new ((GHashFunc) gdk_xid_hash, @@ -73,7 +73,7 @@ _gdk_x11_display_remove_window (GdkDisplay *display, g_return_if_fail (GDK_IS_DISPLAY (display)); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if (display_x11->xid_ht) g_hash_table_remove (display_x11->xid_ht, &xid); @@ -100,7 +100,7 @@ gdk_x11_window_lookup_for_display (GdkDisplay *display, g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - display_x11 = GDK_DISPLAY_X11 (display); + display_x11 = GDK_X11_DISPLAY (display); if (display_x11->xid_ht) data = g_hash_table_lookup (display_x11->xid_ht, &window); diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 4c0e8258bb..9cf7ff4de5 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -518,7 +518,7 @@ gtk_plug_construct_for_display (GtkPlug *plug, gpointer user_data = NULL; #ifdef GDK_WINDOWING_X11 - if (GDK_IS_DISPLAY_X11 (display)) + if (GDK_IS_X11_DISPLAY (display)) priv->socket_window = gdk_x11_window_lookup_for_display (display, socket_id); else #endif @@ -543,7 +543,7 @@ gtk_plug_construct_for_display (GtkPlug *plug, } else #ifdef GDK_WINDOWING_X11 - if (GDK_IS_DISPLAY_X11 (display)) + if (GDK_IS_X11_DISPLAY (display)) priv->socket_window = gdk_x11_window_foreign_new_for_display (display, socket_id); #endif diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index eebd8d609f..5ee7b2541d 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -1320,7 +1320,7 @@ selection_set_compound_text (GtkSelectionData *selection_data, gboolean result = FALSE; #ifdef GDK_WINDOWING_X11 - if (GDK_IS_DISPLAY_X11 (selection_data->display)) + if (GDK_IS_X11_DISPLAY (selection_data->display)) { tmp = g_strndup (str, len); if (gdk_x11_display_utf8_to_compound_text (selection_data->display, tmp, @@ -2277,7 +2277,7 @@ _gtk_selection_request (GtkWidget *widget, /* Create GdkWindow structure for the requestor */ #ifdef GDK_WINDOWING_X11 - if (GDK_IS_DISPLAY_X11 (display)) + if (GDK_IS_X11_DISPLAY (display)) info->requestor = gdk_x11_window_foreign_new_for_display (display, event->requestor); else #endif diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index c362b64a2d..c3cf1911ce 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -875,7 +875,7 @@ _gtk_socket_add_window (GtkSocket *socket, GtkSocketPrivate *private = socket->priv; #ifdef GDK_WINDOWING_X11 - if (GDK_IS_DISPLAY_X11 (display)) + if (GDK_IS_X11_DISPLAY (display)) private->plug_window = gdk_x11_window_lookup_for_display (display, xid); else #endif @@ -912,7 +912,7 @@ _gtk_socket_add_window (GtkSocket *socket, if (!private->plug_window) { #ifdef GDK_WINDOWING_X11 - if (GDK_IS_DISPLAY_X11 (display)) + if (GDK_IS_X11_DISPLAY (display)) private->plug_window = gdk_x11_window_foreign_new_for_display (display, xid); #endif if (!private->plug_window) /* was deleted before we could get it */ From eba45292464da5334cef8d4e36e01bb70256b549 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 19:42:53 +0100 Subject: [PATCH 0732/1463] x11: Export GdkX11Display --- gdk/x11/gdkdisplay-x11.c | 10 +++++----- gdk/x11/gdkdisplay-x11.h | 9 --------- gdk/x11/gdkx11display.h | 12 +++++++++++- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 01c6aeb589..fdd1038228 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -160,13 +160,13 @@ static const char *const precache_atoms[] = { static char *gdk_sm_client_id; -G_DEFINE_TYPE_WITH_CODE (GdkX11Display, _gdk_x11_display, GDK_TYPE_DISPLAY, +G_DEFINE_TYPE_WITH_CODE (GdkX11Display, gdk_x11_display, GDK_TYPE_DISPLAY, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, gdk_x11_display_event_translator_init)) static void -_gdk_x11_display_init (GdkX11Display *display) +gdk_x11_display_init (GdkX11Display *display) { _gdk_x11_display_manager_add_display (gdk_display_manager_get (), GDK_DISPLAY (display)); @@ -1737,7 +1737,7 @@ gdk_x11_display_dispose (GObject *object) display_x11->event_source = NULL; } - G_OBJECT_CLASS (_gdk_x11_display_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_x11_display_parent_class)->dispose (object); } static void @@ -1810,7 +1810,7 @@ gdk_x11_display_finalize (GObject *object) g_slice_free (GdkErrorTrap, trap); } - G_OBJECT_CLASS (_gdk_x11_display_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_x11_display_parent_class)->finalize (object); } /** @@ -2714,7 +2714,7 @@ gdk_x11_display_get_keymap (GdkDisplay *display) } static void -_gdk_x11_display_class_init (GdkX11DisplayClass * class) +gdk_x11_display_class_init (GdkX11DisplayClass * class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index 0075fd1b76..e19c57f3f9 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -35,14 +35,6 @@ G_BEGIN_DECLS -typedef struct _GdkX11Display GdkX11Display; -typedef struct _GdkX11DisplayClass GdkX11DisplayClass; - -#define GDK_TYPE_X11_DISPLAY (_gdk_x11_display_get_type()) -#define GDK_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DISPLAY, GdkX11Display)) -#define GDK_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) -#define GDK_IS_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DISPLAY)) -#define GDK_X11_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) struct _GdkX11Display { @@ -148,7 +140,6 @@ struct _GdkX11DisplayClass GdkDisplayClass parent_class; }; -GType _gdk_x11_display_get_type (void); GdkScreen *_gdk_x11_display_screen_for_xrootwin (GdkDisplay *display, Window xrootwin); void _gdk_x11_display_error_event (GdkDisplay *display, diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h index 111f303b7d..70e8a140d5 100644 --- a/gdk/x11/gdkx11display.h +++ b/gdk/x11/gdkx11display.h @@ -38,7 +38,17 @@ G_BEGIN_DECLS -#define GDK_IS_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), g_type_from_name ("GdkX11Display"))) +typedef struct _GdkX11Display GdkX11Display; +typedef struct _GdkX11DisplayClass GdkX11DisplayClass; + +#define GDK_TYPE_X11_DISPLAY (gdk_x11_display_get_type()) +#define GDK_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DISPLAY, GdkX11Display)) +#define GDK_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) +#define GDK_IS_X11_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DISPLAY)) +#define GDK_IS_X11_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DISPLAY)) +#define GDK_X11_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DISPLAY, GdkX11DisplayClass)) + +GType gdk_x11_display_get_type (void); Display *gdk_x11_display_get_xdisplay (GdkDisplay *display); From 4848bf2719a2159ee2fc8ba309b649115efb7f17 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 20 Dec 2010 23:43:04 +0100 Subject: [PATCH 0733/1463] x11: typedef GdkX11Display to GdkDisplay This is for compatibility reasons. We want to change APIs that operate on X11 objects to take the X11 objects as arguments. However, this would break a lot of APIs and we'd like to avoid this, so we play this little trick (we will use the same trick for the other X11 objects). Also, gobject-introspection and other bindings can correctly attach the functions to the correct types as it is the same scheme that GDK2 used for pixmaps, windows and drawables. For GTK 4, we will remove this trick, so apps should properly cast their objects right now. Unfortunately, I don't think there is a way to use GDK_DISABLE_DEPRECATED or similar macros to check for proper type casts while compiling ensure compatibility with future GDK versions. I'm free to consider them though. --- gdk/x11/gdkx11display.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gdk/x11/gdkx11display.h b/gdk/x11/gdkx11display.h index 70e8a140d5..b544ac47bc 100644 --- a/gdk/x11/gdkx11display.h +++ b/gdk/x11/gdkx11display.h @@ -38,7 +38,11 @@ G_BEGIN_DECLS +#ifdef GDK_COMPILATION typedef struct _GdkX11Display GdkX11Display; +#else +typedef GdkDisplay GdkX11Display; +#endif typedef struct _GdkX11DisplayClass GdkX11DisplayClass; #define GDK_TYPE_X11_DISPLAY (gdk_x11_display_get_type()) From 21d8160c57fc464e123a2ba08ef049a33d2eade9 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 02:05:12 +0100 Subject: [PATCH 0734/1463] x11: Export GdkX11Cursor --- gdk/x11/gdkcursor-x11.c | 10 ---------- gdk/x11/gdkx11cursor.h | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index d9ec9329ea..013db3cba3 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -46,16 +46,6 @@ #include #include -#define GDK_TYPE_X11_CURSOR (gdk_x11_cursor_get_type ()) -#define GDK_X11_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_CURSOR, GdkX11Cursor)) -#define GDK_X11_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_CURSOR, GdkX11CursorClass)) -#define GDK_IS_X11_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_CURSOR)) -#define GDK_IS_X11_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_CURSOR)) -#define GDK_X11_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_CURSOR, GdkX11CursorClass)) - -typedef struct _GdkX11Cursor GdkX11Cursor; -typedef struct _GdkX11CursorClass GdkX11CursorClass; - struct _GdkX11Cursor { GdkCursor cursor; diff --git a/gdk/x11/gdkx11cursor.h b/gdk/x11/gdkx11cursor.h index e0169baada..a4647c9096 100644 --- a/gdk/x11/gdkx11cursor.h +++ b/gdk/x11/gdkx11cursor.h @@ -38,6 +38,22 @@ G_BEGIN_DECLS +#define GDK_TYPE_X11_CURSOR (gdk_x11_cursor_get_type ()) +#define GDK_X11_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_CURSOR, GdkX11Cursor)) +#define GDK_X11_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_CURSOR, GdkX11CursorClass)) +#define GDK_IS_X11_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_CURSOR)) +#define GDK_IS_X11_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_CURSOR)) +#define GDK_X11_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_CURSOR, GdkX11CursorClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkX11Cursor GdkX11Cursor; +#else +typedef GdkCursor GdkX11Cursor; +#endif +typedef struct _GdkX11CursorClass GdkX11CursorClass; + +GType gdk_x11_cursor_get_type (void); + Display *gdk_x11_cursor_get_xdisplay (GdkCursor *cursor); Cursor gdk_x11_cursor_get_xcursor (GdkCursor *cursor); From 86e0a9aef7be33f9896234cd54fe6bc329467a3a Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 02:09:30 +0100 Subject: [PATCH 0735/1463] x11: Have a proper GdkVisualX11Class struct --- gdk/x11/gdkvisual-x11.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 724ec73155..b324d3cd4d 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -34,7 +34,7 @@ #include typedef struct _GdkVisualX11 GdkVisualX11; -typedef struct _GdkVisualClass GdkVisualX11Class; +typedef struct _GdkVisualX11Class GdkVisualX11Class; #define GDK_TYPE_VISUAL_X11 (gdk_visual_x11_get_type ()) #define GDK_VISUAL_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_VISUAL_X11, GdkVisualX11)) @@ -47,6 +47,11 @@ struct _GdkVisualX11 Colormap colormap; }; +struct _GdkVisualX11Class +{ + GdkVisualClass visual_class; +}; + static void gdk_visual_add (GdkVisual *visual); static void gdk_visual_decompose_mask (gulong mask, gint *shift, From d185987ebd8c027e54913a518c382ddf8d2c88c0 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 02:13:40 +0100 Subject: [PATCH 0736/1463] x11: Rename GdkVisualX11 to GdkX11Visual --- gdk/x11/gdkvisual-x11.c | 58 ++++++++++++++++++++--------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index b324d3cd4d..15a2d2c6ce 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -33,13 +33,13 @@ #include #include -typedef struct _GdkVisualX11 GdkVisualX11; -typedef struct _GdkVisualX11Class GdkVisualX11Class; +typedef struct _GdkX11Visual GdkX11Visual; +typedef struct _GdkX11VisualClass GdkX11VisualClass; -#define GDK_TYPE_VISUAL_X11 (gdk_visual_x11_get_type ()) -#define GDK_VISUAL_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_VISUAL_X11, GdkVisualX11)) +#define GDK_TYPE_X11_VISUAL (gdk_x11_visual_get_type ()) +#define GDK_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_VISUAL, GdkX11Visual)) -struct _GdkVisualX11 +struct _GdkX11Visual { GdkVisual visual; @@ -47,7 +47,7 @@ struct _GdkVisualX11 Colormap colormap; }; -struct _GdkVisualX11Class +struct _GdkX11VisualClass { GdkVisualClass visual_class; }; @@ -75,32 +75,32 @@ static const gchar *const visual_names[] = #endif /* G_ENABLE_DEBUG */ -G_DEFINE_TYPE (GdkVisualX11, gdk_visual_x11, GDK_TYPE_VISUAL) +G_DEFINE_TYPE (GdkX11Visual, gdk_x11_visual, GDK_TYPE_VISUAL) static void -gdk_visual_x11_init (GdkVisualX11 *visual_x11) +gdk_x11_visual_init (GdkX11Visual *x11_visual) { - visual_x11->colormap = None; + x11_visual->colormap = None; } static void -gdk_visual_x11_finalize (GObject *object) +gdk_x11_visual_finalize (GObject *object) { GdkVisual *visual = (GdkVisual *)object; - GdkVisualX11 *visual_x11 = (GdkVisualX11 *)object; + GdkX11Visual *x11_visual = (GdkX11Visual *)object; - if (visual_x11->colormap != None) - XFreeColormap (GDK_SCREEN_XDISPLAY (visual->screen), visual_x11->colormap); + if (x11_visual->colormap != None) + XFreeColormap (GDK_SCREEN_XDISPLAY (visual->screen), x11_visual->colormap); - G_OBJECT_CLASS (gdk_visual_x11_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_x11_visual_parent_class)->finalize (object); } static void -gdk_visual_x11_class_init (GdkVisualX11Class *class) +gdk_x11_visual_class_init (GdkX11VisualClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); - object_class->finalize = gdk_visual_x11_finalize; + object_class->finalize = gdk_x11_visual_finalize; } void @@ -136,7 +136,7 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) visuals = g_new (GdkVisual *, nxvisuals); for (i = 0; i < nxvisuals; i++) - visuals[i] = g_object_new (GDK_TYPE_VISUAL_X11, NULL); + visuals[i] = g_object_new (GDK_TYPE_X11_VISUAL, NULL); default_xvisual = DefaultVisual (screen_x11->xdisplay, screen_x11->screen_num); @@ -182,7 +182,7 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) visuals[nvisuals]->blue_mask = visual_list[i].blue_mask; visuals[nvisuals]->colormap_size = visual_list[i].colormap_size; visuals[nvisuals]->bits_per_rgb = visual_list[i].bits_per_rgb; - GDK_VISUAL_X11 (visuals[nvisuals])->xvisual = visual_list[i].visual; + GDK_X11_VISUAL (visuals[nvisuals])->xvisual = visual_list[i].visual; if ((visuals[nvisuals]->type == GDK_VISUAL_TRUE_COLOR) || (visuals[nvisuals]->type == GDK_VISUAL_DIRECT_COLOR)) @@ -257,10 +257,10 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) for (i = 0; i < nvisuals; i++) { - if (default_xvisual->visualid == GDK_VISUAL_X11 (visuals[i])->xvisual->visualid) + if (default_xvisual->visualid == GDK_X11_VISUAL (visuals[i])->xvisual->visualid) { screen_x11->system_visual = visuals[i]; - GDK_VISUAL_X11 (visuals[i])->colormap = + GDK_X11_VISUAL (visuals[i])->colormap = DefaultColormap (screen_x11->xdisplay, screen_x11->screen_num); } @@ -483,7 +483,7 @@ gdk_x11_screen_lookup_visual (GdkScreen *screen, screen_x11 = GDK_SCREEN_X11 (screen); for (i = 0; i < screen_x11->nvisuals; i++) - if (xvisualid == GDK_VISUAL_X11 (screen_x11->visuals[i])->xvisual->visualid) + if (xvisualid == GDK_X11_VISUAL (screen_x11->visuals[i])->xvisual->visualid) return screen_x11->visuals[i]; return NULL; @@ -498,7 +498,7 @@ gdk_visual_add (GdkVisual *visual) screen_x11->visual_hash = g_hash_table_new ((GHashFunc) gdk_visual_hash, (GEqualFunc) gdk_visual_equal); - g_hash_table_insert (screen_x11->visual_hash, GDK_VISUAL_X11 (visual)->xvisual, visual); + g_hash_table_insert (screen_x11->visual_hash, GDK_X11_VISUAL (visual)->xvisual, visual); } static void @@ -552,21 +552,21 @@ gdk_visual_equal (Visual *a, Colormap _gdk_visual_get_x11_colormap (GdkVisual *visual) { - GdkVisualX11 *visual_x11; + GdkX11Visual *x11_visual; g_return_val_if_fail (GDK_IS_VISUAL (visual), None); - visual_x11 = GDK_VISUAL_X11 (visual); + x11_visual = GDK_X11_VISUAL (visual); - if (visual_x11->colormap == None) + if (x11_visual->colormap == None) { - visual_x11->colormap = XCreateColormap (GDK_SCREEN_XDISPLAY (visual->screen), + x11_visual->colormap = XCreateColormap (GDK_SCREEN_XDISPLAY (visual->screen), GDK_SCREEN_XROOTWIN (visual->screen), - visual_x11->xvisual, + x11_visual->xvisual, AllocNone); } - return visual_x11->colormap; + return x11_visual->colormap; } /** @@ -582,5 +582,5 @@ gdk_x11_visual_get_xvisual (GdkVisual *visual) { g_return_val_if_fail (GDK_IS_VISUAL (visual), NULL); - return GDK_VISUAL_X11 (visual)->xvisual; + return GDK_X11_VISUAL (visual)->xvisual; } From b154d3abf6421c7d0b1b6300711e05c108436b76 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 02:17:04 +0100 Subject: [PATCH 0737/1463] x11: Export GdkX11Visual --- gdk/x11/gdkvisual-x11.c | 6 ------ gdk/x11/gdkx11visual.h | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index 15a2d2c6ce..ba3b4cc3f5 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -33,12 +33,6 @@ #include #include -typedef struct _GdkX11Visual GdkX11Visual; -typedef struct _GdkX11VisualClass GdkX11VisualClass; - -#define GDK_TYPE_X11_VISUAL (gdk_x11_visual_get_type ()) -#define GDK_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_VISUAL, GdkX11Visual)) - struct _GdkX11Visual { GdkVisual visual; diff --git a/gdk/x11/gdkx11visual.h b/gdk/x11/gdkx11visual.h index db328a7fdb..b356df56c6 100644 --- a/gdk/x11/gdkx11visual.h +++ b/gdk/x11/gdkx11visual.h @@ -38,6 +38,22 @@ G_BEGIN_DECLS +#define GDK_TYPE_X11_VISUAL (gdk_x11_visual_get_type ()) +#define GDK_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_VISUAL, GdkX11Visual)) +#define GDK_X11_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_VISUAL, GdkX11VisualClass)) +#define GDK_IS_X11_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_VISUAL)) +#define GDK_IS_X11_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_VISUAL)) +#define GDK_X11_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_VISUAL, GdkX11VisualClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkX11Visual GdkX11Visual; +#else +typedef GdkVisual GdkX11Visual; +#endif +typedef struct _GdkX11VisualClass GdkX11VisualClass; + +GType gdk_x11_visual_get_type (void); + Visual * gdk_x11_visual_get_xvisual (GdkVisual *visual); #define GDK_VISUAL_XVISUAL(visual) (gdk_x11_visual_get_xvisual (visual)) From a8b69df376c236b70afc4f77a0e6dab04867d90f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 02:32:13 +0100 Subject: [PATCH 0738/1463] x11: Rename GdkScreenX11 to GdkX11Screen --- gdk/x11/gdkdisplay-x11.c | 24 +- gdk/x11/gdkdnd-x11.c | 2 +- gdk/x11/gdkgeometry-x11.c | 4 +- gdk/x11/gdkprivate-x11.h | 32 +-- gdk/x11/gdkscreen-x11.c | 514 ++++++++++++++++++------------------- gdk/x11/gdkscreen-x11.h | 30 +-- gdk/x11/gdktestutils-x11.c | 4 +- gdk/x11/gdkvisual-x11.c | 128 ++++----- gdk/x11/gdkwindow-x11.c | 56 ++-- gdk/x11/gdkxftdefaults.c | 40 +-- 10 files changed, 417 insertions(+), 417 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index fdd1038228..cf0752a27d 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -381,7 +381,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, GdkWindow *window; GdkWindowImplX11 *window_impl = NULL; GdkScreen *screen = NULL; - GdkScreenX11 *screen_x11 = NULL; + GdkX11Screen *x11_screen = NULL; GdkToplevelX11 *toplevel = NULL; GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); gboolean return_val; @@ -402,7 +402,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, return FALSE; screen = GDK_WINDOW_SCREEN (window); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); toplevel = _gdk_x11_window_get_toplevel (window); window_impl = GDK_WINDOW_IMPL_X11 (window->impl); xwindow = GDK_WINDOW_XID (window); @@ -430,14 +430,14 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, for (i = 0; i < n; i++) { screen = gdk_display_get_screen (display, i); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - if (screen_x11->wmspec_check_window == xwindow) + if (x11_screen->wmspec_check_window == xwindow) { - screen_x11->wmspec_check_window = None; - screen_x11->last_wmspec_check_time = 0; - g_free (screen_x11->window_manager_name); - screen_x11->window_manager_name = g_strdup ("unknown"); + x11_screen->wmspec_check_window = None; + x11_screen->last_wmspec_check_time = 0; + g_free (x11_screen->window_manager_name); + x11_screen->window_manager_name = g_strdup ("unknown"); /* careful, reentrancy */ _gdk_x11_screen_window_manager_changed (screen); @@ -592,7 +592,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, return_val = window && !GDK_WINDOW_DESTROYED (window); - if (window && GDK_WINDOW_XID (window) != screen_x11->xroot_window) + if (window && GDK_WINDOW_XID (window) != x11_screen->xroot_window) gdk_window_destroy_notify (window); } else @@ -713,7 +713,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator, gdk_x11_display_error_trap_push (display); if (XTranslateCoordinates (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), - screen_x11->xroot_window, + x11_screen->xroot_window, 0, 0, &tx, &ty, &child_window)) @@ -1273,7 +1273,7 @@ _gdk_x11_display_open (const gchar *display_name) attr.height = 10; attr.event_mask = 0; - display_x11->leader_gdk_window = gdk_window_new (GDK_SCREEN_X11 (display_x11->default_screen)->root_window, + display_x11->leader_gdk_window = gdk_window_new (GDK_X11_SCREEN (display_x11->default_screen)->root_window, &attr, GDK_WA_X | GDK_WA_Y); (_gdk_x11_window_get_toplevel (display_x11->leader_gdk_window))->is_leader = TRUE; @@ -1349,7 +1349,7 @@ _gdk_x11_display_open (const gchar *display_name) gdk_x11_display_error_trap_push (display); XQueryPointer (display_x11->xdisplay, - GDK_SCREEN_X11 (display_x11->default_screen)->xroot_window, + GDK_X11_SCREEN (display_x11->default_screen)->xroot_window, &root, &child, &rootx, &rooty, &winx, &winy, &xmask); if (G_UNLIKELY (gdk_x11_display_error_trap_pop (display) == BadWindow)) { diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 168c82c801..d8e6eff39d 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -505,7 +505,7 @@ gdk_window_cache_new (GdkScreen *screen) XGetWindowAttributes (xdisplay, GDK_WINDOW_XID (root_window), &xwa); result->old_event_mask = xwa.your_event_mask; - if (G_UNLIKELY (!GDK_X11_DISPLAY (GDK_SCREEN_X11 (screen)->display)->trusted_client)) + if (G_UNLIKELY (!GDK_X11_DISPLAY (GDK_X11_SCREEN (screen)->display)->trusted_client)) { GList *toplevel_windows, *list; GdkWindow *window; diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index 8bbf123062..6745e3d969 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -224,12 +224,12 @@ gdk_window_queue (GdkWindow *window, static GC _get_scratch_gc (GdkWindow *window, cairo_region_t *clip_region) { - GdkScreenX11 *screen; + GdkX11Screen *screen; XRectangle *rectangles; gint n_rects; gint depth; - screen = GDK_SCREEN_X11 (gdk_window_get_screen (window)); + screen = GDK_X11_SCREEN (gdk_window_get_screen (window)); depth = gdk_visual_get_depth (gdk_window_get_visual (window)) - 1; if (!screen->subwindow_gcs[depth]) diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index da2a3c13b0..08d9cd8a56 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -45,24 +45,24 @@ void _gdk_x11_error_handler_pop (void); Colormap _gdk_visual_get_x11_colormap (GdkVisual *visual); -gint _gdk_screen_x11_visual_get_best_depth (GdkScreen *screen); -GdkVisualType _gdk_screen_x11_visual_get_best_type (GdkScreen *screen); -GdkVisual * _gdk_screen_x11_get_system_visual (GdkScreen *screen); -GdkVisual* _gdk_screen_x11_visual_get_best (GdkScreen *screen); -GdkVisual* _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, +gint _gdk_x11_screen_visual_get_best_depth (GdkScreen *screen); +GdkVisualType _gdk_x11_screen_visual_get_best_type (GdkScreen *screen); +GdkVisual * _gdk_x11_screen_get_system_visual (GdkScreen *screen); +GdkVisual* _gdk_x11_screen_visual_get_best (GdkScreen *screen); +GdkVisual* _gdk_x11_screen_visual_get_best_with_depth (GdkScreen *screen, gint depth); -GdkVisual* _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, +GdkVisual* _gdk_x11_screen_visual_get_best_with_type (GdkScreen *screen, GdkVisualType visual_type); -GdkVisual* _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, +GdkVisual* _gdk_x11_screen_visual_get_best_with_both (GdkScreen *screen, gint depth, GdkVisualType visual_type); -void _gdk_screen_x11_query_depths (GdkScreen *screen, +void _gdk_x11_screen_query_depths (GdkScreen *screen, gint **depths, gint *count); -void _gdk_screen_x11_query_visual_types (GdkScreen *screen, +void _gdk_x11_screen_query_visual_types (GdkScreen *screen, GdkVisualType **visual_types, gint *count); -GList * _gdk_screen_x11_list_visuals (GdkScreen *screen); +GList * _gdk_x11_screen_list_visuals (GdkScreen *screen); @@ -288,11 +288,11 @@ cairo_surface_t * _gdk_x11_window_create_bitmap_surface (GdkWindow *window, extern const gint _gdk_x11_event_mask_table[]; extern const gint _gdk_x11_event_mask_table_size; -#define GDK_SCREEN_DISPLAY(screen) (GDK_SCREEN_X11 (screen)->display) -#define GDK_SCREEN_XROOTWIN(screen) (GDK_SCREEN_X11 (screen)->xroot_window) +#define GDK_SCREEN_DISPLAY(screen) (GDK_X11_SCREEN (screen)->display) +#define GDK_SCREEN_XROOTWIN(screen) (GDK_X11_SCREEN (screen)->xroot_window) #define GDK_WINDOW_SCREEN(win) (gdk_window_get_screen (win)) -#define GDK_WINDOW_DISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->display) -#define GDK_WINDOW_XROOTWIN(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xroot_window) +#define GDK_WINDOW_DISPLAY(win) (GDK_X11_SCREEN (GDK_WINDOW_SCREEN (win))->display) +#define GDK_WINDOW_XROOTWIN(win) (GDK_X11_SCREEN (GDK_WINDOW_SCREEN (win))->xroot_window) #define GDK_GC_DISPLAY(gc) (GDK_SCREEN_DISPLAY (GDK_GC_X11(gc)->screen)) #define GDK_WINDOW_IS_X11(win) (GDK_IS_WINDOW_IMPL_X11 ((win)->impl)) @@ -303,8 +303,8 @@ extern const gint _gdk_x11_event_mask_table_size; #undef GDK_SCREEN_XDISPLAY #define GDK_DISPLAY_XDISPLAY(display) (GDK_X11_DISPLAY(display)->xdisplay) -#define GDK_WINDOW_XDISPLAY(win) (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (win))->xdisplay) +#define GDK_WINDOW_XDISPLAY(win) (GDK_X11_SCREEN (GDK_WINDOW_SCREEN (win))->xdisplay) #define GDK_WINDOW_XID(win) (GDK_WINDOW_IMPL_X11(GDK_WINDOW (win)->impl)->xid) -#define GDK_SCREEN_XDISPLAY(screen) (GDK_SCREEN_X11 (screen)->xdisplay) +#define GDK_SCREEN_XDISPLAY(screen) (GDK_X11_SCREEN (screen)->xdisplay) #endif /* __GDK_PRIVATE_X11_H__ */ diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index b086ee9f8e..c6f54ca4a8 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -51,8 +51,8 @@ #include "gdksettings.c" -static void gdk_screen_x11_dispose (GObject *object); -static void gdk_screen_x11_finalize (GObject *object); +static void gdk_x11_screen_dispose (GObject *object); +static void gdk_x11_screen_finalize (GObject *object); static void init_randr_support (GdkScreen *screen); static void deinit_multihead (GdkScreen *screen); @@ -64,7 +64,7 @@ enum static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (GdkScreenX11, _gdk_screen_x11, GDK_TYPE_SCREEN) +G_DEFINE_TYPE (GdkX11Screen, _gdk_x11_screen, GDK_TYPE_SCREEN) typedef struct _NetWmSupportedAtoms NetWmSupportedAtoms; @@ -86,182 +86,182 @@ struct _GdkX11Monitor static void -_gdk_screen_x11_init (GdkScreenX11 *screen) +_gdk_x11_screen_init (GdkX11Screen *screen) { } static GdkDisplay * -gdk_screen_x11_get_display (GdkScreen *screen) +gdk_x11_screen_get_display (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return GDK_SCREEN_X11 (screen)->display; + return GDK_X11_SCREEN (screen)->display; } static gint -gdk_screen_x11_get_width (GdkScreen *screen) +gdk_x11_screen_get_width (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return WidthOfScreen (GDK_SCREEN_X11 (screen)->xscreen); + return WidthOfScreen (GDK_X11_SCREEN (screen)->xscreen); } static gint -gdk_screen_x11_get_height (GdkScreen *screen) +gdk_x11_screen_get_height (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return HeightOfScreen (GDK_SCREEN_X11 (screen)->xscreen); + return HeightOfScreen (GDK_X11_SCREEN (screen)->xscreen); } static gint -gdk_screen_x11_get_width_mm (GdkScreen *screen) +gdk_x11_screen_get_width_mm (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return WidthMMOfScreen (GDK_SCREEN_X11 (screen)->xscreen); + return WidthMMOfScreen (GDK_X11_SCREEN (screen)->xscreen); } static gint -gdk_screen_x11_get_height_mm (GdkScreen *screen) +gdk_x11_screen_get_height_mm (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return HeightMMOfScreen (GDK_SCREEN_X11 (screen)->xscreen); + return HeightMMOfScreen (GDK_X11_SCREEN (screen)->xscreen); } static gint -gdk_screen_x11_get_number (GdkScreen *screen) +gdk_x11_screen_get_number (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return GDK_SCREEN_X11 (screen)->screen_num; + return GDK_X11_SCREEN (screen)->screen_num; } static GdkWindow * -gdk_screen_x11_get_root_window (GdkScreen *screen) +gdk_x11_screen_get_root_window (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return GDK_SCREEN_X11 (screen)->root_window; + return GDK_X11_SCREEN (screen)->root_window; } static void -_gdk_screen_x11_events_uninit (GdkScreen *screen) +_gdk_x11_screen_events_uninit (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - if (screen_x11->xsettings_client) + if (x11_screen->xsettings_client) { - xsettings_client_destroy (screen_x11->xsettings_client); - screen_x11->xsettings_client = NULL; + xsettings_client_destroy (x11_screen->xsettings_client); + x11_screen->xsettings_client = NULL; } } static void -gdk_screen_x11_dispose (GObject *object) +gdk_x11_screen_dispose (GObject *object) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (object); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (object); int i; for (i = 0; i < 32; ++i) { - if (screen_x11->subwindow_gcs[i]) + if (x11_screen->subwindow_gcs[i]) { - XFreeGC (screen_x11->xdisplay, screen_x11->subwindow_gcs[i]); - screen_x11->subwindow_gcs[i] = 0; + XFreeGC (x11_screen->xdisplay, x11_screen->subwindow_gcs[i]); + x11_screen->subwindow_gcs[i] = 0; } } - _gdk_screen_x11_events_uninit (GDK_SCREEN (object)); + _gdk_x11_screen_events_uninit (GDK_SCREEN (object)); - if (screen_x11->root_window) - _gdk_window_destroy (screen_x11->root_window, TRUE); + if (x11_screen->root_window) + _gdk_window_destroy (x11_screen->root_window, TRUE); - G_OBJECT_CLASS (_gdk_screen_x11_parent_class)->dispose (object); + G_OBJECT_CLASS (_gdk_x11_screen_parent_class)->dispose (object); - screen_x11->xdisplay = NULL; - screen_x11->xscreen = NULL; - screen_x11->screen_num = -1; - screen_x11->xroot_window = None; - screen_x11->wmspec_check_window = None; + x11_screen->xdisplay = NULL; + x11_screen->xscreen = NULL; + x11_screen->screen_num = -1; + x11_screen->xroot_window = None; + x11_screen->wmspec_check_window = None; } static void -gdk_screen_x11_finalize (GObject *object) +gdk_x11_screen_finalize (GObject *object) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (object); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (object); gint i; - if (screen_x11->root_window) - g_object_unref (screen_x11->root_window); + if (x11_screen->root_window) + g_object_unref (x11_screen->root_window); /* Visual Part */ - for (i = 0; i < screen_x11->nvisuals; i++) - g_object_unref (screen_x11->visuals[i]); - g_free (screen_x11->visuals); - g_hash_table_destroy (screen_x11->visual_hash); + for (i = 0; i < x11_screen->nvisuals; i++) + g_object_unref (x11_screen->visuals[i]); + g_free (x11_screen->visuals); + g_hash_table_destroy (x11_screen->visual_hash); - g_free (screen_x11->window_manager_name); + g_free (x11_screen->window_manager_name); deinit_multihead (GDK_SCREEN (object)); - G_OBJECT_CLASS (_gdk_screen_x11_parent_class)->finalize (object); + G_OBJECT_CLASS (_gdk_x11_screen_parent_class)->finalize (object); } static gint -gdk_screen_x11_get_n_monitors (GdkScreen *screen) +gdk_x11_screen_get_n_monitors (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return GDK_SCREEN_X11 (screen)->n_monitors; + return GDK_X11_SCREEN (screen)->n_monitors; } static gint -gdk_screen_x11_get_primary_monitor (GdkScreen *screen) +gdk_x11_screen_get_primary_monitor (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return GDK_SCREEN_X11 (screen)->primary_monitor; + return GDK_X11_SCREEN (screen)->primary_monitor; } static gint -gdk_screen_x11_get_monitor_width_mm (GdkScreen *screen, +gdk_x11_screen_get_monitor_width_mm (GdkScreen *screen, gint monitor_num) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); g_return_val_if_fail (GDK_IS_SCREEN (screen), -1); g_return_val_if_fail (monitor_num >= 0, -1); - g_return_val_if_fail (monitor_num < screen_x11->n_monitors, -1); + g_return_val_if_fail (monitor_num < x11_screen->n_monitors, -1); - return screen_x11->monitors[monitor_num].width_mm; + return x11_screen->monitors[monitor_num].width_mm; } static gint -gdk_screen_x11_get_monitor_height_mm (GdkScreen *screen, +gdk_x11_screen_get_monitor_height_mm (GdkScreen *screen, gint monitor_num) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); g_return_val_if_fail (GDK_IS_SCREEN (screen), -1); g_return_val_if_fail (monitor_num >= 0, -1); - g_return_val_if_fail (monitor_num < screen_x11->n_monitors, -1); + g_return_val_if_fail (monitor_num < x11_screen->n_monitors, -1); - return screen_x11->monitors[monitor_num].height_mm; + return x11_screen->monitors[monitor_num].height_mm; } static gchar * -gdk_screen_x11_get_monitor_plug_name (GdkScreen *screen, +gdk_x11_screen_get_monitor_plug_name (GdkScreen *screen, gint monitor_num) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); g_return_val_if_fail (monitor_num >= 0, NULL); - g_return_val_if_fail (monitor_num < screen_x11->n_monitors, NULL); + g_return_val_if_fail (monitor_num < x11_screen->n_monitors, NULL); - return g_strdup (screen_x11->monitors[monitor_num].output_name); + return g_strdup (x11_screen->monitors[monitor_num].output_name); } /** @@ -281,40 +281,40 @@ XID gdk_x11_screen_get_monitor_output (GdkScreen *screen, gint monitor_num) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); g_return_val_if_fail (GDK_IS_SCREEN (screen), None); g_return_val_if_fail (monitor_num >= 0, None); - g_return_val_if_fail (monitor_num < screen_x11->n_monitors, None); + g_return_val_if_fail (monitor_num < x11_screen->n_monitors, None); - return screen_x11->monitors[monitor_num].output; + return x11_screen->monitors[monitor_num].output; } static void -gdk_screen_x11_get_monitor_geometry (GdkScreen *screen, +gdk_x11_screen_get_monitor_geometry (GdkScreen *screen, gint monitor_num, GdkRectangle *dest) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); g_return_if_fail (GDK_IS_SCREEN (screen)); g_return_if_fail (monitor_num >= 0); - g_return_if_fail (monitor_num < screen_x11->n_monitors); + g_return_if_fail (monitor_num < x11_screen->n_monitors); if (dest) - *dest = screen_x11->monitors[monitor_num].geometry; + *dest = x11_screen->monitors[monitor_num].geometry; } static GdkVisual * -gdk_screen_x11_get_rgba_visual (GdkScreen *screen) +gdk_x11_screen_get_rgba_visual (GdkScreen *screen) { - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - return screen_x11->rgba_visual; + return x11_screen->rgba_visual; } /** @@ -329,7 +329,7 @@ gdk_screen_x11_get_rgba_visual (GdkScreen *screen) Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen) { - return GDK_SCREEN_X11 (screen)->xscreen; + return GDK_X11_SCREEN (screen)->xscreen; } /** @@ -345,14 +345,14 @@ gdk_x11_screen_get_xscreen (GdkScreen *screen) int gdk_x11_screen_get_screen_number (GdkScreen *screen) { - return GDK_SCREEN_X11 (screen)->screen_num; + return GDK_X11_SCREEN (screen)->screen_num; } static gboolean check_is_composited (GdkDisplay *display, - GdkScreenX11 *screen_x11) + GdkX11Screen *x11_screen) { - Atom xselection = gdk_x11_atom_to_xatom_for_display (display, screen_x11->cm_selection_atom); + Atom xselection = gdk_x11_atom_to_xatom_for_display (display, x11_screen->cm_selection_atom); Window xwindow; xwindow = XGetSelectionOwner (GDK_DISPLAY_XDISPLAY (display), xselection); @@ -389,7 +389,7 @@ static gboolean init_fake_xinerama (GdkScreen *screen) { #ifdef G_ENABLE_DEBUG - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); XSetWindowAttributes atts; Window win; gint w, h; @@ -400,36 +400,36 @@ init_fake_xinerama (GdkScreen *screen) /* Fake Xinerama mode by splitting the screen into 4 monitors. * Also draw a little cross to make the monitor boundaries visible. */ - w = WidthOfScreen (screen_x11->xscreen); - h = HeightOfScreen (screen_x11->xscreen); + w = WidthOfScreen (x11_screen->xscreen); + h = HeightOfScreen (x11_screen->xscreen); - screen_x11->n_monitors = 4; - screen_x11->monitors = g_new0 (GdkX11Monitor, 4); - init_monitor_geometry (&screen_x11->monitors[0], 0, 0, w / 2, h / 2); - init_monitor_geometry (&screen_x11->monitors[1], w / 2, 0, w / 2, h / 2); - init_monitor_geometry (&screen_x11->monitors[2], 0, h / 2, w / 2, h / 2); - init_monitor_geometry (&screen_x11->monitors[3], w / 2, h / 2, w / 2, h / 2); + x11_screen->n_monitors = 4; + x11_screen->monitors = g_new0 (GdkX11Monitor, 4); + init_monitor_geometry (&x11_screen->monitors[0], 0, 0, w / 2, h / 2); + init_monitor_geometry (&x11_screen->monitors[1], w / 2, 0, w / 2, h / 2); + init_monitor_geometry (&x11_screen->monitors[2], 0, h / 2, w / 2, h / 2); + init_monitor_geometry (&x11_screen->monitors[3], w / 2, h / 2, w / 2, h / 2); atts.override_redirect = 1; atts.background_pixel = WhitePixel(GDK_SCREEN_XDISPLAY (screen), - screen_x11->screen_num); + x11_screen->screen_num); win = XCreateWindow(GDK_SCREEN_XDISPLAY (screen), - screen_x11->xroot_window, 0, h / 2, w, 1, 0, + x11_screen->xroot_window, 0, h / 2, w, 1, 0, DefaultDepth(GDK_SCREEN_XDISPLAY (screen), - screen_x11->screen_num), + x11_screen->screen_num), InputOutput, DefaultVisual(GDK_SCREEN_XDISPLAY (screen), - screen_x11->screen_num), + x11_screen->screen_num), CWOverrideRedirect|CWBackPixel, &atts); XMapRaised(GDK_SCREEN_XDISPLAY (screen), win); win = XCreateWindow(GDK_SCREEN_XDISPLAY (screen), - screen_x11->xroot_window, w/2 , 0, 1, h, 0, + x11_screen->xroot_window, w/2 , 0, 1, h, 0, DefaultDepth(GDK_SCREEN_XDISPLAY (screen), - screen_x11->screen_num), + x11_screen->screen_num), InputOutput, DefaultVisual(GDK_SCREEN_XDISPLAY (screen), - screen_x11->screen_num), + x11_screen->screen_num), CWOverrideRedirect|CWBackPixel, &atts); XMapRaised(GDK_SCREEN_XDISPLAY (screen), win); @@ -487,7 +487,7 @@ init_randr13 (GdkScreen *screen) #ifdef HAVE_RANDR GdkDisplay *display = gdk_screen_get_display (screen); GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); Display *dpy = GDK_SCREEN_XDISPLAY (screen); XRRScreenResources *resources; RROutput primary_output; @@ -499,8 +499,8 @@ init_randr13 (GdkScreen *screen) if (!display_x11->have_randr13) return FALSE; - resources = XRRGetScreenResourcesCurrent (screen_x11->xdisplay, - screen_x11->xroot_window); + resources = XRRGetScreenResourcesCurrent (x11_screen->xdisplay, + x11_screen->xroot_window); if (!resources) return FALSE; @@ -564,36 +564,36 @@ init_randr13 (GdkScreen *screen) g_array_sort (monitors, (GCompareFunc) monitor_compare_function); - screen_x11->n_monitors = monitors->len; - screen_x11->monitors = (GdkX11Monitor *)g_array_free (monitors, FALSE); + x11_screen->n_monitors = monitors->len; + x11_screen->monitors = (GdkX11Monitor *)g_array_free (monitors, FALSE); - screen_x11->primary_monitor = 0; + x11_screen->primary_monitor = 0; - primary_output = XRRGetOutputPrimary (screen_x11->xdisplay, - screen_x11->xroot_window); + primary_output = XRRGetOutputPrimary (x11_screen->xdisplay, + x11_screen->xroot_window); - for (i = 0; i < screen_x11->n_monitors; ++i) + for (i = 0; i < x11_screen->n_monitors; ++i) { - if (screen_x11->monitors[i].output == primary_output) + if (x11_screen->monitors[i].output == primary_output) { - screen_x11->primary_monitor = i; + x11_screen->primary_monitor = i; break; } /* No RandR1.3+ available or no primary set, fall back to prefer LVDS as primary if present */ if (primary_output == None && - g_ascii_strncasecmp (screen_x11->monitors[i].output_name, "LVDS", 4) == 0) + g_ascii_strncasecmp (x11_screen->monitors[i].output_name, "LVDS", 4) == 0) { - screen_x11->primary_monitor = i; + x11_screen->primary_monitor = i; break; } /* No primary specified and no LVDS found */ - if (screen_x11->monitors[i].output == first_output) - screen_x11->primary_monitor = i; + if (x11_screen->monitors[i].output == first_output) + x11_screen->primary_monitor = i; } - return screen_x11->n_monitors > 0; + return x11_screen->n_monitors > 0; #endif return FALSE; @@ -605,7 +605,7 @@ init_solaris_xinerama (GdkScreen *screen) #ifdef HAVE_SOLARIS_XINERAMA Display *dpy = GDK_SCREEN_XDISPLAY (screen); int screen_no = gdk_screen_get_number (screen); - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); XRectangle monitors[MAXFRAMEBUFFERS]; unsigned char hints[16]; gint result; @@ -625,17 +625,17 @@ init_solaris_xinerama (GdkScreen *screen) return FALSE; } - screen_x11->monitors = g_new0 (GdkX11Monitor, n_monitors); - screen_x11->n_monitors = n_monitors; + x11_screen->monitors = g_new0 (GdkX11Monitor, n_monitors); + x11_screen->n_monitors = n_monitors; for (i = 0; i < n_monitors; i++) { - init_monitor_geometry (&screen_x11->monitors[i], + init_monitor_geometry (&x11_screen->monitors[i], monitors[i].x, monitors[i].y, monitors[i].width, monitors[i].height); } - screen_x11->primary_monitor = 0; + x11_screen->primary_monitor = 0; return TRUE; #endif /* HAVE_SOLARIS_XINERAMA */ @@ -648,7 +648,7 @@ init_xfree_xinerama (GdkScreen *screen) { #ifdef HAVE_XFREE_XINERAMA Display *dpy = GDK_SCREEN_XDISPLAY (screen); - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); XineramaScreenInfo *monitors; int i, n_monitors; @@ -671,19 +671,19 @@ init_xfree_xinerama (GdkScreen *screen) return FALSE; } - screen_x11->n_monitors = n_monitors; - screen_x11->monitors = g_new0 (GdkX11Monitor, n_monitors); + x11_screen->n_monitors = n_monitors; + x11_screen->monitors = g_new0 (GdkX11Monitor, n_monitors); for (i = 0; i < n_monitors; ++i) { - init_monitor_geometry (&screen_x11->monitors[i], + init_monitor_geometry (&x11_screen->monitors[i], monitors[i].x_org, monitors[i].y_org, monitors[i].width, monitors[i].height); } XFree (monitors); - screen_x11->primary_monitor = 0; + x11_screen->primary_monitor = 0; return TRUE; #endif /* HAVE_XFREE_XINERAMA */ @@ -694,12 +694,12 @@ init_xfree_xinerama (GdkScreen *screen) static void deinit_multihead (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - free_monitors (screen_x11->monitors, screen_x11->n_monitors); + free_monitors (x11_screen->monitors, x11_screen->n_monitors); - screen_x11->n_monitors = 0; - screen_x11->monitors = NULL; + x11_screen->n_monitors = 0; + x11_screen->monitors = NULL; } static gboolean @@ -746,7 +746,7 @@ compare_monitors (GdkX11Monitor *monitors1, gint n_monitors1, static void init_multihead (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); int opcode, firstevent, firsterror; /* There are four different implementations of multihead support: @@ -775,13 +775,13 @@ init_multihead (GdkScreen *screen) } /* No multihead support of any kind for this screen */ - screen_x11->n_monitors = 1; - screen_x11->monitors = g_new0 (GdkX11Monitor, 1); - screen_x11->primary_monitor = 0; + x11_screen->n_monitors = 1; + x11_screen->monitors = g_new0 (GdkX11Monitor, 1); + x11_screen->primary_monitor = 0; - init_monitor_geometry (screen_x11->monitors, 0, 0, - WidthOfScreen (screen_x11->xscreen), - HeightOfScreen (screen_x11->xscreen)); + init_monitor_geometry (x11_screen->monitors, 0, 0, + WidthOfScreen (x11_screen->xscreen), + HeightOfScreen (x11_screen->xscreen)); } GdkScreen * @@ -789,20 +789,20 @@ _gdk_x11_screen_new (GdkDisplay *display, gint screen_number) { GdkScreen *screen; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); - screen = g_object_new (GDK_TYPE_SCREEN_X11, NULL); + screen = g_object_new (GDK_TYPE_X11_SCREEN, NULL); - screen_x11 = GDK_SCREEN_X11 (screen); - screen_x11->display = display; - screen_x11->xdisplay = display_x11->xdisplay; - screen_x11->xscreen = ScreenOfDisplay (display_x11->xdisplay, screen_number); - screen_x11->screen_num = screen_number; - screen_x11->xroot_window = RootWindow (display_x11->xdisplay,screen_number); - screen_x11->wmspec_check_window = None; + x11_screen = GDK_X11_SCREEN (screen); + x11_screen->display = display; + x11_screen->xdisplay = display_x11->xdisplay; + x11_screen->xscreen = ScreenOfDisplay (display_x11->xdisplay, screen_number); + x11_screen->screen_num = screen_number; + x11_screen->xroot_window = RootWindow (display_x11->xdisplay,screen_number); + x11_screen->wmspec_check_window = None; /* we want this to be always non-null */ - screen_x11->window_manager_name = g_strdup ("unknown"); + x11_screen->window_manager_name = g_strdup ("unknown"); init_multihead (screen); init_randr_support (screen); @@ -821,38 +821,38 @@ _gdk_x11_screen_new (GdkDisplay *display, void _gdk_x11_screen_setup (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - screen_x11->cm_selection_atom = make_cm_atom (screen_x11->screen_num); - gdk_display_request_selection_notification (screen_x11->display, - screen_x11->cm_selection_atom); - screen_x11->is_composited = check_is_composited (screen_x11->display, screen_x11); + x11_screen->cm_selection_atom = make_cm_atom (x11_screen->screen_num); + gdk_display_request_selection_notification (x11_screen->display, + x11_screen->cm_selection_atom); + x11_screen->is_composited = check_is_composited (x11_screen->display, x11_screen); } static gboolean -gdk_screen_x11_is_composited (GdkScreen *screen) +gdk_x11_screen_is_composited (GdkScreen *screen) { - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - return screen_x11->is_composited; + return x11_screen->is_composited; } static void init_randr_support (GdkScreen * screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); XSelectInput (GDK_SCREEN_XDISPLAY (screen), - screen_x11->xroot_window, + x11_screen->xroot_window, StructureNotifyMask); #ifdef HAVE_RANDR XRRSelectInput (GDK_SCREEN_XDISPLAY (screen), - screen_x11->xroot_window, + x11_screen->xroot_window, RRScreenChangeNotifyMask | RRCrtcChangeNotifyMask | RROutputPropertyNotifyMask); @@ -862,21 +862,21 @@ init_randr_support (GdkScreen * screen) static void process_monitors_change (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); gint n_monitors; GdkX11Monitor *monitors; gboolean changed; - n_monitors = screen_x11->n_monitors; - monitors = screen_x11->monitors; + n_monitors = x11_screen->n_monitors; + monitors = x11_screen->monitors; - screen_x11->n_monitors = 0; - screen_x11->monitors = NULL; + x11_screen->n_monitors = 0; + x11_screen->monitors = NULL; init_multihead (screen); changed = !compare_monitors (monitors, n_monitors, - screen_x11->monitors, screen_x11->n_monitors); + x11_screen->monitors, x11_screen->n_monitors); free_monitors (monitors, n_monitors); @@ -938,17 +938,17 @@ _gdk_x11_screen_process_owner_change (GdkScreen *screen, { #ifdef HAVE_XFIXES XFixesSelectionNotifyEvent *selection_event = (XFixesSelectionNotifyEvent *)event; - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); - Atom xcm_selection_atom = gdk_x11_atom_to_xatom_for_display (screen_x11->display, - screen_x11->cm_selection_atom); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); + Atom xcm_selection_atom = gdk_x11_atom_to_xatom_for_display (x11_screen->display, + x11_screen->cm_selection_atom); if (selection_event->selection == xcm_selection_atom) { gboolean composited = selection_event->owner != None; - if (composited != screen_x11->is_composited) + if (composited != x11_screen->is_composited) { - screen_x11->is_composited = composited; + x11_screen->is_composited = composited; g_signal_emit_by_name (screen, "composited-changed"); } @@ -975,7 +975,7 @@ substitute_screen_number (const gchar *display_name, } static gchar * -gdk_screen_x11_make_display_name (GdkScreen *screen) +gdk_x11_screen_make_display_name (GdkScreen *screen) { const gchar *old_display; @@ -988,9 +988,9 @@ gdk_screen_x11_make_display_name (GdkScreen *screen) } static GdkWindow * -gdk_screen_x11_get_active_window (GdkScreen *screen) +gdk_x11_screen_get_active_window (GdkScreen *screen) { - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; GdkWindow *ret = NULL; Atom type_return; gint format_return; @@ -1004,10 +1004,10 @@ gdk_screen_x11_get_active_window (GdkScreen *screen) gdk_atom_intern_static_string ("_NET_ACTIVE_WINDOW"))) return NULL; - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - if (XGetWindowProperty (screen_x11->xdisplay, screen_x11->xroot_window, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, + if (XGetWindowProperty (x11_screen->xdisplay, x11_screen->xroot_window, + gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_ACTIVE_WINDOW"), 0, 1, False, XA_WINDOW, &type_return, &format_return, &nitems_return, @@ -1020,7 +1020,7 @@ gdk_screen_x11_get_active_window (GdkScreen *screen) if (window != None) { - ret = gdk_x11_window_foreign_new_for_display (screen_x11->display, + ret = gdk_x11_window_foreign_new_for_display (x11_screen->display, *(Window *) data); } } @@ -1033,9 +1033,9 @@ gdk_screen_x11_get_active_window (GdkScreen *screen) } static GList * -gdk_screen_x11_get_window_stack (GdkScreen *screen) +gdk_x11_screen_get_window_stack (GdkScreen *screen) { - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; GList *ret = NULL; Atom type_return; gint format_return; @@ -1049,10 +1049,10 @@ gdk_screen_x11_get_window_stack (GdkScreen *screen) gdk_atom_intern_static_string ("_NET_CLIENT_LIST_STACKING"))) return NULL; - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - if (XGetWindowProperty (screen_x11->xdisplay, screen_x11->xroot_window, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, + if (XGetWindowProperty (x11_screen->xdisplay, x11_screen->xroot_window, + gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_CLIENT_LIST_STACKING"), 0, G_MAXLONG, False, XA_WINDOW, &type_return, &format_return, &nitems_return, @@ -1068,7 +1068,7 @@ gdk_screen_x11_get_window_stack (GdkScreen *screen) for (i = 0; i < nitems_return; i++) { - win = gdk_x11_window_foreign_new_for_display (screen_x11->display, + win = gdk_x11_window_foreign_new_for_display (x11_screen->display, (Window)stack[i]); if (win != NULL) @@ -1144,7 +1144,7 @@ gdk_event_send_client_message_to_all_recurse (GdkDisplay *display, } static void -gdk_screen_x11_broadcast_client_message (GdkScreen *screen, +gdk_x11_screen_broadcast_client_message (GdkScreen *screen, GdkEvent *event) { XEvent sev; @@ -1187,7 +1187,7 @@ check_transform (const gchar *xsettings_name, } static gboolean -gdk_screen_x11_get_setting (GdkScreen *screen, +gdk_x11_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value) { @@ -1195,14 +1195,14 @@ gdk_screen_x11_get_setting (GdkScreen *screen, const char *xsettings_name = NULL; XSettingsResult result; XSettingsSetting *setting = NULL; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; gboolean success = FALSE; gint i; GValue tmp_val = { 0, }; g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); for (i = 0; i < GDK_SETTINGS_N_ELEMENTS(); i++) if (strcmp (GDK_SETTINGS_GDK_NAME (i), name) == 0) @@ -1214,7 +1214,7 @@ gdk_screen_x11_get_setting (GdkScreen *screen, if (!xsettings_name) goto out; - result = xsettings_client_get_setting (screen_x11->xsettings_client, + result = xsettings_client_get_setting (x11_screen->xsettings_client, xsettings_name, &setting); if (result != XSETTINGS_SUCCESS) goto out; @@ -1286,7 +1286,7 @@ cleanup_atoms(gpointer data) static void fetch_net_wm_check_window (GdkScreen *screen) { - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; GdkDisplay *display; Atom type; gint format; @@ -1297,20 +1297,20 @@ fetch_net_wm_check_window (GdkScreen *screen) GTimeVal tv; gint error; - screen_x11 = GDK_SCREEN_X11 (screen); - display = screen_x11->display; + x11_screen = GDK_X11_SCREEN (screen); + display = x11_screen->display; g_return_if_fail (GDK_X11_DISPLAY (display)->trusted_client); g_get_current_time (&tv); - if (ABS (tv.tv_sec - screen_x11->last_wmspec_check_time) < 15) + if (ABS (tv.tv_sec - x11_screen->last_wmspec_check_time) < 15) return; /* we've checked recently */ - screen_x11->last_wmspec_check_time = tv.tv_sec; + x11_screen->last_wmspec_check_time = tv.tv_sec; data = NULL; - XGetWindowProperty (screen_x11->xdisplay, screen_x11->xroot_window, + XGetWindowProperty (x11_screen->xdisplay, x11_screen->xroot_window, gdk_x11_get_xatom_by_name_for_display (display, "_NET_SUPPORTING_WM_CHECK"), 0, G_MAXLONG, False, XA_WINDOW, &type, &format, &n_items, &bytes_after, &data); @@ -1324,7 +1324,7 @@ fetch_net_wm_check_window (GdkScreen *screen) xwindow = (Window *)data; - if (screen_x11->wmspec_check_window == *xwindow) + if (x11_screen->wmspec_check_window == *xwindow) { XFree (xwindow); return; @@ -1333,22 +1333,22 @@ fetch_net_wm_check_window (GdkScreen *screen) gdk_x11_display_error_trap_push (display); /* Find out if this WM goes away, so we can reset everything. */ - XSelectInput (screen_x11->xdisplay, *xwindow, StructureNotifyMask); + XSelectInput (x11_screen->xdisplay, *xwindow, StructureNotifyMask); error = gdk_x11_display_error_trap_pop (display); if (!error) { - screen_x11->wmspec_check_window = *xwindow; - screen_x11->need_refetch_net_supported = TRUE; - screen_x11->need_refetch_wm_name = TRUE; + x11_screen->wmspec_check_window = *xwindow; + x11_screen->need_refetch_net_supported = TRUE; + x11_screen->need_refetch_wm_name = TRUE; /* Careful, reentrancy */ - _gdk_x11_screen_window_manager_changed (GDK_SCREEN (screen_x11)); + _gdk_x11_screen_window_manager_changed (GDK_SCREEN (x11_screen)); } else if (error == BadWindow) { /* Leftover property, try again immediately, new wm may be starting up */ - screen_x11->last_wmspec_check_time = 0; + x11_screen->last_wmspec_check_time = 0; } XFree (xwindow); @@ -1383,14 +1383,14 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, GdkAtom property) { gulong i; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; NetWmSupportedAtoms *supported_atoms; GdkDisplay *display; g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - screen_x11 = GDK_SCREEN_X11 (screen); - display = screen_x11->display; + x11_screen = GDK_X11_SCREEN (screen); + display = x11_screen->display; if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) return FALSE; @@ -1404,10 +1404,10 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, fetch_net_wm_check_window (screen); - if (screen_x11->wmspec_check_window == None) + if (x11_screen->wmspec_check_window == None) return FALSE; - if (screen_x11->need_refetch_net_supported) + if (x11_screen->need_refetch_net_supported) { /* WM has changed since we last got the supported list, * refetch it. @@ -1416,7 +1416,7 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, gint format; gulong bytes_after; - screen_x11->need_refetch_net_supported = FALSE; + x11_screen->need_refetch_net_supported = FALSE; if (supported_atoms->atoms) XFree (supported_atoms->atoms); @@ -1424,7 +1424,7 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, supported_atoms->atoms = NULL; supported_atoms->n_atoms = 0; - XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), screen_x11->xroot_window, + XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), x11_screen->xroot_window, gdk_x11_get_xatom_by_name_for_display (display, "_NET_SUPPORTED"), 0, G_MAXLONG, False, XA_ATOM, &type, &format, &supported_atoms->n_atoms, &bytes_after, @@ -1470,7 +1470,7 @@ gdk_xsettings_client_event_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data) { - GdkScreenX11 *screen = data; + GdkX11Screen *screen = data; if (xsettings_client_process_event (screen->xsettings_client, (XEvent *)xevent)) return GDK_FILTER_REMOVE; @@ -1534,10 +1534,10 @@ gdk_xsettings_notify_cb (const char *name, { GdkEvent new_event; GdkScreen *screen = data; - GdkScreenX11 *screen_x11 = data; + GdkX11Screen *x11_screen = data; int i; - if (screen_x11->xsettings_in_init) + if (x11_screen->xsettings_in_init) return; new_event.type = GDK_SETTING; @@ -1574,19 +1574,19 @@ gdk_xsettings_notify_cb (const char *name, void _gdk_x11_screen_init_events (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); /* Keep a flag to avoid extra notifies that we don't need */ - screen_x11->xsettings_in_init = TRUE; - screen_x11->xsettings_client = xsettings_client_new_with_grab_funcs (screen_x11->xdisplay, - screen_x11->screen_num, + x11_screen->xsettings_in_init = TRUE; + x11_screen->xsettings_client = xsettings_client_new_with_grab_funcs (x11_screen->xdisplay, + x11_screen->screen_num, gdk_xsettings_notify_cb, gdk_xsettings_watch_cb, screen, refcounted_grab_server, refcounted_ungrab_server); - screen_x11->xsettings_in_init = FALSE; + x11_screen->xsettings_in_init = FALSE; } /** @@ -1604,26 +1604,26 @@ _gdk_x11_screen_init_events (GdkScreen *screen) const char* gdk_x11_screen_get_window_manager_name (GdkScreen *screen) { - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; GdkDisplay *display; - screen_x11 = GDK_SCREEN_X11 (screen); - display = screen_x11->display; + x11_screen = GDK_X11_SCREEN (screen); + display = x11_screen->display; if (!G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) - return screen_x11->window_manager_name; + return x11_screen->window_manager_name; fetch_net_wm_check_window (screen); - if (screen_x11->need_refetch_wm_name) + if (x11_screen->need_refetch_wm_name) { /* Get the name of the window manager */ - screen_x11->need_refetch_wm_name = FALSE; + x11_screen->need_refetch_wm_name = FALSE; - g_free (screen_x11->window_manager_name); - screen_x11->window_manager_name = g_strdup ("unknown"); + g_free (x11_screen->window_manager_name); + x11_screen->window_manager_name = g_strdup ("unknown"); - if (screen_x11->wmspec_check_window != None) + if (x11_screen->wmspec_check_window != None) { Atom type; gint format; @@ -1636,7 +1636,7 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) gdk_x11_display_error_trap_push (display); XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), - screen_x11->wmspec_check_window, + x11_screen->wmspec_check_window, gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_NAME"), 0, G_MAXLONG, False, @@ -1650,61 +1650,61 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) if (name != NULL) { - g_free (screen_x11->window_manager_name); - screen_x11->window_manager_name = g_strdup (name); + g_free (x11_screen->window_manager_name); + x11_screen->window_manager_name = g_strdup (name); XFree (name); } } } - return GDK_SCREEN_X11 (screen)->window_manager_name; + return GDK_X11_SCREEN (screen)->window_manager_name; } static void -_gdk_screen_x11_class_init (GdkScreenX11Class *klass) +_gdk_x11_screen_class_init (GdkX11ScreenClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); - object_class->dispose = gdk_screen_x11_dispose; - object_class->finalize = gdk_screen_x11_finalize; + object_class->dispose = gdk_x11_screen_dispose; + object_class->finalize = gdk_x11_screen_finalize; - screen_class->get_display = gdk_screen_x11_get_display; - screen_class->get_width = gdk_screen_x11_get_width; - screen_class->get_height = gdk_screen_x11_get_height; - screen_class->get_width_mm = gdk_screen_x11_get_width_mm; - screen_class->get_height_mm = gdk_screen_x11_get_height_mm; - screen_class->get_number = gdk_screen_x11_get_number; - screen_class->get_root_window = gdk_screen_x11_get_root_window; - screen_class->get_n_monitors = gdk_screen_x11_get_n_monitors; - screen_class->get_primary_monitor = gdk_screen_x11_get_primary_monitor; - screen_class->get_monitor_width_mm = gdk_screen_x11_get_monitor_width_mm; - screen_class->get_monitor_height_mm = gdk_screen_x11_get_monitor_height_mm; - screen_class->get_monitor_plug_name = gdk_screen_x11_get_monitor_plug_name; - screen_class->get_monitor_geometry = gdk_screen_x11_get_monitor_geometry; - screen_class->get_system_visual = _gdk_screen_x11_get_system_visual; - screen_class->get_rgba_visual = gdk_screen_x11_get_rgba_visual; - screen_class->is_composited = gdk_screen_x11_is_composited; - screen_class->make_display_name = gdk_screen_x11_make_display_name; - screen_class->get_active_window = gdk_screen_x11_get_active_window; - screen_class->get_window_stack = gdk_screen_x11_get_window_stack; - screen_class->broadcast_client_message = gdk_screen_x11_broadcast_client_message; - screen_class->get_setting = gdk_screen_x11_get_setting; - screen_class->visual_get_best_depth = _gdk_screen_x11_visual_get_best_depth; - screen_class->visual_get_best_type = _gdk_screen_x11_visual_get_best_type; - screen_class->visual_get_best = _gdk_screen_x11_visual_get_best; - screen_class->visual_get_best_with_depth = _gdk_screen_x11_visual_get_best_with_depth; - screen_class->visual_get_best_with_type = _gdk_screen_x11_visual_get_best_with_type; - screen_class->visual_get_best_with_both = _gdk_screen_x11_visual_get_best_with_both; - screen_class->query_depths = _gdk_screen_x11_query_depths; - screen_class->query_visual_types = _gdk_screen_x11_query_visual_types; - screen_class->list_visuals = _gdk_screen_x11_list_visuals; + screen_class->get_display = gdk_x11_screen_get_display; + screen_class->get_width = gdk_x11_screen_get_width; + screen_class->get_height = gdk_x11_screen_get_height; + screen_class->get_width_mm = gdk_x11_screen_get_width_mm; + screen_class->get_height_mm = gdk_x11_screen_get_height_mm; + screen_class->get_number = gdk_x11_screen_get_number; + screen_class->get_root_window = gdk_x11_screen_get_root_window; + screen_class->get_n_monitors = gdk_x11_screen_get_n_monitors; + screen_class->get_primary_monitor = gdk_x11_screen_get_primary_monitor; + screen_class->get_monitor_width_mm = gdk_x11_screen_get_monitor_width_mm; + screen_class->get_monitor_height_mm = gdk_x11_screen_get_monitor_height_mm; + screen_class->get_monitor_plug_name = gdk_x11_screen_get_monitor_plug_name; + screen_class->get_monitor_geometry = gdk_x11_screen_get_monitor_geometry; + screen_class->get_system_visual = _gdk_x11_screen_get_system_visual; + screen_class->get_rgba_visual = gdk_x11_screen_get_rgba_visual; + screen_class->is_composited = gdk_x11_screen_is_composited; + screen_class->make_display_name = gdk_x11_screen_make_display_name; + screen_class->get_active_window = gdk_x11_screen_get_active_window; + screen_class->get_window_stack = gdk_x11_screen_get_window_stack; + screen_class->broadcast_client_message = gdk_x11_screen_broadcast_client_message; + screen_class->get_setting = gdk_x11_screen_get_setting; + screen_class->visual_get_best_depth = _gdk_x11_screen_visual_get_best_depth; + screen_class->visual_get_best_type = _gdk_x11_screen_visual_get_best_type; + screen_class->visual_get_best = _gdk_x11_screen_visual_get_best; + screen_class->visual_get_best_with_depth = _gdk_x11_screen_visual_get_best_with_depth; + screen_class->visual_get_best_with_type = _gdk_x11_screen_visual_get_best_with_type; + screen_class->visual_get_best_with_both = _gdk_x11_screen_visual_get_best_with_both; + screen_class->query_depths = _gdk_x11_screen_query_depths; + screen_class->query_visual_types = _gdk_x11_screen_query_visual_types; + screen_class->list_visuals = _gdk_x11_screen_list_visuals; signals[WINDOW_MANAGER_CHANGED] = g_signal_new (g_intern_static_string ("window_manager_changed"), G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GdkScreenX11Class, window_manager_changed), + G_STRUCT_OFFSET (GdkX11ScreenClass, window_manager_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index f8471dcccd..6755478667 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -21,8 +21,8 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_SCREEN_X11_H__ -#define __GDK_SCREEN_X11_H__ +#ifndef __GDK_X11_SCREEN__ +#define __GDK_X11_SCREEN__ #include "gdkscreenprivate.h" #include "gdkvisual.h" @@ -32,19 +32,19 @@ G_BEGIN_DECLS -typedef struct _GdkScreenX11 GdkScreenX11; -typedef struct _GdkScreenX11Class GdkScreenX11Class; +typedef struct _GdkX11Screen GdkX11Screen; +typedef struct _GdkX11ScreenClass GdkX11ScreenClass; -#define GDK_TYPE_SCREEN_X11 (_gdk_screen_x11_get_type ()) -#define GDK_SCREEN_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SCREEN_X11, GdkScreenX11)) -#define GDK_SCREEN_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SCREEN_X11, GdkScreenX11Class)) -#define GDK_IS_SCREEN_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SCREEN_X11)) -#define GDK_IS_SCREEN_X11_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN_X11)) -#define GDK_SCREEN_X11_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN_X11, GdkScreenX11Class)) +#define GDK_TYPE_X11_SCREEN (_gdk_x11_screen_get_type ()) +#define GDK_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_SCREEN, GdkX11Screen)) +#define GDK_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) +#define GDK_IS_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_SCREEN)) +#define GDK_IS_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SCREEN)) +#define GDK_X11_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) typedef struct _GdkX11Monitor GdkX11Monitor; -struct _GdkScreenX11 +struct _GdkX11Screen { GdkScreen parent_instance; @@ -105,14 +105,14 @@ struct _GdkScreenX11 gboolean is_composited; }; -struct _GdkScreenX11Class +struct _GdkX11ScreenClass { GdkScreenClass parent_class; - void (* window_manager_changed) (GdkScreenX11 *screen_x11); + void (* window_manager_changed) (GdkX11Screen *x11_screen); }; -GType _gdk_screen_x11_get_type (void); +GType _gdk_x11_screen_get_type (void); GdkScreen * _gdk_x11_screen_new (GdkDisplay *display, gint screen_number); @@ -125,4 +125,4 @@ void _gdk_x11_screen_process_owner_change (GdkScreen *screen, G_END_DECLS -#endif /* __GDK_SCREEN_X11_H__ */ +#endif /* __GDK_X11_SCREEN__ */ diff --git a/gdk/x11/gdktestutils-x11.c b/gdk/x11/gdktestutils-x11.c index 7b5916f7ec..4450c082e6 100644 --- a/gdk/x11/gdktestutils-x11.c +++ b/gdk/x11/gdktestutils-x11.c @@ -79,7 +79,7 @@ _gdk_x11_window_simulate_key (GdkWindow *window, xev.type = key_pressrelease == GDK_KEY_PRESS ? KeyPress : KeyRelease; xev.display = GDK_WINDOW_XDISPLAY (window); xev.window = GDK_WINDOW_XID (window); - xev.root = RootWindow (xev.display, GDK_SCREEN_X11 (screen)->screen_num); + xev.root = RootWindow (xev.display, GDK_X11_SCREEN (screen)->screen_num); xev.subwindow = 0; xev.time = 0; xev.x = MAX (x, 0); @@ -157,7 +157,7 @@ _gdk_x11_window_simulate_button (GdkWindow *window, xev.type = button_pressrelease == GDK_BUTTON_PRESS ? ButtonPress : ButtonRelease; xev.display = GDK_WINDOW_XDISPLAY (window); xev.window = GDK_WINDOW_XID (window); - xev.root = RootWindow (xev.display, GDK_SCREEN_X11 (screen)->screen_num); + xev.root = RootWindow (xev.display, GDK_X11_SCREEN (screen)->screen_num); xev.subwindow = 0; xev.time = 0; xev.x = x; diff --git a/gdk/x11/gdkvisual-x11.c b/gdk/x11/gdkvisual-x11.c index ba3b4cc3f5..eb394f6fc2 100644 --- a/gdk/x11/gdkvisual-x11.c +++ b/gdk/x11/gdkvisual-x11.c @@ -111,7 +111,7 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) GDK_VISUAL_STATIC_GRAY }; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; XVisualInfo *visual_list; XVisualInfo visual_template; GdkVisual *temp_visual; @@ -122,17 +122,17 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) int i, j; g_return_if_fail (GDK_IS_SCREEN (screen)); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); nxvisuals = 0; - visual_template.screen = screen_x11->screen_num; - visual_list = XGetVisualInfo (screen_x11->xdisplay, VisualScreenMask, &visual_template, &nxvisuals); + visual_template.screen = x11_screen->screen_num; + visual_list = XGetVisualInfo (x11_screen->xdisplay, VisualScreenMask, &visual_template, &nxvisuals); visuals = g_new (GdkVisual *, nxvisuals); for (i = 0; i < nxvisuals; i++) visuals[i] = g_object_new (GDK_TYPE_X11_VISUAL, NULL); - default_xvisual = DefaultVisual (screen_x11->xdisplay, screen_x11->screen_num); + default_xvisual = DefaultVisual (x11_screen->xdisplay, x11_screen->screen_num); nvisuals = 0; for (i = 0; i < nxvisuals; i++) @@ -169,7 +169,7 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) visuals[nvisuals]->depth = visual_list[i].depth; visuals[nvisuals]->byte_order = - (ImageByteOrder(screen_x11->xdisplay) == LSBFirst) ? + (ImageByteOrder(x11_screen->xdisplay) == LSBFirst) ? GDK_LSB_FIRST : GDK_MSB_FIRST; visuals[nvisuals]->red_mask = visual_list[i].red_mask; visuals[nvisuals]->green_mask = visual_list[i].green_mask; @@ -253,9 +253,9 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) { if (default_xvisual->visualid == GDK_X11_VISUAL (visuals[i])->xvisual->visualid) { - screen_x11->system_visual = visuals[i]; + x11_screen->system_visual = visuals[i]; GDK_X11_VISUAL (visuals[i])->colormap = - DefaultColormap (screen_x11->xdisplay, screen_x11->screen_num); + DefaultColormap (x11_screen->xdisplay, x11_screen->screen_num); } /* For now, we only support 8888 ARGB for the "rgba visual". @@ -267,7 +267,7 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) visuals[i]->green_mask == 0x00ff00 && visuals[i]->blue_mask == 0x0000ff)) { - screen_x11->rgba_visual = visuals[i]; + x11_screen->rgba_visual = visuals[i]; } } @@ -289,30 +289,30 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) } #endif /* G_ENABLE_DEBUG */ - screen_x11->navailable_depths = 0; + x11_screen->navailable_depths = 0; for (i = 0; i < G_N_ELEMENTS (possible_depths); i++) { for (j = 0; j < nvisuals; j++) { if (visuals[j]->depth == possible_depths[i]) { - screen_x11->available_depths[screen_x11->navailable_depths++] = visuals[j]->depth; + x11_screen->available_depths[x11_screen->navailable_depths++] = visuals[j]->depth; break; } } } - if (screen_x11->navailable_depths == 0) + if (x11_screen->navailable_depths == 0) g_error ("unable to find a usable depth"); - screen_x11->navailable_types = 0; + x11_screen->navailable_types = 0; for (i = 0; i < G_N_ELEMENTS (possible_types); i++) { for (j = 0; j < nvisuals; j++) { if (visuals[j]->type == possible_types[i]) { - screen_x11->available_types[screen_x11->navailable_types++] = visuals[j]->type; + x11_screen->available_types[x11_screen->navailable_types++] = visuals[j]->type; break; } } @@ -321,54 +321,54 @@ _gdk_x11_screen_init_visuals (GdkScreen *screen) for (i = 0; i < nvisuals; i++) gdk_visual_add (visuals[i]); - if (screen_x11->navailable_types == 0) + if (x11_screen->navailable_types == 0) g_error ("unable to find a usable visual type"); - screen_x11->visuals = visuals; - screen_x11->nvisuals = nvisuals; + x11_screen->visuals = visuals; + x11_screen->nvisuals = nvisuals; } gint -_gdk_screen_x11_visual_get_best_depth (GdkScreen *screen) +_gdk_x11_screen_visual_get_best_depth (GdkScreen *screen) { - return GDK_SCREEN_X11 (screen)->available_depths[0]; + return GDK_X11_SCREEN (screen)->available_depths[0]; } GdkVisualType -_gdk_screen_x11_visual_get_best_type (GdkScreen *screen) +_gdk_x11_screen_visual_get_best_type (GdkScreen *screen) { - return GDK_SCREEN_X11 (screen)->available_types[0]; + return GDK_X11_SCREEN (screen)->available_types[0]; } GdkVisual * -_gdk_screen_x11_get_system_visual (GdkScreen *screen) +_gdk_x11_screen_get_system_visual (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return ((GdkVisual *) GDK_SCREEN_X11 (screen)->system_visual); + return ((GdkVisual *) GDK_X11_SCREEN (screen)->system_visual); } GdkVisual* -_gdk_screen_x11_visual_get_best (GdkScreen *screen) +_gdk_x11_screen_visual_get_best (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - return screen_x11->visuals[0]; + return x11_screen->visuals[0]; } GdkVisual* -_gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, +_gdk_x11_screen_visual_get_best_with_depth (GdkScreen *screen, gint depth) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); GdkVisual *return_val; int i; return_val = NULL; - for (i = 0; i < screen_x11->nvisuals; i++) - if (depth == screen_x11->visuals[i]->depth) + for (i = 0; i < x11_screen->nvisuals; i++) + if (depth == x11_screen->visuals[i]->depth) { - return_val = screen_x11->visuals[i]; + return_val = x11_screen->visuals[i]; break; } @@ -376,18 +376,18 @@ _gdk_screen_x11_visual_get_best_with_depth (GdkScreen *screen, } GdkVisual* -_gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, +_gdk_x11_screen_visual_get_best_with_type (GdkScreen *screen, GdkVisualType visual_type) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); GdkVisual *return_val; int i; return_val = NULL; - for (i = 0; i < screen_x11->nvisuals; i++) - if (visual_type == screen_x11->visuals[i]->type) + for (i = 0; i < x11_screen->nvisuals; i++) + if (visual_type == x11_screen->visuals[i]->type) { - return_val = screen_x11->visuals[i]; + return_val = x11_screen->visuals[i]; break; } @@ -395,20 +395,20 @@ _gdk_screen_x11_visual_get_best_with_type (GdkScreen *screen, } GdkVisual* -_gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, +_gdk_x11_screen_visual_get_best_with_both (GdkScreen *screen, gint depth, GdkVisualType visual_type) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); GdkVisual *return_val; int i; return_val = NULL; - for (i = 0; i < screen_x11->nvisuals; i++) - if ((depth == screen_x11->visuals[i]->depth) && - (visual_type == screen_x11->visuals[i]->type)) + for (i = 0; i < x11_screen->nvisuals; i++) + if ((depth == x11_screen->visuals[i]->depth) && + (visual_type == x11_screen->visuals[i]->type)) { - return_val = screen_x11->visuals[i]; + return_val = x11_screen->visuals[i]; break; } @@ -416,41 +416,41 @@ _gdk_screen_x11_visual_get_best_with_both (GdkScreen *screen, } void -_gdk_screen_x11_query_depths (GdkScreen *screen, +_gdk_x11_screen_query_depths (GdkScreen *screen, gint **depths, gint *count) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - *count = screen_x11->navailable_depths; - *depths = screen_x11->available_depths; + *count = x11_screen->navailable_depths; + *depths = x11_screen->available_depths; } void -_gdk_screen_x11_query_visual_types (GdkScreen *screen, +_gdk_x11_screen_query_visual_types (GdkScreen *screen, GdkVisualType **visual_types, gint *count) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - *count = screen_x11->navailable_types; - *visual_types = screen_x11->available_types; + *count = x11_screen->navailable_types; + *visual_types = x11_screen->available_types; } GList * -_gdk_screen_x11_list_visuals (GdkScreen *screen) +_gdk_x11_screen_list_visuals (GdkScreen *screen) { GList *list; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; guint i; g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); list = NULL; - for (i = 0; i < screen_x11->nvisuals; ++i) - list = g_list_append (list, screen_x11->visuals[i]); + for (i = 0; i < x11_screen->nvisuals; ++i) + list = g_list_append (list, x11_screen->visuals[i]); return list; } @@ -472,13 +472,13 @@ gdk_x11_screen_lookup_visual (GdkScreen *screen, VisualID xvisualid) { int i; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - for (i = 0; i < screen_x11->nvisuals; i++) - if (xvisualid == GDK_X11_VISUAL (screen_x11->visuals[i])->xvisual->visualid) - return screen_x11->visuals[i]; + for (i = 0; i < x11_screen->nvisuals; i++) + if (xvisualid == GDK_X11_VISUAL (x11_screen->visuals[i])->xvisual->visualid) + return x11_screen->visuals[i]; return NULL; } @@ -486,13 +486,13 @@ gdk_x11_screen_lookup_visual (GdkScreen *screen, static void gdk_visual_add (GdkVisual *visual) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (visual->screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (visual->screen); - if (!screen_x11->visual_hash) - screen_x11->visual_hash = g_hash_table_new ((GHashFunc) gdk_visual_hash, + if (!x11_screen->visual_hash) + x11_screen->visual_hash = g_hash_table_new ((GHashFunc) gdk_visual_hash, (GEqualFunc) gdk_visual_equal); - g_hash_table_insert (screen_x11->visual_hash, GDK_X11_VISUAL (visual)->xvisual, visual); + g_hash_table_insert (x11_screen->visual_hash, GDK_X11_VISUAL (visual)->xvisual, visual); } static void diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 1fce606d83..bf07ece86b 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -312,7 +312,7 @@ _gdk_x11_window_create_bitmap_surface (GdkWindow *window, width, height, 1); surface = cairo_xlib_surface_create_for_bitmap (GDK_WINDOW_XDISPLAY (window), pixmap, - GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (window))->xscreen, + GDK_X11_SCREEN (GDK_WINDOW_SCREEN (window))->xscreen, width, height); attach_free_pixmap_handler (surface, GDK_WINDOW_DISPLAY (window), pixmap); @@ -454,13 +454,13 @@ _gdk_x11_screen_init_root_window (GdkScreen *screen) { GdkWindow *window; GdkWindowImplX11 *impl; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); - g_assert (screen_x11->root_window == NULL); + g_assert (x11_screen->root_window == NULL); - window = screen_x11->root_window = g_object_new (GDK_TYPE_WINDOW, NULL); + window = x11_screen->root_window = g_object_new (GDK_TYPE_WINDOW, NULL); window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); window->impl_window = window; @@ -468,28 +468,28 @@ _gdk_x11_screen_init_root_window (GdkScreen *screen) impl = GDK_WINDOW_IMPL_X11 (window->impl); - impl->xid = screen_x11->xroot_window; + impl->xid = x11_screen->xroot_window; impl->wrapper = window; window->window_type = GDK_WINDOW_ROOT; - window->depth = DefaultDepthOfScreen (screen_x11->xscreen); + window->depth = DefaultDepthOfScreen (x11_screen->xscreen); window->x = 0; window->y = 0; window->abs_x = 0; window->abs_y = 0; - window->width = WidthOfScreen (screen_x11->xscreen); - window->height = HeightOfScreen (screen_x11->xscreen); + window->width = WidthOfScreen (x11_screen->xscreen); + window->height = HeightOfScreen (x11_screen->xscreen); window->viewable = TRUE; /* see init_randr_support() in gdkscreen-x11.c */ window->event_mask = GDK_STRUCTURE_MASK; - _gdk_window_update_size (screen_x11->root_window); + _gdk_window_update_size (x11_screen->root_window); - _gdk_x11_display_add_window (screen_x11->display, - &screen_x11->xroot_window, - screen_x11->root_window); + _gdk_x11_display_add_window (x11_screen->display, + &x11_screen->xroot_window, + x11_screen->root_window); } static void @@ -615,7 +615,7 @@ setup_toplevel_window (GdkWindow *window, GdkDisplay *display = gdk_window_get_display (window); Display *xdisplay = GDK_WINDOW_XDISPLAY (window); XID xid = GDK_WINDOW_XID (window); - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (GDK_WINDOW_SCREEN (parent)); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (parent)); XSizeHints size_hints; long pid; Window leader_window; @@ -628,12 +628,12 @@ setup_toplevel_window (GdkWindow *window, * press events so they don't get sent to child windows. */ toplevel->focus_window = create_focus_window (display, xid); - _gdk_x11_display_add_window (screen_x11->display, + _gdk_x11_display_add_window (x11_screen->display, &toplevel->focus_window, window); } - check_leader_window_title (screen_x11->display); + check_leader_window_title (x11_screen->display); /* FIXME: Is there any point in doing this? Do any WM's pay * attention to PSize, and even if they do, is this the @@ -650,29 +650,29 @@ setup_toplevel_window (GdkWindow *window, pid = getpid (); XChangeProperty (xdisplay, xid, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, "_NET_WM_PID"), + gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_WM_PID"), XA_CARDINAL, 32, PropModeReplace, (guchar *)&pid, 1); - leader_window = GDK_X11_DISPLAY (screen_x11->display)->leader_window; + leader_window = GDK_X11_DISPLAY (x11_screen->display)->leader_window; if (!leader_window) leader_window = xid; XChangeProperty (xdisplay, xid, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, "WM_CLIENT_LEADER"), + gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "WM_CLIENT_LEADER"), XA_WINDOW, 32, PropModeReplace, (guchar *) &leader_window, 1); if (toplevel->focus_window != None) XChangeProperty (xdisplay, xid, - gdk_x11_get_xatom_by_name_for_display (screen_x11->display, "_NET_WM_USER_TIME_WINDOW"), + gdk_x11_get_xatom_by_name_for_display (x11_screen->display, "_NET_WM_USER_TIME_WINDOW"), XA_WINDOW, 32, PropModeReplace, (guchar *) &toplevel->focus_window, 1); if (!window->focus_on_map) gdk_x11_window_set_user_time (window, 0); - else if (GDK_X11_DISPLAY (screen_x11->display)->user_time != 0) - gdk_x11_window_set_user_time (window, GDK_X11_DISPLAY (screen_x11->display)->user_time); + else if (GDK_X11_DISPLAY (x11_screen->display)->user_time != 0) + gdk_x11_window_set_user_time (window, GDK_X11_DISPLAY (x11_screen->display)->user_time); ensure_sync_counter (window); } @@ -687,7 +687,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, gint attributes_mask) { GdkWindowImplX11 *impl; - GdkScreenX11 *screen_x11; + GdkX11Screen *x11_screen; GdkX11Display *display_x11; Window xparent; @@ -703,13 +703,13 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, display_x11 = GDK_X11_DISPLAY (display); xparent = GDK_WINDOW_XID (real_parent); - screen_x11 = GDK_SCREEN_X11 (screen); + x11_screen = GDK_X11_SCREEN (screen); impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); window->impl = GDK_WINDOW_IMPL (impl); impl->wrapper = GDK_WINDOW (window); - xdisplay = screen_x11->xdisplay; + xdisplay = x11_screen->xdisplay; xattributes_mask = 0; @@ -748,9 +748,9 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, { class = InputOutput; - xattributes.background_pixel = BlackPixel (xdisplay, screen_x11->screen_num); + xattributes.background_pixel = BlackPixel (xdisplay, x11_screen->screen_num); - xattributes.border_pixel = BlackPixel (xdisplay, screen_x11->screen_num); + xattributes.border_pixel = BlackPixel (xdisplay, x11_screen->screen_num); xattributes_mask |= CWBorderPixel | CWBackPixel; if (window->guffaw_gravity) @@ -797,7 +797,7 @@ _gdk_x11_display_create_window_impl (GdkDisplay *display, xattributes_mask, &xattributes); g_object_ref (window); - _gdk_x11_display_add_window (screen_x11->display, &impl->xid, window); + _gdk_x11_display_add_window (x11_screen->display, &impl->xid, window); switch (GDK_WINDOW_TYPE (window)) { diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c index 850c33f564..ca598e6532 100644 --- a/gdk/x11/gdkxftdefaults.c +++ b/gdk/x11/gdkxftdefaults.c @@ -151,32 +151,32 @@ get_integer_default (Display *dpy, static void init_xft_settings (GdkScreen *screen) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); Display *xdisplay = GDK_SCREEN_XDISPLAY (screen); double dpi_double; - if (screen_x11->xft_init) + if (x11_screen->xft_init) return; - screen_x11->xft_init = TRUE; + x11_screen->xft_init = TRUE; - if (!get_boolean_default (xdisplay, "antialias", &screen_x11->xft_antialias)) - screen_x11->xft_antialias = TRUE; + if (!get_boolean_default (xdisplay, "antialias", &x11_screen->xft_antialias)) + x11_screen->xft_antialias = TRUE; - if (!get_boolean_default (xdisplay, "hinting", &screen_x11->xft_hinting)) - screen_x11->xft_hinting = TRUE; + if (!get_boolean_default (xdisplay, "hinting", &x11_screen->xft_hinting)) + x11_screen->xft_hinting = TRUE; - if (!get_integer_default (xdisplay, "hintstyle", &screen_x11->xft_hintstyle)) - screen_x11->xft_hintstyle = FC_HINT_FULL; + if (!get_integer_default (xdisplay, "hintstyle", &x11_screen->xft_hintstyle)) + x11_screen->xft_hintstyle = FC_HINT_FULL; - if (!get_integer_default (xdisplay, "rgba", &screen_x11->xft_rgba)) - screen_x11->xft_rgba = FC_RGBA_UNKNOWN; + if (!get_integer_default (xdisplay, "rgba", &x11_screen->xft_rgba)) + x11_screen->xft_rgba = FC_RGBA_UNKNOWN; if (!get_double_default (xdisplay, "dpi", &dpi_double)) - dpi_double = (((double) DisplayHeight (xdisplay, screen_x11->screen_num) * 25.4) / - (double) DisplayHeightMM (xdisplay, screen_x11->screen_num)); + dpi_double = (((double) DisplayHeight (xdisplay, x11_screen->screen_num) * 25.4) / + (double) DisplayHeightMM (xdisplay, x11_screen->screen_num)); - screen_x11->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double); + x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double); } gboolean @@ -184,7 +184,7 @@ _gdk_x11_get_xft_setting (GdkScreen *screen, const gchar *name, GValue *value) { - GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen); + GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); if (strncmp (name, "gtk-xft-", 8) != 0) return FALSE; @@ -195,19 +195,19 @@ _gdk_x11_get_xft_setting (GdkScreen *screen, if (strcmp (name, "antialias") == 0) { - g_value_set_int (value, screen_x11->xft_antialias); + g_value_set_int (value, x11_screen->xft_antialias); return TRUE; } else if (strcmp (name, "hinting") == 0) { - g_value_set_int (value, screen_x11->xft_hinting); + g_value_set_int (value, x11_screen->xft_hinting); return TRUE; } else if (strcmp (name, "hintstyle") == 0) { const char *str; - switch (screen_x11->xft_hintstyle) + switch (x11_screen->xft_hintstyle) { case FC_HINT_NONE: str = "hintnone"; @@ -232,7 +232,7 @@ _gdk_x11_get_xft_setting (GdkScreen *screen, { const char *str; - switch (screen_x11->xft_rgba) + switch (x11_screen->xft_rgba) { case FC_RGBA_NONE: str = "none"; @@ -259,7 +259,7 @@ _gdk_x11_get_xft_setting (GdkScreen *screen, } else if (strcmp (name, "dpi") == 0) { - g_value_set_int (value, screen_x11->xft_dpi); + g_value_set_int (value, x11_screen->xft_dpi); return TRUE; } From 503087dfc92039e70071e05b1f32530578a6e891 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 02:40:45 +0100 Subject: [PATCH 0739/1463] x11: Export GdkX11Screen --- gdk/x11/gdkscreen-x11.c | 10 +++++----- gdk/x11/gdkscreen-x11.h | 11 +---------- gdk/x11/gdkx11screen.h | 16 ++++++++++++++++ 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index c6f54ca4a8..a42938b4aa 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -64,7 +64,7 @@ enum static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (GdkX11Screen, _gdk_x11_screen, GDK_TYPE_SCREEN) +G_DEFINE_TYPE (GdkX11Screen, gdk_x11_screen, GDK_TYPE_SCREEN) typedef struct _NetWmSupportedAtoms NetWmSupportedAtoms; @@ -86,7 +86,7 @@ struct _GdkX11Monitor static void -_gdk_x11_screen_init (GdkX11Screen *screen) +gdk_x11_screen_init (GdkX11Screen *screen) { } @@ -178,7 +178,7 @@ gdk_x11_screen_dispose (GObject *object) if (x11_screen->root_window) _gdk_window_destroy (x11_screen->root_window, TRUE); - G_OBJECT_CLASS (_gdk_x11_screen_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_x11_screen_parent_class)->dispose (object); x11_screen->xdisplay = NULL; x11_screen->xscreen = NULL; @@ -206,7 +206,7 @@ gdk_x11_screen_finalize (GObject *object) deinit_multihead (GDK_SCREEN (object)); - G_OBJECT_CLASS (_gdk_x11_screen_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_x11_screen_parent_class)->finalize (object); } static gint @@ -1661,7 +1661,7 @@ gdk_x11_screen_get_window_manager_name (GdkScreen *screen) } static void -_gdk_x11_screen_class_init (GdkX11ScreenClass *klass) +gdk_x11_screen_class_init (GdkX11ScreenClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); diff --git a/gdk/x11/gdkscreen-x11.h b/gdk/x11/gdkscreen-x11.h index 6755478667..e7aeca9665 100644 --- a/gdk/x11/gdkscreen-x11.h +++ b/gdk/x11/gdkscreen-x11.h @@ -25,6 +25,7 @@ #define __GDK_X11_SCREEN__ #include "gdkscreenprivate.h" +#include "gdkx11screen.h" #include "gdkvisual.h" #include "xsettings-client.h" #include @@ -32,16 +33,6 @@ G_BEGIN_DECLS -typedef struct _GdkX11Screen GdkX11Screen; -typedef struct _GdkX11ScreenClass GdkX11ScreenClass; - -#define GDK_TYPE_X11_SCREEN (_gdk_x11_screen_get_type ()) -#define GDK_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_SCREEN, GdkX11Screen)) -#define GDK_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) -#define GDK_IS_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_SCREEN)) -#define GDK_IS_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SCREEN)) -#define GDK_X11_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) - typedef struct _GdkX11Monitor GdkX11Monitor; struct _GdkX11Screen diff --git a/gdk/x11/gdkx11screen.h b/gdk/x11/gdkx11screen.h index f6a6130e63..3404e92af1 100644 --- a/gdk/x11/gdkx11screen.h +++ b/gdk/x11/gdkx11screen.h @@ -38,6 +38,22 @@ G_BEGIN_DECLS +#define GDK_TYPE_X11_SCREEN (gdk_x11_screen_get_type ()) +#define GDK_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_SCREEN, GdkX11Screen)) +#define GDK_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) +#define GDK_IS_X11_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_SCREEN)) +#define GDK_IS_X11_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_SCREEN)) +#define GDK_X11_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_SCREEN, GdkX11ScreenClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkX11Screen GdkX11Screen; +#else +typedef GdkScreen GdkX11Screen; +#endif +typedef struct _GdkX11ScreenClass GdkX11ScreenClass; + +GType gdk_x11_screen_get_type (void); + Screen * gdk_x11_screen_get_xscreen (GdkScreen *screen); int gdk_x11_screen_get_screen_number (GdkScreen *screen); From 3036922b3d7f58757f67ce7a87c7781fe1b3c46e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 03:06:59 +0100 Subject: [PATCH 0740/1463] gdk: Create windows via _gdk_display_create_window() THe use of this function will become visible in the next commits. But wrapping g_object_new() is a generally a good idea anyway. --- gdk/gdkdisplay.c | 6 ++++++ gdk/gdkdisplayprivate.h | 1 + gdk/gdkwindow.c | 5 +++-- gdk/quartz/gdkwindow-quartz.c | 2 +- gdk/win32/gdkwindow-win32.c | 5 +++-- gdk/x11/gdkwindow-x11.c | 4 ++-- 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 1c69f8b2e4..ba912f25a3 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2498,6 +2498,12 @@ _gdk_display_create_window_impl (GdkDisplay *display, attributes_mask); } +GdkWindow * +_gdk_display_create_window (GdkDisplay *display) +{ + return g_object_new (GDK_TYPE_WINDOW, NULL); +} + /** * gdk_keymap_get_for_display: * @display: the #GdkDisplay. diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 4885b18a46..608e7b1500 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -287,6 +287,7 @@ void _gdk_display_create_window_impl (GdkDisplay *display GdkEventMask event_mask, GdkWindowAttr *attributes, gint attributes_mask); +GdkWindow * _gdk_display_create_window (GdkDisplay *display); G_END_DECLS diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index aecfdff4fa..c4055df68c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -1307,7 +1307,9 @@ gdk_window_new (GdkWindow *parent, return NULL; } - window = g_object_new (GDK_TYPE_WINDOW, NULL); + display = gdk_screen_get_display (screen); + + window = _gdk_display_create_window (display); /* Windows with a foreign parent are treated as if they are children * of the root window, except for actual creation. @@ -1409,7 +1411,6 @@ gdk_window_new (GdkWindow *parent, } else if (native) { - display = gdk_screen_get_display (screen); event_mask = get_native_event_mask (window); /* Create the impl */ diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 284ed8a76d..f1bcda2660 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1041,7 +1041,7 @@ _gdk_windowing_window_init (void) g_assert (_gdk_root == NULL); - _gdk_root = g_object_new (GDK_TYPE_WINDOW, NULL); + _gdk_root = _gdk_display_create_window (_gdk_display); _gdk_root->impl = g_object_new (_gdk_root_window_impl_quartz_get_type (), NULL); _gdk_root->impl_window = _gdk_root; diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index 2f67f35fb3..c9130bc758 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -203,7 +203,8 @@ _gdk_windowing_window_init (GdkScreen *screen) g_assert (_gdk_root == NULL); - _gdk_root = g_object_new (GDK_TYPE_WINDOW, NULL); + _gdk_root = _gdk_display_create_window (_gdk_display); + private = (GdkWindowObject *)_gdk_root; private->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); private->impl_window = private; @@ -632,7 +633,7 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display, g_return_val_if_fail (display == _gdk_display, NULL); - window = g_object_new (GDK_TYPE_WINDOW, NULL); + window = _gdk_display_create_window (display); private = (GdkWindowObject *)window; private->visual = gdk_screen_get_system_visual (_gdk_screen); private->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index bf07ece86b..de7c6916a1 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -460,7 +460,7 @@ _gdk_x11_screen_init_root_window (GdkScreen *screen) g_assert (x11_screen->root_window == NULL); - window = x11_screen->root_window = g_object_new (GDK_TYPE_WINDOW, NULL); + window = x11_screen->root_window = _gdk_display_create_window (gdk_screen_get_display (screen)); window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); window->impl_window = window; @@ -906,7 +906,7 @@ gdk_x11_window_foreign_new_for_display (GdkDisplay *display, screen = _gdk_x11_display_screen_for_xrootwin (display, root); - win = g_object_new (GDK_TYPE_WINDOW, NULL); + win = _gdk_display_create_window (display); win->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_X11, NULL); win->impl_window = win; win->visual = gdk_x11_screen_lookup_visual (screen, From af7afbbe06690281d9703aaab7d1b9522cede3cb Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 03:13:55 +0100 Subject: [PATCH 0741/1463] gdk: Allow display subclasses to override the type used for windows We want to have different window types for different displays, so we can write code like this: #if GDK_WINDOWING_X11 if (GDK_IS_X11_WINDOW (window)) { /* do x11 stuff */ } else #endif #if GDK_WINDOWING_WAYLAND if (GDK_IS_WAYLAND_WINDOW (window)) { /* do wayland stuff */ } else #endif { /* do stuff for unsupported system */ } This requires different GdkWindow types and we currently don't have that, as only the GdkWindowImpl differs. With this method, every backend defines a custom type that's just a simple subclass of GdkWindow. This way GdkWindow behaves like all the other types (visuals, screens, displays) and we can write code like the above. --- gdk/gdkdisplay.c | 3 ++- gdk/gdkdisplayprivate.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index ba912f25a3..117f906c1e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -186,6 +186,7 @@ gdk_display_class_init (GdkDisplayClass *class) object_class->dispose = gdk_display_dispose; class->get_app_launch_context = gdk_display_real_get_app_launch_context; + class->window_type = GDK_TYPE_WINDOW; /** * GdkDisplay::opened: @@ -2501,7 +2502,7 @@ _gdk_display_create_window_impl (GdkDisplay *display, GdkWindow * _gdk_display_create_window (GdkDisplay *display) { - return g_object_new (GDK_TYPE_WINDOW, NULL); + return g_object_new (GDK_DISPLAY_GET_CLASS (display)->window_type, NULL); } /** diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 608e7b1500..29ab8460da 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -115,6 +115,8 @@ struct _GdkDisplayClass { GObjectClass parent_class; + GType window_type; /* type for native windows for this display, set in class_init */ + G_CONST_RETURN gchar * (*get_name) (GdkDisplay *display); gint (*get_n_screens) (GdkDisplay *display); GdkScreen * (*get_screen) (GdkDisplay *display, From 19699989e50594ca81914890404357bb880e4f60 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 03:34:31 +0100 Subject: [PATCH 0742/1463] x11: Add a GdkX11Window class for X11 windows --- gdk/x11/gdkdisplay-x11.c | 2 ++ gdk/x11/gdkwindow-x11.c | 21 +++++++++++++++++++++ gdk/x11/gdkx11window.h | 16 ++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index cf0752a27d..6ee667545f 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2722,6 +2722,8 @@ gdk_x11_display_class_init (GdkX11DisplayClass * class) object_class->dispose = gdk_x11_display_dispose; object_class->finalize = gdk_x11_display_finalize; + display_class->window_type = GDK_TYPE_X11_WINDOW; + display_class->get_name = gdk_x11_display_get_name; display_class->get_n_screens = gdk_x11_display_get_n_screens; display_class->get_screen = gdk_x11_display_get_screen; diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index de7c6916a1..5cc9fd20e4 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -128,6 +128,27 @@ static void gdk_window_impl_x11_finalize (GObject *object); (( time1 < time2 ) && ( time2 - time1 > ((guint32)-1)/2 )) \ ) +struct _GdkX11Window { + GdkWindow parent; +}; + +struct _GdkX11WindowClass { + GdkWindowClass parent_class; +}; + +G_DEFINE_TYPE (GdkX11Window, gdk_x11_window, GDK_TYPE_WINDOW) + +static void +gdk_x11_window_class_init (GdkX11WindowClass *x11_window_class) +{ +} + +static void +gdk_x11_window_init (GdkX11Window *x11_window) +{ +} + + G_DEFINE_TYPE (GdkWindowImplX11, gdk_window_impl_x11, GDK_TYPE_WINDOW_IMPL) static void diff --git a/gdk/x11/gdkx11window.h b/gdk/x11/gdkx11window.h index f1c8971c45..ecfbea5c8d 100644 --- a/gdk/x11/gdkx11window.h +++ b/gdk/x11/gdkx11window.h @@ -38,6 +38,22 @@ G_BEGIN_DECLS +#define GDK_TYPE_X11_WINDOW (gdk_x11_window_get_type ()) +#define GDK_X11_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_WINDOW, GdkX11Window)) +#define GDK_X11_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_WINDOW, GdkX11WindowClass)) +#define GDK_IS_X11_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_WINDOW)) +#define GDK_IS_X11_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_WINDOW)) +#define GDK_X11_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_WINDOW, GdkX11WindowClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkX11Window GdkX11Window; +#else +typedef GdkWindow GdkX11Window; +#endif +typedef struct _GdkX11WindowClass GdkX11WindowClass; + +GType gdk_x11_window_get_type (void); + Window gdk_x11_window_get_xid (GdkWindow *window); void gdk_x11_window_set_user_time (GdkWindow *window, guint32 timestamp); From dcb03b1085dbe763c6afc50154e2dc150f495068 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 03:39:32 +0100 Subject: [PATCH 0743/1463] gdk: Use G_DEFINE_TYPE for GdkWindow --- gdk/gdkwindow.c | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index c4055df68c..cb159e625c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -219,8 +219,6 @@ static void gdk_window_drop_cairo_surface (GdkWindow *private); static void gdk_window_free_paint_stack (GdkWindow *window); -static void gdk_window_init (GdkWindow *window); -static void gdk_window_class_init (GdkWindowClass *klass); static void gdk_window_finalize (GObject *object); static void gdk_window_set_property (GObject *object, @@ -273,22 +271,7 @@ new_region_tag (void) return ++tag; } -GType -gdk_window_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - object_type = g_type_register_static_simple (G_TYPE_OBJECT, - "GdkWindow", - sizeof (GdkWindowClass), - (GClassInitFunc) gdk_window_class_init, - sizeof (GdkWindow), - (GInstanceInitFunc) gdk_window_init, - 0); - - return object_type; -} +G_DEFINE_TYPE (GdkWindow, gdk_window, G_TYPE_OBJECT) GType _gdk_paintable_get_type (void) From 36893a9ef8b724e283038f0d538c411cdd5b1ddb Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 21 Dec 2010 03:54:15 +0100 Subject: [PATCH 0744/1463] gdk: Make GdkWindow abstract This way backend implementors get an error if they don't set display_class->window_type to their subclass. And that's exactly what we want. --- gdk/gdkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index cb159e625c..699d5dc3bd 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -271,7 +271,7 @@ new_region_tag (void) return ++tag; } -G_DEFINE_TYPE (GdkWindow, gdk_window, G_TYPE_OBJECT) +G_DEFINE_ABSTRACT_TYPE (GdkWindow, gdk_window, G_TYPE_OBJECT) GType _gdk_paintable_get_type (void) From 146fd989d65ce062845238e0cef42b8bf1594974 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 23:14:47 -0500 Subject: [PATCH 0745/1463] Rename GdkDisplayManagerX11 to GdkX11DisplayManager And add a gdkx11displaymanager.h header file. --- gdk/gdkdisplaymanager.c | 10 +++--- gdk/x11/Makefile.am | 1 + gdk/x11/gdkdisplaymanager-x11.c | 60 +++++++++++++++------------------ gdk/x11/gdkx.h | 1 + gdk/x11/gdkx11displaymanager.h | 49 +++++++++++++++++++++++++++ 5 files changed, 84 insertions(+), 37 deletions(-) create mode 100644 gdk/x11/gdkx11displaymanager.h diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 60f5302b2c..97022d5a22 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -32,6 +32,10 @@ #include "gdkmarshalers.h" #include "gdkintl.h" +#ifdef GDK_WINDOWING_X11 +#include "x11/gdkx.h" +#endif + /** * SECTION:gdkdisplaymanager @@ -147,10 +151,6 @@ gdk_display_manager_get_property (GObject *object, } } -#ifdef GDK_WINDOWING_X11 -extern GType gdk_display_manager_x11_get_type (void); -#endif - /** * gdk_display_manager_get: * @@ -174,7 +174,7 @@ gdk_display_manager_get (void) backend = g_getenv ("GDK_BACKEND"); #ifdef GDK_WINDOWING_X11 if (backend == NULL || strcmp (backend, "x11") == 0) - manager = g_object_new (gdk_display_manager_x11_get_type (), NULL); + manager = g_object_new (gdk_x11_display_manager_get_type (), NULL); else #endif if (backend != NULL) diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index bf33c4adae..a0489b4951 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -78,6 +78,7 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ gdkx11display.h \ + gdkx11displaymanager.h \ gdkx11property.h \ gdkx11screen.h \ gdkx11selection.h \ diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index d073c3c727..b0cd9dee3e 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -23,19 +23,14 @@ #include "config.h" +#include "gdkx11displaymanager.h" +#include "gdkdisplaymanagerprivate.h" #include "gdkdisplay-x11.h" #include "gdkprivate-x11.h" -#include "gdkdisplaymanagerprivate.h" #include "gdkinternals.h" -#define GDK_TYPE_DISPLAY_MANAGER_X11 (gdk_display_manager_x11_get_type ()) -#define GDK_DISPLAY_MANAGER_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER_X11, GdkDisplayManagerX11)) - -typedef struct _GdkDisplayManagerX11 GdkDisplayManagerX11; -typedef struct _GdkDisplayManagerClass GdkDisplayManagerX11Class; - -struct _GdkDisplayManagerX11 +struct _GdkX11DisplayManager { GdkDisplayManager parent; @@ -43,65 +38,66 @@ struct _GdkDisplayManagerX11 GSList *displays; }; -G_DEFINE_TYPE (GdkDisplayManagerX11, gdk_display_manager_x11, GDK_TYPE_DISPLAY_MANAGER) +struct _GdkX11DisplayManagerClass +{ + GdkDisplayManagerClass parent_class; +}; + +G_DEFINE_TYPE (GdkX11DisplayManager, gdk_x11_display_manager, GDK_TYPE_X11_DISPLAY_MANAGER) static GdkDisplay * -gdk_display_manager_x11_open_display (GdkDisplayManager *manager, +gdk_x11_display_manager_open_display (GdkDisplayManager *manager, const gchar *name) { return _gdk_x11_display_open (name); } static GSList * -gdk_display_manager_x11_list_displays (GdkDisplayManager *manager) +gdk_x11_display_manager_list_displays (GdkDisplayManager *manager) { - GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); - - return g_slist_copy (manager_x11->displays); + return g_slist_copy (GDK_X11_DISPLAY_MANAGER (manager)->displays); } static GdkDisplay * -gdk_display_manager_x11_get_default_display (GdkDisplayManager *manager) +gdk_x11_display_manager_get_default_display (GdkDisplayManager *manager) { - return GDK_DISPLAY_MANAGER_X11 (manager)->default_display; + return GDK_X11_DISPLAY_MANAGER (manager)->default_display; } static void -gdk_display_manager_x11_set_default_display (GdkDisplayManager *manager, +gdk_x11_display_manager_set_default_display (GdkDisplayManager *manager, GdkDisplay *display) { - GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); - - manager_x11->default_display = display; + GDK_X11_DISPLAY_MANAGER (manager)->default_display = display; _gdk_x11_display_make_default (display); } static void -gdk_display_manager_x11_init (GdkDisplayManagerX11 *manager) +gdk_x11_display_manager_init (GdkX11DisplayManager *manager) { _gdk_x11_windowing_init (); } static void -gdk_display_manager_x11_finalize (GObject *object) +gdk_x11_display_manager_finalize (GObject *object) { - g_error ("A GdkDisplayManagerX11 object was finalized. This should not happen"); - G_OBJECT_CLASS (gdk_display_manager_x11_parent_class)->finalize (object); + g_error ("A GdkX11DisplayManager object was finalized. This should not happen"); + G_OBJECT_CLASS (gdk_x11_display_manager_parent_class)->finalize (object); } static void -gdk_display_manager_x11_class_init (GdkDisplayManagerX11Class *class) +gdk_x11_display_manager_class_init (GdkX11DisplayManagerClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayManagerClass *manager_class = GDK_DISPLAY_MANAGER_CLASS (class); - object_class->finalize = gdk_display_manager_x11_finalize; + object_class->finalize = gdk_x11_display_manager_finalize; - manager_class->open_display = gdk_display_manager_x11_open_display; - manager_class->list_displays = gdk_display_manager_x11_list_displays; - manager_class->set_default_display = gdk_display_manager_x11_set_default_display; - manager_class->get_default_display = gdk_display_manager_x11_get_default_display; + manager_class->open_display = gdk_x11_display_manager_open_display; + manager_class->list_displays = gdk_x11_display_manager_list_displays; + manager_class->set_default_display = gdk_x11_display_manager_set_default_display; + manager_class->get_default_display = gdk_x11_display_manager_get_default_display; manager_class->atom_intern = _gdk_x11_display_manager_atom_intern; manager_class->get_atom_name = _gdk_x11_display_manager_get_atom_name; manager_class->lookup_keyval = _gdk_x11_display_manager_lookup_keyval; @@ -113,7 +109,7 @@ void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, GdkDisplay *display) { - GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); + GdkX11DisplayManager *manager_x11 = GDK_X11_DISPLAY_MANAGER (manager); if (manager_x11->displays == NULL) gdk_display_manager_set_default_display (manager, display); @@ -125,7 +121,7 @@ void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, GdkDisplay *display) { - GdkDisplayManagerX11 *manager_x11 = GDK_DISPLAY_MANAGER_X11 (manager); + GdkX11DisplayManager *manager_x11 = GDK_X11_DISPLAY_MANAGER (manager); manager_x11->displays = g_slist_remove (manager_x11->displays, display); diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 20d596b029..f496b2de69 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -57,6 +57,7 @@ #include #include +#include #include #include #include diff --git a/gdk/x11/gdkx11displaymanager.h b/gdk/x11/gdkx11displaymanager.h new file mode 100644 index 0000000000..b729a046ed --- /dev/null +++ b/gdk/x11/gdkx11displaymanager.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_DISPLAY_MANAGER_H__ +#define __GDK_X11_DISPLAY_MANAGER_H__ + +#include + +G_BEGIN_DECLS + +#ifdef GDK_COMPILATION +typedef struct _GdkX11DisplayManager GdkX11DisplayManager; +#else +typedef GdkDisplayManager GdkX11DisplayManager; +#endif +typedef struct _GdkX11DisplayManagerClass GdkX11DisplayManagerClass; + +#define GDK_TYPE_X11_DISPLAY_MANAGER (gdk_x11_display_manager_get_type()) +#define GDK_X11_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DISPLAY_MANAGER, GdkX11DisplayManager)) +#define GDK_X11_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DISPLAY_MANAGER, GdkX11DisplayManagerClass)) +#define GDK_IS_X11_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DISPLAY_MANAGER)) +#define GDK_IS_X11_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DISPLAY_MANAGER)) +#define GDK_X11_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DISPLAY_MANAGER, GdkX11DisplayManagerClass)) + +GType gdk_x11_display_manager_get_type (void); + +G_END_DECLS + +#endif /* __GDK_X11_DISPLAY_MANAGER_H__ */ From e96c193d06847a040762e01c1caf4a5d737664a9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 23:32:48 -0500 Subject: [PATCH 0746/1463] Rename GdkKeymapX11 to GdkX11Keymap And add a gdkx11keys.h header file. --- gdk/x11/Makefile.am | 1 + gdk/x11/gdkdisplay-x11.c | 2 +- gdk/x11/gdkkeys-x11.c | 150 ++++++++++++++------------------------- gdk/x11/gdkprivate-x11.h | 2 - gdk/x11/gdkx.h | 1 + gdk/x11/gdkx11keys.h | 49 +++++++++++++ 6 files changed, 105 insertions(+), 100 deletions(-) create mode 100644 gdk/x11/gdkx11keys.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index a0489b4951..b8f9e3e888 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -79,6 +79,7 @@ libgdkx11include_HEADERS = \ gdkx11cursor.h \ gdkx11display.h \ gdkx11displaymanager.h \ + gdkx11keys.h \ gdkx11property.h \ gdkx11screen.h \ gdkx11selection.h \ diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 6ee667545f..f5f00527fd 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -2706,7 +2706,7 @@ gdk_x11_display_get_keymap (GdkDisplay *display) display_x11 = GDK_X11_DISPLAY (display); if (!display_x11->keymap) - display_x11->keymap = g_object_new (_gdk_keymap_x11_get_type (), NULL); + display_x11->keymap = g_object_new (GDK_TYPE_X11_KEYMAP, NULL); display_x11->keymap->display = display; diff --git a/gdk/x11/gdkkeys-x11.c b/gdk/x11/gdkkeys-x11.c index 84b02d4f1c..5c907df789 100644 --- a/gdk/x11/gdkkeys-x11.c +++ b/gdk/x11/gdkkeys-x11.c @@ -26,6 +26,7 @@ #include "config.h" +#include "gdkx11keys.h" #include "gdkkeysprivate.h" #include "gdkkeysyms.h" #include "gdkprivate-x11.h" @@ -49,13 +50,6 @@ # endif #endif /* HAVE_XKB */ -typedef struct _GdkKeymapX11 GdkKeymapX11; -typedef struct _GdkKeymapClass GdkKeymapX11Class; - -#define GDK_TYPE_KEYMAP_X11 (_gdk_keymap_x11_get_type ()) -#define GDK_KEYMAP_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP_X11, GdkKeymapX11)) -#define GDK_IS_KEYMAP_X11(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_KEYMAP_X11)) - typedef struct _DirectionCacheEntry DirectionCacheEntry; struct _DirectionCacheEntry @@ -65,7 +59,7 @@ struct _DirectionCacheEntry PangoDirection direction; }; -struct _GdkKeymapX11 +struct _GdkX11Keymap { GdkKeymap parent_instance; @@ -99,46 +93,18 @@ struct _GdkKeymapX11 #endif }; +struct _GdkX11KeymapClass +{ + GdkKeymapClass parent_class; +}; + #define KEYMAP_USE_XKB(keymap) GDK_X11_DISPLAY ((keymap)->display)->use_xkb #define KEYMAP_XDISPLAY(keymap) GDK_DISPLAY_XDISPLAY ((keymap)->display) -GType _gdk_keymap_x11_get_type (void); -static void gdk_keymap_x11_class_init (GdkKeymapX11Class *klass); -static void gdk_keymap_x11_init (GdkKeymapX11 *keymap); -static void gdk_keymap_x11_finalize (GObject *object); - -static GdkKeymapClass *parent_class = NULL; - -GType -_gdk_keymap_x11_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkKeymapClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_keymap_x11_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkKeymapX11), - 0, /* n_preallocs */ - (GInstanceInitFunc) gdk_keymap_x11_init, - }; - - object_type = g_type_register_static (GDK_TYPE_KEYMAP, - g_intern_static_string ("GdkKeymapX11"), - &object_info, 0); - } - - return object_type; -} +G_DEFINE_TYPE (GdkX11Keymap, gdk_x11_keymap, GDK_TYPE_KEYMAP) static void -gdk_keymap_x11_init (GdkKeymapX11 *keymap) +gdk_x11_keymap_init (GdkX11Keymap *keymap) { keymap->min_keycode = 0; keymap->max_keycode = 0; @@ -163,9 +129,9 @@ gdk_keymap_x11_init (GdkKeymapX11 *keymap) } static void -gdk_keymap_x11_finalize (GObject *object) +gdk_x11_keymap_finalize (GObject *object) { - GdkKeymapX11 *keymap_x11 = GDK_KEYMAP_X11 (object); + GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (object); if (keymap_x11->keymap) XFree (keymap_x11->keymap); @@ -178,11 +144,11 @@ gdk_keymap_x11_finalize (GObject *object) XkbFreeKeyboard (keymap_x11->xkb_desc, XkbAllComponentsMask, True); #endif - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_x11_keymap_parent_class)->finalize (object); } static inline void -update_keyrange (GdkKeymapX11 *keymap_x11) +update_keyrange (GdkX11Keymap *keymap_x11) { if (keymap_x11->max_keycode == 0) XDisplayKeycodes (KEYMAP_XDISPLAY (GDK_KEYMAP (keymap_x11)), @@ -193,7 +159,7 @@ update_keyrange (GdkKeymapX11 *keymap_x11) static void update_modmap (Display *display, - GdkKeymapX11 *keymap_x11) + GdkX11Keymap *keymap_x11) { static struct { const gchar *name; @@ -232,7 +198,7 @@ update_modmap (Display *display, } static XkbDescPtr -get_xkb (GdkKeymapX11 *keymap_x11) +get_xkb (GdkX11Keymap *keymap_x11) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; @@ -286,9 +252,9 @@ get_xkb (GdkKeymapX11 *keymap_x11) static gint get_symbol (const KeySym *syms, - GdkKeymapX11 *keymap_x11, - gint group, - gint level) + GdkX11Keymap *keymap_x11, + gint group, + gint level) { gint index; @@ -301,7 +267,7 @@ get_symbol (const KeySym *syms, static void set_symbol (KeySym *syms, - GdkKeymapX11 *keymap_x11, + GdkX11Keymap *keymap_x11, gint group, gint level, KeySym sym) @@ -316,7 +282,7 @@ set_symbol (KeySym *syms, } static void -update_keymaps (GdkKeymapX11 *keymap_x11) +update_keymaps (GdkX11Keymap *keymap_x11) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_KEYMAP (keymap_x11)->display); Display *xdisplay = display_x11->xdisplay; @@ -492,7 +458,7 @@ update_keymaps (GdkKeymapX11 *keymap_x11) } static const KeySym* -get_keymap (GdkKeymapX11 *keymap_x11) +get_keymap (GdkX11Keymap *keymap_x11) { update_keymaps (keymap_x11); @@ -519,7 +485,7 @@ get_effective_keymap (GdkKeymap *keymap, #if HAVE_XKB static PangoDirection get_direction (XkbDescRec *xkb, - gint group) + gint group) { gint code; @@ -551,9 +517,9 @@ get_direction (XkbDescRec *xkb, } static PangoDirection -get_direction_from_cache (GdkKeymapX11 *keymap_x11, - XkbDescPtr xkb, - gint group) +get_direction_from_cache (GdkX11Keymap *keymap_x11, + XkbDescPtr xkb, + gint group) { Atom group_atom = xkb->names->groups[group]; @@ -623,7 +589,7 @@ get_num_groups (GdkKeymap *keymap, } static gboolean -update_direction (GdkKeymapX11 *keymap_x11, +update_direction (GdkX11Keymap *keymap_x11, gint group) { XkbDescPtr xkb = get_xkb (keymap_x11); @@ -648,7 +614,7 @@ update_direction (GdkKeymapX11 *keymap_x11, } static gboolean -update_lock_state (GdkKeymapX11 *keymap_x11, +update_lock_state (GdkX11Keymap *keymap_x11, gint locked_mods) { gboolean caps_lock_state; @@ -676,7 +642,7 @@ _gdk_x11_keymap_state_changed (GdkDisplay *display, if (display_x11->keymap) { - GdkKeymapX11 *keymap_x11 = GDK_KEYMAP_X11 (display_x11->keymap); + GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (display_x11->keymap); if (update_direction (keymap_x11, XkbStateGroup (&xkb_event->state))) g_signal_emit_by_name (keymap_x11, "direction-changed"); @@ -707,11 +673,11 @@ gdk_x11_keymap_get_direction (GdkKeymap *keymap) #if HAVE_XKB if (KEYMAP_USE_XKB (keymap)) { - GdkKeymapX11 *keymap_x11 = GDK_KEYMAP_X11 (keymap); + GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap); if (!keymap_x11->have_direction) { - GdkDisplay *display = GDK_KEYMAP (keymap_x11)->display; + GdkDisplay *display = keymap->display; XkbStateRec state_rec; XkbGetState (GDK_DISPLAY_XDISPLAY (display), XkbUseCoreKbd, @@ -734,7 +700,7 @@ gdk_x11_keymap_have_bidi_layouts (GdkKeymap *keymap) #if HAVE_XKB if (KEYMAP_USE_XKB (keymap)) { - GdkKeymapX11 *keymap_x11 = GDK_KEYMAP_X11 (keymap); + GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap); XkbDescPtr xkb = get_xkb (keymap_x11); int num_groups = get_num_groups (keymap, xkb); @@ -760,25 +726,17 @@ gdk_x11_keymap_have_bidi_layouts (GdkKeymap *keymap) static gboolean gdk_x11_keymap_get_caps_lock_state (GdkKeymap *keymap) { - GdkKeymapX11 *keymap_x11; - keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); - - return keymap_x11->caps_lock_state; + return GDK_X11_KEYMAP (keymap)->caps_lock_state; } static gboolean gdk_x11_keymap_get_num_lock_state (GdkKeymap *keymap) { - GdkKeymapX11 *keymap_x11; - keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); - - return keymap_x11->num_lock_state; + return GDK_X11_KEYMAP (keymap)->num_lock_state; } static gboolean @@ -788,7 +746,7 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, gint *n_keys) { GArray *retval; - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE); g_return_val_if_fail (keys != NULL, FALSE); @@ -796,7 +754,7 @@ gdk_x11_keymap_get_entries_for_keyval (GdkKeymap *keymap, g_return_val_if_fail (keyval != 0, FALSE); keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); retval = g_array_new (FALSE, FALSE, sizeof (GdkKeymapKey)); @@ -915,7 +873,7 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, guint **keyvals, gint *n_entries) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; GArray *key_array; GArray *keyval_array; @@ -924,7 +882,7 @@ gdk_x11_keymap_get_entries_for_keycode (GdkKeymap *keymap, g_return_val_if_fail (n_entries != NULL, FALSE); keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); update_keyrange (keymap_x11); @@ -1054,14 +1012,14 @@ static guint gdk_x11_keymap_lookup_key (GdkKeymap *keymap, const GdkKeymapKey *key) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), 0); g_return_val_if_fail (key != NULL, 0); g_return_val_if_fail (key->group < 4, 0); keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); #ifdef HAVE_XKB if (KEYMAP_USE_XKB (keymap)) @@ -1215,7 +1173,7 @@ MyEnhancedXkbTranslateKeyCode(register XkbDescPtr xkb, * of the keyboard map. See section 12.7 of the Xlib reference manual */ static guint -translate_keysym (GdkKeymapX11 *keymap_x11, +translate_keysym (GdkX11Keymap *keymap_x11, guint hardware_keycode, gint group, GdkModifierType state, @@ -1312,7 +1270,7 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, gint *level, GdkModifierType *consumed_modifiers) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; KeySym tmp_keyval = NoSymbol; guint tmp_modifiers; @@ -1320,7 +1278,7 @@ gdk_x11_keymap_translate_keyboard_state (GdkKeymap *keymap, g_return_val_if_fail (group < 4, FALSE); keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); if (keyval) *keyval = NoSymbol; @@ -1605,7 +1563,7 @@ _gdk_x11_get_group_for_state (GdkDisplay *display, else #endif { - GdkKeymapX11 *keymap_impl = GDK_KEYMAP_X11 (gdk_keymap_get_for_display (display)); + GdkX11Keymap *keymap_impl = GDK_X11_KEYMAP (gdk_keymap_get_for_display (display)); update_keymaps (keymap_impl); return (state & keymap_impl->group_switch_mask) ? 1 : 0; } @@ -1615,11 +1573,11 @@ void _gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap, GdkModifierType *modifiers) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; int i; keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); for (i = 3; i < 8; i++) { @@ -1641,11 +1599,11 @@ static void gdk_x11_keymap_add_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; int i; keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); for (i = 3; i < 8; i++) { @@ -1667,11 +1625,11 @@ gboolean _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap, guint keycode) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; gint i; keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); if (keycode < keymap_x11->min_keycode || keycode > keymap_x11->max_keycode) @@ -1702,7 +1660,7 @@ static gboolean gdk_x11_keymap_map_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state) { - GdkKeymapX11 *keymap_x11; + GdkX11Keymap *keymap_x11; const guint vmods[] = { GDK_SUPER_MASK, GDK_HYPER_MASK, GDK_META_MASK }; @@ -1710,7 +1668,7 @@ gdk_x11_keymap_map_virtual_modifiers (GdkKeymap *keymap, gboolean retval; keymap = GET_EFFECTIVE_KEYMAP (keymap); - keymap_x11 = GDK_KEYMAP_X11 (keymap); + keymap_x11 = GDK_X11_KEYMAP (keymap); if (KEYMAP_USE_XKB (keymap)) get_xkb (keymap_x11); @@ -1738,14 +1696,12 @@ gdk_x11_keymap_map_virtual_modifiers (GdkKeymap *keymap, } static void -gdk_keymap_x11_class_init (GdkKeymapX11Class *klass) +gdk_x11_keymap_class_init (GdkX11KeymapClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkKeymapClass *keymap_class = GDK_KEYMAP_CLASS (klass); - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_keymap_x11_finalize; + object_class->finalize = gdk_x11_keymap_finalize; keymap_class->get_direction = gdk_x11_keymap_get_direction; keymap_class->have_bidi_layouts = gdk_x11_keymap_have_bidi_layouts; diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 08d9cd8a56..405d05cb56 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -145,8 +145,6 @@ gboolean _gdk_x11_moveresize_handle_event (XEvent *event); gboolean _gdk_x11_moveresize_configure_done (GdkDisplay *display, GdkWindow *window); -GType _gdk_keymap_x11_get_type (void); - void _gdk_x11_keymap_state_changed (GdkDisplay *display, XEvent *event); void _gdk_x11_keymap_keys_changed (GdkDisplay *display); diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index f496b2de69..c8a3f20f68 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -58,6 +58,7 @@ #include #include #include +#include #include #include #include diff --git a/gdk/x11/gdkx11keys.h b/gdk/x11/gdkx11keys.h new file mode 100644 index 0000000000..0b10216d04 --- /dev/null +++ b/gdk/x11/gdkx11keys.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_KEYS_H__ +#define __GDK_X11_KEYS_H__ + +#include + +G_BEGIN_DECLS + +#ifdef GDK_COMPILATION +typedef struct _GdkX11Keymap GdkX11Keymap; +#else +typedef GdkKeymap GdkX11Keymap; +#endif +typedef struct _GdkX11KeymapClass GdkX11KeymapClass; + +#define GDK_TYPE_X11_KEYMAP (gdk_x11_keymap_get_type()) +#define GDK_X11_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_KEYMAP, GdkX11Keymap)) +#define GDK_X11_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_KEYMAP, GdkX11KeymapClass)) +#define GDK_IS_X11_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_KEYMAP)) +#define GDK_IS_X11_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_KEYMAP)) +#define GDK_X11_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_KEYMAP, GdkX11KeymapClass)) + +GType gdk_x11_keymap_get_type (void); + +G_END_DECLS + +#endif /* __GDK_X11_KEYMAP_H__ */ From 5cddc7ccbb1fe1a9c09f56f6df5b9af83e1f2886 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 20 Dec 2010 23:59:07 -0500 Subject: [PATCH 0747/1463] Rename GdkDevice[Manager]Core to GdkX11Device[Manager]Core This is mainly to avoid clash with the classes of the same name in the quartz backend. --- gdk/x11/Makefile.am | 8 +- ...{gdkdevice-core.c => gdkdevice-core-x11.c} | 220 +++---- gdk/x11/gdkdevice-core.h | 52 -- ...ger-core.c => gdkdevicemanager-core-x11.c} | 552 +++++++++--------- gdk/x11/gdkdevicemanager-core.h | 54 -- gdk/x11/gdkdevicemanager-x11.c | 4 +- gdk/x11/gdkdevicemanager-xi.c | 2 +- gdk/x11/gdkdevicemanager-xi.h | 6 +- gdk/x11/gdkx.h | 2 + gdk/x11/gdkx11device-core.h | 51 ++ gdk/x11/gdkx11devicemanager-core.h | 54 ++ 11 files changed, 503 insertions(+), 502 deletions(-) rename gdk/x11/{gdkdevice-core.c => gdkdevice-core-x11.c} (65%) delete mode 100644 gdk/x11/gdkdevice-core.h rename gdk/x11/{gdkdevicemanager-core.c => gdkdevicemanager-core-x11.c} (55%) delete mode 100644 gdk/x11/gdkdevicemanager-core.h create mode 100644 gdk/x11/gdkx11device-core.h create mode 100644 gdk/x11/gdkx11devicemanager-core.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index b8f9e3e888..8b09b320dc 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -23,10 +23,8 @@ libgdk_x11_la_SOURCES = \ gdkasync.c \ gdkasync.h \ gdkcursor-x11.c \ - gdkdevice-core.h \ - gdkdevice-core.c \ - gdkdevicemanager-core.h \ - gdkdevicemanager-core.c \ + gdkdevice-core-x11.c \ + gdkdevicemanager-core-x11.c \ gdkdevicemanager-x11.c \ gdkdisplaymanager-x11.c \ gdkdisplay-x11.c \ @@ -77,6 +75,8 @@ libgdkinclude_HEADERS = \ libgdkx11include_HEADERS = \ gdkx11cursor.h \ + gdkx11device-core.h \ + gdkx11devicemanager-core.h \ gdkx11display.h \ gdkx11displaymanager.h \ gdkx11keys.h \ diff --git a/gdk/x11/gdkdevice-core.c b/gdk/x11/gdkdevice-core-x11.c similarity index 65% rename from gdk/x11/gdkdevice-core.c rename to gdk/x11/gdkdevice-core-x11.c index 224c3ed1ca..795cbb4836 100644 --- a/gdk/x11/gdkdevice-core.c +++ b/gdk/x11/gdkdevice-core-x11.c @@ -19,78 +19,77 @@ #include "config.h" -#include "gdkdevice-core.h" +#include "gdkx11device-core.h" #include "gdkinternals.h" #include "gdkwindow.h" #include "gdkprivate-x11.h" #include "gdkasync.h" -static gboolean gdk_device_core_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events); -static void gdk_device_core_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask); -static void gdk_device_core_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor); -static void gdk_device_core_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y); -static gboolean gdk_device_core_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask); -static GdkGrabStatus gdk_device_core_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_); -static void gdk_device_core_ungrab (GdkDevice *device, - guint32 time_); -static GdkWindow * gdk_device_core_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel); -static void gdk_device_core_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask); +static gboolean gdk_x11_device_core_get_history (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events); +static void gdk_x11_device_core_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask); +static void gdk_x11_device_core_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor); +static void gdk_x11_device_core_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y); +static gboolean gdk_x11_device_core_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask); +static GdkGrabStatus gdk_x11_device_core_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_); +static void gdk_x11_device_core_ungrab (GdkDevice *device, + guint32 time_); +static GdkWindow * gdk_x11_device_core_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel); +static void gdk_x11_device_core_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask); - -G_DEFINE_TYPE (GdkDeviceCore, gdk_device_core, GDK_TYPE_DEVICE) +G_DEFINE_TYPE (GdkX11DeviceCore, gdk_x11_device_core, GDK_TYPE_DEVICE) static void -gdk_device_core_class_init (GdkDeviceCoreClass *klass) +gdk_x11_device_core_class_init (GdkX11DeviceCoreClass *klass) { GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass); - device_class->get_history = gdk_device_core_get_history; - device_class->get_state = gdk_device_core_get_state; - device_class->set_window_cursor = gdk_device_core_set_window_cursor; - device_class->warp = gdk_device_core_warp; - device_class->query_state = gdk_device_core_query_state; - device_class->grab = gdk_device_core_grab; - device_class->ungrab = gdk_device_core_ungrab; - device_class->window_at_position = gdk_device_core_window_at_position; - device_class->select_window_events = gdk_device_core_select_window_events; + device_class->get_history = gdk_x11_device_core_get_history; + device_class->get_state = gdk_x11_device_core_get_state; + device_class->set_window_cursor = gdk_x11_device_core_set_window_cursor; + device_class->warp = gdk_x11_device_core_warp; + device_class->query_state = gdk_x11_device_core_query_state; + device_class->grab = gdk_x11_device_core_grab; + device_class->ungrab = gdk_x11_device_core_ungrab; + device_class->window_at_position = gdk_x11_device_core_window_at_position; + device_class->select_window_events = gdk_x11_device_core_select_window_events; } static void -gdk_device_core_init (GdkDeviceCore *device_core) +gdk_x11_device_core_init (GdkX11DeviceCore *device_core) { GdkDevice *device; @@ -117,12 +116,12 @@ impl_coord_in_window (GdkWindow *window, } static gboolean -gdk_device_core_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events) +gdk_x11_device_core_get_history (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events) { XTimeCoord *xcoords; GdkTimeCoord **coords; @@ -179,10 +178,10 @@ gdk_device_core_get_history (GdkDevice *device, } static void -gdk_device_core_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask) +gdk_x11_device_core_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask) { gint x_int, y_int; @@ -196,9 +195,9 @@ gdk_device_core_get_state (GdkDevice *device, } static void -gdk_device_core_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor) +gdk_x11_device_core_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor) { Cursor xcursor; @@ -213,10 +212,10 @@ gdk_device_core_set_window_cursor (GdkDevice *device, } static void -gdk_device_core_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y) +gdk_x11_device_core_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y) { Display *xdisplay; Window dest; @@ -228,15 +227,15 @@ gdk_device_core_warp (GdkDevice *device, } static gboolean -gdk_device_core_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask) +gdk_x11_device_core_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask) { GdkDisplay *display; GdkScreen *default_screen; @@ -253,10 +252,8 @@ gdk_device_core_query_state (GdkDevice *device, GDK_WINDOW_XID (window), &xroot_window, &xchild_window, - &xroot_x, - &xroot_y, - &xwin_x, - &xwin_y, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, &xmask)) return FALSE; } @@ -276,10 +273,8 @@ gdk_device_core_query_state (GdkDevice *device, XQueryPointer (xdisplay, w, &xroot_window, &xchild_window, - &xroot_x, - &xroot_y, - &xwin_x, - &xwin_y, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, &xmask); XDestroyWindow (xdisplay, w); } @@ -309,13 +304,13 @@ gdk_device_core_query_state (GdkDevice *device, } static GdkGrabStatus -gdk_device_core_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_) +gdk_x11_device_core_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_) { GdkDisplay *display; Window xwindow, xconfine_to; @@ -391,8 +386,8 @@ gdk_device_core_grab (GdkDevice *device, } static void -gdk_device_core_ungrab (GdkDevice *device, - guint32 time_) +gdk_x11_device_core_ungrab (GdkDevice *device, + guint32 time_) { GdkDisplay *display; gulong serial; @@ -409,11 +404,11 @@ gdk_device_core_ungrab (GdkDevice *device, } static GdkWindow * -gdk_device_core_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel) +gdk_x11_device_core_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel) { GdkDisplay *display; GdkScreen *screen; @@ -473,7 +468,10 @@ gdk_device_core_window_at_position (GdkDevice *device, xwindow = GDK_WINDOW_XID (window); gdk_x11_display_error_trap_push (display); XQueryPointer (xdisplay, xwindow, - &root, &child, &rootx, &rooty, &winx, &winy, &xmask); + &root, &child, + &rootx, &rooty, + &winx, &winy, + &xmask); if (gdk_x11_display_error_trap_pop (display)) continue; if (child != None) @@ -494,7 +492,9 @@ gdk_device_core_window_at_position (GdkDevice *device, XMapWindow (xdisplay, w); XQueryPointer (xdisplay, xwindow, &root, &child, - &rootx, &rooty, &winx, &winy, &xmask); + &rootx, &rooty, + &winx, &winy, + &xmask); XDestroyWindow (xdisplay, w); if (child == w) { @@ -550,9 +550,9 @@ gdk_device_core_window_at_position (GdkDevice *device, } static void -gdk_device_core_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask) +gdk_x11_device_core_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask) { GdkEventMask filter_mask, window_mask; guint xmask = 0; diff --git a/gdk/x11/gdkdevice-core.h b/gdk/x11/gdkdevice-core.h deleted file mode 100644 index af425da417..0000000000 --- a/gdk/x11/gdkdevice-core.h +++ /dev/null @@ -1,52 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_CORE_H__ -#define __GDK_DEVICE_CORE_H__ - -#include "gdkdeviceprivate.h" - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_CORE (gdk_device_core_get_type ()) -#define GDK_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_CORE, GdkDeviceCore)) -#define GDK_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_CORE, GdkDeviceCoreClass)) -#define GDK_IS_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_CORE)) -#define GDK_IS_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_CORE)) -#define GDK_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_CORE, GdkDeviceCoreClass)) - -typedef struct _GdkDeviceCore GdkDeviceCore; -typedef struct _GdkDeviceCoreClass GdkDeviceCoreClass; - -struct _GdkDeviceCore -{ - GdkDevice parent_instance; -}; - -struct _GdkDeviceCoreClass -{ - GdkDeviceClass parent_class; -}; - -G_GNUC_INTERNAL -GType gdk_device_core_get_type (void) G_GNUC_CONST; - -G_END_DECLS - -#endif /* __GDK_DEVICE_CORE_H__ */ diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core-x11.c similarity index 55% rename from gdk/x11/gdkdevicemanager-core.c rename to gdk/x11/gdkdevicemanager-core-x11.c index e332cbc3c1..99c0b07640 100644 --- a/gdk/x11/gdkdevicemanager-core.c +++ b/gdk/x11/gdkdevicemanager-core-x11.c @@ -19,13 +19,13 @@ #include "config.h" -#include "gdkdevicemanager-core.h" +#include "gdkx11devicemanager-core.h" +#include "gdkx11device-core.h" #include "gdkkeysyms.h" #include "gdkdevicemanagerprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" -#include "gdkdevice-core.h" #include "gdkprivate-x11.h" #ifdef HAVE_XKB @@ -36,48 +36,48 @@ #define HAS_FOCUS(toplevel) \ ((toplevel)->has_focus || (toplevel)->has_pointer_focus) -static void gdk_device_manager_core_finalize (GObject *object); -static void gdk_device_manager_core_constructed (GObject *object); +static void gdk_x11_device_manager_core_finalize (GObject *object); +static void gdk_x11_device_manager_core_constructed (GObject *object); -static GList * gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type); -static GdkDevice * gdk_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager); +static GList * gdk_x11_device_manager_core_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type); +static GdkDevice * gdk_x11_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager); -static void gdk_device_manager_event_translator_init (GdkEventTranslatorIface *iface); +static void gdk_x11_device_manager_event_translator_init (GdkEventTranslatorIface *iface); -static gboolean gdk_device_manager_core_translate_event (GdkEventTranslator *translator, - GdkDisplay *display, - GdkEvent *event, - XEvent *xevent); +static gboolean gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator, + GdkDisplay *display, + GdkEvent *event, + XEvent *xevent); -G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerCore, gdk_device_manager_core, GDK_TYPE_DEVICE_MANAGER, +G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerCore, gdk_x11_device_manager_core, GDK_TYPE_DEVICE_MANAGER, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, - gdk_device_manager_event_translator_init)) + gdk_x11_device_manager_event_translator_init)) static void -gdk_device_manager_core_class_init (GdkDeviceManagerCoreClass *klass) +gdk_x11_device_manager_core_class_init (GdkX11DeviceManagerCoreClass *klass) { GdkDeviceManagerClass *device_manager_class = GDK_DEVICE_MANAGER_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); - object_class->finalize = gdk_device_manager_core_finalize; - object_class->constructed = gdk_device_manager_core_constructed; - device_manager_class->list_devices = gdk_device_manager_core_list_devices; - device_manager_class->get_client_pointer = gdk_device_manager_core_get_client_pointer; + object_class->finalize = gdk_x11_device_manager_core_finalize; + object_class->constructed = gdk_x11_device_manager_core_constructed; + device_manager_class->list_devices = gdk_x11_device_manager_core_list_devices; + device_manager_class->get_client_pointer = gdk_x11_device_manager_core_get_client_pointer; } static void -gdk_device_manager_event_translator_init (GdkEventTranslatorIface *iface) +gdk_x11_device_manager_event_translator_init (GdkEventTranslatorIface *iface) { - iface->translate_event = gdk_device_manager_core_translate_event; + iface->translate_event = gdk_x11_device_manager_core_translate_event; } static GdkDevice * create_core_pointer (GdkDeviceManager *device_manager, GdkDisplay *display) { - return g_object_new (GDK_TYPE_DEVICE_CORE, + return g_object_new (GDK_TYPE_X11_DEVICE_CORE, "name", "Core Pointer", "type", GDK_DEVICE_TYPE_MASTER, "input-source", GDK_SOURCE_MOUSE, @@ -92,7 +92,7 @@ static GdkDevice * create_core_keyboard (GdkDeviceManager *device_manager, GdkDisplay *display) { - return g_object_new (GDK_TYPE_DEVICE_CORE, + return g_object_new (GDK_TYPE_X11_DEVICE_CORE, "name", "Core Keyboard", "type", GDK_DEVICE_TYPE_MASTER, "input-source", GDK_SOURCE_KEYBOARD, @@ -104,30 +104,30 @@ create_core_keyboard (GdkDeviceManager *device_manager, } static void -gdk_device_manager_core_init (GdkDeviceManagerCore *device_manager) +gdk_x11_device_manager_core_init (GdkX11DeviceManagerCore *device_manager) { } static void -gdk_device_manager_core_finalize (GObject *object) +gdk_x11_device_manager_core_finalize (GObject *object) { - GdkDeviceManagerCore *device_manager_core; + GdkX11DeviceManagerCore *device_manager_core; - device_manager_core = GDK_DEVICE_MANAGER_CORE (object); + device_manager_core = GDK_X11_DEVICE_MANAGER_CORE (object); g_object_unref (device_manager_core->core_pointer); g_object_unref (device_manager_core->core_keyboard); - G_OBJECT_CLASS (gdk_device_manager_core_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_x11_device_manager_core_parent_class)->finalize (object); } static void -gdk_device_manager_core_constructed (GObject *object) +gdk_x11_device_manager_core_constructed (GObject *object) { - GdkDeviceManagerCore *device_manager; + GdkX11DeviceManagerCore *device_manager; GdkDisplay *display; - device_manager = GDK_DEVICE_MANAGER_CORE (object); + device_manager = GDK_X11_DEVICE_MANAGER_CORE (object); display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); device_manager->core_pointer = create_core_pointer (GDK_DEVICE_MANAGER (device_manager), display); device_manager->core_keyboard = create_core_keyboard (GDK_DEVICE_MANAGER (device_manager), display); @@ -137,10 +137,10 @@ gdk_device_manager_core_constructed (GObject *object) } static void -translate_key_event (GdkDisplay *display, - GdkDeviceManagerCore *device_manager, - GdkEvent *event, - XEvent *xevent) +translate_key_event (GdkDisplay *display, + GdkX11DeviceManagerCore *device_manager, + GdkEvent *event, + XEvent *xevent) { GdkKeymap *keymap = gdk_keymap_get_for_display (display); GdkModifierType consumed, state; @@ -158,10 +158,10 @@ translate_key_event (GdkDisplay *display, event->key.keyval = GDK_KEY_VoidSymbol; gdk_keymap_translate_keyboard_state (keymap, - event->key.hardware_keycode, - event->key.state, - event->key.group, - &event->key.keyval, + event->key.hardware_keycode, + event->key.state, + event->key.group, + &event->key.keyval, NULL, NULL, &consumed); state = event->key.state & ~consumed; @@ -186,28 +186,28 @@ translate_key_event (GdkDisplay *display, /* Apply the control key - Taken from Xlib */ if (event->key.state & GDK_CONTROL_MASK) - { - if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F; - else if (c == '2') - { - event->key.string = g_memdup ("\0\0", 2); - event->key.length = 1; - buf[0] = '\0'; - goto out; - } - else if (c >= '3' && c <= '7') c -= ('3' - '\033'); - else if (c == '8') c = '\177'; - else if (c == '/') c = '_' & 0x1F; - } + { + if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F; + else if (c == '2') + { + event->key.string = g_memdup ("\0\0", 2); + event->key.length = 1; + buf[0] = '\0'; + goto out; + } + else if (c >= '3' && c <= '7') c -= ('3' - '\033'); + else if (c == '8') c = '\177'; + else if (c == '/') c = '_' & 0x1F; + } len = g_unichar_to_utf8 (c, buf); buf[len] = '\0'; event->key.string = g_locale_from_utf8 (buf, len, - NULL, &bytes_written, - NULL); + NULL, &bytes_written, + NULL); if (event->key.string) - event->key.length = bytes_written; + event->key.length = bytes_written; } else if (event->key.keyval == GDK_KEY_Escape) { @@ -215,7 +215,7 @@ translate_key_event (GdkDisplay *display, event->key.string = g_strdup ("\033"); } else if (event->key.keyval == GDK_KEY_Return || - event->key.keyval == GDK_KEY_KP_Enter) + event->key.keyval == GDK_KEY_KP_Enter) { event->key.length = 1; event->key.string = g_strdup ("\r"); @@ -231,15 +231,15 @@ translate_key_event (GdkDisplay *display, #ifdef G_ENABLE_DEBUG if (_gdk_debug_flags & GDK_DEBUG_EVENTS) { - g_message ("%s:\t\twindow: %ld key: %12s %d", - event->type == GDK_KEY_PRESS ? "key press " : "key release", - xevent->xkey.window, - event->key.keyval ? gdk_keyval_name (event->key.keyval) : "(none)", - event->key.keyval); + g_message ("%s:\t\twindow: %ld key: %12s %d", + event->type == GDK_KEY_PRESS ? "key press " : "key release", + xevent->xkey.window, + event->key.keyval ? gdk_keyval_name (event->key.keyval) : "(none)", + event->key.keyval); if (event->key.length > 0) - g_message ("\t\tlength: %4d string: \"%s\"", - event->key.length, buf); + g_message ("\t\tlength: %4d string: \"%s\"", + event->key.length, buf); } #endif /* G_ENABLE_DEBUG */ return; @@ -267,7 +267,7 @@ static const char notify_details[][23] = { static void set_user_time (GdkWindow *window, - GdkEvent *event) + GdkEvent *event) { g_return_if_fail (event != NULL); @@ -283,9 +283,9 @@ set_user_time (GdkWindow *window, } static void -generate_focus_event (GdkDeviceManagerCore *device_manager, - GdkWindow *window, - gboolean in) +generate_focus_event (GdkX11DeviceManagerCore *device_manager, + GdkWindow *window, + gboolean in) { GdkEvent *event; @@ -301,8 +301,8 @@ generate_focus_event (GdkDeviceManagerCore *device_manager, static gboolean set_screen_from_root (GdkDisplay *display, - GdkEvent *event, - Window xrootwin) + GdkEvent *event, + Window xrootwin) { GdkScreen *screen; @@ -364,7 +364,7 @@ is_parent_of (GdkWindow *parent, while (w != NULL) { if (w == parent) - return TRUE; + return TRUE; w = gdk_window_get_parent (w); } @@ -392,7 +392,7 @@ get_event_window (GdkEventTranslator *translator, serial = _gdk_display_get_next_serial (display); info = _gdk_display_has_device_grab (display, - GDK_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, + GDK_X11_DEVICE_MANAGER_CORE (device_manager)->core_keyboard, serial); if (info && (!is_parent_of (info->window, window) || @@ -407,19 +407,19 @@ get_event_window (GdkEventTranslator *translator, } static gboolean -gdk_device_manager_core_translate_event (GdkEventTranslator *translator, - GdkDisplay *display, - GdkEvent *event, - XEvent *xevent) +gdk_x11_device_manager_core_translate_event (GdkEventTranslator *translator, + GdkDisplay *display, + GdkEvent *event, + XEvent *xevent) { - GdkDeviceManagerCore *device_manager; + GdkX11DeviceManagerCore *device_manager; GdkWindow *window; GdkWindowImplX11 *window_impl = NULL; gboolean return_val; GdkToplevelX11 *toplevel = NULL; GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); - device_manager = GDK_DEVICE_MANAGER_CORE (translator); + device_manager = GDK_X11_DEVICE_MANAGER_CORE (translator); return_val = FALSE; window = get_event_window (translator, xevent); @@ -440,10 +440,10 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, if (window && GDK_WINDOW_DESTROYED (window)) { if (xevent->type != DestroyNotify) - { - return_val = FALSE; - goto done; - } + { + return_val = FALSE; + goto done; + } } if (window && @@ -491,45 +491,45 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, */ if (!display_x11->have_xkb_autorepeat && XPending (xevent->xkey.display)) - { - XEvent next_event; + { + XEvent next_event; - XPeekEvent (xevent->xkey.display, &next_event); + XPeekEvent (xevent->xkey.display, &next_event); - if (next_event.type == KeyPress && - next_event.xkey.keycode == xevent->xkey.keycode && - next_event.xkey.time == xevent->xkey.time) - { - return_val = FALSE; - break; - } - } + if (next_event.type == KeyPress && + next_event.xkey.keycode == xevent->xkey.keycode && + next_event.xkey.time == xevent->xkey.time) + { + return_val = FALSE; + break; + } + } translate_key_event (display, device_manager, event, xevent); break; case ButtonPress: GDK_NOTE (EVENTS, - g_message ("button press:\t\twindow: %ld x,y: %d %d button: %d", - xevent->xbutton.window, - xevent->xbutton.x, xevent->xbutton.y, - xevent->xbutton.button)); + g_message ("button press:\t\twindow: %ld x,y: %d %d button: %d", + xevent->xbutton.window, + xevent->xbutton.x, xevent->xbutton.y, + xevent->xbutton.button)); if (window == NULL) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } /* If we get a ButtonPress event where the button is 4 or 5, - it's a Scroll event */ + it's a Scroll event */ switch (xevent->xbutton.button) { case 4: /* up */ case 5: /* down */ case 6: /* left */ case 7: /* right */ - event->scroll.type = GDK_SCROLL; + event->scroll.type = GDK_SCROLL; if (xevent->xbutton.button == 4) event->scroll.direction = GDK_SCROLL_UP; @@ -540,41 +540,41 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, else event->scroll.direction = GDK_SCROLL_RIGHT; - event->scroll.window = window; - event->scroll.time = xevent->xbutton.time; - event->scroll.x = (gdouble) xevent->xbutton.x; - event->scroll.y = (gdouble) xevent->xbutton.y; - event->scroll.x_root = (gdouble) xevent->xbutton.x_root; - event->scroll.y_root = (gdouble) xevent->xbutton.y_root; - event->scroll.state = (GdkModifierType) xevent->xbutton.state; - event->scroll.device = device_manager->core_pointer; + event->scroll.window = window; + event->scroll.time = xevent->xbutton.time; + event->scroll.x = (gdouble) xevent->xbutton.x; + event->scroll.y = (gdouble) xevent->xbutton.y; + event->scroll.x_root = (gdouble) xevent->xbutton.x_root; + event->scroll.y_root = (gdouble) xevent->xbutton.y_root; + event->scroll.state = (GdkModifierType) xevent->xbutton.state; + event->scroll.device = device_manager->core_pointer; - if (!set_screen_from_root (display, event, xevent->xbutton.root)) - { - return_val = FALSE; - break; - } + if (!set_screen_from_root (display, event, xevent->xbutton.root)) + { + return_val = FALSE; + break; + } break; default: - event->button.type = GDK_BUTTON_PRESS; - event->button.window = window; - event->button.time = xevent->xbutton.time; - event->button.x = (gdouble) xevent->xbutton.x; - event->button.y = (gdouble) xevent->xbutton.y; - event->button.x_root = (gdouble) xevent->xbutton.x_root; - event->button.y_root = (gdouble) xevent->xbutton.y_root; - event->button.axes = NULL; - event->button.state = (GdkModifierType) xevent->xbutton.state; - event->button.button = xevent->xbutton.button; - event->button.device = device_manager->core_pointer; + event->button.type = GDK_BUTTON_PRESS; + event->button.window = window; + event->button.time = xevent->xbutton.time; + event->button.x = (gdouble) xevent->xbutton.x; + event->button.y = (gdouble) xevent->xbutton.y; + event->button.x_root = (gdouble) xevent->xbutton.x_root; + event->button.y_root = (gdouble) xevent->xbutton.y_root; + event->button.axes = NULL; + event->button.state = (GdkModifierType) xevent->xbutton.state; + event->button.button = xevent->xbutton.button; + event->button.device = device_manager->core_pointer; - if (!set_screen_from_root (display, event, xevent->xbutton.root)) + if (!set_screen_from_root (display, event, xevent->xbutton.root)) return_val = FALSE; break; - } + } set_user_time (window, event); @@ -582,24 +582,24 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, case ButtonRelease: GDK_NOTE (EVENTS, - g_message ("button release:\twindow: %ld x,y: %d %d button: %d", - xevent->xbutton.window, - xevent->xbutton.x, xevent->xbutton.y, - xevent->xbutton.button)); + g_message ("button release:\twindow: %ld x,y: %d %d button: %d", + xevent->xbutton.window, + xevent->xbutton.x, xevent->xbutton.y, + xevent->xbutton.button)); if (window == NULL) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } /* We treat button presses as scroll wheel events, so ignore the release */ if (xevent->xbutton.button == 4 || xevent->xbutton.button == 5 || xevent->xbutton.button == 6 || xevent->xbutton.button == 7) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } event->button.type = GDK_BUTTON_RELEASE; event->button.window = window; @@ -620,16 +620,16 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, case MotionNotify: GDK_NOTE (EVENTS, - g_message ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s", - xevent->xmotion.window, - xevent->xmotion.x, xevent->xmotion.y, - (xevent->xmotion.is_hint) ? "true" : "false")); + g_message ("motion notify:\t\twindow: %ld x,y: %d %d hint: %s", + xevent->xmotion.window, + xevent->xmotion.x, xevent->xmotion.y, + (xevent->xmotion.is_hint) ? "true" : "false")); if (window == NULL) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } event->motion.type = GDK_MOTION_NOTIFY; event->motion.window = window; @@ -644,19 +644,19 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, event->motion.device = device_manager->core_pointer; if (!set_screen_from_root (display, event, xevent->xbutton.root)) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } break; case EnterNotify: GDK_NOTE (EVENTS, - g_message ("enter notify:\t\twindow: %ld detail: %d subwin: %ld", - xevent->xcrossing.window, - xevent->xcrossing.detail, - xevent->xcrossing.subwindow)); + g_message ("enter notify:\t\twindow: %ld detail: %d subwin: %ld", + xevent->xcrossing.window, + xevent->xcrossing.detail, + xevent->xcrossing.subwindow)); if (window == NULL) { @@ -665,10 +665,10 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, } if (!set_screen_from_root (display, event, xevent->xbutton.root)) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } event->crossing.type = GDK_ENTER_NOTIFY; event->crossing.window = window; @@ -678,9 +678,9 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, * lookup the corresponding GdkWindow. */ if (xevent->xcrossing.subwindow != None) - event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); + event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); else - event->crossing.subwindow = NULL; + event->crossing.subwindow = NULL; event->crossing.time = xevent->xcrossing.time; event->crossing.x = (gdouble) xevent->xcrossing.x; @@ -698,9 +698,9 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, case LeaveNotify: GDK_NOTE (EVENTS, - g_message ("leave notify:\t\twindow: %ld detail: %d subwin: %ld", - xevent->xcrossing.window, - xevent->xcrossing.detail, xevent->xcrossing.subwindow)); + g_message ("leave notify:\t\twindow: %ld detail: %d subwin: %ld", + xevent->xcrossing.window, + xevent->xcrossing.detail, xevent->xcrossing.subwindow)); if (window == NULL) { @@ -709,10 +709,10 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, } if (!set_screen_from_root (display, event, xevent->xbutton.root)) - { - return_val = FALSE; - break; - } + { + return_val = FALSE; + break; + } event->crossing.type = GDK_LEAVE_NOTIFY; event->crossing.window = window; @@ -722,9 +722,9 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, * lookup the corresponding GdkWindow. */ if (xevent->xcrossing.subwindow != None) - event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); + event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xevent->xcrossing.subwindow); else - event->crossing.subwindow = NULL; + event->crossing.subwindow = NULL; event->crossing.time = xevent->xcrossing.time; event->crossing.x = (gdouble) xevent->xcrossing.x; @@ -745,113 +745,113 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, */ case FocusIn: GDK_NOTE (EVENTS, - g_message ("focus in:\t\twindow: %ld, detail: %s, mode: %s", - xevent->xfocus.window, - notify_details[xevent->xfocus.detail], - notify_modes[xevent->xfocus.mode])); + g_message ("focus in:\t\twindow: %ld, detail: %s, mode: %s", + xevent->xfocus.window, + notify_details[xevent->xfocus.detail], + notify_modes[xevent->xfocus.mode])); if (toplevel) - { - gboolean had_focus = HAS_FOCUS (toplevel); + { + gboolean had_focus = HAS_FOCUS (toplevel); - switch (xevent->xfocus.detail) - { - case NotifyAncestor: - case NotifyVirtual: - /* When the focus moves from an ancestor of the window to - * the window or a descendent of the window, *and* the - * pointer is inside the window, then we were previously - * receiving keystroke events in the has_pointer_focus - * case and are now receiving them in the - * has_focus_window case. - */ - if (toplevel->has_pointer && - xevent->xfocus.mode != NotifyGrab && - xevent->xfocus.mode != NotifyUngrab) - toplevel->has_pointer_focus = FALSE; + switch (xevent->xfocus.detail) + { + case NotifyAncestor: + case NotifyVirtual: + /* When the focus moves from an ancestor of the window to + * the window or a descendent of the window, *and* the + * pointer is inside the window, then we were previously + * receiving keystroke events in the has_pointer_focus + * case and are now receiving them in the + * has_focus_window case. + */ + if (toplevel->has_pointer && + xevent->xfocus.mode != NotifyGrab && + xevent->xfocus.mode != NotifyUngrab) + toplevel->has_pointer_focus = FALSE; - /* fall through */ - case NotifyNonlinear: - case NotifyNonlinearVirtual: - if (xevent->xfocus.mode != NotifyGrab && - xevent->xfocus.mode != NotifyUngrab) - toplevel->has_focus_window = TRUE; - /* We pretend that the focus moves to the grab - * window, so we pay attention to NotifyGrab - * NotifyUngrab, and ignore NotifyWhileGrabbed - */ - if (xevent->xfocus.mode != NotifyWhileGrabbed) - toplevel->has_focus = TRUE; - break; - case NotifyPointer: - /* The X server sends NotifyPointer/NotifyGrab, - * but the pointer focus is ignored while a - * grab is in effect - */ - if (xevent->xfocus.mode != NotifyGrab && - xevent->xfocus.mode != NotifyUngrab) - toplevel->has_pointer_focus = TRUE; - break; - case NotifyInferior: - case NotifyPointerRoot: - case NotifyDetailNone: - break; - } + /* fall through */ + case NotifyNonlinear: + case NotifyNonlinearVirtual: + if (xevent->xfocus.mode != NotifyGrab && + xevent->xfocus.mode != NotifyUngrab) + toplevel->has_focus_window = TRUE; + /* We pretend that the focus moves to the grab + * window, so we pay attention to NotifyGrab + * NotifyUngrab, and ignore NotifyWhileGrabbed + */ + if (xevent->xfocus.mode != NotifyWhileGrabbed) + toplevel->has_focus = TRUE; + break; + case NotifyPointer: + /* The X server sends NotifyPointer/NotifyGrab, + * but the pointer focus is ignored while a + * grab is in effect + */ + if (xevent->xfocus.mode != NotifyGrab && + xevent->xfocus.mode != NotifyUngrab) + toplevel->has_pointer_focus = TRUE; + break; + case NotifyInferior: + case NotifyPointerRoot: + case NotifyDetailNone: + break; + } - if (HAS_FOCUS (toplevel) != had_focus) - generate_focus_event (device_manager, window, TRUE); - } + if (HAS_FOCUS (toplevel) != had_focus) + generate_focus_event (device_manager, window, TRUE); + } break; case FocusOut: GDK_NOTE (EVENTS, - g_message ("focus out:\t\twindow: %ld, detail: %s, mode: %s", - xevent->xfocus.window, - notify_details[xevent->xfocus.detail], - notify_modes[xevent->xfocus.mode])); + g_message ("focus out:\t\twindow: %ld, detail: %s, mode: %s", + xevent->xfocus.window, + notify_details[xevent->xfocus.detail], + notify_modes[xevent->xfocus.mode])); if (toplevel) - { - gboolean had_focus = HAS_FOCUS (toplevel); + { + gboolean had_focus = HAS_FOCUS (toplevel); - switch (xevent->xfocus.detail) - { - case NotifyAncestor: - case NotifyVirtual: - /* When the focus moves from the window or a descendent - * of the window to an ancestor of the window, *and* the - * pointer is inside the window, then we were previously - * receiving keystroke events in the has_focus_window - * case and are now receiving them in the - * has_pointer_focus case. - */ - if (toplevel->has_pointer && - xevent->xfocus.mode != NotifyGrab && - xevent->xfocus.mode != NotifyUngrab) - toplevel->has_pointer_focus = TRUE; + switch (xevent->xfocus.detail) + { + case NotifyAncestor: + case NotifyVirtual: + /* When the focus moves from the window or a descendent + * of the window to an ancestor of the window, *and* the + * pointer is inside the window, then we were previously + * receiving keystroke events in the has_focus_window + * case and are now receiving them in the + * has_pointer_focus case. + */ + if (toplevel->has_pointer && + xevent->xfocus.mode != NotifyGrab && + xevent->xfocus.mode != NotifyUngrab) + toplevel->has_pointer_focus = TRUE; - /* fall through */ - case NotifyNonlinear: - case NotifyNonlinearVirtual: - if (xevent->xfocus.mode != NotifyGrab && - xevent->xfocus.mode != NotifyUngrab) - toplevel->has_focus_window = FALSE; - if (xevent->xfocus.mode != NotifyWhileGrabbed) - toplevel->has_focus = FALSE; - break; - case NotifyPointer: - if (xevent->xfocus.mode != NotifyGrab && - xevent->xfocus.mode != NotifyUngrab) - toplevel->has_pointer_focus = FALSE; - break; - case NotifyInferior: - case NotifyPointerRoot: - case NotifyDetailNone: - break; - } + /* fall through */ + case NotifyNonlinear: + case NotifyNonlinearVirtual: + if (xevent->xfocus.mode != NotifyGrab && + xevent->xfocus.mode != NotifyUngrab) + toplevel->has_focus_window = FALSE; + if (xevent->xfocus.mode != NotifyWhileGrabbed) + toplevel->has_focus = FALSE; + break; + case NotifyPointer: + if (xevent->xfocus.mode != NotifyGrab && + xevent->xfocus.mode != NotifyUngrab) + toplevel->has_pointer_focus = FALSE; + break; + case NotifyInferior: + case NotifyPointerRoot: + case NotifyDetailNone: + break; + } - if (HAS_FOCUS (toplevel) != had_focus) - generate_focus_event (device_manager, window, FALSE); - } + if (HAS_FOCUS (toplevel) != had_focus) + generate_focus_event (device_manager, window, FALSE); + } break; default: @@ -862,12 +862,12 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, if (return_val) { if (event->any.window) - g_object_ref (event->any.window); + g_object_ref (event->any.window); if (((event->any.type == GDK_ENTER_NOTIFY) || - (event->any.type == GDK_LEAVE_NOTIFY)) && - (event->crossing.subwindow != NULL)) - g_object_ref (event->crossing.subwindow); + (event->any.type == GDK_LEAVE_NOTIFY)) && + (event->crossing.subwindow != NULL)) + g_object_ref (event->crossing.subwindow); } else { @@ -883,15 +883,15 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator, } static GList * -gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type) +gdk_x11_device_manager_core_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type) { - GdkDeviceManagerCore *device_manager_core; + GdkX11DeviceManagerCore *device_manager_core; GList *devices = NULL; if (type == GDK_DEVICE_TYPE_MASTER) { - device_manager_core = (GdkDeviceManagerCore *) device_manager; + device_manager_core = (GdkX11DeviceManagerCore *) device_manager; devices = g_list_prepend (devices, device_manager_core->core_keyboard); devices = g_list_prepend (devices, device_manager_core->core_pointer); } @@ -900,10 +900,10 @@ gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, } static GdkDevice * -gdk_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager) +gdk_x11_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager) { - GdkDeviceManagerCore *device_manager_core; + GdkX11DeviceManagerCore *device_manager_core; - device_manager_core = (GdkDeviceManagerCore *) device_manager; + device_manager_core = (GdkX11DeviceManagerCore *) device_manager; return device_manager_core->core_pointer; } diff --git a/gdk/x11/gdkdevicemanager-core.h b/gdk/x11/gdkdevicemanager-core.h deleted file mode 100644 index 774b21ef8d..0000000000 --- a/gdk/x11/gdkdevicemanager-core.h +++ /dev/null @@ -1,54 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_MANAGER_CORE_H__ -#define __GDK_DEVICE_MANAGER_CORE_H__ - -#include "gdkdevicemanagerprivate.h" - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_MANAGER_CORE (gdk_device_manager_core_get_type ()) -#define GDK_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCore)) -#define GDK_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCoreClass)) -#define GDK_IS_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_MANAGER_CORE)) -#define GDK_IS_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER_CORE)) -#define GDK_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCoreClass)) - -typedef struct _GdkDeviceManagerCore GdkDeviceManagerCore; -typedef struct _GdkDeviceManagerCoreClass GdkDeviceManagerCoreClass; - -struct _GdkDeviceManagerCore -{ - GdkDeviceManager parent_object; - GdkDevice *core_pointer; - GdkDevice *core_keyboard; -}; - -struct _GdkDeviceManagerCoreClass -{ - GdkDeviceManagerClass parent_class; -}; - -GType gdk_device_manager_core_get_type (void) G_GNUC_CONST; - - -G_END_DECLS - -#endif /* __GDK_DEVICE_MANAGER_CORE_H__ */ diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index 25c61005b1..026ae769b7 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -19,7 +19,7 @@ #include "config.h" -#include "gdkdevicemanager-core.h" +#include "gdkx11devicemanager-core.h" #ifdef XINPUT_XFREE #include "gdkdevicemanager-xi.h" #ifdef XINPUT_2 @@ -79,7 +79,7 @@ _gdk_x11_device_manager_new (GdkDisplay *display) GDK_NOTE (INPUT, g_print ("Creating core device manager\n")); - return g_object_new (GDK_TYPE_DEVICE_MANAGER_CORE, + return g_object_new (GDK_TYPE_X11_DEVICE_MANAGER_CORE, "display", display, NULL); } diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c index 9433a1fbcd..138d133f36 100644 --- a/gdk/x11/gdkdevicemanager-xi.c +++ b/gdk/x11/gdkdevicemanager-xi.c @@ -57,7 +57,7 @@ static GList * gdk_device_manager_xi_list_devices (GdkDeviceManager *devic GdkDeviceType type); -G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerXI, gdk_device_manager_xi, GDK_TYPE_DEVICE_MANAGER_CORE, +G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerXI, gdk_device_manager_xi, GDK_TYPE_X11_DEVICE_MANAGER_CORE, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, gdk_device_manager_xi_event_translator_init)) diff --git a/gdk/x11/gdkdevicemanager-xi.h b/gdk/x11/gdkdevicemanager-xi.h index e2028fdb8d..bffa2cbf02 100644 --- a/gdk/x11/gdkdevicemanager-xi.h +++ b/gdk/x11/gdkdevicemanager-xi.h @@ -20,7 +20,7 @@ #ifndef __GDK_DEVICE_MANAGER_XI_H__ #define __GDK_DEVICE_MANAGER_XI_H__ -#include "gdkdevicemanager-core.h" +#include "gdkx11devicemanager-core.h" G_BEGIN_DECLS @@ -37,7 +37,7 @@ typedef struct _GdkDeviceManagerXIClass GdkDeviceManagerXIClass; struct _GdkDeviceManagerXI { - GdkDeviceManagerCore parent_object; + GdkX11DeviceManagerCore parent_object; GdkDevice *core_pointer; GdkDevice *core_keyboard; @@ -47,7 +47,7 @@ struct _GdkDeviceManagerXI struct _GdkDeviceManagerXIClass { - GdkDeviceManagerCoreClass parent_class; + GdkX11DeviceManagerCoreClass parent_class; }; GType gdk_device_manager_xi_get_type (void) G_GNUC_CONST; diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index c8a3f20f68..f3eef28c3a 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -56,6 +56,8 @@ #define __GDKX_H_INSIDE__ #include +#include +#include #include #include #include diff --git a/gdk/x11/gdkx11device-core.h b/gdk/x11/gdkx11device-core.h new file mode 100644 index 0000000000..e6aea0a1df --- /dev/null +++ b/gdk/x11/gdkx11device-core.h @@ -0,0 +1,51 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_X11_DEVICE_CORE_H__ +#define __GDK_X11_DEVICE_CORE_H__ + +#include "gdkdeviceprivate.h" + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DEVICE_CORE (gdk_x11_device_core_get_type ()) +#define GDK_X11_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCore)) +#define GDK_X11_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCoreClass)) +#define GDK_IS_X11_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_CORE)) +#define GDK_IS_X11_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_CORE)) +#define GDK_X11_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_CORE, GdkX11DeviceCoreClass)) + +typedef struct _GdkX11DeviceCore GdkX11DeviceCore; +typedef struct _GdkX11DeviceCoreClass GdkX11DeviceCoreClass; + +struct _GdkX11DeviceCore +{ + GdkDevice parent_instance; +}; + +struct _GdkX11DeviceCoreClass +{ + GdkDeviceClass parent_class; +}; + +GType gdk_x11_device_core_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __GDK_X11_DEVICE_CORE_H__ */ diff --git a/gdk/x11/gdkx11devicemanager-core.h b/gdk/x11/gdkx11devicemanager-core.h new file mode 100644 index 0000000000..420c7ad0ab --- /dev/null +++ b/gdk/x11/gdkx11devicemanager-core.h @@ -0,0 +1,54 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_X11_DEVICE_MANAGER_CORE_H__ +#define __GDK_X11_DEVICE_MANAGER_CORE_H__ + +#include "gdkdevicemanagerprivate.h" + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DEVICE_MANAGER_CORE (gdk_x11_device_manager_core_get_type ()) +#define GDK_X11_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCore)) +#define GDK_X11_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCoreClass)) +#define GDK_IS_X11_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE)) +#define GDK_IS_X11_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_CORE)) +#define GDK_X11_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_CORE, GdkX11DeviceManagerCoreClass)) + +typedef struct _GdkX11DeviceManagerCore GdkX11DeviceManagerCore; +typedef struct _GdkX11DeviceManagerCoreClass GdkX11DeviceManagerCoreClass; + +struct _GdkX11DeviceManagerCore +{ + GdkDeviceManager parent_object; + GdkDevice *core_pointer; + GdkDevice *core_keyboard; +}; + +struct _GdkX11DeviceManagerCoreClass +{ + GdkDeviceManagerClass parent_class; +}; + +GType gdk_x11_device_manager_core_get_type (void) G_GNUC_CONST; + + +G_END_DECLS + +#endif /* __GDK_X11_DEVICE_MANAGER_CORE_H__ */ From b4802e3042bce7032565966ed2b89499173f7f57 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 01:32:01 -0500 Subject: [PATCH 0748/1463] Rename x11-specific GdkDevice[Manager] implementations Make them all fit in the gdk_x11_ prefix, and make the get_type functions and standard macros available in headers. --- gdk/Makefile.am | 6 +- gdk/x11/Makefile.am | 18 +- gdk/x11/gdkdevice-xi.c | 360 +++++++++++++-------------- gdk/x11/gdkdevice-xi.h | 89 ------- gdk/x11/gdkdevice-xi2.c | 336 ++++++++++++------------- gdk/x11/gdkdevice-xi2.h | 66 ----- gdk/x11/gdkdevicemanager-x11.c | 10 +- gdk/x11/gdkdevicemanager-xi.c | 399 +++++++++++++++--------------- gdk/x11/gdkdevicemanager-xi.h | 57 ----- gdk/x11/gdkdevicemanager-xi2.c | 226 +++++++++-------- gdk/x11/gdkdevicemanager-xi2.h | 63 ----- gdk/x11/gdkprivate-x11.h | 18 ++ gdk/x11/gdkx.h | 4 + gdk/x11/gdkx11device-xi.h | 72 ++++++ gdk/x11/gdkx11device-xi2.h | 56 +++++ gdk/x11/gdkx11devicemanager-xi.h | 55 ++++ gdk/x11/gdkx11devicemanager-xi2.h | 65 +++++ 17 files changed, 933 insertions(+), 967 deletions(-) delete mode 100644 gdk/x11/gdkdevice-xi.h delete mode 100644 gdk/x11/gdkdevice-xi2.h delete mode 100644 gdk/x11/gdkdevicemanager-xi.h delete mode 100644 gdk/x11/gdkdevicemanager-xi2.h create mode 100644 gdk/x11/gdkx11device-xi.h create mode 100644 gdk/x11/gdkx11device-xi2.h create mode 100644 gdk/x11/gdkx11devicemanager-xi.h create mode 100644 gdk/x11/gdkx11devicemanager-xi2.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index e96d813cf1..8841f8031d 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -190,11 +190,11 @@ x11_introspection_files = \ x11/gdkapplaunchcontext-x11.c \ x11/gdkasync.c \ x11/gdkcursor-x11.c \ - x11/gdkdevice-core.c \ - x11/gdkdevicemanager-core.c \ + x11/gdkdevice-core-x11.c \ + x11/gdkdevicemanager-core-x11.c \ x11/gdkdevicemanager-x11.c \ - x11/gdkdevicemanager-xi2.c \ x11/gdkdevicemanager-xi.c \ + x11/gdkdevicemanager-xi2.c \ x11/gdkdevice-xi2.c \ x11/gdkdevice-xi.c \ x11/gdkdisplay-x11.c \ diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 8b09b320dc..3a4ae66600 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -54,18 +54,22 @@ libgdk_x11_la_SOURCES = \ xsettings-common.h \ xsettings-common.c +libgdkx11include_HEADERS = + if XINPUT_XFREE libgdk_x11_la_SOURCES += \ gdkdevicemanager-xi.c \ - gdkdevicemanager-xi.h \ - gdkdevice-xi.c \ - gdkdevice-xi.h + gdkdevice-xi.c +libgdkx11include_HEADERS += \ + gdkx11devicemanager-xi.h \ + gdkx11device-xi.h if XINPUT_2 libgdk_x11_la_SOURCES += \ gdkdevicemanager-xi2.c \ - gdkdevicemanager-xi2.h \ - gdkdevice-xi2.c \ - gdkdevice-xi2.h + gdkdevice-xi2.c +libgdkx11include_HEADERS += \ + gdkx11devicemanager-xi2.h \ + gdkx11device-xi2.h endif endif @@ -73,7 +77,7 @@ endif libgdkinclude_HEADERS = \ gdkx.h -libgdkx11include_HEADERS = \ +libgdkx11include_HEADERS += \ gdkx11cursor.h \ gdkx11device-core.h \ gdkx11devicemanager-core.h \ diff --git a/gdk/x11/gdkdevice-xi.c b/gdk/x11/gdkdevice-xi.c index 3ad3cb6025..17a90ec0b2 100644 --- a/gdk/x11/gdkdevice-xi.c +++ b/gdk/x11/gdkdevice-xi.c @@ -19,7 +19,7 @@ #include "config.h" -#include "gdkdevice-xi.h" +#include "gdkx11device-xi.h" #include "gdkwindow.h" #include "gdkintl.h" @@ -37,67 +37,67 @@ typedef struct gdouble root_y; } GdkWindowInputInfo; -static void gdk_device_xi_constructed (GObject *object); -static void gdk_device_xi_dispose (GObject *object); +static void gdk_x11_device_xi_constructed (GObject *object); +static void gdk_x11_device_xi_dispose (GObject *object); -static void gdk_device_xi_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gdk_device_xi_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void gdk_x11_device_xi_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gdk_x11_device_xi_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); -static gboolean gdk_device_xi_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events); +static gboolean gdk_x11_device_xi_get_history (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events); -static void gdk_device_xi_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask); -static void gdk_device_xi_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor); -static void gdk_device_xi_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y); -static gboolean gdk_device_xi_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask); -static GdkGrabStatus gdk_device_xi_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_); -static void gdk_device_xi_ungrab (GdkDevice *device, - guint32 time_); +static void gdk_x11_device_xi_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask); +static void gdk_x11_device_xi_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor); +static void gdk_x11_device_xi_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y); +static gboolean gdk_x11_device_xi_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask); +static GdkGrabStatus gdk_x11_device_xi_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_); +static void gdk_x11_device_xi_ungrab (GdkDevice *device, + guint32 time_); -static GdkWindow* gdk_device_xi_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel); +static GdkWindow* gdk_x11_device_xi_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel); -static void gdk_device_xi_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask mask); +static void gdk_x11_device_xi_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask mask); -G_DEFINE_TYPE (GdkDeviceXI, gdk_device_xi, GDK_TYPE_DEVICE) +G_DEFINE_TYPE (GdkX11DeviceXI, gdk_x11_device_xi, GDK_TYPE_DEVICE) enum { PROP_0, @@ -105,31 +105,31 @@ enum { }; static void -gdk_device_xi_class_init (GdkDeviceXIClass *klass) +gdk_x11_device_xi_class_init (GdkX11DeviceXIClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass); quark_window_input_info = g_quark_from_static_string ("gdk-window-input-info"); - object_class->constructed = gdk_device_xi_constructed; - object_class->set_property = gdk_device_xi_set_property; - object_class->get_property = gdk_device_xi_get_property; - object_class->dispose = gdk_device_xi_dispose; + object_class->constructed = gdk_x11_device_xi_constructed; + object_class->set_property = gdk_x11_device_xi_set_property; + object_class->get_property = gdk_x11_device_xi_get_property; + object_class->dispose = gdk_x11_device_xi_dispose; - device_class->get_history = gdk_device_xi_get_history; - device_class->get_state = gdk_device_xi_get_state; - device_class->set_window_cursor = gdk_device_xi_set_window_cursor; - device_class->warp = gdk_device_xi_warp; - device_class->query_state = gdk_device_xi_query_state; - device_class->grab = gdk_device_xi_grab; - device_class->ungrab = gdk_device_xi_ungrab; - device_class->window_at_position = gdk_device_xi_window_at_position; - device_class->select_window_events = gdk_device_xi_select_window_events; + device_class->get_history = gdk_x11_device_xi_get_history; + device_class->get_state = gdk_x11_device_xi_get_state; + device_class->set_window_cursor = gdk_x11_device_xi_set_window_cursor; + device_class->warp = gdk_x11_device_xi_warp; + device_class->query_state = gdk_x11_device_xi_query_state; + device_class->grab = gdk_x11_device_xi_grab; + device_class->ungrab = gdk_x11_device_xi_ungrab; + device_class->window_at_position = gdk_x11_device_xi_window_at_position; + device_class->select_window_events = gdk_x11_device_xi_select_window_events; g_object_class_install_property (object_class, - PROP_DEVICE_ID, - g_param_spec_int ("device-id", + PROP_DEVICE_ID, + g_param_spec_int ("device-id", P_("Device ID"), P_("Device ID"), 0, G_MAXINT, 0, @@ -137,17 +137,17 @@ gdk_device_xi_class_init (GdkDeviceXIClass *klass) } static void -gdk_device_xi_init (GdkDeviceXI *device) +gdk_x11_device_xi_init (GdkX11DeviceXI *device) { } static void -gdk_device_xi_constructed (GObject *object) +gdk_x11_device_xi_constructed (GObject *object) { - GdkDeviceXI *device; + GdkX11DeviceXI *device; GdkDisplay *display; - device = GDK_DEVICE_XI (object); + device = GDK_X11_DEVICE_XI (object); display = gdk_device_get_display (GDK_DEVICE (object)); gdk_x11_display_error_trap_push (display); @@ -158,17 +158,17 @@ gdk_device_xi_constructed (GObject *object) g_warning ("Device %s can't be opened", gdk_device_get_name (GDK_DEVICE (device))); - if (G_OBJECT_CLASS (gdk_device_xi_parent_class)->constructed) - G_OBJECT_CLASS (gdk_device_xi_parent_class)->constructed (object); + if (G_OBJECT_CLASS (gdk_x11_device_xi_parent_class)->constructed) + G_OBJECT_CLASS (gdk_x11_device_xi_parent_class)->constructed (object); } static void -gdk_device_xi_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +gdk_x11_device_xi_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - GdkDeviceXI *device = GDK_DEVICE_XI (object); + GdkX11DeviceXI *device = GDK_X11_DEVICE_XI (object); switch (prop_id) { @@ -182,12 +182,12 @@ gdk_device_xi_set_property (GObject *object, } static void -gdk_device_xi_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +gdk_x11_device_xi_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - GdkDeviceXI *device = GDK_DEVICE_XI (object); + GdkX11DeviceXI *device = GDK_X11_DEVICE_XI (object); switch (prop_id) { @@ -201,12 +201,12 @@ gdk_device_xi_get_property (GObject *object, } static void -gdk_device_xi_dispose (GObject *object) +gdk_x11_device_xi_dispose (GObject *object) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; GdkDisplay *display; - device_xi = GDK_DEVICE_XI (object); + device_xi = GDK_X11_DEVICE_XI (object); display = gdk_device_get_display (GDK_DEVICE (device_xi)); if (device_xi->xdevice) @@ -221,35 +221,35 @@ gdk_device_xi_dispose (GObject *object) device_xi->axis_data = NULL; } - G_OBJECT_CLASS (gdk_device_xi_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_x11_device_xi_parent_class)->dispose (object); } static gboolean -gdk_device_xi_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events) +gdk_x11_device_xi_get_history (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events) { GdkTimeCoord **coords; XDeviceTimeCoord *device_coords; GdkWindow *impl_window; - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; gint n_events_return; gint mode_return; gint axis_count_return; gint i; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); impl_window = _gdk_window_get_impl_window (window); device_coords = XGetDeviceMotionEvents (GDK_WINDOW_XDISPLAY (impl_window), - device_xi->xdevice, - start, stop, - &n_events_return, + device_xi->xdevice, + start, stop, + &n_events_return, &mode_return, - &axis_count_return); + &axis_count_return); if (!device_coords) return FALSE; @@ -260,10 +260,10 @@ gdk_device_xi_get_history (GdkDevice *device, for (i = 0; i < *n_events; i++) { coords[i]->time = device_coords[i].time; - gdk_device_xi_translate_axes (device, window, - device_coords[i].data, - coords[i]->axes, - NULL, NULL); + _gdk_x11_device_xi_translate_axes (device, window, + device_coords[i].data, + coords[i]->axes, + NULL, NULL); } XFreeDeviceMotionEvents (device_coords); @@ -274,12 +274,12 @@ gdk_device_xi_get_history (GdkDevice *device, } static void -gdk_device_xi_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask) +gdk_x11_device_xi_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; XDeviceState *state; XInputClass *input_class; gint i; @@ -287,7 +287,7 @@ gdk_device_xi_get_state (GdkDevice *device, if (mask) gdk_window_get_pointer (window, NULL, NULL, mask); - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); state = XQueryDeviceState (GDK_WINDOW_XDISPLAY (window), device_xi->xdevice); input_class = state->data; @@ -298,9 +298,9 @@ gdk_device_xi_get_state (GdkDevice *device, { case ValuatorClass: if (axes) - gdk_device_xi_translate_axes (device, window, - ((XValuatorState *) input_class)->valuators, - axes, NULL, NULL); + _gdk_x11_device_xi_translate_axes (device, window, + ((XValuatorState *) input_class)->valuators, + axes, NULL, NULL); break; case ButtonClass: @@ -322,17 +322,17 @@ gdk_device_xi_get_state (GdkDevice *device, } static void -gdk_device_xi_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor) +gdk_x11_device_xi_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor) { } static void -gdk_device_xi_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y) +gdk_x11_device_xi_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y) { } @@ -342,11 +342,11 @@ find_events (GdkDevice *device, XEventClass *classes, int *num_classes) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; XEventClass class; gint i; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); i = 0; if (mask & GDK_BUTTON_PRESS_MASK) @@ -374,10 +374,10 @@ find_events (GdkDevice *device, /* Make sure device->motionnotify_type is set */ DeviceMotionNotify (device_xi->xdevice, device_xi->motion_notify_type, class); if (class != 0) - classes[i++] = class; + classes[i++] = class; DeviceStateNotify (device_xi->xdevice, device_xi->state_notify_type, class); if (class != 0) - classes[i++] = class; + classes[i++] = class; } if (mask & GDK_KEY_PRESS_MASK) @@ -412,34 +412,34 @@ find_events (GdkDevice *device, } static gboolean -gdk_device_xi_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask) +gdk_x11_device_xi_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask) { return FALSE; } static GdkGrabStatus -gdk_device_xi_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_) +gdk_x11_device_xi_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_) { XEventClass event_classes[MAX_DEVICE_CLASSES]; gint status, num_classes; - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; GdkDisplay *display; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); display = gdk_device_get_display (device); find_events (device, event_mask, event_classes, &num_classes); @@ -462,15 +462,15 @@ gdk_device_xi_grab (GdkDevice *device, } static void -gdk_device_xi_ungrab (GdkDevice *device, - guint32 time_) +gdk_x11_device_xi_ungrab (GdkDevice *device, + guint32 time_) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; GdkDisplay *display; Display *xdisplay; unsigned long serial; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); display = gdk_device_get_display (device); xdisplay = GDK_DISPLAY_XDISPLAY (display); @@ -482,33 +482,33 @@ gdk_device_xi_ungrab (GdkDevice *device, } static GdkWindow* -gdk_device_xi_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel) +gdk_x11_device_xi_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel) { return NULL; } static void -gdk_device_xi_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask) +gdk_x11_device_xi_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask) { XEventClass event_classes[MAX_DEVICE_CLASSES]; - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; gint num_classes; event_mask |= (GDK_PROXIMITY_IN_MASK | GDK_PROXIMITY_OUT_MASK); - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); find_events (device, event_mask, event_classes, &num_classes); XSelectExtensionEvent (GDK_WINDOW_XDISPLAY (window), - GDK_WINDOW_XID (window), - event_classes, num_classes); + GDK_WINDOW_XID (window), + event_classes, num_classes); if (event_mask) { @@ -527,7 +527,7 @@ gdk_device_xi_select_window_events (GdkDevice *device, } void -gdk_device_xi_update_window_info (GdkWindow *window) +_gdk_x11_device_xi_update_window_info (GdkWindow *window) { GdkWindowInputInfo *info; gint root_x, root_y; @@ -544,9 +544,9 @@ gdk_device_xi_update_window_info (GdkWindow *window) } static gboolean -gdk_device_xi_get_window_info (GdkWindow *window, - gdouble *root_x, - gdouble *root_y) +gdk_x11_device_xi_get_window_info (GdkWindow *window, + gdouble *root_x, + gdouble *root_y) { GdkWindowInputInfo *info; @@ -563,15 +563,15 @@ gdk_device_xi_get_window_info (GdkWindow *window, } void -gdk_device_xi_update_axes (GdkDevice *device, - gint axes_count, - gint first_axis, - gint *axis_data) +_gdk_x11_device_xi_update_axes (GdkDevice *device, + gint axes_count, + gint first_axis, + gint *axis_data) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; int i; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); g_return_if_fail (first_axis >= 0 && first_axis + axes_count <= gdk_device_get_n_axes (device)); @@ -583,25 +583,25 @@ gdk_device_xi_update_axes (GdkDevice *device, } void -gdk_device_xi_translate_axes (GdkDevice *device, - GdkWindow *window, - gint *axis_data, - gdouble *axes, - gdouble *x, - gdouble *y) +_gdk_x11_device_xi_translate_axes (GdkDevice *device, + GdkWindow *window, + gint *axis_data, + gdouble *axes, + gdouble *x, + gdouble *y) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; GdkWindow *impl_window; gdouble root_x, root_y; gdouble temp_x, temp_y; gint n_axes; gint i; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); impl_window = _gdk_window_get_impl_window (window); temp_x = temp_y = 0; - if (!gdk_device_xi_get_window_info (impl_window, &root_x, &root_y)) + if (!gdk_x11_device_xi_get_window_info (impl_window, &root_x, &root_y)) return; n_axes = gdk_device_get_n_axes (device); diff --git a/gdk/x11/gdkdevice-xi.h b/gdk/x11/gdkdevice-xi.h deleted file mode 100644 index e0eb08dbfd..0000000000 --- a/gdk/x11/gdkdevice-xi.h +++ /dev/null @@ -1,89 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_XI_H__ -#define __GDK_DEVICE_XI_H__ - -#include "gdkdeviceprivate.h" - -#include - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_XI (gdk_device_xi_get_type ()) -#define GDK_DEVICE_XI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_XI, GdkDeviceXI)) -#define GDK_DEVICE_XI_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_XI, GdkDeviceXIClass)) -#define GDK_IS_DEVICE_XI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_XI)) -#define GDK_IS_DEVICE_XI_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_XI)) -#define GDK_DEVICE_XI_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_XI, GdkDeviceXIClass)) - -typedef struct _GdkDeviceXI GdkDeviceXI; -typedef struct _GdkDeviceXIClass GdkDeviceXIClass; - -struct _GdkDeviceXI -{ - GdkDevice parent_instance; - - guint32 device_id; - XDevice *xdevice; - - gint button_press_type; - gint button_release_type; - gint key_press_type; - gint key_release_type; - gint motion_notify_type; - gint proximity_in_type; - gint proximity_out_type; - gint state_notify_type; - - /* minimum key code for device */ - gint min_keycode; - - gint *axis_data; - - guint in_proximity : 1; -}; - -struct _GdkDeviceXIClass -{ - GdkDeviceClass parent_class; -}; - -G_GNUC_INTERNAL -GType gdk_device_xi_get_type (void) G_GNUC_CONST; - -G_GNUC_INTERNAL -void gdk_device_xi_update_window_info (GdkWindow *window); - -G_GNUC_INTERNAL -void gdk_device_xi_update_axes (GdkDevice *device, - gint axes_count, - gint first_axis, - gint *axis_data); -G_GNUC_INTERNAL -void gdk_device_xi_translate_axes (GdkDevice *device, - GdkWindow *window, - gint *axis_data, - gdouble *axes, - gdouble *x, - gdouble *y); - -G_END_DECLS - -#endif /* __GDK_DEVICE_XI_H__ */ diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 68686ec369..6c9b528317 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -19,7 +19,7 @@ #include "config.h" -#include "gdkdevice-xi2.h" +#include "gdkx11device-xi2.h" #include "gdkintl.h" #include "gdkasync.h" @@ -27,62 +27,57 @@ #include -struct _GdkDeviceXI2Private -{ - int device_id; -}; +static void gdk_x11_device_xi2_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void gdk_x11_device_xi2_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); -static void gdk_device_xi2_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); -static void gdk_device_xi2_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); +static void gdk_x11_device_xi2_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask); +static void gdk_x11_device_xi2_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor); +static void gdk_x11_device_xi2_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y); +static gboolean gdk_x11_device_xi2_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask); -static void gdk_device_xi2_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask); -static void gdk_device_xi2_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor); -static void gdk_device_xi2_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y); -static gboolean gdk_device_xi2_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask); +static GdkGrabStatus gdk_x11_device_xi2_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_); +static void gdk_x11_device_xi2_ungrab (GdkDevice *device, + guint32 time_); -static GdkGrabStatus gdk_device_xi2_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_); -static void gdk_device_xi2_ungrab (GdkDevice *device, - guint32 time_); - -static GdkWindow * gdk_device_xi2_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel); -static void gdk_device_xi2_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask); +static GdkWindow * gdk_x11_device_xi2_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel); +static void gdk_x11_device_xi2_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask); -G_DEFINE_TYPE (GdkDeviceXI2, gdk_device_xi2, GDK_TYPE_DEVICE) +G_DEFINE_TYPE (GdkX11DeviceXI2, gdk_x11_device_xi2, GDK_TYPE_DEVICE) enum { PROP_0, @@ -90,58 +85,49 @@ enum { }; static void -gdk_device_xi2_class_init (GdkDeviceXI2Class *klass) +gdk_x11_device_xi2_class_init (GdkX11DeviceXI2Class *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass); - object_class->get_property = gdk_device_xi2_get_property; - object_class->set_property = gdk_device_xi2_set_property; + object_class->get_property = gdk_x11_device_xi2_get_property; + object_class->set_property = gdk_x11_device_xi2_set_property; - device_class->get_state = gdk_device_xi2_get_state; - device_class->set_window_cursor = gdk_device_xi2_set_window_cursor; - device_class->warp = gdk_device_xi2_warp; - device_class->query_state = gdk_device_xi2_query_state; - device_class->grab = gdk_device_xi2_grab; - device_class->ungrab = gdk_device_xi2_ungrab; - device_class->window_at_position = gdk_device_xi2_window_at_position; - device_class->select_window_events = gdk_device_xi2_select_window_events; + device_class->get_state = gdk_x11_device_xi2_get_state; + device_class->set_window_cursor = gdk_x11_device_xi2_set_window_cursor; + device_class->warp = gdk_x11_device_xi2_warp; + device_class->query_state = gdk_x11_device_xi2_query_state; + device_class->grab = gdk_x11_device_xi2_grab; + device_class->ungrab = gdk_x11_device_xi2_ungrab; + device_class->window_at_position = gdk_x11_device_xi2_window_at_position; + device_class->select_window_events = gdk_x11_device_xi2_select_window_events; g_object_class_install_property (object_class, - PROP_DEVICE_ID, - g_param_spec_int ("device-id", + PROP_DEVICE_ID, + g_param_spec_int ("device-id", P_("Device ID"), P_("Device identifier"), 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - - g_type_class_add_private (object_class, sizeof (GdkDeviceXI2Private)); } static void -gdk_device_xi2_init (GdkDeviceXI2 *device) +gdk_x11_device_xi2_init (GdkX11DeviceXI2 *device) { - GdkDeviceXI2Private *priv; - - device->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (device, - GDK_TYPE_DEVICE_XI2, - GdkDeviceXI2Private); } static void -gdk_device_xi2_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +gdk_x11_device_xi2_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - GdkDeviceXI2Private *priv; - - priv = GDK_DEVICE_XI2 (object)->priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (object); switch (prop_id) { case PROP_DEVICE_ID: - g_value_set_int (value, priv->device_id); + g_value_set_int (value, device_xi2->device_id); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -150,19 +136,17 @@ gdk_device_xi2_get_property (GObject *object, } static void -gdk_device_xi2_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +gdk_x11_device_xi2_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - GdkDeviceXI2Private *priv; - - priv = GDK_DEVICE_XI2 (object)->priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (object); switch (prop_id) { case PROP_DEVICE_ID: - priv->device_id = g_value_get_int (value); + device_xi2->device_id = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -171,23 +155,22 @@ gdk_device_xi2_set_property (GObject *object, } static void -gdk_device_xi2_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask) +gdk_x11_device_xi2_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask) { - GdkDeviceXI2Private *priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); GdkDisplay *display; XIDeviceInfo *info; gint i, j, ndevices; - priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_device_get_display (device); if (axes) { info = XIQueryDevice(GDK_DISPLAY_XDISPLAY (display), - priv->device_id, &ndevices); + device_xi2->device_id, &ndevices); for (i = 0, j = 0; i < info->num_classes; i++) { @@ -232,71 +215,66 @@ gdk_device_xi2_get_state (GdkDevice *device, } if (mask) - gdk_device_xi2_query_state (device, window, - NULL, NULL, - NULL, NULL, - NULL, NULL, - mask); + gdk_x11_device_xi2_query_state (device, window, + NULL, NULL, + NULL, NULL, + NULL, NULL, + mask); } static void -gdk_device_xi2_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor) +gdk_x11_device_xi2_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor) { - GdkDeviceXI2Private *priv; - - priv = GDK_DEVICE_XI2 (device)->priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); /* Non-master devices don't have a cursor */ if (gdk_device_get_device_type (device) != GDK_DEVICE_TYPE_MASTER) return; if (cursor) - { - XIDefineCursor (GDK_WINDOW_XDISPLAY (window), - priv->device_id, - GDK_WINDOW_XID (window), - gdk_x11_cursor_get_xcursor (cursor)); - } + XIDefineCursor (GDK_WINDOW_XDISPLAY (window), + device_xi2->device_id, + GDK_WINDOW_XID (window), + gdk_x11_cursor_get_xcursor (cursor)); else XIUndefineCursor (GDK_WINDOW_XDISPLAY (window), - priv->device_id, + device_xi2->device_id, GDK_WINDOW_XID (window)); } static void -gdk_device_xi2_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y) +gdk_x11_device_xi2_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y) { - GdkDeviceXI2Private *priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); Window dest; - priv = GDK_DEVICE_XI2 (device)->priv; dest = GDK_WINDOW_XID (gdk_screen_get_root_window (screen)); XIWarpPointer (GDK_SCREEN_XDISPLAY (screen), - priv->device_id, + device_xi2->device_id, None, dest, 0, 0, 0, 0, x, y); } static gboolean -gdk_device_xi2_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask) +gdk_x11_device_xi2_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask) { + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); GdkDisplay *display; GdkScreen *default_screen; - GdkDeviceXI2Private *priv; Window xroot_window, xchild_window; gdouble xroot_x, xroot_y, xwin_x, xwin_y; XIButtonState button_state; @@ -306,21 +284,18 @@ gdk_device_xi2_query_state (GdkDevice *device, if (!window || GDK_WINDOW_DESTROYED (window)) return FALSE; - priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_window_get_display (window); default_screen = gdk_display_get_default_screen (display); if (G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) { if (!XIQueryPointer (GDK_WINDOW_XDISPLAY (window), - priv->device_id, + device_xi2->device_id, GDK_WINDOW_XID (window), &xroot_window, &xchild_window, - &xroot_x, - &xroot_y, - &xwin_x, - &xwin_y, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, &button_state, &mod_state, &group_state)) @@ -339,14 +314,12 @@ gdk_device_xi2_query_state (GdkDevice *device, w = XCreateWindow (xdisplay, xwindow, 0, 0, 1, 1, 0, CopyFromParent, InputOnly, CopyFromParent, 0, &attributes); - XIQueryPointer (xdisplay, priv->device_id, + XIQueryPointer (xdisplay, device_xi2->device_id, w, &xroot_window, &xchild_window, - &xroot_x, - &xroot_y, - &xwin_x, - &xwin_y, + &xroot_x, &xroot_y, + &xwin_x, &xwin_y, &button_state, &mod_state, &group_state); @@ -372,28 +345,27 @@ gdk_device_xi2_query_state (GdkDevice *device, *win_y = (gint) xwin_y; if (mask) - *mask = gdk_device_xi2_translate_state (&mod_state, &button_state); + *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state); return TRUE; } static GdkGrabStatus -gdk_device_xi2_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_) +gdk_x11_device_xi2_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_) { - GdkDeviceXI2Private *priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); GdkDisplay *display; XIEventMask mask; Window xwindow; Cursor xcursor; gint status; - priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_device_get_display (device); /* FIXME: confine_to is actually unused */ @@ -408,8 +380,8 @@ gdk_device_xi2_grab (GdkDevice *device, xcursor = gdk_x11_cursor_get_xcursor (cursor); } - mask.deviceid = priv->device_id; - mask.mask = gdk_device_xi2_translate_event_mask (event_mask, &mask.mask_len); + mask.deviceid = device_xi2->device_id; + mask.mask = _gdk_x11_device_xi2_translate_event_mask (event_mask, &mask.mask_len); #ifdef G_ENABLE_DEBUG if (_gdk_debug_flags & GDK_DEBUG_NOGRABS) @@ -417,7 +389,7 @@ gdk_device_xi2_grab (GdkDevice *device, else #endif status = XIGrabDevice (GDK_DISPLAY_XDISPLAY (display), - priv->device_id, + device_xi2->device_id, xwindow, time_, xcursor, @@ -433,30 +405,29 @@ gdk_device_xi2_grab (GdkDevice *device, } static void -gdk_device_xi2_ungrab (GdkDevice *device, - guint32 time_) +gdk_x11_device_xi2_ungrab (GdkDevice *device, + guint32 time_) { - GdkDeviceXI2Private *priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); GdkDisplay *display; gulong serial; - priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_device_get_display (device); serial = NextRequest (GDK_DISPLAY_XDISPLAY (display)); - XIUngrabDevice (GDK_DISPLAY_XDISPLAY (display), priv->device_id, time_); + XIUngrabDevice (GDK_DISPLAY_XDISPLAY (display), device_xi2->device_id, time_); _gdk_x11_display_update_grab_info_ungrab (display, device, time_, serial); } static GdkWindow * -gdk_device_xi2_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel) +gdk_x11_device_xi2_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel) { - GdkDeviceXI2Private *priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); GdkDisplay *display; GdkScreen *screen; Display *xdisplay; @@ -467,7 +438,6 @@ gdk_device_xi2_window_at_position (GdkDevice *device, XIModifierState mod_state; XIGroupState group_state; - priv = GDK_DEVICE_XI2 (device)->priv; display = gdk_device_get_display (device); screen = gdk_display_get_default_screen (display); @@ -484,7 +454,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, if (G_LIKELY (GDK_X11_DISPLAY (display)->trusted_client)) { XIQueryPointer (xdisplay, - priv->device_id, + device_xi2->device_id, xwindow, &root, &child, &xroot_x, &xroot_y, @@ -518,7 +488,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, xwindow = GDK_WINDOW_XID (window); gdk_x11_display_error_trap_push (display); XIQueryPointer (xdisplay, - priv->device_id, + device_xi2->device_id, xwindow, &root, &child, &xroot_x, &xroot_y, @@ -545,7 +515,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, 0, &attributes); XMapWindow (xdisplay, w); XIQueryPointer (xdisplay, - priv->device_id, + device_xi2->device_id, xwindow, &root, &child, &xroot_x, &xroot_y, @@ -575,7 +545,7 @@ gdk_device_xi2_window_at_position (GdkDevice *device, last = xwindow; gdk_x11_display_error_trap_push (display); XIQueryPointer (xdisplay, - priv->device_id, + device_xi2->device_id, xwindow, &root, &xwindow, &xroot_x, &xroot_y, @@ -606,23 +576,21 @@ gdk_device_xi2_window_at_position (GdkDevice *device, *win_y = (window) ? (gint) xwin_y : -1; if (mask) - *mask = gdk_device_xi2_translate_state (&mod_state, &button_state); + *mask = _gdk_x11_device_xi2_translate_state (&mod_state, &button_state); return window; } static void -gdk_device_xi2_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask) +gdk_x11_device_xi2_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask) { - GdkDeviceXI2Private *priv; + GdkX11DeviceXI2 *device_xi2 = GDK_X11_DEVICE_XI2 (device); XIEventMask evmask; - priv = GDK_DEVICE_XI2 (device)->priv; - - evmask.deviceid = priv->device_id; - evmask.mask = gdk_device_xi2_translate_event_mask (event_mask, &evmask.mask_len); + evmask.deviceid = device_xi2->device_id; + evmask.mask = _gdk_x11_device_xi2_translate_event_mask (event_mask, &evmask.mask_len); XISelectEvents (GDK_WINDOW_XDISPLAY (window), GDK_WINDOW_XID (window), @@ -632,8 +600,8 @@ gdk_device_xi2_select_window_events (GdkDevice *device, } guchar * -gdk_device_xi2_translate_event_mask (GdkEventMask event_mask, - int *len) +_gdk_x11_device_xi2_translate_event_mask (GdkEventMask event_mask, + gint *len) { guchar *mask; @@ -688,8 +656,8 @@ gdk_device_xi2_translate_event_mask (GdkEventMask event_mask, } guint -gdk_device_xi2_translate_state (XIModifierState *mods_state, - XIButtonState *buttons_state) +_gdk_x11_device_xi2_translate_state (XIModifierState *mods_state, + XIButtonState *buttons_state) { guint state = 0; diff --git a/gdk/x11/gdkdevice-xi2.h b/gdk/x11/gdkdevice-xi2.h deleted file mode 100644 index 63aaf252ef..0000000000 --- a/gdk/x11/gdkdevice-xi2.h +++ /dev/null @@ -1,66 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_XI2_H__ -#define __GDK_DEVICE_XI2_H__ - -#include "gdkdeviceprivate.h" - -#include - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_XI2 (gdk_device_xi2_get_type ()) -#define GDK_DEVICE_XI2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_XI2, GdkDeviceXI2)) -#define GDK_DEVICE_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_XI2, GdkDeviceXI2Class)) -#define GDK_IS_DEVICE_XI2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_XI2)) -#define GDK_IS_DEVICE_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_XI2)) -#define GDK_DEVICE_XI2_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_XI2, GdkDeviceXI2Class)) - -typedef struct _GdkDeviceXI2 GdkDeviceXI2; -typedef struct _GdkDeviceXI2Private GdkDeviceXI2Private; -typedef struct _GdkDeviceXI2Class GdkDeviceXI2Class; - -struct _GdkDeviceXI2 -{ - GdkDevice parent_instance; - - /*< private >*/ - GdkDeviceXI2Private *priv; -}; - -struct _GdkDeviceXI2Class -{ - GdkDeviceClass parent_class; -}; - -G_GNUC_INTERNAL -GType gdk_device_xi2_get_type (void) G_GNUC_CONST; - -G_GNUC_INTERNAL -guchar * gdk_device_xi2_translate_event_mask (GdkEventMask event_mask, - int *len); -G_GNUC_INTERNAL -guint gdk_device_xi2_translate_state (XIModifierState *mods_state, - XIButtonState *buttons_state); - - -G_END_DECLS - -#endif /* __GDK_DEVICE_XI2_H__ */ diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index 026ae769b7..6680e0a455 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -21,9 +21,9 @@ #include "gdkx11devicemanager-core.h" #ifdef XINPUT_XFREE -#include "gdkdevicemanager-xi.h" +#include "gdkx11devicemanager-xi.h" #ifdef XINPUT_2 -#include "gdkdevicemanager-xi2.h" +#include "gdkx11devicemanager-xi2.h" #endif #endif #include "gdkinternals.h" @@ -52,11 +52,11 @@ _gdk_x11_device_manager_new (GdkDisplay *display) if (!_gdk_disable_multidevice && XIQueryVersion (xdisplay, &major, &minor) != BadRequest) { - GdkDeviceManagerXI2 *device_manager_xi2; + GdkX11DeviceManagerXI2 *device_manager_xi2; GDK_NOTE (INPUT, g_print ("Creating XI2 device manager\n")); - device_manager_xi2 = g_object_new (GDK_TYPE_DEVICE_MANAGER_XI2, + device_manager_xi2 = g_object_new (GDK_TYPE_X11_DEVICE_MANAGER_XI2, "display", display, NULL); device_manager_xi2->opcode = opcode; @@ -68,7 +68,7 @@ _gdk_x11_device_manager_new (GdkDisplay *display) { GDK_NOTE (INPUT, g_print ("Creating XI device manager\n")); - return g_object_new (GDK_TYPE_DEVICE_MANAGER_XI, + return g_object_new (GDK_TYPE_X11_DEVICE_MANAGER_XI, "display", display, "event-base", firstevent, NULL); diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c index 138d133f36..1dd9f84ca2 100644 --- a/gdk/x11/gdkdevicemanager-xi.c +++ b/gdk/x11/gdkdevicemanager-xi.c @@ -19,17 +19,17 @@ #include "config.h" -#include "gdkdevicemanager-xi.h" +#include "gdkx11devicemanager-xi.h" +#include "gdkx11device-xi.h" #include "gdkeventtranslator.h" -#include "gdkdevice-xi.h" #include "gdkintl.h" #include "gdkprivate-x11.h" #include -struct _GdkDeviceManagerXIPrivate +struct _GdkX11DeviceManagerXIPrivate { GHashTable *id_table; gint event_base; @@ -37,29 +37,29 @@ struct _GdkDeviceManagerXIPrivate gboolean ignore_core_events; }; -static void gdk_device_manager_xi_constructed (GObject *object); -static void gdk_device_manager_xi_dispose (GObject *object); -static void gdk_device_manager_xi_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gdk_device_manager_xi_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void gdk_x11_device_manager_xi_constructed (GObject *object); +static void gdk_x11_device_manager_xi_dispose (GObject *object); +static void gdk_x11_device_manager_xi_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gdk_x11_device_manager_xi_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); -static void gdk_device_manager_xi_event_translator_init (GdkEventTranslatorIface *iface); -static gboolean gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, - GdkDisplay *display, - GdkEvent *event, - XEvent *xevent); -static GList * gdk_device_manager_xi_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type); +static void gdk_x11_device_manager_xi_event_translator_init (GdkEventTranslatorIface *iface); +static gboolean gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, + GdkDisplay *display, + GdkEvent *event, + XEvent *xevent); +static GList * gdk_x11_device_manager_xi_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type); -G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerXI, gdk_device_manager_xi, GDK_TYPE_X11_DEVICE_MANAGER_CORE, +G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerXI, gdk_x11_device_manager_xi, GDK_TYPE_X11_DEVICE_MANAGER_CORE, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, - gdk_device_manager_xi_event_translator_init)) + gdk_x11_device_manager_xi_event_translator_init)) enum { PROP_0, @@ -67,27 +67,27 @@ enum { }; static void -gdk_device_manager_xi_class_init (GdkDeviceManagerXIClass *klass) +gdk_x11_device_manager_xi_class_init (GdkX11DeviceManagerXIClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkDeviceManagerClass *device_manager_class = GDK_DEVICE_MANAGER_CLASS (klass); - object_class->constructed = gdk_device_manager_xi_constructed; - object_class->dispose = gdk_device_manager_xi_dispose; - object_class->set_property = gdk_device_manager_xi_set_property; - object_class->get_property = gdk_device_manager_xi_get_property; + object_class->constructed = gdk_x11_device_manager_xi_constructed; + object_class->dispose = gdk_x11_device_manager_xi_dispose; + object_class->set_property = gdk_x11_device_manager_xi_set_property; + object_class->get_property = gdk_x11_device_manager_xi_get_property; - device_manager_class->list_devices = gdk_device_manager_xi_list_devices; + device_manager_class->list_devices = gdk_x11_device_manager_xi_list_devices; g_object_class_install_property (object_class, - PROP_EVENT_BASE, - g_param_spec_int ("event-base", + PROP_EVENT_BASE, + g_param_spec_int ("event-base", P_("Event base"), P_("Event base for XInput events"), 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_type_class_add_private (object_class, sizeof (GdkDeviceManagerXIPrivate)); + g_type_class_add_private (object_class, sizeof (GdkX11DeviceManagerXIPrivate)); } static GdkFilterReturn @@ -107,19 +107,19 @@ window_input_info_filter (GdkXEvent *xevent, window = gdk_x11_window_lookup_for_display (display, xev->xany.window); if (window && xev->type == ConfigureNotify) - gdk_device_xi_update_window_info (window); + _gdk_x11_device_xi_update_window_info (window); return GDK_FILTER_CONTINUE; } static void -gdk_device_manager_xi_init (GdkDeviceManagerXI *device_manager) +gdk_x11_device_manager_xi_init (GdkX11DeviceManagerXI *device_manager) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; device_manager->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (device_manager, - GDK_TYPE_DEVICE_MANAGER_XI, - GdkDeviceManagerXIPrivate); + GDK_TYPE_X11_DEVICE_MANAGER_XI, + GdkX11DeviceManagerXIPrivate); priv->id_table = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_object_unref); @@ -131,72 +131,73 @@ static void translate_class_info (GdkDevice *device, XDeviceInfo *info) { - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; XAnyClassPtr class; gint i, j; - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); class = info->inputclassinfo; for (i = 0; i < info->num_classes; i++) { - switch (class->class) { - case ButtonClass: - break; - case KeyClass: - { - XKeyInfo *xki = (XKeyInfo *)class; - guint num_keys; + switch (class->class) + { + case ButtonClass: + break; + case KeyClass: + { + XKeyInfo *xki = (XKeyInfo *)class; + guint num_keys; - num_keys = xki->max_keycode - xki->min_keycode + 1; - _gdk_device_set_keys (device, num_keys); + num_keys = xki->max_keycode - xki->min_keycode + 1; + _gdk_device_set_keys (device, num_keys); - device_xi->min_keycode = xki->min_keycode; + device_xi->min_keycode = xki->min_keycode; - break; - } - case ValuatorClass: - { - XValuatorInfo *xvi = (XValuatorInfo *)class; + break; + } + case ValuatorClass: + { + XValuatorInfo *xvi = (XValuatorInfo *)class; - for (j = 0; j < xvi->num_axes; j++) - { - GdkAxisUse use; + for (j = 0; j < xvi->num_axes; j++) + { + GdkAxisUse use; - switch (j) - { - case 0: - use = GDK_AXIS_X; - break; - case 1: - use = GDK_AXIS_Y; - break; - case 2: - use = GDK_AXIS_PRESSURE; - break; - case 3: - use = GDK_AXIS_XTILT; - break; - case 4: - use = GDK_AXIS_YTILT; - break; - case 5: - use = GDK_AXIS_WHEEL; - break; - default: - use = GDK_AXIS_IGNORE; - } + switch (j) + { + case 0: + use = GDK_AXIS_X; + break; + case 1: + use = GDK_AXIS_Y; + break; + case 2: + use = GDK_AXIS_PRESSURE; + break; + case 3: + use = GDK_AXIS_XTILT; + break; + case 4: + use = GDK_AXIS_YTILT; + break; + case 5: + use = GDK_AXIS_WHEEL; + break; + default: + use = GDK_AXIS_IGNORE; + } - _gdk_device_add_axis (device, - GDK_NONE, - use, - xvi->axes[j].min_value, - xvi->axes[j].max_value, - xvi->axes[j].resolution); - } + _gdk_device_add_axis (device, + GDK_NONE, + use, + xvi->axes[j].min_value, + xvi->axes[j].max_value, + xvi->axes[j].resolution); + } - break; - } + break; + } } class = (XAnyClassPtr) (((char *) class) + class->length); @@ -242,7 +243,7 @@ create_device (GdkDeviceManager *device_manager, g_free (tmp_name); } - device = g_object_new (GDK_TYPE_DEVICE_XI, + device = g_object_new (GDK_TYPE_X11_DEVICE_XI, "name", info->name, "type", GDK_DEVICE_TYPE_FLOATING, "input-source", input_source, @@ -258,16 +259,16 @@ create_device (GdkDeviceManager *device_manager, } static void -gdk_device_manager_xi_constructed (GObject *object) +gdk_x11_device_manager_xi_constructed (GObject *object) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; XDeviceInfo *devices; gint i, num_devices; GdkDisplay *display; - priv = GDK_DEVICE_MANAGER_XI (object)->priv; + priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); - devices = XListInputDevices(GDK_DISPLAY_XDISPLAY (display), &num_devices); + devices = XListInputDevices (GDK_DISPLAY_XDISPLAY (display), &num_devices); for(i = 0; i < num_devices; i++) { @@ -284,22 +285,22 @@ gdk_device_manager_xi_constructed (GObject *object) } } - XFreeDeviceList(devices); + XFreeDeviceList (devices); gdk_x11_register_standard_event_type (display, priv->event_base, 15 /* Number of events */); - if (G_OBJECT_CLASS (gdk_device_manager_xi_parent_class)->constructed) - G_OBJECT_CLASS (gdk_device_manager_xi_parent_class)->constructed (object); + if (G_OBJECT_CLASS (gdk_x11_device_manager_xi_parent_class)->constructed) + G_OBJECT_CLASS (gdk_x11_device_manager_xi_parent_class)->constructed (object); } static void -gdk_device_manager_xi_dispose (GObject *object) +gdk_x11_device_manager_xi_dispose (GObject *object) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; - priv = GDK_DEVICE_MANAGER_XI (object)->priv; + priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; g_list_foreach (priv->devices, (GFunc) g_object_unref, NULL); g_list_free (priv->devices); @@ -313,18 +314,18 @@ gdk_device_manager_xi_dispose (GObject *object) gdk_window_remove_filter (NULL, window_input_info_filter, object); - G_OBJECT_CLASS (gdk_device_manager_xi_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_x11_device_manager_xi_parent_class)->dispose (object); } static void -gdk_device_manager_xi_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +gdk_x11_device_manager_xi_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; - priv = GDK_DEVICE_MANAGER_XI (object)->priv; + priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; switch (prop_id) { @@ -338,14 +339,14 @@ gdk_device_manager_xi_set_property (GObject *object, } static void -gdk_device_manager_xi_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +gdk_x11_device_manager_xi_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; - priv = GDK_DEVICE_MANAGER_XI (object)->priv; + priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; switch (prop_id) { @@ -359,9 +360,9 @@ gdk_device_manager_xi_get_property (GObject *object, } static void -gdk_device_manager_xi_event_translator_init (GdkEventTranslatorIface *iface) +gdk_x11_device_manager_xi_event_translator_init (GdkEventTranslatorIface *iface) { - iface->translate_event = gdk_device_manager_xi_translate_event; + iface->translate_event = gdk_x11_device_manager_xi_translate_event; } /* combine the state of the core device and the device state @@ -377,13 +378,13 @@ translate_state (guint state, guint device_state) } static GdkDevice * -lookup_device (GdkDeviceManagerXI *device_manager, - XEvent *xevent) +lookup_device (GdkX11DeviceManagerXI *device_manager, + XEvent *xevent) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; guint32 device_id; - priv = GDK_DEVICE_MANAGER_XI (device_manager)->priv; + priv = GDK_X11_DEVICE_MANAGER_XI (device_manager)->priv; /* This is a sort of a hack, as there isn't any XDeviceAnyEvent - but it's potentially faster than scanning through the types of @@ -395,20 +396,20 @@ lookup_device (GdkDeviceManagerXI *device_manager, } static gboolean -gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, - GdkDisplay *display, - GdkEvent *event, - XEvent *xevent) +gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, + GdkDisplay *display, + GdkEvent *event, + XEvent *xevent) { - GdkDeviceManagerXIPrivate *priv; - GdkDeviceManagerXI *device_manager; + GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; GdkEventTranslatorIface *parent_iface; - GdkDeviceXI *device_xi; + GdkX11DeviceXI *device_xi; GdkDevice *device; GdkWindow *window; parent_iface = g_type_interface_peek_parent (GDK_EVENT_TRANSLATOR_GET_IFACE (translator)); - device_manager = GDK_DEVICE_MANAGER_XI (translator); + device_manager = GDK_X11_DEVICE_MANAGER_XI (translator); priv = device_manager->priv; if (!priv->ignore_core_events && @@ -416,7 +417,7 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, return TRUE; device = lookup_device (device_manager, xevent); - device_xi = GDK_DEVICE_XI (device); + device_xi = GDK_X11_DEVICE_XI (device); if (!device) return FALSE; @@ -442,35 +443,35 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, event->button.y_root = (gdouble) xdbe->y_root; event->button.axes = g_new0 (gdouble, gdk_device_get_n_axes (device)); - gdk_device_xi_update_axes (device, xdbe->axes_count, - xdbe->first_axis, xdbe->axis_data); - gdk_device_xi_translate_axes (device, window, - device_xi->axis_data, - event->button.axes, - &event->button.x, - &event->button.y); + _gdk_x11_device_xi_update_axes (device, xdbe->axes_count, + xdbe->first_axis, xdbe->axis_data); + _gdk_x11_device_xi_translate_axes (device, window, + device_xi->axis_data, + event->button.axes, + &event->button.x, + &event->button.y); event->button.state = translate_state (xdbe->state, xdbe->device_state); event->button.button = xdbe->button; if (event->button.type == GDK_BUTTON_PRESS) - _gdk_event_button_generate (gdk_window_get_display (event->button.window), - event); + _gdk_event_button_generate (gdk_window_get_display (event->button.window), + event); GDK_NOTE (EVENTS, - g_print ("button %s:\t\twindow: %ld device: %ld x,y: %f %f button: %d\n", - (event->button.type == GDK_BUTTON_PRESS) ? "press" : "release", - xdbe->window, - xdbe->deviceid, - event->button.x, event->button.y, - xdbe->button)); + g_print ("button %s:\t\twindow: %ld device: %ld x,y: %f %f button: %d\n", + (event->button.type == GDK_BUTTON_PRESS) ? "press" : "release", + xdbe->window, + xdbe->deviceid, + event->button.x, event->button.y, + xdbe->button)); /* Update the timestamp of the latest user interaction, if the event has * a valid timestamp. */ if (gdk_event_get_time (event) != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), - gdk_event_get_time (event)); + gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), + gdk_event_get_time (event)); return TRUE; } @@ -480,33 +481,33 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, XDeviceKeyEvent *xdke = (XDeviceKeyEvent *) xevent; GDK_NOTE (EVENTS, - g_print ("device key %s:\twindow: %ld device: %ld keycode: %d\n", - (event->key.type == GDK_KEY_PRESS) ? "press" : "release", - xdke->window, - xdke->deviceid, - xdke->keycode)); + g_print ("device key %s:\twindow: %ld device: %ld keycode: %d\n", + (event->key.type == GDK_KEY_PRESS) ? "press" : "release", + xdke->window, + xdke->deviceid, + xdke->keycode)); if (xdke->keycode < device_xi->min_keycode || - xdke->keycode >= device_xi->min_keycode + gdk_device_get_n_keys (device)) - { - g_warning ("Invalid device key code received"); - return FALSE; - } + xdke->keycode >= device_xi->min_keycode + gdk_device_get_n_keys (device)) + { + g_warning ("Invalid device key code received"); + return FALSE; + } gdk_device_get_key (device, xdke->keycode - device_xi->min_keycode, &event->key.keyval, &event->key.state); if (event->key.keyval == 0) - { - GDK_NOTE (EVENTS, - g_print ("\t\ttranslation - NONE\n")); + { + GDK_NOTE (EVENTS, + g_print ("\t\ttranslation - NONE\n")); - return FALSE; - } + return FALSE; + } event->key.type = (xdke->type == device_xi->key_press_type) ? - GDK_KEY_PRESS : GDK_KEY_RELEASE; + GDK_KEY_PRESS : GDK_KEY_RELEASE; event->key.window = g_object_ref (window); event->key.time = xdke->time; @@ -515,29 +516,29 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, /* Add a string translation for the key event */ if ((event->key.keyval >= 0x20) && (event->key.keyval <= 0xFF)) - { - event->key.length = 1; - event->key.string = g_new (gchar, 2); - event->key.string[0] = (gchar) event->key.keyval; - event->key.string[1] = 0; - } + { + event->key.length = 1; + event->key.string = g_new (gchar, 2); + event->key.string[0] = (gchar) event->key.keyval; + event->key.string[1] = 0; + } else - { - event->key.length = 0; - event->key.string = g_new0 (gchar, 1); - } + { + event->key.length = 0; + event->key.string = g_new0 (gchar, 1); + } GDK_NOTE (EVENTS, - g_print ("\t\ttranslation - keyval: %d modifiers: %#x\n", - event->key.keyval, - event->key.state)); + g_print ("\t\ttranslation - keyval: %d modifiers: %#x\n", + event->key.keyval, + event->key.state)); /* Update the timestamp of the latest user interaction, if the event has * a valid timestamp. */ if (gdk_event_get_time (event) != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), - gdk_event_get_time (event)); + gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), + gdk_event_get_time (event)); return TRUE; } @@ -554,13 +555,13 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, event->motion.y_root = (gdouble) xdme->y_root; event->motion.axes = g_new0 (gdouble, gdk_device_get_n_axes (device)); - gdk_device_xi_update_axes (device, xdme->axes_count, - xdme->first_axis, xdme->axis_data); - gdk_device_xi_translate_axes (device, window, - device_xi->axis_data, - event->motion.axes, - &event->motion.x, - &event->motion.y); + _gdk_x11_device_xi_update_axes (device, xdme->axes_count, + xdme->first_axis, xdme->axis_data); + _gdk_x11_device_xi_translate_axes (device, window, + device_xi->axis_data, + event->motion.axes, + &event->motion.x, + &event->motion.y); event->motion.type = GDK_MOTION_NOTIFY; event->motion.window = g_object_ref (window); @@ -570,20 +571,20 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, event->motion.is_hint = xdme->is_hint; GDK_NOTE (EVENTS, - g_print ("motion notify:\t\twindow: %ld device: %ld x,y: %f %f state %#4x hint: %s\n", - xdme->window, - xdme->deviceid, - event->motion.x, event->motion.y, - event->motion.state, - (xdme->is_hint) ? "true" : "false")); + g_print ("motion notify:\t\twindow: %ld device: %ld x,y: %f %f state %#4x hint: %s\n", + xdme->window, + xdme->deviceid, + event->motion.x, event->motion.y, + event->motion.state, + (xdme->is_hint) ? "true" : "false")); /* Update the timestamp of the latest user interaction, if the event has * a valid timestamp. */ if (gdk_event_get_time (event) != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), - gdk_event_get_time (event)); + gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), + gdk_event_get_time (event)); return TRUE; } @@ -613,8 +614,8 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, * a valid timestamp. */ if (gdk_event_get_time (event) != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), - gdk_event_get_time (event)); + gdk_x11_window_set_user_time (gdk_window_get_toplevel (window), + gdk_event_get_time (event)); return TRUE; } @@ -627,8 +628,8 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, for (i = 0; i < xdse->num_classes; i++) { if (input_class->class == ValuatorClass) - gdk_device_xi_update_axes (device, gdk_device_get_n_axes (device), 0, - ((XValuatorState *)input_class)->valuators); + _gdk_x11_device_xi_update_axes (device, gdk_device_get_n_axes (device), 0, + ((XValuatorState *)input_class)->valuators); input_class = (XInputClass *)(((char *)input_class)+input_class->length); } @@ -645,15 +646,15 @@ gdk_device_manager_xi_translate_event (GdkEventTranslator *translator, } static GList * -gdk_device_manager_xi_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type) +gdk_x11_device_manager_xi_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type) { - GdkDeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXIPrivate *priv; - priv = GDK_DEVICE_MANAGER_XI (device_manager)->priv; + priv = GDK_X11_DEVICE_MANAGER_XI (device_manager)->priv; if (type == GDK_DEVICE_TYPE_MASTER) - return GDK_DEVICE_MANAGER_CLASS (gdk_device_manager_xi_parent_class)->list_devices (device_manager, type); + return GDK_DEVICE_MANAGER_CLASS (gdk_x11_device_manager_xi_parent_class)->list_devices (device_manager, type); else if (type == GDK_DEVICE_TYPE_FLOATING) { return g_list_copy (priv->devices); diff --git a/gdk/x11/gdkdevicemanager-xi.h b/gdk/x11/gdkdevicemanager-xi.h deleted file mode 100644 index bffa2cbf02..0000000000 --- a/gdk/x11/gdkdevicemanager-xi.h +++ /dev/null @@ -1,57 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_MANAGER_XI_H__ -#define __GDK_DEVICE_MANAGER_XI_H__ - -#include "gdkx11devicemanager-core.h" - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_MANAGER_XI (gdk_device_manager_xi_get_type ()) -#define GDK_DEVICE_MANAGER_XI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_MANAGER_XI, GdkDeviceManagerXI)) -#define GDK_DEVICE_MANAGER_XI_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER_XI, GdkDeviceManagerXIClass)) -#define GDK_IS_DEVICE_MANAGER_XI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_MANAGER_XI)) -#define GDK_IS_DEVICE_MANAGER_XI_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER_XI)) -#define GDK_DEVICE_MANAGER_XI_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER_XI, GdkDeviceManagerXIClass)) - -typedef struct _GdkDeviceManagerXI GdkDeviceManagerXI; -typedef struct _GdkDeviceManagerXIPrivate GdkDeviceManagerXIPrivate; -typedef struct _GdkDeviceManagerXIClass GdkDeviceManagerXIClass; - -struct _GdkDeviceManagerXI -{ - GdkX11DeviceManagerCore parent_object; - GdkDevice *core_pointer; - GdkDevice *core_keyboard; - - /*< private >*/ - GdkDeviceManagerXIPrivate *priv; -}; - -struct _GdkDeviceManagerXIClass -{ - GdkX11DeviceManagerCoreClass parent_class; -}; - -GType gdk_device_manager_xi_get_type (void) G_GNUC_CONST; - -G_END_DECLS - -#endif /* __GDK_DEVICE_MANAGER_XI_H__ */ diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index a37c16c15e..90fcd9123b 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -19,13 +19,13 @@ #include "config.h" -#include "gdkdevicemanager-xi2.h" +#include "gdkx11devicemanager-xi2.h" +#include "gdkx11device-xi2.h" #include "gdkkeysyms.h" #include "gdkdeviceprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" -#include "gdkdevice-xi2.h" #include "gdkprivate-x11.h" #include @@ -33,45 +33,45 @@ #define HAS_FOCUS(toplevel) ((toplevel)->has_focus || (toplevel)->has_pointer_focus) -static void gdk_device_manager_xi2_constructed (GObject *object); -static void gdk_device_manager_xi2_dispose (GObject *object); +static void gdk_x11_device_manager_xi2_constructed (GObject *object); +static void gdk_x11_device_manager_xi2_dispose (GObject *object); -static GList * gdk_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type); -static GdkDevice * gdk_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager); +static GList * gdk_x11_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type); +static GdkDevice * gdk_x11_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager); -static void gdk_device_manager_xi2_event_translator_init (GdkEventTranslatorIface *iface); +static void gdk_x11_device_manager_xi2_event_translator_init (GdkEventTranslatorIface *iface); -static gboolean gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, - GdkDisplay *display, - GdkEvent *event, - XEvent *xevent); -static GdkEventMask gdk_device_manager_xi2_get_handled_events (GdkEventTranslator *translator); -static void gdk_device_manager_xi2_select_window_events (GdkEventTranslator *translator, - Window window, - GdkEventMask event_mask); +static gboolean gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator, + GdkDisplay *display, + GdkEvent *event, + XEvent *xevent); +static GdkEventMask gdk_x11_device_manager_xi2_get_handled_events (GdkEventTranslator *translator); +static void gdk_x11_device_manager_xi2_select_window_events (GdkEventTranslator *translator, + Window window, + GdkEventMask event_mask); -G_DEFINE_TYPE_WITH_CODE (GdkDeviceManagerXI2, gdk_device_manager_xi2, GDK_TYPE_DEVICE_MANAGER, +G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerXI2, gdk_x11_device_manager_xi2, GDK_TYPE_DEVICE_MANAGER, G_IMPLEMENT_INTERFACE (GDK_TYPE_EVENT_TRANSLATOR, - gdk_device_manager_xi2_event_translator_init)) + gdk_x11_device_manager_xi2_event_translator_init)) static void -gdk_device_manager_xi2_class_init (GdkDeviceManagerXI2Class *klass) +gdk_x11_device_manager_xi2_class_init (GdkX11DeviceManagerXI2Class *klass) { GdkDeviceManagerClass *device_manager_class = GDK_DEVICE_MANAGER_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); - object_class->constructed = gdk_device_manager_xi2_constructed; - object_class->dispose = gdk_device_manager_xi2_dispose; + object_class->constructed = gdk_x11_device_manager_xi2_constructed; + object_class->dispose = gdk_x11_device_manager_xi2_dispose; - device_manager_class->list_devices = gdk_device_manager_xi2_list_devices; - device_manager_class->get_client_pointer = gdk_device_manager_xi2_get_client_pointer; + device_manager_class->list_devices = gdk_x11_device_manager_xi2_list_devices; + device_manager_class->get_client_pointer = gdk_x11_device_manager_xi2_get_client_pointer; } static void -gdk_device_manager_xi2_init (GdkDeviceManagerXI2 *device_manager) +gdk_x11_device_manager_xi2_init (GdkX11DeviceManagerXI2 *device_manager) { device_manager->id_table = g_hash_table_new_full (g_direct_hash, g_direct_equal, @@ -80,9 +80,9 @@ gdk_device_manager_xi2_init (GdkDeviceManagerXI2 *device_manager) } static void -_gdk_device_manager_xi2_select_events (GdkDeviceManager *device_manager, - Window xwindow, - XIEventMask *event_mask) +_gdk_x11_device_manager_xi2_select_events (GdkDeviceManager *device_manager, + Window xwindow, + XIEventMask *event_mask) { GdkDisplay *display; Display *xdisplay; @@ -230,7 +230,7 @@ create_device (GdkDeviceManager *device_manager, break; } - device = g_object_new (GDK_TYPE_DEVICE_XI2, + device = g_object_new (GDK_TYPE_X11_DEVICE_XI2, "name", dev->name, "type", type, "input-source", input_source, @@ -247,9 +247,9 @@ create_device (GdkDeviceManager *device_manager, } static GdkDevice * -add_device (GdkDeviceManagerXI2 *device_manager, - XIDeviceInfo *dev, - gboolean emit_signal) +add_device (GdkX11DeviceManagerXI2 *device_manager, + XIDeviceInfo *dev, + gboolean emit_signal) { GdkDisplay *display; GdkDevice *device; @@ -291,8 +291,8 @@ add_device (GdkDeviceManagerXI2 *device_manager, } static void -remove_device (GdkDeviceManagerXI2 *device_manager, - int device_id) +remove_device (GdkX11DeviceManagerXI2 *device_manager, + gint device_id) { GdkDevice *device; @@ -318,7 +318,7 @@ relate_masters (gpointer key, gpointer value, gpointer user_data) { - GdkDeviceManagerXI2 *device_manager; + GdkX11DeviceManagerXI2 *device_manager; GdkDevice *device, *relative; device_manager = user_data; @@ -334,7 +334,7 @@ relate_slaves (gpointer key, gpointer value, gpointer user_data) { - GdkDeviceManagerXI2 *device_manager; + GdkX11DeviceManagerXI2 *device_manager; GdkDevice *slave, *master; device_manager = user_data; @@ -346,9 +346,9 @@ relate_slaves (gpointer key, } static void -gdk_device_manager_xi2_constructed (GObject *object) +gdk_x11_device_manager_xi2_constructed (GObject *object) { - GdkDeviceManagerXI2 *device_manager_xi2; + GdkX11DeviceManagerXI2 *device_manager; GdkDisplay *display; GdkScreen *screen; GHashTable *masters, *slaves; @@ -358,14 +358,14 @@ gdk_device_manager_xi2_constructed (GObject *object) XIEventMask event_mask; unsigned char mask[2] = { 0 }; - device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (object); + device_manager = GDK_X11_DEVICE_MANAGER_XI2 (object); display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); xdisplay = GDK_DISPLAY_XDISPLAY (display); masters = g_hash_table_new (NULL, NULL); slaves = g_hash_table_new (NULL, NULL); - info = XIQueryDevice(xdisplay, XIAllDevices, &ndevices); + info = XIQueryDevice (xdisplay, XIAllDevices, &ndevices); /* Initialize devices list */ for (i = 0; i < ndevices; i++) @@ -373,7 +373,7 @@ gdk_device_manager_xi2_constructed (GObject *object) GdkDevice *device; dev = &info[i]; - device = add_device (device_manager_xi2, dev, FALSE); + device = add_device (device_manager, dev, FALSE); if (dev->use == XIMasterPointer || dev->use == XIMasterKeyboard) @@ -391,7 +391,7 @@ gdk_device_manager_xi2_constructed (GObject *object) } } - XIFreeDeviceInfo(info); + XIFreeDeviceInfo (info); /* Stablish relationships between devices */ g_hash_table_foreach (masters, relate_masters, object); @@ -409,43 +409,41 @@ gdk_device_manager_xi2_constructed (GObject *object) event_mask.mask_len = sizeof (mask); event_mask.mask = mask; - _gdk_device_manager_xi2_select_events (GDK_DEVICE_MANAGER (object), - GDK_WINDOW_XID (gdk_screen_get_root_window (screen)), - &event_mask); + _gdk_x11_device_manager_xi2_select_events (GDK_DEVICE_MANAGER (object), + GDK_WINDOW_XID (gdk_screen_get_root_window (screen)), + &event_mask); } static void -gdk_device_manager_xi2_dispose (GObject *object) +gdk_x11_device_manager_xi2_dispose (GObject *object) { - GdkDeviceManagerXI2 *device_manager_xi2; + GdkX11DeviceManagerXI2 *device_manager; - device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (object); + device_manager = GDK_X11_DEVICE_MANAGER_XI2 (object); - g_list_foreach (device_manager_xi2->master_devices, (GFunc) g_object_unref, NULL); - g_list_free (device_manager_xi2->master_devices); - device_manager_xi2->master_devices = NULL; + g_list_free_full (device_manager->master_devices, g_object_unref); + device_manager->master_devices = NULL; - g_list_foreach (device_manager_xi2->slave_devices, (GFunc) g_object_unref, NULL); - g_list_free (device_manager_xi2->slave_devices); - device_manager_xi2->slave_devices = NULL; + g_list_free_full (device_manager->slave_devices, g_object_unref); + device_manager->slave_devices = NULL; - if (device_manager_xi2->id_table) + if (device_manager->id_table) { - g_hash_table_destroy (device_manager_xi2->id_table); - device_manager_xi2->id_table = NULL; + g_hash_table_destroy (device_manager->id_table); + device_manager->id_table = NULL; } - G_OBJECT_CLASS (gdk_device_manager_xi2_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_x11_device_manager_xi2_parent_class)->dispose (object); } static GList * -gdk_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type) +gdk_x11_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type) { - GdkDeviceManagerXI2 *device_manager_xi2; + GdkX11DeviceManagerXI2 *device_manager_xi2; GList *list = NULL; - device_manager_xi2 = GDK_DEVICE_MANAGER_XI2 (device_manager); + device_manager_xi2 = GDK_X11_DEVICE_MANAGER_XI2 (device_manager); switch (type) { @@ -477,13 +475,13 @@ gdk_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, } static GdkDevice * -gdk_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager) +gdk_x11_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager) { - GdkDeviceManagerXI2 *device_manager_xi2; + GdkX11DeviceManagerXI2 *device_manager_xi2; GdkDisplay *display; int device_id; - device_manager_xi2 = (GdkDeviceManagerXI2 *) device_manager; + device_manager_xi2 = (GdkX11DeviceManagerXI2 *) device_manager; display = gdk_device_manager_get_display (device_manager); XIGetClientPointer (GDK_DISPLAY_XDISPLAY (display), @@ -494,16 +492,16 @@ gdk_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager) } static void -gdk_device_manager_xi2_event_translator_init (GdkEventTranslatorIface *iface) +gdk_x11_device_manager_xi2_event_translator_init (GdkEventTranslatorIface *iface) { - iface->translate_event = gdk_device_manager_xi2_translate_event; - iface->get_handled_events = gdk_device_manager_xi2_get_handled_events; - iface->select_window_events = gdk_device_manager_xi2_select_window_events; + iface->translate_event = gdk_x11_device_manager_xi2_translate_event; + iface->get_handled_events = gdk_x11_device_manager_xi2_get_handled_events; + iface->select_window_events = gdk_x11_device_manager_xi2_select_window_events; } static void -handle_hierarchy_changed (GdkDeviceManagerXI2 *device_manager, - XIHierarchyEvent *ev) +handle_hierarchy_changed (GdkX11DeviceManagerXI2 *device_manager, + XIHierarchyEvent *ev) { GdkDisplay *display; Display *xdisplay; @@ -519,9 +517,9 @@ handle_hierarchy_changed (GdkDeviceManagerXI2 *device_manager, { if (ev->info[i].flags & XIDeviceEnabled) { - info = XIQueryDevice(xdisplay, ev->info[i].deviceid, &ndevices); + info = XIQueryDevice (xdisplay, ev->info[i].deviceid, &ndevices); device = add_device (device_manager, &info[0], TRUE); - XIFreeDeviceInfo(info); + XIFreeDeviceInfo (info); } else if (ev->info[i].flags & XIDeviceDisabled) remove_device (device_manager, ev->info[i].deviceid); @@ -547,7 +545,7 @@ handle_hierarchy_changed (GdkDeviceManagerXI2 *device_manager, /* Add new master if it's an attachment event */ if (ev->info[i].flags & XISlaveAttached) { - info = XIQueryDevice(xdisplay, ev->info[i].deviceid, &ndevices); + info = XIQueryDevice (xdisplay, ev->info[i].deviceid, &ndevices); master = g_hash_table_lookup (device_manager->id_table, GINT_TO_POINTER (info->attachment)); @@ -564,8 +562,8 @@ handle_hierarchy_changed (GdkDeviceManagerXI2 *device_manager, } static void -handle_device_changed (GdkDeviceManagerXI2 *device_manager, - XIDeviceChangedEvent *ev) +handle_device_changed (GdkX11DeviceManagerXI2 *device_manager, + XIDeviceChangedEvent *ev) { GdkDisplay *display; GdkDevice *device; @@ -581,7 +579,7 @@ handle_device_changed (GdkDeviceManagerXI2 *device_manager, } static GdkCrossingMode -translate_crossing_mode (int mode) +translate_crossing_mode (gint mode) { switch (mode) { @@ -597,7 +595,7 @@ translate_crossing_mode (int mode) } static GdkNotifyType -translate_notify_type (int detail) +translate_notify_type (gint detail) { switch (detail) { @@ -618,8 +616,8 @@ translate_notify_type (int detail) static gboolean set_screen_from_root (GdkDisplay *display, - GdkEvent *event, - Window xrootwin) + GdkEvent *event, + Window xrootwin) { GdkScreen *screen; @@ -675,19 +673,19 @@ translate_keyboard_string (GdkEventKey *event) /* Apply the control key - Taken from Xlib */ if (event->state & GDK_CONTROL_MASK) - { - if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F; - else if (c == '2') - { - event->string = g_memdup ("\0\0", 2); - event->length = 1; - buf[0] = '\0'; + { + if ((c >= '@' && c < '\177') || c == ' ') c &= 0x1F; + else if (c == '2') + { + event->string = g_memdup ("\0\0", 2); + event->length = 1; + buf[0] = '\0'; return; - } - else if (c >= '3' && c <= '7') c -= ('3' - '\033'); - else if (c == '8') c = '\177'; - else if (c == '/') c = '_' & 0x1F; - } + } + else if (c >= '3' && c <= '7') c -= ('3' - '\033'); + else if (c == '8') c = '\177'; + else if (c == '/') c = '_' & 0x1F; + } len = g_unichar_to_utf8 (c, buf); buf[len] = '\0'; @@ -696,7 +694,7 @@ translate_keyboard_string (GdkEventKey *event) NULL, &bytes_written, NULL); if (event->string) - event->length = bytes_written; + event->length = bytes_written; } else if (event->keyval == GDK_KEY_Escape) { @@ -704,7 +702,7 @@ translate_keyboard_string (GdkEventKey *event) event->string = g_strdup ("\033"); } else if (event->keyval == GDK_KEY_Return || - event->keyval == GDK_KEY_KP_Enter) + event->keyval == GDK_KEY_KP_Enter) { event->length = 1; event->string = g_strdup ("\r"); @@ -866,7 +864,7 @@ is_parent_of (GdkWindow *parent, while (w != NULL) { if (w == parent) - return TRUE; + return TRUE; w = gdk_window_get_parent (w); } @@ -902,7 +900,7 @@ get_event_window (GdkEventTranslator *translator, GdkDevice *device; gulong serial; - device = g_hash_table_lookup (GDK_DEVICE_MANAGER_XI2 (translator)->id_table, + device = g_hash_table_lookup (GDK_X11_DEVICE_MANAGER_XI2 (translator)->id_table, GUINT_TO_POINTER (((XIDeviceEvent *) ev)->deviceid)); serial = _gdk_display_get_next_serial (display); @@ -934,12 +932,12 @@ get_event_window (GdkEventTranslator *translator, } static gboolean -gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, - GdkDisplay *display, - GdkEvent *event, - XEvent *xevent) +gdk_x11_device_manager_xi2_translate_event (GdkEventTranslator *translator, + GdkDisplay *display, + GdkEvent *event, + XEvent *xevent) { - GdkDeviceManagerXI2 *device_manager; + GdkX11DeviceManagerXI2 *device_manager; XGenericEventCookie *cookie; gboolean return_val = TRUE; GdkWindow *window; @@ -947,7 +945,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, Display *dpy; dpy = GDK_DISPLAY_XDISPLAY (display); - device_manager = (GdkDeviceManagerXI2 *) translator; + device_manager = (GdkX11DeviceManagerXI2 *) translator; cookie = &xevent->xcookie; if (!XGetEventData (dpy, cookie)) @@ -1005,7 +1003,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->key.window = window; event->key.time = xev->time; - event->key.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); + event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons); event->key.group = _gdk_x11_get_group_for_state (display, event->key.state); event->key.hardware_keycode = xev->detail; @@ -1080,7 +1078,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, GUINT_TO_POINTER (xev->sourceid)); gdk_event_set_source_device (event, source_device); - event->scroll.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); + event->scroll.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons); break; default: event->button.type = (ev->evtype == XI_ButtonPress) ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE; @@ -1114,7 +1112,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, gdk_device_get_axis (device, event->button.axes, GDK_AXIS_Y, &event->button.y); } - event->button.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); + event->button.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons); event->button.button = xev->detail; } @@ -1150,7 +1148,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, GUINT_TO_POINTER (xev->sourceid)); gdk_event_set_source_device (event, source_device); - event->motion.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); + event->motion.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons); /* There doesn't seem to be motion hints in XI */ event->motion.is_hint = FALSE; @@ -1199,7 +1197,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, event->crossing.mode = translate_crossing_mode (xev->mode); event->crossing.detail = translate_notify_type (xev->detail); - event->crossing.state = gdk_device_xi2_translate_state (&xev->mods, &xev->buttons); + event->crossing.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons); } break; case XI_FocusIn: @@ -1233,8 +1231,8 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, g_object_ref (event->any.window); if (((event->any.type == GDK_ENTER_NOTIFY) || - (event->any.type == GDK_LEAVE_NOTIFY)) && - (event->crossing.subwindow != NULL)) + (event->any.type == GDK_LEAVE_NOTIFY)) && + (event->crossing.subwindow != NULL)) g_object_ref (event->crossing.subwindow); } else @@ -1250,7 +1248,7 @@ gdk_device_manager_xi2_translate_event (GdkEventTranslator *translator, } static GdkEventMask -gdk_device_manager_xi2_get_handled_events (GdkEventTranslator *translator) +gdk_x11_device_manager_xi2_get_handled_events (GdkEventTranslator *translator) { return (GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | @@ -1269,9 +1267,9 @@ gdk_device_manager_xi2_get_handled_events (GdkEventTranslator *translator) } static void -gdk_device_manager_xi2_select_window_events (GdkEventTranslator *translator, - Window window, - GdkEventMask evmask) +gdk_x11_device_manager_xi2_select_window_events (GdkEventTranslator *translator, + Window window, + GdkEventMask evmask) { GdkDeviceManager *device_manager; XIEventMask event_mask; @@ -1279,8 +1277,8 @@ gdk_device_manager_xi2_select_window_events (GdkEventTranslator *translator, device_manager = GDK_DEVICE_MANAGER (translator); event_mask.deviceid = XIAllMasterDevices; - event_mask.mask = gdk_device_xi2_translate_event_mask (evmask, &event_mask.mask_len); + event_mask.mask = _gdk_x11_device_xi2_translate_event_mask (evmask, &event_mask.mask_len); - _gdk_device_manager_xi2_select_events (device_manager, window, &event_mask); + _gdk_x11_device_manager_xi2_select_events (device_manager, window, &event_mask); g_free (event_mask.mask); } diff --git a/gdk/x11/gdkdevicemanager-xi2.h b/gdk/x11/gdkdevicemanager-xi2.h deleted file mode 100644 index 7f8d926f9d..0000000000 --- a/gdk/x11/gdkdevicemanager-xi2.h +++ /dev/null @@ -1,63 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_MANAGER_XI2_H__ -#define __GDK_DEVICE_MANAGER_XI2_H__ - -#include "gdkdevicemanagerprivate.h" - -#include - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_MANAGER_XI2 (gdk_device_manager_xi2_get_type ()) -#define GDK_DEVICE_MANAGER_XI2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_MANAGER_XI2, GdkDeviceManagerXI2)) -#define GDK_DEVICE_MANAGER_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER_XI2, GdkDeviceManagerXI2Class)) -#define GDK_IS_DEVICE_MANAGER_XI2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_MANAGER_XI2)) -#define GDK_IS_DEVICE_MANAGER_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER_XI2)) -#define GDK_DEVICE_MANAGER_XI2_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER_XI2, GdkDeviceManagerXI2Class)) - -typedef struct _GdkDeviceManagerXI2 GdkDeviceManagerXI2; -typedef struct _GdkDeviceManagerXI2Class GdkDeviceManagerXI2Class; - -struct _GdkDeviceManagerXI2 -{ - GdkDeviceManager parent_object; - - GHashTable *id_table; - - GList *master_devices; - GList *slave_devices; - - GdkDevice *client_pointer; - - int opcode; -}; - -struct _GdkDeviceManagerXI2Class -{ - GdkDeviceManagerClass parent_class; -}; - -GType gdk_device_manager_xi2_get_type (void) G_GNUC_CONST; - - -G_END_DECLS - -#endif /* __GDK_DEVICE_MANAGER_XI2_H__ */ diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index 405d05cb56..fa134c72c0 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -213,6 +213,24 @@ void _gdk_x11_device_check_extension_events (GdkDevice *device); GdkDeviceManager *_gdk_x11_device_manager_new (GdkDisplay *display); +void _gdk_x11_device_xi_update_window_info (GdkWindow *window); + +void _gdk_x11_device_xi_update_axes (GdkDevice *device, + gint axes_count, + gint first_axis, + gint *axis_data); +void _gdk_x11_device_xi_translate_axes (GdkDevice *device, + GdkWindow *window, + gint *axis_data, + gdouble *axes, + gdouble *x, + gdouble *y); + +guchar * _gdk_x11_device_xi2_translate_event_mask (GdkEventMask event_mask, + gint *len); +guint _gdk_x11_device_xi2_translate_state (XIModifierState *mods_state, + XIButtonState *buttons_state); + void _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, GdkDisplay *display); void _gdk_x11_display_manager_remove_display (GdkDisplayManager *manager, diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index f3eef28c3a..f1ce15545c 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -57,7 +57,11 @@ #include #include +#include +#include #include +#include +#include #include #include #include diff --git a/gdk/x11/gdkx11device-xi.h b/gdk/x11/gdkx11device-xi.h new file mode 100644 index 0000000000..a22fcabd57 --- /dev/null +++ b/gdk/x11/gdkx11device-xi.h @@ -0,0 +1,72 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_X11_DEVICE_XI_H__ +#define __GDK_X11_DEVICE_XI_H__ + +#include "gdkdeviceprivate.h" + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DEVICE_XI (gdk_x11_device_xi_get_type ()) +#define GDK_X11_DEVICE_XI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_XI, GdkX11DeviceXI)) +#define GDK_X11_DEVICE_XI_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_XI, GdkX11DeviceXIClass)) +#define GDK_IS_X11_DEVICE_XI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_XI)) +#define GDK_IS_X11_DEVICE_XI_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_XI)) +#define GDK_X11_DEVICE_XI_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_XI, GdkX11DeviceXIClass)) + +typedef struct _GdkX11DeviceXI GdkX11DeviceXI; +typedef struct _GdkX11DeviceXIClass GdkX11DeviceXIClass; + +struct _GdkX11DeviceXI +{ + GdkDevice parent_instance; + + /*< private >*/ + guint32 device_id; + XDevice *xdevice; + + gint button_press_type; + gint button_release_type; + gint key_press_type; + gint key_release_type; + gint motion_notify_type; + gint proximity_in_type; + gint proximity_out_type; + gint state_notify_type; + + /* minimum key code for device */ + gint min_keycode; + gint *axis_data; + + guint in_proximity : 1; +}; + +struct _GdkX11DeviceXIClass +{ + GdkDeviceClass parent_class; +}; + +GType gdk_x11_device_xi_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __GDK_X11_DEVICE_XI_H__ */ diff --git a/gdk/x11/gdkx11device-xi2.h b/gdk/x11/gdkx11device-xi2.h new file mode 100644 index 0000000000..6ef339f65a --- /dev/null +++ b/gdk/x11/gdkx11device-xi2.h @@ -0,0 +1,56 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_X11_DEVICE_XI2_H__ +#define __GDK_X11_DEVICE_XI2_H__ + +#include "gdkdeviceprivate.h" + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DEVICE_XI2 (gdk_x11_device_xi2_get_type ()) +#define GDK_X11_DEVICE_XI2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_XI2, GdkX11DeviceXI2)) +#define GDK_X11_DEVICE_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_XI2, GdkX11DeviceXI2Class)) +#define GDK_IS_X11_DEVICE_XI2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_XI2)) +#define GDK_IS_X11_DEVICE_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_XI2)) +#define GDK_X11_DEVICE_XI2_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_XI2, GdkX11DeviceXI2Class)) + +typedef struct _GdkX11DeviceXI2 GdkX11DeviceXI2; +typedef struct _GdkX11DeviceXI2Class GdkX11DeviceXI2Class; + +struct _GdkX11DeviceXI2 +{ + GdkDevice parent_instance; + + /*< private >*/ + gint device_id; +}; + +struct _GdkX11DeviceXI2Class +{ + GdkDeviceClass parent_class; +}; + +GType gdk_x11_device_xi2_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __GDK_X11_DEVICE_XI2_H__ */ diff --git a/gdk/x11/gdkx11devicemanager-xi.h b/gdk/x11/gdkx11devicemanager-xi.h new file mode 100644 index 0000000000..9c90fd2a97 --- /dev/null +++ b/gdk/x11/gdkx11devicemanager-xi.h @@ -0,0 +1,55 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_X11_DEVICE_MANAGER_XI_H__ +#define __GDK_X11_DEVICE_MANAGER_XI_H__ + +#include "gdkx11devicemanager-core.h" + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DEVICE_MANAGER_XI (gdk_x11_device_manager_xi_get_type ()) +#define GDK_X11_DEVICE_MANAGER_XI(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXI)) +#define GDK_X11_DEVICE_MANAGER_XI_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXIClass)) +#define GDK_IS_X11_DEVICE_MANAGER_XI(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI)) +#define GDK_IS_X11_DEVICE_MANAGER_XI_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI)) +#define GDK_X11_DEVICE_MANAGER_XI_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXIClass)) + +typedef struct _GdkX11DeviceManagerXI GdkX11DeviceManagerXI; +typedef struct _GdkX11DeviceManagerXIPrivate GdkX11DeviceManagerXIPrivate; +typedef struct _GdkX11DeviceManagerXIClass GdkX11DeviceManagerXIClass; + +struct _GdkX11DeviceManagerXI +{ + GdkX11DeviceManagerCore parent_object; + + /*< private >*/ + GdkX11DeviceManagerXIPrivate *priv; +}; + +struct _GdkX11DeviceManagerXIClass +{ + GdkX11DeviceManagerCoreClass parent_class; +}; + +GType gdk_x11_device_manager_xi_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __GDK_X11_DEVICE_MANAGER_XI_H__ */ diff --git a/gdk/x11/gdkx11devicemanager-xi2.h b/gdk/x11/gdkx11devicemanager-xi2.h new file mode 100644 index 0000000000..5771c93b57 --- /dev/null +++ b/gdk/x11/gdkx11devicemanager-xi2.h @@ -0,0 +1,65 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_X11_DEVICE_MANAGER_XI2_H__ +#define __GDK_X11_DEVICE_MANAGER_XI2_H__ + +#include "gdkdevicemanagerprivate.h" + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DEVICE_MANAGER_XI2 (gdk_x11_device_manager_xi2_get_type ()) +#define GDK_X11_DEVICE_MANAGER_XI2(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI2, GdkX11DeviceManagerXI2)) +#define GDK_X11_DEVICE_MANAGER_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI2, GdkX11DeviceManagerXI2Class)) +#define GDK_IS_X11_DEVICE_MANAGER_XI2(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI2)) +#define GDK_IS_X11_DEVICE_MANAGER_XI2_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_X11_DEVICE_MANAGER_XI2)) +#define GDK_X11_DEVICE_MANAGER_XI2_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI2, GdkX11DeviceManagerXI2Class)) + +typedef struct _GdkX11DeviceManagerXI2 GdkX11DeviceManagerXI2; +typedef struct _GdkX11DeviceManagerXI2Class GdkX11DeviceManagerXI2Class; + +struct _GdkX11DeviceManagerXI2 +{ + GdkDeviceManager parent_object; + + /*< private >*/ + + GHashTable *id_table; + + GList *master_devices; + GList *slave_devices; + + GdkDevice *client_pointer; + + gint opcode; +}; + +struct _GdkX11DeviceManagerXI2Class +{ + GdkDeviceManagerClass parent_class; +}; + +GType gdk_x11_device_manager_xi2_get_type (void) G_GNUC_CONST; + + +G_END_DECLS + +#endif /* __GDK_X11_DEVICE_MANAGER_XI2_H__ */ From 71a515ef178a8fe5f03cedccbe759912757a2302 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 01:41:51 -0500 Subject: [PATCH 0749/1463] Get abicheck to almost pass again --- gdk/abicheck.sh | 2 +- gdk/gdk.symbols | 29 ++++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/gdk/abicheck.sh b/gdk/abicheck.sh index 6031ff9440..14e9e736ea 100755 --- a/gdk/abicheck.sh +++ b/gdk/abicheck.sh @@ -1,5 +1,5 @@ #! /bin/sh -cpp -P -DGDK_ENABLE_BROKEN -include ../config.h -include ./gdkconfig.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi +cpp -P -DGDK_ENABLE_BROKEN -include ../config.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi nm -D -g --defined-only .libs/libgdk-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi diff -u expected-abi actual-abi && rm -f expected-abi actual-abi diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 42e42521f5..5115589b89 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -66,13 +66,10 @@ gdk_device_grab gdk_device_grab_info_libgtk_only gdk_device_list_axes gdk_device_list_slave_devices -gdk_device_manager_core_get_type gdk_device_manager_get_client_pointer gdk_device_manager_get_display gdk_device_manager_get_type G_GNUC_CONST gdk_device_manager_list_devices -gdk_device_manager_xi2_get_type -gdk_device_manager_xi_get_type gdk_device_set_axis_use gdk_device_set_key gdk_device_set_mode @@ -102,6 +99,7 @@ gdk_display_get_screen gdk_display_get_type G_GNUC_CONST gdk_display_get_window_at_device_position gdk_display_get_window_at_pointer +gdk_display_has_pending gdk_display_is_closed gdk_display_keyboard_ungrab gdk_display_list_devices @@ -109,6 +107,7 @@ gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_get_type G_GNUC_CONST gdk_display_manager_list_displays +gdk_display_manager_open_display gdk_display_manager_set_default_display gdk_display_notify_startup_complete gdk_display_open @@ -135,6 +134,7 @@ gdk_display_warp_pointer gdk_drag_abort gdk_drag_action_get_type G_GNUC_CONST gdk_drag_begin +gdk_drag_begin_for_device gdk_drag_context_get_actions gdk_drag_context_get_dest_window gdk_drag_context_get_device @@ -144,13 +144,10 @@ gdk_drag_context_get_source_window gdk_drag_context_get_suggested_action gdk_drag_context_get_type G_GNUC_CONST gdk_drag_context_list_targets -gdk_drag_context_new gdk_drag_context_set_device gdk_drag_drop gdk_drag_drop_succeeded -gdk_drag_find_window gdk_drag_find_window_for_screen -gdk_drag_get_protocol gdk_drag_get_protocol_for_display gdk_drag_get_selection gdk_drag_motion @@ -189,10 +186,6 @@ gdk_events_get_angle gdk_events_get_center gdk_events_get_distance gdk_events_pending -gdk_event_translator_get_handled_events -gdk_event_translator_get_type G_GNUC_CONST -gdk_event_translator_select_window_events -gdk_event_translator_translate gdk_event_type_get_type G_GNUC_CONST gdk_extension_mode_get_type G_GNUC_CONST gdk_filter_return_get_type G_GNUC_CONST @@ -518,16 +511,25 @@ gdk_wm_decoration_get_type G_GNUC_CONST gdk_wm_function_get_type G_GNUC_CONST gdk_x11_atom_to_xatom gdk_x11_atom_to_xatom_for_display +gdk_x11_cursor_get_type gdk_x11_cursor_get_xcursor gdk_x11_cursor_get_xdisplay +gdk_x11_device_core_get_type +gdk_x11_device_manager_core_get_type +gdk_x11_device_manager_xi2_get_type +gdk_x11_device_manager_xi_get_type +gdk_x11_device_xi2_get_type +gdk_x11_device_xi_get_type gdk_x11_display_broadcast_startup_message gdk_x11_display_error_trap_pop gdk_x11_display_error_trap_pop_ignored gdk_x11_display_error_trap_push gdk_x11_display_get_startup_notification_id +gdk_x11_display_get_type gdk_x11_display_get_user_time gdk_x11_display_get_xdisplay gdk_x11_display_grab +gdk_x11_display_manager_get_type gdk_x11_display_set_cursor_theme gdk_x11_display_set_startup_notification_id gdk_x11_display_string_to_compound_text @@ -545,24 +547,25 @@ gdk_x11_get_xatom_by_name_for_display gdk_x11_get_xatom_name gdk_x11_get_xatom_name_for_display gdk_x11_grab_server +gdk_x11_keymap_get_type gdk_x11_lookup_xdisplay gdk_x11_register_standard_event_type gdk_x11_screen_get_monitor_output gdk_x11_screen_get_screen_number +gdk_x11_screen_get_type gdk_x11_screen_get_window_manager_name gdk_x11_screen_get_xscreen gdk_x11_screen_lookup_visual gdk_x11_screen_supports_net_wm_hint gdk_x11_set_sm_client_id gdk_x11_ungrab_server +gdk_x11_visual_get_type gdk_x11_visual_get_xvisual gdk_x11_window_foreign_new_for_display gdk_x11_window_lookup_for_display +gdk_x11_window_get_type gdk_x11_window_get_xid gdk_x11_window_move_to_current_desktop gdk_x11_window_set_user_time gdk_x11_xatom_to_atom gdk_x11_xatom_to_atom_for_display -gdk_xid_table_lookup -gdk_xid_table_lookup_for_display -gdkx_visual_get From fdfabea9586e310bcd6edd2a752b4fd6974a4a94 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 01:43:08 -0500 Subject: [PATCH 0750/1463] Don't export gdk_x11_cursor_finalize --- gdk/x11/gdkcursor-x11.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 013db3cba3..e549d7da86 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -139,7 +139,7 @@ find_in_cache (GdkDisplay *display, /* Called by gdk_x11_display_finalize to flush any cached cursors * for a dead display. */ -void +void _gdk_x11_cursor_display_finalize (GdkDisplay *display) { GSList* item; @@ -173,7 +173,7 @@ G_DEFINE_TYPE (GdkX11Cursor, gdk_x11_cursor, GDK_TYPE_CURSOR) static GdkPixbuf* gdk_x11_cursor_get_image (GdkCursor *cursor); -void +static void gdk_x11_cursor_finalize (GObject *object) { GdkX11Cursor *private = GDK_X11_CURSOR (object); From 3fb8c3415b0549c3aaca7ccd52ecaa4509139a0d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 02:23:30 -0500 Subject: [PATCH 0751/1463] Rename GdkDragContextX11 to GdkX11DragContext --- gdk/gdk.symbols | 1 + gdk/x11/gdkdnd-x11.c | 2058 +++++++++++++++++++++--------------------- gdk/x11/gdkx.h | 1 + gdk/x11/gdkx11dnd.h | 49 + 4 files changed, 1081 insertions(+), 1028 deletions(-) create mode 100644 gdk/x11/gdkx11dnd.h diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 5115589b89..34aa02bbd7 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -536,6 +536,7 @@ gdk_x11_display_string_to_compound_text gdk_x11_display_text_property_to_text_list gdk_x11_display_ungrab gdk_x11_display_utf8_to_compound_text +gdk_x11_drag_context_get_type gdk_x11_free_compound_text gdk_x11_free_text_list gdk_x11_get_default_root_xwindow diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index d8e6eff39d..313bb4fc8a 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -26,6 +26,7 @@ #include "config.h" +#include "gdkx11dnd.h" #include "gdkdndprivate.h" #include "gdkmain.h" @@ -67,38 +68,39 @@ typedef struct { GdkScreen *screen; } GdkWindowCache; -#define GDK_TYPE_DRAG_CONTEXT_X11 (gdk_drag_context_x11_get_type ()) -#define GDK_DRAG_CONTEXT_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT_X11, GdkDragContextX11)) -typedef struct _GdkDragContextX11 GdkDragContextX11; -typedef struct _GdkDragContextClass GdkDragContextX11Class; - -struct _GdkDragContextX11 { +struct _GdkX11DragContext +{ GdkDragContext context; Atom motif_selection; guint ref_count; - guint16 last_x; /* Coordinates from last event */ + guint16 last_x; /* Coordinates from last event */ guint16 last_y; - GdkDragAction old_action; /* The last action we sent to the source */ - GdkDragAction old_actions; /* The last actions we sent to the source */ - GdkDragAction xdnd_actions; /* What is currently set in XdndActionList */ + GdkDragAction old_action; /* The last action we sent to the source */ + GdkDragAction old_actions; /* The last actions we sent to the source */ + GdkDragAction xdnd_actions; /* What is currently set in XdndActionList */ - Window dest_xid; /* The last window we looked up */ - Window drop_xid; /* The (non-proxied) window that is receiving drops */ - guint xdnd_targets_set : 1; /* Whether we've already set XdndTypeList */ - guint xdnd_actions_set : 1; /* Whether we've already set XdndActionList */ - guint xdnd_have_actions : 1; /* Whether an XdndActionList was provided */ - guint motif_targets_set : 1; /* Whether we've already set motif initiator info */ - guint drag_status : 4; /* current status of drag */ - - guint drop_failed : 1; /* Whether the drop was unsuccessful */ - guint version; /* Xdnd protocol version */ + Window dest_xid; /* The last window we looked up */ + Window drop_xid; /* The (non-proxied) window that is receiving drops */ + guint xdnd_targets_set : 1; /* Whether we've already set XdndTypeList */ + guint xdnd_actions_set : 1; /* Whether we've already set XdndActionList */ + guint xdnd_have_actions : 1; /* Whether an XdndActionList was provided */ + guint motif_targets_set : 1; /* Whether we've already set motif initiator info */ + guint drag_status : 4; /* current status of drag */ + + guint drop_failed : 1; /* Whether the drop was unsuccessful */ + guint version; /* Xdnd protocol version */ GSList *window_caches; }; +struct _GdkX11DragContextClass +{ + GdkDragContextClass parent_class; +}; + /* Forward declarations */ static void gdk_window_cache_destroy (GdkWindowCache *cache); @@ -106,31 +108,31 @@ static void gdk_window_cache_destroy (GdkWindowCache *cache); static void motif_read_target_table (GdkDisplay *display); static GdkFilterReturn motif_dnd_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static GdkFilterReturn xdnd_enter_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static GdkFilterReturn xdnd_leave_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static GdkFilterReturn xdnd_position_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static GdkFilterReturn xdnd_status_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static GdkFilterReturn xdnd_finished_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static GdkFilterReturn xdnd_drop_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data); + GdkEvent *event, + gpointer data); static void xdnd_manage_source_filter (GdkDragContext *context, - GdkWindow *window, - gboolean add_filter); + GdkWindow *window, + gboolean add_filter); static GList *contexts; @@ -147,22 +149,22 @@ static const struct { }; -G_DEFINE_TYPE (GdkDragContextX11, gdk_drag_context_x11, GDK_TYPE_DRAG_CONTEXT) +G_DEFINE_TYPE (GdkX11DragContext, gdk_x11_drag_context, GDK_TYPE_DRAG_CONTEXT) static void -gdk_drag_context_x11_init (GdkDragContextX11 *context) +gdk_x11_drag_context_init (GdkX11DragContext *context) { contexts = g_list_prepend (contexts, context); } -static void gdk_drag_context_x11_finalize (GObject *object); -static GdkWindow * gdk_drag_context_x11_find_window (GdkDragContext *context, +static void gdk_x11_drag_context_finalize (GObject *object); +static GdkWindow * gdk_x11_drag_context_find_window (GdkDragContext *context, GdkWindow *drag_window, GdkScreen *screen, gint x_root, gint y_root, GdkDragProtocol *protocol); -static gboolean gdk_drag_context_x11_drag_motion (GdkDragContext *context, +static gboolean gdk_x11_drag_context_drag_motion (GdkDragContext *context, GdkWindow *dest_window, GdkDragProtocol protocol, gint x_root, @@ -170,45 +172,45 @@ static gboolean gdk_drag_context_x11_drag_motion (GdkDragContext *context, GdkDragAction suggested_action, GdkDragAction possible_actions, guint32 time); -static void gdk_drag_context_x11_drag_status (GdkDragContext *context, +static void gdk_x11_drag_context_drag_status (GdkDragContext *context, GdkDragAction action, guint32 time_); -static void gdk_drag_context_x11_drag_abort (GdkDragContext *context, +static void gdk_x11_drag_context_drag_abort (GdkDragContext *context, guint32 time_); -static void gdk_drag_context_x11_drag_drop (GdkDragContext *context, +static void gdk_x11_drag_context_drag_drop (GdkDragContext *context, guint32 time_); -static void gdk_drag_context_x11_drop_reply (GdkDragContext *context, +static void gdk_x11_drag_context_drop_reply (GdkDragContext *context, gboolean accept, guint32 time_); -static void gdk_drag_context_x11_drop_finish (GdkDragContext *context, +static void gdk_x11_drag_context_drop_finish (GdkDragContext *context, gboolean success, guint32 time_); -static gboolean gdk_drag_context_x11_drop_status (GdkDragContext *context); -static GdkAtom gdk_drag_context_x11_get_selection (GdkDragContext *context); +static gboolean gdk_x11_drag_context_drop_status (GdkDragContext *context); +static GdkAtom gdk_x11_drag_context_get_selection (GdkDragContext *context); static void -gdk_drag_context_x11_class_init (GdkDragContextX11Class *klass) +gdk_x11_drag_context_class_init (GdkX11DragContextClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass); - object_class->finalize = gdk_drag_context_x11_finalize; + object_class->finalize = gdk_x11_drag_context_finalize; - context_class->find_window = gdk_drag_context_x11_find_window; - context_class->drag_status = gdk_drag_context_x11_drag_status; - context_class->drag_motion = gdk_drag_context_x11_drag_motion; - context_class->drag_abort = gdk_drag_context_x11_drag_abort; - context_class->drag_drop = gdk_drag_context_x11_drag_drop; - context_class->drop_reply = gdk_drag_context_x11_drop_reply; - context_class->drop_finish = gdk_drag_context_x11_drop_finish; - context_class->drop_status = gdk_drag_context_x11_drop_status; - context_class->get_selection = gdk_drag_context_x11_get_selection; + context_class->find_window = gdk_x11_drag_context_find_window; + context_class->drag_status = gdk_x11_drag_context_drag_status; + context_class->drag_motion = gdk_x11_drag_context_drag_motion; + context_class->drag_abort = gdk_x11_drag_context_drag_abort; + context_class->drag_drop = gdk_x11_drag_context_drag_drop; + context_class->drop_reply = gdk_x11_drag_context_drop_reply; + context_class->drop_finish = gdk_x11_drag_context_drop_finish; + context_class->drop_status = gdk_x11_drag_context_drop_status; + context_class->get_selection = gdk_x11_drag_context_get_selection; } static void -gdk_drag_context_x11_finalize (GObject *object) +gdk_x11_drag_context_finalize (GObject *object) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (object); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (object); GdkDragContext *context = GDK_DRAG_CONTEXT (object); if (context->source_window) @@ -221,29 +223,29 @@ gdk_drag_context_x11_finalize (GObject *object) contexts = g_list_remove (contexts, context); - G_OBJECT_CLASS (gdk_drag_context_x11_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_x11_drag_context_parent_class)->finalize (object); } /* Drag Contexts */ static GdkDragContext * gdk_drag_context_find (GdkDisplay *display, - gboolean is_source, - Window source_xid, - Window dest_xid) + gboolean is_source, + Window source_xid, + Window dest_xid) { GList *tmp_list = contexts; GdkDragContext *context; - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; Window context_dest_xid; while (tmp_list) { context = (GdkDragContext *)tmp_list->data; - context_x11 = (GdkDragContextX11 *)context; + context_x11 = (GdkX11DragContext *)context; if ((context->source_window && gdk_window_get_display (context->source_window) != display) || - (context->dest_window && gdk_window_get_display (context->dest_window) != display)) + (context->dest_window && gdk_window_get_display (context->dest_window) != display)) continue; context_dest_xid = context->dest_window @@ -274,14 +276,14 @@ precache_target_list (GdkDragContext *context) int i; for (tmp_list = context->targets; tmp_list; tmp_list = tmp_list->next) - g_ptr_array_add (targets, gdk_atom_name (GDK_POINTER_TO_ATOM (tmp_list->data))); + g_ptr_array_add (targets, gdk_atom_name (GDK_POINTER_TO_ATOM (tmp_list->data))); _gdk_x11_precache_atoms (GDK_WINDOW_DISPLAY (context->source_window), - (const gchar **)targets->pdata, - targets->len); + (const gchar **)targets->pdata, + targets->len); for (i =0; i < targets->len; i++) - g_free (targets->pdata[i]); + g_free (targets->pdata[i]); g_ptr_array_free (targets, TRUE); } @@ -308,9 +310,12 @@ free_cache_child (GdkCacheChild *child, static void gdk_window_cache_add (GdkWindowCache *cache, - guint32 xid, - gint x, gint y, gint width, gint height, - gboolean mapped) + guint32 xid, + gint x, + gint y, + gint width, + gint height, + gboolean mapped) { GdkCacheChild *child = g_new (GdkCacheChild, 1); @@ -325,8 +330,8 @@ gdk_window_cache_add (GdkWindowCache *cache, child->shape = NULL; cache->children = g_list_prepend (cache->children, child); - g_hash_table_insert (cache->child_hash, GUINT_TO_POINTER (xid), - cache->children); + g_hash_table_insert (cache->child_hash, GUINT_TO_POINTER (xid), + cache->children); } static GdkFilterReturn @@ -366,8 +371,8 @@ gdk_window_cache_shape_filter (GdkXEvent *xev, static GdkFilterReturn gdk_window_cache_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { XEvent *xevent = (XEvent *)xev; GdkWindowCache *cache = data; @@ -378,107 +383,106 @@ gdk_window_cache_filter (GdkXEvent *xev, break; case ConfigureNotify: { - XConfigureEvent *xce = &xevent->xconfigure; - GList *node; + XConfigureEvent *xce = &xevent->xconfigure; + GList *node; - node = g_hash_table_lookup (cache->child_hash, - GUINT_TO_POINTER (xce->window)); - if (node) - { - GdkCacheChild *child = node->data; - child->x = xce->x; - child->y = xce->y; - child->width = xce->width; - child->height = xce->height; - if (xce->above == None && (node->next)) - { - GList *last = g_list_last (cache->children); - cache->children = g_list_remove_link (cache->children, node); - last->next = node; - node->next = NULL; - node->prev = last; - } - else - { - GList *above_node = g_hash_table_lookup (cache->child_hash, - GUINT_TO_POINTER (xce->above)); - if (above_node && node->next != above_node) - { - /* Put the window above (before in the list) above_node - */ - cache->children = g_list_remove_link (cache->children, node); - node->prev = above_node->prev; - if (node->prev) - node->prev->next = node; - else - cache->children = node; - node->next = above_node; - above_node->prev = node; - } - } - } - break; + node = g_hash_table_lookup (cache->child_hash, + GUINT_TO_POINTER (xce->window)); + if (node) + { + GdkCacheChild *child = node->data; + child->x = xce->x; + child->y = xce->y; + child->width = xce->width; + child->height = xce->height; + if (xce->above == None && (node->next)) + { + GList *last = g_list_last (cache->children); + cache->children = g_list_remove_link (cache->children, node); + last->next = node; + node->next = NULL; + node->prev = last; + } + else + { + GList *above_node = g_hash_table_lookup (cache->child_hash, + GUINT_TO_POINTER (xce->above)); + if (above_node && node->next != above_node) + { + /* Put the window above (before in the list) above_node */ + cache->children = g_list_remove_link (cache->children, node); + node->prev = above_node->prev; + if (node->prev) + node->prev->next = node; + else + cache->children = node; + node->next = above_node; + above_node->prev = node; + } + } + } + break; } case CreateNotify: { - XCreateWindowEvent *xcwe = &xevent->xcreatewindow; + XCreateWindowEvent *xcwe = &xevent->xcreatewindow; - if (!g_hash_table_lookup (cache->child_hash, - GUINT_TO_POINTER (xcwe->window))) - gdk_window_cache_add (cache, xcwe->window, - xcwe->x, xcwe->y, xcwe->width, xcwe->height, - FALSE); - break; + if (!g_hash_table_lookup (cache->child_hash, + GUINT_TO_POINTER (xcwe->window))) + gdk_window_cache_add (cache, xcwe->window, + xcwe->x, xcwe->y, xcwe->width, xcwe->height, + FALSE); + break; } case DestroyNotify: { - XDestroyWindowEvent *xdwe = &xevent->xdestroywindow; - GList *node; + XDestroyWindowEvent *xdwe = &xevent->xdestroywindow; + GList *node; - node = g_hash_table_lookup (cache->child_hash, - GUINT_TO_POINTER (xdwe->window)); - if (node) - { - GdkCacheChild *child = node->data; + node = g_hash_table_lookup (cache->child_hash, + GUINT_TO_POINTER (xdwe->window)); + if (node) + { + GdkCacheChild *child = node->data; - g_hash_table_remove (cache->child_hash, - GUINT_TO_POINTER (xdwe->window)); - cache->children = g_list_remove_link (cache->children, node); - /* window is destroyed, no need to disable ShapeNotify */ - free_cache_child (child, NULL); - g_list_free_1 (node); - } - break; + g_hash_table_remove (cache->child_hash, + GUINT_TO_POINTER (xdwe->window)); + cache->children = g_list_remove_link (cache->children, node); + /* window is destroyed, no need to disable ShapeNotify */ + free_cache_child (child, NULL); + g_list_free_1 (node); + } + break; } case MapNotify: { - XMapEvent *xme = &xevent->xmap; - GList *node; + XMapEvent *xme = &xevent->xmap; + GList *node; - node = g_hash_table_lookup (cache->child_hash, - GUINT_TO_POINTER (xme->window)); - if (node) - { - GdkCacheChild *child = node->data; - child->mapped = TRUE; - } - break; + node = g_hash_table_lookup (cache->child_hash, + GUINT_TO_POINTER (xme->window)); + if (node) + { + GdkCacheChild *child = node->data; + child->mapped = TRUE; + } + break; } case ReparentNotify: break; case UnmapNotify: { - XMapEvent *xume = &xevent->xmap; - GList *node; + XMapEvent *xume = &xevent->xmap; + GList *node; - node = g_hash_table_lookup (cache->child_hash, - GUINT_TO_POINTER (xume->window)); - if (node) - { - GdkCacheChild *child = node->data; - child->mapped = FALSE; - } - break; + node = g_hash_table_lookup (cache->child_hash, + GUINT_TO_POINTER (xume->window)); + if (node) + { + GdkCacheChild *child = node->data; + child->mapped = FALSE; + } + break; } default: return GDK_FILTER_CONTINUE; @@ -495,7 +499,7 @@ gdk_window_cache_new (GdkScreen *screen) GdkChildInfoX11 *children; guint nchildren, i; Window cow; - + GdkWindowCache *result = g_new (GdkWindowCache, 1); result->children = NULL; @@ -505,40 +509,41 @@ gdk_window_cache_new (GdkScreen *screen) XGetWindowAttributes (xdisplay, GDK_WINDOW_XID (root_window), &xwa); result->old_event_mask = xwa.your_event_mask; - if (G_UNLIKELY (!GDK_X11_DISPLAY (GDK_X11_SCREEN (screen)->display)->trusted_client)) + if (G_UNLIKELY (!GDK_X11_DISPLAY (GDK_X11_SCREEN (screen)->display)->trusted_client)) { GList *toplevel_windows, *list; GdkWindow *window; gint x, y, width, height; - + toplevel_windows = gdk_screen_get_toplevel_windows (screen); - for (list = toplevel_windows; list; list = list->next) { - window = GDK_WINDOW (list->data); - gdk_window_get_geometry (window, &x, &y, &width, &height); - gdk_window_cache_add (result, GDK_WINDOW_XID (window), - x, y, width, height, - gdk_window_is_visible (window)); - } + for (list = toplevel_windows; list; list = list->next) + { + window = GDK_WINDOW (list->data); + gdk_window_get_geometry (window, &x, &y, &width, &height); + gdk_window_cache_add (result, GDK_WINDOW_XID (window), + x, y, width, height, + gdk_window_is_visible (window)); + } g_list_free (toplevel_windows); return result; } XSelectInput (xdisplay, GDK_WINDOW_XID (root_window), - result->old_event_mask | SubstructureNotifyMask); + result->old_event_mask | SubstructureNotifyMask); gdk_window_add_filter (root_window, gdk_window_cache_filter, result); gdk_window_add_filter (NULL, gdk_window_cache_shape_filter, result); if (!_gdk_x11_get_window_child_info (gdk_screen_get_display (screen), - GDK_WINDOW_XID (root_window), - FALSE, NULL, - &children, &nchildren)) + GDK_WINDOW_XID (root_window), + FALSE, NULL, + &children, &nchildren)) return result; for (i = 0; i < nchildren ; i++) { gdk_window_cache_add (result, children[i].window, - children[i].x, children[i].y, children[i].width, children[i].height, - children[i].is_mapped); + children[i].x, children[i].y, children[i].width, children[i].height, + children[i].is_mapped); } g_free (children); @@ -569,8 +574,8 @@ gdk_window_cache_destroy (GdkWindowCache *cache) GdkDisplay *display; XSelectInput (GDK_WINDOW_XDISPLAY (root_window), - GDK_WINDOW_XID (root_window), - cache->old_event_mask); + GDK_WINDOW_XID (root_window), + cache->old_event_mask); gdk_window_remove_filter (root_window, gdk_window_cache_filter, cache); gdk_window_remove_filter (NULL, gdk_window_cache_shape_filter, cache); @@ -629,10 +634,10 @@ is_pointer_within_shape (GdkDisplay *display, static Window get_client_window_at_coords_recurse (GdkDisplay *display, - Window win, - gboolean is_toplevel, - gint x, - gint y) + Window win, + gboolean is_toplevel, + gint x, + gint y) { GdkChildInfoX11 *children; unsigned int nchildren; @@ -642,8 +647,8 @@ get_client_window_at_coords_recurse (GdkDisplay *display, gboolean has_wm_state = FALSE; if (!_gdk_x11_get_window_child_info (display, win, TRUE, - is_toplevel? &has_wm_state : NULL, - &children, &nchildren)) + is_toplevel? &has_wm_state : NULL, + &children, &nchildren)) return None; if (has_wm_state) @@ -656,26 +661,26 @@ get_client_window_at_coords_recurse (GdkDisplay *display, for (i = nchildren - 1; (i >= 0) && !found_child; i--) { GdkChildInfoX11 *cur_child = &children[i]; - + if ((cur_child->is_mapped) && (cur_child->window_class == InputOutput) && - (x >= cur_child->x) && (x < cur_child->x + cur_child->width) && - (y >= cur_child->y) && (y < cur_child->y + cur_child->height)) - { - x -= cur_child->x; - y -= cur_child->y; - child = *cur_child; - found_child = TRUE; - } + (x >= cur_child->x) && (x < cur_child->x + cur_child->width) && + (y >= cur_child->y) && (y < cur_child->y + cur_child->height)) + { + x -= cur_child->x; + y -= cur_child->y; + child = *cur_child; + found_child = TRUE; + } } - + g_free (children); - + if (found_child) { if (child.has_wm_state) - return child.window; + return child.window; else - return get_client_window_at_coords_recurse (display, child.window, FALSE, x, y); + return get_client_window_at_coords_recurse (display, child.window, FALSE, x, y); } else return None; @@ -683,9 +688,9 @@ get_client_window_at_coords_recurse (GdkDisplay *display, static Window get_client_window_at_coords (GdkWindowCache *cache, - Window ignore, - gint x_root, - gint y_root) + Window ignore, + gint x_root, + gint y_root) { GList *tmp_list; Window retval = None; @@ -726,7 +731,7 @@ get_client_window_at_coords (GdkWindowCache *cache, } gdk_x11_display_error_trap_pop_ignored (display); - + if (retval) return retval; else @@ -811,7 +816,8 @@ init_byte_order (void) } static guint16 -card16_to_host (guint16 x, gchar byte_order) { +card16_to_host (guint16 x, gchar byte_order) +{ if (byte_order == local_byte_order) return x; else @@ -819,7 +825,8 @@ card16_to_host (guint16 x, gchar byte_order) { } static guint32 -card32_to_host (guint32 x, gchar byte_order) { +card32_to_host (guint32 x, gchar byte_order) +{ if (byte_order == local_byte_order) return x; else @@ -829,7 +836,7 @@ card32_to_host (guint32 x, gchar byte_order) { /* Motif packs together fields of varying length into the * client message. We can't rely on accessing these * through data.s[], data.l[], etc, because on some architectures - * (i.e., Alpha) these won't be valid for format == 8. + * (i.e., Alpha) these won't be valid for format == 8. */ #define MOTIF_XCLIENT_BYTE(xevent,i) \ @@ -848,7 +855,8 @@ card32_to_host (guint32 x, gchar byte_order) { /***** Dest side ***********/ /* Property placed on source windows */ -typedef struct _MotifDragInitiatorInfo { +typedef struct _MotifDragInitiatorInfo +{ guint8 byte_order; guint8 protocol_version; guint16 targets_index; @@ -856,7 +864,8 @@ typedef struct _MotifDragInitiatorInfo { } MotifDragInitiatorInfo; /* Header for target table on the drag window */ -typedef struct _MotifTargetTableHeader { +typedef struct _MotifTargetTableHeader +{ guchar byte_order; guchar protocol_version; guint16 n_lists; @@ -864,7 +873,8 @@ typedef struct _MotifTargetTableHeader { } MotifTargetTableHeader; /* Property placed on target windows */ -typedef struct _MotifDragReceiverInfo { +typedef struct _MotifDragReceiverInfo +{ guint8 byte_order; guint8 protocol_version; guint8 protocol_style; @@ -879,11 +889,11 @@ typedef struct _MotifDragReceiverInfo { static GdkFilterReturn motif_drag_window_filter (GdkXEvent *xevent, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { XEvent *xev = (XEvent *)xevent; - GdkDisplay *display = GDK_WINDOW_DISPLAY (event->any.window); + GdkDisplay *display = GDK_WINDOW_DISPLAY (event->any.window); GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); switch (xev->xany.type) @@ -894,8 +904,8 @@ motif_drag_window_filter (GdkXEvent *xevent, break; case PropertyNotify: if (display_x11->motif_target_lists && - (xev->xproperty.atom == gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"))) - motif_read_target_table (display); + (xev->xproperty.atom == gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"))) + motif_read_target_table (display); break; } return GDK_FILTER_REMOVE; @@ -903,7 +913,7 @@ motif_drag_window_filter (GdkXEvent *xevent, static Window motif_lookup_drag_window (GdkDisplay *display, - Display *lookup_xdisplay) + Display *lookup_xdisplay) { Window retval = None; gulong bytes_after, nitems; @@ -912,16 +922,16 @@ motif_lookup_drag_window (GdkDisplay *display, guchar *data; XGetWindowProperty (lookup_xdisplay, RootWindow (lookup_xdisplay, 0), - gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_WINDOW"), - 0, 1, FALSE, - XA_WINDOW, &type, &format, &nitems, &bytes_after, - &data); - + gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_WINDOW"), + 0, 1, FALSE, + XA_WINDOW, &type, &format, &nitems, &bytes_after, + &data); + if ((format == 32) && (nitems == 1) && (bytes_after == 0)) { retval = *(Window *)data; - GDK_NOTE (DND, - g_message ("Found drag window %#lx\n", GDK_X11_DISPLAY (display)->motif_drag_window)); + GDK_NOTE (DND, + g_message ("Found drag window %#lx\n", GDK_X11_DISPLAY (display)->motif_drag_window)); } if (type != None) @@ -933,73 +943,71 @@ motif_lookup_drag_window (GdkDisplay *display, /* Finds the window where global Motif drag information is stored. * If it doesn't exist and 'create' is TRUE, create one. */ -static Window +static Window motif_find_drag_window (GdkDisplay *display, - gboolean create) + gboolean create) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); - + if (!display_x11->motif_drag_window) { Atom motif_drag_window_atom = gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_WINDOW"); display_x11->motif_drag_window = motif_lookup_drag_window (display, display_x11->xdisplay); - + if (!display_x11->motif_drag_window && create) - { - /* Create a persistant window. (Copied from LessTif) */ - - Display *persistant_xdisplay; - XSetWindowAttributes attr; - persistant_xdisplay = XOpenDisplay (gdk_display_get_name (display)); - XSetCloseDownMode (persistant_xdisplay, RetainPermanent); + { + /* Create a persistant window. (Copied from LessTif) */ + Display *persistant_xdisplay; + XSetWindowAttributes attr; + persistant_xdisplay = XOpenDisplay (gdk_display_get_name (display)); + XSetCloseDownMode (persistant_xdisplay, RetainPermanent); - XGrabServer (persistant_xdisplay); - - display_x11->motif_drag_window = motif_lookup_drag_window (display, persistant_xdisplay); + XGrabServer (persistant_xdisplay); - if (!display_x11->motif_drag_window) - { - attr.override_redirect = True; - attr.event_mask = PropertyChangeMask; - - display_x11->motif_drag_window = - XCreateWindow (persistant_xdisplay, - RootWindow (persistant_xdisplay, 0), - -100, -100, 10, 10, 0, 0, - InputOnly, (Visual *)CopyFromParent, - (CWOverrideRedirect | CWEventMask), &attr); - - GDK_NOTE (DND, - g_message ("Created drag window %#lx\n", display_x11->motif_drag_window)); - - XChangeProperty (persistant_xdisplay, - RootWindow (persistant_xdisplay, 0), - motif_drag_window_atom, XA_WINDOW, - 32, PropModeReplace, - (guchar *)&motif_drag_window_atom, 1); + display_x11->motif_drag_window = motif_lookup_drag_window (display, persistant_xdisplay); - } - XUngrabServer (persistant_xdisplay); - XCloseDisplay (persistant_xdisplay); - } + if (!display_x11->motif_drag_window) + { + attr.override_redirect = True; + attr.event_mask = PropertyChangeMask; + + display_x11->motif_drag_window = + XCreateWindow (persistant_xdisplay, + RootWindow (persistant_xdisplay, 0), + -100, -100, 10, 10, 0, 0, + InputOnly, (Visual *)CopyFromParent, + (CWOverrideRedirect | CWEventMask), &attr); + + GDK_NOTE (DND, + g_message ("Created drag window %#lx\n", display_x11->motif_drag_window)); + + XChangeProperty (persistant_xdisplay, + RootWindow (persistant_xdisplay, 0), + motif_drag_window_atom, XA_WINDOW, + 32, PropModeReplace, + (guchar *)&motif_drag_window_atom, 1); + } + XUngrabServer (persistant_xdisplay); + XCloseDisplay (persistant_xdisplay); + } /* There is a miniscule race condition here if the drag window * gets destroyed exactly now. */ if (display_x11->motif_drag_window) - { - display_x11->motif_drag_gdk_window = - gdk_x11_window_foreign_new_for_display (display, display_x11->motif_drag_window); - gdk_window_add_filter (display_x11->motif_drag_gdk_window, - motif_drag_window_filter, - NULL); - } + { + display_x11->motif_drag_gdk_window = + gdk_x11_window_foreign_new_for_display (display, display_x11->motif_drag_window); + gdk_window_add_filter (display_x11->motif_drag_gdk_window, + motif_drag_window_filter, + NULL); + } } return display_x11->motif_drag_window; } -static void +static void motif_read_target_table (GdkDisplay *display) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); @@ -1007,14 +1015,14 @@ motif_read_target_table (GdkDisplay *display) Atom type; gint format; gint i, j; - + Atom motif_drag_targets_atom = gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"); if (display_x11->motif_target_lists) { for (i=0; imotif_n_target_lists; i++) - g_list_free (display_x11->motif_target_lists[i]); - + g_list_free (display_x11->motif_target_lists[i]); + g_free (display_x11->motif_target_lists); display_x11->motif_target_lists = NULL; display_x11->motif_n_target_lists = 0; @@ -1066,53 +1074,53 @@ motif_read_target_table (GdkDisplay *display) p = target_bytes; for (i=0; in_lists; i++) - { - gint n_targets; - guint32 *targets; + { + gint n_targets; + guint32 *targets; - if (p + sizeof(guint16) - target_bytes > nitems) - goto error; + if (p + sizeof(guint16) - target_bytes > nitems) + goto error; - n_targets = card16_to_host (*(gushort *)p, header->byte_order); + n_targets = card16_to_host (*(gushort *)p, header->byte_order); - /* We need to make a copy of the targets, since it may - * be unaligned - */ - targets = g_new (guint32, n_targets); - memcpy (targets, p + sizeof(guint16), sizeof(guint32) * n_targets); + /* We need to make a copy of the targets, since it may + * be unaligned + */ + targets = g_new (guint32, n_targets); + memcpy (targets, p + sizeof(guint16), sizeof(guint32) * n_targets); - p += sizeof(guint16) + n_targets * sizeof(guint32); - if (p - target_bytes > nitems) - goto error; + p += sizeof(guint16) + n_targets * sizeof(guint32); + if (p - target_bytes > nitems) + goto error; - for (j=0; jmotif_target_lists[i] = - g_list_prepend (display_x11->motif_target_lists[i], - GUINT_TO_POINTER (card32_to_host (targets[j], - header->byte_order))); - g_free (targets); - display_x11->motif_target_lists[i] = g_list_reverse (display_x11->motif_target_lists[i]); - } + for (j=0; jmotif_target_lists[i] = + g_list_prepend (display_x11->motif_target_lists[i], + GUINT_TO_POINTER (card32_to_host (targets[j], + header->byte_order))); + g_free (targets); + display_x11->motif_target_lists[i] = g_list_reverse (display_x11->motif_target_lists[i]); + } success = TRUE; - + error: if (header) - XFree (header); - + XFree (header); + if (target_bytes) - XFree (target_bytes); + XFree (target_bytes); if (!success) - { - if (display_x11->motif_target_lists) - { - g_free (display_x11->motif_target_lists); - display_x11->motif_target_lists = NULL; - display_x11->motif_n_target_lists = 0; - } - g_warning ("Error reading Motif target table\n"); - } + { + if (display_x11->motif_target_lists) + { + g_free (display_x11->motif_target_lists); + display_x11->motif_target_lists = NULL; + display_x11->motif_n_target_lists = 0; + } + g_warning ("Error reading Motif target table\n"); + } } } @@ -1126,7 +1134,7 @@ targets_sort_func (gconstpointer a, gconstpointer b) /* Check if given (sorted) list is in the targets table */ static gint motif_target_table_check (GdkDisplay *display, - GList *sorted) + GList *sorted) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); GList *tmp_list1, *tmp_list2; @@ -1136,17 +1144,17 @@ motif_target_table_check (GdkDisplay *display, { tmp_list1 = display_x11->motif_target_lists[i]; tmp_list2 = sorted; - - while (tmp_list1 && tmp_list2) - { - if (tmp_list1->data != tmp_list2->data) - break; - tmp_list1 = tmp_list1->next; - tmp_list2 = tmp_list2->next; - } - if (!tmp_list1 && !tmp_list2) /* Found it */ - return i; + while (tmp_list1 && tmp_list2) + { + if (tmp_list1->data != tmp_list2->data) + break; + + tmp_list1 = tmp_list1->next; + tmp_list2 = tmp_list2->next; + } + if (!tmp_list1 && !tmp_list2) /* Found it */ + return i; } return -1; @@ -1154,16 +1162,15 @@ motif_target_table_check (GdkDisplay *display, static gint motif_add_to_target_table (GdkDisplay *display, - GList *targets) /* targets is list of GdkAtom */ + GList *targets) /* targets is list of GdkAtom */ { GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); GList *sorted = NULL; gint index = -1; gint i; GList *tmp_list; - + /* make a sorted copy of the list */ - while (targets) { Atom xatom = gdk_x11_atom_to_xatom_for_display (display, GDK_POINTER_TO_ATOM (targets->data)); @@ -1184,87 +1191,86 @@ motif_add_to_target_table (GdkDisplay *display, { /* We need to make sure that it exists _before_ we grab the * server, since we can't open a new connection after we - * grab the server. + * grab the server. */ motif_find_drag_window (display, TRUE); gdk_x11_display_grab (display); motif_read_target_table (display); - + /* Check again, in case it was added in the meantime */ - if (display_x11->motif_target_lists) - index = motif_target_table_check (display, sorted); + index = motif_target_table_check (display, sorted); if (index < 0) - { - guint32 total_size = 0; - guchar *data; - guchar *p; - guint16 *p16; - MotifTargetTableHeader *header; - - if (!display_x11->motif_target_lists) - { - display_x11->motif_target_lists = g_new (GList *, 1); - display_x11->motif_n_target_lists = 1; - } - else - { - display_x11->motif_n_target_lists++; - display_x11->motif_target_lists = g_realloc (display_x11->motif_target_lists, - sizeof(GList *) * display_x11->motif_n_target_lists); - } - display_x11->motif_target_lists[display_x11->motif_n_target_lists - 1] = sorted; - sorted = NULL; - index = display_x11->motif_n_target_lists - 1; + { + guint32 total_size = 0; + guchar *data; + guchar *p; + guint16 *p16; + MotifTargetTableHeader *header; - total_size = sizeof (MotifTargetTableHeader); - for (i = 0; i < display_x11->motif_n_target_lists ; i++) - total_size += sizeof(guint16) + sizeof(guint32) * g_list_length (display_x11->motif_target_lists[i]); + if (!display_x11->motif_target_lists) + { + display_x11->motif_target_lists = g_new (GList *, 1); + display_x11->motif_n_target_lists = 1; + } + else + { + display_x11->motif_n_target_lists++; + display_x11->motif_target_lists = g_realloc (display_x11->motif_target_lists, + sizeof(GList *) * display_x11->motif_n_target_lists); + } + display_x11->motif_target_lists[display_x11->motif_n_target_lists - 1] = sorted; + sorted = NULL; + index = display_x11->motif_n_target_lists - 1; - data = g_malloc (total_size); + total_size = sizeof (MotifTargetTableHeader); + for (i = 0; i < display_x11->motif_n_target_lists ; i++) + total_size += sizeof(guint16) + sizeof(guint32) * g_list_length (display_x11->motif_target_lists[i]); - header = (MotifTargetTableHeader *)data; - p = data + sizeof(MotifTargetTableHeader); + data = g_malloc (total_size); - header->byte_order = local_byte_order; - header->protocol_version = 0; - header->n_lists = display_x11->motif_n_target_lists; - header->total_size = total_size; + header = (MotifTargetTableHeader *)data; + p = data + sizeof(MotifTargetTableHeader); - for (i = 0; i < display_x11->motif_n_target_lists ; i++) - { - guint16 n_targets = g_list_length (display_x11->motif_target_lists[i]); - guint32 *targets = g_new (guint32, n_targets); - guint32 *p32 = targets; - - tmp_list = display_x11->motif_target_lists[i]; - while (tmp_list) - { - *p32 = GPOINTER_TO_UINT (tmp_list->data); - - tmp_list = tmp_list->next; - p32++; - } + header->byte_order = local_byte_order; + header->protocol_version = 0; + header->n_lists = display_x11->motif_n_target_lists; + header->total_size = total_size; - p16 = (guint16 *)p; - p += sizeof(guint16); + for (i = 0; i < display_x11->motif_n_target_lists ; i++) + { + guint16 n_targets = g_list_length (display_x11->motif_target_lists[i]); + guint32 *targets = g_new (guint32, n_targets); + guint32 *p32 = targets; - memcpy (p, targets, n_targets * sizeof(guint32)); + tmp_list = display_x11->motif_target_lists[i]; + while (tmp_list) + { + *p32 = GPOINTER_TO_UINT (tmp_list->data); - *p16 = n_targets; - p += sizeof(guint32) * n_targets; - g_free (targets); - } + tmp_list = tmp_list->next; + p32++; + } - XChangeProperty (display_x11->xdisplay, - display_x11->motif_drag_window, - gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"), - gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"), - 8, PropModeReplace, - data, total_size); - } + p16 = (guint16 *)p; + p += sizeof(guint16); + + memcpy (p, targets, n_targets * sizeof(guint32)); + + *p16 = n_targets; + p += sizeof(guint32) * n_targets; + g_free (targets); + } + + XChangeProperty (display_x11->xdisplay, + display_x11->motif_drag_window, + gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"), + gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_TARGETS"), + 8, PropModeReplace, + data, total_size); + } gdk_x11_display_ungrab (display); } @@ -1275,13 +1281,13 @@ motif_add_to_target_table (GdkDisplay *display, /* Translate flags */ static void -motif_dnd_translate_flags (GdkDragContextX11 *context_x11, +motif_dnd_translate_flags (GdkX11DragContext *context_x11, guint16 flags) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); guint recommended_op = flags & 0x000f; guint possible_ops = (flags & 0x0f0) >> 4; - + switch (recommended_op) { case XmDROP_MOVE: @@ -1311,7 +1317,7 @@ static guint16 motif_dnd_get_flags (GdkDragContext *context) { guint16 flags = 0; - + switch (context->suggested_action) { case GDK_ACTION_MOVE: @@ -1327,7 +1333,7 @@ motif_dnd_get_flags (GdkDragContext *context) flags = XmDROP_NOOP; break; } - + if (context->actions & GDK_ACTION_MOVE) flags |= XmDROP_MOVE << 8; if (context->actions & GDK_ACTION_COPY) @@ -1341,7 +1347,7 @@ motif_dnd_get_flags (GdkDragContext *context) /* Source Side */ static void -motif_set_targets (GdkDragContextX11 *context_x11) +motif_set_targets (GdkX11DragContext *context_x11) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); MotifDragInitiatorInfo info; @@ -1366,17 +1372,17 @@ motif_set_targets (GdkDragContextX11 *context_x11) XChangeProperty (GDK_WINDOW_XDISPLAY (context->source_window), GDK_WINDOW_XID (context->source_window), - context_x11->motif_selection, - gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_INITIATOR_INFO"), - 8, PropModeReplace, - (guchar *)&info, sizeof (info)); + context_x11->motif_selection, + gdk_x11_get_xatom_by_name_for_display (display, "_MOTIF_DRAG_INITIATOR_INFO"), + 8, PropModeReplace, + (guchar *)&info, sizeof (info)); context_x11->motif_targets_set = 1; } static guint32 motif_check_dest (GdkDisplay *display, - Window win) + Window win) { gboolean retval = FALSE; guchar *data; @@ -1396,33 +1402,33 @@ motif_check_dest (GdkDisplay *display, if (gdk_x11_display_error_trap_pop (display) == 0) { if (type != None) - { - info = (MotifDragReceiverInfo *)data; - - if ((format == 8) && (nitems == sizeof(*info))) - { - if ((info->protocol_version == 0) && - ((info->protocol_style == XmDRAG_PREFER_PREREGISTER) || - (info->protocol_style == XmDRAG_PREFER_DYNAMIC) || - (info->protocol_style == XmDRAG_DYNAMIC))) - retval = TRUE; - } - else - { - GDK_NOTE (DND, - g_warning ("Invalid Motif drag receiver property on window %ld\n", win)); - } - - XFree (info); - } + { + info = (MotifDragReceiverInfo *)data; + + if ((format == 8) && (nitems == sizeof(*info))) + { + if ((info->protocol_version == 0) && + ((info->protocol_style == XmDRAG_PREFER_PREREGISTER) || + (info->protocol_style == XmDRAG_PREFER_DYNAMIC) || + (info->protocol_style == XmDRAG_DYNAMIC))) + retval = TRUE; + } + else + { + GDK_NOTE (DND, + g_warning ("Invalid Motif drag receiver property on window %ld\n", win)); + } + + XFree (info); + } } return retval ? win : None; } static void -motif_send_enter (GdkDragContextX11 *context_x11, - guint32 time) +motif_send_enter (GdkX11DragContext *context_x11, + guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -1457,8 +1463,8 @@ motif_send_enter (GdkDragContextX11 *context_x11, } static void -motif_send_leave (GdkDragContextX11 *context_x11, - guint32 time) +motif_send_leave (GdkX11DragContext *context_x11, + guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -1486,11 +1492,11 @@ motif_send_leave (GdkDragContextX11 *context_x11, } static gboolean -motif_send_motion (GdkDragContextX11 *context_x11, - gint x_root, - gint y_root, - GdkDragAction action, - guint32 time) +motif_send_motion (GdkX11DragContext *context_x11, + gint x_root, + gint y_root, + GdkDragAction action, + guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -1522,7 +1528,7 @@ motif_send_motion (GdkDragContextX11 *context_x11, MOTIF_XCLIENT_SHORT (&xev, 4) = x_root; MOTIF_XCLIENT_SHORT (&xev, 5) = y_root; - + context_x11->drag_status = GDK_DRAG_STATUS_MOTION_WAIT; retval = FALSE; } @@ -1538,7 +1544,7 @@ motif_send_motion (GdkDragContextX11 *context_x11, } static void -motif_send_drop (GdkDragContextX11 *context_x11, +motif_send_drop (GdkX11DragContext *context_x11, guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); @@ -1573,10 +1579,10 @@ motif_send_drop (GdkDragContextX11 *context_x11, static gboolean motif_read_initiator_info (GdkDisplay *display, - Window source_window, - Atom atom, - GList **targets, - Atom *selection) + Window source_window, + Atom atom, + GList **targets, + Atom *selection) { GList *tmp_list; Atom type; @@ -1607,11 +1613,11 @@ motif_read_initiator_info (GdkDisplay *display, motif_read_target_table (display); - initiator_info->targets_index = + initiator_info->targets_index = card16_to_host (initiator_info->targets_index, initiator_info->byte_order); - initiator_info->selection_atom = + initiator_info->selection_atom = card32_to_host (initiator_info->selection_atom, initiator_info->byte_order); - + if (initiator_info->targets_index >= display_x11->motif_n_target_lists) { g_warning ("Invalid target index in TOP_LEVEL_ENTER MESSAGE"); @@ -1643,11 +1649,11 @@ motif_read_initiator_info (GdkDisplay *display, static GdkDragContext * motif_drag_context_new (GdkWindow *dest_window, - guint32 timestamp, - guint32 source_window, - guint32 atom) + guint32 timestamp, + guint32 source_window, + guint32 atom) { - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; GdkDragContext *context; GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); GdkX11Display *display_x11 = GDK_X11_DISPLAY (display); @@ -1658,15 +1664,15 @@ motif_drag_context_new (GdkWindow *dest_window, if (display_x11->current_dest_drag != NULL) { if (timestamp >= display_x11->current_dest_drag->start_time) - { - g_object_unref (display_x11->current_dest_drag); - display_x11->current_dest_drag = NULL; - } + { + g_object_unref (display_x11->current_dest_drag); + display_x11->current_dest_drag = NULL; + } else - return NULL; + return NULL; } - context_x11 = g_object_new (GDK_TYPE_DRAG_CONTEXT_X11, NULL); + context_x11 = g_object_new (GDK_TYPE_X11_DRAG_CONTEXT, NULL); context = GDK_DRAG_CONTEXT (context_x11); context->protocol = GDK_DRAG_PROTO_MOTIF; @@ -1679,10 +1685,10 @@ motif_drag_context_new (GdkWindow *dest_window, { context->source_window = gdk_x11_window_foreign_new_for_display (display, source_window); if (!context->source_window) - { - g_object_unref (context_x11); - return NULL; - } + { + g_object_unref (context_x11); + return NULL; + } } context->dest_window = dest_window; @@ -1690,10 +1696,10 @@ motif_drag_context_new (GdkWindow *dest_window, context->start_time = timestamp; if (!motif_read_initiator_info (GDK_WINDOW_DISPLAY (dest_window), - source_window, - atom, - &context->targets, - &context_x11->motif_selection)) + source_window, + atom, + &context->targets, + &context_x11->motif_selection)) { g_object_unref (context_x11); return NULL; @@ -1711,16 +1717,16 @@ motif_drag_context_new (GdkWindow *dest_window, static GdkFilterReturn motif_top_level_enter (GdkEvent *event, - guint16 flags, - guint32 timestamp, - guint32 source_window, - guint32 atom) + guint16 flags, + guint32 timestamp, + guint32 source_window, + guint32 atom) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GdkDragContext *new_context; GDK_NOTE(DND, g_message ("Motif DND top level enter: flags: %#4x time: %d source_widow: %#4x atom: %d", - flags, timestamp, source_window, atom)); + flags, timestamp, source_window, atom)); new_context = motif_drag_context_new (event->any.window, timestamp, source_window, atom); if (!new_context) @@ -1737,13 +1743,13 @@ motif_top_level_enter (GdkEvent *event, static GdkFilterReturn motif_top_level_leave (GdkEvent *event, - guint16 flags, - guint32 timestamp) + guint16 flags, + guint32 timestamp) { GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND top level leave: flags: %#4x time: %d", - flags, timestamp)); + flags, timestamp)); if ((display_x11->current_dest_drag != NULL) && (display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_MOTIF) && @@ -1763,22 +1769,22 @@ motif_top_level_leave (GdkEvent *event, static GdkFilterReturn motif_motion (GdkEvent *event, - guint16 flags, - guint32 timestamp, - gint16 x_root, - gint16 y_root) + guint16 flags, + guint32 timestamp, + gint16 x_root, + gint16 y_root) { - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); - + GDK_NOTE(DND, g_message ("Motif DND motion: flags: %#4x time: %d (%d, %d)", - flags, timestamp, x_root, y_root)); + flags, timestamp, x_root, y_root)); if ((display_x11->current_dest_drag != NULL) && (display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_MOTIF) && (timestamp >= display_x11->current_dest_drag->start_time)) { - context_x11 = GDK_DRAG_CONTEXT_X11 (display_x11->current_dest_drag); + context_x11 = GDK_X11_DRAG_CONTEXT (display_x11->current_dest_drag); event->dnd.type = GDK_DRAG_MOTION; event->dnd.context = display_x11->current_dest_drag; @@ -1804,13 +1810,13 @@ motif_motion (GdkEvent *event, static GdkFilterReturn motif_operation_changed (GdkEvent *event, - guint16 flags, - guint32 timestamp) + guint16 flags, + guint32 timestamp) { - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND operation changed: flags: %#4x time: %d", - flags, timestamp)); + flags, timestamp)); if ((display_x11->current_dest_drag != NULL) && (display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_MOTIF) && @@ -1822,7 +1828,7 @@ motif_operation_changed (GdkEvent *event, g_object_ref (display_x11->current_dest_drag); event->dnd.time = timestamp; - context_x11 = GDK_DRAG_CONTEXT_X11 (display_x11->current_dest_drag); + context_x11 = GDK_X11_DRAG_CONTEXT (display_x11->current_dest_drag); motif_dnd_translate_flags (context_x11, flags); @@ -1839,24 +1845,24 @@ motif_operation_changed (GdkEvent *event, static GdkFilterReturn motif_drop_start (GdkEvent *event, - guint16 flags, - guint32 timestamp, - guint32 source_window, - guint32 atom, - gint16 x_root, - gint16 y_root) + guint16 flags, + guint32 timestamp, + guint32 source_window, + guint32 atom, + gint16 x_root, + gint16 y_root) { GdkDragContext *new_context; GdkX11Display *display_x11 = GDK_X11_DISPLAY (GDK_WINDOW_DISPLAY (event->any.window)); GDK_NOTE(DND, g_message ("Motif DND drop start: flags: %#4x time: %d (%d, %d) source_widow: %#4x atom: %d", - flags, timestamp, x_root, y_root, source_window, atom)); + flags, timestamp, x_root, y_root, source_window, atom)); new_context = motif_drag_context_new (event->any.window, timestamp, source_window, atom); if (!new_context) return GDK_FILTER_REMOVE; - motif_dnd_translate_flags (GDK_DRAG_CONTEXT_X11 (new_context), flags); + motif_dnd_translate_flags (GDK_X11_DRAG_CONTEXT (new_context), flags); event->dnd.type = GDK_DROP_START; event->dnd.context = new_context; @@ -1870,32 +1876,32 @@ motif_drop_start (GdkEvent *event, display_x11->current_dest_drag = new_context; return GDK_FILTER_TRANSLATE; -} +} static GdkFilterReturn motif_drag_status (GdkEvent *event, - guint16 flags, - guint32 timestamp) + guint16 flags, + guint32 timestamp) { GdkDragContext *context; GdkDisplay *display; - - GDK_NOTE (DND, - g_message ("Motif status message: flags %x", flags)); + + GDK_NOTE (DND, + g_message ("Motif status message: flags %x", flags)); display = gdk_window_get_display (event->any.window); if (!display) return GDK_FILTER_REMOVE; - + context = gdk_drag_context_find (display, TRUE, GDK_WINDOW_XID (event->any.window), None); if (context) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); if ((context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT) || - (context_x11->drag_status == GDK_DRAG_STATUS_ACTION_WAIT)) - context_x11->drag_status = GDK_DRAG_STATUS_DRAG; - + (context_x11->drag_status == GDK_DRAG_STATUS_ACTION_WAIT)) + context_x11->drag_status = GDK_DRAG_STATUS_DRAG; + event->dnd.type = GDK_DRAG_STATUS; event->dnd.send_event = FALSE; event->dnd.context = context; @@ -1904,25 +1910,25 @@ motif_drag_status (GdkEvent *event, event->dnd.time = timestamp; if ((flags & 0x00f0) >> 4 == XmDROP_SITE_VALID) - { - switch (flags & 0x000f) - { - case XmDROP_NOOP: - context->action = 0; - break; - case XmDROP_MOVE: - context->action = GDK_ACTION_MOVE; - break; - case XmDROP_COPY: - context->action = GDK_ACTION_COPY; - break; - case XmDROP_LINK: - context->action = GDK_ACTION_LINK; - break; - } - } + { + switch (flags & 0x000f) + { + case XmDROP_NOOP: + context->action = 0; + break; + case XmDROP_MOVE: + context->action = GDK_ACTION_MOVE; + break; + case XmDROP_COPY: + context->action = GDK_ACTION_COPY; + break; + case XmDROP_LINK: + context->action = GDK_ACTION_LINK; + break; + } + } else - context->action = 0; + context->action = 0; return GDK_FILTER_TRANSLATE; } @@ -1931,8 +1937,8 @@ motif_drag_status (GdkEvent *event, static GdkFilterReturn motif_dnd_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { XEvent *xevent = (XEvent *)xev; @@ -1946,10 +1952,9 @@ motif_dnd_filter (GdkXEvent *xev, if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ - - /* First read some fields common to all Motif DND messages */ + return GDK_FILTER_CONTINUE; /* Not for us */ + /* First read some fields common to all Motif DND messages */ reason = MOTIF_UNPACK_BYTE (xevent, 0); flags = MOTIF_UNPACK_SHORT (xevent, 1); timestamp = MOTIF_UNPACK_LONG (xevent, 1); @@ -1968,19 +1973,19 @@ motif_dnd_filter (GdkXEvent *xev, case XmDRAG_MOTION: x_root = MOTIF_UNPACK_SHORT (xevent, 4); y_root = MOTIF_UNPACK_SHORT (xevent, 5); - + if (!is_reply) - return motif_motion (event, flags, timestamp, x_root, y_root); + return motif_motion (event, flags, timestamp, x_root, y_root); else - return motif_drag_status (event, flags, timestamp); + return motif_drag_status (event, flags, timestamp); case XmDROP_SITE_ENTER: return motif_drag_status (event, flags, timestamp); case XmDROP_SITE_LEAVE: return motif_drag_status (event, - XmNO_DROP_SITE << 8 | XmDROP_NOOP, - timestamp); + XmNO_DROP_SITE << 8 | XmDROP_NOOP, + timestamp); case XmDROP_START: x_root = MOTIF_UNPACK_SHORT (xevent, 4); y_root = MOTIF_UNPACK_SHORT (xevent, 5); @@ -1988,17 +1993,17 @@ motif_dnd_filter (GdkXEvent *xev, source_window = MOTIF_UNPACK_LONG (xevent, 4); if (!is_reply) - return motif_drop_start (event, flags, timestamp, source_window, atom, x_root, y_root); - + return motif_drop_start (event, flags, timestamp, source_window, atom, x_root, y_root); + break; case XmOPERATION_CHANGED: if (!is_reply) - return motif_operation_changed (event, flags, timestamp); + return motif_operation_changed (event, flags, timestamp); else - return motif_drag_status (event, flags, timestamp); + return motif_drag_status (event, flags, timestamp); break; - /* To the best of my knowledge, these next two messages are + /* To the best of my knowledge, these next two messages are * not part of the protocol, though they are defined in * the header files. */ @@ -2028,14 +2033,14 @@ static struct { { "XdndActionPrivate", None, GDK_ACTION_COPY }, }; -static const gint xdnd_n_actions = sizeof(xdnd_actions_table) / sizeof(xdnd_actions_table[0]); +static const gint xdnd_n_actions = G_N_ELEMENTS (xdnd_actions_table); static gboolean xdnd_actions_initialized = FALSE; static void xdnd_initialize_actions (void) { gint i; - + xdnd_actions_initialized = TRUE; for (i = 0; i < xdnd_n_actions; i++) xdnd_actions_table[i].atom = gdk_atom_intern_static_string (xdnd_actions_table[i].name); @@ -2043,7 +2048,7 @@ xdnd_initialize_actions (void) static GdkDragAction xdnd_action_from_atom (GdkDisplay *display, - Atom xatom) + Atom xatom) { GdkAtom atom; gint i; @@ -2065,7 +2070,7 @@ xdnd_action_from_atom (GdkDisplay *display, static Atom xdnd_action_to_atom (GdkDisplay *display, - GdkDragAction action) + GdkDragAction action) { gint i; @@ -2081,10 +2086,10 @@ xdnd_action_to_atom (GdkDisplay *display, /* Source side */ -static GdkFilterReturn +static GdkFilterReturn xdnd_status_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { GdkDisplay *display; XEvent *xevent = (XEvent *)xev; @@ -2095,21 +2100,21 @@ xdnd_status_filter (GdkXEvent *xev, if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ - - GDK_NOTE (DND, - g_message ("XdndStatus: dest_window: %#x action: %ld", - dest_window, action)); + return GDK_FILTER_CONTINUE; /* Not for us */ + + GDK_NOTE (DND, + g_message ("XdndStatus: dest_window: %#x action: %ld", + dest_window, action)); display = gdk_window_get_display (event->any.window); context = gdk_drag_context_find (display, TRUE, xevent->xclient.window, dest_window); - + if (context) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); if (context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT) context_x11->drag_status = GDK_DRAG_STATUS_DRAG; - + event->dnd.send_event = FALSE; event->dnd.type = GDK_DRAG_STATUS; event->dnd.context = context; @@ -2118,11 +2123,11 @@ xdnd_status_filter (GdkXEvent *xev, event->dnd.time = GDK_CURRENT_TIME; /* FIXME? */ if (!(action != 0) != !(flags & 1)) - { - GDK_NOTE (DND, - g_warning ("Received status event with flags not corresponding to action!\n")); - action = 0; - } + { + GDK_NOTE (DND, + g_warning ("Received status event with flags not corresponding to action!\n")); + action = 0; + } context->action = xdnd_action_from_atom (display, action); @@ -2132,32 +2137,32 @@ xdnd_status_filter (GdkXEvent *xev, return GDK_FILTER_REMOVE; } -static GdkFilterReturn +static GdkFilterReturn xdnd_finished_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { GdkDisplay *display; XEvent *xevent = (XEvent *)xev; guint32 dest_window = xevent->xclient.data.l[0]; GdkDragContext *context; - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ - - GDK_NOTE (DND, - g_message ("XdndFinished: dest_window: %#x", dest_window)); + return GDK_FILTER_CONTINUE; /* Not for us */ + + GDK_NOTE (DND, + g_message ("XdndFinished: dest_window: %#x", dest_window)); display = gdk_window_get_display (event->any.window); context = gdk_drag_context_find (display, TRUE, xevent->xclient.window, dest_window); - + if (context) { - context_x11 = GDK_DRAG_CONTEXT_X11 (context); + context_x11 = GDK_X11_DRAG_CONTEXT (context); if (context_x11->version == 5) - context_x11->drop_failed = xevent->xclient.data.l[1] == 0; + context_x11->drop_failed = xevent->xclient.data.l[1] == 0; event->dnd.type = GDK_DROP_FINISHED; event->dnd.context = context; @@ -2173,7 +2178,7 @@ xdnd_finished_filter (GdkXEvent *xev, } static void -xdnd_set_targets (GdkDragContextX11 *context_x11) +xdnd_set_targets (GdkX11DragContext *context_x11) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); Atom *atomlist; @@ -2192,10 +2197,10 @@ xdnd_set_targets (GdkDragContextX11 *context_x11) } XChangeProperty (GDK_WINDOW_XDISPLAY (context->source_window), - GDK_WINDOW_XID (context->source_window), - gdk_x11_get_xatom_by_name_for_display (display, "XdndTypeList"), - XA_ATOM, 32, PropModeReplace, - (guchar *)atomlist, n_atoms); + GDK_WINDOW_XID (context->source_window), + gdk_x11_get_xatom_by_name_for_display (display, "XdndTypeList"), + XA_ATOM, 32, PropModeReplace, + (guchar *)atomlist, n_atoms); g_free (atomlist); @@ -2203,7 +2208,7 @@ xdnd_set_targets (GdkDragContextX11 *context_x11) } static void -xdnd_set_actions (GdkDragContextX11 *context_x11) +xdnd_set_actions (GdkX11DragContext *context_x11) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); Atom *atomlist; @@ -2214,16 +2219,16 @@ xdnd_set_actions (GdkDragContextX11 *context_x11) if (!xdnd_actions_initialized) xdnd_initialize_actions(); - + actions = context->actions; n_atoms = 0; for (i = 0; i < xdnd_n_actions; i++) { if (actions & xdnd_actions_table[i].action) - { - actions &= ~xdnd_actions_table[i].action; - n_atoms++; - } + { + actions &= ~xdnd_actions_table[i].action; + n_atoms++; + } } atomlist = g_new (Atom, n_atoms); @@ -2233,18 +2238,18 @@ xdnd_set_actions (GdkDragContextX11 *context_x11) for (i = 0; i < xdnd_n_actions; i++) { if (actions & xdnd_actions_table[i].action) - { - actions &= ~xdnd_actions_table[i].action; - atomlist[n_atoms] = gdk_x11_atom_to_xatom_for_display (display, xdnd_actions_table[i].atom); - n_atoms++; - } + { + actions &= ~xdnd_actions_table[i].action; + atomlist[n_atoms] = gdk_x11_atom_to_xatom_for_display (display, xdnd_actions_table[i].atom); + n_atoms++; + } } XChangeProperty (GDK_WINDOW_XDISPLAY (context->source_window), - GDK_WINDOW_XID (context->source_window), - gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"), - XA_ATOM, 32, PropModeReplace, - (guchar *)atomlist, n_atoms); + GDK_WINDOW_XID (context->source_window), + gdk_x11_get_xatom_by_name_for_display (display, "XdndActionList"), + XA_ATOM, 32, PropModeReplace, + (guchar *)atomlist, n_atoms); g_free (atomlist); @@ -2254,13 +2259,13 @@ xdnd_set_actions (GdkDragContextX11 *context_x11) static void send_client_message_async_cb (Window window, - gboolean success, - gpointer data) + gboolean success, + gpointer data) { GdkDragContext *context = data; GDK_NOTE (DND, - g_message ("Got async callback for #%lx, success = %d", - window, success)); + g_message ("Got async callback for #%lx, success = %d", + window, success)); /* On failure, we immediately continue with the protocol * so we don't end up blocking for a timeout @@ -2270,7 +2275,7 @@ send_client_message_async_cb (Window window, window == GDK_WINDOW_XID (context->dest_window)) { GdkEvent *temp_event; - GdkDragContextX11 *context_x11 = data; + GdkX11DragContext *context_x11 = data; g_object_unref (context->dest_window); context->dest_window = NULL; @@ -2308,25 +2313,25 @@ gdk_drag_context_get_display (GdkDragContext *context) static void send_client_message_async (GdkDragContext *context, - Window window, - gboolean propagate, - glong event_mask, - XClientMessageEvent *event_send) + Window window, + gboolean propagate, + glong event_mask, + XClientMessageEvent *event_send) { GdkDisplay *display = gdk_drag_context_get_display (context); - + g_object_ref (context); _gdk_x11_send_client_message_async (display, window, - propagate, event_mask, event_send, - send_client_message_async_cb, context); + propagate, event_mask, event_send, + send_client_message_async_cb, context); } static gboolean -xdnd_send_xevent (GdkDragContextX11 *context_x11, - GdkWindow *window, - gboolean propagate, - XEvent *event_send) +xdnd_send_xevent (GdkX11DragContext *context_x11, + GdkWindow *window, + gboolean propagate, + XEvent *event_send) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = gdk_drag_context_get_display (context); @@ -2339,43 +2344,43 @@ xdnd_send_xevent (GdkDragContextX11 *context_x11, if (gdk_window_get_window_type (window) != GDK_WINDOW_FOREIGN) { gint i; - + for (i = 0; i < G_N_ELEMENTS (xdnd_filters); i++) - { - if (gdk_x11_get_xatom_by_name_for_display (display, xdnd_filters[i].atom_name) == - event_send->xclient.message_type) - { - GdkEvent *temp_event; + { + if (gdk_x11_get_xatom_by_name_for_display (display, xdnd_filters[i].atom_name) == + event_send->xclient.message_type) + { + GdkEvent *temp_event; temp_event = gdk_event_new (GDK_NOTHING); temp_event->any.window = g_object_ref (window); - if ((*xdnd_filters[i].func) (event_send, temp_event, NULL) == GDK_FILTER_TRANSLATE) - { - gdk_event_put (temp_event); + if ((*xdnd_filters[i].func) (event_send, temp_event, NULL) == GDK_FILTER_TRANSLATE) + { + gdk_event_put (temp_event); gdk_event_free (temp_event); - } - - return TRUE; - } - } + } + + return TRUE; + } + } } xwindow = GDK_WINDOW_XID (window); - + if (_gdk_x11_display_is_root_window (display, xwindow)) event_mask = ButtonPressMask; else event_mask = 0; - + send_client_message_async (context, xwindow, propagate, event_mask, - &event_send->xclient); + &event_send->xclient); return TRUE; } - + static void -xdnd_send_enter (GdkDragContextX11 *context_x11) +xdnd_send_enter (GdkX11DragContext *context_x11) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->dest_window); @@ -2394,12 +2399,12 @@ xdnd_send_enter (GdkDragContextX11 *context_x11) xev.xclient.data.l[4] = 0; GDK_NOTE(DND, - g_message ("Sending enter source window %#lx XDND protocol version %d\n", - GDK_WINDOW_XID (context->source_window), context_x11->version)); + g_message ("Sending enter source window %#lx XDND protocol version %d\n", + GDK_WINDOW_XID (context->source_window), context_x11->version)); if (g_list_length (context->targets) > 3) { if (!context_x11->xdnd_targets_set) - xdnd_set_targets (context_x11); + xdnd_set_targets (context_x11); xev.xclient.data.l[1] |= 1; } else @@ -2408,26 +2413,26 @@ xdnd_send_enter (GdkDragContextX11 *context_x11) gint i = 2; while (tmp_list) - { - xev.xclient.data.l[i] = gdk_x11_atom_to_xatom_for_display (display, - GDK_POINTER_TO_ATOM (tmp_list->data)); - tmp_list = tmp_list->next; - i++; - } + { + xev.xclient.data.l[i] = gdk_x11_atom_to_xatom_for_display (display, + GDK_POINTER_TO_ATOM (tmp_list->data)); + tmp_list = tmp_list->next; + i++; + } } if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); g_object_unref (context->dest_window); context->dest_window = NULL; } } static void -xdnd_send_leave (GdkDragContextX11 *context_x11) +xdnd_send_leave (GdkX11DragContext *context_x11) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -2447,16 +2452,16 @@ xdnd_send_leave (GdkDragContextX11 *context_x11) if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); g_object_unref (context->dest_window); context->dest_window = NULL; } } static void -xdnd_send_drop (GdkDragContextX11 *context_x11, +xdnd_send_drop (GdkX11DragContext *context_x11, guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); @@ -2478,19 +2483,19 @@ xdnd_send_drop (GdkDragContextX11 *context_x11, if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); g_object_unref (context->dest_window); context->dest_window = NULL; } } static void -xdnd_send_motion (GdkDragContextX11 *context_x11, - gint x_root, - gint y_root, - GdkDragAction action, - guint32 time) +xdnd_send_motion (GdkX11DragContext *context_x11, + gint x_root, + gint y_root, + GdkDragAction action, + guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -2511,8 +2516,8 @@ xdnd_send_motion (GdkDragContextX11 *context_x11, if (!xdnd_send_xevent (context_x11, context->dest_window, FALSE, &xev)) { GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->dest_window))); + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->dest_window))); g_object_unref (context->dest_window); context->dest_window = NULL; } @@ -2521,8 +2526,8 @@ xdnd_send_motion (GdkDragContextX11 *context_x11, static guint32 xdnd_check_dest (GdkDisplay *display, - Window win, - guint *xdnd_version) + Window win, + guint *xdnd_version) { gboolean retval = FALSE; Atom type = None; @@ -2545,44 +2550,44 @@ xdnd_check_dest (GdkDisplay *display, &data) == Success) { if (type != None) - { - proxy_data = (Window *)data; + { + proxy_data = (Window *)data; - if ((format == 32) && (nitems == 1)) - { - proxy = *proxy_data; - } - else - GDK_NOTE (DND, - g_warning ("Invalid XdndProxy " - "property on window %ld\n", win)); + if ((format == 32) && (nitems == 1)) + { + proxy = *proxy_data; + } + else + GDK_NOTE (DND, + g_warning ("Invalid XdndProxy " + "property on window %ld\n", win)); - XFree (proxy_data); - } + XFree (proxy_data); + } if ((XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), proxy ? proxy : win, - xdnd_aware_atom, 0, - 1, False, AnyPropertyType, - &type, &format, &nitems, &after, - &data) == Success) && - type != None) - { - version = (Atom *)data; + xdnd_aware_atom, 0, + 1, False, AnyPropertyType, + &type, &format, &nitems, &after, + &data) == Success) && + type != None) + { + version = (Atom *)data; - if ((format == 32) && (nitems == 1)) - { - if (*version >= 3) - retval = TRUE; - if (xdnd_version) - *xdnd_version = *version; - } - else - GDK_NOTE (DND, - g_warning ("Invalid XdndAware " - "property on window %ld\n", win)); + if ((format == 32) && (nitems == 1)) + { + if (*version >= 3) + retval = TRUE; + if (xdnd_version) + *xdnd_version = *version; + } + else + GDK_NOTE (DND, + g_warning ("Invalid XdndAware " + "property on window %ld\n", win)); - XFree (version); - } + XFree (version); + } } gdk_x11_display_error_trap_pop_ignored (display); @@ -2593,7 +2598,7 @@ xdnd_check_dest (GdkDisplay *display, /* Target side */ static void -xdnd_read_actions (GdkDragContextX11 *context_x11) +xdnd_read_actions (GdkX11DragContext *context_x11) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); GdkDisplay *display = GDK_WINDOW_DISPLAY (context->source_window); @@ -2623,30 +2628,30 @@ xdnd_read_actions (GdkDragContextX11 *context_x11) context->actions = 0; - for (i = 0; i < nitems; i++) - context->actions |= xdnd_action_from_atom (display, atoms[i]); - - context_x11->xdnd_have_actions = TRUE; - + for (i = 0; i < nitems; i++) + context->actions |= xdnd_action_from_atom (display, atoms[i]); + + context_x11->xdnd_have_actions = TRUE; + #ifdef G_ENABLE_DEBUG - if (_gdk_debug_flags & GDK_DEBUG_DND) - { - GString *action_str = g_string_new (NULL); - if (context->actions & GDK_ACTION_MOVE) - g_string_append(action_str, "MOVE "); - if (context->actions & GDK_ACTION_COPY) - g_string_append(action_str, "COPY "); - if (context->actions & GDK_ACTION_LINK) - g_string_append(action_str, "LINK "); - if (context->actions & GDK_ACTION_ASK) - g_string_append(action_str, "ASK "); - - g_message("Xdnd actions = %s", action_str->str); - g_string_free (action_str, TRUE); - } + if (_gdk_debug_flags & GDK_DEBUG_DND) + { + GString *action_str = g_string_new (NULL); + if (context->actions & GDK_ACTION_MOVE) + g_string_append(action_str, "MOVE "); + if (context->actions & GDK_ACTION_COPY) + g_string_append(action_str, "COPY "); + if (context->actions & GDK_ACTION_LINK) + g_string_append(action_str, "LINK "); + if (context->actions & GDK_ACTION_ASK) + g_string_append(action_str, "ASK "); + + g_message("Xdnd actions = %s", action_str->str); + g_string_free (action_str, TRUE); + } #endif /* G_ENABLE_DEBUG */ - - } + + } if (data) XFree (data); @@ -2660,14 +2665,14 @@ xdnd_read_actions (GdkDragContextX11 *context_x11) GdkDragContext *source_context; source_context = gdk_drag_context_find (display, TRUE, - GDK_WINDOW_XID (context->source_window), - GDK_WINDOW_XID (context->dest_window)); + GDK_WINDOW_XID (context->source_window), + GDK_WINDOW_XID (context->dest_window)); if (source_context) - { - context->actions = source_context->actions; - context_x11->xdnd_have_actions = TRUE; - } + { + context->actions = source_context->actions; + context_x11->xdnd_have_actions = TRUE; + } } } @@ -2679,11 +2684,11 @@ xdnd_read_actions (GdkDragContextX11 *context_x11) */ static GdkFilterReturn xdnd_source_window_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer cb_data) + GdkEvent *event, + gpointer cb_data) { XEvent *xevent = (XEvent *)xev; - GdkDragContextX11 *context_x11 = cb_data; + GdkX11DragContext *context_x11 = cb_data; GdkDisplay *display = GDK_WINDOW_DISPLAY(event->any.window); if ((xevent->xany.type == PropertyNotify) && @@ -2699,8 +2704,8 @@ xdnd_source_window_filter (GdkXEvent *xev, static void xdnd_manage_source_filter (GdkDragContext *context, - GdkWindow *window, - gboolean add_filter) + GdkWindow *window, + gboolean add_filter) { if (!GDK_WINDOW_DESTROYED (window) && gdk_window_get_window_type (window) == GDK_WINDOW_FOREIGN) @@ -2708,23 +2713,23 @@ xdnd_manage_source_filter (GdkDragContext *context, gdk_x11_display_error_trap_push (GDK_WINDOW_DISPLAY (window)); if (add_filter) - { - gdk_window_set_events (window, - gdk_window_get_events (window) | - GDK_PROPERTY_CHANGE_MASK); - gdk_window_add_filter (window, xdnd_source_window_filter, context); - } + { + gdk_window_set_events (window, + gdk_window_get_events (window) | + GDK_PROPERTY_CHANGE_MASK); + gdk_window_add_filter (window, xdnd_source_window_filter, context); + } else - { - gdk_window_remove_filter (window, - xdnd_source_window_filter, - context); - /* Should we remove the GDK_PROPERTY_NOTIFY mask? - * but we might want it for other reasons. (Like - * INCR selection transactions). - */ - } - + { + gdk_window_remove_filter (window, + xdnd_source_window_filter, + context); + /* Should we remove the GDK_PROPERTY_NOTIFY mask? + * but we might want it for other reasons. (Like + * INCR selection transactions). + */ + } + gdk_x11_display_error_trap_pop_ignored (GDK_WINDOW_DISPLAY (window)); } } @@ -2737,15 +2742,15 @@ base_precache_atoms (GdkDisplay *display) if (!display_x11->base_dnd_atoms_precached) { static const char *const precache_atoms[] = { - "ENLIGHTENMENT_DESKTOP", - "WM_STATE", - "XdndAware", - "XdndProxy", - "_MOTIF_DRAG_RECEIVER_INFO" + "ENLIGHTENMENT_DESKTOP", + "WM_STATE", + "XdndAware", + "XdndProxy", + "_MOTIF_DRAG_RECEIVER_INFO" }; _gdk_x11_precache_atoms (display, - precache_atoms, G_N_ELEMENTS (precache_atoms)); + precache_atoms, G_N_ELEMENTS (precache_atoms)); display_x11->base_dnd_atoms_precached = TRUE; } @@ -2758,69 +2763,67 @@ xdnd_precache_atoms (GdkDisplay *display) if (!display_x11->xdnd_atoms_precached) { - static const char *const precache_atoms[] = { - "XdndActionAsk", - "XdndActionCopy", - "XdndActionLink", - "XdndActionList", - "XdndActionMove", - "XdndActionPrivate", - "XdndDrop", - "XdndEnter", - "XdndFinished", - "XdndLeave", - "XdndPosition", - "XdndSelection", - "XdndStatus", - "XdndTypeList" + static const gchar *const precache_atoms[] = { + "XdndActionAsk", + "XdndActionCopy", + "XdndActionLink", + "XdndActionList", + "XdndActionMove", + "XdndActionPrivate", + "XdndDrop", + "XdndEnter", + "XdndFinished", + "XdndLeave", + "XdndPosition", + "XdndSelection", + "XdndStatus", + "XdndTypeList" }; _gdk_x11_precache_atoms (display, - precache_atoms, G_N_ELEMENTS (precache_atoms)); + precache_atoms, G_N_ELEMENTS (precache_atoms)); display_x11->xdnd_atoms_precached = TRUE; } } -static GdkFilterReturn +static GdkFilterReturn xdnd_enter_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer cb_data) + GdkEvent *event, + gpointer cb_data) { GdkDeviceManager *device_manager; GdkDisplay *display; GdkX11Display *display_x11; XEvent *xevent = (XEvent *)xev; GdkDragContext *context; - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; gint i; - Atom type; int format; gulong nitems, after; guchar *data; Atom *atoms; - guint32 source_window; gboolean get_types; gint version; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ + return GDK_FILTER_CONTINUE; /* Not for us */ source_window = xevent->xclient.data.l[0]; get_types = ((xevent->xclient.data.l[1] & 1) != 0); version = (xevent->xclient.data.l[1] & 0xff000000) >> 24; - + display = GDK_WINDOW_DISPLAY (event->any.window); display_x11 = GDK_X11_DISPLAY (display); xdnd_precache_atoms (display); - GDK_NOTE (DND, - g_message ("XdndEnter: source_window: %#x, version: %#x", - source_window, version)); + GDK_NOTE (DND, + g_message ("XdndEnter: source_window: %#x, version: %#x", + source_window, version)); if (version < 3) { @@ -2828,14 +2831,14 @@ xdnd_enter_filter (GdkXEvent *xev, GDK_NOTE (DND, g_message ("Ignored old XdndEnter message")); return GDK_FILTER_REMOVE; } - + if (display_x11->current_dest_drag != NULL) { g_object_unref (display_x11->current_dest_drag); display_x11->current_dest_drag = NULL; } - context_x11 = (GdkDragContextX11 *)g_object_new (GDK_TYPE_DRAG_CONTEXT_X11, NULL); + context_x11 = (GdkX11DragContext *)g_object_new (GDK_TYPE_X11_DRAG_CONTEXT, NULL); context = (GdkDragContext *)context_x11; context->protocol = GDK_DRAG_PROTO_XDND; @@ -2852,10 +2855,10 @@ xdnd_enter_filter (GdkXEvent *xev, { context->source_window = gdk_x11_window_foreign_new_for_display (display, source_window); if (!context->source_window) - { - g_object_unref (context); - return GDK_FILTER_REMOVE; - } + { + g_object_unref (context); + return GDK_FILTER_REMOVE; + } } context->dest_window = event->any.window; g_object_ref (context->dest_window); @@ -2864,41 +2867,41 @@ xdnd_enter_filter (GdkXEvent *xev, if (get_types) { gdk_x11_display_error_trap_push (display); - XGetWindowProperty (GDK_WINDOW_XDISPLAY (event->any.window), - source_window, - gdk_x11_get_xatom_by_name_for_display (display, "XdndTypeList"), - 0, 65536, - False, XA_ATOM, &type, &format, &nitems, - &after, &data); + XGetWindowProperty (GDK_WINDOW_XDISPLAY (event->any.window), + source_window, + gdk_x11_get_xatom_by_name_for_display (display, "XdndTypeList"), + 0, 65536, + False, XA_ATOM, &type, &format, &nitems, + &after, &data); if (gdk_x11_display_error_trap_pop (display) || (format != 32) || (type != XA_ATOM)) - { - g_object_unref (context); + { + g_object_unref (context); - if (data) - XFree (data); + if (data) + XFree (data); - return GDK_FILTER_REMOVE; - } + return GDK_FILTER_REMOVE; + } atoms = (Atom *)data; for (i = 0; i < nitems; i++) - context->targets = - g_list_append (context->targets, - GDK_ATOM_TO_POINTER (gdk_x11_xatom_to_atom_for_display (display, - atoms[i]))); + context->targets = + g_list_append (context->targets, + GDK_ATOM_TO_POINTER (gdk_x11_xatom_to_atom_for_display (display, + atoms[i]))); XFree (atoms); } else { for (i = 0; i < 3; i++) - if (xevent->xclient.data.l[2 + i]) - context->targets = - g_list_append (context->targets, - GDK_ATOM_TO_POINTER (gdk_x11_xatom_to_atom_for_display (display, - xevent->xclient.data.l[2 + i]))); + if (xevent->xclient.data.l[2 + i]) + context->targets = + g_list_append (context->targets, + GDK_ATOM_TO_POINTER (gdk_x11_xatom_to_atom_for_display (display, + xevent->xclient.data.l[2 + i]))); } #ifdef G_ENABLE_DEBUG @@ -2921,8 +2924,8 @@ xdnd_enter_filter (GdkXEvent *xev, static GdkFilterReturn xdnd_leave_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { XEvent *xevent = (XEvent *)xev; guint32 source_window = xevent->xclient.data.l[0]; @@ -2931,11 +2934,11 @@ xdnd_leave_filter (GdkXEvent *xev, if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ - - GDK_NOTE (DND, - g_message ("XdndLeave: source_window: %#x", - source_window)); + return GDK_FILTER_CONTINUE; /* Not for us */ + + GDK_NOTE (DND, + g_message ("XdndLeave: source_window: %#x", + source_window)); display = GDK_WINDOW_DISPLAY (event->any.window); display_x11 = GDK_X11_DISPLAY (display); @@ -2961,8 +2964,8 @@ xdnd_leave_filter (GdkXEvent *xev, static GdkFilterReturn xdnd_position_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { XEvent *xevent = (XEvent *)xev; guint32 source_window = xevent->xclient.data.l[0]; @@ -2970,23 +2973,22 @@ xdnd_position_filter (GdkXEvent *xev, gint16 y_root = xevent->xclient.data.l[2] & 0xffff; guint32 time = xevent->xclient.data.l[3]; Atom action = xevent->xclient.data.l[4]; - GdkDisplay *display; GdkX11Display *display_x11; GdkDragContext *context; - GdkDragContextX11 *context_x11; + GdkX11DragContext *context_x11; if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ - - GDK_NOTE (DND, - g_message ("XdndPosition: source_window: %#x position: (%d, %d) time: %d action: %ld", - source_window, x_root, y_root, time, action)); + return GDK_FILTER_CONTINUE; /* Not for us */ + + GDK_NOTE (DND, + g_message ("XdndPosition: source_window: %#x position: (%d, %d) time: %d action: %ld", + source_window, x_root, y_root, time, action)); display = GDK_WINDOW_DISPLAY (event->any.window); display_x11 = GDK_X11_DISPLAY (display); - + xdnd_precache_atoms (display); context = display_x11->current_dest_drag; @@ -2995,7 +2997,7 @@ xdnd_position_filter (GdkXEvent *xev, (context->protocol == GDK_DRAG_PROTO_XDND) && (GDK_WINDOW_XID (context->source_window) == source_window)) { - context_x11 = GDK_DRAG_CONTEXT_X11 (context); + context_x11 = GDK_X11_DRAG_CONTEXT (context); event->dnd.type = GDK_DRAG_MOTION; event->dnd.context = context; @@ -3005,16 +3007,16 @@ xdnd_position_filter (GdkXEvent *xev, event->dnd.time = time; context->suggested_action = xdnd_action_from_atom (display, action); - + if (!context_x11->xdnd_have_actions) - context->actions = context->suggested_action; + context->actions = context->suggested_action; event->dnd.x_root = x_root; event->dnd.y_root = y_root; context_x11->last_x = x_root; context_x11->last_y = y_root; - + return GDK_FILTER_TRANSLATE; } @@ -3023,8 +3025,8 @@ xdnd_position_filter (GdkXEvent *xev, static GdkFilterReturn xdnd_drop_filter (GdkXEvent *xev, - GdkEvent *event, - gpointer data) + GdkEvent *event, + gpointer data) { XEvent *xevent = (XEvent *)xev; guint32 source_window = xevent->xclient.data.l[0]; @@ -3032,15 +3034,15 @@ xdnd_drop_filter (GdkXEvent *xev, GdkDisplay *display; GdkX11Display *display_x11; GdkDragContext *context; - GdkDragContextX11 *context_x11; - + GdkX11DragContext *context_x11; + if (!event->any.window || gdk_window_get_window_type (event->any.window) == GDK_WINDOW_FOREIGN) - return GDK_FILTER_CONTINUE; /* Not for us */ - - GDK_NOTE (DND, - g_message ("XdndDrop: source_window: %#x time: %d", - source_window, time)); + return GDK_FILTER_CONTINUE; /* Not for us */ + + GDK_NOTE (DND, + g_message ("XdndDrop: source_window: %#x time: %d", + source_window, time)); display = GDK_WINDOW_DISPLAY (event->any.window); display_x11 = GDK_X11_DISPLAY (display); @@ -3053,7 +3055,7 @@ xdnd_drop_filter (GdkXEvent *xev, (context->protocol == GDK_DRAG_PROTO_XDND) && (GDK_WINDOW_XID (context->source_window) == source_window)) { - context_x11 = GDK_DRAG_CONTEXT_X11 (context); + context_x11 = GDK_X11_DRAG_CONTEXT (context); event->dnd.type = GDK_DROP_START; event->dnd.context = context; @@ -3065,7 +3067,7 @@ xdnd_drop_filter (GdkXEvent *xev, event->dnd.y_root = context_x11->last_y; gdk_x11_window_set_user_time (event->any.window, time); - + return GDK_FILTER_TRANSLATE; } @@ -3079,23 +3081,23 @@ _gdk_x11_display_init_dnd (GdkDisplay *display) init_byte_order (); gdk_display_add_client_message_filter ( - display, - gdk_atom_intern_static_string ("_MOTIF_DRAG_AND_DROP_MESSAGE"), - motif_dnd_filter, NULL); - + display, + gdk_atom_intern_static_string ("_MOTIF_DRAG_AND_DROP_MESSAGE"), + motif_dnd_filter, NULL); + for (i = 0; i < G_N_ELEMENTS (xdnd_filters); i++) { gdk_display_add_client_message_filter ( - display, - gdk_atom_intern_static_string (xdnd_filters[i].atom_name), - xdnd_filters[i].func, NULL); + display, + gdk_atom_intern_static_string (xdnd_filters[i].atom_name), + xdnd_filters[i].func, NULL); } } /* Source side */ static void -gdk_drag_do_leave (GdkDragContextX11 *context_x11, +gdk_drag_do_leave (GdkX11DragContext *context_x11, guint32 time) { GdkDragContext *context = GDK_DRAG_CONTEXT (context_x11); @@ -3103,18 +3105,18 @@ gdk_drag_do_leave (GdkDragContextX11 *context_x11, if (context->dest_window) { switch (context->protocol) - { - case GDK_DRAG_PROTO_MOTIF: - motif_send_leave (context_x11, time); - break; - case GDK_DRAG_PROTO_XDND: - xdnd_send_leave (context_x11); - break; - case GDK_DRAG_PROTO_ROOTWIN: - case GDK_DRAG_PROTO_NONE: - default: - break; - } + { + case GDK_DRAG_PROTO_MOTIF: + motif_send_leave (context_x11, time); + break; + case GDK_DRAG_PROTO_XDND: + xdnd_send_leave (context_x11); + break; + case GDK_DRAG_PROTO_ROOTWIN: + case GDK_DRAG_PROTO_NONE: + default: + break; + } g_object_unref (context->dest_window); context->dest_window = NULL; @@ -3128,7 +3130,7 @@ _gdk_x11_window_drag_begin (GdkWindow *window, { GdkDragContext *context; - context = (GdkDragContext *)g_object_new (GDK_TYPE_DRAG_CONTEXT_X11, NULL); + context = (GdkDragContext *) g_object_new (GDK_TYPE_X11_DRAG_CONTEXT, NULL); context->is_source = TRUE; context->source_window = window; @@ -3161,19 +3163,19 @@ _gdk_x11_display_get_drag_protocol (GdkDisplay *display, if (window && gdk_window_get_window_type (window) != GDK_WINDOW_FOREIGN) { if (g_object_get_data (G_OBJECT (window), "gdk-dnd-registered") != NULL) - { - *protocol = GDK_DRAG_PROTO_XDND; - *version = 5; - xdnd_precache_atoms (display); - GDK_NOTE (DND, g_message ("Entering local Xdnd window %#x\n", xid)); - return xid; - } + { + *protocol = GDK_DRAG_PROTO_XDND; + *version = 5; + xdnd_precache_atoms (display); + GDK_NOTE (DND, g_message ("Entering local Xdnd window %#x\n", xid)); + return xid; + } else if (_gdk_x11_display_is_root_window (display, (Window) xid)) - { - *protocol = GDK_DRAG_PROTO_ROOTWIN; - GDK_NOTE (DND, g_message ("Entering root window\n")); - return xid; - } + { + *protocol = GDK_DRAG_PROTO_ROOTWIN; + GDK_NOTE (DND, g_message ("Entering root window\n")); + return xid; + } } else if ((retval = xdnd_check_dest (display, xid, version))) { @@ -3194,14 +3196,14 @@ _gdk_x11_display_get_drag_protocol (GdkDisplay *display, gboolean rootwin = FALSE; if (_gdk_x11_display_is_root_window (display, (Window) xid)) - rootwin = TRUE; + rootwin = TRUE; if (rootwin) - { - GDK_NOTE (DND, g_message ("Entering root window\n")); - *protocol = GDK_DRAG_PROTO_ROOTWIN; - return xid; - } + { + GDK_NOTE (DND, g_message ("Entering root window\n")); + *protocol = GDK_DRAG_PROTO_ROOTWIN; + return xid; + } } *protocol = GDK_DRAG_PROTO_NONE; @@ -3210,8 +3212,8 @@ _gdk_x11_display_get_drag_protocol (GdkDisplay *display, } static GdkWindowCache * -drag_context_find_window_cache (GdkDragContextX11 *context_x11, - GdkScreen *screen) +drag_context_find_window_cache (GdkX11DragContext *context_x11, + GdkScreen *screen) { GSList *list; GdkWindowCache *cache; @@ -3220,24 +3222,24 @@ drag_context_find_window_cache (GdkDragContextX11 *context_x11, { cache = list->data; if (cache->screen == screen) - return cache; + return cache; } cache = gdk_window_cache_new (screen); context_x11->window_caches = g_slist_prepend (context_x11->window_caches, cache); - + return cache; } static GdkWindow * -gdk_drag_context_x11_find_window (GdkDragContext *context, +gdk_x11_drag_context_find_window (GdkDragContext *context, GdkWindow *drag_window, GdkScreen *screen, gint x_root, gint y_root, GdkDragProtocol *protocol) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); GdkWindowCache *window_cache; GdkDisplay *display; Window dest; @@ -3293,7 +3295,7 @@ gdk_drag_context_x11_find_window (GdkDragContext *context, } static gboolean -gdk_drag_context_x11_drag_motion (GdkDragContext *context, +gdk_x11_drag_context_drag_motion (GdkDragContext *context, GdkWindow *dest_window, GdkDragProtocol protocol, gint x_root, @@ -3302,7 +3304,7 @@ gdk_drag_context_x11_drag_motion (GdkDragContext *context, GdkDragAction possible_actions, guint32 time) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); context_x11->old_actions = context->actions; context->actions = possible_actions; @@ -3321,13 +3323,13 @@ gdk_drag_context_x11_drag_motion (GdkDragContext *context, * when GTK+ is proxying DND events to embedded windows. */ if (dest_window) - { - GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); + { + GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); - xdnd_check_dest (display, - GDK_WINDOW_XID (dest_window), - &context_x11->version); - } + xdnd_check_dest (display, + GDK_WINDOW_XID (dest_window), + &context_x11->version); + } } /* When we have a Xdnd target, make sure our XdndActionList @@ -3336,25 +3338,25 @@ gdk_drag_context_x11_drag_motion (GdkDragContext *context, if (protocol == GDK_DRAG_PROTO_XDND && !context_x11->xdnd_actions_set) { if (dest_window) - { - if (gdk_window_get_window_type (dest_window) == GDK_WINDOW_FOREIGN) - xdnd_set_actions (context_x11); - else if (context->dest_window == dest_window) - { - GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); - GdkDragContext *dest_context; + { + if (gdk_window_get_window_type (dest_window) == GDK_WINDOW_FOREIGN) + xdnd_set_actions (context_x11); + else if (context->dest_window == dest_window) + { + GdkDisplay *display = GDK_WINDOW_DISPLAY (dest_window); + GdkDragContext *dest_context; - dest_context = gdk_drag_context_find (display, FALSE, - GDK_WINDOW_XID (context->source_window), - GDK_WINDOW_XID (dest_window)); + dest_context = gdk_drag_context_find (display, FALSE, + GDK_WINDOW_XID (context->source_window), + GDK_WINDOW_XID (dest_window)); - if (dest_context) - { - dest_context->actions = context->actions; - GDK_DRAG_CONTEXT_X11 (dest_context)->xdnd_have_actions = TRUE; - } - } - } + if (dest_context) + { + dest_context->actions = context->actions; + GDK_X11_DRAG_CONTEXT (dest_context)->xdnd_have_actions = TRUE; + } + } + } } if (context->dest_window != dest_window) @@ -3368,37 +3370,37 @@ gdk_drag_context_x11_drag_motion (GdkDragContext *context, /* Check if new destination accepts drags, and which protocol */ if (dest_window) - { - context->dest_window = dest_window; - context_x11->drop_xid = context_x11->dest_xid; - g_object_ref (context->dest_window); - context->protocol = protocol; + { + context->dest_window = dest_window; + context_x11->drop_xid = context_x11->dest_xid; + g_object_ref (context->dest_window); + context->protocol = protocol; - switch (protocol) - { - case GDK_DRAG_PROTO_MOTIF: - motif_send_enter (context_x11, time); - break; + switch (protocol) + { + case GDK_DRAG_PROTO_MOTIF: + motif_send_enter (context_x11, time); + break; - case GDK_DRAG_PROTO_XDND: - xdnd_send_enter (context_x11); - break; + case GDK_DRAG_PROTO_XDND: + xdnd_send_enter (context_x11); + break; - case GDK_DRAG_PROTO_ROOTWIN: - case GDK_DRAG_PROTO_NONE: - default: - break; - } - context_x11->old_action = suggested_action; - context->suggested_action = suggested_action; - context_x11->old_actions = possible_actions; - } + case GDK_DRAG_PROTO_ROOTWIN: + case GDK_DRAG_PROTO_NONE: + default: + break; + } + context_x11->old_action = suggested_action; + context->suggested_action = suggested_action; + context_x11->old_actions = possible_actions; + } else - { - context->dest_window = NULL; - context_x11->drop_xid = None; - context->action = 0; - } + { + context->dest_window = NULL; + context_x11->drop_xid = None; + context->action = 0; + } /* Push a status event, to let the client know that * the drag changed @@ -3431,105 +3433,105 @@ gdk_drag_context_x11_drag_motion (GdkDragContext *context, if (context->dest_window) { if (context_x11->drag_status == GDK_DRAG_STATUS_DRAG) - { - switch (context->protocol) - { - case GDK_DRAG_PROTO_MOTIF: - motif_send_motion (context_x11, x_root, y_root, suggested_action, time); - break; + { + switch (context->protocol) + { + case GDK_DRAG_PROTO_MOTIF: + motif_send_motion (context_x11, x_root, y_root, suggested_action, time); + break; - case GDK_DRAG_PROTO_XDND: - xdnd_send_motion (context_x11, x_root, y_root, suggested_action, time); - break; + case GDK_DRAG_PROTO_XDND: + xdnd_send_motion (context_x11, x_root, y_root, suggested_action, time); + break; - case GDK_DRAG_PROTO_ROOTWIN: - { - GdkEvent *temp_event; - /* GTK+ traditionally has used application/x-rootwin-drop, - * but the XDND spec specifies x-rootwindow-drop. - */ - GdkAtom target1 = gdk_atom_intern_static_string ("application/x-rootwindow-drop"); - GdkAtom target2 = gdk_atom_intern_static_string ("application/x-rootwin-drop"); + case GDK_DRAG_PROTO_ROOTWIN: + { + GdkEvent *temp_event; + /* GTK+ traditionally has used application/x-rootwin-drop, + * but the XDND spec specifies x-rootwindow-drop. + */ + GdkAtom target1 = gdk_atom_intern_static_string ("application/x-rootwindow-drop"); + GdkAtom target2 = gdk_atom_intern_static_string ("application/x-rootwin-drop"); - if (g_list_find (context->targets, - GDK_ATOM_TO_POINTER (target1)) || - g_list_find (context->targets, - GDK_ATOM_TO_POINTER (target2))) - context->action = context->suggested_action; - else - context->action = 0; + if (g_list_find (context->targets, + GDK_ATOM_TO_POINTER (target1)) || + g_list_find (context->targets, + GDK_ATOM_TO_POINTER (target2))) + context->action = context->suggested_action; + else + context->action = 0; temp_event = gdk_event_new (GDK_DRAG_STATUS); - temp_event->dnd.window = g_object_ref (context->source_window); - temp_event->dnd.send_event = FALSE; - temp_event->dnd.context = g_object_ref (context); - temp_event->dnd.time = time; + temp_event->dnd.window = g_object_ref (context->source_window); + temp_event->dnd.send_event = FALSE; + temp_event->dnd.context = g_object_ref (context); + temp_event->dnd.time = time; gdk_event_set_device (temp_event, gdk_drag_context_get_device (context)); - gdk_event_put (temp_event); + gdk_event_put (temp_event); gdk_event_free (temp_event); - } - break; - case GDK_DRAG_PROTO_NONE: - g_warning ("GDK_DRAG_PROTO_NONE is not valid in gdk_drag_motion()"); - break; - default: - break; - } - } + } + break; + case GDK_DRAG_PROTO_NONE: + g_warning ("GDK_DRAG_PROTO_NONE is not valid in gdk_drag_motion()"); + break; + default: + break; + } + } else - return TRUE; + return TRUE; } return FALSE; } static void -gdk_drag_context_x11_drag_abort (GdkDragContext *context, +gdk_x11_drag_context_drag_abort (GdkDragContext *context, guint32 time) { - gdk_drag_do_leave (GDK_DRAG_CONTEXT_X11 (context), time); + gdk_drag_do_leave (GDK_X11_DRAG_CONTEXT (context), time); } static void -gdk_drag_context_x11_drag_drop (GdkDragContext *context, +gdk_x11_drag_context_drag_drop (GdkDragContext *context, guint32 time) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); if (context->dest_window) { switch (context->protocol) - { - case GDK_DRAG_PROTO_MOTIF: - motif_send_leave (context_x11, time); - motif_send_drop (context_x11, time); - break; + { + case GDK_DRAG_PROTO_MOTIF: + motif_send_leave (context_x11, time); + motif_send_drop (context_x11, time); + break; - case GDK_DRAG_PROTO_XDND: - xdnd_send_drop (context_x11, time); - break; + case GDK_DRAG_PROTO_XDND: + xdnd_send_drop (context_x11, time); + break; - case GDK_DRAG_PROTO_ROOTWIN: - g_warning ("Drops for GDK_DRAG_PROTO_ROOTWIN must be handled internally"); - break; - case GDK_DRAG_PROTO_NONE: - g_warning ("GDK_DRAG_PROTO_NONE is not valid in gdk_drag_drop()"); - break; - default: - break; - } + case GDK_DRAG_PROTO_ROOTWIN: + g_warning ("Drops for GDK_DRAG_PROTO_ROOTWIN must be handled internally"); + break; + case GDK_DRAG_PROTO_NONE: + g_warning ("GDK_DRAG_PROTO_NONE is not valid in gdk_drag_drop()"); + break; + default: + break; + } } } /* Destination side */ static void -gdk_drag_context_x11_drag_status (GdkDragContext *context, +gdk_x11_drag_context_drag_status (GdkDragContext *context, GdkDragAction action, guint32 time_) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); XEvent xev; GdkDisplay *display; @@ -3579,32 +3581,32 @@ gdk_drag_context_x11_drag_status (GdkDragContext *context, { case GDK_ACTION_MOVE: MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_MOVE; - break; - case GDK_ACTION_COPY: - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY; - break; - case GDK_ACTION_LINK: - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_LINK; - break; - default: - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_NOOP; - break; - } + break; + case GDK_ACTION_COPY: + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY; + break; + case GDK_ACTION_LINK: + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_LINK; + break; + default: + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_NOOP; + break; + } if (action) - MOTIF_XCLIENT_SHORT (&xev, 1) |= (XmDROP_SITE_VALID << 4); + MOTIF_XCLIENT_SHORT (&xev, 1) |= (XmDROP_SITE_VALID << 4); else - MOTIF_XCLIENT_SHORT (&xev, 1) |= (XmNO_DROP_SITE << 4); + MOTIF_XCLIENT_SHORT (&xev, 1) |= (XmNO_DROP_SITE << 4); MOTIF_XCLIENT_LONG (&xev, 1) = time_; if (need_coords) - { - MOTIF_XCLIENT_SHORT (&xev, 4) = context_x11->last_x; - MOTIF_XCLIENT_SHORT (&xev, 5) = context_x11->last_y; - } + { + MOTIF_XCLIENT_SHORT (&xev, 4) = context_x11->last_x; + MOTIF_XCLIENT_SHORT (&xev, 5) = context_x11->last_y; + } else - MOTIF_XCLIENT_LONG (&xev, 2) = 0; + MOTIF_XCLIENT_LONG (&xev, 2) = 0; MOTIF_XCLIENT_LONG (&xev, 3) = 0; MOTIF_XCLIENT_LONG (&xev, 4) = 0; @@ -3638,11 +3640,11 @@ gdk_drag_context_x11_drag_status (GdkDragContext *context, } static void -gdk_drag_context_x11_drop_reply (GdkDragContext *context, +gdk_x11_drag_context_drop_reply (GdkDragContext *context, gboolean accepted, guint32 time_) { - GdkDragContextX11 *context_x11 = GDK_DRAG_CONTEXT_X11 (context); + GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (context); if (context->protocol == GDK_DRAG_PROTO_MOTIF) { @@ -3651,21 +3653,21 @@ gdk_drag_context_x11_drop_reply (GdkDragContext *context, xev.xclient.type = ClientMessage; xev.xclient.message_type = gdk_x11_get_xatom_by_name_for_display (display, - "_MOTIF_DRAG_AND_DROP_MESSAGE"); + "_MOTIF_DRAG_AND_DROP_MESSAGE"); xev.xclient.format = 8; MOTIF_XCLIENT_BYTE (&xev, 0) = XmDROP_START | 0x80; MOTIF_XCLIENT_BYTE (&xev, 1) = local_byte_order; if (accepted) - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY | - (XmDROP_SITE_VALID << 4) | - (XmDROP_NOOP << 8) | - (XmDROP << 12); + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_COPY | + (XmDROP_SITE_VALID << 4) | + (XmDROP_NOOP << 8) | + (XmDROP << 12); else - MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_NOOP | - (XmNO_DROP_SITE << 4) | - (XmDROP_NOOP << 8) | - (XmDROP_CANCEL << 12); + MOTIF_XCLIENT_SHORT (&xev, 1) = XmDROP_NOOP | + (XmNO_DROP_SITE << 4) | + (XmDROP_NOOP << 8) | + (XmDROP_CANCEL << 12); MOTIF_XCLIENT_SHORT (&xev, 2) = context_x11->last_x; MOTIF_XCLIENT_SHORT (&xev, 3) = context_x11->last_y; MOTIF_XCLIENT_LONG (&xev, 2) = 0; @@ -3679,9 +3681,9 @@ gdk_drag_context_x11_drop_reply (GdkDragContext *context, } static void -gdk_drag_context_x11_drop_finish (GdkDragContext *context, - gboolean success, - guint32 time) +gdk_x11_drag_context_drop_finish (GdkDragContext *context, + gboolean success, + guint32 time) { if (context->protocol == GDK_DRAG_PROTO_XDND) { @@ -3695,23 +3697,23 @@ gdk_drag_context_x11_drop_finish (GdkDragContext *context, xev.xclient.data.l[0] = GDK_WINDOW_XID (context->dest_window); if (success) - { - xev.xclient.data.l[1] = 1; - xev.xclient.data.l[2] = xdnd_action_to_atom (display, - context->action); - } + { + xev.xclient.data.l[1] = 1; + xev.xclient.data.l[2] = xdnd_action_to_atom (display, + context->action); + } else - { - xev.xclient.data.l[1] = 0; - xev.xclient.data.l[2] = None; - } + { + xev.xclient.data.l[1] = 0; + xev.xclient.data.l[2] = None; + } xev.xclient.data.l[3] = 0; xev.xclient.data.l[4] = 0; - if (!xdnd_send_xevent (GDK_DRAG_CONTEXT_X11 (context), context->source_window, FALSE, &xev)) - GDK_NOTE (DND, - g_message ("Send event to %lx failed", - GDK_WINDOW_XID (context->source_window))); + if (!xdnd_send_xevent (GDK_X11_DRAG_CONTEXT (context), context->source_window, FALSE, &xev)) + GDK_NOTE (DND, + g_message ("Send event to %lx failed", + GDK_WINDOW_XID (context->source_window))); } } @@ -3734,11 +3736,10 @@ _gdk_x11_window_register_dnd (GdkWindow *window) return; else g_object_set_data (G_OBJECT (window), "gdk-dnd-registered", GINT_TO_POINTER (TRUE)); - - /* Set Motif drag receiver information property */ + /* Set Motif drag receiver information property */ motif_drag_receiver_info_atom = gdk_x11_get_xatom_by_name_for_display (display, - "_MOTIF_DRAG_RECEIVER_INFO"); + "_MOTIF_DRAG_RECEIVER_INFO"); /* initialize to zero to avoid writing uninitialized data to socket */ memset(&info, 0, sizeof(info)); info.byte_order = local_byte_order; @@ -3748,29 +3749,30 @@ _gdk_x11_window_register_dnd (GdkWindow *window) info.num_drop_sites = 0; info.total_size = sizeof(info); - XChangeProperty (GDK_DISPLAY_XDISPLAY (display), GDK_WINDOW_XID (window), - motif_drag_receiver_info_atom, - motif_drag_receiver_info_atom, - 8, PropModeReplace, - (guchar *)&info, - sizeof (info)); + XChangeProperty (GDK_DISPLAY_XDISPLAY (display), + GDK_WINDOW_XID (window), + motif_drag_receiver_info_atom, + motif_drag_receiver_info_atom, + 8, PropModeReplace, + (guchar *)&info, + sizeof (info)); /* Set XdndAware */ /* The property needs to be of type XA_ATOM, not XA_INTEGER. Blech */ XChangeProperty (GDK_DISPLAY_XDISPLAY (display), - GDK_WINDOW_XID (window), - gdk_x11_get_xatom_by_name_for_display (display, "XdndAware"), - XA_ATOM, 32, PropModeReplace, - (guchar *)&xdnd_version, 1); + GDK_WINDOW_XID (window), + gdk_x11_get_xatom_by_name_for_display (display, "XdndAware"), + XA_ATOM, 32, PropModeReplace, + (guchar *)&xdnd_version, 1); } static GdkAtom -gdk_drag_context_x11_get_selection (GdkDragContext *context) +gdk_x11_drag_context_get_selection (GdkDragContext *context) { if (context->protocol == GDK_DRAG_PROTO_MOTIF) return gdk_x11_xatom_to_atom_for_display (GDK_WINDOW_DISPLAY (context->source_window), - (GDK_DRAG_CONTEXT_X11 (context))->motif_selection); + (GDK_X11_DRAG_CONTEXT (context))->motif_selection); else if (context->protocol == GDK_DRAG_PROTO_XDND) return gdk_atom_intern_static_string ("XdndSelection"); else @@ -3778,7 +3780,7 @@ gdk_drag_context_x11_get_selection (GdkDragContext *context) } static gboolean -gdk_drag_context_x11_drop_status (GdkDragContext *context) +gdk_x11_drag_context_drop_status (GdkDragContext *context) { - return ! GDK_DRAG_CONTEXT_X11 (context)->drop_failed; + return ! GDK_X11_DRAG_CONTEXT (context)->drop_failed; } diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index f1ce15545c..8f8dd2a25d 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -64,6 +64,7 @@ #include #include #include +#include #include #include #include diff --git a/gdk/x11/gdkx11dnd.h b/gdk/x11/gdkx11dnd.h new file mode 100644 index 0000000000..3ca0819af4 --- /dev/null +++ b/gdk/x11/gdkx11dnd.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_DND_H__ +#define __GDK_X11_DND_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_DRAG_CONTEXT (gdk_x11_drag_context_get_type ()) +#define GDK_X11_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_DRAG_CONTEXT, GdkX11DragContext)) +#define GDK_X11_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_DRAG_CONTEXT, GdkX11DragContextClass)) +#define GDK_IS_X11_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_DRAG_CONTEXT)) +#define GDK_IS_X11_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_DRAG_CONTEXT)) +#define GDK_X11_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_DRAG_CONTEXT, GdkX11DragContextClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkX11DragContext GdkX11DragContext; +#else +typedef GdkDragContext GdkX11DragContext; +#endif +typedef struct _GdkX11DragContextClass GdkX11DragContextClass; + +GType gdk_x11_drag_context_get_type (void); + +G_END_DECLS + +#endif /* __GDK_X11_DRAG_CONTEXT_H__ */ From bd36374413ec003e724d707933017a7625860956 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 02:32:15 -0500 Subject: [PATCH 0752/1463] Rename GdkAppLaunchContextX11 to GdkX11AppLaunchContext --- gdk/gdk.symbols | 1 + gdk/x11/gdkapplaunchcontext-x11.c | 37 +++++++++++++++++++------------ gdk/x11/gdkx.h | 1 + 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 34aa02bbd7..7da506bee9 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -509,6 +509,7 @@ gdk_window_unstick gdk_window_withdraw gdk_wm_decoration_get_type G_GNUC_CONST gdk_wm_function_get_type G_GNUC_CONST +gdk_x11_app_launch_context_get_type gdk_x11_atom_to_xatom gdk_x11_atom_to_xatom_for_display gdk_x11_cursor_get_type diff --git a/gdk/x11/gdkapplaunchcontext-x11.c b/gdk/x11/gdkapplaunchcontext-x11.c index 29c5b3139d..ff4f1cd183 100644 --- a/gdk/x11/gdkapplaunchcontext-x11.c +++ b/gdk/x11/gdkapplaunchcontext-x11.c @@ -22,6 +22,7 @@ #include "config.h" +#include "gdkx11applaunchcontext.h" #include "gdkapplaunchcontextprivate.h" #include "gdkscreen.h" #include "gdkintl.h" @@ -127,10 +128,10 @@ end_startup_notification (GdkDisplay *display, * timeouts. The reason our timeout is dumb is that we don't monitor * the sequence (don't use an SnMonitorContext) */ -#define STARTUP_TIMEOUT_LENGTH_SECONDS 30 +#define STARTUP_TIMEOUT_LENGTH_SECONDS 30 #define STARTUP_TIMEOUT_LENGTH (STARTUP_TIMEOUT_LENGTH_SECONDS * 1000) -typedef struct +typedef struct { GdkDisplay *display; char *startup_id; @@ -147,7 +148,7 @@ free_startup_notification_data (gpointer data) g_free (sn_data); } -typedef struct +typedef struct { GSList *contexts; guint timeout_id; @@ -257,7 +258,7 @@ add_startup_timeout (GdkScreen *screen, static char * -gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, +gdk_x11_app_launch_context_get_startup_notify_id (GAppLaunchContext *context, GAppInfo *info, GList *files) { @@ -387,8 +388,8 @@ gdk_app_launch_context_x11_get_startup_notify_id (GAppLaunchContext *context, static void -gdk_app_launch_context_x11_launch_failed (GAppLaunchContext *context, - const char *startup_notify_id) +gdk_x11_app_launch_context_launch_failed (GAppLaunchContext *context, + const gchar *startup_notify_id) { GdkAppLaunchContext *ctx; GdkScreen *screen; @@ -428,22 +429,30 @@ gdk_app_launch_context_x11_launch_failed (GAppLaunchContext *context, } } -typedef GdkAppLaunchContext GdkAppLaunchContextX11; -typedef GdkAppLaunchContextClass GdkAppLaunchContextX11Class; +struct _GdkX11AppLaunchContext +{ + GdkAppLaunchContext parent_instance; +}; -G_DEFINE_TYPE (GdkAppLaunchContextX11, _gdk_app_launch_context_x11, GDK_TYPE_APP_LAUNCH_CONTEXT) +struct _GdkX11AppLaunchContextClass +{ + GdkAppLaunchContextClass parent_class; +}; + + +G_DEFINE_TYPE (GdkX11AppLaunchContext, gdk_x11_app_launch_context, GDK_TYPE_APP_LAUNCH_CONTEXT) static void -_gdk_app_launch_context_x11_class_init (GdkAppLaunchContextX11Class *klass) +gdk_x11_app_launch_context_class_init (GdkX11AppLaunchContextClass *klass) { GAppLaunchContextClass *ctx_class = G_APP_LAUNCH_CONTEXT_CLASS (klass); - ctx_class->get_startup_notify_id = gdk_app_launch_context_x11_get_startup_notify_id; - ctx_class->launch_failed = gdk_app_launch_context_x11_launch_failed; + ctx_class->get_startup_notify_id = gdk_x11_app_launch_context_get_startup_notify_id; + ctx_class->launch_failed = gdk_x11_app_launch_context_launch_failed; } static void -_gdk_app_launch_context_x11_init (GdkAppLaunchContextX11 *ctx) +gdk_x11_app_launch_context_init (GdkX11AppLaunchContext *ctx) { } @@ -452,7 +461,7 @@ _gdk_x11_display_get_app_launch_context (GdkDisplay *display) { GdkAppLaunchContext *ctx; - ctx = g_object_new (_gdk_app_launch_context_x11_get_type (), + ctx = g_object_new (GDK_TYPE_X11_APP_LAUNCH_CONTEXT, "display", display, NULL); diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index 8f8dd2a25d..baed243708 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -55,6 +55,7 @@ #define __GDKX_H_INSIDE__ +#include #include #include #include From e5090396bfe79f0fc65042a2f19240d04bbaef19 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 09:56:42 -0500 Subject: [PATCH 0753/1463] Forgotten file --- gdk/x11/gdkx11applaunchcontext.h | 49 ++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 gdk/x11/gdkx11applaunchcontext.h diff --git a/gdk/x11/gdkx11applaunchcontext.h b/gdk/x11/gdkx11applaunchcontext.h new file mode 100644 index 0000000000..e067a73820 --- /dev/null +++ b/gdk/x11/gdkx11applaunchcontext.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKX_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_X11_APP_LAUNCH_CONTEXT_H__ +#define __GDK_X11_APP_LAUNCH_CONTEXT_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_X11_APP_LAUNCH_CONTEXT (gdk_x11_app_launch_context_get_type ()) +#define GDK_X11_APP_LAUNCH_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_X11_APP_LAUNCH_CONTEXT, GdkX11AppLaunchContext)) +#define GDK_X11_APP_LAUNCH_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_X11_APP_LAUNCH_CONTEXT, GdkX11AppLaunchContextClass)) +#define GDK_IS_X11_APP_LAUNCH_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_X11_APP_LAUNCH_CONTEXT)) +#define GDK_IS_X11_APP_LAUNCH_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_X11_APP_LAUNCH_CONTEXT)) +#define GDK_X11_APP_LAUNCH_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_X11_APP_LAUNCH_CONTEXT, GdkX11AppLaunchContextClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkX11AppLaunchContext GdkX11AppLaunchContext; +#else +typedef GdkAppLaunchContext GdkX11AppLaunchContext; +#endif +typedef struct _GdkX11AppLaunchContextClass GdkX11AppLaunchContextClass; + +GType gdk_x11_app_launch_context_get_type (void); + +G_END_DECLS + +#endif /* __GDK_X11_APP_LAUNCH_CONTEXT_H__ */ From b1aaa10b6af486e215c640d07474060fb4b79c97 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 10:37:21 -0500 Subject: [PATCH 0754/1463] Detangle includes for device subclasses --- gdk/gdkdevice.h | 2 +- gdk/gdkdeviceprivate.h | 2 - gdk/x11/Makefile.am | 1 + gdk/x11/gdkdevice-core-x11.c | 11 ++++++ gdk/x11/gdkdevice-xi.c | 2 +- gdk/x11/gdkdevice-xi2.c | 13 ++++++- gdk/x11/gdkdevicemanager-core-x11.c | 3 +- gdk/x11/gdkdevicemanager-xi.c | 3 +- gdk/x11/gdkdeviceprivate-xi.h | 58 +++++++++++++++++++++++++++++ gdk/x11/gdkx11device-core.h | 11 +----- gdk/x11/gdkx11device-xi.h | 30 +-------------- gdk/x11/gdkx11device-xi2.h | 15 +------- 12 files changed, 91 insertions(+), 60 deletions(-) create mode 100644 gdk/x11/gdkdeviceprivate-xi.h diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index d65dae8f18..4085facee4 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -34,7 +34,7 @@ G_BEGIN_DECLS #define GDK_IS_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE)) typedef struct _GdkDevice GdkDevice; -typedef struct _GdkDevicePrivate GdkDevicePrivate; +typedef struct _GdkDeviceClass GdkDeviceClass; typedef struct _GdkTimeCoord GdkTimeCoord; /** diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index 29332b2f5d..1e6550408b 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -30,8 +30,6 @@ G_BEGIN_DECLS #define GDK_IS_DEVICE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE)) #define GDK_DEVICE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE, GdkDeviceClass)) -typedef struct _GdkDeviceClass GdkDeviceClass; - typedef struct _GdkDeviceKey GdkDeviceKey; struct _GdkDeviceKey diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 3a4ae66600..0b7a4fd71e 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -24,6 +24,7 @@ libgdk_x11_la_SOURCES = \ gdkasync.h \ gdkcursor-x11.c \ gdkdevice-core-x11.c \ + gdkdeviceprivate-xi.h \ gdkdevicemanager-core-x11.c \ gdkdevicemanager-x11.c \ gdkdisplaymanager-x11.c \ diff --git a/gdk/x11/gdkdevice-core-x11.c b/gdk/x11/gdkdevice-core-x11.c index 795cbb4836..938aad77c0 100644 --- a/gdk/x11/gdkdevice-core-x11.c +++ b/gdk/x11/gdkdevice-core-x11.c @@ -20,12 +20,23 @@ #include "config.h" #include "gdkx11device-core.h" +#include "gdkdeviceprivate.h" #include "gdkinternals.h" #include "gdkwindow.h" #include "gdkprivate-x11.h" #include "gdkasync.h" +struct _GdkX11DeviceCore +{ + GdkDevice parent_instance; +}; + +struct _GdkX11DeviceCoreClass +{ + GdkDeviceClass parent_class; +}; + static gboolean gdk_x11_device_core_get_history (GdkDevice *device, GdkWindow *window, guint32 start, diff --git a/gdk/x11/gdkdevice-xi.c b/gdk/x11/gdkdevice-xi.c index 17a90ec0b2..bf816759f8 100644 --- a/gdk/x11/gdkdevice-xi.c +++ b/gdk/x11/gdkdevice-xi.c @@ -20,10 +20,10 @@ #include "config.h" #include "gdkx11device-xi.h" +#include "gdkdeviceprivate-xi.h" #include "gdkwindow.h" #include "gdkintl.h" -#include "gdkdeviceprivate.h" #include "gdkprivate-x11.h" #include "gdkasync.h" diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 6c9b528317..53367fd47d 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -20,12 +20,23 @@ #include "config.h" #include "gdkx11device-xi2.h" +#include "gdkdeviceprivate.h" #include "gdkintl.h" #include "gdkasync.h" #include "gdkprivate-x11.h" -#include +struct _GdkX11DeviceXI2 +{ + GdkDevice parent_instance; + + gint device_id; +}; + +struct _GdkX11DeviceXI2Class +{ + GdkDeviceClass parent_class; +}; static void gdk_x11_device_xi2_get_property (GObject *object, guint prop_id, diff --git a/gdk/x11/gdkdevicemanager-core-x11.c b/gdk/x11/gdkdevicemanager-core-x11.c index 99c0b07640..fa9f7033e0 100644 --- a/gdk/x11/gdkdevicemanager-core-x11.c +++ b/gdk/x11/gdkdevicemanager-core-x11.c @@ -22,11 +22,12 @@ #include "gdkx11devicemanager-core.h" #include "gdkx11device-core.h" -#include "gdkkeysyms.h" #include "gdkdevicemanagerprivate.h" +#include "gdkdeviceprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkprivate-x11.h" +#include "gdkkeysyms.h" #ifdef HAVE_XKB #include diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c index 1dd9f84ca2..564f55b3db 100644 --- a/gdk/x11/gdkdevicemanager-xi.c +++ b/gdk/x11/gdkdevicemanager-xi.c @@ -20,8 +20,9 @@ #include "config.h" #include "gdkx11devicemanager-xi.h" -#include "gdkx11device-xi.h" +#include "gdkdeviceprivate-xi.h" +#include "gdkdevicemanagerprivate.h" #include "gdkeventtranslator.h" #include "gdkintl.h" #include "gdkprivate-x11.h" diff --git a/gdk/x11/gdkdeviceprivate-xi.h b/gdk/x11/gdkdeviceprivate-xi.h new file mode 100644 index 0000000000..4a22808efc --- /dev/null +++ b/gdk/x11/gdkdeviceprivate-xi.h @@ -0,0 +1,58 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_DEVICE_XI_PRIVATE_H__ +#define __GDK_DEVICE_XI_PRIVATE_H__ + +#include "gdkx11device-xi.h" +#include "gdkdeviceprivate.h" + +G_BEGIN_DECLS + +struct _GdkX11DeviceXI +{ + GdkDevice parent_instance; + + /*< private >*/ + guint32 device_id; + XDevice *xdevice; + + gint button_press_type; + gint button_release_type; + gint key_press_type; + gint key_release_type; + gint motion_notify_type; + gint proximity_in_type; + gint proximity_out_type; + gint state_notify_type; + + /* minimum key code for device */ + gint min_keycode; + gint *axis_data; + guint in_proximity : 1; +}; + +struct _GdkX11DeviceXIClass +{ + GdkDeviceClass parent_class; +}; + +G_END_DECLS + +#endif /* __GDK_DEVICE_XI_PRIVATE_H__ */ diff --git a/gdk/x11/gdkx11device-core.h b/gdk/x11/gdkx11device-core.h index e6aea0a1df..d53d7b8418 100644 --- a/gdk/x11/gdkx11device-core.h +++ b/gdk/x11/gdkx11device-core.h @@ -20,7 +20,7 @@ #ifndef __GDK_X11_DEVICE_CORE_H__ #define __GDK_X11_DEVICE_CORE_H__ -#include "gdkdeviceprivate.h" +#include G_BEGIN_DECLS @@ -34,15 +34,6 @@ G_BEGIN_DECLS typedef struct _GdkX11DeviceCore GdkX11DeviceCore; typedef struct _GdkX11DeviceCoreClass GdkX11DeviceCoreClass; -struct _GdkX11DeviceCore -{ - GdkDevice parent_instance; -}; - -struct _GdkX11DeviceCoreClass -{ - GdkDeviceClass parent_class; -}; GType gdk_x11_device_core_get_type (void) G_GNUC_CONST; diff --git a/gdk/x11/gdkx11device-xi.h b/gdk/x11/gdkx11device-xi.h index a22fcabd57..061f8dfcdd 100644 --- a/gdk/x11/gdkx11device-xi.h +++ b/gdk/x11/gdkx11device-xi.h @@ -20,7 +20,7 @@ #ifndef __GDK_X11_DEVICE_XI_H__ #define __GDK_X11_DEVICE_XI_H__ -#include "gdkdeviceprivate.h" +#include #include @@ -36,34 +36,6 @@ G_BEGIN_DECLS typedef struct _GdkX11DeviceXI GdkX11DeviceXI; typedef struct _GdkX11DeviceXIClass GdkX11DeviceXIClass; -struct _GdkX11DeviceXI -{ - GdkDevice parent_instance; - - /*< private >*/ - guint32 device_id; - XDevice *xdevice; - - gint button_press_type; - gint button_release_type; - gint key_press_type; - gint key_release_type; - gint motion_notify_type; - gint proximity_in_type; - gint proximity_out_type; - gint state_notify_type; - - /* minimum key code for device */ - gint min_keycode; - gint *axis_data; - - guint in_proximity : 1; -}; - -struct _GdkX11DeviceXIClass -{ - GdkDeviceClass parent_class; -}; GType gdk_x11_device_xi_get_type (void) G_GNUC_CONST; diff --git a/gdk/x11/gdkx11device-xi2.h b/gdk/x11/gdkx11device-xi2.h index 6ef339f65a..85fe788714 100644 --- a/gdk/x11/gdkx11device-xi2.h +++ b/gdk/x11/gdkx11device-xi2.h @@ -20,7 +20,7 @@ #ifndef __GDK_X11_DEVICE_XI2_H__ #define __GDK_X11_DEVICE_XI2_H__ -#include "gdkdeviceprivate.h" +#include #include @@ -36,19 +36,6 @@ G_BEGIN_DECLS typedef struct _GdkX11DeviceXI2 GdkX11DeviceXI2; typedef struct _GdkX11DeviceXI2Class GdkX11DeviceXI2Class; -struct _GdkX11DeviceXI2 -{ - GdkDevice parent_instance; - - /*< private >*/ - gint device_id; -}; - -struct _GdkX11DeviceXI2Class -{ - GdkDeviceClass parent_class; -}; - GType gdk_x11_device_xi2_get_type (void) G_GNUC_CONST; G_END_DECLS From 106047ffa4c033658444702afd49e49fff0c4375 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 11:27:27 -0500 Subject: [PATCH 0755/1463] Detangle includes for GdkDeviceManager subclasses --- gdk/x11/Makefile.am | 7 ++ gdk/x11/gdkdevicemanager-core-x11.c | 2 +- gdk/x11/gdkdevicemanager-x11.c | 2 +- gdk/x11/gdkdevicemanager-xi.c | 90 ++++++++++++------------- gdk/x11/gdkdevicemanager-xi2.c | 92 +++++++++++++++++++++++++- gdk/x11/gdkdevicemanagerprivate-core.h | 42 ++++++++++++ gdk/x11/gdkdeviceprivate-xi.h | 6 +- gdk/x11/gdkx11devicemanager-core.h | 13 +--- gdk/x11/gdkx11devicemanager-xi.h | 16 +---- gdk/x11/gdkx11devicemanager-xi2.h | 22 +----- 10 files changed, 191 insertions(+), 101 deletions(-) create mode 100644 gdk/x11/gdkdevicemanagerprivate-core.h diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index 0b7a4fd71e..bdabb21c96 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -27,6 +27,7 @@ libgdk_x11_la_SOURCES = \ gdkdeviceprivate-xi.h \ gdkdevicemanager-core-x11.c \ gdkdevicemanager-x11.c \ + gdkdevicemanagerprivate-core.h \ gdkdisplaymanager-x11.c \ gdkdisplay-x11.c \ gdkdisplay-x11.h \ @@ -79,11 +80,17 @@ libgdkinclude_HEADERS = \ gdkx.h libgdkx11include_HEADERS += \ + gdkx11applaunchcontext.h \ gdkx11cursor.h \ gdkx11device-core.h \ + gdkx11device-xi.h \ + gdkx11device-xi2.h \ gdkx11devicemanager-core.h \ + gdkx11devicemanager-xi.h \ + gdkx11devicemanager-xi2.h \ gdkx11display.h \ gdkx11displaymanager.h \ + gdkx11dnd.h \ gdkx11keys.h \ gdkx11property.h \ gdkx11screen.h \ diff --git a/gdk/x11/gdkdevicemanager-core-x11.c b/gdk/x11/gdkdevicemanager-core-x11.c index fa9f7033e0..951bcaeaed 100644 --- a/gdk/x11/gdkdevicemanager-core-x11.c +++ b/gdk/x11/gdkdevicemanager-core-x11.c @@ -20,9 +20,9 @@ #include "config.h" #include "gdkx11devicemanager-core.h" +#include "gdkdevicemanagerprivate-core.h" #include "gdkx11device-core.h" -#include "gdkdevicemanagerprivate.h" #include "gdkdeviceprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" diff --git a/gdk/x11/gdkdevicemanager-x11.c b/gdk/x11/gdkdevicemanager-x11.c index 6680e0a455..a19a05e065 100644 --- a/gdk/x11/gdkdevicemanager-x11.c +++ b/gdk/x11/gdkdevicemanager-x11.c @@ -58,8 +58,8 @@ _gdk_x11_device_manager_new (GdkDisplay *display) device_manager_xi2 = g_object_new (GDK_TYPE_X11_DEVICE_MANAGER_XI2, "display", display, + "opcode", opcode, NULL); - device_manager_xi2->opcode = opcode; return GDK_DEVICE_MANAGER (device_manager_xi2); } diff --git a/gdk/x11/gdkdevicemanager-xi.c b/gdk/x11/gdkdevicemanager-xi.c index 564f55b3db..5bd479b083 100644 --- a/gdk/x11/gdkdevicemanager-xi.c +++ b/gdk/x11/gdkdevicemanager-xi.c @@ -20,6 +20,7 @@ #include "config.h" #include "gdkx11devicemanager-xi.h" +#include "gdkdevicemanagerprivate-core.h" #include "gdkdeviceprivate-xi.h" #include "gdkdevicemanagerprivate.h" @@ -30,14 +31,22 @@ #include -struct _GdkX11DeviceManagerXIPrivate +struct _GdkX11DeviceManagerXI { + GdkX11DeviceManagerCore parent_object; + GHashTable *id_table; gint event_base; GList *devices; gboolean ignore_core_events; }; +struct _GdkX11DeviceManagerXIClass +{ + GdkX11DeviceManagerCoreClass parent_class; +}; + + static void gdk_x11_device_manager_xi_constructed (GObject *object); static void gdk_x11_device_manager_xi_dispose (GObject *object); static void gdk_x11_device_manager_xi_set_property (GObject *object, @@ -87,8 +96,6 @@ gdk_x11_device_manager_xi_class_init (GdkX11DeviceManagerXIClass *klass) P_("Event base for XInput events"), 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - - g_type_class_add_private (object_class, sizeof (GdkX11DeviceManagerXIPrivate)); } static GdkFilterReturn @@ -116,14 +123,8 @@ window_input_info_filter (GdkXEvent *xevent, static void gdk_x11_device_manager_xi_init (GdkX11DeviceManagerXI *device_manager) { - GdkX11DeviceManagerXIPrivate *priv; - - device_manager->priv = priv = G_TYPE_INSTANCE_GET_PRIVATE (device_manager, - GDK_TYPE_X11_DEVICE_MANAGER_XI, - GdkX11DeviceManagerXIPrivate); - - priv->id_table = g_hash_table_new_full (NULL, NULL, NULL, - (GDestroyNotify) g_object_unref); + device_manager->id_table = g_hash_table_new_full (NULL, NULL, NULL, + (GDestroyNotify) g_object_unref); gdk_window_add_filter (NULL, window_input_info_filter, device_manager); } @@ -262,12 +263,12 @@ create_device (GdkDeviceManager *device_manager, static void gdk_x11_device_manager_xi_constructed (GObject *object) { - GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; XDeviceInfo *devices; gint i, num_devices; GdkDisplay *display; - priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; + device_manager = GDK_X11_DEVICE_MANAGER_XI (object); display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); devices = XListInputDevices (GDK_DISPLAY_XDISPLAY (display), &num_devices); @@ -279,8 +280,8 @@ gdk_x11_device_manager_xi_constructed (GObject *object) display, &devices[i]); if (device) { - priv->devices = g_list_prepend (priv->devices, device); - g_hash_table_insert (priv->id_table, + device_manager->devices = g_list_prepend (device_manager->devices, device); + g_hash_table_insert (device_manager->id_table, GINT_TO_POINTER (devices[i].id), g_object_ref (device)); } @@ -289,7 +290,7 @@ gdk_x11_device_manager_xi_constructed (GObject *object) XFreeDeviceList (devices); gdk_x11_register_standard_event_type (display, - priv->event_base, + device_manager->event_base, 15 /* Number of events */); if (G_OBJECT_CLASS (gdk_x11_device_manager_xi_parent_class)->constructed) @@ -299,18 +300,17 @@ gdk_x11_device_manager_xi_constructed (GObject *object) static void gdk_x11_device_manager_xi_dispose (GObject *object) { - GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; - priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; + device_manager = GDK_X11_DEVICE_MANAGER_XI (object); + g_list_foreach (device_manager->devices, (GFunc) g_object_unref, NULL); + g_list_free (device_manager->devices); + device_manager->devices = NULL; - g_list_foreach (priv->devices, (GFunc) g_object_unref, NULL); - g_list_free (priv->devices); - priv->devices = NULL; - - if (priv->id_table != NULL) + if (device_manager->id_table != NULL) { - g_hash_table_destroy (priv->id_table); - priv->id_table = NULL; + g_hash_table_destroy (device_manager->id_table); + device_manager->id_table = NULL; } gdk_window_remove_filter (NULL, window_input_info_filter, object); @@ -324,14 +324,14 @@ gdk_x11_device_manager_xi_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { - GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; - priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; + device_manager = GDK_X11_DEVICE_MANAGER_XI (object); switch (prop_id) { case PROP_EVENT_BASE: - priv->event_base = g_value_get_int (value); + device_manager->event_base = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -345,14 +345,14 @@ gdk_x11_device_manager_xi_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; - priv = GDK_X11_DEVICE_MANAGER_XI (object)->priv; + device_manager = GDK_X11_DEVICE_MANAGER_XI (object); switch (prop_id) { case PROP_EVENT_BASE: - g_value_set_int (value, priv->event_base); + g_value_set_int (value, device_manager->event_base); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -379,13 +379,13 @@ translate_state (guint state, guint device_state) } static GdkDevice * -lookup_device (GdkX11DeviceManagerXI *device_manager, +lookup_device (GdkX11DeviceManagerXI *manager, XEvent *xevent) { - GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; guint32 device_id; - priv = GDK_X11_DEVICE_MANAGER_XI (device_manager)->priv; + device_manager = GDK_X11_DEVICE_MANAGER_XI (manager); /* This is a sort of a hack, as there isn't any XDeviceAnyEvent - but it's potentially faster than scanning through the types of @@ -393,7 +393,7 @@ lookup_device (GdkX11DeviceManagerXI *device_manager, the types for the device anyways */ device_id = ((XDeviceButtonEvent *)xevent)->deviceid; - return g_hash_table_lookup (priv->id_table, GINT_TO_POINTER (device_id)); + return g_hash_table_lookup (device_manager->id_table, GINT_TO_POINTER (device_id)); } static gboolean @@ -402,7 +402,6 @@ gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, GdkEvent *event, XEvent *xevent) { - GdkX11DeviceManagerXIPrivate *priv; GdkX11DeviceManagerXI *device_manager; GdkEventTranslatorIface *parent_iface; GdkX11DeviceXI *device_xi; @@ -411,9 +410,8 @@ gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, parent_iface = g_type_interface_peek_parent (GDK_EVENT_TRANSLATOR_GET_IFACE (translator)); device_manager = GDK_X11_DEVICE_MANAGER_XI (translator); - priv = device_manager->priv; - if (!priv->ignore_core_events && + if (!device_manager->ignore_core_events && parent_iface->translate_event (translator, display, event, xevent)) return TRUE; @@ -550,7 +548,7 @@ gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, event->motion.device = device; if (device_xi->in_proximity) - priv->ignore_core_events = TRUE; + device_manager->ignore_core_events = TRUE; event->motion.x_root = (gdouble) xdme->x_root; event->motion.y_root = (gdouble) xdme->y_root; @@ -598,13 +596,13 @@ gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, { event->proximity.type = GDK_PROXIMITY_IN; device_xi->in_proximity = TRUE; - priv->ignore_core_events = TRUE; + device_manager->ignore_core_events = TRUE; } else { event->proximity.type = GDK_PROXIMITY_OUT; device_xi->in_proximity = FALSE; - priv->ignore_core_events = FALSE; + device_manager->ignore_core_events = FALSE; } event->proximity.device = device; @@ -647,18 +645,18 @@ gdk_x11_device_manager_xi_translate_event (GdkEventTranslator *translator, } static GList * -gdk_x11_device_manager_xi_list_devices (GdkDeviceManager *device_manager, +gdk_x11_device_manager_xi_list_devices (GdkDeviceManager *manager, GdkDeviceType type) { - GdkX11DeviceManagerXIPrivate *priv; + GdkX11DeviceManagerXI *device_manager; - priv = GDK_X11_DEVICE_MANAGER_XI (device_manager)->priv; + device_manager = GDK_X11_DEVICE_MANAGER_XI (manager); if (type == GDK_DEVICE_TYPE_MASTER) - return GDK_DEVICE_MANAGER_CLASS (gdk_x11_device_manager_xi_parent_class)->list_devices (device_manager, type); + return GDK_DEVICE_MANAGER_CLASS (gdk_x11_device_manager_xi_parent_class)->list_devices (manager, type); else if (type == GDK_DEVICE_TYPE_FLOATING) { - return g_list_copy (priv->devices); + return g_list_copy (device_manager->devices); } else return NULL; diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 90fcd9123b..83ab51c6fe 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -22,19 +22,48 @@ #include "gdkx11devicemanager-xi2.h" #include "gdkx11device-xi2.h" -#include "gdkkeysyms.h" +#include "gdkdevicemanagerprivate.h" #include "gdkdeviceprivate.h" #include "gdkdisplayprivate.h" #include "gdkeventtranslator.h" #include "gdkprivate-x11.h" +#include "gdkintl.h" +#include "gdkkeysyms.h" #include +struct _GdkX11DeviceManagerXI2 +{ + GdkDeviceManager parent_object; + + GHashTable *id_table; + + GList *master_devices; + GList *slave_devices; + + GdkDevice *client_pointer; + + gint opcode; +}; + +struct _GdkX11DeviceManagerXI2Class +{ + GdkDeviceManagerClass parent_class; +}; + #define HAS_FOCUS(toplevel) ((toplevel)->has_focus || (toplevel)->has_pointer_focus) -static void gdk_x11_device_manager_xi2_constructed (GObject *object); -static void gdk_x11_device_manager_xi2_dispose (GObject *object); +static void gdk_x11_device_manager_xi2_constructed (GObject *object); +static void gdk_x11_device_manager_xi2_dispose (GObject *object); +static void gdk_x11_device_manager_xi2_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gdk_x11_device_manager_xi2_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); static GList * gdk_x11_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, GdkDeviceType type); @@ -57,6 +86,11 @@ G_DEFINE_TYPE_WITH_CODE (GdkX11DeviceManagerXI2, gdk_x11_device_manager_xi2, GDK gdk_x11_device_manager_xi2_event_translator_init)) +enum { + PROP_0, + PROP_OPCODE +}; + static void gdk_x11_device_manager_xi2_class_init (GdkX11DeviceManagerXI2Class *klass) { @@ -65,9 +99,19 @@ gdk_x11_device_manager_xi2_class_init (GdkX11DeviceManagerXI2Class *klass) object_class->constructed = gdk_x11_device_manager_xi2_constructed; object_class->dispose = gdk_x11_device_manager_xi2_dispose; + object_class->set_property = gdk_x11_device_manager_xi2_set_property; + object_class->get_property = gdk_x11_device_manager_xi2_get_property; device_manager_class->list_devices = gdk_x11_device_manager_xi2_list_devices; device_manager_class->get_client_pointer = gdk_x11_device_manager_xi2_get_client_pointer; + + g_object_class_install_property (object_class, + PROP_OPCODE, + g_param_spec_int ("opcode", + P_("Opcode"), + P_("Opcode for XInput2 requests"), + 0, G_MAXINT, 0, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); } static void @@ -491,6 +535,48 @@ gdk_x11_device_manager_xi2_get_client_pointer (GdkDeviceManager *device_manager) GINT_TO_POINTER (device_id)); } +static void +gdk_x11_device_manager_xi2_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GdkX11DeviceManagerXI2 *device_manager; + + device_manager = GDK_X11_DEVICE_MANAGER_XI2 (object); + + switch (prop_id) + { + case PROP_OPCODE: + device_manager->opcode = g_value_get_int (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gdk_x11_device_manager_xi2_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GdkX11DeviceManagerXI2 *device_manager; + + device_manager = GDK_X11_DEVICE_MANAGER_XI2 (object); + + switch (prop_id) + { + case PROP_OPCODE: + g_value_set_int (value, device_manager->opcode); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static void gdk_x11_device_manager_xi2_event_translator_init (GdkEventTranslatorIface *iface) { diff --git a/gdk/x11/gdkdevicemanagerprivate-core.h b/gdk/x11/gdkdevicemanagerprivate-core.h new file mode 100644 index 0000000000..5266dfc399 --- /dev/null +++ b/gdk/x11/gdkdevicemanagerprivate-core.h @@ -0,0 +1,42 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_DEVICE_MANAGER_PRIVATE_CORE_H__ +#define __GDK_DEVICE_MANAGER_PRIVATE_CORE_H__ + +#include "gdkx11devicemanager-core.h" +#include "gdkdevicemanagerprivate.h" + +G_BEGIN_DECLS + +struct _GdkX11DeviceManagerCore +{ + GdkDeviceManager parent_object; + GdkDevice *core_pointer; + GdkDevice *core_keyboard; +}; + +struct _GdkX11DeviceManagerCoreClass +{ + GdkDeviceManagerClass parent_class; +}; + +G_END_DECLS + +#endif /* __GDK_DEVICE_MANAGER_PRIVATE_CORE_H__ */ diff --git a/gdk/x11/gdkdeviceprivate-xi.h b/gdk/x11/gdkdeviceprivate-xi.h index 4a22808efc..b94ec47f6e 100644 --- a/gdk/x11/gdkdeviceprivate-xi.h +++ b/gdk/x11/gdkdeviceprivate-xi.h @@ -17,8 +17,8 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_DEVICE_XI_PRIVATE_H__ -#define __GDK_DEVICE_XI_PRIVATE_H__ +#ifndef __GDK_DEVICE_PRIVATE_XI_H__ +#define __GDK_DEVICE_PRIVATE_XI_H__ #include "gdkx11device-xi.h" #include "gdkdeviceprivate.h" @@ -55,4 +55,4 @@ struct _GdkX11DeviceXIClass G_END_DECLS -#endif /* __GDK_DEVICE_XI_PRIVATE_H__ */ +#endif /* __GDK_DEVICE_PRIVATE_XI_H__ */ diff --git a/gdk/x11/gdkx11devicemanager-core.h b/gdk/x11/gdkx11devicemanager-core.h index 420c7ad0ab..eb9fbe31d4 100644 --- a/gdk/x11/gdkx11devicemanager-core.h +++ b/gdk/x11/gdkx11devicemanager-core.h @@ -20,7 +20,7 @@ #ifndef __GDK_X11_DEVICE_MANAGER_CORE_H__ #define __GDK_X11_DEVICE_MANAGER_CORE_H__ -#include "gdkdevicemanagerprivate.h" +#include G_BEGIN_DECLS @@ -34,17 +34,6 @@ G_BEGIN_DECLS typedef struct _GdkX11DeviceManagerCore GdkX11DeviceManagerCore; typedef struct _GdkX11DeviceManagerCoreClass GdkX11DeviceManagerCoreClass; -struct _GdkX11DeviceManagerCore -{ - GdkDeviceManager parent_object; - GdkDevice *core_pointer; - GdkDevice *core_keyboard; -}; - -struct _GdkX11DeviceManagerCoreClass -{ - GdkDeviceManagerClass parent_class; -}; GType gdk_x11_device_manager_core_get_type (void) G_GNUC_CONST; diff --git a/gdk/x11/gdkx11devicemanager-xi.h b/gdk/x11/gdkx11devicemanager-xi.h index 9c90fd2a97..e01c744dda 100644 --- a/gdk/x11/gdkx11devicemanager-xi.h +++ b/gdk/x11/gdkx11devicemanager-xi.h @@ -20,7 +20,7 @@ #ifndef __GDK_X11_DEVICE_MANAGER_XI_H__ #define __GDK_X11_DEVICE_MANAGER_XI_H__ -#include "gdkx11devicemanager-core.h" +#include G_BEGIN_DECLS @@ -32,24 +32,12 @@ G_BEGIN_DECLS #define GDK_X11_DEVICE_MANAGER_XI_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_X11_DEVICE_MANAGER_XI, GdkX11DeviceManagerXIClass)) typedef struct _GdkX11DeviceManagerXI GdkX11DeviceManagerXI; -typedef struct _GdkX11DeviceManagerXIPrivate GdkX11DeviceManagerXIPrivate; typedef struct _GdkX11DeviceManagerXIClass GdkX11DeviceManagerXIClass; -struct _GdkX11DeviceManagerXI -{ - GdkX11DeviceManagerCore parent_object; - - /*< private >*/ - GdkX11DeviceManagerXIPrivate *priv; -}; - -struct _GdkX11DeviceManagerXIClass -{ - GdkX11DeviceManagerCoreClass parent_class; -}; GType gdk_x11_device_manager_xi_get_type (void) G_GNUC_CONST; + G_END_DECLS #endif /* __GDK_X11_DEVICE_MANAGER_XI_H__ */ diff --git a/gdk/x11/gdkx11devicemanager-xi2.h b/gdk/x11/gdkx11devicemanager-xi2.h index 5771c93b57..38c351b598 100644 --- a/gdk/x11/gdkx11devicemanager-xi2.h +++ b/gdk/x11/gdkx11devicemanager-xi2.h @@ -20,7 +20,7 @@ #ifndef __GDK_X11_DEVICE_MANAGER_XI2_H__ #define __GDK_X11_DEVICE_MANAGER_XI2_H__ -#include "gdkdevicemanagerprivate.h" +#include #include @@ -36,26 +36,6 @@ G_BEGIN_DECLS typedef struct _GdkX11DeviceManagerXI2 GdkX11DeviceManagerXI2; typedef struct _GdkX11DeviceManagerXI2Class GdkX11DeviceManagerXI2Class; -struct _GdkX11DeviceManagerXI2 -{ - GdkDeviceManager parent_object; - - /*< private >*/ - - GHashTable *id_table; - - GList *master_devices; - GList *slave_devices; - - GdkDevice *client_pointer; - - gint opcode; -}; - -struct _GdkX11DeviceManagerXI2Class -{ - GdkDeviceManagerClass parent_class; -}; GType gdk_x11_device_manager_xi2_get_type (void) G_GNUC_CONST; From ecddaa7a8eb0089d4cd75e38e7e27d37a33d0539 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 11:29:18 -0500 Subject: [PATCH 0756/1463] Disable the GtkPlug xi2 hack more thoroughly --- gtk/gtkplug-x11.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index 43072fe073..55332615c2 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -27,6 +27,7 @@ #include "config.h" +#if 0 #ifdef XINPUT_2 /* Hack to have keyboard events interpreted @@ -39,6 +40,7 @@ #undef GDK_COMPILATION #endif /* XINPUT_2 */ +#endif #include "gtkmain.h" #include "gtkmarshalers.h" From b3bd1842747f83609336cfee8c2fd447c9c6bfee Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 12:19:03 -0500 Subject: [PATCH 0757/1463] Fix a silly typo --- gdk/x11/gdkdisplaymanager-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index b0cd9dee3e..7d557fd1af 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -43,7 +43,7 @@ struct _GdkX11DisplayManagerClass GdkDisplayManagerClass parent_class; }; -G_DEFINE_TYPE (GdkX11DisplayManager, gdk_x11_display_manager, GDK_TYPE_X11_DISPLAY_MANAGER) +G_DEFINE_TYPE (GdkX11DisplayManager, gdk_x11_display_manager, GDK_TYPE_DISPLAY_MANAGER) static GdkDisplay * gdk_x11_display_manager_open_display (GdkDisplayManager *manager, From f9e876e2654d2f0b23a41bc7effc2bdbd0a62154 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 12:32:34 -0500 Subject: [PATCH 0758/1463] Fix another typo --- gdk/x11/gdkcursor-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index e549d7da86..1a900885b7 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -271,7 +271,7 @@ _gdk_x11_display_get_cursor_for_type (GdkDisplay *display, } private = g_object_new (GDK_TYPE_X11_CURSOR, - "cursor-type", GDK_CURSOR_IS_PIXMAP, + "cursor-type", cursor_type, "display", display, NULL); private->xcursor = xcursor; From 10a7f49fe7b149cd076eb36153bf3c6e7276c909 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 12:41:29 -0500 Subject: [PATCH 0759/1463] Check the right library for symbols --- gtk/abicheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/abicheck.sh b/gtk/abicheck.sh index e818a64fe4..ecb8439bc3 100755 --- a/gtk/abicheck.sh +++ b/gtk/abicheck.sh @@ -1,5 +1,5 @@ #! /bin/sh cpp -P -DG_OS_UNIX -DGDK_WINDOWING_X11 ${srcdir:-.}/gtk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE//' | sort > expected-abi -nm -D -g --defined-only .libs/libgtk-x11-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi +nm -D -g --defined-only .libs/libgtk-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi diff -u expected-abi actual-abi && rm -f expected-abi actual-abi From 82fe7594f993ddeee236f27c9877e98006723a1c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 14:17:02 -0500 Subject: [PATCH 0760/1463] More include shuffling; keep X extension headers to ourselves --- gdk/x11/gdkdevice-xi2.c | 4 ++++ gdk/x11/gdkdevicemanager-xi2.c | 4 ++++ gdk/x11/gdkdeviceprivate-xi.h | 4 ++++ gdk/x11/gdkprivate-x11.h | 6 ++++++ gdk/x11/gdkx11device-xi.h | 2 -- gdk/x11/gdkx11device-xi2.h | 2 -- gdk/x11/gdkx11devicemanager-xi2.h | 2 -- 7 files changed, 18 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkdevice-xi2.c b/gdk/x11/gdkdevice-xi2.c index 53367fd47d..78b9de693a 100644 --- a/gdk/x11/gdkdevice-xi2.c +++ b/gdk/x11/gdkdevice-xi2.c @@ -26,6 +26,10 @@ #include "gdkasync.h" #include "gdkprivate-x11.h" +#include +#include +#include + struct _GdkX11DeviceXI2 { GdkDevice parent_instance; diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 83ab51c6fe..465099f577 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -30,6 +30,10 @@ #include "gdkintl.h" #include "gdkkeysyms.h" +#include +#include +#include + #include struct _GdkX11DeviceManagerXI2 diff --git a/gdk/x11/gdkdeviceprivate-xi.h b/gdk/x11/gdkdeviceprivate-xi.h index b94ec47f6e..05df1ee5ab 100644 --- a/gdk/x11/gdkdeviceprivate-xi.h +++ b/gdk/x11/gdkdeviceprivate-xi.h @@ -23,6 +23,10 @@ #include "gdkx11device-xi.h" #include "gdkdeviceprivate.h" +#include +#include +#include + G_BEGIN_DECLS struct _GdkX11DeviceXI diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h index fa134c72c0..d4114c9108 100644 --- a/gdk/x11/gdkprivate-x11.h +++ b/gdk/x11/gdkprivate-x11.h @@ -38,6 +38,12 @@ #include "gdkwindow-x11.h" #include "gdkscreen-x11.h" #include "gdkdisplay-x11.h" + +#include +#include +#include +#include + #include void _gdk_x11_error_handler_push (void); diff --git a/gdk/x11/gdkx11device-xi.h b/gdk/x11/gdkx11device-xi.h index 061f8dfcdd..65e5295622 100644 --- a/gdk/x11/gdkx11device-xi.h +++ b/gdk/x11/gdkx11device-xi.h @@ -22,8 +22,6 @@ #include -#include - G_BEGIN_DECLS #define GDK_TYPE_X11_DEVICE_XI (gdk_x11_device_xi_get_type ()) diff --git a/gdk/x11/gdkx11device-xi2.h b/gdk/x11/gdkx11device-xi2.h index 85fe788714..15f7db6a80 100644 --- a/gdk/x11/gdkx11device-xi2.h +++ b/gdk/x11/gdkx11device-xi2.h @@ -22,8 +22,6 @@ #include -#include - G_BEGIN_DECLS #define GDK_TYPE_X11_DEVICE_XI2 (gdk_x11_device_xi2_get_type ()) diff --git a/gdk/x11/gdkx11devicemanager-xi2.h b/gdk/x11/gdkx11devicemanager-xi2.h index 38c351b598..acae52bc62 100644 --- a/gdk/x11/gdkx11devicemanager-xi2.h +++ b/gdk/x11/gdkx11devicemanager-xi2.h @@ -22,8 +22,6 @@ #include -#include - G_BEGIN_DECLS #define GDK_TYPE_X11_DEVICE_MANAGER_XI2 (gdk_x11_device_manager_xi2_get_type ()) From 928fd84ebfeb323d13c6ee502879ca5d3c931978 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 14:20:19 -0500 Subject: [PATCH 0761/1463] Implement some more vfuncs in GdkOffscreenWindow --- gdk/gdkoffscreenwindow.c | 78 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 74 insertions(+), 4 deletions(-) diff --git a/gdk/gdkoffscreenwindow.c b/gdk/gdkoffscreenwindow.c index 1731f45dad..6c2c86406e 100644 --- a/gdk/gdkoffscreenwindow.c +++ b/gdk/gdkoffscreenwindow.c @@ -687,6 +687,17 @@ gdk_offscreen_window_get_embedder (GdkWindow *window) return offscreen->embedder; } +static void +gdk_offscreen_window_do_nothing (GdkWindow *window) +{ +} + +static void +gdk_offscreen_window_set_boolean (GdkWindow *window, + gboolean setting) +{ +} + static void gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass) { @@ -699,21 +710,80 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass) impl_class->show = gdk_offscreen_window_show; impl_class->hide = gdk_offscreen_window_hide; impl_class->withdraw = gdk_offscreen_window_withdraw; + impl_class->set_events = gdk_offscreen_window_set_events; + impl_class->get_events = gdk_offscreen_window_get_events; impl_class->raise = gdk_offscreen_window_raise; impl_class->lower = gdk_offscreen_window_lower; + impl_class->restack_under = NULL; + impl_class->restack_toplevel = NULL; impl_class->move_resize = gdk_offscreen_window_move_resize; impl_class->set_background = gdk_offscreen_window_set_background; - impl_class->get_events = gdk_offscreen_window_get_events; - impl_class->set_events = gdk_offscreen_window_set_events; impl_class->reparent = gdk_offscreen_window_reparent; + impl_class->set_device_cursor = NULL; impl_class->get_geometry = gdk_offscreen_window_get_geometry; + impl_class->get_root_coords = gdk_offscreen_window_get_root_coords; + impl_class->get_device_state = gdk_offscreen_window_get_device_state; impl_class->shape_combine_region = gdk_offscreen_window_shape_combine_region; impl_class->input_shape_combine_region = gdk_offscreen_window_input_shape_combine_region; impl_class->set_static_gravities = gdk_offscreen_window_set_static_gravities; impl_class->queue_antiexpose = gdk_offscreen_window_queue_antiexpose; impl_class->translate = gdk_offscreen_window_translate; - impl_class->get_root_coords = gdk_offscreen_window_get_root_coords; - impl_class->get_device_state = gdk_offscreen_window_get_device_state; impl_class->destroy = gdk_offscreen_window_destroy; + impl_class->destroy_foreign = NULL; impl_class->resize_cairo_surface = gdk_offscreen_window_resize_cairo_surface; + impl_class->get_shape = NULL; + impl_class->get_input_shape = NULL; + impl_class->beep = NULL; + + impl_class->focus = NULL; + impl_class->set_type_hint = NULL; + impl_class->get_type_hint = NULL; + impl_class->set_modal_hint = NULL; + impl_class->set_skip_taskbar_hint = gdk_offscreen_window_set_boolean; + impl_class->set_skip_pager_hint = gdk_offscreen_window_set_boolean; + impl_class->set_urgency_hint = NULL; + impl_class->set_geometry_hints = NULL; + impl_class->set_title = NULL; + impl_class->set_role = NULL; + impl_class->set_startup_id = NULL; + impl_class->set_transient_for = NULL; + impl_class->get_root_origin = NULL; + impl_class->get_frame_extents = NULL; + impl_class->set_override_redirect = NULL; + impl_class->set_accept_focus = NULL; + impl_class->set_focus_on_map = NULL; + impl_class->set_icon_list = NULL; + impl_class->set_icon_name = NULL; + impl_class->iconify = gdk_offscreen_window_do_nothing; + impl_class->deiconify = gdk_offscreen_window_do_nothing; + impl_class->stick = gdk_offscreen_window_do_nothing; + impl_class->unstick = gdk_offscreen_window_do_nothing; + impl_class->maximize = gdk_offscreen_window_do_nothing; + impl_class->unmaximize = gdk_offscreen_window_do_nothing; + impl_class->fullscreen = gdk_offscreen_window_do_nothing; + impl_class->unfullscreen = gdk_offscreen_window_do_nothing; + impl_class->set_keep_above = gdk_offscreen_window_set_boolean; + impl_class->set_keep_below = gdk_offscreen_window_set_boolean; + impl_class->get_group = NULL; + impl_class->set_group = NULL; + impl_class->set_decorations = NULL; + impl_class->get_decorations = NULL; + impl_class->set_functions = NULL; + impl_class->set_functions = NULL; + impl_class->begin_resize_drag = NULL; + impl_class->begin_move_drag = NULL; + impl_class->enable_synchronized_configure = NULL; + impl_class->configure_finished = NULL; + impl_class->set_opacity = NULL; + impl_class->set_composited = NULL; + impl_class->destroy_notify = NULL; + impl_class->register_dnd = NULL; + impl_class->drag_begin = NULL; + impl_class->process_updates_recurse = NULL; + impl_class->sync_rendering = NULL; + impl_class->simulate_key = NULL; + impl_class->simulate_button = NULL; + impl_class->get_property = NULL; + impl_class->change_property = NULL; + impl_class->delete_property = NULL; } From a2dddb1da06aacef356cd7f0982b98ed3d5bb639 Mon Sep 17 00:00:00 2001 From: "Owen W. Taylor" Date: Mon, 20 Dec 2010 13:48:44 -0500 Subject: [PATCH 0762/1463] Return an appropriate GtkStyle from gtk_rc_get_style_by_paths() Always returning NULL (no match) from gtk_rc_get_style_by_paths() means that looking up colors and style properties based on the GtkStyle will give default values instead of themed values. We can do better by returning a GtkStyle based on a GtkWidgetPath that we figure out from the values passed in to get_style_by_paths(). https://bugzilla.gnome.org/show_bug.cgi?id=637520 --- gtk/gtkrc.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++- gtk/gtkstyle.c | 31 ++++++++++++++------ gtk/gtkstyle.h | 4 +++ 3 files changed, 103 insertions(+), 10 deletions(-) diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 44b0371479..b0d99c8d39 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -807,7 +807,83 @@ gtk_rc_get_style_by_paths (GtkSettings *settings, const char *class_path, GType type) { - return NULL; + GtkWidgetPath *path; + GtkStyle *style; + + path = gtk_widget_path_new (); + + /* For compatibility, we return a GtkStyle based on a GtkStyleContext + * with a GtkWidgetPath appropriate for the supplied information. + * + * GtkWidgetPath is composed of a list of GTypes with optional names; + * In GTK+-2.0, widget_path consisted of the widget names, or + * the class names for unnamed widgets, while class_path had the + * class names always. So, use class_path to determine the GTypes + * and extract widget names from widget_path as applicable. + */ + if (class_path == NULL) + { + gtk_widget_path_append_type (path, type == G_TYPE_NONE ? GTK_TYPE_WIDGET : type); + } + else + { + const gchar *widget_p, *widget_next; + const gchar *class_p, *class_next; + + widget_next = widget_path; + class_next = class_path; + + while (*class_next) + { + GType component_type; + gchar *component_class; + gchar *component_name; + gint pos; + + class_p = class_next; + if (*class_p == '.') + class_p++; + + widget_p = widget_next; /* Might be NULL */ + if (widget_p && *widget_p == '.') + widget_p++; + + class_next = strchr (class_p, '.'); + if (class_next == NULL) + class_next = class_p + strlen (class_p); + + if (widget_p) + { + widget_next = strchr (widget_p, '.'); + if (widget_next == NULL) + widget_next = widget_p + strlen (widget_p); + } + + component_class = g_strndup (class_p, class_next - class_p); + if (widget_p && *widget_p) + component_name = g_strndup (widget_p, widget_next - widget_p); + else + component_name = NULL; + + component_type = g_type_from_name (component_class); + if (component_type == G_TYPE_INVALID) + component_type = GTK_TYPE_WIDGET; + + pos = gtk_widget_path_append_type (path, component_type); + if (component_name != NULL && strcmp (component_name, component_name) != 0) + gtk_widget_path_iter_set_name (path, pos, component_name); + + g_free (component_class); + g_free (component_name); + } + } + + style = _gtk_style_new_for_path (_gtk_settings_get_screen (settings), + path); + + gtk_widget_path_free (path); + + return style; } /** diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index e02beb5655..3bfc66422a 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -798,6 +798,26 @@ gtk_style_copy (GtkStyle *style) return new_style; } +GtkStyle* +_gtk_style_new_for_path (GdkScreen *screen, + GtkWidgetPath *path) +{ + GtkStyleContext *context; + GtkStyle *style; + + context = gtk_style_context_new (); + gtk_style_context_set_screen (context, screen); + gtk_style_context_set_path (context, path); + + style = g_object_new (GTK_TYPE_STYLE, + "context", context, + NULL); + + g_object_unref (context); + + return style; +} + /** * gtk_style_new: * @returns: a new #GtkStyle. @@ -809,22 +829,15 @@ gtk_style_copy (GtkStyle *style) GtkStyle* gtk_style_new (void) { - GtkStyleContext *context; GtkWidgetPath *path; GtkStyle *style; - context = gtk_style_context_new (); - gtk_style_context_set_screen (context, gdk_screen_get_default ()); - path = gtk_widget_path_new (); gtk_widget_path_append_type (path, GTK_TYPE_WIDGET); - gtk_style_context_set_path (context, path); - style = g_object_new (GTK_TYPE_STYLE, - "context", context, - NULL); + style = _gtk_style_new_for_path (gdk_screen_get_default (), + path); - g_object_unref (context); gtk_widget_path_free (path); return style; diff --git a/gtk/gtkstyle.h b/gtk/gtkstyle.h index efd78a7cfc..7aec22d88e 100644 --- a/gtk/gtkstyle.h +++ b/gtk/gtkstyle.h @@ -34,6 +34,7 @@ #include #include +#include G_BEGIN_DECLS @@ -634,10 +635,13 @@ void gtk_style_get (GtkStyle *style, #endif /* --- private API --- */ +GtkStyle* _gtk_style_new_for_path (GdkScreen *screen, + GtkWidgetPath *path); void _gtk_style_shade (const GdkColor *a, GdkColor *b, gdouble k); + void gtk_draw_insertion_cursor (GtkWidget *widget, cairo_t *cr, const GdkRectangle *location, From 940d123de5c6050abf2ce134aa510a3cdb990203 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 14:32:59 -0500 Subject: [PATCH 0763/1463] Add gdk_disable_multidevice to headers --- gdk/gdkmain.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index 28b587791c..7b6c624b08 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -112,6 +112,8 @@ void gdk_beep (void); void gdk_flush (void); +void gdk_disable_multidevice (void); + G_END_DECLS #endif /* __GDK_MAIN_H__ */ From 7b6d759b04c6e684464f69725ca460d4cf028563 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 14:43:17 -0500 Subject: [PATCH 0764/1463] Temporarily disable combo box entry test This one got broken by the treeview refactoring, I assume. --- gtk/tests/builder.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/tests/builder.c b/gtk/tests/builder.c index 00420af57b..1c0acaa8a6 100644 --- a/gtk/tests/builder.c +++ b/gtk/tests/builder.c @@ -1312,6 +1312,7 @@ test_combo_box (void) g_object_unref (builder); } +#if 0 static void test_combo_box_entry (void) { @@ -1382,6 +1383,7 @@ test_combo_box_entry (void) g_object_unref (builder); } +#endif static void test_cell_view (void) @@ -2601,7 +2603,9 @@ main (int argc, char **argv) g_test_add_func ("/Builder/TreeView Column", test_treeview_column); g_test_add_func ("/Builder/IconView", test_icon_view); g_test_add_func ("/Builder/ComboBox", test_combo_box); +#if 0 g_test_add_func ("/Builder/ComboBox Entry", test_combo_box_entry); +#endif g_test_add_func ("/Builder/CellView", test_cell_view); g_test_add_func ("/Builder/Dialog", test_dialog); g_test_add_func ("/Builder/Accelerators", test_accelerators); From 9cdbb31c06a328b691506dc4a86e13b8feffb925 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 16:25:27 -0500 Subject: [PATCH 0765/1463] Update NEWS --- NEWS | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/NEWS b/NEWS index c9bec87b7e..070a53fbd0 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,94 @@ +Overview of Changes from GTK+ 2.91.6 to 2.91.7 +============================================== + +* The treeview-refactor branch has been merged, bringing more + flexible cell arrangement with GtkCellArea, GtkCellAreaBox, etc + +* The gdk-backend branch has been merged. This branch cleans up the + internal frontend/backend separation in GDK, with the ultimate goal + of allowing to build a single gdk library that contains multiple + backends (interesting combinations are x11+wayland or quartz+x11). + + For now, GDK is still restricted to a single backend, but + as a first step, the libraries no longer include the backend name + in their soname, but are just libgdk-3.0.so and libgtk-3.0.so. + + Only the x11 backend has been kept up to date with this cleanup + work, other backends are broken in this release. + +* Deprecations and removals: + - G_SEALed struct members have been removed from GtkWindowGroup, + GtkDrawingArea, GtkTreeStore, GtkTreeModelSort, GtkTreeSelection, + GtkSocket, GtkPrintJob, GtkSelectionData + - Input device handling: + - gdk_display_list_devices, gdk_display_get_core_pointer, + gdk_input_set_extension_events, gtk_widget_set_extension_events, + gdk_devices_list have been removed + - gdk_display_warp_device has been replaced by gdk_device_warp + - gdk_enable_multidevice has been replaced by gdk_disable_multidevice + - Drag-and-Drop: + gdk_drag_context_new, gdk_drag_find_window and gdk_drag_get_protocol + have been removed + - Property handling: + Functions that deal with X11-specific encodings such as Compound Text + have been moved to backend-specific API: + gdk_string_to_compound_text[_for_display], + gdk_utf8_to_compound_text[_for_display], gdk_free_compound_text, + gdk_text_property_to_text_list[_for_display], gdk_free_text_list, + gdk_text_property_to_utf8_list + - Foreign windows: + Functions for dealing with GdkWindow wrappers around foreign + windows have been moved to backend-specific API. + - Application launching: + The gdk_spawn_* APIs have been removed, since they were trivial + wrappers around g_spawn_* on most platforms and can be replaced + by GIO GAppInfo APIs. + - Misc. other functions: gdk_net_wm_supports, gdk_set_locale, + gdkx_visual_get have been either removed, gdk_set_sm_client_id + has been moved to backend-specific API. + +* A number of GTK+ widgets have been ported to use GtkStyleContext + directly for rendering + +* The tracker search backend for the file chooser has been updated + to work with libtracker-sparql as available in tracker >= 0.9 + +* The GtkAboutDialog has been given a facelift. It no longer + opens second-level dialogs + +* The GDK X11 backend now uses XI2 (including multi-device capabilities) + by default. Use gdk_disable_multidevice() to switch back to the + XI1/Core implementation + +* Bug fixes: + 629923 Consider always calling unmap() when unsetting MAPPED flag + 634657 Dynamically attached calendar does not respond to mouse clicks + 635401 Setting conflict warning does not disappear when conflict is fixed + 636732 Gtk+ fails to build + 636777 Leak in gtk_css_provider_get_named + 637018 Add checks for id-column/entry-text-column >= 0 + 637069 Custom print settings set in custom-widget-apply are lost + 637155 Remove vestiges of support for themes using XSHAPE + 637156 Optimize gtk_widget_shape_combine_region (widget, NULL, ...) + 637189 gtk_cell_renderer_spin_start_editing uses g_ascii_strtod but... + 637243 docs: fix link failure on gtk-doc scanner binaries + 637256 gtkstylecontext: fix typos in annotations + 637464 Fix GdkWindowFilter internal refcounting + 637471 GTK2_RC_FILES should be renamed to GTK3_RC_FILES + 637520 Gtk+ seems to have broken Mutter + 637606 Missing out annotations for gtk_accelerator_parse and... + 637608 Problems with the new AboutDialog + +* Translation updates: + Estonian + Hebrew + Kazakh + Norwegian bokmål + Persian + Spanish + Vietnamese + + Overview of Changes from GTK+ 2.91.5 to 2.91.6 ============================================== From 3ca69937f4c76d1ca0f1d22971598e2fcf3c4b6a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 16:37:16 -0500 Subject: [PATCH 0766/1463] Don't install headers twice --- gdk/x11/Makefile.am | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index bdabb21c96..c9421b8bf0 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -83,11 +83,7 @@ libgdkx11include_HEADERS += \ gdkx11applaunchcontext.h \ gdkx11cursor.h \ gdkx11device-core.h \ - gdkx11device-xi.h \ - gdkx11device-xi2.h \ gdkx11devicemanager-core.h \ - gdkx11devicemanager-xi.h \ - gdkx11devicemanager-xi2.h \ gdkx11display.h \ gdkx11displaymanager.h \ gdkx11dnd.h \ From fcbfa053477812956d58b2cadc6cfd430ccd55dd Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 17:36:50 -0500 Subject: [PATCH 0767/1463] Drop no-longer-existing header from Makefile --- gdk/Makefile.am | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 8841f8031d..684df0a04d 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -106,8 +106,7 @@ gdk_private_headers = \ gdkinternals.h \ gdkintl.h \ gdkkeysprivate.h \ - gdkvisualprivate.h \ - gdkpoly-generic.h + gdkvisualprivate.h gdk_c_sources = \ gdk.c \ From 4331d62567add547fe0a65358d6add784fd85568 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 17:57:40 -0500 Subject: [PATCH 0768/1463] Add gtkselectionprivate.h to Makefile --- gtk/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 32b377b4f6..03903974f8 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -416,6 +416,7 @@ gtk_private_h_sources = \ gtkrecentchooserdefault.h \ gtkrecentchooserprivate.h \ gtkrecentchooserutils.h \ + gtkselectionprivate.h \ gtksizegroup-private.h \ gtksocketprivate.h \ gtktextbtree.h \ From 2a324ae304dd783ad6949ea696023a9f93649b31 Mon Sep 17 00:00:00 2001 From: Mike Gorse Date: Tue, 21 Dec 2010 18:18:07 -0500 Subject: [PATCH 0769/1463] Fix inclusion of gdkconfig.h --- gdk/gdktypes.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index f86d5265af..7cd9f6cde9 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -43,7 +43,7 @@ * itself, but also occasionally when compiling programs that use GDK * (or GTK). One such setting is what windowing API backend is in use. */ -#include +#include /* some common magic values */ From 5b6bdcf016a0501c15d579e10770b6cc97b80924 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 18:15:43 -0500 Subject: [PATCH 0770/1463] Fix a tag mismatch in the docs --- gtk/gtkcssprovider.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 46303bebe5..c318ec9a14 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -53,7 +53,7 @@ * falling back to * datadir/share/themes/theme-name/gtk-3.0/gtk.css, * where theme-name is the name of the current theme - * (see the #GtkSettings:gtk-theme-name setting) and datadir + * (see the #GtkSettings:gtk-theme-name setting) and datadir * is the prefix configured when GTK+ was compiled, unless overridden by the * GTK_DATA_PREFIX environment variable. * From 4b10167ce636549d74d482c2a3fb2e2dbf069168 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 18:17:58 -0500 Subject: [PATCH 0771/1463] Set a default value for rgba style properties --- gtk/gtkstyleproperties.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c index abd9383440..5dc088f29e 100644 --- a/gtk/gtkstyleproperties.c +++ b/gtk/gtkstyleproperties.c @@ -855,6 +855,12 @@ lookup_default_value (PropertyNode *node, g_value_set_object (value, gtk_theming_engine_load (NULL)); else if (node->pspec->value_type == PANGO_TYPE_FONT_DESCRIPTION) g_value_take_boxed (value, pango_font_description_from_string ("Sans 10")); + else if (node->pspec->value_type == GDK_TYPE_RGBA) + { + GdkRGBA color; + gdk_rgba_parse (&color, "pink"); + g_value_set_boxed (value, &color); + } else g_param_value_set_default (node->pspec, value); } From b824cdd6dbce65b54321f6a1d24e518a3d8b5c00 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 18:42:30 -0500 Subject: [PATCH 0772/1463] Fix a blunder in grab handling This was causing segfaults which would go away when compiled with debug options. --- gdk/x11/gdkdisplay-x11.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index f5f00527fd..20405bddc5 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1588,6 +1588,16 @@ struct XPointerUngrabInfo { guint32 time; }; +static void +device_grab_update_callback (GdkDisplay *display, + gpointer data, + gulong serial) +{ + GdkDevice *device = data; + + _gdk_display_device_grab_update (display, device, NULL, serial); +} + #define XSERVER_TIME_IS_LATER(time1, time2) \ ( (( time1 > time2 ) && ( time1 - time2 < ((guint32)-1)/2 )) || \ (( time1 < time2 ) && ( time2 - time1 > ((guint32)-1)/2 )) \ @@ -1599,9 +1609,7 @@ _gdk_x11_display_update_grab_info (GdkDisplay *display, gint status) { if (status == GrabSuccess) - _gdk_x11_roundtrip_async (display, - (GdkRoundTripCallback)_gdk_display_device_grab_update, - device); + _gdk_x11_roundtrip_async (display, device_grab_update_callback, device); } void @@ -1621,9 +1629,7 @@ _gdk_x11_display_update_grab_info_ungrab (GdkDisplay *display, !XSERVER_TIME_IS_LATER (grab->time, time))) { grab->serial_end = serial; - _gdk_x11_roundtrip_async (display, - (GdkRoundTripCallback)_gdk_display_device_grab_update, - device); + _gdk_x11_roundtrip_async (display, device_grab_update_callback, device); } } From 83364e8529d7949352db17208424e10d0bd264d0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 19:37:18 -0500 Subject: [PATCH 0773/1463] Fix distcheck --- Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.am b/Makefile.am index faf57f10c6..48ad13ac7e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -80,6 +80,9 @@ endif DISTCLEANFILES = \ gtk+-unix-print-3.0.pc \ gtk+-3.0.pc \ + gtk+-x11-3.0.pc \ + gdk-3.0.pc \ + gdk-x11-3.0.pc \ gail-3.0.pc \ gtk+-3.0-uninstalled.pc \ gail-3.0-uninstalled.pc \ From e60eff282aaa6b0e3f79876e8414911a5b34c6cf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 20:17:35 -0500 Subject: [PATCH 0774/1463] Bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index b466bdab2a..7be4641320 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [91]) -m4_define([gtk_micro_version], [7]) +m4_define([gtk_micro_version], [8]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From f4419be0d68c84ea94488bf1c75c4b6f767b8773 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Wed, 22 Dec 2010 15:01:50 +1100 Subject: [PATCH 0775/1463] Fix DSO link issues --- demos/Makefile.am | 1 + demos/gtk-demo/Makefile.am | 1 + docs/tools/Makefile.am | 2 ++ gtk/tests/Makefile.am | 1 + perf/Makefile.am | 1 + tests/Makefile.am | 1 + 6 files changed, 7 insertions(+) diff --git a/demos/Makefile.am b/demos/Makefile.am index efdd0b1183..dc6fcb632b 100644 --- a/demos/Makefile.am +++ b/demos/Makefile.am @@ -16,6 +16,7 @@ DEPS = \ LDADDS = \ $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(MATH_LIB) diff --git a/demos/gtk-demo/Makefile.am b/demos/gtk-demo/Makefile.am index 1a5a6770a5..5385dcbbb4 100644 --- a/demos/gtk-demo/Makefile.am +++ b/demos/gtk-demo/Makefile.am @@ -59,6 +59,7 @@ DEPS = \ LDADDS = \ $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ -lm diff --git a/docs/tools/Makefile.am b/docs/tools/Makefile.am index d008afc1b4..c4a1c8bfcb 100644 --- a/docs/tools/Makefile.am +++ b/docs/tools/Makefile.am @@ -13,7 +13,9 @@ DEPS = \ LDADDS = \ $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ + $(GDK_DEP_LIBS) \ -lm if USE_X11 diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index 35105d329f..34367ee4db 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -15,6 +15,7 @@ DEPS = \ progs_ldadd = \ $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) noinst_PROGRAMS = $(TEST_PROGS) $(SAMPLE_PROGS) diff --git a/perf/Makefile.am b/perf/Makefile.am index 3b2c0b0c7b..18e45f40d0 100644 --- a/perf/Makefile.am +++ b/perf/Makefile.am @@ -15,6 +15,7 @@ DEPS = \ LDADDS = \ $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) noinst_PROGRAMS = \ diff --git a/tests/Makefile.am b/tests/Makefile.am index 744796bb79..fc4b58e1d7 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -16,6 +16,7 @@ DEPS = \ LDADDS = \ $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ -lm From 2013e23c4bfc5dd8a154325f8dde865acec9cc42 Mon Sep 17 00:00:00 2001 From: Robert Ancell Date: Wed, 22 Dec 2010 15:36:47 +1100 Subject: [PATCH 0776/1463] Use getters and setters for GtkPrintJob in gtkprintbackendtest.c --- .../printbackends/test/gtkprintbackendtest.c | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/modules/printbackends/test/gtkprintbackendtest.c b/modules/printbackends/test/gtkprintbackendtest.c index f40c03cbdb..14c8e52db4 100644 --- a/modules/printbackends/test/gtkprintbackendtest.c +++ b/modules/printbackends/test/gtkprintbackendtest.c @@ -525,25 +525,27 @@ test_printer_prepare_for_print (GtkPrinter *printer, { gdouble scale; - print_job->print_pages = gtk_print_settings_get_print_pages (settings); - print_job->page_ranges = NULL; - print_job->num_page_ranges = 0; + gtk_print_job_set_pages (print_job, gtk_print_settings_get_print_pages (settings)); + gtk_print_job_set_page_ranges (print_job, NULL, 0); - if (print_job->print_pages == GTK_PRINT_PAGES_RANGES) - print_job->page_ranges = - gtk_print_settings_get_page_ranges (settings, - &print_job->num_page_ranges); - - print_job->collate = gtk_print_settings_get_collate (settings); - print_job->reverse = gtk_print_settings_get_reverse (settings); - print_job->num_copies = gtk_print_settings_get_n_copies (settings); + if (gtk_print_job_get_pages (print_job) == GTK_PRINT_PAGES_RANGES) + { + GtkPageRange *page_ranges; + gint num_page_ranges; + page_ranges = gtk_print_settings_get_page_ranges (settings, &num_page_ranges); + gtk_print_job_set_page_ranges (print_job, page_ranges, num_page_ranges); + } + + gtk_print_job_set_collate (print_job, gtk_print_settings_get_collate (settings)); + gtk_print_job_set_reverse (print_job, gtk_print_settings_get_reverse (settings)); + gtk_print_job_set_num_copies (print_job, gtk_print_settings_get_n_copies (settings)); scale = gtk_print_settings_get_scale (settings); if (scale != 100.0) - print_job->scale = scale/100.0; + gtk_print_job_set_scale (print_job, scale/100.0); - print_job->page_set = gtk_print_settings_get_page_set (settings); - print_job->rotate_to_orientation = TRUE; + gtk_print_job_set_page_set (print_job, gtk_print_settings_get_page_set (settings)); + gtk_print_job_set_rotate (print_job, TRUE); } static gboolean From 4cc76927b1e6d864f18e37b8f35aa5495392b56d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 00:31:05 -0500 Subject: [PATCH 0777/1463] Show translators properly in the new about dialog translator-credits is a single string, typically with newline- separated names. --- gtk/gtkaboutdialog.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 2e042bdd2f..9edf0b647e 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -2373,12 +2373,11 @@ create_credits_page (GtkAboutDialog *about) strcmp (priv->translator_credits, "translator_credits") != 0 && strcmp (priv->translator_credits, "translator-credits") != 0) { - gchar *translators[2]; - - translators[0] = priv->translator_credits; - translators[1] = NULL; + gchar **translators; + translators = g_strsplit (priv->translator_credits, "\n", 0); add_credits_section (about, GTK_GRID (grid), &row, _("Translated by"), translators); + g_strfreev (translators); } if (priv->artists != NULL) From a6b05106a5f3c01cc3b1bc5b5812fbf883a14691 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 01:03:58 -0500 Subject: [PATCH 0778/1463] GtkAboutDialog: Be slightly more flexible when listing credits Make sure we render credits ok that are occurring in the wild, such as "Contact us at:", "" or "guy1\nguy2\nguy3" https://bugzilla.gnome.org/show_bug.cgi?id=637763 https://bugzilla.gnome.org/show_bug.cgi?id=637736 --- gtk/gtkaboutdialog.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 9edf0b647e..6be3edc3e2 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -2277,6 +2277,7 @@ add_credits_section (GtkAboutDialog *about, { gchar *link; gchar *text; + gchar *name; if (*q1 == '<') { @@ -2284,6 +2285,7 @@ add_credits_section (GtkAboutDialog *about, gchar *escaped; text = g_strstrip (g_strndup (q0, q1 - q0)); + name = g_markup_escape_text (text, -1); q1++; link = g_strndup (q1, q2 - q1); q2++; @@ -2291,22 +2293,25 @@ add_credits_section (GtkAboutDialog *about, g_string_append_printf (str, "%s", escaped, - text); + name[0] ? name : link); g_free (escaped); g_free (link); g_free (text); + g_free (name); } else { /* uri */ text = g_strstrip (g_strndup (q0, q1 - q0)); + name = g_markup_escape_text (text, -1); link = g_strndup (q1, q2 - q1); g_string_append_printf (str, "%s", link, - text); + name[0] ? name : link); g_free (link); g_free (text); + g_free (name); } q0 = q2; From fa59cc46523a1e4daf0656a86bed8e70f4a83b32 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 01:31:15 -0500 Subject: [PATCH 0779/1463] Fix the X backend docs --- docs/reference/gdk/Makefile.am | 4 ++-- docs/reference/gdk/gdk3-sections.txt | 35 ++++++++++++++-------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am index b672f2c6e2..136993caf5 100644 --- a/docs/reference/gdk/Makefile.am +++ b/docs/reference/gdk/Makefile.am @@ -13,7 +13,7 @@ DOC_MAIN_SGML_FILE=gdk-docs.sgml SCAN_OPTIONS=--deprecated-guards="GDK_ENABLE_BROKEN|GDK_DISABLE_DEPRECATED" # The directory containing the source code. Relative to $(srcdir) -DOC_SOURCE_DIR=../../../gdk +DOC_SOURCE_DIR=../../../gdk ../../../gdk/x11 # Used for dependencies HFILE_GLOB=$(top_srcdir)/gdk/*.h $(top_srcdir)/gdk/x11/gdkx.h @@ -34,7 +34,7 @@ IGNORE_HFILES= \ # Extra files to add when scanning (relative to $srcdir) EXTRA_HFILES= \ - ../../../gdk/x11/gdkx.h + ../../../gdk/x11/gdkx.h # CFLAGS and LDFLAGS for compiling scan program. Only needed # if $(DOC_MODULE).types is non-empty. diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 2e1a58e69a..6f953809dd 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -948,20 +948,9 @@ GDK_SCREEN_XNUMBER GDK_SCREEN_XSCREEN GDK_CURSOR_XCURSOR GDK_CURSOR_XDISPLAY -gdkx_visual_get -gdk_x11_window_foreign_new_for_display -gdk_x11_window_lookup_for_display gdk_x11_lookup_xdisplay gdk_x11_get_server_time -gdk_x11_screen_supports_net_wm_hint -gdk_x11_screen_get_window_manager_name -gdk_x11_screen_get_monitor_output -gdk_x11_screen_lookup_visual -gdk_x11_window_set_user_time -gdk_x11_window_move_to_current_desktop gdk_x11_display_get_user_time -gdk_x11_cursor_get_xcursor -gdk_x11_cursor_get_xdisplay gdk_x11_display_broadcast_startup_message gdk_x11_display_get_startup_notification_id gdk_x11_display_set_startup_notification_id @@ -973,14 +962,24 @@ gdk_x11_display_error_trap_pop gdk_x11_display_error_trap_pop_ignored gdk_x11_display_set_cursor_theme gdk_x11_register_standard_event_type +gdk_x11_screen_get_screen_number +gdk_x11_screen_get_xscreen +gdk_x11_screen_get_window_manager_name +gdk_x11_screen_get_monitor_output +gdk_x11_screen_lookup_visual +gdk_x11_screen_supports_net_wm_hint +gdk_x11_window_foreign_new_for_display +gdk_x11_window_lookup_for_display gdk_x11_window_get_xid +gdk_x11_window_set_user_time +gdk_x11_window_move_to_current_desktop gdk_x11_get_default_root_xwindow gdk_x11_get_default_screen gdk_x11_get_default_xdisplay gdk_x11_grab_server -gdk_x11_screen_get_screen_number -gdk_x11_screen_get_xscreen gdk_x11_ungrab_server +gdk_x11_cursor_get_xcursor +gdk_x11_cursor_get_xdisplay gdk_x11_visual_get_xvisual gdk_x11_atom_to_xatom gdk_x11_atom_to_xatom_for_display @@ -990,10 +989,12 @@ gdk_x11_get_xatom_by_name gdk_x11_get_xatom_by_name_for_display gdk_x11_get_xatom_name gdk_x11_get_xatom_name_for_display - - -GDK_HAVE_WCHAR_H -GDK_HAVE_WCTYPE_H +gdk_x11_set_sm_client_id +gdk_x11_display_text_property_to_text_list +gdk_x11_free_text_list +gdk_x11_display_string_to_compound_text +gdk_x11_display_utf8_to_compound_text +gdk_x11_free_compound_text
From 3973ef760e79e684f6e0597ac7a5ac5d451f37d4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 01:32:18 -0500 Subject: [PATCH 0780/1463] Mention GDK_BACKEND in the docs --- gdk/gdkdisplaymanager.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 97022d5a22..829083ae68 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -156,6 +156,11 @@ gdk_display_manager_get_property (GObject *object, * * Gets the singleton #GdkDisplayManager object. * + * When called for the first time, this function consults the + * GDK_BACKEND to find out which of the supported + * GDK backends to use (in case GDK has been compiled with multiple + * backends). + * * Returns: (transfer none): The global #GdkDisplayManager singleton; * gdk_parse_pargs(), gdk_init(), or gdk_init_check() must have * been called first. From 367211ed7f19f1f9fe3a658278e8c6083d86f1f6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 01:43:57 -0500 Subject: [PATCH 0781/1463] Document WINDOWING macros --- gdk/gdk.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 56 insertions(+), 11 deletions(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index 6ab3caf151..79f0b84e9b 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -48,6 +48,51 @@ * utility functions. */ +/** + * GDK_WINDOWING_X11: + * + * The #GDK_WINDOWING_X11 macro is defined if the X11 backend + * is supported. + * + * Use this macro to guard code that is specific to the X11-backend. + * Since GDK may be configured with multiple backends, an additional + * runtime check for the used backend is recommended: + * + * + * Backend-specific code + * + * #ifdef GDK_WINDOWING_X11 + * if (GDK_IS_X11_DISPLAY (display)) + * { + * /* make X11-specific calls here */ + * } + * else + * #endif + * #ifdef GDK_WINDOWING_QUARTZ + * if (GDK_IS_QUARTZ_DISPLAY (display)) + * { + * /* make Quartz-specific calls here &ast/ + * } + * else + * #endif + * g_error ("Unsupported GDK backend"); + * + * + */ + +/** + * GDK_WINDOWING_WIN32: + * + * The #GDK_WINDOWING_WIN32 macro is defined if the Win32 backend + * is supported. + */ + +/** + * GDK_WINDOWING_QUARTZ: + * + * The #GDK_WINDOWING_QUARTZ macro is defined if the Quartz backend + * is supported. + */ typedef struct _GdkPredicate GdkPredicate; @@ -323,14 +368,14 @@ gdk_display_open_default_libgtk_only (void) * @argc: (inout): the number of command line arguments. * @argv: (array length=argc) (inout): the array of command line arguments. * - * Initializes the GDK library and connects to the X server, returning %TRUE on - * success. + * Initializes the GDK library and connects to the windowing system, + * returning %TRUE on success. * - * Any arguments used by GDK are removed from the array and @argc and @argv are - * updated accordingly. + * Any arguments used by GDK are removed from the array and @argc and @argv + * are updated accordingly. * - * GTK+ initializes GDK in gtk_init() and so this function is not usually needed - * by GTK+ applications. + * GTK+ initializes GDK in gtk_init() and so this function is not usually + * needed by GTK+ applications. * * Returns: %TRUE if initialization succeeded. */ @@ -349,15 +394,15 @@ gdk_init_check (int *argc, * @argc: (inout): the number of command line arguments. * @argv: (array length=argc) (inout): the array of command line arguments. * - * Initializes the GDK library and connects to the X server. + * Initializes the GDK library and connects to the windowing system. * If initialization fails, a warning message is output and the application * terminates with a call to exit(1). * - * Any arguments used by GDK are removed from the array and @argc and @argv are - * updated accordingly. + * Any arguments used by GDK are removed from the array and @argc and @argv + * are updated accordingly. * - * GTK+ initializes GDK in gtk_init() and so this function is not usually needed - * by GTK+ applications. + * GTK+ initializes GDK in gtk_init() and so this function is not usually + * needed by GTK+ applications. */ void gdk_init (int *argc, char ***argv) From e20503836c3d91d52eb0448ebb34f599d7b87300 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 22 Dec 2010 21:21:44 +0900 Subject: [PATCH 0782/1463] Fixed GtkGrid GtkContainerClass->forall() to not use a for loop. This loop needs to be safe for removing children in a forall loop. --- gtk/gtkgrid.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c index 7aaf8ef818..3557c16949 100644 --- a/gtk/gtkgrid.c +++ b/gtk/gtkgrid.c @@ -439,9 +439,11 @@ gtk_grid_forall (GtkContainer *container, GtkGridChild *child; GList *list; - for (list = priv->children; list; list = list->next) + list = priv->children; + while (list) { child = list->data; + list = list->next; (* callback) (child->widget, callback_data); } From 05b43caf4c5c36fe35d03cbc26158e562a4a7cc1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 11:13:31 -0500 Subject: [PATCH 0783/1463] Add a section about gdk_spawn to migration guide --- docs/reference/gtk/migrating-2to3.xml | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index ad0919b9a8..237d14f634 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -123,6 +123,53 @@
+
+ Use GIO for launching applications + + The gdk_spawn family of functions has been + deprecated in GDK 2.24 and removed from GDK 3. Various replacements + exit; the best replacement depends on the circumstances: + + If you are opening a document or URI by launching a command + like firefox http://my-favourite-website.com or + gnome-open ghelp:epiphany, it is best to just use + gtk_show_uri(); as an added benefit, your application will henceforth + respect the users preference for what application to use. + If you are launching a regular, installed application that + has a desktop file, it is best to use GIOs #GAppInfo with a suitable + launch context. + + GAppInfo *info; + GAppLaunchContext *context; + GError *error = NULL; + + info = g_desktop_app_info_new ("epiphany.desktop"); + context = gdk_app_launch_context_new (); + g_app_info_launch (info, NULL, context, &error); + + if (error) + { + g_warning ("Failed to launch epiphany: %s", error->message); + g_error_free (error); + } + + g_object_unref (info); + g_object_unref (context); + + + If you are launching a custom commandline, you can + still use g_app_info_launch() with a GAppInfo that is constructed + with g_app_info_create_from_commandline(), or you can use the + more lowlevel g_spawn family of functions + (e.g. g_spawn_command_line_async()), and pass DISPLAY + in the environment. gdk_screen_make_display_name() can be + used to find the right value for the DISPLAY + environment variable. + + + +
+
Use cairo for drawing From 62cbc1acd44ea01e87ece0743db39e184dfa9411 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 11:39:58 -0500 Subject: [PATCH 0784/1463] continue to install gdk-$TARGET-3.0.pc --- Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.am b/Makefile.am index 48ad13ac7e..107985ab0f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -72,6 +72,7 @@ pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gdk-3.0.pc gtk+-3.0.pc gail-3.0.pc pkgconfig_DATA += $(patsubst %,gtk+-%-3.0.pc,@gdktarget@) +pkgconfig_DATA += $(patsubst %,gdk-%-3.0.pc,@gdktarget@) if OS_UNIX pkgconfig_DATA += gtk+-unix-print-3.0.pc From 064bfceaade2cc62904cf715e7168d9501b740f8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 21:12:04 -0500 Subject: [PATCH 0785/1463] Convert all gdk_window methods to vtable calls in the quartz backend --- gdk/quartz/gdkdnd-quartz.c | 4 +- gdk/quartz/gdkmain-quartz.c | 6 +- gdk/quartz/gdkprivate-quartz.h | 4 + gdk/quartz/gdkwindow-quartz.c | 271 +++++++++++++++++++-------------- 4 files changed, 167 insertions(+), 118 deletions(-) diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 4bab48cfc4..7c6116e613 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -191,8 +191,8 @@ gdk_drop_finish (GdkDragContext *context, /* FIXME: Implement */ } -void -gdk_window_register_dnd (GdkWindow *window) +void +_gdk_quartz_window_register_dnd (GdkWindow *window) { /* FIXME: Implement */ } diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c index 3dfe53ea7e..892498f9cc 100644 --- a/gdk/quartz/gdkmain-quartz.c +++ b/gdk/quartz/gdkmain-quartz.c @@ -73,9 +73,9 @@ gdk_notify_startup_complete_with_id (const gchar* startup_id) /* FIXME: Implement? */ } -void -gdk_window_set_startup_id (GdkWindow *window, - const gchar *startup_id) +void +_gdk_quartz_window_set_startup_id (GdkWindow *window, + const gchar *startup_id) { /* FIXME: Implement? */ } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 9a70054746..456d5cecd7 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -141,4 +141,8 @@ void _gdk_quartz_window_translate (GdkWindow *window, gboolean _gdk_quartz_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area); +void _gdk_quartz_window_set_startup_id (GdkWindow *window, + const gchar *startup_id); +void _gdk_quartz_window_register_dnd (GdkWindow *window); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index f1bcda2660..c8982c2f92 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1789,10 +1789,10 @@ gdk_window_quartz_get_root_coords (GdkWindow *window, return TRUE; } -void -gdk_window_get_root_origin (GdkWindow *window, - gint *x, - gint *y) +static void +gdk_quartz_window_get_root_origin (GdkWindow *window, + gint *x, + gint *y) { GdkRectangle rect; @@ -2000,9 +2000,9 @@ gdk_window_quartz_set_events (GdkWindow *window, /* The mask is set in the common code. */ } -void -gdk_window_set_urgency_hint (GdkWindow *window, - gboolean urgent) +static_void +gdk_quartz_window_set_urgency_hint (GdkWindow *window, + gboolean urgent) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) @@ -2011,10 +2011,10 @@ gdk_window_set_urgency_hint (GdkWindow *window, /* FIXME: Implement */ } -void -gdk_window_set_geometry_hints (GdkWindow *window, - const GdkGeometry *geometry, - GdkWindowHints geom_mask) +static void +gdk_quartz_window_set_geometry_hints (GdkWindow *window, + const GdkGeometry *geometry, + GdkWindowHints geom_mask) { GdkWindowImplQuartz *impl; @@ -2089,9 +2089,9 @@ gdk_window_set_geometry_hints (GdkWindow *window, } } -void -gdk_window_set_title (GdkWindow *window, - const gchar *title) +static void +gdk_quartz_window_set_title (GdkWindow *window, + const gchar *title) { GdkWindowImplQuartz *impl; @@ -2111,9 +2111,9 @@ gdk_window_set_title (GdkWindow *window, } } -void -gdk_window_set_role (GdkWindow *window, - const gchar *role) +static void +gdk_quartz_window_set_role (GdkWindow *window, + const gchar *role) { if (GDK_WINDOW_DESTROYED (window) || WINDOW_IS_TOPLEVEL (window)) @@ -2122,9 +2122,9 @@ gdk_window_set_role (GdkWindow *window, /* FIXME: Implement */ } -void -gdk_window_set_transient_for (GdkWindow *window, - GdkWindow *parent) +static void +gdk_quartz_window_set_transient_for (GdkWindow *window, + GdkWindow *parent) { GdkWindowImplQuartz *window_impl; GdkWindowImplQuartz *parent_impl; @@ -2193,16 +2193,16 @@ gdk_window_quartz_input_shape_combine_region (GdkWindow *window, /* FIXME: Implement */ } -void -gdk_window_set_override_redirect (GdkWindow *window, - gboolean override_redirect) +static void +gdk_quartz_window_set_override_redirect (GdkWindow *window, + gboolean override_redirect) { /* FIXME: Implement */ } -void -gdk_window_set_accept_focus (GdkWindow *window, - gboolean accept_focus) +static void +gdk_quartz_window_set_accept_focus (GdkWindow *window, + gboolean accept_focus) { window->accept_focus = accept_focus != FALSE; } @@ -2219,23 +2219,23 @@ gdk_window_quartz_set_static_gravities (GdkWindow *window, return FALSE; } -void -gdk_window_set_focus_on_map (GdkWindow *window, - gboolean focus_on_map) +static void +gdk_quartz_window_set_focus_on_map (GdkWindow *window, + gboolean focus_on_map) { window->focus_on_map = focus_on_map != FALSE; } -void -gdk_window_set_icon_name (GdkWindow *window, - const gchar *name) +static void +gdk_quartz_window_set_icon_name (GdkWindow *window, + const gchar *name) { /* FIXME: Implement */ } -void -gdk_window_focus (GdkWindow *window, - guint32 timestamp) +static void +gdk_quartz_window_focus (GdkWindow *window, + guint32 timestamp) { GdkWindowImplQuartz *impl; @@ -2321,9 +2321,9 @@ window_type_hint_to_shadow (GdkWindowTypeHint hint) } -void -gdk_window_set_type_hint (GdkWindow *window, - GdkWindowTypeHint hint) +static void +gdk_quartz_window_set_type_hint (GdkWindow *window, + GdkWindowTypeHint hint) { GdkWindowImplQuartz *impl; @@ -2343,8 +2343,8 @@ gdk_window_set_type_hint (GdkWindow *window, [impl->toplevel setLevel: window_type_hint_to_level (hint)]; } -GdkWindowTypeHint -gdk_window_get_type_hint (GdkWindow *window) +static GdkWindowTypeHint +gdk_quartz_window_get_type_hint (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) @@ -2353,9 +2353,9 @@ gdk_window_get_type_hint (GdkWindow *window) return GDK_WINDOW_IMPL_QUARTZ (window->impl)->type_hint; } -void -gdk_window_set_modal_hint (GdkWindow *window, - gboolean modal) +static void +gdk_quartz_window_set_modal_hint (GdkWindow *window, + gboolean modal) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) @@ -2364,9 +2364,9 @@ gdk_window_set_modal_hint (GdkWindow *window, /* FIXME: Implement */ } -void -gdk_window_set_skip_taskbar_hint (GdkWindow *window, - gboolean skips_taskbar) +static void +gdk_quartz_window_set_skip_taskbar_hint (GdkWindow *window, + gboolean skips_taskbar) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) @@ -2375,9 +2375,9 @@ gdk_window_set_skip_taskbar_hint (GdkWindow *window, /* FIXME: Implement */ } -void -gdk_window_set_skip_pager_hint (GdkWindow *window, - gboolean skips_pager) +static void +gdk_quartz_window_set_skip_pager_hint (GdkWindow *window, + gboolean skips_pager) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) @@ -2386,13 +2386,13 @@ gdk_window_set_skip_pager_hint (GdkWindow *window, /* FIXME: Implement */ } -void -gdk_window_begin_resize_drag (GdkWindow *window, - GdkWindowEdge edge, - gint button, - gint root_x, - gint root_y, - guint32 timestamp) +static void +gdk_quartz_window_begin_resize_drag (GdkWindow *window, + GdkWindowEdge edge, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) { GdkWindowImplQuartz *impl; @@ -2418,12 +2418,12 @@ gdk_window_begin_resize_drag (GdkWindow *window, [(GdkQuartzWindow *)impl->toplevel beginManualResize]; } -void -gdk_window_begin_move_drag (GdkWindow *window, - gint button, - gint root_x, - gint root_y, - guint32 timestamp) +static void +gdk_quartz_window_begin_move_drag (GdkWindow *window, + gint button, + gint root_x, + gint root_y, + guint32 timestamp) { GdkWindowImplQuartz *impl; @@ -2442,16 +2442,16 @@ gdk_window_begin_move_drag (GdkWindow *window, [(GdkQuartzWindow *)impl->toplevel beginManualMove]; } -void -gdk_window_set_icon_list (GdkWindow *window, - GList *pixbufs) +static void +gdk_quartz_window_set_icon_list (GdkWindow *window, + GList *pixbufs) { /* FIXME: Implement */ } -void -gdk_window_get_frame_extents (GdkWindow *window, - GdkRectangle *rect) +static void +gdk_quartz_window_get_frame_extents (GdkWindow *window, + GdkRectangle *rect) { GdkWindow *toplevel; GdkWindowImplQuartz *impl; @@ -2478,9 +2478,9 @@ gdk_window_get_frame_extents (GdkWindow *window, rect->height = ns_rect.size.height; } -void -gdk_window_set_decorations (GdkWindow *window, - GdkWMDecoration decorations) +static void +gdk_quartz_window_set_decorations (GdkWindow *window, + GdkWMDecoration decorations) { GdkWindowImplQuartz *impl; NSUInteger old_mask, new_mask; @@ -2556,9 +2556,9 @@ gdk_window_set_decorations (GdkWindow *window, GDK_QUARTZ_RELEASE_POOL; } -gboolean -gdk_window_get_decorations (GdkWindow *window, - GdkWMDecoration *decorations) +static gboolean +gdk_quartz_window_get_decorations (GdkWindow *window, + GdkWMDecoration *decorations) { GdkWindowImplQuartz *impl; @@ -2585,9 +2585,9 @@ gdk_window_get_decorations (GdkWindow *window, return TRUE; } -void -gdk_window_set_functions (GdkWindow *window, - GdkWMFunction functions) +static void +gdk_quartz_window_set_functions (GdkWindow *window, + GdkWMFunction functions) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2601,24 +2601,24 @@ _gdk_windowing_window_queue_antiexpose (GdkWindow *window, return FALSE; } -void -gdk_window_stick (GdkWindow *window) +static_void +gdk_quartz_window_stick (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) return; } -void -gdk_window_unstick (GdkWindow *window) +static void +gdk_quartz_window_unstick (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || !WINDOW_IS_TOPLEVEL (window)) return; } -void -gdk_window_maximize (GdkWindow *window) +static void +gdk_quartz_window_maximize (GdkWindow *window) { GdkWindowImplQuartz *impl; @@ -2645,8 +2645,8 @@ gdk_window_maximize (GdkWindow *window) } } -void -gdk_window_unmaximize (GdkWindow *window) +static void +gdk_quartz_window_unmaximize (GdkWindow *window) { GdkWindowImplQuartz *impl; @@ -2673,8 +2673,8 @@ gdk_window_unmaximize (GdkWindow *window) } } -void -gdk_window_iconify (GdkWindow *window) +static void +gdk_quartz_window_iconify (GdkWindow *window) { GdkWindowImplQuartz *impl; @@ -2701,8 +2701,8 @@ gdk_window_iconify (GdkWindow *window) } } -void -gdk_window_deiconify (GdkWindow *window) +static void +gdk_quartz_window_deiconify (GdkWindow *window) { GdkWindowImplQuartz *impl; @@ -2735,8 +2735,8 @@ get_fullscreen_geometry (GdkWindow *window) return g_object_get_data (G_OBJECT (window), FULLSCREEN_DATA); } -void -gdk_window_fullscreen (GdkWindow *window) +static void +gdk_quartz_window_fullscreen (GdkWindow *window) { FullscreenSavedGeometry *geometry; NSRect frame; @@ -2775,8 +2775,8 @@ gdk_window_fullscreen (GdkWindow *window) gdk_synthesize_window_state (window, 0, GDK_WINDOW_STATE_FULLSCREEN); } -void -gdk_window_unfullscreen (GdkWindow *window) +static void +gdk_quarz_window_unfullscreen (GdkWindow *window) { FullscreenSavedGeometry *geometry; @@ -2803,8 +2803,9 @@ gdk_window_unfullscreen (GdkWindow *window) } } -void -gdk_window_set_keep_above (GdkWindow *window, gboolean setting) +static void +gdk_quartz_window_set_keep_above (GdkWindow *window, + gboolean setting) { GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); gint level; @@ -2821,8 +2822,9 @@ gdk_window_set_keep_above (GdkWindow *window, gboolean setting) [impl->toplevel setLevel: level + (setting ? 1 : 0)]; } -void -gdk_window_set_keep_below (GdkWindow *window, gboolean setting) +static void +gdk_quartz_window_set_keep_below (GdkWindow *window, + gboolean setting) { GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); gint level; @@ -2839,8 +2841,8 @@ gdk_window_set_keep_below (GdkWindow *window, gboolean setting) [impl->toplevel setLevel: level - (setting ? 1 : 0)]; } -GdkWindow * -gdk_window_get_group (GdkWindow *window) +static GdkWindow * +gdk_quartz_window_get_group (GdkWindow *window) { g_return_val_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD, NULL); @@ -2853,9 +2855,9 @@ gdk_window_get_group (GdkWindow *window) return NULL; } -void -gdk_window_set_group (GdkWindow *window, - GdkWindow *leader) +static void +gdk_quartz_window_set_group (GdkWindow *window, + GdkWindow *leader) { /* FIXME: Implement */ } @@ -2875,25 +2877,25 @@ gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid) return NULL; } -void -gdk_window_enable_synchronized_configure (GdkWindow *window) +static void +gdk_quartz_window_enable_synchronized_configure (GdkWindow *window) { } -void -gdk_window_configure_finished (GdkWindow *window) +static void +gdk_quartz_window_configure_finished (GdkWindow *window) { } -void -gdk_window_destroy_notify (GdkWindow *window) +static void +gdk_quartz_window_destroy_notify (GdkWindow *window) { check_grab_destroy (window); } -void -gdk_window_set_opacity (GdkWindow *window, - gdouble opacity) +static void +gdk_quartz_window_set_opacity (GdkWindow *window, + gdouble opacity) { GdkWindowImplQuartz *impl = GDK_WINDOW_IMPL_QUARTZ (window->impl); @@ -3074,8 +3076,51 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) root_window_parent_class = g_type_class_peek_parent (klass); - window_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; - window_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; + drawable_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; + drawable_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; + + impl_class->focus = gdk_quartz_window_focus; + impl_class->set_type_hint = gdk_quartz_window_set_type_hint; + impl_class->get_type_hint = gdk_quartz_window_get_type_hint; + impl_class->set_modal_hint = gdk_quartz_window_set_modal_hint; + impl_class->set_skip_taskbar_hint = gdk_quartz_window_set_skip_taskbar_hint; + impl_class->set_skip_pager_hint = gdk_quartz_window_set_skip_pager_hint; + impl_class->set_urgency_hint = gdk_quartz_window_set_urgency_hint; + impl_class->set_geometry_hints = gdk_quartz_window_set_geometry_hints; + impl_class->set_title = gdk_quartz_window_set_title; + impl_class->set_role = gdk_quartz_window_set_role; + impl_class->set_startup_id = _gdk_quartz_window_set_startup_id; + impl_class->set_transient_for = gdk_quartz_window_set_transient_for; + impl_class->get_root_origin = gdk_quartz_window_get_root_origin; + impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents; + impl_class->set_override_redirect = gdk_quartz_window_set_override_redirect; + impl_class->set_accept_focus = gdk_quartz_window_set_accept_focus; + impl_class->set_focus_on_map = gdk_quartz_window_set_focus_on_map; + impl_class->set_icon_list = gdk_quartz_window_set_icon_list; + impl_class->set_icon_name = gdk_quartz_window_set_icon_name; + impl_class->iconify = gdk_quartz_window_iconify; + impl_class->deiconify = gdk_quartz_window_deiconify; + impl_class->stick = gdk_quartz_window_stick; + impl_class->unstick = gdk_quartz_window_unstick; + impl_class->maximize = gdk_quartz_window_maximize; + impl_class->unmaximize = gdk_quartz_window_unmaximize; + impl_class->fullscreen = gdk_quartz_window_fullscreen; + impl_class->unfullscreen = gdk_quartz_window_unfullscreen; + impl_class->set_keep_above = gdk_quartz_window_set_keep_above; + impl_class->set_keep_below = gdk_quartz_window_set_keep_below; + impl_class->get_group = gdk_quartz_window_get_group; + impl_class->set_group = gdk_quartz_window_set_group; + impl_class->set_decorations = gdk_quartz_window_set_decorations; + impl_class->get_decorations = gdk_quartz_window_get_decorations; + impl_class->set_functions = gdk_quartz_window_set_functions; + impl_class->set_functions = gdk_quartz_window_set_functions; + impl_class->begin_resize_drag = gdk_quartz_window_begin_resize_drag; + impl_class->begin_move_drag = gdk_quartz_window_begin_move_drag; + impl_class->enable_synchronized_configure = gdk_quartz_window_enable_synchronized_configure; + impl_class->configure_finished = gdk_quartz_window_configure_finished; + impl_class->set_opacity = gdk_quartz_window_set_opacity; + impl_class->destroy_notify = gdk_quartz_window_destroy_notify; + impl_class->register_dnd = _gdk_quartz_window_register_dnd; } static void From acd99409b879c33a193b6c4f69e3746ffb4d7b52 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 21:13:02 -0500 Subject: [PATCH 0786/1463] Make display method vtable calls, quartz backend --- gdk/quartz/gdkdisplay-quartz.c | 108 +++++++++++++++++++++++---------- gdk/quartz/gdkevents-quartz.c | 18 +++--- gdk/quartz/gdkinput.c | 8 +-- gdk/quartz/gdkprivate-quartz.h | 13 ++++ 4 files changed, 99 insertions(+), 48 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 556f84eee5..51a74ef2bc 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -21,12 +21,14 @@ #include "config.h" #include "gdk.h" +#include "gdkdisplay-quartz.h" #include "gdkprivate-quartz.h" #include "gdkscreen-quartz.h" #include "gdkdevicemanager-core.h" -GdkWindow * -gdk_display_get_default_group (GdkDisplay *display) + +static GdkWindow * +gdk_quartz_display_get_default_group (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); @@ -82,8 +84,8 @@ gdk_display_open (const gchar *display_name) return _gdk_display; } -G_CONST_RETURN gchar * -gdk_display_get_name (GdkDisplay *display) +static const gchar * +gdk_quartz_display_get_name (GdkDisplay *display) { static gchar *display_name = NULL; @@ -97,17 +99,17 @@ gdk_display_get_name (GdkDisplay *display) return display_name; } -int -gdk_display_get_n_screens (GdkDisplay *display) +static gint +gdk_quartz_display_get_n_screens (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); return 1; } -GdkScreen * -gdk_display_get_screen (GdkDisplay *display, - gint screen_num) +static GdkScreen * +gdk_quartz_display_get_screen (GdkDisplay *display, + gint screen_num) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (screen_num == 0, NULL); @@ -115,22 +117,22 @@ gdk_display_get_screen (GdkDisplay *display, return _gdk_screen; } -GdkScreen * -gdk_display_get_default_screen (GdkDisplay *display) +static GdkScreen * +gdk_quartz_display_get_default_screen (GdkDisplay *display) { return _gdk_screen; } -void -gdk_display_beep (GdkDisplay *display) +static void +gdk_quartz_display_beep (GdkDisplay *display) { g_return_if_fail (GDK_IS_DISPLAY (display)); NSBeep(); } -gboolean -gdk_display_supports_selection_notification (GdkDisplay *display) +static gboolean +gdk_quartz_display_supports_selection_notification (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); @@ -138,49 +140,49 @@ gdk_display_supports_selection_notification (GdkDisplay *display) return FALSE; } -gboolean -gdk_display_request_selection_notification (GdkDisplay *display, - GdkAtom selection) +static gboolean +gdk_quartz_display_request_selection_notification (GdkDisplay *display, + GdkAtom selection) { /* FIXME: Implement */ return FALSE; } -gboolean -gdk_display_supports_clipboard_persistence (GdkDisplay *display) +static gboolean +gdk_quartz_display_supports_clipboard_persistence (GdkDisplay *display) { /* FIXME: Implement */ return FALSE; } -gboolean -gdk_display_supports_shapes (GdkDisplay *display) +static gboolean +gdk_quartz_display_supports_shapes (GdkDisplay *display) { /* FIXME: Implement */ return FALSE; } -gboolean -gdk_display_supports_input_shapes (GdkDisplay *display) +static gboolean +gdk_quartz_display_supports_input_shapes (GdkDisplay *display) { /* FIXME: Implement */ return FALSE; } -void -gdk_display_store_clipboard (GdkDisplay *display, - GdkWindow *clipboard_window, - guint32 time_, - const GdkAtom *targets, - gint n_targets) +static void +gdk_quartz_display_store_clipboard (GdkDisplay *display, + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets) { /* FIXME: Implement */ } -gboolean -gdk_display_supports_composite (GdkDisplay *display) +static gboolean +gdk_quartz_display_supports_composite (GdkDisplay *display) { /* FIXME: Implement */ return FALSE; @@ -191,3 +193,45 @@ _gdk_windowing_window_get_next_serial (GdkDisplay *display) { return 0; } + +G_DEFINE_TYPE (GdkDisplayQuartz, _gdk_display_quartz, GDK_TYPE_DISPLAY) + +static void +_gdk_display_quartz_init (GdkDisplayQuartz *display) +{ +} + +static void +_gdk_display_quartz_finalize (GObject *object) +{ + G_OBJECT_CLASS (_gdk_display_quartz_parent_class)->finalize (object); +} + +static void +_gdk_display_quartz_class_init (GdkDisplayQuartz *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); + + object_class->finalize = _gdk_display_quartz_finalize; + + display_class->get_name = gdk_quartz_display_get_name; + display_class->get_n_screens = gdk_quartz_display_get_n_screens; + display_class->get_screen = gdk_quartz_display_get_screen; + display_class->get_default_screen = gdk_quartz_display_get_default_screen; + display_class->beep = gdk_quartz_display_beep; + display_class->sync = _gdk_quartz_display_sync; + display_class->flush = _gdk_quartz_display_flush; + display_class->get_default_group = gdk_quartz_display_get_default_group; + display_class->supports_selection_notification = gdk_quartz_display_supports_selection_notification; + display_class->request_selection_notification = gdk_quartz_display_request_selection_notification; + display_class->supports_clipboard_persistence = gdk_quartz_display_supports_clipboard_persistence; + display_class->store_clipboard = gdk_quartz_display_store_clipboard; + display_class->supports_shapes = gdk_quartz_display_supports_shapes; + display_class->supports_input_shapes = gdk_quartz_display_supports_input_shapes; + display_class->supports_composite = gdk_quartz_display_supports_composite; + display_class->list_devices = _gdk_quartz_display_list_devices; + display_class->send_client_message = _gdk_quartz_display_send_client_message; + display_class->add_client_message_filter = _gdk_quartz_display_add_client_message_filter; + +} diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 2520d4fa25..0d940796ca 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1385,30 +1385,30 @@ gdk_flush (void) } void -gdk_display_add_client_message_filter (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data) +_gdk_quartz_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data) { /* Not supported. */ } void -gdk_display_sync (GdkDisplay *display) +_gdk_quartz_display_sync (GdkDisplay *display) { /* Not supported. */ } void -gdk_display_flush (GdkDisplay *display) +_gdk_quartz_display_flush (GdkDisplay *display) { /* Not supported. */ } gboolean -gdk_event_send_client_message_for_display (GdkDisplay *display, - GdkEvent *event, - GdkNativeWindow winid) +_gdk_quartz_display_send_client_message (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid) { /* Not supported. */ return FALSE; diff --git a/gdk/quartz/gdkinput.c b/gdk/quartz/gdkinput.c index 3677d8a4c3..bbd9291201 100644 --- a/gdk/quartz/gdkinput.c +++ b/gdk/quartz/gdkinput.c @@ -49,13 +49,7 @@ GList *_gdk_input_devices; GList * -gdk_devices_list (void) -{ - return _gdk_input_devices; -} - -GList * -gdk_display_list_devices (GdkDisplay *dpy) +_gdk_quartz_display_list_devices (GdkDisplay *dpy) { return _gdk_input_devices; } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 456d5cecd7..01c6992434 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -145,4 +145,17 @@ void _gdk_quartz_window_set_startup_id (GdkWindow *window, const gchar *startup_id); void _gdk_quartz_window_register_dnd (GdkWindow *window); +void _gdk_quartz_display_sync (GdkDisplay *display); +void _gdk_quartz_display_flush (GdkDisplay *display); +GList * _gdk_quartz_display_list_devices (GdkDisplay *dpy); + +gboolean _gdk_quartz_display_send_client_message (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid); +void _gdk_quartz_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data); + + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ From f43f259d4935eec00a35041e8f07580e20f284b5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 09:38:26 -0500 Subject: [PATCH 0787/1463] Derive GdkKeymap for Quartz --- gdk/quartz/gdkkeys-quartz.c | 126 +++++++++++++++++++++--------------- 1 file changed, 74 insertions(+), 52 deletions(-) diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index a077bfa225..aa2f36a3d7 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -61,6 +61,12 @@ static GdkKeymap *default_keymap = NULL; +typedef struct _GdkKeymapQuartz GdkKeymapQuartz; +typedef struct _GdkKeymapQuartzClass GdkKeymapQuartzClass; + +G_DEFINE_TYPE (GdkKeyMapQuartz, _gdk_keymap_quartz, GDK_TYPE_KEYMAP) + + /* Note: we could check only if building against the 10.5 SDK instead, but * that would make non-xml layouts not work in 32-bit which would be a quite * bad regression. This way, old unsupported layouts will just not work in @@ -431,47 +437,42 @@ gdk_keymap_get_for_display (GdkDisplay *display) return default_keymap; } -PangoDirection -gdk_keymap_get_direction (GdkKeymap *keymap) +static PangoDirection +gdk_quartz_keymap_get_direction (GdkKeymap *keymap) { return PANGO_DIRECTION_NEUTRAL; } -gboolean -gdk_keymap_have_bidi_layouts (GdkKeymap *keymap) +static gboolean +gdk_quartz_keymap_have_bidi_layouts (GdkKeymap *keymap) { /* FIXME: Can we implement this? */ return FALSE; } -gboolean -gdk_keymap_get_caps_lock_state (GdkKeymap *keymap) +static gboolean +gdk_quartz_keymap_get_caps_lock_state (GdkKeymap *keymap) { /* FIXME: Implement this. */ return FALSE; } -gboolean -gdk_keymap_get_num_lock_state (GdkKeymap *keymap) +static gboolean +gdk_quartz_keymap_get_num_lock_state (GdkKeymap *keymap) { /* FIXME: Implement this. */ return FALSE; } -gboolean -gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, - guint keyval, - GdkKeymapKey **keys, - gint *n_keys) +static gboolean +gdk_quartz_keymap_get_entries_for_keyval (GdkKeymap *keymap, + guint keyval, + GdkKeymapKey **keys, + gint *n_keys) { GArray *keys_array; int i; - g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE); - g_return_val_if_fail (keys != NULL, FALSE); - g_return_val_if_fail (n_keys != NULL, FALSE); - g_return_val_if_fail (keyval != 0, FALSE); - maybe_update_keymap (); *n_keys = 0; @@ -498,20 +499,17 @@ gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, return *n_keys > 0;; } -gboolean -gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, - guint hardware_keycode, - GdkKeymapKey **keys, - guint **keyvals, - gint *n_entries) +static gboolean +gdk_quartz_keymap_get_entries_for_keycode (GdkKeymap *keymap, + guint hardware_keycode, + GdkKeymapKey **keys, + guint **keyvals, + gint *n_entries) { GArray *keys_array, *keyvals_array; int i; guint *p; - g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE); - g_return_val_if_fail (n_entries != NULL, FALSE); - maybe_update_keymap (); *n_entries = 0; @@ -562,14 +560,10 @@ gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, return *n_entries > 0; } -guint -gdk_keymap_lookup_key (GdkKeymap *keymap, - const GdkKeymapKey *key) +static guint +gdk_quartz_keymap_lookup_key (GdkKeymap *keymap, + const GdkKeymapKey *key) { - g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), 0); - g_return_val_if_fail (key != NULL, 0); - g_return_val_if_fail (key->group < 4, 0); - /* FIXME: Implement */ return 0; @@ -609,23 +603,20 @@ translate_keysym (guint hardware_keycode, return tmp_keyval; } -gboolean -gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, - guint hardware_keycode, - GdkModifierType state, - gint group, - guint *keyval, - gint *effective_group, - gint *level, - GdkModifierType *consumed_modifiers) +static gboolean +gdk_quartz_keymap_translate_keyboard_state (GdkKeymap *keymap, + guint hardware_keycode, + GdkModifierType state, + gint group, + guint *keyval, + gint *effective_group, + gint *level, + GdkModifierType *consumed_modifiers) { guint tmp_keyval; GdkModifierType bit; guint tmp_modifiers = 0; - g_return_val_if_fail (keymap == NULL || GDK_IS_KEYMAP (keymap), FALSE); - g_return_val_if_fail (group >= 0 && group <= 1, FALSE); - maybe_update_keymap (); if (keyval) @@ -659,16 +650,16 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, return TRUE; } -void -gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap, - GdkModifierType *state) +static void +gdk_quartz_keymap_add_virtual_modifiers (GdkKeymap *keymap, + GdkModifierType *state) { /* FIXME: For now, we've mimiced the Windows backend. */ } -gboolean -gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, - GdkModifierType *state) +static gboolean +gdk_quartz_keymap_map_virtual_modifiers (GdkKeymap *keymap, + GdkModifierType *state) { /* FIXME: For now, we've mimiced the Windows backend. */ return TRUE; @@ -733,3 +724,34 @@ _gdk_quartz_keys_is_modifier (guint keycode) return FALSE; } + +static void +_gdk_keymap_quartz_init (GdkKeymapQuartz *keymap) +{ +} + +static void +_gdk_keymap_quartz_finalize (GObject *object) +{ + G_OBJECT_CLASS (_gdk_keymap_quartz_parent_class)->finalize (object); +} + +static void +_gdk_keymap_quartz_class_init (GdkKeymapQuartzClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkKeymapClass *keymap_class = GDK_KEYMAP_CLASS (klass); + + object_class->finalize = gdk_keymap_quartz_finalize; + + keymap_class->get_direction = gdk_quartz_keymap_get_direction; + keymap_class->have_bidi_layouts = gdk_quartz_keymap_have_bidi_layouts; + keymap_class->get_caps_lock_state = gdk_quartz_keymap_get_caps_lock_state; + keymap_class->get_num_lock_state = gdk_quartz_keymap_get_num_lock_state; + keymap_class->get_entries_for_keyval = gdk_quartz_keymap_get_entries_for_keyval; + keymap_class->get_entries_for_keycode = gdk_quartz_keymap_get_entries_for_keycode; + keymap_class->lookup_key = gdk_quartz_keymap_lookup_key; + keymap_class->translate_keyboard_state = gdk_quartz_keymap_translate_keyboard_state; + keymap_class->add_virtual_modifiers = gdk_quartz_keymap_add_virtual_modifiers; + keymap_class->map_virtual_modifiers = gdk_quartz_keymap_map_virtual_modifiers; +} From 41352f24d696d755745733547e8ed1e72a29a5d7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 09:50:21 -0500 Subject: [PATCH 0788/1463] Convert all GdkScreen methods to vtable calls, quartz backend --- gdk/quartz/gdkevents-quartz.c | 10 +-- gdk/quartz/gdkprivate-quartz.h | 7 ++ gdk/quartz/gdkscreen-quartz.c | 154 +++++++++++++++------------------ gdk/quartz/gdkvisual-quartz.c | 4 +- 4 files changed, 83 insertions(+), 92 deletions(-) diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 0d940796ca..48577e22b9 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1415,16 +1415,16 @@ _gdk_quartz_display_send_client_message (GdkDisplay *display, } void -gdk_screen_broadcast_client_message (GdkScreen *screen, - GdkEvent *event) +_gdk_quartz_screen_broadcast_client_message (GdkScreen *screen, + GdkEvent *event) { /* Not supported. */ } gboolean -gdk_screen_get_setting (GdkScreen *screen, - const gchar *name, - GValue *value) +_gdk_quartz_screen_get_setting (GdkScreen *screen, + const gchar *name, + GValue *value) { if (strcmp (name, "gtk-double-click-time") == 0) { diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 01c6992434..1db014e8f6 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -157,5 +157,12 @@ void _gdk_quartz_display_add_client_message_filter (GdkDisplay *disp GdkFilterFunc func, gpointer data); +GdkVisual * _gdk_quartz_screen_get_rgba_visual (GdkScreen *screen); +void _gdk_quartz_screen_broadcast_client_message (GdkScreen *screen, + GdkEvent *event); +gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, + const gchar *name, + GValue *value); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c index d90366e91d..83e71e1954 100644 --- a/gdk/quartz/gdkscreen-quartz.c +++ b/gdk/quartz/gdkscreen-quartz.c @@ -69,15 +69,6 @@ static void display_reconfiguration_callback (CGDirectDisplayID displ G_DEFINE_TYPE (GdkScreenQuartz, _gdk_screen_quartz, GDK_TYPE_SCREEN); -static void -_gdk_screen_quartz_class_init (GdkScreenQuartzClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->dispose = gdk_screen_quartz_dispose; - object_class->finalize = gdk_screen_quartz_finalize; -} - static void _gdk_screen_quartz_init (GdkScreenQuartz *screen_quartz) { @@ -269,28 +260,22 @@ _gdk_screen_quartz_new (void) return g_object_new (GDK_TYPE_SCREEN_QUARTZ, NULL); } -GdkDisplay * -gdk_screen_get_display (GdkScreen *screen) +static GdkDisplay * +gdk_quartz_screen_get_display (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return _gdk_display; } -GdkWindow * -gdk_screen_get_root_window (GdkScreen *screen) +static GdkWindow * +gdk_quartz_screen_get_root_window (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return _gdk_root; } -gint -gdk_screen_get_number (GdkScreen *screen) +static gint +gdk_quartz_screen_get_number (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return 0; } @@ -304,19 +289,15 @@ _gdk_windowing_substitute_screen_number (const gchar *display_name, return g_strdup (display_name); } -gint -gdk_screen_get_width (GdkScreen *screen) +static gint +gdk_quartz_screen_get_width (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return GDK_SCREEN_QUARTZ (screen)->width; } -gint -gdk_screen_get_height (GdkScreen *screen) +static gint +gdk_quartz_screen_get_height (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return GDK_SCREEN_QUARTZ (screen)->height; } @@ -352,110 +333,115 @@ get_nsscreen_for_monitor (gint monitor_num) return screen; } -gint -gdk_screen_get_width_mm (GdkScreen *screen) +static gint +gdk_quartz_screen_get_width_mm (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return get_mm_from_pixels (get_nsscreen_for_monitor (0), GDK_SCREEN_QUARTZ (screen)->width); } -gint -gdk_screen_get_height_mm (GdkScreen *screen) +static gint +gdk_quartz_screen_get_height_mm (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return get_mm_from_pixels (get_nsscreen_for_monitor (0), GDK_SCREEN_QUARTZ (screen)->height); } -gint -gdk_screen_get_n_monitors (GdkScreen *screen) +static gint +gdk_quartz_screen_get_n_monitors (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return GDK_SCREEN_QUARTZ (screen)->n_screens; } -gint -gdk_screen_get_primary_monitor (GdkScreen *screen) +static gint +gdk_quartz_screen_get_primary_monitor (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - return 0; } -gint -gdk_screen_get_monitor_width_mm (GdkScreen *screen, - gint monitor_num) +static gint +gdk_quartz_screen_get_monitor_width_mm (GdkScreen *screen, + gint monitor_num) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - g_return_val_if_fail (monitor_num < gdk_screen_get_n_monitors (screen), 0); - g_return_val_if_fail (monitor_num >= 0, 0); - return get_mm_from_pixels (get_nsscreen_for_monitor (monitor_num), GDK_SCREEN_QUARTZ (screen)->screen_rects[monitor_num].width); } -gint -gdk_screen_get_monitor_height_mm (GdkScreen *screen, - gint monitor_num) +static gint +gdk_quartz_screen_get_monitor_height_mm (GdkScreen *screen, + gint monitor_num) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), 0); - g_return_val_if_fail (monitor_num < gdk_screen_get_n_monitors (screen), 0); - g_return_val_if_fail (monitor_num >= 0, 0); - return get_mm_from_pixels (get_nsscreen_for_monitor (monitor_num), GDK_SCREEN_QUARTZ (screen)->screen_rects[monitor_num].height); } -gchar * -gdk_screen_get_monitor_plug_name (GdkScreen *screen, - gint monitor_num) +static gchar * +gdk_quartz_screen_get_monitor_plug_name (GdkScreen *screen, + gint monitor_num) { /* FIXME: Is there some useful name we could use here? */ return NULL; } -void -gdk_screen_get_monitor_geometry (GdkScreen *screen, - gint monitor_num, - GdkRectangle *dest) +static void +gdk_quartz_screen_get_monitor_geometry (GdkScreen *screen, + gint monitor_num, + GdkRectangle *dest) { - g_return_if_fail (GDK_IS_SCREEN (screen)); - g_return_if_fail (monitor_num < gdk_screen_get_n_monitors (screen)); - g_return_if_fail (monitor_num >= 0); - *dest = GDK_SCREEN_QUARTZ (screen)->screen_rects[monitor_num]; } -gchar * -gdk_screen_make_display_name (GdkScreen *screen) +static gchar * +gdk_quartz_screen_make_display_name (GdkScreen *screen) { return g_strdup (gdk_display_get_name (_gdk_display)); } -GdkWindow * -gdk_screen_get_active_window (GdkScreen *screen) +static GdkWindow * +gdk_quartz_screen_get_active_window (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return NULL; } -GList * -gdk_screen_get_window_stack (GdkScreen *screen) +static GList * +gdk_quartz_screen_get_window_stack (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return NULL; } -gboolean -gdk_screen_is_composited (GdkScreen *screen) +static gboolean +gdk_quartz_screen_is_composited (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - return TRUE; } + +static void +_gdk_screen_quartz_class_init (GdkScreenQuartzClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); + + object_class->dispose = gdk_screen_quartz_dispose; + object_class->finalize = gdk_screen_quartz_finalize; + + screen_class->get_display = gdk_screen_quartz_get_display; + screen_class->get_width = gdk_screen_quartz_get_width; + screen_class->get_height = gdk_screen_quartz_get_height; + screen_class->get_width_mm = gdk_screen_quartz_get_width_mm; + screen_class->get_height_mm = gdk_screen_quartz_get_height_mm; + screen_class->get_number = gdk_screen_quartz_get_number; + screen_class->get_root_window = gdk_screen_quartz_get_root_window; + screen_class->get_n_monitors = gdk_screen_quartz_get_n_monitors; + screen_class->get_primary_monitor = gdk_screen_quartz_get_primary_monitor; + screen_class->get_monitor_width_mm = gdk_screen_quartz_get_monitor_width_mm; + screen_class->get_monitor_height_mm = gdk_screen_quartz_get_monitor_height_mm; + screen_class->get_monitor_plug_name = gdk_screen_quartz_get_monitor_plug_name; + screen_class->get_monitor_geometry = gdk_screen_quartz_get_monitor_geometry; + screen_class->get_rgba_visual = _gdk_screen_quartz_get_rgba_visual; + screen_class->is_composited = gdk_screen_quartz_is_composited; + screen_class->make_display_name = gdk_screen_quartz_make_display_name; + screen_class->get_active_window = gdk_screen_quartz_get_active_window; + screen_class->get_window_stack = gdk_screen_quartz_get_window_stack; + screen_class->broadcast_client_message = _gdk_screen_quartz_broadcast_client_message; + screen_class->get_setting = _gdk_screen_quartz_get_setting; +} diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index 917e5abcaf..fca92b1be5 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -152,10 +152,8 @@ gdk_visual_get_best_type (void) } GdkVisual * -gdk_screen_get_rgba_visual (GdkScreen *screen) +_gdk_quartz_screen_get_rgba_visual (GdkScreen *screen) { - g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); - return rgba_visual; } From d2ce9ec3dc249184d217b495a82cd6ff403a58b3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 10:17:04 -0500 Subject: [PATCH 0789/1463] Convert a bunch of visual related calls to use the screen vtable, quartz --- gdk/quartz/gdkprivate-quartz.h | 23 ++++++++- gdk/quartz/gdkscreen-quartz.c | 92 +++++++++++++++++++--------------- gdk/quartz/gdkvisual-quartz.c | 31 +++++++----- 3 files changed, 91 insertions(+), 55 deletions(-) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 1db014e8f6..9806829063 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -157,7 +157,28 @@ void _gdk_quartz_display_add_client_message_filter (GdkDisplay *disp GdkFilterFunc func, gpointer data); -GdkVisual * _gdk_quartz_screen_get_rgba_visual (GdkScreen *screen); +GdkVisual * _gdk_quartz_screen_get_rgba_visual (GdkScreen *screen); +GdkVisual * _gdk_quartz_screen_get_system_visual (GdkScreen *screen); +gint _gdk_quartz_screen_visual_get_best_depth (GdkScreen *screen); +GdkVisualType _gdk_quartz_screen_visual_get_best_type (GdkScreen *screen); +GdkVisual * _gdk_quartz_screen_get_system_visual (GdkScreen *screen); +GdkVisual* _gdk_quartz_screen_visual_get_best (GdkScreen *screen); +GdkVisual* _gdk_quartz_screen_visual_get_best_with_depth (GdkScreen *screen, + gint depth); +GdkVisual* _gdk_quartz_screen_visual_get_best_with_type (GdkScreen *screen, + GdkVisualType visual_type); +GdkVisual* _gdk_quartz_screen_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type); +void _gdk_quartz_screen_query_depths (GdkScreen *screen, + gint **depths, + gint *count); +void _gdk_quartz_screen_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count); +GList * _gdk_quartz_screen_list_visuals (GdkScreen *screen); + + void _gdk_quartz_screen_broadcast_client_message (GdkScreen *screen, GdkEvent *event); gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c index 83e71e1954..ca305165d1 100644 --- a/gdk/quartz/gdkscreen-quartz.c +++ b/gdk/quartz/gdkscreen-quartz.c @@ -48,7 +48,7 @@ * all monitors in the root window. Once that size is known, we iterate * over the monitors and translate their Cocoa position to a position * in the root window of the GdkScreen. This happens below in the - * function gdk_screen_quartz_calculate_layout(). + * function gdk_quartz_screen_calculate_layout(). * * A Cocoa coordinate is always relative to the origin of the monitor * coordinate space. Such coordinates are mapped to their respective @@ -59,36 +59,36 @@ * but GDK coordinates can *not*! */ -static void gdk_screen_quartz_dispose (GObject *object); -static void gdk_screen_quartz_finalize (GObject *object); -static void gdk_screen_quartz_calculate_layout (GdkScreenQuartz *screen); +static void gdk_quartz_screen_dispose (GObject *object); +static void gdk_quartz_screen_finalize (GObject *object); +static void gdk_quartz_screen_calculate_layout (GdkScreenQuartz *screen); static void display_reconfiguration_callback (CGDirectDisplayID display, CGDisplayChangeSummaryFlags flags, void *userInfo); -G_DEFINE_TYPE (GdkScreenQuartz, _gdk_screen_quartz, GDK_TYPE_SCREEN); +G_DEFINE_TYPE (GdkScreenQuartz, _gdk_quartz_screen, GDK_TYPE_SCREEN); static void -_gdk_screen_quartz_init (GdkScreenQuartz *screen_quartz) +_gdk_quartz_screen_init (GdkScreenQuartz *screen_quartz) { - GdkScreen *screen = GDK_SCREEN (screen_quartz); + GdkScreen *screen = GDK_SCREEN (quartz_screen); NSScreen *nsscreen; nsscreen = [[NSScreen screens] objectAtIndex:0]; gdk_screen_set_resolution (screen, 72.0 * [nsscreen userSpaceScaleFactor]); - gdk_screen_quartz_calculate_layout (screen_quartz); + gdk_quartz_screen_calculate_layout (screen_quartz); CGDisplayRegisterReconfigurationCallback (display_reconfiguration_callback, screen); - screen_quartz->emit_monitors_changed = FALSE; + quartz_screen->emit_monitors_changed = FALSE; } static void -gdk_screen_quartz_dispose (GObject *object) +gdk_quartz_screen_dispose (GObject *object) { GdkScreenQuartz *screen = GDK_SCREEN_QUARTZ (object); @@ -101,11 +101,11 @@ gdk_screen_quartz_dispose (GObject *object) CGDisplayRemoveReconfigurationCallback (display_reconfiguration_callback, screen); - G_OBJECT_CLASS (_gdk_screen_quartz_parent_class)->dispose (object); + G_OBJECT_CLASS (_gdk_quartz_screen_parent_class)->dispose (object); } static void -gdk_screen_quartz_screen_rects_free (GdkScreenQuartz *screen) +gdk_quartz_screen_screen_rects_free (GdkScreenQuartz *screen) { screen->n_screens = 0; @@ -117,16 +117,16 @@ gdk_screen_quartz_screen_rects_free (GdkScreenQuartz *screen) } static void -gdk_screen_quartz_finalize (GObject *object) +gdk_quartz_screen_finalize (GObject *object) { GdkScreenQuartz *screen = GDK_SCREEN_QUARTZ (object); - gdk_screen_quartz_screen_rects_free (screen); + gdk_quartz_screen_screen_rects_free (screen); } static void -gdk_screen_quartz_calculate_layout (GdkScreenQuartz *screen) +gdk_quartz_screen_calculate_layout (GdkScreenQuartz *screen) { NSArray *array; int i; @@ -134,7 +134,7 @@ gdk_screen_quartz_calculate_layout (GdkScreenQuartz *screen) GDK_QUARTZ_ALLOC_POOL; - gdk_screen_quartz_screen_rects_free (screen); + gdk_quartz_screen_screen_rects_free (screen); array = [NSScreen screens]; @@ -192,7 +192,7 @@ process_display_reconfiguration (GdkScreenQuartz *screen) width = gdk_screen_get_width (GDK_SCREEN (screen)); height = gdk_screen_get_height (GDK_SCREEN (screen)); - gdk_screen_quartz_calculate_layout (GDK_SCREEN_QUARTZ (screen)); + gdk_quartz_screen_calculate_layout (GDK_SCREEN_QUARTZ (screen)); _gdk_windowing_update_window_sizes (GDK_SCREEN (screen)); @@ -255,7 +255,7 @@ display_reconfiguration_callback (CGDirectDisplayID display, } GdkScreen * -_gdk_screen_quartz_new (void) +_gdk_quartz_screen_new (void) { return g_object_new (GDK_TYPE_SCREEN_QUARTZ, NULL); } @@ -416,32 +416,42 @@ gdk_quartz_screen_is_composited (GdkScreen *screen) } static void -_gdk_screen_quartz_class_init (GdkScreenQuartzClass *klass) +_gdk_quartz_screen_class_init (GdkScreenQuartzClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); - object_class->dispose = gdk_screen_quartz_dispose; - object_class->finalize = gdk_screen_quartz_finalize; + object_class->dispose = gdk_quartz_screen_dispose; + object_class->finalize = gdk_quartz_screen_finalize; - screen_class->get_display = gdk_screen_quartz_get_display; - screen_class->get_width = gdk_screen_quartz_get_width; - screen_class->get_height = gdk_screen_quartz_get_height; - screen_class->get_width_mm = gdk_screen_quartz_get_width_mm; - screen_class->get_height_mm = gdk_screen_quartz_get_height_mm; - screen_class->get_number = gdk_screen_quartz_get_number; - screen_class->get_root_window = gdk_screen_quartz_get_root_window; - screen_class->get_n_monitors = gdk_screen_quartz_get_n_monitors; - screen_class->get_primary_monitor = gdk_screen_quartz_get_primary_monitor; - screen_class->get_monitor_width_mm = gdk_screen_quartz_get_monitor_width_mm; - screen_class->get_monitor_height_mm = gdk_screen_quartz_get_monitor_height_mm; - screen_class->get_monitor_plug_name = gdk_screen_quartz_get_monitor_plug_name; - screen_class->get_monitor_geometry = gdk_screen_quartz_get_monitor_geometry; - screen_class->get_rgba_visual = _gdk_screen_quartz_get_rgba_visual; - screen_class->is_composited = gdk_screen_quartz_is_composited; - screen_class->make_display_name = gdk_screen_quartz_make_display_name; - screen_class->get_active_window = gdk_screen_quartz_get_active_window; - screen_class->get_window_stack = gdk_screen_quartz_get_window_stack; - screen_class->broadcast_client_message = _gdk_screen_quartz_broadcast_client_message; - screen_class->get_setting = _gdk_screen_quartz_get_setting; + screen_class->get_display = gdk_quartz_screen_get_display; + screen_class->get_width = gdk_quartz_screen_get_width; + screen_class->get_height = gdk_quartz_screen_get_height; + screen_class->get_width_mm = gdk_quartz_screen_get_width_mm; + screen_class->get_height_mm = gdk_quartz_screen_get_height_mm; + screen_class->get_number = gdk_quartz_screen_get_number; + screen_class->get_root_window = gdk_quartz_screen_get_root_window; + screen_class->get_n_monitors = gdk_quartz_screen_get_n_monitors; + screen_class->get_primary_monitor = gdk_quartz_screen_get_primary_monitor; + screen_class->get_monitor_width_mm = gdk_quartz_screen_get_monitor_width_mm; + screen_class->get_monitor_height_mm = gdk_quartz_screen_get_monitor_height_mm; + screen_class->get_monitor_plug_name = gdk_quartz_screen_get_monitor_plug_name; + screen_class->get_monitor_geometry = gdk_quartz_screen_get_monitor_geometry; + screen_class->is_composited = gdk_quartz_screen_is_composited; + screen_class->make_display_name = gdk_quartz_screen_make_display_name; + screen_class->get_active_window = gdk_quartz_screen_get_active_window; + screen_class->get_window_stack = gdk_quartz_screen_get_window_stack; + screen_class->broadcast_client_message = _gdk_quartz_screen_broadcast_client_message; + screen_class->get_setting = _gdk_quartz_screen_get_setting; + screen_class->get_rgba_visual = _gdk_quartz_screen_get_rgba_visual; + screen_class->get_system_visual = _gdk_quartz_screen_get_system_visual; + screen_class->visual_get_best_depth = _gdk_quartz_screen_visual_get_best_depth; + screen_class->visual_get_best_type = _gdk_quartz_screen_visual_get_best_type; + screen_class->visual_get_best = _gdk_quartz_screen_visual_get_best; + screen_class->visual_get_best_with_depth = _gdk_quartz_screen_visual_get_best_with_depth; + screen_class->visual_get_best_with_type = _gdk_quartz_screen_visual_get_best_with_type; + screen_class->visual_get_best_with_both = _gdk_quartz_screen_visual_get_best_with_both; + screen_class->query_depths = _gdk_quartz_screen_query_depths; + screen_class->query_visual_types = _gdk_quartz_screen_query_visual_types; + screen_class->list_visuals = _gdk_quartz_screen_list_visuals; } diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index fca92b1be5..4ac9ed7fe5 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -140,13 +140,13 @@ _gdk_visual_init (void) /* We prefer the system visual for now ... */ gint -gdk_visual_get_best_depth (void) +_gdk_quartz_screen_visual_get_best_depth (GdkScreen *screen) { return system_visual->depth; } GdkVisualType -gdk_visual_get_best_type (void) +_gdk_quartz_screen_visual_get_best_type (GdkScreen *screen) { return system_visual->type; } @@ -158,19 +158,20 @@ _gdk_quartz_screen_get_rgba_visual (GdkScreen *screen) } GdkVisual* -gdk_screen_get_system_visual (GdkScreen *screen) +_gdk_quartz_screen_get_system_visual (GdkScreen *screen) { return system_visual; } GdkVisual* -gdk_visual_get_best (void) +_gdk_quartz_screen_visual_get_best (GdkScreen *screen) { return system_visual; } GdkVisual* -gdk_visual_get_best_with_depth (gint depth) +_gdk_quartz_screen_visual_get_best_with_depth (GdkScreen *screen, + gint depth) { GdkVisual *visual = NULL; @@ -196,7 +197,8 @@ gdk_visual_get_best_with_depth (gint depth) } GdkVisual* -gdk_visual_get_best_with_type (GdkVisualType visual_type) +_gdk_quartz_screen_visual_get_best_with_type (GdkScreen *screen, + GdkVisualType visual_type) { if (system_visual->type == visual_type) return system_visual; @@ -207,8 +209,9 @@ gdk_visual_get_best_with_type (GdkVisualType visual_type) } GdkVisual* -gdk_visual_get_best_with_both (gint depth, - GdkVisualType visual_type) +_gdk_quartz_screen_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type) { if (system_visual->depth == depth && system_visual->type == visual_type) @@ -225,23 +228,25 @@ gdk_visual_get_best_with_both (gint depth, /* For these, we also prefer the system visual */ void -gdk_query_depths (gint **depths, - gint *count) +_gdk_quartz_screen_query_depths (GdkScreen *screen, + gint **depths, + gint *count) { *count = 1; *depths = &system_visual->depth; } void -gdk_query_visual_types (GdkVisualType **visual_types, - gint *count) +_gdk_quartz_screen_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count) { *count = 1; *visual_types = &system_visual->type; } GList* -gdk_screen_list_visuals (GdkScreen *screen) +_gdk_quartz_screen_list_visuals (GdkScreen *screen) { GList *visuals = NULL; From 25271f5e9a294168cadf9a5d47328a188e20023d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 10:52:14 -0500 Subject: [PATCH 0790/1463] Implement dnd vtables for quartz --- gdk/quartz/gdkdisplay-quartz.c | 2 +- gdk/quartz/gdkdnd-quartz.c | 203 ++++++++++++++------------------- gdk/quartz/gdkprivate-quartz.h | 10 ++ gdk/quartz/gdkwindow-quartz.c | 1 + 4 files changed, 95 insertions(+), 121 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 51a74ef2bc..09c8191303 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -233,5 +233,5 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->list_devices = _gdk_quartz_display_list_devices; display_class->send_client_message = _gdk_quartz_display_send_client_message; display_class->add_client_message_filter = _gdk_quartz_display_add_client_message_filter; - + display_class->get_drag_protocol = _gdk_quartz_display_get_drag_protocol; } diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 7c6116e613..9f4b26cbc6 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -21,71 +21,11 @@ #include "gdkdnd.h" #include "gdkprivate-quartz.h" -static gpointer parent_class = NULL; +typedef struct _GdkDragContext GdkDragContextQuartz; +typedef struct _GdkDragContextClass GdkDragContextQuartzClass; -static void -gdk_drag_context_finalize (GObject *object) -{ - GdkDragContext *context = GDK_DRAG_CONTEXT (object); - GdkDragContextPrivate *private = GDK_DRAG_CONTEXT_PRIVATE (context); - - g_free (private); - - G_OBJECT_CLASS (parent_class)->finalize (object); -} +G_DEFINE_TYPE (GdkDragContextQuartz, gdk_quartz_drag_context, GDK_TYPE_DRAG_CONTEXT) -static void -gdk_drag_context_init (GdkDragContext *dragcontext) -{ - GdkDragContextPrivate *priv = g_new0 (GdkDragContextPrivate, 1); - - dragcontext->windowing_data = priv; -} - -static void -gdk_drag_context_class_init (GdkDragContextClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_drag_context_finalize; -} - -GType -gdk_drag_context_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkDragContextClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_drag_context_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkDragContext), - 0, /* n_preallocs */ - (GInstanceInitFunc) gdk_drag_context_init, - }; - - object_type = g_type_register_static (G_TYPE_OBJECT, - "GdkDragContext", - &object_info, - 0); - } - - return object_type; -} - -GdkDragContext * -gdk_drag_context_new (void) -{ - return (GdkDragContext *)g_object_new (gdk_drag_context_get_type (), NULL); -} GdkDragContext *_gdk_quartz_drag_source_context = NULL; @@ -95,98 +35,91 @@ gdk_quartz_drag_source_context () return _gdk_quartz_drag_source_context; } -GdkDragContext * -gdk_drag_begin (GdkWindow *window, - GList *targets) +GdkDragContext * +_gdk_quartz_window_drag_begin (GdkWindow *window, + GdkDevice *device, + GList *targets) { - GdkDeviceManager *device_manager; - g_assert (_gdk_quartz_drag_source_context == NULL); - + /* Create fake context */ - _gdk_quartz_drag_source_context = gdk_drag_context_new (); + _gdk_quartz_drag_source_context = g_object_new (gdk_quartz_drag_context_get_type (), NULL); _gdk_quartz_drag_source_context->is_source = TRUE; - device_manager = gdk_display_get_device_manager (gdk_display_get_default ()); - gdk_drag_context_set_device (_gdk_quartz_drag_source_context, - gdk_device_manager_get_client_pointer (device_manager)); + gdk_drag_context_set_device (_gdk_quartz_drag_source_context, device); return _gdk_quartz_drag_source_context; } -gboolean -gdk_drag_motion (GdkDragContext *context, - GdkWindow *dest_window, - GdkDragProtocol protocol, - gint x_root, - gint y_root, - GdkDragAction suggested_action, - GdkDragAction possible_actions, - guint32 time) +static gboolean +gdk_quartz_drag_context_drag_motion (GdkDragContext *context, + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint x_root, + gint y_root, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time) { /* FIXME: Implement */ return FALSE; } guint32 -gdk_drag_get_protocol_for_display (GdkDisplay *display, - guint32 xid, - GdkDragProtocol *protocol) +_gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, + guint32 xid, + GdkDragProtocol *protocol) { /* FIXME: Implement */ return 0; } -void -gdk_drag_find_window_for_screen (GdkDragContext *context, - GdkWindow *drag_window, - GdkScreen *screen, - gint x_root, - gint y_root, - GdkWindow **dest_window, - GdkDragProtocol *protocol) +static void +gdk_quartz_drag_context_find_window (GdkDragContext *context, + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkWindow **dest_window, + GdkDragProtocol *protocol) { /* FIXME: Implement */ } -void -gdk_drag_drop (GdkDragContext *context, - guint32 time) +static void +gdk_quartz_drag_context_drag_drop (GdkDragContext *context, + guint32 time) { /* FIXME: Implement */ } -void -gdk_drag_abort (GdkDragContext *context, - guint32 time) +static void +gdk_quartz_drag_context_drag_abort (GdkDragContext *context, + guint32 time) { - g_return_if_fail (context != NULL); - /* FIXME: Implement */ } -void -gdk_drag_status (GdkDragContext *context, - GdkDragAction action, - guint32 time) +static void +gdk_quartz_drag_context_drag_status (GdkDragContext *context, + GdkDragAction action, + guint32 time) { context->action = action; } -void -gdk_drop_reply (GdkDragContext *context, - gboolean ok, - guint32 time) +static void +gdk_quartz_drag_context_drop_reply (GdkDragContext *context, + gboolean ok, + guint32 time) { - g_return_if_fail (context != NULL); - /* FIXME: Implement */ } -void -gdk_drop_finish (GdkDragContext *context, - gboolean success, - guint32 time) +static void +gdk_quartz_drag_context_drop_finish (GdkDragContext *context, + gboolean success, + guint32 time) { /* FIXME: Implement */ } @@ -197,22 +130,52 @@ _gdk_quartz_window_register_dnd (GdkWindow *window) /* FIXME: Implement */ } -GdkAtom -gdk_drag_get_selection (GdkDragContext *context) +static GdkAtom +gdk_quartz_drag_context_get_selection (GdkDragContext *context) { /* FIXME: Implement */ return GDK_NONE; } -gboolean -gdk_drag_drop_succeeded (GdkDragContext *context) +static gboolean +gdk_quartz_drag_context_drop_status (GdkDragContext *context) { /* FIXME: Implement */ return FALSE; } -id +void gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context) { return GDK_DRAG_CONTEXT_PRIVATE (context)->dragging_info; } + +static void +gdk_quartz_drag_context_init (GdkDragContextQuartz *context) +{ +} + +static void +gdk_quartz_drag_context_finalize (GObject *object) +{ + G_OBJECT_CLASS (gdk_quartz_drag_context_parent_class)->finalize (object); +} + +static void +gdk_drag_context_class_init (GdkDragContextClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass); + + object_class->finalize = gdk_quartz_drag_context_finalize; + + context_class->find_window = gdk_quartz_drag_context_find_window; + context_class->drag_status = gdk_quartz_drag_context_drag_status; + context_class->drag_motion = gdk_quartz_drag_context_drag_motion; + context_class->drag_abort = gdk_quartz_drag_context_drag_abort; + context_class->drag_drop = gdk_quartz_drag_context_drag_drop; + context_class->drop_reply = gdk_quartz_drag_context_drop_reply; + context_class->drop_finish = gdk_quartz_drag_context_drop_finish; + context_class->drop_status = gdk_quartz_drag_context_drop_status; + context_class->get_selection = gdk_quartz_drag_context_get_selection; +} diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 9806829063..160b4db54b 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -144,11 +144,21 @@ gboolean _gdk_quartz_window_queue_antiexpose (GdkWindow *window, void _gdk_quartz_window_set_startup_id (GdkWindow *window, const gchar *startup_id); void _gdk_quartz_window_register_dnd (GdkWindow *window); +GdkDragContext * _gdk_quartz_window_drag_begin (GdkWindow *window, + GdkDevice *device, + GList *targets); + void _gdk_quartz_display_sync (GdkDisplay *display); void _gdk_quartz_display_flush (GdkDisplay *display); GList * _gdk_quartz_display_list_devices (GdkDisplay *dpy); +GdkNativeWinodw _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, + GdkNativeWindow *xid, + GdkDragProtocol *protocol, + guint version); + + gboolean _gdk_quartz_display_send_client_message (GdkDisplay *display, GdkEvent *event, GdkNativeWindow winid); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index c8982c2f92..37f07a4b21 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -3121,6 +3121,7 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) impl_class->set_opacity = gdk_quartz_window_set_opacity; impl_class->destroy_notify = gdk_quartz_window_destroy_notify; impl_class->register_dnd = _gdk_quartz_window_register_dnd; + impl_class->drag_begin = _gdk_quartz_window_drag_begin; } static void From 46e8aadaf80345a8fd59b501f0f17483994916db Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 10:53:00 -0500 Subject: [PATCH 0791/1463] Rename _gdk_dnd_init --- gdk/quartz/gdkdisplay-quartz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 09c8191303..39e7bae9ae 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -75,7 +75,7 @@ gdk_display_open (const gchar *display_name) #if 0 /* FIXME: Remove the #if 0 when we have these functions */ - _gdk_dnd_init (); + _gdk_quartz_dnd_init (); #endif g_signal_emit_by_name (gdk_display_manager_get (), From e2fea748d663e0353475068ed2f94e6883760934 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 11:05:53 -0500 Subject: [PATCH 0792/1463] Adapt quartz visual code to new ways We may still need a subclass here later, not sure --- gdk/quartz/gdkdisplay-quartz.c | 4 +- gdk/quartz/gdkprivate-quartz.h | 2 +- gdk/quartz/gdkvisual-quartz.c | 70 +++++++--------------------------- 3 files changed, 16 insertions(+), 60 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 39e7bae9ae..2883136fe8 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -63,10 +63,10 @@ gdk_display_open (const gchar *display_name) _gdk_display = g_object_new (GDK_TYPE_DISPLAY, NULL); _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); - _gdk_visual_init (); - _gdk_screen = _gdk_screen_quartz_new (); + _gdk_quartz_visual_init (_gdk_screen); + _gdk_windowing_window_init (); _gdk_events_init (); diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 160b4db54b..0608d4e76c 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -68,7 +68,7 @@ extern GdkDragContext *_gdk_quartz_drag_source_context; void _gdk_windowing_update_window_sizes (GdkScreen *screen); void _gdk_windowing_window_init (void); void _gdk_events_init (void); -void _gdk_visual_init (void); +void _gdk_quartz_visual_init (GdkScreen *screen); void _gdk_input_init (void); void _gdk_quartz_event_loop_init (void); diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index 4ac9ed7fe5..24f24f6ecc 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -20,53 +20,13 @@ #include "config.h" -#include "gdkvisual.h" +#include "gdkvisualprivate.h" #include "gdkprivate-quartz.h" static GdkVisual *system_visual; static GdkVisual *rgba_visual; static GdkVisual *gray_visual; -static void -gdk_visual_finalize (GObject *object) -{ - g_error ("A GdkVisual object was finalized. This should not happen"); -} - -static void -gdk_visual_class_init (GObjectClass *class) -{ - class->finalize = gdk_visual_finalize; -} - -GType -gdk_visual_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkVisualClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_visual_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkVisual), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL, - }; - - object_type = g_type_register_static (G_TYPE_OBJECT, - "GdkVisual", - &object_info, 0); - } - - return object_type; -} - static void gdk_visual_decompose_mask (gulong mask, gint *shift, @@ -89,14 +49,17 @@ gdk_visual_decompose_mask (gulong mask, } static GdkVisual * -create_standard_visual (gint depth) +create_standard_visual (GdkScreen *screen, + gint depth) { GdkVisual *visual = g_object_new (GDK_TYPE_VISUAL, NULL); + visual->screen = screen; + visual->depth = depth; visual->byte_order = GDK_MSB_FIRST; /* FIXME: Should this be different on intel macs? */ visual->colormap_size = 0; - + visual->type = GDK_VISUAL_TRUE_COLOR; visual->red_mask = 0xff0000; @@ -117,10 +80,12 @@ create_standard_visual (gint depth) } static GdkVisual * -create_gray_visual (void) +create_gray_visual (GdkScreen *screen) { GdkVisual *visual = g_object_new (GDK_TYPE_VISUAL, NULL); + visual->screen = screen; + visual->depth = 1; visual->byte_order = GDK_MSB_FIRST; visual->colormap_size = 0; @@ -131,11 +96,11 @@ create_gray_visual (void) } void -_gdk_visual_init (void) +_gdk_quartz_visual_init (GdkScreen *screen) { - system_visual = create_standard_visual (24); - rgba_visual = create_standard_visual (32); - gray_visual = create_gray_visual (); + system_visual = create_standard_visual (screen, 24); + rgba_visual = create_standard_visual (screen, 32); + gray_visual = create_gray_visual (screen); } /* We prefer the system visual for now ... */ @@ -256,12 +221,3 @@ _gdk_quartz_screen_list_visuals (GdkScreen *screen) return visuals; } - -GdkScreen * -gdk_visual_get_screen (GdkVisual *visual) -{ - g_return_val_if_fail (GDK_IS_VISUAL (visual), NULL); - - return gdk_screen_get_default (); -} - From 8a9c604b8a60bca2f9817625532b01ce998c155e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 11:19:37 -0500 Subject: [PATCH 0793/1463] Adapt quartz device code to new ways We will need to rename the Core implementations in X11/Quartz to not clash, later. --- gdk/quartz/gdkdevice-core.c | 9 ++++++- gdk/quartz/gdkdevicemanager-core.h | 2 +- gdk/quartz/gdkevents-quartz.c | 43 ------------------------------ gdk/quartz/gdkinput.c | 2 +- gdk/quartz/gdkprivate-quartz.h | 2 ++ 5 files changed, 12 insertions(+), 46 deletions(-) diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c index 25f9a1e479..9e83d5f60d 100644 --- a/gdk/quartz/gdkdevice-core.c +++ b/gdk/quartz/gdkdevice-core.c @@ -86,6 +86,7 @@ gdk_device_core_class_init (GdkDeviceCoreClass *klass) device_class->ungrab = gdk_device_core_ungrab; device_class->window_at_position = gdk_device_core_window_at_position; device_class->select_window_events = gdk_device_core_select_window_events; + device_class->check_extension_events = _gdk_quartz_device_check_extension_events; } static void @@ -303,7 +304,13 @@ static void gdk_device_core_ungrab (GdkDevice *device, guint32 time_) { - /* Should remain empty */ + GdkDeviceGrabInfo *grab; + + grab = _gdk_display_get_last_device_grab (_gdk_display, device); + if (grab) + grab->serial_end = 0; + + _gdk_display_device_grab_update (_gdk_display, device, 0); } static GdkWindow * diff --git a/gdk/quartz/gdkdevicemanager-core.h b/gdk/quartz/gdkdevicemanager-core.h index 0a337fcd00..f3917a379b 100644 --- a/gdk/quartz/gdkdevicemanager-core.h +++ b/gdk/quartz/gdkdevicemanager-core.h @@ -20,7 +20,7 @@ #ifndef __GDK_DEVICE_MANAGER_CORE_H__ #define __GDK_DEVICE_MANAGER_CORE_H__ -#include +#include G_BEGIN_DECLS diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 48577e22b9..83f6b7ad33 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -74,49 +74,6 @@ gdk_events_pending (void) (_gdk_quartz_event_loop_check_pending ())); } -void -gdk_device_ungrab (GdkDevice *device, - guint32 time_) -{ - GdkDeviceGrabInfo *grab; - - grab = _gdk_display_get_last_device_grab (_gdk_display, device); - if (grab) - grab->serial_end = 0; - - _gdk_display_device_grab_update (_gdk_display, device, 0); -} - -GdkGrabStatus -_gdk_windowing_device_grab (GdkDevice *device, - GdkWindow *window, - GdkWindow *native, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time) -{ - g_return_val_if_fail (GDK_IS_WINDOW (window), 0); - g_return_val_if_fail (confine_to == NULL || GDK_IS_WINDOW (confine_to), 0); - - if (!window || GDK_WINDOW_DESTROYED (window)) - return GDK_GRAB_NOT_VIEWABLE; - - _gdk_display_add_device_grab (_gdk_display, - device, - window, - native, - GDK_OWNERSHIP_NONE, - owner_events, - event_mask, - 0, - time, - FALSE); - - return GDK_GRAB_SUCCESS; -} - static void break_all_grabs (guint32 time) { diff --git a/gdk/quartz/gdkinput.c b/gdk/quartz/gdkinput.c index bbd9291201..fc7d73fda7 100644 --- a/gdk/quartz/gdkinput.c +++ b/gdk/quartz/gdkinput.c @@ -199,7 +199,7 @@ _gdk_input_window_destroy (GdkWindow *window) } void -_gdk_input_check_extension_events (GdkDevice *device) +_gdk_quartz_device_check_extension_events (GdkDevice *device) { } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 0608d4e76c..890e10c13a 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -195,5 +195,7 @@ gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value); +void _gdk_quartz_device_check_extension_events (GdkDevice *device); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ From 733c8fc8e79af89ac33bc5579a8add345ceb01f6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 11:38:02 -0500 Subject: [PATCH 0794/1463] Derive GdkDisplayManager for quartz --- gdk/quartz/Makefile.am | 1 + gdk/quartz/gdkdisplay-quartz.c | 25 +++-- gdk/quartz/gdkdisplaymanager-quartz.c | 132 ++++++++++++++++++++++++++ gdk/quartz/gdkevents-quartz.c | 2 +- gdk/quartz/gdkinput.c | 27 +----- gdk/quartz/gdkinputprivate.h | 3 +- gdk/quartz/gdkprivate-quartz.h | 6 +- 7 files changed, 155 insertions(+), 41 deletions(-) create mode 100644 gdk/quartz/gdkdisplaymanager-quartz.c diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index a1d5664bf3..7774dbc159 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -25,6 +25,7 @@ libgdk_quartz_la_SOURCES = \ gdkdevice-core.c \ gdkdevicemanager-core.c \ gdkdisplay-quartz.c \ + gdkdisplaymanager-quartz.c \ gdkdnd-quartz.c \ gdkevents-quartz.c \ gdkeventloop-quartz.c \ diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 2883136fe8..162569c343 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -37,12 +37,6 @@ gdk_quartz_display_get_default_group (GdkDisplay *display) return NULL; } -void -_gdk_windowing_set_default_display (GdkDisplay *display) -{ - g_assert (display == NULL || _gdk_display == display); -} - GdkDeviceManager * _gdk_device_manager_new (GdkDisplay *display) { @@ -52,7 +46,7 @@ _gdk_device_manager_new (GdkDisplay *display) } GdkDisplay * -gdk_display_open (const gchar *display_name) +_gdk_quartz_display_open (const gchar *display_name) { if (_gdk_display != NULL) return NULL; @@ -60,7 +54,7 @@ gdk_display_open (const gchar *display_name) /* Initialize application */ [NSApplication sharedApplication]; - _gdk_display = g_object_new (GDK_TYPE_DISPLAY, NULL); + _gdk_display = g_object_new (_gdk_quartz_display_get_type (), NULL); _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); _gdk_screen = _gdk_screen_quartz_new (); @@ -69,9 +63,9 @@ gdk_display_open (const gchar *display_name) _gdk_windowing_window_init (); - _gdk_events_init (); + _gdk_quartz_events_init (); - _gdk_input_init (); + _gdk_quartz_input_init (); #if 0 /* FIXME: Remove the #if 0 when we have these functions */ @@ -199,6 +193,17 @@ G_DEFINE_TYPE (GdkDisplayQuartz, _gdk_display_quartz, GDK_TYPE_DISPLAY) static void _gdk_display_quartz_init (GdkDisplayQuartz *display) { + gdk_x11_display_manager_add_display (gdk_display_nmanager_get (), + GDK_DISPLAY_OBJECT (display)); +} + +static void +_gdk_display_quartz_dispose (GObject *object) +{ + _gdk_quartz_display_manager_remove_display (gdk_display_manager_get (), + GDK_DISPLAY_OBJECT (object)); + + G_OBJECT_CLASS (_gdk_display_quartz_parent_class)->dispose (object); } static void diff --git a/gdk/quartz/gdkdisplaymanager-quartz.c b/gdk/quartz/gdkdisplaymanager-quartz.c new file mode 100644 index 0000000000..2df3c7c8ed --- /dev/null +++ b/gdk/quartz/gdkdisplaymanager-quartz.c @@ -0,0 +1,132 @@ +/* GDK - The GIMP Drawing Kit + * gdkdisplaymanager-quartz.c + * + * Copyright 2010 Red Hat, Inc. + * + * Author: Matthias clasen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include "gdkdisplay-quartz.h" +#include "gdkprivate-quartz.h" + +#include "gdkdisplaymanagerprivate.h" +#include "gdkinternals.h" + +#define GDK_TYPE_DISPLAY_MANAGER_QUARTZ (gdk_display_manager_quartz_get_type ()) +#define GDK_DISPLAY_MANAGER_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER_QUARTZ, GdkDisplayManagerQuartz)) + +typedef struct _GdkDisplayManagerQuartz GdkDisplayManagerQuartz; +typedef struct _GdkDisplayManagerClass GdkDisplayManagerQuartzClass; + +struct _GdkDisplayManagerQuartz +{ + GdkDisplayManager parent; + + GdkDisplay *default_display; + GSList *displays; +}; + +G_DEFINE_TYPE (GdkDisplayManagerQuartz, gdk_display_manager_quartz, GDK_TYPE_DISPLAY_MANAGER) + +static GdkDisplay * +gdk_display_manager_quartz_open_display (GdkDisplayManager *manager, + const gchar *name) +{ + return _gdk_quartz_display_open (name); +} + +static GSList * +gdk_display_manager_quartz_list_displays (GdkDisplayManager *manager) +{ + GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + + return g_slist_copy (manager_quartz->displays); +} + +static GdkDisplay * +gdk_display_manager_quartz_get_default_display (GdkDisplayManager *manager) +{ + return GDK_DISPLAY_MANAGER_QUARTZ (manager)->default_display; +} + +static void +gdk_display_manager_quartz_set_default_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + + manager_quartz->default_display = display; +} + +static void +gdk_display_manager_quartz_init (GdkDisplayManagerQuartz *manager) +{ + _gdk_quartz_windowing_init (); +} + +static void +gdk_display_manager_quartz_finalize (GObject *object) +{ + g_error ("A GdkDisplayManagerQuartz object was finalized. This should not happen"); + G_OBJECT_CLASS (gdk_display_manager_quartz_parent_class)->finalize (object); +} + +static void +gdk_display_manager_quartz_class_init (GdkDisplayManagerQuartzClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GdkDisplayManagerClass *manager_class = GDK_DISPLAY_MANAGER_CLASS (class); + + object_class->finalize = gdk_display_manager_quartz_finalize; + + manager_class->open_display = gdk_display_manager_quartz_open_display; + manager_class->list_displays = gdk_display_manager_quartz_list_displays; + manager_class->set_default_display = gdk_display_manager_quartz_set_default_display; + manager_class->get_default_display = gdk_display_manager_quartz_get_default_display; +} + +void +_gdk_quartz_display_manager_add_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + + if (manager_quartz->displays == NULL) + gdk_display_manager_set_default_display (manager, display); + + manager_quartz->displays = g_slist_prepend (manager_quartz->displays, display); +} + +void +_gdk_quartz_display_manager_remove_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + + manager_quartz->displays = g_slist_remove (manager_quartz->displays, display); + + if (manager_quartz->default_display == display) + { + if (manager_quartz->displays) + gdk_display_manager_set_default_display (manager, manager_quartz->displays->data); + else + gdk_display_manager_set_default_display (manager, NULL); + } +} diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 83f6b7ad33..75ead8b9a3 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -60,7 +60,7 @@ gdk_quartz_event_get_nsevent (GdkEvent *event) } void -_gdk_events_init (void) +_gdk_quartz_events_init (void) { _gdk_quartz_event_loop_init (); diff --git a/gdk/quartz/gdkinput.c b/gdk/quartz/gdkinput.c index fc7d73fda7..8d96076d91 100644 --- a/gdk/quartz/gdkinput.c +++ b/gdk/quartz/gdkinput.c @@ -204,7 +204,7 @@ _gdk_quartz_device_check_extension_events (GdkDevice *device) } void -_gdk_input_init (void) +_gdk_quartz_input_init (void) { GdkDeviceManager *device_manager; GList *list, *l; @@ -252,28 +252,3 @@ _gdk_input_init (void) _gdk_input_ignore_core = FALSE; } - -void -_gdk_input_exit (void) -{ - GList *tmp_list; - GdkDevicePrivate *gdkdev; - - for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next) - { - gdkdev = (GdkDevicePrivate *)(tmp_list->data); - if (gdkdev != (GdkDevicePrivate *)_gdk_core_pointer) - { - gdk_device_set_mode ((GdkDevice *)gdkdev, GDK_MODE_DISABLED); - g_object_unref(gdkdev); - } - } - - g_list_free (_gdk_input_devices); - - for (tmp_list = _gdk_input_windows; tmp_list; tmp_list = tmp_list->next) - { - g_free (tmp_list->data); - } - g_list_free (_gdk_input_windows); -} diff --git a/gdk/quartz/gdkinputprivate.h b/gdk/quartz/gdkinputprivate.h index 7ba4293a8e..a72aa10760 100644 --- a/gdk/quartz/gdkinputprivate.h +++ b/gdk/quartz/gdkinputprivate.h @@ -133,8 +133,7 @@ extern gint _gdk_input_ignore_core; GdkInputWindow * _gdk_input_window_find (GdkWindow *window); void _gdk_input_window_destroy (GdkWindow *window); -void _gdk_input_init (void); -void _gdk_input_exit (void); +void _gdk_quartz_input_init (void); gint _gdk_input_enable_window (GdkWindow *window, GdkDevicePrivate *gdkdev); gint _gdk_input_disable_window (GdkWindow *window, diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 890e10c13a..bebf02cc3e 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -67,9 +67,9 @@ extern GdkDragContext *_gdk_quartz_drag_source_context; /* Initialization */ void _gdk_windowing_update_window_sizes (GdkScreen *screen); void _gdk_windowing_window_init (void); -void _gdk_events_init (void); +void _gdk_quartz_events_init (void); void _gdk_quartz_visual_init (GdkScreen *screen); -void _gdk_input_init (void); +void _gdk_quartz_input_init (void); void _gdk_quartz_event_loop_init (void); /* GC */ @@ -153,6 +153,8 @@ void _gdk_quartz_display_sync (GdkDisplay *display); void _gdk_quartz_display_flush (GdkDisplay *display); GList * _gdk_quartz_display_list_devices (GdkDisplay *dpy); +GdkDisplay * _gdk_quartz_display_open (const gchar *name); + GdkNativeWinodw _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, GdkNativeWindow *xid, GdkDragProtocol *protocol, From 3232be603a237a90e770387439f24bb431d1191e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 11:46:22 -0500 Subject: [PATCH 0795/1463] Implement has_pending and queue_events vfuncs for quartz --- gdk/quartz/gdkdisplay-quartz.c | 2 ++ gdk/quartz/gdkevents-quartz.c | 8 ++++---- gdk/quartz/gdkprivate-quartz.h | 8 +++++--- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 162569c343..f3a87a2ae3 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -227,6 +227,8 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->beep = gdk_quartz_display_beep; display_class->sync = _gdk_quartz_display_sync; display_class->flush = _gdk_quartz_display_flush; + display_class->queue_events = _gdk_quartz_display_queue_events; + display_class->has_pending = _gdk_quartz_display_has_pending; display_class->get_default_group = gdk_quartz_display_get_default_group; display_class->supports_selection_notification = gdk_quartz_display_supports_selection_notification; display_class->request_selection_notification = gdk_quartz_display_request_selection_notification; diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 75ead8b9a3..026b75143d 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -68,10 +68,10 @@ _gdk_quartz_events_init (void) } gboolean -gdk_events_pending (void) +_gdk_quartz_display_has_pending (GdkDisplay *display) { - return (_gdk_event_queue_find_first (_gdk_display) || - (_gdk_quartz_event_loop_check_pending ())); + return (_gdk_event_queue_find_first (display) || + (_gdk_quartz_event_loop_check_pending ())); } static void @@ -1296,7 +1296,7 @@ gdk_event_translate (GdkEvent *event, } void -_gdk_events_queue (GdkDisplay *display) +_gdk_quartz_display_queue_events (GdkDisplay *display) { NSEvent *nsevent; diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index bebf02cc3e..0cb56db27c 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -149,9 +149,11 @@ GdkDragContext * _gdk_quartz_window_drag_begin (GdkWindow *window, GList *targets); -void _gdk_quartz_display_sync (GdkDisplay *display); -void _gdk_quartz_display_flush (GdkDisplay *display); -GList * _gdk_quartz_display_list_devices (GdkDisplay *dpy); +void _gdk_quartz_display_sync (GdkDisplay *display); +void _gdk_quartz_display_flush (GdkDisplay *display); +GList * _gdk_quartz_display_list_devices (GdkDisplay *display); +void _gdk_quartz_display_queue_events (GdkDisplay *display); +gboolean _gdk_quartz_display_has_pending (GdkDisplay *display); GdkDisplay * _gdk_quartz_display_open (const gchar *name); From a1a0205dad4d98780fe9e7353f738aa8c9400eaf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:01:54 -0500 Subject: [PATCH 0796/1463] Implment process_updates_recurse vfunc for quartz --- gdk/quartz/gdkcursor-quartz.c | 58 ++++++++++++++-------------------- gdk/quartz/gdkdisplay-quartz.c | 9 +++++- gdk/quartz/gdkprivate-quartz.h | 20 ++++++++++++ gdk/quartz/gdkwindow-quartz.c | 9 +++--- 4 files changed, 57 insertions(+), 39 deletions(-) diff --git a/gdk/quartz/gdkcursor-quartz.c b/gdk/quartz/gdkcursor-quartz.c index 0e22fb7d24..62f19a6dc2 100644 --- a/gdk/quartz/gdkcursor-quartz.c +++ b/gdk/quartz/gdkcursor-quartz.c @@ -175,14 +175,14 @@ create_builtin_cursor (GdkCursorType cursor_type) } GdkCursor* -gdk_cursor_new_for_display (GdkDisplay *display, - GdkCursorType cursor_type) +_gdk_quartz_display_get_cursor_for_type (GdkDisplay *display, + GdkCursorType cursor_type) { NSCursor *nscursor; g_return_val_if_fail (display == gdk_display_get_default (), NULL); - switch (cursor_type) + switch (cursor_type) { case GDK_XTERM: nscursor = [NSCursor IBeamCursor]; @@ -303,21 +303,16 @@ _gdk_quartz_pixbuf_to_ns_image (GdkPixbuf *pixbuf) } GdkCursor * -gdk_cursor_new_from_pixbuf (GdkDisplay *display, - GdkPixbuf *pixbuf, - gint x, - gint y) +_gdk_quartz_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y) { NSImage *image; NSCursor *nscursor; GdkCursor *cursor; gboolean has_alpha; - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (GDK_IS_PIXBUF (pixbuf), NULL); - g_return_val_if_fail (0 <= x && x < gdk_pixbuf_get_width (pixbuf), NULL); - g_return_val_if_fail (0 <= y && y < gdk_pixbuf_get_height (pixbuf), NULL); - GDK_QUARTZ_ALLOC_POOL; has_alpha = gdk_pixbuf_get_has_alpha (pixbuf); @@ -332,9 +327,9 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, return cursor; } -GdkCursor* -gdk_cursor_new_from_name (GdkDisplay *display, - const gchar *name) +GdkCursor* +_gdk_quartz_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name) { /* FIXME: Implement */ return NULL; @@ -354,38 +349,33 @@ _gdk_cursor_destroy (GdkCursor *cursor) g_free (private); } -gboolean -gdk_display_supports_cursor_alpha (GdkDisplay *display) +gboolean +_gdk_quartz_display_supports_cursor_alpha (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - return TRUE; } -gboolean -gdk_display_supports_cursor_color (GdkDisplay *display) +gboolean +_gdk_quartz_display_supports_cursor_color (GdkDisplay *display) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); - return TRUE; } -guint -gdk_display_get_default_cursor_size (GdkDisplay *display) +void +_gdk_quartz_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { - g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); - /* Mac OS X doesn't have the notion of a default size */ - return 32; + *width = 32; + *height = 32; } -void -gdk_display_get_maximal_cursor_size (GdkDisplay *display, - guint *width, - guint *height) +void +_gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { - g_return_if_fail (GDK_IS_DISPLAY (display)); - /* Cursor sizes in Mac OS X can be arbitrarily large */ *width = 65536; *height = 65536; diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index f3a87a2ae3..ee37811588 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -193,7 +193,7 @@ G_DEFINE_TYPE (GdkDisplayQuartz, _gdk_display_quartz, GDK_TYPE_DISPLAY) static void _gdk_display_quartz_init (GdkDisplayQuartz *display) { - gdk_x11_display_manager_add_display (gdk_display_nmanager_get (), + gdk_quartz_display_manager_add_display (gdk_display_nmanager_get (), GDK_DISPLAY_OBJECT (display)); } @@ -241,4 +241,11 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->send_client_message = _gdk_quartz_display_send_client_message; display_class->add_client_message_filter = _gdk_quartz_display_add_client_message_filter; display_class->get_drag_protocol = _gdk_quartz_display_get_drag_protocol; + display_class->get_cursor_for_type = _gdk_quartz_display_get_cursor_for_type; + display_class->get_cursor_for_name = _gdk_quartz_display_get_cursor_for_name; + display_class->get_cursor_for_pixbuf = _gdk_quartz_display_get_cursor_for_pixbuf; + display_class->get_default_cursor_size = _gdk_quartz_display_get_default_cursor_size; + display_class->get_maximal_cursor_size = _gdk_quartz_display_get_maximal_cursor_size; + display_class->supports_cursor_alpha = _gdk_quartz_display_supports_cursor_alpha; + display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color; } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 0cb56db27c..a742ffeaf9 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -155,6 +155,26 @@ GList * _gdk_quartz_display_list_devices (GdkDisplay *display); void _gdk_quartz_display_queue_events (GdkDisplay *display); gboolean _gdk_quartz_display_has_pending (GdkDisplay *display); +GdkCursor *_gdk_quartz_display_get_cursor_for_type (GdkDisplay *display, + GdkCursorType type); +GdkCursor *_gdk_quartz_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name); +GdkCursor *_gdk_quartz_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y); +gboolean _gdk_quartz_display_supports_cursor_alpha (GdkDisplay *display); +gboolean _gdk_quartz_display_supports_cursor_color (GdkDisplay *display); +void _gdk_quartz_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height); +void _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height); +void _gdk_quartz_display_before_process_all_updates (GdkDisplay *display); +void _gdk_quartz_display_after_process_all_updates (GdkDisplay *display); + + GdkDisplay * _gdk_quartz_display_open (const gchar *name); GdkNativeWinodw _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 37f07a4b21..4fbef442d2 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -424,8 +424,8 @@ _gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, } void -_gdk_windowing_window_process_updates_recurse (GdkWindow *window, - cairo_region_t *region) +_gdk_quartz_window_process_updates_recurse (GdkWindow *window, + cairo_region_t *region) { /* Make sure to only flush each toplevel at most once if we're called * from process_all_updates. @@ -467,7 +467,7 @@ _gdk_windowing_window_process_updates_recurse (GdkWindow *window, } void -_gdk_windowing_before_process_all_updates (void) +_gdk_quartz_display_before_process_all_updates (GdkDisplay *display) { in_process_all_updates = TRUE; @@ -475,7 +475,7 @@ _gdk_windowing_before_process_all_updates (void) } void -_gdk_windowing_after_process_all_updates (void) +_gdk_quartz_display_after_process_all_updates (GdkDisplay *display) { GSList *old_update_nswindows = update_nswindows; GSList *tmp_list = update_nswindows; @@ -3122,6 +3122,7 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) impl_class->destroy_notify = gdk_quartz_window_destroy_notify; impl_class->register_dnd = _gdk_quartz_window_register_dnd; impl_class->drag_begin = _gdk_quartz_window_drag_begin; + impl_class->process_updates_recurse = gdk_x11_window_process_updates_recurse; } static void From dadbc63f1ea70e75db4ddb80e0eb4347faf96780 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:07:38 -0500 Subject: [PATCH 0797/1463] gdk_display_warp_pointer is in the frontend now --- gdk/quartz/gdkwindow-quartz.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 4fbef442d2..6c12ab2155 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1897,15 +1897,6 @@ _gdk_windowing_get_device_state (GdkDisplay *display, gdk_window_quartz_get_device_state_helper (_gdk_root, device, x, y, mask); } -void -gdk_display_warp_pointer (GdkDisplay *display, - GdkScreen *screen, - gint x, - gint y) -{ - CGDisplayMoveCursorToPoint (CGMainDisplayID (), CGPointMake (x, y)); -} - /* Returns coordinates relative to the found window. */ GdkWindow * _gdk_windowing_window_at_pointer (GdkDisplay *display, From 1a046317079ab34b5d6ee0db9fca8ede1d0ff930 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:11:10 -0500 Subject: [PATCH 0798/1463] Implement get_next_serial for quartz --- gdk/quartz/gdkdisplay-quartz.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index ee37811588..cab771d536 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -183,7 +183,7 @@ gdk_quartz_display_supports_composite (GdkDisplay *display) } gulong -_gdk_windowing_window_get_next_serial (GdkDisplay *display) +_gdk_quartz_display_get_next_serial (GdkDisplay *display) { return 0; } @@ -248,4 +248,5 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->get_maximal_cursor_size = _gdk_quartz_display_get_maximal_cursor_size; display_class->supports_cursor_alpha = _gdk_quartz_display_supports_cursor_alpha; display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color; + display_class->get_next_serial = gdk_quartz_display_get_next_serial; } From 2f3c7da763e297a24a67a9ac305fc96b77f28385 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:15:55 -0500 Subject: [PATCH 0799/1463] Remove a duplicate doc comment --- gdk/x11/gdkdisplay-x11.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 20405bddc5..37512e7bae 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1187,17 +1187,6 @@ set_sm_client_id (GdkDisplay *display, gdk_x11_get_xatom_by_name_for_display (display, "SM_CLIENT_ID")); } -/** - * gdk_display_open: - * @display_name: the name of the display to open - * - * Opens a display. - * - * Return value: (transfer none): a #GdkDisplay, or %NULL if the display - * could not be opened. - * - * Since: 2.2 - */ GdkDisplay * _gdk_x11_display_open (const gchar *display_name) { From 4b92625fe0cad34aa9bec11963f678f88214f442 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:19:14 -0500 Subject: [PATCH 0800/1463] Implement notify_startup_complete vfunc for quartz --- gdk/quartz/gdkdisplay-quartz.c | 1 + gdk/quartz/gdkmain-quartz.c | 9 ++------- gdk/quartz/gdkprivate-quartz.h | 2 ++ 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index cab771d536..83cdb7ddc7 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -249,4 +249,5 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->supports_cursor_alpha = _gdk_quartz_display_supports_cursor_alpha; display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color; display_class->get_next_serial = gdk_quartz_display_get_next_serial; + display_class->notify_startup_complete = _gdk_quartz_display_notify_startup_complete; } diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c index 892498f9cc..b58f05d12f 100644 --- a/gdk/quartz/gdkmain-quartz.c +++ b/gdk/quartz/gdkmain-quartz.c @@ -62,13 +62,8 @@ gdk_error_trap_pop_ignored (void) } void -gdk_notify_startup_complete (void) -{ - /* FIXME: Implement? */ -} - -void -gdk_notify_startup_complete_with_id (const gchar* startup_id) +_gdk_quartz_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id) { /* FIXME: Implement? */ } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index a742ffeaf9..775036f83a 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -173,6 +173,8 @@ void _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, guint *height); void _gdk_quartz_display_before_process_all_updates (GdkDisplay *display); void _gdk_quartz_display_after_process_all_updates (GdkDisplay *display); +void _gdk_quartz_display_notify_startup_complete (GdkDisplay *display, + const gchar *id); GdkDisplay * _gdk_quartz_display_open (const gchar *name); From b2ff02332f74bd1ee1066f91613c9778c3373cde Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:25:47 -0500 Subject: [PATCH 0801/1463] Implement event_data_{copy,free} for quartz --- gdk/quartz/gdkdisplay-quartz.c | 3 +++ gdk/quartz/gdkevents-quartz.c | 8 +++++--- gdk/quartz/gdkprivate-quartz.h | 5 +++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 83cdb7ddc7..7724ec1d60 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -250,4 +250,7 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color; display_class->get_next_serial = gdk_quartz_display_get_next_serial; display_class->notify_startup_complete = _gdk_quartz_display_notify_startup_complete; + display_class->event_data_copy = _gdk_quartz_display_event_data_copy; + display_class->event_data_free = _gdk_quartz_display_event_data_free; + } diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 026b75143d..528e6a43b6 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1438,8 +1438,9 @@ _gdk_quartz_screen_get_setting (GdkScreen *screen, } void -_gdk_windowing_event_data_copy (const GdkEvent *src, - GdkEvent *dst) +_gdk_quartz_display_event_data_copy (GdkDisplay *display, + const GdkEvent *src, + GdkEvent *dst) { GdkEventPrivate *priv_src = (GdkEventPrivate *) src; GdkEventPrivate *priv_dst = (GdkEventPrivate *) dst; @@ -1452,7 +1453,8 @@ _gdk_windowing_event_data_copy (const GdkEvent *src, } void -_gdk_windowing_event_data_free (GdkEvent *event) +_gdk_quartz_display_event_data_free (GdkDisplay *display, + GdkEvent *event) { GdkEventPrivate *priv = (GdkEventPrivate *) event; diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 775036f83a..ea5b9591e4 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -175,6 +175,11 @@ void _gdk_quartz_display_before_process_all_updates (GdkDisplay *display); void _gdk_quartz_display_after_process_all_updates (GdkDisplay *display); void _gdk_quartz_display_notify_startup_complete (GdkDisplay *display, const gchar *id); +void _gdk_quartz_display_event_data_copy (GdkDisplay *display, + const GdkEvent *src, + GdkEvent *dst); +void _gdk_quartz_display_event_data_free (GdkDisplay *display, + GdkEvent *event); GdkDisplay * _gdk_quartz_display_open (const gchar *name); From 9dbe3bd3167717928c26410ee94b70a977bf365b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:30:13 -0500 Subject: [PATCH 0802/1463] Drop unimplemented foreign window functions These have been relegated to backend-specific --- gdk/quartz/gdkwindow-quartz.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 6c12ab2155..fc40ef4a1a 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2853,21 +2853,6 @@ gdk_quartz_window_set_group (GdkWindow *window, /* FIXME: Implement */ } -GdkWindow* -gdk_window_foreign_new_for_display (GdkDisplay *display, - GdkNativeWindow anid) -{ - /* Foreign windows aren't supported in Mac OS X */ - return NULL; -} - -GdkWindow * -gdk_window_lookup_for_display (GdkDisplay *display, GdkNativeWindow anid) -{ - /* Foreign windows aren't supported in Mac OS X */ - return NULL; -} - static void gdk_quartz_window_enable_synchronized_configure (GdkWindow *window) { From 57efe15bdaa949635d16b191b67a5bf91b86bb76 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:31:18 -0500 Subject: [PATCH 0803/1463] Drop gdk_spawn functions These have been removed since the implementation was just a straight wrapper around g_spawn. --- gdk/quartz/gdkspawn-quartz.c | 106 ----------------------------------- 1 file changed, 106 deletions(-) delete mode 100644 gdk/quartz/gdkspawn-quartz.c diff --git a/gdk/quartz/gdkspawn-quartz.c b/gdk/quartz/gdkspawn-quartz.c deleted file mode 100644 index 6cddd648b1..0000000000 --- a/gdk/quartz/gdkspawn-quartz.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * Authors: Mark McLoughlin - */ - -#include "config.h" - -#include "gdkspawn.h" - -#include -#include - -gboolean -gdk_spawn_on_screen (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - GError **error) -{ - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - g_assert (sizeof(GPid) == sizeof(int)); - - return g_spawn_async (working_directory, - argv, - envp, - flags, - child_setup, - user_data, - child_pid, - error); -} - -gboolean -gdk_spawn_on_screen_with_pipes (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - gint *standard_input, - gint *standard_output, - gint *standard_error, - GError **error) -{ - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - g_assert (sizeof(GPid) == sizeof(int)); - - return g_spawn_async_with_pipes (working_directory, - argv, - envp, - flags, - child_setup, - user_data, - child_pid, - standard_input, - standard_output, - standard_error, - error); -} - -gboolean -gdk_spawn_command_line_on_screen (GdkScreen *screen, - const gchar *command_line, - GError **error) -{ - gchar **argv = NULL; - gboolean retval; - - g_return_val_if_fail (command_line != NULL, FALSE); - - if (!g_shell_parse_argv (command_line, - NULL, &argv, - error)) - return FALSE; - - retval = gdk_spawn_on_screen (screen, - NULL, argv, NULL, - G_SPAWN_SEARCH_PATH, - NULL, NULL, NULL, - error); - g_strfreev (argv); - - return retval; -} From 46352afa6f481ce7979d80c86f14584793606b0c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:34:40 -0500 Subject: [PATCH 0804/1463] Implement create_window_impl vfunc for quartz --- gdk/quartz/gdkdisplay-quartz.c | 2 +- gdk/quartz/gdkprivate-quartz.h | 8 ++++++++ gdk/quartz/gdkwindow-quartz.c | 13 +++++++------ 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 7724ec1d60..e01e2d92e2 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -252,5 +252,5 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->notify_startup_complete = _gdk_quartz_display_notify_startup_complete; display_class->event_data_copy = _gdk_quartz_display_event_data_copy; display_class->event_data_free = _gdk_quartz_display_event_data_free; - + display_class->create_window_impl = _gdk_quartz_display_create_window_impl; } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index ea5b9591e4..92f2dce729 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -180,6 +180,14 @@ void _gdk_quartz_display_event_data_copy (GdkDisplay *display, GdkEvent *dst); void _gdk_quartz_display_event_data_free (GdkDisplay *display, GdkEvent *event); +void _gdk_quartz_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask); + GdkDisplay * _gdk_quartz_display_open (const gchar *name); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index fc40ef4a1a..9221416324 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -843,12 +843,13 @@ get_nsscreen_for_point (gint x, gint y) } void -_gdk_window_impl_new (GdkWindow *window, - GdkWindow *real_parent, - GdkScreen *screen, - GdkEventMask event_mask, - GdkWindowAttr *attributes, - gint attributes_mask) +_gdk_x11_display_create_window_imp (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask) { GdkWindowImplQuartz *impl; GdkWindowImplQuartz *parent_impl; From 51f149df5ebdfadc1e91d9d866a0e91ed8cac922 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:46:46 -0500 Subject: [PATCH 0805/1463] Implement get_keymap vfunc for quartz --- gdk/quartz/gdkdisplay-quartz.c | 1 + gdk/quartz/gdkkeys-quartz.c | 8 ++++++++ gdk/quartz/gdkprivate-quartz.h | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index e01e2d92e2..c3edb04bd4 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -253,4 +253,5 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->event_data_copy = _gdk_quartz_display_event_data_copy; display_class->event_data_free = _gdk_quartz_display_event_data_free; display_class->create_window_impl = _gdk_quartz_display_create_window_impl; + display_class->get_keymap = _gdk_quartz_display_get_keymap; } diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index aa2f36a3d7..c35eccb98a 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -66,6 +66,14 @@ typedef struct _GdkKeymapQuartzClass GdkKeymapQuartzClass; G_DEFINE_TYPE (GdkKeyMapQuartz, _gdk_keymap_quartz, GDK_TYPE_KEYMAP) +GdkKeymap * +_gdk_quartz_display_get_keymap (GdkDisplay *display) +{ + if (default_keymap == NULL) + default_keymap = g_object_new (_gdk_keymap_quartz_get_type (), NULL); + + return default_keymap; +} /* Note: we could check only if building against the 10.5 SDK instead, but * that would make non-xml layouts not work in 32-bit which would be a quite diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 92f2dce729..cd83030da4 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -187,7 +187,7 @@ void _gdk_quartz_display_create_window_impl (GdkDisplay *display, GdkEventMask event_mask, GdkWindowAttr *attributes, gint attributes_mask); - +GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display); GdkDisplay * _gdk_quartz_display_open (const gchar *name); From 6eb2a3520c32ff71e4c08eba63707eaefe402208 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:51:38 -0500 Subject: [PATCH 0806/1463] Implement atom-related vfuncs for quartz --- gdk/quartz/gdkdisplaymanager-quartz.c | 2 ++ gdk/quartz/gdkprivate-quartz.h | 6 ++++++ gdk/quartz/gdkproperty-quartz.c | 21 ++++++++------------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/gdk/quartz/gdkdisplaymanager-quartz.c b/gdk/quartz/gdkdisplaymanager-quartz.c index 2df3c7c8ed..54c361a469 100644 --- a/gdk/quartz/gdkdisplaymanager-quartz.c +++ b/gdk/quartz/gdkdisplaymanager-quartz.c @@ -100,6 +100,8 @@ gdk_display_manager_quartz_class_init (GdkDisplayManagerQuartzClass *class) manager_class->list_displays = gdk_display_manager_quartz_list_displays; manager_class->set_default_display = gdk_display_manager_quartz_set_default_display; manager_class->get_default_display = gdk_display_manager_quartz_get_default_display; + manager_class->atom_intern = _gdk_quartz_display_manager_atom_intern; + manager_class->get_atom_name = _gdk_quartz_display_manager_get_atom_name; } void diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index cd83030da4..b32a578eb9 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -236,5 +236,11 @@ gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, void _gdk_quartz_device_check_extension_events (GdkDevice *device); +GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gboolean copy_name); +gchar * _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkproperty-quartz.c b/gdk/quartz/gdkproperty-quartz.c index 3496b5c1db..5a42c3ba67 100644 --- a/gdk/quartz/gdkproperty-quartz.c +++ b/gdk/quartz/gdkproperty-quartz.c @@ -151,27 +151,22 @@ intern_atom_internal (const gchar *atom_name, gboolean allocate) } GdkAtom -gdk_atom_intern (const gchar *atom_name, - gboolean only_if_exists) +_gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gboolean copy_name) { - return intern_atom_internal (atom_name, TRUE); + return intern_atom_internal (atom_name, copy_name); } -GdkAtom -gdk_atom_intern_static_string (const gchar *atom_name) -{ - return intern_atom_internal (atom_name, FALSE); -} - - gchar * -gdk_atom_name (GdkAtom atom) +_gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom) { ensure_atom_tables (); - + if (GPOINTER_TO_INT (atom) >= atoms_to_names->len) return NULL; - + return g_strdup (g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom))); } From a1b300ecb6714e05541d4c0bd97fddbc26b4d08c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 21:24:25 -0500 Subject: [PATCH 0807/1463] Implement test vfuncs for quartz --- gdk/quartz/Makefile.am | 1 - gdk/quartz/gdkprivate-quartz.h | 14 ++++++ gdk/quartz/gdktestutils-quartz.c | 84 +++++--------------------------- gdk/quartz/gdkwindow-quartz.c | 4 ++ 4 files changed, 31 insertions(+), 72 deletions(-) diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 7774dbc159..381ddeb6dc 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -42,7 +42,6 @@ libgdk_quartz_la_SOURCES = \ gdkscreen-quartz.c \ gdkscreen-quartz.h \ gdkselection-quartz.c \ - gdkspawn-quartz.c \ gdktestutils-quartz.c \ gdkvisual-quartz.c \ gdkwindow-quartz.c \ diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index b32a578eb9..e3ab859bfd 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -242,5 +242,19 @@ GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, gchar * _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, GdkAtom atom); +void _gdk_quartz_window_sync_rendering (GdkWindow *window); +gboolean _gdk_quartz_window_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease); +gboolean _gdk_quartz_window_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, + GdkModifierType modifiers, + GdkEventType button_pressrelease); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdktestutils-quartz.c b/gdk/quartz/gdktestutils-quartz.c index f62baa4619..731b00b2ca 100644 --- a/gdk/quartz/gdktestutils-quartz.c +++ b/gdk/quartz/gdktestutils-quartz.c @@ -22,54 +22,19 @@ #include #include -/** - * gdk_test_render_sync - * @window: a mapped GdkWindow - * - * This function retrives a pixel from @window to force the windowing - * system to carry out any pending rendering commands. - * This function is intended to be used to syncronize with rendering - * pipelines, to benchmark windowing system rendering operations. - **/ void -gdk_test_render_sync (GdkWindow *window) +_gdk_quartz_window_sync_rendering (GdkWindow *window) { /* FIXME: Find out if there is a way to implement this on quartz. */ } -/** - * gdk_test_simulate_key - * @window: Gdk window to simulate a key event for. - * @x: x coordinate within @window for the key event. - * @y: y coordinate within @window for the key event. - * @keyval: A Gdk keyboard value. - * @modifiers: Keyboard modifiers the event is setup with. - * @key_pressrelease: either %GDK_KEY_PRESS or %GDK_KEY_RELEASE - * - * This function is intended to be used in Gtk+ test programs. - * If (@x,@y) are > (-1,-1), it will warp the mouse pointer to - * the given (@x,@y) corrdinates within @window and simulate a - * key press or release event. - * When the mouse pointer is warped to the target location, use - * of this function outside of test programs that run in their - * own virtual windowing system (e.g. Xvfb) is not recommended. - * If (@x,@y) are passed as (-1,-1), the mouse pointer will not - * be warped and @window origin will be used as mouse pointer - * location for the event. - * Also, gtk_test_simulate_key() is a fairly low level function, - * for most testing purposes, gtk_test_widget_send_key() is the - * right function to call which will generate a key press event - * followed by its accompanying key release event. - * - * Returns: wether all actions neccessary for a key event simulation were carried out successfully. - **/ gboolean -gdk_test_simulate_key (GdkWindow *window, - gint x, - gint y, - guint keyval, - GdkModifierType modifiers, - GdkEventType key_pressrelease) +_gdk_quartz_window_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease) { g_return_val_if_fail (key_pressrelease == GDK_KEY_PRESS || key_pressrelease == GDK_KEY_RELEASE, FALSE); g_return_val_if_fail (window != NULL, FALSE); @@ -82,36 +47,13 @@ gdk_test_simulate_key (GdkWindow *window, return FALSE; } -/** - * gdk_test_simulate_button - * @window: Gdk window to simulate a button event for. - * @x: x coordinate within @window for the button event. - * @y: y coordinate within @window for the button event. - * @button: Number of the pointer button for the event, usually 1, 2 or 3. - * @modifiers: Keyboard modifiers the event is setup with. - * @button_pressrelease: either %GDK_BUTTON_PRESS or %GDK_BUTTON_RELEASE - * - * This function is intended to be used in Gtk+ test programs. - * It will warp the mouse pointer to the given (@x,@y) corrdinates - * within @window and simulate a button press or release event. - * Because the mouse pointer needs to be warped to the target - * location, use of this function outside of test programs that - * run in their own virtual windowing system (e.g. Xvfb) is not - * recommended. - * Also, gtk_test_simulate_button() is a fairly low level function, - * for most testing purposes, gtk_test_widget_click() is the right - * function to call which will generate a button press event followed - * by its accompanying button release event. - * - * Returns: wether all actions neccessary for a button event simulation were carried out successfully. - **/ gboolean -gdk_test_simulate_button (GdkWindow *window, - gint x, - gint y, - guint button, /*1..3*/ - GdkModifierType modifiers, - GdkEventType button_pressrelease) +_gdk_quartz_window_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, /*1..3*/ + GdkModifierType modifiers, + GdkEventType button_pressrelease) { g_return_val_if_fail (button_pressrelease == GDK_BUTTON_PRESS || button_pressrelease == GDK_BUTTON_RELEASE, FALSE); g_return_val_if_fail (window != NULL, FALSE); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 9221416324..d70740db75 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -3050,6 +3050,7 @@ static void gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) { GdkWindowImplQuartzClass *window_quartz_class = GDK_WINDOW_IMPL_QUARTZ_CLASS (klass); + GdkWindowImplClass *impl_class = GDK_WINDOW_IMPL_CLASS (klass); root_window_parent_class = g_type_class_peek_parent (klass); @@ -3100,6 +3101,9 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) impl_class->register_dnd = _gdk_quartz_window_register_dnd; impl_class->drag_begin = _gdk_quartz_window_drag_begin; impl_class->process_updates_recurse = gdk_x11_window_process_updates_recurse; + impl_class->sync_rendering = _gdk_quartz_window_sync_rendering; + impl_class->simulate_key = _gdk_quartz_window_simulate_key; + impl_class->simulate_button = _gdk_quartz_window_simulate_button; } static void From 9ae2dc0deb2c76a7c0ce333a853f0e4375c58ebf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 12:59:07 -0500 Subject: [PATCH 0808/1463] Drop gdk_set_locale from quartz --- gdk/quartz/Makefile.am | 1 - gdk/quartz/gdkim-quartz.c | 41 --------------------------------------- 2 files changed, 42 deletions(-) delete mode 100644 gdk/quartz/gdkim-quartz.c diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 381ddeb6dc..7d40f89686 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -31,7 +31,6 @@ libgdk_quartz_la_SOURCES = \ gdkeventloop-quartz.c \ gdkgeometry-quartz.c \ gdkglobals-quartz.c \ - gdkim-quartz.c \ gdkinput.c \ gdkinputprivate.h \ gdkkeys-quartz.c \ diff --git a/gdk/quartz/gdkim-quartz.c b/gdk/quartz/gdkim-quartz.c deleted file mode 100644 index 621bda9e5a..0000000000 --- a/gdk/quartz/gdkim-quartz.c +++ /dev/null @@ -1,41 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include - -#include "gdkinternals.h" -#include "gdkprivate-quartz.h" - -gchar* -gdk_set_locale (void) -{ - if (!setlocale (LC_ALL,"")) - g_warning ("locale not supported by C library"); - - return setlocale (LC_ALL, NULL); -} From 168b3c13b733140233439f9ef861ebb861149a42 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 13:18:17 -0500 Subject: [PATCH 0809/1463] Implement keyval vfuncs for quartz --- gdk/Makefile.am | 3 ++- gdk/gdkkeynames.c | 8 +++---- gdk/quartz/gdkdisplaymanager-quartz.c | 32 +++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 5 deletions(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 684df0a04d..21c81fabae 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -16,6 +16,7 @@ CLEANFILES = EXTRA_DIST += \ keynames.txt \ keyname-table.h \ + gdkkeynames.c \ gen-keyname-table.pl \ gdkconfig.h.win32 \ gdkkeysyms-update.pl \ @@ -158,7 +159,7 @@ libgdk_3_0_la_SOURCES = $(common_sources) libgdk_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) libgdk_3_0_la_LDFLAGS = $(LDADD) -libgdk_quartz_3_0_la_SOURCES = $(common_sources) gdkkeynames.c +libgdk_quartz_3_0_la_SOURCES = $(common_sources) libgdk_quartz_3_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS) libgdk_quartz_3_0_la_LDFLAGS = $(LDADD) diff --git a/gdk/gdkkeynames.c b/gdk/gdkkeynames.c index bbebc3b26b..6d1fcd4475 100644 --- a/gdk/gdkkeynames.c +++ b/gdk/gdkkeynames.c @@ -45,8 +45,8 @@ gdk_keys_keyval_compare (const void *pkey, const void *pbase) return (*(int *) pkey) - ((gdk_key *) pbase)->keyval; } -gchar* -gdk_keyval_name (guint keyval) +static gchar* +_gdk_keyval_name (guint keyval) { static gchar buf[100]; gdk_key *found; @@ -86,8 +86,8 @@ gdk_keys_name_compare (const void *pkey, const void *pbase) (const char *) (keynames + ((const gdk_key *) pbase)->offset)); } -guint -gdk_keyval_from_name (const gchar *keyval_name) +static guint +_gdk_keyval_from_name (const gchar *keyval_name) { gdk_key *found; diff --git a/gdk/quartz/gdkdisplaymanager-quartz.c b/gdk/quartz/gdkdisplaymanager-quartz.c index 54c361a469..8627ba9df3 100644 --- a/gdk/quartz/gdkdisplaymanager-quartz.c +++ b/gdk/quartz/gdkdisplaymanager-quartz.c @@ -75,6 +75,35 @@ gdk_display_manager_quartz_set_default_display (GdkDisplayManager *manager, manager_quartz->default_display = display; } +#include "../gdkkeynames.c" + +static gchar * +gdk_quartz_display_manager_get_keyval_name (GdkDisplayManager *manager, + guint keyval) +{ + return _gdk_keyval_name (keyval); +} + +static guint +gdk_quartz_display_manager_lookup_keyval (GdkDisplayManager *manager, + const gchar *name) +{ + return _gdk_keyval_from_name (name); +} + +static void +gdk_quartz_display_manager_keyval_convert_case (GdkDisplayManager *manager, + guint symbol, + guint *lower, + guint *upper) +{ + /* FIXME implement this */ + if (lower) + *lower = symbol; + if (upper) + *upper = symbol; +} + static void gdk_display_manager_quartz_init (GdkDisplayManagerQuartz *manager) { @@ -102,6 +131,9 @@ gdk_display_manager_quartz_class_init (GdkDisplayManagerQuartzClass *class) manager_class->get_default_display = gdk_display_manager_quartz_get_default_display; manager_class->atom_intern = _gdk_quartz_display_manager_atom_intern; manager_class->get_atom_name = _gdk_quartz_display_manager_get_atom_name; + manager_class->lookup_keyval = gdk_quartz_display_manager_lookup_keyval; + manager_class->get_keyval_name = gdk_quartz_display_manager_get_keyval_name; + manager_class->keyval_convert_case = gdk_quartz_display_manager_keyval_convert_case; } void From 547d674ce58536065bffd32743a182165ff84ae3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 21 Dec 2010 21:29:50 -0500 Subject: [PATCH 0810/1463] Implement window property vfuncs for quartz --- gdk/quartz/gdkprivate-quartz.h | 20 +++++++++++++++++ gdk/quartz/gdkproperty-quartz.c | 38 ++++++++++++++++----------------- gdk/quartz/gdkwindow-quartz.c | 3 +++ 3 files changed, 42 insertions(+), 19 deletions(-) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index e3ab859bfd..4bda4d00d7 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -256,5 +256,25 @@ gboolean _gdk_quartz_window_simulate_button (GdkWindow *window, GdkModifierType modifiers, GdkEventType button_pressrelease); +gboolean _gdk_quartz_window_get_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data); +void _gdk_quartz_window_change_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements); +void _gdk_quartz_window_delete_property (GdkWindow *window, + GdkAtom property); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkproperty-quartz.c b/gdk/quartz/gdkproperty-quartz.c index 5a42c3ba67..40a45cc991 100644 --- a/gdk/quartz/gdkproperty-quartz.c +++ b/gdk/quartz/gdkproperty-quartz.c @@ -171,36 +171,36 @@ _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, } void -gdk_property_delete (GdkWindow *window, - GdkAtom property) +_gdk_quartz_window_delete_property (GdkWindow *window, + GdkAtom property) { /* FIXME: Implement */ } gint -gdk_property_get (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gulong offset, - gulong length, - gint pdelete, - GdkAtom *actual_property_type, - gint *actual_format_type, - gint *actual_length, - guchar **data) +_gdk_quartz_window_get_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data) { /* FIXME: Implement */ return 0; } void -gdk_property_change (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gint format, - GdkPropMode mode, - const guchar *data, - gint nelements) +_gdk_quartz_window_change_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements) { /* FIXME: Implement */ } diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index d70740db75..c6e32fa063 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -3104,6 +3104,9 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) impl_class->sync_rendering = _gdk_quartz_window_sync_rendering; impl_class->simulate_key = _gdk_quartz_window_simulate_key; impl_class->simulate_button = _gdk_quartz_window_simulate_button; + impl_class->get_property = _gdk_quartz_window_get_property; + impl_class->change_property = _gdk_quartz_window_change_property; + impl_class->delete_property = _gdk_quartz_window_delete_property; } static void From 762548d30379d436453bc170e8b4e8f622453d14 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 13:25:04 -0500 Subject: [PATCH 0811/1463] Implement selection owner vfuncs for quartz --- gdk/quartz/gdkdisplay-quartz.c | 2 ++ gdk/quartz/gdkprivate-quartz.h | 9 +++++++++ gdk/quartz/gdkselection-quartz.c | 14 +++++++------- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index c3edb04bd4..5b003fe827 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -254,4 +254,6 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->event_data_free = _gdk_quartz_display_event_data_free; display_class->create_window_impl = _gdk_quartz_display_create_window_impl; display_class->get_keymap = _gdk_quartz_display_get_keymap; + display_class->get_selection_owner = _gdk_quartz_display_get_selection_owner; + display_class->set_selection_owner = _gdk_quartz_display_set_selection_owner; } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 4bda4d00d7..89bbd7522f 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -276,5 +276,14 @@ void _gdk_quartz_window_change_property (GdkWindow *window, void _gdk_quartz_window_delete_property (GdkWindow *window, GdkAtom property); +gboolean _gdk_quartz_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event); +GdkWindow * _gdk_quartz_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection); + + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkselection-quartz.c b/gdk/quartz/gdkselection-quartz.c index c327eb9ef0..946a2c2bfc 100644 --- a/gdk/quartz/gdkselection-quartz.c +++ b/gdk/quartz/gdkselection-quartz.c @@ -26,19 +26,19 @@ #include "gdkproperty.h" gboolean -gdk_selection_owner_set_for_display (GdkDisplay *display, - GdkWindow *owner, - GdkAtom selection, - guint32 time, - gint send_event) +_gdk_quartz_display_set_selection_owner_set (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gint send_event) { /* FIXME: Implement */ return TRUE; } GdkWindow* -gdk_selection_owner_get_for_display (GdkDisplay *display, - GdkAtom selection) +_gdk_quartz_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection) { /* FIXME: Implement */ return NULL; From de417904708f1c53418aba6fb08dd8aeccde9a4a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 13:29:54 -0500 Subject: [PATCH 0812/1463] Implement selection related vfuncs for quartz --- gdk/quartz/gdkdisplay-quartz.c | 3 +++ gdk/quartz/gdkprivate-quartz.h | 18 ++++++++++++++++-- gdk/quartz/gdkselection-quartz.c | 32 +++++++++++++++++--------------- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 5b003fe827..fa31e360a3 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -256,4 +256,7 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->get_keymap = _gdk_quartz_display_get_keymap; display_class->get_selection_owner = _gdk_quartz_display_get_selection_owner; display_class->set_selection_owner = _gdk_quartz_display_set_selection_owner; + display_class->send_selection_notify = _gdk_quartz_display_send_selection_notify; + display_class->get_selection_property = _gdk_quartz_display_get_selection_property; + display_class->convert_selection = _gdk_quartz_display_convert_selection; } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 89bbd7522f..8e2d81164e 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -283,7 +283,21 @@ gboolean _gdk_quartz_display_set_selection_owner (GdkDisplay *display, gboolean send_event); GdkWindow * _gdk_quartz_display_get_selection_owner (GdkDisplay *display, GdkAtom selection); - - +void _gdk_quartz_display_send_selection_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time); +gint _gdk_quartz_display_get_selection_property (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format); +void _gdk_quartz_display_convert_selection (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time); #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkselection-quartz.c b/gdk/quartz/gdkselection-quartz.c index 946a2c2bfc..486c5230b1 100644 --- a/gdk/quartz/gdkselection-quartz.c +++ b/gdk/quartz/gdkselection-quartz.c @@ -45,31 +45,33 @@ _gdk_quartz_display_get_selection_owner (GdkDisplay *display, } void -gdk_selection_convert (GdkWindow *requestor, - GdkAtom selection, - GdkAtom target, - guint32 time) +_gdk_quartz_display_convert_selection (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time) { /* FIXME: Implement */ } gint -gdk_selection_property_get (GdkWindow *requestor, - guchar **data, - GdkAtom *ret_type, - gint *ret_format) +_gdk_quartz_display_get_selection_property (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format) { /* FIXME: Implement */ return 0; } void -gdk_selection_send_notify_for_display (GdkDisplay *display, - guint32 requestor, - GdkAtom selection, - GdkAtom target, - GdkAtom property, - guint32 time) +_gdk_quartz_display_send_selection_send_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time) { /* FIXME: Implement */ } @@ -77,7 +79,7 @@ gdk_selection_send_notify_for_display (GdkDisplay *display, gint gdk_text_property_to_text_list_for_display (GdkDisplay *display, GdkAtom encoding, - gint format, + gint format, const guchar *text, gint length, gchar ***list) From bd1ff477ca10b7b81a4ab90e481a3a111c09b3b0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 17 Dec 2010 13:34:04 -0500 Subject: [PATCH 0813/1463] Deal with property encoding functions for quartz --- gdk/quartz/gdkdisplay-quartz.c | 2 + gdk/quartz/gdkprivate-quartz.h | 9 +++++ gdk/quartz/gdkselection-quartz.c | 67 +++++--------------------------- 3 files changed, 20 insertions(+), 58 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index fa31e360a3..b66effa2b6 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -259,4 +259,6 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->send_selection_notify = _gdk_quartz_display_send_selection_notify; display_class->get_selection_property = _gdk_quartz_display_get_selection_property; display_class->convert_selection = _gdk_quartz_display_convert_selection; + display_class->text_property_to_utf8_list = _gdk_quartz_display_text_property_to_utf8_list; + display_class->utf8_to_string_target = _gdk_quartz_display_utf8_to_string_target; } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 8e2d81164e..d61ccf4670 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -299,5 +299,14 @@ void _gdk_quartz_display_convert_selection (GdkDisplay *display, GdkAtom selection, GdkAtom target, guint32 time); +gint _gdk_quartz_display_text_property_to_utf8_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); +gchar * _gdk_quartz_display_utf8_to_string_target (GdkDisplay *displayt, + const gchar *str); + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkselection-quartz.c b/gdk/quartz/gdkselection-quartz.c index 486c5230b1..473d24d3d7 100644 --- a/gdk/quartz/gdkselection-quartz.c +++ b/gdk/quartz/gdkselection-quartz.c @@ -76,63 +76,14 @@ _gdk_quartz_display_send_selection_send_notify (GdkDisplay *display, /* FIXME: Implement */ } -gint -gdk_text_property_to_text_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) -{ - /* FIXME: Implement */ - return 0; -} - -gint -gdk_string_to_compound_text_for_display (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length) -{ - /* FIXME: Implement */ - return 0; -} - -void gdk_free_compound_text (guchar *ctext) -{ - /* FIXME: Implement */ -} - gchar * -gdk_utf8_to_string_target (const gchar *str) +_gdk_quartz_display_utf8_to_string_target (GdkDisplay *display, + const gchar *str) { /* FIXME: Implement */ return NULL; } -gboolean -gdk_utf8_to_compound_text_for_display (GdkDisplay *display, - const gchar *str, - GdkAtom *encoding, - gint *format, - guchar **ctext, - gint *length) -{ - /* FIXME: Implement */ - return 0; -} - -void -gdk_free_text_list (gchar **list) -{ - g_return_if_fail (list != NULL); - - g_free (*list); - g_free (list); -} - static gint make_list (const gchar *text, gint length, @@ -202,13 +153,13 @@ make_list (const gchar *text, return n_strings; } -gint -gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) +gint +_gdk_quartz_display_text_property_to_utf8_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list) { g_return_val_if_fail (text != NULL, 0); g_return_val_if_fail (length >= 0, 0); From 3ace12256340181fa6dcbec27c15c905e5fd8a83 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 10:45:07 +0100 Subject: [PATCH 0814/1463] quartz: turn quartz GdkCursor into GObject --- gdk/quartz/gdkcursor-quartz.c | 81 +++++++++++++++++++++++++--------- gdk/quartz/gdkprivate-quartz.h | 6 --- 2 files changed, 61 insertions(+), 26 deletions(-) diff --git a/gdk/quartz/gdkcursor-quartz.c b/gdk/quartz/gdkcursor-quartz.c index 62f19a6dc2..f432b1979d 100644 --- a/gdk/quartz/gdkcursor-quartz.c +++ b/gdk/quartz/gdkcursor-quartz.c @@ -22,27 +22,51 @@ #include "gdkdisplay.h" #include "gdkcursor.h" +#include "gdkcursorprivate.h" #include "gdkprivate-quartz.h" #include "xcursors.h" +static GType gdk_quartz_cursor_get_type (void); + +#define GDK_TYPE_QUARTZ_CURSOR (gdk_quartz_cursor_get_type ()) +#define GDK_QUARTZ_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursor)) +#define GDK_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) +#define GDK_IS_QUARTZ_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_CURSOR)) +#define GDK_IS_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_CURSOR)) +#define GDK_QUARTZ_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) + +typedef struct _GdkQuartzCursor GdkQuartzCursor; +typedef struct _GdkQuartzCursorClass GdkQuartzCursorClass; + +struct _GdkQuartzCursor +{ + GdkCursor cursor; + + NSCursor *nscursor; +}; + +struct _GdkQuartzCursorClass +{ + GdkCursorClass cursor_class; +}; + + static GdkCursor *cached_xcursors[G_N_ELEMENTS (xcursors)]; static GdkCursor * gdk_quartz_cursor_new_from_nscursor (NSCursor *nscursor, GdkCursorType cursor_type) { - GdkCursorPrivate *private; - GdkCursor *cursor; + GdkQuartzCursor *private; - private = g_new (GdkCursorPrivate, 1); + private = g_object_new (GDK_TYPE_QUARTZ_CURSOR, + "cursor-type", cursor_type, + "display", _gdk_display, + NULL); private->nscursor = nscursor; - cursor = (GdkCursor *)private; - cursor->type = cursor_type; - cursor->ref_count = 1; - - return cursor; + return GDK_CURSOR (private); } static GdkCursor * @@ -335,20 +359,37 @@ _gdk_quartz_display_get_cursor_for_name (GdkDisplay *display, return NULL; } -void -_gdk_cursor_destroy (GdkCursor *cursor) +G_DEFINE_TYPE (GdkQuartzCursor, gdk_quartz_cursor, GDK_TYPE_CURSOR) + +static GdkPixbuf *gdk_quartz_cursor_get_image (GdkCursor *cursor); + +static void +gdk_quartz_cursor_finalize (GObject *object) { - GdkCursorPrivate *private; + GdkQuartzCursor *private = GDK_QUARTZ_CURSOR (object); - g_return_if_fail (cursor != NULL); - g_return_if_fail (cursor->ref_count == 0); - - private = (GdkCursorPrivate *)cursor; - [private->nscursor release]; - - g_free (private); + if (private->nscursor) + [private->nscursor release]; + private->nscursor = NULL; } +static void +gdk_quartz_cursor_class_init (GdkQuartzCursorClass *quartz_cursor_class) +{ + GdkCursorClass *cursor_class = GDK_CURSOR_CLASS (quartz_cursor_class); + GObjectClass *object_class = G_OBJECT_CLASS (quartz_cursor_class); + + object_class->finalize = gdk_quartz_cursor_finalize; + + cursor_class->get_image = gdk_quartz_cursor_get_image; +} + +static void +gdk_quartz_cursor_init (GdkQuartzCursor *cursor) +{ +} + + gboolean _gdk_quartz_display_supports_cursor_alpha (GdkDisplay *display) { @@ -381,8 +422,8 @@ _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, *height = 65536; } -GdkPixbuf * -gdk_cursor_get_image (GdkCursor *cursor) +static GdkPixbuf * +gdk_quartz_cursor_get_image (GdkCursor *cursor) { /* FIXME: Implement */ return NULL; diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index d61ccf4670..ed8db2485a 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -44,12 +44,6 @@ struct _GdkVisualClass GObjectClass parent_class; }; -struct _GdkCursorPrivate -{ - GdkCursor cursor; - NSCursor *nscursor; -}; - struct _GdkDragContextPrivate { id dragging_info; From 8cb301762a8224cf414d79a385044a6dfc87c373 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 10:45:29 +0100 Subject: [PATCH 0815/1463] Fix typo --- gdk/quartz/gdkprivate-quartz.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index ed8db2485a..ee4b902ea6 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -186,7 +186,7 @@ GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display); GdkDisplay * _gdk_quartz_display_open (const gchar *name); -GdkNativeWinodw _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, +GdkNativeWindow _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, GdkNativeWindow *xid, GdkDragProtocol *protocol, guint version); From 71404825c32f37ffd46e87ddb15ef597d025f1bd Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:31:58 +0100 Subject: [PATCH 0816/1463] quartz: fix up GdkDragContext conversion --- gdk/quartz/Makefile.am | 1 + gdk/quartz/gdkdnd-quartz.c | 32 +++++++++++++++++--------------- gdk/quartz/gdkprivate-quartz.h | 10 +--------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 7d40f89686..3f6081b564 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -27,6 +27,7 @@ libgdk_quartz_la_SOURCES = \ gdkdisplay-quartz.c \ gdkdisplaymanager-quartz.c \ gdkdnd-quartz.c \ + gdkdnd-quartz.h \ gdkevents-quartz.c \ gdkeventloop-quartz.c \ gdkgeometry-quartz.c \ diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 9f4b26cbc6..54b66461dc 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -19,12 +19,10 @@ */ #include "gdkdnd.h" +#include "gdkdnd-quartz.h" #include "gdkprivate-quartz.h" -typedef struct _GdkDragContext GdkDragContextQuartz; -typedef struct _GdkDragContextClass GdkDragContextQuartzClass; - -G_DEFINE_TYPE (GdkDragContextQuartz, gdk_quartz_drag_context, GDK_TYPE_DRAG_CONTEXT) +G_DEFINE_TYPE (GdkQuartzDragContext, gdk_quartz_drag_context, GDK_TYPE_DRAG_CONTEXT) GdkDragContext *_gdk_quartz_drag_source_context = NULL; @@ -40,15 +38,18 @@ _gdk_quartz_window_drag_begin (GdkWindow *window, GdkDevice *device, GList *targets) { + GdkDragContext *context; + g_assert (_gdk_quartz_drag_source_context == NULL); /* Create fake context */ - _gdk_quartz_drag_source_context = g_object_new (gdk_quartz_drag_context_get_type (), NULL); + _gdk_quartz_drag_source_context = g_object_new (GDK_TYPE_QUARTZ_DRAG_CONTEXT, + NULL); _gdk_quartz_drag_source_context->is_source = TRUE; - gdk_drag_context_set_device (_gdk_quartz_drag_source_context, device); + gdk_drag_context_set_device (context, device); - return _gdk_quartz_drag_source_context; + return context; } static gboolean @@ -65,25 +66,26 @@ gdk_quartz_drag_context_drag_motion (GdkDragContext *context, return FALSE; } -guint32 +GdkNativeWindow _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, - guint32 xid, - GdkDragProtocol *protocol) + GdkNativeWindow *xid, + GdkDragProtocol *protocol, + guint version) { /* FIXME: Implement */ return 0; } -static void +static GdkWindow * gdk_quartz_drag_context_find_window (GdkDragContext *context, GdkWindow *drag_window, GdkScreen *screen, gint x_root, gint y_root, - GdkWindow **dest_window, GdkDragProtocol *protocol) { /* FIXME: Implement */ + return NULL; } static void @@ -144,14 +146,14 @@ gdk_quartz_drag_context_drop_status (GdkDragContext *context) return FALSE; } -void +id gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context) { - return GDK_DRAG_CONTEXT_PRIVATE (context)->dragging_info; + return GDK_QUARTZ_DRAG_CONTEXT (context)->dragging_info; } static void -gdk_quartz_drag_context_init (GdkDragContextQuartz *context) +gdk_quartz_drag_context_init (GdkQuartzDragContext *context) { } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index ee4b902ea6..09d8e29e26 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -26,6 +26,7 @@ #include #include +#include #include #include @@ -34,22 +35,13 @@ #include "config.h" -#define GDK_DRAG_CONTEXT_PRIVATE(context) ((GdkDragContextPrivate *) GDK_DRAG_CONTEXT (context)->windowing_data) - typedef struct _GdkCursorPrivate GdkCursorPrivate; -typedef struct _GdkDragContextPrivate GdkDragContextPrivate; struct _GdkVisualClass { GObjectClass parent_class; }; -struct _GdkDragContextPrivate -{ - id dragging_info; - GdkDevice *device; -}; - extern GdkDisplay *_gdk_display; extern GdkScreen *_gdk_screen; extern GdkWindow *_gdk_root; From 881ea6e06c626adcb41fe052075ec457af3243db Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:32:14 +0100 Subject: [PATCH 0817/1463] quartz: convert GdkQuartzWindow to new drag context API --- gdk/quartz/GdkQuartzWindow.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c index 6fd0c9b75e..22ad990269 100644 --- a/gdk/quartz/GdkQuartzWindow.c +++ b/gdk/quartz/GdkQuartzWindow.c @@ -441,7 +441,7 @@ update_context_from_dragging_info (id sender) { g_assert (current_context != NULL); - GDK_DRAG_CONTEXT_PRIVATE (current_context)->dragging_info = sender; + GDK_QUARTZ_DRAG_CONTEXT (current_context)->dragging_info = sender; current_context->suggested_action = drag_operation_to_drag_action ([sender draggingSourceOperationMask]); current_context->actions = current_context->suggested_action; } @@ -455,7 +455,7 @@ update_context_from_dragging_info (id sender) if (current_context) g_object_unref (current_context); - current_context = gdk_drag_context_new (); + current_context = g_object_new (GDK_TYPE_QUARTZ_DRAG_CONTEXT, NULL); update_context_from_dragging_info (sender); window = [[self contentView] gdkWindow]; From 013cbea25fc6ec85a0ee5ab516efc0fcad76d652 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:37:49 +0100 Subject: [PATCH 0818/1463] quartz: Remove API for extension checks --- gdk/quartz/gdkdevice-core.c | 1 - gdk/quartz/gdkinput.c | 5 ----- gdk/quartz/gdkprivate-quartz.h | 2 -- 3 files changed, 8 deletions(-) diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c index 9e83d5f60d..92e402feb5 100644 --- a/gdk/quartz/gdkdevice-core.c +++ b/gdk/quartz/gdkdevice-core.c @@ -86,7 +86,6 @@ gdk_device_core_class_init (GdkDeviceCoreClass *klass) device_class->ungrab = gdk_device_core_ungrab; device_class->window_at_position = gdk_device_core_window_at_position; device_class->select_window_events = gdk_device_core_select_window_events; - device_class->check_extension_events = _gdk_quartz_device_check_extension_events; } static void diff --git a/gdk/quartz/gdkinput.c b/gdk/quartz/gdkinput.c index 8d96076d91..1a9bc7bfcd 100644 --- a/gdk/quartz/gdkinput.c +++ b/gdk/quartz/gdkinput.c @@ -198,11 +198,6 @@ _gdk_input_window_destroy (GdkWindow *window) g_free (input_window); } -void -_gdk_quartz_device_check_extension_events (GdkDevice *device) -{ -} - void _gdk_quartz_input_init (void) { diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 09d8e29e26..67ffc02c7e 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -220,8 +220,6 @@ gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value); -void _gdk_quartz_device_check_extension_events (GdkDevice *device); - GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, const gchar *atom_name, gboolean copy_name); From dff3973198323851761071d2eff03c5ff539a29e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:40:00 +0100 Subject: [PATCH 0819/1463] quartz: remove GdkCursorPrivate typedef --- gdk/quartz/gdkprivate-quartz.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 67ffc02c7e..dbe651f595 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -35,8 +35,6 @@ #include "config.h" -typedef struct _GdkCursorPrivate GdkCursorPrivate; - struct _GdkVisualClass { GObjectClass parent_class; From f4c0c47a1a679745e918201d9927871581855651 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:43:14 +0100 Subject: [PATCH 0820/1463] quartz: move bits into gdkcursor-quartz.h (private header for now) --- gdk/quartz/Makefile.am | 1 + gdk/quartz/gdkcursor-quartz.c | 27 +---------------- gdk/quartz/gdkcursor-quartz.h | 57 +++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 26 deletions(-) create mode 100644 gdk/quartz/gdkcursor-quartz.h diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 3f6081b564..20775e7cc2 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -22,6 +22,7 @@ libgdk_quartz_la_SOURCES = \ GdkQuartzWindow.c \ GdkQuartzWindow.h \ gdkcursor-quartz.c \ + gdkcursor-quartz.h \ gdkdevice-core.c \ gdkdevicemanager-core.c \ gdkdisplay-quartz.c \ diff --git a/gdk/quartz/gdkcursor-quartz.c b/gdk/quartz/gdkcursor-quartz.c index f432b1979d..cbbec9d325 100644 --- a/gdk/quartz/gdkcursor-quartz.c +++ b/gdk/quartz/gdkcursor-quartz.c @@ -22,36 +22,11 @@ #include "gdkdisplay.h" #include "gdkcursor.h" -#include "gdkcursorprivate.h" +#include "gdkcursor-quartz.h" #include "gdkprivate-quartz.h" #include "xcursors.h" -static GType gdk_quartz_cursor_get_type (void); - -#define GDK_TYPE_QUARTZ_CURSOR (gdk_quartz_cursor_get_type ()) -#define GDK_QUARTZ_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursor)) -#define GDK_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) -#define GDK_IS_QUARTZ_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_CURSOR)) -#define GDK_IS_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_CURSOR)) -#define GDK_QUARTZ_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) - -typedef struct _GdkQuartzCursor GdkQuartzCursor; -typedef struct _GdkQuartzCursorClass GdkQuartzCursorClass; - -struct _GdkQuartzCursor -{ - GdkCursor cursor; - - NSCursor *nscursor; -}; - -struct _GdkQuartzCursorClass -{ - GdkCursorClass cursor_class; -}; - - static GdkCursor *cached_xcursors[G_N_ELEMENTS (xcursors)]; static GdkCursor * diff --git a/gdk/quartz/gdkcursor-quartz.h b/gdk/quartz/gdkcursor-quartz.h new file mode 100644 index 0000000000..3210e20868 --- /dev/null +++ b/gdk/quartz/gdkcursor-quartz.h @@ -0,0 +1,57 @@ +/* gdkcursor-quartz.h + * + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_QUARTZ_CURSOR_H__ +#define __GDK_QUARTZ_CURSOR_H__ + +#include +#include +#include "gdkcursorprivate.h" + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_CURSOR (gdk_quartz_cursor_get_type ()) +#define GDK_QUARTZ_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursor)) +#define GDK_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) +#define GDK_IS_QUARTZ_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_CURSOR)) +#define GDK_IS_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_CURSOR)) +#define GDK_QUARTZ_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) + +typedef struct _GdkQuartzCursor GdkQuartzCursor; +typedef struct _GdkQuartzCursorClass GdkQuartzCursorClass; + +struct _GdkQuartzCursor +{ + GdkCursor cursor; + + NSCursor *nscursor; +}; + +struct _GdkQuartzCursorClass +{ + GdkCursorClass cursor_class; +}; + +GType gdk_quartz_cursor_get_type (void); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DRAG_CONTEXT_H__ */ From 62273fc08ae0299a4cb11702992abd126748aed8 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:43:43 +0100 Subject: [PATCH 0821/1463] quartz: add forgotten file (gdkdnd-quartz.h) --- gdk/quartz/gdkdnd-quartz.h | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 gdk/quartz/gdkdnd-quartz.h diff --git a/gdk/quartz/gdkdnd-quartz.h b/gdk/quartz/gdkdnd-quartz.h new file mode 100644 index 0000000000..d733e721ac --- /dev/null +++ b/gdk/quartz/gdkdnd-quartz.h @@ -0,0 +1,57 @@ +/* gdkdnd-quartz.h + * + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_QUARTZ_DND_H__ +#define __GDK_QUARTZ_DND_H__ + +#include +#include +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DRAG_CONTEXT (gdk_quartz_drag_context_get_type ()) +#define GDK_QUARTZ_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContext)) +#define GDK_QUARTZ_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContextClass)) +#define GDK_IS_QUARTZ_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_DRAG_CONTEXT)) +#define GDK_IS_QUARTZ_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_DRAG_CONTEXT)) +#define GDK_QUARTZ_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContextClass)) + +typedef struct _GdkQuartzDragContext GdkQuartzDragContext; +typedef struct _GdkQuartzDragContextClass GdkQuartzDragContextClass; + +struct _GdkQuartzDragContext +{ + GdkDragContext context; + + id dragging_info; + GdkDevice *device; +}; + +struct _GdkQuartzDragContextClass +{ + GdkDragContextClass context_class; +}; + +GType gdk_quartz_drag_context_get_type (void); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DRAG_CONTEXT_H__ */ From da481666cd032719a4e8bd82f968ee6cb9dd37bc Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:44:31 +0100 Subject: [PATCH 0822/1463] quartz: gdkdevice-core.c: use GdkQuartzCursor --- gdk/quartz/gdkdevice-core.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c index 92e402feb5..dc1175831f 100644 --- a/gdk/quartz/gdkdevice-core.c +++ b/gdk/quartz/gdkdevice-core.c @@ -22,6 +22,7 @@ #import "GdkQuartzView.h" #include "gdkwindow-quartz.h" +#include "gdkcursor-quartz.h" #include "gdkprivate-quartz.h" #include "gdkdevice-core.h" @@ -156,10 +157,10 @@ gdk_device_core_set_window_cursor (GdkDevice *device, GdkWindow *window, GdkCursor *cursor) { - GdkCursorPrivate *cursor_private; + GdkQuartzCursor *cursor_private; NSCursor *nscursor; - cursor_private = (GdkCursorPrivate*) cursor; + cursor_private = (GdkQuartzCursor *) cursor; if (GDK_WINDOW_DESTROYED (window)) return; From 98b8bf035f3907f6a5248d0d63be5dc3dae7a2c4 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:48:04 +0100 Subject: [PATCH 0823/1463] quartz: gdkdevice-core: fix up --- gdk/quartz/gdkdevice-core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c index dc1175831f..3244a438c5 100644 --- a/gdk/quartz/gdkdevice-core.c +++ b/gdk/quartz/gdkdevice-core.c @@ -20,6 +20,8 @@ #include "config.h" +#include + #import "GdkQuartzView.h" #include "gdkwindow-quartz.h" #include "gdkcursor-quartz.h" @@ -310,7 +312,7 @@ gdk_device_core_ungrab (GdkDevice *device, if (grab) grab->serial_end = 0; - _gdk_display_device_grab_update (_gdk_display, device, 0); + _gdk_display_device_grab_update (_gdk_display, device, NULL, 0); } static GdkWindow * From 988b8bf96a48a59c9854e8b5d13fbc0addaaffd2 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 13:53:01 +0100 Subject: [PATCH 0824/1463] quartz: gdkcursor-quartz.h: fix cut-n-paste error --- gdk/quartz/gdkcursor-quartz.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkcursor-quartz.h b/gdk/quartz/gdkcursor-quartz.h index 3210e20868..bbbc198de1 100644 --- a/gdk/quartz/gdkcursor-quartz.h +++ b/gdk/quartz/gdkcursor-quartz.h @@ -54,4 +54,4 @@ GType gdk_quartz_cursor_get_type (void); G_END_DECLS -#endif /* __GDK_QUARTZ_DRAG_CONTEXT_H__ */ +#endif /* __GDK_QUARTZ_CURSOR_H__ */ From 709b4d43467289a7658e7dc6d2e75eaec5115d3f Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:13:21 +0100 Subject: [PATCH 0825/1463] quartz: Fix display manager, move over code from gdkmain-quartz.c --- gdk/quartz/gdkdisplaymanager-quartz.c | 69 ++++++++++++++++----------- gdk/quartz/gdkmain-quartz.c | 14 ------ 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/gdk/quartz/gdkdisplaymanager-quartz.c b/gdk/quartz/gdkdisplaymanager-quartz.c index 8627ba9df3..d555087000 100644 --- a/gdk/quartz/gdkdisplaymanager-quartz.c +++ b/gdk/quartz/gdkdisplaymanager-quartz.c @@ -1,6 +1,7 @@ /* GDK - The GIMP Drawing Kit * gdkdisplaymanager-quartz.c * + * Copyrighgt (C) 2005 Imendio AB * Copyright 2010 Red Hat, Inc. * * Author: Matthias clasen @@ -23,19 +24,22 @@ #include "config.h" +#include +#include + #include "gdkdisplay-quartz.h" #include "gdkprivate-quartz.h" #include "gdkdisplaymanagerprivate.h" #include "gdkinternals.h" -#define GDK_TYPE_DISPLAY_MANAGER_QUARTZ (gdk_display_manager_quartz_get_type ()) -#define GDK_DISPLAY_MANAGER_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER_QUARTZ, GdkDisplayManagerQuartz)) +#define GDK_TYPE_QUARTZ_DISPLAY_MANAGER (gdk_quartz_display_manager_get_type ()) +#define GDK_QUARTZ_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DISPLAY_MANAGER, GdkQuartzDisplayManager)) -typedef struct _GdkDisplayManagerQuartz GdkDisplayManagerQuartz; -typedef struct _GdkDisplayManagerClass GdkDisplayManagerQuartzClass; +typedef struct _GdkQuartzDisplayManager GdkQuartzDisplayManager; +typedef struct _GdkDisplayManagerClass GdkQuartzDisplayManagerClass; -struct _GdkDisplayManagerQuartz +struct _GdkQuartzDisplayManager { GdkDisplayManager parent; @@ -43,34 +47,34 @@ struct _GdkDisplayManagerQuartz GSList *displays; }; -G_DEFINE_TYPE (GdkDisplayManagerQuartz, gdk_display_manager_quartz, GDK_TYPE_DISPLAY_MANAGER) +G_DEFINE_TYPE (GdkQuartzDisplayManager, gdk_quartz_display_manager, GDK_TYPE_DISPLAY_MANAGER) static GdkDisplay * -gdk_display_manager_quartz_open_display (GdkDisplayManager *manager, - const gchar *name) +gdk_quartz_display_manager_open_display (GdkDisplayManager *manager, + const gchar *name) { return _gdk_quartz_display_open (name); } static GSList * -gdk_display_manager_quartz_list_displays (GdkDisplayManager *manager) +gdk_quartz_display_manager_list_displays (GdkDisplayManager *manager) { - GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + GdkQuartzDisplayManager *manager_quartz = GDK_QUARTZ_DISPLAY_MANAGER (manager); return g_slist_copy (manager_quartz->displays); } static GdkDisplay * -gdk_display_manager_quartz_get_default_display (GdkDisplayManager *manager) +gdk_quartz_display_manager_get_default_display (GdkDisplayManager *manager) { - return GDK_DISPLAY_MANAGER_QUARTZ (manager)->default_display; + return GDK_QUARTZ_DISPLAY_MANAGER (manager)->default_display; } static void -gdk_display_manager_quartz_set_default_display (GdkDisplayManager *manager, +gdk_quartz_display_manager_set_default_display (GdkDisplayManager *manager, GdkDisplay *display) { - GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + GdkQuartzDisplayManager *manager_quartz = GDK_QUARTZ_DISPLAY_MANAGER (manager); manager_quartz->default_display = display; } @@ -105,30 +109,41 @@ gdk_quartz_display_manager_keyval_convert_case (GdkDisplayManager *manager, } static void -gdk_display_manager_quartz_init (GdkDisplayManagerQuartz *manager) +gdk_quartz_display_manager_init (GdkQuartzDisplayManager *manager) { - _gdk_quartz_windowing_init (); + ProcessSerialNumber psn = { 0, kCurrentProcess }; + void (*_gtk_quartz_framework_init_ptr) (void); + + /* Make the current process a foreground application, i.e. an app + * with a user interface, in case we're not running from a .app bundle + */ + TransformProcessType (&psn, kProcessTransformToForegroundApplication); + + /* Initialize GTK+ framework if there is one. */ + _gtk_quartz_framework_init_ptr = dlsym (RTLD_DEFAULT, "_gtk_quartz_framework_init"); + if (_gtk_quartz_framework_init_ptr) + _gtk_quartz_framework_init_ptr (); } static void -gdk_display_manager_quartz_finalize (GObject *object) +gdk_quartz_display_manager_finalize (GObject *object) { - g_error ("A GdkDisplayManagerQuartz object was finalized. This should not happen"); - G_OBJECT_CLASS (gdk_display_manager_quartz_parent_class)->finalize (object); + g_error ("A GdkQuartzDisplayManager object was finalized. This should not happen"); + G_OBJECT_CLASS (gdk_quartz_display_manager_parent_class)->finalize (object); } static void -gdk_display_manager_quartz_class_init (GdkDisplayManagerQuartzClass *class) +gdk_quartz_display_manager_class_init (GdkQuartzDisplayManagerClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayManagerClass *manager_class = GDK_DISPLAY_MANAGER_CLASS (class); - object_class->finalize = gdk_display_manager_quartz_finalize; + object_class->finalize = gdk_quartz_display_manager_finalize; - manager_class->open_display = gdk_display_manager_quartz_open_display; - manager_class->list_displays = gdk_display_manager_quartz_list_displays; - manager_class->set_default_display = gdk_display_manager_quartz_set_default_display; - manager_class->get_default_display = gdk_display_manager_quartz_get_default_display; + manager_class->open_display = gdk_quartz_display_manager_open_display; + manager_class->list_displays = gdk_quartz_display_manager_list_displays; + manager_class->set_default_display = gdk_quartz_display_manager_set_default_display; + manager_class->get_default_display = gdk_quartz_display_manager_get_default_display; manager_class->atom_intern = _gdk_quartz_display_manager_atom_intern; manager_class->get_atom_name = _gdk_quartz_display_manager_get_atom_name; manager_class->lookup_keyval = gdk_quartz_display_manager_lookup_keyval; @@ -140,7 +155,7 @@ void _gdk_quartz_display_manager_add_display (GdkDisplayManager *manager, GdkDisplay *display) { - GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + GdkQuartzDisplayManager *manager_quartz = GDK_QUARTZ_DISPLAY_MANAGER (manager); if (manager_quartz->displays == NULL) gdk_display_manager_set_default_display (manager, display); @@ -152,7 +167,7 @@ void _gdk_quartz_display_manager_remove_display (GdkDisplayManager *manager, GdkDisplay *display) { - GdkDisplayManagerQuartz *manager_quartz = GDK_DISPLAY_MANAGER_QUARTZ (manager); + GdkQuartzDisplayManager *manager_quartz = GDK_QUARTZ_DISPLAY_MANAGER (manager); manager_quartz->displays = g_slist_remove (manager_quartz->displays, display); diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c index b58f05d12f..81ba6638b4 100644 --- a/gdk/quartz/gdkmain-quartz.c +++ b/gdk/quartz/gdkmain-quartz.c @@ -19,10 +19,8 @@ */ #include "config.h" -#include #include "gdk.h" -#include const GOptionEntry _gdk_windowing_args[] = { { NULL } @@ -31,18 +29,6 @@ const GOptionEntry _gdk_windowing_args[] = { void _gdk_windowing_init (void) { - ProcessSerialNumber psn = { 0, kCurrentProcess }; - void (*_gtk_quartz_framework_init_ptr) (void); - - /* Make the current process a foreground application, i.e. an app - * with a user interface, in case we're not running from a .app bundle - */ - TransformProcessType (&psn, kProcessTransformToForegroundApplication); - - /* Initialize GTK+ framework if there is one. */ - _gtk_quartz_framework_init_ptr = dlsym (RTLD_DEFAULT, "_gtk_quartz_framework_init"); - if (_gtk_quartz_framework_init_ptr) - _gtk_quartz_framework_init_ptr (); } void From b2844cb48b1bcc1c57f1c4fa9b05a07858cb2bb7 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:13:41 +0100 Subject: [PATCH 0826/1463] quartz: Make GdkQuartzDisplay compile --- gdk/quartz/gdkdisplay-quartz.c | 25 ++++++++++++------------- gdk/quartz/gdkdnd-quartz.c | 8 ++++---- gdk/quartz/gdkprivate-quartz.h | 11 ++++++++--- gdk/quartz/gdkscreen-quartz.h | 2 ++ 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index b66effa2b6..de5bf16a6f 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -21,12 +21,11 @@ #include "config.h" #include "gdk.h" -#include "gdkdisplay-quartz.h" #include "gdkprivate-quartz.h" #include "gdkscreen-quartz.h" +#include "gdkdisplay-quartz.h" #include "gdkdevicemanager-core.h" - static GdkWindow * gdk_quartz_display_get_default_group (GdkDisplay *display) { @@ -188,37 +187,37 @@ _gdk_quartz_display_get_next_serial (GdkDisplay *display) return 0; } -G_DEFINE_TYPE (GdkDisplayQuartz, _gdk_display_quartz, GDK_TYPE_DISPLAY) +G_DEFINE_TYPE (GdkQuartzDisplay, _gdk_quartz_display, GDK_TYPE_DISPLAY) static void -_gdk_display_quartz_init (GdkDisplayQuartz *display) +_gdk_quartz_display_init (GdkQuartzDisplay *display) { - gdk_quartz_display_manager_add_display (gdk_display_nmanager_get (), - GDK_DISPLAY_OBJECT (display)); + _gdk_quartz_display_manager_add_display (gdk_display_manager_get (), + GDK_DISPLAY_OBJECT (display)); } static void -_gdk_display_quartz_dispose (GObject *object) +_gdk_quartz_display_dispose (GObject *object) { _gdk_quartz_display_manager_remove_display (gdk_display_manager_get (), GDK_DISPLAY_OBJECT (object)); - G_OBJECT_CLASS (_gdk_display_quartz_parent_class)->dispose (object); + G_OBJECT_CLASS (_gdk_quartz_display_parent_class)->dispose (object); } static void -_gdk_display_quartz_finalize (GObject *object) +_gdk_quartz_display_finalize (GObject *object) { - G_OBJECT_CLASS (_gdk_display_quartz_parent_class)->finalize (object); + G_OBJECT_CLASS (_gdk_quartz_display_parent_class)->finalize (object); } static void -_gdk_display_quartz_class_init (GdkDisplayQuartz *class) +_gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); - object_class->finalize = _gdk_display_quartz_finalize; + object_class->finalize = _gdk_quartz_display_finalize; display_class->get_name = gdk_quartz_display_get_name; display_class->get_n_screens = gdk_quartz_display_get_n_screens; @@ -248,7 +247,7 @@ _gdk_display_quartz_class_init (GdkDisplayQuartz *class) display_class->get_maximal_cursor_size = _gdk_quartz_display_get_maximal_cursor_size; display_class->supports_cursor_alpha = _gdk_quartz_display_supports_cursor_alpha; display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color; - display_class->get_next_serial = gdk_quartz_display_get_next_serial; + display_class->get_next_serial = _gdk_quartz_display_get_next_serial; display_class->notify_startup_complete = _gdk_quartz_display_notify_startup_complete; display_class->event_data_copy = _gdk_quartz_display_event_data_copy; display_class->event_data_free = _gdk_quartz_display_event_data_free; diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 54b66461dc..78ff19feae 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -67,10 +67,10 @@ gdk_quartz_drag_context_drag_motion (GdkDragContext *context, } GdkNativeWindow -_gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, - GdkNativeWindow *xid, - GdkDragProtocol *protocol, - guint version) +_gdk_quartz_display_get_drag_protocol (GdkDisplay *display, + GdkNativeWindow xid, + GdkDragProtocol *protocol, + guint *version) { /* FIXME: Implement */ return 0; diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index dbe651f595..0a28b73e03 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -176,10 +176,10 @@ GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display); GdkDisplay * _gdk_quartz_display_open (const gchar *name); -GdkNativeWindow _gdk_quartz_display_get_drag_get_protocol (GdkDisplay *display, - GdkNativeWindow *xid, +GdkNativeWindow _gdk_quartz_display_get_drag_protocol (GdkDisplay *display, + GdkNativeWindow xid, GdkDragProtocol *protocol, - guint version); + guint *version); gboolean _gdk_quartz_display_send_client_message (GdkDisplay *display, @@ -224,6 +224,11 @@ GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, gchar * _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, GdkAtom atom); +void _gdk_quartz_display_manager_add_display (GdkDisplayManager *manager, + GdkDisplay *display); +void _gdk_quartz_display_manager_remove_display (GdkDisplayManager *manager, + GdkDisplay *display); + void _gdk_quartz_window_sync_rendering (GdkWindow *window); gboolean _gdk_quartz_window_simulate_key (GdkWindow *window, gint x, diff --git a/gdk/quartz/gdkscreen-quartz.h b/gdk/quartz/gdkscreen-quartz.h index 4d211e3828..d98939b2fa 100644 --- a/gdk/quartz/gdkscreen-quartz.h +++ b/gdk/quartz/gdkscreen-quartz.h @@ -23,6 +23,8 @@ G_BEGIN_DECLS +#include + typedef struct _GdkScreenQuartz GdkScreenQuartz; typedef struct _GdkScreenQuartzClass GdkScreenQuartzClass; From d0976d9f53f998a694884d76da7e702aefcf3afe Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:14:48 +0100 Subject: [PATCH 0827/1463] quartz: Fix gdkevents-quartz.c --- gdk/quartz/gdkevents-quartz.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 528e6a43b6..f4f4e8abfe 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -31,6 +31,7 @@ #include "gdkscreen.h" #include "gdkkeysyms.h" +#include "gdkdisplay-quartz.h" #include "gdkprivate-quartz.h" #include "gdkdevicemanager-core.h" @@ -94,7 +95,7 @@ break_all_grabs (guint32 time) grab->implicit_ungrab = TRUE; } - _gdk_display_device_grab_update (_gdk_display, l->data, 0); + _gdk_display_device_grab_update (_gdk_display, l->data, NULL, 0); } g_list_free (list); From e4a010154207decd64f56fad3a019eaad4ad82e9 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:16:52 +0100 Subject: [PATCH 0828/1463] quartz: gdkeventloop-quartz.c: fix --- gdk/quartz/gdkeventloop-quartz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkeventloop-quartz.c b/gdk/quartz/gdkeventloop-quartz.c index 71c15b8a95..a2a2cd3153 100644 --- a/gdk/quartz/gdkeventloop-quartz.c +++ b/gdk/quartz/gdkeventloop-quartz.c @@ -664,7 +664,7 @@ gdk_event_dispatch (GSource *source, GDK_THREADS_ENTER (); - _gdk_events_queue (_gdk_display); + _gdk_quartz_display_queue_events (_gdk_display); event = _gdk_event_unqueue (_gdk_display); From 6fe3100f14894420061001dc12ae4176a30ab7c3 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:24:20 +0100 Subject: [PATCH 0829/1463] quartz: Remove gdkinput code --- gdk/quartz/Makefile.am | 2 - gdk/quartz/gdkinput-old.c | 68 ---------- gdk/quartz/gdkinput.c | 249 ----------------------------------- gdk/quartz/gdkinputprivate.h | 148 --------------------- 4 files changed, 467 deletions(-) delete mode 100644 gdk/quartz/gdkinput-old.c delete mode 100644 gdk/quartz/gdkinput.c delete mode 100644 gdk/quartz/gdkinputprivate.h diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 20775e7cc2..a4a9b4932b 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -33,8 +33,6 @@ libgdk_quartz_la_SOURCES = \ gdkeventloop-quartz.c \ gdkgeometry-quartz.c \ gdkglobals-quartz.c \ - gdkinput.c \ - gdkinputprivate.h \ gdkkeys-quartz.c \ gdkmain-quartz.c \ gdkprivate-quartz.h \ diff --git a/gdk/quartz/gdkinput-old.c b/gdk/quartz/gdkinput-old.c deleted file mode 100644 index 3ed0609d5a..0000000000 --- a/gdk/quartz/gdkinput-old.c +++ /dev/null @@ -1,68 +0,0 @@ -/* gdkinput.c - * - * Copyright (C) 2005 Imendio AB - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include "gdkinput.h" - -GType -gdk_device_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkDeviceClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) NULL, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkDevicePrivate), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL, - }; - - object_type = g_type_register_static (G_TYPE_OBJECT, - "GdkDevice", - &object_info, 0); - } - - return object_type; -} - -void -gdk_device_set_key (GdkDevice *device, - guint index, - guint keyval, - GdkModifierType modifiers) -{ - /* FIXME: Implement */ -} - -gboolean -gdk_device_get_axis (GdkDevice *device, gdouble *axes, GdkAxisUse use, gdouble *value) -{ - /* FIXME: Implement */ - return FALSE; -} - diff --git a/gdk/quartz/gdkinput.c b/gdk/quartz/gdkinput.c deleted file mode 100644 index 1a9bc7bfcd..0000000000 --- a/gdk/quartz/gdkinput.c +++ /dev/null @@ -1,249 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" -#include - -#include "gdkprivate-quartz.h" -#include "gdkinput.h" -#include "gdkprivate.h" -#include "gdkinputprivate.h" -#include -#include - -/* Addition used for extension_events mask */ -#define GDK_ALL_DEVICES_MASK (1<<30) - -GdkDevice *_gdk_core_pointer = NULL; - -/* Global variables */ - -gchar *_gdk_input_gxid_host; -gint _gdk_input_gxid_port; -gint _gdk_input_ignore_core; -GList *_gdk_input_windows; -GList *_gdk_input_devices; - - -GList * -_gdk_quartz_display_list_devices (GdkDisplay *dpy) -{ - return _gdk_input_devices; -} - -static void -_gdk_input_select_device_events (GdkWindow *impl_window, - GdkDevice *device) -{ - guint event_mask; - GdkWindow *w; - GdkInputWindow *iw; - GdkInputMode mode; - gboolean has_cursor; - GdkDeviceType type; - GList *l; - - event_mask = 0; - iw = impl_window->input_window; - - g_object_get (device, - "type", &type, - "input-mode", &mode, - "has-cursor", &has_cursor, - NULL); - - if (iw == NULL || - mode == GDK_MODE_DISABLED || - type == GDK_DEVICE_TYPE_MASTER) - return; - - for (l = _gdk_input_windows; l != NULL; l = l->next) - { - w = l->data; - - if (has_cursor || (w->extension_events & GDK_ALL_DEVICES_MASK)) - { - event_mask = w->extension_events; - - if (event_mask) - event_mask |= GDK_PROXIMITY_OUT_MASK - | GDK_BUTTON_PRESS_MASK - | GDK_BUTTON_RELEASE_MASK; - - gdk_window_set_device_events ((GdkWindow *) w, device, event_mask); - } - } -} - -gint -_gdk_input_enable_window (GdkWindow *window, GdkDevicePrivate *gdkdev) -{ - return TRUE; -} - -gint -_gdk_input_disable_window (GdkWindow *window, GdkDevicePrivate *gdkdev) -{ - return TRUE; -} - - -GdkInputWindow * -_gdk_input_window_find(GdkWindow *window) -{ - GList *tmp_list; - - for (tmp_list=_gdk_input_windows; tmp_list; tmp_list=tmp_list->next) - if (((GdkInputWindow *)(tmp_list->data))->window == window) - return (GdkInputWindow *)(tmp_list->data); - - return NULL; /* Not found */ -} - -/* FIXME: this routine currently needs to be called between creation - and the corresponding configure event (because it doesn't get the - root_relative_geometry). This should work with - gtk_window_set_extension_events, but will likely fail in other - cases */ - -void -gdk_input_set_extension_events (GdkWindow *window, - gint mask, - GdkExtensionMode mode) -{ - GList *tmp_list; - GdkInputWindow *iw; - GdkWindow *impl_window; - - g_return_if_fail (window != NULL); - g_return_if_fail (GDK_WINDOW_IS_QUARTZ (window)); - - impl_window = (GdkWindow *)_gdk_window_get_impl_window (window); - - if (mode == GDK_EXTENSION_EVENTS_NONE) - mask = 0; - - if (mask != 0) - { - iw = g_new (GdkInputWindow, 1); - - iw->window = window; - iw->mode = mode; - - iw->obscuring = NULL; - iw->num_obscuring = 0; - iw->grabbed = FALSE; - - _gdk_input_windows = g_list_append (_gdk_input_windows, iw); - window->extension_events = mask; - - /* Add enter window events to the event mask */ - /* FIXME, this is not needed for XINPUT_NONE */ - gdk_window_set_events (window, - gdk_window_get_events (window) | - GDK_ENTER_NOTIFY_MASK); - } - else - { - iw = _gdk_input_window_find (window); - if (iw) - { - _gdk_input_windows = g_list_remove (_gdk_input_windows,iw); - g_free (iw); - } - - window->extension_events = 0; - } - - for (tmp_list = _gdk_input_devices; tmp_list; tmp_list = tmp_list->next) - { - GdkDevice *dev = tmp_list->data; - - _gdk_input_select_device_events (GDK_WINDOW (impl_window), dev); - } -} - -void -_gdk_input_window_destroy (GdkWindow *window) -{ - GdkInputWindow *input_window; - - input_window = _gdk_input_window_find (window); - g_return_if_fail (input_window != NULL); - - _gdk_input_windows = g_list_remove (_gdk_input_windows,input_window); - g_free (input_window); -} - -void -_gdk_quartz_input_init (void) -{ - GdkDeviceManager *device_manager; - GList *list, *l; - - device_manager = gdk_display_get_device_manager (_gdk_display); - - /* For backward compatibility, just add floating devices that are - * not keyboards. - */ - list = gdk_device_manager_list_devices (device_manager, - GDK_DEVICE_TYPE_FLOATING); - for (l = list; l; l = l->next) - { - GdkDevice *device = l->data; - - if (gdk_device_get_source(device) == GDK_SOURCE_KEYBOARD) - continue; - - _gdk_input_devices = g_list_prepend (_gdk_input_devices, l->data); - } - - g_list_free (list); - - /* Now set "core" pointer to the first master device that is a pointer. - */ - list = gdk_device_manager_list_devices (device_manager, - GDK_DEVICE_TYPE_MASTER); - - for (l = list; l; l = l->next) - { - GdkDevice *device = list->data; - - if (gdk_device_get_source(device) != GDK_SOURCE_MOUSE) - continue; - - _gdk_display->core_pointer = device; - break; - } - - g_list_free (list); - - /* Add the core pointer to the devices list */ - _gdk_input_devices = g_list_prepend (_gdk_input_devices, - _gdk_display->core_pointer); - - _gdk_input_ignore_core = FALSE; -} diff --git a/gdk/quartz/gdkinputprivate.h b/gdk/quartz/gdkinputprivate.h deleted file mode 100644 index a72aa10760..0000000000 --- a/gdk/quartz/gdkinputprivate.h +++ /dev/null @@ -1,148 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#ifndef __GDK_INPUTPRIVATE_H__ -#define __GDK_INPUTPRIVATE_H__ - -#include "config.h" -#include "gdkinput.h" -#include "gdkevents.h" -#include "gdkquartz.h" - -typedef struct _GdkAxisInfo GdkAxisInfo; -typedef struct _GdkInputVTable GdkInputVTable; - -struct _GdkInputVTable { - gint (*set_mode) (guint32 deviceid, GdkInputMode mode); - void (*set_axes) (guint32 deviceid, GdkAxisUse *axes); - void (*set_key) (guint32 deviceid, - guint index, - guint keyval, - GdkModifierType modifiers); - - GdkTimeCoord* (*motion_events) (GdkWindow *window, - guint32 deviceid, - guint32 start, - guint32 stop, - gint *nevents_return); - void (*get_pointer) (GdkWindow *window, - guint32 deviceid, - gdouble *x, - gdouble *y, - gdouble *pressure, - gdouble *xtilt, - gdouble *ytilt, - GdkModifierType *mask); - gint (*grab_pointer) (GdkWindow * window, - gint owner_events, - GdkEventMask event_mask, - GdkWindow * confine_to, - guint32 time); - void (*ungrab_pointer) (guint32 time); - - void (*configure_event) (GdkEventConfigure *event, GdkWindow *window); - void (*enter_event) (GdkEventCrossing *event, GdkWindow *window); - gint (*other_event) (GdkEvent *event, GdkWindow *window); - /* Handle an unidentified event. Returns TRUE if handled, FALSE - otherwise */ - gint (*window_none_event) (GdkEvent *event); - gint (*enable_window) (GdkWindow *window, GdkDevicePrivate *gdkdev); - gint (*disable_window) (GdkWindow *window, GdkDevicePrivate *gdkdev); -}; - -/* information about a device axis */ -struct _GdkAxisInfo -{ - /* reported x resolution */ - gint xresolution; - - /* reported x minimum/maximum values */ - gint xmin_value, xmax_value; - - /* calibrated resolution (for aspect ration) - only relative values - between axes used */ - gint resolution; - - /* calibrated minimum/maximum values */ - gint min_value, max_value; -}; - -#define GDK_INPUT_NUM_EVENTC 6 - -struct _GdkDevicePrivate { - GdkDevice info; -}; - -struct _GdkInputWindow -{ - /* gdk window */ - GdkWindow *window; - - /* Extension mode (GDK_EXTENSION_EVENTS_ALL/CURSOR) */ - GdkExtensionMode mode; - - /* position relative to root window */ - gint root_x; - gint root_y; - - /* rectangles relative to window of windows obscuring this one */ - GdkRectangle *obscuring; - gint num_obscuring; - - /* Is there a pointer grab for this window ? */ - gint grabbed; -}; - -/* Global data */ - -extern const GdkDevice gdk_input_core_info; -extern GdkDevice *_gdk_core_pointer; -extern GList *_gdk_input_devices; -extern GList *_gdk_input_windows; - -extern GdkInputVTable gdk_input_vtable; -/* information about network port and host for gxid daemon */ -extern gchar *_gdk_input_gxid_host; -extern gint _gdk_input_gxid_port; -extern gint _gdk_input_ignore_core; - -/* Function declarations */ - -GdkInputWindow * _gdk_input_window_find (GdkWindow *window); -void _gdk_input_window_destroy (GdkWindow *window); -void _gdk_quartz_input_init (void); -gint _gdk_input_enable_window (GdkWindow *window, - GdkDevicePrivate *gdkdev); -gint _gdk_input_disable_window (GdkWindow *window, - GdkDevicePrivate *gdkdev); -void _gdk_init_input_core (void); - -void _gdk_input_window_crossing (GdkWindow *window, - gboolean enter); - -void _gdk_input_exit (void); - -#endif /* __GDK_INPUTPRIVATE_H__ */ From cde6dade8fe12f8a188f2e985b419dde6b54c99f Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:29:24 +0100 Subject: [PATCH 0830/1463] quartz: Port gdkkeys-quartz.c to new API --- gdk/quartz/gdkkeys-quartz.c | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index c35eccb98a..81765f41c4 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -54,6 +54,7 @@ #include #include #include "gdk.h" +#include "gdkkeysprivate.h" #include "gdkkeysyms.h" #define NUM_KEYCODES 128 @@ -61,16 +62,34 @@ static GdkKeymap *default_keymap = NULL; -typedef struct _GdkKeymapQuartz GdkKeymapQuartz; -typedef struct _GdkKeymapQuartzClass GdkKeymapQuartzClass; -G_DEFINE_TYPE (GdkKeyMapQuartz, _gdk_keymap_quartz, GDK_TYPE_KEYMAP) +#define GDK_TYPE_QUARTZ_KEYMAP (gdk_quartz_keymap_get_type ()) +#define GDK_QUARTZ_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymap)) +#define GDK_QUARTZ_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymapClass)) +#define GDK_IS_QUARTZ_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_KEYMAP)) +#define GDK_IS_QUARTZ_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_KEYMAP)) +#define GDK_QUARTZ_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymapClass)) + +typedef struct _GdkQuartzKeymap GdkQuartzKeymap; +typedef struct _GdkQuartzKeymapClass GdkQuartzKeymapClass; + +struct _GdkQuartzKeymap +{ + GdkKeymap keymap; +}; + +struct _GdkQuartzKeymapClass +{ + GdkKeymapClass keymap_class; +}; + +G_DEFINE_TYPE (GdkQuartzKeymap, _gdk_quartz_keymap, GDK_TYPE_KEYMAP) GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display) { if (default_keymap == NULL) - default_keymap = g_object_new (_gdk_keymap_quartz_get_type (), NULL); + default_keymap = g_object_new (_gdk_quartz_keymap_get_type (), NULL); return default_keymap; } @@ -734,23 +753,23 @@ _gdk_quartz_keys_is_modifier (guint keycode) } static void -_gdk_keymap_quartz_init (GdkKeymapQuartz *keymap) +_gdk_quartz_keymap_init (GdkQuartzKeymap *keymap) { } static void -_gdk_keymap_quartz_finalize (GObject *object) +_gdk_quartz_keymap_finalize (GObject *object) { - G_OBJECT_CLASS (_gdk_keymap_quartz_parent_class)->finalize (object); + G_OBJECT_CLASS (_gdk_quartz_keymap_parent_class)->finalize (object); } static void -_gdk_keymap_quartz_class_init (GdkKeymapQuartzClass *klass) +_gdk_quartz_keymap_class_init (GdkQuartzKeymapClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkKeymapClass *keymap_class = GDK_KEYMAP_CLASS (klass); - object_class->finalize = gdk_keymap_quartz_finalize; + object_class->finalize = _gdk_quartz_keymap_finalize; keymap_class->get_direction = gdk_quartz_keymap_get_direction; keymap_class->have_bidi_layouts = gdk_quartz_keymap_have_bidi_layouts; From d024153c9607459436fb01c9ad2099206c393131 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:34:15 +0100 Subject: [PATCH 0831/1463] quartz: Fix screen implementation, rename to GdkQuartzScreen --- gdk/quartz/gdkscreen-quartz.c | 46 +++++++++++++++++------------------ gdk/quartz/gdkscreen-quartz.h | 32 ++++++++++++------------ 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c index ca305165d1..d3caa9c983 100644 --- a/gdk/quartz/gdkscreen-quartz.c +++ b/gdk/quartz/gdkscreen-quartz.c @@ -1,7 +1,7 @@ /* gdkscreen-quartz.c * * Copyright (C) 2005 Imendio AB - * Copyright (C) 2009 Kristian Rietveld + * Copyright (C) 2009,2010 Kristian Rietveld * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -61,16 +61,16 @@ static void gdk_quartz_screen_dispose (GObject *object); static void gdk_quartz_screen_finalize (GObject *object); -static void gdk_quartz_screen_calculate_layout (GdkScreenQuartz *screen); +static void gdk_quartz_screen_calculate_layout (GdkQuartzScreen *screen); static void display_reconfiguration_callback (CGDirectDisplayID display, CGDisplayChangeSummaryFlags flags, void *userInfo); -G_DEFINE_TYPE (GdkScreenQuartz, _gdk_quartz_screen, GDK_TYPE_SCREEN); +G_DEFINE_TYPE (GdkQuartzScreen, _gdk_quartz_screen, GDK_TYPE_SCREEN); static void -_gdk_quartz_screen_init (GdkScreenQuartz *screen_quartz) +_gdk_quartz_screen_init (GdkQuartzScreen *quartz_screen) { GdkScreen *screen = GDK_SCREEN (quartz_screen); NSScreen *nsscreen; @@ -79,7 +79,7 @@ _gdk_quartz_screen_init (GdkScreenQuartz *screen_quartz) gdk_screen_set_resolution (screen, 72.0 * [nsscreen userSpaceScaleFactor]); - gdk_quartz_screen_calculate_layout (screen_quartz); + gdk_quartz_screen_calculate_layout (quartz_screen); CGDisplayRegisterReconfigurationCallback (display_reconfiguration_callback, screen); @@ -90,7 +90,7 @@ _gdk_quartz_screen_init (GdkScreenQuartz *screen_quartz) static void gdk_quartz_screen_dispose (GObject *object) { - GdkScreenQuartz *screen = GDK_SCREEN_QUARTZ (object); + GdkQuartzScreen *screen = GDK_QUARTZ_SCREEN (object); if (screen->screen_changed_id) { @@ -105,7 +105,7 @@ gdk_quartz_screen_dispose (GObject *object) } static void -gdk_quartz_screen_screen_rects_free (GdkScreenQuartz *screen) +gdk_quartz_screen_screen_rects_free (GdkQuartzScreen *screen) { screen->n_screens = 0; @@ -119,14 +119,14 @@ gdk_quartz_screen_screen_rects_free (GdkScreenQuartz *screen) static void gdk_quartz_screen_finalize (GObject *object) { - GdkScreenQuartz *screen = GDK_SCREEN_QUARTZ (object); + GdkQuartzScreen *screen = GDK_QUARTZ_SCREEN (object); gdk_quartz_screen_screen_rects_free (screen); } static void -gdk_quartz_screen_calculate_layout (GdkScreenQuartz *screen) +gdk_quartz_screen_calculate_layout (GdkQuartzScreen *screen) { NSArray *array; int i; @@ -185,14 +185,14 @@ gdk_quartz_screen_calculate_layout (GdkScreenQuartz *screen) static void -process_display_reconfiguration (GdkScreenQuartz *screen) +process_display_reconfiguration (GdkQuartzScreen *screen) { int width, height; width = gdk_screen_get_width (GDK_SCREEN (screen)); height = gdk_screen_get_height (GDK_SCREEN (screen)); - gdk_quartz_screen_calculate_layout (GDK_SCREEN_QUARTZ (screen)); + gdk_quartz_screen_calculate_layout (GDK_QUARTZ_SCREEN (screen)); _gdk_windowing_update_window_sizes (GDK_SCREEN (screen)); @@ -210,7 +210,7 @@ process_display_reconfiguration (GdkScreenQuartz *screen) static gboolean screen_changed_idle (gpointer data) { - GdkScreenQuartz *screen = data; + GdkQuartzScreen *screen = data; process_display_reconfiguration (data); @@ -224,7 +224,7 @@ display_reconfiguration_callback (CGDirectDisplayID display, CGDisplayChangeSummaryFlags flags, void *userInfo) { - GdkScreenQuartz *screen = userInfo; + GdkQuartzScreen *screen = userInfo; if (flags & kCGDisplayBeginConfigurationFlag) { @@ -257,7 +257,7 @@ display_reconfiguration_callback (CGDirectDisplayID display, GdkScreen * _gdk_quartz_screen_new (void) { - return g_object_new (GDK_TYPE_SCREEN_QUARTZ, NULL); + return g_object_new (GDK_TYPE_QUARTZ_SCREEN, NULL); } static GdkDisplay * @@ -292,13 +292,13 @@ _gdk_windowing_substitute_screen_number (const gchar *display_name, static gint gdk_quartz_screen_get_width (GdkScreen *screen) { - return GDK_SCREEN_QUARTZ (screen)->width; + return GDK_QUARTZ_SCREEN (screen)->width; } static gint gdk_quartz_screen_get_height (GdkScreen *screen) { - return GDK_SCREEN_QUARTZ (screen)->height; + return GDK_QUARTZ_SCREEN (screen)->height; } static gint @@ -337,20 +337,20 @@ static gint gdk_quartz_screen_get_width_mm (GdkScreen *screen) { return get_mm_from_pixels (get_nsscreen_for_monitor (0), - GDK_SCREEN_QUARTZ (screen)->width); + GDK_QUARTZ_SCREEN (screen)->width); } static gint gdk_quartz_screen_get_height_mm (GdkScreen *screen) { return get_mm_from_pixels (get_nsscreen_for_monitor (0), - GDK_SCREEN_QUARTZ (screen)->height); + GDK_QUARTZ_SCREEN (screen)->height); } static gint gdk_quartz_screen_get_n_monitors (GdkScreen *screen) { - return GDK_SCREEN_QUARTZ (screen)->n_screens; + return GDK_QUARTZ_SCREEN (screen)->n_screens; } static gint @@ -364,7 +364,7 @@ gdk_quartz_screen_get_monitor_width_mm (GdkScreen *screen, gint monitor_num) { return get_mm_from_pixels (get_nsscreen_for_monitor (monitor_num), - GDK_SCREEN_QUARTZ (screen)->screen_rects[monitor_num].width); + GDK_QUARTZ_SCREEN (screen)->screen_rects[monitor_num].width); } static gint @@ -372,7 +372,7 @@ gdk_quartz_screen_get_monitor_height_mm (GdkScreen *screen, gint monitor_num) { return get_mm_from_pixels (get_nsscreen_for_monitor (monitor_num), - GDK_SCREEN_QUARTZ (screen)->screen_rects[monitor_num].height); + GDK_QUARTZ_SCREEN (screen)->screen_rects[monitor_num].height); } static gchar * @@ -388,7 +388,7 @@ gdk_quartz_screen_get_monitor_geometry (GdkScreen *screen, gint monitor_num, GdkRectangle *dest) { - *dest = GDK_SCREEN_QUARTZ (screen)->screen_rects[monitor_num]; + *dest = GDK_QUARTZ_SCREEN (screen)->screen_rects[monitor_num]; } static gchar * @@ -416,7 +416,7 @@ gdk_quartz_screen_is_composited (GdkScreen *screen) } static void -_gdk_quartz_screen_class_init (GdkScreenQuartzClass *klass) +_gdk_quartz_screen_class_init (GdkQuartzScreenClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); diff --git a/gdk/quartz/gdkscreen-quartz.h b/gdk/quartz/gdkscreen-quartz.h index d98939b2fa..59959b4c92 100644 --- a/gdk/quartz/gdkscreen-quartz.h +++ b/gdk/quartz/gdkscreen-quartz.h @@ -1,6 +1,6 @@ /* gdkscreen-quartz.h * - * Copyright (C) 2009 Kristian Rietveld + * Copyright (C) 2009, 2010 Kristian Rietveld * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,24 +18,24 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_SCREEN_QUARTZ_H__ -#define __GDK_SCREEN_QUARTZ_H__ +#ifndef __GDK_QUARTZ_SCREEN_H__ +#define __GDK_QUARTZ_SCREEN_H__ G_BEGIN_DECLS #include -typedef struct _GdkScreenQuartz GdkScreenQuartz; -typedef struct _GdkScreenQuartzClass GdkScreenQuartzClass; +typedef struct _GdkQuartzScreen GdkQuartzScreen; +typedef struct _GdkQuartzScreenClass GdkQuartzScreenClass; -#define GDK_TYPE_SCREEN_QUARTZ (_gdk_screen_quartz_get_type ()) -#define GDK_SCREEN_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SCREEN_QUARTZ, GdkScreenQuartz)) -#define GDK_SCREEN_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SCREEN_QUARTZ, GdkScreenQuartzClass)) -#define GDK_IS_SCREEN_QUARTZ(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SCREEN_QUARTZ)) -#define GDK_IS_SCREEN_QUARTZ_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN_QUARTZ)) -#define GDK_SCREEN_QUARTZ_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN_QUARTZ, GdkScreenQuartzClass)) +#define GDK_TYPE_QUARTZ_SCREEN (_gdk_quartz_screen_get_type ()) +#define GDK_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreen)) +#define GDK_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) +#define GDK_IS_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_SCREEN)) +#define GDK_IS_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_SCREEN)) +#define GDK_QUARTZ_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) -struct _GdkScreenQuartz +struct _GdkQuartzScreen { GdkScreen parent_instance; @@ -56,14 +56,14 @@ struct _GdkScreenQuartz guint emit_monitors_changed : 1; }; -struct _GdkScreenQuartzClass +struct _GdkQuartzScreenClass { GdkScreenClass parent_class; }; -GType _gdk_screen_quartz_get_type (void); -GdkScreen *_gdk_screen_quartz_new (void); +GType _gdk_quartz_screen_get_type (void); +GdkScreen *_gdk_quartz_screen_new (void); G_END_DECLS -#endif /* _GDK_SCREEN_QUARTZ_H_ */ +#endif /* _GDK_QUARTZ_SCREEN_H_ */ From 1b344ad8e4f0b747ffafad9fbda4940bd11a922b Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:42:25 +0100 Subject: [PATCH 0832/1463] quartz: convert GdkVisual --- gdk/quartz/gdkprivate-quartz.h | 7 +---- gdk/quartz/gdkvisual-quartz.c | 50 +++++++++++++++++++++++++++++----- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 0a28b73e03..d4223250e6 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -35,11 +35,6 @@ #include "config.h" -struct _GdkVisualClass -{ - GObjectClass parent_class; -}; - extern GdkDisplay *_gdk_display; extern GdkScreen *_gdk_screen; extern GdkWindow *_gdk_root; @@ -52,7 +47,6 @@ extern GdkDragContext *_gdk_quartz_drag_source_context; void _gdk_windowing_update_window_sizes (GdkScreen *screen); void _gdk_windowing_window_init (void); void _gdk_quartz_events_init (void); -void _gdk_quartz_visual_init (GdkScreen *screen); void _gdk_quartz_input_init (void); void _gdk_quartz_event_loop_init (void); @@ -209,6 +203,7 @@ void _gdk_quartz_screen_query_depths (GdkScreen *scr void _gdk_quartz_screen_query_visual_types (GdkScreen *screen, GdkVisualType **visual_types, gint *count); +void _gdk_quartz_screen_init_visuals (GdkScreen *screen); GList * _gdk_quartz_screen_list_visuals (GdkScreen *screen); diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index 24f24f6ecc..c597185451 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -23,6 +23,29 @@ #include "gdkvisualprivate.h" #include "gdkprivate-quartz.h" +GType gdk_quartz_visual_get_type (void); + +#define GDK_TYPE_QUARTZ_VISUAL (gdk_quartz_visual_get_type ()) +#define GDK_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisual)) +#define GDK_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) +#define GDK_IS_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_VISUAL)) +#define GDK_IS_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_VISUAL)) +#define GDK_QUARTZ_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) + +typedef struct _GdkQuartzVisual GdkQuartzVisual; +typedef struct _GdkQuartzVisualClass GdkQuartzVisualClass; + +struct _GdkQuartzVisual +{ + GdkVisual visual; +}; + +struct _GdkQuartzVisualClass +{ + GdkVisualClass visual_class; +}; + + static GdkVisual *system_visual; static GdkVisual *rgba_visual; static GdkVisual *gray_visual; @@ -52,7 +75,7 @@ static GdkVisual * create_standard_visual (GdkScreen *screen, gint depth) { - GdkVisual *visual = g_object_new (GDK_TYPE_VISUAL, NULL); + GdkVisual *visual = g_object_new (GDK_TYPE_QUARTZ_VISUAL, NULL); visual->screen = screen; @@ -82,7 +105,7 @@ create_standard_visual (GdkScreen *screen, static GdkVisual * create_gray_visual (GdkScreen *screen) { - GdkVisual *visual = g_object_new (GDK_TYPE_VISUAL, NULL); + GdkVisual *visual = g_object_new (GDK_TYPE_QUARTZ_VISUAL, NULL); visual->screen = screen; @@ -95,12 +118,17 @@ create_gray_visual (GdkScreen *screen) return visual; } -void -_gdk_quartz_visual_init (GdkScreen *screen) + +G_DEFINE_TYPE (GdkQuartzVisual, _gdk_quartz_visual, GDK_TYPE_VISUAL) + +static void +_gdk_quartz_visual_init (GdkQuartzVisual *quartz_visual) +{ +} + +static void +_gdk_quartz_visual_class_init (GdkQuartzVisualClass *class) { - system_visual = create_standard_visual (screen, 24); - rgba_visual = create_standard_visual (screen, 32); - gray_visual = create_gray_visual (screen); } /* We prefer the system visual for now ... */ @@ -210,6 +238,14 @@ _gdk_quartz_screen_query_visual_types (GdkScreen *screen, *visual_types = &system_visual->type; } +void +_gdk_quartz_screen_init_visuals (GdkScreen *screen) +{ + system_visual = create_standard_visual (screen, 24); + rgba_visual = create_standard_visual (screen, 32); + gray_visual = create_gray_visual (screen); +} + GList* _gdk_quartz_screen_list_visuals (GdkScreen *screen) { From 5f782ed9e7cd0c980583fed68b72a5478f2f49ef Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:45:25 +0100 Subject: [PATCH 0833/1463] quartz: add prototype for _gdk_quartz_screen_new() --- gdk/quartz/gdkprivate-quartz.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index d4223250e6..378cf1e4cf 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -213,6 +213,8 @@ gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value); +GdkScreen *_gdk_quartz_screen_new (void); + GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, const gchar *atom_name, gboolean copy_name); From c14078f38894af7d34c7fc914014e319f23b5e36 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:45:35 +0100 Subject: [PATCH 0834/1463] quartz: adapt gdkdisplay-quartz.c to new function names --- gdk/quartz/gdkdisplay-quartz.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index de5bf16a6f..1b60f37f16 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -56,9 +56,9 @@ _gdk_quartz_display_open (const gchar *display_name) _gdk_display = g_object_new (_gdk_quartz_display_get_type (), NULL); _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); - _gdk_screen = _gdk_screen_quartz_new (); + _gdk_screen = _gdk_quartz_screen_new (); - _gdk_quartz_visual_init (_gdk_screen); + _gdk_quartz_screen_init_visuals (_gdk_screen); _gdk_windowing_window_init (); From fbd9fd6a38c2d1a3d63f0c206c4c1d27f48dd327 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 14:50:39 +0100 Subject: [PATCH 0835/1463] quartz: make gdkwindow-quartz.c build again --- gdk/quartz/gdkwindow-quartz.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index c6e32fa063..6f8da85a2c 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -24,10 +24,11 @@ #include "gdk.h" #include "gdkdeviceprivate.h" +#include "gdkdisplayprivate.h" #include "gdkwindowimpl.h" #include "gdkprivate-quartz.h" #include "gdkscreen-quartz.h" -#include "gdkinputprivate.h" +#include "gdkcursor-quartz.h" #include #include @@ -649,7 +650,7 @@ _gdk_quartz_window_gdk_xy_to_xy (gint gdk_x, gint *ns_x, gint *ns_y) { - GdkScreenQuartz *screen_quartz = GDK_SCREEN_QUARTZ (_gdk_screen); + GdkQuartzScreen *screen_quartz = GDK_QUARTZ_SCREEN (_gdk_screen); if (ns_y) *ns_y = screen_quartz->height - gdk_y + screen_quartz->min_y; @@ -664,7 +665,7 @@ _gdk_quartz_window_xy_to_gdk_xy (gint ns_x, gint *gdk_x, gint *gdk_y) { - GdkScreenQuartz *screen_quartz = GDK_SCREEN_QUARTZ (_gdk_screen); + GdkQuartzScreen *screen_quartz = GDK_QUARTZ_SCREEN (_gdk_screen); if (gdk_y) *gdk_y = screen_quartz->height - ns_y + screen_quartz->min_y; @@ -1639,10 +1640,10 @@ gdk_window_quartz_set_device_cursor (GdkWindow *window, GdkDevice *device, GdkCursor *cursor) { - GdkCursorPrivate *cursor_private; + GdkQuartzCursor *cursor_private; NSCursor *nscursor; - cursor_private = (GdkCursorPrivate *)cursor; + cursor_private = (GdkQuartzCursor *)cursor; if (GDK_WINDOW_DESTROYED (window)) return; @@ -1992,7 +1993,7 @@ gdk_window_quartz_set_events (GdkWindow *window, /* The mask is set in the common code. */ } -static_void +static void gdk_quartz_window_set_urgency_hint (GdkWindow *window, gboolean urgent) { @@ -2593,7 +2594,7 @@ _gdk_windowing_window_queue_antiexpose (GdkWindow *window, return FALSE; } -static_void +static void gdk_quartz_window_stick (GdkWindow *window) { if (GDK_WINDOW_DESTROYED (window) || @@ -2768,7 +2769,7 @@ gdk_quartz_window_fullscreen (GdkWindow *window) } static void -gdk_quarz_window_unfullscreen (GdkWindow *window) +gdk_quartz_window_unfullscreen (GdkWindow *window) { FullscreenSavedGeometry *geometry; @@ -3054,8 +3055,8 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) root_window_parent_class = g_type_class_peek_parent (klass); - drawable_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; - drawable_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; + window_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; + window_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; impl_class->focus = gdk_quartz_window_focus; impl_class->set_type_hint = gdk_quartz_window_set_type_hint; @@ -3100,7 +3101,7 @@ gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) impl_class->destroy_notify = gdk_quartz_window_destroy_notify; impl_class->register_dnd = _gdk_quartz_window_register_dnd; impl_class->drag_begin = _gdk_quartz_window_drag_begin; - impl_class->process_updates_recurse = gdk_x11_window_process_updates_recurse; + impl_class->process_updates_recurse = _gdk_quartz_window_process_updates_recurse; impl_class->sync_rendering = _gdk_quartz_window_sync_rendering; impl_class->simulate_key = _gdk_quartz_window_simulate_key; impl_class->simulate_button = _gdk_quartz_window_simulate_button; From 3d02a14f4fe5cfb8545f93d5ba94771be763358f Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:06:32 +0100 Subject: [PATCH 0836/1463] quartz: remove duplicate functions from gdkmain-quartz.c --- gdk/quartz/gdkmain-quartz.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c index 81ba6638b4..cb2184ab27 100644 --- a/gdk/quartz/gdkmain-quartz.c +++ b/gdk/quartz/gdkmain-quartz.c @@ -31,22 +31,6 @@ _gdk_windowing_init (void) { } -void -gdk_error_trap_push (void) -{ -} - -gint -gdk_error_trap_pop (void) -{ - return 0; -} - -void -gdk_error_trap_pop_ignored (void) -{ -} - void _gdk_quartz_display_notify_startup_complete (GdkDisplay *display, const gchar *startup_id) From 8b4d583cd8c57952a2d717c07f42374ea8b08843 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:06:44 +0100 Subject: [PATCH 0837/1463] quartz: gdkkeys-quartz.c: remove duplicate function --- gdk/quartz/gdkkeys-quartz.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index 81765f41c4..70977da168 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -453,17 +453,6 @@ maybe_update_keymap (void) } } -GdkKeymap * -gdk_keymap_get_for_display (GdkDisplay *display) -{ - g_return_val_if_fail (display == gdk_display_get_default (), NULL); - - if (default_keymap == NULL) - default_keymap = g_object_new (gdk_keymap_get_type (), NULL); - - return default_keymap; -} - static PangoDirection gdk_quartz_keymap_get_direction (GdkKeymap *keymap) { From 6b96c56976665710bc9bddbf87440fc627902bc6 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:06:55 +0100 Subject: [PATCH 0838/1463] quartz: remove duplicate definition of gdk_flush --- gdk/quartz/gdkevents-quartz.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index f4f4e8abfe..a17e6ad5ef 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1336,12 +1336,6 @@ _gdk_quartz_display_queue_events (GdkDisplay *display) } } -void -gdk_flush (void) -{ - /* Not supported. */ -} - void _gdk_quartz_display_add_client_message_filter (GdkDisplay *display, GdkAtom message_type, From 9b4f5a424c13753ab24d47bdc0349615565c3065 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:07:12 +0100 Subject: [PATCH 0839/1463] gdk: Fix toplevel makefile to build non-x11 backends again --- gdk/Makefile.am | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 21c81fabae..4d3a92ea5e 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -156,17 +156,23 @@ common_sources = \ gdkmarshalers.h libgdk_3_0_la_SOURCES = $(common_sources) -libgdk_3_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) +libgdk_3_0_la_LIBADD = $(GDK_DEP_LIBS) libgdk_3_0_la_LDFLAGS = $(LDADD) -libgdk_quartz_3_0_la_SOURCES = $(common_sources) -libgdk_quartz_3_0_la_LIBADD = quartz/libgdk-quartz.la $(GDK_DEP_LIBS) -libgdk_quartz_3_0_la_LDFLAGS = $(LDADD) +if USE_X11 +libgdk_3_0_la_LIBADD += x11/libgdk-x11.la +endif # USE_X11 -libgdk_win32_3_0_la_SOURCES = $(common_sources) gdkkeynames.c -libgdk_win32_3_0_la_LIBADD = win32/libgdk-win32.la $(GDK_DEP_LIBS) -libgdk_win32_3_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def -libgdk_win32_3_0_la_LDFLAGS = -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def $(LDADD) +if USE_QUARTZ +libgdk_3_0_la_LIBADD += quartz/libgdk-quartz.la +endif # USE_QUARTZ + +if USE_WIN32 +libgdk_3_0_la_SOURCES += gdkkeynames.c +libgdk_3_0_la_LIBADD += win32/libgdk-win32.la +libgdk_3_0_la_DEPENDENCIES = win32/libgdk-win32.la win32/rc/gdk-win32-res.o gdk.def +libgdk_3_0_la_LDFLAGS += -Wl,win32/rc/gdk-win32-res.o -export-symbols $(srcdir)/gdk.def +endif # USE_WIN32 if HAVE_INTROSPECTION From 7979be1430e5d2570bfbcbec550837bda3f7bf6c Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:44:58 +0100 Subject: [PATCH 0840/1463] quartz: gtkquartz.c: add missing include --- gtk/gtkquartz.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkquartz.c b/gtk/gtkquartz.c index 5b440e4b41..d691f7f254 100644 --- a/gtk/gtkquartz.c +++ b/gtk/gtkquartz.c @@ -21,6 +21,7 @@ #include "config.h" #include "gtkquartz.h" +#include "gtkselectionprivate.h" #include NSImage * From 44d9fb2d711e976965ee3899ee6c7acb8cec9f54 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:45:44 +0100 Subject: [PATCH 0841/1463] gtkdnd-quartz: use accessors and add missing include --- gtk/gtkdnd-quartz.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index 858f9c2d34..dddb6631ea 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -43,6 +43,7 @@ #include "gtkintl.h" #include "gtkquartz.h" #include "gdk/quartz/gdkquartz.h" +#include "gtkselectionprivate.h" typedef struct _GtkDragSourceSite GtkDragSourceSite; typedef struct _GtkDragSourceInfo GtkDragSourceInfo; @@ -229,7 +230,7 @@ gtk_drag_get_data (GtkWidget *widget, { gtk_drag_finish (context, (selection_data->length >= 0), - (context->action == GDK_ACTION_MOVE), + (gdk_drag_context_get_selected_action (context) == GDK_ACTION_MOVE), time); } } @@ -807,8 +808,8 @@ gtk_drag_dest_motion (GtkWidget *widget, if (site->track_motion || site->flags & GTK_DEST_DEFAULT_MOTION) { - if (context->suggested_action & site->actions) - action = context->suggested_action; + if (gdk_drag_context_get_suggested_action (context) & site->actions) + action = gdk_drag_context_get_suggested_action (context); if (action && gtk_drag_dest_find_target (widget, context, NULL)) { @@ -1001,7 +1002,6 @@ gtk_drag_dest_find_target (GtkWidget *widget, g_return_val_if_fail (GTK_IS_WIDGET (widget), GDK_NONE); g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), GDK_NONE); - g_return_val_if_fail (!context->is_source, GDK_NONE); dragging_info = gdk_quartz_drag_context_get_dragging_info_libgtk_only (context); pasteboard = [dragging_info draggingPasteboard]; @@ -1110,7 +1110,6 @@ gtk_drag_begin_internal (GtkWidget *widget, NSWindow *nswindow; context = gdk_drag_begin (NULL, NULL); - context->is_source = TRUE; info = gtk_drag_get_source_info (context, TRUE); @@ -1545,7 +1544,6 @@ gtk_drag_set_icon_widget (GdkDragContext *context, gint hot_y) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (GTK_IS_WIDGET (widget)); g_warning ("gtk_drag_set_icon_widget is not supported on Mac OS X"); @@ -1565,7 +1563,7 @@ set_icon_stock_pixbuf (GdkDragContext *context, if (stock_id) { pixbuf = gtk_widget_render_icon_pixbuf (info->widget, stock_id, - GTK_ICON_SIZE_DND, NULL); + GTK_ICON_SIZE_DND); if (!pixbuf) { @@ -1600,7 +1598,6 @@ gtk_drag_set_icon_pixbuf (GdkDragContext *context, gint hot_y) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (GDK_IS_PIXBUF (pixbuf)); set_icon_stock_pixbuf (context, NULL, pixbuf, hot_x, hot_y); @@ -1624,7 +1621,6 @@ gtk_drag_set_icon_stock (GdkDragContext *context, { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (stock_id != NULL); set_icon_stock_pixbuf (context, stock_id, NULL, hot_x, hot_y); @@ -1692,7 +1688,6 @@ gtk_drag_set_icon_surface (GdkDragContext *context, double x_offset, y_offset; g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (surface != NULL); _gtk_cairo_surface_extents (surface, &extents); @@ -1734,10 +1729,9 @@ gtk_drag_set_icon_name (GdkDragContext *context, gint width, height, icon_size; g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); g_return_if_fail (icon_name != NULL); - screen = gdk_window_get_screen (context->source_window); + screen = gdk_window_get_screen (gdk_drag_context_get_source_window (context)); g_return_if_fail (screen != NULL); settings = gtk_settings_get_for_screen (screen); @@ -1770,7 +1764,6 @@ void gtk_drag_set_icon_default (GdkDragContext *context) { g_return_if_fail (GDK_IS_DRAG_CONTEXT (context)); - g_return_if_fail (context->is_source); gtk_drag_set_icon_stock (context, GTK_STOCK_DND, -2, -2); } From 4a6c50c2989a703faee31ecc60751bb5b2bfb4ee Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:46:10 +0100 Subject: [PATCH 0842/1463] gtkclipboard-quartz: use accessors and add missing include --- gtk/gtkclipboard-quartz.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gtk/gtkclipboard-quartz.c b/gtk/gtkclipboard-quartz.c index f433070ce1..a77d44379f 100644 --- a/gtk/gtkclipboard-quartz.c +++ b/gtk/gtkclipboard-quartz.c @@ -31,6 +31,7 @@ #include "gtkmarshalers.h" #include "gtkintl.h" #include "gtktextbuffer.h" +#include "gtkselectionprivate.h" #include "gtkquartz.h" @@ -252,7 +253,7 @@ gtk_clipboard_get_for_display (GdkDisplay *display, GdkAtom selection) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (!display->closed, NULL); + g_return_val_if_fail (!gdk_display_is_closed (display), NULL); return clipboard_peek (display, selection, FALSE); } From 4c663f04747b7d43053cf7d2bce4256f7716c798 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 15:47:46 +0100 Subject: [PATCH 0843/1463] gdkwindow-quartz: fix typo --- gdk/quartz/gdkwindow-quartz.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 6f8da85a2c..aab6c3c79b 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -844,13 +844,13 @@ get_nsscreen_for_point (gint x, gint y) } void -_gdk_x11_display_create_window_imp (GdkDisplay *display, - GdkWindow *window, - GdkWindow *real_parent, - GdkScreen *screen, - GdkEventMask event_mask, - GdkWindowAttr *attributes, - gint attributes_mask) +_gdk_quartz_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask) { GdkWindowImplQuartz *impl; GdkWindowImplQuartz *parent_impl; From b638515ae00fac29c3a448553be04ca62c399c5e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:05:12 +0100 Subject: [PATCH 0844/1463] quartz: re-introduce _gdk_quartz_display_list_devices --- gdk/quartz/gdkdisplay-quartz.c | 70 +++++++++++++++++++++++++++++++++- gdk/quartz/gdkprivate-quartz.h | 1 - 2 files changed, 69 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 1b60f37f16..fed8c7939d 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -44,6 +44,56 @@ _gdk_device_manager_new (GdkDisplay *display) NULL); } +static void +gdk_quartz_display_init_input (GdkDisplay *display) +{ + GdkQuartzDisplay *display_quartz; + GdkDeviceManager *device_manager; + GList *list, *l; + + display_quartz = GDK_QUARTZ_DISPLAY (display); + device_manager = gdk_display_get_device_manager (_gdk_display); + + /* For backwards compabitility, just add floating devices that are + * not keyboards. + */ + list = gdk_device_manager_list_devices (device_manager, + GDK_DEVICE_TYPE_FLOATING); + for (l = list; l; l = l->next) + { + GdkDevice *device = l->data; + + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + continue; + + display_quartz->input_devices = g_list_prepend (display_quartz->input_devices, + g_object_ref (l->data)); + } + + g_list_free (list); + + /* Now set "core" pointer to the first master device that is a pointer. */ + list = gdk_device_manager_list_devices (device_manager, + GDK_DEVICE_TYPE_MASTER); + + for (l = list; l; l = l->next) + { + GdkDevice *device = list->data; + + if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE) + continue; + + display->core_pointer = device; + break; + } + + /* Add the core pointer to the devices list */ + display_quartz->input_devices = g_list_prepend (display_quartz->input_devices, + g_object_ref (display->core_pointer)); + + g_list_free (list); +} + GdkDisplay * _gdk_quartz_display_open (const gchar *display_name) { @@ -64,7 +114,7 @@ _gdk_quartz_display_open (const gchar *display_name) _gdk_quartz_events_init (); - _gdk_quartz_input_init (); + gdk_quartz_display_init_input (_gdk_display); #if 0 /* FIXME: Remove the #if 0 when we have these functions */ @@ -181,6 +231,14 @@ gdk_quartz_display_supports_composite (GdkDisplay *display) return FALSE; } +static GList * +_gdk_quartz_display_list_devices (GdkDisplay *display) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + + return GDK_QUARTZ_DISPLAY (display)->input_devices; +} + gulong _gdk_quartz_display_get_next_serial (GdkDisplay *display) { @@ -199,15 +257,25 @@ _gdk_quartz_display_init (GdkQuartzDisplay *display) static void _gdk_quartz_display_dispose (GObject *object) { + GdkQuartzDisplay *display_quartz = GDK_QUARTZ_DISPLAY (object); + _gdk_quartz_display_manager_remove_display (gdk_display_manager_get (), GDK_DISPLAY_OBJECT (object)); + g_list_foreach (display_quartz->input_devices, + (GFunc) g_object_run_dispose, NULL); + G_OBJECT_CLASS (_gdk_quartz_display_parent_class)->dispose (object); } static void _gdk_quartz_display_finalize (GObject *object) { + GdkQuartzDisplay *display_quartz = GDK_QUARTZ_DISPLAY (object); + + g_list_foreach (display_quartz->input_devices, (GFunc) g_object_unref, NULL); + g_list_free (display_quartz->input_devices); + G_OBJECT_CLASS (_gdk_quartz_display_parent_class)->finalize (object); } diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 378cf1e4cf..958d79e63f 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -129,7 +129,6 @@ GdkDragContext * _gdk_quartz_window_drag_begin (GdkWindow *window, void _gdk_quartz_display_sync (GdkDisplay *display); void _gdk_quartz_display_flush (GdkDisplay *display); -GList * _gdk_quartz_display_list_devices (GdkDisplay *display); void _gdk_quartz_display_queue_events (GdkDisplay *display); gboolean _gdk_quartz_display_has_pending (GdkDisplay *display); From f2883fe8ebd1dc82613343427a228a9004dbb80e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:07:05 +0100 Subject: [PATCH 0845/1463] quartz: gdkselection-quartz.c: fix typos --- gdk/quartz/gdkselection-quartz.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gdk/quartz/gdkselection-quartz.c b/gdk/quartz/gdkselection-quartz.c index 473d24d3d7..446a23e48f 100644 --- a/gdk/quartz/gdkselection-quartz.c +++ b/gdk/quartz/gdkselection-quartz.c @@ -26,11 +26,11 @@ #include "gdkproperty.h" gboolean -_gdk_quartz_display_set_selection_owner_set (GdkDisplay *display, - GdkWindow *owner, - GdkAtom selection, - guint32 time, - gint send_event) +_gdk_quartz_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gint send_event) { /* FIXME: Implement */ return TRUE; @@ -66,12 +66,12 @@ _gdk_quartz_display_get_selection_property (GdkDisplay *display, } void -_gdk_quartz_display_send_selection_send_notify (GdkDisplay *display, - GdkNativeWindow requestor, - GdkAtom selection, - GdkAtom target, - GdkAtom property, - guint32 time) +_gdk_quartz_display_send_selection_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time) { /* FIXME: Implement */ } From 5226ae3eccd85332559c4b102bd942937f39b7c1 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:13:50 +0100 Subject: [PATCH 0846/1463] quartz: create gdkdisplaymanager-quartz.h --- gdk/quartz/gdkdisplaymanager-quartz.c | 16 ++------- gdk/quartz/gdkdisplaymanager-quartz.h | 48 +++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 gdk/quartz/gdkdisplaymanager-quartz.h diff --git a/gdk/quartz/gdkdisplaymanager-quartz.c b/gdk/quartz/gdkdisplaymanager-quartz.c index d555087000..7761ec1179 100644 --- a/gdk/quartz/gdkdisplaymanager-quartz.c +++ b/gdk/quartz/gdkdisplaymanager-quartz.c @@ -1,7 +1,7 @@ /* GDK - The GIMP Drawing Kit * gdkdisplaymanager-quartz.c * - * Copyrighgt (C) 2005 Imendio AB + * Copyright (C) 2005 Imendio AB * Copyright 2010 Red Hat, Inc. * * Author: Matthias clasen @@ -28,24 +28,12 @@ #include #include "gdkdisplay-quartz.h" +#include "gdkdisplaymanager-quartz.h" #include "gdkprivate-quartz.h" #include "gdkdisplaymanagerprivate.h" #include "gdkinternals.h" -#define GDK_TYPE_QUARTZ_DISPLAY_MANAGER (gdk_quartz_display_manager_get_type ()) -#define GDK_QUARTZ_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DISPLAY_MANAGER, GdkQuartzDisplayManager)) - -typedef struct _GdkQuartzDisplayManager GdkQuartzDisplayManager; -typedef struct _GdkDisplayManagerClass GdkQuartzDisplayManagerClass; - -struct _GdkQuartzDisplayManager -{ - GdkDisplayManager parent; - - GdkDisplay *default_display; - GSList *displays; -}; G_DEFINE_TYPE (GdkQuartzDisplayManager, gdk_quartz_display_manager, GDK_TYPE_DISPLAY_MANAGER) diff --git a/gdk/quartz/gdkdisplaymanager-quartz.h b/gdk/quartz/gdkdisplaymanager-quartz.h new file mode 100644 index 0000000000..b73f8cdb8f --- /dev/null +++ b/gdk/quartz/gdkdisplaymanager-quartz.h @@ -0,0 +1,48 @@ +/* gdkdisplaymanager-quartz.h + * + * Copyright (C) 2005-2007 Imendio AB + * Copyright 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_QUARTZ_DISPLAYMANAGER_H__ +#define __GDK_QUARTZ_DISPLAYMANAGER_H__ + +#include +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DISPLAY_MANAGER (gdk_quartz_display_manager_get_type ()) +#define GDK_QUARTZ_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DISPLAY_MANAGER, GdkQuartzDisplayManager)) + +typedef struct _GdkQuartzDisplayManager GdkQuartzDisplayManager; +typedef struct _GdkDisplayManagerClass GdkQuartzDisplayManagerClass; + +struct _GdkQuartzDisplayManager +{ + GdkDisplayManager parent; + + GdkDisplay *default_display; + GSList *displays; +}; + +GType gdk_quartz_display_manager_get_type (void); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DISPLAYMANAGER_H__ */ From e5695de12b694e901237e88a6873f93fa32b0ae9 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:14:09 +0100 Subject: [PATCH 0847/1463] GdkDisplayManager: register Quartz backend when applicable --- gdk/gdkdisplaymanager.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 829083ae68..3975bbca47 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -36,6 +36,10 @@ #include "x11/gdkx.h" #endif +#ifdef GDK_WINDOWING_QUARTZ +#include "quartz/gdkdisplaymanager-quartz.h" +#endif + /** * SECTION:gdkdisplaymanager @@ -181,6 +185,11 @@ gdk_display_manager_get (void) if (backend == NULL || strcmp (backend, "x11") == 0) manager = g_object_new (gdk_x11_display_manager_get_type (), NULL); else +#endif +#ifdef GDK_WINDOWING_QUARTZ + if (backend == NULL || strcmp (backend, "quartz") == 0) + manager = g_object_new (gdk_quartz_display_manager_get_type (), NULL); + else #endif if (backend != NULL) g_error ("Unsupported GDK backend: %s", backend); From c87e87830800f9eecb189d8d2d18555a393d16da Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:15:42 +0100 Subject: [PATCH 0848/1463] quartz: add new files to Makefile.am --- gdk/quartz/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index a4a9b4932b..57c602d1fb 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -26,7 +26,9 @@ libgdk_quartz_la_SOURCES = \ gdkdevice-core.c \ gdkdevicemanager-core.c \ gdkdisplay-quartz.c \ + gdkdisplay-quartz.h \ gdkdisplaymanager-quartz.c \ + gdkdisplaymanager-quartz.h \ gdkdnd-quartz.c \ gdkdnd-quartz.h \ gdkevents-quartz.c \ From c6fad1d2cba0eeb131703b2daf45c9d4ddcfceb5 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:17:43 +0100 Subject: [PATCH 0849/1463] quartz: fix typo --- gdk/quartz/gdkvisual-quartz.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index c597185451..a2de49ae34 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -23,9 +23,9 @@ #include "gdkvisualprivate.h" #include "gdkprivate-quartz.h" -GType gdk_quartz_visual_get_type (void); +GType _gdk_quartz_visual_get_type (void); -#define GDK_TYPE_QUARTZ_VISUAL (gdk_quartz_visual_get_type ()) +#define GDK_TYPE_QUARTZ_VISUAL (_gdk_quartz_visual_get_type ()) #define GDK_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisual)) #define GDK_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) #define GDK_IS_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_VISUAL)) From 3bc60a81491500086749425f47956c89ca9d1971 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:55:56 +0100 Subject: [PATCH 0850/1463] quartz: rename GdkQuartzWindow to GdkQuartzNSWindow --- gdk/quartz/GdkQuartzWindow.c | 2 +- gdk/quartz/GdkQuartzWindow.h | 2 +- gdk/quartz/gdkevents-quartz.c | 4 ++-- gdk/quartz/gdkwindow-quartz.c | 18 +++++++++--------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c index 22ad990269..8edddfd96c 100644 --- a/gdk/quartz/GdkQuartzWindow.c +++ b/gdk/quartz/GdkQuartzWindow.c @@ -22,7 +22,7 @@ #include "gdkwindow-quartz.h" #include "gdkprivate-quartz.h" -@implementation GdkQuartzWindow +@implementation GdkQuartzNSWindow -(BOOL)windowShouldClose:(id)sender { diff --git a/gdk/quartz/GdkQuartzWindow.h b/gdk/quartz/GdkQuartzWindow.h index e6d1b4e155..0c7e6a26f7 100644 --- a/gdk/quartz/GdkQuartzWindow.h +++ b/gdk/quartz/GdkQuartzWindow.h @@ -22,7 +22,7 @@ #import #include -@interface GdkQuartzWindow : NSWindow { +@interface GdkQuartzNSWindow : NSWindow { BOOL inMove; BOOL inShowOrHide; diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index a17e6ad5ef..33719b3a88 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -379,7 +379,7 @@ _gdk_quartz_events_update_focus_window (GdkWindow *window, if (got_focus && window == current_keyboard_window) return; - /* FIXME: Don't do this when grabbed? Or make GdkQuartzWindow + /* FIXME: Don't do this when grabbed? Or make GdkQuartzNSWindow * disallow it in the first place instead? */ @@ -1140,7 +1140,7 @@ gdk_event_translate (GdkEvent *event, * dragged. This is a workaround for the window getting events for * the window title. */ - if ([(GdkQuartzWindow *)nswindow isInMove]) + if ([(GdkQuartzNSWindow *)nswindow isInMove]) { break_all_grabs (get_time_from_ns_event (nsevent)); return FALSE; diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index aab6c3c79b..6b85ef5d65 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -927,11 +927,11 @@ _gdk_quartz_display_create_window_impl (GdkDisplay *display, NSResizableWindowMask); } - impl->toplevel = [[GdkQuartzWindow alloc] initWithContentRect:content_rect - styleMask:style_mask - backing:NSBackingStoreBuffered - defer:NO - screen:screen]; + impl->toplevel = [[GdkQuartzNSWindow alloc] initWithContentRect:content_rect + styleMask:style_mask + backing:NSBackingStoreBuffered + defer:NO + screen:screen]; if (attributes_mask & GDK_WA_TITLE) title = attributes->title; @@ -1146,7 +1146,7 @@ gdk_window_quartz_show (GdkWindow *window, gboolean already_mapped) make_key = (window->accept_focus && focus_on_map && window->window_type != GDK_WINDOW_TEMP); - [(GdkQuartzWindow*)impl->toplevel showAndMakeKey:make_key]; + [(GdkQuartzNSWindow*)impl->toplevel showAndMakeKey:make_key]; clear_toplevel_order (); _gdk_quartz_events_send_map_event (window); @@ -1243,7 +1243,7 @@ gdk_window_quartz_hide (GdkWindow *window) if (impl->transient_for) _gdk_quartz_window_detach_from_parent (window); - [(GdkQuartzWindow*)impl->toplevel hide]; + [(GdkQuartzNSWindow*)impl->toplevel hide]; } else if (impl->view) { @@ -2408,7 +2408,7 @@ gdk_quartz_window_begin_resize_drag (GdkWindow *window, return; } - [(GdkQuartzWindow *)impl->toplevel beginManualResize]; + [(GdkQuartzNSWindow *)impl->toplevel beginManualResize]; } static void @@ -2432,7 +2432,7 @@ gdk_quartz_window_begin_move_drag (GdkWindow *window, return; } - [(GdkQuartzWindow *)impl->toplevel beginManualMove]; + [(GdkQuartzNSWindow *)impl->toplevel beginManualMove]; } static void From b0ffe16f909faf030a451d60b238681e22840c75 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:56:44 +0100 Subject: [PATCH 0851/1463] quartz: introduce GdkQuartzWindow (as a subclass of GdkWindow) --- gdk/quartz/gdkwindow-quartz.c | 31 +++++++++++++++++++++++++++++++ gdk/quartz/gdkwindow-quartz.h | 13 +++++++++++++ 2 files changed, 44 insertions(+) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 6b85ef5d65..a4c84cd28e 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -63,6 +63,37 @@ static FullscreenSavedGeometry *get_fullscreen_geometry (GdkWindow *window); GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN && \ GDK_WINDOW_TYPE (window) != GDK_WINDOW_OFFSCREEN) +/* + * GdkQuartzWindow + */ + +struct _GdkQuartzWindow +{ + GdkWindow parent; +}; + +struct _GdkQuartzWindowClass +{ + GdkWindowClass parent_class; +}; + +G_DEFINE_TYPE (GdkQuartzWindow, gdk_quartz_window, GDK_TYPE_WINDOW); + +static void +gdk_quartz_window_class_init (GdkQuartzWindowClass *quartz_window_class) +{ +} + +static void +gdk_quartz_window_init (GdkQuartzWindow *quartz_window) +{ +} + + +/* + * GdkQuartzWindowImpl + */ + NSView * gdk_quartz_window_get_nsview (GdkWindow *window) { diff --git a/gdk/quartz/gdkwindow-quartz.h b/gdk/quartz/gdkwindow-quartz.h index f55bbb33e9..0987b7ea06 100644 --- a/gdk/quartz/gdkwindow-quartz.h +++ b/gdk/quartz/gdkwindow-quartz.h @@ -27,6 +27,19 @@ G_BEGIN_DECLS +#define GDK_TYPE_QUARTZ_WINDOW (gdk_quartz_window_get_type ()) +#define GDK_QUARTZ_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindow)) +#define GDK_QUARTZ_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindowClass)) +#define GDK_IS_QUARTZ_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_WINDOW)) +#define GDK_IS_QUARTZ_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_WINDOW)) +#define GDK_QUARTZ_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindowClass)) + +typedef struct _GdkQuartzWindow GdkQuartzWindow; +typedef struct _GdkQuartzWindowClass GdkQuartzWindowClass; + +GType gdk_quartz_window_get_type (void); + + /* Window implementation for Quartz */ From 552e7be7e5cd4de1afa69079af97be54fe66368d Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 16:56:58 +0100 Subject: [PATCH 0852/1463] quartz: set window_type in display_class --- gdk/quartz/gdkdisplay-quartz.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index fed8c7939d..ef09c5329e 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -23,6 +23,7 @@ #include "gdk.h" #include "gdkprivate-quartz.h" #include "gdkscreen-quartz.h" +#include "gdkwindow-quartz.h" #include "gdkdisplay-quartz.h" #include "gdkdevicemanager-core.h" @@ -287,6 +288,8 @@ _gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) object_class->finalize = _gdk_quartz_display_finalize; + display_class->window_type = GDK_TYPE_QUARTZ_WINDOW; + display_class->get_name = gdk_quartz_display_get_name; display_class->get_n_screens = gdk_quartz_display_get_n_screens; display_class->get_screen = gdk_quartz_display_get_screen; From ab74358b82b8145a3c0285149e59d705d153d61e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 17:04:40 +0100 Subject: [PATCH 0853/1463] quartz: set all methods on window class, not root window class --- gdk/quartz/gdkwindow-quartz.c | 104 +++++++++++++++++----------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index a4c84cd28e..9d4daae9b1 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2976,6 +2976,58 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass) impl_class->get_shape = gdk_quartz_window_get_shape; impl_class->get_input_shape = gdk_quartz_window_get_input_shape; + impl_class->focus = gdk_quartz_window_focus; + impl_class->set_type_hint = gdk_quartz_window_set_type_hint; + impl_class->get_type_hint = gdk_quartz_window_get_type_hint; + impl_class->set_modal_hint = gdk_quartz_window_set_modal_hint; + impl_class->set_skip_taskbar_hint = gdk_quartz_window_set_skip_taskbar_hint; + impl_class->set_skip_pager_hint = gdk_quartz_window_set_skip_pager_hint; + impl_class->set_urgency_hint = gdk_quartz_window_set_urgency_hint; + impl_class->set_geometry_hints = gdk_quartz_window_set_geometry_hints; + impl_class->set_title = gdk_quartz_window_set_title; + impl_class->set_role = gdk_quartz_window_set_role; + impl_class->set_startup_id = _gdk_quartz_window_set_startup_id; + impl_class->set_transient_for = gdk_quartz_window_set_transient_for; + impl_class->get_root_origin = gdk_quartz_window_get_root_origin; + impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents; + impl_class->set_override_redirect = gdk_quartz_window_set_override_redirect; + impl_class->set_accept_focus = gdk_quartz_window_set_accept_focus; + impl_class->set_focus_on_map = gdk_quartz_window_set_focus_on_map; + impl_class->set_icon_list = gdk_quartz_window_set_icon_list; + impl_class->set_icon_name = gdk_quartz_window_set_icon_name; + impl_class->iconify = gdk_quartz_window_iconify; + impl_class->deiconify = gdk_quartz_window_deiconify; + impl_class->stick = gdk_quartz_window_stick; + impl_class->unstick = gdk_quartz_window_unstick; + impl_class->maximize = gdk_quartz_window_maximize; + impl_class->unmaximize = gdk_quartz_window_unmaximize; + impl_class->fullscreen = gdk_quartz_window_fullscreen; + impl_class->unfullscreen = gdk_quartz_window_unfullscreen; + impl_class->set_keep_above = gdk_quartz_window_set_keep_above; + impl_class->set_keep_below = gdk_quartz_window_set_keep_below; + impl_class->get_group = gdk_quartz_window_get_group; + impl_class->set_group = gdk_quartz_window_set_group; + impl_class->set_decorations = gdk_quartz_window_set_decorations; + impl_class->get_decorations = gdk_quartz_window_get_decorations; + impl_class->set_functions = gdk_quartz_window_set_functions; + impl_class->set_functions = gdk_quartz_window_set_functions; + impl_class->begin_resize_drag = gdk_quartz_window_begin_resize_drag; + impl_class->begin_move_drag = gdk_quartz_window_begin_move_drag; + impl_class->enable_synchronized_configure = gdk_quartz_window_enable_synchronized_configure; + impl_class->configure_finished = gdk_quartz_window_configure_finished; + impl_class->set_opacity = gdk_quartz_window_set_opacity; + impl_class->destroy_notify = gdk_quartz_window_destroy_notify; + impl_class->register_dnd = _gdk_quartz_window_register_dnd; + impl_class->drag_begin = _gdk_quartz_window_drag_begin; + impl_class->process_updates_recurse = _gdk_quartz_window_process_updates_recurse; + impl_class->sync_rendering = _gdk_quartz_window_sync_rendering; + impl_class->simulate_key = _gdk_quartz_window_simulate_key; + impl_class->simulate_button = _gdk_quartz_window_simulate_button; + impl_class->get_property = _gdk_quartz_window_get_property; + impl_class->change_property = _gdk_quartz_window_change_property; + impl_class->delete_property = _gdk_quartz_window_delete_property; + + impl_quartz_class->get_context = gdk_window_impl_quartz_get_context; impl_quartz_class->release_context = gdk_window_impl_quartz_release_context; } @@ -3082,63 +3134,11 @@ static void gdk_root_window_impl_quartz_class_init (GdkRootWindowImplQuartzClass *klass) { GdkWindowImplQuartzClass *window_quartz_class = GDK_WINDOW_IMPL_QUARTZ_CLASS (klass); - GdkWindowImplClass *impl_class = GDK_WINDOW_IMPL_CLASS (klass); root_window_parent_class = g_type_class_peek_parent (klass); window_quartz_class->get_context = gdk_root_window_impl_quartz_get_context; window_quartz_class->release_context = gdk_root_window_impl_quartz_release_context; - - impl_class->focus = gdk_quartz_window_focus; - impl_class->set_type_hint = gdk_quartz_window_set_type_hint; - impl_class->get_type_hint = gdk_quartz_window_get_type_hint; - impl_class->set_modal_hint = gdk_quartz_window_set_modal_hint; - impl_class->set_skip_taskbar_hint = gdk_quartz_window_set_skip_taskbar_hint; - impl_class->set_skip_pager_hint = gdk_quartz_window_set_skip_pager_hint; - impl_class->set_urgency_hint = gdk_quartz_window_set_urgency_hint; - impl_class->set_geometry_hints = gdk_quartz_window_set_geometry_hints; - impl_class->set_title = gdk_quartz_window_set_title; - impl_class->set_role = gdk_quartz_window_set_role; - impl_class->set_startup_id = _gdk_quartz_window_set_startup_id; - impl_class->set_transient_for = gdk_quartz_window_set_transient_for; - impl_class->get_root_origin = gdk_quartz_window_get_root_origin; - impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents; - impl_class->set_override_redirect = gdk_quartz_window_set_override_redirect; - impl_class->set_accept_focus = gdk_quartz_window_set_accept_focus; - impl_class->set_focus_on_map = gdk_quartz_window_set_focus_on_map; - impl_class->set_icon_list = gdk_quartz_window_set_icon_list; - impl_class->set_icon_name = gdk_quartz_window_set_icon_name; - impl_class->iconify = gdk_quartz_window_iconify; - impl_class->deiconify = gdk_quartz_window_deiconify; - impl_class->stick = gdk_quartz_window_stick; - impl_class->unstick = gdk_quartz_window_unstick; - impl_class->maximize = gdk_quartz_window_maximize; - impl_class->unmaximize = gdk_quartz_window_unmaximize; - impl_class->fullscreen = gdk_quartz_window_fullscreen; - impl_class->unfullscreen = gdk_quartz_window_unfullscreen; - impl_class->set_keep_above = gdk_quartz_window_set_keep_above; - impl_class->set_keep_below = gdk_quartz_window_set_keep_below; - impl_class->get_group = gdk_quartz_window_get_group; - impl_class->set_group = gdk_quartz_window_set_group; - impl_class->set_decorations = gdk_quartz_window_set_decorations; - impl_class->get_decorations = gdk_quartz_window_get_decorations; - impl_class->set_functions = gdk_quartz_window_set_functions; - impl_class->set_functions = gdk_quartz_window_set_functions; - impl_class->begin_resize_drag = gdk_quartz_window_begin_resize_drag; - impl_class->begin_move_drag = gdk_quartz_window_begin_move_drag; - impl_class->enable_synchronized_configure = gdk_quartz_window_enable_synchronized_configure; - impl_class->configure_finished = gdk_quartz_window_configure_finished; - impl_class->set_opacity = gdk_quartz_window_set_opacity; - impl_class->destroy_notify = gdk_quartz_window_destroy_notify; - impl_class->register_dnd = _gdk_quartz_window_register_dnd; - impl_class->drag_begin = _gdk_quartz_window_drag_begin; - impl_class->process_updates_recurse = _gdk_quartz_window_process_updates_recurse; - impl_class->sync_rendering = _gdk_quartz_window_sync_rendering; - impl_class->simulate_key = _gdk_quartz_window_simulate_key; - impl_class->simulate_button = _gdk_quartz_window_simulate_button; - impl_class->get_property = _gdk_quartz_window_get_property; - impl_class->change_property = _gdk_quartz_window_change_property; - impl_class->delete_property = _gdk_quartz_window_delete_property; } static void From 32731fcb073e2ca54685c15999c5ddf3f380ca7e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 17:06:13 +0100 Subject: [PATCH 0854/1463] quartz: register before/after process all updates --- gdk/quartz/gdkdisplay-quartz.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index ef09c5329e..1cffaff6ec 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -318,6 +318,9 @@ _gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) display_class->get_maximal_cursor_size = _gdk_quartz_display_get_maximal_cursor_size; display_class->supports_cursor_alpha = _gdk_quartz_display_supports_cursor_alpha; display_class->supports_cursor_color = _gdk_quartz_display_supports_cursor_color; + + display_class->before_process_all_updates = _gdk_quartz_display_before_process_all_updates; + display_class->after_process_all_updates = _gdk_quartz_display_after_process_all_updates; display_class->get_next_serial = _gdk_quartz_display_get_next_serial; display_class->notify_startup_complete = _gdk_quartz_display_notify_startup_complete; display_class->event_data_copy = _gdk_quartz_display_event_data_copy; From 2e7f14c90f02144a572ced04e0c9b5016e6b46ce Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 17:08:25 +0100 Subject: [PATCH 0855/1463] quartz: GdkDeviceCore: check for NULL pointer --- gdk/quartz/gdkdevice-core.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c index 3244a438c5..65c24fa890 100644 --- a/gdk/quartz/gdkdevice-core.c +++ b/gdk/quartz/gdkdevice-core.c @@ -241,8 +241,11 @@ gdk_device_core_query_state_helper (GdkWindow *window, translate_coords_to_child_coords (window, found_window, &x_tmp, &y_tmp); - *x = x_tmp; - *y = y_tmp; + if (x) + *x = x_tmp; + + if (y) + *y = y_tmp; return found_window; } From e2e4391992489e73a0e7ca3c89a9b359dea0a904 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 17:25:31 +0100 Subject: [PATCH 0856/1463] quartz: commit forgotten file --- gdk/quartz/gdkdisplay-quartz.h | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 gdk/quartz/gdkdisplay-quartz.h diff --git a/gdk/quartz/gdkdisplay-quartz.h b/gdk/quartz/gdkdisplay-quartz.h new file mode 100644 index 0000000000..4452008b09 --- /dev/null +++ b/gdk/quartz/gdkdisplay-quartz.h @@ -0,0 +1,56 @@ +/* gdkdisplay-quartz.h + * + * Copyright (C) 2005-2007 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_QUARTZ_DISPLAY_H__ +#define __GDK_QUARTZ_DISPLAY_H__ + +#include +#include "gdkdisplayprivate.h" + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DISPLAY (_gdk_quartz_display_get_type ()) +#define GDK_QUARTZ_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DISPLAY, GdkQuartzDisplay)) +#define GDK_QUARTZ_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_DISPLAY, GdkQuartzDisplayClass)) +#define GDK_IS_QUARTZ_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_DISPLAY)) +#define GDK_IS_QUARTZ_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_DISPLAY)) +#define GDK_QUARTZ_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_DISPLAY, GdkQuartzDisplayClass)) + +typedef struct _GdkQuartzDisplay GdkQuartzDisplay; +typedef struct _GdkQuartzDisplayClass GdkQuartzDisplayClass; + +struct _GdkQuartzDisplay +{ + GdkDisplay display; + + GList *input_devices; +}; + +struct _GdkQuartzDisplayClass +{ + GdkDisplayClass display_class; +}; + +GType _gdk_quartz_display_get_type (void); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DISPLAY_H__ */ From 59a3d9ae46b3351e9db738c0ee52976618eff945 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 17:25:46 +0100 Subject: [PATCH 0857/1463] quartz: Rename GdkDeviceCore -> GdkQuartzDeviceCore --- gdk/quartz/Makefile.am | 3 +- gdk/quartz/gdkdevice-core-quartz.c | 366 +++++++++++++++++++++++++++++ gdk/quartz/gdkdevice-core-quartz.h | 51 ++++ gdk/quartz/gdkdevice-core.c | 366 ----------------------------- gdk/quartz/gdkdevice-core.h | 51 ---- gdk/quartz/gdkdevicemanager-core.c | 6 +- 6 files changed, 422 insertions(+), 421 deletions(-) create mode 100644 gdk/quartz/gdkdevice-core-quartz.c create mode 100644 gdk/quartz/gdkdevice-core-quartz.h delete mode 100644 gdk/quartz/gdkdevice-core.c delete mode 100644 gdk/quartz/gdkdevice-core.h diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 57c602d1fb..076858a388 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -23,7 +23,8 @@ libgdk_quartz_la_SOURCES = \ GdkQuartzWindow.h \ gdkcursor-quartz.c \ gdkcursor-quartz.h \ - gdkdevice-core.c \ + gdkdevice-core-quartz.c \ + gdkdevice-core-quartz.h \ gdkdevicemanager-core.c \ gdkdisplay-quartz.c \ gdkdisplay-quartz.h \ diff --git a/gdk/quartz/gdkdevice-core-quartz.c b/gdk/quartz/gdkdevice-core-quartz.c new file mode 100644 index 0000000000..9aaba34395 --- /dev/null +++ b/gdk/quartz/gdkdevice-core-quartz.c @@ -0,0 +1,366 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include + +#import "GdkQuartzView.h" +#include "gdkwindow-quartz.h" +#include "gdkcursor-quartz.h" +#include "gdkprivate-quartz.h" +#include "gdkdevice-core-quartz.h" + +static gboolean gdk_quartz_device_core_get_history (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events); +static void gdk_quartz_device_core_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask); +static void gdk_quartz_device_core_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor); +static void gdk_quartz_device_core_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y); +static gboolean gdk_quartz_device_core_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask); +static GdkGrabStatus gdk_quartz_device_core_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_); +static void gdk_quartz_device_core_ungrab (GdkDevice *device, + guint32 time_); +static GdkWindow * gdk_quartz_device_core_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel); +static void gdk_quartz_device_core_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask); + + +G_DEFINE_TYPE (GdkQuartzDeviceCore, gdk_quartz_device_core, GDK_TYPE_DEVICE) + +static void +gdk_quartz_device_core_class_init (GdkQuartzDeviceCoreClass *klass) +{ + GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass); + + device_class->get_history = gdk_quartz_device_core_get_history; + device_class->get_state = gdk_quartz_device_core_get_state; + device_class->set_window_cursor = gdk_quartz_device_core_set_window_cursor; + device_class->warp = gdk_quartz_device_core_warp; + device_class->query_state = gdk_quartz_device_core_query_state; + device_class->grab = gdk_quartz_device_core_grab; + device_class->ungrab = gdk_quartz_device_core_ungrab; + device_class->window_at_position = gdk_quartz_device_core_window_at_position; + device_class->select_window_events = gdk_quartz_device_core_select_window_events; +} + +static void +gdk_quartz_device_core_init (GdkQuartzDeviceCore *quartz_device_core) +{ + GdkDevice *device; + + device = GDK_DEVICE (quartz_device_core); + + _gdk_device_add_axis (device, GDK_NONE, GDK_AXIS_X, 0, 0, 1); + _gdk_device_add_axis (device, GDK_NONE, GDK_AXIS_Y, 0, 0, 1); +} + +static gboolean +gdk_quartz_device_core_get_history (GdkDevice *device, + GdkWindow *window, + guint32 start, + guint32 stop, + GdkTimeCoord ***events, + gint *n_events) +{ + return FALSE; +} + +static void +gdk_quartz_device_core_get_state (GdkDevice *device, + GdkWindow *window, + gdouble *axes, + GdkModifierType *mask) +{ + gint x_int, y_int; + + gdk_window_get_pointer (window, &x_int, &y_int, mask); + + if (axes) + { + axes[0] = x_int; + axes[1] = y_int; + } +} + +static void +translate_coords_to_child_coords (GdkWindow *parent, + GdkWindow *child, + gint *x, + gint *y) +{ + GdkWindow *current = child; + + if (child == parent) + return; + + while (current != parent) + { + gint tmp_x, tmp_y; + + gdk_window_get_origin (current, &tmp_x, &tmp_y); + + *x -= tmp_x; + *y -= tmp_y; + + current = gdk_window_get_effective_parent (current); + } +} + +static void +gdk_quartz_device_core_set_window_cursor (GdkDevice *device, + GdkWindow *window, + GdkCursor *cursor) +{ + GdkQuartzCursor *cursor_private; + NSCursor *nscursor; + + cursor_private = (GdkQuartzCursor *) cursor; + + if (GDK_WINDOW_DESTROYED (window)) + return; + + if (!cursor) + nscursor = [NSCursor arrowCursor]; + else + nscursor = cursor_private->nscursor; + + [nscursor set]; +} + +static void +gdk_quartz_device_core_warp (GdkDevice *device, + GdkScreen *screen, + gint x, + gint y) +{ + CGDisplayMoveCursorToPoint (CGMainDisplayID (), CGPointMake (x, y)); +} + +static GdkWindow * +gdk_quartz_device_core_query_state_helper (GdkWindow *window, + GdkDevice *device, + gint *x, + gint *y, + GdkModifierType *mask) +{ + GdkWindow *toplevel; + NSPoint point; + gint x_tmp, y_tmp; + GdkWindow *found_window; + + g_return_val_if_fail (window == NULL || GDK_IS_WINDOW (window), NULL); + + if (GDK_WINDOW_DESTROYED (window)) + { + *x = 0; + *y = 0; + *mask = 0; + return NULL; + } + + toplevel = gdk_window_get_effective_toplevel (window); + + *mask = _gdk_quartz_events_get_current_event_mask (); + + /* Get the y coordinate, needs to be flipped. */ + if (window == _gdk_root) + { + point = [NSEvent mouseLocation]; + _gdk_quartz_window_nspoint_to_gdk_xy (point, &x_tmp, &y_tmp); + } + else + { + GdkWindowImplQuartz *impl; + NSWindow *nswindow; + + impl = GDK_WINDOW_IMPL_QUARTZ (toplevel->impl); + nswindow = impl->toplevel; + + point = [nswindow mouseLocationOutsideOfEventStream]; + + x_tmp = point.x; + y_tmp = toplevel->height - point.y; + + window = toplevel; + } + + found_window = _gdk_quartz_window_find_child (window, x_tmp, y_tmp, + FALSE); + + if (found_window == _gdk_root) + found_window = NULL; + else if (found_window) + translate_coords_to_child_coords (window, found_window, + &x_tmp, &y_tmp); + + if (x) + *x = x_tmp; + + if (y) + *y = y_tmp; + + return found_window; +} + +static gboolean +gdk_quartz_device_core_query_state (GdkDevice *device, + GdkWindow *window, + GdkWindow **root_window, + GdkWindow **child_window, + gint *root_x, + gint *root_y, + gint *win_x, + gint *win_y, + GdkModifierType *mask) +{ + GdkDisplay *display; + GdkWindow *found_window; + NSPoint point; + gint x_tmp, y_tmp; + + found_window = gdk_quartz_device_core_query_state_helper (window, device, + win_x, win_y, + mask); + if (!found_window) + return FALSE; + + display = gdk_window_get_display (window); + + if (root_window) + *root_window = _gdk_root; + + if (child_window) + *child_window = found_window; + + point = [NSEvent mouseLocation]; + _gdk_quartz_window_nspoint_to_gdk_xy (point, &x_tmp, &y_tmp); + + if (root_x) + *root_x = x_tmp; + + if (root_y) + *root_y = y_tmp; + + return TRUE; +} + +static GdkGrabStatus +gdk_quartz_device_core_grab (GdkDevice *device, + GdkWindow *window, + gboolean owner_events, + GdkEventMask event_mask, + GdkWindow *confine_to, + GdkCursor *cursor, + guint32 time_) +{ + /* Should remain empty */ + return GDK_GRAB_SUCCESS; +} + +static void +gdk_quartz_device_core_ungrab (GdkDevice *device, + guint32 time_) +{ + GdkDeviceGrabInfo *grab; + + grab = _gdk_display_get_last_device_grab (_gdk_display, device); + if (grab) + grab->serial_end = 0; + + _gdk_display_device_grab_update (_gdk_display, device, NULL, 0); +} + +static GdkWindow * +gdk_quartz_device_core_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y, + GdkModifierType *mask, + gboolean get_toplevel) +{ + GdkDisplay *display; + GdkScreen *screen; + GdkWindow *found_window; + NSPoint point; + gint x_tmp, y_tmp; + + display = gdk_device_get_display (device); + screen = gdk_display_get_default_screen (display); + + /* Get mouse coordinates, find window under the mouse pointer */ + point = [NSEvent mouseLocation]; + _gdk_quartz_window_nspoint_to_gdk_xy (point, &x_tmp, &y_tmp); + + found_window = _gdk_quartz_window_find_child (_gdk_root, x_tmp, y_tmp, + get_toplevel); + + if (found_window) + translate_coords_to_child_coords (_gdk_root, found_window, + &x_tmp, &y_tmp); + + if (win_x) + *win_x = found_window ? x_tmp : -1; + + if (win_y) + *win_y = found_window ? y_tmp : -1; + + if (mask) + *mask = _gdk_quartz_events_get_current_event_mask (); + + return found_window; +} + +static void +gdk_quartz_device_core_select_window_events (GdkDevice *device, + GdkWindow *window, + GdkEventMask event_mask) +{ + /* The mask is set in the common code. */ +} diff --git a/gdk/quartz/gdkdevice-core-quartz.h b/gdk/quartz/gdkdevice-core-quartz.h new file mode 100644 index 0000000000..abf6892f3e --- /dev/null +++ b/gdk/quartz/gdkdevice-core-quartz.h @@ -0,0 +1,51 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_QUARTZ_DEVICE_CORE_H__ +#define __GDK_QUARTZ_DEVICE_CORE_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DEVICE_CORE (gdk_quartz_device_core_get_type ()) +#define GDK_QUARTZ_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_QUARTZ_DEVICE_CORE, GdkQuartzDeviceCore)) +#define GDK_QUARTZ_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_QUARTZ_DEVICE_CORE, GdkQuartzDeviceCoreClass)) +#define GDK_IS_QUARTZ_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_QUARTZ_DEVICE_CORE)) +#define GDK_IS_QUARTZ_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_QUARTZ_DEVICE_CORE)) +#define GDK_QUARTZ_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_QUARTZ_DEVICE_CORE, GdkQuartzDeviceCoreClass)) + +typedef struct _GdkQuartzDeviceCore GdkQuartzDeviceCore; +typedef struct _GdkQuartzDeviceCoreClass GdkQuartzDeviceCoreClass; + +struct _GdkQuartzDeviceCore +{ + GdkDevice parent_instance; +}; + +struct _GdkQuartzDeviceCoreClass +{ + GdkDeviceClass parent_class; +}; + +GType gdk_quartz_device_core_get_type (void) G_GNUC_CONST; + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DEVICE_CORE_H__ */ diff --git a/gdk/quartz/gdkdevice-core.c b/gdk/quartz/gdkdevice-core.c deleted file mode 100644 index 65c24fa890..0000000000 --- a/gdk/quartz/gdkdevice-core.c +++ /dev/null @@ -1,366 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * Copyright (C) 2010 Kristian Rietveld - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include - -#import "GdkQuartzView.h" -#include "gdkwindow-quartz.h" -#include "gdkcursor-quartz.h" -#include "gdkprivate-quartz.h" -#include "gdkdevice-core.h" - -static gboolean gdk_device_core_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events); -static void gdk_device_core_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask); -static void gdk_device_core_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor); -static void gdk_device_core_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y); -static gboolean gdk_device_core_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask); -static GdkGrabStatus gdk_device_core_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_); -static void gdk_device_core_ungrab (GdkDevice *device, - guint32 time_); -static GdkWindow * gdk_device_core_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel); -static void gdk_device_core_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask); - - -G_DEFINE_TYPE (GdkDeviceCore, gdk_device_core, GDK_TYPE_DEVICE) - -static void -gdk_device_core_class_init (GdkDeviceCoreClass *klass) -{ - GdkDeviceClass *device_class = GDK_DEVICE_CLASS (klass); - - device_class->get_history = gdk_device_core_get_history; - device_class->get_state = gdk_device_core_get_state; - device_class->set_window_cursor = gdk_device_core_set_window_cursor; - device_class->warp = gdk_device_core_warp; - device_class->query_state = gdk_device_core_query_state; - device_class->grab = gdk_device_core_grab; - device_class->ungrab = gdk_device_core_ungrab; - device_class->window_at_position = gdk_device_core_window_at_position; - device_class->select_window_events = gdk_device_core_select_window_events; -} - -static void -gdk_device_core_init (GdkDeviceCore *device_core) -{ - GdkDevice *device; - - device = GDK_DEVICE (device_core); - - _gdk_device_add_axis (device, GDK_NONE, GDK_AXIS_X, 0, 0, 1); - _gdk_device_add_axis (device, GDK_NONE, GDK_AXIS_Y, 0, 0, 1); -} - -static gboolean -gdk_device_core_get_history (GdkDevice *device, - GdkWindow *window, - guint32 start, - guint32 stop, - GdkTimeCoord ***events, - gint *n_events) -{ - return FALSE; -} - -static void -gdk_device_core_get_state (GdkDevice *device, - GdkWindow *window, - gdouble *axes, - GdkModifierType *mask) -{ - gint x_int, y_int; - - gdk_window_get_pointer (window, &x_int, &y_int, mask); - - if (axes) - { - axes[0] = x_int; - axes[1] = y_int; - } -} - -static void -translate_coords_to_child_coords (GdkWindow *parent, - GdkWindow *child, - gint *x, - gint *y) -{ - GdkWindow *current = child; - - if (child == parent) - return; - - while (current != parent) - { - gint tmp_x, tmp_y; - - gdk_window_get_origin (current, &tmp_x, &tmp_y); - - *x -= tmp_x; - *y -= tmp_y; - - current = gdk_window_get_effective_parent (current); - } -} - -static void -gdk_device_core_set_window_cursor (GdkDevice *device, - GdkWindow *window, - GdkCursor *cursor) -{ - GdkQuartzCursor *cursor_private; - NSCursor *nscursor; - - cursor_private = (GdkQuartzCursor *) cursor; - - if (GDK_WINDOW_DESTROYED (window)) - return; - - if (!cursor) - nscursor = [NSCursor arrowCursor]; - else - nscursor = cursor_private->nscursor; - - [nscursor set]; -} - -static void -gdk_device_core_warp (GdkDevice *device, - GdkScreen *screen, - gint x, - gint y) -{ - CGDisplayMoveCursorToPoint (CGMainDisplayID (), CGPointMake (x, y)); -} - -static GdkWindow * -gdk_device_core_query_state_helper (GdkWindow *window, - GdkDevice *device, - gint *x, - gint *y, - GdkModifierType *mask) -{ - GdkWindow *toplevel; - NSPoint point; - gint x_tmp, y_tmp; - GdkWindow *found_window; - - g_return_val_if_fail (window == NULL || GDK_IS_WINDOW (window), NULL); - - if (GDK_WINDOW_DESTROYED (window)) - { - *x = 0; - *y = 0; - *mask = 0; - return NULL; - } - - toplevel = gdk_window_get_effective_toplevel (window); - - *mask = _gdk_quartz_events_get_current_event_mask (); - - /* Get the y coordinate, needs to be flipped. */ - if (window == _gdk_root) - { - point = [NSEvent mouseLocation]; - _gdk_quartz_window_nspoint_to_gdk_xy (point, &x_tmp, &y_tmp); - } - else - { - GdkWindowImplQuartz *impl; - NSWindow *nswindow; - - impl = GDK_WINDOW_IMPL_QUARTZ (toplevel->impl); - nswindow = impl->toplevel; - - point = [nswindow mouseLocationOutsideOfEventStream]; - - x_tmp = point.x; - y_tmp = toplevel->height - point.y; - - window = toplevel; - } - - found_window = _gdk_quartz_window_find_child (window, x_tmp, y_tmp, - FALSE); - - if (found_window == _gdk_root) - found_window = NULL; - else if (found_window) - translate_coords_to_child_coords (window, found_window, - &x_tmp, &y_tmp); - - if (x) - *x = x_tmp; - - if (y) - *y = y_tmp; - - return found_window; -} - -static gboolean -gdk_device_core_query_state (GdkDevice *device, - GdkWindow *window, - GdkWindow **root_window, - GdkWindow **child_window, - gint *root_x, - gint *root_y, - gint *win_x, - gint *win_y, - GdkModifierType *mask) -{ - GdkDisplay *display; - GdkWindow *found_window; - NSPoint point; - gint x_tmp, y_tmp; - - found_window = gdk_device_core_query_state_helper (window, device, - win_x, win_y, - mask); - if (!found_window) - return FALSE; - - display = gdk_window_get_display (window); - - if (root_window) - *root_window = _gdk_root; - - if (child_window) - *child_window = found_window; - - point = [NSEvent mouseLocation]; - _gdk_quartz_window_nspoint_to_gdk_xy (point, &x_tmp, &y_tmp); - - if (root_x) - *root_x = x_tmp; - - if (root_y) - *root_y = y_tmp; - - return TRUE; -} - -static GdkGrabStatus -gdk_device_core_grab (GdkDevice *device, - GdkWindow *window, - gboolean owner_events, - GdkEventMask event_mask, - GdkWindow *confine_to, - GdkCursor *cursor, - guint32 time_) -{ - /* Should remain empty */ - return GDK_GRAB_SUCCESS; -} - -static void -gdk_device_core_ungrab (GdkDevice *device, - guint32 time_) -{ - GdkDeviceGrabInfo *grab; - - grab = _gdk_display_get_last_device_grab (_gdk_display, device); - if (grab) - grab->serial_end = 0; - - _gdk_display_device_grab_update (_gdk_display, device, NULL, 0); -} - -static GdkWindow * -gdk_device_core_window_at_position (GdkDevice *device, - gint *win_x, - gint *win_y, - GdkModifierType *mask, - gboolean get_toplevel) -{ - GdkDisplay *display; - GdkScreen *screen; - GdkWindow *found_window; - NSPoint point; - gint x_tmp, y_tmp; - - display = gdk_device_get_display (device); - screen = gdk_display_get_default_screen (display); - - /* Get mouse coordinates, find window under the mouse pointer */ - point = [NSEvent mouseLocation]; - _gdk_quartz_window_nspoint_to_gdk_xy (point, &x_tmp, &y_tmp); - - found_window = _gdk_quartz_window_find_child (_gdk_root, x_tmp, y_tmp, - get_toplevel); - - if (found_window) - translate_coords_to_child_coords (_gdk_root, found_window, - &x_tmp, &y_tmp); - - if (win_x) - *win_x = found_window ? x_tmp : -1; - - if (win_y) - *win_y = found_window ? y_tmp : -1; - - if (mask) - *mask = _gdk_quartz_events_get_current_event_mask (); - - return found_window; -} - -static void -gdk_device_core_select_window_events (GdkDevice *device, - GdkWindow *window, - GdkEventMask event_mask) -{ - /* The mask is set in the common code. */ -} diff --git a/gdk/quartz/gdkdevice-core.h b/gdk/quartz/gdkdevice-core.h deleted file mode 100644 index 8f53d6fad8..0000000000 --- a/gdk/quartz/gdkdevice-core.h +++ /dev/null @@ -1,51 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_CORE_H__ -#define __GDK_DEVICE_CORE_H__ - -#include - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_CORE (gdk_device_core_get_type ()) -#define GDK_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_CORE, GdkDeviceCore)) -#define GDK_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_CORE, GdkDeviceCoreClass)) -#define GDK_IS_DEVICE_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_CORE)) -#define GDK_IS_DEVICE_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_CORE)) -#define GDK_DEVICE_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_CORE, GdkDeviceCoreClass)) - -typedef struct _GdkDeviceCore GdkDeviceCore; -typedef struct _GdkDeviceCoreClass GdkDeviceCoreClass; - -struct _GdkDeviceCore -{ - GdkDevice parent_instance; -}; - -struct _GdkDeviceCoreClass -{ - GdkDeviceClass parent_class; -}; - -GType gdk_device_core_get_type (void) G_GNUC_CONST; - -G_END_DECLS - -#endif /* __GDK_DEVICE_CORE_H__ */ diff --git a/gdk/quartz/gdkdevicemanager-core.c b/gdk/quartz/gdkdevicemanager-core.c index e96e9a9bf3..c05e6171b6 100644 --- a/gdk/quartz/gdkdevicemanager-core.c +++ b/gdk/quartz/gdkdevicemanager-core.c @@ -22,7 +22,7 @@ #include #include #include "gdkdevicemanager-core.h" -#include "gdkdevice-core.h" +#include "gdkdevice-core-quartz.h" #include "gdkkeysyms.h" @@ -55,7 +55,7 @@ static GdkDevice * create_core_pointer (GdkDeviceManager *device_manager, GdkDisplay *display) { - return g_object_new (GDK_TYPE_DEVICE_CORE, + return g_object_new (GDK_TYPE_QUARTZ_DEVICE_CORE, "name", "Core Pointer", "type", GDK_DEVICE_TYPE_MASTER, "input-source", GDK_SOURCE_MOUSE, @@ -70,7 +70,7 @@ static GdkDevice * create_core_keyboard (GdkDeviceManager *device_manager, GdkDisplay *display) { - return g_object_new (GDK_TYPE_DEVICE_CORE, + return g_object_new (GDK_TYPE_QUARTZ_DEVICE_CORE, "name", "Core Keyboard", "type", GDK_DEVICE_TYPE_MASTER, "input-source", GDK_SOURCE_KEYBOARD, From 083c556e0076ce5a78982a6c43bf58322c5c9668 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 17:30:29 +0100 Subject: [PATCH 0858/1463] quartz: rename GdkDeviceManagerCore -> GdkQuartzDeviceManagerCore --- gdk/quartz/Makefile.am | 3 +- ...-core.c => gdkdevicemanager-core-quartz.c} | 64 +++++++++---------- gdk/quartz/gdkdevicemanager-core-quartz.h | 54 ++++++++++++++++ gdk/quartz/gdkdevicemanager-core.h | 54 ---------------- gdk/quartz/gdkdisplay-quartz.c | 4 +- gdk/quartz/gdkevents-quartz.c | 10 +-- 6 files changed, 95 insertions(+), 94 deletions(-) rename gdk/quartz/{gdkdevicemanager-core.c => gdkdevicemanager-core-quartz.c} (56%) create mode 100644 gdk/quartz/gdkdevicemanager-core-quartz.h delete mode 100644 gdk/quartz/gdkdevicemanager-core.h diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 076858a388..322f7dbc40 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -25,7 +25,8 @@ libgdk_quartz_la_SOURCES = \ gdkcursor-quartz.h \ gdkdevice-core-quartz.c \ gdkdevice-core-quartz.h \ - gdkdevicemanager-core.c \ + gdkdevicemanager-core-quartz.c \ + gdkdevicemanager-core-quartz.h \ gdkdisplay-quartz.c \ gdkdisplay-quartz.h \ gdkdisplaymanager-quartz.c \ diff --git a/gdk/quartz/gdkdevicemanager-core.c b/gdk/quartz/gdkdevicemanager-core-quartz.c similarity index 56% rename from gdk/quartz/gdkdevicemanager-core.c rename to gdk/quartz/gdkdevicemanager-core-quartz.c index c05e6171b6..73fc1c13fa 100644 --- a/gdk/quartz/gdkdevicemanager-core.c +++ b/gdk/quartz/gdkdevicemanager-core-quartz.c @@ -21,7 +21,7 @@ #include #include -#include "gdkdevicemanager-core.h" +#include "gdkdevicemanager-core-quartz.h" #include "gdkdevice-core-quartz.h" #include "gdkkeysyms.h" @@ -29,26 +29,26 @@ #define HAS_FOCUS(toplevel) \ ((toplevel)->has_focus || (toplevel)->has_pointer_focus) -static void gdk_device_manager_core_finalize (GObject *object); -static void gdk_device_manager_core_constructed (GObject *object); +static void gdk_quartz_device_manager_core_finalize (GObject *object); +static void gdk_quartz_device_manager_core_constructed (GObject *object); -static GList * gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type); -static GdkDevice * gdk_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager); +static GList * gdk_quartz_device_manager_core_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type); +static GdkDevice * gdk_quartz_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager); -G_DEFINE_TYPE (GdkDeviceManagerCore, gdk_device_manager_core, GDK_TYPE_DEVICE_MANAGER) +G_DEFINE_TYPE (GdkQuartzDeviceManagerCore, gdk_quartz_device_manager_core, GDK_TYPE_DEVICE_MANAGER) static void -gdk_device_manager_core_class_init (GdkDeviceManagerCoreClass *klass) +gdk_quartz_device_manager_core_class_init (GdkQuartzDeviceManagerCoreClass *klass) { GdkDeviceManagerClass *device_manager_class = GDK_DEVICE_MANAGER_CLASS (klass); GObjectClass *object_class = G_OBJECT_CLASS (klass); - object_class->finalize = gdk_device_manager_core_finalize; - object_class->constructed = gdk_device_manager_core_constructed; - device_manager_class->list_devices = gdk_device_manager_core_list_devices; - device_manager_class->get_client_pointer = gdk_device_manager_core_get_client_pointer; + object_class->finalize = gdk_quartz_device_manager_core_finalize; + object_class->constructed = gdk_quartz_device_manager_core_constructed; + device_manager_class->list_devices = gdk_quartz_device_manager_core_list_devices; + device_manager_class->get_client_pointer = gdk_quartz_device_manager_core_get_client_pointer; } static GdkDevice * @@ -82,30 +82,30 @@ create_core_keyboard (GdkDeviceManager *device_manager, } static void -gdk_device_manager_core_init (GdkDeviceManagerCore *device_manager) +gdk_quartz_device_manager_core_init (GdkQuartzDeviceManagerCore *device_manager) { } static void -gdk_device_manager_core_finalize (GObject *object) +gdk_quartz_device_manager_core_finalize (GObject *object) { - GdkDeviceManagerCore *device_manager_core; + GdkQuartzDeviceManagerCore *quartz_device_manager_core; - device_manager_core = GDK_DEVICE_MANAGER_CORE (object); + quartz_device_manager_core = GDK_QUARTZ_DEVICE_MANAGER_CORE (object); - g_object_unref (device_manager_core->core_pointer); - g_object_unref (device_manager_core->core_keyboard); + g_object_unref (quartz_device_manager_core->core_pointer); + g_object_unref (quartz_device_manager_core->core_keyboard); - G_OBJECT_CLASS (gdk_device_manager_core_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_quartz_device_manager_core_parent_class)->finalize (object); } static void -gdk_device_manager_core_constructed (GObject *object) +gdk_quartz_device_manager_core_constructed (GObject *object) { - GdkDeviceManagerCore *device_manager; + GdkQuartzDeviceManagerCore *device_manager; GdkDisplay *display; - device_manager = GDK_DEVICE_MANAGER_CORE (object); + device_manager = GDK_QUARTZ_DEVICE_MANAGER_CORE (object); display = gdk_device_manager_get_display (GDK_DEVICE_MANAGER (object)); device_manager->core_pointer = create_core_pointer (GDK_DEVICE_MANAGER (device_manager), display); device_manager->core_keyboard = create_core_keyboard (GDK_DEVICE_MANAGER (device_manager), display); @@ -115,27 +115,27 @@ gdk_device_manager_core_constructed (GObject *object) } static GList * -gdk_device_manager_core_list_devices (GdkDeviceManager *device_manager, - GdkDeviceType type) +gdk_quartz_device_manager_core_list_devices (GdkDeviceManager *device_manager, + GdkDeviceType type) { - GdkDeviceManagerCore *device_manager_core; + GdkQuartzDeviceManagerCore *quartz_device_manager_core; GList *devices = NULL; if (type == GDK_DEVICE_TYPE_MASTER) { - device_manager_core = (GdkDeviceManagerCore *) device_manager; - devices = g_list_prepend (devices, device_manager_core->core_keyboard); - devices = g_list_prepend (devices, device_manager_core->core_pointer); + quartz_device_manager_core = (GdkQuartzDeviceManagerCore *) device_manager; + devices = g_list_prepend (devices, quartz_device_manager_core->core_keyboard); + devices = g_list_prepend (devices, quartz_device_manager_core->core_pointer); } return devices; } static GdkDevice * -gdk_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager) +gdk_quartz_device_manager_core_get_client_pointer (GdkDeviceManager *device_manager) { - GdkDeviceManagerCore *device_manager_core; + GdkQuartzDeviceManagerCore *quartz_device_manager_core; - device_manager_core = (GdkDeviceManagerCore *) device_manager; - return device_manager_core->core_pointer; + quartz_device_manager_core = (GdkQuartzDeviceManagerCore *) device_manager; + return quartz_device_manager_core->core_pointer; } diff --git a/gdk/quartz/gdkdevicemanager-core-quartz.h b/gdk/quartz/gdkdevicemanager-core-quartz.h new file mode 100644 index 0000000000..4624a981e6 --- /dev/null +++ b/gdk/quartz/gdkdevicemanager-core-quartz.h @@ -0,0 +1,54 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ +#define __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE (gdk_quartz_device_manager_core_get_type ()) +#define GDK_QUARTZ_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCore)) +#define GDK_QUARTZ_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCoreClass)) +#define GDK_IS_QUARTZ_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE)) +#define GDK_IS_QUARTZ_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE)) +#define GDK_QUARTZ_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCoreClass)) + +typedef struct _GdkQuartzDeviceManagerCore GdkQuartzDeviceManagerCore; +typedef struct _GdkQuartzDeviceManagerCoreClass GdkQuartzDeviceManagerCoreClass; + +struct _GdkQuartzDeviceManagerCore +{ + GdkDeviceManager parent_object; + GdkDevice *core_pointer; + GdkDevice *core_keyboard; +}; + +struct _GdkQuartzDeviceManagerCoreClass +{ + GdkDeviceManagerClass parent_class; +}; + +GType gdk_quartz_device_manager_core_get_type (void) G_GNUC_CONST; + + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ */ diff --git a/gdk/quartz/gdkdevicemanager-core.h b/gdk/quartz/gdkdevicemanager-core.h deleted file mode 100644 index f3917a379b..0000000000 --- a/gdk/quartz/gdkdevicemanager-core.h +++ /dev/null @@ -1,54 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 2009 Carlos Garnacho - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#ifndef __GDK_DEVICE_MANAGER_CORE_H__ -#define __GDK_DEVICE_MANAGER_CORE_H__ - -#include - -G_BEGIN_DECLS - -#define GDK_TYPE_DEVICE_MANAGER_CORE (gdk_device_manager_core_get_type ()) -#define GDK_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCore)) -#define GDK_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCoreClass)) -#define GDK_IS_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_MANAGER_CORE)) -#define GDK_IS_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER_CORE)) -#define GDK_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER_CORE, GdkDeviceManagerCoreClass)) - -typedef struct _GdkDeviceManagerCore GdkDeviceManagerCore; -typedef struct _GdkDeviceManagerCoreClass GdkDeviceManagerCoreClass; - -struct _GdkDeviceManagerCore -{ - GdkDeviceManager parent_object; - GdkDevice *core_pointer; - GdkDevice *core_keyboard; -}; - -struct _GdkDeviceManagerCoreClass -{ - GdkDeviceManagerClass parent_class; -}; - -GType gdk_device_manager_core_get_type (void) G_GNUC_CONST; - - -G_END_DECLS - -#endif /* __GDK_DEVICE_MANAGER_CORE_H__ */ diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 1cffaff6ec..b239e8af7c 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -25,7 +25,7 @@ #include "gdkscreen-quartz.h" #include "gdkwindow-quartz.h" #include "gdkdisplay-quartz.h" -#include "gdkdevicemanager-core.h" +#include "gdkdevicemanager-core-quartz.h" static GdkWindow * gdk_quartz_display_get_default_group (GdkDisplay *display) @@ -40,7 +40,7 @@ gdk_quartz_display_get_default_group (GdkDisplay *display) GdkDeviceManager * _gdk_device_manager_new (GdkDisplay *display) { - return g_object_new (GDK_TYPE_DEVICE_MANAGER_CORE, + return g_object_new (GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, "display", display, NULL); } diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 33719b3a88..a954b11a88 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -33,7 +33,7 @@ #include "gdkkeysyms.h" #include "gdkdisplay-quartz.h" #include "gdkprivate-quartz.h" -#include "gdkdevicemanager-core.h" +#include "gdkdevicemanager-core-quartz.h" #define GRIP_WIDTH 15 #define GRIP_HEIGHT 15 @@ -312,13 +312,13 @@ create_focus_event (GdkWindow *window, gboolean in) { GdkEvent *event; - GdkDeviceManagerCore *device_manager; + GdkQuartzDeviceManagerCore *device_manager; event = gdk_event_new (GDK_FOCUS_CHANGE); event->focus_change.window = window; event->focus_change.in = in; - device_manager = GDK_DEVICE_MANAGER_CORE (_gdk_display->device_manager); + device_manager = GDK_QUARTZ_DEVICE_MANAGER_CORE (_gdk_display->device_manager); gdk_event_set_device (event, device_manager->core_keyboard); return event; @@ -900,7 +900,7 @@ fill_key_event (GdkWindow *window, GdkEventType type) { GdkEventPrivate *priv; - GdkDeviceManagerCore *device_manager; + GdkQuartzDeviceManagerCore *device_manager; gchar buf[7]; gunichar c = 0; @@ -915,7 +915,7 @@ fill_key_event (GdkWindow *window, event->key.group = ([nsevent modifierFlags] & NSAlternateKeyMask) ? 1 : 0; event->key.keyval = GDK_KEY_VoidSymbol; - device_manager = GDK_DEVICE_MANAGER_CORE (_gdk_display->device_manager); + device_manager = GDK_QUARTZ_DEVICE_MANAGER_CORE (_gdk_display->device_manager); gdk_event_set_device (event, device_manager->core_keyboard); gdk_keymap_translate_keyboard_state (NULL, From 187762d8b3dc33c59120bbb9e7f113843449f2b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 22 Dec 2010 17:05:50 +0000 Subject: [PATCH 0859/1463] docs: fix a typo --- docs/reference/gtk/migrating-2to3.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index 237d14f634..f10f72e422 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -128,7 +128,7 @@ The gdk_spawn family of functions has been deprecated in GDK 2.24 and removed from GDK 3. Various replacements - exit; the best replacement depends on the circumstances: + exist; the best replacement depends on the circumstances: If you are opening a document or URI by launching a command like firefox http://my-favourite-website.com or From 3adb7c7a49938dd3d960957e1faa7e8e46193709 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 14:08:03 -0500 Subject: [PATCH 0860/1463] Avoid a crash pointed out in bug 533745 --- gdk/gdkdnd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c index 542f88f154..bb2e6a854e 100644 --- a/gdk/gdkdnd.c +++ b/gdk/gdkdnd.c @@ -451,6 +451,7 @@ GdkAtom gdk_drag_get_selection (GdkDragContext *context) { g_return_val_if_fail (GDK_IS_DRAG_CONTEXT (context), GDK_NONE); + g_return_val_if_fail (context->source_window != NULL, GDK_NONE); return GDK_DRAG_CONTEXT_GET_CLASS (context)->get_selection (context); } From 03f7e26d2649d5dabdbe0bf6c977462e8f3f5860 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 14:33:09 -0500 Subject: [PATCH 0861/1463] Don't return PropertyNotify.state as modifier state It isn't, it really is a GdkPropertyState. Reported by Tim Janik in bug 633795. --- gdk/gdkevents.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c index e9995e9492..1878799fea 100644 --- a/gdk/gdkevents.c +++ b/gdk/gdkevents.c @@ -756,8 +756,6 @@ gdk_event_get_state (const GdkEvent *event, *state = event->crossing.state; return TRUE; case GDK_PROPERTY_NOTIFY: - *state = event->property.state; - return TRUE; case GDK_VISIBILITY_NOTIFY: case GDK_CLIENT_EVENT: case GDK_CONFIGURE: From 48b6b939d367384cd0543c3bac44a45d89d6280e Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 20:41:06 +0100 Subject: [PATCH 0862/1463] Implement process_updates_recurse for GdkOffscreenWindow Makes offscreen windows work again. --- gdk/gdkoffscreenwindow.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gdk/gdkoffscreenwindow.c b/gdk/gdkoffscreenwindow.c index 6c2c86406e..a4a0d418a9 100644 --- a/gdk/gdkoffscreenwindow.c +++ b/gdk/gdkoffscreenwindow.c @@ -698,6 +698,13 @@ gdk_offscreen_window_set_boolean (GdkWindow *window, { } +static void +gdk_offscreen_window_process_updates_recurse (GdkWindow *window, + cairo_region_t *region) +{ + _gdk_window_process_updates_recurse (window, region); +} + static void gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass) { @@ -779,7 +786,7 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass) impl_class->destroy_notify = NULL; impl_class->register_dnd = NULL; impl_class->drag_begin = NULL; - impl_class->process_updates_recurse = NULL; + impl_class->process_updates_recurse = gdk_offscreen_window_process_updates_recurse; impl_class->sync_rendering = NULL; impl_class->simulate_key = NULL; impl_class->simulate_button = NULL; From 197590258fd791225f6fc4e842f3f117ea37c33f Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Wed, 22 Dec 2010 22:33:05 +0100 Subject: [PATCH 0863/1463] quartz: Make keyboard input work again --- gdk/quartz/gdkevents-quartz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index a954b11a88..915223ccc6 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -918,7 +918,7 @@ fill_key_event (GdkWindow *window, device_manager = GDK_QUARTZ_DEVICE_MANAGER_CORE (_gdk_display->device_manager); gdk_event_set_device (event, device_manager->core_keyboard); - gdk_keymap_translate_keyboard_state (NULL, + gdk_keymap_translate_keyboard_state (gdk_keymap_get_for_display (_gdk_display), event->key.hardware_keycode, event->key.state, event->key.group, From e6693ab8402b85b15c3c9711b16423a0e0948de5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 16:53:26 -0500 Subject: [PATCH 0864/1463] Avoid invariant checking spew in gnome-shell For normal toplevels, visible is tightly bound to mapped, but for something like a toplevel that exists within a Clutter stage we may want to make mapping dependenton external factors, so we shouldn't actually checked that !mapped toplevels are !visible. Pointed out by Owen Taylor, https://bugzilla.gnome.org/show_bug.cgi?id=637834 --- gtk/gtkwidget.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 66838bcca9..87834edea6 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8669,12 +8669,18 @@ gtk_widget_verify_invariants (GtkWidget *widget) { /* Not mapped implies... */ +#if 0 + /* This check makes sense for normal toplevels, but for + * something like a toplevel that is embedded within a clutter + * state, mapping may depend on external factors. + */ if (widget->priv->toplevel) { if (widget->priv->visible) g_warning ("%s %p toplevel is visible but not mapped", G_OBJECT_TYPE_NAME (widget), widget); } +#endif } /* Parent related checks aren't possible if parent has From 9baf24f87e504363e8b313f2ec02d84f13c5e262 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 18:46:29 -0500 Subject: [PATCH 0865/1463] Add a default handler for drag_failed And use it in notebook dnd. --- gtk/gtknotebook.c | 10 +++------- gtk/gtkwidget.c | 3 ++- gtk/gtkwidget.h | 3 +++ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index df0383d78f..062f337e05 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -371,8 +371,7 @@ static void gtk_notebook_drag_end (GtkWidget *widget, GdkDragContext *context); static gboolean gtk_notebook_drag_failed (GtkWidget *widget, GdkDragContext *context, - GtkDragResult result, - gpointer data); + GtkDragResult result); static gboolean gtk_notebook_drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, @@ -665,6 +664,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) widget_class->drag_drop = gtk_notebook_drag_drop; widget_class->drag_data_get = gtk_notebook_drag_data_get; widget_class->drag_data_received = gtk_notebook_drag_data_received; + widget_class->drag_failed = gtk_notebook_drag_failed; widget_class->compute_expand = gtk_notebook_compute_expand; container_class->add = gtk_notebook_add; @@ -1202,9 +1202,6 @@ gtk_notebook_init (GtkNotebook *notebook) notebook_targets, G_N_ELEMENTS (notebook_targets), GDK_ACTION_MOVE); - g_signal_connect (G_OBJECT (notebook), "drag-failed", - G_CALLBACK (gtk_notebook_drag_failed), NULL); - gtk_drag_dest_set_track_motion (GTK_WIDGET (notebook), TRUE); context = gtk_widget_get_style_context (GTK_WIDGET (notebook)); @@ -3588,8 +3585,7 @@ gtk_notebook_create_window (GtkNotebook *notebook, static gboolean gtk_notebook_drag_failed (GtkWidget *widget, GdkDragContext *context, - GtkDragResult result, - gpointer data) + GtkDragResult result) { if (result == GTK_DRAG_RESULT_NO_TARGET) { diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 87834edea6..07f360c2fe 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -2455,7 +2455,8 @@ gtk_widget_class_init (GtkWidgetClass *klass) g_signal_new (I_("drag-failed"), G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST, - 0, _gtk_boolean_handled_accumulator, NULL, + G_STRUCT_OFFSET (GtkWidgetClass, drag_failed), + _gtk_boolean_handled_accumulator, NULL, _gtk_marshal_BOOLEAN__OBJECT_ENUM, G_TYPE_BOOLEAN, 2, GDK_TYPE_DRAG_CONTEXT, diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 54acc3d8a7..a2d4d5bde1 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -375,6 +375,9 @@ struct _GtkWidgetClass GtkSelectionData *selection_data, guint info, guint time_); + gboolean (* drag_failed) (GtkWidget *widget, + GdkDragContext *context, + GtkDragResult result); /* Signals used only for keybindings */ gboolean (* popup_menu) (GtkWidget *widget); From 7e0a30b752a2a53d8e0ac2332e5f0ed99c6aafcf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 21:46:23 -0500 Subject: [PATCH 0866/1463] Abort a drag when a keynav drop has not destination This was claimed to cause problems for Chromium, see bug 599130. Also work around apparent rounding errors in XIWarpDevice by setting the 'small step' for keynav dnd to 2 instead of 1 - I notice that a warp seems to sometimes warp a little less than I tell it to, and if I tell it to only move by 1 pixel then moving less means that you are stuck. --- gtk/gtkdnd.c | 74 +++++++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 33 deletions(-) diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 8efbacd39f..d0c2301798 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -4184,7 +4184,7 @@ gtk_drag_motion_cb (GtkWidget *widget, *************************************************************/ #define BIG_STEP 20 -#define SMALL_STEP 1 +#define SMALL_STEP 2 static gboolean gtk_drag_key_cb (GtkWidget *widget, @@ -4204,41 +4204,49 @@ gtk_drag_key_cb (GtkWidget *widget, if (event->type == GDK_KEY_PRESS) { switch (event->keyval) - { - case GDK_KEY_Escape: - gtk_drag_cancel (info, GTK_DRAG_RESULT_USER_CANCELLED, event->time); - return TRUE; +{ + case GDK_KEY_Escape: + gtk_drag_cancel (info, GTK_DRAG_RESULT_USER_CANCELLED, event->time); + return TRUE; - case GDK_KEY_space: - case GDK_KEY_Return: + case GDK_KEY_space: + case GDK_KEY_Return: case GDK_KEY_ISO_Enter: - case GDK_KEY_KP_Enter: - case GDK_KEY_KP_Space: - gtk_drag_end (info, event->time); - gtk_drag_drop (info, event->time); - return TRUE; + case GDK_KEY_KP_Enter: + case GDK_KEY_KP_Space: + if ((gdk_drag_context_get_selected_action (info->context) != 0) && + (gdk_drag_context_get_dest_window (info->context) != NULL)) + { + gtk_drag_end (info, event->time); + gtk_drag_drop (info, event->time); + } + else + { + gtk_drag_cancel (info, GTK_DRAG_RESULT_NO_TARGET, event->time); + } - case GDK_KEY_Up: - case GDK_KEY_KP_Up: - dy = (state & GDK_MOD1_MASK) ? -BIG_STEP : -SMALL_STEP; - break; - - case GDK_KEY_Down: - case GDK_KEY_KP_Down: - dy = (state & GDK_MOD1_MASK) ? BIG_STEP : SMALL_STEP; - break; - - case GDK_KEY_Left: - case GDK_KEY_KP_Left: - dx = (state & GDK_MOD1_MASK) ? -BIG_STEP : -SMALL_STEP; - break; - - case GDK_KEY_Right: - case GDK_KEY_KP_Right: - dx = (state & GDK_MOD1_MASK) ? BIG_STEP : SMALL_STEP; - break; - } - + return TRUE; + + case GDK_KEY_Up: + case GDK_KEY_KP_Up: + dy = (state & GDK_MOD1_MASK) ? -BIG_STEP : -SMALL_STEP; + break; + + case GDK_KEY_Down: + case GDK_KEY_KP_Down: + dy = (state & GDK_MOD1_MASK) ? BIG_STEP : SMALL_STEP; + break; + + case GDK_KEY_Left: + case GDK_KEY_KP_Left: + dx = (state & GDK_MOD1_MASK) ? -BIG_STEP : -SMALL_STEP; + break; + + case GDK_KEY_Right: + case GDK_KEY_KP_Right: + dx = (state & GDK_MOD1_MASK) ? BIG_STEP : SMALL_STEP; + break; + } } /* Now send a "motion" so that the modifier state is updated */ From d77dcfb9b23857ce8bee00b965a1a0dbbce9d6de Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 22 Dec 2010 22:33:40 -0500 Subject: [PATCH 0867/1463] Better fix for keynav dnd With proper rounding, we can go back to a 'small step' of 1. --- gtk/gtkdnd.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index d0c2301798..48d726bc95 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -4150,8 +4150,8 @@ gtk_drag_cancel (GtkDragSourceInfo *info, GtkDragResult result, guint32 time) *************************************************************/ static gboolean -gtk_drag_motion_cb (GtkWidget *widget, - GdkEventMotion *event, +gtk_drag_motion_cb (GtkWidget *widget, + GdkEventMotion *event, gpointer data) { GtkDragSourceInfo *info = (GtkDragSourceInfo *)data; @@ -4170,7 +4170,9 @@ gtk_drag_motion_cb (GtkWidget *widget, else screen = gdk_event_get_screen ((GdkEvent *)event); - gtk_drag_update (info, screen, event->x_root, event->y_root, (GdkEvent *) event); + x_root = (gint)(event->x_root + 0.5); + y_root = (gint)(event->y_root + 0.5); + gtk_drag_update (info, screen, x_root, y_root, (GdkEvent *) event); return TRUE; } @@ -4184,7 +4186,7 @@ gtk_drag_motion_cb (GtkWidget *widget, *************************************************************/ #define BIG_STEP 20 -#define SMALL_STEP 2 +#define SMALL_STEP 1 static gboolean gtk_drag_key_cb (GtkWidget *widget, From e88a44f4c916923629ea70f2a62832a06b54da92 Mon Sep 17 00:00:00 2001 From: Brian Cameron Date: Wed, 22 Dec 2010 21:55:12 -0600 Subject: [PATCH 0868/1463] Fix bug #637721, fix function prototype. --- gtk/gtkcellrendererprogress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellrendererprogress.c b/gtk/gtkcellrendererprogress.c index f226eb7c22..4a876bccb0 100644 --- a/gtk/gtkcellrendererprogress.c +++ b/gtk/gtkcellrendererprogress.c @@ -93,7 +93,7 @@ static void gtk_cell_renderer_progress_render (GtkCellRenderer *ce GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, - guint flags); + GtkCellRendererState flags); G_DEFINE_TYPE_WITH_CODE (GtkCellRendererProgress, gtk_cell_renderer_progress, GTK_TYPE_CELL_RENDERER, From f90365d46bffd2b4bf49b69cd1bd9892c0b3b322 Mon Sep 17 00:00:00 2001 From: Brian Cameron Date: Wed, 22 Dec 2010 21:58:40 -0600 Subject: [PATCH 0869/1463] Fix spacing. --- gtk/gtkcellrendererprogress.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellrendererprogress.c b/gtk/gtkcellrendererprogress.c index 4a876bccb0..ba69ae1d42 100644 --- a/gtk/gtkcellrendererprogress.c +++ b/gtk/gtkcellrendererprogress.c @@ -93,7 +93,7 @@ static void gtk_cell_renderer_progress_render (GtkCellRenderer *ce GtkWidget *widget, const GdkRectangle *background_area, const GdkRectangle *cell_area, - GtkCellRendererState flags); + GtkCellRendererState flags); G_DEFINE_TYPE_WITH_CODE (GtkCellRendererProgress, gtk_cell_renderer_progress, GTK_TYPE_CELL_RENDERER, From af9d59aaca9331f9c31ae4fec518a522602f6176 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 00:40:58 -0500 Subject: [PATCH 0870/1463] Allow inspection of construct-only object properties The 'Properties' button here is not really modifying the property in any way, so it doesn't make sense to disable it just because the object can only be set at construction. This lets us poke at e.g. the cell area of an icon view. --- tests/prop-editor.c | 37 ++++++++++++++----------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/tests/prop-editor.c b/tests/prop-editor.c index bd90e54397..957111eb38 100644 --- a/tests/prop-editor.c +++ b/tests/prop-editor.c @@ -909,10 +909,13 @@ property_widget (GObject *object, gtk_container_add (GTK_CONTAINER (prop_edit), label); gtk_container_add (GTK_CONTAINER (prop_edit), button); - + g_object_connect_property (object, spec, G_CALLBACK (object_changed), prop_edit, G_OBJECT (label)); + + /* The Properties button is not really modifying, anyway */ + can_modify = TRUE; } else if (type == G_TYPE_PARAM_BOXED && G_PARAM_SPEC_VALUE_TYPE (spec) == GDK_TYPE_COLOR) @@ -936,6 +939,12 @@ property_widget (GObject *object, gtk_misc_set_alignment (GTK_MISC (prop_edit), 0.0, 0.5); } + if (!can_modify) + gtk_widget_set_sensitive (prop_edit, FALSE); + + if (g_param_spec_get_blurb (spec)) + gtk_widget_set_tooltip_text (prop_edit, g_param_spec_get_blurb (spec)); + return prop_edit; } @@ -1004,18 +1013,9 @@ properties_from_type (GObject *object, prop_edit = property_widget (object, spec, can_modify); gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1); - if (prop_edit) - { - if (!can_modify) - gtk_widget_set_sensitive (prop_edit, FALSE); + /* set initial value */ + g_object_notify (object, spec->name); - if (g_param_spec_get_blurb (spec)) - gtk_widget_set_tooltip_text (prop_edit, g_param_spec_get_blurb (spec)); - - /* set initial value */ - g_object_notify (object, spec->name); - } - ++i; } @@ -1087,18 +1087,9 @@ child_properties_from_object (GObject *object) prop_edit = property_widget (object, spec, can_modify); gtk_table_attach_defaults (GTK_TABLE (table), prop_edit, 1, 2, i, i + 1); - if (prop_edit) - { - if (!can_modify) - gtk_widget_set_sensitive (prop_edit, FALSE); + /* set initial value */ + gtk_widget_child_notify (GTK_WIDGET (object), spec->name); - if (g_param_spec_get_blurb (spec)) - gtk_widget_set_tooltip_text (prop_edit, g_param_spec_get_blurb (spec)); - - /* set initial value */ - gtk_widget_child_notify (GTK_WIDGET (object), spec->name); - } - ++i; } From dd5a74dcbcf4b096003a9ad5448c7c7672dfb6f0 Mon Sep 17 00:00:00 2001 From: Erdal Ronahi Date: Thu, 23 Dec 2010 14:14:10 +0100 Subject: [PATCH 0871/1463] Updated Kurdish translations --- po/ku.po | 2276 ++++++++++++++++++++++++++---------------------------- 1 file changed, 1103 insertions(+), 1173 deletions(-) diff --git a/po/ku.po b/po/ku.po index 8b35432fa2..b951639f59 100644 --- a/po/ku.po +++ b/po/ku.po @@ -3,74 +3,65 @@ # Copyright (C) 2005 THE gtk+'S COPYRIGHT HOLDER. # Erdal Ronahi , 2008. # Erdal Ronahi , 2009 +# Erdal Ronahî , 2010. msgid "" msgstr "" "Project-Id-Version: ku\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2009-02-24 01:08+0200\n" -"Last-Translator: Erdal Ronahi \n" -"Language-Team: http;//pckurd.net\n" +"POT-Creation-Date: 2010-12-23 13:45+0100\n" +"PO-Revision-Date: 2010-12-23 14:13+0200\n" +"Last-Translator: Erdal Ronahî \n" +"Language-Team: Kurdish Team http://pckurd.net\n" "Language: None\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural= n != 1\n" -"X-Generator: Virtaal 0.3.0\n" +"X-Generator: Virtaal 0.6.1\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:155 #, fuzzy, c-format msgid "Error parsing option --gdk-debug" msgstr "Çewtiya çapkirinê" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:175 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:203 msgid "Program class as used by the window manager" msgstr "" "Dabeşkirina bernameyê weke ku ji alî gerînendeyê paceyan ve tê bikaranîn" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:204 msgid "CLASS" msgstr "Celeb" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:206 msgid "Program name as used by the window manager" msgstr "Navê bernameyê wekî ku ji alî gerînendeyê paceyan ve tê bikaranîn" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:207 msgid "NAME" msgstr "NAV" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:209 msgid "X display to use" msgstr "Dîmendêra X ya ku dê were bikaranîn" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:210 msgid "DISPLAY" msgstr "DÎMEN" -#. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 -msgid "X screen to use" -msgstr "Dîmender a X ya bikaranînê" - -#. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 -msgid "SCREEN" -msgstr "Dîmender" - #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 +#: ../gdk/gdk.c:213 #, fuzzy msgid "GDK debugging flags to set" msgstr "Nîşenekên neqandina çewtiyên GTK+ yên wê werine tayînkirin" @@ -79,319 +70,317 @@ msgstr "Nîşenekên neqandina çewtiyên GTK+ yên wê werine tayînkirin" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 msgid "FLAGS" msgstr "Al" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 +#: ../gdk/gdk.c:216 #, fuzzy msgid "GDK debugging flags to unset" msgstr "Nîşenekên neqandina çewtiyên GTK+ yên wê werine rakirin" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 #, fuzzy msgctxt "keyboard label" msgid "BackSpace" msgstr "_Guhestin" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Rawestandin" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 #, fuzzy msgctxt "keyboard label" msgid "Sys_Req" msgstr "Pergala Pelan" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 #, fuzzy msgctxt "keyboard label" msgid "Escape" msgstr "Serpahnayê" -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 #, fuzzy msgctxt "keyboard label" msgid "Multi_key" msgstr "Multipress" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Mal" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Çep" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Berjor" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Rast" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Berjêr" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 #, fuzzy msgctxt "keyboard label" msgid "Page_Up" msgstr "Mîhengên Rûpelê" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "Dawî" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Destpêk" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 #, fuzzy msgctxt "keyboard label" msgid "Print" msgstr "Çap" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 #, fuzzy msgctxt "keyboard label" msgid "KP_Space" msgstr "_Guhestin" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 #, fuzzy msgctxt "keyboard label" msgid "KP_Enter" msgstr "Çaper" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 #, fuzzy msgctxt "keyboard label" msgid "KP_Home" msgstr "_Mal" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 #, fuzzy msgctxt "keyboard label" msgid "KP_Left" msgstr "_Çep:" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 #, fuzzy msgctxt "keyboard label" msgid "KP_Right" msgstr "_Rast:" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 #, fuzzy msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 #, fuzzy msgctxt "keyboard label" msgid "KP_Delete" msgstr "_Rake" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Jêbirin" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "Koma GDI ne pêwiste" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "Wintab API ji bo li hevhatinê nede bikaranîn" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "wekî --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Wintab APIyê bikar bîne [pêşravekî]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "Mezinahiya paletê ya di moda 8 bîtan de" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "RENG" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "%s tê dest pê kirin" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "%s tê vekirin" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "" msgstr[1] "" -#. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 -msgid "Make X calls synchronous" -msgstr "Lêdanên X hevdem bike" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "Peyman" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "Lîsansa bernameyê" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:740 msgid "C_redits" msgstr "_Spas" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:753 msgid "_License" msgstr "_Lîsans" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:958 #, fuzzy msgid "Could not show link" msgstr "Lîste nehate paqijkirin" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:995 +#, fuzzy +msgid "Homepage" +msgstr "Mal" + +#: ../gtk/gtkaboutdialog.c:1049 #, c-format msgid "About %s" msgstr "Der barê %s de" -#: gtk/gtkaboutdialog.c:2153 -msgid "Credits" -msgstr "Spas" +#: ../gtk/gtkaboutdialog.c:2371 +msgid "Created by" +msgstr "Afirandêr" -#: gtk/gtkaboutdialog.c:2185 -msgid "Written by" -msgstr "Nivîskar" - -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2374 msgid "Documented by" msgstr "Belgekirin" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2384 msgid "Translated by" msgstr "Wergêr" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2389 msgid "Artwork by" msgstr "Huner" @@ -400,7 +389,7 @@ msgstr "Huner" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "" @@ -410,7 +399,7 @@ msgstr "" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "" @@ -420,7 +409,7 @@ msgstr "" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "" @@ -430,7 +419,7 @@ msgstr "" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -440,7 +429,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hîper" @@ -450,37 +439,37 @@ msgstr "Hîper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Navber" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, fuzzy, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Fonksiyona nivîsandina nederbasdar: `%s'" -#: gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:407 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "Navê pelê nederbasdar: `%s'" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "Etîket nefehmkirî: '%s'" @@ -495,7 +484,7 @@ msgstr "Etîket nefehmkirî: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:882 msgid "calendar:MY" msgstr "calendar:MY" @@ -503,7 +492,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:920 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -512,7 +501,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1900 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -527,7 +516,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -543,7 +532,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -559,7 +548,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2253 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -567,45 +556,43 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 -#, fuzzy +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" -msgstr "Ne çalak" +msgstr "Neçalak" #. This label is displayed in a treeview cell displaying #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 -#, fuzzy +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" -msgstr "URI nederbasdar e" +msgstr "Nederbasdar" #. This label is displayed in a treeview cell displaying #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "Lezkera nû..." -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%% %d" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Rengeke hilbijêre" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Daneya rengan ne tekûze\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -613,7 +600,7 @@ msgstr "" "Ji giloverîka ku derve ye rengekî hilbijêrin. Tu dikarî ji sêgoşeya ku li " "hundir e tarîbûn û vekirîbûna reng hilbijêre." -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -621,68 +608,68 @@ msgstr "" "Piştî ku te dilopdank tikand, tu dikarî rengekî ku li ser dîmendera te ye " "bitikîne û reng hilbijêre." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Reng:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Cihê li ser dolaba rengan." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Têrkirin:" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:452 #, fuzzy msgid "Intensity of the color." msgstr "Zelaliya rengî." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Nirx:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Biriqandina rengî." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Sor:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Asta rengê sor." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_Kesk:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Asta rengê kesk di reng de." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Şîn:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Asta rengê şîn di reng de." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "_Tarîkirin:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Zelaliya rengî." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "Navê _reng:" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -690,15 +677,15 @@ msgstr "" "Tu dikarî wek şêweyê HTML reng derbasbikî, an jî bi hesanî dikarî navê reng " "binvîsî wekî mînak 'sor'." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Palet:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Dolabê rengan" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -708,7 +695,7 @@ msgstr "" "hilbijartiye. tu dikarî vî rengî bibî malikên rengan an jî wekî rengê " "bikaranînê hilbijêrî." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -716,21 +703,21 @@ msgstr "" "Tu dikarî rengê ku te niha hilbijartiye di malikên rengan de tomar bikî ji " "bo di pêşerojê de tu bikaribî bikar bînî." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "" -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "" -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "Reng li vir _tomar bike" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -738,7 +725,7 @@ msgstr "" "Malika rengan bitikîne da tu bikî rengê bikaranîne. ji bo guhertina vê " "malikê bişkoja rastê ya mişk bitikîne û \"reng li vir tomar bike\" hilbijêre" -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "Hilbijartina rengan" @@ -748,124 +735,124 @@ msgstr "Hilbijartina rengan" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "Gerînendeya mezinahiyên taybet bike" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "înç" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "Sînorên Çaperê..." -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "Mezinahiya %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "_Firehî:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "_Bilindahî:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "Mezinahiya kaxizê" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "_Jor:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "_jêr:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "_Çep:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "_Rast:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "Valehiyên rûpel" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "Riyên_Têketinê" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "_Şifreya kontrola sembolê derbas bike" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10227 msgid "Caps Lock and Num Lock are on" msgstr "" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10229 msgid "Num Lock is on" msgstr "" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10231 msgid "Caps Lock is on" msgstr "" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "Pelekî Hilbijêre" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "Sermasê" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(Ne yek jî)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Yên din..." -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "Navê celebê peldanka nû" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "Nikare agahiyên li ser pelî bibîne" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "Nikare beyanameyekê lê zêde bike" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "Nikare beyanameyekê jê bibe" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "Reng nehatiye avakirin" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:992 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -873,11 +860,17 @@ msgstr "" "Peldank pêk nehat, bi vî navî jixwe peldankek heye. Ji bo peldankê yan " "navekî din bikar bîne an jî berê berê navê pelê biguherîne." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "Navê pelî ne derbasbare" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "Naveroka peldankê nehate nîşandan" @@ -885,187 +878,186 @@ msgstr "Naveroka peldankê nehate nîşandan" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s di %2$s de" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "Lêgerîn" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Teze Bikaranî" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2437 msgid "Select which types of files are shown" msgstr "Hilbijêre kîjan cureyê pelan hatiye nîşandan" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2796 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Belgedankekê '%s' li beyanameyê zêde bike" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2840 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Belgedanka heyî li beyanameyê zêde bike" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2842 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Belgedanka hilbijartî li beyanameyê zêde bike" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2880 #, c-format msgid "Remove the bookmark '%s'" msgstr "Bijareya '%s' rake" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2882 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "Beyanameya hilbijartî jê bibe" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "Rake" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "Nav biguherîne..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "Cih" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "_Cih" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "_Têxê" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "Beyanameya hilbijartî li peldankê zêde bike" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "_Rakirin" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "Nikare pel hilbijêre" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "_Li beyanameyê zêde bike" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "Pelên veşartî _nîşan bide" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "Pel" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "Nav" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "Mezinahî" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "Hatiye guherandin" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Nav:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_Li peldankên din binere" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "Navê pelekî binivîse" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "_Peldankê biafirîne" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "_Cih:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "Di _peldankê de tomar bike:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "Di peldankê de _biafirîne:" -#: gtk/gtkfilechooserdefault.c:6248 -#, fuzzy, c-format +#: ../gtk/gtkfilechooserdefault.c:6297 +#, c-format msgid "Could not read the contents of %s" -msgstr "Nikare ji nû nav li pelê %s bike ji bo %s: %s\n" +msgstr "Nikarî naveroka %s bixwîne" -#: gtk/gtkfilechooserdefault.c:6252 -#, fuzzy +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" -msgstr "Nikare ikona lodkirî bibîne" +msgstr "Nikarî naveroka peldankê bixwîne" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "Nenas" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "Do de %H:%M de" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "Nikare peldank biguhêre ji ber ne herîmiye" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "Kurterê %s jixwe heye" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "Kurterê %s tuneye" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Pelek bi navê \"%s\" ji berê ve heye. Tu dixwazî ser wî binivîsî?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." @@ -1073,15 +1065,15 @@ msgstr "" "Ev pel ji berê ve di \"%s\" de heye. Heke tu biguhêrî dê di ser naveroka " "pelê berê de were nivisandin." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Guhestin" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Despêkirina lêgerînê biserneket" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1089,53 +1081,50 @@ msgstr "" "Bername nikarî bi daemona fihrîstkirina re girê bide. Ji kerema xwe re " "xebitandina wî kontrol bike." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Şandina lêpirsîna lêgerînê biserneket" -#: gtk/gtkfilechooserdefault.c:8861 -#, fuzzy +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" -msgstr "Lêgerîn" +msgstr "Lêgerîn:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Siwarkirina %s biserneket" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 -#, fuzzy +#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 msgid "Invalid path" msgstr "Rêç nederbasdar e" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1104 msgid "No match" msgstr "" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 -#, fuzzy +#: ../gtk/gtkfilechooserentry.c:1115 msgid "Sole completion" -msgstr "Hilbijartina rengan" +msgstr "\t" #. translators: this text is shown when the text in a file chooser #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1131 msgid "Complete, but not unique" msgstr "" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1163 msgid "Completing..." msgstr "" @@ -1143,7 +1132,7 @@ msgstr "" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 msgid "Only local files may be selected" msgstr "" @@ -1151,81 +1140,75 @@ msgstr "" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1194 msgid "Incomplete hostname; end it with '/'" msgstr "" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 -#, fuzzy +#: ../gtk/gtkfilechooserentry.c:1205 msgid "Path does not exist" -msgstr "Ev rêc tuneye" - -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Di afirandina peldanka '%s' de çewtî: %s" +msgstr "Ev rêç tuneye" #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "Pergala Pelan" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Curetîpekê Hilbijêre" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Cureyê nivîsê" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abçdêfghîjşû ABÇDÊFGHÎJKŞÛ" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "_Malbat:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "_Teşe:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "_Mezinahî:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_Pêşdîtin:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Hilbijartina Curetîpan" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "Çewtî di dema barkirina îkonê de: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1351 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1238,78 +1221,75 @@ msgstr "" " Tu dikarî copya li vir bibînî\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1532 #, c-format msgid "Icon '%s' not present in theme" msgstr "îkon %s' ne têde ye" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3053 msgid "Failed to load icon" msgstr "Barkirina îkonê biserneket" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "Hesan" -#: gtk/gtkimmulticontext.c:588 -#, fuzzy +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "Pergal" -#: gtk/gtkimmulticontext.c:598 -#, fuzzy +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" -msgstr "Ne yek jî" +msgstr "Ne yek" -#: gtk/gtkimmulticontext.c:681 -#, fuzzy, c-format +#: ../gtk/gtkimmulticontext.c:681 +#, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "Pergal (%s)" #. Open Link -#: gtk/gtklabel.c:6202 -#, fuzzy +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" -msgstr "_Vekirin" +msgstr "Lînkê _veke" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" -msgstr "" +msgstr "Navnîşana _lînkê ji ber bigire" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "URL kopî bike" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "URI nederbasdar e" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:515 msgid "Load additional GTK+ modules" msgstr "Modulên GTK+ yên pêvek bar bike" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:516 msgid "MODULES" msgstr "MODUL" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:518 msgid "Make all warnings fatal" msgstr "Hemû hişyariyan xedar bike" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:521 msgid "GTK+ debugging flags to set" msgstr "Nîşenekên neqandina çewtiyên GTK+ yên wê werine tayînkirin" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:524 msgid "GTK+ debugging flags to unset" msgstr "Nîşenekên neqandina çewtiyên GTK+ yên wê werine rakirin" @@ -1318,131 +1298,127 @@ msgstr "Nîşenekên neqandina çewtiyên GTK+ yên wê werine rakirin" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:787 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:851 #, c-format msgid "Cannot open display: %s" msgstr "" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:915 msgid "GTK+ Options" msgstr "Vebijarkên GTK+" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:915 msgid "Show GTK+ Options" msgstr "Vebijarkên GTK+ Nîşan Bide" -#: gtk/gtkmountoperation.c:491 -#, fuzzy +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "_Girêdan" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "" -#: gtk/gtkmountoperation.c:605 -#, fuzzy +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" -msgstr "_Navê bikarhêneê" +msgstr "_Navê bikarhêner:" -#: gtk/gtkmountoperation.c:610 -#, fuzzy +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" -msgstr "_Cih:" +msgstr "" -#: gtk/gtkmountoperation.c:616 -#, fuzzy +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "Şî_fre:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" -msgstr "" +msgstr "Heta _derketinê şîfreyê bi bîr bîne" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "" -#: gtk/gtkmountoperation.c:883 +#: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" -msgstr "" +msgstr "Sepana nenas (PID %d)" -#: gtk/gtkmountoperation.c:1066 -#, c-format +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "" -#: gtk/gtkmountoperation-stub.c:64 +#: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." msgstr "" #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 #, fuzzy msgid "Top Command" msgstr "Rêzika Fermanê" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "" -#: gtk/gtkmountoperation-x11.c:963 +#: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" msgstr "" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4910 ../gtk/gtknotebook.c:7567 #, c-format msgid "Page %u" msgstr "Rûpela %u" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Pelê sazkirina rûpelê yê nederbasdar" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 #, fuzzy msgid "Any Printer" msgstr "Çaper" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 #, fuzzy msgid "For portable documents" msgstr "" "Kîjan çaper be\n" "Ji bo belgeyên guhêrbar" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1457,53 +1433,53 @@ msgstr "" " Jor: %s %s\n" " Jêr: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "Mezinahiyên Taybet Bi Rê Ve Bibe..." -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "_Wê were teşekirin:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "_Mezinahiya rûpelê:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "_Alî:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "Mîhengên Rûpelê" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Rêça Berjor" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Rêça Berjêr" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "Koka Pergala Pelan" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 #, fuzzy msgid "Authentication" msgstr "Sepan" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Ne amade ye" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 #, fuzzy msgid "Select a folder" msgstr "Pelekî Hilbijêre" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "Di _peldankê de tomar bike:" @@ -1511,194 +1487,188 @@ msgstr "Di _peldankê de tomar bike:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "Xebata %s a #%d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 #, fuzzy msgctxt "print operation status" msgid "Preparing to print" msgstr "%d tê amadekirin" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "" -#: gtk/gtkprintoperation.c:1699 -#, fuzzy +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "Li bendê" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "Tê çapkirin" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 #, fuzzy msgctxt "print operation status" msgid "Finished" msgstr "Bidawîkirin" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 #, fuzzy msgctxt "print operation status" msgid "Finished with error" msgstr "Qediya lê çewtiyek derket" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "%d tê amadekirin" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "Tê amadekirin" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "%d tê çapkirin" -#: gtk/gtkprintoperation.c:2932 -#, fuzzy, c-format +#: ../gtk/gtkprintoperation.c:2932 +#, fuzzy msgid "Error creating print preview" msgstr "Çewtî di dema destpêkirinê" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "" -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Çewtî di dema destpêkirinê" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Sepan" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "Çaper ne girêdayî ye" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "Li derveyî rûpel" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "Hatiye rawestandin" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "Pêwistî bi destwerdana bikarhêner heye" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "Mezinahiya taybet" -#: gtk/gtkprintoperation-win32.c:1539 -#, fuzzy +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" -msgstr "Hêman nehatine dîtin" +msgstr "Çaper nehatine dîtin" -#: gtk/gtkprintoperation-win32.c:1566 -#, fuzzy +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" -msgstr "Di çapkirina DlgEx de parametre çewte" +msgstr "Di CreateDC de parametre nederbas" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Ji StartDocê çewtî" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "Têra xwe bîra vala tuneye" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "Di çapkirina DlgEx de parametre çewte" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "Di çapkirina PrintDlgEx de nîşanker çewte" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "Ji bo PrintDlgEx xebatkera nederbasdar" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Çewtiyeke nenas" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" -msgstr "" +msgstr "Standina agahiya çaperê bi ser neket" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." -msgstr "" +msgstr "Agahiya çaperê tê standin..." -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "Çaper" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "Cih" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "Rewş" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "Beş" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "_Hemû Rûpel" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "Rûpela _Heyî" -#: gtk/gtkprintunixdialog.c:2207 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" -msgstr "_Hilbijartin: " +msgstr "_Hilbijartin" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "_Rûpel:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1706,29 +1676,28 @@ msgstr "" "Yek an zêdetir beş diyar bike,\n" " wekî 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" -msgstr "_Rûpel:" +msgstr "Rûpel" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "Kopî" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "Kopî:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "B_irêzkirin" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "_Berevajî bike" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "Giştî" @@ -1738,177 +1707,168 @@ msgstr "Giştî" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" -msgstr "" +msgstr "Çep ber bi rast, jor ber bi jêr" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" -msgstr "" +msgstr "Çep ber bi rast, jêr ber bi jor" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" -msgstr "" +msgstr "Rast ber bi çep, jor ber bi jêr" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" -msgstr "" +msgstr "Rast ber bi çep, jêr ber bi jor" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" -msgstr "" +msgstr "Jor ber bi jêr, çep ber bi rast" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" -msgstr "" +msgstr "Jor ber bi jêr, rast ber bi çep" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" -msgstr "" +msgstr "Jêr ber bi jor, çep ber bi rast" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" -msgstr "" +msgstr "Jêr ber bi jor, rast ber bi çep" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" -msgstr "Tê amadekirin" +msgstr "Rêza rûpelan" -#: gtk/gtkprintunixdialog.c:3053 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" -msgstr "LRM nîşankirina ji çepê ya ber bi rastê ve" +msgstr "Çep ber bi rast" -#: gtk/gtkprintunixdialog.c:3054 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" -msgstr "Li ser pelê (file) çap bike" +msgstr "Rast ber bi çep" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" -msgstr "" +msgstr "Jor ber bi jêr" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" -msgstr "" +msgstr "Jêr ber bi jor" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "Bicihkirin" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "Du_alî:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "Di her ka_xizekê rûpel:" -#: gtk/gtkprintunixdialog.c:3343 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" -msgstr "Di her ka_xizekê rûpel:" +msgstr "Rêza rûpelan:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "_tenê bide çapê:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "Hemû kaxiz" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "Kaxizên cot" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "Kaxizên fer" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "Pî_van:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "Kaxiz" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "_Cureyê rûpel:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "Çavkaniya _rûpelan:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "Tepsiya _derketanê:" -#: gtk/gtkprintunixdialog.c:3480 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "_Alî:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "Portre" -#: gtk/gtkprintunixdialog.c:3496 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "Serpahnayê" -#: gtk/gtkprintunixdialog.c:3497 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" -msgstr "serdirêjahiya berevajî" +msgstr "Portreya berevajî" -#: gtk/gtkprintunixdialog.c:3498 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" -msgstr "serbahnaya berevajî" +msgstr "Serpahnahya berevajî" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "Kîtekîtên Kar" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "Pê_şikî:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "_Agahiyên fatorê:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "Belgeyê çap bike" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "_Niha" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "_Li:" @@ -1916,127 +1876,122 @@ msgstr "_Li:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" msgstr "" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" -msgstr "" +msgstr "Dema çapkirinê" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "Li _bendê ye" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "Rûpelê xuya lê zêde bike" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "_Berê:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "_Piştî:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "Kar" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "Pêşketî" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "Kalîteya Dîmen" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "Reng" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "Bidawîkirin" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "Hin mîhengên ku di paceyê de ne li hev nakin" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "Çap" -#: gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Nikare pelê hundirandinê bibîne: \"%s\"" - -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:947 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Pelê wêneyê di pixmap_path de nehat dîtin: \"%s\"" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "Ev kar ji bo perçekên di pola '%s' de ne nehatiye sepandin" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Hilbijêre kîjan cureyê pelan were nîşandan" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "Ti hêman ji bo URI '%s' nehate xuyakirin" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "Parzûna bênav" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "Rakirina hêmanê biserneket" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "Lîste nehate paqijkirin" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "_Cih kopî bike" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "_Ji Lîsteyê _Ji Bibe" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "Lîsteyê _Paqij Bike" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "Çavkaniyên-berê nîşan bide" @@ -2050,21 +2005,21 @@ msgstr "Çavkaniyên-berê nîşan bide" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "Hêman nehatine dîtin" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "Ti çavkaniya bikarhênerên dawî ên URI `%s' nehate dîtin" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "'%s' Veke" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Hêmana nenas" @@ -2073,7 +2028,7 @@ msgstr "Hêmana nenas" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2082,47 +2037,52 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 -#, fuzzy, c-format +#: ../gtk/gtkrecentchoosermenu.c:841 +#, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "Hêmaneke ku bi URIya '%s' têkildar e nehate dîtin" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + +#: ../gtk/gtkspinner.c:326 #, fuzzy msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Super" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Agahî" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "Şiyarî" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "Çewtî" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "Pirs" @@ -2130,630 +2090,590 @@ msgstr "Pirs" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "_Der barê" -#: gtk/gtkstock.c:322 -#, fuzzy +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "_Lêzêdekirin" -#: gtk/gtkstock.c:323 -#, fuzzy +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "Bise_pîne" -#: gtk/gtkstock.c:324 -#, fuzzy +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "_Qalind" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "_Betal" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" -msgstr "_CD-Rom" +msgstr "_CD-ROM" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 #, fuzzy msgctxt "Stock label" msgid "_Clear" msgstr "_Jê bibe" -#: gtk/gtkstock.c:328 -#, fuzzy +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" -msgstr "_Bigire" +msgstr "_Girtin" -#: gtk/gtkstock.c:329 -#, fuzzy +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" -msgstr "_Girêbide" +msgstr "_Girêdan" -#: gtk/gtkstock.c:330 -#, fuzzy +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" -msgstr "_Veguherîne" +msgstr "_Veguherandin" -#: gtk/gtkstock.c:331 -#, fuzzy +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" -msgstr "_Ji ber bigire" +msgstr "_Kopîkirin" -#: gtk/gtkstock.c:332 -#, fuzzy +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" -msgstr "_Jê bike" +msgstr "_Jêkirin" -#: gtk/gtkstock.c:333 -#, fuzzy +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" -msgstr "_Rake" +msgstr "_Jêbirin" -#: gtk/gtkstock.c:334 -#, fuzzy +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" -msgstr "Bia_vêje" +msgstr "_Avêtin" -#: gtk/gtkstock.c:335 -#, fuzzy +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" -msgstr "Girêdanê _qut bike" +msgstr "Girêdanê _qutkirin" -#: gtk/gtkstock.c:336 -#, fuzzy +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" -msgstr "Bisepîne" +msgstr "_Xebitandin" -#: gtk/gtkstock.c:337 -#, fuzzy +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" -msgstr "_Biguherîne" +msgstr "_Sererastkirin" -#: gtk/gtkstock.c:338 -#, fuzzy +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" msgstr "_Pel" -#: gtk/gtkstock.c:339 -#, fuzzy +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" -msgstr "_Bibîne" +msgstr "_Lêgerîn" -#: gtk/gtkstock.c:340 -#, fuzzy +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" -msgstr "Bibîne û _Biguherîne" +msgstr "Lêgerîn û _guherandin" -#: gtk/gtkstock.c:341 -#, fuzzy +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "_Dîsket" -#: gtk/gtkstock.c:342 -#, fuzzy +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "_Dîmender tijî" -#: gtk/gtkstock.c:343 -#, fuzzy +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "_Ji dîmendera tije derkeve" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 -#, fuzzy +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" -msgstr "_jêr:" +msgstr "_Jêr" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 -#, fuzzy +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" -msgstr "_Pel" +msgstr "_Ser" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 -#, fuzzy +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" -msgstr "_Pêve bike" +msgstr "_Dawî" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 -#, fuzzy +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" -msgstr "_Jor:" +msgstr "_Jor" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" -msgstr "" +msgstr "_Pêşve" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 -#, fuzzy +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" -msgstr "_Niha" +msgstr "_Berjêr" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 -#, fuzzy +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" -msgstr "Pêş_" +msgstr "Pêş_ve" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" -msgstr "" +msgstr "_Berjor" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" -msgstr "_Dîska Sabît" +msgstr "_Dîska sabît" -#: gtk/gtkstock.c:361 -#, fuzzy +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "_Alîkarî" -#: gtk/gtkstock.c:362 -#, fuzzy +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "_Mal" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 #, fuzzy msgctxt "Stock label" msgid "Increase Indent" msgstr "Çalikê mezintir bike" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 #, fuzzy msgctxt "Stock label" msgid "Decrease Indent" msgstr "Bialîkirinê kêmtir bike" -#: gtk/gtkstock.c:365 -#, fuzzy +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "_Pêrist" -#: gtk/gtkstock.c:366 -#, fuzzy +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "_Agahî" -#: gtk/gtkstock.c:367 -#, fuzzy +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "_Paldayî" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 #, fuzzy msgctxt "Stock label" msgid "_Jump to" msgstr "_Qevastin" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 #, fuzzy msgctxt "Stock label" msgid "_Center" msgstr "_Veguherîne" #. This is about text justification -#: gtk/gtkstock.c:372 -#, fuzzy +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" -msgstr "_Pel" +msgstr "" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 -#, fuzzy +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" -msgstr "_Çep:" +msgstr "_Çep" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 -#, fuzzy +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" -msgstr "_Rast:" +msgstr "_Rast" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 -#, fuzzy +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" -msgstr "Pêş_" +msgstr "_Pêş" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 #, fuzzy msgctxt "Stock label, media" msgid "_Next" -msgstr "_Nû" +msgstr "_Ya dû" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 -#, fuzzy +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" -msgstr "Hatiye rawestandin" +msgstr "_Rawestandin" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "_Lêdan" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 -#, fuzzy +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "Ya _berê" #. Media label -#: gtk/gtkstock.c:389 -#, fuzzy +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "_Tomarkirin" #. Media label -#: gtk/gtkstock.c:391 -#, fuzzy +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" -msgstr "D_îtin" +msgstr "" #. Media label -#: gtk/gtkstock.c:393 -#, fuzzy +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" -msgstr "_Bisekine" +msgstr "_Sekinandin" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "_Tor" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "_Nû" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "_Na" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "_Temam" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "_Vekirin" #. Page orientation -#: gtk/gtkstock.c:400 -#, fuzzy +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "Serpahnayê" #. Page orientation -#: gtk/gtkstock.c:402 -#, fuzzy +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "Portre" #. Page orientation -#: gtk/gtkstock.c:404 -#, fuzzy +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" -msgstr "serbahnaya berevajî" +msgstr "Serpahnaya berevajî" #. Page orientation -#: gtk/gtkstock.c:406 -#, fuzzy +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" -msgstr "serdirêjahiya berevajî" +msgstr "Portreya berevajî" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "_Mîhengên Rûpelê" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "_Pêvekirin" -#: gtk/gtkstock.c:409 -#, fuzzy +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "_Vebijêrk" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "_Çap" -#: gtk/gtkstock.c:411 -#, fuzzy +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" -msgstr "_Pêşdîtina Çapê" +msgstr "_Pêşdîtina çapê" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "_Taybetmendî" -#: gtk/gtkstock.c:413 -#, fuzzy +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "_Derketin" -#: gtk/gtkstock.c:414 -#, fuzzy +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" -msgstr "_Dîsa bikeDubare bike" +msgstr "_Dîsa kirin" -#: gtk/gtkstock.c:415 -#, fuzzy +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" -msgstr "_Teze bike" +msgstr "_Tezekirin" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "_Rakirin" -#: gtk/gtkstock.c:417 -#, fuzzy +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" -msgstr "_Bizivirîne Paş" +msgstr "_Bizivirîne paş" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "_Tomarkirin" -#: gtk/gtkstock.c:419 -#, fuzzy +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" -msgstr "_Cuda Tomar bike" +msgstr "Tomar bike _wekî" -#: gtk/gtkstock.c:420 -#, fuzzy +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" -msgstr "Hemûyî _Hilbijêre" +msgstr "Hemûyî _hilbijêre" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "_Reng" -#: gtk/gtkstock.c:422 -#, fuzzy +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "_Curenivîs" #. Sorting direction -#: gtk/gtkstock.c:424 -#, fuzzy +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" -msgstr "_Ber bi Jor" +msgstr "_Ber bi jor" #. Sorting direction -#: gtk/gtkstock.c:426 -#, fuzzy +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "_Ber bi jêr" -#: gtk/gtkstock.c:427 -#, fuzzy +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" -msgstr "_Kontrola Nivîsînê" +msgstr "_Kontrola rastnivîsînê" -#: gtk/gtkstock.c:428 -#, fuzzy +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "_Bisekine" #. Font variant -#: gtk/gtkstock.c:430 -#, fuzzy +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" -msgstr "_xêzkirin" +msgstr "_Xêzkirin" -#: gtk/gtkstock.c:431 -#, fuzzy +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" -msgstr "_Xelas Bike" +msgstr "_Xelaskirin" #. Font variant -#: gtk/gtkstock.c:433 -#, fuzzy +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "_Binxêz" -#: gtk/gtkstock.c:434 -#, fuzzy +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" -msgstr "_jê veger" +msgstr "_Vegerîn" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "_Erê" #. Zoom -#: gtk/gtkstock.c:437 -#, fuzzy +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" -msgstr "_Mezinahiya Asayî" +msgstr "_Mezinahiya asayî" #. Zoom -#: gtk/gtkstock.c:439 -#, fuzzy +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" -msgstr "Bila tê de hilê" +msgstr "_Bila tê de hilê" -#: gtk/gtkstock.c:440 -#, fuzzy +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "Nê_zîk bîne" -#: gtk/gtkstock.c:441 -#, fuzzy +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "_Dûr bibe" -#: gtk/gtktextbufferrichtext.c:650 +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +msgctxt "switch" +msgid "ON" +msgstr "❙" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +msgctxt "switch" +msgid "OFF" +msgstr "○" + +#: ../gtk/gtkswitch.c:943 +msgctxt "light switch widget" +msgid "Switch" +msgstr "" + +#: ../gtk/gtkswitch.c:944 +msgid "Switches between on and off states" +msgstr "" + +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "Çewtiyeke nenas di dema hewildana vegerandina %s de" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "ji bo vegerandina şêwazê %s ti pêwir nayê dîtin" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "\"id\" û \"nav\" herdu di endama <%s> de hatin dîtin" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Nirxdariya \"%s\" du caran di endamê <%s> de hate dîtin" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:851 +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "elemanê <%s> nedarbasbare di id a \"%s\"" +msgstr "ID \"%s\" ya hêmana <%s> nedarbasbar e" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "Ne \"nav\" ne jî \"id\" ji bo pêşbîra endam <%s> heye" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Pêşbîr \"%s\" hatiye dubare kirin di heman endamê <%s> de" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Pêşbîr \"%s\" di têkileya endam <%s> de ne derbasbare" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Etîketa \"%s\" ne hatiye danasîn." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "Etîketa anonîm hate dîtin û etîket nikarin werin afirandin." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "Etîketa \"%s\" di tamponê de nayê xuyakirin û etîket nikare were afirandin." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Endam <%s> ne derbasbare li jêr <%s>" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" ne cureyeke derbasbar ê pêşbîrê ye" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" ne navekî derbasbare ji bo pêşbîrê" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" @@ -2761,139 +2681,139 @@ msgstr "" "\"%s\" nikare were veguhertin ji bo nirxa cureyê \"%s\" yê nirxdariya \"%s\" " "ye" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" Ne nirxeke derbasbare ji bo \"%s\"" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "Etîketa \"%s\" berê hatiye danasîn" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Etîketa \"%s\" xwedî destûreke ne derbasbare \"%s\"" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "" "Hêmana herî derve ya di nivîsê de ye divê be, divê ne <" "%s> be" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "Endamekî <%s> berê hatiye taybetkirin" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr "Endamê nikare berî endamê xuya bike" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "Daneya vegerandî xirabûye" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "Xirakirina Daneya vegerandî. Beşa destpêkê ne eve GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM nîşankirina ji çepê ya ber bi rastê ve" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "Nîşankirina ji rastê ber bi çepê ya RLM" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE ji çepê ber bi rastê de" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE ji rastê ber bi çepê de_" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO ji çepê-ya- ber bi rastê de_guhnedan" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO zordayîna ji çepê_ya ber bi rastê" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "Dirûvkirina alî ya PDF_POP" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "Qada firehbûna sifirê_ya ZWS" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ di firehiya sifirê de_ bi gîrêdan" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ di firehiya sifirê de_ bê girêdan" -#: gtk/gtkthemes.c:72 +#: ../gtk/gtkthemes.c:72 #, c-format msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "Cîhaza têmayan di hundirê module_path \"%s\" de nehate dîtin," -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1505 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Etîketa destpêkirinê ya tu ne li hêvîyê bû '%s' rêzik %d karakter %d" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1595 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Daneyê karakteran ya tu ne li hêviyê bû, rêzik %d karakter %d" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2427 msgid "Empty" msgstr "Vala" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Deng" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Kêmtir Deng" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Zêdetir Deng" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Bêdeng" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Tam Deng" @@ -2902,989 +2822,987 @@ msgstr "Tam Deng" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 #, fuzzy msgctxt "paper size" msgid "asme_f" msgstr "Nav" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" -msgstr "" +msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" -msgstr "" +msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" -msgstr "" +msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" -msgstr "" +msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" -msgstr "" +msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" -msgstr "" +msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" -msgstr "" +msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" -msgstr "" +msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" -msgstr "" +msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" -msgstr "" +msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" -msgstr "" +msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" -msgstr "" +msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" -msgstr "" +msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" -msgstr "" +msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" -msgstr "" +msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" -msgstr "" +msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" -msgstr "" +msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" -msgstr "" +msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" -msgstr "" +msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" -msgstr "" +msgstr "A4 Extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" -msgstr "" +msgstr "A4 Tab" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" -msgstr "" +msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" -msgstr "" +msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" -msgstr "" +msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" -msgstr "" +msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" -msgstr "" +msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" -msgstr "" +msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" -msgstr "" +msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" -msgstr "" +msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" -msgstr "" +msgstr "A5 Extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" -msgstr "" +msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" -msgstr "" +msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" -msgstr "" +msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" -msgstr "" +msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" -msgstr "" +msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" -msgstr "" +msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" -msgstr "" +msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" -msgstr "" +msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" -msgstr "" +msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" -msgstr "" +msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" -msgstr "" +msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" -msgstr "" +msgstr "B5 Extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" -msgstr "" +msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" -msgstr "" +msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" -msgstr "" +msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" -msgstr "" +msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" -msgstr "" +msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" -msgstr "" +msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" -msgstr "" +msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" -msgstr "" +msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" -msgstr "" +msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" -msgstr "" +msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" -msgstr "" +msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" -msgstr "" +msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" -msgstr "" +msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" -msgstr "" +msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" -msgstr "" +msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" -msgstr "" +msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" -msgstr "" +msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" -msgstr "" +msgstr "C9" -#: gtk/paper_names_offsets.c:65 -#, fuzzy +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" -msgstr "DL Envelope" +msgstr "" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" -msgstr "" +msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" -msgstr "" +msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" -msgstr "" +msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" -msgstr "" +msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" -msgstr "" +msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" -msgstr "" +msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" -msgstr "" +msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" -msgstr "" +msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" -msgstr "" +msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" -msgstr "" +msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" -msgstr "" +msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" -msgstr "" +msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" -msgstr "" +msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" -msgstr "" +msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" -msgstr "" +msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" -msgstr "" +msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" -msgstr "" +msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 #, fuzzy msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Choukei 2 Envelope" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 #, fuzzy msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Choukei 3 Envelope" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 #, fuzzy msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Choukei 4 Envelope" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 #, fuzzy msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki (postcard)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 #, fuzzy msgctxt "paper size" msgid "kahu Envelope" msgstr "kahu Envelope" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 #, fuzzy msgctxt "paper size" msgid "kaku2 Envelope" msgstr "kaku2 Envelope" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 #, fuzzy msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (reply postcard)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 #, fuzzy msgctxt "paper size" msgid "you4 Envelope" msgstr "you4 Envelope" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" -msgstr "" +msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" -msgstr "" +msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" -msgstr "" +msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" -msgstr "" +msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" -msgstr "" +msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" -msgstr "" +msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" -msgstr "" +msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" -msgstr "" +msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 #, fuzzy msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9 Envelope" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 #, fuzzy msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9 Envelope" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 #, fuzzy msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11 Envelope" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 #, fuzzy msgctxt "paper size" msgid "a2 Envelope" msgstr "a2 Envelope" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 #, fuzzy msgctxt "paper size" msgid "c5 Envelope" msgstr "c5 Envelope" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 #, fuzzy msgctxt "paper size" msgid "European edp" msgstr "edp ya ewropî" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 #, fuzzy msgctxt "paper size" msgid "Executive" msgstr "Bisepîne" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 #, fuzzy msgctxt "paper size" msgid "FanFold European" msgstr "FanFold European" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 #, fuzzy msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 #, fuzzy msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold German Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 #, fuzzy msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 #, fuzzy msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 #, fuzzy msgctxt "paper size" msgid "Index 3x5" msgstr "_Pêrist" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 #, fuzzy msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6 (kart)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 #, fuzzy msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 #, fuzzy msgctxt "paper size" msgid "Index 5x8" msgstr "_Pêrist" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" -msgstr "" +msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 #, fuzzy msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 -#, fuzzy +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 #, fuzzy msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 #, fuzzy msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 #, fuzzy msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monarch Envelope" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 #, fuzzy msgctxt "paper size" msgid "#10 Envelope" msgstr "#10 Envelope" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 #, fuzzy msgctxt "paper size" msgid "#11 Envelope" msgstr "#11 Envelope" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 #, fuzzy msgctxt "paper size" msgid "#12 Envelope" msgstr "#12 Envelope" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 #, fuzzy msgctxt "paper size" msgid "#14 Envelope" msgstr "#14 Envelope" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 #, fuzzy msgctxt "paper size" msgid "#9 Envelope" msgstr "#9 Envelope" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 #, fuzzy msgctxt "paper size" msgid "Personal Envelope" msgstr "Personal Envelope" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 #, fuzzy msgctxt "paper size" msgid "Super A" msgstr "Kaxiz" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 #, fuzzy msgctxt "paper size" msgid "Super B" msgstr "Kaxiz" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 #, fuzzy msgctxt "paper size" msgid "Wide Format" msgstr "Teşeya fireh" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 #, fuzzy msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 #, fuzzy msgctxt "paper size" msgid "Folio" msgstr "Reng" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 #, fuzzy msgctxt "paper size" msgid "Invite Envelope" msgstr "Invite Envelope" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 #, fuzzy msgctxt "paper size" msgid "Italian Envelope" msgstr "Italian Envelope" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 #, fuzzy msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 #, fuzzy msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix Envelope" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 #, fuzzy msgctxt "paper size" msgid "Small Photo" msgstr "Small Photo" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 #, fuzzy msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1 Envelope" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 #, fuzzy msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10 Envelope" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 #, fuzzy msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2 Envelope" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 #, fuzzy msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3 Envelope" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 #, fuzzy msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4 Envelope" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 #, fuzzy msgctxt "paper size" msgid "prc5 Envelope" msgstr "c5 Envelope" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 #, fuzzy msgctxt "paper size" msgid "prc6 Envelope" msgstr "Enveloppe prc6" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 #, fuzzy msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7 Envelope" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 #, fuzzy msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8 Envelope" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 #, fuzzy msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc1 Envelope" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "Gelek idata ji bo symlinka '%s' û '%s' hatin dîtin\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "Di sernivîsê de têkçûn\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "Çewtî di nivisandina hash tabloyê de\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "Nivisîna pêrista peldankê biserneket\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "Ji nû nivisîna sernivîsê biserneket\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, fuzzy, c-format msgid "Failed to open file %s : %s\n" msgstr "Vekirina pelê '%s' biserneket: %s" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Nivisîna pelê pêşbîrê biserneket: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "Pêşbîra afirandî nederbasdar bû.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Nikare ji nû nav li pelê %s bike ji bo %s: %s, wê gavê %s jê dibe\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Nikare ji nû nav li pelê %s bike ji bo %s: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "Nikare %s ji nû nav lê bike, vegere %s: %s.\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "Pelê pêşbîr bi rengekî serkeftî hate afirandin.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Wê li ser pêşbîreke heyî were nivîsîn, ew rojane be jî" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "Kontrol neke bê ka index.theme heye yan jî tuneye" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Di pêşbîrê de daneya wêne tuneye" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "Derana pelekî C header" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Derana kîtekît bigire" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Pêşbîra îkonan a heyî kontrol bike" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "Pel nehat dîtin: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Pêşbîra îkonan a nederbasdar: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3895,313 +3813,313 @@ msgstr "" "index bikar bîne.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Habeşî (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "Cedilla" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "Suryalî (bi tîpîn zimaneke din hatine neqişandin)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "Inuktitut(bi tîpên zimanekî din hatine neqişandin)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Tay-Lao" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Tigrigna-Erîteriya (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Tîgrîgna-Etiyopî (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "(VIQR) a Vetnamî" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "Metoda Ketana X" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 #, fuzzy msgid "Username:" msgstr "_Navê bikarhêneê" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 #, fuzzy msgid "Password:" msgstr "Şî_fre:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 #, fuzzy msgid "Domain:" msgstr "_Cih:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "" #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "" #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, fuzzy, c-format msgid "Printer '%s' is currently offline." msgstr "Çaper ne girêdayî ye" -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "Du alî" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "Cureyê rûpel" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "Çavkaniya rûpel" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "Tepsiya derketanê" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 #, fuzzy msgid "Resolution" msgstr "Pirs" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "Yek alî" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "Hilbijartina bixweber" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "Standarda Çapgerê" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 #, fuzzy msgid "No pre-filtering" msgstr "Hêman nehatine dîtin" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "Bilez" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "Bilind" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "Orte" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "Nizim" @@ -4209,7 +4127,7 @@ msgstr "Nizim" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 #, fuzzy msgid "Pages per Sheet" msgstr "Serê Kaxiz Rûpelek" @@ -4217,7 +4135,7 @@ msgstr "Serê Kaxiz Rûpelek" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 #, fuzzy msgid "Job Priority" msgstr "Pê_şikî:" @@ -4225,7 +4143,7 @@ msgstr "Pê_şikî:" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 #, fuzzy msgid "Billing Info" msgstr "_Agahiyên fatorê:" @@ -4233,55 +4151,53 @@ msgstr "_Agahiyên fatorê:" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "Ne yek jî" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "Taybet" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "Veşartî" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "Veşartî" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "Standart" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "Gelekî Veşartî" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "Ji rêzê" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 -#, fuzzy +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" -msgstr "_Berê:" +msgstr "Berê" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 -#, fuzzy +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" -msgstr "_Piştî:" +msgstr "Piştî" #. Translators: this is the name of the option that controls when #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 #, fuzzy msgid "Print at" msgstr "Çap" @@ -4289,7 +4205,7 @@ msgstr "Çap" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 #, fuzzy msgid "Print at time" msgstr "Li ser pelê (file) çap bike" @@ -4298,114 +4214,131 @@ msgstr "Li ser pelê (file) çap bike" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, fuzzy, c-format msgid "Custom %sx%s" msgstr "Taybet %.2fx%.2f" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "Derketan %s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Li ser pelê (file) çap bike" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" -msgstr "" +msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Rûpelê her ka_xizekê:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "Pel" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "_Şêweyê derketanê" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Li ser LPR çap bike" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Serê Kaxiz Rûpelek" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Rêzika Fermanê" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 -#, fuzzy +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" -msgstr "Çaper ne girêdayî ye" +msgstr "çaper ne girêdayî ye" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 -#, fuzzy +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" -msgstr "%d tê amadekirin" +msgstr "ji bo çapkirinê amade" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 -#, fuzzy +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" -msgstr "Hatiye rawestandin" +msgstr "hatiye rawestandin" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 -#, fuzzy +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" -msgstr "(nenas)" +msgstr "nenas" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "Derketana-test.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Bi çapera test çap bike" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "Nikarî agahiya pelê '%s' bistîne: %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "Vekirina pelê '%s' biserneket: %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "" "Wêneyê '%s' nehate barkirin: sedem nayê zanîn, dibe pelê wêne xerabe be" +#~ msgid "X screen to use" +#~ msgstr "Dîmender a X ya bikaranînê" + +#~ msgid "SCREEN" +#~ msgstr "Dîmender" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Lêdanên X hevdem bike" + +#~ msgid "Credits" +#~ msgstr "Spas" + +#~ msgid "Written by" +#~ msgstr "Nivîskar" + +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "Di afirandina peldanka '%s' de çewtî: %s" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Nikare pelê hundirandinê bibîne: \"%s\"" + #~ msgid "Gdk debugging flags to set" #~ msgstr "Nîşanên Gdk bo çespandinê" @@ -5105,9 +5038,6 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "_Navê peldankê:" -#~ msgid "C_reate" -#~ msgstr "Bi_afirîne" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "Di navê pelî de \"%s\" sembolên qedexe hene" From caa9794af820b681d538f5b8927cff743e186798 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 12:59:26 +0100 Subject: [PATCH 0872/1463] quartz: Clean up header files, use same arrangement as X11 backend --- gdk/gdkdisplaymanager.c | 6 ++- gdk/quartz/GdkQuartzView.c | 2 +- gdk/quartz/GdkQuartzWindow.c | 3 +- gdk/quartz/Makefile.am | 18 +++++-- gdk/quartz/gdkcursor-quartz.c | 31 ++++++++++- gdk/quartz/gdkdevice-core-quartz.c | 25 +++++---- gdk/quartz/gdkdevicemanager-core-quartz.c | 4 +- gdk/quartz/gdkdevicemanager-core-quartz.h | 26 +++------ gdk/quartz/gdkdisplay-quartz.c | 27 +++++++--- gdk/quartz/gdkdisplaymanager-quartz.c | 12 ++++- gdk/quartz/gdkdnd-quartz.c | 3 +- gdk/quartz/gdkdnd-quartz.h | 28 ++++------ gdk/quartz/gdkevents-quartz.c | 6 ++- gdk/quartz/gdkkeys-quartz.c | 12 +---- gdk/quartz/gdkprivate-quartz.h | 9 +++- gdk/quartz/gdkquartz.h | 24 ++++++--- .../{gdkcursor-quartz.h => gdkquartzcursor.h} | 24 ++++----- ...e-core-quartz.h => gdkquartzdevice-core.h} | 16 ++---- gdk/quartz/gdkquartzdevicemanager-core.h | 47 ++++++++++++++++ ...gdkdisplay-quartz.h => gdkquartzdisplay.h} | 22 ++++---- ...ger-quartz.h => gdkquartzdisplaymanager.h} | 24 ++++----- gdk/quartz/gdkquartzdnd.h | 53 ++++++++++++++++++ gdk/quartz/gdkquartzkeys.h | 51 ++++++++++++++++++ gdk/quartz/gdkquartzscreen.h | 51 ++++++++++++++++++ gdk/quartz/gdkquartzutils.h | 38 +++++++++++++ gdk/quartz/gdkquartzvisual.h | 52 ++++++++++++++++++ gdk/quartz/gdkquartzwindow.h | 54 +++++++++++++++++++ gdk/quartz/gdkscreen-quartz.c | 11 ++-- gdk/quartz/gdkscreen-quartz.h | 25 +++------ gdk/quartz/gdkvisual-quartz.c | 12 +---- gdk/quartz/gdkwindow-quartz.c | 22 ++++---- gdk/quartz/gdkwindow-quartz.h | 13 ----- 32 files changed, 550 insertions(+), 201 deletions(-) rename gdk/quartz/{gdkcursor-quartz.h => gdkquartzcursor.h} (89%) rename gdk/quartz/{gdkdevice-core-quartz.h => gdkquartzdevice-core.h} (91%) create mode 100644 gdk/quartz/gdkquartzdevicemanager-core.h rename gdk/quartz/{gdkdisplay-quartz.h => gdkquartzdisplay.h} (89%) rename gdk/quartz/{gdkdisplaymanager-quartz.h => gdkquartzdisplaymanager.h} (77%) create mode 100644 gdk/quartz/gdkquartzdnd.h create mode 100644 gdk/quartz/gdkquartzkeys.h create mode 100644 gdk/quartz/gdkquartzscreen.h create mode 100644 gdk/quartz/gdkquartzutils.h create mode 100644 gdk/quartz/gdkquartzvisual.h create mode 100644 gdk/quartz/gdkquartzwindow.h diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 3975bbca47..cfd48475e4 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -37,7 +37,11 @@ #endif #ifdef GDK_WINDOWING_QUARTZ -#include "quartz/gdkdisplaymanager-quartz.h" +/* We immediately include gdkquartzdisplaymanager.h here instead of + * gdkquartz.h so that we do not have to enable -xobjective-c for the + * "generic" GDK source code. + */ +#include "quartz/gdkquartzdisplaymanager.h" #endif diff --git a/gdk/quartz/GdkQuartzView.c b/gdk/quartz/GdkQuartzView.c index cf34e8302a..1b41aecd93 100644 --- a/gdk/quartz/GdkQuartzView.c +++ b/gdk/quartz/GdkQuartzView.c @@ -19,7 +19,7 @@ */ #import "GdkQuartzView.h" -#include "gdkwindow-quartz.h" +#include "gdkquartzwindow.h" #include "gdkprivate-quartz.h" #include "gdkquartz.h" diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzWindow.c index 8edddfd96c..67db8bbf28 100644 --- a/gdk/quartz/GdkQuartzWindow.c +++ b/gdk/quartz/GdkQuartzWindow.c @@ -19,7 +19,8 @@ */ #import "GdkQuartzWindow.h" -#include "gdkwindow-quartz.h" +#include "gdkquartzwindow.h" +#include "gdkdnd-quartz.h" #include "gdkprivate-quartz.h" @implementation GdkQuartzNSWindow diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 322f7dbc40..aa0b717b1f 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/Makefile.decl libgdkincludedir = $(includedir)/gtk-3.0/gdk +libgdkquartzincludedir = $(includedir)/gtk-3.0/gdk/quartz INCLUDES = \ -DG_LOG_DOMAIN=\"Gdk\" \ @@ -22,15 +23,11 @@ libgdk_quartz_la_SOURCES = \ GdkQuartzWindow.c \ GdkQuartzWindow.h \ gdkcursor-quartz.c \ - gdkcursor-quartz.h \ gdkdevice-core-quartz.c \ - gdkdevice-core-quartz.h \ gdkdevicemanager-core-quartz.c \ gdkdevicemanager-core-quartz.h \ gdkdisplay-quartz.c \ - gdkdisplay-quartz.h \ gdkdisplaymanager-quartz.c \ - gdkdisplaymanager-quartz.h \ gdkdnd-quartz.c \ gdkdnd-quartz.h \ gdkevents-quartz.c \ @@ -54,5 +51,18 @@ libgdk_quartz_la_SOURCES = \ libgdkinclude_HEADERS = \ gdkquartz.h +libgdkquartzinclude_HEADERS = \ + gdkquartzcursor.h \ + gdkquartzdevice-core.h \ + gdkquartzdevicemanager-core.h \ + gdkquartzdisplay.h \ + gdkquartzdisplaymanager.h \ + gdkquartzdnd.h \ + gdkquartzkeys.h \ + gdkquartzscreen.h \ + gdkquartzutils.h \ + gdkquartzvisual.h \ + gdkquartzwindow.h + -include $(top_srcdir)/git.mk diff --git a/gdk/quartz/gdkcursor-quartz.c b/gdk/quartz/gdkcursor-quartz.c index cbbec9d325..7f3e142833 100644 --- a/gdk/quartz/gdkcursor-quartz.c +++ b/gdk/quartz/gdkcursor-quartz.c @@ -22,11 +22,25 @@ #include "gdkdisplay.h" #include "gdkcursor.h" -#include "gdkcursor-quartz.h" +#include "gdkcursorprivate.h" +#include "gdkquartzcursor.h" #include "gdkprivate-quartz.h" #include "xcursors.h" +struct _GdkQuartzCursor +{ + GdkCursor cursor; + + NSCursor *nscursor; +}; + +struct _GdkQuartzCursorClass +{ + GdkCursorClass cursor_class; +}; + + static GdkCursor *cached_xcursors[G_N_ELEMENTS (xcursors)]; static GdkCursor * @@ -397,6 +411,21 @@ _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, *height = 65536; } +NSCursor * +_gdk_quartz_cursor_get_ns_cursor (GdkCursor *cursor) +{ + GdkQuartzCursor *cursor_private; + + if (!cursor) + return [NSCursor arrowCursor]; + + g_return_val_if_fail (GDK_IS_QUARTZ_CURSOR (cursor), NULL); + + cursor_private = GDK_QUARTZ_CURSOR (cursor); + + return cursor_private->nscursor; +} + static GdkPixbuf * gdk_quartz_cursor_get_image (GdkCursor *cursor) { diff --git a/gdk/quartz/gdkdevice-core-quartz.c b/gdk/quartz/gdkdevice-core-quartz.c index 9aaba34395..f42cc5d18d 100644 --- a/gdk/quartz/gdkdevice-core-quartz.c +++ b/gdk/quartz/gdkdevice-core-quartz.c @@ -20,13 +20,24 @@ #include "config.h" +#include #include #import "GdkQuartzView.h" -#include "gdkwindow-quartz.h" -#include "gdkcursor-quartz.h" +#include "gdkquartzwindow.h" +#include "gdkquartzcursor.h" #include "gdkprivate-quartz.h" -#include "gdkdevice-core-quartz.h" +#include "gdkquartzdevice-core.h" + +struct _GdkQuartzDeviceCore +{ + GdkDevice parent_instance; +}; + +struct _GdkQuartzDeviceCoreClass +{ + GdkDeviceClass parent_class; +}; static gboolean gdk_quartz_device_core_get_history (GdkDevice *device, GdkWindow *window, @@ -159,18 +170,12 @@ gdk_quartz_device_core_set_window_cursor (GdkDevice *device, GdkWindow *window, GdkCursor *cursor) { - GdkQuartzCursor *cursor_private; NSCursor *nscursor; - cursor_private = (GdkQuartzCursor *) cursor; - if (GDK_WINDOW_DESTROYED (window)) return; - if (!cursor) - nscursor = [NSCursor arrowCursor]; - else - nscursor = cursor_private->nscursor; + nscursor = _gdk_quartz_cursor_get_ns_cursor (cursor); [nscursor set]; } diff --git a/gdk/quartz/gdkdevicemanager-core-quartz.c b/gdk/quartz/gdkdevicemanager-core-quartz.c index 73fc1c13fa..f5d0ab6cc4 100644 --- a/gdk/quartz/gdkdevicemanager-core-quartz.c +++ b/gdk/quartz/gdkdevicemanager-core-quartz.c @@ -21,8 +21,10 @@ #include #include +#include +#include #include "gdkdevicemanager-core-quartz.h" -#include "gdkdevice-core-quartz.h" +#include "gdkquartzdevice-core.h" #include "gdkkeysyms.h" diff --git a/gdk/quartz/gdkdevicemanager-core-quartz.h b/gdk/quartz/gdkdevicemanager-core-quartz.h index 4624a981e6..48fc56c9d7 100644 --- a/gdk/quartz/gdkdevicemanager-core-quartz.h +++ b/gdk/quartz/gdkdevicemanager-core-quartz.h @@ -1,5 +1,7 @@ -/* GDK - The GIMP Drawing Kit +/* gdkdevicemanager-quartz.h + * * Copyright (C) 2009 Carlos Garnacho + * Copyright (C) 2010 Kristian Rietveld * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -17,23 +19,14 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ -#define __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ +#ifndef __GDK_QUARTZ_DEVICE_MANAGER_CORE__ +#define __GDK_QUARTZ_DEVICE_MANAGER_CORE__ -#include +#include +#include G_BEGIN_DECLS -#define GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE (gdk_quartz_device_manager_core_get_type ()) -#define GDK_QUARTZ_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCore)) -#define GDK_QUARTZ_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCoreClass)) -#define GDK_IS_QUARTZ_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE)) -#define GDK_IS_QUARTZ_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE)) -#define GDK_QUARTZ_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCoreClass)) - -typedef struct _GdkQuartzDeviceManagerCore GdkQuartzDeviceManagerCore; -typedef struct _GdkQuartzDeviceManagerCoreClass GdkQuartzDeviceManagerCoreClass; - struct _GdkQuartzDeviceManagerCore { GdkDeviceManager parent_object; @@ -46,9 +39,6 @@ struct _GdkQuartzDeviceManagerCoreClass GdkDeviceManagerClass parent_class; }; -GType gdk_quartz_device_manager_core_get_type (void) G_GNUC_CONST; - - G_END_DECLS -#endif /* __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ */ +#endif /* __GDK_QUARTZ_DEVICE_MANAGER__ */ diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index b239e8af7c..6a667c911e 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -20,12 +20,27 @@ #include "config.h" -#include "gdk.h" +#include +#include + #include "gdkprivate-quartz.h" -#include "gdkscreen-quartz.h" -#include "gdkwindow-quartz.h" -#include "gdkdisplay-quartz.h" -#include "gdkdevicemanager-core-quartz.h" +#include "gdkquartzscreen.h" +#include "gdkquartzwindow.h" +#include "gdkquartzdisplay.h" +#include "gdkquartzdevicemanager-core.h" + + +struct _GdkQuartzDisplay +{ + GdkDisplay display; + + GList *input_devices; +}; + +struct _GdkQuartzDisplayClass +{ + GdkDisplayClass display_class; +}; static GdkWindow * gdk_quartz_display_get_default_group (GdkDisplay *display) @@ -107,7 +122,7 @@ _gdk_quartz_display_open (const gchar *display_name) _gdk_display = g_object_new (_gdk_quartz_display_get_type (), NULL); _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); - _gdk_screen = _gdk_quartz_screen_new (); + _gdk_screen = g_object_new (_gdk_quartz_screen_get_type (), NULL); _gdk_quartz_screen_init_visuals (_gdk_screen); diff --git a/gdk/quartz/gdkdisplaymanager-quartz.c b/gdk/quartz/gdkdisplaymanager-quartz.c index 7761ec1179..087d5b3856 100644 --- a/gdk/quartz/gdkdisplaymanager-quartz.c +++ b/gdk/quartz/gdkdisplaymanager-quartz.c @@ -27,13 +27,21 @@ #include #include -#include "gdkdisplay-quartz.h" -#include "gdkdisplaymanager-quartz.h" +#include "gdkquartzdisplay.h" +#include "gdkquartzdisplaymanager.h" #include "gdkprivate-quartz.h" #include "gdkdisplaymanagerprivate.h" #include "gdkinternals.h" +struct _GdkQuartzDisplayManager +{ + GdkDisplayManager parent; + + GdkDisplay *default_display; + GSList *displays; +}; + G_DEFINE_TYPE (GdkQuartzDisplayManager, gdk_quartz_display_manager, GDK_TYPE_DISPLAY_MANAGER) diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 78ff19feae..cbff4aa237 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -19,9 +19,10 @@ */ #include "gdkdnd.h" -#include "gdkdnd-quartz.h" +#include "gdkquartzdnd.h" #include "gdkprivate-quartz.h" + G_DEFINE_TYPE (GdkQuartzDragContext, gdk_quartz_drag_context, GDK_TYPE_DRAG_CONTEXT) diff --git a/gdk/quartz/gdkdnd-quartz.h b/gdk/quartz/gdkdnd-quartz.h index d733e721ac..ebe787d0aa 100644 --- a/gdk/quartz/gdkdnd-quartz.h +++ b/gdk/quartz/gdkdnd-quartz.h @@ -1,6 +1,7 @@ /* gdkdnd-quartz.h * - * Copyright (C) 2010 Kristian Rietveld + * Copyright (C) 2005 Imendio AB + * Copyright (C) 2010 Kristian Rietveld * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,25 +19,16 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_QUARTZ_DND_H__ -#define __GDK_QUARTZ_DND_H__ +#ifndef __GDK_QUARTZ_DND__ +#define __GDK_QUARTZ_DND__ -#include -#include -#include +#include +#include + +#include G_BEGIN_DECLS -#define GDK_TYPE_QUARTZ_DRAG_CONTEXT (gdk_quartz_drag_context_get_type ()) -#define GDK_QUARTZ_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContext)) -#define GDK_QUARTZ_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContextClass)) -#define GDK_IS_QUARTZ_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_DRAG_CONTEXT)) -#define GDK_IS_QUARTZ_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_DRAG_CONTEXT)) -#define GDK_QUARTZ_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContextClass)) - -typedef struct _GdkQuartzDragContext GdkQuartzDragContext; -typedef struct _GdkQuartzDragContextClass GdkQuartzDragContextClass; - struct _GdkQuartzDragContext { GdkDragContext context; @@ -50,8 +42,6 @@ struct _GdkQuartzDragContextClass GdkDragContextClass context_class; }; -GType gdk_quartz_drag_context_get_type (void); - G_END_DECLS -#endif /* __GDK_QUARTZ_DRAG_CONTEXT_H__ */ +#endif /* __GDK_QUARTZ_DND__ */ diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 915223ccc6..3b20df2886 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -29,11 +29,13 @@ #import #include +#include + #include "gdkscreen.h" #include "gdkkeysyms.h" -#include "gdkdisplay-quartz.h" +#include "gdkquartzdisplay.h" #include "gdkprivate-quartz.h" -#include "gdkdevicemanager-core-quartz.h" +#include "gdkquartzdevicemanager-core.h" #define GRIP_WIDTH 15 #define GRIP_HEIGHT 15 diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index 70977da168..ede9d21d93 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -54,6 +54,7 @@ #include #include #include "gdk.h" +#include "gdkquartzkeys.h" #include "gdkkeysprivate.h" #include "gdkkeysyms.h" @@ -62,17 +63,6 @@ static GdkKeymap *default_keymap = NULL; - -#define GDK_TYPE_QUARTZ_KEYMAP (gdk_quartz_keymap_get_type ()) -#define GDK_QUARTZ_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymap)) -#define GDK_QUARTZ_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymapClass)) -#define GDK_IS_QUARTZ_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_KEYMAP)) -#define GDK_IS_QUARTZ_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_KEYMAP)) -#define GDK_QUARTZ_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymapClass)) - -typedef struct _GdkQuartzKeymap GdkQuartzKeymap; -typedef struct _GdkQuartzKeymapClass GdkQuartzKeymapClass; - struct _GdkQuartzKeymap { GdkKeymap keymap; diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 958d79e63f..3395d4c4ca 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -25,9 +25,11 @@ #define GDK_QUARTZ_RELEASE_POOL [pool release] #include -#include -#include #include +#include +#include +#include +#include #include @@ -57,6 +59,9 @@ typedef enum { GDK_QUARTZ_CONTEXT_TEXT = 1 << 2 } GdkQuartzContextValuesMask; +/* Cursor */ +NSCursor *_gdk_quartz_cursor_get_ns_cursor (GdkCursor *cursor); + /* Window */ gboolean _gdk_quartz_window_is_ancestor (GdkWindow *ancestor, GdkWindow *window); diff --git a/gdk/quartz/gdkquartz.h b/gdk/quartz/gdkquartz.h index 48c47484cb..ea00837393 100644 --- a/gdk/quartz/gdkquartz.h +++ b/gdk/quartz/gdkquartz.h @@ -22,6 +22,8 @@ #define __GDK_QUARTZ_H__ #include + +#include #include G_BEGIN_DECLS @@ -39,12 +41,22 @@ typedef unsigned int NSUInteger; typedef float CGFloat; #endif -NSWindow *gdk_quartz_window_get_nswindow (GdkWindow *window); -NSView *gdk_quartz_window_get_nsview (GdkWindow *window); -NSImage *gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf *pixbuf); -id gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context); -NSEvent *gdk_quartz_event_get_nsevent (GdkEvent *event); - G_END_DECLS +#define __GDKQUARTZ_H_INSIDE__ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#undef __GDKQUARTZ_H_INSIDE__ + #endif /* __GDK_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkcursor-quartz.h b/gdk/quartz/gdkquartzcursor.h similarity index 89% rename from gdk/quartz/gdkcursor-quartz.h rename to gdk/quartz/gdkquartzcursor.h index bbbc198de1..7ab9498ea5 100644 --- a/gdk/quartz/gdkcursor-quartz.h +++ b/gdk/quartz/gdkquartzcursor.h @@ -1,4 +1,4 @@ -/* gdkcursor-quartz.h +/* gdkquartzcursor.h * * Copyright (C) 2005-2007 Imendio AB * Copyright (C) 2010 Kristian Rietveld @@ -19,12 +19,14 @@ * Boston, MA 02111-1307, USA. */ +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GDK_QUARTZ_CURSOR_H__ #define __GDK_QUARTZ_CURSOR_H__ #include -#include -#include "gdkcursorprivate.h" G_BEGIN_DECLS @@ -35,21 +37,13 @@ G_BEGIN_DECLS #define GDK_IS_QUARTZ_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_CURSOR)) #define GDK_QUARTZ_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_CURSOR, GdkQuartzCursorClass)) +#ifdef GDK_COMPILATION typedef struct _GdkQuartzCursor GdkQuartzCursor; +#else +typedef GdkCursor GdkQuartzCursor; +#endif typedef struct _GdkQuartzCursorClass GdkQuartzCursorClass; -struct _GdkQuartzCursor -{ - GdkCursor cursor; - - NSCursor *nscursor; -}; - -struct _GdkQuartzCursorClass -{ - GdkCursorClass cursor_class; -}; - GType gdk_quartz_cursor_get_type (void); G_END_DECLS diff --git a/gdk/quartz/gdkdevice-core-quartz.h b/gdk/quartz/gdkquartzdevice-core.h similarity index 91% rename from gdk/quartz/gdkdevice-core-quartz.h rename to gdk/quartz/gdkquartzdevice-core.h index abf6892f3e..018a1df9cf 100644 --- a/gdk/quartz/gdkdevice-core-quartz.h +++ b/gdk/quartz/gdkquartzdevice-core.h @@ -17,10 +17,14 @@ * Boston, MA 02111-1307, USA. */ +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GDK_QUARTZ_DEVICE_CORE_H__ #define __GDK_QUARTZ_DEVICE_CORE_H__ -#include +#include G_BEGIN_DECLS @@ -34,16 +38,6 @@ G_BEGIN_DECLS typedef struct _GdkQuartzDeviceCore GdkQuartzDeviceCore; typedef struct _GdkQuartzDeviceCoreClass GdkQuartzDeviceCoreClass; -struct _GdkQuartzDeviceCore -{ - GdkDevice parent_instance; -}; - -struct _GdkQuartzDeviceCoreClass -{ - GdkDeviceClass parent_class; -}; - GType gdk_quartz_device_core_get_type (void) G_GNUC_CONST; G_END_DECLS diff --git a/gdk/quartz/gdkquartzdevicemanager-core.h b/gdk/quartz/gdkquartzdevicemanager-core.h new file mode 100644 index 0000000000..eed8f50859 --- /dev/null +++ b/gdk/quartz/gdkquartzdevicemanager-core.h @@ -0,0 +1,47 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2009 Carlos Garnacho + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ +#define __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE (gdk_quartz_device_manager_core_get_type ()) +#define GDK_QUARTZ_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCore)) +#define GDK_QUARTZ_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCoreClass)) +#define GDK_IS_QUARTZ_DEVICE_MANAGER_CORE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE)) +#define GDK_IS_QUARTZ_DEVICE_MANAGER_CORE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE)) +#define GDK_QUARTZ_DEVICE_MANAGER_CORE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_QUARTZ_DEVICE_MANAGER_CORE, GdkQuartzDeviceManagerCoreClass)) + +typedef struct _GdkQuartzDeviceManagerCore GdkQuartzDeviceManagerCore; +typedef struct _GdkQuartzDeviceManagerCoreClass GdkQuartzDeviceManagerCoreClass; + + +GType gdk_quartz_device_manager_core_get_type (void) G_GNUC_CONST; + + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DEVICE_MANAGER_CORE_H__ */ diff --git a/gdk/quartz/gdkdisplay-quartz.h b/gdk/quartz/gdkquartzdisplay.h similarity index 89% rename from gdk/quartz/gdkdisplay-quartz.h rename to gdk/quartz/gdkquartzdisplay.h index 4452008b09..50176cedf8 100644 --- a/gdk/quartz/gdkdisplay-quartz.h +++ b/gdk/quartz/gdkquartzdisplay.h @@ -1,4 +1,4 @@ -/* gdkdisplay-quartz.h +/* gdkquartzdisplay.h * * Copyright (C) 2005-2007 Imendio AB * Copyright (C) 2010 Kristian Rietveld @@ -19,11 +19,14 @@ * Boston, MA 02111-1307, USA. */ +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + #ifndef __GDK_QUARTZ_DISPLAY_H__ #define __GDK_QUARTZ_DISPLAY_H__ #include -#include "gdkdisplayprivate.h" G_BEGIN_DECLS @@ -34,20 +37,13 @@ G_BEGIN_DECLS #define GDK_IS_QUARTZ_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_DISPLAY)) #define GDK_QUARTZ_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_DISPLAY, GdkQuartzDisplayClass)) +#ifdef GDK_COMPILATION typedef struct _GdkQuartzDisplay GdkQuartzDisplay; +#else +typedef GdkDisplay GdkQuartzDisplay; +#endif typedef struct _GdkQuartzDisplayClass GdkQuartzDisplayClass; -struct _GdkQuartzDisplay -{ - GdkDisplay display; - - GList *input_devices; -}; - -struct _GdkQuartzDisplayClass -{ - GdkDisplayClass display_class; -}; GType _gdk_quartz_display_get_type (void); diff --git a/gdk/quartz/gdkdisplaymanager-quartz.h b/gdk/quartz/gdkquartzdisplaymanager.h similarity index 77% rename from gdk/quartz/gdkdisplaymanager-quartz.h rename to gdk/quartz/gdkquartzdisplaymanager.h index b73f8cdb8f..00a71ae5c2 100644 --- a/gdk/quartz/gdkdisplaymanager-quartz.h +++ b/gdk/quartz/gdkquartzdisplaymanager.h @@ -1,4 +1,4 @@ -/* gdkdisplaymanager-quartz.h +/* gdkquartzdisplaymanager.h * * Copyright (C) 2005-2007 Imendio AB * Copyright 2010 Red Hat, Inc. @@ -19,30 +19,30 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_QUARTZ_DISPLAYMANAGER_H__ -#define __GDK_QUARTZ_DISPLAYMANAGER_H__ +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_DISPLAY_MANAGER_H__ +#define __GDK_QUARTZ_DISPLAY_MANAGER_H__ #include -#include G_BEGIN_DECLS #define GDK_TYPE_QUARTZ_DISPLAY_MANAGER (gdk_quartz_display_manager_get_type ()) #define GDK_QUARTZ_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DISPLAY_MANAGER, GdkQuartzDisplayManager)) +#ifdef GDK_COMPILATION typedef struct _GdkQuartzDisplayManager GdkQuartzDisplayManager; +#else +typedef GdkDisplayManager _GdkQuartzDisplayManager; +#endif typedef struct _GdkDisplayManagerClass GdkQuartzDisplayManagerClass; -struct _GdkQuartzDisplayManager -{ - GdkDisplayManager parent; - - GdkDisplay *default_display; - GSList *displays; -}; GType gdk_quartz_display_manager_get_type (void); G_END_DECLS -#endif /* __GDK_QUARTZ_DISPLAYMANAGER_H__ */ +#endif /* __GDK_QUARTZ_DISPLAY_MANAGER_H__ */ diff --git a/gdk/quartz/gdkquartzdnd.h b/gdk/quartz/gdkquartzdnd.h new file mode 100644 index 0000000000..2199d0d403 --- /dev/null +++ b/gdk/quartz/gdkquartzdnd.h @@ -0,0 +1,53 @@ +/* gdkquartzdnd.h + * + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_DND_H__ +#define __GDK_QUARTZ_DND_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_DRAG_CONTEXT (gdk_quartz_drag_context_get_type ()) +#define GDK_QUARTZ_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContext)) +#define GDK_QUARTZ_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContextClass)) +#define GDK_IS_QUARTZ_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_DRAG_CONTEXT)) +#define GDK_IS_QUARTZ_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_DRAG_CONTEXT)) +#define GDK_QUARTZ_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_DRAG_CONTEXT, GdkQuartzDragContextClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkQuartzDragContext GdkQuartzDragContext; +#else +typedef GdkDragContext GdkQuartzDragContext; +#endif +typedef struct _GdkQuartzDragContextClass GdkQuartzDragContextClass; + + +GType gdk_quartz_drag_context_get_type (void); + +id gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_DRAG_CONTEXT_H__ */ diff --git a/gdk/quartz/gdkquartzkeys.h b/gdk/quartz/gdkquartzkeys.h new file mode 100644 index 0000000000..b78d8a2579 --- /dev/null +++ b/gdk/quartz/gdkquartzkeys.h @@ -0,0 +1,51 @@ +/* gdkquartzkeyd.h + * + * Copyright (C) 2005 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_KEYS_H__ +#define __GDK_QUARTZ_KEYS_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_KEYMAP (gdk_quartz_keymap_get_type ()) +#define GDK_QUARTZ_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymap)) +#define GDK_QUARTZ_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymapClass)) +#define GDK_IS_QUARTZ_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_KEYMAP)) +#define GDK_IS_QUARTZ_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_KEYMAP)) +#define GDK_QUARTZ_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_KEYMAP, GdkQuartzKeymapClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkQuartzKeymap GdkQuartzKeymap; +#else +typedef GdkKeymap GdkQuartzKeymap; +#endif +typedef struct _GdkQuartzKeymapClass GdkQuartzKeymapClass; + +GType _gdk_quartz_keymap_get_type (void); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_KEYS_H__ */ diff --git a/gdk/quartz/gdkquartzscreen.h b/gdk/quartz/gdkquartzscreen.h new file mode 100644 index 0000000000..f144a6549f --- /dev/null +++ b/gdk/quartz/gdkquartzscreen.h @@ -0,0 +1,51 @@ +/* gdkquartzscreen.h + * + * Copyright (C) 2009, 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined(__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_SCREEN_H__ +#define __GDK_QUARTZ_SCREEN_H__ + +G_BEGIN_DECLS + +#include + +#define GDK_TYPE_QUARTZ_SCREEN (_gdk_quartz_screen_get_type ()) +#define GDK_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreen)) +#define GDK_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) +#define GDK_IS_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_SCREEN)) +#define GDK_IS_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_SCREEN)) +#define GDK_QUARTZ_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkQuartzScreen GdkQuartzScreen; +#else +typedef GdkScreen GdkQuartzScreen; +#endif +typedef struct _GdkQuartzScreenClass GdkQuartzScreenClass; + + +GType _gdk_quartz_screen_get_type (void); + +G_END_DECLS + +#endif /* _GDK_QUARTZ_SCREEN_H_ */ diff --git a/gdk/quartz/gdkquartzutils.h b/gdk/quartz/gdkquartzutils.h new file mode 100644 index 0000000000..a3eeda16e3 --- /dev/null +++ b/gdk/quartz/gdkquartzutils.h @@ -0,0 +1,38 @@ +/* gdkquartzutils.h + * + * Copyright (C) 2005 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_UTILS_H__ +#define __GDK_QUARTZ_UTILS_H__ + +#include + +G_BEGIN_DECLS + +NSImage *gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf *pixbuf); +NSEvent *gdk_quartz_event_get_nsevent (GdkEvent *event); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_UTILS_H__ */ diff --git a/gdk/quartz/gdkquartzvisual.h b/gdk/quartz/gdkquartzvisual.h new file mode 100644 index 0000000000..b3cbe39522 --- /dev/null +++ b/gdk/quartz/gdkquartzvisual.h @@ -0,0 +1,52 @@ +/* gdkquartzvisual.h + * + * Copyright (C) 2005 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_VISUAL_H__ +#define __GDK_QUARTZ_VISUAL_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_VISUAL (_gdk_quartz_visual_get_type ()) +#define GDK_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisual)) +#define GDK_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) +#define GDK_IS_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_VISUAL)) +#define GDK_IS_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_VISUAL)) +#define GDK_QUARTZ_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkQuartzVisual GdkQuartzVisual; +#else +typedef GdkVisual GdkQuartzVisual; +#endif +typedef struct _GdkQuartzVisualClass GdkQuartzVisualClass; + + +GType _gdk_quartz_visual_get_type (void); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_VISUAL_H__ */ diff --git a/gdk/quartz/gdkquartzwindow.h b/gdk/quartz/gdkquartzwindow.h new file mode 100644 index 0000000000..934b4c4135 --- /dev/null +++ b/gdk/quartz/gdkquartzwindow.h @@ -0,0 +1,54 @@ +/* gdkquartzwindow.h + * + * Copyright (C) 2005 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKQUARTZ_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_QUARTZ_WINDOW_H__ +#define __GDK_QUARTZ_WINDOW_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_QUARTZ_WINDOW (gdk_quartz_window_get_type ()) +#define GDK_QUARTZ_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindow)) +#define GDK_QUARTZ_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindowClass)) +#define GDK_IS_QUARTZ_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_WINDOW)) +#define GDK_IS_QUARTZ_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_WINDOW)) +#define GDK_QUARTZ_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindowClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkQuartzWindow GdkQuartzWindow; +#else +typedef GdkWindow GdkQuartzWindow; +#endif +typedef struct _GdkQuartzWindowClass GdkQuartzWindowClass; + +GType gdk_quartz_window_get_type (void); + +NSWindow *gdk_quartz_window_get_nswindow (GdkWindow *window); +NSView *gdk_quartz_window_get_nsview (GdkWindow *window); + +G_END_DECLS + +#endif /* __GDK_QUARTZ_WINDOW_H__ */ diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c index d3caa9c983..85ab6e664c 100644 --- a/gdk/quartz/gdkscreen-quartz.c +++ b/gdk/quartz/gdkscreen-quartz.c @@ -20,8 +20,9 @@ */ #include "config.h" -#include "gdk.h" -#include "gdkscreen-quartz.h" + +#include + #include "gdkprivate-quartz.h" @@ -254,12 +255,6 @@ display_reconfiguration_callback (CGDirectDisplayID display, } } -GdkScreen * -_gdk_quartz_screen_new (void) -{ - return g_object_new (GDK_TYPE_QUARTZ_SCREEN, NULL); -} - static GdkDisplay * gdk_quartz_screen_get_display (GdkScreen *screen) { diff --git a/gdk/quartz/gdkscreen-quartz.h b/gdk/quartz/gdkscreen-quartz.h index 59959b4c92..1999b5c19d 100644 --- a/gdk/quartz/gdkscreen-quartz.h +++ b/gdk/quartz/gdkscreen-quartz.h @@ -1,6 +1,6 @@ /* gdkscreen-quartz.h * - * Copyright (C) 2009, 2010 Kristian Rietveld + * Copyright (C) 2009,2010 Kristian Rietveld * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,23 +18,13 @@ * Boston, MA 02111-1307, USA. */ -#ifndef __GDK_QUARTZ_SCREEN_H__ -#define __GDK_QUARTZ_SCREEN_H__ +#ifndef __GDK_QUARTZ_SCREEN__ +#define __GDK_QUARTZ_SCREEN__ + +#include G_BEGIN_DECLS -#include - -typedef struct _GdkQuartzScreen GdkQuartzScreen; -typedef struct _GdkQuartzScreenClass GdkQuartzScreenClass; - -#define GDK_TYPE_QUARTZ_SCREEN (_gdk_quartz_screen_get_type ()) -#define GDK_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreen)) -#define GDK_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) -#define GDK_IS_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_SCREEN)) -#define GDK_IS_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_SCREEN)) -#define GDK_QUARTZ_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) - struct _GdkQuartzScreen { GdkScreen parent_instance; @@ -61,9 +51,6 @@ struct _GdkQuartzScreenClass GdkScreenClass parent_class; }; -GType _gdk_quartz_screen_get_type (void); -GdkScreen *_gdk_quartz_screen_new (void); - G_END_DECLS -#endif /* _GDK_QUARTZ_SCREEN_H_ */ +#endif /* __GDK_QUARTZ_SCREEN__ */ diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index a2de49ae34..2ad13dea57 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -21,19 +21,9 @@ #include "config.h" #include "gdkvisualprivate.h" +#include "gdkquartzvisual.h" #include "gdkprivate-quartz.h" -GType _gdk_quartz_visual_get_type (void); - -#define GDK_TYPE_QUARTZ_VISUAL (_gdk_quartz_visual_get_type ()) -#define GDK_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisual)) -#define GDK_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) -#define GDK_IS_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_VISUAL)) -#define GDK_IS_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_VISUAL)) -#define GDK_QUARTZ_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) - -typedef struct _GdkQuartzVisual GdkQuartzVisual; -typedef struct _GdkQuartzVisualClass GdkQuartzVisualClass; struct _GdkQuartzVisual { diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 9d4daae9b1..eb3687f7cc 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -20,15 +20,17 @@ */ #include "config.h" -#include -#include "gdk.h" -#include "gdkdeviceprivate.h" -#include "gdkdisplayprivate.h" +#include +#include +#include + #include "gdkwindowimpl.h" #include "gdkprivate-quartz.h" -#include "gdkscreen-quartz.h" -#include "gdkcursor-quartz.h" +#include "gdkquartzscreen.h" +#include "gdkquartzcursor.h" + +#include #include #include @@ -1671,18 +1673,12 @@ gdk_window_quartz_set_device_cursor (GdkWindow *window, GdkDevice *device, GdkCursor *cursor) { - GdkQuartzCursor *cursor_private; NSCursor *nscursor; - cursor_private = (GdkQuartzCursor *)cursor; - if (GDK_WINDOW_DESTROYED (window)) return; - if (!cursor) - nscursor = [NSCursor arrowCursor]; - else - nscursor = cursor_private->nscursor; + nscursor = _gdk_quartz_cursor_get_ns_cursor (cursor); [nscursor set]; } diff --git a/gdk/quartz/gdkwindow-quartz.h b/gdk/quartz/gdkwindow-quartz.h index 0987b7ea06..f55bbb33e9 100644 --- a/gdk/quartz/gdkwindow-quartz.h +++ b/gdk/quartz/gdkwindow-quartz.h @@ -27,19 +27,6 @@ G_BEGIN_DECLS -#define GDK_TYPE_QUARTZ_WINDOW (gdk_quartz_window_get_type ()) -#define GDK_QUARTZ_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindow)) -#define GDK_QUARTZ_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindowClass)) -#define GDK_IS_QUARTZ_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_WINDOW)) -#define GDK_IS_QUARTZ_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_QUARTZ_WINDOW)) -#define GDK_QUARTZ_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_QUARTZ_WINDOW, GdkQuartzWindowClass)) - -typedef struct _GdkQuartzWindow GdkQuartzWindow; -typedef struct _GdkQuartzWindowClass GdkQuartzWindowClass; - -GType gdk_quartz_window_get_type (void); - - /* Window implementation for Quartz */ From f15934bd6697d02f0af20560027a08989d3187ab Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:09:01 +0100 Subject: [PATCH 0873/1463] quartz: remove gdkmain-quartz.c --- gdk/quartz/Makefile.am | 1 - gdk/quartz/gdkdisplay-quartz.c | 8 ++++++ gdk/quartz/gdkmain-quartz.c | 46 ---------------------------------- gdk/quartz/gdkprivate-quartz.h | 4 --- gdk/quartz/gdkwindow-quartz.c | 9 ++++++- 5 files changed, 16 insertions(+), 52 deletions(-) delete mode 100644 gdk/quartz/gdkmain-quartz.c diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index aa0b717b1f..cfbe55d9cb 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -35,7 +35,6 @@ libgdk_quartz_la_SOURCES = \ gdkgeometry-quartz.c \ gdkglobals-quartz.c \ gdkkeys-quartz.c \ - gdkmain-quartz.c \ gdkprivate-quartz.h \ gdkproperty-quartz.c \ gdkquartz.h \ diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 6a667c911e..9c8b8cb72d 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -261,6 +261,14 @@ _gdk_quartz_display_get_next_serial (GdkDisplay *display) return 0; } +static void +_gdk_quartz_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id) +{ + /* FIXME: Implement? */ +} + + G_DEFINE_TYPE (GdkQuartzDisplay, _gdk_quartz_display, GDK_TYPE_DISPLAY) static void diff --git a/gdk/quartz/gdkmain-quartz.c b/gdk/quartz/gdkmain-quartz.c deleted file mode 100644 index cb2184ab27..0000000000 --- a/gdk/quartz/gdkmain-quartz.c +++ /dev/null @@ -1,46 +0,0 @@ -/* gdkmain-quartz.c - * - * Copyright (C) 2005 Imendio AB - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include "gdk.h" - -const GOptionEntry _gdk_windowing_args[] = { - { NULL } -}; - -void -_gdk_windowing_init (void) -{ -} - -void -_gdk_quartz_display_notify_startup_complete (GdkDisplay *display, - const gchar *startup_id) -{ - /* FIXME: Implement? */ -} - -void -_gdk_quartz_window_set_startup_id (GdkWindow *window, - const gchar *startup_id) -{ - /* FIXME: Implement? */ -} diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 3395d4c4ca..43dd621e3b 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -124,8 +124,6 @@ void _gdk_quartz_window_translate (GdkWindow *window, gboolean _gdk_quartz_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area); -void _gdk_quartz_window_set_startup_id (GdkWindow *window, - const gchar *startup_id); void _gdk_quartz_window_register_dnd (GdkWindow *window); GdkDragContext * _gdk_quartz_window_drag_begin (GdkWindow *window, GdkDevice *device, @@ -155,8 +153,6 @@ void _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, guint *height); void _gdk_quartz_display_before_process_all_updates (GdkDisplay *display); void _gdk_quartz_display_after_process_all_updates (GdkDisplay *display); -void _gdk_quartz_display_notify_startup_complete (GdkDisplay *display, - const gchar *id); void _gdk_quartz_display_event_data_copy (GdkDisplay *display, const GdkEvent *src, GdkEvent *dst); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index eb3687f7cc..bdcc5a81b1 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2142,6 +2142,13 @@ gdk_quartz_window_set_role (GdkWindow *window, /* FIXME: Implement */ } +static void +gdk_quartz_window_set_startup_id (GdkWindow *window, + const gchar *startup_id) +{ + /* FIXME: Implement? */ +} + static void gdk_quartz_window_set_transient_for (GdkWindow *window, GdkWindow *parent) @@ -2982,7 +2989,7 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass) impl_class->set_geometry_hints = gdk_quartz_window_set_geometry_hints; impl_class->set_title = gdk_quartz_window_set_title; impl_class->set_role = gdk_quartz_window_set_role; - impl_class->set_startup_id = _gdk_quartz_window_set_startup_id; + impl_class->set_startup_id = gdk_quartz_window_set_startup_id; impl_class->set_transient_for = gdk_quartz_window_set_transient_for; impl_class->get_root_origin = gdk_quartz_window_get_root_origin; impl_class->get_frame_extents = gdk_quartz_window_get_frame_extents; From fb8717f722ad11d83672dbfd233c73f429ec9b14 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:14:49 +0100 Subject: [PATCH 0874/1463] quartz: move utils to gdkutils-quartz.c --- gdk/quartz/Makefile.am | 1 + gdk/quartz/gdkcursor-quartz.c | 72 +------------------------ gdk/quartz/gdkevents-quartz.c | 7 --- gdk/quartz/gdkutils-quartz.c | 99 +++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+), 78 deletions(-) create mode 100644 gdk/quartz/gdkutils-quartz.c diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index cfbe55d9cb..b9c5b464fa 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -42,6 +42,7 @@ libgdk_quartz_la_SOURCES = \ gdkscreen-quartz.h \ gdkselection-quartz.c \ gdktestutils-quartz.c \ + gdkutils-quartz.c \ gdkvisual-quartz.c \ gdkwindow-quartz.c \ gdkwindow-quartz.h \ diff --git a/gdk/quartz/gdkcursor-quartz.c b/gdk/quartz/gdkcursor-quartz.c index 7f3e142833..22b7676acb 100644 --- a/gdk/quartz/gdkcursor-quartz.c +++ b/gdk/quartz/gdkcursor-quartz.c @@ -250,70 +250,6 @@ _gdk_quartz_display_get_cursor_for_type (GdkDisplay *display, return gdk_quartz_cursor_new_from_nscursor (nscursor, cursor_type); } -static NSImage * -_gdk_quartz_pixbuf_to_ns_image (GdkPixbuf *pixbuf) -{ - NSBitmapImageRep *bitmap_rep; - NSImage *image; - gboolean has_alpha; - - has_alpha = gdk_pixbuf_get_has_alpha (pixbuf); - - /* Create a bitmap image rep */ - bitmap_rep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL - pixelsWide:gdk_pixbuf_get_width (pixbuf) - pixelsHigh:gdk_pixbuf_get_height (pixbuf) - bitsPerSample:8 samplesPerPixel:has_alpha ? 4 : 3 - hasAlpha:has_alpha isPlanar:NO colorSpaceName:NSDeviceRGBColorSpace - bytesPerRow:0 bitsPerPixel:0]; - - { - /* Add pixel data to bitmap rep */ - guchar *src, *dst; - int src_stride, dst_stride; - int x, y; - - src_stride = gdk_pixbuf_get_rowstride (pixbuf); - dst_stride = [bitmap_rep bytesPerRow]; - - for (y = 0; y < gdk_pixbuf_get_height (pixbuf); y++) - { - src = gdk_pixbuf_get_pixels (pixbuf) + y * src_stride; - dst = [bitmap_rep bitmapData] + y * dst_stride; - - for (x = 0; x < gdk_pixbuf_get_width (pixbuf); x++) - { - if (has_alpha) - { - guchar red, green, blue, alpha; - - red = *src++; - green = *src++; - blue = *src++; - alpha = *src++; - - *dst++ = (red * alpha) / 255; - *dst++ = (green * alpha) / 255; - *dst++ = (blue * alpha) / 255; - *dst++ = alpha; - } - else - { - *dst++ = *src++; - *dst++ = *src++; - *dst++ = *src++; - } - } - } - } - - image = [[NSImage alloc] init]; - [image addRepresentation:bitmap_rep]; - [bitmap_rep release]; - [image autorelease]; - - return image; -} GdkCursor * _gdk_quartz_display_get_cursor_for_pixbuf (GdkDisplay *display, @@ -330,7 +266,7 @@ _gdk_quartz_display_get_cursor_for_pixbuf (GdkDisplay *display, has_alpha = gdk_pixbuf_get_has_alpha (pixbuf); - image = _gdk_quartz_pixbuf_to_ns_image (pixbuf); + image = gdk_quartz_pixbuf_to_ns_image_libgtk_only (pixbuf); nscursor = [[NSCursor alloc] initWithImage:image hotSpot:NSMakePoint(x, y)]; cursor = gdk_quartz_cursor_new_from_nscursor (nscursor, GDK_CURSOR_IS_PIXMAP); @@ -432,9 +368,3 @@ gdk_quartz_cursor_get_image (GdkCursor *cursor) /* FIXME: Implement */ return NULL; } - -NSImage * -gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf *pixbuf) -{ - return _gdk_quartz_pixbuf_to_ns_image (pixbuf); -} diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 3b20df2886..227cdbdb94 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -55,13 +55,6 @@ static int current_button_state; static void append_event (GdkEvent *event, gboolean windowing); -NSEvent * -gdk_quartz_event_get_nsevent (GdkEvent *event) -{ - /* FIXME: If the event here is unallocated, we crash. */ - return ((GdkEventPrivate *) event)->windowing_data; -} - void _gdk_quartz_events_init (void) { diff --git a/gdk/quartz/gdkutils-quartz.c b/gdk/quartz/gdkutils-quartz.c new file mode 100644 index 0000000000..122a31cb07 --- /dev/null +++ b/gdk/quartz/gdkutils-quartz.c @@ -0,0 +1,99 @@ +/* gdkutils-quartz.c + * + * Copyright (C) 2005 Imendio AB + * Copyright (C) 2010 Kristian Rietveld + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include + +#include +#include "gdkprivate-quartz.h" + +NSImage * +gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf *pixbuf) +{ + NSBitmapImageRep *bitmap_rep; + NSImage *image; + gboolean has_alpha; + + has_alpha = gdk_pixbuf_get_has_alpha (pixbuf); + + /* Create a bitmap image rep */ + bitmap_rep = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL + pixelsWide:gdk_pixbuf_get_width (pixbuf) + pixelsHigh:gdk_pixbuf_get_height (pixbuf) + bitsPerSample:8 samplesPerPixel:has_alpha ? 4 : 3 + hasAlpha:has_alpha isPlanar:NO colorSpaceName:NSDeviceRGBColorSpace + bytesPerRow:0 bitsPerPixel:0]; + + { + /* Add pixel data to bitmap rep */ + guchar *src, *dst; + int src_stride, dst_stride; + int x, y; + + src_stride = gdk_pixbuf_get_rowstride (pixbuf); + dst_stride = [bitmap_rep bytesPerRow]; + + for (y = 0; y < gdk_pixbuf_get_height (pixbuf); y++) + { + src = gdk_pixbuf_get_pixels (pixbuf) + y * src_stride; + dst = [bitmap_rep bitmapData] + y * dst_stride; + + for (x = 0; x < gdk_pixbuf_get_width (pixbuf); x++) + { + if (has_alpha) + { + guchar red, green, blue, alpha; + + red = *src++; + green = *src++; + blue = *src++; + alpha = *src++; + + *dst++ = (red * alpha) / 255; + *dst++ = (green * alpha) / 255; + *dst++ = (blue * alpha) / 255; + *dst++ = alpha; + } + else + { + *dst++ = *src++; + *dst++ = *src++; + *dst++ = *src++; + } + } + } + } + + image = [[NSImage alloc] init]; + [image addRepresentation:bitmap_rep]; + [bitmap_rep release]; + [image autorelease]; + + return image; +} + +NSEvent * +gdk_quartz_event_get_nsevent (GdkEvent *event) +{ + /* FIXME: If the event here is unallocated, we crash. */ + return ((GdkEventPrivate *) event)->windowing_data; +} From 1e814709d72e12019859465539567576455d0bdb Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:19:17 +0100 Subject: [PATCH 0875/1463] quartz: fix typo --- gdk/quartz/gdkdnd-quartz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index cbff4aa237..2e6cfc72a1 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -165,7 +165,7 @@ gdk_quartz_drag_context_finalize (GObject *object) } static void -gdk_drag_context_class_init (GdkDragContextClass *klass) +gdk_quartz_drag_context_class_init (GdkQuartzDragContextClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass); From 0840b251657122bda8e84412b3f2f67c88d95304 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:20:14 +0100 Subject: [PATCH 0876/1463] quartz: fix some more typos --- gdk/quartz/gdkdnd-quartz.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gdk/quartz/gdkdnd-quartz.c b/gdk/quartz/gdkdnd-quartz.c index 2e6cfc72a1..7ba1705c54 100644 --- a/gdk/quartz/gdkdnd-quartz.c +++ b/gdk/quartz/gdkdnd-quartz.c @@ -39,8 +39,6 @@ _gdk_quartz_window_drag_begin (GdkWindow *window, GdkDevice *device, GList *targets) { - GdkDragContext *context; - g_assert (_gdk_quartz_drag_source_context == NULL); /* Create fake context */ @@ -48,9 +46,9 @@ _gdk_quartz_window_drag_begin (GdkWindow *window, NULL); _gdk_quartz_drag_source_context->is_source = TRUE; - gdk_drag_context_set_device (context, device); + gdk_drag_context_set_device (_gdk_quartz_drag_source_context, device); - return context; + return _gdk_quartz_drag_source_context; } static gboolean From 07110a61706b5614b2489b9ba93628e7d8e2c2fc Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:20:24 +0100 Subject: [PATCH 0877/1463] quartz: we must provide a window on drag begin now --- gtk/gtkdnd-quartz.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index dddb6631ea..d990029cd8 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -1109,7 +1109,7 @@ gtk_drag_begin_internal (GtkWidget *widget, GdkDragContext *context; NSWindow *nswindow; - context = gdk_drag_begin (NULL, NULL); + context = gdk_drag_begin (gtk_widget_get_window (widget), NULL); info = gtk_drag_get_source_info (context, TRUE); From 0d8eeb924e2877bc555cf0c0c1eef131d6228322 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:39:07 +0100 Subject: [PATCH 0878/1463] quartz: _gdk_quartz_display -> gdk_quartz_display --- gdk/quartz/gdkdisplay-quartz.c | 34 +++++++++++++++++----------------- gdk/quartz/gdkquartzdisplay.h | 4 ++-- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 9c8b8cb72d..667e6ac823 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -119,7 +119,7 @@ _gdk_quartz_display_open (const gchar *display_name) /* Initialize application */ [NSApplication sharedApplication]; - _gdk_display = g_object_new (_gdk_quartz_display_get_type (), NULL); + _gdk_display = g_object_new (gdk_quartz_display_get_type (), NULL); _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); _gdk_screen = g_object_new (_gdk_quartz_screen_get_type (), NULL); @@ -248,38 +248,38 @@ gdk_quartz_display_supports_composite (GdkDisplay *display) } static GList * -_gdk_quartz_display_list_devices (GdkDisplay *display) +gdk_quartz_display_list_devices (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); return GDK_QUARTZ_DISPLAY (display)->input_devices; } -gulong -_gdk_quartz_display_get_next_serial (GdkDisplay *display) +static gulong +gdk_quartz_display_get_next_serial (GdkDisplay *display) { return 0; } static void -_gdk_quartz_display_notify_startup_complete (GdkDisplay *display, - const gchar *startup_id) +gdk_quartz_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id) { /* FIXME: Implement? */ } -G_DEFINE_TYPE (GdkQuartzDisplay, _gdk_quartz_display, GDK_TYPE_DISPLAY) +G_DEFINE_TYPE (GdkQuartzDisplay, gdk_quartz_display, GDK_TYPE_DISPLAY) static void -_gdk_quartz_display_init (GdkQuartzDisplay *display) +gdk_quartz_display_init (GdkQuartzDisplay *display) { _gdk_quartz_display_manager_add_display (gdk_display_manager_get (), GDK_DISPLAY_OBJECT (display)); } static void -_gdk_quartz_display_dispose (GObject *object) +gdk_quartz_display_dispose (GObject *object) { GdkQuartzDisplay *display_quartz = GDK_QUARTZ_DISPLAY (object); @@ -289,27 +289,27 @@ _gdk_quartz_display_dispose (GObject *object) g_list_foreach (display_quartz->input_devices, (GFunc) g_object_run_dispose, NULL); - G_OBJECT_CLASS (_gdk_quartz_display_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_quartz_display_parent_class)->dispose (object); } static void -_gdk_quartz_display_finalize (GObject *object) +gdk_quartz_display_finalize (GObject *object) { GdkQuartzDisplay *display_quartz = GDK_QUARTZ_DISPLAY (object); g_list_foreach (display_quartz->input_devices, (GFunc) g_object_unref, NULL); g_list_free (display_quartz->input_devices); - G_OBJECT_CLASS (_gdk_quartz_display_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_quartz_display_parent_class)->finalize (object); } static void -_gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) +gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (class); - object_class->finalize = _gdk_quartz_display_finalize; + object_class->finalize = gdk_quartz_display_finalize; display_class->window_type = GDK_TYPE_QUARTZ_WINDOW; @@ -330,7 +330,7 @@ _gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) display_class->supports_shapes = gdk_quartz_display_supports_shapes; display_class->supports_input_shapes = gdk_quartz_display_supports_input_shapes; display_class->supports_composite = gdk_quartz_display_supports_composite; - display_class->list_devices = _gdk_quartz_display_list_devices; + display_class->list_devices = gdk_quartz_display_list_devices; display_class->send_client_message = _gdk_quartz_display_send_client_message; display_class->add_client_message_filter = _gdk_quartz_display_add_client_message_filter; display_class->get_drag_protocol = _gdk_quartz_display_get_drag_protocol; @@ -344,8 +344,8 @@ _gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) display_class->before_process_all_updates = _gdk_quartz_display_before_process_all_updates; display_class->after_process_all_updates = _gdk_quartz_display_after_process_all_updates; - display_class->get_next_serial = _gdk_quartz_display_get_next_serial; - display_class->notify_startup_complete = _gdk_quartz_display_notify_startup_complete; + display_class->get_next_serial = gdk_quartz_display_get_next_serial; + display_class->notify_startup_complete = gdk_quartz_display_notify_startup_complete; display_class->event_data_copy = _gdk_quartz_display_event_data_copy; display_class->event_data_free = _gdk_quartz_display_event_data_free; display_class->create_window_impl = _gdk_quartz_display_create_window_impl; diff --git a/gdk/quartz/gdkquartzdisplay.h b/gdk/quartz/gdkquartzdisplay.h index 50176cedf8..708ad2f596 100644 --- a/gdk/quartz/gdkquartzdisplay.h +++ b/gdk/quartz/gdkquartzdisplay.h @@ -30,7 +30,7 @@ G_BEGIN_DECLS -#define GDK_TYPE_QUARTZ_DISPLAY (_gdk_quartz_display_get_type ()) +#define GDK_TYPE_QUARTZ_DISPLAY (gdk_quartz_display_get_type ()) #define GDK_QUARTZ_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_DISPLAY, GdkQuartzDisplay)) #define GDK_QUARTZ_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_DISPLAY, GdkQuartzDisplayClass)) #define GDK_IS_QUARTZ_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_DISPLAY)) @@ -45,7 +45,7 @@ typedef GdkDisplay GdkQuartzDisplay; typedef struct _GdkQuartzDisplayClass GdkQuartzDisplayClass; -GType _gdk_quartz_display_get_type (void); +GType gdk_quartz_display_get_type (void); G_END_DECLS From 0736544174b83747b597aa3d621ca4b6d113707d Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:41:50 +0100 Subject: [PATCH 0879/1463] quartz: _gdk_quartz_keymap -> gdk_quartz_keymap --- gdk/quartz/gdkkeys-quartz.c | 14 +++++++------- gdk/quartz/gdkquartzkeys.h | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/gdk/quartz/gdkkeys-quartz.c b/gdk/quartz/gdkkeys-quartz.c index ede9d21d93..768d10d58c 100644 --- a/gdk/quartz/gdkkeys-quartz.c +++ b/gdk/quartz/gdkkeys-quartz.c @@ -73,13 +73,13 @@ struct _GdkQuartzKeymapClass GdkKeymapClass keymap_class; }; -G_DEFINE_TYPE (GdkQuartzKeymap, _gdk_quartz_keymap, GDK_TYPE_KEYMAP) +G_DEFINE_TYPE (GdkQuartzKeymap, gdk_quartz_keymap, GDK_TYPE_KEYMAP) GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display) { if (default_keymap == NULL) - default_keymap = g_object_new (_gdk_quartz_keymap_get_type (), NULL); + default_keymap = g_object_new (gdk_quartz_keymap_get_type (), NULL); return default_keymap; } @@ -732,23 +732,23 @@ _gdk_quartz_keys_is_modifier (guint keycode) } static void -_gdk_quartz_keymap_init (GdkQuartzKeymap *keymap) +gdk_quartz_keymap_init (GdkQuartzKeymap *keymap) { } static void -_gdk_quartz_keymap_finalize (GObject *object) +gdk_quartz_keymap_finalize (GObject *object) { - G_OBJECT_CLASS (_gdk_quartz_keymap_parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_quartz_keymap_parent_class)->finalize (object); } static void -_gdk_quartz_keymap_class_init (GdkQuartzKeymapClass *klass) +gdk_quartz_keymap_class_init (GdkQuartzKeymapClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkKeymapClass *keymap_class = GDK_KEYMAP_CLASS (klass); - object_class->finalize = _gdk_quartz_keymap_finalize; + object_class->finalize = gdk_quartz_keymap_finalize; keymap_class->get_direction = gdk_quartz_keymap_get_direction; keymap_class->have_bidi_layouts = gdk_quartz_keymap_have_bidi_layouts; diff --git a/gdk/quartz/gdkquartzkeys.h b/gdk/quartz/gdkquartzkeys.h index b78d8a2579..b9e1dfe071 100644 --- a/gdk/quartz/gdkquartzkeys.h +++ b/gdk/quartz/gdkquartzkeys.h @@ -44,7 +44,7 @@ typedef GdkKeymap GdkQuartzKeymap; #endif typedef struct _GdkQuartzKeymapClass GdkQuartzKeymapClass; -GType _gdk_quartz_keymap_get_type (void); +GType gdk_quartz_keymap_get_type (void); G_END_DECLS From 1e2907fa024649cdfbe3bfe7080129e8e9ad819a Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:43:29 +0100 Subject: [PATCH 0880/1463] quartz: _gdk_quartz_screen -> gdk_quartz_screen --- gdk/quartz/gdkdisplay-quartz.c | 2 +- gdk/quartz/gdkquartzscreen.h | 4 ++-- gdk/quartz/gdkscreen-quartz.c | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 667e6ac823..1e9dfa08ea 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -122,7 +122,7 @@ _gdk_quartz_display_open (const gchar *display_name) _gdk_display = g_object_new (gdk_quartz_display_get_type (), NULL); _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); - _gdk_screen = g_object_new (_gdk_quartz_screen_get_type (), NULL); + _gdk_screen = g_object_new (gdk_quartz_screen_get_type (), NULL); _gdk_quartz_screen_init_visuals (_gdk_screen); diff --git a/gdk/quartz/gdkquartzscreen.h b/gdk/quartz/gdkquartzscreen.h index f144a6549f..b8b17bfade 100644 --- a/gdk/quartz/gdkquartzscreen.h +++ b/gdk/quartz/gdkquartzscreen.h @@ -29,7 +29,7 @@ G_BEGIN_DECLS #include -#define GDK_TYPE_QUARTZ_SCREEN (_gdk_quartz_screen_get_type ()) +#define GDK_TYPE_QUARTZ_SCREEN (gdk_quartz_screen_get_type ()) #define GDK_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreen)) #define GDK_QUARTZ_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_SCREEN, GdkQuartzScreenClass)) #define GDK_IS_QUARTZ_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_SCREEN)) @@ -44,7 +44,7 @@ typedef GdkScreen GdkQuartzScreen; typedef struct _GdkQuartzScreenClass GdkQuartzScreenClass; -GType _gdk_quartz_screen_get_type (void); +GType gdk_quartz_screen_get_type (void); G_END_DECLS diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c index 85ab6e664c..192fd970bf 100644 --- a/gdk/quartz/gdkscreen-quartz.c +++ b/gdk/quartz/gdkscreen-quartz.c @@ -68,10 +68,10 @@ static void display_reconfiguration_callback (CGDirectDisplayID displ CGDisplayChangeSummaryFlags flags, void *userInfo); -G_DEFINE_TYPE (GdkQuartzScreen, _gdk_quartz_screen, GDK_TYPE_SCREEN); +G_DEFINE_TYPE (GdkQuartzScreen, gdk_quartz_screen, GDK_TYPE_SCREEN); static void -_gdk_quartz_screen_init (GdkQuartzScreen *quartz_screen) +gdk_quartz_screen_init (GdkQuartzScreen *quartz_screen) { GdkScreen *screen = GDK_SCREEN (quartz_screen); NSScreen *nsscreen; @@ -102,7 +102,7 @@ gdk_quartz_screen_dispose (GObject *object) CGDisplayRemoveReconfigurationCallback (display_reconfiguration_callback, screen); - G_OBJECT_CLASS (_gdk_quartz_screen_parent_class)->dispose (object); + G_OBJECT_CLASS (gdk_quartz_screen_parent_class)->dispose (object); } static void @@ -411,7 +411,7 @@ gdk_quartz_screen_is_composited (GdkScreen *screen) } static void -_gdk_quartz_screen_class_init (GdkQuartzScreenClass *klass) +gdk_quartz_screen_class_init (GdkQuartzScreenClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); From ac6f50120b955469a29ce52009a18a51614c8bd5 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 13:44:44 +0100 Subject: [PATCH 0881/1463] quartz: _gdk_quartz_visual -> gdk_quartz_visual --- gdk/quartz/gdkquartzvisual.h | 4 ++-- gdk/quartz/gdkvisual-quartz.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gdk/quartz/gdkquartzvisual.h b/gdk/quartz/gdkquartzvisual.h index b3cbe39522..ba3acbc83d 100644 --- a/gdk/quartz/gdkquartzvisual.h +++ b/gdk/quartz/gdkquartzvisual.h @@ -30,7 +30,7 @@ G_BEGIN_DECLS -#define GDK_TYPE_QUARTZ_VISUAL (_gdk_quartz_visual_get_type ()) +#define GDK_TYPE_QUARTZ_VISUAL (gdk_quartz_visual_get_type ()) #define GDK_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisual)) #define GDK_QUARTZ_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_QUARTZ_VISUAL, GdkQuartzVisualClass)) #define GDK_IS_QUARTZ_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_QUARTZ_VISUAL)) @@ -45,7 +45,7 @@ typedef GdkVisual GdkQuartzVisual; typedef struct _GdkQuartzVisualClass GdkQuartzVisualClass; -GType _gdk_quartz_visual_get_type (void); +GType gdk_quartz_visual_get_type (void); G_END_DECLS diff --git a/gdk/quartz/gdkvisual-quartz.c b/gdk/quartz/gdkvisual-quartz.c index 2ad13dea57..d88141d259 100644 --- a/gdk/quartz/gdkvisual-quartz.c +++ b/gdk/quartz/gdkvisual-quartz.c @@ -109,15 +109,15 @@ create_gray_visual (GdkScreen *screen) } -G_DEFINE_TYPE (GdkQuartzVisual, _gdk_quartz_visual, GDK_TYPE_VISUAL) +G_DEFINE_TYPE (GdkQuartzVisual, gdk_quartz_visual, GDK_TYPE_VISUAL) static void -_gdk_quartz_visual_init (GdkQuartzVisual *quartz_visual) +gdk_quartz_visual_init (GdkQuartzVisual *quartz_visual) { } static void -_gdk_quartz_visual_class_init (GdkQuartzVisualClass *class) +gdk_quartz_visual_class_init (GdkQuartzVisualClass *class) { } From deffbd98852cd64e3952206d8ffb8377f5c603b4 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 14:08:40 +0100 Subject: [PATCH 0882/1463] quartz: reorder gdkprivate-quartz.h and related clean up --- gdk/quartz/gdkdisplay-quartz.c | 19 ++- gdk/quartz/gdkevents-quartz.c | 11 -- gdk/quartz/gdkprivate-quartz.h | 282 +++++++++++++++++---------------- gdk/quartz/gdkscreen-quartz.c | 32 +++- gdk/quartz/gdkwindow-quartz.c | 36 +---- 5 files changed, 195 insertions(+), 185 deletions(-) diff --git a/gdk/quartz/gdkdisplay-quartz.c b/gdk/quartz/gdkdisplay-quartz.c index 1e9dfa08ea..357c3c0b54 100644 --- a/gdk/quartz/gdkdisplay-quartz.c +++ b/gdk/quartz/gdkdisplay-quartz.c @@ -123,10 +123,9 @@ _gdk_quartz_display_open (const gchar *display_name) _gdk_display->device_manager = _gdk_device_manager_new (_gdk_display); _gdk_screen = g_object_new (gdk_quartz_screen_get_type (), NULL); - _gdk_quartz_screen_init_visuals (_gdk_screen); - _gdk_windowing_window_init (); + _gdk_quartz_window_init_windowing (_gdk_display, _gdk_screen); _gdk_quartz_events_init (); @@ -190,6 +189,18 @@ gdk_quartz_display_beep (GdkDisplay *display) NSBeep(); } +static void +gdk_quartz_display_sync (GdkDisplay *display) +{ + /* Not supported. */ +} + +static void +gdk_quartz_display_flush (GdkDisplay *display) +{ + /* Not supported. */ +} + static gboolean gdk_quartz_display_supports_selection_notification (GdkDisplay *display) { @@ -318,8 +329,8 @@ gdk_quartz_display_class_init (GdkQuartzDisplayClass *class) display_class->get_screen = gdk_quartz_display_get_screen; display_class->get_default_screen = gdk_quartz_display_get_default_screen; display_class->beep = gdk_quartz_display_beep; - display_class->sync = _gdk_quartz_display_sync; - display_class->flush = _gdk_quartz_display_flush; + display_class->sync = gdk_quartz_display_sync; + display_class->flush = gdk_quartz_display_flush; display_class->queue_events = _gdk_quartz_display_queue_events; display_class->has_pending = _gdk_quartz_display_has_pending; display_class->get_default_group = gdk_quartz_display_get_default_group; diff --git a/gdk/quartz/gdkevents-quartz.c b/gdk/quartz/gdkevents-quartz.c index 227cdbdb94..348dff1954 100644 --- a/gdk/quartz/gdkevents-quartz.c +++ b/gdk/quartz/gdkevents-quartz.c @@ -1340,17 +1340,6 @@ _gdk_quartz_display_add_client_message_filter (GdkDisplay *display, /* Not supported. */ } -void -_gdk_quartz_display_sync (GdkDisplay *display) -{ - /* Not supported. */ -} - -void -_gdk_quartz_display_flush (GdkDisplay *display) -{ - /* Not supported. */ -} gboolean _gdk_quartz_display_send_client_message (GdkDisplay *display, diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 43dd621e3b..b1ef443d00 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -46,52 +46,14 @@ extern GdkDragContext *_gdk_quartz_drag_source_context; #define GDK_WINDOW_IS_QUARTZ(win) (GDK_IS_WINDOW_IMPL_QUARTZ (((GdkWindow *)win)->impl)) /* Initialization */ -void _gdk_windowing_update_window_sizes (GdkScreen *screen); -void _gdk_windowing_window_init (void); +void _gdk_quartz_window_init_windowing (GdkDisplay *display, + GdkScreen *screen); void _gdk_quartz_events_init (void); -void _gdk_quartz_input_init (void); void _gdk_quartz_event_loop_init (void); -/* GC */ -typedef enum { - GDK_QUARTZ_CONTEXT_STROKE = 1 << 0, - GDK_QUARTZ_CONTEXT_FILL = 1 << 1, - GDK_QUARTZ_CONTEXT_TEXT = 1 << 2 -} GdkQuartzContextValuesMask; - /* Cursor */ NSCursor *_gdk_quartz_cursor_get_ns_cursor (GdkCursor *cursor); -/* Window */ -gboolean _gdk_quartz_window_is_ancestor (GdkWindow *ancestor, - GdkWindow *window); -void _gdk_quartz_window_gdk_xy_to_xy (gint gdk_x, - gint gdk_y, - gint *ns_x, - gint *ns_y); -void _gdk_quartz_window_xy_to_gdk_xy (gint ns_x, - gint ns_y, - gint *gdk_x, - gint *gdk_y); -void _gdk_quartz_window_nspoint_to_gdk_xy (NSPoint point, - gint *x, - gint *y); -GdkWindow *_gdk_quartz_window_find_child (GdkWindow *window, - gint x, - gint y, - gboolean get_toplevel); -void _gdk_quartz_window_attach_to_parent (GdkWindow *window); -void _gdk_quartz_window_detach_from_parent (GdkWindow *window); -void _gdk_quartz_window_did_become_main (GdkWindow *window); -void _gdk_quartz_window_did_resign_main (GdkWindow *window); -void _gdk_quartz_window_debug_highlight (GdkWindow *window, - gint number); - -void _gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, - cairo_region_t *region); - -void _gdk_quartz_window_update_position (GdkWindow *window); - /* Events */ typedef enum { GDK_QUARTZ_EVENT_SUBTYPE_EVENTLOOP @@ -114,9 +76,6 @@ GdkEventType _gdk_quartz_keys_event_type (NSEvent *event); gboolean _gdk_quartz_keys_is_modifier (guint keycode); /* Geometry */ -void _gdk_quartz_window_scroll (GdkWindow *window, - gint dx, - gint dy); void _gdk_quartz_window_translate (GdkWindow *window, cairo_region_t *area, gint dx, @@ -124,17 +83,35 @@ void _gdk_quartz_window_translate (GdkWindow *window, gboolean _gdk_quartz_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area); +/* Drag and Drop */ void _gdk_quartz_window_register_dnd (GdkWindow *window); GdkDragContext * _gdk_quartz_window_drag_begin (GdkWindow *window, GdkDevice *device, GList *targets); +/* Display */ -void _gdk_quartz_display_sync (GdkDisplay *display); -void _gdk_quartz_display_flush (GdkDisplay *display); +GdkDisplay * _gdk_quartz_display_open (const gchar *name); + +/* Display methods - events */ void _gdk_quartz_display_queue_events (GdkDisplay *display); gboolean _gdk_quartz_display_has_pending (GdkDisplay *display); +void _gdk_quartz_display_event_data_copy (GdkDisplay *display, + const GdkEvent *src, + GdkEvent *dst); +void _gdk_quartz_display_event_data_free (GdkDisplay *display, + GdkEvent *event); + +gboolean _gdk_quartz_display_send_client_message (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid); +void _gdk_quartz_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data); + +/* Display methods - cursor */ GdkCursor *_gdk_quartz_display_get_cursor_for_type (GdkDisplay *display, GdkCursorType type); GdkCursor *_gdk_quartz_display_get_cursor_for_name (GdkDisplay *display, @@ -151,13 +128,10 @@ void _gdk_quartz_display_get_default_cursor_size (GdkDisplay *display, void _gdk_quartz_display_get_maximal_cursor_size (GdkDisplay *display, guint *width, guint *height); + +/* Display methods - window */ void _gdk_quartz_display_before_process_all_updates (GdkDisplay *display); void _gdk_quartz_display_after_process_all_updates (GdkDisplay *display); -void _gdk_quartz_display_event_data_copy (GdkDisplay *display, - const GdkEvent *src, - GdkEvent *dst); -void _gdk_quartz_display_event_data_free (GdkDisplay *display, - GdkEvent *event); void _gdk_quartz_display_create_window_impl (GdkDisplay *display, GdkWindow *window, GdkWindow *real_parent, @@ -165,101 +139,17 @@ void _gdk_quartz_display_create_window_impl (GdkDisplay *display, GdkEventMask event_mask, GdkWindowAttr *attributes, gint attributes_mask); + +/* Display methods - keymap */ GdkKeymap * _gdk_quartz_display_get_keymap (GdkDisplay *display); - -GdkDisplay * _gdk_quartz_display_open (const gchar *name); - +/* Display methods - Drag and Drop */ GdkNativeWindow _gdk_quartz_display_get_drag_protocol (GdkDisplay *display, GdkNativeWindow xid, GdkDragProtocol *protocol, guint *version); - -gboolean _gdk_quartz_display_send_client_message (GdkDisplay *display, - GdkEvent *event, - GdkNativeWindow winid); -void _gdk_quartz_display_add_client_message_filter (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data); - -GdkVisual * _gdk_quartz_screen_get_rgba_visual (GdkScreen *screen); -GdkVisual * _gdk_quartz_screen_get_system_visual (GdkScreen *screen); -gint _gdk_quartz_screen_visual_get_best_depth (GdkScreen *screen); -GdkVisualType _gdk_quartz_screen_visual_get_best_type (GdkScreen *screen); -GdkVisual * _gdk_quartz_screen_get_system_visual (GdkScreen *screen); -GdkVisual* _gdk_quartz_screen_visual_get_best (GdkScreen *screen); -GdkVisual* _gdk_quartz_screen_visual_get_best_with_depth (GdkScreen *screen, - gint depth); -GdkVisual* _gdk_quartz_screen_visual_get_best_with_type (GdkScreen *screen, - GdkVisualType visual_type); -GdkVisual* _gdk_quartz_screen_visual_get_best_with_both (GdkScreen *screen, - gint depth, - GdkVisualType visual_type); -void _gdk_quartz_screen_query_depths (GdkScreen *screen, - gint **depths, - gint *count); -void _gdk_quartz_screen_query_visual_types (GdkScreen *screen, - GdkVisualType **visual_types, - gint *count); -void _gdk_quartz_screen_init_visuals (GdkScreen *screen); -GList * _gdk_quartz_screen_list_visuals (GdkScreen *screen); - - -void _gdk_quartz_screen_broadcast_client_message (GdkScreen *screen, - GdkEvent *event); -gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, - const gchar *name, - GValue *value); - -GdkScreen *_gdk_quartz_screen_new (void); - -GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, - const gchar *atom_name, - gboolean copy_name); -gchar * _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, - GdkAtom atom); - -void _gdk_quartz_display_manager_add_display (GdkDisplayManager *manager, - GdkDisplay *display); -void _gdk_quartz_display_manager_remove_display (GdkDisplayManager *manager, - GdkDisplay *display); - -void _gdk_quartz_window_sync_rendering (GdkWindow *window); -gboolean _gdk_quartz_window_simulate_key (GdkWindow *window, - gint x, - gint y, - guint keyval, - GdkModifierType modifiers, - GdkEventType key_pressrelease); -gboolean _gdk_quartz_window_simulate_button (GdkWindow *window, - gint x, - gint y, - guint button, - GdkModifierType modifiers, - GdkEventType button_pressrelease); - -gboolean _gdk_quartz_window_get_property (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gulong offset, - gulong length, - gint pdelete, - GdkAtom *actual_property_type, - gint *actual_format_type, - gint *actual_length, - guchar **data); -void _gdk_quartz_window_change_property (GdkWindow *window, - GdkAtom property, - GdkAtom type, - gint format, - GdkPropMode mode, - const guchar *data, - gint nelements); -void _gdk_quartz_window_delete_property (GdkWindow *window, - GdkAtom property); - +/* Display methods - selection */ gboolean _gdk_quartz_display_set_selection_owner (GdkDisplay *display, GdkWindow *owner, GdkAtom selection, @@ -293,4 +183,120 @@ gchar * _gdk_quartz_display_utf8_to_string_target (GdkDisplay *disp const gchar *str); +/* Display manager */ +void _gdk_quartz_display_manager_add_display (GdkDisplayManager *manager, + GdkDisplay *display); +void _gdk_quartz_display_manager_remove_display (GdkDisplayManager *manager, + GdkDisplay *display); + +/* Display manager methods - events */ +GdkAtom _gdk_quartz_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gboolean copy_name); +gchar * _gdk_quartz_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom); + +/* Screen */ +GdkScreen *_gdk_quartz_screen_new (void); +void _gdk_quartz_screen_update_window_sizes (GdkScreen *screen); + +/* Screen methods - visual */ +GdkVisual * _gdk_quartz_screen_get_rgba_visual (GdkScreen *screen); +GdkVisual * _gdk_quartz_screen_get_system_visual (GdkScreen *screen); +gint _gdk_quartz_screen_visual_get_best_depth (GdkScreen *screen); +GdkVisualType _gdk_quartz_screen_visual_get_best_type (GdkScreen *screen); +GdkVisual * _gdk_quartz_screen_get_system_visual (GdkScreen *screen); +GdkVisual* _gdk_quartz_screen_visual_get_best (GdkScreen *screen); +GdkVisual* _gdk_quartz_screen_visual_get_best_with_depth (GdkScreen *screen, + gint depth); +GdkVisual* _gdk_quartz_screen_visual_get_best_with_type (GdkScreen *screen, + GdkVisualType visual_type); +GdkVisual* _gdk_quartz_screen_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type); +void _gdk_quartz_screen_query_depths (GdkScreen *screen, + gint **depths, + gint *count); +void _gdk_quartz_screen_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count); +void _gdk_quartz_screen_init_visuals (GdkScreen *screen); +GList * _gdk_quartz_screen_list_visuals (GdkScreen *screen); + +/* Screen methods - events */ +void _gdk_quartz_screen_broadcast_client_message (GdkScreen *screen, + GdkEvent *event); +gboolean _gdk_quartz_screen_get_setting (GdkScreen *screen, + const gchar *name, + GValue *value); + + +/* Window */ +gboolean _gdk_quartz_window_is_ancestor (GdkWindow *ancestor, + GdkWindow *window); +void _gdk_quartz_window_gdk_xy_to_xy (gint gdk_x, + gint gdk_y, + gint *ns_x, + gint *ns_y); +void _gdk_quartz_window_xy_to_gdk_xy (gint ns_x, + gint ns_y, + gint *gdk_x, + gint *gdk_y); +void _gdk_quartz_window_nspoint_to_gdk_xy (NSPoint point, + gint *x, + gint *y); +GdkWindow *_gdk_quartz_window_find_child (GdkWindow *window, + gint x, + gint y, + gboolean get_toplevel); +void _gdk_quartz_window_attach_to_parent (GdkWindow *window); +void _gdk_quartz_window_detach_from_parent (GdkWindow *window); +void _gdk_quartz_window_did_become_main (GdkWindow *window); +void _gdk_quartz_window_did_resign_main (GdkWindow *window); +void _gdk_quartz_window_debug_highlight (GdkWindow *window, + gint number); + +void _gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, + cairo_region_t *region); + +void _gdk_quartz_window_update_position (GdkWindow *window); + + +/* Window methods - testing */ +void _gdk_quartz_window_sync_rendering (GdkWindow *window); +gboolean _gdk_quartz_window_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease); +gboolean _gdk_quartz_window_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, + GdkModifierType modifiers, + GdkEventType button_pressrelease); + +/* Window methods - property */ +gboolean _gdk_quartz_window_get_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data); +void _gdk_quartz_window_change_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements); +void _gdk_quartz_window_delete_property (GdkWindow *window, + GdkAtom property); + + #endif /* __GDK_PRIVATE_QUARTZ_H__ */ diff --git a/gdk/quartz/gdkscreen-quartz.c b/gdk/quartz/gdkscreen-quartz.c index 192fd970bf..678a947243 100644 --- a/gdk/quartz/gdkscreen-quartz.c +++ b/gdk/quartz/gdkscreen-quartz.c @@ -184,6 +184,36 @@ gdk_quartz_screen_calculate_layout (GdkQuartzScreen *screen) GDK_QUARTZ_RELEASE_POOL; } +void +_gdk_quartz_screen_update_window_sizes (GdkScreen *screen) +{ + GList *windows, *list; + + /* The size of the root window is so that it can contain all + * monitors attached to this machine. The monitors are laid out + * within this root window. We calculate the size of the root window + * and the positions of the different monitors in gdkscreen-quartz.c. + * + * This data is updated when the monitor configuration is changed. + */ + + /* FIXME: At some point, fetch the root window from GdkScreen. But + * on OS X will we only have a single root window anyway. + */ + _gdk_root->x = 0; + _gdk_root->y = 0; + _gdk_root->abs_x = 0; + _gdk_root->abs_y = 0; + _gdk_root->width = gdk_screen_get_width (screen); + _gdk_root->height = gdk_screen_get_height (screen); + + windows = gdk_screen_get_toplevel_windows (screen); + + for (list = windows; list; list = list->next) + _gdk_quartz_window_update_position (list->data); + + g_list_free (windows); +} static void process_display_reconfiguration (GdkQuartzScreen *screen) @@ -195,7 +225,7 @@ process_display_reconfiguration (GdkQuartzScreen *screen) gdk_quartz_screen_calculate_layout (GDK_QUARTZ_SCREEN (screen)); - _gdk_windowing_update_window_sizes (GDK_SCREEN (screen)); + _gdk_quartz_screen_update_window_sizes (GDK_SCREEN (screen)); if (screen->emit_monitors_changed) { diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index bdcc5a81b1..a9655b2947 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -1043,48 +1043,22 @@ _gdk_quartz_window_update_position (GdkWindow *window) } void -_gdk_windowing_update_window_sizes (GdkScreen *screen) -{ - GList *windows, *list; - - /* The size of the root window is so that it can contain all - * monitors attached to this machine. The monitors are laid out - * within this root window. We calculate the size of the root window - * and the positions of the different monitors in gdkscreen-quartz.c. - * - * This data is updated when the monitor configuration is changed. - */ - _gdk_root->x = 0; - _gdk_root->y = 0; - _gdk_root->abs_x = 0; - _gdk_root->abs_y = 0; - _gdk_root->width = gdk_screen_get_width (screen); - _gdk_root->height = gdk_screen_get_height (screen); - - windows = gdk_screen_get_toplevel_windows (screen); - - for (list = windows; list; list = list->next) - _gdk_quartz_window_update_position (list->data); - - g_list_free (windows); -} - -void -_gdk_windowing_window_init (void) +_gdk_quartz_window_init_windowing (GdkDisplay *display, + GdkScreen *screen) { GdkWindowImplQuartz *impl; g_assert (_gdk_root == NULL); - _gdk_root = _gdk_display_create_window (_gdk_display); + _gdk_root = _gdk_display_create_window (display); _gdk_root->impl = g_object_new (_gdk_root_window_impl_quartz_get_type (), NULL); _gdk_root->impl_window = _gdk_root; - _gdk_root->visual = gdk_screen_get_system_visual (_gdk_screen); + _gdk_root->visual = gdk_screen_get_system_visual (screen); impl = GDK_WINDOW_IMPL_QUARTZ (_gdk_root->impl); - _gdk_windowing_update_window_sizes (_gdk_screen); + _gdk_quartz_screen_update_window_sizes (screen); _gdk_root->state = 0; /* We don't want GDK_WINDOW_STATE_WITHDRAWN here */ _gdk_root->window_type = GDK_WINDOW_ROOT; From f0b8dcb4f3281ac8ee53fc75c68c6a02a620f7f1 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 14:11:38 +0100 Subject: [PATCH 0883/1463] quartz: move gdkgeometry-quartz into gdkwindow-quartz.c --- gdk/quartz/Makefile.am | 1 - gdk/quartz/gdkgeometry-quartz.c | 73 --------------------------------- gdk/quartz/gdkprivate-quartz.h | 8 ---- gdk/quartz/gdkwindow-quartz.c | 54 +++++++++++++++++++++++- 4 files changed, 52 insertions(+), 84 deletions(-) delete mode 100644 gdk/quartz/gdkgeometry-quartz.c diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index b9c5b464fa..33197e9d6f 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -32,7 +32,6 @@ libgdk_quartz_la_SOURCES = \ gdkdnd-quartz.h \ gdkevents-quartz.c \ gdkeventloop-quartz.c \ - gdkgeometry-quartz.c \ gdkglobals-quartz.c \ gdkkeys-quartz.c \ gdkprivate-quartz.h \ diff --git a/gdk/quartz/gdkgeometry-quartz.c b/gdk/quartz/gdkgeometry-quartz.c deleted file mode 100644 index 8434151405..0000000000 --- a/gdk/quartz/gdkgeometry-quartz.c +++ /dev/null @@ -1,73 +0,0 @@ -/* gdkgeometry-quartz.c - * - * Copyright (C) 2005 Imendio AB - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -#include "config.h" - -#include "gdkprivate-quartz.h" - -void -_gdk_quartz_window_translate (GdkWindow *window, - cairo_region_t *area, - gint dx, - gint dy) -{ - cairo_region_t *invalidate, *scrolled; - GdkWindowImplQuartz *impl = (GdkWindowImplQuartz *)window->impl; - GdkRectangle extents; - - cairo_region_get_extents (area, &extents); - - [impl->view scrollRect:NSMakeRect (extents.x - dx, extents.y - dy, - extents.width, extents.height) - by:NSMakeSize (dx, dy)]; - - if (impl->needs_display_region) - { - cairo_region_t *intersection; - - /* Invalidate already invalidated area that was moved at new - * location. - */ - intersection = cairo_region_copy (impl->needs_display_region); - cairo_region_intersect (intersection, area); - cairo_region_translate (intersection, dx, dy); - - _gdk_quartz_window_set_needs_display_in_region (window, intersection); - cairo_region_destroy (intersection); - } - - /* Calculate newly exposed area that needs invalidation */ - scrolled = cairo_region_copy (area); - cairo_region_translate (scrolled, dx, dy); - - invalidate = cairo_region_copy (area); - cairo_region_subtract (invalidate, scrolled); - cairo_region_destroy (scrolled); - - _gdk_quartz_window_set_needs_display_in_region (window, invalidate); - cairo_region_destroy (invalidate); -} - -gboolean -_gdk_quartz_window_queue_antiexpose (GdkWindow *window, - cairo_region_t *area) -{ - return FALSE; -} diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index b1ef443d00..74271987e5 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -75,14 +75,6 @@ void _gdk_quartz_event_loop_release_event (NSEvent *event); GdkEventType _gdk_quartz_keys_event_type (NSEvent *event); gboolean _gdk_quartz_keys_is_modifier (guint keycode); -/* Geometry */ -void _gdk_quartz_window_translate (GdkWindow *window, - cairo_region_t *area, - gint dx, - gint dy); -gboolean _gdk_quartz_window_queue_antiexpose (GdkWindow *window, - cairo_region_t *area); - /* Drag and Drop */ void _gdk_quartz_window_register_dnd (GdkWindow *window); GdkDragContext * _gdk_quartz_window_drag_begin (GdkWindow *window, diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index a9655b2947..6e0b8a2bfd 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -2220,6 +2220,56 @@ gdk_window_quartz_set_static_gravities (GdkWindow *window, return FALSE; } +static gboolean +gdk_quartz_window_queue_antiexpose (GdkWindow *window, + cairo_region_t *area) +{ + return FALSE; +} + +static void +gdk_quartz_window_translate (GdkWindow *window, + cairo_region_t *area, + gint dx, + gint dy) +{ + cairo_region_t *invalidate, *scrolled; + GdkWindowImplQuartz *impl = (GdkWindowImplQuartz *)window->impl; + GdkRectangle extents; + + cairo_region_get_extents (area, &extents); + + [impl->view scrollRect:NSMakeRect (extents.x - dx, extents.y - dy, + extents.width, extents.height) + by:NSMakeSize (dx, dy)]; + + if (impl->needs_display_region) + { + cairo_region_t *intersection; + + /* Invalidate already invalidated area that was moved at new + * location. + */ + intersection = cairo_region_copy (impl->needs_display_region); + cairo_region_intersect (intersection, area); + cairo_region_translate (intersection, dx, dy); + + _gdk_quartz_window_set_needs_display_in_region (window, intersection); + cairo_region_destroy (intersection); + } + + /* Calculate newly exposed area that needs invalidation */ + scrolled = cairo_region_copy (area); + cairo_region_translate (scrolled, dx, dy); + + invalidate = cairo_region_copy (area); + cairo_region_subtract (invalidate, scrolled); + cairo_region_destroy (scrolled); + + _gdk_quartz_window_set_needs_display_in_region (window, invalidate); + cairo_region_destroy (invalidate); +} + static void gdk_quartz_window_set_focus_on_map (GdkWindow *window, gboolean focus_on_map) @@ -2945,8 +2995,8 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass) impl_class->shape_combine_region = gdk_window_quartz_shape_combine_region; impl_class->input_shape_combine_region = gdk_window_quartz_input_shape_combine_region; impl_class->set_static_gravities = gdk_window_quartz_set_static_gravities; - impl_class->queue_antiexpose = _gdk_quartz_window_queue_antiexpose; - impl_class->translate = _gdk_quartz_window_translate; + impl_class->queue_antiexpose = gdk_quartz_window_queue_antiexpose; + impl_class->translate = gdk_quartz_window_translate; impl_class->destroy = gdk_quartz_window_destroy; impl_class->destroy_foreign = gdk_quartz_window_destroy_foreign; impl_class->resize_cairo_surface = gdk_window_quartz_resize_cairo_surface; From 374f8e22aaf0cb50e43c8a9a41916cae68fa3e0a Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 14:13:35 +0100 Subject: [PATCH 0884/1463] quartz: internalize _gdk_quartz_window_set_needs_display_in_region --- gdk/quartz/gdkprivate-quartz.h | 3 --- gdk/quartz/gdkwindow-quartz.c | 14 +++++++------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/gdk/quartz/gdkprivate-quartz.h b/gdk/quartz/gdkprivate-quartz.h index 74271987e5..44f186a425 100644 --- a/gdk/quartz/gdkprivate-quartz.h +++ b/gdk/quartz/gdkprivate-quartz.h @@ -248,9 +248,6 @@ void _gdk_quartz_window_did_resign_main (GdkWindow *window); void _gdk_quartz_window_debug_highlight (GdkWindow *window, gint number); -void _gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, - cairo_region_t *region); - void _gdk_quartz_window_update_position (GdkWindow *window); diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c index 6e0b8a2bfd..a6fc4ed22e 100644 --- a/gdk/quartz/gdkwindow-quartz.c +++ b/gdk/quartz/gdkwindow-quartz.c @@ -433,9 +433,9 @@ gdk_window_impl_quartz_end_paint (GdkPaintable *paintable) } } -void -_gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, - cairo_region_t *region) +static void +gdk_quartz_window_set_needs_display_in_region (GdkWindow *window, + cairo_region_t *region) { GdkWindowImplQuartz *impl; int i, n_rects; @@ -490,7 +490,7 @@ _gdk_quartz_window_process_updates_recurse (GdkWindow *window, } if (WINDOW_IS_TOPLEVEL (window)) - _gdk_quartz_window_set_needs_display_in_region (window, region); + gdk_quartz_window_set_needs_display_in_region (window, region); else _gdk_window_process_updates_recurse (window, region); @@ -1387,7 +1387,7 @@ move_resize_window_internal (GdkWindow *window, [impl->view setFrame:nsrect]; - _gdk_quartz_window_set_needs_display_in_region (window, expose_region); + gdk_quartz_window_set_needs_display_in_region (window, expose_region); } else { @@ -2254,7 +2254,7 @@ gdk_quartz_window_translate (GdkWindow *window, cairo_region_intersect (intersection, area); cairo_region_translate (intersection, dx, dy); - _gdk_quartz_window_set_needs_display_in_region (window, intersection); + gdk_quartz_window_set_needs_display_in_region (window, intersection); cairo_region_destroy (intersection); } @@ -2266,7 +2266,7 @@ gdk_quartz_window_translate (GdkWindow *window, cairo_region_subtract (invalidate, scrolled); cairo_region_destroy (scrolled); - _gdk_quartz_window_set_needs_display_in_region (window, invalidate); + gdk_quartz_window_set_needs_display_in_region (window, invalidate); cairo_region_destroy (invalidate); } From 1f9ce469061eb6a8b28f3dc66fb6743240850bdf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 10:06:08 -0500 Subject: [PATCH 0885/1463] Update keymap docs to match current behaviour An overlooked API change in the gdk-backend work: many of the keymap functions used to accept NULL to mean 'default keymap'. They no longer do, so update the docs to match the new behaviour. --- gdk/gdkkeys.c | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index 5b7ea78e5f..c992ef5ae1 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -299,7 +299,7 @@ gdk_keymap_get_default (void) /** * gdk_keymap_get_direction: - * @keymap: a #GdkKeymap or %NULL to use the default keymap + * @keymap: a #GdkKeymap * * Returns the direction of effective layout of the keymap. * @@ -315,7 +315,7 @@ gdk_keymap_get_direction (GdkKeymap *keymap) /** * gdk_keymap_have_bidi_layouts: - * @keymap: a #GdkKeymap or %NULL to use the default keymap + * @keymap: a #GdkKeymap * * Determines if keyboard layouts for both right-to-left and left-to-right * languages are in use. @@ -364,7 +364,7 @@ gdk_keymap_get_num_lock_state (GdkKeymap *keymap) /** * gdk_keymap_get_entries_for_keyval: - * @keymap: (allow-none): a #GdkKeymap, or %NULL to use the default keymap + * @keymap: a #GdkKeymap * @keyval: a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc. * @keys: (out): return location for an array of #GdkKeymapKey * @n_keys: (out): return location for number of elements in returned array @@ -394,7 +394,7 @@ gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, /** * gdk_keymap_get_entries_for_keycode: - * @keymap: (allow-none): a #GdkKeymap or %NULL to use the default keymap + * @keymap: a #GdkKeymap * @hardware_keycode: a keycode * @keys: (out): return location for array of #GdkKeymapKey, or %NULL * @keyvals: (out): return location for array of keyvals, or %NULL @@ -421,7 +421,7 @@ gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, /** * gdk_keymap_lookup_key: - * @keymap: a #GdkKeymap or %NULL to use the default keymap + * @keymap: a #GdkKeymap * @key: a #GdkKeymapKey with keycode, group, and level initialized * * Looks up the keyval mapped to a keycode/group/level triplet. @@ -441,21 +441,23 @@ gdk_keymap_lookup_key (GdkKeymap *keymap, /** * gdk_keymap_translate_keyboard_state: - * @keymap: (allow-none): a #GdkKeymap, or %NULL to use the default + * @keymap: a #GdkKeymap * @hardware_keycode: a keycode * @state: a modifier state * @group: active keyboard group * @keyval: (out) (allow-none): return location for keyval, or %NULL - * @effective_group: (out) (allow-none): return location for effective group, or %NULL - * @level: (out) (allow-none): return location for level, or %NULL - * @consumed_modifiers: (out) (allow-none): return location for modifiers that were used to - * determine the group or level, or %NULL + * @effective_group: (out) (allow-none): return location for effective + * group, or %NULL + * @level: (out) (allow-none): return location for level, or %NULL + * @consumed_modifiers: (out) (allow-none): return location for modifiers + * that were used to determine the group or level, or %NULL * * Translates the contents of a #GdkEventKey into a keyval, effective * group, and level. Modifiers that affected the translation and * are thus unavailable for application use are returned in - * @consumed_modifiers. See for an explanation of - * groups and levels. The @effective_group is the group that was + * @consumed_modifiers. + * See for an explanation of + * groups and levels. The @effective_group is the group that was * actually used for the translation; some keys such as Enter are not * affected by the active keyboard group. The @level is derived from * @state. For convenience, #GdkEventKey already contains the translated @@ -580,9 +582,10 @@ gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, /** * gdk_keyval_name: - * @keyval: a key value. + * @keyval: a key value * * Converts a key value into a symbolic name. + * * The names are the same as those in the * <gdk/gdkkeysyms.h> header file * but without the leading "GDK_KEY_". @@ -599,6 +602,19 @@ gdk_keyval_name (guint keyval) return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->get_keyval_name (manager, keyval); } +/** + * gdk_keyval_from_name: + * @keyval_name: a key name + * + * Converts a key name to a key value. + * + * The names are the same as those in the + * <gdk/gdkkeysyms.h> header file + * but without the leading "GDK_KEY_". + * + * Returns: the corresponding key value, or %GDK_KEY_VoidSymbol + * if the key name is not a valid key + */ guint gdk_keyval_from_name (const gchar *keyval_name) { From 3a6800a898d5fb48f0838ebb258a6c52257cd257 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 11:18:50 -0500 Subject: [PATCH 0886/1463] Some small doc corrections --- gtk/gtkwidget.c | 8 +++++--- gtk/gtkwindow.c | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 07f360c2fe..5b64d5ebd6 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7145,9 +7145,11 @@ gtk_widget_get_has_window (GtkWidget *widget) * gtk_widget_is_toplevel: * @widget: a #GtkWidget * - * Determines whether @widget is a toplevel widget. Currently only - * #GtkWindow and #GtkInvisible are toplevel widgets. Toplevel - * widgets have no parent widget. + * Determines whether @widget is a toplevel widget. + * + * Currently only #GtkWindow and #GtkInvisible (and out-of-process + * #GtkPlugs) are toplevel widgets. Toplevel widgets have no parent + * widget. * * Return value: %TRUE if @widget is a toplevel, %FALSE otherwise * diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 2723c42614..94d6bbfb61 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -3147,7 +3147,7 @@ gtk_window_set_geometry_hints (GtkWindow *window, * using this function, GTK+ will do its best to convince the window * manager not to decorate the window. Depending on the system, this * function may not have any effect when called on a window that is - * already visible, so you should call it before calling gtk_window_show(). + * already visible, so you should call it before calling gtk_widget_show(). * * On Windows, this function always works, since there's no window manager * policy involved. @@ -9482,7 +9482,7 @@ _gtk_window_set_is_active (GtkWindow *window, * _gtk_window_set_is_toplevel: * @window: a #GtkWindow * @is_toplevel: %TRUE if the window is still a real toplevel (nominally a - * parent of the root window); %FALSE if it is not (for example, for an + * child of the root window); %FALSE if it is not (for example, for an * in-process, parented GtkPlug) * * Internal function used by #GtkPlug when it gets parented/unparented by a From 26173c786449b74bd6bdd854cd973c37a84e3e25 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 14:38:03 +0100 Subject: [PATCH 0887/1463] Delimit the other_entries array --- tests/testverticalcells.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/testverticalcells.c b/tests/testverticalcells.c index e1a522d8d8..2f49022414 100644 --- a/tests/testverticalcells.c +++ b/tests/testverticalcells.c @@ -129,6 +129,7 @@ static TreeEntry other_entries[] = 99, NULL }, + { 0, }, }; static TreeEntry add_entries[] = From 31536736ea0fe25056689b9b7ccd914910281b37 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 18:19:11 +0100 Subject: [PATCH 0888/1463] Hide GtkTreeViewColumn buttons when header_window is not visible --- gtk/gtktreeview.c | 5 +++++ gtk/gtktreeviewcolumn.c | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index bce916aaa6..e9f64e23dd 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2128,6 +2128,9 @@ gtk_tree_view_map_buttons (GtkTreeView *tree_view) column = list->data; button = gtk_tree_view_column_get_button (column); + if (gtk_tree_view_column_get_visible (column) && button) + gtk_widget_show_now (button); + if (gtk_widget_get_visible (button) && !gtk_widget_get_mapped (button)) gtk_widget_map (button); @@ -11631,6 +11634,8 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, { column = list->data; button = gtk_tree_view_column_get_button (column); + + gtk_widget_hide (button); gtk_widget_unmap (button); } gdk_window_hide (tree_view->priv->header_window); diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 0147a4a8ca..43f592183f 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -987,7 +987,9 @@ gtk_tree_view_column_update_button (GtkTreeViewColumn *tree_column) { if (priv->visible) { - gtk_widget_show_now (priv->button); + if (gdk_window_is_visible (_gtk_tree_view_get_header_window (GTK_TREE_VIEW (priv->tree_view)))) + gtk_widget_show_now (priv->button); + if (priv->window) { if (priv->resizable) @@ -1327,9 +1329,6 @@ _gtk_tree_view_column_realize_button (GtkTreeViewColumn *column) g_return_if_fail (_gtk_tree_view_get_header_window (tree_view) != NULL); gtk_widget_set_parent_window (priv->button, _gtk_tree_view_get_header_window (tree_view)); - if (priv->visible) - gtk_widget_show (priv->button); - attr.window_type = GDK_WINDOW_CHILD; attr.wclass = GDK_INPUT_ONLY; attr.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view)); From 9ab2786991db56f49ec7eaff20118734c03470b2 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Thu, 23 Dec 2010 18:41:23 +0100 Subject: [PATCH 0889/1463] GtkCellRendererText: use PANGO_PIXELS_CEIL for text_width Usually pango_layout_get_pixel_extents() is used, which uses PANGO_PIXELS_CEIL on the rectangle's width. This commit makes the new function gtk_cell_renderer_text_get_preferred_width() consistent with this. This fixes rounding errors on Mac OS X, where we were seeing tree views with a double height for a single line of text, while the usual single row height would have been sufficient. --- gtk/gtkcellrenderertext.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index 2cff3a47c3..5f2c2c2f96 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -2157,19 +2157,19 @@ gtk_cell_renderer_text_get_preferred_width (GtkCellRenderer *cell, if ((priv->ellipsize_set && priv->ellipsize != PANGO_ELLIPSIZE_NONE) || priv->width_chars > 0) min_width = xpad * 2 + - MIN (PANGO_PIXELS (text_width), + MIN (PANGO_PIXELS_CEIL (text_width), (PANGO_PIXELS (char_width) * MAX (priv->width_chars, ellipsize_chars))); /* If no width-chars set, minimum for wrapping text will be the wrap-width */ else if (priv->wrap_width > -1) - min_width = xpad * 2 + rect.x + MIN (PANGO_PIXELS (text_width), priv->wrap_width); + min_width = xpad * 2 + rect.x + MIN (PANGO_PIXELS_CEIL (text_width), priv->wrap_width); else - min_width = xpad * 2 + rect.x + PANGO_PIXELS (text_width); + min_width = xpad * 2 + rect.x + PANGO_PIXELS_CEIL (text_width); if (priv->width_chars > 0) nat_width = xpad * 2 + - MAX ((PANGO_PIXELS (char_width) * priv->width_chars), PANGO_PIXELS (text_width)); + MAX ((PANGO_PIXELS (char_width) * priv->width_chars), PANGO_PIXELS_CEIL (text_width)); else - nat_width = xpad * 2 + PANGO_PIXELS (text_width); + nat_width = xpad * 2 + PANGO_PIXELS_CEIL (text_width); nat_width = MAX (nat_width, min_width); From 3e08a23237cc3dad23d1df34ac667ccd03ef4421 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 12:58:00 -0500 Subject: [PATCH 0890/1463] Drop long-obsolete linux framebuffer APIs The functions to set frames on windows stopped being interesting when the linux framebuffer port was dropped, many years ago. Similar functionality may come back with client-side decorations in the future. --- docs/reference/gtk/gtk3-sections.txt | 4 - gtk/gtk.symbols | 4 - gtk/gtkwindow.c | 439 +++------------------------ gtk/gtkwindow.h | 27 +- 4 files changed, 38 insertions(+), 436 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index b9e6387f01..32357c2e51 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5177,8 +5177,6 @@ gtk_window_begin_resize_drag gtk_window_begin_move_drag gtk_window_set_decorated gtk_window_set_deletable -gtk_window_set_frame_dimensions -gtk_window_set_has_frame gtk_window_set_mnemonic_modifier gtk_window_set_type_hint gtk_window_set_skip_taskbar_hint @@ -5194,8 +5192,6 @@ gtk_window_get_default_icon_list gtk_window_get_default_icon_name gtk_window_get_default_size gtk_window_get_destroy_with_parent -gtk_window_get_frame_dimensions -gtk_window_get_has_frame gtk_window_get_icon gtk_window_get_icon_list gtk_window_get_icon_name diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index ff655c745b..f1690d24ee 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3664,10 +3664,8 @@ gtk_window_get_deletable gtk_window_get_destroy_with_parent gtk_window_get_focus gtk_window_get_focus_on_map -gtk_window_get_frame_dimensions gtk_window_get_gravity gtk_window_get_group -gtk_window_get_has_frame gtk_window_get_has_resize_grip gtk_window_get_icon gtk_window_get_icon_list @@ -3733,10 +3731,8 @@ gtk_window_set_deletable gtk_window_set_destroy_with_parent gtk_window_set_focus gtk_window_set_focus_on_map -gtk_window_set_frame_dimensions gtk_window_set_geometry_hints gtk_window_set_gravity -gtk_window_set_has_frame gtk_window_set_has_resize_grip gtk_window_set_icon gtk_window_set_icon_from_file diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 94d6bbfb61..da8e0c7f45 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -110,7 +110,6 @@ struct _GtkWindowPrivate GdkModifierType mnemonic_modifier; GdkScreen *screen; - GdkWindow *frame; GdkWindowTypeHint gdk_type_hint; GtkApplication *application; @@ -125,10 +124,6 @@ struct _GtkWindowPrivate gchar *wmclass_name; gchar *wm_role; - guint frame_bottom; - guint frame_left; - guint frame_right; - guint frame_top; guint keys_changed_handler; guint16 configure_request_count; @@ -155,7 +150,6 @@ struct _GtkWindowPrivate guint gravity : 5; /* GdkGravity */ guint has_focus : 1; guint has_user_ref_count : 1; - guint has_frame : 1; guint has_toplevel_focus : 1; guint iconify_initially : 1; /* gtk_window_iconify() called before realization */ guint is_active : 1; @@ -323,12 +317,8 @@ static void gtk_window_realize (GtkWidget *widget); static void gtk_window_unrealize (GtkWidget *widget); static void gtk_window_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static gint gtk_window_event (GtkWidget *widget, - GdkEvent *event); static gboolean gtk_window_map_event (GtkWidget *widget, GdkEventAny *event); -static gboolean gtk_window_frame_event (GtkWindow *window, - GdkEvent *event); static gint gtk_window_configure_event (GtkWidget *widget, GdkEventConfigure *event); static gint gtk_window_key_press_event (GtkWidget *widget, @@ -599,7 +589,6 @@ gtk_window_class_init (GtkWindowClass *klass) container_class->check_resize = gtk_window_check_resize; klass->set_focus = gtk_window_real_set_focus; - klass->frame_event = gtk_window_frame_event; klass->activate_default = gtk_window_real_activate_default; klass->activate_focus = gtk_window_real_activate_focus; @@ -983,16 +972,6 @@ gtk_window_class_init (GtkWindowClass *klass) _gtk_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GTK_TYPE_WIDGET); - - window_signals[FRAME_EVENT] = - g_signal_new (I_("frame-event"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET(GtkWindowClass, frame_event), - _gtk_boolean_handled_accumulator, NULL, - _gtk_marshal_BOOLEAN__BOXED, - G_TYPE_BOOLEAN, 1, - GDK_TYPE_EVENT); /** * GtkWindow::activate-focus: @@ -1110,12 +1089,6 @@ gtk_window_init (GtkWindow *window) priv->need_default_size = TRUE; priv->need_default_position = TRUE; priv->modal = FALSE; - priv->frame = NULL; - priv->has_frame = FALSE; - priv->frame_left = 0; - priv->frame_right = 0; - priv->frame_top = 0; - priv->frame_bottom = 0; priv->gdk_type_hint = GDK_WINDOW_TYPE_HINT_NORMAL; priv->gravity = GDK_GRAVITY_NORTH_WEST; priv->decorated = TRUE; @@ -4335,15 +4308,7 @@ gtk_window_move (GtkWindow *window, * the same as the position being changed by the window * manager. */ - - /* FIXME are we handling gravity properly for framed windows? */ - if (priv->frame) - gdk_window_move (priv->frame, - x - priv->frame_left, - y - priv->frame_top); - else - gdk_window_move (gtk_widget_get_window (GTK_WIDGET (window)), - x, y); + gdk_window_move (gtk_widget_get_window (GTK_WIDGET (window)), x, y); } else { @@ -4448,10 +4413,7 @@ gtk_window_get_position (GtkWindow *window, if (gtk_widget_get_mapped (widget)) { - if (priv->frame) - gdk_window_get_frame_extents (priv->frame, &frame_extents); - else - gdk_window_get_frame_extents (gdk_window, &frame_extents); + gdk_window_get_frame_extents (gdk_window, &frame_extents); x = frame_extents.x; y = frame_extents.y; gtk_window_get_size (window, &w, &h); @@ -4460,7 +4422,7 @@ gtk_window_get_position (GtkWindow *window, { /* We just say the frame has 0 size on all sides. * Not sure what else to do. - */ + */ gtk_window_compute_configure_request (window, &frame_extents, NULL, NULL); @@ -4725,10 +4687,7 @@ gtk_window_map (GtkWidget *widget) !gtk_widget_get_mapped (child)) gtk_widget_map (child); - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gdk_window; + toplevel = gdk_window; if (priv->maximize_initially) gdk_window_maximize (toplevel); @@ -4771,9 +4730,6 @@ gtk_window_map (GtkWidget *widget) gdk_window_show (gdk_window); - if (priv->frame) - gdk_window_show (priv->frame); - if (priv->grip_window) gdk_window_show (priv->grip_window); @@ -4836,10 +4792,7 @@ gtk_window_unmap (GtkWidget *widget) gdk_window = gtk_widget_get_window (widget); gtk_widget_set_mapped (widget, FALSE); - if (priv->frame) - gdk_window_withdraw (priv->frame); - else - gdk_window_withdraw (gdk_window); + gdk_window_withdraw (gdk_window); priv->configure_request_count = 0; priv->configure_notify_received = FALSE; @@ -4927,57 +4880,15 @@ gtk_window_realize (GtkWidget *widget) g_warning (G_STRLOC": Unknown window type %d!", priv->type); break; } - + attributes.title = priv->title; attributes.wmclass_name = priv->wmclass_name; attributes.wmclass_class = priv->wmclass_class; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual (widget); - if (priv->has_frame) - { - gtk_widget_get_allocation (widget, &allocation); - attributes.width = allocation.width + priv->frame_left + priv->frame_right; - attributes.height = allocation.height + priv->frame_top + priv->frame_bottom; - attributes.event_mask = (GDK_EXPOSURE_MASK | - GDK_KEY_PRESS_MASK | - GDK_ENTER_NOTIFY_MASK | - GDK_LEAVE_NOTIFY_MASK | - GDK_FOCUS_CHANGE_MASK | - GDK_STRUCTURE_MASK | - GDK_BUTTON_MOTION_MASK | - GDK_POINTER_MOTION_HINT_MASK | - GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK); - - attributes_mask = GDK_WA_VISUAL; - - priv->frame = gdk_window_new (gtk_widget_get_root_window (widget), - &attributes, attributes_mask); - - if (priv->opacity_set) - gdk_window_set_opacity (priv->frame, priv->opacity); - - gdk_window_set_user_data (priv->frame, widget); - - attributes.window_type = GDK_WINDOW_CHILD; - attributes.x = priv->frame_left; - attributes.y = priv->frame_top; - - attributes_mask = GDK_WA_X | GDK_WA_Y; - - parent_window = priv->frame; - - g_signal_connect (window, - "event", - G_CALLBACK (gtk_window_event), - NULL); - } - else - { - attributes_mask = 0; - parent_window = gtk_widget_get_root_window (widget); - } + attributes_mask = 0; + parent_window = gtk_widget_get_root_window (widget); gtk_widget_get_allocation (widget, &allocation); attributes.width = allocation.width; @@ -4999,7 +4910,7 @@ gtk_window_realize (GtkWidget *widget) gdk_window = gdk_window_new (parent_window, &attributes, attributes_mask); gtk_widget_set_window (widget, gdk_window); - if (!priv->has_frame && priv->opacity_set) + if (priv->opacity_set) gdk_window_set_opacity (gdk_window, priv->opacity); gdk_window_enable_synchronized_configure (gdk_window); @@ -5010,8 +4921,6 @@ gtk_window_realize (GtkWidget *widget) context = gtk_widget_get_style_context (widget); gtk_style_context_set_background (context, gdk_window); - if (priv->frame) - gtk_style_context_set_background (context, priv->frame); if (priv->transient_parent && gtk_widget_get_realized (GTK_WIDGET (priv->transient_parent))) @@ -5093,13 +5002,6 @@ gtk_window_unrealize (GtkWidget *widget) info->last.flags = 0; } - if (priv->frame) - { - gdk_window_set_user_data (priv->frame, NULL); - gdk_window_destroy (priv->frame); - priv->frame = NULL; - } - /* Icons */ gtk_window_unrealize_icon (window); @@ -5294,74 +5196,11 @@ gtk_window_size_allocate (GtkWidget *widget, if (gtk_widget_get_realized (widget)) { - if (priv->frame) - gdk_window_resize (priv->frame, - allocation->width + priv->frame_left + priv->frame_right, - allocation->height + priv->frame_top + priv->frame_bottom); update_grip_visibility (window); set_grip_position (window); } } -static gint -gtk_window_event (GtkWidget *widget, GdkEvent *event) -{ - GtkWindow *window = GTK_WINDOW (widget); - GtkWindowPrivate *priv = window->priv; - gboolean return_val; - - if (priv->frame && (event->any.window == priv->frame)) - { - if ((event->type != GDK_KEY_PRESS) && - (event->type != GDK_KEY_RELEASE) && - (event->type != GDK_FOCUS_CHANGE)) - { - g_signal_stop_emission_by_name (widget, "event"); - return_val = FALSE; - g_signal_emit (widget, window_signals[FRAME_EVENT], 0, event, &return_val); - return TRUE; - } - else - { - g_object_unref (event->any.window); - event->any.window = g_object_ref (gtk_widget_get_window (widget)); - } - } - - return FALSE; -} - -static gboolean -gtk_window_frame_event (GtkWindow *window, GdkEvent *event) -{ - GtkWindowPrivate *priv = window->priv; - GdkEventConfigure *configure_event; - GdkRectangle rect; - - switch (event->type) - { - case GDK_CONFIGURE: - configure_event = (GdkEventConfigure *)event; - - /* Invalidate the decorations */ - rect.x = 0; - rect.y = 0; - rect.width = configure_event->width; - rect.height = configure_event->height; - - gdk_window_invalidate_rect (priv->frame, &rect, FALSE); - - /* Pass on the (modified) configure event */ - configure_event->width -= priv->frame_left + priv->frame_right; - configure_event->height -= priv->frame_top + priv->frame_bottom; - return gtk_window_configure_event (GTK_WIDGET (window), configure_event); - break; - default: - break; - } - return FALSE; -} - static gint gtk_window_configure_event (GtkWidget *widget, GdkEventConfigure *event) @@ -7069,31 +6908,16 @@ gtk_window_move_resize (GtkWindow *window) /* Now send the configure request */ if (configure_request_pos_changed) - { - if (priv->frame) - { - gdk_window_move_resize (priv->frame, - new_request.x - priv->frame_left, - new_request.y - priv->frame_top, - new_request.width + priv->frame_left + priv->frame_right, - new_request.height + priv->frame_top + priv->frame_bottom); - gdk_window_resize (gdk_window, - new_request.width, new_request.height); - } - else - gdk_window_move_resize (gdk_window, - new_request.x, new_request.y, - new_request.width, new_request.height); - } + { + gdk_window_move_resize (gdk_window, + new_request.x, new_request.y, + new_request.width, new_request.height); + } else /* only size changed */ - { - if (priv->frame) - gdk_window_resize (priv->frame, - new_request.width + priv->frame_left + priv->frame_right, - new_request.height + priv->frame_top + priv->frame_bottom); - gdk_window_resize (gdk_window, - new_request.width, new_request.height); - } + { + gdk_window_resize (gdk_window, + new_request.width, new_request.height); + } if (priv->type == GTK_WINDOW_POPUP) { @@ -7145,17 +6969,10 @@ gtk_window_move_resize (GtkWindow *window) /* Handle any position changes. */ if (configure_request_pos_changed) - { - if (priv->frame) - { - gdk_window_move (priv->frame, - new_request.x - priv->frame_left, - new_request.y - priv->frame_top); - } - else - gdk_window_move (gdk_window, - new_request.x, new_request.y); - } + { + gdk_window_move (gdk_window, + new_request.x, new_request.y); + } /* And run the resize queue. */ @@ -7476,116 +7293,6 @@ gtk_window_draw (GtkWidget *widget, return ret; } -/** - * gtk_window_set_has_frame: - * @window: a #GtkWindow - * @setting: a boolean - * - * (Note: this is a special-purpose function for the framebuffer port, - * that causes GTK+ to draw its own window border. For most applications, - * you want gtk_window_set_decorated() instead, which tells the window - * manager whether to draw the window border.) - * - * If this function is called on a window with setting of %TRUE, before - * it is realized or showed, it will have a "frame" window around - * @window->window, accessible in @window->frame. Using the signal - * frame_event you can receive all events targeted at the frame. - * - * This function is used by the linux-fb port to implement managed - * windows, but it could conceivably be used by X-programs that - * want to do their own window decorations. - * - **/ -void -gtk_window_set_has_frame (GtkWindow *window, - gboolean setting) -{ - GtkWindowPrivate *priv; - - g_return_if_fail (GTK_IS_WINDOW (window)); - g_return_if_fail (!gtk_widget_get_realized (GTK_WIDGET (window))); - - priv = window->priv; - - priv->has_frame = setting != FALSE; -} - -/** - * gtk_window_get_has_frame: - * @window: a #GtkWindow - * - * Accessor for whether the window has a frame window exterior to - * @window->window. Gets the value set by gtk_window_set_has_frame (). - * - * Return value: %TRUE if a frame has been added to the window - * via gtk_window_set_has_frame(). - **/ -gboolean -gtk_window_get_has_frame (GtkWindow *window) -{ - g_return_val_if_fail (GTK_IS_WINDOW (window), FALSE); - - return window->priv->has_frame; -} - -/** - * gtk_window_set_frame_dimensions: - * @window: a #GtkWindow that has a frame - * @left: The width of the left border - * @top: The height of the top border - * @right: The width of the right border - * @bottom: The height of the bottom border - * - * (Note: this is a special-purpose function intended for the framebuffer - * port; see gtk_window_set_has_frame(). It will have no effect on the - * window border drawn by the window manager, which is the normal - * case when using the X Window system.) - * - * For windows with frames (see gtk_window_set_has_frame()) this function - * can be used to change the size of the frame border. - **/ -void -gtk_window_set_frame_dimensions (GtkWindow *window, - gint left, - gint top, - gint right, - gint bottom) -{ - GtkWindowPrivate *priv; - GtkAllocation allocation; - GtkWidget *widget; - - g_return_if_fail (GTK_IS_WINDOW (window)); - - priv = window->priv; - widget = GTK_WIDGET (window); - - if (priv->frame_left == left && - priv->frame_top == top && - priv->frame_right == right && - priv->frame_bottom == bottom) - return; - - priv->frame_left = left; - priv->frame_top = top; - priv->frame_right = right; - priv->frame_bottom = bottom; - - if (gtk_widget_get_realized (widget) && priv->frame) - { - gint width, height; - gtk_widget_get_allocation (widget, &allocation); - - width = allocation.width + left + right; - height = allocation.height + top + bottom; - gdk_window_resize (priv->frame, width, height); - gdk_window_move_resize (gtk_widget_get_window (GTK_WIDGET (window)), - left, top, - allocation.width, - allocation.height); - } -} - /** * gtk_window_present: * @window: a #GtkWindow @@ -7700,10 +7407,7 @@ gtk_window_iconify (GtkWindow *window) priv->iconify_initially = TRUE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_iconify (toplevel); @@ -7736,10 +7440,7 @@ gtk_window_deiconify (GtkWindow *window) priv->iconify_initially = FALSE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_deiconify (toplevel); @@ -7777,10 +7478,7 @@ gtk_window_stick (GtkWindow *window) priv->stick_initially = TRUE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_stick (toplevel); @@ -7815,10 +7513,7 @@ gtk_window_unstick (GtkWindow *window) priv->stick_initially = FALSE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_unstick (toplevel); @@ -7858,10 +7553,7 @@ gtk_window_maximize (GtkWindow *window) priv->maximize_initially = TRUE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_maximize (toplevel); @@ -7896,10 +7588,7 @@ gtk_window_unmaximize (GtkWindow *window) priv->maximize_initially = FALSE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_unmaximize (toplevel); @@ -7936,10 +7625,7 @@ gtk_window_fullscreen (GtkWindow *window) priv->fullscreen_initially = TRUE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_fullscreen (toplevel); @@ -7976,10 +7662,7 @@ gtk_window_unfullscreen (GtkWindow *window) priv->fullscreen_initially = FALSE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_unfullscreen (toplevel); @@ -8030,10 +7713,7 @@ gtk_window_set_keep_above (GtkWindow *window, if (setting) priv->below_initially = FALSE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_set_keep_above (toplevel, setting); @@ -8084,10 +7764,7 @@ gtk_window_set_keep_below (GtkWindow *window, if (setting) priv->above_initially = FALSE; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); if (toplevel != NULL) gdk_window_set_keep_below (toplevel, setting); @@ -8227,10 +7904,7 @@ gtk_window_begin_resize_drag (GtkWindow *window, priv = window->priv; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); gdk_window_begin_resize_drag (toplevel, edge, button, @@ -8238,48 +7912,6 @@ gtk_window_begin_resize_drag (GtkWindow *window, timestamp); } -/** - * gtk_window_get_frame_dimensions: - * @window: a #GtkWindow - * @left: (out) (allow-none): location to store the width of the frame at the left, or %NULL - * @top: (out) (allow-none): location to store the height of the frame at the top, or %NULL - * @right: (out) (allow-none): location to store the width of the frame at the returns, or %NULL - * @bottom: (out) (allow-none): location to store the height of the frame at the bottom, or %NULL - * - * (Note: this is a special-purpose function intended for the - * framebuffer port; see gtk_window_set_has_frame(). It will not - * return the size of the window border drawn by the window manager, which is the normal - * case when using a windowing system. See - * gdk_window_get_frame_extents() to get the standard window border - * extents.) - * - * Retrieves the dimensions of the frame window for this toplevel. - * See gtk_window_set_has_frame(), gtk_window_set_frame_dimensions(). - **/ -void -gtk_window_get_frame_dimensions (GtkWindow *window, - gint *left, - gint *top, - gint *right, - gint *bottom) -{ - GtkWindowPrivate *priv; - - g_return_if_fail (GTK_IS_WINDOW (window)); - - priv = window->priv; - - if (left) - *left = priv->frame_left; - if (top) - *top = priv->frame_top; - if (right) - *right = priv->frame_right; - if (bottom) - *bottom = priv->frame_bottom; -} - /** * gtk_window_begin_move_drag: * @window: a #GtkWindow @@ -8313,10 +7945,7 @@ gtk_window_begin_move_drag (GtkWindow *window, priv = window->priv; - if (priv->frame) - toplevel = priv->frame; - else - toplevel = gtk_widget_get_window (widget); + toplevel = gtk_widget_get_window (widget); gdk_window_begin_move_drag (toplevel, button, diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index 81a979a6da..07309b2e7e 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -67,16 +67,13 @@ struct _GtkWindowClass GtkBinClass parent_class; void (* set_focus) (GtkWindow *window, - GtkWidget *focus); - gboolean (* frame_event) (GtkWindow *window, - GdkEvent *event); + GtkWidget *focus); /* G_SIGNAL_ACTION signals for keybindings */ - void (* activate_focus) (GtkWindow *window); - void (* activate_default) (GtkWindow *window); - - void (* keys_changed) (GtkWindow *window); + void (* activate_focus) (GtkWindow *window); + void (* activate_default) (GtkWindow *window); + void (* keys_changed) (GtkWindow *window); /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -190,22 +187,6 @@ GdkScreen* gtk_window_get_screen (GtkWindow *window); gboolean gtk_window_is_active (GtkWindow *window); gboolean gtk_window_has_toplevel_focus (GtkWindow *window); - - -/* gtk_window_set_has_frame () must be called before realizing the window_*/ -void gtk_window_set_has_frame (GtkWindow *window, - gboolean setting); -gboolean gtk_window_get_has_frame (GtkWindow *window); -void gtk_window_set_frame_dimensions (GtkWindow *window, - gint left, - gint top, - gint right, - gint bottom); -void gtk_window_get_frame_dimensions (GtkWindow *window, - gint *left, - gint *top, - gint *right, - gint *bottom); void gtk_window_set_decorated (GtkWindow *window, gboolean setting); gboolean gtk_window_get_decorated (GtkWindow *window); From 96d1c2c46e47b9ecb2704e07786912115691263d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 13:01:21 -0500 Subject: [PATCH 0891/1463] Reserve space for a pointer in GtkDrawingArea It was pointed out that this will let us add a private pointer without abi break in the future, should we ever need one. --- gtk/gtkdrawingarea.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkdrawingarea.h b/gtk/gtkdrawingarea.h index 553b9be97d..c40bc934a1 100644 --- a/gtk/gtkdrawingarea.h +++ b/gtk/gtkdrawingarea.h @@ -51,6 +51,9 @@ typedef struct _GtkDrawingAreaClass GtkDrawingAreaClass; struct _GtkDrawingArea { GtkWidget widget; + + /*< private >*/ + gpointer dummy; }; struct _GtkDrawingAreaClass From 4064a100f06889ec920aa36fff8f54ccfda1f8ab Mon Sep 17 00:00:00 2001 From: "Gheyret T.Kenji" Date: Thu, 23 Dec 2010 19:18:55 +0100 Subject: [PATCH 0892/1463] Added UG translation --- po/ug.po | 603 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 315 insertions(+), 288 deletions(-) diff --git a/po/ug.po b/po/ug.po index 65a512720e..2671be97e7 100644 --- a/po/ug.po +++ b/po/ug.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gtk+2.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-11-19 03:45+0000\n" +"POT-Creation-Date: 2010-12-22 04:25+0000\n" "PO-Revision-Date: 2010-08-02 01:02+0600\n" "Last-Translator: Sahran \n" "Language-Team: Uyghur Computer Science Association \n" @@ -20,58 +20,48 @@ msgstr "" "X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../gdk/gdk.c:115 +#: ../gdk/gdk.c:110 #, c-format msgid "Error parsing option --gdk-debug" msgstr "--gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" -#: ../gdk/gdk.c:135 +#: ../gdk/gdk.c:130 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "--gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:163 +#: ../gdk/gdk.c:158 msgid "Program class as used by the window manager" msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:159 msgid "CLASS" msgstr "تۈر" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:166 +#: ../gdk/gdk.c:161 msgid "Program name as used by the window manager" msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:162 msgid "NAME" msgstr "ئاتى" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:169 +#: ../gdk/gdk.c:164 msgid "X display to use" msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:170 +#: ../gdk/gdk.c:165 msgid "DISPLAY" msgstr "كۆرسەت" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:172 -msgid "X screen to use" -msgstr "ئىشلەتكەن X ئېكران" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:173 -msgid "SCREEN" -msgstr "ئېكران" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:176 +#: ../gdk/gdk.c:168 msgid "GDK debugging flags to set" msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" @@ -79,12 +69,12 @@ msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:525 ../gtk/gtkmain.c:528 +#: ../gdk/gdk.c:169 ../gdk/gdk.c:172 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 msgid "FLAGS" msgstr "بەلگە" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:179 +#: ../gdk/gdk.c:171 msgid "GDK debugging flags to unset" msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" @@ -131,7 +121,7 @@ msgstr "Multikey(_K)" #: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" -msgstr "Home" +msgstr "ماكان" #: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" @@ -303,79 +293,79 @@ msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" msgid "COLORS" msgstr "رەڭ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "%s قوزغىلىۋاتىدۇ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "%s نى ئېچىۋاتىدۇ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "X نى قەدەمداش قىلىپ ئىشلەت" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "ئىجازەتنامە" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:740 msgid "C_redits" msgstr "تەشەككۈر(_R)" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:753 msgid "_License" msgstr "ئىجازەت(_L)" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:958 msgid "Could not show link" msgstr "ئۇلانمىنى كۆرسىتەلمىدى" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:995 +#| msgctxt "keyboard label" +#| msgid "Home" +msgid "Homepage" +msgstr "باش بەت" + +#: ../gtk/gtkaboutdialog.c:1049 #, c-format msgid "About %s" msgstr "%s ھەققىدە" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "تەشەككۈر" +#: ../gtk/gtkaboutdialog.c:2366 +#| msgid "C_reate" +msgid "Created by" +msgstr "قۇرغۇچى" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "يازغۇچى" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2369 msgid "Documented by" msgstr "پۈتۈكچى" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2381 msgid "Translated by" msgstr "تەرجىمان" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Artwork by" msgstr "گۈزەل سەنئەت تەھرىرى" @@ -442,7 +432,7 @@ msgstr "Meta" #: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" -msgstr "Space" +msgstr "بوشلۇق" #: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" @@ -479,7 +469,7 @@ msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:882 msgid "calendar:MY" msgstr "calendar:MY" @@ -487,7 +477,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:920 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -496,7 +486,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1900 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -511,7 +501,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -527,7 +517,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -543,7 +533,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2253 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -579,128 +569,128 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "رەڭ ئال" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "ئىناۋەتسىز رەڭ سانلىق-مەلۇماتى تاپشۇرۇۋالدى\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." msgstr "سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ كۈچلۈكلۈكىنى تاللاڭ." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "رەڭ تەڭشەش(_H):" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "رەڭ ھالقىسىدىكى ئورنى" -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "تويۇنۇش دەرىجىسى(_S):" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "رەڭ يورۇقلۇق دەرىجىسى." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "قىممىتى(_V):" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "رەڭ يورۇقلۇقى." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "قىزىل(_R):" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "يېشىل(_G):" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "كۆك(_B):" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "سۈزۈكلۈك(_A):" -#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "رەڭ سۈزۈكلۈكى." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "رەڭ ئاتى(_N):" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." msgstr "سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "رەڭ تاختىسى(_P):" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "رەڭ ھالقىسى" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " "current by dragging it to the other color swatch alongside." msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى رەڭ تاللاش تاختىسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." msgstr "سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "سىز تاللىغان رەڭ." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "رەڭنى بۇ جايغا ساقلا(_S)" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -721,7 +711,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" @@ -774,23 +764,23 @@ msgstr "ئوڭ(_R):" msgid "Paper Margins" msgstr "قەغەز يان ئارىلىقى" -#: ../gtk/gtkentry.c:8630 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "كىرگۈزگۈچ(_M)" -#: ../gtk/gtkentry.c:8644 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" -#: ../gtk/gtkentry.c:10044 +#: ../gtk/gtkentry.c:10227 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock ۋە Num Lock ئوچۇق" -#: ../gtk/gtkentry.c:10046 +#: ../gtk/gtkentry.c:10229 msgid "Num Lock is on" msgstr "Num Lock ئوچۇق" -#: ../gtk/gtkentry.c:10048 +#: ../gtk/gtkentry.c:10231 msgid "Caps Lock is on" msgstr "Caps Lock ئوچۇق" @@ -803,7 +793,7 @@ msgstr "ھۆججەت تاللاڭ" #: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" -msgstr "ئۈستەليۈزى" +msgstr "ئۈستەلئۈستى" #: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" @@ -866,7 +856,7 @@ msgstr "%2$s ئۈستىدىكى %1$s" msgid "Search" msgstr "ئىزدە" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "يېقىندا ئىشلەتكەن" @@ -899,172 +889,172 @@ msgstr "'%s' خەتكۈچنى چىقىرىۋەت" msgid "Bookmark '%s' cannot be removed" msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "چىقىرىۋەت" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "ئات ئۆزگەرت…" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "ئورۇن" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "ئورۇن(_P)" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "قوش(_A)" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "ئۆچۈر(_R)" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "ھۆججەت تاللىيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "خەتكۈچكە قوش(_A)" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "چوڭلۇق ئىستونىنى كۆرسەت(_S)" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "ھۆججەتلەر" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "ئاتى" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "چوڭلۇقى" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "ئۆزگەرتكەن" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "ئاتى(_N):" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "قىسقۇچ قۇر(_L)" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "ئورنى(_L):" -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "قىسقۇچقا ساقلا(_F):" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "قىسقۇچتا قۇر(_F):" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "نامەلۇم" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "ئەتە %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" -#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "%s قىسقا يول مەۋجۇت" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "%s قىسقا يول مەۋجۇت ئەمەس" -#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" -#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت ئاللىبۇرۇن" -#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "ئالماشتۇر(_R)" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "ئىزدىگۈچنى قوزغىتالمىدى" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "ئىزدە:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "%s نى ئېگەرلىگىلى بولمىدى" @@ -1183,7 +1173,7 @@ msgstr "خەت نۇسخا تاللاش" msgid "Error loading icon: %s" msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1351 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1193,12 +1183,12 @@ msgid "" msgstr "'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" "%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1532 #, c-format msgid "Icon '%s' not present in theme" msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3053 msgid "Failed to load icon" msgstr "سىنبەلگە يۈكلىيەلمىدى" @@ -1223,12 +1213,12 @@ msgid "System (%s)" msgstr "سىستېما(%s)" #. Open Link -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6249 msgid "_Open Link" msgstr "ئۇلانما ئاچ(_O)" #. Copy Link Address -#: ../gtk/gtklabel.c:6226 +#: ../gtk/gtklabel.c:6261 msgid "Copy _Link Address" msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" @@ -1241,27 +1231,27 @@ msgid "Invalid URI" msgstr "ئىناۋەتسىز URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:515 msgid "Load additional GTK+ modules" msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:516 msgid "MODULES" msgstr "بۆلەك" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:518 msgid "Make all warnings fatal" msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:521 msgid "GTK+ debugging flags to set" msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:524 msgid "GTK+ debugging flags to unset" msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" @@ -1270,20 +1260,20 @@ msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:790 +#: ../gtk/gtkmain.c:787 msgid "default:LTR" msgstr "default:RTL" -#: ../gtk/gtkmain.c:855 +#: ../gtk/gtkmain.c:851 #, c-format msgid "Cannot open display: %s" msgstr "ئېكران ئېچىلمىدى: (%s)" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:915 msgid "GTK+ Options" msgstr "GTK+ تاللانما" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:915 msgid "Show GTK+ Options" msgstr "GTK+ تاللانما كۆرسەت" @@ -1367,7 +1357,7 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "PID %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" -#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4914 ../gtk/gtknotebook.c:7571 #, c-format msgid "Page %u" msgstr "%u-بەت" @@ -1399,7 +1389,7 @@ msgstr "يان ئارىلىقى:\n" " ئۈستى: %s %s\n" " ئاستى: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "ئىختىيارى چوڭلۇق باشقۇر…" @@ -1407,7 +1397,7 @@ msgstr "ئىختىيارى چوڭلۇق باشقۇر…" msgid "_Format for:" msgstr "فورمات(_F):" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "قەغەز چوڭلۇقى(_P):" @@ -1415,7 +1405,7 @@ msgstr "قەغەز چوڭلۇقى(_P):" msgid "_Orientation:" msgstr "يۆنىلىش(_O):" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "بەت تەڭشەك" @@ -1523,11 +1513,11 @@ msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق msgid "The most probable reason is that a temporary file could not be created." msgstr "مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "پروگرامما" @@ -1594,71 +1584,71 @@ msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" msgid "Getting printer information..." msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "پرىنتېر" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "ئورنى" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "ھالىتى" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "دائىرىسى" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "ھەممە بەت(_A)" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "نۆۋەتتىكى بەت(_U)" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "تاللا(_L)" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "بەتلەر(_E):" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" msgstr "بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" "مەسىلەن: 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "بەتلەر" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "نۇسخا" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "نۇسخا سانى(_S):" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "رەت بويىچە(_O)" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "ئەكسىچە(_R)" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" -msgstr "ئادەتتە" +msgstr "ئادەتتىكى" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) @@ -1666,42 +1656,42 @@ msgstr "ئادەتتە" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" -#: ../gtk/gtkprintunixdialog.c:3024 +#: ../gtk/gtkprintunixdialog.c:3025 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" -#: ../gtk/gtkprintunixdialog.c:3025 +#: ../gtk/gtkprintunixdialog.c:3026 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3027 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3028 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" @@ -1709,125 +1699,125 @@ msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 +#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "بەت تەرتىپى" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "سولدىن ئوڭغا" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "ئوڭدىن سولغا" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "ئۈستىدىن ئاستىغا" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "ئاستىدىن ئۈستىگە" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "ئۇسلۇب" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "قوش يۈزلۈك(_W):" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "بەت تەرتىپى(_D):" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "بېسىشلا(_O):" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "ھەممە ۋاراقلار" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "تاق ۋاراقلار" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "جۈپ ۋاراقلار" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "نىسبەت(_A):" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "قەغەز" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "قەغەز تىپى(_T):" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "قەغەز مەنبەسى(_S):" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "قەغەز قۇتىسى(_R):" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "يۆنىلىش(_I):" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "بوي يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "توغرا يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "تەتۈر بوي يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "تەتۈر توغرا يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "ۋەزىپە تەپسىلاتى" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "ئالدىنلىق(_O):" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "پۈتۈك باس" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "دەرھال(_N)" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "دە(_T):" @@ -1835,84 +1825,79 @@ msgstr "دە(_T):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" msgstr "بېسىش ۋاقتى بەلگىلىنىدۇ،\n" " مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "بېسىش ۋاقتى" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "كۈت(_H)" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "مۇقاۋا بەت قوش" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "ئالدى(_F):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "كەينى(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "ۋەزىپە" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "ئالىي" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "سۈرەت سۈپىتى" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "رەڭ" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "تامام" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "سۆزلەشكۈ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "باس" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" - -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:947 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "پىكسېل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" @@ -2021,12 +2006,12 @@ msgstr "URI '%s' تۈر تېپىلمىدى" msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "مىكرو تەڭشەك" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" @@ -2162,7 +2147,7 @@ msgstr "يۇمشاق دىسكا(_F)" #: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" -msgstr "تولۇق ئېكران(_F)" +msgstr "تولۇق ئېكران( _F)" #: ../gtk/gtkstock.c:343 msgctxt "Stock label" @@ -2197,7 +2182,7 @@ msgstr "بېشى(_T)" #: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" -msgstr "كەينىگە(_B)" +msgstr "كەينى(_B)" #. This is a navigation label as in "go down" #: ../gtk/gtkstock.c:355 @@ -2209,7 +2194,7 @@ msgstr "ئاستىغا(_D)" #: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" -msgstr "ئالدىغا(_F)" +msgstr "ئالدىنقى(_F)" #. This is a navigation label as in "go up" #: ../gtk/gtkstock.c:359 @@ -2290,7 +2275,7 @@ msgstr "ئوڭ(_R)" #: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" -msgstr "ئالدىغا(_F)" +msgstr "ئالدىنقى(_F)" #. Media label, as in "next song" #: ../gtk/gtkstock.c:381 @@ -2332,7 +2317,7 @@ msgstr "تېز چېكىن(_E)" #: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" -msgstr "توختا(_S)" +msgstr "توختا (&S)" #: ../gtk/gtkstock.c:394 msgctxt "Stock label" @@ -2483,7 +2468,7 @@ msgstr "ئىملا تەكشۈر(_S)" #: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" -msgstr "توختا(_S)" +msgstr "توختا (&S)" #. Font variant #: ../gtk/gtkstock.c:430 @@ -2516,7 +2501,7 @@ msgstr "ھەئە(_Y)" #: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" -msgstr "ئەسلى چوڭلۇقى(_N)" +msgstr "ئادەتتىكى چوڭلۇقى(_N)" #. Zoom #: ../gtk/gtkstock.c:439 @@ -2534,6 +2519,33 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "كىچىكلەت(_O)" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +msgctxt "switch" +msgid "ON" +msgstr "" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +msgctxt "switch" +msgid "OFF" +msgstr "" + +#: ../gtk/gtkswitch.c:943 +#| msgid "inch" +msgctxt "light switch widget" +msgid "Switch" +msgstr "ئالماشتۇرغۇچ" + +#: ../gtk/gtkswitch.c:944 +msgid "Switches between on and off states" +msgstr "" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2544,106 +2556,106 @@ msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى msgid "No deserialize function found for format %s" msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" -#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" -#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:851 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s> ئېلېمېنتنىڭ ID سى «%s» ئىناۋەتسىز" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى" -#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "“%s” بەلگە ئېنىقلانمىغان." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." -#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا ئىشلىتىلىدۇ" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "\"%s\" بەلگە ئېنىقلاندى" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "تېكىستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" -#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> ئېلېمېنت بەلگىلەندى" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" -#: ../gtk/gtktextbufferserialize.c:1796 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" -#: ../gtk/gtktextbufferserialize.c:1874 +#: ../gtk/gtktextbufferserialize.c:1870 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى GTKTEXTBUFFERCONTENTS-0001" @@ -2707,39 +2719,39 @@ msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار msgid "Empty" msgstr "بوش" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" -msgstr "قىممەت" +msgstr "دىسكا" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "ئاۋاز تەڭشىكى" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "ئاۋازنى تۆۋەنلىتىش" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "ئاۋازنى كېمەيت" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "ئاۋازنى يۇقىرىلىتىش" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "ئاۋازنى ئاشۇر" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "ئۈنسىز" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "ئەڭ يۇقىرى ئاۋاز" @@ -2748,7 +2760,7 @@ msgstr "ئەڭ يۇقىرى ئاۋاز" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3599,81 +3611,81 @@ msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" msgid "Failed to rewrite header\n" msgstr "بېشىغا قايتا يازالمىدى\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "مەۋجۇت index.theme نى تەكشۈرمە" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "C باش ھۆججەتنى چىقار" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "تەپسىلىي چىقىرىشنى ياپ" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "مەۋجۇت سىنبەلگە غەملىكىنى دەلىللە" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "ھۆججەتنى تاپالمىدى: %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3977,7 +3989,7 @@ msgstr "جىددىي" #: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" -msgstr "ئېگىز" +msgstr "يۇقىرى" #: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" @@ -4176,6 +4188,24 @@ msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" +#~ msgid "X screen to use" +#~ msgstr "ئىشلەتكەن X ئېكران" + +#~ msgid "SCREEN" +#~ msgstr "ئېكران" + +#~ msgid "Make X calls synchronous" +#~ msgstr "X نى قەدەمداش قىلىپ ئىشلەت" + +#~ msgid "Credits" +#~ msgstr "تەشەككۈر" + +#~ msgid "Written by" +#~ msgstr "يازغۇچى" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" + #~ msgid "Error creating folder '%s': %s" #~ msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" @@ -4874,9 +4904,6 @@ msgstr "'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق #~ msgid "_Folder name:" #~ msgstr "قىسقۇچ ئاتى(_F):" -#~ msgid "C_reate" -#~ msgstr "قۇر(_R)" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە بار" From 80b534561b7ff7a309d02e78a820217067fafbe9 Mon Sep 17 00:00:00 2001 From: "Gheyret T.Kenji" Date: Thu, 23 Dec 2010 20:11:32 +0100 Subject: [PATCH 0893/1463] Added UG translation --- po/ug.po | 11530 +++++++++++++++++++++++++++++++---------------------- 1 file changed, 6808 insertions(+), 4722 deletions(-) diff --git a/po/ug.po b/po/ug.po index 2671be97e7..befdc8a4ba 100644 --- a/po/ug.po +++ b/po/ug.po @@ -1,15 +1,14 @@ -# Uighur translation for gtk+2.0 -# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 -# This file is distributed under the same license as the gtk+2.0 package. -# Ömerjan Tursunqasim , 2008. -# Sahran , 2010 +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Sahran ,2010 # msgid "" msgstr "" "Project-Id-Version: gtk+2.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" "POT-Creation-Date: 2010-12-22 04:25+0000\n" -"PO-Revision-Date: 2010-08-02 01:02+0600\n" +"PO-Revision-Date: 2010-09-21 04:09+0800\n" "Last-Translator: Sahran \n" "Language-Team: Uyghur Computer Science Association \n" "MIME-Version: 1.0\n" @@ -17,5011 +16,7098 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Language: \n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" -"X-Generator: Launchpad (build Unknown)\n" +"X-Poedit-Language: Uighur\n" +"X-Poedit-SourceCharset: utf-8\n" -#: ../gdk/gdk.c:110 -#, c-format -msgid "Error parsing option --gdk-debug" -msgstr "--gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" - -#: ../gdk/gdk.c:130 -#, c-format -msgid "Error parsing option --gdk-no-debug" -msgstr "--gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" - -#. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:158 -msgid "Program class as used by the window manager" -msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" - -#. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:159 -msgid "CLASS" -msgstr "تۈر" - -#. Description of --name=NAME in --help output -#: ../gdk/gdk.c:161 -msgid "Program name as used by the window manager" -msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" - -#. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:162 -msgid "NAME" -msgstr "ئاتى" - -#. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:164 -msgid "X display to use" -msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" - -#. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:165 -msgid "DISPLAY" -msgstr "كۆرسەت" - -#. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:168 -msgid "GDK debugging flags to set" -msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" - -#. Placeholder in --gdk-debug=FLAGS in --help output -#. Placeholder in --gdk-no-debug=FLAGS in --help output -#. Placeholder in --gtk-debug=FLAGS in --help output -#. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:169 ../gdk/gdk.c:172 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 -msgid "FLAGS" -msgstr "بەلگە" - -#. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:171 -msgid "GDK debugging flags to unset" -msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" - -#: ../gdk/keyname-table.h:3940 -msgctxt "keyboard label" -msgid "BackSpace" -msgstr "چېكىنىش كۇنۇپكىسى" - -#: ../gdk/keyname-table.h:3941 -msgctxt "keyboard label" -msgid "Tab" -msgstr "Tab" - -#: ../gdk/keyname-table.h:3942 -msgctxt "keyboard label" -msgid "Return" -msgstr "Return" - -#: ../gdk/keyname-table.h:3943 -msgctxt "keyboard label" -msgid "Pause" -msgstr "ۋاقىتلىق توختاش" - -#: ../gdk/keyname-table.h:3944 -msgctxt "keyboard label" -msgid "Scroll_Lock" -msgstr "Scroll_Lock" - -#: ../gdk/keyname-table.h:3945 -msgctxt "keyboard label" -msgid "Sys_Req" -msgstr "Sys_Req" - -#: ../gdk/keyname-table.h:3946 -msgctxt "keyboard label" -msgid "Escape" -msgstr "Escape" - -#: ../gdk/keyname-table.h:3947 -msgctxt "keyboard label" -msgid "Multi_key" -msgstr "Multikey(_K)" - -#: ../gdk/keyname-table.h:3948 -msgctxt "keyboard label" -msgid "Home" -msgstr "ماكان" - -#: ../gdk/keyname-table.h:3949 -msgctxt "keyboard label" -msgid "Left" -msgstr "سول" - -#: ../gdk/keyname-table.h:3950 -msgctxt "keyboard label" -msgid "Up" -msgstr "يۇقىرى" - -#: ../gdk/keyname-table.h:3951 -msgctxt "keyboard label" -msgid "Right" -msgstr "ئوڭ" - -#: ../gdk/keyname-table.h:3952 -msgctxt "keyboard label" -msgid "Down" -msgstr "تۆۋەن" - -#: ../gdk/keyname-table.h:3953 -msgctxt "keyboard label" -msgid "Page_Up" -msgstr "Page_Up" - -#: ../gdk/keyname-table.h:3954 -msgctxt "keyboard label" -msgid "Page_Down" -msgstr "Page_Down" - -#: ../gdk/keyname-table.h:3955 -msgctxt "keyboard label" -msgid "End" -msgstr "تامام" - -#: ../gdk/keyname-table.h:3956 -msgctxt "keyboard label" -msgid "Begin" -msgstr "باشلا" - -#: ../gdk/keyname-table.h:3957 -msgctxt "keyboard label" -msgid "Print" -msgstr "باس" - -#: ../gdk/keyname-table.h:3958 -msgctxt "keyboard label" -msgid "Insert" -msgstr "قىستۇر" - -#: ../gdk/keyname-table.h:3959 -msgctxt "keyboard label" -msgid "Num_Lock" -msgstr "Num_Lock" - -#: ../gdk/keyname-table.h:3960 -msgctxt "keyboard label" -msgid "KP_Space" -msgstr "KP_Space" - -#: ../gdk/keyname-table.h:3961 -msgctxt "keyboard label" -msgid "KP_Tab" -msgstr "KP_Tab" - -#: ../gdk/keyname-table.h:3962 -msgctxt "keyboard label" -msgid "KP_Enter" -msgstr "KP_Enter" - -#: ../gdk/keyname-table.h:3963 -msgctxt "keyboard label" -msgid "KP_Home" -msgstr "KP_Home" - -#: ../gdk/keyname-table.h:3964 -msgctxt "keyboard label" -msgid "KP_Left" -msgstr "KP_Left" - -#: ../gdk/keyname-table.h:3965 -msgctxt "keyboard label" -msgid "KP_Up" -msgstr "KP_Up" - -#: ../gdk/keyname-table.h:3966 -msgctxt "keyboard label" -msgid "KP_Right" -msgstr "KP_Right" - -#: ../gdk/keyname-table.h:3967 -msgctxt "keyboard label" -msgid "KP_Down" -msgstr "KP_Down" - -#: ../gdk/keyname-table.h:3968 -msgctxt "keyboard label" -msgid "KP_Page_Up" -msgstr "KP_Page_Up" - -#: ../gdk/keyname-table.h:3969 -msgctxt "keyboard label" -msgid "KP_Prior" -msgstr "KP_Prior" - -#: ../gdk/keyname-table.h:3970 -msgctxt "keyboard label" -msgid "KP_Page_Down" -msgstr "KP_Page_Down" - -#: ../gdk/keyname-table.h:3971 -msgctxt "keyboard label" -msgid "KP_Next" -msgstr "KP_Next" - -#: ../gdk/keyname-table.h:3972 -msgctxt "keyboard label" -msgid "KP_End" -msgstr "KP_End" - -#: ../gdk/keyname-table.h:3973 -msgctxt "keyboard label" -msgid "KP_Begin" -msgstr "KP_Begin" - -#: ../gdk/keyname-table.h:3974 -msgctxt "keyboard label" -msgid "KP_Insert" -msgstr "KP_Insert" - -#: ../gdk/keyname-table.h:3975 -msgctxt "keyboard label" -msgid "KP_Delete" -msgstr "KP_Delete" - -#: ../gdk/keyname-table.h:3976 -msgctxt "keyboard label" -msgid "Delete" -msgstr "ئۆچۈر" - -#. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 -msgid "Don't batch GDI requests" -msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ" - -#. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 -msgid "Don't use the Wintab API for tablet support" -msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ" - -#. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 -msgid "Same as --no-wintab" -msgstr "--no-wintab بىلەن ئوخشاش" - -#. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 -msgid "Do use the Wintab API [default]" -msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]" - -#. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 -msgid "Size of the palette in 8 bit mode" -msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" - -#. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 -msgid "COLORS" -msgstr "رەڭ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 -#, c-format -msgid "Starting %s" -msgstr "%s قوزغىلىۋاتىدۇ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 -#, c-format -msgid "Opening %s" -msgstr "%s نى ئېچىۋاتىدۇ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 -#, c-format -msgid "Opening %d Item" -msgid_plural "Opening %d Items" -msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" - -#. Translators: this is the license preamble; the string at the end -#. * contains the URL of the license. -#. -#: ../gtk/gtkaboutdialog.c:105 -#, c-format -msgid "" -"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +#: ../gdk/gdkdevice.c:96 +msgid "Device Display" msgstr "" -#: ../gtk/gtkaboutdialog.c:347 -msgid "License" -msgstr "ئىجازەتنامە" +#: ../gdk/gdkdevice.c:97 +msgid "Display which the device belongs to" +msgstr "بۇ ئۈسكىنىنىڭ قايسىسىغا تەۋەلىكىنى كۆرسىتىدۇ" -#: ../gtk/gtkaboutdialog.c:348 -msgid "The license of the program" -msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" +#: ../gdk/gdkdevice.c:111 +msgid "Device manager" +msgstr "ئۈسكىنە باشقۇرغۇ" -#. Add the credits button -#: ../gtk/gtkaboutdialog.c:740 -msgid "C_redits" -msgstr "تەشەككۈر(_R)" +#: ../gdk/gdkdevice.c:112 +msgid "Device manager which the device belongs to" +msgstr "" -#. Add the license button -#: ../gtk/gtkaboutdialog.c:753 -msgid "_License" -msgstr "ئىجازەت(_L)" +#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 +msgid "Device name" +msgstr "ئۈسكىنە ئاتى" -#: ../gtk/gtkaboutdialog.c:958 -msgid "Could not show link" -msgstr "ئۇلانمىنى كۆرسىتەلمىدى" +#: ../gdk/gdkdevice.c:141 +msgid "Device type" +msgstr "ئۈسكىنە تىپى" -#: ../gtk/gtkaboutdialog.c:995 -#| msgctxt "keyboard label" -#| msgid "Home" -msgid "Homepage" -msgstr "باش بەت" +#: ../gdk/gdkdevice.c:142 +msgid "Device role in the device manager" +msgstr "" -#: ../gtk/gtkaboutdialog.c:1049 -#, c-format -msgid "About %s" -msgstr "%s ھەققىدە" +#: ../gdk/gdkdevice.c:158 +msgid "Associated device" +msgstr "" -#: ../gtk/gtkaboutdialog.c:2366 -#| msgid "C_reate" -msgid "Created by" -msgstr "قۇرغۇچى" +#: ../gdk/gdkdevice.c:159 +msgid "Associated pointer or keyboard with this device" +msgstr "" -#: ../gtk/gtkaboutdialog.c:2369 -msgid "Documented by" +#: ../gdk/gdkdevice.c:172 +msgid "Input source" +msgstr "" + +#: ../gdk/gdkdevice.c:173 +msgid "Source type for the device" +msgstr "" + +#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 +msgid "Input mode for the device" +msgstr "ئۈسكىنىنىڭ كىرگۈزۈش ھالىتى" + +#: ../gdk/gdkdevice.c:204 +msgid "Whether the device has a cursor" +msgstr "" + +#: ../gdk/gdkdevice.c:205 +msgid "Whether there is a visible cursor following device motion" +msgstr "" + +#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 +msgid "Number of axes in the device" +msgstr "" + +#: ../gdk/gdkdevicemanager.c:130 +msgid "Display" +msgstr "كۆرسىتىش" + +#: ../gdk/gdkdevicemanager.c:131 +msgid "Display for the device manager" +msgstr "" + +#: ../gdk/gdkdisplaymanager.c:106 +msgid "Default Display" +msgstr "كۆڭۈلدىكى كۆرسەتكۈچ" + +#: ../gdk/gdkdisplaymanager.c:107 +msgid "The default display for GDK" +msgstr "GDK نىڭ كۆڭۈلدىكى كۆرسەتكۈچى" + +#: ../gdk/gdkscreen.c:89 +msgid "Font options" +msgstr "خەت نۇسخىسى تاللانمىلىرى" + +#: ../gdk/gdkscreen.c:90 +msgid "The default font options for the screen" +msgstr "" + +#: ../gdk/gdkscreen.c:97 +msgid "Font resolution" +msgstr "" + +#: ../gdk/gdkscreen.c:98 +msgid "The resolution for fonts on the screen" +msgstr "" + +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 +msgid "Cursor" +msgstr "نۇر بەلگە" + +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 +msgid "Device ID" +msgstr "ئۈسكىنە ID سى" + +#: ../gdk/x11/gdkdevice-xi2.c:124 +msgid "Device identifier" +msgstr "" + +#: ../gdk/x11/gdkdevicemanager-xi.c:95 +msgid "Event base" +msgstr "ھادىسە ئاساسى" + +#: ../gdk/x11/gdkdevicemanager-xi.c:96 +msgid "Event base for XInput events" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:277 +msgid "Program name" +msgstr "پروگرامما ئاتى" + +#: ../gtk/gtkaboutdialog.c:278 +msgid "" +"The name of the program. If this is not set, it defaults to " +"g_get_application_name()" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:292 +msgid "Program version" +msgstr "پروگرامما نەشرى" + +#: ../gtk/gtkaboutdialog.c:293 +msgid "The version of the program" +msgstr "پروگراممىنىڭ نەشرى" + +#: ../gtk/gtkaboutdialog.c:307 +msgid "Copyright string" +msgstr "نەشر ھوقۇقى ئۇچۇرى" + +#: ../gtk/gtkaboutdialog.c:308 +msgid "Copyright information for the program" +msgstr "پروگراممىنىڭ نەشر ھوقۇقى ئۇچۇرى" + +#: ../gtk/gtkaboutdialog.c:325 +msgid "Comments string" +msgstr "ئىزاھات ئۇچۇرى" + +#: ../gtk/gtkaboutdialog.c:326 +msgid "Comments about the program" +msgstr "پروگرامما ھەققىدىكى ئىزاھات" + +#: ../gtk/gtkaboutdialog.c:376 +msgid "License Type" +msgstr "ئىجازەتنامە تىپى" + +#: ../gtk/gtkaboutdialog.c:377 +msgid "The license type of the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:393 +msgid "Website URL" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:394 +msgid "The URL for the link to the website of the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:408 +msgid "Website label" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:409 +msgid "The label for the link to the website of the program" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:425 +msgid "Authors" +msgstr "يازغۇچىلار" + +#: ../gtk/gtkaboutdialog.c:426 +msgid "List of authors of the program" +msgstr "پروگرامما ئاپتورلىرى" + +#: ../gtk/gtkaboutdialog.c:442 +msgid "Documenters" msgstr "پۈتۈكچى" -#: ../gtk/gtkaboutdialog.c:2381 -msgid "Translated by" -msgstr "تەرجىمان" +#: ../gtk/gtkaboutdialog.c:443 +msgid "List of people documenting the program" +msgstr "پروگرامما پۈتۈكى يازغۇچىلار تىزىملىكى" -#: ../gtk/gtkaboutdialog.c:2385 -msgid "Artwork by" -msgstr "گۈزەل سەنئەت تەھرىرى" +#: ../gtk/gtkaboutdialog.c:459 +msgid "Artists" +msgstr "سەنئەتكار" -#. This is the text that should appear next to menu accelerators -#. * that use the shift key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:160 -msgctxt "keyboard label" -msgid "Shift" -msgstr "Shift" - -#. This is the text that should appear next to menu accelerators -#. * that use the control key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:166 -msgctxt "keyboard label" -msgid "Ctrl" -msgstr "Ctrl" - -#. This is the text that should appear next to menu accelerators -#. * that use the alt key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:172 -msgctxt "keyboard label" -msgid "Alt" -msgstr "Alt" - -#. This is the text that should appear next to menu accelerators -#. * that use the super key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:770 -msgctxt "keyboard label" -msgid "Super" -msgstr "Super" - -#. This is the text that should appear next to menu accelerators -#. * that use the hyper key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:783 -msgctxt "keyboard label" -msgid "Hyper" -msgstr "Hyper" - -#. This is the text that should appear next to menu accelerators -#. * that use the meta key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:797 -msgctxt "keyboard label" -msgid "Meta" -msgstr "Meta" - -#: ../gtk/gtkaccellabel.c:813 -msgctxt "keyboard label" -msgid "Space" -msgstr "بوشلۇق" - -#: ../gtk/gtkaccellabel.c:816 -msgctxt "keyboard label" -msgid "Backslash" -msgstr "Backslash" - -#: ../gtk/gtkbuilderparser.c:343 -#, c-format -msgid "Invalid type function on line %d: '%s'" -msgstr "ئىناۋەتسىز تىپ فۇنكسىيىسى كۆرۈنگەن قۇر %d: '%s'" - -#: ../gtk/gtkbuilderparser.c:407 -#, c-format -msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)" - -#: ../gtk/gtkbuilderparser.c:859 -#, c-format -msgid "Invalid root element: '%s'" -msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'" - -#: ../gtk/gtkbuilderparser.c:898 -#, c-format -msgid "Unhandled tag: '%s'" -msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" - -#. Translate to calendar:YM if you want years to be displayed -#. * before months; otherwise translate to calendar:MY. -#. * Do *not* translate it to anything else, if it -#. * it isn't calendar:YM or calendar:MY it will not work. -#. * -#. * Note that the ordering described here is logical order, which is -#. * further influenced by BIDI ordering. Thus, if you have a default -#. * text direction of RTL and specify "calendar:YM", then the year -#. * will appear to the right of the month. -#. -#: ../gtk/gtkcalendar.c:882 -msgid "calendar:MY" -msgstr "calendar:MY" - -#. Translate to calendar:week_start:0 if you want Sunday to be the -#. * first day of the week to calendar:week_start:1 if you want Monday -#. * to be the first day of the week, and so on. -#. -#: ../gtk/gtkcalendar.c:920 -msgid "calendar:week_start:0" -msgstr "calendar:week_start:0" - -#. Translators: This is a text measurement template. -#. * Translate it to the widest year text -#. * -#. * If you don't understand this, leave it as "2000" -#. -#: ../gtk/gtkcalendar.c:1900 -msgctxt "year measurement template" -msgid "2000" -msgstr "2000" - -#. Translators: this defines whether the day numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 -#, c-format -msgctxt "calendar:day:digits" -msgid "%d" -msgstr "%d" - -#. Translators: this defines whether the week numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 -#, c-format -msgctxt "calendar:week:digits" -msgid "%d" -msgstr "%d" - -#. Translators: This dictates how the year is displayed in -#. * gtkcalendar widget. See strftime() manual for the format. -#. * Use only ASCII in the translation. -#. * -#. * Also look for the msgid "2000". -#. * Translate that entry to a year with the widest output of this -#. * msgid. -#. * -#. * "%Y" is appropriate for most locales. -#. -#: ../gtk/gtkcalendar.c:2253 -msgctxt "calendar year format" -msgid "%Y" -msgstr "%Y" - -#. This label is displayed in a treeview cell displaying -#. * a disabled accelerator key combination. -#. -#: ../gtk/gtkcellrendereraccel.c:272 -msgctxt "Accelerator" -msgid "Disabled" -msgstr "چەكلەنگەن" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator key combination that is not valid according -#. * to gtk_accelerator_valid(). -#. -#: ../gtk/gtkcellrendereraccel.c:282 -msgctxt "Accelerator" -msgid "Invalid" -msgstr "ئىناۋەتسىز" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator when the cell is clicked to change the -#. * acelerator. -#. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 -msgid "New accelerator..." -msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…" - -#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 -#, c-format -msgctxt "progress bar label" -msgid "%d %%" -msgstr "%d %%" - -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 -msgid "Pick a Color" -msgstr "رەڭ ئال" - -#: ../gtk/gtkcolorbutton.c:366 -msgid "Received invalid color data\n" -msgstr "ئىناۋەتسىز رەڭ سانلىق-مەلۇماتى تاپشۇرۇۋالدى\n" - -#: ../gtk/gtkcolorsel.c:415 -msgid "" -"Select the color you want from the outer ring. Select the darkness or " -"lightness of that color using the inner triangle." -msgstr "سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ كۈچلۈكلۈكىنى تاللاڭ." - -#: ../gtk/gtkcolorsel.c:439 -msgid "" -"Click the eyedropper, then click a color anywhere on your screen to select " -"that color." -msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." - -#: ../gtk/gtkcolorsel.c:448 -msgid "_Hue:" -msgstr "رەڭ تەڭشەش(_H):" - -#: ../gtk/gtkcolorsel.c:449 -msgid "Position on the color wheel." -msgstr "رەڭ ھالقىسىدىكى ئورنى" - -#: ../gtk/gtkcolorsel.c:451 -msgid "_Saturation:" -msgstr "تويۇنۇش دەرىجىسى(_S):" - -#: ../gtk/gtkcolorsel.c:452 -msgid "Intensity of the color." -msgstr "رەڭ يورۇقلۇق دەرىجىسى." - -#: ../gtk/gtkcolorsel.c:453 -msgid "_Value:" -msgstr "قىممىتى(_V):" - -#: ../gtk/gtkcolorsel.c:454 -msgid "Brightness of the color." -msgstr "رەڭ يورۇقلۇقى." - -#: ../gtk/gtkcolorsel.c:455 -msgid "_Red:" -msgstr "قىزىل(_R):" - -#: ../gtk/gtkcolorsel.c:456 -msgid "Amount of red light in the color." -msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." - -#: ../gtk/gtkcolorsel.c:457 -msgid "_Green:" -msgstr "يېشىل(_G):" - -#: ../gtk/gtkcolorsel.c:458 -msgid "Amount of green light in the color." -msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." - -#: ../gtk/gtkcolorsel.c:459 -msgid "_Blue:" -msgstr "كۆك(_B):" - -#: ../gtk/gtkcolorsel.c:460 -msgid "Amount of blue light in the color." -msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." - -#: ../gtk/gtkcolorsel.c:463 -msgid "Op_acity:" -msgstr "سۈزۈكلۈك(_A):" - -#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 -msgid "Transparency of the color." -msgstr "رەڭ سۈزۈكلۈكى." - -#: ../gtk/gtkcolorsel.c:487 -msgid "Color _name:" -msgstr "رەڭ ئاتى(_N):" - -#: ../gtk/gtkcolorsel.c:501 -msgid "" -"You can enter an HTML-style hexadecimal color value, or simply a color name " -"such as 'orange' in this entry." -msgstr "سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." - -#: ../gtk/gtkcolorsel.c:531 -msgid "_Palette:" -msgstr "رەڭ تاختىسى(_P):" - -#: ../gtk/gtkcolorsel.c:560 -msgid "Color Wheel" -msgstr "رەڭ ھالقىسى" - -#: ../gtk/gtkcolorsel.c:1033 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now. You can drag this color to a palette entry, or select this color as " -"current by dragging it to the other color swatch alongside." -msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى رەڭ تاللاش تاختىسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." - -#: ../gtk/gtkcolorsel.c:1036 -msgid "" -"The color you've chosen. You can drag this color to a palette entry to save " -"it for use in the future." -msgstr "سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." - -#: ../gtk/gtkcolorsel.c:1041 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now." -msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." - -#: ../gtk/gtkcolorsel.c:1044 -msgid "The color you've chosen." -msgstr "سىز تاللىغان رەڭ." - -#: ../gtk/gtkcolorsel.c:1444 -msgid "_Save color here" -msgstr "رەڭنى بۇ جايغا ساقلا(_S)" - -#: ../gtk/gtkcolorsel.c:1652 -msgid "" -"Click this palette entry to make it the current color. To change this entry, " -"drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." - -#: ../gtk/gtkcolorseldialog.c:189 -msgid "Color Selection" -msgstr "رەڭ تاللاش" - -#. Translate to the default units to use for presenting -#. * lengths to the user. Translate to default:inch if you -#. * want inches, otherwise translate to default:mm. -#. * Do *not* translate it to "predefinito:mm", if it -#. * it isn't default:mm or default:inch it will not work -#. -#: ../gtk/gtkcustompaperunixdialog.c:116 -msgid "default:mm" -msgstr "default:mm" - -#. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 -msgid "Manage Custom Sizes" -msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" - -#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 -msgid "inch" -msgstr "دىيۇيم" - -#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 -msgid "mm" -msgstr "mm" - -#: ../gtk/gtkcustompaperunixdialog.c:581 -msgid "Margins from Printer..." -msgstr "پرىنتېر ئارىلىقى…" - -#: ../gtk/gtkcustompaperunixdialog.c:747 -#, c-format -msgid "Custom Size %d" -msgstr "ئىختىيارى چوڭلۇقى %d" - -#: ../gtk/gtkcustompaperunixdialog.c:1059 -msgid "_Width:" -msgstr "كەڭلىك(_W):" - -#: ../gtk/gtkcustompaperunixdialog.c:1071 -msgid "_Height:" -msgstr "ئېگىزلىك(_H):" - -#: ../gtk/gtkcustompaperunixdialog.c:1083 -msgid "Paper Size" -msgstr "قەغەز چوڭلۇقى" - -#: ../gtk/gtkcustompaperunixdialog.c:1092 -msgid "_Top:" -msgstr "ئۈستى(_T):" - -#: ../gtk/gtkcustompaperunixdialog.c:1104 -msgid "_Bottom:" -msgstr "ئاستى(_B):" - -#: ../gtk/gtkcustompaperunixdialog.c:1116 -msgid "_Left:" -msgstr "سول(_L):" - -#: ../gtk/gtkcustompaperunixdialog.c:1128 -msgid "_Right:" -msgstr "ئوڭ(_R):" - -#: ../gtk/gtkcustompaperunixdialog.c:1169 -msgid "Paper Margins" -msgstr "قەغەز يان ئارىلىقى" - -#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 -msgid "Input _Methods" -msgstr "كىرگۈزگۈچ(_M)" - -#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 -msgid "_Insert Unicode Control Character" -msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" - -#: ../gtk/gtkentry.c:10227 -msgid "Caps Lock and Num Lock are on" -msgstr "Caps Lock ۋە Num Lock ئوچۇق" - -#: ../gtk/gtkentry.c:10229 -msgid "Num Lock is on" -msgstr "Num Lock ئوچۇق" - -#: ../gtk/gtkentry.c:10231 -msgid "Caps Lock is on" -msgstr "Caps Lock ئوچۇق" - -#. **************** * -#. * Private Macros * -#. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 -msgid "Select A File" -msgstr "ھۆججەت تاللاڭ" - -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 -msgid "Desktop" -msgstr "ئۈستەلئۈستى" - -#: ../gtk/gtkfilechooserbutton.c:63 -msgid "(None)" -msgstr "(يوق)" - -#: ../gtk/gtkfilechooserbutton.c:2001 -msgid "Other..." -msgstr "باشقا…" - -#: ../gtk/gtkfilechooserdefault.c:147 -msgid "Type name of new folder" -msgstr "يېڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" - -#: ../gtk/gtkfilechooserdefault.c:946 -msgid "Could not retrieve information about the file" -msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ" - -#: ../gtk/gtkfilechooserdefault.c:957 -msgid "Could not add a bookmark" -msgstr "قىسقۇچ قىستۇرالمايدۇ" - -#: ../gtk/gtkfilechooserdefault.c:968 -msgid "Could not remove bookmark" -msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ" - -#: ../gtk/gtkfilechooserdefault.c:979 -msgid "The folder could not be created" -msgstr "قىسقۇچ قۇرالمايدۇ" - -#: ../gtk/gtkfilechooserdefault.c:992 -msgid "" -"The folder could not be created, as a file with the same name already " -"exists. Try using a different name for the folder, or rename the file first." -msgstr "قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇت. باشقا ئات ئىشلىتىپ سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." - -#: ../gtk/gtkfilechooserdefault.c:1006 -msgid "" -"You may only select folders. The item that you selected is not a folder; " -"try using a different item." +#: ../gtk/gtkaboutdialog.c:460 +msgid "List of people who have contributed artwork to the program" msgstr "" -#: ../gtk/gtkfilechooserdefault.c:1016 -msgid "Invalid file name" -msgstr "ئىناۋەتسىز ھۆججەت ئاتى" +#: ../gtk/gtkaboutdialog.c:477 +msgid "Translator credits" +msgstr "تەرجىمانلار تەشەككۈرى" -#: ../gtk/gtkfilechooserdefault.c:1026 -msgid "The folder contents could not be displayed" -msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" +#: ../gtk/gtkaboutdialog.c:478 +msgid "" +"Credits to the translators. This string should be marked as translatable" +msgstr "تەرجىمانلارغا تەشەككۈر. بۇ ھەرپ-بەلگىلەرنى تەرجىمە قىلىشقا بولىدىغانلىق بەلگىسى قويۇلىدۇ." -#. Translators: the first string is a path and the second string -#. * is a hostname. Nautilus and the panel contain the same string -#. * to translate. -#. -#: ../gtk/gtkfilechooserdefault.c:1576 -#, c-format -msgid "%1$s on %2$s" -msgstr "%2$s ئۈستىدىكى %1$s" +#: ../gtk/gtkaboutdialog.c:493 +msgid "Logo" +msgstr "تۇغ" -#: ../gtk/gtkfilechooserdefault.c:1752 -msgid "Search" -msgstr "ئىزدە" +#: ../gtk/gtkaboutdialog.c:494 +msgid "" +"A logo for the about box. If this is not set, it defaults to " +"gtk_window_get_default_icon_list()" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 -msgid "Recently Used" -msgstr "يېقىندا ئىشلەتكەن" +#: ../gtk/gtkaboutdialog.c:509 +msgid "Logo Icon Name" +msgstr "تۇغ سىنبەلگە ئاتى" -#: ../gtk/gtkfilechooserdefault.c:2437 -msgid "Select which types of files are shown" -msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ" +#: ../gtk/gtkaboutdialog.c:510 +msgid "A named icon to use as the logo for the about box." +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:2796 -#, c-format -msgid "Add the folder '%s' to the bookmarks" -msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش" +#: ../gtk/gtkaboutdialog.c:523 +msgid "Wrap license" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:2840 -#, c-format -msgid "Add the current folder to the bookmarks" -msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش" +#: ../gtk/gtkaboutdialog.c:524 +msgid "Whether to wrap the license text." +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:2842 -#, c-format -msgid "Add the selected folders to the bookmarks" -msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" +#: ../gtk/gtkaccellabel.c:189 +msgid "Accelerator Closure" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:2880 -#, c-format -msgid "Remove the bookmark '%s'" -msgstr "'%s' خەتكۈچنى چىقىرىۋەت" +#: ../gtk/gtkaccellabel.c:190 +msgid "The closure to be monitored for accelerator changes" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:2882 -#, c-format -msgid "Bookmark '%s' cannot be removed" -msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." +#: ../gtk/gtkaccellabel.c:196 +msgid "Accelerator Widget" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 -msgid "Remove the selected bookmark" -msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" +#: ../gtk/gtkaccellabel.c:197 +msgid "The widget to be monitored for accelerator changes" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:3452 -msgid "Remove" -msgstr "چىقىرىۋەت" - -#: ../gtk/gtkfilechooserdefault.c:3461 -msgid "Rename..." -msgstr "ئات ئۆزگەرت…" - -#. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3624 -msgid "Places" -msgstr "ئورۇن" - -#. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3681 -msgid "_Places" -msgstr "ئورۇن(_P)" - -#: ../gtk/gtkfilechooserdefault.c:3738 -msgid "_Add" -msgstr "قوش(_A)" - -#: ../gtk/gtkfilechooserdefault.c:3745 -msgid "Add the selected folder to the Bookmarks" -msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" - -#: ../gtk/gtkfilechooserdefault.c:3750 -msgid "_Remove" -msgstr "ئۆچۈر(_R)" - -#: ../gtk/gtkfilechooserdefault.c:3892 -msgid "Could not select file" -msgstr "ھۆججەت تاللىيالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:4067 -msgid "_Add to Bookmarks" -msgstr "خەتكۈچكە قوش(_A)" - -#: ../gtk/gtkfilechooserdefault.c:4080 -msgid "Show _Hidden Files" -msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" - -#: ../gtk/gtkfilechooserdefault.c:4087 -msgid "Show _Size Column" -msgstr "چوڭلۇق ئىستونىنى كۆرسەت(_S)" - -#: ../gtk/gtkfilechooserdefault.c:4313 -msgid "Files" -msgstr "ھۆججەتلەر" - -#: ../gtk/gtkfilechooserdefault.c:4364 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 msgid "Name" msgstr "ئاتى" -#: ../gtk/gtkfilechooserdefault.c:4387 +#: ../gtk/gtkaction.c:223 +msgid "A unique name for the action." +msgstr "" + +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 +msgid "Label" +msgstr "ئەن" + +#: ../gtk/gtkaction.c:242 +msgid "The label used for menu items and buttons that activate this action." +msgstr "" + +#: ../gtk/gtkaction.c:258 +msgid "Short label" +msgstr "" + +#: ../gtk/gtkaction.c:259 +msgid "A shorter label that may be used on toolbar buttons." +msgstr "" + +#: ../gtk/gtkaction.c:267 +msgid "Tooltip" +msgstr "" + +#: ../gtk/gtkaction.c:268 +msgid "A tooltip for this action." +msgstr "" + +#: ../gtk/gtkaction.c:283 +msgid "Stock Icon" +msgstr "قالدۇرۇلغان سىنبەلگە" + +#: ../gtk/gtkaction.c:284 +msgid "The stock icon displayed in widgets representing this action." +msgstr "" + +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 +msgid "GIcon" +msgstr "GIcon" + +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 +msgid "The GIcon being displayed" +msgstr "" + +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:732 +msgid "Icon Name" +msgstr "سىنبەلگە ئاتى" + +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 +msgid "The name of the icon from the icon theme" +msgstr "" + +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 +msgid "Visible when horizontal" +msgstr "" + +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 +msgid "" +"Whether the toolbar item is visible when the toolbar is in a horizontal " +"orientation." +msgstr "" + +#: ../gtk/gtkaction.c:349 +msgid "Visible when overflown" +msgstr "" + +#: ../gtk/gtkaction.c:350 +msgid "" +"When TRUE, toolitem proxies for this action are represented in the toolbar " +"overflow menu." +msgstr "" + +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 +msgid "Visible when vertical" +msgstr "" + +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 +msgid "" +"Whether the toolbar item is visible when the toolbar is in a vertical " +"orientation." +msgstr "" + +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 +msgid "Is important" +msgstr "" + +#: ../gtk/gtkaction.c:366 +msgid "" +"Whether the action is considered important. When TRUE, toolitem proxies for " +"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." +msgstr "" + +#: ../gtk/gtkaction.c:374 +msgid "Hide if empty" +msgstr "قۇرۇق بولسا يوشۇر" + +#: ../gtk/gtkaction.c:375 +msgid "When TRUE, empty menu proxies for this action are hidden." +msgstr "" + +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 +msgid "Sensitive" +msgstr "" + +#: ../gtk/gtkaction.c:382 +msgid "Whether the action is enabled." +msgstr "" + +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 +#: ../gtk/gtkwidget.c:926 +msgid "Visible" +msgstr "كۆرۈنۈشچان" + +#: ../gtk/gtkaction.c:389 +msgid "Whether the action is visible." +msgstr "" + +#: ../gtk/gtkaction.c:395 +msgid "Action Group" +msgstr "مەشغۇلات گۇرۇپپىسى" + +#: ../gtk/gtkaction.c:396 +msgid "" +"The GtkActionGroup this GtkAction is associated with, or NULL (for internal " +"use)." +msgstr "" + +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 +msgid "Always show image" +msgstr "رەسىمنى ھەمىشە كۆرسەت" + +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 +msgid "Whether the image will always be shown" +msgstr "" + +#: ../gtk/gtkactiongroup.c:229 +msgid "A name for the action group." +msgstr "" + +#: ../gtk/gtkactiongroup.c:236 +msgid "Whether the action group is enabled." +msgstr "" + +#: ../gtk/gtkactiongroup.c:243 +msgid "Whether the action group is visible." +msgstr "" + +#: ../gtk/gtkactivatable.c:290 +msgid "Related Action" +msgstr "مۇناسىۋەتلىك مەشغۇلاتلار" + +#: ../gtk/gtkactivatable.c:291 +msgid "The action this activatable will activate and receive updates from" +msgstr "" + +#: ../gtk/gtkactivatable.c:313 +msgid "Use Action Appearance" +msgstr "" + +#: ../gtk/gtkactivatable.c:314 +msgid "Whether to use the related actions appearance properties" +msgstr "" + +#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 +msgid "Value" +msgstr "قىممىتى" + +#: ../gtk/gtkadjustment.c:115 +msgid "The value of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:131 +msgid "Minimum Value" +msgstr "ئەڭ كىچىك قىممەت" + +#: ../gtk/gtkadjustment.c:132 +msgid "The minimum value of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:151 +msgid "Maximum Value" +msgstr "ئەڭ چوڭ قىممەت" + +#: ../gtk/gtkadjustment.c:152 +msgid "The maximum value of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:168 +msgid "Step Increment" +msgstr "" + +#: ../gtk/gtkadjustment.c:169 +msgid "The step increment of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:185 +msgid "Page Increment" +msgstr "" + +#: ../gtk/gtkadjustment.c:186 +msgid "The page increment of the adjustment" +msgstr "" + +#: ../gtk/gtkadjustment.c:205 +msgid "Page Size" +msgstr "" + +#: ../gtk/gtkadjustment.c:206 +msgid "The page size of the adjustment" +msgstr "" + +#: ../gtk/gtkalignment.c:127 +msgid "Horizontal alignment" +msgstr "" + +#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 +msgid "" +"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " +"right aligned" +msgstr "" + +#: ../gtk/gtkalignment.c:137 +msgid "Vertical alignment" +msgstr "تىك توغرىلاش شەكلى" + +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 +msgid "" +"Vertical position of child in available space. 0.0 is top aligned, 1.0 is " +"bottom aligned" +msgstr "" + +#: ../gtk/gtkalignment.c:146 +msgid "Horizontal scale" +msgstr "" + +#: ../gtk/gtkalignment.c:147 +msgid "" +"If available horizontal space is bigger than needed for the child, how much " +"of it to use for the child. 0.0 means none, 1.0 means all" +msgstr "" + +#: ../gtk/gtkalignment.c:155 +msgid "Vertical scale" +msgstr "" + +#: ../gtk/gtkalignment.c:156 +msgid "" +"If available vertical space is bigger than needed for the child, how much of " +"it to use for the child. 0.0 means none, 1.0 means all" +msgstr "" + +#: ../gtk/gtkalignment.c:173 +msgid "Top Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:174 +msgid "The padding to insert at the top of the widget." +msgstr "" + +#: ../gtk/gtkalignment.c:190 +msgid "Bottom Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:191 +msgid "The padding to insert at the bottom of the widget." +msgstr "" + +#: ../gtk/gtkalignment.c:207 +msgid "Left Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:208 +msgid "The padding to insert at the left of the widget." +msgstr "" + +#: ../gtk/gtkalignment.c:224 +msgid "Right Padding" +msgstr "" + +#: ../gtk/gtkalignment.c:225 +msgid "The padding to insert at the right of the widget." +msgstr "" + +#: ../gtk/gtkarrow.c:110 +msgid "Arrow direction" +msgstr "" + +#: ../gtk/gtkarrow.c:111 +msgid "The direction the arrow should point" +msgstr "" + +#: ../gtk/gtkarrow.c:119 +msgid "Arrow shadow" +msgstr "" + +#: ../gtk/gtkarrow.c:120 +msgid "Appearance of the shadow surrounding the arrow" +msgstr "" + +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 +msgid "Arrow Scaling" +msgstr "" + +#: ../gtk/gtkarrow.c:128 +msgid "Amount of space used up by arrow" +msgstr "" + +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 +msgid "Horizontal Alignment" +msgstr "گورىزونتال جايلاشتۇرۇش" + +#: ../gtk/gtkaspectframe.c:110 +msgid "X alignment of the child" +msgstr "" + +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 +msgid "Vertical Alignment" +msgstr "" + +#: ../gtk/gtkaspectframe.c:117 +msgid "Y alignment of the child" +msgstr "" + +#: ../gtk/gtkaspectframe.c:123 +msgid "Ratio" +msgstr "نىسبىتى" + +#: ../gtk/gtkaspectframe.c:124 +msgid "Aspect ratio if obey_child is FALSE" +msgstr "" + +#: ../gtk/gtkaspectframe.c:130 +msgid "Obey child" +msgstr "" + +#: ../gtk/gtkaspectframe.c:131 +msgid "Force aspect ratio to match that of the frame's child" +msgstr "" + +#: ../gtk/gtkassistant.c:327 +msgid "Header Padding" +msgstr "" + +#: ../gtk/gtkassistant.c:328 +msgid "Number of pixels around the header." +msgstr "" + +#: ../gtk/gtkassistant.c:335 +msgid "Content Padding" +msgstr "" + +#: ../gtk/gtkassistant.c:336 +msgid "Number of pixels around the content pages." +msgstr "" + +#: ../gtk/gtkassistant.c:352 +msgid "Page type" +msgstr "" + +#: ../gtk/gtkassistant.c:353 +msgid "The type of the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:370 +msgid "Page title" +msgstr "بەت تېمىسى" + +#: ../gtk/gtkassistant.c:371 +msgid "The title of the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:387 +msgid "Header image" +msgstr "" + +#: ../gtk/gtkassistant.c:388 +msgid "Header image for the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:404 +msgid "Sidebar image" +msgstr "" + +#: ../gtk/gtkassistant.c:405 +msgid "Sidebar image for the assistant page" +msgstr "" + +#: ../gtk/gtkassistant.c:420 +msgid "Page complete" +msgstr "" + +#: ../gtk/gtkassistant.c:421 +msgid "Whether all required fields on the page have been filled out" +msgstr "" + +#: ../gtk/gtkbbox.c:152 +msgid "Minimum child width" +msgstr "" + +#: ../gtk/gtkbbox.c:153 +msgid "Minimum width of buttons inside the box" +msgstr "" + +#: ../gtk/gtkbbox.c:161 +msgid "Minimum child height" +msgstr "" + +#: ../gtk/gtkbbox.c:162 +msgid "Minimum height of buttons inside the box" +msgstr "" + +#: ../gtk/gtkbbox.c:170 +msgid "Child internal width padding" +msgstr "" + +#: ../gtk/gtkbbox.c:171 +msgid "Amount to increase child's size on either side" +msgstr "" + +#: ../gtk/gtkbbox.c:179 +msgid "Child internal height padding" +msgstr "" + +#: ../gtk/gtkbbox.c:180 +msgid "Amount to increase child's size on the top and bottom" +msgstr "" + +#: ../gtk/gtkbbox.c:188 +msgid "Layout style" +msgstr "" + +#: ../gtk/gtkbbox.c:189 +msgid "" +"How to lay out the buttons in the box. Possible values are: spread, edge, " +"start and end" +msgstr "" + +#: ../gtk/gtkbbox.c:197 +msgid "Secondary" +msgstr "تەگ رەڭ" + +#: ../gtk/gtkbbox.c:198 +msgid "" +"If TRUE, the child appears in a secondary group of children, suitable for, e." +"g., help buttons" +msgstr "" + +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:267 +msgid "Spacing" +msgstr "بوشلۇق" + +#: ../gtk/gtkbox.c:242 +msgid "The amount of space between children" +msgstr "" + +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1641 +msgid "Homogeneous" +msgstr "均一" + +#: ../gtk/gtkbox.c:252 +msgid "Whether the children should all be the same size" +msgstr "" + +#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 +msgid "Expand" +msgstr "ياي" + +#: ../gtk/gtkbox.c:269 +msgid "Whether the child should receive extra space when the parent grows" +msgstr "" + +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 +msgid "Fill" +msgstr "تولدۇر" + +#: ../gtk/gtkbox.c:282 +msgid "" +"Whether extra space given to the child should be allocated to the child or " +"used as padding" +msgstr "" + +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 +msgid "Padding" +msgstr "Padding" + +#: ../gtk/gtkbox.c:290 +msgid "Extra space to put between the child and its neighbors, in pixels" +msgstr "" + +#: ../gtk/gtkbox.c:296 +msgid "Pack type" +msgstr "" + +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" + +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 +#: ../gtk/gtktoolitemgroup.c:1669 +msgid "Position" +msgstr "ئورنى" + +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 +msgid "The index of the child in the parent" +msgstr "" + +#: ../gtk/gtkbuilder.c:314 +msgid "Translation Domain" +msgstr "" + +#: ../gtk/gtkbuilder.c:315 +msgid "The translation domain used by gettext" +msgstr "" + +#: ../gtk/gtkbutton.c:227 +msgid "" +"Text of the label widget inside the button, if the button contains a label " +"widget" +msgstr "" + +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 +#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 +msgid "Use underline" +msgstr "ئاستىغا سىزىش" + +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:347 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" + +#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 +msgid "Use stock" +msgstr "" + +#: ../gtk/gtkbutton.c:243 +msgid "" +"If set, the label is used to pick a stock item instead of being displayed" +msgstr "" + +#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 +#: ../gtk/gtkfilechooserbutton.c:383 +msgid "Focus on click" +msgstr "" + +#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 +msgid "Whether the button grabs focus when it is clicked with the mouse" +msgstr "" + +#: ../gtk/gtkbutton.c:258 +msgid "Border relief" +msgstr "" + +#: ../gtk/gtkbutton.c:259 +msgid "The border relief style" +msgstr "" + +#: ../gtk/gtkbutton.c:276 +msgid "Horizontal alignment for child" +msgstr "" + +#: ../gtk/gtkbutton.c:295 +msgid "Vertical alignment for child" +msgstr "" + +#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 +msgid "Image widget" +msgstr "" + +#: ../gtk/gtkbutton.c:313 +msgid "Child widget to appear next to the button text" +msgstr "" + +#: ../gtk/gtkbutton.c:327 +msgid "Image position" +msgstr "سۈرەت ئورنى" + +#: ../gtk/gtkbutton.c:328 +msgid "The position of the image relative to the text" +msgstr "" + +#: ../gtk/gtkbutton.c:448 +msgid "Default Spacing" +msgstr "" + +#: ../gtk/gtkbutton.c:449 +msgid "Extra space to add for GTK_CAN_DEFAULT buttons" +msgstr "GTK_CAN_DEFAULT توپچىسىغا قوشۇلىدىغان ئارتۇقچە بوشلۇق" + +#: ../gtk/gtkbutton.c:463 +msgid "Default Outside Spacing" +msgstr "" + +#: ../gtk/gtkbutton.c:464 +msgid "" +"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " +"the border" +msgstr "" + +#: ../gtk/gtkbutton.c:469 +msgid "Child X Displacement" +msgstr "" + +#: ../gtk/gtkbutton.c:470 +msgid "" +"How far in the x direction to move the child when the button is depressed" +msgstr "" + +#: ../gtk/gtkbutton.c:477 +msgid "Child Y Displacement" +msgstr "" + +#: ../gtk/gtkbutton.c:478 +msgid "" +"How far in the y direction to move the child when the button is depressed" +msgstr "" + +#: ../gtk/gtkbutton.c:494 +msgid "Displace focus" +msgstr "" + +#: ../gtk/gtkbutton.c:495 +msgid "" +"Whether the child_displacement_x/_y properties should also affect the focus " +"rectangle" +msgstr "" + +#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 +msgid "Inner Border" +msgstr "ئىچكى گىرۋەك" + +#: ../gtk/gtkbutton.c:509 +msgid "Border between button edges and child." +msgstr "" + +#: ../gtk/gtkbutton.c:522 +msgid "Image spacing" +msgstr "" + +#: ../gtk/gtkbutton.c:523 +msgid "Spacing in pixels between the image and label" +msgstr "" + +#: ../gtk/gtkcalendar.c:479 +msgid "Year" +msgstr "يىل" + +#: ../gtk/gtkcalendar.c:480 +msgid "The selected year" +msgstr "" + +#: ../gtk/gtkcalendar.c:493 +msgid "Month" +msgstr "ئاي" + +#: ../gtk/gtkcalendar.c:494 +msgid "The selected month (as a number between 0 and 11)" +msgstr "" + +#: ../gtk/gtkcalendar.c:508 +msgid "Day" +msgstr "كۈن" + +#: ../gtk/gtkcalendar.c:509 +msgid "" +"The selected day (as a number between 1 and 31, or 0 to unselect the " +"currently selected day)" +msgstr "" + +#: ../gtk/gtkcalendar.c:523 +msgid "Show Heading" +msgstr "" + +#: ../gtk/gtkcalendar.c:524 +msgid "If TRUE, a heading is displayed" +msgstr "" + +#: ../gtk/gtkcalendar.c:538 +msgid "Show Day Names" +msgstr "" + +#: ../gtk/gtkcalendar.c:539 +msgid "If TRUE, day names are displayed" +msgstr "ئەگەر «TRUE» بولسا كۈن ناملىرى كۆرسىتىلىدۇ" + +#: ../gtk/gtkcalendar.c:552 +msgid "No Month Change" +msgstr "ئاي ئۆزگەرمىدى" + +#: ../gtk/gtkcalendar.c:553 +msgid "If TRUE, the selected month cannot be changed" +msgstr "ئەگەر «TRUE» بولسا، تاللانغان ئوينى ئۆزگەرتكىلى بولمايدۇ" + +#: ../gtk/gtkcalendar.c:567 +msgid "Show Week Numbers" +msgstr "" + +#: ../gtk/gtkcalendar.c:568 +msgid "If TRUE, week numbers are displayed" +msgstr "ئەگەر «TRUE» بولسا، ھەپتە نومۇرى كۆرسىتىلىدۇ." + +#: ../gtk/gtkcalendar.c:583 +msgid "Details Width" +msgstr "تەپسىلىي كەڭلىك" + +#: ../gtk/gtkcalendar.c:584 +msgid "Details width in characters" +msgstr "" + +#: ../gtk/gtkcalendar.c:599 +msgid "Details Height" +msgstr "تەپسىلىي ئېگىزلىك" + +#: ../gtk/gtkcalendar.c:600 +msgid "Details height in rows" +msgstr "" + +#: ../gtk/gtkcalendar.c:616 +msgid "Show Details" +msgstr "تەپسىلاتىنى كۆرسەت" + +#: ../gtk/gtkcalendar.c:617 +msgid "If TRUE, details are shown" +msgstr "ئەگەر «TRUE» بولسا تەپسىلاتى كۆرسىتىلىدۇ" + +#: ../gtk/gtkcalendar.c:629 +msgid "Inner border" +msgstr "ئىچكى گىرۋەك" + +#: ../gtk/gtkcalendar.c:630 +msgid "Inner border space" +msgstr "ئىچكى گىرۋەك بوشلۇقى" + +#: ../gtk/gtkcalendar.c:641 +msgid "Vertical separation" +msgstr "" + +#: ../gtk/gtkcalendar.c:642 +msgid "Space between day headers and main area" +msgstr "" + +#: ../gtk/gtkcalendar.c:653 +msgid "Horizontal separation" +msgstr "" + +#: ../gtk/gtkcalendar.c:654 +msgid "Space between week headers and main area" +msgstr "" + +#: ../gtk/gtkcelleditable.c:53 +msgid "Editing Canceled" +msgstr "تەھرىرلەش ئەمەلدىن قالدۇرۇلدى" + +#: ../gtk/gtkcelleditable.c:54 +msgid "Indicates that editing has been canceled" +msgstr "تەھرىرلەشنىڭ ئەمەلدىن قالدۇرۇلغانلىقىنى كۆرسىتىدۇ" + +#: ../gtk/gtkcellrendereraccel.c:138 +msgid "Accelerator key" +msgstr "تېزلەتكۈچ كۇنۇپكىسى" + +#: ../gtk/gtkcellrendereraccel.c:139 +msgid "The keyval of the accelerator" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:155 +msgid "Accelerator modifiers" +msgstr "تېزلەتكۈچ ئۆزگەرتكۈچ" + +#: ../gtk/gtkcellrendereraccel.c:156 +msgid "The modifier mask of the accelerator" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:173 +msgid "Accelerator keycode" +msgstr "تېزلەتكۈچ كۇنۇپكا نومۇرى" + +#: ../gtk/gtkcellrendereraccel.c:174 +msgid "The hardware keycode of the accelerator" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:193 +msgid "Accelerator Mode" +msgstr "" + +#: ../gtk/gtkcellrendereraccel.c:194 +msgid "The type of accelerators" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:271 +msgid "mode" +msgstr "mode" + +#: ../gtk/gtkcellrenderer.c:272 +msgid "Editable mode of the CellRenderer" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:280 +msgid "visible" +msgstr "ئاشكارا" + +#: ../gtk/gtkcellrenderer.c:281 +msgid "Display the cell" +msgstr "كاتەكچىسىنى كۆرسىتىدۇ" + +#: ../gtk/gtkcellrenderer.c:288 +msgid "Display the cell sensitive" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:295 +msgid "xalign" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:296 +msgid "The x-align" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:305 +msgid "yalign" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:306 +msgid "The y-align" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:315 +msgid "xpad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:316 +msgid "The xpad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:325 +msgid "ypad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:326 +msgid "The ypad" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:335 +msgid "width" +msgstr "width" + +#: ../gtk/gtkcellrenderer.c:336 +msgid "The fixed width" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:345 +msgid "height" +msgstr "height" + +#: ../gtk/gtkcellrenderer.c:346 +msgid "The fixed height" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:355 +msgid "Is Expander" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:356 +msgid "Row has children" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:364 +msgid "Is Expanded" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:365 +msgid "Row is an expander row, and is expanded" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:372 +msgid "Cell background color name" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:373 +msgid "Cell background color as a string" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:380 +msgid "Cell background color" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:381 +msgid "Cell background color as a GdkColor" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:394 +msgid "Cell background RGBA color" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:395 +msgid "Cell background color as a GdkRGBA" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:402 +msgid "Editing" +msgstr "تەھرىرلەۋاتىدۇ" + +#: ../gtk/gtkcellrenderer.c:403 +msgid "Whether the cell renderer is currently in editing mode" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:411 +msgid "Cell background set" +msgstr "" + +#: ../gtk/gtkcellrenderer.c:412 +msgid "Whether this tag affects the cell background color" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:109 +msgid "Model" +msgstr "ئەندىزە" + +#: ../gtk/gtkcellrenderercombo.c:110 +msgid "The model containing the possible values for the combo box" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:132 +msgid "Text Column" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:133 +msgid "A column in the data source model to get the strings from" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 +msgid "Has Entry" +msgstr "" + +#: ../gtk/gtkcellrenderercombo.c:151 +msgid "If FALSE, don't allow to enter strings other than the chosen ones" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:120 +msgid "Pixbuf Object" +msgstr "Pixbuf نەڭى" + +#: ../gtk/gtkcellrendererpixbuf.c:121 +msgid "The pixbuf to render" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:128 +msgid "Pixbuf Expander Open" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:129 +msgid "Pixbuf for open expander" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:136 +msgid "Pixbuf Expander Closed" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:137 +msgid "Pixbuf for closed expander" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 +#: ../gtk/gtkstatusicon.c:228 +msgid "Stock ID" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:145 +msgid "The stock ID of the stock icon to render" +msgstr "" + +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 msgid "Size" msgstr "چوڭلۇقى" -#: ../gtk/gtkfilechooserdefault.c:4401 -msgid "Modified" -msgstr "ئۆزگەرتكەن" +#: ../gtk/gtkcellrendererpixbuf.c:153 +msgid "The GtkIconSize value that specifies the size of the rendered icon" +msgstr "" -#. Label -#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 -msgid "_Name:" -msgstr "ئاتى(_N):" +#: ../gtk/gtkcellrendererpixbuf.c:162 +msgid "Detail" +msgstr "تەپسىلاتى" -#: ../gtk/gtkfilechooserdefault.c:4699 -msgid "_Browse for other folders" -msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" +#: ../gtk/gtkcellrendererpixbuf.c:163 +msgid "Render detail to pass to the theme engine" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:4969 -msgid "Type a file name" -msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" +#: ../gtk/gtkcellrendererpixbuf.c:196 +msgid "Follow State" +msgstr "" -#. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5012 -msgid "Create Fo_lder" -msgstr "قىسقۇچ قۇر(_L)" +#: ../gtk/gtkcellrendererpixbuf.c:197 +msgid "Whether the rendered pixbuf should be colorized according to the state" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:5022 -msgid "_Location:" -msgstr "ئورنى(_L):" +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:709 +msgid "Icon" +msgstr "سىنبەلگە" -#: ../gtk/gtkfilechooserdefault.c:5226 -msgid "Save in _folder:" -msgstr "قىسقۇچقا ساقلا(_F):" +#: ../gtk/gtkcellrendererprogress.c:127 +msgid "Value of the progress bar" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:5228 -msgid "Create in _folder:" -msgstr "قىسقۇچتا قۇر(_F):" +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 +msgid "Text" +msgstr "تېكىست" -#: ../gtk/gtkfilechooserdefault.c:6297 -#, c-format -msgid "Could not read the contents of %s" -msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" +#: ../gtk/gtkcellrendererprogress.c:145 +msgid "Text on the progress bar" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:6301 -msgid "Could not read the contents of the folder" -msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 +msgid "Pulse" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 -#: ../gtk/gtkfilechooserdefault.c:6607 -msgid "Unknown" -msgstr "نامەلۇم" - -#: ../gtk/gtkfilechooserdefault.c:6409 -msgid "%H:%M" -msgstr "%H:%M" - -#: ../gtk/gtkfilechooserdefault.c:6411 -msgid "Yesterday at %H:%M" -msgstr "ئەتە %H:%M" - -#: ../gtk/gtkfilechooserdefault.c:7077 -msgid "Cannot change to folder because it is not local" -msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" - -#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 -#, c-format -msgid "Shortcut %s already exists" -msgstr "%s قىسقا يول مەۋجۇت" - -#: ../gtk/gtkfilechooserdefault.c:7785 -#, c-format -msgid "Shortcut %s does not exist" -msgstr "%s قىسقا يول مەۋجۇت ئەمەس" - -#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 -#, c-format -msgid "A file named \"%s\" already exists. Do you want to replace it?" -msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" - -#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 -#, c-format +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" -"The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت ئاللىبۇرۇن" +"Set this to positive values to indicate that some progress is made, but you " +"don't know how much." +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 -msgid "_Replace" -msgstr "ئالماشتۇر(_R)" +#: ../gtk/gtkcellrendererprogress.c:185 +msgid "Text x alignment" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:8762 -msgid "Could not start the search process" -msgstr "ئىزدىگۈچنى قوزغىتالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:8763 +#: ../gtk/gtkcellrendererprogress.c:186 msgid "" -"The program was not able to create a connection to the indexer daemon. " -"Please make sure it is running." -msgstr "پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" +"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " +"layouts." +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:8777 -msgid "Could not send the search request" -msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" +#: ../gtk/gtkcellrendererprogress.c:202 +msgid "Text y alignment" +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:8996 -msgid "Search:" -msgstr "ئىزدە:" +#: ../gtk/gtkcellrendererprogress.c:203 +msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." +msgstr "" -#: ../gtk/gtkfilechooserdefault.c:9601 -#, c-format -msgid "Could not mount %s" -msgstr "%s نى ئېگەرلىگىلى بولمىدى" +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:439 +msgid "Inverted" +msgstr "تەتۈر" -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 -msgid "Invalid path" -msgstr "ئىناۋەتسىز يول" +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 +msgid "Invert the direction in which the progress bar grows" +msgstr "" -#. translators: this text is shown when there are no completions -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1104 -msgid "No match" -msgstr "ماس كېلىدىغىنى يوق" +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 +msgid "Adjustment" +msgstr "تەڭشەش" -#. translators: this text is shown when there is exactly one completion -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1115 -msgid "Sole completion" -msgstr "بىردىنبىر تاماملاش" +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 +msgid "The adjustment that holds the value of the spin button" +msgstr "" -#. translators: this text is shown when the text in a file chooser -#. * entry is a complete filename, but could be continued to find -#. * a longer match -#. -#: ../gtk/gtkfilechooserentry.c:1131 -msgid "Complete, but not unique" -msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس" +#: ../gtk/gtkcellrendererspin.c:107 +msgid "Climb rate" +msgstr "" -#. Translators: this text is shown while the system is searching -#. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 -msgid "Completing..." -msgstr "تاماملاۋاتىدۇ…" +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 +msgid "The acceleration rate when you hold down a button" +msgstr "" -#. hostnames in a local_only file chooser? user error -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user enters something like -#. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 -msgid "Only local files may be selected" -msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:247 +msgid "Digits" +msgstr "رەقەملەر" -#. Another option is to complete the hostname based on the remote volumes that are mounted -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user hasn't entered the first '/' -#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 -msgid "Incomplete hostname; end it with '/'" -msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ" +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 +msgid "The number of decimal places to display" +msgstr "" -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry when the user enters a path that does not exist -#. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 -msgid "Path does not exist" -msgstr "يول مەۋجۇت ئەمەس." +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 +#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 +msgid "Active" +msgstr "ئاكتىپ" -#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are -#. * really pointers to GDrive, GVolume or GMount objects. We need an extra -#. * token for the fake "File System" volume. So, we'll return a pointer to -#. * this particular string. -#. -#: ../gtk/gtkfilesystem.c:48 -msgid "File System" -msgstr "ھۆججەت سىستېمىسى" +#: ../gtk/gtkcellrendererspinner.c:120 +msgid "Whether the spinner is active (ie. shown) in the cell" +msgstr "" -#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 -msgid "Pick a Font" -msgstr "خەت نۇسخا تاللا" +#: ../gtk/gtkcellrendererspinner.c:140 +msgid "Pulse of the spinner" +msgstr "" -#. Initialize fields -#: ../gtk/gtkfontbutton.c:260 -msgid "Sans 12" -msgstr "UKIJ Tuz Tom 10" +#: ../gtk/gtkcellrendererspinner.c:154 +msgid "The GtkIconSize value that specifies the size of the rendered spinner" +msgstr "" -#: ../gtk/gtkfontbutton.c:785 +#: ../gtk/gtkcellrenderertext.c:256 +msgid "Text to render" +msgstr "سىزىدىغان تېكىست" + +#: ../gtk/gtkcellrenderertext.c:263 +msgid "Markup" +msgstr "بەلگە" + +#: ../gtk/gtkcellrenderertext.c:264 +msgid "Marked up text to render" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 +msgid "Attributes" +msgstr "خاسلىق" + +#: ../gtk/gtkcellrenderertext.c:272 +msgid "A list of style attributes to apply to the text of the renderer" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:279 +msgid "Single Paragraph Mode" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:280 +msgid "Whether to keep all text in a single paragraph" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 +#: ../gtk/gtktexttag.c:178 +msgid "Background color name" +msgstr "تەگلىك رەڭگىنىڭ ئاتى" + +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 +#: ../gtk/gtktexttag.c:179 +msgid "Background color as a string" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 +#: ../gtk/gtktexttag.c:186 +msgid "Background color" +msgstr "تەگلىك رەڭگى" + +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 +msgid "Background color as a GdkColor" +msgstr "تەگ رەڭگىنى GdkColor بىلەن ئىپادىلەش" + +#: ../gtk/gtkcellrenderertext.c:311 +msgid "Background color as RGBA" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 +msgid "Background color as a GdkRGBA" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 +msgid "Foreground color name" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 +msgid "Foreground color as a string" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 +#: ../gtk/gtktrayicon-x11.c:133 +msgid "Foreground color" +msgstr "ئالدى كۆرۈنۈش رەڭگى" + +#: ../gtk/gtkcellrenderertext.c:327 +msgid "Foreground color as a GdkColor" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:341 +msgid "Foreground color as RGBA" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:342 +msgid "Foreground color as a GdkRGBA" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 +msgid "Editable" +msgstr "تەھرىرچان" + +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:685 +msgid "Whether the text can be modified by the user" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "خەت نۇسخا" -#. This is the default text shown in the preview entry, though the user -#. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 -msgid "abcdefghijk ABCDEFGHIJK" -msgstr "ئا ئە ب پ ت ج چ خ د ر ز ژ abcdefghijk ABCDEFGHIJK" +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 +msgid "Font description as a string, e.g. \"Sans Italic 12\"" +msgstr "" -#: ../gtk/gtkfontsel.c:370 -msgid "_Family:" -msgstr "خەت نۇسخا تۈرى(_F):" +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 +msgid "Font description as a PangoFontDescription struct" +msgstr "خەت نۇسخىسىنىڭ PangoFontDescription struct چە چۈشەندۈرۈلۈشى" -#: ../gtk/gtkfontsel.c:376 -msgid "_Style:" -msgstr "ئۇسلۇب(_S):" +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 +msgid "Font family" +msgstr "خەت نۇسخىسى ئاتى" -#: ../gtk/gtkfontsel.c:382 -msgid "Si_ze:" -msgstr "چوڭلۇقى(_Z):" +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 +msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" +msgstr "خەت نۇسخىسى ئاتى مەسىلەن: Sans, Helvetica, Times, Monospace" -#. create the text entry widget -#: ../gtk/gtkfontsel.c:558 -msgid "_Preview:" -msgstr "ئالدىن كۆزەت(_P):" +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:267 +msgid "Font style" +msgstr "خەت نۇسخا ئۇسلۇبى" -#: ../gtk/gtkfontsel.c:1658 -msgid "Font Selection" -msgstr "خەت نۇسخا تاللاش" +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:276 +msgid "Font variant" +msgstr "خەت نۇسخىسىنىڭ باشقا ئاتى" -#. Remove this icon source so we don't keep trying to -#. * load it. -#. -#: ../gtk/gtkiconfactory.c:1356 -#, c-format -msgid "Error loading icon: %s" -msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:285 +msgid "Font weight" +msgstr "خەت نۇسخىسى توملۇقى" -#: ../gtk/gtkicontheme.c:1351 -#, c-format +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:296 +msgid "Font stretch" +msgstr "خەت نۇسخىسىنى سوزۇش" + +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:305 +msgid "Font size" +msgstr "خەت چوڭلۇقى" + +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 +msgid "Font points" +msgstr "خەت نۇسخىسى نۇقتىسى" + +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 +msgid "Font size in points" +msgstr "خەت نۇسخىسى نۇقتا بىلەن ئىپادىلەنگەن چوڭلۇقى" + +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 +msgid "Font scale" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:441 +msgid "Font scaling factor" +msgstr "" + +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 +msgid "Rise" +msgstr "كۈن چىقىش" + +#: ../gtk/gtkcellrenderertext.c:451 msgid "" -"Could not find the icon '%s'. The '%s' theme\n" -"was not found either, perhaps you need to install it.\n" -"You can get a copy from:\n" -"\t%s" -msgstr "'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" -"%s" +"Offset of text above the baseline (below the baseline if rise is negative)" +msgstr "" -#: ../gtk/gtkicontheme.c:1532 -#, c-format -msgid "Icon '%s' not present in theme" -msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 +msgid "Strikethrough" +msgstr "ئۆچۈرۈش سىزىقى" -#: ../gtk/gtkicontheme.c:3053 -msgid "Failed to load icon" -msgstr "سىنبەلگە يۈكلىيەلمىدى" +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 +msgid "Whether to strike through the text" +msgstr "" -#: ../gtk/gtkimmodule.c:526 -msgid "Simple" -msgstr "ئاددىي" +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 +msgid "Underline" +msgstr "ئاستى سىزىق" -#: ../gtk/gtkimmulticontext.c:588 -msgctxt "input method menu" -msgid "System" -msgstr "سىستېما" +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 +msgid "Style of underline for this text" +msgstr "تېكىستنىڭ ئاستى سىزىق ئۇسلۇبى" -#: ../gtk/gtkimmulticontext.c:598 -msgctxt "input method menu" -msgid "None" -msgstr "يوق" +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 +msgid "Language" +msgstr "تىل" -#: ../gtk/gtkimmulticontext.c:681 -#, c-format -msgctxt "input method menu" -msgid "System (%s)" -msgstr "سىستېما(%s)" - -#. Open Link -#: ../gtk/gtklabel.c:6249 -msgid "_Open Link" -msgstr "ئۇلانما ئاچ(_O)" - -#. Copy Link Address -#: ../gtk/gtklabel.c:6261 -msgid "Copy _Link Address" -msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" - -#: ../gtk/gtklinkbutton.c:484 -msgid "Copy URL" -msgstr "URL كۆچۈر" - -#: ../gtk/gtklinkbutton.c:647 -msgid "Invalid URI" -msgstr "ئىناۋەتسىز URI" - -#. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:515 -msgid "Load additional GTK+ modules" -msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" - -#. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 -msgid "MODULES" -msgstr "بۆلەك" - -#. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:518 -msgid "Make all warnings fatal" -msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" - -#. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:521 -msgid "GTK+ debugging flags to set" -msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" - -#. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 -msgid "GTK+ debugging flags to unset" -msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" - -#. Translate to default:RTL if you want your widgets -#. * to be RTL, otherwise translate to default:LTR. -#. * Do *not* translate it to "predefinito:LTR", if it -#. * it isn't default:LTR or default:RTL it will not work -#. -#: ../gtk/gtkmain.c:787 -msgid "default:LTR" -msgstr "default:RTL" - -#: ../gtk/gtkmain.c:851 -#, c-format -msgid "Cannot open display: %s" -msgstr "ئېكران ئېچىلمىدى: (%s)" - -#: ../gtk/gtkmain.c:915 -msgid "GTK+ Options" -msgstr "GTK+ تاللانما" - -#: ../gtk/gtkmain.c:915 -msgid "Show GTK+ Options" -msgstr "GTK+ تاللانما كۆرسەت" - -#: ../gtk/gtkmountoperation.c:491 -msgid "Co_nnect" -msgstr "باغلا(_N)" - -#: ../gtk/gtkmountoperation.c:558 -msgid "Connect _anonymously" -msgstr "ئاتسىز باغلانماق(_A)" - -#: ../gtk/gtkmountoperation.c:567 -msgid "Connect as u_ser:" -msgstr "ئۇلىنىش سالاھىيىتى(_S):" - -#: ../gtk/gtkmountoperation.c:605 -msgid "_Username:" -msgstr "ئىشلەتكۈچى ئاتى(_U):" - -#: ../gtk/gtkmountoperation.c:610 -msgid "_Domain:" -msgstr "دائىرە(_D):" - -#: ../gtk/gtkmountoperation.c:616 -msgid "_Password:" -msgstr "ئىم(_P):" - -#: ../gtk/gtkmountoperation.c:634 -msgid "Forget password _immediately" -msgstr "ئىمنى دەرھال ئۇنتۇ(_I)" - -#: ../gtk/gtkmountoperation.c:644 -msgid "Remember password until you _logout" -msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)" - -#: ../gtk/gtkmountoperation.c:654 -msgid "Remember _forever" -msgstr "مەڭگۈ ئەستە تۇت(_F)" - -#: ../gtk/gtkmountoperation.c:883 -#, c-format -msgid "Unknown Application (PID %d)" -msgstr "نامەلۇم پروگرامما (PID %d)" - -#: ../gtk/gtkmountoperation.c:1066 -msgid "Unable to end process" -msgstr "جەرياننى ئاخىرلاشتۇرالمايدۇ" - -#: ../gtk/gtkmountoperation.c:1103 -msgid "_End Process" -msgstr "مەشغۇلاتنى ئاخىرلاشتۇر(_E)" - -#: ../gtk/gtkmountoperation-stub.c:64 -#, c-format -msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "PID %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." - -#. translators: this string is a name for the 'less' command -#: ../gtk/gtkmountoperation-x11.c:862 -msgid "Terminal Pager" -msgstr "تېرمىنال ئوقۇغۇچ" - -#: ../gtk/gtkmountoperation-x11.c:863 -msgid "Top Command" -msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق" - -#: ../gtk/gtkmountoperation-x11.c:864 -msgid "Bourne Again Shell" -msgstr "Bourne Again Shell" - -#: ../gtk/gtkmountoperation-x11.c:865 -msgid "Bourne Shell" -msgstr "Bourne Shell" - -#: ../gtk/gtkmountoperation-x11.c:866 -msgid "Z Shell" -msgstr "Z Shell" - -#: ../gtk/gtkmountoperation-x11.c:963 -#, c-format -msgid "Cannot end process with PID %d: %s" -msgstr "PID %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" - -#: ../gtk/gtknotebook.c:4914 ../gtk/gtknotebook.c:7571 -#, c-format -msgid "Page %u" -msgstr "%u-بەت" - -#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 -#: ../gtk/gtkpapersize.c:880 -msgid "Not a valid page setup file" -msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس" - -#: ../gtk/gtkpagesetupunixdialog.c:179 -msgid "Any Printer" -msgstr "خالىغان پرىنتېر" - -#: ../gtk/gtkpagesetupunixdialog.c:179 -msgid "For portable documents" -msgstr "ئەپچىل پۈتۈك ئۈچۈن" - -#: ../gtk/gtkpagesetupunixdialog.c:809 -#, c-format +#: ../gtk/gtkcellrenderertext.c:480 msgid "" -"Margins:\n" -" Left: %s %s\n" -" Right: %s %s\n" -" Top: %s %s\n" -" Bottom: %s %s" -msgstr "يان ئارىلىقى:\n" -"سول: %s %s\n" -"ئوڭ: %s %s\n" -" ئۈستى: %s %s\n" -" ئاستى: %s %s" +"The language this text is in, as an ISO code. Pango can use this as a hint " +"when rendering the text. If you don't understand this parameter, you " +"probably don't need it" +msgstr "" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 -msgid "Manage Custom Sizes..." -msgstr "ئىختىيارى چوڭلۇق باشقۇر…" +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 +#: ../gtk/gtkprogressbar.c:207 +msgid "Ellipsize" +msgstr "" -#: ../gtk/gtkpagesetupunixdialog.c:909 -msgid "_Format for:" -msgstr "فورمات(_F):" +#: ../gtk/gtkcellrenderertext.c:501 +msgid "" +"The preferred place to ellipsize the string, if the cell renderer does not " +"have enough room to display the entire string" +msgstr "" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 -msgid "_Paper size:" -msgstr "قەغەز چوڭلۇقى(_P):" +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:719 +msgid "Width In Characters" +msgstr "" -#: ../gtk/gtkpagesetupunixdialog.c:962 -msgid "_Orientation:" -msgstr "يۆنىلىش(_O):" +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 +msgid "The desired width of the label, in characters" +msgstr "" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 -msgid "Page Setup" -msgstr "بەت تەڭشەك" +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 +msgid "Maximum Width In Characters" +msgstr "ئەڭ چوڭ كەڭلىكى(ھەرپ)" -#: ../gtk/gtkpathbar.c:158 -msgid "Up Path" -msgstr "ئۈستۈنكى يول" +#: ../gtk/gtkcellrenderertext.c:546 +msgid "The maximum width of the cell, in characters" +msgstr "" -#: ../gtk/gtkpathbar.c:160 -msgid "Down Path" -msgstr "ئاستىنقى يول" +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 +msgid "Wrap mode" +msgstr "" -#: ../gtk/gtkpathbar.c:1523 -msgid "File System Root" -msgstr "ھۆججەت سىستېما غولى" +#: ../gtk/gtkcellrenderertext.c:565 +msgid "" +"How to break the string into multiple lines, if the cell renderer does not " +"have enough room to display the entire string" +msgstr "" -#: ../gtk/gtkprintbackend.c:749 -msgid "Authentication" -msgstr "سالاھىيەت دەلىللەش" +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 +msgid "Wrap width" +msgstr "" -#: ../gtk/gtkprinteroptionwidget.c:686 -msgid "Not available" -msgstr "ئىشلەتكىلى بولمايدۇ" +#: ../gtk/gtkcellrenderertext.c:585 +msgid "The width at which the text is wrapped" +msgstr "" -#: ../gtk/gtkprinteroptionwidget.c:786 -msgid "Select a folder" -msgstr "قىسقۇچ تاللاڭ" +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 +msgid "Alignment" +msgstr "توغرىلا" -#: ../gtk/gtkprinteroptionwidget.c:805 -msgid "_Save in folder:" -msgstr "قىسقۇچتا ساقلا(_S):" +#: ../gtk/gtkcellrenderertext.c:606 +msgid "How to align the lines" +msgstr "قۇرلارنى قانداق جايلاشتۇرىدۇ" -#. translators: this string is the default job title for print -#. * jobs. %s gets replaced by the application name, %d gets replaced -#. * by the job number. -#. -#: ../gtk/gtkprintoperation.c:190 -#, c-format -msgid "%s job #%d" -msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d" +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 +#: ../gtk/gtktexttag.c:540 +msgid "Background set" +msgstr "تەگلىك تەڭشىكى" -#: ../gtk/gtkprintoperation.c:1695 -msgctxt "print operation status" -msgid "Initial state" -msgstr "دەسلەپكى ھالەت" +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 +#: ../gtk/gtktexttag.c:541 +msgid "Whether this tag affects the background color" +msgstr "" -#: ../gtk/gtkprintoperation.c:1696 -msgctxt "print operation status" -msgid "Preparing to print" -msgstr "بېسىشقا تەييارلىنىۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 +msgid "Foreground set" +msgstr "ئالدى كۆرۈنۈش تەڭشىكى" -#: ../gtk/gtkprintoperation.c:1697 -msgctxt "print operation status" -msgid "Generating data" -msgstr "سانلىق مەلۇمات ياساۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 +msgid "Whether this tag affects the foreground color" +msgstr "" -#: ../gtk/gtkprintoperation.c:1698 -msgctxt "print operation status" -msgid "Sending data" -msgstr "ئۇچۇر يوللاۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 +msgid "Editability set" +msgstr "" -#: ../gtk/gtkprintoperation.c:1699 -msgctxt "print operation status" -msgid "Waiting" -msgstr "ساقلاۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 +msgid "Whether this tag affects text editability" +msgstr "" -#: ../gtk/gtkprintoperation.c:1700 -msgctxt "print operation status" -msgid "Blocking on issue" -msgstr "توسۇلۇش مەسىلىسى" +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 +msgid "Font family set" +msgstr "خەت نۇسخىسى ئاتىنى بەلگىلەش" -#: ../gtk/gtkprintoperation.c:1701 -msgctxt "print operation status" -msgid "Printing" -msgstr "بېسىۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 +msgid "Whether this tag affects the font family" +msgstr "" -#: ../gtk/gtkprintoperation.c:1702 -msgctxt "print operation status" -msgid "Finished" -msgstr "تاماملاندى" +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 +msgid "Font style set" +msgstr "خەت نۇسخىسى ئۇسلۇبى" -#: ../gtk/gtkprintoperation.c:1703 -msgctxt "print operation status" -msgid "Finished with error" -msgstr "خاتالىق بىلەن تاماملاندى" +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 +msgid "Whether this tag affects the font style" +msgstr "" -#: ../gtk/gtkprintoperation.c:2270 -#, c-format -msgid "Preparing %d" -msgstr "%d تەييارلاۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 +msgid "Font variant set" +msgstr "خەت نۇسخىسى باشقا ئاتىنى بەلگىلەش" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 -msgid "Preparing" -msgstr "تەييارلىق ھالەت" +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 +msgid "Whether this tag affects the font variant" +msgstr "" -#: ../gtk/gtkprintoperation.c:2275 -#, c-format -msgid "Printing %d" -msgstr "%d نى بېسىۋاتىدۇ" +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 +msgid "Font weight set" +msgstr "خەت نۇسخىسى توملۇقىنى بەلگىلەش" -#: ../gtk/gtkprintoperation.c:2932 -msgid "Error creating print preview" -msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى" +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 +msgid "Whether this tag affects the font weight" +msgstr "" -#: ../gtk/gtkprintoperation.c:2935 -msgid "The most probable reason is that a temporary file could not be created." -msgstr "مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 +msgid "Font stretch set" +msgstr "خەت نۇسخىسىنى سوزۇشنى بەلگىلەش" -#: ../gtk/gtkprintoperation-unix.c:304 -msgid "Error launching preview" -msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 +msgid "Whether this tag affects the font stretch" +msgstr "" -#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 -msgid "Application" -msgstr "پروگرامما" +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 +msgid "Font size set" +msgstr "خەت نۇسخىسى چوڭلۇقىنى بەلگىلەش" -#: ../gtk/gtkprintoperation-win32.c:611 -msgid "Printer offline" -msgstr "پرىنتېر ئۈزۈك ھالەتتە" +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 +msgid "Whether this tag affects the font size" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:613 -msgid "Out of paper" -msgstr "قەغەز يېتىشمىدى" +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 +msgid "Font scale set" +msgstr "" -#. Translators: this is a printer status. -#: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 -msgid "Paused" -msgstr "ۋاقىتلىق توختىدى" +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 +msgid "Whether this tag scales the font size by a factor" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:617 -msgid "Need user intervention" -msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج" +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 +msgid "Rise set" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:717 -msgid "Custom size" -msgstr "ئىختىيارى چوڭلۇق" +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 +msgid "Whether this tag affects the rise" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:1539 -msgid "No printer found" -msgstr "پرىنتېر تېپىلمىدى" +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 +msgid "Strikethrough set" +msgstr "ئۆچۈرۈش سىزىقىنى تەڭشىكى" -#: ../gtk/gtkprintoperation-win32.c:1566 -msgid "Invalid argument to CreateDC" -msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز" +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 +msgid "Whether this tag affects strikethrough" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 -msgid "Error from StartDoc" -msgstr "StartDoc دىن خاتالىق كۆرۈلدى" +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 +msgid "Underline set" +msgstr "ئاستى سىزىق تەڭشىكى" -#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 -#: ../gtk/gtkprintoperation-win32.c:1755 -msgid "Not enough free memory" -msgstr "يېتەرلىك بوش ئەسلەك يوق." +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 +msgid "Whether this tag affects underlining" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:1760 -msgid "Invalid argument to PrintDlgEx" -msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز" +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 +msgid "Language set" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:1765 -msgid "Invalid pointer to PrintDlgEx" -msgstr "PrintDlgEx نىڭ ئىسترېلكىسى ئىناۋەتسىز" +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 +msgid "Whether this tag affects the language the text is rendered as" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:1770 -msgid "Invalid handle to PrintDlgEx" -msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز" +#: ../gtk/gtkcellrenderertext.c:674 +msgid "Ellipsize set" +msgstr "" -#: ../gtk/gtkprintoperation-win32.c:1775 -msgid "Unspecified error" -msgstr "ئېنىقسىز خاتالىق" +#: ../gtk/gtkcellrenderertext.c:675 +msgid "Whether this tag affects the ellipsize mode" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:618 -msgid "Getting printer information failed" -msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" +#: ../gtk/gtkcellrenderertext.c:678 +msgid "Align set" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:1873 -msgid "Getting printer information..." -msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" +#: ../gtk/gtkcellrenderertext.c:679 +msgid "Whether this tag affects the alignment mode" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2140 -msgid "Printer" -msgstr "پرىنتېر" +#: ../gtk/gtkcellrenderertoggle.c:128 +msgid "Toggle state" +msgstr "" -#. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2150 +#: ../gtk/gtkcellrenderertoggle.c:129 +msgid "The toggle state of the button" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:136 +msgid "Inconsistent state" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:137 +msgid "The inconsistent state of the button" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:144 +msgid "Activatable" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:145 +msgid "The toggle button can be activated" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:152 +msgid "Radio state" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:153 +msgid "Draw the toggle button as a radio button" +msgstr "" + +#: ../gtk/gtkcellrenderertoggle.c:160 +msgid "Indicator size" +msgstr "كۆرسەتكۈچ چوڭلۇقى" + +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 +#: ../gtk/gtkcheckmenuitem.c:129 +msgid "Size of check or radio indicator" +msgstr "" + +#: ../gtk/gtkcellview.c:213 +msgid "Background RGBA color" +msgstr "تەگلىكنىڭ RGBA رەڭگى" + +#: ../gtk/gtkcellview.c:228 +msgid "CellView model" +msgstr "" + +#: ../gtk/gtkcellview.c:229 +msgid "The model for cell view" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 +msgid "Indicator Size" +msgstr "كۆرسەتكۈچ چوڭلۇقى" + +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 +msgid "Indicator Spacing" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:86 +msgid "Spacing around check or radio indicator" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:106 +msgid "Whether the menu item is checked" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 +msgid "Inconsistent" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:114 +msgid "Whether to display an \"inconsistent\" state" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:121 +msgid "Draw as radio menu item" +msgstr "" + +#: ../gtk/gtkcheckmenuitem.c:122 +msgid "Whether the menu item looks like a radio menu item" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:171 +msgid "Use alpha" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:172 +msgid "Whether to give the color an alpha value" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 +msgid "Title" +msgstr "ماۋزۇ" + +#: ../gtk/gtkcolorbutton.c:187 +msgid "The title of the color selection dialog" +msgstr "رەڭ تاللاش سۆزلەشكۈسىنىڭ ماۋزۇسى" + +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 +msgid "Current Color" +msgstr "ھازىرقى رەڭ" + +#: ../gtk/gtkcolorbutton.c:202 +msgid "The selected color" +msgstr "تاللانغان رەڭ" + +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 +msgid "Current Alpha" +msgstr "ھازىرقى ئالفا" + +#: ../gtk/gtkcolorbutton.c:217 +msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" +msgstr "" + +#: ../gtk/gtkcolorbutton.c:231 +msgid "Current RGBA Color" +msgstr "ھازىرقى RGBA رېڭى" + +#: ../gtk/gtkcolorbutton.c:232 +msgid "The selected RGBA color" +msgstr "" + +#: ../gtk/gtkcolorsel.c:324 +msgid "Has Opacity Control" +msgstr "" + +#: ../gtk/gtkcolorsel.c:325 +msgid "Whether the color selector should allow setting opacity" +msgstr "" + +#: ../gtk/gtkcolorsel.c:331 +msgid "Has palette" +msgstr "" + +#: ../gtk/gtkcolorsel.c:332 +msgid "Whether a palette should be used" +msgstr "" + +#: ../gtk/gtkcolorsel.c:339 +msgid "The current color" +msgstr "" + +#: ../gtk/gtkcolorsel.c:346 +msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" +msgstr "" + +#: ../gtk/gtkcolorsel.c:360 +msgid "Current RGBA" +msgstr "ھازىرقى RGBA" + +#: ../gtk/gtkcolorsel.c:361 +msgid "The current RGBA color" +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:110 +msgid "Color Selection" +msgstr "رەڭ تاللاش" + +#: ../gtk/gtkcolorseldialog.c:111 +msgid "The color selection embedded in the dialog." +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:117 +msgid "OK Button" +msgstr "OK توپچىسى" + +#: ../gtk/gtkcolorseldialog.c:118 +msgid "The OK button of the dialog." +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:124 +msgid "Cancel Button" +msgstr "ۋاز كەچ توپچىسى" + +#: ../gtk/gtkcolorseldialog.c:125 +msgid "The cancel button of the dialog." +msgstr "" + +#: ../gtk/gtkcolorseldialog.c:131 +msgid "Help Button" +msgstr "ياردەم توپچىسى" + +#: ../gtk/gtkcolorseldialog.c:132 +msgid "The help button of the dialog." +msgstr "" + +#: ../gtk/gtkcombobox.c:737 +msgid "ComboBox model" +msgstr "" + +#: ../gtk/gtkcombobox.c:738 +msgid "The model for the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:755 +msgid "Wrap width for laying out the items in a grid" +msgstr "" + +#: ../gtk/gtkcombobox.c:777 +msgid "Row span column" +msgstr "" + +#: ../gtk/gtkcombobox.c:778 +msgid "TreeModel column containing the row span values" +msgstr "" + +#: ../gtk/gtkcombobox.c:799 +msgid "Column span column" +msgstr "" + +#: ../gtk/gtkcombobox.c:800 +msgid "TreeModel column containing the column span values" +msgstr "" + +#: ../gtk/gtkcombobox.c:821 +msgid "Active item" +msgstr "ئاكتىپ تۈر" + +#: ../gtk/gtkcombobox.c:822 +msgid "The item which is currently active" +msgstr "" + +#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 +msgid "Add tearoffs to menus" +msgstr "" + +#: ../gtk/gtkcombobox.c:842 +msgid "Whether dropdowns should have a tearoff menu item" +msgstr "" + +#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 +msgid "Has Frame" +msgstr "" + +#: ../gtk/gtkcombobox.c:858 +msgid "Whether the combo box draws a frame around the child" +msgstr "" + +#: ../gtk/gtkcombobox.c:866 +msgid "Whether the combo box grabs focus when it is clicked with the mouse" +msgstr "" + +#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 +msgid "Tearoff Title" +msgstr "" + +#: ../gtk/gtkcombobox.c:882 +msgid "" +"A title that may be displayed by the window manager when the popup is torn-" +"off" +msgstr "" + +#: ../gtk/gtkcombobox.c:899 +msgid "Popup shown" +msgstr "" + +#: ../gtk/gtkcombobox.c:900 +msgid "Whether the combo's dropdown is shown" +msgstr "" + +#: ../gtk/gtkcombobox.c:916 +msgid "Button Sensitivity" +msgstr "" + +#: ../gtk/gtkcombobox.c:917 +msgid "Whether the dropdown button is sensitive when the model is empty" +msgstr "" + +#: ../gtk/gtkcombobox.c:933 +msgid "Whether combo box has an entry" +msgstr "" + +#: ../gtk/gtkcombobox.c:948 +msgid "Entry Text Column" +msgstr "" + +#: ../gtk/gtkcombobox.c:949 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" + +#: ../gtk/gtkcombobox.c:966 +msgid "ID Column" +msgstr "" + +#: ../gtk/gtkcombobox.c:967 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "" + +#: ../gtk/gtkcombobox.c:982 +msgid "Active id" +msgstr "" + +#: ../gtk/gtkcombobox.c:983 +msgid "The value of the id column for the active row" +msgstr "" + +#: ../gtk/gtkcombobox.c:998 +msgid "Popup Fixed Width" +msgstr "" + +#: ../gtk/gtkcombobox.c:999 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:1007 +msgid "Appears as list" +msgstr "" + +#: ../gtk/gtkcombobox.c:1008 +msgid "Whether dropdowns should look like lists rather than menus" +msgstr "" + +#: ../gtk/gtkcombobox.c:1024 +msgid "Arrow Size" +msgstr "" + +#: ../gtk/gtkcombobox.c:1025 +msgid "The minimum size of the arrow in the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkviewport.c:154 +msgid "Shadow type" +msgstr "" + +#: ../gtk/gtkcombobox.c:1041 +msgid "Which kind of shadow to draw around the combo box" +msgstr "" + +#: ../gtk/gtkcontainer.c:451 +msgid "Resize mode" +msgstr "" + +#: ../gtk/gtkcontainer.c:452 +msgid "Specify how resize events are handled" +msgstr "" + +#: ../gtk/gtkcontainer.c:459 +msgid "Border width" +msgstr "يان رامكا كەڭلىكى" + +#: ../gtk/gtkcontainer.c:460 +msgid "The width of the empty border outside the containers children" +msgstr "" + +#: ../gtk/gtkcontainer.c:468 +msgid "Child" +msgstr "" + +#: ../gtk/gtkcontainer.c:469 +msgid "Can be used to add a new child to the container" +msgstr "" + +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 +msgid "Content area border" +msgstr "" + +#: ../gtk/gtkdialog.c:166 +msgid "Width of border around the main dialog area" +msgstr "" + +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 +msgid "Content area spacing" +msgstr "" + +#: ../gtk/gtkdialog.c:184 +msgid "Spacing between elements of the main dialog area" +msgstr "" + +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 +msgid "Button spacing" +msgstr "" + +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 +msgid "Spacing between buttons" +msgstr "" + +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 +msgid "Action area border" +msgstr "" + +#: ../gtk/gtkdialog.c:201 +msgid "Width of border around the button area at the bottom of the dialog" +msgstr "" + +#: ../gtk/gtkentry.c:726 +msgid "Text Buffer" +msgstr "تېكىست يىغلەكى" + +#: ../gtk/gtkentry.c:727 +msgid "Text buffer object which actually stores entry text" +msgstr "" + +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 +msgid "Cursor Position" +msgstr "نۇر بەلگە ئورنى" + +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 +msgid "The current position of the insertion cursor in chars" +msgstr "" + +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 +msgid "Selection Bound" +msgstr "تاللاش دائىرىسى" + +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "" + +#: ../gtk/gtkentry.c:755 +msgid "Whether the entry contents can be edited" +msgstr "" + +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 +msgid "Maximum length" +msgstr "ئەڭ چوڭ ئۇزۇنلۇقى" + +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "" + +#: ../gtk/gtkentry.c:771 +msgid "Visibility" +msgstr "كۆرۈشچانلىقى" + +#: ../gtk/gtkentry.c:772 +msgid "" +"FALSE displays the \"invisible char\" instead of the actual text (password " +"mode)" +msgstr "" + +#: ../gtk/gtkentry.c:780 +msgid "FALSE removes outside bevel from entry" +msgstr "" + +#: ../gtk/gtkentry.c:788 +msgid "" +"Border between text and frame. Overrides the inner-border style property" +msgstr "" + +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 +msgid "Invisible character" +msgstr "كۆرۈنمەيدىغان ھەرپ" + +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" + +#: ../gtk/gtkentry.c:803 +msgid "Activates default" +msgstr "" + +#: ../gtk/gtkentry.c:804 +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" + +#: ../gtk/gtkentry.c:810 +msgid "Width in chars" +msgstr "" + +#: ../gtk/gtkentry.c:811 +msgid "Number of characters to leave space for in the entry" +msgstr "" + +#: ../gtk/gtkentry.c:820 +msgid "Scroll offset" +msgstr "" + +#: ../gtk/gtkentry.c:821 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "" + +#: ../gtk/gtkentry.c:831 +msgid "The contents of the entry" +msgstr "" + +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 +msgid "X align" +msgstr "" + +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 +msgid "" +"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " +"layouts." +msgstr "" + +#: ../gtk/gtkentry.c:863 +msgid "Truncate multiline" +msgstr "" + +#: ../gtk/gtkentry.c:864 +msgid "Whether to truncate multiline pastes to one line." +msgstr "" + +#: ../gtk/gtkentry.c:880 +msgid "Which kind of shadow to draw around the entry when has-frame is set" +msgstr "" + +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 +msgid "Overwrite mode" +msgstr "قاپلاش مودېلى" + +#: ../gtk/gtkentry.c:896 +msgid "Whether new text overwrites existing text" +msgstr "" + +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 +msgid "Text length" +msgstr "تېكىست ئۇزۇنلۇقى" + +#: ../gtk/gtkentry.c:911 +msgid "Length of the text currently in the entry" +msgstr "" + +#: ../gtk/gtkentry.c:926 +msgid "Invisible character set" +msgstr "كۆرۈنمەيدىغان ھەرپ توپلىمى" + +#: ../gtk/gtkentry.c:927 +msgid "Whether the invisible character has been set" +msgstr "" + +#: ../gtk/gtkentry.c:945 +msgid "Caps Lock warning" +msgstr "" + +#: ../gtk/gtkentry.c:946 +msgid "Whether password entries will show a warning when Caps Lock is on" +msgstr "" + +#: ../gtk/gtkentry.c:960 +msgid "Progress Fraction" +msgstr "" + +#: ../gtk/gtkentry.c:961 +msgid "The current fraction of the task that's been completed" +msgstr "" + +#: ../gtk/gtkentry.c:978 +msgid "Progress Pulse Step" +msgstr "" + +#: ../gtk/gtkentry.c:979 +msgid "" +"The fraction of total entry width to move the progress bouncing block for " +"each call to gtk_entry_progress_pulse()" +msgstr "" + +#: ../gtk/gtkentry.c:995 +msgid "Primary pixbuf" +msgstr "" + +#: ../gtk/gtkentry.c:996 +msgid "Primary pixbuf for the entry" +msgstr "" + +#: ../gtk/gtkentry.c:1010 +msgid "Secondary pixbuf" +msgstr "" + +#: ../gtk/gtkentry.c:1011 +msgid "Secondary pixbuf for the entry" +msgstr "" + +#: ../gtk/gtkentry.c:1025 +msgid "Primary stock ID" +msgstr "" + +#: ../gtk/gtkentry.c:1026 +msgid "Stock ID for primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1040 +msgid "Secondary stock ID" +msgstr "" + +#: ../gtk/gtkentry.c:1041 +msgid "Stock ID for secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1055 +msgid "Primary icon name" +msgstr "" + +#: ../gtk/gtkentry.c:1056 +msgid "Icon name for primary icon" +msgstr "بىرىنچى سىنبەلگىنىڭ سىنبەلگە ئاتى" + +#: ../gtk/gtkentry.c:1070 +msgid "Secondary icon name" +msgstr "" + +#: ../gtk/gtkentry.c:1071 +msgid "Icon name for secondary icon" +msgstr "ئىككىنچى سىنبەلگىنىڭ سىنبەلگە ئاتى" + +#: ../gtk/gtkentry.c:1085 +msgid "Primary GIcon" +msgstr "" + +#: ../gtk/gtkentry.c:1086 +msgid "GIcon for primary icon" +msgstr "دەسلەپكى سىنبەلگىنىڭ GIcon ئى" + +#: ../gtk/gtkentry.c:1100 +msgid "Secondary GIcon" +msgstr "" + +#: ../gtk/gtkentry.c:1101 +msgid "GIcon for secondary icon" +msgstr "ئىككىنچى سىنبەلگىنىڭ GIcon ئى" + +#: ../gtk/gtkentry.c:1115 +msgid "Primary storage type" +msgstr "" + +#: ../gtk/gtkentry.c:1116 +msgid "The representation being used for primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1131 +msgid "Secondary storage type" +msgstr "" + +#: ../gtk/gtkentry.c:1132 +msgid "The representation being used for secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1153 +msgid "Primary icon activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1154 +msgid "Whether the primary icon is activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1174 +msgid "Secondary icon activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1175 +msgid "Whether the secondary icon is activatable" +msgstr "" + +#: ../gtk/gtkentry.c:1197 +msgid "Primary icon sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1198 +msgid "Whether the primary icon is sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1219 +msgid "Secondary icon sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1220 +msgid "Whether the secondary icon is sensitive" +msgstr "" + +#: ../gtk/gtkentry.c:1236 +msgid "Primary icon tooltip text" +msgstr "" + +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 +msgid "The contents of the tooltip on the primary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1253 +msgid "Secondary icon tooltip text" +msgstr "" + +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 +msgid "The contents of the tooltip on the secondary icon" +msgstr "" + +#: ../gtk/gtkentry.c:1272 +msgid "Primary icon tooltip markup" +msgstr "" + +#: ../gtk/gtkentry.c:1291 +msgid "Secondary icon tooltip markup" +msgstr "" + +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 +msgid "IM module" +msgstr "" + +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 +msgid "Which IM module should be used" +msgstr "" + +#: ../gtk/gtkentry.c:1326 +msgid "Icon Prelight" +msgstr "" + +#: ../gtk/gtkentry.c:1327 +msgid "Whether activatable icons should prelight when hovered" +msgstr "" + +#: ../gtk/gtkentry.c:1340 +msgid "Progress Border" +msgstr "" + +#: ../gtk/gtkentry.c:1341 +msgid "Border around the progress bar" +msgstr "" + +#: ../gtk/gtkentry.c:1833 +msgid "Border between text and frame." +msgstr "" + +#: ../gtk/gtkentrybuffer.c:353 +msgid "The contents of the buffer" +msgstr "" + +#: ../gtk/gtkentrybuffer.c:368 +msgid "Length of the text currently in the buffer" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:267 +msgid "Completion Model" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:268 +msgid "The model to find matches in" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:274 +msgid "Minimum Key Length" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:275 +msgid "Minimum length of the search key in order to look up matches" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 +msgid "Text column" +msgstr "تېكىست ئىستونى" + +#: ../gtk/gtkentrycompletion.c:292 +msgid "The column of the model containing the strings." +msgstr "" + +#: ../gtk/gtkentrycompletion.c:311 +msgid "Inline completion" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:312 +msgid "Whether the common prefix should be inserted automatically" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:326 +msgid "Popup completion" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:327 +msgid "Whether the completions should be shown in a popup window" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:342 +msgid "Popup set width" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:343 +msgid "If TRUE, the popup window will have the same size as the entry" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:361 +msgid "Popup single match" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:362 +msgid "If TRUE, the popup window will appear for a single match." +msgstr "" + +#: ../gtk/gtkentrycompletion.c:376 +msgid "Inline selection" +msgstr "ئىچكى تاللاش" + +#: ../gtk/gtkentrycompletion.c:377 +msgid "Your description here" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 +msgid "Cell Area" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 +msgid "The GtkCellArea used to layout cells" +msgstr "" + +#: ../gtk/gtkeventbox.c:101 +msgid "Visible Window" +msgstr "" + +#: ../gtk/gtkeventbox.c:102 +msgid "" +"Whether the event box is visible, as opposed to invisible and only used to " +"trap events." +msgstr "" + +#: ../gtk/gtkeventbox.c:108 +msgid "Above child" +msgstr "" + +#: ../gtk/gtkeventbox.c:109 +msgid "" +"Whether the event-trapping window of the eventbox is above the window of the " +"child widget as opposed to below it." +msgstr "" + +#: ../gtk/gtkexpander.c:199 +msgid "Expanded" +msgstr "كېڭەيتىلگەن" + +#: ../gtk/gtkexpander.c:200 +msgid "Whether the expander has been opened to reveal the child widget" +msgstr "" + +#: ../gtk/gtkexpander.c:208 +msgid "Text of the expander's label" +msgstr "" + +#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 +msgid "Use markup" +msgstr "" + +#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 +msgid "The text of the label includes XML markup. See pango_parse_markup()" +msgstr "" + +#: ../gtk/gtkexpander.c:232 +msgid "Space to put between the label and the child" +msgstr "" + +#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtktoolitemgroup.c:1595 +msgid "Label widget" +msgstr "" + +#: ../gtk/gtkexpander.c:242 +msgid "A widget to display in place of the usual expander label" +msgstr "" + +#: ../gtk/gtkexpander.c:249 +msgid "Label fill" +msgstr "" + +#: ../gtk/gtkexpander.c:250 +msgid "Whether the label widget should fill all available horizontal space" +msgstr "" + +#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1190 +msgid "Expander Size" +msgstr "" + +#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1191 +msgid "Size of the expander arrow" +msgstr "" + +#: ../gtk/gtkexpander.c:266 +msgid "Spacing around expander arrow" +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:366 +msgid "Dialog" +msgstr "سۆزلىشىش رامكىسى" + +#: ../gtk/gtkfilechooserbutton.c:367 +msgid "The file chooser dialog to use." +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:398 +msgid "The title of the file chooser dialog." +msgstr "" + +#: ../gtk/gtkfilechooserbutton.c:412 +msgid "The desired width of the button widget, in characters." +msgstr "" + +#: ../gtk/gtkfilechooser.c:740 +msgid "Action" +msgstr "مەشغۇلات" + +#: ../gtk/gtkfilechooser.c:741 +msgid "The type of operation that the file selector is performing" +msgstr "" + +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 +msgid "Filter" +msgstr "سۈزگۈچ" + +#: ../gtk/gtkfilechooser.c:748 +msgid "The current filter for selecting which files are displayed" +msgstr "" + +#: ../gtk/gtkfilechooser.c:753 +msgid "Local Only" +msgstr "يەرلىكلا" + +#: ../gtk/gtkfilechooser.c:754 +msgid "Whether the selected file(s) should be limited to local file: URLs" +msgstr "" + +#: ../gtk/gtkfilechooser.c:759 +msgid "Preview widget" +msgstr "" + +#: ../gtk/gtkfilechooser.c:760 +msgid "Application supplied widget for custom previews." +msgstr "" + +#: ../gtk/gtkfilechooser.c:765 +msgid "Preview Widget Active" +msgstr "" + +#: ../gtk/gtkfilechooser.c:766 +msgid "" +"Whether the application supplied widget for custom previews should be shown." +msgstr "" + +#: ../gtk/gtkfilechooser.c:771 +msgid "Use Preview Label" +msgstr "" + +#: ../gtk/gtkfilechooser.c:772 +msgid "Whether to display a stock label with the name of the previewed file." +msgstr "" + +#: ../gtk/gtkfilechooser.c:777 +msgid "Extra widget" +msgstr "" + +#: ../gtk/gtkfilechooser.c:778 +msgid "Application supplied widget for extra options." +msgstr "" + +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 +msgid "Select Multiple" +msgstr "كۆپ تاللاش" + +#: ../gtk/gtkfilechooser.c:784 +msgid "Whether to allow multiple files to be selected" +msgstr "" + +#: ../gtk/gtkfilechooser.c:790 +msgid "Show Hidden" +msgstr "" + +#: ../gtk/gtkfilechooser.c:791 +msgid "Whether the hidden files and folders should be displayed" +msgstr "" + +#: ../gtk/gtkfilechooser.c:806 +msgid "Do overwrite confirmation" +msgstr "" + +#: ../gtk/gtkfilechooser.c:807 +msgid "" +"Whether a file chooser in save mode will present an overwrite confirmation " +"dialog if necessary." +msgstr "" + +#: ../gtk/gtkfilechooser.c:823 +msgid "Allow folder creation" +msgstr "" + +#: ../gtk/gtkfilechooser.c:824 +msgid "" +"Whether a file chooser not in open mode will offer the user to create new " +"folders." +msgstr "" + +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 +msgid "X position" +msgstr "" + +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 +msgid "X position of child widget" +msgstr "" + +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 +msgid "Y position" +msgstr "" + +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 +msgid "Y position of child widget" +msgstr "" + +#: ../gtk/gtkfontbutton.c:141 +msgid "The title of the font selection dialog" +msgstr "" + +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 +msgid "Font name" +msgstr "خەت نۇسخا ئاتى" + +#: ../gtk/gtkfontbutton.c:157 +msgid "The name of the selected font" +msgstr "" + +#: ../gtk/gtkfontbutton.c:158 +msgid "Sans 12" +msgstr "UKIJ Tuz Tom 10" + +#: ../gtk/gtkfontbutton.c:173 +msgid "Use font in label" +msgstr "خەتكۈشكە ئىشلىتىدىغان خەت نۇسخا" + +#: ../gtk/gtkfontbutton.c:174 +msgid "Whether the label is drawn in the selected font" +msgstr "" + +#: ../gtk/gtkfontbutton.c:189 +msgid "Use size in label" +msgstr "" + +#: ../gtk/gtkfontbutton.c:190 +msgid "Whether the label is drawn with the selected font size" +msgstr "" + +#: ../gtk/gtkfontbutton.c:206 +msgid "Show style" +msgstr "" + +#: ../gtk/gtkfontbutton.c:207 +msgid "Whether the selected font style is shown in the label" +msgstr "" + +#: ../gtk/gtkfontbutton.c:222 +msgid "Show size" +msgstr "چوڭلۇقىنى كۆرسەت" + +#: ../gtk/gtkfontbutton.c:223 +msgid "Whether selected font size is shown in the label" +msgstr "" + +#: ../gtk/gtkfontsel.c:224 +msgid "The string that represents this font" +msgstr "" + +#: ../gtk/gtkfontsel.c:230 +msgid "Preview text" +msgstr "تېكىستنى ئالدىن كۆزەت" + +#: ../gtk/gtkfontsel.c:231 +msgid "The text to display in order to demonstrate the selected font" +msgstr "" + +#: ../gtk/gtkframe.c:131 +msgid "Text of the frame's label" +msgstr "" + +#: ../gtk/gtkframe.c:138 +msgid "Label xalign" +msgstr "" + +#: ../gtk/gtkframe.c:139 +msgid "The horizontal alignment of the label" +msgstr "" + +#: ../gtk/gtkframe.c:147 +msgid "Label yalign" +msgstr "" + +#: ../gtk/gtkframe.c:148 +msgid "The vertical alignment of the label" +msgstr "" + +#: ../gtk/gtkframe.c:156 +msgid "Frame shadow" +msgstr "" + +#: ../gtk/gtkframe.c:157 +msgid "Appearance of the frame border" +msgstr "كۆزنەك گىرۋىكىنىڭ كۆرۈنۈشى" + +#: ../gtk/gtkframe.c:166 +msgid "A widget to display in place of the usual frame label" +msgstr "" + +#: ../gtk/gtkhandlebox.c:189 +msgid "Appearance of the shadow that surrounds the container" +msgstr "" + +#: ../gtk/gtkhandlebox.c:197 +msgid "Handle position" +msgstr "" + +#: ../gtk/gtkhandlebox.c:198 +msgid "Position of the handle relative to the child widget" +msgstr "" + +#: ../gtk/gtkhandlebox.c:206 +msgid "Snap edge" +msgstr "" + +#: ../gtk/gtkhandlebox.c:207 +msgid "" +"Side of the handlebox that's lined up with the docking point to dock the " +"handlebox" +msgstr "" + +#: ../gtk/gtkhandlebox.c:215 +msgid "Snap edge set" +msgstr "" + +#: ../gtk/gtkhandlebox.c:216 +msgid "" +"Whether to use the value from the snap_edge property or a value derived from " +"handle_position" +msgstr "" + +#: ../gtk/gtkhandlebox.c:223 +msgid "Child Detached" +msgstr "" + +#: ../gtk/gtkhandlebox.c:224 +msgid "" +"A boolean value indicating whether the handlebox's child is attached or " +"detached." +msgstr "" + +#: ../gtk/gtkiconview.c:580 +msgid "Selection mode" +msgstr "تاللاش مودېلى" + +#: ../gtk/gtkiconview.c:581 +msgid "The selection mode" +msgstr "تاللاش مودېلى" + +#: ../gtk/gtkiconview.c:599 +msgid "Pixbuf column" +msgstr "Pixbuf ئىستونى" + +#: ../gtk/gtkiconview.c:600 +msgid "Model column used to retrieve the icon pixbuf from" +msgstr "سىنبەلگە pixbuf دىن ئىزدەشتە ئىشلىتىدىغان مودېل ئىستونى" + +#: ../gtk/gtkiconview.c:618 +msgid "Model column used to retrieve the text from" +msgstr "تېكىستتىن ئىزدەشتە ئىشلىتىلىدىغان مودېل ئىستونى" + +#: ../gtk/gtkiconview.c:637 +msgid "Markup column" +msgstr "Markup ئىستونى" + +#: ../gtk/gtkiconview.c:638 +msgid "Model column used to retrieve the text if using Pango markup" +msgstr "Pango markup ئىشلىتىلگەن ۋاقىتتا تېكىستتىن ئىزدەشتە ئىشلىتىلىدىغان مودېل ئىستونى" + +#: ../gtk/gtkiconview.c:645 +msgid "Icon View Model" +msgstr "سىنبەلگىنىڭ كۆرۈنۈش مودېلى" + +#: ../gtk/gtkiconview.c:646 +msgid "The model for the icon view" +msgstr "سىنبەلگە كۆرسىتىش ئۈچۈن ئىشلىتىدىغان مودېل" + +#: ../gtk/gtkiconview.c:662 +msgid "Number of columns" +msgstr "ئىستون سانى" + +#: ../gtk/gtkiconview.c:663 +msgid "Number of columns to display" +msgstr "كۆرسىتىدىغان ئىستون سانى" + +#: ../gtk/gtkiconview.c:680 +msgid "Width for each item" +msgstr "ھەر بىر item نىڭ كەڭلىكى" + +#: ../gtk/gtkiconview.c:681 +msgid "The width used for each item" +msgstr "ھەر بىر item دا ئىشلىتىلىدىغان كەڭلىك" + +#: ../gtk/gtkiconview.c:697 +msgid "Space which is inserted between cells of an item" +msgstr "item كاتەكچىسى ئارىسىدىكى بوشلۇق" + +#: ../gtk/gtkiconview.c:712 +msgid "Row Spacing" +msgstr "قۇر ئارىلىقى" + +#: ../gtk/gtkiconview.c:713 +msgid "Space which is inserted between grid rows" +msgstr "قۇرلار ئارىسىدىكى بوشلۇق" + +#: ../gtk/gtkiconview.c:728 +msgid "Column Spacing" +msgstr "ئىستوننىڭ بوشلۇقى" + +#: ../gtk/gtkiconview.c:729 +msgid "Space which is inserted between grid columns" +msgstr "" + +#: ../gtk/gtkiconview.c:744 +msgid "Margin" +msgstr "گىرۋەكتىكى بوشلۇق" + +#: ../gtk/gtkiconview.c:745 +msgid "Space which is inserted at the edges of the icon view" +msgstr "سىنبەلگىنىڭ گىرۋىكىگە قىستۇرۇلغان بوشلۇق" + +#: ../gtk/gtkiconview.c:760 +msgid "Item Orientation" +msgstr "تۈر يۆنىلىشى" + +#: ../gtk/gtkiconview.c:761 +msgid "" +"How the text and icon of each item are positioned relative to each other" +msgstr "ھەربىر تېكىست ۋە سىنبەلگىنىڭ قايسى ئورۇندا ئىكەنلىكىنى بەلگىلەش" + +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 +#: ../gtk/gtktreeviewcolumn.c:358 +msgid "Reorderable" +msgstr "تەرتىپىنى ئۆزگەرتكىلى بولىدۇ" + +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 +msgid "View is reorderable" +msgstr "view تەرتىپىنى ئۆزگەرتكىلى بولىدۇ" + +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 +msgid "Tooltip Column" +msgstr "" + +#: ../gtk/gtkiconview.c:786 +msgid "The column in the model containing the tooltip texts for the items" +msgstr "" + +#: ../gtk/gtkiconview.c:803 +msgid "Item Padding" +msgstr "" + +#: ../gtk/gtkiconview.c:804 +msgid "Padding around icon view items" +msgstr "" + +#: ../gtk/gtkiconview.c:817 +msgid "Selection Box Color" +msgstr "تاللانغان كۆزنەكچىنىڭ رەڭگى" + +#: ../gtk/gtkiconview.c:818 +msgid "Color of the selection box" +msgstr "تاللانغان كۆزنەكچىنىڭ رەڭگى" + +#: ../gtk/gtkiconview.c:824 +msgid "Selection Box Alpha" +msgstr "تاللانغان كۆزنەكچىنىڭ α قىممىتى" + +#: ../gtk/gtkiconview.c:825 +msgid "Opacity of the selection box" +msgstr "تاللانغان كۆزنەكچىنىڭ سۈزۈكلۈكى" + +#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 +msgid "Pixbuf" +msgstr "Pixbuf" + +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 +msgid "A GdkPixbuf to display" +msgstr "" + +#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:220 +msgid "Filename" +msgstr "ھۆججەت ئاتى" + +#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 +msgid "Filename to load and display" +msgstr "ئوقۇيدىغان ۋە كۆرسىتىدىغان ھۆججەت ئاتى" + +#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 +msgid "Stock ID for a stock image to display" +msgstr "" + +#: ../gtk/gtkimage.c:258 +msgid "Icon set" +msgstr "سىنبەلگە توپلىمى" + +#: ../gtk/gtkimage.c:259 +msgid "Icon set to display" +msgstr "" + +#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolpalette.c:1030 +msgid "Icon size" +msgstr "سىنبەلگە چوڭلۇقى" + +#: ../gtk/gtkimage.c:267 +msgid "Symbolic size to use for stock icon, icon set or named icon" +msgstr "" + +#: ../gtk/gtkimage.c:283 +msgid "Pixel size" +msgstr "پىكسېل چوڭلۇقى" + +#: ../gtk/gtkimage.c:284 +msgid "Pixel size to use for named icon" +msgstr "" + +#: ../gtk/gtkimage.c:292 +msgid "Animation" +msgstr "جانلاندۇرۇم" + +#: ../gtk/gtkimage.c:293 +msgid "GdkPixbufAnimation to display" +msgstr "" + +#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 +msgid "Storage type" +msgstr "" + +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 +msgid "The representation being used for image data" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:149 +msgid "Child widget to appear next to the menu text" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:164 +msgid "Whether to use the label text to create a stock menu item" +msgstr "" + +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 +msgid "Accel Group" +msgstr "Accel گۇرۇپپىسى" + +#: ../gtk/gtkimagemenuitem.c:198 +msgid "The Accel Group to use for stock accelerator keys" +msgstr "" + +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 +msgid "Message Type" +msgstr "ئۇچۇر تىپى" + +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 +msgid "The type of message" +msgstr "" + +#: ../gtk/gtkinfobar.c:435 +msgid "Width of border around the content area" +msgstr "" + +#: ../gtk/gtkinfobar.c:452 +msgid "Spacing between elements of the area" +msgstr "" + +#: ../gtk/gtkinfobar.c:484 +msgid "Width of border around the action area" +msgstr "" + +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 +msgid "Screen" +msgstr "ئېكران" + +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 +msgid "The screen where this window will be displayed" +msgstr "" + +#: ../gtk/gtklabel.c:567 +msgid "The text of the label" +msgstr "تېكىست نىڭ ئېنى" + +#: ../gtk/gtklabel.c:574 +msgid "A list of style attributes to apply to the text of the label" +msgstr "" + +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 +msgid "Justification" +msgstr "تەڭشە" + +#: ../gtk/gtklabel.c:596 +msgid "" +"The alignment of the lines in the text of the label relative to each other. " +"This does NOT affect the alignment of the label within its allocation. See " +"GtkMisc::xalign for that" +msgstr "" + +#: ../gtk/gtklabel.c:604 +msgid "Pattern" +msgstr "قېلىپ" + +#: ../gtk/gtklabel.c:605 +msgid "" +"A string with _ characters in positions correspond to characters in the text " +"to underline" +msgstr "" + +#: ../gtk/gtklabel.c:612 +msgid "Line wrap" +msgstr "قۇر قاتلا" + +#: ../gtk/gtklabel.c:613 +msgid "If set, wrap lines if the text becomes too wide" +msgstr "" + +#: ../gtk/gtklabel.c:628 +msgid "Line wrap mode" +msgstr "" + +#: ../gtk/gtklabel.c:629 +msgid "If wrap is set, controls how linewrapping is done" +msgstr "" + +#: ../gtk/gtklabel.c:636 +msgid "Selectable" +msgstr "" + +#: ../gtk/gtklabel.c:637 +msgid "Whether the label text can be selected with the mouse" +msgstr "" + +#: ../gtk/gtklabel.c:643 +msgid "Mnemonic key" +msgstr "" + +#: ../gtk/gtklabel.c:644 +msgid "The mnemonic accelerator key for this label" +msgstr "" + +#: ../gtk/gtklabel.c:652 +msgid "Mnemonic widget" +msgstr "" + +#: ../gtk/gtklabel.c:653 +msgid "The widget to be activated when the label's mnemonic key is pressed" +msgstr "" + +#: ../gtk/gtklabel.c:699 +msgid "" +"The preferred place to ellipsize the string, if the label does not have " +"enough room to display the entire string" +msgstr "" + +#: ../gtk/gtklabel.c:740 +msgid "Single Line Mode" +msgstr "يەككە سىزىق ھالىتى" + +#: ../gtk/gtklabel.c:741 +msgid "Whether the label is in single line mode" +msgstr "" + +#: ../gtk/gtklabel.c:758 +msgid "Angle" +msgstr "بۇلۇڭ" + +#: ../gtk/gtklabel.c:759 +msgid "Angle at which the label is rotated" +msgstr "" + +#: ../gtk/gtklabel.c:781 +msgid "The desired maximum width of the label, in characters" +msgstr "" + +#: ../gtk/gtklabel.c:799 +msgid "Track visited links" +msgstr "" + +#: ../gtk/gtklabel.c:800 +msgid "Whether visited links should be tracked" +msgstr "" + +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 +msgid "Width" +msgstr "كەڭلىك" + +#: ../gtk/gtklayout.c:660 +msgid "The width of the layout" +msgstr "" + +#: ../gtk/gtklayout.c:668 +msgid "Height" +msgstr "ئېگىزلىك" + +#: ../gtk/gtklayout.c:669 +msgid "The height of the layout" +msgstr "" + +#: ../gtk/gtklinkbutton.c:174 +msgid "URI" +msgstr "URI" + +#: ../gtk/gtklinkbutton.c:175 +msgid "The URI bound to this button" +msgstr "" + +#: ../gtk/gtklinkbutton.c:189 +msgid "Visited" +msgstr "زىيارەت قىلغان" + +#: ../gtk/gtklinkbutton.c:190 +msgid "Whether this link has been visited." +msgstr "" + +#: ../gtk/gtkmenubar.c:170 +msgid "Pack direction" +msgstr "" + +#: ../gtk/gtkmenubar.c:171 +msgid "The pack direction of the menubar" +msgstr "" + +#: ../gtk/gtkmenubar.c:187 +msgid "Child Pack direction" +msgstr "" + +#: ../gtk/gtkmenubar.c:188 +msgid "The child pack direction of the menubar" +msgstr "" + +#: ../gtk/gtkmenubar.c:197 +msgid "Style of bevel around the menubar" +msgstr "" + +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 +msgid "Internal padding" +msgstr "" + +#: ../gtk/gtkmenubar.c:205 +msgid "Amount of border space between the menubar shadow and the menu items" +msgstr "تىزىملىك بالدىقىنىڭ سايىسى بىلەن تىزىملىك تۇرلىرى ئارىسىدىكى گىرۋەك بوشلۇقىنىڭ مىقدارى" + +#: ../gtk/gtkmenu.c:521 +msgid "The currently selected menu item" +msgstr "" + +#: ../gtk/gtkmenu.c:536 +msgid "The accel group holding accelerators for the menu" +msgstr "" + +#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 +msgid "Accel Path" +msgstr "" + +#: ../gtk/gtkmenu.c:551 +msgid "An accel path used to conveniently construct accel paths of child items" +msgstr "" + +#: ../gtk/gtkmenu.c:567 +msgid "Attach Widget" +msgstr "" + +#: ../gtk/gtkmenu.c:568 +msgid "The widget the menu is attached to" +msgstr "" + +#: ../gtk/gtkmenu.c:576 +msgid "" +"A title that may be displayed by the window manager when this menu is torn-" +"off" +msgstr "" + +#: ../gtk/gtkmenu.c:590 +msgid "Tearoff State" +msgstr "" + +#: ../gtk/gtkmenu.c:591 +msgid "A boolean that indicates whether the menu is torn-off" +msgstr "" + +#: ../gtk/gtkmenu.c:605 +msgid "Monitor" +msgstr "ئېكران" + +#: ../gtk/gtkmenu.c:606 +msgid "The monitor the menu will be popped up on" +msgstr "" + +#: ../gtk/gtkmenu.c:612 +msgid "Vertical Padding" +msgstr "" + +#: ../gtk/gtkmenu.c:613 +msgid "Extra space at the top and bottom of the menu" +msgstr "تىزىملىكنىڭ ئۇستى ۋە ئاستى گىرۋەكلىرىدىكى ئارتۇقچە بوشلۇق" + +#: ../gtk/gtkmenu.c:635 +msgid "Reserve Toggle Size" +msgstr "" + +#: ../gtk/gtkmenu.c:636 +msgid "" +"A boolean that indicates whether the menu reserves space for toggles and " +"icons" +msgstr "" + +#: ../gtk/gtkmenu.c:642 +msgid "Horizontal Padding" +msgstr "" + +#: ../gtk/gtkmenu.c:643 +msgid "Extra space at the left and right edges of the menu" +msgstr "تىزىملىكنىڭ ئوڭ ۋە سول گىرۋەكلىرىدىكى ئارتۇقچە بوشلۇق" + +#: ../gtk/gtkmenu.c:651 +msgid "Vertical Offset" +msgstr "" + +#: ../gtk/gtkmenu.c:652 +msgid "" +"When the menu is a submenu, position it this number of pixels offset " +"vertically" +msgstr "" + +#: ../gtk/gtkmenu.c:660 +msgid "Horizontal Offset" +msgstr "" + +#: ../gtk/gtkmenu.c:661 +msgid "" +"When the menu is a submenu, position it this number of pixels offset " +"horizontally" +msgstr "" + +#: ../gtk/gtkmenu.c:669 +msgid "Double Arrows" +msgstr "قوش يا ئوق" + +#: ../gtk/gtkmenu.c:670 +msgid "When scrolling, always show both arrows." +msgstr "" + +#: ../gtk/gtkmenu.c:683 +msgid "Arrow Placement" +msgstr "" + +#: ../gtk/gtkmenu.c:684 +msgid "Indicates where scroll arrows should be placed" +msgstr "" + +#: ../gtk/gtkmenu.c:692 +msgid "Left Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:700 +msgid "Right Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:701 +msgid "The column number to attach the right side of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:708 +msgid "Top Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:709 +msgid "The row number to attach the top of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:716 +msgid "Bottom Attach" +msgstr "" + +#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 +msgid "The row number to attach the bottom of the child to" +msgstr "" + +#: ../gtk/gtkmenu.c:731 +msgid "Arbitrary constant to scale down the size of the scroll arrow" +msgstr "" + +#: ../gtk/gtkmenuitem.c:283 +msgid "Right Justified" +msgstr "" + +#: ../gtk/gtkmenuitem.c:284 +msgid "" +"Sets whether the menu item appears justified at the right side of a menu bar" +msgstr "" + +#: ../gtk/gtkmenuitem.c:298 +msgid "Submenu" +msgstr "تارماق تىزىملىك" + +#: ../gtk/gtkmenuitem.c:299 +msgid "The submenu attached to the menu item, or NULL if it has none" +msgstr "" + +#: ../gtk/gtkmenuitem.c:317 +msgid "Sets the accelerator path of the menu item" +msgstr "" + +#: ../gtk/gtkmenuitem.c:332 +msgid "The text for the child label" +msgstr "" + +#: ../gtk/gtkmenuitem.c:395 +msgid "Amount of space used up by arrow, relative to the menu item's font size" +msgstr "" + +#: ../gtk/gtkmenuitem.c:408 +msgid "Width in Characters" +msgstr "" + +#: ../gtk/gtkmenuitem.c:409 +msgid "The minimum desired width of the menu item in characters" +msgstr "" + +#: ../gtk/gtkmenushell.c:381 +msgid "Take Focus" +msgstr "" + +#: ../gtk/gtkmenushell.c:382 +msgid "A boolean that determines whether the menu grabs the keyboard focus" +msgstr "" + +#: ../gtk/gtkmenutoolbutton.c:246 +msgid "Menu" +msgstr "تىزىملىك" + +#: ../gtk/gtkmenutoolbutton.c:247 +msgid "The dropdown menu" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:184 +msgid "Image/label border" +msgstr "سۈرەت/بەلگە گىرۋەك" + +#: ../gtk/gtkmessagedialog.c:185 +msgid "Width of border around the label and image in the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:209 +msgid "Message Buttons" +msgstr "ئۇچۇر توپچىسى" + +#: ../gtk/gtkmessagedialog.c:210 +msgid "The buttons shown in the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:227 +msgid "The primary text of the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:242 +msgid "Use Markup" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:243 +msgid "The primary text of the title includes Pango markup." +msgstr "" + +#: ../gtk/gtkmessagedialog.c:257 +msgid "Secondary Text" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:258 +msgid "The secondary text of the message dialog" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:273 +msgid "Use Markup in secondary" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:274 +msgid "The secondary text includes Pango markup." +msgstr "" + +#: ../gtk/gtkmessagedialog.c:288 +msgid "Image" +msgstr "سۈرەت" + +#: ../gtk/gtkmessagedialog.c:289 +msgid "The image" +msgstr "" + +#: ../gtk/gtkmessagedialog.c:305 +msgid "Message area" +msgstr "ئۇچۇر رايونى" + +#: ../gtk/gtkmessagedialog.c:306 +msgid "GtkVBox that holds the dialog's primary and secondary labels" +msgstr "" + +#: ../gtk/gtkmisc.c:91 +msgid "Y align" +msgstr "" + +#: ../gtk/gtkmisc.c:92 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "" + +#: ../gtk/gtkmisc.c:101 +msgid "X pad" +msgstr "" + +#: ../gtk/gtkmisc.c:102 +msgid "" +"The amount of space to add on the left and right of the widget, in pixels" +msgstr "" + +#: ../gtk/gtkmisc.c:111 +msgid "Y pad" +msgstr "" + +#: ../gtk/gtkmisc.c:112 +msgid "" +"The amount of space to add on the top and bottom of the widget, in pixels" +msgstr "" + +#: ../gtk/gtkmountoperation.c:159 +msgid "Parent" +msgstr "تەۋەلىكى" + +#: ../gtk/gtkmountoperation.c:160 +msgid "The parent window" +msgstr "" + +#: ../gtk/gtkmountoperation.c:167 +msgid "Is Showing" +msgstr "" + +#: ../gtk/gtkmountoperation.c:168 +msgid "Are we showing a dialog" +msgstr "" + +#: ../gtk/gtkmountoperation.c:176 +msgid "The screen where this window will be displayed." +msgstr "" + +#: ../gtk/gtknotebook.c:692 +msgid "Page" +msgstr "بەت" + +#: ../gtk/gtknotebook.c:693 +msgid "The index of the current page" +msgstr "ھازىرقى بەتنىڭ ئىندىكىسى" + +#: ../gtk/gtknotebook.c:701 +msgid "Tab Position" +msgstr "" + +#: ../gtk/gtknotebook.c:702 +msgid "Which side of the notebook holds the tabs" +msgstr "" + +#: ../gtk/gtknotebook.c:709 +msgid "Show Tabs" +msgstr "" + +#: ../gtk/gtknotebook.c:710 +msgid "Whether tabs should be shown" +msgstr "" + +#: ../gtk/gtknotebook.c:716 +msgid "Show Border" +msgstr "" + +#: ../gtk/gtknotebook.c:717 +msgid "Whether the border should be shown" +msgstr "" + +#: ../gtk/gtknotebook.c:723 +msgid "Scrollable" +msgstr "" + +#: ../gtk/gtknotebook.c:724 +msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" +msgstr "" + +#: ../gtk/gtknotebook.c:730 +msgid "Enable Popup" +msgstr "" + +#: ../gtk/gtknotebook.c:731 +msgid "" +"If TRUE, pressing the right mouse button on the notebook pops up a menu that " +"you can use to go to a page" +msgstr "" + +#: ../gtk/gtknotebook.c:745 +msgid "Group Name" +msgstr "گۇرۇپپا ئاتى" + +#: ../gtk/gtknotebook.c:746 +msgid "Group name for tab drag and drop" +msgstr "" + +#: ../gtk/gtknotebook.c:753 +msgid "Tab label" +msgstr "" + +#: ../gtk/gtknotebook.c:754 +msgid "The string displayed on the child's tab label" +msgstr "" + +#: ../gtk/gtknotebook.c:760 +msgid "Menu label" +msgstr "تىزىملىك ئېنى" + +#: ../gtk/gtknotebook.c:761 +msgid "The string displayed in the child's menu entry" +msgstr "" + +#: ../gtk/gtknotebook.c:774 +msgid "Tab expand" +msgstr "" + +#: ../gtk/gtknotebook.c:775 +msgid "Whether to expand the child's tab" +msgstr "" + +#: ../gtk/gtknotebook.c:781 +msgid "Tab fill" +msgstr "" + +#: ../gtk/gtknotebook.c:782 +msgid "Whether the child's tab should fill the allocated area" +msgstr "" + +#: ../gtk/gtknotebook.c:795 +msgid "Tab pack type" +msgstr "" + +#: ../gtk/gtknotebook.c:802 +msgid "Tab reorderable" +msgstr "" + +#: ../gtk/gtknotebook.c:803 +msgid "Whether the tab is reorderable by user action" +msgstr "" + +#: ../gtk/gtknotebook.c:809 +msgid "Tab detachable" +msgstr "" + +#: ../gtk/gtknotebook.c:810 +msgid "Whether the tab is detachable" +msgstr "" + +#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 +msgid "Secondary backward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:826 +msgid "" +"Display a second backward arrow button on the opposite end of the tab area" +msgstr "" + +#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 +msgid "Secondary forward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:842 +msgid "" +"Display a second forward arrow button on the opposite end of the tab area" +msgstr "" + +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 +msgid "Backward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 +msgid "Display the standard backward arrow button" +msgstr "" + +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 +msgid "Forward stepper" +msgstr "" + +#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 +msgid "Display the standard forward arrow button" +msgstr "" + +#: ../gtk/gtknotebook.c:886 +msgid "Tab overlap" +msgstr "" + +#: ../gtk/gtknotebook.c:887 +msgid "Size of tab overlap area" +msgstr "" + +#: ../gtk/gtknotebook.c:902 +msgid "Tab curvature" +msgstr "" + +#: ../gtk/gtknotebook.c:903 +msgid "Size of tab curvature" +msgstr "" + +#: ../gtk/gtknotebook.c:919 +msgid "Arrow spacing" +msgstr "" + +#: ../gtk/gtknotebook.c:920 +msgid "Scroll arrow spacing" +msgstr "" + +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 +#: ../gtk/gtktrayicon-x11.c:124 +msgid "Orientation" +msgstr "يۆنىلىش" + +#: ../gtk/gtkorientable.c:64 +msgid "The orientation of the orientable" +msgstr "" + +#: ../gtk/gtkpaned.c:328 +msgid "" +"Position of paned separator in pixels (0 means all the way to the left/top)" +msgstr "" + +#: ../gtk/gtkpaned.c:337 +msgid "Position Set" +msgstr "" + +#: ../gtk/gtkpaned.c:338 +msgid "TRUE if the Position property should be used" +msgstr "" + +#: ../gtk/gtkpaned.c:344 +msgid "Handle Size" +msgstr "" + +#: ../gtk/gtkpaned.c:345 +msgid "Width of handle" +msgstr "" + +#: ../gtk/gtkpaned.c:361 +msgid "Minimal Position" +msgstr "" + +#: ../gtk/gtkpaned.c:362 +msgid "Smallest possible value for the \"position\" property" +msgstr "" + +#: ../gtk/gtkpaned.c:379 +msgid "Maximal Position" +msgstr "" + +#: ../gtk/gtkpaned.c:380 +msgid "Largest possible value for the \"position\" property" +msgstr "" + +#: ../gtk/gtkpaned.c:397 +msgid "Resize" +msgstr "چوڭلۇقىنى ئۆزگەرت" + +#: ../gtk/gtkpaned.c:398 +msgid "If TRUE, the child expands and shrinks along with the paned widget" +msgstr "" + +#: ../gtk/gtkpaned.c:413 +msgid "Shrink" +msgstr "كىچىكلەت" + +#: ../gtk/gtkpaned.c:414 +msgid "If TRUE, the child can be made smaller than its requisition" +msgstr "" + +#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 +msgid "Embedded" +msgstr "سىڭدۈرمە" + +#: ../gtk/gtkplug.c:178 +msgid "Whether the plug is embedded" +msgstr "" + +#: ../gtk/gtkplug.c:192 +msgid "Socket Window" +msgstr "" + +#: ../gtk/gtkplug.c:193 +msgid "The window of the socket the plug is embedded in" +msgstr "" + +#: ../gtk/gtkprinter.c:126 +msgid "Name of the printer" +msgstr "پرىنتېرنىڭ ئاتى" + +#: ../gtk/gtkprinter.c:132 +msgid "Backend" +msgstr "" + +#: ../gtk/gtkprinter.c:133 +msgid "Backend for the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:139 +msgid "Is Virtual" +msgstr "" + +#: ../gtk/gtkprinter.c:140 +msgid "FALSE if this represents a real hardware printer" +msgstr "" + +#: ../gtk/gtkprinter.c:146 +msgid "Accepts PDF" +msgstr "" + +#: ../gtk/gtkprinter.c:147 +msgid "TRUE if this printer can accept PDF" +msgstr "" + +#: ../gtk/gtkprinter.c:153 +msgid "Accepts PostScript" +msgstr "" + +#: ../gtk/gtkprinter.c:154 +msgid "TRUE if this printer can accept PostScript" +msgstr "" + +#: ../gtk/gtkprinter.c:160 +msgid "State Message" +msgstr "" + +#: ../gtk/gtkprinter.c:161 +msgid "String giving the current state of the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "ئورنى" -#. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2161 +#: ../gtk/gtkprinter.c:168 +msgid "The location of the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:175 +msgid "The icon name to use for the printer" +msgstr "" + +#: ../gtk/gtkprinter.c:181 +msgid "Job Count" +msgstr "" + +#: ../gtk/gtkprinter.c:182 +msgid "Number of jobs queued in the printer" +msgstr "پرىنتېردا تىزىلىپ تۇرغان خىزمەت سانى" + +#: ../gtk/gtkprinter.c:200 +msgid "Paused Printer" +msgstr "" + +#: ../gtk/gtkprinter.c:201 +msgid "TRUE if this printer is paused" +msgstr "" + +#: ../gtk/gtkprinter.c:214 +msgid "Accepting Jobs" +msgstr "" + +#: ../gtk/gtkprinter.c:215 +msgid "TRUE if this printer is accepting new jobs" +msgstr "" + +#: ../gtk/gtkprinteroptionwidget.c:121 +msgid "Source option" +msgstr "" + +#: ../gtk/gtkprinteroptionwidget.c:122 +msgid "The PrinterOption backing this widget" +msgstr "" + +#: ../gtk/gtkprintjob.c:127 +msgid "Title of the print job" +msgstr "" + +#: ../gtk/gtkprintjob.c:135 +msgid "Printer" +msgstr "پرىنتېر" + +#: ../gtk/gtkprintjob.c:136 +msgid "Printer to print the job to" +msgstr "" + +#: ../gtk/gtkprintjob.c:144 +msgid "Settings" +msgstr "تەڭشەكلەر" + +#: ../gtk/gtkprintjob.c:145 +msgid "Printer settings" +msgstr "" + +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintunixdialog.c:298 +msgid "Page Setup" +msgstr "بەت تەڭشەك" + +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 +msgid "Track Print Status" +msgstr "" + +#: ../gtk/gtkprintjob.c:163 +msgid "" +"TRUE if the print job will continue to emit status-changed signals after the " +"print data has been sent to the printer or print server." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1005 +msgid "Default Page Setup" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1006 +msgid "The GtkPageSetup used by default" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 +msgid "Print Settings" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 +msgid "The GtkPrintSettings used for initializing the dialog" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1043 +msgid "Job Name" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1044 +msgid "A string used for identifying the print job." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1068 +msgid "Number of Pages" +msgstr "بەت سانى" + +#: ../gtk/gtkprintoperation.c:1069 +msgid "The number of pages in the document." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 +msgid "Current Page" +msgstr "نۆۋەتتىكى بەت" + +#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 +msgid "The current page in the document" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1112 +msgid "Use full page" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1113 +msgid "" +"TRUE if the origin of the context should be at the corner of the page and " +"not the corner of the imageable area" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1134 +msgid "" +"TRUE if the print operation will continue to report on the print job status " +"after the print data has been sent to the printer or print server." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1151 +msgid "Unit" +msgstr "بىرلىك" + +#: ../gtk/gtkprintoperation.c:1152 +msgid "The unit in which distances can be measured in the context" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1169 +msgid "Show Dialog" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1170 +msgid "TRUE if a progress dialog is shown while printing." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1193 +msgid "Allow Async" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1194 +msgid "TRUE if print process may run asynchronous." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 +msgid "Export filename" +msgstr "ھۆججەت ئاتىنى ئېكسپورت قىل" + +#: ../gtk/gtkprintoperation.c:1231 msgid "Status" msgstr "ھالىتى" -#: ../gtk/gtkprintunixdialog.c:2187 -msgid "Range" -msgstr "دائىرىسى" +#: ../gtk/gtkprintoperation.c:1232 +msgid "The status of the print operation" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2191 -msgid "_All Pages" -msgstr "ھەممە بەت(_A)" +#: ../gtk/gtkprintoperation.c:1252 +msgid "Status String" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2198 -msgid "C_urrent Page" -msgstr "نۆۋەتتىكى بەت(_U)" +#: ../gtk/gtkprintoperation.c:1253 +msgid "A human-readable description of the status" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2208 -msgid "Se_lection" -msgstr "تاللا(_L)" +#: ../gtk/gtkprintoperation.c:1271 +msgid "Custom tab label" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2217 -msgid "Pag_es:" -msgstr "بەتلەر(_E):" +#: ../gtk/gtkprintoperation.c:1272 +msgid "Label for the tab containing custom widgets." +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 +msgid "Support Selection" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1288 +msgid "TRUE if the print operation will support print of selection." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 +msgid "Has Selection" +msgstr "تاللانما بار" + +#: ../gtk/gtkprintoperation.c:1305 +msgid "TRUE if a selection exists." +msgstr "" + +#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 +msgid "Embed Page Setup" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1321 +msgid "TRUE if page setup combos are embedded in GtkPrintDialog" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1342 +msgid "Number of Pages To Print" +msgstr "باسىدىغان بەت سانى" + +#: ../gtk/gtkprintoperation.c:1343 +msgid "The number of pages that will be printed." +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:299 +msgid "The GtkPageSetup to use" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:324 +msgid "Selected Printer" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:325 +msgid "The GtkPrinter which is selected" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:332 +msgid "Manual Capabilities" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:333 +msgid "Capabilities the application can handle" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:342 +msgid "Whether the dialog supports selection" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:350 +msgid "Whether the application has a selection" +msgstr "" + +#: ../gtk/gtkprintunixdialog.c:358 +msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" +msgstr "" + +#: ../gtk/gtkprogressbar.c:161 +msgid "Fraction" +msgstr "Fraction" + +#: ../gtk/gtkprogressbar.c:162 +msgid "The fraction of total work that has been completed" +msgstr "" + +#: ../gtk/gtkprogressbar.c:169 +msgid "Pulse Step" +msgstr "" + +#: ../gtk/gtkprogressbar.c:170 +msgid "The fraction of total progress to move the bouncing block when pulsed" +msgstr "" + +#: ../gtk/gtkprogressbar.c:178 +msgid "Text to be displayed in the progress bar" +msgstr "" + +#: ../gtk/gtkprogressbar.c:185 +msgid "Show text" +msgstr "" + +#: ../gtk/gtkprogressbar.c:186 +msgid "Whether the progress is shown as text." +msgstr "" + +#: ../gtk/gtkprogressbar.c:208 msgid "" -"Specify one or more page ranges,\n" -" e.g. 1-3,7,11" -msgstr "بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" -"مەسىلەن: 1-3,7,11" +"The preferred place to ellipsize the string, if the progress bar does not " +"have enough room to display the entire string, if at all." +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2228 -msgid "Pages" -msgstr "بەتلەر" +#: ../gtk/gtkprogressbar.c:215 +msgid "X spacing" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2241 -msgid "Copies" -msgstr "نۇسخا" +#: ../gtk/gtkprogressbar.c:216 +msgid "Extra spacing applied to the width of a progress bar." +msgstr "" -#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2246 -msgid "Copie_s:" -msgstr "نۇسخا سانى(_S):" +#: ../gtk/gtkprogressbar.c:221 +msgid "Y spacing" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2264 -msgid "C_ollate" -msgstr "رەت بويىچە(_O)" +#: ../gtk/gtkprogressbar.c:222 +msgid "Extra spacing applied to the height of a progress bar." +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2272 -msgid "_Reverse" -msgstr "ئەكسىچە(_R)" +#: ../gtk/gtkprogressbar.c:235 +msgid "Minimum horizontal bar width" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:2292 -msgid "General" -msgstr "ئادەتتىكى" +#: ../gtk/gtkprogressbar.c:236 +msgid "The minimum horizontal width of the progress bar" +msgstr "" -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) -#. -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing -#. -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 -msgid "Left to right, top to bottom" -msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" +#: ../gtk/gtkprogressbar.c:248 +msgid "Minimum horizontal bar height" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 -msgid "Left to right, bottom to top" -msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" +#: ../gtk/gtkprogressbar.c:249 +msgid "Minimum horizontal height of the progress bar" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 -msgid "Right to left, top to bottom" -msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" +#: ../gtk/gtkprogressbar.c:261 +msgid "Minimum vertical bar width" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 -msgid "Right to left, bottom to top" -msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" +#: ../gtk/gtkprogressbar.c:262 +msgid "The minimum vertical width of the progress bar" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 -msgid "Top to bottom, left to right" -msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" +#: ../gtk/gtkprogressbar.c:274 +msgid "Minimum vertical bar height" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 -msgid "Top to bottom, right to left" -msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" +#: ../gtk/gtkprogressbar.c:275 +msgid "The minimum vertical height of the progress bar" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 -msgid "Bottom to top, left to right" -msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" +#: ../gtk/gtkradioaction.c:118 +msgid "The value" +msgstr "" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 -msgid "Bottom to top, right to left" -msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" - -#. Translators, this string is used to label the option in the print -#. * dialog that controls in what order multiple pages are arranged -#. -#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 -msgid "Page Ordering" -msgstr "بەت تەرتىپى" - -#: ../gtk/gtkprintunixdialog.c:3061 -msgid "Left to right" -msgstr "سولدىن ئوڭغا" - -#: ../gtk/gtkprintunixdialog.c:3062 -msgid "Right to left" -msgstr "ئوڭدىن سولغا" - -#: ../gtk/gtkprintunixdialog.c:3074 -msgid "Top to bottom" -msgstr "ئۈستىدىن ئاستىغا" - -#: ../gtk/gtkprintunixdialog.c:3075 -msgid "Bottom to top" -msgstr "ئاستىدىن ئۈستىگە" - -#: ../gtk/gtkprintunixdialog.c:3315 -msgid "Layout" -msgstr "ئۇسلۇب" - -#: ../gtk/gtkprintunixdialog.c:3319 -msgid "T_wo-sided:" -msgstr "قوش يۈزلۈك(_W):" - -#: ../gtk/gtkprintunixdialog.c:3334 -msgid "Pages per _side:" -msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" - -#: ../gtk/gtkprintunixdialog.c:3351 -msgid "Page or_dering:" -msgstr "بەت تەرتىپى(_D):" - -#: ../gtk/gtkprintunixdialog.c:3367 -msgid "_Only print:" -msgstr "بېسىشلا(_O):" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3382 -msgid "All sheets" -msgstr "ھەممە ۋاراقلار" - -#: ../gtk/gtkprintunixdialog.c:3383 -msgid "Even sheets" -msgstr "تاق ۋاراقلار" - -#: ../gtk/gtkprintunixdialog.c:3384 -msgid "Odd sheets" -msgstr "جۈپ ۋاراقلار" - -#: ../gtk/gtkprintunixdialog.c:3387 -msgid "Sc_ale:" -msgstr "نىسبەت(_A):" - -#: ../gtk/gtkprintunixdialog.c:3414 -msgid "Paper" -msgstr "قەغەز" - -#: ../gtk/gtkprintunixdialog.c:3418 -msgid "Paper _type:" -msgstr "قەغەز تىپى(_T):" - -#: ../gtk/gtkprintunixdialog.c:3433 -msgid "Paper _source:" -msgstr "قەغەز مەنبەسى(_S):" - -#: ../gtk/gtkprintunixdialog.c:3448 -msgid "Output t_ray:" -msgstr "قەغەز قۇتىسى(_R):" - -#: ../gtk/gtkprintunixdialog.c:3488 -msgid "Or_ientation:" -msgstr "يۆنىلىش(_I):" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3503 -msgid "Portrait" -msgstr "بوي يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3504 -msgid "Landscape" -msgstr "توغرا يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3505 -msgid "Reverse portrait" -msgstr "تەتۈر بوي يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3506 -msgid "Reverse landscape" -msgstr "تەتۈر توغرا يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3551 -msgid "Job Details" -msgstr "ۋەزىپە تەپسىلاتى" - -#: ../gtk/gtkprintunixdialog.c:3557 -msgid "Pri_ority:" -msgstr "ئالدىنلىق(_O):" - -#: ../gtk/gtkprintunixdialog.c:3572 -msgid "_Billing info:" -msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" - -#: ../gtk/gtkprintunixdialog.c:3590 -msgid "Print Document" -msgstr "پۈتۈك باس" - -#. Translators: this is one of the choices for the print at option -#. * in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3599 -msgid "_Now" -msgstr "دەرھال(_N)" - -#: ../gtk/gtkprintunixdialog.c:3610 -msgid "A_t:" -msgstr "دە(_T):" - -#. Translators: Ability to parse the am/pm format depends on actual locale. -#. * You can remove the am/pm values below for your locale if they are not -#. * supported. -#. -#: ../gtk/gtkprintunixdialog.c:3616 +#: ../gtk/gtkradioaction.c:119 msgid "" -"Specify the time of print,\n" -" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -msgstr "بېسىش ۋاقتى بەلگىلىنىدۇ،\n" -" مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" - -#: ../gtk/gtkprintunixdialog.c:3626 -msgid "Time of print" -msgstr "بېسىش ۋاقتى" - -#: ../gtk/gtkprintunixdialog.c:3642 -msgid "On _hold" -msgstr "كۈت(_H)" - -#: ../gtk/gtkprintunixdialog.c:3643 -msgid "Hold the job until it is explicitly released" -msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" - -#: ../gtk/gtkprintunixdialog.c:3663 -msgid "Add Cover Page" -msgstr "مۇقاۋا بەت قوش" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3672 -msgid "Be_fore:" -msgstr "ئالدى(_F):" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3690 -msgid "_After:" -msgstr "كەينى(_A):" - -#. Translators: this is the tab label for the notebook tab containing -#. * job-specific options in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3708 -msgid "Job" -msgstr "ۋەزىپە" - -#: ../gtk/gtkprintunixdialog.c:3774 -msgid "Advanced" -msgstr "ئالىي" - -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3812 -msgid "Image Quality" -msgstr "سۈرەت سۈپىتى" - -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3816 -msgid "Color" -msgstr "رەڭ" - -#. Translators: this will appear as tab label in print dialog. -#. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3821 -msgid "Finishing" -msgstr "تامام" - -#: ../gtk/gtkprintunixdialog.c:3831 -msgid "Some of the settings in the dialog conflict" -msgstr "سۆزلەشكۈ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" - -#: ../gtk/gtkprintunixdialog.c:3854 -msgid "Print" -msgstr "باس" - -#: ../gtk/gtkrc.c:947 -#, c-format -msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "پىكسېل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" - -#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 -#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 -#, c-format -msgid "This function is not implemented for widgets of class '%s'" -msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ" - -#: ../gtk/gtkrecentchooserdefault.c:483 -msgid "Select which type of documents are shown" -msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ" - -#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 -#, c-format -msgid "No item for URI '%s' found" -msgstr "URI“%s” تۈرنى تاپالمىدى" - -#: ../gtk/gtkrecentchooserdefault.c:1297 -msgid "Untitled filter" -msgstr "تېمىسىز سۈزگۈچ" - -#: ../gtk/gtkrecentchooserdefault.c:1650 -msgid "Could not remove item" -msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ" - -#: ../gtk/gtkrecentchooserdefault.c:1694 -msgid "Could not clear list" -msgstr "تىزىملىكنى تازىلىيالمايدۇ" - -#: ../gtk/gtkrecentchooserdefault.c:1778 -msgid "Copy _Location" -msgstr "ئورۇن كۆچۈر(_L)" - -#: ../gtk/gtkrecentchooserdefault.c:1791 -msgid "_Remove From List" -msgstr "تىزىملىكتىن چىقىرىۋەت(_R)" - -#: ../gtk/gtkrecentchooserdefault.c:1800 -msgid "_Clear List" -msgstr "تىزىملىكنى تازىلا(_C)" - -#: ../gtk/gtkrecentchooserdefault.c:1814 -msgid "Show _Private Resources" -msgstr "شەخسى مەنبەنى كۆرسەت(_P)" - -#. we create a placeholder menuitem, to be used in case -#. * the menu is empty. this placeholder will stay around -#. * for the entire lifetime of the menu, and we just hide it -#. * when it's not used. we have to do this, and do it here, -#. * because we need a marker for the beginning of the recent -#. * items list, so that we can insert the new items at the -#. * right place when idly populating the menu in case the -#. * user appended or prepended custom menu items to the -#. * recent chooser menu widget. -#. -#: ../gtk/gtkrecentchoosermenu.c:362 -msgid "No items found" -msgstr "تۈر تېپىلمىدى" - -#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 -#, c-format -msgid "No recently used resource found with URI `%s'" -msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى" - -#: ../gtk/gtkrecentchoosermenu.c:795 -#, c-format -msgid "Open '%s'" -msgstr "'%s' ئاچ" - -#: ../gtk/gtkrecentchoosermenu.c:825 -msgid "Unknown item" -msgstr "نامەلۇم تۈر" - -#. This is the label format that is used for the first 10 items -#. * in a recent files menu. The %d is the number of the item, -#. * the %s is the name of the item. Please keep the _ in front -#. * of the number to give these menu items a mnemonic. -#. -#: ../gtk/gtkrecentchoosermenu.c:836 -#, c-format -msgctxt "recent menu label" -msgid "_%d. %s" -msgstr "_%d. %s" - -#. This is the format that is used for items in a recent files menu. -#. * The %d is the number of the item, the %s is the name of the item. -#. -#: ../gtk/gtkrecentchoosermenu.c:841 -#, c-format -msgctxt "recent menu label" -msgid "%d. %s" -msgstr "%d. %s" - -#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 -#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 -#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 -#: ../gtk/gtkrecentmanager.c:1237 -#, c-format -msgid "Unable to find an item with URI '%s'" -msgstr "URI '%s' تۈر تېپىلمىدى" - -#: ../gtk/gtkrecentmanager.c:2437 -#, c-format -msgid "No registered application with name '%s' for item with URI '%s' found" +"The value returned by gtk_radio_action_get_current_value() when this action " +"is the current action of its group." msgstr "" -#: ../gtk/gtkspinner.c:326 -msgctxt "throbbing progress animation widget" -msgid "Spinner" -msgstr "مىكرو تەڭشەك" +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 +msgid "Group" +msgstr "گۇرۇپپا" -#: ../gtk/gtkspinner.c:327 -msgid "Provides visual indication of progress" -msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" - -#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: ../gtk/gtkstock.c:313 -msgctxt "Stock label" -msgid "Information" -msgstr "ئۇچۇر" - -#: ../gtk/gtkstock.c:314 -msgctxt "Stock label" -msgid "Warning" -msgstr "ئاگاھلاندۇرۇش" - -#: ../gtk/gtkstock.c:315 -msgctxt "Stock label" -msgid "Error" -msgstr "خاتالىق" - -#: ../gtk/gtkstock.c:316 -msgctxt "Stock label" -msgid "Question" -msgstr "سوئال" - -#. FIXME these need accelerators when appropriate, and -#. * need the mnemonics to be rationalized -#. -#: ../gtk/gtkstock.c:321 -msgctxt "Stock label" -msgid "_About" -msgstr "ھەققىدە(_A)" - -#: ../gtk/gtkstock.c:322 -msgctxt "Stock label" -msgid "_Add" -msgstr "قوش(_A)" - -#: ../gtk/gtkstock.c:323 -msgctxt "Stock label" -msgid "_Apply" -msgstr "قوللان(_A)" - -#: ../gtk/gtkstock.c:324 -msgctxt "Stock label" -msgid "_Bold" -msgstr "توم(_B)" - -#: ../gtk/gtkstock.c:325 -msgctxt "Stock label" -msgid "_Cancel" -msgstr "قالدۇرماق(_C)" - -#: ../gtk/gtkstock.c:326 -msgctxt "Stock label" -msgid "_CD-ROM" +#: ../gtk/gtkradioaction.c:136 +msgid "The radio action whose group this action belongs to." msgstr "" -#: ../gtk/gtkstock.c:327 -msgctxt "Stock label" -msgid "_Clear" -msgstr "ئۆچۈر(_C)" +#: ../gtk/gtkradioaction.c:151 +msgid "The current value" +msgstr "ھازىرقى قىممەت" -#: ../gtk/gtkstock.c:328 -msgctxt "Stock label" -msgid "_Close" -msgstr "ياپ(_C)" - -#: ../gtk/gtkstock.c:329 -msgctxt "Stock label" -msgid "C_onnect" -msgstr "ئۇلا(_O)" - -#: ../gtk/gtkstock.c:330 -msgctxt "Stock label" -msgid "_Convert" -msgstr "ئايلاندۇر(_C)" - -#: ../gtk/gtkstock.c:331 -msgctxt "Stock label" -msgid "_Copy" -msgstr "كۆچۈر(_C)" - -#: ../gtk/gtkstock.c:332 -msgctxt "Stock label" -msgid "Cu_t" -msgstr "كەس(_T)" - -#: ../gtk/gtkstock.c:333 -msgctxt "Stock label" -msgid "_Delete" -msgstr "ئۆچۈر(_D)" - -#: ../gtk/gtkstock.c:334 -msgctxt "Stock label" -msgid "_Discard" -msgstr "تاشلىۋەت(_D)" - -#: ../gtk/gtkstock.c:335 -msgctxt "Stock label" -msgid "_Disconnect" -msgstr "ئۈز(_D)" - -#: ../gtk/gtkstock.c:336 -msgctxt "Stock label" -msgid "_Execute" -msgstr "ئىجرا قىل(_E)" - -#: ../gtk/gtkstock.c:337 -msgctxt "Stock label" -msgid "_Edit" -msgstr "تەھرىر(_E)" - -#: ../gtk/gtkstock.c:338 -msgctxt "Stock label" -msgid "_File" -msgstr "ھۆججەت(_F)" - -#: ../gtk/gtkstock.c:339 -msgctxt "Stock label" -msgid "_Find" -msgstr "ئىزدە(_F)" - -#: ../gtk/gtkstock.c:340 -msgctxt "Stock label" -msgid "Find and _Replace" -msgstr "ئىزدەپ ئالماشتۇر(_R)" - -#: ../gtk/gtkstock.c:341 -msgctxt "Stock label" -msgid "_Floppy" -msgstr "يۇمشاق دىسكا(_F)" - -#: ../gtk/gtkstock.c:342 -msgctxt "Stock label" -msgid "_Fullscreen" -msgstr "تولۇق ئېكران( _F)" - -#: ../gtk/gtkstock.c:343 -msgctxt "Stock label" -msgid "_Leave Fullscreen" -msgstr "پۈتۈن ئېكراندىن ئايرىل(_L)" - -#. This is a navigation label as in "go to the bottom of the page" -#: ../gtk/gtkstock.c:345 -msgctxt "Stock label, navigation" -msgid "_Bottom" -msgstr "ئاستى(_B)" - -#. This is a navigation label as in "go to the first page" -#: ../gtk/gtkstock.c:347 -msgctxt "Stock label, navigation" -msgid "_First" -msgstr "بىرىنچى(_F)" - -#. This is a navigation label as in "go to the last page" -#: ../gtk/gtkstock.c:349 -msgctxt "Stock label, navigation" -msgid "_Last" -msgstr "ئاخىرقى(_L)" - -#. This is a navigation label as in "go to the top of the page" -#: ../gtk/gtkstock.c:351 -msgctxt "Stock label, navigation" -msgid "_Top" -msgstr "بېشى(_T)" - -#. This is a navigation label as in "go back" -#: ../gtk/gtkstock.c:353 -msgctxt "Stock label, navigation" -msgid "_Back" -msgstr "كەينى(_B)" - -#. This is a navigation label as in "go down" -#: ../gtk/gtkstock.c:355 -msgctxt "Stock label, navigation" -msgid "_Down" -msgstr "ئاستىغا(_D)" - -#. This is a navigation label as in "go forward" -#: ../gtk/gtkstock.c:357 -msgctxt "Stock label, navigation" -msgid "_Forward" -msgstr "ئالدىنقى(_F)" - -#. This is a navigation label as in "go up" -#: ../gtk/gtkstock.c:359 -msgctxt "Stock label, navigation" -msgid "_Up" -msgstr "ئۈستىگە(_U)" - -#: ../gtk/gtkstock.c:360 -msgctxt "Stock label" -msgid "_Hard Disk" +#: ../gtk/gtkradioaction.c:152 +msgid "" +"The value property of the currently active member of the group to which this " +"action belongs." msgstr "" -#: ../gtk/gtkstock.c:361 -msgctxt "Stock label" -msgid "_Help" -msgstr "ياردەم(_H)" +#: ../gtk/gtkradiobutton.c:164 +msgid "The radio button whose group this widget belongs to." +msgstr "" -#: ../gtk/gtkstock.c:362 -msgctxt "Stock label" -msgid "_Home" -msgstr "باش بەت(_H)" +#: ../gtk/gtkradiomenuitem.c:374 +msgid "The radio menu item whose group this widget belongs to." +msgstr "" -#: ../gtk/gtkstock.c:363 -msgctxt "Stock label" -msgid "Increase Indent" -msgstr "كېڭەيت" +#: ../gtk/gtkradiotoolbutton.c:66 +msgid "The radio tool button whose group this button belongs to." +msgstr "" -#: ../gtk/gtkstock.c:364 -msgctxt "Stock label" -msgid "Decrease Indent" +#: ../gtk/gtkrange.c:422 +msgid "Update policy" +msgstr "" + +#: ../gtk/gtkrange.c:423 +msgid "How the range should be updated on the screen" +msgstr "" + +#: ../gtk/gtkrange.c:432 +msgid "The GtkAdjustment that contains the current value of this range object" +msgstr "" + +#: ../gtk/gtkrange.c:440 +msgid "Invert direction slider moves to increase range value" +msgstr "" + +#: ../gtk/gtkrange.c:447 +msgid "Lower stepper sensitivity" +msgstr "" + +#: ../gtk/gtkrange.c:448 +msgid "" +"The sensitivity policy for the stepper that points to the adjustment's lower " +"side" +msgstr "" + +#: ../gtk/gtkrange.c:456 +msgid "Upper stepper sensitivity" +msgstr "" + +#: ../gtk/gtkrange.c:457 +msgid "" +"The sensitivity policy for the stepper that points to the adjustment's upper " +"side" +msgstr "" + +#: ../gtk/gtkrange.c:474 +msgid "Show Fill Level" +msgstr "" + +#: ../gtk/gtkrange.c:475 +msgid "Whether to display a fill level indicator graphics on trough." +msgstr "" + +#: ../gtk/gtkrange.c:491 +msgid "Restrict to Fill Level" +msgstr "" + +#: ../gtk/gtkrange.c:492 +msgid "Whether to restrict the upper boundary to the fill level." +msgstr "" + +#: ../gtk/gtkrange.c:507 +msgid "Fill Level" +msgstr "" + +#: ../gtk/gtkrange.c:508 +msgid "The fill level." +msgstr "" + +#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 +msgid "Slider Width" +msgstr "" + +#: ../gtk/gtkrange.c:517 +msgid "Width of scrollbar or scale thumb" +msgstr "" + +#: ../gtk/gtkrange.c:524 +msgid "Trough Border" +msgstr "" + +#: ../gtk/gtkrange.c:525 +msgid "Spacing between thumb/steppers and outer trough bevel" +msgstr "" + +#: ../gtk/gtkrange.c:532 +msgid "Stepper Size" +msgstr "" + +#: ../gtk/gtkrange.c:533 +msgid "Length of step buttons at ends" +msgstr "" + +#: ../gtk/gtkrange.c:548 +msgid "Stepper Spacing" +msgstr "" + +#: ../gtk/gtkrange.c:549 +msgid "Spacing between step buttons and thumb" +msgstr "" + +#: ../gtk/gtkrange.c:556 +msgid "Arrow X Displacement" +msgstr "" + +#: ../gtk/gtkrange.c:557 +msgid "" +"How far in the x direction to move the arrow when the button is depressed" +msgstr "" + +#: ../gtk/gtkrange.c:564 +msgid "Arrow Y Displacement" +msgstr "" + +#: ../gtk/gtkrange.c:565 +msgid "" +"How far in the y direction to move the arrow when the button is depressed" +msgstr "" + +#: ../gtk/gtkrange.c:583 +msgid "Trough Under Steppers" +msgstr "" + +#: ../gtk/gtkrange.c:584 +msgid "" +"Whether to draw trough for full length of range or exclude the steppers and " +"spacing" +msgstr "" + +#: ../gtk/gtkrange.c:597 +msgid "Arrow scaling" +msgstr "" + +#: ../gtk/gtkrange.c:598 +msgid "Arrow scaling with regard to scroll button size" +msgstr "" + +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 +msgid "Show Numbers" +msgstr "" + +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 +msgid "Whether the items should be displayed with a number" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:132 +msgid "Recent Manager" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:133 +msgid "The RecentManager object to use" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:147 +msgid "Show Private" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:148 +msgid "Whether the private items should be displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:161 +msgid "Show Tooltips" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:162 +msgid "Whether there should be a tooltip on the item" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:174 +msgid "Show Icons" +msgstr "سىنبەلگە كۆرسەت" + +#: ../gtk/gtkrecentchooser.c:175 +msgid "Whether there should be an icon near the item" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:190 +msgid "Show Not Found" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:191 +msgid "Whether the items pointing to unavailable resources should be displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:204 +msgid "Whether to allow multiple items to be selected" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:217 +msgid "Local only" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:218 +msgid "Whether the selected resource(s) should be limited to local file: URIs" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:234 +msgid "Limit" +msgstr "لىمىت" + +#: ../gtk/gtkrecentchooser.c:235 +msgid "The maximum number of items to be displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:249 +msgid "Sort Type" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:250 +msgid "The sorting order of the items displayed" +msgstr "" + +#: ../gtk/gtkrecentchooser.c:265 +msgid "The current filter for selecting which resources are displayed" +msgstr "" + +#: ../gtk/gtkrecentmanager.c:295 +msgid "The full path to the file to be used to store and read the list" +msgstr "" + +#: ../gtk/gtkrecentmanager.c:310 +msgid "The size of the recently used resources list" +msgstr "" + +#: ../gtk/gtkscalebutton.c:221 +msgid "The value of the scale" +msgstr "" + +#: ../gtk/gtkscalebutton.c:231 +msgid "The icon size" +msgstr "" + +#: ../gtk/gtkscalebutton.c:240 +msgid "" +"The GtkAdjustment that contains the current value of this scale button object" +msgstr "" + +#: ../gtk/gtkscalebutton.c:268 +msgid "Icons" +msgstr "سىنبەلگىلەر" + +#: ../gtk/gtkscalebutton.c:269 +msgid "List of icon names" +msgstr "" + +#: ../gtk/gtkscale.c:254 +msgid "The number of decimal places that are displayed in the value" +msgstr "" + +#: ../gtk/gtkscale.c:263 +msgid "Draw Value" +msgstr "قىممەتنى سىز" + +#: ../gtk/gtkscale.c:264 +msgid "Whether the current value is displayed as a string next to the slider" +msgstr "" + +#: ../gtk/gtkscale.c:271 +msgid "Value Position" +msgstr "" + +#: ../gtk/gtkscale.c:272 +msgid "The position in which the current value is displayed" +msgstr "" + +#: ../gtk/gtkscale.c:279 +msgid "Slider Length" +msgstr "" + +#: ../gtk/gtkscale.c:280 +msgid "Length of scale's slider" +msgstr "" + +#: ../gtk/gtkscale.c:288 +msgid "Value spacing" +msgstr "" + +#: ../gtk/gtkscale.c:289 +msgid "Space between value text and the slider/trough area" +msgstr "" + +#: ../gtk/gtkscrollbar.c:72 +msgid "Minimum Slider Length" +msgstr "" + +#: ../gtk/gtkscrollbar.c:73 +msgid "Minimum length of scrollbar slider" +msgstr "" + +#: ../gtk/gtkscrollbar.c:81 +msgid "Fixed slider size" +msgstr "" + +#: ../gtk/gtkscrollbar.c:82 +msgid "Don't change slider size, just lock it to the minimum length" +msgstr "" + +#: ../gtk/gtkscrollbar.c:103 +msgid "" +"Display a second backward arrow button on the opposite end of the scrollbar" +msgstr "" + +#: ../gtk/gtkscrollbar.c:110 +msgid "" +"Display a second forward arrow button on the opposite end of the scrollbar" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:295 +msgid "Horizontal Adjustment" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:296 +msgid "The GtkAdjustment for the horizontal position" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:302 +msgid "Vertical Adjustment" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:303 +msgid "The GtkAdjustment for the vertical position" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:309 +msgid "Horizontal Scrollbar Policy" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:310 +msgid "When the horizontal scrollbar is displayed" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:317 +msgid "Vertical Scrollbar Policy" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:318 +msgid "When the vertical scrollbar is displayed" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:326 +msgid "Window Placement" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:327 +msgid "" +"Where the contents are located with respect to the scrollbars. This property " +"only takes effect if \"window-placement-set\" is TRUE." +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:344 +msgid "Window Placement Set" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:345 +msgid "" +"Whether \"window-placement\" should be used to determine the location of the " +"contents with respect to the scrollbars." +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:351 +msgid "Shadow Type" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:352 +msgid "Style of bevel around the contents" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:366 +msgid "Scrollbars within bevel" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:367 +msgid "Place scrollbars within the scrolled window's bevel" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:373 +msgid "Scrollbar spacing" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:374 +msgid "Number of pixels between the scrollbars and the scrolled window" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:383 +msgid "Minimum Content Width" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:384 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:390 +msgid "Minimum Content Height" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "" +"The minimum height that the scrolled window will allocate to its content" +msgstr "" + +#: ../gtk/gtkseparatortoolitem.c:143 +msgid "Draw" +msgstr "سىز" + +#: ../gtk/gtkseparatortoolitem.c:144 +msgid "Whether the separator is drawn, or just blank" +msgstr "" + +#: ../gtk/gtksettings.c:285 +msgid "Double Click Time" +msgstr "قوش چېكىشنىڭ ئارىلىقى" + +#: ../gtk/gtksettings.c:286 +msgid "" +"Maximum time allowed between two clicks for them to be considered a double " +"click (in milliseconds)" +msgstr "" + +#: ../gtk/gtksettings.c:293 +msgid "Double Click Distance" +msgstr "قوش چېكىش ئارىلىقى" + +#: ../gtk/gtksettings.c:294 +msgid "" +"Maximum distance allowed between two clicks for them to be considered a " +"double click (in pixels)" +msgstr "" + +#: ../gtk/gtksettings.c:310 +msgid "Cursor Blink" +msgstr "نۇربەلگىسىنىڭ لىپىلدىشى" + +#: ../gtk/gtksettings.c:311 +msgid "Whether the cursor should blink" +msgstr "" + +#: ../gtk/gtksettings.c:318 +msgid "Cursor Blink Time" +msgstr "نۇربەلگىسىنىڭ لىپىلداش ۋاقتى" + +#: ../gtk/gtksettings.c:319 +msgid "Length of the cursor blink cycle, in milliseconds" +msgstr "" + +#: ../gtk/gtksettings.c:338 +msgid "Cursor Blink Timeout" +msgstr "نۇربەلگىسىنىڭ لىپىلداش مۆھلىتى" + +#: ../gtk/gtksettings.c:339 +msgid "Time after which the cursor stops blinking, in seconds" +msgstr "" + +#: ../gtk/gtksettings.c:346 +msgid "Split Cursor" +msgstr "" + +#: ../gtk/gtksettings.c:347 +msgid "" +"Whether two cursors should be displayed for mixed left-to-right and right-to-" +"left text" +msgstr "" + +#: ../gtk/gtksettings.c:354 +msgid "Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:355 +msgid "Name of theme RC file to load" +msgstr "" + +#: ../gtk/gtksettings.c:363 +msgid "Icon Theme Name" +msgstr "سىنبەلگە تېما ئاتى" + +#: ../gtk/gtksettings.c:364 +msgid "Name of icon theme to use" +msgstr "ئىشلىتىدىغان سىنبەلگە ئۇسلۇبىنىڭ ئاتى" + +#: ../gtk/gtksettings.c:372 +msgid "Fallback Icon Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:373 +msgid "Name of a icon theme to fall back to" +msgstr "" + +#: ../gtk/gtksettings.c:381 +msgid "Key Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:382 +msgid "Name of key theme RC file to load" +msgstr "" + +#: ../gtk/gtksettings.c:390 +msgid "Menu bar accelerator" +msgstr "تىزىملىك بالداق تېزلەتكۈچ" + +#: ../gtk/gtksettings.c:391 +msgid "Keybinding to activate the menu bar" +msgstr "" + +#: ../gtk/gtksettings.c:399 +msgid "Drag threshold" +msgstr "سۆرەشنىڭ بوسۇغا قىممىتى" + +#: ../gtk/gtksettings.c:400 +msgid "Number of pixels the cursor can move before dragging" +msgstr "" + +#: ../gtk/gtksettings.c:408 +msgid "Font Name" +msgstr "خەت نۇسخا ئاتى" + +#: ../gtk/gtksettings.c:409 +msgid "Name of default font to use" +msgstr "ئىشلىتىدىغان كۆڭۈلدىكى خەت نۇسخىسىنىڭ ئاتى" + +#: ../gtk/gtksettings.c:431 +msgid "Icon Sizes" +msgstr "سىنبەلگە چوڭلۇقى" + +#: ../gtk/gtksettings.c:432 +msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." +msgstr "" + +#: ../gtk/gtksettings.c:440 +msgid "GTK Modules" +msgstr "GTK بۆلەكلىرى" + +#: ../gtk/gtksettings.c:441 +msgid "List of currently active GTK modules" +msgstr "" + +#: ../gtk/gtksettings.c:450 +msgid "Xft Antialias" +msgstr "" + +#: ../gtk/gtksettings.c:451 +msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" +msgstr "" + +#: ../gtk/gtksettings.c:460 +msgid "Xft Hinting" +msgstr "" + +#: ../gtk/gtksettings.c:461 +msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" +msgstr "" + +#: ../gtk/gtksettings.c:470 +msgid "Xft Hint Style" +msgstr "" + +#: ../gtk/gtksettings.c:471 +msgid "" +"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" +msgstr "" + +#: ../gtk/gtksettings.c:480 +msgid "Xft RGBA" +msgstr "" + +#: ../gtk/gtksettings.c:481 +msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" +msgstr "" + +#: ../gtk/gtksettings.c:490 +msgid "Xft DPI" +msgstr "" + +#: ../gtk/gtksettings.c:491 +msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" +msgstr "" + +#: ../gtk/gtksettings.c:500 +msgid "Cursor theme name" +msgstr "نۇربەلگىسى ئۇسلۇبىنىڭ ئاتى" + +#: ../gtk/gtksettings.c:501 +msgid "Name of the cursor theme to use, or NULL to use the default theme" +msgstr "ئىشلىتىدىغان نۇربەلگە ئۇسلۇبىنىڭ ئاتى، ياكى كۆڭۈلدىكىنى ئىشلىتىش ئۈچۈن NULL قىلسا بولىدۇ" + +#: ../gtk/gtksettings.c:509 +msgid "Cursor theme size" +msgstr "نۇربەلگىسى ئۇسلۇبىنىڭ چوڭلۇقى" + +#: ../gtk/gtksettings.c:510 +msgid "Size to use for cursors, or 0 to use the default size" +msgstr "" + +#: ../gtk/gtksettings.c:520 +msgid "Alternative button order" +msgstr "" + +#: ../gtk/gtksettings.c:521 +msgid "Whether buttons in dialogs should use the alternative button order" +msgstr "" + +#: ../gtk/gtksettings.c:538 +msgid "Alternative sort indicator direction" +msgstr "" + +#: ../gtk/gtksettings.c:539 +msgid "" +"Whether the direction of the sort indicators in list and tree views is " +"inverted compared to the default (where down means ascending)" +msgstr "" + +#: ../gtk/gtksettings.c:547 +msgid "Show the 'Input Methods' menu" +msgstr "'كىرگۈزگۈچ' تىزىملىكىنى كۆرسەت" + +#: ../gtk/gtksettings.c:548 +msgid "" +"Whether the context menus of entries and text views should offer to change " +"the input method" +msgstr "" + +#: ../gtk/gtksettings.c:556 +msgid "Show the 'Insert Unicode Control Character' menu" +msgstr "" + +#: ../gtk/gtksettings.c:557 +msgid "" +"Whether the context menus of entries and text views should offer to insert " +"control characters" +msgstr "" + +#: ../gtk/gtksettings.c:565 +msgid "Start timeout" +msgstr "" + +#: ../gtk/gtksettings.c:566 +msgid "Starting value for timeouts, when button is pressed" +msgstr "" + +#: ../gtk/gtksettings.c:575 +msgid "Repeat timeout" +msgstr "" + +#: ../gtk/gtksettings.c:576 +msgid "Repeat value for timeouts, when button is pressed" +msgstr "" + +#: ../gtk/gtksettings.c:585 +msgid "Expand timeout" +msgstr "" + +#: ../gtk/gtksettings.c:586 +msgid "Expand value for timeouts, when a widget is expanding a new region" +msgstr "" + +#: ../gtk/gtksettings.c:621 +msgid "Color scheme" +msgstr "رەڭ نۇسخىسى" + +#: ../gtk/gtksettings.c:622 +msgid "A palette of named colors for use in themes" +msgstr "" + +#: ../gtk/gtksettings.c:631 +msgid "Enable Animations" +msgstr "جانلاندۇرۇمنى قوزغات" + +#: ../gtk/gtksettings.c:632 +msgid "Whether to enable toolkit-wide animations." +msgstr "" + +#: ../gtk/gtksettings.c:650 +msgid "Enable Touchscreen Mode" +msgstr "سېزىمچان ئېكران ھالىتىنى قوزغات" + +#: ../gtk/gtksettings.c:651 +msgid "When TRUE, there are no motion notify events delivered on this screen" +msgstr "" + +#: ../gtk/gtksettings.c:668 +msgid "Tooltip timeout" +msgstr "" + +#: ../gtk/gtksettings.c:669 +msgid "Timeout before tooltip is shown" +msgstr "" + +#: ../gtk/gtksettings.c:694 +msgid "Tooltip browse timeout" +msgstr "" + +#: ../gtk/gtksettings.c:695 +msgid "Timeout before tooltip is shown when browse mode is enabled" +msgstr "" + +#: ../gtk/gtksettings.c:716 +msgid "Tooltip browse mode timeout" +msgstr "" + +#: ../gtk/gtksettings.c:717 +msgid "Timeout after which browse mode is disabled" +msgstr "" + +#: ../gtk/gtksettings.c:736 +msgid "Keynav Cursor Only" +msgstr "" + +#: ../gtk/gtksettings.c:737 +msgid "When TRUE, there are only cursor keys available to navigate widgets" +msgstr "" + +#: ../gtk/gtksettings.c:754 +msgid "Keynav Wrap Around" +msgstr "" + +#: ../gtk/gtksettings.c:755 +msgid "Whether to wrap around when keyboard-navigating widgets" +msgstr "" + +#: ../gtk/gtksettings.c:775 +msgid "Error Bell" +msgstr "" + +#: ../gtk/gtksettings.c:776 +msgid "When TRUE, keyboard navigation and other errors will cause a beep" +msgstr "" + +#: ../gtk/gtksettings.c:793 +msgid "Color Hash" +msgstr "" + +#: ../gtk/gtksettings.c:794 +msgid "A hash table representation of the color scheme." +msgstr "" + +#: ../gtk/gtksettings.c:802 +msgid "Default file chooser backend" +msgstr "" + +#: ../gtk/gtksettings.c:803 +msgid "Name of the GtkFileChooser backend to use by default" +msgstr "" + +#: ../gtk/gtksettings.c:820 +msgid "Default print backend" +msgstr "" + +#: ../gtk/gtksettings.c:821 +msgid "List of the GtkPrintBackend backends to use by default" +msgstr "" + +#: ../gtk/gtksettings.c:844 +msgid "Default command to run when displaying a print preview" +msgstr "" + +#: ../gtk/gtksettings.c:845 +msgid "Command to run when displaying a print preview" +msgstr "" + +#: ../gtk/gtksettings.c:861 +msgid "Enable Mnemonics" +msgstr "" + +#: ../gtk/gtksettings.c:862 +msgid "Whether labels should have mnemonics" +msgstr "" + +#: ../gtk/gtksettings.c:878 +msgid "Enable Accelerators" +msgstr "" + +#: ../gtk/gtksettings.c:879 +msgid "Whether menu items should have accelerators" +msgstr "" + +#: ../gtk/gtksettings.c:896 +msgid "Recent Files Limit" +msgstr "" + +#: ../gtk/gtksettings.c:897 +msgid "Number of recently used files" +msgstr "يېقىندا ئىشلىتىلگەن ھۆججەت سانى" + +#: ../gtk/gtksettings.c:915 +msgid "Default IM module" +msgstr "" + +#: ../gtk/gtksettings.c:916 +msgid "Which IM module should be used by default" +msgstr "" + +#: ../gtk/gtksettings.c:934 +msgid "Recent Files Max Age" +msgstr "" + +#: ../gtk/gtksettings.c:935 +msgid "Maximum age of recently used files, in days" +msgstr "" + +#: ../gtk/gtksettings.c:944 +msgid "Fontconfig configuration timestamp" +msgstr "" + +#: ../gtk/gtksettings.c:945 +msgid "Timestamp of current fontconfig configuration" +msgstr "" + +#: ../gtk/gtksettings.c:967 +msgid "Sound Theme Name" +msgstr "" + +#: ../gtk/gtksettings.c:968 +msgid "XDG sound theme name" +msgstr "" + +#. Translators: this means sounds that are played as feedback to user input +#: ../gtk/gtksettings.c:990 +msgid "Audible Input Feedback" +msgstr "" + +#: ../gtk/gtksettings.c:991 +msgid "Whether to play event sounds as feedback to user input" +msgstr "" + +#: ../gtk/gtksettings.c:1012 +msgid "Enable Event Sounds" +msgstr "" + +#: ../gtk/gtksettings.c:1013 +msgid "Whether to play any event sounds at all" +msgstr "" + +#: ../gtk/gtksettings.c:1028 +msgid "Enable Tooltips" +msgstr "" + +#: ../gtk/gtksettings.c:1029 +msgid "Whether tooltips should be shown on widgets" +msgstr "" + +#: ../gtk/gtksettings.c:1042 +msgid "Toolbar style" +msgstr "" + +#: ../gtk/gtksettings.c:1043 +msgid "" +"Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "" + +#: ../gtk/gtksettings.c:1057 +msgid "Toolbar Icon Size" +msgstr "قورال بالداقتىكى سىنبەلگە چوڭلۇقى" + +#: ../gtk/gtksettings.c:1058 +msgid "The size of icons in default toolbars." +msgstr "" + +#: ../gtk/gtksettings.c:1075 +msgid "Auto Mnemonics" +msgstr "" + +#: ../gtk/gtksettings.c:1076 +msgid "" +"Whether mnemonics should be automatically shown and hidden when the user " +"presses the mnemonic activator." +msgstr "" + +#: ../gtk/gtksettings.c:1101 +msgid "Application prefers a dark theme" +msgstr "" + +#: ../gtk/gtksettings.c:1102 +msgid "Whether the application prefers to have a dark theme." +msgstr "" + +#: ../gtk/gtksettings.c:1117 +msgid "Show button images" +msgstr "" + +#: ../gtk/gtksettings.c:1118 +msgid "Whether images should be shown on buttons" +msgstr "" + +#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 +msgid "Select on focus" +msgstr "" + +#: ../gtk/gtksettings.c:1127 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "" + +#: ../gtk/gtksettings.c:1144 +msgid "Password Hint Timeout" +msgstr "" + +#: ../gtk/gtksettings.c:1145 +msgid "How long to show the last input character in hidden entries" +msgstr "" + +#: ../gtk/gtksettings.c:1154 +msgid "Show menu images" +msgstr "" + +#: ../gtk/gtksettings.c:1155 +msgid "Whether images should be shown in menus" +msgstr "" + +#: ../gtk/gtksettings.c:1163 +msgid "Delay before drop down menus appear" +msgstr "" + +#: ../gtk/gtksettings.c:1164 +msgid "Delay before the submenus of a menu bar appear" +msgstr "" + +#: ../gtk/gtksettings.c:1181 +msgid "Scrolled Window Placement" +msgstr "" + +#: ../gtk/gtksettings.c:1182 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" + +#: ../gtk/gtksettings.c:1191 +msgid "Can change accelerators" +msgstr "" + +#: ../gtk/gtksettings.c:1192 +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "" + +#: ../gtk/gtksettings.c:1200 +msgid "Delay before submenus appear" +msgstr "" + +#: ../gtk/gtksettings.c:1201 +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "" + +#: ../gtk/gtksettings.c:1210 +msgid "Delay before hiding a submenu" +msgstr "" + +#: ../gtk/gtksettings.c:1211 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "" + +#: ../gtk/gtksettings.c:1221 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "" + +#: ../gtk/gtksettings.c:1229 +msgid "Custom palette" +msgstr "" + +#: ../gtk/gtksettings.c:1230 +msgid "Palette to use in the color selector" +msgstr "" + +#: ../gtk/gtksettings.c:1238 +msgid "IM Preedit style" +msgstr "" + +#: ../gtk/gtksettings.c:1239 +msgid "How to draw the input method preedit string" +msgstr "" + +#: ../gtk/gtksettings.c:1248 +msgid "IM Status style" +msgstr "IM ھالەت ئۇسلۇبى" + +#: ../gtk/gtksettings.c:1249 +msgid "How to draw the input method statusbar" +msgstr "كىرگۈزگۈچ ھالەت بالدىقىنى قانداق سىزىدۇ" + +#: ../gtk/gtksizegroup.c:350 +msgid "Mode" +msgstr "ھالىتى" + +#: ../gtk/gtksizegroup.c:351 +msgid "" +"The directions in which the size group affects the requested sizes of its " +"component widgets" +msgstr "" + +#: ../gtk/gtksizegroup.c:367 +msgid "Ignore hidden" +msgstr "يوشۇرۇنغا پەرۋا قىلما" + +#: ../gtk/gtksizegroup.c:368 +msgid "" +"If TRUE, unmapped widgets are ignored when determining the size of the group" +msgstr "" + +#: ../gtk/gtkspinbutton.c:237 +msgid "Climb Rate" +msgstr "" + +#: ../gtk/gtkspinbutton.c:257 +msgid "Snap to Ticks" +msgstr "" + +#: ../gtk/gtkspinbutton.c:258 +msgid "" +"Whether erroneous values are automatically changed to a spin button's " +"nearest step increment" +msgstr "" + +#: ../gtk/gtkspinbutton.c:265 +msgid "Numeric" +msgstr "سان" + +#: ../gtk/gtkspinbutton.c:266 +msgid "Whether non-numeric characters should be ignored" +msgstr "" + +#: ../gtk/gtkspinbutton.c:273 +msgid "Wrap" +msgstr "قەۋەتلەش" + +#: ../gtk/gtkspinbutton.c:274 +msgid "Whether a spin button should wrap upon reaching its limits" +msgstr "" + +#: ../gtk/gtkspinbutton.c:281 +msgid "Update Policy" +msgstr "" + +#: ../gtk/gtkspinbutton.c:282 +msgid "" +"Whether the spin button should update always, or only when the value is legal" +msgstr "" + +#: ../gtk/gtkspinbutton.c:291 +msgid "Reads the current value, or sets a new value" +msgstr "ھازىرقى قىممەتنى ئوقۇيدۇ ياكى يېڭى قىممەتنى بېرىدۇ" + +#: ../gtk/gtkspinbutton.c:300 +msgid "Style of bevel around the spin button" +msgstr "" + +#: ../gtk/gtkspinner.c:119 +msgid "Whether the spinner is active" +msgstr "" + +#: ../gtk/gtkspinner.c:135 +msgid "Number of steps" +msgstr "قەدەم سانى" + +#: ../gtk/gtkspinner.c:136 +msgid "" +"The number of steps for the spinner to complete a full loop. The animation " +"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" +"duration)." +msgstr "" + +#: ../gtk/gtkspinner.c:153 +msgid "Animation duration" +msgstr "جانلاندۇرۇم مۇددىتى" + +#: ../gtk/gtkspinner.c:154 +msgid "" +"The length of time in milliseconds for the spinner to complete a full loop" +msgstr "" + +#: ../gtk/gtkstatusbar.c:181 +msgid "Style of bevel around the statusbar text" +msgstr "" + +#: ../gtk/gtkstatusicon.c:270 +msgid "The size of the icon" +msgstr "" + +#: ../gtk/gtkstatusicon.c:280 +msgid "The screen where this status icon will be displayed" +msgstr "" + +#: ../gtk/gtkstatusicon.c:288 +msgid "Whether the status icon is visible" +msgstr "" + +#: ../gtk/gtkstatusicon.c:304 +msgid "Whether the status icon is embedded" +msgstr "" + +#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 +msgid "The orientation of the tray" +msgstr "" + +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 +msgid "Has tooltip" +msgstr "" + +#: ../gtk/gtkstatusicon.c:348 +msgid "Whether this tray icon has a tooltip" +msgstr "" + +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 +msgid "Tooltip Text" +msgstr "" + +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 +msgid "The contents of the tooltip for this widget" +msgstr "" + +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 +msgid "Tooltip markup" +msgstr "" + +#: ../gtk/gtkstatusicon.c:398 +msgid "The contents of the tooltip for this tray icon" +msgstr "" + +#: ../gtk/gtkstatusicon.c:416 +msgid "The title of this tray icon" +msgstr "" + +#: ../gtk/gtkstyle.c:470 +msgid "Style context" +msgstr "" + +#: ../gtk/gtkstyle.c:471 +msgid "GtkStyleContext to get style from" +msgstr "" + +#: ../gtk/gtkswitch.c:739 +msgid "Whether the switch is on or off" +msgstr "" + +#: ../gtk/gtkswitch.c:773 +msgid "The minimum width of the handle" +msgstr "" + +#: ../gtk/gtktable.c:157 +msgid "Rows" +msgstr "قۇرلار" + +#: ../gtk/gtktable.c:158 +msgid "The number of rows in the table" +msgstr "" + +#: ../gtk/gtktable.c:166 +msgid "Columns" +msgstr "ئىستونلار" + +#: ../gtk/gtktable.c:167 +msgid "The number of columns in the table" +msgstr "" + +#: ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "قۇر بوشلۇقى" + +#: ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "ئارقىمۇئارقا كەلگەن ئىككى قۇرنىڭ ئارىسىدىكى بوشلۇق" + +#: ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "ئىستون بوشلۇقى" + +#: ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "ئارقىمۇئارقا كەلگەن ئىككى ئىستوننىڭ ئارىسىدىكى بوشلۇق" + +#: ../gtk/gtktable.c:194 +msgid "If TRUE, the table cells are all the same width/height" +msgstr "" + +#: ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "" + +#: ../gtk/gtktable.c:208 +msgid "Right attachment" +msgstr "" + +#: ../gtk/gtktable.c:209 +msgid "The column number to attach the right side of a child widget to" +msgstr "" + +#: ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "" + +#: ../gtk/gtktable.c:216 +msgid "The row number to attach the top of a child widget to" +msgstr "" + +#: ../gtk/gtktable.c:222 +msgid "Bottom attachment" +msgstr "" + +#: ../gtk/gtktable.c:229 +msgid "Horizontal options" +msgstr "" + +#: ../gtk/gtktable.c:230 +msgid "Options specifying the horizontal behaviour of the child" +msgstr "" + +#: ../gtk/gtktable.c:236 +msgid "Vertical options" +msgstr "" + +#: ../gtk/gtktable.c:237 +msgid "Options specifying the vertical behaviour of the child" +msgstr "" + +#: ../gtk/gtktable.c:243 +msgid "Horizontal padding" +msgstr "" + +#: ../gtk/gtktable.c:244 +msgid "" +"Extra space to put between the child and its left and right neighbors, in " +"pixels" +msgstr "" + +#: ../gtk/gtktable.c:250 +msgid "Vertical padding" +msgstr "" + +#: ../gtk/gtktable.c:251 +msgid "" +"Extra space to put between the child and its upper and lower neighbors, in " +"pixels" +msgstr "" + +#: ../gtk/gtktextbuffer.c:191 +msgid "Tag Table" +msgstr "" + +#: ../gtk/gtktextbuffer.c:192 +msgid "Text Tag Table" +msgstr "" + +#: ../gtk/gtktextbuffer.c:210 +msgid "Current text of the buffer" +msgstr "" + +#: ../gtk/gtktextbuffer.c:224 +msgid "Has selection" +msgstr "" + +#: ../gtk/gtktextbuffer.c:225 +msgid "Whether the buffer has some text currently selected" +msgstr "" + +#: ../gtk/gtktextbuffer.c:241 +msgid "Cursor position" +msgstr "نۇربەلگىسىنىڭ ئورنى" + +#: ../gtk/gtktextbuffer.c:242 +msgid "" +"The position of the insert mark (as offset from the beginning of the buffer)" +msgstr "" + +#: ../gtk/gtktextbuffer.c:257 +msgid "Copy target list" +msgstr "" + +#: ../gtk/gtktextbuffer.c:258 +msgid "" +"The list of targets this buffer supports for clipboard copying and DND source" +msgstr "" + +#: ../gtk/gtktextbuffer.c:273 +msgid "Paste target list" +msgstr "" + +#: ../gtk/gtktextbuffer.c:274 +msgid "" +"The list of targets this buffer supports for clipboard pasting and DND " +"destination" +msgstr "" + +#: ../gtk/gtktextmark.c:90 +msgid "Mark name" +msgstr "" + +#: ../gtk/gtktextmark.c:97 +msgid "Left gravity" +msgstr "" + +#: ../gtk/gtktextmark.c:98 +msgid "Whether the mark has left gravity" +msgstr "" + +#: ../gtk/gtktexttag.c:168 +msgid "Tag name" +msgstr "خەتكۈش ئاتى" + +#: ../gtk/gtktexttag.c:169 +msgid "Name used to refer to the text tag. NULL for anonymous tags" +msgstr "" + +#: ../gtk/gtktexttag.c:187 +msgid "Background color as a (possibly unallocated) GdkColor" +msgstr "" + +#: ../gtk/gtktexttag.c:194 +msgid "Background full height" +msgstr "" + +#: ../gtk/gtktexttag.c:195 +msgid "" +"Whether the background color fills the entire line height or only the height " +"of the tagged characters" +msgstr "" + +#: ../gtk/gtktexttag.c:211 +msgid "Foreground color as a (possibly unallocated) GdkColor" +msgstr "" + +#: ../gtk/gtktexttag.c:218 +msgid "Text direction" +msgstr "تېكىست يۆنىلىشى" + +#: ../gtk/gtktexttag.c:219 +msgid "Text direction, e.g. right-to-left or left-to-right" +msgstr "" + +#: ../gtk/gtktexttag.c:268 +msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" +msgstr "" + +#: ../gtk/gtktexttag.c:277 +msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" +msgstr "" + +#: ../gtk/gtktexttag.c:286 +msgid "" +"Font weight as an integer, see predefined values in PangoWeight; for " +"example, PANGO_WEIGHT_BOLD" +msgstr "" + +#: ../gtk/gtktexttag.c:297 +msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" +msgstr "" + +#: ../gtk/gtktexttag.c:306 +msgid "Font size in Pango units" +msgstr "" + +#: ../gtk/gtktexttag.c:316 +msgid "" +"Font size as a scale factor relative to the default font size. This properly " +"adapts to theme changes etc. so is recommended. Pango predefines some scales " +"such as PANGO_SCALE_X_LARGE" +msgstr "" + +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 +msgid "Left, right, or center justification" +msgstr "" + +#: ../gtk/gtktexttag.c:355 +msgid "" +"The language this text is in, as an ISO code. Pango can use this as a hint " +"when rendering the text. If not set, an appropriate default will be used." +msgstr "" + +#: ../gtk/gtktexttag.c:362 +msgid "Left margin" +msgstr "سول بەت يېنى" + +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 +msgid "Width of the left margin in pixels" +msgstr "" + +#: ../gtk/gtktexttag.c:372 +msgid "Right margin" +msgstr "ئوڭ بەت يېنى" + +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 +msgid "Width of the right margin in pixels" +msgstr "" + +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 +msgid "Indent" msgstr "تارايت" -#: ../gtk/gtkstock.c:365 -msgctxt "Stock label" -msgid "_Index" -msgstr "ئىندېكس(_I)" - -#: ../gtk/gtkstock.c:366 -msgctxt "Stock label" -msgid "_Information" -msgstr "ئۇچۇر(_I)" - -#: ../gtk/gtkstock.c:367 -msgctxt "Stock label" -msgid "_Italic" -msgstr "يانتۇ(_I)" - -#: ../gtk/gtkstock.c:368 -msgctxt "Stock label" -msgid "_Jump to" -msgstr "ئاتلا(_J)" - -#. This is about text justification, "centered text" -#: ../gtk/gtkstock.c:370 -msgctxt "Stock label" -msgid "_Center" -msgstr "ئوتتۇرا(_C)" - -#. This is about text justification -#: ../gtk/gtkstock.c:372 -msgctxt "Stock label" -msgid "_Fill" -msgstr "تولدۇر(_F)" - -#. This is about text justification, "left-justified text" -#: ../gtk/gtkstock.c:374 -msgctxt "Stock label" -msgid "_Left" -msgstr "سول(_L)" - -#. This is about text justification, "right-justified text" -#: ../gtk/gtkstock.c:376 -msgctxt "Stock label" -msgid "_Right" -msgstr "ئوڭ(_R)" - -#. Media label, as in "fast forward" -#: ../gtk/gtkstock.c:379 -msgctxt "Stock label, media" -msgid "_Forward" -msgstr "ئالدىنقى(_F)" - -#. Media label, as in "next song" -#: ../gtk/gtkstock.c:381 -msgctxt "Stock label, media" -msgid "_Next" -msgstr "كېيىنكى(_N)" - -#. Media label, as in "pause music" -#: ../gtk/gtkstock.c:383 -msgctxt "Stock label, media" -msgid "P_ause" -msgstr "ۋاقىتلىق توختات(_A)" - -#. Media label, as in "play music" -#: ../gtk/gtkstock.c:385 -msgctxt "Stock label, media" -msgid "_Play" -msgstr "قوي(_P)" - -#. Media label, as in "previous song" -#: ../gtk/gtkstock.c:387 -msgctxt "Stock label, media" -msgid "Pre_vious" -msgstr "ئالدىنقى(_V)" - -#. Media label -#: ../gtk/gtkstock.c:389 -msgctxt "Stock label, media" -msgid "_Record" -msgstr "خاتىرىلە(_R)" - -#. Media label -#: ../gtk/gtkstock.c:391 -msgctxt "Stock label, media" -msgid "R_ewind" -msgstr "تېز چېكىن(_E)" - -#. Media label -#: ../gtk/gtkstock.c:393 -msgctxt "Stock label, media" -msgid "_Stop" -msgstr "توختا (&S)" - -#: ../gtk/gtkstock.c:394 -msgctxt "Stock label" -msgid "_Network" -msgstr "تور(_N)" - -#: ../gtk/gtkstock.c:395 -msgctxt "Stock label" -msgid "_New" -msgstr "يېڭى(_N)" - -#: ../gtk/gtkstock.c:396 -msgctxt "Stock label" -msgid "_No" -msgstr "ياق(_N)" - -#: ../gtk/gtkstock.c:397 -msgctxt "Stock label" -msgid "_OK" -msgstr "جەزملە(_O)" - -#: ../gtk/gtkstock.c:398 -msgctxt "Stock label" -msgid "_Open" -msgstr "ئاچ(_O)" - -#. Page orientation -#: ../gtk/gtkstock.c:400 -msgctxt "Stock label" -msgid "Landscape" -msgstr "توغرا يۆنىلىش" - -#. Page orientation -#: ../gtk/gtkstock.c:402 -msgctxt "Stock label" -msgid "Portrait" -msgstr "بوي يۆنىلىش" - -#. Page orientation -#: ../gtk/gtkstock.c:404 -msgctxt "Stock label" -msgid "Reverse landscape" -msgstr "تەتۈر توغرا يۆنىلىش" - -#. Page orientation -#: ../gtk/gtkstock.c:406 -msgctxt "Stock label" -msgid "Reverse portrait" -msgstr "تەتۈر بوي يۆنىلىش" - -#: ../gtk/gtkstock.c:407 -msgctxt "Stock label" -msgid "Page Set_up" -msgstr "بەت تەڭشەك(_U)" - -#: ../gtk/gtkstock.c:408 -msgctxt "Stock label" -msgid "_Paste" -msgstr "چاپلا(_P)" - -#: ../gtk/gtkstock.c:409 -msgctxt "Stock label" -msgid "_Preferences" -msgstr "مايىللىق(_P)" - -#: ../gtk/gtkstock.c:410 -msgctxt "Stock label" -msgid "_Print" -msgstr "باس(_P)" - -#: ../gtk/gtkstock.c:411 -msgctxt "Stock label" -msgid "Print Pre_view" -msgstr "بېسىشنى ئالدىن كۆزەت(_V)" - -#: ../gtk/gtkstock.c:412 -msgctxt "Stock label" -msgid "_Properties" -msgstr "خاسلىق(_P)" - -#: ../gtk/gtkstock.c:413 -msgctxt "Stock label" -msgid "_Quit" -msgstr "چېكىن(_Q)" - -#: ../gtk/gtkstock.c:414 -msgctxt "Stock label" -msgid "_Redo" -msgstr "قايتىلا(_R)" - -#: ../gtk/gtkstock.c:415 -msgctxt "Stock label" -msgid "_Refresh" -msgstr "يېڭىلا(_R)" - -#: ../gtk/gtkstock.c:416 -msgctxt "Stock label" -msgid "_Remove" -msgstr "ئۆچۈر(_R)" - -#: ../gtk/gtkstock.c:417 -msgctxt "Stock label" -msgid "_Revert" -msgstr "ئەسلىگە قايتۇر(_R)" - -#: ../gtk/gtkstock.c:418 -msgctxt "Stock label" -msgid "_Save" -msgstr "ساقلا(_S)" - -#: ../gtk/gtkstock.c:419 -msgctxt "Stock label" -msgid "Save _As" -msgstr "باشقا ئاتتا ساقلا(_A)" - -#: ../gtk/gtkstock.c:420 -msgctxt "Stock label" -msgid "Select _All" -msgstr "ھەممىنى تاللا(_A)" - -#: ../gtk/gtkstock.c:421 -msgctxt "Stock label" -msgid "_Color" -msgstr "رەڭ(_C)" - -#: ../gtk/gtkstock.c:422 -msgctxt "Stock label" -msgid "_Font" -msgstr "خەت نۇسخا(_F)" - -#. Sorting direction -#: ../gtk/gtkstock.c:424 -msgctxt "Stock label" -msgid "_Ascending" -msgstr "ئۆسكۈچى(_A)" - -#. Sorting direction -#: ../gtk/gtkstock.c:426 -msgctxt "Stock label" -msgid "_Descending" -msgstr "كېمەيگۈچى(_D)" - -#: ../gtk/gtkstock.c:427 -msgctxt "Stock label" -msgid "_Spell Check" -msgstr "ئىملا تەكشۈر(_S)" - -#: ../gtk/gtkstock.c:428 -msgctxt "Stock label" -msgid "_Stop" -msgstr "توختا (&S)" - -#. Font variant -#: ../gtk/gtkstock.c:430 -msgctxt "Stock label" -msgid "_Strikethrough" -msgstr "ئۆچۈرۈش سىزىقى(_S)" - -#: ../gtk/gtkstock.c:431 -msgctxt "Stock label" -msgid "_Undelete" -msgstr "ئەسلىگە كەلتۈر(_U)" - -#. Font variant -#: ../gtk/gtkstock.c:433 -msgctxt "Stock label" -msgid "_Underline" -msgstr "ئاستى سىزىق(_U)" - -#: ../gtk/gtkstock.c:434 -msgctxt "Stock label" -msgid "_Undo" -msgstr "يېنىۋال(_U)" - -#: ../gtk/gtkstock.c:435 -msgctxt "Stock label" -msgid "_Yes" -msgstr "ھەئە(_Y)" - -#. Zoom -#: ../gtk/gtkstock.c:437 -msgctxt "Stock label" -msgid "_Normal Size" -msgstr "ئادەتتىكى چوڭلۇقى(_N)" - -#. Zoom -#: ../gtk/gtkstock.c:439 -msgctxt "Stock label" -msgid "Best _Fit" -msgstr "ئەڭ مۇناسىپ(_F)" - -#: ../gtk/gtkstock.c:440 -msgctxt "Stock label" -msgid "Zoom _In" -msgstr "چوڭايت(_I)" - -#: ../gtk/gtkstock.c:441 -msgctxt "Stock label" -msgid "Zoom _Out" -msgstr "كىچىكلەت(_O)" - -#. Translators: if the "on" state label requires more than three -#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for -#. * the state -#. -#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 -msgctxt "switch" -msgid "ON" +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 +msgid "Amount to indent the paragraph, in pixels" msgstr "" -#. Translators: if the "off" state label requires more than three -#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state -#. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 -msgctxt "switch" -msgid "OFF" +#: ../gtk/gtktexttag.c:395 +msgid "" +"Offset of text above the baseline (below the baseline if rise is negative) " +"in Pango units" msgstr "" -#: ../gtk/gtkswitch.c:943 -#| msgid "inch" -msgctxt "light switch widget" -msgid "Switch" -msgstr "ئالماشتۇرغۇچ" - -#: ../gtk/gtkswitch.c:944 -msgid "Switches between on and off states" +#: ../gtk/gtktexttag.c:404 +msgid "Pixels above lines" msgstr "" -#: ../gtk/gtktextbufferrichtext.c:650 -#, c-format -msgid "Unknown error when trying to deserialize %s" -msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s" +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 +msgid "Pixels of blank space above paragraphs" +msgstr "" -#: ../gtk/gtktextbufferrichtext.c:709 -#, c-format -msgid "No deserialize function found for format %s" -msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" +#: ../gtk/gtktexttag.c:414 +msgid "Pixels below lines" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 -#, c-format -msgid "Both \"id\" and \"name\" were found on the <%s> element" -msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 +msgid "Pixels of blank space below paragraphs" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 -#, c-format -msgid "The attribute \"%s\" was found twice on the <%s> element" -msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" +#: ../gtk/gtktexttag.c:424 +msgid "Pixels inside wrap" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:851 -#, c-format -msgid "<%s> element has invalid ID \"%s\"" -msgstr "<%s> ئېلېمېنتنىڭ ID سى «%s» ئىناۋەتسىز" +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 +msgid "Pixels of blank space between wrapped lines in a paragraph" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:861 -#, c-format -msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" -msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" - -#: ../gtk/gtktextbufferserialize.c:948 -#, c-format -msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى" - -#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 -#, c-format -msgid "Attribute \"%s\" is invalid on <%s> element in this context" -msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" - -#: ../gtk/gtktextbufferserialize.c:1030 -#, c-format -msgid "Tag \"%s\" has not been defined." -msgstr "“%s” بەلگە ئېنىقلانمىغان." - -#: ../gtk/gtktextbufferserialize.c:1042 -msgid "Anonymous tag found and tags can not be created." -msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" - -#: ../gtk/gtktextbufferserialize.c:1053 -#, c-format -msgid "Tag \"%s\" does not exist in buffer and tags can not be created." -msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." - -#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 -#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 -#, c-format -msgid "Element <%s> is not allowed below <%s>" -msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" - -#: ../gtk/gtktextbufferserialize.c:1183 -#, c-format -msgid "\"%s\" is not a valid attribute type" -msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" - -#: ../gtk/gtktextbufferserialize.c:1191 -#, c-format -msgid "\"%s\" is not a valid attribute name" -msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" - -#: ../gtk/gtktextbufferserialize.c:1201 -#, c-format +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 msgid "" -"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا ئىشلىتىلىدۇ" +"Whether to wrap lines never, at word boundaries, or at character boundaries" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:1210 -#, c-format -msgid "\"%s\" is not a valid value for attribute \"%s\"" -msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 +msgid "Tabs" +msgstr "بەتكۈچ" -#: ../gtk/gtktextbufferserialize.c:1295 -#, c-format -msgid "Tag \"%s\" already defined" -msgstr "\"%s\" بەلگە ئېنىقلاندى" +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 +msgid "Custom tabs for this text" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:1308 -#, c-format -msgid "Tag \"%s\" has invalid priority \"%s\"" -msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" +#: ../gtk/gtktexttag.c:480 +msgid "Invisible" +msgstr "يوشۇرۇن" -#: ../gtk/gtktextbufferserialize.c:1361 -#, c-format -msgid "Outermost element in text must be not <%s>" -msgstr "تېكىستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" +#: ../gtk/gtktexttag.c:481 +msgid "Whether this text is hidden." +msgstr "" -#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 -#, c-format -msgid "A <%s> element has already been specified" -msgstr "<%s> ئېلېمېنت بەلگىلەندى" +#: ../gtk/gtktexttag.c:495 +msgid "Paragraph background color name" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:1392 -msgid "A element can't occur before a element" -msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" +#: ../gtk/gtktexttag.c:496 +msgid "Paragraph background color as a string" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:1792 -msgid "Serialized data is malformed" -msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" +#: ../gtk/gtktexttag.c:511 +msgid "Paragraph background color" +msgstr "" -#: ../gtk/gtktextbufferserialize.c:1870 +#: ../gtk/gtktexttag.c:512 +msgid "Paragraph background color as a (possibly unallocated) GdkColor" +msgstr "" + +#: ../gtk/gtktexttag.c:530 +msgid "Margin Accumulates" +msgstr "" + +#: ../gtk/gtktexttag.c:531 +msgid "Whether left and right margins accumulate." +msgstr "" + +#: ../gtk/gtktexttag.c:544 +msgid "Background full height set" +msgstr "" + +#: ../gtk/gtktexttag.c:545 +msgid "Whether this tag affects background height" +msgstr "" + +#: ../gtk/gtktexttag.c:584 +msgid "Justification set" +msgstr "" + +#: ../gtk/gtktexttag.c:585 +msgid "Whether this tag affects paragraph justification" +msgstr "" + +#: ../gtk/gtktexttag.c:592 +msgid "Left margin set" +msgstr "" + +#: ../gtk/gtktexttag.c:593 +msgid "Whether this tag affects the left margin" +msgstr "" + +#: ../gtk/gtktexttag.c:596 +msgid "Indent set" +msgstr "" + +#: ../gtk/gtktexttag.c:597 +msgid "Whether this tag affects indentation" +msgstr "" + +#: ../gtk/gtktexttag.c:604 +msgid "Pixels above lines set" +msgstr "" + +#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 +msgid "Whether this tag affects the number of pixels above lines" +msgstr "" + +#: ../gtk/gtktexttag.c:608 +msgid "Pixels below lines set" +msgstr "" + +#: ../gtk/gtktexttag.c:612 +msgid "Pixels inside wrap set" +msgstr "" + +#: ../gtk/gtktexttag.c:613 +msgid "Whether this tag affects the number of pixels between wrapped lines" +msgstr "" + +#: ../gtk/gtktexttag.c:620 +msgid "Right margin set" +msgstr "" + +#: ../gtk/gtktexttag.c:621 +msgid "Whether this tag affects the right margin" +msgstr "" + +#: ../gtk/gtktexttag.c:628 +msgid "Wrap mode set" +msgstr "" + +#: ../gtk/gtktexttag.c:629 +msgid "Whether this tag affects line wrap mode" +msgstr "" + +#: ../gtk/gtktexttag.c:632 +msgid "Tabs set" +msgstr "" + +#: ../gtk/gtktexttag.c:633 +msgid "Whether this tag affects tabs" +msgstr "" + +#: ../gtk/gtktexttag.c:636 +msgid "Invisible set" +msgstr "كۆرۈنمەيدىغان توپلام" + +#: ../gtk/gtktexttag.c:637 +msgid "Whether this tag affects text visibility" +msgstr "" + +#: ../gtk/gtktexttag.c:640 +msgid "Paragraph background set" +msgstr "" + +#: ../gtk/gtktexttag.c:641 +msgid "Whether this tag affects the paragraph background color" +msgstr "" + +#: ../gtk/gtktextview.c:654 +msgid "Pixels Above Lines" +msgstr "" + +#: ../gtk/gtktextview.c:664 +msgid "Pixels Below Lines" +msgstr "" + +#: ../gtk/gtktextview.c:674 +msgid "Pixels Inside Wrap" +msgstr "" + +#: ../gtk/gtktextview.c:692 +msgid "Wrap Mode" +msgstr "قۇر قاتلاش ھالىتى" + +#: ../gtk/gtktextview.c:710 +msgid "Left Margin" +msgstr "سولدىكى بوشلۇق" + +#: ../gtk/gtktextview.c:720 +msgid "Right Margin" +msgstr "ئوڭ بوشلۇق" + +#: ../gtk/gtktextview.c:748 +msgid "Cursor Visible" +msgstr "نۇربەلگىسىنى كۆرسىتىش" + +#: ../gtk/gtktextview.c:749 +msgid "If the insertion cursor is shown" +msgstr "" + +#: ../gtk/gtktextview.c:756 +msgid "Buffer" +msgstr "يىغلەك" + +#: ../gtk/gtktextview.c:757 +msgid "The buffer which is displayed" +msgstr "" + +#: ../gtk/gtktextview.c:765 +msgid "Whether entered text overwrites existing contents" +msgstr "" + +#: ../gtk/gtktextview.c:772 +msgid "Accepts tab" +msgstr "" + +#: ../gtk/gtktextview.c:773 +msgid "Whether Tab will result in a tab character being entered" +msgstr "" + +#: ../gtk/gtktextview.c:808 +msgid "Error underline color" +msgstr "" + +#: ../gtk/gtktextview.c:809 +msgid "Color with which to draw error-indication underlines" +msgstr "" + +#: ../gtk/gtktoggleaction.c:118 +msgid "Create the same proxies as a radio action" +msgstr "" + +#: ../gtk/gtktoggleaction.c:119 +msgid "Whether the proxies for this action look like radio action proxies" +msgstr "" + +#: ../gtk/gtktoggleaction.c:134 +msgid "Whether the toggle action should be active" +msgstr "" + +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 +msgid "If the toggle button should be pressed in" +msgstr "" + +#: ../gtk/gtktogglebutton.c:134 +msgid "If the toggle button is in an \"in between\" state" +msgstr "" + +#: ../gtk/gtktogglebutton.c:141 +msgid "Draw Indicator" +msgstr "" + +#: ../gtk/gtktogglebutton.c:142 +msgid "If the toggle part of the button is displayed" +msgstr "" + +#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 +msgid "Toolbar Style" +msgstr "قورال بالداق ئۇسلۇبى" + +#: ../gtk/gtktoolbar.c:492 +msgid "How to draw the toolbar" +msgstr "قورال بالدىقىنى قانداق سىزىدۇ" + +#: ../gtk/gtktoolbar.c:499 +msgid "Show Arrow" +msgstr "" + +#: ../gtk/gtktoolbar.c:500 +msgid "If an arrow should be shown if the toolbar doesn't fit" +msgstr "" + +#: ../gtk/gtktoolbar.c:521 +msgid "Size of icons in this toolbar" +msgstr "" + +#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 +msgid "Icon size set" +msgstr "" + +#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 +msgid "Whether the icon-size property has been set" +msgstr "" + +#: ../gtk/gtktoolbar.c:546 +msgid "Whether the item should receive extra space when the toolbar grows" +msgstr "" + +#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 +msgid "Whether the item should be the same size as other homogeneous items" +msgstr "" + +#: ../gtk/gtktoolbar.c:561 +msgid "Spacer size" +msgstr "" + +#: ../gtk/gtktoolbar.c:562 +msgid "Size of spacers" +msgstr "" + +#: ../gtk/gtktoolbar.c:571 +msgid "Amount of border space between the toolbar shadow and the buttons" +msgstr "قورال بالدىقىنىڭ سايىسى بىلەن توپچىلار ئارىسىدىكى گىرۋەك بوشلۇقىنىڭ مىقدارى" + +#: ../gtk/gtktoolbar.c:579 +msgid "Maximum child expand" +msgstr "" + +#: ../gtk/gtktoolbar.c:580 +msgid "Maximum amount of space an expandable item will be given" +msgstr "" + +#: ../gtk/gtktoolbar.c:588 +msgid "Space style" +msgstr "" + +#: ../gtk/gtktoolbar.c:589 +msgid "Whether spacers are vertical lines or just blank" +msgstr "" + +#: ../gtk/gtktoolbar.c:596 +msgid "Button relief" +msgstr "" + +#: ../gtk/gtktoolbar.c:597 +msgid "Type of bevel around toolbar buttons" +msgstr "" + +#: ../gtk/gtktoolbar.c:604 +msgid "Style of bevel around the toolbar" +msgstr "" + +#: ../gtk/gtktoolbutton.c:203 +msgid "Text to show in the item." +msgstr "" + +#: ../gtk/gtktoolbutton.c:210 msgid "" -"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى GTKTEXTBUFFERCONTENTS-0001" +"If set, an underline in the label property indicates that the next character " +"should be used for the mnemonic accelerator key in the overflow menu" +msgstr "" -#: ../gtk/gtktextutil.c:60 -msgid "LRM _Left-to-right mark" -msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)" +#: ../gtk/gtktoolbutton.c:217 +msgid "Widget to use as the item label" +msgstr "" -#: ../gtk/gtktextutil.c:61 -msgid "RLM _Right-to-left mark" -msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)" +#: ../gtk/gtktoolbutton.c:223 +msgid "Stock Id" +msgstr "" -#: ../gtk/gtktextutil.c:62 -msgid "LRE Left-to-right _embedding" -msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)" +#: ../gtk/gtktoolbutton.c:224 +msgid "The stock icon displayed on the item" +msgstr "" -#: ../gtk/gtktextutil.c:63 -msgid "RLE Right-to-left e_mbedding" -msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)" +#: ../gtk/gtktoolbutton.c:240 +msgid "Icon name" +msgstr "سىنبەلگە ئاتى" -#: ../gtk/gtktextutil.c:64 -msgid "LRO Left-to-right _override" -msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)" +#: ../gtk/gtktoolbutton.c:241 +msgid "The name of the themed icon displayed on the item" +msgstr "" -#: ../gtk/gtktextutil.c:65 -msgid "RLO Right-to-left o_verride" -msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)" +#: ../gtk/gtktoolbutton.c:247 +msgid "Icon widget" +msgstr "" -#: ../gtk/gtktextutil.c:66 -msgid "PDF _Pop directional formatting" -msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)" +#: ../gtk/gtktoolbutton.c:248 +msgid "Icon widget to display in the item" +msgstr "" -#: ../gtk/gtktextutil.c:67 -msgid "ZWS _Zero width space" -msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)" +#: ../gtk/gtktoolbutton.c:261 +msgid "Icon spacing" +msgstr "" -#: ../gtk/gtktextutil.c:68 -msgid "ZWJ Zero width _joiner" -msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)" +#: ../gtk/gtktoolbutton.c:262 +msgid "Spacing in pixels between the icon and label" +msgstr "" -#: ../gtk/gtktextutil.c:69 -msgid "ZWNJ Zero width _non-joiner" -msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)" - -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" - -#: ../gtk/gtkuimanager.c:1505 -#, c-format -msgid "Unexpected start tag '%s' on line %d char %d" -msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە" - -#: ../gtk/gtkuimanager.c:1595 -#, c-format -msgid "Unexpected character data on line %d char %d" -msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار" - -#: ../gtk/gtkuimanager.c:2427 -msgid "Empty" -msgstr "بوش" - -#: ../gtk/gtkvolumebutton.c:170 -msgid "Volume" -msgstr "دىسكا" - -#: ../gtk/gtkvolumebutton.c:172 -msgid "Turns volume down or up" -msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" - -#: ../gtk/gtkvolumebutton.c:175 -msgid "Adjusts the volume" -msgstr "ئاۋاز تەڭشىكى" - -#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 -msgid "Volume Down" -msgstr "ئاۋازنى تۆۋەنلىتىش" - -#: ../gtk/gtkvolumebutton.c:183 -msgid "Decreases the volume" -msgstr "ئاۋازنى كېمەيت" - -#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 -msgid "Volume Up" -msgstr "ئاۋازنى يۇقىرىلىتىش" - -#: ../gtk/gtkvolumebutton.c:189 -msgid "Increases the volume" -msgstr "ئاۋازنى ئاشۇر" - -#: ../gtk/gtkvolumebutton.c:247 -msgid "Muted" -msgstr "ئۈنسىز" - -#: ../gtk/gtkvolumebutton.c:251 -msgid "Full Volume" -msgstr "ئەڭ يۇقىرى ئاۋاز" - -#. Translators: this is the percentage of the current volume, -#. * as used in the tooltip, eg. "49 %". -#. * Translate the "%d" to "%Id" if you want to use localised digits, -#. * or otherwise translate the "%d" to "%d". -#. -#: ../gtk/gtkvolumebutton.c:264 -#, c-format -msgctxt "volume percentage" -msgid "%d %%" -msgstr "%d %%" - -#: ../gtk/paper_names_offsets.c:4 -msgctxt "paper size" -msgid "asme_f" -msgstr "asme_f" - -#: ../gtk/paper_names_offsets.c:5 -msgctxt "paper size" -msgid "A0x2" -msgstr "A0x2" - -#: ../gtk/paper_names_offsets.c:6 -msgctxt "paper size" -msgid "A0" -msgstr "A0" - -#: ../gtk/paper_names_offsets.c:7 -msgctxt "paper size" -msgid "A0x3" -msgstr "A0x3" - -#: ../gtk/paper_names_offsets.c:8 -msgctxt "paper size" -msgid "A1" -msgstr "A1" - -#: ../gtk/paper_names_offsets.c:9 -msgctxt "paper size" -msgid "A10" -msgstr "A10" - -#: ../gtk/paper_names_offsets.c:10 -msgctxt "paper size" -msgid "A1x3" -msgstr "A1x3" - -#: ../gtk/paper_names_offsets.c:11 -msgctxt "paper size" -msgid "A1x4" -msgstr "A1x4" - -#: ../gtk/paper_names_offsets.c:12 -msgctxt "paper size" -msgid "A2" -msgstr "A2" - -#: ../gtk/paper_names_offsets.c:13 -msgctxt "paper size" -msgid "A2x3" -msgstr "A2x3" - -#: ../gtk/paper_names_offsets.c:14 -msgctxt "paper size" -msgid "A2x4" -msgstr "A2x4" - -#: ../gtk/paper_names_offsets.c:15 -msgctxt "paper size" -msgid "A2x5" -msgstr "A2x5" - -#: ../gtk/paper_names_offsets.c:16 -msgctxt "paper size" -msgid "A3" -msgstr "A3" - -#: ../gtk/paper_names_offsets.c:17 -msgctxt "paper size" -msgid "A3 Extra" -msgstr "A3 Extra" - -#: ../gtk/paper_names_offsets.c:18 -msgctxt "paper size" -msgid "A3x3" -msgstr "A3x3" - -#: ../gtk/paper_names_offsets.c:19 -msgctxt "paper size" -msgid "A3x4" -msgstr "A3x4" - -#: ../gtk/paper_names_offsets.c:20 -msgctxt "paper size" -msgid "A3x5" -msgstr "A3x5" - -#: ../gtk/paper_names_offsets.c:21 -msgctxt "paper size" -msgid "A3x6" -msgstr "A3x6" - -#: ../gtk/paper_names_offsets.c:22 -msgctxt "paper size" -msgid "A3x7" -msgstr "A3x7" - -#: ../gtk/paper_names_offsets.c:23 -msgctxt "paper size" -msgid "A4" -msgstr "A4" - -#: ../gtk/paper_names_offsets.c:24 -msgctxt "paper size" -msgid "A4 Extra" -msgstr "A4 Extra" - -#: ../gtk/paper_names_offsets.c:25 -msgctxt "paper size" -msgid "A4 Tab" -msgstr "A4 Tab" - -#: ../gtk/paper_names_offsets.c:26 -msgctxt "paper size" -msgid "A4x3" -msgstr "A4x3" - -#: ../gtk/paper_names_offsets.c:27 -msgctxt "paper size" -msgid "A4x4" -msgstr "A4x4" - -#: ../gtk/paper_names_offsets.c:28 -msgctxt "paper size" -msgid "A4x5" -msgstr "A4x5" - -#: ../gtk/paper_names_offsets.c:29 -msgctxt "paper size" -msgid "A4x6" -msgstr "A4x6" - -#: ../gtk/paper_names_offsets.c:30 -msgctxt "paper size" -msgid "A4x7" -msgstr "A4x7" - -#: ../gtk/paper_names_offsets.c:31 -msgctxt "paper size" -msgid "A4x8" -msgstr "A4x8" - -#: ../gtk/paper_names_offsets.c:32 -msgctxt "paper size" -msgid "A4x9" -msgstr "A4x9" - -#: ../gtk/paper_names_offsets.c:33 -msgctxt "paper size" -msgid "A5" -msgstr "A5" - -#: ../gtk/paper_names_offsets.c:34 -msgctxt "paper size" -msgid "A5 Extra" -msgstr "A5 Extra" - -#: ../gtk/paper_names_offsets.c:35 -msgctxt "paper size" -msgid "A6" -msgstr "A6" - -#: ../gtk/paper_names_offsets.c:36 -msgctxt "paper size" -msgid "A7" -msgstr "A7" - -#: ../gtk/paper_names_offsets.c:37 -msgctxt "paper size" -msgid "A8" -msgstr "A8" - -#: ../gtk/paper_names_offsets.c:38 -msgctxt "paper size" -msgid "A9" -msgstr "A9" - -#: ../gtk/paper_names_offsets.c:39 -msgctxt "paper size" -msgid "B0" -msgstr "B0" - -#: ../gtk/paper_names_offsets.c:40 -msgctxt "paper size" -msgid "B1" -msgstr "B1" - -#: ../gtk/paper_names_offsets.c:41 -msgctxt "paper size" -msgid "B10" -msgstr "B10" - -#: ../gtk/paper_names_offsets.c:42 -msgctxt "paper size" -msgid "B2" -msgstr "B2" - -#: ../gtk/paper_names_offsets.c:43 -msgctxt "paper size" -msgid "B3" -msgstr "B3" - -#: ../gtk/paper_names_offsets.c:44 -msgctxt "paper size" -msgid "B4" -msgstr "B4" - -#: ../gtk/paper_names_offsets.c:45 -msgctxt "paper size" -msgid "B5" -msgstr "B5" - -#: ../gtk/paper_names_offsets.c:46 -msgctxt "paper size" -msgid "B5 Extra" -msgstr "B5 Extra" - -#: ../gtk/paper_names_offsets.c:47 -msgctxt "paper size" -msgid "B6" -msgstr "B6" - -#: ../gtk/paper_names_offsets.c:48 -msgctxt "paper size" -msgid "B6/C4" -msgstr "B6/C4" - -#: ../gtk/paper_names_offsets.c:49 -msgctxt "paper size" -msgid "B7" -msgstr "B7" - -#: ../gtk/paper_names_offsets.c:50 -msgctxt "paper size" -msgid "B8" -msgstr "B8" - -#: ../gtk/paper_names_offsets.c:51 -msgctxt "paper size" -msgid "B9" -msgstr "B9" - -#: ../gtk/paper_names_offsets.c:52 -msgctxt "paper size" -msgid "C0" -msgstr "C0" - -#: ../gtk/paper_names_offsets.c:53 -msgctxt "paper size" -msgid "C1" -msgstr "C1" - -#: ../gtk/paper_names_offsets.c:54 -msgctxt "paper size" -msgid "C10" -msgstr "C10" - -#: ../gtk/paper_names_offsets.c:55 -msgctxt "paper size" -msgid "C2" -msgstr "C2" - -#: ../gtk/paper_names_offsets.c:56 -msgctxt "paper size" -msgid "C3" -msgstr "C3" - -#: ../gtk/paper_names_offsets.c:57 -msgctxt "paper size" -msgid "C4" -msgstr "C4" - -#: ../gtk/paper_names_offsets.c:58 -msgctxt "paper size" -msgid "C5" -msgstr "C5" - -#: ../gtk/paper_names_offsets.c:59 -msgctxt "paper size" -msgid "C6" -msgstr "C6" - -#: ../gtk/paper_names_offsets.c:60 -msgctxt "paper size" -msgid "C6/C5" -msgstr "C6/C5" - -#: ../gtk/paper_names_offsets.c:61 -msgctxt "paper size" -msgid "C7" -msgstr "C7" - -#: ../gtk/paper_names_offsets.c:62 -msgctxt "paper size" -msgid "C7/C6" -msgstr "C7/C6" - -#: ../gtk/paper_names_offsets.c:63 -msgctxt "paper size" -msgid "C8" -msgstr "C8" - -#: ../gtk/paper_names_offsets.c:64 -msgctxt "paper size" -msgid "C9" -msgstr "C9" - -#: ../gtk/paper_names_offsets.c:65 -msgctxt "paper size" -msgid "DL Envelope" -msgstr "DL لېپاپ" - -#: ../gtk/paper_names_offsets.c:66 -msgctxt "paper size" -msgid "RA0" -msgstr "RA0" - -#: ../gtk/paper_names_offsets.c:67 -msgctxt "paper size" -msgid "RA1" -msgstr "RA1" - -#: ../gtk/paper_names_offsets.c:68 -msgctxt "paper size" -msgid "RA2" -msgstr "RA2" - -#: ../gtk/paper_names_offsets.c:69 -msgctxt "paper size" -msgid "SRA0" -msgstr "SRA0" - -#: ../gtk/paper_names_offsets.c:70 -msgctxt "paper size" -msgid "SRA1" -msgstr "SRA1" - -#: ../gtk/paper_names_offsets.c:71 -msgctxt "paper size" -msgid "SRA2" -msgstr "SRA2" - -#: ../gtk/paper_names_offsets.c:72 -msgctxt "paper size" -msgid "JB0" -msgstr "JB0" - -#: ../gtk/paper_names_offsets.c:73 -msgctxt "paper size" -msgid "JB1" -msgstr "JB1" - -#: ../gtk/paper_names_offsets.c:74 -msgctxt "paper size" -msgid "JB10" -msgstr "JB10" - -#: ../gtk/paper_names_offsets.c:75 -msgctxt "paper size" -msgid "JB2" -msgstr "JB2" - -#: ../gtk/paper_names_offsets.c:76 -msgctxt "paper size" -msgid "JB3" -msgstr "JB3" - -#: ../gtk/paper_names_offsets.c:77 -msgctxt "paper size" -msgid "JB4" -msgstr "JB4" - -#: ../gtk/paper_names_offsets.c:78 -msgctxt "paper size" -msgid "JB5" -msgstr "JB5" - -#: ../gtk/paper_names_offsets.c:79 -msgctxt "paper size" -msgid "JB6" -msgstr "JB6" - -#: ../gtk/paper_names_offsets.c:80 -msgctxt "paper size" -msgid "JB7" -msgstr "JB7" - -#: ../gtk/paper_names_offsets.c:81 -msgctxt "paper size" -msgid "JB8" -msgstr "JB8" - -#: ../gtk/paper_names_offsets.c:82 -msgctxt "paper size" -msgid "JB9" -msgstr "JB9" - -#: ../gtk/paper_names_offsets.c:83 -msgctxt "paper size" -msgid "jis exec" -msgstr "jis exec" - -#: ../gtk/paper_names_offsets.c:84 -msgctxt "paper size" -msgid "Choukei 2 Envelope" -msgstr "Choukei 2 لېپاپ" - -#: ../gtk/paper_names_offsets.c:85 -msgctxt "paper size" -msgid "Choukei 3 Envelope" -msgstr "Choukei 3 لېپاپ" - -#: ../gtk/paper_names_offsets.c:86 -msgctxt "paper size" -msgid "Choukei 4 Envelope" -msgstr "houkei 4 لېپاپ" - -#: ../gtk/paper_names_offsets.c:87 -msgctxt "paper size" -msgid "hagaki (postcard)" -msgstr "hagaki (پوچتا كارتىسى)" - -#: ../gtk/paper_names_offsets.c:88 -msgctxt "paper size" -msgid "kahu Envelope" -msgstr "kahu لېپاپ" - -#: ../gtk/paper_names_offsets.c:89 -msgctxt "paper size" -msgid "kaku2 Envelope" -msgstr "kaku2 لېپاپ" - -#: ../gtk/paper_names_offsets.c:90 -msgctxt "paper size" -msgid "oufuku (reply postcard)" -msgstr "oufuku (جاۋاب پوچتا كارتىسى)" - -#: ../gtk/paper_names_offsets.c:91 -msgctxt "paper size" -msgid "you4 Envelope" -msgstr "you4 لېپاپ" - -#: ../gtk/paper_names_offsets.c:92 -msgctxt "paper size" -msgid "10x11" -msgstr "10x11" - -#: ../gtk/paper_names_offsets.c:93 -msgctxt "paper size" -msgid "10x13" -msgstr "10x13" - -#: ../gtk/paper_names_offsets.c:94 -msgctxt "paper size" -msgid "10x14" -msgstr "10x14" - -#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 -msgctxt "paper size" -msgid "10x15" -msgstr "10x15" - -#: ../gtk/paper_names_offsets.c:97 -msgctxt "paper size" -msgid "11x12" -msgstr "11x12" - -#: ../gtk/paper_names_offsets.c:98 -msgctxt "paper size" -msgid "11x15" -msgstr "11x15" - -#: ../gtk/paper_names_offsets.c:99 -msgctxt "paper size" -msgid "12x19" -msgstr "12x19" - -#: ../gtk/paper_names_offsets.c:100 -msgctxt "paper size" -msgid "5x7" -msgstr "5x7" - -#: ../gtk/paper_names_offsets.c:101 -msgctxt "paper size" -msgid "6x9 Envelope" -msgstr "6x9 لېپاپ" - -#: ../gtk/paper_names_offsets.c:102 -msgctxt "paper size" -msgid "7x9 Envelope" -msgstr "7x9 لېپاپ" - -#: ../gtk/paper_names_offsets.c:103 -msgctxt "paper size" -msgid "9x11 Envelope" -msgstr "9x11 لېپاپ" - -#: ../gtk/paper_names_offsets.c:104 -msgctxt "paper size" -msgid "a2 Envelope" -msgstr "a2 لېپاپ" - -#: ../gtk/paper_names_offsets.c:105 -msgctxt "paper size" -msgid "Arch A" -msgstr "ئەگمە A" - -#: ../gtk/paper_names_offsets.c:106 -msgctxt "paper size" -msgid "Arch B" -msgstr "ئەگمە B" - -#: ../gtk/paper_names_offsets.c:107 -msgctxt "paper size" -msgid "Arch C" -msgstr "ئەگمە C" - -#: ../gtk/paper_names_offsets.c:108 -msgctxt "paper size" -msgid "Arch D" -msgstr "ئەگمە D" - -#: ../gtk/paper_names_offsets.c:109 -msgctxt "paper size" -msgid "Arch E" -msgstr "ئەگمە E" - -#: ../gtk/paper_names_offsets.c:110 -msgctxt "paper size" -msgid "b-plus" -msgstr "b-plus" - -#: ../gtk/paper_names_offsets.c:111 -msgctxt "paper size" -msgid "c" -msgstr "c" - -#: ../gtk/paper_names_offsets.c:112 -msgctxt "paper size" -msgid "c5 Envelope" -msgstr "c5 لېپاپ" - -#: ../gtk/paper_names_offsets.c:113 -msgctxt "paper size" -msgid "d" -msgstr "d" - -#: ../gtk/paper_names_offsets.c:114 -msgctxt "paper size" -msgid "e" -msgstr "e" - -#: ../gtk/paper_names_offsets.c:115 -msgctxt "paper size" -msgid "edp" -msgstr "edp" - -#: ../gtk/paper_names_offsets.c:116 -msgctxt "paper size" -msgid "European edp" -msgstr "ياۋروپا edp" - -#: ../gtk/paper_names_offsets.c:117 -msgctxt "paper size" -msgid "Executive" -msgstr "مەمۇرىي" - -#: ../gtk/paper_names_offsets.c:118 -msgctxt "paper size" -msgid "f" -msgstr "f" - -#: ../gtk/paper_names_offsets.c:119 -msgctxt "paper size" -msgid "FanFold European" -msgstr "FanFold ياۋروپا" - -#: ../gtk/paper_names_offsets.c:120 -msgctxt "paper size" -msgid "FanFold US" -msgstr "FanFold ئا ق ش" - -#: ../gtk/paper_names_offsets.c:121 -msgctxt "paper size" -msgid "FanFold German Legal" -msgstr "FanFold گېرمانىيە قانۇنى" - -#: ../gtk/paper_names_offsets.c:122 -msgctxt "paper size" -msgid "Government Legal" -msgstr "ھۆكۈمەت قانۇنى" - -#: ../gtk/paper_names_offsets.c:123 -msgctxt "paper size" -msgid "Government Letter" -msgstr "ھۆكۈمەت خەت-چەك" - -#: ../gtk/paper_names_offsets.c:124 -msgctxt "paper size" -msgid "Index 3x5" -msgstr "Index 3x5" - -#: ../gtk/paper_names_offsets.c:125 -msgctxt "paper size" -msgid "Index 4x6 (postcard)" -msgstr "Index 4x6 (پوچتا كارتىسى)" - -#: ../gtk/paper_names_offsets.c:126 -msgctxt "paper size" -msgid "Index 4x6 ext" -msgstr "Index 4x6 ext" - -#: ../gtk/paper_names_offsets.c:127 -msgctxt "paper size" -msgid "Index 5x8" -msgstr "Index 5x8" - -#: ../gtk/paper_names_offsets.c:128 -msgctxt "paper size" -msgid "Invoice" -msgstr "Invoice" - -#: ../gtk/paper_names_offsets.c:129 -msgctxt "paper size" -msgid "Tabloid" -msgstr "تەرمىلەر" - -#: ../gtk/paper_names_offsets.c:130 -msgctxt "paper size" -msgid "US Legal" -msgstr "ئا ق ش قانۇن" - -#: ../gtk/paper_names_offsets.c:131 -msgctxt "paper size" -msgid "US Legal Extra" -msgstr "ئا ق ش قانۇنى زىيادە چوڭ" - -#: ../gtk/paper_names_offsets.c:132 -msgctxt "paper size" -msgid "US Letter" -msgstr "ئا ق ش لېپاپى" - -#: ../gtk/paper_names_offsets.c:133 -msgctxt "paper size" -msgid "US Letter Extra" -msgstr "ئا ق ش لېپاپى زىيادە چوڭ" - -#: ../gtk/paper_names_offsets.c:134 -msgctxt "paper size" -msgid "US Letter Plus" -msgstr "ئا ق ش لېپاپى چوڭ" - -#: ../gtk/paper_names_offsets.c:135 -msgctxt "paper size" -msgid "Monarch Envelope" -msgstr "Monarch لېپاپ" - -#: ../gtk/paper_names_offsets.c:136 -msgctxt "paper size" -msgid "#10 Envelope" -msgstr "#10 لېپاپ" - -#: ../gtk/paper_names_offsets.c:137 -msgctxt "paper size" -msgid "#11 Envelope" -msgstr "#11 لېپاپ" - -#: ../gtk/paper_names_offsets.c:138 -msgctxt "paper size" -msgid "#12 Envelope" -msgstr "#12 لېپاپ" - -#: ../gtk/paper_names_offsets.c:139 -msgctxt "paper size" -msgid "#14 Envelope" -msgstr "#14 لېپاپ" - -#: ../gtk/paper_names_offsets.c:140 -msgctxt "paper size" -msgid "#9 Envelope" -msgstr "#9 لېپاپ" - -#: ../gtk/paper_names_offsets.c:141 -msgctxt "paper size" -msgid "Personal Envelope" -msgstr "شەخسىي لېپاپ" - -#: ../gtk/paper_names_offsets.c:142 -msgctxt "paper size" -msgid "Quarto" -msgstr "Quarto" - -#: ../gtk/paper_names_offsets.c:143 -msgctxt "paper size" -msgid "Super A" -msgstr "Super A" - -#: ../gtk/paper_names_offsets.c:144 -msgctxt "paper size" -msgid "Super B" -msgstr "Super B" - -#: ../gtk/paper_names_offsets.c:145 -msgctxt "paper size" -msgid "Wide Format" -msgstr "كەڭ فورمات" - -#: ../gtk/paper_names_offsets.c:146 -msgctxt "paper size" -msgid "Dai-pa-kai" -msgstr "Dai-pa-kai" - -#: ../gtk/paper_names_offsets.c:147 -msgctxt "paper size" -msgid "Folio" -msgstr "Folio" - -#: ../gtk/paper_names_offsets.c:148 -msgctxt "paper size" -msgid "Folio sp" -msgstr "Folio sp" - -#: ../gtk/paper_names_offsets.c:149 -msgctxt "paper size" -msgid "Invite Envelope" -msgstr "تەكلىپ لېپاپ" - -#: ../gtk/paper_names_offsets.c:150 -msgctxt "paper size" -msgid "Italian Envelope" -msgstr "ئىتالىيە لېپاپى" - -#: ../gtk/paper_names_offsets.c:151 -msgctxt "paper size" -msgid "juuro-ku-kai" -msgstr "juuro-ku-kai" - -#: ../gtk/paper_names_offsets.c:152 -msgctxt "paper size" -msgid "pa-kai" -msgstr "pa-kai" - -#: ../gtk/paper_names_offsets.c:153 -msgctxt "paper size" -msgid "Postfix Envelope" -msgstr "Postfix لېپاپ" - -#: ../gtk/paper_names_offsets.c:154 -msgctxt "paper size" -msgid "Small Photo" -msgstr "كىچىك سۈرەت" - -#: ../gtk/paper_names_offsets.c:155 -msgctxt "paper size" -msgid "prc1 Envelope" -msgstr "prc1 شەخسىي لېپاپ" - -#: ../gtk/paper_names_offsets.c:156 -msgctxt "paper size" -msgid "prc10 Envelope" -msgstr "ج خ ج 10 لېپاپ" - -#: ../gtk/paper_names_offsets.c:157 -msgctxt "paper size" -msgid "prc 16k" -msgstr "ج خ ج 16 كەسلەم" - -#: ../gtk/paper_names_offsets.c:158 -msgctxt "paper size" -msgid "prc2 Envelope" -msgstr "ج خ ج 2 لېپاپ" - -#: ../gtk/paper_names_offsets.c:159 -msgctxt "paper size" -msgid "prc3 Envelope" -msgstr "ج خ ج 3 لېپاپ" - -#: ../gtk/paper_names_offsets.c:160 -msgctxt "paper size" -msgid "prc 32k" -msgstr "ج خ ج 32 كەسلەم" - -#: ../gtk/paper_names_offsets.c:161 -msgctxt "paper size" -msgid "prc4 Envelope" -msgstr "ج خ ج 4 لېپاپ" - -#: ../gtk/paper_names_offsets.c:162 -msgctxt "paper size" -msgid "prc5 Envelope" -msgstr "ج خ ج 5 لېپاپ" - -#: ../gtk/paper_names_offsets.c:163 -msgctxt "paper size" -msgid "prc6 Envelope" -msgstr "ج خ ج 6 لېپاپ" - -#: ../gtk/paper_names_offsets.c:164 -msgctxt "paper size" -msgid "prc7 Envelope" -msgstr "ج خ ج 7 لېپاپ" - -#: ../gtk/paper_names_offsets.c:165 -msgctxt "paper size" -msgid "prc8 Envelope" -msgstr "ج خ ج 8 لېپاپ" - -#: ../gtk/paper_names_offsets.c:166 -msgctxt "paper size" -msgid "prc9 Envelope" -msgstr "ج خ ج 9 لېپاپ" - -#: ../gtk/paper_names_offsets.c:167 -msgctxt "paper size" -msgid "ROC 16k" -msgstr "ج م 16 كەسلەم" - -#: ../gtk/paper_names_offsets.c:168 -msgctxt "paper size" -msgid "ROC 8k" -msgstr "ج م 8 كەسلەم" - -#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 -#, c-format -msgid "different idatas found for symlinked '%s' and '%s'\n" -msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n" - -#: ../gtk/updateiconcache.c:1374 -#, c-format -msgid "Failed to write header\n" -msgstr "بېشىغا يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1380 -#, c-format -msgid "Failed to write hash table\n" -msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1386 -#, c-format -msgid "Failed to write folder index\n" -msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1394 -#, c-format -msgid "Failed to rewrite header\n" -msgstr "بېشىغا قايتا يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1488 -#, c-format -msgid "Failed to open file %s : %s\n" -msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" - -#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 -#, c-format -msgid "Failed to write cache file: %s\n" -msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" - -#: ../gtk/updateiconcache.c:1537 -#, c-format -msgid "The generated cache was invalid.\n" -msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" - -#: ../gtk/updateiconcache.c:1551 -#, c-format -msgid "Could not rename %s to %s: %s, removing %s then.\n" -msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" - -#: ../gtk/updateiconcache.c:1565 -#, c-format -msgid "Could not rename %s to %s: %s\n" -msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" - -#: ../gtk/updateiconcache.c:1575 -#, c-format -msgid "Could not rename %s back to %s: %s.\n" -msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" - -#: ../gtk/updateiconcache.c:1602 -#, c-format -msgid "Cache file created successfully.\n" -msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" - -#: ../gtk/updateiconcache.c:1641 -msgid "Overwrite an existing cache, even if up to date" -msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" - -#: ../gtk/updateiconcache.c:1642 -msgid "Don't check for the existence of index.theme" -msgstr "مەۋجۇت index.theme نى تەكشۈرمە" - -#: ../gtk/updateiconcache.c:1643 -msgid "Don't include image data in the cache" -msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" - -#: ../gtk/updateiconcache.c:1644 -msgid "Output a C header file" -msgstr "C باش ھۆججەتنى چىقار" - -#: ../gtk/updateiconcache.c:1645 -msgid "Turn off verbose output" -msgstr "تەپسىلىي چىقىرىشنى ياپ" - -#: ../gtk/updateiconcache.c:1646 -msgid "Validate existing icon cache" -msgstr "مەۋجۇت سىنبەلگە غەملىكىنى دەلىللە" - -#: ../gtk/updateiconcache.c:1713 -#, c-format -msgid "File not found: %s\n" -msgstr "ھۆججەتنى تاپالمىدى: %s\n" - -#: ../gtk/updateiconcache.c:1719 -#, c-format -msgid "Not a valid icon cache: %s\n" -msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" - -#: ../gtk/updateiconcache.c:1732 -#, c-format -msgid "No theme index file.\n" -msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" - -#: ../gtk/updateiconcache.c:1736 -#, c-format +#: ../gtk/gtktoolitem.c:210 msgid "" -"No theme index file in '%s'.\n" -"If you really want to create an icon cache here, use --ignore-theme-index.\n" -msgstr "“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" -"ئەگەر بۇ جايغا راستىنىلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-index ئىشلىتىڭ\n" +"Whether the toolbar item is considered important. When TRUE, toolbar buttons " +"show text in GTK_TOOLBAR_BOTH_HORIZ mode" +msgstr "" -#. ID -#: ../modules/input/imam-et.c:454 -msgid "Amharic (EZ+)" -msgstr "ئامخاراچە(EZ+)" +#: ../gtk/gtktoolitemgroup.c:1589 +msgid "The human-readable title of this item group" +msgstr "" -#. ID -#: ../modules/input/imcedilla.c:92 -msgid "Cedilla" -msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى" +#: ../gtk/gtktoolitemgroup.c:1596 +msgid "A widget to display in place of the usual label" +msgstr "" -#. ID -#: ../modules/input/imcyrillic-translit.c:217 -msgid "Cyrillic (Transliterated)" -msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)" +#: ../gtk/gtktoolitemgroup.c:1602 +msgid "Collapsed" +msgstr "" -#. ID -#: ../modules/input/iminuktitut.c:127 -msgid "Inuktitut (Transliterated)" -msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)" +#: ../gtk/gtktoolitemgroup.c:1603 +msgid "Whether the group has been collapsed and items are hidden" +msgstr "" -#. ID -#: ../modules/input/imipa.c:145 -msgid "IPA" -msgstr "IPA" +#: ../gtk/gtktoolitemgroup.c:1609 +msgid "ellipsize" +msgstr "" -#. ID -#: ../modules/input/immultipress.c:31 -msgid "Multipress" -msgstr "ئېغىر بىسىم" +#: ../gtk/gtktoolitemgroup.c:1610 +msgid "Ellipsize for item group headers" +msgstr "" -#. ID -#: ../modules/input/imthai.c:35 -msgid "Thai-Lao" -msgstr "تايلاند-لائۇس" +#: ../gtk/gtktoolitemgroup.c:1616 +msgid "Header Relief" +msgstr "" -#. ID -#: ../modules/input/imti-er.c:453 -msgid "Tigrigna-Eritrean (EZ+)" -msgstr "تىگرىگنا-ئېرىترىيە(EZ+)" +#: ../gtk/gtktoolitemgroup.c:1617 +msgid "Relief of the group header button" +msgstr "" -#. ID -#: ../modules/input/imti-et.c:453 -msgid "Tigrigna-Ethiopian (EZ+)" -msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)" +#: ../gtk/gtktoolitemgroup.c:1632 +msgid "Header Spacing" +msgstr "" -#. ID -#: ../modules/input/imviqr.c:244 -msgid "Vietnamese (VIQR)" -msgstr "ۋيېتنامچە(VIQR)" +#: ../gtk/gtktoolitemgroup.c:1633 +msgid "Spacing between expander arrow and caption" +msgstr "" -#. ID -#: ../modules/input/imxim.c:28 -msgid "X Input Method" -msgstr "X كىرگۈزگۈچ" +#: ../gtk/gtktoolitemgroup.c:1649 +msgid "Whether the item should receive extra space when the group grows" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 -msgid "Username:" -msgstr "ئىشلەتكۈچى ئاتى:" +#: ../gtk/gtktoolitemgroup.c:1656 +msgid "Whether the item should fill the available space" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 -msgid "Password:" -msgstr "ئىم:" +#: ../gtk/gtktoolitemgroup.c:1662 +msgid "New Row" +msgstr "يېڭى قۇر" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 -#, c-format -msgid "Authentication is required to print document '%s' on printer %s" -msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم" +#: ../gtk/gtktoolitemgroup.c:1663 +msgid "Whether the item should start a new row" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 -#, c-format -msgid "Authentication is required to print a document on %s" -msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم" +#: ../gtk/gtktoolitemgroup.c:1670 +msgid "Position of the item within this group" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 -#, c-format -msgid "Authentication is required to get attributes of job '%s'" -msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" +#: ../gtk/gtktoolpalette.c:1031 +msgid "Size of icons in this tool palette" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 -msgid "Authentication is required to get attributes of a job" -msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم" +#: ../gtk/gtktoolpalette.c:1061 +msgid "Style of items in the tool palette" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 -#, c-format -msgid "Authentication is required to get attributes of printer %s" -msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" +#: ../gtk/gtktoolpalette.c:1077 +msgid "Exclusive" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 -msgid "Authentication is required to get attributes of a printer" -msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" +#: ../gtk/gtktoolpalette.c:1078 +msgid "Whether the item group should be the only expanded at a given time" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 -#, c-format -msgid "Authentication is required to get default printer of %s" -msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم" +#: ../gtk/gtktoolpalette.c:1093 +msgid "" +"Whether the item group should receive extra space when the palette grows" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 -#, c-format -msgid "Authentication is required to get printers from %s" -msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم" +#: ../gtk/gtktrayicon-x11.c:134 +msgid "Foreground color for symbolic icons" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" +#: ../gtk/gtktrayicon-x11.c:141 +msgid "Error color" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 -#, c-format -msgid "Authentication is required on %s" -msgstr "%s دا دەلىللەش لازىم" +#: ../gtk/gtktrayicon-x11.c:142 +msgid "Error color for symbolic icons" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 -msgid "Domain:" -msgstr "دائىرە:" +#: ../gtk/gtktrayicon-x11.c:149 +msgid "Warning color" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 -#, c-format -msgid "Authentication is required to print document '%s'" -msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم" +#: ../gtk/gtktrayicon-x11.c:150 +msgid "Warning color for symbolic icons" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 -#, c-format -msgid "Authentication is required to print this document on printer %s" -msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم" +#: ../gtk/gtktrayicon-x11.c:157 +msgid "Success color" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 -msgid "Authentication is required to print this document" -msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم" +#: ../gtk/gtktrayicon-x11.c:158 +msgid "Success color for symbolic icons" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 -#, c-format -msgid "Printer '%s' is low on toner." -msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز." +#: ../gtk/gtktrayicon-x11.c:166 +msgid "Padding that should be put around icons in the tray" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 -#, c-format -msgid "Printer '%s' has no toner left." -msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان." +#: ../gtk/gtktreemodelsort.c:310 +msgid "TreeModelSort Model" +msgstr "" -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 -#, c-format -msgid "Printer '%s' is low on developer." -msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز" +#: ../gtk/gtktreemodelsort.c:311 +msgid "The model for the TreeModelSort to sort" +msgstr "" -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 -#, c-format -msgid "Printer '%s' is out of developer." -msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان." +#: ../gtk/gtktreeview.c:988 +msgid "TreeView Model" +msgstr "" -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 -#, c-format -msgid "Printer '%s' is low on at least one marker supply." -msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز." +#: ../gtk/gtktreeview.c:989 +msgid "The model for the tree view" +msgstr "" -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 -#, c-format -msgid "Printer '%s' is out of at least one marker supply." -msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن." +#: ../gtk/gtktreeview.c:1001 +msgid "Headers Visible" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 -#, c-format -msgid "The cover is open on printer '%s'." -msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق." +#: ../gtk/gtktreeview.c:1002 +msgid "Show the column header buttons" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 -#, c-format -msgid "The door is open on printer '%s'." -msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق." +#: ../gtk/gtktreeview.c:1009 +msgid "Headers Clickable" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 -#, c-format -msgid "Printer '%s' is low on paper." -msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان." +#: ../gtk/gtktreeview.c:1010 +msgid "Column headers respond to click events" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 -#, c-format -msgid "Printer '%s' is out of paper." -msgstr "'%s' پرىنتېردا قەغەز كەم." +#: ../gtk/gtktreeview.c:1017 +msgid "Expander Column" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, c-format -msgid "Printer '%s' is currently offline." -msgstr "'%s' پرىنتېر نۆۋەتتە توردا يوق." +#: ../gtk/gtktreeview.c:1018 +msgid "Set the column for the expander column" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 -#, c-format -msgid "There is a problem on printer '%s'." -msgstr "'%s' پرىنتېردا مەسىلە بار." +#: ../gtk/gtktreeview.c:1033 +msgid "Rules Hint" +msgstr "" -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 -msgid "Paused ; Rejecting Jobs" -msgstr "ۋاقىتلىق توختىتىلدى؛ ۋەزىپىنى رەت قىلىدۇ" +#: ../gtk/gtktreeview.c:1034 +msgid "Set a hint to the theme engine to draw rows in alternating colors" +msgstr "" -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 -msgid "Rejecting Jobs" -msgstr "ۋەزىپىنى رەت قىلىدۇ" +#: ../gtk/gtktreeview.c:1041 +msgid "Enable Search" +msgstr "ئىزدەشنى قوزغات" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 -msgid "Two Sided" -msgstr "قوش يۈزلۈك" +#: ../gtk/gtktreeview.c:1042 +msgid "View allows user to search through columns interactively" +msgstr "كۆرسىتىش ئىستونىنى ئۆز-ئارا ماسلاشتۇرۇپ ئىزدىيەلەيدىغان قىلىش" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 -msgid "Paper Type" -msgstr "قەغەز تىپى" +#: ../gtk/gtktreeview.c:1049 +msgid "Search Column" +msgstr "ئىزدەش ئىستونى" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 -msgid "Paper Source" -msgstr "قەغەز مەنبەسى" +#: ../gtk/gtktreeview.c:1050 +msgid "Model column to search through during interactive search" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 -msgid "Output Tray" -msgstr "قەغەز چىقارغۇچ" +#: ../gtk/gtktreeview.c:1070 +msgid "Fixed Height Mode" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 -msgid "Resolution" -msgstr "ئېنىقلىق" +#: ../gtk/gtktreeview.c:1071 +msgid "Speeds up GtkTreeView by assuming that all rows have the same height" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 -msgid "GhostScript pre-filtering" -msgstr "GhostScript ئالدىن سۈزگۈچ" +#: ../gtk/gtktreeview.c:1091 +msgid "Hover Selection" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 -msgid "One Sided" -msgstr "تاق تەرەپلىك" +#: ../gtk/gtktreeview.c:1092 +msgid "Whether the selection should follow the pointer" +msgstr "" -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 -msgid "Long Edge (Standard)" -msgstr "ئۇزۇن يان (ئۆلچەملىك)" +#: ../gtk/gtktreeview.c:1111 +msgid "Hover Expand" +msgstr "" -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 -msgid "Short Edge (Flip)" -msgstr "قىسقا يان (ئۆرۈ)" +#: ../gtk/gtktreeview.c:1112 +msgid "" +"Whether rows should be expanded/collapsed when the pointer moves over them" +msgstr "" -#. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 -msgid "Auto Select" -msgstr "ئۆزلۈكىدىن تاللا" +#: ../gtk/gtktreeview.c:1126 +msgid "Show Expanders" +msgstr "" -#. Translators: this is an option of "Paper Source" -#. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 -msgid "Printer Default" -msgstr "ئالدىن تەڭشەلگەن پرىنتېر" +#: ../gtk/gtktreeview.c:1127 +msgid "View has expanders" +msgstr "" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 -msgid "Embed GhostScript fonts only" -msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر" +#: ../gtk/gtktreeview.c:1141 +msgid "Level Indentation" +msgstr "" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 -msgid "Convert to PS level 1" -msgstr "PS دەرىجە 1 گە ئايلاندۇر" +#: ../gtk/gtktreeview.c:1142 +msgid "Extra indentation for each level" +msgstr "" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 -msgid "Convert to PS level 2" -msgstr "PS دەرىجە 2 گە ئايلاندۇر" +#: ../gtk/gtktreeview.c:1151 +msgid "Rubber Banding" +msgstr "" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 -msgid "No pre-filtering" -msgstr "ئالدىن سۈزگۈچ يوق" +#: ../gtk/gtktreeview.c:1152 +msgid "" +"Whether to enable selection of multiple items by dragging the mouse pointer" +msgstr "" -#. Translators: "Miscellaneous" is the label for a button, that opens -#. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 -msgid "Miscellaneous" -msgstr "باشقىلار" +#: ../gtk/gtktreeview.c:1159 +msgid "Enable Grid Lines" +msgstr "" -#. Translators: These strings name the possible values of the -#. * job priority option in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../gtk/gtktreeview.c:1160 +msgid "Whether grid lines should be drawn in the tree view" +msgstr "" + +#: ../gtk/gtktreeview.c:1168 +msgid "Enable Tree Lines" +msgstr "" + +#: ../gtk/gtktreeview.c:1169 +msgid "Whether tree lines should be drawn in the tree view" +msgstr "" + +#: ../gtk/gtktreeview.c:1177 +msgid "The column in the model containing the tooltip texts for the rows" +msgstr "" + +#: ../gtk/gtktreeview.c:1199 +msgid "Vertical Separator Width" +msgstr "" + +#: ../gtk/gtktreeview.c:1200 +msgid "Vertical space between cells. Must be an even number" +msgstr "" + +#: ../gtk/gtktreeview.c:1208 +msgid "Horizontal Separator Width" +msgstr "" + +#: ../gtk/gtktreeview.c:1209 +msgid "Horizontal space between cells. Must be an even number" +msgstr "" + +#: ../gtk/gtktreeview.c:1217 +msgid "Allow Rules" +msgstr "" + +#: ../gtk/gtktreeview.c:1218 +msgid "Allow drawing of alternating color rows" +msgstr "" + +#: ../gtk/gtktreeview.c:1224 +msgid "Indent Expanders" +msgstr "" + +#: ../gtk/gtktreeview.c:1225 +msgid "Make the expanders indented" +msgstr "" + +#: ../gtk/gtktreeview.c:1231 +msgid "Even Row Color" +msgstr "" + +#: ../gtk/gtktreeview.c:1232 +msgid "Color to use for even rows" +msgstr "" + +#: ../gtk/gtktreeview.c:1238 +msgid "Odd Row Color" +msgstr "تاق قۇرنىڭ رەڭگى" + +#: ../gtk/gtktreeview.c:1239 +msgid "Color to use for odd rows" +msgstr "" + +#: ../gtk/gtktreeview.c:1245 +msgid "Grid line width" +msgstr "" + +#: ../gtk/gtktreeview.c:1246 +msgid "Width, in pixels, of the tree view grid lines" +msgstr "" + +#: ../gtk/gtktreeview.c:1252 +msgid "Tree line width" +msgstr "" + +#: ../gtk/gtktreeview.c:1253 +msgid "Width, in pixels, of the tree view lines" +msgstr "" + +#: ../gtk/gtktreeview.c:1259 +msgid "Grid line pattern" +msgstr "" + +#: ../gtk/gtktreeview.c:1260 +msgid "Dash pattern used to draw the tree view grid lines" +msgstr "" + +#: ../gtk/gtktreeview.c:1266 +msgid "Tree line pattern" +msgstr "" + +#: ../gtk/gtktreeview.c:1267 +msgid "Dash pattern used to draw the tree view lines" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:243 +msgid "Whether to display the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 +msgid "Resizable" +msgstr "چوڭلۇقىنى ئۆزگەرتكىلى بولىدۇ" + +#: ../gtk/gtktreeviewcolumn.c:251 +msgid "Column is user-resizable" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:259 +msgid "Current width of the column" +msgstr "ئىستوننىڭ ھازىرقى كەڭلىكى" + +#: ../gtk/gtktreeviewcolumn.c:268 +msgid "Space which is inserted between cells" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:276 +msgid "Sizing" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:277 +msgid "Resize mode of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:285 +msgid "Fixed Width" +msgstr "مۇقىم كەڭلىكتە" + +#: ../gtk/gtktreeviewcolumn.c:286 +msgid "Current fixed width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:295 +msgid "Minimum Width" +msgstr "ئەڭ كىچىك كەڭلىك" + +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum allowed width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:305 +msgid "Maximum Width" +msgstr "ئەڭ چوڭ كەڭلىكى" + +#: ../gtk/gtktreeviewcolumn.c:306 +msgid "Maximum allowed width of the column" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:316 +msgid "Title to appear in column header" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:324 +msgid "Column gets share of extra width allocated to the widget" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:331 +msgid "Clickable" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:332 +msgid "Whether the header can be clicked" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:340 +msgid "Widget" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:341 +msgid "Widget to put in column header button instead of column title" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:349 +msgid "X Alignment of the column header text or widget" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:359 +msgid "Whether the column can be reordered around the headers" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:366 +msgid "Sort indicator" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:367 +msgid "Whether to show a sort indicator" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:374 +msgid "Sort order" +msgstr "تەرتىپلەش تەرتىپى" + +#: ../gtk/gtktreeviewcolumn.c:375 +msgid "Sort direction the sort indicator should indicate" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:391 +msgid "Sort column ID" +msgstr "" + +#: ../gtk/gtktreeviewcolumn.c:392 +msgid "Logical sort column ID this column sorts on when selected for sorting" +msgstr "" + +#: ../gtk/gtkuimanager.c:225 +msgid "Whether tearoff menu items should be added to menus" +msgstr "" + +#: ../gtk/gtkuimanager.c:232 +msgid "Merged UI definition" +msgstr "" + +#: ../gtk/gtkuimanager.c:233 +msgid "An XML string describing the merged UI" +msgstr "" + +#: ../gtk/gtkviewport.c:155 +msgid "Determines how the shadowed box around the viewport is drawn" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:156 +msgid "Use symbolic icons" +msgstr "" + +#: ../gtk/gtkvolumebutton.c:157 +msgid "Whether to use symbolic icons" +msgstr "" + +#: ../gtk/gtkwidget.c:893 +msgid "Widget name" +msgstr "" + +#: ../gtk/gtkwidget.c:894 +msgid "The name of the widget" +msgstr "widget نىڭ ئاتى" + +#: ../gtk/gtkwidget.c:900 +msgid "Parent widget" +msgstr "" + +#: ../gtk/gtkwidget.c:901 +msgid "The parent widget of this widget. Must be a Container widget" +msgstr "" + +#: ../gtk/gtkwidget.c:908 +msgid "Width request" +msgstr "" + +#: ../gtk/gtkwidget.c:909 +msgid "" +"Override for width request of the widget, or -1 if natural request should be " +"used" +msgstr "" + +#: ../gtk/gtkwidget.c:917 +msgid "Height request" +msgstr "" + +#: ../gtk/gtkwidget.c:918 +msgid "" +"Override for height request of the widget, or -1 if natural request should " +"be used" +msgstr "" + +#: ../gtk/gtkwidget.c:927 +msgid "Whether the widget is visible" +msgstr "widget ھوقۇق كۆرۈنەمدۇ يوق" + +#: ../gtk/gtkwidget.c:934 +msgid "Whether the widget responds to input" +msgstr "" + +#: ../gtk/gtkwidget.c:940 +msgid "Application paintable" +msgstr "" + +#: ../gtk/gtkwidget.c:941 +msgid "Whether the application will paint directly on the widget" +msgstr "" + +#: ../gtk/gtkwidget.c:947 +msgid "Can focus" +msgstr "" + +#: ../gtk/gtkwidget.c:948 +msgid "Whether the widget can accept the input focus" +msgstr "" + +#: ../gtk/gtkwidget.c:954 +msgid "Has focus" +msgstr "" + +#: ../gtk/gtkwidget.c:955 +msgid "Whether the widget has the input focus" +msgstr "" + +#: ../gtk/gtkwidget.c:961 +msgid "Is focus" +msgstr "" + +#: ../gtk/gtkwidget.c:962 +msgid "Whether the widget is the focus widget within the toplevel" +msgstr "" + +#: ../gtk/gtkwidget.c:968 +msgid "Can default" +msgstr "" + +#: ../gtk/gtkwidget.c:969 +msgid "Whether the widget can be the default widget" +msgstr "" + +#: ../gtk/gtkwidget.c:975 +msgid "Has default" +msgstr "" + +#: ../gtk/gtkwidget.c:976 +msgid "Whether the widget is the default widget" +msgstr "" + +#: ../gtk/gtkwidget.c:982 +msgid "Receives default" +msgstr "" + +#: ../gtk/gtkwidget.c:983 +msgid "If TRUE, the widget will receive the default action when it is focused" +msgstr "" + +#: ../gtk/gtkwidget.c:989 +msgid "Composite child" +msgstr "" + +#: ../gtk/gtkwidget.c:990 +msgid "Whether the widget is part of a composite widget" +msgstr "" + +#: ../gtk/gtkwidget.c:996 +msgid "Style" +msgstr "ئۇسلۇب" + +#: ../gtk/gtkwidget.c:997 +msgid "" +"The style of the widget, which contains information about how it will look " +"(colors etc)" +msgstr "" + +#: ../gtk/gtkwidget.c:1003 +msgid "Events" +msgstr "ھادىسە" + +#: ../gtk/gtkwidget.c:1004 +msgid "The event mask that decides what kind of GdkEvents this widget gets" +msgstr "" + +#: ../gtk/gtkwidget.c:1011 +msgid "No show all" +msgstr "" + +#: ../gtk/gtkwidget.c:1012 +msgid "Whether gtk_widget_show_all() should not affect this widget" +msgstr "" + +#: ../gtk/gtkwidget.c:1035 +msgid "Whether this widget has a tooltip" +msgstr "" + +#: ../gtk/gtkwidget.c:1091 +msgid "Window" +msgstr "كۆزنەك" + +#: ../gtk/gtkwidget.c:1092 +msgid "The widget's window if it is realized" +msgstr "" + +#: ../gtk/gtkwidget.c:1106 +msgid "Double Buffered" +msgstr "قوش يىغلەك" + +#: ../gtk/gtkwidget.c:1107 +msgid "Whether the widget is double buffered" +msgstr "" + +#: ../gtk/gtkwidget.c:1122 +msgid "How to position in extra horizontal space" +msgstr "" + +#: ../gtk/gtkwidget.c:1138 +msgid "How to position in extra vertical space" +msgstr "" + +#: ../gtk/gtkwidget.c:1157 +msgid "Margin on Left" +msgstr "" + +#: ../gtk/gtkwidget.c:1158 +msgid "Pixels of extra space on the left side" +msgstr "" + +#: ../gtk/gtkwidget.c:1178 +msgid "Margin on Right" +msgstr "" + +#: ../gtk/gtkwidget.c:1179 +msgid "Pixels of extra space on the right side" +msgstr "" + +#: ../gtk/gtkwidget.c:1199 +msgid "Margin on Top" +msgstr "" + +#: ../gtk/gtkwidget.c:1200 +msgid "Pixels of extra space on the top side" +msgstr "" + +#: ../gtk/gtkwidget.c:1220 +msgid "Margin on Bottom" +msgstr "" + +#: ../gtk/gtkwidget.c:1221 +msgid "Pixels of extra space on the bottom side" +msgstr "" + +#: ../gtk/gtkwidget.c:1238 +msgid "All Margins" +msgstr "" + +#: ../gtk/gtkwidget.c:1239 +msgid "Pixels of extra space on all four sides" +msgstr "" + +#: ../gtk/gtkwidget.c:1272 +msgid "Horizontal Expand" +msgstr "" + +#: ../gtk/gtkwidget.c:1273 +msgid "Whether widget wants more horizontal space" +msgstr "" + +#: ../gtk/gtkwidget.c:1287 +msgid "Horizontal Expand Set" +msgstr "" + +#: ../gtk/gtkwidget.c:1288 +msgid "Whether to use the hexpand property" +msgstr "" + +#: ../gtk/gtkwidget.c:1302 +msgid "Vertical Expand" +msgstr "" + +#: ../gtk/gtkwidget.c:1303 +msgid "Whether widget wants more vertical space" +msgstr "" + +#: ../gtk/gtkwidget.c:1317 +msgid "Vertical Expand Set" +msgstr "" + +#: ../gtk/gtkwidget.c:1318 +msgid "Whether to use the vexpand property" +msgstr "" + +#: ../gtk/gtkwidget.c:1332 +msgid "Expand Both" +msgstr "ئىككىلىسىنى ياي" + +#: ../gtk/gtkwidget.c:1333 +msgid "Whether widget wants to expand in both directions" +msgstr "" + +#: ../gtk/gtkwidget.c:2991 +msgid "Interior Focus" +msgstr "" + +#: ../gtk/gtkwidget.c:2992 +msgid "Whether to draw the focus indicator inside widgets" +msgstr "" + +#: ../gtk/gtkwidget.c:2998 +msgid "Focus linewidth" +msgstr "" + +#: ../gtk/gtkwidget.c:2999 +msgid "Width, in pixels, of the focus indicator line" +msgstr "" + +#: ../gtk/gtkwidget.c:3005 +msgid "Focus line dash pattern" +msgstr "" + +#: ../gtk/gtkwidget.c:3006 +msgid "Dash pattern used to draw the focus indicator" +msgstr "" + +#: ../gtk/gtkwidget.c:3011 +msgid "Focus padding" +msgstr "" + +#: ../gtk/gtkwidget.c:3012 +msgid "Width, in pixels, between focus indicator and the widget 'box'" +msgstr "" + +#: ../gtk/gtkwidget.c:3017 +msgid "Cursor color" +msgstr "نۇربەلگىسىنىڭ رەڭگى" + +#: ../gtk/gtkwidget.c:3018 +msgid "Color with which to draw insertion cursor" +msgstr "" + +#: ../gtk/gtkwidget.c:3023 +msgid "Secondary cursor color" +msgstr "" + +#: ../gtk/gtkwidget.c:3024 +msgid "" +"Color with which to draw the secondary insertion cursor when editing mixed " +"right-to-left and left-to-right text" +msgstr "" + +#: ../gtk/gtkwidget.c:3029 +msgid "Cursor line aspect ratio" +msgstr "" + +#: ../gtk/gtkwidget.c:3030 +msgid "Aspect ratio with which to draw insertion cursor" +msgstr "" + +#: ../gtk/gtkwidget.c:3036 +msgid "Window dragging" +msgstr "" + +#: ../gtk/gtkwidget.c:3037 +msgid "Whether windows can be dragged by clicking on empty areas" +msgstr "" + +#: ../gtk/gtkwidget.c:3050 +msgid "Unvisited Link Color" +msgstr "" + +#: ../gtk/gtkwidget.c:3051 +msgid "Color of unvisited links" +msgstr "" + +#: ../gtk/gtkwidget.c:3064 +msgid "Visited Link Color" +msgstr "" + +#: ../gtk/gtkwidget.c:3065 +msgid "Color of visited links" +msgstr "" + +#: ../gtk/gtkwidget.c:3079 +msgid "Wide Separators" +msgstr "" + +#: ../gtk/gtkwidget.c:3080 +msgid "" +"Whether separators have configurable width and should be drawn using a box " +"instead of a line" +msgstr "" + +#: ../gtk/gtkwidget.c:3094 +msgid "Separator Width" +msgstr "" + +#: ../gtk/gtkwidget.c:3095 +msgid "The width of separators if wide-separators is TRUE" +msgstr "" + +#: ../gtk/gtkwidget.c:3109 +msgid "Separator Height" +msgstr "" + +#: ../gtk/gtkwidget.c:3110 +msgid "The height of separators if \"wide-separators\" is TRUE" +msgstr "" + +#: ../gtk/gtkwidget.c:3124 +msgid "Horizontal Scroll Arrow Length" +msgstr "" + +#: ../gtk/gtkwidget.c:3125 +msgid "The length of horizontal scroll arrows" +msgstr "" + +#: ../gtk/gtkwidget.c:3139 +msgid "Vertical Scroll Arrow Length" +msgstr "" + +#: ../gtk/gtkwidget.c:3140 +msgid "The length of vertical scroll arrows" +msgstr "" + +#: ../gtk/gtkwindow.c:614 +msgid "Window Type" +msgstr "كۆزنەك تىپى" + +#: ../gtk/gtkwindow.c:615 +msgid "The type of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:623 +msgid "Window Title" +msgstr "كۆزنەك ماۋزۇسى" + +#: ../gtk/gtkwindow.c:624 +msgid "The title of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:631 +msgid "Window Role" +msgstr "" + +#: ../gtk/gtkwindow.c:632 +msgid "Unique identifier for the window to be used when restoring a session" +msgstr "" + +#: ../gtk/gtkwindow.c:648 +msgid "Startup ID" +msgstr "" + +#: ../gtk/gtkwindow.c:649 +msgid "Unique startup identifier for the window used by startup-notification" +msgstr "" + +#: ../gtk/gtkwindow.c:657 +msgid "If TRUE, users can resize the window" +msgstr "ئەگەر «TRUE» بولسا، ئىشلەتكۈچى كۆزنەكنى چوڭايتالايدۇ" + +#: ../gtk/gtkwindow.c:664 +msgid "Modal" +msgstr "شەكىلدىكى" + +#: ../gtk/gtkwindow.c:665 +msgid "" +"If TRUE, the window is modal (other windows are not usable while this one is " +"up)" +msgstr "" + +#: ../gtk/gtkwindow.c:672 +msgid "Window Position" +msgstr "" + +#: ../gtk/gtkwindow.c:673 +msgid "The initial position of the window" +msgstr "" + +#: ../gtk/gtkwindow.c:681 +msgid "Default Width" +msgstr "كۆڭۈلدىكى كەڭلىك" + +#: ../gtk/gtkwindow.c:682 +msgid "The default width of the window, used when initially showing the window" +msgstr "" + +#: ../gtk/gtkwindow.c:691 +msgid "Default Height" +msgstr "كۆڭۈلدىكى ئېگىزلىك" + +#: ../gtk/gtkwindow.c:692 +msgid "" +"The default height of the window, used when initially showing the window" +msgstr "" + +#: ../gtk/gtkwindow.c:701 +msgid "Destroy with Parent" +msgstr "" + +#: ../gtk/gtkwindow.c:702 +msgid "If this window should be destroyed when the parent is destroyed" +msgstr "" + +#: ../gtk/gtkwindow.c:710 +msgid "Icon for this window" +msgstr "كۆزنەكنىڭ سىنبەلگىسى" + +#: ../gtk/gtkwindow.c:716 +msgid "Mnemonics Visible" +msgstr "" + +#: ../gtk/gtkwindow.c:717 +msgid "Whether mnemonics are currently visible in this window" +msgstr "" + +#: ../gtk/gtkwindow.c:733 +msgid "Name of the themed icon for this window" +msgstr "بۇ كۆزنەكتىكى ئۇسلۇبلۇق سىنبەلگىسىنىڭ ئاتى" + +#: ../gtk/gtkwindow.c:748 +msgid "Is Active" +msgstr "" + +#: ../gtk/gtkwindow.c:749 +msgid "Whether the toplevel is the current active window" +msgstr "" + +#: ../gtk/gtkwindow.c:756 +msgid "Focus in Toplevel" +msgstr "" + +#: ../gtk/gtkwindow.c:757 +msgid "Whether the input focus is within this GtkWindow" +msgstr "" + +#: ../gtk/gtkwindow.c:764 +msgid "Type hint" +msgstr "" + +#: ../gtk/gtkwindow.c:765 +msgid "" +"Hint to help the desktop environment understand what kind of window this is " +"and how to treat it." +msgstr "" + +#: ../gtk/gtkwindow.c:773 +msgid "Skip taskbar" +msgstr "" + +#: ../gtk/gtkwindow.c:774 +msgid "TRUE if the window should not be in the task bar." +msgstr "" + +#: ../gtk/gtkwindow.c:781 +msgid "Skip pager" +msgstr "" + +#: ../gtk/gtkwindow.c:782 +msgid "TRUE if the window should not be in the pager." +msgstr "" + +#: ../gtk/gtkwindow.c:789 msgid "Urgent" msgstr "جىددىي" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 -msgid "High" -msgstr "يۇقىرى" +#: ../gtk/gtkwindow.c:790 +msgid "TRUE if the window should be brought to the user's attention." +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 -msgid "Medium" -msgstr "ئوتتۇرا" +#: ../gtk/gtkwindow.c:804 +msgid "Accept focus" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 -msgid "Low" -msgstr "تۆۋەن" +#: ../gtk/gtkwindow.c:805 +msgid "TRUE if the window should receive the input focus." +msgstr "" -#. Cups specific, non-ppd related settings -#. Translators, this string is used to label the pages-per-sheet option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 -msgid "Pages per Sheet" -msgstr "ھەر ۋاراق بەت سانى" +#: ../gtk/gtkwindow.c:819 +msgid "Focus on map" +msgstr "" -#. Translators, this string is used to label the job priority option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Job Priority" -msgstr "ۋەزىپە ئالدىنلىق" +#: ../gtk/gtkwindow.c:820 +msgid "TRUE if the window should receive the input focus when mapped." +msgstr "" -#. Translators, this string is used to label the billing info entry -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 -msgid "Billing Info" -msgstr "ھەق ھېسابلاش ئۇچۇرى" +#: ../gtk/gtkwindow.c:834 +msgid "Decorated" +msgstr "" -#. Translators, these strings are names for various 'standard' cover -#. * pages that the printing system may support. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "None" -msgstr "يوق" +#: ../gtk/gtkwindow.c:835 +msgid "Whether the window should be decorated by the window manager" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "Classified" -msgstr "تۈرگە ئايرىلغان" +#: ../gtk/gtkwindow.c:849 +msgid "Deletable" +msgstr "ئۆچۈرگىلى بولىدۇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "Confidential" -msgstr "مەخپىي" +#: ../gtk/gtkwindow.c:850 +msgid "Whether the window frame should have a close button" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "Secret" -msgstr "سىر" +#: ../gtk/gtkwindow.c:869 +msgid "Resize grip" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "Standard" -msgstr "ئۆلچەملىك" +#: ../gtk/gtkwindow.c:870 +msgid "Specifies whether the window should have a resize grip" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "Top Secret" -msgstr "قەتئىي مەخپىي" +#: ../gtk/gtkwindow.c:884 +msgid "Resize grip is visible" +msgstr "" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 -msgid "Unclassified" -msgstr "بۆلۈنمىگەن" +#: ../gtk/gtkwindow.c:885 +msgid "Specifies whether the window's resize grip is visible." +msgstr "" -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 -msgid "Before" -msgstr "ئاۋۋال" +#: ../gtk/gtkwindow.c:901 +msgid "Gravity" +msgstr "" -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 -msgid "After" -msgstr "داۋامى" +#: ../gtk/gtkwindow.c:902 +msgid "The window gravity of the window" +msgstr "" -#. Translators: this is the name of the option that controls when -#. * a print job is printed. Possible values are 'now', a specified time, -#. * or 'on hold' -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 -msgid "Print at" -msgstr "باسىدۇ" +#: ../gtk/gtkwindow.c:919 +msgid "Transient for Window" +msgstr "" -#. Translators: this is the name of the option that allows the user -#. * to specify a time when a print job will be printed. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 -msgid "Print at time" -msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" +#: ../gtk/gtkwindow.c:920 +msgid "The transient parent of the dialog" +msgstr "" -#. Translators: this format is used to display a custom paper -#. * size. The two placeholders are replaced with the width and height -#. * in points. E.g: "Custom 230.4x142.9" -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 -#, c-format -msgid "Custom %sx%s" -msgstr "ئىختىيارى %sx%s" +#: ../gtk/gtkwindow.c:935 +msgid "Opacity for Window" +msgstr "كۆزنەك تۇتۇقلۇقى" -#. default filename used for print-to-file -#: ../modules/printbackends/file/gtkprintbackendfile.c:250 -#, c-format -msgid "output.%s" -msgstr "چىقىش.%s" +#: ../gtk/gtkwindow.c:936 +msgid "The opacity of the window, from 0 to 1" +msgstr "" -#: ../modules/printbackends/file/gtkprintbackendfile.c:501 -msgid "Print to File" -msgstr "ھۆججەتكە باس" +#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 +msgid "Width of resize grip" +msgstr "" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 -msgid "PDF" -msgstr "PDF" +#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 +msgid "Height of resize grip" +msgstr "" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 -msgid "Postscript" -msgstr "Postscript" +#: ../gtk/gtkwindow.c:972 +msgid "GtkApplication" +msgstr "GtkApplication" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 -msgid "SVG" -msgstr "SVG" +#: ../gtk/gtkwindow.c:973 +msgid "The GtkApplication for the window" +msgstr "" -#: ../modules/printbackends/file/gtkprintbackendfile.c:590 -#: ../modules/printbackends/test/gtkprintbackendtest.c:503 -msgid "Pages per _sheet:" -msgstr "ھەر ۋاراق بەت سانى(_S):" +#~ msgid "Lower" +#~ msgstr "تۆۋەن" -#: ../modules/printbackends/file/gtkprintbackendfile.c:649 -msgid "File" -msgstr "ھۆججەت" +#~ msgid "Upper" +#~ msgstr "قەغەز" -#: ../modules/printbackends/file/gtkprintbackendfile.c:659 -msgid "_Output format" -msgstr "چىقىرىش فورماتى(_O)" +#~ msgid "Position of mark on the ruler" +#~ msgstr "رەڭ ھالقىسىدىكى ئورنى" -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 -msgid "Print to LPR" -msgstr "LPR غا باس" +#~ msgid "Max Size" +#~ msgstr "قەغەز چوڭلۇقى" -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 -msgid "Pages Per Sheet" -msgstr "ھەر ۋاراقتىكى بەت سانى" +#~ msgid "The metric used for the ruler" +#~ msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 -msgid "Command Line" -msgstr "بۇيرۇق قۇرى" +#~ msgid "File System Backend" +#~ msgstr "ھۆججەت سىستېمىسى" -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 -msgid "printer offline" -msgstr "پرىنتېر ئۈزۈك ھالەتتە" +#~ msgid "The menu of options" +#~ msgstr "بېسىش ۋاقتى" -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 -msgid "ready to print" -msgstr "بېسىشقا تەييار" +#~ msgid "Trough Side Details" +#~ msgstr "ۋەزىپە تەپسىلاتى" -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 -msgid "processing job" -msgstr "ۋەزىپىنى بىر تەرەپ قىلىۋاتىدۇ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 -msgid "paused" -msgstr "ۋاقىتلىق توختىتىلدى" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 -msgid "unknown" -msgstr "نامەلۇم" - -#. default filename used for print-to-test -#: ../modules/printbackends/test/gtkprintbackendtest.c:234 -#, c-format -msgid "test-output.%s" -msgstr "test-output.%s" - -#: ../modules/printbackends/test/gtkprintbackendtest.c:467 -msgid "Print to Test Printer" -msgstr "سىناق پرىنتېردا باس" - -#: ../tests/testfilechooser.c:207 -#, c-format -msgid "Could not get information for file '%s': %s" -msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s" - -#: ../tests/testfilechooser.c:222 -#, c-format -msgid "Failed to open file '%s': %s" -msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s" - -#: ../tests/testfilechooser.c:267 -#, c-format -msgid "" -"Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" - -#~ msgid "X screen to use" -#~ msgstr "ئىشلەتكەن X ئېكران" - -#~ msgid "SCREEN" -#~ msgstr "ئېكران" - -#~ msgid "Make X calls synchronous" -#~ msgstr "X نى قەدەمداش قىلىپ ئىشلەت" - -#~ msgid "Credits" -#~ msgstr "تەشەككۈر" - -#~ msgid "Written by" -#~ msgstr "يازغۇچى" - -#~ msgid "Unable to find include file: \"%s\"" -#~ msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" - -#~ msgid "Error creating folder '%s': %s" -#~ msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" - -#~ msgid "Gdk debugging flags to set" -#~ msgstr "Gdk سازلاش تەڭشەك بەلگىسى" - -#~ msgid "Gdk debugging flags to unset" -#~ msgstr "قالدۇرماقچى بولغان Gdk سازلاش بەلگىسى" - -#~ msgid "Image file '%s' contains no data" -#~ msgstr "'%s' سۈرەت ھۆججەتتە ھىچقانداق سانلىق مەلۇمات يوق" - -#~ msgid "" -#~ "Failed to load animation '%s': reason not known, probably a corrupt " -#~ "animation file" -#~ msgstr "" -#~ "'%s' جانلاندۇرۇمنى يۈكلىيەلمىدى: سەۋەبى ئېنىق ئەمەس ياكى جانلاندۇرۇم " -#~ "ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" - -#~ msgid "Unable to load image-loading module: %s: %s" -#~ msgstr "سۈرەت يۈكلەش بۆلىكىنى يۈكلىيەلمىدى: %s : %s" - -#~ msgid "" -#~ "Image-loading module %s does not export the proper interface; perhaps " -#~ "it's from a different GTK version?" -#~ msgstr "" -#~ "%s سۈرەت يۈكلەش بۆلىكى توغرا ئېغىزنى چىقىرالمىدى: ئۇ باشقا بىر GTK " -#~ "نەشرىگە تەۋەمۇ؟" - -#~ msgid "Image type '%s' is not supported" -#~ msgstr "بۇ '%s' خىلدىكى سۈرەت تىپىنى قوللىمايدۇ" - -#~ msgid "Couldn't recognize the image file format for file '%s'" -#~ msgstr "'%s' نىڭ سۈرەت فورماتىنى پەرقلەندۈرەلمىدى" - -#~ msgid "Unrecognized image file format" -#~ msgstr "پەرقلەندۈرگىلى بولمايدىغان سۈرەت ھۆججەت فورماتى" - -#~ msgid "Failed to load image '%s': %s" -#~ msgstr "'%s' سۈرەت يۈكلىيەلمىدى: %s" - -#~ msgid "Error writing to image file: %s" -#~ msgstr "سۈرەت ھۆججەت يېزىش خاتالىقى: %s" - -#~ msgid "" -#~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "بۇ gdk-pixbuf ساقلايدىغان بۇ خىل ھۆججەت شەكلىنى قوللىمايدۇ :%s" - -#~ msgid "Insufficient memory to save image to callback" -#~ msgstr "بۇ سۈرەتنى ساقلاشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "Failed to open temporary file" -#~ msgstr "ۋاقىتلىق ھۆججەتنى ئاچالمىدى" - -#~ msgid "Failed to read from temporary file" -#~ msgstr "ۋاقىتلىق ھۆججەتتىن ئوقۇيالمىدى" - -#~ msgid "Failed to open '%s' for writing: %s" -#~ msgstr "'%s' نى ئېچىپ يازالمىدى: %s" - -#~ msgid "" -#~ "Failed to close '%s' while writing image, all data may not have been " -#~ "saved: %s" -#~ msgstr "" -#~ "سۈرەتكە يازغاندا '%s' نى ياپالمىدى، ھەممە سانلىق مەلۇمات ساقلانمىغان " -#~ "بولۇشى مۇمكىن: %s" - -#~ msgid "Insufficient memory to save image into a buffer" -#~ msgstr "بۇ سۈرەتنى يىغلەككە ساقلاشقا ئەسلەك يېتىشمەيدۇ" - -#~ msgid "Error writing to image stream" -#~ msgstr "سۈرەت ئاقمىسى ساقلاۋاتقاندا خاتالىق كۆرۈلدى" - -#~ msgid "" -#~ "Internal error: Image loader module '%s' failed to complete an operation, " -#~ "but didn't give a reason for the failure" -#~ msgstr "" -#~ "ئىچكى خاتالىق: سۈرەت يۈكلەش بۆلىكى '%s' مەلۇم مەشغۇلاتنى تاماملىيالمىدى، " -#~ "لېكىن ھېچقانداق خاتالىق سەۋەبى بېرىلمىدى" - -#~ msgid "Incremental loading of image type '%s' is not supported" -#~ msgstr "'%s' سۈرەت تىپى تەدرىجىي يۈكلەشنى قوللىمايدۇ" - -#~ msgid "Image header corrupt" -#~ msgstr "سۈرەت بېشى بۇزۇلغان" - -#~ msgid "Image format unknown" -#~ msgstr "نامەلۇم سۈرەت شەكلى" - -#~ msgid "Image pixel data corrupt" -#~ msgstr "سۈرەت پىكسېل سانلىق مەلۇماتى بۇزۇلغان" - -#~ msgid "failed to allocate image buffer of %u byte" -#~ msgid_plural "failed to allocate image buffer of %u bytes" -#~ msgstr[0] "%u بايتلىق سۈرەت يىغلەكنى تەقسىملىيەلمىدى" - -#~ msgid "Unexpected icon chunk in animation" -#~ msgstr "جانلاندۇرۇمدا ئېنىقلانمىغان بۆلەك بار" - -#~ msgid "Unsupported animation type" -#~ msgstr "قوللىمايدىغان جانلاندۇرۇم تىپى" - -#~ msgid "Invalid header in animation" -#~ msgstr "جانلاندۇرۇم بېشى ئىناۋەتسىز" - -#~ msgid "Not enough memory to load animation" -#~ msgstr "جانلاندۇرۇم يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Malformed chunk in animation" -#~ msgstr "جانلاندۇرۇمدىكى بۆلەكنىڭ شەكلى خاتا" - -#~ msgid "The ANI image format" -#~ msgstr "ANI سۈرەت فورماتى" - -#~ msgid "BMP image has bogus header data" -#~ msgstr "BMP سۈرەتتە يالغان سۈرەت بېشى سانلىق مەلۇماتى بار " - -#~ msgid "Not enough memory to load bitmap image" -#~ msgstr "بىتلىق تەسۋىر يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "BMP image has unsupported header size" -#~ msgstr "قوللىمايدىغان BMP سۈرەت بېشى چوڭ كىچىكلىكى " - -#~ msgid "Topdown BMP images cannot be compressed" -#~ msgstr "يۇقىرىدىن تۆۋەنگە يېزىلغان BMP سۈرەت شەكلىنى پرېسلىيالمايدۇ" - -#~ msgid "Premature end-of-file encountered" -#~ msgstr "ھۆججەت بۇرۇن ئاخىرلاشقان" - -#~ msgid "Couldn't allocate memory for saving BMP file" -#~ msgstr "BMP ھۆججەتنى ساقلاشقا ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Couldn't write to BMP file" -#~ msgstr "BMP ھۆججەتكە يازالمىدى" - -#~ msgid "The BMP image format" -#~ msgstr "BMP سۈرەت فورماتى" - -#~ msgid "Failure reading GIF: %s" -#~ msgstr "GIF ھۆججەتنى ئوقۇيالمىدى:%s" - -#~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" -#~ msgstr "" -#~ "GIF ھۆججەتتە بەزى سانلىق مەلۇماتلار كەم(ھۆججەت كېسىپ قىسقارتىلغان بولۇشى " -#~ "مۇمكىن)" - -#~ msgid "Internal error in the GIF loader (%s)" -#~ msgstr "GIF يۈكلىگۈچتە ئىچكى خاتالىق كۆرۈلدى(%s)" - -#~ msgid "Stack overflow" -#~ msgstr "تۇرادىن ھالقىدى" - -#~ msgid "GIF image loader cannot understand this image." -#~ msgstr "GIF ھۆججەت يۈكلەش بۆلىكى بۇ سۈرەتنى تەھلىل قىلالمىدى" - -#~ msgid "Bad code encountered" -#~ msgstr "خاتا كود كۆرۈلدى" - -#~ msgid "Circular table entry in GIF file" -#~ msgstr "GIF سۈرەتتىكى جەدۋەل تۈرى دەۋرىيلىكى" - -#~ msgid "Not enough memory to load GIF file" -#~ msgstr "GIF ھۆججەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Not enough memory to composite a frame in GIF file" -#~ msgstr "GIF ھۆججەتتىكى بىر كاندۇكنى ھاسىل قىلىشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "GIF image is corrupt (incorrect LZW compression)" -#~ msgstr "GIF سۈرەت بۇزۇلغان(ناتوغرا LZW پىرىس شەكلى)" - -#~ msgid "File does not appear to be a GIF file" -#~ msgstr "ھۆججەت GIF ھۆججەت ئەمەستەك تۇرىدۇ" - -#~ msgid "Version %s of the GIF file format is not supported" -#~ msgstr "قوللىمايدىغان %s نەشرىدىكى GIF سۈرەت ھۆججەت فورماتى" - -#~ msgid "" -#~ "GIF image has no global colormap, and a frame inside it has no local " -#~ "colormap." -#~ msgstr "" -#~ "GIF سۈرەتنىڭ ئومۇمىيەت رەڭ خەرىتىسى يوق، ئۇنىڭ ئىچىدىكى بىر بۆلەكنىڭمۇ " -#~ "رەڭ خەرىتىسى يوق" - -#~ msgid "GIF image was truncated or incomplete." -#~ msgstr "GIF سۈرەت كېسىپ قىسقارتىلغان ياكى كەمتۈك" - -#~ msgid "The GIF image format" -#~ msgstr "GIF سۈرەت فورماتى" - -#~ msgid "Invalid header in icon" -#~ msgstr "سىنبەلگە بېشى ئىناۋەتسىز" - -#~ msgid "Not enough memory to load icon" -#~ msgstr "سىنبەلگە يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Icon has zero width" -#~ msgstr "سىنبەلگە كەڭلىكى نۆل" - -#~ msgid "Icon has zero height" -#~ msgstr "سىنبەلگە ئېگىزلىكى نۆل" - -#~ msgid "Compressed icons are not supported" -#~ msgstr "پرېسلانغان سىنبەلگىنى قوللىمايدۇ" - -#~ msgid "Unsupported icon type" -#~ msgstr "قوللىمايدىغان رەسىم بەلگە تۈرى" - -#~ msgid "Not enough memory to load ICO file" -#~ msgstr "ICO ھۆججىتىنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Image too large to be saved as ICO" -#~ msgstr "سۈرەت بەك چوڭ، ICO شەكلىدە ساقلىغىلى بولمايدۇ." - -#~ msgid "Cursor hotspot outside image" -#~ msgstr "نۇر بەلگە ئورنى سۈرەت سىرتىدا" - -#~ msgid "Unsupported depth for ICO file: %d" -#~ msgstr "قوللىمايدىغان ICO ھۆججەت چوڭقۇرلۇقى: %d" - -#~ msgid "The ICO image format" -#~ msgstr "ICO سۈرەت فورماتى" - -#~ msgid "Error reading ICNS image: %s" -#~ msgstr "ICNS سۈرەت ھۆججەت ئوقۇغاندا خاتالىق كۆرۈلدى: %s" - -#~ msgid "Could not decode ICNS file" -#~ msgstr "ICNS ھۆججەت كودىنى يېشەلمىدى" - -#~ msgid "The ICNS image format" -#~ msgstr "ICNS سۈرەت فورماتى" - -#~ msgid "Couldn't allocate memory for stream" -#~ msgstr "ئېقىمغا ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Couldn't decode image" -#~ msgstr "سۈرەت كودىنى يېشەلمىدى" - -#~ msgid "Transformed JPEG2000 has zero width or height" -#~ msgstr "ئايلاندۇرۇلغان JPEG2000 نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" - -#~ msgid "Image type currently not supported" -#~ msgstr "نۆۋەتتە بۇ خىل سۈرەت فورماتىنى قوللىمايدۇ" - -#~ msgid "Couldn't allocate memory for color profile" -#~ msgstr "رەڭ سەپلىمىسىگە ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Insufficient memory to open JPEG 2000 file" -#~ msgstr "JPEG 2000 ھۆججەتنى ئېچىشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "Couldn't allocate memory to buffer image data" -#~ msgstr "يىغلەك سۈرەت سانلىق مەلۇماتىغا ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "The JPEG 2000 image format" -#~ msgstr "JPEG 2000 سۈرەت فورماتى" - -#~ msgid "Error interpreting JPEG image file (%s)" -#~ msgstr "JPEG سۈرەتنى تەھلىل قىلغاندا خاتالىق كۆرۈلدى (%s)" - -#~ msgid "" -#~ "Insufficient memory to load image, try exiting some applications to free " -#~ "memory" -#~ msgstr "" -#~ "سۈرەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ، بەزى قوللىنىشچان پروگراممىلارنى يېپىپ " -#~ "ئەسلەكنى بىكارلاپ سىناپ بېقىڭ" - -#~ msgid "Unsupported JPEG color space (%s)" -#~ msgstr "قوللىمايدىغان JPEG رەڭ بوشلۇقى (%s)" - -#~ msgid "Couldn't allocate memory for loading JPEG file" -#~ msgstr "JPEG ھۆججەتنى يۈكلەشكە ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Transformed JPEG has zero width or height." -#~ msgstr "ئۆزگەرتىلگەن JPEG نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" - -#~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " -#~ "parsed." -#~ msgstr "" -#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%s' قىممەتنى تەھلىل " -#~ "قىلالمىدى" - -#~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." -#~ msgstr "" -#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%d' قىممەتنى " -#~ "ئىشلىتىشكە يول قويۇلمايدۇ." - -#~ msgid "The JPEG image format" -#~ msgstr "JPEG سۈرەت فورماتى" - -#~ msgid "Couldn't allocate memory for header" -#~ msgstr "ھۆججەت بېشىغا ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Couldn't allocate memory for context buffer" -#~ msgstr "كونتېكست يىغلەككە ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Image has invalid width and/or height" -#~ msgstr "سۈرەتنىڭ كەڭلىكى ۋە ياكى ئۇزۇنلۇقى ئىناۋەتسىز" - -#~ msgid "Image has unsupported bpp" -#~ msgstr "رەسىمدە قوللىمايدىغان bpp بار" - -#~ msgid "Image has unsupported number of %d-bit planes" -#~ msgstr "سۈرەتتە قوللىمايدىغان %d بىتلىق رەڭ تەخسىسى بار " - -#~ msgid "Couldn't create new pixbuf" -#~ msgstr "يىڭى پىكسېل يىغلەك قۇرالمايدۇ" - -#~ msgid "Couldn't allocate memory for line data" -#~ msgstr "سىزىقلىق سانلىق مەلۇماتقا ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Couldn't allocate memory for paletted data" -#~ msgstr "رەڭ تەڭشەش تاختىسى سانلىق مەلۇمات ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Didn't get all lines of PCX image" -#~ msgstr "PCX سۈرەتنىڭ بارلىق سىزىقلىق مەلۇماتلىرىغا ئېرىشەلمىدى" - -#~ msgid "No palette found at end of PCX data" -#~ msgstr "PCX سانلىق مەلۇماتىنىڭ ئاخىرىدا رەڭ تەڭشىگۈچ بايقالمىدى" - -#~ msgid "The PCX image format" -#~ msgstr "PCX سۈرەت فورماتى " - -#~ msgid "Bits per channel of PNG image is invalid." -#~ msgstr "PNG سۈرەتنىڭ ھەر بىر قانىلىنىڭ بىت سانى ئىناۋەتسىز ." - -#~ msgid "Transformed PNG has zero width or height." -#~ msgstr "ئۆزگىرىشچان PNG نىڭ كەڭلىكى ياكى ئېگىزلىكى نۆل." - -#~ msgid "Bits per channel of transformed PNG is not 8." -#~ msgstr "ئۆزگىرىشچان PNG نىڭ بىت سانى 8 ئەمەس" - -#~ msgid "Transformed PNG not RGB or RGBA." -#~ msgstr "ئۆزگىرىشچان PNG بولسا RGB ياكى RGBA ئەمەس." - -#~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." -#~ msgstr "" -#~ "ئۆزگىرىشچان PNG قوللىمايدىغان قانال سانىنى ئۆز ئىچىگە ئالغان. چوقۇم 3 " -#~ "ياكى 4 بولۇشى لازىم" - -#~ msgid "Fatal error in PNG image file: %s" -#~ msgstr "PNG سۈرەت ھۆججەتتە ئېغىر خاتالىق كۆرۈلدى: %s" - -#~ msgid "Insufficient memory to load PNG file" -#~ msgstr "PNG يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "" -#~ "Insufficient memory to store a %ld by %ld image; try exiting some " -#~ "applications to reduce memory usage" -#~ msgstr "" -#~ "چوڭلۇقى %ld x %ld بولغان سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق؛ باشقا " -#~ "قوللىنىشچان پروگراممىلارنى يېپىپ ئەسلەك ئىشلىتىش مىقدارىنى ئازايتىڭ." - -#~ msgid "Fatal error reading PNG image file" -#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى" - -#~ msgid "Fatal error reading PNG image file: %s" -#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى: %s" - -#~ msgid "" -#~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." -#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى 1-79 غىچە بولۇشى كېرەك " - -#~ msgid "Keys for PNG text chunks must be ASCII characters." -#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى ASCII چوقۇم بۆلۇشى كېرەك" - -#~ msgid "Color profile has invalid length %d." -#~ msgstr "رەڭ سەپلىمە ھۆججىتىنىڭ ئۇزۇنلۇقى %d ئىناۋەتسىز." - -#~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%s' could " -#~ "not be parsed." -#~ msgstr "" -#~ "PNG پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بۆلۇشى كېرەك؛ ئانالىز قىلىنمايدىغان " -#~ "قىممەت %s ." - -#~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%d' is not " -#~ "allowed." -#~ msgstr "" -#~ "PNG نىڭ پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بولۇشى كېرەك . '%d' قىممەتنى " -#~ "ئىشلىتىشكە يول قويۇلمايدۇ." - -#~ msgid "" -#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." -#~ msgstr "PNG تېكىست رامكىسى %s نى ISO-8859-1 غا ئايلاندۇرۇشقا بولمايدۇ" - -#~ msgid "The PNG image format" -#~ msgstr "PNG سۈرەت فورماتى" - -#~ msgid "PNM loader expected to find an integer, but didn't" -#~ msgstr "PNM يۈكلەش بۆلەك پۈتۈن سان تاپالمىدى " - -#~ msgid "PNM file has an incorrect initial byte" -#~ msgstr "PNM ھۆججەتنىڭ باش بېتى خاتا" - -#~ msgid "PNM file is not in a recognized PNM subformat" -#~ msgstr "" -#~ "PNG ھۆججەت پەرقلەندۈرگىلى بولىدىغان PNM قوشۇمچە فورماتتا ساقلانمىغان" - -#~ msgid "PNM file has an image width of 0" -#~ msgstr "PNM ھۆججەتنىڭ سۈرەت كەڭلىكى 0" - -#~ msgid "PNM file has an image height of 0" -#~ msgstr "PNM ھۆججەتنىڭ سۈرەت ئېگىزلىكى 0 " - -#~ msgid "Maximum color value in PNM file is 0" -#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى 0" - -#~ msgid "Maximum color value in PNM file is too large" -#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى بەك چوڭ" - -#~ msgid "Raw PNM image type is invalid" -#~ msgstr "ئەسلىدىكى PNM سۈرەتنىڭ تىپى ئىناۋەتسىز" - -#~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "PNM يۈكلەش پروگرامماسى بۇ خىل PNM تارماق فورماتنى قوللىمايدۇ" - -#~ msgid "Raw PNM formats require exactly one whitespace before sample data" -#~ msgstr "" -#~ "ئەسلىدىكى PNM فورماتى نۇسخىلاشتىن بۇرۇن بىر بوشلۇق ئورنىغا ئېھتىياجلىق" - -#~ msgid "Cannot allocate memory for loading PNM image" -#~ msgstr "ئەسلەك تەقسىملەپ PNM سۈرەتنى يۈكلىيەلمەيدۇ" - -#~ msgid "Insufficient memory to load PNM context struct" -#~ msgstr "PNM نىڭ تىل مۇھىت بۆلىكىنى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " - -#~ msgid "Unexpected end of PNM image data" -#~ msgstr "PNM سۈرەت سانلىق مەلۇماتى بالدۇر ئاخىرلاشقان" - -#~ msgid "Insufficient memory to load PNM file" -#~ msgstr "PNM نى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " - -#~ msgid "The PNM/PBM/PGM/PPM image format family" -#~ msgstr "PNM/PBM/PGM/PPM سۈرەت ھۆججەت تۈرى" - -#~ msgid "Input file descriptor is NULL." -#~ msgstr "كىرگۈزگەن ھۆججەت چۈشەندۈرۈشى NULL." - -#~ msgid "Failed to read QTIF header" -#~ msgstr " QTIF باشىنى ئوقۇيالمىدى" - -#~ msgid "QTIF atom size too large (%d bytes)" -#~ msgstr "QTIF ئاتوم چوڭلۇقى بەك چوڭ (%d بايت)" - -#~ msgid "Failed to allocate %d bytes for file read buffer" -#~ msgstr "%d بايتلىق ھۆججەت ئوقۇش يىغلەكنى تەقسىملىيەلمىدى" - -#~ msgid "File error when reading QTIF atom: %s" -#~ msgstr " QTIF ئاتوم ئوقۇشتىكى ھۆججەت خاتالىقى: %s" - -#~ msgid "Failed to skip the next %d bytes with seek()." -#~ msgstr "كېيىنكى %d بايت seek() تىن ئاتلىيالمىدى." - -#~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "QTIF تىل مۇھىت قۇرۇلمىسىنى تەقسىملىيەلمىدى." - -#~ msgid "Failed to create GdkPixbufLoader object." -#~ msgstr "GdkPixbufLoader ئوبيېكت قۇرالمىدى." - -#~ msgid "Failed to find an image data atom." -#~ msgstr "سۈرەت سانلىق مەلۇمات ئاتومىنى تاپالمىدى." - -#~ msgid "The QTIF image format" -#~ msgstr "QTIF سۈرەت فورماتى" - -#~ msgid "RAS image has bogus header data" -#~ msgstr "RAS سۈرەتتە يالغان باش سانلىق مەلۇماتى بار" - -#~ msgid "RAS image has unknown type" -#~ msgstr "RAS سۈرەتنىڭ تىپى نامەلۇم" - -#~ msgid "unsupported RAS image variation" -#~ msgstr "قوللىمايدىغان RAS سۈرەت شالغۇتى" - -#~ msgid "Not enough memory to load RAS image" -#~ msgstr "RAS سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "The Sun raster image format" -#~ msgstr "Sun ئوپتىك پەنجىرىلىك سۈرەت فورماتى" - -#~ msgid "Cannot allocate memory for IOBuffer struct" -#~ msgstr "IOBuffer ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate memory for IOBuffer data" -#~ msgstr "IOBuffer سانلىق مەلۇماتى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " - -#~ msgid "Cannot realloc IOBuffer data" -#~ msgstr "IOBuffer ئۈچۈن قايتىدىن ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate temporary IOBuffer data" -#~ msgstr "IOBuffer ئۈچۈن ۋاقىتلىق ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate new pixbuf" -#~ msgstr "يىڭى پېكسىللىق يىغلەكنى تەقسىملىيەلمەيدۇ" - -#~ msgid "Image is corrupted or truncated" -#~ msgstr "سۈرەت بۇزۇلغان ياكى كېسىلگەن" - -#~ msgid "Cannot allocate colormap structure" -#~ msgstr "رەڭ جەدۋەل قۇرۇلمىسىنى تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate colormap entries" -#~ msgstr "رەڭ جەدۋەل تۈرىنى تەقسىملىيەلمەيدۇ" - -#~ msgid "Unexpected bitdepth for colormap entries" -#~ msgstr "ئېنىقسىز رەڭلىك جەدۋەل بىت چوڭقۇرلۇقى" - -#~ msgid "Cannot allocate TGA header memory" -#~ msgstr "TGA باش ئەسلەكنى تەقسىملىيەلمەيدۇ" - -#~ msgid "TGA image has invalid dimensions" -#~ msgstr "TGA سۈرەت ئۆلچىمى ئىناۋەتسىز" - -#~ msgid "TGA image type not supported" -#~ msgstr "TGA سۈرەت تىپىنى قوللىمايدۇ" - -#~ msgid "Cannot allocate memory for TGA context struct" -#~ msgstr "TGA نىڭ تىل مۇھىت تۈزۈلۈشى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " - -#~ msgid "Excess data in file" -#~ msgstr "ھۆججەتتىكى سانلىق مەلۇمات نورمىدىن ھالقىپ كەتكەن" - -#~ msgid "The Targa image format" -#~ msgstr "Targa سۈرەت فورماتى" - -#~ msgid "Could not get image width (bad TIFF file)" -#~ msgstr "سۈرەت كەڭلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" - -#~ msgid "Could not get image height (bad TIFF file)" -#~ msgstr "سۈرەت ئېگىزلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" - -#~ msgid "Width or height of TIFF image is zero" -#~ msgstr "TIFF سۈرەتنىڭ كەڭلىك ياكى ئېگىزلىكى 0" - -#~ msgid "Dimensions of TIFF image too large" -#~ msgstr "TIFF سۈرەت ئۆلچىمى بەك چوڭ " - -#~ msgid "Insufficient memory to open TIFF file" -#~ msgstr "TIFFھۆججەتنى ئىچىشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "Failed to load RGB data from TIFF file" -#~ msgstr "TIFF ھۆججەتتىكى RGB سانلىق مەلۇماتلارنى يۈكلىيەلمىدى" - -#~ msgid "Failed to open TIFF image" -#~ msgstr "TIFF سۈرەتنى ئاچالمىدى" - -#~ msgid "TIFFClose operation failed" -#~ msgstr "TIFFClose مەشغۇلات مەغلۇپ بولدى" - -#~ msgid "Failed to load TIFF image" -#~ msgstr "TIFF سۈرەتنى يۈكلىيەلمىدى" - -#~ msgid "Failed to save TIFF image" -#~ msgstr "TIFF سۈرەتنى ساقلىيالمىدى" - -#~ msgid "TIFF compression doesn't refer to a valid codec." -#~ msgstr "TIFF پىرىسلاش ئىناۋەتلىك كودلاشتىن پايدىلىنالمىدى." - -#~ msgid "Failed to write TIFF data" -#~ msgstr "TIFF سانلىق مەلۇماتقا يازالمىدى" - -#~ msgid "Couldn't write to TIFF file" -#~ msgstr "TIFF ھۆججەتكە يازالمىدى" - -#~ msgid "The TIFF image format" -#~ msgstr "TIFF سۈرەت فورماتى" - -#~ msgid "Image has zero width" -#~ msgstr "سۈرەت كەڭلىكى 0" - -#~ msgid "Image has zero height" -#~ msgstr "سۈرەت ئېگىزلىكى 0" - -#~ msgid "Not enough memory to load image" -#~ msgstr "سۈرەت يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Couldn't save the rest" -#~ msgstr "قالغان قىسمىنى ساقلايالمايدۇ" - -#~ msgid "The WBMP image format" -#~ msgstr "WBMP سۈرەت فورماتى" - -#~ msgid "Invalid XBM file" -#~ msgstr "XBMھۆججەت ئىناۋەتسىز" - -#~ msgid "Insufficient memory to load XBM image file" -#~ msgstr "XBM ھۆججەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ" - -#~ msgid "Failed to write to temporary file when loading XBM image" -#~ msgstr "XBM سۈرەت يۈكلەۋاتقاندا ۋاقىتلىق ھۆججەتكە يازالمىدى" - -#~ msgid "The XBM image format" -#~ msgstr "XBM سۈرەت فورماتى" - -#~ msgid "No XPM header found" -#~ msgstr "XPM بېشى تېپىلمىدى" - -#~ msgid "Invalid XPM header" -#~ msgstr "XBM باش ئىناۋەتسىز" - -#~ msgid "XPM file has image width <= 0" -#~ msgstr "XPM ھۆججەت سۈرەت كەڭلىكى <= 0" - -#~ msgid "XPM file has image height <= 0" -#~ msgstr "XPM ھۆججەت سۈرەت ئېگىزلىكى <= 0" - -#~ msgid "XPM has invalid number of chars per pixel" -#~ msgstr "XPM ھەربىر پېكسىل ئىگىلىگەن بىت سانى ئىناۋەتسىز" - -#~ msgid "XPM file has invalid number of colors" -#~ msgstr "XPM ھۆججەت رەسىم رەڭ سانى توغرا ئەمەس" - -#~ msgid "Cannot allocate memory for loading XPM image" -#~ msgstr "XPM سۈرەت يۈكلەشكە ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot read XPM colormap" -#~ msgstr "XPM رەڭ جەدۋەلنى ئوقۇيالمىدى" - -#~ msgid "Failed to write to temporary file when loading XPM image" -#~ msgstr "XPM يۈكلىگەندە ۋاقىتلىق ھۆججەتكە يازالمىدى" - -#~ msgid "The XPM image format" -#~ msgstr "XPM سۈرەت فورماتى" - -#~ msgid "The EMF image format" -#~ msgstr "EMF سۈرەت فورماتى" - -#~ msgid "Could not allocate memory: %s" -#~ msgstr "ئەسلەك تەقسىملىيەلمەيدۇ: %s" - -#~ msgid "Could not create stream: %s" -#~ msgstr "ئېقىم قۇرالمايدۇ: %s" - -#~ msgid "Could not seek stream: %s" -#~ msgstr "ئېقىمنى ئىزدىيەلمەيدۇ: %s" - -#~ msgid "Could not read from stream: %s" -#~ msgstr "ئېقىمدىن ئوقۇيالمايدۇ: %s" - -#~ msgid "Couldn't load bitmap" -#~ msgstr "سۈرەتنى يۈكلىيەلمىدى" - -#~ msgid "Couldn't load metafile" -#~ msgstr "مېتا ھۆججەتنى يۈكلىيەلمىدى" - -#~ msgid "Unsupported image format for GDI+" -#~ msgstr "GDI+ بۇ سۈرەت فورماتىنى تونۇمايدۇ" - -#~ msgid "Couldn't save" -#~ msgstr "ساقلىيالمىدى" - -#~ msgid "The WMF image format" -#~ msgstr "WMF سۈرەت فورماتى" - -#~ msgid "\"Deepness\" of the color." -#~ msgstr "رەڭ چوڭقۇرلۇقى." - -#~ msgid "Folders" -#~ msgstr "قىسقۇچ" - -#~ msgid "Fol_ders" -#~ msgstr "قىسقۇچ(_D)" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "قىسقۇچنى ئوقۇغىلى بولمىدى: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "ھۆججەت \"%s\" باشقا بىر (%s ئاتلىق)مۇلازىمېتىردا، مەزكۇر پروگرامما " -#~ "زىيارەت قىلالماسلىقى مۇمكىن. \n" -#~ "ئۇنى راستىنلا تاللامسىز؟" - -#~ msgid "_New Folder" -#~ msgstr "يىڭى قىسقۇچ(_N)" - -#~ msgid "De_lete File" -#~ msgstr "ھۆججەت ئۆچۈر(_L)" - -#~ msgid "_Rename File" -#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "\"%s\" قىسقۇچ ئاتىدا ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە " -#~ "بار" - -#~ msgid "New Folder" -#~ msgstr "يېڭى قىسقۇچ" - -#~ msgid "_Folder name:" -#~ msgstr "قىسقۇچ ئاتى(_F):" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە بار" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "'%s' ھۆججەتنى ئۆچۈرگەندە خاتالىق كۆرۈلدى:%s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "\"%s\" ھۆججەتنى راستلا ئۆچۈرەمسىز؟" - -#~ msgid "Delete File" -#~ msgstr "ھۆججەت ئۆچۈر" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "ھۆججەت \"%s\" ئاتىنى ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s " - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "\"%s\" ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" - -#~ msgid "Rename File" -#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "\"%s\" ھۆججەت ئاتىنى ئۆزگەرت:" - -#~ msgid "_Rename" -#~ msgstr "ئات ئۆزگەرت(_R)" - -#~ msgid "_Selection: " -#~ msgstr "تاللاش(_S): " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "\"%s\" ھۆججەت ئاتىنى UTF-8 گە ئۆزگەرتەلمىدى.(G_FILENAME_ENCODING مۇھىت " -#~ "ئۆزگەرگۈچى مىقدار تەڭشەشنى سىناڭ): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "ئىناۋەتسىز UTF-8" - -#~ msgid "Name too long" -#~ msgstr "ئات بەك ئۇزۇن" - -#~ msgid "Couldn't convert filename" -#~ msgstr "ئاتنى ئالماشتۇرالمىدى" - -#~ msgid "Gamma" -#~ msgstr "گامما" - -#~ msgid "_Gamma value" -#~ msgstr "گامما قىممەت(_G)" - -#~ msgid "Input" -#~ msgstr "كىرگۈز" - -#~ msgid "No extended input devices" -#~ msgstr "كېڭەيتىلگەن كىرگۈزگۈچ يوق" - -#~ msgid "_Device:" -#~ msgstr "ئۈسكۈنە(_D):" - -#~ msgid "Disabled" -#~ msgstr "چەكلەنگەن" - -#~ msgid "Screen" -#~ msgstr "ئېكران" - -#~ msgid "Window" -#~ msgstr "كۆزنەك" - -#~ msgid "_Mode:" -#~ msgstr "ھالەت(_M):" - -#~ msgid "Axes" -#~ msgstr "ئوق" - -#~ msgid "Keys" -#~ msgstr "كۇنۇپكا" - -#~ msgid "_X:" -#~ msgstr "_X:" - -#~ msgid "_Y:" -#~ msgstr "_Y:" - -#~ msgid "_Pressure:" -#~ msgstr "كۈچى(_P):" - -#~ msgid "X _tilt:" -#~ msgstr "X قىيپاش(_T):" - -#~ msgid "Y t_ilt:" -#~ msgstr "Y قىيپاش(_I):" - -#~ msgid "_Wheel:" -#~ msgstr "چەمبىرەك(_W):" - -#~ msgid "none" -#~ msgstr "يوق" - -#~ msgid "(disabled)" -#~ msgstr "(چەكلەنگەن)" - -#~ msgid "(unknown)" -#~ msgstr "(نامەلۇم)" - -#~ msgid "Cl_ear" -#~ msgstr "تازىلا(_E)" - -#~ msgid "Error printing" -#~ msgstr "بېسىشتا خاتالىق كۆرۈلدى" - -#~ msgid "--- No Tip ---" -#~ msgstr "--- ئەسكەرتىش يوق---" - -#~ msgid "Printer '%s' may not be connected." -#~ msgstr "'%s' پرىنتېرغا ئۇلىنالماسلىقى مۇمكىن." +#~ msgid "Blinking" +#~ msgstr "بېسىۋاتىدۇ" From 9b6a0a0e2b047401aa20f1987d95420bf8173878 Mon Sep 17 00:00:00 2001 From: "Gheyret T.Kenji" Date: Thu, 23 Dec 2010 20:17:15 +0100 Subject: [PATCH 0894/1463] Added UG translation --- po/ug.po | 12121 ++++++++++++++++++++++------------------------------- 1 file changed, 5008 insertions(+), 7113 deletions(-) diff --git a/po/ug.po b/po/ug.po index befdc8a4ba..8610cdf83e 100644 --- a/po/ug.po +++ b/po/ug.po @@ -1,7113 +1,5008 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Sahran ,2010 -# -msgid "" -msgstr "" -"Project-Id-Version: gtk+2.0\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-12-22 04:25+0000\n" -"PO-Revision-Date: 2010-09-21 04:09+0800\n" -"Last-Translator: Sahran \n" -"Language-Team: Uyghur Computer Science Association \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Language: \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Poedit-Language: Uighur\n" -"X-Poedit-SourceCharset: utf-8\n" - -#: ../gdk/gdkdevice.c:96 -msgid "Device Display" -msgstr "" - -#: ../gdk/gdkdevice.c:97 -msgid "Display which the device belongs to" -msgstr "بۇ ئۈسكىنىنىڭ قايسىسىغا تەۋەلىكىنى كۆرسىتىدۇ" - -#: ../gdk/gdkdevice.c:111 -msgid "Device manager" -msgstr "ئۈسكىنە باشقۇرغۇ" - -#: ../gdk/gdkdevice.c:112 -msgid "Device manager which the device belongs to" -msgstr "" - -#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 -msgid "Device name" -msgstr "ئۈسكىنە ئاتى" - -#: ../gdk/gdkdevice.c:141 -msgid "Device type" -msgstr "ئۈسكىنە تىپى" - -#: ../gdk/gdkdevice.c:142 -msgid "Device role in the device manager" -msgstr "" - -#: ../gdk/gdkdevice.c:158 -msgid "Associated device" -msgstr "" - -#: ../gdk/gdkdevice.c:159 -msgid "Associated pointer or keyboard with this device" -msgstr "" - -#: ../gdk/gdkdevice.c:172 -msgid "Input source" -msgstr "" - -#: ../gdk/gdkdevice.c:173 -msgid "Source type for the device" -msgstr "" - -#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 -msgid "Input mode for the device" -msgstr "ئۈسكىنىنىڭ كىرگۈزۈش ھالىتى" - -#: ../gdk/gdkdevice.c:204 -msgid "Whether the device has a cursor" -msgstr "" - -#: ../gdk/gdkdevice.c:205 -msgid "Whether there is a visible cursor following device motion" -msgstr "" - -#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 -msgid "Number of axes in the device" -msgstr "" - -#: ../gdk/gdkdevicemanager.c:130 -msgid "Display" -msgstr "كۆرسىتىش" - -#: ../gdk/gdkdevicemanager.c:131 -msgid "Display for the device manager" -msgstr "" - -#: ../gdk/gdkdisplaymanager.c:106 -msgid "Default Display" -msgstr "كۆڭۈلدىكى كۆرسەتكۈچ" - -#: ../gdk/gdkdisplaymanager.c:107 -msgid "The default display for GDK" -msgstr "GDK نىڭ كۆڭۈلدىكى كۆرسەتكۈچى" - -#: ../gdk/gdkscreen.c:89 -msgid "Font options" -msgstr "خەت نۇسخىسى تاللانمىلىرى" - -#: ../gdk/gdkscreen.c:90 -msgid "The default font options for the screen" -msgstr "" - -#: ../gdk/gdkscreen.c:97 -msgid "Font resolution" -msgstr "" - -#: ../gdk/gdkscreen.c:98 -msgid "The resolution for fonts on the screen" -msgstr "" - -#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 -msgid "Cursor" -msgstr "نۇر بەلگە" - -#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 -#: ../gdk/x11/gdkdevice-xi2.c:123 -msgid "Device ID" -msgstr "ئۈسكىنە ID سى" - -#: ../gdk/x11/gdkdevice-xi2.c:124 -msgid "Device identifier" -msgstr "" - -#: ../gdk/x11/gdkdevicemanager-xi.c:95 -msgid "Event base" -msgstr "ھادىسە ئاساسى" - -#: ../gdk/x11/gdkdevicemanager-xi.c:96 -msgid "Event base for XInput events" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:277 -msgid "Program name" -msgstr "پروگرامما ئاتى" - -#: ../gtk/gtkaboutdialog.c:278 -msgid "" -"The name of the program. If this is not set, it defaults to " -"g_get_application_name()" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:292 -msgid "Program version" -msgstr "پروگرامما نەشرى" - -#: ../gtk/gtkaboutdialog.c:293 -msgid "The version of the program" -msgstr "پروگراممىنىڭ نەشرى" - -#: ../gtk/gtkaboutdialog.c:307 -msgid "Copyright string" -msgstr "نەشر ھوقۇقى ئۇچۇرى" - -#: ../gtk/gtkaboutdialog.c:308 -msgid "Copyright information for the program" -msgstr "پروگراممىنىڭ نەشر ھوقۇقى ئۇچۇرى" - -#: ../gtk/gtkaboutdialog.c:325 -msgid "Comments string" -msgstr "ئىزاھات ئۇچۇرى" - -#: ../gtk/gtkaboutdialog.c:326 -msgid "Comments about the program" -msgstr "پروگرامما ھەققىدىكى ئىزاھات" - -#: ../gtk/gtkaboutdialog.c:376 -msgid "License Type" -msgstr "ئىجازەتنامە تىپى" - -#: ../gtk/gtkaboutdialog.c:377 -msgid "The license type of the program" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:393 -msgid "Website URL" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:394 -msgid "The URL for the link to the website of the program" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:408 -msgid "Website label" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:409 -msgid "The label for the link to the website of the program" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:425 -msgid "Authors" -msgstr "يازغۇچىلار" - -#: ../gtk/gtkaboutdialog.c:426 -msgid "List of authors of the program" -msgstr "پروگرامما ئاپتورلىرى" - -#: ../gtk/gtkaboutdialog.c:442 -msgid "Documenters" -msgstr "پۈتۈكچى" - -#: ../gtk/gtkaboutdialog.c:443 -msgid "List of people documenting the program" -msgstr "پروگرامما پۈتۈكى يازغۇچىلار تىزىملىكى" - -#: ../gtk/gtkaboutdialog.c:459 -msgid "Artists" -msgstr "سەنئەتكار" - -#: ../gtk/gtkaboutdialog.c:460 -msgid "List of people who have contributed artwork to the program" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:477 -msgid "Translator credits" -msgstr "تەرجىمانلار تەشەككۈرى" - -#: ../gtk/gtkaboutdialog.c:478 -msgid "" -"Credits to the translators. This string should be marked as translatable" -msgstr "تەرجىمانلارغا تەشەككۈر. بۇ ھەرپ-بەلگىلەرنى تەرجىمە قىلىشقا بولىدىغانلىق بەلگىسى قويۇلىدۇ." - -#: ../gtk/gtkaboutdialog.c:493 -msgid "Logo" -msgstr "تۇغ" - -#: ../gtk/gtkaboutdialog.c:494 -msgid "" -"A logo for the about box. If this is not set, it defaults to " -"gtk_window_get_default_icon_list()" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:509 -msgid "Logo Icon Name" -msgstr "تۇغ سىنبەلگە ئاتى" - -#: ../gtk/gtkaboutdialog.c:510 -msgid "A named icon to use as the logo for the about box." -msgstr "" - -#: ../gtk/gtkaboutdialog.c:523 -msgid "Wrap license" -msgstr "" - -#: ../gtk/gtkaboutdialog.c:524 -msgid "Whether to wrap the license text." -msgstr "" - -#: ../gtk/gtkaccellabel.c:189 -msgid "Accelerator Closure" -msgstr "" - -#: ../gtk/gtkaccellabel.c:190 -msgid "The closure to be monitored for accelerator changes" -msgstr "" - -#: ../gtk/gtkaccellabel.c:196 -msgid "Accelerator Widget" -msgstr "" - -#: ../gtk/gtkaccellabel.c:197 -msgid "The widget to be monitored for accelerator changes" -msgstr "" - -#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 -#: ../gtk/gtktextmark.c:89 -msgid "Name" -msgstr "ئاتى" - -#: ../gtk/gtkaction.c:223 -msgid "A unique name for the action." -msgstr "" - -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 -msgid "Label" -msgstr "ئەن" - -#: ../gtk/gtkaction.c:242 -msgid "The label used for menu items and buttons that activate this action." -msgstr "" - -#: ../gtk/gtkaction.c:258 -msgid "Short label" -msgstr "" - -#: ../gtk/gtkaction.c:259 -msgid "A shorter label that may be used on toolbar buttons." -msgstr "" - -#: ../gtk/gtkaction.c:267 -msgid "Tooltip" -msgstr "" - -#: ../gtk/gtkaction.c:268 -msgid "A tooltip for this action." -msgstr "" - -#: ../gtk/gtkaction.c:283 -msgid "Stock Icon" -msgstr "قالدۇرۇلغان سىنبەلگە" - -#: ../gtk/gtkaction.c:284 -msgid "The stock icon displayed in widgets representing this action." -msgstr "" - -#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 -msgid "GIcon" -msgstr "GIcon" - -#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 -msgid "The GIcon being displayed" -msgstr "" - -#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:732 -msgid "Icon Name" -msgstr "سىنبەلگە ئاتى" - -#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 -msgid "The name of the icon from the icon theme" -msgstr "" - -#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 -msgid "Visible when horizontal" -msgstr "" - -#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 -msgid "" -"Whether the toolbar item is visible when the toolbar is in a horizontal " -"orientation." -msgstr "" - -#: ../gtk/gtkaction.c:349 -msgid "Visible when overflown" -msgstr "" - -#: ../gtk/gtkaction.c:350 -msgid "" -"When TRUE, toolitem proxies for this action are represented in the toolbar " -"overflow menu." -msgstr "" - -#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 -msgid "Visible when vertical" -msgstr "" - -#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 -msgid "" -"Whether the toolbar item is visible when the toolbar is in a vertical " -"orientation." -msgstr "" - -#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 -msgid "Is important" -msgstr "" - -#: ../gtk/gtkaction.c:366 -msgid "" -"Whether the action is considered important. When TRUE, toolitem proxies for " -"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." -msgstr "" - -#: ../gtk/gtkaction.c:374 -msgid "Hide if empty" -msgstr "قۇرۇق بولسا يوشۇر" - -#: ../gtk/gtkaction.c:375 -msgid "When TRUE, empty menu proxies for this action are hidden." -msgstr "" - -#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 -msgid "Sensitive" -msgstr "" - -#: ../gtk/gtkaction.c:382 -msgid "Whether the action is enabled." -msgstr "" - -#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 -#: ../gtk/gtkwidget.c:926 -msgid "Visible" -msgstr "كۆرۈنۈشچان" - -#: ../gtk/gtkaction.c:389 -msgid "Whether the action is visible." -msgstr "" - -#: ../gtk/gtkaction.c:395 -msgid "Action Group" -msgstr "مەشغۇلات گۇرۇپپىسى" - -#: ../gtk/gtkaction.c:396 -msgid "" -"The GtkActionGroup this GtkAction is associated with, or NULL (for internal " -"use)." -msgstr "" - -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 -msgid "Always show image" -msgstr "رەسىمنى ھەمىشە كۆرسەت" - -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 -msgid "Whether the image will always be shown" -msgstr "" - -#: ../gtk/gtkactiongroup.c:229 -msgid "A name for the action group." -msgstr "" - -#: ../gtk/gtkactiongroup.c:236 -msgid "Whether the action group is enabled." -msgstr "" - -#: ../gtk/gtkactiongroup.c:243 -msgid "Whether the action group is visible." -msgstr "" - -#: ../gtk/gtkactivatable.c:290 -msgid "Related Action" -msgstr "مۇناسىۋەتلىك مەشغۇلاتلار" - -#: ../gtk/gtkactivatable.c:291 -msgid "The action this activatable will activate and receive updates from" -msgstr "" - -#: ../gtk/gtkactivatable.c:313 -msgid "Use Action Appearance" -msgstr "" - -#: ../gtk/gtkactivatable.c:314 -msgid "Whether to use the related actions appearance properties" -msgstr "" - -#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 -msgid "Value" -msgstr "قىممىتى" - -#: ../gtk/gtkadjustment.c:115 -msgid "The value of the adjustment" -msgstr "" - -#: ../gtk/gtkadjustment.c:131 -msgid "Minimum Value" -msgstr "ئەڭ كىچىك قىممەت" - -#: ../gtk/gtkadjustment.c:132 -msgid "The minimum value of the adjustment" -msgstr "" - -#: ../gtk/gtkadjustment.c:151 -msgid "Maximum Value" -msgstr "ئەڭ چوڭ قىممەت" - -#: ../gtk/gtkadjustment.c:152 -msgid "The maximum value of the adjustment" -msgstr "" - -#: ../gtk/gtkadjustment.c:168 -msgid "Step Increment" -msgstr "" - -#: ../gtk/gtkadjustment.c:169 -msgid "The step increment of the adjustment" -msgstr "" - -#: ../gtk/gtkadjustment.c:185 -msgid "Page Increment" -msgstr "" - -#: ../gtk/gtkadjustment.c:186 -msgid "The page increment of the adjustment" -msgstr "" - -#: ../gtk/gtkadjustment.c:205 -msgid "Page Size" -msgstr "" - -#: ../gtk/gtkadjustment.c:206 -msgid "The page size of the adjustment" -msgstr "" - -#: ../gtk/gtkalignment.c:127 -msgid "Horizontal alignment" -msgstr "" - -#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 -msgid "" -"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " -"right aligned" -msgstr "" - -#: ../gtk/gtkalignment.c:137 -msgid "Vertical alignment" -msgstr "تىك توغرىلاش شەكلى" - -#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 -msgid "" -"Vertical position of child in available space. 0.0 is top aligned, 1.0 is " -"bottom aligned" -msgstr "" - -#: ../gtk/gtkalignment.c:146 -msgid "Horizontal scale" -msgstr "" - -#: ../gtk/gtkalignment.c:147 -msgid "" -"If available horizontal space is bigger than needed for the child, how much " -"of it to use for the child. 0.0 means none, 1.0 means all" -msgstr "" - -#: ../gtk/gtkalignment.c:155 -msgid "Vertical scale" -msgstr "" - -#: ../gtk/gtkalignment.c:156 -msgid "" -"If available vertical space is bigger than needed for the child, how much of " -"it to use for the child. 0.0 means none, 1.0 means all" -msgstr "" - -#: ../gtk/gtkalignment.c:173 -msgid "Top Padding" -msgstr "" - -#: ../gtk/gtkalignment.c:174 -msgid "The padding to insert at the top of the widget." -msgstr "" - -#: ../gtk/gtkalignment.c:190 -msgid "Bottom Padding" -msgstr "" - -#: ../gtk/gtkalignment.c:191 -msgid "The padding to insert at the bottom of the widget." -msgstr "" - -#: ../gtk/gtkalignment.c:207 -msgid "Left Padding" -msgstr "" - -#: ../gtk/gtkalignment.c:208 -msgid "The padding to insert at the left of the widget." -msgstr "" - -#: ../gtk/gtkalignment.c:224 -msgid "Right Padding" -msgstr "" - -#: ../gtk/gtkalignment.c:225 -msgid "The padding to insert at the right of the widget." -msgstr "" - -#: ../gtk/gtkarrow.c:110 -msgid "Arrow direction" -msgstr "" - -#: ../gtk/gtkarrow.c:111 -msgid "The direction the arrow should point" -msgstr "" - -#: ../gtk/gtkarrow.c:119 -msgid "Arrow shadow" -msgstr "" - -#: ../gtk/gtkarrow.c:120 -msgid "Appearance of the shadow surrounding the arrow" -msgstr "" - -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 -msgid "Arrow Scaling" -msgstr "" - -#: ../gtk/gtkarrow.c:128 -msgid "Amount of space used up by arrow" -msgstr "" - -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 -msgid "Horizontal Alignment" -msgstr "گورىزونتال جايلاشتۇرۇش" - -#: ../gtk/gtkaspectframe.c:110 -msgid "X alignment of the child" -msgstr "" - -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 -msgid "Vertical Alignment" -msgstr "" - -#: ../gtk/gtkaspectframe.c:117 -msgid "Y alignment of the child" -msgstr "" - -#: ../gtk/gtkaspectframe.c:123 -msgid "Ratio" -msgstr "نىسبىتى" - -#: ../gtk/gtkaspectframe.c:124 -msgid "Aspect ratio if obey_child is FALSE" -msgstr "" - -#: ../gtk/gtkaspectframe.c:130 -msgid "Obey child" -msgstr "" - -#: ../gtk/gtkaspectframe.c:131 -msgid "Force aspect ratio to match that of the frame's child" -msgstr "" - -#: ../gtk/gtkassistant.c:327 -msgid "Header Padding" -msgstr "" - -#: ../gtk/gtkassistant.c:328 -msgid "Number of pixels around the header." -msgstr "" - -#: ../gtk/gtkassistant.c:335 -msgid "Content Padding" -msgstr "" - -#: ../gtk/gtkassistant.c:336 -msgid "Number of pixels around the content pages." -msgstr "" - -#: ../gtk/gtkassistant.c:352 -msgid "Page type" -msgstr "" - -#: ../gtk/gtkassistant.c:353 -msgid "The type of the assistant page" -msgstr "" - -#: ../gtk/gtkassistant.c:370 -msgid "Page title" -msgstr "بەت تېمىسى" - -#: ../gtk/gtkassistant.c:371 -msgid "The title of the assistant page" -msgstr "" - -#: ../gtk/gtkassistant.c:387 -msgid "Header image" -msgstr "" - -#: ../gtk/gtkassistant.c:388 -msgid "Header image for the assistant page" -msgstr "" - -#: ../gtk/gtkassistant.c:404 -msgid "Sidebar image" -msgstr "" - -#: ../gtk/gtkassistant.c:405 -msgid "Sidebar image for the assistant page" -msgstr "" - -#: ../gtk/gtkassistant.c:420 -msgid "Page complete" -msgstr "" - -#: ../gtk/gtkassistant.c:421 -msgid "Whether all required fields on the page have been filled out" -msgstr "" - -#: ../gtk/gtkbbox.c:152 -msgid "Minimum child width" -msgstr "" - -#: ../gtk/gtkbbox.c:153 -msgid "Minimum width of buttons inside the box" -msgstr "" - -#: ../gtk/gtkbbox.c:161 -msgid "Minimum child height" -msgstr "" - -#: ../gtk/gtkbbox.c:162 -msgid "Minimum height of buttons inside the box" -msgstr "" - -#: ../gtk/gtkbbox.c:170 -msgid "Child internal width padding" -msgstr "" - -#: ../gtk/gtkbbox.c:171 -msgid "Amount to increase child's size on either side" -msgstr "" - -#: ../gtk/gtkbbox.c:179 -msgid "Child internal height padding" -msgstr "" - -#: ../gtk/gtkbbox.c:180 -msgid "Amount to increase child's size on the top and bottom" -msgstr "" - -#: ../gtk/gtkbbox.c:188 -msgid "Layout style" -msgstr "" - -#: ../gtk/gtkbbox.c:189 -msgid "" -"How to lay out the buttons in the box. Possible values are: spread, edge, " -"start and end" -msgstr "" - -#: ../gtk/gtkbbox.c:197 -msgid "Secondary" -msgstr "تەگ رەڭ" - -#: ../gtk/gtkbbox.c:198 -msgid "" -"If TRUE, the child appears in a secondary group of children, suitable for, e." -"g., help buttons" -msgstr "" - -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:267 -msgid "Spacing" -msgstr "بوشلۇق" - -#: ../gtk/gtkbox.c:242 -msgid "The amount of space between children" -msgstr "" - -#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 -#: ../gtk/gtktoolitemgroup.c:1641 -msgid "Homogeneous" -msgstr "均一" - -#: ../gtk/gtkbox.c:252 -msgid "Whether the children should all be the same size" -msgstr "" - -#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 -msgid "Expand" -msgstr "ياي" - -#: ../gtk/gtkbox.c:269 -msgid "Whether the child should receive extra space when the parent grows" -msgstr "" - -#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 -msgid "Fill" -msgstr "تولدۇر" - -#: ../gtk/gtkbox.c:282 -msgid "" -"Whether extra space given to the child should be allocated to the child or " -"used as padding" -msgstr "" - -#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 -msgid "Padding" -msgstr "Padding" - -#: ../gtk/gtkbox.c:290 -msgid "Extra space to put between the child and its neighbors, in pixels" -msgstr "" - -#: ../gtk/gtkbox.c:296 -msgid "Pack type" -msgstr "" - -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 -msgid "" -"A GtkPackType indicating whether the child is packed with reference to the " -"start or end of the parent" -msgstr "" - -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 -#: ../gtk/gtktoolitemgroup.c:1669 -msgid "Position" -msgstr "ئورنى" - -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 -msgid "The index of the child in the parent" -msgstr "" - -#: ../gtk/gtkbuilder.c:314 -msgid "Translation Domain" -msgstr "" - -#: ../gtk/gtkbuilder.c:315 -msgid "The translation domain used by gettext" -msgstr "" - -#: ../gtk/gtkbutton.c:227 -msgid "" -"Text of the label widget inside the button, if the button contains a label " -"widget" -msgstr "" - -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 -#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 -msgid "Use underline" -msgstr "ئاستىغا سىزىش" - -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 -#: ../gtk/gtkmenuitem.c:347 -msgid "" -"If set, an underline in the text indicates the next character should be used " -"for the mnemonic accelerator key" -msgstr "" - -#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 -msgid "Use stock" -msgstr "" - -#: ../gtk/gtkbutton.c:243 -msgid "" -"If set, the label is used to pick a stock item instead of being displayed" -msgstr "" - -#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 -#: ../gtk/gtkfilechooserbutton.c:383 -msgid "Focus on click" -msgstr "" - -#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 -msgid "Whether the button grabs focus when it is clicked with the mouse" -msgstr "" - -#: ../gtk/gtkbutton.c:258 -msgid "Border relief" -msgstr "" - -#: ../gtk/gtkbutton.c:259 -msgid "The border relief style" -msgstr "" - -#: ../gtk/gtkbutton.c:276 -msgid "Horizontal alignment for child" -msgstr "" - -#: ../gtk/gtkbutton.c:295 -msgid "Vertical alignment for child" -msgstr "" - -#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 -msgid "Image widget" -msgstr "" - -#: ../gtk/gtkbutton.c:313 -msgid "Child widget to appear next to the button text" -msgstr "" - -#: ../gtk/gtkbutton.c:327 -msgid "Image position" -msgstr "سۈرەت ئورنى" - -#: ../gtk/gtkbutton.c:328 -msgid "The position of the image relative to the text" -msgstr "" - -#: ../gtk/gtkbutton.c:448 -msgid "Default Spacing" -msgstr "" - -#: ../gtk/gtkbutton.c:449 -msgid "Extra space to add for GTK_CAN_DEFAULT buttons" -msgstr "GTK_CAN_DEFAULT توپچىسىغا قوشۇلىدىغان ئارتۇقچە بوشلۇق" - -#: ../gtk/gtkbutton.c:463 -msgid "Default Outside Spacing" -msgstr "" - -#: ../gtk/gtkbutton.c:464 -msgid "" -"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " -"the border" -msgstr "" - -#: ../gtk/gtkbutton.c:469 -msgid "Child X Displacement" -msgstr "" - -#: ../gtk/gtkbutton.c:470 -msgid "" -"How far in the x direction to move the child when the button is depressed" -msgstr "" - -#: ../gtk/gtkbutton.c:477 -msgid "Child Y Displacement" -msgstr "" - -#: ../gtk/gtkbutton.c:478 -msgid "" -"How far in the y direction to move the child when the button is depressed" -msgstr "" - -#: ../gtk/gtkbutton.c:494 -msgid "Displace focus" -msgstr "" - -#: ../gtk/gtkbutton.c:495 -msgid "" -"Whether the child_displacement_x/_y properties should also affect the focus " -"rectangle" -msgstr "" - -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 -msgid "Inner Border" -msgstr "ئىچكى گىرۋەك" - -#: ../gtk/gtkbutton.c:509 -msgid "Border between button edges and child." -msgstr "" - -#: ../gtk/gtkbutton.c:522 -msgid "Image spacing" -msgstr "" - -#: ../gtk/gtkbutton.c:523 -msgid "Spacing in pixels between the image and label" -msgstr "" - -#: ../gtk/gtkcalendar.c:479 -msgid "Year" -msgstr "يىل" - -#: ../gtk/gtkcalendar.c:480 -msgid "The selected year" -msgstr "" - -#: ../gtk/gtkcalendar.c:493 -msgid "Month" -msgstr "ئاي" - -#: ../gtk/gtkcalendar.c:494 -msgid "The selected month (as a number between 0 and 11)" -msgstr "" - -#: ../gtk/gtkcalendar.c:508 -msgid "Day" -msgstr "كۈن" - -#: ../gtk/gtkcalendar.c:509 -msgid "" -"The selected day (as a number between 1 and 31, or 0 to unselect the " -"currently selected day)" -msgstr "" - -#: ../gtk/gtkcalendar.c:523 -msgid "Show Heading" -msgstr "" - -#: ../gtk/gtkcalendar.c:524 -msgid "If TRUE, a heading is displayed" -msgstr "" - -#: ../gtk/gtkcalendar.c:538 -msgid "Show Day Names" -msgstr "" - -#: ../gtk/gtkcalendar.c:539 -msgid "If TRUE, day names are displayed" -msgstr "ئەگەر «TRUE» بولسا كۈن ناملىرى كۆرسىتىلىدۇ" - -#: ../gtk/gtkcalendar.c:552 -msgid "No Month Change" -msgstr "ئاي ئۆزگەرمىدى" - -#: ../gtk/gtkcalendar.c:553 -msgid "If TRUE, the selected month cannot be changed" -msgstr "ئەگەر «TRUE» بولسا، تاللانغان ئوينى ئۆزگەرتكىلى بولمايدۇ" - -#: ../gtk/gtkcalendar.c:567 -msgid "Show Week Numbers" -msgstr "" - -#: ../gtk/gtkcalendar.c:568 -msgid "If TRUE, week numbers are displayed" -msgstr "ئەگەر «TRUE» بولسا، ھەپتە نومۇرى كۆرسىتىلىدۇ." - -#: ../gtk/gtkcalendar.c:583 -msgid "Details Width" -msgstr "تەپسىلىي كەڭلىك" - -#: ../gtk/gtkcalendar.c:584 -msgid "Details width in characters" -msgstr "" - -#: ../gtk/gtkcalendar.c:599 -msgid "Details Height" -msgstr "تەپسىلىي ئېگىزلىك" - -#: ../gtk/gtkcalendar.c:600 -msgid "Details height in rows" -msgstr "" - -#: ../gtk/gtkcalendar.c:616 -msgid "Show Details" -msgstr "تەپسىلاتىنى كۆرسەت" - -#: ../gtk/gtkcalendar.c:617 -msgid "If TRUE, details are shown" -msgstr "ئەگەر «TRUE» بولسا تەپسىلاتى كۆرسىتىلىدۇ" - -#: ../gtk/gtkcalendar.c:629 -msgid "Inner border" -msgstr "ئىچكى گىرۋەك" - -#: ../gtk/gtkcalendar.c:630 -msgid "Inner border space" -msgstr "ئىچكى گىرۋەك بوشلۇقى" - -#: ../gtk/gtkcalendar.c:641 -msgid "Vertical separation" -msgstr "" - -#: ../gtk/gtkcalendar.c:642 -msgid "Space between day headers and main area" -msgstr "" - -#: ../gtk/gtkcalendar.c:653 -msgid "Horizontal separation" -msgstr "" - -#: ../gtk/gtkcalendar.c:654 -msgid "Space between week headers and main area" -msgstr "" - -#: ../gtk/gtkcelleditable.c:53 -msgid "Editing Canceled" -msgstr "تەھرىرلەش ئەمەلدىن قالدۇرۇلدى" - -#: ../gtk/gtkcelleditable.c:54 -msgid "Indicates that editing has been canceled" -msgstr "تەھرىرلەشنىڭ ئەمەلدىن قالدۇرۇلغانلىقىنى كۆرسىتىدۇ" - -#: ../gtk/gtkcellrendereraccel.c:138 -msgid "Accelerator key" -msgstr "تېزلەتكۈچ كۇنۇپكىسى" - -#: ../gtk/gtkcellrendereraccel.c:139 -msgid "The keyval of the accelerator" -msgstr "" - -#: ../gtk/gtkcellrendereraccel.c:155 -msgid "Accelerator modifiers" -msgstr "تېزلەتكۈچ ئۆزگەرتكۈچ" - -#: ../gtk/gtkcellrendereraccel.c:156 -msgid "The modifier mask of the accelerator" -msgstr "" - -#: ../gtk/gtkcellrendereraccel.c:173 -msgid "Accelerator keycode" -msgstr "تېزلەتكۈچ كۇنۇپكا نومۇرى" - -#: ../gtk/gtkcellrendereraccel.c:174 -msgid "The hardware keycode of the accelerator" -msgstr "" - -#: ../gtk/gtkcellrendereraccel.c:193 -msgid "Accelerator Mode" -msgstr "" - -#: ../gtk/gtkcellrendereraccel.c:194 -msgid "The type of accelerators" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:271 -msgid "mode" -msgstr "mode" - -#: ../gtk/gtkcellrenderer.c:272 -msgid "Editable mode of the CellRenderer" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:280 -msgid "visible" -msgstr "ئاشكارا" - -#: ../gtk/gtkcellrenderer.c:281 -msgid "Display the cell" -msgstr "كاتەكچىسىنى كۆرسىتىدۇ" - -#: ../gtk/gtkcellrenderer.c:288 -msgid "Display the cell sensitive" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:295 -msgid "xalign" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:296 -msgid "The x-align" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:305 -msgid "yalign" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:306 -msgid "The y-align" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:315 -msgid "xpad" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:316 -msgid "The xpad" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:325 -msgid "ypad" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:326 -msgid "The ypad" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:335 -msgid "width" -msgstr "width" - -#: ../gtk/gtkcellrenderer.c:336 -msgid "The fixed width" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:345 -msgid "height" -msgstr "height" - -#: ../gtk/gtkcellrenderer.c:346 -msgid "The fixed height" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:355 -msgid "Is Expander" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:356 -msgid "Row has children" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:364 -msgid "Is Expanded" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:365 -msgid "Row is an expander row, and is expanded" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:372 -msgid "Cell background color name" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:373 -msgid "Cell background color as a string" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:380 -msgid "Cell background color" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:381 -msgid "Cell background color as a GdkColor" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:394 -msgid "Cell background RGBA color" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:395 -msgid "Cell background color as a GdkRGBA" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:402 -msgid "Editing" -msgstr "تەھرىرلەۋاتىدۇ" - -#: ../gtk/gtkcellrenderer.c:403 -msgid "Whether the cell renderer is currently in editing mode" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:411 -msgid "Cell background set" -msgstr "" - -#: ../gtk/gtkcellrenderer.c:412 -msgid "Whether this tag affects the cell background color" -msgstr "" - -#: ../gtk/gtkcellrenderercombo.c:109 -msgid "Model" -msgstr "ئەندىزە" - -#: ../gtk/gtkcellrenderercombo.c:110 -msgid "The model containing the possible values for the combo box" -msgstr "" - -#: ../gtk/gtkcellrenderercombo.c:132 -msgid "Text Column" -msgstr "" - -#: ../gtk/gtkcellrenderercombo.c:133 -msgid "A column in the data source model to get the strings from" -msgstr "" - -#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 -msgid "Has Entry" -msgstr "" - -#: ../gtk/gtkcellrenderercombo.c:151 -msgid "If FALSE, don't allow to enter strings other than the chosen ones" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:120 -msgid "Pixbuf Object" -msgstr "Pixbuf نەڭى" - -#: ../gtk/gtkcellrendererpixbuf.c:121 -msgid "The pixbuf to render" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:128 -msgid "Pixbuf Expander Open" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:129 -msgid "Pixbuf for open expander" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:136 -msgid "Pixbuf Expander Closed" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:137 -msgid "Pixbuf for closed expander" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 -#: ../gtk/gtkstatusicon.c:228 -msgid "Stock ID" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:145 -msgid "The stock ID of the stock icon to render" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 -#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 -msgid "Size" -msgstr "چوڭلۇقى" - -#: ../gtk/gtkcellrendererpixbuf.c:153 -msgid "The GtkIconSize value that specifies the size of the rendered icon" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:162 -msgid "Detail" -msgstr "تەپسىلاتى" - -#: ../gtk/gtkcellrendererpixbuf.c:163 -msgid "Render detail to pass to the theme engine" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:196 -msgid "Follow State" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:197 -msgid "Whether the rendered pixbuf should be colorized according to the state" -msgstr "" - -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:709 -msgid "Icon" -msgstr "سىنبەلگە" - -#: ../gtk/gtkcellrendererprogress.c:127 -msgid "Value of the progress bar" -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 -#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 -#: ../gtk/gtktextbuffer.c:209 -msgid "Text" -msgstr "تېكىست" - -#: ../gtk/gtkcellrendererprogress.c:145 -msgid "Text on the progress bar" -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 -msgid "Pulse" -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:169 -msgid "" -"Set this to positive values to indicate that some progress is made, but you " -"don't know how much." -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:185 -msgid "Text x alignment" -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:186 -msgid "" -"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " -"layouts." -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:202 -msgid "Text y alignment" -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:203 -msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." -msgstr "" - -#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:439 -msgid "Inverted" -msgstr "تەتۈر" - -#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 -msgid "Invert the direction in which the progress bar grows" -msgstr "" - -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 -msgid "Adjustment" -msgstr "تەڭشەش" - -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 -msgid "The adjustment that holds the value of the spin button" -msgstr "" - -#: ../gtk/gtkcellrendererspin.c:107 -msgid "Climb rate" -msgstr "" - -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 -msgid "The acceleration rate when you hold down a button" -msgstr "" - -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 -#: ../gtk/gtkspinbutton.c:247 -msgid "Digits" -msgstr "رەقەملەر" - -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 -msgid "The number of decimal places to display" -msgstr "" - -#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 -#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 -#: ../gtk/gtktoggletoolbutton.c:112 -msgid "Active" -msgstr "ئاكتىپ" - -#: ../gtk/gtkcellrendererspinner.c:120 -msgid "Whether the spinner is active (ie. shown) in the cell" -msgstr "" - -#: ../gtk/gtkcellrendererspinner.c:140 -msgid "Pulse of the spinner" -msgstr "" - -#: ../gtk/gtkcellrendererspinner.c:154 -msgid "The GtkIconSize value that specifies the size of the rendered spinner" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:256 -msgid "Text to render" -msgstr "سىزىدىغان تېكىست" - -#: ../gtk/gtkcellrenderertext.c:263 -msgid "Markup" -msgstr "بەلگە" - -#: ../gtk/gtkcellrenderertext.c:264 -msgid "Marked up text to render" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 -msgid "Attributes" -msgstr "خاسلىق" - -#: ../gtk/gtkcellrenderertext.c:272 -msgid "A list of style attributes to apply to the text of the renderer" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:279 -msgid "Single Paragraph Mode" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:280 -msgid "Whether to keep all text in a single paragraph" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 -#: ../gtk/gtktexttag.c:178 -msgid "Background color name" -msgstr "تەگلىك رەڭگىنىڭ ئاتى" - -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 -#: ../gtk/gtktexttag.c:179 -msgid "Background color as a string" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 -#: ../gtk/gtktexttag.c:186 -msgid "Background color" -msgstr "تەگلىك رەڭگى" - -#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 -msgid "Background color as a GdkColor" -msgstr "تەگ رەڭگىنى GdkColor بىلەن ئىپادىلەش" - -#: ../gtk/gtkcellrenderertext.c:311 -msgid "Background color as RGBA" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 -msgid "Background color as a GdkRGBA" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 -msgid "Foreground color name" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 -msgid "Foreground color as a string" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 -#: ../gtk/gtktrayicon-x11.c:133 -msgid "Foreground color" -msgstr "ئالدى كۆرۈنۈش رەڭگى" - -#: ../gtk/gtkcellrenderertext.c:327 -msgid "Foreground color as a GdkColor" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:341 -msgid "Foreground color as RGBA" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:342 -msgid "Foreground color as a GdkRGBA" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 -msgid "Editable" -msgstr "تەھرىرچان" - -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:685 -msgid "Whether the text can be modified by the user" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 -#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 -msgid "Font" -msgstr "خەت نۇسخا" - -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 -msgid "Font description as a string, e.g. \"Sans Italic 12\"" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 -msgid "Font description as a PangoFontDescription struct" -msgstr "خەت نۇسخىسىنىڭ PangoFontDescription struct چە چۈشەندۈرۈلۈشى" - -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 -msgid "Font family" -msgstr "خەت نۇسخىسى ئاتى" - -#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 -msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" -msgstr "خەت نۇسخىسى ئاتى مەسىلەن: Sans, Helvetica, Times, Monospace" - -#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 -#: ../gtk/gtktexttag.c:267 -msgid "Font style" -msgstr "خەت نۇسخا ئۇسلۇبى" - -#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 -#: ../gtk/gtktexttag.c:276 -msgid "Font variant" -msgstr "خەت نۇسخىسىنىڭ باشقا ئاتى" - -#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 -#: ../gtk/gtktexttag.c:285 -msgid "Font weight" -msgstr "خەت نۇسخىسى توملۇقى" - -#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 -#: ../gtk/gtktexttag.c:296 -msgid "Font stretch" -msgstr "خەت نۇسخىسىنى سوزۇش" - -#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 -#: ../gtk/gtktexttag.c:305 -msgid "Font size" -msgstr "خەت چوڭلۇقى" - -#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 -msgid "Font points" -msgstr "خەت نۇسخىسى نۇقتىسى" - -#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 -msgid "Font size in points" -msgstr "خەت نۇسخىسى نۇقتا بىلەن ئىپادىلەنگەن چوڭلۇقى" - -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 -msgid "Font scale" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:441 -msgid "Font scaling factor" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 -msgid "Rise" -msgstr "كۈن چىقىش" - -#: ../gtk/gtkcellrenderertext.c:451 -msgid "" -"Offset of text above the baseline (below the baseline if rise is negative)" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 -msgid "Strikethrough" -msgstr "ئۆچۈرۈش سىزىقى" - -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 -msgid "Whether to strike through the text" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 -msgid "Underline" -msgstr "ئاستى سىزىق" - -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 -msgid "Style of underline for this text" -msgstr "تېكىستنىڭ ئاستى سىزىق ئۇسلۇبى" - -#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 -msgid "Language" -msgstr "تىل" - -#: ../gtk/gtkcellrenderertext.c:480 -msgid "" -"The language this text is in, as an ISO code. Pango can use this as a hint " -"when rendering the text. If you don't understand this parameter, you " -"probably don't need it" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 -#: ../gtk/gtkprogressbar.c:207 -msgid "Ellipsize" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:501 -msgid "" -"The preferred place to ellipsize the string, if the cell renderer does not " -"have enough room to display the entire string" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:719 -msgid "Width In Characters" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 -msgid "The desired width of the label, in characters" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 -msgid "Maximum Width In Characters" -msgstr "ئەڭ چوڭ كەڭلىكى(ھەرپ)" - -#: ../gtk/gtkcellrenderertext.c:546 -msgid "The maximum width of the cell, in characters" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 -msgid "Wrap mode" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:565 -msgid "" -"How to break the string into multiple lines, if the cell renderer does not " -"have enough room to display the entire string" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 -msgid "Wrap width" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:585 -msgid "The width at which the text is wrapped" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 -msgid "Alignment" -msgstr "توغرىلا" - -#: ../gtk/gtkcellrenderertext.c:606 -msgid "How to align the lines" -msgstr "قۇرلارنى قانداق جايلاشتۇرىدۇ" - -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 -#: ../gtk/gtktexttag.c:540 -msgid "Background set" -msgstr "تەگلىك تەڭشىكى" - -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 -#: ../gtk/gtktexttag.c:541 -msgid "Whether this tag affects the background color" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 -msgid "Foreground set" -msgstr "ئالدى كۆرۈنۈش تەڭشىكى" - -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 -msgid "Whether this tag affects the foreground color" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 -msgid "Editability set" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 -msgid "Whether this tag affects text editability" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 -msgid "Font family set" -msgstr "خەت نۇسخىسى ئاتىنى بەلگىلەش" - -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 -msgid "Whether this tag affects the font family" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 -msgid "Font style set" -msgstr "خەت نۇسخىسى ئۇسلۇبى" - -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 -msgid "Whether this tag affects the font style" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 -msgid "Font variant set" -msgstr "خەت نۇسخىسى باشقا ئاتىنى بەلگىلەش" - -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 -msgid "Whether this tag affects the font variant" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 -msgid "Font weight set" -msgstr "خەت نۇسخىسى توملۇقىنى بەلگىلەش" - -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 -msgid "Whether this tag affects the font weight" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 -msgid "Font stretch set" -msgstr "خەت نۇسخىسىنى سوزۇشنى بەلگىلەش" - -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 -msgid "Whether this tag affects the font stretch" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 -msgid "Font size set" -msgstr "خەت نۇسخىسى چوڭلۇقىنى بەلگىلەش" - -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 -msgid "Whether this tag affects the font size" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 -msgid "Font scale set" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 -msgid "Whether this tag scales the font size by a factor" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 -msgid "Rise set" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 -msgid "Whether this tag affects the rise" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 -msgid "Strikethrough set" -msgstr "ئۆچۈرۈش سىزىقىنى تەڭشىكى" - -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 -msgid "Whether this tag affects strikethrough" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 -msgid "Underline set" -msgstr "ئاستى سىزىق تەڭشىكى" - -#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 -msgid "Whether this tag affects underlining" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 -msgid "Language set" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 -msgid "Whether this tag affects the language the text is rendered as" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:674 -msgid "Ellipsize set" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:675 -msgid "Whether this tag affects the ellipsize mode" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:678 -msgid "Align set" -msgstr "" - -#: ../gtk/gtkcellrenderertext.c:679 -msgid "Whether this tag affects the alignment mode" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:128 -msgid "Toggle state" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:129 -msgid "The toggle state of the button" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:136 -msgid "Inconsistent state" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:137 -msgid "The inconsistent state of the button" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:144 -msgid "Activatable" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:145 -msgid "The toggle button can be activated" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:152 -msgid "Radio state" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:153 -msgid "Draw the toggle button as a radio button" -msgstr "" - -#: ../gtk/gtkcellrenderertoggle.c:160 -msgid "Indicator size" -msgstr "كۆرسەتكۈچ چوڭلۇقى" - -#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 -#: ../gtk/gtkcheckmenuitem.c:129 -msgid "Size of check or radio indicator" -msgstr "" - -#: ../gtk/gtkcellview.c:213 -msgid "Background RGBA color" -msgstr "تەگلىكنىڭ RGBA رەڭگى" - -#: ../gtk/gtkcellview.c:228 -msgid "CellView model" -msgstr "" - -#: ../gtk/gtkcellview.c:229 -msgid "The model for cell view" -msgstr "" - -#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 -msgid "Indicator Size" -msgstr "كۆرسەتكۈچ چوڭلۇقى" - -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 -msgid "Indicator Spacing" -msgstr "" - -#: ../gtk/gtkcheckbutton.c:86 -msgid "Spacing around check or radio indicator" -msgstr "" - -#: ../gtk/gtkcheckmenuitem.c:106 -msgid "Whether the menu item is checked" -msgstr "" - -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 -msgid "Inconsistent" -msgstr "" - -#: ../gtk/gtkcheckmenuitem.c:114 -msgid "Whether to display an \"inconsistent\" state" -msgstr "" - -#: ../gtk/gtkcheckmenuitem.c:121 -msgid "Draw as radio menu item" -msgstr "" - -#: ../gtk/gtkcheckmenuitem.c:122 -msgid "Whether the menu item looks like a radio menu item" -msgstr "" - -#: ../gtk/gtkcolorbutton.c:171 -msgid "Use alpha" -msgstr "" - -#: ../gtk/gtkcolorbutton.c:172 -msgid "Whether to give the color an alpha value" -msgstr "" - -#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 -msgid "Title" -msgstr "ماۋزۇ" - -#: ../gtk/gtkcolorbutton.c:187 -msgid "The title of the color selection dialog" -msgstr "رەڭ تاللاش سۆزلەشكۈسىنىڭ ماۋزۇسى" - -#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 -msgid "Current Color" -msgstr "ھازىرقى رەڭ" - -#: ../gtk/gtkcolorbutton.c:202 -msgid "The selected color" -msgstr "تاللانغان رەڭ" - -#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 -msgid "Current Alpha" -msgstr "ھازىرقى ئالفا" - -#: ../gtk/gtkcolorbutton.c:217 -msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" -msgstr "" - -#: ../gtk/gtkcolorbutton.c:231 -msgid "Current RGBA Color" -msgstr "ھازىرقى RGBA رېڭى" - -#: ../gtk/gtkcolorbutton.c:232 -msgid "The selected RGBA color" -msgstr "" - -#: ../gtk/gtkcolorsel.c:324 -msgid "Has Opacity Control" -msgstr "" - -#: ../gtk/gtkcolorsel.c:325 -msgid "Whether the color selector should allow setting opacity" -msgstr "" - -#: ../gtk/gtkcolorsel.c:331 -msgid "Has palette" -msgstr "" - -#: ../gtk/gtkcolorsel.c:332 -msgid "Whether a palette should be used" -msgstr "" - -#: ../gtk/gtkcolorsel.c:339 -msgid "The current color" -msgstr "" - -#: ../gtk/gtkcolorsel.c:346 -msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" -msgstr "" - -#: ../gtk/gtkcolorsel.c:360 -msgid "Current RGBA" -msgstr "ھازىرقى RGBA" - -#: ../gtk/gtkcolorsel.c:361 -msgid "The current RGBA color" -msgstr "" - -#: ../gtk/gtkcolorseldialog.c:110 -msgid "Color Selection" -msgstr "رەڭ تاللاش" - -#: ../gtk/gtkcolorseldialog.c:111 -msgid "The color selection embedded in the dialog." -msgstr "" - -#: ../gtk/gtkcolorseldialog.c:117 -msgid "OK Button" -msgstr "OK توپچىسى" - -#: ../gtk/gtkcolorseldialog.c:118 -msgid "The OK button of the dialog." -msgstr "" - -#: ../gtk/gtkcolorseldialog.c:124 -msgid "Cancel Button" -msgstr "ۋاز كەچ توپچىسى" - -#: ../gtk/gtkcolorseldialog.c:125 -msgid "The cancel button of the dialog." -msgstr "" - -#: ../gtk/gtkcolorseldialog.c:131 -msgid "Help Button" -msgstr "ياردەم توپچىسى" - -#: ../gtk/gtkcolorseldialog.c:132 -msgid "The help button of the dialog." -msgstr "" - -#: ../gtk/gtkcombobox.c:737 -msgid "ComboBox model" -msgstr "" - -#: ../gtk/gtkcombobox.c:738 -msgid "The model for the combo box" -msgstr "" - -#: ../gtk/gtkcombobox.c:755 -msgid "Wrap width for laying out the items in a grid" -msgstr "" - -#: ../gtk/gtkcombobox.c:777 -msgid "Row span column" -msgstr "" - -#: ../gtk/gtkcombobox.c:778 -msgid "TreeModel column containing the row span values" -msgstr "" - -#: ../gtk/gtkcombobox.c:799 -msgid "Column span column" -msgstr "" - -#: ../gtk/gtkcombobox.c:800 -msgid "TreeModel column containing the column span values" -msgstr "" - -#: ../gtk/gtkcombobox.c:821 -msgid "Active item" -msgstr "ئاكتىپ تۈر" - -#: ../gtk/gtkcombobox.c:822 -msgid "The item which is currently active" -msgstr "" - -#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 -msgid "Add tearoffs to menus" -msgstr "" - -#: ../gtk/gtkcombobox.c:842 -msgid "Whether dropdowns should have a tearoff menu item" -msgstr "" - -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 -msgid "Has Frame" -msgstr "" - -#: ../gtk/gtkcombobox.c:858 -msgid "Whether the combo box draws a frame around the child" -msgstr "" - -#: ../gtk/gtkcombobox.c:866 -msgid "Whether the combo box grabs focus when it is clicked with the mouse" -msgstr "" - -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 -msgid "Tearoff Title" -msgstr "" - -#: ../gtk/gtkcombobox.c:882 -msgid "" -"A title that may be displayed by the window manager when the popup is torn-" -"off" -msgstr "" - -#: ../gtk/gtkcombobox.c:899 -msgid "Popup shown" -msgstr "" - -#: ../gtk/gtkcombobox.c:900 -msgid "Whether the combo's dropdown is shown" -msgstr "" - -#: ../gtk/gtkcombobox.c:916 -msgid "Button Sensitivity" -msgstr "" - -#: ../gtk/gtkcombobox.c:917 -msgid "Whether the dropdown button is sensitive when the model is empty" -msgstr "" - -#: ../gtk/gtkcombobox.c:933 -msgid "Whether combo box has an entry" -msgstr "" - -#: ../gtk/gtkcombobox.c:948 -msgid "Entry Text Column" -msgstr "" - -#: ../gtk/gtkcombobox.c:949 -msgid "" -"The column in the combo box's model to associate with strings from the entry " -"if the combo was created with #GtkComboBox:has-entry = %TRUE" -msgstr "" - -#: ../gtk/gtkcombobox.c:966 -msgid "ID Column" -msgstr "" - -#: ../gtk/gtkcombobox.c:967 -msgid "" -"The column in the combo box's model that provides string IDs for the values " -"in the model" -msgstr "" - -#: ../gtk/gtkcombobox.c:982 -msgid "Active id" -msgstr "" - -#: ../gtk/gtkcombobox.c:983 -msgid "The value of the id column for the active row" -msgstr "" - -#: ../gtk/gtkcombobox.c:998 -msgid "Popup Fixed Width" -msgstr "" - -#: ../gtk/gtkcombobox.c:999 -msgid "" -"Whether the popup's width should be a fixed width matching the allocated " -"width of the combo box" -msgstr "" - -#: ../gtk/gtkcombobox.c:1007 -msgid "Appears as list" -msgstr "" - -#: ../gtk/gtkcombobox.c:1008 -msgid "Whether dropdowns should look like lists rather than menus" -msgstr "" - -#: ../gtk/gtkcombobox.c:1024 -msgid "Arrow Size" -msgstr "" - -#: ../gtk/gtkcombobox.c:1025 -msgid "The minimum size of the arrow in the combo box" -msgstr "" - -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 -#: ../gtk/gtkviewport.c:154 -msgid "Shadow type" -msgstr "" - -#: ../gtk/gtkcombobox.c:1041 -msgid "Which kind of shadow to draw around the combo box" -msgstr "" - -#: ../gtk/gtkcontainer.c:451 -msgid "Resize mode" -msgstr "" - -#: ../gtk/gtkcontainer.c:452 -msgid "Specify how resize events are handled" -msgstr "" - -#: ../gtk/gtkcontainer.c:459 -msgid "Border width" -msgstr "يان رامكا كەڭلىكى" - -#: ../gtk/gtkcontainer.c:460 -msgid "The width of the empty border outside the containers children" -msgstr "" - -#: ../gtk/gtkcontainer.c:468 -msgid "Child" -msgstr "" - -#: ../gtk/gtkcontainer.c:469 -msgid "Can be used to add a new child to the container" -msgstr "" - -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 -msgid "Content area border" -msgstr "" - -#: ../gtk/gtkdialog.c:166 -msgid "Width of border around the main dialog area" -msgstr "" - -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 -msgid "Content area spacing" -msgstr "" - -#: ../gtk/gtkdialog.c:184 -msgid "Spacing between elements of the main dialog area" -msgstr "" - -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 -msgid "Button spacing" -msgstr "" - -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 -msgid "Spacing between buttons" -msgstr "" - -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 -msgid "Action area border" -msgstr "" - -#: ../gtk/gtkdialog.c:201 -msgid "Width of border around the button area at the bottom of the dialog" -msgstr "" - -#: ../gtk/gtkentry.c:726 -msgid "Text Buffer" -msgstr "تېكىست يىغلەكى" - -#: ../gtk/gtkentry.c:727 -msgid "Text buffer object which actually stores entry text" -msgstr "" - -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 -msgid "Cursor Position" -msgstr "نۇر بەلگە ئورنى" - -#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 -msgid "The current position of the insertion cursor in chars" -msgstr "" - -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 -msgid "Selection Bound" -msgstr "تاللاش دائىرىسى" - -#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 -msgid "" -"The position of the opposite end of the selection from the cursor in chars" -msgstr "" - -#: ../gtk/gtkentry.c:755 -msgid "Whether the entry contents can be edited" -msgstr "" - -#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 -msgid "Maximum length" -msgstr "ئەڭ چوڭ ئۇزۇنلۇقى" - -#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 -msgid "Maximum number of characters for this entry. Zero if no maximum" -msgstr "" - -#: ../gtk/gtkentry.c:771 -msgid "Visibility" -msgstr "كۆرۈشچانلىقى" - -#: ../gtk/gtkentry.c:772 -msgid "" -"FALSE displays the \"invisible char\" instead of the actual text (password " -"mode)" -msgstr "" - -#: ../gtk/gtkentry.c:780 -msgid "FALSE removes outside bevel from entry" -msgstr "" - -#: ../gtk/gtkentry.c:788 -msgid "" -"Border between text and frame. Overrides the inner-border style property" -msgstr "" - -#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 -msgid "Invisible character" -msgstr "كۆرۈنمەيدىغان ھەرپ" - -#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 -msgid "The character to use when masking entry contents (in \"password mode\")" -msgstr "" - -#: ../gtk/gtkentry.c:803 -msgid "Activates default" -msgstr "" - -#: ../gtk/gtkentry.c:804 -msgid "" -"Whether to activate the default widget (such as the default button in a " -"dialog) when Enter is pressed" -msgstr "" - -#: ../gtk/gtkentry.c:810 -msgid "Width in chars" -msgstr "" - -#: ../gtk/gtkentry.c:811 -msgid "Number of characters to leave space for in the entry" -msgstr "" - -#: ../gtk/gtkentry.c:820 -msgid "Scroll offset" -msgstr "" - -#: ../gtk/gtkentry.c:821 -msgid "Number of pixels of the entry scrolled off the screen to the left" -msgstr "" - -#: ../gtk/gtkentry.c:831 -msgid "The contents of the entry" -msgstr "" - -#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 -msgid "X align" -msgstr "" - -#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 -msgid "" -"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " -"layouts." -msgstr "" - -#: ../gtk/gtkentry.c:863 -msgid "Truncate multiline" -msgstr "" - -#: ../gtk/gtkentry.c:864 -msgid "Whether to truncate multiline pastes to one line." -msgstr "" - -#: ../gtk/gtkentry.c:880 -msgid "Which kind of shadow to draw around the entry when has-frame is set" -msgstr "" - -#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 -msgid "Overwrite mode" -msgstr "قاپلاش مودېلى" - -#: ../gtk/gtkentry.c:896 -msgid "Whether new text overwrites existing text" -msgstr "" - -#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 -msgid "Text length" -msgstr "تېكىست ئۇزۇنلۇقى" - -#: ../gtk/gtkentry.c:911 -msgid "Length of the text currently in the entry" -msgstr "" - -#: ../gtk/gtkentry.c:926 -msgid "Invisible character set" -msgstr "كۆرۈنمەيدىغان ھەرپ توپلىمى" - -#: ../gtk/gtkentry.c:927 -msgid "Whether the invisible character has been set" -msgstr "" - -#: ../gtk/gtkentry.c:945 -msgid "Caps Lock warning" -msgstr "" - -#: ../gtk/gtkentry.c:946 -msgid "Whether password entries will show a warning when Caps Lock is on" -msgstr "" - -#: ../gtk/gtkentry.c:960 -msgid "Progress Fraction" -msgstr "" - -#: ../gtk/gtkentry.c:961 -msgid "The current fraction of the task that's been completed" -msgstr "" - -#: ../gtk/gtkentry.c:978 -msgid "Progress Pulse Step" -msgstr "" - -#: ../gtk/gtkentry.c:979 -msgid "" -"The fraction of total entry width to move the progress bouncing block for " -"each call to gtk_entry_progress_pulse()" -msgstr "" - -#: ../gtk/gtkentry.c:995 -msgid "Primary pixbuf" -msgstr "" - -#: ../gtk/gtkentry.c:996 -msgid "Primary pixbuf for the entry" -msgstr "" - -#: ../gtk/gtkentry.c:1010 -msgid "Secondary pixbuf" -msgstr "" - -#: ../gtk/gtkentry.c:1011 -msgid "Secondary pixbuf for the entry" -msgstr "" - -#: ../gtk/gtkentry.c:1025 -msgid "Primary stock ID" -msgstr "" - -#: ../gtk/gtkentry.c:1026 -msgid "Stock ID for primary icon" -msgstr "" - -#: ../gtk/gtkentry.c:1040 -msgid "Secondary stock ID" -msgstr "" - -#: ../gtk/gtkentry.c:1041 -msgid "Stock ID for secondary icon" -msgstr "" - -#: ../gtk/gtkentry.c:1055 -msgid "Primary icon name" -msgstr "" - -#: ../gtk/gtkentry.c:1056 -msgid "Icon name for primary icon" -msgstr "بىرىنچى سىنبەلگىنىڭ سىنبەلگە ئاتى" - -#: ../gtk/gtkentry.c:1070 -msgid "Secondary icon name" -msgstr "" - -#: ../gtk/gtkentry.c:1071 -msgid "Icon name for secondary icon" -msgstr "ئىككىنچى سىنبەلگىنىڭ سىنبەلگە ئاتى" - -#: ../gtk/gtkentry.c:1085 -msgid "Primary GIcon" -msgstr "" - -#: ../gtk/gtkentry.c:1086 -msgid "GIcon for primary icon" -msgstr "دەسلەپكى سىنبەلگىنىڭ GIcon ئى" - -#: ../gtk/gtkentry.c:1100 -msgid "Secondary GIcon" -msgstr "" - -#: ../gtk/gtkentry.c:1101 -msgid "GIcon for secondary icon" -msgstr "ئىككىنچى سىنبەلگىنىڭ GIcon ئى" - -#: ../gtk/gtkentry.c:1115 -msgid "Primary storage type" -msgstr "" - -#: ../gtk/gtkentry.c:1116 -msgid "The representation being used for primary icon" -msgstr "" - -#: ../gtk/gtkentry.c:1131 -msgid "Secondary storage type" -msgstr "" - -#: ../gtk/gtkentry.c:1132 -msgid "The representation being used for secondary icon" -msgstr "" - -#: ../gtk/gtkentry.c:1153 -msgid "Primary icon activatable" -msgstr "" - -#: ../gtk/gtkentry.c:1154 -msgid "Whether the primary icon is activatable" -msgstr "" - -#: ../gtk/gtkentry.c:1174 -msgid "Secondary icon activatable" -msgstr "" - -#: ../gtk/gtkentry.c:1175 -msgid "Whether the secondary icon is activatable" -msgstr "" - -#: ../gtk/gtkentry.c:1197 -msgid "Primary icon sensitive" -msgstr "" - -#: ../gtk/gtkentry.c:1198 -msgid "Whether the primary icon is sensitive" -msgstr "" - -#: ../gtk/gtkentry.c:1219 -msgid "Secondary icon sensitive" -msgstr "" - -#: ../gtk/gtkentry.c:1220 -msgid "Whether the secondary icon is sensitive" -msgstr "" - -#: ../gtk/gtkentry.c:1236 -msgid "Primary icon tooltip text" -msgstr "" - -#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 -msgid "The contents of the tooltip on the primary icon" -msgstr "" - -#: ../gtk/gtkentry.c:1253 -msgid "Secondary icon tooltip text" -msgstr "" - -#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 -msgid "The contents of the tooltip on the secondary icon" -msgstr "" - -#: ../gtk/gtkentry.c:1272 -msgid "Primary icon tooltip markup" -msgstr "" - -#: ../gtk/gtkentry.c:1291 -msgid "Secondary icon tooltip markup" -msgstr "" - -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 -msgid "IM module" -msgstr "" - -#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 -msgid "Which IM module should be used" -msgstr "" - -#: ../gtk/gtkentry.c:1326 -msgid "Icon Prelight" -msgstr "" - -#: ../gtk/gtkentry.c:1327 -msgid "Whether activatable icons should prelight when hovered" -msgstr "" - -#: ../gtk/gtkentry.c:1340 -msgid "Progress Border" -msgstr "" - -#: ../gtk/gtkentry.c:1341 -msgid "Border around the progress bar" -msgstr "" - -#: ../gtk/gtkentry.c:1833 -msgid "Border between text and frame." -msgstr "" - -#: ../gtk/gtkentrybuffer.c:353 -msgid "The contents of the buffer" -msgstr "" - -#: ../gtk/gtkentrybuffer.c:368 -msgid "Length of the text currently in the buffer" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:267 -msgid "Completion Model" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:268 -msgid "The model to find matches in" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:274 -msgid "Minimum Key Length" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:275 -msgid "Minimum length of the search key in order to look up matches" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 -msgid "Text column" -msgstr "تېكىست ئىستونى" - -#: ../gtk/gtkentrycompletion.c:292 -msgid "The column of the model containing the strings." -msgstr "" - -#: ../gtk/gtkentrycompletion.c:311 -msgid "Inline completion" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:312 -msgid "Whether the common prefix should be inserted automatically" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:326 -msgid "Popup completion" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:327 -msgid "Whether the completions should be shown in a popup window" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:342 -msgid "Popup set width" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:343 -msgid "If TRUE, the popup window will have the same size as the entry" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:361 -msgid "Popup single match" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:362 -msgid "If TRUE, the popup window will appear for a single match." -msgstr "" - -#: ../gtk/gtkentrycompletion.c:376 -msgid "Inline selection" -msgstr "ئىچكى تاللاش" - -#: ../gtk/gtkentrycompletion.c:377 -msgid "Your description here" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 -msgid "Cell Area" -msgstr "" - -#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 -msgid "The GtkCellArea used to layout cells" -msgstr "" - -#: ../gtk/gtkeventbox.c:101 -msgid "Visible Window" -msgstr "" - -#: ../gtk/gtkeventbox.c:102 -msgid "" -"Whether the event box is visible, as opposed to invisible and only used to " -"trap events." -msgstr "" - -#: ../gtk/gtkeventbox.c:108 -msgid "Above child" -msgstr "" - -#: ../gtk/gtkeventbox.c:109 -msgid "" -"Whether the event-trapping window of the eventbox is above the window of the " -"child widget as opposed to below it." -msgstr "" - -#: ../gtk/gtkexpander.c:199 -msgid "Expanded" -msgstr "كېڭەيتىلگەن" - -#: ../gtk/gtkexpander.c:200 -msgid "Whether the expander has been opened to reveal the child widget" -msgstr "" - -#: ../gtk/gtkexpander.c:208 -msgid "Text of the expander's label" -msgstr "" - -#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 -msgid "Use markup" -msgstr "" - -#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 -msgid "The text of the label includes XML markup. See pango_parse_markup()" -msgstr "" - -#: ../gtk/gtkexpander.c:232 -msgid "Space to put between the label and the child" -msgstr "" - -#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 -#: ../gtk/gtktoolitemgroup.c:1595 -msgid "Label widget" -msgstr "" - -#: ../gtk/gtkexpander.c:242 -msgid "A widget to display in place of the usual expander label" -msgstr "" - -#: ../gtk/gtkexpander.c:249 -msgid "Label fill" -msgstr "" - -#: ../gtk/gtkexpander.c:250 -msgid "Whether the label widget should fill all available horizontal space" -msgstr "" - -#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:1190 -msgid "Expander Size" -msgstr "" - -#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:1191 -msgid "Size of the expander arrow" -msgstr "" - -#: ../gtk/gtkexpander.c:266 -msgid "Spacing around expander arrow" -msgstr "" - -#: ../gtk/gtkfilechooserbutton.c:366 -msgid "Dialog" -msgstr "سۆزلىشىش رامكىسى" - -#: ../gtk/gtkfilechooserbutton.c:367 -msgid "The file chooser dialog to use." -msgstr "" - -#: ../gtk/gtkfilechooserbutton.c:398 -msgid "The title of the file chooser dialog." -msgstr "" - -#: ../gtk/gtkfilechooserbutton.c:412 -msgid "The desired width of the button widget, in characters." -msgstr "" - -#: ../gtk/gtkfilechooser.c:740 -msgid "Action" -msgstr "مەشغۇلات" - -#: ../gtk/gtkfilechooser.c:741 -msgid "The type of operation that the file selector is performing" -msgstr "" - -#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 -msgid "Filter" -msgstr "سۈزگۈچ" - -#: ../gtk/gtkfilechooser.c:748 -msgid "The current filter for selecting which files are displayed" -msgstr "" - -#: ../gtk/gtkfilechooser.c:753 -msgid "Local Only" -msgstr "يەرلىكلا" - -#: ../gtk/gtkfilechooser.c:754 -msgid "Whether the selected file(s) should be limited to local file: URLs" -msgstr "" - -#: ../gtk/gtkfilechooser.c:759 -msgid "Preview widget" -msgstr "" - -#: ../gtk/gtkfilechooser.c:760 -msgid "Application supplied widget for custom previews." -msgstr "" - -#: ../gtk/gtkfilechooser.c:765 -msgid "Preview Widget Active" -msgstr "" - -#: ../gtk/gtkfilechooser.c:766 -msgid "" -"Whether the application supplied widget for custom previews should be shown." -msgstr "" - -#: ../gtk/gtkfilechooser.c:771 -msgid "Use Preview Label" -msgstr "" - -#: ../gtk/gtkfilechooser.c:772 -msgid "Whether to display a stock label with the name of the previewed file." -msgstr "" - -#: ../gtk/gtkfilechooser.c:777 -msgid "Extra widget" -msgstr "" - -#: ../gtk/gtkfilechooser.c:778 -msgid "Application supplied widget for extra options." -msgstr "" - -#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 -msgid "Select Multiple" -msgstr "كۆپ تاللاش" - -#: ../gtk/gtkfilechooser.c:784 -msgid "Whether to allow multiple files to be selected" -msgstr "" - -#: ../gtk/gtkfilechooser.c:790 -msgid "Show Hidden" -msgstr "" - -#: ../gtk/gtkfilechooser.c:791 -msgid "Whether the hidden files and folders should be displayed" -msgstr "" - -#: ../gtk/gtkfilechooser.c:806 -msgid "Do overwrite confirmation" -msgstr "" - -#: ../gtk/gtkfilechooser.c:807 -msgid "" -"Whether a file chooser in save mode will present an overwrite confirmation " -"dialog if necessary." -msgstr "" - -#: ../gtk/gtkfilechooser.c:823 -msgid "Allow folder creation" -msgstr "" - -#: ../gtk/gtkfilechooser.c:824 -msgid "" -"Whether a file chooser not in open mode will offer the user to create new " -"folders." -msgstr "" - -#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 -msgid "X position" -msgstr "" - -#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 -msgid "X position of child widget" -msgstr "" - -#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 -msgid "Y position" -msgstr "" - -#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 -msgid "Y position of child widget" -msgstr "" - -#: ../gtk/gtkfontbutton.c:141 -msgid "The title of the font selection dialog" -msgstr "" - -#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 -msgid "Font name" -msgstr "خەت نۇسخا ئاتى" - -#: ../gtk/gtkfontbutton.c:157 -msgid "The name of the selected font" -msgstr "" - -#: ../gtk/gtkfontbutton.c:158 -msgid "Sans 12" -msgstr "UKIJ Tuz Tom 10" - -#: ../gtk/gtkfontbutton.c:173 -msgid "Use font in label" -msgstr "خەتكۈشكە ئىشلىتىدىغان خەت نۇسخا" - -#: ../gtk/gtkfontbutton.c:174 -msgid "Whether the label is drawn in the selected font" -msgstr "" - -#: ../gtk/gtkfontbutton.c:189 -msgid "Use size in label" -msgstr "" - -#: ../gtk/gtkfontbutton.c:190 -msgid "Whether the label is drawn with the selected font size" -msgstr "" - -#: ../gtk/gtkfontbutton.c:206 -msgid "Show style" -msgstr "" - -#: ../gtk/gtkfontbutton.c:207 -msgid "Whether the selected font style is shown in the label" -msgstr "" - -#: ../gtk/gtkfontbutton.c:222 -msgid "Show size" -msgstr "چوڭلۇقىنى كۆرسەت" - -#: ../gtk/gtkfontbutton.c:223 -msgid "Whether selected font size is shown in the label" -msgstr "" - -#: ../gtk/gtkfontsel.c:224 -msgid "The string that represents this font" -msgstr "" - -#: ../gtk/gtkfontsel.c:230 -msgid "Preview text" -msgstr "تېكىستنى ئالدىن كۆزەت" - -#: ../gtk/gtkfontsel.c:231 -msgid "The text to display in order to demonstrate the selected font" -msgstr "" - -#: ../gtk/gtkframe.c:131 -msgid "Text of the frame's label" -msgstr "" - -#: ../gtk/gtkframe.c:138 -msgid "Label xalign" -msgstr "" - -#: ../gtk/gtkframe.c:139 -msgid "The horizontal alignment of the label" -msgstr "" - -#: ../gtk/gtkframe.c:147 -msgid "Label yalign" -msgstr "" - -#: ../gtk/gtkframe.c:148 -msgid "The vertical alignment of the label" -msgstr "" - -#: ../gtk/gtkframe.c:156 -msgid "Frame shadow" -msgstr "" - -#: ../gtk/gtkframe.c:157 -msgid "Appearance of the frame border" -msgstr "كۆزنەك گىرۋىكىنىڭ كۆرۈنۈشى" - -#: ../gtk/gtkframe.c:166 -msgid "A widget to display in place of the usual frame label" -msgstr "" - -#: ../gtk/gtkhandlebox.c:189 -msgid "Appearance of the shadow that surrounds the container" -msgstr "" - -#: ../gtk/gtkhandlebox.c:197 -msgid "Handle position" -msgstr "" - -#: ../gtk/gtkhandlebox.c:198 -msgid "Position of the handle relative to the child widget" -msgstr "" - -#: ../gtk/gtkhandlebox.c:206 -msgid "Snap edge" -msgstr "" - -#: ../gtk/gtkhandlebox.c:207 -msgid "" -"Side of the handlebox that's lined up with the docking point to dock the " -"handlebox" -msgstr "" - -#: ../gtk/gtkhandlebox.c:215 -msgid "Snap edge set" -msgstr "" - -#: ../gtk/gtkhandlebox.c:216 -msgid "" -"Whether to use the value from the snap_edge property or a value derived from " -"handle_position" -msgstr "" - -#: ../gtk/gtkhandlebox.c:223 -msgid "Child Detached" -msgstr "" - -#: ../gtk/gtkhandlebox.c:224 -msgid "" -"A boolean value indicating whether the handlebox's child is attached or " -"detached." -msgstr "" - -#: ../gtk/gtkiconview.c:580 -msgid "Selection mode" -msgstr "تاللاش مودېلى" - -#: ../gtk/gtkiconview.c:581 -msgid "The selection mode" -msgstr "تاللاش مودېلى" - -#: ../gtk/gtkiconview.c:599 -msgid "Pixbuf column" -msgstr "Pixbuf ئىستونى" - -#: ../gtk/gtkiconview.c:600 -msgid "Model column used to retrieve the icon pixbuf from" -msgstr "سىنبەلگە pixbuf دىن ئىزدەشتە ئىشلىتىدىغان مودېل ئىستونى" - -#: ../gtk/gtkiconview.c:618 -msgid "Model column used to retrieve the text from" -msgstr "تېكىستتىن ئىزدەشتە ئىشلىتىلىدىغان مودېل ئىستونى" - -#: ../gtk/gtkiconview.c:637 -msgid "Markup column" -msgstr "Markup ئىستونى" - -#: ../gtk/gtkiconview.c:638 -msgid "Model column used to retrieve the text if using Pango markup" -msgstr "Pango markup ئىشلىتىلگەن ۋاقىتتا تېكىستتىن ئىزدەشتە ئىشلىتىلىدىغان مودېل ئىستونى" - -#: ../gtk/gtkiconview.c:645 -msgid "Icon View Model" -msgstr "سىنبەلگىنىڭ كۆرۈنۈش مودېلى" - -#: ../gtk/gtkiconview.c:646 -msgid "The model for the icon view" -msgstr "سىنبەلگە كۆرسىتىش ئۈچۈن ئىشلىتىدىغان مودېل" - -#: ../gtk/gtkiconview.c:662 -msgid "Number of columns" -msgstr "ئىستون سانى" - -#: ../gtk/gtkiconview.c:663 -msgid "Number of columns to display" -msgstr "كۆرسىتىدىغان ئىستون سانى" - -#: ../gtk/gtkiconview.c:680 -msgid "Width for each item" -msgstr "ھەر بىر item نىڭ كەڭلىكى" - -#: ../gtk/gtkiconview.c:681 -msgid "The width used for each item" -msgstr "ھەر بىر item دا ئىشلىتىلىدىغان كەڭلىك" - -#: ../gtk/gtkiconview.c:697 -msgid "Space which is inserted between cells of an item" -msgstr "item كاتەكچىسى ئارىسىدىكى بوشلۇق" - -#: ../gtk/gtkiconview.c:712 -msgid "Row Spacing" -msgstr "قۇر ئارىلىقى" - -#: ../gtk/gtkiconview.c:713 -msgid "Space which is inserted between grid rows" -msgstr "قۇرلار ئارىسىدىكى بوشلۇق" - -#: ../gtk/gtkiconview.c:728 -msgid "Column Spacing" -msgstr "ئىستوننىڭ بوشلۇقى" - -#: ../gtk/gtkiconview.c:729 -msgid "Space which is inserted between grid columns" -msgstr "" - -#: ../gtk/gtkiconview.c:744 -msgid "Margin" -msgstr "گىرۋەكتىكى بوشلۇق" - -#: ../gtk/gtkiconview.c:745 -msgid "Space which is inserted at the edges of the icon view" -msgstr "سىنبەلگىنىڭ گىرۋىكىگە قىستۇرۇلغان بوشلۇق" - -#: ../gtk/gtkiconview.c:760 -msgid "Item Orientation" -msgstr "تۈر يۆنىلىشى" - -#: ../gtk/gtkiconview.c:761 -msgid "" -"How the text and icon of each item are positioned relative to each other" -msgstr "ھەربىر تېكىست ۋە سىنبەلگىنىڭ قايسى ئورۇندا ئىكەنلىكىنى بەلگىلەش" - -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 -#: ../gtk/gtktreeviewcolumn.c:358 -msgid "Reorderable" -msgstr "تەرتىپىنى ئۆزگەرتكىلى بولىدۇ" - -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 -msgid "View is reorderable" -msgstr "view تەرتىپىنى ئۆزگەرتكىلى بولىدۇ" - -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 -msgid "Tooltip Column" -msgstr "" - -#: ../gtk/gtkiconview.c:786 -msgid "The column in the model containing the tooltip texts for the items" -msgstr "" - -#: ../gtk/gtkiconview.c:803 -msgid "Item Padding" -msgstr "" - -#: ../gtk/gtkiconview.c:804 -msgid "Padding around icon view items" -msgstr "" - -#: ../gtk/gtkiconview.c:817 -msgid "Selection Box Color" -msgstr "تاللانغان كۆزنەكچىنىڭ رەڭگى" - -#: ../gtk/gtkiconview.c:818 -msgid "Color of the selection box" -msgstr "تاللانغان كۆزنەكچىنىڭ رەڭگى" - -#: ../gtk/gtkiconview.c:824 -msgid "Selection Box Alpha" -msgstr "تاللانغان كۆزنەكچىنىڭ α قىممىتى" - -#: ../gtk/gtkiconview.c:825 -msgid "Opacity of the selection box" -msgstr "تاللانغان كۆزنەكچىنىڭ سۈزۈكلۈكى" - -#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 -msgid "Pixbuf" -msgstr "Pixbuf" - -#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 -msgid "A GdkPixbuf to display" -msgstr "" - -#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 -#: ../gtk/gtkstatusicon.c:220 -msgid "Filename" -msgstr "ھۆججەت ئاتى" - -#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 -msgid "Filename to load and display" -msgstr "ئوقۇيدىغان ۋە كۆرسىتىدىغان ھۆججەت ئاتى" - -#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 -msgid "Stock ID for a stock image to display" -msgstr "" - -#: ../gtk/gtkimage.c:258 -msgid "Icon set" -msgstr "سىنبەلگە توپلىمى" - -#: ../gtk/gtkimage.c:259 -msgid "Icon set to display" -msgstr "" - -#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 -#: ../gtk/gtktoolpalette.c:1030 -msgid "Icon size" -msgstr "سىنبەلگە چوڭلۇقى" - -#: ../gtk/gtkimage.c:267 -msgid "Symbolic size to use for stock icon, icon set or named icon" -msgstr "" - -#: ../gtk/gtkimage.c:283 -msgid "Pixel size" -msgstr "پىكسېل چوڭلۇقى" - -#: ../gtk/gtkimage.c:284 -msgid "Pixel size to use for named icon" -msgstr "" - -#: ../gtk/gtkimage.c:292 -msgid "Animation" -msgstr "جانلاندۇرۇم" - -#: ../gtk/gtkimage.c:293 -msgid "GdkPixbufAnimation to display" -msgstr "" - -#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 -msgid "Storage type" -msgstr "" - -#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 -msgid "The representation being used for image data" -msgstr "" - -#: ../gtk/gtkimagemenuitem.c:149 -msgid "Child widget to appear next to the menu text" -msgstr "" - -#: ../gtk/gtkimagemenuitem.c:164 -msgid "Whether to use the label text to create a stock menu item" -msgstr "" - -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 -msgid "Accel Group" -msgstr "Accel گۇرۇپپىسى" - -#: ../gtk/gtkimagemenuitem.c:198 -msgid "The Accel Group to use for stock accelerator keys" -msgstr "" - -#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 -msgid "Message Type" -msgstr "ئۇچۇر تىپى" - -#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 -msgid "The type of message" -msgstr "" - -#: ../gtk/gtkinfobar.c:435 -msgid "Width of border around the content area" -msgstr "" - -#: ../gtk/gtkinfobar.c:452 -msgid "Spacing between elements of the area" -msgstr "" - -#: ../gtk/gtkinfobar.c:484 -msgid "Width of border around the action area" -msgstr "" - -#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 -msgid "Screen" -msgstr "ئېكران" - -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 -msgid "The screen where this window will be displayed" -msgstr "" - -#: ../gtk/gtklabel.c:567 -msgid "The text of the label" -msgstr "تېكىست نىڭ ئېنى" - -#: ../gtk/gtklabel.c:574 -msgid "A list of style attributes to apply to the text of the label" -msgstr "" - -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 -msgid "Justification" -msgstr "تەڭشە" - -#: ../gtk/gtklabel.c:596 -msgid "" -"The alignment of the lines in the text of the label relative to each other. " -"This does NOT affect the alignment of the label within its allocation. See " -"GtkMisc::xalign for that" -msgstr "" - -#: ../gtk/gtklabel.c:604 -msgid "Pattern" -msgstr "قېلىپ" - -#: ../gtk/gtklabel.c:605 -msgid "" -"A string with _ characters in positions correspond to characters in the text " -"to underline" -msgstr "" - -#: ../gtk/gtklabel.c:612 -msgid "Line wrap" -msgstr "قۇر قاتلا" - -#: ../gtk/gtklabel.c:613 -msgid "If set, wrap lines if the text becomes too wide" -msgstr "" - -#: ../gtk/gtklabel.c:628 -msgid "Line wrap mode" -msgstr "" - -#: ../gtk/gtklabel.c:629 -msgid "If wrap is set, controls how linewrapping is done" -msgstr "" - -#: ../gtk/gtklabel.c:636 -msgid "Selectable" -msgstr "" - -#: ../gtk/gtklabel.c:637 -msgid "Whether the label text can be selected with the mouse" -msgstr "" - -#: ../gtk/gtklabel.c:643 -msgid "Mnemonic key" -msgstr "" - -#: ../gtk/gtklabel.c:644 -msgid "The mnemonic accelerator key for this label" -msgstr "" - -#: ../gtk/gtklabel.c:652 -msgid "Mnemonic widget" -msgstr "" - -#: ../gtk/gtklabel.c:653 -msgid "The widget to be activated when the label's mnemonic key is pressed" -msgstr "" - -#: ../gtk/gtklabel.c:699 -msgid "" -"The preferred place to ellipsize the string, if the label does not have " -"enough room to display the entire string" -msgstr "" - -#: ../gtk/gtklabel.c:740 -msgid "Single Line Mode" -msgstr "يەككە سىزىق ھالىتى" - -#: ../gtk/gtklabel.c:741 -msgid "Whether the label is in single line mode" -msgstr "" - -#: ../gtk/gtklabel.c:758 -msgid "Angle" -msgstr "بۇلۇڭ" - -#: ../gtk/gtklabel.c:759 -msgid "Angle at which the label is rotated" -msgstr "" - -#: ../gtk/gtklabel.c:781 -msgid "The desired maximum width of the label, in characters" -msgstr "" - -#: ../gtk/gtklabel.c:799 -msgid "Track visited links" -msgstr "" - -#: ../gtk/gtklabel.c:800 -msgid "Whether visited links should be tracked" -msgstr "" - -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 -msgid "Width" -msgstr "كەڭلىك" - -#: ../gtk/gtklayout.c:660 -msgid "The width of the layout" -msgstr "" - -#: ../gtk/gtklayout.c:668 -msgid "Height" -msgstr "ئېگىزلىك" - -#: ../gtk/gtklayout.c:669 -msgid "The height of the layout" -msgstr "" - -#: ../gtk/gtklinkbutton.c:174 -msgid "URI" -msgstr "URI" - -#: ../gtk/gtklinkbutton.c:175 -msgid "The URI bound to this button" -msgstr "" - -#: ../gtk/gtklinkbutton.c:189 -msgid "Visited" -msgstr "زىيارەت قىلغان" - -#: ../gtk/gtklinkbutton.c:190 -msgid "Whether this link has been visited." -msgstr "" - -#: ../gtk/gtkmenubar.c:170 -msgid "Pack direction" -msgstr "" - -#: ../gtk/gtkmenubar.c:171 -msgid "The pack direction of the menubar" -msgstr "" - -#: ../gtk/gtkmenubar.c:187 -msgid "Child Pack direction" -msgstr "" - -#: ../gtk/gtkmenubar.c:188 -msgid "The child pack direction of the menubar" -msgstr "" - -#: ../gtk/gtkmenubar.c:197 -msgid "Style of bevel around the menubar" -msgstr "" - -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 -msgid "Internal padding" -msgstr "" - -#: ../gtk/gtkmenubar.c:205 -msgid "Amount of border space between the menubar shadow and the menu items" -msgstr "تىزىملىك بالدىقىنىڭ سايىسى بىلەن تىزىملىك تۇرلىرى ئارىسىدىكى گىرۋەك بوشلۇقىنىڭ مىقدارى" - -#: ../gtk/gtkmenu.c:521 -msgid "The currently selected menu item" -msgstr "" - -#: ../gtk/gtkmenu.c:536 -msgid "The accel group holding accelerators for the menu" -msgstr "" - -#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 -msgid "Accel Path" -msgstr "" - -#: ../gtk/gtkmenu.c:551 -msgid "An accel path used to conveniently construct accel paths of child items" -msgstr "" - -#: ../gtk/gtkmenu.c:567 -msgid "Attach Widget" -msgstr "" - -#: ../gtk/gtkmenu.c:568 -msgid "The widget the menu is attached to" -msgstr "" - -#: ../gtk/gtkmenu.c:576 -msgid "" -"A title that may be displayed by the window manager when this menu is torn-" -"off" -msgstr "" - -#: ../gtk/gtkmenu.c:590 -msgid "Tearoff State" -msgstr "" - -#: ../gtk/gtkmenu.c:591 -msgid "A boolean that indicates whether the menu is torn-off" -msgstr "" - -#: ../gtk/gtkmenu.c:605 -msgid "Monitor" -msgstr "ئېكران" - -#: ../gtk/gtkmenu.c:606 -msgid "The monitor the menu will be popped up on" -msgstr "" - -#: ../gtk/gtkmenu.c:612 -msgid "Vertical Padding" -msgstr "" - -#: ../gtk/gtkmenu.c:613 -msgid "Extra space at the top and bottom of the menu" -msgstr "تىزىملىكنىڭ ئۇستى ۋە ئاستى گىرۋەكلىرىدىكى ئارتۇقچە بوشلۇق" - -#: ../gtk/gtkmenu.c:635 -msgid "Reserve Toggle Size" -msgstr "" - -#: ../gtk/gtkmenu.c:636 -msgid "" -"A boolean that indicates whether the menu reserves space for toggles and " -"icons" -msgstr "" - -#: ../gtk/gtkmenu.c:642 -msgid "Horizontal Padding" -msgstr "" - -#: ../gtk/gtkmenu.c:643 -msgid "Extra space at the left and right edges of the menu" -msgstr "تىزىملىكنىڭ ئوڭ ۋە سول گىرۋەكلىرىدىكى ئارتۇقچە بوشلۇق" - -#: ../gtk/gtkmenu.c:651 -msgid "Vertical Offset" -msgstr "" - -#: ../gtk/gtkmenu.c:652 -msgid "" -"When the menu is a submenu, position it this number of pixels offset " -"vertically" -msgstr "" - -#: ../gtk/gtkmenu.c:660 -msgid "Horizontal Offset" -msgstr "" - -#: ../gtk/gtkmenu.c:661 -msgid "" -"When the menu is a submenu, position it this number of pixels offset " -"horizontally" -msgstr "" - -#: ../gtk/gtkmenu.c:669 -msgid "Double Arrows" -msgstr "قوش يا ئوق" - -#: ../gtk/gtkmenu.c:670 -msgid "When scrolling, always show both arrows." -msgstr "" - -#: ../gtk/gtkmenu.c:683 -msgid "Arrow Placement" -msgstr "" - -#: ../gtk/gtkmenu.c:684 -msgid "Indicates where scroll arrows should be placed" -msgstr "" - -#: ../gtk/gtkmenu.c:692 -msgid "Left Attach" -msgstr "" - -#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 -msgid "The column number to attach the left side of the child to" -msgstr "" - -#: ../gtk/gtkmenu.c:700 -msgid "Right Attach" -msgstr "" - -#: ../gtk/gtkmenu.c:701 -msgid "The column number to attach the right side of the child to" -msgstr "" - -#: ../gtk/gtkmenu.c:708 -msgid "Top Attach" -msgstr "" - -#: ../gtk/gtkmenu.c:709 -msgid "The row number to attach the top of the child to" -msgstr "" - -#: ../gtk/gtkmenu.c:716 -msgid "Bottom Attach" -msgstr "" - -#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 -msgid "The row number to attach the bottom of the child to" -msgstr "" - -#: ../gtk/gtkmenu.c:731 -msgid "Arbitrary constant to scale down the size of the scroll arrow" -msgstr "" - -#: ../gtk/gtkmenuitem.c:283 -msgid "Right Justified" -msgstr "" - -#: ../gtk/gtkmenuitem.c:284 -msgid "" -"Sets whether the menu item appears justified at the right side of a menu bar" -msgstr "" - -#: ../gtk/gtkmenuitem.c:298 -msgid "Submenu" -msgstr "تارماق تىزىملىك" - -#: ../gtk/gtkmenuitem.c:299 -msgid "The submenu attached to the menu item, or NULL if it has none" -msgstr "" - -#: ../gtk/gtkmenuitem.c:317 -msgid "Sets the accelerator path of the menu item" -msgstr "" - -#: ../gtk/gtkmenuitem.c:332 -msgid "The text for the child label" -msgstr "" - -#: ../gtk/gtkmenuitem.c:395 -msgid "Amount of space used up by arrow, relative to the menu item's font size" -msgstr "" - -#: ../gtk/gtkmenuitem.c:408 -msgid "Width in Characters" -msgstr "" - -#: ../gtk/gtkmenuitem.c:409 -msgid "The minimum desired width of the menu item in characters" -msgstr "" - -#: ../gtk/gtkmenushell.c:381 -msgid "Take Focus" -msgstr "" - -#: ../gtk/gtkmenushell.c:382 -msgid "A boolean that determines whether the menu grabs the keyboard focus" -msgstr "" - -#: ../gtk/gtkmenutoolbutton.c:246 -msgid "Menu" -msgstr "تىزىملىك" - -#: ../gtk/gtkmenutoolbutton.c:247 -msgid "The dropdown menu" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:184 -msgid "Image/label border" -msgstr "سۈرەت/بەلگە گىرۋەك" - -#: ../gtk/gtkmessagedialog.c:185 -msgid "Width of border around the label and image in the message dialog" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:209 -msgid "Message Buttons" -msgstr "ئۇچۇر توپچىسى" - -#: ../gtk/gtkmessagedialog.c:210 -msgid "The buttons shown in the message dialog" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:227 -msgid "The primary text of the message dialog" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:242 -msgid "Use Markup" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:243 -msgid "The primary text of the title includes Pango markup." -msgstr "" - -#: ../gtk/gtkmessagedialog.c:257 -msgid "Secondary Text" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:258 -msgid "The secondary text of the message dialog" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:273 -msgid "Use Markup in secondary" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:274 -msgid "The secondary text includes Pango markup." -msgstr "" - -#: ../gtk/gtkmessagedialog.c:288 -msgid "Image" -msgstr "سۈرەت" - -#: ../gtk/gtkmessagedialog.c:289 -msgid "The image" -msgstr "" - -#: ../gtk/gtkmessagedialog.c:305 -msgid "Message area" -msgstr "ئۇچۇر رايونى" - -#: ../gtk/gtkmessagedialog.c:306 -msgid "GtkVBox that holds the dialog's primary and secondary labels" -msgstr "" - -#: ../gtk/gtkmisc.c:91 -msgid "Y align" -msgstr "" - -#: ../gtk/gtkmisc.c:92 -msgid "The vertical alignment, from 0 (top) to 1 (bottom)" -msgstr "" - -#: ../gtk/gtkmisc.c:101 -msgid "X pad" -msgstr "" - -#: ../gtk/gtkmisc.c:102 -msgid "" -"The amount of space to add on the left and right of the widget, in pixels" -msgstr "" - -#: ../gtk/gtkmisc.c:111 -msgid "Y pad" -msgstr "" - -#: ../gtk/gtkmisc.c:112 -msgid "" -"The amount of space to add on the top and bottom of the widget, in pixels" -msgstr "" - -#: ../gtk/gtkmountoperation.c:159 -msgid "Parent" -msgstr "تەۋەلىكى" - -#: ../gtk/gtkmountoperation.c:160 -msgid "The parent window" -msgstr "" - -#: ../gtk/gtkmountoperation.c:167 -msgid "Is Showing" -msgstr "" - -#: ../gtk/gtkmountoperation.c:168 -msgid "Are we showing a dialog" -msgstr "" - -#: ../gtk/gtkmountoperation.c:176 -msgid "The screen where this window will be displayed." -msgstr "" - -#: ../gtk/gtknotebook.c:692 -msgid "Page" -msgstr "بەت" - -#: ../gtk/gtknotebook.c:693 -msgid "The index of the current page" -msgstr "ھازىرقى بەتنىڭ ئىندىكىسى" - -#: ../gtk/gtknotebook.c:701 -msgid "Tab Position" -msgstr "" - -#: ../gtk/gtknotebook.c:702 -msgid "Which side of the notebook holds the tabs" -msgstr "" - -#: ../gtk/gtknotebook.c:709 -msgid "Show Tabs" -msgstr "" - -#: ../gtk/gtknotebook.c:710 -msgid "Whether tabs should be shown" -msgstr "" - -#: ../gtk/gtknotebook.c:716 -msgid "Show Border" -msgstr "" - -#: ../gtk/gtknotebook.c:717 -msgid "Whether the border should be shown" -msgstr "" - -#: ../gtk/gtknotebook.c:723 -msgid "Scrollable" -msgstr "" - -#: ../gtk/gtknotebook.c:724 -msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" -msgstr "" - -#: ../gtk/gtknotebook.c:730 -msgid "Enable Popup" -msgstr "" - -#: ../gtk/gtknotebook.c:731 -msgid "" -"If TRUE, pressing the right mouse button on the notebook pops up a menu that " -"you can use to go to a page" -msgstr "" - -#: ../gtk/gtknotebook.c:745 -msgid "Group Name" -msgstr "گۇرۇپپا ئاتى" - -#: ../gtk/gtknotebook.c:746 -msgid "Group name for tab drag and drop" -msgstr "" - -#: ../gtk/gtknotebook.c:753 -msgid "Tab label" -msgstr "" - -#: ../gtk/gtknotebook.c:754 -msgid "The string displayed on the child's tab label" -msgstr "" - -#: ../gtk/gtknotebook.c:760 -msgid "Menu label" -msgstr "تىزىملىك ئېنى" - -#: ../gtk/gtknotebook.c:761 -msgid "The string displayed in the child's menu entry" -msgstr "" - -#: ../gtk/gtknotebook.c:774 -msgid "Tab expand" -msgstr "" - -#: ../gtk/gtknotebook.c:775 -msgid "Whether to expand the child's tab" -msgstr "" - -#: ../gtk/gtknotebook.c:781 -msgid "Tab fill" -msgstr "" - -#: ../gtk/gtknotebook.c:782 -msgid "Whether the child's tab should fill the allocated area" -msgstr "" - -#: ../gtk/gtknotebook.c:795 -msgid "Tab pack type" -msgstr "" - -#: ../gtk/gtknotebook.c:802 -msgid "Tab reorderable" -msgstr "" - -#: ../gtk/gtknotebook.c:803 -msgid "Whether the tab is reorderable by user action" -msgstr "" - -#: ../gtk/gtknotebook.c:809 -msgid "Tab detachable" -msgstr "" - -#: ../gtk/gtknotebook.c:810 -msgid "Whether the tab is detachable" -msgstr "" - -#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 -msgid "Secondary backward stepper" -msgstr "" - -#: ../gtk/gtknotebook.c:826 -msgid "" -"Display a second backward arrow button on the opposite end of the tab area" -msgstr "" - -#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 -msgid "Secondary forward stepper" -msgstr "" - -#: ../gtk/gtknotebook.c:842 -msgid "" -"Display a second forward arrow button on the opposite end of the tab area" -msgstr "" - -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 -msgid "Backward stepper" -msgstr "" - -#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 -msgid "Display the standard backward arrow button" -msgstr "" - -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 -msgid "Forward stepper" -msgstr "" - -#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 -msgid "Display the standard forward arrow button" -msgstr "" - -#: ../gtk/gtknotebook.c:886 -msgid "Tab overlap" -msgstr "" - -#: ../gtk/gtknotebook.c:887 -msgid "Size of tab overlap area" -msgstr "" - -#: ../gtk/gtknotebook.c:902 -msgid "Tab curvature" -msgstr "" - -#: ../gtk/gtknotebook.c:903 -msgid "Size of tab curvature" -msgstr "" - -#: ../gtk/gtknotebook.c:919 -msgid "Arrow spacing" -msgstr "" - -#: ../gtk/gtknotebook.c:920 -msgid "Scroll arrow spacing" -msgstr "" - -#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 -#: ../gtk/gtktrayicon-x11.c:124 -msgid "Orientation" -msgstr "يۆنىلىش" - -#: ../gtk/gtkorientable.c:64 -msgid "The orientation of the orientable" -msgstr "" - -#: ../gtk/gtkpaned.c:328 -msgid "" -"Position of paned separator in pixels (0 means all the way to the left/top)" -msgstr "" - -#: ../gtk/gtkpaned.c:337 -msgid "Position Set" -msgstr "" - -#: ../gtk/gtkpaned.c:338 -msgid "TRUE if the Position property should be used" -msgstr "" - -#: ../gtk/gtkpaned.c:344 -msgid "Handle Size" -msgstr "" - -#: ../gtk/gtkpaned.c:345 -msgid "Width of handle" -msgstr "" - -#: ../gtk/gtkpaned.c:361 -msgid "Minimal Position" -msgstr "" - -#: ../gtk/gtkpaned.c:362 -msgid "Smallest possible value for the \"position\" property" -msgstr "" - -#: ../gtk/gtkpaned.c:379 -msgid "Maximal Position" -msgstr "" - -#: ../gtk/gtkpaned.c:380 -msgid "Largest possible value for the \"position\" property" -msgstr "" - -#: ../gtk/gtkpaned.c:397 -msgid "Resize" -msgstr "چوڭلۇقىنى ئۆزگەرت" - -#: ../gtk/gtkpaned.c:398 -msgid "If TRUE, the child expands and shrinks along with the paned widget" -msgstr "" - -#: ../gtk/gtkpaned.c:413 -msgid "Shrink" -msgstr "كىچىكلەت" - -#: ../gtk/gtkpaned.c:414 -msgid "If TRUE, the child can be made smaller than its requisition" -msgstr "" - -#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 -msgid "Embedded" -msgstr "سىڭدۈرمە" - -#: ../gtk/gtkplug.c:178 -msgid "Whether the plug is embedded" -msgstr "" - -#: ../gtk/gtkplug.c:192 -msgid "Socket Window" -msgstr "" - -#: ../gtk/gtkplug.c:193 -msgid "The window of the socket the plug is embedded in" -msgstr "" - -#: ../gtk/gtkprinter.c:126 -msgid "Name of the printer" -msgstr "پرىنتېرنىڭ ئاتى" - -#: ../gtk/gtkprinter.c:132 -msgid "Backend" -msgstr "" - -#: ../gtk/gtkprinter.c:133 -msgid "Backend for the printer" -msgstr "" - -#: ../gtk/gtkprinter.c:139 -msgid "Is Virtual" -msgstr "" - -#: ../gtk/gtkprinter.c:140 -msgid "FALSE if this represents a real hardware printer" -msgstr "" - -#: ../gtk/gtkprinter.c:146 -msgid "Accepts PDF" -msgstr "" - -#: ../gtk/gtkprinter.c:147 -msgid "TRUE if this printer can accept PDF" -msgstr "" - -#: ../gtk/gtkprinter.c:153 -msgid "Accepts PostScript" -msgstr "" - -#: ../gtk/gtkprinter.c:154 -msgid "TRUE if this printer can accept PostScript" -msgstr "" - -#: ../gtk/gtkprinter.c:160 -msgid "State Message" -msgstr "" - -#: ../gtk/gtkprinter.c:161 -msgid "String giving the current state of the printer" -msgstr "" - -#: ../gtk/gtkprinter.c:167 -msgid "Location" -msgstr "ئورنى" - -#: ../gtk/gtkprinter.c:168 -msgid "The location of the printer" -msgstr "" - -#: ../gtk/gtkprinter.c:175 -msgid "The icon name to use for the printer" -msgstr "" - -#: ../gtk/gtkprinter.c:181 -msgid "Job Count" -msgstr "" - -#: ../gtk/gtkprinter.c:182 -msgid "Number of jobs queued in the printer" -msgstr "پرىنتېردا تىزىلىپ تۇرغان خىزمەت سانى" - -#: ../gtk/gtkprinter.c:200 -msgid "Paused Printer" -msgstr "" - -#: ../gtk/gtkprinter.c:201 -msgid "TRUE if this printer is paused" -msgstr "" - -#: ../gtk/gtkprinter.c:214 -msgid "Accepting Jobs" -msgstr "" - -#: ../gtk/gtkprinter.c:215 -msgid "TRUE if this printer is accepting new jobs" -msgstr "" - -#: ../gtk/gtkprinteroptionwidget.c:121 -msgid "Source option" -msgstr "" - -#: ../gtk/gtkprinteroptionwidget.c:122 -msgid "The PrinterOption backing this widget" -msgstr "" - -#: ../gtk/gtkprintjob.c:127 -msgid "Title of the print job" -msgstr "" - -#: ../gtk/gtkprintjob.c:135 -msgid "Printer" -msgstr "پرىنتېر" - -#: ../gtk/gtkprintjob.c:136 -msgid "Printer to print the job to" -msgstr "" - -#: ../gtk/gtkprintjob.c:144 -msgid "Settings" -msgstr "تەڭشەكلەر" - -#: ../gtk/gtkprintjob.c:145 -msgid "Printer settings" -msgstr "" - -#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 -#: ../gtk/gtkprintunixdialog.c:298 -msgid "Page Setup" -msgstr "بەت تەڭشەك" - -#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 -msgid "Track Print Status" -msgstr "" - -#: ../gtk/gtkprintjob.c:163 -msgid "" -"TRUE if the print job will continue to emit status-changed signals after the " -"print data has been sent to the printer or print server." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1005 -msgid "Default Page Setup" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1006 -msgid "The GtkPageSetup used by default" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 -msgid "Print Settings" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 -msgid "The GtkPrintSettings used for initializing the dialog" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1043 -msgid "Job Name" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1044 -msgid "A string used for identifying the print job." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1068 -msgid "Number of Pages" -msgstr "بەت سانى" - -#: ../gtk/gtkprintoperation.c:1069 -msgid "The number of pages in the document." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 -msgid "Current Page" -msgstr "نۆۋەتتىكى بەت" - -#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 -msgid "The current page in the document" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1112 -msgid "Use full page" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1113 -msgid "" -"TRUE if the origin of the context should be at the corner of the page and " -"not the corner of the imageable area" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1134 -msgid "" -"TRUE if the print operation will continue to report on the print job status " -"after the print data has been sent to the printer or print server." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1151 -msgid "Unit" -msgstr "بىرلىك" - -#: ../gtk/gtkprintoperation.c:1152 -msgid "The unit in which distances can be measured in the context" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1169 -msgid "Show Dialog" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1170 -msgid "TRUE if a progress dialog is shown while printing." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1193 -msgid "Allow Async" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1194 -msgid "TRUE if print process may run asynchronous." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 -msgid "Export filename" -msgstr "ھۆججەت ئاتىنى ئېكسپورت قىل" - -#: ../gtk/gtkprintoperation.c:1231 -msgid "Status" -msgstr "ھالىتى" - -#: ../gtk/gtkprintoperation.c:1232 -msgid "The status of the print operation" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1252 -msgid "Status String" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1253 -msgid "A human-readable description of the status" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1271 -msgid "Custom tab label" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1272 -msgid "Label for the tab containing custom widgets." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 -msgid "Support Selection" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1288 -msgid "TRUE if the print operation will support print of selection." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 -msgid "Has Selection" -msgstr "تاللانما بار" - -#: ../gtk/gtkprintoperation.c:1305 -msgid "TRUE if a selection exists." -msgstr "" - -#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 -msgid "Embed Page Setup" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1321 -msgid "TRUE if page setup combos are embedded in GtkPrintDialog" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1342 -msgid "Number of Pages To Print" -msgstr "باسىدىغان بەت سانى" - -#: ../gtk/gtkprintoperation.c:1343 -msgid "The number of pages that will be printed." -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:299 -msgid "The GtkPageSetup to use" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:324 -msgid "Selected Printer" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:325 -msgid "The GtkPrinter which is selected" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:332 -msgid "Manual Capabilities" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:333 -msgid "Capabilities the application can handle" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:342 -msgid "Whether the dialog supports selection" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:350 -msgid "Whether the application has a selection" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:358 -msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" -msgstr "" - -#: ../gtk/gtkprogressbar.c:161 -msgid "Fraction" -msgstr "Fraction" - -#: ../gtk/gtkprogressbar.c:162 -msgid "The fraction of total work that has been completed" -msgstr "" - -#: ../gtk/gtkprogressbar.c:169 -msgid "Pulse Step" -msgstr "" - -#: ../gtk/gtkprogressbar.c:170 -msgid "The fraction of total progress to move the bouncing block when pulsed" -msgstr "" - -#: ../gtk/gtkprogressbar.c:178 -msgid "Text to be displayed in the progress bar" -msgstr "" - -#: ../gtk/gtkprogressbar.c:185 -msgid "Show text" -msgstr "" - -#: ../gtk/gtkprogressbar.c:186 -msgid "Whether the progress is shown as text." -msgstr "" - -#: ../gtk/gtkprogressbar.c:208 -msgid "" -"The preferred place to ellipsize the string, if the progress bar does not " -"have enough room to display the entire string, if at all." -msgstr "" - -#: ../gtk/gtkprogressbar.c:215 -msgid "X spacing" -msgstr "" - -#: ../gtk/gtkprogressbar.c:216 -msgid "Extra spacing applied to the width of a progress bar." -msgstr "" - -#: ../gtk/gtkprogressbar.c:221 -msgid "Y spacing" -msgstr "" - -#: ../gtk/gtkprogressbar.c:222 -msgid "Extra spacing applied to the height of a progress bar." -msgstr "" - -#: ../gtk/gtkprogressbar.c:235 -msgid "Minimum horizontal bar width" -msgstr "" - -#: ../gtk/gtkprogressbar.c:236 -msgid "The minimum horizontal width of the progress bar" -msgstr "" - -#: ../gtk/gtkprogressbar.c:248 -msgid "Minimum horizontal bar height" -msgstr "" - -#: ../gtk/gtkprogressbar.c:249 -msgid "Minimum horizontal height of the progress bar" -msgstr "" - -#: ../gtk/gtkprogressbar.c:261 -msgid "Minimum vertical bar width" -msgstr "" - -#: ../gtk/gtkprogressbar.c:262 -msgid "The minimum vertical width of the progress bar" -msgstr "" - -#: ../gtk/gtkprogressbar.c:274 -msgid "Minimum vertical bar height" -msgstr "" - -#: ../gtk/gtkprogressbar.c:275 -msgid "The minimum vertical height of the progress bar" -msgstr "" - -#: ../gtk/gtkradioaction.c:118 -msgid "The value" -msgstr "" - -#: ../gtk/gtkradioaction.c:119 -msgid "" -"The value returned by gtk_radio_action_get_current_value() when this action " -"is the current action of its group." -msgstr "" - -#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 -#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 -msgid "Group" -msgstr "گۇرۇپپا" - -#: ../gtk/gtkradioaction.c:136 -msgid "The radio action whose group this action belongs to." -msgstr "" - -#: ../gtk/gtkradioaction.c:151 -msgid "The current value" -msgstr "ھازىرقى قىممەت" - -#: ../gtk/gtkradioaction.c:152 -msgid "" -"The value property of the currently active member of the group to which this " -"action belongs." -msgstr "" - -#: ../gtk/gtkradiobutton.c:164 -msgid "The radio button whose group this widget belongs to." -msgstr "" - -#: ../gtk/gtkradiomenuitem.c:374 -msgid "The radio menu item whose group this widget belongs to." -msgstr "" - -#: ../gtk/gtkradiotoolbutton.c:66 -msgid "The radio tool button whose group this button belongs to." -msgstr "" - -#: ../gtk/gtkrange.c:422 -msgid "Update policy" -msgstr "" - -#: ../gtk/gtkrange.c:423 -msgid "How the range should be updated on the screen" -msgstr "" - -#: ../gtk/gtkrange.c:432 -msgid "The GtkAdjustment that contains the current value of this range object" -msgstr "" - -#: ../gtk/gtkrange.c:440 -msgid "Invert direction slider moves to increase range value" -msgstr "" - -#: ../gtk/gtkrange.c:447 -msgid "Lower stepper sensitivity" -msgstr "" - -#: ../gtk/gtkrange.c:448 -msgid "" -"The sensitivity policy for the stepper that points to the adjustment's lower " -"side" -msgstr "" - -#: ../gtk/gtkrange.c:456 -msgid "Upper stepper sensitivity" -msgstr "" - -#: ../gtk/gtkrange.c:457 -msgid "" -"The sensitivity policy for the stepper that points to the adjustment's upper " -"side" -msgstr "" - -#: ../gtk/gtkrange.c:474 -msgid "Show Fill Level" -msgstr "" - -#: ../gtk/gtkrange.c:475 -msgid "Whether to display a fill level indicator graphics on trough." -msgstr "" - -#: ../gtk/gtkrange.c:491 -msgid "Restrict to Fill Level" -msgstr "" - -#: ../gtk/gtkrange.c:492 -msgid "Whether to restrict the upper boundary to the fill level." -msgstr "" - -#: ../gtk/gtkrange.c:507 -msgid "Fill Level" -msgstr "" - -#: ../gtk/gtkrange.c:508 -msgid "The fill level." -msgstr "" - -#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 -msgid "Slider Width" -msgstr "" - -#: ../gtk/gtkrange.c:517 -msgid "Width of scrollbar or scale thumb" -msgstr "" - -#: ../gtk/gtkrange.c:524 -msgid "Trough Border" -msgstr "" - -#: ../gtk/gtkrange.c:525 -msgid "Spacing between thumb/steppers and outer trough bevel" -msgstr "" - -#: ../gtk/gtkrange.c:532 -msgid "Stepper Size" -msgstr "" - -#: ../gtk/gtkrange.c:533 -msgid "Length of step buttons at ends" -msgstr "" - -#: ../gtk/gtkrange.c:548 -msgid "Stepper Spacing" -msgstr "" - -#: ../gtk/gtkrange.c:549 -msgid "Spacing between step buttons and thumb" -msgstr "" - -#: ../gtk/gtkrange.c:556 -msgid "Arrow X Displacement" -msgstr "" - -#: ../gtk/gtkrange.c:557 -msgid "" -"How far in the x direction to move the arrow when the button is depressed" -msgstr "" - -#: ../gtk/gtkrange.c:564 -msgid "Arrow Y Displacement" -msgstr "" - -#: ../gtk/gtkrange.c:565 -msgid "" -"How far in the y direction to move the arrow when the button is depressed" -msgstr "" - -#: ../gtk/gtkrange.c:583 -msgid "Trough Under Steppers" -msgstr "" - -#: ../gtk/gtkrange.c:584 -msgid "" -"Whether to draw trough for full length of range or exclude the steppers and " -"spacing" -msgstr "" - -#: ../gtk/gtkrange.c:597 -msgid "Arrow scaling" -msgstr "" - -#: ../gtk/gtkrange.c:598 -msgid "Arrow scaling with regard to scroll button size" -msgstr "" - -#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 -msgid "Show Numbers" -msgstr "" - -#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 -msgid "Whether the items should be displayed with a number" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:132 -msgid "Recent Manager" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:133 -msgid "The RecentManager object to use" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:147 -msgid "Show Private" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:148 -msgid "Whether the private items should be displayed" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:161 -msgid "Show Tooltips" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:162 -msgid "Whether there should be a tooltip on the item" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:174 -msgid "Show Icons" -msgstr "سىنبەلگە كۆرسەت" - -#: ../gtk/gtkrecentchooser.c:175 -msgid "Whether there should be an icon near the item" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:190 -msgid "Show Not Found" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:191 -msgid "Whether the items pointing to unavailable resources should be displayed" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:204 -msgid "Whether to allow multiple items to be selected" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:217 -msgid "Local only" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:218 -msgid "Whether the selected resource(s) should be limited to local file: URIs" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:234 -msgid "Limit" -msgstr "لىمىت" - -#: ../gtk/gtkrecentchooser.c:235 -msgid "The maximum number of items to be displayed" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:249 -msgid "Sort Type" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:250 -msgid "The sorting order of the items displayed" -msgstr "" - -#: ../gtk/gtkrecentchooser.c:265 -msgid "The current filter for selecting which resources are displayed" -msgstr "" - -#: ../gtk/gtkrecentmanager.c:295 -msgid "The full path to the file to be used to store and read the list" -msgstr "" - -#: ../gtk/gtkrecentmanager.c:310 -msgid "The size of the recently used resources list" -msgstr "" - -#: ../gtk/gtkscalebutton.c:221 -msgid "The value of the scale" -msgstr "" - -#: ../gtk/gtkscalebutton.c:231 -msgid "The icon size" -msgstr "" - -#: ../gtk/gtkscalebutton.c:240 -msgid "" -"The GtkAdjustment that contains the current value of this scale button object" -msgstr "" - -#: ../gtk/gtkscalebutton.c:268 -msgid "Icons" -msgstr "سىنبەلگىلەر" - -#: ../gtk/gtkscalebutton.c:269 -msgid "List of icon names" -msgstr "" - -#: ../gtk/gtkscale.c:254 -msgid "The number of decimal places that are displayed in the value" -msgstr "" - -#: ../gtk/gtkscale.c:263 -msgid "Draw Value" -msgstr "قىممەتنى سىز" - -#: ../gtk/gtkscale.c:264 -msgid "Whether the current value is displayed as a string next to the slider" -msgstr "" - -#: ../gtk/gtkscale.c:271 -msgid "Value Position" -msgstr "" - -#: ../gtk/gtkscale.c:272 -msgid "The position in which the current value is displayed" -msgstr "" - -#: ../gtk/gtkscale.c:279 -msgid "Slider Length" -msgstr "" - -#: ../gtk/gtkscale.c:280 -msgid "Length of scale's slider" -msgstr "" - -#: ../gtk/gtkscale.c:288 -msgid "Value spacing" -msgstr "" - -#: ../gtk/gtkscale.c:289 -msgid "Space between value text and the slider/trough area" -msgstr "" - -#: ../gtk/gtkscrollbar.c:72 -msgid "Minimum Slider Length" -msgstr "" - -#: ../gtk/gtkscrollbar.c:73 -msgid "Minimum length of scrollbar slider" -msgstr "" - -#: ../gtk/gtkscrollbar.c:81 -msgid "Fixed slider size" -msgstr "" - -#: ../gtk/gtkscrollbar.c:82 -msgid "Don't change slider size, just lock it to the minimum length" -msgstr "" - -#: ../gtk/gtkscrollbar.c:103 -msgid "" -"Display a second backward arrow button on the opposite end of the scrollbar" -msgstr "" - -#: ../gtk/gtkscrollbar.c:110 -msgid "" -"Display a second forward arrow button on the opposite end of the scrollbar" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:295 -msgid "Horizontal Adjustment" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:296 -msgid "The GtkAdjustment for the horizontal position" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:302 -msgid "Vertical Adjustment" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:303 -msgid "The GtkAdjustment for the vertical position" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:309 -msgid "Horizontal Scrollbar Policy" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:310 -msgid "When the horizontal scrollbar is displayed" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:317 -msgid "Vertical Scrollbar Policy" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:318 -msgid "When the vertical scrollbar is displayed" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:326 -msgid "Window Placement" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:327 -msgid "" -"Where the contents are located with respect to the scrollbars. This property " -"only takes effect if \"window-placement-set\" is TRUE." -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:344 -msgid "Window Placement Set" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:345 -msgid "" -"Whether \"window-placement\" should be used to determine the location of the " -"contents with respect to the scrollbars." -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:351 -msgid "Shadow Type" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:352 -msgid "Style of bevel around the contents" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:366 -msgid "Scrollbars within bevel" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:367 -msgid "Place scrollbars within the scrolled window's bevel" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:373 -msgid "Scrollbar spacing" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:374 -msgid "Number of pixels between the scrollbars and the scrolled window" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:383 -msgid "Minimum Content Width" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:384 -msgid "The minimum width that the scrolled window will allocate to its content" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:390 -msgid "Minimum Content Height" -msgstr "" - -#: ../gtk/gtkscrolledwindow.c:391 -msgid "" -"The minimum height that the scrolled window will allocate to its content" -msgstr "" - -#: ../gtk/gtkseparatortoolitem.c:143 -msgid "Draw" -msgstr "سىز" - -#: ../gtk/gtkseparatortoolitem.c:144 -msgid "Whether the separator is drawn, or just blank" -msgstr "" - -#: ../gtk/gtksettings.c:285 -msgid "Double Click Time" -msgstr "قوش چېكىشنىڭ ئارىلىقى" - -#: ../gtk/gtksettings.c:286 -msgid "" -"Maximum time allowed between two clicks for them to be considered a double " -"click (in milliseconds)" -msgstr "" - -#: ../gtk/gtksettings.c:293 -msgid "Double Click Distance" -msgstr "قوش چېكىش ئارىلىقى" - -#: ../gtk/gtksettings.c:294 -msgid "" -"Maximum distance allowed between two clicks for them to be considered a " -"double click (in pixels)" -msgstr "" - -#: ../gtk/gtksettings.c:310 -msgid "Cursor Blink" -msgstr "نۇربەلگىسىنىڭ لىپىلدىشى" - -#: ../gtk/gtksettings.c:311 -msgid "Whether the cursor should blink" -msgstr "" - -#: ../gtk/gtksettings.c:318 -msgid "Cursor Blink Time" -msgstr "نۇربەلگىسىنىڭ لىپىلداش ۋاقتى" - -#: ../gtk/gtksettings.c:319 -msgid "Length of the cursor blink cycle, in milliseconds" -msgstr "" - -#: ../gtk/gtksettings.c:338 -msgid "Cursor Blink Timeout" -msgstr "نۇربەلگىسىنىڭ لىپىلداش مۆھلىتى" - -#: ../gtk/gtksettings.c:339 -msgid "Time after which the cursor stops blinking, in seconds" -msgstr "" - -#: ../gtk/gtksettings.c:346 -msgid "Split Cursor" -msgstr "" - -#: ../gtk/gtksettings.c:347 -msgid "" -"Whether two cursors should be displayed for mixed left-to-right and right-to-" -"left text" -msgstr "" - -#: ../gtk/gtksettings.c:354 -msgid "Theme Name" -msgstr "" - -#: ../gtk/gtksettings.c:355 -msgid "Name of theme RC file to load" -msgstr "" - -#: ../gtk/gtksettings.c:363 -msgid "Icon Theme Name" -msgstr "سىنبەلگە تېما ئاتى" - -#: ../gtk/gtksettings.c:364 -msgid "Name of icon theme to use" -msgstr "ئىشلىتىدىغان سىنبەلگە ئۇسلۇبىنىڭ ئاتى" - -#: ../gtk/gtksettings.c:372 -msgid "Fallback Icon Theme Name" -msgstr "" - -#: ../gtk/gtksettings.c:373 -msgid "Name of a icon theme to fall back to" -msgstr "" - -#: ../gtk/gtksettings.c:381 -msgid "Key Theme Name" -msgstr "" - -#: ../gtk/gtksettings.c:382 -msgid "Name of key theme RC file to load" -msgstr "" - -#: ../gtk/gtksettings.c:390 -msgid "Menu bar accelerator" -msgstr "تىزىملىك بالداق تېزلەتكۈچ" - -#: ../gtk/gtksettings.c:391 -msgid "Keybinding to activate the menu bar" -msgstr "" - -#: ../gtk/gtksettings.c:399 -msgid "Drag threshold" -msgstr "سۆرەشنىڭ بوسۇغا قىممىتى" - -#: ../gtk/gtksettings.c:400 -msgid "Number of pixels the cursor can move before dragging" -msgstr "" - -#: ../gtk/gtksettings.c:408 -msgid "Font Name" -msgstr "خەت نۇسخا ئاتى" - -#: ../gtk/gtksettings.c:409 -msgid "Name of default font to use" -msgstr "ئىشلىتىدىغان كۆڭۈلدىكى خەت نۇسخىسىنىڭ ئاتى" - -#: ../gtk/gtksettings.c:431 -msgid "Icon Sizes" -msgstr "سىنبەلگە چوڭلۇقى" - -#: ../gtk/gtksettings.c:432 -msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -msgstr "" - -#: ../gtk/gtksettings.c:440 -msgid "GTK Modules" -msgstr "GTK بۆلەكلىرى" - -#: ../gtk/gtksettings.c:441 -msgid "List of currently active GTK modules" -msgstr "" - -#: ../gtk/gtksettings.c:450 -msgid "Xft Antialias" -msgstr "" - -#: ../gtk/gtksettings.c:451 -msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" -msgstr "" - -#: ../gtk/gtksettings.c:460 -msgid "Xft Hinting" -msgstr "" - -#: ../gtk/gtksettings.c:461 -msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" -msgstr "" - -#: ../gtk/gtksettings.c:470 -msgid "Xft Hint Style" -msgstr "" - -#: ../gtk/gtksettings.c:471 -msgid "" -"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -msgstr "" - -#: ../gtk/gtksettings.c:480 -msgid "Xft RGBA" -msgstr "" - -#: ../gtk/gtksettings.c:481 -msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" -msgstr "" - -#: ../gtk/gtksettings.c:490 -msgid "Xft DPI" -msgstr "" - -#: ../gtk/gtksettings.c:491 -msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -msgstr "" - -#: ../gtk/gtksettings.c:500 -msgid "Cursor theme name" -msgstr "نۇربەلگىسى ئۇسلۇبىنىڭ ئاتى" - -#: ../gtk/gtksettings.c:501 -msgid "Name of the cursor theme to use, or NULL to use the default theme" -msgstr "ئىشلىتىدىغان نۇربەلگە ئۇسلۇبىنىڭ ئاتى، ياكى كۆڭۈلدىكىنى ئىشلىتىش ئۈچۈن NULL قىلسا بولىدۇ" - -#: ../gtk/gtksettings.c:509 -msgid "Cursor theme size" -msgstr "نۇربەلگىسى ئۇسلۇبىنىڭ چوڭلۇقى" - -#: ../gtk/gtksettings.c:510 -msgid "Size to use for cursors, or 0 to use the default size" -msgstr "" - -#: ../gtk/gtksettings.c:520 -msgid "Alternative button order" -msgstr "" - -#: ../gtk/gtksettings.c:521 -msgid "Whether buttons in dialogs should use the alternative button order" -msgstr "" - -#: ../gtk/gtksettings.c:538 -msgid "Alternative sort indicator direction" -msgstr "" - -#: ../gtk/gtksettings.c:539 -msgid "" -"Whether the direction of the sort indicators in list and tree views is " -"inverted compared to the default (where down means ascending)" -msgstr "" - -#: ../gtk/gtksettings.c:547 -msgid "Show the 'Input Methods' menu" -msgstr "'كىرگۈزگۈچ' تىزىملىكىنى كۆرسەت" - -#: ../gtk/gtksettings.c:548 -msgid "" -"Whether the context menus of entries and text views should offer to change " -"the input method" -msgstr "" - -#: ../gtk/gtksettings.c:556 -msgid "Show the 'Insert Unicode Control Character' menu" -msgstr "" - -#: ../gtk/gtksettings.c:557 -msgid "" -"Whether the context menus of entries and text views should offer to insert " -"control characters" -msgstr "" - -#: ../gtk/gtksettings.c:565 -msgid "Start timeout" -msgstr "" - -#: ../gtk/gtksettings.c:566 -msgid "Starting value for timeouts, when button is pressed" -msgstr "" - -#: ../gtk/gtksettings.c:575 -msgid "Repeat timeout" -msgstr "" - -#: ../gtk/gtksettings.c:576 -msgid "Repeat value for timeouts, when button is pressed" -msgstr "" - -#: ../gtk/gtksettings.c:585 -msgid "Expand timeout" -msgstr "" - -#: ../gtk/gtksettings.c:586 -msgid "Expand value for timeouts, when a widget is expanding a new region" -msgstr "" - -#: ../gtk/gtksettings.c:621 -msgid "Color scheme" -msgstr "رەڭ نۇسخىسى" - -#: ../gtk/gtksettings.c:622 -msgid "A palette of named colors for use in themes" -msgstr "" - -#: ../gtk/gtksettings.c:631 -msgid "Enable Animations" -msgstr "جانلاندۇرۇمنى قوزغات" - -#: ../gtk/gtksettings.c:632 -msgid "Whether to enable toolkit-wide animations." -msgstr "" - -#: ../gtk/gtksettings.c:650 -msgid "Enable Touchscreen Mode" -msgstr "سېزىمچان ئېكران ھالىتىنى قوزغات" - -#: ../gtk/gtksettings.c:651 -msgid "When TRUE, there are no motion notify events delivered on this screen" -msgstr "" - -#: ../gtk/gtksettings.c:668 -msgid "Tooltip timeout" -msgstr "" - -#: ../gtk/gtksettings.c:669 -msgid "Timeout before tooltip is shown" -msgstr "" - -#: ../gtk/gtksettings.c:694 -msgid "Tooltip browse timeout" -msgstr "" - -#: ../gtk/gtksettings.c:695 -msgid "Timeout before tooltip is shown when browse mode is enabled" -msgstr "" - -#: ../gtk/gtksettings.c:716 -msgid "Tooltip browse mode timeout" -msgstr "" - -#: ../gtk/gtksettings.c:717 -msgid "Timeout after which browse mode is disabled" -msgstr "" - -#: ../gtk/gtksettings.c:736 -msgid "Keynav Cursor Only" -msgstr "" - -#: ../gtk/gtksettings.c:737 -msgid "When TRUE, there are only cursor keys available to navigate widgets" -msgstr "" - -#: ../gtk/gtksettings.c:754 -msgid "Keynav Wrap Around" -msgstr "" - -#: ../gtk/gtksettings.c:755 -msgid "Whether to wrap around when keyboard-navigating widgets" -msgstr "" - -#: ../gtk/gtksettings.c:775 -msgid "Error Bell" -msgstr "" - -#: ../gtk/gtksettings.c:776 -msgid "When TRUE, keyboard navigation and other errors will cause a beep" -msgstr "" - -#: ../gtk/gtksettings.c:793 -msgid "Color Hash" -msgstr "" - -#: ../gtk/gtksettings.c:794 -msgid "A hash table representation of the color scheme." -msgstr "" - -#: ../gtk/gtksettings.c:802 -msgid "Default file chooser backend" -msgstr "" - -#: ../gtk/gtksettings.c:803 -msgid "Name of the GtkFileChooser backend to use by default" -msgstr "" - -#: ../gtk/gtksettings.c:820 -msgid "Default print backend" -msgstr "" - -#: ../gtk/gtksettings.c:821 -msgid "List of the GtkPrintBackend backends to use by default" -msgstr "" - -#: ../gtk/gtksettings.c:844 -msgid "Default command to run when displaying a print preview" -msgstr "" - -#: ../gtk/gtksettings.c:845 -msgid "Command to run when displaying a print preview" -msgstr "" - -#: ../gtk/gtksettings.c:861 -msgid "Enable Mnemonics" -msgstr "" - -#: ../gtk/gtksettings.c:862 -msgid "Whether labels should have mnemonics" -msgstr "" - -#: ../gtk/gtksettings.c:878 -msgid "Enable Accelerators" -msgstr "" - -#: ../gtk/gtksettings.c:879 -msgid "Whether menu items should have accelerators" -msgstr "" - -#: ../gtk/gtksettings.c:896 -msgid "Recent Files Limit" -msgstr "" - -#: ../gtk/gtksettings.c:897 -msgid "Number of recently used files" -msgstr "يېقىندا ئىشلىتىلگەن ھۆججەت سانى" - -#: ../gtk/gtksettings.c:915 -msgid "Default IM module" -msgstr "" - -#: ../gtk/gtksettings.c:916 -msgid "Which IM module should be used by default" -msgstr "" - -#: ../gtk/gtksettings.c:934 -msgid "Recent Files Max Age" -msgstr "" - -#: ../gtk/gtksettings.c:935 -msgid "Maximum age of recently used files, in days" -msgstr "" - -#: ../gtk/gtksettings.c:944 -msgid "Fontconfig configuration timestamp" -msgstr "" - -#: ../gtk/gtksettings.c:945 -msgid "Timestamp of current fontconfig configuration" -msgstr "" - -#: ../gtk/gtksettings.c:967 -msgid "Sound Theme Name" -msgstr "" - -#: ../gtk/gtksettings.c:968 -msgid "XDG sound theme name" -msgstr "" - -#. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:990 -msgid "Audible Input Feedback" -msgstr "" - -#: ../gtk/gtksettings.c:991 -msgid "Whether to play event sounds as feedback to user input" -msgstr "" - -#: ../gtk/gtksettings.c:1012 -msgid "Enable Event Sounds" -msgstr "" - -#: ../gtk/gtksettings.c:1013 -msgid "Whether to play any event sounds at all" -msgstr "" - -#: ../gtk/gtksettings.c:1028 -msgid "Enable Tooltips" -msgstr "" - -#: ../gtk/gtksettings.c:1029 -msgid "Whether tooltips should be shown on widgets" -msgstr "" - -#: ../gtk/gtksettings.c:1042 -msgid "Toolbar style" -msgstr "" - -#: ../gtk/gtksettings.c:1043 -msgid "" -"Whether default toolbars have text only, text and icons, icons only, etc." -msgstr "" - -#: ../gtk/gtksettings.c:1057 -msgid "Toolbar Icon Size" -msgstr "قورال بالداقتىكى سىنبەلگە چوڭلۇقى" - -#: ../gtk/gtksettings.c:1058 -msgid "The size of icons in default toolbars." -msgstr "" - -#: ../gtk/gtksettings.c:1075 -msgid "Auto Mnemonics" -msgstr "" - -#: ../gtk/gtksettings.c:1076 -msgid "" -"Whether mnemonics should be automatically shown and hidden when the user " -"presses the mnemonic activator." -msgstr "" - -#: ../gtk/gtksettings.c:1101 -msgid "Application prefers a dark theme" -msgstr "" - -#: ../gtk/gtksettings.c:1102 -msgid "Whether the application prefers to have a dark theme." -msgstr "" - -#: ../gtk/gtksettings.c:1117 -msgid "Show button images" -msgstr "" - -#: ../gtk/gtksettings.c:1118 -msgid "Whether images should be shown on buttons" -msgstr "" - -#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 -msgid "Select on focus" -msgstr "" - -#: ../gtk/gtksettings.c:1127 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "" - -#: ../gtk/gtksettings.c:1144 -msgid "Password Hint Timeout" -msgstr "" - -#: ../gtk/gtksettings.c:1145 -msgid "How long to show the last input character in hidden entries" -msgstr "" - -#: ../gtk/gtksettings.c:1154 -msgid "Show menu images" -msgstr "" - -#: ../gtk/gtksettings.c:1155 -msgid "Whether images should be shown in menus" -msgstr "" - -#: ../gtk/gtksettings.c:1163 -msgid "Delay before drop down menus appear" -msgstr "" - -#: ../gtk/gtksettings.c:1164 -msgid "Delay before the submenus of a menu bar appear" -msgstr "" - -#: ../gtk/gtksettings.c:1181 -msgid "Scrolled Window Placement" -msgstr "" - -#: ../gtk/gtksettings.c:1182 -msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." -msgstr "" - -#: ../gtk/gtksettings.c:1191 -msgid "Can change accelerators" -msgstr "" - -#: ../gtk/gtksettings.c:1192 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "" - -#: ../gtk/gtksettings.c:1200 -msgid "Delay before submenus appear" -msgstr "" - -#: ../gtk/gtksettings.c:1201 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "" - -#: ../gtk/gtksettings.c:1210 -msgid "Delay before hiding a submenu" -msgstr "" - -#: ../gtk/gtksettings.c:1211 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "" - -#: ../gtk/gtksettings.c:1221 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "" - -#: ../gtk/gtksettings.c:1229 -msgid "Custom palette" -msgstr "" - -#: ../gtk/gtksettings.c:1230 -msgid "Palette to use in the color selector" -msgstr "" - -#: ../gtk/gtksettings.c:1238 -msgid "IM Preedit style" -msgstr "" - -#: ../gtk/gtksettings.c:1239 -msgid "How to draw the input method preedit string" -msgstr "" - -#: ../gtk/gtksettings.c:1248 -msgid "IM Status style" -msgstr "IM ھالەت ئۇسلۇبى" - -#: ../gtk/gtksettings.c:1249 -msgid "How to draw the input method statusbar" -msgstr "كىرگۈزگۈچ ھالەت بالدىقىنى قانداق سىزىدۇ" - -#: ../gtk/gtksizegroup.c:350 -msgid "Mode" -msgstr "ھالىتى" - -#: ../gtk/gtksizegroup.c:351 -msgid "" -"The directions in which the size group affects the requested sizes of its " -"component widgets" -msgstr "" - -#: ../gtk/gtksizegroup.c:367 -msgid "Ignore hidden" -msgstr "يوشۇرۇنغا پەرۋا قىلما" - -#: ../gtk/gtksizegroup.c:368 -msgid "" -"If TRUE, unmapped widgets are ignored when determining the size of the group" -msgstr "" - -#: ../gtk/gtkspinbutton.c:237 -msgid "Climb Rate" -msgstr "" - -#: ../gtk/gtkspinbutton.c:257 -msgid "Snap to Ticks" -msgstr "" - -#: ../gtk/gtkspinbutton.c:258 -msgid "" -"Whether erroneous values are automatically changed to a spin button's " -"nearest step increment" -msgstr "" - -#: ../gtk/gtkspinbutton.c:265 -msgid "Numeric" -msgstr "سان" - -#: ../gtk/gtkspinbutton.c:266 -msgid "Whether non-numeric characters should be ignored" -msgstr "" - -#: ../gtk/gtkspinbutton.c:273 -msgid "Wrap" -msgstr "قەۋەتلەش" - -#: ../gtk/gtkspinbutton.c:274 -msgid "Whether a spin button should wrap upon reaching its limits" -msgstr "" - -#: ../gtk/gtkspinbutton.c:281 -msgid "Update Policy" -msgstr "" - -#: ../gtk/gtkspinbutton.c:282 -msgid "" -"Whether the spin button should update always, or only when the value is legal" -msgstr "" - -#: ../gtk/gtkspinbutton.c:291 -msgid "Reads the current value, or sets a new value" -msgstr "ھازىرقى قىممەتنى ئوقۇيدۇ ياكى يېڭى قىممەتنى بېرىدۇ" - -#: ../gtk/gtkspinbutton.c:300 -msgid "Style of bevel around the spin button" -msgstr "" - -#: ../gtk/gtkspinner.c:119 -msgid "Whether the spinner is active" -msgstr "" - -#: ../gtk/gtkspinner.c:135 -msgid "Number of steps" -msgstr "قەدەم سانى" - -#: ../gtk/gtkspinner.c:136 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" - -#: ../gtk/gtkspinner.c:153 -msgid "Animation duration" -msgstr "جانلاندۇرۇم مۇددىتى" - -#: ../gtk/gtkspinner.c:154 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" - -#: ../gtk/gtkstatusbar.c:181 -msgid "Style of bevel around the statusbar text" -msgstr "" - -#: ../gtk/gtkstatusicon.c:270 -msgid "The size of the icon" -msgstr "" - -#: ../gtk/gtkstatusicon.c:280 -msgid "The screen where this status icon will be displayed" -msgstr "" - -#: ../gtk/gtkstatusicon.c:288 -msgid "Whether the status icon is visible" -msgstr "" - -#: ../gtk/gtkstatusicon.c:304 -msgid "Whether the status icon is embedded" -msgstr "" - -#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 -msgid "The orientation of the tray" -msgstr "" - -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 -msgid "Has tooltip" -msgstr "" - -#: ../gtk/gtkstatusicon.c:348 -msgid "Whether this tray icon has a tooltip" -msgstr "" - -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 -msgid "Tooltip Text" -msgstr "" - -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 -msgid "The contents of the tooltip for this widget" -msgstr "" - -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 -msgid "Tooltip markup" -msgstr "" - -#: ../gtk/gtkstatusicon.c:398 -msgid "The contents of the tooltip for this tray icon" -msgstr "" - -#: ../gtk/gtkstatusicon.c:416 -msgid "The title of this tray icon" -msgstr "" - -#: ../gtk/gtkstyle.c:470 -msgid "Style context" -msgstr "" - -#: ../gtk/gtkstyle.c:471 -msgid "GtkStyleContext to get style from" -msgstr "" - -#: ../gtk/gtkswitch.c:739 -msgid "Whether the switch is on or off" -msgstr "" - -#: ../gtk/gtkswitch.c:773 -msgid "The minimum width of the handle" -msgstr "" - -#: ../gtk/gtktable.c:157 -msgid "Rows" -msgstr "قۇرلار" - -#: ../gtk/gtktable.c:158 -msgid "The number of rows in the table" -msgstr "" - -#: ../gtk/gtktable.c:166 -msgid "Columns" -msgstr "ئىستونلار" - -#: ../gtk/gtktable.c:167 -msgid "The number of columns in the table" -msgstr "" - -#: ../gtk/gtktable.c:175 -msgid "Row spacing" -msgstr "قۇر بوشلۇقى" - -#: ../gtk/gtktable.c:176 -msgid "The amount of space between two consecutive rows" -msgstr "ئارقىمۇئارقا كەلگەن ئىككى قۇرنىڭ ئارىسىدىكى بوشلۇق" - -#: ../gtk/gtktable.c:184 -msgid "Column spacing" -msgstr "ئىستون بوشلۇقى" - -#: ../gtk/gtktable.c:185 -msgid "The amount of space between two consecutive columns" -msgstr "ئارقىمۇئارقا كەلگەن ئىككى ئىستوننىڭ ئارىسىدىكى بوشلۇق" - -#: ../gtk/gtktable.c:194 -msgid "If TRUE, the table cells are all the same width/height" -msgstr "" - -#: ../gtk/gtktable.c:201 -msgid "Left attachment" -msgstr "" - -#: ../gtk/gtktable.c:208 -msgid "Right attachment" -msgstr "" - -#: ../gtk/gtktable.c:209 -msgid "The column number to attach the right side of a child widget to" -msgstr "" - -#: ../gtk/gtktable.c:215 -msgid "Top attachment" -msgstr "" - -#: ../gtk/gtktable.c:216 -msgid "The row number to attach the top of a child widget to" -msgstr "" - -#: ../gtk/gtktable.c:222 -msgid "Bottom attachment" -msgstr "" - -#: ../gtk/gtktable.c:229 -msgid "Horizontal options" -msgstr "" - -#: ../gtk/gtktable.c:230 -msgid "Options specifying the horizontal behaviour of the child" -msgstr "" - -#: ../gtk/gtktable.c:236 -msgid "Vertical options" -msgstr "" - -#: ../gtk/gtktable.c:237 -msgid "Options specifying the vertical behaviour of the child" -msgstr "" - -#: ../gtk/gtktable.c:243 -msgid "Horizontal padding" -msgstr "" - -#: ../gtk/gtktable.c:244 -msgid "" -"Extra space to put between the child and its left and right neighbors, in " -"pixels" -msgstr "" - -#: ../gtk/gtktable.c:250 -msgid "Vertical padding" -msgstr "" - -#: ../gtk/gtktable.c:251 -msgid "" -"Extra space to put between the child and its upper and lower neighbors, in " -"pixels" -msgstr "" - -#: ../gtk/gtktextbuffer.c:191 -msgid "Tag Table" -msgstr "" - -#: ../gtk/gtktextbuffer.c:192 -msgid "Text Tag Table" -msgstr "" - -#: ../gtk/gtktextbuffer.c:210 -msgid "Current text of the buffer" -msgstr "" - -#: ../gtk/gtktextbuffer.c:224 -msgid "Has selection" -msgstr "" - -#: ../gtk/gtktextbuffer.c:225 -msgid "Whether the buffer has some text currently selected" -msgstr "" - -#: ../gtk/gtktextbuffer.c:241 -msgid "Cursor position" -msgstr "نۇربەلگىسىنىڭ ئورنى" - -#: ../gtk/gtktextbuffer.c:242 -msgid "" -"The position of the insert mark (as offset from the beginning of the buffer)" -msgstr "" - -#: ../gtk/gtktextbuffer.c:257 -msgid "Copy target list" -msgstr "" - -#: ../gtk/gtktextbuffer.c:258 -msgid "" -"The list of targets this buffer supports for clipboard copying and DND source" -msgstr "" - -#: ../gtk/gtktextbuffer.c:273 -msgid "Paste target list" -msgstr "" - -#: ../gtk/gtktextbuffer.c:274 -msgid "" -"The list of targets this buffer supports for clipboard pasting and DND " -"destination" -msgstr "" - -#: ../gtk/gtktextmark.c:90 -msgid "Mark name" -msgstr "" - -#: ../gtk/gtktextmark.c:97 -msgid "Left gravity" -msgstr "" - -#: ../gtk/gtktextmark.c:98 -msgid "Whether the mark has left gravity" -msgstr "" - -#: ../gtk/gtktexttag.c:168 -msgid "Tag name" -msgstr "خەتكۈش ئاتى" - -#: ../gtk/gtktexttag.c:169 -msgid "Name used to refer to the text tag. NULL for anonymous tags" -msgstr "" - -#: ../gtk/gtktexttag.c:187 -msgid "Background color as a (possibly unallocated) GdkColor" -msgstr "" - -#: ../gtk/gtktexttag.c:194 -msgid "Background full height" -msgstr "" - -#: ../gtk/gtktexttag.c:195 -msgid "" -"Whether the background color fills the entire line height or only the height " -"of the tagged characters" -msgstr "" - -#: ../gtk/gtktexttag.c:211 -msgid "Foreground color as a (possibly unallocated) GdkColor" -msgstr "" - -#: ../gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "تېكىست يۆنىلىشى" - -#: ../gtk/gtktexttag.c:219 -msgid "Text direction, e.g. right-to-left or left-to-right" -msgstr "" - -#: ../gtk/gtktexttag.c:268 -msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" -msgstr "" - -#: ../gtk/gtktexttag.c:277 -msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" -msgstr "" - -#: ../gtk/gtktexttag.c:286 -msgid "" -"Font weight as an integer, see predefined values in PangoWeight; for " -"example, PANGO_WEIGHT_BOLD" -msgstr "" - -#: ../gtk/gtktexttag.c:297 -msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" -msgstr "" - -#: ../gtk/gtktexttag.c:306 -msgid "Font size in Pango units" -msgstr "" - -#: ../gtk/gtktexttag.c:316 -msgid "" -"Font size as a scale factor relative to the default font size. This properly " -"adapts to theme changes etc. so is recommended. Pango predefines some scales " -"such as PANGO_SCALE_X_LARGE" -msgstr "" - -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 -msgid "Left, right, or center justification" -msgstr "" - -#: ../gtk/gtktexttag.c:355 -msgid "" -"The language this text is in, as an ISO code. Pango can use this as a hint " -"when rendering the text. If not set, an appropriate default will be used." -msgstr "" - -#: ../gtk/gtktexttag.c:362 -msgid "Left margin" -msgstr "سول بەت يېنى" - -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 -msgid "Width of the left margin in pixels" -msgstr "" - -#: ../gtk/gtktexttag.c:372 -msgid "Right margin" -msgstr "ئوڭ بەت يېنى" - -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 -msgid "Width of the right margin in pixels" -msgstr "" - -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 -msgid "Indent" -msgstr "تارايت" - -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 -msgid "Amount to indent the paragraph, in pixels" -msgstr "" - -#: ../gtk/gtktexttag.c:395 -msgid "" -"Offset of text above the baseline (below the baseline if rise is negative) " -"in Pango units" -msgstr "" - -#: ../gtk/gtktexttag.c:404 -msgid "Pixels above lines" -msgstr "" - -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 -msgid "Pixels of blank space above paragraphs" -msgstr "" - -#: ../gtk/gtktexttag.c:414 -msgid "Pixels below lines" -msgstr "" - -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 -msgid "Pixels of blank space below paragraphs" -msgstr "" - -#: ../gtk/gtktexttag.c:424 -msgid "Pixels inside wrap" -msgstr "" - -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 -msgid "Pixels of blank space between wrapped lines in a paragraph" -msgstr "" - -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 -msgid "" -"Whether to wrap lines never, at word boundaries, or at character boundaries" -msgstr "" - -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 -msgid "Tabs" -msgstr "بەتكۈچ" - -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 -msgid "Custom tabs for this text" -msgstr "" - -#: ../gtk/gtktexttag.c:480 -msgid "Invisible" -msgstr "يوشۇرۇن" - -#: ../gtk/gtktexttag.c:481 -msgid "Whether this text is hidden." -msgstr "" - -#: ../gtk/gtktexttag.c:495 -msgid "Paragraph background color name" -msgstr "" - -#: ../gtk/gtktexttag.c:496 -msgid "Paragraph background color as a string" -msgstr "" - -#: ../gtk/gtktexttag.c:511 -msgid "Paragraph background color" -msgstr "" - -#: ../gtk/gtktexttag.c:512 -msgid "Paragraph background color as a (possibly unallocated) GdkColor" -msgstr "" - -#: ../gtk/gtktexttag.c:530 -msgid "Margin Accumulates" -msgstr "" - -#: ../gtk/gtktexttag.c:531 -msgid "Whether left and right margins accumulate." -msgstr "" - -#: ../gtk/gtktexttag.c:544 -msgid "Background full height set" -msgstr "" - -#: ../gtk/gtktexttag.c:545 -msgid "Whether this tag affects background height" -msgstr "" - -#: ../gtk/gtktexttag.c:584 -msgid "Justification set" -msgstr "" - -#: ../gtk/gtktexttag.c:585 -msgid "Whether this tag affects paragraph justification" -msgstr "" - -#: ../gtk/gtktexttag.c:592 -msgid "Left margin set" -msgstr "" - -#: ../gtk/gtktexttag.c:593 -msgid "Whether this tag affects the left margin" -msgstr "" - -#: ../gtk/gtktexttag.c:596 -msgid "Indent set" -msgstr "" - -#: ../gtk/gtktexttag.c:597 -msgid "Whether this tag affects indentation" -msgstr "" - -#: ../gtk/gtktexttag.c:604 -msgid "Pixels above lines set" -msgstr "" - -#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 -msgid "Whether this tag affects the number of pixels above lines" -msgstr "" - -#: ../gtk/gtktexttag.c:608 -msgid "Pixels below lines set" -msgstr "" - -#: ../gtk/gtktexttag.c:612 -msgid "Pixels inside wrap set" -msgstr "" - -#: ../gtk/gtktexttag.c:613 -msgid "Whether this tag affects the number of pixels between wrapped lines" -msgstr "" - -#: ../gtk/gtktexttag.c:620 -msgid "Right margin set" -msgstr "" - -#: ../gtk/gtktexttag.c:621 -msgid "Whether this tag affects the right margin" -msgstr "" - -#: ../gtk/gtktexttag.c:628 -msgid "Wrap mode set" -msgstr "" - -#: ../gtk/gtktexttag.c:629 -msgid "Whether this tag affects line wrap mode" -msgstr "" - -#: ../gtk/gtktexttag.c:632 -msgid "Tabs set" -msgstr "" - -#: ../gtk/gtktexttag.c:633 -msgid "Whether this tag affects tabs" -msgstr "" - -#: ../gtk/gtktexttag.c:636 -msgid "Invisible set" -msgstr "كۆرۈنمەيدىغان توپلام" - -#: ../gtk/gtktexttag.c:637 -msgid "Whether this tag affects text visibility" -msgstr "" - -#: ../gtk/gtktexttag.c:640 -msgid "Paragraph background set" -msgstr "" - -#: ../gtk/gtktexttag.c:641 -msgid "Whether this tag affects the paragraph background color" -msgstr "" - -#: ../gtk/gtktextview.c:654 -msgid "Pixels Above Lines" -msgstr "" - -#: ../gtk/gtktextview.c:664 -msgid "Pixels Below Lines" -msgstr "" - -#: ../gtk/gtktextview.c:674 -msgid "Pixels Inside Wrap" -msgstr "" - -#: ../gtk/gtktextview.c:692 -msgid "Wrap Mode" -msgstr "قۇر قاتلاش ھالىتى" - -#: ../gtk/gtktextview.c:710 -msgid "Left Margin" -msgstr "سولدىكى بوشلۇق" - -#: ../gtk/gtktextview.c:720 -msgid "Right Margin" -msgstr "ئوڭ بوشلۇق" - -#: ../gtk/gtktextview.c:748 -msgid "Cursor Visible" -msgstr "نۇربەلگىسىنى كۆرسىتىش" - -#: ../gtk/gtktextview.c:749 -msgid "If the insertion cursor is shown" -msgstr "" - -#: ../gtk/gtktextview.c:756 -msgid "Buffer" -msgstr "يىغلەك" - -#: ../gtk/gtktextview.c:757 -msgid "The buffer which is displayed" -msgstr "" - -#: ../gtk/gtktextview.c:765 -msgid "Whether entered text overwrites existing contents" -msgstr "" - -#: ../gtk/gtktextview.c:772 -msgid "Accepts tab" -msgstr "" - -#: ../gtk/gtktextview.c:773 -msgid "Whether Tab will result in a tab character being entered" -msgstr "" - -#: ../gtk/gtktextview.c:808 -msgid "Error underline color" -msgstr "" - -#: ../gtk/gtktextview.c:809 -msgid "Color with which to draw error-indication underlines" -msgstr "" - -#: ../gtk/gtktoggleaction.c:118 -msgid "Create the same proxies as a radio action" -msgstr "" - -#: ../gtk/gtktoggleaction.c:119 -msgid "Whether the proxies for this action look like radio action proxies" -msgstr "" - -#: ../gtk/gtktoggleaction.c:134 -msgid "Whether the toggle action should be active" -msgstr "" - -#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 -msgid "If the toggle button should be pressed in" -msgstr "" - -#: ../gtk/gtktogglebutton.c:134 -msgid "If the toggle button is in an \"in between\" state" -msgstr "" - -#: ../gtk/gtktogglebutton.c:141 -msgid "Draw Indicator" -msgstr "" - -#: ../gtk/gtktogglebutton.c:142 -msgid "If the toggle part of the button is displayed" -msgstr "" - -#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 -msgid "Toolbar Style" -msgstr "قورال بالداق ئۇسلۇبى" - -#: ../gtk/gtktoolbar.c:492 -msgid "How to draw the toolbar" -msgstr "قورال بالدىقىنى قانداق سىزىدۇ" - -#: ../gtk/gtktoolbar.c:499 -msgid "Show Arrow" -msgstr "" - -#: ../gtk/gtktoolbar.c:500 -msgid "If an arrow should be shown if the toolbar doesn't fit" -msgstr "" - -#: ../gtk/gtktoolbar.c:521 -msgid "Size of icons in this toolbar" -msgstr "" - -#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 -msgid "Icon size set" -msgstr "" - -#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 -msgid "Whether the icon-size property has been set" -msgstr "" - -#: ../gtk/gtktoolbar.c:546 -msgid "Whether the item should receive extra space when the toolbar grows" -msgstr "" - -#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 -msgid "Whether the item should be the same size as other homogeneous items" -msgstr "" - -#: ../gtk/gtktoolbar.c:561 -msgid "Spacer size" -msgstr "" - -#: ../gtk/gtktoolbar.c:562 -msgid "Size of spacers" -msgstr "" - -#: ../gtk/gtktoolbar.c:571 -msgid "Amount of border space between the toolbar shadow and the buttons" -msgstr "قورال بالدىقىنىڭ سايىسى بىلەن توپچىلار ئارىسىدىكى گىرۋەك بوشلۇقىنىڭ مىقدارى" - -#: ../gtk/gtktoolbar.c:579 -msgid "Maximum child expand" -msgstr "" - -#: ../gtk/gtktoolbar.c:580 -msgid "Maximum amount of space an expandable item will be given" -msgstr "" - -#: ../gtk/gtktoolbar.c:588 -msgid "Space style" -msgstr "" - -#: ../gtk/gtktoolbar.c:589 -msgid "Whether spacers are vertical lines or just blank" -msgstr "" - -#: ../gtk/gtktoolbar.c:596 -msgid "Button relief" -msgstr "" - -#: ../gtk/gtktoolbar.c:597 -msgid "Type of bevel around toolbar buttons" -msgstr "" - -#: ../gtk/gtktoolbar.c:604 -msgid "Style of bevel around the toolbar" -msgstr "" - -#: ../gtk/gtktoolbutton.c:203 -msgid "Text to show in the item." -msgstr "" - -#: ../gtk/gtktoolbutton.c:210 -msgid "" -"If set, an underline in the label property indicates that the next character " -"should be used for the mnemonic accelerator key in the overflow menu" -msgstr "" - -#: ../gtk/gtktoolbutton.c:217 -msgid "Widget to use as the item label" -msgstr "" - -#: ../gtk/gtktoolbutton.c:223 -msgid "Stock Id" -msgstr "" - -#: ../gtk/gtktoolbutton.c:224 -msgid "The stock icon displayed on the item" -msgstr "" - -#: ../gtk/gtktoolbutton.c:240 -msgid "Icon name" -msgstr "سىنبەلگە ئاتى" - -#: ../gtk/gtktoolbutton.c:241 -msgid "The name of the themed icon displayed on the item" -msgstr "" - -#: ../gtk/gtktoolbutton.c:247 -msgid "Icon widget" -msgstr "" - -#: ../gtk/gtktoolbutton.c:248 -msgid "Icon widget to display in the item" -msgstr "" - -#: ../gtk/gtktoolbutton.c:261 -msgid "Icon spacing" -msgstr "" - -#: ../gtk/gtktoolbutton.c:262 -msgid "Spacing in pixels between the icon and label" -msgstr "" - -#: ../gtk/gtktoolitem.c:210 -msgid "" -"Whether the toolbar item is considered important. When TRUE, toolbar buttons " -"show text in GTK_TOOLBAR_BOTH_HORIZ mode" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1589 -msgid "The human-readable title of this item group" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1596 -msgid "A widget to display in place of the usual label" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1602 -msgid "Collapsed" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1603 -msgid "Whether the group has been collapsed and items are hidden" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1609 -msgid "ellipsize" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1610 -msgid "Ellipsize for item group headers" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1616 -msgid "Header Relief" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1617 -msgid "Relief of the group header button" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1632 -msgid "Header Spacing" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1633 -msgid "Spacing between expander arrow and caption" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1649 -msgid "Whether the item should receive extra space when the group grows" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1656 -msgid "Whether the item should fill the available space" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1662 -msgid "New Row" -msgstr "يېڭى قۇر" - -#: ../gtk/gtktoolitemgroup.c:1663 -msgid "Whether the item should start a new row" -msgstr "" - -#: ../gtk/gtktoolitemgroup.c:1670 -msgid "Position of the item within this group" -msgstr "" - -#: ../gtk/gtktoolpalette.c:1031 -msgid "Size of icons in this tool palette" -msgstr "" - -#: ../gtk/gtktoolpalette.c:1061 -msgid "Style of items in the tool palette" -msgstr "" - -#: ../gtk/gtktoolpalette.c:1077 -msgid "Exclusive" -msgstr "" - -#: ../gtk/gtktoolpalette.c:1078 -msgid "Whether the item group should be the only expanded at a given time" -msgstr "" - -#: ../gtk/gtktoolpalette.c:1093 -msgid "" -"Whether the item group should receive extra space when the palette grows" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:134 -msgid "Foreground color for symbolic icons" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:141 -msgid "Error color" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:142 -msgid "Error color for symbolic icons" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:149 -msgid "Warning color" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:150 -msgid "Warning color for symbolic icons" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:157 -msgid "Success color" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:158 -msgid "Success color for symbolic icons" -msgstr "" - -#: ../gtk/gtktrayicon-x11.c:166 -msgid "Padding that should be put around icons in the tray" -msgstr "" - -#: ../gtk/gtktreemodelsort.c:310 -msgid "TreeModelSort Model" -msgstr "" - -#: ../gtk/gtktreemodelsort.c:311 -msgid "The model for the TreeModelSort to sort" -msgstr "" - -#: ../gtk/gtktreeview.c:988 -msgid "TreeView Model" -msgstr "" - -#: ../gtk/gtktreeview.c:989 -msgid "The model for the tree view" -msgstr "" - -#: ../gtk/gtktreeview.c:1001 -msgid "Headers Visible" -msgstr "" - -#: ../gtk/gtktreeview.c:1002 -msgid "Show the column header buttons" -msgstr "" - -#: ../gtk/gtktreeview.c:1009 -msgid "Headers Clickable" -msgstr "" - -#: ../gtk/gtktreeview.c:1010 -msgid "Column headers respond to click events" -msgstr "" - -#: ../gtk/gtktreeview.c:1017 -msgid "Expander Column" -msgstr "" - -#: ../gtk/gtktreeview.c:1018 -msgid "Set the column for the expander column" -msgstr "" - -#: ../gtk/gtktreeview.c:1033 -msgid "Rules Hint" -msgstr "" - -#: ../gtk/gtktreeview.c:1034 -msgid "Set a hint to the theme engine to draw rows in alternating colors" -msgstr "" - -#: ../gtk/gtktreeview.c:1041 -msgid "Enable Search" -msgstr "ئىزدەشنى قوزغات" - -#: ../gtk/gtktreeview.c:1042 -msgid "View allows user to search through columns interactively" -msgstr "كۆرسىتىش ئىستونىنى ئۆز-ئارا ماسلاشتۇرۇپ ئىزدىيەلەيدىغان قىلىش" - -#: ../gtk/gtktreeview.c:1049 -msgid "Search Column" -msgstr "ئىزدەش ئىستونى" - -#: ../gtk/gtktreeview.c:1050 -msgid "Model column to search through during interactive search" -msgstr "" - -#: ../gtk/gtktreeview.c:1070 -msgid "Fixed Height Mode" -msgstr "" - -#: ../gtk/gtktreeview.c:1071 -msgid "Speeds up GtkTreeView by assuming that all rows have the same height" -msgstr "" - -#: ../gtk/gtktreeview.c:1091 -msgid "Hover Selection" -msgstr "" - -#: ../gtk/gtktreeview.c:1092 -msgid "Whether the selection should follow the pointer" -msgstr "" - -#: ../gtk/gtktreeview.c:1111 -msgid "Hover Expand" -msgstr "" - -#: ../gtk/gtktreeview.c:1112 -msgid "" -"Whether rows should be expanded/collapsed when the pointer moves over them" -msgstr "" - -#: ../gtk/gtktreeview.c:1126 -msgid "Show Expanders" -msgstr "" - -#: ../gtk/gtktreeview.c:1127 -msgid "View has expanders" -msgstr "" - -#: ../gtk/gtktreeview.c:1141 -msgid "Level Indentation" -msgstr "" - -#: ../gtk/gtktreeview.c:1142 -msgid "Extra indentation for each level" -msgstr "" - -#: ../gtk/gtktreeview.c:1151 -msgid "Rubber Banding" -msgstr "" - -#: ../gtk/gtktreeview.c:1152 -msgid "" -"Whether to enable selection of multiple items by dragging the mouse pointer" -msgstr "" - -#: ../gtk/gtktreeview.c:1159 -msgid "Enable Grid Lines" -msgstr "" - -#: ../gtk/gtktreeview.c:1160 -msgid "Whether grid lines should be drawn in the tree view" -msgstr "" - -#: ../gtk/gtktreeview.c:1168 -msgid "Enable Tree Lines" -msgstr "" - -#: ../gtk/gtktreeview.c:1169 -msgid "Whether tree lines should be drawn in the tree view" -msgstr "" - -#: ../gtk/gtktreeview.c:1177 -msgid "The column in the model containing the tooltip texts for the rows" -msgstr "" - -#: ../gtk/gtktreeview.c:1199 -msgid "Vertical Separator Width" -msgstr "" - -#: ../gtk/gtktreeview.c:1200 -msgid "Vertical space between cells. Must be an even number" -msgstr "" - -#: ../gtk/gtktreeview.c:1208 -msgid "Horizontal Separator Width" -msgstr "" - -#: ../gtk/gtktreeview.c:1209 -msgid "Horizontal space between cells. Must be an even number" -msgstr "" - -#: ../gtk/gtktreeview.c:1217 -msgid "Allow Rules" -msgstr "" - -#: ../gtk/gtktreeview.c:1218 -msgid "Allow drawing of alternating color rows" -msgstr "" - -#: ../gtk/gtktreeview.c:1224 -msgid "Indent Expanders" -msgstr "" - -#: ../gtk/gtktreeview.c:1225 -msgid "Make the expanders indented" -msgstr "" - -#: ../gtk/gtktreeview.c:1231 -msgid "Even Row Color" -msgstr "" - -#: ../gtk/gtktreeview.c:1232 -msgid "Color to use for even rows" -msgstr "" - -#: ../gtk/gtktreeview.c:1238 -msgid "Odd Row Color" -msgstr "تاق قۇرنىڭ رەڭگى" - -#: ../gtk/gtktreeview.c:1239 -msgid "Color to use for odd rows" -msgstr "" - -#: ../gtk/gtktreeview.c:1245 -msgid "Grid line width" -msgstr "" - -#: ../gtk/gtktreeview.c:1246 -msgid "Width, in pixels, of the tree view grid lines" -msgstr "" - -#: ../gtk/gtktreeview.c:1252 -msgid "Tree line width" -msgstr "" - -#: ../gtk/gtktreeview.c:1253 -msgid "Width, in pixels, of the tree view lines" -msgstr "" - -#: ../gtk/gtktreeview.c:1259 -msgid "Grid line pattern" -msgstr "" - -#: ../gtk/gtktreeview.c:1260 -msgid "Dash pattern used to draw the tree view grid lines" -msgstr "" - -#: ../gtk/gtktreeview.c:1266 -msgid "Tree line pattern" -msgstr "" - -#: ../gtk/gtktreeview.c:1267 -msgid "Dash pattern used to draw the tree view lines" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:243 -msgid "Whether to display the column" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 -msgid "Resizable" -msgstr "چوڭلۇقىنى ئۆزگەرتكىلى بولىدۇ" - -#: ../gtk/gtktreeviewcolumn.c:251 -msgid "Column is user-resizable" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:259 -msgid "Current width of the column" -msgstr "ئىستوننىڭ ھازىرقى كەڭلىكى" - -#: ../gtk/gtktreeviewcolumn.c:268 -msgid "Space which is inserted between cells" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:276 -msgid "Sizing" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:277 -msgid "Resize mode of the column" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:285 -msgid "Fixed Width" -msgstr "مۇقىم كەڭلىكتە" - -#: ../gtk/gtktreeviewcolumn.c:286 -msgid "Current fixed width of the column" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:295 -msgid "Minimum Width" -msgstr "ئەڭ كىچىك كەڭلىك" - -#: ../gtk/gtktreeviewcolumn.c:296 -msgid "Minimum allowed width of the column" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:305 -msgid "Maximum Width" -msgstr "ئەڭ چوڭ كەڭلىكى" - -#: ../gtk/gtktreeviewcolumn.c:306 -msgid "Maximum allowed width of the column" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:316 -msgid "Title to appear in column header" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:324 -msgid "Column gets share of extra width allocated to the widget" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:331 -msgid "Clickable" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:332 -msgid "Whether the header can be clicked" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:340 -msgid "Widget" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:341 -msgid "Widget to put in column header button instead of column title" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:349 -msgid "X Alignment of the column header text or widget" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:359 -msgid "Whether the column can be reordered around the headers" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:366 -msgid "Sort indicator" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:367 -msgid "Whether to show a sort indicator" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:374 -msgid "Sort order" -msgstr "تەرتىپلەش تەرتىپى" - -#: ../gtk/gtktreeviewcolumn.c:375 -msgid "Sort direction the sort indicator should indicate" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:391 -msgid "Sort column ID" -msgstr "" - -#: ../gtk/gtktreeviewcolumn.c:392 -msgid "Logical sort column ID this column sorts on when selected for sorting" -msgstr "" - -#: ../gtk/gtkuimanager.c:225 -msgid "Whether tearoff menu items should be added to menus" -msgstr "" - -#: ../gtk/gtkuimanager.c:232 -msgid "Merged UI definition" -msgstr "" - -#: ../gtk/gtkuimanager.c:233 -msgid "An XML string describing the merged UI" -msgstr "" - -#: ../gtk/gtkviewport.c:155 -msgid "Determines how the shadowed box around the viewport is drawn" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:156 -msgid "Use symbolic icons" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:157 -msgid "Whether to use symbolic icons" -msgstr "" - -#: ../gtk/gtkwidget.c:893 -msgid "Widget name" -msgstr "" - -#: ../gtk/gtkwidget.c:894 -msgid "The name of the widget" -msgstr "widget نىڭ ئاتى" - -#: ../gtk/gtkwidget.c:900 -msgid "Parent widget" -msgstr "" - -#: ../gtk/gtkwidget.c:901 -msgid "The parent widget of this widget. Must be a Container widget" -msgstr "" - -#: ../gtk/gtkwidget.c:908 -msgid "Width request" -msgstr "" - -#: ../gtk/gtkwidget.c:909 -msgid "" -"Override for width request of the widget, or -1 if natural request should be " -"used" -msgstr "" - -#: ../gtk/gtkwidget.c:917 -msgid "Height request" -msgstr "" - -#: ../gtk/gtkwidget.c:918 -msgid "" -"Override for height request of the widget, or -1 if natural request should " -"be used" -msgstr "" - -#: ../gtk/gtkwidget.c:927 -msgid "Whether the widget is visible" -msgstr "widget ھوقۇق كۆرۈنەمدۇ يوق" - -#: ../gtk/gtkwidget.c:934 -msgid "Whether the widget responds to input" -msgstr "" - -#: ../gtk/gtkwidget.c:940 -msgid "Application paintable" -msgstr "" - -#: ../gtk/gtkwidget.c:941 -msgid "Whether the application will paint directly on the widget" -msgstr "" - -#: ../gtk/gtkwidget.c:947 -msgid "Can focus" -msgstr "" - -#: ../gtk/gtkwidget.c:948 -msgid "Whether the widget can accept the input focus" -msgstr "" - -#: ../gtk/gtkwidget.c:954 -msgid "Has focus" -msgstr "" - -#: ../gtk/gtkwidget.c:955 -msgid "Whether the widget has the input focus" -msgstr "" - -#: ../gtk/gtkwidget.c:961 -msgid "Is focus" -msgstr "" - -#: ../gtk/gtkwidget.c:962 -msgid "Whether the widget is the focus widget within the toplevel" -msgstr "" - -#: ../gtk/gtkwidget.c:968 -msgid "Can default" -msgstr "" - -#: ../gtk/gtkwidget.c:969 -msgid "Whether the widget can be the default widget" -msgstr "" - -#: ../gtk/gtkwidget.c:975 -msgid "Has default" -msgstr "" - -#: ../gtk/gtkwidget.c:976 -msgid "Whether the widget is the default widget" -msgstr "" - -#: ../gtk/gtkwidget.c:982 -msgid "Receives default" -msgstr "" - -#: ../gtk/gtkwidget.c:983 -msgid "If TRUE, the widget will receive the default action when it is focused" -msgstr "" - -#: ../gtk/gtkwidget.c:989 -msgid "Composite child" -msgstr "" - -#: ../gtk/gtkwidget.c:990 -msgid "Whether the widget is part of a composite widget" -msgstr "" - -#: ../gtk/gtkwidget.c:996 -msgid "Style" -msgstr "ئۇسلۇب" - -#: ../gtk/gtkwidget.c:997 -msgid "" -"The style of the widget, which contains information about how it will look " -"(colors etc)" -msgstr "" - -#: ../gtk/gtkwidget.c:1003 -msgid "Events" -msgstr "ھادىسە" - -#: ../gtk/gtkwidget.c:1004 -msgid "The event mask that decides what kind of GdkEvents this widget gets" -msgstr "" - -#: ../gtk/gtkwidget.c:1011 -msgid "No show all" -msgstr "" - -#: ../gtk/gtkwidget.c:1012 -msgid "Whether gtk_widget_show_all() should not affect this widget" -msgstr "" - -#: ../gtk/gtkwidget.c:1035 -msgid "Whether this widget has a tooltip" -msgstr "" - -#: ../gtk/gtkwidget.c:1091 -msgid "Window" -msgstr "كۆزنەك" - -#: ../gtk/gtkwidget.c:1092 -msgid "The widget's window if it is realized" -msgstr "" - -#: ../gtk/gtkwidget.c:1106 -msgid "Double Buffered" -msgstr "قوش يىغلەك" - -#: ../gtk/gtkwidget.c:1107 -msgid "Whether the widget is double buffered" -msgstr "" - -#: ../gtk/gtkwidget.c:1122 -msgid "How to position in extra horizontal space" -msgstr "" - -#: ../gtk/gtkwidget.c:1138 -msgid "How to position in extra vertical space" -msgstr "" - -#: ../gtk/gtkwidget.c:1157 -msgid "Margin on Left" -msgstr "" - -#: ../gtk/gtkwidget.c:1158 -msgid "Pixels of extra space on the left side" -msgstr "" - -#: ../gtk/gtkwidget.c:1178 -msgid "Margin on Right" -msgstr "" - -#: ../gtk/gtkwidget.c:1179 -msgid "Pixels of extra space on the right side" -msgstr "" - -#: ../gtk/gtkwidget.c:1199 -msgid "Margin on Top" -msgstr "" - -#: ../gtk/gtkwidget.c:1200 -msgid "Pixels of extra space on the top side" -msgstr "" - -#: ../gtk/gtkwidget.c:1220 -msgid "Margin on Bottom" -msgstr "" - -#: ../gtk/gtkwidget.c:1221 -msgid "Pixels of extra space on the bottom side" -msgstr "" - -#: ../gtk/gtkwidget.c:1238 -msgid "All Margins" -msgstr "" - -#: ../gtk/gtkwidget.c:1239 -msgid "Pixels of extra space on all four sides" -msgstr "" - -#: ../gtk/gtkwidget.c:1272 -msgid "Horizontal Expand" -msgstr "" - -#: ../gtk/gtkwidget.c:1273 -msgid "Whether widget wants more horizontal space" -msgstr "" - -#: ../gtk/gtkwidget.c:1287 -msgid "Horizontal Expand Set" -msgstr "" - -#: ../gtk/gtkwidget.c:1288 -msgid "Whether to use the hexpand property" -msgstr "" - -#: ../gtk/gtkwidget.c:1302 -msgid "Vertical Expand" -msgstr "" - -#: ../gtk/gtkwidget.c:1303 -msgid "Whether widget wants more vertical space" -msgstr "" - -#: ../gtk/gtkwidget.c:1317 -msgid "Vertical Expand Set" -msgstr "" - -#: ../gtk/gtkwidget.c:1318 -msgid "Whether to use the vexpand property" -msgstr "" - -#: ../gtk/gtkwidget.c:1332 -msgid "Expand Both" -msgstr "ئىككىلىسىنى ياي" - -#: ../gtk/gtkwidget.c:1333 -msgid "Whether widget wants to expand in both directions" -msgstr "" - -#: ../gtk/gtkwidget.c:2991 -msgid "Interior Focus" -msgstr "" - -#: ../gtk/gtkwidget.c:2992 -msgid "Whether to draw the focus indicator inside widgets" -msgstr "" - -#: ../gtk/gtkwidget.c:2998 -msgid "Focus linewidth" -msgstr "" - -#: ../gtk/gtkwidget.c:2999 -msgid "Width, in pixels, of the focus indicator line" -msgstr "" - -#: ../gtk/gtkwidget.c:3005 -msgid "Focus line dash pattern" -msgstr "" - -#: ../gtk/gtkwidget.c:3006 -msgid "Dash pattern used to draw the focus indicator" -msgstr "" - -#: ../gtk/gtkwidget.c:3011 -msgid "Focus padding" -msgstr "" - -#: ../gtk/gtkwidget.c:3012 -msgid "Width, in pixels, between focus indicator and the widget 'box'" -msgstr "" - -#: ../gtk/gtkwidget.c:3017 -msgid "Cursor color" -msgstr "نۇربەلگىسىنىڭ رەڭگى" - -#: ../gtk/gtkwidget.c:3018 -msgid "Color with which to draw insertion cursor" -msgstr "" - -#: ../gtk/gtkwidget.c:3023 -msgid "Secondary cursor color" -msgstr "" - -#: ../gtk/gtkwidget.c:3024 -msgid "" -"Color with which to draw the secondary insertion cursor when editing mixed " -"right-to-left and left-to-right text" -msgstr "" - -#: ../gtk/gtkwidget.c:3029 -msgid "Cursor line aspect ratio" -msgstr "" - -#: ../gtk/gtkwidget.c:3030 -msgid "Aspect ratio with which to draw insertion cursor" -msgstr "" - -#: ../gtk/gtkwidget.c:3036 -msgid "Window dragging" -msgstr "" - -#: ../gtk/gtkwidget.c:3037 -msgid "Whether windows can be dragged by clicking on empty areas" -msgstr "" - -#: ../gtk/gtkwidget.c:3050 -msgid "Unvisited Link Color" -msgstr "" - -#: ../gtk/gtkwidget.c:3051 -msgid "Color of unvisited links" -msgstr "" - -#: ../gtk/gtkwidget.c:3064 -msgid "Visited Link Color" -msgstr "" - -#: ../gtk/gtkwidget.c:3065 -msgid "Color of visited links" -msgstr "" - -#: ../gtk/gtkwidget.c:3079 -msgid "Wide Separators" -msgstr "" - -#: ../gtk/gtkwidget.c:3080 -msgid "" -"Whether separators have configurable width and should be drawn using a box " -"instead of a line" -msgstr "" - -#: ../gtk/gtkwidget.c:3094 -msgid "Separator Width" -msgstr "" - -#: ../gtk/gtkwidget.c:3095 -msgid "The width of separators if wide-separators is TRUE" -msgstr "" - -#: ../gtk/gtkwidget.c:3109 -msgid "Separator Height" -msgstr "" - -#: ../gtk/gtkwidget.c:3110 -msgid "The height of separators if \"wide-separators\" is TRUE" -msgstr "" - -#: ../gtk/gtkwidget.c:3124 -msgid "Horizontal Scroll Arrow Length" -msgstr "" - -#: ../gtk/gtkwidget.c:3125 -msgid "The length of horizontal scroll arrows" -msgstr "" - -#: ../gtk/gtkwidget.c:3139 -msgid "Vertical Scroll Arrow Length" -msgstr "" - -#: ../gtk/gtkwidget.c:3140 -msgid "The length of vertical scroll arrows" -msgstr "" - -#: ../gtk/gtkwindow.c:614 -msgid "Window Type" -msgstr "كۆزنەك تىپى" - -#: ../gtk/gtkwindow.c:615 -msgid "The type of the window" -msgstr "" - -#: ../gtk/gtkwindow.c:623 -msgid "Window Title" -msgstr "كۆزنەك ماۋزۇسى" - -#: ../gtk/gtkwindow.c:624 -msgid "The title of the window" -msgstr "" - -#: ../gtk/gtkwindow.c:631 -msgid "Window Role" -msgstr "" - -#: ../gtk/gtkwindow.c:632 -msgid "Unique identifier for the window to be used when restoring a session" -msgstr "" - -#: ../gtk/gtkwindow.c:648 -msgid "Startup ID" -msgstr "" - -#: ../gtk/gtkwindow.c:649 -msgid "Unique startup identifier for the window used by startup-notification" -msgstr "" - -#: ../gtk/gtkwindow.c:657 -msgid "If TRUE, users can resize the window" -msgstr "ئەگەر «TRUE» بولسا، ئىشلەتكۈچى كۆزنەكنى چوڭايتالايدۇ" - -#: ../gtk/gtkwindow.c:664 -msgid "Modal" -msgstr "شەكىلدىكى" - -#: ../gtk/gtkwindow.c:665 -msgid "" -"If TRUE, the window is modal (other windows are not usable while this one is " -"up)" -msgstr "" - -#: ../gtk/gtkwindow.c:672 -msgid "Window Position" -msgstr "" - -#: ../gtk/gtkwindow.c:673 -msgid "The initial position of the window" -msgstr "" - -#: ../gtk/gtkwindow.c:681 -msgid "Default Width" -msgstr "كۆڭۈلدىكى كەڭلىك" - -#: ../gtk/gtkwindow.c:682 -msgid "The default width of the window, used when initially showing the window" -msgstr "" - -#: ../gtk/gtkwindow.c:691 -msgid "Default Height" -msgstr "كۆڭۈلدىكى ئېگىزلىك" - -#: ../gtk/gtkwindow.c:692 -msgid "" -"The default height of the window, used when initially showing the window" -msgstr "" - -#: ../gtk/gtkwindow.c:701 -msgid "Destroy with Parent" -msgstr "" - -#: ../gtk/gtkwindow.c:702 -msgid "If this window should be destroyed when the parent is destroyed" -msgstr "" - -#: ../gtk/gtkwindow.c:710 -msgid "Icon for this window" -msgstr "كۆزنەكنىڭ سىنبەلگىسى" - -#: ../gtk/gtkwindow.c:716 -msgid "Mnemonics Visible" -msgstr "" - -#: ../gtk/gtkwindow.c:717 -msgid "Whether mnemonics are currently visible in this window" -msgstr "" - -#: ../gtk/gtkwindow.c:733 -msgid "Name of the themed icon for this window" -msgstr "بۇ كۆزنەكتىكى ئۇسلۇبلۇق سىنبەلگىسىنىڭ ئاتى" - -#: ../gtk/gtkwindow.c:748 -msgid "Is Active" -msgstr "" - -#: ../gtk/gtkwindow.c:749 -msgid "Whether the toplevel is the current active window" -msgstr "" - -#: ../gtk/gtkwindow.c:756 -msgid "Focus in Toplevel" -msgstr "" - -#: ../gtk/gtkwindow.c:757 -msgid "Whether the input focus is within this GtkWindow" -msgstr "" - -#: ../gtk/gtkwindow.c:764 -msgid "Type hint" -msgstr "" - -#: ../gtk/gtkwindow.c:765 -msgid "" -"Hint to help the desktop environment understand what kind of window this is " -"and how to treat it." -msgstr "" - -#: ../gtk/gtkwindow.c:773 -msgid "Skip taskbar" -msgstr "" - -#: ../gtk/gtkwindow.c:774 -msgid "TRUE if the window should not be in the task bar." -msgstr "" - -#: ../gtk/gtkwindow.c:781 -msgid "Skip pager" -msgstr "" - -#: ../gtk/gtkwindow.c:782 -msgid "TRUE if the window should not be in the pager." -msgstr "" - -#: ../gtk/gtkwindow.c:789 -msgid "Urgent" -msgstr "جىددىي" - -#: ../gtk/gtkwindow.c:790 -msgid "TRUE if the window should be brought to the user's attention." -msgstr "" - -#: ../gtk/gtkwindow.c:804 -msgid "Accept focus" -msgstr "" - -#: ../gtk/gtkwindow.c:805 -msgid "TRUE if the window should receive the input focus." -msgstr "" - -#: ../gtk/gtkwindow.c:819 -msgid "Focus on map" -msgstr "" - -#: ../gtk/gtkwindow.c:820 -msgid "TRUE if the window should receive the input focus when mapped." -msgstr "" - -#: ../gtk/gtkwindow.c:834 -msgid "Decorated" -msgstr "" - -#: ../gtk/gtkwindow.c:835 -msgid "Whether the window should be decorated by the window manager" -msgstr "" - -#: ../gtk/gtkwindow.c:849 -msgid "Deletable" -msgstr "ئۆچۈرگىلى بولىدۇ" - -#: ../gtk/gtkwindow.c:850 -msgid "Whether the window frame should have a close button" -msgstr "" - -#: ../gtk/gtkwindow.c:869 -msgid "Resize grip" -msgstr "" - -#: ../gtk/gtkwindow.c:870 -msgid "Specifies whether the window should have a resize grip" -msgstr "" - -#: ../gtk/gtkwindow.c:884 -msgid "Resize grip is visible" -msgstr "" - -#: ../gtk/gtkwindow.c:885 -msgid "Specifies whether the window's resize grip is visible." -msgstr "" - -#: ../gtk/gtkwindow.c:901 -msgid "Gravity" -msgstr "" - -#: ../gtk/gtkwindow.c:902 -msgid "The window gravity of the window" -msgstr "" - -#: ../gtk/gtkwindow.c:919 -msgid "Transient for Window" -msgstr "" - -#: ../gtk/gtkwindow.c:920 -msgid "The transient parent of the dialog" -msgstr "" - -#: ../gtk/gtkwindow.c:935 -msgid "Opacity for Window" -msgstr "كۆزنەك تۇتۇقلۇقى" - -#: ../gtk/gtkwindow.c:936 -msgid "The opacity of the window, from 0 to 1" -msgstr "" - -#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 -msgid "Width of resize grip" -msgstr "" - -#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 -msgid "Height of resize grip" -msgstr "" - -#: ../gtk/gtkwindow.c:972 -msgid "GtkApplication" -msgstr "GtkApplication" - -#: ../gtk/gtkwindow.c:973 -msgid "The GtkApplication for the window" -msgstr "" - -#~ msgid "Lower" -#~ msgstr "تۆۋەن" - -#~ msgid "Upper" -#~ msgstr "قەغەز" - -#~ msgid "Position of mark on the ruler" -#~ msgstr "رەڭ ھالقىسىدىكى ئورنى" - -#~ msgid "Max Size" -#~ msgstr "قەغەز چوڭلۇقى" - -#~ msgid "The metric used for the ruler" -#~ msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" - -#~ msgid "File System Backend" -#~ msgstr "ھۆججەت سىستېمىسى" - -#~ msgid "The menu of options" -#~ msgstr "بېسىش ۋاقتى" - -#~ msgid "Trough Side Details" -#~ msgstr "ۋەزىپە تەپسىلاتى" - -#~ msgid "Blinking" -#~ msgstr "بېسىۋاتىدۇ" +# Uighur translation for gtk+2.0 +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the gtk+2.0 package. +# Ömerjan Tursunqasim , 2008. +# Sahran , 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: gtk+2.0\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" +"2b&component=general\n" +"POT-Creation-Date: 2010-08-03 17:54+0000\n" +"PO-Revision-Date: 2010-08-02 01:02+0600\n" +"Last-Translator: Sahran \n" +"Language-Team: Uyghur Computer Science Association \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../gdk/gdk.c:102 +#, c-format +msgid "Error parsing option --gdk-debug" +msgstr " --gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" + +#: ../gdk/gdk.c:122 +#, c-format +msgid "Error parsing option --gdk-no-debug" +msgstr " --gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" + +#. Description of --class=CLASS in --help output +#: ../gdk/gdk.c:150 +msgid "Program class as used by the window manager" +msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" + +#. Placeholder in --class=CLASS in --help output +#: ../gdk/gdk.c:151 +msgid "CLASS" +msgstr "تۈر" + +#. Description of --name=NAME in --help output +#: ../gdk/gdk.c:153 +msgid "Program name as used by the window manager" +msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" + +#. Placeholder in --name=NAME in --help output +#: ../gdk/gdk.c:154 +msgid "NAME" +msgstr "ئاتى" + +#. Description of --display=DISPLAY in --help output +#: ../gdk/gdk.c:156 +msgid "X display to use" +msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" + +#. Placeholder in --display=DISPLAY in --help output +#: ../gdk/gdk.c:157 +msgid "DISPLAY" +msgstr "كۆرسەت" + +#. Description of --screen=SCREEN in --help output +#: ../gdk/gdk.c:159 +msgid "X screen to use" +msgstr "ئىشلەتكەن X ئېكران " + +#. Placeholder in --screen=SCREEN in --help output +#: ../gdk/gdk.c:160 +msgid "SCREEN" +msgstr "ئېكران" + +#. Description of --gdk-debug=FLAGS in --help output +#: ../gdk/gdk.c:163 +msgid "Gdk debugging flags to set" +msgstr "Gdk سازلاش تەڭشەك بەلگىسى" + +#. Placeholder in --gdk-debug=FLAGS in --help output +#. Placeholder in --gdk-no-debug=FLAGS in --help output +#. Placeholder in --gtk-debug=FLAGS in --help output +#. Placeholder in --gtk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:164 ../gdk/gdk.c:167 ../gtk/gtkmain.c:438 ../gtk/gtkmain.c:441 +msgid "FLAGS" +msgstr "بەلگە" + +#. Description of --gdk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:166 +msgid "Gdk debugging flags to unset" +msgstr "قالدۇرماقچى بولغان Gdk سازلاش بەلگىسى" + +#: ../gdk/keyname-table.h:3940 +msgctxt "keyboard label" +msgid "BackSpace" +msgstr "چىكىنىش كۇنۇپكىسى" + +#: ../gdk/keyname-table.h:3941 +msgctxt "keyboard label" +msgid "Tab" +msgstr "Tab" + +#: ../gdk/keyname-table.h:3942 +msgctxt "keyboard label" +msgid "Return" +msgstr "Return" + +#: ../gdk/keyname-table.h:3943 +msgctxt "keyboard label" +msgid "Pause" +msgstr "ۋاقىتلىق توختا" + +#: ../gdk/keyname-table.h:3944 +msgctxt "keyboard label" +msgid "Scroll_Lock" +msgstr "Scroll_Lock" + +#: ../gdk/keyname-table.h:3945 +msgctxt "keyboard label" +msgid "Sys_Req" +msgstr "Sys_Req" + +#: ../gdk/keyname-table.h:3946 +msgctxt "keyboard label" +msgid "Escape" +msgstr "Escape" + +#: ../gdk/keyname-table.h:3947 +msgctxt "keyboard label" +msgid "Multi_key" +msgstr "Multi_key" + +#: ../gdk/keyname-table.h:3948 +msgctxt "keyboard label" +msgid "Home" +msgstr "Home" + +#: ../gdk/keyname-table.h:3949 +msgctxt "keyboard label" +msgid "Left" +msgstr "سول" + +#: ../gdk/keyname-table.h:3950 +msgctxt "keyboard label" +msgid "Up" +msgstr "يۇقىرى" + +#: ../gdk/keyname-table.h:3951 +msgctxt "keyboard label" +msgid "Right" +msgstr "ئوڭ" + +#: ../gdk/keyname-table.h:3952 +msgctxt "keyboard label" +msgid "Down" +msgstr "تۆۋەن" + +#: ../gdk/keyname-table.h:3953 +msgctxt "keyboard label" +msgid "Page_Up" +msgstr "Page_Up" + +#: ../gdk/keyname-table.h:3954 +msgctxt "keyboard label" +msgid "Page_Down" +msgstr "Page_Down" + +#: ../gdk/keyname-table.h:3955 +msgctxt "keyboard label" +msgid "End" +msgstr "تامام" + +#: ../gdk/keyname-table.h:3956 +msgctxt "keyboard label" +msgid "Begin" +msgstr "باشلا" + +#: ../gdk/keyname-table.h:3957 +msgctxt "keyboard label" +msgid "Print" +msgstr "باس" + +#: ../gdk/keyname-table.h:3958 +msgctxt "keyboard label" +msgid "Insert" +msgstr "قىستۇر" + +#: ../gdk/keyname-table.h:3959 +msgctxt "keyboard label" +msgid "Num_Lock" +msgstr "Num_Lock" + +#: ../gdk/keyname-table.h:3960 +msgctxt "keyboard label" +msgid "KP_Space" +msgstr "KP_Space" + +#: ../gdk/keyname-table.h:3961 +msgctxt "keyboard label" +msgid "KP_Tab" +msgstr "KP_Tab" + +#: ../gdk/keyname-table.h:3962 +msgctxt "keyboard label" +msgid "KP_Enter" +msgstr "KP_Enter" + +#: ../gdk/keyname-table.h:3963 +msgctxt "keyboard label" +msgid "KP_Home" +msgstr "KP_Home" + +#: ../gdk/keyname-table.h:3964 +msgctxt "keyboard label" +msgid "KP_Left" +msgstr "KP_Left" + +#: ../gdk/keyname-table.h:3965 +msgctxt "keyboard label" +msgid "KP_Up" +msgstr "KP_Up" + +#: ../gdk/keyname-table.h:3966 +msgctxt "keyboard label" +msgid "KP_Right" +msgstr "KP_Right" + +#: ../gdk/keyname-table.h:3967 +msgctxt "keyboard label" +msgid "KP_Down" +msgstr "KP_Down" + +#: ../gdk/keyname-table.h:3968 +msgctxt "keyboard label" +msgid "KP_Page_Up" +msgstr "KP_Page_Up" + +#: ../gdk/keyname-table.h:3969 +msgctxt "keyboard label" +msgid "KP_Prior" +msgstr "KP_Prior" + +#: ../gdk/keyname-table.h:3970 +msgctxt "keyboard label" +msgid "KP_Page_Down" +msgstr "KP_Page_Down" + +#: ../gdk/keyname-table.h:3971 +msgctxt "keyboard label" +msgid "KP_Next" +msgstr "KP_Next" + +#: ../gdk/keyname-table.h:3972 +msgctxt "keyboard label" +msgid "KP_End" +msgstr "KP_End" + +#: ../gdk/keyname-table.h:3973 +msgctxt "keyboard label" +msgid "KP_Begin" +msgstr "KP_Begin" + +#: ../gdk/keyname-table.h:3974 +msgctxt "keyboard label" +msgid "KP_Insert" +msgstr "KP_Insert" + +#: ../gdk/keyname-table.h:3975 +msgctxt "keyboard label" +msgid "KP_Delete" +msgstr "KP_Delete" + +#: ../gdk/keyname-table.h:3976 +msgctxt "keyboard label" +msgid "Delete" +msgstr "ئۆچۈر" + +#. Description of --sync in --help output +#: ../gdk/win32/gdkmain-win32.c:54 +msgid "Don't batch GDI requests" +msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ" + +#. Description of --no-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:56 +msgid "Don't use the Wintab API for tablet support" +msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ" + +#. Description of --ignore-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:58 +msgid "Same as --no-wintab" +msgstr "--no-wintab بىلەن ئوخشاش" + +#. Description of --use-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:60 +msgid "Do use the Wintab API [default]" +msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]" + +#. Description of --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:62 +msgid "Size of the palette in 8 bit mode" +msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" + +#. Placeholder in --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:63 +msgid "COLORS" +msgstr "رەڭ" + +#. Description of --sync in --help output +#: ../gdk/x11/gdkmain-x11.c:93 +msgid "Make X calls synchronous" +msgstr "X نى قەدەمداش قىلىپ ئىشلەت" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#, c-format +msgid "Starting %s" +msgstr "%s قوزغىلىۋاتىدۇ" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:314 +#, c-format +msgid "Opening %s" +msgstr "%s نى ئېچىۋاتىدۇ" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 +#, c-format +msgid "Opening %d Item" +msgid_plural "Opening %d Items" +msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" + +#: ../gtk/gtkaboutdialog.c:240 +msgid "Could not show link" +msgstr "ئۇلانمىنى كۆرسىتەلمىدى" + +#: ../gtk/gtkaboutdialog.c:363 ../gtk/gtkaboutdialog.c:2226 +msgid "License" +msgstr "ئىجازەتنامە" + +#: ../gtk/gtkaboutdialog.c:364 +msgid "The license of the program" +msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" + +#. Add the credits button +#: ../gtk/gtkaboutdialog.c:627 +msgid "C_redits" +msgstr "تەشەككۈر(_R)" + +#. Add the license button +#: ../gtk/gtkaboutdialog.c:641 +msgid "_License" +msgstr "ئىجازەت(_L)" + +#: ../gtk/gtkaboutdialog.c:900 +#, c-format +msgid "About %s" +msgstr "%s ھەققىدە" + +#: ../gtk/gtkaboutdialog.c:2143 +msgid "Credits" +msgstr "تەشەككۈر" + +#: ../gtk/gtkaboutdialog.c:2176 +msgid "Written by" +msgstr "يازغۇچى" + +#: ../gtk/gtkaboutdialog.c:2179 +msgid "Documented by" +msgstr "پۈتۈكچى" + +#: ../gtk/gtkaboutdialog.c:2191 +msgid "Translated by" +msgstr "تەرجىمان" + +#: ../gtk/gtkaboutdialog.c:2195 +msgid "Artwork by" +msgstr "گۈزەل سەنئەت تەھرىرى" + +#. This is the text that should appear next to menu accelerators +#. * that use the shift key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:157 +msgctxt "keyboard label" +msgid "Shift" +msgstr "Shift" + +#. This is the text that should appear next to menu accelerators +#. * that use the control key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:163 +msgctxt "keyboard label" +msgid "Ctrl" +msgstr "Ctrl" + +#. This is the text that should appear next to menu accelerators +#. * that use the alt key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:169 +msgctxt "keyboard label" +msgid "Alt" +msgstr "Alt" + +#. This is the text that should appear next to menu accelerators +#. * that use the super key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:767 +msgctxt "keyboard label" +msgid "Super" +msgstr "Super" + +#. This is the text that should appear next to menu accelerators +#. * that use the hyper key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:780 +msgctxt "keyboard label" +msgid "Hyper" +msgstr "Hyper" + +#. This is the text that should appear next to menu accelerators +#. * that use the meta key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:794 +msgctxt "keyboard label" +msgid "Meta" +msgstr "Meta" + +#: ../gtk/gtkaccellabel.c:811 +msgctxt "keyboard label" +msgid "Space" +msgstr "Space" + +#: ../gtk/gtkaccellabel.c:814 +msgctxt "keyboard label" +msgid "Backslash" +msgstr "Backslash" + +#: ../gtk/gtkbuilderparser.c:343 +#, c-format +msgid "Invalid type function on line %d: '%s'" +msgstr "ئىناۋەتسىز تىپ فونكسىيەسى كۆرۈنگەن قۇر %d: '%s'" + +#: ../gtk/gtkbuilderparser.c:407 +#, c-format +msgid "Duplicate object id '%s' on line %d (previously on line %d)" +msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)" + +#: ../gtk/gtkbuilderparser.c:859 +#, c-format +msgid "Invalid root element: '%s'" +msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'" + +#: ../gtk/gtkbuilderparser.c:898 +#, c-format +msgid "Unhandled tag: '%s'" +msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" + +#. Translate to calendar:YM if you want years to be displayed +#. * before months; otherwise translate to calendar:MY. +#. * Do *not* translate it to anything else, if it +#. * it isn't calendar:YM or calendar:MY it will not work. +#. * +#. * Note that the ordering described here is logical order, which is +#. * further influenced by BIDI ordering. Thus, if you have a default +#. * text direction of RTL and specify "calendar:YM", then the year +#. * will appear to the right of the month. +#. +#: ../gtk/gtkcalendar.c:863 +msgid "calendar:MY" +msgstr "calendar:MY" + +#. Translate to calendar:week_start:0 if you want Sunday to be the +#. * first day of the week to calendar:week_start:1 if you want Monday +#. * to be the first day of the week, and so on. +#. +#: ../gtk/gtkcalendar.c:901 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#. Translators: This is a text measurement template. +#. * Translate it to the widest year text +#. * +#. * If you don't understand this, leave it as "2000" +#. +#: ../gtk/gtkcalendar.c:1954 +msgctxt "year measurement template" +msgid "2000" +msgstr "2000" + +#. Translators: this defines whether the day numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1985 ../gtk/gtkcalendar.c:2648 +#, c-format +msgctxt "calendar:day:digits" +msgid "%d" +msgstr "%d" + +#. Translators: this defines whether the week numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:2017 ../gtk/gtkcalendar.c:2511 +#, c-format +msgctxt "calendar:week:digits" +msgid "%d" +msgstr "%d" + +#. Translators: This dictates how the year is displayed in +#. * gtkcalendar widget. See strftime() manual for the format. +#. * Use only ASCII in the translation. +#. * +#. * Also look for the msgid "2000". +#. * Translate that entry to a year with the widest output of this +#. * msgid. +#. * +#. * "%Y" is appropriate for most locales. +#. +#: ../gtk/gtkcalendar.c:2299 +msgctxt "calendar year format" +msgid "%Y" +msgstr "%Y" + +#. This label is displayed in a treeview cell displaying +#. * a disabled accelerator key combination. +#. +#: ../gtk/gtkcellrendereraccel.c:268 +msgctxt "Accelerator" +msgid "Disabled" +msgstr "چەكلەنگەن" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator key combination that is not valid according +#. * to gtk_accelerator_valid(). +#. +#: ../gtk/gtkcellrendereraccel.c:278 +msgctxt "Accelerator" +msgid "Invalid" +msgstr "ئىناۋەتسىز" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator when the cell is clicked to change the +#. * acelerator. +#. +#: ../gtk/gtkcellrendereraccel.c:414 ../gtk/gtkcellrendereraccel.c:664 +msgid "New accelerator..." +msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…" + +#: ../gtk/gtkcellrendererprogress.c:360 ../gtk/gtkcellrendererprogress.c:450 +#, c-format +msgctxt "progress bar label" +msgid "%d %%" +msgstr "%d %%" + +#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkcolorbutton.c:457 +msgid "Pick a Color" +msgstr "رەڭ ئال" + +#: ../gtk/gtkcolorbutton.c:348 +msgid "Received invalid color data\n" +msgstr "ئىناۋەتسىز رەڭ سانلىق مەلۇماتى تاپشۇرۇۋالدى\n" + +#: ../gtk/gtkcolorsel.c:354 +msgid "" +"Select the color you want from the outer ring. Select the darkness or " +"lightness of that color using the inner triangle." +msgstr "" +"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ " +"كۈچلۈكلۈكىنى تاللاڭ." + +#: ../gtk/gtkcolorsel.c:378 +msgid "" +"Click the eyedropper, then click a color anywhere on your screen to select " +"that color." +msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." + +#: ../gtk/gtkcolorsel.c:387 +msgid "_Hue:" +msgstr "رەڭگى(_H):" + +#: ../gtk/gtkcolorsel.c:388 +msgid "Position on the color wheel." +msgstr "رەڭ ھالقىسىدىكى ئورنى" + +#: ../gtk/gtkcolorsel.c:390 +msgid "_Saturation:" +msgstr "تويۇنۇش دەرىجىسى(_S):" + +#: ../gtk/gtkcolorsel.c:391 +msgid "Intensity of the color." +msgstr "رەڭ كۈچلۈكلۈكى." + +#: ../gtk/gtkcolorsel.c:392 +msgid "_Value:" +msgstr "قىممىتى(_V):" + +#: ../gtk/gtkcolorsel.c:393 +msgid "Brightness of the color." +msgstr "رەڭ يورۇقلۇقى." + +#: ../gtk/gtkcolorsel.c:394 +msgid "_Red:" +msgstr "قىزىل(_R):" + +#: ../gtk/gtkcolorsel.c:395 +msgid "Amount of red light in the color." +msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." + +#: ../gtk/gtkcolorsel.c:396 +msgid "_Green:" +msgstr "يېشىل(_G):" + +#: ../gtk/gtkcolorsel.c:397 +msgid "Amount of green light in the color." +msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." + +#: ../gtk/gtkcolorsel.c:398 +msgid "_Blue:" +msgstr "كۆك(_B):" + +#: ../gtk/gtkcolorsel.c:399 +msgid "Amount of blue light in the color." +msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." + +#: ../gtk/gtkcolorsel.c:402 +msgid "Op_acity:" +msgstr "سۈزۈكلۈك(_A):" + +#: ../gtk/gtkcolorsel.c:409 ../gtk/gtkcolorsel.c:419 +msgid "Transparency of the color." +msgstr "رەڭ سۈزۈكلۈكى." + +#: ../gtk/gtkcolorsel.c:426 +msgid "Color _name:" +msgstr "رەڭ ئاتى(_N):" + +#: ../gtk/gtkcolorsel.c:440 +msgid "" +"You can enter an HTML-style hexadecimal color value, or simply a color name " +"such as 'orange' in this entry." +msgstr "" +"سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە " +"ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." + +#: ../gtk/gtkcolorsel.c:470 +msgid "_Palette:" +msgstr "رەڭ تاختىسى(_P):" + +#: ../gtk/gtkcolorsel.c:499 +msgid "Color Wheel" +msgstr "رەڭ ھالقىسى" + +#: ../gtk/gtkcolorsel.c:958 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now. You can drag this color to a palette entry, or select this color as " +"current by dragging it to the other color swatch alongside." +msgstr "" +"ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى " +"رەڭ تاللاش تاخسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ " +"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." + +#: ../gtk/gtkcolorsel.c:961 +msgid "" +"The color you've chosen. You can drag this color to a palette entry to save " +"it for use in the future." +msgstr "" +"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." + +#: ../gtk/gtkcolorsel.c:966 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now." +msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." + +#: ../gtk/gtkcolorsel.c:969 +msgid "The color you've chosen." +msgstr "سىز تاللىغان رەڭ." + +#: ../gtk/gtkcolorsel.c:1382 +msgid "_Save color here" +msgstr "رەڭنى بۇ جايغا ساقلا(_S)" + +#: ../gtk/gtkcolorsel.c:1587 +msgid "" +"Click this palette entry to make it the current color. To change this entry, " +"drag a color swatch here or right-click it and select \"Save color here.\"" +msgstr "" +"رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى " +"ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن " +"كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." + +#: ../gtk/gtkcolorseldialog.c:190 +msgid "Color Selection" +msgstr "رەڭ تاللاش" + +#. Translate to the default units to use for presenting +#. * lengths to the user. Translate to default:inch if you +#. * want inches, otherwise translate to default:mm. +#. * Do *not* translate it to "predefinito:mm", if it +#. * it isn't default:mm or default:inch it will not work +#. +#: ../gtk/gtkcustompaperunixdialog.c:116 +msgid "default:mm" +msgstr "default:mm" + +#. And show the custom paper dialog +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3233 +msgid "Manage Custom Sizes" +msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" + +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 +msgid "inch" +msgstr "دىيۇيم" + +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 +msgid "mm" +msgstr "mm" + +#: ../gtk/gtkcustompaperunixdialog.c:581 +msgid "Margins from Printer..." +msgstr "پرىنتېر ئارىلىقى…" + +#: ../gtk/gtkcustompaperunixdialog.c:747 +#, c-format +msgid "Custom Size %d" +msgstr "ئىختىيارى چوڭلۇقى %d" + +#: ../gtk/gtkcustompaperunixdialog.c:1060 +msgid "_Width:" +msgstr "كەڭلىك(_W):" + +#: ../gtk/gtkcustompaperunixdialog.c:1072 +msgid "_Height:" +msgstr "ئېگىزلىك(_H):" + +#: ../gtk/gtkcustompaperunixdialog.c:1084 +msgid "Paper Size" +msgstr "قەغەز چوڭلۇقى" + +#: ../gtk/gtkcustompaperunixdialog.c:1093 +msgid "_Top:" +msgstr "ئۈستى(_T):" + +#: ../gtk/gtkcustompaperunixdialog.c:1105 +msgid "_Bottom:" +msgstr "ئاستى(_B):" + +#: ../gtk/gtkcustompaperunixdialog.c:1117 +msgid "_Left:" +msgstr "سول(_L):" + +#: ../gtk/gtkcustompaperunixdialog.c:1129 +msgid "_Right:" +msgstr "ئوڭ(_R):" + +#: ../gtk/gtkcustompaperunixdialog.c:1170 +msgid "Paper Margins" +msgstr "قەغەز يان ئارىلىقى" + +#: ../gtk/gtkentry.c:8613 ../gtk/gtktextview.c:8258 +msgid "Input _Methods" +msgstr "كىرگۈزگۈچ(_M)" + +#: ../gtk/gtkentry.c:8627 ../gtk/gtktextview.c:8272 +msgid "_Insert Unicode Control Character" +msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" + +#: ../gtk/gtkentry.c:10022 +msgid "Caps Lock and Num Lock are on" +msgstr "" + +#: ../gtk/gtkentry.c:10024 +msgid "Num Lock is on" +msgstr "Num Lock ئوچۇق" + +#: ../gtk/gtkentry.c:10026 +msgid "Caps Lock is on" +msgstr "Caps Lock ئوچۇق" + +#. **************** * +#. * Private Macros * +#. * **************** +#: ../gtk/gtkfilechooserbutton.c:61 +msgid "Select A File" +msgstr "ھۆججەت تاللاڭ" + +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1837 +msgid "Desktop" +msgstr "ئۈستەل ئۈستى" + +#: ../gtk/gtkfilechooserbutton.c:63 +msgid "(None)" +msgstr "(يوق)" + +#: ../gtk/gtkfilechooserbutton.c:2015 +msgid "Other..." +msgstr "باشقا…" + +#: ../gtk/gtkfilechooserdefault.c:146 +msgid "Type name of new folder" +msgstr "يىڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" + +#: ../gtk/gtkfilechooserdefault.c:963 +msgid "Could not retrieve information about the file" +msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ" + +#: ../gtk/gtkfilechooserdefault.c:974 +msgid "Could not add a bookmark" +msgstr "قىسقۇچ قىستۇرالمايدۇ" + +#: ../gtk/gtkfilechooserdefault.c:985 +msgid "Could not remove bookmark" +msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ" + +#: ../gtk/gtkfilechooserdefault.c:996 +msgid "The folder could not be created" +msgstr "قىسقۇچ قۇرالمايدۇ" + +#: ../gtk/gtkfilechooserdefault.c:1009 +msgid "" +"The folder could not be created, as a file with the same name already " +"exists. Try using a different name for the folder, or rename the file first." +msgstr "" +"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇد. باشقا ئات ئىشلىتىپ " +"سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." + +#: ../gtk/gtkfilechooserdefault.c:1020 +msgid "Invalid file name" +msgstr "ئىناۋەتسىز ھۆججەت ئاتى" + +#: ../gtk/gtkfilechooserdefault.c:1030 +msgid "The folder contents could not be displayed" +msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" + +#. Translators: the first string is a path and the second string +#. * is a hostname. Nautilus and the panel contain the same string +#. * to translate. +#. +#: ../gtk/gtkfilechooserdefault.c:1580 +#, c-format +msgid "%1$s on %2$s" +msgstr "%2$s ئۈستىدىكى %1$s" + +#: ../gtk/gtkfilechooserdefault.c:1756 +msgid "Search" +msgstr "ئىزدە" + +#: ../gtk/gtkfilechooserdefault.c:1780 ../gtk/gtkfilechooserdefault.c:9295 +msgid "Recently Used" +msgstr "يېقىندا ئىشلەتكەن" + +#: ../gtk/gtkfilechooserdefault.c:2420 +msgid "Select which types of files are shown" +msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ" + +#: ../gtk/gtkfilechooserdefault.c:2779 +#, c-format +msgid "Add the folder '%s' to the bookmarks" +msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:2823 +#, c-format +msgid "Add the current folder to the bookmarks" +msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:2825 +#, c-format +msgid "Add the selected folders to the bookmarks" +msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:2863 +#, c-format +msgid "Remove the bookmark '%s'" +msgstr "'%s' خەتكۈچنى چىقىرىۋەت" + +#: ../gtk/gtkfilechooserdefault.c:2865 +#, c-format +msgid "Bookmark '%s' cannot be removed" +msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." + +#: ../gtk/gtkfilechooserdefault.c:2872 ../gtk/gtkfilechooserdefault.c:3736 +msgid "Remove the selected bookmark" +msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" + +#: ../gtk/gtkfilechooserdefault.c:3432 +msgid "Remove" +msgstr "چىقىرىۋەت" + +#: ../gtk/gtkfilechooserdefault.c:3441 +msgid "Rename..." +msgstr "ئات ئۆزگەرت…" + +#. Accessible object name for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3604 +msgid "Places" +msgstr "ئورۇن" + +#. Column header for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3661 +msgid "_Places" +msgstr "ئورۇن(_R)" + +#: ../gtk/gtkfilechooserdefault.c:3717 +msgid "_Add" +msgstr "قوش(_A)" + +#: ../gtk/gtkfilechooserdefault.c:3724 +msgid "Add the selected folder to the Bookmarks" +msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:3729 +msgid "_Remove" +msgstr "ئۆچۈر(_R)" + +#: ../gtk/gtkfilechooserdefault.c:3864 +msgid "Could not select file" +msgstr "ھۆججەت تاللايالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:4039 +msgid "_Add to Bookmarks" +msgstr "خەتكۈچكە قوش(_A)" + +#: ../gtk/gtkfilechooserdefault.c:4052 +msgid "Show _Hidden Files" +msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" + +#: ../gtk/gtkfilechooserdefault.c:4059 +msgid "Show _Size Column" +msgstr "چوڭلۇق ستونىنى كۆرسەت(_S)" + +#: ../gtk/gtkfilechooserdefault.c:4282 +msgid "Files" +msgstr "ھۆججەتلەر" + +#: ../gtk/gtkfilechooserdefault.c:4333 +msgid "Name" +msgstr "ئاتى" + +#: ../gtk/gtkfilechooserdefault.c:4356 +msgid "Size" +msgstr "چوڭلۇقى" + +#: ../gtk/gtkfilechooserdefault.c:4370 +msgid "Modified" +msgstr "ئۆزگەرتكەن" + +#. Label +#: ../gtk/gtkfilechooserdefault.c:4625 ../gtk/gtkprinteroptionwidget.c:801 +msgid "_Name:" +msgstr "ئاتى(_N):" + +#: ../gtk/gtkfilechooserdefault.c:4668 +msgid "_Browse for other folders" +msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" + +#: ../gtk/gtkfilechooserdefault.c:4940 +msgid "Type a file name" +msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" + +#. Create Folder +#: ../gtk/gtkfilechooserdefault.c:4981 +msgid "Create Fo_lder" +msgstr "قىسقۇچ قۇر(_L)" + +#: ../gtk/gtkfilechooserdefault.c:4991 +msgid "_Location:" +msgstr "ئورنى(_L):" + +#: ../gtk/gtkfilechooserdefault.c:5195 +msgid "Save in _folder:" +msgstr "قىسقۇچقا ساقلا(_F):" + +#: ../gtk/gtkfilechooserdefault.c:5197 +msgid "Create in _folder:" +msgstr "قىسقۇچتا قۇر(_F):" + +#: ../gtk/gtkfilechooserdefault.c:6260 +#, c-format +msgid "Could not read the contents of %s" +msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:6264 +msgid "Could not read the contents of the folder" +msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:6357 ../gtk/gtkfilechooserdefault.c:6425 +#: ../gtk/gtkfilechooserdefault.c:6570 +msgid "Unknown" +msgstr "نامەلۇم" + +#: ../gtk/gtkfilechooserdefault.c:6372 +msgid "%H:%M" +msgstr "%H:%M" + +#: ../gtk/gtkfilechooserdefault.c:6374 +msgid "Yesterday at %H:%M" +msgstr "ئەتە %H:%M" + +#: ../gtk/gtkfilechooserdefault.c:7040 +msgid "Cannot change to folder because it is not local" +msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" + +#: ../gtk/gtkfilechooserdefault.c:7637 ../gtk/gtkfilechooserdefault.c:7658 +#, c-format +msgid "Shortcut %s already exists" +msgstr "%s قىسقا يول مەۋجۇد" + +#: ../gtk/gtkfilechooserdefault.c:7748 +#, c-format +msgid "Shortcut %s does not exist" +msgstr "%s قىسقا يول مەۋجۇد ئەمەس" + +#: ../gtk/gtkfilechooserdefault.c:8003 ../gtk/gtkprintunixdialog.c:476 +#, c-format +msgid "A file named \"%s\" already exists. Do you want to replace it?" +msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" + +#: ../gtk/gtkfilechooserdefault.c:8006 ../gtk/gtkprintunixdialog.c:480 +#, c-format +msgid "" +"The file already exists in \"%s\". Replacing it will overwrite its contents." +msgstr "" +"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت " +"ئاللىبۇرۇن" + +#: ../gtk/gtkfilechooserdefault.c:8011 ../gtk/gtkprintunixdialog.c:487 +msgid "_Replace" +msgstr "ئالماشتۇر(_R)" + +#: ../gtk/gtkfilechooserdefault.c:8663 +msgid "Could not start the search process" +msgstr "ئىزدىگۈچنى قوزغىتالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:8664 +msgid "" +"The program was not able to create a connection to the indexer daemon. " +"Please make sure it is running." +msgstr "" +"پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" + +#: ../gtk/gtkfilechooserdefault.c:8678 +msgid "Could not send the search request" +msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:8867 +msgid "Search:" +msgstr "ئىزدە:" + +#: ../gtk/gtkfilechooserdefault.c:9471 +#, c-format +msgid "Could not mount %s" +msgstr "%s يۈك چۈشۈرەلمىدى " + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry, when the user enters an invalid path. +#: ../gtk/gtkfilechooserentry.c:697 ../gtk/gtkfilechooserentry.c:1162 +msgid "Invalid path" +msgstr "ئىناۋەتسىز يول" + +#. translators: this text is shown when there are no completions +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1094 +msgid "No match" +msgstr "ماس كېلىدىغىنى يوق" + +#. translators: this text is shown when there is exactly one completion +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1105 +msgid "Sole completion" +msgstr "بىردىنبىر تاماملاش" + +#. translators: this text is shown when the text in a file chooser +#. * entry is a complete filename, but could be continued to find +#. * a longer match +#. +#: ../gtk/gtkfilechooserentry.c:1121 +msgid "Complete, but not unique" +msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس" + +#. Translators: this text is shown while the system is searching +#. * for possible completions for filenames in a file chooser entry. +#: ../gtk/gtkfilechooserentry.c:1153 +msgid "Completing..." +msgstr "تاماملاۋاتىدۇ…" + +#. hostnames in a local_only file chooser? user error +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user enters something like +#. * "sftp://blahblah" in an app that only supports local filenames. +#: ../gtk/gtkfilechooserentry.c:1175 ../gtk/gtkfilechooserentry.c:1200 +msgid "Only local files may be selected" +msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" + +#. Another option is to complete the hostname based on the remote volumes that are mounted +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user hasn't entered the first '/' +#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") +#: ../gtk/gtkfilechooserentry.c:1184 +msgid "Incomplete hostname; end it with '/'" +msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ " + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry when the user enters a path that does not exist +#. * and then hits Tab +#: ../gtk/gtkfilechooserentry.c:1195 +msgid "Path does not exist" +msgstr "يول مەۋجۇد ئەمەس." + +#: ../gtk/gtkfilechoosersettings.c:486 +#, c-format +msgid "Error creating folder '%s': %s" +msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" + +#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are +#. * really pointers to GDrive, GVolume or GMount objects. We need an extra +#. * token for the fake "File System" volume. So, we'll return a pointer to +#. * this particular string. +#. +#: ../gtk/gtkfilesystem.c:50 +msgid "File System" +msgstr "ھۆججەت سىستېمىسى" + +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 +msgid "Pick a Font" +msgstr "خەت نۇسخا تاللا" + +#. Initialize fields +#: ../gtk/gtkfontbutton.c:260 +msgid "Sans 12" +msgstr "UKIJ Tuz Tom 10" + +#: ../gtk/gtkfontbutton.c:785 +msgid "Font" +msgstr "خەت نۇسخا" + +#. This is the default text shown in the preview entry, though the user +#. can set it. Remember that some fonts only have capital letters. +#: ../gtk/gtkfontsel.c:103 +msgid "abcdefghijk ABCDEFGHIJK" +msgstr "ئائەب پ ت ج چ خ درزژ abcdefghijk ABCDEFGHIJK" + +#: ../gtk/gtkfontsel.c:367 +msgid "_Family:" +msgstr "خەت نۇسخا تۈرى(_F):" + +#: ../gtk/gtkfontsel.c:373 +msgid "_Style:" +msgstr "ئۇسلۇب(_S):" + +#: ../gtk/gtkfontsel.c:379 +msgid "Si_ze:" +msgstr "چوڭلۇقى(_Z):" + +#. create the text entry widget +#: ../gtk/gtkfontsel.c:556 +msgid "_Preview:" +msgstr "ئالدىن كۆزەت(_P):" + +#: ../gtk/gtkfontsel.c:1660 +msgid "Font Selection" +msgstr "خەت نۇسخا تاللاش" + +#. Remove this icon source so we don't keep trying to +#. * load it. +#. +#: ../gtk/gtkiconfactory.c:1419 +#, c-format +msgid "Error loading icon: %s" +msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" + +#: ../gtk/gtkicontheme.c:1363 +#, c-format +msgid "" +"Could not find the icon '%s'. The '%s' theme\n" +"was not found either, perhaps you need to install it.\n" +"You can get a copy from:\n" +"\t%s" +msgstr "" +"'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز " +"زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" +"%s" + +#: ../gtk/gtkicontheme.c:1543 +#, c-format +msgid "Icon '%s' not present in theme" +msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" + +#: ../gtk/gtkicontheme.c:3074 +msgid "Failed to load icon" +msgstr "سىنبەلگە يۈكلىيەلمىدى" + +#: ../gtk/gtkimmodule.c:526 +msgid "Simple" +msgstr "ئاددىي" + +#: ../gtk/gtkimmulticontext.c:580 +msgctxt "input method menu" +msgid "System" +msgstr "سىستېما" + +#: ../gtk/gtkimmulticontext.c:590 +msgctxt "input method menu" +msgid "None" +msgstr "يوق" + +#: ../gtk/gtkimmulticontext.c:673 +#, c-format +msgctxt "input method menu" +msgid "System (%s)" +msgstr "سىستېما(%s)" + +#. Open Link +#: ../gtk/gtklabel.c:6227 +msgid "_Open Link" +msgstr "ئۇلانما ئاچ(_O)" + +#. Copy Link Address +#: ../gtk/gtklabel.c:6239 +msgid "Copy _Link Address" +msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" + +#: ../gtk/gtklinkbutton.c:428 +msgid "Copy URL" +msgstr "URL كۆچۈر" + +#: ../gtk/gtklinkbutton.c:586 +msgid "Invalid URI" +msgstr "ئىناۋەتسىز URI" + +#. Description of --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:431 +msgid "Load additional GTK+ modules" +msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" + +#. Placeholder in --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:432 +msgid "MODULES" +msgstr "بۆلەك" + +#. Description of --g-fatal-warnings in --help output +#: ../gtk/gtkmain.c:434 +msgid "Make all warnings fatal" +msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" + +#. Description of --gtk-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:437 +msgid "GTK+ debugging flags to set" +msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" + +#. Description of --gtk-no-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:440 +msgid "GTK+ debugging flags to unset" +msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " + +#. Translate to default:RTL if you want your widgets +#. * to be RTL, otherwise translate to default:LTR. +#. * Do *not* translate it to "predefinito:LTR", if it +#. * it isn't default:LTR or default:RTL it will not work +#. +#: ../gtk/gtkmain.c:703 +msgid "default:LTR" +msgstr "default:RTL" + +#: ../gtk/gtkmain.c:768 +#, c-format +msgid "Cannot open display: %s" +msgstr "ئېكران ئېچىلمىدى: (%s)" + +#: ../gtk/gtkmain.c:805 +msgid "GTK+ Options" +msgstr "GTK+ تاللانما" + +#: ../gtk/gtkmain.c:805 +msgid "Show GTK+ Options" +msgstr "GTK+ تاللانما كۆرسەت" + +#: ../gtk/gtkmountoperation.c:492 +msgid "Co_nnect" +msgstr "ئۇلا(_N)" + +#: ../gtk/gtkmountoperation.c:559 +msgid "Connect _anonymously" +msgstr "ئاتسىز ئۇلىنىش(_A)" + +#: ../gtk/gtkmountoperation.c:568 +msgid "Connect as u_ser:" +msgstr "ئۇلىنىش سالاھىيىتى(_S):" + +#: ../gtk/gtkmountoperation.c:606 +msgid "_Username:" +msgstr "ئىشلەتكۈچى ئاتى(_U):" + +#: ../gtk/gtkmountoperation.c:611 +msgid "_Domain:" +msgstr "دائىرە(_D):" + +#: ../gtk/gtkmountoperation.c:617 +msgid "_Password:" +msgstr "ئىم(_P):" + +#: ../gtk/gtkmountoperation.c:635 +msgid "Forget password _immediately" +msgstr "ئىمنى دەرھال ئۇنۇت(_I)" + +#: ../gtk/gtkmountoperation.c:645 +msgid "Remember password until you _logout" +msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)" + +#: ../gtk/gtkmountoperation.c:655 +msgid "Remember _forever" +msgstr "مەڭگۈ ئەستە تۇت(_F)" + +#: ../gtk/gtkmountoperation.c:884 +#, c-format +msgid "Unknown Application (pid %d)" +msgstr "نامەلۇم قوللىنىشچان پروگرامما (pid %d)" + +#: ../gtk/gtkmountoperation.c:1067 +msgid "Unable to end process" +msgstr "جەرياننى ئاخىرلاشتۇرالمايدۇ" + +#: ../gtk/gtkmountoperation.c:1104 +msgid "_End Process" +msgstr "جەريان ئاخىرلاشتۇر(_E)" + +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format +msgid "Cannot kill process with pid %d. Operation is not implemented." +msgstr " pid %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." + +#. translators: this string is a name for the 'less' command +#: ../gtk/gtkmountoperation-x11.c:862 +msgid "Terminal Pager" +msgstr "تېرمىنال ئوقۇغۇچ" + +#: ../gtk/gtkmountoperation-x11.c:863 +msgid "Top Command" +msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق" + +#: ../gtk/gtkmountoperation-x11.c:864 +msgid "Bourne Again Shell" +msgstr "Bourne Again Shell" + +#: ../gtk/gtkmountoperation-x11.c:865 +msgid "Bourne Shell" +msgstr "Bourne Shell" + +#: ../gtk/gtkmountoperation-x11.c:866 +msgid "Z Shell" +msgstr "Z Shell" + +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format +msgid "Cannot end process with pid %d: %s" +msgstr "pid %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" + +#: ../gtk/gtknotebook.c:4671 ../gtk/gtknotebook.c:7166 +#, c-format +msgid "Page %u" +msgstr "%u-بەت" + +#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:825 +#: ../gtk/gtkpapersize.c:867 +msgid "Not a valid page setup file" +msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس" + +#: ../gtk/gtkpagesetupunixdialog.c:179 +msgid "Any Printer" +msgstr "خالىغان پرىنتېر" + +#: ../gtk/gtkpagesetupunixdialog.c:179 +msgid "For portable documents" +msgstr "ئەپچىل پۈتۈك ئۈچۈن" + +#: ../gtk/gtkpagesetupunixdialog.c:809 +#, c-format +msgid "" +"Margins:\n" +" Left: %s %s\n" +" Right: %s %s\n" +" Top: %s %s\n" +" Bottom: %s %s" +msgstr "" +"يان ئارىلىقى:\n" +"سول: %s %s\n" +"ئوڭ: %s %s\n" +" ئۈستى: %s %s\n" +" ئاستى: %s %s" + +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3284 +msgid "Manage Custom Sizes..." +msgstr "ئىختىيارى چوڭلۇق باشقۇر…" + +#: ../gtk/gtkpagesetupunixdialog.c:910 +msgid "_Format for:" +msgstr "فورمات(_F):" + +#: ../gtk/gtkpagesetupunixdialog.c:932 ../gtk/gtkprintunixdialog.c:3456 +msgid "_Paper size:" +msgstr "قەغەز چوڭلۇقى(_P):" + +#: ../gtk/gtkpagesetupunixdialog.c:963 +msgid "_Orientation:" +msgstr "يۆنىلىش(_O):" + +#: ../gtk/gtkpagesetupunixdialog.c:1027 ../gtk/gtkprintunixdialog.c:3518 +msgid "Page Setup" +msgstr "بەت تەڭشەك" + +#: ../gtk/gtkpathbar.c:151 +msgid "Up Path" +msgstr "ئۈستۈنكى يول" + +#: ../gtk/gtkpathbar.c:153 +msgid "Down Path" +msgstr "ئاستىنقى يول" + +#: ../gtk/gtkpathbar.c:1482 +msgid "File System Root" +msgstr "ھۆججەت سىستېما غولى" + +#: ../gtk/gtkprintbackend.c:745 +msgid "Authentication" +msgstr "سالاھىيەت دەلىللەش" + +#: ../gtk/gtkprinteroptionwidget.c:694 +msgid "Not available" +msgstr "ئىشلەتكىلى بولمايدۇ" + +#: ../gtk/gtkprinteroptionwidget.c:794 +msgid "Select a folder" +msgstr "مۇندەرىجە تاللاڭ" + +#: ../gtk/gtkprinteroptionwidget.c:813 +msgid "_Save in folder:" +msgstr "قىسقۇچتا ساقلا(_S):" + +#. translators: this string is the default job title for print +#. * jobs. %s gets replaced by the application name, %d gets replaced +#. * by the job number. +#. +#: ../gtk/gtkprintoperation.c:190 +#, c-format +msgid "%s job #%d" +msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d" + +#: ../gtk/gtkprintoperation.c:1695 +msgctxt "print operation status" +msgid "Initial state" +msgstr "دەسلەپكى ھالەت" + +#: ../gtk/gtkprintoperation.c:1696 +msgctxt "print operation status" +msgid "Preparing to print" +msgstr "بېسىشقا تەييارلىنىۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1697 +msgctxt "print operation status" +msgid "Generating data" +msgstr "سانلىق مەلۇمات ياساۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1698 +msgctxt "print operation status" +msgid "Sending data" +msgstr "ئۇچۇر يوللاۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1699 +msgctxt "print operation status" +msgid "Waiting" +msgstr "ساقلاۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1700 +msgctxt "print operation status" +msgid "Blocking on issue" +msgstr "توسۇلۇش مەسىلىسى" + +#: ../gtk/gtkprintoperation.c:1701 +msgctxt "print operation status" +msgid "Printing" +msgstr "بېسىۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1702 +msgctxt "print operation status" +msgid "Finished" +msgstr "تاماملاندى" + +#: ../gtk/gtkprintoperation.c:1703 +msgctxt "print operation status" +msgid "Finished with error" +msgstr "خاتالىق بىلەن تاماملاندى" + +#: ../gtk/gtkprintoperation.c:2270 +#, c-format +msgid "Preparing %d" +msgstr "%d تەييارلاۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +msgid "Preparing" +msgstr "تەييارلىق ھالەت" + +#: ../gtk/gtkprintoperation.c:2275 +#, c-format +msgid "Printing %d" +msgstr "%d نى بېسىۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:2932 +msgid "Error creating print preview" +msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى" + +#: ../gtk/gtkprintoperation.c:2935 +msgid "The most probable reason is that a temporary file could not be created." +msgstr "" +"مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." + +#: ../gtk/gtkprintoperation-unix.c:297 +msgid "Error launching preview" +msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" + +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1446 +msgid "Application" +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkprintoperation-win32.c:611 +msgid "Printer offline" +msgstr "پرىنتېر ئۈزۈك ھالەتتە" + +#: ../gtk/gtkprintoperation-win32.c:613 +msgid "Out of paper" +msgstr "قەغەز يېتىشمىدى" + +#. Translators: this is a printer status. +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +msgid "Paused" +msgstr "ۋاقىتلىق توختىدى" + +#: ../gtk/gtkprintoperation-win32.c:617 +msgid "Need user intervention" +msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج" + +#: ../gtk/gtkprintoperation-win32.c:717 +msgid "Custom size" +msgstr "ئىختىيارى چوڭلۇق" + +#: ../gtk/gtkprintoperation-win32.c:1538 +msgid "No printer found" +msgstr "پرىنتېر تېپىلمىدى" + +#: ../gtk/gtkprintoperation-win32.c:1565 +msgid "Invalid argument to CreateDC" +msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1601 ../gtk/gtkprintoperation-win32.c:1828 +msgid "Error from StartDoc" +msgstr "StartDoc دىن خاتالىق كۆرۈلدى" + +#: ../gtk/gtkprintoperation-win32.c:1683 ../gtk/gtkprintoperation-win32.c:1706 +#: ../gtk/gtkprintoperation-win32.c:1754 +msgid "Not enough free memory" +msgstr "يېتەرلىك بوش ئەسلەك يوق." + +#: ../gtk/gtkprintoperation-win32.c:1759 +msgid "Invalid argument to PrintDlgEx" +msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1764 +msgid "Invalid pointer to PrintDlgEx" +msgstr "PrintDlgEx نىڭ ئىسترېلكاسى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1769 +msgid "Invalid handle to PrintDlgEx" +msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1774 +msgid "Unspecified error" +msgstr "ئېنىقسىز خاتالىق" + +#: ../gtk/gtkprintunixdialog.c:614 +msgid "Getting printer information failed" +msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" + +#: ../gtk/gtkprintunixdialog.c:1869 +msgid "Getting printer information..." +msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" + +#: ../gtk/gtkprintunixdialog.c:2139 +msgid "Printer" +msgstr "پرىنتېر" + +#. Translators: this is the header for the location column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2149 +msgid "Location" +msgstr "ئورنى" + +#. Translators: this is the header for the printer status column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2160 +msgid "Status" +msgstr "ھالىتى" + +#: ../gtk/gtkprintunixdialog.c:2186 +msgid "Range" +msgstr "دائىرىسى" + +#: ../gtk/gtkprintunixdialog.c:2190 +msgid "_All Pages" +msgstr "ھەممە بەت(_A)" + +#: ../gtk/gtkprintunixdialog.c:2197 +msgid "C_urrent Page" +msgstr "نۆۋەتتىكى بەت(_U)" + +#: ../gtk/gtkprintunixdialog.c:2207 +msgid "Se_lection" +msgstr "تاللا(_L)" + +#: ../gtk/gtkprintunixdialog.c:2216 +msgid "Pag_es:" +msgstr "بەتلەر(_E):" + +#: ../gtk/gtkprintunixdialog.c:2217 +msgid "" +"Specify one or more page ranges,\n" +" e.g. 1-3,7,11" +msgstr "" +"بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" +"مەسىلەن: 1-3,7,11" + +#: ../gtk/gtkprintunixdialog.c:2227 +msgid "Pages" +msgstr "بەتلەر" + +#: ../gtk/gtkprintunixdialog.c:2240 +msgid "Copies" +msgstr "نۇسخا" + +#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns +#: ../gtk/gtkprintunixdialog.c:2245 +msgid "Copie_s:" +msgstr "نۇسخا سانى(_S):" + +#: ../gtk/gtkprintunixdialog.c:2263 +msgid "C_ollate" +msgstr "رەت بويىچە(_O)" + +#: ../gtk/gtkprintunixdialog.c:2271 +msgid "_Reverse" +msgstr "ئەكسىچە(_R)" + +#: ../gtk/gtkprintunixdialog.c:2291 +msgid "General" +msgstr "ئادەتتىكى" + +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) +#. +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing +#. +#: ../gtk/gtkprintunixdialog.c:3017 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +msgid "Left to right, top to bottom" +msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" + +#: ../gtk/gtkprintunixdialog.c:3017 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +msgid "Left to right, bottom to top" +msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" + +#: ../gtk/gtkprintunixdialog.c:3018 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +msgid "Right to left, top to bottom" +msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" + +#: ../gtk/gtkprintunixdialog.c:3018 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +msgid "Right to left, bottom to top" +msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" + +#: ../gtk/gtkprintunixdialog.c:3019 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +msgid "Top to bottom, left to right" +msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" + +#: ../gtk/gtkprintunixdialog.c:3019 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +msgid "Top to bottom, right to left" +msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" + +#: ../gtk/gtkprintunixdialog.c:3020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +msgid "Bottom to top, left to right" +msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" + +#: ../gtk/gtkprintunixdialog.c:3020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +msgid "Bottom to top, right to left" +msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" + +#. Translators, this string is used to label the option in the print +#. * dialog that controls in what order multiple pages are arranged +#. +#: ../gtk/gtkprintunixdialog.c:3024 ../gtk/gtkprintunixdialog.c:3037 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 +msgid "Page Ordering" +msgstr "بەت تەرتىپى" + +#: ../gtk/gtkprintunixdialog.c:3053 +msgid "Left to right" +msgstr "سولدىن ئوڭغا" + +#: ../gtk/gtkprintunixdialog.c:3054 +msgid "Right to left" +msgstr "ئوڭدىن سولغا" + +#: ../gtk/gtkprintunixdialog.c:3066 +msgid "Top to bottom" +msgstr "ئۈستىدىن ئاستىغا" + +#: ../gtk/gtkprintunixdialog.c:3067 +msgid "Bottom to top" +msgstr "ئاستىدىن ئۈستىگە" + +#: ../gtk/gtkprintunixdialog.c:3307 +msgid "Layout" +msgstr "ئۇسلۇب" + +#: ../gtk/gtkprintunixdialog.c:3311 +msgid "T_wo-sided:" +msgstr "قوش يۈزلۈك(_W):" + +#: ../gtk/gtkprintunixdialog.c:3326 +msgid "Pages per _side:" +msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" + +#: ../gtk/gtkprintunixdialog.c:3343 +msgid "Page or_dering:" +msgstr "بەت تەرتىپى(_D):" + +#: ../gtk/gtkprintunixdialog.c:3359 +msgid "_Only print:" +msgstr "بېسىشلا(_O):" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3374 +msgid "All sheets" +msgstr "ھەممە ۋاراقلار" + +#: ../gtk/gtkprintunixdialog.c:3375 +msgid "Even sheets" +msgstr "تاق ۋاراقلار" + +#: ../gtk/gtkprintunixdialog.c:3376 +msgid "Odd sheets" +msgstr "جۈپ ۋاراقلار" + +#: ../gtk/gtkprintunixdialog.c:3379 +msgid "Sc_ale:" +msgstr "نىسبەت(_A):" + +#: ../gtk/gtkprintunixdialog.c:3406 +msgid "Paper" +msgstr "قەغەز" + +#: ../gtk/gtkprintunixdialog.c:3410 +msgid "Paper _type:" +msgstr "قەغەز تىپى(_T):" + +#: ../gtk/gtkprintunixdialog.c:3425 +msgid "Paper _source:" +msgstr "قەغەز مەنبەسى(_S):" + +#: ../gtk/gtkprintunixdialog.c:3440 +msgid "Output t_ray:" +msgstr "قەغەز قۇتىسى(_R):" + +#: ../gtk/gtkprintunixdialog.c:3480 +msgid "Or_ientation:" +msgstr "يۆنىلىش(_I):" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3495 +msgid "Portrait" +msgstr "بوي يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3496 +msgid "Landscape" +msgstr "توغرا يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3497 +msgid "Reverse portrait" +msgstr "تەتۈر بوي يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3498 +msgid "Reverse landscape" +msgstr "تەتۈر توغرا يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3543 +msgid "Job Details" +msgstr "ۋەزىپە تەپسىلاتى" + +#: ../gtk/gtkprintunixdialog.c:3549 +msgid "Pri_ority:" +msgstr "ئالدىنلىق(_O):" + +#: ../gtk/gtkprintunixdialog.c:3564 +msgid "_Billing info:" +msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" + +#: ../gtk/gtkprintunixdialog.c:3582 +msgid "Print Document" +msgstr "پۈتۈك باس" + +#. Translators: this is one of the choices for the print at option +#. * in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3591 +msgid "_Now" +msgstr "دەرھال(_N)" + +#: ../gtk/gtkprintunixdialog.c:3602 +msgid "A_t:" +msgstr "دە(_T):" + +#. Translators: Ability to parse the am/pm format depends on actual locale. +#. * You can remove the am/pm values below for your locale if they are not +#. * supported. +#. +#: ../gtk/gtkprintunixdialog.c:3608 +msgid "" +"Specify the time of print,\n" +" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" +msgstr "" +"بېسىش ۋاقتى بەلگىلىنىدۇ،\n" +" مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" + +#: ../gtk/gtkprintunixdialog.c:3618 +msgid "Time of print" +msgstr "بېسىش ۋاقتى" + +#: ../gtk/gtkprintunixdialog.c:3634 +msgid "On _hold" +msgstr "كۈت(_H)" + +#: ../gtk/gtkprintunixdialog.c:3635 +msgid "Hold the job until it is explicitly released" +msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" + +#: ../gtk/gtkprintunixdialog.c:3655 +msgid "Add Cover Page" +msgstr "مۇقاۋا بەت قوش" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3664 +msgid "Be_fore:" +msgstr "ئالدى(_F):" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3682 +msgid "_After:" +msgstr "كەينى(_A):" + +#. Translators: this is the tab label for the notebook tab containing +#. * job-specific options in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3700 +msgid "Job" +msgstr "ۋەزىپە" + +#: ../gtk/gtkprintunixdialog.c:3766 +msgid "Advanced" +msgstr "ئالىي" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3805 +msgid "Image Quality" +msgstr "سۈرەت سۈپەتى" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3809 +msgid "Color" +msgstr "رەڭ" + +#. Translators: this will appear as tab label in print dialog. +#. It's a typographical term, as in "Binding and finishing" +#: ../gtk/gtkprintunixdialog.c:3814 +msgid "Finishing" +msgstr "تامام" + +#: ../gtk/gtkprintunixdialog.c:3824 +msgid "Some of the settings in the dialog conflict" +msgstr "دىئالوگ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" + +#: ../gtk/gtkprintunixdialog.c:3847 +msgid "Print" +msgstr "باس" + +#: ../gtk/gtkrc.c:2837 +#, c-format +msgid "Unable to find include file: \"%s\"" +msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" + +#: ../gtk/gtkrc.c:3467 ../gtk/gtkrc.c:3470 +#, c-format +msgid "Unable to locate image file in pixmap_path: \"%s\"" +msgstr "پېكسىل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" + +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:615 ../gtk/gtkrecentchoosermenu.c:623 +#, c-format +msgid "This function is not implemented for widgets of class '%s'" +msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ" + +#: ../gtk/gtkrecentchooserdefault.c:481 +msgid "Select which type of documents are shown" +msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ" + +#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 +#, c-format +msgid "No item for URI '%s' found" +msgstr "URI“%s” تۈرنى تاپالمىدى" + +#: ../gtk/gtkrecentchooserdefault.c:1298 +msgid "Untitled filter" +msgstr "تېمىسىز سۈزگۈچ" + +#: ../gtk/gtkrecentchooserdefault.c:1651 +msgid "Could not remove item" +msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ" + +#: ../gtk/gtkrecentchooserdefault.c:1695 +msgid "Could not clear list" +msgstr "تىزىملىكنى تازىلىيالمايدۇ" + +#: ../gtk/gtkrecentchooserdefault.c:1779 +msgid "Copy _Location" +msgstr "ئورۇن كۆچۈر(_L)" + +#: ../gtk/gtkrecentchooserdefault.c:1792 +msgid "_Remove From List" +msgstr "تىزىملىكتىن چىقىرىۋەت(_R)" + +#: ../gtk/gtkrecentchooserdefault.c:1801 +msgid "_Clear List" +msgstr "تىزىملىكنى تازىلا(_C)" + +#: ../gtk/gtkrecentchooserdefault.c:1815 +msgid "Show _Private Resources" +msgstr "شەخسى مەنبەنى كۆرسەت(_P)" + +#. we create a placeholder menuitem, to be used in case +#. * the menu is empty. this placeholder will stay around +#. * for the entire lifetime of the menu, and we just hide it +#. * when it's not used. we have to do this, and do it here, +#. * because we need a marker for the beginning of the recent +#. * items list, so that we can insert the new items at the +#. * right place when idly populating the menu in case the +#. * user appended or prepended custom menu items to the +#. * recent chooser menu widget. +#. +#: ../gtk/gtkrecentchoosermenu.c:369 +msgid "No items found" +msgstr "تۈر تېپىلمىدى" + +#: ../gtk/gtkrecentchoosermenu.c:535 ../gtk/gtkrecentchoosermenu.c:591 +#, c-format +msgid "No recently used resource found with URI `%s'" +msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى" + +#: ../gtk/gtkrecentchoosermenu.c:802 +#, c-format +msgid "Open '%s'" +msgstr "'%s' ئاچ" + +#: ../gtk/gtkrecentchoosermenu.c:832 +msgid "Unknown item" +msgstr "نامەلۇم تۈر" + +#. This is the label format that is used for the first 10 items +#. * in a recent files menu. The %d is the number of the item, +#. * the %s is the name of the item. Please keep the _ in front +#. * of the number to give these menu items a mnemonic. +#. +#: ../gtk/gtkrecentchoosermenu.c:843 +#, c-format +msgctxt "recent menu label" +msgid "_%d. %s" +msgstr "_%d. %s" + +#. This is the format that is used for items in a recent files menu. +#. * The %d is the number of the item, the %s is the name of the item. +#. +#: ../gtk/gtkrecentchoosermenu.c:848 +#, c-format +msgctxt "recent menu label" +msgid "%d. %s" +msgstr "%d. %s" + +#: ../gtk/gtkrecentmanager.c:980 ../gtk/gtkrecentmanager.c:993 +#: ../gtk/gtkrecentmanager.c:1131 ../gtk/gtkrecentmanager.c:1141 +#: ../gtk/gtkrecentmanager.c:1194 ../gtk/gtkrecentmanager.c:1203 +#: ../gtk/gtkrecentmanager.c:1218 +#, c-format +msgid "Unable to find an item with URI '%s'" +msgstr "URI '%s' تۈر تېپىلمىدى" + +#: ../gtk/gtkspinner.c:457 +msgctxt "throbbing progress animation widget" +msgid "Spinner" +msgstr "مىكرو تەڭشەك" + +#: ../gtk/gtkspinner.c:458 +msgid "Provides visual indication of progress" +msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" + +#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate +#: ../gtk/gtkstock.c:313 +msgctxt "Stock label" +msgid "Information" +msgstr "ئۇچۇر" + +#: ../gtk/gtkstock.c:314 +msgctxt "Stock label" +msgid "Warning" +msgstr "ئاگاھلاندۇرۇش" + +#: ../gtk/gtkstock.c:315 +msgctxt "Stock label" +msgid "Error" +msgstr "خاتالىق" + +#: ../gtk/gtkstock.c:316 +msgctxt "Stock label" +msgid "Question" +msgstr "سوئال" + +#. FIXME these need accelerators when appropriate, and +#. * need the mnemonics to be rationalized +#. +#: ../gtk/gtkstock.c:321 +msgctxt "Stock label" +msgid "_About" +msgstr "ھەققىدە(_A)" + +#: ../gtk/gtkstock.c:322 +msgctxt "Stock label" +msgid "_Add" +msgstr "قوش(_A)" + +#: ../gtk/gtkstock.c:323 +msgctxt "Stock label" +msgid "_Apply" +msgstr "قوللان(_A)" + +#: ../gtk/gtkstock.c:324 +msgctxt "Stock label" +msgid "_Bold" +msgstr "توم(_B)" + +#: ../gtk/gtkstock.c:325 +msgctxt "Stock label" +msgid "_Cancel" +msgstr "ۋاز كەچ(_C)" + +#: ../gtk/gtkstock.c:326 +msgctxt "Stock label" +msgid "_CD-Rom" +msgstr "_CD-Rom" + +#: ../gtk/gtkstock.c:327 +msgctxt "Stock label" +msgid "_Clear" +msgstr "ئۆچۈر(_C)" + +#: ../gtk/gtkstock.c:328 +msgctxt "Stock label" +msgid "_Close" +msgstr "ياپ(_C)" + +#: ../gtk/gtkstock.c:329 +msgctxt "Stock label" +msgid "C_onnect" +msgstr "ئۇلا(_O)" + +#: ../gtk/gtkstock.c:330 +msgctxt "Stock label" +msgid "_Convert" +msgstr "ئايلاندۇر(_C)" + +#: ../gtk/gtkstock.c:331 +msgctxt "Stock label" +msgid "_Copy" +msgstr "كۆچۈر(_C)" + +#: ../gtk/gtkstock.c:332 +msgctxt "Stock label" +msgid "Cu_t" +msgstr "كەس(_T)" + +#: ../gtk/gtkstock.c:333 +msgctxt "Stock label" +msgid "_Delete" +msgstr "ئۆچۈر(_D)" + +#: ../gtk/gtkstock.c:334 +msgctxt "Stock label" +msgid "_Discard" +msgstr "تاشلىۋەت(_D)" + +#: ../gtk/gtkstock.c:335 +msgctxt "Stock label" +msgid "_Disconnect" +msgstr "ئۈز(_D)" + +#: ../gtk/gtkstock.c:336 +msgctxt "Stock label" +msgid "_Execute" +msgstr "ئىجرا قىل(_E)" + +#: ../gtk/gtkstock.c:337 +msgctxt "Stock label" +msgid "_Edit" +msgstr "تەھرىر(_E)" + +#: ../gtk/gtkstock.c:338 +msgctxt "Stock label" +msgid "_File" +msgstr "" + +#: ../gtk/gtkstock.c:339 +msgctxt "Stock label" +msgid "_Find" +msgstr "ئىزدە(_F)" + +#: ../gtk/gtkstock.c:340 +msgctxt "Stock label" +msgid "Find and _Replace" +msgstr "ئىزدەپ ئالماشتۇر(_R)" + +#: ../gtk/gtkstock.c:341 +msgctxt "Stock label" +msgid "_Floppy" +msgstr "يۇمشاق دىسكا(_F)" + +#: ../gtk/gtkstock.c:342 +msgctxt "Stock label" +msgid "_Fullscreen" +msgstr "پۈتۈن ئېكران(_F)" + +#: ../gtk/gtkstock.c:343 +msgctxt "Stock label" +msgid "_Leave Fullscreen" +msgstr "پۈتۈن ئېكراندىن ئايرىل(_L)" + +#. This is a navigation label as in "go to the bottom of the page" +#: ../gtk/gtkstock.c:345 +msgctxt "Stock label, navigation" +msgid "_Bottom" +msgstr "ئاستى(_B)" + +#. This is a navigation label as in "go to the first page" +#: ../gtk/gtkstock.c:347 +msgctxt "Stock label, navigation" +msgid "_First" +msgstr "بىرىنچى(_F)" + +#. This is a navigation label as in "go to the last page" +#: ../gtk/gtkstock.c:349 +msgctxt "Stock label, navigation" +msgid "_Last" +msgstr "ئاخىرقى(_L)" + +#. This is a navigation label as in "go to the top of the page" +#: ../gtk/gtkstock.c:351 +msgctxt "Stock label, navigation" +msgid "_Top" +msgstr "بېشى(_F)" + +#. This is a navigation label as in "go back" +#: ../gtk/gtkstock.c:353 +msgctxt "Stock label, navigation" +msgid "_Back" +msgstr "كەينىگە(_B)" + +#. This is a navigation label as in "go down" +#: ../gtk/gtkstock.c:355 +msgctxt "Stock label, navigation" +msgid "_Down" +msgstr "ئاستىغا(_D)" + +#. This is a navigation label as in "go forward" +#: ../gtk/gtkstock.c:357 +msgctxt "Stock label, navigation" +msgid "_Forward" +msgstr "ئالدىنقى(_F)" + +#. This is a navigation label as in "go up" +#: ../gtk/gtkstock.c:359 +msgctxt "Stock label, navigation" +msgid "_Up" +msgstr "ئۈستىگە(_U)" + +#: ../gtk/gtkstock.c:360 +msgctxt "Stock label" +msgid "_Harddisk" +msgstr "قاتتىق دىسكا(_H)" + +#: ../gtk/gtkstock.c:361 +msgctxt "Stock label" +msgid "_Help" +msgstr "ياردەم(_H)" + +#: ../gtk/gtkstock.c:362 +msgctxt "Stock label" +msgid "_Home" +msgstr "باش بەت(_H)" + +#: ../gtk/gtkstock.c:363 +msgctxt "Stock label" +msgid "Increase Indent" +msgstr "كەڭەيت" + +#: ../gtk/gtkstock.c:364 +msgctxt "Stock label" +msgid "Decrease Indent" +msgstr "تارايت" + +#: ../gtk/gtkstock.c:365 +msgctxt "Stock label" +msgid "_Index" +msgstr "ئىندېكس(_I)" + +#: ../gtk/gtkstock.c:366 +msgctxt "Stock label" +msgid "_Information" +msgstr "ئۇچۇر(_I)" + +#: ../gtk/gtkstock.c:367 +msgctxt "Stock label" +msgid "_Italic" +msgstr "يانتۇ(_I)" + +#: ../gtk/gtkstock.c:368 +msgctxt "Stock label" +msgid "_Jump to" +msgstr "ئاتلا(_J)" + +#. This is about text justification, "centered text" +#: ../gtk/gtkstock.c:370 +msgctxt "Stock label" +msgid "_Center" +msgstr "ئوتتۇرا(_C)" + +#. This is about text justification +#: ../gtk/gtkstock.c:372 +msgctxt "Stock label" +msgid "_Fill" +msgstr "تولدۇر(_F)" + +#. This is about text justification, "left-justified text" +#: ../gtk/gtkstock.c:374 +msgctxt "Stock label" +msgid "_Left" +msgstr "سول(_L)" + +#. This is about text justification, "right-justified text" +#: ../gtk/gtkstock.c:376 +msgctxt "Stock label" +msgid "_Right" +msgstr "ئوڭ(_R)" + +#. Media label, as in "fast forward" +#: ../gtk/gtkstock.c:379 +msgctxt "Stock label, media" +msgid "_Forward" +msgstr "ئالدىنقى(_F)" + +#. Media label, as in "next song" +#: ../gtk/gtkstock.c:381 +msgctxt "Stock label, media" +msgid "_Next" +msgstr "كېيىنكى(_N)" + +#. Media label, as in "pause music" +#: ../gtk/gtkstock.c:383 +msgctxt "Stock label, media" +msgid "P_ause" +msgstr "ۋاقىتلىق توختات(_A)" + +#. Media label, as in "play music" +#: ../gtk/gtkstock.c:385 +msgctxt "Stock label, media" +msgid "_Play" +msgstr "قوي(_P)" + +#. Media label, as in "previous song" +#: ../gtk/gtkstock.c:387 +msgctxt "Stock label, media" +msgid "Pre_vious" +msgstr "ئالدىنقى(_V)" + +#. Media label +#: ../gtk/gtkstock.c:389 +msgctxt "Stock label, media" +msgid "_Record" +msgstr "خاتىرىلە(_R)" + +#. Media label +#: ../gtk/gtkstock.c:391 +msgctxt "Stock label, media" +msgid "R_ewind" +msgstr "تېز چېكىن(_E)" + +#. Media label +#: ../gtk/gtkstock.c:393 +msgctxt "Stock label, media" +msgid "_Stop" +msgstr "توختا(_S)" + +#: ../gtk/gtkstock.c:394 +msgctxt "Stock label" +msgid "_Network" +msgstr "تور(_N)" + +#: ../gtk/gtkstock.c:395 +msgctxt "Stock label" +msgid "_New" +msgstr "يېڭى(_N)" + +#: ../gtk/gtkstock.c:396 +msgctxt "Stock label" +msgid "_No" +msgstr "ياق(_N)" + +#: ../gtk/gtkstock.c:397 +msgctxt "Stock label" +msgid "_OK" +msgstr "جەزملە(_O)" + +#: ../gtk/gtkstock.c:398 +msgctxt "Stock label" +msgid "_Open" +msgstr "ئاچ(_O)" + +#. Page orientation +#: ../gtk/gtkstock.c:400 +msgctxt "Stock label" +msgid "Landscape" +msgstr "توغرا يۆنىلىش" + +#. Page orientation +#: ../gtk/gtkstock.c:402 +msgctxt "Stock label" +msgid "Portrait" +msgstr "بوي يۆنىلىش" + +#. Page orientation +#: ../gtk/gtkstock.c:404 +msgctxt "Stock label" +msgid "Reverse landscape" +msgstr "تەتۈر توغرا يۆنىلىش" + +#. Page orientation +#: ../gtk/gtkstock.c:406 +msgctxt "Stock label" +msgid "Reverse portrait" +msgstr "تەتۈر بوي يۆنىلىش" + +#: ../gtk/gtkstock.c:407 +msgctxt "Stock label" +msgid "Page Set_up" +msgstr "بەت تەڭشەك(_U)" + +#: ../gtk/gtkstock.c:408 +msgctxt "Stock label" +msgid "_Paste" +msgstr "چاپلا(_P)" + +#: ../gtk/gtkstock.c:409 +msgctxt "Stock label" +msgid "_Preferences" +msgstr "مايىللىق(_P)" + +#: ../gtk/gtkstock.c:410 +msgctxt "Stock label" +msgid "_Print" +msgstr "باس(_P)" + +#: ../gtk/gtkstock.c:411 +msgctxt "Stock label" +msgid "Print Pre_view" +msgstr "بېسىشنى ئالدىن كۆزەت(_V)" + +#: ../gtk/gtkstock.c:412 +msgctxt "Stock label" +msgid "_Properties" +msgstr "خاسلىق(_P)" + +#: ../gtk/gtkstock.c:413 +msgctxt "Stock label" +msgid "_Quit" +msgstr "چېكىن(_Q)" + +#: ../gtk/gtkstock.c:414 +msgctxt "Stock label" +msgid "_Redo" +msgstr "قايتىلا(_R)" + +#: ../gtk/gtkstock.c:415 +msgctxt "Stock label" +msgid "_Refresh" +msgstr "يېڭىلا(_R)" + +#: ../gtk/gtkstock.c:416 +msgctxt "Stock label" +msgid "_Remove" +msgstr "ئۆچۈر(_R)" + +#: ../gtk/gtkstock.c:417 +msgctxt "Stock label" +msgid "_Revert" +msgstr "ئەسلىگە قايتۇر(_R)" + +#: ../gtk/gtkstock.c:418 +msgctxt "Stock label" +msgid "_Save" +msgstr "ساقلا(_S)" + +#: ../gtk/gtkstock.c:419 +msgctxt "Stock label" +msgid "Save _As" +msgstr "باشقا ئاتتا ساقلا(_A)" + +#: ../gtk/gtkstock.c:420 +msgctxt "Stock label" +msgid "Select _All" +msgstr "ھەممىنى تاللا(_A)" + +#: ../gtk/gtkstock.c:421 +msgctxt "Stock label" +msgid "_Color" +msgstr "رەڭ(_C)" + +#: ../gtk/gtkstock.c:422 +msgctxt "Stock label" +msgid "_Font" +msgstr "خەت نۇسخا(_F)" + +#. Sorting direction +#: ../gtk/gtkstock.c:424 +msgctxt "Stock label" +msgid "_Ascending" +msgstr "ئۆسكۈچى(_A)" + +#. Sorting direction +#: ../gtk/gtkstock.c:426 +msgctxt "Stock label" +msgid "_Descending" +msgstr "كېمەيگۈچى(_D)" + +#: ../gtk/gtkstock.c:427 +msgctxt "Stock label" +msgid "_Spell Check" +msgstr "ئىملا تەكشۈر(_S)" + +#: ../gtk/gtkstock.c:428 +msgctxt "Stock label" +msgid "_Stop" +msgstr "توختا(_S)" + +#. Font variant +#: ../gtk/gtkstock.c:430 +msgctxt "Stock label" +msgid "_Strikethrough" +msgstr "ئۆچۈرۈش سىزىقى (_S)" + +#: ../gtk/gtkstock.c:431 +msgctxt "Stock label" +msgid "_Undelete" +msgstr "ئەسلىگە كەلتۈر(_U)" + +#. Font variant +#: ../gtk/gtkstock.c:433 +msgctxt "Stock label" +msgid "_Underline" +msgstr "ئاستى سىزىق(_U)" + +#: ../gtk/gtkstock.c:434 +msgctxt "Stock label" +msgid "_Undo" +msgstr "يېنىۋال(_U)" + +#: ../gtk/gtkstock.c:435 +msgctxt "Stock label" +msgid "_Yes" +msgstr "ھەئە(_Y)" + +#. Zoom +#: ../gtk/gtkstock.c:437 +msgctxt "Stock label" +msgid "_Normal Size" +msgstr "ئەسلى چوڭلۇقى(_N)" + +#. Zoom +#: ../gtk/gtkstock.c:439 +msgctxt "Stock label" +msgid "Best _Fit" +msgstr "ئەڭ مۇناسىپ(_F)" + +#: ../gtk/gtkstock.c:440 +msgctxt "Stock label" +msgid "Zoom _In" +msgstr "چوڭايت(_I)" + +#: ../gtk/gtkstock.c:441 +msgctxt "Stock label" +msgid "Zoom _Out" +msgstr "كىچىكلەت(_O) " + +#: ../gtk/gtktextbufferrichtext.c:650 +#, c-format +msgid "Unknown error when trying to deserialize %s" +msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s" + +#: ../gtk/gtktextbufferrichtext.c:709 +#, c-format +msgid "No deserialize function found for format %s" +msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" + +#: ../gtk/gtktextbufferserialize.c:795 ../gtk/gtktextbufferserialize.c:821 +#, c-format +msgid "Both \"id\" and \"name\" were found on the <%s> element" +msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" + +#: ../gtk/gtktextbufferserialize.c:805 ../gtk/gtktextbufferserialize.c:831 +#, c-format +msgid "The attribute \"%s\" was found twice on the <%s> element" +msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" + +#: ../gtk/gtktextbufferserialize.c:845 +#, c-format +msgid "<%s> element has invalid id \"%s\"" +msgstr "<%s> ئېلېمېنتنىڭ id سى “%s” ئىناۋەتسىز " + +#: ../gtk/gtktextbufferserialize.c:855 +#, c-format +msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" +msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" + +#: ../gtk/gtktextbufferserialize.c:942 +#, c-format +msgid "Attribute \"%s\" repeated twice on the same <%s> element" +msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى " + +#: ../gtk/gtktextbufferserialize.c:960 ../gtk/gtktextbufferserialize.c:985 +#, c-format +msgid "Attribute \"%s\" is invalid on <%s> element in this context" +msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" + +#: ../gtk/gtktextbufferserialize.c:1024 +#, c-format +msgid "Tag \"%s\" has not been defined." +msgstr "“%s” بەلگە ئېنىقلانمىغان." + +#: ../gtk/gtktextbufferserialize.c:1036 +msgid "Anonymous tag found and tags can not be created." +msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" + +#: ../gtk/gtktextbufferserialize.c:1047 +#, c-format +msgid "Tag \"%s\" does not exist in buffer and tags can not be created." +msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." + +#: ../gtk/gtktextbufferserialize.c:1146 ../gtk/gtktextbufferserialize.c:1221 +#: ../gtk/gtktextbufferserialize.c:1324 ../gtk/gtktextbufferserialize.c:1398 +#, c-format +msgid "Element <%s> is not allowed below <%s>" +msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" + +#: ../gtk/gtktextbufferserialize.c:1177 +#, c-format +msgid "\"%s\" is not a valid attribute type" +msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" + +#: ../gtk/gtktextbufferserialize.c:1185 +#, c-format +msgid "\"%s\" is not a valid attribute name" +msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" + +#: ../gtk/gtktextbufferserialize.c:1195 +#, c-format +msgid "" +"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgstr "" +"\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا " +"ئىشلىتىلىدۇ" + +#: ../gtk/gtktextbufferserialize.c:1204 +#, c-format +msgid "\"%s\" is not a valid value for attribute \"%s\"" +msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" + +#: ../gtk/gtktextbufferserialize.c:1289 +#, c-format +msgid "Tag \"%s\" already defined" +msgstr "\"%s\" بەلگە ئېنىقلاندى" + +#: ../gtk/gtktextbufferserialize.c:1300 +#, c-format +msgid "Tag \"%s\" has invalid priority \"%s\"" +msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" + +#: ../gtk/gtktextbufferserialize.c:1353 +#, c-format +msgid "Outermost element in text must be not <%s>" +msgstr "" +"تېكستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" + +#: ../gtk/gtktextbufferserialize.c:1362 ../gtk/gtktextbufferserialize.c:1378 +#, c-format +msgid "A <%s> element has already been specified" +msgstr "<%s> ئېلېمېنت بەلگىلەندى" + +#: ../gtk/gtktextbufferserialize.c:1384 +msgid "A element can't occur before a element" +msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" + +#: ../gtk/gtktextbufferserialize.c:1784 +msgid "Serialized data is malformed" +msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" + +#: ../gtk/gtktextbufferserialize.c:1862 +msgid "" +"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +msgstr "" +"تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى " +"GTKTEXTBUFFERCONTENTS-0001" + +#: ../gtk/gtktextutil.c:60 +msgid "LRM _Left-to-right mark" +msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)" + +#: ../gtk/gtktextutil.c:61 +msgid "RLM _Right-to-left mark" +msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)" + +#: ../gtk/gtktextutil.c:62 +msgid "LRE Left-to-right _embedding" +msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)" + +#: ../gtk/gtktextutil.c:63 +msgid "RLE Right-to-left e_mbedding" +msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)" + +#: ../gtk/gtktextutil.c:64 +msgid "LRO Left-to-right _override" +msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)" + +#: ../gtk/gtktextutil.c:65 +msgid "RLO Right-to-left o_verride" +msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)" + +#: ../gtk/gtktextutil.c:66 +msgid "PDF _Pop directional formatting" +msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)" + +#: ../gtk/gtktextutil.c:67 +msgid "ZWS _Zero width space" +msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)" + +#: ../gtk/gtktextutil.c:68 +msgid "ZWJ Zero width _joiner" +msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)" + +#: ../gtk/gtktextutil.c:69 +msgid "ZWNJ Zero width _non-joiner" +msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)" + +#: ../gtk/gtkthemes.c:71 +#, c-format +msgid "Unable to locate theme engine in module_path: \"%s\"," +msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" + +#: ../gtk/gtkuimanager.c:1505 +#, c-format +msgid "Unexpected start tag '%s' on line %d char %d" +msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە" + +#: ../gtk/gtkuimanager.c:1595 +#, c-format +msgid "Unexpected character data on line %d char %d" +msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار" + +#: ../gtk/gtkuimanager.c:2427 +msgid "Empty" +msgstr "بوش" + +#: ../gtk/gtkvolumebutton.c:83 +msgid "Volume" +msgstr "قىممەت" + +#: ../gtk/gtkvolumebutton.c:85 +msgid "Turns volume down or up" +msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" + +#: ../gtk/gtkvolumebutton.c:88 +msgid "Adjusts the volume" +msgstr "ئاۋاز تەڭشىكى" + +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +msgid "Volume Down" +msgstr "ئاۋازنى تۆۋەنلەت" + +#: ../gtk/gtkvolumebutton.c:96 +msgid "Decreases the volume" +msgstr "ئاۋازنى كېمەيت" + +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +msgid "Volume Up" +msgstr "ئاۋازنى يۇقىرىلات" + +#: ../gtk/gtkvolumebutton.c:102 +msgid "Increases the volume" +msgstr "ئاۋازنى ئاشۇر" + +#: ../gtk/gtkvolumebutton.c:160 +msgid "Muted" +msgstr "ئۈنسىز" + +#: ../gtk/gtkvolumebutton.c:164 +msgid "Full Volume" +msgstr "ئەڭ يۇقىرى ئاۋاز" + +#. Translators: this is the percentage of the current volume, +#. * as used in the tooltip, eg. "49 %". +#. * Translate the "%d" to "%Id" if you want to use localised digits, +#. * or otherwise translate the "%d" to "%d". +#. +#: ../gtk/gtkvolumebutton.c:177 +#, c-format +msgctxt "volume percentage" +msgid "%d %%" +msgstr "%d %%" + +#: ../gtk/paper_names_offsets.c:4 +msgctxt "paper size" +msgid "asme_f" +msgstr "asme_f" + +#: ../gtk/paper_names_offsets.c:5 +msgctxt "paper size" +msgid "A0x2" +msgstr "A0x2" + +#: ../gtk/paper_names_offsets.c:6 +msgctxt "paper size" +msgid "A0" +msgstr "A0" + +#: ../gtk/paper_names_offsets.c:7 +msgctxt "paper size" +msgid "A0x3" +msgstr "A0x3" + +#: ../gtk/paper_names_offsets.c:8 +msgctxt "paper size" +msgid "A1" +msgstr "A1" + +#: ../gtk/paper_names_offsets.c:9 +msgctxt "paper size" +msgid "A10" +msgstr "A10" + +#: ../gtk/paper_names_offsets.c:10 +msgctxt "paper size" +msgid "A1x3" +msgstr "A1x3" + +#: ../gtk/paper_names_offsets.c:11 +msgctxt "paper size" +msgid "A1x4" +msgstr "A1x4" + +#: ../gtk/paper_names_offsets.c:12 +msgctxt "paper size" +msgid "A2" +msgstr "A2" + +#: ../gtk/paper_names_offsets.c:13 +msgctxt "paper size" +msgid "A2x3" +msgstr "A2x3" + +#: ../gtk/paper_names_offsets.c:14 +msgctxt "paper size" +msgid "A2x4" +msgstr "A2x4" + +#: ../gtk/paper_names_offsets.c:15 +msgctxt "paper size" +msgid "A2x5" +msgstr "A2x5" + +#: ../gtk/paper_names_offsets.c:16 +msgctxt "paper size" +msgid "A3" +msgstr "A3" + +#: ../gtk/paper_names_offsets.c:17 +msgctxt "paper size" +msgid "A3 Extra" +msgstr "A3 Extra" + +#: ../gtk/paper_names_offsets.c:18 +msgctxt "paper size" +msgid "A3x3" +msgstr "A3x3" + +#: ../gtk/paper_names_offsets.c:19 +msgctxt "paper size" +msgid "A3x4" +msgstr "A3x4" + +#: ../gtk/paper_names_offsets.c:20 +msgctxt "paper size" +msgid "A3x5" +msgstr "A3x5" + +#: ../gtk/paper_names_offsets.c:21 +msgctxt "paper size" +msgid "A3x6" +msgstr "A3x6" + +#: ../gtk/paper_names_offsets.c:22 +msgctxt "paper size" +msgid "A3x7" +msgstr "A3x7" + +#: ../gtk/paper_names_offsets.c:23 +msgctxt "paper size" +msgid "A4" +msgstr "A4" + +#: ../gtk/paper_names_offsets.c:24 +msgctxt "paper size" +msgid "A4 Extra" +msgstr "A4 Extra" + +#: ../gtk/paper_names_offsets.c:25 +msgctxt "paper size" +msgid "A4 Tab" +msgstr "A4 Tab" + +#: ../gtk/paper_names_offsets.c:26 +msgctxt "paper size" +msgid "A4x3" +msgstr "A4x3" + +#: ../gtk/paper_names_offsets.c:27 +msgctxt "paper size" +msgid "A4x4" +msgstr "A4x4" + +#: ../gtk/paper_names_offsets.c:28 +msgctxt "paper size" +msgid "A4x5" +msgstr "A4x5" + +#: ../gtk/paper_names_offsets.c:29 +msgctxt "paper size" +msgid "A4x6" +msgstr "A4x6" + +#: ../gtk/paper_names_offsets.c:30 +msgctxt "paper size" +msgid "A4x7" +msgstr "A4x7" + +#: ../gtk/paper_names_offsets.c:31 +msgctxt "paper size" +msgid "A4x8" +msgstr "A4x8" + +#: ../gtk/paper_names_offsets.c:32 +msgctxt "paper size" +msgid "A4x9" +msgstr "A4x9" + +#: ../gtk/paper_names_offsets.c:33 +msgctxt "paper size" +msgid "A5" +msgstr "A5" + +#: ../gtk/paper_names_offsets.c:34 +msgctxt "paper size" +msgid "A5 Extra" +msgstr "A5 Extra" + +#: ../gtk/paper_names_offsets.c:35 +msgctxt "paper size" +msgid "A6" +msgstr "A6" + +#: ../gtk/paper_names_offsets.c:36 +msgctxt "paper size" +msgid "A7" +msgstr "A7" + +#: ../gtk/paper_names_offsets.c:37 +msgctxt "paper size" +msgid "A8" +msgstr "A8" + +#: ../gtk/paper_names_offsets.c:38 +msgctxt "paper size" +msgid "A9" +msgstr "A9" + +#: ../gtk/paper_names_offsets.c:39 +msgctxt "paper size" +msgid "B0" +msgstr "B0" + +#: ../gtk/paper_names_offsets.c:40 +msgctxt "paper size" +msgid "B1" +msgstr "B1" + +#: ../gtk/paper_names_offsets.c:41 +msgctxt "paper size" +msgid "B10" +msgstr "B10" + +#: ../gtk/paper_names_offsets.c:42 +msgctxt "paper size" +msgid "B2" +msgstr "B2" + +#: ../gtk/paper_names_offsets.c:43 +msgctxt "paper size" +msgid "B3" +msgstr "B3" + +#: ../gtk/paper_names_offsets.c:44 +msgctxt "paper size" +msgid "B4" +msgstr "B4" + +#: ../gtk/paper_names_offsets.c:45 +msgctxt "paper size" +msgid "B5" +msgstr "B5" + +#: ../gtk/paper_names_offsets.c:46 +msgctxt "paper size" +msgid "B5 Extra" +msgstr "B5 Extra" + +#: ../gtk/paper_names_offsets.c:47 +msgctxt "paper size" +msgid "B6" +msgstr "B6" + +#: ../gtk/paper_names_offsets.c:48 +msgctxt "paper size" +msgid "B6/C4" +msgstr "B6/C4" + +#: ../gtk/paper_names_offsets.c:49 +msgctxt "paper size" +msgid "B7" +msgstr "B7" + +#: ../gtk/paper_names_offsets.c:50 +msgctxt "paper size" +msgid "B8" +msgstr "B8" + +#: ../gtk/paper_names_offsets.c:51 +msgctxt "paper size" +msgid "B9" +msgstr "B9" + +#: ../gtk/paper_names_offsets.c:52 +msgctxt "paper size" +msgid "C0" +msgstr "C0" + +#: ../gtk/paper_names_offsets.c:53 +msgctxt "paper size" +msgid "C1" +msgstr "C1" + +#: ../gtk/paper_names_offsets.c:54 +msgctxt "paper size" +msgid "C10" +msgstr "C10" + +#: ../gtk/paper_names_offsets.c:55 +msgctxt "paper size" +msgid "C2" +msgstr "C2" + +#: ../gtk/paper_names_offsets.c:56 +msgctxt "paper size" +msgid "C3" +msgstr "C3" + +#: ../gtk/paper_names_offsets.c:57 +msgctxt "paper size" +msgid "C4" +msgstr "C4" + +#: ../gtk/paper_names_offsets.c:58 +msgctxt "paper size" +msgid "C5" +msgstr "C5" + +#: ../gtk/paper_names_offsets.c:59 +msgctxt "paper size" +msgid "C6" +msgstr "C6" + +#: ../gtk/paper_names_offsets.c:60 +msgctxt "paper size" +msgid "C6/C5" +msgstr "C6/C5" + +#: ../gtk/paper_names_offsets.c:61 +msgctxt "paper size" +msgid "C7" +msgstr "C7" + +#: ../gtk/paper_names_offsets.c:62 +msgctxt "paper size" +msgid "C7/C6" +msgstr "C7/C6" + +#: ../gtk/paper_names_offsets.c:63 +msgctxt "paper size" +msgid "C8" +msgstr "C8" + +#: ../gtk/paper_names_offsets.c:64 +msgctxt "paper size" +msgid "C9" +msgstr "C9" + +#: ../gtk/paper_names_offsets.c:65 +msgctxt "paper size" +msgid "DL Envelope" +msgstr "DL لىپاپا" + +#: ../gtk/paper_names_offsets.c:66 +msgctxt "paper size" +msgid "RA0" +msgstr "RA0" + +#: ../gtk/paper_names_offsets.c:67 +msgctxt "paper size" +msgid "RA1" +msgstr "RA1" + +#: ../gtk/paper_names_offsets.c:68 +msgctxt "paper size" +msgid "RA2" +msgstr "RA2" + +#: ../gtk/paper_names_offsets.c:69 +msgctxt "paper size" +msgid "SRA0" +msgstr "SRA0" + +#: ../gtk/paper_names_offsets.c:70 +msgctxt "paper size" +msgid "SRA1" +msgstr "SRA1" + +#: ../gtk/paper_names_offsets.c:71 +msgctxt "paper size" +msgid "SRA2" +msgstr "SRA2" + +#: ../gtk/paper_names_offsets.c:72 +msgctxt "paper size" +msgid "JB0" +msgstr "JB0" + +#: ../gtk/paper_names_offsets.c:73 +msgctxt "paper size" +msgid "JB1" +msgstr "JB1" + +#: ../gtk/paper_names_offsets.c:74 +msgctxt "paper size" +msgid "JB10" +msgstr "JB10" + +#: ../gtk/paper_names_offsets.c:75 +msgctxt "paper size" +msgid "JB2" +msgstr "JB2" + +#: ../gtk/paper_names_offsets.c:76 +msgctxt "paper size" +msgid "JB3" +msgstr "JB3" + +#: ../gtk/paper_names_offsets.c:77 +msgctxt "paper size" +msgid "JB4" +msgstr "JB4" + +#: ../gtk/paper_names_offsets.c:78 +msgctxt "paper size" +msgid "JB5" +msgstr "JB5" + +#: ../gtk/paper_names_offsets.c:79 +msgctxt "paper size" +msgid "JB6" +msgstr "JB6" + +#: ../gtk/paper_names_offsets.c:80 +msgctxt "paper size" +msgid "JB7" +msgstr "JB7" + +#: ../gtk/paper_names_offsets.c:81 +msgctxt "paper size" +msgid "JB8" +msgstr "JB8" + +#: ../gtk/paper_names_offsets.c:82 +msgctxt "paper size" +msgid "JB9" +msgstr "JB9" + +#: ../gtk/paper_names_offsets.c:83 +msgctxt "paper size" +msgid "jis exec" +msgstr "jis exec" + +#: ../gtk/paper_names_offsets.c:84 +msgctxt "paper size" +msgid "Choukei 2 Envelope" +msgstr "Choukei 2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:85 +msgctxt "paper size" +msgid "Choukei 3 Envelope" +msgstr "Choukei 3 لىپاپ" + +#: ../gtk/paper_names_offsets.c:86 +msgctxt "paper size" +msgid "Choukei 4 Envelope" +msgstr "houkei 4 لىپاپ" + +#: ../gtk/paper_names_offsets.c:87 +msgctxt "paper size" +msgid "hagaki (postcard)" +msgstr "hagaki (پوچتا كارتىسى)" + +#: ../gtk/paper_names_offsets.c:88 +msgctxt "paper size" +msgid "kahu Envelope" +msgstr "kahu لىپاپ" + +#: ../gtk/paper_names_offsets.c:89 +msgctxt "paper size" +msgid "kaku2 Envelope" +msgstr "kaku2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:90 +msgctxt "paper size" +msgid "oufuku (reply postcard)" +msgstr "oufuku (جاۋاب پوچتا كارتىسى)" + +#: ../gtk/paper_names_offsets.c:91 +msgctxt "paper size" +msgid "you4 Envelope" +msgstr "you4 لىپاپ" + +#: ../gtk/paper_names_offsets.c:92 +msgctxt "paper size" +msgid "10x11" +msgstr "10x11" + +#: ../gtk/paper_names_offsets.c:93 +msgctxt "paper size" +msgid "10x13" +msgstr "10x13" + +#: ../gtk/paper_names_offsets.c:94 +msgctxt "paper size" +msgid "10x14" +msgstr "10x14" + +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 +msgctxt "paper size" +msgid "10x15" +msgstr "10x15" + +#: ../gtk/paper_names_offsets.c:97 +msgctxt "paper size" +msgid "11x12" +msgstr "11x12" + +#: ../gtk/paper_names_offsets.c:98 +msgctxt "paper size" +msgid "11x15" +msgstr "11x15" + +#: ../gtk/paper_names_offsets.c:99 +msgctxt "paper size" +msgid "12x19" +msgstr "12x19" + +#: ../gtk/paper_names_offsets.c:100 +msgctxt "paper size" +msgid "5x7" +msgstr "5x7" + +#: ../gtk/paper_names_offsets.c:101 +msgctxt "paper size" +msgid "6x9 Envelope" +msgstr "6x9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:102 +msgctxt "paper size" +msgid "7x9 Envelope" +msgstr "7x9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:103 +msgctxt "paper size" +msgid "9x11 Envelope" +msgstr "9x11 لىپاپ" + +#: ../gtk/paper_names_offsets.c:104 +msgctxt "paper size" +msgid "a2 Envelope" +msgstr "a2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:105 +msgctxt "paper size" +msgid "Arch A" +msgstr "ئەگمە A" + +#: ../gtk/paper_names_offsets.c:106 +msgctxt "paper size" +msgid "Arch B" +msgstr "ئەگمە B" + +#: ../gtk/paper_names_offsets.c:107 +msgctxt "paper size" +msgid "Arch C" +msgstr "ئەگمە C" + +#: ../gtk/paper_names_offsets.c:108 +msgctxt "paper size" +msgid "Arch D" +msgstr "ئەگمە D" + +#: ../gtk/paper_names_offsets.c:109 +msgctxt "paper size" +msgid "Arch E" +msgstr "ئەگمە E" + +#: ../gtk/paper_names_offsets.c:110 +msgctxt "paper size" +msgid "b-plus" +msgstr "b-plus" + +#: ../gtk/paper_names_offsets.c:111 +msgctxt "paper size" +msgid "c" +msgstr "c" + +#: ../gtk/paper_names_offsets.c:112 +msgctxt "paper size" +msgid "c5 Envelope" +msgstr "c5 لىپاپ" + +#: ../gtk/paper_names_offsets.c:113 +msgctxt "paper size" +msgid "d" +msgstr "d" + +#: ../gtk/paper_names_offsets.c:114 +msgctxt "paper size" +msgid "e" +msgstr "e" + +#: ../gtk/paper_names_offsets.c:115 +msgctxt "paper size" +msgid "edp" +msgstr "edp" + +#: ../gtk/paper_names_offsets.c:116 +msgctxt "paper size" +msgid "European edp" +msgstr "ياۋرۇپا edp" + +#: ../gtk/paper_names_offsets.c:117 +msgctxt "paper size" +msgid "Executive" +msgstr "مەمۇرىي" + +#: ../gtk/paper_names_offsets.c:118 +msgctxt "paper size" +msgid "f" +msgstr "f" + +#: ../gtk/paper_names_offsets.c:119 +msgctxt "paper size" +msgid "FanFold European" +msgstr "FanFold ياۋرۇپا" + +#: ../gtk/paper_names_offsets.c:120 +msgctxt "paper size" +msgid "FanFold US" +msgstr "FanFold ئا ق ش" + +#: ../gtk/paper_names_offsets.c:121 +msgctxt "paper size" +msgid "FanFold German Legal" +msgstr "FanFold گېرمانىيە قانۇنى" + +#: ../gtk/paper_names_offsets.c:122 +msgctxt "paper size" +msgid "Government Legal" +msgstr "ھۆكۈمەت قانۇنى" + +#: ../gtk/paper_names_offsets.c:123 +msgctxt "paper size" +msgid "Government Letter" +msgstr "ھۆكۈمەت خەت-چەك" + +#: ../gtk/paper_names_offsets.c:124 +msgctxt "paper size" +msgid "Index 3x5" +msgstr "Index 3x5" + +#: ../gtk/paper_names_offsets.c:125 +msgctxt "paper size" +msgid "Index 4x6 (postcard)" +msgstr "Index 4x6 (پوچتا كارتىسى)" + +#: ../gtk/paper_names_offsets.c:126 +msgctxt "paper size" +msgid "Index 4x6 ext" +msgstr "Index 4x6 ext" + +#: ../gtk/paper_names_offsets.c:127 +msgctxt "paper size" +msgid "Index 5x8" +msgstr "Index 5x8" + +#: ../gtk/paper_names_offsets.c:128 +msgctxt "paper size" +msgid "Invoice" +msgstr "Invoice" + +#: ../gtk/paper_names_offsets.c:129 +msgctxt "paper size" +msgid "Tabloid" +msgstr "تەرمىلەر" + +#: ../gtk/paper_names_offsets.c:130 +msgctxt "paper size" +msgid "US Legal" +msgstr "ئا ق ش قانۇن" + +#: ../gtk/paper_names_offsets.c:131 +msgctxt "paper size" +msgid "US Legal Extra" +msgstr "ئا ق ش قانۇنى زىيادە چوڭ" + +#: ../gtk/paper_names_offsets.c:132 +msgctxt "paper size" +msgid "US Letter" +msgstr "ئا ق ش لىپاپىسى" + +#: ../gtk/paper_names_offsets.c:133 +msgctxt "paper size" +msgid "US Letter Extra" +msgstr "ئا ق ش لىپاپىسى زىيادە چوڭ" + +#: ../gtk/paper_names_offsets.c:134 +msgctxt "paper size" +msgid "US Letter Plus" +msgstr "ئا ق ش لىپاپىسى چوڭ" + +#: ../gtk/paper_names_offsets.c:135 +msgctxt "paper size" +msgid "Monarch Envelope" +msgstr "Monarch لىپاپ" + +#: ../gtk/paper_names_offsets.c:136 +msgctxt "paper size" +msgid "#10 Envelope" +msgstr "#10 لىپاپ" + +#: ../gtk/paper_names_offsets.c:137 +msgctxt "paper size" +msgid "#11 Envelope" +msgstr "#11 لىپاپ" + +#: ../gtk/paper_names_offsets.c:138 +msgctxt "paper size" +msgid "#12 Envelope" +msgstr "#12 لىپاپ" + +#: ../gtk/paper_names_offsets.c:139 +msgctxt "paper size" +msgid "#14 Envelope" +msgstr "#14 لىپاپ" + +#: ../gtk/paper_names_offsets.c:140 +msgctxt "paper size" +msgid "#9 Envelope" +msgstr "#9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:141 +msgctxt "paper size" +msgid "Personal Envelope" +msgstr "شەخسىي لىپاپ" + +#: ../gtk/paper_names_offsets.c:142 +msgctxt "paper size" +msgid "Quarto" +msgstr "Quarto" + +#: ../gtk/paper_names_offsets.c:143 +msgctxt "paper size" +msgid "Super A" +msgstr "Super A" + +#: ../gtk/paper_names_offsets.c:144 +msgctxt "paper size" +msgid "Super B" +msgstr "Super B" + +#: ../gtk/paper_names_offsets.c:145 +msgctxt "paper size" +msgid "Wide Format" +msgstr "كەڭ فورمات" + +#: ../gtk/paper_names_offsets.c:146 +msgctxt "paper size" +msgid "Dai-pa-kai" +msgstr "Dai-pa-kai" + +#: ../gtk/paper_names_offsets.c:147 +msgctxt "paper size" +msgid "Folio" +msgstr "Folio" + +#: ../gtk/paper_names_offsets.c:148 +msgctxt "paper size" +msgid "Folio sp" +msgstr "Folio sp" + +#: ../gtk/paper_names_offsets.c:149 +msgctxt "paper size" +msgid "Invite Envelope" +msgstr "تەكلىپ لىپاپ" + +#: ../gtk/paper_names_offsets.c:150 +msgctxt "paper size" +msgid "Italian Envelope" +msgstr "ئىتالىيە لىپاپىسى" + +#: ../gtk/paper_names_offsets.c:151 +msgctxt "paper size" +msgid "juuro-ku-kai" +msgstr "juuro-ku-kai" + +#: ../gtk/paper_names_offsets.c:152 +msgctxt "paper size" +msgid "pa-kai" +msgstr "pa-kai" + +#: ../gtk/paper_names_offsets.c:153 +msgctxt "paper size" +msgid "Postfix Envelope" +msgstr "Postfix لىپاپ" + +#: ../gtk/paper_names_offsets.c:154 +msgctxt "paper size" +msgid "Small Photo" +msgstr "كىچىك سۈرەت" + +#: ../gtk/paper_names_offsets.c:155 +msgctxt "paper size" +msgid "prc1 Envelope" +msgstr "prc1 شەخسىي لىپاپ" + +#: ../gtk/paper_names_offsets.c:156 +msgctxt "paper size" +msgid "prc10 Envelope" +msgstr "ج خ ج 10 لىپاپ" + +#: ../gtk/paper_names_offsets.c:157 +msgctxt "paper size" +msgid "prc 16k" +msgstr "ج خ ج 16 كەسلەم" + +#: ../gtk/paper_names_offsets.c:158 +msgctxt "paper size" +msgid "prc2 Envelope" +msgstr "ج خ ج 2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:159 +msgctxt "paper size" +msgid "prc3 Envelope" +msgstr "ج خ ج 3 لىپاپ" + +#: ../gtk/paper_names_offsets.c:160 +msgctxt "paper size" +msgid "prc 32k" +msgstr "ج خ ج 32 كەسلەم" + +#: ../gtk/paper_names_offsets.c:161 +msgctxt "paper size" +msgid "prc4 Envelope" +msgstr "ج خ ج 4 لىپاپ" + +#: ../gtk/paper_names_offsets.c:162 +msgctxt "paper size" +msgid "prc5 Envelope" +msgstr "ج خ ج 5 لىپاپ" + +#: ../gtk/paper_names_offsets.c:163 +msgctxt "paper size" +msgid "prc6 Envelope" +msgstr "ج خ ج 6 لىپاپ" + +#: ../gtk/paper_names_offsets.c:164 +msgctxt "paper size" +msgid "prc7 Envelope" +msgstr "ج خ ج 7 لىپاپ" + +#: ../gtk/paper_names_offsets.c:165 +msgctxt "paper size" +msgid "prc8 Envelope" +msgstr "ج خ ج 8 لىپاپ" + +#: ../gtk/paper_names_offsets.c:166 +msgctxt "paper size" +msgid "prc9 Envelope" +msgstr "ج خ ج 9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:167 +msgctxt "paper size" +msgid "ROC 16k" +msgstr "ج م 16 كەسلەم" + +#: ../gtk/paper_names_offsets.c:168 +msgctxt "paper size" +msgid "ROC 8k" +msgstr "ج م 8 كەسلەم" + +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 +#, c-format +msgid "different idatas found for symlinked '%s' and '%s'\n" +msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n" + +#: ../gtk/updateiconcache.c:1374 +#, c-format +msgid "Failed to write header\n" +msgstr "بېشىغا يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1380 +#, c-format +msgid "Failed to write hash table\n" +msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1386 +#, c-format +msgid "Failed to write folder index\n" +msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1394 +#, c-format +msgid "Failed to rewrite header\n" +msgstr "باشىغا قايتا يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1463 +#, c-format +msgid "Failed to open file %s : %s\n" +msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" + +#: ../gtk/updateiconcache.c:1471 +#, c-format +msgid "Failed to write cache file: %s\n" +msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" + +#: ../gtk/updateiconcache.c:1507 +#, c-format +msgid "The generated cache was invalid.\n" +msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" + +#: ../gtk/updateiconcache.c:1521 +#, c-format +msgid "Could not rename %s to %s: %s, removing %s then.\n" +msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" + +#: ../gtk/updateiconcache.c:1535 +#, c-format +msgid "Could not rename %s to %s: %s\n" +msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" + +#: ../gtk/updateiconcache.c:1545 +#, c-format +msgid "Could not rename %s back to %s: %s.\n" +msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" + +#: ../gtk/updateiconcache.c:1572 +#, c-format +msgid "Cache file created successfully.\n" +msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" + +#: ../gtk/updateiconcache.c:1611 +msgid "Overwrite an existing cache, even if up to date" +msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" + +#: ../gtk/updateiconcache.c:1612 +msgid "Don't check for the existence of index.theme" +msgstr "مەۋجۇد index.theme نى تەكشۈرمە" + +#: ../gtk/updateiconcache.c:1613 +msgid "Don't include image data in the cache" +msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" + +#: ../gtk/updateiconcache.c:1614 +msgid "Output a C header file" +msgstr "C باش ھۆججەتنى چىقار" + +#: ../gtk/updateiconcache.c:1615 +msgid "Turn off verbose output" +msgstr "تەپسىلىي چىقىرىشنى ياپ" + +#: ../gtk/updateiconcache.c:1616 +msgid "Validate existing icon cache" +msgstr "مەۋجۇد سىنبەلگە غەملىكىنى دەلىللە" + +#: ../gtk/updateiconcache.c:1683 +#, c-format +msgid "File not found: %s\n" +msgstr "ھۆججەتنى تاپالمىدى: %s\n" + +#: ../gtk/updateiconcache.c:1689 +#, c-format +msgid "Not a valid icon cache: %s\n" +msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" + +#: ../gtk/updateiconcache.c:1702 +#, c-format +msgid "No theme index file.\n" +msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" + +#: ../gtk/updateiconcache.c:1706 +#, c-format +msgid "" +"No theme index file in '%s'.\n" +"If you really want to create an icon cache here, use --ignore-theme-index.\n" +msgstr "" +"“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" +"ئەگەر بۇ جايغا راستىنلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-" +"index ئىشلىتىڭ\n" + +#. ID +#: ../modules/input/imam-et.c:454 +msgid "Amharic (EZ+)" +msgstr "ئامخاراچە(EZ+)" + +#. ID +#: ../modules/input/imcedilla.c:92 +msgid "Cedilla" +msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى" + +#. ID +#: ../modules/input/imcyrillic-translit.c:217 +msgid "Cyrillic (Transliterated)" +msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)" + +#. ID +#: ../modules/input/iminuktitut.c:127 +msgid "Inuktitut (Transliterated)" +msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)" + +#. ID +#: ../modules/input/imipa.c:145 +msgid "IPA" +msgstr "IPA " + +#. ID +#: ../modules/input/immultipress.c:31 +msgid "Multipress" +msgstr "ئېغىر بىسىم" + +#. ID +#: ../modules/input/imthai.c:35 +msgid "Thai-Lao" +msgstr "تايلاند-لائۇس" + +#. ID +#: ../modules/input/imti-er.c:453 +msgid "Tigrigna-Eritrean (EZ+)" +msgstr "تىگرىگنا-ئېرىترىيە(EZ+)" + +#. ID +#: ../modules/input/imti-et.c:453 +msgid "Tigrigna-Ethiopian (EZ+)" +msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)" + +#. ID +#: ../modules/input/imviqr.c:244 +msgid "Vietnamese (VIQR)" +msgstr "ۋيېتنامچە(VIQR)" + +#. ID +#: ../modules/input/imxim.c:28 +msgid "X Input Method" +msgstr "X كىرگۈزگۈچ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +msgid "Username:" +msgstr "ئىشلەتكۈچى ئاتى:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +msgid "Password:" +msgstr "ئىم:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#, c-format +msgid "Authentication is required to print document '%s' on printer %s" +msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#, c-format +msgid "Authentication is required to print a document on %s" +msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 +#, c-format +msgid "Authentication is required to get attributes of job '%s'" +msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +msgid "Authentication is required to get attributes of a job" +msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 +#, c-format +msgid "Authentication is required to get attributes of printer %s" +msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 +msgid "Authentication is required to get attributes of a printer" +msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 +#, c-format +msgid "Authentication is required to get default printer of %s" +msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 +#, c-format +msgid "Authentication is required to get printers from %s" +msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#, c-format +msgid "Authentication is required on %s" +msgstr "%s دا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +msgid "Domain:" +msgstr "دائىرە:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#, c-format +msgid "Authentication is required to print document '%s'" +msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#, c-format +msgid "Authentication is required to print this document on printer %s" +msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +msgid "Authentication is required to print this document" +msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#, c-format +msgid "Printer '%s' is low on toner." +msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#, c-format +msgid "Printer '%s' has no toner left." +msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان." + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#, c-format +msgid "Printer '%s' is low on developer." +msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز" + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#, c-format +msgid "Printer '%s' is out of developer." +msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان." + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#, c-format +msgid "Printer '%s' is low on at least one marker supply." +msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز." + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#, c-format +msgid "Printer '%s' is out of at least one marker supply." +msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#, c-format +msgid "The cover is open on printer '%s'." +msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#, c-format +msgid "The door is open on printer '%s'." +msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#, c-format +msgid "Printer '%s' is low on paper." +msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#, c-format +msgid "Printer '%s' is out of paper." +msgstr "'%s' پرىنتېردا قەغەز كەم." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format +msgid "Printer '%s' is currently off-line." +msgstr "'%s' پرىنتېر نۆۋەتتە تورسىز." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#, c-format +msgid "There is a problem on printer '%s'." +msgstr "'%s' پرىنتېردا مەسىلە بار." + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +msgid "Paused ; Rejecting Jobs" +msgstr "ۋاقىتلىق توختىلدى؛ ۋەزىپىنى رەت قىلىدۇ" + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +msgid "Rejecting Jobs" +msgstr "ۋەزىپىنى رەت قىلىدۇ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +msgid "Two Sided" +msgstr "قوش يۈزلۈك" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +msgid "Paper Type" +msgstr "قەغەز تىپى" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +msgid "Paper Source" +msgstr "قەغەز مەنبەسى" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +msgid "Output Tray" +msgstr "قەغەز چىقارغۇچ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +msgid "Resolution" +msgstr "ئېنىقلىق" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +msgid "GhostScript pre-filtering" +msgstr "GhostScript ئالدىن سۈزگۈچ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +msgid "One Sided" +msgstr "تاق تەرەپلىك" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +msgid "Long Edge (Standard)" +msgstr "ئۇزۇن يان (ئۆلچەملىك)" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +msgid "Short Edge (Flip)" +msgstr "قىسقا يان (ئۆرۈ)" + +#. Translators: this is an option of "Paper Source" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +msgid "Auto Select" +msgstr "ئۆزلۈكىدىن تاللا" + +#. Translators: this is an option of "Paper Source" +#. Translators: this is an option of "Resolution" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 +msgid "Printer Default" +msgstr "ئالدىن تەڭشەلگەن پرىنتېر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +msgid "Embed GhostScript fonts only" +msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +msgid "Convert to PS level 1" +msgstr "PS دەرىجە 1 گە ئايلاندۇر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +msgid "Convert to PS level 2" +msgstr "PS دەرىجە 2 گە ئايلاندۇر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +msgid "No pre-filtering" +msgstr "ئالدىن سۈزگۈچ يوق" + +#. Translators: "Miscellaneous" is the label for a button, that opens +#. up an extra panel of settings in a print dialog. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +msgid "Miscellaneous" +msgstr "باشقىلار" + +#. Translators: These strings name the possible values of the +#. * job priority option in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Urgent" +msgstr "جىددىي" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "High" +msgstr "يۇقىرى" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Medium" +msgstr "ئوتتۇرا" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Low" +msgstr "تۆۋەن" + +#. Cups specific, non-ppd related settings +#. Translators, this string is used to label the pages-per-sheet option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 +msgid "Pages per Sheet" +msgstr "ھەر ۋاراق بەت سانى" + +#. Translators, this string is used to label the job priority option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 +msgid "Job Priority" +msgstr "ۋەزىپە ئالدىنلىق" + +#. Translators, this string is used to label the billing info entry +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 +msgid "Billing Info" +msgstr "ھەق ھېسابلاش ئۇچۇرى" + +#. Translators, these strings are names for various 'standard' cover +#. * pages that the printing system may support. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "None" +msgstr "يوق" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Classified" +msgstr "تۈرگە ئايرىلغان" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Confidential" +msgstr "مەخپىي" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Secret" +msgstr "سىر" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Standard" +msgstr "ئۆلچەملىك" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Top Secret" +msgstr "قەتئىي مەخپىي" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Unclassified" +msgstr "بۆلۈنمىگەن" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 +msgid "Before" +msgstr "ئاۋۋال" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 +msgid "After" +msgstr "داۋامى" + +#. Translators: this is the name of the option that controls when +#. * a print job is printed. Possible values are 'now', a specified time, +#. * or 'on hold' +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 +msgid "Print at" +msgstr "باسىدۇ" + +#. Translators: this is the name of the option that allows the user +#. * to specify a time when a print job will be printed. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 +msgid "Print at time" +msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" + +#. Translators: this format is used to display a custom paper +#. * size. The two placeholders are replaced with the width and height +#. * in points. E.g: "Custom 230.4x142.9" +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 +#, c-format +msgid "Custom %sx%s" +msgstr "ئىختىيارى %sx%s" + +#. default filename used for print-to-file +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 +#, c-format +msgid "output.%s" +msgstr "چىقىش.%s" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +msgid "Print to File" +msgstr "ھۆججەتكە باس" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "PDF" +msgstr "PDF" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "Postscript" +msgstr "Postscript" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "SVG" +msgstr "SVG" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 +msgid "Pages per _sheet:" +msgstr "ھەر ۋاراق بەت سانى(_S):" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +msgid "File" +msgstr "ھۆججەت" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +msgid "_Output format" +msgstr "چىقىرىش فورماتى(_O)" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 +msgid "Print to LPR" +msgstr "LPR غا باس" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 +msgid "Pages Per Sheet" +msgstr "ھەر ۋاراقتىكى بەت سانى" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 +msgid "Command Line" +msgstr "بۇيرۇق قۇرى" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 +msgid "printer offline" +msgstr "پرىنتېر ئۈزۈك ھالەتتە" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 +msgid "ready to print" +msgstr "بېسىشقا تەييار" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 +msgid "processing job" +msgstr "ۋەزىپىنى بىر تەرپ قىلىۋاتىدۇ" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 +msgid "paused" +msgstr "ۋاقىتلىق توختىتىلدى" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 +msgid "unknown" +msgstr "نامەلۇم" + +#. default filename used for print-to-test +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 +#, c-format +msgid "test-output.%s" +msgstr "test-output.%s" + +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 +msgid "Print to Test Printer" +msgstr "سىناق پرىنتېردا باس" + +#: ../tests/testfilechooser.c:207 +#, c-format +msgid "Could not get information for file '%s': %s" +msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s" + +#: ../tests/testfilechooser.c:222 +#, c-format +msgid "Failed to open file '%s': %s" +msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s" + +#: ../tests/testfilechooser.c:267 +#, c-format +msgid "" +"Failed to load image '%s': reason not known, probably a corrupt image file" +msgstr "" +"'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن " +"بولۇشى مۇمكىن" + +#~ msgid "Image file '%s' contains no data" +#~ msgstr "'%s' سۈرەت ھۆججەتتە ھىچقانداق سانلىق مەلۇمات يوق" + +#~ msgid "" +#~ "Failed to load animation '%s': reason not known, probably a corrupt " +#~ "animation file" +#~ msgstr "" +#~ "'%s' جانلاندۇرۇمنى يۈكلىيەلمىدى: سەۋەبى ئېنىق ئەمەس ياكى جانلاندۇرۇم " +#~ "ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" + +#~ msgid "Unable to load image-loading module: %s: %s" +#~ msgstr "سۈرەت يۈكلەش بۆلىكىنى يۈكلىيەلمىدى: %s : %s" + +#~ msgid "" +#~ "Image-loading module %s does not export the proper interface; perhaps " +#~ "it's from a different GTK version?" +#~ msgstr "" +#~ "%s سۈرەت يۈكلەش بۆلىكى توغرا ئېغىزنى چىقىرالمىدى: ئۇ باشقا بىر GTK " +#~ "نەشرىگە تەۋەمۇ؟" + +#~ msgid "Image type '%s' is not supported" +#~ msgstr "بۇ '%s' خىلدىكى سۈرەت تىپىنى قوللىمايدۇ" + +#~ msgid "Couldn't recognize the image file format for file '%s'" +#~ msgstr "'%s' نىڭ سۈرەت فورماتىنى پەرقلەندۈرەلمىدى" + +#~ msgid "Unrecognized image file format" +#~ msgstr "پەرقلەندۈرگىلى بولمايدىغان سۈرەت ھۆججەت فورماتى" + +#~ msgid "Failed to load image '%s': %s" +#~ msgstr "'%s' سۈرەت يۈكلىيەلمىدى: %s" + +#~ msgid "Error writing to image file: %s" +#~ msgstr "سۈرەت ھۆججەت يېزىش خاتالىقى: %s" + +#~ msgid "" +#~ "This build of gdk-pixbuf does not support saving the image format: %s" +#~ msgstr "بۇ gdk-pixbuf ساقلايدىغان بۇ خىل ھۆججەت شەكلىنى قوللىمايدۇ :%s" + +#~ msgid "Insufficient memory to save image to callback" +#~ msgstr "بۇ سۈرەتنى ساقلاشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "Failed to open temporary file" +#~ msgstr "ۋاقىتلىق ھۆججەتنى ئاچالمىدى" + +#~ msgid "Failed to read from temporary file" +#~ msgstr "ۋاقىتلىق ھۆججەتتىن ئوقۇيالمىدى" + +#~ msgid "Failed to open '%s' for writing: %s" +#~ msgstr "'%s' نى ئېچىپ يازالمىدى: %s" + +#~ msgid "" +#~ "Failed to close '%s' while writing image, all data may not have been " +#~ "saved: %s" +#~ msgstr "" +#~ "سۈرەتكە يازغاندا '%s' نى ياپالمىدى، ھەممە سانلىق مەلۇمات ساقلانمىغان " +#~ "بولۇشى مۇمكىن: %s" + +#~ msgid "Insufficient memory to save image into a buffer" +#~ msgstr "بۇ سۈرەتنى يىغلەككە ساقلاشقا ئەسلەك يېتىشمەيدۇ" + +#~ msgid "Error writing to image stream" +#~ msgstr "سۈرەت ئاقمىسى ساقلاۋاتقاندا خاتالىق كۆرۈلدى" + +#~ msgid "" +#~ "Internal error: Image loader module '%s' failed to complete an operation, " +#~ "but didn't give a reason for the failure" +#~ msgstr "" +#~ "ئىچكى خاتالىق: سۈرەت يۈكلەش بۆلىكى '%s' مەلۇم مەشغۇلاتنى تاماملىيالمىدى، " +#~ "لېكىن ھېچقانداق خاتالىق سەۋەبى بېرىلمىدى" + +#~ msgid "Incremental loading of image type '%s' is not supported" +#~ msgstr "'%s' سۈرەت تىپى تەدرىجىي يۈكلەشنى قوللىمايدۇ" + +#~ msgid "Image header corrupt" +#~ msgstr "سۈرەت بېشى بۇزۇلغان" + +#~ msgid "Image format unknown" +#~ msgstr "نامەلۇم سۈرەت شەكلى" + +#~ msgid "Image pixel data corrupt" +#~ msgstr "سۈرەت پىكسېل سانلىق مەلۇماتى بۇزۇلغان" + +#~ msgid "failed to allocate image buffer of %u byte" +#~ msgid_plural "failed to allocate image buffer of %u bytes" +#~ msgstr[0] "%u بايتلىق سۈرەت يىغلەكنى تەقسىملىيەلمىدى" + +#~ msgid "Unexpected icon chunk in animation" +#~ msgstr "جانلاندۇرۇمدا ئېنىقلانمىغان بۆلەك بار" + +#~ msgid "Unsupported animation type" +#~ msgstr "قوللىمايدىغان جانلاندۇرۇم تىپى" + +#~ msgid "Invalid header in animation" +#~ msgstr "جانلاندۇرۇم بېشى ئىناۋەتسىز" + +#~ msgid "Not enough memory to load animation" +#~ msgstr "جانلاندۇرۇم يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Malformed chunk in animation" +#~ msgstr "جانلاندۇرۇمدىكى بۆلەكنىڭ شەكلى خاتا" + +#~ msgid "The ANI image format" +#~ msgstr "ANI سۈرەت فورماتى" + +#~ msgid "BMP image has bogus header data" +#~ msgstr "BMP سۈرەتتە يالغان سۈرەت بېشى سانلىق مەلۇماتى بار " + +#~ msgid "Not enough memory to load bitmap image" +#~ msgstr "بىتلىق تەسۋىر يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "BMP image has unsupported header size" +#~ msgstr "قوللىمايدىغان BMP سۈرەت بېشى چوڭ كىچىكلىكى " + +#~ msgid "Topdown BMP images cannot be compressed" +#~ msgstr "يۇقىرىدىن تۆۋەنگە يېزىلغان BMP سۈرەت شەكلىنى پرېسلىيالمايدۇ" + +#~ msgid "Premature end-of-file encountered" +#~ msgstr "ھۆججەت بۇرۇن ئاخىرلاشقان" + +#~ msgid "Couldn't allocate memory for saving BMP file" +#~ msgstr "BMP ھۆججەتنى ساقلاشقا ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Couldn't write to BMP file" +#~ msgstr "BMP ھۆججەتكە يازالمىدى" + +#~ msgid "The BMP image format" +#~ msgstr "BMP سۈرەت فورماتى" + +#~ msgid "Failure reading GIF: %s" +#~ msgstr "GIF ھۆججەتنى ئوقۇيالمىدى:%s" + +#~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" +#~ msgstr "" +#~ "GIF ھۆججەتتە بەزى سانلىق مەلۇماتلار كەم(ھۆججەت كېسىپ قىسقارتىلغان بولۇشى " +#~ "مۇمكىن)" + +#~ msgid "Internal error in the GIF loader (%s)" +#~ msgstr "GIF يۈكلىگۈچتە ئىچكى خاتالىق كۆرۈلدى(%s)" + +#~ msgid "Stack overflow" +#~ msgstr "تۇرادىن ھالقىدى" + +#~ msgid "GIF image loader cannot understand this image." +#~ msgstr "GIF ھۆججەت يۈكلەش بۆلىكى بۇ سۈرەتنى تەھلىل قىلالمىدى" + +#~ msgid "Bad code encountered" +#~ msgstr "خاتا كود كۆرۈلدى" + +#~ msgid "Circular table entry in GIF file" +#~ msgstr "GIF سۈرەتتىكى جەدۋەل تۈرى دەۋرىيلىكى" + +#~ msgid "Not enough memory to load GIF file" +#~ msgstr "GIF ھۆججەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Not enough memory to composite a frame in GIF file" +#~ msgstr "GIF ھۆججەتتىكى بىر كاندۇكنى ھاسىل قىلىشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "GIF image is corrupt (incorrect LZW compression)" +#~ msgstr "GIF سۈرەت بۇزۇلغان(ناتوغرا LZW پىرىس شەكلى)" + +#~ msgid "File does not appear to be a GIF file" +#~ msgstr "ھۆججەت GIF ھۆججەت ئەمەستەك تۇرىدۇ" + +#~ msgid "Version %s of the GIF file format is not supported" +#~ msgstr "قوللىمايدىغان %s نەشرىدىكى GIF سۈرەت ھۆججەت فورماتى" + +#~ msgid "" +#~ "GIF image has no global colormap, and a frame inside it has no local " +#~ "colormap." +#~ msgstr "" +#~ "GIF سۈرەتنىڭ ئومۇمىيەت رەڭ خەرىتىسى يوق، ئۇنىڭ ئىچىدىكى بىر بۆلەكنىڭمۇ " +#~ "رەڭ خەرىتىسى يوق" + +#~ msgid "GIF image was truncated or incomplete." +#~ msgstr "GIF سۈرەت كېسىپ قىسقارتىلغان ياكى كەمتۈك" + +#~ msgid "The GIF image format" +#~ msgstr "GIF سۈرەت فورماتى" + +#~ msgid "Invalid header in icon" +#~ msgstr "سىنبەلگە بېشى ئىناۋەتسىز" + +#~ msgid "Not enough memory to load icon" +#~ msgstr "سىنبەلگە يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Icon has zero width" +#~ msgstr "سىنبەلگە كەڭلىكى نۆل" + +#~ msgid "Icon has zero height" +#~ msgstr "سىنبەلگە ئېگىزلىكى نۆل" + +#~ msgid "Compressed icons are not supported" +#~ msgstr "پرېسلانغان سىنبەلگىنى قوللىمايدۇ" + +#~ msgid "Unsupported icon type" +#~ msgstr "قوللىمايدىغان رەسىم بەلگە تۈرى" + +#~ msgid "Not enough memory to load ICO file" +#~ msgstr "ICO ھۆججىتىنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Image too large to be saved as ICO" +#~ msgstr "سۈرەت بەك چوڭ، ICO شەكلىدە ساقلىغىلى بولمايدۇ." + +#~ msgid "Cursor hotspot outside image" +#~ msgstr "نۇر بەلگە ئورنى سۈرەت سىرتىدا" + +#~ msgid "Unsupported depth for ICO file: %d" +#~ msgstr "قوللىمايدىغان ICO ھۆججەت چوڭقۇرلۇقى: %d" + +#~ msgid "The ICO image format" +#~ msgstr "ICO سۈرەت فورماتى" + +#~ msgid "Error reading ICNS image: %s" +#~ msgstr "ICNS سۈرەت ھۆججەت ئوقۇغاندا خاتالىق كۆرۈلدى: %s" + +#~ msgid "Could not decode ICNS file" +#~ msgstr "ICNS ھۆججەت كودىنى يېشەلمىدى" + +#~ msgid "The ICNS image format" +#~ msgstr "ICNS سۈرەت فورماتى" + +#~ msgid "Couldn't allocate memory for stream" +#~ msgstr "ئېقىمغا ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Couldn't decode image" +#~ msgstr "سۈرەت كودىنى يېشەلمىدى" + +#~ msgid "Transformed JPEG2000 has zero width or height" +#~ msgstr "ئايلاندۇرۇلغان JPEG2000 نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" + +#~ msgid "Image type currently not supported" +#~ msgstr "نۆۋەتتە بۇ خىل سۈرەت فورماتىنى قوللىمايدۇ" + +#~ msgid "Couldn't allocate memory for color profile" +#~ msgstr "رەڭ سەپلىمىسىگە ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Insufficient memory to open JPEG 2000 file" +#~ msgstr "JPEG 2000 ھۆججەتنى ئېچىشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "Couldn't allocate memory to buffer image data" +#~ msgstr "يىغلەك سۈرەت سانلىق مەلۇماتىغا ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "The JPEG 2000 image format" +#~ msgstr "JPEG 2000 سۈرەت فورماتى" + +#~ msgid "Error interpreting JPEG image file (%s)" +#~ msgstr "JPEG سۈرەتنى تەھلىل قىلغاندا خاتالىق كۆرۈلدى (%s)" + +#~ msgid "" +#~ "Insufficient memory to load image, try exiting some applications to free " +#~ "memory" +#~ msgstr "" +#~ "سۈرەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ، بەزى قوللىنىشچان پروگراممىلارنى يېپىپ " +#~ "ئەسلەكنى بىكارلاپ سىناپ بېقىڭ" + +#~ msgid "Unsupported JPEG color space (%s)" +#~ msgstr "قوللىمايدىغان JPEG رەڭ بوشلۇقى (%s)" + +#~ msgid "Couldn't allocate memory for loading JPEG file" +#~ msgstr "JPEG ھۆججەتنى يۈكلەشكە ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Transformed JPEG has zero width or height." +#~ msgstr "ئۆزگەرتىلگەن JPEG نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" + +#~ msgid "" +#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " +#~ "parsed." +#~ msgstr "" +#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%s' قىممەتنى تەھلىل " +#~ "قىلالمىدى" + +#~ msgid "" +#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." +#~ msgstr "" +#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%d' قىممەتنى " +#~ "ئىشلىتىشكە يول قويۇلمايدۇ." + +#~ msgid "The JPEG image format" +#~ msgstr "JPEG سۈرەت فورماتى" + +#~ msgid "Couldn't allocate memory for header" +#~ msgstr "ھۆججەت بېشىغا ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Couldn't allocate memory for context buffer" +#~ msgstr "كونتېكست يىغلەككە ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Image has invalid width and/or height" +#~ msgstr "سۈرەتنىڭ كەڭلىكى ۋە ياكى ئۇزۇنلۇقى ئىناۋەتسىز" + +#~ msgid "Image has unsupported bpp" +#~ msgstr "رەسىمدە قوللىمايدىغان bpp بار" + +#~ msgid "Image has unsupported number of %d-bit planes" +#~ msgstr "سۈرەتتە قوللىمايدىغان %d بىتلىق رەڭ تەخسىسى بار " + +#~ msgid "Couldn't create new pixbuf" +#~ msgstr "يىڭى پىكسېل يىغلەك قۇرالمايدۇ" + +#~ msgid "Couldn't allocate memory for line data" +#~ msgstr "سىزىقلىق سانلىق مەلۇماتقا ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Couldn't allocate memory for paletted data" +#~ msgstr "رەڭ تەڭشەش تاختىسى سانلىق مەلۇمات ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Didn't get all lines of PCX image" +#~ msgstr "PCX سۈرەتنىڭ بارلىق سىزىقلىق مەلۇماتلىرىغا ئېرىشەلمىدى" + +#~ msgid "No palette found at end of PCX data" +#~ msgstr "PCX سانلىق مەلۇماتىنىڭ ئاخىرىدا رەڭ تەڭشىگۈچ بايقالمىدى" + +#~ msgid "The PCX image format" +#~ msgstr "PCX سۈرەت فورماتى " + +#~ msgid "Bits per channel of PNG image is invalid." +#~ msgstr "PNG سۈرەتنىڭ ھەر بىر قانىلىنىڭ بىت سانى ئىناۋەتسىز ." + +#~ msgid "Transformed PNG has zero width or height." +#~ msgstr "ئۆزگىرىشچان PNG نىڭ كەڭلىكى ياكى ئېگىزلىكى نۆل." + +#~ msgid "Bits per channel of transformed PNG is not 8." +#~ msgstr "ئۆزگىرىشچان PNG نىڭ بىت سانى 8 ئەمەس" + +#~ msgid "Transformed PNG not RGB or RGBA." +#~ msgstr "ئۆزگىرىشچان PNG بولسا RGB ياكى RGBA ئەمەس." + +#~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." +#~ msgstr "" +#~ "ئۆزگىرىشچان PNG قوللىمايدىغان قانال سانىنى ئۆز ئىچىگە ئالغان. چوقۇم 3 " +#~ "ياكى 4 بولۇشى لازىم" + +#~ msgid "Fatal error in PNG image file: %s" +#~ msgstr "PNG سۈرەت ھۆججەتتە ئېغىر خاتالىق كۆرۈلدى: %s" + +#~ msgid "Insufficient memory to load PNG file" +#~ msgstr "PNG يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "" +#~ "Insufficient memory to store a %ld by %ld image; try exiting some " +#~ "applications to reduce memory usage" +#~ msgstr "" +#~ "چوڭلۇقى %ld x %ld بولغان سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق؛ باشقا " +#~ "قوللىنىشچان پروگراممىلارنى يېپىپ ئەسلەك ئىشلىتىش مىقدارىنى ئازايتىڭ." + +#~ msgid "Fatal error reading PNG image file" +#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى" + +#~ msgid "Fatal error reading PNG image file: %s" +#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى: %s" + +#~ msgid "" +#~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." +#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى 1-79 غىچە بولۇشى كېرەك " + +#~ msgid "Keys for PNG text chunks must be ASCII characters." +#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى ASCII چوقۇم بۆلۇشى كېرەك" + +#~ msgid "Color profile has invalid length %d." +#~ msgstr "رەڭ سەپلىمە ھۆججىتىنىڭ ئۇزۇنلۇقى %d ئىناۋەتسىز." + +#~ msgid "" +#~ "PNG compression level must be a value between 0 and 9; value '%s' could " +#~ "not be parsed." +#~ msgstr "" +#~ "PNG پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بۆلۇشى كېرەك؛ ئانالىز قىلىنمايدىغان " +#~ "قىممەت %s ." + +#~ msgid "" +#~ "PNG compression level must be a value between 0 and 9; value '%d' is not " +#~ "allowed." +#~ msgstr "" +#~ "PNG نىڭ پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بولۇشى كېرەك . '%d' قىممەتنى " +#~ "ئىشلىتىشكە يول قويۇلمايدۇ." + +#~ msgid "" +#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." +#~ msgstr "PNG تېكىست رامكىسى %s نى ISO-8859-1 غا ئايلاندۇرۇشقا بولمايدۇ" + +#~ msgid "The PNG image format" +#~ msgstr "PNG سۈرەت فورماتى" + +#~ msgid "PNM loader expected to find an integer, but didn't" +#~ msgstr "PNM يۈكلەش بۆلەك پۈتۈن سان تاپالمىدى " + +#~ msgid "PNM file has an incorrect initial byte" +#~ msgstr "PNM ھۆججەتنىڭ باش بېتى خاتا" + +#~ msgid "PNM file is not in a recognized PNM subformat" +#~ msgstr "" +#~ "PNG ھۆججەت پەرقلەندۈرگىلى بولىدىغان PNM قوشۇمچە فورماتتا ساقلانمىغان" + +#~ msgid "PNM file has an image width of 0" +#~ msgstr "PNM ھۆججەتنىڭ سۈرەت كەڭلىكى 0" + +#~ msgid "PNM file has an image height of 0" +#~ msgstr "PNM ھۆججەتنىڭ سۈرەت ئېگىزلىكى 0 " + +#~ msgid "Maximum color value in PNM file is 0" +#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى 0" + +#~ msgid "Maximum color value in PNM file is too large" +#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى بەك چوڭ" + +#~ msgid "Raw PNM image type is invalid" +#~ msgstr "ئەسلىدىكى PNM سۈرەتنىڭ تىپى ئىناۋەتسىز" + +#~ msgid "PNM image loader does not support this PNM subformat" +#~ msgstr "PNM يۈكلەش پروگرامماسى بۇ خىل PNM تارماق فورماتنى قوللىمايدۇ" + +#~ msgid "Raw PNM formats require exactly one whitespace before sample data" +#~ msgstr "" +#~ "ئەسلىدىكى PNM فورماتى نۇسخىلاشتىن بۇرۇن بىر بوشلۇق ئورنىغا ئېھتىياجلىق" + +#~ msgid "Cannot allocate memory for loading PNM image" +#~ msgstr "ئەسلەك تەقسىملەپ PNM سۈرەتنى يۈكلىيەلمەيدۇ" + +#~ msgid "Insufficient memory to load PNM context struct" +#~ msgstr "PNM نىڭ تىل مۇھىت بۆلىكىنى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " + +#~ msgid "Unexpected end of PNM image data" +#~ msgstr "PNM سۈرەت سانلىق مەلۇماتى بالدۇر ئاخىرلاشقان" + +#~ msgid "Insufficient memory to load PNM file" +#~ msgstr "PNM نى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " + +#~ msgid "The PNM/PBM/PGM/PPM image format family" +#~ msgstr "PNM/PBM/PGM/PPM سۈرەت ھۆججەت تۈرى" + +#~ msgid "Input file descriptor is NULL." +#~ msgstr "كىرگۈزگەن ھۆججەت چۈشەندۈرۈشى NULL." + +#~ msgid "Failed to read QTIF header" +#~ msgstr " QTIF باشىنى ئوقۇيالمىدى" + +#~ msgid "QTIF atom size too large (%d bytes)" +#~ msgstr "QTIF ئاتوم چوڭلۇقى بەك چوڭ (%d بايت)" + +#~ msgid "Failed to allocate %d bytes for file read buffer" +#~ msgstr "%d بايتلىق ھۆججەت ئوقۇش يىغلەكنى تەقسىملىيەلمىدى" + +#~ msgid "File error when reading QTIF atom: %s" +#~ msgstr " QTIF ئاتوم ئوقۇشتىكى ھۆججەت خاتالىقى: %s" + +#~ msgid "Failed to skip the next %d bytes with seek()." +#~ msgstr "كېيىنكى %d بايت seek() تىن ئاتلىيالمىدى." + +#~ msgid "Failed to allocate QTIF context structure." +#~ msgstr "QTIF تىل مۇھىت قۇرۇلمىسىنى تەقسىملىيەلمىدى." + +#~ msgid "Failed to create GdkPixbufLoader object." +#~ msgstr "GdkPixbufLoader ئوبيېكت قۇرالمىدى." + +#~ msgid "Failed to find an image data atom." +#~ msgstr "سۈرەت سانلىق مەلۇمات ئاتومىنى تاپالمىدى." + +#~ msgid "The QTIF image format" +#~ msgstr "QTIF سۈرەت فورماتى" + +#~ msgid "RAS image has bogus header data" +#~ msgstr "RAS سۈرەتتە يالغان باش سانلىق مەلۇماتى بار" + +#~ msgid "RAS image has unknown type" +#~ msgstr "RAS سۈرەتنىڭ تىپى نامەلۇم" + +#~ msgid "unsupported RAS image variation" +#~ msgstr "قوللىمايدىغان RAS سۈرەت شالغۇتى" + +#~ msgid "Not enough memory to load RAS image" +#~ msgstr "RAS سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "The Sun raster image format" +#~ msgstr "Sun ئوپتىك پەنجىرىلىك سۈرەت فورماتى" + +#~ msgid "Cannot allocate memory for IOBuffer struct" +#~ msgstr "IOBuffer ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate memory for IOBuffer data" +#~ msgstr "IOBuffer سانلىق مەلۇماتى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " + +#~ msgid "Cannot realloc IOBuffer data" +#~ msgstr "IOBuffer ئۈچۈن قايتىدىن ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate temporary IOBuffer data" +#~ msgstr "IOBuffer ئۈچۈن ۋاقىتلىق ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate new pixbuf" +#~ msgstr "يىڭى پېكسىللىق يىغلەكنى تەقسىملىيەلمەيدۇ" + +#~ msgid "Image is corrupted or truncated" +#~ msgstr "سۈرەت بۇزۇلغان ياكى كېسىلگەن" + +#~ msgid "Cannot allocate colormap structure" +#~ msgstr "رەڭ جەدۋەل قۇرۇلمىسىنى تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate colormap entries" +#~ msgstr "رەڭ جەدۋەل تۈرىنى تەقسىملىيەلمەيدۇ" + +#~ msgid "Unexpected bitdepth for colormap entries" +#~ msgstr "ئېنىقسىز رەڭلىك جەدۋەل بىت چوڭقۇرلۇقى" + +#~ msgid "Cannot allocate TGA header memory" +#~ msgstr "TGA باش ئەسلەكنى تەقسىملىيەلمەيدۇ" + +#~ msgid "TGA image has invalid dimensions" +#~ msgstr "TGA سۈرەت ئۆلچىمى ئىناۋەتسىز" + +#~ msgid "TGA image type not supported" +#~ msgstr "TGA سۈرەت تىپىنى قوللىمايدۇ" + +#~ msgid "Cannot allocate memory for TGA context struct" +#~ msgstr "TGA نىڭ تىل مۇھىت تۈزۈلۈشى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " + +#~ msgid "Excess data in file" +#~ msgstr "ھۆججەتتىكى سانلىق مەلۇمات نورمىدىن ھالقىپ كەتكەن" + +#~ msgid "The Targa image format" +#~ msgstr "Targa سۈرەت فورماتى" + +#~ msgid "Could not get image width (bad TIFF file)" +#~ msgstr "سۈرەت كەڭلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" + +#~ msgid "Could not get image height (bad TIFF file)" +#~ msgstr "سۈرەت ئېگىزلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" + +#~ msgid "Width or height of TIFF image is zero" +#~ msgstr "TIFF سۈرەتنىڭ كەڭلىك ياكى ئېگىزلىكى 0" + +#~ msgid "Dimensions of TIFF image too large" +#~ msgstr "TIFF سۈرەت ئۆلچىمى بەك چوڭ " + +#~ msgid "Insufficient memory to open TIFF file" +#~ msgstr "TIFFھۆججەتنى ئىچىشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "Failed to load RGB data from TIFF file" +#~ msgstr "TIFF ھۆججەتتىكى RGB سانلىق مەلۇماتلارنى يۈكلىيەلمىدى" + +#~ msgid "Failed to open TIFF image" +#~ msgstr "TIFF سۈرەتنى ئاچالمىدى" + +#~ msgid "TIFFClose operation failed" +#~ msgstr "TIFFClose مەشغۇلات مەغلۇپ بولدى" + +#~ msgid "Failed to load TIFF image" +#~ msgstr "TIFF سۈرەتنى يۈكلىيەلمىدى" + +#~ msgid "Failed to save TIFF image" +#~ msgstr "TIFF سۈرەتنى ساقلىيالمىدى" + +#~ msgid "TIFF compression doesn't refer to a valid codec." +#~ msgstr "TIFF پىرىسلاش ئىناۋەتلىك كودلاشتىن پايدىلىنالمىدى." + +#~ msgid "Failed to write TIFF data" +#~ msgstr "TIFF سانلىق مەلۇماتقا يازالمىدى" + +#~ msgid "Couldn't write to TIFF file" +#~ msgstr "TIFF ھۆججەتكە يازالمىدى" + +#~ msgid "The TIFF image format" +#~ msgstr "TIFF سۈرەت فورماتى" + +#~ msgid "Image has zero width" +#~ msgstr "سۈرەت كەڭلىكى 0" + +#~ msgid "Image has zero height" +#~ msgstr "سۈرەت ئېگىزلىكى 0" + +#~ msgid "Not enough memory to load image" +#~ msgstr "سۈرەت يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Couldn't save the rest" +#~ msgstr "قالغان قىسمىنى ساقلايالمايدۇ" + +#~ msgid "The WBMP image format" +#~ msgstr "WBMP سۈرەت فورماتى" + +#~ msgid "Invalid XBM file" +#~ msgstr "XBMھۆججەت ئىناۋەتسىز" + +#~ msgid "Insufficient memory to load XBM image file" +#~ msgstr "XBM ھۆججەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ" + +#~ msgid "Failed to write to temporary file when loading XBM image" +#~ msgstr "XBM سۈرەت يۈكلەۋاتقاندا ۋاقىتلىق ھۆججەتكە يازالمىدى" + +#~ msgid "The XBM image format" +#~ msgstr "XBM سۈرەت فورماتى" + +#~ msgid "No XPM header found" +#~ msgstr "XPM بېشى تېپىلمىدى" + +#~ msgid "Invalid XPM header" +#~ msgstr "XBM باش ئىناۋەتسىز" + +#~ msgid "XPM file has image width <= 0" +#~ msgstr "XPM ھۆججەت سۈرەت كەڭلىكى <= 0" + +#~ msgid "XPM file has image height <= 0" +#~ msgstr "XPM ھۆججەت سۈرەت ئېگىزلىكى <= 0" + +#~ msgid "XPM has invalid number of chars per pixel" +#~ msgstr "XPM ھەربىر پېكسىل ئىگىلىگەن بىت سانى ئىناۋەتسىز" + +#~ msgid "XPM file has invalid number of colors" +#~ msgstr "XPM ھۆججەت رەسىم رەڭ سانى توغرا ئەمەس" + +#~ msgid "Cannot allocate memory for loading XPM image" +#~ msgstr "XPM سۈرەت يۈكلەشكە ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot read XPM colormap" +#~ msgstr "XPM رەڭ جەدۋەلنى ئوقۇيالمىدى" + +#~ msgid "Failed to write to temporary file when loading XPM image" +#~ msgstr "XPM يۈكلىگەندە ۋاقىتلىق ھۆججەتكە يازالمىدى" + +#~ msgid "The XPM image format" +#~ msgstr "XPM سۈرەت فورماتى" + +#~ msgid "The EMF image format" +#~ msgstr "EMF سۈرەت فورماتى" + +#~ msgid "Could not allocate memory: %s" +#~ msgstr "ئەسلەك تەقسىملىيەلمەيدۇ: %s" + +#~ msgid "Could not create stream: %s" +#~ msgstr "ئېقىم قۇرالمايدۇ: %s" + +#~ msgid "Could not seek stream: %s" +#~ msgstr "ئېقىمنى ئىزدىيەلمەيدۇ: %s" + +#~ msgid "Could not read from stream: %s" +#~ msgstr "ئېقىمدىن ئوقۇيالمايدۇ: %s" + +#~ msgid "Couldn't load bitmap" +#~ msgstr "سۈرەتنى يۈكلىيەلمىدى" + +#~ msgid "Couldn't load metafile" +#~ msgstr "مېتا ھۆججەتنى يۈكلىيەلمىدى" + +#~ msgid "Unsupported image format for GDI+" +#~ msgstr "GDI+ بۇ سۈرەت فورماتىنى تونۇمايدۇ" + +#~ msgid "Couldn't save" +#~ msgstr "ساقلىيالمىدى" + +#~ msgid "The WMF image format" +#~ msgstr "WMF سۈرەت فورماتى" + +#~ msgid "\"Deepness\" of the color." +#~ msgstr "رەڭ چوڭقۇرلۇقى." + +#~ msgid "Folders" +#~ msgstr "قىسقۇچ" + +#~ msgid "Fol_ders" +#~ msgstr "قىسقۇچ(_D)" + +#~ msgid "Folder unreadable: %s" +#~ msgstr "قىسقۇچنى ئوقۇغىلى بولمىدى: %s" + +#~ msgid "" +#~ "The file \"%s\" resides on another machine (called %s) and may not be " +#~ "available to this program.\n" +#~ "Are you sure that you want to select it?" +#~ msgstr "" +#~ "ھۆججەت \"%s\" باشقا بىر (%s ئاتلىق)مۇلازىمېتىردا، مەزكۇر پروگرامما " +#~ "زىيارەت قىلالماسلىقى مۇمكىن. \n" +#~ "ئۇنى راستىنلا تاللامسىز؟" + +#~ msgid "_New Folder" +#~ msgstr "يىڭى قىسقۇچ(_N)" + +#~ msgid "De_lete File" +#~ msgstr "ھۆججەت ئۆچۈر(_L)" + +#~ msgid "_Rename File" +#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" + +#~ msgid "" +#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" +#~ msgstr "" +#~ "\"%s\" قىسقۇچ ئاتىدا ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە " +#~ "بار" + +#~ msgid "New Folder" +#~ msgstr "يېڭى قىسقۇچ" + +#~ msgid "_Folder name:" +#~ msgstr "قىسقۇچ ئاتى(_F):" + +#~ msgid "C_reate" +#~ msgstr "قۇر(_R)" + +#~ msgid "" +#~ "The filename \"%s\" contains symbols that are not allowed in filenames" +#~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە بار" + +#~ msgid "Error deleting file '%s': %s" +#~ msgstr "'%s' ھۆججەتنى ئۆچۈرگەندە خاتالىق كۆرۈلدى:%s" + +#~ msgid "Really delete file \"%s\"?" +#~ msgstr "\"%s\" ھۆججەتنى راستلا ئۆچۈرەمسىز؟" + +#~ msgid "Delete File" +#~ msgstr "ھۆججەت ئۆچۈر" + +#~ msgid "Error renaming file to \"%s\": %s" +#~ msgstr "ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" + +#~ msgid "Error renaming file \"%s\": %s" +#~ msgstr "ھۆججەت \"%s\" ئاتىنى ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s " + +#~ msgid "Error renaming file \"%s\" to \"%s\": %s" +#~ msgstr "\"%s\" ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" + +#~ msgid "Rename File" +#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" + +#~ msgid "Rename file \"%s\" to:" +#~ msgstr "\"%s\" ھۆججەت ئاتىنى ئۆزگەرت:" + +#~ msgid "_Rename" +#~ msgstr "ئات ئۆزگەرت(_R)" + +#~ msgid "_Selection: " +#~ msgstr "تاللاش(_S): " + +#~ msgid "" +#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " +#~ "environment variable G_FILENAME_ENCODING): %s" +#~ msgstr "" +#~ "\"%s\" ھۆججەت ئاتىنى UTF-8 گە ئۆزگەرتەلمىدى.(G_FILENAME_ENCODING مۇھىت " +#~ "ئۆزگەرگۈچى مىقدار تەڭشەشنى سىناڭ): %s" + +#~ msgid "Invalid UTF-8" +#~ msgstr "ئىناۋەتسىز UTF-8" + +#~ msgid "Name too long" +#~ msgstr "ئات بەك ئۇزۇن" + +#~ msgid "Couldn't convert filename" +#~ msgstr "ئاتنى ئالماشتۇرالمىدى" + +#~ msgid "Gamma" +#~ msgstr "گامما" + +#~ msgid "_Gamma value" +#~ msgstr "گامما قىممەت(_G)" + +#~ msgid "Input" +#~ msgstr "كىرگۈز" + +#~ msgid "No extended input devices" +#~ msgstr "كېڭەيتىلگەن كىرگۈزگۈچ يوق" + +#~ msgid "_Device:" +#~ msgstr "ئۈسكۈنە(_D):" + +#~ msgid "Disabled" +#~ msgstr "چەكلەنگەن" + +#~ msgid "Screen" +#~ msgstr "ئېكران" + +#~ msgid "Window" +#~ msgstr "كۆزنەك" + +#~ msgid "_Mode:" +#~ msgstr "ھالەت(_M):" + +#~ msgid "Axes" +#~ msgstr "ئوق" + +#~ msgid "Keys" +#~ msgstr "كۇنۇپكا" + +#~ msgid "_X:" +#~ msgstr "_X:" + +#~ msgid "_Y:" +#~ msgstr "_Y:" + +#~ msgid "_Pressure:" +#~ msgstr "كۈچى(_P):" + +#~ msgid "X _tilt:" +#~ msgstr "X قىيپاش(_T):" + +#~ msgid "Y t_ilt:" +#~ msgstr "Y قىيپاش(_I):" + +#~ msgid "_Wheel:" +#~ msgstr "چەمبىرەك(_W):" + +#~ msgid "none" +#~ msgstr "يوق" + +#~ msgid "(disabled)" +#~ msgstr "(چەكلەنگەن)" + +#~ msgid "(unknown)" +#~ msgstr "(نامەلۇم)" + +#~ msgid "Cl_ear" +#~ msgstr "تازىلا(_E)" + +#~ msgid "Error printing" +#~ msgstr "بېسىشتا خاتالىق كۆرۈلدى" + +#~ msgid "--- No Tip ---" +#~ msgstr "--- ئەسكەرتىش يوق---" + +#~ msgid "Printer '%s' may not be connected." +#~ msgstr "'%s' پرىنتېرغا ئۇلىنالماسلىقى مۇمكىن." From 65652d818dd50d1d41c201438135375d271b7147 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Thu, 23 Dec 2010 20:37:52 +0100 Subject: [PATCH 0895/1463] Updated Spanish translation --- po-properties/es.po | 551 ++++++++++++++++++++++---------------------- 1 file changed, 276 insertions(+), 275 deletions(-) diff --git a/po-properties/es.po b/po-properties/es.po index af51e91b86..2eddf86b9a 100644 --- a/po-properties/es.po +++ b/po-properties/es.po @@ -11,15 +11,16 @@ # Juan Manuel García Molina , 2003. # Francisco Javier F. Serrador , 2003 - 2006. # Jorge González , 2007, 2008, 2009, 2010. +# Daniel Mustieles , 2010. # msgid "" msgstr "" "Project-Id-Version: gtk+-properties.master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" -"%2b&component=general\n" -"POT-Creation-Date: 2010-12-17 15:28+0000\n" -"PO-Revision-Date: 2010-12-18 14:32+0100\n" -"Last-Translator: Jorge González \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" +"2b&component=general\n" +"POT-Creation-Date: 2010-12-22 04:25+0000\n" +"PO-Revision-Date: 2010-12-22 17:03+0100\n" +"Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -28,72 +29,72 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdkdevice.c:127 +#: ../gdk/gdkdevice.c:96 msgid "Device Display" msgstr "Pantalla del dispositivo" -#: ../gdk/gdkdevice.c:128 +#: ../gdk/gdkdevice.c:97 msgid "Display which the device belongs to" msgstr "Pantalla a la que pertenece el dispositivo" -#: ../gdk/gdkdevice.c:142 +#: ../gdk/gdkdevice.c:111 msgid "Device manager" msgstr "Gestor de dispositivos" -#: ../gdk/gdkdevice.c:143 +#: ../gdk/gdkdevice.c:112 msgid "Device manager which the device belongs to" msgstr "Gestor de dispositivos al que pertenece el dispositivo" -#: ../gdk/gdkdevice.c:157 ../gdk/gdkdevice.c:158 +#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 msgid "Device name" msgstr "Nombre del dispositivo" -#: ../gdk/gdkdevice.c:172 +#: ../gdk/gdkdevice.c:141 msgid "Device type" msgstr "Tipo de dispositivo" -#: ../gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:142 msgid "Device role in the device manager" msgstr "Rol del dispositivo en el gestor de dispositivos" -#: ../gdk/gdkdevice.c:189 +#: ../gdk/gdkdevice.c:158 msgid "Associated device" msgstr "Dispositivo asociado" -#: ../gdk/gdkdevice.c:190 +#: ../gdk/gdkdevice.c:159 msgid "Associated pointer or keyboard with this device" msgstr "Dispositivo apuntador o teclado asociado con este dispositivo" -#: ../gdk/gdkdevice.c:203 +#: ../gdk/gdkdevice.c:172 msgid "Input source" msgstr "Fuente de entrada" -#: ../gdk/gdkdevice.c:204 +#: ../gdk/gdkdevice.c:173 msgid "Source type for the device" msgstr "Tipo de la fuente de entrada para el dispositivo" -#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 +#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 msgid "Input mode for the device" msgstr "Modo de entrada para el dispositivo" -#: ../gdk/gdkdevice.c:235 +#: ../gdk/gdkdevice.c:204 msgid "Whether the device has a cursor" msgstr "Indica si el dispositivo tiene un cursor" -#: ../gdk/gdkdevice.c:236 +#: ../gdk/gdkdevice.c:205 msgid "Whether there is a visible cursor following device motion" msgstr "" "Indica si existe un cursor disponible siguiendo el movimiento del dispositivo" -#: ../gdk/gdkdevice.c:250 ../gdk/gdkdevice.c:251 +#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 msgid "Number of axes in the device" msgstr "Número de ejes en el dispositivo" -#: ../gdk/gdkdevicemanager.c:137 +#: ../gdk/gdkdevicemanager.c:130 msgid "Display" msgstr "Pantalla" -#: ../gdk/gdkdevicemanager.c:138 +#: ../gdk/gdkdevicemanager.c:131 msgid "Display for the device manager" msgstr "Pantalla para el gestor de dispositivos" @@ -105,40 +106,40 @@ msgstr "Visor predeterminado" msgid "The default display for GDK" msgstr "El visor predeterminado para GDK" -#: ../gdk/gdkscreen.c:90 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Opciones de la tipografía" -#: ../gdk/gdkscreen.c:91 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "Las opciones predeterminadas de la tipografía para la pantalla" -#: ../gdk/gdkscreen.c:98 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Resolución de la tipografía" -#: ../gdk/gdkscreen.c:99 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "La resolución para las tipografías en la pantalla" -#: ../gdk/gdkwindow.c:393 ../gdk/gdkwindow.c:394 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Cursor" #: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 -#: ../gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "ID del dispositivo" -#: ../gdk/x11/gdkdevice-xi2.c:113 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" msgstr "Identificador del dispositivo" -#: ../gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "Base del dispositivo" -#: ../gdk/x11/gdkdevicemanager-xi.c:86 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "Base de eventos para los eventos XInput" @@ -194,57 +195,54 @@ msgstr "URL del sitio web" msgid "The URL for the link to the website of the program" msgstr "La URL para el enlace al sitio web del programa" -#: ../gtk/gtkaboutdialog.c:409 +#: ../gtk/gtkaboutdialog.c:408 msgid "Website label" msgstr "Etiqueta del sitio web" -#: ../gtk/gtkaboutdialog.c:410 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"La etiqueta para el enlace al sitio web del programa. Si no está " -"establecida, se usará la URL de forma predeterminada" +#: ../gtk/gtkaboutdialog.c:409 +#| msgid "The URL for the link to the website of the program" +msgid "The label for the link to the website of the program" +msgstr "La etiqueta para el enlace al sitio web del programa" -#: ../gtk/gtkaboutdialog.c:426 +#: ../gtk/gtkaboutdialog.c:425 msgid "Authors" msgstr "Autores" -#: ../gtk/gtkaboutdialog.c:427 +#: ../gtk/gtkaboutdialog.c:426 msgid "List of authors of the program" msgstr "Lista de autores del programa" -#: ../gtk/gtkaboutdialog.c:443 +#: ../gtk/gtkaboutdialog.c:442 msgid "Documenters" msgstr "Documentadores" -#: ../gtk/gtkaboutdialog.c:444 +#: ../gtk/gtkaboutdialog.c:443 msgid "List of people documenting the program" msgstr "Lista de gente documentando el programa" -#: ../gtk/gtkaboutdialog.c:460 +#: ../gtk/gtkaboutdialog.c:459 msgid "Artists" msgstr "Artistas" -#: ../gtk/gtkaboutdialog.c:461 +#: ../gtk/gtkaboutdialog.c:460 msgid "List of people who have contributed artwork to the program" msgstr "Lista de gente que ha contribuido con trabajo artístico al programa" -#: ../gtk/gtkaboutdialog.c:478 +#: ../gtk/gtkaboutdialog.c:477 msgid "Translator credits" msgstr "Créditos de traducción" -#: ../gtk/gtkaboutdialog.c:479 +#: ../gtk/gtkaboutdialog.c:478 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Créditos a los traductores. Esta cadena debe etiquetarse como traducible" -#: ../gtk/gtkaboutdialog.c:494 +#: ../gtk/gtkaboutdialog.c:493 msgid "Logo" msgstr "Logotipo" -#: ../gtk/gtkaboutdialog.c:495 +#: ../gtk/gtkaboutdialog.c:494 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -252,20 +250,20 @@ msgstr "" "Un logotipo para la caja «acerca de». Si no se establece, lo predeterminado " "es gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:510 +#: ../gtk/gtkaboutdialog.c:509 msgid "Logo Icon Name" msgstr "Nombre del icono del logotipo" -#: ../gtk/gtkaboutdialog.c:511 +#: ../gtk/gtkaboutdialog.c:510 msgid "A named icon to use as the logo for the about box." msgstr "" "Un icono con nombre para usar como el logotipo para la caja «Acerca de»." -#: ../gtk/gtkaboutdialog.c:524 +#: ../gtk/gtkaboutdialog.c:523 msgid "Wrap license" msgstr "Ajustar licencia" -#: ../gtk/gtkaboutdialog.c:525 +#: ../gtk/gtkaboutdialog.c:524 msgid "Whether to wrap the license text." msgstr "Indica si se debe ajustar el texto de la licencia." @@ -344,7 +342,7 @@ msgstr "El icono mostrado" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 #: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:731 +#: ../gtk/gtkwindow.c:732 msgid "Icon Name" msgstr "Nombre del icono" @@ -413,7 +411,7 @@ msgstr "" "acción se ocultan." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:923 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 msgid "Sensitive" msgstr "Sensible" @@ -423,7 +421,7 @@ msgstr "Indica si la acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 #: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 -#: ../gtk/gtkwidget.c:916 +#: ../gtk/gtkwidget.c:926 msgid "Visible" msgstr "Visible" @@ -635,7 +633,7 @@ msgstr "Escalado de flechas" msgid "Amount of space used up by arrow" msgstr "Cantidad de espacio ocupado por flecha" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1111 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 msgid "Horizontal Alignment" msgstr "Alineación horizontal" @@ -643,7 +641,7 @@ msgstr "Alineación horizontal" msgid "X alignment of the child" msgstr "Alineación X del hijo" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1127 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 msgid "Vertical Alignment" msgstr "Alineación vertical" @@ -998,27 +996,27 @@ msgstr "Espaciado de imagen" msgid "Spacing in pixels between the image and label" msgstr "Espaciado en píxeles entre la imagen y la etiqueta" -#: ../gtk/gtkcalendar.c:475 +#: ../gtk/gtkcalendar.c:479 msgid "Year" msgstr "Año" -#: ../gtk/gtkcalendar.c:476 +#: ../gtk/gtkcalendar.c:480 msgid "The selected year" msgstr "El año seleccionado" -#: ../gtk/gtkcalendar.c:489 +#: ../gtk/gtkcalendar.c:493 msgid "Month" msgstr "Mes" -#: ../gtk/gtkcalendar.c:490 +#: ../gtk/gtkcalendar.c:494 msgid "The selected month (as a number between 0 and 11)" msgstr "El mes seleccionado (como un número entre 0 y 11)" -#: ../gtk/gtkcalendar.c:504 +#: ../gtk/gtkcalendar.c:508 msgid "Day" msgstr "Día" -#: ../gtk/gtkcalendar.c:505 +#: ../gtk/gtkcalendar.c:509 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1026,83 +1024,83 @@ msgstr "" "El día seleccionado (como un número entre 1 y 31, o 0 para deseleccionar el " "día actualmente seleccionado)" -#: ../gtk/gtkcalendar.c:519 +#: ../gtk/gtkcalendar.c:523 msgid "Show Heading" msgstr "Mostrar cabecera" -#: ../gtk/gtkcalendar.c:520 +#: ../gtk/gtkcalendar.c:524 msgid "If TRUE, a heading is displayed" msgstr "Si es TRUE, se muestra una cabecera" -#: ../gtk/gtkcalendar.c:534 +#: ../gtk/gtkcalendar.c:538 msgid "Show Day Names" msgstr "Mostrar nombres de los días" -#: ../gtk/gtkcalendar.c:535 +#: ../gtk/gtkcalendar.c:539 msgid "If TRUE, day names are displayed" msgstr "Si es TRUE, se muestran los nombres de los días" -#: ../gtk/gtkcalendar.c:548 +#: ../gtk/gtkcalendar.c:552 msgid "No Month Change" msgstr "Sin cambio de mes" -#: ../gtk/gtkcalendar.c:549 +#: ../gtk/gtkcalendar.c:553 msgid "If TRUE, the selected month cannot be changed" msgstr "Si es TRUE, el mes seleccionado no puede cambiarse" -#: ../gtk/gtkcalendar.c:563 +#: ../gtk/gtkcalendar.c:567 msgid "Show Week Numbers" msgstr "Mostrar números de las semanas" -#: ../gtk/gtkcalendar.c:564 +#: ../gtk/gtkcalendar.c:568 msgid "If TRUE, week numbers are displayed" msgstr "Si es TRUE, se muestran los números de las semanas" -#: ../gtk/gtkcalendar.c:579 +#: ../gtk/gtkcalendar.c:583 msgid "Details Width" msgstr "Detalles de la anchura" -#: ../gtk/gtkcalendar.c:580 +#: ../gtk/gtkcalendar.c:584 msgid "Details width in characters" msgstr "Detalla la anchura en los caracteres" -#: ../gtk/gtkcalendar.c:595 +#: ../gtk/gtkcalendar.c:599 msgid "Details Height" msgstr "Detalles de la altura" -#: ../gtk/gtkcalendar.c:596 +#: ../gtk/gtkcalendar.c:600 msgid "Details height in rows" msgstr "Detalla la altura en las filas" -#: ../gtk/gtkcalendar.c:612 +#: ../gtk/gtkcalendar.c:616 msgid "Show Details" msgstr "Mostrar detalles" -#: ../gtk/gtkcalendar.c:613 +#: ../gtk/gtkcalendar.c:617 msgid "If TRUE, details are shown" msgstr "Si es TRUE, se muestran los detalles" -#: ../gtk/gtkcalendar.c:625 +#: ../gtk/gtkcalendar.c:629 msgid "Inner border" msgstr "Borde interior" -#: ../gtk/gtkcalendar.c:626 +#: ../gtk/gtkcalendar.c:630 msgid "Inner border space" msgstr "Espacio del borde interior" -#: ../gtk/gtkcalendar.c:637 +#: ../gtk/gtkcalendar.c:641 msgid "Vertical separation" msgstr "Separación vertical" -#: ../gtk/gtkcalendar.c:638 +#: ../gtk/gtkcalendar.c:642 msgid "Space between day headers and main area" msgstr "Espacio entre las cabeceras del día y el área principal" -#: ../gtk/gtkcalendar.c:649 +#: ../gtk/gtkcalendar.c:653 msgid "Horizontal separation" msgstr "Separación horizontal" -#: ../gtk/gtkcalendar.c:650 +#: ../gtk/gtkcalendar.c:654 msgid "Space between week headers and main area" msgstr "Espacio entre las cabeceras de la semana y el área principal" @@ -1293,8 +1291,7 @@ msgstr "Tiene entrada" #: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" -msgstr "" -"Si es «FALSE», no permitir introducir cadenas distintas de las elegidas" +msgstr "Si es «FALSE», no permitir introducir cadenas distintas de las elegidas" #: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" @@ -1355,7 +1352,7 @@ msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica si el pixbuf renderizado debe colorearse de acuerdo al estado" #: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:708 +#: ../gtk/gtkwindow.c:709 msgid "Icon" msgstr "Icono" @@ -1561,8 +1558,7 @@ msgstr "Tipografía" #: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" -msgstr "" -"Descripción de la tipografía como una cadena, ejemplo: «Sans Italic 12»" +msgstr "Descripción de la tipografía como una cadena, ejemplo: «Sans Italic 12»" #: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" @@ -1945,7 +1941,7 @@ msgstr "Indica si se debe dar un valor alfa al color" # components/music/nautilus-music-view.c:198 #: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 #: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 msgid "Title" msgstr "Título" @@ -1954,7 +1950,7 @@ msgstr "Título" msgid "The title of the color selection dialog" msgstr "El título del diálogo de selección del color" -#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:339 +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Color actual" @@ -1962,7 +1958,7 @@ msgstr "Color actual" msgid "The selected color" msgstr "El color seleccionado" -#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:346 +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Alfa actual" @@ -1980,37 +1976,37 @@ msgstr "Color RGBA actual" msgid "The selected RGBA color" msgstr "El color RGBA seleccionado" -#: ../gtk/gtkcolorsel.c:325 +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Tiene control de opacidad" -#: ../gtk/gtkcolorsel.c:326 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "Indica si el selector de color permite seleccionar la opacidad" -#: ../gtk/gtkcolorsel.c:332 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Tiene paleta" -#: ../gtk/gtkcolorsel.c:333 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Indica si se debe usar una paleta" -#: ../gtk/gtkcolorsel.c:340 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "El color actual" -#: ../gtk/gtkcolorsel.c:347 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "El valor de opacidad actual (0 es completamente transparente, 65535 es " "completamente opaco)" -#: ../gtk/gtkcolorsel.c:361 +#: ../gtk/gtkcolorsel.c:360 msgid "Current RGBA" msgstr "RGBA actual" -#: ../gtk/gtkcolorsel.c:362 +#: ../gtk/gtkcolorsel.c:361 msgid "The current RGBA color" msgstr "El color RGBA actual" @@ -3288,11 +3284,11 @@ msgid "Width of border around the action area" msgstr "Anchura del borde alrededor del área de acción" #: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:739 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 msgid "Screen" msgstr "Pantalla" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:740 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 msgid "The screen where this window will be displayed" msgstr "La pantalla donde se mostrará esta ventana" @@ -4034,19 +4030,19 @@ msgstr "Encoger" msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Si es TRUE, el hijo puede hacerse más pequeño que sus requisitos" -#: ../gtk/gtkplug.c:172 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "Empotrado" -#: ../gtk/gtkplug.c:173 +#: ../gtk/gtkplug.c:178 msgid "Whether the plug is embedded" msgstr "Indica si el complemento está empotrado" -#: ../gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:192 msgid "Socket Window" msgstr "Ventana del socket" -#: ../gtk/gtkplug.c:188 +#: ../gtk/gtkplug.c:193 msgid "The window of the socket the plug is embedded in" msgstr "La ventana del socket en la que el enchufe está empotrado" @@ -4138,36 +4134,36 @@ msgstr "Opciones de origen" msgid "The PrinterOption backing this widget" msgstr "La PrinterOption que hay por detrás de este widget" -#: ../gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "El título de la tarea de impresión" -#: ../gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "Impresora" -#: ../gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "Impresora donde imprimir la tarea" -#: ../gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "Configuración" -#: ../gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "Configuración de la impresora" -#: ../gtk/gtkprintjob.c:142 ../gtk/gtkprintjob.c:143 +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 #: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Configuración de la página" -#: ../gtk/gtkprintjob.c:151 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "Seguimiento del estado de impresión" -#: ../gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:163 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -5060,8 +5056,8 @@ msgstr "Suavizado Xft" #: ../gtk/gtksettings.c:451 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" -"Indica si se deben suavizar los bordes de las tipografías Xft; 0=no,1=sí, " -"-1=predeterminado" +"Indica si se deben suavizar los bordes de las tipografías Xft; 0=no,1=sí, -" +"1=predeterminado" #: ../gtk/gtksettings.c:460 msgid "Xft Hinting" @@ -5679,7 +5675,7 @@ msgstr "Indica si el icono de estado está empotrado" msgid "The orientation of the tray" msgstr "La orientación de la bandeja" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1024 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 msgid "Has tooltip" msgstr "Tiene consejo" @@ -5687,15 +5683,15 @@ msgstr "Tiene consejo" msgid "Whether this tray icon has a tooltip" msgstr "Indica si el icono de la bandeja tiene un consejo" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1045 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 msgid "Tooltip Text" msgstr "Texto del consejo" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1046 ../gtk/gtkwidget.c:1067 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 msgid "The contents of the tooltip for this widget" msgstr "El contenido de los consejos para este widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1066 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 msgid "Tooltip markup" msgstr "Marcado de consejos" @@ -5707,11 +5703,11 @@ msgstr "El contenido de los consejos para este icono de la bandeja" msgid "The title of this tray icon" msgstr "El título de este icono de la bandeja" -#: ../gtk/gtkstyle.c:516 +#: ../gtk/gtkstyle.c:470 msgid "Style context" msgstr "Estilo del contexto" -#: ../gtk/gtkstyle.c:517 +#: ../gtk/gtkstyle.c:471 msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext del que obtener el estilo" @@ -6529,11 +6525,11 @@ msgstr "Color del éxito para enlaces simbólicos" msgid "Padding that should be put around icons in the tray" msgstr "Separación que poner alrededor de los iconos en la bandeja" -#: ../gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:310 msgid "TreeModelSort Model" msgstr "Modelo TreeModelSort" -#: ../gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:311 msgid "The model for the TreeModelSort to sort" msgstr "El modelo para el TreeModelSort a ordenar" @@ -6761,7 +6757,7 @@ msgstr "" msgid "Whether to display the column" msgstr "Indica si se debe mostrar la columna" -#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:655 +#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 msgid "Resizable" msgstr "Redimensionable" @@ -6887,37 +6883,35 @@ msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como es dibujado el marco sombreado alrededor del puerto de visión" -#: ../gtk/gtkvolumebutton.c:155 -#| msgid "Success color for symbolic icons" +#: ../gtk/gtkvolumebutton.c:156 msgid "Use symbolic icons" msgstr "Usar iconos simbólicos" -#: ../gtk/gtkvolumebutton.c:156 -#| msgid "Warning color for symbolic icons" +#: ../gtk/gtkvolumebutton.c:157 msgid "Whether to use symbolic icons" msgstr "Indica si se deben usar enlaces simbólicos" -#: ../gtk/gtkwidget.c:883 +#: ../gtk/gtkwidget.c:893 msgid "Widget name" msgstr "Nombre del widget" -#: ../gtk/gtkwidget.c:884 +#: ../gtk/gtkwidget.c:894 msgid "The name of the widget" msgstr "El nombre del widget" -#: ../gtk/gtkwidget.c:890 +#: ../gtk/gtkwidget.c:900 msgid "Parent widget" msgstr "Widget padre" -#: ../gtk/gtkwidget.c:891 +#: ../gtk/gtkwidget.c:901 msgid "The parent widget of this widget. Must be a Container widget" msgstr "El widget padre de este widget. Debe ser un widget contenedor" -#: ../gtk/gtkwidget.c:898 +#: ../gtk/gtkwidget.c:908 msgid "Width request" msgstr "Petición de anchura" -#: ../gtk/gtkwidget.c:899 +#: ../gtk/gtkwidget.c:909 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6925,11 +6919,11 @@ msgstr "" "Sobreescribir el ancho solicitado del widget, o -1 si deber ser utilizado la " "solicitud natural" -#: ../gtk/gtkwidget.c:907 +#: ../gtk/gtkwidget.c:917 msgid "Height request" msgstr "Petición de altura" -#: ../gtk/gtkwidget.c:908 +#: ../gtk/gtkwidget.c:918 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6937,84 +6931,84 @@ msgstr "" "Sobreescribir la altura solicitada del widget, o -1 si deber ser utilizada " "la solicitud natural" -#: ../gtk/gtkwidget.c:917 +#: ../gtk/gtkwidget.c:927 msgid "Whether the widget is visible" msgstr "Indica si el widget es visible" -#: ../gtk/gtkwidget.c:924 +#: ../gtk/gtkwidget.c:934 msgid "Whether the widget responds to input" msgstr "Indica si el widget responde al ingreso" -#: ../gtk/gtkwidget.c:930 +#: ../gtk/gtkwidget.c:940 msgid "Application paintable" msgstr "Pintable por la aplicación" -#: ../gtk/gtkwidget.c:931 +#: ../gtk/gtkwidget.c:941 msgid "Whether the application will paint directly on the widget" msgstr "Indica si la aplicación pintará directamente sobre el widget" -#: ../gtk/gtkwidget.c:937 +#: ../gtk/gtkwidget.c:947 msgid "Can focus" msgstr "Puede enfocar" -#: ../gtk/gtkwidget.c:938 +#: ../gtk/gtkwidget.c:948 msgid "Whether the widget can accept the input focus" msgstr "Indica si el widget puede aceptar el foco de entrada" -#: ../gtk/gtkwidget.c:944 +#: ../gtk/gtkwidget.c:954 msgid "Has focus" msgstr "Tiene foco" -#: ../gtk/gtkwidget.c:945 +#: ../gtk/gtkwidget.c:955 msgid "Whether the widget has the input focus" msgstr "Indica si el widget tiene el foco de entrada" -#: ../gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:961 msgid "Is focus" msgstr "Tiene el foco" -#: ../gtk/gtkwidget.c:952 +#: ../gtk/gtkwidget.c:962 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica si el widget es el widget con foco dentro del nivel superior" -#: ../gtk/gtkwidget.c:958 +#: ../gtk/gtkwidget.c:968 msgid "Can default" msgstr "Puede por omisión" -#: ../gtk/gtkwidget.c:959 +#: ../gtk/gtkwidget.c:969 msgid "Whether the widget can be the default widget" msgstr "Indica si el widget puede ser el widget predeterminado" -#: ../gtk/gtkwidget.c:965 +#: ../gtk/gtkwidget.c:975 msgid "Has default" msgstr "Tiene por omisión" -#: ../gtk/gtkwidget.c:966 +#: ../gtk/gtkwidget.c:976 msgid "Whether the widget is the default widget" msgstr "Indica si el widget es el widget predeterminado" -#: ../gtk/gtkwidget.c:972 +#: ../gtk/gtkwidget.c:982 msgid "Receives default" msgstr "Recibe por omisión" -#: ../gtk/gtkwidget.c:973 +#: ../gtk/gtkwidget.c:983 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "" "Si es TRUE el widget recibirá la acción predeterminada cuando obtiene el foco" -#: ../gtk/gtkwidget.c:979 +#: ../gtk/gtkwidget.c:989 msgid "Composite child" msgstr "Hijo compuesto" -#: ../gtk/gtkwidget.c:980 +#: ../gtk/gtkwidget.c:990 msgid "Whether the widget is part of a composite widget" msgstr "Indica si el widget es parte de un widget compuesto" -#: ../gtk/gtkwidget.c:986 +#: ../gtk/gtkwidget.c:996 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:997 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -7022,176 +7016,176 @@ msgstr "" "El estilo del widget, que contiene información sobre la apariencia (colores, " "etc)" -#: ../gtk/gtkwidget.c:993 +#: ../gtk/gtkwidget.c:1003 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:994 +#: ../gtk/gtkwidget.c:1004 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "La máscara de eventos que decide que tipo de GtkEvents recibe este widget" -#: ../gtk/gtkwidget.c:1001 +#: ../gtk/gtkwidget.c:1011 msgid "No show all" msgstr "No mostrar todo" -#: ../gtk/gtkwidget.c:1002 +#: ../gtk/gtkwidget.c:1012 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Indica que gtk_widget_show_all() no debe afectar a este widget" -#: ../gtk/gtkwidget.c:1025 +#: ../gtk/gtkwidget.c:1035 msgid "Whether this widget has a tooltip" msgstr "Indica si el widget tiene un consejo" -#: ../gtk/gtkwidget.c:1081 +#: ../gtk/gtkwidget.c:1091 msgid "Window" msgstr "Ventana" -#: ../gtk/gtkwidget.c:1082 +#: ../gtk/gtkwidget.c:1092 msgid "The widget's window if it is realized" msgstr "La ventana del widget si se realiza" -#: ../gtk/gtkwidget.c:1096 +#: ../gtk/gtkwidget.c:1106 msgid "Double Buffered" msgstr "Búfer doble" -#: ../gtk/gtkwidget.c:1097 +#: ../gtk/gtkwidget.c:1107 msgid "Whether the widget is double buffered" msgstr "Indica si el widget tiene búfer doble" -#: ../gtk/gtkwidget.c:1112 +#: ../gtk/gtkwidget.c:1122 msgid "How to position in extra horizontal space" msgstr "Cómo posicionar en el espacio horizontal adicional" -#: ../gtk/gtkwidget.c:1128 +#: ../gtk/gtkwidget.c:1138 msgid "How to position in extra vertical space" msgstr "Cómo posicionar en el espacio vertical adicional" -#: ../gtk/gtkwidget.c:1147 +#: ../gtk/gtkwidget.c:1157 msgid "Margin on Left" msgstr "Margen a la izquierda" -#: ../gtk/gtkwidget.c:1148 +#: ../gtk/gtkwidget.c:1158 msgid "Pixels of extra space on the left side" msgstr "Píxeles de espacio adicional en la parte izquierda" -#: ../gtk/gtkwidget.c:1168 +#: ../gtk/gtkwidget.c:1178 msgid "Margin on Right" msgstr "Margen a la derecha" -#: ../gtk/gtkwidget.c:1169 +#: ../gtk/gtkwidget.c:1179 msgid "Pixels of extra space on the right side" msgstr "Píxeles de espacio adicional en la parte derecha" -#: ../gtk/gtkwidget.c:1189 +#: ../gtk/gtkwidget.c:1199 msgid "Margin on Top" msgstr "Margen arriba" -#: ../gtk/gtkwidget.c:1190 +#: ../gtk/gtkwidget.c:1200 msgid "Pixels of extra space on the top side" msgstr "Píxeles de espacio adicional en la parte superior" -#: ../gtk/gtkwidget.c:1210 +#: ../gtk/gtkwidget.c:1220 msgid "Margin on Bottom" msgstr "Margen abajo" -#: ../gtk/gtkwidget.c:1211 +#: ../gtk/gtkwidget.c:1221 msgid "Pixels of extra space on the bottom side" msgstr "Píxeles de espacio adicional en la parte inferior" -#: ../gtk/gtkwidget.c:1228 +#: ../gtk/gtkwidget.c:1238 msgid "All Margins" msgstr "Todos los márgenes" -#: ../gtk/gtkwidget.c:1229 +#: ../gtk/gtkwidget.c:1239 msgid "Pixels of extra space on all four sides" msgstr "Píxeles de espacio adicionales en las cuatro partes" -#: ../gtk/gtkwidget.c:1262 +#: ../gtk/gtkwidget.c:1272 msgid "Horizontal Expand" msgstr "Expansión horizontal" -#: ../gtk/gtkwidget.c:1263 +#: ../gtk/gtkwidget.c:1273 msgid "Whether widget wants more horizontal space" msgstr "Indica si el widget quiere usar más espacio horizontal" -#: ../gtk/gtkwidget.c:1277 +#: ../gtk/gtkwidget.c:1287 msgid "Horizontal Expand Set" msgstr "Ajuste de expansión horizontal" -#: ../gtk/gtkwidget.c:1278 +#: ../gtk/gtkwidget.c:1288 msgid "Whether to use the hexpand property" msgstr "Indica si se debe usar la propiedad hexpand" -#: ../gtk/gtkwidget.c:1292 +#: ../gtk/gtkwidget.c:1302 msgid "Vertical Expand" msgstr "Expansión vertial" -#: ../gtk/gtkwidget.c:1293 +#: ../gtk/gtkwidget.c:1303 msgid "Whether widget wants more vertical space" msgstr "Indica si el widget quiere usar más espacio vertical" -#: ../gtk/gtkwidget.c:1307 +#: ../gtk/gtkwidget.c:1317 msgid "Vertical Expand Set" msgstr "Ajuste de expansión vertical" -#: ../gtk/gtkwidget.c:1308 +#: ../gtk/gtkwidget.c:1318 msgid "Whether to use the vexpand property" msgstr "Indica si se debe usar la propiedad vexpand" -#: ../gtk/gtkwidget.c:1322 +#: ../gtk/gtkwidget.c:1332 msgid "Expand Both" msgstr "Expandir en ambas" -#: ../gtk/gtkwidget.c:1323 +#: ../gtk/gtkwidget.c:1333 msgid "Whether widget wants to expand in both directions" msgstr "Indica si el widget quiere expandirse en ambas direcciones" -#: ../gtk/gtkwidget.c:2985 +#: ../gtk/gtkwidget.c:2991 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:2986 +#: ../gtk/gtkwidget.c:2992 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica si se ha de dibujar el indicador del foco dentro de los widgets" -#: ../gtk/gtkwidget.c:2992 +#: ../gtk/gtkwidget.c:2998 msgid "Focus linewidth" msgstr "Dar foco al ancho de línea" -#: ../gtk/gtkwidget.c:2993 +#: ../gtk/gtkwidget.c:2999 msgid "Width, in pixels, of the focus indicator line" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtkwidget.c:2999 +#: ../gtk/gtkwidget.c:3005 msgid "Focus line dash pattern" msgstr "Dar foco a la línea con patrón punteado" -#: ../gtk/gtkwidget.c:3000 +#: ../gtk/gtkwidget.c:3006 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón punteado utilizado para dibujar el indicador de foco" -#: ../gtk/gtkwidget.c:3005 +#: ../gtk/gtkwidget.c:3011 msgid "Focus padding" msgstr "Relleno del foco" -#: ../gtk/gtkwidget.c:3006 +#: ../gtk/gtkwidget.c:3012 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Anchura, en píxeles, entre el indicador de foco y la «caja» del widget" -#: ../gtk/gtkwidget.c:3011 +#: ../gtk/gtkwidget.c:3017 msgid "Cursor color" msgstr "Color del cursor" -#: ../gtk/gtkwidget.c:3012 +#: ../gtk/gtkwidget.c:3018 msgid "Color with which to draw insertion cursor" msgstr "Color con el cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3017 +#: ../gtk/gtkwidget.c:3023 msgid "Secondary cursor color" msgstr "Color secundario del cursor" -#: ../gtk/gtkwidget.c:3018 +#: ../gtk/gtkwidget.c:3024 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7199,43 +7193,43 @@ msgstr "" "Color con el cual dibujar el cursor de inserción secundario cuando se esta " "editando una mezcla de texto de derecha-a-izquierda y izquierda-a-derecha" -#: ../gtk/gtkwidget.c:3023 +#: ../gtk/gtkwidget.c:3029 msgid "Cursor line aspect ratio" msgstr "Proporción de la línea del cursor" -#: ../gtk/gtkwidget.c:3024 +#: ../gtk/gtkwidget.c:3030 msgid "Aspect ratio with which to draw insertion cursor" msgstr "La proporción con la cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3030 +#: ../gtk/gtkwidget.c:3036 msgid "Window dragging" msgstr "Arrastre de ventana" -#: ../gtk/gtkwidget.c:3031 +#: ../gtk/gtkwidget.c:3037 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica si las ventanas se pueden arrastrar pulsando en áreas vacías" -#: ../gtk/gtkwidget.c:3044 +#: ../gtk/gtkwidget.c:3050 msgid "Unvisited Link Color" msgstr "Color del enlace no visitado" -#: ../gtk/gtkwidget.c:3045 +#: ../gtk/gtkwidget.c:3051 msgid "Color of unvisited links" msgstr "Color de los enlaces no visitados" -#: ../gtk/gtkwidget.c:3058 +#: ../gtk/gtkwidget.c:3064 msgid "Visited Link Color" msgstr "Color del enlace visitado" -#: ../gtk/gtkwidget.c:3059 +#: ../gtk/gtkwidget.c:3065 msgid "Color of visited links" msgstr "Color de los enlaces visitados" -#: ../gtk/gtkwidget.c:3073 +#: ../gtk/gtkwidget.c:3079 msgid "Wide Separators" msgstr "Separadores anchos" -#: ../gtk/gtkwidget.c:3074 +#: ../gtk/gtkwidget.c:3080 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7243,81 +7237,81 @@ msgstr "" "Indica si los separadores tienen anchura configurable y deben dibujarse " "usando una caja en lugar de una línea" -#: ../gtk/gtkwidget.c:3088 +#: ../gtk/gtkwidget.c:3094 msgid "Separator Width" msgstr "Anchura del separador" -#: ../gtk/gtkwidget.c:3089 +#: ../gtk/gtkwidget.c:3095 msgid "The width of separators if wide-separators is TRUE" msgstr "La anchura de los separadores si «wide-separators« es TRUE" -#: ../gtk/gtkwidget.c:3103 +#: ../gtk/gtkwidget.c:3109 msgid "Separator Height" msgstr "Altura del separador" -#: ../gtk/gtkwidget.c:3104 +#: ../gtk/gtkwidget.c:3110 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "La altura de los separadores si «wide-separators» es TRUE" -#: ../gtk/gtkwidget.c:3118 +#: ../gtk/gtkwidget.c:3124 msgid "Horizontal Scroll Arrow Length" msgstr "Longitud de la flecha de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3119 +#: ../gtk/gtkwidget.c:3125 msgid "The length of horizontal scroll arrows" msgstr "La longitud de las flechas de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3133 +#: ../gtk/gtkwidget.c:3139 msgid "Vertical Scroll Arrow Length" msgstr "Longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwidget.c:3134 +#: ../gtk/gtkwidget.c:3140 msgid "The length of vertical scroll arrows" msgstr "La longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwindow.c:613 +#: ../gtk/gtkwindow.c:614 msgid "Window Type" msgstr "Tipo de ventana" -#: ../gtk/gtkwindow.c:614 +#: ../gtk/gtkwindow.c:615 msgid "The type of the window" msgstr "El tipo de la ventana" -#: ../gtk/gtkwindow.c:622 +#: ../gtk/gtkwindow.c:623 msgid "Window Title" msgstr "Título de la ventana" -#: ../gtk/gtkwindow.c:623 +#: ../gtk/gtkwindow.c:624 msgid "The title of the window" msgstr "El título de la ventana" -#: ../gtk/gtkwindow.c:630 +#: ../gtk/gtkwindow.c:631 msgid "Window Role" msgstr "Rol de la ventana" -#: ../gtk/gtkwindow.c:631 +#: ../gtk/gtkwindow.c:632 msgid "Unique identifier for the window to be used when restoring a session" msgstr "" "Identificador único para la ventana para usarlo al restaurar una sesión" -#: ../gtk/gtkwindow.c:647 +#: ../gtk/gtkwindow.c:648 msgid "Startup ID" msgstr "ID de inicio" -#: ../gtk/gtkwindow.c:648 +#: ../gtk/gtkwindow.c:649 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador único de inicio para la ventana usado por startup-notification" -#: ../gtk/gtkwindow.c:656 +#: ../gtk/gtkwindow.c:657 msgid "If TRUE, users can resize the window" msgstr "Si es TRUE los usuario pueden redimensionar la ventana" -#: ../gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:664 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:664 +#: ../gtk/gtkwindow.c:665 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7325,80 +7319,80 @@ msgstr "" "Si es TRUE, esta ventana es modal (no se pueden utilizar otras ventanas " "mientras ésta este encima)" -#: ../gtk/gtkwindow.c:671 +#: ../gtk/gtkwindow.c:672 msgid "Window Position" msgstr "Posición de la ventana" -#: ../gtk/gtkwindow.c:672 +#: ../gtk/gtkwindow.c:673 msgid "The initial position of the window" msgstr "La posición inicial de la ventana" -#: ../gtk/gtkwindow.c:680 +#: ../gtk/gtkwindow.c:681 msgid "Default Width" msgstr "Anchura predeterminada" -#: ../gtk/gtkwindow.c:681 +#: ../gtk/gtkwindow.c:682 msgid "The default width of the window, used when initially showing the window" msgstr "" "El ancho predeterminado de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:690 +#: ../gtk/gtkwindow.c:691 msgid "Default Height" msgstr "Altura predeterminada" -#: ../gtk/gtkwindow.c:691 +#: ../gtk/gtkwindow.c:692 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "La altura predeterminada de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:700 +#: ../gtk/gtkwindow.c:701 msgid "Destroy with Parent" msgstr "Destruir con el padre" -#: ../gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:702 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Indica si esta ventana debe ser destruida cuando el padre se destruye" -#: ../gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:710 msgid "Icon for this window" msgstr "Icono para esta ventana" -#: ../gtk/gtkwindow.c:715 +#: ../gtk/gtkwindow.c:716 msgid "Mnemonics Visible" msgstr "Mnemónicos visibles" -#: ../gtk/gtkwindow.c:716 +#: ../gtk/gtkwindow.c:717 msgid "Whether mnemonics are currently visible in this window" msgstr "Indica si los mnemónicos son visibles actualmente en esta ventana" -#: ../gtk/gtkwindow.c:732 +#: ../gtk/gtkwindow.c:733 msgid "Name of the themed icon for this window" msgstr "Nombre del icono del tema para esta ventana" -#: ../gtk/gtkwindow.c:747 +#: ../gtk/gtkwindow.c:748 msgid "Is Active" msgstr "Está activo" -#: ../gtk/gtkwindow.c:748 +#: ../gtk/gtkwindow.c:749 msgid "Whether the toplevel is the current active window" msgstr "Indica si el nivel superior es la ventana activa actual" -#: ../gtk/gtkwindow.c:755 +#: ../gtk/gtkwindow.c:756 msgid "Focus in Toplevel" msgstr "Foco en el nivel superior" -#: ../gtk/gtkwindow.c:756 +#: ../gtk/gtkwindow.c:757 msgid "Whether the input focus is within this GtkWindow" msgstr "Indica si el foco de entrada esta dentro de este GtkWindow" -#: ../gtk/gtkwindow.c:763 +#: ../gtk/gtkwindow.c:764 msgid "Type hint" msgstr "Pista de tipo" -#: ../gtk/gtkwindow.c:764 +#: ../gtk/gtkwindow.c:765 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7406,118 +7400,125 @@ msgstr "" "Pista para ayudar al entorno de escritorio a entender qué clase de ventana " "es ésta y cómo tratar con ella." -#: ../gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:773 msgid "Skip taskbar" msgstr "Ignorar barra de tareas" -#: ../gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:774 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE si la ventana no debe estar en la barra de tareas." -#: ../gtk/gtkwindow.c:780 +#: ../gtk/gtkwindow.c:781 msgid "Skip pager" msgstr "Ignorar paginador" -#: ../gtk/gtkwindow.c:781 +#: ../gtk/gtkwindow.c:782 msgid "TRUE if the window should not be in the pager." msgstr "TRUE si la ventana no debe estar en el paginador." -#: ../gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:789 msgid "Urgent" msgstr "Urgente" -#: ../gtk/gtkwindow.c:789 +#: ../gtk/gtkwindow.c:790 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE si la ventana debe llamar la atención del usuario." -#: ../gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:804 msgid "Accept focus" msgstr "Aceptar foco" -#: ../gtk/gtkwindow.c:804 +#: ../gtk/gtkwindow.c:805 msgid "TRUE if the window should receive the input focus." msgstr "TRUE si la ventana no debe recibir el foco de entrada." -#: ../gtk/gtkwindow.c:818 +#: ../gtk/gtkwindow.c:819 msgid "Focus on map" msgstr "Foco en el mapa" -#: ../gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:820 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE si la ventana debe recibir el foco de entrada al ser mapeada." -#: ../gtk/gtkwindow.c:833 +#: ../gtk/gtkwindow.c:834 msgid "Decorated" msgstr "Decorado" -#: ../gtk/gtkwindow.c:834 +#: ../gtk/gtkwindow.c:835 msgid "Whether the window should be decorated by the window manager" msgstr "Indica si la ventana debe ser decorada por el gestor de ventanas" -#: ../gtk/gtkwindow.c:848 +#: ../gtk/gtkwindow.c:849 msgid "Deletable" msgstr "Borrable" -#: ../gtk/gtkwindow.c:849 +#: ../gtk/gtkwindow.c:850 msgid "Whether the window frame should have a close button" msgstr "Indica si el marco de la ventana debe tener un botón de cierre" -#: ../gtk/gtkwindow.c:868 +#: ../gtk/gtkwindow.c:869 msgid "Resize grip" msgstr "Redimensionar tirador" -#: ../gtk/gtkwindow.c:869 +#: ../gtk/gtkwindow.c:870 msgid "Specifies whether the window should have a resize grip" msgstr "Especifica si la ventana debe tener un tirador de redimensión" -#: ../gtk/gtkwindow.c:883 +#: ../gtk/gtkwindow.c:884 msgid "Resize grip is visible" msgstr "El tirador de redimensión es visible" -#: ../gtk/gtkwindow.c:884 +#: ../gtk/gtkwindow.c:885 msgid "Specifies whether the window's resize grip is visible." msgstr "Indica si el tirador de redimensión de la ventana es visible." -#: ../gtk/gtkwindow.c:900 +#: ../gtk/gtkwindow.c:901 msgid "Gravity" msgstr "Gravedad" -#: ../gtk/gtkwindow.c:901 +#: ../gtk/gtkwindow.c:902 msgid "The window gravity of the window" msgstr "La gravedad de la ventana" -#: ../gtk/gtkwindow.c:918 +#: ../gtk/gtkwindow.c:919 msgid "Transient for Window" msgstr "Transitorio para la ventana" -#: ../gtk/gtkwindow.c:919 +#: ../gtk/gtkwindow.c:920 msgid "The transient parent of the dialog" msgstr "El padre transitorio del diálogo" -#: ../gtk/gtkwindow.c:934 +#: ../gtk/gtkwindow.c:935 msgid "Opacity for Window" msgstr "Opacidad para la ventana" -#: ../gtk/gtkwindow.c:935 +#: ../gtk/gtkwindow.c:936 msgid "The opacity of the window, from 0 to 1" msgstr "La opacidad de la ventana, desde 0 hasta 1" -#: ../gtk/gtkwindow.c:945 ../gtk/gtkwindow.c:946 +#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 msgid "Width of resize grip" msgstr "Anchura del tirador de redimensión" -#: ../gtk/gtkwindow.c:951 ../gtk/gtkwindow.c:952 +#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 msgid "Height of resize grip" msgstr "Altura del tirador de redimensión" -#: ../gtk/gtkwindow.c:971 +#: ../gtk/gtkwindow.c:972 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:972 +#: ../gtk/gtkwindow.c:973 msgid "The GtkApplication for the window" msgstr "El GtkApplication para la ventana" +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "La etiqueta para el enlace al sitio web del programa. Si no está " +#~ "establecida, se usará la URL de forma predeterminada" + #~ msgid "Extension events" #~ msgstr "Eventos de extensión" From c5b020e62893bed9279ffbc3def3a0e4f7f4bcc4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 15:50:18 -0500 Subject: [PATCH 0896/1463] Remove sealed members from GtkMenu --- gtk/Makefile.am | 2 +- gtk/gtkcombobox.c | 33 +- gtk/gtkmenu.c | 2957 +++++++++++++++++++------------------- gtk/gtkmenu.h | 56 +- gtk/gtkmenuitem.c | 36 +- gtk/gtkmenuprivate.h | 89 ++ gtk/gtkmenushell.c | 4 +- gtk/gtktearoffmenuitem.c | 8 +- 8 files changed, 1592 insertions(+), 1593 deletions(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 03903974f8..4c833578b5 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -152,7 +152,6 @@ gtk_public_h_sources = \ gtkaccessible.h \ gtkaction.h \ gtkactiongroup.h \ - gtkaccelgroupprivate.h \ gtkactivatable.h \ gtkadjustment.h \ gtkalignment.h \ @@ -379,6 +378,7 @@ endif # GTK+ header files that don't get installed gtk_private_h_sources = \ gtk9slice.h \ + gtkaccelgroupprivate.h \ gtkbuttonprivate.h \ gtkquery.h \ gtksearchengine.h \ diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 016c28d44b..509927a83c 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -30,7 +30,7 @@ #include "gtkhbox.h" #include "gtkliststore.h" #include "gtkmain.h" -#include "gtkmenu.h" +#include "gtkmenuprivate.h" #include "gtkscrolledwindow.h" #include "gtkseparatormenuitem.h" #include "gtktearoffmenuitem.h" @@ -1641,10 +1641,10 @@ gtk_combo_box_detacher (GtkWidget *widget, g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); - g_signal_handlers_disconnect_by_func (menu->toplevel, + g_signal_handlers_disconnect_by_func (menu->priv->toplevel, gtk_combo_box_menu_show, combo_box); - g_signal_handlers_disconnect_by_func (menu->toplevel, + g_signal_handlers_disconnect_by_func (menu->priv->toplevel, gtk_combo_box_menu_hide, combo_box); @@ -1672,6 +1672,8 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, if (GTK_IS_MENU (popup)) { + GtkMenu *menu = GTK_MENU (popup); + if (priv->popup_window) { gtk_widget_destroy (priv->popup_window); @@ -1680,26 +1682,23 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, priv->popup_widget = popup; - /* - * Note that we connect to show/hide on the toplevel, not the + /* Note that we connect to show/hide on the toplevel, not the * menu itself, since the menu is not shown/hidden when it is * popped up while torn-off. */ - g_signal_connect (GTK_MENU (popup)->toplevel, "show", + g_signal_connect (menu->priv->toplevel, "show", G_CALLBACK (gtk_combo_box_menu_show), combo_box); - g_signal_connect (GTK_MENU (popup)->toplevel, "hide", + g_signal_connect (menu->priv->toplevel, "hide", G_CALLBACK (gtk_combo_box_menu_hide), combo_box); - gtk_menu_attach_to_widget (GTK_MENU (popup), - GTK_WIDGET (combo_box), - gtk_combo_box_detacher); + gtk_menu_attach_to_widget (menu, GTK_WIDGET (combo_box), gtk_combo_box_detacher); } else { if (!priv->popup_window) { GtkWidget *toplevel; - + priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); gtk_widget_set_name (priv->popup_window, "gtk-combobox-popup-window"); @@ -1932,21 +1931,21 @@ gtk_combo_box_menu_position (GtkMenu *menu, /* FIXME handle nested menus better */ menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); if (menu_item) - gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), + gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), menu_item); gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); } - if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->toplevel)) - gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->toplevel), + if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->priv->toplevel)) + gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->priv->toplevel), GDK_WINDOW_TYPE_HINT_COMBO); } static void -gtk_combo_box_list_position (GtkComboBox *combo_box, - gint *x, - gint *y, +gtk_combo_box_list_position (GtkComboBox *combo_box, + gint *x, + gint *y, gint *width, gint *height) { diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index e678198a39..c6ba098795 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -34,7 +34,6 @@ #include #include "gtkmain.h" #include "gtkmarshalers.h" -#include "gtkmenu.h" #include "gtkmenuprivate.h" #include "gtktearoffmenuitem.h" #include "gtkwindow.h" @@ -45,8 +44,8 @@ #include "gtkintl.h" #define NAVIGATION_REGION_OVERSHOOT 50 /* How much the navigation region - * extends below the submenu - */ + * extends below the submenu + */ #define MENU_SCROLL_STEP1 8 #define MENU_SCROLL_STEP2 15 @@ -57,9 +56,8 @@ #define ATTACH_INFO_KEY "gtk-menu-child-attach-info-key" #define ATTACHED_MENUS "gtk-attached-menus" -typedef struct _GtkMenuAttachData GtkMenuAttachData; -typedef struct _GtkMenuPrivate GtkMenuPrivate; -typedef struct _GtkMenuPopdownData GtkMenuPopdownData; +typedef struct _GtkMenuAttachData GtkMenuAttachData; +typedef struct _GtkMenuPopdownData GtkMenuPopdownData; struct _GtkMenuAttachData { @@ -67,7 +65,7 @@ struct _GtkMenuAttachData GtkMenuDetachFunc detacher; }; -struct _GtkMenuPrivate +struct _OldGtkMenuPrivate { gint x; gint y; @@ -151,13 +149,13 @@ enum { }; static void gtk_menu_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_menu_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static void gtk_menu_set_child_property(GtkContainer *container, GtkWidget *child, guint property_id, @@ -172,28 +170,28 @@ static void gtk_menu_destroy (GtkWidget *widget); static void gtk_menu_realize (GtkWidget *widget); static void gtk_menu_unrealize (GtkWidget *widget); static void gtk_menu_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static void gtk_menu_show (GtkWidget *widget); static gboolean gtk_menu_draw (GtkWidget *widget, cairo_t *cr); static gboolean gtk_menu_key_press (GtkWidget *widget, - GdkEventKey *event); + GdkEventKey *event); static gboolean gtk_menu_scroll (GtkWidget *widget, - GdkEventScroll *event); + GdkEventScroll *event); static gboolean gtk_menu_button_press (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gboolean gtk_menu_button_release (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gboolean gtk_menu_motion_notify (GtkWidget *widget, - GdkEventMotion *event); + GdkEventMotion *event); static gboolean gtk_menu_enter_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gboolean gtk_menu_leave_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static void gtk_menu_scroll_to (GtkMenu *menu, - gint offset); + gint offset); static void gtk_menu_grab_notify (GtkWidget *widget, - gboolean was_grabbed); + gboolean was_grabbed); static void gtk_menu_stop_scrolling (GtkMenu *menu); static void gtk_menu_remove_scroll_timeout (GtkMenu *menu); @@ -202,48 +200,48 @@ static gboolean gtk_menu_scroll_timeout_initial (gpointer data); static void gtk_menu_start_scrolling (GtkMenu *menu); static void gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, - GtkWidget *menu_item); + GtkWidget *menu_item); static void gtk_menu_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item); + GtkWidget *menu_item); static void gtk_menu_real_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position); + GtkWidget *child, + gint position); static void gtk_menu_scrollbar_changed (GtkAdjustment *adjustment, - GtkMenu *menu); + GtkMenu *menu); static void gtk_menu_handle_scrolling (GtkMenu *menu, - gint event_x, - gint event_y, - gboolean enter, + gint event_x, + gint event_y, + gboolean enter, gboolean motion); static void gtk_menu_set_tearoff_hints (GtkMenu *menu, - gint width); + gint width); static void gtk_menu_style_updated (GtkWidget *widget); static gboolean gtk_menu_focus (GtkWidget *widget, - GtkDirectionType direction); + GtkDirectionType direction); static gint gtk_menu_get_popup_delay (GtkMenuShell *menu_shell); static void gtk_menu_move_current (GtkMenuShell *menu_shell, GtkMenuDirectionType direction); static void gtk_menu_real_move_scroll (GtkMenu *menu, - GtkScrollType type); + GtkScrollType type); static void gtk_menu_stop_navigating_submenu (GtkMenu *menu); static gboolean gtk_menu_stop_navigating_submenu_cb (gpointer user_data); static gboolean gtk_menu_navigating_submenu (GtkMenu *menu, - gint event_x, - gint event_y); + gint event_x, + gint event_y); static void gtk_menu_set_submenu_navigation_region (GtkMenu *menu, - GtkMenuItem *menu_item, - GdkEventCrossing *event); + GtkMenuItem *menu_item, + GdkEventCrossing *event); -static void gtk_menu_deactivate (GtkMenuShell *menu_shell); +static void gtk_menu_deactivate (GtkMenuShell *menu_shell); static void gtk_menu_show_all (GtkWidget *widget); static void gtk_menu_position (GtkMenu *menu, gboolean set_scroll_offset); -static void gtk_menu_reparent (GtkMenu *menu, - GtkWidget *new_parent, - gboolean unrealize); +static void gtk_menu_reparent (GtkMenu *menu, + GtkWidget *new_parent, + gboolean unrealize); static void gtk_menu_remove (GtkContainer *menu, - GtkWidget *widget); + GtkWidget *widget); static void gtk_menu_update_title (GtkMenu *menu); @@ -253,7 +251,7 @@ static GdkWindow *menu_grab_transfer_window_get (GtkMenu *menu); static gboolean gtk_menu_real_can_activate_accel (GtkWidget *widget, guint signal_id); static void _gtk_menu_refresh_accel_paths (GtkMenu *menu, - gboolean group_changed); + gboolean group_changed); static void gtk_menu_get_preferred_width (GtkWidget *widget, gint *minimum_size, @@ -282,7 +280,7 @@ G_DEFINE_TYPE (GtkMenu, gtk_menu, GTK_TYPE_MENU_SHELL) static void menu_queue_resize (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; priv->have_layout = FALSE; gtk_widget_queue_resize (GTK_WIDGET (menu)); @@ -314,9 +312,9 @@ static gboolean is_grid_attached (AttachInfo *ai) { return (ai->left_attach >= 0 && - ai->right_attach >= 0 && - ai->top_attach >= 0 && - ai->bottom_attach >= 0); + ai->right_attach >= 0 && + ai->top_attach >= 0 && + ai->bottom_attach >= 0); } static void @@ -339,63 +337,62 @@ menu_ensure_layout (GtkMenu *menu) max_bottom_attach = 0; for (l = menu_shell->children; l; l = l->next) - { - GtkWidget *child = l->data; - AttachInfo *ai = get_attach_info (child); + { + GtkWidget *child = l->data; + AttachInfo *ai = get_attach_info (child); - if (is_grid_attached (ai)) - { - max_bottom_attach = MAX (max_bottom_attach, ai->bottom_attach); - max_right_attach = MAX (max_right_attach, ai->right_attach); - } - } - - /* Find empty rows - */ + if (is_grid_attached (ai)) + { + max_bottom_attach = MAX (max_bottom_attach, ai->bottom_attach); + max_right_attach = MAX (max_right_attach, ai->right_attach); + } + } + + /* Find empty rows */ row_occupied = g_malloc0 (max_bottom_attach); for (l = menu_shell->children; l; l = l->next) - { - GtkWidget *child = l->data; - AttachInfo *ai = get_attach_info (child); + { + GtkWidget *child = l->data; + AttachInfo *ai = get_attach_info (child); - if (is_grid_attached (ai)) - { - gint i; + if (is_grid_attached (ai)) + { + gint i; - for (i = ai->top_attach; i < ai->bottom_attach; i++) - row_occupied[i] = TRUE; - } - } + for (i = ai->top_attach; i < ai->bottom_attach; i++) + row_occupied[i] = TRUE; + } + } /* Lay non-grid-items out in those rows */ current_row = 0; for (l = menu_shell->children; l; l = l->next) - { - GtkWidget *child = l->data; - AttachInfo *ai = get_attach_info (child); + { + GtkWidget *child = l->data; + AttachInfo *ai = get_attach_info (child); - if (!is_grid_attached (ai)) - { - while (current_row < max_bottom_attach && row_occupied[current_row]) - current_row++; - - ai->effective_left_attach = 0; - ai->effective_right_attach = max_right_attach; - ai->effective_top_attach = current_row; - ai->effective_bottom_attach = current_row + 1; + if (!is_grid_attached (ai)) + { + while (current_row < max_bottom_attach && row_occupied[current_row]) + current_row++; - current_row++; - } - else - { - ai->effective_left_attach = ai->left_attach; - ai->effective_right_attach = ai->right_attach; - ai->effective_top_attach = ai->top_attach; - ai->effective_bottom_attach = ai->bottom_attach; - } - } + ai->effective_left_attach = 0; + ai->effective_right_attach = max_right_attach; + ai->effective_top_attach = current_row; + ai->effective_bottom_attach = current_row + 1; + + current_row++; + } + else + { + ai->effective_left_attach = ai->left_attach; + ai->effective_right_attach = ai->right_attach; + ai->effective_top_attach = ai->top_attach; + ai->effective_bottom_attach = ai->bottom_attach; + } + } g_free (row_occupied); @@ -428,10 +425,10 @@ gtk_menu_get_n_rows (GtkMenu *menu) static void get_effective_child_attach (GtkWidget *child, - int *l, - int *r, - int *t, - int *b) + int *l, + int *r, + int *t, + int *b) { GtkMenu *menu = GTK_MENU (gtk_widget_get_parent (child)); AttachInfo *ai; @@ -517,10 +514,10 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_ACTIVE, g_param_spec_int ("active", - P_("Active"), - P_("The currently selected menu item"), - -1, G_MAXINT, -1, - GTK_PARAM_READWRITE)); + P_("Active"), + P_("The currently selected menu item"), + -1, G_MAXINT, -1, + GTK_PARAM_READWRITE)); /** * GtkMenu:accel-group: @@ -532,10 +529,10 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_ACCEL_GROUP, g_param_spec_object ("accel-group", - P_("Accel Group"), - P_("The accel group holding accelerators for the menu"), - GTK_TYPE_ACCEL_GROUP, - GTK_PARAM_READWRITE)); + P_("Accel Group"), + P_("The accel group holding accelerators for the menu"), + GTK_TYPE_ACCEL_GROUP, + GTK_PARAM_READWRITE)); /** * GtkMenu:accel-path: @@ -547,10 +544,10 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_ACCEL_PATH, g_param_spec_string ("accel-path", - P_("Accel Path"), - P_("An accel path used to conveniently construct accel paths of child items"), - NULL, - GTK_PARAM_READWRITE)); + P_("Accel Path"), + P_("An accel path used to conveniently construct accel paths of child items"), + NULL, + GTK_PARAM_READWRITE)); /** * GtkMenu:attach-widget: @@ -564,10 +561,10 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_ATTACH_WIDGET, g_param_spec_object ("attach-widget", - P_("Attach Widget"), - P_("The widget the menu is attached to"), - GTK_TYPE_WIDGET, - GTK_PARAM_READWRITE)); + P_("Attach Widget"), + P_("The widget the menu is attached to"), + GTK_TYPE_WIDGET, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_TEAROFF_TITLE, @@ -587,10 +584,10 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_TEAROFF_STATE, g_param_spec_boolean ("tearoff-state", - P_("Tearoff State"), - P_("A boolean that indicates whether the menu is torn-off"), - FALSE, - GTK_PARAM_READWRITE)); + P_("Tearoff State"), + P_("A boolean that indicates whether the menu is torn-off"), + FALSE, + GTK_PARAM_READWRITE)); /** * GtkMenu:monitor: @@ -602,19 +599,19 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_MONITOR, g_param_spec_int ("monitor", - P_("Monitor"), - P_("The monitor the menu will be popped up on"), - -1, G_MAXINT, -1, - GTK_PARAM_READWRITE)); + P_("Monitor"), + P_("The monitor the menu will be popped up on"), + -1, G_MAXINT, -1, + GTK_PARAM_READWRITE)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("vertical-padding", - P_("Vertical Padding"), - P_("Extra space at the top and bottom of the menu"), - 0, - G_MAXINT, - 1, - GTK_PARAM_READABLE)); + g_param_spec_int ("vertical-padding", + P_("Vertical Padding"), + P_("Extra space at the top and bottom of the menu"), + 0, + G_MAXINT, + 1, + GTK_PARAM_READABLE)); /** * GtkMenu:reserve-toggle-size: @@ -632,10 +629,10 @@ gtk_menu_class_init (GtkMenuClass *class) g_object_class_install_property (gobject_class, PROP_RESERVE_TOGGLE_SIZE, g_param_spec_boolean ("reserve-toggle-size", - P_("Reserve Toggle Size"), - P_("A boolean that indicates whether the menu reserves space for toggles and icons"), - TRUE, - GTK_PARAM_READWRITE)); + P_("Reserve Toggle Size"), + P_("A boolean that indicates whether the menu reserves space for toggles and icons"), + TRUE, + GTK_PARAM_READWRITE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_int ("horizontal-padding", @@ -647,22 +644,22 @@ gtk_menu_class_init (GtkMenuClass *class) GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("vertical-offset", - P_("Vertical Offset"), - P_("When the menu is a submenu, position it this number of pixels offset vertically"), - G_MININT, - G_MAXINT, - 0, - GTK_PARAM_READABLE)); + g_param_spec_int ("vertical-offset", + P_("Vertical Offset"), + P_("When the menu is a submenu, position it this number of pixels offset vertically"), + G_MININT, + G_MAXINT, + 0, + GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("horizontal-offset", - P_("Horizontal Offset"), - P_("When the menu is a submenu, position it this number of pixels offset horizontally"), - G_MININT, - G_MAXINT, - -2, - GTK_PARAM_READABLE)); + g_param_spec_int ("horizontal-offset", + P_("Horizontal Offset"), + P_("When the menu is a submenu, position it this number of pixels offset horizontally"), + G_MININT, + G_MAXINT, + -2, + GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_boolean ("double-arrows", @@ -688,34 +685,34 @@ gtk_menu_class_init (GtkMenuClass *class) gtk_container_class_install_child_property (container_class, CHILD_PROP_LEFT_ATTACH, - g_param_spec_int ("left-attach", + g_param_spec_int ("left-attach", P_("Left Attach"), P_("The column number to attach the left side of the child to"), - -1, INT_MAX, -1, + -1, INT_MAX, -1, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_RIGHT_ATTACH, - g_param_spec_int ("right-attach", + g_param_spec_int ("right-attach", P_("Right Attach"), P_("The column number to attach the right side of the child to"), - -1, INT_MAX, -1, + -1, INT_MAX, -1, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_TOP_ATTACH, - g_param_spec_int ("top-attach", + g_param_spec_int ("top-attach", P_("Top Attach"), P_("The row number to attach the top of the child to"), - -1, INT_MAX, -1, + -1, INT_MAX, -1, GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_BOTTOM_ATTACH, - g_param_spec_int ("bottom-attach", + g_param_spec_int ("bottom-attach", P_("Bottom Attach"), P_("The row number to attach the bottom of the child to"), - -1, INT_MAX, -1, + -1, INT_MAX, -1, GTK_PARAM_READWRITE)); /** @@ -734,85 +731,85 @@ gtk_menu_class_init (GtkMenuClass *class) binding_set = gtk_binding_set_by_class (class); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Up, 0, - I_("move-current"), 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_PREV); + GDK_KEY_Up, 0, + I_("move-current"), 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_PREV); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Up, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_PREV); + GDK_KEY_KP_Up, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_PREV); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Down, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_NEXT); + GDK_KEY_Down, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_NEXT); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Down, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_NEXT); + GDK_KEY_KP_Down, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_NEXT); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Left, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_PARENT); + GDK_KEY_Left, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_PARENT); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Left, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_PARENT); + GDK_KEY_KP_Left, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_PARENT); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Right, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_CHILD); + GDK_KEY_Right, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_CHILD); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Right, 0, - "move-current", 1, - GTK_TYPE_MENU_DIRECTION_TYPE, - GTK_MENU_DIR_CHILD); + GDK_KEY_KP_Right, 0, + "move-current", 1, + GTK_TYPE_MENU_DIRECTION_TYPE, + GTK_MENU_DIR_CHILD); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Home, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_START); + GDK_KEY_Home, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_START); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Home, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_START); + GDK_KEY_KP_Home, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_START); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_End, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_END); + GDK_KEY_End, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_END); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_End, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_END); + GDK_KEY_KP_End, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_END); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Page_Up, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_PAGE_UP); + GDK_KEY_Page_Up, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_PAGE_UP); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Page_Up, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_PAGE_UP); + GDK_KEY_KP_Page_Up, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_PAGE_UP); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Page_Down, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_PAGE_DOWN); + GDK_KEY_Page_Down, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_PAGE_DOWN); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Page_Down, 0, - "move-scroll", 1, - GTK_TYPE_SCROLL_TYPE, - GTK_SCROLL_PAGE_DOWN); + GDK_KEY_KP_Page_Down, 0, + "move-scroll", 1, + GTK_TYPE_SCROLL_TYPE, + GTK_SCROLL_PAGE_DOWN); g_type_class_add_private (gobject_class, sizeof (GtkMenuPrivate)); } @@ -820,9 +817,9 @@ gtk_menu_class_init (GtkMenuClass *class) static void gtk_menu_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkMenu *menu = GTK_MENU (object); @@ -870,9 +867,9 @@ gtk_menu_set_property (GObject *object, static void gtk_menu_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkMenu *menu = GTK_MENU (object); @@ -927,7 +924,7 @@ gtk_menu_set_child_property (GtkContainer *container, ai->right_attach = g_value_get_int (value); break; case CHILD_PROP_TOP_ATTACH: - ai->top_attach = g_value_get_int (value); + ai->top_attach = g_value_get_int (value); break; case CHILD_PROP_BOTTOM_ATTACH: ai->bottom_attach = g_value_get_int (value); @@ -973,8 +970,8 @@ gtk_menu_get_child_property (GtkContainer *container, static gboolean gtk_menu_window_event (GtkWidget *window, - GdkEvent *event, - GtkWidget *menu) + GdkEvent *event, + GtkWidget *menu) { gboolean handled = FALSE; @@ -1000,53 +997,29 @@ gtk_menu_window_event (GtkWidget *window, static void gtk_menu_init (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv; GtkStyleContext *context; - menu->parent_menu_item = NULL; - menu->old_active_menu_item = NULL; - menu->accel_group = NULL; - menu->position_func = NULL; - menu->position_func_data = NULL; - menu->toggle_size = 0; + priv = G_TYPE_INSTANCE_GET_PRIVATE (menu, GTK_TYPE_MENU, GtkMenuPrivate); - menu->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW, - "type", GTK_WINDOW_POPUP, - "child", menu, - NULL), - "signal::event", gtk_menu_window_event, menu, - "signal::destroy", gtk_widget_destroyed, &menu->toplevel, - NULL); - gtk_window_set_resizable (GTK_WINDOW (menu->toplevel), FALSE); - gtk_window_set_mnemonic_modifier (GTK_WINDOW (menu->toplevel), 0); + menu->priv = priv; + + priv->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW, + "type", GTK_WINDOW_POPUP, + "child", menu, + NULL), + "signal::event", gtk_menu_window_event, menu, + "signal::destroy", gtk_widget_destroyed, &priv->toplevel, + NULL); + gtk_window_set_resizable (GTK_WINDOW (priv->toplevel), FALSE); + gtk_window_set_mnemonic_modifier (GTK_WINDOW (priv->toplevel), 0); /* Refloat the menu, so that reference counting for the menu isn't * affected by it being a child of the toplevel */ g_object_force_floating (G_OBJECT (menu)); - menu->needs_destruction_ref_count = TRUE; + priv->needs_destruction_ref = TRUE; - menu->view_window = NULL; - menu->bin_window = NULL; - - menu->scroll_offset = 0; - menu->scroll_step = 0; - menu->timeout_id = 0; - menu->scroll_fast = FALSE; - - menu->tearoff_window = NULL; - menu->tearoff_hbox = NULL; - menu->torn_off = FALSE; - menu->tearoff_active = FALSE; - menu->tearoff_adjustment = NULL; - menu->tearoff_scrollbar = NULL; - - menu->upper_arrow_visible = FALSE; - menu->lower_arrow_visible = FALSE; - menu->upper_arrow_prelight = FALSE; - menu->lower_arrow_prelight = FALSE; - - priv->have_layout = FALSE; priv->monitor_num = -1; context = gtk_widget_get_style_context (GTK_WIDGET (menu)); @@ -1057,43 +1030,35 @@ static void gtk_menu_destroy (GtkWidget *widget) { GtkMenu *menu = GTK_MENU (widget); + GtkMenuPrivate *priv = menu->priv; GtkMenuAttachData *data; - GtkMenuPrivate *priv; gtk_menu_remove_scroll_timeout (menu); - + data = g_object_get_data (G_OBJECT (widget), attach_data_key); if (data) gtk_menu_detach (menu); - + gtk_menu_stop_navigating_submenu (menu); - if (menu->old_active_menu_item) - { - g_object_unref (menu->old_active_menu_item); - menu->old_active_menu_item = NULL; - } + if (priv->old_active_menu_item) + g_clear_object (&priv->old_active_menu_item); /* Add back the reference count for being a child */ - if (menu->needs_destruction_ref_count) + if (priv->needs_destruction_ref) { - menu->needs_destruction_ref_count = FALSE; + priv->needs_destruction_ref = FALSE; g_object_ref (widget); } - - if (menu->accel_group) - { - g_object_unref (menu->accel_group); - menu->accel_group = NULL; - } - if (menu->toplevel) - gtk_widget_destroy (menu->toplevel); + if (priv->accel_group) + g_clear_object (&priv->accel_group); - if (menu->tearoff_window) - gtk_widget_destroy (menu->tearoff_window); + if (priv->toplevel) + gtk_widget_destroy (priv->toplevel); - priv = gtk_menu_get_private (menu); + if (priv->tearoff_window) + gtk_widget_destroy (priv->tearoff_window); if (priv->heights) { @@ -1109,8 +1074,8 @@ gtk_menu_destroy (GtkWidget *widget) if (priv->position_func_data_destroy) { - priv->position_func_data_destroy (menu->position_func_data); - menu->position_func_data = NULL; + priv->position_func_data_destroy (priv->position_func_data); + priv->position_func_data = NULL; priv->position_func_data_destroy = NULL; } @@ -1119,76 +1084,71 @@ gtk_menu_destroy (GtkWidget *widget) static void menu_change_screen (GtkMenu *menu, - GdkScreen *new_screen) + GdkScreen *new_screen) { - GtkMenuPrivate *private = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; if (gtk_widget_has_screen (GTK_WIDGET (menu))) { if (new_screen == gtk_widget_get_screen (GTK_WIDGET (menu))) - return; + return; } - if (menu->torn_off) + if (priv->torn_off) { - gtk_window_set_screen (GTK_WINDOW (menu->tearoff_window), new_screen); + gtk_window_set_screen (GTK_WINDOW (priv->tearoff_window), new_screen); gtk_menu_position (menu, TRUE); } - gtk_window_set_screen (GTK_WINDOW (menu->toplevel), new_screen); - private->monitor_num = -1; + gtk_window_set_screen (GTK_WINDOW (priv->toplevel), new_screen); + priv->monitor_num = -1; } static void attach_widget_screen_changed (GtkWidget *attach_widget, - GdkScreen *previous_screen, - GtkMenu *menu) + GdkScreen *previous_screen, + GtkMenu *menu) { if (gtk_widget_has_screen (attach_widget) && !g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen")) - { - menu_change_screen (menu, gtk_widget_get_screen (attach_widget)); - } + menu_change_screen (menu, gtk_widget_get_screen (attach_widget)); } void -gtk_menu_attach_to_widget (GtkMenu *menu, - GtkWidget *attach_widget, - GtkMenuDetachFunc detacher) +gtk_menu_attach_to_widget (GtkMenu *menu, + GtkWidget *attach_widget, + GtkMenuDetachFunc detacher) { GtkMenuAttachData *data; GList *list; - + g_return_if_fail (GTK_IS_MENU (menu)); g_return_if_fail (GTK_IS_WIDGET (attach_widget)); - - /* keep this function in sync with gtk_widget_set_parent() - */ - + + /* keep this function in sync with gtk_widget_set_parent() */ data = g_object_get_data (G_OBJECT (menu), attach_data_key); if (data) { g_warning ("gtk_menu_attach_to_widget(): menu already attached to %s", - g_type_name (G_TYPE_FROM_INSTANCE (data->attach_widget))); + g_type_name (G_TYPE_FROM_INSTANCE (data->attach_widget))); return; } - + g_object_ref_sink (menu); - + data = g_slice_new (GtkMenuAttachData); data->attach_widget = attach_widget; - + g_signal_connect (attach_widget, "screen-changed", - G_CALLBACK (attach_widget_screen_changed), menu); + G_CALLBACK (attach_widget_screen_changed), menu); attach_widget_screen_changed (attach_widget, NULL, menu); - + data->detacher = detacher; g_object_set_data (G_OBJECT (menu), I_(attach_data_key), data); list = g_object_steal_data (G_OBJECT (attach_widget), ATTACHED_MENUS); if (!g_list_find (list, menu)) - { - list = g_list_prepend (list, menu); - } + list = g_list_prepend (list, menu); + g_object_set_data_full (G_OBJECT (attach_widget), I_(ATTACHED_MENUS), list, (GDestroyNotify) g_list_free); @@ -1209,9 +1169,9 @@ GtkWidget* gtk_menu_get_attach_widget (GtkMenu *menu) { GtkMenuAttachData *data; - + g_return_val_if_fail (GTK_IS_MENU (menu), NULL); - + data = g_object_get_data (G_OBJECT (menu), attach_data_key); if (data) return data->attach_widget; @@ -1223,11 +1183,10 @@ gtk_menu_detach (GtkMenu *menu) { GtkMenuAttachData *data; GList *list; - + g_return_if_fail (GTK_IS_MENU (menu)); - - /* keep this function in sync with gtk_widget_unparent() - */ + + /* keep this function in sync with gtk_widget_unparent() */ data = g_object_get_data (G_OBJECT (menu), attach_data_key); if (!data) { @@ -1235,10 +1194,10 @@ gtk_menu_detach (GtkMenu *menu) return; } g_object_set_data (G_OBJECT (menu), I_(attach_data_key), NULL); - + g_signal_handlers_disconnect_by_func (data->attach_widget, - (gpointer) attach_widget_screen_changed, - menu); + (gpointer) attach_widget_screen_changed, + menu); if (data->detacher) data->detacher (data->attach_widget, menu); @@ -1249,12 +1208,12 @@ gtk_menu_detach (GtkMenu *menu) (GDestroyNotify) g_list_free); else g_object_set_data (G_OBJECT (data->attach_widget), I_(ATTACHED_MENUS), NULL); - + if (gtk_widget_get_realized (GTK_WIDGET (menu))) gtk_widget_unrealize (GTK_WIDGET (menu)); - + g_slice_free (GtkMenuAttachData, data); - + /* Fallback title for menu comes from attach widget */ gtk_menu_update_title (menu); @@ -1263,21 +1222,17 @@ gtk_menu_detach (GtkMenu *menu) static void gtk_menu_remove (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GtkMenu *menu = GTK_MENU (container); + GtkMenuPrivate *priv = menu->priv; - g_return_if_fail (GTK_IS_MENU_ITEM (widget)); - - /* Clear out old_active_menu_item if it matches the item we are removing - */ - if (menu->old_active_menu_item == widget) - { - g_object_unref (menu->old_active_menu_item); - menu->old_active_menu_item = NULL; - } + /* Clear out old_active_menu_item if it matches the item we are removing */ + if (priv->old_active_menu_item == widget) + g_clear_object (&priv->old_active_menu_item); GTK_CONTAINER_CLASS (gtk_menu_parent_class)->remove (container, widget); + g_object_set_data (G_OBJECT (widget), I_(ATTACH_INFO_KEY), NULL); menu_queue_resize (menu); @@ -1291,10 +1246,11 @@ gtk_menu_new (void) static void gtk_menu_real_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position) + GtkWidget *child, + gint position) { GtkMenu *menu = GTK_MENU (menu_shell); + GtkMenuPrivate *priv = menu->priv; AttachInfo *ai = get_attach_info (child); ai->left_attach = -1; @@ -1303,7 +1259,7 @@ gtk_menu_real_insert (GtkMenuShell *menu_shell, ai->bottom_attach = -1; if (gtk_widget_get_realized (GTK_WIDGET (menu_shell))) - gtk_widget_set_parent_window (child, menu->bin_window); + gtk_widget_set_parent_window (child, priv->bin_window); GTK_MENU_SHELL_CLASS (gtk_menu_parent_class)->insert (menu_shell, child, position); @@ -1313,22 +1269,23 @@ gtk_menu_real_insert (GtkMenuShell *menu_shell, static void gtk_menu_tearoff_bg_copy (GtkMenu *menu) { + GtkMenuPrivate *priv = menu->priv; GtkWidget *widget; gint width, height; widget = GTK_WIDGET (menu); - if (menu->torn_off) + if (priv->torn_off) { GdkWindow *window; cairo_surface_t *surface; cairo_pattern_t *pattern; cairo_t *cr; - menu->tearoff_active = FALSE; - menu->saved_scroll_offset = menu->scroll_offset; + priv->tearoff_active = FALSE; + priv->saved_scroll_offset = priv->scroll_offset; - window = gtk_widget_get_window (menu->tearoff_window); + window = gtk_widget_get_window (priv->tearoff_window); width = gdk_window_get_width (window); height = gdk_window_get_height (window); @@ -1338,15 +1295,11 @@ gtk_menu_tearoff_bg_copy (GtkMenu *menu) height); cr = cairo_create (surface); - gdk_cairo_set_source_window (cr, - window, - 0, 0); + gdk_cairo_set_source_window (cr, window, 0, 0); cairo_paint (cr); cairo_destroy (cr); - gtk_widget_set_size_request (menu->tearoff_window, - width, - height); + gtk_widget_set_size_request (priv->tearoff_window, width, height); pattern = cairo_pattern_create_for_surface (surface); gdk_window_set_background_pattern (window, pattern); @@ -1360,7 +1313,7 @@ static gboolean popup_grab_on_window (GdkWindow *window, GdkDevice *keyboard, GdkDevice *pointer, - guint32 activate_time) + guint32 activate_time) { if (keyboard && gdk_device_grab (keyboard, window, @@ -1434,13 +1387,13 @@ gtk_menu_popup_for_device (GtkMenu *menu, guint button, guint32 activate_time) { + GtkMenuPrivate *priv = menu->priv; GtkWidget *widget; GtkWidget *xgrab_shell; GtkWidget *parent; GdkEvent *current_event; GtkMenuShell *menu_shell; gboolean grab_keyboard; - GtkMenuPrivate *priv; GtkWidget *parent_toplevel; GdkDevice *keyboard, *pointer; @@ -1467,7 +1420,6 @@ gtk_menu_popup_for_device (GtkMenu *menu, widget = GTK_WIDGET (menu); menu_shell = GTK_MENU_SHELL (menu); - priv = gtk_menu_get_private (menu); if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) { @@ -1483,7 +1435,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, menu_shell->parent_menu_shell = parent_menu_shell; priv->seen_item_enter = FALSE; - + /* Find the last viewable ancestor, and make an X grab on it */ parent = GTK_WIDGET (menu); @@ -1492,40 +1444,42 @@ gtk_menu_popup_for_device (GtkMenu *menu, { gboolean viewable = TRUE; GtkWidget *tmp = parent; - + while (tmp) - { - if (!gtk_widget_get_mapped (tmp)) - { - viewable = FALSE; - break; - } - tmp = gtk_widget_get_parent (tmp); - } - + { + if (!gtk_widget_get_mapped (tmp)) + { + viewable = FALSE; + break; + } + tmp = gtk_widget_get_parent (tmp); + } + if (viewable) - xgrab_shell = parent; - + xgrab_shell = parent; + parent = GTK_MENU_SHELL (parent)->parent_menu_shell; } - /* We want to receive events generated when we map the menu; unfortunately, - * since there is probably already an implicit grab in place from the - * button that the user used to pop up the menu, we won't receive then -- - * in particular, the EnterNotify when the menu pops up under the pointer. + /* We want to receive events generated when we map the menu; + * unfortunately, since there is probably already an implicit + * grab in place from the button that the user used to pop up + * the menu, we won't receive then -- in particular, the EnterNotify + * when the menu pops up under the pointer. * - * If we are grabbing on a parent menu shell, no problem; just grab on - * that menu shell first before popping up the window with owner_events = TRUE. + * If we are grabbing on a parent menu shell, no problem; just grab + * on that menu shell first before popping up the window with + * owner_events = TRUE. * - * When grabbing on the menu itself, things get more convuluted - we + * When grabbing on the menu itself, things get more convoluted -- * we do an explicit grab on a specially created window with - * owner_events = TRUE, which we override further down with a grab - * on the menu. (We can't grab on the menu until it is mapped; we - * probably could just leave the grab on the other window, with a - * little reorganization of the code in gtkmenu*). + * owner_events = TRUE, which we override further down with a + * grab on the menu. (We can't grab on the menu until it is mapped; + * we probably could just leave the grab on the other window, + * with a little reorganization of the code in gtkmenu*). */ grab_keyboard = gtk_menu_shell_get_take_focus (menu_shell); - gtk_window_set_accept_focus (GTK_WINDOW (menu->toplevel), grab_keyboard); + gtk_window_set_accept_focus (GTK_WINDOW (priv->toplevel), grab_keyboard); if (!grab_keyboard) keyboard = NULL; @@ -1553,9 +1507,9 @@ gtk_menu_popup_for_device (GtkMenu *menu, if (!GTK_MENU_SHELL (xgrab_shell)->have_xgrab) { - /* We failed to make our pointer/keyboard grab. Rather than leaving the user - * with a stuck up window, we just abort here. Presumably the user will - * try again. + /* We failed to make our pointer/keyboard grab. + * Rather than leaving the user with a stuck up window, + * we just abort here. Presumably the user will try again. */ menu_shell->parent_menu_shell = NULL; menu_grab_transfer_window_destroy (menu); @@ -1568,52 +1522,52 @@ gtk_menu_popup_for_device (GtkMenu *menu, /* If we are popping up the menu from something other than, a button * press then, as a heuristic, we ignore enter events for the menu - * until we get a MOTION_NOTIFY. + * until we get a MOTION_NOTIFY. */ current_event = gtk_get_current_event (); if (current_event) { if ((current_event->type != GDK_BUTTON_PRESS) && - (current_event->type != GDK_ENTER_NOTIFY)) - menu_shell->ignore_enter = TRUE; + (current_event->type != GDK_ENTER_NOTIFY)) + menu_shell->ignore_enter = TRUE; gdk_event_free (current_event); } else menu_shell->ignore_enter = TRUE; - if (menu->torn_off) + if (priv->torn_off) { gtk_menu_tearoff_bg_copy (menu); - gtk_menu_reparent (menu, menu->toplevel, FALSE); + gtk_menu_reparent (menu, priv->toplevel, FALSE); } parent_toplevel = NULL; - if (parent_menu_shell) + if (parent_menu_shell) parent_toplevel = gtk_widget_get_toplevel (parent_menu_shell); else if (!g_object_get_data (G_OBJECT (menu), "gtk-menu-explicit-screen")) { GtkWidget *attach_widget = gtk_menu_get_attach_widget (menu); if (attach_widget) - parent_toplevel = gtk_widget_get_toplevel (attach_widget); + parent_toplevel = gtk_widget_get_toplevel (attach_widget); } - /* Set transient for to get the right window group and parent relationship */ + /* Set transient for to get the right window group and parent */ if (GTK_IS_WINDOW (parent_toplevel)) - gtk_window_set_transient_for (GTK_WINDOW (menu->toplevel), - GTK_WINDOW (parent_toplevel)); - - menu->parent_menu_item = parent_menu_item; - menu->position_func = func; - menu->position_func_data = data; + gtk_window_set_transient_for (GTK_WINDOW (priv->toplevel), + GTK_WINDOW (parent_toplevel)); + + priv->parent_menu_item = parent_menu_item; + priv->position_func = func; + priv->position_func_data = data; priv->position_func_data_destroy = destroy; menu_shell->activate_time = activate_time; - /* We need to show the menu here rather in the init function because - * code expects to be able to tell if the menu is onscreen by - * looking at the gtk_widget_get_visible (menu) + /* We need to show the menu here rather in the init function + * because code expects to be able to tell if the menu is onscreen + * by looking at gtk_widget_get_visible (menu) */ gtk_widget_show (GTK_WIDGET (menu)); @@ -1628,20 +1582,22 @@ gtk_menu_popup_for_device (GtkMenu *menu, GtkRequisition tmp_request; GtkAllocation tmp_allocation = { 0, }; - /* Instead of trusting the menu position function to queue a resize when the - * menu goes out of bounds, invalidate the cached size here. */ + /* Instead of trusting the menu position function to queue a + * resize when the menu goes out of bounds, invalidate the cached + * size here. + */ gtk_widget_queue_resize (GTK_WIDGET (menu)); - gtk_widget_get_preferred_size (menu->toplevel, &tmp_request, NULL); - + gtk_widget_get_preferred_size (priv->toplevel, &tmp_request, NULL); + tmp_allocation.width = tmp_request.width; tmp_allocation.height = tmp_request.height; - gtk_widget_size_allocate (menu->toplevel, &tmp_allocation); - + gtk_widget_size_allocate (priv->toplevel, &tmp_allocation); + gtk_widget_realize (GTK_WIDGET (menu)); } - gtk_menu_scroll_to (menu, menu->scroll_offset); + gtk_menu_scroll_to (menu, priv->scroll_offset); /* if no item is selected, select the first one */ if (!menu_shell->active_menu_item) @@ -1656,10 +1612,8 @@ gtk_menu_popup_for_device (GtkMenu *menu, gtk_menu_shell_select_first (menu_shell, TRUE); } - /* Once everything is set up correctly, map the toplevel window on - the screen. - */ - gtk_widget_show (menu->toplevel); + /* Once everything is set up correctly, map the toplevel */ + gtk_widget_show (priv->toplevel); if (xgrab_shell == widget) popup_grab_on_window (gtk_widget_get_window (widget), keyboard, pointer, activate_time); /* Should always succeed */ @@ -1682,39 +1636,44 @@ gtk_menu_popup_for_device (GtkMenu *menu, /** * gtk_menu_popup: * @menu: a #GtkMenu. - * @parent_menu_shell: (allow-none): the menu shell containing the triggering menu item, or %NULL - * @parent_menu_item: (allow-none): the menu item whose activation triggered the popup, or %NULL - * @func: (allow-none): a user supplied function used to position the menu, or %NULL + * @parent_menu_shell: (allow-none): the menu shell containing the + * triggering menu item, or %NULL + * @parent_menu_item: (allow-none): the menu item whose activation + * triggered the popup, or %NULL + * @func: (allow-none): a user supplied function used to position + * the menu, or %NULL * @data: (allow-none): user supplied data to be passed to @func. * @button: the mouse button which was pressed to initiate the event. * @activate_time: the time at which the activation event occurred. * - * Displays a menu and makes it available for selection. Applications can use - * this function to display context-sensitive menus, and will typically supply - * %NULL for the @parent_menu_shell, @parent_menu_item, @func and @data - * parameters. The default menu positioning function will position the menu - * at the current mouse cursor position. + * Displays a menu and makes it available for selection. + * + * Applications can use this function to display context-sensitive + * menus, and will typically supply %NULL for the @parent_menu_shell, + * @parent_menu_item, @func and @data parameters. The default menu + * positioning function will position the menu at the current mouse + * cursor position. * * The @button parameter should be the mouse button pressed to initiate - * the menu popup. If the menu popup was initiated by something other than - * a mouse button press, such as a mouse button release or a keypress, + * the menu popup. If the menu popup was initiated by something other + * than a mouse button press, such as a mouse button release or a keypress, * @button should be 0. * - * The @activate_time parameter is used to conflict-resolve initiation of - * concurrent requests for mouse/keyboard grab requests. To function - * properly, this needs to be the time stamp of the user event (such as + * The @activate_time parameter is used to conflict-resolve initiation + * of concurrent requests for mouse/keyboard grab requests. To function + * properly, this needs to be the timestamp of the user event (such as * a mouse click or key press) that caused the initiation of the popup. * Only if no such event is available, gtk_get_current_event_time() can * be used instead. */ void -gtk_menu_popup (GtkMenu *menu, - GtkWidget *parent_menu_shell, - GtkWidget *parent_menu_item, - GtkMenuPositionFunc func, - gpointer data, - guint button, - guint32 activate_time) +gtk_menu_popup (GtkMenu *menu, + GtkWidget *parent_menu_shell, + GtkWidget *parent_menu_item, + GtkMenuPositionFunc func, + gpointer data, + guint button, + guint32 activate_time) { g_return_if_fail (GTK_IS_MENU (menu)); @@ -1729,59 +1688,59 @@ gtk_menu_popup (GtkMenu *menu, void gtk_menu_popdown (GtkMenu *menu) { - GtkMenuPrivate *private; + GtkMenuPrivate *priv; GtkMenuShell *menu_shell; GdkDevice *pointer; g_return_if_fail (GTK_IS_MENU (menu)); - + menu_shell = GTK_MENU_SHELL (menu); - private = gtk_menu_get_private (menu); + priv = menu->priv; menu_shell->parent_menu_shell = NULL; menu_shell->active = FALSE; menu_shell->ignore_enter = FALSE; - private->have_position = FALSE; + priv->have_position = FALSE; gtk_menu_stop_scrolling (menu); - gtk_menu_stop_navigating_submenu (menu); - + if (menu_shell->active_menu_item) { - if (menu->old_active_menu_item) - g_object_unref (menu->old_active_menu_item); - menu->old_active_menu_item = menu_shell->active_menu_item; - g_object_ref (menu->old_active_menu_item); + if (priv->old_active_menu_item) + g_object_unref (priv->old_active_menu_item); + priv->old_active_menu_item = menu_shell->active_menu_item; + g_object_ref (priv->old_active_menu_item); } gtk_menu_shell_deselect (menu_shell); - - /* The X Grab, if present, will automatically be removed when we hide - * the window */ - if (menu->toplevel) + + /* The X Grab, if present, will automatically be removed + * when we hide the window + */ + if (priv->toplevel) { - gtk_widget_hide (menu->toplevel); - gtk_window_set_transient_for (GTK_WINDOW (menu->toplevel), NULL); + gtk_widget_hide (priv->toplevel); + gtk_window_set_transient_for (GTK_WINDOW (priv->toplevel), NULL); } pointer = _gtk_menu_shell_get_grab_device (menu_shell); - if (menu->torn_off) + if (priv->torn_off) { - gtk_widget_set_size_request (menu->tearoff_window, -1, -1); - - if (gtk_bin_get_child (GTK_BIN (menu->toplevel))) - { - gtk_menu_reparent (menu, menu->tearoff_hbox, TRUE); - } + gtk_widget_set_size_request (priv->tearoff_window, -1, -1); + + if (gtk_bin_get_child (GTK_BIN (priv->toplevel))) + { + gtk_menu_reparent (menu, priv->tearoff_hbox, TRUE); + } else - { + { /* We popped up the menu from the tearoff, so we need to - * release the grab - we aren't actually hiding the menu. - */ - if (menu_shell->have_xgrab && pointer) + * release the grab - we aren't actually hiding the menu. + */ + if (menu_shell->have_xgrab && pointer) { GdkDevice *keyboard; @@ -1791,15 +1750,15 @@ gtk_menu_popdown (GtkMenu *menu) if (keyboard) gdk_device_ungrab (keyboard, GDK_CURRENT_TIME); } - } + } /* gtk_menu_popdown is called each time a menu item is selected from * a torn off menu. Only scroll back to the saved position if the * non-tearoff menu was popped down. */ - if (!menu->tearoff_active) - gtk_menu_scroll_to (menu, menu->saved_scroll_offset); - menu->tearoff_active = TRUE; + if (!priv->tearoff_active) + gtk_menu_scroll_to (menu, priv->saved_scroll_offset); + priv->tearoff_active = TRUE; } else gtk_widget_hide (GTK_WIDGET (menu)); @@ -1817,75 +1776,77 @@ gtk_menu_popdown (GtkMenu *menu) GtkWidget* gtk_menu_get_active (GtkMenu *menu) { + GtkMenuPrivate *priv = menu->priv; GtkWidget *child; GList *children; - + g_return_val_if_fail (GTK_IS_MENU (menu), NULL); - - if (!menu->old_active_menu_item) + + if (!priv->old_active_menu_item) { child = NULL; children = GTK_MENU_SHELL (menu)->children; - + while (children) - { - child = children->data; - children = children->next; - - if (gtk_bin_get_child (GTK_BIN (child))) - break; - child = NULL; - } - - menu->old_active_menu_item = child; - if (menu->old_active_menu_item) - g_object_ref (menu->old_active_menu_item); + { + child = children->data; + children = children->next; + + if (gtk_bin_get_child (GTK_BIN (child))) + break; + child = NULL; + } + + priv->old_active_menu_item = child; + if (priv->old_active_menu_item) + g_object_ref (priv->old_active_menu_item); } - - return menu->old_active_menu_item; + + return priv->old_active_menu_item; } void gtk_menu_set_active (GtkMenu *menu, - guint index) + guint index) { + GtkMenuPrivate *priv = menu->priv; GtkWidget *child; GList *tmp_list; - + g_return_if_fail (GTK_IS_MENU (menu)); - + tmp_list = g_list_nth (GTK_MENU_SHELL (menu)->children, index); if (tmp_list) { child = tmp_list->data; if (gtk_bin_get_child (GTK_BIN (child))) - { - if (menu->old_active_menu_item) - g_object_unref (menu->old_active_menu_item); - menu->old_active_menu_item = child; - g_object_ref (menu->old_active_menu_item); - } + { + if (priv->old_active_menu_item) + g_object_unref (priv->old_active_menu_item); + priv->old_active_menu_item = child; + g_object_ref (priv->old_active_menu_item); + } } } - /** * gtk_menu_set_accel_group: * @accel_group: (allow-none): */ void -gtk_menu_set_accel_group (GtkMenu *menu, - GtkAccelGroup *accel_group) +gtk_menu_set_accel_group (GtkMenu *menu, + GtkAccelGroup *accel_group) { + GtkMenuPrivate *priv = menu->priv; g_return_if_fail (GTK_IS_MENU (menu)); - - if (menu->accel_group != accel_group) + + if (priv->accel_group != accel_group) { - if (menu->accel_group) - g_object_unref (menu->accel_group); - menu->accel_group = accel_group; - if (menu->accel_group) - g_object_ref (menu->accel_group); + if (priv->accel_group) + g_object_unref (priv->accel_group); + priv->accel_group = accel_group; + if (priv->accel_group) + g_object_ref (priv->accel_group); _gtk_menu_refresh_accel_paths (menu, TRUE); } } @@ -1895,7 +1856,7 @@ gtk_menu_get_accel_group (GtkMenu *menu) { g_return_val_if_fail (GTK_IS_MENU (menu), NULL); - return menu->accel_group; + return menu->priv->accel_group; } static gboolean @@ -1927,31 +1888,35 @@ gtk_menu_real_can_activate_accel (GtkWidget *widget, * inconvenience of having to call gtk_menu_item_set_accel_path() on * each menu item that should support runtime user changable accelerators. * Instead, by just calling gtk_menu_set_accel_path() on their parent, - * each menu item of this menu, that contains a label describing its purpose, - * automatically gets an accel path assigned. For example, a menu containing - * menu items "New" and "Exit", will, after + * each menu item of this menu, that contains a label describing its + * purpose, automatically gets an accel path assigned. + * + * For example, a menu containing menu items "New" and "Exit", will, after * gtk_menu_set_accel_path (menu, "<Gnumeric-Sheet>/File"); * has been called, assign its items the accel paths: * "<Gnumeric-Sheet>/File/New" and "<Gnumeric-Sheet>/File/Exit". + * * Assigning accel paths to menu items then enables the user to change * their accelerators at runtime. More details about accelerator paths * and their default setups can be found at gtk_accel_map_add_entry(). - * - * Note that @accel_path string will be stored in a #GQuark. Therefore, if you - * pass a static string, you can save some memory by interning it first with - * g_intern_static_string(). + * + * Note that @accel_path string will be stored in a #GQuark. Therefore, + * if you pass a static string, you can save some memory by interning + * it first with g_intern_static_string(). */ void gtk_menu_set_accel_path (GtkMenu *menu, - const gchar *accel_path) + const gchar *accel_path) { + GtkMenuPrivate *priv = menu->priv; g_return_if_fail (GTK_IS_MENU (menu)); + if (accel_path) g_return_if_fail (accel_path[0] == '<' && strchr (accel_path, '/')); /* simplistic check */ /* FIXME: accel_path should be defined as const gchar* */ - menu->accel_path = (gchar*)g_intern_string (accel_path); - if (menu->accel_path) + priv->accel_path = (gchar*)g_intern_string (accel_path); + if (priv->accel_path) _gtk_menu_refresh_accel_paths (menu, FALSE); } @@ -1970,7 +1935,7 @@ gtk_menu_get_accel_path (GtkMenu *menu) { g_return_val_if_fail (GTK_IS_MENU (menu), NULL); - return menu->accel_path; + return menu->priv->accel_path; } typedef struct { @@ -1980,32 +1945,37 @@ typedef struct { static void refresh_accel_paths_foreach (GtkWidget *widget, - gpointer data) + gpointer data) { + GtkMenuPrivate *priv; AccelPropagation *prop = data; - if (GTK_IS_MENU_ITEM (widget)) /* should always be true */ - _gtk_menu_item_refresh_accel_path (GTK_MENU_ITEM (widget), - prop->menu->accel_path, - prop->menu->accel_group, - prop->group_changed); + if (GTK_IS_MENU_ITEM (widget)) /* should always be true */ + { + priv = prop->menu->priv; + _gtk_menu_item_refresh_accel_path (GTK_MENU_ITEM (widget), + priv->accel_path, + priv->accel_group, + prop->group_changed); + } } static void _gtk_menu_refresh_accel_paths (GtkMenu *menu, - gboolean group_changed) + gboolean group_changed) { + GtkMenuPrivate *priv = menu->priv; g_return_if_fail (GTK_IS_MENU (menu)); - if (menu->accel_path && menu->accel_group) + if (priv->accel_path && priv->accel_group) { AccelPropagation prop; prop.menu = menu; prop.group_changed = group_changed; gtk_container_foreach (GTK_CONTAINER (menu), - refresh_accel_paths_foreach, - &prop); + refresh_accel_paths_foreach, + &prop); } } @@ -2014,75 +1984,75 @@ gtk_menu_reposition (GtkMenu *menu) { g_return_if_fail (GTK_IS_MENU (menu)); - if (!menu->torn_off && gtk_widget_is_drawable (GTK_WIDGET (menu))) + if (!menu->priv->torn_off && gtk_widget_is_drawable (GTK_WIDGET (menu))) gtk_menu_position (menu, FALSE); } static void gtk_menu_scrollbar_changed (GtkAdjustment *adjustment, - GtkMenu *menu) + GtkMenu *menu) { g_return_if_fail (GTK_IS_MENU (menu)); - if (adjustment->value != menu->scroll_offset) + if (adjustment->value != menu->priv->scroll_offset) gtk_menu_scroll_to (menu, adjustment->value); } static void gtk_menu_set_tearoff_hints (GtkMenu *menu, - gint width) + gint width) { + GtkMenuPrivate *priv = menu->priv; GdkGeometry geometry_hints; - GtkMenuPrivate *priv; - if (!menu->tearoff_window) + if (!priv->tearoff_window) return; - priv = gtk_menu_get_private (menu); - - if (gtk_widget_get_visible (menu->tearoff_scrollbar)) + if (gtk_widget_get_visible (priv->tearoff_scrollbar)) { GtkRequisition requisition; - gtk_widget_get_preferred_size (menu->tearoff_scrollbar, + gtk_widget_get_preferred_size (priv->tearoff_scrollbar, &requisition, NULL); width += requisition.width; } geometry_hints.min_width = width; geometry_hints.max_width = width; - + geometry_hints.min_height = 0; geometry_hints.max_height = priv->requested_height; - gtk_window_set_geometry_hints (GTK_WINDOW (menu->tearoff_window), - NULL, - &geometry_hints, - GDK_HINT_MAX_SIZE|GDK_HINT_MIN_SIZE); + gtk_window_set_geometry_hints (GTK_WINDOW (priv->tearoff_window), + NULL, + &geometry_hints, + GDK_HINT_MAX_SIZE|GDK_HINT_MIN_SIZE); } static void gtk_menu_update_title (GtkMenu *menu) { - if (menu->tearoff_window) + GtkMenuPrivate *priv = menu->priv; + + if (priv->tearoff_window) { const gchar *title; GtkWidget *attach_widget; title = gtk_menu_get_title (menu); if (!title) - { - attach_widget = gtk_menu_get_attach_widget (menu); - if (GTK_IS_MENU_ITEM (attach_widget)) - { - GtkWidget *child = gtk_bin_get_child (GTK_BIN (attach_widget)); - if (GTK_IS_LABEL (child)) - title = gtk_label_get_text (GTK_LABEL (child)); - } - } - + { + attach_widget = gtk_menu_get_attach_widget (menu); + if (GTK_IS_MENU_ITEM (attach_widget)) + { + GtkWidget *child = gtk_bin_get_child (GTK_BIN (attach_widget)); + if (GTK_IS_LABEL (child)) + title = gtk_label_get_text (GTK_LABEL (child)); + } + } + if (title) - gtk_window_set_title (GTK_WINDOW (menu->tearoff_window), title); + gtk_window_set_title (GTK_WINDOW (priv->tearoff_window), title); } } @@ -2101,8 +2071,8 @@ gtk_menu_get_toplevel (GtkWidget *menu) else if (GTK_IS_WIDGET (attach)) { toplevel = gtk_widget_get_toplevel (attach); - if (gtk_widget_is_toplevel (toplevel)) - return toplevel; + if (gtk_widget_is_toplevel (toplevel)) + return toplevel; } return NULL; @@ -2110,114 +2080,111 @@ gtk_menu_get_toplevel (GtkWidget *menu) static void tearoff_window_destroyed (GtkWidget *widget, - GtkMenu *menu) + GtkMenu *menu) { gtk_menu_set_tearoff_state (menu, FALSE); } -void +void gtk_menu_set_tearoff_state (GtkMenu *menu, - gboolean torn_off) + gboolean torn_off) { + GtkMenuPrivate *priv = menu->priv; gint height; - GtkMenuPrivate *priv; - + g_return_if_fail (GTK_IS_MENU (menu)); - priv = gtk_menu_get_private (menu); - - if (menu->torn_off != torn_off) + if (priv->torn_off != torn_off) { - menu->torn_off = torn_off; - menu->tearoff_active = torn_off; - - if (menu->torn_off) - { - if (gtk_widget_get_visible (GTK_WIDGET (menu))) - gtk_menu_popdown (menu); + priv->torn_off = torn_off; + priv->tearoff_active = torn_off; - if (!menu->tearoff_window) - { - GtkWidget *toplevel; + if (priv->torn_off) + { + if (gtk_widget_get_visible (GTK_WIDGET (menu))) + gtk_menu_popdown (menu); - menu->tearoff_window = g_object_new (GTK_TYPE_WINDOW, - "type", GTK_WINDOW_TOPLEVEL, - "screen", gtk_widget_get_screen (menu->toplevel), - "app-paintable", TRUE, - NULL); + if (!priv->tearoff_window) + { + GtkWidget *toplevel; - gtk_window_set_type_hint (GTK_WINDOW (menu->tearoff_window), - GDK_WINDOW_TYPE_HINT_MENU); - gtk_window_set_mnemonic_modifier (GTK_WINDOW (menu->tearoff_window), 0); - g_signal_connect (menu->tearoff_window, "destroy", - G_CALLBACK (tearoff_window_destroyed), menu); - g_signal_connect (menu->tearoff_window, "event", - G_CALLBACK (gtk_menu_window_event), menu); + priv->tearoff_window = g_object_new (GTK_TYPE_WINDOW, + "type", GTK_WINDOW_TOPLEVEL, + "screen", gtk_widget_get_screen (priv->toplevel), + "app-paintable", TRUE, + NULL); - gtk_menu_update_title (menu); + gtk_window_set_type_hint (GTK_WINDOW (priv->tearoff_window), + GDK_WINDOW_TYPE_HINT_MENU); + gtk_window_set_mnemonic_modifier (GTK_WINDOW (priv->tearoff_window), 0); + g_signal_connect (priv->tearoff_window, "destroy", + G_CALLBACK (tearoff_window_destroyed), menu); + g_signal_connect (priv->tearoff_window, "event", + G_CALLBACK (gtk_menu_window_event), menu); - gtk_widget_realize (menu->tearoff_window); + gtk_menu_update_title (menu); - toplevel = gtk_menu_get_toplevel (GTK_WIDGET (menu)); - if (toplevel != NULL) - gtk_window_set_transient_for (GTK_WINDOW (menu->tearoff_window), - GTK_WINDOW (toplevel)); + gtk_widget_realize (priv->tearoff_window); - menu->tearoff_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - gtk_container_add (GTK_CONTAINER (menu->tearoff_window), menu->tearoff_hbox); + toplevel = gtk_menu_get_toplevel (GTK_WIDGET (menu)); + if (toplevel != NULL) + gtk_window_set_transient_for (GTK_WINDOW (priv->tearoff_window), + GTK_WINDOW (toplevel)); + + priv->tearoff_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + gtk_container_add (GTK_CONTAINER (priv->tearoff_window), + priv->tearoff_hbox); height = gdk_window_get_height (gtk_widget_get_window (GTK_WIDGET (menu))); - menu->tearoff_adjustment = gtk_adjustment_new (0, + priv->tearoff_adjustment = gtk_adjustment_new (0, 0, priv->requested_height, MENU_SCROLL_STEP2, height/2, height); - g_object_connect (menu->tearoff_adjustment, - "signal::value-changed", gtk_menu_scrollbar_changed, menu, - NULL); - menu->tearoff_scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, menu->tearoff_adjustment); + g_object_connect (priv->tearoff_adjustment, + "signal::value-changed", gtk_menu_scrollbar_changed, menu, + NULL); + priv->tearoff_scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, priv->tearoff_adjustment); - gtk_box_pack_end (GTK_BOX (menu->tearoff_hbox), - menu->tearoff_scrollbar, - FALSE, FALSE, 0); - - if (menu->tearoff_adjustment->upper > height) - gtk_widget_show (menu->tearoff_scrollbar); - - gtk_widget_show (menu->tearoff_hbox); - } - - gtk_menu_reparent (menu, menu->tearoff_hbox, FALSE); + gtk_box_pack_end (GTK_BOX (priv->tearoff_hbox), + priv->tearoff_scrollbar, + FALSE, FALSE, 0); - /* Update menu->requisition - */ - gtk_widget_get_preferred_size (GTK_WIDGET (menu), - NULL, NULL); + if (priv->tearoff_adjustment->upper > height) + gtk_widget_show (priv->tearoff_scrollbar); - gtk_menu_set_tearoff_hints (menu, gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET (menu)))); - - gtk_widget_realize (menu->tearoff_window); - gtk_menu_position (menu, TRUE); - - gtk_widget_show (GTK_WIDGET (menu)); - gtk_widget_show (menu->tearoff_window); + gtk_widget_show (priv->tearoff_hbox); + } - gtk_menu_scroll_to (menu, 0); + gtk_menu_reparent (menu, priv->tearoff_hbox, FALSE); - } + /* Update menu->requisition */ + gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, NULL); + + gtk_menu_set_tearoff_hints (menu, gdk_window_get_width (gtk_widget_get_window (GTK_WIDGET (menu)))); + + gtk_widget_realize (priv->tearoff_window); + gtk_menu_position (menu, TRUE); + + gtk_widget_show (GTK_WIDGET (menu)); + gtk_widget_show (priv->tearoff_window); + + gtk_menu_scroll_to (menu, 0); + + } else - { - gtk_widget_hide (GTK_WIDGET (menu)); - gtk_widget_hide (menu->tearoff_window); - if (GTK_IS_CONTAINER (menu->toplevel)) - gtk_menu_reparent (menu, menu->toplevel, FALSE); - gtk_widget_destroy (menu->tearoff_window); - - menu->tearoff_window = NULL; - menu->tearoff_hbox = NULL; - menu->tearoff_scrollbar = NULL; - menu->tearoff_adjustment = NULL; - } + { + gtk_widget_hide (GTK_WIDGET (menu)); + gtk_widget_hide (priv->tearoff_window); + if (GTK_IS_CONTAINER (priv->toplevel)) + gtk_menu_reparent (menu, priv->toplevel, FALSE); + gtk_widget_destroy (priv->tearoff_window); + + priv->tearoff_window = NULL; + priv->tearoff_hbox = NULL; + priv->tearoff_scrollbar = NULL; + priv->tearoff_adjustment = NULL; + } g_object_notify (G_OBJECT (menu), "tearoff-state"); } @@ -2227,44 +2194,44 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, * gtk_menu_get_tearoff_state: * @menu: a #GtkMenu * - * Returns whether the menu is torn off. See - * gtk_menu_set_tearoff_state (). + * Returns whether the menu is torn off. + * See gtk_menu_set_tearoff_state(). * * Return value: %TRUE if the menu is currently torn off. - **/ + */ gboolean gtk_menu_get_tearoff_state (GtkMenu *menu) { g_return_val_if_fail (GTK_IS_MENU (menu), FALSE); - return menu->torn_off; + return menu->priv->torn_off; } /** * gtk_menu_set_title: * @menu: a #GtkMenu - * @title: a string containing the title for the menu. - * - * Sets the title string for the menu. The title is displayed when the menu - * is shown as a tearoff menu. If @title is %NULL, the menu will see if it is - * attached to a parent menu item, and if so it will try to use the same text as - * that menu item's label. - **/ + * @title: a string containing the title for the menu + * + * Sets the title string for the menu. + * + * The title is displayed when the menu is shown as a tearoff + * menu. If @title is %NULL, the menu will see if it is attached + * to a parent menu item, and if so it will try to use the same + * text as that menu item's label. + */ void gtk_menu_set_title (GtkMenu *menu, - const gchar *title) + const gchar *title) { - GtkMenuPrivate *priv; + GtkMenuPrivate *priv = menu->priv; char *old_title; g_return_if_fail (GTK_IS_MENU (menu)); - priv = gtk_menu_get_private (menu); - old_title = priv->title; priv->title = g_strdup (title); g_free (old_title); - + gtk_menu_update_title (menu); g_object_notify (G_OBJECT (menu), "tearoff-title"); } @@ -2275,20 +2242,16 @@ gtk_menu_set_title (GtkMenu *menu, * * Returns the title of the menu. See gtk_menu_set_title(). * - * Return value: the title of the menu, or %NULL if the menu has no - * title set on it. This string is owned by the widget and should - * not be modified or freed. + * Return value: the title of the menu, or %NULL if the menu + * has no title set on it. This string is owned by GTK+ + * and should not be modified or freed. **/ G_CONST_RETURN gchar * gtk_menu_get_title (GtkMenu *menu) { - GtkMenuPrivate *priv; - g_return_val_if_fail (GTK_IS_MENU (menu), NULL); - priv = gtk_menu_get_private (menu); - - return priv->title; + return menu->priv->title; } void @@ -2304,12 +2267,12 @@ gtk_menu_reorder_child (GtkMenu *menu, menu_shell = GTK_MENU_SHELL (menu); if (g_list_find (menu_shell->children, child)) - { + { menu_shell->children = g_list_remove (menu_shell->children, child); menu_shell->children = g_list_insert (menu_shell->children, child, position); menu_queue_resize (menu); - } + } } static void @@ -2318,12 +2281,13 @@ gtk_menu_style_updated (GtkWidget *widget) if (gtk_widget_get_realized (widget)) { GtkMenu *menu = GTK_MENU (widget); + GtkMenuPrivate *priv = menu->priv; GtkStyleContext *context; context = gtk_widget_get_style_context (widget); - gtk_style_context_set_background (context, menu->bin_window); - gtk_style_context_set_background (context, menu->view_window); + gtk_style_context_set_background (context, priv->bin_window); + gtk_style_context_set_background (context, priv->view_window); gtk_style_context_set_background (context, gtk_widget_get_window (widget)); } } @@ -2332,6 +2296,7 @@ static void get_arrows_border (GtkMenu *menu, GtkBorder *border) { + GtkMenuPrivate *priv = menu->priv; guint scroll_arrow_height; GtkArrowPlacement arrow_placement; @@ -2343,20 +2308,20 @@ get_arrows_border (GtkMenu *menu, switch (arrow_placement) { case GTK_ARROWS_BOTH: - border->top = menu->upper_arrow_visible ? scroll_arrow_height : 0; - border->bottom = menu->lower_arrow_visible ? scroll_arrow_height : 0; + border->top = priv->upper_arrow_visible ? scroll_arrow_height : 0; + border->bottom = priv->lower_arrow_visible ? scroll_arrow_height : 0; break; case GTK_ARROWS_START: - border->top = (menu->upper_arrow_visible || - menu->lower_arrow_visible) ? scroll_arrow_height : 0; + border->top = (priv->upper_arrow_visible || + priv->lower_arrow_visible) ? scroll_arrow_height : 0; border->bottom = 0; break; case GTK_ARROWS_END: border->top = 0; - border->bottom = (menu->upper_arrow_visible || - menu->lower_arrow_visible) ? scroll_arrow_height : 0; + border->bottom = (priv->upper_arrow_visible || + priv->lower_arrow_visible) ? scroll_arrow_height : 0; break; } @@ -2385,14 +2350,14 @@ get_menu_border (GtkWidget *widget, static void gtk_menu_realize (GtkWidget *widget) { + GtkMenu *menu = GTK_MENU (widget); + GtkMenuPrivate *priv = menu->priv; GtkAllocation allocation; GtkStyleContext *context; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; gint border_width; - GtkMenu *menu; - GtkMenuPrivate *priv; GtkWidget *child; GList *children; guint vertical_padding; @@ -2401,9 +2366,6 @@ gtk_menu_realize (GtkWidget *widget) g_return_if_fail (GTK_IS_MENU (widget)); - menu = GTK_MENU (widget); - priv = gtk_menu_get_private (menu); - gtk_widget_set_realized (widget, TRUE); gtk_widget_get_allocation (widget, &allocation); @@ -2417,7 +2379,7 @@ gtk_menu_realize (GtkWidget *widget) attributes.visual = gtk_widget_get_visual (widget); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | GDK_KEY_PRESS_MASK | - GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK ); + GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK ); attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; @@ -2431,9 +2393,9 @@ gtk_menu_realize (GtkWidget *widget) context = gtk_widget_get_style_context (widget); gtk_widget_style_get (GTK_WIDGET (menu), - "vertical-padding", &vertical_padding, + "vertical-padding", &vertical_padding, "horizontal-padding", &horizontal_padding, - NULL); + NULL); gtk_widget_get_allocation (widget, &allocation); @@ -2452,9 +2414,9 @@ gtk_menu_realize (GtkWidget *widget) attributes.width = MAX (1, attributes.width); attributes.height = MAX (1, attributes.height); - menu->view_window = gdk_window_new (window, + priv->view_window = gdk_window_new (window, &attributes, attributes_mask); - gdk_window_set_user_data (menu->view_window, menu); + gdk_window_set_user_data (priv->view_window, menu); gtk_widget_get_allocation (widget, &allocation); @@ -2468,42 +2430,41 @@ gtk_menu_realize (GtkWidget *widget) attributes.width = MAX (1, attributes.width); attributes.height = MAX (1, attributes.height); - menu->bin_window = gdk_window_new (menu->view_window, + priv->bin_window = gdk_window_new (priv->view_window, &attributes, attributes_mask); - gdk_window_set_user_data (menu->bin_window, menu); + gdk_window_set_user_data (priv->bin_window, menu); children = GTK_MENU_SHELL (menu)->children; while (children) { child = children->data; children = children->next; - - gtk_widget_set_parent_window (child, menu->bin_window); + + gtk_widget_set_parent_window (child, priv->bin_window); } - gtk_style_context_set_background (context, menu->bin_window); - gtk_style_context_set_background (context, menu->view_window); + gtk_style_context_set_background (context, priv->bin_window); + gtk_style_context_set_background (context, priv->view_window); gtk_style_context_set_background (context, window); if (GTK_MENU_SHELL (widget)->active_menu_item) gtk_menu_scroll_item_visible (GTK_MENU_SHELL (widget), - GTK_MENU_SHELL (widget)->active_menu_item); + GTK_MENU_SHELL (widget)->active_menu_item); - gdk_window_show (menu->bin_window); - gdk_window_show (menu->view_window); + gdk_window_show (priv->bin_window); + gdk_window_show (priv->view_window); } -static gboolean +static gboolean gtk_menu_focus (GtkWidget *widget, GtkDirectionType direction) { - /* - * A menu or its menu items cannot have focus - */ + /* A menu or its menu items cannot have focus */ return FALSE; } -/* See notes in gtk_menu_popup() for information about the "grab transfer window" +/* See notes in gtk_menu_popup() for information + * about the "grab transfer window" */ static GdkWindow * menu_grab_transfer_window_get (GtkMenu *menu) @@ -2513,7 +2474,7 @@ menu_grab_transfer_window_get (GtkMenu *menu) { GdkWindowAttr attributes; gint attributes_mask; - + attributes.x = -100; attributes.y = -100; attributes.width = 10; @@ -2524,9 +2485,9 @@ menu_grab_transfer_window_get (GtkMenu *menu) attributes.event_mask = 0; attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_NOREDIR; - + window = gdk_window_new (gtk_widget_get_root_window (GTK_WIDGET (menu)), - &attributes, attributes_mask); + &attributes, attributes_mask); gdk_window_set_user_data (window, menu); gdk_window_show (window); @@ -2553,29 +2514,29 @@ static void gtk_menu_unrealize (GtkWidget *widget) { GtkMenu *menu = GTK_MENU (widget); + GtkMenuPrivate *priv = menu->priv; menu_grab_transfer_window_destroy (menu); - gdk_window_set_user_data (menu->view_window, NULL); - gdk_window_destroy (menu->view_window); - menu->view_window = NULL; + gdk_window_set_user_data (priv->view_window, NULL); + gdk_window_destroy (priv->view_window); + priv->view_window = NULL; - gdk_window_set_user_data (menu->bin_window, NULL); - gdk_window_destroy (menu->bin_window); - menu->bin_window = NULL; + gdk_window_set_user_data (priv->bin_window, NULL); + gdk_window_destroy (priv->bin_window); + priv->bin_window = NULL; GTK_WIDGET_CLASS (gtk_menu_parent_class)->unrealize (widget); } - static gint calculate_line_heights (GtkMenu *menu, - gint for_width, - guint **ret_min_heights, - guint **ret_nat_heights) + gint for_width, + guint **ret_min_heights, + guint **ret_nat_heights) { - GtkMenuShell *menu_shell; GtkMenuPrivate *priv; + GtkMenuShell *menu_shell; GtkWidget *child, *widget; GList *children; guint horizontal_padding; @@ -2585,20 +2546,20 @@ calculate_line_heights (GtkMenu *menu, guint *min_heights; guint *nat_heights; gint avail_width; - + + priv = menu->priv; widget = GTK_WIDGET (menu); menu_shell = GTK_MENU_SHELL (widget); - priv = gtk_menu_get_private (menu); - + min_heights = g_new0 (guint, gtk_menu_get_n_rows (menu)); nat_heights = g_new0 (guint, gtk_menu_get_n_rows (menu)); n_heights = gtk_menu_get_n_rows (menu); n_columns = gtk_menu_get_n_columns (menu); - avail_width = for_width - (2 * menu->toggle_size + priv->accel_size) * n_columns; + avail_width = for_width - (2 * priv->toggle_size + priv->accel_size) * n_columns; gtk_widget_style_get (GTK_WIDGET (menu), "horizontal-padding", &horizontal_padding, - NULL); + NULL); border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); avail_width -= (border_width + horizontal_padding + gtk_widget_get_style (widget)->xthickness) * 2; @@ -2611,8 +2572,8 @@ calculate_line_heights (GtkMenu *menu, gint child_min, child_nat; child = children->data; - - if (! gtk_widget_get_visible (child)) + + if (!gtk_widget_get_visible (child)) continue; get_effective_child_attach (child, &l, &r, &t, &b); @@ -2623,7 +2584,7 @@ calculate_line_heights (GtkMenu *menu, &child_min, &child_nat); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); - + part = MAX (child_min, toggle_size) / (b - t); min_heights[t] = MAX (min_heights[t], part); @@ -2640,19 +2601,19 @@ calculate_line_heights (GtkMenu *menu, *ret_nat_heights = nat_heights; else g_free (nat_heights); - + return n_heights; } static void gtk_menu_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { GtkMenu *menu; + GtkMenuPrivate *priv; GtkMenuShell *menu_shell; GtkWidget *child; GtkAllocation child_allocation; - GtkMenuPrivate *priv; GList *children; gint x, y, i; gint width, height; @@ -2663,27 +2624,26 @@ gtk_menu_size_allocate (GtkWidget *widget, g_return_if_fail (GTK_IS_MENU (widget)); g_return_if_fail (allocation != NULL); - + menu = GTK_MENU (widget); menu_shell = GTK_MENU_SHELL (widget); - priv = gtk_menu_get_private (menu); + priv = menu->priv; gtk_widget_set_allocation (widget, allocation); gtk_widget_style_get (GTK_WIDGET (menu), - "vertical-padding", &vertical_padding, + "vertical-padding", &vertical_padding, "horizontal-padding", &horizontal_padding, - NULL); + NULL); get_menu_border (widget, &border); border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); g_free (priv->heights); - priv->heights_length = - calculate_line_heights (menu, - allocation->width, - &priv->heights, - NULL); + priv->heights_length = calculate_line_heights (menu, + allocation->width, + &priv->heights, + NULL); /* refresh our cached height request */ priv->requested_height = (2 * (border_width + vertical_padding)) + @@ -2699,9 +2659,9 @@ gtk_menu_size_allocate (GtkWidget *widget, border.top - border.bottom; if (menu_shell->active) - gtk_menu_scroll_to (menu, menu->scroll_offset); + gtk_menu_scroll_to (menu, priv->scroll_offset); - if (!menu->tearoff_active) + if (!priv->tearoff_active) { GtkBorder arrow_border; @@ -2717,14 +2677,10 @@ gtk_menu_size_allocate (GtkWidget *widget, if (gtk_widget_get_realized (widget)) { gdk_window_move_resize (gtk_widget_get_window (widget), - allocation->x, allocation->y, - allocation->width, allocation->height); + allocation->x, allocation->y, + allocation->width, allocation->height); - gdk_window_move_resize (menu->view_window, - x, - y, - width, - height); + gdk_window_move_resize (priv->view_window, x, y, width, height); } if (menu_shell->children) @@ -2733,22 +2689,22 @@ gtk_menu_size_allocate (GtkWidget *widget, children = menu_shell->children; while (children) - { - child = children->data; - children = children->next; + { + child = children->data; + children = children->next; - if (gtk_widget_get_visible (child)) - { + if (gtk_widget_get_visible (child)) + { gint i; - gint l, r, t, b; + gint l, r, t, b; - get_effective_child_attach (child, &l, &r, &t, &b); + get_effective_child_attach (child, &l, &r, &t, &b); if (gtk_widget_get_direction (GTK_WIDGET (menu)) == GTK_TEXT_DIR_RTL) { guint tmp; - tmp = gtk_menu_get_n_columns (menu) - l; - l = gtk_menu_get_n_columns (menu) - r; + tmp = gtk_menu_get_n_columns (menu) - l; + l = gtk_menu_get_n_columns (menu) - r; r = tmp; } @@ -2765,64 +2721,64 @@ gtk_menu_size_allocate (GtkWidget *widget, child_allocation.height += priv->heights[i]; } - gtk_menu_item_toggle_size_allocate (GTK_MENU_ITEM (child), - menu->toggle_size); + gtk_menu_item_toggle_size_allocate (GTK_MENU_ITEM (child), + priv->toggle_size); + + gtk_widget_size_allocate (child, &child_allocation); + gtk_widget_queue_draw (child); + } + } - gtk_widget_size_allocate (child, &child_allocation); - gtk_widget_queue_draw (child); - } - } - /* Resize the item window */ if (gtk_widget_get_realized (widget)) - { + { gint i; gint width, height; height = 0; - for (i = 0; i < gtk_menu_get_n_rows (menu); i++) + for (i = 0; i < gtk_menu_get_n_rows (menu); i++) height += priv->heights[i]; - width = gtk_menu_get_n_columns (menu) * base_width; - gdk_window_resize (menu->bin_window, width, height); - } + width = gtk_menu_get_n_columns (menu) * base_width; + gdk_window_resize (priv->bin_window, width, height); + } - if (menu->tearoff_active) - { - if (height >= priv->requested_height) - { - if (gtk_widget_get_visible (menu->tearoff_scrollbar)) - { - gtk_widget_hide (menu->tearoff_scrollbar); - gtk_menu_set_tearoff_hints (menu, allocation->width); + if (priv->tearoff_active) + { + if (height >= priv->requested_height) + { + if (gtk_widget_get_visible (priv->tearoff_scrollbar)) + { + gtk_widget_hide (priv->tearoff_scrollbar); + gtk_menu_set_tearoff_hints (menu, allocation->width); - gtk_menu_scroll_to (menu, 0); - } - } - else - { - menu->tearoff_adjustment->upper = priv->requested_height; - menu->tearoff_adjustment->page_size = allocation->height; - - if (menu->tearoff_adjustment->value + menu->tearoff_adjustment->page_size > - menu->tearoff_adjustment->upper) - { - gint value; - value = menu->tearoff_adjustment->upper - menu->tearoff_adjustment->page_size; - if (value < 0) - value = 0; - gtk_menu_scroll_to (menu, value); - } - - gtk_adjustment_changed (menu->tearoff_adjustment); - - if (!gtk_widget_get_visible (menu->tearoff_scrollbar)) - { - gtk_widget_show (menu->tearoff_scrollbar); - gtk_menu_set_tearoff_hints (menu, allocation->width); - } - } - } + gtk_menu_scroll_to (menu, 0); + } + } + else + { + priv->tearoff_adjustment->upper = priv->requested_height; + priv->tearoff_adjustment->page_size = allocation->height; + + if (priv->tearoff_adjustment->value + priv->tearoff_adjustment->page_size > + priv->tearoff_adjustment->upper) + { + gint value; + value = priv->tearoff_adjustment->upper - priv->tearoff_adjustment->page_size; + if (value < 0) + value = 0; + gtk_menu_scroll_to (menu, value); + } + + gtk_adjustment_changed (priv->tearoff_adjustment); + + if (!gtk_widget_get_visible (priv->tearoff_scrollbar)) + { + gtk_widget_show (priv->tearoff_scrollbar); + gtk_menu_set_tearoff_hints (menu, allocation->width); + } + } + } } } @@ -2904,7 +2860,7 @@ get_arrows_visible_area (GtkMenu *menu, static gboolean gtk_menu_draw (GtkWidget *widget, - cairo_t *cr) + cairo_t *cr) { GtkMenu *menu; GtkMenuPrivate *priv; @@ -2944,8 +2900,8 @@ gtk_menu_draw (GtkWidget *widget, gtk_style_context_save (context); gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); - if (menu->upper_arrow_visible && !menu->tearoff_active) - { + if (priv->upper_arrow_visible && !priv->tearoff_active) + { gtk_style_context_save (context); gtk_style_context_set_state (context, priv->upper_arrow_state); @@ -2959,13 +2915,13 @@ gtk_menu_draw (GtkWidget *widget, gtk_render_arrow (context, cr, 0, upper.x + (upper.width - arrow_size) / 2, upper.y + menu_border.top + (arrow_space - arrow_size) / 2, - arrow_size); + arrow_size); gtk_style_context_restore (context); - } + } - if (menu->lower_arrow_visible && !menu->tearoff_active) - { + if (priv->lower_arrow_visible && !priv->tearoff_active) + { gtk_style_context_save (context); gtk_style_context_set_state (context, priv->lower_arrow_state); @@ -2982,19 +2938,19 @@ gtk_menu_draw (GtkWidget *widget, arrow_size); gtk_style_context_restore (context); - } + } gtk_style_context_restore (context); } - - if (gtk_cairo_should_draw_window (cr, menu->bin_window)) - { - gint y = -border.y + menu->scroll_offset; - - cairo_save (cr); - gtk_cairo_transform_to_window (cr, widget, menu->bin_window); - if (!menu->tearoff_active) + if (gtk_cairo_should_draw_window (cr, priv->bin_window)) + { + gint y = -border.y + priv->scroll_offset; + + cairo_save (cr); + gtk_cairo_transform_to_window (cr, widget, priv->bin_window); + + if (!priv->tearoff_active) { GtkBorder arrow_border; @@ -3048,13 +3004,13 @@ gtk_menu_get_preferred_width (GtkWidget *widget, menu = GTK_MENU (widget); menu_shell = GTK_MENU_SHELL (widget); - priv = gtk_menu_get_private (menu); + priv = menu->priv; min_width = nat_width = 0; - + max_toggle_size = 0; max_accel_width = 0; - + children = menu_shell->children; while (children) { @@ -3064,7 +3020,7 @@ gtk_menu_get_preferred_width (GtkWidget *widget, child = children->data; children = children->next; - + if (! gtk_widget_get_visible (child)) continue; @@ -3075,7 +3031,6 @@ gtk_menu_get_preferred_width (GtkWidget *widget, * case the toggle size request depends on the size * request of a child of the child (e.g. for ImageMenuItem) */ - GTK_MENU_ITEM (child)->show_submenu_indicator = TRUE; gtk_widget_get_preferred_width (child, &child_min, &child_nat); @@ -3096,7 +3051,7 @@ gtk_menu_get_preferred_width (GtkWidget *widget, * We only do this for 'ordinary' menus, not for combobox * menus or multi-column menus */ - if (max_toggle_size == 0 && + if (max_toggle_size == 0 && gtk_menu_get_n_columns (menu) == 1 && !priv->no_toggle_size) { @@ -3135,7 +3090,7 @@ gtk_menu_get_preferred_width (GtkWidget *widget, gtk_widget_style_get (GTK_WIDGET (menu), "horizontal-padding", &horizontal_padding, - NULL); + NULL); get_menu_border (widget, &border); border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); @@ -3144,7 +3099,7 @@ gtk_menu_get_preferred_width (GtkWidget *widget, nat_width += (2 * (border_width + horizontal_padding)) + border.top + border.bottom; - menu->toggle_size = max_toggle_size; + priv->toggle_size = max_toggle_size; priv->accel_size = max_accel_width; if (minimum_size) @@ -3153,20 +3108,23 @@ gtk_menu_get_preferred_width (GtkWidget *widget, if (natural_size) *natural_size = nat_width; - /* Don't resize the tearoff if it is not active, because it won't redraw (it is only a background pixmap). + /* Don't resize the tearoff if it is not active, + * because it won't redraw (it is only a background pixmap). */ - if (menu->tearoff_active) + if (priv->tearoff_active) gtk_menu_set_tearoff_hints (menu, min_width); } -static void +static void gtk_menu_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) { gint min_width; - /* Menus are height-for-width only, just return the height for the minimum width */ + /* Menus are height-for-width only, just return the height + * for the minimum width + */ GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, minimum_size, natural_size); } @@ -3178,18 +3136,18 @@ gtk_menu_get_preferred_height_for_width (GtkWidget *widget, gint *natural_size) { GtkMenu *menu = GTK_MENU (widget); - GtkMenuPrivate *private = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; guint *min_heights, *nat_heights; guint vertical_padding, border_width; gint n_heights, i; gint min_height, nat_height; - gtk_widget_style_get (GTK_WIDGET (menu), "vertical-padding", &vertical_padding, NULL); + gtk_widget_style_get (widget, "vertical-padding", &vertical_padding, NULL); border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); - min_height = nat_height = (border_width + vertical_padding + gtk_widget_get_style (GTK_WIDGET (widget))->ythickness) * 2; + min_height = nat_height = (border_width + vertical_padding + gtk_widget_get_style (widget)->ythickness) * 2; - n_heights = + n_heights = calculate_line_heights (menu, for_size, &min_heights, &nat_heights); for (i = 0; i < n_heights; i++) @@ -3198,24 +3156,24 @@ gtk_menu_get_preferred_height_for_width (GtkWidget *widget, nat_height += nat_heights[i]; } - if (private->have_position) + if (priv->have_position) { - GdkScreen *screen = gtk_widget_get_screen (menu->toplevel); + GdkScreen *screen = gtk_widget_get_screen (priv->toplevel); GdkRectangle monitor; - - gdk_screen_get_monitor_geometry (screen, private->monitor_num, &monitor); - if (private->y + min_height > monitor.y + monitor.height) - min_height = monitor.y + monitor.height - private->y; + gdk_screen_get_monitor_geometry (screen, priv->monitor_num, &monitor); - if (private->y + nat_height > monitor.y + monitor.height) - nat_height = monitor.y + monitor.height - private->y; + if (priv->position_y + min_height > monitor.y + monitor.height) + min_height = monitor.y + monitor.height - priv->position_y; - if (private->y < monitor.y) - { - min_height -= monitor.y - private->y; - nat_height -= monitor.y - private->y; - } + if (priv->position_y + nat_height > monitor.y + monitor.height) + nat_height = monitor.y + monitor.height - priv->position_y; + + if (priv->position_y < monitor.y) + { + min_height -= monitor.y - priv->position_y; + nat_height -= monitor.y - priv->position_y; + } } if (minimum_size) @@ -3234,7 +3192,9 @@ static gboolean gtk_menu_button_scroll (GtkMenu *menu, GdkEventButton *event) { - if (menu->upper_arrow_prelight || menu->lower_arrow_prelight) + GtkMenuPrivate *priv = menu->priv; + + if (priv->upper_arrow_prelight || priv->lower_arrow_prelight) { gboolean touchscreen_mode; @@ -3259,15 +3219,16 @@ pointer_in_menu_window (GtkWidget *widget, gdouble x_root, gdouble y_root) { - GtkAllocation allocation; GtkMenu *menu = GTK_MENU (widget); + GtkMenuPrivate *priv = menu->priv; + GtkAllocation allocation; - if (gtk_widget_get_mapped (menu->toplevel)) + if (gtk_widget_get_mapped (priv->toplevel)) { GtkMenuShell *menu_shell; gint window_x, window_y; - gdk_window_get_position (gtk_widget_get_window (menu->toplevel), + gdk_window_get_position (gtk_widget_get_window (priv->toplevel), &window_x, &window_y); gtk_widget_get_allocation (widget, &allocation); @@ -3313,9 +3274,9 @@ gtk_menu_button_press (GtkWidget *widget, static gboolean gtk_menu_button_release (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { - GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (widget)); + GtkMenuPrivate *priv = GTK_MENU (widget)->priv; if (priv->ignore_button_release) { @@ -3353,45 +3314,45 @@ gtk_menu_button_release (GtkWidget *widget, static const gchar * get_accel_path (GtkWidget *menu_item, - gboolean *locked) + gboolean *locked) { const gchar *path; GtkWidget *label; GClosure *accel_closure; - GtkAccelGroup *accel_group; + GtkAccelGroup *accel_group; path = _gtk_widget_get_accel_path (menu_item, locked); if (!path) { path = GTK_MENU_ITEM (menu_item)->accel_path; - - if (locked) - { - *locked = TRUE; - label = gtk_bin_get_child (GTK_BIN (menu_item)); - - if (GTK_IS_ACCEL_LABEL (label)) - { - g_object_get (label, - "accel-closure", &accel_closure, - NULL); - if (accel_closure) - { - accel_group = gtk_accel_group_from_accel_closure (accel_closure); - - *locked = gtk_accel_group_get_is_locked (accel_group); - } - } - } + if (locked) + { + *locked = TRUE; + + label = gtk_bin_get_child (GTK_BIN (menu_item)); + + if (GTK_IS_ACCEL_LABEL (label)) + { + g_object_get (label, + "accel-closure", &accel_closure, + NULL); + if (accel_closure) + { + accel_group = gtk_accel_group_from_accel_closure (accel_closure); + + *locked = gtk_accel_group_get_is_locked (accel_group); + } + } + } } return path; } static gboolean -gtk_menu_key_press (GtkWidget *widget, - GdkEventKey *event) +gtk_menu_key_press (GtkWidget *widget, + GdkEventKey *event) { GtkMenuShell *menu_shell; GtkMenu *menu; @@ -3401,30 +3362,30 @@ gtk_menu_key_press (GtkWidget *widget, guint accel_key, accel_mods; GdkModifierType consumed_modifiers; GdkDisplay *display; - + g_return_val_if_fail (GTK_IS_MENU (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); - + menu_shell = GTK_MENU_SHELL (widget); menu = GTK_MENU (widget); - + gtk_menu_stop_navigating_submenu (menu); if (GTK_WIDGET_CLASS (gtk_menu_parent_class)->key_press_event (widget, event)) return TRUE; display = gtk_widget_get_display (widget); - + g_object_get (gtk_widget_get_settings (widget), "gtk-menu-bar-accel", &accel, - "gtk-can-change-accels", &can_change_accels, + "gtk-can-change-accels", &can_change_accels, NULL); if (accel && *accel) { guint keyval = 0; GdkModifierType mods = 0; - + gtk_accelerator_parse (accel, &keyval, &mods); if (keyval == 0) @@ -3436,14 +3397,14 @@ gtk_menu_key_press (GtkWidget *widget, */ if (event->keyval == keyval && (mods & event->state) == mods) { - gtk_menu_shell_cancel (menu_shell); + gtk_menu_shell_cancel (menu_shell); g_free (accel); return TRUE; } } g_free (accel); - + switch (event->keyval) { case GDK_KEY_Delete: @@ -3457,23 +3418,25 @@ gtk_menu_key_press (GtkWidget *widget, /* Figure out what modifiers went into determining the key symbol */ gdk_keymap_translate_keyboard_state (gdk_keymap_get_for_display (display), - event->hardware_keycode, event->state, event->group, - NULL, NULL, NULL, &consumed_modifiers); + event->hardware_keycode, + event->state, event->group, + NULL, NULL, NULL, &consumed_modifiers); accel_key = gdk_keyval_to_lower (event->keyval); accel_mods = event->state & gtk_accelerator_get_default_mod_mask () & ~consumed_modifiers; - /* If lowercasing affects the keysym, then we need to include SHIFT in the modifiers, - * We re-upper case when we match against the keyval, but display and save in caseless form. + /* If lowercasing affects the keysym, then we need to include SHIFT + * in the modifiers, we re-uppercase when we match against the keyval, + * but display and save in caseless form. */ if (accel_key != event->keyval) accel_mods |= GDK_SHIFT_MASK; - + /* Modify the accelerators */ if (can_change_accels && menu_shell->active_menu_item && gtk_bin_get_child (GTK_BIN (menu_shell->active_menu_item)) && /* no separators */ - GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL && /* no submenus */ + GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL && /* no submenus */ (delete || gtk_accelerator_valid (accel_key, accel_mods))) { GtkWidget *menu_item = menu_shell->active_menu_item; @@ -3482,45 +3445,43 @@ gtk_menu_key_press (GtkWidget *widget, path = get_accel_path (menu_item, &locked); if (!path || locked) - { - /* can't change accelerators on menu_items without paths - * (basically, those items are accelerator-locked). - */ - /* g_print("item has no path or is locked, menu prefix: %s\n", menu->accel_path); */ - gtk_widget_error_bell (widget); - } + { + /* Can't change accelerators on menu_items without paths + * (basically, those items are accelerator-locked). + */ + gtk_widget_error_bell (widget); + } else - { - gboolean changed; + { + gboolean changed; - /* For the keys that act to delete the current setting, we delete - * the current setting if there is one, otherwise, we set the - * key as the accelerator. - */ - if (delete) - { - GtkAccelKey key; - - if (gtk_accel_map_lookup_entry (path, &key) && - (key.accel_key || key.accel_mods)) - { - accel_key = 0; - accel_mods = 0; - } - } - changed = gtk_accel_map_change_entry (path, accel_key, accel_mods, replace_accels); + /* For the keys that act to delete the current setting, + * we delete the current setting if there is one, otherwise, + * we set the key as the accelerator. + */ + if (delete) + { + GtkAccelKey key; - if (!changed) - { - /* we failed, probably because this key is in use and - * locked already - */ - /* g_print("failed to change\n"); */ - gtk_widget_error_bell (widget); - } - } + if (gtk_accel_map_lookup_entry (path, &key) && + (key.accel_key || key.accel_mods)) + { + accel_key = 0; + accel_mods = 0; + } + } + changed = gtk_accel_map_change_entry (path, accel_key, accel_mods, replace_accels); + + if (!changed) + { + /* We failed, probably because this key is in use + * and locked already. + */ + gtk_widget_error_bell (widget); + } + } } - + return TRUE; } @@ -3532,9 +3493,9 @@ check_threshold (GtkWidget *widget, gint y) { #define THRESHOLD 8 - + return - ABS (start_x - x) > THRESHOLD || + ABS (start_x - x) > THRESHOLD || ABS (start_y - y) > THRESHOLD; } @@ -3548,7 +3509,7 @@ definitely_within_item (GtkWidget *widget, w = gdk_window_get_width (window); h = gdk_window_get_height (window); - + return check_threshold (widget, 0, 0, x, y) && check_threshold (widget, w - 1, 0, x, y) && @@ -3559,9 +3520,7 @@ definitely_within_item (GtkWidget *widget, static gboolean gtk_menu_has_navigation_triangle (GtkMenu *menu) { - GtkMenuPrivate *priv; - - priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; return priv->navigation_height && priv->navigation_width; } @@ -3579,7 +3538,7 @@ gtk_menu_motion_notify (GtkWidget *widget, if (GTK_IS_MENU (widget)) { - GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (widget)); + GtkMenuPrivate *priv = GTK_MENU(widget)->priv; if (priv->ignore_button_release) priv->ignore_button_release = FALSE; @@ -3614,7 +3573,7 @@ gtk_menu_motion_notify (GtkWidget *widget, /* Check to see if we are within an active submenu's navigation region */ if (gtk_menu_navigating_submenu (menu, event->x_root, event->y_root)) - return TRUE; + return TRUE; /* Make sure we pop down if we enter a non-selectable menu item, so we * don't show a submenu when the cursor is outside the stay-up triangle. @@ -3633,35 +3592,35 @@ gtk_menu_motion_notify (GtkWidget *widget, /* The menu is now sensitive to enter events on its items, but * was previously sensitive. So we fake an enter event. */ - menu_shell->ignore_enter = FALSE; - - if (event->x >= 0 && event->x < gdk_window_get_width (event->window) && - event->y >= 0 && event->y < gdk_window_get_height (event->window)) - { - GdkEvent *send_event = gdk_event_new (GDK_ENTER_NOTIFY); - gboolean result; + menu_shell->ignore_enter = FALSE; - send_event->crossing.window = g_object_ref (event->window); - send_event->crossing.time = event->time; - send_event->crossing.send_event = TRUE; - send_event->crossing.x_root = event->x_root; - send_event->crossing.y_root = event->y_root; - send_event->crossing.x = event->x; - send_event->crossing.y = event->y; + if (event->x >= 0 && event->x < gdk_window_get_width (event->window) && + event->y >= 0 && event->y < gdk_window_get_height (event->window)) + { + GdkEvent *send_event = gdk_event_new (GDK_ENTER_NOTIFY); + gboolean result; + + send_event->crossing.window = g_object_ref (event->window); + send_event->crossing.time = event->time; + send_event->crossing.send_event = TRUE; + send_event->crossing.x_root = event->x_root; + send_event->crossing.y_root = event->y_root; + send_event->crossing.x = event->x; + send_event->crossing.y = event->y; send_event->crossing.state = event->state; gdk_event_set_device (send_event, gdk_event_get_device ((GdkEvent *) event)); - /* We send the event to 'widget', the currently active menu, - * instead of 'menu', the menu that the pointer is in. This - * will ensure that the event will be ignored unless the - * menuitem is a child of the active menu or some parent - * menu of the active menu. - */ - result = gtk_widget_event (widget, send_event); - gdk_event_free (send_event); + /* We send the event to 'widget', the currently active menu, + * instead of 'menu', the menu that the pointer is in. This + * will ensure that the event will be ignored unless the + * menuitem is a child of the active menu or some parent + * menu of the active menu. + */ + result = gtk_widget_event (widget, send_event); + gdk_event_free (send_event); - return result; - } + return result; + } } return FALSE; @@ -3670,7 +3629,7 @@ gtk_menu_motion_notify (GtkWidget *widget, static gboolean get_double_arrows (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; gboolean double_arrows; GtkArrowPlacement arrow_placement; @@ -3683,14 +3642,14 @@ get_double_arrows (GtkMenu *menu) return TRUE; return double_arrows || (priv->initially_pushed_in && - menu->scroll_offset != 0); + priv->scroll_offset != 0); } static void -gtk_menu_scroll_by (GtkMenu *menu, - gint step) +gtk_menu_scroll_by (GtkMenu *menu, + gint step) { - GtkMenuPrivate *priv; + GtkMenuPrivate *priv = menu->priv; GtkBorder arrow_border; GtkWidget *widget; gint offset; @@ -3698,8 +3657,7 @@ gtk_menu_scroll_by (GtkMenu *menu, gboolean double_arrows; widget = GTK_WIDGET (menu); - offset = menu->scroll_offset + step; - priv = gtk_menu_get_private (menu); + offset = priv->scroll_offset + step; get_arrows_border (menu, &arrow_border); @@ -3715,30 +3673,30 @@ gtk_menu_scroll_by (GtkMenu *menu, offset = 0; /* Don't scroll over the top if we weren't before: */ - if ((menu->scroll_offset >= 0) && (offset < 0)) + if ((priv->scroll_offset >= 0) && (offset < 0)) offset = 0; view_height = gdk_window_get_height (gtk_widget_get_window (widget)); - if (menu->scroll_offset == 0 && + if (priv->scroll_offset == 0 && view_height >= priv->requested_height) return; /* Don't scroll past the bottom if we weren't before: */ - if (menu->scroll_offset > 0) + if (priv->scroll_offset > 0) view_height -= arrow_border.top; - /* When both arrows are always shown, reduce - * view height even more. + /* When both arrows are always shown, + * reduce view height even more. */ if (double_arrows) view_height -= arrow_border.bottom; - if ((menu->scroll_offset + view_height <= priv->requested_height) && + if ((priv->scroll_offset + view_height <= priv->requested_height) && (offset + view_height > priv->requested_height)) offset = priv->requested_height - view_height; - if (offset != menu->scroll_offset) + if (offset != priv->scroll_offset) gtk_menu_scroll_to (menu, offset); } @@ -3746,24 +3704,25 @@ static void gtk_menu_do_timeout_scroll (GtkMenu *menu, gboolean touchscreen_mode) { + GtkMenuPrivate *priv = menu->priv; gboolean upper_visible; gboolean lower_visible; - upper_visible = menu->upper_arrow_visible; - lower_visible = menu->lower_arrow_visible; + upper_visible = priv->upper_arrow_visible; + lower_visible = priv->lower_arrow_visible; - gtk_menu_scroll_by (menu, menu->scroll_step); + gtk_menu_scroll_by (menu, priv->scroll_step); if (touchscreen_mode && - (upper_visible != menu->upper_arrow_visible || - lower_visible != menu->lower_arrow_visible)) + (upper_visible != priv->upper_arrow_visible || + lower_visible != priv->lower_arrow_visible)) { /* We are about to hide a scroll arrow while the mouse is pressed, * this would cause the uncovered menu item to be activated on button * release. Therefore we need to ignore button release here */ GTK_MENU_SHELL (menu)->ignore_enter = TRUE; - gtk_menu_get_private (menu)->ignore_button_release = TRUE; + priv->ignore_button_release = TRUE; } } @@ -3802,9 +3761,8 @@ gtk_menu_scroll_timeout_initial (gpointer data) gtk_menu_remove_scroll_timeout (menu); - menu->timeout_id = gdk_threads_add_timeout (timeout, - gtk_menu_scroll_timeout, - menu); + menu->priv->scroll_timeout = + gdk_threads_add_timeout (timeout, gtk_menu_scroll_timeout, menu); return FALSE; } @@ -3822,14 +3780,13 @@ gtk_menu_start_scrolling (GtkMenu *menu) gtk_menu_do_timeout_scroll (menu, touchscreen_mode); - menu->timeout_id = gdk_threads_add_timeout (timeout, - gtk_menu_scroll_timeout_initial, - menu); + menu->priv->scroll_timeout = + gdk_threads_add_timeout (timeout, gtk_menu_scroll_timeout_initial, menu); } static gboolean -gtk_menu_scroll (GtkWidget *widget, - GdkEventScroll *event) +gtk_menu_scroll (GtkWidget *widget, + GdkEventScroll *event) { GtkMenu *menu = GTK_MENU (widget); @@ -3938,28 +3895,26 @@ get_arrows_sensitive_area (GtkMenu *menu, static void gtk_menu_handle_scrolling (GtkMenu *menu, - gint x, - gint y, - gboolean enter, + gint x, + gint y, + gboolean enter, gboolean motion) { + GtkMenuPrivate *priv = menu->priv; GtkMenuShell *menu_shell; - GtkMenuPrivate *priv; GdkRectangle rect; gboolean in_arrow; gboolean scroll_fast = FALSE; gint top_x, top_y; gboolean touchscreen_mode; - priv = gtk_menu_get_private (menu); - menu_shell = GTK_MENU_SHELL (menu); g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu)), "gtk-touchscreen-mode", &touchscreen_mode, NULL); - gdk_window_get_position (gtk_widget_get_window (menu->toplevel), + gdk_window_get_position (gtk_widget_get_window (priv->toplevel), &top_x, &top_y); x -= top_x; y -= top_y; @@ -3969,7 +3924,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, get_arrows_sensitive_area (menu, &rect, NULL); in_arrow = FALSE; - if (menu->upper_arrow_visible && !menu->tearoff_active && + if (priv->upper_arrow_visible && !priv->tearoff_active && (x >= rect.x) && (x < rect.x + rect.width) && (y >= rect.y) && (y < rect.y + rect.height)) { @@ -3977,19 +3932,19 @@ gtk_menu_handle_scrolling (GtkMenu *menu, } if (touchscreen_mode) - menu->upper_arrow_prelight = in_arrow; + priv->upper_arrow_prelight = in_arrow; if ((priv->upper_arrow_state & GTK_STATE_FLAG_INSENSITIVE) == 0) { gboolean arrow_pressed = FALSE; - if (menu->upper_arrow_visible && !menu->tearoff_active) + if (priv->upper_arrow_visible && !priv->tearoff_active) { if (touchscreen_mode) { - if (enter && menu->upper_arrow_prelight) + if (enter && priv->upper_arrow_prelight) { - if (menu->timeout_id == 0) + if (priv->scroll_timeout == 0) { /* Deselect the active item so that * any submenus are popped down @@ -3997,7 +3952,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, gtk_menu_shell_deselect (menu_shell); gtk_menu_remove_scroll_timeout (menu); - menu->scroll_step = -MENU_SCROLL_STEP2; /* always fast */ + priv->scroll_step = -MENU_SCROLL_STEP2; /* always fast */ if (!motion) { @@ -4021,11 +3976,11 @@ gtk_menu_handle_scrolling (GtkMenu *menu, scroll_fast = (y < rect.y + MENU_SCROLL_FAST_ZONE); if (enter && in_arrow && - (!menu->upper_arrow_prelight || - menu->scroll_fast != scroll_fast)) + (!priv->upper_arrow_prelight || + priv->scroll_fast != scroll_fast)) { - menu->upper_arrow_prelight = TRUE; - menu->scroll_fast = scroll_fast; + priv->upper_arrow_prelight = TRUE; + priv->scroll_fast = scroll_fast; /* Deselect the active item so that * any submenus are popped down @@ -4033,16 +3988,17 @@ gtk_menu_handle_scrolling (GtkMenu *menu, gtk_menu_shell_deselect (menu_shell); gtk_menu_remove_scroll_timeout (menu); - menu->scroll_step = scroll_fast ? - -MENU_SCROLL_STEP2 : -MENU_SCROLL_STEP1; + priv->scroll_step = scroll_fast + ? -MENU_SCROLL_STEP2 + : -MENU_SCROLL_STEP1; - menu->timeout_id = - gdk_threads_add_timeout (scroll_fast ? - MENU_SCROLL_TIMEOUT2 : - MENU_SCROLL_TIMEOUT1, + priv->scroll_timeout = + gdk_threads_add_timeout (scroll_fast + ? MENU_SCROLL_TIMEOUT2 + : MENU_SCROLL_TIMEOUT1, gtk_menu_scroll_timeout, menu); } - else if (!enter && !in_arrow && menu->upper_arrow_prelight) + else if (!enter && !in_arrow && priv->upper_arrow_prelight) { gtk_menu_stop_scrolling (menu); } @@ -4060,7 +4016,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, if (arrow_pressed) arrow_state |= GTK_STATE_FLAG_ACTIVE; - if (menu->upper_arrow_prelight) + if (priv->upper_arrow_prelight) arrow_state |= GTK_STATE_FLAG_PRELIGHT; if (arrow_state != priv->upper_arrow_state) @@ -4078,7 +4034,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, get_arrows_sensitive_area (menu, NULL, &rect); in_arrow = FALSE; - if (menu->lower_arrow_visible && !menu->tearoff_active && + if (priv->lower_arrow_visible && !priv->tearoff_active && (x >= rect.x) && (x < rect.x + rect.width) && (y >= rect.y) && (y < rect.y + rect.height)) { @@ -4086,19 +4042,19 @@ gtk_menu_handle_scrolling (GtkMenu *menu, } if (touchscreen_mode) - menu->lower_arrow_prelight = in_arrow; + priv->lower_arrow_prelight = in_arrow; if ((priv->lower_arrow_state & GTK_STATE_FLAG_INSENSITIVE) == 0) { gboolean arrow_pressed = FALSE; - if (menu->lower_arrow_visible && !menu->tearoff_active) + if (priv->lower_arrow_visible && !priv->tearoff_active) { if (touchscreen_mode) { - if (enter && menu->lower_arrow_prelight) + if (enter && priv->lower_arrow_prelight) { - if (menu->timeout_id == 0) + if (priv->scroll_timeout == 0) { /* Deselect the active item so that * any submenus are popped down @@ -4106,7 +4062,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, gtk_menu_shell_deselect (menu_shell); gtk_menu_remove_scroll_timeout (menu); - menu->scroll_step = MENU_SCROLL_STEP2; /* always fast */ + priv->scroll_step = MENU_SCROLL_STEP2; /* always fast */ if (!motion) { @@ -4130,11 +4086,11 @@ gtk_menu_handle_scrolling (GtkMenu *menu, scroll_fast = (y > rect.y + rect.height - MENU_SCROLL_FAST_ZONE); if (enter && in_arrow && - (!menu->lower_arrow_prelight || - menu->scroll_fast != scroll_fast)) + (!priv->lower_arrow_prelight || + priv->scroll_fast != scroll_fast)) { - menu->lower_arrow_prelight = TRUE; - menu->scroll_fast = scroll_fast; + priv->lower_arrow_prelight = TRUE; + priv->scroll_fast = scroll_fast; /* Deselect the active item so that * any submenus are popped down @@ -4142,16 +4098,17 @@ gtk_menu_handle_scrolling (GtkMenu *menu, gtk_menu_shell_deselect (menu_shell); gtk_menu_remove_scroll_timeout (menu); - menu->scroll_step = scroll_fast ? - MENU_SCROLL_STEP2 : MENU_SCROLL_STEP1; + priv->scroll_step = scroll_fast + ? MENU_SCROLL_STEP2 + : MENU_SCROLL_STEP1; - menu->timeout_id = - gdk_threads_add_timeout (scroll_fast ? - MENU_SCROLL_TIMEOUT2 : - MENU_SCROLL_TIMEOUT1, + priv->scroll_timeout = + gdk_threads_add_timeout (scroll_fast + ? MENU_SCROLL_TIMEOUT2 + : MENU_SCROLL_TIMEOUT1, gtk_menu_scroll_timeout, menu); } - else if (!enter && !in_arrow && menu->lower_arrow_prelight) + else if (!enter && !in_arrow && priv->lower_arrow_prelight) { gtk_menu_stop_scrolling (menu); } @@ -4169,7 +4126,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, if (arrow_pressed) arrow_state |= GTK_STATE_FLAG_ACTIVE; - if (menu->lower_arrow_prelight) + if (priv->lower_arrow_prelight) arrow_state |= GTK_STATE_FLAG_PRELIGHT; if (arrow_state != priv->lower_arrow_state) @@ -4185,7 +4142,7 @@ gtk_menu_handle_scrolling (GtkMenu *menu, static gboolean gtk_menu_enter_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkWidget *menu_item; GtkWidget *parent; @@ -4206,46 +4163,46 @@ gtk_menu_enter_notify (GtkWidget *widget, GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); if (!menu_shell->ignore_enter) - gtk_menu_handle_scrolling (GTK_MENU (widget), + gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE, TRUE); } if (!touchscreen_mode && GTK_IS_MENU_ITEM (menu_item)) { GtkWidget *menu = gtk_widget_get_parent (menu_item); - - if (GTK_IS_MENU (menu)) - { - GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (menu)); - GtkMenuShell *menu_shell = GTK_MENU_SHELL (menu); - if (priv->seen_item_enter) - { - /* This is the second enter we see for an item - * on this menu. This means a release should always - * mean activate. - */ - menu_shell->activate_time = 0; - } - else if ((event->detail != GDK_NOTIFY_NONLINEAR && - event->detail != GDK_NOTIFY_NONLINEAR_VIRTUAL)) - { - if (definitely_within_item (menu_item, event->x, event->y)) - { - /* This is an actual user-enter (ie. not a pop-under) - * In this case, the user must either have entered - * sufficiently far enough into the item, or he must move - * far enough away from the enter point. (see - * gtk_menu_motion_notify()) - */ - menu_shell->activate_time = 0; - } - } - - priv->seen_item_enter = TRUE; - } + if (GTK_IS_MENU (menu)) + { + GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (menu)); + GtkMenuShell *menu_shell = GTK_MENU_SHELL (menu); + + if (priv->seen_item_enter) + { + /* This is the second enter we see for an item + * on this menu. This means a release should always + * mean activate. + */ + menu_shell->activate_time = 0; + } + else if ((event->detail != GDK_NOTIFY_NONLINEAR && + event->detail != GDK_NOTIFY_NONLINEAR_VIRTUAL)) + { + if (definitely_within_item (menu_item, event->x, event->y)) + { + /* This is an actual user-enter (ie. not a pop-under) + * In this case, the user must either have entered + * sufficiently far enough into the item, or he must move + * far enough away from the enter point. (see + * gtk_menu_motion_notify()) + */ + menu_shell->activate_time = 0; + } + } + + priv->seen_item_enter = TRUE; + } } - + /* If this is a faked enter (see gtk_menu_motion_notify), 'widget' * will not correspond to the event widget's parent. Check to see * if we are in the parent's navigation region. @@ -4256,12 +4213,12 @@ gtk_menu_enter_notify (GtkWidget *widget, event->x_root, event->y_root)) return TRUE; - return GTK_WIDGET_CLASS (gtk_menu_parent_class)->enter_notify_event (widget, event); + return GTK_WIDGET_CLASS (gtk_menu_parent_class)->enter_notify_event (widget, event); } static gboolean gtk_menu_leave_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkMenuShell *menu_shell; GtkMenu *menu; @@ -4274,60 +4231,60 @@ gtk_menu_leave_notify (GtkWidget *widget, return TRUE; menu = GTK_MENU (widget); - menu_shell = GTK_MENU_SHELL (widget); - + menu_shell = GTK_MENU_SHELL (widget); + if (gtk_menu_navigating_submenu (menu, event->x_root, event->y_root)) - return TRUE; + return TRUE; gtk_menu_handle_scrolling (menu, event->x_root, event->y_root, FALSE, TRUE); event_widget = gtk_get_event_widget ((GdkEvent*) event); - + if (!GTK_IS_MENU_ITEM (event_widget)) return TRUE; - - menu_item = GTK_MENU_ITEM (event_widget); - /* Here we check to see if we're leaving an active menu item with a submenu, - * in which case we enter submenu navigation mode. + menu_item = GTK_MENU_ITEM (event_widget); + + /* Here we check to see if we're leaving an active menu item + * with a submenu, in which case we enter submenu navigation mode. */ if (menu_shell->active_menu_item != NULL && menu_item->submenu != NULL && menu_item->submenu_placement == GTK_LEFT_RIGHT) { if (GTK_MENU_SHELL (menu_item->submenu)->active) - { - gtk_menu_set_submenu_navigation_region (menu, menu_item, event); - return TRUE; - } + { + gtk_menu_set_submenu_navigation_region (menu, menu_item, event); + return TRUE; + } else if (menu_item == GTK_MENU_ITEM (menu_shell->active_menu_item)) - { - /* We are leaving an active menu item with nonactive submenu. - * Deselect it so we don't surprise the user with by popping - * up a submenu _after_ he left the item. - */ - gtk_menu_shell_deselect (menu_shell); - return TRUE; - } + { + /* We are leaving an active menu item with nonactive submenu. + * Deselect it so we don't surprise the user with by popping + * up a submenu _after_ he left the item. + */ + gtk_menu_shell_deselect (menu_shell); + return TRUE; + } } - - return GTK_WIDGET_CLASS (gtk_menu_parent_class)->leave_notify_event (widget, event); + + return GTK_WIDGET_CLASS (gtk_menu_parent_class)->leave_notify_event (widget, event); } -static void +static void gtk_menu_stop_navigating_submenu (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; priv->navigation_x = 0; priv->navigation_y = 0; priv->navigation_width = 0; priv->navigation_height = 0; - if (menu->navigation_timeout) + if (priv->navigation_timeout) { - g_source_remove (menu->navigation_timeout); - menu->navigation_timeout = 0; + g_source_remove (priv->navigation_timeout); + priv->navigation_timeout = 0; } } @@ -4339,50 +4296,50 @@ gtk_menu_stop_navigating_submenu_cb (gpointer user_data) { GtkMenuPopdownData *popdown_data = user_data; GtkMenu *menu = popdown_data->menu; + GtkMenuPrivate *priv = menu->priv; GdkWindow *child_window; gtk_menu_stop_navigating_submenu (menu); - + if (gtk_widget_get_realized (GTK_WIDGET (menu))) { - child_window = gdk_window_get_device_position (menu->bin_window, + child_window = gdk_window_get_device_position (priv->bin_window, popdown_data->device, NULL, NULL, NULL); if (child_window) - { - GdkEvent *send_event = gdk_event_new (GDK_ENTER_NOTIFY); + { + GdkEvent *send_event = gdk_event_new (GDK_ENTER_NOTIFY); - send_event->crossing.window = g_object_ref (child_window); - send_event->crossing.time = GDK_CURRENT_TIME; /* Bogus */ - send_event->crossing.send_event = TRUE; + send_event->crossing.window = g_object_ref (child_window); + send_event->crossing.time = GDK_CURRENT_TIME; /* Bogus */ + send_event->crossing.send_event = TRUE; gdk_event_set_device (send_event, popdown_data->device); - GTK_WIDGET_CLASS (gtk_menu_parent_class)->enter_notify_event (GTK_WIDGET (menu), (GdkEventCrossing *)send_event); + GTK_WIDGET_CLASS (gtk_menu_parent_class)->enter_notify_event (GTK_WIDGET (menu), (GdkEventCrossing *)send_event); - gdk_event_free (send_event); - } + gdk_event_free (send_event); + } } - return FALSE; + return FALSE; } static gboolean gtk_menu_navigating_submenu (GtkMenu *menu, - gint event_x, - gint event_y) + gint event_x, + gint event_y) { - GtkMenuPrivate *priv; - int width, height; + GtkMenuPrivate *priv = menu->priv; + gint width, height; if (!gtk_menu_has_navigation_triangle (menu)) return FALSE; - priv = gtk_menu_get_private (menu); width = priv->navigation_width; height = priv->navigation_height; - /* check if x/y are in the triangle spanned by the navigation parameters */ + /* Check if x/y are in the triangle spanned by the navigation parameters */ /* 1) Move the coordinates so the triangle starts at 0,0 */ event_x -= priv->navigation_x; @@ -4417,9 +4374,10 @@ gtk_menu_navigating_submenu (GtkMenu *menu, static void gtk_menu_set_submenu_navigation_region (GtkMenu *menu, - GtkMenuItem *menu_item, - GdkEventCrossing *event) + GtkMenuItem *menu_item, + GdkEventCrossing *event) { + GtkMenuPrivate *priv = menu->priv; gint submenu_left = 0; gint submenu_right = 0; gint submenu_top = 0; @@ -4428,13 +4386,10 @@ gtk_menu_set_submenu_navigation_region (GtkMenu *menu, gint height = 0; GtkWidget *event_widget; GtkMenuPopdownData *popdown_data; - GtkMenuPrivate *priv; GdkWindow *window; g_return_if_fail (menu_item->submenu != NULL); g_return_if_fail (event != NULL); - - priv = gtk_menu_get_private (menu); event_widget = gtk_get_event_widget ((GdkEvent*) event); @@ -4450,55 +4405,54 @@ gtk_menu_set_submenu_navigation_region (GtkMenu *menu, if (event->x >= 0 && event->x < width) { gint popdown_delay; - + gtk_menu_stop_navigating_submenu (menu); /* The navigation region is the triangle closest to the x/y * location of the rectangle. This is why the width or height * can be negative. */ - if (menu_item->submenu_direction == GTK_DIRECTION_RIGHT) - { - /* right */ + { + /* right */ priv->navigation_x = submenu_left; priv->navigation_width = event->x_root - submenu_left; - } + } else - { - /* left */ + { + /* left */ priv->navigation_x = submenu_right; priv->navigation_width = event->x_root - submenu_right; - } + } if (event->y < 0) - { - /* top */ + { + /* top */ priv->navigation_y = event->y_root; priv->navigation_height = submenu_top - event->y_root - NAVIGATION_REGION_OVERSHOOT; - if (priv->navigation_height >= 0) - return; - } + if (priv->navigation_height >= 0) + return; + } else - { - /* bottom */ + { + /* bottom */ priv->navigation_y = event->y_root; priv->navigation_height = submenu_bottom - event->y_root + NAVIGATION_REGION_OVERSHOOT; - if (priv->navigation_height <= 0) - return; - } + if (priv->navigation_height <= 0) + return; + } g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu)), - "gtk-menu-popdown-delay", &popdown_delay, - NULL); + "gtk-menu-popdown-delay", &popdown_delay, + NULL); popdown_data = g_new (GtkMenuPopdownData, 1); popdown_data->menu = menu; popdown_data->device = gdk_event_get_device ((GdkEvent *) event); - menu->navigation_timeout = gdk_threads_add_timeout_full (G_PRIORITY_DEFAULT, + priv->navigation_timeout = gdk_threads_add_timeout_full (G_PRIORITY_DEFAULT, popdown_delay, gtk_menu_stop_navigating_submenu_cb, popdown_data, @@ -4510,14 +4464,14 @@ static void gtk_menu_deactivate (GtkMenuShell *menu_shell) { GtkWidget *parent; - + g_return_if_fail (GTK_IS_MENU (menu_shell)); - + parent = menu_shell->parent_menu_shell; - + menu_shell->activate_time = 0; gtk_menu_popdown (GTK_MENU (menu_shell)); - + if (parent) gtk_menu_shell_deactivate (GTK_MENU_SHELL (parent)); } @@ -4526,9 +4480,9 @@ static void gtk_menu_position (GtkMenu *menu, gboolean set_scroll_offset) { + GtkMenuPrivate *priv = menu->priv; GtkWidget *widget; GtkRequisition requisition; - GtkMenuPrivate *private; gint x, y; gint scroll_offset; gint menu_height; @@ -4537,8 +4491,6 @@ gtk_menu_position (GtkMenu *menu, GdkRectangle monitor; GdkDevice *pointer; - g_return_if_fail (GTK_IS_MENU (menu)); - widget = GTK_WIDGET (menu); screen = gtk_widget_get_screen (widget); @@ -4546,8 +4498,8 @@ gtk_menu_position (GtkMenu *menu, gdk_display_get_device_state (gdk_screen_get_display (screen), pointer, &pointer_screen, &x, &y, NULL); - /* Get the minimum height for minimum width to figure out - * the right place to popup the menu. + /* Get the minimum height for minimum width to figure out + * the right place to popup the menu. */ gtk_widget_get_preferred_size (widget, &requisition, NULL); @@ -4562,24 +4514,24 @@ gtk_menu_position (GtkMenu *menu, y = MAX (0, (gdk_screen_get_height (screen) - requisition.height) / 2); } - private = gtk_menu_get_private (menu); - private->monitor_num = gdk_screen_get_monitor_at_point (screen, x, y); + priv->monitor_num = gdk_screen_get_monitor_at_point (screen, x, y); + priv->initially_pushed_in = FALSE; - private->initially_pushed_in = FALSE; + /* Set the type hint here to allow custom position functions + * to set a different hint + */ + if (!gtk_widget_get_visible (priv->toplevel)) + gtk_window_set_type_hint (GTK_WINDOW (priv->toplevel), GDK_WINDOW_TYPE_HINT_POPUP_MENU); - /* Set the type hint here to allow custom position functions to set a different hint */ - if (!gtk_widget_get_visible (menu->toplevel)) - gtk_window_set_type_hint (GTK_WINDOW (menu->toplevel), GDK_WINDOW_TYPE_HINT_POPUP_MENU); - - if (menu->position_func) + if (priv->position_func) { - (* menu->position_func) (menu, &x, &y, &private->initially_pushed_in, - menu->position_func_data); + (* priv->position_func) (menu, &x, &y, &priv->initially_pushed_in, + priv->position_func_data); - if (private->monitor_num < 0) - private->monitor_num = gdk_screen_get_monitor_at_point (screen, x, y); + if (priv->monitor_num < 0) + priv->monitor_num = gdk_screen_get_monitor_at_point (screen, x, y); - gdk_screen_get_monitor_geometry (screen, private->monitor_num, &monitor); + gdk_screen_get_monitor_geometry (screen, priv->monitor_num, &monitor); } else { @@ -4596,10 +4548,10 @@ gtk_menu_position (GtkMenu *menu, * * - If there is enough room to the right (left) of the mouse cursor, * position the menu there. - * - * - Otherwise, if if there is enough room to the left (right) of the + * + * - Otherwise, if if there is enough room to the left (right) of the * mouse cursor, position the menu there. - * + * * - Otherwise if the menu is smaller than the monitor, position it * on the side of the mouse cursor that has the most space available * @@ -4609,129 +4561,130 @@ gtk_menu_position (GtkMenu *menu, * Positioning in the vertical direction is similar: first try below * mouse cursor, then above. */ - gdk_screen_get_monitor_geometry (screen, private->monitor_num, &monitor); + gdk_screen_get_monitor_geometry (screen, priv->monitor_num, &monitor); space_left = x - monitor.x; space_right = monitor.x + monitor.width - x - 1; space_above = y - monitor.y; space_below = monitor.y + monitor.height - y - 1; - /* position horizontally */ + /* Position horizontally. */ - /* the amount of space we need to position the menu. Note the - * menu is offset "thickness" pixels + /* the amount of space we need to position the menu. + * Note the menu is offset "thickness" pixels */ needed_width = requisition.width - border.left; if (needed_width <= space_left || - needed_width <= space_right) - { - if ((rtl && needed_width <= space_left) || - (!rtl && needed_width > space_right)) - { - /* position left */ - x = x + border.left - requisition.width + 1; - } - else - { - /* position right */ - x = x - border.right; - } + needed_width <= space_right) + { + if ((rtl && needed_width <= space_left) || + (!rtl && needed_width > space_right)) + { + /* position left */ + x = x + border.left - requisition.width + 1; + } + else + { + /* position right */ + x = x - border.right; + } - /* x is clamped on-screen further down */ - } + /* x is clamped on-screen further down */ + } else if (requisition.width <= monitor.width) - { - /* the menu is too big to fit on either side of the mouse - * cursor, but smaller than the monitor. Position it on - * the side that has the most space - */ - if (space_left > space_right) - { - /* left justify */ - x = monitor.x; - } - else - { - /* right justify */ - x = monitor.x + monitor.width - requisition.width; - } - } + { + /* the menu is too big to fit on either side of the mouse + * cursor, but smaller than the monitor. Position it on + * the side that has the most space + */ + if (space_left > space_right) + { + /* left justify */ + x = monitor.x; + } + else + { + /* right justify */ + x = monitor.x + monitor.width - requisition.width; + } + } else /* menu is simply too big for the monitor */ - { - if (rtl) - { - /* right justify */ - x = monitor.x + monitor.width - requisition.width; - } - else - { - /* left justify */ - x = monitor.x; - } - } + { + if (rtl) + { + /* right justify */ + x = monitor.x + monitor.width - requisition.width; + } + else + { + /* left justify */ + x = monitor.x; + } + } - /* Position vertically. The algorithm is the same as above, but - * simpler because we don't have to take RTL into account. + /* Position vertically. + * The algorithm is the same as above, but simpler + * because we don't have to take RTL into account. */ needed_height = requisition.height - border.top; if (needed_height <= space_above || - needed_height <= space_below) - { - if (needed_height <= space_below) - y = y - border.top; - else - y = y + border.bottom - requisition.height + 1; - - y = CLAMP (y, monitor.y, - monitor.y + monitor.height - requisition.height); - } + needed_height <= space_below) + { + if (needed_height <= space_below) + y = y - border.top; + else + y = y + border.bottom - requisition.height + 1; + + y = CLAMP (y, monitor.y, + monitor.y + monitor.height - requisition.height); + } else if (needed_height > space_below && needed_height > space_above) - { - if (space_below >= space_above) - y = monitor.y + monitor.height - requisition.height; - else - y = monitor.y; - } + { + if (space_below >= space_above) + y = monitor.y + monitor.height - requisition.height; + else + y = monitor.y; + } else - { - y = monitor.y; - } + { + y = monitor.y; + } } scroll_offset = 0; - if (private->initially_pushed_in) + if (priv->initially_pushed_in) { menu_height = requisition.height; if (y + menu_height > monitor.y + monitor.height) - { - scroll_offset -= y + menu_height - (monitor.y + monitor.height); - y = (monitor.y + monitor.height) - menu_height; - } - + { + scroll_offset -= y + menu_height - (monitor.y + monitor.height); + y = (monitor.y + monitor.height) - menu_height; + } + if (y < monitor.y) - { - scroll_offset += monitor.y - y; - y = monitor.y; - } + { + scroll_offset += monitor.y - y; + y = monitor.y; + } } /* FIXME: should this be done in the various position_funcs ? */ x = CLAMP (x, monitor.x, MAX (monitor.x, monitor.x + monitor.width - requisition.width)); - + if (GTK_MENU_SHELL (menu)->active) { - private->have_position = TRUE; - private->x = x; - private->y = y; + priv->have_position = TRUE; + priv->position_x = x; + priv->position_y = y; } - + if (y + requisition.height > monitor.y + monitor.height) requisition.height = (monitor.y + monitor.height) - y; - + if (y < monitor.y) { scroll_offset += monitor.y - y; @@ -4746,53 +4699,56 @@ gtk_menu_position (GtkMenu *menu, get_arrows_border (menu, &arrow_border); scroll_offset += arrow_border.top; } - - gtk_window_move (GTK_WINDOW (GTK_MENU_SHELL (menu)->active ? menu->toplevel : menu->tearoff_window), - x, y); + + gtk_window_move (GTK_WINDOW (GTK_MENU_SHELL (menu)->active ? priv->toplevel : priv->tearoff_window), + x, y); if (!GTK_MENU_SHELL (menu)->active) { - gtk_window_resize (GTK_WINDOW (menu->tearoff_window), - requisition.width, requisition.height); + gtk_window_resize (GTK_WINDOW (priv->tearoff_window), + requisition.width, requisition.height); } if (set_scroll_offset) - menu->scroll_offset = scroll_offset; + priv->scroll_offset = scroll_offset; } static void gtk_menu_remove_scroll_timeout (GtkMenu *menu) { - if (menu->timeout_id) + GtkMenuPrivate *priv = menu->priv; + + if (priv->scroll_timeout) { - g_source_remove (menu->timeout_id); - menu->timeout_id = 0; + g_source_remove (priv->scroll_timeout); + priv->scroll_timeout = 0; } } static void gtk_menu_stop_scrolling (GtkMenu *menu) { + GtkMenuPrivate *priv = menu->priv; gboolean touchscreen_mode; gtk_menu_remove_scroll_timeout (menu); g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu)), - "gtk-touchscreen-mode", &touchscreen_mode, - NULL); + "gtk-touchscreen-mode", &touchscreen_mode, + NULL); if (!touchscreen_mode) { - menu->upper_arrow_prelight = FALSE; - menu->lower_arrow_prelight = FALSE; + priv->upper_arrow_prelight = FALSE; + priv->lower_arrow_prelight = FALSE; } } static void gtk_menu_scroll_to (GtkMenu *menu, - gint offset) + gint offset) { - GtkMenuPrivate *priv; + GtkMenuPrivate *priv = menu->priv; GtkAllocation allocation; GtkBorder arrow_border, border; GtkWidget *widget; @@ -4805,18 +4761,17 @@ gtk_menu_scroll_to (GtkMenu *menu, gboolean double_arrows; widget = GTK_WIDGET (menu); - priv = gtk_menu_get_private (menu); - if (menu->tearoff_active && - menu->tearoff_adjustment && - (menu->tearoff_adjustment->value != offset)) + if (priv->tearoff_active && + priv->tearoff_adjustment && + (priv->tearoff_adjustment->value != offset)) { - menu->tearoff_adjustment->value = - CLAMP (offset, - 0, menu->tearoff_adjustment->upper - menu->tearoff_adjustment->page_size); - gtk_adjustment_value_changed (menu->tearoff_adjustment); + priv->tearoff_adjustment->value = + CLAMP (offset, + 0, priv->tearoff_adjustment->upper - priv->tearoff_adjustment->page_size); + gtk_adjustment_value_changed (priv->tearoff_adjustment); } - + /* Move/resize the viewport according to arrows: */ gtk_widget_get_allocation (widget, &allocation); view_width = allocation.width; @@ -4840,25 +4795,24 @@ gtk_menu_scroll_to (GtkMenu *menu, x = border_width + border.left + horizontal_padding; y = border_width + border.top + vertical_padding; - if (double_arrows && !menu->tearoff_active) + if (double_arrows && !priv->tearoff_active) { if (view_height < menu_height || - (offset > 0 && menu->scroll_offset > 0) || - (offset < 0 && menu->scroll_offset < 0)) + (offset > 0 && priv->scroll_offset > 0) || + (offset < 0 && priv->scroll_offset < 0)) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); - GtkStateFlags upper_arrow_previous_state = priv->upper_arrow_state; - GtkStateFlags lower_arrow_previous_state = priv->lower_arrow_state; + GtkStateFlags upper_arrow_previous_state = priv->upper_arrow_state; + GtkStateFlags lower_arrow_previous_state = priv->lower_arrow_state; - if (!menu->upper_arrow_visible || !menu->lower_arrow_visible) + if (!priv->upper_arrow_visible || !priv->lower_arrow_visible) gtk_widget_queue_draw (GTK_WIDGET (menu)); - menu->upper_arrow_visible = menu->lower_arrow_visible = TRUE; + priv->upper_arrow_visible = priv->lower_arrow_visible = TRUE; - get_arrows_border (menu, &arrow_border); - y += arrow_border.top; - view_height -= arrow_border.top; - view_height -= arrow_border.bottom; + get_arrows_border (menu, &arrow_border); + y += arrow_border.top; + view_height -= arrow_border.top; + view_height -= arrow_border.bottom; if (offset <= 0) priv->upper_arrow_state |= GTK_STATE_FLAG_INSENSITIVE; @@ -4866,7 +4820,7 @@ gtk_menu_scroll_to (GtkMenu *menu, { priv->upper_arrow_state &= ~(GTK_STATE_FLAG_INSENSITIVE); - if (menu->upper_arrow_prelight) + if (priv->upper_arrow_prelight) priv->upper_arrow_state |= GTK_STATE_FLAG_PRELIGHT; else priv->upper_arrow_state &= ~(GTK_STATE_FLAG_PRELIGHT); @@ -4878,7 +4832,7 @@ gtk_menu_scroll_to (GtkMenu *menu, { priv->lower_arrow_state &= ~(GTK_STATE_FLAG_INSENSITIVE); - if (menu->lower_arrow_prelight) + if (priv->lower_arrow_prelight) priv->lower_arrow_state |= GTK_STATE_FLAG_PRELIGHT; else priv->lower_arrow_state &= ~(GTK_STATE_FLAG_PRELIGHT); @@ -4892,7 +4846,7 @@ gtk_menu_scroll_to (GtkMenu *menu, (priv->upper_arrow_state & GTK_STATE_FLAG_INSENSITIVE) != 0) { /* At the upper border, possibly remove timeout */ - if (menu->scroll_step < 0) + if (priv->scroll_step < 0) { gtk_menu_stop_scrolling (menu); gtk_widget_queue_draw (GTK_WIDGET (menu)); @@ -4903,103 +4857,99 @@ gtk_menu_scroll_to (GtkMenu *menu, (priv->lower_arrow_state & GTK_STATE_FLAG_INSENSITIVE) != 0) { /* At the lower border, possibly remove timeout */ - if (menu->scroll_step > 0) + if (priv->scroll_step > 0) { gtk_menu_stop_scrolling (menu); gtk_widget_queue_draw (GTK_WIDGET (menu)); } } } - else if (menu->upper_arrow_visible || menu->lower_arrow_visible) + else if (priv->upper_arrow_visible || priv->lower_arrow_visible) { offset = 0; - menu->upper_arrow_visible = menu->lower_arrow_visible = FALSE; - menu->upper_arrow_prelight = menu->lower_arrow_prelight = FALSE; + priv->upper_arrow_visible = priv->lower_arrow_visible = FALSE; + priv->upper_arrow_prelight = priv->lower_arrow_prelight = FALSE; gtk_menu_stop_scrolling (menu); gtk_widget_queue_draw (GTK_WIDGET (menu)); } } - else if (!menu->tearoff_active) + else if (!priv->tearoff_active) { gboolean last_visible; - last_visible = menu->upper_arrow_visible; - menu->upper_arrow_visible = offset > 0; - + last_visible = priv->upper_arrow_visible; + priv->upper_arrow_visible = offset > 0; + /* upper_arrow_visible may have changed, so requery the border */ get_arrows_border (menu, &arrow_border); view_height -= arrow_border.top; - - if ((last_visible != menu->upper_arrow_visible) && - !menu->upper_arrow_visible) - { - menu->upper_arrow_prelight = FALSE; - /* If we hid the upper arrow, possibly remove timeout */ - if (menu->scroll_step < 0) - { - gtk_menu_stop_scrolling (menu); - gtk_widget_queue_draw (GTK_WIDGET (menu)); - } - } + if ((last_visible != priv->upper_arrow_visible) && + !priv->upper_arrow_visible) + { + priv->upper_arrow_prelight = FALSE; + + /* If we hide the upper arrow, possibly remove timeout */ + if (priv->scroll_step < 0) + { + gtk_menu_stop_scrolling (menu); + gtk_widget_queue_draw (GTK_WIDGET (menu)); + } + } + + last_visible = priv->lower_arrow_visible; + priv->lower_arrow_visible = offset < menu_height - view_height; - last_visible = menu->lower_arrow_visible; - menu->lower_arrow_visible = offset < menu_height - view_height; - /* lower_arrow_visible may have changed, so requery the border */ get_arrows_border (menu, &arrow_border); view_height -= arrow_border.bottom; - - if ((last_visible != menu->lower_arrow_visible) && - !menu->lower_arrow_visible) - { - menu->lower_arrow_prelight = FALSE; - /* If we hid the lower arrow, possibly remove timeout */ - if (menu->scroll_step > 0) - { - gtk_menu_stop_scrolling (menu); - gtk_widget_queue_draw (GTK_WIDGET (menu)); - } - } - + if ((last_visible != priv->lower_arrow_visible) && + !priv->lower_arrow_visible) + { + priv->lower_arrow_prelight = FALSE; + + /* If we hide the lower arrow, possibly remove timeout */ + if (priv->scroll_step > 0) + { + gtk_menu_stop_scrolling (menu); + gtk_widget_queue_draw (GTK_WIDGET (menu)); + } + } + y += arrow_border.top; } /* Scroll the menu: */ if (gtk_widget_get_realized (widget)) - gdk_window_move (menu->bin_window, 0, -offset); + gdk_window_move (priv->bin_window, 0, -offset); if (gtk_widget_get_realized (widget)) - gdk_window_move_resize (menu->view_window, - x, - y, - view_width, - view_height); + gdk_window_move_resize (priv->view_window, x, y, view_width, view_height); - menu->scroll_offset = offset; + priv->scroll_offset = offset; } static gboolean compute_child_offset (GtkMenu *menu, - GtkWidget *menu_item, - gint *offset, - gint *height, - gboolean *is_last_child) + GtkWidget *menu_item, + gint *offset, + gint *height, + gboolean *is_last_child) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; gint item_top_attach; gint item_bottom_attach; gint child_offset = 0; gint i; get_effective_child_attach (menu_item, NULL, NULL, - &item_top_attach, &item_bottom_attach); + &item_top_attach, &item_bottom_attach); - /* there is a possibility that we get called before _size_request, so - * check the height table for safety. + /* there is a possibility that we get called before _size_request, + * so check the height table for safety. */ if (!priv->heights || priv->heights_length < gtk_menu_get_n_rows (menu)) return FALSE; @@ -5022,9 +4972,10 @@ compute_child_offset (GtkMenu *menu, static void gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, - GtkWidget *menu_item) + GtkWidget *menu_item) { GtkMenu *menu = GTK_MENU (menu_shell); + GtkMenuPrivate *priv = menu->priv; GtkWidget *widget = GTK_WIDGET (menu_shell); gint child_offset, child_height; gint width, height; @@ -5038,17 +4989,17 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, */ if (compute_child_offset (menu, menu_item, - &child_offset, &child_height, &last_child)) + &child_offset, &child_height, &last_child)) { guint vertical_padding; gboolean double_arrows; - - y = menu->scroll_offset; + + y = priv->scroll_offset; width = gdk_window_get_width (gtk_widget_get_window (widget)); height = gdk_window_get_height (gtk_widget_get_window (widget)); gtk_widget_style_get (widget, - "vertical-padding", &vertical_padding, + "vertical-padding", &vertical_padding, NULL); double_arrows = get_double_arrows (menu); @@ -5057,48 +5008,49 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, 2 * gtk_widget_get_style (widget)->ythickness + 2 * vertical_padding; if (child_offset < y) - { - /* Ignore the enter event we might get if the pointer is on the menu - */ - menu_shell->ignore_enter = TRUE; - gtk_menu_scroll_to (menu, child_offset); - } + { + /* Ignore the enter event we might get if the pointer + * is on the menu + */ + menu_shell->ignore_enter = TRUE; + gtk_menu_scroll_to (menu, child_offset); + } else - { + { GtkBorder arrow_border; arrow_height = 0; get_arrows_border (menu, &arrow_border); - if (!menu->tearoff_active) + if (!priv->tearoff_active) arrow_height = arrow_border.top + arrow_border.bottom; - - if (child_offset + child_height > y + height - arrow_height) - { - arrow_height = 0; - if ((!last_child && !menu->tearoff_active) || double_arrows) - arrow_height += arrow_border.bottom; - y = child_offset + child_height - height + arrow_height; - if (((y > 0) && !menu->tearoff_active) || double_arrows) - { - /* Need upper arrow */ - arrow_height += arrow_border.top; - y = child_offset + child_height - height + arrow_height; - } - /* Ignore the enter event we might get if the pointer is on the menu - */ - menu_shell->ignore_enter = TRUE; - gtk_menu_scroll_to (menu, y); - } - } - + if (child_offset + child_height > y + height - arrow_height) + { + arrow_height = 0; + if ((!last_child && !priv->tearoff_active) || double_arrows) + arrow_height += arrow_border.bottom; + + y = child_offset + child_height - height + arrow_height; + if (((y > 0) && !priv->tearoff_active) || double_arrows) + { + /* Need upper arrow */ + arrow_height += arrow_border.top; + y = child_offset + child_height - height + arrow_height; + } + /* Ignore the enter event we might get if the pointer + * is on the menu + */ + menu_shell->ignore_enter = TRUE; + gtk_menu_scroll_to (menu, y); + } + } } } static void gtk_menu_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item) + GtkWidget *menu_item) { GtkMenu *menu = GTK_MENU (menu_shell); @@ -5117,19 +5069,19 @@ gtk_menu_select_item (GtkMenuShell *menu_shell, * What happens is that when the menu is unrealized and then re-realized, * the allocations are as follows: * - * parent - 1x1 at (0,0) + * parent - 1x1 at (0,0) * child1 - 100x20 at (0,0) * child2 - 100x20 at (0,20) * child3 - 100x20 at (0,40) * * That is, the parent is small but the children are full sized. Then, * when the queued_resize gets processed, the parent gets resized to - * full size. + * full size. * * But in order to eliminate flicker when scrolling, gdkgeometry-x11.c * contains the following logic: - * - * - if a move or resize operation on a window would change the clip + * + * - if a move or resize operation on a window would change the clip * region on the children, then before the window is resized * the background for children is temporarily set to None, the * move/resize done, and the background for the children restored. @@ -5139,7 +5091,7 @@ gtk_menu_select_item (GtkMenuShell *menu_shell, * are not cleared to the background color and the previous background * (the image of the menu) is left in place. */ -static void +static void gtk_menu_reparent (GtkMenu *menu, GtkWidget *new_parent, gboolean unrealize) @@ -5175,20 +5127,20 @@ gtk_menu_show_all (GtkWidget *widget) /** * gtk_menu_set_screen: - * @menu: a #GtkMenu. + * @menu: a #GtkMenu * @screen: (allow-none): a #GdkScreen, or %NULL if the screen should be - * determined by the widget the menu is attached to. + * determined by the widget the menu is attached to * * Sets the #GdkScreen on which the menu will be displayed. * * Since: 2.2 - **/ + */ void -gtk_menu_set_screen (GtkMenu *menu, - GdkScreen *screen) +gtk_menu_set_screen (GtkMenu *menu, + GdkScreen *screen) { g_return_if_fail (GTK_IS_MENU (menu)); - g_return_if_fail (!screen || GDK_IS_SCREEN (screen)); + g_return_if_fail (screen == NULL || GDK_IS_SCREEN (screen)); g_object_set_data (G_OBJECT (menu), I_("gtk-menu-explicit-screen"), screen); @@ -5200,18 +5152,18 @@ gtk_menu_set_screen (GtkMenu *menu, { GtkWidget *attach_widget = gtk_menu_get_attach_widget (menu); if (attach_widget) - attach_widget_screen_changed (attach_widget, NULL, menu); + attach_widget_screen_changed (attach_widget, NULL, menu); } } /** * gtk_menu_attach: - * @menu: a #GtkMenu. - * @child: a #GtkMenuItem. - * @left_attach: The column number to attach the left side of the item to. - * @right_attach: The column number to attach the right side of the item to. - * @top_attach: The row number to attach the top of the item to. - * @bottom_attach: The row number to attach the bottom of the item to. + * @menu: a #GtkMenu + * @child: a #GtkMenuItem + * @left_attach: The column number to attach the left side of the item to + * @right_attach: The column number to attach the right side of the item to + * @top_attach: The row number to attach the top of the item to + * @bottom_attach: The row number to attach the bottom of the item to * * Adds a new #GtkMenuItem to a (table) menu. The number of 'cells' that * an item will occupy is specified by @left_attach, @right_attach, @@ -5222,7 +5174,7 @@ gtk_menu_set_screen (GtkMenu *menu, * Note that this function is not related to gtk_menu_detach(). * * Since: 2.4 - **/ + */ void gtk_menu_attach (GtkMenu *menu, GtkWidget *child, @@ -5246,12 +5198,12 @@ gtk_menu_attach (GtkMenu *menu, if (!parent) { AttachInfo *ai = get_attach_info (child); - + ai->left_attach = left_attach; ai->right_attach = right_attach; ai->top_attach = top_attach; ai->bottom_attach = bottom_attach; - + menu_shell->children = g_list_append (menu_shell->children, child); gtk_widget_set_parent (child, GTK_WIDGET (menu)); @@ -5261,11 +5213,11 @@ gtk_menu_attach (GtkMenu *menu, else { gtk_container_child_set (GTK_CONTAINER (parent), child, - "left-attach", left_attach, - "right-attach", right_attach, - "top-attach", top_attach, - "bottom-attach", bottom_attach, - NULL); + "left-attach", left_attach, + "right-attach", right_attach, + "top-attach", top_attach, + "bottom-attach", bottom_attach, + NULL); } } @@ -5275,8 +5227,8 @@ gtk_menu_get_popup_delay (GtkMenuShell *menu_shell) gint popup_delay; g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu_shell)), - "gtk-menu-popup-delay", &popup_delay, - NULL); + "gtk-menu-popup-delay", &popup_delay, + NULL); return popup_delay; } @@ -5293,7 +5245,6 @@ find_child_containing (GtkMenuShell *menu_shell, /* find a child which includes the area given by * left, right, top, bottom. */ - for (list = menu_shell->children; list; list = list->next) { gint l, r, t, b; @@ -5303,8 +5254,7 @@ find_child_containing (GtkMenuShell *menu_shell, get_effective_child_attach (list->data, &l, &r, &t, &b); - if (l <= left && right <= r - && t <= top && bottom <= b) + if (l <= left && right <= r && t <= top && bottom <= b) return GTK_WIDGET (list->data); } @@ -5323,15 +5273,15 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, if (gtk_widget_get_direction (GTK_WIDGET (menu_shell)) == GTK_TEXT_DIR_RTL) { switch (direction) - { - case GTK_MENU_DIR_CHILD: - direction = GTK_MENU_DIR_PARENT; - break; - case GTK_MENU_DIR_PARENT: - direction = GTK_MENU_DIR_CHILD; - break; - default: ; - } + { + case GTK_MENU_DIR_CHILD: + direction = GTK_MENU_DIR_PARENT; + break; + case GTK_MENU_DIR_PARENT: + direction = GTK_MENU_DIR_CHILD; + break; + default: ; + } } /* use special table menu key bindings */ @@ -5341,51 +5291,53 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, if (direction == GTK_MENU_DIR_NEXT) { - for (i = b; i < gtk_menu_get_n_rows (menu); i++) + for (i = b; i < gtk_menu_get_n_rows (menu); i++) { match = find_child_containing (menu_shell, l, l + 1, i, i + 1); if (match) break; } - if (!match) - { - /* wrap around */ - for (i = 0; i < t; i++) - { + if (!match) + { + /* wrap around */ + for (i = 0; i < t; i++) + { match = find_child_containing (menu_shell, l, l + 1, i, i + 1); if (match) break; - } - } - } + } + } + } else if (direction == GTK_MENU_DIR_PREV) { for (i = t; i > 0; i--) { - match = find_child_containing (menu_shell, l, l + 1, i - 1, i); + match = find_child_containing (menu_shell, + l, l + 1, i - 1, i); if (match) break; } - if (!match) - { - /* wrap around */ - for (i = gtk_menu_get_n_rows (menu); i > b; i--) - { + if (!match) + { + /* wrap around */ + for (i = gtk_menu_get_n_rows (menu); i > b; i--) + { match = find_child_containing (menu_shell, l, l + 1, i - 1, i); if (match) - break; - } - } - } + break; + } + } + } else if (direction == GTK_MENU_DIR_PARENT) { /* we go one left if possible */ if (l > 0) - match = find_child_containing (menu_shell, l - 1, l, t, t + 1); + match = find_child_containing (menu_shell, + l - 1, l, t, t + 1); if (!match) { @@ -5399,7 +5351,7 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, else if (direction == GTK_MENU_DIR_CHILD) { /* we go one right if possible */ - if (r < gtk_menu_get_n_columns (menu)) + if (r < gtk_menu_get_n_columns (menu)) match = find_child_containing (menu_shell, r, r + 1, t, t + 1); if (!match) @@ -5415,7 +5367,7 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, if (match) { - gtk_menu_shell_select_item (menu_shell, match); + gtk_menu_shell_select_item (menu_shell, match); return; } } @@ -5426,6 +5378,7 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, static gint get_visible_size (GtkMenu *menu) { + GtkMenuPrivate *priv = menu->priv; GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET (menu); GtkContainer *container = GTK_CONTAINER (menu); @@ -5436,7 +5389,7 @@ get_visible_size (GtkMenu *menu) - 2 * (gtk_container_get_border_width (container) + gtk_widget_get_style (widget)->ythickness)); - if (!menu->tearoff_active) + if (!priv->tearoff_active) { GtkBorder arrow_border; @@ -5444,7 +5397,7 @@ get_visible_size (GtkMenu *menu) menu_height -= arrow_border.top; menu_height -= arrow_border.bottom; } - + return menu_height; } @@ -5453,41 +5406,42 @@ get_visible_size (GtkMenu *menu) */ static GtkWidget * child_at (GtkMenu *menu, - gint y) + gint y) { + GtkMenuPrivate *priv = menu->priv; GtkMenuShell *menu_shell = GTK_MENU_SHELL (menu); GtkWidget *child = NULL; gint child_offset = 0; GList *children; gint menu_height; - gint lower, upper; /* Onscreen bounds */ + gint lower, upper; /* Onscreen bounds */ menu_height = get_visible_size (menu); - lower = menu->scroll_offset; - upper = menu->scroll_offset + menu_height; - + lower = priv->scroll_offset; + upper = priv->scroll_offset + menu_height; + for (children = menu_shell->children; children; children = children->next) { if (gtk_widget_get_visible (children->data)) - { - GtkRequisition child_requisition; + { + GtkRequisition child_requisition; gtk_widget_get_preferred_size (children->data, &child_requisition, NULL); - if (_gtk_menu_item_is_selectable (children->data) && - child_offset >= lower && - child_offset + child_requisition.height <= upper) - { - child = children->data; - - if (child_offset + child_requisition.height > y && - !GTK_IS_TEAROFF_MENU_ITEM (child)) - return child; - } - - child_offset += child_requisition.height; - } + if (_gtk_menu_item_is_selectable (children->data) && + child_offset >= lower && + child_offset + child_requisition.height <= upper) + { + child = children->data; + + if (child_offset + child_requisition.height > y && + !GTK_IS_TEAROFF_MENU_ITEM (child)) + return child; + } + + child_offset += child_requisition.height; + } } return child; @@ -5496,6 +5450,7 @@ child_at (GtkMenu *menu, static gint get_menu_height (GtkMenu *menu) { + GtkMenuPrivate *priv = menu->priv; GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET (menu); gint height; @@ -5505,7 +5460,7 @@ get_menu_height (GtkMenu *menu) height = allocation.height; height -= (gtk_container_get_border_width (GTK_CONTAINER (widget)) + gtk_widget_get_style (widget)->ythickness) * 2; - if (!menu->tearoff_active) + if (!priv->tearoff_active) { GtkBorder arrow_border; @@ -5519,75 +5474,74 @@ get_menu_height (GtkMenu *menu) static void gtk_menu_real_move_scroll (GtkMenu *menu, - GtkScrollType type) + GtkScrollType type) { + GtkMenuPrivate *priv = menu->priv; gint page_size = get_visible_size (menu); gint end_position = get_menu_height (menu); GtkMenuShell *menu_shell = GTK_MENU_SHELL (menu); - + switch (type) { case GTK_SCROLL_PAGE_UP: case GTK_SCROLL_PAGE_DOWN: { - gint old_offset; + gint old_offset; gint new_offset; - gint child_offset = 0; - gboolean old_upper_arrow_visible; - gint step; + gint child_offset = 0; + gboolean old_upper_arrow_visible; + gint step; - if (type == GTK_SCROLL_PAGE_UP) - step = - page_size; - else - step = page_size; + if (type == GTK_SCROLL_PAGE_UP) + step = - page_size; + else + step = page_size; - if (menu_shell->active_menu_item) - { - gint child_height; - - compute_child_offset (menu, menu_shell->active_menu_item, - &child_offset, &child_height, NULL); - child_offset += child_height / 2; - } + if (menu_shell->active_menu_item) + { + gint child_height; - menu_shell->ignore_enter = TRUE; - old_upper_arrow_visible = menu->upper_arrow_visible && !menu->tearoff_active; - old_offset = menu->scroll_offset; + compute_child_offset (menu, menu_shell->active_menu_item, + &child_offset, &child_height, NULL); + child_offset += child_height / 2; + } - new_offset = menu->scroll_offset + step; + menu_shell->ignore_enter = TRUE; + old_upper_arrow_visible = priv->upper_arrow_visible && !priv->tearoff_active; + old_offset = priv->scroll_offset; + + new_offset = priv->scroll_offset + step; new_offset = CLAMP (new_offset, 0, end_position - page_size); gtk_menu_scroll_to (menu, new_offset); - - if (menu_shell->active_menu_item) - { - GtkWidget *new_child; - gboolean new_upper_arrow_visible = menu->upper_arrow_visible && !menu->tearoff_active; + + if (menu_shell->active_menu_item) + { + GtkWidget *new_child; + gboolean new_upper_arrow_visible = priv->upper_arrow_visible && !priv->tearoff_active; GtkBorder arrow_border; - get_arrows_border (menu, &arrow_border); + get_arrows_border (menu, &arrow_border); - if (menu->scroll_offset != old_offset) - step = menu->scroll_offset - old_offset; + if (priv->scroll_offset != old_offset) + step = priv->scroll_offset - old_offset; - step -= (new_upper_arrow_visible - old_upper_arrow_visible) * arrow_border.top; + step -= (new_upper_arrow_visible - old_upper_arrow_visible) * arrow_border.top; - new_child = child_at (menu, child_offset + step); - if (new_child) - gtk_menu_shell_select_item (menu_shell, new_child); - } + new_child = child_at (menu, child_offset + step); + if (new_child) + gtk_menu_shell_select_item (menu_shell, new_child); + } } break; case GTK_SCROLL_START: - /* Ignore the enter event we might get if the pointer is on the menu - */ + /* Ignore the enter event we might get if the pointer is on the menu */ menu_shell->ignore_enter = TRUE; gtk_menu_scroll_to (menu, 0); gtk_menu_shell_select_first (menu_shell, TRUE); break; case GTK_SCROLL_END: - /* Ignore the enter event we might get if the pointer is on the menu - */ + /* Ignore the enter event we might get if the pointer is on the menu */ menu_shell->ignore_enter = TRUE; gtk_menu_scroll_to (menu, end_position - page_size); _gtk_menu_shell_select_last (menu_shell, TRUE); @@ -5603,27 +5557,27 @@ gtk_menu_real_move_scroll (GtkMenu *menu, * @menu: a #GtkMenu * @monitor_num: the number of the monitor on which the menu should * be popped up - * - * Informs GTK+ on which monitor a menu should be popped up. + * + * Informs GTK+ on which monitor a menu should be popped up. * See gdk_screen_get_monitor_geometry(). * - * This function should be called from a #GtkMenuPositionFunc if the - * menu should not appear on the same monitor as the pointer. This - * information can't be reliably inferred from the coordinates returned - * by a #GtkMenuPositionFunc, since, for very long menus, these coordinates - * may extend beyond the monitor boundaries or even the screen boundaries. + * This function should be called from a #GtkMenuPositionFunc + * if the menu should not appear on the same monitor as the pointer. + * This information can't be reliably inferred from the coordinates + * returned by a #GtkMenuPositionFunc, since, for very long menus, + * these coordinates may extend beyond the monitor boundaries or even + * the screen boundaries. * * Since: 2.4 - **/ + */ void gtk_menu_set_monitor (GtkMenu *menu, - gint monitor_num) + gint monitor_num) { - GtkMenuPrivate *priv; + GtkMenuPrivate *priv = menu->priv; + g_return_if_fail (GTK_IS_MENU (menu)); - priv = gtk_menu_get_private (menu); - priv->monitor_num = monitor_num; } @@ -5637,16 +5591,13 @@ gtk_menu_set_monitor (GtkMenu *menu, * be popped up or -1, if no monitor has been set * * Since: 2.14 - **/ + */ gint gtk_menu_get_monitor (GtkMenu *menu) { - GtkMenuPrivate *priv; g_return_val_if_fail (GTK_IS_MENU (menu), -1); - priv = gtk_menu_get_private (menu); - - return priv->monitor_num; + return menu->priv->monitor_num; } /** @@ -5656,24 +5607,26 @@ gtk_menu_get_monitor (GtkMenu *menu) * Returns a list of the menus which are attached to this widget. * This list is owned by GTK+ and must not be modified. * - * Return value: (element-type GtkWidget) (transfer none): the list of menus attached to his widget. + * Return value: (element-type GtkWidget) (transfer none): the list + * of menus attached to his widget. * * Since: 2.6 - **/ + */ GList* gtk_menu_get_for_attach_widget (GtkWidget *widget) { GList *list; - + g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); - + list = g_object_get_data (G_OBJECT (widget), ATTACHED_MENUS); + return list; } static void gtk_menu_grab_notify (GtkWidget *widget, - gboolean was_grabbed) + gboolean was_grabbed) { GtkWidget *toplevel; GtkWindowGroup *group; @@ -5703,7 +5656,7 @@ gtk_menu_grab_notify (GtkWidget *widget, * @menu: a #GtkMenu * @reserve_toggle_size: whether to reserve size for toggles * - * Sets whether the menu should reserve space for drawing toggles + * Sets whether the menu should reserve space for drawing toggles * or icons, regardless of their actual presence. * * Since: 2.18 @@ -5712,9 +5665,11 @@ void gtk_menu_set_reserve_toggle_size (GtkMenu *menu, gboolean reserve_toggle_size) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; gboolean no_toggle_size; - + + g_return_if_fail (GTK_IS_MENU (menu)); + no_toggle_size = !reserve_toggle_size; if (priv->no_toggle_size != no_toggle_size) @@ -5739,7 +5694,7 @@ gtk_menu_set_reserve_toggle_size (GtkMenu *menu, gboolean gtk_menu_get_reserve_toggle_size (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + g_return_val_if_fail (GTK_IS_MENU (menu), FALSE); - return !priv->no_toggle_size; + return !menu->priv->no_toggle_size; } diff --git a/gtk/gtkmenu.h b/gtk/gtkmenu.h index fbb887b953..1c00338334 100644 --- a/gtk/gtkmenu.h +++ b/gtk/gtkmenu.h @@ -46,8 +46,9 @@ G_BEGIN_DECLS #define GTK_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU, GtkMenuClass)) -typedef struct _GtkMenu GtkMenu; -typedef struct _GtkMenuClass GtkMenuClass; +typedef struct _GtkMenu GtkMenu; +typedef struct _GtkMenuClass GtkMenuClass; +typedef struct _GtkMenuPrivate GtkMenuPrivate; typedef void (*GtkMenuPositionFunc) (GtkMenu *menu, gint *x, @@ -59,55 +60,10 @@ typedef void (*GtkMenuDetachFunc) (GtkWidget *attach_widget, struct _GtkMenu { - GtkMenuShell GSEAL (menu_shell); - - GtkWidget *GSEAL (parent_menu_item); - GtkWidget *GSEAL (old_active_menu_item); + GtkMenuShell menu_shell; - GtkAccelGroup *GSEAL (accel_group); - gchar *GSEAL (accel_path); - GtkMenuPositionFunc GSEAL (position_func); - gpointer GSEAL (position_func_data); - - guint GSEAL (toggle_size); - /* Do _not_ touch these widgets directly. We hide the reference - * count from the toplevel to the menu, so it must be restored - * before operating on these widgets - */ - GtkWidget *GSEAL (toplevel); - - GtkWidget *GSEAL (tearoff_window); - GtkWidget *GSEAL (tearoff_hbox); - GtkWidget *GSEAL (tearoff_scrollbar); - GtkAdjustment *GSEAL (tearoff_adjustment); - - GdkWindow *GSEAL (view_window); - GdkWindow *GSEAL (bin_window); - - gint GSEAL (scroll_offset); - gint GSEAL (saved_scroll_offset); - gint GSEAL (scroll_step); - guint GSEAL (timeout_id); - - /* When a submenu of this menu is popped up, motion in this - * region is ignored - */ - cairo_region_t *GSEAL (navigation_region); /* unused */ - guint GSEAL (navigation_timeout); - - guint GSEAL (needs_destruction_ref_count) : 1; - guint GSEAL (torn_off) : 1; - /* The tearoff is active when it is torn off and the not-torn-off - * menu is not popped up. - */ - guint GSEAL (tearoff_active) : 1; - - guint GSEAL (scroll_fast) : 1; - - guint GSEAL (upper_arrow_visible) : 1; - guint GSEAL (lower_arrow_visible) : 1; - guint GSEAL (upper_arrow_prelight) : 1; - guint GSEAL (lower_arrow_prelight) : 1; + /*< private >*/ + GtkMenuPrivate *priv; }; struct _GtkMenuClass diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 7a94bed278..08eba1e560 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -30,7 +30,7 @@ #include "gtkaccellabel.h" #include "gtkmain.h" #include "gtkmarshalers.h" -#include "gtkmenu.h" +#include "gtkmenuprivate.h" #include "gtkmenubar.h" #include "gtkmenuprivate.h" #include "gtkseparatormenuitem.h" @@ -1253,8 +1253,8 @@ gtk_menu_item_select (GtkMenuItem *menu_item) { GtkMenu *menu = GTK_MENU (parent); - if (menu->parent_menu_item) - gtk_widget_queue_draw (GTK_WIDGET (menu->parent_menu_item)); + if (menu->priv->parent_menu_item) + gtk_widget_queue_draw (GTK_WIDGET (menu->priv->parent_menu_item)); } } @@ -1275,8 +1275,8 @@ gtk_menu_item_deselect (GtkMenuItem *menu_item) { GtkMenu *menu = GTK_MENU (parent); - if (menu->parent_menu_item) - gtk_widget_queue_draw (GTK_WIDGET (menu->parent_menu_item)); + if (menu->priv->parent_menu_item) + gtk_widget_queue_draw (GTK_WIDGET (menu->priv->parent_menu_item)); } } @@ -1621,7 +1621,7 @@ gtk_real_menu_item_select (GtkMenuItem *menu_item) if (!touchscreen_mode && menu_item->submenu && (!gtk_widget_get_mapped (menu_item->submenu) || - GTK_MENU (menu_item->submenu)->tearoff_active)) + GTK_MENU (menu_item->submenu)->priv->tearoff_active)) { _gtk_menu_item_popup_submenu (GTK_WIDGET (menu_item), TRUE); } @@ -1836,8 +1836,8 @@ gtk_menu_item_popup_timeout (gpointer data) parent = gtk_widget_get_parent (GTK_WIDGET (menu_item)); - if ((GTK_IS_MENU_SHELL (parent) && GTK_MENU_SHELL (parent)->active) || - (GTK_IS_MENU (parent) && GTK_MENU (parent)->torn_off)) + if ((GTK_IS_MENU_SHELL (parent) && GTK_MENU_SHELL (parent)->active) || + (GTK_IS_MENU (parent) && GTK_MENU (parent)->priv->torn_off)) { gtk_menu_item_real_popup_submenu (GTK_WIDGET (menu_item), TRUE); if (menu_item->timer_from_keypress && menu_item->submenu) @@ -2027,8 +2027,8 @@ gtk_menu_item_position_menu (GtkMenu *menu, } else if (GTK_IS_MENU (parent)) { - if (GTK_MENU (parent)->parent_menu_item) - menu_item->from_menubar = GTK_MENU_ITEM (GTK_MENU (parent)->parent_menu_item)->from_menubar; + if (GTK_MENU (parent)->priv->parent_menu_item) + menu_item->from_menubar = GTK_MENU_ITEM (GTK_MENU (parent)->priv->parent_menu_item)->from_menubar; else menu_item->from_menubar = FALSE; } @@ -2059,13 +2059,13 @@ gtk_menu_item_position_menu (GtkMenu *menu, case GTK_LEFT_RIGHT: if (GTK_IS_MENU (parent)) - parent_menu_item = GTK_MENU_ITEM (GTK_MENU (parent)->parent_menu_item); + parent_menu_item = GTK_MENU_ITEM (GTK_MENU (parent)->priv->parent_menu_item); else parent_menu_item = NULL; parent_xthickness = gtk_widget_get_style (parent)->xthickness; - if (parent_menu_item && !GTK_MENU (parent)->torn_off) + if (parent_menu_item && !GTK_MENU (parent)->priv->torn_off) { menu_item->submenu_direction = parent_menu_item->submenu_direction; } @@ -2117,9 +2117,9 @@ gtk_menu_item_position_menu (GtkMenu *menu, gtk_menu_set_monitor (menu, monitor_num); - if (!gtk_widget_get_visible (menu->toplevel)) + if (!gtk_widget_get_visible (menu->priv->toplevel)) { - gtk_window_set_type_hint (GTK_WINDOW (menu->toplevel), menu_item->from_menubar? + gtk_window_set_type_hint (GTK_WINDOW (menu->priv->toplevel), menu_item->from_menubar? GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU : GDK_WINDOW_TYPE_HINT_POPUP_MENU); } } @@ -2233,8 +2233,8 @@ gtk_menu_item_parent_set (GtkWidget *widget, if (menu) _gtk_menu_item_refresh_accel_path (menu_item, - menu->accel_path, - menu->accel_group, + menu->priv->accel_path, + menu->priv->accel_group, TRUE); if (GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->parent_set) @@ -2338,10 +2338,10 @@ gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, { GtkMenu *menu = GTK_MENU (parent); - if (menu->accel_group) + if (menu->priv->accel_group) _gtk_menu_item_refresh_accel_path (GTK_MENU_ITEM (widget), NULL, - menu->accel_group, + menu->priv->accel_group, FALSE); } } diff --git a/gtk/gtkmenuprivate.h b/gtk/gtkmenuprivate.h index 9c1e0b39d2..cbac9fdea1 100644 --- a/gtk/gtkmenuprivate.h +++ b/gtk/gtkmenuprivate.h @@ -26,6 +26,10 @@ #ifndef __GTK_MENU_PRIVATE_H__ #define __GTK_MENU_PRIVATE_H__ +#include + +G_BEGIN_DECLS + /* Directions for submenus */ typedef enum { @@ -41,4 +45,89 @@ typedef enum } GtkSubmenuPlacement; +struct _GtkMenuPrivate +{ + GtkWidget *parent_menu_item; + GtkWidget *old_active_menu_item; + + GtkAccelGroup *accel_group; + gchar *accel_path; + + GtkMenuPositionFunc position_func; + gpointer position_func_data; + GDestroyNotify position_func_data_destroy; + gint position_x; + gint position_y; + + guint toggle_size; + guint accel_size; + + /* Do _not_ touch these widgets directly. We hide the reference + * count from the toplevel to the menu, so it must be restored + * before operating on these widgets + */ + GtkWidget *toplevel; + + GtkWidget *tearoff_window; + GtkWidget *tearoff_hbox; + GtkWidget *tearoff_scrollbar; + GtkAdjustment *tearoff_adjustment; + + GdkWindow *view_window; + GdkWindow *bin_window; + + gint scroll_offset; + gint saved_scroll_offset; + gint scroll_step; + + guint scroll_timeout; + + guint needs_destruction_ref : 1; + guint torn_off : 1; + /* The tearoff is active when it is torn off and the not-torn-off + * menu is not popped up. + */ + guint tearoff_active : 1; + guint scroll_fast : 1; + + guint upper_arrow_visible : 1; + guint lower_arrow_visible : 1; + guint upper_arrow_prelight : 1; + guint lower_arrow_prelight : 1; + + guint have_position : 1; + guint have_layout : 1; + guint seen_item_enter : 1; + guint ignore_button_release : 1; + guint no_toggle_size : 1; + + /* info used for the table */ + guint *heights; + gint heights_length; + gint requested_height; + + gboolean initially_pushed_in; + gint monitor_num; + + /* Cached layout information */ + gint n_rows; + gint n_columns; + + gchar *title; + + /* Arrow states */ + GtkStateFlags lower_arrow_state; + GtkStateFlags upper_arrow_state; + + /* navigation region */ + gint navigation_x; + gint navigation_y; + gint navigation_width; + gint navigation_height; + + guint navigation_timeout; +}; + +G_END_DECLS + #endif /* __GTK_MENU_PRIVATE_H__ */ diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 7b94ce9b25..03793d441a 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -31,7 +31,7 @@ #include "gtklabel.h" #include "gtkmain.h" #include "gtkmarshalers.h" -#include "gtkmenu.h" +#include "gtkmenuprivate.h" #include "gtkmenubar.h" #include "gtkmenuitem.h" #include "gtkmenushell.h" @@ -1530,7 +1530,7 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, if (touchscreen_mode) { /* close menu when returning from submenu. */ - _gtk_menu_item_popdown_submenu (GTK_MENU (menu_shell)->parent_menu_item); + _gtk_menu_item_popdown_submenu (GTK_MENU (menu_shell)->priv->parent_menu_item); _gtk_menu_shell_update_mnemonics (parent_menu_shell); break; } diff --git a/gtk/gtktearoffmenuitem.c b/gtk/gtktearoffmenuitem.c index 680b0851b3..da174f06c5 100644 --- a/gtk/gtktearoffmenuitem.c +++ b/gtk/gtktearoffmenuitem.c @@ -26,7 +26,7 @@ #include "config.h" -#include "gtkmenu.h" +#include "gtkmenuprivate.h" #include "gtktearoffmenuitem.h" #include "gtkintl.h" @@ -120,7 +120,7 @@ gtk_tearoff_menu_item_get_preferred_height (GtkWidget *widget, *minimum = *natural = (border_width + style->ythickness) * 2; parent = gtk_widget_get_parent (widget); - if (GTK_IS_MENU (parent) && GTK_MENU (parent)->torn_off) + if (GTK_IS_MENU (parent) && GTK_MENU (parent)->priv->torn_off) { *minimum += ARROW_SIZE; *natural += ARROW_SIZE; @@ -177,7 +177,7 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, } parent = gtk_widget_get_parent (widget); - if (GTK_IS_MENU (parent) && GTK_MENU (parent)->torn_off) + if (GTK_IS_MENU (parent) && GTK_MENU (parent)->priv->torn_off) { gint arrow_x; @@ -254,7 +254,7 @@ gtk_tearoff_menu_item_activate (GtkMenuItem *menu_item) gtk_widget_queue_resize (GTK_WIDGET (menu_item)); gtk_menu_set_tearoff_state (GTK_MENU (parent), - !menu->torn_off); + !menu->priv->torn_off); } } From 2ed81aa57c54dc72936e9284cedffa4a5057fa9c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 18:21:53 -0500 Subject: [PATCH 0897/1463] Remove sealed members from GtkMenuShell --- gtk/Makefile.am | 1 + gtk/gtkcombobox.c | 25 +- gtk/gtklabel.c | 1 + gtk/gtkmenu.c | 166 +++--- gtk/gtkmenubar.c | 49 +- gtk/gtkmenuitem.c | 9 +- gtk/gtkmenushell.c | 1027 ++++++++++++++++++------------------- gtk/gtkmenushell.h | 126 ++--- gtk/gtkmenushellprivate.h | 82 +++ gtk/gtkuimanager.c | 11 +- gtk/gtkwindow.c | 1 - 11 files changed, 757 insertions(+), 741 deletions(-) create mode 100644 gtk/gtkmenushellprivate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 4c833578b5..ba619609ef 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -400,6 +400,7 @@ gtk_private_h_sources = \ gtkintl.h \ gtkkeyhash.h \ gtkmenuprivate.h \ + gtkmenushellprivate.h \ gtkmnemonichash.h \ gtkmodifierstyle.h \ gtkmountoperationprivate.h \ diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 509927a83c..2de10eb0d8 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -31,6 +31,7 @@ #include "gtkliststore.h" #include "gtkmain.h" #include "gtkmenuprivate.h" +#include "gtkmenushellprivate.h" #include "gtkscrolledwindow.h" #include "gtkseparatormenuitem.h" #include "gtktearoffmenuitem.h" @@ -1874,7 +1875,7 @@ gtk_combo_box_menu_position_over (GtkMenu *menu, menu_ypos -= child_allocation.height / 2; } - children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->children; + children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->priv->children; while (children) { child = children->data; @@ -1924,15 +1925,15 @@ gtk_combo_box_menu_position (GtkMenu *menu, GtkComboBoxPrivate *priv = combo_box->priv; GtkWidget *menu_item; - if (priv->wrap_width > 0 || priv->cell_view == NULL) + if (priv->wrap_width > 0 || priv->cell_view == NULL) gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data); else { /* FIXME handle nested menus better */ menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); if (menu_item) - gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), - menu_item); + gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), + menu_item); gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); } @@ -3189,13 +3190,13 @@ gtk_combo_box_menu_fill (GtkComboBox *combo_box) GtkWidget *tearoff = gtk_tearoff_menu_item_new (); gtk_widget_show (tearoff); - + if (priv->wrap_width) - gtk_menu_attach (GTK_MENU (menu), tearoff, 0, priv->wrap_width, 0, 1); + gtk_menu_attach (GTK_MENU (menu), tearoff, 0, priv->wrap_width, 0, 1); else - gtk_menu_shell_append (GTK_MENU_SHELL (menu), tearoff); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), tearoff); } - + gtk_combo_box_menu_fill_level (combo_box, menu, NULL); } @@ -3342,11 +3343,11 @@ menu_occupied (GtkMenu *menu, { GList *i; - for (i = GTK_MENU_SHELL (menu)->children; i; i = i->next) + for (i = GTK_MENU_SHELL (menu)->priv->children; i; i = i->next) { guint l, r, b, t; - gtk_container_child_get (GTK_CONTAINER (menu), + gtk_container_child_get (GTK_CONTAINER (menu), i->data, "left-attach", &l, "right-attach", &r, @@ -3375,12 +3376,12 @@ gtk_combo_box_relayout_item (GtkComboBox *combo_box, if (!GTK_IS_MENU_SHELL (menu)) return; - + if (priv->col_column == -1 && priv->row_column == -1 && last) { - gtk_container_child_get (GTK_CONTAINER (menu), + gtk_container_child_get (GTK_CONTAINER (menu), last, "right-attach", ¤t_col, "top-attach", ¤t_row, diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index ba7405564c..6e1be9b28e 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -42,6 +42,7 @@ #include "gtkseparatormenuitem.h" #include "gtktextutil.h" #include "gtkmenuitem.h" +#include "gtkmenushellprivate.h" #include "gtknotebook.h" #include "gtkstock.h" #include "gtkbindings.h" diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index c6ba098795..0e5b6121de 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -35,6 +35,7 @@ #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkmenuprivate.h" +#include "gtkmenushellprivate.h" #include "gtktearoffmenuitem.h" #include "gtkwindow.h" #include "gtkhbox.h" @@ -328,7 +329,7 @@ menu_ensure_layout (GtkMenu *menu) GList *l; gchar *row_occupied; gint current_row; - gint max_right_attach; + gint max_right_attach; gint max_bottom_attach; /* Find extents of gridded portion @@ -336,7 +337,7 @@ menu_ensure_layout (GtkMenu *menu) max_right_attach = 1; max_bottom_attach = 0; - for (l = menu_shell->children; l; l = l->next) + for (l = menu_shell->priv->children; l; l = l->next) { GtkWidget *child = l->data; AttachInfo *ai = get_attach_info (child); @@ -351,7 +352,7 @@ menu_ensure_layout (GtkMenu *menu) /* Find empty rows */ row_occupied = g_malloc0 (max_bottom_attach); - for (l = menu_shell->children; l; l = l->next) + for (l = menu_shell->priv->children; l; l = l->next) { GtkWidget *child = l->data; AttachInfo *ai = get_attach_info (child); @@ -368,7 +369,7 @@ menu_ensure_layout (GtkMenu *menu) /* Lay non-grid-items out in those rows */ current_row = 0; - for (l = menu_shell->children; l; l = l->next) + for (l = menu_shell->priv->children; l; l = l->next) { GtkWidget *child = l->data; AttachInfo *ai = get_attach_info (child); @@ -876,7 +877,7 @@ gtk_menu_get_property (GObject *object, switch (prop_id) { case PROP_ACTIVE: - g_value_set_int (value, g_list_index (GTK_MENU_SHELL (menu)->children, gtk_menu_get_active (menu))); + g_value_set_int (value, g_list_index (GTK_MENU_SHELL (menu)->priv->children, gtk_menu_get_active (menu))); break; case PROP_ACCEL_GROUP: g_value_set_object (value, gtk_menu_get_accel_group (menu)); @@ -1432,7 +1433,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, keyboard = gdk_device_get_associated_device (device); } - menu_shell->parent_menu_shell = parent_menu_shell; + menu_shell->priv->parent_menu_shell = parent_menu_shell; priv->seen_item_enter = FALSE; @@ -1458,7 +1459,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, if (viewable) xgrab_shell = parent; - parent = GTK_MENU_SHELL (parent)->parent_menu_shell; + parent = GTK_MENU_SHELL (parent)->priv->parent_menu_shell; } /* We want to receive events generated when we map the menu; @@ -1489,7 +1490,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, if (popup_grab_on_window (gtk_widget_get_window (xgrab_shell), keyboard, pointer, activate_time)) { _gtk_menu_shell_set_grab_device (GTK_MENU_SHELL (xgrab_shell), pointer); - GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE; + GTK_MENU_SHELL (xgrab_shell)->priv->have_xgrab = TRUE; } } else @@ -1501,24 +1502,24 @@ gtk_menu_popup_for_device (GtkMenu *menu, if (popup_grab_on_window (transfer_window, keyboard, pointer, activate_time)) { _gtk_menu_shell_set_grab_device (GTK_MENU_SHELL (xgrab_shell), pointer); - GTK_MENU_SHELL (xgrab_shell)->have_xgrab = TRUE; + GTK_MENU_SHELL (xgrab_shell)->priv->have_xgrab = TRUE; } } - if (!GTK_MENU_SHELL (xgrab_shell)->have_xgrab) + if (!GTK_MENU_SHELL (xgrab_shell)->priv->have_xgrab) { /* We failed to make our pointer/keyboard grab. * Rather than leaving the user with a stuck up window, * we just abort here. Presumably the user will try again. */ - menu_shell->parent_menu_shell = NULL; + menu_shell->priv->parent_menu_shell = NULL; menu_grab_transfer_window_destroy (menu); return; } _gtk_menu_shell_set_grab_device (GTK_MENU_SHELL (menu), pointer); - menu_shell->active = TRUE; - menu_shell->button = button; + menu_shell->priv->active = TRUE; + menu_shell->priv->button = button; /* If we are popping up the menu from something other than, a button * press then, as a heuristic, we ignore enter events for the menu @@ -1530,12 +1531,12 @@ gtk_menu_popup_for_device (GtkMenu *menu, { if ((current_event->type != GDK_BUTTON_PRESS) && (current_event->type != GDK_ENTER_NOTIFY)) - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; gdk_event_free (current_event); } else - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; if (priv->torn_off) { @@ -1563,7 +1564,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, priv->position_func = func; priv->position_func_data = data; priv->position_func_data_destroy = destroy; - menu_shell->activate_time = activate_time; + menu_shell->priv->activate_time = activate_time; /* We need to show the menu here rather in the init function * because code expects to be able to tell if the menu is onscreen @@ -1600,7 +1601,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, gtk_menu_scroll_to (menu, priv->scroll_offset); /* if no item is selected, select the first one */ - if (!menu_shell->active_menu_item) + if (!menu_shell->priv->active_menu_item) { gboolean touchscreen_mode; @@ -1627,7 +1628,7 @@ gtk_menu_popup_for_device (GtkMenu *menu, keyboard_mode = _gtk_menu_shell_get_keyboard_mode (GTK_MENU_SHELL (parent_menu_shell)); _gtk_menu_shell_set_keyboard_mode (menu_shell, keyboard_mode); } - else if (menu_shell->button == 0) /* a keynav-activated context menu */ + else if (menu_shell->priv->button == 0) /* a keynav-activated context menu */ _gtk_menu_shell_set_keyboard_mode (menu_shell, TRUE); _gtk_menu_shell_update_mnemonics (menu_shell); @@ -1697,20 +1698,20 @@ gtk_menu_popdown (GtkMenu *menu) menu_shell = GTK_MENU_SHELL (menu); priv = menu->priv; - menu_shell->parent_menu_shell = NULL; - menu_shell->active = FALSE; - menu_shell->ignore_enter = FALSE; + menu_shell->priv->parent_menu_shell = NULL; + menu_shell->priv->active = FALSE; + menu_shell->priv->ignore_enter = FALSE; priv->have_position = FALSE; gtk_menu_stop_scrolling (menu); gtk_menu_stop_navigating_submenu (menu); - if (menu_shell->active_menu_item) + if (menu_shell->priv->active_menu_item) { if (priv->old_active_menu_item) g_object_unref (priv->old_active_menu_item); - priv->old_active_menu_item = menu_shell->active_menu_item; + priv->old_active_menu_item = menu_shell->priv->active_menu_item; g_object_ref (priv->old_active_menu_item); } @@ -1740,7 +1741,7 @@ gtk_menu_popdown (GtkMenu *menu) /* We popped up the menu from the tearoff, so we need to * release the grab - we aren't actually hiding the menu. */ - if (menu_shell->have_xgrab && pointer) + if (menu_shell->priv->have_xgrab && pointer) { GdkDevice *keyboard; @@ -1763,7 +1764,7 @@ gtk_menu_popdown (GtkMenu *menu) else gtk_widget_hide (GTK_WIDGET (menu)); - menu_shell->have_xgrab = FALSE; + menu_shell->priv->have_xgrab = FALSE; if (pointer) gtk_device_grab_remove (GTK_WIDGET (menu), pointer); @@ -1785,7 +1786,7 @@ gtk_menu_get_active (GtkMenu *menu) if (!priv->old_active_menu_item) { child = NULL; - children = GTK_MENU_SHELL (menu)->children; + children = GTK_MENU_SHELL (menu)->priv->children; while (children) { @@ -1815,7 +1816,7 @@ gtk_menu_set_active (GtkMenu *menu, g_return_if_fail (GTK_IS_MENU (menu)); - tmp_list = g_list_nth (GTK_MENU_SHELL (menu)->children, index); + tmp_list = g_list_nth (GTK_MENU_SHELL (menu)->priv->children, index); if (tmp_list) { child = tmp_list->data; @@ -2266,10 +2267,10 @@ gtk_menu_reorder_child (GtkMenu *menu, menu_shell = GTK_MENU_SHELL (menu); - if (g_list_find (menu_shell->children, child)) + if (g_list_find (menu_shell->priv->children, child)) { - menu_shell->children = g_list_remove (menu_shell->children, child); - menu_shell->children = g_list_insert (menu_shell->children, child, position); + menu_shell->priv->children = g_list_remove (menu_shell->priv->children, child); + menu_shell->priv->children = g_list_insert (menu_shell->priv->children, child, position); menu_queue_resize (menu); } @@ -2434,7 +2435,7 @@ gtk_menu_realize (GtkWidget *widget) &attributes, attributes_mask); gdk_window_set_user_data (priv->bin_window, menu); - children = GTK_MENU_SHELL (menu)->children; + children = GTK_MENU_SHELL (menu)->priv->children; while (children) { child = children->data; @@ -2447,9 +2448,9 @@ gtk_menu_realize (GtkWidget *widget) gtk_style_context_set_background (context, priv->view_window); gtk_style_context_set_background (context, window); - if (GTK_MENU_SHELL (widget)->active_menu_item) + if (GTK_MENU_SHELL (widget)->priv->active_menu_item) gtk_menu_scroll_item_visible (GTK_MENU_SHELL (widget), - GTK_MENU_SHELL (widget)->active_menu_item); + GTK_MENU_SHELL (widget)->priv->active_menu_item); gdk_window_show (priv->bin_window); gdk_window_show (priv->view_window); @@ -2564,7 +2565,7 @@ calculate_line_heights (GtkMenu *menu, border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); avail_width -= (border_width + horizontal_padding + gtk_widget_get_style (widget)->xthickness) * 2; - for (children = menu_shell->children; children; children = children->next) + for (children = menu_shell->priv->children; children; children = children->next) { gint part; gint toggle_size; @@ -2658,7 +2659,7 @@ gtk_menu_size_allocate (GtkWidget *widget, height = allocation->height - (2 * (border_width + vertical_padding)) - border.top - border.bottom; - if (menu_shell->active) + if (menu_shell->priv->active) gtk_menu_scroll_to (menu, priv->scroll_offset); if (!priv->tearoff_active) @@ -2683,11 +2684,11 @@ gtk_menu_size_allocate (GtkWidget *widget, gdk_window_move_resize (priv->view_window, x, y, width, height); } - if (menu_shell->children) + if (menu_shell->priv->children) { gint base_width = width / gtk_menu_get_n_columns (menu); - children = menu_shell->children; + children = menu_shell->priv->children; while (children) { child = children->data; @@ -3011,7 +3012,7 @@ gtk_menu_get_preferred_width (GtkWidget *widget, max_toggle_size = 0; max_accel_width = 0; - children = menu_shell->children; + children = menu_shell->priv->children; while (children) { gint part; @@ -3238,8 +3239,8 @@ pointer_in_menu_window (GtkWidget *widget, menu_shell = GTK_MENU_SHELL (widget); - if (GTK_IS_MENU (menu_shell->parent_menu_shell)) - return pointer_in_menu_window (menu_shell->parent_menu_shell, + if (GTK_IS_MENU (menu_shell->priv->parent_menu_shell)) + return pointer_in_menu_window (menu_shell->priv->parent_menu_shell, x_root, y_root); } @@ -3303,8 +3304,8 @@ gtk_menu_button_release (GtkWidget *widget, * next button_press/button_release in GtkMenuShell. * See bug #449371. */ - if (GTK_MENU_SHELL (widget)->active) - GTK_MENU_SHELL (widget)->button = 0; + if (GTK_MENU_SHELL (widget)->priv->active) + GTK_MENU_SHELL (widget)->priv->button = 0; return TRUE; } @@ -3434,12 +3435,12 @@ gtk_menu_key_press (GtkWidget *widget, /* Modify the accelerators */ if (can_change_accels && - menu_shell->active_menu_item && - gtk_bin_get_child (GTK_BIN (menu_shell->active_menu_item)) && /* no separators */ - GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL && /* no submenus */ + menu_shell->priv->active_menu_item && + gtk_bin_get_child (GTK_BIN (menu_shell->priv->active_menu_item)) && /* no separators */ + GTK_MENU_ITEM (menu_shell->priv->active_menu_item)->submenu == NULL && /* no submenus */ (delete || gtk_accelerator_valid (accel_key, accel_mods))) { - GtkWidget *menu_item = menu_shell->active_menu_item; + GtkWidget *menu_item = menu_shell->priv->active_menu_item; gboolean locked, replace_accels = TRUE; const gchar *path; @@ -3566,9 +3567,9 @@ gtk_menu_motion_notify (GtkWidget *widget, menu = GTK_MENU (menu_shell); if (definitely_within_item (menu_item, event->x, event->y)) - menu_shell->activate_time = 0; + menu_shell->priv->activate_time = 0; - need_enter = (gtk_menu_has_navigation_triangle (menu) || menu_shell->ignore_enter); + need_enter = (gtk_menu_has_navigation_triangle (menu) || menu_shell->priv->ignore_enter); /* Check to see if we are within an active submenu's navigation region */ @@ -3592,7 +3593,7 @@ gtk_menu_motion_notify (GtkWidget *widget, /* The menu is now sensitive to enter events on its items, but * was previously sensitive. So we fake an enter event. */ - menu_shell->ignore_enter = FALSE; + menu_shell->priv->ignore_enter = FALSE; if (event->x >= 0 && event->x < gdk_window_get_width (event->window) && event->y >= 0 && event->y < gdk_window_get_height (event->window)) @@ -3721,7 +3722,7 @@ gtk_menu_do_timeout_scroll (GtkMenu *menu, * this would cause the uncovered menu item to be activated on button * release. Therefore we need to ignore button release here */ - GTK_MENU_SHELL (menu)->ignore_enter = TRUE; + GTK_MENU_SHELL (menu)->priv->ignore_enter = TRUE; priv->ignore_button_release = TRUE; } } @@ -4162,7 +4163,7 @@ gtk_menu_enter_notify (GtkWidget *widget, { GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); - if (!menu_shell->ignore_enter) + if (!menu_shell->priv->ignore_enter) gtk_menu_handle_scrolling (GTK_MENU (widget), event->x_root, event->y_root, TRUE, TRUE); } @@ -4182,7 +4183,7 @@ gtk_menu_enter_notify (GtkWidget *widget, * on this menu. This means a release should always * mean activate. */ - menu_shell->activate_time = 0; + menu_shell->priv->activate_time = 0; } else if ((event->detail != GDK_NOTIFY_NONLINEAR && event->detail != GDK_NOTIFY_NONLINEAR_VIRTUAL)) @@ -4195,7 +4196,7 @@ gtk_menu_enter_notify (GtkWidget *widget, * far enough away from the enter point. (see * gtk_menu_motion_notify()) */ - menu_shell->activate_time = 0; + menu_shell->priv->activate_time = 0; } } @@ -4248,16 +4249,16 @@ gtk_menu_leave_notify (GtkWidget *widget, /* Here we check to see if we're leaving an active menu item * with a submenu, in which case we enter submenu navigation mode. */ - if (menu_shell->active_menu_item != NULL + if (menu_shell->priv->active_menu_item != NULL && menu_item->submenu != NULL && menu_item->submenu_placement == GTK_LEFT_RIGHT) { - if (GTK_MENU_SHELL (menu_item->submenu)->active) + if (GTK_MENU_SHELL (menu_item->submenu)->priv->active) { gtk_menu_set_submenu_navigation_region (menu, menu_item, event); return TRUE; } - else if (menu_item == GTK_MENU_ITEM (menu_shell->active_menu_item)) + else if (menu_item == GTK_MENU_ITEM (menu_shell->priv->active_menu_item)) { /* We are leaving an active menu item with nonactive submenu. * Deselect it so we don't surprise the user with by popping @@ -4467,9 +4468,9 @@ gtk_menu_deactivate (GtkMenuShell *menu_shell) g_return_if_fail (GTK_IS_MENU (menu_shell)); - parent = menu_shell->parent_menu_shell; + parent = menu_shell->priv->parent_menu_shell; - menu_shell->activate_time = 0; + menu_shell->priv->activate_time = 0; gtk_menu_popdown (GTK_MENU (menu_shell)); if (parent) @@ -4675,7 +4676,7 @@ gtk_menu_position (GtkMenu *menu, /* FIXME: should this be done in the various position_funcs ? */ x = CLAMP (x, monitor.x, MAX (monitor.x, monitor.x + monitor.width - requisition.width)); - if (GTK_MENU_SHELL (menu)->active) + if (GTK_MENU_SHELL (menu)->priv->active) { priv->have_position = TRUE; priv->position_x = x; @@ -4700,10 +4701,10 @@ gtk_menu_position (GtkMenu *menu, scroll_offset += arrow_border.top; } - gtk_window_move (GTK_WINDOW (GTK_MENU_SHELL (menu)->active ? priv->toplevel : priv->tearoff_window), + gtk_window_move (GTK_WINDOW (GTK_MENU_SHELL (menu)->priv->active ? priv->toplevel : priv->tearoff_window), x, y); - if (!GTK_MENU_SHELL (menu)->active) + if (!GTK_MENU_SHELL (menu)->priv->active) { gtk_window_resize (GTK_WINDOW (priv->tearoff_window), requisition.width, requisition.height); @@ -5012,7 +5013,7 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, /* Ignore the enter event we might get if the pointer * is on the menu */ - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; gtk_menu_scroll_to (menu, child_offset); } else @@ -5041,7 +5042,7 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, /* Ignore the enter event we might get if the pointer * is on the menu */ - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; gtk_menu_scroll_to (menu, y); } } @@ -5204,7 +5205,7 @@ gtk_menu_attach (GtkMenu *menu, ai->top_attach = top_attach; ai->bottom_attach = bottom_attach; - menu_shell->children = g_list_append (menu_shell->children, child); + menu_shell->priv->children = g_list_append (menu_shell->priv->children, child); gtk_widget_set_parent (child, GTK_WIDGET (menu)); @@ -5245,7 +5246,7 @@ find_child_containing (GtkMenuShell *menu_shell, /* find a child which includes the area given by * left, right, top, bottom. */ - for (list = menu_shell->children; list; list = list->next) + for (list = menu_shell->priv->children; list; list = list->next) { gint l, r, t, b; @@ -5285,9 +5286,9 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, } /* use special table menu key bindings */ - if (menu_shell->active_menu_item && gtk_menu_get_n_columns (menu) > 1) + if (menu_shell->priv->active_menu_item && gtk_menu_get_n_columns (menu) > 1) { - get_effective_child_attach (menu_shell->active_menu_item, &l, &r, &t, &b); + get_effective_child_attach (menu_shell->priv->active_menu_item, &l, &r, &t, &b); if (direction == GTK_MENU_DIR_NEXT) { @@ -5341,11 +5342,11 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, if (!match) { - GtkWidget *parent = menu_shell->parent_menu_shell; + GtkWidget *parent = menu_shell->priv->parent_menu_shell; if (!parent - || g_list_length (GTK_MENU_SHELL (parent)->children) <= 1) - match = menu_shell->active_menu_item; + || g_list_length (GTK_MENU_SHELL (parent)->priv->children) <= 1) + match = menu_shell->priv->active_menu_item; } } else if (direction == GTK_MENU_DIR_CHILD) @@ -5356,12 +5357,12 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, if (!match) { - GtkWidget *parent = menu_shell->parent_menu_shell; + GtkWidget *parent = menu_shell->priv->parent_menu_shell; - if (! GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu && + if (! GTK_MENU_ITEM (menu_shell->priv->active_menu_item)->submenu && (!parent || - g_list_length (GTK_MENU_SHELL (parent)->children) <= 1)) - match = menu_shell->active_menu_item; + g_list_length (GTK_MENU_SHELL (parent)->priv->children) <= 1)) + match = menu_shell->priv->active_menu_item; } } @@ -5420,7 +5421,7 @@ child_at (GtkMenu *menu, lower = priv->scroll_offset; upper = priv->scroll_offset + menu_height; - for (children = menu_shell->children; children; children = children->next) + for (children = menu_shell->priv->children; children; children = children->next) { if (gtk_widget_get_visible (children->data)) { @@ -5497,16 +5498,16 @@ gtk_menu_real_move_scroll (GtkMenu *menu, else step = page_size; - if (menu_shell->active_menu_item) + if (menu_shell->priv->active_menu_item) { gint child_height; - compute_child_offset (menu, menu_shell->active_menu_item, + compute_child_offset (menu, menu_shell->priv->active_menu_item, &child_offset, &child_height, NULL); child_offset += child_height / 2; } - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; old_upper_arrow_visible = priv->upper_arrow_visible && !priv->tearoff_active; old_offset = priv->scroll_offset; @@ -5515,12 +5516,11 @@ gtk_menu_real_move_scroll (GtkMenu *menu, gtk_menu_scroll_to (menu, new_offset); - if (menu_shell->active_menu_item) + if (menu_shell->priv->active_menu_item) { GtkWidget *new_child; gboolean new_upper_arrow_visible = priv->upper_arrow_visible && !priv->tearoff_active; GtkBorder arrow_border; - get_arrows_border (menu, &arrow_border); if (priv->scroll_offset != old_offset) @@ -5536,13 +5536,13 @@ gtk_menu_real_move_scroll (GtkMenu *menu, break; case GTK_SCROLL_START: /* Ignore the enter event we might get if the pointer is on the menu */ - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; gtk_menu_scroll_to (menu, 0); gtk_menu_shell_select_first (menu_shell, TRUE); break; case GTK_SCROLL_END: /* Ignore the enter event we might get if the pointer is on the menu */ - menu_shell->ignore_enter = TRUE; + menu_shell->priv->ignore_enter = TRUE; gtk_menu_scroll_to (menu, end_position - page_size); _gtk_menu_shell_select_last (menu_shell, TRUE); break; @@ -5647,7 +5647,7 @@ gtk_menu_grab_notify (GtkWidget *widget, group = gtk_window_get_group (GTK_WINDOW (toplevel)); grab = gtk_window_group_get_current_device_grab (group, pointer); - if (GTK_MENU_SHELL (widget)->active && !GTK_IS_MENU_SHELL (grab)) + if (GTK_MENU_SHELL (widget)->priv->active && !GTK_IS_MENU_SHELL (grab)) gtk_menu_shell_cancel (GTK_MENU_SHELL (widget)); } diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index bb482844d7..b7c3636e0c 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -34,6 +34,7 @@ #include "gtkmarshalers.h" #include "gtkmenuitem.h" #include "gtkmenuprivate.h" +#include "gtkmenushellprivate.h" #include "gtksettings.h" #include "gtksizerequest.h" #include "gtkwindow.h" @@ -301,7 +302,7 @@ gtk_menu_bar_size_request (GtkWidget *widget, priv = menu_bar->priv; nchildren = 0; - children = menu_shell->children; + children = menu_shell->priv->children; while (children) { @@ -425,7 +426,7 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, gtk_widget_style_get (widget, "internal-padding", &ipadding, NULL); - if (menu_shell->children) + if (menu_shell->priv->children) { border_width = gtk_container_get_border_width (GTK_CONTAINER (menu_bar)); child_allocation.x = (border_width + @@ -454,15 +455,15 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, priv->pack_direction == GTK_PACK_DIRECTION_RTL) { child_allocation.height = MAX (1, (gint)allocation->height - child_allocation.y * 2); - - offset = child_allocation.x; /* Window edge to menubar start */ - ltr_x = child_allocation.x; - - children = menu_shell->children; - while (children) - { - gint toggle_size; - + + offset = child_allocation.x; /* Window edge to menubar start */ + ltr_x = child_allocation.x; + + children = menu_shell->priv->children; + while (children) + { + gint toggle_size; + child = children->data; children = children->next; @@ -504,15 +505,15 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, else { child_allocation.width = MAX (1, (gint)allocation->width - child_allocation.x * 2); - - offset = child_allocation.y; /* Window edge to menubar start */ - ltr_y = child_allocation.y; - - children = menu_shell->children; - while (children) - { - gint toggle_size; - + + offset = child_allocation.y; /* Window edge to menubar start */ + ltr_y = child_allocation.y; + + children = menu_shell->priv->children; + while (children) + { + gint toggle_size; + child = children->data; children = children->next; @@ -766,8 +767,8 @@ _gtk_menu_bar_cycle_focus (GtkMenuBar *menubar, if (current && current->next) { GtkMenuShell *new_menushell = GTK_MENU_SHELL (current->next->data); - if (new_menushell->children) - to_activate = new_menushell->children->data; + if (new_menushell->priv->children) + to_activate = new_menushell->priv->children->data; } } @@ -912,7 +913,7 @@ gtk_menu_bar_set_pack_direction (GtkMenuBar *menubar, gtk_widget_queue_resize (GTK_WIDGET (menubar)); - for (l = GTK_MENU_SHELL (menubar)->children; l; l = l->next) + for (l = GTK_MENU_SHELL (menubar)->priv->children; l; l = l->next) gtk_widget_queue_resize (GTK_WIDGET (l->data)); g_object_notify (G_OBJECT (menubar), "pack-direction"); @@ -965,7 +966,7 @@ gtk_menu_bar_set_child_pack_direction (GtkMenuBar *menubar, gtk_widget_queue_resize (GTK_WIDGET (menubar)); - for (l = GTK_MENU_SHELL (menubar)->children; l; l = l->next) + for (l = GTK_MENU_SHELL (menubar)->priv->children; l; l = l->next) gtk_widget_queue_resize (GTK_WIDGET (l->data)); g_object_notify (G_OBJECT (menubar), "child-pack-direction"); diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 08eba1e560..826200e4da 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -31,6 +31,7 @@ #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkmenuprivate.h" +#include "gtkmenushellprivate.h" #include "gtkmenubar.h" #include "gtkmenuprivate.h" #include "gtkseparatormenuitem.h" @@ -1656,7 +1657,7 @@ gtk_menu_item_mnemonic_activate (GtkWidget *widget, if (group_cycling && parent && GTK_IS_MENU_SHELL (parent) && - GTK_MENU_SHELL (parent)->active) + GTK_MENU_SHELL (parent)->priv->active) { gtk_menu_shell_select_item (GTK_MENU_SHELL (parent), widget); @@ -1816,7 +1817,7 @@ gtk_menu_item_real_popup_submenu (GtkWidget *widget, widget, menu_position_func, menu_item, - GTK_MENU_SHELL (parent)->button, + GTK_MENU_SHELL (parent)->priv->button, 0); } @@ -1836,12 +1837,12 @@ gtk_menu_item_popup_timeout (gpointer data) parent = gtk_widget_get_parent (GTK_WIDGET (menu_item)); - if ((GTK_IS_MENU_SHELL (parent) && GTK_MENU_SHELL (parent)->active) || + if ((GTK_IS_MENU_SHELL (parent) && GTK_MENU_SHELL (parent)->priv->active) || (GTK_IS_MENU (parent) && GTK_MENU (parent)->priv->torn_off)) { gtk_menu_item_real_popup_submenu (GTK_WIDGET (menu_item), TRUE); if (menu_item->timer_from_keypress && menu_item->submenu) - GTK_MENU_SHELL (menu_item->submenu)->ignore_enter = TRUE; + GTK_MENU_SHELL (menu_item->submenu)->priv->ignore_enter = TRUE; } menu_item->timer = 0; diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 03793d441a..20e12dc385 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -31,10 +31,9 @@ #include "gtklabel.h" #include "gtkmain.h" #include "gtkmarshalers.h" -#include "gtkmenuprivate.h" #include "gtkmenubar.h" #include "gtkmenuitem.h" -#include "gtkmenushell.h" +#include "gtkmenushellprivate.h" #include "gtkmenuprivate.h" #include "gtkmnemonichash.h" #include "gtktearoffmenuitem.h" @@ -124,24 +123,6 @@ enum { * Cancels the current selection */ -#define GTK_MENU_SHELL_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShellPrivate)) - -typedef struct _GtkMenuShellPrivate GtkMenuShellPrivate; - -struct _GtkMenuShellPrivate -{ - GtkMnemonicHash *mnemonic_hash; - GtkKeyHash *key_hash; - - GdkDevice *grab_pointer; - - guint take_focus : 1; - guint activated_submenu : 1; - /* This flag is a crutch to keep mnemonics in the same menu - * if the user moves the mouse over an unselectable menuitem. - */ - guint in_unselectable_item : 1; -}; static void gtk_menu_shell_set_property (GObject *object, guint prop_id, @@ -155,53 +136,53 @@ static void gtk_menu_shell_realize (GtkWidget *widget); static void gtk_menu_shell_finalize (GObject *object); static void gtk_menu_shell_dispose (GObject *object); static gint gtk_menu_shell_button_press (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gint gtk_menu_shell_button_release (GtkWidget *widget, - GdkEventButton *event); -static gint gtk_menu_shell_key_press (GtkWidget *widget, - GdkEventKey *event); + GdkEventButton *event); +static gint gtk_menu_shell_key_press (GtkWidget *widget, + GdkEventKey *event); static gint gtk_menu_shell_enter_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gint gtk_menu_shell_leave_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static void gtk_menu_shell_screen_changed (GtkWidget *widget, - GdkScreen *previous_screen); + GdkScreen *previous_screen); static gboolean gtk_menu_shell_grab_broken (GtkWidget *widget, - GdkEventGrabBroken *event); + GdkEventGrabBroken *event); static void gtk_menu_shell_add (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_menu_shell_remove (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_menu_shell_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); static void gtk_menu_shell_real_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position); + GtkWidget *child, + gint position); static void gtk_real_menu_shell_deactivate (GtkMenuShell *menu_shell); static gint gtk_menu_shell_is_item (GtkMenuShell *menu_shell, - GtkWidget *child); + GtkWidget *child); static GtkWidget *gtk_menu_shell_get_item (GtkMenuShell *menu_shell, - GdkEvent *event); + GdkEvent *event); static GType gtk_menu_shell_child_type (GtkContainer *container); static void gtk_menu_shell_real_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item); + GtkWidget *menu_item); static gboolean gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell); static void gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, - GtkMenuDirectionType direction); + GtkMenuDirectionType direction); static void gtk_real_menu_shell_activate_current (GtkMenuShell *menu_shell, - gboolean force_hide); + gboolean force_hide); static void gtk_real_menu_shell_cancel (GtkMenuShell *menu_shell); static void gtk_real_menu_shell_cycle_focus (GtkMenuShell *menu_shell, - GtkDirectionType dir); + GtkDirectionType dir); static void gtk_menu_shell_reset_key_hash (GtkMenuShell *menu_shell); static gboolean gtk_menu_shell_activate_mnemonic (GtkMenuShell *menu_shell, - GdkEventKey *event); + GdkEventKey *event); static gboolean gtk_menu_shell_real_move_selected (GtkMenuShell *menu_shell, - gint distance); + gint distance); static guint menu_shell_signals[LAST_SIGNAL] = { 0 }; @@ -251,50 +232,50 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) menu_shell_signals[DEACTIVATE] = g_signal_new (I_("deactivate"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkMenuShellClass, deactivate), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkMenuShellClass, deactivate), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); menu_shell_signals[SELECTION_DONE] = g_signal_new (I_("selection-done"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkMenuShellClass, selection_done), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkMenuShellClass, selection_done), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); menu_shell_signals[MOVE_CURRENT] = g_signal_new (I_("move-current"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GtkMenuShellClass, move_current), - NULL, NULL, - _gtk_marshal_VOID__ENUM, - G_TYPE_NONE, 1, - GTK_TYPE_MENU_DIRECTION_TYPE); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkMenuShellClass, move_current), + NULL, NULL, + _gtk_marshal_VOID__ENUM, + G_TYPE_NONE, 1, + GTK_TYPE_MENU_DIRECTION_TYPE); menu_shell_signals[ACTIVATE_CURRENT] = g_signal_new (I_("activate-current"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GtkMenuShellClass, activate_current), - NULL, NULL, - _gtk_marshal_VOID__BOOLEAN, - G_TYPE_NONE, 1, - G_TYPE_BOOLEAN); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkMenuShellClass, activate_current), + NULL, NULL, + _gtk_marshal_VOID__BOOLEAN, + G_TYPE_NONE, 1, + G_TYPE_BOOLEAN); menu_shell_signals[CANCEL] = g_signal_new (I_("cancel"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GtkMenuShellClass, cancel), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkMenuShellClass, cancel), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); menu_shell_signals[CYCLE_FOCUS] = g_signal_new_class_handler (I_("cycle-focus"), @@ -320,50 +301,50 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) */ menu_shell_signals[MOVE_SELECTED] = g_signal_new (I_("move-selected"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkMenuShellClass, move_selected), - _gtk_boolean_handled_accumulator, NULL, - _gtk_marshal_BOOLEAN__INT, - G_TYPE_BOOLEAN, 1, - G_TYPE_INT); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkMenuShellClass, move_selected), + _gtk_boolean_handled_accumulator, NULL, + _gtk_marshal_BOOLEAN__INT, + G_TYPE_BOOLEAN, 1, + G_TYPE_INT); binding_set = gtk_binding_set_by_class (klass); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Escape, 0, - "cancel", 0); + GDK_KEY_Escape, 0, + "cancel", 0); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_Return, 0, - "activate-current", 1, - G_TYPE_BOOLEAN, - TRUE); + GDK_KEY_Return, 0, + "activate-current", 1, + G_TYPE_BOOLEAN, + TRUE); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_ISO_Enter, 0, - "activate-current", 1, - G_TYPE_BOOLEAN, - TRUE); + GDK_KEY_ISO_Enter, 0, + "activate-current", 1, + G_TYPE_BOOLEAN, + TRUE); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Enter, 0, - "activate-current", 1, - G_TYPE_BOOLEAN, - TRUE); + GDK_KEY_KP_Enter, 0, + "activate-current", 1, + G_TYPE_BOOLEAN, + TRUE); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_space, 0, - "activate-current", 1, - G_TYPE_BOOLEAN, - FALSE); + GDK_KEY_space, 0, + "activate-current", 1, + G_TYPE_BOOLEAN, + FALSE); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_KP_Space, 0, - "activate-current", 1, - G_TYPE_BOOLEAN, - FALSE); + GDK_KEY_KP_Space, 0, + "activate-current", 1, + G_TYPE_BOOLEAN, + FALSE); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_F10, 0, - "cycle-focus", 1, + GDK_KEY_F10, 0, + "cycle-focus", 1, GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_FORWARD); gtk_binding_entry_add_signal (binding_set, - GDK_KEY_F10, GDK_SHIFT_MASK, - "cycle-focus", 1, + GDK_KEY_F10, GDK_SHIFT_MASK, + "cycle-focus", 1, GTK_TYPE_DIRECTION_TYPE, GTK_DIR_TAB_BACKWARD); /** @@ -378,16 +359,16 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) g_object_class_install_property (object_class, PROP_TAKE_FOCUS, g_param_spec_boolean ("take-focus", - P_("Take Focus"), - P_("A boolean that determines whether the menu grabs the keyboard focus"), - TRUE, - GTK_PARAM_READWRITE)); + P_("Take Focus"), + P_("A boolean that determines whether the menu grabs the keyboard focus"), + TRUE, + GTK_PARAM_READWRITE)); g_type_class_add_private (object_class, sizeof (GtkMenuShellPrivate)); } static GType -gtk_menu_shell_child_type (GtkContainer *container) +gtk_menu_shell_child_type (GtkContainer *container) { return GTK_TYPE_MENU_ITEM; } @@ -395,21 +376,13 @@ gtk_menu_shell_child_type (GtkContainer *container) static void gtk_menu_shell_init (GtkMenuShell *menu_shell) { - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv; - menu_shell->children = NULL; - menu_shell->active_menu_item = NULL; - menu_shell->parent_menu_shell = NULL; - menu_shell->active = FALSE; - menu_shell->have_grab = FALSE; - menu_shell->have_xgrab = FALSE; - menu_shell->button = 0; - menu_shell->activate_time = 0; - - priv->mnemonic_hash = NULL; - priv->key_hash = NULL; + priv = G_TYPE_INSTANCE_GET_PRIVATE (menu_shell, + GTK_TYPE_MENU_SHELL, + GtkMenuShellPrivate); + menu_shell->priv = priv; priv->take_focus = TRUE; - priv->activated_submenu = FALSE; } static void @@ -432,10 +405,10 @@ gtk_menu_shell_set_property (GObject *object, } static void -gtk_menu_shell_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +gtk_menu_shell_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (object); @@ -454,7 +427,7 @@ static void gtk_menu_shell_finalize (GObject *object) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (object); - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv = menu_shell->priv; if (priv->mnemonic_hash) _gtk_mnemonic_hash_free (priv->mnemonic_hash); @@ -465,34 +438,32 @@ gtk_menu_shell_finalize (GObject *object) } -static void -gtk_menu_shell_dispose (GObject *object) +static void +gtk_menu_shell_dispose (GObject *object) { - GtkMenuShell *menu_shell = GTK_MENU_SHELL (object); - - gtk_menu_shell_deactivate (menu_shell); + gtk_menu_shell_deactivate (GTK_MENU_SHELL (object)); G_OBJECT_CLASS (gtk_menu_shell_parent_class)->dispose (object); } void gtk_menu_shell_append (GtkMenuShell *menu_shell, - GtkWidget *child) + GtkWidget *child) { gtk_menu_shell_insert (menu_shell, child, -1); } void gtk_menu_shell_prepend (GtkMenuShell *menu_shell, - GtkWidget *child) + GtkWidget *child) { gtk_menu_shell_insert (menu_shell, child, 0); } void gtk_menu_shell_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position) + GtkWidget *child, + gint position) { GtkMenuShellClass *class; @@ -507,10 +478,12 @@ gtk_menu_shell_insert (GtkMenuShell *menu_shell, static void gtk_menu_shell_real_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position) + GtkWidget *child, + gint position) { - menu_shell->children = g_list_insert (menu_shell->children, child, position); + GtkMenuShellPrivate *priv = menu_shell->priv; + + priv->children = g_list_insert (priv->children, child, position); gtk_widget_set_parent (child, GTK_WIDGET (menu_shell)); } @@ -544,11 +517,11 @@ gtk_menu_shell_realize (GtkWidget *widget) attributes.visual = gtk_widget_get_visual (widget); attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_EXPOSURE_MASK | - GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | - GDK_KEY_PRESS_MASK | - GDK_ENTER_NOTIFY_MASK | - GDK_LEAVE_NOTIFY_MASK); + GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_KEY_PRESS_MASK | + GDK_ENTER_NOTIFY_MASK | + GDK_LEAVE_NOTIFY_MASK); attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; @@ -564,7 +537,9 @@ gtk_menu_shell_realize (GtkWidget *widget) void _gtk_menu_shell_activate (GtkMenuShell *menu_shell) { - if (!menu_shell->active) + GtkMenuShellPrivate *priv = menu_shell->priv; + + if (!priv->active) { GdkDevice *device; @@ -573,16 +548,17 @@ _gtk_menu_shell_activate (GtkMenuShell *menu_shell) _gtk_menu_shell_set_grab_device (menu_shell, device); gtk_device_grab_add (GTK_WIDGET (menu_shell), device, TRUE); - menu_shell->have_grab = TRUE; - menu_shell->active = TRUE; + priv->have_grab = TRUE; + priv->active = TRUE; } } static gint gtk_menu_shell_button_press (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkMenuShell *menu_shell; + GtkMenuShellPrivate *priv; GtkWidget *menu_item; GtkWidget *parent; @@ -590,9 +566,10 @@ gtk_menu_shell_button_press (GtkWidget *widget, return FALSE; menu_shell = GTK_MENU_SHELL (widget); + priv = menu_shell->priv; - if (menu_shell->parent_menu_shell) - return gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent*) event); + if (priv->parent_menu_shell) + return gtk_widget_event (priv->parent_menu_shell, (GdkEvent*) event); menu_item = gtk_menu_shell_get_item (menu_shell, (GdkEvent *)event); @@ -600,7 +577,7 @@ gtk_menu_shell_button_press (GtkWidget *widget, { parent = gtk_widget_get_parent (menu_item); - if (menu_item != GTK_MENU_SHELL (parent)->active_menu_item) + if (menu_item != GTK_MENU_SHELL (parent)->priv->active_menu_item) { /* select the menu item *before* activating the shell, so submenus * which might be open are closed the friendly way. If we activate @@ -614,24 +591,24 @@ gtk_menu_shell_button_press (GtkWidget *widget, } } - if (!menu_shell->active || !menu_shell->button) + if (!priv->active || !priv->button) { - gboolean initially_active = menu_shell->active; + gboolean initially_active = priv->active; - menu_shell->button = event->button; + priv->button = event->button; if (menu_item) { if (_gtk_menu_item_is_selectable (menu_item) && gtk_widget_get_parent (menu_item) == widget && - menu_item != menu_shell->active_menu_item) + menu_item != priv->active_menu_item) { _gtk_menu_shell_activate (menu_shell); - menu_shell->button = event->button; + priv->button = event->button; if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM) { - menu_shell->activate_time = event->time; + priv->activate_time = event->time; gtk_menu_shell_select_item (menu_shell, menu_item); } } @@ -662,21 +639,17 @@ gtk_menu_shell_button_press (GtkWidget *widget, { widget = gtk_get_event_widget ((GdkEvent*) event); if (widget == GTK_WIDGET (menu_shell)) - { - gtk_menu_shell_deactivate (menu_shell); - g_signal_emit (menu_shell, menu_shell_signals[SELECTION_DONE], 0); - } + { + gtk_menu_shell_deactivate (menu_shell); + g_signal_emit (menu_shell, menu_shell_signals[SELECTION_DONE], 0); + } } if (menu_item && _gtk_menu_item_is_selectable (menu_item) && GTK_MENU_ITEM (menu_item)->submenu != NULL && !gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->submenu)) { - GtkMenuShellPrivate *priv; - _gtk_menu_item_popup_submenu (menu_item, FALSE); - - priv = GTK_MENU_SHELL_GET_PRIVATE (gtk_widget_get_parent (menu_item)); priv->activated_submenu = TRUE; } @@ -685,17 +658,15 @@ gtk_menu_shell_button_press (GtkWidget *widget, static gboolean gtk_menu_shell_grab_broken (GtkWidget *widget, - GdkEventGrabBroken *event) + GdkEventGrabBroken *event) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); + GtkMenuShellPrivate *priv = menu_shell->priv; - if (menu_shell->have_xgrab && event->grab_window == NULL) + if (priv->have_xgrab && event->grab_window == NULL) { - /* Unset the active menu item so gtk_menu_popdown() doesn't see it. - */ - + /* Unset the active menu item so gtk_menu_popdown() doesn't see it. */ gtk_menu_shell_deselect (menu_shell); - gtk_menu_shell_deactivate (menu_shell); g_signal_emit (menu_shell, menu_shell_signals[SELECTION_DONE], 0); } @@ -705,29 +676,29 @@ gtk_menu_shell_grab_broken (GtkWidget *widget, static gint gtk_menu_shell_button_release (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (widget); + GtkMenuShellPrivate *priv = menu_shell->priv; - if (menu_shell->active) + if (priv->active) { GtkWidget *menu_item; gboolean deactivate = TRUE; - if (menu_shell->button && (event->button != menu_shell->button)) - { - menu_shell->button = 0; - if (menu_shell->parent_menu_shell) - return gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent*) event); - } + if (priv->button && (event->button != priv->button)) + { + priv->button = 0; + if (priv->parent_menu_shell) + return gtk_widget_event (priv->parent_menu_shell, (GdkEvent*) event); + } - menu_shell->button = 0; + priv->button = 0; menu_item = gtk_menu_shell_get_item (menu_shell, (GdkEvent*) event); - if ((event->time - menu_shell->activate_time) > MENU_SHELL_TIMEOUT) + if ((event->time - priv->activate_time) > MENU_SHELL_TIMEOUT) { - if (menu_item && (menu_shell->active_menu_item == menu_item) && + if (menu_item && (priv->active_menu_item == menu_item) && _gtk_menu_item_is_selectable (menu_item)) { GtkWidget *submenu = GTK_MENU_ITEM (menu_item)->submenu; @@ -735,7 +706,6 @@ gtk_menu_shell_button_release (GtkWidget *widget, if (submenu == NULL) { gtk_menu_shell_activate_item (menu_shell, menu_item, TRUE); - deactivate = FALSE; } else if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM || @@ -767,10 +737,10 @@ gtk_menu_shell_button_release (GtkWidget *widget, "gtk-menu-exact-popup-time", NULL); } - /* only close the submenu on click if we opened the - * menu explicitely (usec_since_popup == 0) or - * enough time has passed since it was opened by - * GtkMenuItem's timeout (usec_since_popup > delay). + /* Only close the submenu on click if we opened the + * menu explicitely (usec_since_popup == 0) or + * enough time has passed since it was opened by + * GtkMenuItem's timeout (usec_since_popup > delay). */ if (!priv->activated_submenu && (usec_since_popup == 0 || @@ -792,16 +762,16 @@ gtk_menu_shell_button_release (GtkWidget *widget, { deactivate = FALSE; } - else if (menu_shell->parent_menu_shell) + else if (priv->parent_menu_shell) { - menu_shell->active = TRUE; - gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent*) event); + priv->active = TRUE; + gtk_widget_event (priv->parent_menu_shell, (GdkEvent*) event); deactivate = FALSE; } - /* If we ended up on an item with a submenu, leave the menu up. - */ - if (menu_item && (menu_shell->active_menu_item == menu_item) && + /* If we ended up on an item with a submenu, leave the menu up. */ + if (menu_item && + (priv->active_menu_item == menu_item) && GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_TOP_BOTTOM) { deactivate = FALSE; @@ -816,7 +786,7 @@ gtk_menu_shell_button_release (GtkWidget *widget, * the chances of that happening are ~1/10^6, without * serious harm if we lose. */ - menu_shell->activate_time = 0; + priv->activate_time = 0; deactivate = FALSE; } @@ -836,13 +806,13 @@ void _gtk_menu_shell_set_keyboard_mode (GtkMenuShell *menu_shell, gboolean keyboard_mode) { - menu_shell->keyboard_mode = keyboard_mode; + menu_shell->priv->keyboard_mode = keyboard_mode; } gboolean _gtk_menu_shell_get_keyboard_mode (GtkMenuShell *menu_shell) { - return menu_shell->keyboard_mode; + return menu_shell->priv->keyboard_mode; } void @@ -854,7 +824,8 @@ _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell) gboolean mnemonics_visible; g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu_shell)), - "gtk-auto-mnemonics", &auto_mnemonics, NULL); + "gtk-auto-mnemonics", &auto_mnemonics, + NULL); if (!auto_mnemonics) return; @@ -863,7 +834,7 @@ _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell) found = FALSE; while (target) { - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (target); + GtkMenuShellPrivate *priv = target->priv; GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (target)); /* The idea with keyboard mode is that once you start using @@ -872,8 +843,8 @@ _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell) * the keyboard mode upwards in the menu hierarchy here. * Also see gtk_menu_popup, where we inherit it downwards. */ - if (menu_shell->keyboard_mode) - target->keyboard_mode = TRUE; + if (menu_shell->priv->keyboard_mode) + target->priv->keyboard_mode = TRUE; /* While navigating menus, the first parent menu with an active * item is the one where mnemonics are effective, as can be seen @@ -882,10 +853,10 @@ _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell) * necessary to ensure we remove underlines from menu bars when * dismissing menus. */ - mnemonics_visible = target->keyboard_mode && - (((target->active_menu_item || priv->in_unselectable_item) && !found) || + mnemonics_visible = target->priv->keyboard_mode && + (((target->priv->active_menu_item || priv->in_unselectable_item) && !found) || (target == menu_shell && - !target->parent_menu_shell && + !target->priv->parent_menu_shell && gtk_widget_has_grab (GTK_WIDGET (target)))); /* While menus are up, only show underlines inside the menubar, @@ -900,32 +871,33 @@ _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell) else gtk_window_set_mnemonics_visible (GTK_WINDOW (toplevel), mnemonics_visible); - if (target->active_menu_item || priv->in_unselectable_item) + if (target->priv->active_menu_item || priv->in_unselectable_item) found = TRUE; - target = GTK_MENU_SHELL (target->parent_menu_shell); + target = GTK_MENU_SHELL (target->priv->parent_menu_shell); } } static gint gtk_menu_shell_key_press (GtkWidget *widget, - GdkEventKey *event) + GdkEventKey *event) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv = menu_shell->priv; gboolean enable_mnemonics; - menu_shell->keyboard_mode = TRUE; + priv->keyboard_mode = TRUE; - if (!(menu_shell->active_menu_item || priv->in_unselectable_item) && menu_shell->parent_menu_shell) - return gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent *)event); + if (!(priv->active_menu_item || priv->in_unselectable_item) && + priv->parent_menu_shell) + return gtk_widget_event (priv->parent_menu_shell, (GdkEvent *)event); if (gtk_bindings_activate_event (G_OBJECT (widget), event)) return TRUE; g_object_get (gtk_widget_get_settings (widget), - "gtk-enable-mnemonics", &enable_mnemonics, - NULL); + "gtk-enable-mnemonics", &enable_mnemonics, + NULL); if (enable_mnemonics) return gtk_menu_shell_activate_mnemonic (menu_shell, event); @@ -935,16 +907,17 @@ gtk_menu_shell_key_press (GtkWidget *widget, static gint gtk_menu_shell_enter_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); + GtkMenuShellPrivate *priv = menu_shell->priv; if (event->mode == GDK_CROSSING_GTK_GRAB || event->mode == GDK_CROSSING_GTK_UNGRAB || event->mode == GDK_CROSSING_STATE_CHANGED) return TRUE; - if (menu_shell->active) + if (priv->active) { GtkWidget *menu_item; GtkWidget *parent; @@ -957,24 +930,20 @@ gtk_menu_shell_enter_notify (GtkWidget *widget, if (GTK_IS_MENU_ITEM (menu_item) && !_gtk_menu_item_is_selectable (menu_item)) { - GtkMenuShellPrivate *priv; - - priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); priv->in_unselectable_item = TRUE; - return TRUE; } parent = gtk_widget_get_parent (menu_item); if (parent == widget && - GTK_IS_MENU_ITEM (menu_item)) - { - if (menu_shell->ignore_enter) - return TRUE; + GTK_IS_MENU_ITEM (menu_item)) + { + if (priv->ignore_enter) + return TRUE; - if (event->detail != GDK_NOTIFY_INFERIOR) + if (event->detail != GDK_NOTIFY_INFERIOR) { - if (gtk_widget_get_state (menu_item) != GTK_STATE_PRELIGHT) + if (gtk_widget_get_state (menu_item) != GTK_STATE_PRELIGHT) gtk_menu_shell_select_item (menu_shell, menu_item); /* If any mouse button is down, and there is a submenu @@ -985,13 +954,10 @@ gtk_menu_shell_enter_notify (GtkWidget *widget, * entering a menu item where we wouldn't want to show * its submenu. */ - if ((event->state & (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK | GDK_BUTTON3_MASK)) && + if ((event->state & (GDK_BUTTON1_MASK|GDK_BUTTON2_MASK|GDK_BUTTON3_MASK)) && GTK_MENU_ITEM (menu_item)->submenu != NULL) { - GtkMenuShellPrivate *priv; - - priv = GTK_MENU_SHELL_GET_PRIVATE (parent); - priv->activated_submenu = TRUE; + GTK_MENU_SHELL (parent)->priv->activated_submenu = TRUE; if (!gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->submenu)) { @@ -1005,12 +971,12 @@ gtk_menu_shell_enter_notify (GtkWidget *widget, _gtk_menu_item_popup_submenu (menu_item, TRUE); } } - } - } - else if (menu_shell->parent_menu_shell) - { - gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent*) event); - } + } + } + else if (priv->parent_menu_shell) + { + gtk_widget_event (priv->parent_menu_shell, (GdkEvent*) event); + } } return TRUE; @@ -1018,7 +984,7 @@ gtk_menu_shell_enter_notify (GtkWidget *widget, static gint gtk_menu_shell_leave_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { if (event->mode == GDK_CROSSING_GTK_GRAB || event->mode == GDK_CROSSING_GTK_GRAB || @@ -1028,37 +994,34 @@ gtk_menu_shell_leave_notify (GtkWidget *widget, if (gtk_widget_get_visible (widget)) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (widget); + GtkMenuShellPrivate *priv = menu_shell->priv; GtkWidget *event_widget = gtk_get_event_widget ((GdkEvent*) event); GtkMenuItem *menu_item; if (!event_widget || !GTK_IS_MENU_ITEM (event_widget)) - return TRUE; + return TRUE; menu_item = GTK_MENU_ITEM (event_widget); if (!_gtk_menu_item_is_selectable (event_widget)) { - GtkMenuShellPrivate *priv; - - priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); priv->in_unselectable_item = TRUE; - return TRUE; } - if ((menu_shell->active_menu_item == event_widget) && - (menu_item->submenu == NULL)) - { - if ((event->detail != GDK_NOTIFY_INFERIOR) && - (gtk_widget_get_state (GTK_WIDGET (menu_item)) != GTK_STATE_NORMAL)) - { - gtk_menu_shell_deselect (menu_shell); - } - } - else if (menu_shell->parent_menu_shell) - { - gtk_widget_event (menu_shell->parent_menu_shell, (GdkEvent*) event); - } + if ((priv->active_menu_item == event_widget) && + (menu_item->submenu == NULL)) + { + if ((event->detail != GDK_NOTIFY_INFERIOR) && + (gtk_widget_get_state (GTK_WIDGET (menu_item)) != GTK_STATE_NORMAL)) + { + gtk_menu_shell_deselect (menu_shell); + } + } + else if (priv->parent_menu_shell) + { + gtk_widget_event (priv->parent_menu_shell, (GdkEvent*) event); + } } return TRUE; @@ -1066,37 +1029,38 @@ gtk_menu_shell_leave_notify (GtkWidget *widget, static void gtk_menu_shell_screen_changed (GtkWidget *widget, - GdkScreen *previous_screen) + GdkScreen *previous_screen) { gtk_menu_shell_reset_key_hash (GTK_MENU_SHELL (widget)); } static void gtk_menu_shell_add (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { gtk_menu_shell_append (GTK_MENU_SHELL (container), widget); } static void gtk_menu_shell_remove (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (container); + GtkMenuShellPrivate *priv = menu_shell->priv; gint was_visible; was_visible = gtk_widget_get_visible (widget); - menu_shell->children = g_list_remove (menu_shell->children, widget); - - if (widget == menu_shell->active_menu_item) + priv->children = g_list_remove (priv->children, widget); + + if (widget == priv->active_menu_item) { - g_signal_emit_by_name (menu_shell->active_menu_item, "deselect"); - menu_shell->active_menu_item = NULL; + g_signal_emit_by_name (priv->active_menu_item, "deselect"); + priv->active_menu_item = NULL; } gtk_widget_unparent (widget); - - /* queue resize regardless of gtk_widget_get_visible (container), + + /* Queue resize regardless of gtk_widget_get_visible (container), * since that's what is needed by toplevels. */ if (was_visible) @@ -1105,15 +1069,15 @@ gtk_menu_shell_remove (GtkContainer *container, static void gtk_menu_shell_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (container); GtkWidget *child; GList *children; - children = menu_shell->children; + children = menu_shell->priv->children; while (children) { child = children->data; @@ -1127,27 +1091,28 @@ gtk_menu_shell_forall (GtkContainer *container, static void gtk_real_menu_shell_deactivate (GtkMenuShell *menu_shell) { - if (menu_shell->active) + GtkMenuShellPrivate *priv = menu_shell->priv; + + if (priv->active) { - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); - menu_shell->button = 0; - menu_shell->active = FALSE; - menu_shell->activate_time = 0; + priv->button = 0; + priv->active = FALSE; + priv->activate_time = 0; - if (menu_shell->active_menu_item) - { - gtk_menu_item_deselect (GTK_MENU_ITEM (menu_shell->active_menu_item)); - menu_shell->active_menu_item = NULL; - } + if (priv->active_menu_item) + { + gtk_menu_item_deselect (GTK_MENU_ITEM (priv->active_menu_item)); + priv->active_menu_item = NULL; + } - if (menu_shell->have_grab) - { - menu_shell->have_grab = FALSE; + if (priv->have_grab) + { + priv->have_grab = FALSE; gtk_device_grab_remove (GTK_WIDGET (menu_shell), priv->grab_pointer); - } - if (menu_shell->have_xgrab) - { + } + if (priv->have_xgrab) + { GdkDevice *keyboard; gdk_device_ungrab (priv->grab_pointer, GDK_CURRENT_TIME); @@ -1156,10 +1121,10 @@ gtk_real_menu_shell_deactivate (GtkMenuShell *menu_shell) if (keyboard) gdk_device_ungrab (keyboard, GDK_CURRENT_TIME); - menu_shell->have_xgrab = FALSE; - } + priv->have_xgrab = FALSE; + } - menu_shell->keyboard_mode = FALSE; + priv->keyboard_mode = FALSE; _gtk_menu_shell_set_grab_device (menu_shell, NULL); _gtk_menu_shell_update_mnemonics (menu_shell); @@ -1168,7 +1133,7 @@ gtk_real_menu_shell_deactivate (GtkMenuShell *menu_shell) static gint gtk_menu_shell_is_item (GtkMenuShell *menu_shell, - GtkWidget *child) + GtkWidget *child) { GtkWidget *parent; @@ -1179,8 +1144,8 @@ gtk_menu_shell_is_item (GtkMenuShell *menu_shell, while (GTK_IS_MENU_SHELL (parent)) { if (parent == (GtkWidget*) menu_shell) - return TRUE; - parent = GTK_MENU_SHELL (parent)->parent_menu_shell; + return TRUE; + parent = GTK_MENU_SHELL (parent)->priv->parent_menu_shell; } return FALSE; @@ -1188,12 +1153,12 @@ gtk_menu_shell_is_item (GtkMenuShell *menu_shell, static GtkWidget* gtk_menu_shell_get_item (GtkMenuShell *menu_shell, - GdkEvent *event) + GdkEvent *event) { GtkWidget *menu_item; menu_item = gtk_get_event_widget ((GdkEvent*) event); - + while (menu_item && !GTK_IS_MENU_ITEM (menu_item)) menu_item = gtk_widget_get_parent (menu_item); @@ -1207,8 +1172,9 @@ gtk_menu_shell_get_item (GtkMenuShell *menu_shell, void gtk_menu_shell_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item) + GtkWidget *menu_item) { + GtkMenuShellPrivate *priv = menu_shell->priv; GtkMenuShellClass *class; g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); @@ -1217,71 +1183,71 @@ gtk_menu_shell_select_item (GtkMenuShell *menu_shell, class = GTK_MENU_SHELL_GET_CLASS (menu_shell); if (class->select_item && - !(menu_shell->active && - menu_shell->active_menu_item == menu_item)) + !(priv->active && + priv->active_menu_item == menu_item)) class->select_item (menu_shell, menu_item); } void _gtk_menu_item_set_placement (GtkMenuItem *menu_item, - GtkSubmenuPlacement placement); + GtkSubmenuPlacement placement); static void gtk_menu_shell_real_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item) + GtkWidget *menu_item) { + GtkMenuShellPrivate *priv = menu_shell->priv; GtkPackDirection pack_dir = PACK_DIRECTION (menu_shell); - if (menu_shell->active_menu_item) + if (priv->active_menu_item) { - gtk_menu_item_deselect (GTK_MENU_ITEM (menu_shell->active_menu_item)); - menu_shell->active_menu_item = NULL; + gtk_menu_item_deselect (GTK_MENU_ITEM (priv->active_menu_item)); + priv->active_menu_item = NULL; } if (!_gtk_menu_item_is_selectable (menu_item)) { - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); - priv->in_unselectable_item = TRUE; _gtk_menu_shell_update_mnemonics (menu_shell); - return; } - menu_shell->active_menu_item = menu_item; + priv->active_menu_item = menu_item; if (pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) - _gtk_menu_item_set_placement (GTK_MENU_ITEM (menu_shell->active_menu_item), - GTK_LEFT_RIGHT); + _gtk_menu_item_set_placement (GTK_MENU_ITEM (priv->active_menu_item), + GTK_LEFT_RIGHT); else - _gtk_menu_item_set_placement (GTK_MENU_ITEM (menu_shell->active_menu_item), - GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement); - gtk_menu_item_select (GTK_MENU_ITEM (menu_shell->active_menu_item)); + _gtk_menu_item_set_placement (GTK_MENU_ITEM (priv->active_menu_item), + GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement); + gtk_menu_item_select (GTK_MENU_ITEM (priv->active_menu_item)); _gtk_menu_shell_update_mnemonics (menu_shell); /* This allows the bizarre radio buttons-with-submenus-display-history * behavior */ - if (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu) - gtk_widget_activate (menu_shell->active_menu_item); + if (GTK_MENU_ITEM (priv->active_menu_item)->submenu) + gtk_widget_activate (priv->active_menu_item); } void gtk_menu_shell_deselect (GtkMenuShell *menu_shell) { + GtkMenuShellPrivate *priv = menu_shell->priv; + g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); - if (menu_shell->active_menu_item) + if (priv->active_menu_item) { - gtk_menu_item_deselect (GTK_MENU_ITEM (menu_shell->active_menu_item)); - menu_shell->active_menu_item = NULL; + gtk_menu_item_deselect (GTK_MENU_ITEM (priv->active_menu_item)); + priv->active_menu_item = NULL; _gtk_menu_shell_update_mnemonics (menu_shell); } } void -gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item, - gboolean force_deactivate) +gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, + GtkWidget *menu_item, + gboolean force_deactivate) { GSList *slist, *shells = NULL; gboolean deactivate = force_deactivate; @@ -1300,17 +1266,17 @@ gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, GtkMenuShell *parent_menu_shell = menu_shell; do - { - g_object_ref (parent_menu_shell); - shells = g_slist_prepend (shells, parent_menu_shell); - parent_menu_shell = (GtkMenuShell*) parent_menu_shell->parent_menu_shell; - } + { + g_object_ref (parent_menu_shell); + shells = g_slist_prepend (shells, parent_menu_shell); + parent_menu_shell = (GtkMenuShell*) parent_menu_shell->priv->parent_menu_shell; + } while (parent_menu_shell); shells = g_slist_reverse (shells); gtk_menu_shell_deactivate (menu_shell); - - /* flush the x-queue, so any grabs are removed and + + /* Flush the x-queue, so any grabs are removed and * the menu is actually taken down */ gdk_display_sync (gtk_widget_get_display (menu_item)); @@ -1331,13 +1297,14 @@ gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, /* Distance should be +/- 1 */ static gboolean -gtk_menu_shell_real_move_selected (GtkMenuShell *menu_shell, - gint distance) +gtk_menu_shell_real_move_selected (GtkMenuShell *menu_shell, + gint distance) { - if (menu_shell->active_menu_item) + GtkMenuShellPrivate *priv = menu_shell->priv; + + if (priv->active_menu_item) { - GList *node = g_list_find (menu_shell->children, - menu_shell->active_menu_item); + GList *node = g_list_find (priv->children, priv->active_menu_item); GList *start_node = node; gboolean wrap_around; @@ -1346,42 +1313,42 @@ gtk_menu_shell_real_move_selected (GtkMenuShell *menu_shell, NULL); if (distance > 0) - { - node = node->next; - while (node != start_node && - (!node || !_gtk_menu_item_is_selectable (node->data))) - { - if (node) - node = node->next; + { + node = node->next; + while (node != start_node && + (!node || !_gtk_menu_item_is_selectable (node->data))) + { + if (node) + node = node->next; else if (wrap_around) - node = menu_shell->children; + node = priv->children; else { gtk_widget_error_bell (GTK_WIDGET (menu_shell)); break; } - } - } + } + } else - { - node = node->prev; - while (node != start_node && - (!node || !_gtk_menu_item_is_selectable (node->data))) - { - if (node) - node = node->prev; + { + node = node->prev; + while (node != start_node && + (!node || !_gtk_menu_item_is_selectable (node->data))) + { + if (node) + node = node->prev; else if (wrap_around) - node = g_list_last (menu_shell->children); + node = g_list_last (priv->children); else { gtk_widget_error_bell (GTK_WIDGET (menu_shell)); break; } - } - } + } + } if (node) - gtk_menu_shell_select_item (menu_shell, node->data); + gtk_menu_shell_select_item (menu_shell, node->data); } return TRUE; @@ -1389,13 +1356,13 @@ gtk_menu_shell_real_move_selected (GtkMenuShell *menu_shell, /* Distance should be +/- 1 */ static void -gtk_menu_shell_move_selected (GtkMenuShell *menu_shell, - gint distance) +gtk_menu_shell_move_selected (GtkMenuShell *menu_shell, + gint distance) { gboolean handled = FALSE; g_signal_emit (menu_shell, menu_shell_signals[MOVE_SELECTED], 0, - distance, &handled); + distance, &handled); } /** @@ -1406,33 +1373,34 @@ gtk_menu_shell_move_selected (GtkMenuShell *menu_shell, * the first item isn't sensitive. This * should be %FALSE if the menu is being * popped up initially. - * + * * Select the first visible or selectable child of the menu shell; * don't select tearoff items unless the only item is a tearoff * item. * * Since: 2.2 - **/ + */ void gtk_menu_shell_select_first (GtkMenuShell *menu_shell, - gboolean search_sensitive) + gboolean search_sensitive) { + GtkMenuShellPrivate *priv = menu_shell->priv; GtkWidget *to_select = NULL; GList *tmp_list; - tmp_list = menu_shell->children; + tmp_list = priv->children; while (tmp_list) { GtkWidget *child = tmp_list->data; - + if ((!search_sensitive && gtk_widget_get_visible (child)) || - _gtk_menu_item_is_selectable (child)) - { - to_select = child; - if (!GTK_IS_TEAROFF_MENU_ITEM (child)) - break; - } - + _gtk_menu_item_is_selectable (child)) + { + to_select = child; + if (!GTK_IS_TEAROFF_MENU_ITEM (child)) + break; + } + tmp_list = tmp_list->next; } @@ -1442,24 +1410,25 @@ gtk_menu_shell_select_first (GtkMenuShell *menu_shell, void _gtk_menu_shell_select_last (GtkMenuShell *menu_shell, - gboolean search_sensitive) + gboolean search_sensitive) { + GtkMenuShellPrivate *priv = menu_shell->priv; GtkWidget *to_select = NULL; GList *tmp_list; - tmp_list = g_list_last (menu_shell->children); + tmp_list = g_list_last (priv->children); while (tmp_list) { GtkWidget *child = tmp_list->data; - + if ((!search_sensitive && gtk_widget_get_visible (child)) || - _gtk_menu_item_is_selectable (child)) - { - to_select = child; - if (!GTK_IS_TEAROFF_MENU_ITEM (child)) - break; - } - + _gtk_menu_item_is_selectable (child)) + { + to_select = child; + if (!GTK_IS_TEAROFF_MENU_ITEM (child)) + break; + } + tmp_list = tmp_list->prev; } @@ -1468,21 +1437,22 @@ _gtk_menu_shell_select_last (GtkMenuShell *menu_shell, } static gboolean -gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell) +gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell) { + GtkMenuShellPrivate *priv = menu_shell->priv; GtkMenuItem *menu_item; - if (menu_shell->active_menu_item == NULL) + if (priv->active_menu_item == NULL) return FALSE; - menu_item = GTK_MENU_ITEM (menu_shell->active_menu_item); - + menu_item = GTK_MENU_ITEM (priv->active_menu_item); + if (menu_item->submenu) { _gtk_menu_item_popup_submenu (GTK_WIDGET (menu_item), FALSE); gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->submenu), TRUE); - if (GTK_MENU_SHELL (menu_item->submenu)->active_menu_item) - return TRUE; + if (GTK_MENU_SHELL (menu_item->submenu)->priv->active_menu_item) + return TRUE; } return FALSE; @@ -1490,43 +1460,42 @@ gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell) static void gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, - GtkMenuDirectionType direction) + GtkMenuDirectionType direction) { - GtkMenuShellPrivate *priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv = menu_shell->priv; GtkMenuShell *parent_menu_shell = NULL; gboolean had_selection; gboolean touchscreen_mode; priv->in_unselectable_item = FALSE; - had_selection = menu_shell->active_menu_item != NULL; + had_selection = priv->active_menu_item != NULL; g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu_shell)), "gtk-touchscreen-mode", &touchscreen_mode, NULL); - if (menu_shell->parent_menu_shell) - parent_menu_shell = GTK_MENU_SHELL (menu_shell->parent_menu_shell); + if (priv->parent_menu_shell) + parent_menu_shell = GTK_MENU_SHELL (priv->parent_menu_shell); switch (direction) { case GTK_MENU_DIR_PARENT: if (touchscreen_mode && - menu_shell->active_menu_item && - GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu && - gtk_widget_get_visible (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu)) + priv->active_menu_item && + GTK_MENU_ITEM (priv->active_menu_item)->submenu && + gtk_widget_get_visible (GTK_MENU_ITEM (priv->active_menu_item)->submenu)) { /* if we are on a menu item that has an open submenu but the * focus is not in that submenu (e.g. because it's empty or - * has only insensitive items), close that submenu instead - * of running into the code below which would close *this* - * menu. + * has only insensitive items), close that submenu instead of + * running into the code below which would close *this* menu. */ - _gtk_menu_item_popdown_submenu (menu_shell->active_menu_item); + _gtk_menu_item_popdown_submenu (priv->active_menu_item); _gtk_menu_shell_update_mnemonics (menu_shell); } else if (parent_menu_shell) - { + { if (touchscreen_mode) { /* close menu when returning from submenu. */ @@ -1535,117 +1504,119 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, break; } - if (GTK_MENU_SHELL_GET_CLASS (parent_menu_shell)->submenu_placement == + if (GTK_MENU_SHELL_GET_CLASS (parent_menu_shell)->submenu_placement == GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement) - gtk_menu_shell_deselect (menu_shell); - else - { - if (PACK_DIRECTION (parent_menu_shell) == GTK_PACK_DIRECTION_LTR) - gtk_menu_shell_move_selected (parent_menu_shell, -1); - else - gtk_menu_shell_move_selected (parent_menu_shell, 1); - gtk_menu_shell_select_submenu_first (parent_menu_shell); - } - } + gtk_menu_shell_deselect (menu_shell); + else + { + if (PACK_DIRECTION (parent_menu_shell) == GTK_PACK_DIRECTION_LTR) + gtk_menu_shell_move_selected (parent_menu_shell, -1); + else + gtk_menu_shell_move_selected (parent_menu_shell, 1); + gtk_menu_shell_select_submenu_first (parent_menu_shell); + } + } /* If there is no parent and the submenu is in the opposite direction * to the menu, then make the PARENT direction wrap around to * the bottom of the submenu. */ - else if (menu_shell->active_menu_item && - _gtk_menu_item_is_selectable (menu_shell->active_menu_item) && - GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu) - { - GtkMenuShell *submenu = GTK_MENU_SHELL (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu); + else if (priv->active_menu_item && + _gtk_menu_item_is_selectable (priv->active_menu_item) && + GTK_MENU_ITEM (priv->active_menu_item)->submenu) + { + GtkMenuShell *submenu = GTK_MENU_SHELL (GTK_MENU_ITEM (priv->active_menu_item)->submenu); - if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != - GTK_MENU_SHELL_GET_CLASS (submenu)->submenu_placement) - _gtk_menu_shell_select_last (submenu, TRUE); - } + if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != + GTK_MENU_SHELL_GET_CLASS (submenu)->submenu_placement) + _gtk_menu_shell_select_last (submenu, TRUE); + } break; case GTK_MENU_DIR_CHILD: - if (menu_shell->active_menu_item && - _gtk_menu_item_is_selectable (menu_shell->active_menu_item) && - GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu) - { - if (gtk_menu_shell_select_submenu_first (menu_shell)) - break; - } + if (priv->active_menu_item && + _gtk_menu_item_is_selectable (priv->active_menu_item) && + GTK_MENU_ITEM (priv->active_menu_item)->submenu) + { + if (gtk_menu_shell_select_submenu_first (menu_shell)) + break; + } /* Try to find a menu running the opposite direction */ while (parent_menu_shell && - (GTK_MENU_SHELL_GET_CLASS (parent_menu_shell)->submenu_placement == - GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement)) - { - parent_menu_shell = GTK_MENU_SHELL (parent_menu_shell->parent_menu_shell); - } + (GTK_MENU_SHELL_GET_CLASS (parent_menu_shell)->submenu_placement == + GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement)) + { + parent_menu_shell = GTK_MENU_SHELL (parent_menu_shell->priv->parent_menu_shell); + } if (parent_menu_shell) - { - if (PACK_DIRECTION (parent_menu_shell) == GTK_PACK_DIRECTION_LTR) - gtk_menu_shell_move_selected (parent_menu_shell, 1); - else - gtk_menu_shell_move_selected (parent_menu_shell, -1); + { + if (PACK_DIRECTION (parent_menu_shell) == GTK_PACK_DIRECTION_LTR) + gtk_menu_shell_move_selected (parent_menu_shell, 1); + else + gtk_menu_shell_move_selected (parent_menu_shell, -1); - gtk_menu_shell_select_submenu_first (parent_menu_shell); - } + gtk_menu_shell_select_submenu_first (parent_menu_shell); + } break; case GTK_MENU_DIR_PREV: gtk_menu_shell_move_selected (menu_shell, -1); if (!had_selection && - !menu_shell->active_menu_item && - menu_shell->children) - _gtk_menu_shell_select_last (menu_shell, TRUE); + !priv->active_menu_item && + priv->children) + _gtk_menu_shell_select_last (menu_shell, TRUE); break; case GTK_MENU_DIR_NEXT: gtk_menu_shell_move_selected (menu_shell, 1); if (!had_selection && - !menu_shell->active_menu_item && - menu_shell->children) - gtk_menu_shell_select_first (menu_shell, TRUE); + !priv->active_menu_item && + priv->children) + gtk_menu_shell_select_first (menu_shell, TRUE); break; } } static void -gtk_real_menu_shell_activate_current (GtkMenuShell *menu_shell, - gboolean force_hide) +gtk_real_menu_shell_activate_current (GtkMenuShell *menu_shell, + gboolean force_hide) { - if (menu_shell->active_menu_item && - _gtk_menu_item_is_selectable (menu_shell->active_menu_item)) + GtkMenuShellPrivate *priv = menu_shell->priv; + + if (priv->active_menu_item && + _gtk_menu_item_is_selectable (priv->active_menu_item)) { - if (GTK_MENU_ITEM (menu_shell->active_menu_item)->submenu == NULL) + if (GTK_MENU_ITEM (priv->active_menu_item)->submenu == NULL) gtk_menu_shell_activate_item (menu_shell, - menu_shell->active_menu_item, - force_hide); + priv->active_menu_item, + force_hide); else - _gtk_menu_item_popup_submenu (menu_shell->active_menu_item, FALSE); + _gtk_menu_item_popup_submenu (priv->active_menu_item, FALSE); } } static void -gtk_real_menu_shell_cancel (GtkMenuShell *menu_shell) +gtk_real_menu_shell_cancel (GtkMenuShell *menu_shell) { - /* Unset the active menu item so gtk_menu_popdown() doesn't see it. - */ + /* Unset the active menu item so gtk_menu_popdown() doesn't see it. */ gtk_menu_shell_deselect (menu_shell); - gtk_menu_shell_deactivate (menu_shell); g_signal_emit (menu_shell, menu_shell_signals[SELECTION_DONE], 0); } static void -gtk_real_menu_shell_cycle_focus (GtkMenuShell *menu_shell, - GtkDirectionType dir) +gtk_real_menu_shell_cycle_focus (GtkMenuShell *menu_shell, + GtkDirectionType dir) { + GtkMenuShellPrivate *priv = menu_shell->priv; + while (menu_shell && !GTK_IS_MENU_BAR (menu_shell)) { - if (menu_shell->parent_menu_shell) - menu_shell = GTK_MENU_SHELL (menu_shell->parent_menu_shell); + if (priv->parent_menu_shell) + menu_shell = GTK_MENU_SHELL (priv->parent_menu_shell); else - menu_shell = NULL; + menu_shell = NULL; } if (menu_shell) @@ -1665,11 +1636,11 @@ _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell) { gint popup_delay; GtkWidget *widget = GTK_WIDGET (menu_shell); - + g_object_get (gtk_widget_get_settings (widget), - "gtk-menu-popup-delay", &popup_delay, - NULL); - + "gtk-menu-popup-delay", &popup_delay, + NULL); + return popup_delay; } } @@ -1677,9 +1648,9 @@ _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell) /** * gtk_menu_shell_cancel: * @menu_shell: a #GtkMenuShell - * - * Cancels the selection within the menu shell. - * + * + * Cancels the selection within the menu shell. + * * Since: 2.4 */ void @@ -1692,20 +1663,20 @@ gtk_menu_shell_cancel (GtkMenuShell *menu_shell) static GtkMnemonicHash * gtk_menu_shell_get_mnemonic_hash (GtkMenuShell *menu_shell, - gboolean create) + gboolean create) { - GtkMenuShellPrivate *private = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv = menu_shell->priv; - if (!private->mnemonic_hash && create) - private->mnemonic_hash = _gtk_mnemonic_hash_new (); + if (!priv->mnemonic_hash && create) + priv->mnemonic_hash = _gtk_mnemonic_hash_new (); - return private->mnemonic_hash; + return priv->mnemonic_hash; } static void -menu_shell_add_mnemonic_foreach (guint keyval, - GSList *targets, - gpointer data) +menu_shell_add_mnemonic_foreach (guint keyval, + GSList *targets, + gpointer data) { GtkKeyHash *key_hash = data; @@ -1714,45 +1685,45 @@ menu_shell_add_mnemonic_foreach (guint keyval, static GtkKeyHash * gtk_menu_shell_get_key_hash (GtkMenuShell *menu_shell, - gboolean create) + gboolean create) { - GtkMenuShellPrivate *private = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv = menu_shell->priv; GtkWidget *widget = GTK_WIDGET (menu_shell); - if (!private->key_hash && create && gtk_widget_has_screen (widget)) + if (!priv->key_hash && create && gtk_widget_has_screen (widget)) { GtkMnemonicHash *mnemonic_hash = gtk_menu_shell_get_mnemonic_hash (menu_shell, FALSE); GdkScreen *screen = gtk_widget_get_screen (widget); GdkKeymap *keymap = gdk_keymap_get_for_display (gdk_screen_get_display (screen)); if (!mnemonic_hash) - return NULL; - - private->key_hash = _gtk_key_hash_new (keymap, NULL); + return NULL; + + priv->key_hash = _gtk_key_hash_new (keymap, NULL); _gtk_mnemonic_hash_foreach (mnemonic_hash, - menu_shell_add_mnemonic_foreach, - private->key_hash); + menu_shell_add_mnemonic_foreach, + priv->key_hash); } - - return private->key_hash; + + return priv->key_hash; } static void gtk_menu_shell_reset_key_hash (GtkMenuShell *menu_shell) { - GtkMenuShellPrivate *private = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + GtkMenuShellPrivate *priv = menu_shell->priv; - if (private->key_hash) + if (priv->key_hash) { - _gtk_key_hash_free (private->key_hash); - private->key_hash = NULL; + _gtk_key_hash_free (priv->key_hash); + priv->key_hash = NULL; } } static gboolean gtk_menu_shell_activate_mnemonic (GtkMenuShell *menu_shell, - GdkEventKey *event) + GdkEventKey *event) { GtkMnemonicHash *mnemonic_hash; GtkKeyHash *key_hash; @@ -1766,43 +1737,43 @@ gtk_menu_shell_activate_mnemonic (GtkMenuShell *menu_shell, key_hash = gtk_menu_shell_get_key_hash (menu_shell, TRUE); if (!key_hash) return FALSE; - + entries = _gtk_key_hash_lookup (key_hash, - event->hardware_keycode, - event->state, - gtk_accelerator_get_default_mod_mask (), - event->group); + event->hardware_keycode, + event->state, + gtk_accelerator_get_default_mod_mask (), + event->group); if (entries) result = _gtk_mnemonic_hash_activate (mnemonic_hash, - GPOINTER_TO_UINT (entries->data)); + GPOINTER_TO_UINT (entries->data)); return result; } void _gtk_menu_shell_add_mnemonic (GtkMenuShell *menu_shell, - guint keyval, - GtkWidget *target) + guint keyval, + GtkWidget *target) { g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); g_return_if_fail (GTK_IS_WIDGET (target)); _gtk_mnemonic_hash_add (gtk_menu_shell_get_mnemonic_hash (menu_shell, TRUE), - keyval, target); + keyval, target); gtk_menu_shell_reset_key_hash (menu_shell); } void _gtk_menu_shell_remove_mnemonic (GtkMenuShell *menu_shell, - guint keyval, - GtkWidget *target) + guint keyval, + GtkWidget *target) { g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); g_return_if_fail (GTK_IS_WIDGET (target)); - + _gtk_mnemonic_hash_remove (gtk_menu_shell_get_mnemonic_hash (menu_shell, TRUE), - keyval, target); + keyval, target); gtk_menu_shell_reset_key_hash (menu_shell); } @@ -1810,12 +1781,10 @@ void _gtk_menu_shell_set_grab_device (GtkMenuShell *menu_shell, GdkDevice *device) { - GtkMenuShellPrivate *priv; + GtkMenuShellPrivate *priv = menu_shell->priv; g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); - g_return_if_fail (!device || GDK_IS_DEVICE (device)); - - priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); + g_return_if_fail (device == NULL || GDK_IS_DEVICE (device)); if (!device) priv->grab_pointer = NULL; @@ -1826,15 +1795,11 @@ _gtk_menu_shell_set_grab_device (GtkMenuShell *menu_shell, } GdkDevice * -_gtk_menu_shell_get_grab_device (GtkMenuShell *menu_shell) +_gtk_menu_shell_get_grab_device (GtkMenuShell *menu_shell) { - GtkMenuShellPrivate *priv; - g_return_val_if_fail (GTK_IS_MENU_SHELL (menu_shell), NULL); - priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); - - return priv->grab_pointer; + return menu_shell->priv->grab_pointer; } /** @@ -1846,37 +1811,35 @@ _gtk_menu_shell_get_grab_device (GtkMenuShell *menu_shell) * Returns: %TRUE if the menu shell will take the keyboard focus on popup. * * Since: 2.8 - **/ + */ gboolean gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell) { - GtkMenuShellPrivate *priv; - g_return_val_if_fail (GTK_IS_MENU_SHELL (menu_shell), FALSE); - priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); - - return priv->take_focus; + return menu_shell->priv->take_focus; } /** * gtk_menu_shell_set_take_focus: * @menu_shell: a #GtkMenuShell - * @take_focus: %TRUE if the menu shell should take the keyboard focus on popup. + * @take_focus: %TRUE if the menu shell should take the keyboard + * focus on popup * - * If @take_focus is %TRUE (the default) the menu shell will take the keyboard - * focus so that it will receive all keyboard events which is needed to enable - * keyboard navigation in menus. + * If @take_focus is %TRUE (the default) the menu shell will take + * the keyboard focus so that it will receive all keyboard events + * which is needed to enable keyboard navigation in menus. * * Setting @take_focus to %FALSE is useful only for special applications * like virtual keyboard implementations which should not take keyboard * focus. * - * The @take_focus state of a menu or menu bar is automatically propagated - * to submenus whenever a submenu is popped up, so you don't have to worry - * about recursively setting it for your entire menu hierarchy. Only when - * programmatically picking a submenu and popping it up manually, the - * @take_focus property of the submenu needs to be set explicitely. + * The @take_focus state of a menu or menu bar is automatically + * propagated to submenus whenever a submenu is popped up, so you + * don't have to worry about recursively setting it for your entire + * menu hierarchy. Only when programmatically picking a submenu and + * popping it up manually, the @take_focus property of the submenu + * needs to be set explicitely. * * Note that setting it to %FALSE has side-effects: * @@ -1891,17 +1854,15 @@ gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell) * See also gdk_keyboard_grab() * * Since: 2.8 - **/ + */ void gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell, gboolean take_focus) { - GtkMenuShellPrivate *priv; + GtkMenuShellPrivate *priv = menu_shell->priv; g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); - priv = GTK_MENU_SHELL_GET_PRIVATE (menu_shell); - if (priv->take_focus != take_focus) { priv->take_focus = take_focus; diff --git a/gtk/gtkmenushell.h b/gtk/gtkmenushell.h index ee09a84d53..9e7d97de77 100644 --- a/gtk/gtkmenushell.h +++ b/gtk/gtkmenushell.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -37,59 +37,48 @@ G_BEGIN_DECLS -#define GTK_TYPE_MENU_SHELL (gtk_menu_shell_get_type ()) -#define GTK_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShell)) -#define GTK_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL, GtkMenuShellClass)) -#define GTK_IS_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_SHELL)) -#define GTK_IS_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL)) +#define GTK_TYPE_MENU_SHELL (gtk_menu_shell_get_type ()) +#define GTK_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShell)) +#define GTK_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_SHELL, GtkMenuShellClass)) +#define GTK_IS_MENU_SHELL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_SHELL)) +#define GTK_IS_MENU_SHELL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_SHELL)) #define GTK_MENU_SHELL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_SHELL, GtkMenuShellClass)) -typedef struct _GtkMenuShell GtkMenuShell; -typedef struct _GtkMenuShellClass GtkMenuShellClass; +typedef struct _GtkMenuShell GtkMenuShell; +typedef struct _GtkMenuShellClass GtkMenuShellClass; +typedef struct _GtkMenuShellPrivate GtkMenuShellPrivate; struct _GtkMenuShell { GtkContainer container; - GList *GSEAL (children); - GtkWidget *GSEAL (active_menu_item); - GtkWidget *GSEAL (parent_menu_shell); - - guint GSEAL (button); - guint32 GSEAL (activate_time); - - guint GSEAL (active) : 1; - guint GSEAL (have_grab) : 1; - guint GSEAL (have_xgrab) : 1; - guint GSEAL (ignore_leave) : 1; /* unused */ - guint GSEAL (menu_flag) : 1; /* unused */ - guint GSEAL (ignore_enter) : 1; - guint GSEAL (keyboard_mode) : 1; + /*< private >*/ + GtkMenuShellPrivate *priv; }; struct _GtkMenuShellClass { GtkContainerClass parent_class; - - guint submenu_placement : 1; - - void (*deactivate) (GtkMenuShell *menu_shell); - void (*selection_done) (GtkMenuShell *menu_shell); - void (*move_current) (GtkMenuShell *menu_shell, - GtkMenuDirectionType direction); - void (*activate_current) (GtkMenuShell *menu_shell, - gboolean force_hide); - void (*cancel) (GtkMenuShell *menu_shell); - void (*select_item) (GtkMenuShell *menu_shell, - GtkWidget *menu_item); - void (*insert) (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position); - gint (*get_popup_delay) (GtkMenuShell *menu_shell); - gboolean (*move_selected) (GtkMenuShell *menu_shell, - gint distance); + guint submenu_placement : 1; + + void (*deactivate) (GtkMenuShell *menu_shell); + void (*selection_done) (GtkMenuShell *menu_shell); + + void (*move_current) (GtkMenuShell *menu_shell, + GtkMenuDirectionType direction); + void (*activate_current) (GtkMenuShell *menu_shell, + gboolean force_hide); + void (*cancel) (GtkMenuShell *menu_shell); + void (*select_item) (GtkMenuShell *menu_shell, + GtkWidget *menu_item); + void (*insert) (GtkMenuShell *menu_shell, + GtkWidget *child, + gint position); + gint (*get_popup_delay) (GtkMenuShell *menu_shell); + gboolean (*move_selected) (GtkMenuShell *menu_shell, + gint distance); /* Padding for future expansion */ void (*_gtk_reserved1) (void); @@ -99,50 +88,29 @@ struct _GtkMenuShellClass }; -GType gtk_menu_shell_get_type (void) G_GNUC_CONST; -void gtk_menu_shell_append (GtkMenuShell *menu_shell, - GtkWidget *child); -void gtk_menu_shell_prepend (GtkMenuShell *menu_shell, - GtkWidget *child); -void gtk_menu_shell_insert (GtkMenuShell *menu_shell, - GtkWidget *child, - gint position); -void gtk_menu_shell_deactivate (GtkMenuShell *menu_shell); -void gtk_menu_shell_select_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item); -void gtk_menu_shell_deselect (GtkMenuShell *menu_shell); -void gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, - GtkWidget *menu_item, - gboolean force_deactivate); -void gtk_menu_shell_select_first (GtkMenuShell *menu_shell, - gboolean search_sensitive); -void _gtk_menu_shell_select_last (GtkMenuShell *menu_shell, - gboolean search_sensitive); -void _gtk_menu_shell_activate (GtkMenuShell *menu_shell); -gint _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell); - -void _gtk_menu_shell_set_grab_device (GtkMenuShell *menu_shell, - GdkDevice *device); -GdkDevice * _gtk_menu_shell_get_grab_device (GtkMenuShell *menu_shell); - -void gtk_menu_shell_cancel (GtkMenuShell *menu_shell); - -void _gtk_menu_shell_add_mnemonic (GtkMenuShell *menu_shell, - guint keyval, - GtkWidget *target); -void _gtk_menu_shell_remove_mnemonic (GtkMenuShell *menu_shell, - guint keyval, - GtkWidget *target); +GType gtk_menu_shell_get_type (void) G_GNUC_CONST; +void gtk_menu_shell_append (GtkMenuShell *menu_shell, + GtkWidget *child); +void gtk_menu_shell_prepend (GtkMenuShell *menu_shell, + GtkWidget *child); +void gtk_menu_shell_insert (GtkMenuShell *menu_shell, + GtkWidget *child, + gint position); +void gtk_menu_shell_deactivate (GtkMenuShell *menu_shell); +void gtk_menu_shell_select_item (GtkMenuShell *menu_shell, + GtkWidget *menu_item); +void gtk_menu_shell_deselect (GtkMenuShell *menu_shell); +void gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, + GtkWidget *menu_item, + gboolean force_deactivate); +void gtk_menu_shell_select_first (GtkMenuShell *menu_shell, + gboolean search_sensitive); +void gtk_menu_shell_cancel (GtkMenuShell *menu_shell); gboolean gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell); void gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell, gboolean take_focus); -void _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell); -void _gtk_menu_shell_set_keyboard_mode (GtkMenuShell *menu_shell, - gboolean keyboard_mode); -gboolean _gtk_menu_shell_get_keyboard_mode (GtkMenuShell *menu_shell); - G_END_DECLS #endif /* __GTK_MENU_SHELL_H__ */ diff --git a/gtk/gtkmenushellprivate.h b/gtk/gtkmenushellprivate.h new file mode 100644 index 0000000000..6015f0c6e2 --- /dev/null +++ b/gtk/gtkmenushellprivate.h @@ -0,0 +1,82 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_MENU_SHELL_PRIVATE_H__ +#define __GTK_MENU_SHELL_PRIVATE_H__ + + +#include +#include +#include + + +G_BEGIN_DECLS + +struct _GtkMenuShellPrivate +{ + GList *children; + GtkWidget *active_menu_item; + GtkWidget *parent_menu_shell; + + guint button; + guint32 activate_time; + + guint active : 1; + guint have_grab : 1; + guint have_xgrab : 1; + guint ignore_enter : 1; + guint keyboard_mode : 1; + + guint take_focus : 1; + guint activated_submenu : 1; + guint in_unselectable_item : 1; /* This flag is a crutch to keep + * mnemonics in the same menu if + * the user moves the mouse over + * an unselectable menuitem. + */ + GtkMnemonicHash *mnemonic_hash; + GtkKeyHash *key_hash; + + GdkDevice *grab_pointer; +}; + +void _gtk_menu_shell_select_last (GtkMenuShell *menu_shell, + gboolean search_sensitive); +void _gtk_menu_shell_activate (GtkMenuShell *menu_shell); +gint _gtk_menu_shell_get_popup_delay (GtkMenuShell *menu_shell); +void _gtk_menu_shell_set_grab_device (GtkMenuShell *menu_shell, + GdkDevice *device); +GdkDevice *_gtk_menu_shell_get_grab_device (GtkMenuShell *menu_shell); + +void _gtk_menu_shell_add_mnemonic (GtkMenuShell *menu_shell, + guint keyval, + GtkWidget *target); +void _gtk_menu_shell_remove_mnemonic (GtkMenuShell *menu_shell, + guint keyval, + GtkWidget *target); + +void _gtk_menu_shell_update_mnemonics (GtkMenuShell *menu_shell); +void _gtk_menu_shell_set_keyboard_mode (GtkMenuShell *menu_shell, + gboolean keyboard_mode); +gboolean _gtk_menu_shell_get_keyboard_mode (GtkMenuShell *menu_shell); + + +G_END_DECLS + +#endif /* __GTK_MENU_SHELL_PRIVATE_H__ */ diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c index 4b0b0dbac1..7162f77e92 100644 --- a/gtk/gtkuimanager.c +++ b/gtk/gtkuimanager.c @@ -38,6 +38,7 @@ #include "gtkintl.h" #include "gtkmarshalers.h" #include "gtkmenu.h" +#include "gtkmenushellprivate.h" #include "gtkmenubar.h" #include "gtkmenutoolbutton.h" #include "gtkseparatormenuitem.h" @@ -1955,9 +1956,9 @@ get_action_by_name (GtkUIManager *merge, } static gboolean -find_menu_position (GNode *node, - GtkWidget **menushell_p, - gint *pos_p) +find_menu_position (GNode *node, + GtkWidget **menushell_p, + gint *pos_p) { GtkWidget *menushell; gint pos = 0; @@ -1998,7 +1999,7 @@ find_menu_position (GNode *node, case NODE_TYPE_MENU_PLACEHOLDER: menushell = gtk_widget_get_parent (NODE_INFO (parent)->proxy); g_return_val_if_fail (GTK_IS_MENU_SHELL (menushell), FALSE); - pos = g_list_index (GTK_MENU_SHELL (menushell)->children, + pos = g_list_index (GTK_MENU_SHELL (menushell)->priv->children, NODE_INFO (parent)->proxy) + 1; break; default: @@ -2025,7 +2026,7 @@ find_menu_position (GNode *node, if (!GTK_IS_MENU_SHELL (menushell)) return FALSE; - pos = g_list_index (GTK_MENU_SHELL (menushell)->children, prev_child) + 1; + pos = g_list_index (GTK_MENU_SHELL (menushell)->priv->children, prev_child) + 1; } if (menushell_p) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index da8e0c7f45..0cfd5ba201 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5173,7 +5173,6 @@ gtk_window_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkWindow *window = GTK_WINDOW (widget); - GtkWindowPrivate *priv = window->priv; GtkAllocation child_allocation; GtkWidget *child; guint border_width; From 7650482e468ee6f01cc5f7f3b161406fabc56bae Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 20:11:38 -0500 Subject: [PATCH 0898/1463] Add sufficient API to make gail work The accessible implementations should really be folded into gtk proper. Until that happens, we need some more guts exposed... --- docs/reference/gtk/gtk3-sections.txt | 2 ++ gtk/gtk.symbols | 2 ++ gtk/gtkmenushell.c | 39 ++++++++++++++++++++++ gtk/gtkmenushell.h | 3 ++ modules/other/gail/gail.c | 26 +++++++++------ modules/other/gail/gailmenushell.c | 50 +++++++++++++++++----------- modules/other/gail/gailsubmenuitem.c | 48 ++++++++++++++++---------- 7 files changed, 121 insertions(+), 49 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 32357c2e51..51d5f634e7 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -2116,6 +2116,8 @@ gtk_menu_shell_activate_item gtk_menu_shell_cancel gtk_menu_shell_set_take_focus gtk_menu_shell_get_take_focus +gtk_menu_shell_get_selected_item +gtk_menu_shell_get_parent_shell GtkMenuDirectionType GTK_MENU_SHELL diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index f1690d24ee..b9937bdb89 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1501,6 +1501,8 @@ gtk_menu_shell_append gtk_menu_shell_cancel gtk_menu_shell_deactivate gtk_menu_shell_deselect +gtk_menu_shell_get_selected_item +gtk_menu_shell_get_parent_shell gtk_menu_shell_get_take_focus gtk_menu_shell_get_type G_GNUC_CONST gtk_menu_shell_insert diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 20e12dc385..d72670aea3 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -1869,3 +1869,42 @@ gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell, g_object_notify (G_OBJECT (menu_shell), "take-focus"); } } + +/** + * gtk_menu_shell_get_selected_item: + * @menu_shell: a #GtkMenuShell + * + * Gets the currently selected item. + * + * Returns: the currently selected item + * + * Since: 3.0 + */ +GtkWidget * +gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell) +{ + g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); + + return menu_shell->priv->active_menu_item; +} + +/** + * gtk_menu_shell_get_parent_shell: + * @menu_shell: a #GtkMenuShell + * + * Gets the parent menu shell. + * + * The parent menu shell of a submenu is the #GtkMenu or #GtkMenuBar + * from which it was opened up. + * + * Returns: the parent #GtkMenuShell + * + * Since: 3.0 + */ +GtkWidget * +gtk_menu_shell_get_parent_shell (GtkMenuShell *menu_shell) +{ + g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); + + return menu_shell->priv->parent_menu_shell; +} diff --git a/gtk/gtkmenushell.h b/gtk/gtkmenushell.h index 9e7d97de77..0b6d5710cf 100644 --- a/gtk/gtkmenushell.h +++ b/gtk/gtkmenushell.h @@ -111,6 +111,9 @@ gboolean gtk_menu_shell_get_take_focus (GtkMenuShell *menu_shell); void gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell, gboolean take_focus); +GtkWidget *gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell); +GtkWidget *gtk_menu_shell_get_parent_shell (GtkMenuShell *menu_shell); + G_END_DECLS #endif /* __GTK_MENU_SHELL_H__ */ diff --git a/modules/other/gail/gail.c b/modules/other/gail/gail.c index 7094d9fe31..cb121638a9 100644 --- a/modules/other/gail/gail.c +++ b/modules/other/gail/gail.c @@ -250,7 +250,7 @@ gail_focus_watcher (GSignalInvocationHint *ihint, { if (GTK_IS_MENU_SHELL (child)) { - if (GTK_MENU_SHELL (child)->active_menu_item) + if (gtk_menu_shell_get_selected_item (GTK_MENU_SHELL (child))) { /* * We have a menu which has a menu item selected @@ -349,10 +349,12 @@ gail_finish_select (GtkWidget *widget) if (GTK_IS_MENU_ITEM (widget)) { GtkMenuItem* menu_item; + GtkWidget *submenu; menu_item = GTK_MENU_ITEM (widget); - if (menu_item->submenu && - !gtk_widget_get_mapped (menu_item->submenu)) + submenu = gtk_menu_item_get_submenu (menu_item); + if (submenu && + !gtk_widget_get_mapped (submenu)) { /* * If the submenu is not visble, wait until it is before @@ -360,7 +362,7 @@ gail_finish_select (GtkWidget *widget) */ gulong handler_id; - handler_id = g_signal_handler_find (menu_item->submenu, + handler_id = g_signal_handler_find (submenu, G_SIGNAL_MATCH_FUNC, g_signal_lookup ("map", GTK_TYPE_WINDOW), @@ -369,11 +371,10 @@ gail_finish_select (GtkWidget *widget) (gpointer) gail_map_submenu_cb, NULL); if (!handler_id) - g_signal_connect (menu_item->submenu, "map", + g_signal_connect (submenu, "map", G_CALLBACK (gail_map_submenu_cb), NULL); return; - } /* * If we are waiting to report focus on a menubar or a menu item @@ -422,8 +423,11 @@ gail_map_submenu_cb (GtkWidget *widget) { if (GTK_IS_MENU (widget)) { - if (GTK_MENU (widget)->parent_menu_item) - gail_finish_select (GTK_MENU (widget)->parent_menu_item); + GtkWidget *parent_menu_item; + + parent_menu_item = gtk_menu_get_attach_widget (GTK_MENU (widget)); + if (parent_menu_item) + gail_finish_select (parent_menu_item); } } @@ -454,12 +458,12 @@ gail_deselect_watcher (GSignalInvocationHint *ihint, { GtkWidget *parent_menu_shell; - parent_menu_shell = GTK_MENU_SHELL (menu_shell)->parent_menu_shell; + parent_menu_shell = gtk_menu_shell_get_parent_shell (GTK_MENU_SHELL (menu_shell)); if (parent_menu_shell) { GtkWidget *active_menu_item; - active_menu_item = GTK_MENU_SHELL (parent_menu_shell)->active_menu_item; + active_menu_item = gtk_menu_shell_get_selected_item (GTK_MENU_SHELL (parent_menu_shell)); if (active_menu_item) { gail_focus_notify_when_idle (active_menu_item); @@ -661,7 +665,7 @@ gail_deactivate_watcher (GSignalInvocationHint *ihint, g_return_val_if_fail (GTK_IS_MENU_SHELL(widget), TRUE); shell = GTK_MENU_SHELL(widget); - if (!shell->parent_menu_shell) + if (! gtk_menu_shell_get_parent_shell (shell)) focus = focus_before_menu; /* diff --git a/modules/other/gail/gailmenushell.c b/modules/other/gail/gailmenushell.c index b31fe5b5c9..04228ee54b 100644 --- a/modules/other/gail/gailmenushell.c +++ b/modules/other/gail/gailmenushell.c @@ -88,8 +88,8 @@ static gboolean gail_menu_shell_add_selection (AtkSelection *selection, gint i) { - GtkMenuShell *shell; - GList *item; + GList *kids; + GtkWidget *item; guint length; GtkWidget *widget; @@ -100,16 +100,18 @@ gail_menu_shell_add_selection (AtkSelection *selection, return FALSE; } - shell = GTK_MENU_SHELL (widget); - length = g_list_length (shell->children); + kids = gtk_container_get_children (GTK_CONTAINER (widget)); + length = g_list_length (kids); if (i < 0 || i > length) - return FALSE; + { + g_list_free (kids); + return FALSE; + } - item = g_list_nth (shell->children, i); - g_return_val_if_fail (item != NULL, FALSE); - g_return_val_if_fail (GTK_IS_MENU_ITEM(item->data), FALSE); - - gtk_menu_shell_select_item (shell, GTK_WIDGET (item->data)); + item = g_list_nth_data (kids, i); + g_list_free (kids); + g_return_val_if_fail (GTK_IS_MENU_ITEM(item), FALSE); + gtk_menu_shell_select_item (GTK_MENU_SHELL (widget), item); return TRUE; } @@ -139,6 +141,7 @@ gail_menu_shell_ref_selection (AtkSelection *selection, GtkMenuShell *shell; AtkObject *obj; GtkWidget *widget; + GtkWidget *item; if (i != 0) return NULL; @@ -151,10 +154,11 @@ gail_menu_shell_ref_selection (AtkSelection *selection, } shell = GTK_MENU_SHELL (widget); - - if (shell->active_menu_item != NULL) + + item = gtk_menu_shell_get_selectec_item (shell); + if (item != NULL) { - obj = gtk_widget_get_accessible (shell->active_menu_item); + obj = gtk_widget_get_accessible (item); g_object_ref (obj); return obj; } @@ -182,7 +186,7 @@ gail_menu_shell_get_selection_count (AtkSelection *selection) /* * Identifies the currently selected menu item */ - if (shell->active_menu_item == NULL) + if (gtk_menu_shell_get_selected_item (shell) == NULL) { return 0; } @@ -197,8 +201,10 @@ gail_menu_shell_is_child_selected (AtkSelection *selection, gint i) { GtkMenuShell *shell; + GList *kids; gint j; GtkWidget *widget; + GtkWidget *item; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection)); if (widget == NULL) @@ -208,12 +214,15 @@ gail_menu_shell_is_child_selected (AtkSelection *selection, } shell = GTK_MENU_SHELL (widget); - if (shell->active_menu_item == NULL) + item = gtk_menu_shell_get_selected_item (shell); + if (item == NULL) return FALSE; - - j = g_list_index (shell->children, shell->active_menu_item); - return (j==i); + kids = gtk_container_get_children (GTK_CONTAINER (shell)); + j = g_list_index (kids, item); + g_list_free (kids); + + return (j==i); } static gboolean @@ -222,6 +231,7 @@ gail_menu_shell_remove_selection (AtkSelection *selection, { GtkMenuShell *shell; GtkWidget *widget; + GtkWidget *item; if (i != 0) return FALSE; @@ -235,8 +245,8 @@ gail_menu_shell_remove_selection (AtkSelection *selection, shell = GTK_MENU_SHELL (widget); - if (shell->active_menu_item && - GTK_MENU_ITEM (shell->active_menu_item)->submenu) + item = gtk_menu_shell_get_selected_item (shell); + if (item && gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))) { /* * Menu item contains a menu and it is the selected menu item diff --git a/modules/other/gail/gailsubmenuitem.c b/modules/other/gail/gailsubmenuitem.c index a2fb23903b..a571f9801d 100644 --- a/modules/other/gail/gailsubmenuitem.c +++ b/modules/other/gail/gailsubmenuitem.c @@ -120,10 +120,11 @@ gail_sub_menu_item_add_selection (AtkSelection *selection, gint i) { GtkMenuShell *shell; - GList *item; + GList *kids; guint length; GtkWidget *widget; GtkWidget *submenu; + GtkWidget *child; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection)); if (widget == NULL) @@ -133,15 +134,18 @@ gail_sub_menu_item_add_selection (AtkSelection *selection, submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)); g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE); shell = GTK_MENU_SHELL (submenu); - length = g_list_length (shell->children); + kids = gtk_container_get_children (GTK_CONTAINER (shell)); + length = g_list_length (kids); if (i < 0 || i > length) - return FALSE; + { + g_list_free (kids); + return FALSE; + } - item = g_list_nth (shell->children, i); - g_return_val_if_fail (item != NULL, FALSE); - g_return_val_if_fail (GTK_IS_MENU_ITEM(item->data), FALSE); - - gtk_menu_shell_select_item (shell, GTK_WIDGET (item->data)); + child = g_list_nth_data (kids, i); + g_list_free (kids); + g_return_val_if_fail (GTK_IS_MENU_ITEM(child), FALSE); + gtk_menu_shell_select_item (shell, GTK_WIDGET (child)); return TRUE; } @@ -173,6 +177,7 @@ gail_sub_menu_item_ref_selection (AtkSelection *selection, AtkObject *obj; GtkWidget *widget; GtkWidget *submenu; + GtkWidget *item; if (i != 0) return NULL; @@ -185,10 +190,11 @@ gail_sub_menu_item_ref_selection (AtkSelection *selection, submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (widget)); g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), NULL); shell = GTK_MENU_SHELL (submenu); - - if (shell->active_menu_item != NULL) + + item = gtk_menu_shell_get_selected_item (shell); + if (item != NULL) { - obj = gtk_widget_get_accessible (shell->active_menu_item); + obj = gtk_widget_get_accessible (item); g_object_ref (obj); return obj; } @@ -217,7 +223,7 @@ gail_sub_menu_item_get_selection_count (AtkSelection *selection) /* * Identifies the currently selected menu item */ - if (shell->active_menu_item == NULL) + if (gtk_menu_shell_get_selected_item (shell) == NULL) return 0; else return 1; @@ -231,6 +237,8 @@ gail_sub_menu_item_is_child_selected (AtkSelection *selection, gint j; GtkWidget *widget; GtkWidget *submenu; + GtkWidget *item; + GList *kids; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (selection)); if (widget == NULL) @@ -241,12 +249,15 @@ gail_sub_menu_item_is_child_selected (AtkSelection *selection, g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE); shell = GTK_MENU_SHELL (submenu); - if (shell->active_menu_item == NULL) + item = gtk_menu_shell_get_selected_item (shell); + if (item == NULL) return FALSE; - - j = g_list_index (shell->children, shell->active_menu_item); - return (j==i); + kids = gtk_container_get_children (GTK_CONTAINER (shell)); + j = g_list_index (kids, item); + g_list_free (kids); + + return (j==i); } static gboolean @@ -256,6 +267,7 @@ gail_sub_menu_item_remove_selection (AtkSelection *selection, GtkMenuShell *shell; GtkWidget *widget; GtkWidget *submenu; + GtkWidget *item; if (i != 0) return FALSE; @@ -269,8 +281,8 @@ gail_sub_menu_item_remove_selection (AtkSelection *selection, g_return_val_if_fail (GTK_IS_MENU_SHELL (submenu), FALSE); shell = GTK_MENU_SHELL (submenu); - if (shell->active_menu_item && - GTK_MENU_ITEM (shell->active_menu_item)->submenu) + item = gtk_menu_shell_get_selected_item (shell); + if (item && gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))) { /* * Menu item contains a menu and it is the selected menu item From 433a22cd1117e67127b0d41f8396bd1450506b68 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Thu, 23 Dec 2010 19:19:59 -0600 Subject: [PATCH 0899/1463] Remove private header from gtkwindow.h https://bugzilla.gnome.org/show_bug.cgi?id=637907 --- gtk/gtkwindow.c | 1 + gtk/gtkwindow.h | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 0cfd5ba201..c21e0d3963 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -39,6 +39,7 @@ #include "gtkrc.h" #include "gtkwindow.h" #include "gtkwindowprivate.h" +#include "gtkaccelgroupprivate.h" #include "gtkbindings.h" #include "gtkkeyhash.h" #include "gtkmain.h" diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index 07309b2e7e..c38de8c1f8 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -36,9 +36,6 @@ #include #include -#include "gtk/gtkaccelgroupprivate.h" - - G_BEGIN_DECLS #define GTK_TYPE_WINDOW (gtk_window_get_type ()) From 1bcf8a0027bff3fcefbc63d6cf7cc3915a5455d7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 21:55:47 -0500 Subject: [PATCH 0900/1463] Remove sealed members from GtkSettings --- gtk/Makefile.am | 134 ++--- gtk/gtkrc.c | 2 +- gtk/gtksettings.c | 1131 ++++++++++++++++++++------------------ gtk/gtksettings.h | 98 ++-- gtk/gtksettingsprivate.h | 43 ++ gtk/gtkwidget.c | 2 +- 6 files changed, 742 insertions(+), 668 deletions(-) create mode 100644 gtk/gtksettingsprivate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index ba619609ef..2f411a58cf 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -143,7 +143,7 @@ endif # GTK+ header files for public installation (non-generated, or generated # by configure) -gtk_public_h_sources = \ +gtk_public_h_sources = \ gtk.h \ gtkaboutdialog.h \ gtkaccelgroup.h \ @@ -156,10 +156,10 @@ gtk_public_h_sources = \ gtkadjustment.h \ gtkalignment.h \ gtkappchooser.h \ + gtkappchooserbutton.h \ gtkappchooserdialog.h \ - gtkappchooserbutton.h \ gtkappchooserwidget.h \ - gtkapplication.h \ + gtkapplication.h \ gtkarrow.h \ gtkaspectframe.h \ gtkassistant.h \ @@ -173,9 +173,9 @@ gtk_public_h_sources = \ gtkbutton.h \ gtkcalendar.h \ gtkcellarea.h \ + gtkcellareacontext.h \ gtkcellareabox.h \ gtkcellareaboxcontext.h \ - gtkcellareacontext.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ @@ -272,12 +272,12 @@ gtk_public_h_sources = \ gtkrange.h \ gtkrc.h \ gtkrecentaction.h \ - gtkrecentchooser.h \ + gtkrecentchooser.h \ gtkrecentchooserdialog.h \ gtkrecentchoosermenu.h \ gtkrecentchooserwidget.h \ gtkrecentfilter.h \ - gtkrecentmanager.h \ + gtkrecentmanager.h \ gtkscale.h \ gtkscalebutton.h \ gtkscrollable.h \ @@ -287,8 +287,8 @@ gtk_public_h_sources = \ gtkseparator.h \ gtkseparatormenuitem.h \ gtkseparatortoolitem.h \ - gtkshow.h \ gtksettings.h \ + gtkshow.h \ gtksizegroup.h \ gtksizerequest.h \ gtksocket.h \ @@ -350,7 +350,7 @@ gtk_public_h_sources = \ gtkwindow.h if OS_UNIX -gtk_unix_print_public_h_sources = \ +gtk_unix_print_public_h_sources = \ gtkpagesetupunixdialog.h \ gtkprintunixdialog.h \ gtkprinter.h \ @@ -360,34 +360,32 @@ endif # Installed header files without compatibility guarantees # that are not included in gtk/gtk.h -gtk_semi_private_h_sources = \ +gtk_semi_private_h_sources = \ gtktextlayout.h if ENABLE_PACKAGEKIT gtk_appchooser_impl_h_sources = \ - gtkappchooseronlinepk.h \ - $(NULL) + gtkappchooseronlinepk.h endif if ENABLE_PACKAGEKIT gtk_appchooser_impl_c_sources = \ - gtkappchooseronlinepk.c \ - $(NULL) + gtkappchooseronlinepk.c endif # GTK+ header files that don't get installed gtk_private_h_sources = \ - gtk9slice.h \ + gtk9slice.h \ gtkaccelgroupprivate.h \ + gtkanimationdescription.h \ + gtkappchooserprivate.h \ + gtkappchoosermodule.h \ + gtkappchooseronline.h \ + gtkbuilderprivate.h \ gtkbuttonprivate.h \ - gtkquery.h \ - gtksearchengine.h \ - gtksearchenginesimple.h \ + gtkcustompaperunixdialog.h \ gtkdndcursors.h \ gtkentryprivate.h \ - gtkanimationdescription.h \ - gtkbuilderprivate.h \ - gtkcustompaperunixdialog.h\ gtkfilechooserdefault.h \ gtkfilechooserembed.h \ gtkfilechooserentry.h \ @@ -404,24 +402,25 @@ gtk_private_h_sources = \ gtkmnemonichash.h \ gtkmodifierstyle.h \ gtkmountoperationprivate.h \ - gtkappchooserprivate.h \ - gtkappchoosermodule.h \ - gtkappchooseronline.h \ gtkpango.h \ gtkpathbar.h \ gtkplugprivate.h \ - gtkprintoperation-private.h\ + gtkprintoperation-private.h \ gtkprintutils.h \ gtkprivate.h \ + gtkquery.h \ gtkrbtree.h \ gtkrecentchooserdefault.h \ gtkrecentchooserprivate.h \ - gtkrecentchooserutils.h \ + gtkrecentchooserutils.h \ + gtksearchengine.h \ + gtksearchenginesimple.h \ gtkselectionprivate.h \ + gtksettingsprivate.h \ gtksizegroup-private.h \ gtksocketprivate.h \ gtktextbtree.h \ - gtktextbufferserialize.h\ + gtktextbufferserialize.h \ gtktextchildprivate.h \ gtktextiterprivate.h \ gtktextmarkprivate.h \ @@ -429,8 +428,8 @@ gtk_private_h_sources = \ gtktexttagprivate.h \ gtktexttypes.h \ gtktextutil.h \ - gtktimeline.h \ gtkthemes.h \ + gtktimeline.h \ gtktoolpaletteprivate.h \ gtktreedatalist.h \ gtktreeprivate.h \ @@ -440,7 +439,7 @@ gtk_private_h_sources = \ $(gtk_appchooser_impl_h_sources) # GTK+ C sources to build the library from -gtk_base_c_sources = \ +gtk_base_c_sources = \ gtk9slice.c \ gtkquery.c \ gtksearchengine.c \ @@ -458,11 +457,11 @@ gtk_base_c_sources = \ gtkalignment.c \ gtkappchooser.c \ gtkappchooserwidget.c \ - gtkappchooserbutton.c \ + gtkappchooserbutton.c \ gtkappchooserdialog.c \ gtkappchoosermodule.c \ gtkappchooseronline.c \ - gtkapplication.c \ + gtkapplication.c \ gtkanimationdescription.c \ gtkarrow.c \ gtkaspectframe.c \ @@ -488,8 +487,8 @@ gtk_base_c_sources = \ gtkcellrenderercombo.c \ gtkcellrendererpixbuf.c \ gtkcellrendererprogress.c \ - gtkcellrendererspin.c \ - gtkcellrendererspinner.c\ + gtkcellrendererspin.c \ + gtkcellrendererspinner.c \ gtkcellrenderertext.c \ gtkcellrenderertoggle.c \ gtkcellview.c \ @@ -499,7 +498,7 @@ gtk_base_c_sources = \ gtkcolorsel.c \ gtkcolorseldialog.c \ gtkcombobox.c \ - gtkcomboboxtext.c \ + gtkcomboboxtext.c \ gtkcontainer.c \ gtkcssprovider.c \ gtkdialog.c \ @@ -590,13 +589,13 @@ gtk_base_c_sources = \ gtkrc.c \ gtkrecentaction.c \ gtkrecentchooserdefault.c \ - gtkrecentchooserdialog.c\ + gtkrecentchooserdialog.c \ gtkrecentchoosermenu.c \ - gtkrecentchooserwidget.c\ - gtkrecentchooserutils.c \ - gtkrecentchooser.c \ - gtkrecentfilter.c \ - gtkrecentmanager.c \ + gtkrecentchooserwidget.c \ + gtkrecentchooserutils.c \ + gtkrecentchooser.c \ + gtkrecentfilter.c \ + gtkrecentmanager.c \ gtkscale.c \ gtkscalebutton.c \ gtkscrollable.c \ @@ -628,7 +627,7 @@ gtk_base_c_sources = \ gtktextbtree.c \ gtktextbuffer.c \ gtktextbufferrichtext.c \ - gtktextbufferserialize.c\ + gtktextbufferserialize.c \ gtktextchild.c \ gtktextdisplay.c \ gtktextiter.c \ @@ -683,7 +682,7 @@ gtk_base_c_sources = \ gtk_c_sources = $(gtk_base_c_sources) gtk_all_c_sources = $(gtk_base_c_sources) -gtk_os_unix_c_sources = \ +gtk_os_unix_c_sources = \ gtkcustompaperunixdialog.c \ gtkpagesetupunixdialog.c \ gtkprinter.c \ @@ -719,38 +718,44 @@ gtk_private_h_sources += gtkprint-win32.h gtk_c_sources += $(gtk_os_win32_c_sources) endif -gtk_use_x11_c_sources = \ - gtkplug-x11.c \ - gtksocket-x11.c \ - gtkxembed.c \ - gtktrayicon-x11.c \ +gtk_use_x11_c_sources = \ + gtkplug-x11.c \ + gtksocket-x11.c \ + gtkxembed.c \ + gtktrayicon-x11.c \ gtkmountoperation-x11.c -gtk_use_win32_c_sources = \ - gtkplug-win32.c \ - gtksocket-win32.c \ - gtkwin32embed.c \ - gtkwin32embedwidget.c \ +gtk_use_win32_c_sources = \ + gtkplug-win32.c \ + gtksocket-win32.c \ + gtkwin32embed.c \ + gtkwin32embedwidget.c \ gtkmountoperation-stub.c -gtk_use_quartz_c_sources = \ +gtk_use_quartz_c_sources = \ gtksearchenginequartz.c \ gtkplug-stub.c \ gtksocket-stub.c \ gtkmountoperation-stub.c -gtk_use_stub_c_sources = \ - gtkplug-stub.c \ - gtksocket-stub.c \ +gtk_use_stub_c_sources = \ + gtkplug-stub.c \ + gtksocket-stub.c \ gtkmountoperation-stub.c gtk_all_c_sources += $(gtk_use_x11_c_sources) $(gtk_use_win32_c_sources) $(gtk_use_quartz_c_sources) $(gtk_use_stub_c_sources) if USE_X11 -gtk_private_h_sources += gtkxembed.h gtktrayicon.h xembed.h +gtk_private_h_sources += \ + gtkxembed.h \ + gtktrayicon.h \ + xembed.h gtk_c_sources += $(gtk_use_x11_c_sources) else if USE_WIN32 -gtk_private_h_sources += gtkwin32embed.h gtkwin32embedwidget.h +gtk_private_h_sources += \ + gtkwin32embed.h \ + gtkwin32embedwidget.h gtk_c_sources += $(gtk_use_win32_c_sources) else if USE_QUARTZ -gtk_private_h_sources += gtksearchenginequartz.h +gtk_private_h_sources += \ + gtksearchenginequartz.h gtk_c_sources += $(gtk_use_quartz_c_sources) gtk_use_quartz_c_sources_CFLAGS = "-xobjective-c" else @@ -760,11 +765,16 @@ endif endif if USE_QUARTZ -gtk_clipboard_dnd_c_sources = gtkclipboard-quartz.c gtkdnd-quartz.c gtkquartz.c +gtk_clipboard_dnd_c_sources = \ + gtkclipboard-quartz.c \ + gtkdnd-quartz.c \ + gtkquartz.c gtk_clipboard_dnd_h_sources = gtkquartz.h gtk_clipboard_dnd_c_sources_CFLAGS = "-xobjective-c" else -gtk_clipboard_dnd_c_sources = gtkclipboard.c gtkdnd.c +gtk_clipboard_dnd_c_sources = \ + gtkclipboard.c \ + gtkdnd.c gtk_clipboard_dnd_c_sources_CFLAGS = endif EXTRA_DIST += gtkquartz.h @@ -803,7 +813,7 @@ gtk_extra_sources = \ paper_names.c \ paper_names_offsets.c \ gen-paper-names.c \ - gtkstatusicon-quartz.c \ + gtkstatusicon-quartz.c \ gtk.symbols \ gtkversion.h.in \ gtkmarshalers.list @@ -837,7 +847,7 @@ stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \ && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \ && rm -f xgen-gmlh \ - && echo timestamp > $(@F) + && echo timestamp > $(@F) gtkmarshalers.c: @REBUILD@ gtkmarshalers.list (echo "#include \"gtkmarshalers.h\""; \ $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \ diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index b0d99c8d39..3535e16960 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -53,7 +53,7 @@ #include "gtkmain.h" #include "gtkmodules.h" #include "gtkprivate.h" -#include "gtksettings.h" +#include "gtksettingsprivate.h" #include "gtkwindow.h" #ifdef G_OS_WIN32 diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 2e0f7d69af..e9e4978bbb 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -24,7 +24,7 @@ #include #include "gtkmodules.h" -#include "gtksettings.h" +#include "gtksettingsprivate.h" #include "gtkrc.h" #include "gtkintl.h" #include "gtkwidget.h" @@ -84,8 +84,16 @@ #define DEFAULT_TIMEOUT_REPEAT 20 #define DEFAULT_TIMEOUT_EXPAND 500 +typedef struct _GtkSettingsPropertyValue GtkSettingsPropertyValue; typedef struct _GtkSettingsValuePrivate GtkSettingsValuePrivate; +struct _GtkSettingsPrivate +{ + GData *queued_settings; /* of type GtkSettingsValue* */ + GtkSettingsPropertyValue *property_values; + GdkScreen *screen; +}; + typedef enum { GTK_SETTINGS_SOURCE_DEFAULT, @@ -184,20 +192,20 @@ enum { /* --- prototypes --- */ static void gtk_settings_provider_iface_init (GtkStyleProviderIface *iface); -static void gtk_settings_finalize (GObject *object); -static void gtk_settings_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec); -static void gtk_settings_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec); -static void gtk_settings_notify (GObject *object, - GParamSpec *pspec); -static guint settings_install_property_parser (GtkSettingsClass *class, - GParamSpec *pspec, - GtkRcPropertyParser parser); +static void gtk_settings_finalize (GObject *object); +static void gtk_settings_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec); +static void gtk_settings_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_settings_notify (GObject *object, + GParamSpec *pspec); +static guint settings_install_property_parser (GtkSettingsClass *class, + GParamSpec *pspec, + GtkRcPropertyParser parser); static void settings_update_double_click (GtkSettings *settings); static void settings_update_modules (GtkSettings *settings); @@ -210,9 +218,9 @@ static gboolean settings_update_fontconfig (GtkSettings *setting static void settings_update_color_scheme (GtkSettings *settings); static void settings_update_theme (GtkSettings *settings); -static void merge_color_scheme (GtkSettings *settings, - const GValue *value, - GtkSettingsSource source); +static void merge_color_scheme (GtkSettings *settings, + const GValue *value, + GtkSettingsSource source); static gchar *get_color_scheme (GtkSettings *settings); static GHashTable *get_color_hash (GtkSettings *settings); @@ -222,9 +230,9 @@ static const gchar default_color_palette[] = "lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"; /* --- variables --- */ -static GQuark quark_property_parser = 0; +static GQuark quark_property_parser = 0; static GSList *object_list = NULL; -static guint class_n_properties = 0; +static guint class_n_properties = 0; G_DEFINE_TYPE_EXTENDED (GtkSettings, gtk_settings, G_TYPE_OBJECT, 0, @@ -235,10 +243,16 @@ G_DEFINE_TYPE_EXTENDED (GtkSettings, gtk_settings, G_TYPE_OBJECT, 0, static void gtk_settings_init (GtkSettings *settings) { + GtkSettingsPrivate *priv; GParamSpec **pspecs, **p; guint i = 0; - - g_datalist_init (&settings->queued_settings); + + priv = G_TYPE_INSTANCE_GET_PRIVATE (settings, + GTK_TYPE_SETTINGS, + GtkSettingsPrivate); + + settings->priv = priv; + g_datalist_init (&priv->queued_settings); object_list = g_slist_prepend (object_list, settings); /* build up property array for all yet existing properties and queue @@ -249,7 +263,7 @@ gtk_settings_init (GtkSettings *settings) for (p = pspecs; *p; p++) if ((*p)->owner_type == G_OBJECT_TYPE (settings)) i++; - settings->property_values = g_new0 (GtkSettingsPropertyValue, i); + priv->property_values = g_new0 (GtkSettingsPropertyValue, i); i = 0; g_object_freeze_notify (G_OBJECT (settings)); for (p = pspecs; *p; p++) @@ -257,11 +271,11 @@ gtk_settings_init (GtkSettings *settings) GParamSpec *pspec = *p; if (pspec->owner_type != G_OBJECT_TYPE (settings)) - continue; - g_value_init (&settings->property_values[i].value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - g_param_value_set_default (pspec, &settings->property_values[i].value); + continue; + g_value_init (&priv->property_values[i].value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + g_param_value_set_default (pspec, &priv->property_values[i].value); g_object_notify (G_OBJECT (settings), pspec->name); - settings->property_values[i].source = GTK_SETTINGS_SOURCE_DEFAULT; + priv->property_values[i].source = GTK_SETTINGS_SOURCE_DEFAULT; i++; } g_object_thaw_notify (G_OBJECT (settings)); @@ -273,7 +287,7 @@ gtk_settings_class_init (GtkSettingsClass *class) { GObjectClass *gobject_class = G_OBJECT_CLASS (class); guint result; - + gobject_class->finalize = gtk_settings_finalize; gobject_class->get_property = gtk_settings_get_property; gobject_class->set_property = gtk_settings_set_property; @@ -300,18 +314,18 @@ gtk_settings_class_init (GtkSettingsClass *class) /** * GtkSettings:gtk-cursor-blink: * - * Whether the cursor should blink. + * Whether the cursor should blink. * - * Also see the #GtkSettings:gtk-cursor-blink-timeout setting, + * Also see the #GtkSettings:gtk-cursor-blink-timeout setting, * which allows more flexible control over cursor blinking. */ result = settings_install_property_parser (class, g_param_spec_boolean ("gtk-cursor-blink", - P_("Cursor Blink"), - P_("Whether the cursor should blink"), - TRUE, - GTK_PARAM_READWRITE), - NULL); + P_("Cursor Blink"), + P_("Whether the cursor should blink"), + TRUE, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_CURSOR_BLINK); result = settings_install_property_parser (class, g_param_spec_int ("gtk-cursor-blink-time", @@ -321,7 +335,7 @@ gtk_settings_class_init (GtkSettingsClass *class) GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_CURSOR_BLINK_TIME); - + /** * GtkSettings:gtk-cursor-blink-timeout: * @@ -329,7 +343,7 @@ gtk_settings_class_init (GtkSettingsClass *class) * The timer is reset after each user interaction. * * Setting this to zero has the same effect as setting - * #GtkSettings:gtk-cursor-blink to %FALSE. + * #GtkSettings:gtk-cursor-blink to %FALSE. * * Since: 2.12 */ @@ -343,47 +357,47 @@ gtk_settings_class_init (GtkSettingsClass *class) g_assert (result == PROP_CURSOR_BLINK_TIMEOUT); result = settings_install_property_parser (class, g_param_spec_boolean ("gtk-split-cursor", - P_("Split Cursor"), - P_("Whether two cursors should be displayed for mixed left-to-right and right-to-left text"), - TRUE, - GTK_PARAM_READWRITE), + P_("Split Cursor"), + P_("Whether two cursors should be displayed for mixed left-to-right and right-to-left text"), + TRUE, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_SPLIT_CURSOR); result = settings_install_property_parser (class, g_param_spec_string ("gtk-theme-name", - P_("Theme Name"), - P_("Name of theme RC file to load"), - "Raleigh", - GTK_PARAM_READWRITE), + P_("Theme Name"), + P_("Name of theme RC file to load"), + "Raleigh", + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_THEME_NAME); result = settings_install_property_parser (class, g_param_spec_string ("gtk-icon-theme-name", - P_("Icon Theme Name"), - P_("Name of icon theme to use"), - "hicolor", - GTK_PARAM_READWRITE), + P_("Icon Theme Name"), + P_("Name of icon theme to use"), + "hicolor", + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_ICON_THEME_NAME); result = settings_install_property_parser (class, g_param_spec_string ("gtk-fallback-icon-theme", - P_("Fallback Icon Theme Name"), - P_("Name of a icon theme to fall back to"), - NULL, - GTK_PARAM_READWRITE), + P_("Fallback Icon Theme Name"), + P_("Name of a icon theme to fall back to"), + NULL, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_FALLBACK_ICON_THEME); - + result = settings_install_property_parser (class, g_param_spec_string ("gtk-key-theme-name", - P_("Key Theme Name"), - P_("Name of key theme RC file to load"), - DEFAULT_KEY_THEME, - GTK_PARAM_READWRITE), + P_("Key Theme Name"), + P_("Name of key theme RC file to load"), + DEFAULT_KEY_THEME, + GTK_PARAM_READWRITE), NULL); - g_assert (result == PROP_KEY_THEME_NAME); + g_assert (result == PROP_KEY_THEME_NAME); result = settings_install_property_parser (class, g_param_spec_string ("gtk-menu-bar-accel", @@ -395,20 +409,20 @@ gtk_settings_class_init (GtkSettingsClass *class) g_assert (result == PROP_MENU_BAR_ACCEL); result = settings_install_property_parser (class, - g_param_spec_int ("gtk-dnd-drag-threshold", - P_("Drag threshold"), - P_("Number of pixels the cursor can move before dragging"), - 1, G_MAXINT, 8, + g_param_spec_int ("gtk-dnd-drag-threshold", + P_("Drag threshold"), + P_("Number of pixels the cursor can move before dragging"), + 1, G_MAXINT, 8, GTK_PARAM_READWRITE), - NULL); + NULL); g_assert (result == PROP_DND_DRAG_THRESHOLD); result = settings_install_property_parser (class, g_param_spec_string ("gtk-font-name", - P_("Font Name"), - P_("Name of default font to use"), - "Sans 10", - GTK_PARAM_READWRITE), + P_("Font Name"), + P_("Name of default font to use"), + "Sans 10", + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_FONT_NAME); @@ -420,107 +434,107 @@ gtk_settings_class_init (GtkSettingsClass *class) * * size-name = width , height * - * E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48". - * GTK+ itself use the following named icon sizes: gtk-menu, - * gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd, - * gtk-dialog. Applications can register their own named icon + * E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48". + * GTK+ itself use the following named icon sizes: gtk-menu, + * gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd, + * gtk-dialog. Applications can register their own named icon * sizes with gtk_icon_size_register(). */ result = settings_install_property_parser (class, g_param_spec_string ("gtk-icon-sizes", - P_("Icon Sizes"), - P_("List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."), - NULL, - GTK_PARAM_READWRITE), + P_("Icon Sizes"), + P_("List of icon sizes (gtk-menu=16,16:gtk-button=20,20..."), + NULL, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_ICON_SIZES); result = settings_install_property_parser (class, g_param_spec_string ("gtk-modules", - P_("GTK Modules"), - P_("List of currently active GTK modules"), - NULL, - GTK_PARAM_READWRITE), + P_("GTK Modules"), + P_("List of currently active GTK modules"), + NULL, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_MODULES); #ifdef GDK_WINDOWING_X11 result = settings_install_property_parser (class, - g_param_spec_int ("gtk-xft-antialias", - P_("Xft Antialias"), - P_("Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"), - -1, 1, -1, - GTK_PARAM_READWRITE), - NULL); - + g_param_spec_int ("gtk-xft-antialias", + P_("Xft Antialias"), + P_("Whether to antialias Xft fonts; 0=no, 1=yes, -1=default"), + -1, 1, -1, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_XFT_ANTIALIAS); - + result = settings_install_property_parser (class, - g_param_spec_int ("gtk-xft-hinting", - P_("Xft Hinting"), - P_("Whether to hint Xft fonts; 0=no, 1=yes, -1=default"), - -1, 1, -1, - GTK_PARAM_READWRITE), - NULL); - + g_param_spec_int ("gtk-xft-hinting", + P_("Xft Hinting"), + P_("Whether to hint Xft fonts; 0=no, 1=yes, -1=default"), + -1, 1, -1, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_XFT_HINTING); - + result = settings_install_property_parser (class, - g_param_spec_string ("gtk-xft-hintstyle", - P_("Xft Hint Style"), - P_("What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"), - NULL, - GTK_PARAM_READWRITE), + g_param_spec_string ("gtk-xft-hintstyle", + P_("Xft Hint Style"), + P_("What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull"), + NULL, + GTK_PARAM_READWRITE), NULL); - + g_assert (result == PROP_XFT_HINTSTYLE); - + result = settings_install_property_parser (class, - g_param_spec_string ("gtk-xft-rgba", - P_("Xft RGBA"), - P_("Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"), - NULL, - GTK_PARAM_READWRITE), - NULL); - + g_param_spec_string ("gtk-xft-rgba", + P_("Xft RGBA"), + P_("Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr"), + NULL, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_XFT_RGBA); - + result = settings_install_property_parser (class, - g_param_spec_int ("gtk-xft-dpi", - P_("Xft DPI"), - P_("Resolution for Xft, in 1024 * dots/inch. -1 to use default value"), - -1, 1024*1024, -1, - GTK_PARAM_READWRITE), - NULL); - + g_param_spec_int ("gtk-xft-dpi", + P_("Xft DPI"), + P_("Resolution for Xft, in 1024 * dots/inch. -1 to use default value"), + -1, 1024*1024, -1, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_XFT_DPI); result = settings_install_property_parser (class, g_param_spec_string ("gtk-cursor-theme-name", - P_("Cursor theme name"), - P_("Name of the cursor theme to use, or NULL to use the default theme"), - NULL, - GTK_PARAM_READWRITE), + P_("Cursor theme name"), + P_("Name of the cursor theme to use, or NULL to use the default theme"), + NULL, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_CURSOR_THEME_NAME); result = settings_install_property_parser (class, - g_param_spec_int ("gtk-cursor-theme-size", - P_("Cursor theme size"), - P_("Size to use for cursors, or 0 to use the default size"), - 0, 128, 0, - GTK_PARAM_READWRITE), - NULL); - + g_param_spec_int ("gtk-cursor-theme-size", + P_("Cursor theme size"), + P_("Size to use for cursors, or 0 to use the default size"), + 0, 128, 0, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_CURSOR_THEME_SIZE); #endif /* GDK_WINDOWING_X11 */ result = settings_install_property_parser (class, g_param_spec_boolean ("gtk-alternative-button-order", - P_("Alternative button order"), - P_("Whether buttons in dialogs should use the alternative button order"), - FALSE, - GTK_PARAM_READWRITE), + P_("Alternative button order"), + P_("Whether buttons in dialogs should use the alternative button order"), + FALSE, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_ALTERNATIVE_BUTTON_ORDER); @@ -535,58 +549,58 @@ gtk_settings_class_init (GtkSettingsClass *class) */ result = settings_install_property_parser (class, g_param_spec_boolean ("gtk-alternative-sort-arrows", - P_("Alternative sort indicator direction"), - P_("Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending)"), - FALSE, - GTK_PARAM_READWRITE), + P_("Alternative sort indicator direction"), + P_("Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending)"), + FALSE, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_ALTERNATIVE_SORT_ARROWS); result = settings_install_property_parser (class, - g_param_spec_boolean ("gtk-show-input-method-menu", - P_("Show the 'Input Methods' menu"), - P_("Whether the context menus of entries and text views should offer to change the input method"), - TRUE, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_boolean ("gtk-show-input-method-menu", + P_("Show the 'Input Methods' menu"), + P_("Whether the context menus of entries and text views should offer to change the input method"), + TRUE, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_SHOW_INPUT_METHOD_MENU); result = settings_install_property_parser (class, - g_param_spec_boolean ("gtk-show-unicode-menu", - P_("Show the 'Insert Unicode Control Character' menu"), - P_("Whether the context menus of entries and text views should offer to insert control characters"), - TRUE, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_boolean ("gtk-show-unicode-menu", + P_("Show the 'Insert Unicode Control Character' menu"), + P_("Whether the context menus of entries and text views should offer to insert control characters"), + TRUE, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_SHOW_UNICODE_MENU); result = settings_install_property_parser (class, - g_param_spec_int ("gtk-timeout-initial", - P_("Start timeout"), - P_("Starting value for timeouts, when button is pressed"), - 0, G_MAXINT, DEFAULT_TIMEOUT_INITIAL, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-timeout-initial", + P_("Start timeout"), + P_("Starting value for timeouts, when button is pressed"), + 0, G_MAXINT, DEFAULT_TIMEOUT_INITIAL, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_TIMEOUT_INITIAL); result = settings_install_property_parser (class, - g_param_spec_int ("gtk-timeout-repeat", - P_("Repeat timeout"), - P_("Repeat value for timeouts, when button is pressed"), - 0, G_MAXINT, DEFAULT_TIMEOUT_REPEAT, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-timeout-repeat", + P_("Repeat timeout"), + P_("Repeat value for timeouts, when button is pressed"), + 0, G_MAXINT, DEFAULT_TIMEOUT_REPEAT, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_TIMEOUT_REPEAT); result = settings_install_property_parser (class, - g_param_spec_int ("gtk-timeout-expand", - P_("Expand timeout"), - P_("Expand value for timeouts, when a widget is expanding a new region"), - 0, G_MAXINT, DEFAULT_TIMEOUT_EXPAND, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-timeout-expand", + P_("Expand timeout"), + P_("Expand value for timeouts, when a widget is expanding a new region"), + 0, G_MAXINT, DEFAULT_TIMEOUT_EXPAND, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_TIMEOUT_EXPAND); @@ -599,11 +613,11 @@ gtk_settings_class_init (GtkSettingsClass *class) * name2: color2 * ... * - * Color names must be acceptable as identifiers in the + * Color names must be acceptable as identifiers in the * gtkrc syntax, and * color specifications must be in the format accepted by * gdk_color_parse(). - * + * * Note that due to the way the color tables from different sources are * merged, color specifications will be converted to hexadecimal form * when getting this property. @@ -617,12 +631,12 @@ gtk_settings_class_init (GtkSettingsClass *class) * Since: 2.10 */ result = settings_install_property_parser (class, - g_param_spec_string ("gtk-color-scheme", - P_("Color scheme"), - P_("A palette of named colors for use in themes"), - "", - GTK_PARAM_READWRITE), - NULL); + g_param_spec_string ("gtk-color-scheme", + P_("Color scheme"), + P_("A palette of named colors for use in themes"), + "", + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_COLOR_SCHEME); @@ -664,13 +678,13 @@ gtk_settings_class_init (GtkSettingsClass *class) * Since: 2.12 */ result = settings_install_property_parser (class, - g_param_spec_int ("gtk-tooltip-timeout", - P_("Tooltip timeout"), - P_("Timeout before tooltip is shown"), - 0, G_MAXINT, - 500, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-tooltip-timeout", + P_("Tooltip timeout"), + P_("Timeout before tooltip is shown"), + 0, G_MAXINT, + 500, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_TOOLTIP_TIMEOUT); @@ -683,20 +697,20 @@ gtk_settings_class_init (GtkSettingsClass *class) * Browse mode is enabled when the mouse pointer moves off an object * where a tooltip was currently being displayed. If the mouse pointer * hits another object before the browse mode timeout expires (see - * #GtkSettings:gtk-tooltip-browse-mode-timeout), it will take the + * #GtkSettings:gtk-tooltip-browse-mode-timeout), it will take the * amount of milliseconds specified by this setting to popup the tooltip * for the new object. * * Since: 2.12 */ result = settings_install_property_parser (class, - g_param_spec_int ("gtk-tooltip-browse-timeout", - P_("Tooltip browse timeout"), - P_("Timeout before tooltip is shown when browse mode is enabled"), - 0, G_MAXINT, - 60, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-tooltip-browse-timeout", + P_("Tooltip browse timeout"), + P_("Timeout before tooltip is shown when browse mode is enabled"), + 0, G_MAXINT, + 60, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_TOOLTIP_BROWSE_TIMEOUT); @@ -712,13 +726,13 @@ gtk_settings_class_init (GtkSettingsClass *class) * Since: 2.12 */ result = settings_install_property_parser (class, - g_param_spec_int ("gtk-tooltip-browse-mode-timeout", - P_("Tooltip browse mode timeout"), - P_("Timeout after which browse mode is disabled"), - 0, G_MAXINT, - 500, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-tooltip-browse-mode-timeout", + P_("Tooltip browse mode timeout"), + P_("Timeout after which browse mode is disabled"), + 0, G_MAXINT, + 500, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_TOOLTIP_BROWSE_MODE_TIMEOUT); @@ -783,12 +797,12 @@ gtk_settings_class_init (GtkSettingsClass *class) /** * GtkSettings:color-hash: * - * Holds a hash table representation of the #GtkSettings:gtk-color-scheme - * setting, mapping color names to #GdkColors. + * Holds a hash table representation of the #GtkSettings:gtk-color-scheme + * setting, mapping color names to #GdkColors. * * Since: 2.10 */ - result = settings_install_property_parser (class, + result = settings_install_property_parser (class, g_param_spec_boxed ("color-hash", P_("Color Hash"), P_("A hash table representation of the color scheme."), @@ -797,7 +811,7 @@ gtk_settings_class_init (GtkSettingsClass *class) NULL); g_assert (result == PROP_COLOR_HASH); - result = settings_install_property_parser (class, + result = settings_install_property_parser (class, g_param_spec_string ("gtk-file-chooser-backend", P_("Default file chooser backend"), P_("Name of the GtkFileChooser backend to use by default"), @@ -831,7 +845,7 @@ gtk_settings_class_init (GtkSettingsClass *class) * should contain a %f placeholder, which will get replaced by * the path to the pdf file. The command may also contain a %s * placeholder, which will get replaced by the path to a file - * containing the print settings in the format produced by + * containing the print settings in the format produced by * gtk_print_settings_to_file(). * * The preview application is responsible for removing the pdf file @@ -845,7 +859,7 @@ gtk_settings_class_init (GtkSettingsClass *class) P_("Command to run when displaying a print preview"), GTK_PRINT_PREVIEW_COMMAND, GTK_PARAM_READWRITE), - NULL); + NULL); g_assert (result == PROP_PRINT_PREVIEW_COMMAND); /** @@ -892,31 +906,31 @@ gtk_settings_class_init (GtkSettingsClass *class) * Since: 2.12 */ result = settings_install_property_parser (class, - g_param_spec_int ("gtk-recent-files-limit", - P_("Recent Files Limit"), - P_("Number of recently used files"), - -1, G_MAXINT, - 50, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-recent-files-limit", + P_("Recent Files Limit"), + P_("Number of recently used files"), + -1, G_MAXINT, + 50, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_RECENT_FILES_LIMIT); /** * GtkSettings:gtk-im-module: * - * Which IM (input method) module should be used by default. This is the - * input method that will be used if the user has not explicitly chosen - * another input method from the IM context menu. + * Which IM (input method) module should be used by default. This is the + * input method that will be used if the user has not explicitly chosen + * another input method from the IM context menu. * * See #GtkIMContext and see the #GtkSettings:gtk-show-input-method-menu property. */ result = settings_install_property_parser (class, - g_param_spec_string ("gtk-im-module", - P_("Default IM module"), - P_("Which IM module should be used by default"), - NULL, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_string ("gtk-im-module", + P_("Default IM module"), + P_("Which IM module should be used by default"), + NULL, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_IM_MODULE); /** @@ -930,23 +944,23 @@ gtk_settings_class_init (GtkSettingsClass *class) * Since: 2.14 */ result = settings_install_property_parser (class, - g_param_spec_int ("gtk-recent-files-max-age", - P_("Recent Files Max Age"), - P_("Maximum age of recently used files, in days"), - -1, G_MAXINT, - 30, - GTK_PARAM_READWRITE), - NULL); + g_param_spec_int ("gtk-recent-files-max-age", + P_("Recent Files Max Age"), + P_("Maximum age of recently used files, in days"), + -1, G_MAXINT, + 30, + GTK_PARAM_READWRITE), + NULL); g_assert (result == PROP_RECENT_FILES_MAX_AGE); result = settings_install_property_parser (class, - g_param_spec_uint ("gtk-fontconfig-timestamp", - P_("Fontconfig configuration timestamp"), - P_("Timestamp of current fontconfig configuration"), - 0, G_MAXUINT, 0, - GTK_PARAM_READWRITE), - NULL); - + g_param_spec_uint ("gtk-fontconfig-timestamp", + P_("Fontconfig configuration timestamp"), + P_("Timestamp of current fontconfig configuration"), + 0, G_MAXUINT, 0, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_FONTCONFIG_TIMESTAMP); /** @@ -954,10 +968,10 @@ gtk_settings_class_init (GtkSettingsClass *class) * * The XDG sound theme to use for event sounds. * - * See the Sound Theme spec + * See the Sound Theme spec * for more information on event sounds and sound themes. * - * GTK+ itself does not support event sounds, you have to use a loadable + * GTK+ itself does not support event sounds, you have to use a loadable * module like the one that comes with libcanberra. * * Since: 2.14 @@ -976,10 +990,10 @@ gtk_settings_class_init (GtkSettingsClass *class) * * Whether to play event sounds as feedback to user input. * - * See the Sound Theme spec + * See the Sound Theme spec * for more information on event sounds and sound themes. * - * GTK+ itself does not support event sounds, you have to use a loadable + * GTK+ itself does not support event sounds, you have to use a loadable * module like the one that comes with libcanberra. * * Since: 2.14 @@ -987,10 +1001,10 @@ gtk_settings_class_init (GtkSettingsClass *class) result = settings_install_property_parser (class, g_param_spec_boolean ("gtk-enable-input-feedback-sounds", /* Translators: this means sounds that are played as feedback to user input */ - P_("Audible Input Feedback"), - P_("Whether to play event sounds as feedback to user input"), - TRUE, - GTK_PARAM_READWRITE), + P_("Audible Input Feedback"), + P_("Whether to play event sounds as feedback to user input"), + TRUE, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_ENABLE_INPUT_FEEDBACK_SOUNDS); @@ -999,20 +1013,20 @@ gtk_settings_class_init (GtkSettingsClass *class) * * Whether to play any event sounds at all. * - * See the Sound Theme spec + * See the Sound Theme spec * for more information on event sounds and sound themes. * - * GTK+ itself does not support event sounds, you have to use a loadable + * GTK+ itself does not support event sounds, you have to use a loadable * module like the one that comes with libcanberra. * * Since: 2.14 */ result = settings_install_property_parser (class, g_param_spec_boolean ("gtk-enable-event-sounds", - P_("Enable Event Sounds"), - P_("Whether to play any event sounds at all"), - TRUE, - GTK_PARAM_READWRITE), + P_("Enable Event Sounds"), + P_("Whether to play any event sounds at all"), + TRUE, + GTK_PARAM_READWRITE), NULL); g_assert (result == PROP_ENABLE_EVENT_SOUNDS); @@ -1171,7 +1185,7 @@ gtk_settings_class_init (GtkSettingsClass *class) /** * GtkSettings:gtk-scrolled-window-placement: * - * Where the contents of scrolled windows are located with respect to the + * Where the contents of scrolled windows are located with respect to the * scrollbars, if not overridden by the scrolled window's own placement. * * Since: 2.10 @@ -1252,6 +1266,8 @@ gtk_settings_class_init (GtkSettingsClass *class) GTK_PARAM_READWRITE), gtk_rc_property_parse_enum); g_assert (result == PROP_IM_STATUS_STYLE); + + g_type_class_add_private (class, sizeof (GtkSettingsPrivate)); } static GtkStyleProperties * @@ -1330,15 +1346,16 @@ static void gtk_settings_finalize (GObject *object) { GtkSettings *settings = GTK_SETTINGS (object); + GtkSettingsPrivate *priv = settings->priv; guint i; object_list = g_slist_remove (object_list, settings); for (i = 0; i < class_n_properties; i++) - g_value_unset (&settings->property_values[i].value); - g_free (settings->property_values); - - g_datalist_clear (&settings->queued_settings); + g_value_unset (&priv->property_values[i].value); + g_free (priv->property_values); + + g_datalist_clear (&priv->queued_settings); G_OBJECT_CLASS (gtk_settings_parent_class)->finalize (object); } @@ -1347,6 +1364,8 @@ static void settings_init_style (GtkSettings *settings) { static GtkCssProvider *css_provider = NULL; + + GdkScreen *screen = settings->priv->screen; GtkCssProvider *default_provider; /* Add provider for user file */ @@ -1367,16 +1386,16 @@ settings_init_style (GtkSettings *settings) g_free (css_path); } - gtk_style_context_add_provider_for_screen (settings->screen, + gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (css_provider), GTK_STYLE_PROVIDER_PRIORITY_USER); default_provider = gtk_css_provider_get_default (); - gtk_style_context_add_provider_for_screen (settings->screen, + gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (default_provider), GTK_STYLE_PROVIDER_PRIORITY_FALLBACK); - gtk_style_context_add_provider_for_screen (settings->screen, + gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (settings), GTK_STYLE_PROVIDER_PRIORITY_SETTINGS); @@ -1404,9 +1423,9 @@ gtk_settings_get_for_screen (GdkScreen *screen) if (!settings) { settings = g_object_new (GTK_TYPE_SETTINGS, NULL); - settings->screen = screen; - g_object_set_data_full (G_OBJECT (screen), I_("gtk-settings"), - settings, g_object_unref); + settings->priv->screen = screen; + g_object_set_data_full (G_OBJECT (screen), I_("gtk-settings"), + settings, g_object_unref); settings_init_style (settings); settings_update_double_click (settings); @@ -1417,13 +1436,13 @@ gtk_settings_get_for_screen (GdkScreen *screen) #endif settings_update_color_scheme (settings); } - + return settings; } /** * gtk_settings_get_default: - * + * * Gets the #GtkSettings object for the default GDK screen, creating * it if necessary. See gtk_settings_get_for_screen(). * @@ -1443,26 +1462,28 @@ gtk_settings_get_default (void) static void gtk_settings_set_property (GObject *object, - guint property_id, - const GValue *value, - GParamSpec *pspec) + guint property_id, + const GValue *value, + GParamSpec *pspec) { GtkSettings *settings = GTK_SETTINGS (object); + GtkSettingsPrivate *priv = settings->priv; + + g_value_copy (value, &priv->property_values[property_id - 1].value); + priv->property_values[property_id - 1].source = GTK_SETTINGS_SOURCE_APPLICATION; - g_value_copy (value, &settings->property_values[property_id - 1].value); - settings->property_values[property_id - 1].source = GTK_SETTINGS_SOURCE_APPLICATION; - if (pspec->param_id == PROP_COLOR_SCHEME) merge_color_scheme (settings, value, GTK_SETTINGS_SOURCE_APPLICATION); } static void gtk_settings_get_property (GObject *object, - guint property_id, - GValue *value, - GParamSpec *pspec) + guint property_id, + GValue *value, + GParamSpec *pspec) { GtkSettings *settings = GTK_SETTINGS (object); + GtkSettingsPrivate *priv = settings->priv; GType value_type = G_VALUE_TYPE (value); GType fundamental_type = G_TYPE_FUNDAMENTAL (value_type); @@ -1487,10 +1508,10 @@ gtk_settings_get_property (GObject *object, g_value_type_transformable (G_TYPE_STRING, G_VALUE_TYPE (value)) || g_value_type_transformable (GDK_TYPE_COLOR, G_VALUE_TYPE (value))) { - if (settings->property_values[property_id - 1].source == GTK_SETTINGS_SOURCE_APPLICATION || - !gdk_screen_get_setting (settings->screen, pspec->name, value)) - g_value_copy (&settings->property_values[property_id - 1].value, value); - else + if (priv->property_values[property_id - 1].source == GTK_SETTINGS_SOURCE_APPLICATION || + !gdk_screen_get_setting (priv->screen, pspec->name, value)) + g_value_copy (&priv->property_values[property_id - 1].value, value); + else g_param_value_validate (pspec, value); } else @@ -1498,20 +1519,20 @@ gtk_settings_get_property (GObject *object, GValue val = { 0, }; /* Try to get xsetting as a string and parse it. */ - + g_value_init (&val, G_TYPE_STRING); - if (settings->property_values[property_id - 1].source == GTK_SETTINGS_SOURCE_APPLICATION || - !gdk_screen_get_setting (settings->screen, pspec->name, &val)) + if (priv->property_values[property_id - 1].source == GTK_SETTINGS_SOURCE_APPLICATION || + !gdk_screen_get_setting (priv->screen, pspec->name, &val)) { - g_value_copy (&settings->property_values[property_id - 1].value, value); + g_value_copy (&priv->property_values[property_id - 1].value, value); } else { GValue tmp_value = { 0, }; GValue gstring_value = { 0, }; GtkRcPropertyParser parser = (GtkRcPropertyParser) g_param_spec_get_qdata (pspec, quark_property_parser); - + g_value_init (&gstring_value, G_TYPE_GSTRING); g_value_take_boxed (&gstring_value, g_string_new (g_value_get_string (&val))); @@ -1526,7 +1547,7 @@ gtk_settings_get_property (GObject *object, } else { - g_value_copy (&settings->property_values[property_id - 1].value, value); + g_value_copy (&priv->property_values[property_id - 1].value, value); } g_value_unset (&gstring_value); @@ -1539,12 +1560,13 @@ gtk_settings_get_property (GObject *object, static void gtk_settings_notify (GObject *object, - GParamSpec *pspec) + GParamSpec *pspec) { GtkSettings *settings = GTK_SETTINGS (object); + GtkSettingsPrivate *priv = settings->priv; guint property_id = pspec->param_id; - if (settings->screen == NULL) /* initialization */ + if (priv->screen == NULL) /* initialization */ return; switch (property_id) @@ -1558,7 +1580,7 @@ gtk_settings_notify (GObject *object, break; case PROP_COLOR_SCHEME: settings_update_color_scheme (settings); - gtk_style_context_reset_widgets (settings->screen); + gtk_style_context_reset_widgets (priv->screen); break; case PROP_THEME_NAME: settings_update_theme (settings); @@ -1570,18 +1592,18 @@ gtk_settings_notify (GObject *object, * widgets with gtk_widget_style_set(), and also causes more * recomputation than necessary. */ - gtk_style_context_reset_widgets (settings->screen); + gtk_style_context_reset_widgets (priv->screen); break; case PROP_XFT_ANTIALIAS: case PROP_XFT_HINTING: case PROP_XFT_HINTSTYLE: case PROP_XFT_RGBA: settings_update_font_options (settings); - gtk_style_context_reset_widgets (settings->screen); + gtk_style_context_reset_widgets (priv->screen); break; case PROP_FONTCONFIG_TIMESTAMP: if (settings_update_fontconfig (settings)) - gtk_style_context_reset_widgets (settings->screen); + gtk_style_context_reset_widgets (priv->screen); break; case PROP_CURSOR_THEME_NAME: case PROP_CURSOR_THEME_SIZE: @@ -1593,9 +1615,9 @@ gtk_settings_notify (GObject *object, gboolean _gtk_settings_parse_convert (GtkRcPropertyParser parser, - const GValue *src_value, - GParamSpec *pspec, - GValue *dest_value) + const GValue *src_value, + GParamSpec *pspec, + GValue *dest_value) { gboolean success = FALSE; @@ -1605,52 +1627,52 @@ _gtk_settings_parse_convert (GtkRcPropertyParser parser, { GString *gstring; gboolean free_gstring = TRUE; - + if (G_VALUE_HOLDS (src_value, G_TYPE_GSTRING)) - { - gstring = g_value_get_boxed (src_value); - free_gstring = FALSE; - } + { + gstring = g_value_get_boxed (src_value); + free_gstring = FALSE; + } else if (G_VALUE_HOLDS_LONG (src_value)) - { - gstring = g_string_new (NULL); - g_string_append_printf (gstring, "%ld", g_value_get_long (src_value)); - } + { + gstring = g_string_new (NULL); + g_string_append_printf (gstring, "%ld", g_value_get_long (src_value)); + } else if (G_VALUE_HOLDS_DOUBLE (src_value)) - { - gstring = g_string_new (NULL); - g_string_append_printf (gstring, "%f", g_value_get_double (src_value)); - } + { + gstring = g_string_new (NULL); + g_string_append_printf (gstring, "%f", g_value_get_double (src_value)); + } else if (G_VALUE_HOLDS_STRING (src_value)) - { - gchar *tstr = g_strescape (g_value_get_string (src_value), NULL); - - gstring = g_string_new ("\""); - g_string_append (gstring, tstr); - g_string_append_c (gstring, '\"'); - g_free (tstr); - } + { + gchar *tstr = g_strescape (g_value_get_string (src_value), NULL); + + gstring = g_string_new ("\""); + g_string_append (gstring, tstr); + g_string_append_c (gstring, '\"'); + g_free (tstr); + } else - { - g_return_val_if_fail (G_VALUE_HOLDS (src_value, G_TYPE_GSTRING), FALSE); - gstring = NULL; /* silence compiler */ - } + { + g_return_val_if_fail (G_VALUE_HOLDS (src_value, G_TYPE_GSTRING), FALSE); + gstring = NULL; /* silence compiler */ + } success = (parser (pspec, gstring, dest_value) && - !g_param_value_validate (pspec, dest_value)); + !g_param_value_validate (pspec, dest_value)); if (free_gstring) - g_string_free (gstring, TRUE); + g_string_free (gstring, TRUE); } else if (G_VALUE_HOLDS (src_value, G_TYPE_GSTRING)) { if (G_VALUE_HOLDS (dest_value, G_TYPE_STRING)) - { - GString *gstring = g_value_get_boxed (src_value); + { + GString *gstring = g_value_get_boxed (src_value); - g_value_set_string (dest_value, gstring ? gstring->str : NULL); - success = !g_param_value_validate (pspec, dest_value); - } + g_value_set_string (dest_value, gstring ? gstring->str : NULL); + success = !g_param_value_validate (pspec, dest_value); + } } else if (g_value_type_transformable (G_VALUE_TYPE (src_value), G_VALUE_TYPE (dest_value))) success = g_param_value_convert (pspec, src_value, dest_value, TRUE); @@ -1659,38 +1681,39 @@ _gtk_settings_parse_convert (GtkRcPropertyParser parser, } static void -apply_queued_setting (GtkSettings *data, - GParamSpec *pspec, - GtkSettingsValuePrivate *qvalue) +apply_queued_setting (GtkSettings *settings, + GParamSpec *pspec, + GtkSettingsValuePrivate *qvalue) { + GtkSettingsPrivate *priv = settings->priv; GValue tmp_value = { 0, }; GtkRcPropertyParser parser = (GtkRcPropertyParser) g_param_spec_get_qdata (pspec, quark_property_parser); g_value_init (&tmp_value, G_PARAM_SPEC_VALUE_TYPE (pspec)); if (_gtk_settings_parse_convert (parser, &qvalue->public.value, - pspec, &tmp_value)) + pspec, &tmp_value)) { - if (pspec->param_id == PROP_COLOR_SCHEME) - merge_color_scheme (data, &tmp_value, qvalue->source); + if (pspec->param_id == PROP_COLOR_SCHEME) + merge_color_scheme (settings, &tmp_value, qvalue->source); - if (data->property_values[pspec->param_id - 1].source <= qvalue->source) - { - g_value_copy (&tmp_value, &data->property_values[pspec->param_id - 1].value); - data->property_values[pspec->param_id - 1].source = qvalue->source; - g_object_notify (G_OBJECT (data), g_param_spec_get_name (pspec)); - } + if (priv->property_values[pspec->param_id - 1].source <= qvalue->source) + { + g_value_copy (&tmp_value, &priv->property_values[pspec->param_id - 1].value); + priv->property_values[pspec->param_id - 1].source = qvalue->source; + g_object_notify (G_OBJECT (settings), g_param_spec_get_name (pspec)); + } } else { gchar *debug = g_strdup_value_contents (&qvalue->public.value); - + g_message ("%s: failed to retrieve property `%s' of type `%s' from rc file value \"%s\" of type `%s'", - qvalue->public.origin ? qvalue->public.origin : "(for origin information, set GTK_DEBUG)", - pspec->name, - g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), - debug, - G_VALUE_TYPE_NAME (&tmp_value)); + qvalue->public.origin ? qvalue->public.origin : "(for origin information, set GTK_DEBUG)", + pspec->name, + g_type_name (G_PARAM_SPEC_VALUE_TYPE (pspec)), + debug, + G_VALUE_TYPE_NAME (&tmp_value)); g_free (debug); } g_value_unset (&tmp_value); @@ -1698,8 +1721,8 @@ apply_queued_setting (GtkSettings *data, static guint settings_install_property_parser (GtkSettingsClass *class, - GParamSpec *pspec, - GtkRcPropertyParser parser) + GParamSpec *pspec, + GtkRcPropertyParser parser) { GSList *node, *next; @@ -1734,10 +1757,10 @@ settings_install_property_parser (GtkSettingsClass *class, if (g_object_class_find_property (G_OBJECT_CLASS (class), pspec->name)) { g_warning (G_STRLOC ": an rc-data property \"%s\" already exists", - pspec->name); + pspec->name); return 0; } - + for (node = object_list; node; node = node->next) g_object_freeze_notify (node->data); @@ -1747,18 +1770,19 @@ settings_install_property_parser (GtkSettingsClass *class, for (node = object_list; node; node = node->next) { GtkSettings *settings = node->data; + GtkSettingsPrivate *priv = settings->priv; GtkSettingsValuePrivate *qvalue; - - settings->property_values = g_renew (GtkSettingsPropertyValue, settings->property_values, class_n_properties); - settings->property_values[class_n_properties - 1].value.g_type = 0; - g_value_init (&settings->property_values[class_n_properties - 1].value, G_PARAM_SPEC_VALUE_TYPE (pspec)); - g_param_value_set_default (pspec, &settings->property_values[class_n_properties - 1].value); - settings->property_values[class_n_properties - 1].source = GTK_SETTINGS_SOURCE_DEFAULT; + + priv->property_values = g_renew (GtkSettingsPropertyValue, priv->property_values, class_n_properties); + priv->property_values[class_n_properties - 1].value.g_type = 0; + g_value_init (&priv->property_values[class_n_properties - 1].value, G_PARAM_SPEC_VALUE_TYPE (pspec)); + g_param_value_set_default (pspec, &priv->property_values[class_n_properties - 1].value); + priv->property_values[class_n_properties - 1].source = GTK_SETTINGS_SOURCE_DEFAULT; g_object_notify (G_OBJECT (settings), pspec->name); - - qvalue = g_datalist_get_data (&settings->queued_settings, pspec->name); + + qvalue = g_datalist_get_data (&priv->queued_settings, pspec->name); if (qvalue) - apply_queued_setting (settings, pspec, qvalue); + apply_queued_setting (settings, pspec, qvalue); } for (node = object_list; node; node = next) @@ -1806,7 +1830,7 @@ gtk_settings_install_property (GParamSpec *pspec) void gtk_settings_install_property_parser (GParamSpec *pspec, - GtkRcPropertyParser parser) + GtkRcPropertyParser parser) { static GtkSettingsClass *klass = NULL; @@ -1823,7 +1847,7 @@ static void free_value (gpointer data) { GtkSettingsValuePrivate *qvalue = data; - + g_value_unset (&qvalue->public.value); g_free (qvalue->public.origin); g_slice_free (GtkSettingsValuePrivate, qvalue); @@ -1831,10 +1855,11 @@ free_value (gpointer data) static void gtk_settings_set_property_value_internal (GtkSettings *settings, - const gchar *prop_name, - const GtkSettingsValue *new_value, - GtkSettingsSource source) + const gchar *prop_name, + const GtkSettingsValue *new_value, + GtkSettingsSource source) { + GtkSettingsPrivate *priv = settings->priv; GtkSettingsValuePrivate *qvalue; GParamSpec *pspec; gchar *name; @@ -1848,17 +1873,17 @@ gtk_settings_set_property_value_internal (GtkSettings *settings, g_warning (G_STRLOC ": value type invalid"); return; } - + name = g_strdup (prop_name); g_strcanon (name, G_CSET_DIGITS "-" G_CSET_a_2_z G_CSET_A_2_Z, '-'); name_quark = g_quark_from_string (name); g_free (name); - qvalue = g_datalist_id_get_data (&settings->queued_settings, name_quark); + qvalue = g_datalist_id_get_data (&priv->queued_settings, name_quark); if (!qvalue) { qvalue = g_slice_new0 (GtkSettingsValuePrivate); - g_datalist_id_set_data_full (&settings->queued_settings, name_quark, qvalue, free_value); + g_datalist_id_set_data_full (&priv->queued_settings, name_quark, qvalue, free_value); } else { @@ -1876,35 +1901,35 @@ gtk_settings_set_property_value_internal (GtkSettings *settings, void gtk_settings_set_property_value (GtkSettings *settings, - const gchar *prop_name, - const GtkSettingsValue *new_value) + const gchar *prop_name, + const GtkSettingsValue *new_value) { g_return_if_fail (GTK_SETTINGS (settings)); g_return_if_fail (prop_name != NULL); g_return_if_fail (new_value != NULL); gtk_settings_set_property_value_internal (settings, prop_name, new_value, - GTK_SETTINGS_SOURCE_APPLICATION); + GTK_SETTINGS_SOURCE_APPLICATION); } void _gtk_settings_set_property_value_from_rc (GtkSettings *settings, - const gchar *prop_name, - const GtkSettingsValue *new_value) + const gchar *prop_name, + const GtkSettingsValue *new_value) { g_return_if_fail (GTK_SETTINGS (settings)); g_return_if_fail (prop_name != NULL); g_return_if_fail (new_value != NULL); gtk_settings_set_property_value_internal (settings, prop_name, new_value, - GTK_SETTINGS_SOURCE_RC_FILE); + GTK_SETTINGS_SOURCE_RC_FILE); } void gtk_settings_set_string_property (GtkSettings *settings, - const gchar *name, - const gchar *v_string, - const gchar *origin) + const gchar *name, + const gchar *v_string, + const gchar *origin) { GtkSettingsValue svalue = { NULL, { 0, }, }; @@ -1921,12 +1946,12 @@ gtk_settings_set_string_property (GtkSettings *settings, void gtk_settings_set_long_property (GtkSettings *settings, - const gchar *name, - glong v_long, - const gchar *origin) + const gchar *name, + glong v_long, + const gchar *origin) { GtkSettingsValue svalue = { NULL, { 0, }, }; - + g_return_if_fail (GTK_SETTINGS (settings)); g_return_if_fail (name != NULL); @@ -1939,9 +1964,9 @@ gtk_settings_set_long_property (GtkSettings *settings, void gtk_settings_set_double_property (GtkSettings *settings, - const gchar *name, - gdouble v_double, - const gchar *origin) + const gchar *name, + gdouble v_double, + const gchar *origin) { GtkSettingsValue svalue = { NULL, { 0, }, }; @@ -1960,21 +1985,21 @@ gtk_settings_set_double_property (GtkSettings *settings, * @pspec: a #GParamSpec * @gstring: the #GString to be parsed * @property_value: a #GValue which must hold #GdkColor values. - * + * * A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() * or gtk_widget_class_install_style_property_parser() which parses a - * color given either by its name or in the form + * color given either by its name or in the form * { red, green, blue } where %red, %green and * %blue are integers between 0 and 65535 or floating-point numbers * between 0 and 1. - * + * * Return value: %TRUE if @gstring could be parsed and @property_value * has been set to the resulting #GdkColor. **/ gboolean gtk_rc_property_parse_color (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value) + const GString *gstring, + GValue *property_value) { GdkColor color = { 0, 0, 0, 0, }; GScanner *scanner; @@ -2003,7 +2028,7 @@ gtk_rc_property_parse_color (const GParamSpec *pspec, * @pspec: a #GParamSpec * @gstring: the #GString to be parsed * @property_value: a #GValue which must hold enum values. - * + * * A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() * or gtk_widget_class_install_style_property_parser() which parses a single * enumeration value. @@ -2011,14 +2036,14 @@ gtk_rc_property_parse_color (const GParamSpec *pspec, * The enumeration value can be specified by its name, its nickname or * its numeric value. For consistency with flags parsing, the value * may be surrounded by parentheses. - * + * * Return value: %TRUE if @gstring could be parsed and @property_value * has been set to the resulting #GEnumValue. **/ gboolean gtk_rc_property_parse_enum (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value) + const GString *gstring, + GValue *property_value) { gboolean need_closing_brace = FALSE, success = FALSE; GScanner *scanner; @@ -2042,15 +2067,15 @@ gtk_rc_property_parse_enum (const GParamSpec *pspec, if (scanner->token == G_TOKEN_IDENTIFIER) { GEnumClass *class = G_PARAM_SPEC_ENUM (pspec)->enum_class; - + enum_value = g_enum_get_value_by_name (class, scanner->value.v_identifier); if (!enum_value) - enum_value = g_enum_get_value_by_nick (class, scanner->value.v_identifier); + enum_value = g_enum_get_value_by_nick (class, scanner->value.v_identifier); if (enum_value) - { - g_value_set_enum (property_value, enum_value->value); - success = TRUE; - } + { + g_value_set_enum (property_value, enum_value->value); + success = TRUE; + } } else if (scanner->token == G_TOKEN_INT) { @@ -2069,8 +2094,8 @@ gtk_rc_property_parse_enum (const GParamSpec *pspec, static guint parse_flags_value (GScanner *scanner, - GFlagsClass *class, - guint *number) + GFlagsClass *class, + guint *number) { g_scanner_get_next_token (scanner); if (scanner->token == G_TOKEN_IDENTIFIER) @@ -2079,12 +2104,12 @@ parse_flags_value (GScanner *scanner, flags_value = g_flags_get_value_by_name (class, scanner->value.v_identifier); if (!flags_value) - flags_value = g_flags_get_value_by_nick (class, scanner->value.v_identifier); + flags_value = g_flags_get_value_by_nick (class, scanner->value.v_identifier); if (flags_value) - { - *number |= flags_value->value; - return G_TOKEN_NONE; - } + { + *number |= flags_value->value; + return G_TOKEN_NONE; + } } else if (scanner->token == G_TOKEN_INT) { @@ -2099,21 +2124,21 @@ parse_flags_value (GScanner *scanner, * @pspec: a #GParamSpec * @gstring: the #GString to be parsed * @property_value: a #GValue which must hold flags values. - * + * * A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() - * or gtk_widget_class_install_style_property_parser() which parses flags. - * + * or gtk_widget_class_install_style_property_parser() which parses flags. + * * Flags can be specified by their name, their nickname or - * numerically. Multiple flags can be specified in the form + * numerically. Multiple flags can be specified in the form * "( flag1 | flag2 | ... )". - * + * * Return value: %TRUE if @gstring could be parsed and @property_value * has been set to the resulting flags value. **/ gboolean gtk_rc_property_parse_flags (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value) + const GString *gstring, + GValue *property_value) { GFlagsClass *class; gboolean success = FALSE; @@ -2131,15 +2156,15 @@ gtk_rc_property_parse_flags (const GParamSpec *pspec, scanner->next_token == G_TOKEN_INT) { guint token, flags_value = 0; - + token = parse_flags_value (scanner, class, &flags_value); if (token == G_TOKEN_NONE && g_scanner_peek_next_token (scanner) == G_TOKEN_EOF) - { - success = TRUE; - g_value_set_flags (property_value, flags_value); - } - + { + success = TRUE; + g_value_set_flags (property_value, flags_value); + } + } else if (g_scanner_get_next_token (scanner) == '(') { @@ -2150,15 +2175,15 @@ gtk_rc_property_parse_flags (const GParamSpec *pspec, /* parse nth values, preceeded by '|' */ while (token == G_TOKEN_NONE && g_scanner_get_next_token (scanner) == '|') - token = parse_flags_value (scanner, class, &flags_value); + token = parse_flags_value (scanner, class, &flags_value); /* done, last token must have closed expression */ if (token == G_TOKEN_NONE && scanner->token == ')' && - g_scanner_peek_next_token (scanner) == G_TOKEN_EOF) - { - g_value_set_flags (property_value, flags_value); - success = TRUE; - } + g_scanner_peek_next_token (scanner) == G_TOKEN_EOF) + { + g_value_set_flags (property_value, flags_value); + success = TRUE; + } } g_scanner_destroy (scanner); @@ -2167,15 +2192,15 @@ gtk_rc_property_parse_flags (const GParamSpec *pspec, static gboolean get_braced_int (GScanner *scanner, - gboolean first, - gboolean last, - gint *value) + gboolean first, + gboolean last, + gint *value) { if (first) { g_scanner_get_next_token (scanner); if (scanner->token != '{') - return FALSE; + return FALSE; } g_scanner_get_next_token (scanner); @@ -2188,13 +2213,13 @@ get_braced_int (GScanner *scanner, { g_scanner_get_next_token (scanner); if (scanner->token != '}') - return FALSE; + return FALSE; } else { g_scanner_get_next_token (scanner); if (scanner->token != ',') - return FALSE; + return FALSE; } return TRUE; @@ -2205,19 +2230,19 @@ get_braced_int (GScanner *scanner, * @pspec: a #GParamSpec * @gstring: the #GString to be parsed * @property_value: a #GValue which must hold boxed values. - * + * * A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() * or gtk_widget_class_install_style_property_parser() which parses a - * requisition in the form + * requisition in the form * "{ width, height }" for integers %width and %height. - * + * * Return value: %TRUE if @gstring could be parsed and @property_value * has been set to the resulting #GtkRequisition. **/ gboolean gtk_rc_property_parse_requisition (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value) + const GString *gstring, + GValue *property_value) { GtkRequisition requisition; GScanner *scanner; @@ -2246,20 +2271,20 @@ gtk_rc_property_parse_requisition (const GParamSpec *pspec, * @pspec: a #GParamSpec * @gstring: the #GString to be parsed * @property_value: a #GValue which must hold boxed values. - * + * * A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() * or gtk_widget_class_install_style_property_parser() which parses - * borders in the form - * "{ left, right, top, bottom }" for integers + * borders in the form + * "{ left, right, top, bottom }" for integers * %left, %right, %top and %bottom. - * + * * Return value: %TRUE if @gstring could be parsed and @property_value * has been set to the resulting #GtkBorder. **/ gboolean gtk_rc_property_parse_border (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value) + const GString *gstring, + GValue *property_value) { GtkBorder border; GScanner *scanner; @@ -2293,23 +2318,25 @@ gtk_rc_property_parse_border (const GParamSpec *pspec, void _gtk_settings_handle_event (GdkEventSetting *event) { + GdkScreen *screen; GtkSettings *settings; GParamSpec *pspec; guint property_id; - settings = gtk_settings_get_for_screen (gdk_window_get_screen (event->window)); + screen = gdk_window_get_screen (event->window); + settings = gtk_settings_get_for_screen (screen); pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (settings), event->name); - - if (pspec) + + if (pspec) { property_id = pspec->param_id; if (property_id == PROP_COLOR_SCHEME) { GValue value = { 0, }; - + g_value_init (&value, G_TYPE_STRING); - if (!gdk_screen_get_setting (settings->screen, pspec->name, &value)) + if (!gdk_screen_get_setting (screen, pspec->name, &value)) g_value_set_static_string (&value, ""); merge_color_scheme (settings, &value, GTK_SETTINGS_SOURCE_XSETTING); g_value_unset (&value); @@ -2319,9 +2346,9 @@ _gtk_settings_handle_event (GdkEventSetting *event) } static void -reset_rc_values_foreach (GQuark key_id, - gpointer data, - gpointer user_data) +reset_rc_values_foreach (GQuark key_id, + gpointer data, + gpointer user_data) { GtkSettingsValuePrivate *qvalue = data; GSList **to_reset = user_data; @@ -2333,21 +2360,21 @@ reset_rc_values_foreach (GQuark key_id, void _gtk_settings_reset_rc_values (GtkSettings *settings) { + GtkSettingsPrivate *priv = settings->priv; GSList *to_reset = NULL; GSList *tmp_list; GParamSpec **pspecs, **p; gint i; - /* Remove any queued settings - */ - g_datalist_foreach (&settings->queued_settings, - reset_rc_values_foreach, - &to_reset); + /* Remove any queued settings */ + g_datalist_foreach (&priv->queued_settings, + reset_rc_values_foreach, + &to_reset); for (tmp_list = to_reset; tmp_list; tmp_list = tmp_list->next) { GQuark key_id = GPOINTER_TO_UINT (tmp_list->data); - g_datalist_id_remove_data (&settings->queued_settings, key_id); + g_datalist_id_remove_data (&priv->queued_settings, key_id); } g_slist_free (to_reset); @@ -2360,13 +2387,13 @@ _gtk_settings_reset_rc_values (GtkSettings *settings) g_object_freeze_notify (G_OBJECT (settings)); for (p = pspecs; *p; p++) { - if (settings->property_values[i].source == GTK_SETTINGS_SOURCE_RC_FILE) - { - GParamSpec *pspec = *p; + if (priv->property_values[i].source == GTK_SETTINGS_SOURCE_RC_FILE) + { + GParamSpec *pspec = *p; - g_param_value_set_default (pspec, &settings->property_values[i].value); - g_object_notify (G_OBJECT (settings), pspec->name); - } + g_param_value_set_default (pspec, &priv->property_values[i].value); + g_object_notify (G_OBJECT (settings), pspec->name); + } i++; } g_object_thaw_notify (G_OBJECT (settings)); @@ -2376,17 +2403,19 @@ _gtk_settings_reset_rc_values (GtkSettings *settings) static void settings_update_double_click (GtkSettings *settings) { - if (gdk_screen_get_number (settings->screen) == 0) + GtkSettingsPrivate *priv = settings->priv; + + if (gdk_screen_get_number (priv->screen) == 0) { - GdkDisplay *display = gdk_screen_get_display (settings->screen); + GdkDisplay *display = gdk_screen_get_display (priv->screen); gint double_click_time; gint double_click_distance; - - g_object_get (settings, - "gtk-double-click-time", &double_click_time, - "gtk-double-click-distance", &double_click_distance, - NULL); - + + g_object_get (settings, + "gtk-double-click-time", &double_click_time, + "gtk-double-click-distance", &double_click_distance, + NULL); + gdk_display_set_double_click_time (display, double_click_time); gdk_display_set_double_click_distance (display, double_click_distance); } @@ -2396,13 +2425,13 @@ static void settings_update_modules (GtkSettings *settings) { gchar *modules; - - g_object_get (settings, - "gtk-modules", &modules, - NULL); - + + g_object_get (settings, + "gtk-modules", &modules, + NULL); + _gtk_modules_settings_changed (settings, modules); - + g_free (modules); } @@ -2410,15 +2439,15 @@ settings_update_modules (GtkSettings *settings) static void settings_update_cursor_theme (GtkSettings *settings) { - GdkDisplay *display = gdk_screen_get_display (settings->screen); + GdkDisplay *display = gdk_screen_get_display (settings->priv->screen); gchar *theme = NULL; gint size = 0; - - g_object_get (settings, - "gtk-cursor-theme-name", &theme, - "gtk-cursor-theme-size", &size, - NULL); - + + g_object_get (settings, + "gtk-cursor-theme-name", &theme, + "gtk-cursor-theme-size", &size, + NULL); + gdk_x11_display_set_cursor_theme (display, theme, size); g_free (theme); @@ -2427,6 +2456,7 @@ settings_update_cursor_theme (GtkSettings *settings) static void settings_update_font_options (GtkSettings *settings) { + GtkSettingsPrivate *priv = settings->priv; gint hinting; gchar *hint_style_str; cairo_hint_style_t hint_style = CAIRO_HINT_STYLE_NONE; @@ -2435,18 +2465,18 @@ settings_update_font_options (GtkSettings *settings) gchar *rgba_str; cairo_subpixel_order_t subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT; cairo_font_options_t *options; - + g_object_get (settings, - "gtk-xft-antialias", &antialias, - "gtk-xft-hinting", &hinting, - "gtk-xft-hintstyle", &hint_style_str, - "gtk-xft-rgba", &rgba_str, - NULL); + "gtk-xft-antialias", &antialias, + "gtk-xft-hinting", &hinting, + "gtk-xft-hintstyle", &hint_style_str, + "gtk-xft-rgba", &rgba_str, + NULL); options = cairo_font_options_create (); cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_ON); - + if (hinting >= 0 && !hinting) { hint_style = CAIRO_HINT_STYLE_NONE; @@ -2454,13 +2484,13 @@ settings_update_font_options (GtkSettings *settings) else if (hint_style_str) { if (strcmp (hint_style_str, "hintnone") == 0) - hint_style = CAIRO_HINT_STYLE_NONE; + hint_style = CAIRO_HINT_STYLE_NONE; else if (strcmp (hint_style_str, "hintslight") == 0) - hint_style = CAIRO_HINT_STYLE_SLIGHT; + hint_style = CAIRO_HINT_STYLE_SLIGHT; else if (strcmp (hint_style_str, "hintmedium") == 0) - hint_style = CAIRO_HINT_STYLE_MEDIUM; + hint_style = CAIRO_HINT_STYLE_MEDIUM; else if (strcmp (hint_style_str, "hintfull") == 0) - hint_style = CAIRO_HINT_STYLE_FULL; + hint_style = CAIRO_HINT_STYLE_FULL; } g_free (hint_style_str); @@ -2470,30 +2500,30 @@ settings_update_font_options (GtkSettings *settings) if (rgba_str) { if (strcmp (rgba_str, "rgb") == 0) - subpixel_order = CAIRO_SUBPIXEL_ORDER_RGB; + subpixel_order = CAIRO_SUBPIXEL_ORDER_RGB; else if (strcmp (rgba_str, "bgr") == 0) - subpixel_order = CAIRO_SUBPIXEL_ORDER_BGR; + subpixel_order = CAIRO_SUBPIXEL_ORDER_BGR; else if (strcmp (rgba_str, "vrgb") == 0) - subpixel_order = CAIRO_SUBPIXEL_ORDER_VRGB; + subpixel_order = CAIRO_SUBPIXEL_ORDER_VRGB; else if (strcmp (rgba_str, "vbgr") == 0) - subpixel_order = CAIRO_SUBPIXEL_ORDER_VBGR; + subpixel_order = CAIRO_SUBPIXEL_ORDER_VBGR; g_free (rgba_str); } cairo_font_options_set_subpixel_order (options, subpixel_order); - + if (antialias >= 0 && !antialias) antialias_mode = CAIRO_ANTIALIAS_NONE; else if (subpixel_order != CAIRO_SUBPIXEL_ORDER_DEFAULT) antialias_mode = CAIRO_ANTIALIAS_SUBPIXEL; else if (antialias >= 0) antialias_mode = CAIRO_ANTIALIAS_GRAY; - + cairo_font_options_set_antialias (options, antialias_mode); - gdk_screen_set_font_options (settings->screen, options); - + gdk_screen_set_font_options (priv->screen, options); + cairo_font_options_destroy (options); } @@ -2507,8 +2537,8 @@ settings_update_fontconfig (GtkSettings *settings) guint timestamp; g_object_get (settings, - "gtk-fontconfig-timestamp", ×tamp, - NULL); + "gtk-fontconfig-timestamp", ×tamp, + NULL); /* if timestamp is the same as last_update_timestamp, we already have * updated fontconig on this timestamp (another screen requested it perhaps?), @@ -2521,11 +2551,11 @@ settings_update_fontconfig (GtkSettings *settings) /* bug 547680 */ if (PANGO_IS_FC_FONT_MAP (fontmap) && !FcConfigUptoDate (NULL)) - { - pango_fc_font_map_cache_clear (PANGO_FC_FONT_MAP (fontmap)); - if (FcInitReinitialize ()) - update_needed = TRUE; - } + { + pango_fc_font_map_cache_clear (PANGO_FC_FONT_MAP (fontmap)); + if (FcInitReinitialize ()) + update_needed = TRUE; + } last_update_timestamp = timestamp; last_update_needed = update_needed; @@ -2538,23 +2568,25 @@ settings_update_fontconfig (GtkSettings *settings) static void settings_update_resolution (GtkSettings *settings) { + GtkSettingsPrivate *priv = settings->priv; gint dpi_int; - double dpi; - + gdouble dpi; + g_object_get (settings, - "gtk-xft-dpi", &dpi_int, - NULL); + "gtk-xft-dpi", &dpi_int, + NULL); if (dpi_int > 0) dpi = dpi_int / 1024.; else dpi = -1.; - gdk_screen_set_resolution (settings->screen, dpi); + gdk_screen_set_resolution (priv->screen, dpi); } #endif -typedef struct { +typedef struct +{ GHashTable *color_hash; GHashTable *tables[GTK_SETTINGS_SOURCE_APPLICATION + 1]; gchar *lastentry[GTK_SETTINGS_SOURCE_APPLICATION + 1]; @@ -2570,7 +2602,7 @@ color_scheme_data_free (ColorSchemeData *data) for (i = 0; i <= GTK_SETTINGS_SOURCE_APPLICATION; i++) { if (data->tables[i]) - g_hash_table_unref (data->tables[i]); + g_hash_table_unref (data->tables[i]); g_free (data->lastentry[i]); } @@ -2582,17 +2614,18 @@ settings_update_color_scheme (GtkSettings *settings) { if (!g_object_get_data (G_OBJECT (settings), "gtk-color-scheme")) { + GtkSettingsPrivate *priv = settings->priv; ColorSchemeData *data; GValue value = { 0, }; data = g_slice_new0 (ColorSchemeData); data->color_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, - (GDestroyNotify) gdk_color_free); + (GDestroyNotify) gdk_color_free); g_object_set_data_full (G_OBJECT (settings), "gtk-color-scheme", - data, (GDestroyNotify) color_scheme_data_free); + data, (GDestroyNotify) color_scheme_data_free); g_value_init (&value, G_TYPE_STRING); - if (gdk_screen_get_setting (settings->screen, "gtk-color-scheme", &value)) + if (gdk_screen_get_setting (priv->screen, "gtk-color-scheme", &value)) { merge_color_scheme (settings, &value, GTK_SETTINGS_SOURCE_XSETTING); g_value_unset (&value); @@ -2604,6 +2637,8 @@ static void settings_update_theme (GtkSettings *settings) { static GQuark quark_theme_name = 0; + + GtkSettingsPrivate *priv = settings->priv; GtkCssProvider *provider, *new_provider = NULL; gboolean prefer_dark_theme; gchar *theme_name; @@ -2632,12 +2667,12 @@ settings_update_theme (GtkSettings *settings) if (new_provider != provider) { if (provider) - gtk_style_context_remove_provider_for_screen (settings->screen, + gtk_style_context_remove_provider_for_screen (priv->screen, GTK_STYLE_PROVIDER (provider)); if (new_provider) { - gtk_style_context_add_provider_for_screen (settings->screen, + gtk_style_context_add_provider_for_screen (priv->screen, GTK_STYLE_PROVIDER (new_provider), GTK_STYLE_PROVIDER_PRIORITY_THEME); g_object_ref (new_provider); @@ -2650,8 +2685,8 @@ settings_update_theme (GtkSettings *settings) static gboolean add_color_to_hash (gchar *name, - GdkColor *color, - GHashTable *target) + GdkColor *color, + GHashTable *target) { GdkColor *old; @@ -2668,7 +2703,7 @@ add_color_to_hash (gchar *name, static gboolean add_colors_to_hash_from_string (GHashTable *hash, - const gchar *colors) + const gchar *colors) { gchar *s, *p, *name; GdkColor color; @@ -2687,25 +2722,25 @@ add_colors_to_hash_from_string (GHashTable *hash, p++; } else - break; + break; while (*p == ' ') p++; s = p; - while (*s) - { - if (*s == '\n' || *s == ';') - { - *s = '\0'; - s++; - break; - } - s++; - } + while (*s) + { + if (*s == '\n' || *s == ';') + { + *s = '\0'; + s++; + break; + } + s++; + } if (gdk_color_parse (p, &color)) - changed |= add_color_to_hash (name, &color, hash); + changed |= add_color_to_hash (name, &color, hash); } g_free (copy); @@ -2715,8 +2750,8 @@ add_colors_to_hash_from_string (GHashTable *hash, static gboolean update_color_hash (ColorSchemeData *data, - const gchar *str, - GtkSettingsSource source) + const gchar *str, + GtkSettingsSource source) { gboolean changed = FALSE; gint i; @@ -2745,8 +2780,8 @@ update_color_hash (ColorSchemeData *data, if (data->tables[source] == NULL) data->tables[source] = g_hash_table_new_full (g_str_hash, g_str_equal, - g_free, - (GDestroyNotify) gdk_color_free); + g_free, + (GDestroyNotify) gdk_color_free); g_free (data->lastentry[source]); data->lastentry[source] = g_strdup (str); @@ -2777,8 +2812,8 @@ update_color_hash (ColorSchemeData *data, for (i = 0; i <= GTK_SETTINGS_SOURCE_APPLICATION; i++) { if (data->tables[i]) - g_hash_table_foreach (data->tables[i], (GHFunc) add_color_to_hash, - data->color_hash); + g_hash_table_foreach (data->tables[i], (GHFunc) add_color_to_hash, + data->color_hash); } if (old_hash) @@ -2813,9 +2848,9 @@ update_color_hash (ColorSchemeData *data, } static void -merge_color_scheme (GtkSettings *settings, - const GValue *value, - GtkSettingsSource source) +merge_color_scheme (GtkSettings *settings, + const GValue *value, + GtkSettingsSource source) { ColorSchemeData *data; const gchar *colors; @@ -2827,8 +2862,8 @@ merge_color_scheme (GtkSettings *settings, settings_update_color_scheme (settings); data = (ColorSchemeData *) g_object_get_data (G_OBJECT (settings), - "gtk-color-scheme"); - + "gtk-color-scheme"); + if (update_color_hash (data, colors, source)) g_object_notify (G_OBJECT (settings), "color-hash"); @@ -2841,24 +2876,24 @@ get_color_hash (GtkSettings *settings) ColorSchemeData *data; settings_update_color_scheme (settings); - - data = (ColorSchemeData *)g_object_get_data (G_OBJECT (settings), - "gtk-color-scheme"); + + data = (ColorSchemeData *)g_object_get_data (G_OBJECT (settings), + "gtk-color-scheme"); return data->color_hash; } -static void +static void append_color_scheme (gpointer key, - gpointer value, - gpointer data) + gpointer value, + gpointer data) { gchar *name = (gchar *)key; GdkColor *color = (GdkColor *)value; GString *string = (GString *)data; g_string_append_printf (string, "%s: #%04x%04x%04x\n", - name, color->red, color->green, color->blue); + name, color->red, color->green, color->blue); } static gchar * @@ -2866,11 +2901,11 @@ get_color_scheme (GtkSettings *settings) { ColorSchemeData *data; GString *string; - + settings_update_color_scheme (settings); data = (ColorSchemeData *) g_object_get_data (G_OBJECT (settings), - "gtk-color-scheme"); + "gtk-color-scheme"); string = g_string_new (""); @@ -2882,5 +2917,5 @@ get_color_scheme (GtkSettings *settings) GdkScreen * _gtk_settings_get_screen (GtkSettings *settings) { - return settings->screen; + return settings->priv->screen; } diff --git a/gtk/gtksettings.h b/gtk/gtksettings.h index 6958db0f56..afa1ff089e 100644 --- a/gtk/gtksettings.h +++ b/gtk/gtksettings.h @@ -38,9 +38,9 @@ G_BEGIN_DECLS /* --- typedefs --- */ -typedef struct _GtkSettingsClass GtkSettingsClass; -typedef struct _GtkSettingsValue GtkSettingsValue; -typedef struct _GtkSettingsPropertyValue GtkSettingsPropertyValue; /* Internal */ +typedef struct _GtkSettingsPrivate GtkSettingsPrivate; +typedef struct _GtkSettingsClass GtkSettingsClass; +typedef struct _GtkSettingsValue GtkSettingsValue; /* --- structures --- */ @@ -48,16 +48,19 @@ struct _GtkSettings { GObject parent_instance; - GData *GSEAL (queued_settings); /* of type GtkSettingsValue* */ - GtkSettingsPropertyValue *GSEAL (property_values); - - GtkRcContext *GSEAL (rc_context); - GdkScreen *GSEAL (screen); + /*< private >*/ + GtkSettingsPrivate *priv; }; struct _GtkSettingsClass { GObjectClass parent_class; + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); }; struct _GtkSettingsValue @@ -75,65 +78,48 @@ struct _GtkSettingsValue /* --- functions --- */ -GType gtk_settings_get_type (void) G_GNUC_CONST; +GType gtk_settings_get_type (void) G_GNUC_CONST; #ifndef GDK_MULTIHEAD_SAFE -GtkSettings* gtk_settings_get_default (void); +GtkSettings* gtk_settings_get_default (void); #endif -GtkSettings* gtk_settings_get_for_screen (GdkScreen *screen); +GtkSettings* gtk_settings_get_for_screen (GdkScreen *screen); -void gtk_settings_install_property (GParamSpec *pspec); -void gtk_settings_install_property_parser (GParamSpec *pspec, - GtkRcPropertyParser parser); +void gtk_settings_install_property (GParamSpec *pspec); +void gtk_settings_install_property_parser (GParamSpec *pspec, + GtkRcPropertyParser parser); /* --- precoded parsing functions --- */ gboolean gtk_rc_property_parse_color (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value); + const GString *gstring, + GValue *property_value); gboolean gtk_rc_property_parse_enum (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value); + const GString *gstring, + GValue *property_value); gboolean gtk_rc_property_parse_flags (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value); + const GString *gstring, + GValue *property_value); gboolean gtk_rc_property_parse_requisition (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value); + const GString *gstring, + GValue *property_value); gboolean gtk_rc_property_parse_border (const GParamSpec *pspec, - const GString *gstring, - GValue *property_value); + const GString *gstring, + GValue *property_value); -/*< private >*/ -void gtk_settings_set_property_value (GtkSettings *settings, - const gchar *name, - const GtkSettingsValue *svalue); -void gtk_settings_set_string_property (GtkSettings *settings, - const gchar *name, - const gchar *v_string, - const gchar *origin); -void gtk_settings_set_long_property (GtkSettings *settings, - const gchar *name, - glong v_long, - const gchar *origin); -void gtk_settings_set_double_property (GtkSettings *settings, - const gchar *name, - gdouble v_double, - const gchar *origin); - - -/* implementation details */ -void _gtk_settings_set_property_value_from_rc (GtkSettings *settings, - const gchar *name, - const GtkSettingsValue *svalue); -void _gtk_settings_reset_rc_values (GtkSettings *settings); - -void _gtk_settings_handle_event (GdkEventSetting *event); -GtkRcPropertyParser _gtk_rc_property_parser_from_type (GType type); -gboolean _gtk_settings_parse_convert (GtkRcPropertyParser parser, - const GValue *src_value, - GParamSpec *pspec, - GValue *dest_value); - -GdkScreen *_gtk_settings_get_screen (GtkSettings *settings); +void gtk_settings_set_property_value (GtkSettings *settings, + const gchar *name, + const GtkSettingsValue *svalue); +void gtk_settings_set_string_property (GtkSettings *settings, + const gchar *name, + const gchar *v_string, + const gchar *origin); +void gtk_settings_set_long_property (GtkSettings *settings, + const gchar *name, + glong v_long, + const gchar *origin); +void gtk_settings_set_double_property (GtkSettings *settings, + const gchar *name, + gdouble v_double, + const gchar *origin); G_END_DECLS diff --git a/gtk/gtksettingsprivate.h b/gtk/gtksettingsprivate.h new file mode 100644 index 0000000000..0b68bf3b19 --- /dev/null +++ b/gtk/gtksettingsprivate.h @@ -0,0 +1,43 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 2000 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __GTK_SETTINGS_PRIVATE_H__ +#define __GTK_SETTINGS_PRIVATE_H__ + +#include + +G_BEGIN_DECLS + + +void _gtk_settings_set_property_value_from_rc (GtkSettings *settings, + const gchar *name, + const GtkSettingsValue *svalue); +void _gtk_settings_reset_rc_values (GtkSettings *settings); + +void _gtk_settings_handle_event (GdkEventSetting *event); +GtkRcPropertyParser _gtk_rc_property_parser_from_type (GType type); +gboolean _gtk_settings_parse_convert (GtkRcPropertyParser parser, + const GValue *src_value, + GParamSpec *pspec, + GValue *dest_value); +GdkScreen *_gtk_settings_get_screen (GtkSettings *settings); + + +G_END_DECLS + +#endif /* __GTK_SETTINGS_PRIVATE_H__ */ diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 5b64d5ebd6..18765972a1 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -37,7 +37,7 @@ #include "gtkmarshalers.h" #include "gtkrc.h" #include "gtkselection.h" -#include "gtksettings.h" +#include "gtksettingsprivate.h" #include "gtksizegroup-private.h" #include "gtkwidget.h" #include "gtkwidgetprivate.h" From 7ff572dfd3269ee3b4fa395660df2c952c93c2cc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 22:11:28 -0500 Subject: [PATCH 0901/1463] Add some missing includes --- gtk/gtkiconfactory.c | 2 +- gtk/gtkmain.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c index fda6177f82..2c2f95e0fc 100644 --- a/gtk/gtkiconfactory.c +++ b/gtk/gtkiconfactory.c @@ -32,7 +32,7 @@ #include "gtkiconcache.h" #include "gtkdebug.h" #include "gtkicontheme.h" -#include "gtksettings.h" +#include "gtksettingsprivate.h" #include "gtkstock.h" #include "gtkwidget.h" #include "gtkintl.h" diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index afacd3fb6b..a4f3deda7f 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -39,7 +39,7 @@ #ifdef HAVE_UNISTD_H #include #endif -#include /* For uid_t, gid_t */ +#include /* For uid_t, gid_t */ #ifdef G_OS_WIN32 #define STRICT @@ -58,7 +58,7 @@ #include "gtkrc.h" #include "gtkrecentmanager.h" #include "gtkselection.h" -#include "gtksettings.h" +#include "gtksettingsprivate.h" #include "gtkwidgetprivate.h" #include "gtkwindowprivate.h" #include "gtktooltip.h" From ca493cd20df9f6a120f950fb254077f8259d5d39 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 22:11:50 -0500 Subject: [PATCH 0902/1463] Fix a few warnings --- gtk/gtkmenushell.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index d72670aea3..71c25d9c7f 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -1883,7 +1883,7 @@ gtk_menu_shell_set_take_focus (GtkMenuShell *menu_shell, GtkWidget * gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell) { - g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); + g_return_val_if_fail (GTK_IS_MENU_SHELL (menu_shell), NULL); return menu_shell->priv->active_menu_item; } @@ -1904,7 +1904,7 @@ gtk_menu_shell_get_selected_item (GtkMenuShell *menu_shell) GtkWidget * gtk_menu_shell_get_parent_shell (GtkMenuShell *menu_shell) { - g_return_if_fail (GTK_IS_MENU_SHELL (menu_shell)); + g_return_val_if_fail (GTK_IS_MENU_SHELL (menu_shell), NULL); return menu_shell->priv->parent_menu_shell; } From 55ca24d1d4ffa575c8b35fe95098a8ee61bba1db Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 23 Dec 2010 22:16:50 -0500 Subject: [PATCH 0903/1463] Drop GtkThemeEngine It is not used anymore. --- gtk/Makefile.am | 2 - gtk/gtk.symbols | 3 - gtk/gtkrc.c | 1 - gtk/gtkstyle.c | 2 - gtk/gtkthemes.c | 194 ------------------------------------------------ gtk/gtkthemes.h | 52 ------------- 6 files changed, 254 deletions(-) delete mode 100644 gtk/gtkthemes.c delete mode 100644 gtk/gtkthemes.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 2f411a58cf..a9cf1a564e 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -428,7 +428,6 @@ gtk_private_h_sources = \ gtktexttagprivate.h \ gtktexttypes.h \ gtktextutil.h \ - gtkthemes.h \ gtktimeline.h \ gtktoolpaletteprivate.h \ gtktreedatalist.h \ @@ -639,7 +638,6 @@ gtk_base_c_sources = \ gtktexttypes.c \ gtktextutil.c \ gtktextview.c \ - gtkthemes.c \ gtkthemingengine.c \ gtktimeline.c \ gtktoggleaction.c \ diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index b9937bdb89..87208a8e58 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2884,9 +2884,6 @@ gtk_text_view_set_wrap_mode gtk_text_view_starts_display_line gtk_text_view_window_to_buffer_coords gtk_text_window_type_get_type G_GNUC_CONST -gtk_theme_engine_create_rc_style -gtk_theme_engine_get -gtk_theme_engine_get_type G_GNUC_CONST gtk_theming_engine_get gtk_theming_engine_get_background_color gtk_theming_engine_get_border diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 3535e16960..5e37a5606a 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -47,7 +47,6 @@ #include "gtkversion.h" #include "gtkrc.h" #include "gtkbindings.h" -#include "gtkthemes.h" #include "gtkintl.h" #include "gtkiconfactory.h" #include "gtkmain.h" diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 3bfc66422a..635bacfc63 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -35,9 +35,7 @@ #include "gtkspinbutton.h" #include "gtkstyle.h" #include "gtkwidget.h" -#include "gtkthemes.h" #include "gtkiconfactory.h" -#include "gtksettings.h" /* _gtk_settings_parse_convert() */ #include "gtkintl.h" #include "gtkdebug.h" #include "gtkspinner.h" diff --git a/gtk/gtkthemes.c b/gtk/gtkthemes.c deleted file mode 100644 index 1533fa48c9..0000000000 --- a/gtk/gtkthemes.c +++ /dev/null @@ -1,194 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * Themes added by The Rasterman - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include -#include -#include -#include "gtkthemes.h" -#include "gtkrc.h" -#include "gtkintl.h" -#include "gtkdebug.h" - - -typedef struct _GtkThemeEngineClass GtkThemeEngineClass; - -struct _GtkThemeEngine -{ - GTypeModule parent_instance; - - GModule *library; - - void (*init) (GTypeModule *); - void (*exit) (void); - GtkRcStyle *(*create_rc_style) (); - - gchar *name; -}; - -struct _GtkThemeEngineClass -{ - GTypeModuleClass parent_class; -}; - -static GHashTable *engine_hash = NULL; - -static gboolean -gtk_theme_engine_load (GTypeModule *module) -{ - GtkThemeEngine *engine = GTK_THEME_ENGINE (module); - - gchar *engine_path; - - engine_path = gtk_rc_find_module_in_path (engine->name); - - if (!engine_path) - { - g_warning (_("Unable to locate theme engine in module_path: \"%s\","), - engine->name); - return FALSE; - } - - /* load the lib */ - - GTK_NOTE (MISC, g_message ("Loading Theme %s\n", engine_path)); - - engine->library = g_module_open (engine_path, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); - g_free(engine_path); - if (!engine->library) - { - g_warning ("%s", g_module_error()); - return FALSE; - } - - /* extract symbols from the lib */ - if (!g_module_symbol (engine->library, "theme_init", - (gpointer *)&engine->init) || - !g_module_symbol (engine->library, "theme_exit", - (gpointer *)&engine->exit) || - !g_module_symbol (engine->library, "theme_create_rc_style", - (gpointer *)&engine->create_rc_style)) - { - g_warning ("%s", g_module_error()); - g_module_close (engine->library); - - return FALSE; - } - - /* call the theme's init (theme_init) function to let it */ - /* setup anything it needs to set up. */ - engine->init (module); - - return TRUE; -} - -static void -gtk_theme_engine_unload (GTypeModule *module) -{ - GtkThemeEngine *engine = GTK_THEME_ENGINE (module); - - engine->exit(); - - g_module_close (engine->library); - engine->library = NULL; - - engine->init = NULL; - engine->exit = NULL; - engine->create_rc_style = NULL; -} - -static void -gtk_theme_engine_class_init (GtkThemeEngineClass *class) -{ - GTypeModuleClass *module_class = G_TYPE_MODULE_CLASS (class); - - module_class->load = gtk_theme_engine_load; - module_class->unload = gtk_theme_engine_unload; -} - -GType -gtk_theme_engine_get_type (void) -{ - static GType theme_engine_type = 0; - - if (!theme_engine_type) - { - const GTypeInfo theme_engine_info = { - sizeof (GtkThemeEngineClass), - NULL, /* base_init */ - NULL, /* base_finalize */ - (GClassInitFunc) gtk_theme_engine_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GtkThemeEngine), - 0, /* n_preallocs */ - NULL, /* instance_init */ - }; - - theme_engine_type = - g_type_register_static (G_TYPE_TYPE_MODULE, I_("GtkThemeEngine"), - &theme_engine_info, 0); - } - - return theme_engine_type; -} - -GtkThemeEngine* -gtk_theme_engine_get (const gchar *name) -{ - GtkThemeEngine *result; - - if (!engine_hash) - engine_hash = g_hash_table_new (g_str_hash, g_str_equal); - - /* get the library name for the theme - */ - result = g_hash_table_lookup (engine_hash, name); - - if (!result) - { - result = g_object_new (GTK_TYPE_THEME_ENGINE, NULL); - g_type_module_set_name (G_TYPE_MODULE (result), name); - result->name = g_strdup (name); - - g_hash_table_insert (engine_hash, result->name, result); - } - - if (!g_type_module_use (G_TYPE_MODULE (result))) - return NULL; - - return result; -} - -GtkRcStyle * -gtk_theme_engine_create_rc_style (GtkThemeEngine *engine) -{ - g_return_val_if_fail (engine != NULL, NULL); - - return engine->create_rc_style (); -} diff --git a/gtk/gtkthemes.h b/gtk/gtkthemes.h deleted file mode 100644 index 91edccc109..0000000000 --- a/gtk/gtkthemes.h +++ /dev/null @@ -1,52 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * Themes added by The Rasterman - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#ifndef __GTK_THEMES_H__ -#define __GTK_THEMES_H__ - - -#include -#include - - -G_BEGIN_DECLS - -#define GTK_TYPE_THEME_ENGINE (gtk_theme_engine_get_type ()) -#define GTK_THEME_ENGINE(theme_engine) (G_TYPE_CHECK_INSTANCE_CAST ((theme_engine), GTK_TYPE_THEME_ENGINE, GtkThemeEngine)) -#define GTK_IS_THEME_ENGINE(theme_engine) (G_TYPE_CHECK_INSTANCE_TYPE ((theme_engine), GTK_TYPE_THEME_ENGINE)) - -#if !defined(GTK_DISABLE_DEPRECATED) || defined(GTK_COMPILATION) - -GType gtk_theme_engine_get_type (void) G_GNUC_CONST; -GtkThemeEngine *gtk_theme_engine_get (const gchar *name); -GtkRcStyle *gtk_theme_engine_create_rc_style (GtkThemeEngine *engine); - -#endif - -G_END_DECLS - -#endif /* __GTK_THEMES_H__ */ From 30cdab13fe62884457b7c1c35142386e453adfd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 24 Dec 2010 14:39:55 +0100 Subject: [PATCH 0904/1463] docs: Add docs about how to get a GtkDevice Fixes https://bugzilla.gnome.org/show_bug.cgi?id=637895 --- gdk/gdkdevice.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index cc375d7b54..54cb7fac6e 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -1044,7 +1044,10 @@ get_native_grab_event_mask (GdkEventMask grab_mask) /** * gdk_device_grab: - * @device: a #GdkDevice + * @device: a #GdkDevice. To get the device you can use gtk_get_current_event_device() + * or gdk_event_get_device() if the grab is in reaction to an event. Also, you can use + * gdk_device_manager_get_client_pointer() but only in code that isn't triggered by a + * #GdkEvent and there aren't other means to get a meaningful #GdkDevice to operate on. * @window: the #GdkWindow which will own the grab (the grab window) * @grab_ownership: specifies the grab ownership. * @owner_events: if %FALSE then all device events are reported with respect to From c659542333d8b958a13f11867f612d08fe315ff0 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 24 Dec 2010 14:45:19 +0100 Subject: [PATCH 0905/1463] Check for NULL pointer --- gtk/gtkcombobox.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 2de10eb0d8..753212f804 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -2294,7 +2294,7 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box, if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) return; - if (gtk_widget_get_mapped (priv->popup_window)) + if (priv->popup_window && gtk_widget_get_mapped (priv->popup_window)) return; if (priv->grab_pointer && priv->grab_keyboard) From 03cddad42b39a58332e630521874f13cf14c2126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 24 Dec 2010 17:38:26 +0100 Subject: [PATCH 0906/1463] build: Use autoreconf --- autogen.sh | 134 +++++++---------------------------------------------- 1 file changed, 18 insertions(+), 116 deletions(-) diff --git a/autogen.sh b/autogen.sh index 2b7c0e7987..4a373e9b95 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,130 +1,32 @@ #!/bin/sh # Run this to generate all the initial makefiles, etc. -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. +test -n "$srcdir" || srcdir=`dirname "$0"` +test -n "$srcdir" || srcdir=. -ORIGDIR=`pwd` -cd $srcdir -PROJECT=Gtk+ -TEST_TYPE=-d -FILE=gdk +olddir=`pwd` +cd "$srcdir" -DIE=0 - -have_libtool=false -if libtoolize --version < /dev/null > /dev/null 2>&1 ; then - libtool_version=`libtoolize --version | - head -1 | - sed -e 's/^\(.*\)([^)]*)\(.*\)$/\1\2/g' \ - -e 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'` - case $libtool_version in - 2.*) - have_libtool=true - ;; - esac -fi -if $have_libtool ; then : ; else - echo - echo "You must have libtool 2.2 installed to compile $PROJECT." - echo "Install the appropriate package for your distribution," - echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/" - DIE=1 -fi - -(gtkdocize --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have gtk-doc installed to compile $PROJECT." - echo "Install the appropriate package for your distribution," - echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/" - DIE=1 -} - -(autoconf --version) < /dev/null > /dev/null 2>&1 || { - echo - echo "You must have autoconf installed to compile $PROJECT." - echo "Install the appropriate package for your distribution," - echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/" - DIE=1 -} - -if automake-1.11 --version < /dev/null > /dev/null 2>&1 ; then - AUTOMAKE=automake-1.11 - ACLOCAL=aclocal-1.11 -else if automake-1.10 --version < /dev/null > /dev/null 2>&1 ; then - AUTOMAKE=automake-1.10 - ACLOCAL=aclocal-1.10 +GTKDOCIZE=`which gtkdocize` +if test -z $GTKDOCIZE; then + echo "*** No GTK-Doc found, please install it ***" + exit 1 else - echo - echo "You must have automake 1,10.x or 1.11.x installed to compile $PROJECT." - echo "Install the appropriate package for your distribution," - echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/" - DIE=1 + gtkdocize || exit $? fi -fi - -if test "$DIE" -eq 1; then - exit 1 -fi - -test $TEST_TYPE $FILE || { - echo "You must run this script in the top-level $PROJECT directory" - exit 1 -} - -# NOCONFIGURE is used by gnome-common; support both -if ! test -z "$AUTOGEN_SUBDIR_MODE"; then - NOCONFIGURE=1 -fi - -if test -z "$NOCONFIGURE"; then - if test -z "$*"; then - echo "I am going to run ./configure with no arguments - if you wish " - echo "to pass any to it, please specify them on the $0 command line." - fi -fi - -if test -z "$ACLOCAL_FLAGS"; then - - acdir=`$ACLOCAL --print-ac-dir` - m4list="glib-2.0.m4 glib-gettext.m4" - - for file in $m4list - do - if [ ! -f "$acdir/$file" ]; then - echo "WARNING: aclocal's directory is $acdir, but..." - echo " no file $acdir/$file" - echo " You may see fatal macro warnings below." - echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS " - echo " environment variable to \"-I /some/dir\", or install" - echo " $acdir/$file." - echo "" - fi - done -fi - -rm -rf autom4te.cache # README and INSTALL are required by automake, but may be deleted by clean # up rules. to get automake to work, simply touch these here, they will be # regenerated from their corresponding *.in files by ./configure anyway. touch README INSTALL -gtkdocize || exit $? - -$ACLOCAL -I m4 $ACLOCAL_FLAGS || exit $? - -libtoolize --force || exit $? - -autoheader || exit $? - -$AUTOMAKE --add-missing || exit $? -autoconf || exit $? -cd $ORIGDIR || exit $? - -if test -z "$NOCONFIGURE"; then - $srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $? - - echo - echo "Now type 'make' to compile $PROJECT." +AUTORECONF=`which autoreconf` +if test -z $AUTORECONF; then + echo "*** No autoreconf found, please install it ***" + exit 1 +else + autoreconf --force --install --verbose || exit $? fi + +cd "$olddir" +test -n "$NOCONFIGURE" || "$srcdir/configure" "$@" From 5e74427dee6ce800a042d2da608352a949e651c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Fri, 24 Dec 2010 18:42:24 +0100 Subject: [PATCH 0907/1463] gailmenushell.c: Fix typo --- modules/other/gail/gailmenushell.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/other/gail/gailmenushell.c b/modules/other/gail/gailmenushell.c index 04228ee54b..7d87df5cb2 100644 --- a/modules/other/gail/gailmenushell.c +++ b/modules/other/gail/gailmenushell.c @@ -155,7 +155,7 @@ gail_menu_shell_ref_selection (AtkSelection *selection, shell = GTK_MENU_SHELL (widget); - item = gtk_menu_shell_get_selectec_item (shell); + item = gtk_menu_shell_get_selected_item (shell); if (item != NULL) { obj = gtk_widget_get_accessible (item); From 1cecb105845658c9038da11c61ce242c412bd64d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 21 Dec 2010 14:47:17 +0100 Subject: [PATCH 0908/1463] Make GtkAccelLabel use GtkStyleContext. --- gtk/gtkaccellabel.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index 6e5f06a5a8..d86b003ce6 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -392,6 +392,7 @@ gtk_accel_label_draw (GtkWidget *widget, if (allocation.width >= requisition.width + ac_width) { + GtkStyleContext *context; PangoLayout *label_layout; PangoLayout *accel_layout; GtkLabel *label = GTK_LABEL (widget); @@ -400,6 +401,7 @@ gtk_accel_label_draw (GtkWidget *widget, gint y; gint xpad; + context = gtk_widget_get_style_context (widget); label_layout = gtk_label_get_layout (GTK_LABEL (accel_label)); cairo_save (cr); @@ -440,14 +442,12 @@ gtk_accel_label_draw (GtkWidget *widget, y += get_first_baseline (label_layout) - get_first_baseline (accel_layout) - allocation.y; - gtk_paint_layout (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - FALSE, - widget, - "accellabel", - x, y, - accel_layout); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_ACCELERATOR); + gtk_style_context_set_state (context, gtk_widget_get_state_flags (widget)); + + gtk_render_layout (context, cr, x, y, accel_layout); + gtk_style_context_restore (context); g_object_unref (accel_layout); } From e5e95934bac824d5cbf791491bbc3a3374604935 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 21 Dec 2010 18:44:53 +0100 Subject: [PATCH 0909/1463] Fix color name (as of rgb.txt) parsing in symbolic colors The end of the substring wasn't being detected properly. --- gtk/gtkcssprovider.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index c318ec9a14..c8d7624d59 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -2116,8 +2116,9 @@ symbolic_color_parse_str (const gchar *string, } else { - /* color name? parse until first whitespace */ - while (*end != ' ' && *end != '\0') + /* Color name */ + while (*end != '\0' && + (g_ascii_isalnum (*end) || *end == ' ')) end++; } From 7f099a9a23255d4333b5d72df83ddb08a9812097 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 21 Dec 2010 14:49:06 +0100 Subject: [PATCH 0910/1463] Make GtkArrow use GtkStyleContext --- gtk/gtkarrow.c | 49 +++++++++++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 20 deletions(-) diff --git a/gtk/gtkarrow.c b/gtk/gtkarrow.c index 2c69ca0515..57d5a0e065 100644 --- a/gtk/gtkarrow.c +++ b/gtk/gtkarrow.c @@ -28,7 +28,7 @@ * SECTION:gtkarrow * @Short_description: Displays an arrow * @Title: GtkArrow - * @See_also: gtk_paint_arrow() + * @See_also: gtk_render_arrow() * * GtkArrow should be used to draw simple arrows that need to point in * one of the four cardinal directions (up, down, left, or right). The @@ -310,15 +310,20 @@ gtk_arrow_draw (GtkWidget *widget, GtkArrow *arrow = GTK_ARROW (widget); GtkArrowPrivate *priv = arrow->priv; GtkMisc *misc = GTK_MISC (widget); - GtkShadowType shadow_type; - GtkStateType state; + GtkStyleContext *context; + GtkStateFlags state; gint x, y, width, height; gint extent; gint xpad, ypad; gfloat xalign, yalign; GtkArrowType effective_arrow_type; gfloat arrow_scaling; + gdouble angle; + if (priv->arrow_type == GTK_ARROW_NONE) + return FALSE; + + context = gtk_widget_get_style_context (widget); gtk_widget_style_get (widget, "arrow-scaling", &arrow_scaling, NULL); gtk_misc_get_padding (misc, &xpad, &ypad); @@ -342,26 +347,30 @@ gtk_arrow_draw (GtkWidget *widget, x = floor (xpad + ((width - extent) * xalign)); y = floor (ypad + ((height - extent) * yalign)); - shadow_type = priv->shadow_type; - state = gtk_widget_get_state (widget); - - if (state == GTK_STATE_ACTIVE) + switch (effective_arrow_type) { - if (shadow_type == GTK_SHADOW_IN) - shadow_type = GTK_SHADOW_OUT; - else if (shadow_type == GTK_SHADOW_OUT) - shadow_type = GTK_SHADOW_IN; - else if (shadow_type == GTK_SHADOW_ETCHED_IN) - shadow_type = GTK_SHADOW_ETCHED_OUT; - else if (shadow_type == GTK_SHADOW_ETCHED_OUT) - shadow_type = GTK_SHADOW_ETCHED_IN; + case GTK_ARROW_UP: + angle = 0; + break; + case GTK_ARROW_RIGHT: + angle = G_PI / 2; + break; + case GTK_ARROW_DOWN: + angle = G_PI; + break; + case GTK_ARROW_LEFT: + default: + angle = (3 * G_PI) / 2; + break; } - gtk_paint_arrow (gtk_widget_get_style (widget), cr, - state, shadow_type, - widget, "arrow", - effective_arrow_type, TRUE, - x, y, extent, extent); + gtk_style_context_save (context); + + state = gtk_widget_get_state_flags (widget); + gtk_style_context_set_state (context, state); + gtk_render_arrow (context, cr, angle, x, y, extent); + + gtk_style_context_restore (context); return FALSE; } From 2bd221d2152299ca0aa0cd78702c58d2fd3d30d4 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 24 Dec 2010 18:05:07 +0100 Subject: [PATCH 0911/1463] =?UTF-8?q?Bug=C2=A0637910=20-=20GtkSpinner=20-?= =?UTF-8?q?=20does=20not=20animate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix widget-to-window coordinates translation in the style context animation code. --- gtk/gtkstylecontext.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index e42ebf8aac..162c97136c 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3043,8 +3043,12 @@ _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, cairo_rectangle_int_t *rect; rect = &g_array_index (info->rectangles, cairo_rectangle_int_t, i); - rect->x += rel_x; - rect->y += rel_y; + + /* These are widget relative coordinates, + * so have them inverted to be window relative + */ + rect->x -= rel_x; + rect->y -= rel_y; cairo_region_union_rectangle (info->invalidation_region, rect); } From 760d6d1e78dd1d9b0b9e2ac0d38bb0fae27b539c Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 24 Dec 2010 19:21:39 +0100 Subject: [PATCH 0912/1463] Do not set "entry" class in spinbutton buttons. Also, fix an unpaired gtk_style_context_save() call. --- gtk/gtkspinbutton.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 0f513bade3..38dbde0951 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -836,6 +836,7 @@ gtk_spin_button_draw (GtkWidget *widget, gtk_style_context_save (context); gtk_style_context_set_state (context, state); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_ENTRY); if (is_rtl) gtk_style_context_set_junction_sides (context, GTK_JUNCTION_RIGHT); @@ -852,6 +853,7 @@ gtk_spin_button_draw (GtkWidget *widget, gtk_spin_button_draw_arrow (spin, context, cr, GTK_ARROW_UP); gtk_spin_button_draw_arrow (spin, context, cr, GTK_ARROW_DOWN); + gtk_style_context_restore (context); cairo_restore (cr); return FALSE; From 7c35994bda5ad94e508a70e85a6db54aaf35376c Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 24 Dec 2010 19:30:58 +0100 Subject: [PATCH 0913/1463] Make GtkPaned use GtkStyleContext --- gtk/gtkpaned.c | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index 959ac784e0..a60718d84e 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -182,8 +182,8 @@ static void gtk_paned_realize (GtkWidget *widget); static void gtk_paned_unrealize (GtkWidget *widget); static void gtk_paned_map (GtkWidget *widget); static void gtk_paned_unmap (GtkWidget *widget); -static void gtk_paned_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_paned_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static gboolean gtk_paned_draw (GtkWidget *widget, cairo_t *cr); static gboolean gtk_paned_enter (GtkWidget *widget, @@ -299,7 +299,7 @@ gtk_paned_class_init (GtkPanedClass *class) widget_class->motion_notify_event = gtk_paned_motion; widget_class->grab_broken_event = gtk_paned_grab_broken; widget_class->grab_notify = gtk_paned_grab_notify; - widget_class->state_changed = gtk_paned_state_changed; + widget_class->state_flags_changed = gtk_paned_state_flags_changed; container_class->add = gtk_paned_add; container_class->remove = gtk_paned_remove; @@ -706,8 +706,8 @@ gtk_paned_set_property (GObject *object, else priv->cursor_type = GDK_SB_V_DOUBLE_ARROW; - /* state_changed updates the cursor */ - gtk_paned_state_changed (GTK_WIDGET (paned), gtk_widget_get_state (GTK_WIDGET (paned))); + /* state_flags_changed updates the cursor */ + gtk_paned_state_flags_changed (GTK_WIDGET (paned), 0); gtk_widget_queue_resize (GTK_WIDGET (paned)); break; case PROP_POSITION: @@ -1197,27 +1197,28 @@ gtk_paned_draw (GtkWidget *widget, priv->child1 && gtk_widget_get_visible (priv->child1) && priv->child2 && gtk_widget_get_visible (priv->child2)) { - GtkStateType state; + GtkStyleContext *context; + GtkStateFlags state; GtkAllocation allocation; gtk_widget_get_allocation (widget, &allocation); - - if (gtk_widget_is_focus (widget)) - state = GTK_STATE_SELECTED; - else if (priv->handle_prelit) - state = GTK_STATE_PRELIGHT; - else - state = gtk_widget_get_state (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - gtk_paint_handle (gtk_widget_get_style (widget), - cr, - state, GTK_SHADOW_NONE, - widget, "paned", - priv->handle_pos.x - allocation.x, - priv->handle_pos.y - allocation.y, - priv->handle_pos.width, - priv->handle_pos.height, - !priv->orientation); + if (gtk_widget_is_focus (widget)) + state |= GTK_STATE_FLAG_SELECTED; + if (priv->handle_prelit) + state |= GTK_STATE_FLAG_PRELIGHT; + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + gtk_render_handle (context, cr, + priv->handle_pos.x - allocation.x, + priv->handle_pos.y - allocation.y, + priv->handle_pos.width, + priv->handle_pos.height); + + gtk_style_context_restore (context); } /* Chain up to draw children */ @@ -1421,8 +1422,8 @@ gtk_paned_grab_notify (GtkWidget *widget, } static void -gtk_paned_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_paned_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { GtkPaned *paned = GTK_PANED (widget); GtkPanedPrivate *priv = paned->priv; From 92102c3bf448327de1b0d7154b4b098dba0e0f1f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 24 Dec 2010 19:33:14 +0100 Subject: [PATCH 0914/1463] Make GtkSeparator use GtkStyleContext --- gtk/gtkseparator.c | 59 ++++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 28 deletions(-) diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c index 025b80f9bc..1de28a1a58 100644 --- a/gtk/gtkseparator.c +++ b/gtk/gtkseparator.c @@ -161,12 +161,17 @@ gtk_separator_get_preferred_size (GtkWidget *widget, { GtkSeparator *separator = GTK_SEPARATOR (widget); GtkSeparatorPrivate *private = separator->priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder border; gboolean wide_sep; gint sep_width; gint sep_height; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_border (context, state, &border); + gtk_widget_style_get (widget, "wide-separators", &wide_sep, "separator-width", &sep_width, @@ -179,11 +184,11 @@ gtk_separator_get_preferred_size (GtkWidget *widget, } else if (orientation == GTK_ORIENTATION_VERTICAL) { - *minimum = *natural = wide_sep ? sep_height : style->ythickness; + *minimum = *natural = wide_sep ? sep_height : border.top; } else { - *minimum = *natural = wide_sep ? sep_width : style->xthickness; + *minimum = *natural = wide_sep ? sep_width : border.left; } } @@ -209,15 +214,16 @@ gtk_separator_draw (GtkWidget *widget, { GtkSeparator *separator = GTK_SEPARATOR (widget); GtkSeparatorPrivate *private = separator->priv; - GtkStateType state; - GtkStyle *style; + GtkStateFlags state; + GtkStyleContext *context; + GtkBorder padding; GdkWindow *window; gboolean wide_separators; gint separator_width; gint separator_height; int width, height; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); gtk_widget_style_get (widget, "wide-separators", &wide_separators, "separator-width", &separator_width, @@ -225,39 +231,36 @@ gtk_separator_draw (GtkWidget *widget, NULL); window = gtk_widget_get_window (widget); - state = gtk_widget_get_state (widget); + state = gtk_widget_get_state_flags (widget); width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); + gtk_style_context_get_padding (context, state, &padding); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + if (private->orientation == GTK_ORIENTATION_HORIZONTAL) { if (wide_separators) - gtk_paint_box (style, cr, - gtk_widget_get_state (widget), GTK_SHADOW_ETCHED_OUT, - widget, "hseparator", - 0, (height - separator_height) / 2, - width, separator_height); + gtk_render_frame (context, cr, + 0, (height - separator_height) / 2, + width, separator_height); else - gtk_paint_hline (style, cr, - gtk_widget_get_state (widget), - widget, "hseparator", - 0, width - 1, - (height - style->ythickness) / 2); + gtk_render_line (context, cr, + 0, (height - padding.top) / 2, + width - 1, (height - padding.top) / 2); } else { if (wide_separators) - gtk_paint_box (style, cr, - gtk_widget_get_state (widget), GTK_SHADOW_ETCHED_OUT, - widget, "vseparator", - (width - separator_width) / 2, 0, - separator_width, height); + gtk_render_frame (context, cr, + (width - separator_width) / 2, 0, + separator_width, height); else - gtk_paint_vline (style, cr, - gtk_widget_get_state (widget), - widget, "vseparator", - 0, height - 1, - (width - style->xthickness) / 2); + gtk_render_line (context, cr, + (width - padding.left) / 2, 0, + (width - padding.left) / 2, height - 1); } return FALSE; From 0f0512aee3f18d4a160a87ec1ad9934aa459cbe1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 24 Dec 2010 20:16:22 +0100 Subject: [PATCH 0915/1463] Use gtk_style_context_get_font() in GtkSpinButton --- gtk/gtkspinbutton.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 38dbde0951..492aeae7be 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -693,7 +693,7 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, if (gtk_entry_get_width_chars (entry) < 0) { PangoContext *context; - PangoFontDescription *font_desc; + const PangoFontDescription *font_desc; PangoFontMetrics *metrics; gint width; gint w; @@ -710,10 +710,7 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, "focus-line-width", &focus_width, NULL); - /* FIXME: update to get_font_desc */ - gtk_style_context_get (style_context, 0, - "font", &font_desc, - NULL); + font_desc = gtk_style_context_get_font (style_context, 0); context = gtk_widget_get_pango_context (widget); metrics = pango_context_get_metrics (context, font_desc, @@ -2301,16 +2298,14 @@ gtk_spin_button_get_wrap (GtkSpinButton *spin_button) static gint spin_button_get_arrow_size (GtkSpinButton *spin_button) { - PangoFontDescription *font_desc; + const PangoFontDescription *font_desc; GtkStyleContext *context; gint size; gint arrow_size; /* FIXME: use getter */ context = gtk_widget_get_style_context (GTK_WIDGET (spin_button)); - gtk_style_context_get (context, 0, - "font", &font_desc, - NULL); + font_desc = gtk_style_context_get_font (context, 0); size = pango_font_description_get_size (font_desc); arrow_size = MAX (PANGO_PIXELS (size), MIN_ARROW_WIDTH); From 806b6dfa08db0cdaa7d0489e085337b143896ea4 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Fri, 24 Dec 2010 11:25:40 -0800 Subject: [PATCH 0916/1463] Rename GdkQuartzWindow.h and .c to GdkQuartzNSWindow.h and .c Normally HFS+ (the MacOSX file system) isn't case-sensitive, so having both GtkQuartzWindow.h and gtkquartzwindow.h causes the latter to overwrite the former during git pull, breaking the build. --- gdk/quartz/{GdkQuartzWindow.c => GdkQuartzNSWindow.c} | 2 +- gdk/quartz/{GdkQuartzWindow.h => GdkQuartzNSWindow.h} | 2 +- gdk/quartz/Makefile.am | 4 ++-- gdk/quartz/gdkwindow-quartz.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) rename gdk/quartz/{GdkQuartzWindow.c => GdkQuartzNSWindow.c} (99%) rename gdk/quartz/{GdkQuartzWindow.h => GdkQuartzNSWindow.h} (98%) diff --git a/gdk/quartz/GdkQuartzWindow.c b/gdk/quartz/GdkQuartzNSWindow.c similarity index 99% rename from gdk/quartz/GdkQuartzWindow.c rename to gdk/quartz/GdkQuartzNSWindow.c index 67db8bbf28..ee21797383 100644 --- a/gdk/quartz/GdkQuartzWindow.c +++ b/gdk/quartz/GdkQuartzNSWindow.c @@ -18,7 +18,7 @@ * Boston, MA 02111-1307, USA. */ -#import "GdkQuartzWindow.h" +#import "GdkQuartzNSWindow.h" #include "gdkquartzwindow.h" #include "gdkdnd-quartz.h" #include "gdkprivate-quartz.h" diff --git a/gdk/quartz/GdkQuartzWindow.h b/gdk/quartz/GdkQuartzNSWindow.h similarity index 98% rename from gdk/quartz/GdkQuartzWindow.h rename to gdk/quartz/GdkQuartzNSWindow.h index 0c7e6a26f7..676c48a9e6 100644 --- a/gdk/quartz/GdkQuartzWindow.h +++ b/gdk/quartz/GdkQuartzNSWindow.h @@ -1,4 +1,4 @@ -/* GdkQuartzWindow.h +/* GdkQuartzNSWindow.h * * Copyright (C) 2005-2007 Imendio AB * diff --git a/gdk/quartz/Makefile.am b/gdk/quartz/Makefile.am index 33197e9d6f..9b2135326e 100644 --- a/gdk/quartz/Makefile.am +++ b/gdk/quartz/Makefile.am @@ -20,8 +20,8 @@ noinst_LTLIBRARIES = libgdk-quartz.la libgdk_quartz_la_SOURCES = \ GdkQuartzView.c \ GdkQuartzView.h \ - GdkQuartzWindow.c \ - GdkQuartzWindow.h \ + GdkQuartzNSWindow.c \ + GdkQuartzNSWindow.h \ gdkcursor-quartz.c \ gdkdevice-core-quartz.c \ gdkdevicemanager-core-quartz.c \ diff --git a/gdk/quartz/gdkwindow-quartz.h b/gdk/quartz/gdkwindow-quartz.h index f55bbb33e9..f89c20cfba 100644 --- a/gdk/quartz/gdkwindow-quartz.h +++ b/gdk/quartz/gdkwindow-quartz.h @@ -22,7 +22,7 @@ #define __GDK_WINDOW_QUARTZ_H__ #import -#import +#import #include "gdk/gdkwindowimpl.h" G_BEGIN_DECLS From 92f163d40a037ae083b8a55bb2f8129740a42a62 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Dec 2010 15:54:12 -0500 Subject: [PATCH 0917/1463] Consistently hide class structs And, since we've decided to keep the structs private, there is no point in having the standard GObject clas macros anymore either. --- gdk/gdkapplaunchcontext.h | 16 +++--- gdk/gdkapplaunchcontextprivate.h | 7 +++ gdk/gdkcursor.h | 3 -- gdk/gdkcursorprivate.h | 4 ++ gdk/gdkdevice.h | 4 +- gdk/gdkdevicemanager.h | 5 -- gdk/gdkdevicemanagerprivate.h | 8 +++ gdk/gdkdeviceprivate.h | 1 + gdk/gdkdisplay.h | 83 +++++++++++++++----------------- gdk/gdkdisplaymanager.h | 6 +-- gdk/gdkdisplaymanagerprivate.h | 6 +++ gdk/gdkdisplayprivate.h | 5 ++ gdk/gdkdnd.h | 62 ++++++++++-------------- gdk/gdkdndprivate.h | 8 +++ gdk/gdkkeys.h | 5 -- gdk/gdkkeysprivate.h | 6 +++ gdk/gdkscreen.h | 33 ++++++------- gdk/gdkscreenprivate.h | 6 +++ gdk/gdktypes.h | 32 ++++++------ gdk/gdkvisual.h | 25 ++++------ gdk/gdkvisualprivate.h | 6 +++ 21 files changed, 173 insertions(+), 158 deletions(-) diff --git a/gdk/gdkapplaunchcontext.h b/gdk/gdkapplaunchcontext.h index 509d558d16..ad1b1f1760 100644 --- a/gdk/gdkapplaunchcontext.h +++ b/gdk/gdkapplaunchcontext.h @@ -35,28 +35,24 @@ G_BEGIN_DECLS #define GDK_TYPE_APP_LAUNCH_CONTEXT (gdk_app_launch_context_get_type ()) #define GDK_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContext)) -#define GDK_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContextClass)) #define GDK_IS_APP_LAUNCH_CONTEXT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_APP_LAUNCH_CONTEXT)) -#define GDK_IS_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDK_TYPE_APP_LAUNCH_CONTEXT)) -#define GDK_APP_LAUNCH_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContextClass)) -typedef GAppLaunchContextClass GdkAppLaunchContextClass; GType gdk_app_launch_context_get_type (void); GdkAppLaunchContext *gdk_app_launch_context_new (void); void gdk_app_launch_context_set_display (GdkAppLaunchContext *context, - GdkDisplay *display); + GdkDisplay *display); void gdk_app_launch_context_set_screen (GdkAppLaunchContext *context, - GdkScreen *screen); + GdkScreen *screen); void gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, - gint desktop); + gint desktop); void gdk_app_launch_context_set_timestamp (GdkAppLaunchContext *context, - guint32 timestamp); + guint32 timestamp); void gdk_app_launch_context_set_icon (GdkAppLaunchContext *context, - GIcon *icon); + GIcon *icon); void gdk_app_launch_context_set_icon_name (GdkAppLaunchContext *context, - const char *icon_name); + const char *icon_name); G_END_DECLS diff --git a/gdk/gdkapplaunchcontextprivate.h b/gdk/gdkapplaunchcontextprivate.h index 94c76a8550..2ae0f2a30e 100644 --- a/gdk/gdkapplaunchcontextprivate.h +++ b/gdk/gdkapplaunchcontextprivate.h @@ -26,6 +26,13 @@ G_BEGIN_DECLS +#define GDK_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContextClass)) +#define GDK_IS_APP_LAUNCH_CONTEXT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GDK_TYPE_APP_LAUNCH_CONTEXT)) +#define GDK_APP_LAUNCH_CONTEXT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_APP_LAUNCH_CONTEXT, GdkAppLaunchContextClass)) + + +typedef GAppLaunchContextClass GdkAppLaunchContextClass; + struct _GdkAppLaunchContext { GAppLaunchContext parent_instance; diff --git a/gdk/gdkcursor.h b/gdk/gdkcursor.h index 8a88545f1f..89b0ef1d59 100644 --- a/gdk/gdkcursor.h +++ b/gdk/gdkcursor.h @@ -38,10 +38,7 @@ G_BEGIN_DECLS #define GDK_TYPE_CURSOR (gdk_cursor_get_type ()) #define GDK_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_CURSOR, GdkCursor)) -#define GDK_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_CURSOR, GdkCursorClass)) #define GDK_IS_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_CURSOR)) -#define GDK_IS_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_CURSOR)) -#define GDK_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_CURSOR, GdkCursorClass)) /** diff --git a/gdk/gdkcursorprivate.h b/gdk/gdkcursorprivate.h index 6a3a407d9b..3d32ffb18f 100644 --- a/gdk/gdkcursorprivate.h +++ b/gdk/gdkcursorprivate.h @@ -31,6 +31,10 @@ G_BEGIN_DECLS +#define GDK_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_CURSOR, GdkCursorClass)) +#define GDK_IS_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_CURSOR)) +#define GDK_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_CURSOR, GdkCursorClass)) + typedef struct _GdkCursorClass GdkCursorClass; struct _GdkCursor diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index 4085facee4..ef142eb28a 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -33,8 +33,6 @@ G_BEGIN_DECLS #define GDK_DEVICE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE, GdkDevice)) #define GDK_IS_DEVICE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE)) -typedef struct _GdkDevice GdkDevice; -typedef struct _GdkDeviceClass GdkDeviceClass; typedef struct _GdkTimeCoord GdkTimeCoord; /** @@ -156,7 +154,7 @@ struct _GdkTimeCoord gdouble axes[GDK_MAX_TIMECOORD_AXES]; }; -GType gdk_device_get_type (void) G_GNUC_CONST; +GType gdk_device_get_type (void) G_GNUC_CONST; G_CONST_RETURN gchar *gdk_device_get_name (GdkDevice *device); gboolean gdk_device_get_has_cursor (GdkDevice *device); diff --git a/gdk/gdkdevicemanager.h b/gdk/gdkdevicemanager.h index 2bb6041a17..d49ef63521 100644 --- a/gdk/gdkdevicemanager.h +++ b/gdk/gdkdevicemanager.h @@ -31,13 +31,8 @@ G_BEGIN_DECLS #define GDK_TYPE_DEVICE_MANAGER (gdk_device_manager_get_type ()) #define GDK_DEVICE_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GDK_TYPE_DEVICE_MANAGER, GdkDeviceManager)) -#define GDK_DEVICE_MANAGER_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER, GdkDeviceManagerClass)) #define GDK_IS_DEVICE_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GDK_TYPE_DEVICE_MANAGER)) -#define GDK_IS_DEVICE_MANAGER_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER)) -#define GDK_DEVICE_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER, GdkDeviceManagerClass)) -typedef struct _GdkDeviceManager GdkDeviceManager; -typedef struct _GdkDeviceManagerClass GdkDeviceManagerClass; GType gdk_device_manager_get_type (void) G_GNUC_CONST; diff --git a/gdk/gdkdevicemanagerprivate.h b/gdk/gdkdevicemanagerprivate.h index a89a5e9445..543f7a99ab 100644 --- a/gdk/gdkdevicemanagerprivate.h +++ b/gdk/gdkdevicemanagerprivate.h @@ -24,6 +24,14 @@ G_BEGIN_DECLS + +#define GDK_DEVICE_MANAGER_CLASS(c) (G_TYPE_CHECK_CLASS_CAST ((c), GDK_TYPE_DEVICE_MANAGER, GdkDeviceManagerClass)) +#define GDK_IS_DEVICE_MANAGER_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE_MANAGER)) +#define GDK_DEVICE_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE_MANAGER, GdkDeviceManagerClass)) + + +typedef struct _GdkDeviceManagerClass GdkDeviceManagerClass; + struct _GdkDeviceManager { GObject parent_instance; diff --git a/gdk/gdkdeviceprivate.h b/gdk/gdkdeviceprivate.h index 1e6550408b..8816576b53 100644 --- a/gdk/gdkdeviceprivate.h +++ b/gdk/gdkdeviceprivate.h @@ -30,6 +30,7 @@ G_BEGIN_DECLS #define GDK_IS_DEVICE_CLASS(c) (G_TYPE_CHECK_CLASS_TYPE ((c), GDK_TYPE_DEVICE)) #define GDK_DEVICE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GDK_TYPE_DEVICE, GdkDeviceClass)) +typedef struct _GdkDeviceClass GdkDeviceClass; typedef struct _GdkDeviceKey GdkDeviceKey; struct _GdkDeviceKey diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 1445d37a53..c7732f35de 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -1,7 +1,7 @@ /* * gdkdisplay.h - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -36,13 +36,10 @@ G_BEGIN_DECLS #define GDK_TYPE_DISPLAY (gdk_display_get_type ()) #define GDK_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY, GdkDisplay)) +#define GDK_IS_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY)) #ifndef GDK_DISABLE_DEPRECATED #define GDK_DISPLAY_OBJECT(object) GDK_DISPLAY(object) #endif -#define GDK_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, GdkDisplayClass)) -#define GDK_IS_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY)) -#define GDK_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY)) -#define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass)) typedef struct _GdkDisplayPointerHooks GdkDisplayPointerHooks; typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; @@ -72,18 +69,18 @@ typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; struct _GdkDisplayPointerHooks { void (*get_pointer) (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask); GdkWindow* (*window_get_pointer) (GdkDisplay *display, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); + GdkWindow *window, + gint *x, + gint *y, + GdkModifierType *mask); GdkWindow* (*window_at_pointer) (GdkDisplay *display, - gint *win_x, - gint *win_y); + gint *win_x, + gint *win_y); }; /** @@ -131,14 +128,14 @@ G_CONST_RETURN gchar * gdk_display_get_name (GdkDisplay *display); gint gdk_display_get_n_screens (GdkDisplay *display); GdkScreen * gdk_display_get_screen (GdkDisplay *display, - gint screen_num); + gint screen_num); GdkScreen * gdk_display_get_default_screen (GdkDisplay *display); #ifndef GDK_MULTIDEVICE_SAFE void gdk_display_pointer_ungrab (GdkDisplay *display, - guint32 time_); + guint32 time_); void gdk_display_keyboard_ungrab (GdkDisplay *display, - guint32 time_); + guint32 time_); gboolean gdk_display_pointer_is_grabbed (GdkDisplay *display); #endif /* GDK_MULTIDEVICE_SAFE */ @@ -148,7 +145,7 @@ void gdk_display_beep (GdkDisplay *display); void gdk_display_sync (GdkDisplay *display); void gdk_display_flush (GdkDisplay *display); -void gdk_display_close (GdkDisplay *display); +void gdk_display_close (GdkDisplay *display); gboolean gdk_display_is_closed (GdkDisplay *display); #ifndef GDK_DISABLE_DEPRECATED @@ -162,31 +159,31 @@ void gdk_display_put_event (GdkDisplay *display, gboolean gdk_display_has_pending (GdkDisplay *display); void gdk_display_add_client_message_filter (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data); + GdkAtom message_type, + GdkFilterFunc func, + gpointer data); void gdk_display_set_double_click_time (GdkDisplay *display, - guint msec); + guint msec); void gdk_display_set_double_click_distance (GdkDisplay *display, - guint distance); + guint distance); GdkDisplay *gdk_display_get_default (void); #ifndef GDK_MULTIDEVICE_SAFE void gdk_display_get_pointer (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask); GdkWindow * gdk_display_get_window_at_pointer (GdkDisplay *display, - gint *win_x, - gint *win_y); + gint *win_x, + gint *win_y); void gdk_display_warp_pointer (GdkDisplay *display, - GdkScreen *screen, - gint x, - gint y); + GdkScreen *screen, + gint x, + gint y); #endif /* GDK_MULTIDEVICE_SAFE */ void gdk_display_get_device_state (GdkDisplay *display, @@ -202,7 +199,7 @@ GdkWindow * gdk_display_get_window_at_device_position (GdkDisplay #ifndef GDK_MULTIDEVICE_SAFE GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay *display, - const GdkDisplayPointerHooks *new_hooks); + const GdkDisplayPointerHooks *new_hooks); #endif /* GDK_MULTIDEVICE_SAFE */ GdkDisplayDeviceHooks *gdk_display_set_device_hooks (GdkDisplay *display, @@ -214,21 +211,21 @@ gboolean gdk_display_supports_cursor_alpha (GdkDisplay *display); gboolean gdk_display_supports_cursor_color (GdkDisplay *display); guint gdk_display_get_default_cursor_size (GdkDisplay *display); void gdk_display_get_maximal_cursor_size (GdkDisplay *display, - guint *width, - guint *height); + guint *width, + guint *height); GdkWindow *gdk_display_get_default_group (GdkDisplay *display); gboolean gdk_display_supports_selection_notification (GdkDisplay *display); gboolean gdk_display_request_selection_notification (GdkDisplay *display, - GdkAtom selection); + GdkAtom selection); gboolean gdk_display_supports_clipboard_persistence (GdkDisplay *display); void gdk_display_store_clipboard (GdkDisplay *display, - GdkWindow *clipboard_window, - guint32 time_, - const GdkAtom *targets, - gint n_targets); + GdkWindow *clipboard_window, + guint32 time_, + const GdkAtom *targets, + gint n_targets); gboolean gdk_display_supports_shapes (GdkDisplay *display); gboolean gdk_display_supports_input_shapes (GdkDisplay *display); @@ -242,4 +239,4 @@ GdkAppLaunchContext *gdk_display_get_app_launch_context (GdkDisplay *display); G_END_DECLS -#endif /* __GDK_DISPLAY_H__ */ +#endif /* __GDK_DISPLAY_H__ */ diff --git a/gdk/gdkdisplaymanager.h b/gdk/gdkdisplaymanager.h index dccca92541..4c0e02cc11 100644 --- a/gdk/gdkdisplaymanager.h +++ b/gdk/gdkdisplaymanager.h @@ -39,14 +39,10 @@ G_BEGIN_DECLS #define GDK_TYPE_DISPLAY_MANAGER (gdk_display_manager_get_type ()) #define GDK_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManager)) -#define GDK_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManagerClass)) #define GDK_IS_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DISPLAY_MANAGER)) -#define GDK_IS_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_MANAGER)) -#define GDK_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManagerClass)) -typedef struct _GdkDisplayManagerClass GdkDisplayManagerClass; -GType gdk_display_manager_get_type (void) G_GNUC_CONST; +GType gdk_display_manager_get_type (void) G_GNUC_CONST; GdkDisplayManager *gdk_display_manager_get (void); GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager); diff --git a/gdk/gdkdisplaymanagerprivate.h b/gdk/gdkdisplaymanagerprivate.h index a1d19ecc28..6c1df3e11e 100644 --- a/gdk/gdkdisplaymanagerprivate.h +++ b/gdk/gdkdisplaymanagerprivate.h @@ -24,6 +24,12 @@ G_BEGIN_DECLS +#define GDK_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManagerClass)) +#define GDK_IS_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY_MANAGER)) +#define GDK_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY_MANAGER, GdkDisplayManagerClass)) + +typedef struct _GdkDisplayManagerClass GdkDisplayManagerClass; + struct _GdkDisplayManager { GObject parent_instance; diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 29ab8460da..2662eee7b3 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -26,6 +26,11 @@ G_BEGIN_DECLS +#define GDK_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DISPLAY, GdkDisplayClass)) +#define GDK_IS_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DISPLAY)) +#define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass)) + + typedef struct _GdkDisplayClass GdkDisplayClass; /* Tracks information about the keyboard grab on this display */ diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h index 76e7a293cc..06c5f31ccf 100644 --- a/gdk/gdkdnd.h +++ b/gdk/gdkdnd.h @@ -36,11 +36,9 @@ G_BEGIN_DECLS -/* Object that holds information about a drag in progress. - * this is used on both source and destination sides. - */ -typedef struct _GdkDragContext GdkDragContext; -typedef struct _GdkDragContextClass GdkDragContextClass; +#define GDK_TYPE_DRAG_CONTEXT (gdk_drag_context_get_type ()) +#define GDK_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT, GdkDragContext)) +#define GDK_IS_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAG_CONTEXT)) /** * GdkDragAction: @@ -93,14 +91,6 @@ typedef enum } GdkDragProtocol; -#define GDK_TYPE_DRAG_CONTEXT (gdk_drag_context_get_type ()) -#define GDK_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAG_CONTEXT, GdkDragContext)) -#define GDK_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass)) -#define GDK_IS_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAG_CONTEXT)) -#define GDK_IS_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAG_CONTEXT)) -#define GDK_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass)) - - GType gdk_drag_context_get_type (void) G_GNUC_CONST; void gdk_drag_context_set_device (GdkDragContext *context, @@ -119,14 +109,14 @@ GdkDragProtocol gdk_drag_context_get_protocol (GdkDragContext *context) /* Destination side */ void gdk_drag_status (GdkDragContext *context, - GdkDragAction action, - guint32 time_); + GdkDragAction action, + guint32 time_); void gdk_drop_reply (GdkDragContext *context, - gboolean accepted, - guint32 time_); + gboolean accepted, + guint32 time_); void gdk_drop_finish (GdkDragContext *context, - gboolean success, - guint32 time_); + gboolean success, + guint32 time_); GdkAtom gdk_drag_get_selection (GdkDragContext *context); /* Source side */ @@ -139,29 +129,29 @@ GdkDragContext * gdk_drag_begin_for_device (GdkWindow *window, GList *targets); GdkNativeWindow gdk_drag_get_protocol_for_display (GdkDisplay *display, - GdkNativeWindow xid, - GdkDragProtocol *protocol); + GdkNativeWindow xid, + GdkDragProtocol *protocol); void gdk_drag_find_window_for_screen (GdkDragContext *context, - GdkWindow *drag_window, - GdkScreen *screen, - gint x_root, - gint y_root, - GdkWindow **dest_window, - GdkDragProtocol *protocol); + GdkWindow *drag_window, + GdkScreen *screen, + gint x_root, + gint y_root, + GdkWindow **dest_window, + GdkDragProtocol *protocol); gboolean gdk_drag_motion (GdkDragContext *context, - GdkWindow *dest_window, - GdkDragProtocol protocol, - gint x_root, - gint y_root, - GdkDragAction suggested_action, - GdkDragAction possible_actions, - guint32 time_); + GdkWindow *dest_window, + GdkDragProtocol protocol, + gint x_root, + gint y_root, + GdkDragAction suggested_action, + GdkDragAction possible_actions, + guint32 time_); void gdk_drag_drop (GdkDragContext *context, - guint32 time_); + guint32 time_); void gdk_drag_abort (GdkDragContext *context, - guint32 time_); + guint32 time_); gboolean gdk_drag_drop_succeeded (GdkDragContext *context); G_END_DECLS diff --git a/gdk/gdkdndprivate.h b/gdk/gdkdndprivate.h index ca82bdc14a..618f0cc075 100644 --- a/gdk/gdkdndprivate.h +++ b/gdk/gdkdndprivate.h @@ -24,6 +24,14 @@ G_BEGIN_DECLS + +#define GDK_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass)) +#define GDK_IS_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAG_CONTEXT)) +#define GDK_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAG_CONTEXT, GdkDragContextClass)) + +typedef struct _GdkDragContextClass GdkDragContextClass; + + struct _GdkDragContextClass { GObjectClass parent_class; diff --git a/gdk/gdkkeys.h b/gdk/gdkkeys.h index 229cf80207..346fe40ac5 100644 --- a/gdk/gdkkeys.h +++ b/gdk/gdkkeys.h @@ -65,12 +65,7 @@ struct _GdkKeymapKey #define GDK_TYPE_KEYMAP (gdk_keymap_get_type ()) #define GDK_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_KEYMAP, GdkKeymap)) -#define GDK_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_KEYMAP, GdkKeymapClass)) #define GDK_IS_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_KEYMAP)) -#define GDK_IS_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_KEYMAP)) -#define GDK_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_KEYMAP, GdkKeymapClass)) - -typedef struct _GdkKeymapClass GdkKeymapClass; /** * GdkKeymap: diff --git a/gdk/gdkkeysprivate.h b/gdk/gdkkeysprivate.h index 7e02e56c96..c0f1f0eaa9 100644 --- a/gdk/gdkkeysprivate.h +++ b/gdk/gdkkeysprivate.h @@ -24,6 +24,12 @@ G_BEGIN_DECLS +#define GDK_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_KEYMAP, GdkKeymapClass)) +#define GDK_IS_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_KEYMAP)) +#define GDK_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_KEYMAP, GdkKeymapClass)) + +typedef struct _GdkKeymapClass GdkKeymapClass; + struct _GdkKeymapClass { GObjectClass parent_class; diff --git a/gdk/gdkscreen.h b/gdk/gdkscreen.h index 9898e70197..dadb9666c4 100644 --- a/gdk/gdkscreen.h +++ b/gdk/gdkscreen.h @@ -1,7 +1,7 @@ /* * gdkscreen.h - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -34,19 +34,16 @@ G_BEGIN_DECLS -typedef struct _GdkScreenClass GdkScreenClass; - #define GDK_TYPE_SCREEN (gdk_screen_get_type ()) #define GDK_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_SCREEN, GdkScreen)) -#define GDK_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SCREEN, GdkScreenClass)) #define GDK_IS_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_SCREEN)) -#define GDK_IS_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN)) -#define GDK_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN, GdkScreenClass)) + GType gdk_screen_get_type (void) G_GNUC_CONST; + GdkVisual * gdk_screen_get_system_visual (GdkScreen *screen); GdkVisual * gdk_screen_get_rgba_visual (GdkScreen *screen); -gboolean gdk_screen_is_composited (GdkScreen *screen); +gboolean gdk_screen_is_composited (GdkScreen *screen); GdkWindow * gdk_screen_get_root_window (GdkScreen *screen); GdkDisplay * gdk_screen_get_display (GdkScreen *screen); @@ -63,13 +60,13 @@ gchar * gdk_screen_make_display_name (GdkScreen *screen); gint gdk_screen_get_n_monitors (GdkScreen *screen); gint gdk_screen_get_primary_monitor (GdkScreen *screen); void gdk_screen_get_monitor_geometry (GdkScreen *screen, - gint monitor_num, - GdkRectangle *dest); + gint monitor_num, + GdkRectangle *dest); gint gdk_screen_get_monitor_at_point (GdkScreen *screen, - gint x, - gint y); + gint x, + gint y); gint gdk_screen_get_monitor_at_window (GdkScreen *screen, - GdkWindow *window); + GdkWindow *window); gint gdk_screen_get_monitor_width_mm (GdkScreen *screen, gint monitor_num); gint gdk_screen_get_monitor_height_mm (GdkScreen *screen, @@ -78,20 +75,20 @@ gchar * gdk_screen_get_monitor_plug_name (GdkScreen *screen, gint monitor_num); void gdk_screen_broadcast_client_message (GdkScreen *screen, - GdkEvent *event); + GdkEvent *event); GdkScreen *gdk_screen_get_default (void); gboolean gdk_screen_get_setting (GdkScreen *screen, - const gchar *name, - GValue *value); + const gchar *name, + GValue *value); void gdk_screen_set_font_options (GdkScreen *screen, - const cairo_font_options_t *options); + const cairo_font_options_t *options); const cairo_font_options_t *gdk_screen_get_font_options (GdkScreen *screen); void gdk_screen_set_resolution (GdkScreen *screen, - gdouble dpi); + gdouble dpi); gdouble gdk_screen_get_resolution (GdkScreen *screen); GdkWindow *gdk_screen_get_active_window (GdkScreen *screen); diff --git a/gdk/gdkscreenprivate.h b/gdk/gdkscreenprivate.h index eb87949b3b..630b112ed4 100644 --- a/gdk/gdkscreenprivate.h +++ b/gdk/gdkscreenprivate.h @@ -25,6 +25,12 @@ G_BEGIN_DECLS +#define GDK_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_SCREEN, GdkScreenClass)) +#define GDK_IS_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_SCREEN)) +#define GDK_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_SCREEN, GdkScreenClass)) + +typedef struct _GdkScreenClass GdkScreenClass; + struct _GdkScreen { GObject parent_instance; diff --git a/gdk/gdktypes.h b/gdk/gdktypes.h index 7cd9f6cde9..d655ff97da 100644 --- a/gdk/gdktypes.h +++ b/gdk/gdktypes.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -69,7 +69,7 @@ G_BEGIN_DECLS /* Type definitions for the basic structures. */ -typedef struct _GdkPoint GdkPoint; +typedef struct _GdkPoint GdkPoint; /** * GdkRectangle: @@ -77,7 +77,7 @@ typedef struct _GdkPoint GdkPoint; * Defines the position and size of a rectangle. It is identical to * #cairo_rectangle_int_t. */ -typedef cairo_rectangle_int_t GdkRectangle; +typedef cairo_rectangle_int_t GdkRectangle; /** * GdkAtom: @@ -131,15 +131,17 @@ typedef gpointer GdkNativeWindow; #else typedef guint32 GdkNativeWindow; #endif - -/* Forward declarations of commonly used types - */ + +/* Forward declarations of commonly used types */ typedef struct _GdkColor GdkColor; typedef struct _GdkRGBA GdkRGBA; typedef struct _GdkCursor GdkCursor; typedef struct _GdkVisual GdkVisual; +typedef struct _GdkDevice GdkDevice; +typedef struct _GdkDragContext GdkDragContext; typedef struct _GdkDisplayManager GdkDisplayManager; +typedef struct _GdkDeviceManager GdkDeviceManager; typedef struct _GdkDisplay GdkDisplay; typedef struct _GdkScreen GdkScreen; typedef struct _GdkWindow GdkWindow; @@ -208,13 +210,13 @@ typedef enum typedef enum { GDK_SHIFT_MASK = 1 << 0, - GDK_LOCK_MASK = 1 << 1, + GDK_LOCK_MASK = 1 << 1, GDK_CONTROL_MASK = 1 << 2, - GDK_MOD1_MASK = 1 << 3, - GDK_MOD2_MASK = 1 << 4, - GDK_MOD3_MASK = 1 << 5, - GDK_MOD4_MASK = 1 << 6, - GDK_MOD5_MASK = 1 << 7, + GDK_MOD1_MASK = 1 << 3, + GDK_MOD2_MASK = 1 << 4, + GDK_MOD3_MASK = 1 << 5, + GDK_MOD4_MASK = 1 << 6, + GDK_MOD5_MASK = 1 << 7, GDK_BUTTON1_MASK = 1 << 8, GDK_BUTTON2_MASK = 1 << 9, GDK_BUTTON3_MASK = 1 << 10, @@ -236,11 +238,11 @@ typedef enum typedef enum { - GDK_OK = 0, - GDK_ERROR = -1, + GDK_OK = 0, + GDK_ERROR = -1, GDK_ERROR_PARAM = -2, GDK_ERROR_FILE = -3, - GDK_ERROR_MEM = -4 + GDK_ERROR_MEM = -4 } GdkStatus; /** diff --git a/gdk/gdkvisual.h b/gdk/gdkvisual.h index bee6426a59..1d21bcf248 100644 --- a/gdk/gdkvisual.h +++ b/gdk/gdkvisual.h @@ -37,12 +37,7 @@ G_BEGIN_DECLS #define GDK_TYPE_VISUAL (gdk_visual_get_type ()) #define GDK_VISUAL(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_VISUAL, GdkVisual)) -#define GDK_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_VISUAL, GdkVisualClass)) #define GDK_IS_VISUAL(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_VISUAL)) -#define GDK_IS_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_VISUAL)) -#define GDK_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_VISUAL, GdkVisualClass)) - -typedef struct _GdkVisualClass GdkVisualClass; /** * GdkVisualType: @@ -88,19 +83,19 @@ typedef enum GType gdk_visual_get_type (void) G_GNUC_CONST; #ifndef GDK_MULTIHEAD_SAFE -gint gdk_visual_get_best_depth (void); -GdkVisualType gdk_visual_get_best_type (void); -GdkVisual* gdk_visual_get_system (void); -GdkVisual* gdk_visual_get_best (void); -GdkVisual* gdk_visual_get_best_with_depth (gint depth); +gint gdk_visual_get_best_depth (void); +GdkVisualType gdk_visual_get_best_type (void); +GdkVisual* gdk_visual_get_system (void); +GdkVisual* gdk_visual_get_best (void); +GdkVisual* gdk_visual_get_best_with_depth (gint depth); GdkVisual* gdk_visual_get_best_with_type (GdkVisualType visual_type); -GdkVisual* gdk_visual_get_best_with_both (gint depth, - GdkVisualType visual_type); +GdkVisual* gdk_visual_get_best_with_both (gint depth, + GdkVisualType visual_type); -void gdk_query_depths (gint **depths, - gint *count); +void gdk_query_depths (gint **depths, + gint *count); void gdk_query_visual_types (GdkVisualType **visual_types, - gint *count); + gint *count); GList* gdk_list_visuals (void); #endif diff --git a/gdk/gdkvisualprivate.h b/gdk/gdkvisualprivate.h index 05e4da8dd3..8099ec2663 100644 --- a/gdk/gdkvisualprivate.h +++ b/gdk/gdkvisualprivate.h @@ -24,6 +24,12 @@ G_BEGIN_DECLS +#define GDK_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_VISUAL, GdkVisualClass)) +#define GDK_IS_VISUAL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_VISUAL)) +#define GDK_VISUAL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_VISUAL, GdkVisualClass)) + +typedef struct _GdkVisualClass GdkVisualClass; + struct _GdkVisual { GObject parent_instance; From 29eb3fba5f3a8e85c19cd3bd404f9e88a1541805 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Dec 2010 16:27:31 -0500 Subject: [PATCH 0918/1463] Fix gdk_x11_display_text_property_to_text_list This was an incomplete attempt to get rid of the custom free function. Lets just keep it for now. Bug 637849, patch by Dan Winship. Also add a test case for this function. --- gdk/tests/Makefile.am | 4 ++++ gdk/tests/encoding.c | 46 ++++++++++++++++++++++++++++++++++++++ gdk/x11/gdkselection-x11.c | 4 ++-- 3 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 gdk/tests/encoding.c diff --git a/gdk/tests/Makefile.am b/gdk/tests/Makefile.am index 9a7531421e..e23df12557 100644 --- a/gdk/tests/Makefile.am +++ b/gdk/tests/Makefile.am @@ -23,6 +23,10 @@ TEST_PROGS += gdk-color gdk_color_SOURCES = gdk-color.c gdk_color_LDADD = $(progs_ldadd) +TEST_PROGS += encoding +encoding_SOURCES = encoding.c +encoding_LDADD = $(progs_ldadd) + CLEANFILES = \ cairosurface.png \ gdksurface.png diff --git a/gdk/tests/encoding.c b/gdk/tests/encoding.c new file mode 100644 index 0000000000..e1d0307888 --- /dev/null +++ b/gdk/tests/encoding.c @@ -0,0 +1,46 @@ +#include +#ifdef GDK_WINDOWING_X11 +#include "x11/gdkx.h" +#endif + +static void +test_to_text_list (void) +{ + GdkDisplay *display; + + display = gdk_display_get_default (); + +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_X11_DISPLAY (display)) + { + GdkAtom encoding; + gint format; + const guchar *text; + gint length; + gchar **list; + gint n; + + encoding = gdk_atom_intern ("UTF8_STRING", FALSE); + format = 8; + text = (const guchar*)"abcdef \304\201 \304\205\0ABCDEF \304\200 \304\204"; + length = 25; + n = gdk_x11_display_text_property_to_text_list (display, encoding, format, text, length, &list); + g_assert_cmpint (n, ==, 2); + g_assert (g_str_has_prefix (list[0], "abcdef ")); + g_assert (g_str_has_prefix (list[1], "ABCDEF ")); + + gdk_x11_free_text_list (list); + } +#endif +} + +int +main (int argc, char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + gdk_init (&argc, &argv); + + g_test_add_func ("/encoding/to-text-list", test_to_text_list); + + return g_test_run (); +} diff --git a/gdk/x11/gdkselection-x11.c b/gdk/x11/gdkselection-x11.c index 5a0dfeac0f..f13207b955 100644 --- a/gdk/x11/gdkselection-x11.c +++ b/gdk/x11/gdkselection-x11.c @@ -340,7 +340,7 @@ _gdk_x11_display_send_selection_notify (GdkDisplay *display, * @format: the format of the property * @text: The text data * @length: The number of items to transform - * @list: location to store a terminated array of strings in + * @list: location to store an array of strings in * the encoding of the current locale. This array should be * freed using gdk_free_text_list(). * @@ -385,7 +385,7 @@ gdk_x11_display_text_property_to_text_list (GdkDisplay *display, else { if (list) - *list = g_strdupv (local_list); + *list = local_list; else XFreeStringList (local_list); From 1e13b42b9b7820d8901b4696d61a03a060939656 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Dec 2010 17:36:19 -0500 Subject: [PATCH 0919/1463] Avoid some gtk-doc warnings --- docs/reference/gdk/gdk3-sections.txt | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 6f953809dd..ef3400d04f 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -61,7 +61,6 @@ GdkStatus GDKVAR gdk_axis_use_get_type gdk_byte_order_get_type -gdk_cap_style_get_type gdk_crossing_mode_get_type gdk_cursor_type_get_type gdk_drag_action_get_type @@ -77,17 +76,14 @@ gdk_input_mode_get_type gdk_input_source_get_type gdk_modifier_type_get_type gdk_notify_type_get_type -gdk_overlap_type_get_type gdk_property_state_get_type gdk_prop_mode_get_type gdk_scroll_direction_get_type gdk_setting_action_get_type gdk_status_get_type -gdk_subwindow_mode_get_type gdk_visibility_state_get_type gdk_visual_type_get_type gdk_window_attributes_type_get_type -gdk_window_class_get_type gdk_window_edge_get_type gdk_window_hints_get_type gdk_window_state_get_type @@ -309,7 +305,6 @@ GDK_VISUAL_GET_CLASS GdkVisualClass -GdkVisualPrivate gdk_visual_get_type
@@ -498,7 +493,6 @@ GDK_TYPE_FILTER_RETURN GDK_TYPE_GRAVITY GDK_TYPE_MODIFIER_TYPE GDK_TYPE_WINDOW_ATTRIBUTES_TYPE -GDK_TYPE_WINDOW_CLASS GDK_TYPE_WINDOW_EDGE GDK_TYPE_WINDOW_HINTS GDK_TYPE_WINDOW_TYPE @@ -509,7 +503,6 @@ GDK_TYPE_WM_FUNCTION gdk_window_get_type gdk_window_window_class_get_type -GdkWindowObject GdkWindowClass GdkWindowImpl GdkWindowImplClass @@ -555,17 +548,8 @@ GdkAtom GDK_ATOM_TO_POINTER GDK_POINTER_TO_ATOM GDK_NONE -gdk_text_property_to_text_list -gdk_text_property_to_text_list_for_display -gdk_free_text_list -gdk_text_property_to_utf8_list gdk_text_property_to_utf8_list_for_display -gdk_string_to_compound_text -gdk_string_to_compound_text_for_display -gdk_free_compound_text gdk_utf8_to_string_target -gdk_utf8_to_compound_text -gdk_utf8_to_compound_text_for_display gdk_atom_intern gdk_atom_intern_static_string gdk_atom_name @@ -631,10 +615,6 @@ gdk_threads_add_timeout gdk_threads_add_timeout_full gdk_threads_add_timeout_seconds gdk_threads_add_timeout_seconds_full - - -gdk_threads_lock -gdk_threads_unlock
@@ -691,8 +671,6 @@ GdkDevice GdkDeviceType GdkInputSource GdkInputMode -GdkDeviceKey -GdkDeviceAxis GdkAxisUse GdkGrabOwnership gdk_disable_multidevice @@ -753,9 +731,7 @@ GDK_TYPE_DEVICE GdkDeviceClass -GdkDevicePrivate GdkDeviceManagerClass -GdkDeviceManagerPrivate gdk_device_get_type gdk_device_manager_get_type gdk_device_type_get_type @@ -899,15 +875,12 @@ gdk_cursor_get_type gdk_drag_get_selection gdk_drag_abort gdk_drop_reply -gdk_drag_context_new gdk_drag_drop -gdk_drag_find_window gdk_drag_find_window_for_screen gdk_drag_context_get_source_window gdk_drag_begin gdk_drag_motion gdk_drop_finish -gdk_drag_get_protocol gdk_drag_get_protocol_for_display GdkDragProtocol GdkDragContext @@ -1016,7 +989,6 @@ GDK_IS_APP_LAUNCH_CONTEXT GDK_IS_APP_LAUNCH_CONTEXT_CLASS GDK_TYPE_APP_LAUNCH_CONTEXT GdkAppLaunchContextClass -GdkAppLaunchContextPrivate gdk_app_launch_context_get_type
From 1d41b98cf8bfe8ad7a0693cdebb852ab97929e9c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Dec 2010 17:37:00 -0500 Subject: [PATCH 0920/1463] Add deprecation guards for deprecated GdkAppLaunchContext API Also adapt the docs to not use deprecated API. --- docs/reference/gtk/migrating-2to3.xml | 2 +- gdk/gdk.c | 2 +- gdk/gdkapplaunchcontext.c | 4 ++-- gdk/gdkapplaunchcontext.h | 2 ++ gdk/gdkdisplay.c | 5 +++-- gtk/gtkshow.c | 2 +- 6 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index f10f72e422..a6f3ca8c36 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -144,7 +144,7 @@ GError *error = NULL; info = g_desktop_app_info_new ("epiphany.desktop"); - context = gdk_app_launch_context_new (); + context = gdk_display_get_app_launch_context (display); g_app_info_launch (info, NULL, context, &error); if (error) diff --git a/gdk/gdk.c b/gdk/gdk.c index 79f0b84e9b..1667226ff5 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -57,7 +57,7 @@ * Use this macro to guard code that is specific to the X11-backend. * Since GDK may be configured with multiple backends, an additional * runtime check for the used backend is recommended: - *
+ * * * Backend-specific code * diff --git a/gdk/gdkapplaunchcontext.c b/gdk/gdkapplaunchcontext.c index 88d5a538d0..5f9aa249c5 100644 --- a/gdk/gdkapplaunchcontext.c +++ b/gdk/gdkapplaunchcontext.c @@ -41,9 +41,9 @@ * * GdkAppLaunchContext *context; * - * context = gdk_app_launch_context_new (); + * context = gdk_display_get_app_launch_context (display); * - * gdk_app_launch_context_set_screen (my_screen); + * gdk_app_launch_context_set_screen (screen); * gdk_app_launch_context_set_timestamp (event->time); * * if (!g_app_info_launch_default_for_uri ("http://www.gtk.org", context, &error)) diff --git a/gdk/gdkapplaunchcontext.h b/gdk/gdkapplaunchcontext.h index ad1b1f1760..96aeeba967 100644 --- a/gdk/gdkapplaunchcontext.h +++ b/gdk/gdkapplaunchcontext.h @@ -40,9 +40,11 @@ G_BEGIN_DECLS GType gdk_app_launch_context_get_type (void); +#ifndef GDK_DISABLE_DEPRECATED GdkAppLaunchContext *gdk_app_launch_context_new (void); void gdk_app_launch_context_set_display (GdkAppLaunchContext *context, GdkDisplay *display); +#endif void gdk_app_launch_context_set_screen (GdkAppLaunchContext *context, GdkScreen *screen); void gdk_app_launch_context_set_desktop (GdkAppLaunchContext *context, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 117f906c1e..8941d38a17 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2218,8 +2218,9 @@ gdk_display_real_get_app_launch_context (GdkDisplay *display) { GdkAppLaunchContext *ctx; - ctx = gdk_app_launch_context_new (); - gdk_app_launch_context_set_display (ctx, display); + ctx = g_object_new (GDK_TYPE_APP_LAUNCH_CONTEXT, + "display", display, + NULL); return ctx; } diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c index e4e5d50d4e..551f393b4e 100644 --- a/gtk/gtkshow.c +++ b/gtk/gtkshow.c @@ -63,7 +63,7 @@ gtk_show_uri (GdkScreen *screen, g_return_val_if_fail (uri != NULL, FALSE); - context = gdk_app_launch_context_new (); + context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen)); gdk_app_launch_context_set_screen (context, screen); gdk_app_launch_context_set_timestamp (context, timestamp); From bde1d072e5bce138965c7df6c4b1e28a8c01c2be Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Dec 2010 20:00:19 -0500 Subject: [PATCH 0921/1463] Don't use gdk_{pointer,keyboard}_grab Instead use gdk_device_grab. --- gtk/gtkhsv.c | 52 +++++++++++++++++++++------------------- gtk/gtktreeview.c | 61 +++++++++++++++++++++++++++++++++-------------- tests/testgtk.c | 59 +++++++++++++++++++++++++-------------------- 3 files changed, 103 insertions(+), 69 deletions(-) diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 80128f98f0..2d710514a5 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -669,21 +669,24 @@ compute_v (GtkHSV *hsv, /* Event handlers */ static void -set_cross_grab (GtkHSV *hsv, - guint32 time) +set_cross_grab (GtkHSV *hsv, + GdkDevice *device, + guint32 time) { GtkHSVPrivate *priv = hsv->priv; GdkCursor *cursor; cursor = gdk_cursor_new_for_display (gtk_widget_get_display (GTK_WIDGET (hsv)), GDK_CROSSHAIR); - gdk_pointer_grab (priv->window, FALSE, - (GDK_POINTER_MOTION_MASK - | GDK_POINTER_MOTION_HINT_MASK - | GDK_BUTTON_RELEASE_MASK), - NULL, - cursor, - time); + gdk_device_grab (device, + priv->window, + GDK_OWNERSHIP_NONE, + FALSE, + GDK_POINTER_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK + | GDK_BUTTON_RELEASE_MASK, + cursor, + time); g_object_unref (cursor); } @@ -709,15 +712,15 @@ gtk_hsv_button_press (GtkWidget *widget, if (priv->mode != DRAG_NONE || event->button != 1) return FALSE; - + x = event->x; y = event->y; - + if (is_in_ring (hsv, x, y)) { priv->mode = DRAG_H; - set_cross_grab (hsv, event->time); - + set_cross_grab (hsv, gdk_event_get_device (event), event->time); + gtk_hsv_set_color (hsv, compute_v (hsv, x, y), priv->s, @@ -725,26 +728,26 @@ gtk_hsv_button_press (GtkWidget *widget, gtk_widget_grab_focus (widget); priv->focus_on_ring = TRUE; - + return TRUE; } - + if (is_in_triangle (hsv, x, y)) { gdouble s, v; - + priv->mode = DRAG_SV; - set_cross_grab (hsv, event->time); - + set_cross_grab (hsv, gdk_event_get_device (event), event->time); + compute_sv (hsv, x, y, &s, &v); gtk_hsv_set_color (hsv, priv->h, s, v); gtk_widget_grab_focus (widget); priv->focus_on_ring = FALSE; - + return TRUE; } - + return FALSE; } @@ -759,14 +762,13 @@ gtk_hsv_button_release (GtkWidget *widget, if (priv->mode == DRAG_NONE || event->button != 1) return FALSE; - + /* Set the drag mode to DRAG_NONE so that signal handlers for "catched" * can see that this is the final color state. */ - mode = priv->mode; priv->mode = DRAG_NONE; - + x = event->x; y = event->y; @@ -786,8 +788,8 @@ gtk_hsv_button_release (GtkWidget *widget, g_assert_not_reached (); } - gdk_display_pointer_ungrab (gdk_window_get_display (event->window), - event->time); + gdk_device_ungrab (gdk_event_get_device (event), event->time); + return TRUE; } diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index e9f64e23dd..58f3bad8e3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -3282,14 +3282,18 @@ gtk_tree_view_button_press (GtkWidget *widget, return TRUE; } - if (gdk_pointer_grab (_gtk_tree_view_column_get_window (column), FALSE, - GDK_POINTER_MOTION_HINT_MASK | - GDK_BUTTON1_MOTION_MASK | - GDK_BUTTON_RELEASE_MASK, - NULL, NULL, event->time)) - return FALSE; + if (gdk_device_grab (gdk_event_get_device ((GdkEvent*)event), + _gtk_tree_view_column_get_window (column), + GDK_OWNERSHIP_NONE, + FALSE, + GDK_POINTER_MOTION_HINT_MASK + | GDK_BUTTON1_MOTION_MASK + | GDK_BUTTON_RELEASE_MASK, + NULL, + event->time) != GDK_GRAB_SUCCESS) + return FALSE; - gtk_grab_add (widget); + gtk_grab_add (widget); tree_view->priv->in_column_resize = TRUE; _gtk_tree_view_column_set_resized_width (column, gtk_tree_view_column_get_width (column) - @@ -3326,12 +3330,15 @@ gtk_tree_view_button_release_drag_column (GtkWidget *widget, GtkWidget *button; GList *l; gboolean rtl; + GdkDevice *device, *other; tree_view = GTK_TREE_VIEW (widget); rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), GDK_CURRENT_TIME); - gdk_display_keyboard_ungrab (gtk_widget_get_display (widget), GDK_CURRENT_TIME); + device = gdk_event_get_device ((GdkEvent*)event); + other = gdk_device_get_associated_device (device); + gdk_device_ungrab (device, event->time); + gdk_device_ungrab (other, event->time); /* Move the button back */ button = gtk_tree_view_column_get_button (tree_view->priv->drag_column); @@ -3406,8 +3413,7 @@ gtk_tree_view_button_release_column_resize (GtkWidget *widget, tree_view->priv->in_column_resize = FALSE; gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gdk_window_get_display (event->window), - event->time); + gdk_device_ungrab (gdk_event_get_device ((GdkEvent*)event), event->time); return TRUE; } @@ -9713,6 +9719,7 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (tree_view)); GdkDisplay *display = gdk_screen_get_display (screen); GtkWidget *button; + GdkDevice *pointer, *keyboard; g_return_if_fail (tree_view->priv->column_drag_info == NULL); g_return_if_fail (tree_view->priv->cur_reorder == NULL); @@ -9801,13 +9808,31 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, gtk_main_iteration (); tree_view->priv->in_column_drag = TRUE; - gdk_pointer_grab (tree_view->priv->drag_window, - FALSE, - GDK_POINTER_MOTION_MASK|GDK_BUTTON_RELEASE_MASK, - NULL, NULL, GDK_CURRENT_TIME); - gdk_keyboard_grab (tree_view->priv->drag_window, - FALSE, - GDK_CURRENT_TIME); + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + { + keyboard = device; + pointer = gdk_device_get_associated_device (device); + } + else + { + pointer = device; + keyboard = gdk_device_get_associated_device (device); + } + + gdk_device_grab (pointer, + tree_view->priv->drag_window, + GDK_OWNERSHIP_NONE, + FALSE, + GDK_POINTER_MOTION_MASK|GDK_BUTTON_RELEASE_MASK, + NULL, + GDK_CURRENT_TIME); + gdk_device_grab (keyboard, + tree_view->priv->drag_window, + GDK_OWNERSHIP_NONE, + FALSE, + GDK_KEY_PRESS_MASK|GDK_KEY_RELEASE_MASK, + NULL, + GDK_CURRENT_TIME); } static void diff --git a/tests/testgtk.c b/tests/testgtk.c index f560c4ef99..0f5bb0f1b0 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -6935,23 +6935,27 @@ shape_pressed (GtkWidget *widget, GdkEventButton *event) p->y = (int) event->y; gtk_grab_add (widget); - gdk_pointer_grab (gtk_widget_get_window (widget), TRUE, - GDK_BUTTON_RELEASE_MASK | - GDK_BUTTON_MOTION_MASK | - GDK_POINTER_MOTION_HINT_MASK, - NULL, NULL, 0); + gdk_device_grab (gdk_event_get_device ((GdkEvent*)event), + gtk_widget_get_window (widget), + GDK_OWNERSHIP_NONE, + TRUE, + GDK_BUTTON_RELEASE_MASK | + GDK_BUTTON_MOTION_MASK | + GDK_POINTER_MOTION_HINT_MASK, + NULL, + event->time); } static void -shape_released (GtkWidget *widget) +shape_released (GtkWidget *widget, + GdkEventButton *event) { gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), - GDK_CURRENT_TIME); + gdk_device_ungrab (gdk_event_get_device ((GdkEvent*)event), event->time); } static void -shape_motion (GtkWidget *widget, +shape_motion (GtkWidget *widget, GdkEventMotion *event) { gint xp, yp; @@ -8640,21 +8644,20 @@ destroy_properties (GtkWidget *widget, } static gint -property_query_event (GtkWidget *widget, - GdkEvent *event, - struct PropertiesData *data) +property_query_event (GtkWidget *widget, + GdkEvent *event, + struct PropertiesData *data) { GtkWidget *res_widget = NULL; if (!data->in_query) return FALSE; - + if (event->type == GDK_BUTTON_RELEASE) { gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), - GDK_CURRENT_TIME); - + gdk_device_ungrab (gdk_event_get_device (event), GDK_CURRENT_TIME); + res_widget = find_widget_at_pointer (gtk_widget_get_display (widget)); if (res_widget) { @@ -8674,23 +8677,27 @@ query_properties (GtkButton *button, struct PropertiesData *data) { GtkWidget *widget = GTK_WIDGET (button); - gint failure; + GdkDisplay *display; + GdkDeviceManager *device_manager; + GdkDevice *device; g_signal_connect (button, "event", G_CALLBACK (property_query_event), data); + display = gtk_widget_get_display (widget); if (!data->cursor) - data->cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), - GDK_TARGET); - - failure = gdk_pointer_grab (gtk_widget_get_window (widget), - TRUE, - GDK_BUTTON_RELEASE_MASK, - NULL, - data->cursor, - GDK_CURRENT_TIME); + data->cursor = gdk_cursor_new_for_display (display, GDK_TARGET); + device_manager = gdk_display_get_device_manager (display); + device = gdk_device_manager_get_client_pointer (device_manager); + gdk_device_grab (device, + gtk_widget_get_window (widget), + GDK_OWNERSHIP_NONE, + TRUE, + GDK_BUTTON_RELEASE_MASK, + data->cursor, + GDK_CURRENT_TIME); gtk_grab_add (widget); data->in_query = TRUE; From 436e75c34c5304d53c11fd2d63646be4eef9cb8b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 24 Dec 2010 20:01:24 -0500 Subject: [PATCH 0922/1463] Add deprecation guards for deprecated grab APIs --- gdk/gdkdisplay.h | 2 ++ gdk/gdkmain.h | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index c7732f35de..4307bd9524 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -132,11 +132,13 @@ GdkScreen * gdk_display_get_screen (GdkDisplay *display, GdkScreen * gdk_display_get_default_screen (GdkDisplay *display); #ifndef GDK_MULTIDEVICE_SAFE +#ifndef GDK_DISABLE_DEPRECATED void gdk_display_pointer_ungrab (GdkDisplay *display, guint32 time_); void gdk_display_keyboard_ungrab (GdkDisplay *display, guint32 time_); gboolean gdk_display_pointer_is_grabbed (GdkDisplay *display); +#endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ gboolean gdk_display_device_is_grabbed (GdkDisplay *display, diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index 7b6c624b08..963654236b 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -71,14 +71,16 @@ G_CONST_RETURN gchar *gdk_get_display_arg_name (void); /** * gdk_get_display: * - * Gets the name of the display, which usually comes from the DISPLAY - * environment variable or the command line option. + * Gets the name of the display, which usually comes from the + * DISPLAY environment variable or the + * command line option. * * Returns: the name of the display. */ -gchar* gdk_get_display (void); +gchar* gdk_get_display (void); #ifndef GDK_MULTIDEVICE_SAFE +#ifndef GDK_DISABLE_DEPRECATED GdkGrabStatus gdk_pointer_grab (GdkWindow *window, gboolean owner_events, GdkEventMask event_mask, @@ -88,6 +90,7 @@ GdkGrabStatus gdk_pointer_grab (GdkWindow *window, GdkGrabStatus gdk_keyboard_grab (GdkWindow *window, gboolean owner_events, guint32 time_); +#endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ #ifndef GDK_MULTIHEAD_SAFE From 27ce9421d001e60e43b7f6face8552652356564c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 25 Dec 2010 00:02:39 -0500 Subject: [PATCH 0923/1463] Fix up GDK docs --- docs/reference/gdk/Makefile.am | 171 +++++++++++++-------------- docs/reference/gdk/gdk-docs.sgml | 3 +- docs/reference/gdk/gdk3-sections.txt | 78 +++++++++--- docs/reference/gdk/gdk3.types | 14 ++- gdk/gdk.c | 9 +- gdk/gdkdevice.c | 13 ++ gdk/gdkdevicemanager.c | 110 +++++++++-------- gdk/gdkdevicemanagerprivate.h | 1 + gdk/gdkdisplay.c | 47 ++++++-- gdk/gdkdisplay.h | 10 +- gdk/gdkdisplaymanager.c | 12 ++ gdk/gdkdndprivate.h | 1 + gdk/gdkmain.h | 4 +- gdk/gdkvisual.c | 111 ++++++++--------- gdk/gdkvisualprivate.h | 1 + gdk/gdkwindow.c | 20 +++- gdk/x11/gdkmain-x11.c | 36 +++++- gdk/x11/gdkx.h | 23 +--- gdk/x11/gdkx11screen.h | 22 ++-- 19 files changed, 412 insertions(+), 274 deletions(-) diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am index 136993caf5..f8441217c3 100644 --- a/docs/reference/gdk/Makefile.am +++ b/docs/reference/gdk/Makefile.am @@ -20,15 +20,15 @@ HFILE_GLOB=$(top_srcdir)/gdk/*.h $(top_srcdir)/gdk/x11/gdkx.h CFILE_GLOB=$(top_srcdir)/gdk/*.c # Header files to ignore when scanning -IGNORE_HFILES= \ +IGNORE_HFILES= \ gdkintl.h \ gdkmarshalers.h \ gdkkeysyms.h \ gdkinternals.h \ gdkprivate.h \ - gdkpoly-generic.h \ + gdk*private.h \ keyname-table.h \ - win32 \ + win32 \ x11 \ quartz @@ -38,10 +38,10 @@ EXTRA_HFILES= \ # CFLAGS and LDFLAGS for compiling scan program. Only needed # if $(DOC_MODULE).types is non-empty. -INCLUDES = \ - -I$(top_srcdir) \ - -I$(top_builddir) \ - -I$(top_builddir)/gdk \ +INCLUDES = \ + -I$(top_srcdir) \ + -I$(top_builddir) \ + -I$(top_builddir)/gdk \ $(GTK_DEBUG_FLAGS) \ $(GDK_DEP_CFLAGS) @@ -56,86 +56,85 @@ content_files = \ multihead.sgml # Images to copy into HTML directory -HTML_IMAGES = \ +HTML_IMAGES = \ images/rotated-text.png \ - \ - images/X_cursor.png \ - images/arrow.png \ - images/based_arrow_down.png \ - images/based_arrow_up.png \ - images/boat.png \ - images/bogosity.png \ - images/bottom_left_corner.png \ - images/bottom_right_corner.png \ - images/bottom_side.png \ - images/bottom_tee.png \ - images/box_spiral.png \ - images/center_ptr.png \ - images/circle.png \ - images/clock.png \ - images/coffee_mug.png \ - images/cross.png \ - images/cross_reverse.png \ - images/crosshair.png \ - images/diamond_cross.png \ - images/dot.png \ - images/dotbox.png \ - images/double_arrow.png \ - images/draft_large.png \ - images/draft_small.png \ - images/draped_box.png \ - images/exchange.png \ - images/fleur.png \ - images/gobbler.png \ - images/gumby.png \ - images/hand1.png \ - images/hand2.png \ - images/heart.png \ - images/icon.png \ - images/iron_cross.png \ - images/left_ptr.png \ - images/left_side.png \ - images/left_tee.png \ - images/leftbutton.png \ - images/ll_angle.png \ - images/lr_angle.png \ - images/man.png \ - images/middlebutton.png \ - images/mouse.png \ - images/pencil.png \ - images/pirate.png \ - images/plus.png \ - images/question_arrow.png \ - images/right_ptr.png \ - images/right_side.png \ - images/right_tee.png \ - images/rightbutton.png \ - images/rtl_logo.png \ - images/sailboat.png \ - images/sb_down_arrow.png \ - images/sb_h_double_arrow.png \ - images/sb_left_arrow.png \ - images/sb_right_arrow.png \ - images/sb_up_arrow.png \ - images/sb_v_double_arrow.png \ - images/shuttle.png \ - images/sizing.png \ - images/spider.png \ - images/spraycan.png \ - images/star.png \ - images/target.png \ - images/tcross.png \ - images/top_left_arrow.png \ - images/top_left_corner.png \ - images/top_right_corner.png \ - images/top_side.png \ - images/top_tee.png \ - images/trek.png \ - images/ul_angle.png \ - images/umbrella.png \ - images/ur_angle.png \ - images/watch.png \ - images/xterm.png + images/X_cursor.png \ + images/arrow.png \ + images/based_arrow_down.png \ + images/based_arrow_up.png \ + images/boat.png \ + images/bogosity.png \ + images/bottom_left_corner.png \ + images/bottom_right_corner.png \ + images/bottom_side.png \ + images/bottom_tee.png \ + images/box_spiral.png \ + images/center_ptr.png \ + images/circle.png \ + images/clock.png \ + images/coffee_mug.png \ + images/cross.png \ + images/cross_reverse.png \ + images/crosshair.png \ + images/diamond_cross.png \ + images/dot.png \ + images/dotbox.png \ + images/double_arrow.png \ + images/draft_large.png \ + images/draft_small.png \ + images/draped_box.png \ + images/exchange.png \ + images/fleur.png \ + images/gobbler.png \ + images/gumby.png \ + images/hand1.png \ + images/hand2.png \ + images/heart.png \ + images/icon.png \ + images/iron_cross.png \ + images/left_ptr.png \ + images/left_side.png \ + images/left_tee.png \ + images/leftbutton.png \ + images/ll_angle.png \ + images/lr_angle.png \ + images/man.png \ + images/middlebutton.png \ + images/mouse.png \ + images/pencil.png \ + images/pirate.png \ + images/plus.png \ + images/question_arrow.png \ + images/right_ptr.png \ + images/right_side.png \ + images/right_tee.png \ + images/rightbutton.png \ + images/rtl_logo.png \ + images/sailboat.png \ + images/sb_down_arrow.png \ + images/sb_h_double_arrow.png \ + images/sb_left_arrow.png \ + images/sb_right_arrow.png \ + images/sb_up_arrow.png \ + images/sb_v_double_arrow.png \ + images/shuttle.png \ + images/sizing.png \ + images/spider.png \ + images/spraycan.png \ + images/star.png \ + images/target.png \ + images/tcross.png \ + images/top_left_arrow.png \ + images/top_left_corner.png \ + images/top_right_corner.png \ + images/top_side.png \ + images/top_tee.png \ + images/trek.png \ + images/ul_angle.png \ + images/umbrella.png \ + images/ur_angle.png \ + images/watch.png \ + images/xterm.png # Extra options to supply to gtkdoc-fixref FIXXREF_OPTIONS= \ diff --git a/docs/reference/gdk/gdk-docs.sgml b/docs/reference/gdk/gdk-docs.sgml index ed18e2fbbd..7be666074f 100644 --- a/docs/reference/gdk/gdk-docs.sgml +++ b/docs/reference/gdk/gdk-docs.sgml @@ -20,6 +20,8 @@ + + @@ -35,7 +37,6 @@ - diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index ef3400d04f..6aa124debf 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -119,11 +119,13 @@ gdk_display_is_closed gdk_display_get_event gdk_display_peek_event gdk_display_put_event +gdk_display_has_pending gdk_display_add_client_message_filter gdk_display_set_double_click_time gdk_display_set_double_click_distance gdk_display_get_pointer gdk_display_get_device_state +gdk_display_list_devices gdk_display_get_window_at_pointer gdk_display_get_window_at_device_position GdkDisplayPointerHooks @@ -143,6 +145,9 @@ gdk_display_store_clipboard gdk_display_supports_shapes gdk_display_supports_input_shapes gdk_display_supports_composite +gdk_display_get_app_launch_context +gdk_display_notify_startup_complete + GDK_DISPLAY GDK_DISPLAY_OBJECT @@ -166,6 +171,8 @@ gdk_display_manager_get gdk_display_manager_get_default_display gdk_display_manager_set_default_display gdk_display_manager_list_displays +gdk_display_manager_open_display + GDK_DISPLAY_MANAGER GDK_DISPLAY_MANAGER_CLASS @@ -664,19 +671,14 @@ gdk_keymap_get_type
-GdkDeviceManager -gdkdevicemanager -GdkDeviceManager +GdkDevice +gdkdevice GdkDevice -GdkDeviceType GdkInputSource GdkInputMode GdkAxisUse +GdkDeviceType GdkGrabOwnership -gdk_disable_multidevice -gdk_device_manager_get_display -gdk_device_manager_list_devices -gdk_device_manager_get_client_pointer gdk_device_get_name @@ -689,6 +691,7 @@ gdk_device_get_key gdk_device_set_axis_use gdk_device_get_axis_use gdk_device_get_associated_device +gdk_device_list_slave_devices gdk_device_get_device_type gdk_device_get_display gdk_device_get_has_cursor @@ -716,12 +719,6 @@ GDK_TYPE_INPUT_MODE GDK_TYPE_INPUT_SOURCE GDK_TYPE_DEVICE_TYPE GDK_TYPE_GRAB_OWNERSHIP -GDK_DEVICE_MANAGER -GDK_DEVICE_MANAGER_CLASS -GDK_DEVICE_MANAGER_GET_CLASS -GDK_IS_DEVICE_MANAGER -GDK_IS_DEVICE_MANAGER_CLASS -GDK_TYPE_DEVICE_MANAGER GDK_DEVICE GDK_DEVICE_CLASS GDK_DEVICE_GET_CLASS @@ -731,13 +728,33 @@ GDK_TYPE_DEVICE GdkDeviceClass -GdkDeviceManagerClass gdk_device_get_type -gdk_device_manager_get_type gdk_device_type_get_type GDK_MAX_TIMECOORD_AXES
+
+GdkDeviceManager +gdkdevicemanager +GdkDeviceManager +gdk_disable_multidevice +gdk_device_manager_get_display +gdk_device_manager_list_devices +gdk_device_manager_get_client_pointer + + +GDK_DEVICE_MANAGER +GDK_DEVICE_MANAGER_CLASS +GDK_DEVICE_MANAGER_GET_CLASS +GDK_IS_DEVICE_MANAGER +GDK_IS_DEVICE_MANAGER_CLASS +GDK_TYPE_DEVICE_MANAGER + + +GdkDeviceManagerClass +gdk_device_manager_get_type +
+
Events events @@ -747,7 +764,6 @@ GDK_CURRENT_TIME GDK_PRIORITY_EVENTS GDK_PRIORITY_REDRAW - gdk_events_pending gdk_event_peek @@ -783,6 +799,8 @@ gdk_event_set_screen gdk_event_get_screen gdk_event_get_device gdk_event_set_device +gdk_event_get_source_device +gdk_event_set_source_device gdk_setting_get @@ -872,27 +890,31 @@ gdk_cursor_get_type
Drag and Drop dnd +GdkDragContext gdk_drag_get_selection gdk_drag_abort gdk_drop_reply gdk_drag_drop gdk_drag_find_window_for_screen -gdk_drag_context_get_source_window gdk_drag_begin +gdk_drag_begin_for_device gdk_drag_motion gdk_drop_finish gdk_drag_get_protocol_for_display GdkDragProtocol -GdkDragContext GdkDragAction gdk_drag_status gdk_drag_drop_succeeded + gdk_drag_context_get_actions gdk_drag_context_get_suggested_action gdk_drag_context_get_selected_action gdk_drag_context_list_targets gdk_drag_context_get_device gdk_drag_context_set_device +gdk_drag_context_get_source_window +gdk_drag_context_get_dest_window +gdk_drag_context_get_protocol GDK_DRAG_CONTEXT @@ -968,6 +990,24 @@ gdk_x11_free_text_list gdk_x11_display_string_to_compound_text gdk_x11_display_utf8_to_compound_text gdk_x11_free_compound_text + + +gdk_x11_app_launch_context_get_type +gdk_x11_cursor_get_type +gdk_x11_device_core_get_type +gdk_x11_device_manager_core_get_type +gdk_x11_device_manager_xi2_get_type +gdk_x11_device_manager_xi_get_type +gdk_x11_device_xi2_get_type +gdk_x11_device_xi_get_type +gdk_x11_display_get_type +gdk_x11_display_manager_get_type +gdk_x11_drag_context_get_type +gdk_x11_keymap_get_type +gdk_x11_screen_get_type +gdk_x11_visual_get_type +gdk_x11_window_get_type +gdk_window_impl_x11_get_type
diff --git a/docs/reference/gdk/gdk3.types b/docs/reference/gdk/gdk3.types index bb8607d4f8..abf4374715 100644 --- a/docs/reference/gdk/gdk3.types +++ b/docs/reference/gdk/gdk3.types @@ -1,9 +1,13 @@ #include -gdk_display_get_type -gdk_display_manager_get_type -gdk_screen_get_type -gdk_window_get_type -gdk_keymap_get_type +gdk_app_launch_context_get_type +gdk_cursor_get_type gdk_device_get_type gdk_device_manager_get_type +gdk_display_get_type +gdk_display_manager_get_type +gdk_drag_context_get_type +gdk_keymap_get_type +gdk_screen_get_type +gdk_visual_get_type +gdk_window_get_type diff --git a/gdk/gdk.c b/gdk/gdk.c index 1667226ff5..e7c7a0c49d 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -58,9 +58,7 @@ * Since GDK may be configured with multiple backends, an additional * runtime check for the used backend is recommended: * - * - * Backend-specific code - * + * |[ * #ifdef GDK_WINDOWING_X11 * if (GDK_IS_X11_DISPLAY (display)) * { @@ -76,8 +74,7 @@ * else * #endif * g_error ("Unsupported GDK backend"); - * - * + * ]| */ /** @@ -1091,7 +1088,7 @@ gdk_set_program_class (const char *program_class) * any way and doesn't observe the presence of XInput 2. * * Since: 3.0 - **/ + */ void gdk_disable_multidevice (void) { diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 54cb7fac6e..714c8cd123 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -24,6 +24,19 @@ #include "gdkinternals.h" #include "gdkintl.h" +/** + * SECTION:gdkdevice + * @Short_description: Object representing an input device + * @Title: GdkDevice + * @See_also: #GdkDeviceManager + * + * The #GdkDevice object represents a single input device. + * + * See the #GdkDeviceManager documentation for more information + * about the various kinds of master and slave devices, and their + * relationships. + */ + typedef struct _GdkAxisInfo GdkAxisInfo; struct _GdkAxisInfo diff --git a/gdk/gdkdevicemanager.c b/gdk/gdkdevicemanager.c index ab546516d9..33fd1082ba 100644 --- a/gdk/gdkdevicemanager.c +++ b/gdk/gdkdevicemanager.c @@ -27,66 +27,82 @@ /** * SECTION:gdkdevicemanager * @Short_description: Functions for handling input devices - * @Long_description: In addition to a single pointer and keyboard for user interface input, GDK - * contains support for a variety of input devices, including graphics tablets, - * touchscreens and multiple pointers/keyboards interacting simultaneously with - * the user interface. Under X, the support for multiple input devices is done - * through the XInput 2 extension, which also supports - * additional features such as sub-pixel positioning information and additional - * device-dependent information. * @Title: GdkDeviceManager - * @See_also: #GdkDevice, #GdkEvent, gdk_disable_multidevice() + * @See_also: #GdkDevice, #GdkEvent * - * By default, and if the platform supports it, GDK is aware of multiple keyboard/pointer pairs - * and multitouch devices, this behavior can be changed by calling gdk_disable_multidevice() - * before gdk_display_open(), although there would be rarely a reason to do that. For a widget - * or window to be dealt as multipointer aware, gdk_window_set_support_multidevice() or + * In addition to a single pointer and keyboard for user interface input, + * GDK contains support for a variety of input devices, including graphics + * tablets, touchscreens and multiple pointers/keyboards interacting + * simultaneously with the user interface. Under X, the support for multiple + * input devices is done through the XInput 2 extension, + * which also supports additional features such as sub-pixel positioning + * information and additional device-dependent information. + * + * By default, and if the platform supports it, GDK is aware of multiple + * keyboard/pointer pairs and multitouch devices, this behavior can be + * changed by calling gdk_disable_multidevice() before gdk_display_open(), + * although there would be rarely a reason to do that. For a widget or + * window to be dealt as multipointer aware, + * gdk_window_set_support_multidevice() or * gtk_widget_set_support_multidevice() must have been called on it. * - * Conceptually, in multidevice mode there are 2 device types, virtual devices (or master devices) - * are represented by the pointer cursors and keyboard foci that are seen on the screen. physical - * devices (or slave devices) represent the hardware that is controlling the virtual devices, and - * thus has no visible cursor on the screen. + * Conceptually, in multidevice mode there are 2 device types, virtual + * devices (or master devices) are represented by the pointer cursors + * and keyboard foci that are seen on the screen. Physical devices (or + * slave devices) represent the hardware that is controlling the virtual + * devices, and thus has no visible cursor on the screen. * - * Virtual devices are always paired, there is a keyboard device for every pointer device, - * associations between devices may be inspected through gdk_device_get_associated_device(). + * Virtual devices are always paired, there is a keyboard device for every + * pointer device, associations between devices may be inspected through + * gdk_device_get_associated_device(). * - * There may be several virtual devices, and several physical devices could be controlling each of - * these virtual devices. Physical devices may also be "floating", which means they are not attached - * to any virtual device. + * There may be several virtual devices, and several physical devices could + * be controlling each of these virtual devices. Physical devices may also + * be "floating", which means they are not attached to any virtual device. * - * By default, GDK will automatically listen for events coming from all master devices, setting the - * #GdkDevice for all events coming from input devices + * By default, GDK will automatically listen for events coming from all + * master devices, setting the #GdkDevice for all events coming from input + * devices, * - * Events containing device information are #GDK_MOTION_NOTIFY, #GDK_BUTTON_PRESS, #GDK_2BUTTON_PRESS, - * #GDK_3BUTTON_PRESS, #GDK_BUTTON_RELEASE, #GDK_SCROLL, #GDK_KEY_PRESS, #GDK_KEY_RELEASE, - * #GDK_ENTER_NOTIFY, #GDK_LEAVE_NOTIFY, #GDK_FOCUS_CHANGE, #GDK_PROXIMITY_IN, #GDK_PROXIMITY_OUT, - * #GDK_DRAG_ENTER, #GDK_DRAG_LEAVE, #GDK_DRAG_MOTION, #GDK_DRAG_STATUS, #GDK_DROP_START, - * #GDK_DROP_FINISHED and #GDK_GRAB_BROKEN. + * Events containing device information are #GDK_MOTION_NOTIFY, + * #GDK_BUTTON_PRESS, #GDK_2BUTTON_PRESS, #GDK_3BUTTON_PRESS, + * #GDK_BUTTON_RELEASE, #GDK_SCROLL, #GDK_KEY_PRESS, #GDK_KEY_RELEASE, + * #GDK_ENTER_NOTIFY, #GDK_LEAVE_NOTIFY, #GDK_FOCUS_CHANGE, + * #GDK_PROXIMITY_IN, #GDK_PROXIMITY_OUT, #GDK_DRAG_ENTER, #GDK_DRAG_LEAVE, + * #GDK_DRAG_MOTION, #GDK_DRAG_STATUS, #GDK_DROP_START, #GDK_DROP_FINISHED + * and #GDK_GRAB_BROKEN. * - * , although gdk_window_set_support_multidevice() has to be called on #GdkWindow in order to - * support additional features of multiple pointer interaction, such as multiple, per-device enter/leave - * events. The default setting will emit just one enter/leave event pair for all devices on the window. - * See gdk_window_set_support_multidevice() documentation for more information. + * although gdk_window_set_support_multidevice() has to be called on + * #GdkWindows in order to support additional features of multiple pointer + * interaction, such as multiple, per-device enter/leave events. The default + * setting will emit just one enter/leave event pair for all devices on the + * window. See gdk_window_set_support_multidevice() documentation for more + * information. * - * In order to listen for events coming from other than a virtual device, gdk_window_set_device_events() - * must be called. Generally, this function can be used to modify the event mask for any given device. + * In order to listen for events coming from other than a virtual device, + * gdk_window_set_device_events() must be called. Generally, this function + * can be used to modify the event mask for any given device. * - * Input devices may also provide additional information besides X/Y. For example, graphics tablets may - * also provide pressure and X/Y tilt information. This information is device-dependent, and may be - * queried through gdk_device_get_axis(). In multidevice mode, virtual devices will change axes in order - * to always represent the physical device that is routing events through it. Whenever the physical device - * changes, the #GdkDevice:n-axes property will be notified, and gdk_device_list_axes() will return the - * new device axes. + * Input devices may also provide additional information besides X/Y. + * For example, graphics tablets may also provide pressure and X/Y tilt + * information. This information is device-dependent, and may be + * queried through gdk_device_get_axis(). In multidevice mode, virtual + * devices will change axes in order to always represent the physical + * device that is routing events through it. Whenever the physical device + * changes, the #GdkDevice:n-axes property will be notified, and + * gdk_device_list_axes() will return the new device axes. * - * Devices may also have associated keys or macro buttons. Such keys can be - * globally set to map into normal X keyboard events. The mapping is set using gdk_device_set_key(). + * Devices may also have associated keys or + * macro buttons. Such keys can be globally set to map into normal X + * keyboard events. The mapping is set using gdk_device_set_key(). * - * In order to query the device hierarchy and be aware of changes in the device hierarchy (such as - * virtual devices being created or removed, or physical devices being plugged or unplugged), GDK - * provides #GdkDeviceManager. On X11, multidevice support is implemented through XInput 2. Unless - * gdk_disable_multidevice() is called, the XInput 2.x #GdkDeviceManager implementation will be used - * as input source, else either the core or XInput 1.x implementations will be used. + * In order to query the device hierarchy and be aware of changes in the + * device hierarchy (such as virtual devices being created or removed, or + * physical devices being plugged or unplugged), GDK provides + * #GdkDeviceManager. On X11, multidevice support is implemented through + * XInput 2. Unless gdk_disable_multidevice() is called, the XInput 2.x + * #GdkDeviceManager implementation will be used as input source, else + * either the core or XInput 1.x implementations will be used. */ static void gdk_device_manager_set_property (GObject *object, diff --git a/gdk/gdkdevicemanagerprivate.h b/gdk/gdkdevicemanagerprivate.h index 543f7a99ab..df5a046961 100644 --- a/gdk/gdkdevicemanagerprivate.h +++ b/gdk/gdkdevicemanagerprivate.h @@ -36,6 +36,7 @@ struct _GdkDeviceManager { GObject parent_instance; + /*< private >*/ GdkDisplay *display; }; diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 8941d38a17..a3dd068674 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -2271,8 +2271,8 @@ gdk_drag_get_protocol_for_display (GdkDisplay *display, * * Opens a display. * - * Return value: (transfer none): a #GdkDisplay, or %NULL if the display - * could not be opened. + * Return value: (transfer none): a #GdkDisplay, or %NULL + * if the display could not be opened * * Since: 2.2 */ @@ -2282,6 +2282,17 @@ gdk_display_open (const gchar *display_name) return gdk_display_manager_open_display (gdk_display_manager_get (), display_name); } +/** + * gdk_display_has_pending: + * @display: a #GdkDisplay + * + * Returns whether the display has events that are waiting + * to be processed. + * + * Returns: %TRUE if there are events ready to be processed. + * + * Since: 3.0 + */ gboolean gdk_display_has_pending (GdkDisplay *display) { @@ -2437,16 +2448,16 @@ gdk_notify_startup_complete (void) /** * gdk_notify_startup_complete_with_id: - * @startup_id: a startup-notification identifier, for which notification - * process should be completed + * @startup_id: a startup-notification identifier, for which + * notification process should be completed * - * Indicates to the GUI environment that the application has finished - * loading, using a given identifier. + * Indicates to the GUI environment that the application has + * finished loading, using a given identifier. * - * GTK+ will call this function automatically for #GtkWindow with custom - * startup-notification identifier unless - * gtk_window_set_auto_startup_notification() is called to disable - * that feature. + * GTK+ will call this function automatically for #GtkWindow + * with custom startup-notification identifier unless + * gtk_window_set_auto_startup_notification() is called to + * disable that feature. * * Since: 2.12 */ @@ -2460,6 +2471,22 @@ gdk_notify_startup_complete_with_id (const gchar* startup_id) gdk_display_notify_startup_complete (display, startup_id); } +/** + * gdk_display_notify_startup_complete: + * @display: a #GdkDisplay + * @startup_id: a startup-notification identifier, for which + * notification process should be completed + * + * Indicates to the GUI environment that the application has + * finished loading, using a given identifier. + * + * GTK+ will call this function automatically for #GtkWindow + * with custom startup-notification identifier unless + * gtk_window_set_auto_startup_notification() is called to + * disable that feature. + * + * Since: 3.0 + */ void gdk_display_notify_startup_complete (GdkDisplay *display, const gchar *startup_id) diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 4307bd9524..bda19c2b77 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -173,7 +173,7 @@ void gdk_display_set_double_click_distance (GdkDisplay *display, GdkDisplay *gdk_display_get_default (void); #ifndef GDK_MULTIDEVICE_SAFE - +#ifndef GDK_DISABLE_DEPRECATED void gdk_display_get_pointer (GdkDisplay *display, GdkScreen **screen, gint *x, @@ -186,6 +186,9 @@ void gdk_display_warp_pointer (GdkDisplay *disp GdkScreen *screen, gint x, gint y); +GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay *display, + const GdkDisplayPointerHooks *new_hooks); +#endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ void gdk_display_get_device_state (GdkDisplay *display, @@ -199,11 +202,6 @@ GdkWindow * gdk_display_get_window_at_device_position (GdkDisplay gint *win_x, gint *win_y); -#ifndef GDK_MULTIDEVICE_SAFE -GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay *display, - const GdkDisplayPointerHooks *new_hooks); -#endif /* GDK_MULTIDEVICE_SAFE */ - GdkDisplayDeviceHooks *gdk_display_set_device_hooks (GdkDisplay *display, const GdkDisplayDeviceHooks *new_hooks); diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index cfd48475e4..9903490bdb 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -298,6 +298,18 @@ gdk_display_manager_list_displays (GdkDisplayManager *manager) return GDK_DISPLAY_MANAGER_GET_CLASS (manager)->list_displays (manager); } +/** + * gdk_display_manager_open_display: + * @manager: a #GdkDisplayManager + * @name: the name of the display to open + * + * Opens a display. + * + * Return value: (transfer none): a #GdkDisplay, or %NULL + * if the display could not be opened + * + * Since: 3.0 + */ GdkDisplay * gdk_display_manager_open_display (GdkDisplayManager *manager, const gchar *name) diff --git a/gdk/gdkdndprivate.h b/gdk/gdkdndprivate.h index 618f0cc075..f1124304a6 100644 --- a/gdk/gdkdndprivate.h +++ b/gdk/gdkdndprivate.h @@ -69,6 +69,7 @@ struct _GdkDragContextClass { struct _GdkDragContext { GObject parent_instance; + /*< private >*/ GdkDragProtocol protocol; gboolean is_source; diff --git a/gdk/gdkmain.h b/gdk/gdkmain.h index 963654236b..bcbe4d07dc 100644 --- a/gdk/gdkmain.h +++ b/gdk/gdkmain.h @@ -50,8 +50,6 @@ gboolean gdk_init_check (gint *argc, void gdk_add_option_entries_libgtk_only (GOptionGroup *group); void gdk_pre_parse_libgtk_only (void); -void gdk_enable_multidevice (void); - G_CONST_RETURN gchar *gdk_get_program_class (void); void gdk_set_program_class (const gchar *program_class); @@ -96,9 +94,11 @@ GdkGrabStatus gdk_keyboard_grab (GdkWindow *window, #ifndef GDK_MULTIHEAD_SAFE #ifndef GDK_MULTIDEVICE_SAFE +#ifndef GDK_DISABLE_DEPRECATED void gdk_pointer_ungrab (guint32 time_); void gdk_keyboard_ungrab (guint32 time_); gboolean gdk_pointer_is_grabbed (void); +#endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ gint gdk_screen_width (void) G_GNUC_CONST; diff --git a/gdk/gdkvisual.c b/gdk/gdkvisual.c index 35d98eade3..c1b0160f2e 100644 --- a/gdk/gdkvisual.c +++ b/gdk/gdkvisual.c @@ -1,7 +1,7 @@ /* GDK - The GIMP Drawing Kit * gdkvisual.c - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -32,25 +32,26 @@ * @Short_description: Low-level display hardware information * @Title: Visuals * - * A #GdkVisual describes a particular video hardware display format. It includes - * information about the number of bits used for each color, the way the bits are - * translated into an RGB value for display, and the way the bits are stored in - * memory. For example, a piece of display hardware might support 24-bit color, - * 16-bit color, or 8-bit color; meaning 24/16/8-bit pixel sizes. For a given - * pixel size, pixels can be in different formats; for example the "red" element - * of an RGB pixel may be in the top 8 bits of the pixel, or may be in the lower - * 4 bits. + * A #GdkVisual describes a particular video hardware display format. + * It includes information about the number of bits used for each color, + * the way the bits are translated into an RGB value for display, and + * the way the bits are stored in memory. For example, a piece of display + * hardware might support 24-bit color, 16-bit color, or 8-bit color; + * meaning 24/16/8-bit pixel sizes. For a given pixel size, pixels can + * be in different formats; for example the "red" element of an RGB pixel + * may be in the top 8 bits of the pixel, or may be in the lower 4 bits. * * There are several standard visuals. The visual returned by * gdk_screen_get_system_visual() is the system's default visual. * - * A number of functions are provided for determining the "best" available visual. - * For the purposes of making this determination, higher bit depths are considered - * better, and for visuals of the same bit depth, %GDK_VISUAL_PSEUDO_COLOR is - * preferred at 8bpp, otherwise, the visual types are ranked in the order of - * (highest to lowest) %GDK_VISUAL_DIRECT_COLOR, %GDK_VISUAL_TRUE_COLOR, - * %GDK_VISUAL_PSEUDO_COLOR, %GDK_VISUAL_STATIC_COLOR, %GDK_VISUAL_GRAYSCALE, - * then %GDK_VISUAL_STATIC_GRAY. + * A number of functions are provided for determining the "best" available + * visual. For the purposes of making this determination, higher bit depths + * are considered better, and for visuals of the same bit depth, + * %GDK_VISUAL_PSEUDO_COLOR is preferred at 8bpp, otherwise, the visual + * types are ranked in the order of(highest to lowest) + * %GDK_VISUAL_DIRECT_COLOR, %GDK_VISUAL_TRUE_COLOR, + * %GDK_VISUAL_PSEUDO_COLOR, %GDK_VISUAL_STATIC_COLOR, + * %GDK_VISUAL_GRAYSCALE, then %GDK_VISUAL_STATIC_GRAY. */ G_DEFINE_TYPE (GdkVisual, gdk_visual, G_TYPE_OBJECT) @@ -76,7 +77,7 @@ gdk_visual_class_init (GdkVisualClass *visual_class) /** * gdk_list_visuals: - * + * * Lists the available visuals for the default screen. * (See gdk_screen_list_visuals()) * A visual describes a hardware image data format. @@ -84,10 +85,10 @@ gdk_visual_class_init (GdkVisualClass *visual_class) * and might expect pixels to be in a certain format. * * Call g_list_free() on the return value when you're finished with it. - * + * * Return value: (transfer container) (element-type GdkVisual): * a list of visuals; the list must be freed, but not its contents - **/ + */ GList* gdk_list_visuals (void) { @@ -96,13 +97,13 @@ gdk_list_visuals (void) /** * gdk_visual_get_system: - * + * * Get the system's default visual for the default GDK screen. * This is the visual for the root window of the display. * The return value should not be freed. - * + * * Return value: (transfer none): system visual - **/ + */ GdkVisual* gdk_visual_get_system (void) { @@ -117,7 +118,7 @@ gdk_visual_get_system (void) * per pixel. * * Return value: best available depth - **/ + */ gint gdk_visual_get_best_depth (void) { @@ -132,7 +133,7 @@ gdk_visual_get_best_depth (void) * Return the best available visual type for the default GDK screen. * * Return value: best visual type - **/ + */ GdkVisualType gdk_visual_get_best_type (void) { @@ -148,7 +149,7 @@ gdk_visual_get_best_type (void) * GDK screen. The return value should not be freed. * * Return value: (transfer none): best visual - **/ + */ GdkVisual* gdk_visual_get_best (void) { @@ -163,11 +164,11 @@ gdk_visual_get_best (void) * * Get the best visual with depth @depth for the default GDK screen. * Color visuals and visuals with mutable colormaps are preferred - * over grayscale or fixed-colormap visuals. The return value should not - * be freed. %NULL may be returned if no visual supports @depth. + * over grayscale or fixed-colormap visuals. The return value should + * not be freed. %NULL may be returned if no visual supports @depth. * * Return value: (transfer none): best visual for the given depth - **/ + */ GdkVisual* gdk_visual_get_best_with_depth (gint depth) { @@ -186,14 +187,14 @@ gdk_visual_get_best_with_depth (gint depth) * @visual_type. * * Return value: (transfer none): best visual of the given type - **/ + */ GdkVisual* gdk_visual_get_best_with_type (GdkVisualType visual_type) { GdkScreen *screen = gdk_screen_get_default(); return GDK_SCREEN_GET_CLASS(screen)->visual_get_best_with_type (screen, - visual_type); + visual_type); } /** @@ -201,11 +202,12 @@ gdk_visual_get_best_with_type (GdkVisualType visual_type) * @depth: a bit depth * @visual_type: a visual type * - * Combines gdk_visual_get_best_with_depth() and gdk_visual_get_best_with_type(). + * Combines gdk_visual_get_best_with_depth() and + * gdk_visual_get_best_with_type(). * * Return value: (transfer none): best visual with both @depth and * @visual_type, or %NULL if none - **/ + */ GdkVisual* gdk_visual_get_best_with_both (gint depth, GdkVisualType visual_type) @@ -226,11 +228,10 @@ gdk_visual_get_best_with_both (gint depth, * visual, removing duplicates. * * The array returned by this function should not be freed. - * - **/ + */ void -gdk_query_depths (gint **depths, - gint *count) +gdk_query_depths (gint **depths, + gint *count) { GdkScreen *screen = gdk_screen_get_default(); @@ -248,10 +249,10 @@ gdk_query_depths (gint **depths, * visual, removing duplicates. * * The array returned by this function should not be freed. - **/ + */ void gdk_query_visual_types (GdkVisualType **visual_types, - gint *count) + gint *count) { GdkScreen *screen = gdk_screen_get_default(); @@ -350,15 +351,15 @@ gdk_visual_get_bits_per_rgb (GdkVisual *visual) /** * gdk_visual_get_red_pixel_details: - * @visual: A #GdkVisual. - * @mask: (out) (allow-none): A pointer to a #guint32 to be filled in, or %NULL. - * @shift: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL. - * @precision: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL. + * @visual: A #GdkVisual + * @mask: (out) (allow-none): A pointer to a #guint32 to be filled in, or %NULL + * @shift: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL + * @precision: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL * * Obtains values that are needed to calculate red pixel values in TrueColor - * and DirectColor. The "mask" is the significant bits within the pixel. + * and DirectColor. The "mask" is the significant bits within the pixel. * The "shift" is the number of bits left we must shift a primary for it - * to be in position (according to the "mask"). Finally, "precision" refers + * to be in position (according to the "mask"). Finally, "precision" refers * to how much precision the pixel value contains for a particular primary. * * Since: 2.22 @@ -384,14 +385,14 @@ gdk_visual_get_red_pixel_details (GdkVisual *visual, /** * gdk_visual_get_green_pixel_details: * @visual: a #GdkVisual - * @mask: (out) (allow-none): A pointer to a #guint32 to be filled in, or %NULL. - * @shift: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL. - * @precision: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL. + * @mask: (out) (allow-none): A pointer to a #guint32 to be filled in, or %NULL + * @shift: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL + * @precision: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL * * Obtains values that are needed to calculate green pixel values in TrueColor - * and DirectColor. The "mask" is the significant bits within the pixel. + * and DirectColor. The "mask" is the significant bits within the pixel. * The "shift" is the number of bits left we must shift a primary for it - * to be in position (according to the "mask"). Finally, "precision" refers + * to be in position (according to the "mask"). Finally, "precision" refers * to how much precision the pixel value contains for a particular primary. * * Since: 2.22 @@ -417,14 +418,14 @@ gdk_visual_get_green_pixel_details (GdkVisual *visual, /** * gdk_visual_get_blue_pixel_details: * @visual: a #GdkVisual - * @mask: (out) (allow-none): A pointer to a #guint32 to be filled in, or %NULL. - * @shift: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL. - * @precision: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL. + * @mask: (out) (allow-none): A pointer to a #guint32 to be filled in, or %NULL + * @shift: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL + * @precision: (out) (allow-none): A pointer to a #gint to be filled in, or %NULL * * Obtains values that are needed to calculate blue pixel values in TrueColor - * and DirectColor. The "mask" is the significant bits within the pixel. + * and DirectColor. The "mask" is the significant bits within the pixel. * The "shift" is the number of bits left we must shift a primary for it - * to be in position (according to the "mask"). Finally, "precision" refers + * to be in position (according to the "mask"). Finally, "precision" refers * to how much precision the pixel value contains for a particular primary. * * Since: 2.22 diff --git a/gdk/gdkvisualprivate.h b/gdk/gdkvisualprivate.h index 8099ec2663..075916a6f2 100644 --- a/gdk/gdkvisualprivate.h +++ b/gdk/gdkvisualprivate.h @@ -34,6 +34,7 @@ struct _GdkVisual { GObject parent_instance; + /*< private >*/ GdkVisualType type; gint depth; GdkByteOrder byte_order; diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 699d5dc3bd..e771820919 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -10670,13 +10670,16 @@ gdk_window_register_dnd (GdkWindow *window) * gdk_drag_begin: * @window: the source window for this drag. * @targets: (transfer none) (element-type GdkAtom): the offered targets, - * as list of #GdkAtoms + * as list of #GdkAtoms * * Starts a drag and creates a new drag context for it. + * This function assumes that the drag is controlled by the + * client pointer device, use gdk_drag_begin_for_device() to + * begin a drag with a different device. * * This function is called by the drag source. * - * Return value: (transfer full): a newly created #GdkDragContext. + * Return value: (transfer full): a newly created #GdkDragContext */ GdkDragContext * gdk_drag_begin (GdkWindow *window, @@ -10691,6 +10694,19 @@ gdk_drag_begin (GdkWindow *window, return gdk_drag_begin_for_device (window, device, targets); } +/** + * gdk_drag_begin_for_device: + * @window: the source window for this drag + * @device: the device that controls this drag + * @targets: (transfer none) (element-type GdkAtom): the offered targets, + * as list of #GdkAtoms + * + * Starts a drag and creates a new drag context for it. + * + * This function is called by the drag source. + * + * Return value: (transfer full): a newly created #GdkDragContext + */ GdkDragContext * gdk_drag_begin_for_device (GdkWindow *window, GdkDevice *device, diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 1e9b818198..0f2fd9636a 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -48,7 +48,41 @@ #include #endif -typedef struct _GdkPredicate GdkPredicate; +/** + * SECTION:x_interaction + * @Short_description: X backend-specific functions + * @Title: X Window System Interaction + * + * The functions in this section are specific to the GDK X11 backend. + * To use them, you need to include the <gdk/gdkx.h> + * header and use the X11-specific pkg-config files to build your + * application (either gdk-x11-3.0 or + * gtk+-x11-3.0). + * + * To make your code compile with other GDK backends, guard backend-specific + * calls by an ifdef as follows. Since GDK may be built with multiple + * backends, you should also check for the backend that is in use (e.g. by + * using the GDK_IS_X11_DISPLAY() macro). + * |[ + * #ifdef GDK_WINDOWING_X11 + * if (GDK_IS_X11_DISPLAY (display)) + * { + * /* make X11-specific calls here */ + * } + * else + * #endif + * #ifdef GDK_WINDOWING_QUARTZ + * if (GDK_IS_QUARTZ_DISPLAY (display)) + * { + * /* make Quartz-specific calls here &ast/ + * } + * else + * #endif + * g_error ("Unsupported GDK backend"); + * ]| + */ + +typedef struct _GdkPredicate GdkPredicate; struct _GdkPredicate { diff --git a/gdk/x11/gdkx.h b/gdk/x11/gdkx.h index baed243708..48207b585d 100644 --- a/gdk/x11/gdkx.h +++ b/gdk/x11/gdkx.h @@ -21,7 +21,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #ifndef __GDK_X_H__ @@ -32,27 +32,6 @@ #include #include -/** - * SECTION:x_interaction - * @Short_description: X backend-specific functions - * @Title: X Window System Interaction - * - * The functions in this section are specific to the GDK X11 backend. - * To use them, you need to include the <gdk/gdkx.h> - * header and use the X11-specific pkg-config files to build your - * application (either gdk-x11-3.0 or - * gtk+-x11-3.0). - * - * To make your code compile with other GDK backends, guard backend-specific - * calls by an ifdef as follows: - * - * #ifdef GDK_WINDOWING_X11 - * /* X11-specific calls here... */ - * #endif - * - */ - - #define __GDKX_H_INSIDE__ #include diff --git a/gdk/x11/gdkx11screen.h b/gdk/x11/gdkx11screen.h index 3404e92af1..cb709a30e0 100644 --- a/gdk/x11/gdkx11screen.h +++ b/gdk/x11/gdkx11screen.h @@ -64,37 +64,35 @@ gint gdk_x11_get_default_screen (void); #endif /** - * GDK_DISPLAY_XDISPLAY: - * @display: a #GdkDisplay. + * GDK_SCREEN_XDISPLAY: + * @screen: a #GdkScreen * - * Returns the display of a #GdkDisplay. + * Returns the display of a X11 #GdkScreen. * * Returns: an Xlib Display* */ -#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) +#define GDK_SCREEN_XDISPLAY(screen) (gdk_x11_display_get_xdisplay (gdk_screen_get_display (screen))) /** * GDK_SCREEN_XSCREEN: * @screen: a #GdkScreen * - * Returns the screen of a #GdkScreen. + * Returns the screen of a X11 #GdkScreen. * - * Returns: an Xlib Screen*. + * Returns: an Xlib Screen* */ -#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) +#define GDK_SCREEN_XSCREEN(screen) (gdk_x11_screen_get_xscreen (screen)) /** * GDK_SCREEN_XNUMBER: * @screen: a #GdkScreen * - * Returns the index of a #GdkScreen. + * Returns the index of a X11 #GdkScreen. * - * Returns: the position of @screen among the screens of - * its display. + * Returns: the position of @screen among the screens of its display */ -#define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) +#define GDK_SCREEN_XNUMBER(screen) (gdk_x11_screen_get_screen_number (screen)) -/* returns TRUE if we support the given WM spec feature */ gboolean gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, GdkAtom property); From 8f816d7c3b245fdb75bf835cc831f11e2f6a1b49 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 25 Dec 2010 00:26:22 -0500 Subject: [PATCH 0924/1463] Fix a few typos --- gdk/gdkwindow.c | 59 +++++++++++++++++++++++++------------------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index e771820919..359706be7a 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -10719,9 +10719,10 @@ gdk_drag_begin_for_device (GdkWindow *window, * gdk_test_render_sync: * @window: a mapped #GdkWindow * - * This function retrieves a pixel from @window to force the windowing + * Retrieves a pixel from @window to force the windowing * system to carry out any pending rendering commands. - * This function is intended to be used to syncronize with rendering + * + * This function is intended to be used to synchronize with rendering * pipelines, to benchmark windowing system rendering operations. * * Since: 2.14 @@ -10733,17 +10734,17 @@ gdk_test_render_sync (GdkWindow *window) } /** - * gdk_test_simulate_key - * @window: a #GdkWindow to simulate a key event for. - * @x: x coordinate within @window for the key event. - * @y: y coordinate within @window for the key event. - * @keyval: A GDK keyboard value. - * @modifiers: Keyboard modifiers the event is setup with. + * gdk_test_simulate_key: + * @window: a #GdkWindow to simulate a key event for + * @x: x coordinate within @window for the key event + * @y: y coordinate within @window for the key event + * @keyval: A GDK keyboard value + * @modifiers: Keyboard modifiers the event is setup with * @key_pressrelease: either %GDK_KEY_PRESS or %GDK_KEY_RELEASE * * This function is intended to be used in GTK+ test programs. * If (@x,@y) are > (-1,-1), it will warp the mouse pointer to - * the given (@x,@y) corrdinates within @window and simulate a + * the given (@x,@y) coordinates within @window and simulate a * key press or release event. * * When the mouse pointer is warped to the target location, use @@ -10753,13 +10754,13 @@ gdk_test_render_sync (GdkWindow *window) * be warped and @window origin will be used as mouse pointer * location for the event. * - * Also, gtk_test_simulate_key() is a fairly low level function, + * Also, gdk_test_simulate_key() is a fairly low level function, * for most testing purposes, gtk_test_widget_send_key() is the * right function to call which will generate a key press event * followed by its accompanying key release event. * - * Returns: whether all actions neccessary for a key event simulation - * were carried out successfully. + * Returns: whether all actions necessary for a key event simulation + * were carried out successfully * * Since: 2.14 */ @@ -10776,32 +10777,32 @@ gdk_test_simulate_key (GdkWindow *window, } /** - * gdk_test_simulate_button - * @window: a #GdkWindow to simulate a button event for. - * @x: x coordinate within @window for the button event. - * @y: y coordinate within @window for the button event. - * @button: Number of the pointer button for the event, usually 1, 2 or 3. - * @modifiers: Keyboard modifiers the event is setup with. + * gdk_test_simulate_button: + * @window: a #GdkWindow to simulate a button event for + * @x: x coordinate within @window for the button event + * @y: y coordinate within @window for the button event + * @button: Number of the pointer button for the event, usually 1, 2 or 3 + * @modifiers: Keyboard modifiers the event is setup with * @button_pressrelease: either %GDK_BUTTON_PRESS or %GDK_BUTTON_RELEASE * * This function is intended to be used in GTK+ test programs. - * It will warp the mouse pointer to the given (@x,@y) corrdinates + * It will warp the mouse pointer to the given (@x,@y) coordinates * within @window and simulate a button press or release event. * Because the mouse pointer needs to be warped to the target * location, use of this function outside of test programs that * run in their own virtual windowing system (e.g. Xvfb) is not * recommended. * -* Also, gtk_test_simulate_button() is a fairly low level function, +* Also, gdk_test_simulate_button() is a fairly low level function, * for most testing purposes, gtk_test_widget_click() is the right * function to call which will generate a button press event followed * by its accompanying button release event. * - * Returns: whether all actions neccessary for a button event simulation - * were carried out successfully. + * Returns: whether all actions necessary for a button event simulation + * were carried out successfully * * Since: 2.14 - **/ + */ gboolean gdk_test_simulate_button (GdkWindow *window, gint x, @@ -10816,8 +10817,8 @@ gdk_test_simulate_button (GdkWindow *window, /** * gdk_property_get: - * @window: a #GdkWindow. - * @property: the property to retrieve. + * @window: a #GdkWindow + * @property: the property to retrieve * @type: the desired property type, or %GDK_NONE, if any type of data * is acceptable. If this does not match the actual * type, then @actual_format and @actual_length will @@ -10888,8 +10889,8 @@ gdk_property_get (GdkWindow *window, /** * gdk_property_change: - * @window: a #GdkWindow. - * @property: the property to change. + * @window: a #GdkWindow + * @property: the property to change * @type: the new type for the property. If @mode is * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this * must match the existing type or an error will occur. @@ -10921,8 +10922,8 @@ gdk_property_change (GdkWindow *window, /** * gdk_property_delete: - * @window: a #GdkWindow. - * @property: the property to delete. + * @window: a #GdkWindow + * @property: the property to delete * * Deletes a property from a window. */ From 5bc0cf1a1970ceeb0a009a6ebe3b0d16c9e14aa7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 25 Dec 2010 00:29:23 -0500 Subject: [PATCH 0925/1463] Fix some more typos --- gdk/gdk.c | 4 ++-- gdk/gdkdisplaymanager.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index e7c7a0c49d..9bf97e59a8 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -986,9 +986,9 @@ gdk_threads_add_timeout (guint interval, * @interval: the time between calls to the function, in seconds * @function: function to call * @data: data to pass to @function - * @notify: (allow-none): function to call when the timeout is removed, or %NULL + * @notify: (allow-none): function to call when the timeout is removed, or %NULL * - * A variant of gdk_threads_add_timout_full() with second-granularity. + * A variant of gdk_threads_add_timeout_full() with second-granularity. * See g_timeout_add_seconds_full() for a discussion of why it is * a good idea to use this function if you don't need finer granularity. * diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index 9903490bdb..c9c5d3c470 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -170,7 +170,7 @@ gdk_display_manager_get_property (GObject *object, * backends). * * Returns: (transfer none): The global #GdkDisplayManager singleton; - * gdk_parse_pargs(), gdk_init(), or gdk_init_check() must have + * gdk_parse_args(), gdk_init(), or gdk_init_check() must have * been called first. * * Since: 2.2 From 9bab53f1bdccb152d83cda7cd6c07ea5d7b5ff8b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 00:45:56 +0100 Subject: [PATCH 0926/1463] hsv: Fix gcc warnings --- gtk/gtkhsv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 2d710514a5..e6591c9c01 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -719,7 +719,7 @@ gtk_hsv_button_press (GtkWidget *widget, if (is_in_ring (hsv, x, y)) { priv->mode = DRAG_H; - set_cross_grab (hsv, gdk_event_get_device (event), event->time); + set_cross_grab (hsv, gdk_event_get_device ((GdkEvent *) event), event->time); gtk_hsv_set_color (hsv, compute_v (hsv, x, y), @@ -737,7 +737,7 @@ gtk_hsv_button_press (GtkWidget *widget, gdouble s, v; priv->mode = DRAG_SV; - set_cross_grab (hsv, gdk_event_get_device (event), event->time); + set_cross_grab (hsv, gdk_event_get_device ((GdkEvent *) event), event->time); compute_sv (hsv, x, y, &s, &v); gtk_hsv_set_color (hsv, priv->h, s, v); @@ -788,7 +788,7 @@ gtk_hsv_button_release (GtkWidget *widget, g_assert_not_reached (); } - gdk_device_ungrab (gdk_event_get_device (event), event->time); + gdk_device_ungrab (gdk_event_get_device ((GdkEvent *) event), event->time); return TRUE; } From a5f493bfad139a936086b1732f281b9e36db5bc9 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 00:50:30 +0100 Subject: [PATCH 0927/1463] notebook: Use nondeprecated API to query coordinates --- gtk/gtknotebook.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 062f337e05..ee8f4517f5 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -3596,7 +3596,9 @@ gtk_notebook_drag_failed (GtkWidget *widget, gint x, y; display = gtk_widget_get_display (widget); - gdk_display_get_pointer (display, NULL, &x, &y, NULL); + gdk_display_get_device_state (gtk_widget_get_display (widget), + gdk_drag_context_get_device (context), + NULL, &x, &y, NULL); g_signal_emit (notebook, notebook_signals[CREATE_WINDOW], 0, priv->detached_tab->child, x, y, &dest_notebook); From 45d98d108ebadd1164a073b019214707f5d168cc Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 01:05:40 +0100 Subject: [PATCH 0928/1463] tooltip: Don't use deprecated APIs --- gtk/gtktooltip.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index 552a63bc48..3520128da4 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -532,9 +532,13 @@ gtk_tooltip_trigger_tooltip_query (GdkDisplay *display) gint x, y; GdkWindow *window; GdkEvent event; + GdkDevice *device; /* Trigger logic as if the mouse moved */ - window = gdk_display_get_window_at_pointer (display, &x, &y); + device = gdk_device_manager_get_client_pointer (gdk_display_get_device_manager (display)); + window = gdk_display_get_window_at_device_position (display, + device, + &x, &y); if (!window) return; From 05eb55dcfc06fd2c4da3fa1fd9d5f1c5a16233c7 Mon Sep 17 00:00:00 2001 From: A S Alam Date: Mon, 27 Dec 2010 07:30:19 +0530 Subject: [PATCH 0929/1463] update Punjabi Properities file --- po-properties/pa.po | 3191 +++++++++++++++++++++++-------------------- 1 file changed, 1698 insertions(+), 1493 deletions(-) diff --git a/po-properties/pa.po b/po-properties/pa.po index c50bd94454..be78b0c0fc 100644 --- a/po-properties/pa.po +++ b/po-properties/pa.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-properties.HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-10-08 06:20+0000\n" -"PO-Revision-Date: 2010-10-09 08:27+0530\n" +"POT-Creation-Date: 2010-12-23 17:21+0000\n" +"PO-Revision-Date: 2010-12-27 07:20+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" @@ -21,216 +21,215 @@ msgstr "" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdkdevice.c:97 +#: ../gdk/gdkdevice.c:96 msgid "Device Display" msgstr "ਜੰਤਰ ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdevice.c:98 +#: ../gdk/gdkdevice.c:97 msgid "Display which the device belongs to" msgstr "ਡਿਸਪਲੇਅ, ਜਿਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਹੈ" -#: ../gdk/gdkdevice.c:112 +#: ../gdk/gdkdevice.c:111 msgid "Device manager" msgstr "ਜੰਤਰ ਮੈਨੇਜਰ" -#: ../gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:112 msgid "Device manager which the device belongs to" msgstr "ਜੰਤਰ ਮੈਨੇਜਰ, ਜਿਸ ਨਾਲ ਜੰਤਰ ਸਬੰਧਿਤ ਹੈ" -#: ../gdk/gdkdevice.c:127 ../gdk/gdkdevice.c:128 +#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 msgid "Device name" msgstr "ਜੰਤਰ ਨਾਂ" -#: ../gdk/gdkdevice.c:142 +#: ../gdk/gdkdevice.c:141 msgid "Device type" msgstr "ਜੰਤਰ ਕਿਸਮ" -#: ../gdk/gdkdevice.c:143 +#: ../gdk/gdkdevice.c:142 msgid "Device role in the device manager" msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਵਿੱਚ ਜੰਤਰ ਰੋਲ" -#: ../gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:158 msgid "Associated device" msgstr "ਸਬੰਧਿਤ ਜੰਤਰ" -#: ../gdk/gdkdevice.c:160 +#: ../gdk/gdkdevice.c:159 msgid "Associated pointer or keyboard with this device" msgstr "ਇਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਪੁਆਇੰਟਰ ਜਾਂ ਕੀਬੋਰਡ" -#: ../gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:172 msgid "Input source" msgstr "ਇੰਪੁੱਟ ਸਰੋਤ" -#: ../gdk/gdkdevice.c:174 +#: ../gdk/gdkdevice.c:173 msgid "Source type for the device" msgstr "ਜੰਤਰ ਲਈ ਸਰੋਤ ਕਿਸਮ" -#: ../gdk/gdkdevice.c:189 ../gdk/gdkdevice.c:190 +#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 msgid "Input mode for the device" msgstr "ਜੰਤਰ ਲਈ ਇੰਪੁੱਟ ਮੋਡ" -#: ../gdk/gdkdevice.c:205 +#: ../gdk/gdkdevice.c:204 msgid "Whether the device has a cursor" msgstr "ਕੀ ਜੰਤਰ ਲਈ ਕਰਸਰ ਹੈ" -#: ../gdk/gdkdevice.c:206 +#: ../gdk/gdkdevice.c:205 msgid "Whether there is a visible cursor following device motion" msgstr "ਕੀ ਅੱਗੇ ਦਿੱਤੀ ਜੰਤਰ ਹਲਚਲ ਲਈ ਦਿੱਖ ਕਰਸਰ ਹੈ" -#: ../gdk/gdkdevice.c:220 ../gdk/gdkdevice.c:221 +#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 msgid "Number of axes in the device" msgstr "ਜੰਤਰ ਵਿੱਚ ਧੁਰਿਆਂ ਦੀ ਗਿਣਤੀ" -#: ../gdk/gdkdevicemanager.c:134 +#: ../gdk/gdkdevicemanager.c:130 msgid "Display" msgstr "ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdevicemanager.c:135 +#: ../gdk/gdkdevicemanager.c:131 msgid "Display for the device manager" msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਲਈ ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:114 msgid "Default Display" msgstr "ਡਿਫਾਲਟ ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:115 msgid "The default display for GDK" msgstr "GDK ਲਈ ਡਿਫਾਲਟ ਡਿਸਪਲੇਅ" -#: ../gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "ਫੋਂਟ ਚੋਣਾਂ" -#: ../gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "ਸਕਰੀਨ ਲਈ ਡਿਫਾਲਟ ਫੋਂਟ ਚੋਣਾਂ" -#: ../gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "ਫੋਂਟ ਰੈਜ਼ੋਲੂਸ਼ਨ" -#: ../gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "ਸਕਰੀਨ ਉੱਤੇ ਫੋਂਟਾਂ ਲਈ ਰੈਜ਼ੋਲੂਸ਼ਨ ਹੈ" -#: ../gdk/gdkwindow.c:392 ../gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "ਕਰਸਰ" -#: ../gdk/x11/gdkdevice-xi.c:132 ../gdk/x11/gdkdevice-xi.c:133 -#: ../gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "ਜੰਤਰ ID" -#: ../gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" msgstr "ਜੰਤਰ ਪਛਾਣਕਰਤਾ" -#: ../gdk/x11/gdkdevicemanager-xi.c:84 +#: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "ਈਵੈਂਟ ਬੇਸ" -#: ../gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "XInput ਈਵੈਂਟ ਲਈ ਈਵੈਂਟ ਬੇਸ" -#: ../gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:277 msgid "Program name" msgstr "ਪਰੋਗਰਾਮ ਨਾਂ" -#: ../gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:278 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" msgstr "ਪਰੋਗਰਾਮ ਦਾ ਨਾਂ ਹੈ। ਜੇਕਰ ਇਹ ਨਾ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਡਿਫਾਲਟ g_get_application_name() ਹੋਵੇਗਾ।" -#: ../gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:292 msgid "Program version" msgstr "ਪਰੋਗਰਾਮ ਵਰਜਨ" -#: ../gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:293 msgid "The version of the program" msgstr "ਪਰੋਗਰਾਮ ਦਾ ਵਰਜਨ ਹੈ" -#: ../gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright string" msgstr "ਕਾਪੀਰਾਈਟ ਲਾਈਨ" -#: ../gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:308 msgid "Copyright information for the program" msgstr "ਪਰੋਗਰਾਮ ਬਾਰੇ ਕਾਪੀਰਾਈਟ ਜਾਣਕਾਰੀ ਹੈ" -#: ../gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments string" msgstr "ਟਿੱਪਣੀ ਲਾਈਨ" -#: ../gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:326 msgid "Comments about the program" msgstr "ਪਰੋਗਰਾਮ ਬਾਰੇ ਟਿੱਪਣੀ ਹੈ।" -#: ../gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:376 msgid "License Type" msgstr "ਲਾਈਸੈਂਸ ਕਿਸਮ" -#: ../gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:377 msgid "The license type of the program" msgstr "ਪਰੋਗਰਾਮ ਲਈ ਲਾਈਸੈਂਸ ਕਿਸਮ" -#: ../gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:393 msgid "Website URL" msgstr "ਵੈਬਸਾਇਟ URL" -#: ../gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:394 msgid "The URL for the link to the website of the program" msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈੱਬ ਸਾਇਟ ਨਾਲ ਸਬੰਧਤ URL ਹੈ" -#: ../gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:408 msgid "Website label" msgstr "ਵੈਬਸਾਇਟ ਲੇਬਲ" -#: ../gtk/gtkaboutdialog.c:402 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈਬਸਾਇਟ ਨਾਲ ਲਿੰਕ ਦਾ ਲੇਬਲ ਹੈ। ਜੇਕਰ ਇਹ ਨਾਂ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਇਹ ਮੂਲ URL ਹੋਵੇਗਾ।" +#: ../gtk/gtkaboutdialog.c:409 +#| msgid "The URL for the link to the website of the program" +msgid "The label for the link to the website of the program" +msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈੱਬ ਸਾਇਟ ਨਾਲ ਲਿੰਕ ਲਈ ਲੇਬਲ ਹੈ" -#: ../gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:425 msgid "Authors" msgstr "ਲੇਖਕ" -#: ../gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:426 msgid "List of authors of the program" msgstr "ਪਰੋਗਰਾਮ ਦੇ ਲੇਖਕਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:442 msgid "Documenters" msgstr "ਦਸਤਾਵੇਜ਼ ਲੇਖਕ" -#: ../gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:443 msgid "List of people documenting the program" msgstr "ਪਰੋਗਰਾਮ ਦੇ ਦਸਤਾਵੇਜ਼ ਲਿਖਣ ਵਾਲੇ ਲੇਖਕਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:459 msgid "Artists" msgstr "ਕਲਾਕਾਰ" -#: ../gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:460 msgid "List of people who have contributed artwork to the program" msgstr "ਪਰੋਗਰਾਮ ਵਿੱਚ ਕਲਾਕਾਰੀ ਕਰਨ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:477 msgid "Translator credits" msgstr "ਅਨੁਵਾਦ ਮਾਣ" -#: ../gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:478 msgid "Credits to the translators. This string should be marked as translatable" msgstr "ਅਨੁਵਾਦ ਕਰਨ ਵਾਲਿਆਂ ਦਾ ਨਾਂ ਹੈ। ਇਹ ਅਨੁਵਾਦ ਯੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।" -#: ../gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:493 msgid "Logo" msgstr "ਲੋਗੋ" -#: ../gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:494 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -238,19 +237,19 @@ msgstr "" "ਇਸ ਬਾਰੇ ਬਕਸੇ ਲਈ ਇੱਕ ਲੋਗੋ ਹੈ। ਜੇਕਰ ਇਹ ਨਾ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਮੂਲ " "gtk_window_get_default_icon_list() ਵਰਤਿਆ ਜਾਵੇਗਾ।" -#: ../gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:509 msgid "Logo Icon Name" msgstr "ਲੋਗੋ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:510 msgid "A named icon to use as the logo for the about box." msgstr "ਇਸ ਬਾਰੇ ਲੋਗੋ ਵਿੱਚ ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਲੋਗੋ ਹੈ।" -#: ../gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:523 msgid "Wrap license" msgstr "ਲਾਈਸੈਂਸ ਸਮੇਟਣਾ" -#: ../gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:524 msgid "Whether to wrap the license text." msgstr "ਕੀ ਲਾਈਸੈਂਸ ਟੈਕਸਟ ਨੂੰ ਸਮੇਟਣਾ ਹੈ।" @@ -279,9 +278,9 @@ msgstr "ਨਾਂ" msgid "A unique name for the action." msgstr "ਕਾਰਵਾਈ ਲਈ ਸ਼ਨਾਖਤੀ ਨਾਂ ਹੈ।" -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:238 ../gtk/gtkexpander.c:209 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:549 ../gtk/gtkmenuitem.c:333 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 +#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "ਲੇਬਲ" @@ -318,26 +317,26 @@ msgid "GIcon" msgstr "ਗਲਕੋਨ" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:320 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "ਗਲਕੋਨ ਵੇਖਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:302 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:720 +#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:732 msgid "Icon Name" msgstr "ਆਈਕਾਨ ਨਾਂ" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:303 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "ਆਈਕਾਨ ਸਰੂਪ ਤੋਂ ਆਈਕਾਨ ਦਾ ਨਾਂ" -#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "ਜਦੋਂ ਲੇਟਵਾਂ ਹੋਵੇ ਤਾਂ ਵੇਖਾਓ" -#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." @@ -353,17 +352,17 @@ msgid "" "overflow menu." msgstr "ਜੇਕਰ ਠੀਕ ਹੈ ਤਾਂ, ਇਸ ਕਾਰਵਾਈ ਲਈ ਟੂਲ-ਆਈਟਮ ਪਰਾਕਸੀ ਨੂੰ ਟੂਲਬਾਰ ਭਰਨ ਮੇਨੂ ਵਿੱਚ ਵਿਖਾਇਆ ਜਾਵੇਗਾ।" -#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "ਜਦੋਂ ਲੰਬਕਾਰੀ ਹੋਵੇ ਤਾਂ ਵੇਖਾਓ" -#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." msgstr "ਕੀ ਟੂਲਬਾਰ ਦੀ ਆਈਟਮ ਉਪਲੱਬਧ ਹੋਵੇ, ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਲੰਬਕਾਰੀ ਹਾਲਤ ਵਿੱਚ ਹੋਵੇ।" -#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "ਖਾਸ ਹੈ" @@ -384,7 +383,7 @@ msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ ਇਸ ਕਾਰਵਾਈ ਵਿੱਚ ਖਾਲੀ ਲਿਸਟ ਪਰਾਕਸੀਆਂ ਨੂੰ ਉਹਲੇ ਕਰ ਦਿਓ" #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:242 ../gtk/gtkwidget.c:754 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 msgid "Sensitive" msgstr "ਸੰਵੇਦਨਸ਼ੀਲ" @@ -393,8 +392,8 @@ msgid "Whether the action is enabled." msgstr "ਕੀ ਕਾਰਵਾਈ ਯੋਗ ਹੈ" #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:195 -#: ../gtk/gtkwidget.c:747 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 +#: ../gtk/gtkwidget.c:926 msgid "Visible" msgstr "ਦਿੱਖ" @@ -412,11 +411,11 @@ msgid "" "use)." msgstr "ਇਹ GtkActionGroup, GtkAction ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਜਾਂ NULL (ਸਿਰਫ ਅੰਦਰੂਨੀ ਵਰਤੋਂ ਲਈ)" -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 msgid "Always show image" msgstr "ਹਮੇਸ਼ਾਂ ਚਿੱਤਰ ਵੇਖੋ" -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 msgid "Whether the image will always be shown" msgstr "ਕੀ ਚਿੱਤਰ ਵੇਖਾਇਆ ਜਾਵੇ" @@ -448,80 +447,80 @@ msgstr "ਕਾਰਵਾਈ ਦਿੱਖ ਵਰਤੋਂ" msgid "Whether to use the related actions appearance properties" msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkadjustment.c:93 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 msgid "Value" msgstr "ਮੁੱਲ" -#: ../gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:115 msgid "The value of the adjustment" msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਮੁੱਲ ਹੈ" -#: ../gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:131 msgid "Minimum Value" msgstr "ਘੱਟੋ-ਘੱਟ ਮੁੱਲ" -#: ../gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:132 msgid "The minimum value of the adjustment" msgstr "ਅਜਡੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਘੱਟੋ-ਘੱਟ ਮੁੱਲ ਹੈ" -#: ../gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:151 msgid "Maximum Value" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ" -#: ../gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:152 msgid "The maximum value of the adjustment" msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ ਹੈ" -#: ../gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:168 msgid "Step Increment" msgstr "ਸਟੈਪ ਵਾਧਾ" -#: ../gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:169 msgid "The step increment of the adjustment" msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਟੈਪ ਵਾਧਾ ਹੈ" -#: ../gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:185 msgid "Page Increment" msgstr "ਸਫ਼ਾ ਵਾਧਾ" -#: ../gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:186 msgid "The page increment of the adjustment" msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਫ਼ਾ ਵਾਧਾ ਹੈ" -#: ../gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:205 msgid "Page Size" msgstr "ਸਫ਼ਾ ਅਕਾਰ" -#: ../gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:206 msgid "The page size of the adjustment" msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਫ਼ਾ ਅਕਾਰ ਹੈ" -#: ../gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:127 msgid "Horizontal alignment" msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" -#: ../gtk/gtkalignment.c:124 ../gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" msgstr "ਉਪਲੱਬਧ ਥਾਂ ਵਿੱਚ ਚਲਾਇਡ ਲਈ ਲੇਟਵੀ ਸਥਿਤੀ, ਸਫਬੰਦੀ ਖੱਬੇ 0.0 ਤੇ , ਸੱਜੇ 1.0 ਤੇ " -#: ../gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:137 msgid "Vertical alignment" msgstr "ਲੰਬਰੂਪੀ ਸਫਬੰਦੀ" -#: ../gtk/gtkalignment.c:134 ../gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" msgstr "ਉਪਲੱਬਧ ਥਾਂ ਵਿੱਚ ਚਲਾਇਡ ਲਈ ਲੰਬਕਾਰੀ ਹਾਲਤ ਸਫਬੰਦੀ ਉਪਰੋਂ 0.0 ਤੇ , ਥੱਲਿਉ1.0 'ਤੇ।" -#: ../gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:146 msgid "Horizontal scale" msgstr "ਲੇਟਵਾਂ ਸਕੇਲ" -#: ../gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:147 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -529,11 +528,11 @@ msgstr "" "ਜੇਕਰ ਉਪਲੱਬਧ ਲੇਟਵੀ ਥਾਂ ਚਲਾਇਡ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਤੋਂ ਵਧੇਰੇ ਹੋਵੇ ਤਾਂਚਲਾਇਡ ਕਿੰਨੀ ਵਰਤੇ 0.0 ਦਾ ਮਤਲਬ ਕੁਝ " "ਵੀ ਨਹੀ, 1.0 ਸਭ" -#: ../gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:155 msgid "Vertical scale" msgstr "ਲੰਬਕਾਰੀ ਪੈਮਾਨਾ" -#: ../gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:156 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -541,35 +540,35 @@ msgstr "" "ਜੇਕਰ ਉਪਲੱਬਧ ਲੰਬਕਾਰੀ ਥਾਂ ਚਲਾਇਡ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਤੋਂ ਵਧੇਰੇ ਹੋਵੇ ਤਾਂ ਚਲਾਇਡ ਕਿੰਨੀ ਵਰਤੇ 0.0 ਦਾ ਮਤਲਬ " "ਕੁਝ ਵੀ ਨਹੀ, 1.0 ਸਭ" -#: ../gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:173 msgid "Top Padding" msgstr "ਉੱਤੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:174 msgid "The padding to insert at the top of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਉੱਤੇ ਚਿਣ ਦਿਓ" -#: ../gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:190 msgid "Bottom Padding" msgstr "ਥੱਲੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:191 msgid "The padding to insert at the bottom of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਹੇਠਾਂ ਚਿਣ ਦਿਓ" -#: ../gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:207 msgid "Left Padding" msgstr "ਖੱਬੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:208 msgid "The padding to insert at the left of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਖੱਬੇ ਚਿਣ ਦਿਓ" -#: ../gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:224 msgid "Right Padding" msgstr "ਸੱਜੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:225 msgid "The padding to insert at the right of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਸੱਜੇ ਚਿਣ ਦਿਓ" @@ -589,7 +588,7 @@ msgstr "ਤੀਰ ਛਾਂ" msgid "Appearance of the shadow surrounding the arrow" msgstr "ਤੀਰ ਦੇ ਆਲੇ ਦੁਆਲੇ ਛਾਂ ਵੇਖਾਓ" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:735 ../gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 msgid "Arrow Scaling" msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" @@ -597,7 +596,7 @@ msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" msgid "Amount of space used up by arrow" msgstr "ਤੀਰ ਵਲੋਂ ਵਰਤੀ ਗਈ ਥਾਂ ਦੀ ਮਾਤਰਾ" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 msgid "Horizontal Alignment" msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" @@ -605,7 +604,7 @@ msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" msgid "X alignment of the child" msgstr "ਚਾਇਲਡ ਦੀ X ਕਤਾਰਬੰਦੀ" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 msgid "Vertical Alignment" msgstr "ਲੰਬਕਾਰੀ ਸਫਬੰਦੀ" @@ -629,199 +628,199 @@ msgstr "ਉਬੇ-ਚਾਇਲਡ" msgid "Force aspect ratio to match that of the frame's child" msgstr "ਫਰੇਮ ਦੀ ਚਾਇਲਡ ਨਾਲ ਆਕਾਰ-ਅਨੁਪਾਤ ਨਾਲ ਮਿਲਾਓ" -#: ../gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:327 msgid "Header Padding" msgstr "ਹੈੱਡਰ ਪੈਡਿੰਗ" -#: ../gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:328 msgid "Number of pixels around the header." msgstr "ਹੈੱਡਰ ਦੇ ਦੁਆਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" -#: ../gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:335 msgid "Content Padding" msgstr "ਸਮੱਗਰੀ ਪੈਡਿੰਗ" -#: ../gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:336 msgid "Number of pixels around the content pages." msgstr "ਸਮੱਗਰੀ ਪੇਜ਼ਾਂ ਦੁਆਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" -#: ../gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:352 msgid "Page type" msgstr "ਪੇਜ਼ ਕਿਸਮ" -#: ../gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:353 msgid "The type of the assistant page" msgstr "ਜਾਰੀ ਪੇਜ਼ ਦੀ ਕਿਸਮ ਹੈ" -#: ../gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:370 msgid "Page title" msgstr "ਸਫ਼ਾ ਟਾਇਟਲ" -#: ../gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:371 msgid "The title of the assistant page" msgstr "ਜਾਰੀ ਸਫ਼ੇ ਦਾ ਟਾਇਟਲ" -#: ../gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:387 msgid "Header image" msgstr "ਹੈੱਡਰ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:388 msgid "Header image for the assistant page" msgstr "ਸਹਾਇਕ ਸਫ਼ੇ ਲਈ ਹੈੱਡਰ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image" msgstr "ਸਾਈਡ-ਬਾਰ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:405 msgid "Sidebar image for the assistant page" msgstr "ਸਹਾਇਕ ਸਫ਼ੇ ਲਈ ਬਾਹੀ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:420 msgid "Page complete" msgstr "ਸਫ਼ਾ ਪੂਰਾ ਹੋਇਆ" -#: ../gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:421 msgid "Whether all required fields on the page have been filled out" msgstr "ਕੀ ਸਫ਼ੇ ਉੱਤੇ ਸਭ ਲੋੜੀਦੇ ਖੇਤਰ ਭਰਨੇ ਹਨ" -#: ../gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "ਘੱਟੋ-ਘੱਟ ਚਾਇਲਡ ਚੌੜਾਈ" -#: ../gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "ਡੱਬੇ ਦੇ ਅੰਦਰ ਬਟਨਾਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" -#: ../gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "ਘੱਟੋ-ਘੱਟ ਚਾਇਲਡ ਉਚਾਈ" -#: ../gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "ਡੱਬੇ ਦੇ ਅੰਦਰ ਬਟਨਾਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਉਚਾਈ" -#: ../gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "ਚਾਇਲਡ ਦੀ ਅੰਦਰੂਨੀ ਚਿਣਨ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "ਚਾਇਲਡ ਦੇ ਆਕਾਰ ਵਿੱਚ ਕਿਸੇ ਵੀ ਪਾਸੇ ਵਾਧੇ ਦੀ ਮਿਣਤੀ" -#: ../gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "ਚਾਇਲਡ ਦੀ ਅੰਦਰੂਨੀ ਚਿਣਨ ਦੀ ਉਚਾਈ" -#: ../gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "ਚਾਇਲਡ ਦੇ ਆਕਾਰ ਵਿੱਚ ਉੱਪਰ ਅਤੇ ਹੇਠਾਂ ਵਾਲੇ ਪਾਸੇ ਵਾਧੇ ਦੀ ਮਿਣਤੀ" -#: ../gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "ਲੇਆਉਟ ਸਟਾਇਲ" -#: ../gtk/gtkbbox.c:172 +#: ../gtk/gtkbbox.c:189 msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" msgstr "ਡੱਬੇ ਵਿੱਚ ਬਟਨਾਂ ਦਾ ਲੇ-ਆਉਟ ਕਿਵੇਂ ਹੋਵੇ। ਉਪਲੱਬਧ ਮੁੱਲ ਹਨ: ਖਿਲਰਿਆ, ਕਿਨਾਰਾ, ਸ਼ੁਰੂ ਅਤੇ ਅੰਤ" -#: ../gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "ਸੈਕੰਡਰੀ" -#: ../gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" msgstr "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ ਚਾਇਲਡ, ਚਾਇਲਡਰਨ ਦੇ ਗਰੁੱਪ ਦਾ ਸੈਕੰਡਰੀ ਬਣ ਰਹੀ ਜਾਪਦੀ ਹੈ ਜਿਵੇ ਕਿ ਮੱਦਦ ਬਟਨ " -#: ../gtk/gtkbox.c:227 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:666 -#: ../gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Spacing" msgstr "ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "ਚੈਲਡਰਨ ਵਿੱਚ ਕਿੰਨੀ ਥਾਂ ਹੈ" -#: ../gtk/gtkbox.c:237 ../gtk/gtktable.c:184 ../gtk/gtktoolbar.c:550 -#: ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "ਸਮਰੂਪ" -#: ../gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "ਕੀ ਚੈਲਰਨ ਇੱਕੋ ਆਕਾਰ ਦੇ ਹੋਣ" -#: ../gtk/gtkbox.c:254 ../gtk/gtktoolbar.c:542 ../gtk/gtktoolitemgroup.c:1631 -#: ../gtk/gtktoolpalette.c:1065 ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 msgid "Expand" msgstr "ਫੈਲਾਓ" -#: ../gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "ਕੀ ਚਾਇਲਡ ਵੱਖਰੀ ਥਾਂ ਲੈ ਲੈਣ ਜਦੋਂ ਕਿ ਮੂਲ਼ (ਪੇਰੈਨਟ) ਵੱਧ ਰਹੇ ਹੋ" -#: ../gtk/gtkbox.c:271 ../gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "ਭਰੋ" -#: ../gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:282 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" msgstr "ਕੀ ਚਾਇਲਡ ਦੀ ਖਾਲੀ ਥਾਂ ਚਾਇਡ ਨੂੰ ਦੇ ਦਿੱਤੀ ਜਾਵੇ ਜਾਂ ਚਿਣਨ ਲਈ ਵਰਤੀ ਜਾਵੇ " -#: ../gtk/gtkbox.c:279 ../gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 msgid "Padding" msgstr "ਚਿਣਿਆ" -#: ../gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:290 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "ਵਾਧੂ ਥਾਂ, ਚਾਇਲਡ ਅਤੇ ਗੁਆਢੀ ਵਿੱਚਕਾਰ ਦੇਣ ਲਈ ( ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:296 msgid "Pack type" msgstr "ਪੈਕ ਕਿਸਮ" -#: ../gtk/gtkbox.c:287 ../gtk/gtknotebook.c:752 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" msgstr "ਇਹ GtkPackType ਵੇਖਾ ਰਿਹਾ ਹੈ ਕਿ ਚਲਾਇਡ ਨੂੰ ਪੇਰੈਟ ਦੇ ਸ਼ੁਰੂ ਜ਼ਾਂ ਅਖੀਰ ਵਿੱਚ ਪੈਕ ਕੀਤਾ ਜਾਏ" -#: ../gtk/gtkbox.c:293 ../gtk/gtknotebook.c:723 ../gtk/gtkpaned.c:270 -#: ../gtk/gtkruler.c:158 ../gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "ਟਿਕਾਣਾ" -#: ../gtk/gtkbox.c:294 ../gtk/gtknotebook.c:724 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 msgid "The index of the child in the parent" msgstr "ਪੇਰੈਟ ਵਿੱਚ ਚਾਇਲਡ ਦਾ ਇੰਡੈਕਸ" -#: ../gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "ਟਰਾਂਸਲੇਟ ਡੋਮੇਨ" -#: ../gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "gettext ਵਲੋਂ ਵਰਤੀ ਟਰਾਂਸਲੇਟ ਡੋਮੇਨ" -#: ../gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:227 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "ਬਟਨ ਵਿੱਚ ਲੇਬਲ ਵਿਦਗਿਟ ਦੇ ਸ਼ਬਦ, ਜੇਕਰ ਬਟਨ ਵਿੱਚ ਲੇਬਲ ਵਿਦਗਿਟ ਹੈ" -#: ../gtk/gtkbutton.c:246 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:570 -#: ../gtk/gtkmenuitem.c:348 ../gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 +#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "ਹੇਠਾਂ-ਲਾਈਨ ਵਰਤੋਂ" -#: ../gtk/gtkbutton.c:247 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:571 -#: ../gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:347 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -829,226 +828,218 @@ msgstr "" "ਜੇਕਰ, ਸ਼ਬਦ ਵਿੱਚ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚੀ ਗਈ ਹੈ ਤਾਂ ਇਹ ਅਗਲੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਵੇਗਾ ਕਿ ਉਹ ਕੀ-ਬੋਰਡ ਤੋਂ ਵਰਤਿਆ " "ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkbutton.c:254 ../gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 msgid "Use stock" msgstr "ਸਟਾਕ ਵਰਤੋਂ" -#: ../gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:243 msgid "If set, the label is used to pick a stock item instead of being displayed" msgstr "ਜੇਕਰ ਸੈੱਟ ਕੀਤਾ ਤਾਂ, ਲੇਬਲ ਸਟਾਕ ਆਈਟਮ ਨੂੰ ਚੁੱਕੇਗਾ ਨਾ ਕਿ ਉਸ ਨੂੰ ਵੇਖਾਵੇਗਾ" -#: ../gtk/gtkbutton.c:262 ../gtk/gtkcombobox.c:842 -#: ../gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "ਕਲਿੱਕ 'ਤੇ ਫੋਕਸ" -#: ../gtk/gtkbutton.c:263 ../gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "ਕੀ ਬਟਨ ਫੋਕਸ ਹੋ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਇਹ ਮਾਊਸ ਨਾਲ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:258 msgid "Border relief" msgstr "ਹਾਸ਼ੀਏ ਦੀ ਛੋਟ" -#: ../gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:259 msgid "The border relief style" msgstr "ਬਾਰਡਰ ਛੋਟ ਸਟਾਇਲ" -#: ../gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:276 msgid "Horizontal alignment for child" msgstr "ਚਾਇਲਡ ਲਈ ਲੇਟਵੀ ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:295 msgid "Vertical alignment for child" msgstr "ਚਾਇਲਡ ਲਈ ਲੰਬਕਾਰੀ ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkbutton.c:324 ../gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 msgid "Image widget" msgstr "ਚਿੱਤਰ ਵਿਦਗਿਟ" -#: ../gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:313 msgid "Child widget to appear next to the button text" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ, ਬਟਨ ਟੈਕਸਟ ਤੋਂ ਅੱਗੇ ਦਿੱਸਣ ਲਈ" -#: ../gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:327 msgid "Image position" msgstr "ਚਿੱਤਰ ਸਥਿਤੀ" -#: ../gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:328 msgid "The position of the image relative to the text" msgstr "ਟੈਕਸਟ ਦੇ ਮੁਤਾਬਕ ਚਿੱਤਰ ਦੀ ਅਨੁਸਾਰੀ ਸਥਿਤੀ" -#: ../gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:448 msgid "Default Spacing" msgstr "ਮੂਲ ਫਾਸਲਾ" -#: ../gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:449 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "GTK_CAN_DEFAULT ਬਟਨਾਂ ਲਈ ਹੋਰ ਥਾਂ ਸ਼ਾਮਲ ਕੀਤੀ" -#: ../gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:463 msgid "Default Outside Spacing" msgstr "ਮੂਲ ਬਾਹਰੀ ਖਾਲ਼ੀ ਥਾਂ" -#: ../gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:464 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" msgstr "ਬਟਨਾਂ GTK_CAN_DEFAULT ਲਈ ਵੱਖਰੀ ਥਾਂ ਜੋੜੋ, ਹੋ ਕਿ ਹਾਸ਼ੀਏ ਤੋਂ ਹਮੇਸ਼ਾ ਬਾਹਰ ਖਿੱਚੀ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:469 msgid "Child X Displacement" msgstr "ਚਾਇਲਡ X ਹਿਲਾਉਣਾ" -#: ../gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:470 msgid "How far in the x direction to move the child when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ ਚਾਇਲਡ ਨੂੰ X ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿਲਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:477 msgid "Child Y Displacement" msgstr "ਚਾਇਲਡ Y ਹਿਲਾਉਣਾ" -#: ../gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:478 msgid "How far in the y direction to move the child when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ ਚਾਇਲਡ ਨੂੰ Y ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿਲਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:494 msgid "Displace focus" msgstr "ਫੋਕਸ ਹਿਲਾਓ" -#: ../gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:495 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" msgstr "ਕੀ child_displacement_x/_y properties ਚਤੁਰਭੁਜ ਫੋਕਸ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkbutton.c:520 ../gtk/gtkentry.c:696 ../gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:509 msgid "Border between button edges and child." msgstr "ਬਟਨ ਕਿਨਾਰੇ ਅਤੇ ਅਧੀਨ ਵਿੱਚ ਹਾਸ਼ੀਆ ਹੈ।" -#: ../gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:522 msgid "Image spacing" msgstr "ਚਿੱਤਰ ਫਾਸਲਾ" -#: ../gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:523 msgid "Spacing in pixels between the image and label" msgstr "ਚਿੱਤਰ ਅਤੇ ਲੇਬਲ ਵਿੱਚ ਫਾਸਲਾ ਪਿਕਸਲ ਵਿੱਚ" -#: ../gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "ਬਟਨ-ਚਿੱਤਰ ਵੇਖਾਓ" - -#: ../gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "ਕੀ ਬਟਨਾਂ ਉੱਤੇ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" - -#: ../gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:479 msgid "Year" msgstr "ਵਰ੍ਹਾ" -#: ../gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:480 msgid "The selected year" msgstr "ਚੁਣਿਆ ਵਰ੍ਹਾ" -#: ../gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:493 msgid "Month" msgstr "ਮਹੀਨਾ" -#: ../gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:494 msgid "The selected month (as a number between 0 and 11)" msgstr "ਚੁਣਿਆ ਮਹੀਨਾ (ਇੱਕ ਨੰਬਰ 0 ਅਤੇ 11 ਵਿੱਚੋਂ)" -#: ../gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:508 msgid "Day" msgstr "ਦਿਨ" -#: ../gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:509 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" msgstr "ਚੁਣਿਆ ਦਿਨ ( ਇੱਕ ਨੰਬਰ 1 ਅਤੇ 31 ਵਿੱਚੋ, ਜਾਂ 0 ਮੌਜੂਦਾ ਚੁਣੇ ਦਿਨ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ)" -#: ../gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:523 msgid "Show Heading" msgstr "ਹੈਡਿੰਗ ਵੇਖਾਓ" -#: ../gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:524 msgid "If TRUE, a heading is displayed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਹੈਡਿੰਗ ਦਿੱਸੇਗਾ" -#: ../gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:538 msgid "Show Day Names" msgstr "ਦਿਨ ਦੇ ਨਾਂ ਵੇਖਾਓ" -#: ../gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:539 msgid "If TRUE, day names are displayed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਦਿਨ ਦਾ ਨਾਂ ਵਿਖਾਈ ਦੇਵੇਗਾ" -#: ../gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:552 msgid "No Month Change" msgstr "ਕੋਈ ਮਹੀਨਾ ਨਾ ਬਦਲੋ" -#: ../gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:553 msgid "If TRUE, the selected month cannot be changed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਕੋਈ ਮਹੀਨਾ ਨਹੀਂ ਬਦਲ ਸਕੇਗਾ" -#: ../gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:567 msgid "Show Week Numbers" msgstr "ਹਫਤਾ ਨੰਬਰ ਵੇਖਾਓ" -#: ../gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:568 msgid "If TRUE, week numbers are displayed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਹਫਤੇ ਦਾ ਨੰਬਰ ਦਿੱਸੇਗਾ" -#: ../gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:583 msgid "Details Width" msgstr "ਵੇਰਵਾ ਚੌੜਾਈ" -#: ../gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:584 msgid "Details width in characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਵੇਰਵਾ ਚੌੜਾਈ" -#: ../gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:599 msgid "Details Height" msgstr "ਵੇਰਵਾ ਉਚਾਈ" -#: ../gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:600 msgid "Details height in rows" msgstr "ਕਤਾਰਾਂ ਵਿੱਚ ਵੇਰਵੇ ਦੀ ਉਚਾਈ" -#: ../gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:616 msgid "Show Details" msgstr "ਵੇਰਵਾ ਵੇਖੋ" -#: ../gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:617 msgid "If TRUE, details are shown" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਵੇਰਵਾ ਵੇਖੋ" -#: ../gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:629 msgid "Inner border" msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:630 msgid "Inner border space" msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ ਥਾਂ" -#: ../gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:641 msgid "Vertical separation" msgstr "ਲੰਬਕਾਰ ਵੱਖਰੇਵਾਂ" -#: ../gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:642 msgid "Space between day headers and main area" msgstr "ਦਿਨ ਹੈੱਡਰ ਤੇ ਮੁੱਖ ਖੇਤਰ ਵਿੱਚ ਥਾਂ" -#: ../gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:653 msgid "Horizontal separation" msgstr "ਹਰੀਜੱਟਲ ਵੱਖਰੇਵਾਂ" -#: ../gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:654 msgid "Space between week headers and main area" msgstr "ਹਫ਼ਤਾ ਹੈੱਡਰ ਤੇ ਮੁੱਖ ਖੇਤਰ ਵਿੱਚ ਫਾਸਲਾ" @@ -1092,143 +1083,153 @@ msgstr "ਐਕਸਰਲੇਟਰ ਢੰਗ" msgid "The type of accelerators" msgstr "ਐਕਸਰਲੇਟਰ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:271 msgid "mode" msgstr "ਢੰਗ" -#: ../gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:272 msgid "Editable mode of the CellRenderer" msgstr "CellRenderer ਦਾ ਸੋਧਣਯੋਗ ਮੋਡ" -#: ../gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:280 msgid "visible" msgstr "ਦਿੱਖ" -#: ../gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:281 msgid "Display the cell" msgstr "ਸੈਲ ਵੇਖਾਓ" -#: ../gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:288 msgid "Display the cell sensitive" msgstr "ਸੈਲ ਸੰਵੇਦਸ਼ੀਲ ਵੇਖਾਓ" -#: ../gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:295 msgid "xalign" msgstr "x ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:296 msgid "The x-align" msgstr "x-ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:305 msgid "yalign" msgstr "y ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:306 msgid "The y-align" msgstr "y-ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:315 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:316 msgid "The xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:325 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:326 msgid "The ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:335 msgid "width" msgstr "ਚੌੜਾਈ" -#: ../gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:336 msgid "The fixed width" msgstr "ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" -#: ../gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:345 msgid "height" msgstr "ਉਚਾਈ" -#: ../gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:346 msgid "The fixed height" msgstr "ਨਿਸ਼ਚਿਤ ਉਚਾਈ" -#: ../gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:355 msgid "Is Expander" msgstr "ਫੈਲਣਯੋਗ ਹੈ" -#: ../gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:356 msgid "Row has children" msgstr "ਕਤਾਰ ਵਿੱਚ ਚਾਇਲਡਰਨ ਹਨ" -#: ../gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:364 msgid "Is Expanded" msgstr "ਫੈਲ ਗਿਆ ਹੈ" -#: ../gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:365 msgid "Row is an expander row, and is expanded" msgstr "ਕਤਾਰ ਇੱਕ ਫੈਲਣਯੋਗ ਕਤਾਰ ਹੈ ਅਤੇ ਫੈਲ ਗਈ ਹੈ" -#: ../gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:372 msgid "Cell background color name" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਦਾ ਨਾਂ" -#: ../gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color as a string" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:380 msgid "Cell background color" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color as a GdkColor" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkColor ਵਾਂਗ" -#: ../gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:394 +#| msgid "Cell background color" +msgid "Cell background RGBA color" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ RGBA ਰੰਗ" + +#: ../gtk/gtkcellrenderer.c:395 +#| msgid "Cell background color as a GdkColor" +msgid "Cell background color as a GdkRGBA" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkRGBA ਵਾਂਗ" + +#: ../gtk/gtkcellrenderer.c:402 msgid "Editing" msgstr "ਸੋਧ ਜਾਰੀ" -#: ../gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:403 msgid "Whether the cell renderer is currently in editing mode" msgstr "ਕੀ ਸੋਧ ਢੰਗ ਵਿੱਚ ਮੌਜੂਦਾ ਸੈੱਲ ਰੈਡਰਿੰਗ ਹੋਵੇ" -#: ../gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:411 msgid "Cell background set" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:412 msgid "Whether this tag affects the cell background color" msgstr "ਕੀ ਇਹ ਟੈਗ ਸੈਲ਼ ਦੀ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇਗਾ" -#: ../gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "ਮਾਡਲ" -#: ../gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "ਮਾਡਲ ਕੰਬੋ-ਬਾਕਸ ਲਈ ਸੰਭਵ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" -#: ../gtk/gtkcellrenderercombo.c:133 ../gtk/gtkcomboboxentry.c:146 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "ਟੈਕਸਟ ਕਾਲਮ" -#: ../gtk/gtkcellrenderercombo.c:134 ../gtk/gtkcomboboxentry.c:147 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "ਕਾਲਮ ਡੈਟਾ-ਸਰੋਤ ਮਾਡਲ ਵਿੱਚ ਸਤਰਾਂ ਇਸ ਤੋਂ ਪਰਾਪਤ ਕਰੇਗਾ" -#: ../gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 msgid "Has Entry" msgstr "ਇੰਦਰਾਜ਼ ਹੈ" -#: ../gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "ਜੇਕਰ ਗਲਤ ਹੋਇਆ ਤਾਂ, ਇਹ ਚੁਣਿਆਂ ਤੋਂ ਬਿਨਾਂ ਸਤਰ ਦੇਣ ਨੂੰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰੇਗਾ" @@ -1256,7 +1257,7 @@ msgstr "ਪਿਕਬੱਪ ਐਕਸਪੈਡਰ ਬੰਦ" msgid "Pixbuf for closed expander" msgstr "ਬੰਦ ਐਕਸਪੈਡਰ ਲਈ ਪਿਕਬੱਪ" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:244 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 #: ../gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "ਸਟਾਕ ID" @@ -1266,7 +1267,7 @@ msgid "The stock ID of the stock icon to render" msgstr "ਪੇਸ਼ ਕਰਨ ਲਈ ਸਟਾਕ ਆਈਕਾਨ ਦਾ ਸਟਾਕ ID" #: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 -#: ../gtk/gtkrecentmanager.c:305 ../gtk/gtkstatusicon.c:269 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 msgid "Size" msgstr "ਅਕਾਰ" @@ -1290,8 +1291,8 @@ msgstr "ਅੱਗੇ ਹਾਲਤ" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "ਕੀ ਪੇਸ਼ਕਾਰੀ ਪਿਕਬਫ਼ਰ ਨੂੰ ਹਾਲਤ ਦੇ ਅਨੁਸਾਰ ਰੰਗਦਾਰ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:319 -#: ../gtk/gtkwindow.c:697 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:709 msgid "Icon" msgstr "ਆਈਕਾਨ" @@ -1299,10 +1300,10 @@ msgstr "ਆਈਕਾਨ" msgid "Value of the progress bar" msgstr "ਤਰੱਕੀ ਪੱਟੀ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:231 -#: ../gtk/gtkentry.c:739 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:150 -#: ../gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 msgid "Text" msgstr "ਪਾਠ" @@ -1338,21 +1339,21 @@ msgstr "ਪਾਠ y -ਸ਼ਫ਼ਬੰਦੀ" msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "ਲੰਬਕਾਰੀ ਸ਼ਫ਼ਬੰਦੀ, 0 (ਉਤੋਂ) ਤੋਂ 1 (ਹੇਠਾਂ) ਹੈ।" -#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:126 -#: ../gtk/gtkrange.c:433 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:439 msgid "Inverted" msgstr "ਬਦਲਵਾਂ" -#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:127 +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 msgid "Invert the direction in which the progress bar grows" msgstr "ਤਰੱਕੀ-ਪੱਟੀ ਦੇ ਵੱਧਣ ਦੀ ਦਿਸ਼ਾ ਨੂੰ ਉਲਟਾ ਕਰੋ" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:425 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 msgid "Adjustment" msgstr "ਅਨਕੂਲਤਾ" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 msgid "The adjustment that holds the value of the spin button" msgstr "ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਸਪਿਨ-ਬਟਨ ਦਾ ਮੁੱਲ ਰੱਖਦੀ ਹੈ" @@ -1360,22 +1361,23 @@ msgstr "ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਸਪਿਨ-ਬਟਨ ਦਾ ਮ msgid "Climb rate" msgstr "ਚੜ੍ਹਨ ਦਰ" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 msgid "The acceleration rate when you hold down a button" msgstr "ਬਟਨ ਨੂੰ ਦਬਾਕੇ ਰੱਖਣ ਤੇ ਐਕਸਲੇਸ਼ਨ" -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:244 -#: ../gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:247 msgid "Digits" msgstr "ਅੰਕ" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 msgid "The number of decimal places to display" msgstr "ਵੇਖਾਉਣ ਲਈ ਦਸ਼ਮਲਵ ਅੰਕਾਂ ਦੀ ਗਿਣਤੀ" #: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:525 ../gtk/gtkspinner.c:131 ../gtk/gtktoggleaction.c:133 -#: ../gtk/gtktogglebutton.c:115 ../gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "ਸਰਗਰਮ" @@ -1391,171 +1393,191 @@ msgstr "ਸਪਿੱਨਰ ਦੀ ਪਲਸ" msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "GtkIconSize ਮੁੱਲ ਜੋ ਕਿ ਰੈਂਡਰ ਕੀਤੇ ਸਪਿੱਨਰ ਦਾ ਆਕਾਰ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "ਪੇਸ਼ਕਾਰੀ ਪਾਠ" -#: ../gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "ਨਿਸ਼ਾਨਬੱਧ" -#: ../gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "ਪੇਸ਼ਕਾਰੀ ਲਈ ਟੈਕਸਟ ਦੀ ਨਿਸ਼ਾਨਬੰਦੀ" -#: ../gtk/gtkcellrenderertext.c:247 ../gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 msgid "Attributes" msgstr "ਗੁਣ" -#: ../gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "ਪੇਸ਼ ਕਰਨ ਲਈ ਟੈਕਸਟ ਲਈ ਜਾਰੀ ਸਟਾਇਲ ਗੁਣਾਂ ਦੀ ਲਿਸਟ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "ਇੱਕ ਪੈਰਾ ਮੋਡ" -#: ../gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" msgstr "ਕੀ ਸਾਰੇ ਟੈਕਸਟ ਨੂੰ ਇੱਕੋ ਪ੍ਹੈਰੇ ਵਿੱਚ ਰੱਖਣਾ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:264 ../gtk/gtkcellview.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 #: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" -#: ../gtk/gtkcellrenderertext.c:265 ../gtk/gtkcellview.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 #: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:272 ../gtk/gtkcellview.c:185 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 #: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtkcellrenderertext.c:273 ../gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkColor ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:311 +#| msgid "Background color name" +msgid "Background color as RGBA" +msgstr "RGBA ਵਜੋਂ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 +#| msgid "Background color as a GdkColor" +msgid "Background color as a GdkRGBA" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkRGBA ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" -#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਇੱਕ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtktexttag.c:210 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 #: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "ਫਾਰਗਰਾਊਂਡ GdkColor ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkentry.c:663 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:341 +#| msgid "Foreground color name" +msgid "Foreground color as RGBA" +msgstr "RGBA ਵਜੋਂ ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtkcellrenderertext.c:342 +#| msgid "Foreground color as a GdkColor" +msgid "Foreground color as a GdkRGBA" +msgstr "ਫਾਰਗਰਾਊਂਡ GdkRGBA ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 msgid "Editable" msgstr "ਸੋਧਯੋਗ" -#: ../gtk/gtkcellrenderertext.c:298 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:685 msgid "Whether the text can be modified by the user" msgstr "ਕੀ ਟੈਕਸਟ ਵਰਤਣਵਾਲਾ ਸੋਧ ਸਕੇ ਜਾਂ ਨਾ" -#: ../gtk/gtkcellrenderertext.c:305 ../gtk/gtkcellrenderertext.c:313 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 #: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "ਫੋਟ" -#: ../gtk/gtkcellrenderertext.c:306 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "ਫੋਂਟ ਵਰਨਣ ਇੱਕ ਸਤਰ ਦੀ ਤਰਾਂ ਜਿਵੇ ਕਿ \"ਸੇਨਸ਼ ਇਟਾਲਿਕ 12\"" -#: ../gtk/gtkcellrenderertext.c:314 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "ਫੋਂਟ ਦਾ ਵੇਰਵਾ PangoFontDescription ਢਾਚੇ ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:322 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "ਫੋਂਟ ਸਮੂਹ" -#: ../gtk/gtkcellrenderertext.c:323 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "ਫੋਂਟ ਸਮੂਹ ਦਾ ਨਾਂ, ਜਿਵੇ ਕਿ ਸੰਨਜ, ਟਾਇਮਜ਼, ਮੋਨੋਸਪੇਸ" -#: ../gtk/gtkcellrenderertext.c:330 ../gtk/gtkcellrenderertext.c:331 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 #: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "ਫੋਂਟ ਸਟਾਇਲ" -#: ../gtk/gtkcellrenderertext.c:339 ../gtk/gtkcellrenderertext.c:340 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 #: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "ਫੋਂਟ ਬਦਲ" -#: ../gtk/gtkcellrenderertext.c:348 ../gtk/gtkcellrenderertext.c:349 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 #: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "ਫੋਂਟ ਵੇਟ" -#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:359 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 #: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "ਫੋਂਟ ਤਣਾਅ" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtkcellrenderertext.c:368 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 #: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "ਫੋਂਟ ਅਕਾਰ" -#: ../gtk/gtkcellrenderertext.c:377 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "ਫੋਂਟ ਬਿੰਦੂ" -#: ../gtk/gtkcellrenderertext.c:378 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "ਫੋਂਟ ਅਕਾਰ ਪੁਆਇਟ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:387 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "ਫੋਂਟ ਸਕੇਲ" -#: ../gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "ਫੋਂਟ ਸਕੇਲਿੰਗ ਫੈਕਟਰ" -#: ../gtk/gtkcellrenderertext.c:397 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "ਉਭਰੋ" -#: ../gtk/gtkcellrenderertext.c:398 +#: ../gtk/gtkcellrenderertext.c:451 msgid "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "ਟੈਕਸਟ ਦਾ ਮੁੱਖ-ਸਤਰ ਤੋਂ ਉੱਤੇ ਸੰਤੁਲਨ (ਮੁੱਖ-ਸਤਰ ਤੋਂ ਹੇਠਾਂ ਉਭਾਰ ਰਿਣਾਤਮਕ ਹੈ)" -#: ../gtk/gtkcellrenderertext.c:409 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "ਵਿੰਨ੍ਹੋ" -#: ../gtk/gtkcellrenderertext.c:410 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "ਕੀ ਟੈਕਸਟ ਨੂੰ ਵਿੱਚੋਂ ਵਿੰਨ੍ਹਣਾ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:417 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "ਹੇਠਾਂ ਲਾਈਨ" -#: ../gtk/gtkcellrenderertext.c:418 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "ਇਸ ਟੈਕਸਟ ਦੇ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚਣ ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkcellrenderertext.c:426 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "ਭਾਸ਼ਾ" -#: ../gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1564,39 +1586,39 @@ msgstr "" "ਭਾਸ਼ਾ, ਜਿਸ ਵਿੱਚ ਇਹ ਕੋਡ ਹੈ, ਦਾ ISO ਕੋਡ ਹੈ, ਟੈਕਸਟ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ ਪੈਨਗੋ ਦੀ ਉਦਾਹਰਨ ਲਈ ਜਾ " "ਸਕਦੀ ਹੈ, ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਨਹੀਂ ਸਮਝ ਸਕੇ ਤਾਂ ਤੁਹਾਨੂੰ ਇਸ ਦੀ ਲੋੜ ਵੀ ਨਹੀਂ ਹੈ " -#: ../gtk/gtkcellrenderertext.c:447 ../gtk/gtklabel.c:681 -#: ../gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "ਅੰਡਕਾਰ-ਅਕਾਰ" -#: ../gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" msgstr "ਅੰਡਾਕਾਰ-ਅਕਾਰ ਸਤਰ ਦੀ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਸੈਲ ਕੋਈ ਪੂਰੀ ਸਤਰ ਨੂੰ ਵੇਖਾਉਣ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਨਾ ਹੋਵੇ" -#: ../gtk/gtkcellrenderertext.c:467 ../gtk/gtkfilechooserbutton.c:413 -#: ../gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:719 msgid "Width In Characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" -#: ../gtk/gtkcellrenderertext.c:468 ../gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 msgid "The desired width of the label, in characters" msgstr "ਲੇਬਲ ਦੀ ਲੋੜੀਦੀ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 msgid "Maximum Width In Characters" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:546 msgid "The maximum width of the cell, in characters" msgstr "ਸੈੱਲ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:511 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "ਸਮੇਟਣ ਢੰਗ" -#: ../gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1604,149 +1626,149 @@ msgstr "" "ਲਾਈਨਾਂ ਨੂੰ ਬਹੁ-ਲਾਈਨਾਂ ਵਿੱਚ ਕਿਵੇਂ ਵੰਡਿਆ ਜਾਵੇ, ਜੇਕਰ ਸੈਲ ਕੋਲ ਲਾਈਨਾਂ ਨੂੰ ਵਿਖਾਉਣ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਨਾ " "ਹੋਵੇ।" -#: ../gtk/gtkcellrenderertext.c:531 ../gtk/gtkcombobox.c:731 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 msgid "Wrap width" msgstr "ਚੌੜਾਈ ਨੂੰ ਲੇਪਟੋ" -#: ../gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "ਚੌੜਾਈ, ਜਿਸ ਨਾਲ ਟੈਕਸਟ ਸਮੇਟਿਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkcellrenderertext.c:552 ../gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 msgid "Alignment" msgstr "ਸ਼ਫਬੰਦੀ" -#: ../gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "ਲਾਈਨਾਂ ਨੂੰ ਇਕਸਾਰ ਕਿਵੇਂ ਕਰਨਾ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:565 ../gtk/gtkcellview.c:208 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 #: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "ਬੈਕਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:566 ../gtk/gtkcellview.c:209 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 #: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "ਕੀ ਇਹ ਟੈਗ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:569 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "ਫਾਰ-ਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:570 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "ਕੀ ਇਹ ਟੈਗ ਫਾਰ-ਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:573 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "ਸੋਧਣਯੋਗਤਾ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:574 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "ਕੀ ਇਹ ਟੈਕਸਟ ਸੋਧਣਯੋਗਤਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:577 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "ਫੋਂਟ ਸਮੂਹ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:578 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਸਮੂਹ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:581 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "ਫੋਂਟ ਸਟਾਇਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:582 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਸਟਾਇਲ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:585 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "ਫੋਂਟ ਬਦਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:586 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਤਬਦੀਲੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:589 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "ਫੋਂਟ ਵੇਟ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:590 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਫੈਲਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:593 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "ਫੋਂਟ ਤਣਾਅ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:594 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਤਣਾਅ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "ਫੋਂਟ ਆਕਾਰ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:598 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਆਕਾਰ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:601 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "ਫੋਂਟ ਸਕੇਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:602 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਅਕਾਰ ਨੂੰ ਗੁਣਾਂਕ ਪੈਮਾਨਾ ਨਾਲ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "ਉਭਾਰਨਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:606 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "ਕੀ ਇਹ ਟੈਗ ਉਭਾਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:609 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "ਵਿੰਨ੍ਹਣਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "ਕੀ ਇਹ ਟੈਗ ਵਿੰਨ੍ਹਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:613 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "ਹੇਠਾਂ ਲਾਈਨ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "ਕੀ ਇਹ ਟੈਗ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:617 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "ਭਾਸ਼ਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਕਸਟ ਪੇਸ਼ ਕਰਨ ਦੀ ਭਾਸ਼ਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "ਅੰਡਾਕਾਰ-ਅਕਾਰ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "ਕੀ ਅੰਡਾਕਾਰਅਕਾਰ ਢੰਗ ਇਸ ਟੈਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "ਸ਼ਫਬੰਦੀ ਸੈੱਟ" -#: ../gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "ਕੀ ਇਹ ਟੈਗ ਅੰਡਾਕਾਰਅਕਾਰ ਢੰਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" @@ -1786,28 +1808,33 @@ msgstr "ਬਦਲਣ ਵਾਲੇ ਬਟਨ ਨੂੰ ਰੇਡੀੳ ਬਟਨ msgid "Indicator size" msgstr "ਸੰਕੇਤਕ ਆਕਾਰ" -#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:72 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 #: ../gtk/gtkcheckmenuitem.c:129 msgid "Size of check or radio indicator" msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦਾ ਆਕਾਰ" -#: ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:213 +#| msgid "Background color" +msgid "Background RGBA color" +msgstr "ਬੈਕਗਰਾਊਂਡ RGBA ਰੰਗ" + +#: ../gtk/gtkcellview.c:228 msgid "CellView model" msgstr "ਸੈੱਲ-ਝਲਕ ਮਾਡਲ" -#: ../gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:229 msgid "The model for cell view" msgstr "ਸੈੱਲ ਝਲਕ ਲਈ ਮਾਡਲ" -#: ../gtk/gtkcheckbutton.c:71 ../gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 msgid "Indicator Size" msgstr "ਸੰਕੇਤਕ ਦਾ ਆਕਾਰ" -#: ../gtk/gtkcheckbutton.c:79 ../gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 msgid "Indicator Spacing" msgstr "ਸੰਕੇਤਕ ਦੀ ਥਾਂ" -#: ../gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:86 msgid "Spacing around check or radio indicator" msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਥਾਂ" @@ -1815,7 +1842,7 @@ msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦੇ ਆਲੇ- msgid "Whether the menu item is checked" msgstr "ਕੀ ਮੇਨੂ ਆਈਟਮ ਚੈੱਕ ਹੋ ਜਾਏ" -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "ਅਸੰਗਤ" @@ -1831,71 +1858,83 @@ msgstr "ਰੇਡੀਓ ਮੇਨੂ ਆਈਟਮ ਬਣਾਓ" msgid "Whether the menu item looks like a radio menu item" msgstr "ਕੀ ਮੇਨੂ ਆਈਟਮ ਇੱਕ ਰੇਡੀਓ ਮੇਨੂ ਆਈਟਮ ਵਾਂਗ ਲੱਗੇ" -#: ../gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:171 msgid "Use alpha" msgstr "ਐਲਫਾ ਵਰਤੋ" -#: ../gtk/gtkcolorbutton.c:160 +#: ../gtk/gtkcolorbutton.c:172 msgid "Whether to give the color an alpha value" msgstr "ਕੀ ਰੰਗ ਨੂੰ ਐਲਫਾ ਮੁੱਲ ਦਿੱਤਾ ਜਾਵੇ ਜਾਂ ਨਾ" -#: ../gtk/gtkcolorbutton.c:174 ../gtk/gtkfilechooserbutton.c:399 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 msgid "Title" msgstr "ਟਾਈਟਲ" -#: ../gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:187 msgid "The title of the color selection dialog" msgstr "ਰੰਗ ਚੁਣਨ ਵਾਲੀ ਤਖਤੀ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtkcolorbutton.c:189 ../gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "ਮੌਜੂਦਾ ਰੰਗ" -#: ../gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:202 msgid "The selected color" msgstr "ਚੁਣਿਆ ਰੰਗ" -#: ../gtk/gtkcolorbutton.c:204 ../gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "ਮੌਜੂਦਾ ਐਲਫਾ" -#: ../gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:217 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "ਚੁਣਿਆ ਧੁੰਦਲਾਪਨ (0 ਪੂਰੀ ਤਰਾਂ ਪਾਰਦਰਸ਼ੀ , 65535 ਪੂਰੀ ਤਰਾਂ ਧੁੰਦਲਾ)" -#: ../gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:231 +#| msgid "Current Color" +msgid "Current RGBA Color" +msgstr "ਮੌਜੂਦਾ RGBA ਰੰਗ" + +#: ../gtk/gtkcolorbutton.c:232 +#| msgid "The selected color" +msgid "The selected RGBA color" +msgstr "ਚੁਣਿਆ RGBA ਰੰਗ" + +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "ਧੁੰਦਲਾਪਨ ਕੰਟਰੋਲ ਹੈ" -#: ../gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "ਕੀ ਰੰਗ ਚੋਣ ਧੁੰਦਕਾਪਨ ਦੀ ਸੈਟਿੰਗ ਵੇਖਾਵੇ" -#: ../gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "ਰੰਗ-ਪੱਟੀ" -#: ../gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "ਕੀ ਰੰਗ-ਪੱਟੀ ਨੂੰ ਵਰਤਣਾ ਹੈ" -#: ../gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "ਮੌਜੂਦਾ ਰੰਗ" -#: ../gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "ਮੌਜੂਦਾ ਧੁੰਦਲਾਪਨ ਦਾ ਮੁੱਲ (0 ਪੂਰੀ ਤਰਾਂ ਪਾਰਦਰਸ਼ੀ , 65535 ਪੂਰੀ ਤਰਾਂ ਧੁੰਦਲਾ)" -#: ../gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "ਰੰਗ-ਪੱਟੀ ਦੀ ਚੋਣ" +#: ../gtk/gtkcolorsel.c:360 +#| msgid "Current Alpha" +msgid "Current RGBA" +msgstr "ਮੌਜੂਦਾ RGBA" -#: ../gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "ਰੰਗ ਚੋਣ ਵਿੱਚ ਰੰਗ-ਪੱਟੀ ਵਰਤੋਂ" +#: ../gtk/gtkcolorsel.c:361 +#| msgid "The current color" +msgid "The current RGBA color" +msgstr "ਮੌਜੂਦਾ RGBA ਰੰਗ" #: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" @@ -1929,139 +1968,187 @@ msgstr "ਮੱਦਦ ਬਟਨ" msgid "The help button of the dialog." msgstr "ਡਾਈਲਾਗ ਲਈ ਮੱਦਦ ਬਟਨ ਹੈ।" -#: ../gtk/gtkcombobox.c:714 +#: ../gtk/gtkcombobox.c:737 msgid "ComboBox model" msgstr "ਕੰਬੋ-ਬਾਕਸ ਮਾਡਲ" -#: ../gtk/gtkcombobox.c:715 +#: ../gtk/gtkcombobox.c:738 msgid "The model for the combo box" msgstr "ਕੰਬੋ-ਬਾਕਸ ਲਈ ਮਾਡਲ" -#: ../gtk/gtkcombobox.c:732 +#: ../gtk/gtkcombobox.c:755 msgid "Wrap width for laying out the items in a grid" msgstr "ਗਰਿੱਡ ਵਿੱਚ ਆਈਟਮਾਂ ਨੂੰ ਲੇਪਟਣ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcombobox.c:777 msgid "Row span column" msgstr "ਕਤਾਰ ਕਾਲਮ ਦਾ ਫਾਸਲਾ" -#: ../gtk/gtkcombobox.c:755 +#: ../gtk/gtkcombobox.c:778 msgid "TreeModel column containing the row span values" msgstr "ਟਰੀਮਾਡਲ ਕਾਲਮ ਵਿੱਚ ਕਤਾਰਾਂ ਦੇ ਵਿੱਚ ਦੂਰੀ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkcombobox.c:776 +#: ../gtk/gtkcombobox.c:799 msgid "Column span column" msgstr "ਕਾਲਮ ਕਾਲਮ ਵਿੱਚ ਦੂਰੀ" -#: ../gtk/gtkcombobox.c:777 +#: ../gtk/gtkcombobox.c:800 msgid "TreeModel column containing the column span values" msgstr "ਟਰੀਮਾਡਲ ਕਾਲਮ ਵਿੱਚ ਕਾਲਮਾਂ ਦੇ ਵਿੱਚ ਦੂਰੀ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkcombobox.c:798 +#: ../gtk/gtkcombobox.c:821 msgid "Active item" msgstr "ਸਰਗਰਮ ਆਈਟਮ" -#: ../gtk/gtkcombobox.c:799 +#: ../gtk/gtkcombobox.c:822 msgid "The item which is currently active" msgstr "ਆਈਟਮ, ਜੋ ਹੁਣ ਸਰਗਰਮ ਹੈ" -#: ../gtk/gtkcombobox.c:818 ../gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 msgid "Add tearoffs to menus" msgstr "ਵੱਖ-ਕਰਨ ਨੂੰ ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ" -#: ../gtk/gtkcombobox.c:819 +#: ../gtk/gtkcombobox.c:842 msgid "Whether dropdowns should have a tearoff menu item" msgstr "ਕੀ ਲਟਕਣ ਵਾਲੇ ਵੱਖ ਮੇਨੂ ਆਈਟਮਾਂ ਹੋਣ" -#: ../gtk/gtkcombobox.c:834 ../gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "ਫਰੇਮ ਹੈ" -#: ../gtk/gtkcombobox.c:835 +#: ../gtk/gtkcombobox.c:858 msgid "Whether the combo box draws a frame around the child" msgstr "ਕੀ ਕੰਬੋ-ਬਕਸਾ ਚਾਈਲਡ ਦੁਆਲੇ ਫਰੇਮ ਵੇਖਾਓ" -#: ../gtk/gtkcombobox.c:843 +#: ../gtk/gtkcombobox.c:866 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "ਕੀ ਕੰਬੋ-ਬਕਸ ਫੋਕਸ ਹੋ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਇਹ ਮਾਊਸ ਨਾਲ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkcombobox.c:858 ../gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 msgid "Tearoff Title" msgstr "ਟਾਈਟਲ ਨੂੰ ਵੱਖ ਕਰੋ" -#: ../gtk/gtkcombobox.c:859 +#: ../gtk/gtkcombobox.c:882 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "ਜਦੋਂ ਪੋਪਅੱਪ ਵੱਖ ਹੋਵੇ ਤਾਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਵਲੋਂ ਵੇਖਾਇਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਟਾਈਟਲ" -#: ../gtk/gtkcombobox.c:876 +#: ../gtk/gtkcombobox.c:899 msgid "Popup shown" msgstr "ਪੋਪਅੱਪ ਵੇਖਾਉਣਾ" -#: ../gtk/gtkcombobox.c:877 +#: ../gtk/gtkcombobox.c:900 msgid "Whether the combo's dropdown is shown" msgstr "ਕੀ ਕੰਬੋ ਦੀ ਲਟਕਦੀ ਸੂਚੀ ਵੇਖਾਈ ਜਾਵੇ" -#: ../gtk/gtkcombobox.c:893 +#: ../gtk/gtkcombobox.c:916 msgid "Button Sensitivity" msgstr "ਬਟਨ ਸੰਵਦੇਨਸ਼ੀਲਤਾ" -#: ../gtk/gtkcombobox.c:894 +#: ../gtk/gtkcombobox.c:917 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "ਜਦੋਂ ਮਾਡਲ ਖਾਲੀ ਹੋਵੇ ਤਾਂ ਲਟਕਦੇ ਬਟਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" -#: ../gtk/gtkcombobox.c:901 +#: ../gtk/gtkcombobox.c:933 +#| msgid "Whether the combo box draws a frame around the child" +msgid "Whether combo box has an entry" +msgstr "ਕੀ ਕੰਬੋ-ਬਕਸਾ ਦੀ ਐਂਟਰੀ ਹੈ" + +#: ../gtk/gtkcombobox.c:948 +#| msgid "Text Column" +msgid "Entry Text Column" +msgstr "ਐਂਟਰੀ ਟੈਕਸਟ ਕਾਲਮ" + +#: ../gtk/gtkcombobox.c:949 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" + +#: ../gtk/gtkcombobox.c:966 +#| msgid "Columns" +msgid "ID Column" +msgstr "ID ਕਾਲਮ" + +#: ../gtk/gtkcombobox.c:967 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "" + +#: ../gtk/gtkcombobox.c:982 +#| msgid "Active" +msgid "Active id" +msgstr "ਸਰਗਰਮ id" + +#: ../gtk/gtkcombobox.c:983 +#| msgid "The name of the icon from the icon theme" +msgid "The value of the id column for the active row" +msgstr "ਐਕਟਿਵ ਕਤਾਰ ਲਈ id ਕਾਲਮ ਦਾ ਮੁੱਲ" + +#: ../gtk/gtkcombobox.c:998 +#| msgid "Fixed Width" +msgid "Popup Fixed Width" +msgstr "ਪੋਪਅੱਪ ਸਥਿਰ ਚੌੜਾਈ" + +#: ../gtk/gtkcombobox.c:999 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "ਕੀ ਪੋਪਅੱਪ ਦੀ ਚੌੜਾਈ ਕੰਬੋ ਬਾਕਸ ਦੀ ਦਿੱਤੀ ਗਈ ਚੌੜਾਈ ਦੇ ਮੁਤਾਬਕ ਸਥਿਰ ਹੋਵੇ" + +#: ../gtk/gtkcombobox.c:1007 msgid "Appears as list" msgstr "ਸੂਚੀ ਦੀ ਦਿੱਸੇ" -#: ../gtk/gtkcombobox.c:902 +#: ../gtk/gtkcombobox.c:1008 msgid "Whether dropdowns should look like lists rather than menus" msgstr "ਕੀ ਲਟਕਣ ਹੇਠਾਂ-ਖੁੱਲ੍ਹਣ ਵਾਲਾ ਮੇਨੂ ਦੀ ਤਰਾਂ ਨਾ ਹੋਕੇ ਇੱਕ ਲਿਸਟ ਵਾਂਗ ਦਿੱਸੇ" -#: ../gtk/gtkcombobox.c:918 +#: ../gtk/gtkcombobox.c:1024 msgid "Arrow Size" msgstr "ਤੀਰ ਆਕਾਰ" -#: ../gtk/gtkcombobox.c:919 +#: ../gtk/gtkcombobox.c:1025 msgid "The minimum size of the arrow in the combo box" msgstr "ਕੰਬੋ ਬਾਕਸ ਵਿੱਚ ਤੀਰ ਦਾ ਘੱਟੋ-ਘੱਟ ਆਕਾਰ ਹੈ।" -#: ../gtk/gtkcombobox.c:934 ../gtk/gtkentry.c:788 ../gtk/gtkhandlebox.c:182 -#: ../gtk/gtkmenubar.c:189 ../gtk/gtkstatusbar.c:178 ../gtk/gtktoolbar.c:600 -#: ../gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "ਛਾਂ ਕਿਸਮ" -#: ../gtk/gtkcombobox.c:935 +#: ../gtk/gtkcombobox.c:1041 msgid "Which kind of shadow to draw around the combo box" msgstr "ਕੰਬੋ ਬਾਕਸ ਦੁਆਲੇ ਕਿਸ ਕਿਸਮ ਦੀ ਛਾਂ ਖਿੱਚੀ ਜਾਵੇ" -#: ../gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:451 msgid "Resize mode" msgstr "ਮੁੜ-ਅਕਾਰ ਮੋਡ" -#: ../gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:452 msgid "Specify how resize events are handled" msgstr "ਦੱਸੋ ਕਿ ਮੁੜ-ਅਕਾਰ ਘਟਨਾ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਿਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:459 msgid "Border width" msgstr "ਕਿਨਾਰੇ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:460 msgid "The width of the empty border outside the containers children" msgstr "ਕੰਨਟੇਨਰ ਚਲਾਇਡਰਨ ਦੇ ਬਾਹਰ ਖਾਲੀ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:468 msgid "Child" msgstr "ਚਲਾਇਡ" -#: ../gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:469 msgid "Can be used to add a new child to the container" msgstr "ਕੰਨਟੇਨਰ ਵਿੱਚ ਨਵਾਂ ਚਲਾਇਡ ਨੂੰ ਜੋੜਨ ਦੇ ਕੰਮ ਆਉਦੀ ਹੈ" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "ਸੰਖੇਪ ਖੇਤਰ ਦਾ ਕਿਨਾਰਾ" @@ -2069,7 +2156,7 @@ msgstr "ਸੰਖੇਪ ਖੇਤਰ ਦਾ ਕਿਨਾਰਾ" msgid "Width of border around the main dialog area" msgstr "ਮੁੱਲ਼ ਤੱਖਤੀ ਖੇਤਰ ਦੇ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "ਸਮੱਗਰੀ ਖੇਤਰ ਥਾਂ" @@ -2077,15 +2164,15 @@ msgstr "ਸਮੱਗਰੀ ਖੇਤਰ ਥਾਂ" msgid "Spacing between elements of the main dialog area" msgstr "ਮੁੱਖ ਡਾਈਲਾਗ ਖੇਤਰ ਦੀਆਂ ਇਕਾਈਆਂ ਵਿੱਚ ਥਾਂ" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "ਬਟਨ ਦੀ ਥਾਂ" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "ਬਟਨਾਂ ਵਿੱਚਕਾਰ ਥਾਂ" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦਾ ਹਾਸ਼ੀਆ" @@ -2093,73 +2180,73 @@ msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦਾ ਹਾਸ਼ੀਆ" msgid "Width of border around the button area at the bottom of the dialog" msgstr "ਤੱਖਤੀ ਦੇ ਹੇਠ ਬਟਨਾਂ ਦੇ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "ਟੈਕਸਟ ਬਫਰ" -#: ../gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "ਟੈਕਸਟ ਬਫ਼ਰ ਆਬਜੈਕਟ, ਜੋ ਕਿ ਅਸਲ ਵਿੱਚ ਐਂਟਰੀ ਟੈਕਸਟ ਸਟੋਰ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkentry.c:643 ../gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 msgid "Cursor Position" msgstr "ਕਰਸਰ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkentry.c:644 ../gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 msgid "The current position of the insertion cursor in chars" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਦੀ ਮੌਜੂਦਾ ਸਥਿਤੀ" -#: ../gtk/gtkentry.c:653 ../gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 msgid "Selection Bound" msgstr "ਚੋਣ ਸੀਮਾ" -#: ../gtk/gtkentry.c:654 ../gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 msgid "The position of the opposite end of the selection from the cursor in chars" msgstr "ਕਰਸਰ ਤੋਂ ਚੋਣ ਦੀ ਵਿਰੋਧੀ ਸਿਰਿਆ ਤੱਕ ਦੀ ਸਥਿਤੀ ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "ਕੀ ਇੰਦਰਾਜ਼ ਹਿੱਸੇ ਨੁੰ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkentry.c:671 ../gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਲੰਬਾਈ" -#: ../gtk/gtkentry.c:672 ../gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "ਇਸ ਇੰਦਰਾਜ਼ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਅੱਖਰਾਂ ਦੀ ਥਾਂ 0 ਜੇਕਰ ਕੋਈ ਵੱਧ ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੈ " -#: ../gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "ਵੇਖਣਯੋਗਤਾ" -#: ../gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" msgstr "ਗਲਤ, ਅਸਲੀ ਸ਼ਬਦਾਂ(ਗੁਪਤ ਕੋਡ) ਦੀ ਬਜਾਏ \"ਲੁਕਵੇ ਅੱਖਰ\" ਵੇਖਾਵੇਗਾ" -#: ../gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "ਗਲਤ ਇੰਦਰਾਜ਼ ਵਿਚੋ ਬਾਹਰੀ bevel ਨੂੰ ਹਟਾ ਦੇਵੇਗਾ" -#: ../gtk/gtkentry.c:697 +#: ../gtk/gtkentry.c:788 msgid "Border between text and frame. Overrides the inner-border style property" msgstr "ਟੈਕਸਟ ਅਤੇ ਫਰੇਮ ਵਿੱਚ ਹਾਸ਼ੀਆ ਹੈ। ਅੰਦਰੂਨੀ-ਹਾਸ਼ੀਆ ਸਟਾਇਲ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkentry.c:704 ../gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "ਅਦਿੱਖ ਅੱਖਰ" -#: ../gtk/gtkentry.c:705 ../gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "ਅੱਖਰ, ਜੋ ਕਿ ਇੰਦਰਾਜ਼ ਦੇ ਸ਼ਬਦਾਂ ਨੂੰ ਲੁਕਉਣ ਦੇ ਕੰਮ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ (\"ਗੁਪਤ ਕੋਡ\" ਵਿੱਚ)" -#: ../gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "ਡਿਫਾਲਟ ਸਰਗਰਮ" -#: ../gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2167,93 +2254,93 @@ msgstr "" "ਕੀ ਡਿਫਾਲਟ ਵਿਦਗਿਟ ਹੀ ਸਰਗਰਮ ਕਰਨਾ ਹੈ, (ਜਿਵੇਂ ਕਿ ਡਾਈਲਾਗ ਵਿੱਚ ਡਿਫਾਲਟ ਬਟਨ)ਜਦੋ ਕਿ ਐਟਰ ਨੂੰ " "ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" -#: ../gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "ਇੰਦਰਾਜ਼ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਛੱਡਣ ਲਈ ਅੱਖਰਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "ਸੰਤੁਲਿਤ ਸਕਰੋਲ" -#: ../gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ, ਜੋ ਕਿ ਸਕਰੀਨ ਦੇ ਖੱਬਿਉ ਇੰਦਰਾਜ਼ ਵਿੱਚ ਸੰਤੁਲਿਤ ਸਕਰੋਲ ਹੋਣ" -#: ../gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "ਐਂਟਰੀ ਦੀ ਸਮੱਗਰੀ" -#: ../gtk/gtkentry.c:755 ../gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkentry.c:756 ../gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." msgstr "ਲੇਟਵੀ ਸਫ਼ਬੰਦੀ, 0 (ਖੱਬਿਉ) ਤੋ 1 (ਸੱਜਿਉ) RTL ਲਈ ਉਲਟ ਹੈ।" -#: ../gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "ਛਾਂਟੀਆਂ ਬਹੁ-ਲਾਈਨਾਂ" -#: ../gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "ਕੀ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਛਾਂਟੀਆਂ ਬਹੁ-ਲਾਈਨਾਂ ਨੂੰ ਚੇਪਿਆ ਜਾਵੇ।" -#: ../gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "ਐਂਟਰੀ ਦੁਆਲੇ ਕਿਸ ਕਿਸਮ ਦੀ ਸ਼ੈਡੋ ਬਣਾਉਣੀ ਹੈ, ਜਦੋਂ ਕਿ ਫਰੇਮ ਸੈੱਟ ਹੋਵੇ" -#: ../gtk/gtkentry.c:804 ../gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 msgid "Overwrite mode" msgstr "ਉੱਤੇ ਵੇਖਾਉਣ ਦਾ ਢੰਗ" -#: ../gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "ਕੀ ਨਵਾਂ ਟੈਕਸਟ ਪੁਰਾਣੇ ਟੈਕਸਟ ਉੱਤੇ ਲਿਖੇ" -#: ../gtk/gtkentry.c:819 ../gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "ਟੈਕਸਟ ਲੰਬਾਈ" -#: ../gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "ਐਂਟਰੀ ਵਿੱਚ ਮੌਜੂਦ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:926 msgid "Invisible character set" msgstr "ਅਦਿੱਖ ਅੱਖਰ ਸੈੱਟ" -#: ../gtk/gtkentry.c:836 +#: ../gtk/gtkentry.c:927 msgid "Whether the invisible character has been set" msgstr "ਕੀ ਅਦਿੱਖ ਅੱਖਰ ਸੈੱਟ ਕਰਨੇ ਹਨ" -#: ../gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "ਕੈਪਸ ਲਾਕ ਚੇਤਾਵਨੀ" -#: ../gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "ਕੀ ਜਦੋਂ ਕੈਪਸ ਲਾਕ ਚਾਲੂ ਹੋਵੇ ਤਾਂ ਪਾਸਵਰਡ ਐਂਟਰੀਆਂ ਇੱਕ ਚੇਤਾਵਨੀ ਵੇਖਾਉਣ" -#: ../gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "ਤਰੱਕੀ ਭਾਗ" -#: ../gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "ਟਾਸਕ ਦਾ ਮੌਜੂਦਾ ਭਾਗ, ਜੋ ਕਿ ਪੂਰਾ ਹੋ ਗਿਆ" -#: ../gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "ਤਰੱਕੀ ਪਲੱਸ ਸਟੈਪ" -#: ../gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:979 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2261,186 +2348,170 @@ msgstr "" "ਤਰੱਕੀ ਬਲਾਕ ਹਿਲਾਉਣ ਲਈ ਭਾਗ ਦੀ ਕੁੱਲ ਐਂਟਰੀ ਚੌੜਾਈ, ਜੋ ਕਿ gtk_entry_progress_pulse() ਦੀ " "ਹਰੇਕ ਕਾਲ ਲਈ ਹੋਵੇ" -#: ../gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "ਪ੍ਰਾਇਮਰੀ ਪਿਕਬਫ਼" -#: ../gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "ਐਂਟਰੀ ਲਈ ਪ੍ਰਾਇਮਰੀ ਪਿਕਬਫ਼" -#: ../gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "ਸੈਕੰਡਰੀ ਪਿਕਬਫ਼" -#: ../gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "ਐਂਟਰੀ ਲਈ ਸੈਕੰਡਰੀ ਪਿਕਬਫ਼" -#: ../gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "ਪ੍ਰਾਇਮਰੀ ਸਟਾਕ ID" -#: ../gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ ਸਟਾਕ ID" -#: ../gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "ਸੈਕੰਡਰੀ ਸਟਾਕ ID" -#: ../gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ ਸਟਾਕ ID" -#: ../gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "ਪ੍ਰਾਇਮਰੀ GIcon" -#: ../gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ GIcon" -#: ../gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "ਸੈਕੰਡਰੀ GIcon" -#: ../gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ GIcon" -#: ../gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "ਪ੍ਰਾਇਮਰੀ ਸਟੋਰੇਜ਼ ਟਾਈਪ" -#: ../gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ ਨੁਮਾਇੰਦਾ" -#: ../gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "ਸੈਕੰਡਰੀ ਸਟੋਰੇਜ਼ ਟਾਈਪ" -#: ../gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਨੁਮਾਇੰਦਾ" -#: ../gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਯੋਗ" -#: ../gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "ਕੀ ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਹੋਣਯੋਗ ਹੋਣ" -#: ../gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਹੋਣਯੋਗ" -#: ../gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "ਕੀ ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਹੋਣਯੋਗ ਹੋਣ" -#: ../gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ" -#: ../gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "ਕੀ ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" -#: ../gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ" -#: ../gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "ਕੀ ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" -#: ../gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ" -#: ../gtk/gtkentry.c:1146 ../gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਦੀ ਸਮੱਗਰੀ" -#: ../gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ" -#: ../gtk/gtkentry.c:1163 ../gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਦੀ ਸਮੱਗਰੀ" -#: ../gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਨਿਸ਼ਾਨਬੱਧ" -#: ../gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਨਿਸ਼ਾਨਬੱਧ" -#: ../gtk/gtkentry.c:1220 ../gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 msgid "IM module" msgstr "IM ਮੋਡੀਊਲ" -#: ../gtk/gtkentry.c:1221 ../gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 msgid "Which IM module should be used" msgstr "ਕਿਹੜਾ IM ਮੋਡੀਊਲ ਵਰਤਿਆ ਜਾਵੇ" -#: ../gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "ਆਈਕਾਨ ਪ੍ਰੀ-ਲਾਈਟ" -#: ../gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" msgstr "ਕੀ ਸਰਗਰਮ-ਹੋਣਯੋਗ ਆਈਕਾਨ ਪ੍ਰੀ-ਲਾਈਟ ਕੀਤੇ ਜਾਣ, ਜਦੋਂ ਉੱਤੇ ਇਸ਼ਾਰਾ ਹੋਵੇ" -#: ../gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "ਤਰੱਕੀ ਬਾਰਡਰ" -#: ../gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "ਤਰੱਕੀ ਪੱਟੀ ਦੇ ਦੁਆਲੇ ਬਾਰਡਰ" -#: ../gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "ਟੈਕਸਟ ਅਤੇ ਫਰੇਮ ਵਿੱਚ ਬਾਰਡਰ" -#: ../gtk/gtkentry.c:1747 ../gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "ਫੋਕਸ ਉੱਤੇ ਚੁਣੋ" - -#: ../gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "ਕੀ ਇੰਦਰਾਜ਼ ਵਿੱਚਲੇ ਹਿੱਸੇ ਨੂੰ ਚੁਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋ ਜਾਵੇ" - -#: ../gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "ਪਾਸਵਰਡ ਇਸ਼ਾਰਾ ਸਮਾਂ-ਅੰਤਰਾਲ" - -#: ../gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "ਲੁਕਵੇਂ ਇੰਦਰਾਜ਼ਾਂ ਵਿੱਚ ਆਖਰੀ ਦਿੱਤੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਉਣ ਨੂੰ ਕਿੰਨਾ ਸਮਾਂ ਲੱਗੇ" - #: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "ਬਫ਼ਰ ਦੀ ਸਮੱਗਰੀ" @@ -2449,158 +2520,166 @@ msgstr "ਬਫ਼ਰ ਦੀ ਸਮੱਗਰੀ" msgid "Length of the text currently in the buffer" msgstr "ਬਫ਼ਰ ਵਿੱਚ ਮੌਜੂਦਾ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:267 msgid "Completion Model" msgstr "ਪੂਰਤੀ ਮਾਡਲ" -#: ../gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:268 msgid "The model to find matches in" msgstr "ਮਾਡਲ, ਜਿਸ ਵਿੱਚ ਮੇਲ ਲੱਭਣਾ ਹੈ" -#: ../gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:274 msgid "Minimum Key Length" msgstr "ਘੱਟੋ-ਘੱਟ ਕੁੰਜੀ ਲੰਬਾਈ" -#: ../gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:275 msgid "Minimum length of the search key in order to look up matches" msgstr "ਮੇਲ ਲੱਭਣ ਲਈ ਖੋਜ ਕੁੰਜੀ ਦੀ ਘੱਟੋ-ਘੱਟ ਲੰਬਾਈ" -#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "ਟੈਕਸਟ ਕਾਲਮ" -#: ../gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:292 msgid "The column of the model containing the strings." msgstr "ਮਾਡਲ ਦੇ ਕਾਲਮ ਵਿੱਚ ਸਤਰਾਂ ਇਸ ਤੋਂ ਪਰਾਪਤ ਕਰੇਗਾ।" -#: ../gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:311 msgid "Inline completion" msgstr "ਲਾਈਨ ਵਿੱਚ ਪੂਰਨ" -#: ../gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:312 msgid "Whether the common prefix should be inserted automatically" msgstr "ਕੀ ਆਮ ਅਗੇਤਰ ਆਟੋਮੈਟਿਕ ਹੀ ਜੋੜ ਦਿੱਤਾ ਜਾਵੇ" -#: ../gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:326 msgid "Popup completion" msgstr "ਪੋਪਅੱਪ ਪੂਰਨ" -#: ../gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:327 msgid "Whether the completions should be shown in a popup window" msgstr "ਕੀ ਇੱਕ ਪੋਪਅੱਪ ਵਿੰਡੋ ਵਿੱਚ ਪੂਰਨ ਕੀਤਾ ਜਾਵੇ" -#: ../gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:342 msgid "Popup set width" msgstr "ਪੋਪਅੱਪ ਸੈਟ ਚੌੜਾਈ" -#: ../gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:343 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੋਪਅੱਪ ਵਿੰਡੋ ਨੂੰ ਉਸੇ ਅਕਾਰ ਦੇ ਹੋਵੇਗਾ, ਜਿਸ ਦਾ ਇੰਦਰਾਜ਼ ਹੈ" -#: ../gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:361 msgid "Popup single match" msgstr "ਪੋਪਅੱਪ ਇੱਕਲਾ ਮੇਲ" -#: ../gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:362 msgid "If TRUE, the popup window will appear for a single match." msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਪੋਪਅੱਪ ਵਿੰਡੋ ਇੱਕ ਇੱਕਲੇ ਮੇਲ ਲਈ ਵਿਖਾਈ ਦੇਵੇਗਾ।" -#: ../gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:376 msgid "Inline selection" msgstr "ਇਨ-ਲਾਈਨ ਚੋਣ" -#: ../gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:377 msgid "Your description here" msgstr "ਆਪਣਾ ਵੇਰਵਾ ਇੱਥੇ ਦਿਓ" -#: ../gtk/gtkeventbox.c:93 +#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 +msgid "Cell Area" +msgstr "ਸੈੱਲ ਖੇਤਰ" + +#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 +msgid "The GtkCellArea used to layout cells" +msgstr "ਸੈੱਲ ਲੇਆਉਟ ਲਈ ਵਰਤਣ ਵਾਸਤੇ GtkCellArea" + +#: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "ਦਿੱਖ ਵਿੰਡੋ" -#: ../gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:102 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." msgstr "ਕੀ ਘਟਨਾ-ਡੱਬਾ ਦਿੱਸਯੋਗ ਹੋਵੇ, ਇਸ ਦੇ ਉਲਟ ਕਿ ਲੁਕਵਾਂ ਅਤੇ ਸਿਰਫ ਘਟਨਾਵਾਂ ਨੂੰ ਫੜੇ ਹੀ" -#: ../gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:108 msgid "Above child" msgstr "ਚਲਾਇਡ ਤੋਂ ਉੱਤੇ" -#: ../gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." msgstr "ਕੀ ਘਟਨਾ-ਡੱਬੇ ਦਾ ਘਟਨਾ ਫੜਨ ਵਾਲੀ ਵਿੰਡੋ ਚਾਲਇਡ ਵਿਦਗਿਟ ਦੇ ਉੱਤੇ ਹੋਵੇ ,ਇਸ ਦੇ ਉਲਟ ਕਿ ਇਸ ਦੇ ਹੇਠਾਂ" -#: ../gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:199 msgid "Expanded" msgstr "ਫੈਲਿਆ" -#: ../gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:200 msgid "Whether the expander has been opened to reveal the child widget" msgstr "ਕੀ ਫੈਲਾਣਵਾਲੇ ਨੂੰ ਚਲਾਇਡ ਵਿਦਗਿਟ ਨੂੰ ਖੋਲ੍ਹਣਾ ਚਾਹੀਦਾ ਹੈ" -#: ../gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:208 msgid "Text of the expander's label" msgstr "ਫੈਲੇ ਲੇਬਲ ਦਾ ਪਾਠ" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 msgid "Use markup" msgstr "ਨਿਸ਼ਾਨਬੰਦੀ ਵਰਤੋਂ" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਵਿੱਚ XML ਮਾਰਕਅੱਪ ਹੋਵੇ ਵੇਖੋ pango_parse_markup()" -#: ../gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:232 msgid "Space to put between the label and the child" msgstr "ਲੇਬਲ ਅਤੇ ਚਲਾਇਡ ਵਿੱਚ ਦੇਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 -#: ../gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "ਲੇਬਲ ਵਿਦਗਿਟ" -#: ../gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:242 msgid "A widget to display in place of the usual expander label" msgstr "ਵਿਦਗਿਟ, ਆਮ ਫੈਲਾੳ ਲੇਬਲ ਦੀ ਥਾਂ ਵੇਖਾਉ " -#: ../gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:249 msgid "Label fill" msgstr "ਲੇਬਲ ਭਰੋ" -#: ../gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:250 msgid "Whether the label widget should fill all available horizontal space" msgstr "ਕੀ ਲੇਬਲ ਵਿਦਜੈੱਟ ਸਭ ਉਪਲੱਬਧ ਹਰੀਜੱਟਲ ਥਾਂ ਨੂੰ ਭਰੇ" -#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1606 -#: ../gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1190 msgid "Expander Size" msgstr "ਫੈਲਾ ਦਾ ਅਕਾਰ" -#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1607 -#: ../gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1191 msgid "Size of the expander arrow" msgstr "ਫੈਲਾ ਵਾਲੇ ਤੀਰ ਦਾ ਅਕਾਰ" -#: ../gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:266 msgid "Spacing around expander arrow" msgstr "ਫੈਲਾ ਵਾਲੇ ਤੀਰ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਥਾਂ" -#: ../gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "ਡਾਈਲਾਗ" -#: ../gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "ਵਰਤਣ ਲਈ ਫਾਇਲ ਚੋਣਕਾਰ ਵਰਤੋਂ।" -#: ../gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." msgstr "ਫਾਇਲ ਚੋਣਕਾਰ ਡਾਈਲਾਗ ਦਾ ਨਾਂ ਹੈ।" -#: ../gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "ਬਟਨ ਵਿਦਗਿਟ ਦੀ ਲੋੜੀਦੀ ਚੌਰਾਈ ਅੱਖਰਾਂ ਵਿੱਚ ਹੈ।" @@ -2697,19 +2776,19 @@ msgid "" "folders." msgstr "ਕੀ ਖੋਲ੍ਹੋ ਮੋਡ ਵਿੱਚ ਇੱਕ ਫਾਇਲ ਚੋਣਕਾਰ ਲੋੜ ਪੈਣ ਉੱਤੇ ਯੂਜ਼ਰ ਨੂੰ ਨਵੇਂ ਫੋਲਡਰ ਬਣਾਉਣ ਲਈ ਸਹਾਇਕ ਹੋਵੇ।" -#: ../gtk/gtkfixed.c:98 ../gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 msgid "X position" msgstr "X ਟਿਕਾਣਾ" -#: ../gtk/gtkfixed.c:99 ../gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੀ X ਸਥਿਤੀ" -#: ../gtk/gtkfixed.c:108 ../gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 msgid "Y position" msgstr "Y ਟਿਕਾਣਾ" -#: ../gtk/gtkfixed.c:109 ../gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੀ Y ਸਥਿਤੀ" @@ -2805,305 +2884,297 @@ msgstr "ਫਰੇਮ ਦੇ ਹਾਸ਼ੀਏ ਦੀ ਦਿੱਖ" msgid "A widget to display in place of the usual frame label" msgstr "ਫਾਰਮ ਦੇ ਲੇਬਲ ਲਈ ਥਾਂ ਵੇਖਾਉਣ ਲਈ ਵਿਦਗਿਟ" -#: ../gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:189 msgid "Appearance of the shadow that surrounds the container" msgstr "ਕੰਨਟੇਨਰ ਦੇ ਦੁਆਲੇ ਛਾਂ ਦੀ ਮੌਜੂਦਗੀ" -#: ../gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:197 msgid "Handle position" msgstr "ਸਥਿਤੀ ਨੂੰ ਵੇਖੋ" -#: ../gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:198 msgid "Position of the handle relative to the child widget" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਅਨੁਸਾਰ ਸੰਭਾਲਣ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:206 msgid "Snap edge" msgstr "ਕਿਨਾਰੇ ਦਾ ਦਰਿਸ਼" -#: ../gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:207 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" msgstr "ਹੈਡਲ-ਡੱਬੇ ਦਾ ਪਾਸਾ ਜੋ ਕਿ ਹੈਡਲ-ਡੱਬੇ ਨਾਲ ਡਾਕ ਅਤੇ ਡਾਕ-ਬਿੰਦੂ ਨਾਲ ਕਤਾਰਬੱਧ ਕੀਤਾ ਹੈ" -#: ../gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:215 msgid "Snap edge set" msgstr "ਕਿਨਾਰਾ ਸਮੂਹ ਦਾ ਦਰਿਸ਼" -#: ../gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:216 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" msgstr "ਕੀ ਸਨੈਪ-ਕਿਨਾਰੇ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਮੁੱਲ ਵਰਤਣਾ ਹੈ ਜਾਂ ਸਥਿਤੀ ਤੋਂ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:223 msgid "Child Detached" msgstr "ਚਲਾਈਡ ਵੱਖ ਕੀਤਾ" -#: ../gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:224 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." msgstr "ਬੁਲੀਅਨ ਮੁੱਲ ਵੇਖਾਉਦਾ ਹੈ ਕਿ ਕੀ ਹੈਂਡਲਬਾਕਸ ਦਾ ਚਾਈਲਡ ਅਟੈਚ ਕੀਤਾ ਜਾਂ ਵੱਖ" -#: ../gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:580 msgid "Selection mode" msgstr "ਚੋਣ ਢੰਗ" -#: ../gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:581 msgid "The selection mode" msgstr "ਚੋਣ ਢੰਗ" -#: ../gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:599 msgid "Pixbuf column" msgstr "ਪਿਕਬਫ਼ ਕਾਲਮ" -#: ../gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:600 msgid "Model column used to retrieve the icon pixbuf from" msgstr "ਆਈਕਾਨ ਪਿਕਬਫ਼ ਤੋਂ ਮਾਡਲ ਕਾਲਮ ਵਰਤਣ ਲਈ" -#: ../gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:618 msgid "Model column used to retrieve the text from" msgstr "ਟੈਕਸਟ ਤੋਂ ਪਰਾਪਤ ਕਰਨ ਲਈ ਮਾਡਲ ਕਾਲਮ" -#: ../gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:637 msgid "Markup column" msgstr "ਨਿਸ਼ਾਨਬੰਦੀ ਕਾਲਮ" -#: ../gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:638 msgid "Model column used to retrieve the text if using Pango markup" msgstr "ਜੇਕਰ ਪੈਂਗੋ ਨਿਸ਼ਾਨ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇ ਤਾਂ ਮਾਡਲ ਕਾਲਮ ਵਰਤਣ ਲਈ ਪਰਾਪਤ ਪਾਠ" -#: ../gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:645 msgid "Icon View Model" msgstr "ਆਈਕਾਨ ਵੇਖਣ ਮਾਡਲ" -#: ../gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:646 msgid "The model for the icon view" msgstr "ਆਈਕਾਨ ਵੇਖਣ ਲਈ ਮਾਡਲ" -#: ../gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:662 msgid "Number of columns" msgstr "ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:663 msgid "Number of columns to display" msgstr "ਵੇਖਾਉਣ ਲਈ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:680 msgid "Width for each item" msgstr "ਹਰੇਕ ਆਈਟਮ ਲਈ ਚੌੜਾਈ" -#: ../gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:681 msgid "The width used for each item" msgstr "ਹਰ ਆਈਟਮ ਲਈ ਵਰਤਨ ਲਈ ਚੌੜਾਈ" -#: ../gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:697 msgid "Space which is inserted between cells of an item" msgstr "ਇੱਕ ਆਈਟਮ ਦੇ ਸੈੱਲਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:712 msgid "Row Spacing" msgstr "ਕਤਾਰ ਫਾਸਲਾ" -#: ../gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:713 msgid "Space which is inserted between grid rows" msgstr "ਗਰਿੱਡ ਕਤਾਰਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:728 msgid "Column Spacing" msgstr "ਕਾਲਮ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:729 msgid "Space which is inserted between grid columns" msgstr "ਖਾਲੀ ਥਾਂ, ਜੋ ਕਿ ਗਰਿੱਡ ਕਾਲਮ ਵਿੱਚ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ" -#: ../gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:744 msgid "Margin" msgstr "ਫਾਸਲਾ" -#: ../gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:745 msgid "Space which is inserted at the edges of the icon view" msgstr "ਆਈਕਾਨ ਝਲਕ ਦੇ ਕਿਨਾਰੇ ਤੇ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkiconview.c:730 +#: ../gtk/gtkiconview.c:760 msgid "Item Orientation" msgstr "ਆਈਟਮ ਸਥਿਤੀ" -#: ../gtk/gtkiconview.c:731 +#: ../gtk/gtkiconview.c:761 msgid "How the text and icon of each item are positioned relative to each other" msgstr "ਇੱਕ ਆਈਕਾਨ ਲਈ ਉਸਦਾ ਟੈਕਸਟ ਅਤੇ ਆਈਕਾਨ ਨੂੰ ਕਿਵੇਂ ਟਿਕਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkiconview.c:747 ../gtk/gtktreeview.c:611 -#: ../gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 +#: ../gtk/gtktreeviewcolumn.c:358 msgid "Reorderable" msgstr "ਮੁੜ-ਕਰਮਯੋਗ" -#: ../gtk/gtkiconview.c:748 ../gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 msgid "View is reorderable" msgstr "ਮੁੜ-ਕਰਮਯੋਗ ਦੀ ਤਰਾਂ ਵੇਖੋ" -#: ../gtk/gtkiconview.c:755 ../gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 msgid "Tooltip Column" msgstr "ਟੂਲ-ਟਿੱਪ ਕਾਲਮ" -#: ../gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:786 msgid "The column in the model containing the tooltip texts for the items" msgstr "ਮਾਡਲ ਦੇ ਕਾਲਮ ਵਿੱਚ , ਜੋ ਕਿ ਆਈਟਮਾਂ ਲਈ ਟੂਲ-ਟਿੱਪ ਲਵੇਗਾ।" -#: ../gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:803 msgid "Item Padding" msgstr "ਆਈਟਮ ਚਿਣੋ" -#: ../gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:804 msgid "Padding around icon view items" msgstr "ਆਈਕਾਨ ਝਲਕ ਆਈਟਮਾਂ ਦੁਆਲੇ ਚਿਣੋ" -#: ../gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:817 msgid "Selection Box Color" msgstr "ਚੋਣ ਬਕਸਾ ਰੰਗ" -#: ../gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:818 msgid "Color of the selection box" msgstr "ਚੋਣ ਬਕਸੇ ਦਾ ਰੰਗ" -#: ../gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:824 msgid "Selection Box Alpha" msgstr "ਚੋਣ ਬਕਸਾ ਐਲਫ਼ਾ" -#: ../gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:825 msgid "Opacity of the selection box" msgstr "ਚੋਣ ਬਕਸੇ ਦਾ ਬਲੌਰੀਪਨ" -#: ../gtk/gtkimage.c:227 ../gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "ਪਿਕਬਫ" -#: ../gtk/gtkimage.c:228 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixbuf" -#: ../gtk/gtkimage.c:235 ../gtk/gtkrecentmanager.c:290 +#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 #: ../gtk/gtkstatusicon.c:220 msgid "Filename" msgstr "ਫਾਇਲ-ਨਾਂ" -#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "ਲੋਡ ਕਰਨ ਅਤੇ ਵੇਖਾਉਣ ਲਈ ਫਾਇਲ-ਨਾਂ" -#: ../gtk/gtkimage.c:245 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "ਸਟਾਕ ਚਿੱਤਰ ਵੇਖਾਉਣ ਲਈ ਸਟਾਕ ID" -#: ../gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:258 msgid "Icon set" msgstr "ਆਈਕਾਨ ਸੈੱਟ" -#: ../gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:259 msgid "Icon set to display" msgstr "ਵੇਖਾਉਣ ਲਈ ਆਈਕਾਨ ਸੈੱਟ" -#: ../gtk/gtkimage.c:260 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:517 -#: ../gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolpalette.c:1030 msgid "Icon size" msgstr "ਆਈਕਾਨ ਆਕਾਰ" -#: ../gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:267 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "ਸਟਾਕ ਆਈਕਾਨ, ਆਈਕਾਨ ਸੈਟ ਜਾਂ ਨਾਂ ਆਈਕਾਨ ਲਈ ਲਿੰਕ ਅਕਾਰ" -#: ../gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:283 msgid "Pixel size" msgstr "ਪਿਕਸਲ ਅਕਾਰ" -#: ../gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:284 msgid "Pixel size to use for named icon" msgstr "ਨਾਮੀ ਆਈਕਾਨ ਲਈ ਪਿਕਸਲ ਅਕਾਰ" -#: ../gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:292 msgid "Animation" msgstr "ਸਜੀਵਤਾ" -#: ../gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:293 msgid "GdkPixbufAnimation to display" msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixbufAnimation" -#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "ਸੰਭਾਲਣ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "ਚਿੱਤਰ ਡੈਟਾ ਲਈ ਪੇਸ਼ਕਾਰੀ" -#: ../gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:149 msgid "Child widget to appear next to the menu text" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ, ਮੇਨੂ ਟੈਕਸਟ ਤੋਂ ਅੱਗੇ ਦਿੱਸਣ ਲਈ" -#: ../gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:164 msgid "Whether to use the label text to create a stock menu item" msgstr "ਸਟਾਕ ਮੇਨੂ ਆਈਟਮ ਬਣਾਉਣ ਲਈ ਕੀ ਲੇਬਲ ਟੈਕਸਟ ਵਰਤਣਾ ਹੈ" -#: ../gtk/gtkimagemenuitem.c:187 ../gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 msgid "Accel Group" msgstr "ਅਸੈੱਲ ਗਰੁੱਪ" -#: ../gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:198 msgid "The Accel Group to use for stock accelerator keys" msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚਾਂ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਅਸੈੱਲ ਗਰੁੱਪ" -#: ../gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "ਮੇਨੂ ਚਿੱਤਰ ਵੇਖੋ" - -#: ../gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "ਕੀ ਮੇਨੂ ਵਿੱਚ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" - -#: ../gtk/gtkinfobar.c:375 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "ਸੁਨੇਹਾ ਕਿਸਮ" -#: ../gtk/gtkinfobar.c:376 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "ਸੁਨੇਹੇ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "ਸਮੱਗਰੀ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "ਖੇਤਰ ਦੇ ਐਲੀਮੈਂਟ ਵਿੱਚ ਥਾਂ" -#: ../gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:728 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 msgid "Screen" msgstr "ਸਕਰੀਨ" -#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:729 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 msgid "The screen where this window will be displayed" msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਕਿ ਵਿੰਡੋ ਵੇਖਾਈ ਜਾਵੇਗੀ" -#: ../gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:567 msgid "The text of the label" msgstr "ਲੇਬਲ ਦੇ ਸ਼ਬਦ" -#: ../gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:574 msgid "A list of style attributes to apply to the text of the label" msgstr "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਤੇ ਲਾਗੂ ਕਰਨ ਲਈ ਸਟਾਇਲ ਗੁਣਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtklabel.c:578 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 msgid "Justification" msgstr "ਤਰਕਸੰਗਤ ਕਰੋ" -#: ../gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:596 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3112,389 +3183,335 @@ msgstr "" "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਦੀਆਂ ਸਤਰਾਂ ਦੀ ਇੱਕ-ਦੂਰਦੇ ਪ੍ਰਤੀ ਸ਼ਫ਼ਬੰਦੀ ਇਹ ਲੇਬਲ ਦੀ ਉਪਲੱਬਧ ਸਥਿਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ " "ਨਹੀਂ ਕਰਦੀ ਹੈ। ਇਸ ਦੇ ਲਈGtkMisc::xalign ਨੂੰ ਵੇਖੋ।" -#: ../gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:604 msgid "Pattern" msgstr "ਪੈਟਰਨ" -#: ../gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:605 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" msgstr "ਕੀ ਸਤਰਾਂ _ ਅੱਖਰਾਂ ਨਾਲ ਜਿੱਥੇ ਕਿ ਉਹਨਾਂ ਦੀ ਸਥਿਤੀ ਹੈ, ਨੂੰ ਸ਼ਬਦਾਂ ਨੂੰ ਹੇਠਾਂ ਲਾਈਨ ਲਾ ਦੇਵੇ" -#: ../gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:612 msgid "Line wrap" msgstr "ਲਾਈਨ ਸਮੇਟੋ" -#: ../gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:613 msgid "If set, wrap lines if the text becomes too wide" msgstr "ਜੇ ਦਿੱਤਾ ਤਾਂ, ਲਾਈਨਾਂ ਨੂੰ ਲੇਪਟਿਆ ਜਾਵੇਗਾ ਜੇਕਰ ਟੈਕਸਟ ਜਿਆਦਾ ਹੀ ਚੌੜਾ ਹੋ ਗਿਆ" -#: ../gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:628 msgid "Line wrap mode" msgstr "ਲਾਈਨ ਲਪੇਟਣ ਮੋਡ" -#: ../gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:629 msgid "If wrap is set, controls how linewrapping is done" msgstr "ਜੇਕਰ ਲਪੇਟਣਾ ਸੈੱਟ ਹੋਵੇ ਤਾਂ ਲਾਈਨ-ਲਪੇਟਣ ਬਾਰੇ ਕੰਟਰੋਲ ਹੋਇਆ" -#: ../gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:636 msgid "Selectable" msgstr "ਚੋਣ-ਯੋਗ" -#: ../gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:637 msgid "Whether the label text can be selected with the mouse" msgstr "ਕੀ ਲੇਬਲ ਦੇ ਸ਼ਬਦ ਮਾਊਸ ਨਾਲ ਚੁਣੇ ਜਾ ਸਕਣ" -#: ../gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:643 msgid "Mnemonic key" msgstr "ਮਨਾਮੈਰਿਕ ਕੀ" -#: ../gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:644 msgid "The mnemonic accelerator key for this label" msgstr "ਇਸ ਲੇਬਲ ਲਈ ਮਨਾਮੈਰਿਕ -ਤੇਜ਼-ਕੀ" -#: ../gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:652 msgid "Mnemonic widget" msgstr "ਮਨਾਮੈਰਿਕ ਵਿਦਗਿਟ" -#: ../gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:653 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "ਵਿਦਗਿਟ ਸਰਗਰਮ ਹੋ ਜਾਵੇ ਜਦੋਂ ਕਿ ਲੇਬਲ ਦੀ ਅੰਕੀ ਕੀ ਦਬਾਈ ਜਾਵੇ" -#: ../gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:699 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" msgstr "ਅੰਡਾਕਾਰ ਸਤਰ ਲਈ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਲੇਬਲ ਕੋਲ ਲੋੜੀਂਦੀ ਸਤਰ ਵੇਖਾਉਣ ਲਈ ਪੂਰੀ ਥਾਂ ਨਾ ਹੋਵੇ" -#: ../gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:740 msgid "Single Line Mode" msgstr "ਇੱਕਲੀ ਲਾਈਨ ਮੋਡ" -#: ../gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:741 msgid "Whether the label is in single line mode" msgstr "ਕੀ ਲੇਬਲ ਇੱਕ ਇੱਕਲੇ ਲਾਈਨ ਮੋਡ ਵਿੱਚ ਹੋਵੇ" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:758 msgid "Angle" msgstr "ਕੋਣ" -#: ../gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:759 msgid "Angle at which the label is rotated" msgstr "ਕੋਣ, ਜਿਸ ਉੱਤੇ ਲੇਬਲ ਨੂੰ ਘੁੰਮਾਉਣਾ ਹੈ" -#: ../gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:781 msgid "The desired maximum width of the label, in characters" msgstr "ਲੇਬਲ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਲੋੜੀਦੀ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:799 msgid "Track visited links" msgstr "ਖੋਲ੍ਹੋ ਲਿੰਕ ਵੇਖੋ" -#: ../gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:800 msgid "Whether visited links should be tracked" msgstr "ਕੀ ਖੋਲ੍ਹੇ ਗਏ ਟਰੈਕਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨਾ ਹੈ" -#: ../gtk/gtklabel.c:904 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "ਕੀ ਚੁਣਨਯੋਗ ਲੇਬਲ ਦੀ ਸਮੱਗਰੀ ਚੁਣੀ ਜਾਵੇ, ਜਦੋਂ ਇਹ ਫੋਕਸ ਹੋਵੇ" - -#: ../gtk/gtklayout.c:625 ../gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "ਲੇਟਵਾਂ ਅਡਜੱਸਟਮੈਂਟ" - -#: ../gtk/gtklayout.c:626 ../gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "ਲੇਟਵੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" - -#: ../gtk/gtklayout.c:633 ../gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" - -#: ../gtk/gtklayout.c:634 ../gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" - -#: ../gtk/gtklayout.c:641 ../gtk/gtktreeviewcolumn.c:211 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 msgid "Width" msgstr "ਚੌੜਾਈ" -#: ../gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "ਲੇਆਉਟ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtklayout.c:650 +#: ../gtk/gtklayout.c:668 msgid "Height" msgstr "ਉਚਾਈ" -#: ../gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "ਲੇਆਉਟ ਦੀ ਉਚਾਈ" -#: ../gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:174 msgid "URI" msgstr "URI" -#: ../gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:175 msgid "The URI bound to this button" msgstr "ਇਸ ਬਟਨ ਲਈ URI ਬਾਊਂਡ" -#: ../gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:189 msgid "Visited" msgstr "ਖੋਲ੍ਹੇ ਗਏ" -#: ../gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:190 msgid "Whether this link has been visited." msgstr "ਕੀ ਇਹ ਲਿੰਕ ਪਹਿਲਾਂ ਖੋਲ੍ਹਿਆ ਗਿਆ ਹੈ।" -#: ../gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:170 msgid "Pack direction" msgstr "ਪੈਕ ਦਿਸ਼ਾ" -#: ../gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:171 msgid "The pack direction of the menubar" msgstr "ਮੇਨੂ-ਪੱਟੀ ਵਿੱਚ ਪੈਕ ਦੀ ਦਿਸ਼ਾ" -#: ../gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:187 msgid "Child Pack direction" msgstr "ਚਾਈਲਡ ਪੈਕ ਦਿਸ਼ਾ" -#: ../gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:188 msgid "The child pack direction of the menubar" msgstr "ਮੇਨ-ਪੱਟੀ ਦੀ ਚਾਈਲਡ ਪੈਕ ਦਿਸ਼ਾ" -#: ../gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:197 msgid "Style of bevel around the menubar" msgstr "ਮੇਨੂ-ਬਾਰ ਦੇ ਦੁਆਲੇ ਬੀਵਲ ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkmenubar.c:197 ../gtk/gtktoolbar.c:567 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 msgid "Internal padding" msgstr "ਅੰਦਰੂਨੀ ਚਿਣਾਈ" -#: ../gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:205 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "ਹਾਸ਼ੀਏ ਦੀ ਥਾਂ ਦਾ ਅਕਾਰ ਮੇਨੂ-ਬਾਰ ਦੇ ਪਰਛਾਵੇ ਅਤੇ ਮੇਨੂ ਚੀਜਾਂ ਦੇ ਵਿੱਚਕਾਰ" -#: ../gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "ਲਟਕਦੇ ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" - -#: ../gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "ਮੇਨੂ-ਬਾਰ ਦੀ ਸਬ-ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" - -#: ../gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:521 msgid "The currently selected menu item" msgstr "ਮੌਜੂਦਾ ਚੁਣੀ ਮੇਨੂ ਆਈਟਮ ਹੈ।" -#: ../gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:536 msgid "The accel group holding accelerators for the menu" msgstr "ਮੇਨੂ ਲਈ ਅਸੈੱਲ ਗਰੁੱਪ ਰੱਖਣ ਵਾਲੇ ਐਕਸਰਲੇਟਰ" -#: ../gtk/gtkmenu.c:555 ../gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 msgid "Accel Path" msgstr "ਅਸੈੱਲ ਪਾਥ" -#: ../gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:551 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "ਅਸੈੱਲ ਪਾਥ, ਜੋ ਕਿ ਚਾਈਲਡ ਆਈਟਮਾਂ ਦਾ ਅਸੈਲ ਪਾਥ ਬਣਾਉਣ ਲਈ ਸੌਖਾ ਹੋਵੇ" -#: ../gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:567 msgid "Attach Widget" msgstr "ਵਿਡਜੈੱਟ ਨੱਥੀ" -#: ../gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:568 msgid "The widget the menu is attached to" msgstr "ਨੱਥੀ ਕਰਨ ਲਈ ਵਿਡਜੈੱਟ ਮੇਨੂ" -#: ../gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:576 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "ਜਦੋਂ ਲਿਸਟ ਨੂੰ ਹਟਾਇਆ ਜਾਵੇ ਤਾਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਦਾ ਉਪਲੱਬਧ ਟਾਇਟਲ, ਜੋ ਕਿ ਦਿੱਸ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:590 msgid "Tearoff State" msgstr "ਵੱਖ ਹਾਲਤ" -#: ../gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:591 msgid "A boolean that indicates whether the menu is torn-off" msgstr "ਇੱਕ ਬੁਲੀਅਨ ਮੁੱਲ, ਜੋ ਕਿ ਮੇਨੂ ਨੂੰ ਵੱਖ ਹੋਣਯੋਗ ਬਣਾਉਦਾ ਹੈ" -#: ../gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:605 msgid "Monitor" msgstr "ਮਾਨੀਟਰ" -#: ../gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:606 msgid "The monitor the menu will be popped up on" msgstr "ਮੇਨੂ ਨਿਗਾਰਨ ਖੁੱਲ੍ਹੇਗਾ" -#: ../gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:612 msgid "Vertical Padding" msgstr "ਲੰਬਕਾਰੀ ਚਿਣੋ" -#: ../gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:613 msgid "Extra space at the top and bottom of the menu" msgstr "ਮੇਨੂ ਦੇ ਉੱਤੇ ਅਤੇ ਹੇਠਾਂ ਵਾਧੂ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:635 msgid "Reserve Toggle Size" msgstr "ਉਲਟ ਟਾਗਲ ਆਕਾਰ" -#: ../gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:636 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "ਇੱਕ ਬੁਲੀਅਨ ਮੁੱਲ, ਜੋ ਕਿ ਮੇਨੂ ਨੂੰ ਟਾਗਲ ਅਤੇ ਆਈਕਾਨ ਲਈ ਮੇਨੂ ਉਲਟ ਥਾਂ ਰੱਖੇ।" -#: ../gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:642 msgid "Horizontal Padding" msgstr "ਖਿਤਿਜੀ ਚਿਣੋ" -#: ../gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:643 msgid "Extra space at the left and right edges of the menu" msgstr "ਮੇਨੂ ਦੇ ਉੱਪਰਲੇ ਅਤੇ ਹੇਠਲੇ ਕਿਨਾਰੇ ਉੱਤੇ ਵਾਧੂ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:651 msgid "Vertical Offset" msgstr "ਲੰਬਕਾਰੀ ਆਫਸੈੱਟ" -#: ../gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:652 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" msgstr "ਜਦੋਂ ਮੇਨੂ ਵਿੱਚ ਸਬ-ਮੇਨੂ ਹੋਵੇ ਤਾਂ, ਇਸ ਨੂੰ ਇੰਨੇ ਪਿਕਸਿਲ ਲੰਬਕਾਰ ਦਿਸ਼ਾ ਵਿੱਚ ਸੰਤੁਲਿਤ ਕਰੋ" -#: ../gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:660 msgid "Horizontal Offset" msgstr "ਲੇਟਵੀ ਆਫਸੈੱਟ" -#: ../gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:661 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" msgstr "ਜਦੋਂ ਮੇਨੂ ਵਿੱਚ ਸਬ-ਮੇਨੂ ਹੋਵੇ ਤਾਂ, ਇਸ ਨੂੰ ਇੰਨੇ ਪਿਕਸਿਲ ਲੇਟਵੀ ਦਿਸ਼ਾ ਸੰਤੁਲਿਤ ਕਰੋ" -#: ../gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:669 msgid "Double Arrows" msgstr "ਦੋਹਰੇ ਤੀਰ" -#: ../gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:670 msgid "When scrolling, always show both arrows." msgstr "ਸਕਰੋਲ ਕਰਨ ਦੌਰਾਨ, ਹਮੇਸ਼ਾ ਦੋਵੇਂ ਤੀਰ ਵੇਖਾਓ।" -#: ../gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:683 msgid "Arrow Placement" msgstr "ਤੀਰ ਥਾਂ" -#: ../gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:684 msgid "Indicates where scroll arrows should be placed" msgstr "ਵੇਖਾਉਦਾ ਹੈ ਕਿ ਕਿੱਥੇ ਸਕਰੋਲ ਤੀਰ ਰੱਖੇ ਜਾਣਗੇ" -#: ../gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:692 msgid "Left Attach" msgstr "ਖੱਬਾ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:698 ../gtk/gtktable.c:193 +#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਖੱਬੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:700 msgid "Right Attach" msgstr "ਸੱਜੇ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:701 msgid "The column number to attach the right side of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਸੱਜੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:708 msgid "Top Attach" msgstr "ਉੱਤੇ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:709 msgid "The row number to attach the top of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਉਪਰਲੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਸਤਰ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:716 msgid "Bottom Attach" msgstr "ਹੇਠਾਂ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:722 ../gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਹੇਠਲੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਸਤਰ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:731 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "ਸਕਰੋਲ ਤੀਰ ਦਾ ਸਾਈਜ਼ ਘਟਾਉਣ ਲਈ ਸਥਿਰ ਅੰਕ" -#: ../gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "ਐਕਸਲੇਟਰ ਬਦਲ ਸਕਦੇ ਹਨ" - -#: ../gtk/gtkmenu.c:824 -msgid "Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "ਕੀ ਮੇਨੂ-ਤੇਜ਼ ਲਿਸਟ ਉੱਤੇ ਇੱਕ ਕੀ ਦਬਾਉਣ ਨਾਲ ਤਬਦੀਲ ਹੋ ਜਾਣ" - -#: ../gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "ਸਬ-ਮੇਨੂ ਦੇ ਉਭੱਰਨ ਵਿੱਚ ਦੇਰੀ" - -#: ../gtk/gtkmenu.c:830 -msgid "Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "ਘੱਟੋ-ਘੱਟ ਸਮਾਂ, ਜਿਸ ਲਈ ਸਬ-ਮੇਨੂ ਦੇ ਖੁੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਸੰਕੇਤਕ ਮੇਨੂ ਆਈਟਮ ਉੱਤੇ ਹੀ ਰਹੇ" - -#: ../gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਵਿੱਚ ਦੇਰੀ" - -#: ../gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "ਸਮਾਂ ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ, ਜਦੋਂ ਕਿ ਸੰਕੇਤਕ ਸਬ-ਮੇਨੂ ਵੱਲ ਆ ਰਿਹਾ ਹੋਵੇ" - -#: ../gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:283 msgid "Right Justified" msgstr "ਸੱਜੇ ਇਕਸਾਰ" -#: ../gtk/gtkmenuitem.c:286 +#: ../gtk/gtkmenuitem.c:284 msgid "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "ਮੇਨ ਬਾਰੇ ਦੇ ਸੱਜੇ ਕੋਨੇ ਉੱਤੇ ਮੇਨੂ ਆਈਟਮ ਵੇਖਾਉਣ ਲਈ ਸੈੱਟ ਕਰੇਗਾ" -#: ../gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:298 msgid "Submenu" msgstr "ਸਬ-ਮੇਨੂ" -#: ../gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:299 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "ਮੇਨ ਆਈਟਮ ਨਾਲ ਜੁੜਿਆ ਸਬ-ਮੇਨੂ, ਜਾਂ ਕੁਝ ਨਾ ਹੋਣ ਦੇ ਰੂਪ ਵਿੱਚ NULL" -#: ../gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:317 msgid "Sets the accelerator path of the menu item" msgstr "ਮੇਨੂ ਆਈਟਮ ਦਾ ਐਕਸਰਲੇਸ਼ਨ ਪਾਥ ਸੈੱਟ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:332 msgid "The text for the child label" msgstr "ਚਾਈਲਡ ਲੇਬਲ ਲਈ ਟੈਕਸਟ" -#: ../gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:395 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "ਤੀਰ ਵਲੋਂ ਮੇਨੂ ਆਈਟਮ ਦੇ ਫੋਂਟ ਸਾਈਜ਼ ਮੁਤਾਬਕ ਵਰਤੀ ਥਾਂ ਦੀ ਮਾਤਰਾ" -#: ../gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:408 msgid "Width in Characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" -#: ../gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:409 msgid "The minimum desired width of the menu item in characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਮੇਨੂ ਆਈਟਮਾਂਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਲੋੜੀਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:381 msgid "Take Focus" msgstr "ਫੋਕਸ ਲਵੋ" -#: ../gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:382 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "ਇੱਕ ਬੁਲੀਅਨ, ਜੋ ਕਿ ਮੇਨੂ-ਪੱਟੀ ਵਿੱਚ ਕੀ-ਬੋਰਡ ਫੋਕਸ ਲਵੇ" @@ -3610,51 +3627,51 @@ msgstr "ਕੀ ਅਸੀਂ ਡਾਈਲਾਗ ਵੇਖਾ ਰਹੇ ਹਨ" msgid "The screen where this window will be displayed." msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਇਹ ਵਿੰਡੋ ਵੇਖਾਈ ਜਾਵੇਗੀ।" -#: ../gtk/gtknotebook.c:648 +#: ../gtk/gtknotebook.c:692 msgid "Page" msgstr "ਸਫ਼ਾ" -#: ../gtk/gtknotebook.c:649 +#: ../gtk/gtknotebook.c:693 msgid "The index of the current page" msgstr "ਮੌਜੂਦਾ ਸਫ਼ੇ ਦਾ ਇੰਡੈਕਸ" -#: ../gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:701 msgid "Tab Position" msgstr "ਟੈਬ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtknotebook.c:658 +#: ../gtk/gtknotebook.c:702 msgid "Which side of the notebook holds the tabs" msgstr "ਨੋਟਬੁੱਕ ਦੇ ਕਿਹੜੇ ਪਾਸੇ ਟੈਬਾਂ ਨੂੰ ਸੰਭਾਲਿਆ ਜਾਵੇ" -#: ../gtk/gtknotebook.c:665 +#: ../gtk/gtknotebook.c:709 msgid "Show Tabs" msgstr "ਟੈਬਾਂ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:666 +#: ../gtk/gtknotebook.c:710 msgid "Whether tabs should be shown" msgstr "ਕੀ ਟੈਬ ਵੇਖਣੀਆਂ ਹਨ" -#: ../gtk/gtknotebook.c:672 +#: ../gtk/gtknotebook.c:716 msgid "Show Border" msgstr "ਹਾਸ਼ੀਆ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:673 +#: ../gtk/gtknotebook.c:717 msgid "Whether the border should be shown" msgstr "ਕੀ ਬਾਰਡਰ ਵੇਖਣਾ ਹੈ" -#: ../gtk/gtknotebook.c:679 +#: ../gtk/gtknotebook.c:723 msgid "Scrollable" msgstr "ਸਲਰੋਲ-ਵੋਗ" -#: ../gtk/gtknotebook.c:680 +#: ../gtk/gtknotebook.c:724 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਕਰੋਲ ਤੀਰ ਜੋੜੇ ਜਾਣਗੇ ਜੇਕਰ ਜਿਆਦਾ ਟੈਬਾਂ ਆ ਗਈਆ" -#: ../gtk/gtknotebook.c:686 +#: ../gtk/gtknotebook.c:730 msgid "Enable Popup" msgstr "ਉਭਾਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ" -#: ../gtk/gtknotebook.c:687 +#: ../gtk/gtknotebook.c:731 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3662,119 +3679,119 @@ msgstr "" "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਨੋਟ-ਬੁੱਕ ਤੇ ਮਾਊਸ ਦਾ ਸੱਜਾ ਬਟਨ ਦਬਾਉਣ ਨਾਲ ਮੇਨੂ ਆ ਜਾਵੇਗੀ, ਜੋ ਕਿ ਤੁਸੀਂ ਸਫੇ ਤੇ ਜਾਣ " "ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ " -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:745 msgid "Group Name" msgstr "ਗਰੁੱਪ ਨਾਂ" -#: ../gtk/gtknotebook.c:702 +#: ../gtk/gtknotebook.c:746 msgid "Group name for tab drag and drop" msgstr "ਟੈਬ ਚੁੱਕਣ ਅਤੇ ਸੁੱਟਣ ਲਈ ਗਰੁੱਪ ਨਾਂ" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:753 msgid "Tab label" msgstr "ਟੈਬ ਲੇਬਲ" -#: ../gtk/gtknotebook.c:710 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed on the child's tab label" msgstr "ਚਾਈਲਡ ਦੇ ਟੈਬ ਲੇਬਲ ਉੱਤੇ ਸਤਰ ਵਿਖਾਈ ਜਾਵੇ" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:760 msgid "Menu label" msgstr "ਮੇਨੂ ਲੇਬਲ" -#: ../gtk/gtknotebook.c:717 +#: ../gtk/gtknotebook.c:761 msgid "The string displayed in the child's menu entry" msgstr "ਚਾਈਲਡ ਦੀ ਮੇਨੂ ਇੰਦਰਾਜ਼ ਵਿੱਚ ਸਤਰ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:774 msgid "Tab expand" msgstr "ਟੈਬ ਫੈਲਾਓ" -#: ../gtk/gtknotebook.c:731 +#: ../gtk/gtknotebook.c:775 msgid "Whether to expand the child's tab" msgstr "ਕੀ ਚਲਾਇਡ ਟੈਬ ਨੂੰ ਫੈਲਾਉਣਾ ਹੈ" -#: ../gtk/gtknotebook.c:737 +#: ../gtk/gtknotebook.c:781 msgid "Tab fill" msgstr "ਟੈਬ ਭਰੋ" -#: ../gtk/gtknotebook.c:738 +#: ../gtk/gtknotebook.c:782 msgid "Whether the child's tab should fill the allocated area" msgstr "ਕੀ ਚਾਈਲਡ ਦੀ ਟੈਬ ਨੂੰ ਦਿੱਤੇ ਖੇਤਰ ਨੂੰ ਭਰਨ ਲਈ ਵਰਤਿਆ ਜਾਵੇ" -#: ../gtk/gtknotebook.c:751 +#: ../gtk/gtknotebook.c:795 msgid "Tab pack type" msgstr "ਟੈਬ ਪੈਕ ਕਿਸਮ" -#: ../gtk/gtknotebook.c:758 +#: ../gtk/gtknotebook.c:802 msgid "Tab reorderable" msgstr "ਟੈਬ ਮੁੜ-ਕ੍ਰਮਯੋਗ" -#: ../gtk/gtknotebook.c:759 +#: ../gtk/gtknotebook.c:803 msgid "Whether the tab is reorderable by user action" msgstr "ਕੀ ਟੈਬ ਯੂਜ਼ਰ ਕਾਰਵਾਈ ਰਾਹੀਂ ਮੁੜ-ਕ੍ਰਮਬੱਧ ਹੋਣ ਯੋਗ ਹੋਵੇ" -#: ../gtk/gtknotebook.c:765 +#: ../gtk/gtknotebook.c:809 msgid "Tab detachable" msgstr "ਟੈਬ ਵੱਖ ਹੋਣ ਯੋਗ" -#: ../gtk/gtknotebook.c:766 +#: ../gtk/gtknotebook.c:810 msgid "Whether the tab is detachable" msgstr "ਕੀ ਟੈਬ ਵੱਖ ਹੋਣ ਹੋਵੇ" -#: ../gtk/gtknotebook.c:781 ../gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "ਸੈਕੰਡਰੀ ਪਿੱਛੇਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:826 msgid "Display a second backward arrow button on the opposite end of the tab area" msgstr "ਟੈਬ ਖੇਤਰ ਦੇ ਵਿਰੋਧੀ ਸਿਰੇ ਤੇ ਦੂਜਾ ਪਿੱਛੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:797 ../gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "ਸੈਕੰਡਰੀ ਅੱਗੇਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:842 msgid "Display a second forward arrow button on the opposite end of the tab area" msgstr "ਟੈਬ ਖੇਤਰ ਦੇ ਵਿਰੋਧੀ ਸਿਰੇ ਤੇ ਦੂਜਾ ਅੱਗੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਉ" -#: ../gtk/gtknotebook.c:812 ../gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "ਪਿੱਛੇ ਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:813 ../gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "ਮਿਆਰੀ ਪਿੱਛੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਉ" -#: ../gtk/gtknotebook.c:827 ../gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "ਅੱਗੇਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:828 ../gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "ਸਟੈਂਡਰਡ ਅੱਗੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:842 +#: ../gtk/gtknotebook.c:886 msgid "Tab overlap" msgstr "ਟੈਬ ਢਕਣ" -#: ../gtk/gtknotebook.c:843 +#: ../gtk/gtknotebook.c:887 msgid "Size of tab overlap area" msgstr "ਟੈਬ ਢਕਣ ਖੇਤਰ ਦਾ ਅਕਾਰ" -#: ../gtk/gtknotebook.c:858 +#: ../gtk/gtknotebook.c:902 msgid "Tab curvature" msgstr "ਟੈਬ ਕਰਵੇਚਰ" -#: ../gtk/gtknotebook.c:859 +#: ../gtk/gtknotebook.c:903 msgid "Size of tab curvature" msgstr "ਟੈਬ ਕਰਵੇਚਰ ਦਾ ਆਕਾਰ" -#: ../gtk/gtknotebook.c:875 +#: ../gtk/gtknotebook.c:919 msgid "Arrow spacing" msgstr "ਤੀਰ ਥਾਂ" -#: ../gtk/gtknotebook.c:876 +#: ../gtk/gtknotebook.c:920 msgid "Scroll arrow spacing" msgstr "ਸਕਰੋਲ ਤੀਰ ਥਾਂ" @@ -3787,71 +3804,71 @@ msgstr "ਹਾਲਤ" msgid "The orientation of the orientable" msgstr "ਸਥਿਤੀ-ਯੋਗ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkpaned.c:271 +#: ../gtk/gtkpaned.c:328 msgid "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "ਪੈਨਡ ਵੱਖਰੇਵੇ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ (0 ਦਾ ਅਰਥ ਹੈ ਸਭ ਪਾਸਿਆ ਤੋਂ ਖੱਬੇ/ਉੱਤੇ ਵੱਲ)" -#: ../gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:337 msgid "Position Set" msgstr "ਸਥਿਤੀ ਸੈੱਟ" -#: ../gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:338 msgid "TRUE if the Position property should be used" msgstr "ਸਹੀ ਜੇਕਰ ਸਥਿਤੀ-ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:344 msgid "Handle Size" msgstr "ਹੈਡਲ ਅਕਾਰ" -#: ../gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:345 msgid "Width of handle" msgstr "ਹੈਡਲ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:361 msgid "Minimal Position" msgstr "ਘੱਟੋ-ਘੱਟੋ ਟਿਕਾਣਾ" -#: ../gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:362 msgid "Smallest possible value for the \"position\" property" msgstr "\"ਟਿਕਾਣਾ\" ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸੰਭਵ ਛੋਟੇ ਤੋਂ ਛੋਟਾ ਮੁੱਲ" -#: ../gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:379 msgid "Maximal Position" msgstr "ਵੱਡੀ ਤੋਂ ਵੱਡੀ ਟਿਕਾਣਾ" -#: ../gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:380 msgid "Largest possible value for the \"position\" property" msgstr "\"ਟਿਕਾਣਾ\" ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸੰਭਵ ਵੱਡੇ ਤੋਂ ਵੱਡਾ ਮੁੱਲ" -#: ../gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:397 msgid "Resize" msgstr "ਮੁੜ-ਅਕਾਰ" -#: ../gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:398 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਚਲਾਇਡ ਪੈਨਲ ਵਿਦਗਿਟ ਨਾਲ ਫੈਲ਼ ਅਤੇ ਸੁੰਘੜ ਸਕਦਾ ਹੈ " -#: ../gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:413 msgid "Shrink" msgstr "ਸੁੰਘੜੋ" -#: ../gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:414 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਚਲਾਇਡ ਇਸ ਦੇ ਅਸਲੀ ਅਕਾਰ ਤੋਂ ਛੋਟਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkplug.c:171 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "ਸ਼ਾਮਲ ਕੀਤਾ" -#: ../gtk/gtkplug.c:172 +#: ../gtk/gtkplug.c:178 msgid "Whether the plug is embedded" msgstr "ਕੀ ਪਲੱਗ ਸ਼ਾਮਲ (ਇੰਬੈੱਡ) ਕੀਤਾ ਜਾਵੇ" -#: ../gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:192 msgid "Socket Window" msgstr "ਸਾਕਟ ਵਿੰਡੋ" -#: ../gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:193 msgid "The window of the socket the plug is embedded in" msgstr "ਇੰਬੈੱਡ ਕੀਤੇ ਪਲੱਗਇ ਦੇ ਸਾਕਟ ਦੀ ਵਿੰਡੋ" @@ -3935,44 +3952,44 @@ msgstr "ਜਾਬ ਲੈ ਰਿਹਾ" msgid "TRUE if this printer is accepting new jobs" msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਰ ਨਵੇਂ ਜਾਬ ਮਨਜ਼ੂਰ ਕਰਦਾ ਹੋਵੇ" -#: ../gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "ਸਰੋਤ ਚੋਣਾਂ" -#: ../gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "ਇਹ ਵਿਦਗਿਟ ਲਈ PrinterOption ਬੈਕਿੰਗ ਹੈ" -#: ../gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "ਪਰਿੰਟ ਜਾਬ ਦਾ ਟਾਇਟਲ" -#: ../gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "ਪਰਿੰਟਰ" -#: ../gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "ਪਰਿੰਟ ਜਾਬ ਲਈ ਪਰਿੰਟਰ" -#: ../gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "ਸੈਟਿੰਗ" -#: ../gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "ਪਰਿੰਟਰ ਸੈਟਿੰਗ" -#: ../gtk/gtkprintjob.c:142 ../gtk/gtkprintjob.c:143 +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 #: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "ਸਫ਼ਾ ਸੈੱਟਅੱਪ" -#: ../gtk/gtkprintjob.c:151 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "ਪਰਿੰਟ ਹਾਲਤ ਟਰੈਕ" -#: ../gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:163 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4154,85 +4171,85 @@ msgstr "ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਚੋਣ ਦੇਵੇ" msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "ਸਹੀ, ਜੇ ਸਫ਼ਾ ਸੈਟਅੱਪ GtkPrintUnixDialog ਵਿਚੇ ਹੀ ਸ਼ਾਮਲ ਹੋਵੇ" -#: ../gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "ਭਾਗ" -#: ../gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "ਕੁੱਲ ਕੰਮ ਦੇ ਹਿੱਸੇ ਜੋ ਕਿ ਪੂਰੇ ਹੋ ਗਏ ਹਨ" -#: ../gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "ਪਲਸ ਸਟੈਪ" -#: ../gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "ਕੁੱਲ ਕੰਮ ਦੇ ਹਿੱਸੇ ਜੋ ਕਿ ਜਦੋਂ ਲਹਿਰ ਆਉਦੀ ਹੈ ਤਾਂ ਬਲਾਕ ਨੂੰ ਅੱਗੇ ਖਿਸਕਾਉਦੇ ਹਨ" -#: ../gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "ਤਰੱਕੀ-ਪੱਟੀ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਸ਼ਬਦ" -#: ../gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "ਟੈਕਸਟ ਵੇਖੋ" -#: ../gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "ਕੀ ਤਰੱਕੀ ਨੂੰ ਸ਼ਬਦ ਵਾਂਗ ਵੇਖਾਇਆ ਜਾਵੇ।" -#: ../gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:208 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." msgstr "ਅੰਡਕਾਰ-ਅਕਾਰ ਸਤਰ ਲਈ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਤਰੱਕੀ ਪੱਟੀ ਲਈ ਪੂਰੀ ਸਤਰ ਵੇਖਾਉਣ ਲਈ ਥਾਂ ਨਾ ਹੋਵੇ।" -#: ../gtk/gtkprogressbar.c:188 +#: ../gtk/gtkprogressbar.c:215 msgid "X spacing" msgstr "X ਫਾਸਲਾ" -#: ../gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "ਇੱਕ ਤਰੱਕੀ ਬਾਰ ਦੀ ਚੌੜਾਈ ਵਿੱਚ ਵਾਧੂ ਥਾਂ ਲਾਗੂ ਕੀਤੀ ਜਾਵੇਗੀ।" -#: ../gtk/gtkprogressbar.c:194 +#: ../gtk/gtkprogressbar.c:221 msgid "Y spacing" msgstr "Y ਥਾਂ" -#: ../gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "ਇੱਕ ਤਰੱਕੀ ਬਾਰ ਦੀ ਉਚਾਈ ਵਿੱਚ ਵਾਧੂ ਥਾਂ ਲਾਗੂ ਕੀਤੀ ਜਾਵੇਗੀ।" -#: ../gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:235 msgid "Minimum horizontal bar width" msgstr "ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਬਾਰ ਚੌੜਾਈ" -#: ../gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:236 msgid "The minimum horizontal width of the progress bar" msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਚੌੜਾਈ" -#: ../gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:248 msgid "Minimum horizontal bar height" msgstr "ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਬਾਰ ਚੌੜਾਈ" -#: ../gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:249 msgid "Minimum horizontal height of the progress bar" msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਉਚਾਈ" -#: ../gtk/gtkprogressbar.c:234 +#: ../gtk/gtkprogressbar.c:261 msgid "Minimum vertical bar width" msgstr "ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਬਾਰ ਚੌੜਾਈ" -#: ../gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:262 msgid "The minimum vertical width of the progress bar" msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਚੌੜਾਈ" -#: ../gtk/gtkprogressbar.c:247 +#: ../gtk/gtkprogressbar.c:274 msgid "Minimum vertical bar height" msgstr "ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਬਾਰ ਉਚਾਈ" -#: ../gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:275 msgid "The minimum vertical height of the progress bar" msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਉਚਾਈ" @@ -4248,7 +4265,7 @@ msgstr "" "ਇਹ ਕਾਰਵਾਈ ਆਪਣੇ ਗਰੁੱਪ ਦੀ ਮੌਜੂਦਾ ਕਾਰਵਾਈ ਹੈ ਤਾਂ gtk_radio_action_get_current_value() ਨੇ " "ਵਾਪਿਸ ਕੀਤਾ ਮੁੱਲ" -#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:160 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 #: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "ਗਰੁੱਪ" @@ -4267,7 +4284,7 @@ msgid "" "action belongs." msgstr "ਗਰੁੱਪ ਦੇ ਮੌਜੂਦਾ ਐਕਟਿਵ ਮੈਂਬਰ ਦੀ ਮੁੱਲ ਵਿਸ਼ੇਸ਼ਤਾ, ਜਿਸ ਨਾਲ ਇਹ ਐਕਸ਼ਨ ਸਬੰਧਿਤ ਹੈ।" -#: ../gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:164 msgid "The radio button whose group this widget belongs to." msgstr "ਰੇਡੀਉ ਬਟਨ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ ਜਿਸ ਨਾਲ ਵਿਦਗਿਟ ਸਬੰਧਤ ਹੈ।" @@ -4279,137 +4296,137 @@ msgstr "ਰੇਡੀਉ ਮੇਨੂ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ msgid "The radio tool button whose group this button belongs to." msgstr "ਰੇਡੀਉ ਟੂਲ ਬਟਨ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ ਜਿਸ ਨਾਲ ਬਟਨ ਸਬੰਧਤ ਹੈ।" -#: ../gtk/gtkrange.c:416 +#: ../gtk/gtkrange.c:422 msgid "Update policy" msgstr "ਅੱਪਡੇਟ ਪਾਲਸੀ" -#: ../gtk/gtkrange.c:417 +#: ../gtk/gtkrange.c:423 msgid "How the range should be updated on the screen" msgstr "ਸਕਰੀਨ ਤੇ ਰੇਜ਼ ਦਾ ਕਿੰਨੀ ਵਾਰ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ" -#: ../gtk/gtkrange.c:426 +#: ../gtk/gtkrange.c:432 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "GtkAdjustment ਜੋ ਕਿ ਰੇਜ਼ ਆਬਜੈਕਟ ਦੀ ਮੌਜੂਦਾ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" -#: ../gtk/gtkrange.c:434 +#: ../gtk/gtkrange.c:440 msgid "Invert direction slider moves to increase range value" msgstr "ਬਦਲਵੀ ਦਿਸ਼ਾ ਵਾਲਾ ਸਲਾਇਡਰ ਰੇਜ਼ ਦਾ ਮੁੱਲ ਵਧਾਉਣ ਲਈ ਹਿੱਲੇ" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:447 msgid "Lower stepper sensitivity" msgstr "ਹੇਠਲੀ ਸਟੈਪਰ ਸੰਵੇਦਨਸ਼ੀਲਤਾ" -#: ../gtk/gtkrange.c:442 +#: ../gtk/gtkrange.c:448 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" msgstr "ਸਟਿੱਪਰ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਪਾਲਸੀ, ਜੋ ਕਿ ਹੇਠਲੇ ਪਾਸੇ ਦੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਪੁਆਇੰਟ ਕਰੇ।" -#: ../gtk/gtkrange.c:450 +#: ../gtk/gtkrange.c:456 msgid "Upper stepper sensitivity" msgstr "ਉੱਪਰੀ ਸਟੈਪਰ ਸੰਵੇਦਨਸ਼ੀਲਤਾ" -#: ../gtk/gtkrange.c:451 +#: ../gtk/gtkrange.c:457 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" msgstr "ਸਟਿੱਪਰ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਪਾਲਸੀ, ਜੋ ਕਿ ਉਤਲੇ ਪਾਸੇ ਦੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਪੁਆਇੰਟ ਕਰੇ।" -#: ../gtk/gtkrange.c:468 +#: ../gtk/gtkrange.c:474 msgid "Show Fill Level" msgstr "ਭਰਨ ਲੈਵਲ ਵੇਖਾਓ" -#: ../gtk/gtkrange.c:469 +#: ../gtk/gtkrange.c:475 msgid "Whether to display a fill level indicator graphics on trough." msgstr "ਕੀ ਭਰਨ ਲੈਵਲ ਇੰਡੀਕੇਟਰ ਗਰਾਫਿਕਸ ਰਾਹੀਂ ਵੇਖਾਇਆ ਜਾਵੇ।" -#: ../gtk/gtkrange.c:485 +#: ../gtk/gtkrange.c:491 msgid "Restrict to Fill Level" msgstr "ਭਰਨ ਲੈਵਲ ਲਈ ਪਾਬੰਦੀ" -#: ../gtk/gtkrange.c:486 +#: ../gtk/gtkrange.c:492 msgid "Whether to restrict the upper boundary to the fill level." msgstr "ਕੀ ਭਰਨ ਲੈਵਲ ਲਈ ਉਤਲੀ ਸੀਮਾ ਦੀ ਪਾਬੰਦੀ ਹੋਵੇ" -#: ../gtk/gtkrange.c:501 +#: ../gtk/gtkrange.c:507 msgid "Fill Level" msgstr "ਭਰਨ ਲੈਵਲ" -#: ../gtk/gtkrange.c:502 +#: ../gtk/gtkrange.c:508 msgid "The fill level." msgstr "ਭਰਨ ਲੈਵਲ ਹੈ।" -#: ../gtk/gtkrange.c:510 +#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 msgid "Slider Width" msgstr "ਸਲਾਇਡਰ ਚੌੜਾਈ" -#: ../gtk/gtkrange.c:511 +#: ../gtk/gtkrange.c:517 msgid "Width of scrollbar or scale thumb" msgstr "ਸਕਰੋਲਬਾਰ ਜਾਂ ਪੈਮਾਨਾ ਥੰਮ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkrange.c:518 +#: ../gtk/gtkrange.c:524 msgid "Trough Border" msgstr "ਕੁੰਡ ਦਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkrange.c:519 +#: ../gtk/gtkrange.c:525 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "ਥੰਬ/ਪਗਕਾਰਾਂ ਅਤੇ trough bevel ਵਿਚ ਫਾਸਲਾ" -#: ../gtk/gtkrange.c:526 +#: ../gtk/gtkrange.c:532 msgid "Stepper Size" msgstr "ਪਗਕਾਰ ਅਕਾਰ" -#: ../gtk/gtkrange.c:527 +#: ../gtk/gtkrange.c:533 msgid "Length of step buttons at ends" msgstr "ਅਖੀਰ ਤੇ ਪਗ-ਬਟਨ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkrange.c:542 +#: ../gtk/gtkrange.c:548 msgid "Stepper Spacing" msgstr "ਪਗਕਾਰ ਦੀ ਥਾਂ" -#: ../gtk/gtkrange.c:543 +#: ../gtk/gtkrange.c:549 msgid "Spacing between step buttons and thumb" msgstr "ਪਗ-ਬਟਨ ਅਤੇ ਥੰਬ ਵਿੱਚਕਾਰ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkrange.c:550 +#: ../gtk/gtkrange.c:556 msgid "Arrow X Displacement" msgstr "ਤੀਰ X ਵਿਸਥਾਪਨ" -#: ../gtk/gtkrange.c:551 +#: ../gtk/gtkrange.c:557 msgid "How far in the x direction to move the arrow when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ x-ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿੱਲਾਉਣਾ ਹੈ" -#: ../gtk/gtkrange.c:558 +#: ../gtk/gtkrange.c:564 msgid "Arrow Y Displacement" msgstr "ਤੀਟ Y ਵਿਸਥਾਪਨ" -#: ../gtk/gtkrange.c:559 +#: ../gtk/gtkrange.c:565 msgid "How far in the y direction to move the arrow when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ y-ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿੱਲਾਉਣਾ ਹੈ" -#: ../gtk/gtkrange.c:577 +#: ../gtk/gtkrange.c:583 msgid "Trough Under Steppers" msgstr "ਸਟਿੱਪਰ ਦੇ ਹੇਠ ਤੱਕ" -#: ../gtk/gtkrange.c:578 +#: ../gtk/gtkrange.c:584 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "ਕੀ ਪੂਰੀ ਰੇਜ਼ ਦੀ ਲੰਬਾਈ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ ਜਾਂ ਸਟਿੱਪਰ ਅਤੇ ਖਾਲੀ ਥਾਂ ਨੂੰ ਅੱਡ ਰੱਖਣਾ ਹੈ।" -#: ../gtk/gtkrange.c:591 +#: ../gtk/gtkrange.c:597 msgid "Arrow scaling" msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" -#: ../gtk/gtkrange.c:592 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling with regard to scroll button size" msgstr "ਸਕਰੋਲ ਬਟਨ ਸਾਈਜ਼ ਮੁਤਾਬਕ ਤੀਰ ਸਕੇਲ ਕਰੋ" -#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "ਗਿਣਤੀ ਵੇਖਾਓ" -#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 msgid "Whether the items should be displayed with a number" msgstr "ਕੀ ਆਈਟਮਾਂ ਨੂੰ ਇੱਕ ਨੰਬਰ ਵਾਂਗ ਵੇਖਾਇਆ ਜਾਵੇ" @@ -4485,50 +4502,14 @@ msgstr "ਆਈਟਮਾਂ ਵੇਖਾਉਣ ਲਈ ਕ੍ਰਮਬੱਧ ਢ msgid "The current filter for selecting which resources are displayed" msgstr "ਚੋਣ ਲਈ ਮੌਜੂਦਾ ਫਿਲਟਰ, ਜਿਸ ਨਾਲ ਸਰੋਤ ਵੇਖਾਏ ਜਾਣ" -#: ../gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" msgstr "ਸੂਚੀ ਸੰਭਾਲਣ ਅਤੇ ਪੜ੍ਹਨ ਲਈ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਫਾਇਲ ਲਈ ਪੂਰਾ ਮਾਰਗ" -#: ../gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "ਇਸ ਸਮੇਂ ਵਰਤੀ ਸਰੋਤ ਸੂਚੀ ਦਾ ਆਕਾਰ" -#: ../gtk/gtkruler.c:138 -msgid "Lower" -msgstr "ਹੇਠਲੀ" - -#: ../gtk/gtkruler.c:139 -msgid "Lower limit of ruler" -msgstr "ਪੈਮਾਨੇ ਲਈ ਹੇਠਲੀ ਹੱਦ" - -#: ../gtk/gtkruler.c:148 -msgid "Upper" -msgstr "ਉੱਤੇਲੀ" - -#: ../gtk/gtkruler.c:149 -msgid "Upper limit of ruler" -msgstr "ਪੈਮਾਨੇ ਲਈ ਉੱਤੇਲੀ ਹੱਦ" - -#: ../gtk/gtkruler.c:159 -msgid "Position of mark on the ruler" -msgstr "ਪੈਮਾਨੇ ਤੇ ਨਿਸ਼ਾਨ ਦੀ ਟਿਕਾਣਾ" - -#: ../gtk/gtkruler.c:168 -msgid "Max Size" -msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਅਕਾਰ" - -#: ../gtk/gtkruler.c:169 -msgid "Maximum size of the ruler" -msgstr "ਪੈਮਾਨ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਅਕਾਰ" - -#: ../gtk/gtkruler.c:184 -msgid "Metric" -msgstr "ਮੈਟਰਿਕ" - -#: ../gtk/gtkruler.c:185 -msgid "The metric used for the ruler" -msgstr "ਫੁੱਟੇ ਲਈ ਵਰਤਣ ਲਈ ਮੈਟਰਿਕ" - #: ../gtk/gtkscalebutton.c:221 msgid "The value of the scale" msgstr "ਸਕੇਲ ਦਾ ਮੁੱਲ" @@ -4549,95 +4530,103 @@ msgstr "ਆਈਕਾਨ" msgid "List of icon names" msgstr "ਆਈਕਾਨ ਨਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "ਦਸ਼ਮਲਵ ਦੀ ਗਿਣਤੀ ਜੋ ਕਿ ਮੁੱਲ ਵਿੱਚ ਦਿੱਸੇਗੀ" -#: ../gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "ਮੁੱਲ ਕੱਢੋ" -#: ../gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "ਕੀ ਮੌਜੂਦਾ ਮੁੱਲ ਪਗਕਾਰ ਤੇ ਅਗਲ਼ੀ ਸਤਰ ਵੇਖਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "ਟਿਕਾਣਾ ਮੁੱਲ" -#: ../gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "ਟਿਕਾਣਾ ਜਿੱਥੇ ਮੌਜੂਦਾ ਮੁੱਲ ਵੇਖਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "ਪਗਕਾਰ ਲੰਬਾਈ" -#: ../gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "ਪੈਮਾਨੇ ਦੇ ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "ਮੁੱਲ ਦੀ ਥਾਂ" -#: ../gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "ਖਾਲ਼ੀ ਥਾਂ, ਸ਼ਬਦ ਅਤੇ ਪਗਕਾਰ/ਕੁੰਡ ਖੇਤਰ ਵਿੱਚ" -#: ../gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "ਘੱਟੋ-ਘੱਟ ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "ਘੱਟੋ-ਘੱਟ ਸਕਰੋਲਬਾਰ-ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "ਪਗਕਾਰ ਦਾ ਨਿਸ਼ਚਿਤ ਅਕਾਰ" -#: ../gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "ਪਗਕਾਰ ਦਾ ਅਕਾਰ ਨਾ ਬਦਲੋ, ਸਿਰਫ ਘੱਟੋ-ਘੱਟ ਲੰਬਾਈ ਨਿਸ਼ਚਿਤ ਕਰ ਦਿਓ" -#: ../gtk/gtkscrollbar.c:81 +#: ../gtk/gtkscrollbar.c:103 msgid "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "ਸਕਰੋਲਬਾਰ ਦੇ ਉਲਟ ਕਿਨਾਰੇ ਤੇ ਦੂਜਾ ਪਿੱਛੇ ਵਾਲਾ ਤੀਰ-ਬਟਨ ਵੇਖਾਓ" -#: ../gtk/gtkscrollbar.c:88 +#: ../gtk/gtkscrollbar.c:110 msgid "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "ਸਕਰੋਲਬਾਰ ਦੇ ਉਲਟ ਕਿਨਾਰੇ ਉੱਤੇ ਦੂਜਾ ਅੱਗੇ ਵਾਲਾ ਤੀਰ-ਬਟਨ ਵੇਖਾਓ" -#: ../gtk/gtkscrolledwindow.c:243 ../gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:295 msgid "Horizontal Adjustment" msgstr "ਲੇਟਵੀ ਅਡਜੱਸਟਮੈਂਟ" -#: ../gtk/gtkscrolledwindow.c:250 ../gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:296 +msgid "The GtkAdjustment for the horizontal position" +msgstr "ਲੇਟਵੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:302 msgid "Vertical Adjustment" msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" -#: ../gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:303 +msgid "The GtkAdjustment for the vertical position" +msgstr "ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:309 msgid "Horizontal Scrollbar Policy" msgstr "ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਦਾ ਢੰਗ" -#: ../gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:310 msgid "When the horizontal scrollbar is displayed" msgstr "ਜਦੋਂ ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਵਿਖਾਇਆ ਗਿਆ" -#: ../gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:317 msgid "Vertical Scrollbar Policy" msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ ਪਾਲਸੀ" -#: ../gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:318 msgid "When the vertical scrollbar is displayed" msgstr "ਜਦੋਂ ਲੰਬਕਾਰੀ ਸਕਰੌਲਬਾਰ ਵਿਖਾਇਆ ਗਿਆ" -#: ../gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:326 msgid "Window Placement" msgstr "ਵਿੰਡੋ ਟਿਕਾਣਾ" -#: ../gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:327 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4645,11 +4634,11 @@ msgstr "" "ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਕਿੱਥੇ ਰੱਖਿਆ ਜਾਵੇ। ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ \"window-placement-set\" ਦੇ " "ਸਹੀਂ ਹੋਣ ਦੀ ਸੂਰਤ ਵਿੱਚ ਹੀ ਪਰਭਾਵੀ ਹੁੰਦੀ ਹੈ।" -#: ../gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:344 msgid "Window Placement Set" msgstr "ਵਿੰਡੋ ਟਿਕਾਣਾ ਦਿਓ" -#: ../gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:345 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4657,55 +4646,61 @@ msgstr "" "ਕੀ \"window-placement\" ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਸਮੱਗਰੀ ਨੂੰ ਰੱਖਣ ਲਈ ਪਤਾ ਕਰਨ ਵਾਸਤੇ ਵਰਤਿਆ " "ਜਾਵੇ।" -#: ../gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:351 msgid "Shadow Type" msgstr "ਛਾਂ ਕਿਸਮ" -#: ../gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Style of bevel around the contents" msgstr "ਹਿੱਸੇ ਦੁਆਲੇ bevel ਦੀ ਕਿਸਮ" -#: ../gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:366 msgid "Scrollbars within bevel" msgstr "ਬੀਵਲ ਨਾਲ ਸਕਰੋਲਬਾਰ" -#: ../gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Place scrollbars within the scrolled window's bevel" msgstr "ਸਕਰੋਲ ਕੀਤੇ ਵਿੰਡੋ ਦੇ ਬੀਵਲ ਵਿੱਚ ਸਕਰੋਲਬਾਰ ਰੱਖੋ" -#: ../gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:373 msgid "Scrollbar spacing" msgstr "ਸਕਰੌਲਬਾਰ ਵਿੱਥ" -#: ../gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "ਸਕਰੌਲਬਾਰ ਅਤੇ ਸਕਰੌਲ ਕੀਤੇ ਵਿੰਡੋ ਵਿਚਕਾਰ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkscrolledwindow.c:337 -msgid "Scrolled Window Placement" -msgstr "ਸਕਰੋਲ ਕੀਤਾ ਵਿੰਡੋ ਟਿਕਾਣਾ" +#: ../gtk/gtkscrolledwindow.c:383 +#| msgid "Minimum Width" +msgid "Minimum Content Width" +msgstr "ਘੱਟੋ-ਘੱਟ ਸਮੱਗਰੀ ਚੌੜਾਈ" -#: ../gtk/gtkscrolledwindow.c:338 -msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." -msgstr "" -"ਕੀ ਸਕਰੋਲ ਕੀਤੀਆਂ ਵਿੰਡੋਜ਼ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ, ਜੇ ਨਹੀਂ ਤਾਂ ਸਕਰੋਲ ਕੀਤੀਆਂ " -"ਵਿੰਡੋਜ਼ ਦੀ ਆਪਣੀ ਸਥਿਤੀ ਮੁਤਾਬਕ ਵਰਤੀਆਂ ਜਾਣਗੀਆਂ।" +#: ../gtk/gtkscrolledwindow.c:384 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ, ਜੋ ਕਿ ਸਕਰੋਲ ਵਿੰਡੋ ਆਪਣੀ ਸਮੱਗਰੀ ਨੂੰ ਦੇਵੇਗੀ" -#: ../gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkscrolledwindow.c:390 +#| msgid "Minimum child height" +msgid "Minimum Content Height" +msgstr "ਘੱਟੋ-ਘੱਟ ਸਮੱਗਰੀ ਉਚਾਈ" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "The minimum height that the scrolled window will allocate to its content" +msgstr "ਘੱਟੋ-ਘੱਟ ਉਚਾਈ, ਜੋ ਕਿ ਸਕਰੋਲ ਵਿੰਡੋ ਆਪਣੀ ਸਮੱਗਰੀ ਨੂੰ ਦੇਵੇਗੀ" + +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "ਉਲੀਕੋ" -#: ../gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "ਵਖਰੇਵਾਂ ਉਲੀਕਿਆ ਜਾਵੇ ਜਾਂ ਸਿਰਫ ਖਾਲੀ ਛੱਡਿਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:285 msgid "Double Click Time" msgstr "ਦੋ-ਵਾਰ ਦਬਾਉਣ ਦਾ ਸਮਾਂ" -#: ../gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:286 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4713,191 +4708,191 @@ msgstr "" "ਵੱਧ ਤੋਂ ਵੱਧ ਸਮਾਂ, ਪਹਿਲੀ ਤੇ ਦੂਜੀ ਵਾਰ ਦਬਾਉਣ ਵਿਚਕਾਰ ਜੋ ਕਿ ਇਹ ਸਮਝਿਆ ਜਾਵੇ ਕਿ ਇਹ ਦੋ-ਵਾਰ-" "ਦਬਾਇਆ ਗਿਆ ਹੈ (ਮਿਲੀ-ਸਕਿੰਟਾਂ ਵਿੱਚ)" -#: ../gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:293 msgid "Double Click Distance" msgstr "ਦੋ-ਵਾਰ ਦਬਾਉਣ ਦਾ ਫਾਸਲਾ" -#: ../gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:294 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" msgstr "ਦੋ ਦਬਾਉਣ ਵਿਚਕਾਰ ਵੱਧ ਤੋਂ ਵੱਧ ਮੰਨਣਯੋਗ ਦੂਰੀ ਜਿਸ ਨੂੰ ਦੋ-ਵਾਰ-ਦਬਾਇਆ ਜਾਵੇ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:310 msgid "Cursor Blink" msgstr "ਕਰਸਰ ਝਪਕਣਾ" -#: ../gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:311 msgid "Whether the cursor should blink" msgstr "ਕੀ ਕਰਸਰ ਝਪਕੇ" -#: ../gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:318 msgid "Cursor Blink Time" msgstr "ਕਰਸਰ ਝਪਕਣ ਦਾ ਸਮਾਂ" -#: ../gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:319 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "ਕਰਸਰ ਝਪਕਣ ਦੇ ਸਮਾਂ ਚੱਕਰ ਦੀ ਲੰਬਾਈ, ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ" -#: ../gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:338 msgid "Cursor Blink Timeout" msgstr "ਕਰਸਰ ਝਪਕਣ ਦਾ ਸਮਾਂ" -#: ../gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:339 msgid "Time after which the cursor stops blinking, in seconds" msgstr "ਸਮਾਂ, ਜਿਸ ਉਪਰੰਤ ਕਰਸਰ ਝਪਕਣਾ ਬੰਦ ਹੋਵੇ, ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:346 msgid "Split Cursor" msgstr "ਕਰਸਰ ਖਿੰਡਾਓ" -#: ../gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:347 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" msgstr "ਕੀ ਦੋ ਕਰਸਰਾਂ ਵੇਖਾਈਆ ਜਾਣ ਜੋ ਕਿ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਤੇ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਟੈਕਸਟ ਰੱਲਵੇ ਨੂੰ ਵੇਖਾਉਣ" -#: ../gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:354 msgid "Theme Name" msgstr "ਸਰੂਪ ਨਾਂ" -#: ../gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:355 msgid "Name of theme RC file to load" msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸਰੂਪ RC ਫਾਇਲ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:363 msgid "Icon Theme Name" msgstr "ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:364 msgid "Name of icon theme to use" msgstr "ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:372 msgid "Fallback Icon Theme Name" msgstr "ਵਾਪਸੀ ਆਈਕਾਨ ਸਰੂਪ ਨਾਂ" -#: ../gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:373 msgid "Name of a icon theme to fall back to" msgstr "ਵਾਪਸ ਪਰਤਣ ਲਈ ਇੱਕ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:381 msgid "Key Theme Name" msgstr "ਕੀ-ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:382 msgid "Name of key theme RC file to load" msgstr "ਲੋਡ ਕਰਨ ਲਈ ਕੀ-ਸਰੂਪ RC ਫਾਇਲ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:390 msgid "Menu bar accelerator" msgstr "ਮੇਨੂ-ਪੱਟੀ ਤੇਜ਼" -#: ../gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:391 msgid "Keybinding to activate the menu bar" msgstr "ਮੇਨੂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਲਈ ਕੀ-ਬਾਈਡਿੰਗ" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:399 msgid "Drag threshold" msgstr "ਚੁੱਕਣ ਸਮੱਰਥਾ" -#: ../gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:400 msgid "Number of pixels the cursor can move before dragging" msgstr "ਖਿੱਚਣ ਤੋਂ ਪਹਿਲਾਂ ਕਰਸਰ ਕਿੰਨੇ ਪਿਕਸਲ ਹਿੱਲੇ" -#: ../gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:408 msgid "Font Name" msgstr "ਫੋਂਟ-ਨਾਂ" -#: ../gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:409 msgid "Name of default font to use" msgstr "ਵਰਤਣ ਲਈ ਮੂਲ-ਫੋਂਟ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:431 msgid "Icon Sizes" msgstr "ਆਈਕਾਨ ਅਕਾਰ" -#: ../gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:432 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "ਆਈਕਾਨ ਅਕਾਰ ਦੀ ਸੂਚੀ (gtk-ਸੂਚੀ=16,16;gtk-ਬਟਨ=20,20..." -#: ../gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:440 msgid "GTK Modules" msgstr "GTK ਮੈਡੀਊਲ" -#: ../gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:441 msgid "List of currently active GTK modules" msgstr "ਇਸ ਸਮੇਂ ਸਰਗਰਮ GTK ਮੈਡੀਊਲਾਂ ਦੀ ਸੂਚੀ" -#: ../gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:450 msgid "Xft Antialias" msgstr "Xft ਐਟੀਲਾਈਸਿਕ" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:451 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "ਕੀ Xft ਫੋਂਟ ਨੂੰ ਐਟੀਲਾਈਸਿਕ ਕਰਨਾ ਹੈ; 0= ਨਹੀ, 1=ਹਾਂ, -1=ਮੂਲ" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:460 msgid "Xft Hinting" msgstr "Xft ਸੰਕੇਤ" -#: ../gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:461 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "ਕੀ ਸੰਕੇਤ ਦੇਣੇ ਹਨ Xft ਫੋਟ; 0=ਨਹੀ, 1=ਹਾਂ, -1=ਮੂਲ" -#: ../gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:470 msgid "Xft Hint Style" msgstr "Xft ਸੰਕੇਤ ਸਟਾਇਲ" -#: ../gtk/gtksettings.c:411 +#: ../gtk/gtksettings.c:471 msgid "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "ਕਿਸ ਤਰ੍ਹਾਂ ਦੇ ਸੰਕੇਤ ਵਰਤਣੇ ਹਨ ; ਕੋਈ ਨਹੀ, ਥੋੜੇ, ਮੱਧਮ, ਜਾਂ ਲੋੜ ਮੁਤਾਬਕ" -#: ../gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:480 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:481 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "ਸਬ-ਪਿਕਸਲ ਐਟੀਲਾਈਸਇੰਗ ਦੀ ਕਿਸਮ; ਕੋਈ ਨਹੀ, rgb, bgr, vrgb, vbgr" -#: ../gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:490 msgid "Xft DPI" msgstr "Xft DPI" -#: ../gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:491 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "Xft ਲਈ ਰੈਜ਼ੋਲੂਸ਼ਨ, 1024 * ਬਿੰਦੂ/ਇੰਚ -1 ਮੂਲ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਵਰਤੋਂ" -#: ../gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:500 msgid "Cursor theme name" msgstr "ਕਰਸਰ ਸਰੂਪ ਨਾਂ" -#: ../gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:501 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ, ਜਾਂ ਮੂਲ ਸਰੂਪ ਲਈ NULL" -#: ../gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:509 msgid "Cursor theme size" msgstr "ਕਰਸਰ ਸਰੂਪ ਅਕਾਰ" -#: ../gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:510 msgid "Size to use for cursors, or 0 to use the default size" msgstr "ਵਰਤਣ ਲਈ ਕਰਸਰ ਅਕਾਰ, ਜਾਂ ਮੂਲ ਅਕਾਰ ਲਈ 0 ਦਿਓ" -#: ../gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:520 msgid "Alternative button order" msgstr "ਬਦਲਵਾਂ ਬਟਨ ਕਰਮ" -#: ../gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:521 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "ਕੀ ਡਾਈਲਾਗ ਦੇ ਬਟਨ ਲਈ ਬਦਲਵਾਂ ਬਟਨ ਕਰਮ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ" -#: ../gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:538 msgid "Alternative sort indicator direction" msgstr "ਬਦਲਵੀਂ ਲੜੀਬੱਧ ਸੂਚਕ ਦਿਸ਼ਾ" -#: ../gtk/gtksettings.c:479 +#: ../gtk/gtksettings.c:539 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -4905,342 +4900,448 @@ msgstr "" "ਕੀ ਲਿਸਟ ਅਤੇ ਟਰੀ ਝਲਕ ਵਿੱਚ ਲੜੀਬੱਧ ਇੰਡੀਕੇਟਰ ਦੀ ਦਿਸ਼ਾ ਡਿਫਾਲਟ ਦੀ ਬਜਾਏ ਉਲਟ ਹੋਵੇ (ਜਿੱਥੇ ਕਿ " "ਹੇਠਾਂ ਦਾ ਮਤਲਬ ਵੱਧਦਾ ਹੈ)" -#: ../gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:547 msgid "Show the 'Input Methods' menu" msgstr "'ਇੰਪੁੱਟ ਢੰਗ' ਮੇਨੂ ਵੇਖਾਓ" -#: ../gtk/gtksettings.c:488 +#: ../gtk/gtksettings.c:548 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" msgstr "ਕੀ ਐਂਟਰੀਆਂ ਦੇ ਸਬੰਧਿਤ ਮੇਨੂ ਅਤੇ ਟੈਕਸਟ ਝਲਕ ਇੰਪੁੱਟ ਢੰਗ ਬਦਲਣ ਨੂੰ ਦਰਸਾਉਣ" -#: ../gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:556 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "'ਯੂਨੀਕੋਡ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰੋ' ਮੇਨੂ ਵੇਖਾਓ" -#: ../gtk/gtksettings.c:497 +#: ../gtk/gtksettings.c:557 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" msgstr "ਕੀ ਐਂਟਰੀਆਂ ਦੇ ਸਬੰਧਿਤ ਮੇਨੂ ਅਤੇ ਟੈਕਸਟ ਝਲਕ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰਨ ਨੂੰ ਦਰਸਾਉਣ" -#: ../gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:565 msgid "Start timeout" msgstr "ਸ਼ੁਰੂਆਤੀ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:566 msgid "Starting value for timeouts, when button is pressed" msgstr "ਅੰਤਰਾਲ ਲਈ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ, ਜਦੋਂ ਕਿ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:575 msgid "Repeat timeout" msgstr "ਦੁਹਰਾਉ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:576 msgid "Repeat value for timeouts, when button is pressed" msgstr "ਅੰਤਰਾਲ ਦੁਹਰਾਉਣ ਮੁੱਲ, ਜਦੋਂ ਇੱਕ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:585 msgid "Expand timeout" msgstr "ਫੈਲਾ ਸਮਾਂ-ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:586 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "ਫੈਲਾਉਣ ਲਈ ਅੰਤਰਾਲ ਦਾ ਮੁੱਲ, ਜਦੋਂ ਕਿ ਇੱਕ ਵਿਦਗਿਟ ਇੱਕ ਨਵੇਂ ਖੇਤਰ ਨੂੰ ਫੈਲਾਉਦਾ ਹੋਵੇ" -#: ../gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:621 msgid "Color scheme" msgstr "ਰੰਗ ਸਕੀਮ" -#: ../gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:622 msgid "A palette of named colors for use in themes" msgstr "ਸਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ ਨਾਮੀ ਰੰਗ ਦੀ ਇੱਕ ਰੰਗ-ਪੱਟੀ" -#: ../gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:631 msgid "Enable Animations" msgstr "ਸਜੀਵਤਾ ਯੋਗ" -#: ../gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:632 msgid "Whether to enable toolkit-wide animations." msgstr "ਕੀ ਟੂਲ-ਕਿੱਟ ਸਜੀਵਤਾ ਯੋਗ" -#: ../gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:650 msgid "Enable Touchscreen Mode" msgstr "ਟੱਚ-ਸਕਰੀਨ ਢੰਗ ਯੋਗ" -#: ../gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:651 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਇਸ ਸਕਰੀਨ ਉੱਤੇ ਕੋਈ ਚੱਲਦੇ ਸੂਚਨਾ ਈਵੈਂਟ ਨਹੀਂ ਦਿੱਤੇ ਜਾਣਗੇ।" -#: ../gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:668 msgid "Tooltip timeout" msgstr "ਟੂਲ-ਟਿੱਪ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:669 msgid "Timeout before tooltip is shown" msgstr "ਟੂਲ-ਟਿੱਪ ਵੇਖਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ" -#: ../gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:694 msgid "Tooltip browse timeout" msgstr "ਟੂਲ-ਟਿੱਪ ਝਲਕ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:695 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "ਝਲਕ ਮੋਡ ਯੋਗ ਕਰਨ ਦੌਰਾਨ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਟਾਈਮ-ਆਉਟ" -#: ../gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:716 msgid "Tooltip browse mode timeout" msgstr "ਟੂਲ-ਟਿੱਪ ਝਲਕ ਢੰਗ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:717 msgid "Timeout after which browse mode is disabled" msgstr "ਅੰਤਰਾਲ, ਜਿਸ ਉਪਰੰਤ ਝਲਕ ਢੰਗ ਨੂੰ ਆਯੋਗ ਕਰ ਦਿੱਤਾ ਜਾਵੇ" -#: ../gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:736 msgid "Keynav Cursor Only" msgstr "ਕੀ-ਨੇਵੀ ਕਰਸਰ ਹੀ" -#: ../gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:737 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "ਜਦੋਂ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਕੇਵਲ ਇਹੀ ਕਰਸਰ ਸਵਿੱਚਾਂ ਹੋਣਗੀਆਂ, ਜੋ ਕਿ ਵਿਦਜੈੱਟ ਨੇਵੀਗੇਟ ਲਈ ਹੋਣਗੀਆਂ" -#: ../gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:754 msgid "Keynav Wrap Around" msgstr "ਕੀ-ਨੇਵੀ ਦੁਆਥੇ ਸਮੇਟਣਾ" -#: ../gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:755 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "ਕੀ ਪਾਸੇ ਸਮੇਟਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਕੀ-ਬੋਰਡ-ਨੇਵੀਗੇਸ਼ਨ ਵਿਦਗਿਟ ਹੋਵੇ" -#: ../gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:775 msgid "Error Bell" msgstr "ਗਲਤੀ ਘੰਟੀ" -#: ../gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:776 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "ਜਦੋਂ ਸਹੀਂ ਤਾਂ ਕੀਬੋਰਡ ਨੇਵੀਗੇਸ਼ਨ ਅਤੇ ਹੋਰ ਗਲਤੀਆਂ ਲਈ ਬੀਪ ਹੋਵੇਗੀ" -#: ../gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:793 msgid "Color Hash" msgstr "ਰੰਗ ਹੈਸ਼" -#: ../gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:794 msgid "A hash table representation of the color scheme." msgstr "ਰੰਗ ਸਕੀਮ ਨੂੰ ਇੱਕ ਹੈਸ਼ ਸਾਰਣੀ ਵਿੱਚ ਵੇਖਾਓ।" -#: ../gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:802 msgid "Default file chooser backend" msgstr "ਮੂਲ ਫਾਇਲ ਚੋਣ ਬੈਕਐਂਡ" -#: ../gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:803 msgid "Name of the GtkFileChooser backend to use by default" msgstr "GtkFileChooser ਬੈਕਐਂਡ ਦਾ ਨਾਂ, ਜੋ ਕਿ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਣਾ ਹੈ" -#: ../gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:820 msgid "Default print backend" msgstr "ਮੂਲ ਪਰਿੰਟ ਬੈਕਐਂਡ" -#: ../gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:821 msgid "List of the GtkPrintBackend backends to use by default" msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ GtkPrintBackend ਬੈਕਐਂਡ ਦੀ ਸੂਚੀ" -#: ../gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:844 msgid "Default command to run when displaying a print preview" msgstr "ਇੱਕ ਪਰਿੰਟ ਝਲਕ ਵੇਖਾਉਣ ਸਮੇਂ ਚਲਾਉਣ ਲਈ ਮੂਲ ਕਮਾਂਡ" -#: ../gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:845 msgid "Command to run when displaying a print preview" msgstr "ਇੱਕ ਪਰਿੰਟ ਝਲਕ ਵੇਖਾਉਣ ਦੌਰਾਨ ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ" -#: ../gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:861 msgid "Enable Mnemonics" msgstr "ਨੀਮੋਨੀਸ ਯੋਗ" -#: ../gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:862 msgid "Whether labels should have mnemonics" msgstr "ਕੀ ਲੇਬਲਾਂ ਨਾਲ ਨੀਮੋਨੀਸ ਹੋਣ" -#: ../gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:878 msgid "Enable Accelerators" msgstr "ਐਕਸਰਲੇਟਰ ਯੋਗ" -#: ../gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:879 msgid "Whether menu items should have accelerators" msgstr "ਕੀ ਮੇਨ ਆਈਟਮਾਂ ਵਿੱਚ ਐਕਸਲੇਟਰ ਹੋਣ" -#: ../gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:896 msgid "Recent Files Limit" msgstr "ਤਾਜ਼ਾ ਫਾਇਲ ਲਿਮਟ" -#: ../gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:897 msgid "Number of recently used files" msgstr "ਤਾਜ਼ਾ ਵਰਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:915 msgid "Default IM module" msgstr "ਮੂਲ IM ਮੋਡੀਊਲ" -#: ../gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:916 msgid "Which IM module should be used by default" msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਕਿਹੜਾ IM ਮੋਡੀਊਲ ਵਰਤਿਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:934 msgid "Recent Files Max Age" msgstr "ਤਾਜ਼ਾ ਫਾਇਲਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਉਮਰ" -#: ../gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:935 msgid "Maximum age of recently used files, in days" msgstr "ਦਿਨਾਂ ਵਿੱਚ ਤਾਜ਼ਾ ਵਰਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਉਮਰ" -#: ../gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:944 msgid "Fontconfig configuration timestamp" msgstr "ਫੋਂਟ-ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਟਾਈਮ-ਸਟੈਂਪ" -#: ../gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:945 msgid "Timestamp of current fontconfig configuration" msgstr "ਮੌਜੂਦਾ ਫੋਂਟ-ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਲਈ ਟਾਈਮ-ਸਟੈਂਪ" -#: ../gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:967 msgid "Sound Theme Name" msgstr "ਸਾਊਂਡ ਥੀਮ ਨਾਂ" -#: ../gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:968 msgid "XDG sound theme name" msgstr "XDG ਸਾਊਂਡ ਥੀਮ ਨਾਂ" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:990 msgid "Audible Input Feedback" msgstr "ਸੁਣਨਯੋਗ ਇੰਪੁੱਟ ਫੀਡਬੈਕ" -#: ../gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:991 msgid "Whether to play event sounds as feedback to user input" msgstr "ਕੀ ਯੂਜ਼ਰ ਇੰਪੁੱਟ ਲਈ ਫੀਬੈੱਕ ਵਜੋਂ ਈਵੈਂਟ ਸਾਊਂਡ ਦਿੱਤੀ ਜਾਵੇ" -#: ../gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:1012 msgid "Enable Event Sounds" msgstr "ਈਵੈਂਟ ਸਾਊਂਡ ਯੋਗ" -#: ../gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:1013 msgid "Whether to play any event sounds at all" msgstr "ਕੀ ਸਭ ਲਈ ਕਿਸੇ ਵੀ ਈਵੈਂਟ ਲਈ ਸਾਊਂਡ ਚਲਾਈ ਜਾਵੇ" -#: ../gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1028 msgid "Enable Tooltips" msgstr "ਟੂਲ-ਟਿੱਪ ਯੋਗ" -#: ../gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1029 msgid "Whether tooltips should be shown on widgets" msgstr "ਕੀ ਵਿਡਜੈੱਟਾਂ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਏ ਜਾਣ" -#: ../gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:1042 msgid "Toolbar style" msgstr "ਟੂਲਬਾਰ ਸਟਾਇਲ" -#: ../gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:1043 msgid "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "ਕੀ ਮੂਲ ਟੂਲਬਾਰ ਲਈ ਸ਼ਬਦ ਹੀ, ਸ਼ਬਦ ਤੇ ਆਈਕਾਨ, ਆਈਕਾਨ ਹੀ ਆਦਿ ਹੋਣ" -#: ../gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:1057 msgid "Toolbar Icon Size" msgstr "ਟੂਲਬਾਰ ਆਈਕਾਨ ਆਕਾਰ" -#: ../gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1058 msgid "The size of icons in default toolbars." msgstr "ਡਿਫਾਲਟ ਟੂਲਬਾਰ ਵਿੱਚ ਆਈਕਾਨ ਦਾ ਆਕਾਰ ਹੈ।" -#: ../gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1075 msgid "Auto Mnemonics" msgstr "ਆਟੋ ਨੀਮੋਨੀਸ" -#: ../gtk/gtksettings.c:1016 +#: ../gtk/gtksettings.c:1076 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." msgstr "ਕੀ ਮਨਾਮੈਰਿਕ ਆਟੋਮੈਟਿਕ ਹੀ ਵੇਖਾਏ ਅਤੇ ਓਹਲੇ ਕੀਤੇ ਜਾਣ, ਜਦੋਂ ਯੂਜ਼ਰ ਮਨਾਮੈਰਿਕ ਐਕਟੀਵੇਟਰ ਕੀਤਾ ਜਾਵੇ।" -#: ../gtk/gtksettings.c:1041 +#: ../gtk/gtksettings.c:1101 msgid "Application prefers a dark theme" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਹੁੰਦੀ ਹੈ" -#: ../gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1102 msgid "Whether the application prefers to have a dark theme." msgstr "ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਗੂੜ੍ਹਾ ਥੀਮ ਪਸੰਦ ਕਰੇ" -#: ../gtk/gtksizegroup.c:341 +#: ../gtk/gtksettings.c:1117 +msgid "Show button images" +msgstr "ਬਟਨ-ਚਿੱਤਰ ਵੇਖਾਓ" + +#: ../gtk/gtksettings.c:1118 +msgid "Whether images should be shown on buttons" +msgstr "ਕੀ ਬਟਨਾਂ ਉੱਤੇ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" + +#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 +msgid "Select on focus" +msgstr "ਫੋਕਸ ਉੱਤੇ ਚੁਣੋ" + +#: ../gtk/gtksettings.c:1127 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "ਕੀ ਇੰਦਰਾਜ਼ ਵਿੱਚਲੇ ਹਿੱਸੇ ਨੂੰ ਚੁਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:1144 +msgid "Password Hint Timeout" +msgstr "ਪਾਸਵਰਡ ਇਸ਼ਾਰਾ ਸਮਾਂ-ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:1145 +msgid "How long to show the last input character in hidden entries" +msgstr "ਲੁਕਵੇਂ ਇੰਦਰਾਜ਼ਾਂ ਵਿੱਚ ਆਖਰੀ ਦਿੱਤੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਉਣ ਨੂੰ ਕਿੰਨਾ ਸਮਾਂ ਲੱਗੇ" + +#: ../gtk/gtksettings.c:1154 +msgid "Show menu images" +msgstr "ਮੇਨੂ ਚਿੱਤਰ ਵੇਖੋ" + +#: ../gtk/gtksettings.c:1155 +msgid "Whether images should be shown in menus" +msgstr "ਕੀ ਮੇਨੂ ਵਿੱਚ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" + +#: ../gtk/gtksettings.c:1163 +msgid "Delay before drop down menus appear" +msgstr "ਲਟਕਦੇ ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1164 +msgid "Delay before the submenus of a menu bar appear" +msgstr "ਮੇਨੂ-ਬਾਰ ਦੀ ਸਬ-ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1181 +msgid "Scrolled Window Placement" +msgstr "ਸਕਰੋਲ ਕੀਤਾ ਵਿੰਡੋ ਟਿਕਾਣਾ" + +#: ../gtk/gtksettings.c:1182 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" +"ਕੀ ਸਕਰੋਲ ਕੀਤੀਆਂ ਵਿੰਡੋਜ਼ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ, ਜੇ ਨਹੀਂ ਤਾਂ ਸਕਰੋਲ ਕੀਤੀਆਂ " +"ਵਿੰਡੋਜ਼ ਦੀ ਆਪਣੀ ਸਥਿਤੀ ਮੁਤਾਬਕ ਵਰਤੀਆਂ ਜਾਣਗੀਆਂ।" + +#: ../gtk/gtksettings.c:1191 +msgid "Can change accelerators" +msgstr "ਐਕਸਲੇਟਰ ਬਦਲ ਸਕਦੇ ਹਨ" + +#: ../gtk/gtksettings.c:1192 +msgid "Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "ਕੀ ਮੇਨੂ-ਤੇਜ਼ ਲਿਸਟ ਉੱਤੇ ਇੱਕ ਕੀ ਦਬਾਉਣ ਨਾਲ ਤਬਦੀਲ ਹੋ ਜਾਣ" + +#: ../gtk/gtksettings.c:1200 +msgid "Delay before submenus appear" +msgstr "ਸਬ-ਮੇਨੂ ਦੇ ਉਭੱਰਨ ਵਿੱਚ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1201 +msgid "Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "ਘੱਟੋ-ਘੱਟ ਸਮਾਂ, ਜਿਸ ਲਈ ਸਬ-ਮੇਨੂ ਦੇ ਖੁੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਸੰਕੇਤਕ ਮੇਨੂ ਆਈਟਮ ਉੱਤੇ ਹੀ ਰਹੇ" + +#: ../gtk/gtksettings.c:1210 +msgid "Delay before hiding a submenu" +msgstr "ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਵਿੱਚ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1211 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "ਸਮਾਂ ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ, ਜਦੋਂ ਕਿ ਸੰਕੇਤਕ ਸਬ-ਮੇਨੂ ਵੱਲ ਆ ਰਿਹਾ ਹੋਵੇ" + +#: ../gtk/gtksettings.c:1221 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "ਕੀ ਚੁਣਨਯੋਗ ਲੇਬਲ ਦੀ ਸਮੱਗਰੀ ਚੁਣੀ ਜਾਵੇ, ਜਦੋਂ ਇਹ ਫੋਕਸ ਹੋਵੇ" + +#: ../gtk/gtksettings.c:1229 +msgid "Custom palette" +msgstr "ਰੰਗ-ਪੱਟੀ ਦੀ ਚੋਣ" + +#: ../gtk/gtksettings.c:1230 +msgid "Palette to use in the color selector" +msgstr "ਰੰਗ ਚੋਣ ਵਿੱਚ ਰੰਗ-ਪੱਟੀ ਵਰਤੋਂ" + +#: ../gtk/gtksettings.c:1238 +msgid "IM Preedit style" +msgstr "IM ਪ੍ਰੀ-ਐਡੀਟ ਸਟਾਇਲ" + +#: ../gtk/gtksettings.c:1239 +msgid "How to draw the input method preedit string" +msgstr "ਇੰਪੁੱਟ ਢੰਗ ਪ੍ਰੀ-ਐਡੀਟ ਲਾਈਨ ਨੂੰ ਕਿਸ-ਤਰ੍ਹਾਂ ਬਣਾਏ" + +#: ../gtk/gtksettings.c:1248 +msgid "IM Status style" +msgstr "IM ਹਾਲਤ ਸਟਾਇਲ" + +#: ../gtk/gtksettings.c:1249 +msgid "How to draw the input method statusbar" +msgstr "ਇੰਪੁੱਟ ਢੰਗ ਦੀ ਹਾਲਤ-ਪੱਟੀ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" + +#: ../gtk/gtksizegroup.c:350 msgid "Mode" msgstr "ਢੰਗ" -#: ../gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:351 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" msgstr "ਦਿਸ਼ਾ, ਜਿਸ ਅਨੁਸਾਰ ਗਰੁੱਪ ਦਾ ਅਕਾਰ ਇਸ ਦੇ ਭਾਗ ਵਿਦਗਿਟਾਂ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:367 msgid "Ignore hidden" msgstr "ਲੁਕਵਾਂ ਅਣਡਿੱਠਾ" -#: ../gtk/gtksizegroup.c:359 +#: ../gtk/gtksizegroup.c:368 msgid "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਗਰੁੱਪ ਦਾ ਅਕਾਰ ਬਣਾਉਣ ਸਮੇਂ ਲੁਕਵੇਂ ਵਿਦਗਿਟਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ" -#: ../gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:237 msgid "Climb Rate" msgstr "ਚੜਨ ਗਤੀ" -#: ../gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:257 msgid "Snap to Ticks" msgstr "ਸੰਕੇਤਾਂ ਲਈ ਸਨੈਪ" -#: ../gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:258 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" msgstr "ਕੀ ਗਲਤ ਮੁੱਲ ਆਪਣੇ-ਆਪ ਹੀ ਸਪਿਨ-ਬਟਨ ਦੇ ਨਜ਼ਦੀਕੀ ਵਾਧਾ ਮੁੱਲ ਵਿੱਚ ਬਦਲ ਜਾਣ" -#: ../gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:265 msgid "Numeric" msgstr "ਅੰਕੀ" -#: ../gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:266 msgid "Whether non-numeric characters should be ignored" msgstr "ਕੀ ਅੰਕਾਂ ਤੋਂ ਬਿਨਾਂ ਅੱਖਰਾਂ ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇ" -#: ../gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:273 msgid "Wrap" msgstr "ਲਪੇਟਣਾ" -#: ../gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:274 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "ਕੀ ਸਪਿਨ ਬਟਨ ਨੂੰ ਸਮੇਟਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਆਪਣੀਆ ਸੀਮਾਵਾਂ ਤੇ ਪੁੱਜ ਜਾਵੇ" -#: ../gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:281 msgid "Update Policy" msgstr "ਅੱਪਡੇਟ ਨੀਤੀ" -#: ../gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:282 msgid "Whether the spin button should update always, or only when the value is legal" msgstr "ਕੀ ਸਪਿਨ ਬਟਨ ਹਮੇਸ਼ਾ ਅੱਪਡੇਟ ਹੁੰਦਾ ਰਹੇ, ਜਾਂ ਇਸ ਦਾ ਮੁੱਲ ਸਥਿਰ ਹੈ" -#: ../gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:291 msgid "Reads the current value, or sets a new value" msgstr "ਮੌਜੂਦਾ ਮੁੱਲ ਨੂੰ ਪੜ੍ਹੋ, ਜਾਂ ਨਵਾਂ ਮੁੱਲ ਦਿਓ" -#: ../gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:300 msgid "Style of bevel around the spin button" msgstr "ਸਪੈਨ ਬਟਨ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "ਕੀ ਸਨਿੱਪਰ ਐਕਟਿਵ ਹੋਣ" -#: ../gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:135 msgid "Number of steps" msgstr "ਪਗ਼ਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:136 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" @@ -5249,15 +5350,15 @@ msgstr "" "ਪਗ਼ਾਂ ਦੀ ਗਿਣਤੀ, ਜਿਸ ਦੌਰਾਨ ਸਪਿੱਨਰ ਚੱਕਰ ਪੂਰਾ ਕਰੇ। ਐਨੀਮੇਸ਼ਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਸਕਿੰਟ ਵਿੱਚ ਚੱਕਰ " "ਪੂਰਾ ਕਰਦੀ ਹੈ (see #GtkSpinner:cycle-duration ਵੇਖੋ)।" -#: ../gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:153 msgid "Animation duration" msgstr "ਐਨੀਮੇਸ਼ਨ ਅੰਤਰਾਲ" -#: ../gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:154 msgid "The length of time in milliseconds for the spinner to complete a full loop" msgstr "ਸਮੇਂ ਦਾ ਅੰਤਰਾਲ ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ, ਜਿਸ ਲਈ ਸਪਿਨਰ ਚੱਕਰ ਪੂਰਾ ਕਰੇ" -#: ../gtk/gtkstatusbar.c:179 +#: ../gtk/gtkstatusbar.c:181 msgid "Style of bevel around the statusbar text" msgstr "ਹਾਲਤ-ਪੱਟੀ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" @@ -5281,7 +5382,7 @@ msgstr "ਕੀ ਹਾਲਤ ਆਈਕਾਨ ਸ਼ਾਮਲ ਕੀਤਾ ਹੋ msgid "The orientation of the tray" msgstr "ਟਰੇ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 msgid "Has tooltip" msgstr "ਟੂਲ-ਟਿੱਪ ਹੋਣ" @@ -5289,15 +5390,15 @@ msgstr "ਟੂਲ-ਟਿੱਪ ਹੋਣ" msgid "Whether this tray icon has a tooltip" msgstr "ਕੀ ਇਹ ਟਰੇ ਆਈਕਾਨ ਲਈ ਟੂਲ-ਟਿੱਪ ਹੋਵੇ" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 msgid "Tooltip Text" msgstr "ਟੂਲ-ਟਿੱਪ ਪਾਠ" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:885 ../gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 msgid "The contents of the tooltip for this widget" msgstr "ਇਹ ਵਿਦਗਿਟ ਲਈ ਟੂਲ-ਟਿੱਪ ਦੀ ਸਮੱਗਰੀ ਹੈ" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 msgid "Tooltip markup" msgstr "ਟੂਲ-ਟਿੱਪ ਮਾਰਕਅੱਪ" @@ -5309,143 +5410,161 @@ msgstr "ਇਸ ਟਰੇ ਆਈਕਾਨ ਲਈ ਟੂਲ-ਟਿੱਪ ਦੀ msgid "The title of this tray icon" msgstr "ਇਹ ਟਰੇ ਆਈਕਾਨ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtktable.c:148 +#: ../gtk/gtkstyle.c:470 +msgid "Style context" +msgstr "ਸਟਾਈਲ ਪਰਸੰਦ" + +#: ../gtk/gtkstyle.c:471 +msgid "GtkStyleContext to get style from" +msgstr "ਇੱਥੋਂ ਸਟਾਈਲ ਲੈਣ ਲਈ GtkStyleContext " + +#: ../gtk/gtkswitch.c:739 +#| msgid "Whether the widget is double buffered" +msgid "Whether the switch is on or off" +msgstr "ਕੀ ਸਵਿੱਚ ਚਾਲੂ ਹੈ ਜਾਂ ਬੰਦ" + +#: ../gtk/gtkswitch.c:773 +#| msgid "The minimum value of the adjustment" +msgid "The minimum width of the handle" +msgstr "ਹੈਂਡਲ ਲਈ ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" + +#: ../gtk/gtktable.c:157 msgid "Rows" msgstr "ਸਤਰਾਂ" -#: ../gtk/gtktable.c:149 +#: ../gtk/gtktable.c:158 msgid "The number of rows in the table" msgstr "ਸਾਰਣੀ ਵਿੱਚ ਸਤਰਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtktable.c:157 +#: ../gtk/gtktable.c:166 msgid "Columns" msgstr "ਕਾਲਮ" -#: ../gtk/gtktable.c:158 +#: ../gtk/gtktable.c:167 msgid "The number of columns in the table" msgstr "ਸਾਰਣੀ ਵਿੱਚ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtktable.c:166 +#: ../gtk/gtktable.c:175 msgid "Row spacing" msgstr "ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtktable.c:167 +#: ../gtk/gtktable.c:176 msgid "The amount of space between two consecutive rows" msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਤਾਰਾਂ ਵਿਚਕਾਰ" -#: ../gtk/gtktable.c:175 +#: ../gtk/gtktable.c:184 msgid "Column spacing" msgstr "ਕਾਲਮਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtktable.c:176 +#: ../gtk/gtktable.c:185 msgid "The amount of space between two consecutive columns" msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਾਲਮਾਂ ਵਿਚਕਾਰ" -#: ../gtk/gtktable.c:185 +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਇਸ ਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਸਾਰਣੀ ਦੇ ਸਾਰੇ ਸੈਲ ਇੱਕੋ ਚੌੜਾਈ/ਉਚਾਈ ਹੈ" -#: ../gtk/gtktable.c:192 +#: ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "ਖੱਬਾ ਨੱਥੀ" -#: ../gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "ਸੱਜਾ ਨੱਥੀ" -#: ../gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "ਕਾਲਮ ਗਿਣਤੀ ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਸੱਜੇ ਪਾਸੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" -#: ../gtk/gtktable.c:206 +#: ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "ਉੱਤੇ ਨੱਥੀ" -#: ../gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "ਕਤਾਰ ਗਿਣਤੀ ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਸਿਰੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" -#: ../gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "ਥੱਲੇ ਨੱਥੀ" -#: ../gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "ਲੇਟਵੀ ਚੋਣ" -#: ../gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "ਚੋਣ ਚਲਾਇਡ ਦੇ ਲੇਟਵੇ ਰਵੱਈਏ ਨੂੰ ਸੈੱਟ ਕਰਦੀ ਹੈ" -#: ../gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "ਲੰਬਕਾਰ ਚੋਣ" -#: ../gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "ਚੋਣ ਚਲਾਇਡ ਦੇ ਲੰਬਕਾਰੀ ਵਿਵਹਾਰ ਨੂੰ ਸੈੱਟ ਕਰਦੀ ਹੈ" -#: ../gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "ਲੇਟਵਾਂ ਚਿਣੋ" -#: ../gtk/gtktable.c:235 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" msgstr "ਚਲਾਇਡ ਅਤੇ ਇਸ ਦੇ ਸੱਜੇ ਤੇ ਖੱਬੇ ਗੁਆਢੀਆ ਵਿਚਕਾਰ ਵਾਧੂ ਥਾਂ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "ਲੰਬਕਾਰੀ ਚਿਣੋ" -#: ../gtk/gtktable.c:242 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" msgstr "ਚਲਾਇਡ ਅਤੇ ਇਸ ਦੇ ਉੱਤੇਲੇ ਤੇ ਹੇਠਲੇ ਗੁਆਢੀਆ ਵਿਚਕਾਰ ਵਾਧੂ ਥਾਂ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:191 msgid "Tag Table" msgstr "ਟੈਗ ਸਾਰਣੀ" -#: ../gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:192 msgid "Text Tag Table" msgstr "ਟੈਕਸਟ ਟੈਗ ਸਾਰਣੀ" -#: ../gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:210 msgid "Current text of the buffer" msgstr "ਬਫ਼ਰ ਦਾ ਮੌਜੂਦਾ ਪਾਠ" -#: ../gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:224 msgid "Has selection" msgstr "ਚੋਣ ਹੈ" -#: ../gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:225 msgid "Whether the buffer has some text currently selected" msgstr "ਕੀ ਬਫ਼ਰ ਵਿੱਚ ਕੁਝ ਟੈਕਸਟ ਇਸ ਸਮੇਂ ਚੁਣਿਆ ਹੈ" -#: ../gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:241 msgid "Cursor position" msgstr "ਕਰਸਰ ਸਥਿਤੀ" -#: ../gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:242 msgid "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "ਸ਼ਾਮਿਲ ਨਿਸ਼ਾਨ ਦੀ ਸਥਿਤੀ (ਬਫ਼ਰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਦੂਰੀ)" -#: ../gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:257 msgid "Copy target list" msgstr "ਨਿਸ਼ਾਨ ਸੂਚੀ ਨਕਲ" -#: ../gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:258 msgid "The list of targets this buffer supports for clipboard copying and DND source" msgstr "ਇਸ ਬਫ਼ਰ ਵਲੋਂ ਸਹਾਇਕ ਟਾਰਗੇਟ ਦੀ ਲਿਸਟ, ਜੋ ਕਿ ਕਲਿੱਪਬੋਰਡ ਕਾਪੀ ਅਤੇ DND ਸਰੋਤ ਲਈ ਹੈ।" -#: ../gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:273 msgid "Paste target list" msgstr "ਨਿਸ਼ਾਨਾ ਸੂਚੀ ਚੇਪੋ" -#: ../gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:274 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5529,7 +5648,7 @@ msgstr "" "ਇਸ ਦੀ ਸਿਫਾਰਸ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਨਗੋ ਕੁਝ ਪੈਮਾਨੇ ਪਹਿਲ਼ਾ ਹੀਨਿਰਦਾਰਿਤ ਕਰ ਚੁੱਕਾ ਹੈ , ਜਿਵੇ ਕਿ " "PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 msgid "Left, right, or center justification" msgstr "ਖੱਬੇ, ਸੱਜੇ ਜਾਂ ਵਿੱਚਕਾਰ ਤਰਕਸੰਗਤ ਕਰੋ" @@ -5545,7 +5664,7 @@ msgstr "" msgid "Left margin" msgstr "ਖੱਬਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 msgid "Width of the left margin in pixels" msgstr "ਖੱਬੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲਾਂ ਵਿੱਚ" @@ -5553,15 +5672,15 @@ msgstr "ਖੱਬੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ msgid "Right margin" msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 msgid "Width of the right margin in pixels" msgstr "ਸੱਜੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲਾਂ ਵਿੱਚ" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 msgid "Indent" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 msgid "Amount to indent the paragraph, in pixels" msgstr "ਪ੍ਹੈਰੇ ਵਿੱਚ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ, ਪਿਕਸਲਾਂ ਵਿੱਚ" @@ -5575,7 +5694,7 @@ msgstr "ਬੇਸ-ਲਾਈਨ ਤੋਂ ਉੱਤੇ ਟੈਕਸਟ ਦਾ ਸ msgid "Pixels above lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉੱਤੇ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 msgid "Pixels of blank space above paragraphs" msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਉੱਤੇ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" @@ -5583,7 +5702,7 @@ msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਉੱਤੇ ਖਾਲੀ ਥਾਂ ਦੇ msgid "Pixels below lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਾਂ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 msgid "Pixels of blank space below paragraphs" msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਹੇਠਾਂ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" @@ -5591,19 +5710,19 @@ msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਹੇਠਾਂ ਖਾਲੀ ਥਾਂ ਦ msgid "Pixels inside wrap" msgstr "ਲੇਪਟਣ ਵਿੱਚ ਆਏ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "ਪ੍ਹੈਰੇ ਵਿੱਚ ਲੇਪਟੀਆਂ ਗਈਆਂ ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 msgid "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "ਕੀ ਲਾਈਨਾਂ ਕਦੇ ਨਹੀਂ ਲੇਪਟਣੀਆਂ ਹਨ, ਨਾ ਸ਼ਬਦ ਦੀ ਹੱਦ ਤੇ ਨਾ ਅੱਖਰਾਂ ਦੀ ਹੱਦ ਤੇ" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 msgid "Tabs" msgstr "ਟੈਬ" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 msgid "Custom tabs for this text" msgstr "ਇਸ ਟੈਕਸਟ ਲਈ ਟੈਬਾਂ ਦੀ ਚੋਣ" @@ -5731,63 +5850,63 @@ msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਦਿਓ" msgid "Whether this tag affects the paragraph background color" msgstr "ਕੀ ਇਹ ਟੈਗ ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:654 msgid "Pixels Above Lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉੱਤੇ ਪਿਕਸਲ" -#: ../gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:664 msgid "Pixels Below Lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਾਂ ਪਿਕਸਲ" -#: ../gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:674 msgid "Pixels Inside Wrap" msgstr "ਲੇਪਟਣ ਵਿੱਚ ਪਿਕਸਲ" -#: ../gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:692 msgid "Wrap Mode" msgstr "ਲੇਪਟਣ ਮੋਡ" -#: ../gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:710 msgid "Left Margin" msgstr "ਖੱਬਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:720 msgid "Right Margin" msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:748 msgid "Cursor Visible" msgstr "ਕਰਸਰ ਅਦਿੱਖ" -#: ../gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:749 msgid "If the insertion cursor is shown" msgstr "ਜੇ ਵਿਚਕਾਰ ਕਰਸਰ ਵੇਖਾਈ ਗਈ ਹੈ" -#: ../gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:756 msgid "Buffer" msgstr "ਬਫਰ" -#: ../gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:757 msgid "The buffer which is displayed" msgstr "ਬਫਰ, ਜੋ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" -#: ../gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:765 msgid "Whether entered text overwrites existing contents" msgstr "ਕੀ ਦਿੱਤਾ ਗਿਆ ਟੈਕਸਟ ਮੌਜੂਦਾ ਹਿੱਸੇ ਨੂੰ ਖਤਮ ਕਰ ਦੇਵੇ" -#: ../gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:772 msgid "Accepts tab" msgstr "ਮਨਜ਼ੂਰ ਟੈਬ" -#: ../gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:773 msgid "Whether Tab will result in a tab character being entered" msgstr "ਕੀ ਟੈਬ ਨਤੀਜਾ ਹੋਵੇ, ਦਿੱਤੇ ਗਏ ਟੈਬ ਅੱਖਰ ਦਾ" -#: ../gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:808 msgid "Error underline color" msgstr "ਗਲਤੀ ਹੇਠ ਰੰਗਦਾਰ ਲਾਈਨ" -#: ../gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:809 msgid "Color with which to draw error-indication underlines" msgstr "ਰੰਗ ਜਿਸ ਨਾਲ ਗਲਤੀ-ਸੰਕੇਤਕ ਲਾਈਨ ਖਿੱਚੀ ਜਾਵੇ" @@ -5803,95 +5922,95 @@ msgstr "ਕੀ ਇਸ ਕਾਰਵਾਈ ਦੀ ਪਰਾਕਸੀ ਰੇਡੀ msgid "Whether the toggle action should be active" msgstr "ਜੇ ਤਬਦੀਲ ਕਾਰਵਾਈ ਸਰਗਰਮ ਹੋਵੇ" -#: ../gtk/gtktogglebutton.c:116 ../gtk/gtktoggletoolbutton.c:113 +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" msgstr "ਕੀ ਬਦਲਵਾਂ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:134 msgid "If the toggle button is in an \"in between\" state" msgstr "ਕੀ ਬਦਲਵੇ ਬਟਨ \"ਵਿਚਕਾਰਲੀ\" ਸਥਿਤੀ ਵਿੱਚ ਹੈ" -#: ../gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:141 msgid "Draw Indicator" msgstr "ਇੰਡੀਕੇਟਰ ਬਣਾਓ" -#: ../gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:142 msgid "If the toggle part of the button is displayed" msgstr "ਕੀ ਬਟਨ ਦਾ ਬਦਲਵਾਂ ਹਿੱਸਾ ਵੇਖਾਇਆ ਜਾਵੇ" -#: ../gtk/gtktoolbar.c:488 ../gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 msgid "Toolbar Style" msgstr "ਟੂਲਬਾਰ ਸਟਾਇਲ" -#: ../gtk/gtktoolbar.c:489 +#: ../gtk/gtktoolbar.c:492 msgid "How to draw the toolbar" msgstr "ਟੂਲਬਾਰ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtktoolbar.c:496 +#: ../gtk/gtktoolbar.c:499 msgid "Show Arrow" msgstr "ਤੀਰ ਵੇਖਾਓ" -#: ../gtk/gtktoolbar.c:497 +#: ../gtk/gtktoolbar.c:500 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "ਕੀ ਤੀਰ ਵੇਖਾਇਆ ਜਾਵੇ ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਵਿੱਚ ਸਮਾ ਨਾ ਸਕੇ" -#: ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolbar.c:521 msgid "Size of icons in this toolbar" msgstr "ਇਹ ਟੂਲਬਾਰ ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਅਕਾਰ" -#: ../gtk/gtktoolbar.c:533 ../gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 msgid "Icon size set" msgstr "ਆਈਕਾਨ ਅਕਾਰ ਦਿਓ" -#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 msgid "Whether the icon-size property has been set" msgstr "ਕੀ ਆਈਕਾਨ-ਅਕਾਰ ਵਿਸ਼ੇਸ਼ਤਾ ਦਿੱਤੀ ਜਾਵੇ" -#: ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolbar.c:546 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "ਕੀ ਆਈਟਮ ਹੋਰ ਵਾਧੂ ਥਾਂ ਲਵੇ ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਫੈਲੇ" -#: ../gtk/gtktoolbar.c:551 ../gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "ਕੀ ਆਈਟਮ ਉਸੇ ਆਕਾਰ ਦੀ ਹੋਵੇ ਜਿਸ ਦੀ ਹੋਰ ਸਮ-ਰੂਪ ਆਈਟਮਾਂ ਹਨ" -#: ../gtk/gtktoolbar.c:558 +#: ../gtk/gtktoolbar.c:561 msgid "Spacer size" msgstr "ਸਪੇਸਰ ਆਕਾਰ" -#: ../gtk/gtktoolbar.c:559 +#: ../gtk/gtktoolbar.c:562 msgid "Size of spacers" msgstr "ਸਪੇਸਰ ਦਾ ਅਕਾਰ" -#: ../gtk/gtktoolbar.c:568 +#: ../gtk/gtktoolbar.c:571 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "ਟੂਲਬਾਰ ਦੇ ਪਰਛਾਵੇ ਅਤੇ ਬਟਨਾਂ ਵਿਚਕਾਰ ਹਾਸ਼ੀਏ ਦੀ ਥਾਂ ਦੀ ਮਾਤਰਾ" -#: ../gtk/gtktoolbar.c:576 +#: ../gtk/gtktoolbar.c:579 msgid "Maximum child expand" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚਾਈਲਡ ਫੈਲਾ" -#: ../gtk/gtktoolbar.c:577 +#: ../gtk/gtktoolbar.c:580 msgid "Maximum amount of space an expandable item will be given" msgstr "ਇੱਕ ਫੈਲਣਯੋਗ ਆਈਟਮ ਨੂੰ ਦਿੱਤਾ ਜਾਣ ਵਾਲਾ ਵੱਧ ਤੋਂ ਵੱਧ ਫਾਸਲਾ" -#: ../gtk/gtktoolbar.c:585 +#: ../gtk/gtktoolbar.c:588 msgid "Space style" msgstr "ਖਾਲੀ ਸਟਾਇਲ" -#: ../gtk/gtktoolbar.c:586 +#: ../gtk/gtktoolbar.c:589 msgid "Whether spacers are vertical lines or just blank" msgstr "ਕੀ ਵੱਖਰਵੇ ਵਿੱਚ ਲੰਬਕਾਰੀ ਲਾਈਨਾਂ ਹੋਣ ਜਾਂ ਸਿਰਫ ਖਾਲੀ ਹੀ ਹੋਵੇ" -#: ../gtk/gtktoolbar.c:593 +#: ../gtk/gtktoolbar.c:596 msgid "Button relief" msgstr "ਬਟਨ ਛੋਟ" -#: ../gtk/gtktoolbar.c:594 +#: ../gtk/gtktoolbar.c:597 msgid "Type of bevel around toolbar buttons" msgstr "ਟੂਲਬਾਰ ਦੁਆਲੇ bevel ਦੀ ਕਿਸਮ" -#: ../gtk/gtktoolbar.c:601 +#: ../gtk/gtktoolbar.c:604 msgid "Style of bevel around the toolbar" msgstr "ਟੂਲਬਾਰ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" @@ -5943,7 +6062,7 @@ msgstr "ਆਈਕਾਨ ਫਾਸਲਾ" msgid "Spacing in pixels between the icon and label" msgstr "ਆਈਕਾਨ ਅਤੇ ਲੇਬਲ ਵਿੱਚ ਪਿਕਸਲ ਅਨੁਸਾਰ ਫਾਸਲਾ" -#: ../gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -5951,83 +6070,83 @@ msgstr "" "ਕੀ ਟੂਲਬਾਰ ਦੀ ਆਈਟਮ ਨੂੰ ਖਾਸ ਮੰਨਣਾ ਹੈ ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਟੂਲਬਾਰ ਦੇ ਬਟਨGTK_TOOLBAR_BOTH_HORIZ " "ਮੋਡ ਵਿੱਚ ਸ਼ਬਦ ਵੇਖਾਉਣਗੇ।" -#: ../gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 msgid "The human-readable title of this item group" msgstr "ਇਹ ਆਈਟਮ ਗਰੁੱਪ ਦਾ ਪੜ੍ਹਨਯੋਗ ਟਾਈਟਲ" -#: ../gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 msgid "A widget to display in place of the usual label" msgstr "ਆਮ ਲੇਬਲ ਦੀ ਥਾਂ ਵੇਖਾਉਣ ਲਈ ਵਿਦਜੈੱਟ" -#: ../gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "ਸਮੇਟੇ" -#: ../gtk/gtktoolitemgroup.c:1586 +#: ../gtk/gtktoolitemgroup.c:1603 msgid "Whether the group has been collapsed and items are hidden" msgstr "ਕੀ ਗਰੁੱਪ ਸਮੇਟਿਆ ਜਾਵੇ ਅਤੇ ਆਈਟਮਾਂ ਓਹਲੇ ਹੋਣ" -#: ../gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "ellipsize" msgstr "ਅੰਡਕਾਰ-ਅਕਾਰ" -#: ../gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "ਆਈਟਮ ਗਰੁੱਪ ਹੈੱਡਰਾਂ ਲਈ ਅੰਡਾਕਾਰ" -#: ../gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Header Relief" msgstr "ਹੈੱਡਰ ਰੀਲਿਫ਼" -#: ../gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "Relief of the group header button" msgstr "ਗਰੁੱਪ ਹੈੱਡਰ ਬਟਨ ਲਈ ਰੀਲਿਫ਼" -#: ../gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 msgid "Header Spacing" msgstr "ਹੈੱਡਰ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 msgid "Spacing between expander arrow and caption" msgstr "ਐਕਸਪੈਂਡਰ ਤੀਰ ਅਤੇ ਸੁਰਖੀ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 msgid "Whether the item should receive extra space when the group grows" msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਫੈਲਣ ਦੌਰਾਨ ਵਾਧੂ ਥਾਂ ਲਵੇ" -#: ../gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 msgid "Whether the item should fill the available space" msgstr "ਕੀ ਆਈਟਮ ਉਪਲੱਬਧ ਥਾਂ ਭਰੇ" -#: ../gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "ਨਵੀਂ ਕਤਾਰ" -#: ../gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 msgid "Whether the item should start a new row" msgstr "ਕੀ ਆਈਟਮ ਨਵੀਂ ਕਤਾਰ ਵਿੱਚ ਸ਼ੁਰੂ ਹੋਵੇ" -#: ../gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 msgid "Position of the item within this group" msgstr "ਇਸ ਗਰੁੱਪ ਵਿੱਚ ਆਈਟਮ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1031 msgid "Size of icons in this tool palette" msgstr "ਇਸ ਟੂਲ ਪਲੇਅਟ ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਆਕਾਰ" -#: ../gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1061 msgid "Style of items in the tool palette" msgstr "ਟੂਲ ਪਲੇਅਟ ਵਿੱਚ ਆਈਟਮਾਂ ਦਾ ਸਟਾਈਲ" -#: ../gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1077 msgid "Exclusive" msgstr "ਖਾਸ" -#: ../gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1078 msgid "Whether the item group should be the only expanded at a given time" msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਦਿੱਤੇ ਸਮੇਂ ਦੌਰਾਨ ਹੀ ਫੈਲੇ" -#: ../gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1093 msgid "Whether the item group should receive extra space when the palette grows" msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਪਲੇਅਟ ਫੈਲਣ ਦੌਰਾਨ ਵਾਧੂ ਥਾਂ ਲਵੇ" @@ -6063,331 +6182,323 @@ msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਸਫ਼ਲ ਰੰਗ" msgid "Padding that should be put around icons in the tray" msgstr "ਪੈਡਿੰਗ, ਜੋ ਕਿ ਟਰੇ ਦੇ ਆਈਕਾਨ ਦੁਆਲੇ ਰੱਖਣੀ ਹੈ" -#: ../gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:310 msgid "TreeModelSort Model" msgstr "TreeModelSort ਮਾਡਲ" -#: ../gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:311 msgid "The model for the TreeModelSort to sort" msgstr "TreeModelSort ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਮਾਡਲ" -#: ../gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:988 msgid "TreeView Model" msgstr "ਟਰੀ-ਵਿਊ ਮਾਡਲ" -#: ../gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:989 msgid "The model for the tree view" msgstr "ਟਰੀ-ਵਿਊ ਲਈ ਮਾਡਲ" -#: ../gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "ਲੇਟਵੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਵਿਦਗਿਟ" - -#: ../gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਵਿਦਗਿਟ" - -#: ../gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:1001 msgid "Headers Visible" msgstr "ਹੈੱਡਰ ਦਿੱਖ" -#: ../gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:1002 msgid "Show the column header buttons" msgstr "ਕਾਲਮ ਹੈੱਡਰ ਬਟਨ ਵੇਖਾਓ" -#: ../gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:1009 msgid "Headers Clickable" msgstr "ਹੈੱਡਰ ਦਬਾਉਣਯੋਗ" -#: ../gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:1010 msgid "Column headers respond to click events" msgstr "ਦਬਾੳਣ ਦੀ ਕਾਰਵਾਈ ਤੇ ਕਾਲਮ ਹੈੱਡਰ ਜਵਾਬਦੇਹ ਹੋਵੇ" -#: ../gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:1017 msgid "Expander Column" msgstr "ਫੈਲਣਵਾਲਾ ਕਾਲਮ" -#: ../gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:1018 msgid "Set the column for the expander column" msgstr "ਫੈਲਣਵਾਲਾ ਕਾਲਮ ਲਈ ਕਾਲਮ ਚੁਣੋ" -#: ../gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:1033 msgid "Rules Hint" msgstr "ਨਿਯਮ ਇਸ਼ਾਰਾ" -#: ../gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:1034 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "ਬਦਲਵੇ ਰੰਗ ਵਿੱਚ ਕਤਾਰ ਬਣਾਉਣ ਲਈ ਸਰੂਪ-ਇੰਜਣ ਦੇ ਲਈ ਸੰਕੇਤ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:1041 msgid "Enable Search" msgstr "ਖੋਜ ਨੂੰ ਯੋਗ ਕਰੋ" -#: ../gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:1042 msgid "View allows user to search through columns interactively" msgstr "ਦਰਿਸ਼ ਵਰਤਣਵਾਲਿਆ ਨੂੰ ਕਾਲਮਾਂ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ਾਲ਼ੀ ਤਰੀਕੇ ਨਾਲ ਖੋਜ ਕਰਨ ਦਿੰਦਾ ਹੈ" -#: ../gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:1049 msgid "Search Column" msgstr "ਕਾਲਮ ਖੋਜ" -#: ../gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:1050 msgid "Model column to search through during interactive search" msgstr "ਦਿਲਖਿੱਚਵੀਂ ਖੋਜ ਦੌਰਾਨ ਮਾਡਲ ਕਾਲਮ ਦੀ ਖੋਜ" -#: ../gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:1070 msgid "Fixed Height Mode" msgstr "ਨਿਸ਼ਚਿਤ ਉਚਾਈ ਮੋਡ" -#: ../gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:1071 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "ਸਾਰੀਆ ਕਤਾਰਾਂ ਦੀ ਨਿਸ਼ਚਿਤ ਉਚਾਈ ਮੰਨ ਕੇ GtkTreeView ਦੀ ਗਤੀ ਵਧਾਉ " -#: ../gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:1091 msgid "Hover Selection" msgstr "ਹੋਵਰ ਚੋਣ" -#: ../gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:1092 msgid "Whether the selection should follow the pointer" msgstr "ਕੀ ਚੋਣ ਸੂਚਕ ਦਾ ਪਿੱਛਾ ਕਰੇ" -#: ../gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:1111 msgid "Hover Expand" msgstr "ਹੋਵਰ ਫੈਲਾਓ" -#: ../gtk/gtktreeview.c:698 +#: ../gtk/gtktreeview.c:1112 msgid "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "ਕੀ ਸੂਚਕ ਕਤਾਰਾਂ ਦੇ ਉੱਪਰ ਹੋਣ ਸਮੇਂ ਸਮੇਟੀਆਂ/ਫੈਲਾਈਆਂ ਜਾਣ" -#: ../gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:1126 msgid "Show Expanders" msgstr "ਫੈਲਣ ਵਾਲੇ ਵੇਖਾਓ" -#: ../gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:1127 msgid "View has expanders" msgstr "ਫੈਲਾਉਣ ਵਾਲੇ ਵਾਂਗ ਵੇਖਾਓ" -#: ../gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:1141 msgid "Level Indentation" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਦਾ ਲੈਵਲ" -#: ../gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:1142 msgid "Extra indentation for each level" msgstr "ਹਰੇਕ ਲੈਵਲ ਲਈ ਵਾਧੂ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ" -#: ../gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:1151 msgid "Rubber Banding" msgstr "ਰਬਰ ਬੈਂਗਿੰਡ" -#: ../gtk/gtktreeview.c:738 +#: ../gtk/gtktreeview.c:1152 msgid "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "ਮਾਊਸ ਸੰਕੇਤਕ ਰਾਹੀਂ ਚੁੱਕ ਕੇ ਕਈ ਆਈਟਮਾਂ ਦੀ ਚੋਣ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰਨਾ ਹੈ" -#: ../gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:1159 msgid "Enable Grid Lines" msgstr "ਗਰਿੱਡ ਲਾਈਨਾਂ ਯੋਗ" -#: ../gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:1160 msgid "Whether grid lines should be drawn in the tree view" msgstr "ਕੀ ਲੜੀ ਝਲਕ ਵਿੱਚ ਗਰਿੱਡ ਲਾਈਨਾਂ ਵੇਖਾਉਣੀਆਂ ਹਨ" -#: ../gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:1168 msgid "Enable Tree Lines" msgstr "ਲੜੀ ਲਾਈਨਾਂ ਯੋਗ" -#: ../gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:1169 msgid "Whether tree lines should be drawn in the tree view" msgstr "ਕੀ ਲੜੀ ਝਲਕ ਵਿੱਚ ਲੜੀ ਲਾਈਨਾਂ ਖਿੱਚੀਆਂ ਜਾਣ" -#: ../gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:1177 msgid "The column in the model containing the tooltip texts for the rows" msgstr "ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਕਤਾਰਾਂ ਲਈ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਰੱਖਦਾ ਹੈ" -#: ../gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1199 msgid "Vertical Separator Width" msgstr "ਲੰਬਕਾਰੀ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਈ" -#: ../gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical space between cells. Must be an even number" msgstr "ਸੈੱਲ਼ਾਂ ਵਿੱਚਕਾਰ ਲੰਬਕਾਰੀ ਖਾਲੀ ਚੌੜਾਈ, ਜਿਸਤ ਸੰਖਿਆ ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ" -#: ../gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:1208 msgid "Horizontal Separator Width" msgstr "ਲੇਟਵੇ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal space between cells. Must be an even number" msgstr "ਸੈੱਲ਼ਾਂ ਵਿੱਚਕਾਰ ਲੇਟਵੀ ਖਾਲੀ ਚੌੜਾਈ, ਜਿਸਤ ਸੰਖਿਆ ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ" -#: ../gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:1217 msgid "Allow Rules" msgstr "ਰੂਲ ਮਨਜ਼ੂਰ" -#: ../gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:1218 msgid "Allow drawing of alternating color rows" msgstr "ਬਦਲਵੇ ਰੰਗ ਦੀਆ ਕਤਾਰਾਂ ਬਣਾਉਣ ਨੂੰ ਚਾਲੂ ਕਰੋ" -#: ../gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:1224 msgid "Indent Expanders" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਨੂੰ ਫੈਲਾਓ" -#: ../gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:1225 msgid "Make the expanders indented" msgstr "ਫੈਲਾਉ ਨੂੰ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ ਬਣਾਓ" -#: ../gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:1231 msgid "Even Row Color" msgstr "ਜਿਸਤ ਕਤਾਰ ਦਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:1232 msgid "Color to use for even rows" msgstr "ਜਿਸਤ ਕਤਾਰ ਲਈ ਵਰਤਣ ਵਾਲਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1238 msgid "Odd Row Color" msgstr "ਟਾਂਕ ਕਤਾਰ ਦਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1239 msgid "Color to use for odd rows" msgstr "ਟਾਂਕ ਕਤਾਰ ਲਈ ਵਰਤਣ ਵਾਲਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:1245 msgid "Grid line width" msgstr "ਗਰਿੱਡ ਲਾਈਨ ਚੌੜਾਈ" -#: ../gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1246 msgid "Width, in pixels, of the tree view grid lines" msgstr "ਟਰੀ ਝਲਕ ਗਰਿੱਡ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ ਵਿੱਚ" -#: ../gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:1252 msgid "Tree line width" msgstr "ਟਰੀ ਲਾਈਨ ਚੌੜਾਈ" -#: ../gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:1253 msgid "Width, in pixels, of the tree view lines" msgstr "ਲੜੀ ਝਲਕ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ ਵਿੱਚ" -#: ../gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:1259 msgid "Grid line pattern" msgstr "ਗਰਿੱਡ ਲਾਈਨ ਪੈਟਰਨ" -#: ../gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:1260 msgid "Dash pattern used to draw the tree view grid lines" msgstr "ਲੜੀ ਝਲਕ ਗਰਿੱਡ ਲਾਈਨਾਂ ਖਿੱਚਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਡੈਸ਼ ਪੈਟਰਨ" -#: ../gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:1266 msgid "Tree line pattern" msgstr "ਟਰੀ ਲਾਈਨ ਪੈਟਰਨ" -#: ../gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:1267 msgid "Dash pattern used to draw the tree view lines" msgstr "ਲੜੀ ਝਲਕ ਲਾਈਨਾਂ ਖਿੱਚਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਡੈਸ਼ ਪੈਟਰਨ" -#: ../gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:243 msgid "Whether to display the column" msgstr "ਕੀ ਕਾਲਮ ਵੇਖਾਉਣਾ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:203 ../gtk/gtkwindow.c:644 +#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 msgid "Resizable" msgstr "ਮੁੜ-ਆਕਾਰਯੋਗ" -#: ../gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:251 msgid "Column is user-resizable" msgstr "ਕਾਲਮ ਵਰਤਣਵਾਲੇ ਰਾਹੀਂ ਮੁੜ-ਅਕਾਰਯੋਗ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:259 msgid "Current width of the column" msgstr "ਕਾਲਮ ਦੀ ਮੌਜੂਦਾ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:221 +#: ../gtk/gtktreeviewcolumn.c:268 msgid "Space which is inserted between cells" msgstr "ਸੈੱਲਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਥਾਂ" -#: ../gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Sizing" msgstr "ਅਕਾਰ" -#: ../gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Resize mode of the column" msgstr "ਕਾਲਮ ਦਾ ਮੁੜ-ਅਕਾਰ ਮੋਡ" -#: ../gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:285 msgid "Fixed Width" msgstr "ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Current fixed width of the column" msgstr "ਕਾਲਮ ਦੀ ਮੌਜੂਦਾ ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Minimum Width" msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:296 msgid "Minimum allowed width of the column" msgstr "ਕਾਲਮ ਦੀ ਘੱਟੋ-ਘੱਟ ਲਾਗੂ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:305 msgid "Maximum Width" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum allowed width of the column" msgstr "ਕਾਲਮ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਲਾਗੂ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:316 msgid "Title to appear in column header" msgstr "ਕਾਲਮ ਦੇ ਹੈੱਡਰ ਉੱਤੇ ਦਿੱਸਣ ਵਾਲਾ ਕਾਲਮ" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Column gets share of extra width allocated to the widget" msgstr "ਵਿਦਗਿਟ ਨੂੰ ਦਿੱਤੀ ਗਈ ਵਾਧੂ ਚੌੜਾਈ ਵਿੱਚੋਂ ਕਾਲਮ ਹਿੱਸਾ ਪਰਾਪਤ ਕਰੇ" -#: ../gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:331 msgid "Clickable" msgstr "ਕਲਿੱਕ-ਯੋਗ" -#: ../gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Whether the header can be clicked" msgstr "ਕੀ ਹੈੱਡਰ ਦਬਾਉਣਯੋਗ ਹੋਵੇ" -#: ../gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:340 msgid "Widget" msgstr "ਵਿਦਗਿਟ" -#: ../gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget to put in column header button instead of column title" msgstr "ਕਾਲਮ ਹੈੱਡਰ ਦੀ ਬਜਾਏ ਕਾਲਮ ਟਾਈਟਲ ਬਟਨ ਲਗਾਉਣ ਲਈ ਵਿਦਗਿਟ" -#: ../gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:349 msgid "X Alignment of the column header text or widget" msgstr "ਕਾਲਮ ਹੈੱਡਰ ਦੇ ਟੈਕਸਟ ਜਾਂ ਵਿਦਗਿਟ ਦੀ X ਸ਼ਫਬੰਦੀ" -#: ../gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Whether the column can be reordered around the headers" msgstr "ਕੀ ਕਾਲਮ ਹੈੱਡਰ ਦੁਆਲੇ ਮੁੜ-ਕਰਮਬੱਧ ਹੋਣ ਦੇ ਯੋਗ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:366 msgid "Sort indicator" msgstr "ਕ੍ਰਮ ਇੰਡੀਕੇਟਰ" -#: ../gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Whether to show a sort indicator" msgstr "ਕੀ ਕ੍ਰਮ ਸੰਕੇਤਕ ਨੂੰ ਵੇਖਾਉਣਾ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:374 msgid "Sort order" msgstr "ਕ੍ਰਮ ਪੈਟਰਨ" -#: ../gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort direction the sort indicator should indicate" msgstr "ਕ੍ਰਮ ਦਿਸ਼ਾ, ਜੋ ਕਿ ਕ੍ਰਮ ਸੰਕੇਤਕ ਵੇਖਾਵੇ" -#: ../gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:391 msgid "Sort column ID" msgstr "ਲੜੀਬੱਧ ਕਾਲਮ ID" -#: ../gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "ਜਦੋਂ ਲੜੀਬੱਧ ਦੀ ਚੋਣ ਕੀਤੀ ਜਾਵੇ ਤਾਂ ਕਾਲਮ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਲਾਜ਼ੀਕਲ ਕਾਲਮ ID" @@ -6403,277 +6514,319 @@ msgstr "ਰੱਲਗੱਡ UI ਪਰਿਭਾਸ਼ਾ" msgid "An XML string describing the merged UI" msgstr "ਰੱਲਗੱਡ UI ਪਰੀਭਾਸ਼ਾ ਨੂੰ ਦਰਸਾਉਣ ਲਈ XML ਦੀ ਸਤਰ" -#: ../gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "ਇਸ ਵਿਊ-ਪੋਰਟ ਲਈ ਲੇਟਵੀ ਸਥਿਤੀ ਦਾ ਮੁੱਲ ਪਤਾ ਕਰਨ ਲਈ GtkAdjustment" - -#: ../gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "ਇਸ ਵਿਊ-ਪੋਰਟ ਲਈ ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਦਾ ਮੁੱਲ ਪਤਾ ਕਰਨ ਲਈ GtkAdjustment" - -#: ../gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "ਵਿਊ-ਪੋਰਟ ਦੇ ਦੁਆਲੇ ਪਰਛਾਵਾਂ-ਡੱਬਾ ਕਿਵੇਂ ਖਿੱਚਿਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkwidget.c:714 +#: ../gtk/gtkvolumebutton.c:156 +#| msgid "Success color for symbolic icons" +msgid "Use symbolic icons" +msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਵਰਤੋਂ" + +#: ../gtk/gtkvolumebutton.c:157 +#| msgid "Warning color for symbolic icons" +msgid "Whether to use symbolic icons" +msgstr "ਕੀ ਸਿੰਬਲ ਆਈਕਾਨ ਵਰਤਣੇ ਹਨ" + +#: ../gtk/gtkwidget.c:893 msgid "Widget name" msgstr "ਵਿਦਗਿਟ ਨਾਂ" -#: ../gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:894 msgid "The name of the widget" msgstr "ਵਿਦਗਿਟ ਦਾ ਨਾਂ" -#: ../gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:900 msgid "Parent widget" msgstr "ਪੇਰੈਟ ਵਿਦਗਿਟ" -#: ../gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:901 msgid "The parent widget of this widget. Must be a Container widget" msgstr "ਇਸ ਵਿਦਗਿਟ ਦਾ ਪੇਰੈਟ ਵਿਦਗਿਟ ਇੱਕ ਕੰਨਟੇਨਰ ਵਿਦਗਿਟ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ " -#: ../gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:908 msgid "Width request" msgstr "ਵਿਦਗਿਟ ਬੇਨਤੀ" -#: ../gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:909 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" msgstr "ਵਿਦਗਿਟ ਲਈ ਚੌੜਾਈ ਦੀ ਮੰਗ ਨੂੰ ਉੱਤੇ ਲਿਖ ਦਿਉ, ਜਾਂ -1 ਕੁਦਰਤੀ ਮੰਗ ਹੀ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:917 msgid "Height request" msgstr "ਉਚਾਈ ਬੇਨਤੀ" -#: ../gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:918 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" msgstr "ਵਿਦਗਿਟ ਲਈ ਉਚਾਈ ਦੀ ਮੰਗ ਨੂੰ ਉੱਤੇ ਲਿਖ ਦਿਉ, ਜਾਂ -1 ਕੁਦਰਤੀ ਮੰਗ ਹੀ ਵਰਤਣੀ ਹੈ " -#: ../gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:927 msgid "Whether the widget is visible" msgstr "ਕੀ ਵਿਦਗਿਟ ਵੇਖਣਯੋਗ ਹੈ" -#: ../gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:934 msgid "Whether the widget responds to input" msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਨੂੰ ਜਵਾਬਦੇਹ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:940 msgid "Application paintable" msgstr "ਕਾਰਜ ਚਿੱਤਰਯੋਗ" -#: ../gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:941 msgid "Whether the application will paint directly on the widget" msgstr "ਕੀ ਕਾਰਜ ਵਿਦਗਿਟ ਤੇ ਸਿੱਧਾ ਹੀ ਚਿੱਤਰਕਾਰੀ ਕਰ ਸਕੇ" -#: ../gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:947 msgid "Can focus" msgstr "ਫੋਕਸ ਹੋ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:948 msgid "Whether the widget can accept the input focus" msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਫੋਕਸ ਲਾਗੂ ਕਰ ਸਕੇ" -#: ../gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:954 msgid "Has focus" msgstr "ਫੋਕਸ ਹੈ" -#: ../gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:955 msgid "Whether the widget has the input focus" msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਫੋਕਸ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਹੈ" -#: ../gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:961 msgid "Is focus" msgstr "ਫੋਕਸ ਹੈ" -#: ../gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:962 msgid "Whether the widget is the focus widget within the toplevel" msgstr "ਕੀ ਵਿਦਗਿਟ ਸਿਰੇ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਵਿਦਗਿਟ ਫੋਕਸ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਹੈ" -#: ../gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:968 msgid "Can default" msgstr "ਡਿਫਾਲਟ ਹੋ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:969 msgid "Whether the widget can be the default widget" msgstr "ਕੀ ਵਿਦਗਿਟ ਮੂਲ ਵਿਦਗਿਟ ਬਣ ਸਕੇ" -#: ../gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:975 msgid "Has default" msgstr "ਡਿਫਾਲਟ ਹੈ" -#: ../gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:976 msgid "Whether the widget is the default widget" msgstr "ਕੀ ਵਿਦਗਿਟ ਮੂਲ ਵਿਦਗਿਟ ਹੈ" -#: ../gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:982 msgid "Receives default" msgstr "ਡਿਫਾਲਟ ਲੈ ਸਕੇ" -#: ../gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:983 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਵਿਦਗਿਟ ਮੂਲ ਕਾਰਵਾਈ ਕਰੇਗੇ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋਵੇਗਾ" -#: ../gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:989 msgid "Composite child" msgstr "ਯੋਗਿਕ ਚਲਾਇਡ" -#: ../gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:990 msgid "Whether the widget is part of a composite widget" msgstr "ਕੀ ਵਿਦਗਿਟ ਯੋਗਿਕ ਵਿਦਗਿਟ ਦਾ ਹਿੱਸਾ ਹੈ" -#: ../gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:996 msgid "Style" msgstr "ਸਟਾਇਲ" -#: ../gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:997 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "ਵਿਦਗਿਟ ਦਾ ਸਟਾਇਲ, ਜੋ ਕਿ ਇਹ ਜਾਣਕਾਰੀ ਰੱਖਦਾ ਹੈ ਇਹ ਕਿਸਤਰਾਂ ਦਾ ਦਿੱਸੇਗਾ (ਜਿਵੇਂ ਰੰਗ ਆਦਿ)" -#: ../gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1003 msgid "Events" msgstr "ਘਟਨਾਵਾਂ" -#: ../gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1004 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "ਘਟਨਾ-ਮਖੌਟਾ, ਜੋ ਕਿ ਇਹ ਸੈੱਟ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਵਿਦਗਿਟ ਕਿਸਤਰ੍ਹਾਂ ਦਾ GdkEvents ਨੂੰ ਪਰਾਪਤ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:832 -msgid "Extension events" -msgstr "ਹੋਰ ਘਟਨਾਵਾਂ" - -#: ../gtk/gtkwidget.c:833 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "ਮਖੌਟਾ, ਜੋ ਕਿ ਇਹ ਸੈੱਟ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਵਿਦਗਿਟ ਕਿਸਤਰ੍ਹਾਂ ਦੀਆ ਵਾਧੂ-ਘਟਨਾਵਾਂ ਨੂੰ ਪਰਾਪਤ ਕਰਦਾ ਹੈ" - -#: ../gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1011 msgid "No show all" msgstr "ਸਭ ਨਾ ਵੇਖਾਓ" -#: ../gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1012 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "ਕੀ gtk_widget_show_all() ਸਾਰੇ ਵਿਦਗਿਟ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਾ ਕਰੇ" -#: ../gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1035 msgid "Whether this widget has a tooltip" msgstr "ਕੀ ਇਹ ਵਿਦਗਿਟ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਹੋਣ" -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1091 msgid "Window" msgstr "ਵਿੰਡੋ" -#: ../gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1092 msgid "The widget's window if it is realized" msgstr "ਜੇ ਮੰਨਿਆ ਜਾਵੇ ਤਾਂ ਵਿਡਜੈੱਟ ਦੀ ਵਿੰਡੋ" -#: ../gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1106 msgid "Double Buffered" msgstr "ਦੂਹਰਾ ਬਫਰ" -#: ../gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:1107 msgid "Whether the widget is double buffered" msgstr "ਕੀ ਵਿਦਗਿਟ ਦੂਹਰਾ ਬਫ਼ਰ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1122 msgid "How to position in extra horizontal space" msgstr "ਵਾਧੂ ਹਰੀਜੱਟਲ ਥਾਂ ਵਿੱਚ ਸਥਿਤੀ ਕਿਵੇਂ" -#: ../gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1138 msgid "How to position in extra vertical space" msgstr "ਵਾਧੂ ਵਰਟੀਕਲ ਥਾਂ ਵਿੱਚ ਸਥਿਤੀ ਕਿਵੇਂ" -#: ../gtk/gtkwidget.c:986 +#: ../gtk/gtkwidget.c:1157 msgid "Margin on Left" msgstr "ਖੱਬੇ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1158 msgid "Pixels of extra space on the left side" msgstr "ਖੱਬੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1178 msgid "Margin on Right" msgstr "ਸੱਜੇ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1008 +#: ../gtk/gtkwidget.c:1179 msgid "Pixels of extra space on the right side" msgstr "ਸੱਜੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1028 +#: ../gtk/gtkwidget.c:1199 msgid "Margin on Top" msgstr "ਉੱਤੇ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1029 +#: ../gtk/gtkwidget.c:1200 msgid "Pixels of extra space on the top side" msgstr "ਉੱਤਲੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1220 msgid "Margin on Bottom" msgstr "ਹੇਠਾਂ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1221 msgid "Pixels of extra space on the bottom side" msgstr "ਹੇਠਲੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1067 +#: ../gtk/gtkwidget.c:1238 msgid "All Margins" msgstr "ਸਭ ਫਾਸਲੇ" -#: ../gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1239 msgid "Pixels of extra space on all four sides" msgstr "ਸਭ ਚਾਰੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1272 +#| msgid "Horizontal padding" +msgid "Horizontal Expand" +msgstr "ਹਰੀਜੱਟਲ ਫੈਲਾਉ" + +#: ../gtk/gtkwidget.c:1273 +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether widget wants more horizontal space" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਨੂੰ ਹੋਰ ਹਰੀਜੱਟਲ ਥਾਂ ਚਾਹੀਦੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1287 +#| msgid "Horizontal alignment" +msgid "Horizontal Expand Set" +msgstr "ਹਰੀਜੱਟਲ ਫੈਲਾਉ ਸੈੱਟ" + +#: ../gtk/gtkwidget.c:1288 +#, fuzzy +#| msgid "Whether to use the related actions appearance properties" +msgid "Whether to use the hexpand property" +msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1302 +#| msgid "Vertical padding" +msgid "Vertical Expand" +msgstr "ਵਰਟੀਕਲ ਫੈਲਾਉ" + +#: ../gtk/gtkwidget.c:1303 +#| msgid "Whether the widget is visible" +msgid "Whether widget wants more vertical space" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਨੂੰ ਹੋਰ ਵਰਟੀਕਲ ਥਾਂ ਚਾਹੀਦੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1317 +#| msgid "Vertical alignment" +msgid "Vertical Expand Set" +msgstr "ਵਰਟੀਕਲ ਫੈਲਾਉ ਸੈੱਟ" + +#: ../gtk/gtkwidget.c:1318 +#, fuzzy +#| msgid "Whether to use the related actions appearance properties" +msgid "Whether to use the vexpand property" +msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1332 +#| msgid "Expand timeout" +msgid "Expand Both" +msgstr "ਦੋਵੇਂ ਫੈਲਾਓ" + +#: ../gtk/gtkwidget.c:1333 +#| msgid "Whether the widget has the input focus" +msgid "Whether widget wants to expand in both directions" +msgstr "ਕੀ ਵਿਦਜੈਟ ਨੂੰ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਫੈਲਣ ਦੀ ਲੋੜ ਹੈ" + +#: ../gtk/gtkwidget.c:2992 msgid "Interior Focus" msgstr "ਅੰਦਰੂਨੀ ਫੋਕਸ" -#: ../gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:2993 msgid "Whether to draw the focus indicator inside widgets" msgstr "ਕੀ ਵਿਦਗਿਟ ਵਿੱਚ ਫੋਕਸ ਸੰਕੇਤਕ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:2999 msgid "Focus linewidth" msgstr "ਫੋਕਸ ਰੇਖਾ-ਚੌੜਾਈ" -#: ../gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3000 msgid "Width, in pixels, of the focus indicator line" msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਲਾਈਨ ਦੀ ਚੌੜਾਈ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3006 msgid "Focus line dash pattern" msgstr "ਫੋਕਸ ਲਾਈਨ ਡੈਸ ਪੈਟਰਨ" -#: ../gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3007 msgid "Dash pattern used to draw the focus indicator" msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਨੂੰ ਬਣਾਉਣ ਲਈ ਡੱਬੀਦਾਰ ਪੈਟਰਨ" -#: ../gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3012 msgid "Focus padding" msgstr "ਫੋਕਸ ਪੈਡਿੰਗ" -#: ../gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3013 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਅਤੇ ਵਿਦਗਿਟ 'ਡੱਬੇ' ਵਿਚਕਾਰ ਦੀ ਚੌੜਾਈ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3018 msgid "Cursor color" msgstr "ਕਰਸਰ ਰੰਗ" -#: ../gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3019 msgid "Color with which to draw insertion cursor" msgstr "ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਬਣਾਉਣ ਵਾਲਾ ਰੰਗ" -#: ../gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3024 msgid "Secondary cursor color" msgstr "ਸੈਕੰਡਰੀ ਕਰਸਰ ਰੰਗ" -#: ../gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:3025 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6681,196 +6834,196 @@ msgstr "" "ਰੰਗ, ਜਿਸ ਨਾਲ ਸੈਕੰਡਰੀ ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਬਣਾਈ ਜਾਵੇਗੀ, ਜਦੋਂ ਕਿ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਤੇ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਟੈਕਸਟ ਦੇ " "ਰਲਵੇ ਨੂੰ ਸੋਧਣਾ ਹੈ" -#: ../gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3030 msgid "Cursor line aspect ratio" msgstr "ਕਰਸਰ ਲਾਈਨ ਅਕਾਰ ਅਨੁਪਾਤ" -#: ../gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3031 msgid "Aspect ratio with which to draw insertion cursor" msgstr "ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਖਿੱਚਣ ਲਈ ਅਕਾਰ ਅਨੁਪਾਤ" -#: ../gtk/gtkwidget.c:2786 +#: ../gtk/gtkwidget.c:3037 msgid "Window dragging" msgstr "ਵਿੰਡੋ ਡਰੈਗਿੰਗ" -#: ../gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3038 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "ਕੀ ਵਿੰਡੋ ਨੂੰ ਖਾਲੀ ਖੇਤਰਾਂ 'ਚ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਡਰੈਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3051 msgid "Unvisited Link Color" msgstr "ਨਾ-ਖੋਲ੍ਹੇ ਲਿੰਕ ਰੰਗ" -#: ../gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3052 msgid "Color of unvisited links" msgstr "ਨਾ-ਖੋਲ੍ਹੇ ਲਿੰਕਾਂ ਦਾ ਰੰਗ ਹੈ" -#: ../gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3065 msgid "Visited Link Color" msgstr "ਖੋਲ੍ਹੇ ਲਿੰਕ ਰੰਗ" -#: ../gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3066 msgid "Color of visited links" msgstr "ਖੋਲ੍ਹੇ ਗਏ ਲਿੰਕਦਾ ਰੰਗ" -#: ../gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3080 msgid "Wide Separators" msgstr "ਖੁੱਲ੍ਹੇ ਵੱਖਰੇਵੇਂ" -#: ../gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:3081 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" msgstr "ਕੀ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ ਸੰਰਚਨਾ ਯੋਗ ਹੋਵੇ ਅਤੇ ਇੱਕ ਸਤਰ ਦੀ ਬਜਾਏ ਇੱਕ ਬਕਸਾ ਖਿੱਚਣ ਦੇ ਯੋਗ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3095 msgid "Separator Width" msgstr "ਵੱਖਰੇਵਾ ਚੌੜਾਈ" -#: ../gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3096 msgid "The width of separators if wide-separators is TRUE" msgstr "ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ, ਜੇਕਰ ਖੁੱਲ੍ਹਾ-ਵੱਖਰੇਵਾ ਸੱਚ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3110 msgid "Separator Height" msgstr "ਵੱਖਰੇਵਾ ਉਚਾਈ" -#: ../gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3111 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "ਵੱਖਰੇਵੇ ਦੀ ਉਚਾਈ, ਜੇਕਰ \"ਖੁੱਲ੍ਹਾ-ਵੱਖਰੇਵਾ\" ਸੱਚ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3125 msgid "Horizontal Scroll Arrow Length" msgstr "ਖਿਤਿਜੀ ਸਰਕੋਲ ਤੀਰ ਲੰਬਾਈ" -#: ../gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3126 msgid "The length of horizontal scroll arrows" msgstr "ਖਿਤਿਜੀ ਸਕਰੋਲ ਤੀਰਾਂ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3140 msgid "Vertical Scroll Arrow Length" msgstr "ਲੰਬਕਾਰੀ ਸਕਰੋਲ ਤੀਰ ਲੰਬਾਈ" -#: ../gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3141 msgid "The length of vertical scroll arrows" msgstr "ਲੰਬਕਾਰੀ ਸਕਰੋਲ ਤੀਰਾਂ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:614 msgid "Window Type" msgstr "ਵਿੰਡੋ ਟਾਈਪ" -#: ../gtk/gtkwindow.c:603 +#: ../gtk/gtkwindow.c:615 msgid "The type of the window" msgstr "ਵਿੰਡੋ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkwindow.c:611 +#: ../gtk/gtkwindow.c:623 msgid "Window Title" msgstr "ਵਿੰਡੋ ਟਾਈਟਲ" -#: ../gtk/gtkwindow.c:612 +#: ../gtk/gtkwindow.c:624 msgid "The title of the window" msgstr "ਵਿੰਡੋ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtkwindow.c:619 +#: ../gtk/gtkwindow.c:631 msgid "Window Role" msgstr "ਵਿੰਡੋ ਰੂਲ" -#: ../gtk/gtkwindow.c:620 +#: ../gtk/gtkwindow.c:632 msgid "Unique identifier for the window to be used when restoring a session" msgstr "ਵਿੰਡੋ ਲਈ ਇਕਸਾਰ ਸ਼ਨਾਖਤੀ ਜੋ ਕਿ ਸ਼ੈਸ਼ਨ ਨੁੰ ਮੁੜ-ਸੰਭਾਲਣ ਸਮੇ ਵਰਤਿਆ ਜਾ ਸਕੇ" -#: ../gtk/gtkwindow.c:636 +#: ../gtk/gtkwindow.c:648 msgid "Startup ID" msgstr "ਸ਼ੁਰੂਆਤੀ ID" -#: ../gtk/gtkwindow.c:637 +#: ../gtk/gtkwindow.c:649 msgid "Unique startup identifier for the window used by startup-notification" msgstr "ਵਿੰਡੋ ਲਈ ਵਿਲੱਖਣ ਸ਼ੁਰੂਆਤੀ ਸ਼ਨਾਖਤੀ, ਜੋ ਕਿ ਸ਼ੁਰੂਆਤੀ ਸੂਚਨਾ ਵਜੋਂ ਵਰਤਿਆ ਜਾਵੇ।" -#: ../gtk/gtkwindow.c:645 +#: ../gtk/gtkwindow.c:657 msgid "If TRUE, users can resize the window" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਯੂਜ਼ਰ ਵਿੰਡ ਦਾ ਮੁੜ-ਅਕਾਰ ਕਰ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwindow.c:652 +#: ../gtk/gtkwindow.c:664 msgid "Modal" msgstr "ਮਾਡਲ" -#: ../gtk/gtkwindow.c:653 +#: ../gtk/gtkwindow.c:665 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" msgstr "" "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ, ਵਿੰਡੋ ਮਾਡਲ ਹੋਵੇਗੀ (ਹੋਰ ਵਿੰਡੋ ਉਪਲੱਬਧ ਨਹੀਂ ਹੋ ਸਕਣਗੇ, ਜਦੋਂ ਕਿ ਇੱਕ ਨੂੰ ਵਰਤ ਰਹੇ ਹੋ)" -#: ../gtk/gtkwindow.c:660 +#: ../gtk/gtkwindow.c:672 msgid "Window Position" msgstr "ਵਿੰਡੋ ਸਥਿਤੀ" -#: ../gtk/gtkwindow.c:661 +#: ../gtk/gtkwindow.c:673 msgid "The initial position of the window" msgstr "ਵਿੰਡੋ ਦੀ ਮੁੱਢਲੀ ਸਥਿਤੀ" -#: ../gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:681 msgid "Default Width" msgstr "ਮੂਲ ਚੌੜਾਈ" -#: ../gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:682 msgid "The default width of the window, used when initially showing the window" msgstr "ਵਿੰਡੋ ਦੀ ਡਿਫਾਲਟ ਚੌੜਾਈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਸ਼ੁਰੂ ਵੇਲੇ ਵੇਖਾਈ ਜਾਵੇਗੀ" -#: ../gtk/gtkwindow.c:679 +#: ../gtk/gtkwindow.c:691 msgid "Default Height" msgstr "ਮੂਲ ਉਚਾਈ" -#: ../gtk/gtkwindow.c:680 +#: ../gtk/gtkwindow.c:692 msgid "The default height of the window, used when initially showing the window" msgstr "ਵਿੰਡੋ ਦੀ ਡਿਫਾਲਟ ਉਚਾਈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਸ਼ੁਰੂ ਵੇਲੇ ਵੇਖਾਈ ਜਾਵੇਗੀ" -#: ../gtk/gtkwindow.c:689 +#: ../gtk/gtkwindow.c:701 msgid "Destroy with Parent" msgstr "ਪੇਰੈਟ ਨੂੰ ਖਤਮ ਕਰ ਦਿਉ" -#: ../gtk/gtkwindow.c:690 +#: ../gtk/gtkwindow.c:702 msgid "If this window should be destroyed when the parent is destroyed" msgstr "ਜੇਕਰ ਇਹ ਵਿੰਡੋ ਨੂੰ ਖਤਮ ਕੀਤਾ ਤਾਂ ਪੈਰੈਟ ਵੀ ਖਤਮ ਹੋ ਜਾਏਗਾ" -#: ../gtk/gtkwindow.c:698 +#: ../gtk/gtkwindow.c:710 msgid "Icon for this window" msgstr "ਇਸ ਵਿੰਡੋ ਲਈ ਆਈਕਾਨ" -#: ../gtk/gtkwindow.c:704 +#: ../gtk/gtkwindow.c:716 msgid "Mnemonics Visible" msgstr "ਮਨਾਮੈਰਿਕ ਦਿੱਖ" -#: ../gtk/gtkwindow.c:705 +#: ../gtk/gtkwindow.c:717 msgid "Whether mnemonics are currently visible in this window" msgstr "ਕੀ ਇਸ ਵਿੰਡੋ ਵਿੱਚ ਮਨਾਮੈਰਿਕ ਇਸ ਸਮੇਂ ਉਪਲੱਬਧ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:721 +#: ../gtk/gtkwindow.c:733 msgid "Name of the themed icon for this window" msgstr "ਇਸ ਵਿੰਡੋ ਲਈ ਥੀਮ ਆਈਕਾਨ ਦਾ ਨਾਂ" -#: ../gtk/gtkwindow.c:736 +#: ../gtk/gtkwindow.c:748 msgid "Is Active" msgstr "ਸਰਗਰਮ ਹੈ" -#: ../gtk/gtkwindow.c:737 +#: ../gtk/gtkwindow.c:749 msgid "Whether the toplevel is the current active window" msgstr "ਕੀ ਉੱਤਲਾ ਮੌਜੂਦਾ ਸਰਗਰਮ ਵਿੰਡੋ ਹੈ" -#: ../gtk/gtkwindow.c:744 +#: ../gtk/gtkwindow.c:756 msgid "Focus in Toplevel" msgstr "ਉਪਰਲੇ ਨੂੰ ਕੇਦਰਿਤ ਕਰੋ" -#: ../gtk/gtkwindow.c:745 +#: ../gtk/gtkwindow.c:757 msgid "Whether the input focus is within this GtkWindow" msgstr "ਕੀ ਇਸ GtkWindow ਵਿੱਚ ਇੰਪੁੱਟ ਕੇਦਰ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:752 +#: ../gtk/gtkwindow.c:764 msgid "Type hint" msgstr "ਸੰਕੇਤ ਲਿਖੋ" -#: ../gtk/gtkwindow.c:753 +#: ../gtk/gtkwindow.c:765 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -6878,129 +7031,181 @@ msgstr "" "ਸੰਕੇਤ, ਡੈਸਕਟਾਪ ਮਾਹੌਲ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਮੱਦਦ ਕਰਦਾ ਹੈ ਕਿ ਵਿੰਡੋ ਕਿਸ ਕਿਸਮ ਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਕਿਵੇਂ " "ਵਰਤਣਾ ਹੈ।" -#: ../gtk/gtkwindow.c:761 +#: ../gtk/gtkwindow.c:773 msgid "Skip taskbar" msgstr "ਕਾਰਜ-ਪੱਟੀ ਨੂੰ ਛੱਡੋ" -#: ../gtk/gtkwindow.c:762 +#: ../gtk/gtkwindow.c:774 msgid "TRUE if the window should not be in the task bar." msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਟਾਸਕਬਾਰ ਵਿੱਚ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" -#: ../gtk/gtkwindow.c:769 +#: ../gtk/gtkwindow.c:781 msgid "Skip pager" msgstr "ਪੇਜ਼ਰ ਨੂੰ ਛੱਡੋ" -#: ../gtk/gtkwindow.c:770 +#: ../gtk/gtkwindow.c:782 msgid "TRUE if the window should not be in the pager." msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਪੇਜ਼ਰ ਵਿੱਚ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" -#: ../gtk/gtkwindow.c:777 +#: ../gtk/gtkwindow.c:789 msgid "Urgent" msgstr "ਲਾਜ਼ਮੀ" -#: ../gtk/gtkwindow.c:778 +#: ../gtk/gtkwindow.c:790 msgid "TRUE if the window should be brought to the user's attention." msgstr "ਸੱਚ, ਜੇਕਰ ਵਿੰਡੋ ਯੂਜ਼ਰ ਦਾ ਧਿਆਨ ਖਿੱਚੇ" -#: ../gtk/gtkwindow.c:792 +#: ../gtk/gtkwindow.c:804 msgid "Accept focus" msgstr "ਫੋਕਸ ਮਨਜ਼ੂਰ" -#: ../gtk/gtkwindow.c:793 +#: ../gtk/gtkwindow.c:805 msgid "TRUE if the window should receive the input focus." msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਇੰਪੁੱਟ ਫੋਕਸ ਲੈ ਸਕੇ।" -#: ../gtk/gtkwindow.c:807 +#: ../gtk/gtkwindow.c:819 msgid "Focus on map" msgstr "ਨਕਸ਼ੇ ਉੱਤੇ ਫੋਕਸ" -#: ../gtk/gtkwindow.c:808 +#: ../gtk/gtkwindow.c:820 msgid "TRUE if the window should receive the input focus when mapped." msgstr "ਸੱਚ, ਜੇਕਰ ਵਿੰਡੋ ਇੰਪੁੱਟ ਧਿਆਨ ਲਵੇ, ਜਦੋਂ ਮਿਲਾਇਆ ਗਿਆ ਹੋਵੇ।" -#: ../gtk/gtkwindow.c:822 +#: ../gtk/gtkwindow.c:834 msgid "Decorated" msgstr "ਸਜਾਇਆ" -#: ../gtk/gtkwindow.c:823 +#: ../gtk/gtkwindow.c:835 msgid "Whether the window should be decorated by the window manager" msgstr "ਕੀ ਵਿੰਡੋ, ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਸਜਾਈ ਜਾ ਸਕੇ" -#: ../gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:849 msgid "Deletable" msgstr "ਵੱਖ-ਹੋਣ ਯੋਗ" -#: ../gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:850 msgid "Whether the window frame should have a close button" msgstr "ਕੀ ਵਿੰਡੋ ਫਰੇਮ ਉੱਤੇ ਇੱਕ ਬੰਦ ਕਰਨ ਦਾ ਬਟਨ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:857 -#| msgid "Has Resize Grip" +#: ../gtk/gtkwindow.c:869 msgid "Resize grip" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ" -#: ../gtk/gtkwindow.c:858 -#| msgid "Whether the window frame should have a close button" +#: ../gtk/gtkwindow.c:870 msgid "Specifies whether the window should have a resize grip" msgstr "ਦੱਸੋ ਕਿ ਕੀ ਵਿੰਡੋ ਕੋਲ ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:872 +#: ../gtk/gtkwindow.c:884 msgid "Resize grip is visible" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਵੇਖੋ" -#: ../gtk/gtkwindow.c:873 -#| msgid "Whether the action group is visible." +#: ../gtk/gtkwindow.c:885 msgid "Specifies whether the window's resize grip is visible." msgstr "ਦੱਸੋ ਕਿ ਕੀ ਵਿੰਡੋ ਦਾ ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦਿੱਖ ਹੋਵੇ।" -#: ../gtk/gtkwindow.c:889 +#: ../gtk/gtkwindow.c:901 msgid "Gravity" msgstr "ਗਰੇਵਿਟੀ" -#: ../gtk/gtkwindow.c:890 +#: ../gtk/gtkwindow.c:902 msgid "The window gravity of the window" msgstr "ਵਿੰਡੋ ਦੀ ਵਿੰਡੋ ਗਰੇਵਿਟੀ" -#: ../gtk/gtkwindow.c:907 +#: ../gtk/gtkwindow.c:919 msgid "Transient for Window" msgstr "ਵਿੰਡੋ ਲਈ ਟਰਾਂਸੀਨੇਟ" -#: ../gtk/gtkwindow.c:908 +#: ../gtk/gtkwindow.c:920 msgid "The transient parent of the dialog" msgstr "ਡਾਈਲਾਗ ਦੀ ਟਰਾਂਸਟ ਮੁੱਢਲਾ" -#: ../gtk/gtkwindow.c:923 +#: ../gtk/gtkwindow.c:935 msgid "Opacity for Window" msgstr "ਵਿੰਡੋ ਲਈ ਧੁੰਦਲਾਪਨ" -#: ../gtk/gtkwindow.c:924 +#: ../gtk/gtkwindow.c:936 msgid "The opacity of the window, from 0 to 1" msgstr "ਵਿੰਡੋ ਦਾ ਧੁੰਦਲਾਪਨ, 0 ਤੋਂ 1" -#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 msgid "Width of resize grip" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 -#| msgid "Has Resize Grip" +#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 msgid "Height of resize grip" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦੀ ਉਚਾਈ" -#: ../modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "IM ਪ੍ਰੀ-ਐਡੀਟ ਸਟਾਇਲ" +#: ../gtk/gtkwindow.c:972 +#| msgid "Application paintable" +msgid "GtkApplication" +msgstr "GtkApplication" -#: ../modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "ਇੰਪੁੱਟ ਢੰਗ ਪ੍ਰੀ-ਐਡੀਟ ਲਾਈਨ ਨੂੰ ਕਿਸ-ਤਰ੍ਹਾਂ ਬਣਾਏ" +#: ../gtk/gtkwindow.c:973 +#| msgid "The initial position of the window" +msgid "The GtkApplication for the window" +msgstr "ਵਿੰਡੋ ਲਈ GtkApplication" -#: ../modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "IM ਹਾਲਤ ਸਟਾਇਲ" +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "ਪਰੋਗਰਾਮ ਦੀ ਵੈਬਸਾਇਟ ਨਾਲ ਲਿੰਕ ਦਾ ਲੇਬਲ ਹੈ। ਜੇਕਰ ਇਹ ਨਾਂ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਇਹ ਮੂਲ URL ਹੋਵੇਗਾ।" -#: ../modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "ਇੰਪੁੱਟ ਢੰਗ ਦੀ ਹਾਲਤ-ਪੱਟੀ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" +#~ msgid "Horizontal adjustment" +#~ msgstr "ਲੇਟਵਾਂ ਅਡਜੱਸਟਮੈਂਟ" + +#~ msgid "Vertical adjustment" +#~ msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" + +#~ msgid "Lower" +#~ msgstr "ਹੇਠਲੀ" + +#~ msgid "Lower limit of ruler" +#~ msgstr "ਪੈਮਾਨੇ ਲਈ ਹੇਠਲੀ ਹੱਦ" + +#~ msgid "Upper" +#~ msgstr "ਉੱਤੇਲੀ" + +#~ msgid "Upper limit of ruler" +#~ msgstr "ਪੈਮਾਨੇ ਲਈ ਉੱਤੇਲੀ ਹੱਦ" + +#~ msgid "Position of mark on the ruler" +#~ msgstr "ਪੈਮਾਨੇ ਤੇ ਨਿਸ਼ਾਨ ਦੀ ਟਿਕਾਣਾ" + +#~ msgid "Max Size" +#~ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਅਕਾਰ" + +#~ msgid "Maximum size of the ruler" +#~ msgstr "ਪੈਮਾਨ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਅਕਾਰ" + +#~ msgid "Metric" +#~ msgstr "ਮੈਟਰਿਕ" + +#~ msgid "The metric used for the ruler" +#~ msgstr "ਫੁੱਟੇ ਲਈ ਵਰਤਣ ਲਈ ਮੈਟਰਿਕ" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "ਲੇਟਵੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਵਿਦਗਿਟ" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਵਿਦਗਿਟ" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "ਇਸ ਵਿਊ-ਪੋਰਟ ਲਈ ਲੇਟਵੀ ਸਥਿਤੀ ਦਾ ਮੁੱਲ ਪਤਾ ਕਰਨ ਲਈ GtkAdjustment" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "ਇਸ ਵਿਊ-ਪੋਰਟ ਲਈ ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਦਾ ਮੁੱਲ ਪਤਾ ਕਰਨ ਲਈ GtkAdjustment" + +#~ msgid "Extension events" +#~ msgstr "ਹੋਰ ਘਟਨਾਵਾਂ" + +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "ਮਖੌਟਾ, ਜੋ ਕਿ ਇਹ ਸੈੱਟ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਵਿਦਗਿਟ ਕਿਸਤਰ੍ਹਾਂ ਦੀਆ ਵਾਧੂ-ਘਟਨਾਵਾਂ ਨੂੰ ਪਰਾਪਤ ਕਰਦਾ ਹੈ" #~ msgid "Whether the statusbar has a grip for resizing the toplevel" #~ msgstr "ਕੀ ਹਾਲਤ-ਪੱਟੀ ਉਪਰੀ ਦੇ ਮੁੜ-ਅਕਾਰ ਨੂੰ ਵੇਖੇ" From 9dee9a84d0e8a7a3199d55aa5d4ecc1d89b97c71 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 26 Dec 2010 20:36:51 -0500 Subject: [PATCH 0930/1463] Removed sealed members from GtkMenuItem --- gtk/Makefile.am | 3 +- gtk/gtkcheckmenuitem.c | 165 ++--- gtk/gtkimagemenuitem.c | 339 ++++++----- gtk/gtkmenu.c | 25 +- gtk/gtkmenubar.c | 22 +- gtk/gtkmenuitem.c | 1235 +++++++++++++++++++------------------- gtk/gtkmenuitem.h | 77 +-- gtk/gtkmenuitemprivate.h | 63 ++ gtk/gtkmenushell.c | 45 +- gtk/gtktearoffmenuitem.c | 31 +- 10 files changed, 1026 insertions(+), 979 deletions(-) create mode 100644 gtk/gtkmenuitemprivate.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index a9cf1a564e..aab506e7e8 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -394,10 +394,11 @@ gtk_private_h_sources = \ gtkfilesystem.h \ gtkfilesystemmodel.h \ gtkiconcache.h \ - gtkimcontextsimpleseqs.h \ + gtkimcontextsimpleseqs.h \ gtkintl.h \ gtkkeyhash.h \ gtkmenuprivate.h \ + gtkmenuitemprivate.h \ gtkmenushellprivate.h \ gtkmnemonichash.h \ gtkmodifierstyle.h \ diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c index 428fd238fb..d35a793f23 100644 --- a/gtk/gtkcheckmenuitem.c +++ b/gtk/gtkcheckmenuitem.c @@ -21,11 +21,12 @@ * Modified by the GTK+ Team and others 1997-2001. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" #include "gtkcheckmenuitem.h" +#include "gtkmenuitemprivate.h" #include "gtkaccellabel.h" #include "gtkactivatable.h" #include "gtktoggleaction.h" @@ -59,31 +60,31 @@ static gint gtk_check_menu_item_draw (GtkWidget *wid cairo_t *cr); static void gtk_check_menu_item_activate (GtkMenuItem *menu_item); static void gtk_check_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition); + gint *requisition); static void gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, - cairo_t *cr); + cairo_t *cr); static void gtk_check_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_check_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static void gtk_check_menu_item_activatable_interface_init (GtkActivatableIface *iface); static void gtk_check_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name); + GtkAction *action, + const gchar *property_name); static void gtk_check_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action); + GtkAction *action); static GtkActivatableIface *parent_activatable_iface; static guint check_menu_item_signals[LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE_WITH_CODE (GtkCheckMenuItem, gtk_check_menu_item, GTK_TYPE_MENU_ITEM, - G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, - gtk_check_menu_item_activatable_interface_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, + gtk_check_menu_item_activatable_interface_init)) static void gtk_check_menu_item_class_init (GtkCheckMenuItemClass *klass) @@ -143,12 +144,12 @@ gtk_check_menu_item_class_init (GtkCheckMenuItemClass *klass) check_menu_item_signals[TOGGLED] = g_signal_new (I_("toggled"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkCheckMenuItemClass, toggled), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkCheckMenuItemClass, toggled), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); g_type_class_add_private (klass, sizeof (GtkCheckMenuItemPrivate)); } @@ -163,8 +164,8 @@ gtk_check_menu_item_activatable_interface_init (GtkActivatableIface *iface) static void gtk_check_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name) + GtkAction *action, + const gchar *property_name) { GtkCheckMenuItem *check_menu_item; @@ -184,12 +185,12 @@ gtk_check_menu_item_update (GtkActivatable *activatable, if (strcmp (property_name, "draw-as-radio") == 0) gtk_check_menu_item_set_draw_as_radio (check_menu_item, - gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); + gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); } static void gtk_check_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action) + GtkAction *action) { GtkCheckMenuItem *check_menu_item; @@ -208,7 +209,7 @@ gtk_check_menu_item_sync_action_properties (GtkActivatable *activatable, return; gtk_check_menu_item_set_draw_as_radio (check_menu_item, - gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); + gtk_toggle_action_get_draw_as_radio (GTK_TOGGLE_ACTION (action))); } GtkWidget* @@ -221,8 +222,8 @@ GtkWidget* gtk_check_menu_item_new_with_label (const gchar *label) { return g_object_new (GTK_TYPE_CHECK_MENU_ITEM, - "label", label, - NULL); + "label", label, + NULL); } @@ -240,14 +241,14 @@ GtkWidget* gtk_check_menu_item_new_with_mnemonic (const gchar *label) { return g_object_new (GTK_TYPE_CHECK_MENU_ITEM, - "label", label, - "use-underline", TRUE, - NULL); + "label", label, + "use-underline", TRUE, + NULL); } void gtk_check_menu_item_set_active (GtkCheckMenuItem *check_menu_item, - gboolean is_active) + gboolean is_active) { GtkCheckMenuItemPrivate *priv; @@ -280,7 +281,7 @@ gtk_check_menu_item_get_active (GtkCheckMenuItem *check_menu_item) static void gtk_check_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition) + gint *requisition) { guint toggle_spacing; guint indicator_size; @@ -288,9 +289,9 @@ gtk_check_menu_item_toggle_size_request (GtkMenuItem *menu_item, g_return_if_fail (GTK_IS_CHECK_MENU_ITEM (menu_item)); gtk_widget_style_get (GTK_WIDGET (menu_item), - "toggle-spacing", &toggle_spacing, - "indicator-size", &indicator_size, - NULL); + "toggle-spacing", &toggle_spacing, + "indicator-size", &indicator_size, + NULL); *requisition = indicator_size + toggle_spacing; } @@ -363,7 +364,7 @@ gtk_check_menu_item_get_inconsistent (GtkCheckMenuItem *check_menu_item) **/ void gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_item, - gboolean draw_as_radio) + gboolean draw_as_radio) { GtkCheckMenuItemPrivate *priv; @@ -450,7 +451,7 @@ gtk_check_menu_item_activate (GtkMenuItem *menu_item) static void gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, - cairo_t *cr) + cairo_t *cr) { GtkCheckMenuItemPrivate *priv = check_menu_item->priv; GtkWidget *widget; @@ -475,72 +476,72 @@ gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, gtk_widget_get_allocation (widget, &allocation); gtk_widget_style_get (widget, - "toggle-spacing", &toggle_spacing, - "horizontal-padding", &horizontal_padding, - "indicator-size", &indicator_size, - NULL); + "toggle-spacing", &toggle_spacing, + "horizontal-padding", &horizontal_padding, + "indicator-size", &indicator_size, + NULL); - toggle_size = GTK_MENU_ITEM (check_menu_item)->toggle_size; + toggle_size = GTK_MENU_ITEM (check_menu_item)->priv->toggle_size; border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); offset = border_width + style->xthickness + 2; if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) - { + { x = offset + horizontal_padding + - (toggle_size - toggle_spacing - indicator_size) / 2; - } + (toggle_size - toggle_spacing - indicator_size) / 2; + } else - { + { x = allocation.width - - offset - horizontal_padding - toggle_size + toggle_spacing + - (toggle_size - toggle_spacing - indicator_size) / 2; - } + offset - horizontal_padding - toggle_size + toggle_spacing + + (toggle_size - toggle_spacing - indicator_size) / 2; + } y = (allocation.height - indicator_size) / 2; if (priv->active || - priv->always_show_toggle || - (gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT)) - { + priv->always_show_toggle || + (gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT)) + { GdkWindow *window; window = gtk_widget_get_window (widget); - state_type = gtk_widget_get_state (widget); - - if (priv->inconsistent) - shadow_type = GTK_SHADOW_ETCHED_IN; - else if (priv->active) - shadow_type = GTK_SHADOW_IN; - else - shadow_type = GTK_SHADOW_OUT; - - if (!gtk_widget_is_sensitive (widget)) - state_type = GTK_STATE_INSENSITIVE; + state_type = gtk_widget_get_state (widget); - if (priv->draw_as_radio) - { + if (priv->inconsistent) + shadow_type = GTK_SHADOW_ETCHED_IN; + else if (priv->active) + shadow_type = GTK_SHADOW_IN; + else + shadow_type = GTK_SHADOW_OUT; + + if (!gtk_widget_is_sensitive (widget)) + state_type = GTK_STATE_INSENSITIVE; + + if (priv->draw_as_radio) + { gtk_paint_option (style, cr, - state_type, shadow_type, - widget, "option", - x, y, indicator_size, indicator_size); - } - else - { + state_type, shadow_type, + widget, "option", + x, y, indicator_size, indicator_size); + } + else + { gtk_paint_check (style, cr, - state_type, shadow_type, - widget, "check", - x, y, indicator_size, indicator_size); - } - } + state_type, shadow_type, + widget, "check", + x, y, indicator_size, indicator_size); + } + } } } static void gtk_check_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkCheckMenuItem *checkitem = GTK_CHECK_MENU_ITEM (object); GtkCheckMenuItemPrivate *priv = checkitem->priv; @@ -565,9 +566,9 @@ gtk_check_menu_item_get_property (GObject *object, static void gtk_check_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkCheckMenuItem *checkitem = GTK_CHECK_MENU_ITEM (object); diff --git a/gtk/gtkimagemenuitem.c b/gtk/gtkimagemenuitem.c index 520972570c..39cdb2e847 100644 --- a/gtk/gtkimagemenuitem.c +++ b/gtk/gtkimagemenuitem.c @@ -28,6 +28,7 @@ #include "gtkimagemenuitem.h" +#include "gtkmenuitemprivate.h" #include "gtkaccellabel.h" #include "gtkstock.h" #include "gtkiconfactory.h" @@ -64,55 +65,55 @@ static GtkActivatableIface *parent_activatable_iface; static void gtk_image_menu_item_destroy (GtkWidget *widget); static void gtk_image_menu_item_get_preferred_width (GtkWidget *widget, gint *minimum, - gint *natural); + gint *natural); static void gtk_image_menu_item_get_preferred_height (GtkWidget *widget, gint *minimum, - gint *natural); + gint *natural); static void gtk_image_menu_item_get_preferred_height_for_width (GtkWidget *widget, - gint width, - gint *minimum, - gint *natural); + gint width, + gint *minimum, + gint *natural); static void gtk_image_menu_item_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_image_menu_item_map (GtkWidget *widget); static void gtk_image_menu_item_remove (GtkContainer *container, GtkWidget *child); static void gtk_image_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition); + gint *requisition); static void gtk_image_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label); + const gchar *label); static G_CONST_RETURN gchar *gtk_image_menu_item_get_label (GtkMenuItem *menu_item); static void gtk_image_menu_item_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); static void gtk_image_menu_item_finalize (GObject *object); static void gtk_image_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_image_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static void gtk_image_menu_item_screen_changed (GtkWidget *widget, - GdkScreen *previous_screen); + GdkScreen *previous_screen); static void gtk_image_menu_item_recalculate (GtkImageMenuItem *image_menu_item); static void gtk_image_menu_item_activatable_interface_init (GtkActivatableIface *iface); static void gtk_image_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name); + GtkAction *action, + const gchar *property_name); static void gtk_image_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action); + GtkAction *action); G_DEFINE_TYPE_WITH_CODE (GtkImageMenuItem, gtk_image_menu_item, GTK_TYPE_MENU_ITEM, - G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, - gtk_image_menu_item_activatable_interface_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, + gtk_image_menu_item_activatable_interface_init)) static void @@ -133,7 +134,7 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass) container_class->forall = gtk_image_menu_item_forall; container_class->remove = gtk_image_menu_item_remove; - + menu_item_class->toggle_size_request = gtk_image_menu_item_toggle_size_request; menu_item_class->set_label = gtk_image_menu_item_set_label; menu_item_class->get_label = gtk_image_menu_item_get_label; @@ -141,7 +142,7 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass) gobject_class->finalize = gtk_image_menu_item_finalize; gobject_class->set_property = gtk_image_menu_item_set_property; gobject_class->get_property = gtk_image_menu_item_get_property; - + g_object_class_install_property (gobject_class, PROP_IMAGE, g_param_spec_object ("image", @@ -156,33 +157,33 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass) * stock id to select the stock item for the item. * * Since: 2.16 - **/ + */ g_object_class_install_property (gobject_class, PROP_USE_STOCK, g_param_spec_boolean ("use-stock", - P_("Use stock"), - P_("Whether to use the label text to create a stock menu item"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + P_("Use stock"), + P_("Whether to use the label text to create a stock menu item"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * GtkImageMenuItem:always-show-image: * - * If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images + * If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images * setting and always show the image, if available. * * Use this property if the menuitem would be useless or hard to use - * without the image. + * without the image. * * Since: 2.16 - **/ + */ g_object_class_install_property (gobject_class, PROP_ALWAYS_SHOW_IMAGE, g_param_spec_boolean ("always-show-image", - P_("Always show image"), - P_("Whether the image will always be shown"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + P_("Always show image"), + P_("Whether the image will always be shown"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); /** * GtkImageMenuItem:accel-group: @@ -190,14 +191,14 @@ gtk_image_menu_item_class_init (GtkImageMenuItemClass *klass) * The Accel Group to use for stock accelerator keys * * Since: 2.16 - **/ + */ g_object_class_install_property (gobject_class, PROP_ACCEL_GROUP, g_param_spec_object ("accel-group", - P_("Accel Group"), - P_("The Accel Group to use for stock accelerator keys"), - GTK_TYPE_ACCEL_GROUP, - GTK_PARAM_WRITABLE)); + P_("Accel Group"), + P_("The Accel Group to use for stock accelerator keys"), + GTK_TYPE_ACCEL_GROUP, + GTK_PARAM_WRITABLE)); g_type_class_add_private (klass, sizeof (GtkImageMenuItemPrivate)); } @@ -217,7 +218,7 @@ gtk_image_menu_item_init (GtkImageMenuItem *image_menu_item) priv->label = NULL; } -static void +static void gtk_image_menu_item_finalize (GObject *object) { GtkImageMenuItemPrivate *priv = GTK_IMAGE_MENU_ITEM (object)->priv; @@ -235,7 +236,7 @@ gtk_image_menu_item_set_property (GObject *object, GParamSpec *pspec) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (object); - + switch (prop_id) { case PROP_IMAGE: @@ -263,14 +264,14 @@ gtk_image_menu_item_get_property (GObject *object, GParamSpec *pspec) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (object); - + switch (prop_id) { case PROP_IMAGE: g_value_set_object (value, gtk_image_menu_item_get_image (image_menu_item)); break; case PROP_USE_STOCK: - g_value_set_boolean (value, gtk_image_menu_item_get_use_stock (image_menu_item)); + g_value_set_boolean (value, gtk_image_menu_item_get_use_stock (image_menu_item)); break; case PROP_ALWAYS_SHOW_IMAGE: g_value_set_boolean (value, gtk_image_menu_item_get_always_show_image (image_menu_item)); @@ -325,7 +326,7 @@ gtk_image_menu_item_destroy (GtkWidget *widget) static void gtk_image_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition) + gint *requisition) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (menu_item); GtkImageMenuItemPrivate *priv = image_menu_item->priv; @@ -350,19 +351,19 @@ gtk_image_menu_item_toggle_size_request (GtkMenuItem *menu_item, gtk_widget_get_preferred_size (priv->image, &image_requisition, NULL); gtk_widget_style_get (GTK_WIDGET (menu_item), - "toggle-spacing", &toggle_spacing, - NULL); - + "toggle-spacing", &toggle_spacing, + NULL); + if (pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) - { - if (image_requisition.width > 0) - *requisition = image_requisition.width + toggle_spacing; - } + { + if (image_requisition.width > 0) + *requisition = image_requisition.width + toggle_spacing; + } else - { - if (image_requisition.height > 0) - *requisition = image_requisition.height + toggle_spacing; - } + { + if (image_requisition.height > 0) + *requisition = image_requisition.height + toggle_spacing; + } } } @@ -378,15 +379,15 @@ gtk_image_menu_item_recalculate (GtkImageMenuItem *image_menu_item) { if (!priv->image) - { - image = gtk_image_new_from_stock (priv->label, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (image_menu_item, image); - } + { + image = gtk_image_new_from_stock (priv->label, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (image_menu_item, image); + } if (gtk_stock_lookup (priv->label, &stock_item)) - resolved_label = stock_item.label; + resolved_label = stock_item.label; - gtk_menu_item_set_use_underline (GTK_MENU_ITEM (image_menu_item), TRUE); + gtk_menu_item_set_use_underline (GTK_MENU_ITEM (image_menu_item), TRUE); } GTK_MENU_ITEM_CLASS @@ -394,9 +395,9 @@ gtk_image_menu_item_recalculate (GtkImageMenuItem *image_menu_item) } -static void +static void gtk_image_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label) + const gchar *label) { GtkImageMenuItemPrivate *priv = GTK_IMAGE_MENU_ITEM (menu_item)->priv; @@ -422,8 +423,8 @@ gtk_image_menu_item_get_label (GtkMenuItem *menu_item) static void gtk_image_menu_item_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural) + gint *minimum, + gint *natural) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (widget); GtkImageMenuItemPrivate *priv = image_menu_item->priv; @@ -458,8 +459,8 @@ gtk_image_menu_item_get_preferred_width (GtkWidget *widget, static void gtk_image_menu_item_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural) + gint *minimum, + gint *natural) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (widget); GtkImageMenuItemPrivate *priv = image_menu_item->priv; @@ -494,9 +495,9 @@ gtk_image_menu_item_get_preferred_height (GtkWidget *widget, static void gtk_image_menu_item_get_preferred_height_for_width (GtkWidget *widget, - gint width, - gint *minimum, - gint *natural) + gint width, + gint *minimum, + gint *natural) { GtkImageMenuItem *image_menu_item = GTK_IMAGE_MENU_ITEM (widget); GtkImageMenuItemPrivate *priv = image_menu_item->priv; @@ -556,12 +557,14 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, GtkRequisition child_requisition; GtkAllocation child_allocation; guint horizontal_padding, toggle_spacing; + gint toggle_size; + toggle_size = GTK_MENU_ITEM (image_menu_item)->priv->toggle_size; gtk_widget_style_get (widget, - "horizontal-padding", &horizontal_padding, - "toggle-spacing", &toggle_spacing, - NULL); - + "horizontal-padding", &horizontal_padding, + "toggle-spacing", &toggle_spacing, + NULL); + /* Man this is lame hardcoding action, but I can't * come up with a solution that's really better. */ @@ -571,43 +574,39 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, gtk_widget_get_allocation (widget, &widget_allocation); if (pack_dir == GTK_PACK_DIRECTION_LTR || - pack_dir == GTK_PACK_DIRECTION_RTL) - { - offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)) + + pack_dir == GTK_PACK_DIRECTION_RTL) + { + offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)) + gtk_widget_get_style (widget)->xthickness; - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == - (pack_dir == GTK_PACK_DIRECTION_LTR)) - x = offset + horizontal_padding + - (GTK_MENU_ITEM (image_menu_item)->toggle_size - - toggle_spacing - child_requisition.width) / 2; - else + if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == + (pack_dir == GTK_PACK_DIRECTION_LTR)) + x = offset + horizontal_padding + + (toggle_size - toggle_spacing - child_requisition.width) / 2; + else x = widget_allocation.width - offset - horizontal_padding - - GTK_MENU_ITEM (image_menu_item)->toggle_size + toggle_spacing + - (GTK_MENU_ITEM (image_menu_item)->toggle_size - - toggle_spacing - child_requisition.width) / 2; + toggle_size + toggle_spacing + + (toggle_size - toggle_spacing - child_requisition.width) / 2; y = (widget_allocation.height - child_requisition.height) / 2; - } + } else - { - offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)) + + { + offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)) + gtk_widget_get_style (widget)->ythickness; - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == - (pack_dir == GTK_PACK_DIRECTION_TTB)) - y = offset + horizontal_padding + - (GTK_MENU_ITEM (image_menu_item)->toggle_size - - toggle_spacing - child_requisition.height) / 2; - else + if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == + (pack_dir == GTK_PACK_DIRECTION_TTB)) + y = offset + horizontal_padding + + (toggle_size - toggle_spacing - child_requisition.height) / 2; + else y = widget_allocation.height - offset - horizontal_padding - - GTK_MENU_ITEM (image_menu_item)->toggle_size + toggle_spacing + - (GTK_MENU_ITEM (image_menu_item)->toggle_size - - toggle_spacing - child_requisition.height) / 2; + toggle_size + toggle_spacing + + (toggle_size - toggle_spacing - child_requisition.height) / 2; x = (widget_allocation.width - child_requisition.width) / 2; - } - + } + child_allocation.width = child_requisition.width; child_allocation.height = child_requisition.height; child_allocation.x = widget_allocation.x + MAX (x, 0); @@ -619,7 +618,7 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, static void gtk_image_menu_item_forall (GtkContainer *container, - gboolean include_internals, + gboolean include_internals, GtkCallback callback, gpointer callback_data) { @@ -636,7 +635,7 @@ gtk_image_menu_item_forall (GtkContainer *container, } -static void +static void gtk_image_menu_item_activatable_interface_init (GtkActivatableIface *iface) { parent_activatable_iface = g_type_interface_peek_parent (iface); @@ -651,7 +650,7 @@ activatable_update_stock_id (GtkImageMenuItem *image_menu_item, GtkAction *actio const gchar *stock_id = gtk_action_get_stock_id (action); image = gtk_image_menu_item_get_image (image_menu_item); - + if (GTK_IS_IMAGE (image) && stock_id && gtk_icon_factory_lookup_default (stock_id)) { @@ -688,8 +687,8 @@ activatable_update_icon_name (GtkImageMenuItem *image_menu_item, GtkAction *acti const gchar *icon_name = gtk_action_get_icon_name (action); image = gtk_image_menu_item_get_image (image_menu_item); - - if (GTK_IS_IMAGE (image) && + + if (GTK_IS_IMAGE (image) && (gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_EMPTY || gtk_image_get_storage_type (GTK_IMAGE (image)) == GTK_IMAGE_ICON_NAME)) { @@ -699,8 +698,8 @@ activatable_update_icon_name (GtkImageMenuItem *image_menu_item, GtkAction *acti static void gtk_image_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name) + GtkAction *action, + const gchar *property_name) { GtkImageMenuItem *image_menu_item; gboolean use_appearance; @@ -721,9 +720,9 @@ gtk_image_menu_item_update (GtkActivatable *activatable, activatable_update_icon_name (image_menu_item, action); } -static void +static void gtk_image_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action) + GtkAction *action) { GtkImageMenuItem *image_menu_item; GtkWidget *image; @@ -746,15 +745,15 @@ gtk_image_menu_item_sync_action_properties (GtkActivatable *activatable, gtk_image_menu_item_set_image (image_menu_item, NULL); image = NULL; } - + if (!image) { image = gtk_image_new (); gtk_widget_show (image); gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (activatable), - image); + image); } - + if (!activatable_update_stock_id (image_menu_item, action) && !activatable_update_gicon (image_menu_item, action)) activatable_update_icon_name (image_menu_item, action); @@ -781,14 +780,14 @@ gtk_image_menu_item_new (void) * @label: the text of the menu item. * @returns: a new #GtkImageMenuItem. * - * Creates a new #GtkImageMenuItem containing a label. - **/ + * Creates a new #GtkImageMenuItem containing a label. + */ GtkWidget* gtk_image_menu_item_new_with_label (const gchar *label) { - return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, - "label", label, - NULL); + return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, + "label", label, + NULL); } @@ -801,25 +800,25 @@ gtk_image_menu_item_new_with_label (const gchar *label) * Creates a new #GtkImageMenuItem containing a label. The label * will be created using gtk_label_new_with_mnemonic(), so underscores * in @label indicate the mnemonic for the menu item. - **/ + */ GtkWidget* gtk_image_menu_item_new_with_mnemonic (const gchar *label) { - return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, - "use-underline", TRUE, - "label", label, - NULL); + return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, + "use-underline", TRUE, + "label", label, + NULL); } /** * gtk_image_menu_item_new_from_stock: * @stock_id: the name of the stock item. - * @accel_group: (allow-none): the #GtkAccelGroup to add the menu items + * @accel_group: (allow-none): the #GtkAccelGroup to add the menu items * accelerator to, or %NULL. * @returns: a new #GtkImageMenuItem. * - * Creates a new #GtkImageMenuItem containing the image and text from a - * stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK + * Creates a new #GtkImageMenuItem containing the image and text from a + * stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK * and #GTK_STOCK_APPLY. * * If you want this menu item to have changeable accelerators, then pass in @@ -827,16 +826,16 @@ gtk_image_menu_item_new_with_mnemonic (const gchar *label) * appropriate path for the menu item, use gtk_stock_lookup() to look up the * standard accelerator for the stock item, and if one is found, call * gtk_accel_map_add_entry() to register it. - **/ + */ GtkWidget* -gtk_image_menu_item_new_from_stock (const gchar *stock_id, - GtkAccelGroup *accel_group) +gtk_image_menu_item_new_from_stock (const gchar *stock_id, + GtkAccelGroup *accel_group) { - return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, - "label", stock_id, - "use-stock", TRUE, - "accel-group", accel_group, - NULL); + return g_object_new (GTK_TYPE_IMAGE_MENU_ITEM, + "label", stock_id, + "use-stock", TRUE, + "accel-group", accel_group, + NULL); } /** @@ -851,7 +850,7 @@ gtk_image_menu_item_new_from_stock (const gchar *stock_id, */ void gtk_image_menu_item_set_use_stock (GtkImageMenuItem *image_menu_item, - gboolean use_stock) + gboolean use_stock) { GtkImageMenuItemPrivate *priv; @@ -894,12 +893,12 @@ gtk_image_menu_item_get_use_stock (GtkImageMenuItem *image_menu_item) * @image_menu_item: a #GtkImageMenuItem * @always_show: %TRUE if the menuitem should always show the image * - * If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images + * If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images * setting and always show the image, if available. * * Use this property if the menuitem would be useless or hard to use - * without the image. - * + * without the image. + * * Since: 2.16 */ void @@ -934,7 +933,7 @@ gtk_image_menu_item_set_always_show_image (GtkImageMenuItem *image_menu_item, * * Returns whether the menu item will ignore the #GtkSettings:gtk-menu-images * setting and always show the image, if available. - * + * * Returns: %TRUE if the menu item will always show the image * * Since: 2.16 @@ -964,16 +963,16 @@ gtk_image_menu_item_get_always_show_image (GtkImageMenuItem *image_menu_item) * Since: 2.16 */ void -gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item, - GtkAccelGroup *accel_group) +gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item, + GtkAccelGroup *accel_group) { GtkImageMenuItemPrivate *priv; GtkStockItem stock_item; /* Silent return for the constructor */ - if (!accel_group) + if (!accel_group) return; - + g_return_if_fail (GTK_IS_IMAGE_MENU_ITEM (image_menu_item)); g_return_if_fail (GTK_IS_ACCEL_GROUP (accel_group)); @@ -982,18 +981,18 @@ gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item, if (priv->use_stock && priv->label && gtk_stock_lookup (priv->label, &stock_item)) if (stock_item.keyval) { - gtk_widget_add_accelerator (GTK_WIDGET (image_menu_item), - "activate", - accel_group, - stock_item.keyval, - stock_item.modifier, - GTK_ACCEL_VISIBLE); - - g_object_notify (G_OBJECT (image_menu_item), "accel-group"); + gtk_widget_add_accelerator (GTK_WIDGET (image_menu_item), + "activate", + accel_group, + stock_item.keyval, + stock_item.modifier, + GTK_ACCEL_VISIBLE); + + g_object_notify (G_OBJECT (image_menu_item), "accel-group"); } } -/** +/** * gtk_image_menu_item_set_image: * @image_menu_item: a #GtkImageMenuItem. * @image: (allow-none): a widget to set as the image for the menu item. @@ -1001,7 +1000,7 @@ gtk_image_menu_item_set_accel_group (GtkImageMenuItem *image_menu_item, * Sets the image of @image_menu_item to the given widget. * Note that it depends on the show-menu-images setting whether * the image will be displayed or not. - **/ + */ void gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item, GtkWidget *image) @@ -1026,9 +1025,9 @@ gtk_image_menu_item_set_image (GtkImageMenuItem *image_menu_item, gtk_widget_set_parent (image, GTK_WIDGET (image_menu_item)); g_object_set (image, - "visible", show_image (image_menu_item), - "no-show-all", TRUE, - NULL); + "visible", show_image (image_menu_item), + "no-show-all", TRUE, + NULL); g_object_notify (G_OBJECT (image_menu_item), "image"); } @@ -1060,9 +1059,9 @@ gtk_image_menu_item_remove (GtkContainer *container, if (child == priv->image) { gboolean widget_was_visible; - + widget_was_visible = gtk_widget_get_visible (child); - + gtk_widget_unparent (child); priv->image = NULL; @@ -1078,7 +1077,7 @@ gtk_image_menu_item_remove (GtkContainer *container, } } -static void +static void show_image_change_notify (GtkImageMenuItem *image_menu_item) { GtkImageMenuItemPrivate *priv = image_menu_item->priv; @@ -1086,15 +1085,15 @@ show_image_change_notify (GtkImageMenuItem *image_menu_item) if (priv->image) { if (show_image (image_menu_item)) - gtk_widget_show (priv->image); + gtk_widget_show (priv->image); else - gtk_widget_hide (priv->image); + gtk_widget_hide (priv->image); } } static void traverse_container (GtkWidget *widget, - gpointer data) + gpointer data) { if (GTK_IS_IMAGE_MENU_ITEM (widget)) show_image_change_notify (GTK_IMAGE_MENU_ITEM (widget)); @@ -1110,15 +1109,15 @@ gtk_image_menu_item_setting_changed (GtkSettings *settings) list = gtk_window_list_toplevels (); for (l = list; l; l = l->next) - gtk_container_forall (GTK_CONTAINER (l->data), - traverse_container, NULL); + gtk_container_forall (GTK_CONTAINER (l->data), + traverse_container, NULL); - g_list_free (list); + g_list_free (list); } static void gtk_image_menu_item_screen_changed (GtkWidget *widget, - GdkScreen *previous_screen) + GdkScreen *previous_screen) { GtkSettings *settings; gulong show_image_connection; @@ -1127,11 +1126,11 @@ gtk_image_menu_item_screen_changed (GtkWidget *widget, return; settings = gtk_widget_get_settings (widget); - - show_image_connection = + + show_image_connection = g_signal_handler_find (settings, G_SIGNAL_MATCH_FUNC, 0, 0, NULL, gtk_image_menu_item_setting_changed, NULL); - + if (show_image_connection) return; diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 0e5b6121de..67f3083d46 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -35,6 +35,7 @@ #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkmenuprivate.h" +#include "gtkmenuitemprivate.h" #include "gtkmenushellprivate.h" #include "gtktearoffmenuitem.h" #include "gtkwindow.h" @@ -3032,13 +3033,13 @@ gtk_menu_get_preferred_width (GtkWidget *widget, * case the toggle size request depends on the size * request of a child of the child (e.g. for ImageMenuItem) */ - GTK_MENU_ITEM (child)->show_submenu_indicator = TRUE; + GTK_MENU_ITEM (child)->priv->show_submenu_indicator = TRUE; gtk_widget_get_preferred_width (child, &child_min, &child_nat); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); max_toggle_size = MAX (max_toggle_size, toggle_size); max_accel_width = MAX (max_accel_width, - GTK_MENU_ITEM (child)->accelerator_width); + GTK_MENU_ITEM (child)->priv->accelerator_width); part = child_min / (r - l); min_width = MAX (min_width, part); @@ -3325,7 +3326,7 @@ get_accel_path (GtkWidget *menu_item, path = _gtk_widget_get_accel_path (menu_item, locked); if (!path) { - path = GTK_MENU_ITEM (menu_item)->accel_path; + path = GTK_MENU_ITEM (menu_item)->priv->accel_path; if (locked) { @@ -3437,7 +3438,7 @@ gtk_menu_key_press (GtkWidget *widget, if (can_change_accels && menu_shell->priv->active_menu_item && gtk_bin_get_child (GTK_BIN (menu_shell->priv->active_menu_item)) && /* no separators */ - GTK_MENU_ITEM (menu_shell->priv->active_menu_item)->submenu == NULL && /* no submenus */ + GTK_MENU_ITEM (menu_shell->priv->active_menu_item)->priv->submenu == NULL && /* no submenus */ (delete || gtk_accelerator_valid (accel_key, accel_mods))) { GtkWidget *menu_item = menu_shell->priv->active_menu_item; @@ -3505,7 +3506,7 @@ definitely_within_item (GtkWidget *widget, gint x, gint y) { - GdkWindow *window = GTK_MENU_ITEM (widget)->event_window; + GdkWindow *window = GTK_MENU_ITEM (widget)->priv->event_window; int w, h; w = gdk_window_get_width (window); @@ -4250,10 +4251,10 @@ gtk_menu_leave_notify (GtkWidget *widget, * with a submenu, in which case we enter submenu navigation mode. */ if (menu_shell->priv->active_menu_item != NULL - && menu_item->submenu != NULL - && menu_item->submenu_placement == GTK_LEFT_RIGHT) + && menu_item->priv->submenu != NULL + && menu_item->priv->submenu_placement == GTK_LEFT_RIGHT) { - if (GTK_MENU_SHELL (menu_item->submenu)->priv->active) + if (GTK_MENU_SHELL (menu_item->priv->submenu)->priv->active) { gtk_menu_set_submenu_navigation_region (menu, menu_item, event); return TRUE; @@ -4389,12 +4390,12 @@ gtk_menu_set_submenu_navigation_region (GtkMenu *menu, GtkMenuPopdownData *popdown_data; GdkWindow *window; - g_return_if_fail (menu_item->submenu != NULL); + g_return_if_fail (menu_item->priv->submenu != NULL); g_return_if_fail (event != NULL); event_widget = gtk_get_event_widget ((GdkEvent*) event); - window = gtk_widget_get_window (menu_item->submenu); + window = gtk_widget_get_window (menu_item->priv->submenu); gdk_window_get_origin (window, &submenu_left, &submenu_top); submenu_right = submenu_left + gdk_window_get_width (window); @@ -4413,7 +4414,7 @@ gtk_menu_set_submenu_navigation_region (GtkMenu *menu, * location of the rectangle. This is why the width or height * can be negative. */ - if (menu_item->submenu_direction == GTK_DIRECTION_RIGHT) + if (menu_item->priv->submenu_direction == GTK_DIRECTION_RIGHT) { /* right */ priv->navigation_x = submenu_left; @@ -5359,7 +5360,7 @@ gtk_menu_move_current (GtkMenuShell *menu_shell, { GtkWidget *parent = menu_shell->priv->parent_menu_shell; - if (! GTK_MENU_ITEM (menu_shell->priv->active_menu_item)->submenu && + if (! GTK_MENU_ITEM (menu_shell->priv->active_menu_item)->priv->submenu && (!parent || g_list_length (GTK_MENU_SHELL (parent)->priv->children) <= 1)) match = menu_shell->priv->active_menu_item; diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index b7c3636e0c..ed42ec195e 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -32,7 +32,7 @@ #include "gtkbindings.h" #include "gtkmain.h" #include "gtkmarshalers.h" -#include "gtkmenuitem.h" +#include "gtkmenuitemprivate.h" #include "gtkmenuprivate.h" #include "gtkmenushellprivate.h" #include "gtksettings.h" @@ -313,7 +313,7 @@ gtk_menu_bar_size_request (GtkWidget *widget, { gint toggle_size; - GTK_MENU_ITEM (child)->show_submenu_indicator = FALSE; + GTK_MENU_ITEM (child)->priv->show_submenu_indicator = FALSE; gtk_widget_get_preferred_size (child, &child_requisition, NULL); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); @@ -476,10 +476,11 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, child_requisition.width += toggle_size; else child_requisition.height += toggle_size; - + /* Support for the right justified help menu */ - if ((children == NULL) && (GTK_IS_MENU_ITEM(child)) - && (GTK_MENU_ITEM(child)->right_justify)) + if (children == NULL && + GTK_IS_MENU_ITEM (child) && + GTK_MENU_ITEM (child)->priv->right_justify) { ltr_x = allocation->width - child_requisition.width - offset; @@ -526,11 +527,12 @@ gtk_menu_bar_size_allocate (GtkWidget *widget, child_requisition.width += toggle_size; else child_requisition.height += toggle_size; - - /* Support for the right justified help menu */ - if ((children == NULL) && (GTK_IS_MENU_ITEM(child)) - && (GTK_MENU_ITEM(child)->right_justify)) - { + + /* Support for the right justified help menu */ + if (children == NULL && + GTK_IS_MENU_ITEM (child) && + GTK_MENU_ITEM (child)->priv->right_justify) + { ltr_y = allocation->height - child_requisition.height - offset; } diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 826200e4da..b087ebee13 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -32,6 +32,7 @@ #include "gtkmarshalers.h" #include "gtkmenuprivate.h" #include "gtkmenushellprivate.h" +#include "gtkmenuitemprivate.h" #include "gtkmenubar.h" #include "gtkmenuprivate.h" #include "gtkseparatormenuitem.h" @@ -41,11 +42,6 @@ #include "gtkintl.h" -typedef struct { - GtkAction *action; - gboolean use_action_appearance; -} GtkMenuItemPrivate; - enum { ACTIVATE, ACTIVATE_ITEM, @@ -72,16 +68,16 @@ enum { static void gtk_menu_item_dispose (GObject *object); static void gtk_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static void gtk_menu_item_destroy (GtkWidget *widget); static void gtk_menu_item_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static void gtk_menu_item_realize (GtkWidget *widget); static void gtk_menu_item_unrealize (GtkWidget *widget); static void gtk_menu_item_map (GtkWidget *widget); @@ -93,7 +89,7 @@ static gboolean gtk_menu_item_leave (GtkWidget *widget, static gboolean gtk_menu_item_draw (GtkWidget *widget, cairo_t *cr); static void gtk_menu_item_parent_set (GtkWidget *widget, - GtkWidget *previous_parent); + GtkWidget *previous_parent); static void gtk_real_menu_item_select (GtkMenuItem *item); @@ -101,29 +97,29 @@ static void gtk_real_menu_item_deselect (GtkMenuItem *item); static void gtk_real_menu_item_activate (GtkMenuItem *item); static void gtk_real_menu_item_activate_item (GtkMenuItem *item); static void gtk_real_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition); + gint *requisition); static void gtk_real_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, - gint allocation); + gint allocation); static gboolean gtk_menu_item_mnemonic_activate (GtkWidget *widget, - gboolean group_cycling); + gboolean group_cycling); static void gtk_menu_item_ensure_label (GtkMenuItem *menu_item); static gint gtk_menu_item_popup_timeout (gpointer data); static void gtk_menu_item_position_menu (GtkMenu *menu, - gint *x, - gint *y, - gboolean *push_in, - gpointer user_data); + gint *x, + gint *y, + gboolean *push_in, + gpointer user_data); static void gtk_menu_item_show_all (GtkWidget *widget); static void gtk_menu_item_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); static gboolean gtk_menu_item_can_activate_accel (GtkWidget *widget, - guint signal_id); + guint signal_id); static void gtk_real_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label); + const gchar *label); static G_CONST_RETURN gchar * gtk_real_menu_item_get_label (GtkMenuItem *menu_item); static void gtk_menu_item_get_preferred_width (GtkWidget *widget, @@ -139,25 +135,25 @@ static void gtk_menu_item_get_preferred_height_for_width (GtkWidget *w static void gtk_menu_item_buildable_interface_init (GtkBuildableIface *iface); static void gtk_menu_item_buildable_add_child (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *type); + GtkBuilder *builder, + GObject *child, + const gchar *type); static void gtk_menu_item_buildable_custom_finished(GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer user_data); + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data); static void gtk_menu_item_activatable_interface_init (GtkActivatableIface *iface); static void gtk_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name); + GtkAction *action, + const gchar *property_name); static void gtk_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action); + GtkAction *action); static void gtk_menu_item_set_related_action (GtkMenuItem *menu_item, - GtkAction *action); + GtkAction *action); static void gtk_menu_item_set_use_action_appearance (GtkMenuItem *menu_item, - gboolean use_appearance); + gboolean use_appearance); static guint menu_item_signals[LAST_SIGNAL] = { 0 }; @@ -165,10 +161,10 @@ static guint menu_item_signals[LAST_SIGNAL] = { 0 }; static GtkBuildableIface *parent_buildable_iface; G_DEFINE_TYPE_WITH_CODE (GtkMenuItem, gtk_menu_item, GTK_TYPE_BIN, - G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_menu_item_buildable_interface_init) - G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, - gtk_menu_item_activatable_interface_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_menu_item_buildable_interface_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, + gtk_menu_item_activatable_interface_init)) #define GET_PRIVATE(object) \ (G_TYPE_INSTANCE_GET_PRIVATE ((object), GTK_TYPE_MENU_ITEM, GtkMenuItemPrivate)) @@ -180,7 +176,7 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass); - gobject_class->dispose = gtk_menu_item_dispose; + gobject_class->dispose = gtk_menu_item_dispose; gobject_class->set_property = gtk_menu_item_set_property; gobject_class->get_property = gtk_menu_item_get_property; @@ -200,58 +196,58 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) widget_class->get_preferred_width = gtk_menu_item_get_preferred_width; widget_class->get_preferred_height = gtk_menu_item_get_preferred_height; widget_class->get_preferred_height_for_width = gtk_menu_item_get_preferred_height_for_width; - + container_class->forall = gtk_menu_item_forall; - klass->activate = gtk_real_menu_item_activate; - klass->activate_item = gtk_real_menu_item_activate_item; - klass->toggle_size_request = gtk_real_menu_item_toggle_size_request; + klass->activate = gtk_real_menu_item_activate; + klass->activate_item = gtk_real_menu_item_activate_item; + klass->toggle_size_request = gtk_real_menu_item_toggle_size_request; klass->toggle_size_allocate = gtk_real_menu_item_toggle_size_allocate; - klass->set_label = gtk_real_menu_item_set_label; - klass->get_label = gtk_real_menu_item_get_label; - klass->select = gtk_real_menu_item_select; - klass->deselect = gtk_real_menu_item_deselect; + klass->set_label = gtk_real_menu_item_set_label; + klass->get_label = gtk_real_menu_item_get_label; + klass->select = gtk_real_menu_item_select; + klass->deselect = gtk_real_menu_item_deselect; klass->hide_on_activate = TRUE; menu_item_signals[ACTIVATE] = g_signal_new (I_("activate"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GtkMenuItemClass, activate), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkMenuItemClass, activate), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); widget_class->activate_signal = menu_item_signals[ACTIVATE]; menu_item_signals[ACTIVATE_ITEM] = g_signal_new (I_("activate-item"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkMenuItemClass, activate_item), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkMenuItemClass, activate_item), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); menu_item_signals[TOGGLE_SIZE_REQUEST] = g_signal_new (I_("toggle-size-request"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkMenuItemClass, toggle_size_request), - NULL, NULL, - _gtk_marshal_VOID__POINTER, - G_TYPE_NONE, 1, - G_TYPE_POINTER); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkMenuItemClass, toggle_size_request), + NULL, NULL, + _gtk_marshal_VOID__POINTER, + G_TYPE_NONE, 1, + G_TYPE_POINTER); menu_item_signals[TOGGLE_SIZE_ALLOCATE] = g_signal_new (I_("toggle-size-allocate"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkMenuItemClass, toggle_size_allocate), - NULL, NULL, - _gtk_marshal_VOID__INT, - G_TYPE_NONE, 1, - G_TYPE_INT); + G_OBJECT_CLASS_TYPE (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkMenuItemClass, toggle_size_allocate), + NULL, NULL, + _gtk_marshal_VOID__INT, + G_TYPE_NONE, 1, + G_TYPE_INT); menu_item_signals[SELECT] = g_signal_new (I_("select"), @@ -274,10 +270,11 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) /** * GtkMenuItem:right-justified: * - * Sets whether the menu item appears justified at the right side of a menu bar. + * Sets whether the menu item appears justified + * at the right side of a menu bar. * * Since: 2.14 - **/ + */ g_object_class_install_property (gobject_class, PROP_RIGHT_JUSTIFIED, g_param_spec_boolean ("right-justified", @@ -289,10 +286,10 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) /** * GtkMenuItem:submenu: * - * The submenu attached to the menu item, or NULL if it has none. + * The submenu attached to the menu item, or %NULL if it has none. * * Since: 2.12 - **/ + */ g_object_class_install_property (gobject_class, PROP_SUBMENU, g_param_spec_object ("submenu", @@ -300,7 +297,6 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) P_("The submenu attached to the menu item, or NULL if it has none"), GTK_TYPE_MENU, GTK_PARAM_READWRITE)); - /** * GtkMenuItem:accel-path: @@ -310,7 +306,7 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) * identified and saved to persistant storage. * * Since: 2.14 - **/ + */ g_object_class_install_property (gobject_class, PROP_ACCEL_PATH, g_param_spec_string ("accel-path", @@ -325,70 +321,70 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) * The text for the child label. * * Since: 2.16 - **/ + */ g_object_class_install_property (gobject_class, PROP_LABEL, g_param_spec_string ("label", - P_("Label"), - P_("The text for the child label"), - "", - GTK_PARAM_READWRITE)); + P_("Label"), + P_("The text for the child label"), + "", + GTK_PARAM_READWRITE)); /** * GtkMenuItem:use-underline: * - * %TRUE if underlines in the text indicate mnemonics + * %TRUE if underlines in the text indicate mnemonics. * * Since: 2.16 - **/ + */ g_object_class_install_property (gobject_class, PROP_USE_UNDERLINE, g_param_spec_boolean ("use-underline", - P_("Use underline"), - P_("If set, an underline in the text indicates " - "the next character should be used for the " - "mnemonic accelerator key"), - FALSE, - GTK_PARAM_READWRITE)); + P_("Use underline"), + P_("If set, an underline in the text indicates " + "the next character should be used for the " + "mnemonic accelerator key"), + FALSE, + GTK_PARAM_READWRITE)); g_object_class_override_property (gobject_class, PROP_ACTIVATABLE_RELATED_ACTION, "related-action"); g_object_class_override_property (gobject_class, PROP_ACTIVATABLE_USE_ACTION_APPEARANCE, "use-action-appearance"); gtk_widget_class_install_style_property_parser (widget_class, - g_param_spec_enum ("selected-shadow-type", - "Selected Shadow Type", - "Shadow type when item is selected", - GTK_TYPE_SHADOW_TYPE, - GTK_SHADOW_NONE, - GTK_PARAM_READABLE), - gtk_rc_property_parse_enum); + g_param_spec_enum ("selected-shadow-type", + "Selected Shadow Type", + "Shadow type when item is selected", + GTK_TYPE_SHADOW_TYPE, + GTK_SHADOW_NONE, + GTK_PARAM_READABLE), + gtk_rc_property_parse_enum); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("horizontal-padding", - "Horizontal Padding", - "Padding to left and right of the menu item", - 0, - G_MAXINT, - 3, - GTK_PARAM_READABLE)); + g_param_spec_int ("horizontal-padding", + "Horizontal Padding", + "Padding to left and right of the menu item", + 0, + G_MAXINT, + 3, + GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("toggle-spacing", - "Icon Spacing", - "Space between icon and label", - 0, - G_MAXINT, - 5, - GTK_PARAM_READABLE)); + g_param_spec_int ("toggle-spacing", + "Icon Spacing", + "Space between icon and label", + 0, + G_MAXINT, + 5, + GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("arrow-spacing", - "Arrow Spacing", - "Space between label and arrow", - 0, - G_MAXINT, - 10, - GTK_PARAM_READABLE)); + g_param_spec_int ("arrow-spacing", + "Arrow Spacing", + "Space between label and arrow", + 0, + G_MAXINT, + 10, + GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, g_param_spec_float ("arrow-scaling", @@ -403,7 +399,7 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) * The minimum desired width of the menu item in characters. * * Since: 2.14 - **/ + */ gtk_widget_class_install_style_property (widget_class, g_param_spec_int ("width-chars", P_("Width in Characters"), @@ -417,25 +413,28 @@ gtk_menu_item_class_init (GtkMenuItemClass *klass) static void gtk_menu_item_init (GtkMenuItem *menu_item) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv; + + priv = G_TYPE_INSTANCE_GET_PRIVATE (menu_item, + GTK_TYPE_MENU_ITEM, + GtkMenuItemPrivate); + menu_item->priv = priv; gtk_widget_set_has_window (GTK_WIDGET (menu_item), FALSE); - priv->action = NULL; - priv->use_action_appearance = TRUE; - - menu_item->submenu = NULL; - menu_item->toggle_size = 0; - menu_item->accelerator_width = 0; - menu_item->show_submenu_indicator = FALSE; + priv->submenu = NULL; + priv->toggle_size = 0; + priv->accelerator_width = 0; + priv->show_submenu_indicator = FALSE; if (gtk_widget_get_direction (GTK_WIDGET (menu_item)) == GTK_TEXT_DIR_RTL) - menu_item->submenu_direction = GTK_DIRECTION_LEFT; + priv->submenu_direction = GTK_DIRECTION_LEFT; else - menu_item->submenu_direction = GTK_DIRECTION_RIGHT; - menu_item->submenu_placement = GTK_TOP_BOTTOM; - menu_item->right_justify = FALSE; - - menu_item->timer = 0; + priv->submenu_direction = GTK_DIRECTION_RIGHT; + priv->submenu_placement = GTK_TOP_BOTTOM; + priv->right_justify = FALSE; + priv->use_action_appearance = TRUE; + priv->timer = 0; + priv->action = NULL; } GtkWidget* @@ -447,55 +446,56 @@ gtk_menu_item_new (void) GtkWidget* gtk_menu_item_new_with_label (const gchar *label) { - return g_object_new (GTK_TYPE_MENU_ITEM, - "label", label, - NULL); + return g_object_new (GTK_TYPE_MENU_ITEM, + "label", label, + NULL); } /** * gtk_menu_item_new_with_mnemonic: * @label: The text of the button, with an underscore in front of the - * mnemonic character - * @returns: a new #GtkMenuItem + * mnemonic character * - * Creates a new #GtkMenuItem containing a label. The label - * will be created using gtk_label_new_with_mnemonic(), so underscores - * in @label indicate the mnemonic for the menu item. - **/ + * Creates a new #GtkMenuItem containing a label. + * + * The label will be created using gtk_label_new_with_mnemonic(), + * so underscores in @label indicate the mnemonic for the menu item. + * + * Returns: a new #GtkMenuItem + */ GtkWidget* gtk_menu_item_new_with_mnemonic (const gchar *label) { - return g_object_new (GTK_TYPE_MENU_ITEM, - "use-underline", TRUE, - "label", label, - NULL); + return g_object_new (GTK_TYPE_MENU_ITEM, + "use-underline", TRUE, + "label", label, + NULL); } static void gtk_menu_item_dispose (GObject *object) { GtkMenuItem *menu_item = GTK_MENU_ITEM (object); - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; if (priv->action) { gtk_action_disconnect_accelerator (priv->action); gtk_activatable_do_set_related_action (GTK_ACTIVATABLE (menu_item), NULL); - priv->action = NULL; } G_OBJECT_CLASS (gtk_menu_item_parent_class)->dispose (object); } -static void +static void gtk_menu_item_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkMenuItem *menu_item = GTK_MENU_ITEM (object); - + switch (prop_id) { case PROP_RIGHT_JUSTIFIED: @@ -525,15 +525,15 @@ gtk_menu_item_set_property (GObject *object, } } -static void +static void gtk_menu_item_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkMenuItem *menu_item = GTK_MENU_ITEM (object); - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); - + GtkMenuItemPrivate *priv = menu_item->priv; + switch (prop_id) { case PROP_RIGHT_JUSTIFIED: @@ -567,56 +567,58 @@ static void gtk_menu_item_destroy (GtkWidget *widget) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; - if (menu_item->submenu) - gtk_widget_destroy (menu_item->submenu); + if (priv->submenu) + gtk_widget_destroy (priv->submenu); GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->destroy (widget); } static void gtk_menu_item_detacher (GtkWidget *widget, - GtkMenu *menu) + GtkMenu *menu) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; - g_return_if_fail (menu_item->submenu == (GtkWidget*) menu); + g_return_if_fail (priv->submenu == (GtkWidget*) menu); - menu_item->submenu = NULL; + priv->submenu = NULL; } static void get_arrow_size (GtkWidget *widget, - GtkWidget *child, - gint *size) + GtkWidget *child, + gint *size) { PangoContext *context; PangoFontMetrics *metrics; gfloat arrow_scaling; - + g_assert (size); gtk_widget_style_get (widget, - "arrow-scaling", &arrow_scaling, - NULL); - + "arrow-scaling", &arrow_scaling, + NULL); + context = gtk_widget_get_pango_context (child); - metrics = pango_context_get_metrics (context, + metrics = pango_context_get_metrics (context, gtk_widget_get_style (child)->font_desc, - pango_context_get_language (context)); - + pango_context_get_language (context)); + *size = (PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + - pango_font_metrics_get_descent (metrics))); - + pango_font_metrics_get_descent (metrics))); + pango_font_metrics_unref (metrics); - + *size = *size * arrow_scaling; } static void gtk_menu_item_accel_width_foreach (GtkWidget *widget, - gpointer data) + gpointer data) { guint *width = data; @@ -629,8 +631,8 @@ gtk_menu_item_accel_width_foreach (GtkWidget *widget, } else if (GTK_IS_CONTAINER (widget)) gtk_container_foreach (GTK_CONTAINER (widget), - gtk_menu_item_accel_width_foreach, - data); + gtk_menu_item_accel_width_foreach, + data); } static gint @@ -644,7 +646,7 @@ get_minimum_width (GtkWidget *widget) context = gtk_widget_get_pango_context (widget); metrics = pango_context_get_metrics (context, gtk_widget_get_style (widget)->font_desc, - pango_context_get_language (context)); + pango_context_get_language (context)); width = pango_font_metrics_get_approximate_char_width (metrics); @@ -655,14 +657,15 @@ get_minimum_width (GtkWidget *widget) return PANGO_PIXELS (width_chars * width); } -static void -gtk_menu_item_get_preferred_width (GtkWidget *request, +static void +gtk_menu_item_get_preferred_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - GtkMenuItem *menu_item; + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; GtkBin *bin; - GtkWidget *child, *widget = GTK_WIDGET (request); + GtkWidget *child; GtkWidget *parent; guint accel_width; guint horizontal_padding; @@ -674,11 +677,10 @@ gtk_menu_item_get_preferred_width (GtkWidget *request, min_width = nat_width = 0; gtk_widget_style_get (widget, - "horizontal-padding", &horizontal_padding, - NULL); - + "horizontal-padding", &horizontal_padding, + NULL); + bin = GTK_BIN (widget); - menu_item = GTK_MENU_ITEM (widget); parent = gtk_widget_get_parent (widget); if (GTK_IS_MENU_BAR (parent)) @@ -693,7 +695,6 @@ gtk_menu_item_get_preferred_width (GtkWidget *request, } border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - min_width = (border_width + gtk_widget_get_style (widget)->xthickness) * 2; if ((pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) && @@ -710,37 +711,33 @@ gtk_menu_item_get_preferred_width (GtkWidget *request, gtk_widget_get_preferred_width (child, &child_min, &child_nat); - if (menu_item->submenu && menu_item->show_submenu_indicator) - { - guint arrow_spacing; - gint arrow_size; - - gtk_widget_style_get (widget, - "arrow-spacing", &arrow_spacing, - NULL); + if (priv->submenu && priv->show_submenu_indicator) + { + guint arrow_spacing; + gint arrow_size; - get_arrow_size (widget, child, &arrow_size); + gtk_widget_style_get (widget, + "arrow-spacing", &arrow_spacing, + NULL); - min_width += arrow_size; - min_width += arrow_spacing; + get_arrow_size (widget, child, &arrow_size); - min_width = MAX (min_width, get_minimum_width (widget)); - - nat_width = min_width; - } + min_width += arrow_size; + min_width += arrow_spacing; + min_width = MAX (min_width, get_minimum_width (widget)); + nat_width = min_width; + } min_width += child_min; nat_width += child_nat; - - } accel_width = 0; gtk_container_foreach (GTK_CONTAINER (menu_item), - gtk_menu_item_accel_width_foreach, - &accel_width); - menu_item->accelerator_width = accel_width; + gtk_menu_item_accel_width_foreach, + &accel_width); + priv->accelerator_width = accel_width; if (minimum_size) *minimum_size = min_width; @@ -749,15 +746,16 @@ gtk_menu_item_get_preferred_width (GtkWidget *request, *natural_size = nat_width; } -static void -gtk_menu_item_get_preferred_height (GtkWidget *request, +static void +gtk_menu_item_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - GtkMenuItem *menu_item; + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; GtkBin *bin; GtkStyle *style; - GtkWidget *child, *widget = GTK_WIDGET (request); + GtkWidget *child; GtkWidget *parent; guint accel_width; guint horizontal_padding; @@ -771,11 +769,10 @@ gtk_menu_item_get_preferred_height (GtkWidget *request, style = gtk_widget_get_style (widget); gtk_widget_style_get (widget, - "horizontal-padding", &horizontal_padding, - NULL); - + "horizontal-padding", &horizontal_padding, + NULL); + bin = GTK_BIN (widget); - menu_item = GTK_MENU_ITEM (widget); parent = gtk_widget_get_parent (widget); if (GTK_IS_MENU_BAR (parent)) @@ -803,21 +800,21 @@ gtk_menu_item_get_preferred_height (GtkWidget *request, if (child != NULL && gtk_widget_get_visible (child)) { gint child_min, child_nat; - + gtk_widget_get_preferred_height (child, &child_min, &child_nat); min_height += child_min; nat_height += child_nat; - if (menu_item->submenu && menu_item->show_submenu_indicator) - { - gint arrow_size; + if (priv->submenu && priv->show_submenu_indicator) + { + gint arrow_size; - get_arrow_size (widget, child, &arrow_size); + get_arrow_size (widget, child, &arrow_size); - min_height = MAX (min_height, arrow_size); - nat_height = MAX (nat_height, arrow_size); - } + min_height = MAX (min_height, arrow_size); + nat_height = MAX (nat_height, arrow_size); + } } else /* separator item */ { @@ -839,9 +836,9 @@ gtk_menu_item_get_preferred_height (GtkWidget *request, accel_width = 0; gtk_container_foreach (GTK_CONTAINER (menu_item), - gtk_menu_item_accel_width_foreach, - &accel_width); - menu_item->accelerator_width = accel_width; + gtk_menu_item_accel_width_foreach, + &accel_width); + priv->accelerator_width = accel_width; if (minimum_size) *minimum_size = min_height; @@ -851,15 +848,16 @@ gtk_menu_item_get_preferred_height (GtkWidget *request, } static void -gtk_menu_item_get_preferred_height_for_width (GtkWidget *request, +gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, gint for_size, gint *minimum_size, gint *natural_size) { - GtkMenuItem *menu_item; + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; GtkBin *bin; GtkStyle *style; - GtkWidget *child, *widget = GTK_WIDGET (request); + GtkWidget *child; GtkWidget *parent; guint horizontal_padding; guint border_width; @@ -873,11 +871,10 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *request, style = gtk_widget_get_style (widget); gtk_widget_style_get (widget, - "horizontal-padding", &horizontal_padding, - NULL); - + "horizontal-padding", &horizontal_padding, + NULL); + bin = GTK_BIN (widget); - menu_item = GTK_MENU_ITEM (widget); parent = gtk_widget_get_parent (widget); if (GTK_IS_MENU_BAR (parent)) @@ -913,21 +910,20 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *request, { gint child_min, child_nat; gint arrow_size = 0; - - if (menu_item->submenu && menu_item->show_submenu_indicator) - { - guint arrow_spacing; - - gtk_widget_style_get (widget, - "arrow-spacing", &arrow_spacing, - NULL); + if (priv->submenu && priv->show_submenu_indicator) + { + guint arrow_spacing; - get_arrow_size (widget, child, &arrow_size); + gtk_widget_style_get (widget, + "arrow-spacing", &arrow_spacing, + NULL); - avail_size -= arrow_size; - avail_size -= arrow_spacing; - } + get_arrow_size (widget, child, &arrow_size); + + avail_size -= arrow_size; + avail_size -= arrow_spacing; + } gtk_widget_get_preferred_height_for_width (child, avail_size, @@ -937,11 +933,11 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *request, min_height += child_min; nat_height += child_nat; - if (menu_item->submenu && menu_item->show_submenu_indicator) - { - min_height = MAX (min_height, arrow_size); - nat_height = MAX (nat_height, arrow_size); - } + if (priv->submenu && priv->show_submenu_indicator) + { + min_height = MAX (min_height, arrow_size); + nat_height = MAX (nat_height, arrow_size); + } } else /* separator item */ { @@ -978,24 +974,24 @@ gtk_menu_item_buildable_interface_init (GtkBuildableIface *iface) static void gtk_menu_item_buildable_add_child (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *type) + GtkBuilder *builder, + GObject *child, + const gchar *type) { if (type && strcmp (type, "submenu") == 0) - gtk_menu_item_set_submenu (GTK_MENU_ITEM (buildable), - GTK_WIDGET (child)); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (buildable), + GTK_WIDGET (child)); else parent_buildable_iface->add_child (buildable, builder, child, type); } -static void -gtk_menu_item_buildable_custom_finished (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer user_data) +static void +gtk_menu_item_buildable_custom_finished (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data) { GtkWidget *toplevel; @@ -1006,21 +1002,21 @@ gtk_menu_item_buildable_custom_finished (GtkBuildable *buildable, menu_shell = GTK_MENU_SHELL (gtk_widget_get_parent (GTK_WIDGET (buildable))); if (menu_shell) - { - while (GTK_IS_MENU (menu_shell) && - (attach = gtk_menu_get_attach_widget (GTK_MENU (menu_shell))) != NULL) - menu_shell = GTK_MENU_SHELL (gtk_widget_get_parent (attach)); - - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (menu_shell)); - } - else - { - /* Fall back to something ... */ - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (buildable)); + { + while (GTK_IS_MENU (menu_shell) && + (attach = gtk_menu_get_attach_widget (GTK_MENU (menu_shell))) != NULL) + menu_shell = GTK_MENU_SHELL (gtk_widget_get_parent (attach)); - g_warning ("found a GtkMenuItem '%s' without a parent GtkMenuShell, assigned accelerators wont work.", - gtk_buildable_get_name (buildable)); - } + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (menu_shell)); + } + else + { + /* Fall back to something ... */ + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (buildable)); + + g_warning ("found a GtkMenuItem '%s' without a parent GtkMenuShell, assigned accelerators wont work.", + gtk_buildable_get_name (buildable)); + } /* Feed the correct toplevel to the GtkWidget accelerator parsing code */ _gtk_widget_buildable_finish_accelerator (GTK_WIDGET (buildable), toplevel, user_data); @@ -1057,30 +1053,30 @@ gboolean _gtk_menu_is_empty (GtkWidget *menu); static void gtk_menu_item_update (GtkActivatable *activatable, - GtkAction *action, - const gchar *property_name) + GtkAction *action, + const gchar *property_name) { GtkMenuItem *menu_item = GTK_MENU_ITEM (activatable); - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; if (strcmp (property_name, "visible") == 0) - _gtk_action_sync_menu_visible (action, GTK_WIDGET (menu_item), - _gtk_menu_is_empty (gtk_menu_item_get_submenu (menu_item))); + _gtk_action_sync_menu_visible (action, GTK_WIDGET (menu_item), + _gtk_menu_is_empty (gtk_menu_item_get_submenu (menu_item))); else if (strcmp (property_name, "sensitive") == 0) gtk_widget_set_sensitive (GTK_WIDGET (menu_item), gtk_action_is_sensitive (action)); else if (priv->use_action_appearance) { if (strcmp (property_name, "label") == 0) - activatable_update_label (menu_item, action); + activatable_update_label (menu_item, action); } } static void gtk_menu_item_sync_action_properties (GtkActivatable *activatable, - GtkAction *action) + GtkAction *action) { GtkMenuItem *menu_item = GTK_MENU_ITEM (activatable); - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; GtkWidget *label; if (!priv->use_action_appearance || !action) @@ -1095,7 +1091,7 @@ gtk_menu_item_sync_action_properties (GtkActivatable *activatable, return; _gtk_action_sync_menu_visible (action, GTK_WIDGET (menu_item), - _gtk_menu_is_empty (gtk_menu_item_get_submenu (menu_item))); + _gtk_menu_is_empty (gtk_menu_item_get_submenu (menu_item))); gtk_widget_set_sensitive (GTK_WIDGET (menu_item), gtk_action_is_sensitive (action)); @@ -1105,10 +1101,10 @@ gtk_menu_item_sync_action_properties (GtkActivatable *activatable, /* make sure label is a label, deleting it otherwise */ if (label && !GTK_IS_LABEL (label)) - { - gtk_container_remove (GTK_CONTAINER (menu_item), label); - label = NULL; - } + { + gtk_container_remove (GTK_CONTAINER (menu_item), label); + label = NULL; + } /* Make sure that menu_item has a label and that any * accelerators are set */ gtk_menu_item_ensure_label (menu_item); @@ -1129,28 +1125,28 @@ gtk_menu_item_sync_action_properties (GtkActivatable *activatable, static void gtk_menu_item_set_related_action (GtkMenuItem *menu_item, - GtkAction *action) + GtkAction *action) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; if (priv->action == action) return; if (priv->action) { - gtk_action_disconnect_accelerator (priv->action); + gtk_action_disconnect_accelerator (priv->action); } if (action) { - const gchar *accel_path; - - accel_path = gtk_action_get_accel_path (action); - if (accel_path) - { - gtk_action_connect_accelerator (action); - gtk_menu_item_set_accel_path (menu_item, accel_path); - } + const gchar *accel_path; + + accel_path = gtk_action_get_accel_path (action); + if (accel_path) + { + gtk_action_connect_accelerator (action); + gtk_menu_item_set_accel_path (menu_item, accel_path); + } } gtk_activatable_do_set_related_action (GTK_ACTIVATABLE (menu_item), action); @@ -1160,15 +1156,15 @@ gtk_menu_item_set_related_action (GtkMenuItem *menu_item, static void gtk_menu_item_set_use_action_appearance (GtkMenuItem *menu_item, - gboolean use_appearance) + gboolean use_appearance) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; if (priv->use_action_appearance != use_appearance) { - priv->use_action_appearance = use_appearance; + priv->use_action_appearance = use_appearance; - gtk_activatable_sync_action_properties (GTK_ACTIVATABLE (menu_item), priv->action); + gtk_activatable_sync_action_properties (GTK_ACTIVATABLE (menu_item), priv->action); } } @@ -1180,29 +1176,31 @@ gtk_menu_item_set_use_action_appearance (GtkMenuItem *menu_item, * * Sets or replaces the menu item's submenu, or removes it when a %NULL * submenu is passed. - **/ + */ void gtk_menu_item_set_submenu (GtkMenuItem *menu_item, - GtkWidget *submenu) + GtkWidget *submenu) { + GtkMenuItemPrivate *priv = menu_item->priv; + g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); g_return_if_fail (submenu == NULL || GTK_IS_MENU (submenu)); - - if (menu_item->submenu != submenu) + + if (priv->submenu != submenu) { - if (menu_item->submenu) - gtk_menu_detach (GTK_MENU (menu_item->submenu)); + if (priv->submenu) + gtk_menu_detach (GTK_MENU (priv->submenu)); if (submenu) - { - menu_item->submenu = submenu; - gtk_menu_attach_to_widget (GTK_MENU (submenu), - GTK_WIDGET (menu_item), - gtk_menu_item_detacher); - } + { + priv->submenu = submenu; + gtk_menu_attach_to_widget (GTK_MENU (submenu), + GTK_WIDGET (menu_item), + gtk_menu_item_detacher); + } if (gtk_widget_get_parent (GTK_WIDGET (menu_item))) - gtk_widget_queue_resize (GTK_WIDGET (menu_item)); + gtk_widget_queue_resize (GTK_WIDGET (menu_item)); g_object_notify (G_OBJECT (menu_item), "submenu"); } @@ -1215,26 +1213,26 @@ gtk_menu_item_set_submenu (GtkMenuItem *menu_item, * Gets the submenu underneath this menu item, if any. * See gtk_menu_item_set_submenu(). * - * Return value: (transfer none): submenu for this menu item, or %NULL if none. - **/ + * Return value: (transfer none): submenu for this menu item, or %NULL if none + */ GtkWidget * gtk_menu_item_get_submenu (GtkMenuItem *menu_item) { g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), NULL); - return menu_item->submenu; + return menu_item->priv->submenu; } void _gtk_menu_item_set_placement (GtkMenuItem *menu_item, - GtkSubmenuPlacement placement); + GtkSubmenuPlacement placement); void _gtk_menu_item_set_placement (GtkMenuItem *menu_item, - GtkSubmenuPlacement placement) + GtkSubmenuPlacement placement) { g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); - menu_item->submenu_placement = placement; + menu_item->priv->submenu_placement = placement; } void @@ -1291,7 +1289,7 @@ gtk_menu_item_activate (GtkMenuItem *menu_item) void gtk_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition) + gint *requisition) { g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); @@ -1300,7 +1298,7 @@ gtk_menu_item_toggle_size_request (GtkMenuItem *menu_item, void gtk_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, - gint allocation) + gint allocation) { g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); @@ -1309,9 +1307,10 @@ gtk_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, static void gtk_menu_item_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { - GtkMenuItem *menu_item; + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; GtkBin *bin; GtkAllocation child_allocation; GtkTextDirection direction; @@ -1323,9 +1322,8 @@ gtk_menu_item_size_allocate (GtkWidget *widget, g_return_if_fail (GTK_IS_MENU_ITEM (widget)); g_return_if_fail (allocation != NULL); - menu_item = GTK_MENU_ITEM (widget); bin = GTK_BIN (widget); - + direction = gtk_widget_get_direction (widget); parent = gtk_widget_get_parent (widget); @@ -1352,68 +1350,69 @@ gtk_menu_item_size_allocate (GtkWidget *widget, style = gtk_widget_get_style (widget); gtk_widget_style_get (widget, - "horizontal-padding", &horizontal_padding, - NULL); + "horizontal-padding", &horizontal_padding, + NULL); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); child_allocation.x = border_width + style->xthickness; child_allocation.y = border_width + style->ythickness; if ((pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) && - (child_pack_dir == GTK_PACK_DIRECTION_LTR || child_pack_dir == GTK_PACK_DIRECTION_RTL)) - child_allocation.x += horizontal_padding; + (child_pack_dir == GTK_PACK_DIRECTION_LTR || child_pack_dir == GTK_PACK_DIRECTION_RTL)) + child_allocation.x += horizontal_padding; else if ((pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) && - (child_pack_dir == GTK_PACK_DIRECTION_TTB || child_pack_dir == GTK_PACK_DIRECTION_BTT)) - child_allocation.y += horizontal_padding; + (child_pack_dir == GTK_PACK_DIRECTION_TTB || child_pack_dir == GTK_PACK_DIRECTION_BTT)) + child_allocation.y += horizontal_padding; child_allocation.width = MAX (1, (gint)allocation->width - child_allocation.x * 2); child_allocation.height = MAX (1, (gint)allocation->height - child_allocation.y * 2); if (child_pack_dir == GTK_PACK_DIRECTION_LTR || - child_pack_dir == GTK_PACK_DIRECTION_RTL) - { - if ((direction == GTK_TEXT_DIR_LTR) == (child_pack_dir != GTK_PACK_DIRECTION_RTL)) - child_allocation.x += GTK_MENU_ITEM (widget)->toggle_size; - child_allocation.width -= GTK_MENU_ITEM (widget)->toggle_size; - } + child_pack_dir == GTK_PACK_DIRECTION_RTL) + { + if ((direction == GTK_TEXT_DIR_LTR) == (child_pack_dir != GTK_PACK_DIRECTION_RTL)) + child_allocation.x += priv->toggle_size; + child_allocation.width -= priv->toggle_size; + } else - { - if ((direction == GTK_TEXT_DIR_LTR) == (child_pack_dir != GTK_PACK_DIRECTION_BTT)) - child_allocation.y += GTK_MENU_ITEM (widget)->toggle_size; - child_allocation.height -= GTK_MENU_ITEM (widget)->toggle_size; - } + { + if ((direction == GTK_TEXT_DIR_LTR) == (child_pack_dir != GTK_PACK_DIRECTION_BTT)) + child_allocation.y += priv->toggle_size; + child_allocation.height -= priv->toggle_size; + } child_allocation.x += allocation->x; child_allocation.y += allocation->y; gtk_widget_get_preferred_size (child, &child_requisition, NULL); - if (menu_item->submenu && menu_item->show_submenu_indicator) - { - if (direction == GTK_TEXT_DIR_RTL) - child_allocation.x += child_requisition.height; - child_allocation.width -= child_requisition.height; - } - + if (priv->submenu && priv->show_submenu_indicator) + { + if (direction == GTK_TEXT_DIR_RTL) + child_allocation.x += child_requisition.height; + child_allocation.width -= child_requisition.height; + } + if (child_allocation.width < 1) - child_allocation.width = 1; + child_allocation.width = 1; gtk_widget_size_allocate (child, &child_allocation); } if (gtk_widget_get_realized (widget)) - gdk_window_move_resize (menu_item->event_window, + gdk_window_move_resize (priv->event_window, allocation->x, allocation->y, allocation->width, allocation->height); - if (menu_item->submenu) - gtk_menu_reposition (GTK_MENU (menu_item->submenu)); + if (priv->submenu) + gtk_menu_reposition (GTK_MENU (priv->submenu)); } static void gtk_menu_item_realize (GtkWidget *widget) { - GtkAllocation allocation; GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; + GtkAllocation allocation; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; @@ -1433,17 +1432,17 @@ gtk_menu_item_realize (GtkWidget *widget) attributes.window_type = GDK_WINDOW_CHILD; attributes.wclass = GDK_INPUT_ONLY; attributes.event_mask = (gtk_widget_get_events (widget) | - GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | - GDK_ENTER_NOTIFY_MASK | - GDK_LEAVE_NOTIFY_MASK | - GDK_POINTER_MOTION_MASK); + GDK_BUTTON_PRESS_MASK | + GDK_BUTTON_RELEASE_MASK | + GDK_ENTER_NOTIFY_MASK | + GDK_LEAVE_NOTIFY_MASK | + GDK_POINTER_MOTION_MASK); attributes_mask = GDK_WA_X | GDK_WA_Y; - menu_item->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), - &attributes, attributes_mask); - gdk_window_set_user_data (menu_item->event_window, widget); + priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), + &attributes, attributes_mask); + gdk_window_set_user_data (priv->event_window, widget); gtk_widget_style_attach (widget); } @@ -1452,10 +1451,11 @@ static void gtk_menu_item_unrealize (GtkWidget *widget) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; - gdk_window_set_user_data (menu_item->event_window, NULL); - gdk_window_destroy (menu_item->event_window); - menu_item->event_window = NULL; + gdk_window_set_user_data (priv->event_window, NULL); + gdk_window_destroy (priv->event_window); + priv->event_window = NULL; GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->unrealize (widget); } @@ -1464,18 +1464,20 @@ static void gtk_menu_item_map (GtkWidget *widget) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); - + GtkMenuItemPrivate *priv = menu_item->priv; + GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->map (widget); - gdk_window_show (menu_item->event_window); + gdk_window_show (priv->event_window); } static void gtk_menu_item_unmap (GtkWidget *widget) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); - - gdk_window_hide (menu_item->event_window); + GtkMenuItemPrivate *priv = menu_item->priv; + + gdk_window_hide (priv->event_window); GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->unmap (widget); } @@ -1503,6 +1505,7 @@ gtk_menu_item_draw (GtkWidget *widget, cairo_t *cr) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; GtkStateType state_type; GtkShadowType shadow_type, selected_shadow_type; GtkStyle *style; @@ -1523,7 +1526,7 @@ gtk_menu_item_draw (GtkWidget *widget, h = height - border_width * 2; child = gtk_bin_get_child (GTK_BIN (menu_item)); - + if (child && state_type == GTK_STATE_PRELIGHT) { gtk_widget_style_get (widget, @@ -1537,7 +1540,7 @@ gtk_menu_item_draw (GtkWidget *widget, x, y, w, h); } - if (menu_item->submenu && menu_item->show_submenu_indicator) + if (priv->submenu && priv->show_submenu_indicator) { gint arrow_x, arrow_y; gint arrow_size; @@ -1546,7 +1549,7 @@ gtk_menu_item_draw (GtkWidget *widget, GtkArrowType arrow_type; direction = gtk_widget_get_direction (widget); - + gtk_widget_style_get (widget, "horizontal-padding", &horizontal_padding, NULL); @@ -1571,8 +1574,8 @@ gtk_menu_item_draw (GtkWidget *widget, arrow_y = y + (h - arrow_size) / 2; gtk_paint_arrow (style, cr, - state_type, shadow_type, - widget, "menuitem", + state_type, shadow_type, + widget, "menuitem", arrow_type, TRUE, arrow_x, arrow_y, arrow_size, arrow_size); @@ -1613,16 +1616,16 @@ gtk_menu_item_draw (GtkWidget *widget, static void gtk_real_menu_item_select (GtkMenuItem *menu_item) { + GtkMenuItemPrivate *priv = menu_item->priv; gboolean touchscreen_mode; g_object_get (gtk_widget_get_settings (GTK_WIDGET (menu_item)), "gtk-touchscreen-mode", &touchscreen_mode, NULL); - if (!touchscreen_mode && - menu_item->submenu && - (!gtk_widget_get_mapped (menu_item->submenu) || - GTK_MENU (menu_item->submenu)->priv->tearoff_active)) + if (!touchscreen_mode && priv->submenu && + (!gtk_widget_get_mapped (priv->submenu) || + GTK_MENU (priv->submenu)->priv->tearoff_active)) { _gtk_menu_item_popup_submenu (GTK_WIDGET (menu_item), TRUE); } @@ -1635,7 +1638,9 @@ gtk_real_menu_item_select (GtkMenuItem *menu_item) static void gtk_real_menu_item_deselect (GtkMenuItem *menu_item) { - if (menu_item->submenu) + GtkMenuItemPrivate *priv = menu_item->priv; + + if (priv->submenu) _gtk_menu_item_popdown_submenu (GTK_WIDGET (menu_item)); gtk_widget_unset_state_flags (GTK_WIDGET (menu_item), @@ -1645,7 +1650,7 @@ gtk_real_menu_item_deselect (GtkMenuItem *menu_item) static gboolean gtk_menu_item_mnemonic_activate (GtkWidget *widget, - gboolean group_cycling) + gboolean group_cycling) { GtkWidget *parent; @@ -1659,21 +1664,18 @@ gtk_menu_item_mnemonic_activate (GtkWidget *widget, GTK_IS_MENU_SHELL (parent) && GTK_MENU_SHELL (parent)->priv->active) { - gtk_menu_shell_select_item (GTK_MENU_SHELL (parent), - widget); + gtk_menu_shell_select_item (GTK_MENU_SHELL (parent), widget); } else g_signal_emit (widget, menu_item_signals[ACTIVATE_ITEM], 0); - + return TRUE; } -static void +static void gtk_real_menu_item_activate (GtkMenuItem *menu_item) { - GtkMenuItemPrivate *priv; - - priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; if (priv->action) gtk_action_activate (priv->action); @@ -1683,13 +1685,10 @@ gtk_real_menu_item_activate (GtkMenuItem *menu_item) static void gtk_real_menu_item_activate_item (GtkMenuItem *menu_item) { - GtkMenuItemPrivate *priv; + GtkMenuItemPrivate *priv = menu_item->priv; GtkWidget *parent; GtkWidget *widget; - g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); - - priv = GET_PRIVATE (menu_item); widget = GTK_WIDGET (menu_item); parent = gtk_widget_get_parent (widget); @@ -1697,24 +1696,23 @@ gtk_real_menu_item_activate_item (GtkMenuItem *menu_item) { GtkMenuShell *menu_shell = GTK_MENU_SHELL (parent); - if (menu_item->submenu == NULL) - gtk_menu_shell_activate_item (menu_shell, - widget, TRUE); + if (priv->submenu == NULL) + gtk_menu_shell_activate_item (menu_shell, widget, TRUE); else - { - _gtk_menu_shell_activate (menu_shell); + { + _gtk_menu_shell_activate (menu_shell); - gtk_menu_shell_select_item (menu_shell, widget); - _gtk_menu_item_popup_submenu (widget, FALSE); + gtk_menu_shell_select_item (menu_shell, widget); + _gtk_menu_item_popup_submenu (widget, FALSE); - gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->submenu), TRUE); - } + gtk_menu_shell_select_first (GTK_MENU_SHELL (priv->submenu), TRUE); + } } } static void gtk_real_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition) + gint *requisition) { g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); @@ -1723,16 +1721,16 @@ gtk_real_menu_item_toggle_size_request (GtkMenuItem *menu_item, static void gtk_real_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, - gint allocation) + gint allocation) { g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); - menu_item->toggle_size = allocation; + menu_item->priv->toggle_size = allocation; } static void gtk_real_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label) + const gchar *label) { GtkWidget *child; @@ -1742,7 +1740,7 @@ gtk_real_menu_item_set_label (GtkMenuItem *menu_item, if (GTK_IS_LABEL (child)) { gtk_label_set_label (GTK_LABEL (child), label ? label : ""); - + g_object_notify (G_OBJECT (menu_item), "label"); } } @@ -1772,18 +1770,18 @@ gtk_menu_item_real_popup_submenu (GtkWidget *widget, gboolean remember_exact_time) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; GtkWidget *parent; parent = gtk_widget_get_parent (widget); - if (gtk_widget_is_sensitive (menu_item->submenu) && parent) + if (gtk_widget_is_sensitive (priv->submenu) && parent) { gboolean take_focus; GtkMenuPositionFunc menu_position_func; take_focus = gtk_menu_shell_get_take_focus (GTK_MENU_SHELL (parent)); - gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (menu_item->submenu), - take_focus); + gtk_menu_shell_set_take_focus (GTK_MENU_SHELL (priv->submenu), take_focus); if (remember_exact_time) { @@ -1791,13 +1789,13 @@ gtk_menu_item_real_popup_submenu (GtkWidget *widget, g_get_current_time (popup_time); - g_object_set_data_full (G_OBJECT (menu_item->submenu), + g_object_set_data_full (G_OBJECT (priv->submenu), "gtk-menu-exact-popup-time", popup_time, (GDestroyNotify) free_timeval); } else { - g_object_set_data (G_OBJECT (menu_item->submenu), + g_object_set_data (G_OBJECT (priv->submenu), "gtk-menu-exact-popup-time", NULL); } @@ -1812,7 +1810,7 @@ gtk_menu_item_real_popup_submenu (GtkWidget *widget, else menu_position_func = NULL; - gtk_menu_popup (GTK_MENU (menu_item->submenu), + gtk_menu_popup (GTK_MENU (priv->submenu), parent, widget, menu_position_func, @@ -1830,10 +1828,9 @@ gtk_menu_item_real_popup_submenu (GtkWidget *widget, static gint gtk_menu_item_popup_timeout (gpointer data) { - GtkMenuItem *menu_item; + GtkMenuItem *menu_item = GTK_MENU_ITEM (data); + GtkMenuItemPrivate *priv = menu_item->priv; GtkWidget *parent; - - menu_item = GTK_MENU_ITEM (data); parent = gtk_widget_get_parent (GTK_WIDGET (menu_item)); @@ -1841,13 +1838,13 @@ gtk_menu_item_popup_timeout (gpointer data) (GTK_IS_MENU (parent) && GTK_MENU (parent)->priv->torn_off)) { gtk_menu_item_real_popup_submenu (GTK_WIDGET (menu_item), TRUE); - if (menu_item->timer_from_keypress && menu_item->submenu) - GTK_MENU_SHELL (menu_item->submenu)->priv->ignore_enter = TRUE; + if (priv->timer_from_keypress && priv->submenu) + GTK_MENU_SHELL (priv->submenu)->priv->ignore_enter = TRUE; } - menu_item->timer = 0; + priv->timer = 0; - return FALSE; + return FALSE; } static gint @@ -1865,8 +1862,8 @@ get_popup_delay (GtkWidget *widget) gint popup_delay; g_object_get (gtk_widget_get_settings (widget), - "gtk-menu-popup-delay", &popup_delay, - NULL); + "gtk-menu-popup-delay", &popup_delay, + NULL); return popup_delay; } @@ -1877,11 +1874,12 @@ _gtk_menu_item_popup_submenu (GtkWidget *widget, gboolean with_delay) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; - if (menu_item->timer) + if (priv->timer) { - g_source_remove (menu_item->timer); - menu_item->timer = 0; + g_source_remove (priv->timer); + priv->timer = 0; with_delay = FALSE; } @@ -1890,22 +1888,22 @@ _gtk_menu_item_popup_submenu (GtkWidget *widget, gint popup_delay = get_popup_delay (widget); if (popup_delay > 0) - { - GdkEvent *event = gtk_get_current_event (); + { + GdkEvent *event = gtk_get_current_event (); - menu_item->timer = gdk_threads_add_timeout (popup_delay, - gtk_menu_item_popup_timeout, - menu_item); + priv->timer = gdk_threads_add_timeout (popup_delay, + gtk_menu_item_popup_timeout, + menu_item); - if (event && - event->type != GDK_BUTTON_PRESS && - event->type != GDK_ENTER_NOTIFY) - menu_item->timer_from_keypress = TRUE; - else - menu_item->timer_from_keypress = FALSE; + if (event && + event->type != GDK_BUTTON_PRESS && + event->type != GDK_ENTER_NOTIFY) + priv->timer_from_keypress = TRUE; + else + priv->timer_from_keypress = FALSE; - if (event) - gdk_event_free (event); + if (event) + gdk_event_free (event); return; } @@ -1917,22 +1915,21 @@ _gtk_menu_item_popup_submenu (GtkWidget *widget, void _gtk_menu_item_popdown_submenu (GtkWidget *widget) { - GtkMenuItem *menu_item; + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; - menu_item = GTK_MENU_ITEM (widget); - - if (menu_item->submenu) + if (priv->submenu) { - g_object_set_data (G_OBJECT (menu_item->submenu), + g_object_set_data (G_OBJECT (priv->submenu), "gtk-menu-exact-popup-time", NULL); - if (menu_item->timer) + if (priv->timer) { - g_source_remove (menu_item->timer); - menu_item->timer = 0; + g_source_remove (priv->timer); + priv->timer = 0; } else - gtk_menu_popdown (GTK_MENU (menu_item->submenu)); + gtk_menu_popdown (GTK_MENU (priv->submenu)); gtk_widget_queue_draw (widget); } @@ -1940,18 +1937,18 @@ _gtk_menu_item_popdown_submenu (GtkWidget *widget) static void get_offsets (GtkMenu *menu, - gint *horizontal_offset, - gint *vertical_offset) + gint *horizontal_offset, + gint *vertical_offset) { gint vertical_padding; gint horizontal_padding; gtk_widget_style_get (GTK_WIDGET (menu), - "horizontal-offset", horizontal_offset, - "vertical-offset", vertical_offset, - "horizontal-padding", &horizontal_padding, - "vertical-padding", &vertical_padding, - NULL); + "horizontal-offset", horizontal_offset, + "vertical-offset", vertical_offset, + "horizontal-padding", &horizontal_padding, + "vertical-padding", &vertical_padding, + NULL); *vertical_offset -= gtk_widget_get_style (GTK_WIDGET (menu))->ythickness; *vertical_offset -= vertical_padding; @@ -1960,13 +1957,14 @@ get_offsets (GtkMenu *menu, static void gtk_menu_item_position_menu (GtkMenu *menu, - gint *x, - gint *y, - gboolean *push_in, - gpointer user_data) + gint *x, + gint *y, + gboolean *push_in, + gpointer user_data) { + GtkMenuItem *menu_item = GTK_MENU_ITEM (user_data); + GtkMenuItemPrivate *priv = menu_item->priv; GtkAllocation allocation; - GtkMenuItem *menu_item; GtkWidget *widget; GtkMenuItem *parent_menu_item; GtkRequisition requisition; @@ -1986,7 +1984,6 @@ gtk_menu_item_position_menu (GtkMenu *menu, g_return_if_fail (x != NULL); g_return_if_fail (y != NULL); - menu_item = GTK_MENU_ITEM (user_data); widget = GTK_WIDGET (user_data); if (push_in) @@ -1999,13 +1996,12 @@ gtk_menu_item_position_menu (GtkMenu *menu, theight = requisition.height; screen = gtk_widget_get_screen (GTK_WIDGET (menu)); - monitor_num = gdk_screen_get_monitor_at_window (screen, menu_item->event_window); + monitor_num = gdk_screen_get_monitor_at_window (screen, priv->event_window); if (monitor_num < 0) monitor_num = 0; gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - if (!gdk_window_get_origin (gtk_widget_get_window (widget), - &tx, &ty)) + if (!gdk_window_get_origin (gtk_widget_get_window (widget), &tx, &ty)) { g_warning ("Menu not on screen"); return; @@ -2024,87 +2020,87 @@ gtk_menu_item_position_menu (GtkMenu *menu, parent = gtk_widget_get_parent (widget); if (GTK_IS_MENU_BAR (parent)) { - menu_item->from_menubar = TRUE; + priv->from_menubar = TRUE; } else if (GTK_IS_MENU (parent)) { if (GTK_MENU (parent)->priv->parent_menu_item) - menu_item->from_menubar = GTK_MENU_ITEM (GTK_MENU (parent)->priv->parent_menu_item)->from_menubar; + priv->from_menubar = GTK_MENU_ITEM (GTK_MENU (parent)->priv->parent_menu_item)->priv->from_menubar; else - menu_item->from_menubar = FALSE; + priv->from_menubar = FALSE; } else { - menu_item->from_menubar = FALSE; + priv->from_menubar = FALSE; } - - switch (menu_item->submenu_placement) + + switch (priv->submenu_placement) { case GTK_TOP_BOTTOM: if (direction == GTK_TEXT_DIR_LTR) - menu_item->submenu_direction = GTK_DIRECTION_RIGHT; - else - { - menu_item->submenu_direction = GTK_DIRECTION_LEFT; - tx += allocation.width - twidth; - } - if ((ty + allocation.height + theight) <= monitor.y + monitor.height) - ty += allocation.height; - else if ((ty - theight) >= monitor.y) - ty -= theight; - else if (monitor.y + monitor.height - (ty + allocation.height) > ty) - ty += allocation.height; + priv->submenu_direction = GTK_DIRECTION_RIGHT; else - ty -= theight; + { + priv->submenu_direction = GTK_DIRECTION_LEFT; + tx += allocation.width - twidth; + } + if ((ty + allocation.height + theight) <= monitor.y + monitor.height) + ty += allocation.height; + else if ((ty - theight) >= monitor.y) + ty -= theight; + else if (monitor.y + monitor.height - (ty + allocation.height) > ty) + ty += allocation.height; + else + ty -= theight; break; case GTK_LEFT_RIGHT: if (GTK_IS_MENU (parent)) - parent_menu_item = GTK_MENU_ITEM (GTK_MENU (parent)->priv->parent_menu_item); + parent_menu_item = GTK_MENU_ITEM (GTK_MENU (parent)->priv->parent_menu_item); else - parent_menu_item = NULL; + parent_menu_item = NULL; parent_xthickness = gtk_widget_get_style (parent)->xthickness; if (parent_menu_item && !GTK_MENU (parent)->priv->torn_off) - { - menu_item->submenu_direction = parent_menu_item->submenu_direction; - } + { + priv->submenu_direction = parent_menu_item->priv->submenu_direction; + } else - { - if (direction == GTK_TEXT_DIR_LTR) - menu_item->submenu_direction = GTK_DIRECTION_RIGHT; - else - menu_item->submenu_direction = GTK_DIRECTION_LEFT; - } + { + if (direction == GTK_TEXT_DIR_LTR) + priv->submenu_direction = GTK_DIRECTION_RIGHT; + else + priv->submenu_direction = GTK_DIRECTION_LEFT; + } - switch (menu_item->submenu_direction) - { - case GTK_DIRECTION_LEFT: - if (tx - twidth - parent_xthickness - horizontal_offset >= monitor.x || - available_left >= available_right) - tx -= twidth + parent_xthickness + horizontal_offset; - else - { - menu_item->submenu_direction = GTK_DIRECTION_RIGHT; - tx += allocation.width + parent_xthickness + horizontal_offset; - } - break; + switch (priv->submenu_direction) + { + case GTK_DIRECTION_LEFT: + if (tx - twidth - parent_xthickness - horizontal_offset >= monitor.x || + available_left >= available_right) + tx -= twidth + parent_xthickness + horizontal_offset; + else + { + priv->submenu_direction = GTK_DIRECTION_RIGHT; + tx += allocation.width + parent_xthickness + horizontal_offset; + } + break; - case GTK_DIRECTION_RIGHT: - if (tx + allocation.width + parent_xthickness + horizontal_offset + twidth <= monitor.x + monitor.width || - available_right >= available_left) - tx += allocation.width + parent_xthickness + horizontal_offset; - else - { - menu_item->submenu_direction = GTK_DIRECTION_LEFT; - tx -= twidth + parent_xthickness + horizontal_offset; - } - break; - } + case GTK_DIRECTION_RIGHT: + if (tx + allocation.width + parent_xthickness + horizontal_offset + twidth <= monitor.x + monitor.width || + available_right >= available_left) + tx += allocation.width + parent_xthickness + horizontal_offset; + else + { + priv->submenu_direction = GTK_DIRECTION_LEFT; + tx -= twidth + parent_xthickness + horizontal_offset; + } + break; + } ty += vertical_offset; - + /* If the height of the menu doesn't fit we move it upward. */ ty = CLAMP (ty, monitor.y, MAX (monitor.y, monitor.y + monitor.height - theight)); break; @@ -2120,34 +2116,36 @@ gtk_menu_item_position_menu (GtkMenu *menu, if (!gtk_widget_get_visible (menu->priv->toplevel)) { - gtk_window_set_type_hint (GTK_WINDOW (menu->priv->toplevel), menu_item->from_menubar? - GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU : GDK_WINDOW_TYPE_HINT_POPUP_MENU); + gtk_window_set_type_hint (GTK_WINDOW (menu->priv->toplevel), priv->from_menubar? + GDK_WINDOW_TYPE_HINT_DROPDOWN_MENU : GDK_WINDOW_TYPE_HINT_POPUP_MENU); } } /** * gtk_menu_item_set_right_justified: * @menu_item: a #GtkMenuItem. - * @right_justified: if %TRUE the menu item will appear at the - * far right if added to a menu bar. - * + * @right_justified: if %TRUE the menu item will appear at the + * far right if added to a menu bar + * * Sets whether the menu item appears justified at the right - * side of a menu bar. This was traditionally done for "Help" menu - * items, but is now considered a bad idea. (If the widget + * side of a menu bar. This was traditionally done for "Help" + * menu items, but is now considered a bad idea. (If the widget * layout is reversed for a right-to-left language like Hebrew * or Arabic, right-justified-menu-items appear at the left.) **/ void gtk_menu_item_set_right_justified (GtkMenuItem *menu_item, - gboolean right_justified) + gboolean right_justified) { + GtkMenuItemPrivate *priv = menu_item->priv; + g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); right_justified = right_justified != FALSE; - if (right_justified != menu_item->right_justify) + if (priv->right_justify != right_justified) { - menu_item->right_justify = right_justified; + priv->right_justify = right_justified; gtk_widget_queue_resize (GTK_WIDGET (menu_item)); } } @@ -2155,10 +2153,10 @@ gtk_menu_item_set_right_justified (GtkMenuItem *menu_item, /** * gtk_menu_item_get_right_justified: * @menu_item: a #GtkMenuItem - * + * * Gets whether the menu item appears justified at the right * side of the menu bar. - * + * * Return value: %TRUE if the menu item will appear at the * far right if added to a menu bar. **/ @@ -2166,23 +2164,20 @@ gboolean gtk_menu_item_get_right_justified (GtkMenuItem *menu_item) { g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), FALSE); - - return menu_item->right_justify; + + return menu_item->priv->right_justify; } static void gtk_menu_item_show_all (GtkWidget *widget) { - GtkMenuItem *menu_item; - - g_return_if_fail (GTK_IS_MENU_ITEM (widget)); - - menu_item = GTK_MENU_ITEM (widget); + GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); + GtkMenuItemPrivate *priv = menu_item->priv; /* show children including submenu */ - if (menu_item->submenu) - gtk_widget_show_all (menu_item->submenu); + if (priv->submenu) + gtk_widget_show_all (priv->submenu); gtk_container_foreach (GTK_CONTAINER (widget), (GtkCallback) gtk_widget_show_all, NULL); gtk_widget_show (widget); @@ -2190,11 +2185,12 @@ gtk_menu_item_show_all (GtkWidget *widget) static gboolean gtk_menu_item_can_activate_accel (GtkWidget *widget, - guint signal_id) + guint signal_id) { GtkWidget *parent; parent = gtk_widget_get_parent (widget); + /* Chain to the parent GtkMenu for further checks */ return (gtk_widget_is_sensitive (widget) && gtk_widget_get_visible (widget) && parent && gtk_widget_can_activate_accel (parent, signal_id)); @@ -2202,28 +2198,28 @@ gtk_menu_item_can_activate_accel (GtkWidget *widget, static void gtk_menu_item_accel_name_foreach (GtkWidget *widget, - gpointer data) + gpointer data) { const gchar **path_p = data; if (!*path_p) { if (GTK_IS_LABEL (widget)) - { - *path_p = gtk_label_get_text (GTK_LABEL (widget)); - if (*path_p && (*path_p)[0] == 0) - *path_p = NULL; - } + { + *path_p = gtk_label_get_text (GTK_LABEL (widget)); + if (*path_p && (*path_p)[0] == 0) + *path_p = NULL; + } else if (GTK_IS_CONTAINER (widget)) - gtk_container_foreach (GTK_CONTAINER (widget), - gtk_menu_item_accel_name_foreach, - data); + gtk_container_foreach (GTK_CONTAINER (widget), + gtk_menu_item_accel_name_foreach, + data); } } static void gtk_menu_item_parent_set (GtkWidget *widget, - GtkWidget *previous_parent) + GtkWidget *previous_parent) { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); GtkMenu *menu; @@ -2234,9 +2230,9 @@ gtk_menu_item_parent_set (GtkWidget *widget, if (menu) _gtk_menu_item_refresh_accel_path (menu_item, - menu->priv->accel_path, - menu->priv->accel_group, - TRUE); + menu->priv->accel_path, + menu->priv->accel_group, + TRUE); if (GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->parent_set) GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->parent_set (widget, previous_parent); @@ -2244,10 +2240,11 @@ gtk_menu_item_parent_set (GtkWidget *widget, void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, - const gchar *prefix, - GtkAccelGroup *accel_group, - gboolean group_changed) + const gchar *prefix, + GtkAccelGroup *accel_group, + gboolean group_changed) { + GtkMenuItemPrivate *priv = menu_item->priv; const gchar *path; GtkWidget *widget; @@ -2263,72 +2260,74 @@ _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, } path = _gtk_widget_get_accel_path (widget, NULL); - if (!path) /* no active accel_path yet */ + if (!path) /* no active accel_path yet */ { - path = menu_item->accel_path; + path = priv->accel_path; if (!path && prefix) - { - const gchar *postfix = NULL; + { + const gchar *postfix = NULL; gchar *new_path; - /* try to construct one from label text */ - gtk_container_foreach (GTK_CONTAINER (menu_item), - gtk_menu_item_accel_name_foreach, - &postfix); + /* try to construct one from label text */ + gtk_container_foreach (GTK_CONTAINER (menu_item), + gtk_menu_item_accel_name_foreach, + &postfix); if (postfix) { new_path = g_strconcat (prefix, "/", postfix, NULL); - path = menu_item->accel_path = (char*)g_intern_string (new_path); + path = priv->accel_path = (char*)g_intern_string (new_path); g_free (new_path); } - } + } if (path) - gtk_widget_set_accel_path (widget, path, accel_group); + gtk_widget_set_accel_path (widget, path, accel_group); } - else if (group_changed) /* reinstall accelerators */ + else if (group_changed) /* reinstall accelerators */ gtk_widget_set_accel_path (widget, path, accel_group); } /** * gtk_menu_item_set_accel_path * @menu_item: a valid #GtkMenuItem - * @accel_path: (allow-none): accelerator path, corresponding to this menu item's - * functionality, or %NULL to unset the current path. + * @accel_path: (allow-none): accelerator path, corresponding to this menu + * item's functionality, or %NULL to unset the current path. * - * Set the accelerator path on @menu_item, through which runtime changes of the - * menu item's accelerator caused by the user can be identified and saved to - * persistant storage (see gtk_accel_map_save() on this). - * To setup a default accelerator for this menu item, call - * gtk_accel_map_add_entry() with the same @accel_path. - * See also gtk_accel_map_add_entry() on the specifics of accelerator paths, - * and gtk_menu_set_accel_path() for a more convenient variant of this function. + * Set the accelerator path on @menu_item, through which runtime + * changes of the menu item's accelerator caused by the user can be + * identified and saved to persistent storage (see gtk_accel_map_save() + * on this). To set up a default accelerator for this menu item, call + * gtk_accel_map_add_entry() with the same @accel_path. See also + * gtk_accel_map_add_entry() on the specifics of accelerator paths, + * and gtk_menu_set_accel_path() for a more convenient variant of + * this function. * - * This function is basically a convenience wrapper that handles calling - * gtk_widget_set_accel_path() with the appropriate accelerator group for - * the menu item. + * This function is basically a convenience wrapper that handles + * calling gtk_widget_set_accel_path() with the appropriate accelerator + * group for the menu item. * * Note that you do need to set an accelerator on the parent menu with * gtk_menu_set_accel_group() for this to work. * - * Note that @accel_path string will be stored in a #GQuark. Therefore, if you - * pass a static string, you can save some memory by interning it first with - * g_intern_static_string(). + * Note that @accel_path string will be stored in a #GQuark. + * Therefore, if you pass a static string, you can save some memory + * by interning it first with g_intern_static_string(). */ void gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, - const gchar *accel_path) + const gchar *accel_path) { + GtkMenuItemPrivate *priv = menu_item->priv; GtkWidget *parent; GtkWidget *widget; g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); g_return_if_fail (accel_path == NULL || - (accel_path[0] == '<' && strchr (accel_path, '/'))); + (accel_path[0] == '<' && strchr (accel_path, '/'))); widget = GTK_WIDGET (menu_item); /* store new path */ - menu_item->accel_path = (char*)g_intern_string (accel_path); + priv->accel_path = (char*)g_intern_string (accel_path); /* forget accelerators associated with old path */ gtk_widget_set_accel_path (widget, NULL, NULL); @@ -2340,10 +2339,10 @@ gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, GtkMenu *menu = GTK_MENU (parent); if (menu->priv->accel_group) - _gtk_menu_item_refresh_accel_path (GTK_MENU_ITEM (widget), - NULL, - menu->priv->accel_group, - FALSE); + _gtk_menu_item_refresh_accel_path (GTK_MENU_ITEM (widget), + NULL, + menu->priv->accel_group, + FALSE); } } @@ -2355,8 +2354,8 @@ gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, * * See gtk_menu_item_set_accel_path() for details. * - * Returns: the accelerator path corresponding to this menu item's - * functionality, or %NULL if not set + * Returns: the accelerator path corresponding to this menu + * item's functionality, or %NULL if not set * * Since: 2.14 */ @@ -2365,14 +2364,14 @@ gtk_menu_item_get_accel_path (GtkMenuItem *menu_item) { g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), NULL); - return menu_item->accel_path; + return menu_item->priv->accel_path; } static void gtk_menu_item_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) { GtkWidget *child; @@ -2408,8 +2407,8 @@ gtk_menu_item_ensure_label (GtkMenuItem *menu_item) gtk_misc_set_alignment (GTK_MISC (accel_label), 0.0, 0.5); gtk_container_add (GTK_CONTAINER (menu_item), accel_label); - gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label), - GTK_WIDGET (menu_item)); + gtk_accel_label_set_accel_widget (GTK_ACCEL_LABEL (accel_label), + GTK_WIDGET (menu_item)); gtk_widget_show (accel_label); } } @@ -2422,10 +2421,10 @@ gtk_menu_item_ensure_label (GtkMenuItem *menu_item) * Sets @text on the @menu_item label * * Since: 2.16 - **/ + */ void gtk_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label) + const gchar *label) { g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); @@ -2442,7 +2441,7 @@ gtk_menu_item_set_label (GtkMenuItem *menu_item, * string used by the label, and must not be modified. * * Since: 2.16 - **/ + */ G_CONST_RETURN gchar * gtk_menu_item_get_label (GtkMenuItem *menu_item) { @@ -2454,16 +2453,16 @@ gtk_menu_item_get_label (GtkMenuItem *menu_item) /** * gtk_menu_item_set_use_underline: * @menu_item: a #GtkMenuItem - * @setting: %TRUE if underlines in the text indicate mnemonics + * @setting: %TRUE if underlines in the text indicate mnemonics * - * If true, an underline in the text indicates the next character should be - * used for the mnemonic accelerator key. + * If true, an underline in the text indicates the next character + * should be used for the mnemonic accelerator key. * * Since: 2.16 - **/ + */ void gtk_menu_item_set_use_underline (GtkMenuItem *menu_item, - gboolean setting) + gboolean setting) { GtkWidget *child; @@ -2484,14 +2483,14 @@ gtk_menu_item_set_use_underline (GtkMenuItem *menu_item, * gtk_menu_item_get_use_underline: * @menu_item: a #GtkMenuItem * - * Checks if an underline in the text indicates the next character should be - * used for the mnemonic accelerator key. + * Checks if an underline in the text indicates the next character + * should be used for the mnemonic accelerator key. * - * Return value: %TRUE if an embedded underline in the label indicates - * the mnemonic accelerator key. + * Return value: %TRUE if an embedded underline in the label + * indicates the mnemonic accelerator key. * * Since: 2.16 - **/ + */ gboolean gtk_menu_item_get_use_underline (GtkMenuItem *menu_item) { diff --git a/gtk/gtkmenuitem.h b/gtk/gtkmenuitem.h index cadccc02e5..c0a51e496c 100644 --- a/gtk/gtkmenuitem.h +++ b/gtk/gtkmenuitem.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -36,57 +36,46 @@ G_BEGIN_DECLS -#define GTK_TYPE_MENU_ITEM (gtk_menu_item_get_type ()) -#define GTK_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_ITEM, GtkMenuItem)) -#define GTK_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_ITEM, GtkMenuItemClass)) -#define GTK_IS_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_ITEM)) -#define GTK_IS_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_ITEM)) -#define GTK_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_ITEM, GtkMenuItemClass)) +#define GTK_TYPE_MENU_ITEM (gtk_menu_item_get_type ()) +#define GTK_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_MENU_ITEM, GtkMenuItem)) +#define GTK_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_MENU_ITEM, GtkMenuItemClass)) +#define GTK_IS_MENU_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_MENU_ITEM)) +#define GTK_IS_MENU_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_MENU_ITEM)) +#define GTK_MENU_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_MENU_ITEM, GtkMenuItemClass)) -typedef struct _GtkMenuItem GtkMenuItem; -typedef struct _GtkMenuItemClass GtkMenuItemClass; +typedef struct _GtkMenuItem GtkMenuItem; +typedef struct _GtkMenuItemClass GtkMenuItemClass; +typedef struct _GtkMenuItemPrivate GtkMenuItemPrivate; struct _GtkMenuItem { GtkBin bin; - GtkWidget *GSEAL (submenu); - GdkWindow *GSEAL (event_window); - - guint16 GSEAL (toggle_size); - guint16 GSEAL (accelerator_width); - gchar *GSEAL (accel_path); - - guint GSEAL (show_submenu_indicator) : 1; - guint GSEAL (submenu_placement) : 1; - guint GSEAL (submenu_direction) : 1; - guint GSEAL (right_justify): 1; - guint GSEAL (timer_from_keypress) : 1; - guint GSEAL (from_menubar) : 1; - guint GSEAL (timer); + /*< private >*/ + GtkMenuItemPrivate *priv; }; struct _GtkMenuItemClass { GtkBinClass parent_class; - - /* If the following flag is true, then we should always hide - * the menu when the MenuItem is activated. Otherwise, the + + /* If the following flag is true, then we should always + * hide the menu when the MenuItem is activated. Otherwise, * it is up to the caller. For instance, when navigating * a menu with the keyboard, doesn't hide, but * does. */ guint hide_on_activate : 1; - + void (* activate) (GtkMenuItem *menu_item); void (* activate_item) (GtkMenuItem *menu_item); void (* toggle_size_request) (GtkMenuItem *menu_item, - gint *requisition); + gint *requisition); void (* toggle_size_allocate) (GtkMenuItem *menu_item, - gint allocation); + gint allocation); void (* set_label) (GtkMenuItem *menu_item, - const gchar *label); + const gchar *label); G_CONST_RETURN gchar *(* get_label) (GtkMenuItem *menu_item); void (* select) (GtkMenuItem *menu_item); @@ -100,44 +89,36 @@ struct _GtkMenuItemClass }; -GType gtk_menu_item_get_type (void) G_GNUC_CONST; +GType gtk_menu_item_get_type (void) G_GNUC_CONST; + GtkWidget* gtk_menu_item_new (void); GtkWidget* gtk_menu_item_new_with_label (const gchar *label); GtkWidget* gtk_menu_item_new_with_mnemonic (const gchar *label); void gtk_menu_item_set_submenu (GtkMenuItem *menu_item, - GtkWidget *submenu); + GtkWidget *submenu); GtkWidget* gtk_menu_item_get_submenu (GtkMenuItem *menu_item); void gtk_menu_item_select (GtkMenuItem *menu_item); void gtk_menu_item_deselect (GtkMenuItem *menu_item); void gtk_menu_item_activate (GtkMenuItem *menu_item); void gtk_menu_item_toggle_size_request (GtkMenuItem *menu_item, - gint *requisition); + gint *requisition); void gtk_menu_item_toggle_size_allocate (GtkMenuItem *menu_item, - gint allocation); + gint allocation); void gtk_menu_item_set_right_justified (GtkMenuItem *menu_item, - gboolean right_justified); + gboolean right_justified); gboolean gtk_menu_item_get_right_justified (GtkMenuItem *menu_item); -void gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, - const gchar *accel_path); +void gtk_menu_item_set_accel_path (GtkMenuItem *menu_item, + const gchar *accel_path); G_CONST_RETURN gchar* gtk_menu_item_get_accel_path (GtkMenuItem *menu_item); void gtk_menu_item_set_label (GtkMenuItem *menu_item, - const gchar *label); + const gchar *label); G_CONST_RETURN gchar *gtk_menu_item_get_label (GtkMenuItem *menu_item); void gtk_menu_item_set_use_underline (GtkMenuItem *menu_item, - gboolean setting); + gboolean setting); gboolean gtk_menu_item_get_use_underline (GtkMenuItem *menu_item); -/* private */ -void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, - const gchar *prefix, - GtkAccelGroup *accel_group, - gboolean group_changed); -gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item); -void _gtk_menu_item_popup_submenu (GtkWidget *menu_item, - gboolean with_delay); -void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item); G_END_DECLS diff --git a/gtk/gtkmenuitemprivate.h b/gtk/gtkmenuitemprivate.h new file mode 100644 index 0000000000..226ff3cc9f --- /dev/null +++ b/gtk/gtkmenuitemprivate.h @@ -0,0 +1,63 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __GTK_MENU_ITEM_PRIVATE_H__ +#define __GTK_MENU_ITEM_PRIVATE_H__ + +#include +#include + + +G_BEGIN_DECLS + +struct _GtkMenuItemPrivate +{ + GtkWidget *submenu; + GdkWindow *event_window; + + guint16 toggle_size; + guint16 accelerator_width; + gchar *accel_path; + + guint show_submenu_indicator : 1; + guint submenu_placement : 1; + guint submenu_direction : 1; + guint right_justify : 1; + guint timer_from_keypress : 1; + guint from_menubar : 1; + guint use_action_appearance : 1; + + guint timer; + + GtkAction *action; +}; + +void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, + const gchar *prefix, + GtkAccelGroup *accel_group, + gboolean group_changed); +gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item); +void _gtk_menu_item_popup_submenu (GtkWidget *menu_item, + gboolean with_delay); +void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item); + + +G_END_DECLS + +#endif /* __GTK_MENU_ITEM_PRIVATE_H__ */ diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 71c25d9c7f..c8a8fab118 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -32,7 +32,7 @@ #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkmenubar.h" -#include "gtkmenuitem.h" +#include "gtkmenuitemprivate.h" #include "gtkmenushellprivate.h" #include "gtkmenuprivate.h" #include "gtkmnemonichash.h" @@ -645,9 +645,10 @@ gtk_menu_shell_button_press (GtkWidget *widget, } } - if (menu_item && _gtk_menu_item_is_selectable (menu_item) && - GTK_MENU_ITEM (menu_item)->submenu != NULL && - !gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->submenu)) + if (menu_item && + _gtk_menu_item_is_selectable (menu_item) && + GTK_MENU_ITEM (menu_item)->priv->submenu != NULL && + !gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->priv->submenu)) { _gtk_menu_item_popup_submenu (menu_item, FALSE); priv->activated_submenu = TRUE; @@ -701,7 +702,7 @@ gtk_menu_shell_button_release (GtkWidget *widget, if (menu_item && (priv->active_menu_item == menu_item) && _gtk_menu_item_is_selectable (menu_item)) { - GtkWidget *submenu = GTK_MENU_ITEM (menu_item)->submenu; + GtkWidget *submenu = GTK_MENU_ITEM (menu_item)->priv->submenu; if (submenu == NULL) { @@ -955,11 +956,11 @@ gtk_menu_shell_enter_notify (GtkWidget *widget, * its submenu. */ if ((event->state & (GDK_BUTTON1_MASK|GDK_BUTTON2_MASK|GDK_BUTTON3_MASK)) && - GTK_MENU_ITEM (menu_item)->submenu != NULL) + GTK_MENU_ITEM (menu_item)->priv->submenu != NULL) { GTK_MENU_SHELL (parent)->priv->activated_submenu = TRUE; - if (!gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->submenu)) + if (!gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->priv->submenu)) { gboolean touchscreen_mode; @@ -1010,7 +1011,7 @@ gtk_menu_shell_leave_notify (GtkWidget *widget, } if ((priv->active_menu_item == event_widget) && - (menu_item->submenu == NULL)) + (menu_item->priv->submenu == NULL)) { if ((event->detail != GDK_NOTIFY_INFERIOR) && (gtk_widget_get_state (GTK_WIDGET (menu_item)) != GTK_STATE_NORMAL)) @@ -1225,7 +1226,7 @@ gtk_menu_shell_real_select_item (GtkMenuShell *menu_shell, /* This allows the bizarre radio buttons-with-submenus-display-history * behavior */ - if (GTK_MENU_ITEM (priv->active_menu_item)->submenu) + if (GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu) gtk_widget_activate (priv->active_menu_item); } @@ -1447,11 +1448,11 @@ gtk_menu_shell_select_submenu_first (GtkMenuShell *menu_shell) menu_item = GTK_MENU_ITEM (priv->active_menu_item); - if (menu_item->submenu) + if (menu_item->priv->submenu) { _gtk_menu_item_popup_submenu (GTK_WIDGET (menu_item), FALSE); - gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->submenu), TRUE); - if (GTK_MENU_SHELL (menu_item->submenu)->priv->active_menu_item) + gtk_menu_shell_select_first (GTK_MENU_SHELL (menu_item->priv->submenu), TRUE); + if (GTK_MENU_SHELL (menu_item->priv->submenu)->priv->active_menu_item) return TRUE; } @@ -1483,8 +1484,8 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, case GTK_MENU_DIR_PARENT: if (touchscreen_mode && priv->active_menu_item && - GTK_MENU_ITEM (priv->active_menu_item)->submenu && - gtk_widget_get_visible (GTK_MENU_ITEM (priv->active_menu_item)->submenu)) + GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu && + gtk_widget_get_visible (GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu)) { /* if we are on a menu item that has an open submenu but the * focus is not in that submenu (e.g. because it's empty or @@ -1522,9 +1523,9 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, */ else if (priv->active_menu_item && _gtk_menu_item_is_selectable (priv->active_menu_item) && - GTK_MENU_ITEM (priv->active_menu_item)->submenu) + GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu) { - GtkMenuShell *submenu = GTK_MENU_SHELL (GTK_MENU_ITEM (priv->active_menu_item)->submenu); + GtkMenuShell *submenu = GTK_MENU_SHELL (GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu); if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement != GTK_MENU_SHELL_GET_CLASS (submenu)->submenu_placement) @@ -1535,7 +1536,7 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, case GTK_MENU_DIR_CHILD: if (priv->active_menu_item && _gtk_menu_item_is_selectable (priv->active_menu_item) && - GTK_MENU_ITEM (priv->active_menu_item)->submenu) + GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu) { if (gtk_menu_shell_select_submenu_first (menu_shell)) break; @@ -1562,17 +1563,13 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell, case GTK_MENU_DIR_PREV: gtk_menu_shell_move_selected (menu_shell, -1); - if (!had_selection && - !priv->active_menu_item && - priv->children) + if (!had_selection && !priv->active_menu_item && priv->children) _gtk_menu_shell_select_last (menu_shell, TRUE); break; case GTK_MENU_DIR_NEXT: gtk_menu_shell_move_selected (menu_shell, 1); - if (!had_selection && - !priv->active_menu_item && - priv->children) + if (!had_selection && !priv->active_menu_item && priv->children) gtk_menu_shell_select_first (menu_shell, TRUE); break; } @@ -1587,7 +1584,7 @@ gtk_real_menu_shell_activate_current (GtkMenuShell *menu_shell, if (priv->active_menu_item && _gtk_menu_item_is_selectable (priv->active_menu_item)) { - if (GTK_MENU_ITEM (priv->active_menu_item)->submenu == NULL) + if (GTK_MENU_ITEM (priv->active_menu_item)->priv->submenu == NULL) gtk_menu_shell_activate_item (menu_shell, priv->active_menu_item, force_hide); diff --git a/gtk/gtktearoffmenuitem.c b/gtk/gtktearoffmenuitem.c index da174f06c5..7774aade1d 100644 --- a/gtk/gtktearoffmenuitem.c +++ b/gtk/gtktearoffmenuitem.c @@ -27,6 +27,7 @@ #include "config.h" #include "gtkmenuprivate.h" +#include "gtkmenuitemprivate.h" #include "gtktearoffmenuitem.h" #include "gtkintl.h" @@ -186,28 +187,30 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, else shadow_type = GTK_SHADOW_OUT; - if (menu_item->toggle_size > ARROW_SIZE) + if (menu_item->priv->toggle_size > ARROW_SIZE) { if (direction == GTK_TEXT_DIR_LTR) { - arrow_x = x + (menu_item->toggle_size - ARROW_SIZE)/2; + arrow_x = x + (menu_item->priv->toggle_size - ARROW_SIZE)/2; arrow_type = GTK_ARROW_LEFT; } else { - arrow_x = x + width - menu_item->toggle_size + (menu_item->toggle_size - ARROW_SIZE)/2; - arrow_type = GTK_ARROW_RIGHT; + arrow_x = x + width - menu_item->priv->toggle_size + (menu_item->priv->toggle_size - ARROW_SIZE)/2; + arrow_type = GTK_ARROW_RIGHT; } - x += menu_item->toggle_size + BORDER_SPACING; + x += menu_item->priv->toggle_size + BORDER_SPACING; } else { - if (direction == GTK_TEXT_DIR_LTR) { - arrow_x = ARROW_SIZE / 2; - arrow_type = GTK_ARROW_LEFT; - } - else { - arrow_x = x + width - 2 * ARROW_SIZE + ARROW_SIZE / 2; - arrow_type = GTK_ARROW_RIGHT; - } + if (direction == GTK_TEXT_DIR_LTR) + { + arrow_x = ARROW_SIZE / 2; + arrow_type = GTK_ARROW_LEFT; + } + else + { + arrow_x = x + width - 2 * ARROW_SIZE + ARROW_SIZE / 2; + arrow_type = GTK_ARROW_RIGHT; + } x += 2 * ARROW_SIZE; } @@ -216,7 +219,7 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, state, shadow_type, widget, "tearoffmenuitem", arrow_type, FALSE, - arrow_x, y + height / 2 - 5, + arrow_x, y + height / 2 - 5, ARROW_SIZE, ARROW_SIZE); } From 0c4a0dae6d0223ed8ace8c353292ea0a5a1be864 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 26 Dec 2010 22:39:18 -0500 Subject: [PATCH 0931/1463] Remove pointless sealing from GtkTextChild --- gtk/gtktextchild.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gtk/gtktextchild.h b/gtk/gtktextchild.h index afcbadf8c7..e20fb442c3 100644 --- a/gtk/gtktextchild.h +++ b/gtk/gtktextchild.h @@ -58,7 +58,8 @@ struct _GtkTextChildAnchor { GObject parent_instance; - gpointer GSEAL (segment); + /*< private >*/ + gpointer segment; }; struct _GtkTextChildAnchorClass @@ -72,12 +73,12 @@ struct _GtkTextChildAnchorClass void (*_gtk_reserved4) (void); }; -GType gtk_text_child_anchor_get_type (void) G_GNUC_CONST; +GType gtk_text_child_anchor_get_type (void) G_GNUC_CONST; -GtkTextChildAnchor* gtk_text_child_anchor_new (void); +GtkTextChildAnchor* gtk_text_child_anchor_new (void); -GList* gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor); -gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor); +GList* gtk_text_child_anchor_get_widgets (GtkTextChildAnchor *anchor); +gboolean gtk_text_child_anchor_get_deleted (GtkTextChildAnchor *anchor); G_END_DECLS From 51f7e426507d1828cf0c7f33458dd60f0e1c74cf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 26 Dec 2010 23:17:10 -0500 Subject: [PATCH 0932/1463] Remove pointless sealing from GtkTextMark --- gtk/gtktextmark.h | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/gtk/gtktextmark.h b/gtk/gtktextmark.h index 5bddf92739..8b714bc25e 100644 --- a/gtk/gtktextmark.h +++ b/gtk/gtktextmark.h @@ -56,8 +56,6 @@ G_BEGIN_DECLS -/* The GtkTextMark data type */ - typedef struct _GtkTextMark GtkTextMark; typedef struct _GtkTextMarkClass GtkTextMarkClass; @@ -72,7 +70,8 @@ struct _GtkTextMark { GObject parent_instance; - gpointer GSEAL (segment); + /*< private >*/ + gpointer segment; }; struct _GtkTextMarkClass @@ -86,14 +85,14 @@ struct _GtkTextMarkClass void (*_gtk_reserved4) (void); }; -GType gtk_text_mark_get_type (void) G_GNUC_CONST; - -void gtk_text_mark_set_visible (GtkTextMark *mark, - gboolean setting); -gboolean gtk_text_mark_get_visible (GtkTextMark *mark); +GType gtk_text_mark_get_type (void) G_GNUC_CONST; GtkTextMark *gtk_text_mark_new (const gchar *name, - gboolean left_gravity); + gboolean left_gravity); +void gtk_text_mark_set_visible (GtkTextMark *mark, + gboolean setting); +gboolean gtk_text_mark_get_visible (GtkTextMark *mark); + G_CONST_RETURN gchar* gtk_text_mark_get_name (GtkTextMark *mark); gboolean gtk_text_mark_get_deleted (GtkTextMark *mark); GtkTextBuffer* gtk_text_mark_get_buffer (GtkTextMark *mark); @@ -101,6 +100,4 @@ gboolean gtk_text_mark_get_left_gravity (GtkTextMark *mark); G_END_DECLS -#endif - - +#endif /* __GTK_TEXT_MARK_H__ */ From 59ea137fa069c5506aeae95d7b7a10c3d28f8d62 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 26 Dec 2010 23:40:59 -0500 Subject: [PATCH 0933/1463] GtkTreeView: Don't use deprecated grab api --- gtk/gtktreeview.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 58f3bad8e3..df845c34f2 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -9717,7 +9717,6 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, GtkAllocation allocation; GtkAllocation button_allocation; GdkScreen *screen = gtk_widget_get_screen (GTK_WIDGET (tree_view)); - GdkDisplay *display = gdk_screen_get_display (screen); GtkWidget *button; GdkDevice *pointer, *keyboard; @@ -9749,13 +9748,24 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; tree_view->priv->drag_window = gdk_window_new (tree_view->priv->bin_window, - &attributes, - attributes_mask); + &attributes, + attributes_mask); gdk_window_set_user_data (tree_view->priv->drag_window, GTK_WIDGET (tree_view)); } - gdk_display_pointer_ungrab (display, GDK_CURRENT_TIME); - gdk_display_keyboard_ungrab (display, GDK_CURRENT_TIME); + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + { + keyboard = device; + pointer = gdk_device_get_associated_device (device); + } + else + { + pointer = device; + keyboard = gdk_device_get_associated_device (device); + } + + gdk_device_ungrab (pointer, GDK_CURRENT_TIME); + gdk_device_ungrab (keyboard, GDK_CURRENT_TIME); gtk_grab_remove (button); @@ -9808,16 +9818,6 @@ _gtk_tree_view_column_start_drag (GtkTreeView *tree_view, gtk_main_iteration (); tree_view->priv->in_column_drag = TRUE; - if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) - { - keyboard = device; - pointer = gdk_device_get_associated_device (device); - } - else - { - pointer = device; - keyboard = gdk_device_get_associated_device (device); - } gdk_device_grab (pointer, tree_view->priv->drag_window, From 48b47971b5c6657a8141b9128c5dc05bfa80ced7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 27 Dec 2010 01:02:52 -0500 Subject: [PATCH 0934/1463] Fix some issues with initial setup of GdkX11DisplayManager We need to defer setting the default display until the GdkDisplay is fully initialized. Also, short-circuit some encoding conversions when creating windows, to avoid an implicit dependency on the display being in the list of displays yet. --- gdk/x11/gdkdisplaymanager-x11.c | 12 ++++++++---- gdk/x11/gdkwindow-x11.c | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index 7d557fd1af..dd712d9296 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -49,7 +49,14 @@ static GdkDisplay * gdk_x11_display_manager_open_display (GdkDisplayManager *manager, const gchar *name) { - return _gdk_x11_display_open (name); + GdkX11DisplayManager *manager_x11 = GDK_X11_DISPLAY_MANAGER (manager); + GdkDisplay *display; + + display = _gdk_x11_display_open (name); + if (manager_x11->default_display == NULL) + gdk_display_manager_set_default_display (manager, display); + + return display; } static GSList * @@ -111,9 +118,6 @@ _gdk_x11_display_manager_add_display (GdkDisplayManager *manager, { GdkX11DisplayManager *manager_x11 = GDK_X11_DISPLAY_MANAGER (manager); - if (manager_x11->displays == NULL) - gdk_display_manager_set_default_display (manager, display); - manager_x11->displays = g_slist_prepend (manager_x11->displays, display); } diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index 5cc9fd20e4..bd76a511a9 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -2244,7 +2244,7 @@ set_text_property (GdkDisplay *display, if (utf8_is_latin1 (utf8_str)) { prop_type = XA_STRING; - prop_text = gdk_utf8_to_string_target (utf8_str); + prop_text = _gdk_x11_display_utf8_to_string_target (display, utf8_str); prop_length = prop_text ? strlen (prop_text) : 0; prop_format = 8; is_compound_text = FALSE; From e1029b907c862435b0464b7105b22582a4fb25c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Pi=C3=B1eiro?= Date: Sun, 26 Dec 2010 00:13:07 +0100 Subject: [PATCH 0935/1463] [gail] Proper connection to a toplevel window destroy signal Only connect to the destroy of a toplevel window if it was really added to the toplevel list of windows. The destroy callback was added to remove the window from the toplevel list. The callback doesn't cause a error, but would iterate on the toplevel list without success. --- modules/other/gail/gailtoplevel.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/modules/other/gail/gailtoplevel.c b/modules/other/gail/gailtoplevel.c index 6205a42ea3..f998a7007a 100644 --- a/modules/other/gail/gailtoplevel.c +++ b/modules/other/gail/gailtoplevel.c @@ -235,21 +235,23 @@ gail_toplevel_show_event_watcher (GSignalInvocationHint *ihint, * Add the window to the list & emit the signal. * Don't do this for tooltips (Bug #150649). */ - if (atk_object_get_role (child) != ATK_ROLE_TOOL_TIP) - { - toplevel->window_list = g_list_append (toplevel->window_list, widget); + if (atk_object_get_role (child) == ATK_ROLE_TOOL_TIP) + { + return TRUE; + } - n_children = g_list_length (toplevel->window_list); + toplevel->window_list = g_list_append (toplevel->window_list, widget); - /* - * Must subtract 1 from the n_children since the index is 0-based - * but g_list_length is 1-based. - */ - atk_object_set_parent (child, atk_obj); - g_signal_emit_by_name (atk_obj, "children-changed::add", - n_children - 1, - child, NULL); - } + n_children = g_list_length (toplevel->window_list); + + /* + * Must subtract 1 from the n_children since the index is 0-based + * but g_list_length is 1-based. + */ + atk_object_set_parent (child, atk_obj); + g_signal_emit_by_name (atk_obj, "children-changed::add", + n_children - 1, + child, NULL); /* Connect destroy signal callback */ g_signal_connect (G_OBJECT(object), From 586283ecbbfc0c5fb3354c07e978c680fe89f129 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Pi=C3=B1eiro?= Date: Sun, 26 Dec 2010 00:43:02 +0100 Subject: [PATCH 0936/1463] [gail] Clean the code to check the redundan object on the show watcher The watcher doesn't add a window if is a redundant object. This patch fixes two things: * The check was made twice. * It uses a check with the string "redundant object", when the defined role ATK_ROLE_REDUNDANT_OBJECT is available --- modules/other/gail/gailtoplevel.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/modules/other/gail/gailtoplevel.c b/modules/other/gail/gailtoplevel.c index f998a7007a..83a8583a42 100644 --- a/modules/other/gail/gailtoplevel.c +++ b/modules/other/gail/gailtoplevel.c @@ -220,13 +220,7 @@ gail_toplevel_show_event_watcher (GSignalInvocationHint *ihint, return TRUE; child = gtk_widget_get_accessible (widget); - if (!strcmp (atk_role_get_name (atk_object_get_role (child)), "redundant object")) - { - return TRUE; - } - - child = gtk_widget_get_accessible (widget); - if (!strcmp (atk_role_get_name (atk_object_get_role (child)), "redundant object")) + if (atk_object_get_role (child) == ATK_ROLE_REDUNDANT_OBJECT) { return TRUE; } From 0c285341a959ddbaad4ecc75e5f1a1ad66c5274e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 18:03:38 +0100 Subject: [PATCH 0937/1463] API: gdk: gdk_display_get_device_state() => gdk_device_get_position() The API was not display-specific, but belonged to the device. Also, we didn't find a user of the modifier mask, so we dropped it. --- docs/reference/gdk/gdk3-sections.txt | 2 +- gdk/gdk.symbols | 2 +- gdk/gdkdevice.c | 37 ++++++++++++++++ gdk/gdkdevice.h | 4 ++ gdk/gdkdisplay.c | 63 +++++++++------------------- gdk/gdkdisplay.h | 6 --- gtk/gtkcolorsel.c | 3 +- gtk/gtkdnd.c | 8 +--- gtk/gtkhandlebox.c | 7 ++-- gtk/gtkmenu.c | 3 +- gtk/gtknotebook.c | 5 +-- gtk/gtkwindow.c | 12 +++--- 12 files changed, 77 insertions(+), 75 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 6aa124debf..b1141d6769 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -124,7 +124,6 @@ gdk_display_add_client_message_filter gdk_display_set_double_click_time gdk_display_set_double_click_distance gdk_display_get_pointer -gdk_display_get_device_state gdk_display_list_devices gdk_display_get_window_at_pointer gdk_display_get_window_at_device_position @@ -705,6 +704,7 @@ gdk_device_ungrab gdk_device_get_state +gdk_device_get_position gdk_device_get_history gdk_device_free_history GdkTimeCoord diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 7da506bee9..7545fe2067 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -59,6 +59,7 @@ gdk_device_get_mode gdk_device_get_name gdk_device_get_n_axes gdk_device_get_n_keys +gdk_device_get_position gdk_device_get_source gdk_device_get_state gdk_device_get_type G_GNUC_CONST @@ -89,7 +90,6 @@ gdk_display_get_default_cursor_size gdk_display_get_default_group gdk_display_get_default_screen gdk_display_get_device_manager -gdk_display_get_device_state gdk_display_get_event gdk_display_get_maximal_cursor_size gdk_display_get_name diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 714c8cd123..39af300213 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -398,6 +398,43 @@ gdk_device_get_state (GdkDevice *device, GDK_DEVICE_GET_CLASS (device)->get_state (device, window, axes, mask); } +/** + * gdk_device_get_position: + * @device: pointer device to query status about. + * @screen: (out) (transfer none) (allow-none): location to store the #GdkScreen + * the @device is on, or %NULL. + * @x: (out) (allow-none): location to store root window X coordinate of @device, or %NULL. + * @y: (out) (allow-none): location to store root window Y coordinate of @device, or %NULL. + * + * Gets the current location of @device. + * + * Since: 3.0 + **/ +void +gdk_device_get_position (GdkDevice *device, + GdkScreen **screen, + gint *x, + gint *y) +{ + GdkScreen *tmp_screen; + GdkDisplay *display; + gint tmp_x, tmp_y; + GdkModifierType tmp_mask; + + g_return_if_fail (GDK_IS_DEVICE (device)); + g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); + + display = gdk_device_get_display (device); + display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask); + + if (screen) + *screen = tmp_screen; + if (x) + *x = tmp_x; + if (y) + *y = tmp_y; +} + /** * gdk_device_get_history: * @device: a #GdkDevice diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index ef142eb28a..ecce89a338 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -189,6 +189,10 @@ void gdk_device_get_state (GdkDevice *device, GdkWindow *window, gdouble *axes, GdkModifierType *mask); +void gdk_device_get_position (GdkDevice *device, + GdkScreen **screen, + gint *x, + gint *y); gboolean gdk_device_get_history (GdkDevice *device, GdkWindow *window, guint32 start, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index a3dd068674..e7f7fc57e8 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -696,48 +696,6 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, } } -/** - * gdk_display_get_device_state: - * @display: a #GdkDisplay. - * @device: pointer device to query status about. - * @screen: (out) (transfer none) (allow-none): location to store the #GdkScreen - * the @device is on, or %NULL. - * @x: (out) (allow-none): location to store root window X coordinate of @device, or %NULL. - * @y: (out) (allow-none): location to store root window Y coordinate of @device, or %NULL. - * @mask: (out) (allow-none): location to store current modifier mask for @device, or %NULL. - * - * Gets the current location and state of @device for a given display. - * - * Since: 3.0 - **/ -void -gdk_display_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask) -{ - GdkScreen *tmp_screen; - gint tmp_x, tmp_y; - GdkModifierType tmp_mask; - - g_return_if_fail (GDK_IS_DISPLAY (display)); - g_return_if_fail (GDK_IS_DEVICE (device)); - g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); - - display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask); - - if (screen) - *screen = tmp_screen; - if (x) - *x = tmp_x; - if (y) - *y = tmp_y; - if (mask) - *mask = tmp_mask; -} - /** * gdk_display_get_window_at_device_position: * @display: a #GdkDisplay. @@ -822,7 +780,7 @@ gdk_display_set_device_hooks (GdkDisplay *display, * * Since: 2.2 * - * Deprecated: 3.0: Use gdk_display_get_device_state() instead. + * Deprecated: 3.0: Use gdk_device_get_position() instead. **/ void gdk_display_get_pointer (GdkDisplay *display, @@ -831,9 +789,26 @@ gdk_display_get_pointer (GdkDisplay *display, gint *y, GdkModifierType *mask) { + GdkScreen *tmp_screen; + gint tmp_x, tmp_y; + GdkModifierType tmp_mask; + g_return_if_fail (GDK_IS_DISPLAY (display)); - gdk_display_get_device_state (display, display->core_pointer, screen, x, y, mask); + /* We call get_device_state here manually instead of gdk_device_get_position() + * because we also care about the modifier mask */ + + display->device_hooks->get_device_state (display, + display->core_pointer, + &tmp_screen, &tmp_x, &tmp_y, &tmp_mask); + if (screen) + *screen = tmp_screen; + if (x) + *x = tmp_x; + if (y) + *y = tmp_y; + if (mask) + *mask = tmp_mask; } static GdkWindow * diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index bda19c2b77..100b9c37e1 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -191,12 +191,6 @@ GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay #endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ -void gdk_display_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); GdkWindow * gdk_display_get_window_at_device_position (GdkDisplay *display, GdkDevice *device, gint *win_x, diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 8f90a8911e..b6a4e4e98c 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -1804,7 +1804,6 @@ key_press (GtkWidget *invisible, GdkEventKey *event, gpointer data) { - GdkDisplay *display = gtk_widget_get_display (invisible); GdkScreen *screen = gdk_event_get_screen ((GdkEvent *) event); GdkDevice *device, *pointer_device; guint state = event->state & gtk_accelerator_get_default_mod_mask (); @@ -1813,7 +1812,7 @@ key_press (GtkWidget *invisible, device = gdk_event_get_device ((GdkEvent * ) event); pointer_device = gdk_device_get_associated_device (device); - gdk_display_get_device_state (display, pointer_device, NULL, &x, &y, NULL); + gdk_device_get_position (pointer_device, NULL, &x, &y); dx = 0; dy = 0; diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index 48d726bc95..bb90456026 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -2415,8 +2415,7 @@ gtk_drag_begin_internal (GtkWidget *widget, } else { - gdk_display_get_device_state (gtk_widget_get_display (widget), pointer, - &info->cur_screen, &info->cur_x, &info->cur_y, NULL); + gdk_device_get_position (pointer, &info->cur_screen, &info->cur_x, &info->cur_y); } g_signal_emit_by_name (widget, "drag-begin", info->context); @@ -4160,10 +4159,7 @@ gtk_drag_motion_cb (GtkWidget *widget, if (event->is_hint) { - GdkDisplay *display = gtk_widget_get_display (widget); - - gdk_display_get_device_state (display, event->device, - &screen, &x_root, &y_root, NULL); + gdk_device_get_position (event->device, &screen, &x_root, &y_root); event->x_root = x_root; event->y_root = y_root; } diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index 0c2ca5051f..ef458d4d0f 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -1236,10 +1236,9 @@ gtk_handle_box_motion (GtkWidget *widget, new_x = 0; new_y = 0; screen = gtk_widget_get_screen (widget); - gdk_display_get_device_state (gdk_screen_get_display (screen), - event->device, - &pointer_screen, - &new_x, &new_y, NULL); + gdk_device_get_position (event->device, + &pointer_screen, + &new_x, &new_y); if (pointer_screen != screen) { new_x = priv->orig_x; diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 67f3083d46..cb203e8d04 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -4497,8 +4497,7 @@ gtk_menu_position (GtkMenu *menu, screen = gtk_widget_get_screen (widget); pointer = _gtk_menu_shell_get_grab_device (GTK_MENU_SHELL (menu)); - gdk_display_get_device_state (gdk_screen_get_display (screen), - pointer, &pointer_screen, &x, &y, NULL); + gdk_device_get_position (pointer, &pointer_screen, &x, &y); /* Get the minimum height for minimum width to figure out * the right place to popup the menu. diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index ee8f4517f5..742662de90 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -3596,9 +3596,8 @@ gtk_notebook_drag_failed (GtkWidget *widget, gint x, y; display = gtk_widget_get_display (widget); - gdk_display_get_device_state (gtk_widget_get_display (widget), - gdk_drag_context_get_device (context), - NULL, &x, &y, NULL); + gdk_device_get_position (gdk_drag_context_get_device (context), + NULL, &x, &y); g_signal_emit (notebook, notebook_signals[CREATE_WINDOW], 0, priv->detached_tab->child, x, y, &dest_notebook); diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index c21e0d3963..78a2a62bf5 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -6316,9 +6316,9 @@ get_monitor_containing_pointer (GtkWindow *window) device_manager = gdk_display_get_device_manager (display); pointer = gdk_device_manager_get_client_pointer (device_manager); - gdk_display_get_device_state (display, pointer, - &pointer_screen, - &px, &py, NULL); + gdk_device_get_position (pointer, + &pointer_screen, + &px, &py); if (pointer_screen == window_screen) monitor_num = gdk_screen_get_monitor_at_point (pointer_screen, px, py); @@ -6518,9 +6518,9 @@ gtk_window_compute_configure_request (GtkWindow *window, device_manager = gdk_display_get_device_manager (display); pointer = gdk_device_manager_get_client_pointer (device_manager); - gdk_display_get_device_state (display, pointer, - &pointer_screen, - &px, &py, NULL); + gdk_device_get_position (pointer, + &pointer_screen, + &px, &py); if (pointer_screen == screen) monitor_num = gdk_screen_get_monitor_at_point (screen, px, py); From 97469915489704d28a9d85c3e6ad698f73b203f3 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 18:45:39 +0100 Subject: [PATCH 0938/1463] API: gdk: Make gdk_display_get_window_at_device_position() a device API It's now called gdk_device_get_window_at_position(). It doesn't make sense to keep device-specific API part of the display. --- docs/reference/gdk/gdk3-sections.txt | 2 +- gdk/gdk.symbols | 2 +- gdk/gdkdevice.c | 39 +++++++++++++++++++++++++ gdk/gdkdevice.h | 5 ++++ gdk/gdkdisplay.c | 43 ++-------------------------- gdk/gdkdisplay.h | 5 ---- gdk/gdkwindow.c | 5 ++-- gtk/gtkcolorsel.c | 3 +- gtk/gtktooltip.c | 4 +-- 9 files changed, 52 insertions(+), 56 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index b1141d6769..121e6fc64e 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -126,7 +126,6 @@ gdk_display_set_double_click_distance gdk_display_get_pointer gdk_display_list_devices gdk_display_get_window_at_pointer -gdk_display_get_window_at_device_position GdkDisplayPointerHooks gdk_display_set_pointer_hooks GdkDisplayDeviceHooks @@ -705,6 +704,7 @@ gdk_device_ungrab gdk_device_get_state gdk_device_get_position +gdk_device_get_window_at_position gdk_device_get_history gdk_device_free_history GdkTimeCoord diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 7545fe2067..d23f75390f 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -63,6 +63,7 @@ gdk_device_get_position gdk_device_get_source gdk_device_get_state gdk_device_get_type G_GNUC_CONST +gdk_device_get_window_at_position gdk_device_grab gdk_device_grab_info_libgtk_only gdk_device_list_axes @@ -97,7 +98,6 @@ gdk_display_get_n_screens gdk_display_get_pointer gdk_display_get_screen gdk_display_get_type G_GNUC_CONST -gdk_display_get_window_at_device_position gdk_display_get_window_at_pointer gdk_display_has_pending gdk_display_is_closed diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 39af300213..8d23314f38 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -435,6 +435,45 @@ gdk_device_get_position (GdkDevice *device, *y = tmp_y; } +/** + * gdk_device_get_window_at_position: + * @device: pointer #GdkDevice to query info to. + * @win_x: (out) (allow-none): return location for the X coordinate of the device location, + * relative to the window origin, or %NULL. + * @win_y: (out) (allow-none): return location for the Y coordinate of the device location, + * relative to the window origin, or %NULL. + * + * Obtains the window underneath @device, returning the location of the device in @win_x and @win_y. Returns + * %NULL if the window tree under @device is not known to GDK (for example, belongs to another application). + * + * Returns: (transfer none): the #GdkWindow under the device position, or %NULL. + * + * Since: 3.0 + **/ +GdkWindow * +gdk_device_get_window_at_position (GdkDevice *device, + gint *win_x, + gint *win_y) +{ + GdkDisplay *display; + gint tmp_x, tmp_y; + GdkWindow *window; + + g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); + g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); + + display = gdk_device_get_display (device); + + window = display->device_hooks->window_at_device_position (display, device, &tmp_x, &tmp_y); + + if (win_x) + *win_x = tmp_x; + if (win_y) + *win_y = tmp_y; + + return window; +} + /** * gdk_device_get_history: * @device: a #GdkDevice diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index ecce89a338..3cc15e39f5 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -193,6 +193,11 @@ void gdk_device_get_position (GdkDevice *device, GdkScreen **screen, gint *x, gint *y); +GdkWindow * + gdk_device_get_window_at_position + (GdkDevice *device, + gint *win_x, + gint *win_y); gboolean gdk_device_get_history (GdkDevice *device, GdkWindow *window, guint32 start, diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index e7f7fc57e8..fdd98604ba 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -696,45 +696,6 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, } } -/** - * gdk_display_get_window_at_device_position: - * @display: a #GdkDisplay. - * @device: pointer #GdkDevice to query info to. - * @win_x: (out) (allow-none): return location for the X coordinate of the device location, - * relative to the window origin, or %NULL. - * @win_y: (out) (allow-none): return location for the Y coordinate of the device location, - * relative to the window origin, or %NULL. - * - * Obtains the window underneath @device, returning the location of the device in @win_x and @win_y. Returns - * %NULL if the window tree under @device is not known to GDK (for example, belongs to another application). - * - * Returns: (transfer none): the #GdkWindow under the device position, or %NULL. - * - * Since: 3.0 - **/ -GdkWindow * -gdk_display_get_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y) -{ - gint tmp_x, tmp_y; - GdkWindow *window; - - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); - g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); - - window = display->device_hooks->window_at_device_position (display, device, &tmp_x, &tmp_y); - - if (win_x) - *win_x = tmp_x; - if (win_y) - *win_y = tmp_y; - - return window; -} - /** * gdk_display_set_device_hooks: * @display: a #GdkDisplay. @@ -890,7 +851,7 @@ gdk_window_real_window_get_device_position (GdkDisplay *display, * * Since: 2.2 * - * Deprecated: 3.0: Use gdk_display_get_window_at_device_position() instead. + * Deprecated: 3.0: Use gdk_device_get_window_at_position() instead. **/ GdkWindow * gdk_display_get_window_at_pointer (GdkDisplay *display, @@ -899,7 +860,7 @@ gdk_display_get_window_at_pointer (GdkDisplay *display, { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - return gdk_display_get_window_at_device_position (display, display->core_pointer, win_x, win_y); + return gdk_device_get_window_at_position (display->core_pointer, win_x, win_y); } static void diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 100b9c37e1..c782c246ec 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -191,11 +191,6 @@ GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay #endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ -GdkWindow * gdk_display_get_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y); - GdkDisplayDeviceHooks *gdk_display_set_device_hooks (GdkDisplay *display, const GdkDisplayDeviceHooks *new_hooks); diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 359706be7a..260746c990 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4951,8 +4951,7 @@ gdk_window_get_pointer (GdkWindow *window, * corner of @window. * * Return value: (transfer none): The window underneath @device (as with - * gdk_display_get_window_at_device_position()), or %NULL if the - * window is not known to GDK. + * gdk_device_get_window_at_position()), or %NULL if the window is not known to GDK. * * Since: 3.0 **/ @@ -5007,7 +5006,7 @@ gdk_window_get_device_position (GdkWindow *window, * * Return value: (transfer none): window under the mouse pointer * - * Deprecated: 3.0: Use gdk_display_get_window_at_device_position() instead. + * Deprecated: 3.0: Use gdk_device_get_window_at_position() instead. **/ GdkWindow* gdk_window_at_pointer (gint *win_x, diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index b6a4e4e98c..9831506521 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -1710,8 +1710,7 @@ grab_color_at_pointer (GdkScreen *screen, if (!pixbuf) { gint x, y; - GdkDisplay *display = gdk_screen_get_display (screen); - GdkWindow *window = gdk_display_get_window_at_device_position (display, device, &x, &y); + GdkWindow *window = gdk_device_get_window_at_position (device, &x, &y); if (!window) return; pixbuf = gdk_pixbuf_get_from_window (window, diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index 3520128da4..8c4ef8987f 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -536,9 +536,7 @@ gtk_tooltip_trigger_tooltip_query (GdkDisplay *display) /* Trigger logic as if the mouse moved */ device = gdk_device_manager_get_client_pointer (gdk_display_get_device_manager (display)); - window = gdk_display_get_window_at_device_position (display, - device, - &x, &y); + window = gdk_device_get_window_at_position (device, &x, &y); if (!window) return; From 7ab74228215f0612282750925fe56dfe9b9071d4 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 19:27:16 +0100 Subject: [PATCH 0939/1463] testgtk: Use the relevant device to query the widget to snapshot Also gets rid of deprecated functions. --- tests/testgtk.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index 0f5bb0f1b0..5e840a855a 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -8576,14 +8576,14 @@ find_widget (GtkWidget *widget, FindWidgetData *data) } static GtkWidget * -find_widget_at_pointer (GdkDisplay *display) +find_widget_at_pointer (GdkDevice *device) { GtkWidget *widget = NULL; GdkWindow *pointer_window; gint x, y; FindWidgetData data; - pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL); + pointer_window = gdk_device_get_window_at_position (device, NULL, NULL); if (pointer_window) { @@ -8658,7 +8658,7 @@ property_query_event (GtkWidget *widget, gtk_grab_remove (widget); gdk_device_ungrab (gdk_event_get_device (event), GDK_CURRENT_TIME); - res_widget = find_widget_at_pointer (gtk_widget_get_display (widget)); + res_widget = find_widget_at_pointer (gdk_event_get_device (event)); if (res_widget) { g_object_set_data (G_OBJECT (res_widget), "prop-editor-screen", @@ -8799,7 +8799,7 @@ snapshot_widget_event (GtkWidget *widget, gdk_display_pointer_ungrab (gtk_widget_get_display (widget), GDK_CURRENT_TIME); - res_widget = find_widget_at_pointer (gtk_widget_get_display (widget)); + res_widget = find_widget_at_pointer (gdk_event_get_device (event)); if (data->is_toplevel && res_widget) res_widget = gtk_widget_get_toplevel (res_widget); if (res_widget) From e4cc25911150ab26b93d903c3502526802418fee Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 19:43:24 +0100 Subject: [PATCH 0940/1463] testgtk: Don't use deprecated APIs --- tests/testgtk.c | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index 5e840a855a..bded12ded1 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -8796,8 +8796,8 @@ snapshot_widget_event (GtkWidget *widget, if (event->type == GDK_BUTTON_RELEASE) { gtk_grab_remove (widget); - gdk_display_pointer_ungrab (gtk_widget_get_display (widget), - GDK_CURRENT_TIME); + gdk_device_ungrab (gdk_event_get_device (event), + GDK_CURRENT_TIME); res_widget = find_widget_at_pointer (gdk_event_get_device (event)); if (data->is_toplevel && res_widget) @@ -8843,10 +8843,15 @@ snapshot_widget (GtkButton *button, struct SnapshotData *data) { GtkWidget *widget = GTK_WIDGET (button); + GdkDevice *device; gint failure; - g_signal_connect (button, "event", - G_CALLBACK (snapshot_widget_event), data); + device = gtk_get_current_event_device (); + if (device == NULL) + return; + + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + device = gdk_device_get_associated_device (device); data->is_toplevel = widget == data->toplevel_button; @@ -8854,12 +8859,16 @@ snapshot_widget (GtkButton *button, data->cursor = gdk_cursor_new_for_display (gtk_widget_get_display (widget), GDK_TARGET); - failure = gdk_pointer_grab (gtk_widget_get_window (widget), - TRUE, - GDK_BUTTON_RELEASE_MASK, - NULL, - data->cursor, - GDK_CURRENT_TIME); + failure = gdk_device_grab (device, + gtk_widget_get_window (widget), + GDK_OWNERSHIP_APPLICATION, + TRUE, + GDK_BUTTON_RELEASE_MASK, + data->cursor, + GDK_CURRENT_TIME); + + g_signal_connect (button, "event", + G_CALLBACK (snapshot_widget_event), data); gtk_grab_add (widget); From 42fbccd3d2bacd45c84792a30b38480599920b07 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 27 Dec 2010 20:08:50 +0100 Subject: [PATCH 0941/1463] API: gdk: Remove gdk_device_set_source() The source of a device is not changeable. --- docs/reference/gdk/gdk3-sections.txt | 1 - gdk/gdk.symbols | 1 - gdk/gdkdevice.c | 17 ----------------- gdk/gdkdevice.h | 2 -- 4 files changed, 21 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 121e6fc64e..5902b08536 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -680,7 +680,6 @@ GdkGrabOwnership gdk_device_get_name -gdk_device_set_source gdk_device_get_source gdk_device_set_mode gdk_device_get_mode diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index d23f75390f..e9b45f9307 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -75,7 +75,6 @@ gdk_device_manager_list_devices gdk_device_set_axis_use gdk_device_set_key gdk_device_set_mode -gdk_device_set_source gdk_device_type_get_type G_GNUC_CONST gdk_device_ungrab gdk_device_warp diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 8d23314f38..3e78fc0035 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -609,23 +609,6 @@ gdk_device_get_source (GdkDevice *device) return device->source; } -/** - * gdk_device_set_source: - * @device: a #GdkDevice. - * @source: the source type. - * - * Sets the source type for an input device. - **/ -void -gdk_device_set_source (GdkDevice *device, - GdkInputSource source) -{ - g_return_if_fail (GDK_IS_DEVICE (device)); - - device->source = source; - g_object_notify (G_OBJECT (device), "input-source"); -} - /** * gdk_device_get_mode: * @device: a #GdkDevice diff --git a/gdk/gdkdevice.h b/gdk/gdkdevice.h index 3cc15e39f5..1e4ae22b3b 100644 --- a/gdk/gdkdevice.h +++ b/gdk/gdkdevice.h @@ -161,8 +161,6 @@ gboolean gdk_device_get_has_cursor (GdkDevice *device); /* Functions to configure a device */ GdkInputSource gdk_device_get_source (GdkDevice *device); -void gdk_device_set_source (GdkDevice *device, - GdkInputSource source); GdkInputMode gdk_device_get_mode (GdkDevice *device); gboolean gdk_device_set_mode (GdkDevice *device, From 7032996c76c577a9ab13c47f01ecadc762b87506 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 27 Dec 2010 19:24:05 -0500 Subject: [PATCH 0942/1463] Remove bashisms from configure.ac Pointed out by Koop Mast in https://bugzilla.gnome.org/show_bug.cgi?id=637974 --- configure.ac | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index 7be4641320..a90f7d11a6 100644 --- a/configure.ac +++ b/configure.ac @@ -1520,16 +1520,16 @@ _______EOF ],[ gdk_windowing='' if expr "$gdktarget" : ".*x11.*" > /dev/null ; then - gdk_windowing+=' + gdk_windowing='$gdk_windowing #define GDK_WINDOWING_X11' fi if expr "$gdktarget" : ".*win32.*" > /dev/null ; then - gdk_windowing+=' + gdk_windowing='$gdk_windowing #define GDK_NATIVE_WINDOW_POINTER #define GDK_WINDOWING_WIN32' fi if expr "$gdktarget" : ".*quartz.*" > /dev/null ; then - gdk_windowing=' + gdk_windowing='$gdk_windowing #define GDK_WINDOWING_QUARTZ' fi ]) @@ -1551,7 +1551,7 @@ AC_ARG_ENABLE(Bsymbolic, enable_Bsymbolic=no) LDFLAGS="${SAVED_LDFLAGS}"]) -if test "x${enable_Bsymbolic}" == "xyes"; then +if test "x${enable_Bsymbolic}" = "xyes" ; then GTK_LINK_FLAGS=-Wl,-Bsymbolic-functions fi AC_SUBST(GTK_LINK_FLAGS) From 9d64a5833dcb5afd66f3150a365180cdea595906 Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Tue, 28 Dec 2010 00:03:29 +0100 Subject: [PATCH 0943/1463] Fix docs. --- gtk/gtktextview.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index fdd44f166b..163a2ca02d 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -6806,7 +6806,7 @@ gtk_text_view_reset_im_context (GtkTextView *text_view) * gtk_foo_bar_key_press_event (GtkWidget *widget, * GdkEventKey *event) * { - * if ((key->keyval == GDK_Return || key->keyval == GDK_KP_Enter)) + * if ((key->keyval == GDK_KEY_Return || key->keyval == GDK_KEY_KP_Enter)) * { * if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (view), event)) * return TRUE; @@ -7350,6 +7350,8 @@ gtk_text_view_set_hadjustment (GtkTextView *text_view, * Returns: (transfer none): pointer to the vertical #GtkAdjustment * * Since: 2.22 + * + * Deprecated: 3.0: Use gtk_scrollable_get_vadjustment() **/ GtkAdjustment* gtk_text_view_get_vadjustment (GtkTextView *text_view) From 05254766c7c174cbc4951ec6df1ad64826f6c9f5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 28 Dec 2010 23:15:39 +0900 Subject: [PATCH 0944/1463] Avoid rendering frames when shadow type argument is GTK_SHADOW_NONE in gtk_paint_* functions. --- gtk/gtkstyle.c | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 635bacfc63..40c3928672 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -1639,6 +1639,9 @@ gtk_default_draw_shadow (GtkStyle *style, GtkStyleContext *context; GtkStylePrivate *priv; + if (shadow_type == GTK_SHADOW_NONE) + return; + if (widget) context = gtk_widget_get_style_context (widget); else @@ -1995,7 +1998,9 @@ gtk_default_draw_box (GtkStyle *style, else { gtk_render_background (context, cr, x, y, width, height); - gtk_render_frame (context, cr, x, y, width, height); + + if (shadow_type != GTK_SHADOW_NONE) + gtk_render_frame (context, cr, x, y, width, height); } cairo_restore (cr); @@ -2255,6 +2260,9 @@ gtk_default_draw_shadow_gap (GtkStyle *style, GtkStylePrivate *priv; GtkStateFlags flags = 0; + if (shadow_type == GTK_SHADOW_NONE) + return; + if (widget) context = gtk_widget_get_style_context (widget); else @@ -2361,15 +2369,17 @@ gtk_default_draw_box_gap (GtkStyle *style, (gdouble) width, (gdouble) height); - gtk_render_frame_gap (context, cr, - (gdouble) x, - (gdouble) y, - (gdouble) width, - (gdouble) height, - gap_side, - (gdouble) gap_x, - (gdouble) gap_x + gap_width); + if (shadow_type != GTK_SHADOW_NONE) + gtk_render_frame_gap (context, cr, + (gdouble) x, + (gdouble) y, + (gdouble) width, + (gdouble) height, + gap_side, + (gdouble) gap_x, + (gdouble) gap_x + gap_width); + cairo_restore (cr); gtk_style_context_restore (context); } From 7a623988e5566a32f60b579b1c701b563f70d677 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Sat, 25 Dec 2010 11:59:56 +0100 Subject: [PATCH 0945/1463] Fix leak in GtkStyle. --- gtk/gtkstyle.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 40c3928672..5eb6a20085 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -745,9 +745,14 @@ gtk_style_update_from_context (GtkStyle *style) style->white.blue = 0xffff; for (i = 0; i < 5; i++) - style->background[i] = cairo_pattern_create_rgb (style->bg[i].red / 65535.0, - style->bg[i].green / 65535.0, - style->bg[i].blue / 65535.0); + { + if (style->background[i]) + cairo_pattern_destroy (style->background[i]); + + style->background[i] = cairo_pattern_create_rgb (style->bg[i].red / 65535.0, + style->bg[i].green / 65535.0, + style->bg[i].blue / 65535.0); + } } static void From 06462b98a0f4faf3f427d65bfacff3e389669f7c Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 17:37:22 +0100 Subject: [PATCH 0946/1463] Make GtkFrame use GtkStyleContext. --- gtk/gtkframe.c | 169 ++++++++++++++++++++++++++---------------- gtk/gtkstylecontext.h | 8 ++ 2 files changed, 113 insertions(+), 64 deletions(-) diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c index 3390e47e8b..5a8843f712 100644 --- a/gtk/gtkframe.c +++ b/gtk/gtkframe.c @@ -582,59 +582,62 @@ gtk_frame_draw (GtkWidget *widget, { GtkFrame *frame; GtkFramePrivate *priv; - GtkStateType state; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; gint x, y, width, height; GtkAllocation allocation; + GtkBorder padding; frame = GTK_FRAME (widget); priv = frame->priv; - style = gtk_widget_get_style (widget); - state = gtk_widget_get_state (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); gtk_widget_get_allocation (widget, &allocation); - x = priv->child_allocation.x - allocation.x - style->xthickness; - y = priv->child_allocation.y - allocation.y - style->ythickness; - width = priv->child_allocation.width + 2 * style->xthickness; - height = priv->child_allocation.height + 2 * style->ythickness; + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); - if (priv->label_widget) + gtk_style_context_get_padding (context, state, &padding); + + x = priv->child_allocation.x - allocation.x - padding.left; + y = priv->child_allocation.y - allocation.y - padding.top; + width = priv->child_allocation.width + padding.left + padding.right; + height = priv->child_allocation.height + padding.top + padding.bottom; + + if (priv->shadow_type != GTK_SHADOW_NONE) { - gfloat xalign; - gint height_extra; - gint x2; + if (priv->label_widget) + { + gfloat xalign; + gint height_extra; + gint x2; - if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) - xalign = priv->label_xalign; + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) + xalign = priv->label_xalign; + else + xalign = 1 - priv->label_xalign; + + height_extra = MAX (0, priv->label_allocation.height - padding.top) + - priv->label_yalign * priv->label_allocation.height; + y -= height_extra; + height += height_extra; + + x2 = padding.left + (priv->child_allocation.width - priv->label_allocation.width - 2 * LABEL_PAD - 2 * LABEL_SIDE_PAD) * xalign + LABEL_SIDE_PAD; + /* If the label is completely over or under the frame we can omit the gap */ + if (priv->label_yalign == 0.0 || priv->label_yalign == 1.0) + gtk_render_frame (context, cr, x, y, width, height); + else + gtk_render_frame_gap (context, cr, + x, y, width, height, + GTK_POS_TOP, x2, + x2 + priv->label_allocation.width + 2 * LABEL_PAD); + } else - xalign = 1 - priv->label_xalign; - - height_extra = MAX (0, priv->label_allocation.height - style->ythickness) - - priv->label_yalign * priv->label_allocation.height; - y -= height_extra; - height += height_extra; - - x2 = style->xthickness + (priv->child_allocation.width - priv->label_allocation.width - 2 * LABEL_PAD - 2 * LABEL_SIDE_PAD) * xalign + LABEL_SIDE_PAD; - /* If the label is completely over or under the frame we can omit the gap */ - if (priv->label_yalign == 0.0 || priv->label_yalign == 1.0) - gtk_paint_shadow (style, cr, - state, priv->shadow_type, - widget, "frame", - x, y, width, height); - else - gtk_paint_shadow_gap (style, cr, - state, priv->shadow_type, - widget, "frame", - x, y, width, height, - GTK_POS_TOP, - x2, priv->label_allocation.width + 2 * LABEL_PAD); + gtk_render_frame (context, cr, x, y, width, height); } - else - gtk_paint_shadow (style, cr, - state, priv->shadow_type, - widget, "frame", - x, y, width, height); + + gtk_style_context_restore (context); GTK_WIDGET_CLASS (gtk_frame_parent_class)->draw (widget, cr); @@ -671,11 +674,19 @@ gtk_frame_size_allocate (GtkWidget *widget, if (priv->label_widget && gtk_widget_get_visible (priv->label_widget)) { - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint nat_width, width, height; gfloat xalign; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + + gtk_style_context_get_padding (context, state, &padding); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) xalign = priv->label_xalign; @@ -695,10 +706,12 @@ gtk_frame_size_allocate (GtkWidget *widget, priv->label_allocation.width = width; - priv->label_allocation.y = priv->child_allocation.y - MAX (height, style->ythickness); + priv->label_allocation.y = priv->child_allocation.y - MAX (height, padding.top); priv->label_allocation.height = height; gtk_widget_size_allocate (priv->label_widget, &priv->label_allocation); + + gtk_style_context_restore (context); } } @@ -719,12 +732,19 @@ gtk_frame_real_compute_child_allocation (GtkFrame *frame, GtkFramePrivate *priv = frame->priv; GtkWidget *widget = GTK_WIDGET (frame); GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint top_margin; guint border_width; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + + gtk_style_context_get_padding (context, state, &padding); gtk_widget_get_allocation (widget, &allocation); border_width = gtk_container_get_border_width (GTK_CONTAINER (frame)); @@ -737,26 +757,29 @@ gtk_frame_real_compute_child_allocation (GtkFrame *frame, width = allocation.width; width -= 2 * LABEL_PAD + 2 * LABEL_SIDE_PAD; - width -= (border_width + style->xthickness) * 2; + width -= (border_width * 2) + padding.left + padding.right; width = MIN (width, nat_width); gtk_widget_get_preferred_height_for_width (priv->label_widget, width, &height, NULL); - top_margin = MAX (height, style->ythickness); + top_margin = MAX (height, padding.top); } else - top_margin = style->ythickness; + top_margin = padding.top; - child_allocation->x = border_width + style->xthickness; + child_allocation->x = border_width + padding.left; child_allocation->y = border_width + top_margin; - child_allocation->width = MAX (1, (gint) allocation.width - child_allocation->x * 2); + child_allocation->width = MAX (1, (gint) allocation.width - (border_width * 2) - + padding.left - padding.right); child_allocation->height = MAX (1, ((gint) allocation.height - child_allocation->y - - border_width - (gint) style->ythickness)); + border_width - padding.bottom)); child_allocation->x += allocation.x; child_allocation->y += allocation.y; + + gtk_style_context_restore (context); } static void @@ -767,7 +790,9 @@ gtk_frame_get_preferred_size (GtkWidget *request, { GtkFrame *frame = GTK_FRAME (request); GtkFramePrivate *priv = frame->priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkWidget *widget = GTK_WIDGET (request); GtkWidget *child; GtkBin *bin = GTK_BIN (widget); @@ -775,7 +800,12 @@ gtk_frame_get_preferred_size (GtkWidget *request, gint minimum, natural; guint border_width; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + gtk_style_context_get_padding (context, state, &padding); if (priv->label_widget && gtk_widget_get_visible (priv->label_widget)) { @@ -790,8 +820,8 @@ gtk_frame_get_preferred_size (GtkWidget *request, { gtk_widget_get_preferred_height (priv->label_widget, &child_min, &child_nat); - minimum = MAX (0, child_min - style->ythickness); - natural = MAX (0, child_nat - style->ythickness); + minimum = MAX (0, child_min - padding.top); + natural = MAX (0, child_nat - padding.top); } } else @@ -823,13 +853,13 @@ gtk_frame_get_preferred_size (GtkWidget *request, if (orientation == GTK_ORIENTATION_HORIZONTAL) { - minimum += (border_width + style->xthickness) * 2; - natural += (border_width + style->xthickness) * 2; + minimum += (border_width * 2) + padding.left + padding.right; + natural += (border_width * 2) + padding.left + padding.right; } else { - minimum += (border_width + style->ythickness) * 2; - natural += (border_width + style->ythickness) * 2; + minimum += (border_width * 2) + padding.top + padding.bottom; + natural += (border_width * 2) + padding.top + padding.bottom; } if (minimum_size) @@ -837,6 +867,8 @@ gtk_frame_get_preferred_size (GtkWidget *request, if (natural_size) *natural_size = natural; + + gtk_style_context_restore (context); } static void @@ -867,18 +899,25 @@ gtk_frame_get_preferred_height_for_width (GtkWidget *request, GtkFrame *frame = GTK_FRAME (widget); GtkFramePrivate *priv = frame->priv; GtkBin *bin = GTK_BIN (widget); - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint child_min, child_nat, label_width; gint minimum, natural; guint border_width; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + gtk_style_context_get_padding (context, state, &padding); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - minimum = (border_width + style->ythickness) * 2; - natural = (border_width + style->ythickness) * 2; + minimum = (border_width * 2) + padding.top + padding.bottom; + natural = (border_width * 2) + padding.top + padding.bottom; - width -= (border_width + style->xthickness) * 2; + width -= (border_width * 2) + padding.left + padding.right; label_width = width - 2 * LABEL_PAD + 2 * LABEL_SIDE_PAD; if (priv->label_widget && gtk_widget_get_visible (priv->label_widget)) @@ -903,6 +942,8 @@ gtk_frame_get_preferred_height_for_width (GtkWidget *request, if (natural_height) *natural_height = natural; + + gtk_style_context_restore (context); } static void diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 80d5abca21..31571115cb 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -337,6 +337,14 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_VIEW "view" +/** + * GTK_STYLE_CLASS_FRAME: + * + * A CSS class defining a frame delimiting content, such as GtkFrame + * or the scrolled window frame around the scrollable area. + */ +#define GTK_STYLE_CLASS_FRAME "frame" + /** * GTK_STYLE_CLASS_INFO: * From 53a4feadf03ddf461401b22d8fcb3d5e96f3e8ec Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 17:39:08 +0100 Subject: [PATCH 0947/1463] Make GtkEventBox use GtkStyleContext. --- gtk/gtkeventbox.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/gtk/gtkeventbox.c b/gtk/gtkeventbox.c index 5514e11b3e..1ba582b19b 100644 --- a/gtk/gtkeventbox.c +++ b/gtk/gtkeventbox.c @@ -435,10 +435,8 @@ gtk_event_box_realize (GtkWidget *widget) gdk_window_set_user_data (priv->event_window, widget); } - gtk_widget_style_attach (widget); - if (visible_window) - gtk_style_set_background (gtk_widget_get_style (widget), window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), window); } static void @@ -581,14 +579,14 @@ gtk_event_box_draw (GtkWidget *widget, { if (gtk_widget_get_has_window (widget) && !gtk_widget_get_app_paintable (widget)) - gtk_paint_flat_box (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - GTK_SHADOW_NONE, - widget, "eventbox", - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + { + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + gtk_render_background (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + } GTK_WIDGET_CLASS (gtk_event_box_parent_class)->draw (widget, cr); From e3457a83cf74b91515c48fc94d899797d9d5a5e0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 17:41:48 +0100 Subject: [PATCH 0948/1463] Make GtkScrolledWindow use GtkStyleContext --- gtk/gtkscrolledwindow.c | 112 ++++++++++++++++++++++++++++------------ 1 file changed, 80 insertions(+), 32 deletions(-) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 5df752fcc4..c18e7de7e8 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -1184,20 +1184,31 @@ gtk_scrolled_window_draw (GtkWidget *widget, if (priv->shadow_type != GTK_SHADOW_NONE) { GtkAllocation relative_allocation; - GtkStyle *style; + GtkStyleContext *context; gboolean scrollbars_within_bevel; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + gtk_widget_style_get (widget, "scrollbars-within-bevel", &scrollbars_within_bevel, NULL); if (!scrollbars_within_bevel) { + GtkStateFlags state; + GtkBorder padding, border; + + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + gtk_scrolled_window_relative_allocation (widget, &relative_allocation); - relative_allocation.x -= style->xthickness; - relative_allocation.y -= style->ythickness; - relative_allocation.width += 2 * style->xthickness; - relative_allocation.height += 2 * style->ythickness; + relative_allocation.x -= padding.left + border.left; + relative_allocation.y -= padding.top + border.top; + relative_allocation.width += padding.left + padding.right + border.left + border.right; + relative_allocation.height += padding.top + padding.bottom + border.top + border.bottom; } else { @@ -1207,14 +1218,13 @@ gtk_scrolled_window_draw (GtkWidget *widget, relative_allocation.height = gtk_widget_get_allocated_height (widget); } - gtk_paint_shadow (style, - cr, - GTK_STATE_NORMAL, priv->shadow_type, - widget, "scrolled_window", + gtk_render_frame (context, cr, relative_allocation.x, relative_allocation.y, relative_allocation.width, relative_allocation.height); + + gtk_style_context_restore (context); } GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->draw (widget, cr); @@ -1386,7 +1396,6 @@ gtk_scrolled_window_relative_allocation (GtkWidget *widget, GtkAllocation widget_allocation; GtkScrolledWindow *scrolled_window; GtkScrolledWindowPrivate *priv; - GtkStyle *style; gint sb_spacing; gint sb_width; gint sb_height; @@ -1408,9 +1417,23 @@ gtk_scrolled_window_relative_allocation (GtkWidget *widget, if (priv->shadow_type != GTK_SHADOW_NONE) { - style = gtk_widget_get_style (widget); - allocation->x += style->xthickness; - allocation->y += style->ythickness; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + + gtk_style_context_get_border (context, state, &border); + gtk_style_context_get_padding (context, state, &padding); + + allocation->x += padding.left + border.left; + allocation->y += padding.top + border.top; + + gtk_style_context_restore (context); } gtk_widget_get_allocation (widget, &widget_allocation); @@ -1471,7 +1494,9 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, { GtkScrolledWindow *scrolled_window; GtkScrolledWindowPrivate *priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; GtkBin *bin; GtkAllocation relative_allocation; GtkAllocation child_allocation; @@ -1493,11 +1518,21 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, gtk_widget_get_preferred_height (priv->hscrollbar, &sb_height, NULL); gtk_widget_get_preferred_width (priv->vscrollbar, &sb_width, NULL); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + gtk_widget_style_get (widget, "scrollbars-within-bevel", &scrollbars_within_bevel, NULL); gtk_widget_set_allocation (widget, allocation); + gtk_style_context_restore (context); + if (priv->hscrollbar_policy == GTK_POLICY_ALWAYS) priv->hscrollbar_visible = TRUE; else if (priv->hscrollbar_policy == GTK_POLICY_NEVER) @@ -1704,7 +1739,7 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, relative_allocation.height + sb_spacing + (priv->shadow_type == GTK_SHADOW_NONE ? - 0 : style->ythickness)); + 0 : padding.top + border.top)); else child_allocation.y = 0; @@ -1717,17 +1752,17 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, { if (!scrollbars_within_bevel) { - child_allocation.x -= style->xthickness; - child_allocation.width += 2 * style->xthickness; + child_allocation.x -= padding.left + border.left; + child_allocation.width += padding.left + padding.right + border.left + border.right; } else if (GTK_CORNER_TOP_RIGHT == priv->real_window_placement || GTK_CORNER_TOP_LEFT == priv->real_window_placement) { - child_allocation.y -= style->ythickness; + child_allocation.y -= padding.top + border.top; } else { - child_allocation.y += style->ythickness; + child_allocation.y += padding.top + border.top; } } @@ -1751,7 +1786,7 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, relative_allocation.width + sb_spacing + (priv->shadow_type == GTK_SHADOW_NONE ? - 0 : style->xthickness)); + 0 : padding.left + border.left)); else child_allocation.x = 0; @@ -1765,17 +1800,17 @@ gtk_scrolled_window_size_allocate (GtkWidget *widget, { if (!scrollbars_within_bevel) { - child_allocation.y -= style->ythickness; - child_allocation.height += 2 * style->ythickness; + child_allocation.y -= padding.top + border.top; + child_allocation.height += padding.top + padding.bottom + border.top + border.bottom; } else if (GTK_CORNER_BOTTOM_LEFT == priv->real_window_placement || GTK_CORNER_TOP_LEFT == priv->real_window_placement) { - child_allocation.x -= style->xthickness; + child_allocation.x -= padding.left + border.left; } else { - child_allocation.x += style->xthickness; + child_allocation.x += padding.left + border.left; } } @@ -2051,7 +2086,6 @@ gtk_scrolled_window_get_preferred_size (GtkWidget *widget, GtkRequisition hscrollbar_requisition; GtkRequisition vscrollbar_requisition; GtkRequisition minimum_req, natural_req; - GtkStyle *style; GtkWidget *child; gint min_child_size, nat_child_size; @@ -2155,11 +2189,25 @@ gtk_scrolled_window_get_preferred_size (GtkWidget *widget, if (priv->shadow_type != GTK_SHADOW_NONE) { - style = gtk_widget_get_style (GTK_WIDGET (widget)); - minimum_req.width += 2 * style->xthickness; - minimum_req.height += 2 * style->ythickness; - natural_req.width += 2 * style->xthickness; - natural_req.height += 2 * style->ythickness; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; + + context = gtk_widget_get_style_context (GTK_WIDGET (widget)); + state = gtk_widget_get_state_flags (GTK_WIDGET (widget)); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + + minimum_req.width += padding.left + padding.right + border.left + border.right; + minimum_req.height += padding.top + padding.bottom + border.top + border.bottom; + natural_req.width += padding.left + padding.right + border.left + border.right; + natural_req.height += padding.top + padding.bottom + border.top + border.bottom; + + gtk_style_context_restore (context); } if (orientation == GTK_ORIENTATION_HORIZONTAL) From b2e899229175c2008cc0f37e118ef267ba2d89e9 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 17:42:27 +0100 Subject: [PATCH 0949/1463] Make GtkProgressBar use GtkStyleContext --- gtk/gtkcssprovider.c | 2 +- gtk/gtkprogressbar.c | 225 +++++++++++++++++++++++++------------------ 2 files changed, 130 insertions(+), 97 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index c8d7624d59..0a3da2ec12 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3694,7 +3694,7 @@ gtk_css_provider_get_default (void) " color: #000;\n" "}\n" "\n" - ".progressbar:prelight,\n" + ".progressbar,\n" ".entry.progressbar {\n" " background-color: @selected_bg_color;\n" " border-color: shade (@selected_bg_color, 0.7);\n" diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 9cca76b328..1abad28147 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -415,11 +415,15 @@ gtk_progress_bar_real_update (GtkProgressBar *pbar) if (priv->activity_mode) { GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; guint size; gtk_widget_get_allocation (widget, &allocation); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); /* advance the block */ if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) @@ -432,18 +436,18 @@ gtk_progress_bar_real_update (GtkProgressBar *pbar) if (priv->activity_dir == 0) { priv->activity_pos += priv->activity_step; - if (priv->activity_pos + size >= allocation.width - style->xthickness) + if (priv->activity_pos + size >= allocation.width - padding.left) { - priv->activity_pos = allocation.width - style->xthickness - size; + priv->activity_pos = allocation.width - padding.left - size; priv->activity_dir = 1; } } else { priv->activity_pos -= priv->activity_step; - if (priv->activity_pos <= style->xthickness) + if (priv->activity_pos <= padding.left) { - priv->activity_pos = style->xthickness; + priv->activity_pos = padding.left; priv->activity_dir = 0; } } @@ -458,18 +462,18 @@ gtk_progress_bar_real_update (GtkProgressBar *pbar) if (priv->activity_dir == 0) { priv->activity_pos += priv->activity_step; - if (priv->activity_pos + size >= allocation.height - style->ythickness) + if (priv->activity_pos + size >= allocation.height - padding.top) { - priv->activity_pos = allocation.height - style->ythickness - size; + priv->activity_pos = allocation.height - padding.top - size; priv->activity_dir = 1; } } else { priv->activity_pos -= priv->activity_step; - if (priv->activity_pos <= style->ythickness) + if (priv->activity_pos <= padding.top) { - priv->activity_pos = style->ythickness; + priv->activity_pos = padding.top; priv->activity_dir = 0; } } @@ -507,7 +511,9 @@ gtk_progress_bar_get_preferred_width (GtkWidget *widget, { GtkProgressBar *pbar; GtkProgressBarPrivate *priv; - GtkStyle *style; + GtkStyleContext *style_context; + GtkStateFlags state; + GtkBorder padding; gchar *buf; PangoRectangle logical_rect; PangoLayout *layout; @@ -517,7 +523,10 @@ gtk_progress_bar_get_preferred_width (GtkWidget *widget, g_return_if_fail (GTK_IS_PROGRESS_BAR (widget)); - style = gtk_widget_get_style (widget); + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (style_context, state, &padding); + gtk_widget_style_get (widget, "xspacing", &xspacing, NULL); @@ -525,7 +534,7 @@ gtk_progress_bar_get_preferred_width (GtkWidget *widget, pbar = GTK_PROGRESS_BAR (widget); priv = pbar->priv; - width = 2 * style->xthickness + xspacing; + width = padding.left + padding.right + xspacing; if (priv->show_text) { @@ -536,13 +545,15 @@ gtk_progress_bar_get_preferred_width (GtkWidget *widget, if (priv->ellipsize) { + const PangoFontDescription *font_desc; PangoContext *context; PangoFontMetrics *metrics; gint char_width; /* The minimum size for ellipsized text is ~ 3 chars */ context = pango_layout_get_context (layout); - metrics = pango_context_get_metrics (context, style->font_desc, pango_context_get_language (context)); + font_desc = gtk_style_context_get_font (style_context, state); + metrics = pango_context_get_metrics (context, font_desc, pango_context_get_language (context)); char_width = pango_font_metrics_get_approximate_char_width (metrics); pango_font_metrics_unref (metrics); @@ -575,7 +586,9 @@ gtk_progress_bar_get_preferred_height (GtkWidget *widget, { GtkProgressBar *pbar; GtkProgressBarPrivate *priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gchar *buf; PangoRectangle logical_rect; PangoLayout *layout; @@ -585,7 +598,10 @@ gtk_progress_bar_get_preferred_height (GtkWidget *widget, g_return_if_fail (GTK_IS_PROGRESS_BAR (widget)); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_widget_style_get (widget, "yspacing", &yspacing, NULL); @@ -593,7 +609,7 @@ gtk_progress_bar_get_preferred_height (GtkWidget *widget, pbar = GTK_PROGRESS_BAR (widget); priv = pbar->priv; - height = 2 * style->ythickness + yspacing; + height = padding.top + padding.bottom + yspacing; if (priv->show_text) { @@ -625,12 +641,16 @@ gtk_progress_bar_act_mode_enter (GtkProgressBar *pbar) { GtkProgressBarPrivate *priv = pbar->priv; GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkWidget *widget = GTK_WIDGET (pbar); GtkOrientation orientation; gboolean inverted; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); orientation = priv->orientation; inverted = priv->inverted; @@ -646,14 +666,14 @@ gtk_progress_bar_act_mode_enter (GtkProgressBar *pbar) { if (!inverted) { - priv->activity_pos = style->xthickness; + priv->activity_pos = padding.left; priv->activity_dir = 0; } else { gtk_widget_get_allocation (widget, &allocation); - priv->activity_pos = allocation.width - style->xthickness - - (allocation.height - style->ythickness * 2); + priv->activity_pos = allocation.width - padding.left - + (allocation.height - padding.top - padding.bottom); priv->activity_dir = 1; } } @@ -661,14 +681,14 @@ gtk_progress_bar_act_mode_enter (GtkProgressBar *pbar) { if (!inverted) { - priv->activity_pos = style->ythickness; + priv->activity_pos = padding.top; priv->activity_dir = 0; } else { gtk_widget_get_allocation (widget, &allocation); - priv->activity_pos = allocation.height - style->ythickness - - (allocation.width - style->xthickness * 2); + priv->activity_pos = allocation.height - padding.top - + (allocation.width - padding.left - padding.right); priv->activity_dir = 1; } } @@ -702,30 +722,35 @@ gtk_progress_bar_paint_activity (GtkProgressBar *pbar, int width, int height) { - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkWidget *widget = GTK_WIDGET (pbar); GdkRectangle area; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); if (orientation == GTK_ORIENTATION_HORIZONTAL) { gtk_progress_bar_get_activity (pbar, orientation, &area.x, &area.width); - area.y = style->ythickness; - area.height = height - 2 * style->ythickness; + area.y = padding.top; + area.height = height - padding.top - padding.bottom; } else { gtk_progress_bar_get_activity (pbar, orientation, &area.y, &area.height); - area.x = style->xthickness; - area.width = width - 2 * style->xthickness; + area.x = padding.left; + area.width = width - padding.left - padding.right; } - gtk_paint_box (style, - cr, - GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, - widget, "bar", - area.x, area.y, area.width, area.height); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); + + gtk_render_activity (context, cr, area.x, area.y, area.width, area.height); + + gtk_style_context_restore (context); } static void @@ -737,41 +762,48 @@ gtk_progress_bar_paint_continuous (GtkProgressBar *pbar, int width, int height) { - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkWidget *widget = GTK_WIDGET (pbar); GdkRectangle area; if (amount <= 0) return; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); if (orientation == GTK_ORIENTATION_HORIZONTAL) { area.width = amount; - area.height = height - style->ythickness * 2; - area.y = style->ythickness; + area.height = height - padding.top - padding.bottom; + area.y = padding.top; - area.x = style->xthickness; - if (inverted) - area.x = width - amount - area.x; + if (!inverted) + area.x = padding.left; + else + area.x = width - amount - padding.right; } else { - area.width = width - style->xthickness * 2; + area.width = width - padding.left - padding.right; area.height = amount; - area.x = style->xthickness; + area.x = padding.left; - area.y = style->ythickness; - if (inverted) - area.y = height - amount - area.y; + if (!inverted) + area.y = padding.top; + else + area.y = height - amount - padding.bottom; } - gtk_paint_box (style, - cr, - GTK_STATE_PRELIGHT, GTK_SHADOW_OUT, - widget, "bar", - area.x, area.y, area.width, area.height); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); + + gtk_render_activity (context, cr, area.x, area.y, area.width, area.height); + + gtk_style_context_restore (context); } static void @@ -785,7 +817,9 @@ gtk_progress_bar_paint_text (GtkProgressBar *pbar, int height) { GtkProgressBarPrivate *priv = pbar->priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkWidget *widget = GTK_WIDGET (pbar); gint x; gint y; @@ -797,7 +831,9 @@ gtk_progress_bar_paint_text (GtkProgressBar *pbar, gfloat text_xalign = 0.5; gfloat text_yalign = 0.5; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); if (gtk_widget_get_direction (widget) != GTK_TEXT_DIR_LTR) text_xalign = 1.0 - text_xalign; @@ -811,14 +847,13 @@ gtk_progress_bar_paint_text (GtkProgressBar *pbar, pango_layout_get_pixel_extents (layout, NULL, &logical_rect); - x = style->xthickness + 1 + text_xalign * (width - 2 * style->xthickness - 2 - logical_rect.width); + x = padding.left + 1 + text_xalign * (width - padding.left - padding.right - 2 - logical_rect.width); + y = padding.top + 1 + text_yalign * (height - padding.top - padding.bottom - 2 - logical_rect.height); - y = style->ythickness + 1 + text_yalign * (height - 2 * style->ythickness - 2 - logical_rect.height); - - rect.x = style->xthickness; - rect.y = style->ythickness; - rect.width = width - 2 * style->xthickness; - rect.height = height - 2 * style->ythickness; + rect.x = padding.left; + rect.y = padding.top; + rect.width = width - padding.left - padding.right; + rect.height = height - padding.top - padding.bottom; prelight_clip = start_clip = end_clip = rect; @@ -869,19 +904,16 @@ gtk_progress_bar_paint_text (GtkProgressBar *pbar, } } + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TROUGH); + if (start_clip.width > 0 && start_clip.height > 0) { cairo_save (cr); gdk_cairo_rectangle (cr, &start_clip); cairo_clip (cr); - gtk_paint_layout (style, - cr, - GTK_STATE_NORMAL, - FALSE, - widget, - "progressbar", - x, y, - layout); + + gtk_render_layout (context, cr, x, y, layout); cairo_restore (cr); } @@ -890,28 +922,23 @@ gtk_progress_bar_paint_text (GtkProgressBar *pbar, cairo_save (cr); gdk_cairo_rectangle (cr, &end_clip); cairo_clip (cr); - gtk_paint_layout (style, - cr, - GTK_STATE_NORMAL, - FALSE, - widget, - "progressbar", - x, y, - layout); + + gtk_render_layout (context, cr, x, y, layout); cairo_restore (cr); } + gtk_style_context_restore (context); + cairo_save (cr); gdk_cairo_rectangle (cr, &prelight_clip); cairo_clip (cr); - gtk_paint_layout (style, - cr, - GTK_STATE_PRELIGHT, - FALSE, - widget, - "progressbar", - x, y, - layout); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); + + gtk_render_layout (context, cr, x, y, layout); + + gtk_style_context_restore (context); cairo_restore (cr); g_object_unref (layout); @@ -926,10 +953,13 @@ gtk_progress_bar_draw (GtkWidget *widget, GtkProgressBarPrivate *priv = pbar->priv; GtkOrientation orientation; gboolean inverted; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; int width, height; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); orientation = priv->orientation; inverted = priv->inverted; @@ -941,12 +971,15 @@ gtk_progress_bar_draw (GtkWidget *widget, width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); - gtk_paint_box (style, - cr, - GTK_STATE_NORMAL, GTK_SHADOW_IN, - widget, "trough", - 0, 0, - width, height); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TROUGH); + + gtk_render_background (context, cr, 0, 0, width, height); + gtk_render_frame (context, cr, 0, 0, width, height); + + gtk_style_context_get_padding (context, state, &padding); + + gtk_style_context_restore (context); if (priv->activity_mode) { @@ -972,9 +1005,9 @@ gtk_progress_bar_draw (GtkWidget *widget, gint space; if (orientation == GTK_ORIENTATION_HORIZONTAL) - space = width - 2 * style->xthickness; + space = width - padding.left - padding.right; else - space = height - 2 * style->ythickness; + space = height - padding.top - padding.bottom; amount = space * gtk_progress_bar_get_fraction (pbar); From 18b333bfe70883d7431231962bcb19a3626c0009 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 17:51:46 +0100 Subject: [PATCH 0950/1463] Make GtkFileChooserEntry make GtkStyleContext --- gtk/gtkfilechooserentry.c | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c index 03ff782cf8..f2933a7ab7 100644 --- a/gtk/gtkfilechooserentry.c +++ b/gtk/gtkfilechooserentry.c @@ -889,16 +889,16 @@ completion_feedback_window_draw_cb (GtkWidget *widget, /* Stolen from gtk_tooltip_paint_window() */ GtkFileChooserEntry *chooser_entry = GTK_FILE_CHOOSER_ENTRY (data); + GtkStyleContext *context; - gtk_paint_flat_box (gtk_widget_get_style (chooser_entry->completion_feedback_window), - cr, - GTK_STATE_NORMAL, - GTK_SHADOW_OUT, - chooser_entry->completion_feedback_window, - "tooltip", - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + context = gtk_widget_get_style_context (chooser_entry->completion_feedback_window); + + gtk_render_background (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + gtk_render_frame (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); return FALSE; } @@ -933,8 +933,9 @@ create_completion_feedback_window (GtkFileChooserEntry *chooser_entry) { /* Stolen from gtk_tooltip_init() */ - GtkStyle *style; + GtkStyleContext *context; GtkWidget *alignment; + GtkBorder padding, border; chooser_entry->completion_feedback_window = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_type_hint (GTK_WINDOW (chooser_entry->completion_feedback_window), @@ -944,10 +945,17 @@ create_completion_feedback_window (GtkFileChooserEntry *chooser_entry) gtk_widget_set_name (chooser_entry->completion_feedback_window, "gtk-tooltip"); alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); - style = gtk_widget_get_style (chooser_entry->completion_feedback_window); + context = gtk_widget_get_style_context (chooser_entry->completion_feedback_window); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOOLTIP); + + gtk_style_context_get_padding (context, 0, &padding); + gtk_style_context_get_border (context, 0, &border); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), - style->ythickness, style->ythickness, - style->xthickness, style->xthickness); + border.top + padding.top, + border.bottom + padding.bottom, + border.left + padding.left, + border.right + padding.right); gtk_container_add (GTK_CONTAINER (chooser_entry->completion_feedback_window), alignment); gtk_widget_show (alignment); From 029fb53ac2ada0aca7221655c7c2101df4964a79 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 18:59:45 +0100 Subject: [PATCH 0951/1463] Make GtkSwitch use GtkStyleContext --- gtk/gtkswitch.c | 150 +++++++++++++++++++++++++++--------------------- 1 file changed, 85 insertions(+), 65 deletions(-) diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index 93549ef17e..38e6f98409 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -151,16 +151,20 @@ gtk_switch_motion (GtkWidget *widget, { gint position = event->x - priv->offset; GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); gtk_widget_get_allocation (widget, &allocation); /* constrain the handle within the trough width */ - if (position > (allocation.width / 2 - style->xthickness)) - priv->handle_x = allocation.width / 2 - style->xthickness; - else if (position < style->xthickness) - priv->handle_x = style->xthickness; + if (position > (allocation.width / 2 - padding.right)) + priv->handle_x = allocation.width / 2 - padding.right; + else if (position < padding.left) + priv->handle_x = padding.left; else priv->handle_x = position; @@ -274,12 +278,18 @@ gtk_switch_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural) { - GtkStyle *style = gtk_widget_get_style (widget); + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint width, slider_width, focus_width, focus_pad; PangoLayout *layout; PangoRectangle logical_rect; - width = style->xthickness * 2; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + + width = padding.left + padding.right; gtk_widget_style_get (widget, "slider-width", &slider_width, @@ -320,13 +330,19 @@ gtk_switch_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural) { - GtkStyle *style = gtk_widget_get_style (widget); + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint height, focus_width, focus_pad; PangoLayout *layout; PangoRectangle logical_rect; gchar *str; - height = style->ythickness * 2; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + + height = padding.top + padding.bottom; gtk_widget_style_get (widget, "focus-line-width", &focus_width, @@ -452,17 +468,21 @@ gtk_switch_paint_handle (GtkWidget *widget, cairo_t *cr, GdkRectangle *box) { - GtkStyle *style = gtk_widget_get_style (widget); + GtkStyleContext *context = gtk_widget_get_style_context (widget); + GtkStateFlags state; - gtk_paint_slider (style, cr, - gtk_widget_get_state (widget), - GTK_SHADOW_OUT, - GTK_WIDGET (widget), "switch-slider", - box->x, - box->y, - box->width, - box->height, - GTK_ORIENTATION_HORIZONTAL); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_SLIDER); + + gtk_render_slider (context, cr, + box->x, box->y, + box->width, box->height, + GTK_ORIENTATION_HORIZONTAL); + + gtk_style_context_restore (context); } static gboolean @@ -470,12 +490,13 @@ gtk_switch_draw (GtkWidget *widget, cairo_t *cr) { GtkSwitchPrivate *priv = GTK_SWITCH (widget)->priv; - GtkStyle *style; + GtkStyleContext *context; GdkRectangle handle; PangoLayout *layout; PangoRectangle rect; gint label_x, label_y; - GtkStateType state; + GtkStateFlags state; + GtkBorder padding; gint focus_width, focus_pad; gint x, y, width, height; @@ -484,7 +505,13 @@ gtk_switch_draw (GtkWidget *widget, "focus-padding", &focus_pad, NULL); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + if (priv->is_active) + state |= GTK_STATE_FLAG_ACTIVE; + + gtk_style_context_get_padding (context, state, &padding); x = 0; y = 0; @@ -492,37 +519,27 @@ gtk_switch_draw (GtkWidget *widget, height = gtk_widget_get_allocated_height (widget); if (gtk_widget_has_focus (widget)) - gtk_paint_focus (style, cr, - gtk_widget_get_state (widget), - widget, "button", - x, y, width, height); + gtk_render_focus (context, cr, x, y, width, height); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); x += focus_width + focus_pad; y += focus_width + focus_pad; width -= 2 * (focus_width + focus_pad); height -= 2 * (focus_width + focus_pad); - state = priv->is_active ? GTK_STATE_SELECTED : gtk_widget_get_state (widget); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TROUGH); - /* background - XXX should this be a flat box instead? we're missing - * the border given by the shadow with that, which would require - * fixing all theme engines to add a subtle border for this widget - */ - gtk_paint_box (style, cr, - state, - GTK_SHADOW_IN, - widget, "switch-background", - x, y, width, height); - - if (!gtk_widget_is_sensitive (widget)) - state = GTK_STATE_INSENSITIVE; + gtk_render_background (context, cr, x, y, width, height); + gtk_render_frame (context, cr, x, y, width, height); /* XXX the +1/-1 it's pixel wriggling after checking with the default * theme and xmag */ - handle.y = y + style->ythickness + 1; - handle.width = (width - style->xthickness * 2) / 2; - handle.height = (height - style->ythickness * 2) - 1; + handle.y = y + padding.top + 1; + handle.width = (width - padding.left - padding.right) / 2; + handle.height = (height - padding.top - padding.bottom) - 1; /* Translators: if the "on" state label requires more than three * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for @@ -532,17 +549,12 @@ gtk_switch_draw (GtkWidget *widget, pango_layout_get_extents (layout, NULL, &rect); pango_extents_to_pixels (&rect, NULL); - label_x = x + style->xthickness - + ((width / 2) - rect.width - (style->xthickness * 2)) / 2; - label_y = y + style->ythickness - + (height - rect.height - (style->ythickness * 2)) / 2; + label_x = x + padding.left + + ((width / 2) - rect.width - padding.left - padding.right) / 2; + label_y = y + padding.top + + (height - rect.height - padding.top - padding.bottom) / 2; - gtk_paint_layout (style, cr, - state, - FALSE, - widget, "switch-on-label", - label_x, label_y, - layout); + gtk_render_layout (context, cr, label_x, label_y, layout); g_object_unref (layout); @@ -553,27 +565,24 @@ gtk_switch_draw (GtkWidget *widget, pango_layout_get_extents (layout, NULL, &rect); pango_extents_to_pixels (&rect, NULL); - label_x = x + style->xthickness + label_x = x + padding.left + (width / 2) - + ((width / 2) - rect.width - (style->xthickness * 2)) / 2; - label_y = y + style->ythickness - + (height - rect.height - (style->ythickness * 2)) / 2; + + ((width / 2) - rect.width - padding.left - padding.right) / 2; + label_y = y + padding.top + + (height - rect.height - padding.top - padding.bottom) / 2; - gtk_paint_layout (style, cr, - state, - FALSE, - widget, "switch-off-label", - label_x, label_y, - layout); + gtk_render_layout (context, cr, label_x, label_y, layout); g_object_unref (layout); if (priv->is_dragging) handle.x = x + priv->handle_x; else if (priv->is_active) - handle.x = x + width - handle.width - style->xthickness; + handle.x = x + width - handle.width - padding.right; else - handle.x = x + style->xthickness; + handle.x = x + padding.left; + + gtk_style_context_restore (context); gtk_switch_paint_handle (widget, cr, &handle); @@ -824,7 +833,10 @@ gtk_switch_set_active (GtkSwitch *sw, if (priv->is_active != is_active) { AtkObject *accessible; + GtkWidget *widget; + GtkStyleContext *context; + widget = GTK_WIDGET (sw); priv->is_active = is_active; g_object_notify_by_pspec (G_OBJECT (sw), switch_props[PROP_ACTIVE]); @@ -835,6 +847,14 @@ gtk_switch_set_active (GtkSwitch *sw, accessible = gtk_widget_get_accessible (GTK_WIDGET (sw)); atk_object_notify_state_change (accessible, ATK_STATE_CHECKED, priv->is_active); + if (gtk_widget_get_realized (widget)) + { + context = gtk_widget_get_style_context (widget); + gtk_style_context_notify_state_change (context, + gtk_widget_get_window (widget), + NULL, GTK_STATE_ACTIVE, is_active); + } + gtk_widget_queue_draw (GTK_WIDGET (sw)); } } From a3a9c61a5a0e3ca5961b957fb8448ec130eb8e59 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 19:02:40 +0100 Subject: [PATCH 0952/1463] Make GtkHandleBox use GtkStyleContext --- gtk/gtkhandlebox.c | 127 +++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 61 deletions(-) diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index ef458d4d0f..bb5249209b 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -136,8 +136,7 @@ static void gtk_handle_box_map (GtkWidget *widget); static void gtk_handle_box_unmap (GtkWidget *widget); static void gtk_handle_box_realize (GtkWidget *widget); static void gtk_handle_box_unrealize (GtkWidget *widget); -static void gtk_handle_box_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_handle_box_style_updated (GtkWidget *widget); static void gtk_handle_box_size_request (GtkWidget *widget, GtkRequisition *requisition); static void gtk_handle_box_get_preferred_width (GtkWidget *widget, @@ -229,7 +228,7 @@ gtk_handle_box_class_init (GtkHandleBoxClass *class) widget_class->unmap = gtk_handle_box_unmap; widget_class->realize = gtk_handle_box_realize; widget_class->unrealize = gtk_handle_box_unrealize; - widget_class->style_set = gtk_handle_box_style_set; + widget_class->style_updated = gtk_handle_box_style_updated; widget_class->get_preferred_width = gtk_handle_box_get_preferred_width; widget_class->get_preferred_height = gtk_handle_box_get_preferred_height; widget_class->size_allocate = gtk_handle_box_size_allocate; @@ -269,6 +268,7 @@ static void gtk_handle_box_init (GtkHandleBox *handle_box) { GtkHandleBoxPrivate *priv; + GtkStyleContext *context; handle_box->priv = G_TYPE_INSTANCE_GET_PRIVATE (handle_box, GTK_TYPE_HANDLE_BOX, @@ -286,6 +286,9 @@ gtk_handle_box_init (GtkHandleBox *handle_box) priv->in_drag = FALSE; priv->shrink_on_detach = TRUE; priv->snap_edge = -1; + + context = gtk_widget_get_style_context (GTK_WIDGET (handle_box)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_DOCK); } static void @@ -408,8 +411,8 @@ gtk_handle_box_realize (GtkWidget *widget) GtkHandleBoxPrivate *priv = hb->priv; GtkAllocation allocation; GtkRequisition requisition; - GtkStateType state; - GtkStyle *style; + GtkStateFlags state; + GtkStyleContext *context; GtkWidget *child; GdkWindow *window; GdkWindowAttr attributes; @@ -479,12 +482,12 @@ gtk_handle_box_realize (GtkWidget *widget) gdk_window_set_decorations (priv->float_window, 0); gdk_window_set_type_hint (priv->float_window, GDK_WINDOW_TYPE_HINT_TOOLBAR); - gtk_widget_style_attach (widget); - style = gtk_widget_get_style (widget); - state = gtk_widget_get_state (widget); - gtk_style_set_background (style, window, state); - gtk_style_set_background (style, priv->bin_window, state); - gtk_style_set_background (style, priv->float_window, state); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_set_background (context, window); + gtk_style_context_set_background (context, priv->bin_window); + gtk_style_context_set_background (context, priv->float_window); } static void @@ -504,8 +507,7 @@ gtk_handle_box_unrealize (GtkWidget *widget) } static void -gtk_handle_box_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_handle_box_style_updated (GtkWidget *widget) { GtkHandleBox *hb = GTK_HANDLE_BOX (widget); GtkHandleBoxPrivate *priv = hb->priv; @@ -513,15 +515,20 @@ gtk_handle_box_style_set (GtkWidget *widget, if (gtk_widget_get_realized (widget) && gtk_widget_get_has_window (widget)) { - GtkStateType state; - GtkStyle *style; + GtkStateFlags state; + GtkStyleContext *context; - style = gtk_widget_get_style (widget); - state = gtk_widget_get_state (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - gtk_style_set_background (style, gtk_widget_get_window (widget), state); - gtk_style_set_background (style, priv->bin_window, state); - gtk_style_set_background (style, priv->float_window, state); + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_style_context_set_background (context, gtk_widget_get_window (widget)); + gtk_style_context_set_background (context, priv->bin_window); + gtk_style_context_set_background (context, priv->float_window); + + gtk_style_context_restore (context); } } @@ -760,8 +767,8 @@ gtk_handle_box_draw_ghost (GtkHandleBox *hb, cairo_t *cr) { GtkWidget *widget = GTK_WIDGET (hb); - GtkStateType state; - GtkStyle *style; + GtkStateFlags state; + GtkStyleContext *context; GdkWindow *window; guint x; guint y; @@ -791,36 +798,31 @@ gtk_handle_box_draw_ghost (GtkHandleBox *hb, height = DRAG_HANDLE_SIZE; } - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); window = gtk_widget_get_window (widget); - state = gtk_widget_get_state (widget); + state = gtk_widget_get_state_flags (widget); - gtk_paint_shadow (style, - cr, - state, - GTK_SHADOW_ETCHED_IN, - widget, "handle", - x, - y, - width, - height); - if (handle_position == GTK_POS_LEFT || - handle_position == GTK_POS_RIGHT) - gtk_paint_hline (style, - cr, - state, - widget, "handlebox", - handle_position == GTK_POS_LEFT ? DRAG_HANDLE_SIZE : 0, - handle_position == GTK_POS_LEFT ? allocation_width : allocation_width - DRAG_HANDLE_SIZE, - allocation_height / 2); - else - gtk_paint_vline (style, - cr, - state, - widget, "handlebox", - handle_position == GTK_POS_TOP ? DRAG_HANDLE_SIZE : 0, - handle_position == GTK_POS_TOP ? allocation_height : allocation_height - DRAG_HANDLE_SIZE, - allocation_width / 2); + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_render_background (context, cr, x, y, width, height); + gtk_render_frame (context, cr, x, y, width, height); + + if (handle_position == GTK_POS_LEFT || + handle_position == GTK_POS_RIGHT) + gtk_render_line (context, cr, + handle_position == GTK_POS_LEFT ? DRAG_HANDLE_SIZE : 0, + allocation_height / 2, + handle_position == GTK_POS_LEFT ? allocation_width : allocation_width - DRAG_HANDLE_SIZE, + allocation_height / 2); + else + gtk_render_line (context, cr, + allocation_width / 2, + handle_position == GTK_POS_TOP ? DRAG_HANDLE_SIZE : 0, + allocation_width / 2, + handle_position == GTK_POS_TOP ? allocation_height : allocation_height - DRAG_HANDLE_SIZE); + + gtk_style_context_restore (context); } void @@ -957,6 +959,8 @@ gtk_handle_box_paint (GtkWidget *widget, GtkHandleBox *hb = GTK_HANDLE_BOX (widget); GtkHandleBoxPrivate *priv = hb->priv; GtkBin *bin = GTK_BIN (widget); + GtkStyleContext *context; + GtkStateFlags state; GtkWidget *child; gint width, height; GdkRectangle rect; @@ -968,12 +972,14 @@ gtk_handle_box_paint (GtkWidget *widget, width = gdk_window_get_width (priv->bin_window); height = gdk_window_get_height (priv->bin_window); - gtk_paint_box (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - priv->shadow_type, - widget, "handlebox_bin", - 0, 0, width, height); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_render_background (context, cr, 0, 0, width, height); + gtk_render_frame (context, cr, 0, 0, width, height); switch (handle_position) { @@ -1010,15 +1016,14 @@ gtk_handle_box_paint (GtkWidget *widget, break; } - gtk_paint_handle (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "handlebox", - rect.x, rect.y, rect.width, rect.height, - handle_orientation); + gtk_render_handle (context, cr, + rect.x, rect.y, rect.width, rect.height); child = gtk_bin_get_child (bin); if (child != NULL && gtk_widget_get_visible (child)) GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->draw (widget, cr); + + gtk_style_context_restore (context); } static gboolean From ac00e77e54b57597534dc338cc4df4e819d3e33e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 28 Dec 2010 19:03:46 +0100 Subject: [PATCH 0953/1463] Make GtkToolbar use GtkStyleContext --- gtk/gtktoolbar.c | 174 ++++++++++++++++++++++++++--------------------- 1 file changed, 98 insertions(+), 76 deletions(-) diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 5d914fada4..7d08d1d519 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -195,8 +195,7 @@ static void gtk_toolbar_get_preferred_height (GtkWidget *widget, static void gtk_toolbar_size_allocate (GtkWidget *widget, GtkAllocation *allocation); -static void gtk_toolbar_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_toolbar_style_updated (GtkWidget *widget); static gboolean gtk_toolbar_focus (GtkWidget *widget, GtkDirectionType dir); static void gtk_toolbar_move_focus (GtkWidget *widget, @@ -371,7 +370,7 @@ gtk_toolbar_class_init (GtkToolbarClass *klass) widget_class->get_preferred_width = gtk_toolbar_get_preferred_width; widget_class->get_preferred_height = gtk_toolbar_get_preferred_height; widget_class->size_allocate = gtk_toolbar_size_allocate; - widget_class->style_set = gtk_toolbar_style_set; + widget_class->style_updated = gtk_toolbar_style_updated; widget_class->focus = gtk_toolbar_focus; /* need to override the base class function via override_class_handler, @@ -646,6 +645,7 @@ static void gtk_toolbar_init (GtkToolbar *toolbar) { GtkToolbarPrivate *priv; + GtkStyleContext *context; toolbar->priv = G_TYPE_INSTANCE_GET_PRIVATE (toolbar, GTK_TYPE_TOOLBAR, @@ -685,6 +685,9 @@ gtk_toolbar_init (GtkToolbar *toolbar) priv->max_homogeneous_pixels = -1; priv->timer = g_timer_new (); + + context = gtk_widget_get_style_context (GTK_WIDGET (toolbar)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOOLBAR); } static void @@ -813,8 +816,6 @@ gtk_toolbar_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); g_object_ref (window); - gtk_widget_style_attach (widget); - priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, toolbar); @@ -842,21 +843,25 @@ gtk_toolbar_draw (GtkWidget *widget, { GtkToolbar *toolbar = GTK_TOOLBAR (widget); GtkToolbarPrivate *priv = toolbar->priv; + GtkStyleContext *context; + GtkStateFlags state; GList *list; guint border_width; border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_render_background (context, cr, border_width, border_width, + gtk_widget_get_allocated_width (widget) - 2 * border_width, + gtk_widget_get_allocated_height (widget) - 2 * border_width); + gtk_render_frame (context, cr, border_width, border_width, + gtk_widget_get_allocated_width (widget) - 2 * border_width, + gtk_widget_get_allocated_height (widget) - 2 * border_width); - gtk_paint_box (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - get_shadow_type (toolbar), - widget, "toolbar", - border_width, - border_width, - gtk_widget_get_allocated_width (widget) - 2 * border_width, - gtk_widget_get_allocated_height (widget) - 2 * border_width); - for (list = priv->content; list != NULL; list = list->next) { ToolbarContent *content = list->data; @@ -867,7 +872,9 @@ gtk_toolbar_draw (GtkWidget *widget, gtk_container_propagate_draw (GTK_CONTAINER (widget), priv->arrow_button, cr); - + + gtk_style_context_restore (context); + return FALSE; } @@ -989,11 +996,16 @@ gtk_toolbar_size_request (GtkWidget *widget, if (get_shadow_type (toolbar) != GTK_SHADOW_NONE) { - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; - style = gtk_widget_get_style (widget); - requisition->width += 2 * style->xthickness; - requisition->height += 2 * style->ythickness; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + + requisition->width += padding.left + padding.right; + requisition->height += padding.top + padding.bottom; } priv->button_maxw = max_homogeneous_child_width; @@ -1222,7 +1234,9 @@ gtk_toolbar_begin_sliding (GtkToolbar *toolbar) GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET (toolbar); GtkToolbarPrivate *priv = toolbar->priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GList *list; gint cur_x; gint cur_y; @@ -1244,7 +1258,9 @@ gtk_toolbar_begin_sliding (GtkToolbar *toolbar) priv->idle_id = gdk_threads_add_idle (slide_idle_handler, toolbar); gtk_widget_get_allocation (widget, &allocation); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); vertical = (priv->orientation == GTK_ORIENTATION_VERTICAL); @@ -1252,13 +1268,13 @@ gtk_toolbar_begin_sliding (GtkToolbar *toolbar) if (rtl) { - cur_x = allocation.width - border_width - style->xthickness; - cur_y = allocation.height - border_width - style->ythickness; + cur_x = allocation.width - border_width - padding.right; + cur_y = allocation.height - border_width - padding.top; } else { - cur_x = border_width + style->xthickness; - cur_y = border_width + style->ythickness; + cur_x = border_width + padding.left; + cur_y = border_width + padding.top; } cur_x += allocation.x; @@ -1288,14 +1304,16 @@ gtk_toolbar_begin_sliding (GtkToolbar *toolbar) if (vertical) { new_start_allocation.width = allocation.width - - 2 * border_width - 2 * style->xthickness; + 2 * border_width - + padding.left - padding.right; new_start_allocation.height = 0; } else { new_start_allocation.width = 0; new_start_allocation.height = allocation.height - - 2 * border_width - 2 * style->ythickness; + 2 * border_width - + padding.top - padding.bottom; } } @@ -1454,7 +1472,9 @@ gtk_toolbar_size_allocate (GtkWidget *widget, GtkAllocation *allocations; ItemState *new_states; GtkAllocation arrow_allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint arrow_size; gint size, pos, short_size; GList *list; @@ -1472,7 +1492,9 @@ gtk_toolbar_size_allocate (GtkWidget *widget, GtkAllocation item_area; GtkShadowType shadow_type; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); gtk_widget_get_allocation (widget, &widget_allocation); size_changed = FALSE; @@ -1515,8 +1537,8 @@ gtk_toolbar_size_allocate (GtkWidget *widget, if (shadow_type != GTK_SHADOW_NONE) { - available_size -= 2 * style->xthickness; - short_size -= 2 * style->ythickness; + available_size -= padding.left + padding.right; + short_size -= padding.top + padding.bottom; } } else @@ -1527,8 +1549,8 @@ gtk_toolbar_size_allocate (GtkWidget *widget, if (shadow_type != GTK_SHADOW_NONE) { - available_size -= 2 * style->ythickness; - short_size -= 2 * style->xthickness; + available_size -= padding.top + padding.bottom; + short_size -= padding.left + padding.right; } } @@ -1704,8 +1726,8 @@ gtk_toolbar_size_allocate (GtkWidget *widget, if (shadow_type != GTK_SHADOW_NONE) { - allocations[i].x += style->xthickness; - allocations[i].y += style->ythickness; + allocations[i].x += padding.left; + allocations[i].y += padding.top; } } @@ -1716,8 +1738,8 @@ gtk_toolbar_size_allocate (GtkWidget *widget, if (shadow_type != GTK_SHADOW_NONE) { - arrow_allocation.x += style->xthickness; - arrow_allocation.y += style->ythickness; + arrow_allocation.x += padding.left; + arrow_allocation.y += padding.top; } } @@ -1725,8 +1747,8 @@ gtk_toolbar_size_allocate (GtkWidget *widget, item_area.y += allocation->y; if (shadow_type != GTK_SHADOW_NONE) { - item_area.x += style->xthickness; - item_area.y += style->ythickness; + item_area.x += padding.left; + item_area.y += padding.top; } /* did anything change? */ @@ -1847,8 +1869,7 @@ gtk_toolbar_update_button_relief (GtkToolbar *toolbar) } static void -gtk_toolbar_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_toolbar_style_updated (GtkWidget *widget) { GtkToolbar *toolbar = GTK_TOOLBAR (widget); GtkToolbarPrivate *priv = toolbar->priv; @@ -1856,12 +1877,10 @@ gtk_toolbar_style_set (GtkWidget *widget, priv->max_homogeneous_pixels = -1; if (gtk_widget_get_realized (widget)) - gtk_style_set_background (gtk_widget_get_style (widget), - gtk_widget_get_window (widget), - gtk_widget_get_state (widget)); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + gtk_widget_get_window (widget)); - if (prev_style) - gtk_toolbar_update_button_relief (GTK_TOOLBAR (widget)); + gtk_toolbar_update_button_relief (GTK_TOOLBAR (widget)); } static GList * @@ -3302,11 +3321,18 @@ calculate_max_homogeneous_pixels (GtkWidget *widget) { PangoContext *context; PangoFontMetrics *metrics; + const PangoFontDescription *font_desc; + GtkStyleContext *style_context; + GtkStateFlags state; gint char_width; context = gtk_widget_get_pango_context (widget); - metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + font_desc = gtk_style_context_get_font (style_context, state); + + metrics = pango_context_get_metrics (context, font_desc, pango_context_get_language (context)); char_width = pango_font_metrics_get_approximate_char_width (metrics); pango_font_metrics_unref (metrics); @@ -3648,9 +3674,10 @@ _gtk_toolbar_paint_space_line (GtkWidget *widget, { GtkToolbarPrivate *priv = toolbar->priv; GtkOrientation orientation; - GtkStateType state; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; GdkWindow *window; + GtkBorder padding; int width, height; const double start_fraction = (SPACE_LINE_START / SPACE_LINE_DIVISION); const double end_fraction = (SPACE_LINE_END / SPACE_LINE_DIVISION); @@ -3659,11 +3686,12 @@ _gtk_toolbar_paint_space_line (GtkWidget *widget, orientation = toolbar? priv->orientation : GTK_ORIENTATION_HORIZONTAL; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); window = gtk_widget_get_window (widget); - state = gtk_widget_get_state (widget); + state = gtk_widget_get_state_flags (widget); width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); + gtk_style_context_get_padding (context, state, &padding); if (orientation == GTK_ORIENTATION_HORIZONTAL) { @@ -3676,20 +3704,17 @@ _gtk_toolbar_paint_space_line (GtkWidget *widget, NULL); if (wide_separators) - gtk_paint_box (style, cr, - state, GTK_SHADOW_ETCHED_OUT, - widget, "vseparator", - (width - separator_width) / 2, - height * start_fraction, - separator_width, - height * (end_fraction - start_fraction)); + gtk_render_frame (context, cr, + (width - separator_width) / 2, + height * start_fraction, + separator_width, + height * (end_fraction - start_fraction)); else - gtk_paint_vline (style, cr, - state, widget, - "toolbar", + gtk_render_line (context, cr, + (width - padding.left) / 2, height * start_fraction, - height * end_fraction, - (width - style->xthickness) / 2); + (width - padding.left) / 2, + height * end_fraction); } else { @@ -3702,20 +3727,17 @@ _gtk_toolbar_paint_space_line (GtkWidget *widget, NULL); if (wide_separators) - gtk_paint_box (style, cr, - state, GTK_SHADOW_ETCHED_OUT, - widget, "hseparator", - width * start_fraction, - (height - separator_height) / 2, - width * (end_fraction - start_fraction), - separator_height); + gtk_render_frame (context, cr, + width * start_fraction, + (height - separator_height) / 2, + width * (end_fraction - start_fraction), + separator_height); else - gtk_paint_hline (style, cr, - state, widget, - "toolbar", + gtk_render_line (context, cr, width * start_fraction, + (height - padding.top) / 2, width * end_fraction, - (height - style->ythickness) / 2); + (height - padding.top) / 2); } } From 7fab89d93f51da02b362660bd0073a12f711d056 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 29 Dec 2010 16:12:11 +0900 Subject: [PATCH 0954/1463] Removed checks in gtksizerequest.c Checks were in place to ensure that widgets never request taller or wider than screen size. This was there to test a theory about scrolled window children functioning correctly with dynamic content however it breaks GtkViewport children which can generally return a value taller than screen height intentionally, GtkViewport uses this value to update the adjustments. --- gtk/gtksizerequest.c | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index 41ec2599f4..c5e49e7db3 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -239,14 +239,6 @@ compute_size_for_orientation (GtkWidget *widget, &min_size, &nat_size); pop_recursion_check (widget, orientation); } -#ifndef G_DISABLE_CHECKS - if (gtk_widget_get_screen (widget)) - { - guint screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); - min_size = MIN (min_size, screen_width); - nat_size = MIN (nat_size, screen_width); - } -#endif } else { @@ -280,14 +272,6 @@ compute_size_for_orientation (GtkWidget *widget, &min_size, &nat_size); pop_recursion_check (widget, orientation); } -#ifndef G_DISABLE_CHECKS - if (gtk_widget_get_screen (widget)) - { - guint screen_height = gdk_screen_get_height (gtk_widget_get_screen (widget)); - min_size = MIN (min_size, screen_height); - nat_size = MIN (nat_size, screen_height); - } -#endif } if (min_size > nat_size) From 2fe4e6a81585924194d0cbeb5b86c775879664dd Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 29 Dec 2010 16:18:04 +0900 Subject: [PATCH 0955/1463] Added proper height-for-width implementation to GtkAlignment. For "padding" cases, it would be ok to fallback on GtkBin class implementation of height-for-width. However in cases where the user set's an xscale/yscale the GtkAlignment needs to take care of properly adjusting the for_size when querying it's child. --- gtk/gtkalignment.c | 70 +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 66 insertions(+), 4 deletions(-) diff --git a/gtk/gtkalignment.c b/gtk/gtkalignment.c index d8b3fec570..78f21aafff 100644 --- a/gtk/gtkalignment.c +++ b/gtk/gtkalignment.c @@ -102,6 +102,14 @@ static void gtk_alignment_get_preferred_width (GtkWidget *wid static void gtk_alignment_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size); +static void gtk_alignment_get_preferred_width_for_height (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); +static void gtk_alignment_get_preferred_height_for_width (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size); G_DEFINE_TYPE (GtkAlignment, gtk_alignment, GTK_TYPE_BIN) @@ -120,6 +128,8 @@ gtk_alignment_class_init (GtkAlignmentClass *class) widget_class->size_allocate = gtk_alignment_size_allocate; widget_class->get_preferred_width = gtk_alignment_get_preferred_width; widget_class->get_preferred_height = gtk_alignment_get_preferred_height; + widget_class->get_preferred_width_for_height = gtk_alignment_get_preferred_width_for_height; + widget_class->get_preferred_height_for_width = gtk_alignment_get_preferred_height_for_width; g_object_class_install_property (gobject_class, PROP_XALIGN, @@ -571,6 +581,7 @@ gtk_alignment_size_allocate (GtkWidget *widget, static void gtk_alignment_get_preferred_size (GtkWidget *widget, GtkOrientation orientation, + gint for_size, gint *minimum_size, gint *natural_size) { @@ -589,12 +600,44 @@ gtk_alignment_get_preferred_size (GtkWidget *widget, if (orientation == GTK_ORIENTATION_HORIZONTAL) { minimum += (priv->padding_left + priv->padding_right); - gtk_widget_get_preferred_width (child, &child_min, &child_nat); + + if (for_size < 0) + gtk_widget_get_preferred_width (child, &child_min, &child_nat); + else + { + gint min_height; + + gtk_widget_get_preferred_height (child, &min_height, NULL); + + for_size -= (priv->padding_top + priv->padding_bottom); + + if (for_size > min_height) + for_size = (min_height * (1.0 - priv->yscale) + + for_size * priv->yscale); + + gtk_widget_get_preferred_width_for_height (child, for_size, &child_min, &child_nat); + } } else { minimum += (priv->padding_top + priv->padding_bottom); - gtk_widget_get_preferred_height (child, &child_min, &child_nat); + + if (for_size < 0) + gtk_widget_get_preferred_height (child, &child_min, &child_nat); + else + { + gint min_width; + + gtk_widget_get_preferred_width (child, &min_width, NULL); + + for_size -= (priv->padding_left + priv->padding_right); + + if (for_size > min_width) + for_size = (min_width * (1.0 - priv->xscale) + + for_size * priv->xscale); + + gtk_widget_get_preferred_height_for_width (child, for_size, &child_min, &child_nat); + } } natural = minimum; @@ -615,7 +658,7 @@ gtk_alignment_get_preferred_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - gtk_alignment_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, minimum_size, natural_size); + gtk_alignment_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, -1, minimum_size, natural_size); } static void @@ -623,7 +666,26 @@ gtk_alignment_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - gtk_alignment_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, minimum_size, natural_size); + gtk_alignment_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, -1, minimum_size, natural_size); +} + + +static void +gtk_alignment_get_preferred_width_for_height (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + gtk_alignment_get_preferred_size (widget, GTK_ORIENTATION_HORIZONTAL, for_size, minimum_size, natural_size); +} + +static void +gtk_alignment_get_preferred_height_for_width (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + gtk_alignment_get_preferred_size (widget, GTK_ORIENTATION_VERTICAL, for_size, minimum_size, natural_size); } /** From f519da41cfee2caadb660f37d73e308c5ef33dd0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 29 Dec 2010 16:19:48 +0900 Subject: [PATCH 0956/1463] Make GtkCheckButton allocate all remaining space to it's child instead of limiting it to it's minimum size. This fixes height-for-width labels inside a GtkCheckButton, for some reason GtkCheckButton was limiting the child allocation to the child's minimum request, probably for the sake of virtual left-alignment of the child label to be beside the checkmark. This should be done by other means if nescesarry. --- gtk/gtkcheckbutton.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c index 91b92f0f70..11e7c181b6 100644 --- a/gtk/gtkcheckbutton.c +++ b/gtk/gtkcheckbutton.c @@ -334,16 +334,11 @@ gtk_check_button_size_allocate (GtkWidget *widget, GtkRequisition child_requisition; guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - gtk_widget_get_preferred_size (child, &child_requisition, NULL); - - child_allocation.width = MIN (child_requisition.width, - allocation->width - - ((border_width + focus_width + focus_pad) * 2 - + indicator_size + indicator_spacing * 3)); + child_allocation.width = allocation->width - + ((border_width + focus_width + focus_pad) * 2 + indicator_size + indicator_spacing * 3); child_allocation.width = MAX (child_allocation.width, 1); - child_allocation.height = MIN (child_requisition.height, - allocation->height - (border_width + focus_width + focus_pad) * 2); + child_allocation.height = allocation->height - (border_width + focus_width + focus_pad) * 2; child_allocation.height = MAX (child_allocation.height, 1); child_allocation.x = (border_width + indicator_size + indicator_spacing * 3 + From 21aef5b77fa89a0c62cb72ce16ee579d3aaec624 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 29 Dec 2010 16:26:05 +0900 Subject: [PATCH 0957/1463] Fixed generic height-for-width implementation of GtkBin to consider request adjustments Since "->adjust_size_request()" was added, it became important for GtkBin's generic height-for-width implementation to further check the requests using this vfunc. --- gtk/gtkbin.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtkbin.c b/gtk/gtkbin.c index 2e2cde65d1..af3efea253 100644 --- a/gtk/gtkbin.c +++ b/gtk/gtkbin.c @@ -211,7 +211,12 @@ get_child_padding_delta (GtkBin *bin, * direct vfuncs */ GTK_WIDGET_GET_CLASS (bin)->get_preferred_width (GTK_WIDGET (bin), &hmin, &hnat); + GTK_WIDGET_GET_CLASS (bin)->adjust_size_request (GTK_WIDGET (bin), + GTK_ORIENTATION_HORIZONTAL, &hmin, &hnat); + GTK_WIDGET_GET_CLASS (bin)->get_preferred_height (GTK_WIDGET (bin), &vmin, &vnat); + GTK_WIDGET_GET_CLASS (bin)->adjust_size_request (GTK_WIDGET (bin), + GTK_ORIENTATION_VERTICAL, &vmin, &vnat); gtk_widget_get_preferred_width (priv->child, &child_hmin, NULL); gtk_widget_get_preferred_height (priv->child, &child_vmin, NULL); From a6a97ad4421c746e61ce98f3f014877fe8e38e95 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 29 Dec 2010 16:30:38 +0900 Subject: [PATCH 0958/1463] Fixed unused variable in GtkCheckButton. --- gtk/gtkcheckbutton.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c index 11e7c181b6..893fcecd73 100644 --- a/gtk/gtkcheckbutton.c +++ b/gtk/gtkcheckbutton.c @@ -331,7 +331,6 @@ gtk_check_button_size_allocate (GtkWidget *widget, child = gtk_bin_get_child (GTK_BIN (button)); if (child && gtk_widget_get_visible (child)) { - GtkRequisition child_requisition; guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); child_allocation.width = allocation->width - From c234313a25f4857ffa0d39c8a043fa322a24a93d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 29 Dec 2010 18:20:32 +0900 Subject: [PATCH 0959/1463] Make GtkCheckButton's label left aligned by default. Since we no longer limit the label's allocation to the minimum, now we take a saner approach to left aligning the label. --- gtk/gtkcheckbutton.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkcheckbutton.c b/gtk/gtkcheckbutton.c index 893fcecd73..686dc84534 100644 --- a/gtk/gtkcheckbutton.c +++ b/gtk/gtkcheckbutton.c @@ -96,6 +96,7 @@ gtk_check_button_init (GtkCheckButton *check_button) gtk_widget_set_has_window (GTK_WIDGET (check_button), FALSE); gtk_widget_set_receives_default (GTK_WIDGET (check_button), FALSE); gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (check_button), TRUE); + gtk_button_set_alignment (GTK_BUTTON (check_button), 0.0, 0.5); } GtkWidget* From a6168288f8142e58dac19257022ee1ab3ed5d08f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Wed, 29 Dec 2010 13:05:44 +0100 Subject: [PATCH 0960/1463] Solved bug 638231 in Galician translations --- po/gl.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/gl.po b/po/gl.po index 1e7d406110..6e1eef2219 100644 --- a/po/gl.po +++ b/po/gl.po @@ -22,7 +22,7 @@ msgstr "" "Project-Id-Version: gtk+-master-po-gl-77922___.merged\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2010-12-05 14:56+0100\n" -"PO-Revision-Date: 2010-12-05 14:56+0100\n" +"PO-Revision-Date: 2010-12-29 13:03+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -2591,7 +2591,7 @@ msgstr "Red_ucir" #: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 msgctxt "switch" msgid "ON" -msgstr "ACENDIDO" +msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state @@ -2599,7 +2599,7 @@ msgstr "ACENDIDO" #: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 msgctxt "switch" msgid "OFF" -msgstr "APAGADO" +msgstr "○" #: ../gtk/gtkswitch.c:943 msgctxt "light switch widget" From 3810e4da49c61d4544465db1521381b0b14f578f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Wed, 29 Dec 2010 22:51:20 +0100 Subject: [PATCH 0961/1463] Updated Spanish translation --- po/es.po | 305 +++++++++++++++++++++++++++---------------------------- 1 file changed, 147 insertions(+), 158 deletions(-) diff --git a/po/es.po b/po/es.po index 048c97fd91..838abd8139 100644 --- a/po/es.po +++ b/po/es.po @@ -16,8 +16,8 @@ msgstr "" "Project-Id-Version: gtk+.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-12-15 13:52+0000\n" -"PO-Revision-Date: 2010-12-15 21:40+0100\n" +"POT-Creation-Date: 2010-12-24 02:57+0000\n" +"PO-Revision-Date: 2010-12-29 22:48+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -27,58 +27,48 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdk.c:115 +#: ../gdk/gdk.c:155 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Error al analizar la opción --gdk-debug" -#: ../gdk/gdk.c:135 +#: ../gdk/gdk.c:175 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Error al analizar la opción --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:163 +#: ../gdk/gdk.c:203 msgid "Program class as used by the window manager" msgstr "Clase del programa tal como la usa el gestor de ventanas" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:204 msgid "CLASS" msgstr "CLASE" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:166 +#: ../gdk/gdk.c:206 msgid "Program name as used by the window manager" msgstr "Nombre del programa tal como lo usa el gestor de ventanas" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:207 msgid "NAME" msgstr "NOMBRE" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:169 +#: ../gdk/gdk.c:209 msgid "X display to use" msgstr "Visor [display] X que usar" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:170 +#: ../gdk/gdk.c:210 msgid "DISPLAY" msgstr "VISOR" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:172 -msgid "X screen to use" -msgstr "Pantalla [screen] X que usar" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:173 -msgid "SCREEN" -msgstr "PANTALLA" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:176 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to set" msgstr "Opciones de depuración GTK+ que establecer" @@ -86,12 +76,12 @@ msgstr "Opciones de depuración GTK+ que establecer" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 +#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 msgid "FLAGS" msgstr "OPCIONES" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:179 +#: ../gdk/gdk.c:216 msgid "GDK debugging flags to unset" msgstr "Opciones de depuración GTK+ que quitar" @@ -310,35 +300,28 @@ msgstr "Tamaño de la paleta en modo 8 bits" msgid "COLORS" msgstr "COLORES" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "Iniciando %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "Abriendo %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "Aberiendo %d elemento" msgstr[1] "Abriendo %d elementos" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "Hacer llamadas a X síncronas" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. #: ../gtk/gtkaboutdialog.c:105 #, c-format -#| msgid "" -#| "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" @@ -355,44 +338,41 @@ msgid "The license of the program" msgstr "La licencia del programa" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:741 +#: ../gtk/gtkaboutdialog.c:740 msgid "C_redits" msgstr "C_réditos" #. Add the license button -#: ../gtk/gtkaboutdialog.c:754 +#: ../gtk/gtkaboutdialog.c:753 msgid "_License" msgstr "_Licencia" -#: ../gtk/gtkaboutdialog.c:959 +#: ../gtk/gtkaboutdialog.c:958 msgid "Could not show link" msgstr "No se pudo mostrar el enlace" -#: ../gtk/gtkaboutdialog.c:996 -#| msgctxt "keyboard label" -#| msgid "Home" +#: ../gtk/gtkaboutdialog.c:995 msgid "Homepage" msgstr "Página web" -#: ../gtk/gtkaboutdialog.c:1052 +#: ../gtk/gtkaboutdialog.c:1049 #, c-format msgid "About %s" msgstr "Acerca de %s" -#: ../gtk/gtkaboutdialog.c:2367 -#| msgid "C_reate" +#: ../gtk/gtkaboutdialog.c:2371 msgid "Created by" msgstr "Arte por" -#: ../gtk/gtkaboutdialog.c:2370 +#: ../gtk/gtkaboutdialog.c:2374 msgid "Documented by" msgstr "Documentado por" -#: ../gtk/gtkaboutdialog.c:2382 +#: ../gtk/gtkaboutdialog.c:2384 msgid "Translated by" msgstr "Traducido por" -#: ../gtk/gtkaboutdialog.c:2386 +#: ../gtk/gtkaboutdialog.c:2389 msgid "Artwork by" msgstr "Arte por" @@ -497,7 +477,7 @@ msgstr "Etiqueta no soportada: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:882 msgid "calendar:MY" msgstr "calendar:MY" @@ -505,7 +485,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:920 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -514,7 +494,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1900 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -529,7 +509,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -545,7 +525,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -561,7 +541,7 @@ msgstr "%Id" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2253 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -597,15 +577,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Escoja un color" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Se recibió un dato de color no válido\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -613,7 +593,7 @@ msgstr "" "Seleccionar el color que desea desde el anillo exterior. Seleccionar la " "oscuridad o luminosidad de ese color usando el triángulo interior." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -621,67 +601,67 @@ msgstr "" "Pulse en el gotero, luego pulse sobre cualquier color que haya en su " "pantalla para seleccionar ese color." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Matiz:" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Posición en la rueda de colores." -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Saturación:" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "Intensidad del color." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Valor:" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Brillo del color." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Rojo:" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Cantidad de luz roja en el color." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_Verde:" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Cantidad de luz verde en el color." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Azul:" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Cantidad de luz azul en el color." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "_Opacidad:" -#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Transparencia del color." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "_Nombre del color:" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -689,15 +669,15 @@ msgstr "" "Puede introducir en esta entrada un valor de color en estilo HTML " "hexadecimal, o simplemente un nombre de color como «orange»." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Paleta:" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Rueda de color" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -708,7 +688,7 @@ msgstr "" "seleccionar este color como actual arrastrándolo al otro color a lo largo de " "la muestra." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -716,7 +696,7 @@ msgstr "" "El color elegido. Puede arrastrar este color a una entrada de la paleta para " "guardarlo para usarlo en el futuro." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -724,15 +704,15 @@ msgstr "" "El color anteriormente seleccionado, para compararlo con el color que está " "seleccionando ahora" -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "El color que ha elegido." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_Guardar color aquí" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -809,23 +789,23 @@ msgstr "_Derecho:" msgid "Paper Margins" msgstr "Márgenes del papel" -#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8246 +#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8821 ../gtk/gtktextview.c:8260 +#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "_Insertar un carácter de control Unicode" -#: ../gtk/gtkentry.c:10225 +#: ../gtk/gtkentry.c:10227 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Mayús y Bloq Num están activados" -#: ../gtk/gtkentry.c:10227 +#: ../gtk/gtkentry.c:10229 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:10229 +#: ../gtk/gtkentry.c:10231 msgid "Caps Lock is on" msgstr "Bloq Mayús está activado" @@ -906,7 +886,7 @@ msgstr "%1$s en %2$s" msgid "Search" msgstr "Buscar" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Usados recientemente" @@ -939,161 +919,161 @@ msgstr "Quitar el marcador «%s»" msgid "Bookmark '%s' cannot be removed" msgstr "No se puede quitar el marcador «%s»" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "Quitar el marcador seleccionado" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "Quitar" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "Renombrar…" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "Lugares" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "_Lugares" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "_Añadir" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "Añade la carpeta seleccionada a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "_Quitar" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "No se pudo seleccionar el archivo" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "_Añadir a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "Mostrar archivos _ocultos" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "Mostrar columna de _tamaño" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "Archivos" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "Nombre" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "Tamaño" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "Modificado" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Nombre:" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_Buscar otras carpetas" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "Teclee un nombre de archivo" # C en conflicto con Cancelar #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "Crear car_peta" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "_Lugar:" # El acelerador c entra en conflicto con cancelar -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "_Guardar en la carpeta:" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "Crear en la _carpeta:" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "No se pudo leer el contenido de %s" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "No se pudo leer el contenido del la carpeta" -#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "Desconocido" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "Ayer a las %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "No se pudo cambiar a la carpeta porque no es local" -#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "La combinación %s ya existe" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "La combinación %s no existe" -#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Ya existe un archivo llamado «%s». ¿Quiere reemplazarlo?" -#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "El archivo ya existe en «%s». Si lo reemplaza sobreescribirá su contenido." -#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Reemplazar" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "No se ha podido iniciar el proceso de búsqueda" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1101,15 +1081,15 @@ msgstr "" "El programa no fue capaz de crear una conexión con el demonio indexador. Por " "favor asegúrese de que se está ejecutando." -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "No se ha podido enviar la petición de búsqueda" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Buscar:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "No se pudo montar %s" @@ -1230,7 +1210,7 @@ msgstr "Selección de tipografías" msgid "Error loading icon: %s" msgstr "Ocurrió un error al cargar el icono: %s" -#: ../gtk/gtkicontheme.c:1352 +#: ../gtk/gtkicontheme.c:1351 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1243,12 +1223,12 @@ msgstr "" "Puede obtener una copia desde:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1533 +#: ../gtk/gtkicontheme.c:1532 #, c-format msgid "Icon '%s' not present in theme" msgstr "El icono «%s» no está presente en el tema" -#: ../gtk/gtkicontheme.c:3054 +#: ../gtk/gtkicontheme.c:3053 msgid "Failed to load icon" msgstr "No se pudo cargar el icono" @@ -1274,12 +1254,12 @@ msgid "System (%s)" msgstr "Sistema (%s)" #. Open Link -#: ../gtk/gtklabel.c:6249 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Abrir enlace" #. Copy Link Address -#: ../gtk/gtklabel.c:6261 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Copiar la dirección del _enlace" @@ -1292,27 +1272,27 @@ msgid "Invalid URI" msgstr "URI inválida" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 +#: ../gtk/gtkmain.c:515 msgid "Load additional GTK+ modules" msgstr "Cargar módulos adicionales GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:517 +#: ../gtk/gtkmain.c:516 msgid "MODULES" msgstr "MÓDULOS" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:518 msgid "Make all warnings fatal" msgstr "Hacer todas las advertencias fatales" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:522 +#: ../gtk/gtkmain.c:521 msgid "GTK+ debugging flags to set" msgstr "Opciones de depuración GTK+ a poner" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:525 +#: ../gtk/gtkmain.c:524 msgid "GTK+ debugging flags to unset" msgstr "Opciones de depuración GTK+ a quitar" @@ -1321,20 +1301,20 @@ msgstr "Opciones de depuración GTK+ a quitar" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:788 +#: ../gtk/gtkmain.c:787 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:852 +#: ../gtk/gtkmain.c:851 #, c-format msgid "Cannot open display: %s" msgstr "No se puede abrir el visor: %s" -#: ../gtk/gtkmain.c:911 +#: ../gtk/gtkmain.c:915 msgid "GTK+ Options" msgstr "Opciones GTK+" -#: ../gtk/gtkmain.c:911 +#: ../gtk/gtkmain.c:915 msgid "Show GTK+ Options" msgstr "Mostrar opciones GTK+" @@ -1419,7 +1399,7 @@ msgstr "Shell Z" msgid "Cannot end process with PID %d: %s" msgstr "No se puede finalizar el proceso con PID %d: %s" -#: ../gtk/gtknotebook.c:4911 ../gtk/gtknotebook.c:7568 +#: ../gtk/gtknotebook.c:4910 ../gtk/gtknotebook.c:7567 #, c-format msgid "Page %u" msgstr "Página %u" @@ -1576,11 +1556,11 @@ msgstr "Error al crear la vista previa de impresión" msgid "The most probable reason is that a temporary file could not be created." msgstr "La razón más probable es que no se pudiera crear un archivo temporal." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Error al lanzar la vista previa" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Aplicación" @@ -1962,7 +1942,7 @@ msgstr "Algunos de los ajustes del diálogo están en conflicto" msgid "Print" msgstr "Imprimir" -#: ../gtk/gtkrc.c:2366 ../gtk/gtkrc.c:2369 +#: ../gtk/gtkrc.c:947 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Imposible encontrar un archivo imagen en pixmap_path: «%s»" @@ -2595,7 +2575,7 @@ msgstr "_Reducir" #: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 msgctxt "switch" msgid "ON" -msgstr "ENCENDIDO" +msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state @@ -2603,7 +2583,7 @@ msgstr "ENCENDIDO" #: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 msgctxt "switch" msgid "OFF" -msgstr "APAGADO" +msgstr "○" #: ../gtk/gtkswitch.c:943 msgctxt "light switch widget" @@ -2777,53 +2757,53 @@ msgstr "_No ensamblador de ancho cero [ZWNJ]" msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "Imposible encontrar el motor de temas en la ruta al _modulo: «%s»," -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Etiqueta de inicio «%s» inesperada en la línea %d, carácter %d" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Dato carácter inesperado en la línea %d, carácter %d" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "Vacío" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Volumen" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "Sube o baja el volumen" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "Ajusta el volumen" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Bajar volumen" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "Disminuye el volumen" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Subir volumen" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "Aumenta el volumen" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Silenciado" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Volumen total" @@ -2832,7 +2812,7 @@ msgstr "Volumen total" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -4271,6 +4251,15 @@ msgstr "" "No se ha podido cargar la imagen «%s»: el motivo es desconocido, " "probablemente el archivo gráfico esté corrupto" +#~ msgid "X screen to use" +#~ msgstr "Pantalla [screen] X que usar" + +#~ msgid "SCREEN" +#~ msgstr "PANTALLA" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Hacer llamadas a X síncronas" + #~ msgid "Credits" #~ msgstr "Créditos" From ac8a10f6c48a8a7d8b7a47712e0c799d8d157f48 Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Thu, 30 Dec 2010 21:15:44 +0100 Subject: [PATCH 0962/1463] Updated Swedish translation --- po/sv.po | 2601 +++++++++++++++++++++++------------------------------- 1 file changed, 1084 insertions(+), 1517 deletions(-) diff --git a/po/sv.po b/po/sv.po index 103139f3e0..f6946737dc 100644 --- a/po/sv.po +++ b/po/sv.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-08-06 14:11+0100\n" +"POT-Creation-Date: 2010-12-30 21:06+0100\n" +"PO-Revision-Date: 2010-12-30 21:15+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -18,366 +18,352 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Fel vid tolkning av flaggan --gdk-debug" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Fel vid tolkning av flaggan --gdk-no-debug" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Programklass som den används av fönsterhanteraren" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "KLASS" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Programnamn som det används av fönsterhanteraren" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NAMN" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "X-display att använda" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "DISPLAY" -#. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 -msgid "X screen to use" -msgstr "X-skärm att använda" - -#. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 -msgid "SCREEN" -msgstr "SKÄRM" - #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" -msgstr "GTK+-felsökningsflaggor att ställa in" +msgstr "GDK-felsökningsflaggor att ställa in" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:211 +#: ../gdk/gdk.c:214 +#: ../gtk/gtkmain.c:522 +#: ../gtk/gtkmain.c:525 msgid "FLAGS" msgstr "FLAGGOR" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" -msgstr "GTK+-felsökningsflaggor att inte ställa in" +msgstr "GDK-felsökningsflaggor att inte ställa in" -#: gdk/keyname-table.h:3940 +#: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" msgstr "BackSpace" -#: gdk/keyname-table.h:3941 +#: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" msgid "Tab" msgstr "Tabb" -#: gdk/keyname-table.h:3942 +#: ../gdk/keyname-table.h:3942 msgctxt "keyboard label" msgid "Return" msgstr "Retur" -#: gdk/keyname-table.h:3943 +#: ../gdk/keyname-table.h:3943 msgctxt "keyboard label" msgid "Pause" msgstr "Pause" -#: gdk/keyname-table.h:3944 +#: ../gdk/keyname-table.h:3944 msgctxt "keyboard label" msgid "Scroll_Lock" msgstr "Scroll_Lock" -#: gdk/keyname-table.h:3945 +#: ../gdk/keyname-table.h:3945 msgctxt "keyboard label" msgid "Sys_Req" msgstr "Sys_Req" -#: gdk/keyname-table.h:3946 +#: ../gdk/keyname-table.h:3946 msgctxt "keyboard label" msgid "Escape" msgstr "Escape" # Osäker. -#: gdk/keyname-table.h:3947 +#: ../gdk/keyname-table.h:3947 msgctxt "keyboard label" msgid "Multi_key" msgstr "Multi_key" -#: gdk/keyname-table.h:3948 +#: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" msgstr "Home" -#: gdk/keyname-table.h:3949 +#: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" msgid "Left" msgstr "Vänster" -#: gdk/keyname-table.h:3950 +#: ../gdk/keyname-table.h:3950 msgctxt "keyboard label" msgid "Up" msgstr "Upp" -#: gdk/keyname-table.h:3951 +#: ../gdk/keyname-table.h:3951 msgctxt "keyboard label" msgid "Right" msgstr "Höger" -#: gdk/keyname-table.h:3952 +#: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" msgstr "Ned" -#: gdk/keyname-table.h:3953 +#: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" msgid "Page_Up" msgstr "Page_Up" -#: gdk/keyname-table.h:3954 +#: ../gdk/keyname-table.h:3954 msgctxt "keyboard label" msgid "Page_Down" msgstr "Page_Down" -#: gdk/keyname-table.h:3955 +#: ../gdk/keyname-table.h:3955 msgctxt "keyboard label" msgid "End" msgstr "End" -#: gdk/keyname-table.h:3956 +#: ../gdk/keyname-table.h:3956 msgctxt "keyboard label" msgid "Begin" msgstr "Begin" -#: gdk/keyname-table.h:3957 +#: ../gdk/keyname-table.h:3957 msgctxt "keyboard label" msgid "Print" msgstr "Print" -#: gdk/keyname-table.h:3958 +#: ../gdk/keyname-table.h:3958 msgctxt "keyboard label" msgid "Insert" msgstr "Insert" -#: gdk/keyname-table.h:3959 +#: ../gdk/keyname-table.h:3959 msgctxt "keyboard label" msgid "Num_Lock" msgstr "Num_Lock" -#: gdk/keyname-table.h:3960 +#: ../gdk/keyname-table.h:3960 msgctxt "keyboard label" msgid "KP_Space" msgstr "KP_Space" -#: gdk/keyname-table.h:3961 +#: ../gdk/keyname-table.h:3961 msgctxt "keyboard label" msgid "KP_Tab" msgstr "KP_Tab" -#: gdk/keyname-table.h:3962 +#: ../gdk/keyname-table.h:3962 msgctxt "keyboard label" msgid "KP_Enter" msgstr "KP_Enter" -#: gdk/keyname-table.h:3963 +#: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" msgstr "KP_Home" -#: gdk/keyname-table.h:3964 +#: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" msgid "KP_Left" msgstr "KP_Left" -#: gdk/keyname-table.h:3965 +#: ../gdk/keyname-table.h:3965 msgctxt "keyboard label" msgid "KP_Up" msgstr "KP_Up" -#: gdk/keyname-table.h:3966 +#: ../gdk/keyname-table.h:3966 msgctxt "keyboard label" msgid "KP_Right" msgstr "KP_Right" -#: gdk/keyname-table.h:3967 +#: ../gdk/keyname-table.h:3967 msgctxt "keyboard label" msgid "KP_Down" msgstr "KP_Down" -#: gdk/keyname-table.h:3968 +#: ../gdk/keyname-table.h:3968 msgctxt "keyboard label" msgid "KP_Page_Up" msgstr "KP_Page_Up" -#: gdk/keyname-table.h:3969 +#: ../gdk/keyname-table.h:3969 msgctxt "keyboard label" msgid "KP_Prior" msgstr "KP_Prior" -#: gdk/keyname-table.h:3970 +#: ../gdk/keyname-table.h:3970 msgctxt "keyboard label" msgid "KP_Page_Down" msgstr "KP_Page_Down" -#: gdk/keyname-table.h:3971 +#: ../gdk/keyname-table.h:3971 msgctxt "keyboard label" msgid "KP_Next" msgstr "KP_Next" -#: gdk/keyname-table.h:3972 +#: ../gdk/keyname-table.h:3972 msgctxt "keyboard label" msgid "KP_End" msgstr "KP_End" -#: gdk/keyname-table.h:3973 +#: ../gdk/keyname-table.h:3973 msgctxt "keyboard label" msgid "KP_Begin" msgstr "KP_Begin" -#: gdk/keyname-table.h:3974 +#: ../gdk/keyname-table.h:3974 msgctxt "keyboard label" msgid "KP_Insert" msgstr "KP_Insert" -#: gdk/keyname-table.h:3975 +#: ../gdk/keyname-table.h:3975 msgctxt "keyboard label" msgid "KP_Delete" msgstr "KP_Delete" -#: gdk/keyname-table.h:3976 +#: ../gdk/keyname-table.h:3976 msgctxt "keyboard label" msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:54 msgid "Don't batch GDI requests" msgstr "Samla inte GDI-förfrågningar i en batch" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:56 msgid "Don't use the Wintab API for tablet support" msgstr "Använd inte Wintab-API:t för stöd av ritbrädor" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:58 msgid "Same as --no-wintab" msgstr "Samma som --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:60 msgid "Do use the Wintab API [default]" msgstr "Använd inte Wintab-API:t [standard]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:62 msgid "Size of the palette in 8 bit mode" msgstr "Storlek på paletten i 8-bitarsläge" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "COLORS" msgstr "FÄRGER" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "Startar %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "Öppnar %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "Öppnar %d objekt" msgstr[1] "Öppnar %d objekt" -#. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 -msgid "Make X calls synchronous" -msgstr "Gör X-anrop synkrona" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:105 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "" +msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "Detta program levereras utan NÅGON FORM AV GARANTI; besök %s för mer information" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:347 msgid "License" msgstr "Licens" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:348 msgid "The license of the program" msgstr "Licensen för programmet" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:740 msgid "C_redits" msgstr "Ta_ck" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:753 msgid "_License" msgstr "_Licens" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:958 msgid "Could not show link" msgstr "Kunde inte visa länken" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:995 +msgid "Homepage" +msgstr "Webbplats" + +#: ../gtk/gtkaboutdialog.c:1049 #, c-format msgid "About %s" msgstr "Om %s" -#: gtk/gtkaboutdialog.c:2153 -msgid "Credits" -msgstr "Tack" +#: ../gtk/gtkaboutdialog.c:2371 +msgid "Created by" +msgstr "Skapad av" -#: gtk/gtkaboutdialog.c:2185 -msgid "Written by" -msgstr "Skrivet av" - -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2374 msgid "Documented by" msgstr "Dokumenterat av" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2384 msgid "Translated by" msgstr "Översatt av" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2389 msgid "Artwork by" msgstr "Grafik av" @@ -386,7 +372,7 @@ msgstr "Grafik av" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:160 msgctxt "keyboard label" msgid "Shift" msgstr "Skift" @@ -396,7 +382,7 @@ msgstr "Skift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:166 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -406,7 +392,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:172 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -416,7 +402,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:770 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -426,7 +412,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:783 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -436,37 +422,37 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:797 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:813 msgctxt "keyboard label" msgid "Space" msgstr "Blanksteg" -#: gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:816 msgctxt "keyboard label" msgid "Backslash" msgstr "Omvänt snedstreck" -#: gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkbuilderparser.c:343 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Ogiltig typfunktion på rad %d: \"%s\"" -#: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#: ../gtk/gtkbuilderparser.c:407 +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "Duplikat objekt-id \"%s\" på rad %d (tidigare på rad %d)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:859 #, c-format msgid "Invalid root element: '%s'" msgstr "Ogiltigt rotelement: \"%s\"" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:898 #, c-format msgid "Unhandled tag: '%s'" msgstr "Ohanterad tagg: \"%s\"" @@ -481,7 +467,7 @@ msgstr "Ohanterad tagg: \"%s\"" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:882 msgid "calendar:MY" msgstr "calendar:MY" @@ -491,7 +477,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:920 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -500,7 +486,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1900 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -515,7 +501,8 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1931 +#: ../gtk/gtkcalendar.c:2620 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -531,7 +518,8 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1963 +#: ../gtk/gtkcalendar.c:2488 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -547,7 +535,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2253 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -555,7 +543,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:272 msgctxt "Accelerator" msgid "Disabled" msgstr "Inaktiverad" @@ -564,7 +552,7 @@ msgstr "Inaktiverad" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:282 msgctxt "Accelerator" msgid "Invalid" msgstr "Ogiltig" @@ -573,158 +561,133 @@ msgstr "Ogiltig" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:418 +#: ../gtk/gtkcellrendereraccel.c:675 msgid "New accelerator..." msgstr "Ny snabbtangent..." -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 +#: ../gtk/gtkcellrendererprogress.c:362 +#: ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:188 +#: ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Välj en färg" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Mottog ogiltig färgdata\n" -#: gtk/gtkcolorsel.c:384 -msgid "" -"Select the color you want from the outer ring. Select the darkness or " -"lightness of that color using the inner triangle." -msgstr "" -"Välj den färg som du vill ha från den yttre ringen. Välj mörkheten eller " -"ljusheten på den färgen genom att använda den inre triangeln." +#: ../gtk/gtkcolorsel.c:415 +msgid "Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle." +msgstr "Välj den färg som du vill ha från den yttre ringen. Välj mörkheten eller ljusheten på den färgen genom att använda den inre triangeln." -#: gtk/gtkcolorsel.c:408 -msgid "" -"Click the eyedropper, then click a color anywhere on your screen to select " -"that color." -msgstr "" -"Klicka på pipetten, och klicka sedan på en färg någonstans på din skärm för " -"att välja den färgen." +#: ../gtk/gtkcolorsel.c:439 +msgid "Click the eyedropper, then click a color anywhere on your screen to select that color." +msgstr "Klicka på pipetten, och klicka sedan på en färg någonstans på din skärm för att välja den färgen." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Nyans:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Position på färghjulet." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Mättnad:" -#: gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "Intensiteten för färgen." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Värde:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Ljushet på färgen." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Röd:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Mängd rött ljus i färgen." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_Grön:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Mängd grönt ljus i färgen." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Blå:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Mängd blått ljus i bilden." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "Op_acitet:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Genomskinlighet för färgen." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "Färg_namn:" -#: gtk/gtkcolorsel.c:470 -msgid "" -"You can enter an HTML-style hexadecimal color value, or simply a color name " -"such as 'orange' in this entry." -msgstr "" -"Du kan ange ett hexadecimalt färgvärde i HTML-stil, eller helt enkelt ange " -"ett engelskt namn på färgen som exempelvis \"orange\" i detta fält." +#: ../gtk/gtkcolorsel.c:501 +msgid "You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry." +msgstr "Du kan ange ett hexadecimalt färgvärde i HTML-stil, eller helt enkelt ange ett engelskt namn på färgen som exempelvis \"orange\" i detta fält." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Palett:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Färghjul" -#: gtk/gtkcolorsel.c:988 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now. You can drag this color to a palette entry, or select this color as " -"current by dragging it to the other color swatch alongside." -msgstr "" -"Den färg som valdes tidigare, för att du ska kunna jämföra med den färg du " -"väljer nu. Du kan dra färgen till en palettpost, eller välja denna färg som " -"den aktuella genom att dra den till det andra färgprovet." +#: ../gtk/gtkcolorsel.c:1033 +msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside." +msgstr "Den färg som valdes tidigare, för att du ska kunna jämföra med den färg du väljer nu. Du kan dra färgen till en palettpost, eller välja denna färg som den aktuella genom att dra den till det andra färgprovet." -#: gtk/gtkcolorsel.c:991 -msgid "" -"The color you've chosen. You can drag this color to a palette entry to save " -"it for use in the future." -msgstr "" -"Färgen som du valt. Du kan dra den här färgen till en palettpost för att " -"spara den för framtida bruk." +#: ../gtk/gtkcolorsel.c:1036 +msgid "The color you've chosen. You can drag this color to a palette entry to save it for use in the future." +msgstr "Färgen som du valt. Du kan dra den här färgen till en palettpost för att spara den för framtida bruk." -#: gtk/gtkcolorsel.c:996 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now." +#: ../gtk/gtkcolorsel.c:1041 +msgid "The previously-selected color, for comparison to the color you're selecting now." msgstr "Den tidigare valda färgen, för jämförelse med färgen som du väljer nu." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "Färgen som du valt." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_Spara färgen här" -#: gtk/gtkcolorsel.c:1601 -msgid "" -"Click this palette entry to make it the current color. To change this entry, " -"drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "" -"Klicka på denna palettpost för att göra den till aktuell färg. För att ändra " -"denna post kan du dra ett färgprov hit eller högerklicka och välja \"Spara " -"färg här\"." +#: ../gtk/gtkcolorsel.c:1652 +msgid "Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select \"Save color here.\"" +msgstr "Klicka på denna palettpost för att göra den till aktuell färg. För att ändra denna post kan du dra ett färgprov hit eller högerklicka och välja \"Spara färg här\"." -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "Färgval" @@ -734,136 +697,142 @@ msgstr "Färgval" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 +#: ../gtk/gtkprintunixdialog.c:3241 msgid "Manage Custom Sizes" msgstr "Hantera anpassade storlekar" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 +#: ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "tum" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 +#: ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "Marginaler från skrivare..." -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "Anpassad storlek %d" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "_Bredd:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "_Höjd:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "Pappersstorlek" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "_Överst:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "_Nederst:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "_Vänster:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "_Höger:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "Pappersmarginaler" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8809 +#: ../gtk/gtktextview.c:8248 msgid "Input _Methods" msgstr "Inmatnings_metoder" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8823 +#: ../gtk/gtktextview.c:8262 msgid "_Insert Unicode Control Character" msgstr "_Infoga Unicode-styrtecken" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10227 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock och Num Lock är aktiverade" -#: gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10229 msgid "Num Lock is on" msgstr "Num Lock är aktiverad" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10231 msgid "Caps Lock is on" msgstr "Caps Lock är aktiverad" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:61 msgid "Select A File" msgstr "Välj en fil" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:62 +#: ../gtk/gtkfilechooserdefault.c:1833 msgid "Desktop" msgstr "Skrivbord" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:63 msgid "(None)" msgstr "(Ingen)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:2001 msgid "Other..." msgstr "Annan..." -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:147 msgid "Type name of new folder" msgstr "Ange namnet på den nya mappen" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:946 msgid "Could not retrieve information about the file" msgstr "Kunde inte hämta information om filen" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:957 msgid "Could not add a bookmark" msgstr "Kunde inte lägga till ett bokmärke" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:968 msgid "Could not remove bookmark" msgstr "Kunde inte ta bort bokmärke" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:979 msgid "The folder could not be created" msgstr "Mappen kunde inte skapas" -#: gtk/gtkfilechooserdefault.c:984 -msgid "" -"The folder could not be created, as a file with the same name already " -"exists. Try using a different name for the folder, or rename the file first." -msgstr "" -"Mappen kunde inte skapas eftersom det redan finns en fil med samma namn. " -"Prova att använda ett annat namn på mappen, eller byt namn på filen först." +#: ../gtk/gtkfilechooserdefault.c:992 +msgid "The folder could not be created, as a file with the same name already exists. Try using a different name for the folder, or rename the file first." +msgstr "Mappen kunde inte skapas eftersom det redan finns en fil med samma namn. Prova att använda ett annat namn på mappen, eller byt namn på filen först." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1006 +msgid "You may only select folders. The item that you selected is not a folder; try using a different item." +msgstr "Du får endast välja mappar. Objektet som du valde är inte en mapp. Försök att använda ett annat objekt." + +#: ../gtk/gtkfilechooserdefault.c:1016 msgid "Invalid file name" msgstr "Ogiltigt filnamn" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1026 msgid "The folder contents could not be displayed" msgstr "Mappinnehållet kunde inte visas" @@ -871,239 +840,241 @@ msgstr "Mappinnehållet kunde inte visas" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1576 #, c-format msgid "%1$s on %2$s" msgstr "%1$s på %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1752 msgid "Search" msgstr "Sök" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1776 +#: ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Tidigare använda" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2437 msgid "Select which types of files are shown" msgstr "Välj vilka typer av filer som visas" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2796 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Lägg till mappen \"%s\" till bokmärkena" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2840 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Lägg till den aktuella mappen till dina bokmärken" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2842 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Lägg till de valda mapparna till bokmärkena" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2880 #, c-format msgid "Remove the bookmark '%s'" msgstr "Ta bort bokmärket \"%s\"" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2882 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "Bokmärket \"%s\" kan inte tas bort" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2889 +#: ../gtk/gtkfilechooserdefault.c:3757 msgid "Remove the selected bookmark" msgstr "Ta bort markerat bokmärke" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3452 msgid "Remove" msgstr "Ta bort" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3461 msgid "Rename..." msgstr "Byt namn..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3624 msgid "Places" msgstr "Platser" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3681 msgid "_Places" msgstr "_Platser" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3738 msgid "_Add" msgstr "_Lägg till" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3745 msgid "Add the selected folder to the Bookmarks" msgstr "Lägg till den valda mappen i bokmärkena" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3750 msgid "_Remove" msgstr "_Ta bort" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3892 msgid "Could not select file" msgstr "Kunde inte välja fil" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4067 msgid "_Add to Bookmarks" msgstr "_Lägg till i bokmärkena" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4080 msgid "Show _Hidden Files" msgstr "Visa _dolda filer" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4087 msgid "Show _Size Column" msgstr "Visa kolumnen _Storlek" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4313 msgid "Files" msgstr "Filer" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4364 msgid "Name" msgstr "Namn" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4387 msgid "Size" msgstr "Storlek" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4401 msgid "Modified" msgstr "Ändrad" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4656 +#: ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Namn:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4699 msgid "_Browse for other folders" msgstr "_Bläddra efter andra mappar" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4969 msgid "Type a file name" msgstr "Ange ett filnamn" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5012 msgid "Create Fo_lder" msgstr "Skapa ma_pp" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" msgstr "_Plats:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" msgstr "Spara i _mappen:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5228 msgid "Create in _folder:" msgstr "Skapa i _mappen:" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6297 #, c-format msgid "Could not read the contents of %s" msgstr "Kunde inte läsa innehållet i %s" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6301 msgid "Could not read the contents of the folder" msgstr "Kunde inte läsa innehållet i mappen" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6394 +#: ../gtk/gtkfilechooserdefault.c:6462 +#: ../gtk/gtkfilechooserdefault.c:6607 msgid "Unknown" msgstr "Okänd" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6409 msgid "%H:%M" msgstr "%H.%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6411 msgid "Yesterday at %H:%M" msgstr "Igår klockan %H.%M" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7077 msgid "Cannot change to folder because it is not local" msgstr "Kan inte byta till mappen eftersom den inte är lokal" -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7674 +#: ../gtk/gtkfilechooserdefault.c:7695 #, c-format msgid "Shortcut %s already exists" msgstr "Genvägen %s finns redan" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7785 #, c-format msgid "Shortcut %s does not exist" msgstr "Genvägen %s finns inte" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 +#: ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "En fil med namnet \"%s\" finns redan. Vill du ersätta den?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 +#: ../gtk/gtkprintunixdialog.c:484 #, c-format -msgid "" -"The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "" -"Filen finns redan i \"%s\". Att ersätta den kommer att skriva över dess " -"innehåll." +msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." +msgstr "Filen finns redan i \"%s\". Att ersätta den kommer att skriva över dess innehåll." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 +#: ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Ersätt" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Kunde inte starta sökprocessen" -#: gtk/gtkfilechooserdefault.c:8659 -msgid "" -"The program was not able to create a connection to the indexer daemon. " -"Please make sure it is running." -msgstr "" -"Programmet kunde inte skapa en anslutning till indexeringsdemonen. Försäkra " -"dig om att den kör." +#: ../gtk/gtkfilechooserdefault.c:8763 +msgid "The program was not able to create a connection to the indexer daemon. Please make sure it is running." +msgstr "Programmet kunde inte skapa en anslutning till indexeringsdemonen. Försäkra dig om att den kör." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Kunde inte skicka sökbegäran" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Sök:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Kunde inte montera %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:702 +#: ../gtk/gtkfilechooserentry.c:1180 msgid "Invalid path" msgstr "Ogiltig sökväg" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1112 msgid "No match" msgstr "Ingen matchning" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1123 msgid "Sole completion" msgstr "Enda komplettering" @@ -1111,13 +1082,13 @@ msgstr "Enda komplettering" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1139 msgid "Complete, but not unique" msgstr "Komplett, men inte unik" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1171 msgid "Completing..." msgstr "Kompletterar..." @@ -1125,7 +1096,8 @@ msgstr "Kompletterar..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1193 +#: ../gtk/gtkfilechooserentry.c:1218 msgid "Only local files may be selected" msgstr "Endast lokala filer kan väljas" @@ -1133,80 +1105,76 @@ msgstr "Endast lokala filer kan väljas" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1202 msgid "Incomplete hostname; end it with '/'" msgstr "Okomplett värdnamn; avsluta med \"/\"" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1213 msgid "Path does not exist" msgstr "Sökvägen finns inte" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Fel vid skapande av mappen \"%s\": %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "Filsystem" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 +#: ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Välj ett typsnitt" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Typsnitt" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:103 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:370 msgid "_Family:" msgstr "_Familj:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:376 msgid "_Style:" msgstr "_Stil:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:382 msgid "Si_ze:" msgstr "S_torlek:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:558 msgid "_Preview:" msgstr "_Förhandsvisning:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1658 msgid "Font Selection" msgstr "Typsnittsval" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1356 #, c-format msgid "Error loading icon: %s" msgstr "Fel vid inläsning av ikonen: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1351 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1219,75 +1187,75 @@ msgstr "" "Du kan få tag i en kopia från:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1532 #, c-format msgid "Icon '%s' not present in theme" msgstr "Ikonen \"%s\" finns inte i temat" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3053 msgid "Failed to load icon" msgstr "Misslyckades med att läsa in ikon" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "Enkel" -#: gtk/gtkimmulticontext.c:588 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "System" -#: gtk/gtkimmulticontext.c:598 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "Ingen" -#: gtk/gtkimmulticontext.c:681 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "System (%s)" #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Öppna länk" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Kopiera _länkadress" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:484 msgid "Copy URL" msgstr "Kopiera url" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:647 msgid "Invalid URI" msgstr "Ogiltig uri" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:515 msgid "Load additional GTK+ modules" msgstr "Läs in ytterligare GTK+-moduler" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:516 msgid "MODULES" msgstr "MODULER" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:518 msgid "Make all warnings fatal" msgstr "Gör alla varningar ödesdigra" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:521 msgid "GTK+ debugging flags to set" msgstr "GTK+-felsökningsflaggor att ställa in" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:524 msgid "GTK+ debugging flags to unset" msgstr "GTK+-felsökningsflaggor att inte ställa in" @@ -1296,122 +1264,124 @@ msgstr "GTK+-felsökningsflaggor att inte ställa in" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:787 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:851 #, c-format msgid "Cannot open display: %s" msgstr "Kan inte öppna display: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:915 msgid "GTK+ Options" msgstr "GTK+-flaggor" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:915 msgid "Show GTK+ Options" msgstr "Visa GTK+-flaggor" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "A_nslut" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "Anslut _anonymt" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "Anslut som a_nvändare:" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "_Användarnamn:" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "_Domän:" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "_Lösenord:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "Glöm lösenordet _omedelbart" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "Kom ihåg lösenordet tills du _loggar ut" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "Kom ihåg _för alltid" -#: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format -msgid "Unknown Application (PID %d)" -msgstr "Okänt program (pid %d)" - -#: gtk/gtkmountoperation.c:1066 +#: ../gtk/gtkmountoperation.c:883 #, c-format +msgid "Unknown Application (PID %d)" +msgstr "Okänt program (PID %d)" + +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "Kunde inte avsluta processen" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "A_vsluta process" -#: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "Kan inte döda processen med pid %d. Åtgärden är inte implementerad." +msgstr "Kan inte döda processen med PID %d. Åtgärden är inte implementerad." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "Terminalvisare" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Kommando för \"top\"" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "Kan inte avsluta processen med pid %d: %s" +msgstr "Kan inte avsluta processen med PID %d: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4911 +#: ../gtk/gtknotebook.c:7568 #, c-format msgid "Page %u" msgstr "Sida %u" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 +#: ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Inte en giltig sidkonfigurationsfil" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "Valfri skrivare" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "För portabla dokument" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1426,51 +1396,54 @@ msgstr "" " Övre: %s %s\n" " Undre: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 +#: ../gtk/gtkprintunixdialog.c:3292 msgid "Manage Custom Sizes..." msgstr "Hantera anpassade storlekar..." -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "_Format för:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 +#: ../gtk/gtkprintunixdialog.c:3464 msgid "_Paper size:" msgstr "_Pappersstorlek:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "_Orientering:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 +#: ../gtk/gtkprintunixdialog.c:3526 msgid "Page Setup" msgstr "Sidinställning" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:158 msgid "Up Path" msgstr "Sökväg uppåt" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:160 msgid "Down Path" msgstr "Sökväg nedåt" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1523 msgid "File System Root" msgstr "Filsystemsrot" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "Autentisering" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Inte tillgänglig" -#: gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "Välj en mapp" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "_Spara i mapp:" @@ -1478,187 +1451,188 @@ msgstr "_Spara i mapp:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:190 #, c-format msgid "%s job #%d" msgstr "%s jobbnr %d" -#: gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1695 msgctxt "print operation status" msgid "Initial state" msgstr "Initialt tillstånd" -#: gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1696 msgctxt "print operation status" msgid "Preparing to print" msgstr "Förbereder utskrift" -#: gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1697 msgctxt "print operation status" msgid "Generating data" msgstr "Genererar data" -#: gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Sending data" msgstr "Skickar data" -#: gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Waiting" msgstr "Väntar" -#: gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Blockerar vid problem" -#: gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Printing" msgstr "Skriver ut" -#: gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Finished" msgstr "Färdig" -#: gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Finished with error" msgstr "Färdig men med fel" -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2270 #, c-format msgid "Preparing %d" msgstr "Förbereder %d" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2272 +#: ../gtk/gtkprintoperation.c:2902 msgid "Preparing" msgstr "Förbereder" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2275 #, c-format msgid "Printing %d" msgstr "Skriver ut %d" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2932 msgid "Error creating print preview" msgstr "Fel vid skapande av förhandsgranskning" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." msgstr "Den mest troliga orsaken är att en temporärfil inte kunde skapas." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Fel vid start av förhandsgranskning" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 +#: ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Program" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "Skrivaren är frånkopplad" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "Slut på papper" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 msgid "Paused" msgstr "Pausad" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "Behöver användarhjälp" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "Anpassad storlek" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "Ingen skrivare hittades" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "Ogiltigt argument till CreateDC" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 +#: ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Fel från StartDoc" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 +#: ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "Inte tillräckligt med ledigt minne" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "Ogiltigt argument till PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "Ogiltig pekare till PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "Ogiltigt handtag till PrintDlgEx" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Ospecificerat fel" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Hämtning av skrivarinformation misslyckades" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Hämtar skrivarinformation..." -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2140 msgid "Printer" msgstr "Skrivare" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" msgstr "Plats" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2161 msgid "Status" msgstr "Status" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2187 msgid "Range" msgstr "Intervall" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2191 msgid "_All Pages" msgstr "_Alla sidor" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "C_urrent Page" msgstr "A_ktuell sida" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2208 msgid "Se_lection" msgstr "Mar_kering" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2217 msgid "Pag_es:" msgstr "Sid_or:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1666,28 +1640,28 @@ msgstr "" "Ange en eller flera sidintervall,\n" " exempelvis 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2228 msgid "Pages" msgstr "Sidor" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2241 msgid "Copies" msgstr "Kopior" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2246 msgid "Copie_s:" msgstr "Kop_ior:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2264 msgid "C_ollate" msgstr "S_ortera" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2272 msgid "_Reverse" msgstr "_Omvänd" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2292 msgid "General" msgstr "Allmänt" @@ -1697,168 +1671,169 @@ msgstr "Allmänt" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, top to bottom" msgstr "Vänster till höger, topp till botten" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3025 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 msgid "Left to right, bottom to top" msgstr "Vänster till höger, botten till topp" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, top to bottom" msgstr "Höger till vänster, topp till botten" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 msgid "Right to left, bottom to top" msgstr "Höger till vänster, botten till topp" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, left to right" msgstr "Topp till botten, vänster till höger" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 msgid "Top to bottom, right to left" msgstr "Topp till botten, höger till vänster" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, left to right" msgstr "Botten till topp, vänster till höger" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 msgid "Bottom to top, right to left" msgstr "Botten till topp, höger till vänster" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3032 +#: ../gtk/gtkprintunixdialog.c:3045 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 msgid "Page Ordering" msgstr "Sidordning" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3061 msgid "Left to right" msgstr "Vänster till höger" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Right to left" msgstr "Höger till vänster" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3074 msgid "Top to bottom" msgstr "Topp till botten" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Bottom to top" msgstr "Botten till topp" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3315 msgid "Layout" msgstr "Layout" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3319 msgid "T_wo-sided:" msgstr "T_våsidig:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3334 msgid "Pages per _side:" msgstr "Sidor per _blad:" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3351 msgid "Page or_dering:" msgstr "Sidor_dning:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3367 msgid "_Only print:" msgstr "Skriv endast _ut:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3382 msgid "All sheets" msgstr "Alla blad" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "Even sheets" msgstr "Jämna blad" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Odd sheets" msgstr "Udda blad" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3387 msgid "Sc_ale:" msgstr "Sk_ala:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3414 msgid "Paper" msgstr "Papper" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3418 msgid "Paper _type:" msgstr "Pappers_typ:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3433 msgid "Paper _source:" msgstr "Pappers_källa:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3448 msgid "Output t_ray:" msgstr "Utsk_riftsfack:" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3488 msgid "Or_ientation:" msgstr "Or_ientering:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3503 msgid "Portrait" msgstr "Stående" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Landscape" msgstr "Liggande" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Reverse portrait" msgstr "Omvänt stående" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse landscape" msgstr "Omvänt liggande" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3551 msgid "Job Details" msgstr "Jobbdetaljer" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3557 msgid "Pri_ority:" msgstr "Pri_oritet:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3572 msgid "_Billing info:" msgstr "Fak_tureringsinformation:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3590 msgid "Print Document" msgstr "Skriv ut dokument" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3599 msgid "_Now" msgstr "_Nu" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3610 msgid "A_t:" msgstr "Kloc_kan:" @@ -1866,7 +1841,7 @@ msgstr "Kloc_kan:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3616 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1874,122 +1849,120 @@ msgstr "" "Ange tiden för utskrift,\n" " t.ex. 15.30, 02.35, 14.15.20, 11.46.30" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3626 msgid "Time of print" msgstr "Tid för utskrift" # Är detta verkligen en bra översättning? -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3642 msgid "On _hold" msgstr "_Pausad" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "Hold the job until it is explicitly released" msgstr "Håll kvar jobbet tills det uttryckligen släpps" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3663 msgid "Add Cover Page" msgstr "Lägg till försättssida" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3672 msgid "Be_fore:" msgstr "_Före:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3690 msgid "_After:" msgstr "_Efter:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3708 msgid "Job" msgstr "Jobb" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3774 msgid "Advanced" msgstr "Avancerat" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3812 msgid "Image Quality" msgstr "Bildkvalitet" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3816 msgid "Color" msgstr "Färg" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3821 msgid "Finishing" msgstr "Färdigställning" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3831 msgid "Some of the settings in the dialog conflict" msgstr "Vissa av inställningarna i dialogen är i konflikt" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3854 msgid "Print" msgstr "Skriv ut" -#: gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Kan inte hitta inkluderingsfil: \"%s\"" - -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Kan inte hitta bildfil i \"pixmap_path\": \"%s\"" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 +#: ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 +#: ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "Denna funktion är inte implementerad för widgetar av klassen \"%s\"" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Välj vilken typ av dokument som visas" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1133 +#: ../gtk/gtkrecentchooserdefault.c:1170 #, c-format msgid "No item for URI '%s' found" msgstr "Inget objekt för uri:n \"%s\" hittades" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1297 msgid "Untitled filter" msgstr "Namnlöst filter" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1650 msgid "Could not remove item" msgstr "Kunde inte ta bort objekt" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1694 msgid "Could not clear list" msgstr "Kunde inte tömma lista" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" msgstr "Kopiera _plats" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" msgstr "_Ta bort från lista" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1800 msgid "_Clear List" msgstr "_Töm lista" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1814 msgid "Show _Private Resources" msgstr "Visa _privata resurser" @@ -2003,21 +1976,22 @@ msgstr "Visa _privata resurser" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "Inga objekt hittades" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 +#: ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "Ingen tidigare använd resurs hittades med uri:n \"%s\"" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "Öppna \"%s\"" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Okänt objekt" @@ -2026,7 +2000,7 @@ msgstr "Okänt objekt" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2035,46 +2009,54 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 +#: ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 +#: ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 +#: ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "Kan inte hitta ett objekt med uri \"%s\"" -#: gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "Inget registrerat program med namnet \"%s\" hittades för objekt med URI:n \"%s\"" + +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Snurrväljare" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "Tillhandahåller visuell förloppsindikering" #. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 +#: ../gtk/gtkstock.c:313 msgctxt "Stock label" msgid "Information" msgstr "Information" -#: gtk/gtkstock.c:314 +#: ../gtk/gtkstock.c:314 msgctxt "Stock label" msgid "Warning" msgstr "Varning" -#: gtk/gtkstock.c:315 +#: ../gtk/gtkstock.c:315 msgctxt "Stock label" msgid "Error" msgstr "Fel" -#: gtk/gtkstock.c:316 +#: ../gtk/gtkstock.c:316 msgctxt "Stock label" msgid "Question" msgstr "Fråga" @@ -2082,698 +2064,723 @@ msgstr "Fråga" #. FIXME these need accelerators when appropriate, and #. * need the mnemonics to be rationalized #. -#: gtk/gtkstock.c:321 +#: ../gtk/gtkstock.c:321 msgctxt "Stock label" msgid "_About" msgstr "_Om" -#: gtk/gtkstock.c:322 +#: ../gtk/gtkstock.c:322 msgctxt "Stock label" msgid "_Add" msgstr "_Lägg till" -#: gtk/gtkstock.c:323 +#: ../gtk/gtkstock.c:323 msgctxt "Stock label" msgid "_Apply" msgstr "_Verkställ" -#: gtk/gtkstock.c:324 +#: ../gtk/gtkstock.c:324 msgctxt "Stock label" msgid "_Bold" msgstr "_Fet" -#: gtk/gtkstock.c:325 +#: ../gtk/gtkstock.c:325 msgctxt "Stock label" msgid "_Cancel" msgstr "_Avbryt" -#: gtk/gtkstock.c:326 -#, fuzzy +#: ../gtk/gtkstock.c:326 msgctxt "Stock label" msgid "_CD-ROM" msgstr "_Cd-rom" -#: gtk/gtkstock.c:327 +#: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" msgstr "_Töm" -#: gtk/gtkstock.c:328 +#: ../gtk/gtkstock.c:328 msgctxt "Stock label" msgid "_Close" msgstr "S_täng" -#: gtk/gtkstock.c:329 +#: ../gtk/gtkstock.c:329 msgctxt "Stock label" msgid "C_onnect" msgstr "A_nslut" -#: gtk/gtkstock.c:330 +#: ../gtk/gtkstock.c:330 msgctxt "Stock label" msgid "_Convert" msgstr "_Konvertera" -#: gtk/gtkstock.c:331 +#: ../gtk/gtkstock.c:331 msgctxt "Stock label" msgid "_Copy" msgstr "_Kopiera" -#: gtk/gtkstock.c:332 +#: ../gtk/gtkstock.c:332 msgctxt "Stock label" msgid "Cu_t" msgstr "Klipp _ut" -#: gtk/gtkstock.c:333 +#: ../gtk/gtkstock.c:333 msgctxt "Stock label" msgid "_Delete" msgstr "_Ta bort" -#: gtk/gtkstock.c:334 +#: ../gtk/gtkstock.c:334 msgctxt "Stock label" msgid "_Discard" msgstr "_Förkasta" -#: gtk/gtkstock.c:335 +#: ../gtk/gtkstock.c:335 msgctxt "Stock label" msgid "_Disconnect" msgstr "_Koppla från" -#: gtk/gtkstock.c:336 +#: ../gtk/gtkstock.c:336 msgctxt "Stock label" msgid "_Execute" msgstr "_Kör" -#: gtk/gtkstock.c:337 +#: ../gtk/gtkstock.c:337 msgctxt "Stock label" msgid "_Edit" msgstr "R_edigera" -#: gtk/gtkstock.c:338 +#: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" msgstr "_Arkiv" -#: gtk/gtkstock.c:339 +#: ../gtk/gtkstock.c:339 msgctxt "Stock label" msgid "_Find" msgstr "_Sök" -#: gtk/gtkstock.c:340 +#: ../gtk/gtkstock.c:340 msgctxt "Stock label" msgid "Find and _Replace" msgstr "Sök och _ersätt" -#: gtk/gtkstock.c:341 +#: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" msgstr "_Diskett" -#: gtk/gtkstock.c:342 +#: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" msgstr "_Helskärm" -#: gtk/gtkstock.c:343 +#: ../gtk/gtkstock.c:343 msgctxt "Stock label" msgid "_Leave Fullscreen" msgstr "_Lämna helskärm" #. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 +#: ../gtk/gtkstock.c:345 msgctxt "Stock label, navigation" msgid "_Bottom" msgstr "_Nederst" #. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 +#: ../gtk/gtkstock.c:347 msgctxt "Stock label, navigation" msgid "_First" msgstr "Fö_rsta" #. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 +#: ../gtk/gtkstock.c:349 msgctxt "Stock label, navigation" msgid "_Last" msgstr "_Sista" #. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 +#: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" msgstr "_Överst" #. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 +#: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" msgstr "_Bakåt" #. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 +#: ../gtk/gtkstock.c:355 msgctxt "Stock label, navigation" msgid "_Down" msgstr "_Ned" #. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 +#: ../gtk/gtkstock.c:357 msgctxt "Stock label, navigation" msgid "_Forward" msgstr "_Framåt" #. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 +#: ../gtk/gtkstock.c:359 msgctxt "Stock label, navigation" msgid "_Up" msgstr "_Upp" -#: gtk/gtkstock.c:360 -#, fuzzy +#: ../gtk/gtkstock.c:360 msgctxt "Stock label" msgid "_Hard Disk" msgstr "_Hårddisk" -#: gtk/gtkstock.c:361 +#: ../gtk/gtkstock.c:361 msgctxt "Stock label" msgid "_Help" msgstr "_Hjälp" -#: gtk/gtkstock.c:362 +#: ../gtk/gtkstock.c:362 msgctxt "Stock label" msgid "_Home" msgstr "_Hem" -#: gtk/gtkstock.c:363 +#: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" msgstr "Öka indragning" -#: gtk/gtkstock.c:364 +#: ../gtk/gtkstock.c:364 msgctxt "Stock label" msgid "Decrease Indent" msgstr "Minska indragning" -#: gtk/gtkstock.c:365 +#: ../gtk/gtkstock.c:365 msgctxt "Stock label" msgid "_Index" msgstr "_Index" -#: gtk/gtkstock.c:366 +#: ../gtk/gtkstock.c:366 msgctxt "Stock label" msgid "_Information" msgstr "_Information" -#: gtk/gtkstock.c:367 +#: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" msgstr "_Kursiv" -#: gtk/gtkstock.c:368 +#: ../gtk/gtkstock.c:368 msgctxt "Stock label" msgid "_Jump to" msgstr "_Hoppa till" #. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 +#: ../gtk/gtkstock.c:370 msgctxt "Stock label" msgid "_Center" msgstr "_Centrera" #. This is about text justification -#: gtk/gtkstock.c:372 +#: ../gtk/gtkstock.c:372 msgctxt "Stock label" msgid "_Fill" msgstr "_Fyll" #. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 +#: ../gtk/gtkstock.c:374 msgctxt "Stock label" msgid "_Left" msgstr "_Vänster" #. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 +#: ../gtk/gtkstock.c:376 msgctxt "Stock label" msgid "_Right" msgstr "_Höger" #. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 +#: ../gtk/gtkstock.c:379 msgctxt "Stock label, media" msgid "_Forward" msgstr "_Framåt" #. Media label, as in "next song" -#: gtk/gtkstock.c:381 +#: ../gtk/gtkstock.c:381 msgctxt "Stock label, media" msgid "_Next" msgstr "_Nästa" #. Media label, as in "pause music" -#: gtk/gtkstock.c:383 +#: ../gtk/gtkstock.c:383 msgctxt "Stock label, media" msgid "P_ause" msgstr "Gör _paus" #. Media label, as in "play music" -#: gtk/gtkstock.c:385 +#: ../gtk/gtkstock.c:385 msgctxt "Stock label, media" msgid "_Play" msgstr "Spela _upp" #. Media label, as in "previous song" -#: gtk/gtkstock.c:387 +#: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" msgstr "Före_gående" #. Media label -#: gtk/gtkstock.c:389 +#: ../gtk/gtkstock.c:389 msgctxt "Stock label, media" msgid "_Record" msgstr "Spela _in" #. Media label -#: gtk/gtkstock.c:391 +#: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" msgstr "Spola _bakåt" #. Media label -#: gtk/gtkstock.c:393 +#: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" msgstr "_Stoppa" -#: gtk/gtkstock.c:394 +#: ../gtk/gtkstock.c:394 msgctxt "Stock label" msgid "_Network" msgstr "_Nätverk" -#: gtk/gtkstock.c:395 +#: ../gtk/gtkstock.c:395 msgctxt "Stock label" msgid "_New" msgstr "_Ny" -#: gtk/gtkstock.c:396 +#: ../gtk/gtkstock.c:396 msgctxt "Stock label" msgid "_No" msgstr "_Nej" -#: gtk/gtkstock.c:397 +#: ../gtk/gtkstock.c:397 msgctxt "Stock label" msgid "_OK" msgstr "_OK" -#: gtk/gtkstock.c:398 +#: ../gtk/gtkstock.c:398 msgctxt "Stock label" msgid "_Open" msgstr "_Öppna" #. Page orientation -#: gtk/gtkstock.c:400 +#: ../gtk/gtkstock.c:400 msgctxt "Stock label" msgid "Landscape" msgstr "Liggande" #. Page orientation -#: gtk/gtkstock.c:402 +#: ../gtk/gtkstock.c:402 msgctxt "Stock label" msgid "Portrait" msgstr "Stående" #. Page orientation -#: gtk/gtkstock.c:404 +#: ../gtk/gtkstock.c:404 msgctxt "Stock label" msgid "Reverse landscape" msgstr "Omvänt liggande" #. Page orientation -#: gtk/gtkstock.c:406 +#: ../gtk/gtkstock.c:406 msgctxt "Stock label" msgid "Reverse portrait" msgstr "Omvänt stående" -#: gtk/gtkstock.c:407 +#: ../gtk/gtkstock.c:407 msgctxt "Stock label" msgid "Page Set_up" msgstr "Sidinst_ällningar" -#: gtk/gtkstock.c:408 +#: ../gtk/gtkstock.c:408 msgctxt "Stock label" msgid "_Paste" msgstr "Klistra _in" -#: gtk/gtkstock.c:409 +#: ../gtk/gtkstock.c:409 msgctxt "Stock label" msgid "_Preferences" msgstr "_Inställningar" -#: gtk/gtkstock.c:410 +#: ../gtk/gtkstock.c:410 msgctxt "Stock label" msgid "_Print" msgstr "Skriv _ut" -#: gtk/gtkstock.c:411 +#: ../gtk/gtkstock.c:411 msgctxt "Stock label" msgid "Print Pre_view" msgstr "_Förhandsgranska" -#: gtk/gtkstock.c:412 +#: ../gtk/gtkstock.c:412 msgctxt "Stock label" msgid "_Properties" msgstr "_Egenskaper" -#: gtk/gtkstock.c:413 +#: ../gtk/gtkstock.c:413 msgctxt "Stock label" msgid "_Quit" msgstr "A_vsluta" -#: gtk/gtkstock.c:414 +#: ../gtk/gtkstock.c:414 msgctxt "Stock label" msgid "_Redo" msgstr "_Gör om" -#: gtk/gtkstock.c:415 +#: ../gtk/gtkstock.c:415 msgctxt "Stock label" msgid "_Refresh" msgstr "_Uppdatera" -#: gtk/gtkstock.c:416 +#: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" msgstr "_Ta bort" -#: gtk/gtkstock.c:417 +#: ../gtk/gtkstock.c:417 msgctxt "Stock label" msgid "_Revert" msgstr "_Återställ" -#: gtk/gtkstock.c:418 +#: ../gtk/gtkstock.c:418 msgctxt "Stock label" msgid "_Save" msgstr "_Spara" -#: gtk/gtkstock.c:419 +#: ../gtk/gtkstock.c:419 msgctxt "Stock label" msgid "Save _As" msgstr "Spara so_m" -#: gtk/gtkstock.c:420 +#: ../gtk/gtkstock.c:420 msgctxt "Stock label" msgid "Select _All" msgstr "Markera _allt" -#: gtk/gtkstock.c:421 +#: ../gtk/gtkstock.c:421 msgctxt "Stock label" msgid "_Color" msgstr "_Färg" -#: gtk/gtkstock.c:422 +#: ../gtk/gtkstock.c:422 msgctxt "Stock label" msgid "_Font" msgstr "_Typsnitt" #. Sorting direction -#: gtk/gtkstock.c:424 +#: ../gtk/gtkstock.c:424 msgctxt "Stock label" msgid "_Ascending" msgstr "_Stigande" #. Sorting direction -#: gtk/gtkstock.c:426 +#: ../gtk/gtkstock.c:426 msgctxt "Stock label" msgid "_Descending" msgstr "_Fallande" -#: gtk/gtkstock.c:427 +#: ../gtk/gtkstock.c:427 msgctxt "Stock label" msgid "_Spell Check" msgstr "_Stavningskontroll" -#: gtk/gtkstock.c:428 +#: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" msgstr "_Stoppa" #. Font variant -#: gtk/gtkstock.c:430 +#: ../gtk/gtkstock.c:430 msgctxt "Stock label" msgid "_Strikethrough" msgstr "_Genomstryk" -#: gtk/gtkstock.c:431 +#: ../gtk/gtkstock.c:431 msgctxt "Stock label" msgid "_Undelete" msgstr "_Återskapa" #. Font variant -#: gtk/gtkstock.c:433 +#: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" msgstr "_Stryk under" -#: gtk/gtkstock.c:434 +#: ../gtk/gtkstock.c:434 msgctxt "Stock label" msgid "_Undo" msgstr "_Ångra" -#: gtk/gtkstock.c:435 +#: ../gtk/gtkstock.c:435 msgctxt "Stock label" msgid "_Yes" msgstr "_Ja" #. Zoom -#: gtk/gtkstock.c:437 +#: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" msgstr "_Normal storlek" #. Zoom -#: gtk/gtkstock.c:439 +#: ../gtk/gtkstock.c:439 msgctxt "Stock label" msgid "Best _Fit" msgstr "Bästa _passning" -#: gtk/gtkstock.c:440 +#: ../gtk/gtkstock.c:440 msgctxt "Stock label" msgid "Zoom _In" msgstr "Zooma _in" -#: gtk/gtkstock.c:441 +#: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" msgstr "Zooma _ut" -#: gtk/gtktextbufferrichtext.c:650 +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:306 +#: ../gtk/gtkswitch.c:355 +#: ../gtk/gtkswitch.c:548 +msgctxt "switch" +msgid "ON" +msgstr "PÅ" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:314 +#: ../gtk/gtkswitch.c:356 +#: ../gtk/gtkswitch.c:564 +msgctxt "switch" +msgid "OFF" +msgstr "AV" + +#: ../gtk/gtkswitch.c:963 +msgctxt "light switch widget" +msgid "Switch" +msgstr "Växel" + +#: ../gtk/gtkswitch.c:964 +msgid "Switches between on and off states" +msgstr "Växlar mellan av och på" + +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "Okänt fel vid försök att deserialisera %s" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "Ingen deserialiseringsfunktion hittad för formatet %s" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:799 +#: ../gtk/gtktextbufferserialize.c:825 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Både \"id\" och \"name\" hittades på <%s>-elementet" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:809 +#: ../gtk/gtktextbufferserialize.c:835 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Attributet \"%s\" hittades två gånger på <%s>-elementet" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:851 +#, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s>-elementet har ett ogiltigt id \"%s\"" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:861 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s>-elementet har varken ett \"name\"- eller ett \"id\"-attribut" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:948 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Attributet \"%s\" repeterades två gånger på samma <%s>-element" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:966 +#: ../gtk/gtktextbufferserialize.c:991 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Attributet \"%s\" är ogiltigt på <%s>-elementet i detta sammanhang" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1030 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Taggen \"%s\" har inte blivit definierad." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1042 msgid "Anonymous tag found and tags can not be created." msgstr "Anonym tagg hittades och taggar kan inte skapas." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1053 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Taggen \"%s\" finns inte i bufferten och taggar kan inte skapas." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1152 +#: ../gtk/gtktextbufferserialize.c:1227 +#: ../gtk/gtktextbufferserialize.c:1332 +#: ../gtk/gtktextbufferserialize.c:1406 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Elementet <%s> är inte tillåten under <%s>" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1183 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" är inte en giltig attributtyp" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1191 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" är inte ett giltigt attributnamn" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1201 #, c-format -msgid "" -"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "" -"\"%s\" kunde inte konverteras till ett värde av typen \"%s\" för attributet " -"\"%s\"" +msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgstr "\"%s\" kunde inte konverteras till ett värde av typen \"%s\" för attributet \"%s\"" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1210 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" är inte ett giltigt värde för attributet \"%s\"" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1295 #, c-format msgid "Tag \"%s\" already defined" msgstr "Taggen \"%s\" är redan definierad" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1308 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Taggen \"%s\" har ogiltig prioritet \"%s\"" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1361 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Yttersta elementet i texten måste vara inte <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1370 +#: ../gtk/gtktextbufferserialize.c:1386 #, c-format msgid "A <%s> element has already been specified" msgstr "Ett <%s>-element har redan specificerats" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1392 msgid "A element can't occur before a element" msgstr "Ett -element kan inte inträffa före ett -element" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1792 msgid "Serialized data is malformed" msgstr "Serialiserad data är felformulerad" -#: gtk/gtktextbufferserialize.c:1862 -msgid "" -"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "" -"Serialiserad data är felformulerad. Första sektionen är inte " -"GTKTEXTBUFFERCONTENTS-0001" +#: ../gtk/gtktextbufferserialize.c:1870 +msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +msgstr "Serialiserad data är felformulerad. Första sektionen är inte GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM-märke för _vänster-till-höger" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM-märke för _höger-till-vänster" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE-_inbäddning för vänster-till-höger" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE-i_nbäddning för höger-till-vänster" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO-_åsidosättning för vänster-till-höger" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO-åsi_dosättning för höger-till-vänster" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF-_popriktningsformatering" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS-blanksteg _utan bredd" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ-_sammanslagare utan bredd" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ-_ickesammanslagare utan bredd" -#: gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Kan inte hitta temamotorn i \"module_path\": \"%s\"," - -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Oväntad starttagg \"%s\" på rad %d tecken %d" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Oväntade teckendata på rad %d tecken %d" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "Tom" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Volym" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "Drar volymen ned eller upp" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "Justerar volymen" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 +#: ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Sänk volymen" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "Sänker volymen" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 +#: ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Höj volymen" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "Ökar volymen" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Tystad" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Full volym" @@ -2782,932 +2789,935 @@ msgstr "Full volym" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" msgstr "%d %%" -#: gtk/paper_names_offsets.c:4 +#: ../gtk/paper_names_offsets.c:4 msgctxt "paper size" msgid "asme_f" msgstr "asme_f" -#: gtk/paper_names_offsets.c:5 +#: ../gtk/paper_names_offsets.c:5 msgctxt "paper size" msgid "A0x2" msgstr "A0x2" -#: gtk/paper_names_offsets.c:6 +#: ../gtk/paper_names_offsets.c:6 msgctxt "paper size" msgid "A0" msgstr "A0" -#: gtk/paper_names_offsets.c:7 +#: ../gtk/paper_names_offsets.c:7 msgctxt "paper size" msgid "A0x3" msgstr "A0x3" -#: gtk/paper_names_offsets.c:8 +#: ../gtk/paper_names_offsets.c:8 msgctxt "paper size" msgid "A1" msgstr "A1" -#: gtk/paper_names_offsets.c:9 +#: ../gtk/paper_names_offsets.c:9 msgctxt "paper size" msgid "A10" msgstr "A10" -#: gtk/paper_names_offsets.c:10 +#: ../gtk/paper_names_offsets.c:10 msgctxt "paper size" msgid "A1x3" msgstr "A1x3" -#: gtk/paper_names_offsets.c:11 +#: ../gtk/paper_names_offsets.c:11 msgctxt "paper size" msgid "A1x4" msgstr "A1x4" -#: gtk/paper_names_offsets.c:12 +#: ../gtk/paper_names_offsets.c:12 msgctxt "paper size" msgid "A2" msgstr "A2" -#: gtk/paper_names_offsets.c:13 +#: ../gtk/paper_names_offsets.c:13 msgctxt "paper size" msgid "A2x3" msgstr "A2x3" -#: gtk/paper_names_offsets.c:14 +#: ../gtk/paper_names_offsets.c:14 msgctxt "paper size" msgid "A2x4" msgstr "A2x4" -#: gtk/paper_names_offsets.c:15 +#: ../gtk/paper_names_offsets.c:15 msgctxt "paper size" msgid "A2x5" msgstr "A2x5" -#: gtk/paper_names_offsets.c:16 +#: ../gtk/paper_names_offsets.c:16 msgctxt "paper size" msgid "A3" msgstr "A3" -#: gtk/paper_names_offsets.c:17 +#: ../gtk/paper_names_offsets.c:17 msgctxt "paper size" msgid "A3 Extra" msgstr "A3 Extra" -#: gtk/paper_names_offsets.c:18 +#: ../gtk/paper_names_offsets.c:18 msgctxt "paper size" msgid "A3x3" msgstr "A3x3" -#: gtk/paper_names_offsets.c:19 +#: ../gtk/paper_names_offsets.c:19 msgctxt "paper size" msgid "A3x4" msgstr "A3x4" -#: gtk/paper_names_offsets.c:20 +#: ../gtk/paper_names_offsets.c:20 msgctxt "paper size" msgid "A3x5" msgstr "A3x5" -#: gtk/paper_names_offsets.c:21 +#: ../gtk/paper_names_offsets.c:21 msgctxt "paper size" msgid "A3x6" msgstr "A3x6" -#: gtk/paper_names_offsets.c:22 +#: ../gtk/paper_names_offsets.c:22 msgctxt "paper size" msgid "A3x7" msgstr "A3x7" -#: gtk/paper_names_offsets.c:23 +#: ../gtk/paper_names_offsets.c:23 msgctxt "paper size" msgid "A4" msgstr "A4" -#: gtk/paper_names_offsets.c:24 +#: ../gtk/paper_names_offsets.c:24 msgctxt "paper size" msgid "A4 Extra" msgstr "A4 Extra" -#: gtk/paper_names_offsets.c:25 +#: ../gtk/paper_names_offsets.c:25 msgctxt "paper size" msgid "A4 Tab" msgstr "A4 Tab" -#: gtk/paper_names_offsets.c:26 +#: ../gtk/paper_names_offsets.c:26 msgctxt "paper size" msgid "A4x3" msgstr "A4x3" -#: gtk/paper_names_offsets.c:27 +#: ../gtk/paper_names_offsets.c:27 msgctxt "paper size" msgid "A4x4" msgstr "A4x4" -#: gtk/paper_names_offsets.c:28 +#: ../gtk/paper_names_offsets.c:28 msgctxt "paper size" msgid "A4x5" msgstr "A4x5" -#: gtk/paper_names_offsets.c:29 +#: ../gtk/paper_names_offsets.c:29 msgctxt "paper size" msgid "A4x6" msgstr "A4x6" -#: gtk/paper_names_offsets.c:30 +#: ../gtk/paper_names_offsets.c:30 msgctxt "paper size" msgid "A4x7" msgstr "A4x7" -#: gtk/paper_names_offsets.c:31 +#: ../gtk/paper_names_offsets.c:31 msgctxt "paper size" msgid "A4x8" msgstr "A4x8" -#: gtk/paper_names_offsets.c:32 +#: ../gtk/paper_names_offsets.c:32 msgctxt "paper size" msgid "A4x9" msgstr "A4x9" -#: gtk/paper_names_offsets.c:33 +#: ../gtk/paper_names_offsets.c:33 msgctxt "paper size" msgid "A5" msgstr "A5" -#: gtk/paper_names_offsets.c:34 +#: ../gtk/paper_names_offsets.c:34 msgctxt "paper size" msgid "A5 Extra" msgstr "A5 Extra" -#: gtk/paper_names_offsets.c:35 +#: ../gtk/paper_names_offsets.c:35 msgctxt "paper size" msgid "A6" msgstr "A6" -#: gtk/paper_names_offsets.c:36 +#: ../gtk/paper_names_offsets.c:36 msgctxt "paper size" msgid "A7" msgstr "A7" -#: gtk/paper_names_offsets.c:37 +#: ../gtk/paper_names_offsets.c:37 msgctxt "paper size" msgid "A8" msgstr "A8" -#: gtk/paper_names_offsets.c:38 +#: ../gtk/paper_names_offsets.c:38 msgctxt "paper size" msgid "A9" msgstr "A9" -#: gtk/paper_names_offsets.c:39 +#: ../gtk/paper_names_offsets.c:39 msgctxt "paper size" msgid "B0" msgstr "B0" -#: gtk/paper_names_offsets.c:40 +#: ../gtk/paper_names_offsets.c:40 msgctxt "paper size" msgid "B1" msgstr "B1" -#: gtk/paper_names_offsets.c:41 +#: ../gtk/paper_names_offsets.c:41 msgctxt "paper size" msgid "B10" msgstr "B10" -#: gtk/paper_names_offsets.c:42 +#: ../gtk/paper_names_offsets.c:42 msgctxt "paper size" msgid "B2" msgstr "B2" -#: gtk/paper_names_offsets.c:43 +#: ../gtk/paper_names_offsets.c:43 msgctxt "paper size" msgid "B3" msgstr "B3" -#: gtk/paper_names_offsets.c:44 +#: ../gtk/paper_names_offsets.c:44 msgctxt "paper size" msgid "B4" msgstr "B4" -#: gtk/paper_names_offsets.c:45 +#: ../gtk/paper_names_offsets.c:45 msgctxt "paper size" msgid "B5" msgstr "B5" -#: gtk/paper_names_offsets.c:46 +#: ../gtk/paper_names_offsets.c:46 msgctxt "paper size" msgid "B5 Extra" msgstr "B5 Extra" -#: gtk/paper_names_offsets.c:47 +#: ../gtk/paper_names_offsets.c:47 msgctxt "paper size" msgid "B6" msgstr "B6" -#: gtk/paper_names_offsets.c:48 +#: ../gtk/paper_names_offsets.c:48 msgctxt "paper size" msgid "B6/C4" msgstr "B6/C4" -#: gtk/paper_names_offsets.c:49 +#: ../gtk/paper_names_offsets.c:49 msgctxt "paper size" msgid "B7" msgstr "B7" -#: gtk/paper_names_offsets.c:50 +#: ../gtk/paper_names_offsets.c:50 msgctxt "paper size" msgid "B8" msgstr "B8" -#: gtk/paper_names_offsets.c:51 +#: ../gtk/paper_names_offsets.c:51 msgctxt "paper size" msgid "B9" msgstr "B9" -#: gtk/paper_names_offsets.c:52 +#: ../gtk/paper_names_offsets.c:52 msgctxt "paper size" msgid "C0" msgstr "C0" -#: gtk/paper_names_offsets.c:53 +#: ../gtk/paper_names_offsets.c:53 msgctxt "paper size" msgid "C1" msgstr "C1" -#: gtk/paper_names_offsets.c:54 +#: ../gtk/paper_names_offsets.c:54 msgctxt "paper size" msgid "C10" msgstr "C10" -#: gtk/paper_names_offsets.c:55 +#: ../gtk/paper_names_offsets.c:55 msgctxt "paper size" msgid "C2" msgstr "C2" -#: gtk/paper_names_offsets.c:56 +#: ../gtk/paper_names_offsets.c:56 msgctxt "paper size" msgid "C3" msgstr "C3" -#: gtk/paper_names_offsets.c:57 +#: ../gtk/paper_names_offsets.c:57 msgctxt "paper size" msgid "C4" msgstr "C4" -#: gtk/paper_names_offsets.c:58 +#: ../gtk/paper_names_offsets.c:58 msgctxt "paper size" msgid "C5" msgstr "C5" -#: gtk/paper_names_offsets.c:59 +#: ../gtk/paper_names_offsets.c:59 msgctxt "paper size" msgid "C6" msgstr "C6" -#: gtk/paper_names_offsets.c:60 +#: ../gtk/paper_names_offsets.c:60 msgctxt "paper size" msgid "C6/C5" msgstr "C6/C5" -#: gtk/paper_names_offsets.c:61 +#: ../gtk/paper_names_offsets.c:61 msgctxt "paper size" msgid "C7" msgstr "C7" -#: gtk/paper_names_offsets.c:62 +#: ../gtk/paper_names_offsets.c:62 msgctxt "paper size" msgid "C7/C6" msgstr "C7/C6" -#: gtk/paper_names_offsets.c:63 +#: ../gtk/paper_names_offsets.c:63 msgctxt "paper size" msgid "C8" msgstr "C8" -#: gtk/paper_names_offsets.c:64 +#: ../gtk/paper_names_offsets.c:64 msgctxt "paper size" msgid "C9" msgstr "C9" -#: gtk/paper_names_offsets.c:65 +#: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" msgstr "DL-kuvert" -#: gtk/paper_names_offsets.c:66 +#: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" msgid "RA0" msgstr "RA0" -#: gtk/paper_names_offsets.c:67 +#: ../gtk/paper_names_offsets.c:67 msgctxt "paper size" msgid "RA1" msgstr "RA1" -#: gtk/paper_names_offsets.c:68 +#: ../gtk/paper_names_offsets.c:68 msgctxt "paper size" msgid "RA2" msgstr "RA2" -#: gtk/paper_names_offsets.c:69 +#: ../gtk/paper_names_offsets.c:69 msgctxt "paper size" msgid "SRA0" msgstr "SRA0" -#: gtk/paper_names_offsets.c:70 +#: ../gtk/paper_names_offsets.c:70 msgctxt "paper size" msgid "SRA1" msgstr "SRA1" -#: gtk/paper_names_offsets.c:71 +#: ../gtk/paper_names_offsets.c:71 msgctxt "paper size" msgid "SRA2" msgstr "SRA2" -#: gtk/paper_names_offsets.c:72 +#: ../gtk/paper_names_offsets.c:72 msgctxt "paper size" msgid "JB0" msgstr "JB0" -#: gtk/paper_names_offsets.c:73 +#: ../gtk/paper_names_offsets.c:73 msgctxt "paper size" msgid "JB1" msgstr "JB1" -#: gtk/paper_names_offsets.c:74 +#: ../gtk/paper_names_offsets.c:74 msgctxt "paper size" msgid "JB10" msgstr "JB10" -#: gtk/paper_names_offsets.c:75 +#: ../gtk/paper_names_offsets.c:75 msgctxt "paper size" msgid "JB2" msgstr "JB2" -#: gtk/paper_names_offsets.c:76 +#: ../gtk/paper_names_offsets.c:76 msgctxt "paper size" msgid "JB3" msgstr "JB3" -#: gtk/paper_names_offsets.c:77 +#: ../gtk/paper_names_offsets.c:77 msgctxt "paper size" msgid "JB4" msgstr "JB4" -#: gtk/paper_names_offsets.c:78 +#: ../gtk/paper_names_offsets.c:78 msgctxt "paper size" msgid "JB5" msgstr "JB5" -#: gtk/paper_names_offsets.c:79 +#: ../gtk/paper_names_offsets.c:79 msgctxt "paper size" msgid "JB6" msgstr "JB6" -#: gtk/paper_names_offsets.c:80 +#: ../gtk/paper_names_offsets.c:80 msgctxt "paper size" msgid "JB7" msgstr "JB7" -#: gtk/paper_names_offsets.c:81 +#: ../gtk/paper_names_offsets.c:81 msgctxt "paper size" msgid "JB8" msgstr "JB8" -#: gtk/paper_names_offsets.c:82 +#: ../gtk/paper_names_offsets.c:82 msgctxt "paper size" msgid "JB9" msgstr "JB9" -#: gtk/paper_names_offsets.c:83 +#: ../gtk/paper_names_offsets.c:83 msgctxt "paper size" msgid "jis exec" msgstr "jis exec" -#: gtk/paper_names_offsets.c:84 +#: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" msgstr "Choukei 2-kuvert" -#: gtk/paper_names_offsets.c:85 +#: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" msgstr "Choukei 3-kuvert" -#: gtk/paper_names_offsets.c:86 +#: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" msgstr "Choukei 4-kuvert" -#: gtk/paper_names_offsets.c:87 +#: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" msgid "hagaki (postcard)" msgstr "hagaki (vykort)" -#: gtk/paper_names_offsets.c:88 +#: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" msgstr "kahu-kuvert" -#: gtk/paper_names_offsets.c:89 +#: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" msgstr "kaku2-kuvert" -#: gtk/paper_names_offsets.c:90 +#: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" msgid "oufuku (reply postcard)" msgstr "oufuku (svarsvykort)" -#: gtk/paper_names_offsets.c:91 +#: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" msgstr "you4-kuvert" -#: gtk/paper_names_offsets.c:92 +#: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" msgid "10x11" msgstr "10x11" -#: gtk/paper_names_offsets.c:93 +#: ../gtk/paper_names_offsets.c:93 msgctxt "paper size" msgid "10x13" msgstr "10x13" -#: gtk/paper_names_offsets.c:94 +#: ../gtk/paper_names_offsets.c:94 msgctxt "paper size" msgid "10x14" msgstr "10x14" -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 +#: ../gtk/paper_names_offsets.c:95 +#: ../gtk/paper_names_offsets.c:96 msgctxt "paper size" msgid "10x15" msgstr "10x15" -#: gtk/paper_names_offsets.c:97 +#: ../gtk/paper_names_offsets.c:97 msgctxt "paper size" msgid "11x12" msgstr "11x12" -#: gtk/paper_names_offsets.c:98 +#: ../gtk/paper_names_offsets.c:98 msgctxt "paper size" msgid "11x15" msgstr "11x15" -#: gtk/paper_names_offsets.c:99 +#: ../gtk/paper_names_offsets.c:99 msgctxt "paper size" msgid "12x19" msgstr "12x19" -#: gtk/paper_names_offsets.c:100 +#: ../gtk/paper_names_offsets.c:100 msgctxt "paper size" msgid "5x7" msgstr "5x7" -#: gtk/paper_names_offsets.c:101 +#: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" msgstr "6x9-kuvert" -#: gtk/paper_names_offsets.c:102 +#: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" msgstr "7x9-kuvert" -#: gtk/paper_names_offsets.c:103 +#: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" msgstr "9x11-kuvert" -#: gtk/paper_names_offsets.c:104 +#: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" msgstr "a2-kuvert" -#: gtk/paper_names_offsets.c:105 +#: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" msgid "Arch A" msgstr "Arch A" -#: gtk/paper_names_offsets.c:106 +#: ../gtk/paper_names_offsets.c:106 msgctxt "paper size" msgid "Arch B" msgstr "Arch B" -#: gtk/paper_names_offsets.c:107 +#: ../gtk/paper_names_offsets.c:107 msgctxt "paper size" msgid "Arch C" msgstr "Arch C" -#: gtk/paper_names_offsets.c:108 +#: ../gtk/paper_names_offsets.c:108 msgctxt "paper size" msgid "Arch D" msgstr "Arch D" -#: gtk/paper_names_offsets.c:109 +#: ../gtk/paper_names_offsets.c:109 msgctxt "paper size" msgid "Arch E" msgstr "Arch E" -#: gtk/paper_names_offsets.c:110 +#: ../gtk/paper_names_offsets.c:110 msgctxt "paper size" msgid "b-plus" msgstr "b-plus" -#: gtk/paper_names_offsets.c:111 +#: ../gtk/paper_names_offsets.c:111 msgctxt "paper size" msgid "c" msgstr "c" -#: gtk/paper_names_offsets.c:112 +#: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" msgstr "c5-kuvert" -#: gtk/paper_names_offsets.c:113 +#: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" msgid "d" msgstr "d" -#: gtk/paper_names_offsets.c:114 +#: ../gtk/paper_names_offsets.c:114 msgctxt "paper size" msgid "e" msgstr "e" -#: gtk/paper_names_offsets.c:115 +#: ../gtk/paper_names_offsets.c:115 msgctxt "paper size" msgid "edp" msgstr "edp" -#: gtk/paper_names_offsets.c:116 +#: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" msgstr "Europeisk edp" -#: gtk/paper_names_offsets.c:117 +#: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" msgid "Executive" msgstr "Executive" -#: gtk/paper_names_offsets.c:118 +#: ../gtk/paper_names_offsets.c:118 msgctxt "paper size" msgid "f" msgstr "f" -#: gtk/paper_names_offsets.c:119 +#: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" msgstr "FanFold Europeisk" -#: gtk/paper_names_offsets.c:120 +#: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" msgid "FanFold US" msgstr "FanFold US" -#: gtk/paper_names_offsets.c:121 +#: ../gtk/paper_names_offsets.c:121 msgctxt "paper size" msgid "FanFold German Legal" msgstr "FanFold Tysk Legal" -#: gtk/paper_names_offsets.c:122 +#: ../gtk/paper_names_offsets.c:122 msgctxt "paper size" msgid "Government Legal" msgstr "Government Legal" -#: gtk/paper_names_offsets.c:123 +#: ../gtk/paper_names_offsets.c:123 msgctxt "paper size" msgid "Government Letter" msgstr "Government Letter" -#: gtk/paper_names_offsets.c:124 +#: ../gtk/paper_names_offsets.c:124 msgctxt "paper size" msgid "Index 3x5" msgstr "Index 3x5" -#: gtk/paper_names_offsets.c:125 +#: ../gtk/paper_names_offsets.c:125 msgctxt "paper size" msgid "Index 4x6 (postcard)" msgstr "Index 4x6 (vykort)" -#: gtk/paper_names_offsets.c:126 +#: ../gtk/paper_names_offsets.c:126 msgctxt "paper size" msgid "Index 4x6 ext" msgstr "Index 4x6 ext" -#: gtk/paper_names_offsets.c:127 +#: ../gtk/paper_names_offsets.c:127 msgctxt "paper size" msgid "Index 5x8" msgstr "Index 5x8" -#: gtk/paper_names_offsets.c:128 +#: ../gtk/paper_names_offsets.c:128 msgctxt "paper size" msgid "Invoice" msgstr "Faktura" -#: gtk/paper_names_offsets.c:129 +#: ../gtk/paper_names_offsets.c:129 msgctxt "paper size" msgid "Tabloid" msgstr "Tablå" -#: gtk/paper_names_offsets.c:130 +#: ../gtk/paper_names_offsets.c:130 msgctxt "paper size" msgid "US Legal" msgstr "US Legal" -#: gtk/paper_names_offsets.c:131 +#: ../gtk/paper_names_offsets.c:131 msgctxt "paper size" msgid "US Legal Extra" msgstr "US Legal Extra" -#: gtk/paper_names_offsets.c:132 +#: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" msgstr "US Letter" -#: gtk/paper_names_offsets.c:133 +#: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" msgstr "US Letter Extra" -#: gtk/paper_names_offsets.c:134 +#: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" msgstr "US Letter Plus" -#: gtk/paper_names_offsets.c:135 +#: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" msgstr "Monark-kuvert" -#: gtk/paper_names_offsets.c:136 +#: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" msgstr "#10-kuvert" -#: gtk/paper_names_offsets.c:137 +#: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" msgstr "#11-kuvert" -#: gtk/paper_names_offsets.c:138 +#: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" msgstr "#12-kuvert" -#: gtk/paper_names_offsets.c:139 +#: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" msgstr "#14-kuvert" -#: gtk/paper_names_offsets.c:140 +#: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" msgstr "#9-kuvert" -#: gtk/paper_names_offsets.c:141 +#: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" msgstr "Personligt kuvert" -#: gtk/paper_names_offsets.c:142 +#: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" msgid "Quarto" msgstr "Quarto" -#: gtk/paper_names_offsets.c:143 +#: ../gtk/paper_names_offsets.c:143 msgctxt "paper size" msgid "Super A" msgstr "Super A" -#: gtk/paper_names_offsets.c:144 +#: ../gtk/paper_names_offsets.c:144 msgctxt "paper size" msgid "Super B" msgstr "Super B" -#: gtk/paper_names_offsets.c:145 +#: ../gtk/paper_names_offsets.c:145 msgctxt "paper size" msgid "Wide Format" msgstr "Brett format" -#: gtk/paper_names_offsets.c:146 +#: ../gtk/paper_names_offsets.c:146 msgctxt "paper size" msgid "Dai-pa-kai" msgstr "Dai-pa-kai" -#: gtk/paper_names_offsets.c:147 +#: ../gtk/paper_names_offsets.c:147 msgctxt "paper size" msgid "Folio" msgstr "Folio" -#: gtk/paper_names_offsets.c:148 +#: ../gtk/paper_names_offsets.c:148 msgctxt "paper size" msgid "Folio sp" msgstr "Folio sp" -#: gtk/paper_names_offsets.c:149 +#: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" msgstr "Invite-kuvert" -#: gtk/paper_names_offsets.c:150 +#: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" msgstr "Italienskt kuvert" -#: gtk/paper_names_offsets.c:151 +#: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" msgid "juuro-ku-kai" msgstr "juuro-ku-kai" -#: gtk/paper_names_offsets.c:152 +#: ../gtk/paper_names_offsets.c:152 msgctxt "paper size" msgid "pa-kai" msgstr "pa-kai" -#: gtk/paper_names_offsets.c:153 +#: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" msgstr "Postfix-kuvert" -#: gtk/paper_names_offsets.c:154 +#: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" msgid "Small Photo" msgstr "Litet foto" -#: gtk/paper_names_offsets.c:155 +#: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" msgstr "prc1-kuvert" -#: gtk/paper_names_offsets.c:156 +#: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" msgstr "prc10-kuvert" -#: gtk/paper_names_offsets.c:157 +#: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" msgid "prc 16k" msgstr "prc 16k" -#: gtk/paper_names_offsets.c:158 +#: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" msgstr "prc2-kuvert" -#: gtk/paper_names_offsets.c:159 +#: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" msgstr "prc3-kuvert" -#: gtk/paper_names_offsets.c:160 +#: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" msgid "prc 32k" msgstr "prc 32k" -#: gtk/paper_names_offsets.c:161 +#: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" msgstr "prc4-kuvert" -#: gtk/paper_names_offsets.c:162 +#: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" msgstr "prc5-kuvert" -#: gtk/paper_names_offsets.c:163 +#: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" msgstr "prc6-kuvert" -#: gtk/paper_names_offsets.c:164 +#: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" msgstr "prc7-kuvert" -#: gtk/paper_names_offsets.c:165 +#: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" msgstr "prc8-kuvert" -#: gtk/paper_names_offsets.c:166 +#: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" msgstr "prc9-kuvert" -#: gtk/paper_names_offsets.c:167 +#: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" msgstr "ROC 16k" -#: gtk/paper_names_offsets.c:168 +#: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" msgstr "ROC 8k" -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 +#: ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "olika idata hittades för symboliska länkade \"%s\" och \"%s\"\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "Misslyckades med att skriva huvud\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "Misslyckades med att skriva hashtabell\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "Misslyckades med att skriva mappindex\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "Misslyckades med att skriva om huvud\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Misslyckades med att öppna filen %s : %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 +#: ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Misslyckades med att skriva cachefil: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "Den genererade cachen var ogiltig.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Kunde inte byta namn på %s till %s: %s, tar bort %s.\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Kunde inte byta namn på %s till %s: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "Kunde inte byta namn på %s tillbaka till %s: %s.\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "Cachefil skapades.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Skriv över en befintlig cache, även om den är uppdaterad" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "Kontrollera inte om index.theme finns" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Inkludera inte bilddata i cachen" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "Skriv ut en C-headerfil" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Stäng av informativ utskrift" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Validera befintlig ikoncache" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "Filen hittades inte: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Inte en giltig ikoncache: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "Ingen temaindexfil.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3717,311 +3727,310 @@ msgstr "" "Om du verkligen vill skapa en ikoncache här, använd --ignore-theme-index.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Amharisk (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "Cedilj" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "Kyrillisk (Translitererad)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "Inuktitut (Translitererad)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" # Osäker. #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Multipress" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Thai-Lao" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Tigrigna-Eritreansk (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Tigrigna-Etiopisk (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "Vietnamesisk (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "X-inmatningsmetod" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 msgid "Username:" msgstr "Användarnamn:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 msgid "Password:" msgstr "Lösenord:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "Autentisering krävs för att hämta en fil från %s" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 #, c-format msgid "Authentication is required to print document '%s' on printer %s" -msgstr "" -"Autentisering krävs för att skriva ut dokumentet \"%s\" på skrivaren %s" +msgstr "Autentisering krävs för att skriva ut dokumentet \"%s\" på skrivaren %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Autentisering krävs för att skriva ut ett dokument på %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Autentisering krävs för att hämta attributen för jobbet \"%s\"" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 msgid "Authentication is required to get attributes of a job" msgstr "Autentisering krävs för att hämta attributen för ett jobb" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Autentisering krävs för att hämta attributen för skrivaren %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 msgid "Authentication is required to get attributes of a printer" msgstr "Autentisering krävs för att hämta attributen för en skrivare" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Autentisering krävs för att hämta standardskrivaren för %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Autentisering krävs för att hämta skrivare från %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Autentisering krävs för att hämta en fil från %s" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 #, c-format msgid "Authentication is required on %s" msgstr "Autentisering krävs på %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 msgid "Domain:" msgstr "Domän:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Autentisering krävs för att skriva ut dokumentet \"%s\"" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "Autentisering krävs för att skriva ut detta dokument på skrivaren %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 msgid "Authentication is required to print this document" msgstr "Autentisering krävs för att skriva ut detta dokument" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 #, c-format msgid "Printer '%s' is low on toner." msgstr "Skrivaren \"%s\" har snart slut på toner." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 #, c-format msgid "Printer '%s' has no toner left." msgstr "Skrivaren \"%s\" har slut på toner." # FIXME: Kolla denna. Hittar inget bättre ord #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 #, c-format msgid "Printer '%s' is low on developer." msgstr "Skrivaren \"%s\" har snart slut på framkallningsmaterial." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' is out of developer." msgstr "Skrivaren \"%s\" har slut på framkallningsmaterial." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "Skrivaren \"%s\" har snart slut på minst en färgpenna." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "Skrivaren \"%s\" har slut på minst en färgpenna." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 #, c-format msgid "The cover is open on printer '%s'." msgstr "Luckan är öppen på skrivaren \"%s\"." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "The door is open on printer '%s'." msgstr "Dörren är öppen på skrivaren \"%s\"." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 #, c-format msgid "Printer '%s' is low on paper." msgstr "Skrivaren \"%s\" har snart slut på papper." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of paper." msgstr "Skrivaren \"%s\" har slut på papper." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format msgid "Printer '%s' is currently offline." msgstr "Skrivaren \"%s\" är för närvarande frånkopplad." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "There is a problem on printer '%s'." msgstr "Det har uppstått ett problem med skrivaren \"%s\"." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 msgid "Paused ; Rejecting Jobs" msgstr "Pausad ; Avvisar jobb" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 msgid "Rejecting Jobs" msgstr "Avvisar jobb" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 msgid "Two Sided" msgstr "Tvåsidig" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 msgid "Paper Type" msgstr "Papperstyp" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 msgid "Paper Source" msgstr "Papperskälla" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 msgid "Output Tray" msgstr "Utskriftsfack" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Resolution" msgstr "Upplösning" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "GhostScript pre-filtering" msgstr "GhostScript-förfiltrering" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 msgid "One Sided" msgstr "Ensidigt" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 msgid "Long Edge (Standard)" msgstr "Lång kant (Standard)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "Short Edge (Flip)" msgstr "Kort kant (Vänd)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 msgid "Auto Select" msgstr "Välj automatiskt" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 msgid "Printer Default" msgstr "Skrivarens standard" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Embed GhostScript fonts only" msgstr "Endast inbäddade GhostScript-typsnitt" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 msgid "Convert to PS level 1" msgstr "Konvertera till PS nivå 1" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Convert to PS level 2" msgstr "Konvertera till PS nivå 2" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "No pre-filtering" msgstr "Ingen förfiltrering" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 msgid "Miscellaneous" msgstr "Diverse" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Urgent" msgstr "Viktigt" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "High" msgstr "Hög" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Medium" msgstr "Medel" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 msgid "Low" msgstr "Låg" @@ -4029,68 +4038,68 @@ msgstr "Låg" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 msgid "Pages per Sheet" msgstr "Sidor per blad" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 msgid "Job Priority" msgstr "Jobbprioritet" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 msgid "Billing Info" msgstr "Faktureringsinformation" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "None" msgstr "Ingen" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Classified" msgstr "Klassificerat" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Confidential" msgstr "Konfidentiellt" # Se http://bugzilla.gnome.org/show_bug.cgi?id=148437 -- detta ska vara # "skärm" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Secret" msgstr "Hemlig" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Standard" msgstr "Standard" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Top Secret" msgstr "Topphemligt" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 msgid "Unclassified" msgstr "Inte klassificerat" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 msgid "Before" msgstr "Före" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 msgid "After" msgstr "Efter" @@ -4098,14 +4107,14 @@ msgstr "Efter" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 msgid "Print at" msgstr "Skriv ut den" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 msgid "Print at time" msgstr "Skriv ut klockan" @@ -4113,787 +4122,675 @@ msgstr "Skriv ut klockan" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 #, c-format msgid "Custom %sx%s" msgstr "Anpassad %sx%s" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "utdata.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Skriv ut till fil" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:578 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Sidor per _blad:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:649 msgid "File" msgstr "Fil" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:659 msgid "_Output format" msgstr "_Utskriftsformat" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Skriv ut till LPR" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Sidor per blad" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Kommandorad" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "skrivaren är frånkopplad" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "redo för utskrift" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "behandlar jobb" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "pausad" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "okänd" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "testutdata.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Skriv ut till testskrivare" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "Kunde inte hämta information för filen \"%s\": %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "Misslyckades med att öppna filen \"%s\": %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format -msgid "" -"Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "" -"Misslyckades med att läsa in bilden \"%s\": anledningen är okänd, troligtvis " -"en trasig bildfil" +msgid "Failed to load image '%s': reason not known, probably a corrupt image file" +msgstr "Misslyckades med att läsa in bilden \"%s\": anledningen är okänd, troligtvis en trasig bildfil" +#: ../gtk/gtkappchooserbutton.c:251 +msgid "Other application..." +msgstr "Annat program..." + +#: ../gtk/gtkappchooserdialog.c:115 +msgid "Failed to look for applications online" +msgstr "Misslyckades med att leta efter program på nätet" + +#: ../gtk/gtkappchooserdialog.c:152 +msgid "Find applications online" +msgstr "Sök efter program på nätet" + +#: ../gtk/gtkappchooserdialog.c:196 +msgid "Could not run application" +msgstr "Kunde inte köra programmet" + +#: ../gtk/gtkappchooserdialog.c:209 +#, c-format +msgid "Could not find '%s'" +msgstr "Kunde inte hitta \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:212 +msgid "Could not find application" +msgstr "Kunde inte hitta programmet" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:322 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Välj ett program för att öppna \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:323 +#: ../gtk/gtkappchooserwidget.c:633 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "Inga program tillgängliga för att öppna \"%s\"" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:329 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Välj ett program för filer av typen \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:332 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "Inga program tillgängliga för att öppna filer av typen \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:346 +msgid "Click \"Show other applications\", for more options, or \"Find applications online\" to install a new application" +msgstr "Klicka på \"Visa övriga program\" för fler alternativ eller \"Sök efter program på nätet\" för att installera ett nytt program" + +#: ../gtk/gtkappchooserdialog.c:416 +msgid "Forget association" +msgstr "Glöm associeringen" + +#: ../gtk/gtkappchooserdialog.c:481 +msgid "Show other applications" +msgstr "Visa övriga program" + +#: ../gtk/gtkappchooserdialog.c:499 +msgid "_Open" +msgstr "_Öppna" + +#: ../gtk/gtkappchooserwidget.c:582 +msgid "Default Application" +msgstr "Standardprogram" + +#: ../gtk/gtkappchooserwidget.c:718 +msgid "Recommended Applications" +msgstr "Rekommenderade program" + +#: ../gtk/gtkappchooserwidget.c:732 +msgid "Related Applications" +msgstr "Relaterade program" + +#: ../gtk/gtkappchooserwidget.c:745 +msgid "Other Applications" +msgstr "Övriga program" + +#~ msgid "X screen to use" +#~ msgstr "X-skärm att använda" +#~ msgid "SCREEN" +#~ msgstr "SKÄRM" +#~ msgid "Make X calls synchronous" +#~ msgstr "Gör X-anrop synkrona" +#~ msgid "Credits" +#~ msgstr "Tack" +#~ msgid "Written by" +#~ msgstr "Skrivet av" +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "Fel vid skapande av mappen \"%s\": %s" +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Kan inte hitta inkluderingsfil: \"%s\"" +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "Kan inte hitta temamotorn i \"module_path\": \"%s\"," #~ msgid "Gdk debugging flags to set" #~ msgstr "Gdk-felsökningsflaggor att ställa in" - #~ msgid "Gdk debugging flags to unset" #~ msgstr "Gdk-felsökningsflaggor att inte ställa in" # SUN CHANGED MESSAGE #~ msgid "Image file '%s' contains no data" #~ msgstr "Bildfilen \"%s\" innehåller inga data" - #~ msgid "" #~ "Failed to load animation '%s': reason not known, probably a corrupt " #~ "animation file" #~ msgstr "" #~ "Misslyckades med att läsa in animeringen \"%s\": anledningen är okänd, " #~ "troligtvis en trasig animeringsfil" - #~ msgid "Unable to load image-loading module: %s: %s" #~ msgstr "Kan inte läsa in bildinläsningsmodulen: %s: %s" - #~ msgid "" #~ "Image-loading module %s does not export the proper interface; perhaps " #~ "it's from a different GTK version?" #~ msgstr "" #~ "Bildinläsningsmodulen %s exporterar inte rätt gränssnitt; den kanske är " #~ "från en annan GTK-version?" - #~ msgid "Image type '%s' is not supported" #~ msgstr "Bildtypen \"%s\" stöds inte" - #~ msgid "Couldn't recognize the image file format for file '%s'" #~ msgstr "Kunde inte känna igen bildfilformatet på filen \"%s\"" - #~ msgid "Unrecognized image file format" #~ msgstr "Okänt bildfilformat" - #~ msgid "Failed to load image '%s': %s" #~ msgstr "Misslyckades med att läsa in bilden \"%s\": %s" - #~ msgid "Error writing to image file: %s" #~ msgstr "Fel vid skrivning till bildfil: %s" - #~ msgid "" #~ "This build of gdk-pixbuf does not support saving the image format: %s" #~ msgstr "Detta bygge av gdk-pixbuf stöder inte sparande av bildformatet: %s" - #~ msgid "Insufficient memory to save image to callback" #~ msgstr "Inte tillräckligt med minne för att spara bild till återuppringning" - #~ msgid "Failed to open temporary file" #~ msgstr "Misslyckades med att öppna temporär fil" - #~ msgid "Failed to read from temporary file" #~ msgstr "Misslyckades med att läsa från temporär fil" - #~ msgid "Failed to open '%s' for writing: %s" #~ msgstr "Misslyckades med att öppna \"%s\" för skrivning: %s" - #~ msgid "" #~ "Failed to close '%s' while writing image, all data may not have been " #~ "saved: %s" #~ msgstr "" #~ "Misslyckades med att stänga \"%s\" när bilden skrevs, all data kanske " #~ "inte har sparats korrekt: %s" - #~ msgid "Insufficient memory to save image into a buffer" #~ msgstr "Inte tillräckligt med minne för att spara bild till en buffert" - #~ msgid "Error writing to image stream" #~ msgstr "Fel vid skrivning till bildström" - #~ msgid "" #~ "Internal error: Image loader module '%s' failed to complete an operation, " #~ "but didn't give a reason for the failure" #~ msgstr "" #~ "Internt fel: Bildinläsningsmodulen \"%s\" misslyckades med att " #~ "färdigställa en åtgärd, men gav inte en anledning till misslyckandet" - #~ msgid "Incremental loading of image type '%s' is not supported" #~ msgstr "Inkrementell inläsning av bildtypen \"%s\" stöds inte" - #~ msgid "Image header corrupt" #~ msgstr "Bildhuvudet är trasigt" - #~ msgid "Image format unknown" #~ msgstr "Bildformatet är okänt" - #~ msgid "Image pixel data corrupt" #~ msgstr "Bildpunktsdata är trasigt" - #~ msgid "failed to allocate image buffer of %u byte" #~ msgid_plural "failed to allocate image buffer of %u bytes" #~ msgstr[0] "misslyckades med att allokera bildbuffert på %u byte" #~ msgstr[1] "misslyckades med att allokera bildbuffert på %u byte" - #~ msgid "Unexpected icon chunk in animation" #~ msgstr "Oväntat ikonstycke i animation" - #~ msgid "Unsupported animation type" #~ msgstr "Animationstypen stöds inte" - #~ msgid "Invalid header in animation" #~ msgstr "Ogiltigt huvud i animation" - #~ msgid "Not enough memory to load animation" #~ msgstr "Inte tillräckligt med minne för att läsa in animation" - #~ msgid "Malformed chunk in animation" #~ msgstr "Felaktigt stycke i animation" - #~ msgid "The ANI image format" #~ msgstr "Bildformatet ANI" - #~ msgid "BMP image has bogus header data" #~ msgstr "BMP-bilden har felaktig huvuddata" - #~ msgid "Not enough memory to load bitmap image" #~ msgstr "Inte tillräckligt med minne för att läsa in bild" - #~ msgid "BMP image has unsupported header size" #~ msgstr "BMP-bilden har huvudstorlek som inte stöds" - # Osäker. #~ msgid "Topdown BMP images cannot be compressed" #~ msgstr "BMP-bilder som är uppifrån-och-ned kan inte komprimeras" - #~ msgid "Premature end-of-file encountered" #~ msgstr "För tidigt filslut påträffades" - #~ msgid "Couldn't allocate memory for saving BMP file" #~ msgstr "Kunde inte allokera minne för sparande av BMP-fil" - #~ msgid "Couldn't write to BMP file" #~ msgstr "Kunde inte skriva till BMP-fil" - #~ msgid "The BMP image format" #~ msgstr "Bildformatet BMP" - #~ msgid "Failure reading GIF: %s" #~ msgstr "Misslyckades med att läsa GIF: %s" - #~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" #~ msgstr "GIF-filen saknade en del data (den kanske klipptes på något sätt?)" - #~ msgid "Internal error in the GIF loader (%s)" #~ msgstr "Internt fel i GIF-inläsaren (%s)" - #~ msgid "Stack overflow" #~ msgstr "Stackspill" - #~ msgid "GIF image loader cannot understand this image." #~ msgstr "GIF-bildinläsaren kan inte förstå denna bild." - #~ msgid "Bad code encountered" #~ msgstr "Felaktig kod påträffades" - #~ msgid "Circular table entry in GIF file" #~ msgstr "Cirkulär tabellpost i GIF-filen" - #~ msgid "Not enough memory to load GIF file" #~ msgstr "Inte tillräckligt med minne för att läsa in GIF-fil" - #~ msgid "Not enough memory to composite a frame in GIF file" #~ msgstr "Inte tillräckligt med minne för att komponera en ram i GIF-fil" - #~ msgid "GIF image is corrupt (incorrect LZW compression)" #~ msgstr "GIF-bilden är trasig (felaktig LZW-komprimering)" - #~ msgid "File does not appear to be a GIF file" #~ msgstr "Filen verkar inte vara en GIF-fil" - #~ msgid "Version %s of the GIF file format is not supported" #~ msgstr "Version %s av filformatet GIF stöds inte" - #~ msgid "" #~ "GIF image has no global colormap, and a frame inside it has no local " #~ "colormap." #~ msgstr "" #~ "GIF-bilden har ingen global färgkarta, och en ram i den saknar lokal " #~ "färgkarta." - #~ msgid "GIF image was truncated or incomplete." #~ msgstr "GIF-bilden var trunkerad eller ofullständig." - #~ msgid "The GIF image format" #~ msgstr "Bildformatet GIF" - #~ msgid "Invalid header in icon" #~ msgstr "Ogiltigt huvud i ikon" - #~ msgid "Not enough memory to load icon" #~ msgstr "Inte tillräckligt med minne för att läsa in ikon" - # SUN CHANGED MESSAGE #~ msgid "Icon has zero width" #~ msgstr "Ikonens bredd är noll" - # SUN CHANGED MESSAGE #~ msgid "Icon has zero height" #~ msgstr "Ikonens höjd är noll" - #~ msgid "Compressed icons are not supported" #~ msgstr "Komprimerade ikoner stöds inte" - #~ msgid "Unsupported icon type" #~ msgstr "Ikontypen stöds inte" - #~ msgid "Not enough memory to load ICO file" #~ msgstr "Inte tillräckligt med minne för att läsa in ICO-fil" - #~ msgid "Image too large to be saved as ICO" #~ msgstr "Bilden för stor för att sparas som ICO" - #~ msgid "Cursor hotspot outside image" #~ msgstr "Markörpunkt utanför bilden" - #~ msgid "Unsupported depth for ICO file: %d" #~ msgstr "Djupet stöds inte för ICO-fil: %d" - #~ msgid "The ICO image format" #~ msgstr "Bildformatet ICO" - #~ msgid "Error reading ICNS image: %s" #~ msgstr "Fel vid läsning av ICNS-bild: %s" - #~ msgid "Could not decode ICNS file" #~ msgstr "Kunde inte avkoda ICNS-fil" - #~ msgid "The ICNS image format" #~ msgstr "Bildformatet ICNS" - #~ msgid "Couldn't allocate memory for stream" #~ msgstr "Kunde inte allokera minne för ström" - #~ msgid "Couldn't decode image" #~ msgstr "Kunde inte avkoda bild" - #~ msgid "Transformed JPEG2000 has zero width or height" #~ msgstr "Transformerad JPEG2000 har bredden eller höjden noll." - #~ msgid "Image type currently not supported" #~ msgstr "Bildtypen stöds inte för tillfället" - #~ msgid "Couldn't allocate memory for color profile" #~ msgstr "Kunde inte allokera minne för färgprofil" - #~ msgid "Insufficient memory to open JPEG 2000 file" #~ msgstr "Inte tillräckligt med minne för att öppna JPEG 2000-fil" - #~ msgid "Couldn't allocate memory to buffer image data" #~ msgstr "Kunde inte allokera minne för att buffra bilddata" - #~ msgid "The JPEG 2000 image format" #~ msgstr "Bildformatet JPEG 2000" - #~ msgid "Error interpreting JPEG image file (%s)" #~ msgstr "Fel vid tolkning av JPEG-bildfil (%s)" - #~ msgid "" #~ "Insufficient memory to load image, try exiting some applications to free " #~ "memory" #~ msgstr "" #~ "Inte tillräckligt med minne för att läsa in bild, försök att avsluta " #~ "några program för att frigöra minne" - #~ msgid "Unsupported JPEG color space (%s)" #~ msgstr "JPEG-färgrymden stöds inte (%s)" - #~ msgid "Couldn't allocate memory for loading JPEG file" #~ msgstr "Kunde inte allokera minne för inläsning av JPEG-fil" - #~ msgid "Transformed JPEG has zero width or height." #~ msgstr "Transformerad JPEG har bredden eller höjden noll." - #~ msgid "" #~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " #~ "parsed." #~ msgstr "" #~ "JPEG-kvaliteten måste vara ett värde mellan 0 och 100; värdet \"%s\" " #~ "kunde inte tolkas." - #~ msgid "" #~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." #~ msgstr "" #~ "JPEG-kvaliteten måste vara ett värde mellan 0 och 100; värdet \"%d\" är " #~ "inte tillåtet." - #~ msgid "The JPEG image format" #~ msgstr "Bildformatet JPEG" - #~ msgid "Couldn't allocate memory for header" #~ msgstr "Kunde inte allokera minne för huvud" - #~ msgid "Couldn't allocate memory for context buffer" #~ msgstr "Kunde inte allokera minne för sammanhangsbuffert" - #~ msgid "Image has invalid width and/or height" #~ msgstr "Bilden har ogiltig bredd och/eller höjd" - #~ msgid "Image has unsupported bpp" #~ msgstr "Bilden har bitdjup som inte stöds" - #~ msgid "Image has unsupported number of %d-bit planes" #~ msgstr "Bilden har ett antal %d-bitplan som inte stöds" - #~ msgid "Couldn't create new pixbuf" #~ msgstr "Kunde inte skapa ny pixbuf" - #~ msgid "Couldn't allocate memory for line data" #~ msgstr "Kunde inte allokera minne för raddata" - #~ msgid "Couldn't allocate memory for paletted data" #~ msgstr "Kunde inte allokera minne för palettdata" - #~ msgid "Didn't get all lines of PCX image" #~ msgstr "Fick inte tag i alla rader för PCX-bild" - #~ msgid "No palette found at end of PCX data" #~ msgstr "Ingen palett hittades vid slutet av PCX-data" - #~ msgid "The PCX image format" #~ msgstr "Bildformatet PCX" - #~ msgid "Bits per channel of PNG image is invalid." #~ msgstr "Bitar per kanal i PNG-bilden är ogiltigt." - #~ msgid "Transformed PNG has zero width or height." #~ msgstr "Transformerad PNG har bredden eller höjden noll." - #~ msgid "Bits per channel of transformed PNG is not 8." #~ msgstr "Bitar per kanal av transformerad PNG är inte 8." - #~ msgid "Transformed PNG not RGB or RGBA." #~ msgstr "Transformerad PNG är inte RGB eller RGBA." - #~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." #~ msgstr "" #~ "Transformerad PNG har antal kanaler som inte stöds, måste vara 3 eller 4." - #~ msgid "Fatal error in PNG image file: %s" #~ msgstr "Ödesdigert fel i PNG-bildfil: %s" - #~ msgid "Insufficient memory to load PNG file" #~ msgstr "Inte tillräckligt med minne för att läsa in PNG-fil" - #~ msgid "" #~ "Insufficient memory to store a %ld by %ld image; try exiting some " #~ "applications to reduce memory usage" #~ msgstr "" #~ "Inte tillräckligt med minne för att lagra en %ld × %ld stor bild; försök " #~ "att avsluta några program för att frigöra minne" - #~ msgid "Fatal error reading PNG image file" #~ msgstr "Ödesdigert fel vid läsning av PNG-bildfil" - #~ msgid "Fatal error reading PNG image file: %s" #~ msgstr "Ödesdigert fel vid läsning av PNG-bildfil: %s" - #~ msgid "" #~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." #~ msgstr "" #~ "Nycklar för PNG-textstycken måste ha minst 1 och som mest 79 tecken." - #~ msgid "Keys for PNG text chunks must be ASCII characters." #~ msgstr "Nycklar för PNG-textstycken måste vara ASCII-tecken." - #~ msgid "Color profile has invalid length %d." #~ msgstr "Färgprofilen har en ogiltig längd %d." - #~ msgid "" #~ "PNG compression level must be a value between 0 and 9; value '%s' could " #~ "not be parsed." #~ msgstr "" #~ "PNG-komprimeringsnivån måste vara ett värde mellan 0 och 9; värdet \"%s\" " #~ "kunde inte tolkas." - #~ msgid "" #~ "PNG compression level must be a value between 0 and 9; value '%d' is not " #~ "allowed." #~ msgstr "" #~ "PNG-komprimeringsnivån måste vara ett värde mellan 0 och 9; värdet \"%d\" " #~ "är inte tillåtet." - #~ msgid "" #~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." #~ msgstr "" #~ "Värdet för PNG-textstycket %s kan inte konverteras till ISO-8859-1-" #~ "kodning." - #~ msgid "The PNG image format" #~ msgstr "Bildformatet PNG" - #~ msgid "PNM loader expected to find an integer, but didn't" #~ msgstr "PNM-inläsaren förväntade ett heltal, men fick inte" - #~ msgid "PNM file has an incorrect initial byte" #~ msgstr "PNM-filen har en ogiltig första byte" - #~ msgid "PNM file is not in a recognized PNM subformat" #~ msgstr "PNM-filen är inte i ett känt underformat av PNM" - #~ msgid "PNM file has an image width of 0" #~ msgstr "PNM-filens bildbredd är 0" - #~ msgid "PNM file has an image height of 0" #~ msgstr "PNM-filens bildhöjd är 0" - #~ msgid "Maximum color value in PNM file is 0" #~ msgstr "Maximala färgvärdet i PNM-filen är 0" - #~ msgid "Maximum color value in PNM file is too large" #~ msgstr "Maximala färgvärdet i PNM-filen är för stort" - #~ msgid "Raw PNM image type is invalid" #~ msgstr "Råa PNM-bildtypen är ogiltig" - #~ msgid "PNM image loader does not support this PNM subformat" #~ msgstr "PNM-bildinläsaren stöder inte detta underformat av PNM" - #~ msgid "Raw PNM formats require exactly one whitespace before sample data" #~ msgstr "Råa PNM-format kräver precis ett blanktecken före provdata" - #~ msgid "Cannot allocate memory for loading PNM image" #~ msgstr "Kan inte allokera minne för inläsning av PNM-bild" - #~ msgid "Insufficient memory to load PNM context struct" #~ msgstr "Inte tillräckligt med minne för att läsa in PNM-sammanhangsstruktur" - #~ msgid "Unexpected end of PNM image data" #~ msgstr "Oväntat slut på PNM-bilddata" - #~ msgid "Insufficient memory to load PNM file" #~ msgstr "Inte tillräckligt med minne för att läsa in PNM-fil" - #~ msgid "The PNM/PBM/PGM/PPM image format family" #~ msgstr "Bildformatsfamiljen PNM/PBM/PGM/PPM" - #~ msgid "Input file descriptor is NULL." #~ msgstr "Filbeskrivare för inmating är NULL." - #~ msgid "Failed to read QTIF header" #~ msgstr "Misslyckades med att läsa QTIF-rubrik" - #~ msgid "QTIF atom size too large (%d bytes)" #~ msgstr "QTIF-atomstorlek är för stor (%d byte)" - #~ msgid "Failed to allocate %d bytes for file read buffer" #~ msgstr "Misslyckades med att allokera %d byte för filläsningsbuffert" - #~ msgid "File error when reading QTIF atom: %s" #~ msgstr "Filfel vid läsning av QTIF-atom: %s" - #~ msgid "Failed to skip the next %d bytes with seek()." #~ msgstr "Misslyckades med att hoppa över nästa %d byte med seek()." - #~ msgid "Failed to allocate QTIF context structure." #~ msgstr "Misslyckades med att allokera QTIF-sammanhangsstruktur." - #~ msgid "Failed to create GdkPixbufLoader object." #~ msgstr "Misslyckades med att skapa GdkPixbufLoader-objekt." - #~ msgid "Failed to find an image data atom." #~ msgstr "Misslyckades med att hitta en bilddataatom." - #~ msgid "The QTIF image format" #~ msgstr "Bildformatet QTIF" - #~ msgid "RAS image has bogus header data" #~ msgstr "RAS-bilden har felaktig huvuddata" - #~ msgid "RAS image has unknown type" #~ msgstr "RAS-bilden har okänd typ" - #~ msgid "unsupported RAS image variation" #~ msgstr "RAS-bildvariationen stöds inte" - #~ msgid "Not enough memory to load RAS image" #~ msgstr "Inte tillräckligt med minne för att läsa in RAS-bild" - #~ msgid "The Sun raster image format" #~ msgstr "Bildformatet Sun-raster" - #~ msgid "Cannot allocate memory for IOBuffer struct" #~ msgstr "Kan inte allokera minne för IOBuffer-struct" - #~ msgid "Cannot allocate memory for IOBuffer data" #~ msgstr "Kan inte allokera minne för IOBuffer-data" - #~ msgid "Cannot realloc IOBuffer data" #~ msgstr "Kan inte omallokera IOBuffer-data" - #~ msgid "Cannot allocate temporary IOBuffer data" #~ msgstr "Kan inte allokera temporära IOBuffer-data" - #~ msgid "Cannot allocate new pixbuf" #~ msgstr "Kan inte allokera ny pixbuf" - #~ msgid "Image is corrupted or truncated" #~ msgstr "Bilden är skadad eller trunkerad" - #~ msgid "Cannot allocate colormap structure" #~ msgstr "Kan inte allokera färgkartestruktur" - #~ msgid "Cannot allocate colormap entries" #~ msgstr "Kan inte allokera färgkarteposter" - #~ msgid "Unexpected bitdepth for colormap entries" #~ msgstr "Oväntat bitdjup för färgkarteposter" - #~ msgid "Cannot allocate TGA header memory" #~ msgstr "Kan inte allokera TGA-huvudminne" - #~ msgid "TGA image has invalid dimensions" #~ msgstr "TGA-bilden har ogiltiga dimensioner" - #~ msgid "TGA image type not supported" #~ msgstr "TGA-bildtypen stöds inte" - #~ msgid "Cannot allocate memory for TGA context struct" #~ msgstr "Kan inte allokera minne för TGA-kontextstruct" - #~ msgid "Excess data in file" #~ msgstr "För mycket data i fil" - #~ msgid "The Targa image format" #~ msgstr "Bildformatet Targa" - #~ msgid "Could not get image width (bad TIFF file)" #~ msgstr "Kunde inte få tag i bildbredden (felaktig TIFF-fil)" - #~ msgid "Could not get image height (bad TIFF file)" #~ msgstr "Kunde inte få tag i bildhöjden (felaktig TIFF-fil)" - #~ msgid "Width or height of TIFF image is zero" #~ msgstr "Bredden eller höjden på TIFF-bilden är noll" - #~ msgid "Dimensions of TIFF image too large" #~ msgstr "TIFF-bildens dimensioner är för stora" - #~ msgid "Insufficient memory to open TIFF file" #~ msgstr "Inte tillräckligt med minne för att öppna TIFF-fil" - #~ msgid "Failed to load RGB data from TIFF file" #~ msgstr "Misslyckades med att läsa in RGB-data från TIFF-fil" - #~ msgid "Failed to open TIFF image" #~ msgstr "Misslyckades med att öppna TIFF-bild" - #~ msgid "TIFFClose operation failed" #~ msgstr "Åtgärden TIFFClose misslyckades" - #~ msgid "Failed to load TIFF image" #~ msgstr "Misslyckades med att läsa in TIFF-bild" - #~ msgid "Failed to save TIFF image" #~ msgstr "Misslyckades med att spara TIFF-bild" - #~ msgid "TIFF compression doesn't refer to a valid codec." #~ msgstr "TIFF-komprimering refererar inte till en giltig kodek." - #~ msgid "Failed to write TIFF data" #~ msgstr "Misslyckades med att skriva TIFF-data" - #~ msgid "Couldn't write to TIFF file" #~ msgstr "Kunde inte skriva till TIFF-fil" - #~ msgid "The TIFF image format" #~ msgstr "Bildformatet TIFF" - #~ msgid "Image has zero width" #~ msgstr "Bilden har ingen bredd" - #~ msgid "Image has zero height" #~ msgstr "Bilden har ingen höjd" - #~ msgid "Not enough memory to load image" #~ msgstr "Inte tillräckligt med minne för att läsa in bild" - #~ msgid "Couldn't save the rest" #~ msgstr "Kunde inte spara resten" - #~ msgid "The WBMP image format" #~ msgstr "Bildformatet WBMP" - #~ msgid "Invalid XBM file" #~ msgstr "Ogiltig XBM-fil" - #~ msgid "Insufficient memory to load XBM image file" #~ msgstr "Inte tillräckligt med minne för att läsa in XBM-bildfil" - #~ msgid "Failed to write to temporary file when loading XBM image" #~ msgstr "" #~ "Misslyckades med att skriva till temporär fil vid inläsning av XBM-fil" - #~ msgid "The XBM image format" #~ msgstr "Bildformatet XBM" - #~ msgid "No XPM header found" #~ msgstr "Inget XPM-huvud hittades" - #~ msgid "Invalid XPM header" #~ msgstr "Ogiltigt XPM-huvud" - #~ msgid "XPM file has image width <= 0" #~ msgstr "XPM-filen har bildbredd <= 0" - #~ msgid "XPM file has image height <= 0" #~ msgstr "XPM-filen har bildhöjd <= 0" - #~ msgid "XPM has invalid number of chars per pixel" #~ msgstr "XPM har ogiltigt antal tecken per bildpunkt" - #~ msgid "XPM file has invalid number of colors" #~ msgstr "XPM-filen har ogiltigt antal färger" - #~ msgid "Cannot allocate memory for loading XPM image" #~ msgstr "Kan inte allokera minne för inläsning av XPM-bild" - #~ msgid "Cannot read XPM colormap" #~ msgstr "Kan inte läsa XPM-färgkarta" - #~ msgid "Failed to write to temporary file when loading XPM image" #~ msgstr "" #~ "Misslyckades med skrivning till temporär fil vid inläsning av XPM-bild" - #~ msgid "The XPM image format" #~ msgstr "Bildformatet XPM" - #~ msgid "The EMF image format" #~ msgstr "Bildformatet EMF" - #~ msgid "Could not allocate memory: %s" #~ msgstr "Kunde inte allokera minne: %s" - #~ msgid "Could not create stream: %s" #~ msgstr "Kunde inte skapa ström: %s" - #~ msgid "Could not seek stream: %s" #~ msgstr "Kunde inte spola i ström: %s" - #~ msgid "Could not read from stream: %s" #~ msgstr "Kunde inte läsa från ström: %s" - #~ msgid "Couldn't load bitmap" #~ msgstr "Kunde inte läsa in bitmap" - #~ msgid "Couldn't load metafile" #~ msgstr "Kunde inte läsa in metafil" - #~ msgid "Unsupported image format for GDI+" #~ msgstr "GDI+-bildformatet stöds inte" - #~ msgid "Couldn't save" #~ msgstr "Kunde inte spara" - #~ msgid "The WMF image format" #~ msgstr "Bildformatet WMF" - #~ msgid "\"Deepness\" of the color." #~ msgstr "\"Djup\" på färgen." - #~ msgid "Error printing" #~ msgstr "Fel vid utskrift" - #~ msgid "Printer '%s' may not be connected." #~ msgstr "Skrivaren \"%s\" kanske inte är ansluten." - #~ msgid "Folders" #~ msgstr "Mappar" - #~ msgid "Fol_ders" #~ msgstr "_Mappar" - #~ msgid "Folder unreadable: %s" #~ msgstr "Mappen är oläsbar: %s" - #~ msgid "" #~ "The file \"%s\" resides on another machine (called %s) and may not be " #~ "available to this program.\n" @@ -4902,1047 +4799,717 @@ msgstr "" #~ "Filen \"%s\" finns på en annan maskin (kallad %s) och kanske inte är " #~ "tillgänglig för detta program.\n" #~ "Är du säker på att du vill välja den?" - #~ msgid "_New Folder" #~ msgstr "_Ny mapp" - #~ msgid "De_lete File" #~ msgstr "_Ta bort fil" - #~ msgid "_Rename File" #~ msgstr "_Byt namn på fil" - #~ msgid "" #~ "The folder name \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "Mappnamnet \"%s\" innehåller tecken som inte är tillåtna i filnamn" - #~ msgid "New Folder" #~ msgstr "Ny mapp" - #~ msgid "_Folder name:" #~ msgstr "_Mappnamn:" - -#~ msgid "C_reate" -#~ msgstr "S_kapa" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "Filnamnet \"%s\" innehåller tecken som inte är tillåtna i filnamn" - #~ msgid "Error deleting file '%s': %s" #~ msgstr "Fel vid borttagning av filen \"%s\": %s" - #~ msgid "Really delete file \"%s\"?" #~ msgstr "Verkligen ta bort filen \"%s\"?" - #~ msgid "Delete File" #~ msgstr "Ta bort fil" - #~ msgid "Error renaming file to \"%s\": %s" #~ msgstr "Fel vid namnbyte på filen till \"%s\": %s" - #~ msgid "Error renaming file \"%s\": %s" #~ msgstr "Fel vid namnbyte på filen \"%s\": %s" - #~ msgid "Error renaming file \"%s\" to \"%s\": %s" #~ msgstr "Fel vid byte av namn på filen \"%s\" till \"%s\": %s" - #~ msgid "Rename File" #~ msgstr "Byt namn på fil" - #~ msgid "Rename file \"%s\" to:" #~ msgstr "Byt namn på filen \"%s\" till:" - #~ msgid "_Rename" #~ msgstr "_Byt namn" - #~ msgid "_Selection: " #~ msgstr "_Markering: " - #~ msgid "" #~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " #~ "environment variable G_FILENAME_ENCODING): %s" #~ msgstr "" #~ "Filnamnet \"%s\" kunde inte konverteras till UTF-8 (prova att ställa in " #~ "miljövariabeln G_FILENAME_ENCODING): %s" - #~ msgid "Invalid UTF-8" #~ msgstr "Ogiltig UTF-8" - #~ msgid "Name too long" #~ msgstr "Namnet är för långt" - #~ msgid "Couldn't convert filename" #~ msgstr "Kunde inte konvertera filnamn" - #~ msgid "Gamma" #~ msgstr "Gamma" - #~ msgid "_Gamma value" #~ msgstr "_Gammavärde" - #~ msgid "Input" #~ msgstr "Inmatning" - #~ msgid "No extended input devices" #~ msgstr "Inga utökade inmatningsenheter" - #~ msgid "_Device:" #~ msgstr "_Enhet:" - #~ msgid "Disabled" #~ msgstr "Avstängd" - # Se http://bugzilla.gnome.org/show_bug.cgi?id=148437 -- detta ska vara # "skärm" #~ msgid "Screen" #~ msgstr "Skärm" - #~ msgid "Window" #~ msgstr "Fönster" - #~ msgid "_Mode:" #~ msgstr "_Läge:" - #~ msgid "Axes" #~ msgstr "Axlar" - #~ msgid "Keys" #~ msgstr "Tangenter" - #~ msgid "_X:" #~ msgstr "_X:" - #~ msgid "_Y:" #~ msgstr "_Y:" - #~ msgid "_Pressure:" #~ msgstr "_Tryck:" - #~ msgid "X _tilt:" #~ msgstr "X-_lutning:" - #~ msgid "Y t_ilt:" #~ msgstr "Y-lutnin_g:" - #~ msgid "_Wheel:" #~ msgstr "_Hjul:" - #~ msgid "none" #~ msgstr "inget" - #~ msgid "(disabled)" #~ msgstr "(avstängd)" - #~ msgid "(unknown)" #~ msgstr "(okänd)" - #~ msgid "Cl_ear" #~ msgstr "_Töm" - #~ msgid "--- No Tip ---" #~ msgstr "--- Inget tips ---" - #~ msgid "(Empty)" #~ msgstr "(Tom)" - #~ msgid "_Search:" #~ msgstr "_Sök:" - #~ msgid "Recently Used" #~ msgstr "Tidigare använda" - #~ msgid "directfb arg" #~ msgstr "directfb-argument" - #~ msgid "sdl|system" #~ msgstr "system" - #~ msgid "" #~ "You have the Caps Lock key on\n" #~ "and an active input method" #~ msgstr "" #~ "Du har aktiverat Caps Lock\n" #~ "och en aktiv inmatningsmetod" - #~ msgid "You have the Caps Lock key on" #~ msgstr "Du har aktiverat Caps Lock" - #~ msgid "You have an active input method" #~ msgstr "Du har en aktiv inmatningsmetod" - #~ msgid "keyboard label|BackSpace" #~ msgstr "Backsteg" - #~ msgid "keyboard label|Tab" #~ msgstr "Tabb" - #~ msgid "keyboard label|Return" #~ msgstr "Retur" - #~ msgid "keyboard label|Pause" #~ msgstr "Pause" - #~ msgid "keyboard label|Scroll_Lock" #~ msgstr "Scroll_Lock" - #~ msgid "keyboard label|Sys_Req" #~ msgstr "Sys_Req" - #~ msgid "keyboard label|Escape" #~ msgstr "Escape" - # Osäker. #~ msgid "keyboard label|Multi_key" #~ msgstr "Multitangent" - #~ msgid "keyboard label|Home" #~ msgstr "Home" - #~ msgid "keyboard label|Left" #~ msgstr "Vänster" - #~ msgid "keyboard label|Up" #~ msgstr "Upp" - #~ msgid "keyboard label|Right" #~ msgstr "Höger" - #~ msgid "keyboard label|Down" #~ msgstr "Ned" - #~ msgid "keyboard label|Page_Up" #~ msgstr "Page_Up" - #~ msgid "keyboard label|Page_Down" #~ msgstr "Page_Down" - #~ msgid "keyboard label|End" #~ msgstr "End" - #~ msgid "keyboard label|Begin" #~ msgstr "Begin" - #~ msgid "keyboard label|Print" #~ msgstr "Print" - #~ msgid "keyboard label|Insert" #~ msgstr "Insert" - #~ msgid "keyboard label|Num_Lock" #~ msgstr "Num_Lock" - #~ msgid "keyboard label|KP_Space" #~ msgstr "KP_Space" - #~ msgid "keyboard label|KP_Tab" #~ msgstr "KP_Tabb" - #~ msgid "keyboard label|KP_Enter" #~ msgstr "KP_Enter" - #~ msgid "keyboard label|KP_Home" #~ msgstr "KP_Home" - #~ msgid "keyboard label|KP_Left" #~ msgstr "KP_Vänster" - #~ msgid "keyboard label|KP_Up" #~ msgstr "KP_Upp" - #~ msgid "keyboard label|KP_Right" #~ msgstr "KP_Höger" - #~ msgid "keyboard label|KP_Down" #~ msgstr "KP_Ned" - #~ msgid "keyboard label|KP_Page_Up" #~ msgstr "KP_Page_Up" - #~ msgid "keyboard label|KP_Prior" #~ msgstr "KP_Föregående" - #~ msgid "keyboard label|KP_Page_Down" #~ msgstr "KP_Page_Down" - #~ msgid "keyboard label|KP_Next" #~ msgstr "KP_Nästa" - #~ msgid "keyboard label|KP_End" #~ msgstr "KP_End" - #~ msgid "keyboard label|KP_Begin" #~ msgstr "KP_Begin" - #~ msgid "keyboard label|KP_Insert" #~ msgstr "KP_Insert" - #~ msgid "keyboard label|KP_Delete" #~ msgstr "KP_Delete" - #~ msgid "keyboard label|Delete" #~ msgstr "Delete" - #~ msgid "keyboard label|Shift" #~ msgstr "Skift" - #~ msgid "keyboard label|Ctrl" #~ msgstr "Ctrl" - #~ msgid "keyboard label|Alt" #~ msgstr "Alt" - #~ msgid "keyboard label|Super" #~ msgstr "Super" - #~ msgid "keyboard label|Hyper" #~ msgstr "Hyper" - #~ msgid "keyboard label|Meta" #~ msgstr "Meta" - #~ msgid "keyboard label|Space" #~ msgstr "Blanksteg" - #~ msgid "keyboard label|Backslash" #~ msgstr "Omvänt snedstreck" - #~ msgid "year measurement template|2000" #~ msgstr "2000" - #~ msgid "calendar:day:digits|%d" #~ msgstr "%d" - # I Sverige börjar veckan på måndag # #~ msgid "calendar:week:digits|%d" #~ msgstr "%d" - #~ msgid "calendar year format|%Y" #~ msgstr "%Y" - #~ msgid "Accelerator|Disabled" #~ msgstr "Inaktiverad" - #, fuzzy #~ msgid "Icon not present in theme" #~ msgstr "Ikonen \"%s\" finns inte i temat" - #~ msgid "progress bar label|%d %%" #~ msgstr "%d %%" - #~ msgid "input method menu|System" #~ msgstr "System" #, fuzzy #~ msgid "input method menu|System (%s)" #~ msgstr "System" - #~ msgid "print operation status|Initial state" #~ msgstr "Initialt tillstånd" - #~ msgid "print operation status|Preparing to print" #~ msgstr "Förbereder för utskrift" - #~ msgid "print operation status|Generating data" #~ msgstr "Genererar data" - #~ msgid "print operation status|Sending data" #~ msgstr "Skickar data" - #~ msgid "print operation status|Waiting" #~ msgstr "Väntar" - #~ msgid "print operation status|Blocking on issue" #~ msgstr "Blockerar vid problem" - #~ msgid "print operation status|Printing" #~ msgstr "Skriver ut" - #~ msgid "print operation status|Finished" #~ msgstr "Färdig" - #~ msgid "recent menu label|_%d. %s" #~ msgstr "_%d. %s" - #~ msgid "recent menu label|%d. %s" #~ msgstr "%d. %s" - #~ msgid "Navigation|_Bottom" #~ msgstr "_Nederst" - #~ msgid "Navigation|_First" #~ msgstr "_Första" - #~ msgid "Navigation|_Last" #~ msgstr "_Sista" - #~ msgid "Navigation|_Top" #~ msgstr "_Överst" - #~ msgid "Navigation|_Back" #~ msgstr "_Bakåt" - #~ msgid "Navigation|_Down" #~ msgstr "N_ed" - #~ msgid "Navigation|_Forward" #~ msgstr "_Framåt" - #~ msgid "Navigation|_Up" #~ msgstr "_Upp" - #~ msgid "Justify|_Center" #~ msgstr "_Centrera" - #~ msgid "Justify|_Fill" #~ msgstr "_Fyll" - #~ msgid "Justify|_Left" #~ msgstr "_Vänster" - #~ msgid "Justify|_Right" #~ msgstr "_Höger" - #~ msgid "Media|_Next" #~ msgstr "_Nästa" - #~ msgid "Media|P_ause" #~ msgstr "Gör _paus" - #~ msgid "Media|_Play" #~ msgstr "_Spela upp" - #~ msgid "Media|Pre_vious" #~ msgstr "Före_gående" - #~ msgid "Media|_Record" #~ msgstr "Spela _in" - #~ msgid "Media|R_ewind" #~ msgstr "Spola _bakåt" - #~ msgid "Media|_Stop" #~ msgstr "_Stopp" - #~ msgid "volume percentage|%d %%" #~ msgstr "%d %%" - #~ msgid "paper size|asme_f" #~ msgstr "asme_f" - #~ msgid "paper size|A0x2" #~ msgstr "A0x2" - #~ msgid "paper size|A0" #~ msgstr "A0" - #~ msgid "paper size|A0x3" #~ msgstr "A0x3" - #~ msgid "paper size|A1" #~ msgstr "A1" - #~ msgid "paper size|A10" #~ msgstr "A10" - #~ msgid "paper size|A1x3" #~ msgstr "A1x3" - #~ msgid "paper size|A1x4" #~ msgstr "A1x4" - #~ msgid "paper size|A2" #~ msgstr "A2" - #~ msgid "paper size|A2x3" #~ msgstr "A2x3" - #~ msgid "paper size|A2x4" #~ msgstr "A2x4" - #~ msgid "paper size|A2x5" #~ msgstr "A2x5" - #~ msgid "paper size|A3" #~ msgstr "A3" - #~ msgid "paper size|A3 Extra" #~ msgstr "A3 Extra" - #~ msgid "paper size|A3x3" #~ msgstr "A3x3" - #~ msgid "paper size|A3x4" #~ msgstr "A3x4" - #~ msgid "paper size|A3x5" #~ msgstr "A3x5" - #~ msgid "paper size|A3x6" #~ msgstr "A3x6" - #~ msgid "paper size|A3x7" #~ msgstr "A3x7" - #~ msgid "paper size|A4" #~ msgstr "A4" - #~ msgid "paper size|A4 Extra" #~ msgstr "A4 Extra" - #~ msgid "paper size|A4 Tab" #~ msgstr "A4 Tab" - #~ msgid "paper size|A4x3" #~ msgstr "A4x3" - #~ msgid "paper size|A4x4" #~ msgstr "A4x4" - #~ msgid "paper size|A4x5" #~ msgstr "A4x5" - #~ msgid "paper size|A4x6" #~ msgstr "A4x6" - #~ msgid "paper size|A4x7" #~ msgstr "A4x7" - #~ msgid "paper size|A4x8" #~ msgstr "A4x8" - #~ msgid "paper size|A4x9" #~ msgstr "A4x9" - #~ msgid "paper size|A5" #~ msgstr "A5" - #~ msgid "paper size|A5 Extra" #~ msgstr "A5 Extra" - #~ msgid "paper size|A6" #~ msgstr "A6" - #~ msgid "paper size|A7" #~ msgstr "A7" - #~ msgid "paper size|A8" #~ msgstr "A8" - #~ msgid "paper size|A9" #~ msgstr "A9" - #~ msgid "paper size|B0" #~ msgstr "B0" - #~ msgid "paper size|B1" #~ msgstr "B1" - #~ msgid "paper size|B10" #~ msgstr "B10" - #~ msgid "paper size|B2" #~ msgstr "B2" - #~ msgid "paper size|B3" #~ msgstr "B3" - #~ msgid "paper size|B4" #~ msgstr "B4" - #~ msgid "paper size|B5" #~ msgstr "B5" - #~ msgid "paper size|B5 Extra" #~ msgstr "B5 Extra" - #~ msgid "paper size|B6" #~ msgstr "B6" - #~ msgid "paper size|B6/C4" #~ msgstr "B6/C4" - #~ msgid "paper size|B7" #~ msgstr "B7" - #~ msgid "paper size|B8" #~ msgstr "B8" - #~ msgid "paper size|B9" #~ msgstr "B9" - #~ msgid "paper size|C0" #~ msgstr "C0" - #~ msgid "paper size|C1" #~ msgstr "C1" - #~ msgid "paper size|C10" #~ msgstr "C10" - #~ msgid "paper size|C2" #~ msgstr "C2" - #~ msgid "paper size|C3" #~ msgstr "C3" - #~ msgid "paper size|C4" #~ msgstr "C4" - #~ msgid "paper size|C5" #~ msgstr "C5" - #~ msgid "paper size|C6" #~ msgstr "C6" - #~ msgid "paper size|C6/C5" #~ msgstr "C6/C5" - #~ msgid "paper size|C7" #~ msgstr "C7" - #~ msgid "paper size|C7/C6" #~ msgstr "C7/C6" - #~ msgid "paper size|C8" #~ msgstr "C8" - #~ msgid "paper size|C9" #~ msgstr "C9" - #~ msgid "paper size|RA0" #~ msgstr "RA0" - #~ msgid "paper size|RA1" #~ msgstr "RA1" - #~ msgid "paper size|RA2" #~ msgstr "RA2" - #~ msgid "paper size|SRA0" #~ msgstr "SRA0" - #~ msgid "paper size|SRA1" #~ msgstr "SRA1" - #~ msgid "paper size|SRA2" #~ msgstr "SRA2" - #~ msgid "paper size|JB0" #~ msgstr "JB0" - #~ msgid "paper size|JB1" #~ msgstr "JB1" - #~ msgid "paper size|JB10" #~ msgstr "JB10" - #~ msgid "paper size|JB2" #~ msgstr "JB2" - #~ msgid "paper size|JB3" #~ msgstr "JB3" - #~ msgid "paper size|JB4" #~ msgstr "JB4" - #~ msgid "paper size|JB5" #~ msgstr "JB5" - #~ msgid "paper size|JB6" #~ msgstr "JB6" - #~ msgid "paper size|JB7" #~ msgstr "JB7" - #~ msgid "paper size|JB8" #~ msgstr "JB8" - #~ msgid "paper size|JB9" #~ msgstr "JB9" - #~ msgid "paper size|jis exec" #~ msgstr "jis exec" - #~ msgid "paper size|10x11" #~ msgstr "10x11" - #~ msgid "paper size|10x13" #~ msgstr "10x13" - #~ msgid "paper size|10x14" #~ msgstr "10x14" - #~ msgid "paper size|10x15" #~ msgstr "10x15" - #~ msgid "paper size|11x12" #~ msgstr "11x12" - #~ msgid "paper size|11x15" #~ msgstr "11x15" - #~ msgid "paper size|12x19" #~ msgstr "12x19" - #~ msgid "paper size|5x7" #~ msgstr "5x7" - #~ msgid "paper size|Arch A" #~ msgstr "Arch A" - #~ msgid "paper size|Arch B" #~ msgstr "Arch B" - #~ msgid "paper size|Arch C" #~ msgstr "Arch C" - #~ msgid "paper size|Arch D" #~ msgstr "Arch D" - #~ msgid "paper size|Arch E" #~ msgstr "Arch E" - #~ msgid "paper size|b-plus" #~ msgstr "b-plus" - #~ msgid "paper size|c" #~ msgstr "c" - #~ msgid "paper size|d" #~ msgstr "d" - #~ msgid "paper size|e" #~ msgstr "e" - #~ msgid "paper size|edp" #~ msgstr "edp" - #~ msgid "paper size|Executive" #~ msgstr "Executive" - #~ msgid "paper size|f" #~ msgstr "f" - #~ msgid "paper size|Index 3x5" #~ msgstr "Index 3x5" - #~ msgid "paper size|Index 5x8" #~ msgstr "Index 5x8" - #~ msgid "paper size|Invoice" #~ msgstr "Faktura" - #~ msgid "paper size|Tabloid" #~ msgstr "Tabloid" - #~ msgid "paper size|US Legal" #~ msgstr "US Legal" - #~ msgid "paper size|Quarto" #~ msgstr "Quarto" - #~ msgid "paper size|Super A" #~ msgstr "Super A" - #~ msgid "paper size|Super B" #~ msgstr "Super B" - #~ msgid "paper size|Folio" #~ msgstr "Folio" - #~ msgid "paper size|Folio sp" #~ msgstr "Folio sp" - #~ msgid "paper size|pa-kai" #~ msgstr "pa-kai" - #~ msgid "paper size|prc 16k" #~ msgstr "prc 16k" - #~ msgid "paper size|prc 32k" #~ msgstr "prc 32k" - #~ msgid "paper size|prc5 Envelope" #~ msgstr "prc5-kuvert" - #~ msgid "paper size|ROC 16k" #~ msgstr "ROC 16k" - #~ msgid "paper size|ROC 8k" #~ msgstr "ROC 8k" - #~ msgid "Couldn't create pixbuf" #~ msgstr "Kunde inte skapa pixbuf" - #~ msgid "%.1f KB" #~ msgstr "%.1f KB" - #~ msgid "%.1f MB" #~ msgstr "%.1f MB" - #~ msgid "%.1f GB" #~ msgstr "%.1f GB" - #~ msgid "Arrow spacing" #~ msgstr "Pilmellanrum" - #~ msgid "Scroll arrow spacing" #~ msgstr "Rullpilsmellanrum" - #~ msgid "Group" #~ msgstr "Grupp" - #~ msgid "The radio tool button whose group this button belongs to." #~ msgstr "Den radioverktygsknapp vars grupp denna knapp tillhör." - #~ msgid "URI" #~ msgstr "URI" - #~ msgid "The URI bound to this button" #~ msgstr "URI bundet till denna knapp" - #~ msgid "Invalid filename: %s" #~ msgstr "Ogiltigt filnamn: %s" - #~ msgid "" #~ "Could not add a bookmark for '%s' because it is an invalid path name." #~ msgstr "" #~ "Kunde inte lägga till ett bokmärke för \"%s\" eftersom det är ett " #~ "ogiltigt namn på en sökväg." - #~ msgid "Could not select file '%s' because it is an invalid path name." #~ msgstr "" #~ "Kunde inte välja filen \"%s\" eftersom det är ett ogiltigt namn på en " #~ "sökväg." - #~ msgid "%d byte" #~ msgid_plural "%d bytes" #~ msgstr[0] "%d byte" #~ msgstr[1] "%d byte" - #~ msgid "Could not get a stock icon for %s\n" #~ msgstr "Kunde inte hämta en standardikon för %s\n" - #~ msgid "Error getting information for '%s': %s" #~ msgstr "Fel vid hämtning av information för \"%s\": %s" - #~ msgid "This file system does not support mounting" #~ msgstr "Detta filsystem stöder inte montering" - #~ msgid "" #~ "The name \"%s\" is not valid because it contains the character \"%s\". " #~ "Please use a different name." #~ msgstr "" #~ "Namnet \"%s\" är inte giltigt eftersom det innehåller tecknet \"%s\". " #~ "Använd ett annat namn." - #~ msgid "Bookmark saving failed: %s" #~ msgstr "Bokmärkessparande misslyckades: %s" - #~ msgid "'%s' already exists in the bookmarks list" #~ msgstr "\"%s\" finns redan i bokmärkeslistan" - #~ msgid "'%s' does not exist in the bookmarks list" #~ msgstr "\"%s\" finns inte i bokmärkeslistan" - #~ msgid "Path is not a folder: '%s'" #~ msgstr "Sökvägen är inte en mapp: \"%s\"" - #~ msgid "Network Drive (%s)" #~ msgstr "Nätverksenhet (%s)" - #~ msgid "Unknown attribute '%s' on line %d char %d" #~ msgstr "Okänt attribut \"%s\" på rad %d tecken %d" - #~ msgid "Today at %H:%M" #~ msgstr "Idag klockan %H.%M" - #~ msgid "Default" #~ msgstr "Standard" - #~ msgid "_All" #~ msgstr "_Alla" - #~ msgid "Today" #~ msgstr "Idag" - #~ msgid "Location:" #~ msgstr "Plats:" - #~ msgid "PNM image format is invalid" #~ msgstr "PNM-bildformatet är ogiltigt" - #~ msgid "Line %d, column %d: missing attribute \"%s\"" #~ msgstr "Rad %d, kolumn %d: saknar attributet \"%s\"" - #~ msgid "Line %d, column %d: unexpected element \"%s\"" #~ msgstr "Rad %d, kolumn %d: oväntat element \"%s\"" - #~ msgid "" #~ "Line %d, column %d: expected end of element \"%s\", but got element for " #~ "\"%s\" instead" #~ msgstr "" #~ "Rad %d, kolumn %d: förväntade slut på elementet \"%s\", men fick element " #~ "för \"%s\" istället" - #~ msgid "" #~ "Line %d, column %d: expected \"%s\" at the toplevel, but found \"%s\" " #~ "instead" #~ msgstr "" #~ "Rad %d, kolumn %d: förväntade \"%s\" på toppnivån, men hittade \"%s\" " #~ "istället" - #~ msgid "" #~ "Line %d, column %d: expected \"%s\" or \"%s\", but found \"%s\" instead" #~ msgstr "" #~ "Rad %d, kolumn %d: förväntade \"%s\" eller \"%s\", men hittade \"%s\" " #~ "istället" - #~ msgid "Error creating directory '%s': %s" #~ msgstr "Fel vid skapande av katalogen \"%s\": %s" - #~ msgid "Thai (Broken)" #~ msgstr "Thailändsk (Trasig)" - #~ msgid "" #~ "Error creating folder \"%s\": %s\n" #~ "%s" #~ msgstr "" #~ "Fel vid skapande av mappen \"%s\": %s\n" #~ "%s" - #~ msgid "You probably used symbols not allowed in filenames." #~ msgstr "Du använde troligen tecken som inte är tillåtna i filnamn." - #~ msgid "" #~ "Error deleting file \"%s\": %s\n" #~ "%s" #~ msgstr "" #~ "Fel vid borttagning av filen \"%s\": %s\n" #~ "%s" - #~ msgid "It probably contains symbols not allowed in filenames." #~ msgstr "Det innehåller troligen tecken som inte är tillåtna i filnamn." - #~ msgid "" #~ "The file name \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "Filnamnet \"%s\" innehåller tecken som inte är tillåtna i filnamn" - #~ msgid "Error getting information for '/': %s" #~ msgstr "Fel vid hämtning av information för \"/\": %s" - #~ msgid "Select All" #~ msgstr "Markera allt" #, fuzzy #~ msgid "shortcut %s already exists" #~ msgstr "Genvägen %s finns inte" - #~ msgid "Cannot handle PNM files with maximum color values greater than 255" #~ msgstr "Kan inte hantera PNM-filer med maximala färgvärden större än 255" - #~ msgid "Could not get information about '%s': %s" #~ msgstr "Kunde inte hämta information om \"%s\": %s" - #~ msgid "Shortcuts" #~ msgstr "Genvägar" - #~ msgid "Folder" #~ msgstr "Mapp" - #~ msgid "Cannot change folder" #~ msgstr "Kan inte byta mapp" - #~ msgid "The folder you specified is an invalid path." #~ msgstr "Mappen du angav är en ogiltig sökväg." - #~ msgid "Could not build file name from '%s' and '%s'" #~ msgstr "Kunde inte bygga filnamnet från \"%s\" och \"%s\"" - #~ msgid "Save in Location" #~ msgstr "Spara på plats" - #~ msgid "X" #~ msgstr "X" - #~ msgid "clear" #~ msgstr "töm" - #~ msgid "Pixmap path element: \"%s\" must be absolute, %s, line %d" #~ msgstr "Sökvägselement till bild: \"%s\" måste vara absolut, %s, rad %d" - #~ msgid "_Rename..." #~ msgstr "_Byt namn..." - #~ msgid "Rename" #~ msgstr "Byt namn" - #~ msgid "_Replace..." #~ msgstr "_Ersätt..." - #~ msgid "Replace..." #~ msgstr "Ersätt..." - #~ msgid "File system" #~ msgstr "Filsystem" #, fuzzy #~ msgid "Writing %s failed: %s" #~ msgstr "Bokmärkessparande misslyckades: %s" - #~ msgid "Network Drive" #~ msgstr "Nätverksenhet" - #~ msgid "_Credits" #~ msgstr "_Tack" - #~ msgid "Error getting information for '%s'" #~ msgstr "Fel vid hämtning av information för \"%s\"" - #~ msgid "Select a File" #~ msgstr "Välj en fil" - #~ msgid "error getting information for '%s': %s" #~ msgstr "fel vid hämtning av information för \"%s\": %s" - #~ msgid "error creating directory '%s': %s" #~ msgstr "fel vid skapande av katalogen \"%s\": %s" - #~ msgid "Bookmark saving failed (%s)" #~ msgstr "Bokmärkessparande misslyckades (%s)" - #~ msgid "This file system does not support icons for everything" #~ msgstr "Detta filsystem stöder inte ikoner till allt" - #~ msgid "" #~ "Could not change the current folder to %s:\n" #~ "%s" #~ msgstr "" #~ "Kunde inte byta aktuell mapp till %s:\n" #~ "%s" - #~ msgid "Could not add bookmark for %s because it is not a folder." #~ msgstr "Kunde inte lägga till bokmärke för %s eftersom det inte är en mapp." - -#~ msgid "Could not find the path" -#~ msgstr "Kunde inte hitta sökvägen" - #~ msgid "Input Methods" #~ msgstr "Inmatningsmetoder" - #~ msgid "Unsupported TIFF variant" #~ msgstr "TIFF-varianten stöds inte" - #~ msgid "Colors" #~ msgstr "Färger" - #~ msgid "Show Hidden Files" #~ msgstr "Visa dolda filer" - #~ msgid "Create Folder" #~ msgstr "Skapa _mapp" - #~ msgid "Create _Folder" #~ msgstr "Skapa _mapp" + From 54cd6073932729459bbe0740a295e1b1dcdd23b7 Mon Sep 17 00:00:00 2001 From: Daniel Nylander Date: Fri, 31 Dec 2010 01:42:34 +0100 Subject: [PATCH 0963/1463] Updated Swedish translation --- po-properties/sv.po | 5415 +++++++++++++++++++++---------------------- 1 file changed, 2636 insertions(+), 2779 deletions(-) diff --git a/po-properties/sv.po b/po-properties/sv.po index ebaa2810fb..61fb48105d 100644 --- a/po-properties/sv.po +++ b/po-properties/sv.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ properties\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-08-06 14:10+0100\n" +"POT-Creation-Date: 2010-12-30 21:16+0100\n" +"PO-Revision-Date: 2010-12-31 01:41+0100\n" "Last-Translator: Daniel Nylander \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -20,7434 +20,7374 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gdk/gdkdevice.c:97 -#, fuzzy +#: ../gdk/gdkdevice.c:109 msgid "Device Display" -msgstr "Standarddisplay" +msgstr "Enhetsdisplay" -#: gdk/gdkdevice.c:98 -#, fuzzy +#: ../gdk/gdkdevice.c:110 msgid "Display which the device belongs to" -msgstr "Visa cellen som känslig" +msgstr "Display som enheten tillhör" -#: gdk/gdkdevice.c:112 -#, fuzzy +#: ../gdk/gdkdevice.c:124 msgid "Device manager" -msgstr "Senaste hanterare" +msgstr "Enhetshanterare" -#: gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:125 msgid "Device manager which the device belongs to" -msgstr "" +msgstr "Enhetshanteraren som enheten tillhör" -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -#, fuzzy +#: ../gdk/gdkdevice.c:139 +#: ../gdk/gdkdevice.c:140 msgid "Device name" -msgstr "Widgetnamn" +msgstr "Enhetsnamn" -#: gdk/gdkdevice.c:142 -#, fuzzy +#: ../gdk/gdkdevice.c:154 msgid "Device type" -msgstr "Kurvtyp" +msgstr "Enhetstyp" -#: gdk/gdkdevice.c:143 +#: ../gdk/gdkdevice.c:155 msgid "Device role in the device manager" -msgstr "" +msgstr "Enhetsroll i enhetshanteraren" -#: gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:171 msgid "Associated device" -msgstr "" +msgstr "Associerad enhet" -#: gdk/gdkdevice.c:160 +#: ../gdk/gdkdevice.c:172 msgid "Associated pointer or keyboard with this device" msgstr "" -#: gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:185 msgid "Input source" msgstr "" -#: gdk/gdkdevice.c:174 -#, fuzzy +#: ../gdk/gdkdevice.c:186 msgid "Source type for the device" -msgstr "Modell för trädvyn" +msgstr "Källtyp för enheten" -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -#, fuzzy +#: ../gdk/gdkdevice.c:201 +#: ../gdk/gdkdevice.c:202 msgid "Input mode for the device" -msgstr "Modell för trädvyn" +msgstr "Inmatningsläge för enheten" -#: gdk/gdkdevice.c:205 -#, fuzzy +#: ../gdk/gdkdevice.c:217 msgid "Whether the device has a cursor" -msgstr "Huruvida widgeten har inmatningsfokus" +msgstr "Huruvida enheten har en markör" -#: gdk/gdkdevice.c:206 -#, fuzzy +#: ../gdk/gdkdevice.c:218 msgid "Whether there is a visible cursor following device motion" -msgstr "Huruvida bläddringsdialogen är synlig eller inte." +msgstr "Huruvida det finns en synlig markör som följer enhetsrörelser" -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -#, fuzzy +#: ../gdk/gdkdevice.c:232 +#: ../gdk/gdkdevice.c:233 msgid "Number of axes in the device" -msgstr "Antalet sidor i dokumentet." +msgstr "Antal axlar i enheten" -#: gdk/gdkdevicemanager.c:134 -#, fuzzy +#: ../gdk/gdkdevicemanager.c:146 msgid "Display" -msgstr "Standarddisplay" +msgstr "Display" -#: gdk/gdkdevicemanager.c:135 -#, fuzzy +#: ../gdk/gdkdevicemanager.c:147 msgid "Display for the device manager" -msgstr "Visa cellen" +msgstr "Display för enhetshanteraren" -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:114 msgid "Default Display" msgstr "Standarddisplay" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:115 msgid "The default display for GDK" msgstr "Standarddisplayen för GDK" -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Typsnittsalternativ" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "Standardtypsnittsalternativen för skärmen" -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Typsnittsupplösning" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "Upplösningen för typsnitt på skärmen" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:373 +#: ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Markör" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 +#: ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "" -#: gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" -msgstr "" +msgstr "Enhetsidentifierare" -#: gdk/x11/gdkdevicemanager-xi.c:84 +#: ../gdk/x11/gdkdevicemanager-xi.c:95 #, fuzzy msgid "Event base" msgstr "Händelser" -#: gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "" -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:277 msgid "Program name" msgstr "Programnamn" -#: gtk/gtkaboutdialog.c:270 -msgid "" -"The name of the program. If this is not set, it defaults to " -"g_get_application_name()" -msgstr "" -"Namnet på programmet. Om detta inte är angivet är standardalternativet " -"g_get_application_name()" +#: ../gtk/gtkaboutdialog.c:278 +msgid "The name of the program. If this is not set, it defaults to g_get_application_name()" +msgstr "Namnet på programmet. Om detta inte är angivet är standardalternativet g_get_application_name()" -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:292 msgid "Program version" msgstr "Programversion" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:293 msgid "The version of the program" msgstr "Programmets version" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright string" msgstr "Copyrightsträng" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:308 msgid "Copyright information for the program" msgstr "Copyrightinformation om programmet" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments string" msgstr "Kommentarsträng" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:326 msgid "Comments about the program" msgstr "Kommentarer om programmet" -#: gtk/gtkaboutdialog.c:368 -#, fuzzy +#: ../gtk/gtkaboutdialog.c:376 msgid "License Type" -msgstr "Meddelandetyp" +msgstr "Licenstyp" -#: gtk/gtkaboutdialog.c:369 -#, fuzzy +#: ../gtk/gtkaboutdialog.c:377 msgid "The license type of the program" -msgstr "Programmets version" +msgstr "Licenstypen för programmet" -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:393 msgid "Website URL" msgstr "URL till webbplats" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:394 msgid "The URL for the link to the website of the program" msgstr "URL:en för länken till programmets webbplats" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:408 msgid "Website label" msgstr "Webbplatsetikett" -#: gtk/gtkaboutdialog.c:402 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"Etiketten för länken till programmets webbplats. Om detta inte är angivet är " -"standardalternativet URL:en" +#: ../gtk/gtkaboutdialog.c:409 +msgid "The label for the link to the website of the program" +msgstr "Etiketten för länken till programmets webbplats" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:425 msgid "Authors" msgstr "Upphovsmän" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:426 msgid "List of authors of the program" msgstr "Lista med programmets upphovsmän" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:442 msgid "Documenters" msgstr "Dokumentatörer" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:443 msgid "List of people documenting the program" msgstr "Lista med folk som dokumenterat programmet" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:459 msgid "Artists" msgstr "Artister" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:460 msgid "List of people who have contributed artwork to the program" msgstr "Lista med folk som har bidragit med grafik till programmet" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:477 msgid "Translator credits" msgstr "Tack till översättare" -#: gtk/gtkaboutdialog.c:471 -msgid "" -"Credits to the translators. This string should be marked as translatable" -msgstr "" -"Tack till översättarna. Denna sträng ska vara markerad för översättning" +#: ../gtk/gtkaboutdialog.c:478 +msgid "Credits to the translators. This string should be marked as translatable" +msgstr "Tack till översättarna. Denna sträng ska vara markerad för översättning" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:493 msgid "Logo" msgstr "Logotyp" -#: gtk/gtkaboutdialog.c:487 -msgid "" -"A logo for the about box. If this is not set, it defaults to " -"gtk_window_get_default_icon_list()" -msgstr "" -"En logotyp för om-rutan. Om detta inte är angivet är standardalternativet " -"gtk_window_get_default_icon_list()" +#: ../gtk/gtkaboutdialog.c:494 +msgid "A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list()" +msgstr "En logotyp för om-rutan. Om detta inte är angivet är standardalternativet gtk_window_get_default_icon_list()" -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:509 msgid "Logo Icon Name" msgstr "Namn på logotypikon" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:510 msgid "A named icon to use as the logo for the about box." msgstr "En namngiven ikon att använda som logotyp för om-rutan." -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:523 msgid "Wrap license" msgstr "Radbryt licensen" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:524 msgid "Whether to wrap the license text." msgstr "Huruvida licenstexten ska radbrytas." -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:189 msgid "Accelerator Closure" msgstr "Genvägsstängning" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:190 msgid "The closure to be monitored for accelerator changes" msgstr "Stängningen som ska övervakas för genvägsändringar" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:196 msgid "Accelerator Widget" msgstr "Genvägswidget" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:197 msgid "The widget to be monitored for accelerator changes" msgstr "Widgeten som ska övervakas för genvägsändringar" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:222 +#: ../gtk/gtkactiongroup.c:228 +#: ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 msgid "Name" msgstr "Namn" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "Ett unikt namn för åtgärden." -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 +#: ../gtk/gtkbutton.c:226 +#: ../gtk/gtkexpander.c:207 +#: ../gtk/gtkframe.c:130 +#: ../gtk/gtklabel.c:567 +#: ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:202 +#: ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Etikett" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." -msgstr "" -"Etiketten som används för menyobjekt och knappar som aktiverar denna åtgärd." +msgstr "Etiketten som används för menyobjekt och knappar som aktiverar denna åtgärd." -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:258 msgid "Short label" msgstr "Kort etikett" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "En kortare etikett som kan användas på verktygsradsknappar." -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:267 msgid "Tooltip" msgstr "Verktygstips" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "Ett verktygstips för denna åtgärd." -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "Standardikon" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "Standardikonen som visas i widgetar som representerar denna åtgärd." -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 +#: ../gtk/gtkstatusicon.c:252 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:305 +#: ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:326 +#: ../gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "GIcon som visas" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:325 +#: ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:308 +#: ../gtk/gtkprinter.c:174 +#: ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:722 msgid "Icon Name" msgstr "Ikonnamn" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:326 +#: ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:309 +#: ../gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "Namnet på ikonen från ikontemat" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 +#: ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "Synlig då horisontell" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 -msgid "" -"Whether the toolbar item is visible when the toolbar is in a horizontal " -"orientation." -msgstr "" -"Huruvida verktygsradsobjektet är synligt då verktygsraden är orienterad " -"horisontellt." +#: ../gtk/gtkaction.c:334 +#: ../gtk/gtktoolitem.c:196 +msgid "Whether the toolbar item is visible when the toolbar is in a horizontal orientation." +msgstr "Huruvida verktygsradsobjektet är synligt då verktygsraden är orienterad horisontellt." -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "Synlig då spilld" -#: gtk/gtkaction.c:350 -msgid "" -"When TRUE, toolitem proxies for this action are represented in the toolbar " -"overflow menu." -msgstr "" -"Då detta är SANT visas ställföreträdare för verktygsobjekt för denna åtgärd " -"i verktygsradens spillmeny." +#: ../gtk/gtkaction.c:350 +msgid "When TRUE, toolitem proxies for this action are represented in the toolbar overflow menu." +msgstr "Då detta är SANT visas ställföreträdare för verktygsobjekt för denna åtgärd i verktygsradens spillmeny." -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 +#: ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "Synlig då vertikal" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 -msgid "" -"Whether the toolbar item is visible when the toolbar is in a vertical " -"orientation." -msgstr "" -"Huruvida verktygsradsobjektet är synligt då verktygsraden är orienterad " -"vertikalt." +#: ../gtk/gtkaction.c:358 +#: ../gtk/gtktoolitem.c:203 +msgid "Whether the toolbar item is visible when the toolbar is in a vertical orientation." +msgstr "Huruvida verktygsradsobjektet är synligt då verktygsraden är orienterad vertikalt." -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 +#: ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "Är viktig" -#: gtk/gtkaction.c:366 -msgid "" -"Whether the action is considered important. When TRUE, toolitem proxies for " -"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." -msgstr "" -"Huruvida åtgärden är viktig. Då detta är SANT visar ställföreträdare för " -"verktygsobjekt för denna åtgärd text i GTK_TOOLBAR_BOTH_HORIZ-läge." +#: ../gtk/gtkaction.c:366 +msgid "Whether the action is considered important. When TRUE, toolitem proxies for this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." +msgstr "Huruvida åtgärden är viktig. Då detta är SANT visar ställföreträdare för verktygsobjekt för denna åtgärd text i GTK_TOOLBAR_BOTH_HORIZ-läge." -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "Dölj om tom" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "Då detta är SANT döljs tomma menyställföreträdare för denna åtgärd." -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:381 +#: ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:287 +#: ../gtk/gtkwidget.c:933 msgid "Sensitive" msgstr "Känslig" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "Huruvida åtgärden är aktiverad." -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:388 +#: ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:287 +#: ../gtk/gtktreeviewcolumn.c:242 +#: ../gtk/gtkwidget.c:926 msgid "Visible" msgstr "Synlig" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "Huruvida åtgärden är synlig." -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:395 msgid "Action Group" msgstr "Åtgärdsgrupp" -#: gtk/gtkaction.c:396 -msgid "" -"The GtkActionGroup this GtkAction is associated with, or NULL (for internal " -"use)." -msgstr "" -"Den GtkActionGroup som denna GtkAction är associerad med, eller NULL (för " -"internt bruk)." +#: ../gtk/gtkaction.c:396 +msgid "The GtkActionGroup this GtkAction is associated with, or NULL (for internal use)." +msgstr "Den GtkActionGroup som denna GtkAction är associerad med, eller NULL (för internt bruk)." -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 +#: ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "Visa alltid bild" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 +#: ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "Huruvida bilden alltid ska visas" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "Ett namn för åtgärdsgruppen." -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "Huruvida åtgärdsgruppen är aktiverad." -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "Huruvida åtgärdsgruppen är synlig." -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:290 msgid "Related Action" msgstr "Relaterad åtgärd" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:291 msgid "The action this activatable will activate and receive updates from" -msgstr "" -"Åtgärden denna aktiverbara kommer att aktivera och ta emot uppdateringar från" +msgstr "Åtgärden denna aktiverbara kommer att aktivera och ta emot uppdateringar från" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:313 msgid "Use Action Appearance" msgstr "Utseende för Använd åtgärd" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:314 msgid "Whether to use the related actions appearance properties" msgstr "Huruvida egenskaper för utseende av relaterade åtgärder ska användas" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:114 +#: ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:220 +#: ../gtk/gtkspinbutton.c:290 msgid "Value" msgstr "Värde" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:115 msgid "The value of the adjustment" msgstr "Värdet på justeringen" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:131 msgid "Minimum Value" msgstr "Minsta värde" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:132 msgid "The minimum value of the adjustment" msgstr "Minsta värdet på justeringen" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:151 msgid "Maximum Value" msgstr "Största värde" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:152 msgid "The maximum value of the adjustment" msgstr "Största värdet på justeringen" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:168 msgid "Step Increment" msgstr "Stegökning" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:169 msgid "The step increment of the adjustment" msgstr "Stegökningen på justeringen" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:185 msgid "Page Increment" msgstr "Sidökning" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:186 msgid "The page increment of the adjustment" msgstr "Sidökningen på justeringen" -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:205 msgid "Page Size" msgstr "Sidstorlek" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:206 msgid "The page size of the adjustment" msgstr "Sidstorleken på justeringen" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "Horisontell justering" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 -msgid "" -"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " -"right aligned" -msgstr "" -"Horisontell position av barnet i tillgängligt utrymme. 0,0 är " -"vänsterjusterat, 1,0 är högerjusterat" +#: ../gtk/gtkalignment.c:138 +#: ../gtk/gtkbutton.c:277 +msgid "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is right aligned" +msgstr "Horisontell position av barnet i tillgängligt utrymme. 0,0 är vänsterjusterat, 1,0 är högerjusterat" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "Vertikal justering" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 -msgid "" -"Vertical position of child in available space. 0.0 is top aligned, 1.0 is " -"bottom aligned" -msgstr "" -"Vertikal position av barnet i tillgängligt utrymme. 0,0 är " -"överkantsjusterat, 1,0 är nederkantsjusterat" +#: ../gtk/gtkalignment.c:148 +#: ../gtk/gtkbutton.c:296 +msgid "Vertical position of child in available space. 0.0 is top aligned, 1.0 is bottom aligned" +msgstr "Vertikal position av barnet i tillgängligt utrymme. 0,0 är överkantsjusterat, 1,0 är nederkantsjusterat" -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "Horisontell skala" -#: gtk/gtkalignment.c:143 -msgid "" -"If available horizontal space is bigger than needed for the child, how much " -"of it to use for the child. 0.0 means none, 1.0 means all" -msgstr "" -"Om tillgängligt horisontellt utrymme är större än vad som krävs för barnet, " -"är detta hur mycket av det som ska användas för barnet. 0,0 betyder inget, " -"1,0 betyder allt" +#: ../gtk/gtkalignment.c:157 +msgid "If available horizontal space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all" +msgstr "Om tillgängligt horisontellt utrymme är större än vad som krävs för barnet, är detta hur mycket av det som ska användas för barnet. 0,0 betyder inget, 1,0 betyder allt" -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "Vertikal skala" -#: gtk/gtkalignment.c:152 -msgid "" -"If available vertical space is bigger than needed for the child, how much of " -"it to use for the child. 0.0 means none, 1.0 means all" -msgstr "" -"Om tillgängligt vertikalt utrymme är större än vad som krävs för barnet, är " -"detta hur mycket av det som ska användas för barnet. 0,0 betyder inget, 1,0 " -"betyder allt" +#: ../gtk/gtkalignment.c:166 +msgid "If available vertical space is bigger than needed for the child, how much of it to use for the child. 0.0 means none, 1.0 means all" +msgstr "Om tillgängligt vertikalt utrymme är större än vad som krävs för barnet, är detta hur mycket av det som ska användas för barnet. 0,0 betyder inget, 1,0 betyder allt" -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "Överkantsutfyllnad" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "Den utfyllnad som ska infogas överst i widgeten." -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "Nederkantsutfyllnad" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "Den utfyllnad som ska infogas nederst i widgeten." -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "Vänsterutfyllnad" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "Den utfyllnad som ska infogas till vänster om widgeten." -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "Högerutfyllnad" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "Den utfyllnad som ska infogas till höger om widgeten." -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Pilriktning" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "Riktningen som pilen ska peka" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "Pilskugga" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "Utseende på skuggan som omger pilen" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 +#: ../gtk/gtkmenu.c:729 +#: ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Pilskalning" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "Mängd utrymme som används av pil" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 +#: ../gtk/gtkwidget.c:1121 msgid "Horizontal Alignment" msgstr "Horisontell justering" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "X-justering av barnet" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 +#: ../gtk/gtkwidget.c:1137 msgid "Vertical Alignment" msgstr "Vertikal justering" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "Y-justering av barnet" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "Förhållande" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "Proportionsförhållande om obey_child är FALSKT" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "Lyd barn" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "Tvinga proportionsförhållande för att matcha den av ramens barn" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:327 msgid "Header Padding" msgstr "Huvudutfyllnad" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:328 msgid "Number of pixels around the header." msgstr "Antal bildpunkter runt huvudet." -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:335 msgid "Content Padding" msgstr "Innehållsutfyllnad" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:336 msgid "Number of pixels around the content pages." msgstr "Antal bildpunkter runt innehållssidorna." -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:352 msgid "Page type" msgstr "Sidtyp" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:353 msgid "The type of the assistant page" msgstr "Typen för guidesidan" -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:370 msgid "Page title" msgstr "Sidtitel" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:371 msgid "The title of the assistant page" msgstr "Titeln på guidesidan" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:387 msgid "Header image" msgstr "Huvudbild" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:388 msgid "Header image for the assistant page" msgstr "Huvudbild för guidesidan" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image" msgstr "Sidopanelsbild" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:405 msgid "Sidebar image for the assistant page" msgstr "Sidopanelsbild för guidesidan" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:420 msgid "Page complete" msgstr "Sida komplett" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:421 msgid "Whether all required fields on the page have been filled out" msgstr "Huruvida alla nödvändiga fält på sidan har fyllts i" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "Minsta bredd på barn" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "Minsta bredd på knappar inuti rutan" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "Minsta höjd på barn" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "Minsta höjd på knappar inuti rutan" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "Intern utfyllnad i bredd runt barn" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "Mängd att öka barns storlek på var sida" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "Intern utfyllnad i höjd runt barn" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "Mängd att öka barns storlek överst och nederst" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "Utseendestil" -#: gtk/gtkbbox.c:172 +#: ../gtk/gtkbbox.c:189 #, fuzzy -msgid "" -"How to lay out the buttons in the box. Possible values are: spread, edge, " -"start and end" -msgstr "" -"Hur knappar ska placeras ut i rutan. Möjliga värden är standard, spridd, " -"kant, start och slut" +msgid "How to lay out the buttons in the box. Possible values are: spread, edge, start and end" +msgstr "Hur knappar ska placeras ut i rutan. Möjliga värden är standard, spridd, kant, start och slut" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "Sekundär" -#: gtk/gtkbbox.c:181 -msgid "" -"If TRUE, the child appears in a secondary group of children, suitable for, e." -"g., help buttons" -msgstr "" -"Om SANT kommer barnet att visas i en sekundär grupp med barn. Användbart " -"exempelvis för hjälpknappar" +#: ../gtk/gtkbbox.c:198 +msgid "If TRUE, the child appears in a secondary group of children, suitable for, e.g., help buttons" +msgstr "Om SANT kommer barnet att visas i en sekundär grupp med barn. Användbart exempelvis för hjälpknappar" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 +#: ../gtk/gtkexpander.c:231 +#: ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Spacing" msgstr "Utrymme" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "Mängden utrymme mellan barn" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 +#: ../gtk/gtktable.c:193 +#: ../gtk/gtktoolbar.c:552 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homogena" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "Huruvida barnen allihop ska vara av samma storlek" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 +#: ../gtk/gtktoolbar.c:544 +#: ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 +#: ../gtk/gtktreeviewcolumn.c:323 msgid "Expand" msgstr "Expandera" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "Huruvida barnet ska få extra utrymme när föräldern växer" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:281 +#: ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "Fyll" -#: gtk/gtkbox.c:272 -msgid "" -"Whether extra space given to the child should be allocated to the child or " -"used as padding" -msgstr "" -"Huruvida extra utrymme som ges till barnet ska allokeras till barnet eller " -"användas som utfyllnad" +#: ../gtk/gtkbox.c:282 +msgid "Whether extra space given to the child should be allocated to the child or used as padding" +msgstr "Huruvida extra utrymme som ges till barnet ska allokeras till barnet eller användas som utfyllnad" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 +#: ../gtk/gtktrayicon-x11.c:165 msgid "Padding" msgstr "Utfyllnad" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:290 msgid "Extra space to put between the child and its neighbors, in pixels" -msgstr "" -"Extra utrymme att placera mellan barnet och dess grannar, i bildpunkter" +msgstr "Extra utrymme att placera mellan barnet och dess grannar, i bildpunkter" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:296 msgid "Pack type" msgstr "Packningstyp" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 -msgid "" -"A GtkPackType indicating whether the child is packed with reference to the " -"start or end of the parent" -msgstr "" -"En GtkPackType som indikerar huruvida barnet packas med avseende på början " -"eller slutet på föräldern" +#: ../gtk/gtkbox.c:297 +#: ../gtk/gtknotebook.c:796 +msgid "A GtkPackType indicating whether the child is packed with reference to the start or end of the parent" +msgstr "En GtkPackType som indikerar huruvida barnet packas med avseende på början eller slutet på föräldern" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:303 +#: ../gtk/gtknotebook.c:767 +#: ../gtk/gtkpaned.c:327 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Position" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:304 +#: ../gtk/gtknotebook.c:768 msgid "The index of the child in the parent" msgstr "Indexet för barnet i föräldern" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "Översättningsdomän" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "Översättningsdomänen som används av gettext" -#: gtk/gtkbutton.c:239 -msgid "" -"Text of the label widget inside the button, if the button contains a label " -"widget" -msgstr "" -"Texten på etikettwidgeten inuti knappen, om knappen innehåller en " -"etikettwidget" +#: ../gtk/gtkbutton.c:227 +msgid "Text of the label widget inside the button, if the button contains a label widget" +msgstr "Texten på etikettwidgeten inuti knappen, om knappen innehåller en etikettwidget" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:234 +#: ../gtk/gtkexpander.c:215 +#: ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 +#: ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Använd understrykning" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 -msgid "" -"If set, an underline in the text indicates the next character should be used " -"for the mnemonic accelerator key" -msgstr "" -"Om detta är angivet kommer en understrykning i texten att indikera att nästa " -"tecken ska användas som en genvägstangent" +#: ../gtk/gtkbutton.c:235 +#: ../gtk/gtkexpander.c:216 +#: ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 +msgid "If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key" +msgstr "Om detta är angivet kommer en understrykning i texten att indikera att nästa tecken ska användas som en genvägstangent" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:242 +#: ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "Använd standard" -#: gtk/gtkbutton.c:255 -msgid "" -"If set, the label is used to pick a stock item instead of being displayed" -msgstr "" -"Om detta är angivet kommer etiketten att användas för att plocka ett " -"standardobjekt istället för att visas" +#: ../gtk/gtkbutton.c:243 +msgid "If set, the label is used to pick a stock item instead of being displayed" +msgstr "Om detta är angivet kommer etiketten att användas för att plocka ett standardobjekt istället för att visas" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:250 +#: ../gtk/gtkcombobox.c:866 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Fokusera vid klick" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:251 +#: ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Huruvida knappen tar fokus när den klickas på med musen" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:258 msgid "Border relief" msgstr "Kantrelief" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:259 msgid "The border relief style" msgstr "Reliefstilen på kanten" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:276 msgid "Horizontal alignment for child" msgstr "Horisontell justering för barn" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:295 msgid "Vertical alignment for child" msgstr "Vertikal justering för barn" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:312 +#: ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "Bildwidget" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:313 msgid "Child widget to appear next to the button text" msgstr "Barnwidget att visa bredvid knapptexten" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:327 msgid "Image position" msgstr "Bildposition" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:328 msgid "The position of the image relative to the text" msgstr "Position på bilden relativ till texten" -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:448 msgid "Default Spacing" msgstr "Standardutrymme" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:449 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Extra utrymme att lägga till för GTK_CAN_DEFAULT-knappar" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:463 msgid "Default Outside Spacing" msgstr "Standardutrymme på utsidan" -#: gtk/gtkbutton.c:476 -msgid "" -"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " -"the border" -msgstr "" -"Extra utrymme att lägga till för GTK_CAN_DEFAULT-knappar som alltid visas " -"utanför kanten" +#: ../gtk/gtkbutton.c:464 +msgid "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside the border" +msgstr "Extra utrymme att lägga till för GTK_CAN_DEFAULT-knappar som alltid visas utanför kanten" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:469 msgid "Child X Displacement" msgstr "X-förflyttning av barn" -#: gtk/gtkbutton.c:482 -msgid "" -"How far in the x direction to move the child when the button is depressed" +#: ../gtk/gtkbutton.c:470 +msgid "How far in the x direction to move the child when the button is depressed" msgstr "Hur långt bort i x-riktingen barnet ska flyttas då knappen trycks ned" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:477 msgid "Child Y Displacement" msgstr "Y-förflyttning av barn" -#: gtk/gtkbutton.c:490 -msgid "" -"How far in the y direction to move the child when the button is depressed" +#: ../gtk/gtkbutton.c:478 +msgid "How far in the y direction to move the child when the button is depressed" msgstr "Hur långt bort i y-riktningen barnet ska flyttas då knappen trycks ned" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:494 msgid "Displace focus" msgstr "Förflytta fokus" -#: gtk/gtkbutton.c:507 -msgid "" -"Whether the child_displacement_x/_y properties should also affect the focus " -"rectangle" -msgstr "" -"Huruvida egenskaperna child_displacement_x/_y även ska påverka " -"fokusrektangeln" +#: ../gtk/gtkbutton.c:495 +msgid "Whether the child_displacement_x/_y properties should also affect the focus rectangle" +msgstr "Huruvida egenskaperna child_displacement_x/_y även ska påverka fokusrektangeln" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:508 +#: ../gtk/gtkentry.c:787 +#: ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Inre kant" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:509 msgid "Border between button edges and child." msgstr "Kant mellan knappsidor och barn." -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:522 msgid "Image spacing" msgstr "Bildutrymme" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:523 msgid "Spacing in pixels between the image and label" msgstr "Utrymme att placera mellan bilden och etiketten (i bildpunkter)" -#: gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "Visa knappbilder" - -#: gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "Huruvida bilder ska visas på knappar" - -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:479 msgid "Year" msgstr "År" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:480 msgid "The selected year" msgstr "Det markerade året" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:493 msgid "Month" msgstr "Månad" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:494 msgid "The selected month (as a number between 0 and 11)" msgstr "Den markerade månaden (som ett tal mellan 0 och 11)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:508 msgid "Day" msgstr "Dag" -#: gtk/gtkcalendar.c:508 -msgid "" -"The selected day (as a number between 1 and 31, or 0 to unselect the " -"currently selected day)" -msgstr "" -"Den markerade dagen (som ett tal mellan 1 och 31, eller 0 för att avmarkera " -"den för tillfället markerade dagen)" +#: ../gtk/gtkcalendar.c:509 +msgid "The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day)" +msgstr "Den markerade dagen (som ett tal mellan 1 och 31, eller 0 för att avmarkera den för tillfället markerade dagen)" -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:523 msgid "Show Heading" msgstr "Visa tabellhuvud" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:524 msgid "If TRUE, a heading is displayed" msgstr "Om SANT visas ett tabellhuvud" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:538 msgid "Show Day Names" msgstr "Visa dagsnamn" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:539 msgid "If TRUE, day names are displayed" msgstr "Om SANT visas dagsnamn" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:552 msgid "No Month Change" msgstr "Ingen månadsändring" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:553 msgid "If TRUE, the selected month cannot be changed" msgstr "Om SANT kan den markerade månaden inte ändras" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:567 msgid "Show Week Numbers" msgstr "Visa veckonummer" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:568 msgid "If TRUE, week numbers are displayed" msgstr "Om SANT visas veckonummer" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:583 msgid "Details Width" msgstr "Bredd för detaljer" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:584 msgid "Details width in characters" msgstr "Bredd för detaljer, i tecken" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:599 msgid "Details Height" msgstr "Höjd för detaljer" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:600 msgid "Details height in rows" msgstr "Höjd för detaljer, i rader" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:616 msgid "Show Details" msgstr "Visa detaljer" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:617 msgid "If TRUE, details are shown" msgstr "Om SANT visas detaljer" -#: gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:629 msgid "Inner border" msgstr "Inre ram" -#: gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:630 msgid "Inner border space" msgstr "Inre ramutrymme" -#: gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:641 msgid "Vertical separation" msgstr "Vertikal separation" -#: gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:642 msgid "Space between day headers and main area" msgstr "Utrymme mellan dagrubrik och huvudyta" -#: gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:653 msgid "Horizontal separation" msgstr "Horisontell separation" -#: gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:654 msgid "Space between week headers and main area" msgstr "Utrymme mellan veckorubrik och huvudyta" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Redigeringen avbruten" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:54 msgid "Indicates that editing has been canceled" msgstr "Indikerar att redigeringen har avbrutits" -#: gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "Accelerator key" msgstr "Snabbtangent" -#: gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:139 msgid "The keyval of the accelerator" msgstr "Nyckelvärdet för snabbtangenten" -#: gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "Accelerator modifiers" msgstr "Genvägsmodiferare" -#: gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:156 msgid "The modifier mask of the accelerator" msgstr "Modifierarmasken för genvägen" -#: gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "Accelerator keycode" msgstr "Genvägstangentkod" -#: gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:174 msgid "The hardware keycode of the accelerator" msgstr "Hårdvarutangentkoden för genvägen" -#: gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "Accelerator Mode" msgstr "Genvägsläge" -#: gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:194 msgid "The type of accelerators" msgstr "Typen av genvägar" -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:271 msgid "mode" msgstr "läge" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:272 msgid "Editable mode of the CellRenderer" msgstr "Redigerbart läge för CellRenderer" -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:280 msgid "visible" msgstr "synlig" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:281 msgid "Display the cell" msgstr "Visa cellen" -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:288 msgid "Display the cell sensitive" msgstr "Visa cellen som känslig" # SUN CHANGED MESSAGE -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:295 msgid "xalign" msgstr "x-justering" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:296 msgid "The x-align" msgstr "X-justeringen" # SUN CHANGED MESSAGE -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:305 msgid "yalign" msgstr "y-justering" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:306 msgid "The y-align" msgstr "Y-justeringen" # SUN CHANGED MESSAGE -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:315 msgid "xpad" msgstr "x-utfyllnad" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:316 msgid "The xpad" msgstr "X-utfyllnaden" # SUN CHANGED MESSAGE -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:325 msgid "ypad" msgstr "y-utfyllnad" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:326 msgid "The ypad" msgstr "Y-utfyllnaden" -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:335 msgid "width" msgstr "bredd" -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:336 msgid "The fixed width" msgstr "Den fasta bredden" -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:345 msgid "height" msgstr "höjd" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:346 msgid "The fixed height" msgstr "Den fasta höjden" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:355 msgid "Is Expander" msgstr "Är expanderare" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:356 msgid "Row has children" msgstr "Rad har barn" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:364 msgid "Is Expanded" msgstr "Är expanderad" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:365 msgid "Row is an expander row, and is expanded" msgstr "Raden är en expanderingsrad, och är expanderad" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:372 msgid "Cell background color name" msgstr "Namn på cellbakgrundsfärg" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color as a string" msgstr "Cellbakgrundsfärg som en sträng" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:380 msgid "Cell background color" msgstr "Cellbakgrundsfärg" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color as a GdkColor" msgstr "Cellbakgrundsfärg som en GdkColor" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:394 +#, fuzzy +msgid "Cell background RGBA color" +msgstr "Cellbakgrundsfärg" + +#: ../gtk/gtkcellrenderer.c:395 +#, fuzzy +msgid "Cell background color as a GdkRGBA" +msgstr "Cellbakgrundsfärg som en GdkColor" + +#: ../gtk/gtkcellrenderer.c:402 msgid "Editing" msgstr "Redigering" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:403 msgid "Whether the cell renderer is currently in editing mode" msgstr "Huruvida cellrenderaren för närvarande är i redigeringsläge" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:411 msgid "Cell background set" msgstr "Cellbakgrund inställd" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:412 msgid "Whether this tag affects the cell background color" msgstr "Huruvida denna tagg påverkar cellbakgrundsfärgen" -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "Modell" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "Modellen som innehåller de möjliga värdena för kombinationsrutan" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "Textkolumn" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "En kolumn i datakällmodellen att hämta strängar från" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 +#: ../gtk/gtkcombobox.c:933 msgid "Has Entry" msgstr "Har post" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" -msgstr "" -"Om detta är FALSKT kommer det inte att vara tillåtet att ange andra strängar " -"än de utvalda" +msgstr "Om detta är FALSKT kommer det inte att vara tillåtet att ange andra strängar än de utvalda" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "Pixbuf-objekt" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "Pixbuf:en att rendera" # SUN CHANGED MESSAGE -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "Pixbuf-expanderare, öppen" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "Pixbuf för öppen expanderare" # SUN CHANGED MESSAGE -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "Pixbuf-expanderare, stängd" # SUN CHANGED MESSAGE -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "Pixbuf för stängd expanderare" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 +#: ../gtk/gtkimage.c:250 +#: ../gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "Standard-ID" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "Standard-ID på standardikonen att rendera" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 +#: ../gtk/gtkcellrendererspinner.c:153 +#: ../gtk/gtkrecentmanager.c:309 +#: ../gtk/gtkstatusicon.c:269 msgid "Size" msgstr "Storlek" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "Det GtkIconSize-värde som anger storleken på den renderade ikonen" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "Detalj" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "Renderingsdetalj att skicka till temamotorn" -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "Följ tillstånd" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Huruvida den renderade pixbufen ska färgsättas enligt tillståndet" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:214 +#: ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:699 msgid "Icon" msgstr "Ikon" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "Värde på förloppsmätaren" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 +#: ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 +#: ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 +#: ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 msgid "Text" msgstr "Text" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "Text på förloppsmätaren" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 +#: ../gtk/gtkcellrendererspinner.c:139 msgid "Pulse" msgstr "Puls" -#: gtk/gtkcellrendererprogress.c:169 -msgid "" -"Set this to positive values to indicate that some progress is made, but you " -"don't know how much." -msgstr "" -"Ställ in den här till positiva värden för att indikera att förloppet " -"ändrats, men du vet inte hur mycket." +#: ../gtk/gtkcellrendererprogress.c:169 +msgid "Set this to positive values to indicate that some progress is made, but you don't know how much." +msgstr "Ställ in den här till positiva värden för att indikera att förloppet ändrats, men du vet inte hur mycket." -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "X-justering för text" -#: gtk/gtkcellrendererprogress.c:186 -msgid "" -"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " -"layouts." -msgstr "" -"Den horisontella textjusteringen, från 0 (vänster) till 1 (höger). Omvänd " -"för höger-till-vänster-layouter." +#: ../gtk/gtkcellrendererprogress.c:186 +msgid "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL layouts." +msgstr "Den horisontella textjusteringen, från 0 (vänster) till 1 (höger). Omvänd för höger-till-vänster-layouter." -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "Y-justering för text" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "Den vertikala textjusteringen, från 0 (överst) till 1 (nederst)." -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 +#: ../gtk/gtkcellrendererprogress.c:214 +#: ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:439 msgid "Inverted" msgstr "Inverterad" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 -#, fuzzy +#: ../gtk/gtkcellrendererprogress.c:215 +#: ../gtk/gtkprogressbar.c:154 msgid "Invert the direction in which the progress bar grows" -msgstr "Orientering och tillväxtriktning för förloppsmätaren" +msgstr "Invertera riktningen i vilken förloppsmätaren växer" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 +#: ../gtk/gtkrange.c:431 +#: ../gtk/gtkscalebutton.c:239 +#: ../gtk/gtkspinbutton.c:229 msgid "Adjustment" msgstr "Justering" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 +#: ../gtk/gtkspinbutton.c:230 #, fuzzy msgid "The adjustment that holds the value of the spin button" msgstr "Justeringen som håller värdet på snurrknappen" -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "Klättringsfrekvens" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 +#: ../gtk/gtkspinbutton.c:238 msgid "The acceleration rate when you hold down a button" msgstr "Accelerationen då du trycker ned en knapp" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 +#: ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:247 msgid "Digits" msgstr "Siffror" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 +#: ../gtk/gtkspinbutton.c:248 msgid "The number of decimal places to display" msgstr "Antalet siffror att visas" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:119 +#: ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:519 +#: ../gtk/gtkspinner.c:118 +#: ../gtk/gtkswitch.c:747 +#: ../gtk/gtktoggleaction.c:133 +#: ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "Aktiv" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:120 msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Huruvida snurrväljaren är aktiv (alltså visas) i cellen" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:140 msgid "Pulse of the spinner" msgstr "Puls för snurrväljaren" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:154 msgid "The GtkIconSize value that specifies the size of the rendered spinner" -msgstr "" -"Det GtkIconSize-värde som anger storleken på den renderade snurrväljaren" +msgstr "Det GtkIconSize-värde som anger storleken på den renderade snurrväljaren" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Text att rendera" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Markup" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Markup-text att rendera" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:271 +#: ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Attribut" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "En lista med stilattribut att applicera på texten av renderaren" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Enkelstyckesläge" -#: gtk/gtkcellrenderertext.c:256 -#, fuzzy +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" -msgstr "Huruvida all text ska vara i ett enda stycke eller inte" +msgstr "Huruvida all text ska vara i ett enda stycke" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 +#: ../gtk/gtkcellview.c:192 +#: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "Namn på bakgrundsfärg" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellview.c:193 +#: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "Bakgrundsfärg som en sträng" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 +#: ../gtk/gtkcellview.c:199 +#: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "Bakgrundsfärg" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:297 +#: ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "Bakgrundsfärg som en GdkColor" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:311 +msgid "Background color as RGBA" +msgstr "Bakgrundsfärg som RGBA" + +#: ../gtk/gtkcellrenderertext.c:312 +#: ../gtk/gtkcellview.c:214 +msgid "Background color as a GdkRGBA" +msgstr "Bakgrundsfärg som en GdkRGBA" + +#: ../gtk/gtkcellrenderertext.c:318 +#: ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "Namn på förgrundsfärg" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 +#: ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "Förgrundsfärg som en sträng" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 +#: ../gtk/gtktexttag.c:210 +#: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "Förgrundsfärg" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Förgrundsfärg som en GdkColor" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:341 +msgid "Foreground color as RGBA" +msgstr "Förgrundsfärg som RGBA" + +#: ../gtk/gtkcellrenderertext.c:342 +msgid "Foreground color as a GdkRGBA" +msgstr "Förgrundsfärg som en GdkRGBA" + +#: ../gtk/gtkcellrenderertext.c:350 +#: ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:227 +#: ../gtk/gtktextview.c:684 msgid "Editable" msgstr "Redigerbar" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:351 +#: ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:685 msgid "Whether the text can be modified by the user" msgstr "Huruvida texten kan ändras av användaren" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:358 +#: ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:243 +#: ../gtk/gtktexttag.c:251 msgid "Font" msgstr "Typsnitt" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 +#: ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Typsnittsbeskrivning som en sträng, t.ex. \"Sans Italic 12\"" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 +#: ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "Typsnittsbeskrivning som en PangoFontDescription-struct" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 +#: ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "Typsnittsfamilj" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 +#: ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" -msgstr "" -"Namn på typsnittsfamiljen, till exempel Sans, Helvetica, Times, Monospace" +msgstr "Namn på typsnittsfamiljen, till exempel Sans, Helvetica, Times, Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:383 +#: ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "Typsnittsstil" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:392 +#: ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "Typsnittsvariant" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:401 +#: ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "Typsnittsvikt" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:411 +#: ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "Typsnittsbredd" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:420 +#: ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "Typsnittsstorlek" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 +#: ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "Typsnittspunkter" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 +#: ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "Typsnittsstorlek i punkter" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 +#: ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "Typsnittsskalning" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Typsnittsskalfaktor" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 +#: ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "Höjning" -#: gtk/gtkcellrenderertext.c:398 -msgid "" -"Offset of text above the baseline (below the baseline if rise is negative)" -msgstr "" -"Avstånd för texten ovanför baslinjen (nedanför baslinjen om höjning är " -"negativt)" +#: ../gtk/gtkcellrenderertext.c:451 +msgid "Offset of text above the baseline (below the baseline if rise is negative)" +msgstr "Avstånd för texten ovanför baslinjen (nedanför baslinjen om höjning är negativt)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 +#: ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "Genomstrykning" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 +#: ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "Huruvida texten ska genomstrykas" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 +#: ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "Understruken" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 +#: ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "Stil på understrykningen för denna text" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 +#: ../gtk/gtktexttag.c:354 msgid "Language" msgstr "Språk" -#: gtk/gtkcellrenderertext.c:427 -msgid "" -"The language this text is in, as an ISO code. Pango can use this as a hint " -"when rendering the text. If you don't understand this parameter, you " -"probably don't need it" -msgstr "" -"Språket som denna text är i, angivet som ISO-kod. Pango kan använda detta " -"som ett tips vid rendering av text. Om du inte förstår denna parameter " -"behöver du den troligtvis inte" +#: ../gtk/gtkcellrenderertext.c:480 +msgid "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If you don't understand this parameter, you probably don't need it" +msgstr "Språket som denna text är i, angivet som ISO-kod. Pango kan använda detta som ett tips vid rendering av text. Om du inte förstår denna parameter behöver du den troligtvis inte" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:500 +#: ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Elliptisera" -#: gtk/gtkcellrenderertext.c:448 -msgid "" -"The preferred place to ellipsize the string, if the cell renderer does not " -"have enough room to display the entire string" -msgstr "" -"Den föredragna platsen att elliptisera strängen, om cellrenderaren inte har " -"tillräckligt med utrymme för att visa hela strängen" +#: ../gtk/gtkcellrenderertext.c:501 +msgid "The preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string" +msgstr "Den föredragna platsen att elliptisera strängen, om cellrenderaren inte har tillräckligt med utrymme för att visa hela strängen" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:520 +#: ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Bredd i antal tecken" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:521 +#: ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "Den önskade bredden på etiketten, i antal tecken" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:545 +#: ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Maximal bredd i antal tecken" -#: gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:546 #, fuzzy msgid "The maximum width of the cell, in characters" msgstr "Den önskade maximala bredden på etiketten, i antal tecken" -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 +#: ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "Automatisk radbrytning" -#: gtk/gtkcellrenderertext.c:512 -msgid "" -"How to break the string into multiple lines, if the cell renderer does not " -"have enough room to display the entire string" -msgstr "" -"Hur strängen ska delas upp i flera rader, om cellrenderaren inte har " -"tillräckligt med utrymme för att visa hela strängen" +#: ../gtk/gtkcellrenderertext.c:565 +msgid "How to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string" +msgstr "Hur strängen ska delas upp i flera rader, om cellrenderaren inte har tillräckligt med utrymme för att visa hela strängen" -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:584 +#: ../gtk/gtkcombobox.c:755 msgid "Wrap width" msgstr "Radbrytningsbredd" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "Bredden på vilken texten radbryts" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:605 +#: ../gtk/gtktreeviewcolumn.c:348 msgid "Alignment" msgstr "Justering" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "Hur rader ska justeras" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 +#: ../gtk/gtkcellview.c:236 +#: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "Bakgrund inställd" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 +#: ../gtk/gtkcellview.c:237 +#: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "Huruvida denna tagg påverkar bakgrundsfärgen" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "Förgrund inställd" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 +#: ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "Huruvida denna tagg påverkar förgrundsfärgen" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "Redigerbarhet inställd" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 +#: ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "Huruvida denna tagg påverkar redigerbarheten för texten" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 +#: ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "Typsnittsfamilj inställd" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 +#: ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "Huruvida denna tagg påverkar typsnittsfamiljen" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 +#: ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "Typsnittsstil inställd" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 +#: ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "Huruvida denna tagg påverkar typsnittsstilen" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 +#: ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "Typsnittsvariant inställd" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 +#: ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "Huruvida denna tagg påverkar typsnittsvarianten" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 +#: ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "Typsnittsvikt inställd" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 +#: ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "Huruvida denna tagg påverkar typsnittsvikten" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 +#: ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "Typsnittsbredd inställd" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 +#: ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "Huruvida denna tagg påverkar typsnittsbredden" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 +#: ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "Typsnittsstorlek inställd" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 +#: ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "Huruvida denna tagg påverkar typsnittsstorleken" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 +#: ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "Typsnittsskalning inställd" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 +#: ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "Huruvida denna tagg skalar typsnittet med en faktor" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 +#: ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "Höjning inställd" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 +#: ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "Huruvida denna tagg påverkar höjningen" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 +#: ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "Genomstrykning inställd" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 +#: ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "Huruvida denna tagg påverkar genomstrykningen" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 +#: ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "Understrykning inställd" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 +#: ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "Huruvida denna tagg påverkar understrykningen" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 +#: ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "Språk inställt" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 +#: ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "Huruvida denna tagg påverkar språket texten renderas som" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Elliptisering inställd" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "Huruvida denna tagg påverkar elliptiseringsläget" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Justering inställd" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Huruvida denna tagg påverkar justeringsläget" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "Växlingstillstånd" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "Knappens växlingstillstånd" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "Inkonsekvent tillstånd" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "Knappens inkonsekventa tillstånd" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "Aktiverbar" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "Växlingsknappen kan aktiveras" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "Radiotillstånd" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "Rita växlingsknappen som en radioknapp" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "Indikatorstorlek" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:161 +#: ../gtk/gtkcheckbutton.c:78 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "Storlek på kryss- eller radioindikator" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:213 +#, fuzzy +msgid "Background RGBA color" +msgstr "Bakgrundsfärg" + +#: ../gtk/gtkcellview.c:228 msgid "CellView model" msgstr "Cellvisningsmodell" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:229 msgid "The model for cell view" msgstr "Modellen för cellvisning" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:77 +#: ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "Indikatorstorlek" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 +#: ../gtk/gtkexpander.c:265 msgid "Indicator Spacing" msgstr "Indikatorutrymme" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:86 msgid "Spacing around check or radio indicator" msgstr "Utrymme runt kryss- eller radioindikator" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "Huruvida menyobjektet är kryssat" # SUN CHANGED MESSAGE -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inkonsekvent" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "Huruvida ett \"inkonsekvent\" tillstånd ska visas" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "Rita som radiomenyobjekt" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "Huruvida menyobjektet ser ut som ett radiomenyobjekt" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:171 msgid "Use alpha" msgstr "Använd alfa" -#: gtk/gtkcolorbutton.c:160 -#, fuzzy +#: ../gtk/gtkcolorbutton.c:172 msgid "Whether to give the color an alpha value" -msgstr "Huruvida färgen ska ges ett alfavärde eller inte" +msgstr "Huruvida färgen ska ges ett alfavärde" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:186 +#: ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 +#: ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:415 +#: ../gtk/gtktreeviewcolumn.c:315 msgid "Title" msgstr "Titel" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:187 msgid "The title of the color selection dialog" msgstr "Titeln på färgvalsdialogen" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:201 +#: ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Aktuell färg" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:202 msgid "The selected color" msgstr "Den markerade färgen" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:216 +#: ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Aktuellt alfavärde" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:217 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "Det valda opakhetsvärdet (0 är helt transparent, 65535 helt opakt)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:231 +msgid "Current RGBA Color" +msgstr "Aktuell RGBA-färg" + +#: ../gtk/gtkcolorbutton.c:232 +msgid "The selected RGBA color" +msgstr "Den valda RGBA-färgen" + +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Har opakhetskontoll" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "Huruvida färgväljaren ska tillåta inställning av opakhet" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Har palett" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Huruvida en palett ska användas" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "Den aktuella färgen" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "Aktuellt opakhetsvärde (0 är helt transparent, 65535 helt opakt)" -#: gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "Anpassad palett" +#: ../gtk/gtkcolorsel.c:360 +msgid "Current RGBA" +msgstr "Aktuellt RGBA" -#: gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "Palett att använda i färgväljaren" +#: ../gtk/gtkcolorsel.c:361 +msgid "The current RGBA color" +msgstr "Den aktuella RGBA-färgen" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "Färgval" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "Färgväljaren inbäddad i dialogrutan." -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "OK-knapp" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "OK-knappen för dialogrutan." -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "Avbryt-knapp" # Bättre ord? -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "Avbryt-knappen för dialogrutan." -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "Hjälp-knapp" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "Hjälp-knappen för dialogrutan." -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombobox.c:738 msgid "ComboBox model" msgstr "ComboBox-modell" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:739 msgid "The model for the combo box" msgstr "Modellen för kombinationsrutan" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:756 msgid "Wrap width for laying out the items in a grid" msgstr "Radbrytningsbredd för utläggning av objekten i ett rutnät" -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:778 msgid "Row span column" msgstr "Radspannskolumn" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:779 msgid "TreeModel column containing the row span values" msgstr "TreeModel-kolumn som innehåller radspannsvärden" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:800 msgid "Column span column" msgstr "Kolumnspannskolumn" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:801 msgid "TreeModel column containing the column span values" msgstr "TreeModel-kolumn som innehåller kolumnspannsvärden" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:822 msgid "Active item" msgstr "Aktivt objekt" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:823 msgid "The item which is currently active" msgstr "Det objekt som är aktivt för tillfället" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:842 +#: ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Lägg till löstagbara i menyer" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:843 msgid "Whether dropdowns should have a tearoff menu item" msgstr "Huruvida nedfällningar ska ha ett löstagbart menyobjekt" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:858 +#: ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Har ram" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:859 msgid "Whether the combo box draws a frame around the child" msgstr "Huruvida kombinationsrutan ritar en ram runt barnet" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:867 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Huruvida kombinationsrutan tar fokus när den klickas på med musen" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:882 +#: ../gtk/gtkmenu.c:574 msgid "Tearoff Title" msgstr "Löstagbar titel" -#: gtk/gtkcombobox.c:828 -msgid "" -"A title that may be displayed by the window manager when the popup is torn-" -"off" -msgstr "" -"En titel som kan visas av fönsterhanteraren då denna popupmeny tas loss" +#: ../gtk/gtkcombobox.c:883 +msgid "A title that may be displayed by the window manager when the popup is torn-off" +msgstr "En titel som kan visas av fönsterhanteraren då denna popupmeny tas loss" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:900 msgid "Popup shown" msgstr "Popup visas" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:901 msgid "Whether the combo's dropdown is shown" msgstr "Huruvida kombinationsrutans rullgardinsmeny visas" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:917 msgid "Button Sensitivity" msgstr "Knappkänslighet" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:918 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Huruvida rullgardinsknappen är känslig när modellen är tom" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:934 +#, fuzzy +msgid "Whether combo box has an entry" +msgstr "Huruvida kombinationsrutan ritar en ram runt barnet" + +#: ../gtk/gtkcombobox.c:949 +#, fuzzy +msgid "Entry Text Column" +msgstr "Textkolumn" + +#: ../gtk/gtkcombobox.c:950 +msgid "The column in the combo box's model to associate with strings from the entry if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" + +#: ../gtk/gtkcombobox.c:967 +msgid "ID Column" +msgstr "Id-kolumn" + +#: ../gtk/gtkcombobox.c:968 +msgid "The column in the combo box's model that provides string IDs for the values in the model" +msgstr "" + +#: ../gtk/gtkcombobox.c:983 +msgid "Active id" +msgstr "Aktivt id" + +#: ../gtk/gtkcombobox.c:984 +#, fuzzy +msgid "The value of the id column for the active row" +msgstr "Namnet på ikonen från ikontemat" + +#: ../gtk/gtkcombobox.c:999 +#, fuzzy +msgid "Popup Fixed Width" +msgstr "Fast bredd" + +#: ../gtk/gtkcombobox.c:1000 +msgid "Whether the popup's width should be a fixed width matching the allocated width of the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:1008 msgid "Appears as list" msgstr "Visas som lista" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:1009 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Huruvida nedfällningar ska se ut som listor istället för menyer" -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:1025 msgid "Arrow Size" msgstr "Pilstorlek" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:1026 msgid "The minimum size of the arrow in the combo box" msgstr "Minsta storleken för pilen i kombinationsrutan" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:1041 +#: ../gtk/gtkentry.c:879 +#: ../gtk/gtkhandlebox.c:187 +#: ../gtk/gtkmenubar.c:197 +#: ../gtk/gtkstatusbar.c:180 +#: ../gtk/gtktoolbar.c:602 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "Skuggtyp" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:1042 msgid "Which kind of shadow to draw around the combo box" msgstr "Vilken typ av skugga som ska ritas runt kombinationsrutan" -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:451 msgid "Resize mode" msgstr "Storleksändringsläge" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:452 msgid "Specify how resize events are handled" msgstr "Ange hur storleksändringshändelser hanteras" -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:459 msgid "Border width" msgstr "Kantbredd" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:460 msgid "The width of the empty border outside the containers children" msgstr "Bredden på den tomma kanten utanför behållarens barn" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:468 msgid "Child" msgstr "Barn" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:469 msgid "Can be used to add a new child to the container" msgstr "Kan användas för att lägga till ett nytt barn till behållaren" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 +#: ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Kant för innehållsområde" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:166 msgid "Width of border around the main dialog area" msgstr "Bredd på kanten runt huvuddialogområdet" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 +#: ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Utfyllnad för innehållsområde" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:184 msgid "Spacing between elements of the main dialog area" msgstr "Utrymme mellan element i huvuddialogrutan" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 +#: ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Knapputrymme" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 +#: ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Utrymme mellan knappar" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 +#: ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Kant på åtgärdsområde" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:201 msgid "Width of border around the button area at the bottom of the dialog" msgstr "Bredd på kanten runt knappområdet runt nederkanten på dialogen" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Textbuffert" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "Textbuffertobjektet som faktiskt lagrar inmatningstexten" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:734 +#: ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Markörposition" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:735 +#: ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "Den aktuella positionen på insättningspekaren i antal tecken" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:744 +#: ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Markeringsgräns" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 -msgid "" -"The position of the opposite end of the selection from the cursor in chars" -msgstr "" -"Positionen för den motsatta änden av markeringen från markören i antal tecken" +#: ../gtk/gtkentry.c:745 +#: ../gtk/gtklabel.c:673 +msgid "The position of the opposite end of the selection from the cursor in chars" +msgstr "Positionen för den motsatta änden av markeringen från markören i antal tecken" -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Huruvida fältets innehåll kan redigeras" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 +#: ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Maxlängd" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 +#: ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Maximala antalet tecken i detta fält. Noll om inget maxvärde" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Synlighet" -#: gtk/gtkentry.c:681 -msgid "" -"FALSE displays the \"invisible char\" instead of the actual text (password " -"mode)" -msgstr "" -"FALSKT visar det \"osynliga tecknet\" istället för den verkliga texten " -"(lösenordsläge)" +#: ../gtk/gtkentry.c:772 +msgid "FALSE displays the \"invisible char\" instead of the actual text (password mode)" +msgstr "FALSKT visar det \"osynliga tecknet\" istället för den verkliga texten (lösenordsläge)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "FALSKT tar bort den yttre avfasningen från fältet" -#: gtk/gtkentry.c:697 -msgid "" -"Border between text and frame. Overrides the inner-border style property" +#: ../gtk/gtkentry.c:788 +msgid "Border between text and frame. Overrides the inner-border style property" msgstr "Kant mellan text och ram. Åsidosätter den inre kantstilsegenskapen" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:795 +#: ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Osynligt tecken" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:796 +#: ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" -msgstr "" -"Tecknet att använda när fältets innehåll ska maskeras (i \"lösenordsläge\")" +msgstr "Tecknet att använda när fältets innehåll ska maskeras (i \"lösenordsläge\")" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Aktiverar standard" -#: gtk/gtkentry.c:713 -msgid "" -"Whether to activate the default widget (such as the default button in a " -"dialog) when Enter is pressed" -msgstr "" -"Huruvida standardwidgeten ska aktiveras (som exempelvis standardknappen i " -"ett dialogfönster) när Retur trycks ned" +#: ../gtk/gtkentry.c:804 +msgid "Whether to activate the default widget (such as the default button in a dialog) when Enter is pressed" +msgstr "Huruvida standardwidgeten ska aktiveras (som exempelvis standardknappen i ett dialogfönster) när Retur trycks ned" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Bredd i antal tecken" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Antal tecken som ska lämnas plats till i fältet" -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Rullningsavstånd" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" -msgstr "" -"Antalet bildpunkter i objektet som är rullad utanför skärmen till vänster" +msgstr "Antalet bildpunkter i objektet som är rullad utanför skärmen till vänster" -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "Innehållet i fältet" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 +#: ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X-justering" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 -msgid "" -"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " -"layouts." -msgstr "" -"Den horisontella justeringen, från 0 (vänster) till 1 (höger). Omvänd för " -"höger-till-vänster-layouter." +#: ../gtk/gtkentry.c:847 +#: ../gtk/gtkmisc.c:82 +msgid "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts." +msgstr "Den horisontella justeringen, från 0 (vänster) till 1 (höger). Omvänd för höger-till-vänster-layouter." -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Kapa flerradersrad" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Huruvida inklistringar av flerraderrad ska kapas till en rad." -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" -msgstr "" -"Vilken typ av skugga som ska ritas runt fältet när has-frame är inställd" +msgstr "Vilken typ av skugga som ska ritas runt fältet när has-frame är inställd" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:895 +#: ../gtk/gtktextview.c:764 msgid "Overwrite mode" msgstr "Överskrivningsläge" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "Huruvida ny text skriver över befintlig text" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 +#: ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Textlängd" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "Längden på aktuell text i posten " -#: gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:926 #, fuzzy msgid "Invisible character set" msgstr "Osynligt tecken" -#: gtk/gtkentry.c:836 +#: ../gtk/gtkentry.c:927 #, fuzzy msgid "Whether the invisible character has been set" msgstr "Huruvida det osynliga tecknet har ställts in" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Caps Lock-varning" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "Huruvida lösenordsfält ska visa en varning när Caps Lock är aktiverad" -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Förloppsandel" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "Den aktuella delen av åtgärden som har färdigställts" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "Pulssteg för förlopp" -#: gtk/gtkentry.c:888 -msgid "" -"The fraction of total entry width to move the progress bouncing block for " -"each call to gtk_entry_progress_pulse()" -msgstr "" -"Den del av den totala bredden att flytta förloppets studsande block för " -"varje anrop till gtk_entry_progress_pulse()" +#: ../gtk/gtkentry.c:979 +msgid "The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse()" +msgstr "Den del av den totala bredden att flytta förloppets studsande block för varje anrop till gtk_entry_progress_pulse()" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Primär pixbuf" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "Primär pixbuf för posten" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Sekundär pixbuf" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "Sekundär pixbuf för posten" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "Primärt standard-id" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "Standard-id för primär ikon" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "Sekundärt standard-id" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "Standard-id för sekundär ikon" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Primärt ikonnamn" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "Ikonnamn för primär ikon" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Sekundärt ikonnamn" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "Ikonnamn för sekundär ikon" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "Primär GIcon" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "GIcon för primär ikon" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "Sekundär GIcon" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "GIcon för sekundär ikon" -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Primär lagringstyp" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "Representationen som används för primär ikon" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Sekundär lagringstyp" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "Representationen som används för sekundär ikon" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Primär ikon aktiverbar" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Huruvida primära ikonen är aktiverbar" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Sekundär ikon aktiverbar" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Huruvida sekundära ikonen är aktiverbar" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Primär ikon är känslig" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Huruvida primära ikonen är känslig" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Sekundär ikon är känslig" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Huruvida sekundära ikonen är känslig" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Verktygstipstext för primär ikon" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1237 +#: ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "Innehållet för verktygstipset på primära ikonen" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Verktygstipstext för sekundär ikon" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1254 +#: ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "Innehållet för verktygstipset på sekundära ikonen" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "Verktygstipsmarkup för primär ikon" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "Verktygstipsmarkup för sekundär ikon" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1311 +#: ../gtk/gtktextview.c:792 msgid "IM module" msgstr "IM-modul" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1312 +#: ../gtk/gtktextview.c:793 msgid "Which IM module should be used" msgstr "Vilken IM-modul som ska användas" -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "Ikonförljus" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" msgstr "Huruvida aktiverbara ikoner ska förljusas när svävande" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Förloppsram" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "Ram runt förloppsmätaren" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Kant mellan text och ram." -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "Markera vid fokus" - -#: gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "Huruvida ett fälts innehåll markeras då fältet får fokus" - -#: gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "Tidsgräns för lösenordstips" - -#: gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "Hur länge det senaste inmatade tecknet i dolda objekt ska visas" - -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "Innehållet i bufferten" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "Längden på texten för närvarande i bufferten " -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:267 msgid "Completion Model" msgstr "Ifyllningsmodell" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:268 msgid "The model to find matches in" msgstr "Modellen för att hitta träffar" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:274 msgid "Minimum Key Length" msgstr "Minsta nyckellängd" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:275 msgid "Minimum length of the search key in order to look up matches" msgstr "Minsta längd på söknyckeln för att hitta träffar" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:291 +#: ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "Textkolumn" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:292 msgid "The column of the model containing the strings." msgstr "Kolumnen för modellen som innehåller strängarna." -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:311 msgid "Inline completion" msgstr "Inlineifyllning" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:312 msgid "Whether the common prefix should be inserted automatically" msgstr "Huruvida det gemensamma prefixet ska infogas automatiskt" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:326 msgid "Popup completion" msgstr "Popupifyllning" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:327 msgid "Whether the completions should be shown in a popup window" msgstr "Huruvida ifyllningarna ska visas i ett popupfönster" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:342 msgid "Popup set width" msgstr "Popup med fast bredd" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:343 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "OM detta är SANT kommer popupfönstret att ha samma storlek som fältet" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:361 msgid "Popup single match" msgstr "Popup för enstaka träff" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:362 msgid "If TRUE, the popup window will appear for a single match." msgstr "Om detta är SANT kommer popupfönstret att visas för en enstaka träff." -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:376 msgid "Inline selection" msgstr "Inline-markering" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:377 msgid "Your description here" msgstr "Din beskrivning här" -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkentrycompletion.c:392 +#: ../gtk/gtktreeviewcolumn.c:408 +msgid "Cell Area" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:393 +#: ../gtk/gtktreeviewcolumn.c:409 +msgid "The GtkCellArea used to layout cells" +msgstr "" + +#: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "Synligt fönster" -#: gtk/gtkeventbox.c:94 -msgid "" -"Whether the event box is visible, as opposed to invisible and only used to " -"trap events." -msgstr "" -"Huruvida händelserutan är synlig istället för osynlig och endast använd för " -"att fånga händelser." +#: ../gtk/gtkeventbox.c:102 +msgid "Whether the event box is visible, as opposed to invisible and only used to trap events." +msgstr "Huruvida händelserutan är synlig istället för osynlig och endast använd för att fånga händelser." -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:108 msgid "Above child" msgstr "Ovanför barn" -#: gtk/gtkeventbox.c:101 -msgid "" -"Whether the event-trapping window of the eventbox is above the window of the " -"child widget as opposed to below it." -msgstr "" -"Huruvida händelserutans händelsefångande fönster är över barnwidgetens " -"fönster istället för under det." +#: ../gtk/gtkeventbox.c:109 +msgid "Whether the event-trapping window of the eventbox is above the window of the child widget as opposed to below it." +msgstr "Huruvida händelserutans händelsefångande fönster är över barnwidgetens fönster istället för under det." -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:199 msgid "Expanded" msgstr "Expanderad" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:200 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Huruvida expanderaren har öppnats för att avslöja barnwidgeten" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:208 msgid "Text of the expander's label" msgstr "Text på expanderarens etikett" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:223 +#: ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Använd markup" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:224 +#: ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "Etikettens text innehåller XML-markup. Se pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:232 msgid "Space to put between the label and the child" msgstr "Utrymme att placera mellan etiketten och barnet" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:241 +#: ../gtk/gtkframe.c:165 +#: ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Etikettwidget" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:242 msgid "A widget to display in place of the usual expander label" msgstr "En widget att visa istället för den vanliga expanderaretiketten" -#: gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:249 #, fuzzy msgid "Label fill" msgstr "Flikfyllning" -#: gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:250 #, fuzzy msgid "Whether the label widget should fill all available horizontal space" msgstr "Huruvida objektet ska fylla upp tillgängligt utrymme" -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:256 +#: ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1190 msgid "Expander Size" msgstr "Storlek på expanderare" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:257 +#: ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1191 msgid "Size of the expander arrow" msgstr "Storlek på expanderarpilen" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:266 msgid "Spacing around expander arrow" msgstr "Utrymme runt expanderarpil" -#: gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "Dialog" -#: gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "Filväljardialogen att använda." -#: gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." msgstr "Titeln på filväljardialogen." -#: gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "Den önskade bredden på knappwidgeten, i antal tecken." -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:740 msgid "Action" msgstr "Åtgärd" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "Typen av åtgärd som filväljaren utför" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:747 +#: ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "Filter" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "Det aktuella filtret för val av vilka filer som visas" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "Endast lokala" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "Huruvida de valda filerna ska begränsas till lokala file:-URI:er" -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "Förhandsvisningswidget" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." msgstr "Programtillhandahållen widget för anpassade förhandsvisningar." -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "Förhandsvisningswidget aktiv" -#: gtk/gtkfilechooser.c:766 -msgid "" -"Whether the application supplied widget for custom previews should be shown." -msgstr "" -"Huruvida den programtillhandahållna widgeten för anpassade förhandsvisningar " -"ska visas." +#: ../gtk/gtkfilechooser.c:766 +msgid "Whether the application supplied widget for custom previews should be shown." +msgstr "Huruvida den programtillhandahållna widgeten för anpassade förhandsvisningar ska visas." -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "Använd förhandsvisningsetikett" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." -msgstr "" -"Huruvida en standardetikett med namnet på den förhandsvisade filen ska visas." +msgstr "Huruvida en standardetikett med namnet på den förhandsvisade filen ska visas." -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "Extrawidget" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "Programtillhandahållen widget för extra alternativ." -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:783 +#: ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "Välj flera" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "Huruvida flera filer kan väljas" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "Visa dolda" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "Huruvida de dolda filerna och mapparna ska visas" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "Utför överskrivningsbekräftelse" -#: gtk/gtkfilechooser.c:807 -msgid "" -"Whether a file chooser in save mode will present an overwrite confirmation " -"dialog if necessary." -msgstr "" -"Huruvidare en filväljare i sparandeläge kommer att visa en " -"överskrivningsbekräftelsedialog om så behövs." +#: ../gtk/gtkfilechooser.c:807 +msgid "Whether a file chooser in save mode will present an overwrite confirmation dialog if necessary." +msgstr "Huruvidare en filväljare i sparandeläge kommer att visa en överskrivningsbekräftelsedialog om så behövs." -#: gtk/gtkfilechooser.c:823 -#, fuzzy +#: ../gtk/gtkfilechooser.c:823 msgid "Allow folder creation" -msgstr "Tillåt skapandet av mappar" +msgstr "Tillåt mappskapande" -#: gtk/gtkfilechooser.c:824 -msgid "" -"Whether a file chooser not in open mode will offer the user to create new " -"folders." -msgstr "" -"Huruvidare en filväljare som inte är i öppnat läge ska erbjuda användaren " -"möjligheten att skapa nya mappar." +#: ../gtk/gtkfilechooser.c:824 +msgid "Whether a file chooser not in open mode will offer the user to create new folders." +msgstr "Huruvidare en filväljare som inte är i öppnat läge ska erbjuda användaren möjligheten att skapa nya mappar." -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 +#: ../gtk/gtklayout.c:633 msgid "X position" msgstr "X-position" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 +#: ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "X-position på barnwidgeten" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 +#: ../gtk/gtklayout.c:643 msgid "Y position" msgstr "Y-position" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 +#: ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "Y-position på barnwidgeten" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "Titeln på typsnittsväljardialogen" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 +#: ../gtk/gtkfontsel.c:223 msgid "Font name" msgstr "Typsnittsnamn" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "Namnet på det valda typsnittet" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "Använd typsnitt i etikett" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" msgstr "Huruvida etiketten ritas med det valda typsnittet" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "Använd storlek i etikett" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "Huruvida etiketten ritas med den valda typsnittsstorleken" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "Visa stil" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "Huruvida den valda typsnittsstilen visas i etiketten" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "Visa storlek" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "Huruvida den valda typsnittsstorleken visas i etiketten" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:224 msgid "The string that represents this font" msgstr "Strängen som representerar detta typsnitt" -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:230 msgid "Preview text" msgstr "Förhandsvisningstext" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:231 msgid "The text to display in order to demonstrate the selected font" msgstr "Den text som ska visas för att demonstrera det valda typsnittet" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:131 msgid "Text of the frame's label" msgstr "Text på ramens etikett" -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:138 msgid "Label xalign" msgstr "X-justering av etikett" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:139 msgid "The horizontal alignment of the label" msgstr "Den horisontella justeringen av etiketten" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:147 msgid "Label yalign" msgstr "Y-justering av etikett" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:148 msgid "The vertical alignment of the label" msgstr "Den vertikala justeringen av etiketten" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:156 msgid "Frame shadow" msgstr "Ramskugga" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:157 msgid "Appearance of the frame border" msgstr "Utseende på ramkanten" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:166 msgid "A widget to display in place of the usual frame label" msgstr "En widget att visa istället för den vanliga rametiketten" -#: gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:188 msgid "Appearance of the shadow that surrounds the container" msgstr "Utseende på skuggan som omger behållaren" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:196 msgid "Handle position" msgstr "Handtagsposition" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:197 msgid "Position of the handle relative to the child widget" msgstr "Position på handtaget relativt barnwidgeten" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:205 msgid "Snap edge" msgstr "Fäst kant" -#: gtk/gtkhandlebox.c:201 -msgid "" -"Side of the handlebox that's lined up with the docking point to dock the " -"handlebox" -msgstr "" -"Sida på handtaget som är jämsides med dockningspunkten för att docka " -"handtaget" +#: ../gtk/gtkhandlebox.c:206 +msgid "Side of the handlebox that's lined up with the docking point to dock the handlebox" +msgstr "Sida på handtaget som är jämsides med dockningspunkten för att docka handtaget" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:214 msgid "Snap edge set" msgstr "Fäst kant inställd" -#: gtk/gtkhandlebox.c:210 -msgid "" -"Whether to use the value from the snap_edge property or a value derived from " -"handle_position" -msgstr "" -"Huruvida värdet från egenskapen snap_edge eller ett värde härlett från " -"handle_position ska användas" +#: ../gtk/gtkhandlebox.c:215 +msgid "Whether to use the value from the snap_edge property or a value derived from handle_position" +msgstr "Huruvida värdet från egenskapen snap_edge eller ett värde härlett från handle_position ska användas" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:222 msgid "Child Detached" msgstr "Barn frånkopplat" -#: gtk/gtkhandlebox.c:218 -msgid "" -"A boolean value indicating whether the handlebox's child is attached or " -"detached." -msgstr "" -"Ett booleskt värde som indikerar huruvida handlebox:ens barn är fäst eller " -"frånkopplat." +#: ../gtk/gtkhandlebox.c:223 +msgid "A boolean value indicating whether the handlebox's child is attached or detached." +msgstr "Ett booleskt värde som indikerar huruvida handlebox:ens barn är fäst eller frånkopplat." -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:580 msgid "Selection mode" msgstr "Markeringsläge" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:581 msgid "The selection mode" msgstr "Markeringsläget" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:599 msgid "Pixbuf column" msgstr "Pixbufkolumn" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:600 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Modellkolumn som används för att hämta ikonpixbufen från" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:618 msgid "Model column used to retrieve the text from" msgstr "Modellkolumn som används för att hämta texten från" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:637 msgid "Markup column" msgstr "Markupkolumn" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:638 msgid "Model column used to retrieve the text if using Pango markup" msgstr "Modellkolumn som används för att hämta texten om Pango-markup används" -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:645 msgid "Icon View Model" msgstr "Ikonvymodell" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:646 msgid "The model for the icon view" msgstr "Modellen för ikonvyn" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:662 msgid "Number of columns" msgstr "Antal kolumner" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:663 msgid "Number of columns to display" msgstr "Antalet kolumner att visa" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:680 msgid "Width for each item" msgstr "Bredd på varje objekt" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:681 msgid "The width used for each item" msgstr "Bredden som används på varje objekt" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:697 msgid "Space which is inserted between cells of an item" msgstr "Utrymme som infogas mellan cellerna i ett objekt" -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:712 msgid "Row Spacing" msgstr "Radutrymme" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:713 msgid "Space which is inserted between grid rows" msgstr "Utrymme som infogas mellan rader i rutnät" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:728 msgid "Column Spacing" msgstr "Kolumnutrymme" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:729 msgid "Space which is inserted between grid columns" msgstr "Utrymme som infogas mellan kolumner i rutnät" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:744 msgid "Margin" msgstr "Marginal" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:745 msgid "Space which is inserted at the edges of the icon view" msgstr "Utrymme som infogas vid kanterna på ikonvyn" -#: gtk/gtkiconview.c:730 -#, fuzzy +#: ../gtk/gtkiconview.c:760 msgid "Item Orientation" -msgstr "Orientering" +msgstr "Objektorientering" -#: gtk/gtkiconview.c:731 -msgid "" -"How the text and icon of each item are positioned relative to each other" +#: ../gtk/gtkiconview.c:761 +msgid "How the text and icon of each item are positioned relative to each other" msgstr "Hur texten och ikonen för varje objekt positioneras relativt varandra" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:777 +#: ../gtk/gtktreeview.c:1025 +#: ../gtk/gtktreeviewcolumn.c:358 msgid "Reorderable" msgstr "Omarrangeringsbar" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:778 +#: ../gtk/gtktreeview.c:1026 msgid "View is reorderable" msgstr "Vyn är omarrangeringsbar" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:785 +#: ../gtk/gtktreeview.c:1176 msgid "Tooltip Column" msgstr "Verktygstipskolumn" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:786 msgid "The column in the model containing the tooltip texts for the items" msgstr "Kolumnen för modellen som innehåller verktygstipstexterna för objekten" -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:803 msgid "Item Padding" msgstr "Objektutfyllnad" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:804 msgid "Padding around icon view items" msgstr "Utfyllnad runt objekt i ikonvy" -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:817 msgid "Selection Box Color" msgstr "Färg på markeringsruta" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:818 msgid "Color of the selection box" msgstr "Färgen på markeringsrutan" -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:824 msgid "Selection Box Alpha" msgstr "Alfavärde för markeringsrutan" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:825 msgid "Opacity of the selection box" msgstr "Opakhet för markeringsrutan" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:233 +#: ../gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:234 +#: ../gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "En GdkPixbuf att visa" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:241 +#: ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:220 msgid "Filename" msgstr "Filnamn" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:242 +#: ../gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "Filnamn att läsa in och visa" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:251 +#: ../gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "Standard-ID för en standardbild att visa" -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:258 msgid "Icon set" msgstr "Ikonsamling" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:259 msgid "Icon set to display" msgstr "Ikonsamling att visa" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:266 +#: ../gtk/gtkscalebutton.c:230 +#: ../gtk/gtktoolbar.c:519 +#: ../gtk/gtktoolpalette.c:1030 msgid "Icon size" msgstr "Ikonstorlek" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:267 msgid "Symbolic size to use for stock icon, icon set or named icon" -msgstr "" -"Symbolisk storlek att använda för standardikon, ikonsamling eller namngiven " -"ikon" +msgstr "Symbolisk storlek att använda för standardikon, ikonsamling eller namngiven ikon" -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:283 msgid "Pixel size" msgstr "Bildpunktsstorlek" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:284 msgid "Pixel size to use for named icon" msgstr "Bildpunktsstorlek att använda för namngiven ikon" -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:292 msgid "Animation" msgstr "Animering" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:293 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation att visa" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:333 +#: ../gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "Lagringstyp" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:334 +#: ../gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "Representationen som används för bilddata" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Bildwidget att visa vid sidan om menytexten" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" -msgstr "" -"Huruvida text i etiketten ska användas för att skapa ett standardmenyobjekt" +msgstr "Huruvida text i etiketten ska användas för att skapa ett standardmenyobjekt" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:198 +#: ../gtk/gtkmenu.c:534 msgid "Accel Group" msgstr "Genvägsgrupp" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "Genvägsgruppen att använda för standardsnabbtangenter" -#: gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "Visa menybilder" - -#: gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "Huruvida bilder ska visas i menyer" - -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 +#: ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "Meddelandetyp" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 +#: ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "Typen av meddelande" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Bredd på kanten runt innehållsområdet" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "Utrymme mellan elementen i området" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Bredd på kanten runt åtgärdsområdet" # Se http://bugzilla.gnome.org/show_bug.cgi?id=148437 -- detta ska vara # "skärm" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 +#: ../gtk/gtkinvisible.c:90 +#: ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:279 +#: ../gtk/gtkwindow.c:730 msgid "Screen" msgstr "Skärm" -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:91 +#: ../gtk/gtkwindow.c:731 msgid "The screen where this window will be displayed" msgstr "Den skärm där detta fönster kommer att visas" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "Texten på etiketten" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "En lista med stilattribut att tillämpa på texten i etiketten" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:596 +#: ../gtk/gtktexttag.c:335 +#: ../gtk/gtktextview.c:701 msgid "Justification" msgstr "Justering" -#: gtk/gtklabel.c:579 -msgid "" -"The alignment of the lines in the text of the label relative to each other. " -"This does NOT affect the alignment of the label within its allocation. See " -"GtkMisc::xalign for that" -msgstr "" -"Justering av raderna i etikettens text relativt varandra. Detta påverkar " -"INTE justeringen av etiketten inom dess allokering. Se GtkMisc::xalign för " -"det" +#: ../gtk/gtklabel.c:597 +msgid "The alignment of the lines in the text of the label relative to each other. This does NOT affect the alignment of the label within its allocation. See GtkMisc::xalign for that" +msgstr "Justering av raderna i etikettens text relativt varandra. Detta påverkar INTE justeringen av etiketten inom dess allokering. Se GtkMisc::xalign för det" -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Mönster" -#: gtk/gtklabel.c:588 -msgid "" -"A string with _ characters in positions correspond to characters in the text " -"to underline" -msgstr "" -"En sträng med \"_\"-tecken i positioner som motsvarar tecken i texten som " -"ska understrykas" +#: ../gtk/gtklabel.c:606 +msgid "A string with _ characters in positions correspond to characters in the text to underline" +msgstr "En sträng med \"_\"-tecken i positioner som motsvarar tecken i texten som ska understrykas" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Radbryt" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "Om detta är angivet kommer texten att radbrytas om den blir för bred" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Radbrytsläge" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "Om brytning är inställd, kontrollera hur radbrytning hanteras" -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Markerbar" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Huruvida texten i etiketten kan markeras med musen" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Snabbtangent" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "Snabbtangenten för denna etikett" -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Snabbtangentswidget" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "Den widget som ska aktiveras då etikettens snabbtangent trycks ned" -#: gtk/gtklabel.c:682 -msgid "" -"The preferred place to ellipsize the string, if the label does not have " -"enough room to display the entire string" -msgstr "" -"Den föredragna platsen att elliptisera strängen, om etiketten inte har " -"tillräckligt med utrymme för att visa hela strängen" +#: ../gtk/gtklabel.c:700 +msgid "The preferred place to ellipsize the string, if the label does not have enough room to display the entire string" +msgstr "Den föredragna platsen att elliptisera strängen, om etiketten inte har tillräckligt med utrymme för att visa hela strängen" -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Enkelradsläge" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Huruvida etiketten är i enkelradsläge" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Vinkel" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Vinkel som etiketten roteras" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "Den önskade maximala bredden på etiketten, i antal tecken" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Spåra besökta länkar" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Huruvida besökta länkar ska spåras" -#: gtk/gtklabel.c:904 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "Huruvida innehållet av en valbar etikett väljs när den fokuseras" - -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "Horisontell justering" - -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "GtkAdjustment på den horisontella positionen" - -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "Vertikal justering" - -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "GtkAdjustment på den vertikala positionen" - -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 +#: ../gtk/gtklayout.c:659 +#: ../gtk/gtktreeviewcolumn.c:258 msgid "Width" msgstr "Bredd" -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "Bredden på layouten" -#: gtk/gtklayout.c:650 +#: ../gtk/gtklayout.c:668 msgid "Height" msgstr "Höjd" -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "Höjden på layouten" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:174 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:175 msgid "The URI bound to this button" msgstr "Den URI som bundits till denna knapp" -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:189 msgid "Visited" msgstr "Besökt" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:190 msgid "Whether this link has been visited." msgstr "Huruvida denna länk har besökts." -#: gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:171 msgid "Pack direction" msgstr "Packningsriktning" -#: gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:172 msgid "The pack direction of the menubar" msgstr "Packningsriktningen på menyraden" -#: gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:188 msgid "Child Pack direction" msgstr "Barnpackningsriktning" -#: gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:189 msgid "The child pack direction of the menubar" msgstr "Barnpackningsriktningen på menyraden" -#: gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:198 msgid "Style of bevel around the menubar" msgstr "Stil på avfasning runt menyraden" -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 +#: ../gtk/gtkmenubar.c:205 +#: ../gtk/gtktoolbar.c:569 msgid "Internal padding" msgstr "Intern utfyllnad" -#: gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:206 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Mängd kantutrymme mellan skuggan på menyraden och menyobjekten" -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "Fördröjning innan utfällningsmenyer visas" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "Fördröjning innan undermenyer till en menyrad visas" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:520 msgid "The currently selected menu item" msgstr "Det för närvarande markerade menyobjektet" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:535 msgid "The accel group holding accelerators for the menu" msgstr "Genvägsgruppen som innehåller genvägar för menyn" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:549 +#: ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Genvägssökväg" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:550 msgid "An accel path used to conveniently construct accel paths of child items" -msgstr "" -"En genvägssökväg som använd för att bekvämt skapa genvägssökvägar för " -"barnobjekt" +msgstr "En genvägssökväg som använd för att bekvämt skapa genvägssökvägar för barnobjekt" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:566 msgid "Attach Widget" msgstr "Fäst widget" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:567 msgid "The widget the menu is attached to" msgstr "Widgeten som menyn är fäst till" -#: gtk/gtkmenu.c:581 -msgid "" -"A title that may be displayed by the window manager when this menu is torn-" -"off" +#: ../gtk/gtkmenu.c:575 +msgid "A title that may be displayed by the window manager when this menu is torn-off" msgstr "En titel som kan visas av fönsterhanteraren då denna meny tas loss" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:589 msgid "Tearoff State" msgstr "Löstagbarhetstillstånd" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:590 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Ett booleskt värde som indikerar huruvida menyn har tagits loss" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:604 msgid "Monitor" msgstr "Skärm" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:605 msgid "The monitor the menu will be popped up on" msgstr "Skärmen som menyn ska visas på" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:611 msgid "Vertical Padding" msgstr "Vertikal utfyllnad" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:612 msgid "Extra space at the top and bottom of the menu" msgstr "Extra utrymme överst och nederst i menyn" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:634 msgid "Reserve Toggle Size" msgstr "Reservera växlingsstorlek" -#: gtk/gtkmenu.c:641 -msgid "" -"A boolean that indicates whether the menu reserves space for toggles and " -"icons" -msgstr "" -"Ett booleskt värde som indikerar huruvida menyn reserverar utrymme för " -"växlingar och ikoner" +#: ../gtk/gtkmenu.c:635 +msgid "A boolean that indicates whether the menu reserves space for toggles and icons" +msgstr "Ett booleskt värde som indikerar huruvida menyn reserverar utrymme för växlingar och ikoner" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:641 msgid "Horizontal Padding" msgstr "Horisontell utfyllnad" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:642 msgid "Extra space at the left and right edges of the menu" msgstr "Extra utrymme på vänstra och högra kanterna av menyn" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:650 msgid "Vertical Offset" msgstr "Vertikalt avstånd" -#: gtk/gtkmenu.c:657 -msgid "" -"When the menu is a submenu, position it this number of pixels offset " -"vertically" -msgstr "" -"Positionera menyn med vertikalt avstånd i detta antal bildpunkter när den är " -"en undermeny" +#: ../gtk/gtkmenu.c:651 +msgid "When the menu is a submenu, position it this number of pixels offset vertically" +msgstr "Positionera menyn med vertikalt avstånd i detta antal bildpunkter när den är en undermeny" -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:659 msgid "Horizontal Offset" msgstr "Horisontellt avstånd" -#: gtk/gtkmenu.c:666 -msgid "" -"When the menu is a submenu, position it this number of pixels offset " -"horizontally" -msgstr "" -"Positionera menyn med horisontellt avstånd i detta antal bildpunkter när den " -"är en undermeny" +#: ../gtk/gtkmenu.c:660 +msgid "When the menu is a submenu, position it this number of pixels offset horizontally" +msgstr "Positionera menyn med horisontellt avstånd i detta antal bildpunkter när den är en undermeny" -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:668 msgid "Double Arrows" msgstr "Dubbelpilar" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:669 msgid "When scrolling, always show both arrows." msgstr "Visa alltid båda pilarna vid rullning." -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:682 msgid "Arrow Placement" msgstr "Pilplacering" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:683 msgid "Indicates where scroll arrows should be placed" msgstr "Indikerar var rullningspilar ska placeras" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:691 msgid "Left Attach" msgstr "Vänsterfäste" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 +#: ../gtk/gtkmenu.c:692 +#: ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "Det kolumnnummer som vänster sida av barnet ska fästas vid" -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:699 msgid "Right Attach" msgstr "Högerfäste" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:700 msgid "The column number to attach the right side of the child to" msgstr "Det kolumnnummer som höger sida av barnet ska fästas vid" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:707 msgid "Top Attach" msgstr "Övre fäste" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:708 msgid "The row number to attach the top of the child to" msgstr "Det radnummer som överkanten på barnet ska fästas vid" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:715 msgid "Bottom Attach" msgstr "Nedre fäste" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:716 +#: ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "Det radnummer som nederkanten på barnet ska fästas vid" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:730 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "Godtycklig konstant för att skala ned storleken för rullningspilen" -#: gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "Kan ändra snabbtangenter" - -#: gtk/gtkmenu.c:824 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "" -"Huruvida menysnabbtangenter kan ändras genom att en tangent trycks ovanför " -"menyobjektet" - -#: gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "Fördröjning innan undermenyer visas" - -#: gtk/gtkmenu.c:830 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "" -"Minsta tid som pekaren måste stanna över ett menyobjekt innan undermenyn " -"visas" - -#: gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "Fördröjning innan en undermeny döljs" - -#: gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "Tiden innan en undermeny ska döljas när pekaren rör sig mot undermenyn" - -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "Högerjusterad" -#: gtk/gtkmenuitem.c:286 -msgid "" -"Sets whether the menu item appears justified at the right side of a menu bar" -msgstr "" -"Ställer in huruvida menyobjektet visas justerat på höger sida av en menyrad" +#: ../gtk/gtkmenuitem.c:282 +msgid "Sets whether the menu item appears justified at the right side of a menu bar" +msgstr "Ställer in huruvida menyobjektet visas justerat på höger sida av en menyrad" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "Undermeny" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "Undermenyn kopplad till menyobjektet, eller NULL om den inte har någon" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "Ställer in genvägssökvägen till menyobjektet" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "Texten på barnetiketten" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" -msgstr "" -"Mängd utrymme som används av pil, relativ till menyobjektets typsnittsstorlek" +msgstr "Mängd utrymme som används av pil, relativ till menyobjektets typsnittsstorlek" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "Bredd i antal tecken" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "Den kortaste bredden på menyobjektet, i antal tecken" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:362 msgid "Take Focus" msgstr "Ta fokus" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:363 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Ett booleskt värde som avgör huruvida menyn tar tangentbordsfokuset" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:246 msgid "Menu" msgstr "Meny" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:247 msgid "The dropdown menu" msgstr "Nedfällningsmenyn" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:184 msgid "Image/label border" msgstr "Bild-/etikettkant" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:185 msgid "Width of border around the label and image in the message dialog" msgstr "Bredd på ramen runt etiketten och bilden i meddelandedialogen" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:209 msgid "Message Buttons" msgstr "Meddelandeknappar" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:210 msgid "The buttons shown in the message dialog" msgstr "Knapparna som visas i meddelandedialogen" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:227 msgid "The primary text of the message dialog" msgstr "Primära texten för meddelandedialogen" -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:242 msgid "Use Markup" msgstr "Använd markup" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:243 msgid "The primary text of the title includes Pango markup." msgstr "Primära texten för titeln inkluderar Pango-markup." -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:257 msgid "Secondary Text" msgstr "Sekundär text" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:258 msgid "The secondary text of the message dialog" msgstr "Sekundära texten för meddelandedialogen" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:273 msgid "Use Markup in secondary" msgstr "Använd markup i sekundär" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:274 msgid "The secondary text includes Pango markup." msgstr "Sekundär text som inkluderar Pango-markup." -#: gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:288 msgid "Image" msgstr "Bild" -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:289 msgid "The image" msgstr "Bilden" -#: gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:305 msgid "Message area" msgstr "Meddelandeyta" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:306 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "GtkVBox som innehåller dialogrutans primära och sekundära etiketter" -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:91 msgid "Y align" msgstr "Y-justering" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "Vertikal justering, från 0 (överst) till 1 (nederst)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:101 msgid "X pad" msgstr "X-utfyllnad" -#: gtk/gtkmisc.c:102 -msgid "" -"The amount of space to add on the left and right of the widget, in pixels" -msgstr "" -"Mängden utrymme att lägga till på vänster och höger sida, i bildpunkter" +#: ../gtk/gtkmisc.c:102 +msgid "The amount of space to add on the left and right of the widget, in pixels" +msgstr "Mängden utrymme att lägga till på vänster och höger sida, i bildpunkter" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:111 msgid "Y pad" msgstr "Y-utfyllnad" -#: gtk/gtkmisc.c:112 -msgid "" -"The amount of space to add on the top and bottom of the widget, in pixels" -msgstr "" -"Mängden utrymme att lägga till på vänster och höger sida, i bildpunkter" +#: ../gtk/gtkmisc.c:112 +msgid "The amount of space to add on the top and bottom of the widget, in pixels" +msgstr "Mängden utrymme att lägga till på vänster och höger sida, i bildpunkter" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "Förälder" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "Föräldrafönstret" -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:167 msgid "Is Showing" msgstr "Visar" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "Visar vi en dialogruta" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:176 msgid "The screen where this window will be displayed." msgstr "Den skärm där detta fönster kommer att visas." -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:692 msgid "Page" msgstr "Sida" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:693 msgid "The index of the current page" msgstr "Indexet för den aktuella sidan" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:701 msgid "Tab Position" msgstr "Flikposition" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:702 msgid "Which side of the notebook holds the tabs" msgstr "Vilken sida på flikhäftet som har flikarna" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:709 msgid "Show Tabs" msgstr "Visa flikar" -#: gtk/gtknotebook.c:613 -#, fuzzy +#: ../gtk/gtknotebook.c:710 msgid "Whether tabs should be shown" -msgstr "Huruvida flikar ska visas eller inte" +msgstr "Huruvida flikar ska visas" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:716 msgid "Show Border" msgstr "Visa ram" -#: gtk/gtknotebook.c:620 -#, fuzzy +#: ../gtk/gtknotebook.c:717 msgid "Whether the border should be shown" -msgstr "Huruvida ramen ska visas eller inte" +msgstr "Huruvida ramen ska visas" -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:723 msgid "Scrollable" msgstr "Rullningsbar" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:724 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" -msgstr "" -"Om SANT kommer rullningspilar att läggas till om det finns fler flikar än " -"vad som ryms" +msgstr "Om SANT kommer rullningspilar att läggas till om det finns fler flikar än vad som ryms" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:730 msgid "Enable Popup" msgstr "Använd popupmeny" -#: gtk/gtknotebook.c:634 -msgid "" -"If TRUE, pressing the right mouse button on the notebook pops up a menu that " -"you can use to go to a page" -msgstr "" -"Om SANT kommer ett tryck på höger musknapp på flikhäftet att visa en " -"popupmeny som du kan använda för att gå till en sida" +#: ../gtk/gtknotebook.c:731 +msgid "If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page" +msgstr "Om SANT kommer ett tryck på höger musknapp på flikhäftet att visa en popupmeny som du kan använda för att gå till en sida" -#: gtk/gtknotebook.c:648 -#, fuzzy +#: ../gtk/gtknotebook.c:745 msgid "Group Name" -msgstr "Grupp-id" +msgstr "Gruppnamn" -#: gtk/gtknotebook.c:649 +#: ../gtk/gtknotebook.c:746 #, fuzzy msgid "Group name for tab drag and drop" msgstr "Grupp för flikarnas drag-och-släpp" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:753 msgid "Tab label" msgstr "Fliketikett" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed on the child's tab label" msgstr "Strängen som visas på barnets fliketikett" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:760 msgid "Menu label" msgstr "Menyetikett" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:761 msgid "The string displayed in the child's menu entry" msgstr "Strängen som visas i barnets menyobjekt" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:774 msgid "Tab expand" msgstr "Flikexpandering" -#: gtk/gtknotebook.c:678 -#, fuzzy +#: ../gtk/gtknotebook.c:775 msgid "Whether to expand the child's tab" -msgstr "Huruvida barnets flik ska expanderas eller inte" +msgstr "Huruvida barnets flik ska expanderas" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:781 msgid "Tab fill" msgstr "Flikfyllning" -#: gtk/gtknotebook.c:685 -#, fuzzy +#: ../gtk/gtknotebook.c:782 msgid "Whether the child's tab should fill the allocated area" -msgstr "Huruvida barnets flik ska fylla det allokerade området eller inte" +msgstr "Huruvida barnets flik ska fylla det allokerade området" -#: gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:795 msgid "Tab pack type" msgstr "Flikpackningstyp" -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:802 msgid "Tab reorderable" msgstr "Omarrangeringsbar flik" -#: gtk/gtknotebook.c:699 -#, fuzzy +#: ../gtk/gtknotebook.c:803 msgid "Whether the tab is reorderable by user action" -msgstr "Huruvida fliken är omarrangeringsbar av en användaråtgärd eller inte" +msgstr "Huruvida fliken är omarrangeringsbar av en användaråtgärd" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:809 msgid "Tab detachable" msgstr "Flik löstagbar" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:810 msgid "Whether the tab is detachable" msgstr "Huruvida fliken är möjlig att koppla loss." -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:825 +#: ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Sekundär baklängesstegare" -#: gtk/gtknotebook.c:722 -msgid "" -"Display a second backward arrow button on the opposite end of the tab area" +#: ../gtk/gtknotebook.c:826 +msgid "Display a second backward arrow button on the opposite end of the tab area" msgstr "Visa en andra bakåtpil-knapp på motsatt sida av flikområdet" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:841 +#: ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Sekundär framlängesstegare" -#: gtk/gtknotebook.c:738 -msgid "" -"Display a second forward arrow button on the opposite end of the tab area" +#: ../gtk/gtknotebook.c:842 +msgid "Display a second forward arrow button on the opposite end of the tab area" msgstr "Visa en andra framåtpil-knapp på motsatt sida av flikområdet" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:856 +#: ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Baklängesstegare" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:857 +#: ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Visa standardknappen med baklängespil" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:871 +#: ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Framåtstegare" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:872 +#: ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Visa standardknappen med framåtpil" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:886 msgid "Tab overlap" msgstr "Fliköverlappning" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:887 msgid "Size of tab overlap area" msgstr "Storlek på fliköverlappningsområdet" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:902 msgid "Tab curvature" msgstr "Flikdeformering" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:903 msgid "Size of tab curvature" msgstr "Storlek på flikdeformering" -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:919 msgid "Arrow spacing" msgstr "Pilutrymme" -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:920 msgid "Scroll arrow spacing" msgstr "Utrymme för rullningspil" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 +#: ../gtk/gtkstatusicon.c:319 +#: ../gtk/gtktrayicon-x11.c:124 msgid "Orientation" msgstr "Orientering" -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:64 msgid "The orientation of the orientable" msgstr "Orienteringen för orientable" -#: gtk/gtkpaned.c:271 -msgid "" -"Position of paned separator in pixels (0 means all the way to the left/top)" -msgstr "" -"Position på panelavgränsare i bildpunkter (0 betyder längst till vänster/" -"överst)" +#: ../gtk/gtkpaned.c:328 +msgid "Position of paned separator in pixels (0 means all the way to the left/top)" +msgstr "Position på panelavgränsare i bildpunkter (0 betyder längst till vänster/överst)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:337 msgid "Position Set" msgstr "Inställd position" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:338 msgid "TRUE if the Position property should be used" msgstr "SANT om positionsegenskapen ska användas" -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:344 msgid "Handle Size" msgstr "Storlek på handtag" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:345 msgid "Width of handle" msgstr "Bredd på handtag" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:361 msgid "Minimal Position" msgstr "Minimal position" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:362 msgid "Smallest possible value for the \"position\" property" msgstr "Minsta möjliga värde för egenskapen \"position\"" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:379 msgid "Maximal Position" msgstr "Maximal position" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:380 msgid "Largest possible value for the \"position\" property" msgstr "Största möjliga värde för egenskapen \"position\"" -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:397 msgid "Resize" msgstr "Ändra storlek" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:398 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "Om SANT expanderar barnet och krymper tillsammans med panelwidgeten" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:413 msgid "Shrink" msgstr "Krymp" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:414 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Om SANT kan barnet göras mindre än dess begäran" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:177 +#: ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "Inbäddad" -#: gtk/gtkplug.c:172 -#, fuzzy +#: ../gtk/gtkplug.c:178 msgid "Whether the plug is embedded" -msgstr "Huruvida pluggen är inbäddad eller inte" +msgstr "Huruvida pluggen är inbäddad" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:192 msgid "Socket Window" msgstr "Uttagsfönster" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:193 msgid "The window of the socket the plug is embedded in" msgstr "Fönstret för uttaget som pluggen är inbäddad i" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkprinter.c:126 msgid "Name of the printer" msgstr "Namn på skrivaren" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:132 msgid "Backend" msgstr "Bakände" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "Bakände för skrivaren" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "Är virtuell" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "FALSE om detta representerar en riktig hårdvaruskrivare" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "Accepterar PDF" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "TRUE om denna skrivare kan ta emot PDF" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "Accepterar PostScript" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "TRUE om denna skrivare kan ta emot PostScript" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:160 msgid "State Message" msgstr "Tillståndsmeddelande" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "Sträng som ger aktuellt tillstånd för skrivaren" -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "Plats" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:168 msgid "The location of the printer" msgstr "Platsen för skrivaren" # Osäker. -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "Ikonnamnet att använda för skrivaren" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:181 msgid "Job Count" msgstr "Jobbantal" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "Antalet jobb som finns i skrivarens kö" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "Pausad skrivare" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "TRUE om denna skrivare är pausad" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "Accepterar jobb" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "TRUE om denna skrivare accepterar nya jobb" -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "Källalternativ" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "Den PrinterOption som står bakom denna widget" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "Titel på utskriftsjobbet" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "Skrivare" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "Skrivare att skriva ut jobbet till" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "Inställningar" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "Skrivarinställningar" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:153 +#: ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Sidinställning" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 +#: ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "Spåra utskriftsstatus" -#: gtk/gtkprintjob.c:152 -msgid "" -"TRUE if the print job will continue to emit status-changed signals after the " -"print data has been sent to the printer or print server." -msgstr "" -"TRUE om utskriftsjobbet ska fortsätta att skicka statusändrade signaler " -"efter att utskriftsdata har skickats till skrivaren eller utskriftsservern." +#: ../gtk/gtkprintjob.c:163 +msgid "TRUE if the print job will continue to emit status-changed signals after the print data has been sent to the printer or print server." +msgstr "TRUE om utskriftsjobbet ska fortsätta att skicka statusändrade signaler efter att utskriftsdata har skickats till skrivaren eller utskriftsservern." -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1005 msgid "Default Page Setup" msgstr "Standardsidinställning" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1006 msgid "The GtkPageSetup used by default" msgstr "GtkPageSetup som används som standard" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1024 +#: ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Utskriftsinställningar" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1025 +#: ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "GtkPrintSettings som används för att initiera dialogen" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1043 msgid "Job Name" msgstr "Jobbnamn" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1044 msgid "A string used for identifying the print job." msgstr "En sträng som används för att identifiera utskriftsjobbet." -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1068 msgid "Number of Pages" msgstr "Antal sidor" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1069 msgid "The number of pages in the document." msgstr "Antalet sidor i dokumentet." -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1090 +#: ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Aktuell sida" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1091 +#: ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "Aktuella sidan i dokumentet" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1112 msgid "Use full page" msgstr "Använd hela sidan" -#: gtk/gtkprintoperation.c:1113 -msgid "" -"TRUE if the origin of the context should be at the corner of the page and " -"not the corner of the imageable area" -msgstr "" -"TRUE om sammanhangets ursprung bör vara hörnet av sidan och inte hörnet av " -"det bildmässiga området" +#: ../gtk/gtkprintoperation.c:1113 +msgid "TRUE if the origin of the context should be at the corner of the page and not the corner of the imageable area" +msgstr "TRUE om sammanhangets ursprung bör vara hörnet av sidan och inte hörnet av det bildmässiga området" -#: gtk/gtkprintoperation.c:1134 -msgid "" -"TRUE if the print operation will continue to report on the print job status " -"after the print data has been sent to the printer or print server." -msgstr "" -"TRUE om utskriftsoperationen ska fortsätta att rapportera om statusen för " -"utskriftsjobbet efter att utskriftsdata har skickats till skrivaren eller " -"utskriftsservern." +#: ../gtk/gtkprintoperation.c:1134 +msgid "TRUE if the print operation will continue to report on the print job status after the print data has been sent to the printer or print server." +msgstr "TRUE om utskriftsoperationen ska fortsätta att rapportera om statusen för utskriftsjobbet efter att utskriftsdata har skickats till skrivaren eller utskriftsservern." -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1151 msgid "Unit" msgstr "Enhet" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1152 msgid "The unit in which distances can be measured in the context" msgstr "Enheten som avstånd kan mätas efter i sammanhanget" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1169 msgid "Show Dialog" msgstr "Visa dialog" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1170 msgid "TRUE if a progress dialog is shown while printing." msgstr "TRUE om en förloppsdialog visas vid utskrift." -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1193 msgid "Allow Async" msgstr "Tillåt asynkront" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1194 msgid "TRUE if print process may run asynchronous." msgstr "TRUE om en utskriftsprocess kan köras asynkront." -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1216 +#: ../gtk/gtkprintoperation.c:1217 msgid "Export filename" msgstr "Exportera filnamn" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1231 msgid "Status" msgstr "Status" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1232 msgid "The status of the print operation" msgstr "Statusen för utskriftsåtgärden" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1252 msgid "Status String" msgstr "Statussträng" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1253 msgid "A human-readable description of the status" msgstr "En läsbar beskrivning av statusen" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1271 msgid "Custom tab label" msgstr "Anpassad fliketikett" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1272 msgid "Label for the tab containing custom widgets." msgstr "Etikett för fliken som innehåller anpassade widgetar." -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1287 +#: ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "Stöd för markering" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1288 msgid "TRUE if the print operation will support print of selection." msgstr "TRUE om utskriftsåtgärden har stöd för utskrift av markering." -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1304 +#: ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "Har markering" -#: gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1305 msgid "TRUE if a selection exists." msgstr "TRUE om en markering finns." -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1320 +#: ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "Konfiguration av sidinbäddning" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1321 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" -msgstr "" -"TRUE om kombinationsrutor i sidkonfigurationen är inbäddade i GtkPrintDialog" +msgstr "TRUE om kombinationsrutor i sidkonfigurationen är inbäddade i GtkPrintDialog" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1342 msgid "Number of Pages To Print" msgstr "Antal sidor att skriva ut" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1343 msgid "The number of pages that will be printed." msgstr "Antalet sidor som ska skrivas ut." -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "GtkPageSetup att använda" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "Markerad skrivare" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "GtkPrinter som är markerad" -#: gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:332 #, fuzzy msgid "Manual Capabilities" msgstr "Manuella förmågor" -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "Förmågor som programmet kan hantera" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:342 msgid "Whether the dialog supports selection" msgstr "Huruvida dialogrutan har stöd för markering" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:350 msgid "Whether the application has a selection" msgstr "Huruvida programmet har en markering" -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" -msgstr "" -"TRUE om kombinationsrutor i sidkonfigurationen är inbäddade i " -"GtkPrintUnixDialog" +msgstr "TRUE om kombinationsrutor i sidkonfigurationen är inbäddade i GtkPrintUnixDialog" -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "Andel" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "Andelen av det totala arbetet som har färdigställts" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "Pulssteg" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" -msgstr "" -"Andelen av det totala förloppet att flytta det studsande blocket när det " -"pulsas" +msgstr "Andelen av det totala förloppet att flytta det studsande blocket när det pulsas" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "Text att visa i förloppsmätaren" -#: gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "Visa text" -#: gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "Huruvida förloppet visas som text." -#: gtk/gtkprogressbar.c:181 -msgid "" -"The preferred place to ellipsize the string, if the progress bar does not " -"have enough room to display the entire string, if at all." -msgstr "" -"Den föredragna platsen att elliptisera strängen, om det alls ska göras, om " -"förloppsmätaren inte har tillräckligt med utrymme för att visa hela strängen." +#: ../gtk/gtkprogressbar.c:208 +msgid "The preferred place to ellipsize the string, if the progress bar does not have enough room to display the entire string, if at all." +msgstr "Den föredragna platsen att elliptisera strängen, om det alls ska göras, om förloppsmätaren inte har tillräckligt med utrymme för att visa hela strängen." -#: gtk/gtkprogressbar.c:188 +#: ../gtk/gtkprogressbar.c:215 #, fuzzy msgid "X spacing" msgstr "X-utrymme" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "Extra utrymme tillämpas till bredden för en förloppsmätare." -#: gtk/gtkprogressbar.c:194 +#: ../gtk/gtkprogressbar.c:221 #, fuzzy msgid "Y spacing" msgstr "YUtrymme" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "Extra utrymme tillämpas till höjden för en förloppsmätare." -#: gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:235 #, fuzzy msgid "Minimum horizontal bar width" msgstr "Minsta horisontella stapelbredd" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:236 msgid "The minimum horizontal width of the progress bar" msgstr "Den minsta horisontella bredden för förloppsmätaren" -#: gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:248 #, fuzzy msgid "Minimum horizontal bar height" msgstr "Minsta horisontella stapelhöjd" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:249 msgid "Minimum horizontal height of the progress bar" msgstr "Minsta horisontella höjden för förloppsmätaren" -#: gtk/gtkprogressbar.c:234 +#: ../gtk/gtkprogressbar.c:261 #, fuzzy msgid "Minimum vertical bar width" msgstr "Minsta vertikala stapelbredd" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:262 msgid "The minimum vertical width of the progress bar" msgstr "Den minsta vertikala bredden för förloppsmätaren" -#: gtk/gtkprogressbar.c:247 +#: ../gtk/gtkprogressbar.c:274 #, fuzzy msgid "Minimum vertical bar height" msgstr "Minsta vertikala stapelhöjd" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:275 msgid "The minimum vertical height of the progress bar" msgstr "Den minsta vertikala höjden för förloppsmätaren" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:118 msgid "The value" msgstr "Värdet" -#: gtk/gtkradioaction.c:119 -msgid "" -"The value returned by gtk_radio_action_get_current_value() when this action " -"is the current action of its group." -msgstr "" -"Värdet som returneras av gtk_radio_action_get_current_value() då denna " -"åtgärd är den aktuella åtgärden i sin grupp." +#: ../gtk/gtkradioaction.c:119 +msgid "The value returned by gtk_radio_action_get_current_value() when this action is the current action of its group." +msgstr "Värdet som returneras av gtk_radio_action_get_current_value() då denna åtgärd är den aktuella åtgärden i sin grupp." -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 +#: ../gtk/gtkradioaction.c:135 +#: ../gtk/gtkradiobutton.c:163 +#: ../gtk/gtkradiomenuitem.c:373 +#: ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "Grupp" -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "Den radioåtgärd vars grupp denna åtgärd tillhör." -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:151 msgid "The current value" msgstr "Det aktuella värdet" -#: gtk/gtkradioaction.c:152 -msgid "" -"The value property of the currently active member of the group to which this " -"action belongs." -msgstr "" -"Värdet för den för närvarande aktiva medlemmen av gruppen till vilken denna " -"åtgärd hör till." +#: ../gtk/gtkradioaction.c:152 +msgid "The value property of the currently active member of the group to which this action belongs." +msgstr "Värdet för den för närvarande aktiva medlemmen av gruppen till vilken denna åtgärd hör till." -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:164 msgid "The radio button whose group this widget belongs to." msgstr "Den radioknapp vars grupp denna widget tillhör." -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:374 msgid "The radio menu item whose group this widget belongs to." msgstr "Det radioknappsobjekt vars grupp denna widget tillhör." -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "Den radioknapp vars grupp denna knapp tillhör." -#: gtk/gtkrange.c:410 +#: ../gtk/gtkrange.c:422 msgid "Update policy" msgstr "Uppdateringspolicy" -#: gtk/gtkrange.c:411 +#: ../gtk/gtkrange.c:423 msgid "How the range should be updated on the screen" msgstr "Hur intervallet ska uppdateras på skärmen" -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:432 msgid "The GtkAdjustment that contains the current value of this range object" -msgstr "" -"GtkAdjustment som innehåller det aktuella värdet på detta intervallobjekt" +msgstr "GtkAdjustment som innehåller det aktuella värdet på detta intervallobjekt" -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:440 msgid "Invert direction slider moves to increase range value" -msgstr "" -"Invertera riktningen som rullningslisten flyttar sig för att öka " -"intervallvärdet" +msgstr "Invertera riktningen som rullningslisten flyttar sig för att öka intervallvärdet" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:447 msgid "Lower stepper sensitivity" msgstr "Lägre stegarkänslighet" -#: gtk/gtkrange.c:436 -msgid "" -"The sensitivity policy for the stepper that points to the adjustment's lower " -"side" +#: ../gtk/gtkrange.c:448 +msgid "The sensitivity policy for the stepper that points to the adjustment's lower side" msgstr "Känslighetspolicyn för stegaren som pekar till justeringens lägre sida" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:456 msgid "Upper stepper sensitivity" msgstr "Övre stegarkänslighet" -#: gtk/gtkrange.c:445 -msgid "" -"The sensitivity policy for the stepper that points to the adjustment's upper " -"side" +#: ../gtk/gtkrange.c:457 +msgid "The sensitivity policy for the stepper that points to the adjustment's upper side" msgstr "Känslighetspolicyn för stegaren som pekar till justeringens övre sida" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:474 msgid "Show Fill Level" msgstr "Visa fyllnadsnivå" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:475 msgid "Whether to display a fill level indicator graphics on trough." msgstr "Huruvida en fyllnadsnivåindikator ska visas vid tråg." -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:491 msgid "Restrict to Fill Level" msgstr "Begränsa till fyllnadsnivå" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:492 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Huruvida den övre fyllnadsnivågränsen ska begränsas." -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:507 msgid "Fill Level" msgstr "Fyllnadsnivå" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:508 msgid "The fill level." msgstr "Fyllnadsnivån." -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:516 +#: ../gtk/gtkswitch.c:781 msgid "Slider Width" msgstr "Bredd på rullningslist" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:517 msgid "Width of scrollbar or scale thumb" msgstr "Bredd på rullningslisten eller skalning" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:524 msgid "Trough Border" msgstr "Trågkant" # Förslag mottages tacksamt -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:525 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Utrymme mellan tumme/stegare och yttre trågavfasning" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:532 msgid "Stepper Size" msgstr "Stegarstorlek" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:533 msgid "Length of step buttons at ends" msgstr "Längd på stegknappar vid ändarna" -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:548 msgid "Stepper Spacing" msgstr "Stegarutrymme" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:549 msgid "Spacing between step buttons and thumb" msgstr "Utrymme mellan stegknappar och steg" -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:556 msgid "Arrow X Displacement" msgstr "X-förflyttning av pil" -#: gtk/gtkrange.c:545 -msgid "" -"How far in the x direction to move the arrow when the button is depressed" +#: ../gtk/gtkrange.c:557 +msgid "How far in the x direction to move the arrow when the button is depressed" msgstr "Hur långt bort i x-riktingen pilen ska flyttas då knappen trycks ned" -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:564 msgid "Arrow Y Displacement" msgstr "Y-förflyttning av pil" -#: gtk/gtkrange.c:553 -msgid "" -"How far in the y direction to move the arrow when the button is depressed" +#: ../gtk/gtkrange.c:565 +msgid "How far in the y direction to move the arrow when the button is depressed" msgstr "Hur långt bort i y-riktningen pilen ska flyttas då knappen trycks ned" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:583 msgid "Trough Under Steppers" msgstr "Tråg under stegare" -#: gtk/gtkrange.c:572 -msgid "" -"Whether to draw trough for full length of range or exclude the steppers and " -"spacing" -msgstr "" -"Huruvida tråget ska ritas ut för hela längden eller undanta stegarna och " -"mellanrum" +#: ../gtk/gtkrange.c:584 +msgid "Whether to draw trough for full length of range or exclude the steppers and spacing" +msgstr "Huruvida tråget ska ritas ut för hela längden eller undanta stegarna och mellanrum" -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:597 msgid "Arrow scaling" msgstr "Pilskalning" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling with regard to scroll button size" msgstr "Pilskalning med hänseende till storleken för rullningsknapp" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 +#: ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "Visa nummer" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 +#: ../gtk/gtkrecentchoosermenu.c:247 msgid "Whether the items should be displayed with a number" msgstr "Huruvida objekten ska visas med ett nummer" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "Senaste hanterare" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "RecentManager-objektet att använda" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "Visa privat" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "Huruvida privata objekt ska visas" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "Visa verktygstips" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "Huruvida det ska finnas ett verktygstips på objektet" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "Visa ikoner" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "Huruvida det ska finnas en ikon nära objektet" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "Visa Hittades inte" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "Huruvida objekt som pekar till otillgängliga resurser ska visas" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "Huruvida att flera objekt kan väljas ska tillåtas" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "Endast lokala" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "Huruvida de valda resurs(erna) ska begränsas till lokala file:-URI:er" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "Gräns" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "Maximalt antal objekt som ska visas" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "Sorteringstyp" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "Sorteringsordningen för visade objekt" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "Det aktuella filtret för val av vilka resurser som visas" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" -msgstr "" -"Fullständiga sökvägen till filen som ska användas för att lagra och läsa " -"listan" +msgstr "Fullständiga sökvägen till filen som ska användas för att lagra och läsa listan" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "Storleken för senast använda resurslistan" -#: gtk/gtkruler.c:138 -msgid "Lower" -msgstr "Lägre" - -#: gtk/gtkruler.c:139 -msgid "Lower limit of ruler" -msgstr "Lägre gräns för linjal" - -#: gtk/gtkruler.c:148 -msgid "Upper" -msgstr "Övre" - -#: gtk/gtkruler.c:149 -msgid "Upper limit of ruler" -msgstr "Övre gräns för linjal" - -#: gtk/gtkruler.c:159 -msgid "Position of mark on the ruler" -msgstr "Position för märket på linjalen" - -#: gtk/gtkruler.c:168 -msgid "Max Size" -msgstr "Maxstorlek" - -#: gtk/gtkruler.c:169 -msgid "Maximum size of the ruler" -msgstr "Största storlek på linjalen" - -# Osäker. -#: gtk/gtkruler.c:184 -msgid "Metric" -msgstr "Metrik" - -# Osäker. -#: gtk/gtkruler.c:185 -msgid "The metric used for the ruler" -msgstr "Metriken som används i linjalen" - -#: gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:221 msgid "The value of the scale" msgstr "Värdet på skalan" -#: gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:231 msgid "The icon size" msgstr "Ikonstorleken" -#: gtk/gtkscalebutton.c:240 -msgid "" -"The GtkAdjustment that contains the current value of this scale button object" -msgstr "" -"GtkAdjustment som innehåller det aktuella värdet på detta skalknappsobjekt" +#: ../gtk/gtkscalebutton.c:240 +msgid "The GtkAdjustment that contains the current value of this scale button object" +msgstr "GtkAdjustment som innehåller det aktuella värdet på detta skalknappsobjekt" -#: gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:268 msgid "Icons" msgstr "Ikoner" -#: gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:269 msgid "List of icon names" msgstr "Lista över ikonnamn" -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "Antalet tecken som visas i värdet" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Visa värde" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" -msgstr "" -"Huruvida det aktuella värdet visas som en sträng bredvid rullningslisten" +msgstr "Huruvida det aktuella värdet visas som en sträng bredvid rullningslisten" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Värdeposition" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "Positionen som det aktuella värdet visas på" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Längd på rullningslist" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Längd på skalans rullningslist" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Värdeutrymme" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "Utrymme mellan värdetext och draglist/trågområdet" -#: gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Minsta bredd på rullningslist" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Minsta längd på lullningslisten" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Fast storlek på rullningslist" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" -msgstr "" -"Ändra inte storleken på rullningslisten, lås den bara till den minsta längden" +msgstr "Ändra inte storleken på rullningslisten, lås den bara till den minsta längden" -#: gtk/gtkscrollbar.c:81 -msgid "" -"Display a second backward arrow button on the opposite end of the scrollbar" -msgstr "" -"Visa en andra knapp med baklängespil på motsatt sida av rullningslisten" +#: ../gtk/gtkscrollbar.c:103 +msgid "Display a second backward arrow button on the opposite end of the scrollbar" +msgstr "Visa en andra knapp med baklängespil på motsatt sida av rullningslisten" -#: gtk/gtkscrollbar.c:88 -msgid "" -"Display a second forward arrow button on the opposite end of the scrollbar" +#: ../gtk/gtkscrollbar.c:110 +msgid "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "Visa en andra framåtpil-knapp på motsatt sida av rullningslisten" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:295 msgid "Horizontal Adjustment" msgstr "Horisontell justering" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:296 +msgid "The GtkAdjustment for the horizontal position" +msgstr "GtkAdjustment på den horisontella positionen" + +#: ../gtk/gtkscrolledwindow.c:302 msgid "Vertical Adjustment" msgstr "Vertikal justering" -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:303 +msgid "The GtkAdjustment for the vertical position" +msgstr "GtkAdjustment på den vertikala positionen" + +#: ../gtk/gtkscrolledwindow.c:309 msgid "Horizontal Scrollbar Policy" msgstr "Policy för horisontella rullningslister" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:310 msgid "When the horizontal scrollbar is displayed" msgstr "När den horisontella rullningslisten visas" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:317 msgid "Vertical Scrollbar Policy" msgstr "Policy för vertikal rullningslista" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:318 msgid "When the vertical scrollbar is displayed" msgstr "När den vertikala rullningslisten visas" -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:326 msgid "Window Placement" msgstr "Fönsterplacering" -#: gtk/gtkscrolledwindow.c:275 -msgid "" -"Where the contents are located with respect to the scrollbars. This property " -"only takes effect if \"window-placement-set\" is TRUE." -msgstr "" -"Där innehållet placeras i förhållande till rullningslisterna. Denna egenskap " -"blir endast aktiv om \"window-placement-set\" är TRUE." +#: ../gtk/gtkscrolledwindow.c:327 +msgid "Where the contents are located with respect to the scrollbars. This property only takes effect if \"window-placement-set\" is TRUE." +msgstr "Där innehållet placeras i förhållande till rullningslisterna. Denna egenskap blir endast aktiv om \"window-placement-set\" är TRUE." -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:344 msgid "Window Placement Set" msgstr "Fönsterplacering" -#: gtk/gtkscrolledwindow.c:293 -msgid "" -"Whether \"window-placement\" should be used to determine the location of the " -"contents with respect to the scrollbars." -msgstr "" -"Huruvida \"window-placement\" ska används för att fastställa platsen för " -"innehållet i förhållande till rullningslisterna." +#: ../gtk/gtkscrolledwindow.c:345 +msgid "Whether \"window-placement\" should be used to determine the location of the contents with respect to the scrollbars." +msgstr "Huruvida \"window-placement\" ska används för att fastställa platsen för innehållet i förhållande till rullningslisterna." -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:351 msgid "Shadow Type" msgstr "Skuggtyp" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Style of bevel around the contents" msgstr "Stil på avfasning runt innehållet" -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:366 msgid "Scrollbars within bevel" msgstr "Rullningslist inom avfasning" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Place scrollbars within the scrolled window's bevel" msgstr "Placera rullningslister inom det rullade fönstrets avrundning" -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:373 msgid "Scrollbar spacing" msgstr "Rullningslistutrymme" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Antalet bildpunkter mellan rullningslisterna och det rullade fönstret" -#: gtk/gtkscrolledwindow.c:337 -msgid "Scrolled Window Placement" -msgstr "Placering för rullade fönster" +#: ../gtk/gtkscrolledwindow.c:383 +#, fuzzy +msgid "Minimum Content Width" +msgstr "Minsta bredd" -#: gtk/gtkscrolledwindow.c:338 -msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." +#: ../gtk/gtkscrolledwindow.c:384 +msgid "The minimum width that the scrolled window will allocate to its content" msgstr "" -"Där innehållet i rullade fönster placeras i förhållande till " -"rullningslisterna, om inte åsidosatt av det rullade fönstrets egna placering." -#: gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkscrolledwindow.c:390 +#, fuzzy +msgid "Minimum Content Height" +msgstr "Minsta höjd på barn" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "The minimum height that the scrolled window will allocate to its content" +msgstr "" + +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "Rita" -#: gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "Huruvida avgränsaren är ritad eller enbart tom" -#: gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Tid för dubbelklick" -#: gtk/gtksettings.c:226 -msgid "" -"Maximum time allowed between two clicks for them to be considered a double " -"click (in milliseconds)" -msgstr "" -"Största tid som tillåts mellan två klick för att de ska betraktas som en " -"dubbelklickning (i millisekunder)" +#: ../gtk/gtksettings.c:300 +msgid "Maximum time allowed between two clicks for them to be considered a double click (in milliseconds)" +msgstr "Största tid som tillåts mellan två klick för att de ska betraktas som en dubbelklickning (i millisekunder)" -#: gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Avstånd för dubbelklick" -#: gtk/gtksettings.c:234 -msgid "" -"Maximum distance allowed between two clicks for them to be considered a " -"double click (in pixels)" -msgstr "" -"Största avstånd som tillåts mellan två klick för att de ska betraktas som en " -"dubbelklickning (i bildpunkter)" +#: ../gtk/gtksettings.c:308 +msgid "Maximum distance allowed between two clicks for them to be considered a double click (in pixels)" +msgstr "Största avstånd som tillåts mellan två klick för att de ska betraktas som en dubbelklickning (i bildpunkter)" -#: gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Markörblinkning" -#: gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "Huruvida markören ska blinka" -#: gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Blinktid för markör" -#: gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Längd på markörens blinkcykel, i millisekunder" -#: gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Tidsgräns för markörblinkning" -#: gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Tid efter vilken markören slutar blinka, i sekunder" -#: gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Delad markör" -#: gtk/gtksettings.c:287 -msgid "" -"Whether two cursors should be displayed for mixed left-to-right and right-to-" -"left text" -msgstr "" -"Huruvida två markörer ska visas för blandad vänster-till-höger- och höger-" -"till-vänster-text" +#: ../gtk/gtksettings.c:361 +msgid "Whether two cursors should be displayed for mixed left-to-right and right-to-left text" +msgstr "Huruvida två markörer ska visas för blandad vänster-till-höger- och höger-till-vänster-text" -#: gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Temanamn" -#: gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Namn på den tema-RC-fil som ska läsas in" -#: gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Namn på ikontema" -#: gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Namn på ikontemat att använda" -#: gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Ikontema att falla tillbaka på" -#: gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Namnet på ikontemat att falla tillbaka på" -#: gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Nyckeltemanamn" -#: gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Namn på den nyckeltema-RC-fil som ska läsas in" -#: gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Snabbtangent för menyrad" -#: gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Snabbtangent för att aktivera menyraden" -#: gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Dragtröskel" -#: gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "Antalet bildpunkter markören kan flyttas innan drag" -#: gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Typsnittsnamn" -#: gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Namn på standardtypsnittet att använda" -#: gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Ikonstorlekar" -#: gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Lista med ikonstorlekar (gtk-menu=16,16;gtk-button=20,20..." -#: gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "GTK-moduler" -#: gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "Lista med GTK-moduler som är aktiva för tillfället" -#: gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Xft-kantutjämning" -#: gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "Huruvida Xft-typsnitt ska kantutjämnas; 0=nej, 1=ja, -1=standardvärdet" -#: gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Xft-hintning" -#: gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "Huruvida Xft-typsnitt ska hintas; 0=nej, 1=ja, -1=standardvärdet" -#: gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Xft-hintningsstil" -#: gtk/gtksettings.c:411 -msgid "" -"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -msgstr "" -"Vilken grad av hintning att använda; hintaingen, hintaliten, hintamellan, " -"eller hintafullständig" +#: ../gtk/gtksettings.c:485 +msgid "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" +msgstr "Vilken grad av hintning att använda; hintaingen, hintaliten, hintamellan, eller hintafullständig" -#: gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft-RGBA" -#: gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Typ av underbildpunktskantutjämning; ingen, rgb, bgr, vrgb, vbgr" -#: gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "Xft-DPI" -#: gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -msgstr "" -"Upplösning för Xft, i 1024 × punkter/tum. -1 för att använda standardvärdet" +msgstr "Upplösning för Xft, i 1024 × punkter/tum. -1 för att använda standardvärdet" -#: gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Namn på markörtema" -#: gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" -msgstr "" -"Namn på markörtemat att använda, eller NULL för att använda standardtemat" +msgstr "Namn på markörtemat att använda, eller NULL för att använda standardtemat" -#: gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Storlek på markörtema" -#: gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" -msgstr "" -"Storlek att använda på markörer, eller 0 för att använda standardstorleken" +msgstr "Storlek att använda på markörer, eller 0 för att använda standardstorleken" -#: gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Alternativ knappordning" -#: gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "Huruvida knappar i dialoger ska använda den alternativa knappordningen" -#: gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "Alternativ riktning för sorteringsindikator" -#: gtk/gtksettings.c:479 -msgid "" -"Whether the direction of the sort indicators in list and tree views is " -"inverted compared to the default (where down means ascending)" -msgstr "" -"Huruvida riktningen på sorteringsindikatorerna i list- och trädvyer är " -"inverterade jämfört med standarden (där ner betyder stigande)" +#: ../gtk/gtksettings.c:553 +msgid "Whether the direction of the sort indicators in list and tree views is inverted compared to the default (where down means ascending)" +msgstr "Huruvida riktningen på sorteringsindikatorerna i list- och trädvyer är inverterade jämfört med standarden (där ner betyder stigande)" -#: gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Visa \"Inmatningsmetoder\"-menyn" -#: gtk/gtksettings.c:488 -msgid "" -"Whether the context menus of entries and text views should offer to change " -"the input method" -msgstr "" -"Huruvida sammanhangsmenyer av poster och textvyer ska erbjuda ändring av " -"inmatningsmetod" +#: ../gtk/gtksettings.c:562 +msgid "Whether the context menus of entries and text views should offer to change the input method" +msgstr "Huruvida sammanhangsmenyer av poster och textvyer ska erbjuda ändring av inmatningsmetod" -#: gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Visa \"Infoga Unicode-styrtecken\"-menyn" -#: gtk/gtksettings.c:497 -msgid "" -"Whether the context menus of entries and text views should offer to insert " -"control characters" -msgstr "" -"Huruvida sammanhangsmenyer av poster och textvyer ska erbjuda att infoga " -"styrtecken" +#: ../gtk/gtksettings.c:571 +msgid "Whether the context menus of entries and text views should offer to insert control characters" +msgstr "Huruvida sammanhangsmenyer av poster och textvyer ska erbjuda att infoga styrtecken" -#: gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Tidsgräns för start" -#: gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "Startvärde för tidsgränser, när knappen blir nedtryckt" -#: gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Tidsgräns för upprepning" -#: gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "Upprepningsvärde för tidsgränser, när knappen blir nedtryckt" -#: gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Utöka tidsgräns" -#: gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "Expandera värde för tidsgränser, när en widget expanderar en ny region" -#: gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Färgschema" -#: gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "En palett av namngivna färger att använda i teman" -#: gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Aktivera animeringar" -#: gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "Huruvida verktygslådebreda animeringar ska aktiveras." -#: gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "Aktivera pekskärmsläge" -#: gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" -msgstr "" -"När TRUE kommer inga rörelsenotifieringshändelser att levereras på denna " -"skärm" +msgstr "När TRUE kommer inga rörelsenotifieringshändelser att levereras på denna skärm" -#: gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Tidsgräns för verktygstips" -#: gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Tidsgräns innan verktygstips visas" -#: gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "Tidsgräns för bläddring i verktygstips" -#: gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "Tidsgräns innan verktygstips visas när bläddringsläge är aktiverat" -#: gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "Tidsgräns för bläddringsläge för verktygstips" -#: gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "Tidsgräns efter vilken bläddringsläget inaktiveras" -#: gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "Tangentnavigeringsmarkör endast" -#: gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" -msgstr "" -"När TRUE finns det endast markörtangenter tillgängliga för att navigera " -"bland widgetar" +msgstr "När TRUE finns det endast markörtangenter tillgängliga för att navigera bland widgetar" -#: gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "Radbrytning för tangentnavigering" -#: gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" -msgstr "" -"Huruvida radbrytning ska ske vid tangentbordsnavigering bland widgetar " +msgstr "Huruvida radbrytning ska ske vid tangentbordsnavigering bland widgetar " -#: gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "Felklocka" -#: gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" -msgstr "" -"När TRUE kommer tangentbordsnavigering och andra fel att orsaka ett pip" +msgstr "När TRUE kommer tangentbordsnavigering och andra fel att orsaka ett pip" -#: gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "Färgrymd" -#: gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "En hashtabell som representerar färgschemat." -#: gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Standardbakände för filväljare" -#: gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Namn på den GtkFileChooser-bakände som ska användas som standard" -#: gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Standardbakände för utskrifter" -#: gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Lista på de GtkPrintBackend-bakändor som ska användas som standard" -#: gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "Standardkommando att köra vid förhandsvisning av utskrift " -#: gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "Kommando att köra vid visning av en utskriftförhandsvisning" -#: gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Aktivera snabbtangenter" -#: gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Huruvida etiketter ska ha snabbtangenter" -#: gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Aktivera snabbtangenter" -#: gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Huruvida menyobjekt ska ha snabbtangenter" -#: gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Gräns för Senaste filer" -#: gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Antal senast använda filer" -#: gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "Standard-IM-modul" -#: gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "Vilken IM-modul som ska användas som standard" -#: gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "Maximal ålder för Senaste filer" -#: gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "Maximal ålder för senast använda filer, i dagar" -#: gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "Fontconfig-konfigurationens tidsstämpel" -#: gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "Tidsstämpel för aktuell fontconfig-konfiguration" -#: gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Namn på ljudtema" -#: gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "Namn på XDG-ljudtema" #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "Ljudåterkoppling för inmatning" -#: gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" -msgstr "" -"Huruvida händelseljud som spelas upp som återkoppling till användarinmatning" +msgstr "Huruvida händelseljud som spelas upp som återkoppling till användarinmatning" -#: gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Aktivera händelseljud" -#: gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Huruvida händelseljud ska spelas överhuvudtaget" -#: gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Aktivera verktygstips" -#: gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Huruvida verktygstips ska visas på widgetar" -#: gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Stil på verktygsrad" -#: gtk/gtksettings.c:983 -msgid "" -"Whether default toolbars have text only, text and icons, icons only, etc." -msgstr "" -"Huruvida standardverktygsrader endast har text, text och ikoner, endast " -"ikoner, osv." +#: ../gtk/gtksettings.c:1057 +msgid "Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "Huruvida standardverktygsrader endast har text, text och ikoner, endast ikoner, osv." -#: gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Ikonstorlek på verktygsrad" -#: gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "Storlek på ikoner i standardverktygsrader." -#: gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Automatiska snabbtangenter" -#: gtk/gtksettings.c:1016 -msgid "" -"Whether mnemonics should be automatically shown and hidden when the user " -"presses the mnemonic activator." -msgstr "" -"Huruvida snabbtangenter ska visas och döljas automatiskt när användaren " -"trycker på snabbtangentaktiveraren." +#: ../gtk/gtksettings.c:1090 +msgid "Whether mnemonics should be automatically shown and hidden when the user presses the mnemonic activator." +msgstr "Huruvida snabbtangenter ska visas och döljas automatiskt när användaren trycker på snabbtangentaktiveraren." -#: gtk/gtksettings.c:1041 +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" msgstr "Programmet föredrar ett mörk tema" -#: gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." msgstr "Huruvida programmet föredrar att ha ett mörkt tema." -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksettings.c:1131 +msgid "Show button images" +msgstr "Visa knappbilder" + +#: ../gtk/gtksettings.c:1132 +msgid "Whether images should be shown on buttons" +msgstr "Huruvida bilder ska visas på knappar" + +#: ../gtk/gtksettings.c:1140 +#: ../gtk/gtksettings.c:1234 +msgid "Select on focus" +msgstr "Markera vid fokus" + +#: ../gtk/gtksettings.c:1141 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "Huruvida ett fälts innehåll markeras då fältet får fokus" + +#: ../gtk/gtksettings.c:1158 +msgid "Password Hint Timeout" +msgstr "Tidsgräns för lösenordstips" + +#: ../gtk/gtksettings.c:1159 +msgid "How long to show the last input character in hidden entries" +msgstr "Hur länge det senaste inmatade tecknet i dolda objekt ska visas" + +#: ../gtk/gtksettings.c:1168 +msgid "Show menu images" +msgstr "Visa menybilder" + +#: ../gtk/gtksettings.c:1169 +msgid "Whether images should be shown in menus" +msgstr "Huruvida bilder ska visas i menyer" + +#: ../gtk/gtksettings.c:1177 +msgid "Delay before drop down menus appear" +msgstr "Fördröjning innan utfällningsmenyer visas" + +#: ../gtk/gtksettings.c:1178 +msgid "Delay before the submenus of a menu bar appear" +msgstr "Fördröjning innan undermenyer till en menyrad visas" + +#: ../gtk/gtksettings.c:1195 +msgid "Scrolled Window Placement" +msgstr "Placering för rullade fönster" + +#: ../gtk/gtksettings.c:1196 +msgid "Where the contents of scrolled windows are located with respect to the scrollbars, if not overridden by the scrolled window's own placement." +msgstr "Där innehållet i rullade fönster placeras i förhållande till rullningslisterna, om inte åsidosatt av det rullade fönstrets egna placering." + +#: ../gtk/gtksettings.c:1205 +msgid "Can change accelerators" +msgstr "Kan ändra snabbtangenter" + +#: ../gtk/gtksettings.c:1206 +msgid "Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "Huruvida menysnabbtangenter kan ändras genom att en tangent trycks ovanför menyobjektet" + +#: ../gtk/gtksettings.c:1214 +msgid "Delay before submenus appear" +msgstr "Fördröjning innan undermenyer visas" + +#: ../gtk/gtksettings.c:1215 +msgid "Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "Minsta tid som pekaren måste stanna över ett menyobjekt innan undermenyn visas" + +#: ../gtk/gtksettings.c:1224 +msgid "Delay before hiding a submenu" +msgstr "Fördröjning innan en undermeny döljs" + +#: ../gtk/gtksettings.c:1225 +msgid "The time before hiding a submenu when the pointer is moving towards the submenu" +msgstr "Tiden innan en undermeny ska döljas när pekaren rör sig mot undermenyn" + +#: ../gtk/gtksettings.c:1235 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "Huruvida innehållet av en valbar etikett väljs när den fokuseras" + +#: ../gtk/gtksettings.c:1243 +msgid "Custom palette" +msgstr "Anpassad palett" + +#: ../gtk/gtksettings.c:1244 +msgid "Palette to use in the color selector" +msgstr "Palett att använda i färgväljaren" + +#: ../gtk/gtksettings.c:1252 +msgid "IM Preedit style" +msgstr "IM-förredigeringsstil" + +#: ../gtk/gtksettings.c:1253 +msgid "How to draw the input method preedit string" +msgstr "Hur inmatningsmetodens förredigeringssträng ska ritas" + +#: ../gtk/gtksettings.c:1262 +msgid "IM Status style" +msgstr "IM-statusstil" + +#: ../gtk/gtksettings.c:1263 +msgid "How to draw the input method statusbar" +msgstr "Hur inmatningsmetodens statusrad ska ritas" + +#: ../gtk/gtksizegroup.c:350 msgid "Mode" msgstr "Läge" -#: gtk/gtksizegroup.c:342 -msgid "" -"The directions in which the size group affects the requested sizes of its " -"component widgets" -msgstr "" -"De riktningar i vilka storleksgruppen påverkar de begärda storlekarna på " -"dess komponentwidgetar" +#: ../gtk/gtksizegroup.c:351 +msgid "The directions in which the size group affects the requested sizes of its component widgets" +msgstr "De riktningar i vilka storleksgruppen påverkar de begärda storlekarna på dess komponentwidgetar" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:367 msgid "Ignore hidden" msgstr "Ignorera dolda" -#: gtk/gtksizegroup.c:359 -msgid "" -"If TRUE, unmapped widgets are ignored when determining the size of the group" -msgstr "" -"Om detta är SANT kommer ej mappade widgetar att ignoreras vid avgörandet av " -"storleken på gruppen" +#: ../gtk/gtksizegroup.c:368 +msgid "If TRUE, unmapped widgets are ignored when determining the size of the group" +msgstr "Om detta är SANT kommer ej mappade widgetar att ignoreras vid avgörandet av storleken på gruppen" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:237 msgid "Climb Rate" msgstr "Klättringshastighet" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:257 msgid "Snap to Ticks" msgstr "Fäst vid tick" -#: gtk/gtkspinbutton.c:257 -msgid "" -"Whether erroneous values are automatically changed to a spin button's " -"nearest step increment" -msgstr "" -"Huruvida felaktiga värden automatiskt korrigeras till en snurrknapps " -"närmaste stegökning" +#: ../gtk/gtkspinbutton.c:258 +msgid "Whether erroneous values are automatically changed to a spin button's nearest step increment" +msgstr "Huruvida felaktiga värden automatiskt korrigeras till en snurrknapps närmaste stegökning" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:265 msgid "Numeric" msgstr "Numerisk" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:266 msgid "Whether non-numeric characters should be ignored" msgstr "Huruvida icke-numeriska tecken ska ignoreras" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:273 msgid "Wrap" msgstr "Börja om" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:274 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "Huruvida en snurrknapp ska börja om då dess gränser nås" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:281 msgid "Update Policy" msgstr "Uppdateringspolicy" -#: gtk/gtkspinbutton.c:281 -msgid "" -"Whether the spin button should update always, or only when the value is legal" -msgstr "" -"Huruvida snurrknappen alltid ska uppdatera, eller endast då värdet är giltigt" +#: ../gtk/gtkspinbutton.c:282 +msgid "Whether the spin button should update always, or only when the value is legal" +msgstr "Huruvida snurrknappen alltid ska uppdatera, eller endast då värdet är giltigt" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:291 msgid "Reads the current value, or sets a new value" msgstr "Läser aktuellt värde, eller ställer in ett nytt värde" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:300 msgid "Style of bevel around the spin button" msgstr "Stil på avfasning runt snurrknappen" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "Huruvida snurrväljaren är aktiv" -#: gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:135 msgid "Number of steps" msgstr "Antal steg" -#: gtk/gtkspinner.c:147 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" -"Antalet steg för att snurrväljaren ska fullföra ett helt varv. Animationen " -"kommer att fullgöra ett fullt varv på en sekund som standard (se #GtkSpinner:" -"cycle-duration)." +#: ../gtk/gtkspinner.c:136 +msgid "The number of steps for the spinner to complete a full loop. The animation will complete a full cycle in one second by default (see #GtkSpinner:cycle-duration)." +msgstr "Antalet steg för att snurrväljaren ska fullföra ett helt varv. Animationen kommer att fullgöra ett fullt varv på en sekund som standard (se #GtkSpinner:cycle-duration)." -#: gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:153 msgid "Animation duration" msgstr "Animeringslängd" -#: gtk/gtkspinner.c:163 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" -"Tidslängden i millisekunder för att snurrväljaren ska fullgöra ett varv" +#: ../gtk/gtkspinner.c:154 +msgid "The length of time in milliseconds for the spinner to complete a full loop" +msgstr "Tidslängden i millisekunder för att snurrväljaren ska fullgöra ett varv" -#: gtk/gtkstatusbar.c:199 -msgid "Has Resize Grip" -msgstr "Har handtag för storleksändring" - -#: gtk/gtkstatusbar.c:200 -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "Huruvida statusraden har ett handtag för storleksändring av toppnivån" - -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:181 msgid "Style of bevel around the statusbar text" msgstr "Stil på avfasningen runt statusradstexten" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:270 msgid "The size of the icon" msgstr "Storleken på ikonen" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:280 msgid "The screen where this status icon will be displayed" msgstr "Skärmen där denna statusikon kommer att visas" -#: gtk/gtkstatusicon.c:288 -#, fuzzy +#: ../gtk/gtkstatusicon.c:288 msgid "Whether the status icon is visible" -msgstr "Huruvida statusikonen är synlig eller inte" +msgstr "Huruvida statusikonen är synlig" -#: gtk/gtkstatusicon.c:304 -#, fuzzy +#: ../gtk/gtkstatusicon.c:304 msgid "Whether the status icon is embedded" -msgstr "Huruvida statusikonen är inbäddad eller inte" +msgstr "Huruvida statusikonen är inbäddad" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:320 +#: ../gtk/gtktrayicon-x11.c:125 msgid "The orientation of the tray" msgstr "Orienteringen för lådan" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:347 +#: ../gtk/gtkwidget.c:1034 msgid "Has tooltip" msgstr "Har verktygstips" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:348 msgid "Whether this tray icon has a tooltip" msgstr "Huruvida denna brickikon har ett verktygstips" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:373 +#: ../gtk/gtkwidget.c:1055 msgid "Tooltip Text" msgstr "Text för verktygstips" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:374 +#: ../gtk/gtkwidget.c:1056 +#: ../gtk/gtkwidget.c:1077 msgid "The contents of the tooltip for this widget" msgstr "Innehållet i verktygstipset för denna widget" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:397 +#: ../gtk/gtkwidget.c:1076 msgid "Tooltip markup" msgstr "Verktygstips-markup" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:398 msgid "The contents of the tooltip for this tray icon" msgstr "Innehållet i verktygstipset för denna brickikon" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:416 msgid "The title of this tray icon" msgstr "Titeln för denna brickikon" -#: gtk/gtktable.c:148 +#: ../gtk/gtkstyle.c:468 +msgid "Style context" +msgstr "" + +#: ../gtk/gtkstyle.c:469 +msgid "GtkStyleContext to get style from" +msgstr "" + +#: ../gtk/gtkswitch.c:748 +#, fuzzy +msgid "Whether the switch is on or off" +msgstr "Huruvida widgeten är dubbelbuffrad eller inte" + +#: ../gtk/gtkswitch.c:782 +#, fuzzy +msgid "The minimum width of the handle" +msgstr "Minsta värdet på justeringen" + +#: ../gtk/gtktable.c:157 msgid "Rows" msgstr "Rader" -#: gtk/gtktable.c:149 +#: ../gtk/gtktable.c:158 msgid "The number of rows in the table" msgstr "Antalet rader i tabellen" -#: gtk/gtktable.c:157 +#: ../gtk/gtktable.c:166 msgid "Columns" msgstr "Kolumner" -#: gtk/gtktable.c:158 +#: ../gtk/gtktable.c:167 msgid "The number of columns in the table" msgstr "Antalet kolumner i tabellen" -#: gtk/gtktable.c:166 +#: ../gtk/gtktable.c:175 msgid "Row spacing" msgstr "Radutrymme" -#: gtk/gtktable.c:167 +#: ../gtk/gtktable.c:176 msgid "The amount of space between two consecutive rows" msgstr "Mängden utrymme mellan två efterföljande rader" -#: gtk/gtktable.c:175 +#: ../gtk/gtktable.c:184 msgid "Column spacing" msgstr "Kolumnutrymme" -#: gtk/gtktable.c:176 +#: ../gtk/gtktable.c:185 msgid "The amount of space between two consecutive columns" msgstr "Mängden utrymme mellan två efterföljande kolumner" -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "Om SANT betyder detta att alla tabellceller har samma bredd/höjd" -#: gtk/gtktable.c:192 +#: ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "Vänsterfäste" -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Högerfäste" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "Det kolumnnummer som höger sida av en barnwidget ska fästas vid" -#: gtk/gtktable.c:206 +#: ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "Övre fäste" -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "Det radnummer som överkanten på en barnwidget ska fästas vid" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "Nedre fäste" -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "Horisontella alternativ" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "Alternativ som anger det horisontella beteendet på barnet" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "Vertikala alternativ" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "Alternativ som anger det vertikala beteendet på barnet" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "Horisontell utfyllnad" -#: gtk/gtktable.c:235 -msgid "" -"Extra space to put between the child and its left and right neighbors, in " -"pixels" -msgstr "" -"Extra utrymme att lägga till mellan barnet och dess vänstra och högra " -"grannar, i bildpunkter" +#: ../gtk/gtktable.c:244 +msgid "Extra space to put between the child and its left and right neighbors, in pixels" +msgstr "Extra utrymme att lägga till mellan barnet och dess vänstra och högra grannar, i bildpunkter" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "Vertikal utfyllnad" -#: gtk/gtktable.c:242 -msgid "" -"Extra space to put between the child and its upper and lower neighbors, in " -"pixels" -msgstr "" -"Extra utrymme att lägga till mellan barnet och dess övre och nedre grannar, " -"i bildpunkter" +#: ../gtk/gtktable.c:251 +msgid "Extra space to put between the child and its upper and lower neighbors, in pixels" +msgstr "Extra utrymme att lägga till mellan barnet och dess övre och nedre grannar, i bildpunkter" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:191 msgid "Tag Table" msgstr "Taggtabell" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:192 msgid "Text Tag Table" msgstr "Texttaggtabell" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:210 msgid "Current text of the buffer" msgstr "Aktuell text i bufferten" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:224 msgid "Has selection" msgstr "Har markering" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:225 msgid "Whether the buffer has some text currently selected" msgstr "Huruvida bufferten har någon text för närvarande markerad" -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:241 msgid "Cursor position" msgstr "Markörposition" -#: gtk/gtktextbuffer.c:243 -msgid "" -"The position of the insert mark (as offset from the beginning of the buffer)" -msgstr "" -"Positionen för infogningsmarkeringen (som position från början av bufferten)" +#: ../gtk/gtktextbuffer.c:242 +msgid "The position of the insert mark (as offset from the beginning of the buffer)" +msgstr "Positionen för infogningsmarkeringen (som position från början av bufferten)" -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:257 msgid "Copy target list" msgstr "Kopiera mållista" -#: gtk/gtktextbuffer.c:259 -msgid "" -"The list of targets this buffer supports for clipboard copying and DND source" -msgstr "" -"Listan över mål som den här bufferten har stöd för urklippskopiering och dra-" -"och-släpp-källa" +#: ../gtk/gtktextbuffer.c:258 +msgid "The list of targets this buffer supports for clipboard copying and DND source" +msgstr "Listan över mål som den här bufferten har stöd för urklippskopiering och dra-och-släpp-källa" -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:273 msgid "Paste target list" msgstr "Klistra in mållista" -#: gtk/gtktextbuffer.c:275 -msgid "" -"The list of targets this buffer supports for clipboard pasting and DND " -"destination" -msgstr "" -"Listan över mål som den här bufferten har stöd för urklippsinklistring och " -"dra-och-släpp-mål" +#: ../gtk/gtktextbuffer.c:274 +msgid "The list of targets this buffer supports for clipboard pasting and DND destination" +msgstr "Listan över mål som den här bufferten har stöd för urklippsinklistring och dra-och-släpp-mål" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 msgid "Mark name" msgstr "Markeringsnamn" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "Vänstergravitet" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "Huruvida markeringen har vänstergravitet" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:168 msgid "Tag name" msgstr "Taggnamn" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:169 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "Namn som används för att peka på texttaggen. NULL för anonyma taggar" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:187 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Bakgrundsfärg som en (möjligtvis oallokerad) GdkColor" -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:194 msgid "Background full height" msgstr "Bakgrundens fullständiga höjd" -#: gtk/gtktexttag.c:195 -msgid "" -"Whether the background color fills the entire line height or only the height " -"of the tagged characters" -msgstr "" -"Huruvida bakgrundsfärgen fyller hela radhöjden eller endast höjden på de " -"taggade tecknen" +#: ../gtk/gtktexttag.c:195 +msgid "Whether the background color fills the entire line height or only the height of the tagged characters" +msgstr "Huruvida bakgrundsfärgen fyller hela radhöjden eller endast höjden på de taggade tecknen" -#: gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:211 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Förgrundsfärg som en (möjligtvis oallokerad) GdkColor" -#: gtk/gtktexttag.c:218 +#: ../gtk/gtktexttag.c:218 msgid "Text direction" msgstr "Textriktning" -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:219 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Textriktning, d.v.s. höger till vänster eller vänster till höger" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:268 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Typsnittsstil som en PangoStyle, t.ex. PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:277 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "Typsnittsvariant som en PangoVariant, t.ex. PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 -msgid "" -"Font weight as an integer, see predefined values in PangoWeight; for " -"example, PANGO_WEIGHT_BOLD" -msgstr "" -"Typsnittsvikt som ett heltal, se fördefinierade värden i PangoWeight; t.ex. " -"PANGO_WEIGHT_BOLD" +#: ../gtk/gtktexttag.c:286 +msgid "Font weight as an integer, see predefined values in PangoWeight; for example, PANGO_WEIGHT_BOLD" +msgstr "Typsnittsvikt som ett heltal, se fördefinierade värden i PangoWeight; t.ex. PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:297 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "Typsnittsbredd som en PangoStretch, t.ex. PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:306 msgid "Font size in Pango units" msgstr "Typsnittsstorlek i Pango-enheter" -#: gtk/gtktexttag.c:316 -msgid "" -"Font size as a scale factor relative to the default font size. This properly " -"adapts to theme changes etc. so is recommended. Pango predefines some scales " -"such as PANGO_SCALE_X_LARGE" -msgstr "" -"Typsnittsstorlek som en skalfaktor relativt standardtypsnittsstorleken. " -"Detta anpassar sig till temaändringar med mera och rekommenderas. Pango " -"fördefinierar en del skalor som exempelvis PANGO_SCALE_X_LARGE" +#: ../gtk/gtktexttag.c:316 +msgid "Font size as a scale factor relative to the default font size. This properly adapts to theme changes etc. so is recommended. Pango predefines some scales such as PANGO_SCALE_X_LARGE" +msgstr "Typsnittsstorlek som en skalfaktor relativt standardtypsnittsstorleken. Detta anpassar sig till temaändringar med mera och rekommenderas. Pango fördefinierar en del skalor som exempelvis PANGO_SCALE_X_LARGE" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:336 +#: ../gtk/gtktextview.c:702 msgid "Left, right, or center justification" msgstr "Vänsterjustering, högerjustering eller centrering" -#: gtk/gtktexttag.c:355 -msgid "" -"The language this text is in, as an ISO code. Pango can use this as a hint " -"when rendering the text. If not set, an appropriate default will be used." -msgstr "" -"Språket som denna text är i, angivet som ISO-kod. Pango kan använda detta " -"som ett tips vid rendering av text. Om detta inte är angivet kommer ett " -"lämpligt standardalternativ att användas." +#: ../gtk/gtktexttag.c:355 +msgid "The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used." +msgstr "Språket som denna text är i, angivet som ISO-kod. Pango kan använda detta som ett tips vid rendering av text. Om detta inte är angivet kommer ett lämpligt standardalternativ att användas." -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:362 msgid "Left margin" msgstr "Vänstermarginal" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:363 +#: ../gtk/gtktextview.c:711 msgid "Width of the left margin in pixels" msgstr "Bredd på vänstermarginalen i bildpunkter" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:372 msgid "Right margin" msgstr "Högermarginal" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:373 +#: ../gtk/gtktextview.c:721 msgid "Width of the right margin in pixels" msgstr "Bredd på högermarginalen i bildpunkter" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:383 +#: ../gtk/gtktextview.c:730 msgid "Indent" msgstr "Gör indrag" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:384 +#: ../gtk/gtktextview.c:731 msgid "Amount to indent the paragraph, in pixels" msgstr "Hur mycket stycket ska dras in, i bildpunkter" -#: gtk/gtktexttag.c:395 -msgid "" -"Offset of text above the baseline (below the baseline if rise is negative) " -"in Pango units" -msgstr "" -"Avstånd för texten ovanför baslinjen (nedanför baslinjen om höjning är " -"negativt) i Pango-enheter" +#: ../gtk/gtktexttag.c:395 +msgid "Offset of text above the baseline (below the baseline if rise is negative) in Pango units" +msgstr "Avstånd för texten ovanför baslinjen (nedanför baslinjen om höjning är negativt) i Pango-enheter" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:404 msgid "Pixels above lines" msgstr "Bildpunkter ovanför rader" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:405 +#: ../gtk/gtktextview.c:655 msgid "Pixels of blank space above paragraphs" msgstr "Bildpunkter med tomt utrymme ovanför stycken" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:414 msgid "Pixels below lines" msgstr "Bildpunkter nedanför rader" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:415 +#: ../gtk/gtktextview.c:665 msgid "Pixels of blank space below paragraphs" msgstr "Bildpunkter med tomt utrymme nedanför stycken" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:424 msgid "Pixels inside wrap" msgstr "Bildpunkter mellan radbrytningar" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:425 +#: ../gtk/gtktextview.c:675 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Bildpunkter med tomt utrymme mellan radbrytningar i ett stycke" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 -msgid "" -"Whether to wrap lines never, at word boundaries, or at character boundaries" -msgstr "" -"Huruvida radbrytningar inte alls ska ske, om de ska ske mellan ord, eller " -"mellan tecken" +#: ../gtk/gtktexttag.c:452 +#: ../gtk/gtktextview.c:693 +msgid "Whether to wrap lines never, at word boundaries, or at character boundaries" +msgstr "Huruvida radbrytningar inte alls ska ske, om de ska ske mellan ord, eller mellan tecken" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:461 +#: ../gtk/gtktextview.c:740 msgid "Tabs" msgstr "Tabbsteg" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:462 +#: ../gtk/gtktextview.c:741 msgid "Custom tabs for this text" msgstr "Anpassade tabbsteg för denna text" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:480 msgid "Invisible" msgstr "Osynlig" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:481 msgid "Whether this text is hidden." msgstr "Huruvida denna text är dold." -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:495 msgid "Paragraph background color name" msgstr "Namn på styckebakgrundsfärg" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:496 msgid "Paragraph background color as a string" msgstr "Styckebakgrundsfärg som en sträng" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:511 msgid "Paragraph background color" msgstr "Styckebakgrundsfärg" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:512 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Styckebakgrundsfärg som en (möjligtvis oallokerad) GdkColor" -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:530 msgid "Margin Accumulates" msgstr "Marginaler ackumuleras" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:531 msgid "Whether left and right margins accumulate." msgstr "Huruvida vänstra och högra marginalerna ackumuleras." -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:544 msgid "Background full height set" msgstr "Bakgrund i fullständig höjd inställd" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:545 msgid "Whether this tag affects background height" msgstr "Huruvida denna tagg påverkar bakgrundens höjd" -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:584 msgid "Justification set" msgstr "Justering inställd" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:585 msgid "Whether this tag affects paragraph justification" msgstr "Huruvida denna tagg påverkar styckets justering" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:592 msgid "Left margin set" msgstr "Vänstermarginal inställd" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:593 msgid "Whether this tag affects the left margin" msgstr "Huruvida denna tagg påverkar vänstermarginalen" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:596 msgid "Indent set" msgstr "Indrag inställt" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:597 msgid "Whether this tag affects indentation" msgstr "Huruvida denna tagg påverkar indraget" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:604 msgid "Pixels above lines set" msgstr "Bildpunkter ovanför rader inställt" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:605 +#: ../gtk/gtktexttag.c:609 msgid "Whether this tag affects the number of pixels above lines" msgstr "Huruvida denna tagg påverkar antalet bildpunkter ovanför rader" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:608 msgid "Pixels below lines set" msgstr "Bildpunkter nedanför rader inställt" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:612 msgid "Pixels inside wrap set" msgstr "Bildpunkter inuti radbrytningar inställt" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:613 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "Huruvida denna tagg påverkar antalet bildpunkter mellan radbrytningar" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:620 msgid "Right margin set" msgstr "Högermarginal inställd" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:621 msgid "Whether this tag affects the right margin" msgstr "Huruvida denna tagg påverkar högermarginalen" -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:628 msgid "Wrap mode set" msgstr "Radbrytningsläge inställt" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:629 msgid "Whether this tag affects line wrap mode" msgstr "Huruvida denna tagg påverkar radbrytningsläget" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:632 msgid "Tabs set" msgstr "Tabbsteg inställt" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:633 msgid "Whether this tag affects tabs" msgstr "Huruvida denna tagg påverkar tabbsteg" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:636 msgid "Invisible set" msgstr "Osynlig inställd" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:637 msgid "Whether this tag affects text visibility" msgstr "Huruvida denna tagg påverkar textens synlighet" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:640 msgid "Paragraph background set" msgstr "Styckebakgrund inställd" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:641 msgid "Whether this tag affects the paragraph background color" msgstr "Huruvida denna tagg påverkar styckebakgrundsfärgen" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:654 msgid "Pixels Above Lines" msgstr "Bildpunkter ovanför rader" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:664 msgid "Pixels Below Lines" msgstr "Bildpunkter nedanför rader" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:674 msgid "Pixels Inside Wrap" msgstr "Bildpunkter mellan radbrytningar" -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:692 msgid "Wrap Mode" msgstr "Radbrytningsläge" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:710 msgid "Left Margin" msgstr "Vänstermarginal" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:720 msgid "Right Margin" msgstr "Högermarginal" -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:748 msgid "Cursor Visible" msgstr "Synlig markör" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:749 msgid "If the insertion cursor is shown" msgstr "Huruvida insättningsmarkören visas" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:756 msgid "Buffer" msgstr "Buffert" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:757 msgid "The buffer which is displayed" msgstr "Bufferten som visas" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:765 msgid "Whether entered text overwrites existing contents" msgstr "Huruvida inmatad text skriver över befintligt innehåll" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:772 msgid "Accepts tab" msgstr "Accepterar tabulator" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:773 msgid "Whether Tab will result in a tab character being entered" -msgstr "" -"Huruvida ett tabulatorsteg kommer att resultera i att ett tabulatortecken " -"anges" +msgstr "Huruvida ett tabulatorsteg kommer att resultera i att ett tabulatortecken anges" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:808 msgid "Error underline color" msgstr "Felunderstrykningsfärg" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:809 msgid "Color with which to draw error-indication underlines" msgstr "Färg att rita felindikerande understrykningar med" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Skapa samma ställföreträdare som en radioåtgärd" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" -msgstr "" -"Huruvida ställföreträdarna för denna åtgärd ser ut som ställföreträdare för " -"radioåtgärder" +msgstr "Huruvida ställföreträdarna för denna åtgärd ser ut som ställföreträdare för radioåtgärder" -#: gtk/gtktoggleaction.c:134 -#, fuzzy +#: ../gtk/gtktoggleaction.c:134 msgid "Whether the toggle action should be active" -msgstr "Om växlingsåtgärden ska vara aktiv in eller inte" +msgstr "Om växlingsåtgärden ska vara aktiv" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 -#, fuzzy +#: ../gtk/gtktogglebutton.c:126 +#: ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" -msgstr "Om växlingsknappen ska vara nedtryckt eller inte" +msgstr "Om växlingsknappen ska vara nedtryckt" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:134 msgid "If the toggle button is in an \"in between\" state" msgstr "Om växlingsknappen är i ett \"mellanläge\"" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:141 msgid "Draw Indicator" msgstr "Ritningsindikator" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:142 msgid "If the toggle part of the button is displayed" msgstr "Om växlingsdelen av knappen visas" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:490 +#: ../gtk/gtktoolpalette.c:1060 msgid "Toolbar Style" msgstr "Stil på verktygsrad" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:491 msgid "How to draw the toolbar" msgstr "Hur verktygsraden ska ritas" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:498 msgid "Show Arrow" msgstr "Visa pil" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:499 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Om en pil ska visas om verktygsraden inte passar" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:520 msgid "Size of icons in this toolbar" msgstr "Storlek på ikoner i denna verktygsrad" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolpalette.c:1046 msgid "Icon size set" msgstr "Ikonstorlek inställd" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolpalette.c:1047 msgid "Whether the icon-size property has been set" msgstr "Huruvida egenskapen ikonstorlek har ställts in" -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:545 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "Huruvida objektet ska få extra utrymme när verktygsraden växer" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "Huruvida objektet ska vara av samma storlek som andra liknande objekt" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:560 msgid "Spacer size" msgstr "Storlek på utfyllnad" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:561 msgid "Size of spacers" msgstr "Storlek på utfyllnad" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:570 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "Mängden kantutrymme mellan skuggan från verktygsraden och knapparna" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum child expand" msgstr "Maximal barnexpanderare" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:579 msgid "Maximum amount of space an expandable item will be given" msgstr "Maximal mängd utrymme som ett expanderbart objekt ska ges" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:587 msgid "Space style" msgstr "Stil på utfyllnad" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:588 msgid "Whether spacers are vertical lines or just blank" msgstr "Huruvida utfyllnad är vertikala linjer eller enbart tomt" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:595 msgid "Button relief" msgstr "Knapprelief" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:596 msgid "Type of bevel around toolbar buttons" msgstr "Typ av avfasning runt verktygsradsknappar" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:603 msgid "Style of bevel around the toolbar" msgstr "Stil på avfasning runt verktygsraden" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:203 msgid "Text to show in the item." msgstr "Text att visa i objektet." -#: gtk/gtktoolbutton.c:210 -msgid "" -"If set, an underline in the label property indicates that the next character " -"should be used for the mnemonic accelerator key in the overflow menu" -msgstr "" -"Om detta är angivet kommer en understrykning i etikettegenskapen att " -"indikera att nästa tecken ska användas som en genvägstangent i spillmenyn" +#: ../gtk/gtktoolbutton.c:210 +msgid "If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu" +msgstr "Om detta är angivet kommer en understrykning i etikettegenskapen att indikera att nästa tecken ska användas som en genvägstangent i spillmenyn" -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:217 msgid "Widget to use as the item label" msgstr "Widget att använda som objektetikett" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:223 msgid "Stock Id" msgstr "Standard-id" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:224 msgid "The stock icon displayed on the item" msgstr "Standardikonen som visas på objektet" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:240 msgid "Icon name" msgstr "Ikonstorlek" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:241 msgid "The name of the themed icon displayed on the item" msgstr "Namnet på temaikonen som visas på objektet" -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget" msgstr "Ikonwidget" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:248 msgid "Icon widget to display in the item" msgstr "Ikonsamling att visa i objektet" -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:261 msgid "Icon spacing" msgstr "Ikonutrymme" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:262 msgid "Spacing in pixels between the icon and label" msgstr "Utrymme mellan ikonen och etikett (i bildpunkter)" -#: gtk/gtktoolitem.c:201 -msgid "" -"Whether the toolbar item is considered important. When TRUE, toolbar buttons " -"show text in GTK_TOOLBAR_BOTH_HORIZ mode" -msgstr "" -"Huruvida verktygsradsobjektet är viktigt. Då detta är SANT visar " -"verktygsradsknappar text i GTK_TOOLBAR_BOTH_HORIZ-läge" +#: ../gtk/gtktoolitem.c:210 +msgid "Whether the toolbar item is considered important. When TRUE, toolbar buttons show text in GTK_TOOLBAR_BOTH_HORIZ mode" +msgstr "Huruvida verktygsradsobjektet är viktigt. Då detta är SANT visar verktygsradsknappar text i GTK_TOOLBAR_BOTH_HORIZ-läge" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 msgid "The human-readable title of this item group" msgstr "En läsbar titel för denna objektgrupp" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 msgid "A widget to display in place of the usual label" msgstr "En widget att visa istället för den vanliga etiketten" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "Utfälld" -#: gtk/gtktoolitemgroup.c:1586 +#: ../gtk/gtktoolitemgroup.c:1603 #, fuzzy msgid "Whether the group has been collapsed and items are hidden" msgstr "Huruvida gruppen har fällts ut och objekten är dolda" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "ellipsize" msgstr "elliptisera" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "Elliptisera för objektgruppens rubriker" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Header Relief" msgstr "Rubrikrelief" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "Relief of the group header button" msgstr "Relief för gruppens rubrikknapp" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 msgid "Header Spacing" msgstr "Rubrikutfyllnad" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 msgid "Spacing between expander arrow and caption" msgstr "Utrymme mellan expanderarpil och text" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 msgid "Whether the item should receive extra space when the group grows" msgstr "Huruvida objektet ska få extra utrymme när gruppen växer" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 msgid "Whether the item should fill the available space" msgstr "Huruvida objektet ska fylla upp tillgängligt utrymme" -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "Ny rad" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 msgid "Whether the item should start a new row" msgstr "Huruvida objektet ska påbörja en ny rad" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 msgid "Position of the item within this group" msgstr "Position för objektet inom denna grupp" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1031 msgid "Size of icons in this tool palette" msgstr "Storlek på ikoner i denna verktygspalett" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1061 msgid "Style of items in the tool palette" msgstr "Stil för objekten i verktygspaletten" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1077 msgid "Exclusive" msgstr "Exklusiv" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1078 msgid "Whether the item group should be the only expanded at a given time" msgstr "Huruvida objektgruppen ska vara den enda utfällda på angiven tid" -#: gtk/gtktoolpalette.c:1066 -msgid "" -"Whether the item group should receive extra space when the palette grows" +#: ../gtk/gtktoolpalette.c:1093 +msgid "Whether the item group should receive extra space when the palette grows" msgstr "Huruvida objektgruppen ska få extra utrymme när paletten växer" -#: gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color for symbolic icons" msgstr "Förgrundsfärg för symboliska ikoner" -#: gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:141 msgid "Error color" msgstr "Felfärg" -#: gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color for symbolic icons" msgstr "Felfärg för symboliska ikoner" -#: gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:149 msgid "Warning color" msgstr "Varningsfärg" -#: gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color for symbolic icons" msgstr "Varningsfärg för symboliska ikoner" -#: gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:157 msgid "Success color" msgstr "Lyckad färg" -#: gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color for symbolic icons" msgstr "Lyckad färg för symboliska ikoner" -#: gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:166 msgid "Padding that should be put around icons in the tray" msgstr "Utfyllnad som ska läggas runt ikoner i lådan" -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:310 msgid "TreeModelSort Model" msgstr "Modell för TreeModelSort" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:311 msgid "The model for the TreeModelSort to sort" msgstr "Modell för TreeModelSort att sortera" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:988 msgid "TreeView Model" msgstr "Trädvymodell" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:989 msgid "The model for the tree view" msgstr "Modell för trädvyn" -#: gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "Horisontell justering för widgeten" - -#: gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "Vertikal justering för widgeten" - -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:1001 msgid "Headers Visible" msgstr "Huvuden är synliga" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:1002 msgid "Show the column header buttons" msgstr "Visa knappar i kolumnhuvuden" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:1009 msgid "Headers Clickable" msgstr "Huvuden är klickbara" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:1010 msgid "Column headers respond to click events" msgstr "Kolumnhuvuden svarar på klickhändelser" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:1017 msgid "Expander Column" msgstr "Expanderarkolumn" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:1018 msgid "Set the column for the expander column" msgstr "Ställ in kolumnen för expanderarkolumnen" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:1033 msgid "Rules Hint" msgstr "Regeltips" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:1034 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "Ställ in ett tips för temamotorn att rita rader i alternerande färger" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:1041 msgid "Enable Search" msgstr "Använd sökning" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:1042 msgid "View allows user to search through columns interactively" msgstr "Vyn tillåter användaren att söka igenom kolumner interaktivt" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:1049 msgid "Search Column" msgstr "Sök kolumn" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:1050 msgid "Model column to search through during interactive search" msgstr "Modellkolumn att söka igenom vid interaktiv sökning" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:1070 msgid "Fixed Height Mode" msgstr "Läge med fast höjd" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:1071 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Snabbar upp GtkTreeView genom att antaga att alla rader har samma höjd" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:1091 msgid "Hover Selection" msgstr "Svävningsmarkering" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:1092 msgid "Whether the selection should follow the pointer" msgstr "Huruvida markeringen ska följa pekaren" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:1111 msgid "Hover Expand" msgstr "Svävningsexpansion" -#: gtk/gtktreeview.c:698 -msgid "" -"Whether rows should be expanded/collapsed when the pointer moves over them" +#: ../gtk/gtktreeview.c:1112 +msgid "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "Huruvida rader ska fällas ut/fällas in då pekaren flyttas över dem" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:1126 msgid "Show Expanders" msgstr "Visa expanderare" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:1127 msgid "View has expanders" msgstr "Vy har expanderare" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:1141 msgid "Level Indentation" msgstr "Indenteringsnivå" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:1142 msgid "Extra indentation for each level" msgstr "Extra indentering för varje nivå" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:1151 msgid "Rubber Banding" msgstr "Gummiband" -#: gtk/gtktreeview.c:738 -msgid "" -"Whether to enable selection of multiple items by dragging the mouse pointer" +#: ../gtk/gtktreeview.c:1152 +msgid "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "Huruvida flera objekt kan markeras genom att dra muspekaren" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:1159 msgid "Enable Grid Lines" msgstr "Aktivera rutnät" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:1160 msgid "Whether grid lines should be drawn in the tree view" msgstr "Huruvida rutnät ska ritas i trädvyn" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:1168 msgid "Enable Tree Lines" msgstr "Aktivera trädrader" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:1169 msgid "Whether tree lines should be drawn in the tree view" msgstr "Huruvida trädlinjer ska ritas i trädvyn" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:1177 msgid "The column in the model containing the tooltip texts for the rows" msgstr "Kolumnen för modellen som innehåller verktygstipstexterna för raderna" -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1199 msgid "Vertical Separator Width" msgstr "Vertikal avgränsarbredd" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical space between cells. Must be an even number" msgstr "Vertikalt utrymme mellan celler. Måste vara ett jämnt tal" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:1208 msgid "Horizontal Separator Width" msgstr "Horisontell avgränsarbredd" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal space between cells. Must be an even number" msgstr "Horisontellt utrymme mellan celler. Måsta vara ett jämnt tal" -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:1217 msgid "Allow Rules" msgstr "Tillåt linjaler" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:1218 msgid "Allow drawing of alternating color rows" msgstr "Tillåt ritning av alternerande färgrader" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:1224 msgid "Indent Expanders" msgstr "Indentera expanderare" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:1225 msgid "Make the expanders indented" msgstr "Gör expanderarna indenterade" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:1231 msgid "Even Row Color" msgstr "Färg på jämna rader" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:1232 msgid "Color to use for even rows" msgstr "Färg att använda på jämna rader" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1238 msgid "Odd Row Color" msgstr "Färg på udda rader" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1239 msgid "Color to use for odd rows" msgstr "Färg att använda på udda rader" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:1245 msgid "Grid line width" msgstr "Rutnätsradbredd" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1246 msgid "Width, in pixels, of the tree view grid lines" msgstr "Bredd, i bildpunkter, på trädvyns rutnätsrader" -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:1252 msgid "Tree line width" msgstr "Trädradsbredd" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:1253 msgid "Width, in pixels, of the tree view lines" msgstr "Bredd, i bildpunkter, på trädvyns rader" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:1259 msgid "Grid line pattern" msgstr "Rutnätsradmönster" -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:1260 msgid "Dash pattern used to draw the tree view grid lines" msgstr "Punktmönster som används för att rita trädvyns rutnätslinjer" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:1266 msgid "Tree line pattern" msgstr "Trädradsmönster" -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:1267 msgid "Dash pattern used to draw the tree view lines" msgstr "Punktmönster som används för att rita trädvyns linjer" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:243 msgid "Whether to display the column" msgstr "Huruvida kolumnen ska visas" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:250 +#: ../gtk/gtkwindow.c:646 msgid "Resizable" msgstr "Storleksändringsbar" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:251 msgid "Column is user-resizable" msgstr "Användaren kan ändra storleken på kolumnen" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:259 msgid "Current width of the column" msgstr "Aktuell bredd på kolumnen" -#: gtk/gtktreeviewcolumn.c:221 +#: ../gtk/gtktreeviewcolumn.c:268 msgid "Space which is inserted between cells" msgstr "Utrymme som infogas mellan celler" -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Sizing" msgstr "Storleksändring" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Resize mode of the column" msgstr "Kolumnens storleksändringsläge" -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:285 msgid "Fixed Width" msgstr "Fast bredd" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Current fixed width of the column" msgstr "Aktuell fast bredd på kolumnen" -#: gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Minimum Width" msgstr "Minsta bredd" -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:296 msgid "Minimum allowed width of the column" msgstr "Minsta tillåtna bredd på kolumnen" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:305 msgid "Maximum Width" msgstr "Största bredd" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum allowed width of the column" msgstr "Största tillåtna bredd på kolumnen" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:316 msgid "Title to appear in column header" msgstr "Titel att visa i kolumnhuvudet" -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Column gets share of extra width allocated to the widget" msgstr "Kolumnen får del av extra bredd som allokeras till widgeten" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:331 msgid "Clickable" msgstr "Klickbar" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Whether the header can be clicked" msgstr "Huruvida huvudet kan klickas i" -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:340 msgid "Widget" msgstr "Widget" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget to put in column header button instead of column title" msgstr "Widget att placera kolumnhuvudets knapp istället för kolumntiteln" -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:349 msgid "X Alignment of the column header text or widget" msgstr "X-justering av kolumnhuvudets text eller widget" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Whether the column can be reordered around the headers" msgstr "Huruvida kolumnen kan omarrangeras runt huvudena" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:366 msgid "Sort indicator" msgstr "Sorteringsindikator" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Whether to show a sort indicator" msgstr "Huruvida en sorteringsindikator ska visas" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:374 msgid "Sort order" msgstr "Sorteringsordning" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort direction the sort indicator should indicate" msgstr "Sorteringsriktning som sorteringsindikatorn ska indikera" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:391 msgid "Sort column ID" msgstr "Kolumn-id för sortering" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Logical sort column ID this column sorts on when selected for sorting" -msgstr "" -"Logiskt kolumn-id för sortering som denna kolumn sorterar efter när den " -"väljs för sortering" +msgstr "Logiskt kolumn-id för sortering som denna kolumn sorterar efter när den väljs för sortering" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "Huruvida löstagbara menyobjekt ska läggas till i menyer" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Sammanslagen användargränssnittsdefinition" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "En XML-sträng som beskriver det sammanslagna användargränssnittet" -#: gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "" -"Det GtkAdjustment som avgör värdena på den horisontella positionen för denna " -"skrivbordsvy" - -#: gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "" -"Det GtkAdjustment som avgör värdena på den vertikala positionen för denna " -"skrivbordsvy" - -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Bestämmer hur den skuggade rutan runt skrivbordsvyn ritas" -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkvolumebutton.c:156 +#, fuzzy +msgid "Use symbolic icons" +msgstr "Lyckad färg för symboliska ikoner" + +#: ../gtk/gtkvolumebutton.c:157 +#, fuzzy +msgid "Whether to use symbolic icons" +msgstr "Varningsfärg för symboliska ikoner" + +#: ../gtk/gtkwidget.c:893 msgid "Widget name" msgstr "Widgetnamn" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:894 msgid "The name of the widget" msgstr "Namnen på widgeten" -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:900 msgid "Parent widget" msgstr "Förälderwidget" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:901 msgid "The parent widget of this widget. Must be a Container widget" msgstr "Förälderwidgeten till denna widget. Måste vara en behållarwidget" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:908 msgid "Width request" msgstr "Breddbegäran" -#: gtk/gtkwidget.c:730 -msgid "" -"Override for width request of the widget, or -1 if natural request should be " -"used" -msgstr "" -"Åsidosättande för breddbegäran av widgeten, eller -1 om naturlig begäran ska " -"användas" +#: ../gtk/gtkwidget.c:909 +msgid "Override for width request of the widget, or -1 if natural request should be used" +msgstr "Åsidosättande för breddbegäran av widgeten, eller -1 om naturlig begäran ska användas" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:917 msgid "Height request" msgstr "Höjdbegäran" -#: gtk/gtkwidget.c:739 -msgid "" -"Override for height request of the widget, or -1 if natural request should " -"be used" -msgstr "" -"Åsidosättande för höjdbegäran av widgeten, eller -1 om naturlig begäran ska " -"användas" +#: ../gtk/gtkwidget.c:918 +msgid "Override for height request of the widget, or -1 if natural request should be used" +msgstr "Åsidosättande för höjdbegäran av widgeten, eller -1 om naturlig begäran ska användas" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:927 msgid "Whether the widget is visible" msgstr "Huruvida widgeten är synlig" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:934 msgid "Whether the widget responds to input" msgstr "Huruvida widgeten svarar på inmatning" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:940 msgid "Application paintable" msgstr "Programmet kan rita" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:941 msgid "Whether the application will paint directly on the widget" msgstr "Huruvida programmet kan rita direkt på widgeten" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:947 msgid "Can focus" msgstr "Kan få fokus" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:948 msgid "Whether the widget can accept the input focus" msgstr "Huruvida widgeten kan acceptera inmatningsfokus" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:954 msgid "Has focus" msgstr "Har fokus" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:955 msgid "Whether the widget has the input focus" msgstr "Huruvida widgeten har inmatningsfokus" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:961 msgid "Is focus" msgstr "Är fokus" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:962 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Huruvida widgeten är fokuswidgeten på toppnivån" -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:968 msgid "Can default" msgstr "Kan vara standard" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:969 msgid "Whether the widget can be the default widget" msgstr "Huruvida widgeten kan vara standardwidgeten" -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:975 msgid "Has default" msgstr "Har standard" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:976 msgid "Whether the widget is the default widget" msgstr "Huruvida widgeten är standardwidgeten" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:982 msgid "Receives default" msgstr "Mottar standard" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:983 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "Om SANT kommer widgeten att motta standardåtgärden då den har fokus" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:989 msgid "Composite child" msgstr "Sammansatt barn" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:990 msgid "Whether the widget is part of a composite widget" msgstr "Huruvida widgeten är en del av en sammansatt widget" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:996 msgid "Style" msgstr "Stil" -#: gtk/gtkwidget.c:818 -msgid "" -"The style of the widget, which contains information about how it will look " -"(colors etc)" -msgstr "" -"Stilen på widgeten, som innehåller information om hur den kommer att se ut " -"(färger osv)" +#: ../gtk/gtkwidget.c:997 +msgid "The style of the widget, which contains information about how it will look (colors etc)" +msgstr "Stilen på widgeten, som innehåller information om hur den kommer att se ut (färger osv)" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1003 msgid "Events" msgstr "Händelser" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1004 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "Händelsemasken som avgör vilken typ av GdkEvent som denna widget får" -#: gtk/gtkwidget.c:832 -msgid "Extension events" -msgstr "Utökningshändelser" - -#: gtk/gtkwidget.c:833 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "Masken som avgör vilken typ av utökningshändelser som denna widget får" - -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1011 msgid "No show all" msgstr "Visa inte alla" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1012 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Huruvida gtk_widget_show_all() inte ska påverka denna widget" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1035 msgid "Whether this widget has a tooltip" msgstr "Huruvida denna widget har ett verktygstips" -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1091 msgid "Window" msgstr "Fönster" -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1092 msgid "The widget's window if it is realized" msgstr "Widgetens fönster om det finns" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1106 msgid "Double Buffered" msgstr "Dubbelbuffrad" -#: gtk/gtkwidget.c:936 -#, fuzzy +#: ../gtk/gtkwidget.c:1107 msgid "Whether the widget is double buffered" -msgstr "Huruvida widgeten är dubbelbuffrad eller inte" +msgstr "Huruvida widgeten är dubbelbuffrad" -#: gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1122 msgid "How to position in extra horizontal space" msgstr "" -#: gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1138 msgid "How to position in extra vertical space" msgstr "" -#: gtk/gtkwidget.c:986 -#, fuzzy +#: ../gtk/gtkwidget.c:1157 msgid "Margin on Left" -msgstr "Marginal" +msgstr "Marginal på vänsterkanten" -#: gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1158 msgid "Pixels of extra space on the left side" msgstr "" -#: gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1178 msgid "Margin on Right" -msgstr "" +msgstr "Marginal på högerkanten" -#: gtk/gtkwidget.c:1008 -#, fuzzy +#: ../gtk/gtkwidget.c:1179 msgid "Pixels of extra space on the right side" -msgstr "Bildpunkter med tomt utrymme ovanför stycken" +msgstr "Bildpunkter med tomt utrymme på högra sidan" -#: gtk/gtkwidget.c:1028 -#, fuzzy +#: ../gtk/gtkwidget.c:1199 msgid "Margin on Top" -msgstr "Marginal" +msgstr "Marginal på överkanten" -#: gtk/gtkwidget.c:1029 -#, fuzzy +#: ../gtk/gtkwidget.c:1200 msgid "Pixels of extra space on the top side" -msgstr "Bildpunkter med tomt utrymme ovanför stycken" +msgstr "Bildpunkter med tomt utrymme på ovansidan" -#: gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1220 msgid "Margin on Bottom" -msgstr "" +msgstr "Marginal på nederkanten" -#: gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1221 msgid "Pixels of extra space on the bottom side" msgstr "" -#: gtk/gtkwidget.c:1067 -#, fuzzy +#: ../gtk/gtkwidget.c:1238 msgid "All Margins" -msgstr "Marginal" +msgstr "Alla marginaler" -#: gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1239 msgid "Pixels of extra space on all four sides" msgstr "" -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1272 +#, fuzzy +msgid "Horizontal Expand" +msgstr "Horisontell utfyllnad" + +#: ../gtk/gtkwidget.c:1273 +msgid "Whether widget wants more horizontal space" +msgstr "Huruvida widgeten vill ha mer horisontellt utrymme" + +#: ../gtk/gtkwidget.c:1287 +#, fuzzy +msgid "Horizontal Expand Set" +msgstr "Horisontell justering" + +#: ../gtk/gtkwidget.c:1288 +#, fuzzy +msgid "Whether to use the hexpand property" +msgstr "Huruvida egenskaper för utseende av relaterade åtgärder ska användas" + +#: ../gtk/gtkwidget.c:1302 +#, fuzzy +msgid "Vertical Expand" +msgstr "Vertikal utfyllnad" + +#: ../gtk/gtkwidget.c:1303 +msgid "Whether widget wants more vertical space" +msgstr "Huruvida widgeten vill ha mer vertikalt utrymme" + +#: ../gtk/gtkwidget.c:1317 +#, fuzzy +msgid "Vertical Expand Set" +msgstr "Vertikal justering" + +#: ../gtk/gtkwidget.c:1318 +#, fuzzy +msgid "Whether to use the vexpand property" +msgstr "Huruvida egenskaper för utseende av relaterade åtgärder ska användas" + +#: ../gtk/gtkwidget.c:1332 +#, fuzzy +msgid "Expand Both" +msgstr "Utöka tidsgräns" + +#: ../gtk/gtkwidget.c:1333 +msgid "Whether widget wants to expand in both directions" +msgstr "Huruvida widgeten vill expandera i båda riktningarna" + +#: ../gtk/gtkwidget.c:2992 msgid "Interior Focus" msgstr "Interiörfokus" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:2993 msgid "Whether to draw the focus indicator inside widgets" msgstr "Huruvida fokusindikatorn ritas inuti widgetar" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:2999 msgid "Focus linewidth" msgstr "Fokuslinjebredd" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3000 msgid "Width, in pixels, of the focus indicator line" msgstr "Bredd, i bildpunkter, på fokusindikatorlinjen" -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3006 msgid "Focus line dash pattern" msgstr "Punktmönster för fokuslinje" -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3007 msgid "Dash pattern used to draw the focus indicator" msgstr "Punktmönster som används för att rita fokusindikatorn" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3012 msgid "Focus padding" msgstr "Fokusutfyllnad" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3013 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Bredd, i bildpunkter, mellan fokusindikatorn och \"widgetrutan\"" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3018 msgid "Cursor color" msgstr "Markörfärg" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3019 msgid "Color with which to draw insertion cursor" msgstr "Färg att rita insättningsmarkören med" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3024 msgid "Secondary cursor color" msgstr "Sekundär markörfärg" -#: gtk/gtkwidget.c:2774 -msgid "" -"Color with which to draw the secondary insertion cursor when editing mixed " -"right-to-left and left-to-right text" -msgstr "" -"Färg med vilken den sekundära insättningspekaren vid redigering av blandad " -"höger-till-vänster- och vänster-till-höger-text ritas" +#: ../gtk/gtkwidget.c:3025 +msgid "Color with which to draw the secondary insertion cursor when editing mixed right-to-left and left-to-right text" +msgstr "Färg med vilken den sekundära insättningspekaren vid redigering av blandad höger-till-vänster- och vänster-till-höger-text ritas" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3030 msgid "Cursor line aspect ratio" msgstr "Proportioner för markörrad" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3031 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Proportioner att rita insättningsmarkören med" -#: gtk/gtkwidget.c:2786 +#: ../gtk/gtkwidget.c:3037 msgid "Window dragging" msgstr "Fönsterdragning" -#: gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3038 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Huruvida fönster kan dras genom att klicka på tomma ytor" -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3051 msgid "Unvisited Link Color" msgstr "Inte besökt länkfärg" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3052 msgid "Color of unvisited links" msgstr "Färg på inte besökta länkar" -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3065 msgid "Visited Link Color" msgstr "Besökt länkfärg" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3066 msgid "Color of visited links" msgstr "Färg på besökta länkar" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3080 msgid "Wide Separators" msgstr "Breda avgränsare" -#: gtk/gtkwidget.c:2830 -msgid "" -"Whether separators have configurable width and should be drawn using a box " -"instead of a line" -msgstr "" -"Huruvida avgränsare har konfigurerbar bredd och ska ritas ut med en ruta " -"istället för en linje" +#: ../gtk/gtkwidget.c:3081 +msgid "Whether separators have configurable width and should be drawn using a box instead of a line" +msgstr "Huruvida avgränsare har konfigurerbar bredd och ska ritas ut med en ruta istället för en linje" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3095 msgid "Separator Width" msgstr "Avgränsarbredd" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3096 msgid "The width of separators if wide-separators is TRUE" msgstr "Bredden på avgränsare om wide-separators är TRUE" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3110 msgid "Separator Height" msgstr "Avgränsarhöjd" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3111 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "Höjden på avgränsare om \"wide-separators\" är TRUE" -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3125 msgid "Horizontal Scroll Arrow Length" msgstr "Längd på horisontell rullningspil" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3126 msgid "The length of horizontal scroll arrows" msgstr "Längden på horisonella rullningspilar" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3140 msgid "Vertical Scroll Arrow Length" msgstr "Längd på vertikal rullningspil" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3141 msgid "The length of vertical scroll arrows" msgstr "Längden på vertikala rullningspilar" -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:604 msgid "Window Type" msgstr "Fönstertyp" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:605 msgid "The type of the window" msgstr "Typen av fönster" -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:613 msgid "Window Title" msgstr "Fönstertitel" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:614 msgid "The title of the window" msgstr "Titeln på fönstret" -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:621 msgid "Window Role" msgstr "Fönsterroll" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:622 msgid "Unique identifier for the window to be used when restoring a session" -msgstr "" -"Unik identifierare för fönstret som ska användas vid återställning av en " -"session" +msgstr "Unik identifierare för fönstret som ska användas vid återställning av en session" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:638 msgid "Startup ID" msgstr "Uppstarts-id" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:639 msgid "Unique startup identifier for the window used by startup-notification" -msgstr "" -"Unik uppstartsidentifierare för fönstret som ska användas av startup-" -"notification" +msgstr "Unik uppstartsidentifierare för fönstret som ska användas av startup-notification" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:647 msgid "If TRUE, users can resize the window" msgstr "Om SANT kan användare storleksändra fönstret" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:654 msgid "Modal" msgstr "Modalt" -#: gtk/gtkwindow.c:618 -msgid "" -"If TRUE, the window is modal (other windows are not usable while this one is " -"up)" -msgstr "" -"Om SANT är fönstret modalt (andra fönster är inte användbara så länge detta " -"fönster visas)" +#: ../gtk/gtkwindow.c:655 +msgid "If TRUE, the window is modal (other windows are not usable while this one is up)" +msgstr "Om SANT är fönstret modalt (andra fönster är inte användbara så länge detta fönster visas)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:662 msgid "Window Position" msgstr "Fönsterposition" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:663 msgid "The initial position of the window" msgstr "Den första positionen på fönstret" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:671 msgid "Default Width" msgstr "Standardbredd" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:672 msgid "The default width of the window, used when initially showing the window" msgstr "Standardbredden på fönstret, används då fönstret först visas" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:681 msgid "Default Height" msgstr "Standardhöjd" -#: gtk/gtkwindow.c:645 -msgid "" -"The default height of the window, used when initially showing the window" +#: ../gtk/gtkwindow.c:682 +msgid "The default height of the window, used when initially showing the window" msgstr "Standardhöjden på fönstret, används då fönstret först visas" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:691 msgid "Destroy with Parent" msgstr "Förstör med förälder" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:692 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Om detta fönster ska förstöras då dess förälder förstörs" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:700 msgid "Icon for this window" msgstr "Ikon för detta fönster" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:706 msgid "Mnemonics Visible" msgstr "Snabbtangenter synliga" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:707 msgid "Whether mnemonics are currently visible in this window" msgstr "Huruvida snabbtangenter visas för närvarande i detta fönster" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:723 msgid "Name of the themed icon for this window" msgstr "Namnet på den tematiserade ikonen för detta fönster" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:738 msgid "Is Active" msgstr "Är aktiv" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:739 msgid "Whether the toplevel is the current active window" msgstr "Huruvida toppnivån är det för tillfället aktiva fönstret" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:746 msgid "Focus in Toplevel" msgstr "Fokus i toppnivå" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:747 msgid "Whether the input focus is within this GtkWindow" msgstr "Huruvida inmatningsfokus är inom detta GtkWindow" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:754 msgid "Type hint" msgstr "Typtips" -#: gtk/gtkwindow.c:718 -msgid "" -"Hint to help the desktop environment understand what kind of window this is " -"and how to treat it." -msgstr "" -"Tips för att hjälpa skrivbordmiljön förstå vad för typ av fönster detta är " -"och hur det ska behandlas." +#: ../gtk/gtkwindow.c:755 +msgid "Hint to help the desktop environment understand what kind of window this is and how to treat it." +msgstr "Tips för att hjälpa skrivbordmiljön förstå vad för typ av fönster detta är och hur det ska behandlas." -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:763 msgid "Skip taskbar" msgstr "Hoppa över fönsterlista" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:764 msgid "TRUE if the window should not be in the task bar." msgstr "SANT om fönstret inte ska visas i fönsterlistan." -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:771 msgid "Skip pager" msgstr "Hoppa över väljaren" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:772 msgid "TRUE if the window should not be in the pager." msgstr "SANT om fönstret inte ska vara i skrivbordsväljaren." -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:779 msgid "Urgent" msgstr "Brådskande" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:780 msgid "TRUE if the window should be brought to the user's attention." msgstr "SANT om användaren ska göras uppmärksam på fönstret." -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:794 msgid "Accept focus" msgstr "Acceptera fokus" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:795 msgid "TRUE if the window should receive the input focus." msgstr "SANT om fönstret ska få inmatningsfokus." -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:809 msgid "Focus on map" msgstr "Fokusera vid mappning" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:810 msgid "TRUE if the window should receive the input focus when mapped." msgstr "SANT om fönstret ska få inmatningsfokus då det mappas." -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:824 msgid "Decorated" msgstr "Dekorerat" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:825 msgid "Whether the window should be decorated by the window manager" msgstr "Huruvida fönstret ska vara dekorerat i fönsterhanteraren" -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:839 msgid "Deletable" msgstr "Borttagningsbart" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:840 msgid "Whether the window frame should have a close button" msgstr "Huruvida fönsterramen ska ha en stängningsknapp" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:859 +#, fuzzy +msgid "Resize grip" +msgstr "Har handtag för storleksändring" + +#: ../gtk/gtkwindow.c:860 +#, fuzzy +msgid "Specifies whether the window should have a resize grip" +msgstr "Huruvida fönsterramen ska ha en stängningsknapp" + +#: ../gtk/gtkwindow.c:874 +msgid "Resize grip is visible" +msgstr "" + +#: ../gtk/gtkwindow.c:875 +#, fuzzy +msgid "Specifies whether the window's resize grip is visible." +msgstr "Huruvida åtgärdsgruppen är synlig." + +#: ../gtk/gtkwindow.c:891 msgid "Gravity" msgstr "Gravitet" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:892 msgid "The window gravity of the window" msgstr "Fönstrets fönstergravitet" # Bättre ord saknas -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:909 msgid "Transient for Window" msgstr "Kortvarighet för fönster" # Bättre ord? -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:910 msgid "The transient parent of the dialog" msgstr "Kortvarig förälder för dialogrutan" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:925 msgid "Opacity for Window" msgstr "Opakhet för fönster" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:926 msgid "The opacity of the window, from 0 to 1" msgstr "Opakheten för fönstret, från 0 till 1" -#: modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "IM-förredigeringsstil" +#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:937 +msgid "Width of resize grip" +msgstr "" -#: modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "Hur inmatningsmetodens förredigeringssträng ska ritas" +#: ../gtk/gtkwindow.c:942 +#: ../gtk/gtkwindow.c:943 +#, fuzzy +msgid "Height of resize grip" +msgstr "Har handtag för storleksändring" -#: modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "IM-statusstil" +#: ../gtk/gtkwindow.c:962 +msgid "GtkApplication" +msgstr "GtkApplication" -#: modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "Hur inmatningsmetodens statusrad ska ritas" +#: ../gtk/gtkwindow.c:963 +msgid "The GtkApplication for the window" +msgstr "GtkApplication för fönstret" +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "Etiketten för länken till programmets webbplats. Om detta inte är angivet " +#~ "är standardalternativet URL:en" +#~ msgid "Horizontal adjustment" +#~ msgstr "Horisontell justering" +#~ msgid "Vertical adjustment" +#~ msgstr "Vertikal justering" +#~ msgid "Lower" +#~ msgstr "Lägre" +#~ msgid "Lower limit of ruler" +#~ msgstr "Lägre gräns för linjal" +#~ msgid "Upper" +#~ msgstr "Övre" +#~ msgid "Upper limit of ruler" +#~ msgstr "Övre gräns för linjal" +#~ msgid "Position of mark on the ruler" +#~ msgstr "Position för märket på linjalen" +#~ msgid "Max Size" +#~ msgstr "Maxstorlek" +#~ msgid "Maximum size of the ruler" +#~ msgstr "Största storlek på linjalen" + +# Osäker. +#~ msgid "Metric" +#~ msgstr "Metrik" +# Osäker. +#~ msgid "The metric used for the ruler" +#~ msgstr "Metriken som används i linjalen" +#~ msgid "Whether the statusbar has a grip for resizing the toplevel" +#~ msgstr "" +#~ "Huruvida statusraden har ett handtag för storleksändring av toppnivån" +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "Horisontell justering för widgeten" +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "Vertikal justering för widgeten" +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "" +#~ "Det GtkAdjustment som avgör värdena på den horisontella positionen för " +#~ "denna skrivbordsvy" +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "" +#~ "Det GtkAdjustment som avgör värdena på den vertikala positionen för denna " +#~ "skrivbordsvy" +#~ msgid "Extension events" +#~ msgstr "Utökningshändelser" +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "Masken som avgör vilken typ av utökningshändelser som denna widget får" #~ msgid "the GdkScreen for the renderer" #~ msgstr "GdkScreen för renderaren" - #~ msgid "The adjustment that holds the value of the spinbutton." #~ msgstr "Justeringen som håller värdet på snurrknappen." - #~ msgid "Has separator" #~ msgstr "Har avgränsare" - #~ msgid "The dialog has a separator bar above its buttons" #~ msgstr "Dialogen har en avgränsarrad ovanför dess knappar" - #~ msgid "Invisible char set" #~ msgstr "Osynligt tecken inställt" - #~ msgid "State Hint" #~ msgstr "Tillståndshint" - #~ msgid "Whether to pass a proper state when drawing shadow or background" #~ msgstr "" #~ "Huruvida ett korrekt tillstånd ska skickas när skuggor eller bakgrund " #~ "ritas ut" - #~ msgid "Deprecated property, use shadow_type instead" #~ msgstr "Föråldrad egenskap, använd shadow_type istället" - #~ msgid "Pixmap" #~ msgstr "Pixmap" - #~ msgid "A GdkPixmap to display" #~ msgstr "En GdkPixmap att visa" - #~ msgid "A GdkImage to display" #~ msgstr "En GdkImage att visa" - #~ msgid "Mask" #~ msgstr "Mask" - #~ msgid "Mask bitmap to use with GdkImage or GdkPixmap" #~ msgstr "Maskbitmappsbild att använda med GdkImage eller GdkPixmap" - #~ msgid "Use separator" #~ msgstr "Använd avgränsare" - #~ msgid "" #~ "Whether to put a separator between the message dialog's text and the " #~ "buttons" #~ msgstr "" #~ "Huruvida en avgränsare ska placeras mellan meddelandedialogens text och " #~ "knapparna" - #~ msgid "Draw slider ACTIVE during drag" #~ msgstr "Rita ut draglisten AKTIV under dragning" - #~ msgid "" #~ "With this option set to TRUE, sliders will be drawn ACTIVE and with " #~ "shadow IN while they are dragged" #~ msgstr "" #~ "Med det här alternativ inställt till TRUE kommer draglister att ritas " #~ "AKTIVA och med skugga I när de dras" - #~ msgid "Trough Side Details" #~ msgstr "Detaljer för trågsida" - #~ msgid "" #~ "When TRUE, the parts of the trough on the two sides of the slider are " #~ "drawn with different details" #~ msgstr "" #~ "När TRUE kommer delarna av tråget på båda sidor av draglisten att ritas " #~ "ut med olika detaljer" - #~ msgid "Stepper Position Details" #~ msgstr "Positionsdetaljer om stegare" - #~ msgid "" #~ "When TRUE, the detail string for rendering the steppers is suffixed with " #~ "position information" #~ msgstr "" #~ "När TRUE så läggs positionsinformation på slutet av detaljsträngen för " #~ "utritning av stegare" - #~ msgid "Blinking" #~ msgstr "Blinkar" - #~ msgid "Whether or not the status icon is blinking" #~ msgstr "Huruvida statusikonen blinkar eller inte" - #~ msgid "Background stipple mask" #~ msgstr "Bakgrundens punkteringsmask" - #~ msgid "Bitmap to use as a mask when drawing the text background" #~ msgstr "Bitmappsbild att använda som mask när textbakgrunden ritas" - #~ msgid "Foreground stipple mask" #~ msgstr "Förgrundens punkteringsmask" - #~ msgid "Bitmap to use as a mask when drawing the text foreground" #~ msgstr "Bitmappsbild att använda som mask när textförgrunden ritas" - #~ msgid "Background stipple set" #~ msgstr "Bakgrundspunktering inställd" - #~ msgid "Whether this tag affects the background stipple" #~ msgstr "Huruvida denna tagg påverkar bagrundspunkteringen" - #~ msgid "Foreground stipple set" #~ msgstr "Förgrundspunktering inställd" - #~ msgid "Whether this tag affects the foreground stipple" #~ msgstr "Huruvida denna tagg påverkar förgrundens punktering" - #~ msgid "Row Ending details" #~ msgstr "Detaljer för radslut" - #~ msgid "Enable extended row background theming" #~ msgstr "Aktivera utökat radbakgrundstema" - #~ msgid "Draw Border" #~ msgstr "Rita ram" - #~ msgid "Size of areas outside the widget's allocation to draw" #~ msgstr "Storlek på områden utanför widgetens allokering för att rita" - #~ msgid "Loop" #~ msgstr "Upprepa" - #~ msgid "Whether the animation should loop when it reaches the end" #~ msgstr "Huruvida animationen ska upprepas när den når slutet" - #~ msgid "Number of Channels" #~ msgstr "Antal kanaler" - #~ msgid "The number of samples per pixel" #~ msgstr "Antal prov per bildpunkt" - #~ msgid "Colorspace" #~ msgstr "Färgrymd" - #~ msgid "The colorspace in which the samples are interpreted" #~ msgstr "Den färgrymd i vilken proven tolkas" - #~ msgid "Has Alpha" #~ msgstr "Har alfa" - #~ msgid "Whether the pixbuf has an alpha channel" #~ msgstr "Huruvida pixbufen har en alfakanal" - #~ msgid "Bits per Sample" #~ msgstr "Bitar per prov" - #~ msgid "The number of bits per sample" #~ msgstr "Antalet bitar per prov" - #~ msgid "The number of columns of the pixbuf" #~ msgstr "Antalet kolumner i pixbufen" - #~ msgid "The number of rows of the pixbuf" #~ msgstr "Antalet rader i pixbufen" - # Osäker #~ msgid "Rowstride" #~ msgstr "Radhöjd" - #~ msgid "" #~ "The number of bytes between the start of a row and the start of the next " #~ "row" #~ msgstr "Antalet byte mellan början av en rad och början på nästa rad" - #~ msgid "Pixels" #~ msgstr "Bildpunkter" - #~ msgid "A pointer to the pixel data of the pixbuf" #~ msgstr "En pekare till bildpunktsdata för pixbufen" - #~ msgid "The GdkFont that is currently selected" #~ msgstr "Den GdkFont som är vald för tillfället" - #~ msgid "Activity mode" #~ msgstr "Aktivitetsläge" - #~ msgid "" #~ "If TRUE, the GtkProgress is in activity mode, meaning that it signals " #~ "something is happening, but not how much of the activity is finished. " @@ -7458,298 +7398,215 @@ msgstr "Hur inmatningsmetodens statusrad ska ritas" #~ "signalerar att något händer, men inte hur mycket aktiviteten är slutförd. " #~ "Detta används när du gör någonting som du inte vet hur lång tid det " #~ "kommer att ta." - #~ msgid "" #~ "The maximum number of items to be returned by gtk_recent_manager_get_items" #~ "()" #~ msgstr "" #~ "Maximalt antal objekt att returnera av gtk_recent_manager_get_items()" - #~ msgid "Allow Shrink" #~ msgstr "Tillåt krympning" - #~ msgid "" #~ "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of " #~ "the time a bad idea" #~ msgstr "" #~ "Om SANT har fönstret ingen minsta storlek. Att ställa in detta till SANT " #~ "är en dum idé i 99% av fallen" - #~ msgid "Allow Grow" #~ msgstr "Tillåt växande" - #~ msgid "If TRUE, users can expand the window beyond its minimum size" #~ msgstr "Om SANT kan användare utöka fönstret utöver dess minsta storlek" - #~ msgid "Enable arrow keys" #~ msgstr "Använd piltangenter" - #~ msgid "Whether the arrow keys move through the list of items" #~ msgstr "Huruvida piltangenter flyttar genom listan med objekt" - #~ msgid "Always enable arrows" #~ msgstr "Använd alltid pilar" - #~ msgid "Obsolete property, ignored" #~ msgstr "Föråldrad egenskap, ignorerad" - #~ msgid "Case sensitive" #~ msgstr "Gör skillnad på VERSALER/gemener" - #~ msgid "Whether list item matching is case sensitive" #~ msgstr "Huruvida listobjektet gör skillnad på versaler/gemener" - #~ msgid "Allow empty" #~ msgstr "Tillåt tomt" - #~ msgid "Whether an empty value may be entered in this field" #~ msgstr "Huruvida ett tomt värde kan anges i detta fält" - #~ msgid "Value in list" #~ msgstr "Värde i lista" - #~ msgid "Whether entered values must already be present in the list" #~ msgstr "Huruvida angivna värden redan måste finnas i listan" - #~ msgid "Is this curve linear, spline interpolated, or free-form" #~ msgstr "Är denna kurva linjär, spline-interpolerad eller friform" - #~ msgid "Minimum X" #~ msgstr "Minsta X" - #~ msgid "Minimum possible value for X" #~ msgstr "Minsta möjliga värde på X" - #~ msgid "Maximum X" #~ msgstr "Största X" - #~ msgid "Maximum possible X value" #~ msgstr "Största möjliga värde på X" - #~ msgid "Minimum Y" #~ msgstr "Minsta Y" - #~ msgid "Minimum possible value for Y" #~ msgstr "Minsta möjliga värde på Y" - #~ msgid "Maximum Y" #~ msgstr "Största Y" - #~ msgid "Maximum possible value for Y" #~ msgstr "Största möjliga värde på Y" - #~ msgid "File System Backend" #~ msgstr "Filsystemsbakände" - #~ msgid "Name of file system backend to use" #~ msgstr "Namn på filsystemsbakände att använda" - #~ msgid "The currently selected filename" #~ msgstr "Det filnamn som är valt för tillfället" - #~ msgid "Show file operations" #~ msgstr "Visa filoperationer" - #~ msgid "Whether buttons for creating/manipulating files should be displayed" #~ msgstr "Huruvida knappar för skapande/manipulering av filer ska visas" - #~ msgid "Tab Border" #~ msgstr "Flikram" - #~ msgid "Width of the border around the tab labels" #~ msgstr "Bredd på ramen runt fliketiketterna" - #~ msgid "Horizontal Tab Border" #~ msgstr "Horisontell flikram" - #~ msgid "Width of the horizontal border of tab labels" #~ msgstr "Bredd på den horisontella ramen runt fliketiketter" - #~ msgid "Vertical Tab Border" #~ msgstr "Vertikal flikram" - #~ msgid "Width of the vertical border of tab labels" #~ msgstr "Bredd på den vertikala ramen runt fliketiketter" - #~ msgid "Whether tabs should have homogeneous sizes" #~ msgstr "Huruvida flikar ska ha samma storlek" - #~ msgid "Group ID for tabs drag and drop" #~ msgstr "Grupp-id för flikarnas drag-och-släpp" - #~ msgid "User Data" #~ msgstr "Användardata" - #~ msgid "Anonymous User Data Pointer" #~ msgstr "Pekare till anonym användardata" - #~ msgid "The menu of options" #~ msgstr "Alternativmenyn" - #~ msgid "Size of dropdown indicator" #~ msgstr "Storlek på nedfällningsindikator" - #~ msgid "Spacing around indicator" #~ msgstr "Utrymme runt indikator" - #~ msgid "" #~ "Whether the preview widget should take up the entire space it is allocated" #~ msgstr "" #~ "Huruvida förhandsvisningswidgeten ska fylla ut hela det utrymme det har " #~ "allokerats" - #~ msgid "The GtkAdjustment connected to the progress bar (Deprecated)" #~ msgstr "GtkAdjustment ansluten till förloppsmätaren (föråldrat)" - #~ msgid "Bar style" #~ msgstr "Mätarstil" - #~ msgid "" #~ "Specifies the visual style of the bar in percentage mode (Deprecated)" #~ msgstr "Anger utseendet på mätaren i procentläge (föråldrat)" - #~ msgid "Activity Step" #~ msgstr "Aktivitetssteg" - #~ msgid "The increment used for each iteration in activity mode (Deprecated)" #~ msgstr "" #~ "Ökningen som används för varje iterering i aktivitetsläge (föråldrat)" - #~ msgid "Activity Blocks" #~ msgstr "Aktivitetsblock" - #~ msgid "" #~ "The number of blocks which can fit in the progress bar area in activity " #~ "mode (Deprecated)" #~ msgstr "" #~ "Antalet block som kan passa in i förloppsmätarområdet i aktivitetsläge " #~ "(föråldrat)" - #~ msgid "Discrete Blocks" #~ msgstr "Diskreta block" - #~ msgid "" #~ "The number of discrete blocks in a progress bar (when shown in the " #~ "discrete style)" #~ msgstr "" #~ "Antalet diskreta block i en förloppsmätare (när den visas i diskret stil)" - #~ msgid "Horizontal adjustment for the text widget" #~ msgstr "Horisontell justering för textwidgeten" - #~ msgid "Vertical adjustment for the text widget" #~ msgstr "Vertikal justering för textwidgeten" - #~ msgid "Line Wrap" #~ msgstr "Radbryt" - #~ msgid "Whether lines are wrapped at widget edges" #~ msgstr "Huruvida radbrytning sker vid widgetkanter" - #~ msgid "Word Wrap" #~ msgstr "Ordbryt" - #~ msgid "Whether words are wrapped at widget edges" #~ msgstr "Huruvida ord bryts vid widgetkanter" - #~ msgid "Tooltips" #~ msgstr "Verktygstips" - #~ msgid "If the tooltips of the toolbar should be active or not" #~ msgstr "Om verktygstipsen på verktygsraden ska vara aktiva eller inte" - #~ msgid "The orientation of the toolbar" #~ msgstr "Orienteringen för verktygsraden" - #~ msgid "Whether stock icons should be shown in buttons" #~ msgstr "Huruvida standardikoner ska visas i knappar" - #~ msgid "Whether or not the operation has been successfully cancelled" #~ msgstr "Huruvida avbrytandet av åtgärden har lyckats eller inte" - #~ msgid "" #~ "A number between 0.0 and 1.0 specifying the horizontal alignment of the " #~ "text in the progress widget" #~ msgstr "" #~ "Ett tal mellan 0.0 och 1.0 som anger den horisontella justeringen av " #~ "texten i förloppswidgeten" - #~ msgid "" #~ "A number between 0.0 and 1.0 specifying the vertical alignment of the " #~ "text in the progress widget" #~ msgstr "" #~ "Ett tal mellan 0.0 och 1.0 som anger den vertikala justeringen av texten " #~ "i förloppswidgeten" - #, fuzzy #~ msgid "The current page in the document." #~ msgstr "Sidstorleken på justeringen" - #~ msgid "Homogenous" #~ msgstr "Homogena" #, fuzzy #~ msgid "Show Preview" #~ msgstr "Visa text" - #~ msgid "" #~ "Whether a file chooser in save modewill present an overwrite confirmation " #~ "dialog if necessary." #~ msgstr "" #~ "Huruvidare en filväljare i sparandeläge kommer att visa en " #~ "överskrivningsbekräftelsedialog om så behövs." - #~ msgid "What degree of hinting to use; none, slight, medium, or full" #~ msgstr "" #~ "Vilken grad av hintning att använda; ingen, liten, mellan, eller " #~ "fullständig" - #~ msgid "" #~ "Offset of text above the baseline (below the baseline if rise is " #~ "negative) in pixels" #~ msgstr "" #~ "Avstånd för texten ovanför baslinjen (nedanför baslinjen om höjning är " #~ "negativt) i bildpunkter" - #~ msgid "Space which is inserted between grid column" #~ msgstr "Mellanrum som infogas mellan kolumn i rutnät" - #~ msgid "Whether this text is hidden. Not implemented in GTK 2.0" #~ msgstr "Huruvida denna text är dold. Inte implementerat i GTK 2.0" - #~ msgid "" #~ "Whether rows should be expanded/collaped when the pointer moves over them" #~ msgstr "Huruvida rader ska fällas ut/fällas in då pekaren flyttas över dem" - #~ msgid "Width in characters" #~ msgstr "Bredd i antal tecken" - #~ msgid "Maximum Width in Characters" #~ msgstr "Maximal bredd i antal tecken" - #~ msgid "Modules" #~ msgstr "Moduler" - #~ msgid "Width In Chararacters" #~ msgstr "Bredd i antal tecken" - #~ msgid "Row separator column" #~ msgstr "Radavskiljarkolumn" - #~ msgid "ComboBox appareance" #~ msgstr "ComboBox-utseende" - #~ msgid "ComboBox appearance, where TRUE means Windows-style." #~ msgstr "ComboBox-utseende, där SANT betyder av Windows-typ." - #~ msgid "The horizontal alignment, from 0 (left) to 1 (right)" #~ msgstr "Horisontell justering, från 0 (vänster) till 1 (höger)" - #~ msgid "Folder Mode" #~ msgstr "Mappläge" - #~ msgid "Whether to select folders rather than files" #~ msgstr "Huruvida den mappar ska väljas istället för filer" - #~ msgid "File System" #~ msgstr "Filsystem" + From cdb998dea6d658d5bb3da10e42d944a3fd508319 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 13:05:46 +0100 Subject: [PATCH 0964/1463] Fix line endings The unix version had CrLf which results in modified by checkout under windows. --- po/ug.po | 10016 ++++++++++++++++++++++++++--------------------------- 1 file changed, 5008 insertions(+), 5008 deletions(-) diff --git a/po/ug.po b/po/ug.po index 8610cdf83e..fcce4461ad 100644 --- a/po/ug.po +++ b/po/ug.po @@ -1,5008 +1,5008 @@ -# Uighur translation for gtk+2.0 -# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 -# This file is distributed under the same license as the gtk+2.0 package. -# Ömerjan Tursunqasim , 2008. -# Sahran , 2010 -# -msgid "" -msgstr "" -"Project-Id-Version: gtk+2.0\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" -"2b&component=general\n" -"POT-Creation-Date: 2010-08-03 17:54+0000\n" -"PO-Revision-Date: 2010-08-02 01:02+0600\n" -"Last-Translator: Sahran \n" -"Language-Team: Uyghur Computer Science Association \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" -"X-Generator: Launchpad (build Unknown)\n" - -#: ../gdk/gdk.c:102 -#, c-format -msgid "Error parsing option --gdk-debug" -msgstr " --gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" - -#: ../gdk/gdk.c:122 -#, c-format -msgid "Error parsing option --gdk-no-debug" -msgstr " --gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" - -#. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:150 -msgid "Program class as used by the window manager" -msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" - -#. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:151 -msgid "CLASS" -msgstr "تۈر" - -#. Description of --name=NAME in --help output -#: ../gdk/gdk.c:153 -msgid "Program name as used by the window manager" -msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" - -#. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:154 -msgid "NAME" -msgstr "ئاتى" - -#. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:156 -msgid "X display to use" -msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" - -#. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:157 -msgid "DISPLAY" -msgstr "كۆرسەت" - -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:159 -msgid "X screen to use" -msgstr "ئىشلەتكەن X ئېكران " - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:160 -msgid "SCREEN" -msgstr "ئېكران" - -#. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:163 -msgid "Gdk debugging flags to set" -msgstr "Gdk سازلاش تەڭشەك بەلگىسى" - -#. Placeholder in --gdk-debug=FLAGS in --help output -#. Placeholder in --gdk-no-debug=FLAGS in --help output -#. Placeholder in --gtk-debug=FLAGS in --help output -#. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:164 ../gdk/gdk.c:167 ../gtk/gtkmain.c:438 ../gtk/gtkmain.c:441 -msgid "FLAGS" -msgstr "بەلگە" - -#. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:166 -msgid "Gdk debugging flags to unset" -msgstr "قالدۇرماقچى بولغان Gdk سازلاش بەلگىسى" - -#: ../gdk/keyname-table.h:3940 -msgctxt "keyboard label" -msgid "BackSpace" -msgstr "چىكىنىش كۇنۇپكىسى" - -#: ../gdk/keyname-table.h:3941 -msgctxt "keyboard label" -msgid "Tab" -msgstr "Tab" - -#: ../gdk/keyname-table.h:3942 -msgctxt "keyboard label" -msgid "Return" -msgstr "Return" - -#: ../gdk/keyname-table.h:3943 -msgctxt "keyboard label" -msgid "Pause" -msgstr "ۋاقىتلىق توختا" - -#: ../gdk/keyname-table.h:3944 -msgctxt "keyboard label" -msgid "Scroll_Lock" -msgstr "Scroll_Lock" - -#: ../gdk/keyname-table.h:3945 -msgctxt "keyboard label" -msgid "Sys_Req" -msgstr "Sys_Req" - -#: ../gdk/keyname-table.h:3946 -msgctxt "keyboard label" -msgid "Escape" -msgstr "Escape" - -#: ../gdk/keyname-table.h:3947 -msgctxt "keyboard label" -msgid "Multi_key" -msgstr "Multi_key" - -#: ../gdk/keyname-table.h:3948 -msgctxt "keyboard label" -msgid "Home" -msgstr "Home" - -#: ../gdk/keyname-table.h:3949 -msgctxt "keyboard label" -msgid "Left" -msgstr "سول" - -#: ../gdk/keyname-table.h:3950 -msgctxt "keyboard label" -msgid "Up" -msgstr "يۇقىرى" - -#: ../gdk/keyname-table.h:3951 -msgctxt "keyboard label" -msgid "Right" -msgstr "ئوڭ" - -#: ../gdk/keyname-table.h:3952 -msgctxt "keyboard label" -msgid "Down" -msgstr "تۆۋەن" - -#: ../gdk/keyname-table.h:3953 -msgctxt "keyboard label" -msgid "Page_Up" -msgstr "Page_Up" - -#: ../gdk/keyname-table.h:3954 -msgctxt "keyboard label" -msgid "Page_Down" -msgstr "Page_Down" - -#: ../gdk/keyname-table.h:3955 -msgctxt "keyboard label" -msgid "End" -msgstr "تامام" - -#: ../gdk/keyname-table.h:3956 -msgctxt "keyboard label" -msgid "Begin" -msgstr "باشلا" - -#: ../gdk/keyname-table.h:3957 -msgctxt "keyboard label" -msgid "Print" -msgstr "باس" - -#: ../gdk/keyname-table.h:3958 -msgctxt "keyboard label" -msgid "Insert" -msgstr "قىستۇر" - -#: ../gdk/keyname-table.h:3959 -msgctxt "keyboard label" -msgid "Num_Lock" -msgstr "Num_Lock" - -#: ../gdk/keyname-table.h:3960 -msgctxt "keyboard label" -msgid "KP_Space" -msgstr "KP_Space" - -#: ../gdk/keyname-table.h:3961 -msgctxt "keyboard label" -msgid "KP_Tab" -msgstr "KP_Tab" - -#: ../gdk/keyname-table.h:3962 -msgctxt "keyboard label" -msgid "KP_Enter" -msgstr "KP_Enter" - -#: ../gdk/keyname-table.h:3963 -msgctxt "keyboard label" -msgid "KP_Home" -msgstr "KP_Home" - -#: ../gdk/keyname-table.h:3964 -msgctxt "keyboard label" -msgid "KP_Left" -msgstr "KP_Left" - -#: ../gdk/keyname-table.h:3965 -msgctxt "keyboard label" -msgid "KP_Up" -msgstr "KP_Up" - -#: ../gdk/keyname-table.h:3966 -msgctxt "keyboard label" -msgid "KP_Right" -msgstr "KP_Right" - -#: ../gdk/keyname-table.h:3967 -msgctxt "keyboard label" -msgid "KP_Down" -msgstr "KP_Down" - -#: ../gdk/keyname-table.h:3968 -msgctxt "keyboard label" -msgid "KP_Page_Up" -msgstr "KP_Page_Up" - -#: ../gdk/keyname-table.h:3969 -msgctxt "keyboard label" -msgid "KP_Prior" -msgstr "KP_Prior" - -#: ../gdk/keyname-table.h:3970 -msgctxt "keyboard label" -msgid "KP_Page_Down" -msgstr "KP_Page_Down" - -#: ../gdk/keyname-table.h:3971 -msgctxt "keyboard label" -msgid "KP_Next" -msgstr "KP_Next" - -#: ../gdk/keyname-table.h:3972 -msgctxt "keyboard label" -msgid "KP_End" -msgstr "KP_End" - -#: ../gdk/keyname-table.h:3973 -msgctxt "keyboard label" -msgid "KP_Begin" -msgstr "KP_Begin" - -#: ../gdk/keyname-table.h:3974 -msgctxt "keyboard label" -msgid "KP_Insert" -msgstr "KP_Insert" - -#: ../gdk/keyname-table.h:3975 -msgctxt "keyboard label" -msgid "KP_Delete" -msgstr "KP_Delete" - -#: ../gdk/keyname-table.h:3976 -msgctxt "keyboard label" -msgid "Delete" -msgstr "ئۆچۈر" - -#. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 -msgid "Don't batch GDI requests" -msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ" - -#. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 -msgid "Don't use the Wintab API for tablet support" -msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ" - -#. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 -msgid "Same as --no-wintab" -msgstr "--no-wintab بىلەن ئوخشاش" - -#. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 -msgid "Do use the Wintab API [default]" -msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]" - -#. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 -msgid "Size of the palette in 8 bit mode" -msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" - -#. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 -msgid "COLORS" -msgstr "رەڭ" - -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:93 -msgid "Make X calls synchronous" -msgstr "X نى قەدەمداش قىلىپ ئىشلەت" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 -#, c-format -msgid "Starting %s" -msgstr "%s قوزغىلىۋاتىدۇ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:314 -#, c-format -msgid "Opening %s" -msgstr "%s نى ئېچىۋاتىدۇ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 -#, c-format -msgid "Opening %d Item" -msgid_plural "Opening %d Items" -msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" - -#: ../gtk/gtkaboutdialog.c:240 -msgid "Could not show link" -msgstr "ئۇلانمىنى كۆرسىتەلمىدى" - -#: ../gtk/gtkaboutdialog.c:363 ../gtk/gtkaboutdialog.c:2226 -msgid "License" -msgstr "ئىجازەتنامە" - -#: ../gtk/gtkaboutdialog.c:364 -msgid "The license of the program" -msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" - -#. Add the credits button -#: ../gtk/gtkaboutdialog.c:627 -msgid "C_redits" -msgstr "تەشەككۈر(_R)" - -#. Add the license button -#: ../gtk/gtkaboutdialog.c:641 -msgid "_License" -msgstr "ئىجازەت(_L)" - -#: ../gtk/gtkaboutdialog.c:900 -#, c-format -msgid "About %s" -msgstr "%s ھەققىدە" - -#: ../gtk/gtkaboutdialog.c:2143 -msgid "Credits" -msgstr "تەشەككۈر" - -#: ../gtk/gtkaboutdialog.c:2176 -msgid "Written by" -msgstr "يازغۇچى" - -#: ../gtk/gtkaboutdialog.c:2179 -msgid "Documented by" -msgstr "پۈتۈكچى" - -#: ../gtk/gtkaboutdialog.c:2191 -msgid "Translated by" -msgstr "تەرجىمان" - -#: ../gtk/gtkaboutdialog.c:2195 -msgid "Artwork by" -msgstr "گۈزەل سەنئەت تەھرىرى" - -#. This is the text that should appear next to menu accelerators -#. * that use the shift key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:157 -msgctxt "keyboard label" -msgid "Shift" -msgstr "Shift" - -#. This is the text that should appear next to menu accelerators -#. * that use the control key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:163 -msgctxt "keyboard label" -msgid "Ctrl" -msgstr "Ctrl" - -#. This is the text that should appear next to menu accelerators -#. * that use the alt key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:169 -msgctxt "keyboard label" -msgid "Alt" -msgstr "Alt" - -#. This is the text that should appear next to menu accelerators -#. * that use the super key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:767 -msgctxt "keyboard label" -msgid "Super" -msgstr "Super" - -#. This is the text that should appear next to menu accelerators -#. * that use the hyper key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:780 -msgctxt "keyboard label" -msgid "Hyper" -msgstr "Hyper" - -#. This is the text that should appear next to menu accelerators -#. * that use the meta key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:794 -msgctxt "keyboard label" -msgid "Meta" -msgstr "Meta" - -#: ../gtk/gtkaccellabel.c:811 -msgctxt "keyboard label" -msgid "Space" -msgstr "Space" - -#: ../gtk/gtkaccellabel.c:814 -msgctxt "keyboard label" -msgid "Backslash" -msgstr "Backslash" - -#: ../gtk/gtkbuilderparser.c:343 -#, c-format -msgid "Invalid type function on line %d: '%s'" -msgstr "ئىناۋەتسىز تىپ فونكسىيەسى كۆرۈنگەن قۇر %d: '%s'" - -#: ../gtk/gtkbuilderparser.c:407 -#, c-format -msgid "Duplicate object id '%s' on line %d (previously on line %d)" -msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)" - -#: ../gtk/gtkbuilderparser.c:859 -#, c-format -msgid "Invalid root element: '%s'" -msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'" - -#: ../gtk/gtkbuilderparser.c:898 -#, c-format -msgid "Unhandled tag: '%s'" -msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" - -#. Translate to calendar:YM if you want years to be displayed -#. * before months; otherwise translate to calendar:MY. -#. * Do *not* translate it to anything else, if it -#. * it isn't calendar:YM or calendar:MY it will not work. -#. * -#. * Note that the ordering described here is logical order, which is -#. * further influenced by BIDI ordering. Thus, if you have a default -#. * text direction of RTL and specify "calendar:YM", then the year -#. * will appear to the right of the month. -#. -#: ../gtk/gtkcalendar.c:863 -msgid "calendar:MY" -msgstr "calendar:MY" - -#. Translate to calendar:week_start:0 if you want Sunday to be the -#. * first day of the week to calendar:week_start:1 if you want Monday -#. * to be the first day of the week, and so on. -#. -#: ../gtk/gtkcalendar.c:901 -msgid "calendar:week_start:0" -msgstr "calendar:week_start:0" - -#. Translators: This is a text measurement template. -#. * Translate it to the widest year text -#. * -#. * If you don't understand this, leave it as "2000" -#. -#: ../gtk/gtkcalendar.c:1954 -msgctxt "year measurement template" -msgid "2000" -msgstr "2000" - -#. Translators: this defines whether the day numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1985 ../gtk/gtkcalendar.c:2648 -#, c-format -msgctxt "calendar:day:digits" -msgid "%d" -msgstr "%d" - -#. Translators: this defines whether the week numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:2017 ../gtk/gtkcalendar.c:2511 -#, c-format -msgctxt "calendar:week:digits" -msgid "%d" -msgstr "%d" - -#. Translators: This dictates how the year is displayed in -#. * gtkcalendar widget. See strftime() manual for the format. -#. * Use only ASCII in the translation. -#. * -#. * Also look for the msgid "2000". -#. * Translate that entry to a year with the widest output of this -#. * msgid. -#. * -#. * "%Y" is appropriate for most locales. -#. -#: ../gtk/gtkcalendar.c:2299 -msgctxt "calendar year format" -msgid "%Y" -msgstr "%Y" - -#. This label is displayed in a treeview cell displaying -#. * a disabled accelerator key combination. -#. -#: ../gtk/gtkcellrendereraccel.c:268 -msgctxt "Accelerator" -msgid "Disabled" -msgstr "چەكلەنگەن" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator key combination that is not valid according -#. * to gtk_accelerator_valid(). -#. -#: ../gtk/gtkcellrendereraccel.c:278 -msgctxt "Accelerator" -msgid "Invalid" -msgstr "ئىناۋەتسىز" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator when the cell is clicked to change the -#. * acelerator. -#. -#: ../gtk/gtkcellrendereraccel.c:414 ../gtk/gtkcellrendereraccel.c:664 -msgid "New accelerator..." -msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…" - -#: ../gtk/gtkcellrendererprogress.c:360 ../gtk/gtkcellrendererprogress.c:450 -#, c-format -msgctxt "progress bar label" -msgid "%d %%" -msgstr "%d %%" - -#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkcolorbutton.c:457 -msgid "Pick a Color" -msgstr "رەڭ ئال" - -#: ../gtk/gtkcolorbutton.c:348 -msgid "Received invalid color data\n" -msgstr "ئىناۋەتسىز رەڭ سانلىق مەلۇماتى تاپشۇرۇۋالدى\n" - -#: ../gtk/gtkcolorsel.c:354 -msgid "" -"Select the color you want from the outer ring. Select the darkness or " -"lightness of that color using the inner triangle." -msgstr "" -"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ " -"كۈچلۈكلۈكىنى تاللاڭ." - -#: ../gtk/gtkcolorsel.c:378 -msgid "" -"Click the eyedropper, then click a color anywhere on your screen to select " -"that color." -msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." - -#: ../gtk/gtkcolorsel.c:387 -msgid "_Hue:" -msgstr "رەڭگى(_H):" - -#: ../gtk/gtkcolorsel.c:388 -msgid "Position on the color wheel." -msgstr "رەڭ ھالقىسىدىكى ئورنى" - -#: ../gtk/gtkcolorsel.c:390 -msgid "_Saturation:" -msgstr "تويۇنۇش دەرىجىسى(_S):" - -#: ../gtk/gtkcolorsel.c:391 -msgid "Intensity of the color." -msgstr "رەڭ كۈچلۈكلۈكى." - -#: ../gtk/gtkcolorsel.c:392 -msgid "_Value:" -msgstr "قىممىتى(_V):" - -#: ../gtk/gtkcolorsel.c:393 -msgid "Brightness of the color." -msgstr "رەڭ يورۇقلۇقى." - -#: ../gtk/gtkcolorsel.c:394 -msgid "_Red:" -msgstr "قىزىل(_R):" - -#: ../gtk/gtkcolorsel.c:395 -msgid "Amount of red light in the color." -msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." - -#: ../gtk/gtkcolorsel.c:396 -msgid "_Green:" -msgstr "يېشىل(_G):" - -#: ../gtk/gtkcolorsel.c:397 -msgid "Amount of green light in the color." -msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." - -#: ../gtk/gtkcolorsel.c:398 -msgid "_Blue:" -msgstr "كۆك(_B):" - -#: ../gtk/gtkcolorsel.c:399 -msgid "Amount of blue light in the color." -msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." - -#: ../gtk/gtkcolorsel.c:402 -msgid "Op_acity:" -msgstr "سۈزۈكلۈك(_A):" - -#: ../gtk/gtkcolorsel.c:409 ../gtk/gtkcolorsel.c:419 -msgid "Transparency of the color." -msgstr "رەڭ سۈزۈكلۈكى." - -#: ../gtk/gtkcolorsel.c:426 -msgid "Color _name:" -msgstr "رەڭ ئاتى(_N):" - -#: ../gtk/gtkcolorsel.c:440 -msgid "" -"You can enter an HTML-style hexadecimal color value, or simply a color name " -"such as 'orange' in this entry." -msgstr "" -"سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە " -"ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." - -#: ../gtk/gtkcolorsel.c:470 -msgid "_Palette:" -msgstr "رەڭ تاختىسى(_P):" - -#: ../gtk/gtkcolorsel.c:499 -msgid "Color Wheel" -msgstr "رەڭ ھالقىسى" - -#: ../gtk/gtkcolorsel.c:958 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now. You can drag this color to a palette entry, or select this color as " -"current by dragging it to the other color swatch alongside." -msgstr "" -"ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى " -"رەڭ تاللاش تاخسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ " -"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." - -#: ../gtk/gtkcolorsel.c:961 -msgid "" -"The color you've chosen. You can drag this color to a palette entry to save " -"it for use in the future." -msgstr "" -"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." - -#: ../gtk/gtkcolorsel.c:966 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now." -msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." - -#: ../gtk/gtkcolorsel.c:969 -msgid "The color you've chosen." -msgstr "سىز تاللىغان رەڭ." - -#: ../gtk/gtkcolorsel.c:1382 -msgid "_Save color here" -msgstr "رەڭنى بۇ جايغا ساقلا(_S)" - -#: ../gtk/gtkcolorsel.c:1587 -msgid "" -"Click this palette entry to make it the current color. To change this entry, " -"drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "" -"رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى " -"ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن " -"كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." - -#: ../gtk/gtkcolorseldialog.c:190 -msgid "Color Selection" -msgstr "رەڭ تاللاش" - -#. Translate to the default units to use for presenting -#. * lengths to the user. Translate to default:inch if you -#. * want inches, otherwise translate to default:mm. -#. * Do *not* translate it to "predefinito:mm", if it -#. * it isn't default:mm or default:inch it will not work -#. -#: ../gtk/gtkcustompaperunixdialog.c:116 -msgid "default:mm" -msgstr "default:mm" - -#. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3233 -msgid "Manage Custom Sizes" -msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" - -#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 -msgid "inch" -msgstr "دىيۇيم" - -#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 -msgid "mm" -msgstr "mm" - -#: ../gtk/gtkcustompaperunixdialog.c:581 -msgid "Margins from Printer..." -msgstr "پرىنتېر ئارىلىقى…" - -#: ../gtk/gtkcustompaperunixdialog.c:747 -#, c-format -msgid "Custom Size %d" -msgstr "ئىختىيارى چوڭلۇقى %d" - -#: ../gtk/gtkcustompaperunixdialog.c:1060 -msgid "_Width:" -msgstr "كەڭلىك(_W):" - -#: ../gtk/gtkcustompaperunixdialog.c:1072 -msgid "_Height:" -msgstr "ئېگىزلىك(_H):" - -#: ../gtk/gtkcustompaperunixdialog.c:1084 -msgid "Paper Size" -msgstr "قەغەز چوڭلۇقى" - -#: ../gtk/gtkcustompaperunixdialog.c:1093 -msgid "_Top:" -msgstr "ئۈستى(_T):" - -#: ../gtk/gtkcustompaperunixdialog.c:1105 -msgid "_Bottom:" -msgstr "ئاستى(_B):" - -#: ../gtk/gtkcustompaperunixdialog.c:1117 -msgid "_Left:" -msgstr "سول(_L):" - -#: ../gtk/gtkcustompaperunixdialog.c:1129 -msgid "_Right:" -msgstr "ئوڭ(_R):" - -#: ../gtk/gtkcustompaperunixdialog.c:1170 -msgid "Paper Margins" -msgstr "قەغەز يان ئارىلىقى" - -#: ../gtk/gtkentry.c:8613 ../gtk/gtktextview.c:8258 -msgid "Input _Methods" -msgstr "كىرگۈزگۈچ(_M)" - -#: ../gtk/gtkentry.c:8627 ../gtk/gtktextview.c:8272 -msgid "_Insert Unicode Control Character" -msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" - -#: ../gtk/gtkentry.c:10022 -msgid "Caps Lock and Num Lock are on" -msgstr "" - -#: ../gtk/gtkentry.c:10024 -msgid "Num Lock is on" -msgstr "Num Lock ئوچۇق" - -#: ../gtk/gtkentry.c:10026 -msgid "Caps Lock is on" -msgstr "Caps Lock ئوچۇق" - -#. **************** * -#. * Private Macros * -#. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 -msgid "Select A File" -msgstr "ھۆججەت تاللاڭ" - -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1837 -msgid "Desktop" -msgstr "ئۈستەل ئۈستى" - -#: ../gtk/gtkfilechooserbutton.c:63 -msgid "(None)" -msgstr "(يوق)" - -#: ../gtk/gtkfilechooserbutton.c:2015 -msgid "Other..." -msgstr "باشقا…" - -#: ../gtk/gtkfilechooserdefault.c:146 -msgid "Type name of new folder" -msgstr "يىڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" - -#: ../gtk/gtkfilechooserdefault.c:963 -msgid "Could not retrieve information about the file" -msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ" - -#: ../gtk/gtkfilechooserdefault.c:974 -msgid "Could not add a bookmark" -msgstr "قىسقۇچ قىستۇرالمايدۇ" - -#: ../gtk/gtkfilechooserdefault.c:985 -msgid "Could not remove bookmark" -msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ" - -#: ../gtk/gtkfilechooserdefault.c:996 -msgid "The folder could not be created" -msgstr "قىسقۇچ قۇرالمايدۇ" - -#: ../gtk/gtkfilechooserdefault.c:1009 -msgid "" -"The folder could not be created, as a file with the same name already " -"exists. Try using a different name for the folder, or rename the file first." -msgstr "" -"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇد. باشقا ئات ئىشلىتىپ " -"سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." - -#: ../gtk/gtkfilechooserdefault.c:1020 -msgid "Invalid file name" -msgstr "ئىناۋەتسىز ھۆججەت ئاتى" - -#: ../gtk/gtkfilechooserdefault.c:1030 -msgid "The folder contents could not be displayed" -msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" - -#. Translators: the first string is a path and the second string -#. * is a hostname. Nautilus and the panel contain the same string -#. * to translate. -#. -#: ../gtk/gtkfilechooserdefault.c:1580 -#, c-format -msgid "%1$s on %2$s" -msgstr "%2$s ئۈستىدىكى %1$s" - -#: ../gtk/gtkfilechooserdefault.c:1756 -msgid "Search" -msgstr "ئىزدە" - -#: ../gtk/gtkfilechooserdefault.c:1780 ../gtk/gtkfilechooserdefault.c:9295 -msgid "Recently Used" -msgstr "يېقىندا ئىشلەتكەن" - -#: ../gtk/gtkfilechooserdefault.c:2420 -msgid "Select which types of files are shown" -msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ" - -#: ../gtk/gtkfilechooserdefault.c:2779 -#, c-format -msgid "Add the folder '%s' to the bookmarks" -msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش" - -#: ../gtk/gtkfilechooserdefault.c:2823 -#, c-format -msgid "Add the current folder to the bookmarks" -msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش" - -#: ../gtk/gtkfilechooserdefault.c:2825 -#, c-format -msgid "Add the selected folders to the bookmarks" -msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" - -#: ../gtk/gtkfilechooserdefault.c:2863 -#, c-format -msgid "Remove the bookmark '%s'" -msgstr "'%s' خەتكۈچنى چىقىرىۋەت" - -#: ../gtk/gtkfilechooserdefault.c:2865 -#, c-format -msgid "Bookmark '%s' cannot be removed" -msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." - -#: ../gtk/gtkfilechooserdefault.c:2872 ../gtk/gtkfilechooserdefault.c:3736 -msgid "Remove the selected bookmark" -msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" - -#: ../gtk/gtkfilechooserdefault.c:3432 -msgid "Remove" -msgstr "چىقىرىۋەت" - -#: ../gtk/gtkfilechooserdefault.c:3441 -msgid "Rename..." -msgstr "ئات ئۆزگەرت…" - -#. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3604 -msgid "Places" -msgstr "ئورۇن" - -#. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3661 -msgid "_Places" -msgstr "ئورۇن(_R)" - -#: ../gtk/gtkfilechooserdefault.c:3717 -msgid "_Add" -msgstr "قوش(_A)" - -#: ../gtk/gtkfilechooserdefault.c:3724 -msgid "Add the selected folder to the Bookmarks" -msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" - -#: ../gtk/gtkfilechooserdefault.c:3729 -msgid "_Remove" -msgstr "ئۆچۈر(_R)" - -#: ../gtk/gtkfilechooserdefault.c:3864 -msgid "Could not select file" -msgstr "ھۆججەت تاللايالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:4039 -msgid "_Add to Bookmarks" -msgstr "خەتكۈچكە قوش(_A)" - -#: ../gtk/gtkfilechooserdefault.c:4052 -msgid "Show _Hidden Files" -msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" - -#: ../gtk/gtkfilechooserdefault.c:4059 -msgid "Show _Size Column" -msgstr "چوڭلۇق ستونىنى كۆرسەت(_S)" - -#: ../gtk/gtkfilechooserdefault.c:4282 -msgid "Files" -msgstr "ھۆججەتلەر" - -#: ../gtk/gtkfilechooserdefault.c:4333 -msgid "Name" -msgstr "ئاتى" - -#: ../gtk/gtkfilechooserdefault.c:4356 -msgid "Size" -msgstr "چوڭلۇقى" - -#: ../gtk/gtkfilechooserdefault.c:4370 -msgid "Modified" -msgstr "ئۆزگەرتكەن" - -#. Label -#: ../gtk/gtkfilechooserdefault.c:4625 ../gtk/gtkprinteroptionwidget.c:801 -msgid "_Name:" -msgstr "ئاتى(_N):" - -#: ../gtk/gtkfilechooserdefault.c:4668 -msgid "_Browse for other folders" -msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" - -#: ../gtk/gtkfilechooserdefault.c:4940 -msgid "Type a file name" -msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" - -#. Create Folder -#: ../gtk/gtkfilechooserdefault.c:4981 -msgid "Create Fo_lder" -msgstr "قىسقۇچ قۇر(_L)" - -#: ../gtk/gtkfilechooserdefault.c:4991 -msgid "_Location:" -msgstr "ئورنى(_L):" - -#: ../gtk/gtkfilechooserdefault.c:5195 -msgid "Save in _folder:" -msgstr "قىسقۇچقا ساقلا(_F):" - -#: ../gtk/gtkfilechooserdefault.c:5197 -msgid "Create in _folder:" -msgstr "قىسقۇچتا قۇر(_F):" - -#: ../gtk/gtkfilechooserdefault.c:6260 -#, c-format -msgid "Could not read the contents of %s" -msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:6264 -msgid "Could not read the contents of the folder" -msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:6357 ../gtk/gtkfilechooserdefault.c:6425 -#: ../gtk/gtkfilechooserdefault.c:6570 -msgid "Unknown" -msgstr "نامەلۇم" - -#: ../gtk/gtkfilechooserdefault.c:6372 -msgid "%H:%M" -msgstr "%H:%M" - -#: ../gtk/gtkfilechooserdefault.c:6374 -msgid "Yesterday at %H:%M" -msgstr "ئەتە %H:%M" - -#: ../gtk/gtkfilechooserdefault.c:7040 -msgid "Cannot change to folder because it is not local" -msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" - -#: ../gtk/gtkfilechooserdefault.c:7637 ../gtk/gtkfilechooserdefault.c:7658 -#, c-format -msgid "Shortcut %s already exists" -msgstr "%s قىسقا يول مەۋجۇد" - -#: ../gtk/gtkfilechooserdefault.c:7748 -#, c-format -msgid "Shortcut %s does not exist" -msgstr "%s قىسقا يول مەۋجۇد ئەمەس" - -#: ../gtk/gtkfilechooserdefault.c:8003 ../gtk/gtkprintunixdialog.c:476 -#, c-format -msgid "A file named \"%s\" already exists. Do you want to replace it?" -msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" - -#: ../gtk/gtkfilechooserdefault.c:8006 ../gtk/gtkprintunixdialog.c:480 -#, c-format -msgid "" -"The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "" -"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت " -"ئاللىبۇرۇن" - -#: ../gtk/gtkfilechooserdefault.c:8011 ../gtk/gtkprintunixdialog.c:487 -msgid "_Replace" -msgstr "ئالماشتۇر(_R)" - -#: ../gtk/gtkfilechooserdefault.c:8663 -msgid "Could not start the search process" -msgstr "ئىزدىگۈچنى قوزغىتالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:8664 -msgid "" -"The program was not able to create a connection to the indexer daemon. " -"Please make sure it is running." -msgstr "" -"پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" - -#: ../gtk/gtkfilechooserdefault.c:8678 -msgid "Could not send the search request" -msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" - -#: ../gtk/gtkfilechooserdefault.c:8867 -msgid "Search:" -msgstr "ئىزدە:" - -#: ../gtk/gtkfilechooserdefault.c:9471 -#, c-format -msgid "Could not mount %s" -msgstr "%s يۈك چۈشۈرەلمىدى " - -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:697 ../gtk/gtkfilechooserentry.c:1162 -msgid "Invalid path" -msgstr "ئىناۋەتسىز يول" - -#. translators: this text is shown when there are no completions -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1094 -msgid "No match" -msgstr "ماس كېلىدىغىنى يوق" - -#. translators: this text is shown when there is exactly one completion -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1105 -msgid "Sole completion" -msgstr "بىردىنبىر تاماملاش" - -#. translators: this text is shown when the text in a file chooser -#. * entry is a complete filename, but could be continued to find -#. * a longer match -#. -#: ../gtk/gtkfilechooserentry.c:1121 -msgid "Complete, but not unique" -msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس" - -#. Translators: this text is shown while the system is searching -#. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1153 -msgid "Completing..." -msgstr "تاماملاۋاتىدۇ…" - -#. hostnames in a local_only file chooser? user error -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user enters something like -#. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1175 ../gtk/gtkfilechooserentry.c:1200 -msgid "Only local files may be selected" -msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" - -#. Another option is to complete the hostname based on the remote volumes that are mounted -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user hasn't entered the first '/' -#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1184 -msgid "Incomplete hostname; end it with '/'" -msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ " - -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry when the user enters a path that does not exist -#. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1195 -msgid "Path does not exist" -msgstr "يول مەۋجۇد ئەمەس." - -#: ../gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" - -#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are -#. * really pointers to GDrive, GVolume or GMount objects. We need an extra -#. * token for the fake "File System" volume. So, we'll return a pointer to -#. * this particular string. -#. -#: ../gtk/gtkfilesystem.c:50 -msgid "File System" -msgstr "ھۆججەت سىستېمىسى" - -#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 -msgid "Pick a Font" -msgstr "خەت نۇسخا تاللا" - -#. Initialize fields -#: ../gtk/gtkfontbutton.c:260 -msgid "Sans 12" -msgstr "UKIJ Tuz Tom 10" - -#: ../gtk/gtkfontbutton.c:785 -msgid "Font" -msgstr "خەت نۇسخا" - -#. This is the default text shown in the preview entry, though the user -#. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 -msgid "abcdefghijk ABCDEFGHIJK" -msgstr "ئائەب پ ت ج چ خ درزژ abcdefghijk ABCDEFGHIJK" - -#: ../gtk/gtkfontsel.c:367 -msgid "_Family:" -msgstr "خەت نۇسخا تۈرى(_F):" - -#: ../gtk/gtkfontsel.c:373 -msgid "_Style:" -msgstr "ئۇسلۇب(_S):" - -#: ../gtk/gtkfontsel.c:379 -msgid "Si_ze:" -msgstr "چوڭلۇقى(_Z):" - -#. create the text entry widget -#: ../gtk/gtkfontsel.c:556 -msgid "_Preview:" -msgstr "ئالدىن كۆزەت(_P):" - -#: ../gtk/gtkfontsel.c:1660 -msgid "Font Selection" -msgstr "خەت نۇسخا تاللاش" - -#. Remove this icon source so we don't keep trying to -#. * load it. -#. -#: ../gtk/gtkiconfactory.c:1419 -#, c-format -msgid "Error loading icon: %s" -msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" - -#: ../gtk/gtkicontheme.c:1363 -#, c-format -msgid "" -"Could not find the icon '%s'. The '%s' theme\n" -"was not found either, perhaps you need to install it.\n" -"You can get a copy from:\n" -"\t%s" -msgstr "" -"'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز " -"زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" -"%s" - -#: ../gtk/gtkicontheme.c:1543 -#, c-format -msgid "Icon '%s' not present in theme" -msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" - -#: ../gtk/gtkicontheme.c:3074 -msgid "Failed to load icon" -msgstr "سىنبەلگە يۈكلىيەلمىدى" - -#: ../gtk/gtkimmodule.c:526 -msgid "Simple" -msgstr "ئاددىي" - -#: ../gtk/gtkimmulticontext.c:580 -msgctxt "input method menu" -msgid "System" -msgstr "سىستېما" - -#: ../gtk/gtkimmulticontext.c:590 -msgctxt "input method menu" -msgid "None" -msgstr "يوق" - -#: ../gtk/gtkimmulticontext.c:673 -#, c-format -msgctxt "input method menu" -msgid "System (%s)" -msgstr "سىستېما(%s)" - -#. Open Link -#: ../gtk/gtklabel.c:6227 -msgid "_Open Link" -msgstr "ئۇلانما ئاچ(_O)" - -#. Copy Link Address -#: ../gtk/gtklabel.c:6239 -msgid "Copy _Link Address" -msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" - -#: ../gtk/gtklinkbutton.c:428 -msgid "Copy URL" -msgstr "URL كۆچۈر" - -#: ../gtk/gtklinkbutton.c:586 -msgid "Invalid URI" -msgstr "ئىناۋەتسىز URI" - -#. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:431 -msgid "Load additional GTK+ modules" -msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" - -#. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:432 -msgid "MODULES" -msgstr "بۆلەك" - -#. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:434 -msgid "Make all warnings fatal" -msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" - -#. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:437 -msgid "GTK+ debugging flags to set" -msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" - -#. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:440 -msgid "GTK+ debugging flags to unset" -msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " - -#. Translate to default:RTL if you want your widgets -#. * to be RTL, otherwise translate to default:LTR. -#. * Do *not* translate it to "predefinito:LTR", if it -#. * it isn't default:LTR or default:RTL it will not work -#. -#: ../gtk/gtkmain.c:703 -msgid "default:LTR" -msgstr "default:RTL" - -#: ../gtk/gtkmain.c:768 -#, c-format -msgid "Cannot open display: %s" -msgstr "ئېكران ئېچىلمىدى: (%s)" - -#: ../gtk/gtkmain.c:805 -msgid "GTK+ Options" -msgstr "GTK+ تاللانما" - -#: ../gtk/gtkmain.c:805 -msgid "Show GTK+ Options" -msgstr "GTK+ تاللانما كۆرسەت" - -#: ../gtk/gtkmountoperation.c:492 -msgid "Co_nnect" -msgstr "ئۇلا(_N)" - -#: ../gtk/gtkmountoperation.c:559 -msgid "Connect _anonymously" -msgstr "ئاتسىز ئۇلىنىش(_A)" - -#: ../gtk/gtkmountoperation.c:568 -msgid "Connect as u_ser:" -msgstr "ئۇلىنىش سالاھىيىتى(_S):" - -#: ../gtk/gtkmountoperation.c:606 -msgid "_Username:" -msgstr "ئىشلەتكۈچى ئاتى(_U):" - -#: ../gtk/gtkmountoperation.c:611 -msgid "_Domain:" -msgstr "دائىرە(_D):" - -#: ../gtk/gtkmountoperation.c:617 -msgid "_Password:" -msgstr "ئىم(_P):" - -#: ../gtk/gtkmountoperation.c:635 -msgid "Forget password _immediately" -msgstr "ئىمنى دەرھال ئۇنۇت(_I)" - -#: ../gtk/gtkmountoperation.c:645 -msgid "Remember password until you _logout" -msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)" - -#: ../gtk/gtkmountoperation.c:655 -msgid "Remember _forever" -msgstr "مەڭگۈ ئەستە تۇت(_F)" - -#: ../gtk/gtkmountoperation.c:884 -#, c-format -msgid "Unknown Application (pid %d)" -msgstr "نامەلۇم قوللىنىشچان پروگرامما (pid %d)" - -#: ../gtk/gtkmountoperation.c:1067 -msgid "Unable to end process" -msgstr "جەرياننى ئاخىرلاشتۇرالمايدۇ" - -#: ../gtk/gtkmountoperation.c:1104 -msgid "_End Process" -msgstr "جەريان ئاخىرلاشتۇر(_E)" - -#: ../gtk/gtkmountoperation-stub.c:64 -#, c-format -msgid "Cannot kill process with pid %d. Operation is not implemented." -msgstr " pid %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." - -#. translators: this string is a name for the 'less' command -#: ../gtk/gtkmountoperation-x11.c:862 -msgid "Terminal Pager" -msgstr "تېرمىنال ئوقۇغۇچ" - -#: ../gtk/gtkmountoperation-x11.c:863 -msgid "Top Command" -msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق" - -#: ../gtk/gtkmountoperation-x11.c:864 -msgid "Bourne Again Shell" -msgstr "Bourne Again Shell" - -#: ../gtk/gtkmountoperation-x11.c:865 -msgid "Bourne Shell" -msgstr "Bourne Shell" - -#: ../gtk/gtkmountoperation-x11.c:866 -msgid "Z Shell" -msgstr "Z Shell" - -#: ../gtk/gtkmountoperation-x11.c:963 -#, c-format -msgid "Cannot end process with pid %d: %s" -msgstr "pid %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" - -#: ../gtk/gtknotebook.c:4671 ../gtk/gtknotebook.c:7166 -#, c-format -msgid "Page %u" -msgstr "%u-بەت" - -#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:825 -#: ../gtk/gtkpapersize.c:867 -msgid "Not a valid page setup file" -msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس" - -#: ../gtk/gtkpagesetupunixdialog.c:179 -msgid "Any Printer" -msgstr "خالىغان پرىنتېر" - -#: ../gtk/gtkpagesetupunixdialog.c:179 -msgid "For portable documents" -msgstr "ئەپچىل پۈتۈك ئۈچۈن" - -#: ../gtk/gtkpagesetupunixdialog.c:809 -#, c-format -msgid "" -"Margins:\n" -" Left: %s %s\n" -" Right: %s %s\n" -" Top: %s %s\n" -" Bottom: %s %s" -msgstr "" -"يان ئارىلىقى:\n" -"سول: %s %s\n" -"ئوڭ: %s %s\n" -" ئۈستى: %s %s\n" -" ئاستى: %s %s" - -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3284 -msgid "Manage Custom Sizes..." -msgstr "ئىختىيارى چوڭلۇق باشقۇر…" - -#: ../gtk/gtkpagesetupunixdialog.c:910 -msgid "_Format for:" -msgstr "فورمات(_F):" - -#: ../gtk/gtkpagesetupunixdialog.c:932 ../gtk/gtkprintunixdialog.c:3456 -msgid "_Paper size:" -msgstr "قەغەز چوڭلۇقى(_P):" - -#: ../gtk/gtkpagesetupunixdialog.c:963 -msgid "_Orientation:" -msgstr "يۆنىلىش(_O):" - -#: ../gtk/gtkpagesetupunixdialog.c:1027 ../gtk/gtkprintunixdialog.c:3518 -msgid "Page Setup" -msgstr "بەت تەڭشەك" - -#: ../gtk/gtkpathbar.c:151 -msgid "Up Path" -msgstr "ئۈستۈنكى يول" - -#: ../gtk/gtkpathbar.c:153 -msgid "Down Path" -msgstr "ئاستىنقى يول" - -#: ../gtk/gtkpathbar.c:1482 -msgid "File System Root" -msgstr "ھۆججەت سىستېما غولى" - -#: ../gtk/gtkprintbackend.c:745 -msgid "Authentication" -msgstr "سالاھىيەت دەلىللەش" - -#: ../gtk/gtkprinteroptionwidget.c:694 -msgid "Not available" -msgstr "ئىشلەتكىلى بولمايدۇ" - -#: ../gtk/gtkprinteroptionwidget.c:794 -msgid "Select a folder" -msgstr "مۇندەرىجە تاللاڭ" - -#: ../gtk/gtkprinteroptionwidget.c:813 -msgid "_Save in folder:" -msgstr "قىسقۇچتا ساقلا(_S):" - -#. translators: this string is the default job title for print -#. * jobs. %s gets replaced by the application name, %d gets replaced -#. * by the job number. -#. -#: ../gtk/gtkprintoperation.c:190 -#, c-format -msgid "%s job #%d" -msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d" - -#: ../gtk/gtkprintoperation.c:1695 -msgctxt "print operation status" -msgid "Initial state" -msgstr "دەسلەپكى ھالەت" - -#: ../gtk/gtkprintoperation.c:1696 -msgctxt "print operation status" -msgid "Preparing to print" -msgstr "بېسىشقا تەييارلىنىۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:1697 -msgctxt "print operation status" -msgid "Generating data" -msgstr "سانلىق مەلۇمات ياساۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:1698 -msgctxt "print operation status" -msgid "Sending data" -msgstr "ئۇچۇر يوللاۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:1699 -msgctxt "print operation status" -msgid "Waiting" -msgstr "ساقلاۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:1700 -msgctxt "print operation status" -msgid "Blocking on issue" -msgstr "توسۇلۇش مەسىلىسى" - -#: ../gtk/gtkprintoperation.c:1701 -msgctxt "print operation status" -msgid "Printing" -msgstr "بېسىۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:1702 -msgctxt "print operation status" -msgid "Finished" -msgstr "تاماملاندى" - -#: ../gtk/gtkprintoperation.c:1703 -msgctxt "print operation status" -msgid "Finished with error" -msgstr "خاتالىق بىلەن تاماملاندى" - -#: ../gtk/gtkprintoperation.c:2270 -#, c-format -msgid "Preparing %d" -msgstr "%d تەييارلاۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 -msgid "Preparing" -msgstr "تەييارلىق ھالەت" - -#: ../gtk/gtkprintoperation.c:2275 -#, c-format -msgid "Printing %d" -msgstr "%d نى بېسىۋاتىدۇ" - -#: ../gtk/gtkprintoperation.c:2932 -msgid "Error creating print preview" -msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى" - -#: ../gtk/gtkprintoperation.c:2935 -msgid "The most probable reason is that a temporary file could not be created." -msgstr "" -"مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." - -#: ../gtk/gtkprintoperation-unix.c:297 -msgid "Error launching preview" -msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" - -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1446 -msgid "Application" -msgstr "قوللىنىشچان پروگرامما" - -#: ../gtk/gtkprintoperation-win32.c:611 -msgid "Printer offline" -msgstr "پرىنتېر ئۈزۈك ھالەتتە" - -#: ../gtk/gtkprintoperation-win32.c:613 -msgid "Out of paper" -msgstr "قەغەز يېتىشمىدى" - -#. Translators: this is a printer status. -#: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 -msgid "Paused" -msgstr "ۋاقىتلىق توختىدى" - -#: ../gtk/gtkprintoperation-win32.c:617 -msgid "Need user intervention" -msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج" - -#: ../gtk/gtkprintoperation-win32.c:717 -msgid "Custom size" -msgstr "ئىختىيارى چوڭلۇق" - -#: ../gtk/gtkprintoperation-win32.c:1538 -msgid "No printer found" -msgstr "پرىنتېر تېپىلمىدى" - -#: ../gtk/gtkprintoperation-win32.c:1565 -msgid "Invalid argument to CreateDC" -msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز" - -#: ../gtk/gtkprintoperation-win32.c:1601 ../gtk/gtkprintoperation-win32.c:1828 -msgid "Error from StartDoc" -msgstr "StartDoc دىن خاتالىق كۆرۈلدى" - -#: ../gtk/gtkprintoperation-win32.c:1683 ../gtk/gtkprintoperation-win32.c:1706 -#: ../gtk/gtkprintoperation-win32.c:1754 -msgid "Not enough free memory" -msgstr "يېتەرلىك بوش ئەسلەك يوق." - -#: ../gtk/gtkprintoperation-win32.c:1759 -msgid "Invalid argument to PrintDlgEx" -msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز" - -#: ../gtk/gtkprintoperation-win32.c:1764 -msgid "Invalid pointer to PrintDlgEx" -msgstr "PrintDlgEx نىڭ ئىسترېلكاسى ئىناۋەتسىز" - -#: ../gtk/gtkprintoperation-win32.c:1769 -msgid "Invalid handle to PrintDlgEx" -msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز" - -#: ../gtk/gtkprintoperation-win32.c:1774 -msgid "Unspecified error" -msgstr "ئېنىقسىز خاتالىق" - -#: ../gtk/gtkprintunixdialog.c:614 -msgid "Getting printer information failed" -msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" - -#: ../gtk/gtkprintunixdialog.c:1869 -msgid "Getting printer information..." -msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" - -#: ../gtk/gtkprintunixdialog.c:2139 -msgid "Printer" -msgstr "پرىنتېر" - -#. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 -msgid "Location" -msgstr "ئورنى" - -#. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 -msgid "Status" -msgstr "ھالىتى" - -#: ../gtk/gtkprintunixdialog.c:2186 -msgid "Range" -msgstr "دائىرىسى" - -#: ../gtk/gtkprintunixdialog.c:2190 -msgid "_All Pages" -msgstr "ھەممە بەت(_A)" - -#: ../gtk/gtkprintunixdialog.c:2197 -msgid "C_urrent Page" -msgstr "نۆۋەتتىكى بەت(_U)" - -#: ../gtk/gtkprintunixdialog.c:2207 -msgid "Se_lection" -msgstr "تاللا(_L)" - -#: ../gtk/gtkprintunixdialog.c:2216 -msgid "Pag_es:" -msgstr "بەتلەر(_E):" - -#: ../gtk/gtkprintunixdialog.c:2217 -msgid "" -"Specify one or more page ranges,\n" -" e.g. 1-3,7,11" -msgstr "" -"بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" -"مەسىلەن: 1-3,7,11" - -#: ../gtk/gtkprintunixdialog.c:2227 -msgid "Pages" -msgstr "بەتلەر" - -#: ../gtk/gtkprintunixdialog.c:2240 -msgid "Copies" -msgstr "نۇسخا" - -#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 -msgid "Copie_s:" -msgstr "نۇسخا سانى(_S):" - -#: ../gtk/gtkprintunixdialog.c:2263 -msgid "C_ollate" -msgstr "رەت بويىچە(_O)" - -#: ../gtk/gtkprintunixdialog.c:2271 -msgid "_Reverse" -msgstr "ئەكسىچە(_R)" - -#: ../gtk/gtkprintunixdialog.c:2291 -msgid "General" -msgstr "ئادەتتىكى" - -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) -#. -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing -#. -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 -msgid "Left to right, top to bottom" -msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" - -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 -msgid "Left to right, bottom to top" -msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" - -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 -msgid "Right to left, top to bottom" -msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" - -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 -msgid "Right to left, bottom to top" -msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" - -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 -msgid "Top to bottom, left to right" -msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" - -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 -msgid "Top to bottom, right to left" -msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" - -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 -msgid "Bottom to top, left to right" -msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" - -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 -msgid "Bottom to top, right to left" -msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" - -#. Translators, this string is used to label the option in the print -#. * dialog that controls in what order multiple pages are arranged -#. -#: ../gtk/gtkprintunixdialog.c:3024 ../gtk/gtkprintunixdialog.c:3037 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 -msgid "Page Ordering" -msgstr "بەت تەرتىپى" - -#: ../gtk/gtkprintunixdialog.c:3053 -msgid "Left to right" -msgstr "سولدىن ئوڭغا" - -#: ../gtk/gtkprintunixdialog.c:3054 -msgid "Right to left" -msgstr "ئوڭدىن سولغا" - -#: ../gtk/gtkprintunixdialog.c:3066 -msgid "Top to bottom" -msgstr "ئۈستىدىن ئاستىغا" - -#: ../gtk/gtkprintunixdialog.c:3067 -msgid "Bottom to top" -msgstr "ئاستىدىن ئۈستىگە" - -#: ../gtk/gtkprintunixdialog.c:3307 -msgid "Layout" -msgstr "ئۇسلۇب" - -#: ../gtk/gtkprintunixdialog.c:3311 -msgid "T_wo-sided:" -msgstr "قوش يۈزلۈك(_W):" - -#: ../gtk/gtkprintunixdialog.c:3326 -msgid "Pages per _side:" -msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" - -#: ../gtk/gtkprintunixdialog.c:3343 -msgid "Page or_dering:" -msgstr "بەت تەرتىپى(_D):" - -#: ../gtk/gtkprintunixdialog.c:3359 -msgid "_Only print:" -msgstr "بېسىشلا(_O):" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3374 -msgid "All sheets" -msgstr "ھەممە ۋاراقلار" - -#: ../gtk/gtkprintunixdialog.c:3375 -msgid "Even sheets" -msgstr "تاق ۋاراقلار" - -#: ../gtk/gtkprintunixdialog.c:3376 -msgid "Odd sheets" -msgstr "جۈپ ۋاراقلار" - -#: ../gtk/gtkprintunixdialog.c:3379 -msgid "Sc_ale:" -msgstr "نىسبەت(_A):" - -#: ../gtk/gtkprintunixdialog.c:3406 -msgid "Paper" -msgstr "قەغەز" - -#: ../gtk/gtkprintunixdialog.c:3410 -msgid "Paper _type:" -msgstr "قەغەز تىپى(_T):" - -#: ../gtk/gtkprintunixdialog.c:3425 -msgid "Paper _source:" -msgstr "قەغەز مەنبەسى(_S):" - -#: ../gtk/gtkprintunixdialog.c:3440 -msgid "Output t_ray:" -msgstr "قەغەز قۇتىسى(_R):" - -#: ../gtk/gtkprintunixdialog.c:3480 -msgid "Or_ientation:" -msgstr "يۆنىلىش(_I):" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3495 -msgid "Portrait" -msgstr "بوي يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3496 -msgid "Landscape" -msgstr "توغرا يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3497 -msgid "Reverse portrait" -msgstr "تەتۈر بوي يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3498 -msgid "Reverse landscape" -msgstr "تەتۈر توغرا يۆنىلىش" - -#: ../gtk/gtkprintunixdialog.c:3543 -msgid "Job Details" -msgstr "ۋەزىپە تەپسىلاتى" - -#: ../gtk/gtkprintunixdialog.c:3549 -msgid "Pri_ority:" -msgstr "ئالدىنلىق(_O):" - -#: ../gtk/gtkprintunixdialog.c:3564 -msgid "_Billing info:" -msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" - -#: ../gtk/gtkprintunixdialog.c:3582 -msgid "Print Document" -msgstr "پۈتۈك باس" - -#. Translators: this is one of the choices for the print at option -#. * in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3591 -msgid "_Now" -msgstr "دەرھال(_N)" - -#: ../gtk/gtkprintunixdialog.c:3602 -msgid "A_t:" -msgstr "دە(_T):" - -#. Translators: Ability to parse the am/pm format depends on actual locale. -#. * You can remove the am/pm values below for your locale if they are not -#. * supported. -#. -#: ../gtk/gtkprintunixdialog.c:3608 -msgid "" -"Specify the time of print,\n" -" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -msgstr "" -"بېسىش ۋاقتى بەلگىلىنىدۇ،\n" -" مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" - -#: ../gtk/gtkprintunixdialog.c:3618 -msgid "Time of print" -msgstr "بېسىش ۋاقتى" - -#: ../gtk/gtkprintunixdialog.c:3634 -msgid "On _hold" -msgstr "كۈت(_H)" - -#: ../gtk/gtkprintunixdialog.c:3635 -msgid "Hold the job until it is explicitly released" -msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" - -#: ../gtk/gtkprintunixdialog.c:3655 -msgid "Add Cover Page" -msgstr "مۇقاۋا بەت قوش" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3664 -msgid "Be_fore:" -msgstr "ئالدى(_F):" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3682 -msgid "_After:" -msgstr "كەينى(_A):" - -#. Translators: this is the tab label for the notebook tab containing -#. * job-specific options in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3700 -msgid "Job" -msgstr "ۋەزىپە" - -#: ../gtk/gtkprintunixdialog.c:3766 -msgid "Advanced" -msgstr "ئالىي" - -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3805 -msgid "Image Quality" -msgstr "سۈرەت سۈپەتى" - -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3809 -msgid "Color" -msgstr "رەڭ" - -#. Translators: this will appear as tab label in print dialog. -#. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3814 -msgid "Finishing" -msgstr "تامام" - -#: ../gtk/gtkprintunixdialog.c:3824 -msgid "Some of the settings in the dialog conflict" -msgstr "دىئالوگ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" - -#: ../gtk/gtkprintunixdialog.c:3847 -msgid "Print" -msgstr "باس" - -#: ../gtk/gtkrc.c:2837 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" - -#: ../gtk/gtkrc.c:3467 ../gtk/gtkrc.c:3470 -#, c-format -msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "پېكسىل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" - -#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 -#: ../gtk/gtkrecentchoosermenu.c:615 ../gtk/gtkrecentchoosermenu.c:623 -#, c-format -msgid "This function is not implemented for widgets of class '%s'" -msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ" - -#: ../gtk/gtkrecentchooserdefault.c:481 -msgid "Select which type of documents are shown" -msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ" - -#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 -#, c-format -msgid "No item for URI '%s' found" -msgstr "URI“%s” تۈرنى تاپالمىدى" - -#: ../gtk/gtkrecentchooserdefault.c:1298 -msgid "Untitled filter" -msgstr "تېمىسىز سۈزگۈچ" - -#: ../gtk/gtkrecentchooserdefault.c:1651 -msgid "Could not remove item" -msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ" - -#: ../gtk/gtkrecentchooserdefault.c:1695 -msgid "Could not clear list" -msgstr "تىزىملىكنى تازىلىيالمايدۇ" - -#: ../gtk/gtkrecentchooserdefault.c:1779 -msgid "Copy _Location" -msgstr "ئورۇن كۆچۈر(_L)" - -#: ../gtk/gtkrecentchooserdefault.c:1792 -msgid "_Remove From List" -msgstr "تىزىملىكتىن چىقىرىۋەت(_R)" - -#: ../gtk/gtkrecentchooserdefault.c:1801 -msgid "_Clear List" -msgstr "تىزىملىكنى تازىلا(_C)" - -#: ../gtk/gtkrecentchooserdefault.c:1815 -msgid "Show _Private Resources" -msgstr "شەخسى مەنبەنى كۆرسەت(_P)" - -#. we create a placeholder menuitem, to be used in case -#. * the menu is empty. this placeholder will stay around -#. * for the entire lifetime of the menu, and we just hide it -#. * when it's not used. we have to do this, and do it here, -#. * because we need a marker for the beginning of the recent -#. * items list, so that we can insert the new items at the -#. * right place when idly populating the menu in case the -#. * user appended or prepended custom menu items to the -#. * recent chooser menu widget. -#. -#: ../gtk/gtkrecentchoosermenu.c:369 -msgid "No items found" -msgstr "تۈر تېپىلمىدى" - -#: ../gtk/gtkrecentchoosermenu.c:535 ../gtk/gtkrecentchoosermenu.c:591 -#, c-format -msgid "No recently used resource found with URI `%s'" -msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى" - -#: ../gtk/gtkrecentchoosermenu.c:802 -#, c-format -msgid "Open '%s'" -msgstr "'%s' ئاچ" - -#: ../gtk/gtkrecentchoosermenu.c:832 -msgid "Unknown item" -msgstr "نامەلۇم تۈر" - -#. This is the label format that is used for the first 10 items -#. * in a recent files menu. The %d is the number of the item, -#. * the %s is the name of the item. Please keep the _ in front -#. * of the number to give these menu items a mnemonic. -#. -#: ../gtk/gtkrecentchoosermenu.c:843 -#, c-format -msgctxt "recent menu label" -msgid "_%d. %s" -msgstr "_%d. %s" - -#. This is the format that is used for items in a recent files menu. -#. * The %d is the number of the item, the %s is the name of the item. -#. -#: ../gtk/gtkrecentchoosermenu.c:848 -#, c-format -msgctxt "recent menu label" -msgid "%d. %s" -msgstr "%d. %s" - -#: ../gtk/gtkrecentmanager.c:980 ../gtk/gtkrecentmanager.c:993 -#: ../gtk/gtkrecentmanager.c:1131 ../gtk/gtkrecentmanager.c:1141 -#: ../gtk/gtkrecentmanager.c:1194 ../gtk/gtkrecentmanager.c:1203 -#: ../gtk/gtkrecentmanager.c:1218 -#, c-format -msgid "Unable to find an item with URI '%s'" -msgstr "URI '%s' تۈر تېپىلمىدى" - -#: ../gtk/gtkspinner.c:457 -msgctxt "throbbing progress animation widget" -msgid "Spinner" -msgstr "مىكرو تەڭشەك" - -#: ../gtk/gtkspinner.c:458 -msgid "Provides visual indication of progress" -msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" - -#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: ../gtk/gtkstock.c:313 -msgctxt "Stock label" -msgid "Information" -msgstr "ئۇچۇر" - -#: ../gtk/gtkstock.c:314 -msgctxt "Stock label" -msgid "Warning" -msgstr "ئاگاھلاندۇرۇش" - -#: ../gtk/gtkstock.c:315 -msgctxt "Stock label" -msgid "Error" -msgstr "خاتالىق" - -#: ../gtk/gtkstock.c:316 -msgctxt "Stock label" -msgid "Question" -msgstr "سوئال" - -#. FIXME these need accelerators when appropriate, and -#. * need the mnemonics to be rationalized -#. -#: ../gtk/gtkstock.c:321 -msgctxt "Stock label" -msgid "_About" -msgstr "ھەققىدە(_A)" - -#: ../gtk/gtkstock.c:322 -msgctxt "Stock label" -msgid "_Add" -msgstr "قوش(_A)" - -#: ../gtk/gtkstock.c:323 -msgctxt "Stock label" -msgid "_Apply" -msgstr "قوللان(_A)" - -#: ../gtk/gtkstock.c:324 -msgctxt "Stock label" -msgid "_Bold" -msgstr "توم(_B)" - -#: ../gtk/gtkstock.c:325 -msgctxt "Stock label" -msgid "_Cancel" -msgstr "ۋاز كەچ(_C)" - -#: ../gtk/gtkstock.c:326 -msgctxt "Stock label" -msgid "_CD-Rom" -msgstr "_CD-Rom" - -#: ../gtk/gtkstock.c:327 -msgctxt "Stock label" -msgid "_Clear" -msgstr "ئۆچۈر(_C)" - -#: ../gtk/gtkstock.c:328 -msgctxt "Stock label" -msgid "_Close" -msgstr "ياپ(_C)" - -#: ../gtk/gtkstock.c:329 -msgctxt "Stock label" -msgid "C_onnect" -msgstr "ئۇلا(_O)" - -#: ../gtk/gtkstock.c:330 -msgctxt "Stock label" -msgid "_Convert" -msgstr "ئايلاندۇر(_C)" - -#: ../gtk/gtkstock.c:331 -msgctxt "Stock label" -msgid "_Copy" -msgstr "كۆچۈر(_C)" - -#: ../gtk/gtkstock.c:332 -msgctxt "Stock label" -msgid "Cu_t" -msgstr "كەس(_T)" - -#: ../gtk/gtkstock.c:333 -msgctxt "Stock label" -msgid "_Delete" -msgstr "ئۆچۈر(_D)" - -#: ../gtk/gtkstock.c:334 -msgctxt "Stock label" -msgid "_Discard" -msgstr "تاشلىۋەت(_D)" - -#: ../gtk/gtkstock.c:335 -msgctxt "Stock label" -msgid "_Disconnect" -msgstr "ئۈز(_D)" - -#: ../gtk/gtkstock.c:336 -msgctxt "Stock label" -msgid "_Execute" -msgstr "ئىجرا قىل(_E)" - -#: ../gtk/gtkstock.c:337 -msgctxt "Stock label" -msgid "_Edit" -msgstr "تەھرىر(_E)" - -#: ../gtk/gtkstock.c:338 -msgctxt "Stock label" -msgid "_File" -msgstr "" - -#: ../gtk/gtkstock.c:339 -msgctxt "Stock label" -msgid "_Find" -msgstr "ئىزدە(_F)" - -#: ../gtk/gtkstock.c:340 -msgctxt "Stock label" -msgid "Find and _Replace" -msgstr "ئىزدەپ ئالماشتۇر(_R)" - -#: ../gtk/gtkstock.c:341 -msgctxt "Stock label" -msgid "_Floppy" -msgstr "يۇمشاق دىسكا(_F)" - -#: ../gtk/gtkstock.c:342 -msgctxt "Stock label" -msgid "_Fullscreen" -msgstr "پۈتۈن ئېكران(_F)" - -#: ../gtk/gtkstock.c:343 -msgctxt "Stock label" -msgid "_Leave Fullscreen" -msgstr "پۈتۈن ئېكراندىن ئايرىل(_L)" - -#. This is a navigation label as in "go to the bottom of the page" -#: ../gtk/gtkstock.c:345 -msgctxt "Stock label, navigation" -msgid "_Bottom" -msgstr "ئاستى(_B)" - -#. This is a navigation label as in "go to the first page" -#: ../gtk/gtkstock.c:347 -msgctxt "Stock label, navigation" -msgid "_First" -msgstr "بىرىنچى(_F)" - -#. This is a navigation label as in "go to the last page" -#: ../gtk/gtkstock.c:349 -msgctxt "Stock label, navigation" -msgid "_Last" -msgstr "ئاخىرقى(_L)" - -#. This is a navigation label as in "go to the top of the page" -#: ../gtk/gtkstock.c:351 -msgctxt "Stock label, navigation" -msgid "_Top" -msgstr "بېشى(_F)" - -#. This is a navigation label as in "go back" -#: ../gtk/gtkstock.c:353 -msgctxt "Stock label, navigation" -msgid "_Back" -msgstr "كەينىگە(_B)" - -#. This is a navigation label as in "go down" -#: ../gtk/gtkstock.c:355 -msgctxt "Stock label, navigation" -msgid "_Down" -msgstr "ئاستىغا(_D)" - -#. This is a navigation label as in "go forward" -#: ../gtk/gtkstock.c:357 -msgctxt "Stock label, navigation" -msgid "_Forward" -msgstr "ئالدىنقى(_F)" - -#. This is a navigation label as in "go up" -#: ../gtk/gtkstock.c:359 -msgctxt "Stock label, navigation" -msgid "_Up" -msgstr "ئۈستىگە(_U)" - -#: ../gtk/gtkstock.c:360 -msgctxt "Stock label" -msgid "_Harddisk" -msgstr "قاتتىق دىسكا(_H)" - -#: ../gtk/gtkstock.c:361 -msgctxt "Stock label" -msgid "_Help" -msgstr "ياردەم(_H)" - -#: ../gtk/gtkstock.c:362 -msgctxt "Stock label" -msgid "_Home" -msgstr "باش بەت(_H)" - -#: ../gtk/gtkstock.c:363 -msgctxt "Stock label" -msgid "Increase Indent" -msgstr "كەڭەيت" - -#: ../gtk/gtkstock.c:364 -msgctxt "Stock label" -msgid "Decrease Indent" -msgstr "تارايت" - -#: ../gtk/gtkstock.c:365 -msgctxt "Stock label" -msgid "_Index" -msgstr "ئىندېكس(_I)" - -#: ../gtk/gtkstock.c:366 -msgctxt "Stock label" -msgid "_Information" -msgstr "ئۇچۇر(_I)" - -#: ../gtk/gtkstock.c:367 -msgctxt "Stock label" -msgid "_Italic" -msgstr "يانتۇ(_I)" - -#: ../gtk/gtkstock.c:368 -msgctxt "Stock label" -msgid "_Jump to" -msgstr "ئاتلا(_J)" - -#. This is about text justification, "centered text" -#: ../gtk/gtkstock.c:370 -msgctxt "Stock label" -msgid "_Center" -msgstr "ئوتتۇرا(_C)" - -#. This is about text justification -#: ../gtk/gtkstock.c:372 -msgctxt "Stock label" -msgid "_Fill" -msgstr "تولدۇر(_F)" - -#. This is about text justification, "left-justified text" -#: ../gtk/gtkstock.c:374 -msgctxt "Stock label" -msgid "_Left" -msgstr "سول(_L)" - -#. This is about text justification, "right-justified text" -#: ../gtk/gtkstock.c:376 -msgctxt "Stock label" -msgid "_Right" -msgstr "ئوڭ(_R)" - -#. Media label, as in "fast forward" -#: ../gtk/gtkstock.c:379 -msgctxt "Stock label, media" -msgid "_Forward" -msgstr "ئالدىنقى(_F)" - -#. Media label, as in "next song" -#: ../gtk/gtkstock.c:381 -msgctxt "Stock label, media" -msgid "_Next" -msgstr "كېيىنكى(_N)" - -#. Media label, as in "pause music" -#: ../gtk/gtkstock.c:383 -msgctxt "Stock label, media" -msgid "P_ause" -msgstr "ۋاقىتلىق توختات(_A)" - -#. Media label, as in "play music" -#: ../gtk/gtkstock.c:385 -msgctxt "Stock label, media" -msgid "_Play" -msgstr "قوي(_P)" - -#. Media label, as in "previous song" -#: ../gtk/gtkstock.c:387 -msgctxt "Stock label, media" -msgid "Pre_vious" -msgstr "ئالدىنقى(_V)" - -#. Media label -#: ../gtk/gtkstock.c:389 -msgctxt "Stock label, media" -msgid "_Record" -msgstr "خاتىرىلە(_R)" - -#. Media label -#: ../gtk/gtkstock.c:391 -msgctxt "Stock label, media" -msgid "R_ewind" -msgstr "تېز چېكىن(_E)" - -#. Media label -#: ../gtk/gtkstock.c:393 -msgctxt "Stock label, media" -msgid "_Stop" -msgstr "توختا(_S)" - -#: ../gtk/gtkstock.c:394 -msgctxt "Stock label" -msgid "_Network" -msgstr "تور(_N)" - -#: ../gtk/gtkstock.c:395 -msgctxt "Stock label" -msgid "_New" -msgstr "يېڭى(_N)" - -#: ../gtk/gtkstock.c:396 -msgctxt "Stock label" -msgid "_No" -msgstr "ياق(_N)" - -#: ../gtk/gtkstock.c:397 -msgctxt "Stock label" -msgid "_OK" -msgstr "جەزملە(_O)" - -#: ../gtk/gtkstock.c:398 -msgctxt "Stock label" -msgid "_Open" -msgstr "ئاچ(_O)" - -#. Page orientation -#: ../gtk/gtkstock.c:400 -msgctxt "Stock label" -msgid "Landscape" -msgstr "توغرا يۆنىلىش" - -#. Page orientation -#: ../gtk/gtkstock.c:402 -msgctxt "Stock label" -msgid "Portrait" -msgstr "بوي يۆنىلىش" - -#. Page orientation -#: ../gtk/gtkstock.c:404 -msgctxt "Stock label" -msgid "Reverse landscape" -msgstr "تەتۈر توغرا يۆنىلىش" - -#. Page orientation -#: ../gtk/gtkstock.c:406 -msgctxt "Stock label" -msgid "Reverse portrait" -msgstr "تەتۈر بوي يۆنىلىش" - -#: ../gtk/gtkstock.c:407 -msgctxt "Stock label" -msgid "Page Set_up" -msgstr "بەت تەڭشەك(_U)" - -#: ../gtk/gtkstock.c:408 -msgctxt "Stock label" -msgid "_Paste" -msgstr "چاپلا(_P)" - -#: ../gtk/gtkstock.c:409 -msgctxt "Stock label" -msgid "_Preferences" -msgstr "مايىللىق(_P)" - -#: ../gtk/gtkstock.c:410 -msgctxt "Stock label" -msgid "_Print" -msgstr "باس(_P)" - -#: ../gtk/gtkstock.c:411 -msgctxt "Stock label" -msgid "Print Pre_view" -msgstr "بېسىشنى ئالدىن كۆزەت(_V)" - -#: ../gtk/gtkstock.c:412 -msgctxt "Stock label" -msgid "_Properties" -msgstr "خاسلىق(_P)" - -#: ../gtk/gtkstock.c:413 -msgctxt "Stock label" -msgid "_Quit" -msgstr "چېكىن(_Q)" - -#: ../gtk/gtkstock.c:414 -msgctxt "Stock label" -msgid "_Redo" -msgstr "قايتىلا(_R)" - -#: ../gtk/gtkstock.c:415 -msgctxt "Stock label" -msgid "_Refresh" -msgstr "يېڭىلا(_R)" - -#: ../gtk/gtkstock.c:416 -msgctxt "Stock label" -msgid "_Remove" -msgstr "ئۆچۈر(_R)" - -#: ../gtk/gtkstock.c:417 -msgctxt "Stock label" -msgid "_Revert" -msgstr "ئەسلىگە قايتۇر(_R)" - -#: ../gtk/gtkstock.c:418 -msgctxt "Stock label" -msgid "_Save" -msgstr "ساقلا(_S)" - -#: ../gtk/gtkstock.c:419 -msgctxt "Stock label" -msgid "Save _As" -msgstr "باشقا ئاتتا ساقلا(_A)" - -#: ../gtk/gtkstock.c:420 -msgctxt "Stock label" -msgid "Select _All" -msgstr "ھەممىنى تاللا(_A)" - -#: ../gtk/gtkstock.c:421 -msgctxt "Stock label" -msgid "_Color" -msgstr "رەڭ(_C)" - -#: ../gtk/gtkstock.c:422 -msgctxt "Stock label" -msgid "_Font" -msgstr "خەت نۇسخا(_F)" - -#. Sorting direction -#: ../gtk/gtkstock.c:424 -msgctxt "Stock label" -msgid "_Ascending" -msgstr "ئۆسكۈچى(_A)" - -#. Sorting direction -#: ../gtk/gtkstock.c:426 -msgctxt "Stock label" -msgid "_Descending" -msgstr "كېمەيگۈچى(_D)" - -#: ../gtk/gtkstock.c:427 -msgctxt "Stock label" -msgid "_Spell Check" -msgstr "ئىملا تەكشۈر(_S)" - -#: ../gtk/gtkstock.c:428 -msgctxt "Stock label" -msgid "_Stop" -msgstr "توختا(_S)" - -#. Font variant -#: ../gtk/gtkstock.c:430 -msgctxt "Stock label" -msgid "_Strikethrough" -msgstr "ئۆچۈرۈش سىزىقى (_S)" - -#: ../gtk/gtkstock.c:431 -msgctxt "Stock label" -msgid "_Undelete" -msgstr "ئەسلىگە كەلتۈر(_U)" - -#. Font variant -#: ../gtk/gtkstock.c:433 -msgctxt "Stock label" -msgid "_Underline" -msgstr "ئاستى سىزىق(_U)" - -#: ../gtk/gtkstock.c:434 -msgctxt "Stock label" -msgid "_Undo" -msgstr "يېنىۋال(_U)" - -#: ../gtk/gtkstock.c:435 -msgctxt "Stock label" -msgid "_Yes" -msgstr "ھەئە(_Y)" - -#. Zoom -#: ../gtk/gtkstock.c:437 -msgctxt "Stock label" -msgid "_Normal Size" -msgstr "ئەسلى چوڭلۇقى(_N)" - -#. Zoom -#: ../gtk/gtkstock.c:439 -msgctxt "Stock label" -msgid "Best _Fit" -msgstr "ئەڭ مۇناسىپ(_F)" - -#: ../gtk/gtkstock.c:440 -msgctxt "Stock label" -msgid "Zoom _In" -msgstr "چوڭايت(_I)" - -#: ../gtk/gtkstock.c:441 -msgctxt "Stock label" -msgid "Zoom _Out" -msgstr "كىچىكلەت(_O) " - -#: ../gtk/gtktextbufferrichtext.c:650 -#, c-format -msgid "Unknown error when trying to deserialize %s" -msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s" - -#: ../gtk/gtktextbufferrichtext.c:709 -#, c-format -msgid "No deserialize function found for format %s" -msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" - -#: ../gtk/gtktextbufferserialize.c:795 ../gtk/gtktextbufferserialize.c:821 -#, c-format -msgid "Both \"id\" and \"name\" were found on the <%s> element" -msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" - -#: ../gtk/gtktextbufferserialize.c:805 ../gtk/gtktextbufferserialize.c:831 -#, c-format -msgid "The attribute \"%s\" was found twice on the <%s> element" -msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" - -#: ../gtk/gtktextbufferserialize.c:845 -#, c-format -msgid "<%s> element has invalid id \"%s\"" -msgstr "<%s> ئېلېمېنتنىڭ id سى “%s” ئىناۋەتسىز " - -#: ../gtk/gtktextbufferserialize.c:855 -#, c-format -msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" -msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" - -#: ../gtk/gtktextbufferserialize.c:942 -#, c-format -msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى " - -#: ../gtk/gtktextbufferserialize.c:960 ../gtk/gtktextbufferserialize.c:985 -#, c-format -msgid "Attribute \"%s\" is invalid on <%s> element in this context" -msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" - -#: ../gtk/gtktextbufferserialize.c:1024 -#, c-format -msgid "Tag \"%s\" has not been defined." -msgstr "“%s” بەلگە ئېنىقلانمىغان." - -#: ../gtk/gtktextbufferserialize.c:1036 -msgid "Anonymous tag found and tags can not be created." -msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" - -#: ../gtk/gtktextbufferserialize.c:1047 -#, c-format -msgid "Tag \"%s\" does not exist in buffer and tags can not be created." -msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." - -#: ../gtk/gtktextbufferserialize.c:1146 ../gtk/gtktextbufferserialize.c:1221 -#: ../gtk/gtktextbufferserialize.c:1324 ../gtk/gtktextbufferserialize.c:1398 -#, c-format -msgid "Element <%s> is not allowed below <%s>" -msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" - -#: ../gtk/gtktextbufferserialize.c:1177 -#, c-format -msgid "\"%s\" is not a valid attribute type" -msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" - -#: ../gtk/gtktextbufferserialize.c:1185 -#, c-format -msgid "\"%s\" is not a valid attribute name" -msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" - -#: ../gtk/gtktextbufferserialize.c:1195 -#, c-format -msgid "" -"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "" -"\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا " -"ئىشلىتىلىدۇ" - -#: ../gtk/gtktextbufferserialize.c:1204 -#, c-format -msgid "\"%s\" is not a valid value for attribute \"%s\"" -msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" - -#: ../gtk/gtktextbufferserialize.c:1289 -#, c-format -msgid "Tag \"%s\" already defined" -msgstr "\"%s\" بەلگە ئېنىقلاندى" - -#: ../gtk/gtktextbufferserialize.c:1300 -#, c-format -msgid "Tag \"%s\" has invalid priority \"%s\"" -msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" - -#: ../gtk/gtktextbufferserialize.c:1353 -#, c-format -msgid "Outermost element in text must be not <%s>" -msgstr "" -"تېكستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" - -#: ../gtk/gtktextbufferserialize.c:1362 ../gtk/gtktextbufferserialize.c:1378 -#, c-format -msgid "A <%s> element has already been specified" -msgstr "<%s> ئېلېمېنت بەلگىلەندى" - -#: ../gtk/gtktextbufferserialize.c:1384 -msgid "A element can't occur before a element" -msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" - -#: ../gtk/gtktextbufferserialize.c:1784 -msgid "Serialized data is malformed" -msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" - -#: ../gtk/gtktextbufferserialize.c:1862 -msgid "" -"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "" -"تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى " -"GTKTEXTBUFFERCONTENTS-0001" - -#: ../gtk/gtktextutil.c:60 -msgid "LRM _Left-to-right mark" -msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)" - -#: ../gtk/gtktextutil.c:61 -msgid "RLM _Right-to-left mark" -msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)" - -#: ../gtk/gtktextutil.c:62 -msgid "LRE Left-to-right _embedding" -msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)" - -#: ../gtk/gtktextutil.c:63 -msgid "RLE Right-to-left e_mbedding" -msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)" - -#: ../gtk/gtktextutil.c:64 -msgid "LRO Left-to-right _override" -msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)" - -#: ../gtk/gtktextutil.c:65 -msgid "RLO Right-to-left o_verride" -msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)" - -#: ../gtk/gtktextutil.c:66 -msgid "PDF _Pop directional formatting" -msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)" - -#: ../gtk/gtktextutil.c:67 -msgid "ZWS _Zero width space" -msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)" - -#: ../gtk/gtktextutil.c:68 -msgid "ZWJ Zero width _joiner" -msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)" - -#: ../gtk/gtktextutil.c:69 -msgid "ZWNJ Zero width _non-joiner" -msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)" - -#: ../gtk/gtkthemes.c:71 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" - -#: ../gtk/gtkuimanager.c:1505 -#, c-format -msgid "Unexpected start tag '%s' on line %d char %d" -msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە" - -#: ../gtk/gtkuimanager.c:1595 -#, c-format -msgid "Unexpected character data on line %d char %d" -msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار" - -#: ../gtk/gtkuimanager.c:2427 -msgid "Empty" -msgstr "بوش" - -#: ../gtk/gtkvolumebutton.c:83 -msgid "Volume" -msgstr "قىممەت" - -#: ../gtk/gtkvolumebutton.c:85 -msgid "Turns volume down or up" -msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" - -#: ../gtk/gtkvolumebutton.c:88 -msgid "Adjusts the volume" -msgstr "ئاۋاز تەڭشىكى" - -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 -msgid "Volume Down" -msgstr "ئاۋازنى تۆۋەنلەت" - -#: ../gtk/gtkvolumebutton.c:96 -msgid "Decreases the volume" -msgstr "ئاۋازنى كېمەيت" - -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 -msgid "Volume Up" -msgstr "ئاۋازنى يۇقىرىلات" - -#: ../gtk/gtkvolumebutton.c:102 -msgid "Increases the volume" -msgstr "ئاۋازنى ئاشۇر" - -#: ../gtk/gtkvolumebutton.c:160 -msgid "Muted" -msgstr "ئۈنسىز" - -#: ../gtk/gtkvolumebutton.c:164 -msgid "Full Volume" -msgstr "ئەڭ يۇقىرى ئاۋاز" - -#. Translators: this is the percentage of the current volume, -#. * as used in the tooltip, eg. "49 %". -#. * Translate the "%d" to "%Id" if you want to use localised digits, -#. * or otherwise translate the "%d" to "%d". -#. -#: ../gtk/gtkvolumebutton.c:177 -#, c-format -msgctxt "volume percentage" -msgid "%d %%" -msgstr "%d %%" - -#: ../gtk/paper_names_offsets.c:4 -msgctxt "paper size" -msgid "asme_f" -msgstr "asme_f" - -#: ../gtk/paper_names_offsets.c:5 -msgctxt "paper size" -msgid "A0x2" -msgstr "A0x2" - -#: ../gtk/paper_names_offsets.c:6 -msgctxt "paper size" -msgid "A0" -msgstr "A0" - -#: ../gtk/paper_names_offsets.c:7 -msgctxt "paper size" -msgid "A0x3" -msgstr "A0x3" - -#: ../gtk/paper_names_offsets.c:8 -msgctxt "paper size" -msgid "A1" -msgstr "A1" - -#: ../gtk/paper_names_offsets.c:9 -msgctxt "paper size" -msgid "A10" -msgstr "A10" - -#: ../gtk/paper_names_offsets.c:10 -msgctxt "paper size" -msgid "A1x3" -msgstr "A1x3" - -#: ../gtk/paper_names_offsets.c:11 -msgctxt "paper size" -msgid "A1x4" -msgstr "A1x4" - -#: ../gtk/paper_names_offsets.c:12 -msgctxt "paper size" -msgid "A2" -msgstr "A2" - -#: ../gtk/paper_names_offsets.c:13 -msgctxt "paper size" -msgid "A2x3" -msgstr "A2x3" - -#: ../gtk/paper_names_offsets.c:14 -msgctxt "paper size" -msgid "A2x4" -msgstr "A2x4" - -#: ../gtk/paper_names_offsets.c:15 -msgctxt "paper size" -msgid "A2x5" -msgstr "A2x5" - -#: ../gtk/paper_names_offsets.c:16 -msgctxt "paper size" -msgid "A3" -msgstr "A3" - -#: ../gtk/paper_names_offsets.c:17 -msgctxt "paper size" -msgid "A3 Extra" -msgstr "A3 Extra" - -#: ../gtk/paper_names_offsets.c:18 -msgctxt "paper size" -msgid "A3x3" -msgstr "A3x3" - -#: ../gtk/paper_names_offsets.c:19 -msgctxt "paper size" -msgid "A3x4" -msgstr "A3x4" - -#: ../gtk/paper_names_offsets.c:20 -msgctxt "paper size" -msgid "A3x5" -msgstr "A3x5" - -#: ../gtk/paper_names_offsets.c:21 -msgctxt "paper size" -msgid "A3x6" -msgstr "A3x6" - -#: ../gtk/paper_names_offsets.c:22 -msgctxt "paper size" -msgid "A3x7" -msgstr "A3x7" - -#: ../gtk/paper_names_offsets.c:23 -msgctxt "paper size" -msgid "A4" -msgstr "A4" - -#: ../gtk/paper_names_offsets.c:24 -msgctxt "paper size" -msgid "A4 Extra" -msgstr "A4 Extra" - -#: ../gtk/paper_names_offsets.c:25 -msgctxt "paper size" -msgid "A4 Tab" -msgstr "A4 Tab" - -#: ../gtk/paper_names_offsets.c:26 -msgctxt "paper size" -msgid "A4x3" -msgstr "A4x3" - -#: ../gtk/paper_names_offsets.c:27 -msgctxt "paper size" -msgid "A4x4" -msgstr "A4x4" - -#: ../gtk/paper_names_offsets.c:28 -msgctxt "paper size" -msgid "A4x5" -msgstr "A4x5" - -#: ../gtk/paper_names_offsets.c:29 -msgctxt "paper size" -msgid "A4x6" -msgstr "A4x6" - -#: ../gtk/paper_names_offsets.c:30 -msgctxt "paper size" -msgid "A4x7" -msgstr "A4x7" - -#: ../gtk/paper_names_offsets.c:31 -msgctxt "paper size" -msgid "A4x8" -msgstr "A4x8" - -#: ../gtk/paper_names_offsets.c:32 -msgctxt "paper size" -msgid "A4x9" -msgstr "A4x9" - -#: ../gtk/paper_names_offsets.c:33 -msgctxt "paper size" -msgid "A5" -msgstr "A5" - -#: ../gtk/paper_names_offsets.c:34 -msgctxt "paper size" -msgid "A5 Extra" -msgstr "A5 Extra" - -#: ../gtk/paper_names_offsets.c:35 -msgctxt "paper size" -msgid "A6" -msgstr "A6" - -#: ../gtk/paper_names_offsets.c:36 -msgctxt "paper size" -msgid "A7" -msgstr "A7" - -#: ../gtk/paper_names_offsets.c:37 -msgctxt "paper size" -msgid "A8" -msgstr "A8" - -#: ../gtk/paper_names_offsets.c:38 -msgctxt "paper size" -msgid "A9" -msgstr "A9" - -#: ../gtk/paper_names_offsets.c:39 -msgctxt "paper size" -msgid "B0" -msgstr "B0" - -#: ../gtk/paper_names_offsets.c:40 -msgctxt "paper size" -msgid "B1" -msgstr "B1" - -#: ../gtk/paper_names_offsets.c:41 -msgctxt "paper size" -msgid "B10" -msgstr "B10" - -#: ../gtk/paper_names_offsets.c:42 -msgctxt "paper size" -msgid "B2" -msgstr "B2" - -#: ../gtk/paper_names_offsets.c:43 -msgctxt "paper size" -msgid "B3" -msgstr "B3" - -#: ../gtk/paper_names_offsets.c:44 -msgctxt "paper size" -msgid "B4" -msgstr "B4" - -#: ../gtk/paper_names_offsets.c:45 -msgctxt "paper size" -msgid "B5" -msgstr "B5" - -#: ../gtk/paper_names_offsets.c:46 -msgctxt "paper size" -msgid "B5 Extra" -msgstr "B5 Extra" - -#: ../gtk/paper_names_offsets.c:47 -msgctxt "paper size" -msgid "B6" -msgstr "B6" - -#: ../gtk/paper_names_offsets.c:48 -msgctxt "paper size" -msgid "B6/C4" -msgstr "B6/C4" - -#: ../gtk/paper_names_offsets.c:49 -msgctxt "paper size" -msgid "B7" -msgstr "B7" - -#: ../gtk/paper_names_offsets.c:50 -msgctxt "paper size" -msgid "B8" -msgstr "B8" - -#: ../gtk/paper_names_offsets.c:51 -msgctxt "paper size" -msgid "B9" -msgstr "B9" - -#: ../gtk/paper_names_offsets.c:52 -msgctxt "paper size" -msgid "C0" -msgstr "C0" - -#: ../gtk/paper_names_offsets.c:53 -msgctxt "paper size" -msgid "C1" -msgstr "C1" - -#: ../gtk/paper_names_offsets.c:54 -msgctxt "paper size" -msgid "C10" -msgstr "C10" - -#: ../gtk/paper_names_offsets.c:55 -msgctxt "paper size" -msgid "C2" -msgstr "C2" - -#: ../gtk/paper_names_offsets.c:56 -msgctxt "paper size" -msgid "C3" -msgstr "C3" - -#: ../gtk/paper_names_offsets.c:57 -msgctxt "paper size" -msgid "C4" -msgstr "C4" - -#: ../gtk/paper_names_offsets.c:58 -msgctxt "paper size" -msgid "C5" -msgstr "C5" - -#: ../gtk/paper_names_offsets.c:59 -msgctxt "paper size" -msgid "C6" -msgstr "C6" - -#: ../gtk/paper_names_offsets.c:60 -msgctxt "paper size" -msgid "C6/C5" -msgstr "C6/C5" - -#: ../gtk/paper_names_offsets.c:61 -msgctxt "paper size" -msgid "C7" -msgstr "C7" - -#: ../gtk/paper_names_offsets.c:62 -msgctxt "paper size" -msgid "C7/C6" -msgstr "C7/C6" - -#: ../gtk/paper_names_offsets.c:63 -msgctxt "paper size" -msgid "C8" -msgstr "C8" - -#: ../gtk/paper_names_offsets.c:64 -msgctxt "paper size" -msgid "C9" -msgstr "C9" - -#: ../gtk/paper_names_offsets.c:65 -msgctxt "paper size" -msgid "DL Envelope" -msgstr "DL لىپاپا" - -#: ../gtk/paper_names_offsets.c:66 -msgctxt "paper size" -msgid "RA0" -msgstr "RA0" - -#: ../gtk/paper_names_offsets.c:67 -msgctxt "paper size" -msgid "RA1" -msgstr "RA1" - -#: ../gtk/paper_names_offsets.c:68 -msgctxt "paper size" -msgid "RA2" -msgstr "RA2" - -#: ../gtk/paper_names_offsets.c:69 -msgctxt "paper size" -msgid "SRA0" -msgstr "SRA0" - -#: ../gtk/paper_names_offsets.c:70 -msgctxt "paper size" -msgid "SRA1" -msgstr "SRA1" - -#: ../gtk/paper_names_offsets.c:71 -msgctxt "paper size" -msgid "SRA2" -msgstr "SRA2" - -#: ../gtk/paper_names_offsets.c:72 -msgctxt "paper size" -msgid "JB0" -msgstr "JB0" - -#: ../gtk/paper_names_offsets.c:73 -msgctxt "paper size" -msgid "JB1" -msgstr "JB1" - -#: ../gtk/paper_names_offsets.c:74 -msgctxt "paper size" -msgid "JB10" -msgstr "JB10" - -#: ../gtk/paper_names_offsets.c:75 -msgctxt "paper size" -msgid "JB2" -msgstr "JB2" - -#: ../gtk/paper_names_offsets.c:76 -msgctxt "paper size" -msgid "JB3" -msgstr "JB3" - -#: ../gtk/paper_names_offsets.c:77 -msgctxt "paper size" -msgid "JB4" -msgstr "JB4" - -#: ../gtk/paper_names_offsets.c:78 -msgctxt "paper size" -msgid "JB5" -msgstr "JB5" - -#: ../gtk/paper_names_offsets.c:79 -msgctxt "paper size" -msgid "JB6" -msgstr "JB6" - -#: ../gtk/paper_names_offsets.c:80 -msgctxt "paper size" -msgid "JB7" -msgstr "JB7" - -#: ../gtk/paper_names_offsets.c:81 -msgctxt "paper size" -msgid "JB8" -msgstr "JB8" - -#: ../gtk/paper_names_offsets.c:82 -msgctxt "paper size" -msgid "JB9" -msgstr "JB9" - -#: ../gtk/paper_names_offsets.c:83 -msgctxt "paper size" -msgid "jis exec" -msgstr "jis exec" - -#: ../gtk/paper_names_offsets.c:84 -msgctxt "paper size" -msgid "Choukei 2 Envelope" -msgstr "Choukei 2 لىپاپ" - -#: ../gtk/paper_names_offsets.c:85 -msgctxt "paper size" -msgid "Choukei 3 Envelope" -msgstr "Choukei 3 لىپاپ" - -#: ../gtk/paper_names_offsets.c:86 -msgctxt "paper size" -msgid "Choukei 4 Envelope" -msgstr "houkei 4 لىپاپ" - -#: ../gtk/paper_names_offsets.c:87 -msgctxt "paper size" -msgid "hagaki (postcard)" -msgstr "hagaki (پوچتا كارتىسى)" - -#: ../gtk/paper_names_offsets.c:88 -msgctxt "paper size" -msgid "kahu Envelope" -msgstr "kahu لىپاپ" - -#: ../gtk/paper_names_offsets.c:89 -msgctxt "paper size" -msgid "kaku2 Envelope" -msgstr "kaku2 لىپاپ" - -#: ../gtk/paper_names_offsets.c:90 -msgctxt "paper size" -msgid "oufuku (reply postcard)" -msgstr "oufuku (جاۋاب پوچتا كارتىسى)" - -#: ../gtk/paper_names_offsets.c:91 -msgctxt "paper size" -msgid "you4 Envelope" -msgstr "you4 لىپاپ" - -#: ../gtk/paper_names_offsets.c:92 -msgctxt "paper size" -msgid "10x11" -msgstr "10x11" - -#: ../gtk/paper_names_offsets.c:93 -msgctxt "paper size" -msgid "10x13" -msgstr "10x13" - -#: ../gtk/paper_names_offsets.c:94 -msgctxt "paper size" -msgid "10x14" -msgstr "10x14" - -#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 -msgctxt "paper size" -msgid "10x15" -msgstr "10x15" - -#: ../gtk/paper_names_offsets.c:97 -msgctxt "paper size" -msgid "11x12" -msgstr "11x12" - -#: ../gtk/paper_names_offsets.c:98 -msgctxt "paper size" -msgid "11x15" -msgstr "11x15" - -#: ../gtk/paper_names_offsets.c:99 -msgctxt "paper size" -msgid "12x19" -msgstr "12x19" - -#: ../gtk/paper_names_offsets.c:100 -msgctxt "paper size" -msgid "5x7" -msgstr "5x7" - -#: ../gtk/paper_names_offsets.c:101 -msgctxt "paper size" -msgid "6x9 Envelope" -msgstr "6x9 لىپاپ" - -#: ../gtk/paper_names_offsets.c:102 -msgctxt "paper size" -msgid "7x9 Envelope" -msgstr "7x9 لىپاپ" - -#: ../gtk/paper_names_offsets.c:103 -msgctxt "paper size" -msgid "9x11 Envelope" -msgstr "9x11 لىپاپ" - -#: ../gtk/paper_names_offsets.c:104 -msgctxt "paper size" -msgid "a2 Envelope" -msgstr "a2 لىپاپ" - -#: ../gtk/paper_names_offsets.c:105 -msgctxt "paper size" -msgid "Arch A" -msgstr "ئەگمە A" - -#: ../gtk/paper_names_offsets.c:106 -msgctxt "paper size" -msgid "Arch B" -msgstr "ئەگمە B" - -#: ../gtk/paper_names_offsets.c:107 -msgctxt "paper size" -msgid "Arch C" -msgstr "ئەگمە C" - -#: ../gtk/paper_names_offsets.c:108 -msgctxt "paper size" -msgid "Arch D" -msgstr "ئەگمە D" - -#: ../gtk/paper_names_offsets.c:109 -msgctxt "paper size" -msgid "Arch E" -msgstr "ئەگمە E" - -#: ../gtk/paper_names_offsets.c:110 -msgctxt "paper size" -msgid "b-plus" -msgstr "b-plus" - -#: ../gtk/paper_names_offsets.c:111 -msgctxt "paper size" -msgid "c" -msgstr "c" - -#: ../gtk/paper_names_offsets.c:112 -msgctxt "paper size" -msgid "c5 Envelope" -msgstr "c5 لىپاپ" - -#: ../gtk/paper_names_offsets.c:113 -msgctxt "paper size" -msgid "d" -msgstr "d" - -#: ../gtk/paper_names_offsets.c:114 -msgctxt "paper size" -msgid "e" -msgstr "e" - -#: ../gtk/paper_names_offsets.c:115 -msgctxt "paper size" -msgid "edp" -msgstr "edp" - -#: ../gtk/paper_names_offsets.c:116 -msgctxt "paper size" -msgid "European edp" -msgstr "ياۋرۇپا edp" - -#: ../gtk/paper_names_offsets.c:117 -msgctxt "paper size" -msgid "Executive" -msgstr "مەمۇرىي" - -#: ../gtk/paper_names_offsets.c:118 -msgctxt "paper size" -msgid "f" -msgstr "f" - -#: ../gtk/paper_names_offsets.c:119 -msgctxt "paper size" -msgid "FanFold European" -msgstr "FanFold ياۋرۇپا" - -#: ../gtk/paper_names_offsets.c:120 -msgctxt "paper size" -msgid "FanFold US" -msgstr "FanFold ئا ق ش" - -#: ../gtk/paper_names_offsets.c:121 -msgctxt "paper size" -msgid "FanFold German Legal" -msgstr "FanFold گېرمانىيە قانۇنى" - -#: ../gtk/paper_names_offsets.c:122 -msgctxt "paper size" -msgid "Government Legal" -msgstr "ھۆكۈمەت قانۇنى" - -#: ../gtk/paper_names_offsets.c:123 -msgctxt "paper size" -msgid "Government Letter" -msgstr "ھۆكۈمەت خەت-چەك" - -#: ../gtk/paper_names_offsets.c:124 -msgctxt "paper size" -msgid "Index 3x5" -msgstr "Index 3x5" - -#: ../gtk/paper_names_offsets.c:125 -msgctxt "paper size" -msgid "Index 4x6 (postcard)" -msgstr "Index 4x6 (پوچتا كارتىسى)" - -#: ../gtk/paper_names_offsets.c:126 -msgctxt "paper size" -msgid "Index 4x6 ext" -msgstr "Index 4x6 ext" - -#: ../gtk/paper_names_offsets.c:127 -msgctxt "paper size" -msgid "Index 5x8" -msgstr "Index 5x8" - -#: ../gtk/paper_names_offsets.c:128 -msgctxt "paper size" -msgid "Invoice" -msgstr "Invoice" - -#: ../gtk/paper_names_offsets.c:129 -msgctxt "paper size" -msgid "Tabloid" -msgstr "تەرمىلەر" - -#: ../gtk/paper_names_offsets.c:130 -msgctxt "paper size" -msgid "US Legal" -msgstr "ئا ق ش قانۇن" - -#: ../gtk/paper_names_offsets.c:131 -msgctxt "paper size" -msgid "US Legal Extra" -msgstr "ئا ق ش قانۇنى زىيادە چوڭ" - -#: ../gtk/paper_names_offsets.c:132 -msgctxt "paper size" -msgid "US Letter" -msgstr "ئا ق ش لىپاپىسى" - -#: ../gtk/paper_names_offsets.c:133 -msgctxt "paper size" -msgid "US Letter Extra" -msgstr "ئا ق ش لىپاپىسى زىيادە چوڭ" - -#: ../gtk/paper_names_offsets.c:134 -msgctxt "paper size" -msgid "US Letter Plus" -msgstr "ئا ق ش لىپاپىسى چوڭ" - -#: ../gtk/paper_names_offsets.c:135 -msgctxt "paper size" -msgid "Monarch Envelope" -msgstr "Monarch لىپاپ" - -#: ../gtk/paper_names_offsets.c:136 -msgctxt "paper size" -msgid "#10 Envelope" -msgstr "#10 لىپاپ" - -#: ../gtk/paper_names_offsets.c:137 -msgctxt "paper size" -msgid "#11 Envelope" -msgstr "#11 لىپاپ" - -#: ../gtk/paper_names_offsets.c:138 -msgctxt "paper size" -msgid "#12 Envelope" -msgstr "#12 لىپاپ" - -#: ../gtk/paper_names_offsets.c:139 -msgctxt "paper size" -msgid "#14 Envelope" -msgstr "#14 لىپاپ" - -#: ../gtk/paper_names_offsets.c:140 -msgctxt "paper size" -msgid "#9 Envelope" -msgstr "#9 لىپاپ" - -#: ../gtk/paper_names_offsets.c:141 -msgctxt "paper size" -msgid "Personal Envelope" -msgstr "شەخسىي لىپاپ" - -#: ../gtk/paper_names_offsets.c:142 -msgctxt "paper size" -msgid "Quarto" -msgstr "Quarto" - -#: ../gtk/paper_names_offsets.c:143 -msgctxt "paper size" -msgid "Super A" -msgstr "Super A" - -#: ../gtk/paper_names_offsets.c:144 -msgctxt "paper size" -msgid "Super B" -msgstr "Super B" - -#: ../gtk/paper_names_offsets.c:145 -msgctxt "paper size" -msgid "Wide Format" -msgstr "كەڭ فورمات" - -#: ../gtk/paper_names_offsets.c:146 -msgctxt "paper size" -msgid "Dai-pa-kai" -msgstr "Dai-pa-kai" - -#: ../gtk/paper_names_offsets.c:147 -msgctxt "paper size" -msgid "Folio" -msgstr "Folio" - -#: ../gtk/paper_names_offsets.c:148 -msgctxt "paper size" -msgid "Folio sp" -msgstr "Folio sp" - -#: ../gtk/paper_names_offsets.c:149 -msgctxt "paper size" -msgid "Invite Envelope" -msgstr "تەكلىپ لىپاپ" - -#: ../gtk/paper_names_offsets.c:150 -msgctxt "paper size" -msgid "Italian Envelope" -msgstr "ئىتالىيە لىپاپىسى" - -#: ../gtk/paper_names_offsets.c:151 -msgctxt "paper size" -msgid "juuro-ku-kai" -msgstr "juuro-ku-kai" - -#: ../gtk/paper_names_offsets.c:152 -msgctxt "paper size" -msgid "pa-kai" -msgstr "pa-kai" - -#: ../gtk/paper_names_offsets.c:153 -msgctxt "paper size" -msgid "Postfix Envelope" -msgstr "Postfix لىپاپ" - -#: ../gtk/paper_names_offsets.c:154 -msgctxt "paper size" -msgid "Small Photo" -msgstr "كىچىك سۈرەت" - -#: ../gtk/paper_names_offsets.c:155 -msgctxt "paper size" -msgid "prc1 Envelope" -msgstr "prc1 شەخسىي لىپاپ" - -#: ../gtk/paper_names_offsets.c:156 -msgctxt "paper size" -msgid "prc10 Envelope" -msgstr "ج خ ج 10 لىپاپ" - -#: ../gtk/paper_names_offsets.c:157 -msgctxt "paper size" -msgid "prc 16k" -msgstr "ج خ ج 16 كەسلەم" - -#: ../gtk/paper_names_offsets.c:158 -msgctxt "paper size" -msgid "prc2 Envelope" -msgstr "ج خ ج 2 لىپاپ" - -#: ../gtk/paper_names_offsets.c:159 -msgctxt "paper size" -msgid "prc3 Envelope" -msgstr "ج خ ج 3 لىپاپ" - -#: ../gtk/paper_names_offsets.c:160 -msgctxt "paper size" -msgid "prc 32k" -msgstr "ج خ ج 32 كەسلەم" - -#: ../gtk/paper_names_offsets.c:161 -msgctxt "paper size" -msgid "prc4 Envelope" -msgstr "ج خ ج 4 لىپاپ" - -#: ../gtk/paper_names_offsets.c:162 -msgctxt "paper size" -msgid "prc5 Envelope" -msgstr "ج خ ج 5 لىپاپ" - -#: ../gtk/paper_names_offsets.c:163 -msgctxt "paper size" -msgid "prc6 Envelope" -msgstr "ج خ ج 6 لىپاپ" - -#: ../gtk/paper_names_offsets.c:164 -msgctxt "paper size" -msgid "prc7 Envelope" -msgstr "ج خ ج 7 لىپاپ" - -#: ../gtk/paper_names_offsets.c:165 -msgctxt "paper size" -msgid "prc8 Envelope" -msgstr "ج خ ج 8 لىپاپ" - -#: ../gtk/paper_names_offsets.c:166 -msgctxt "paper size" -msgid "prc9 Envelope" -msgstr "ج خ ج 9 لىپاپ" - -#: ../gtk/paper_names_offsets.c:167 -msgctxt "paper size" -msgid "ROC 16k" -msgstr "ج م 16 كەسلەم" - -#: ../gtk/paper_names_offsets.c:168 -msgctxt "paper size" -msgid "ROC 8k" -msgstr "ج م 8 كەسلەم" - -#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 -#, c-format -msgid "different idatas found for symlinked '%s' and '%s'\n" -msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n" - -#: ../gtk/updateiconcache.c:1374 -#, c-format -msgid "Failed to write header\n" -msgstr "بېشىغا يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1380 -#, c-format -msgid "Failed to write hash table\n" -msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1386 -#, c-format -msgid "Failed to write folder index\n" -msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1394 -#, c-format -msgid "Failed to rewrite header\n" -msgstr "باشىغا قايتا يازالمىدى\n" - -#: ../gtk/updateiconcache.c:1463 -#, c-format -msgid "Failed to open file %s : %s\n" -msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" - -#: ../gtk/updateiconcache.c:1471 -#, c-format -msgid "Failed to write cache file: %s\n" -msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" - -#: ../gtk/updateiconcache.c:1507 -#, c-format -msgid "The generated cache was invalid.\n" -msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" - -#: ../gtk/updateiconcache.c:1521 -#, c-format -msgid "Could not rename %s to %s: %s, removing %s then.\n" -msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" - -#: ../gtk/updateiconcache.c:1535 -#, c-format -msgid "Could not rename %s to %s: %s\n" -msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" - -#: ../gtk/updateiconcache.c:1545 -#, c-format -msgid "Could not rename %s back to %s: %s.\n" -msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" - -#: ../gtk/updateiconcache.c:1572 -#, c-format -msgid "Cache file created successfully.\n" -msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" - -#: ../gtk/updateiconcache.c:1611 -msgid "Overwrite an existing cache, even if up to date" -msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" - -#: ../gtk/updateiconcache.c:1612 -msgid "Don't check for the existence of index.theme" -msgstr "مەۋجۇد index.theme نى تەكشۈرمە" - -#: ../gtk/updateiconcache.c:1613 -msgid "Don't include image data in the cache" -msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" - -#: ../gtk/updateiconcache.c:1614 -msgid "Output a C header file" -msgstr "C باش ھۆججەتنى چىقار" - -#: ../gtk/updateiconcache.c:1615 -msgid "Turn off verbose output" -msgstr "تەپسىلىي چىقىرىشنى ياپ" - -#: ../gtk/updateiconcache.c:1616 -msgid "Validate existing icon cache" -msgstr "مەۋجۇد سىنبەلگە غەملىكىنى دەلىللە" - -#: ../gtk/updateiconcache.c:1683 -#, c-format -msgid "File not found: %s\n" -msgstr "ھۆججەتنى تاپالمىدى: %s\n" - -#: ../gtk/updateiconcache.c:1689 -#, c-format -msgid "Not a valid icon cache: %s\n" -msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" - -#: ../gtk/updateiconcache.c:1702 -#, c-format -msgid "No theme index file.\n" -msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" - -#: ../gtk/updateiconcache.c:1706 -#, c-format -msgid "" -"No theme index file in '%s'.\n" -"If you really want to create an icon cache here, use --ignore-theme-index.\n" -msgstr "" -"“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" -"ئەگەر بۇ جايغا راستىنلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-" -"index ئىشلىتىڭ\n" - -#. ID -#: ../modules/input/imam-et.c:454 -msgid "Amharic (EZ+)" -msgstr "ئامخاراچە(EZ+)" - -#. ID -#: ../modules/input/imcedilla.c:92 -msgid "Cedilla" -msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى" - -#. ID -#: ../modules/input/imcyrillic-translit.c:217 -msgid "Cyrillic (Transliterated)" -msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)" - -#. ID -#: ../modules/input/iminuktitut.c:127 -msgid "Inuktitut (Transliterated)" -msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)" - -#. ID -#: ../modules/input/imipa.c:145 -msgid "IPA" -msgstr "IPA " - -#. ID -#: ../modules/input/immultipress.c:31 -msgid "Multipress" -msgstr "ئېغىر بىسىم" - -#. ID -#: ../modules/input/imthai.c:35 -msgid "Thai-Lao" -msgstr "تايلاند-لائۇس" - -#. ID -#: ../modules/input/imti-er.c:453 -msgid "Tigrigna-Eritrean (EZ+)" -msgstr "تىگرىگنا-ئېرىترىيە(EZ+)" - -#. ID -#: ../modules/input/imti-et.c:453 -msgid "Tigrigna-Ethiopian (EZ+)" -msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)" - -#. ID -#: ../modules/input/imviqr.c:244 -msgid "Vietnamese (VIQR)" -msgstr "ۋيېتنامچە(VIQR)" - -#. ID -#: ../modules/input/imxim.c:28 -msgid "X Input Method" -msgstr "X كىرگۈزگۈچ" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 -msgid "Username:" -msgstr "ئىشلەتكۈچى ئاتى:" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 -msgid "Password:" -msgstr "ئىم:" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 -#, c-format -msgid "Authentication is required to print document '%s' on printer %s" -msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 -#, c-format -msgid "Authentication is required to print a document on %s" -msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 -#, c-format -msgid "Authentication is required to get attributes of job '%s'" -msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 -msgid "Authentication is required to get attributes of a job" -msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 -#, c-format -msgid "Authentication is required to get attributes of printer %s" -msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 -msgid "Authentication is required to get attributes of a printer" -msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 -#, c-format -msgid "Authentication is required to get default printer of %s" -msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 -#, c-format -msgid "Authentication is required to get printers from %s" -msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 -#, c-format -msgid "Authentication is required on %s" -msgstr "%s دا دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 -msgid "Domain:" -msgstr "دائىرە:" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 -#, c-format -msgid "Authentication is required to print document '%s'" -msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 -#, c-format -msgid "Authentication is required to print this document on printer %s" -msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 -msgid "Authentication is required to print this document" -msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 -#, c-format -msgid "Printer '%s' is low on toner." -msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 -#, c-format -msgid "Printer '%s' has no toner left." -msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان." - -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 -#, c-format -msgid "Printer '%s' is low on developer." -msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز" - -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 -#, c-format -msgid "Printer '%s' is out of developer." -msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان." - -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 -#, c-format -msgid "Printer '%s' is low on at least one marker supply." -msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز." - -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 -#, c-format -msgid "Printer '%s' is out of at least one marker supply." -msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 -#, c-format -msgid "The cover is open on printer '%s'." -msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 -#, c-format -msgid "The door is open on printer '%s'." -msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 -#, c-format -msgid "Printer '%s' is low on paper." -msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 -#, c-format -msgid "Printer '%s' is out of paper." -msgstr "'%s' پرىنتېردا قەغەز كەم." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, c-format -msgid "Printer '%s' is currently off-line." -msgstr "'%s' پرىنتېر نۆۋەتتە تورسىز." - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 -#, c-format -msgid "There is a problem on printer '%s'." -msgstr "'%s' پرىنتېردا مەسىلە بار." - -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 -msgid "Paused ; Rejecting Jobs" -msgstr "ۋاقىتلىق توختىلدى؛ ۋەزىپىنى رەت قىلىدۇ" - -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 -msgid "Rejecting Jobs" -msgstr "ۋەزىپىنى رەت قىلىدۇ" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 -msgid "Two Sided" -msgstr "قوش يۈزلۈك" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 -msgid "Paper Type" -msgstr "قەغەز تىپى" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 -msgid "Paper Source" -msgstr "قەغەز مەنبەسى" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 -msgid "Output Tray" -msgstr "قەغەز چىقارغۇچ" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 -msgid "Resolution" -msgstr "ئېنىقلىق" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 -msgid "GhostScript pre-filtering" -msgstr "GhostScript ئالدىن سۈزگۈچ" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 -msgid "One Sided" -msgstr "تاق تەرەپلىك" - -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 -msgid "Long Edge (Standard)" -msgstr "ئۇزۇن يان (ئۆلچەملىك)" - -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 -msgid "Short Edge (Flip)" -msgstr "قىسقا يان (ئۆرۈ)" - -#. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 -msgid "Auto Select" -msgstr "ئۆزلۈكىدىن تاللا" - -#. Translators: this is an option of "Paper Source" -#. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 -msgid "Printer Default" -msgstr "ئالدىن تەڭشەلگەن پرىنتېر" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 -msgid "Embed GhostScript fonts only" -msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 -msgid "Convert to PS level 1" -msgstr "PS دەرىجە 1 گە ئايلاندۇر" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 -msgid "Convert to PS level 2" -msgstr "PS دەرىجە 2 گە ئايلاندۇر" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 -msgid "No pre-filtering" -msgstr "ئالدىن سۈزگۈچ يوق" - -#. Translators: "Miscellaneous" is the label for a button, that opens -#. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 -msgid "Miscellaneous" -msgstr "باشقىلار" - -#. Translators: These strings name the possible values of the -#. * job priority option in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "Urgent" -msgstr "جىددىي" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "High" -msgstr "يۇقىرى" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "Medium" -msgstr "ئوتتۇرا" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "Low" -msgstr "تۆۋەن" - -#. Cups specific, non-ppd related settings -#. Translators, this string is used to label the pages-per-sheet option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 -msgid "Pages per Sheet" -msgstr "ھەر ۋاراق بەت سانى" - -#. Translators, this string is used to label the job priority option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 -msgid "Job Priority" -msgstr "ۋەزىپە ئالدىنلىق" - -#. Translators, this string is used to label the billing info entry -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 -msgid "Billing Info" -msgstr "ھەق ھېسابلاش ئۇچۇرى" - -#. Translators, these strings are names for various 'standard' cover -#. * pages that the printing system may support. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "None" -msgstr "يوق" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Classified" -msgstr "تۈرگە ئايرىلغان" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Confidential" -msgstr "مەخپىي" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Secret" -msgstr "سىر" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Standard" -msgstr "ئۆلچەملىك" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Top Secret" -msgstr "قەتئىي مەخپىي" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Unclassified" -msgstr "بۆلۈنمىگەن" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 -msgid "Before" -msgstr "ئاۋۋال" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 -msgid "After" -msgstr "داۋامى" - -#. Translators: this is the name of the option that controls when -#. * a print job is printed. Possible values are 'now', a specified time, -#. * or 'on hold' -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 -msgid "Print at" -msgstr "باسىدۇ" - -#. Translators: this is the name of the option that allows the user -#. * to specify a time when a print job will be printed. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 -msgid "Print at time" -msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" - -#. Translators: this format is used to display a custom paper -#. * size. The two placeholders are replaced with the width and height -#. * in points. E.g: "Custom 230.4x142.9" -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 -#, c-format -msgid "Custom %sx%s" -msgstr "ئىختىيارى %sx%s" - -#. default filename used for print-to-file -#: ../modules/printbackends/file/gtkprintbackendfile.c:250 -#, c-format -msgid "output.%s" -msgstr "چىقىش.%s" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:493 -msgid "Print to File" -msgstr "ھۆججەتكە باس" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 -msgid "PDF" -msgstr "PDF" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 -msgid "Postscript" -msgstr "Postscript" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 -msgid "SVG" -msgstr "SVG" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:582 -#: ../modules/printbackends/test/gtkprintbackendtest.c:503 -msgid "Pages per _sheet:" -msgstr "ھەر ۋاراق بەت سانى(_S):" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:641 -msgid "File" -msgstr "ھۆججەت" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:651 -msgid "_Output format" -msgstr "چىقىرىش فورماتى(_O)" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 -msgid "Print to LPR" -msgstr "LPR غا باس" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 -msgid "Pages Per Sheet" -msgstr "ھەر ۋاراقتىكى بەت سانى" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 -msgid "Command Line" -msgstr "بۇيرۇق قۇرى" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 -msgid "printer offline" -msgstr "پرىنتېر ئۈزۈك ھالەتتە" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 -msgid "ready to print" -msgstr "بېسىشقا تەييار" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 -msgid "processing job" -msgstr "ۋەزىپىنى بىر تەرپ قىلىۋاتىدۇ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 -msgid "paused" -msgstr "ۋاقىتلىق توختىتىلدى" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 -msgid "unknown" -msgstr "نامەلۇم" - -#. default filename used for print-to-test -#: ../modules/printbackends/test/gtkprintbackendtest.c:234 -#, c-format -msgid "test-output.%s" -msgstr "test-output.%s" - -#: ../modules/printbackends/test/gtkprintbackendtest.c:467 -msgid "Print to Test Printer" -msgstr "سىناق پرىنتېردا باس" - -#: ../tests/testfilechooser.c:207 -#, c-format -msgid "Could not get information for file '%s': %s" -msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s" - -#: ../tests/testfilechooser.c:222 -#, c-format -msgid "Failed to open file '%s': %s" -msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s" - -#: ../tests/testfilechooser.c:267 -#, c-format -msgid "" -"Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "" -"'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن " -"بولۇشى مۇمكىن" - -#~ msgid "Image file '%s' contains no data" -#~ msgstr "'%s' سۈرەت ھۆججەتتە ھىچقانداق سانلىق مەلۇمات يوق" - -#~ msgid "" -#~ "Failed to load animation '%s': reason not known, probably a corrupt " -#~ "animation file" -#~ msgstr "" -#~ "'%s' جانلاندۇرۇمنى يۈكلىيەلمىدى: سەۋەبى ئېنىق ئەمەس ياكى جانلاندۇرۇم " -#~ "ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" - -#~ msgid "Unable to load image-loading module: %s: %s" -#~ msgstr "سۈرەت يۈكلەش بۆلىكىنى يۈكلىيەلمىدى: %s : %s" - -#~ msgid "" -#~ "Image-loading module %s does not export the proper interface; perhaps " -#~ "it's from a different GTK version?" -#~ msgstr "" -#~ "%s سۈرەت يۈكلەش بۆلىكى توغرا ئېغىزنى چىقىرالمىدى: ئۇ باشقا بىر GTK " -#~ "نەشرىگە تەۋەمۇ؟" - -#~ msgid "Image type '%s' is not supported" -#~ msgstr "بۇ '%s' خىلدىكى سۈرەت تىپىنى قوللىمايدۇ" - -#~ msgid "Couldn't recognize the image file format for file '%s'" -#~ msgstr "'%s' نىڭ سۈرەت فورماتىنى پەرقلەندۈرەلمىدى" - -#~ msgid "Unrecognized image file format" -#~ msgstr "پەرقلەندۈرگىلى بولمايدىغان سۈرەت ھۆججەت فورماتى" - -#~ msgid "Failed to load image '%s': %s" -#~ msgstr "'%s' سۈرەت يۈكلىيەلمىدى: %s" - -#~ msgid "Error writing to image file: %s" -#~ msgstr "سۈرەت ھۆججەت يېزىش خاتالىقى: %s" - -#~ msgid "" -#~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "بۇ gdk-pixbuf ساقلايدىغان بۇ خىل ھۆججەت شەكلىنى قوللىمايدۇ :%s" - -#~ msgid "Insufficient memory to save image to callback" -#~ msgstr "بۇ سۈرەتنى ساقلاشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "Failed to open temporary file" -#~ msgstr "ۋاقىتلىق ھۆججەتنى ئاچالمىدى" - -#~ msgid "Failed to read from temporary file" -#~ msgstr "ۋاقىتلىق ھۆججەتتىن ئوقۇيالمىدى" - -#~ msgid "Failed to open '%s' for writing: %s" -#~ msgstr "'%s' نى ئېچىپ يازالمىدى: %s" - -#~ msgid "" -#~ "Failed to close '%s' while writing image, all data may not have been " -#~ "saved: %s" -#~ msgstr "" -#~ "سۈرەتكە يازغاندا '%s' نى ياپالمىدى، ھەممە سانلىق مەلۇمات ساقلانمىغان " -#~ "بولۇشى مۇمكىن: %s" - -#~ msgid "Insufficient memory to save image into a buffer" -#~ msgstr "بۇ سۈرەتنى يىغلەككە ساقلاشقا ئەسلەك يېتىشمەيدۇ" - -#~ msgid "Error writing to image stream" -#~ msgstr "سۈرەت ئاقمىسى ساقلاۋاتقاندا خاتالىق كۆرۈلدى" - -#~ msgid "" -#~ "Internal error: Image loader module '%s' failed to complete an operation, " -#~ "but didn't give a reason for the failure" -#~ msgstr "" -#~ "ئىچكى خاتالىق: سۈرەت يۈكلەش بۆلىكى '%s' مەلۇم مەشغۇلاتنى تاماملىيالمىدى، " -#~ "لېكىن ھېچقانداق خاتالىق سەۋەبى بېرىلمىدى" - -#~ msgid "Incremental loading of image type '%s' is not supported" -#~ msgstr "'%s' سۈرەت تىپى تەدرىجىي يۈكلەشنى قوللىمايدۇ" - -#~ msgid "Image header corrupt" -#~ msgstr "سۈرەت بېشى بۇزۇلغان" - -#~ msgid "Image format unknown" -#~ msgstr "نامەلۇم سۈرەت شەكلى" - -#~ msgid "Image pixel data corrupt" -#~ msgstr "سۈرەت پىكسېل سانلىق مەلۇماتى بۇزۇلغان" - -#~ msgid "failed to allocate image buffer of %u byte" -#~ msgid_plural "failed to allocate image buffer of %u bytes" -#~ msgstr[0] "%u بايتلىق سۈرەت يىغلەكنى تەقسىملىيەلمىدى" - -#~ msgid "Unexpected icon chunk in animation" -#~ msgstr "جانلاندۇرۇمدا ئېنىقلانمىغان بۆلەك بار" - -#~ msgid "Unsupported animation type" -#~ msgstr "قوللىمايدىغان جانلاندۇرۇم تىپى" - -#~ msgid "Invalid header in animation" -#~ msgstr "جانلاندۇرۇم بېشى ئىناۋەتسىز" - -#~ msgid "Not enough memory to load animation" -#~ msgstr "جانلاندۇرۇم يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Malformed chunk in animation" -#~ msgstr "جانلاندۇرۇمدىكى بۆلەكنىڭ شەكلى خاتا" - -#~ msgid "The ANI image format" -#~ msgstr "ANI سۈرەت فورماتى" - -#~ msgid "BMP image has bogus header data" -#~ msgstr "BMP سۈرەتتە يالغان سۈرەت بېشى سانلىق مەلۇماتى بار " - -#~ msgid "Not enough memory to load bitmap image" -#~ msgstr "بىتلىق تەسۋىر يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "BMP image has unsupported header size" -#~ msgstr "قوللىمايدىغان BMP سۈرەت بېشى چوڭ كىچىكلىكى " - -#~ msgid "Topdown BMP images cannot be compressed" -#~ msgstr "يۇقىرىدىن تۆۋەنگە يېزىلغان BMP سۈرەت شەكلىنى پرېسلىيالمايدۇ" - -#~ msgid "Premature end-of-file encountered" -#~ msgstr "ھۆججەت بۇرۇن ئاخىرلاشقان" - -#~ msgid "Couldn't allocate memory for saving BMP file" -#~ msgstr "BMP ھۆججەتنى ساقلاشقا ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Couldn't write to BMP file" -#~ msgstr "BMP ھۆججەتكە يازالمىدى" - -#~ msgid "The BMP image format" -#~ msgstr "BMP سۈرەت فورماتى" - -#~ msgid "Failure reading GIF: %s" -#~ msgstr "GIF ھۆججەتنى ئوقۇيالمىدى:%s" - -#~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" -#~ msgstr "" -#~ "GIF ھۆججەتتە بەزى سانلىق مەلۇماتلار كەم(ھۆججەت كېسىپ قىسقارتىلغان بولۇشى " -#~ "مۇمكىن)" - -#~ msgid "Internal error in the GIF loader (%s)" -#~ msgstr "GIF يۈكلىگۈچتە ئىچكى خاتالىق كۆرۈلدى(%s)" - -#~ msgid "Stack overflow" -#~ msgstr "تۇرادىن ھالقىدى" - -#~ msgid "GIF image loader cannot understand this image." -#~ msgstr "GIF ھۆججەت يۈكلەش بۆلىكى بۇ سۈرەتنى تەھلىل قىلالمىدى" - -#~ msgid "Bad code encountered" -#~ msgstr "خاتا كود كۆرۈلدى" - -#~ msgid "Circular table entry in GIF file" -#~ msgstr "GIF سۈرەتتىكى جەدۋەل تۈرى دەۋرىيلىكى" - -#~ msgid "Not enough memory to load GIF file" -#~ msgstr "GIF ھۆججەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Not enough memory to composite a frame in GIF file" -#~ msgstr "GIF ھۆججەتتىكى بىر كاندۇكنى ھاسىل قىلىشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "GIF image is corrupt (incorrect LZW compression)" -#~ msgstr "GIF سۈرەت بۇزۇلغان(ناتوغرا LZW پىرىس شەكلى)" - -#~ msgid "File does not appear to be a GIF file" -#~ msgstr "ھۆججەت GIF ھۆججەت ئەمەستەك تۇرىدۇ" - -#~ msgid "Version %s of the GIF file format is not supported" -#~ msgstr "قوللىمايدىغان %s نەشرىدىكى GIF سۈرەت ھۆججەت فورماتى" - -#~ msgid "" -#~ "GIF image has no global colormap, and a frame inside it has no local " -#~ "colormap." -#~ msgstr "" -#~ "GIF سۈرەتنىڭ ئومۇمىيەت رەڭ خەرىتىسى يوق، ئۇنىڭ ئىچىدىكى بىر بۆلەكنىڭمۇ " -#~ "رەڭ خەرىتىسى يوق" - -#~ msgid "GIF image was truncated or incomplete." -#~ msgstr "GIF سۈرەت كېسىپ قىسقارتىلغان ياكى كەمتۈك" - -#~ msgid "The GIF image format" -#~ msgstr "GIF سۈرەت فورماتى" - -#~ msgid "Invalid header in icon" -#~ msgstr "سىنبەلگە بېشى ئىناۋەتسىز" - -#~ msgid "Not enough memory to load icon" -#~ msgstr "سىنبەلگە يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Icon has zero width" -#~ msgstr "سىنبەلگە كەڭلىكى نۆل" - -#~ msgid "Icon has zero height" -#~ msgstr "سىنبەلگە ئېگىزلىكى نۆل" - -#~ msgid "Compressed icons are not supported" -#~ msgstr "پرېسلانغان سىنبەلگىنى قوللىمايدۇ" - -#~ msgid "Unsupported icon type" -#~ msgstr "قوللىمايدىغان رەسىم بەلگە تۈرى" - -#~ msgid "Not enough memory to load ICO file" -#~ msgstr "ICO ھۆججىتىنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Image too large to be saved as ICO" -#~ msgstr "سۈرەت بەك چوڭ، ICO شەكلىدە ساقلىغىلى بولمايدۇ." - -#~ msgid "Cursor hotspot outside image" -#~ msgstr "نۇر بەلگە ئورنى سۈرەت سىرتىدا" - -#~ msgid "Unsupported depth for ICO file: %d" -#~ msgstr "قوللىمايدىغان ICO ھۆججەت چوڭقۇرلۇقى: %d" - -#~ msgid "The ICO image format" -#~ msgstr "ICO سۈرەت فورماتى" - -#~ msgid "Error reading ICNS image: %s" -#~ msgstr "ICNS سۈرەت ھۆججەت ئوقۇغاندا خاتالىق كۆرۈلدى: %s" - -#~ msgid "Could not decode ICNS file" -#~ msgstr "ICNS ھۆججەت كودىنى يېشەلمىدى" - -#~ msgid "The ICNS image format" -#~ msgstr "ICNS سۈرەت فورماتى" - -#~ msgid "Couldn't allocate memory for stream" -#~ msgstr "ئېقىمغا ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Couldn't decode image" -#~ msgstr "سۈرەت كودىنى يېشەلمىدى" - -#~ msgid "Transformed JPEG2000 has zero width or height" -#~ msgstr "ئايلاندۇرۇلغان JPEG2000 نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" - -#~ msgid "Image type currently not supported" -#~ msgstr "نۆۋەتتە بۇ خىل سۈرەت فورماتىنى قوللىمايدۇ" - -#~ msgid "Couldn't allocate memory for color profile" -#~ msgstr "رەڭ سەپلىمىسىگە ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Insufficient memory to open JPEG 2000 file" -#~ msgstr "JPEG 2000 ھۆججەتنى ئېچىشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "Couldn't allocate memory to buffer image data" -#~ msgstr "يىغلەك سۈرەت سانلىق مەلۇماتىغا ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "The JPEG 2000 image format" -#~ msgstr "JPEG 2000 سۈرەت فورماتى" - -#~ msgid "Error interpreting JPEG image file (%s)" -#~ msgstr "JPEG سۈرەتنى تەھلىل قىلغاندا خاتالىق كۆرۈلدى (%s)" - -#~ msgid "" -#~ "Insufficient memory to load image, try exiting some applications to free " -#~ "memory" -#~ msgstr "" -#~ "سۈرەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ، بەزى قوللىنىشچان پروگراممىلارنى يېپىپ " -#~ "ئەسلەكنى بىكارلاپ سىناپ بېقىڭ" - -#~ msgid "Unsupported JPEG color space (%s)" -#~ msgstr "قوللىمايدىغان JPEG رەڭ بوشلۇقى (%s)" - -#~ msgid "Couldn't allocate memory for loading JPEG file" -#~ msgstr "JPEG ھۆججەتنى يۈكلەشكە ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Transformed JPEG has zero width or height." -#~ msgstr "ئۆزگەرتىلگەن JPEG نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" - -#~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " -#~ "parsed." -#~ msgstr "" -#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%s' قىممەتنى تەھلىل " -#~ "قىلالمىدى" - -#~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." -#~ msgstr "" -#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%d' قىممەتنى " -#~ "ئىشلىتىشكە يول قويۇلمايدۇ." - -#~ msgid "The JPEG image format" -#~ msgstr "JPEG سۈرەت فورماتى" - -#~ msgid "Couldn't allocate memory for header" -#~ msgstr "ھۆججەت بېشىغا ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Couldn't allocate memory for context buffer" -#~ msgstr "كونتېكست يىغلەككە ئەسلەك تەقسىملىيەلمىدى" - -#~ msgid "Image has invalid width and/or height" -#~ msgstr "سۈرەتنىڭ كەڭلىكى ۋە ياكى ئۇزۇنلۇقى ئىناۋەتسىز" - -#~ msgid "Image has unsupported bpp" -#~ msgstr "رەسىمدە قوللىمايدىغان bpp بار" - -#~ msgid "Image has unsupported number of %d-bit planes" -#~ msgstr "سۈرەتتە قوللىمايدىغان %d بىتلىق رەڭ تەخسىسى بار " - -#~ msgid "Couldn't create new pixbuf" -#~ msgstr "يىڭى پىكسېل يىغلەك قۇرالمايدۇ" - -#~ msgid "Couldn't allocate memory for line data" -#~ msgstr "سىزىقلىق سانلىق مەلۇماتقا ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Couldn't allocate memory for paletted data" -#~ msgstr "رەڭ تەڭشەش تاختىسى سانلىق مەلۇمات ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Didn't get all lines of PCX image" -#~ msgstr "PCX سۈرەتنىڭ بارلىق سىزىقلىق مەلۇماتلىرىغا ئېرىشەلمىدى" - -#~ msgid "No palette found at end of PCX data" -#~ msgstr "PCX سانلىق مەلۇماتىنىڭ ئاخىرىدا رەڭ تەڭشىگۈچ بايقالمىدى" - -#~ msgid "The PCX image format" -#~ msgstr "PCX سۈرەت فورماتى " - -#~ msgid "Bits per channel of PNG image is invalid." -#~ msgstr "PNG سۈرەتنىڭ ھەر بىر قانىلىنىڭ بىت سانى ئىناۋەتسىز ." - -#~ msgid "Transformed PNG has zero width or height." -#~ msgstr "ئۆزگىرىشچان PNG نىڭ كەڭلىكى ياكى ئېگىزلىكى نۆل." - -#~ msgid "Bits per channel of transformed PNG is not 8." -#~ msgstr "ئۆزگىرىشچان PNG نىڭ بىت سانى 8 ئەمەس" - -#~ msgid "Transformed PNG not RGB or RGBA." -#~ msgstr "ئۆزگىرىشچان PNG بولسا RGB ياكى RGBA ئەمەس." - -#~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." -#~ msgstr "" -#~ "ئۆزگىرىشچان PNG قوللىمايدىغان قانال سانىنى ئۆز ئىچىگە ئالغان. چوقۇم 3 " -#~ "ياكى 4 بولۇشى لازىم" - -#~ msgid "Fatal error in PNG image file: %s" -#~ msgstr "PNG سۈرەت ھۆججەتتە ئېغىر خاتالىق كۆرۈلدى: %s" - -#~ msgid "Insufficient memory to load PNG file" -#~ msgstr "PNG يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "" -#~ "Insufficient memory to store a %ld by %ld image; try exiting some " -#~ "applications to reduce memory usage" -#~ msgstr "" -#~ "چوڭلۇقى %ld x %ld بولغان سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق؛ باشقا " -#~ "قوللىنىشچان پروگراممىلارنى يېپىپ ئەسلەك ئىشلىتىش مىقدارىنى ئازايتىڭ." - -#~ msgid "Fatal error reading PNG image file" -#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى" - -#~ msgid "Fatal error reading PNG image file: %s" -#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى: %s" - -#~ msgid "" -#~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." -#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى 1-79 غىچە بولۇشى كېرەك " - -#~ msgid "Keys for PNG text chunks must be ASCII characters." -#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى ASCII چوقۇم بۆلۇشى كېرەك" - -#~ msgid "Color profile has invalid length %d." -#~ msgstr "رەڭ سەپلىمە ھۆججىتىنىڭ ئۇزۇنلۇقى %d ئىناۋەتسىز." - -#~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%s' could " -#~ "not be parsed." -#~ msgstr "" -#~ "PNG پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بۆلۇشى كېرەك؛ ئانالىز قىلىنمايدىغان " -#~ "قىممەت %s ." - -#~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%d' is not " -#~ "allowed." -#~ msgstr "" -#~ "PNG نىڭ پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بولۇشى كېرەك . '%d' قىممەتنى " -#~ "ئىشلىتىشكە يول قويۇلمايدۇ." - -#~ msgid "" -#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." -#~ msgstr "PNG تېكىست رامكىسى %s نى ISO-8859-1 غا ئايلاندۇرۇشقا بولمايدۇ" - -#~ msgid "The PNG image format" -#~ msgstr "PNG سۈرەت فورماتى" - -#~ msgid "PNM loader expected to find an integer, but didn't" -#~ msgstr "PNM يۈكلەش بۆلەك پۈتۈن سان تاپالمىدى " - -#~ msgid "PNM file has an incorrect initial byte" -#~ msgstr "PNM ھۆججەتنىڭ باش بېتى خاتا" - -#~ msgid "PNM file is not in a recognized PNM subformat" -#~ msgstr "" -#~ "PNG ھۆججەت پەرقلەندۈرگىلى بولىدىغان PNM قوشۇمچە فورماتتا ساقلانمىغان" - -#~ msgid "PNM file has an image width of 0" -#~ msgstr "PNM ھۆججەتنىڭ سۈرەت كەڭلىكى 0" - -#~ msgid "PNM file has an image height of 0" -#~ msgstr "PNM ھۆججەتنىڭ سۈرەت ئېگىزلىكى 0 " - -#~ msgid "Maximum color value in PNM file is 0" -#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى 0" - -#~ msgid "Maximum color value in PNM file is too large" -#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى بەك چوڭ" - -#~ msgid "Raw PNM image type is invalid" -#~ msgstr "ئەسلىدىكى PNM سۈرەتنىڭ تىپى ئىناۋەتسىز" - -#~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "PNM يۈكلەش پروگرامماسى بۇ خىل PNM تارماق فورماتنى قوللىمايدۇ" - -#~ msgid "Raw PNM formats require exactly one whitespace before sample data" -#~ msgstr "" -#~ "ئەسلىدىكى PNM فورماتى نۇسخىلاشتىن بۇرۇن بىر بوشلۇق ئورنىغا ئېھتىياجلىق" - -#~ msgid "Cannot allocate memory for loading PNM image" -#~ msgstr "ئەسلەك تەقسىملەپ PNM سۈرەتنى يۈكلىيەلمەيدۇ" - -#~ msgid "Insufficient memory to load PNM context struct" -#~ msgstr "PNM نىڭ تىل مۇھىت بۆلىكىنى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " - -#~ msgid "Unexpected end of PNM image data" -#~ msgstr "PNM سۈرەت سانلىق مەلۇماتى بالدۇر ئاخىرلاشقان" - -#~ msgid "Insufficient memory to load PNM file" -#~ msgstr "PNM نى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " - -#~ msgid "The PNM/PBM/PGM/PPM image format family" -#~ msgstr "PNM/PBM/PGM/PPM سۈرەت ھۆججەت تۈرى" - -#~ msgid "Input file descriptor is NULL." -#~ msgstr "كىرگۈزگەن ھۆججەت چۈشەندۈرۈشى NULL." - -#~ msgid "Failed to read QTIF header" -#~ msgstr " QTIF باشىنى ئوقۇيالمىدى" - -#~ msgid "QTIF atom size too large (%d bytes)" -#~ msgstr "QTIF ئاتوم چوڭلۇقى بەك چوڭ (%d بايت)" - -#~ msgid "Failed to allocate %d bytes for file read buffer" -#~ msgstr "%d بايتلىق ھۆججەت ئوقۇش يىغلەكنى تەقسىملىيەلمىدى" - -#~ msgid "File error when reading QTIF atom: %s" -#~ msgstr " QTIF ئاتوم ئوقۇشتىكى ھۆججەت خاتالىقى: %s" - -#~ msgid "Failed to skip the next %d bytes with seek()." -#~ msgstr "كېيىنكى %d بايت seek() تىن ئاتلىيالمىدى." - -#~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "QTIF تىل مۇھىت قۇرۇلمىسىنى تەقسىملىيەلمىدى." - -#~ msgid "Failed to create GdkPixbufLoader object." -#~ msgstr "GdkPixbufLoader ئوبيېكت قۇرالمىدى." - -#~ msgid "Failed to find an image data atom." -#~ msgstr "سۈرەت سانلىق مەلۇمات ئاتومىنى تاپالمىدى." - -#~ msgid "The QTIF image format" -#~ msgstr "QTIF سۈرەت فورماتى" - -#~ msgid "RAS image has bogus header data" -#~ msgstr "RAS سۈرەتتە يالغان باش سانلىق مەلۇماتى بار" - -#~ msgid "RAS image has unknown type" -#~ msgstr "RAS سۈرەتنىڭ تىپى نامەلۇم" - -#~ msgid "unsupported RAS image variation" -#~ msgstr "قوللىمايدىغان RAS سۈرەت شالغۇتى" - -#~ msgid "Not enough memory to load RAS image" -#~ msgstr "RAS سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "The Sun raster image format" -#~ msgstr "Sun ئوپتىك پەنجىرىلىك سۈرەت فورماتى" - -#~ msgid "Cannot allocate memory for IOBuffer struct" -#~ msgstr "IOBuffer ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate memory for IOBuffer data" -#~ msgstr "IOBuffer سانلىق مەلۇماتى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " - -#~ msgid "Cannot realloc IOBuffer data" -#~ msgstr "IOBuffer ئۈچۈن قايتىدىن ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate temporary IOBuffer data" -#~ msgstr "IOBuffer ئۈچۈن ۋاقىتلىق ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate new pixbuf" -#~ msgstr "يىڭى پېكسىللىق يىغلەكنى تەقسىملىيەلمەيدۇ" - -#~ msgid "Image is corrupted or truncated" -#~ msgstr "سۈرەت بۇزۇلغان ياكى كېسىلگەن" - -#~ msgid "Cannot allocate colormap structure" -#~ msgstr "رەڭ جەدۋەل قۇرۇلمىسىنى تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot allocate colormap entries" -#~ msgstr "رەڭ جەدۋەل تۈرىنى تەقسىملىيەلمەيدۇ" - -#~ msgid "Unexpected bitdepth for colormap entries" -#~ msgstr "ئېنىقسىز رەڭلىك جەدۋەل بىت چوڭقۇرلۇقى" - -#~ msgid "Cannot allocate TGA header memory" -#~ msgstr "TGA باش ئەسلەكنى تەقسىملىيەلمەيدۇ" - -#~ msgid "TGA image has invalid dimensions" -#~ msgstr "TGA سۈرەت ئۆلچىمى ئىناۋەتسىز" - -#~ msgid "TGA image type not supported" -#~ msgstr "TGA سۈرەت تىپىنى قوللىمايدۇ" - -#~ msgid "Cannot allocate memory for TGA context struct" -#~ msgstr "TGA نىڭ تىل مۇھىت تۈزۈلۈشى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " - -#~ msgid "Excess data in file" -#~ msgstr "ھۆججەتتىكى سانلىق مەلۇمات نورمىدىن ھالقىپ كەتكەن" - -#~ msgid "The Targa image format" -#~ msgstr "Targa سۈرەت فورماتى" - -#~ msgid "Could not get image width (bad TIFF file)" -#~ msgstr "سۈرەت كەڭلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" - -#~ msgid "Could not get image height (bad TIFF file)" -#~ msgstr "سۈرەت ئېگىزلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" - -#~ msgid "Width or height of TIFF image is zero" -#~ msgstr "TIFF سۈرەتنىڭ كەڭلىك ياكى ئېگىزلىكى 0" - -#~ msgid "Dimensions of TIFF image too large" -#~ msgstr "TIFF سۈرەت ئۆلچىمى بەك چوڭ " - -#~ msgid "Insufficient memory to open TIFF file" -#~ msgstr "TIFFھۆججەتنى ئىچىشقا يېتەرلىك ئەسلەك يوق" - -#~ msgid "Failed to load RGB data from TIFF file" -#~ msgstr "TIFF ھۆججەتتىكى RGB سانلىق مەلۇماتلارنى يۈكلىيەلمىدى" - -#~ msgid "Failed to open TIFF image" -#~ msgstr "TIFF سۈرەتنى ئاچالمىدى" - -#~ msgid "TIFFClose operation failed" -#~ msgstr "TIFFClose مەشغۇلات مەغلۇپ بولدى" - -#~ msgid "Failed to load TIFF image" -#~ msgstr "TIFF سۈرەتنى يۈكلىيەلمىدى" - -#~ msgid "Failed to save TIFF image" -#~ msgstr "TIFF سۈرەتنى ساقلىيالمىدى" - -#~ msgid "TIFF compression doesn't refer to a valid codec." -#~ msgstr "TIFF پىرىسلاش ئىناۋەتلىك كودلاشتىن پايدىلىنالمىدى." - -#~ msgid "Failed to write TIFF data" -#~ msgstr "TIFF سانلىق مەلۇماتقا يازالمىدى" - -#~ msgid "Couldn't write to TIFF file" -#~ msgstr "TIFF ھۆججەتكە يازالمىدى" - -#~ msgid "The TIFF image format" -#~ msgstr "TIFF سۈرەت فورماتى" - -#~ msgid "Image has zero width" -#~ msgstr "سۈرەت كەڭلىكى 0" - -#~ msgid "Image has zero height" -#~ msgstr "سۈرەت ئېگىزلىكى 0" - -#~ msgid "Not enough memory to load image" -#~ msgstr "سۈرەت يۈكلەشكە يېتەرلىك ئەسلەك يوق" - -#~ msgid "Couldn't save the rest" -#~ msgstr "قالغان قىسمىنى ساقلايالمايدۇ" - -#~ msgid "The WBMP image format" -#~ msgstr "WBMP سۈرەت فورماتى" - -#~ msgid "Invalid XBM file" -#~ msgstr "XBMھۆججەت ئىناۋەتسىز" - -#~ msgid "Insufficient memory to load XBM image file" -#~ msgstr "XBM ھۆججەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ" - -#~ msgid "Failed to write to temporary file when loading XBM image" -#~ msgstr "XBM سۈرەت يۈكلەۋاتقاندا ۋاقىتلىق ھۆججەتكە يازالمىدى" - -#~ msgid "The XBM image format" -#~ msgstr "XBM سۈرەت فورماتى" - -#~ msgid "No XPM header found" -#~ msgstr "XPM بېشى تېپىلمىدى" - -#~ msgid "Invalid XPM header" -#~ msgstr "XBM باش ئىناۋەتسىز" - -#~ msgid "XPM file has image width <= 0" -#~ msgstr "XPM ھۆججەت سۈرەت كەڭلىكى <= 0" - -#~ msgid "XPM file has image height <= 0" -#~ msgstr "XPM ھۆججەت سۈرەت ئېگىزلىكى <= 0" - -#~ msgid "XPM has invalid number of chars per pixel" -#~ msgstr "XPM ھەربىر پېكسىل ئىگىلىگەن بىت سانى ئىناۋەتسىز" - -#~ msgid "XPM file has invalid number of colors" -#~ msgstr "XPM ھۆججەت رەسىم رەڭ سانى توغرا ئەمەس" - -#~ msgid "Cannot allocate memory for loading XPM image" -#~ msgstr "XPM سۈرەت يۈكلەشكە ئەسلەك تەقسىملىيەلمەيدۇ" - -#~ msgid "Cannot read XPM colormap" -#~ msgstr "XPM رەڭ جەدۋەلنى ئوقۇيالمىدى" - -#~ msgid "Failed to write to temporary file when loading XPM image" -#~ msgstr "XPM يۈكلىگەندە ۋاقىتلىق ھۆججەتكە يازالمىدى" - -#~ msgid "The XPM image format" -#~ msgstr "XPM سۈرەت فورماتى" - -#~ msgid "The EMF image format" -#~ msgstr "EMF سۈرەت فورماتى" - -#~ msgid "Could not allocate memory: %s" -#~ msgstr "ئەسلەك تەقسىملىيەلمەيدۇ: %s" - -#~ msgid "Could not create stream: %s" -#~ msgstr "ئېقىم قۇرالمايدۇ: %s" - -#~ msgid "Could not seek stream: %s" -#~ msgstr "ئېقىمنى ئىزدىيەلمەيدۇ: %s" - -#~ msgid "Could not read from stream: %s" -#~ msgstr "ئېقىمدىن ئوقۇيالمايدۇ: %s" - -#~ msgid "Couldn't load bitmap" -#~ msgstr "سۈرەتنى يۈكلىيەلمىدى" - -#~ msgid "Couldn't load metafile" -#~ msgstr "مېتا ھۆججەتنى يۈكلىيەلمىدى" - -#~ msgid "Unsupported image format for GDI+" -#~ msgstr "GDI+ بۇ سۈرەت فورماتىنى تونۇمايدۇ" - -#~ msgid "Couldn't save" -#~ msgstr "ساقلىيالمىدى" - -#~ msgid "The WMF image format" -#~ msgstr "WMF سۈرەت فورماتى" - -#~ msgid "\"Deepness\" of the color." -#~ msgstr "رەڭ چوڭقۇرلۇقى." - -#~ msgid "Folders" -#~ msgstr "قىسقۇچ" - -#~ msgid "Fol_ders" -#~ msgstr "قىسقۇچ(_D)" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "قىسقۇچنى ئوقۇغىلى بولمىدى: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "ھۆججەت \"%s\" باشقا بىر (%s ئاتلىق)مۇلازىمېتىردا، مەزكۇر پروگرامما " -#~ "زىيارەت قىلالماسلىقى مۇمكىن. \n" -#~ "ئۇنى راستىنلا تاللامسىز؟" - -#~ msgid "_New Folder" -#~ msgstr "يىڭى قىسقۇچ(_N)" - -#~ msgid "De_lete File" -#~ msgstr "ھۆججەت ئۆچۈر(_L)" - -#~ msgid "_Rename File" -#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "\"%s\" قىسقۇچ ئاتىدا ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە " -#~ "بار" - -#~ msgid "New Folder" -#~ msgstr "يېڭى قىسقۇچ" - -#~ msgid "_Folder name:" -#~ msgstr "قىسقۇچ ئاتى(_F):" - -#~ msgid "C_reate" -#~ msgstr "قۇر(_R)" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە بار" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "'%s' ھۆججەتنى ئۆچۈرگەندە خاتالىق كۆرۈلدى:%s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "\"%s\" ھۆججەتنى راستلا ئۆچۈرەمسىز؟" - -#~ msgid "Delete File" -#~ msgstr "ھۆججەت ئۆچۈر" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "ھۆججەت \"%s\" ئاتىنى ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s " - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "\"%s\" ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" - -#~ msgid "Rename File" -#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "\"%s\" ھۆججەت ئاتىنى ئۆزگەرت:" - -#~ msgid "_Rename" -#~ msgstr "ئات ئۆزگەرت(_R)" - -#~ msgid "_Selection: " -#~ msgstr "تاللاش(_S): " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "\"%s\" ھۆججەت ئاتىنى UTF-8 گە ئۆزگەرتەلمىدى.(G_FILENAME_ENCODING مۇھىت " -#~ "ئۆزگەرگۈچى مىقدار تەڭشەشنى سىناڭ): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "ئىناۋەتسىز UTF-8" - -#~ msgid "Name too long" -#~ msgstr "ئات بەك ئۇزۇن" - -#~ msgid "Couldn't convert filename" -#~ msgstr "ئاتنى ئالماشتۇرالمىدى" - -#~ msgid "Gamma" -#~ msgstr "گامما" - -#~ msgid "_Gamma value" -#~ msgstr "گامما قىممەت(_G)" - -#~ msgid "Input" -#~ msgstr "كىرگۈز" - -#~ msgid "No extended input devices" -#~ msgstr "كېڭەيتىلگەن كىرگۈزگۈچ يوق" - -#~ msgid "_Device:" -#~ msgstr "ئۈسكۈنە(_D):" - -#~ msgid "Disabled" -#~ msgstr "چەكلەنگەن" - -#~ msgid "Screen" -#~ msgstr "ئېكران" - -#~ msgid "Window" -#~ msgstr "كۆزنەك" - -#~ msgid "_Mode:" -#~ msgstr "ھالەت(_M):" - -#~ msgid "Axes" -#~ msgstr "ئوق" - -#~ msgid "Keys" -#~ msgstr "كۇنۇپكا" - -#~ msgid "_X:" -#~ msgstr "_X:" - -#~ msgid "_Y:" -#~ msgstr "_Y:" - -#~ msgid "_Pressure:" -#~ msgstr "كۈچى(_P):" - -#~ msgid "X _tilt:" -#~ msgstr "X قىيپاش(_T):" - -#~ msgid "Y t_ilt:" -#~ msgstr "Y قىيپاش(_I):" - -#~ msgid "_Wheel:" -#~ msgstr "چەمبىرەك(_W):" - -#~ msgid "none" -#~ msgstr "يوق" - -#~ msgid "(disabled)" -#~ msgstr "(چەكلەنگەن)" - -#~ msgid "(unknown)" -#~ msgstr "(نامەلۇم)" - -#~ msgid "Cl_ear" -#~ msgstr "تازىلا(_E)" - -#~ msgid "Error printing" -#~ msgstr "بېسىشتا خاتالىق كۆرۈلدى" - -#~ msgid "--- No Tip ---" -#~ msgstr "--- ئەسكەرتىش يوق---" - -#~ msgid "Printer '%s' may not be connected." -#~ msgstr "'%s' پرىنتېرغا ئۇلىنالماسلىقى مۇمكىن." +# Uighur translation for gtk+2.0 +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the gtk+2.0 package. +# Ömerjan Tursunqasim , 2008. +# Sahran , 2010 +# +msgid "" +msgstr "" +"Project-Id-Version: gtk+2.0\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" +"2b&component=general\n" +"POT-Creation-Date: 2010-08-03 17:54+0000\n" +"PO-Revision-Date: 2010-08-02 01:02+0600\n" +"Last-Translator: Sahran \n" +"Language-Team: Uyghur Computer Science Association \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../gdk/gdk.c:102 +#, c-format +msgid "Error parsing option --gdk-debug" +msgstr " --gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" + +#: ../gdk/gdk.c:122 +#, c-format +msgid "Error parsing option --gdk-no-debug" +msgstr " --gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" + +#. Description of --class=CLASS in --help output +#: ../gdk/gdk.c:150 +msgid "Program class as used by the window manager" +msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" + +#. Placeholder in --class=CLASS in --help output +#: ../gdk/gdk.c:151 +msgid "CLASS" +msgstr "تۈر" + +#. Description of --name=NAME in --help output +#: ../gdk/gdk.c:153 +msgid "Program name as used by the window manager" +msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" + +#. Placeholder in --name=NAME in --help output +#: ../gdk/gdk.c:154 +msgid "NAME" +msgstr "ئاتى" + +#. Description of --display=DISPLAY in --help output +#: ../gdk/gdk.c:156 +msgid "X display to use" +msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" + +#. Placeholder in --display=DISPLAY in --help output +#: ../gdk/gdk.c:157 +msgid "DISPLAY" +msgstr "كۆرسەت" + +#. Description of --screen=SCREEN in --help output +#: ../gdk/gdk.c:159 +msgid "X screen to use" +msgstr "ئىشلەتكەن X ئېكران " + +#. Placeholder in --screen=SCREEN in --help output +#: ../gdk/gdk.c:160 +msgid "SCREEN" +msgstr "ئېكران" + +#. Description of --gdk-debug=FLAGS in --help output +#: ../gdk/gdk.c:163 +msgid "Gdk debugging flags to set" +msgstr "Gdk سازلاش تەڭشەك بەلگىسى" + +#. Placeholder in --gdk-debug=FLAGS in --help output +#. Placeholder in --gdk-no-debug=FLAGS in --help output +#. Placeholder in --gtk-debug=FLAGS in --help output +#. Placeholder in --gtk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:164 ../gdk/gdk.c:167 ../gtk/gtkmain.c:438 ../gtk/gtkmain.c:441 +msgid "FLAGS" +msgstr "بەلگە" + +#. Description of --gdk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:166 +msgid "Gdk debugging flags to unset" +msgstr "قالدۇرماقچى بولغان Gdk سازلاش بەلگىسى" + +#: ../gdk/keyname-table.h:3940 +msgctxt "keyboard label" +msgid "BackSpace" +msgstr "چىكىنىش كۇنۇپكىسى" + +#: ../gdk/keyname-table.h:3941 +msgctxt "keyboard label" +msgid "Tab" +msgstr "Tab" + +#: ../gdk/keyname-table.h:3942 +msgctxt "keyboard label" +msgid "Return" +msgstr "Return" + +#: ../gdk/keyname-table.h:3943 +msgctxt "keyboard label" +msgid "Pause" +msgstr "ۋاقىتلىق توختا" + +#: ../gdk/keyname-table.h:3944 +msgctxt "keyboard label" +msgid "Scroll_Lock" +msgstr "Scroll_Lock" + +#: ../gdk/keyname-table.h:3945 +msgctxt "keyboard label" +msgid "Sys_Req" +msgstr "Sys_Req" + +#: ../gdk/keyname-table.h:3946 +msgctxt "keyboard label" +msgid "Escape" +msgstr "Escape" + +#: ../gdk/keyname-table.h:3947 +msgctxt "keyboard label" +msgid "Multi_key" +msgstr "Multi_key" + +#: ../gdk/keyname-table.h:3948 +msgctxt "keyboard label" +msgid "Home" +msgstr "Home" + +#: ../gdk/keyname-table.h:3949 +msgctxt "keyboard label" +msgid "Left" +msgstr "سول" + +#: ../gdk/keyname-table.h:3950 +msgctxt "keyboard label" +msgid "Up" +msgstr "يۇقىرى" + +#: ../gdk/keyname-table.h:3951 +msgctxt "keyboard label" +msgid "Right" +msgstr "ئوڭ" + +#: ../gdk/keyname-table.h:3952 +msgctxt "keyboard label" +msgid "Down" +msgstr "تۆۋەن" + +#: ../gdk/keyname-table.h:3953 +msgctxt "keyboard label" +msgid "Page_Up" +msgstr "Page_Up" + +#: ../gdk/keyname-table.h:3954 +msgctxt "keyboard label" +msgid "Page_Down" +msgstr "Page_Down" + +#: ../gdk/keyname-table.h:3955 +msgctxt "keyboard label" +msgid "End" +msgstr "تامام" + +#: ../gdk/keyname-table.h:3956 +msgctxt "keyboard label" +msgid "Begin" +msgstr "باشلا" + +#: ../gdk/keyname-table.h:3957 +msgctxt "keyboard label" +msgid "Print" +msgstr "باس" + +#: ../gdk/keyname-table.h:3958 +msgctxt "keyboard label" +msgid "Insert" +msgstr "قىستۇر" + +#: ../gdk/keyname-table.h:3959 +msgctxt "keyboard label" +msgid "Num_Lock" +msgstr "Num_Lock" + +#: ../gdk/keyname-table.h:3960 +msgctxt "keyboard label" +msgid "KP_Space" +msgstr "KP_Space" + +#: ../gdk/keyname-table.h:3961 +msgctxt "keyboard label" +msgid "KP_Tab" +msgstr "KP_Tab" + +#: ../gdk/keyname-table.h:3962 +msgctxt "keyboard label" +msgid "KP_Enter" +msgstr "KP_Enter" + +#: ../gdk/keyname-table.h:3963 +msgctxt "keyboard label" +msgid "KP_Home" +msgstr "KP_Home" + +#: ../gdk/keyname-table.h:3964 +msgctxt "keyboard label" +msgid "KP_Left" +msgstr "KP_Left" + +#: ../gdk/keyname-table.h:3965 +msgctxt "keyboard label" +msgid "KP_Up" +msgstr "KP_Up" + +#: ../gdk/keyname-table.h:3966 +msgctxt "keyboard label" +msgid "KP_Right" +msgstr "KP_Right" + +#: ../gdk/keyname-table.h:3967 +msgctxt "keyboard label" +msgid "KP_Down" +msgstr "KP_Down" + +#: ../gdk/keyname-table.h:3968 +msgctxt "keyboard label" +msgid "KP_Page_Up" +msgstr "KP_Page_Up" + +#: ../gdk/keyname-table.h:3969 +msgctxt "keyboard label" +msgid "KP_Prior" +msgstr "KP_Prior" + +#: ../gdk/keyname-table.h:3970 +msgctxt "keyboard label" +msgid "KP_Page_Down" +msgstr "KP_Page_Down" + +#: ../gdk/keyname-table.h:3971 +msgctxt "keyboard label" +msgid "KP_Next" +msgstr "KP_Next" + +#: ../gdk/keyname-table.h:3972 +msgctxt "keyboard label" +msgid "KP_End" +msgstr "KP_End" + +#: ../gdk/keyname-table.h:3973 +msgctxt "keyboard label" +msgid "KP_Begin" +msgstr "KP_Begin" + +#: ../gdk/keyname-table.h:3974 +msgctxt "keyboard label" +msgid "KP_Insert" +msgstr "KP_Insert" + +#: ../gdk/keyname-table.h:3975 +msgctxt "keyboard label" +msgid "KP_Delete" +msgstr "KP_Delete" + +#: ../gdk/keyname-table.h:3976 +msgctxt "keyboard label" +msgid "Delete" +msgstr "ئۆچۈر" + +#. Description of --sync in --help output +#: ../gdk/win32/gdkmain-win32.c:54 +msgid "Don't batch GDI requests" +msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ" + +#. Description of --no-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:56 +msgid "Don't use the Wintab API for tablet support" +msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ" + +#. Description of --ignore-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:58 +msgid "Same as --no-wintab" +msgstr "--no-wintab بىلەن ئوخشاش" + +#. Description of --use-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:60 +msgid "Do use the Wintab API [default]" +msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]" + +#. Description of --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:62 +msgid "Size of the palette in 8 bit mode" +msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" + +#. Placeholder in --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:63 +msgid "COLORS" +msgstr "رەڭ" + +#. Description of --sync in --help output +#: ../gdk/x11/gdkmain-x11.c:93 +msgid "Make X calls synchronous" +msgstr "X نى قەدەمداش قىلىپ ئىشلەت" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#, c-format +msgid "Starting %s" +msgstr "%s قوزغىلىۋاتىدۇ" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:314 +#, c-format +msgid "Opening %s" +msgstr "%s نى ئېچىۋاتىدۇ" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 +#, c-format +msgid "Opening %d Item" +msgid_plural "Opening %d Items" +msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" + +#: ../gtk/gtkaboutdialog.c:240 +msgid "Could not show link" +msgstr "ئۇلانمىنى كۆرسىتەلمىدى" + +#: ../gtk/gtkaboutdialog.c:363 ../gtk/gtkaboutdialog.c:2226 +msgid "License" +msgstr "ئىجازەتنامە" + +#: ../gtk/gtkaboutdialog.c:364 +msgid "The license of the program" +msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" + +#. Add the credits button +#: ../gtk/gtkaboutdialog.c:627 +msgid "C_redits" +msgstr "تەشەككۈر(_R)" + +#. Add the license button +#: ../gtk/gtkaboutdialog.c:641 +msgid "_License" +msgstr "ئىجازەت(_L)" + +#: ../gtk/gtkaboutdialog.c:900 +#, c-format +msgid "About %s" +msgstr "%s ھەققىدە" + +#: ../gtk/gtkaboutdialog.c:2143 +msgid "Credits" +msgstr "تەشەككۈر" + +#: ../gtk/gtkaboutdialog.c:2176 +msgid "Written by" +msgstr "يازغۇچى" + +#: ../gtk/gtkaboutdialog.c:2179 +msgid "Documented by" +msgstr "پۈتۈكچى" + +#: ../gtk/gtkaboutdialog.c:2191 +msgid "Translated by" +msgstr "تەرجىمان" + +#: ../gtk/gtkaboutdialog.c:2195 +msgid "Artwork by" +msgstr "گۈزەل سەنئەت تەھرىرى" + +#. This is the text that should appear next to menu accelerators +#. * that use the shift key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:157 +msgctxt "keyboard label" +msgid "Shift" +msgstr "Shift" + +#. This is the text that should appear next to menu accelerators +#. * that use the control key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:163 +msgctxt "keyboard label" +msgid "Ctrl" +msgstr "Ctrl" + +#. This is the text that should appear next to menu accelerators +#. * that use the alt key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:169 +msgctxt "keyboard label" +msgid "Alt" +msgstr "Alt" + +#. This is the text that should appear next to menu accelerators +#. * that use the super key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:767 +msgctxt "keyboard label" +msgid "Super" +msgstr "Super" + +#. This is the text that should appear next to menu accelerators +#. * that use the hyper key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:780 +msgctxt "keyboard label" +msgid "Hyper" +msgstr "Hyper" + +#. This is the text that should appear next to menu accelerators +#. * that use the meta key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:794 +msgctxt "keyboard label" +msgid "Meta" +msgstr "Meta" + +#: ../gtk/gtkaccellabel.c:811 +msgctxt "keyboard label" +msgid "Space" +msgstr "Space" + +#: ../gtk/gtkaccellabel.c:814 +msgctxt "keyboard label" +msgid "Backslash" +msgstr "Backslash" + +#: ../gtk/gtkbuilderparser.c:343 +#, c-format +msgid "Invalid type function on line %d: '%s'" +msgstr "ئىناۋەتسىز تىپ فونكسىيەسى كۆرۈنگەن قۇر %d: '%s'" + +#: ../gtk/gtkbuilderparser.c:407 +#, c-format +msgid "Duplicate object id '%s' on line %d (previously on line %d)" +msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)" + +#: ../gtk/gtkbuilderparser.c:859 +#, c-format +msgid "Invalid root element: '%s'" +msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'" + +#: ../gtk/gtkbuilderparser.c:898 +#, c-format +msgid "Unhandled tag: '%s'" +msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" + +#. Translate to calendar:YM if you want years to be displayed +#. * before months; otherwise translate to calendar:MY. +#. * Do *not* translate it to anything else, if it +#. * it isn't calendar:YM or calendar:MY it will not work. +#. * +#. * Note that the ordering described here is logical order, which is +#. * further influenced by BIDI ordering. Thus, if you have a default +#. * text direction of RTL and specify "calendar:YM", then the year +#. * will appear to the right of the month. +#. +#: ../gtk/gtkcalendar.c:863 +msgid "calendar:MY" +msgstr "calendar:MY" + +#. Translate to calendar:week_start:0 if you want Sunday to be the +#. * first day of the week to calendar:week_start:1 if you want Monday +#. * to be the first day of the week, and so on. +#. +#: ../gtk/gtkcalendar.c:901 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:0" + +#. Translators: This is a text measurement template. +#. * Translate it to the widest year text +#. * +#. * If you don't understand this, leave it as "2000" +#. +#: ../gtk/gtkcalendar.c:1954 +msgctxt "year measurement template" +msgid "2000" +msgstr "2000" + +#. Translators: this defines whether the day numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1985 ../gtk/gtkcalendar.c:2648 +#, c-format +msgctxt "calendar:day:digits" +msgid "%d" +msgstr "%d" + +#. Translators: this defines whether the week numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:2017 ../gtk/gtkcalendar.c:2511 +#, c-format +msgctxt "calendar:week:digits" +msgid "%d" +msgstr "%d" + +#. Translators: This dictates how the year is displayed in +#. * gtkcalendar widget. See strftime() manual for the format. +#. * Use only ASCII in the translation. +#. * +#. * Also look for the msgid "2000". +#. * Translate that entry to a year with the widest output of this +#. * msgid. +#. * +#. * "%Y" is appropriate for most locales. +#. +#: ../gtk/gtkcalendar.c:2299 +msgctxt "calendar year format" +msgid "%Y" +msgstr "%Y" + +#. This label is displayed in a treeview cell displaying +#. * a disabled accelerator key combination. +#. +#: ../gtk/gtkcellrendereraccel.c:268 +msgctxt "Accelerator" +msgid "Disabled" +msgstr "چەكلەنگەن" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator key combination that is not valid according +#. * to gtk_accelerator_valid(). +#. +#: ../gtk/gtkcellrendereraccel.c:278 +msgctxt "Accelerator" +msgid "Invalid" +msgstr "ئىناۋەتسىز" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator when the cell is clicked to change the +#. * acelerator. +#. +#: ../gtk/gtkcellrendereraccel.c:414 ../gtk/gtkcellrendereraccel.c:664 +msgid "New accelerator..." +msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…" + +#: ../gtk/gtkcellrendererprogress.c:360 ../gtk/gtkcellrendererprogress.c:450 +#, c-format +msgctxt "progress bar label" +msgid "%d %%" +msgstr "%d %%" + +#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkcolorbutton.c:457 +msgid "Pick a Color" +msgstr "رەڭ ئال" + +#: ../gtk/gtkcolorbutton.c:348 +msgid "Received invalid color data\n" +msgstr "ئىناۋەتسىز رەڭ سانلىق مەلۇماتى تاپشۇرۇۋالدى\n" + +#: ../gtk/gtkcolorsel.c:354 +msgid "" +"Select the color you want from the outer ring. Select the darkness or " +"lightness of that color using the inner triangle." +msgstr "" +"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ " +"كۈچلۈكلۈكىنى تاللاڭ." + +#: ../gtk/gtkcolorsel.c:378 +msgid "" +"Click the eyedropper, then click a color anywhere on your screen to select " +"that color." +msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." + +#: ../gtk/gtkcolorsel.c:387 +msgid "_Hue:" +msgstr "رەڭگى(_H):" + +#: ../gtk/gtkcolorsel.c:388 +msgid "Position on the color wheel." +msgstr "رەڭ ھالقىسىدىكى ئورنى" + +#: ../gtk/gtkcolorsel.c:390 +msgid "_Saturation:" +msgstr "تويۇنۇش دەرىجىسى(_S):" + +#: ../gtk/gtkcolorsel.c:391 +msgid "Intensity of the color." +msgstr "رەڭ كۈچلۈكلۈكى." + +#: ../gtk/gtkcolorsel.c:392 +msgid "_Value:" +msgstr "قىممىتى(_V):" + +#: ../gtk/gtkcolorsel.c:393 +msgid "Brightness of the color." +msgstr "رەڭ يورۇقلۇقى." + +#: ../gtk/gtkcolorsel.c:394 +msgid "_Red:" +msgstr "قىزىل(_R):" + +#: ../gtk/gtkcolorsel.c:395 +msgid "Amount of red light in the color." +msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." + +#: ../gtk/gtkcolorsel.c:396 +msgid "_Green:" +msgstr "يېشىل(_G):" + +#: ../gtk/gtkcolorsel.c:397 +msgid "Amount of green light in the color." +msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." + +#: ../gtk/gtkcolorsel.c:398 +msgid "_Blue:" +msgstr "كۆك(_B):" + +#: ../gtk/gtkcolorsel.c:399 +msgid "Amount of blue light in the color." +msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." + +#: ../gtk/gtkcolorsel.c:402 +msgid "Op_acity:" +msgstr "سۈزۈكلۈك(_A):" + +#: ../gtk/gtkcolorsel.c:409 ../gtk/gtkcolorsel.c:419 +msgid "Transparency of the color." +msgstr "رەڭ سۈزۈكلۈكى." + +#: ../gtk/gtkcolorsel.c:426 +msgid "Color _name:" +msgstr "رەڭ ئاتى(_N):" + +#: ../gtk/gtkcolorsel.c:440 +msgid "" +"You can enter an HTML-style hexadecimal color value, or simply a color name " +"such as 'orange' in this entry." +msgstr "" +"سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە " +"ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." + +#: ../gtk/gtkcolorsel.c:470 +msgid "_Palette:" +msgstr "رەڭ تاختىسى(_P):" + +#: ../gtk/gtkcolorsel.c:499 +msgid "Color Wheel" +msgstr "رەڭ ھالقىسى" + +#: ../gtk/gtkcolorsel.c:958 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now. You can drag this color to a palette entry, or select this color as " +"current by dragging it to the other color swatch alongside." +msgstr "" +"ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى " +"رەڭ تاللاش تاخسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ " +"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." + +#: ../gtk/gtkcolorsel.c:961 +msgid "" +"The color you've chosen. You can drag this color to a palette entry to save " +"it for use in the future." +msgstr "" +"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." + +#: ../gtk/gtkcolorsel.c:966 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now." +msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." + +#: ../gtk/gtkcolorsel.c:969 +msgid "The color you've chosen." +msgstr "سىز تاللىغان رەڭ." + +#: ../gtk/gtkcolorsel.c:1382 +msgid "_Save color here" +msgstr "رەڭنى بۇ جايغا ساقلا(_S)" + +#: ../gtk/gtkcolorsel.c:1587 +msgid "" +"Click this palette entry to make it the current color. To change this entry, " +"drag a color swatch here or right-click it and select \"Save color here.\"" +msgstr "" +"رەڭ تاختىسىدىكى رەڭنى تاق چەكسىڭىز نۆۋەتتىكى رەڭ بولۇپ تاللىنىدۇ. بۇ تۈرنى " +"ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن " +"كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." + +#: ../gtk/gtkcolorseldialog.c:190 +msgid "Color Selection" +msgstr "رەڭ تاللاش" + +#. Translate to the default units to use for presenting +#. * lengths to the user. Translate to default:inch if you +#. * want inches, otherwise translate to default:mm. +#. * Do *not* translate it to "predefinito:mm", if it +#. * it isn't default:mm or default:inch it will not work +#. +#: ../gtk/gtkcustompaperunixdialog.c:116 +msgid "default:mm" +msgstr "default:mm" + +#. And show the custom paper dialog +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3233 +msgid "Manage Custom Sizes" +msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" + +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 +msgid "inch" +msgstr "دىيۇيم" + +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 +msgid "mm" +msgstr "mm" + +#: ../gtk/gtkcustompaperunixdialog.c:581 +msgid "Margins from Printer..." +msgstr "پرىنتېر ئارىلىقى…" + +#: ../gtk/gtkcustompaperunixdialog.c:747 +#, c-format +msgid "Custom Size %d" +msgstr "ئىختىيارى چوڭلۇقى %d" + +#: ../gtk/gtkcustompaperunixdialog.c:1060 +msgid "_Width:" +msgstr "كەڭلىك(_W):" + +#: ../gtk/gtkcustompaperunixdialog.c:1072 +msgid "_Height:" +msgstr "ئېگىزلىك(_H):" + +#: ../gtk/gtkcustompaperunixdialog.c:1084 +msgid "Paper Size" +msgstr "قەغەز چوڭلۇقى" + +#: ../gtk/gtkcustompaperunixdialog.c:1093 +msgid "_Top:" +msgstr "ئۈستى(_T):" + +#: ../gtk/gtkcustompaperunixdialog.c:1105 +msgid "_Bottom:" +msgstr "ئاستى(_B):" + +#: ../gtk/gtkcustompaperunixdialog.c:1117 +msgid "_Left:" +msgstr "سول(_L):" + +#: ../gtk/gtkcustompaperunixdialog.c:1129 +msgid "_Right:" +msgstr "ئوڭ(_R):" + +#: ../gtk/gtkcustompaperunixdialog.c:1170 +msgid "Paper Margins" +msgstr "قەغەز يان ئارىلىقى" + +#: ../gtk/gtkentry.c:8613 ../gtk/gtktextview.c:8258 +msgid "Input _Methods" +msgstr "كىرگۈزگۈچ(_M)" + +#: ../gtk/gtkentry.c:8627 ../gtk/gtktextview.c:8272 +msgid "_Insert Unicode Control Character" +msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" + +#: ../gtk/gtkentry.c:10022 +msgid "Caps Lock and Num Lock are on" +msgstr "" + +#: ../gtk/gtkentry.c:10024 +msgid "Num Lock is on" +msgstr "Num Lock ئوچۇق" + +#: ../gtk/gtkentry.c:10026 +msgid "Caps Lock is on" +msgstr "Caps Lock ئوچۇق" + +#. **************** * +#. * Private Macros * +#. * **************** +#: ../gtk/gtkfilechooserbutton.c:61 +msgid "Select A File" +msgstr "ھۆججەت تاللاڭ" + +#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1837 +msgid "Desktop" +msgstr "ئۈستەل ئۈستى" + +#: ../gtk/gtkfilechooserbutton.c:63 +msgid "(None)" +msgstr "(يوق)" + +#: ../gtk/gtkfilechooserbutton.c:2015 +msgid "Other..." +msgstr "باشقا…" + +#: ../gtk/gtkfilechooserdefault.c:146 +msgid "Type name of new folder" +msgstr "يىڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" + +#: ../gtk/gtkfilechooserdefault.c:963 +msgid "Could not retrieve information about the file" +msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ" + +#: ../gtk/gtkfilechooserdefault.c:974 +msgid "Could not add a bookmark" +msgstr "قىسقۇچ قىستۇرالمايدۇ" + +#: ../gtk/gtkfilechooserdefault.c:985 +msgid "Could not remove bookmark" +msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ" + +#: ../gtk/gtkfilechooserdefault.c:996 +msgid "The folder could not be created" +msgstr "قىسقۇچ قۇرالمايدۇ" + +#: ../gtk/gtkfilechooserdefault.c:1009 +msgid "" +"The folder could not be created, as a file with the same name already " +"exists. Try using a different name for the folder, or rename the file first." +msgstr "" +"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇد. باشقا ئات ئىشلىتىپ " +"سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." + +#: ../gtk/gtkfilechooserdefault.c:1020 +msgid "Invalid file name" +msgstr "ئىناۋەتسىز ھۆججەت ئاتى" + +#: ../gtk/gtkfilechooserdefault.c:1030 +msgid "The folder contents could not be displayed" +msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" + +#. Translators: the first string is a path and the second string +#. * is a hostname. Nautilus and the panel contain the same string +#. * to translate. +#. +#: ../gtk/gtkfilechooserdefault.c:1580 +#, c-format +msgid "%1$s on %2$s" +msgstr "%2$s ئۈستىدىكى %1$s" + +#: ../gtk/gtkfilechooserdefault.c:1756 +msgid "Search" +msgstr "ئىزدە" + +#: ../gtk/gtkfilechooserdefault.c:1780 ../gtk/gtkfilechooserdefault.c:9295 +msgid "Recently Used" +msgstr "يېقىندا ئىشلەتكەن" + +#: ../gtk/gtkfilechooserdefault.c:2420 +msgid "Select which types of files are shown" +msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ" + +#: ../gtk/gtkfilechooserdefault.c:2779 +#, c-format +msgid "Add the folder '%s' to the bookmarks" +msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:2823 +#, c-format +msgid "Add the current folder to the bookmarks" +msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:2825 +#, c-format +msgid "Add the selected folders to the bookmarks" +msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:2863 +#, c-format +msgid "Remove the bookmark '%s'" +msgstr "'%s' خەتكۈچنى چىقىرىۋەت" + +#: ../gtk/gtkfilechooserdefault.c:2865 +#, c-format +msgid "Bookmark '%s' cannot be removed" +msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." + +#: ../gtk/gtkfilechooserdefault.c:2872 ../gtk/gtkfilechooserdefault.c:3736 +msgid "Remove the selected bookmark" +msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" + +#: ../gtk/gtkfilechooserdefault.c:3432 +msgid "Remove" +msgstr "چىقىرىۋەت" + +#: ../gtk/gtkfilechooserdefault.c:3441 +msgid "Rename..." +msgstr "ئات ئۆزگەرت…" + +#. Accessible object name for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3604 +msgid "Places" +msgstr "ئورۇن" + +#. Column header for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3661 +msgid "_Places" +msgstr "ئورۇن(_R)" + +#: ../gtk/gtkfilechooserdefault.c:3717 +msgid "_Add" +msgstr "قوش(_A)" + +#: ../gtk/gtkfilechooserdefault.c:3724 +msgid "Add the selected folder to the Bookmarks" +msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" + +#: ../gtk/gtkfilechooserdefault.c:3729 +msgid "_Remove" +msgstr "ئۆچۈر(_R)" + +#: ../gtk/gtkfilechooserdefault.c:3864 +msgid "Could not select file" +msgstr "ھۆججەت تاللايالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:4039 +msgid "_Add to Bookmarks" +msgstr "خەتكۈچكە قوش(_A)" + +#: ../gtk/gtkfilechooserdefault.c:4052 +msgid "Show _Hidden Files" +msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" + +#: ../gtk/gtkfilechooserdefault.c:4059 +msgid "Show _Size Column" +msgstr "چوڭلۇق ستونىنى كۆرسەت(_S)" + +#: ../gtk/gtkfilechooserdefault.c:4282 +msgid "Files" +msgstr "ھۆججەتلەر" + +#: ../gtk/gtkfilechooserdefault.c:4333 +msgid "Name" +msgstr "ئاتى" + +#: ../gtk/gtkfilechooserdefault.c:4356 +msgid "Size" +msgstr "چوڭلۇقى" + +#: ../gtk/gtkfilechooserdefault.c:4370 +msgid "Modified" +msgstr "ئۆزگەرتكەن" + +#. Label +#: ../gtk/gtkfilechooserdefault.c:4625 ../gtk/gtkprinteroptionwidget.c:801 +msgid "_Name:" +msgstr "ئاتى(_N):" + +#: ../gtk/gtkfilechooserdefault.c:4668 +msgid "_Browse for other folders" +msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" + +#: ../gtk/gtkfilechooserdefault.c:4940 +msgid "Type a file name" +msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" + +#. Create Folder +#: ../gtk/gtkfilechooserdefault.c:4981 +msgid "Create Fo_lder" +msgstr "قىسقۇچ قۇر(_L)" + +#: ../gtk/gtkfilechooserdefault.c:4991 +msgid "_Location:" +msgstr "ئورنى(_L):" + +#: ../gtk/gtkfilechooserdefault.c:5195 +msgid "Save in _folder:" +msgstr "قىسقۇچقا ساقلا(_F):" + +#: ../gtk/gtkfilechooserdefault.c:5197 +msgid "Create in _folder:" +msgstr "قىسقۇچتا قۇر(_F):" + +#: ../gtk/gtkfilechooserdefault.c:6260 +#, c-format +msgid "Could not read the contents of %s" +msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:6264 +msgid "Could not read the contents of the folder" +msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:6357 ../gtk/gtkfilechooserdefault.c:6425 +#: ../gtk/gtkfilechooserdefault.c:6570 +msgid "Unknown" +msgstr "نامەلۇم" + +#: ../gtk/gtkfilechooserdefault.c:6372 +msgid "%H:%M" +msgstr "%H:%M" + +#: ../gtk/gtkfilechooserdefault.c:6374 +msgid "Yesterday at %H:%M" +msgstr "ئەتە %H:%M" + +#: ../gtk/gtkfilechooserdefault.c:7040 +msgid "Cannot change to folder because it is not local" +msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" + +#: ../gtk/gtkfilechooserdefault.c:7637 ../gtk/gtkfilechooserdefault.c:7658 +#, c-format +msgid "Shortcut %s already exists" +msgstr "%s قىسقا يول مەۋجۇد" + +#: ../gtk/gtkfilechooserdefault.c:7748 +#, c-format +msgid "Shortcut %s does not exist" +msgstr "%s قىسقا يول مەۋجۇد ئەمەس" + +#: ../gtk/gtkfilechooserdefault.c:8003 ../gtk/gtkprintunixdialog.c:476 +#, c-format +msgid "A file named \"%s\" already exists. Do you want to replace it?" +msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" + +#: ../gtk/gtkfilechooserdefault.c:8006 ../gtk/gtkprintunixdialog.c:480 +#, c-format +msgid "" +"The file already exists in \"%s\". Replacing it will overwrite its contents." +msgstr "" +"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت " +"ئاللىبۇرۇن" + +#: ../gtk/gtkfilechooserdefault.c:8011 ../gtk/gtkprintunixdialog.c:487 +msgid "_Replace" +msgstr "ئالماشتۇر(_R)" + +#: ../gtk/gtkfilechooserdefault.c:8663 +msgid "Could not start the search process" +msgstr "ئىزدىگۈچنى قوزغىتالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:8664 +msgid "" +"The program was not able to create a connection to the indexer daemon. " +"Please make sure it is running." +msgstr "" +"پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" + +#: ../gtk/gtkfilechooserdefault.c:8678 +msgid "Could not send the search request" +msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" + +#: ../gtk/gtkfilechooserdefault.c:8867 +msgid "Search:" +msgstr "ئىزدە:" + +#: ../gtk/gtkfilechooserdefault.c:9471 +#, c-format +msgid "Could not mount %s" +msgstr "%s يۈك چۈشۈرەلمىدى " + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry, when the user enters an invalid path. +#: ../gtk/gtkfilechooserentry.c:697 ../gtk/gtkfilechooserentry.c:1162 +msgid "Invalid path" +msgstr "ئىناۋەتسىز يول" + +#. translators: this text is shown when there are no completions +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1094 +msgid "No match" +msgstr "ماس كېلىدىغىنى يوق" + +#. translators: this text is shown when there is exactly one completion +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1105 +msgid "Sole completion" +msgstr "بىردىنبىر تاماملاش" + +#. translators: this text is shown when the text in a file chooser +#. * entry is a complete filename, but could be continued to find +#. * a longer match +#. +#: ../gtk/gtkfilechooserentry.c:1121 +msgid "Complete, but not unique" +msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس" + +#. Translators: this text is shown while the system is searching +#. * for possible completions for filenames in a file chooser entry. +#: ../gtk/gtkfilechooserentry.c:1153 +msgid "Completing..." +msgstr "تاماملاۋاتىدۇ…" + +#. hostnames in a local_only file chooser? user error +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user enters something like +#. * "sftp://blahblah" in an app that only supports local filenames. +#: ../gtk/gtkfilechooserentry.c:1175 ../gtk/gtkfilechooserentry.c:1200 +msgid "Only local files may be selected" +msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" + +#. Another option is to complete the hostname based on the remote volumes that are mounted +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user hasn't entered the first '/' +#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") +#: ../gtk/gtkfilechooserentry.c:1184 +msgid "Incomplete hostname; end it with '/'" +msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ " + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry when the user enters a path that does not exist +#. * and then hits Tab +#: ../gtk/gtkfilechooserentry.c:1195 +msgid "Path does not exist" +msgstr "يول مەۋجۇد ئەمەس." + +#: ../gtk/gtkfilechoosersettings.c:486 +#, c-format +msgid "Error creating folder '%s': %s" +msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" + +#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are +#. * really pointers to GDrive, GVolume or GMount objects. We need an extra +#. * token for the fake "File System" volume. So, we'll return a pointer to +#. * this particular string. +#. +#: ../gtk/gtkfilesystem.c:50 +msgid "File System" +msgstr "ھۆججەت سىستېمىسى" + +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 +msgid "Pick a Font" +msgstr "خەت نۇسخا تاللا" + +#. Initialize fields +#: ../gtk/gtkfontbutton.c:260 +msgid "Sans 12" +msgstr "UKIJ Tuz Tom 10" + +#: ../gtk/gtkfontbutton.c:785 +msgid "Font" +msgstr "خەت نۇسخا" + +#. This is the default text shown in the preview entry, though the user +#. can set it. Remember that some fonts only have capital letters. +#: ../gtk/gtkfontsel.c:103 +msgid "abcdefghijk ABCDEFGHIJK" +msgstr "ئائەب پ ت ج چ خ درزژ abcdefghijk ABCDEFGHIJK" + +#: ../gtk/gtkfontsel.c:367 +msgid "_Family:" +msgstr "خەت نۇسخا تۈرى(_F):" + +#: ../gtk/gtkfontsel.c:373 +msgid "_Style:" +msgstr "ئۇسلۇب(_S):" + +#: ../gtk/gtkfontsel.c:379 +msgid "Si_ze:" +msgstr "چوڭلۇقى(_Z):" + +#. create the text entry widget +#: ../gtk/gtkfontsel.c:556 +msgid "_Preview:" +msgstr "ئالدىن كۆزەت(_P):" + +#: ../gtk/gtkfontsel.c:1660 +msgid "Font Selection" +msgstr "خەت نۇسخا تاللاش" + +#. Remove this icon source so we don't keep trying to +#. * load it. +#. +#: ../gtk/gtkiconfactory.c:1419 +#, c-format +msgid "Error loading icon: %s" +msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" + +#: ../gtk/gtkicontheme.c:1363 +#, c-format +msgid "" +"Could not find the icon '%s'. The '%s' theme\n" +"was not found either, perhaps you need to install it.\n" +"You can get a copy from:\n" +"\t%s" +msgstr "" +"'%s' سىنبەلگىنى تاپالمىدى. '%s' باش تېمىنىمۇ تاپالمىدى، ئۇنى ئورنىتىشىڭىز " +"زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" +"%s" + +#: ../gtk/gtkicontheme.c:1543 +#, c-format +msgid "Icon '%s' not present in theme" +msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" + +#: ../gtk/gtkicontheme.c:3074 +msgid "Failed to load icon" +msgstr "سىنبەلگە يۈكلىيەلمىدى" + +#: ../gtk/gtkimmodule.c:526 +msgid "Simple" +msgstr "ئاددىي" + +#: ../gtk/gtkimmulticontext.c:580 +msgctxt "input method menu" +msgid "System" +msgstr "سىستېما" + +#: ../gtk/gtkimmulticontext.c:590 +msgctxt "input method menu" +msgid "None" +msgstr "يوق" + +#: ../gtk/gtkimmulticontext.c:673 +#, c-format +msgctxt "input method menu" +msgid "System (%s)" +msgstr "سىستېما(%s)" + +#. Open Link +#: ../gtk/gtklabel.c:6227 +msgid "_Open Link" +msgstr "ئۇلانما ئاچ(_O)" + +#. Copy Link Address +#: ../gtk/gtklabel.c:6239 +msgid "Copy _Link Address" +msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" + +#: ../gtk/gtklinkbutton.c:428 +msgid "Copy URL" +msgstr "URL كۆچۈر" + +#: ../gtk/gtklinkbutton.c:586 +msgid "Invalid URI" +msgstr "ئىناۋەتسىز URI" + +#. Description of --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:431 +msgid "Load additional GTK+ modules" +msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" + +#. Placeholder in --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:432 +msgid "MODULES" +msgstr "بۆلەك" + +#. Description of --g-fatal-warnings in --help output +#: ../gtk/gtkmain.c:434 +msgid "Make all warnings fatal" +msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" + +#. Description of --gtk-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:437 +msgid "GTK+ debugging flags to set" +msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" + +#. Description of --gtk-no-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:440 +msgid "GTK+ debugging flags to unset" +msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " + +#. Translate to default:RTL if you want your widgets +#. * to be RTL, otherwise translate to default:LTR. +#. * Do *not* translate it to "predefinito:LTR", if it +#. * it isn't default:LTR or default:RTL it will not work +#. +#: ../gtk/gtkmain.c:703 +msgid "default:LTR" +msgstr "default:RTL" + +#: ../gtk/gtkmain.c:768 +#, c-format +msgid "Cannot open display: %s" +msgstr "ئېكران ئېچىلمىدى: (%s)" + +#: ../gtk/gtkmain.c:805 +msgid "GTK+ Options" +msgstr "GTK+ تاللانما" + +#: ../gtk/gtkmain.c:805 +msgid "Show GTK+ Options" +msgstr "GTK+ تاللانما كۆرسەت" + +#: ../gtk/gtkmountoperation.c:492 +msgid "Co_nnect" +msgstr "ئۇلا(_N)" + +#: ../gtk/gtkmountoperation.c:559 +msgid "Connect _anonymously" +msgstr "ئاتسىز ئۇلىنىش(_A)" + +#: ../gtk/gtkmountoperation.c:568 +msgid "Connect as u_ser:" +msgstr "ئۇلىنىش سالاھىيىتى(_S):" + +#: ../gtk/gtkmountoperation.c:606 +msgid "_Username:" +msgstr "ئىشلەتكۈچى ئاتى(_U):" + +#: ../gtk/gtkmountoperation.c:611 +msgid "_Domain:" +msgstr "دائىرە(_D):" + +#: ../gtk/gtkmountoperation.c:617 +msgid "_Password:" +msgstr "ئىم(_P):" + +#: ../gtk/gtkmountoperation.c:635 +msgid "Forget password _immediately" +msgstr "ئىمنى دەرھال ئۇنۇت(_I)" + +#: ../gtk/gtkmountoperation.c:645 +msgid "Remember password until you _logout" +msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)" + +#: ../gtk/gtkmountoperation.c:655 +msgid "Remember _forever" +msgstr "مەڭگۈ ئەستە تۇت(_F)" + +#: ../gtk/gtkmountoperation.c:884 +#, c-format +msgid "Unknown Application (pid %d)" +msgstr "نامەلۇم قوللىنىشچان پروگرامما (pid %d)" + +#: ../gtk/gtkmountoperation.c:1067 +msgid "Unable to end process" +msgstr "جەرياننى ئاخىرلاشتۇرالمايدۇ" + +#: ../gtk/gtkmountoperation.c:1104 +msgid "_End Process" +msgstr "جەريان ئاخىرلاشتۇر(_E)" + +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format +msgid "Cannot kill process with pid %d. Operation is not implemented." +msgstr " pid %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." + +#. translators: this string is a name for the 'less' command +#: ../gtk/gtkmountoperation-x11.c:862 +msgid "Terminal Pager" +msgstr "تېرمىنال ئوقۇغۇچ" + +#: ../gtk/gtkmountoperation-x11.c:863 +msgid "Top Command" +msgstr "كۆپ ئىشلىتىدىغان بۇيرۇق" + +#: ../gtk/gtkmountoperation-x11.c:864 +msgid "Bourne Again Shell" +msgstr "Bourne Again Shell" + +#: ../gtk/gtkmountoperation-x11.c:865 +msgid "Bourne Shell" +msgstr "Bourne Shell" + +#: ../gtk/gtkmountoperation-x11.c:866 +msgid "Z Shell" +msgstr "Z Shell" + +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format +msgid "Cannot end process with pid %d: %s" +msgstr "pid %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" + +#: ../gtk/gtknotebook.c:4671 ../gtk/gtknotebook.c:7166 +#, c-format +msgid "Page %u" +msgstr "%u-بەت" + +#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:825 +#: ../gtk/gtkpapersize.c:867 +msgid "Not a valid page setup file" +msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس" + +#: ../gtk/gtkpagesetupunixdialog.c:179 +msgid "Any Printer" +msgstr "خالىغان پرىنتېر" + +#: ../gtk/gtkpagesetupunixdialog.c:179 +msgid "For portable documents" +msgstr "ئەپچىل پۈتۈك ئۈچۈن" + +#: ../gtk/gtkpagesetupunixdialog.c:809 +#, c-format +msgid "" +"Margins:\n" +" Left: %s %s\n" +" Right: %s %s\n" +" Top: %s %s\n" +" Bottom: %s %s" +msgstr "" +"يان ئارىلىقى:\n" +"سول: %s %s\n" +"ئوڭ: %s %s\n" +" ئۈستى: %s %s\n" +" ئاستى: %s %s" + +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3284 +msgid "Manage Custom Sizes..." +msgstr "ئىختىيارى چوڭلۇق باشقۇر…" + +#: ../gtk/gtkpagesetupunixdialog.c:910 +msgid "_Format for:" +msgstr "فورمات(_F):" + +#: ../gtk/gtkpagesetupunixdialog.c:932 ../gtk/gtkprintunixdialog.c:3456 +msgid "_Paper size:" +msgstr "قەغەز چوڭلۇقى(_P):" + +#: ../gtk/gtkpagesetupunixdialog.c:963 +msgid "_Orientation:" +msgstr "يۆنىلىش(_O):" + +#: ../gtk/gtkpagesetupunixdialog.c:1027 ../gtk/gtkprintunixdialog.c:3518 +msgid "Page Setup" +msgstr "بەت تەڭشەك" + +#: ../gtk/gtkpathbar.c:151 +msgid "Up Path" +msgstr "ئۈستۈنكى يول" + +#: ../gtk/gtkpathbar.c:153 +msgid "Down Path" +msgstr "ئاستىنقى يول" + +#: ../gtk/gtkpathbar.c:1482 +msgid "File System Root" +msgstr "ھۆججەت سىستېما غولى" + +#: ../gtk/gtkprintbackend.c:745 +msgid "Authentication" +msgstr "سالاھىيەت دەلىللەش" + +#: ../gtk/gtkprinteroptionwidget.c:694 +msgid "Not available" +msgstr "ئىشلەتكىلى بولمايدۇ" + +#: ../gtk/gtkprinteroptionwidget.c:794 +msgid "Select a folder" +msgstr "مۇندەرىجە تاللاڭ" + +#: ../gtk/gtkprinteroptionwidget.c:813 +msgid "_Save in folder:" +msgstr "قىسقۇچتا ساقلا(_S):" + +#. translators: this string is the default job title for print +#. * jobs. %s gets replaced by the application name, %d gets replaced +#. * by the job number. +#. +#: ../gtk/gtkprintoperation.c:190 +#, c-format +msgid "%s job #%d" +msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d" + +#: ../gtk/gtkprintoperation.c:1695 +msgctxt "print operation status" +msgid "Initial state" +msgstr "دەسلەپكى ھالەت" + +#: ../gtk/gtkprintoperation.c:1696 +msgctxt "print operation status" +msgid "Preparing to print" +msgstr "بېسىشقا تەييارلىنىۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1697 +msgctxt "print operation status" +msgid "Generating data" +msgstr "سانلىق مەلۇمات ياساۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1698 +msgctxt "print operation status" +msgid "Sending data" +msgstr "ئۇچۇر يوللاۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1699 +msgctxt "print operation status" +msgid "Waiting" +msgstr "ساقلاۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1700 +msgctxt "print operation status" +msgid "Blocking on issue" +msgstr "توسۇلۇش مەسىلىسى" + +#: ../gtk/gtkprintoperation.c:1701 +msgctxt "print operation status" +msgid "Printing" +msgstr "بېسىۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:1702 +msgctxt "print operation status" +msgid "Finished" +msgstr "تاماملاندى" + +#: ../gtk/gtkprintoperation.c:1703 +msgctxt "print operation status" +msgid "Finished with error" +msgstr "خاتالىق بىلەن تاماملاندى" + +#: ../gtk/gtkprintoperation.c:2270 +#, c-format +msgid "Preparing %d" +msgstr "%d تەييارلاۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +msgid "Preparing" +msgstr "تەييارلىق ھالەت" + +#: ../gtk/gtkprintoperation.c:2275 +#, c-format +msgid "Printing %d" +msgstr "%d نى بېسىۋاتىدۇ" + +#: ../gtk/gtkprintoperation.c:2932 +msgid "Error creating print preview" +msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى" + +#: ../gtk/gtkprintoperation.c:2935 +msgid "The most probable reason is that a temporary file could not be created." +msgstr "" +"مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." + +#: ../gtk/gtkprintoperation-unix.c:297 +msgid "Error launching preview" +msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" + +#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1446 +msgid "Application" +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkprintoperation-win32.c:611 +msgid "Printer offline" +msgstr "پرىنتېر ئۈزۈك ھالەتتە" + +#: ../gtk/gtkprintoperation-win32.c:613 +msgid "Out of paper" +msgstr "قەغەز يېتىشمىدى" + +#. Translators: this is a printer status. +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +msgid "Paused" +msgstr "ۋاقىتلىق توختىدى" + +#: ../gtk/gtkprintoperation-win32.c:617 +msgid "Need user intervention" +msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج" + +#: ../gtk/gtkprintoperation-win32.c:717 +msgid "Custom size" +msgstr "ئىختىيارى چوڭلۇق" + +#: ../gtk/gtkprintoperation-win32.c:1538 +msgid "No printer found" +msgstr "پرىنتېر تېپىلمىدى" + +#: ../gtk/gtkprintoperation-win32.c:1565 +msgid "Invalid argument to CreateDC" +msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1601 ../gtk/gtkprintoperation-win32.c:1828 +msgid "Error from StartDoc" +msgstr "StartDoc دىن خاتالىق كۆرۈلدى" + +#: ../gtk/gtkprintoperation-win32.c:1683 ../gtk/gtkprintoperation-win32.c:1706 +#: ../gtk/gtkprintoperation-win32.c:1754 +msgid "Not enough free memory" +msgstr "يېتەرلىك بوش ئەسلەك يوق." + +#: ../gtk/gtkprintoperation-win32.c:1759 +msgid "Invalid argument to PrintDlgEx" +msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1764 +msgid "Invalid pointer to PrintDlgEx" +msgstr "PrintDlgEx نىڭ ئىسترېلكاسى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1769 +msgid "Invalid handle to PrintDlgEx" +msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز" + +#: ../gtk/gtkprintoperation-win32.c:1774 +msgid "Unspecified error" +msgstr "ئېنىقسىز خاتالىق" + +#: ../gtk/gtkprintunixdialog.c:614 +msgid "Getting printer information failed" +msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" + +#: ../gtk/gtkprintunixdialog.c:1869 +msgid "Getting printer information..." +msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" + +#: ../gtk/gtkprintunixdialog.c:2139 +msgid "Printer" +msgstr "پرىنتېر" + +#. Translators: this is the header for the location column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2149 +msgid "Location" +msgstr "ئورنى" + +#. Translators: this is the header for the printer status column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2160 +msgid "Status" +msgstr "ھالىتى" + +#: ../gtk/gtkprintunixdialog.c:2186 +msgid "Range" +msgstr "دائىرىسى" + +#: ../gtk/gtkprintunixdialog.c:2190 +msgid "_All Pages" +msgstr "ھەممە بەت(_A)" + +#: ../gtk/gtkprintunixdialog.c:2197 +msgid "C_urrent Page" +msgstr "نۆۋەتتىكى بەت(_U)" + +#: ../gtk/gtkprintunixdialog.c:2207 +msgid "Se_lection" +msgstr "تاللا(_L)" + +#: ../gtk/gtkprintunixdialog.c:2216 +msgid "Pag_es:" +msgstr "بەتلەر(_E):" + +#: ../gtk/gtkprintunixdialog.c:2217 +msgid "" +"Specify one or more page ranges,\n" +" e.g. 1-3,7,11" +msgstr "" +"بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" +"مەسىلەن: 1-3,7,11" + +#: ../gtk/gtkprintunixdialog.c:2227 +msgid "Pages" +msgstr "بەتلەر" + +#: ../gtk/gtkprintunixdialog.c:2240 +msgid "Copies" +msgstr "نۇسخا" + +#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns +#: ../gtk/gtkprintunixdialog.c:2245 +msgid "Copie_s:" +msgstr "نۇسخا سانى(_S):" + +#: ../gtk/gtkprintunixdialog.c:2263 +msgid "C_ollate" +msgstr "رەت بويىچە(_O)" + +#: ../gtk/gtkprintunixdialog.c:2271 +msgid "_Reverse" +msgstr "ئەكسىچە(_R)" + +#: ../gtk/gtkprintunixdialog.c:2291 +msgid "General" +msgstr "ئادەتتىكى" + +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) +#. +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing +#. +#: ../gtk/gtkprintunixdialog.c:3017 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +msgid "Left to right, top to bottom" +msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" + +#: ../gtk/gtkprintunixdialog.c:3017 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +msgid "Left to right, bottom to top" +msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" + +#: ../gtk/gtkprintunixdialog.c:3018 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +msgid "Right to left, top to bottom" +msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" + +#: ../gtk/gtkprintunixdialog.c:3018 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +msgid "Right to left, bottom to top" +msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" + +#: ../gtk/gtkprintunixdialog.c:3019 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +msgid "Top to bottom, left to right" +msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" + +#: ../gtk/gtkprintunixdialog.c:3019 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +msgid "Top to bottom, right to left" +msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" + +#: ../gtk/gtkprintunixdialog.c:3020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +msgid "Bottom to top, left to right" +msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" + +#: ../gtk/gtkprintunixdialog.c:3020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +msgid "Bottom to top, right to left" +msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" + +#. Translators, this string is used to label the option in the print +#. * dialog that controls in what order multiple pages are arranged +#. +#: ../gtk/gtkprintunixdialog.c:3024 ../gtk/gtkprintunixdialog.c:3037 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 +msgid "Page Ordering" +msgstr "بەت تەرتىپى" + +#: ../gtk/gtkprintunixdialog.c:3053 +msgid "Left to right" +msgstr "سولدىن ئوڭغا" + +#: ../gtk/gtkprintunixdialog.c:3054 +msgid "Right to left" +msgstr "ئوڭدىن سولغا" + +#: ../gtk/gtkprintunixdialog.c:3066 +msgid "Top to bottom" +msgstr "ئۈستىدىن ئاستىغا" + +#: ../gtk/gtkprintunixdialog.c:3067 +msgid "Bottom to top" +msgstr "ئاستىدىن ئۈستىگە" + +#: ../gtk/gtkprintunixdialog.c:3307 +msgid "Layout" +msgstr "ئۇسلۇب" + +#: ../gtk/gtkprintunixdialog.c:3311 +msgid "T_wo-sided:" +msgstr "قوش يۈزلۈك(_W):" + +#: ../gtk/gtkprintunixdialog.c:3326 +msgid "Pages per _side:" +msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" + +#: ../gtk/gtkprintunixdialog.c:3343 +msgid "Page or_dering:" +msgstr "بەت تەرتىپى(_D):" + +#: ../gtk/gtkprintunixdialog.c:3359 +msgid "_Only print:" +msgstr "بېسىشلا(_O):" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3374 +msgid "All sheets" +msgstr "ھەممە ۋاراقلار" + +#: ../gtk/gtkprintunixdialog.c:3375 +msgid "Even sheets" +msgstr "تاق ۋاراقلار" + +#: ../gtk/gtkprintunixdialog.c:3376 +msgid "Odd sheets" +msgstr "جۈپ ۋاراقلار" + +#: ../gtk/gtkprintunixdialog.c:3379 +msgid "Sc_ale:" +msgstr "نىسبەت(_A):" + +#: ../gtk/gtkprintunixdialog.c:3406 +msgid "Paper" +msgstr "قەغەز" + +#: ../gtk/gtkprintunixdialog.c:3410 +msgid "Paper _type:" +msgstr "قەغەز تىپى(_T):" + +#: ../gtk/gtkprintunixdialog.c:3425 +msgid "Paper _source:" +msgstr "قەغەز مەنبەسى(_S):" + +#: ../gtk/gtkprintunixdialog.c:3440 +msgid "Output t_ray:" +msgstr "قەغەز قۇتىسى(_R):" + +#: ../gtk/gtkprintunixdialog.c:3480 +msgid "Or_ientation:" +msgstr "يۆنىلىش(_I):" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3495 +msgid "Portrait" +msgstr "بوي يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3496 +msgid "Landscape" +msgstr "توغرا يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3497 +msgid "Reverse portrait" +msgstr "تەتۈر بوي يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3498 +msgid "Reverse landscape" +msgstr "تەتۈر توغرا يۆنىلىش" + +#: ../gtk/gtkprintunixdialog.c:3543 +msgid "Job Details" +msgstr "ۋەزىپە تەپسىلاتى" + +#: ../gtk/gtkprintunixdialog.c:3549 +msgid "Pri_ority:" +msgstr "ئالدىنلىق(_O):" + +#: ../gtk/gtkprintunixdialog.c:3564 +msgid "_Billing info:" +msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" + +#: ../gtk/gtkprintunixdialog.c:3582 +msgid "Print Document" +msgstr "پۈتۈك باس" + +#. Translators: this is one of the choices for the print at option +#. * in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3591 +msgid "_Now" +msgstr "دەرھال(_N)" + +#: ../gtk/gtkprintunixdialog.c:3602 +msgid "A_t:" +msgstr "دە(_T):" + +#. Translators: Ability to parse the am/pm format depends on actual locale. +#. * You can remove the am/pm values below for your locale if they are not +#. * supported. +#. +#: ../gtk/gtkprintunixdialog.c:3608 +msgid "" +"Specify the time of print,\n" +" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" +msgstr "" +"بېسىش ۋاقتى بەلگىلىنىدۇ،\n" +" مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" + +#: ../gtk/gtkprintunixdialog.c:3618 +msgid "Time of print" +msgstr "بېسىش ۋاقتى" + +#: ../gtk/gtkprintunixdialog.c:3634 +msgid "On _hold" +msgstr "كۈت(_H)" + +#: ../gtk/gtkprintunixdialog.c:3635 +msgid "Hold the job until it is explicitly released" +msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" + +#: ../gtk/gtkprintunixdialog.c:3655 +msgid "Add Cover Page" +msgstr "مۇقاۋا بەت قوش" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3664 +msgid "Be_fore:" +msgstr "ئالدى(_F):" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3682 +msgid "_After:" +msgstr "كەينى(_A):" + +#. Translators: this is the tab label for the notebook tab containing +#. * job-specific options in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3700 +msgid "Job" +msgstr "ۋەزىپە" + +#: ../gtk/gtkprintunixdialog.c:3766 +msgid "Advanced" +msgstr "ئالىي" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3805 +msgid "Image Quality" +msgstr "سۈرەت سۈپەتى" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3809 +msgid "Color" +msgstr "رەڭ" + +#. Translators: this will appear as tab label in print dialog. +#. It's a typographical term, as in "Binding and finishing" +#: ../gtk/gtkprintunixdialog.c:3814 +msgid "Finishing" +msgstr "تامام" + +#: ../gtk/gtkprintunixdialog.c:3824 +msgid "Some of the settings in the dialog conflict" +msgstr "دىئالوگ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" + +#: ../gtk/gtkprintunixdialog.c:3847 +msgid "Print" +msgstr "باس" + +#: ../gtk/gtkrc.c:2837 +#, c-format +msgid "Unable to find include file: \"%s\"" +msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" + +#: ../gtk/gtkrc.c:3467 ../gtk/gtkrc.c:3470 +#, c-format +msgid "Unable to locate image file in pixmap_path: \"%s\"" +msgstr "پېكسىل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" + +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:615 ../gtk/gtkrecentchoosermenu.c:623 +#, c-format +msgid "This function is not implemented for widgets of class '%s'" +msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ" + +#: ../gtk/gtkrecentchooserdefault.c:481 +msgid "Select which type of documents are shown" +msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ" + +#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 +#, c-format +msgid "No item for URI '%s' found" +msgstr "URI“%s” تۈرنى تاپالمىدى" + +#: ../gtk/gtkrecentchooserdefault.c:1298 +msgid "Untitled filter" +msgstr "تېمىسىز سۈزگۈچ" + +#: ../gtk/gtkrecentchooserdefault.c:1651 +msgid "Could not remove item" +msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ" + +#: ../gtk/gtkrecentchooserdefault.c:1695 +msgid "Could not clear list" +msgstr "تىزىملىكنى تازىلىيالمايدۇ" + +#: ../gtk/gtkrecentchooserdefault.c:1779 +msgid "Copy _Location" +msgstr "ئورۇن كۆچۈر(_L)" + +#: ../gtk/gtkrecentchooserdefault.c:1792 +msgid "_Remove From List" +msgstr "تىزىملىكتىن چىقىرىۋەت(_R)" + +#: ../gtk/gtkrecentchooserdefault.c:1801 +msgid "_Clear List" +msgstr "تىزىملىكنى تازىلا(_C)" + +#: ../gtk/gtkrecentchooserdefault.c:1815 +msgid "Show _Private Resources" +msgstr "شەخسى مەنبەنى كۆرسەت(_P)" + +#. we create a placeholder menuitem, to be used in case +#. * the menu is empty. this placeholder will stay around +#. * for the entire lifetime of the menu, and we just hide it +#. * when it's not used. we have to do this, and do it here, +#. * because we need a marker for the beginning of the recent +#. * items list, so that we can insert the new items at the +#. * right place when idly populating the menu in case the +#. * user appended or prepended custom menu items to the +#. * recent chooser menu widget. +#. +#: ../gtk/gtkrecentchoosermenu.c:369 +msgid "No items found" +msgstr "تۈر تېپىلمىدى" + +#: ../gtk/gtkrecentchoosermenu.c:535 ../gtk/gtkrecentchoosermenu.c:591 +#, c-format +msgid "No recently used resource found with URI `%s'" +msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى" + +#: ../gtk/gtkrecentchoosermenu.c:802 +#, c-format +msgid "Open '%s'" +msgstr "'%s' ئاچ" + +#: ../gtk/gtkrecentchoosermenu.c:832 +msgid "Unknown item" +msgstr "نامەلۇم تۈر" + +#. This is the label format that is used for the first 10 items +#. * in a recent files menu. The %d is the number of the item, +#. * the %s is the name of the item. Please keep the _ in front +#. * of the number to give these menu items a mnemonic. +#. +#: ../gtk/gtkrecentchoosermenu.c:843 +#, c-format +msgctxt "recent menu label" +msgid "_%d. %s" +msgstr "_%d. %s" + +#. This is the format that is used for items in a recent files menu. +#. * The %d is the number of the item, the %s is the name of the item. +#. +#: ../gtk/gtkrecentchoosermenu.c:848 +#, c-format +msgctxt "recent menu label" +msgid "%d. %s" +msgstr "%d. %s" + +#: ../gtk/gtkrecentmanager.c:980 ../gtk/gtkrecentmanager.c:993 +#: ../gtk/gtkrecentmanager.c:1131 ../gtk/gtkrecentmanager.c:1141 +#: ../gtk/gtkrecentmanager.c:1194 ../gtk/gtkrecentmanager.c:1203 +#: ../gtk/gtkrecentmanager.c:1218 +#, c-format +msgid "Unable to find an item with URI '%s'" +msgstr "URI '%s' تۈر تېپىلمىدى" + +#: ../gtk/gtkspinner.c:457 +msgctxt "throbbing progress animation widget" +msgid "Spinner" +msgstr "مىكرو تەڭشەك" + +#: ../gtk/gtkspinner.c:458 +msgid "Provides visual indication of progress" +msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" + +#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate +#: ../gtk/gtkstock.c:313 +msgctxt "Stock label" +msgid "Information" +msgstr "ئۇچۇر" + +#: ../gtk/gtkstock.c:314 +msgctxt "Stock label" +msgid "Warning" +msgstr "ئاگاھلاندۇرۇش" + +#: ../gtk/gtkstock.c:315 +msgctxt "Stock label" +msgid "Error" +msgstr "خاتالىق" + +#: ../gtk/gtkstock.c:316 +msgctxt "Stock label" +msgid "Question" +msgstr "سوئال" + +#. FIXME these need accelerators when appropriate, and +#. * need the mnemonics to be rationalized +#. +#: ../gtk/gtkstock.c:321 +msgctxt "Stock label" +msgid "_About" +msgstr "ھەققىدە(_A)" + +#: ../gtk/gtkstock.c:322 +msgctxt "Stock label" +msgid "_Add" +msgstr "قوش(_A)" + +#: ../gtk/gtkstock.c:323 +msgctxt "Stock label" +msgid "_Apply" +msgstr "قوللان(_A)" + +#: ../gtk/gtkstock.c:324 +msgctxt "Stock label" +msgid "_Bold" +msgstr "توم(_B)" + +#: ../gtk/gtkstock.c:325 +msgctxt "Stock label" +msgid "_Cancel" +msgstr "ۋاز كەچ(_C)" + +#: ../gtk/gtkstock.c:326 +msgctxt "Stock label" +msgid "_CD-Rom" +msgstr "_CD-Rom" + +#: ../gtk/gtkstock.c:327 +msgctxt "Stock label" +msgid "_Clear" +msgstr "ئۆچۈر(_C)" + +#: ../gtk/gtkstock.c:328 +msgctxt "Stock label" +msgid "_Close" +msgstr "ياپ(_C)" + +#: ../gtk/gtkstock.c:329 +msgctxt "Stock label" +msgid "C_onnect" +msgstr "ئۇلا(_O)" + +#: ../gtk/gtkstock.c:330 +msgctxt "Stock label" +msgid "_Convert" +msgstr "ئايلاندۇر(_C)" + +#: ../gtk/gtkstock.c:331 +msgctxt "Stock label" +msgid "_Copy" +msgstr "كۆچۈر(_C)" + +#: ../gtk/gtkstock.c:332 +msgctxt "Stock label" +msgid "Cu_t" +msgstr "كەس(_T)" + +#: ../gtk/gtkstock.c:333 +msgctxt "Stock label" +msgid "_Delete" +msgstr "ئۆچۈر(_D)" + +#: ../gtk/gtkstock.c:334 +msgctxt "Stock label" +msgid "_Discard" +msgstr "تاشلىۋەت(_D)" + +#: ../gtk/gtkstock.c:335 +msgctxt "Stock label" +msgid "_Disconnect" +msgstr "ئۈز(_D)" + +#: ../gtk/gtkstock.c:336 +msgctxt "Stock label" +msgid "_Execute" +msgstr "ئىجرا قىل(_E)" + +#: ../gtk/gtkstock.c:337 +msgctxt "Stock label" +msgid "_Edit" +msgstr "تەھرىر(_E)" + +#: ../gtk/gtkstock.c:338 +msgctxt "Stock label" +msgid "_File" +msgstr "" + +#: ../gtk/gtkstock.c:339 +msgctxt "Stock label" +msgid "_Find" +msgstr "ئىزدە(_F)" + +#: ../gtk/gtkstock.c:340 +msgctxt "Stock label" +msgid "Find and _Replace" +msgstr "ئىزدەپ ئالماشتۇر(_R)" + +#: ../gtk/gtkstock.c:341 +msgctxt "Stock label" +msgid "_Floppy" +msgstr "يۇمشاق دىسكا(_F)" + +#: ../gtk/gtkstock.c:342 +msgctxt "Stock label" +msgid "_Fullscreen" +msgstr "پۈتۈن ئېكران(_F)" + +#: ../gtk/gtkstock.c:343 +msgctxt "Stock label" +msgid "_Leave Fullscreen" +msgstr "پۈتۈن ئېكراندىن ئايرىل(_L)" + +#. This is a navigation label as in "go to the bottom of the page" +#: ../gtk/gtkstock.c:345 +msgctxt "Stock label, navigation" +msgid "_Bottom" +msgstr "ئاستى(_B)" + +#. This is a navigation label as in "go to the first page" +#: ../gtk/gtkstock.c:347 +msgctxt "Stock label, navigation" +msgid "_First" +msgstr "بىرىنچى(_F)" + +#. This is a navigation label as in "go to the last page" +#: ../gtk/gtkstock.c:349 +msgctxt "Stock label, navigation" +msgid "_Last" +msgstr "ئاخىرقى(_L)" + +#. This is a navigation label as in "go to the top of the page" +#: ../gtk/gtkstock.c:351 +msgctxt "Stock label, navigation" +msgid "_Top" +msgstr "بېشى(_F)" + +#. This is a navigation label as in "go back" +#: ../gtk/gtkstock.c:353 +msgctxt "Stock label, navigation" +msgid "_Back" +msgstr "كەينىگە(_B)" + +#. This is a navigation label as in "go down" +#: ../gtk/gtkstock.c:355 +msgctxt "Stock label, navigation" +msgid "_Down" +msgstr "ئاستىغا(_D)" + +#. This is a navigation label as in "go forward" +#: ../gtk/gtkstock.c:357 +msgctxt "Stock label, navigation" +msgid "_Forward" +msgstr "ئالدىنقى(_F)" + +#. This is a navigation label as in "go up" +#: ../gtk/gtkstock.c:359 +msgctxt "Stock label, navigation" +msgid "_Up" +msgstr "ئۈستىگە(_U)" + +#: ../gtk/gtkstock.c:360 +msgctxt "Stock label" +msgid "_Harddisk" +msgstr "قاتتىق دىسكا(_H)" + +#: ../gtk/gtkstock.c:361 +msgctxt "Stock label" +msgid "_Help" +msgstr "ياردەم(_H)" + +#: ../gtk/gtkstock.c:362 +msgctxt "Stock label" +msgid "_Home" +msgstr "باش بەت(_H)" + +#: ../gtk/gtkstock.c:363 +msgctxt "Stock label" +msgid "Increase Indent" +msgstr "كەڭەيت" + +#: ../gtk/gtkstock.c:364 +msgctxt "Stock label" +msgid "Decrease Indent" +msgstr "تارايت" + +#: ../gtk/gtkstock.c:365 +msgctxt "Stock label" +msgid "_Index" +msgstr "ئىندېكس(_I)" + +#: ../gtk/gtkstock.c:366 +msgctxt "Stock label" +msgid "_Information" +msgstr "ئۇچۇر(_I)" + +#: ../gtk/gtkstock.c:367 +msgctxt "Stock label" +msgid "_Italic" +msgstr "يانتۇ(_I)" + +#: ../gtk/gtkstock.c:368 +msgctxt "Stock label" +msgid "_Jump to" +msgstr "ئاتلا(_J)" + +#. This is about text justification, "centered text" +#: ../gtk/gtkstock.c:370 +msgctxt "Stock label" +msgid "_Center" +msgstr "ئوتتۇرا(_C)" + +#. This is about text justification +#: ../gtk/gtkstock.c:372 +msgctxt "Stock label" +msgid "_Fill" +msgstr "تولدۇر(_F)" + +#. This is about text justification, "left-justified text" +#: ../gtk/gtkstock.c:374 +msgctxt "Stock label" +msgid "_Left" +msgstr "سول(_L)" + +#. This is about text justification, "right-justified text" +#: ../gtk/gtkstock.c:376 +msgctxt "Stock label" +msgid "_Right" +msgstr "ئوڭ(_R)" + +#. Media label, as in "fast forward" +#: ../gtk/gtkstock.c:379 +msgctxt "Stock label, media" +msgid "_Forward" +msgstr "ئالدىنقى(_F)" + +#. Media label, as in "next song" +#: ../gtk/gtkstock.c:381 +msgctxt "Stock label, media" +msgid "_Next" +msgstr "كېيىنكى(_N)" + +#. Media label, as in "pause music" +#: ../gtk/gtkstock.c:383 +msgctxt "Stock label, media" +msgid "P_ause" +msgstr "ۋاقىتلىق توختات(_A)" + +#. Media label, as in "play music" +#: ../gtk/gtkstock.c:385 +msgctxt "Stock label, media" +msgid "_Play" +msgstr "قوي(_P)" + +#. Media label, as in "previous song" +#: ../gtk/gtkstock.c:387 +msgctxt "Stock label, media" +msgid "Pre_vious" +msgstr "ئالدىنقى(_V)" + +#. Media label +#: ../gtk/gtkstock.c:389 +msgctxt "Stock label, media" +msgid "_Record" +msgstr "خاتىرىلە(_R)" + +#. Media label +#: ../gtk/gtkstock.c:391 +msgctxt "Stock label, media" +msgid "R_ewind" +msgstr "تېز چېكىن(_E)" + +#. Media label +#: ../gtk/gtkstock.c:393 +msgctxt "Stock label, media" +msgid "_Stop" +msgstr "توختا(_S)" + +#: ../gtk/gtkstock.c:394 +msgctxt "Stock label" +msgid "_Network" +msgstr "تور(_N)" + +#: ../gtk/gtkstock.c:395 +msgctxt "Stock label" +msgid "_New" +msgstr "يېڭى(_N)" + +#: ../gtk/gtkstock.c:396 +msgctxt "Stock label" +msgid "_No" +msgstr "ياق(_N)" + +#: ../gtk/gtkstock.c:397 +msgctxt "Stock label" +msgid "_OK" +msgstr "جەزملە(_O)" + +#: ../gtk/gtkstock.c:398 +msgctxt "Stock label" +msgid "_Open" +msgstr "ئاچ(_O)" + +#. Page orientation +#: ../gtk/gtkstock.c:400 +msgctxt "Stock label" +msgid "Landscape" +msgstr "توغرا يۆنىلىش" + +#. Page orientation +#: ../gtk/gtkstock.c:402 +msgctxt "Stock label" +msgid "Portrait" +msgstr "بوي يۆنىلىش" + +#. Page orientation +#: ../gtk/gtkstock.c:404 +msgctxt "Stock label" +msgid "Reverse landscape" +msgstr "تەتۈر توغرا يۆنىلىش" + +#. Page orientation +#: ../gtk/gtkstock.c:406 +msgctxt "Stock label" +msgid "Reverse portrait" +msgstr "تەتۈر بوي يۆنىلىش" + +#: ../gtk/gtkstock.c:407 +msgctxt "Stock label" +msgid "Page Set_up" +msgstr "بەت تەڭشەك(_U)" + +#: ../gtk/gtkstock.c:408 +msgctxt "Stock label" +msgid "_Paste" +msgstr "چاپلا(_P)" + +#: ../gtk/gtkstock.c:409 +msgctxt "Stock label" +msgid "_Preferences" +msgstr "مايىللىق(_P)" + +#: ../gtk/gtkstock.c:410 +msgctxt "Stock label" +msgid "_Print" +msgstr "باس(_P)" + +#: ../gtk/gtkstock.c:411 +msgctxt "Stock label" +msgid "Print Pre_view" +msgstr "بېسىشنى ئالدىن كۆزەت(_V)" + +#: ../gtk/gtkstock.c:412 +msgctxt "Stock label" +msgid "_Properties" +msgstr "خاسلىق(_P)" + +#: ../gtk/gtkstock.c:413 +msgctxt "Stock label" +msgid "_Quit" +msgstr "چېكىن(_Q)" + +#: ../gtk/gtkstock.c:414 +msgctxt "Stock label" +msgid "_Redo" +msgstr "قايتىلا(_R)" + +#: ../gtk/gtkstock.c:415 +msgctxt "Stock label" +msgid "_Refresh" +msgstr "يېڭىلا(_R)" + +#: ../gtk/gtkstock.c:416 +msgctxt "Stock label" +msgid "_Remove" +msgstr "ئۆچۈر(_R)" + +#: ../gtk/gtkstock.c:417 +msgctxt "Stock label" +msgid "_Revert" +msgstr "ئەسلىگە قايتۇر(_R)" + +#: ../gtk/gtkstock.c:418 +msgctxt "Stock label" +msgid "_Save" +msgstr "ساقلا(_S)" + +#: ../gtk/gtkstock.c:419 +msgctxt "Stock label" +msgid "Save _As" +msgstr "باشقا ئاتتا ساقلا(_A)" + +#: ../gtk/gtkstock.c:420 +msgctxt "Stock label" +msgid "Select _All" +msgstr "ھەممىنى تاللا(_A)" + +#: ../gtk/gtkstock.c:421 +msgctxt "Stock label" +msgid "_Color" +msgstr "رەڭ(_C)" + +#: ../gtk/gtkstock.c:422 +msgctxt "Stock label" +msgid "_Font" +msgstr "خەت نۇسخا(_F)" + +#. Sorting direction +#: ../gtk/gtkstock.c:424 +msgctxt "Stock label" +msgid "_Ascending" +msgstr "ئۆسكۈچى(_A)" + +#. Sorting direction +#: ../gtk/gtkstock.c:426 +msgctxt "Stock label" +msgid "_Descending" +msgstr "كېمەيگۈچى(_D)" + +#: ../gtk/gtkstock.c:427 +msgctxt "Stock label" +msgid "_Spell Check" +msgstr "ئىملا تەكشۈر(_S)" + +#: ../gtk/gtkstock.c:428 +msgctxt "Stock label" +msgid "_Stop" +msgstr "توختا(_S)" + +#. Font variant +#: ../gtk/gtkstock.c:430 +msgctxt "Stock label" +msgid "_Strikethrough" +msgstr "ئۆچۈرۈش سىزىقى (_S)" + +#: ../gtk/gtkstock.c:431 +msgctxt "Stock label" +msgid "_Undelete" +msgstr "ئەسلىگە كەلتۈر(_U)" + +#. Font variant +#: ../gtk/gtkstock.c:433 +msgctxt "Stock label" +msgid "_Underline" +msgstr "ئاستى سىزىق(_U)" + +#: ../gtk/gtkstock.c:434 +msgctxt "Stock label" +msgid "_Undo" +msgstr "يېنىۋال(_U)" + +#: ../gtk/gtkstock.c:435 +msgctxt "Stock label" +msgid "_Yes" +msgstr "ھەئە(_Y)" + +#. Zoom +#: ../gtk/gtkstock.c:437 +msgctxt "Stock label" +msgid "_Normal Size" +msgstr "ئەسلى چوڭلۇقى(_N)" + +#. Zoom +#: ../gtk/gtkstock.c:439 +msgctxt "Stock label" +msgid "Best _Fit" +msgstr "ئەڭ مۇناسىپ(_F)" + +#: ../gtk/gtkstock.c:440 +msgctxt "Stock label" +msgid "Zoom _In" +msgstr "چوڭايت(_I)" + +#: ../gtk/gtkstock.c:441 +msgctxt "Stock label" +msgid "Zoom _Out" +msgstr "كىچىكلەت(_O) " + +#: ../gtk/gtktextbufferrichtext.c:650 +#, c-format +msgid "Unknown error when trying to deserialize %s" +msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s" + +#: ../gtk/gtktextbufferrichtext.c:709 +#, c-format +msgid "No deserialize function found for format %s" +msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" + +#: ../gtk/gtktextbufferserialize.c:795 ../gtk/gtktextbufferserialize.c:821 +#, c-format +msgid "Both \"id\" and \"name\" were found on the <%s> element" +msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" + +#: ../gtk/gtktextbufferserialize.c:805 ../gtk/gtktextbufferserialize.c:831 +#, c-format +msgid "The attribute \"%s\" was found twice on the <%s> element" +msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" + +#: ../gtk/gtktextbufferserialize.c:845 +#, c-format +msgid "<%s> element has invalid id \"%s\"" +msgstr "<%s> ئېلېمېنتنىڭ id سى “%s” ئىناۋەتسىز " + +#: ../gtk/gtktextbufferserialize.c:855 +#, c-format +msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" +msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" + +#: ../gtk/gtktextbufferserialize.c:942 +#, c-format +msgid "Attribute \"%s\" repeated twice on the same <%s> element" +msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى " + +#: ../gtk/gtktextbufferserialize.c:960 ../gtk/gtktextbufferserialize.c:985 +#, c-format +msgid "Attribute \"%s\" is invalid on <%s> element in this context" +msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" + +#: ../gtk/gtktextbufferserialize.c:1024 +#, c-format +msgid "Tag \"%s\" has not been defined." +msgstr "“%s” بەلگە ئېنىقلانمىغان." + +#: ../gtk/gtktextbufferserialize.c:1036 +msgid "Anonymous tag found and tags can not be created." +msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" + +#: ../gtk/gtktextbufferserialize.c:1047 +#, c-format +msgid "Tag \"%s\" does not exist in buffer and tags can not be created." +msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." + +#: ../gtk/gtktextbufferserialize.c:1146 ../gtk/gtktextbufferserialize.c:1221 +#: ../gtk/gtktextbufferserialize.c:1324 ../gtk/gtktextbufferserialize.c:1398 +#, c-format +msgid "Element <%s> is not allowed below <%s>" +msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" + +#: ../gtk/gtktextbufferserialize.c:1177 +#, c-format +msgid "\"%s\" is not a valid attribute type" +msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" + +#: ../gtk/gtktextbufferserialize.c:1185 +#, c-format +msgid "\"%s\" is not a valid attribute name" +msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" + +#: ../gtk/gtktextbufferserialize.c:1195 +#, c-format +msgid "" +"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgstr "" +"\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا " +"ئىشلىتىلىدۇ" + +#: ../gtk/gtktextbufferserialize.c:1204 +#, c-format +msgid "\"%s\" is not a valid value for attribute \"%s\"" +msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" + +#: ../gtk/gtktextbufferserialize.c:1289 +#, c-format +msgid "Tag \"%s\" already defined" +msgstr "\"%s\" بەلگە ئېنىقلاندى" + +#: ../gtk/gtktextbufferserialize.c:1300 +#, c-format +msgid "Tag \"%s\" has invalid priority \"%s\"" +msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" + +#: ../gtk/gtktextbufferserialize.c:1353 +#, c-format +msgid "Outermost element in text must be not <%s>" +msgstr "" +"تېكستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" + +#: ../gtk/gtktextbufferserialize.c:1362 ../gtk/gtktextbufferserialize.c:1378 +#, c-format +msgid "A <%s> element has already been specified" +msgstr "<%s> ئېلېمېنت بەلگىلەندى" + +#: ../gtk/gtktextbufferserialize.c:1384 +msgid "A element can't occur before a element" +msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" + +#: ../gtk/gtktextbufferserialize.c:1784 +msgid "Serialized data is malformed" +msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" + +#: ../gtk/gtktextbufferserialize.c:1862 +msgid "" +"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +msgstr "" +"تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا. بىرىنچى بۆلىكى " +"GTKTEXTBUFFERCONTENTS-0001" + +#: ../gtk/gtktextutil.c:60 +msgid "LRM _Left-to-right mark" +msgstr "LRM سولدىن ئوڭغا بەلگىسى(_L)" + +#: ../gtk/gtktextutil.c:61 +msgid "RLM _Right-to-left mark" +msgstr "RLM ئوڭدىن سولغا بەلگىسى(_R)" + +#: ../gtk/gtktextutil.c:62 +msgid "LRE Left-to-right _embedding" +msgstr "LRE سولدىن ئوڭغا سىڭدۈرمە(_E)" + +#: ../gtk/gtktextutil.c:63 +msgid "RLE Right-to-left e_mbedding" +msgstr "RLE ئوڭدىن سولغا سىڭدۈرمە(_M)" + +#: ../gtk/gtktextutil.c:64 +msgid "LRO Left-to-right _override" +msgstr "LRO سولدىن ئوڭغا قاپلاش(_O)" + +#: ../gtk/gtktextutil.c:65 +msgid "RLO Right-to-left o_verride" +msgstr "RLO ئوڭدىن سولغا قاپلاش(_V)" + +#: ../gtk/gtktextutil.c:66 +msgid "PDF _Pop directional formatting" +msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)" + +#: ../gtk/gtktextutil.c:67 +msgid "ZWS _Zero width space" +msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)" + +#: ../gtk/gtktextutil.c:68 +msgid "ZWJ Zero width _joiner" +msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)" + +#: ../gtk/gtktextutil.c:69 +msgid "ZWNJ Zero width _non-joiner" +msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)" + +#: ../gtk/gtkthemes.c:71 +#, c-format +msgid "Unable to locate theme engine in module_path: \"%s\"," +msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" + +#: ../gtk/gtkuimanager.c:1505 +#, c-format +msgid "Unexpected start tag '%s' on line %d char %d" +msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە" + +#: ../gtk/gtkuimanager.c:1595 +#, c-format +msgid "Unexpected character data on line %d char %d" +msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار" + +#: ../gtk/gtkuimanager.c:2427 +msgid "Empty" +msgstr "بوش" + +#: ../gtk/gtkvolumebutton.c:83 +msgid "Volume" +msgstr "قىممەت" + +#: ../gtk/gtkvolumebutton.c:85 +msgid "Turns volume down or up" +msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" + +#: ../gtk/gtkvolumebutton.c:88 +msgid "Adjusts the volume" +msgstr "ئاۋاز تەڭشىكى" + +#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +msgid "Volume Down" +msgstr "ئاۋازنى تۆۋەنلەت" + +#: ../gtk/gtkvolumebutton.c:96 +msgid "Decreases the volume" +msgstr "ئاۋازنى كېمەيت" + +#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +msgid "Volume Up" +msgstr "ئاۋازنى يۇقىرىلات" + +#: ../gtk/gtkvolumebutton.c:102 +msgid "Increases the volume" +msgstr "ئاۋازنى ئاشۇر" + +#: ../gtk/gtkvolumebutton.c:160 +msgid "Muted" +msgstr "ئۈنسىز" + +#: ../gtk/gtkvolumebutton.c:164 +msgid "Full Volume" +msgstr "ئەڭ يۇقىرى ئاۋاز" + +#. Translators: this is the percentage of the current volume, +#. * as used in the tooltip, eg. "49 %". +#. * Translate the "%d" to "%Id" if you want to use localised digits, +#. * or otherwise translate the "%d" to "%d". +#. +#: ../gtk/gtkvolumebutton.c:177 +#, c-format +msgctxt "volume percentage" +msgid "%d %%" +msgstr "%d %%" + +#: ../gtk/paper_names_offsets.c:4 +msgctxt "paper size" +msgid "asme_f" +msgstr "asme_f" + +#: ../gtk/paper_names_offsets.c:5 +msgctxt "paper size" +msgid "A0x2" +msgstr "A0x2" + +#: ../gtk/paper_names_offsets.c:6 +msgctxt "paper size" +msgid "A0" +msgstr "A0" + +#: ../gtk/paper_names_offsets.c:7 +msgctxt "paper size" +msgid "A0x3" +msgstr "A0x3" + +#: ../gtk/paper_names_offsets.c:8 +msgctxt "paper size" +msgid "A1" +msgstr "A1" + +#: ../gtk/paper_names_offsets.c:9 +msgctxt "paper size" +msgid "A10" +msgstr "A10" + +#: ../gtk/paper_names_offsets.c:10 +msgctxt "paper size" +msgid "A1x3" +msgstr "A1x3" + +#: ../gtk/paper_names_offsets.c:11 +msgctxt "paper size" +msgid "A1x4" +msgstr "A1x4" + +#: ../gtk/paper_names_offsets.c:12 +msgctxt "paper size" +msgid "A2" +msgstr "A2" + +#: ../gtk/paper_names_offsets.c:13 +msgctxt "paper size" +msgid "A2x3" +msgstr "A2x3" + +#: ../gtk/paper_names_offsets.c:14 +msgctxt "paper size" +msgid "A2x4" +msgstr "A2x4" + +#: ../gtk/paper_names_offsets.c:15 +msgctxt "paper size" +msgid "A2x5" +msgstr "A2x5" + +#: ../gtk/paper_names_offsets.c:16 +msgctxt "paper size" +msgid "A3" +msgstr "A3" + +#: ../gtk/paper_names_offsets.c:17 +msgctxt "paper size" +msgid "A3 Extra" +msgstr "A3 Extra" + +#: ../gtk/paper_names_offsets.c:18 +msgctxt "paper size" +msgid "A3x3" +msgstr "A3x3" + +#: ../gtk/paper_names_offsets.c:19 +msgctxt "paper size" +msgid "A3x4" +msgstr "A3x4" + +#: ../gtk/paper_names_offsets.c:20 +msgctxt "paper size" +msgid "A3x5" +msgstr "A3x5" + +#: ../gtk/paper_names_offsets.c:21 +msgctxt "paper size" +msgid "A3x6" +msgstr "A3x6" + +#: ../gtk/paper_names_offsets.c:22 +msgctxt "paper size" +msgid "A3x7" +msgstr "A3x7" + +#: ../gtk/paper_names_offsets.c:23 +msgctxt "paper size" +msgid "A4" +msgstr "A4" + +#: ../gtk/paper_names_offsets.c:24 +msgctxt "paper size" +msgid "A4 Extra" +msgstr "A4 Extra" + +#: ../gtk/paper_names_offsets.c:25 +msgctxt "paper size" +msgid "A4 Tab" +msgstr "A4 Tab" + +#: ../gtk/paper_names_offsets.c:26 +msgctxt "paper size" +msgid "A4x3" +msgstr "A4x3" + +#: ../gtk/paper_names_offsets.c:27 +msgctxt "paper size" +msgid "A4x4" +msgstr "A4x4" + +#: ../gtk/paper_names_offsets.c:28 +msgctxt "paper size" +msgid "A4x5" +msgstr "A4x5" + +#: ../gtk/paper_names_offsets.c:29 +msgctxt "paper size" +msgid "A4x6" +msgstr "A4x6" + +#: ../gtk/paper_names_offsets.c:30 +msgctxt "paper size" +msgid "A4x7" +msgstr "A4x7" + +#: ../gtk/paper_names_offsets.c:31 +msgctxt "paper size" +msgid "A4x8" +msgstr "A4x8" + +#: ../gtk/paper_names_offsets.c:32 +msgctxt "paper size" +msgid "A4x9" +msgstr "A4x9" + +#: ../gtk/paper_names_offsets.c:33 +msgctxt "paper size" +msgid "A5" +msgstr "A5" + +#: ../gtk/paper_names_offsets.c:34 +msgctxt "paper size" +msgid "A5 Extra" +msgstr "A5 Extra" + +#: ../gtk/paper_names_offsets.c:35 +msgctxt "paper size" +msgid "A6" +msgstr "A6" + +#: ../gtk/paper_names_offsets.c:36 +msgctxt "paper size" +msgid "A7" +msgstr "A7" + +#: ../gtk/paper_names_offsets.c:37 +msgctxt "paper size" +msgid "A8" +msgstr "A8" + +#: ../gtk/paper_names_offsets.c:38 +msgctxt "paper size" +msgid "A9" +msgstr "A9" + +#: ../gtk/paper_names_offsets.c:39 +msgctxt "paper size" +msgid "B0" +msgstr "B0" + +#: ../gtk/paper_names_offsets.c:40 +msgctxt "paper size" +msgid "B1" +msgstr "B1" + +#: ../gtk/paper_names_offsets.c:41 +msgctxt "paper size" +msgid "B10" +msgstr "B10" + +#: ../gtk/paper_names_offsets.c:42 +msgctxt "paper size" +msgid "B2" +msgstr "B2" + +#: ../gtk/paper_names_offsets.c:43 +msgctxt "paper size" +msgid "B3" +msgstr "B3" + +#: ../gtk/paper_names_offsets.c:44 +msgctxt "paper size" +msgid "B4" +msgstr "B4" + +#: ../gtk/paper_names_offsets.c:45 +msgctxt "paper size" +msgid "B5" +msgstr "B5" + +#: ../gtk/paper_names_offsets.c:46 +msgctxt "paper size" +msgid "B5 Extra" +msgstr "B5 Extra" + +#: ../gtk/paper_names_offsets.c:47 +msgctxt "paper size" +msgid "B6" +msgstr "B6" + +#: ../gtk/paper_names_offsets.c:48 +msgctxt "paper size" +msgid "B6/C4" +msgstr "B6/C4" + +#: ../gtk/paper_names_offsets.c:49 +msgctxt "paper size" +msgid "B7" +msgstr "B7" + +#: ../gtk/paper_names_offsets.c:50 +msgctxt "paper size" +msgid "B8" +msgstr "B8" + +#: ../gtk/paper_names_offsets.c:51 +msgctxt "paper size" +msgid "B9" +msgstr "B9" + +#: ../gtk/paper_names_offsets.c:52 +msgctxt "paper size" +msgid "C0" +msgstr "C0" + +#: ../gtk/paper_names_offsets.c:53 +msgctxt "paper size" +msgid "C1" +msgstr "C1" + +#: ../gtk/paper_names_offsets.c:54 +msgctxt "paper size" +msgid "C10" +msgstr "C10" + +#: ../gtk/paper_names_offsets.c:55 +msgctxt "paper size" +msgid "C2" +msgstr "C2" + +#: ../gtk/paper_names_offsets.c:56 +msgctxt "paper size" +msgid "C3" +msgstr "C3" + +#: ../gtk/paper_names_offsets.c:57 +msgctxt "paper size" +msgid "C4" +msgstr "C4" + +#: ../gtk/paper_names_offsets.c:58 +msgctxt "paper size" +msgid "C5" +msgstr "C5" + +#: ../gtk/paper_names_offsets.c:59 +msgctxt "paper size" +msgid "C6" +msgstr "C6" + +#: ../gtk/paper_names_offsets.c:60 +msgctxt "paper size" +msgid "C6/C5" +msgstr "C6/C5" + +#: ../gtk/paper_names_offsets.c:61 +msgctxt "paper size" +msgid "C7" +msgstr "C7" + +#: ../gtk/paper_names_offsets.c:62 +msgctxt "paper size" +msgid "C7/C6" +msgstr "C7/C6" + +#: ../gtk/paper_names_offsets.c:63 +msgctxt "paper size" +msgid "C8" +msgstr "C8" + +#: ../gtk/paper_names_offsets.c:64 +msgctxt "paper size" +msgid "C9" +msgstr "C9" + +#: ../gtk/paper_names_offsets.c:65 +msgctxt "paper size" +msgid "DL Envelope" +msgstr "DL لىپاپا" + +#: ../gtk/paper_names_offsets.c:66 +msgctxt "paper size" +msgid "RA0" +msgstr "RA0" + +#: ../gtk/paper_names_offsets.c:67 +msgctxt "paper size" +msgid "RA1" +msgstr "RA1" + +#: ../gtk/paper_names_offsets.c:68 +msgctxt "paper size" +msgid "RA2" +msgstr "RA2" + +#: ../gtk/paper_names_offsets.c:69 +msgctxt "paper size" +msgid "SRA0" +msgstr "SRA0" + +#: ../gtk/paper_names_offsets.c:70 +msgctxt "paper size" +msgid "SRA1" +msgstr "SRA1" + +#: ../gtk/paper_names_offsets.c:71 +msgctxt "paper size" +msgid "SRA2" +msgstr "SRA2" + +#: ../gtk/paper_names_offsets.c:72 +msgctxt "paper size" +msgid "JB0" +msgstr "JB0" + +#: ../gtk/paper_names_offsets.c:73 +msgctxt "paper size" +msgid "JB1" +msgstr "JB1" + +#: ../gtk/paper_names_offsets.c:74 +msgctxt "paper size" +msgid "JB10" +msgstr "JB10" + +#: ../gtk/paper_names_offsets.c:75 +msgctxt "paper size" +msgid "JB2" +msgstr "JB2" + +#: ../gtk/paper_names_offsets.c:76 +msgctxt "paper size" +msgid "JB3" +msgstr "JB3" + +#: ../gtk/paper_names_offsets.c:77 +msgctxt "paper size" +msgid "JB4" +msgstr "JB4" + +#: ../gtk/paper_names_offsets.c:78 +msgctxt "paper size" +msgid "JB5" +msgstr "JB5" + +#: ../gtk/paper_names_offsets.c:79 +msgctxt "paper size" +msgid "JB6" +msgstr "JB6" + +#: ../gtk/paper_names_offsets.c:80 +msgctxt "paper size" +msgid "JB7" +msgstr "JB7" + +#: ../gtk/paper_names_offsets.c:81 +msgctxt "paper size" +msgid "JB8" +msgstr "JB8" + +#: ../gtk/paper_names_offsets.c:82 +msgctxt "paper size" +msgid "JB9" +msgstr "JB9" + +#: ../gtk/paper_names_offsets.c:83 +msgctxt "paper size" +msgid "jis exec" +msgstr "jis exec" + +#: ../gtk/paper_names_offsets.c:84 +msgctxt "paper size" +msgid "Choukei 2 Envelope" +msgstr "Choukei 2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:85 +msgctxt "paper size" +msgid "Choukei 3 Envelope" +msgstr "Choukei 3 لىپاپ" + +#: ../gtk/paper_names_offsets.c:86 +msgctxt "paper size" +msgid "Choukei 4 Envelope" +msgstr "houkei 4 لىپاپ" + +#: ../gtk/paper_names_offsets.c:87 +msgctxt "paper size" +msgid "hagaki (postcard)" +msgstr "hagaki (پوچتا كارتىسى)" + +#: ../gtk/paper_names_offsets.c:88 +msgctxt "paper size" +msgid "kahu Envelope" +msgstr "kahu لىپاپ" + +#: ../gtk/paper_names_offsets.c:89 +msgctxt "paper size" +msgid "kaku2 Envelope" +msgstr "kaku2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:90 +msgctxt "paper size" +msgid "oufuku (reply postcard)" +msgstr "oufuku (جاۋاب پوچتا كارتىسى)" + +#: ../gtk/paper_names_offsets.c:91 +msgctxt "paper size" +msgid "you4 Envelope" +msgstr "you4 لىپاپ" + +#: ../gtk/paper_names_offsets.c:92 +msgctxt "paper size" +msgid "10x11" +msgstr "10x11" + +#: ../gtk/paper_names_offsets.c:93 +msgctxt "paper size" +msgid "10x13" +msgstr "10x13" + +#: ../gtk/paper_names_offsets.c:94 +msgctxt "paper size" +msgid "10x14" +msgstr "10x14" + +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 +msgctxt "paper size" +msgid "10x15" +msgstr "10x15" + +#: ../gtk/paper_names_offsets.c:97 +msgctxt "paper size" +msgid "11x12" +msgstr "11x12" + +#: ../gtk/paper_names_offsets.c:98 +msgctxt "paper size" +msgid "11x15" +msgstr "11x15" + +#: ../gtk/paper_names_offsets.c:99 +msgctxt "paper size" +msgid "12x19" +msgstr "12x19" + +#: ../gtk/paper_names_offsets.c:100 +msgctxt "paper size" +msgid "5x7" +msgstr "5x7" + +#: ../gtk/paper_names_offsets.c:101 +msgctxt "paper size" +msgid "6x9 Envelope" +msgstr "6x9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:102 +msgctxt "paper size" +msgid "7x9 Envelope" +msgstr "7x9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:103 +msgctxt "paper size" +msgid "9x11 Envelope" +msgstr "9x11 لىپاپ" + +#: ../gtk/paper_names_offsets.c:104 +msgctxt "paper size" +msgid "a2 Envelope" +msgstr "a2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:105 +msgctxt "paper size" +msgid "Arch A" +msgstr "ئەگمە A" + +#: ../gtk/paper_names_offsets.c:106 +msgctxt "paper size" +msgid "Arch B" +msgstr "ئەگمە B" + +#: ../gtk/paper_names_offsets.c:107 +msgctxt "paper size" +msgid "Arch C" +msgstr "ئەگمە C" + +#: ../gtk/paper_names_offsets.c:108 +msgctxt "paper size" +msgid "Arch D" +msgstr "ئەگمە D" + +#: ../gtk/paper_names_offsets.c:109 +msgctxt "paper size" +msgid "Arch E" +msgstr "ئەگمە E" + +#: ../gtk/paper_names_offsets.c:110 +msgctxt "paper size" +msgid "b-plus" +msgstr "b-plus" + +#: ../gtk/paper_names_offsets.c:111 +msgctxt "paper size" +msgid "c" +msgstr "c" + +#: ../gtk/paper_names_offsets.c:112 +msgctxt "paper size" +msgid "c5 Envelope" +msgstr "c5 لىپاپ" + +#: ../gtk/paper_names_offsets.c:113 +msgctxt "paper size" +msgid "d" +msgstr "d" + +#: ../gtk/paper_names_offsets.c:114 +msgctxt "paper size" +msgid "e" +msgstr "e" + +#: ../gtk/paper_names_offsets.c:115 +msgctxt "paper size" +msgid "edp" +msgstr "edp" + +#: ../gtk/paper_names_offsets.c:116 +msgctxt "paper size" +msgid "European edp" +msgstr "ياۋرۇپا edp" + +#: ../gtk/paper_names_offsets.c:117 +msgctxt "paper size" +msgid "Executive" +msgstr "مەمۇرىي" + +#: ../gtk/paper_names_offsets.c:118 +msgctxt "paper size" +msgid "f" +msgstr "f" + +#: ../gtk/paper_names_offsets.c:119 +msgctxt "paper size" +msgid "FanFold European" +msgstr "FanFold ياۋرۇپا" + +#: ../gtk/paper_names_offsets.c:120 +msgctxt "paper size" +msgid "FanFold US" +msgstr "FanFold ئا ق ش" + +#: ../gtk/paper_names_offsets.c:121 +msgctxt "paper size" +msgid "FanFold German Legal" +msgstr "FanFold گېرمانىيە قانۇنى" + +#: ../gtk/paper_names_offsets.c:122 +msgctxt "paper size" +msgid "Government Legal" +msgstr "ھۆكۈمەت قانۇنى" + +#: ../gtk/paper_names_offsets.c:123 +msgctxt "paper size" +msgid "Government Letter" +msgstr "ھۆكۈمەت خەت-چەك" + +#: ../gtk/paper_names_offsets.c:124 +msgctxt "paper size" +msgid "Index 3x5" +msgstr "Index 3x5" + +#: ../gtk/paper_names_offsets.c:125 +msgctxt "paper size" +msgid "Index 4x6 (postcard)" +msgstr "Index 4x6 (پوچتا كارتىسى)" + +#: ../gtk/paper_names_offsets.c:126 +msgctxt "paper size" +msgid "Index 4x6 ext" +msgstr "Index 4x6 ext" + +#: ../gtk/paper_names_offsets.c:127 +msgctxt "paper size" +msgid "Index 5x8" +msgstr "Index 5x8" + +#: ../gtk/paper_names_offsets.c:128 +msgctxt "paper size" +msgid "Invoice" +msgstr "Invoice" + +#: ../gtk/paper_names_offsets.c:129 +msgctxt "paper size" +msgid "Tabloid" +msgstr "تەرمىلەر" + +#: ../gtk/paper_names_offsets.c:130 +msgctxt "paper size" +msgid "US Legal" +msgstr "ئا ق ش قانۇن" + +#: ../gtk/paper_names_offsets.c:131 +msgctxt "paper size" +msgid "US Legal Extra" +msgstr "ئا ق ش قانۇنى زىيادە چوڭ" + +#: ../gtk/paper_names_offsets.c:132 +msgctxt "paper size" +msgid "US Letter" +msgstr "ئا ق ش لىپاپىسى" + +#: ../gtk/paper_names_offsets.c:133 +msgctxt "paper size" +msgid "US Letter Extra" +msgstr "ئا ق ش لىپاپىسى زىيادە چوڭ" + +#: ../gtk/paper_names_offsets.c:134 +msgctxt "paper size" +msgid "US Letter Plus" +msgstr "ئا ق ش لىپاپىسى چوڭ" + +#: ../gtk/paper_names_offsets.c:135 +msgctxt "paper size" +msgid "Monarch Envelope" +msgstr "Monarch لىپاپ" + +#: ../gtk/paper_names_offsets.c:136 +msgctxt "paper size" +msgid "#10 Envelope" +msgstr "#10 لىپاپ" + +#: ../gtk/paper_names_offsets.c:137 +msgctxt "paper size" +msgid "#11 Envelope" +msgstr "#11 لىپاپ" + +#: ../gtk/paper_names_offsets.c:138 +msgctxt "paper size" +msgid "#12 Envelope" +msgstr "#12 لىپاپ" + +#: ../gtk/paper_names_offsets.c:139 +msgctxt "paper size" +msgid "#14 Envelope" +msgstr "#14 لىپاپ" + +#: ../gtk/paper_names_offsets.c:140 +msgctxt "paper size" +msgid "#9 Envelope" +msgstr "#9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:141 +msgctxt "paper size" +msgid "Personal Envelope" +msgstr "شەخسىي لىپاپ" + +#: ../gtk/paper_names_offsets.c:142 +msgctxt "paper size" +msgid "Quarto" +msgstr "Quarto" + +#: ../gtk/paper_names_offsets.c:143 +msgctxt "paper size" +msgid "Super A" +msgstr "Super A" + +#: ../gtk/paper_names_offsets.c:144 +msgctxt "paper size" +msgid "Super B" +msgstr "Super B" + +#: ../gtk/paper_names_offsets.c:145 +msgctxt "paper size" +msgid "Wide Format" +msgstr "كەڭ فورمات" + +#: ../gtk/paper_names_offsets.c:146 +msgctxt "paper size" +msgid "Dai-pa-kai" +msgstr "Dai-pa-kai" + +#: ../gtk/paper_names_offsets.c:147 +msgctxt "paper size" +msgid "Folio" +msgstr "Folio" + +#: ../gtk/paper_names_offsets.c:148 +msgctxt "paper size" +msgid "Folio sp" +msgstr "Folio sp" + +#: ../gtk/paper_names_offsets.c:149 +msgctxt "paper size" +msgid "Invite Envelope" +msgstr "تەكلىپ لىپاپ" + +#: ../gtk/paper_names_offsets.c:150 +msgctxt "paper size" +msgid "Italian Envelope" +msgstr "ئىتالىيە لىپاپىسى" + +#: ../gtk/paper_names_offsets.c:151 +msgctxt "paper size" +msgid "juuro-ku-kai" +msgstr "juuro-ku-kai" + +#: ../gtk/paper_names_offsets.c:152 +msgctxt "paper size" +msgid "pa-kai" +msgstr "pa-kai" + +#: ../gtk/paper_names_offsets.c:153 +msgctxt "paper size" +msgid "Postfix Envelope" +msgstr "Postfix لىپاپ" + +#: ../gtk/paper_names_offsets.c:154 +msgctxt "paper size" +msgid "Small Photo" +msgstr "كىچىك سۈرەت" + +#: ../gtk/paper_names_offsets.c:155 +msgctxt "paper size" +msgid "prc1 Envelope" +msgstr "prc1 شەخسىي لىپاپ" + +#: ../gtk/paper_names_offsets.c:156 +msgctxt "paper size" +msgid "prc10 Envelope" +msgstr "ج خ ج 10 لىپاپ" + +#: ../gtk/paper_names_offsets.c:157 +msgctxt "paper size" +msgid "prc 16k" +msgstr "ج خ ج 16 كەسلەم" + +#: ../gtk/paper_names_offsets.c:158 +msgctxt "paper size" +msgid "prc2 Envelope" +msgstr "ج خ ج 2 لىپاپ" + +#: ../gtk/paper_names_offsets.c:159 +msgctxt "paper size" +msgid "prc3 Envelope" +msgstr "ج خ ج 3 لىپاپ" + +#: ../gtk/paper_names_offsets.c:160 +msgctxt "paper size" +msgid "prc 32k" +msgstr "ج خ ج 32 كەسلەم" + +#: ../gtk/paper_names_offsets.c:161 +msgctxt "paper size" +msgid "prc4 Envelope" +msgstr "ج خ ج 4 لىپاپ" + +#: ../gtk/paper_names_offsets.c:162 +msgctxt "paper size" +msgid "prc5 Envelope" +msgstr "ج خ ج 5 لىپاپ" + +#: ../gtk/paper_names_offsets.c:163 +msgctxt "paper size" +msgid "prc6 Envelope" +msgstr "ج خ ج 6 لىپاپ" + +#: ../gtk/paper_names_offsets.c:164 +msgctxt "paper size" +msgid "prc7 Envelope" +msgstr "ج خ ج 7 لىپاپ" + +#: ../gtk/paper_names_offsets.c:165 +msgctxt "paper size" +msgid "prc8 Envelope" +msgstr "ج خ ج 8 لىپاپ" + +#: ../gtk/paper_names_offsets.c:166 +msgctxt "paper size" +msgid "prc9 Envelope" +msgstr "ج خ ج 9 لىپاپ" + +#: ../gtk/paper_names_offsets.c:167 +msgctxt "paper size" +msgid "ROC 16k" +msgstr "ج م 16 كەسلەم" + +#: ../gtk/paper_names_offsets.c:168 +msgctxt "paper size" +msgid "ROC 8k" +msgstr "ج م 8 كەسلەم" + +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 +#, c-format +msgid "different idatas found for symlinked '%s' and '%s'\n" +msgstr "ھەرپ بەلگە ئۇلىنىش “%s”بىلەن“%s” ئىشلەتكەن idatas ئوخشىمايدۇ\n" + +#: ../gtk/updateiconcache.c:1374 +#, c-format +msgid "Failed to write header\n" +msgstr "بېشىغا يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1380 +#, c-format +msgid "Failed to write hash table\n" +msgstr "مۇكەممەللىك جەدۋىلىگە يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1386 +#, c-format +msgid "Failed to write folder index\n" +msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1394 +#, c-format +msgid "Failed to rewrite header\n" +msgstr "باشىغا قايتا يازالمىدى\n" + +#: ../gtk/updateiconcache.c:1463 +#, c-format +msgid "Failed to open file %s : %s\n" +msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" + +#: ../gtk/updateiconcache.c:1471 +#, c-format +msgid "Failed to write cache file: %s\n" +msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" + +#: ../gtk/updateiconcache.c:1507 +#, c-format +msgid "The generated cache was invalid.\n" +msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" + +#: ../gtk/updateiconcache.c:1521 +#, c-format +msgid "Could not rename %s to %s: %s, removing %s then.\n" +msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" + +#: ../gtk/updateiconcache.c:1535 +#, c-format +msgid "Could not rename %s to %s: %s\n" +msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" + +#: ../gtk/updateiconcache.c:1545 +#, c-format +msgid "Could not rename %s back to %s: %s.\n" +msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" + +#: ../gtk/updateiconcache.c:1572 +#, c-format +msgid "Cache file created successfully.\n" +msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" + +#: ../gtk/updateiconcache.c:1611 +msgid "Overwrite an existing cache, even if up to date" +msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" + +#: ../gtk/updateiconcache.c:1612 +msgid "Don't check for the existence of index.theme" +msgstr "مەۋجۇد index.theme نى تەكشۈرمە" + +#: ../gtk/updateiconcache.c:1613 +msgid "Don't include image data in the cache" +msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" + +#: ../gtk/updateiconcache.c:1614 +msgid "Output a C header file" +msgstr "C باش ھۆججەتنى چىقار" + +#: ../gtk/updateiconcache.c:1615 +msgid "Turn off verbose output" +msgstr "تەپسىلىي چىقىرىشنى ياپ" + +#: ../gtk/updateiconcache.c:1616 +msgid "Validate existing icon cache" +msgstr "مەۋجۇد سىنبەلگە غەملىكىنى دەلىللە" + +#: ../gtk/updateiconcache.c:1683 +#, c-format +msgid "File not found: %s\n" +msgstr "ھۆججەتنى تاپالمىدى: %s\n" + +#: ../gtk/updateiconcache.c:1689 +#, c-format +msgid "Not a valid icon cache: %s\n" +msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" + +#: ../gtk/updateiconcache.c:1702 +#, c-format +msgid "No theme index file.\n" +msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" + +#: ../gtk/updateiconcache.c:1706 +#, c-format +msgid "" +"No theme index file in '%s'.\n" +"If you really want to create an icon cache here, use --ignore-theme-index.\n" +msgstr "" +"“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" +"ئەگەر بۇ جايغا راستىنلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-" +"index ئىشلىتىڭ\n" + +#. ID +#: ../modules/input/imam-et.c:454 +msgid "Amharic (EZ+)" +msgstr "ئامخاراچە(EZ+)" + +#. ID +#: ../modules/input/imcedilla.c:92 +msgid "Cedilla" +msgstr "ئاۋاز ئۆزگەرتىش بەلگىسى" + +#. ID +#: ../modules/input/imcyrillic-translit.c:217 +msgid "Cyrillic (Transliterated)" +msgstr "سلاۋيانچە (ئاھاڭ تەرجىمىسى)" + +#. ID +#: ../modules/input/iminuktitut.c:127 +msgid "Inuktitut (Transliterated)" +msgstr "ئىنۇكتىتۇت (ئاھاڭ تەرجىمىسى)" + +#. ID +#: ../modules/input/imipa.c:145 +msgid "IPA" +msgstr "IPA " + +#. ID +#: ../modules/input/immultipress.c:31 +msgid "Multipress" +msgstr "ئېغىر بىسىم" + +#. ID +#: ../modules/input/imthai.c:35 +msgid "Thai-Lao" +msgstr "تايلاند-لائۇس" + +#. ID +#: ../modules/input/imti-er.c:453 +msgid "Tigrigna-Eritrean (EZ+)" +msgstr "تىگرىگنا-ئېرىترىيە(EZ+)" + +#. ID +#: ../modules/input/imti-et.c:453 +msgid "Tigrigna-Ethiopian (EZ+)" +msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)" + +#. ID +#: ../modules/input/imviqr.c:244 +msgid "Vietnamese (VIQR)" +msgstr "ۋيېتنامچە(VIQR)" + +#. ID +#: ../modules/input/imxim.c:28 +msgid "X Input Method" +msgstr "X كىرگۈزگۈچ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +msgid "Username:" +msgstr "ئىشلەتكۈچى ئاتى:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +msgid "Password:" +msgstr "ئىم:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#, c-format +msgid "Authentication is required to print document '%s' on printer %s" +msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#, c-format +msgid "Authentication is required to print a document on %s" +msgstr "%s دا پۈتۈكتىن بىرنى بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 +#, c-format +msgid "Authentication is required to get attributes of job '%s'" +msgstr "ۋەزىپە '%s' نىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +msgid "Authentication is required to get attributes of a job" +msgstr "بىر ۋەزىپىنىڭ خاسلىقىغا ئېرىشىش ئۈچۈن دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 +#, c-format +msgid "Authentication is required to get attributes of printer %s" +msgstr "%s پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 +msgid "Authentication is required to get attributes of a printer" +msgstr "بىر پرىنتېرنىڭ خاسلىقىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 +#, c-format +msgid "Authentication is required to get default printer of %s" +msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 +#, c-format +msgid "Authentication is required to get printers from %s" +msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#, c-format +msgid "Authentication is required on %s" +msgstr "%s دا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +msgid "Domain:" +msgstr "دائىرە:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#, c-format +msgid "Authentication is required to print document '%s'" +msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#, c-format +msgid "Authentication is required to print this document on printer %s" +msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +msgid "Authentication is required to print this document" +msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#, c-format +msgid "Printer '%s' is low on toner." +msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#, c-format +msgid "Printer '%s' has no toner left." +msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان." + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#, c-format +msgid "Printer '%s' is low on developer." +msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز" + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#, c-format +msgid "Printer '%s' is out of developer." +msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان." + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#, c-format +msgid "Printer '%s' is low on at least one marker supply." +msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز." + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#, c-format +msgid "Printer '%s' is out of at least one marker supply." +msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#, c-format +msgid "The cover is open on printer '%s'." +msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#, c-format +msgid "The door is open on printer '%s'." +msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#, c-format +msgid "Printer '%s' is low on paper." +msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#, c-format +msgid "Printer '%s' is out of paper." +msgstr "'%s' پرىنتېردا قەغەز كەم." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format +msgid "Printer '%s' is currently off-line." +msgstr "'%s' پرىنتېر نۆۋەتتە تورسىز." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#, c-format +msgid "There is a problem on printer '%s'." +msgstr "'%s' پرىنتېردا مەسىلە بار." + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +msgid "Paused ; Rejecting Jobs" +msgstr "ۋاقىتلىق توختىلدى؛ ۋەزىپىنى رەت قىلىدۇ" + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +msgid "Rejecting Jobs" +msgstr "ۋەزىپىنى رەت قىلىدۇ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +msgid "Two Sided" +msgstr "قوش يۈزلۈك" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +msgid "Paper Type" +msgstr "قەغەز تىپى" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +msgid "Paper Source" +msgstr "قەغەز مەنبەسى" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +msgid "Output Tray" +msgstr "قەغەز چىقارغۇچ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +msgid "Resolution" +msgstr "ئېنىقلىق" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +msgid "GhostScript pre-filtering" +msgstr "GhostScript ئالدىن سۈزگۈچ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +msgid "One Sided" +msgstr "تاق تەرەپلىك" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +msgid "Long Edge (Standard)" +msgstr "ئۇزۇن يان (ئۆلچەملىك)" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +msgid "Short Edge (Flip)" +msgstr "قىسقا يان (ئۆرۈ)" + +#. Translators: this is an option of "Paper Source" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +msgid "Auto Select" +msgstr "ئۆزلۈكىدىن تاللا" + +#. Translators: this is an option of "Paper Source" +#. Translators: this is an option of "Resolution" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 +msgid "Printer Default" +msgstr "ئالدىن تەڭشەلگەن پرىنتېر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +msgid "Embed GhostScript fonts only" +msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +msgid "Convert to PS level 1" +msgstr "PS دەرىجە 1 گە ئايلاندۇر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +msgid "Convert to PS level 2" +msgstr "PS دەرىجە 2 گە ئايلاندۇر" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +msgid "No pre-filtering" +msgstr "ئالدىن سۈزگۈچ يوق" + +#. Translators: "Miscellaneous" is the label for a button, that opens +#. up an extra panel of settings in a print dialog. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +msgid "Miscellaneous" +msgstr "باشقىلار" + +#. Translators: These strings name the possible values of the +#. * job priority option in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Urgent" +msgstr "جىددىي" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "High" +msgstr "يۇقىرى" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Medium" +msgstr "ئوتتۇرا" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +msgid "Low" +msgstr "تۆۋەن" + +#. Cups specific, non-ppd related settings +#. Translators, this string is used to label the pages-per-sheet option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 +msgid "Pages per Sheet" +msgstr "ھەر ۋاراق بەت سانى" + +#. Translators, this string is used to label the job priority option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 +msgid "Job Priority" +msgstr "ۋەزىپە ئالدىنلىق" + +#. Translators, this string is used to label the billing info entry +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 +msgid "Billing Info" +msgstr "ھەق ھېسابلاش ئۇچۇرى" + +#. Translators, these strings are names for various 'standard' cover +#. * pages that the printing system may support. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "None" +msgstr "يوق" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Classified" +msgstr "تۈرگە ئايرىلغان" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Confidential" +msgstr "مەخپىي" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Secret" +msgstr "سىر" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Standard" +msgstr "ئۆلچەملىك" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Top Secret" +msgstr "قەتئىي مەخپىي" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +msgid "Unclassified" +msgstr "بۆلۈنمىگەن" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 +msgid "Before" +msgstr "ئاۋۋال" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 +msgid "After" +msgstr "داۋامى" + +#. Translators: this is the name of the option that controls when +#. * a print job is printed. Possible values are 'now', a specified time, +#. * or 'on hold' +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 +msgid "Print at" +msgstr "باسىدۇ" + +#. Translators: this is the name of the option that allows the user +#. * to specify a time when a print job will be printed. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 +msgid "Print at time" +msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" + +#. Translators: this format is used to display a custom paper +#. * size. The two placeholders are replaced with the width and height +#. * in points. E.g: "Custom 230.4x142.9" +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 +#, c-format +msgid "Custom %sx%s" +msgstr "ئىختىيارى %sx%s" + +#. default filename used for print-to-file +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 +#, c-format +msgid "output.%s" +msgstr "چىقىش.%s" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +msgid "Print to File" +msgstr "ھۆججەتكە باس" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "PDF" +msgstr "PDF" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "Postscript" +msgstr "Postscript" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +msgid "SVG" +msgstr "SVG" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 +msgid "Pages per _sheet:" +msgstr "ھەر ۋاراق بەت سانى(_S):" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +msgid "File" +msgstr "ھۆججەت" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +msgid "_Output format" +msgstr "چىقىرىش فورماتى(_O)" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 +msgid "Print to LPR" +msgstr "LPR غا باس" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 +msgid "Pages Per Sheet" +msgstr "ھەر ۋاراقتىكى بەت سانى" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 +msgid "Command Line" +msgstr "بۇيرۇق قۇرى" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 +msgid "printer offline" +msgstr "پرىنتېر ئۈزۈك ھالەتتە" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 +msgid "ready to print" +msgstr "بېسىشقا تەييار" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 +msgid "processing job" +msgstr "ۋەزىپىنى بىر تەرپ قىلىۋاتىدۇ" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 +msgid "paused" +msgstr "ۋاقىتلىق توختىتىلدى" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 +msgid "unknown" +msgstr "نامەلۇم" + +#. default filename used for print-to-test +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 +#, c-format +msgid "test-output.%s" +msgstr "test-output.%s" + +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 +msgid "Print to Test Printer" +msgstr "سىناق پرىنتېردا باس" + +#: ../tests/testfilechooser.c:207 +#, c-format +msgid "Could not get information for file '%s': %s" +msgstr "'%s' ھۆججەتنىڭ ئۇچۇرىغا ئېرىشەلمىدى:%s" + +#: ../tests/testfilechooser.c:222 +#, c-format +msgid "Failed to open file '%s': %s" +msgstr "ھۆججەت «%s» نى ئاچالمىدى: %s" + +#: ../tests/testfilechooser.c:267 +#, c-format +msgid "" +"Failed to load image '%s': reason not known, probably a corrupt image file" +msgstr "" +"'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن " +"بولۇشى مۇمكىن" + +#~ msgid "Image file '%s' contains no data" +#~ msgstr "'%s' سۈرەت ھۆججەتتە ھىچقانداق سانلىق مەلۇمات يوق" + +#~ msgid "" +#~ "Failed to load animation '%s': reason not known, probably a corrupt " +#~ "animation file" +#~ msgstr "" +#~ "'%s' جانلاندۇرۇمنى يۈكلىيەلمىدى: سەۋەبى ئېنىق ئەمەس ياكى جانلاندۇرۇم " +#~ "ھۆججەت بۇزۇلۇپ كەتكەن بولۇشى مۇمكىن" + +#~ msgid "Unable to load image-loading module: %s: %s" +#~ msgstr "سۈرەت يۈكلەش بۆلىكىنى يۈكلىيەلمىدى: %s : %s" + +#~ msgid "" +#~ "Image-loading module %s does not export the proper interface; perhaps " +#~ "it's from a different GTK version?" +#~ msgstr "" +#~ "%s سۈرەت يۈكلەش بۆلىكى توغرا ئېغىزنى چىقىرالمىدى: ئۇ باشقا بىر GTK " +#~ "نەشرىگە تەۋەمۇ؟" + +#~ msgid "Image type '%s' is not supported" +#~ msgstr "بۇ '%s' خىلدىكى سۈرەت تىپىنى قوللىمايدۇ" + +#~ msgid "Couldn't recognize the image file format for file '%s'" +#~ msgstr "'%s' نىڭ سۈرەت فورماتىنى پەرقلەندۈرەلمىدى" + +#~ msgid "Unrecognized image file format" +#~ msgstr "پەرقلەندۈرگىلى بولمايدىغان سۈرەت ھۆججەت فورماتى" + +#~ msgid "Failed to load image '%s': %s" +#~ msgstr "'%s' سۈرەت يۈكلىيەلمىدى: %s" + +#~ msgid "Error writing to image file: %s" +#~ msgstr "سۈرەت ھۆججەت يېزىش خاتالىقى: %s" + +#~ msgid "" +#~ "This build of gdk-pixbuf does not support saving the image format: %s" +#~ msgstr "بۇ gdk-pixbuf ساقلايدىغان بۇ خىل ھۆججەت شەكلىنى قوللىمايدۇ :%s" + +#~ msgid "Insufficient memory to save image to callback" +#~ msgstr "بۇ سۈرەتنى ساقلاشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "Failed to open temporary file" +#~ msgstr "ۋاقىتلىق ھۆججەتنى ئاچالمىدى" + +#~ msgid "Failed to read from temporary file" +#~ msgstr "ۋاقىتلىق ھۆججەتتىن ئوقۇيالمىدى" + +#~ msgid "Failed to open '%s' for writing: %s" +#~ msgstr "'%s' نى ئېچىپ يازالمىدى: %s" + +#~ msgid "" +#~ "Failed to close '%s' while writing image, all data may not have been " +#~ "saved: %s" +#~ msgstr "" +#~ "سۈرەتكە يازغاندا '%s' نى ياپالمىدى، ھەممە سانلىق مەلۇمات ساقلانمىغان " +#~ "بولۇشى مۇمكىن: %s" + +#~ msgid "Insufficient memory to save image into a buffer" +#~ msgstr "بۇ سۈرەتنى يىغلەككە ساقلاشقا ئەسلەك يېتىشمەيدۇ" + +#~ msgid "Error writing to image stream" +#~ msgstr "سۈرەت ئاقمىسى ساقلاۋاتقاندا خاتالىق كۆرۈلدى" + +#~ msgid "" +#~ "Internal error: Image loader module '%s' failed to complete an operation, " +#~ "but didn't give a reason for the failure" +#~ msgstr "" +#~ "ئىچكى خاتالىق: سۈرەت يۈكلەش بۆلىكى '%s' مەلۇم مەشغۇلاتنى تاماملىيالمىدى، " +#~ "لېكىن ھېچقانداق خاتالىق سەۋەبى بېرىلمىدى" + +#~ msgid "Incremental loading of image type '%s' is not supported" +#~ msgstr "'%s' سۈرەت تىپى تەدرىجىي يۈكلەشنى قوللىمايدۇ" + +#~ msgid "Image header corrupt" +#~ msgstr "سۈرەت بېشى بۇزۇلغان" + +#~ msgid "Image format unknown" +#~ msgstr "نامەلۇم سۈرەت شەكلى" + +#~ msgid "Image pixel data corrupt" +#~ msgstr "سۈرەت پىكسېل سانلىق مەلۇماتى بۇزۇلغان" + +#~ msgid "failed to allocate image buffer of %u byte" +#~ msgid_plural "failed to allocate image buffer of %u bytes" +#~ msgstr[0] "%u بايتلىق سۈرەت يىغلەكنى تەقسىملىيەلمىدى" + +#~ msgid "Unexpected icon chunk in animation" +#~ msgstr "جانلاندۇرۇمدا ئېنىقلانمىغان بۆلەك بار" + +#~ msgid "Unsupported animation type" +#~ msgstr "قوللىمايدىغان جانلاندۇرۇم تىپى" + +#~ msgid "Invalid header in animation" +#~ msgstr "جانلاندۇرۇم بېشى ئىناۋەتسىز" + +#~ msgid "Not enough memory to load animation" +#~ msgstr "جانلاندۇرۇم يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Malformed chunk in animation" +#~ msgstr "جانلاندۇرۇمدىكى بۆلەكنىڭ شەكلى خاتا" + +#~ msgid "The ANI image format" +#~ msgstr "ANI سۈرەت فورماتى" + +#~ msgid "BMP image has bogus header data" +#~ msgstr "BMP سۈرەتتە يالغان سۈرەت بېشى سانلىق مەلۇماتى بار " + +#~ msgid "Not enough memory to load bitmap image" +#~ msgstr "بىتلىق تەسۋىر يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "BMP image has unsupported header size" +#~ msgstr "قوللىمايدىغان BMP سۈرەت بېشى چوڭ كىچىكلىكى " + +#~ msgid "Topdown BMP images cannot be compressed" +#~ msgstr "يۇقىرىدىن تۆۋەنگە يېزىلغان BMP سۈرەت شەكلىنى پرېسلىيالمايدۇ" + +#~ msgid "Premature end-of-file encountered" +#~ msgstr "ھۆججەت بۇرۇن ئاخىرلاشقان" + +#~ msgid "Couldn't allocate memory for saving BMP file" +#~ msgstr "BMP ھۆججەتنى ساقلاشقا ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Couldn't write to BMP file" +#~ msgstr "BMP ھۆججەتكە يازالمىدى" + +#~ msgid "The BMP image format" +#~ msgstr "BMP سۈرەت فورماتى" + +#~ msgid "Failure reading GIF: %s" +#~ msgstr "GIF ھۆججەتنى ئوقۇيالمىدى:%s" + +#~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" +#~ msgstr "" +#~ "GIF ھۆججەتتە بەزى سانلىق مەلۇماتلار كەم(ھۆججەت كېسىپ قىسقارتىلغان بولۇشى " +#~ "مۇمكىن)" + +#~ msgid "Internal error in the GIF loader (%s)" +#~ msgstr "GIF يۈكلىگۈچتە ئىچكى خاتالىق كۆرۈلدى(%s)" + +#~ msgid "Stack overflow" +#~ msgstr "تۇرادىن ھالقىدى" + +#~ msgid "GIF image loader cannot understand this image." +#~ msgstr "GIF ھۆججەت يۈكلەش بۆلىكى بۇ سۈرەتنى تەھلىل قىلالمىدى" + +#~ msgid "Bad code encountered" +#~ msgstr "خاتا كود كۆرۈلدى" + +#~ msgid "Circular table entry in GIF file" +#~ msgstr "GIF سۈرەتتىكى جەدۋەل تۈرى دەۋرىيلىكى" + +#~ msgid "Not enough memory to load GIF file" +#~ msgstr "GIF ھۆججەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Not enough memory to composite a frame in GIF file" +#~ msgstr "GIF ھۆججەتتىكى بىر كاندۇكنى ھاسىل قىلىشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "GIF image is corrupt (incorrect LZW compression)" +#~ msgstr "GIF سۈرەت بۇزۇلغان(ناتوغرا LZW پىرىس شەكلى)" + +#~ msgid "File does not appear to be a GIF file" +#~ msgstr "ھۆججەت GIF ھۆججەت ئەمەستەك تۇرىدۇ" + +#~ msgid "Version %s of the GIF file format is not supported" +#~ msgstr "قوللىمايدىغان %s نەشرىدىكى GIF سۈرەت ھۆججەت فورماتى" + +#~ msgid "" +#~ "GIF image has no global colormap, and a frame inside it has no local " +#~ "colormap." +#~ msgstr "" +#~ "GIF سۈرەتنىڭ ئومۇمىيەت رەڭ خەرىتىسى يوق، ئۇنىڭ ئىچىدىكى بىر بۆلەكنىڭمۇ " +#~ "رەڭ خەرىتىسى يوق" + +#~ msgid "GIF image was truncated or incomplete." +#~ msgstr "GIF سۈرەت كېسىپ قىسقارتىلغان ياكى كەمتۈك" + +#~ msgid "The GIF image format" +#~ msgstr "GIF سۈرەت فورماتى" + +#~ msgid "Invalid header in icon" +#~ msgstr "سىنبەلگە بېشى ئىناۋەتسىز" + +#~ msgid "Not enough memory to load icon" +#~ msgstr "سىنبەلگە يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Icon has zero width" +#~ msgstr "سىنبەلگە كەڭلىكى نۆل" + +#~ msgid "Icon has zero height" +#~ msgstr "سىنبەلگە ئېگىزلىكى نۆل" + +#~ msgid "Compressed icons are not supported" +#~ msgstr "پرېسلانغان سىنبەلگىنى قوللىمايدۇ" + +#~ msgid "Unsupported icon type" +#~ msgstr "قوللىمايدىغان رەسىم بەلگە تۈرى" + +#~ msgid "Not enough memory to load ICO file" +#~ msgstr "ICO ھۆججىتىنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Image too large to be saved as ICO" +#~ msgstr "سۈرەت بەك چوڭ، ICO شەكلىدە ساقلىغىلى بولمايدۇ." + +#~ msgid "Cursor hotspot outside image" +#~ msgstr "نۇر بەلگە ئورنى سۈرەت سىرتىدا" + +#~ msgid "Unsupported depth for ICO file: %d" +#~ msgstr "قوللىمايدىغان ICO ھۆججەت چوڭقۇرلۇقى: %d" + +#~ msgid "The ICO image format" +#~ msgstr "ICO سۈرەت فورماتى" + +#~ msgid "Error reading ICNS image: %s" +#~ msgstr "ICNS سۈرەت ھۆججەت ئوقۇغاندا خاتالىق كۆرۈلدى: %s" + +#~ msgid "Could not decode ICNS file" +#~ msgstr "ICNS ھۆججەت كودىنى يېشەلمىدى" + +#~ msgid "The ICNS image format" +#~ msgstr "ICNS سۈرەت فورماتى" + +#~ msgid "Couldn't allocate memory for stream" +#~ msgstr "ئېقىمغا ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Couldn't decode image" +#~ msgstr "سۈرەت كودىنى يېشەلمىدى" + +#~ msgid "Transformed JPEG2000 has zero width or height" +#~ msgstr "ئايلاندۇرۇلغان JPEG2000 نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" + +#~ msgid "Image type currently not supported" +#~ msgstr "نۆۋەتتە بۇ خىل سۈرەت فورماتىنى قوللىمايدۇ" + +#~ msgid "Couldn't allocate memory for color profile" +#~ msgstr "رەڭ سەپلىمىسىگە ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Insufficient memory to open JPEG 2000 file" +#~ msgstr "JPEG 2000 ھۆججەتنى ئېچىشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "Couldn't allocate memory to buffer image data" +#~ msgstr "يىغلەك سۈرەت سانلىق مەلۇماتىغا ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "The JPEG 2000 image format" +#~ msgstr "JPEG 2000 سۈرەت فورماتى" + +#~ msgid "Error interpreting JPEG image file (%s)" +#~ msgstr "JPEG سۈرەتنى تەھلىل قىلغاندا خاتالىق كۆرۈلدى (%s)" + +#~ msgid "" +#~ "Insufficient memory to load image, try exiting some applications to free " +#~ "memory" +#~ msgstr "" +#~ "سۈرەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ، بەزى قوللىنىشچان پروگراممىلارنى يېپىپ " +#~ "ئەسلەكنى بىكارلاپ سىناپ بېقىڭ" + +#~ msgid "Unsupported JPEG color space (%s)" +#~ msgstr "قوللىمايدىغان JPEG رەڭ بوشلۇقى (%s)" + +#~ msgid "Couldn't allocate memory for loading JPEG file" +#~ msgstr "JPEG ھۆججەتنى يۈكلەشكە ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Transformed JPEG has zero width or height." +#~ msgstr "ئۆزگەرتىلگەن JPEG نىڭ كەڭلىكى ياكى ئۇزۇنلۇقى نۆل" + +#~ msgid "" +#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " +#~ "parsed." +#~ msgstr "" +#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%s' قىممەتنى تەھلىل " +#~ "قىلالمىدى" + +#~ msgid "" +#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." +#~ msgstr "" +#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%d' قىممەتنى " +#~ "ئىشلىتىشكە يول قويۇلمايدۇ." + +#~ msgid "The JPEG image format" +#~ msgstr "JPEG سۈرەت فورماتى" + +#~ msgid "Couldn't allocate memory for header" +#~ msgstr "ھۆججەت بېشىغا ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Couldn't allocate memory for context buffer" +#~ msgstr "كونتېكست يىغلەككە ئەسلەك تەقسىملىيەلمىدى" + +#~ msgid "Image has invalid width and/or height" +#~ msgstr "سۈرەتنىڭ كەڭلىكى ۋە ياكى ئۇزۇنلۇقى ئىناۋەتسىز" + +#~ msgid "Image has unsupported bpp" +#~ msgstr "رەسىمدە قوللىمايدىغان bpp بار" + +#~ msgid "Image has unsupported number of %d-bit planes" +#~ msgstr "سۈرەتتە قوللىمايدىغان %d بىتلىق رەڭ تەخسىسى بار " + +#~ msgid "Couldn't create new pixbuf" +#~ msgstr "يىڭى پىكسېل يىغلەك قۇرالمايدۇ" + +#~ msgid "Couldn't allocate memory for line data" +#~ msgstr "سىزىقلىق سانلىق مەلۇماتقا ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Couldn't allocate memory for paletted data" +#~ msgstr "رەڭ تەڭشەش تاختىسى سانلىق مەلۇمات ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Didn't get all lines of PCX image" +#~ msgstr "PCX سۈرەتنىڭ بارلىق سىزىقلىق مەلۇماتلىرىغا ئېرىشەلمىدى" + +#~ msgid "No palette found at end of PCX data" +#~ msgstr "PCX سانلىق مەلۇماتىنىڭ ئاخىرىدا رەڭ تەڭشىگۈچ بايقالمىدى" + +#~ msgid "The PCX image format" +#~ msgstr "PCX سۈرەت فورماتى " + +#~ msgid "Bits per channel of PNG image is invalid." +#~ msgstr "PNG سۈرەتنىڭ ھەر بىر قانىلىنىڭ بىت سانى ئىناۋەتسىز ." + +#~ msgid "Transformed PNG has zero width or height." +#~ msgstr "ئۆزگىرىشچان PNG نىڭ كەڭلىكى ياكى ئېگىزلىكى نۆل." + +#~ msgid "Bits per channel of transformed PNG is not 8." +#~ msgstr "ئۆزگىرىشچان PNG نىڭ بىت سانى 8 ئەمەس" + +#~ msgid "Transformed PNG not RGB or RGBA." +#~ msgstr "ئۆزگىرىشچان PNG بولسا RGB ياكى RGBA ئەمەس." + +#~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." +#~ msgstr "" +#~ "ئۆزگىرىشچان PNG قوللىمايدىغان قانال سانىنى ئۆز ئىچىگە ئالغان. چوقۇم 3 " +#~ "ياكى 4 بولۇشى لازىم" + +#~ msgid "Fatal error in PNG image file: %s" +#~ msgstr "PNG سۈرەت ھۆججەتتە ئېغىر خاتالىق كۆرۈلدى: %s" + +#~ msgid "Insufficient memory to load PNG file" +#~ msgstr "PNG يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "" +#~ "Insufficient memory to store a %ld by %ld image; try exiting some " +#~ "applications to reduce memory usage" +#~ msgstr "" +#~ "چوڭلۇقى %ld x %ld بولغان سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق؛ باشقا " +#~ "قوللىنىشچان پروگراممىلارنى يېپىپ ئەسلەك ئىشلىتىش مىقدارىنى ئازايتىڭ." + +#~ msgid "Fatal error reading PNG image file" +#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى" + +#~ msgid "Fatal error reading PNG image file: %s" +#~ msgstr "PNG سۈرەتنى ئوقۇغاندا ئېغىر خاتالىق كۆرۈلدى: %s" + +#~ msgid "" +#~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." +#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى 1-79 غىچە بولۇشى كېرەك " + +#~ msgid "Keys for PNG text chunks must be ASCII characters." +#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى ASCII چوقۇم بۆلۇشى كېرەك" + +#~ msgid "Color profile has invalid length %d." +#~ msgstr "رەڭ سەپلىمە ھۆججىتىنىڭ ئۇزۇنلۇقى %d ئىناۋەتسىز." + +#~ msgid "" +#~ "PNG compression level must be a value between 0 and 9; value '%s' could " +#~ "not be parsed." +#~ msgstr "" +#~ "PNG پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بۆلۇشى كېرەك؛ ئانالىز قىلىنمايدىغان " +#~ "قىممەت %s ." + +#~ msgid "" +#~ "PNG compression level must be a value between 0 and 9; value '%d' is not " +#~ "allowed." +#~ msgstr "" +#~ "PNG نىڭ پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بولۇشى كېرەك . '%d' قىممەتنى " +#~ "ئىشلىتىشكە يول قويۇلمايدۇ." + +#~ msgid "" +#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." +#~ msgstr "PNG تېكىست رامكىسى %s نى ISO-8859-1 غا ئايلاندۇرۇشقا بولمايدۇ" + +#~ msgid "The PNG image format" +#~ msgstr "PNG سۈرەت فورماتى" + +#~ msgid "PNM loader expected to find an integer, but didn't" +#~ msgstr "PNM يۈكلەش بۆلەك پۈتۈن سان تاپالمىدى " + +#~ msgid "PNM file has an incorrect initial byte" +#~ msgstr "PNM ھۆججەتنىڭ باش بېتى خاتا" + +#~ msgid "PNM file is not in a recognized PNM subformat" +#~ msgstr "" +#~ "PNG ھۆججەت پەرقلەندۈرگىلى بولىدىغان PNM قوشۇمچە فورماتتا ساقلانمىغان" + +#~ msgid "PNM file has an image width of 0" +#~ msgstr "PNM ھۆججەتنىڭ سۈرەت كەڭلىكى 0" + +#~ msgid "PNM file has an image height of 0" +#~ msgstr "PNM ھۆججەتنىڭ سۈرەت ئېگىزلىكى 0 " + +#~ msgid "Maximum color value in PNM file is 0" +#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى 0" + +#~ msgid "Maximum color value in PNM file is too large" +#~ msgstr "PNM ھۆججەتتە ئىشلەتكىلى بولىدىغان ئەڭ كۆپ رەڭ سانى بەك چوڭ" + +#~ msgid "Raw PNM image type is invalid" +#~ msgstr "ئەسلىدىكى PNM سۈرەتنىڭ تىپى ئىناۋەتسىز" + +#~ msgid "PNM image loader does not support this PNM subformat" +#~ msgstr "PNM يۈكلەش پروگرامماسى بۇ خىل PNM تارماق فورماتنى قوللىمايدۇ" + +#~ msgid "Raw PNM formats require exactly one whitespace before sample data" +#~ msgstr "" +#~ "ئەسلىدىكى PNM فورماتى نۇسخىلاشتىن بۇرۇن بىر بوشلۇق ئورنىغا ئېھتىياجلىق" + +#~ msgid "Cannot allocate memory for loading PNM image" +#~ msgstr "ئەسلەك تەقسىملەپ PNM سۈرەتنى يۈكلىيەلمەيدۇ" + +#~ msgid "Insufficient memory to load PNM context struct" +#~ msgstr "PNM نىڭ تىل مۇھىت بۆلىكىنى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " + +#~ msgid "Unexpected end of PNM image data" +#~ msgstr "PNM سۈرەت سانلىق مەلۇماتى بالدۇر ئاخىرلاشقان" + +#~ msgid "Insufficient memory to load PNM file" +#~ msgstr "PNM نى يۈكلەشكە ئەسلەك يېتىشمەيدۇ " + +#~ msgid "The PNM/PBM/PGM/PPM image format family" +#~ msgstr "PNM/PBM/PGM/PPM سۈرەت ھۆججەت تۈرى" + +#~ msgid "Input file descriptor is NULL." +#~ msgstr "كىرگۈزگەن ھۆججەت چۈشەندۈرۈشى NULL." + +#~ msgid "Failed to read QTIF header" +#~ msgstr " QTIF باشىنى ئوقۇيالمىدى" + +#~ msgid "QTIF atom size too large (%d bytes)" +#~ msgstr "QTIF ئاتوم چوڭلۇقى بەك چوڭ (%d بايت)" + +#~ msgid "Failed to allocate %d bytes for file read buffer" +#~ msgstr "%d بايتلىق ھۆججەت ئوقۇش يىغلەكنى تەقسىملىيەلمىدى" + +#~ msgid "File error when reading QTIF atom: %s" +#~ msgstr " QTIF ئاتوم ئوقۇشتىكى ھۆججەت خاتالىقى: %s" + +#~ msgid "Failed to skip the next %d bytes with seek()." +#~ msgstr "كېيىنكى %d بايت seek() تىن ئاتلىيالمىدى." + +#~ msgid "Failed to allocate QTIF context structure." +#~ msgstr "QTIF تىل مۇھىت قۇرۇلمىسىنى تەقسىملىيەلمىدى." + +#~ msgid "Failed to create GdkPixbufLoader object." +#~ msgstr "GdkPixbufLoader ئوبيېكت قۇرالمىدى." + +#~ msgid "Failed to find an image data atom." +#~ msgstr "سۈرەت سانلىق مەلۇمات ئاتومىنى تاپالمىدى." + +#~ msgid "The QTIF image format" +#~ msgstr "QTIF سۈرەت فورماتى" + +#~ msgid "RAS image has bogus header data" +#~ msgstr "RAS سۈرەتتە يالغان باش سانلىق مەلۇماتى بار" + +#~ msgid "RAS image has unknown type" +#~ msgstr "RAS سۈرەتنىڭ تىپى نامەلۇم" + +#~ msgid "unsupported RAS image variation" +#~ msgstr "قوللىمايدىغان RAS سۈرەت شالغۇتى" + +#~ msgid "Not enough memory to load RAS image" +#~ msgstr "RAS سۈرەتنى يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "The Sun raster image format" +#~ msgstr "Sun ئوپتىك پەنجىرىلىك سۈرەت فورماتى" + +#~ msgid "Cannot allocate memory for IOBuffer struct" +#~ msgstr "IOBuffer ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate memory for IOBuffer data" +#~ msgstr "IOBuffer سانلىق مەلۇماتى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " + +#~ msgid "Cannot realloc IOBuffer data" +#~ msgstr "IOBuffer ئۈچۈن قايتىدىن ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate temporary IOBuffer data" +#~ msgstr "IOBuffer ئۈچۈن ۋاقىتلىق ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate new pixbuf" +#~ msgstr "يىڭى پېكسىللىق يىغلەكنى تەقسىملىيەلمەيدۇ" + +#~ msgid "Image is corrupted or truncated" +#~ msgstr "سۈرەت بۇزۇلغان ياكى كېسىلگەن" + +#~ msgid "Cannot allocate colormap structure" +#~ msgstr "رەڭ جەدۋەل قۇرۇلمىسىنى تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot allocate colormap entries" +#~ msgstr "رەڭ جەدۋەل تۈرىنى تەقسىملىيەلمەيدۇ" + +#~ msgid "Unexpected bitdepth for colormap entries" +#~ msgstr "ئېنىقسىز رەڭلىك جەدۋەل بىت چوڭقۇرلۇقى" + +#~ msgid "Cannot allocate TGA header memory" +#~ msgstr "TGA باش ئەسلەكنى تەقسىملىيەلمەيدۇ" + +#~ msgid "TGA image has invalid dimensions" +#~ msgstr "TGA سۈرەت ئۆلچىمى ئىناۋەتسىز" + +#~ msgid "TGA image type not supported" +#~ msgstr "TGA سۈرەت تىپىنى قوللىمايدۇ" + +#~ msgid "Cannot allocate memory for TGA context struct" +#~ msgstr "TGA نىڭ تىل مۇھىت تۈزۈلۈشى ئۈچۈن ئەسلەك تەقسىملىيەلمەيدۇ " + +#~ msgid "Excess data in file" +#~ msgstr "ھۆججەتتىكى سانلىق مەلۇمات نورمىدىن ھالقىپ كەتكەن" + +#~ msgid "The Targa image format" +#~ msgstr "Targa سۈرەت فورماتى" + +#~ msgid "Could not get image width (bad TIFF file)" +#~ msgstr "سۈرەت كەڭلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" + +#~ msgid "Could not get image height (bad TIFF file)" +#~ msgstr "سۈرەت ئېگىزلىكىگە ئېرىشەلمىدى (TIFF ھۆججەت بۇزۇلغان)" + +#~ msgid "Width or height of TIFF image is zero" +#~ msgstr "TIFF سۈرەتنىڭ كەڭلىك ياكى ئېگىزلىكى 0" + +#~ msgid "Dimensions of TIFF image too large" +#~ msgstr "TIFF سۈرەت ئۆلچىمى بەك چوڭ " + +#~ msgid "Insufficient memory to open TIFF file" +#~ msgstr "TIFFھۆججەتنى ئىچىشقا يېتەرلىك ئەسلەك يوق" + +#~ msgid "Failed to load RGB data from TIFF file" +#~ msgstr "TIFF ھۆججەتتىكى RGB سانلىق مەلۇماتلارنى يۈكلىيەلمىدى" + +#~ msgid "Failed to open TIFF image" +#~ msgstr "TIFF سۈرەتنى ئاچالمىدى" + +#~ msgid "TIFFClose operation failed" +#~ msgstr "TIFFClose مەشغۇلات مەغلۇپ بولدى" + +#~ msgid "Failed to load TIFF image" +#~ msgstr "TIFF سۈرەتنى يۈكلىيەلمىدى" + +#~ msgid "Failed to save TIFF image" +#~ msgstr "TIFF سۈرەتنى ساقلىيالمىدى" + +#~ msgid "TIFF compression doesn't refer to a valid codec." +#~ msgstr "TIFF پىرىسلاش ئىناۋەتلىك كودلاشتىن پايدىلىنالمىدى." + +#~ msgid "Failed to write TIFF data" +#~ msgstr "TIFF سانلىق مەلۇماتقا يازالمىدى" + +#~ msgid "Couldn't write to TIFF file" +#~ msgstr "TIFF ھۆججەتكە يازالمىدى" + +#~ msgid "The TIFF image format" +#~ msgstr "TIFF سۈرەت فورماتى" + +#~ msgid "Image has zero width" +#~ msgstr "سۈرەت كەڭلىكى 0" + +#~ msgid "Image has zero height" +#~ msgstr "سۈرەت ئېگىزلىكى 0" + +#~ msgid "Not enough memory to load image" +#~ msgstr "سۈرەت يۈكلەشكە يېتەرلىك ئەسلەك يوق" + +#~ msgid "Couldn't save the rest" +#~ msgstr "قالغان قىسمىنى ساقلايالمايدۇ" + +#~ msgid "The WBMP image format" +#~ msgstr "WBMP سۈرەت فورماتى" + +#~ msgid "Invalid XBM file" +#~ msgstr "XBMھۆججەت ئىناۋەتسىز" + +#~ msgid "Insufficient memory to load XBM image file" +#~ msgstr "XBM ھۆججەت يۈكلەشكە ئەسلەك يېتىشمەيدۇ" + +#~ msgid "Failed to write to temporary file when loading XBM image" +#~ msgstr "XBM سۈرەت يۈكلەۋاتقاندا ۋاقىتلىق ھۆججەتكە يازالمىدى" + +#~ msgid "The XBM image format" +#~ msgstr "XBM سۈرەت فورماتى" + +#~ msgid "No XPM header found" +#~ msgstr "XPM بېشى تېپىلمىدى" + +#~ msgid "Invalid XPM header" +#~ msgstr "XBM باش ئىناۋەتسىز" + +#~ msgid "XPM file has image width <= 0" +#~ msgstr "XPM ھۆججەت سۈرەت كەڭلىكى <= 0" + +#~ msgid "XPM file has image height <= 0" +#~ msgstr "XPM ھۆججەت سۈرەت ئېگىزلىكى <= 0" + +#~ msgid "XPM has invalid number of chars per pixel" +#~ msgstr "XPM ھەربىر پېكسىل ئىگىلىگەن بىت سانى ئىناۋەتسىز" + +#~ msgid "XPM file has invalid number of colors" +#~ msgstr "XPM ھۆججەت رەسىم رەڭ سانى توغرا ئەمەس" + +#~ msgid "Cannot allocate memory for loading XPM image" +#~ msgstr "XPM سۈرەت يۈكلەشكە ئەسلەك تەقسىملىيەلمەيدۇ" + +#~ msgid "Cannot read XPM colormap" +#~ msgstr "XPM رەڭ جەدۋەلنى ئوقۇيالمىدى" + +#~ msgid "Failed to write to temporary file when loading XPM image" +#~ msgstr "XPM يۈكلىگەندە ۋاقىتلىق ھۆججەتكە يازالمىدى" + +#~ msgid "The XPM image format" +#~ msgstr "XPM سۈرەت فورماتى" + +#~ msgid "The EMF image format" +#~ msgstr "EMF سۈرەت فورماتى" + +#~ msgid "Could not allocate memory: %s" +#~ msgstr "ئەسلەك تەقسىملىيەلمەيدۇ: %s" + +#~ msgid "Could not create stream: %s" +#~ msgstr "ئېقىم قۇرالمايدۇ: %s" + +#~ msgid "Could not seek stream: %s" +#~ msgstr "ئېقىمنى ئىزدىيەلمەيدۇ: %s" + +#~ msgid "Could not read from stream: %s" +#~ msgstr "ئېقىمدىن ئوقۇيالمايدۇ: %s" + +#~ msgid "Couldn't load bitmap" +#~ msgstr "سۈرەتنى يۈكلىيەلمىدى" + +#~ msgid "Couldn't load metafile" +#~ msgstr "مېتا ھۆججەتنى يۈكلىيەلمىدى" + +#~ msgid "Unsupported image format for GDI+" +#~ msgstr "GDI+ بۇ سۈرەت فورماتىنى تونۇمايدۇ" + +#~ msgid "Couldn't save" +#~ msgstr "ساقلىيالمىدى" + +#~ msgid "The WMF image format" +#~ msgstr "WMF سۈرەت فورماتى" + +#~ msgid "\"Deepness\" of the color." +#~ msgstr "رەڭ چوڭقۇرلۇقى." + +#~ msgid "Folders" +#~ msgstr "قىسقۇچ" + +#~ msgid "Fol_ders" +#~ msgstr "قىسقۇچ(_D)" + +#~ msgid "Folder unreadable: %s" +#~ msgstr "قىسقۇچنى ئوقۇغىلى بولمىدى: %s" + +#~ msgid "" +#~ "The file \"%s\" resides on another machine (called %s) and may not be " +#~ "available to this program.\n" +#~ "Are you sure that you want to select it?" +#~ msgstr "" +#~ "ھۆججەت \"%s\" باشقا بىر (%s ئاتلىق)مۇلازىمېتىردا، مەزكۇر پروگرامما " +#~ "زىيارەت قىلالماسلىقى مۇمكىن. \n" +#~ "ئۇنى راستىنلا تاللامسىز؟" + +#~ msgid "_New Folder" +#~ msgstr "يىڭى قىسقۇچ(_N)" + +#~ msgid "De_lete File" +#~ msgstr "ھۆججەت ئۆچۈر(_L)" + +#~ msgid "_Rename File" +#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" + +#~ msgid "" +#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" +#~ msgstr "" +#~ "\"%s\" قىسقۇچ ئاتىدا ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە " +#~ "بار" + +#~ msgid "New Folder" +#~ msgstr "يېڭى قىسقۇچ" + +#~ msgid "_Folder name:" +#~ msgstr "قىسقۇچ ئاتى(_F):" + +#~ msgid "C_reate" +#~ msgstr "قۇر(_R)" + +#~ msgid "" +#~ "The filename \"%s\" contains symbols that are not allowed in filenames" +#~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە بار" + +#~ msgid "Error deleting file '%s': %s" +#~ msgstr "'%s' ھۆججەتنى ئۆچۈرگەندە خاتالىق كۆرۈلدى:%s" + +#~ msgid "Really delete file \"%s\"?" +#~ msgstr "\"%s\" ھۆججەتنى راستلا ئۆچۈرەمسىز؟" + +#~ msgid "Delete File" +#~ msgstr "ھۆججەت ئۆچۈر" + +#~ msgid "Error renaming file to \"%s\": %s" +#~ msgstr "ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" + +#~ msgid "Error renaming file \"%s\": %s" +#~ msgstr "ھۆججەت \"%s\" ئاتىنى ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s " + +#~ msgid "Error renaming file \"%s\" to \"%s\": %s" +#~ msgstr "\"%s\" ھۆججەت ئاتىنى \"%s\" غا ئۆزگەرتكەندە خاتالىق كۆرۈلدى: %s" + +#~ msgid "Rename File" +#~ msgstr "ھۆججەت ئاتىنى ئۆزگەرت" + +#~ msgid "Rename file \"%s\" to:" +#~ msgstr "\"%s\" ھۆججەت ئاتىنى ئۆزگەرت:" + +#~ msgid "_Rename" +#~ msgstr "ئات ئۆزگەرت(_R)" + +#~ msgid "_Selection: " +#~ msgstr "تاللاش(_S): " + +#~ msgid "" +#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " +#~ "environment variable G_FILENAME_ENCODING): %s" +#~ msgstr "" +#~ "\"%s\" ھۆججەت ئاتىنى UTF-8 گە ئۆزگەرتەلمىدى.(G_FILENAME_ENCODING مۇھىت " +#~ "ئۆزگەرگۈچى مىقدار تەڭشەشنى سىناڭ): %s" + +#~ msgid "Invalid UTF-8" +#~ msgstr "ئىناۋەتسىز UTF-8" + +#~ msgid "Name too long" +#~ msgstr "ئات بەك ئۇزۇن" + +#~ msgid "Couldn't convert filename" +#~ msgstr "ئاتنى ئالماشتۇرالمىدى" + +#~ msgid "Gamma" +#~ msgstr "گامما" + +#~ msgid "_Gamma value" +#~ msgstr "گامما قىممەت(_G)" + +#~ msgid "Input" +#~ msgstr "كىرگۈز" + +#~ msgid "No extended input devices" +#~ msgstr "كېڭەيتىلگەن كىرگۈزگۈچ يوق" + +#~ msgid "_Device:" +#~ msgstr "ئۈسكۈنە(_D):" + +#~ msgid "Disabled" +#~ msgstr "چەكلەنگەن" + +#~ msgid "Screen" +#~ msgstr "ئېكران" + +#~ msgid "Window" +#~ msgstr "كۆزنەك" + +#~ msgid "_Mode:" +#~ msgstr "ھالەت(_M):" + +#~ msgid "Axes" +#~ msgstr "ئوق" + +#~ msgid "Keys" +#~ msgstr "كۇنۇپكا" + +#~ msgid "_X:" +#~ msgstr "_X:" + +#~ msgid "_Y:" +#~ msgstr "_Y:" + +#~ msgid "_Pressure:" +#~ msgstr "كۈچى(_P):" + +#~ msgid "X _tilt:" +#~ msgstr "X قىيپاش(_T):" + +#~ msgid "Y t_ilt:" +#~ msgstr "Y قىيپاش(_I):" + +#~ msgid "_Wheel:" +#~ msgstr "چەمبىرەك(_W):" + +#~ msgid "none" +#~ msgstr "يوق" + +#~ msgid "(disabled)" +#~ msgstr "(چەكلەنگەن)" + +#~ msgid "(unknown)" +#~ msgstr "(نامەلۇم)" + +#~ msgid "Cl_ear" +#~ msgstr "تازىلا(_E)" + +#~ msgid "Error printing" +#~ msgstr "بېسىشتا خاتالىق كۆرۈلدى" + +#~ msgid "--- No Tip ---" +#~ msgstr "--- ئەسكەرتىش يوق---" + +#~ msgid "Printer '%s' may not be connected." +#~ msgstr "'%s' پرىنتېرغا ئۇلىنالماسلىقى مۇمكىن." From fc122305d085d3f9b33e15a4d3383bf6c06c02ad Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 13:29:23 +0100 Subject: [PATCH 0965/1463] Protect inclusion of unistd.h --- gtk/gtkapplication.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index 59c081bea1..90d4adfca8 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -22,7 +22,9 @@ #include "config.h" #include +#ifdef HAVE_UNISTD_H #include +#endif #include #include "gtkapplication.h" From 1d838f586c574af7f05c618a337f8d34a58d9125 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 11:51:25 +0100 Subject: [PATCH 0966/1463] win32: gdk3 resurrection There are sure regressions but basic stuff seems to be working again after all the API breakage done with comments like "Win32 and Quartz need to be ported still." --- gdk/gdk.symbols | 9 +- gdk/gdkdisplaymanager.c | 8 + gdk/makefile.msc | 76 ++- gdk/win32/gdkcursor-win32.c | 115 ++-- gdk/win32/gdkdevice-win32.c | 28 +- gdk/win32/gdkdevice-wintab.c | 2 +- gdk/win32/gdkdevicemanager-win32.c | 13 +- gdk/win32/gdkdevicemanager-win32.h | 2 +- gdk/win32/gdkdisplay-win32.c | 212 +++++- gdk/win32/gdkdnd-win32.c | 143 ++-- gdk/win32/gdkdrawable-win32.c | 222 ------ gdk/win32/gdkdrawable-win32.h | 73 -- gdk/win32/gdkevents-win32.c | 188 ++---- gdk/win32/gdkgeometry-win32.c | 138 +--- gdk/win32/gdkim-win32.c | 44 -- gdk/win32/gdkinput.c | 11 +- gdk/win32/gdkkeys-win32.c | 88 ++- gdk/win32/gdkmain-win32.c | 72 +- gdk/win32/gdkprivate-win32.h | 157 ++++- gdk/win32/gdkproperty-win32.c | 28 +- gdk/win32/gdkscreen-win32.c | 147 +++- gdk/win32/gdkselection-win32.c | 65 +- gdk/win32/gdkspawn-win32.c | 106 --- gdk/win32/gdktestutils-win32.c | 9 +- gdk/win32/gdkvisual-win32.c | 79 +-- gdk/win32/gdkwin32.h | 27 +- gdk/win32/gdkwin32cursor.h | 56 ++ gdk/win32/gdkwin32display.h | 56 ++ gdk/win32/gdkwin32displaymanager.h | 49 ++ gdk/win32/gdkwin32dnd.h | 49 ++ gdk/win32/gdkwin32keys.h | 49 ++ gdk/win32/gdkwin32screen.h | 56 ++ gdk/win32/gdkwin32window.h | 56 ++ gdk/win32/gdkwindow-win32.c | 1002 +++++++++++++++------------- gdk/win32/gdkwindow-win32.h | 40 +- gdk/win32/makefile.msc | 15 +- 36 files changed, 1876 insertions(+), 1614 deletions(-) delete mode 100644 gdk/win32/gdkdrawable-win32.c delete mode 100644 gdk/win32/gdkdrawable-win32.h delete mode 100644 gdk/win32/gdkim-win32.c delete mode 100644 gdk/win32/gdkspawn-win32.c create mode 100644 gdk/win32/gdkwin32cursor.h create mode 100644 gdk/win32/gdkwin32display.h create mode 100644 gdk/win32/gdkwin32displaymanager.h create mode 100644 gdk/win32/gdkwin32dnd.h create mode 100644 gdk/win32/gdkwin32keys.h create mode 100644 gdk/win32/gdkwin32screen.h create mode 100644 gdk/win32/gdkwin32window.h diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index e9b45f9307..1f63b45cb3 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -350,13 +350,16 @@ gdk_visual_get_type G_GNUC_CONST gdk_visual_get_visual_type gdk_visual_type_get_type G_GNUC_CONST #ifdef GDK_WINDOWING_WIN32 -gdk_win32_drawable_get_handle gdk_win32_handle_table_lookup gdk_win32_icon_to_pixbuf_libgtk_only gdk_win32_pixbuf_to_hicon_libgtk_only gdk_win32_selection_add_targets gdk_win32_set_modal_dialog_libgtk_only gdk_win32_window_is_win32 +gdk_win32_window_get_handle +gdk_win32_display_get_type +gdk_win32_window_foreign_new_for_display +gdk_win32_window_lookup_for_display #endif gdk_window_add_filter gdk_window_at_pointer @@ -429,7 +432,9 @@ gdk_window_hide gdk_window_hints_get_type G_GNUC_CONST gdk_window_iconify gdk_window_impl_get_type G_GNUC_CONST +#ifdef GDK_WINDOWING_X11 gdk_window_impl_x11_get_type G_GNUC_CONST +#endif gdk_window_input_shape_combine_region gdk_window_invalidate_maybe_recurse gdk_window_invalidate_rect @@ -508,6 +513,7 @@ gdk_window_unstick gdk_window_withdraw gdk_wm_decoration_get_type G_GNUC_CONST gdk_wm_function_get_type G_GNUC_CONST +#ifdef GDK_WINDOWING_X11 gdk_x11_app_launch_context_get_type gdk_x11_atom_to_xatom gdk_x11_atom_to_xatom_for_display @@ -570,3 +576,4 @@ gdk_x11_window_move_to_current_desktop gdk_x11_window_set_user_time gdk_x11_xatom_to_atom gdk_x11_xatom_to_atom_for_display +#endif diff --git a/gdk/gdkdisplaymanager.c b/gdk/gdkdisplaymanager.c index c9c5d3c470..79ed85aebd 100644 --- a/gdk/gdkdisplaymanager.c +++ b/gdk/gdkdisplaymanager.c @@ -44,6 +44,9 @@ #include "quartz/gdkquartzdisplaymanager.h" #endif +#ifdef GDK_WINDOWING_WIN32 +#include "win32/gdkwin32.h" +#endif /** * SECTION:gdkdisplaymanager @@ -194,6 +197,11 @@ gdk_display_manager_get (void) if (backend == NULL || strcmp (backend, "quartz") == 0) manager = g_object_new (gdk_quartz_display_manager_get_type (), NULL); else +#endif +#ifdef GDK_WINDOWING_WIN32 + if (backend == NULL || strcmp (backend, "win32") == 0) + manager = g_object_new (gdk_win32_display_manager_get_type (), NULL); + else #endif if (backend != NULL) g_error ("Unsupported GDK backend: %s", backend); diff --git a/gdk/makefile.msc b/gdk/makefile.msc index 49c5978610..0d88d1e417 100644 --- a/gdk/makefile.msc +++ b/gdk/makefile.msc @@ -19,8 +19,7 @@ WTKIT = $(TOP)\wtkit126 # Nothing much configurable below # overwrite version? -GTK_VER=2.0 -GDK_PIXBUF_VER=$(GTK_VER) +GTK_VER=3.0 !IFNDEF PERL PERL = perl @@ -28,20 +27,19 @@ PERL = perl INCLUDES = -FImsvc_recommended_pragmas.h \ -I . -I .. \ - $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) -I ../gdk-pixbuf \ + $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) $(GDK_PIXBUF_CFLAGS) \ DEFINES = \ - -DHAVE_CONFIG_H -DGDK_ENABLE_BROKEN \ + -DHAVE_CONFIG_H \ -DGDK_VERSION=\"$(GTK_VER)\" \ -DG_LOG_DOMAIN=\"Gdk\" \ -DGDK_COMPILATION -DG_LOG_DOMAIN=\"Gdk\" EXTRALIBS = \ $(WTKIT)\lib\i386\wntab32x.lib \ - $(GLIB_LIBS) \ - ..\gdk-pixbuf\gdk_pixbuf-$(GDK_PIXBUF_VER).lib \ - $(PANGOWIN32_LIBS) $(PANGOCAIRO_LIBS) $(INTL_LIBS) $(CAIRO_LIBS) \ - $(PANGOCAIRO_LIBS) + $(GLIB_LIBS) $(GDK_PIXBUF_LIBS) \ + $(CAIRO_LIBS) $(CAIRO_GOBJECT_LIBS) \ + $(PANGOWIN32_LIBS) $(PANGOCAIRO_LIBS) $(INTL_LIBS) gdk-win32-backend : cd win32 @@ -57,8 +55,8 @@ all: \ gdkmarshalers.c \ gdk-win32-backend \ libgdk-win32-$(GTK_VER)-0.dll \ - testgdk.exe \ - gdk-win32-$(GTK_VER)s.lib \ +# testgdk.exe \ +# gdk-win32-$(GTK_VER)s.lib \ # gdk-x11-$(GTK_VER).dll \ gdk_OBJECTS = \ @@ -67,15 +65,14 @@ gdk_OBJECTS = \ gdkcairo.obj \ gdkcolor.obj \ gdkcursor.obj \ + gdkdevice.obj \ + gdkdevicemanager.obj \ gdkdisplay.obj \ gdkdisplaymanager.obj \ gdkdnd.obj \ - gdkdraw.obj \ gdkenumtypes.obj \ gdkevents.obj \ - gdkgc.obj \ gdkglobals.obj \ - gdkwindowimpl.obj \ gdkkeynames.obj \ gdkkeys.obj \ gdkkeyuni.obj \ @@ -83,31 +80,43 @@ gdk_OBJECTS = \ gdkoffscreenwindow.obj \ gdkpango.obj \ gdkpixbuf-drawable.obj \ - gdkpixbuf-render.obj \ gdkrectangle.obj \ + gdkrgba.obj \ gdkscreen.obj \ gdkselection.obj \ gdkvisual.obj \ - gdkwindow.obj + gdkwindow.obj \ + gdkwindowimpl.obj \ -gdk_public_h_sources = \ - gdk.h \ - gdkcolor.h \ - gdkcursor.h \ - gdkdnd.h \ - gdkdrawable.h \ - gdkevents.h \ - gdkgc.h \ - gdkkeysyms.h \ - gdkinput.h \ - gdkkeys.h \ - gdkpango.h \ - gdkpixbuf.h \ - gdkproperty.h \ - gdkselection.h \ - gdktypes.h \ - gdkvisual.h \ - gdkwindow.h \ +gdk_public_h_sources = \ + gdk.h \ + gdkapplaunchcontext.h \ + gdkcairo.h \ + gdkcolor.h \ + gdkcursor.h \ + gdkdevice.h \ + gdkdevicemanager.h \ + gdkdisplay.h \ + gdkdisplaymanager.h \ + gdkdnd.h \ + gdkevents.h \ + gdkkeys.h \ + gdkkeysyms.h \ + gdkkeysyms-compat.h \ + gdkmain.h \ + gdkpango.h \ + gdkpixbuf.h \ + gdkprivate.h \ + gdkproperty.h \ + gdkrectangle.h \ + gdkrgba.h \ + gdkscreen.h \ + gdkselection.h \ + gdktestutils.h \ + gdkthreads.h \ + gdktypes.h \ + gdkvisual.h \ + gdkwindow.h # private marshalers gdkmarshalers.h : gdkmarshalers.list @@ -136,6 +145,7 @@ gdk.def: gdk.symbols -DG_GNUC_CONST= \ gdk.symbols >> gdk.def +# /force /verbose:lib libgdk-win32-$(GTK_VER)-0.dll : $(gdk_OBJECTS) gdk.def win32\gdk-win32.lib $(CC) $(CFLAGS) -LD -Fe$@ $(gdk_OBJECTS) win32\gdk-win32.lib $(EXTRALIBS) \ gdi32.lib user32.lib imm32.lib shell32.lib ole32.lib uuid.lib win32\gdk.res \ diff --git a/gdk/win32/gdkcursor-win32.c b/gdk/win32/gdkcursor-win32.c index 631c1d26f8..313b0d8a4f 100644 --- a/gdk/win32/gdkcursor-win32.c +++ b/gdk/win32/gdkcursor-win32.c @@ -24,6 +24,7 @@ #include "gdkscreen.h" #include "gdkcursor.h" #include "gdkprivate-win32.h" +#include "gdkwin32cursor.h" #ifdef __MINGW32__ #include @@ -135,25 +136,47 @@ hcursor_from_type (GdkCursorType cursor_type) return rv; } +struct _GdkWin32CursorClass +{ + GdkCursorClass cursor_class; +}; + +G_DEFINE_TYPE (GdkWin32Cursor, gdk_win32_cursor, GDK_TYPE_CURSOR) + +static void +_gdk_win32_cursor_finalize (GObject *object) +{ + GdkWin32Cursor *private = GDK_WIN32_CURSOR (object); + + if (GetCursor () == private->hcursor) + SetCursor (NULL); + + if (!DestroyCursor (private->hcursor)) + WIN32_API_FAILED ("DestroyCursor"); + + G_OBJECT_CLASS (gdk_win32_cursor_parent_class)->finalize (object); +} + static GdkCursor* cursor_new_from_hcursor (HCURSOR hcursor, GdkCursorType cursor_type) { - GdkCursorPrivate *private; + GdkWin32Cursor *private; GdkCursor *cursor; - private = g_new (GdkCursorPrivate, 1); + private = g_object_new (GDK_TYPE_WIN32_CURSOR, + "cursor-type", cursor_type, + "display", _gdk_display, + NULL); private->hcursor = hcursor; cursor = (GdkCursor*) private; - cursor->type = cursor_type; - cursor->ref_count = 1; return cursor; } GdkCursor* -gdk_cursor_new_for_display (GdkDisplay *display, - GdkCursorType cursor_type) +_gdk_win32_display_get_cursor_for_type (GdkDisplay *display, + GdkCursorType cursor_type) { HCURSOR hcursor; @@ -206,8 +229,8 @@ static struct { }; GdkCursor* -gdk_cursor_new_from_name (GdkDisplay *display, - const gchar *name) +_gdk_win32_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name) { HCURSOR hcursor = NULL; int i; @@ -229,26 +252,6 @@ gdk_cursor_new_from_name (GdkDisplay *display, return NULL; } -void -_gdk_cursor_destroy (GdkCursor *cursor) -{ - GdkCursorPrivate *private; - - g_return_if_fail (cursor != NULL); - private = (GdkCursorPrivate *) cursor; - - GDK_NOTE (CURSOR, g_print ("_gdk_cursor_destroy: %p\n", - (cursor->type == GDK_CURSOR_IS_PIXMAP) ? private->hcursor : 0)); - - if (GetCursor () == private->hcursor) - SetCursor (NULL); - - if (!DestroyCursor (private->hcursor)) - WIN32_API_FAILED ("DestroyCursor"); - - g_free (private); -} - GdkPixbuf * gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon) { @@ -425,19 +428,19 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon) return pixbuf; } -GdkPixbuf* -gdk_cursor_get_image (GdkCursor *cursor) +static GdkPixbuf * +_gdk_win32_cursor_get_image (GdkCursor *cursor) { g_return_val_if_fail (cursor != NULL, NULL); - return gdk_win32_icon_to_pixbuf_libgtk_only (((GdkCursorPrivate *) cursor)->hcursor); + return gdk_win32_icon_to_pixbuf_libgtk_only (((GdkWin32Cursor *) cursor)->hcursor); } GdkCursor * -gdk_cursor_new_from_pixbuf (GdkDisplay *display, - GdkPixbuf *pixbuf, - gint x, - gint y) +_gdk_win32_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y) { HCURSOR hcursor; @@ -452,8 +455,8 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, return cursor_new_from_hcursor (hcursor, GDK_CURSOR_IS_PIXMAP); } -gboolean -gdk_display_supports_cursor_alpha (GdkDisplay *display) +gboolean +_gdk_win32_display_supports_cursor_alpha (GdkDisplay *display) { g_return_val_if_fail (display == _gdk_display, FALSE); @@ -461,25 +464,30 @@ gdk_display_supports_cursor_alpha (GdkDisplay *display) } gboolean -gdk_display_supports_cursor_color (GdkDisplay *display) +_gdk_win32_display_supports_cursor_color (GdkDisplay *display) { g_return_val_if_fail (display == _gdk_display, FALSE); return TRUE; } -guint -gdk_display_get_default_cursor_size (GdkDisplay *display) +void +_gdk_win32_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { - g_return_val_if_fail (display == _gdk_display, 0); - - return MIN (GetSystemMetrics (SM_CXCURSOR), GetSystemMetrics (SM_CYCURSOR)); + g_return_if_fail (display == _gdk_display); + + if (width) + *width = GetSystemMetrics (SM_CXCURSOR); + if (height) + *height = GetSystemMetrics (SM_CYCURSOR); } void -gdk_display_get_maximal_cursor_size (GdkDisplay *display, - guint *width, - guint *height) +_gdk_win32_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { g_return_if_fail (display == _gdk_display); @@ -812,3 +820,18 @@ gdk_win32_pixbuf_to_hicon_libgtk_only (GdkPixbuf *pixbuf) { return _gdk_win32_pixbuf_to_hicon (pixbuf); } + +static void +gdk_win32_cursor_init (GdkWin32Cursor *cursor) +{ +} +static void +gdk_win32_cursor_class_init(GdkWin32CursorClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkCursorClass *cursor_class = GDK_CURSOR_CLASS (klass); + + object_class->finalize = _gdk_win32_cursor_finalize; + + cursor_class->get_image = _gdk_win32_cursor_get_image; +} diff --git a/gdk/win32/gdkdevice-win32.c b/gdk/win32/gdkdevice-win32.c index 54f1f0b6c8..c0a1bb3ddd 100644 --- a/gdk/win32/gdkdevice-win32.c +++ b/gdk/win32/gdkdevice-win32.c @@ -24,6 +24,7 @@ #include #include +#include "gdkdisplayprivate.h" #include "gdkdevice-win32.h" #include "gdkwin32.h" @@ -134,14 +135,14 @@ gdk_device_win32_set_window_cursor (GdkDevice *device, GdkWindow *window, GdkCursor *cursor) { - GdkCursorPrivate *cursor_private; - GdkWindowObject *parent_window; + GdkWin32Cursor *cursor_private; + GdkWindow *parent_window; GdkWindowImplWin32 *impl; HCURSOR hcursor; HCURSOR hprevcursor; - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); - cursor_private = (GdkCursorPrivate*) cursor; + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); + cursor_private = (GdkWin32Cursor*) cursor; hprevcursor = impl->hcursor; @@ -164,13 +165,11 @@ gdk_device_win32_set_window_cursor (GdkDevice *device, * first ancestor that has cursor defined, and if so, set * new cursor. */ - GdkWindowObject *curr_window_obj = GDK_WINDOW_OBJECT (curr_window); - - while (curr_window_obj && - !GDK_WINDOW_IMPL_WIN32 (curr_window_obj->impl)->hcursor) + while (curr_window && curr_window->impl && + !GDK_WINDOW_IMPL_WIN32 (curr_window->impl)->hcursor) { - curr_window_obj = curr_window_obj->parent; - if (curr_window_obj == GDK_WINDOW_OBJECT (window)) + curr_window = curr_window->parent; + if (curr_window == GDK_WINDOW (window)) { SetCursor (hcursor); break; @@ -188,7 +187,7 @@ gdk_device_win32_set_window_cursor (GdkDevice *device, { /* Look for a suitable cursor to use instead */ hcursor = NULL; - parent_window = GDK_WINDOW_OBJECT (window)->parent; + parent_window = GDK_WINDOW (window)->parent; while (hcursor == NULL) { @@ -329,12 +328,19 @@ static void gdk_device_win32_ungrab (GdkDevice *device, guint32 time_) { + GdkDeviceGrabInfo *info; GdkDisplay *display; display = gdk_device_get_display (device); + info = _gdk_display_get_last_device_grab (display, device); + + if (info) + info->serial_end = 0; if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD) ReleaseCapture (); + + _gdk_display_device_grab_update (display, device, NULL, 0); } static GdkWindow * diff --git a/gdk/win32/gdkdevice-wintab.c b/gdk/win32/gdkdevice-wintab.c index 9d5ed79ef6..351105fe0c 100644 --- a/gdk/win32/gdkdevice-wintab.c +++ b/gdk/win32/gdkdevice-wintab.c @@ -372,7 +372,7 @@ _gdk_input_check_extension_events (GdkDevice *device) for (l = input_windows; l; l = l->next) { - GdkWindowObject *window_private; + GdkWindow *window_private; GdkEventMask event_mask = 0; window_private = l->data; diff --git a/gdk/win32/gdkdevicemanager-win32.c b/gdk/win32/gdkdevicemanager-win32.c index 6a7b6e71d8..1af90395f6 100644 --- a/gdk/win32/gdkdevicemanager-win32.c +++ b/gdk/win32/gdkdevicemanager-win32.c @@ -29,6 +29,8 @@ #include "gdkdeviceprivate.h" #include "gdkdevice-win32.h" #include "gdkdevice-wintab.h" +#include "gdkwin32.h" +#include "gdkdisplayprivate.h" #include #include @@ -860,7 +862,6 @@ _gdk_input_other_event (GdkEvent *event, GdkWindow *window) { GdkDisplay *display; - GdkWindowObject *obj; GdkDeviceWintab *device = NULL; GdkDeviceGrabInfo *last_grab; GdkEventMask masktest; @@ -900,8 +901,6 @@ _gdk_input_other_event (GdkEvent *event, return FALSE; } - obj = GDK_WINDOW_OBJECT (window); - switch (msg->message) { case WT_PACKET: @@ -928,7 +927,6 @@ _gdk_input_other_event (GdkEvent *event, g_object_unref (window); window = g_object_ref (last_grab->window); - obj = GDK_WINDOW_OBJECT (window); } if (window == _gdk_root) @@ -1006,12 +1004,12 @@ _gdk_input_other_event (GdkEvent *event, { GDK_NOTE (EVENTS_OR_INPUT, g_print ("... not selected\n")); - if (obj->parent == GDK_WINDOW_OBJECT (_gdk_root)) + if (window->parent == GDK_WINDOW (_gdk_root)) return FALSE; /* It is not good to propagate the extended events up to the parent * if this window wants normal (not extended) motion/button events */ - if (obj->event_mask & masktest) + if (window->event_mask & masktest) { GDK_NOTE (EVENTS_OR_INPUT, g_print ("... wants ordinary event, ignoring this\n")); @@ -1022,8 +1020,7 @@ _gdk_input_other_event (GdkEvent *event, pt.y = y; ClientToScreen (GDK_WINDOW_HWND (window), &pt); g_object_unref (window); - window = (GdkWindow *) obj->parent; - obj = GDK_WINDOW_OBJECT (window); + window = window->parent; g_object_ref (window); ScreenToClient (GDK_WINDOW_HWND (window), &pt); x = pt.x; diff --git a/gdk/win32/gdkdevicemanager-win32.h b/gdk/win32/gdkdevicemanager-win32.h index 69d26b7561..6e09737d0e 100644 --- a/gdk/win32/gdkdevicemanager-win32.h +++ b/gdk/win32/gdkdevicemanager-win32.h @@ -20,7 +20,7 @@ #ifndef __GDK_DEVICE_MANAGER_WIN32_H__ #define __GDK_DEVICE_MANAGER_WIN32_H__ -#include +#include G_BEGIN_DECLS diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c index 3d43c26ddd..da920984ca 100644 --- a/gdk/win32/gdkdisplay-win32.c +++ b/gdk/win32/gdkdisplay-win32.c @@ -21,6 +21,10 @@ #include "config.h" #include "gdk.h" #include "gdkprivate-win32.h" +#include "gdkdisplayprivate.h" +#include "gdkwin32display.h" +#include "gdkwin32screen.h" +#include "gdkwin32window.h" #define HAVE_MONITOR_INFO @@ -36,8 +40,8 @@ _gdk_windowing_set_default_display (GdkDisplay *display) g_assert (display == NULL || _gdk_display == display); } -gulong -_gdk_windowing_window_get_next_serial (GdkDisplay *display) +static gulong +gdk_win32_display_get_next_serial (GdkDisplay *display) { return 0; } @@ -179,7 +183,7 @@ _gdk_monitor_init (void) } GdkDisplay * -gdk_display_open (const gchar *display_name) +_gdk_win32_display_open (const gchar *display_name) { GDK_NOTE (MISC, g_print ("gdk_display_open: %s\n", (display_name ? display_name : "NULL"))); @@ -199,8 +203,8 @@ gdk_display_open (const gchar *display_name) return NULL; } - _gdk_display = g_object_new (GDK_TYPE_DISPLAY, NULL); - _gdk_screen = g_object_new (GDK_TYPE_SCREEN, NULL); + _gdk_display = g_object_new (GDK_TYPE_WIN32_DISPLAY, NULL); + _gdk_screen = g_object_new (GDK_TYPE_WIN32_SCREEN, NULL); _gdk_monitor_init (); _gdk_visual_init (); @@ -220,8 +224,20 @@ gdk_display_open (const gchar *display_name) return _gdk_display; } -G_CONST_RETURN gchar * -gdk_display_get_name (GdkDisplay *display) +struct _GdkWin32Display +{ + GdkDisplay display; +}; + +struct _GdkWin32DisplayClass +{ + GdkDisplayClass display_class; +}; + +G_DEFINE_TYPE (GdkWin32Display, gdk_win32_display, GDK_TYPE_DISPLAY) + +static G_CONST_RETURN gchar * +gdk_win32_display_get_name (GdkDisplay *display) { HDESK hdesk = GetThreadDesktop (GetCurrentThreadId ()); char dummy; @@ -277,24 +293,24 @@ gdk_display_get_name (GdkDisplay *display) window_station_name, desktop_name); - GDK_NOTE (MISC, g_print ("gdk_display_get_name: %s\n", display_name)); + GDK_NOTE (MISC, g_print ("gdk_win32_display_get_name: %s\n", display_name)); display_name_cache = display_name; return display_name_cache; } -gint -gdk_display_get_n_screens (GdkDisplay *display) +static gint +gdk_win32_display_get_n_screens (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), 0); return 1; } -GdkScreen * -gdk_display_get_screen (GdkDisplay *display, - gint screen_num) +static GdkScreen * +gdk_win32_display_get_screen (GdkDisplay *display, + gint screen_num) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); g_return_val_if_fail (screen_num == 0, NULL); @@ -302,16 +318,16 @@ gdk_display_get_screen (GdkDisplay *display, return _gdk_screen; } -GdkScreen * -gdk_display_get_default_screen (GdkDisplay *display) +static GdkScreen * +gdk_win32_display_get_default_screen (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); return _gdk_screen; } -GdkWindow * -gdk_display_get_default_group (GdkDisplay *display) +static GdkWindow * +gdk_win32_display_get_default_group (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); @@ -320,30 +336,30 @@ gdk_display_get_default_group (GdkDisplay *display) return NULL; } -gboolean -gdk_display_supports_selection_notification (GdkDisplay *display) +static gboolean +gdk_win32_display_supports_selection_notification (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); return FALSE; } -gboolean -gdk_display_request_selection_notification (GdkDisplay *display, +static gboolean +gdk_win32_display_request_selection_notification (GdkDisplay *display, GdkAtom selection) { return FALSE; } -gboolean -gdk_display_supports_clipboard_persistence (GdkDisplay *display) +static gboolean +gdk_win32_display_supports_clipboard_persistence (GdkDisplay *display) { return FALSE; } -void -gdk_display_store_clipboard (GdkDisplay *display, +static void +gdk_win32_display_store_clipboard (GdkDisplay *display, GdkWindow *clipboard_window, guint32 time_, const GdkAtom *targets, @@ -351,16 +367,16 @@ gdk_display_store_clipboard (GdkDisplay *display, { } -gboolean -gdk_display_supports_shapes (GdkDisplay *display) +static gboolean +gdk_win32_display_supports_shapes (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); return TRUE; } -gboolean -gdk_display_supports_input_shapes (GdkDisplay *display) +static gboolean +gdk_win32_display_supports_input_shapes (GdkDisplay *display) { g_return_val_if_fail (GDK_IS_DISPLAY (display), FALSE); @@ -371,8 +387,142 @@ gdk_display_supports_input_shapes (GdkDisplay *display) return FALSE; } -gboolean -gdk_display_supports_composite (GdkDisplay *display) +static gboolean +gdk_win32_display_supports_composite (GdkDisplay *display) { return FALSE; } + +static void +gdk_win32_display_beep (GdkDisplay *display) +{ + g_return_if_fail (display == gdk_display_get_default()); + if (!MessageBeep (-1)) + Beep(1000, 50); +} + +static void +gdk_win32_display_flush (GdkDisplay * display) +{ + g_return_if_fail (display == _gdk_display); + + GdiFlush (); +} + +static void +gdk_win32_display_dispose (GObject *object) +{ +} + +static void +gdk_win32_display_finalize (GObject *object) +{ +} + +static void +gdk_win32_display_init(GdkWin32Display *display) +{ +} + +static void +gdk_win32_display_before_process_all_updates (GdkDisplay *display) +{ + /* nothing */ +} +static void +gdk_win32_display_after_process_all_updates (GdkDisplay *display) +{ + /* nothing */ +} +static void +gdk_win32_display_notify_startup_complete (GdkDisplay *display, + const gchar *startup_id) +{ + /* nothing */ +} +static void +gdk_win32_display_event_data_copy (GdkDisplay *display, + const GdkEvent *src, + GdkEvent *dst) +{ + /* nothing */ +} +static void +gdk_win32_display_event_data_free (GdkDisplay *display, + GdkEvent *event) +{ + /* nothing */ +} +static void +gdk_win32_display_push_error_trap (GdkDisplay *display) +{ + /* nothing */ +} +static gint +gdk_win32_display_pop_error_trap (GdkDisplay *display, + gboolean ignored) +{ + return 0; +} +static void +gdk_win32_display_class_init (GdkWin32DisplayClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkDisplayClass *display_class = GDK_DISPLAY_CLASS (klass); + + object_class->dispose = gdk_win32_display_dispose; + object_class->finalize = gdk_win32_display_finalize; + + display_class->window_type = GDK_TYPE_WIN32_WINDOW; + + display_class->get_name = gdk_win32_display_get_name; + display_class->get_n_screens = gdk_win32_display_get_n_screens; + display_class->get_screen = gdk_win32_display_get_screen; + display_class->get_default_screen = gdk_win32_display_get_default_screen; + display_class->beep = gdk_win32_display_beep; + display_class->sync = _gdk_win32_display_sync; + display_class->flush = gdk_win32_display_flush; + display_class->has_pending = _gdk_win32_display_has_pending; + display_class->queue_events = _gdk_win32_display_queue_events; + display_class->get_default_group = gdk_win32_display_get_default_group; + + display_class->supports_selection_notification = gdk_win32_display_supports_selection_notification; + display_class->request_selection_notification = gdk_win32_display_request_selection_notification; + display_class->supports_clipboard_persistence = gdk_win32_display_supports_clipboard_persistence; + display_class->store_clipboard = gdk_win32_display_store_clipboard; + display_class->supports_shapes = gdk_win32_display_supports_shapes; + display_class->supports_input_shapes = gdk_win32_display_supports_input_shapes; + display_class->supports_composite = gdk_win32_display_supports_composite; + + display_class->list_devices = _gdk_win32_display_list_devices; + display_class->send_client_message = _gdk_win32_display_send_client_message; + display_class->add_client_message_filter = _gdk_win32_display_add_client_message_filter; + //? display_class->get_app_launch_context = _gdk_win32_display_get_app_launch_context; + display_class->get_drag_protocol = _gdk_win32_display_get_drag_protocol; + display_class->get_cursor_for_type = _gdk_win32_display_get_cursor_for_type; + display_class->get_cursor_for_name = _gdk_win32_display_get_cursor_for_name; + display_class->get_cursor_for_pixbuf = _gdk_win32_display_get_cursor_for_pixbuf; + display_class->get_default_cursor_size = _gdk_win32_display_get_default_cursor_size; + display_class->get_maximal_cursor_size = _gdk_win32_display_get_maximal_cursor_size; + display_class->supports_cursor_alpha = _gdk_win32_display_supports_cursor_alpha; + display_class->supports_cursor_color = _gdk_win32_display_supports_cursor_color; + + display_class->before_process_all_updates = gdk_win32_display_before_process_all_updates; + display_class->after_process_all_updates = gdk_win32_display_after_process_all_updates; + display_class->get_next_serial = gdk_win32_display_get_next_serial; + display_class->notify_startup_complete = gdk_win32_display_notify_startup_complete; + display_class->event_data_copy = gdk_win32_display_event_data_copy; + display_class->event_data_free = gdk_win32_display_event_data_free; + display_class->create_window_impl = _gdk_win32_display_create_window_impl; + + display_class->get_keymap = _gdk_win32_display_get_keymap; + display_class->push_error_trap = gdk_win32_display_push_error_trap; + display_class->pop_error_trap = gdk_win32_display_pop_error_trap; + display_class->get_selection_owner = _gdk_win32_display_get_selection_owner; + display_class->set_selection_owner = _gdk_win32_display_set_selection_owner; + display_class->send_selection_notify = _gdk_win32_display_send_selection_notify; + display_class->get_selection_property = _gdk_win32_display_get_selection_property; + display_class->convert_selection = _gdk_win32_display_convert_selection; + display_class->text_property_to_utf8_list = _gdk_win32_display_text_property_to_utf8_list; + display_class->utf8_to_string_target = _gdk_win32_display_utf8_to_string_target; +} diff --git a/gdk/win32/gdkdnd-win32.c b/gdk/win32/gdkdnd-win32.c index d7c2905716..9788e90d08 100644 --- a/gdk/win32/gdkdnd-win32.c +++ b/gdk/win32/gdkdnd-win32.c @@ -76,6 +76,9 @@ #include "gdkproperty.h" #include "gdkinternals.h" #include "gdkprivate-win32.h" +#include "gdkwin32.h" +#include "gdkwin32dnd.h" +#include "gdk/gdkdndprivate.h" #include @@ -107,23 +110,29 @@ struct _GdkDragContextPrivateWin32 { guint drop_failed : 1; /* Whether the drop was unsuccessful */ }; -#define PRIVATE_DATA(context) ((GdkDragContextPrivateWin32 *) GDK_DRAG_CONTEXT (context)->windowing_data) +#define PRIVATE_DATA(context) (GDK_WIN32_DRAG_CONTEXT (context)->windowing_data) static GList *contexts; static GdkDragContext *current_dest_drag = NULL; -static void gdk_drag_context_init (GdkDragContext *dragcontext); -static void gdk_drag_context_class_init (GdkDragContextClass *klass); -static void gdk_drag_context_finalize (GObject *object); +struct _GdkWin32DragContext +{ + GdkDragContext context; + + GdkDragContextPrivateWin32 *windowing_data; +}; -static gpointer parent_class = NULL; +struct _GdkWin32DragContextClass +{ + GdkDragContextClass parent_class; +}; + +G_DEFINE_TYPE (GdkWin32DragContext, gdk_win32_drag_context, GDK_TYPE_DRAG_CONTEXT) static gboolean use_ole2_dnd = FALSE; -G_DEFINE_TYPE (GdkDragContext, gdk_drag_context, G_TYPE_OBJECT) - static void -gdk_drag_context_init (GdkDragContext *dragcontext) +gdk_win32_drag_context_init (GdkWin32DragContext *dragcontext) { GdkDragContextPrivateWin32 *private; @@ -148,19 +157,7 @@ gdk_drag_context_init (GdkDragContext *dragcontext) } static void -gdk_drag_context_class_init (GdkDragContextClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_drag_context_finalize; - - g_type_class_add_private (object_class, sizeof (GdkDragContextPrivateWin32)); -} - -static void -gdk_drag_context_finalize (GObject *object) +gdk_win32_drag_context_finalize (GObject *object) { GdkDragContext *context = GDK_DRAG_CONTEXT (object); @@ -192,7 +189,7 @@ gdk_drag_context_finalize (GObject *object) } } - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (gdk_win32_drag_context_parent_class)->finalize (object); } /* Drag Contexts */ @@ -1203,7 +1200,7 @@ target_context_new (GdkWindow *window) result->context->suggested_action = GDK_ACTION_MOVE; result->context->action = GDK_ACTION_MOVE; - private = result->context->windowing_data; + private = PRIVATE_DATA(result->context); private->iface = (IUnknown *) &result->idt; idroptarget_addref (&result->idt); @@ -1239,7 +1236,7 @@ source_context_new (GdkWindow *window, result->context->dest_window = NULL; result->context->targets = g_list_copy (targets); - private = result->context->windowing_data; + private = PRIVATE_DATA(result->context); private->iface = (IUnknown *) &result->ids; idropsource_addref (&result->ids); @@ -1819,8 +1816,9 @@ gdk_drag_do_leave (GdkDragContext *context, } GdkDragContext * -gdk_drag_begin (GdkWindow *window, - GList *targets) +_gdk_win32_window_drag_begin (GdkWindow *window, + GdkDevice *device, + GList *targets) { if (!use_ole2_dnd) { @@ -1840,6 +1838,7 @@ gdk_drag_begin (GdkWindow *window, new_context->source_window = window; g_object_ref (window); + gdk_drag_context_set_device (new_context, device); new_context->targets = g_list_copy (targets); new_context->actions = 0; @@ -1974,13 +1973,14 @@ _gdk_win32_dnd_do_dragdrop (void) } GdkNativeWindow -gdk_drag_get_protocol_for_display (GdkDisplay *display, - GdkNativeWindow xid, - GdkDragProtocol *protocol) +_gdk_win32_display_get_drag_protocol (GdkDisplay *display, + GdkNativeWindow xid, + GdkDragProtocol *protocol, + guint *version) { GdkWindow *window; - window = gdk_window_lookup (xid); + window = gdk_win32_window_lookup_for_display (display, xid); if (window && gdk_window_get_window_type (window) != GDK_WINDOW_FOREIGN) { @@ -1991,6 +1991,9 @@ gdk_drag_get_protocol_for_display (GdkDisplay *display, else *protocol = GDK_DRAG_PROTO_LOCAL; + /* even X11 code not always intializes it */ + *version = 0; + return xid; } } @@ -1998,15 +2001,15 @@ gdk_drag_get_protocol_for_display (GdkDisplay *display, return 0; } -void -gdk_drag_find_window_for_screen (GdkDragContext *context, +static GdkWindow * +gdk_win32_drag_context_find_window (GdkDragContext *context, GdkWindow *drag_window, GdkScreen *screen, gint x_root, gint y_root, - GdkWindow **dest_window, GdkDragProtocol *protocol) { + GdkWindow *dest_window; POINT pt; HWND hwnd; @@ -2016,14 +2019,14 @@ gdk_drag_find_window_for_screen (GdkDragContext *context, hwnd = WindowFromPoint (pt); if (hwnd == NULL) - *dest_window = NULL; + dest_window = NULL; else { - *dest_window = gdk_win32_handle_table_lookup (hwnd); - if (*dest_window) - g_object_ref (*dest_window); + dest_window = gdk_win32_handle_table_lookup (hwnd); + if (dest_window) + g_object_ref (dest_window); else - *dest_window = gdk_window_foreign_new_for_display (_gdk_display, hwnd); + dest_window = gdk_win32_window_foreign_new_for_display (_gdk_display, hwnd); if (use_ole2_dnd) *protocol = GDK_DRAG_PROTO_OLE2; @@ -2038,12 +2041,14 @@ gdk_drag_find_window_for_screen (GdkDragContext *context, (drag_window ? GDK_WINDOW_HWND (drag_window) : NULL), x_root, y_root, hwnd, - (*dest_window ? GDK_WINDOW_HWND (*dest_window) : NULL), + (dest_window ? GDK_WINDOW_HWND (dest_window) : NULL), _gdk_win32_drag_protocol_to_string (*protocol))); + + return dest_window; } -gboolean -gdk_drag_motion (GdkDragContext *context, +static gboolean +gdk_win32_drag_context_drag_motion (GdkDragContext *context, GdkWindow *dest_window, GdkDragProtocol protocol, gint x_root, @@ -2181,8 +2186,8 @@ gdk_drag_motion (GdkDragContext *context, return FALSE; } -void -gdk_drag_drop (GdkDragContext *context, +static void +gdk_win32_drag_context_drag_drop (GdkDragContext *context, guint32 time) { g_return_if_fail (context != NULL); @@ -2201,8 +2206,8 @@ gdk_drag_drop (GdkDragContext *context, } } -void -gdk_drag_abort (GdkDragContext *context, +static void +gdk_win32_drag_context_drag_abort (GdkDragContext *context, guint32 time) { g_return_if_fail (context != NULL); @@ -2215,8 +2220,8 @@ gdk_drag_abort (GdkDragContext *context, /* Destination side */ -void -gdk_drag_status (GdkDragContext *context, +static void +gdk_win32_drag_context_drag_status (GdkDragContext *context, GdkDragAction action, guint32 time) { @@ -2270,8 +2275,8 @@ gdk_drag_status (GdkDragContext *context, } } -void -gdk_drop_reply (GdkDragContext *context, +static void +gdk_win32_drag_context_drop_reply (GdkDragContext *context, gboolean ok, guint32 time) { @@ -2287,8 +2292,8 @@ gdk_drop_reply (GdkDragContext *context, } } -void -gdk_drop_finish (GdkDragContext *context, +static void +gdk_win32_drag_context_drop_finish (GdkDragContext *context, gboolean success, guint32 time) { @@ -2357,7 +2362,7 @@ gdk_destroy_filter (GdkXEvent *xev, #endif void -gdk_window_register_dnd (GdkWindow *window) +_gdk_win32_window_register_dnd (GdkWindow *window) { target_drag_context *ctx; HRESULT hr; @@ -2416,8 +2421,14 @@ gdk_window_register_dnd (GdkWindow *window) } } -GdkAtom -gdk_drag_get_selection (GdkDragContext *context) +static gboolean +gdk_win32_drag_context_drop_status (GdkDragContext *context) +{ + return ! PRIVATE_DATA (context)->drop_failed; +} + +static GdkAtom +gdk_win32_drag_context_get_selection (GdkDragContext *context) { switch (context->protocol) { @@ -2432,15 +2443,25 @@ gdk_drag_get_selection (GdkDragContext *context) } } -gboolean -gdk_drag_drop_succeeded (GdkDragContext *context) +static void +gdk_win32_drag_context_class_init (GdkWin32DragContextClass *klass) { - GdkDragContextPrivateWin32 *private; + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkDragContextClass *context_class = GDK_DRAG_CONTEXT_CLASS (klass); - g_return_val_if_fail (context != NULL, FALSE); + gdk_win32_drag_context_parent_class = g_type_class_peek_parent (klass); - private = PRIVATE_DATA (context); + object_class->finalize = gdk_win32_drag_context_finalize; - /* FIXME: Can we set drop_failed when the drop has failed? */ - return !private->drop_failed; + context_class->find_window = gdk_win32_drag_context_find_window; + context_class->drag_status = gdk_win32_drag_context_drag_status; + context_class->drag_motion = gdk_win32_drag_context_drag_motion; + context_class->drag_abort = gdk_win32_drag_context_drag_abort; + context_class->drag_drop = gdk_win32_drag_context_drag_drop; + context_class->drop_reply = gdk_win32_drag_context_drop_reply; + context_class->drop_finish = gdk_win32_drag_context_drop_finish; + context_class->drop_status = gdk_win32_drag_context_drop_status; + context_class->get_selection = gdk_win32_drag_context_get_selection; + + g_type_class_add_private (object_class, sizeof (GdkDragContextPrivateWin32)); } diff --git a/gdk/win32/gdkdrawable-win32.c b/gdk/win32/gdkdrawable-win32.c deleted file mode 100644 index 051569b138..0000000000 --- a/gdk/win32/gdkdrawable-win32.c +++ /dev/null @@ -1,222 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * Copyright (C) 1998-2004 Tor Lillqvist - * Copyright (C) 2001-2005 Hans Breuer - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" -#include -#include -#include - -#include -#include - -#include "gdkprivate-win32.h" - -static cairo_surface_t *gdk_win32_ref_cairo_surface (GdkDrawable *drawable); -static cairo_surface_t *gdk_win32_create_cairo_surface (GdkDrawable *drawable, - int width, - int height); - -static void gdk_drawable_impl_win32_finalize (GObject *object); - -static const cairo_user_data_key_t gdk_win32_cairo_key; - -G_DEFINE_TYPE (GdkDrawableImplWin32, _gdk_drawable_impl_win32, GDK_TYPE_DRAWABLE) - - -static void -_gdk_drawable_impl_win32_class_init (GdkDrawableImplWin32Class *klass) -{ - GdkDrawableClass *drawable_class = GDK_DRAWABLE_CLASS (klass); - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->finalize = gdk_drawable_impl_win32_finalize; - - drawable_class->ref_cairo_surface = gdk_win32_ref_cairo_surface; - drawable_class->create_cairo_surface = gdk_win32_create_cairo_surface; -} - -static void -_gdk_drawable_impl_win32_init (GdkDrawableImplWin32 *impl) -{ -} - -static void -gdk_drawable_impl_win32_finalize (GObject *object) -{ - G_OBJECT_CLASS (_gdk_drawable_impl_win32_parent_class)->finalize (object); -} - -/***************************************************** - * Win32 specific implementations of generic functions * - *****************************************************/ - -/* Drawing - */ - -/** - * _gdk_win32_drawable_acquire_dc - * @drawable: a Win32 #GdkDrawable implementation - * - * Gets a DC with the given drawable selected into - * it. - * - * Return value: The DC, on success. Otherwise - * %NULL. If this function succeeded - * _gdk_win32_drawable_release_dc() must be called - * release the DC when you are done using it. - **/ -HDC -_gdk_win32_drawable_acquire_dc (GdkDrawable *drawable) -{ - GdkDrawableImplWin32 *impl = GDK_DRAWABLE_IMPL_WIN32 (drawable); - - if (GDK_IS_WINDOW_IMPL_WIN32 (drawable) && - GDK_WINDOW_DESTROYED (impl->wrapper)) - return NULL; - - if (!impl->hdc) - { - impl->hdc = GetDC (impl->handle); - if (!impl->hdc) - WIN32_GDI_FAILED ("GetDC"); - } - - if (impl->hdc) - { - impl->hdc_count++; - return impl->hdc; - } - else - { - return NULL; - } -} - -/** - * _gdk_win32_drawable_release_dc - * @drawable: a Win32 #GdkDrawable implementation - * - * Releases the reference count for the DC - * from _gdk_win32_drawable_acquire_dc() - **/ -void -_gdk_win32_drawable_release_dc (GdkDrawable *drawable) -{ - GdkDrawableImplWin32 *impl = GDK_DRAWABLE_IMPL_WIN32 (drawable); - - g_return_if_fail (impl->hdc_count > 0); - - impl->hdc_count--; - if (impl->hdc_count == 0) - { - if (impl->saved_dc_bitmap) - { - GDI_CALL (SelectObject, (impl->hdc, impl->saved_dc_bitmap)); - impl->saved_dc_bitmap = NULL; - } - - if (impl->hdc) - { - GDI_CALL (ReleaseDC, (impl->handle, impl->hdc)); - impl->hdc = NULL; - } - } -} - -static cairo_surface_t * -gdk_win32_create_cairo_surface (GdkDrawable *drawable, - gint width, - gint height) -{ - /* width and height are determined from the DC */ - return gdk_win32_ref_cairo_surface (drawable); -} - -static void -gdk_win32_cairo_surface_destroy (void *data) -{ - GdkDrawableImplWin32 *impl = data; - - _gdk_win32_drawable_release_dc (GDK_DRAWABLE (impl)); - impl->cairo_surface = NULL; -} - -static cairo_surface_t * -gdk_win32_ref_cairo_surface (GdkDrawable *drawable) -{ - GdkDrawableImplWin32 *impl = GDK_DRAWABLE_IMPL_WIN32 (drawable); - - if (GDK_IS_WINDOW_IMPL_WIN32 (drawable) && - GDK_WINDOW_DESTROYED (impl->wrapper)) - return NULL; - - if (!impl->cairo_surface) - { - HDC hdc = _gdk_win32_drawable_acquire_dc (drawable); - if (!hdc) - return NULL; - - impl->cairo_surface = cairo_win32_surface_create (hdc); - - cairo_surface_set_user_data (impl->cairo_surface, &gdk_win32_cairo_key, - drawable, gdk_win32_cairo_surface_destroy); - } - else - cairo_surface_reference (impl->cairo_surface); - - return impl->cairo_surface; -} - -HGDIOBJ -gdk_win32_drawable_get_handle (GdkDrawable *drawable) -{ - return GDK_DRAWABLE_HANDLE (drawable); -} - -/** - * _gdk_win32_drawable_finish - * @drawable: a Win32 #GdkDrawable implementation - * - * Releases any resources allocated internally for the drawable. - * This is called when the drawable becomes unusable, i.e. - * gdk_window_destroy() is called. - **/ -void -_gdk_win32_drawable_finish (GdkDrawable *drawable) -{ - GdkDrawableImplWin32 *impl = GDK_DRAWABLE_IMPL_WIN32 (drawable); - - if (impl->cairo_surface) - { - cairo_surface_finish (impl->cairo_surface); - cairo_surface_set_user_data (impl->cairo_surface, &gdk_win32_cairo_key, NULL, NULL); - } - - g_assert (impl->hdc_count == 0); -} - diff --git a/gdk/win32/gdkdrawable-win32.h b/gdk/win32/gdkdrawable-win32.h deleted file mode 100644 index fba149a24c..0000000000 --- a/gdk/win32/gdkdrawable-win32.h +++ /dev/null @@ -1,73 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-1999. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#ifndef __GDK_DRAWABLE_WIN32_H__ -#define __GDK_DRAWABLE_WIN32_H__ - -#include -#include - -G_BEGIN_DECLS - -/* Drawable implementation for Win32 - */ - -typedef struct _GdkDrawableImplWin32 GdkDrawableImplWin32; -typedef struct _GdkDrawableImplWin32Class GdkDrawableImplWin32Class; - -#define GDK_TYPE_DRAWABLE_IMPL_WIN32 (_gdk_drawable_impl_win32_get_type ()) -#define GDK_DRAWABLE_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_DRAWABLE_IMPL_WIN32, GdkDrawableImplWin32)) -#define GDK_DRAWABLE_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_DRAWABLE_IMPL_WIN32, GdkDrawableImplWin32Class)) -#define GDK_IS_DRAWABLE_IMPL_WIN32(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_DRAWABLE_IMPL_WIN32)) -#define GDK_IS_DRAWABLE_IMPL_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_DRAWABLE_IMPL_WIN32)) -#define GDK_DRAWABLE_IMPL_WIN32_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DRAWABLE_IMPL_WIN32, GdkDrawableImplWin32Class)) - -struct _GdkDrawableImplWin32 -{ - GdkDrawable parent_instance; - GdkDrawable *wrapper; - HANDLE handle; - - guint hdc_count; - HDC hdc; - HBITMAP saved_dc_bitmap; /* Original bitmap for dc */ - cairo_surface_t *cairo_surface; -}; - -struct _GdkDrawableImplWin32Class -{ - GdkDrawableClass parent_class; -}; - -GType _gdk_drawable_impl_win32_get_type (void); - -HDC _gdk_win32_drawable_acquire_dc (GdkDrawable *drawable); -void _gdk_win32_drawable_release_dc (GdkDrawable *drawable); -void _gdk_win32_drawable_finish (GdkDrawable *drawable); - -G_END_DECLS - -#endif /* __GDK_DRAWABLE_WIN32_H__ */ diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 78d6cbe623..450f8c1495 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -46,11 +46,15 @@ #include #include "gdk.h" +#include "gdkdisplayprivate.h" #include "gdkprivate-win32.h" #include "gdkkeysyms.h" #include "gdkdevicemanager-win32.h" #include "gdkdeviceprivate.h" #include "gdkdevice-wintab.h" +#include "gdkwin32.h" +#include "gdkwin32dnd.h" +#include "gdkdndprivate.h" #include @@ -390,10 +394,10 @@ _gdk_events_init (void) } gboolean -gdk_events_pending (void) +_gdk_win32_display_has_pending (GdkDisplay *display) { MSG msg; - return (_gdk_event_queue_find_first (_gdk_display) || + return (_gdk_event_queue_find_first (display) || (modal_win32_dialog == NULL && PeekMessageW (&msg, NULL, 0, 0, PM_NOREMOVE))); } @@ -449,15 +453,15 @@ _gdk_windowing_device_grab (GdkDevice *device, guint32 time) { HCURSOR hcursor; - GdkCursorPrivate *cursor_private; + GdkWin32Cursor *cursor_private; gint return_val; - GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) native_window)->impl); + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (native_window->impl); g_return_val_if_fail (window != NULL, 0); g_return_val_if_fail (GDK_IS_WINDOW (window), 0); g_return_val_if_fail (confine_to == NULL || GDK_IS_WINDOW (confine_to), 0); - cursor_private = (GdkCursorPrivate*) cursor; + cursor_private = (GdkWin32Cursor*) cursor; if (!cursor) hcursor = NULL; @@ -492,28 +496,6 @@ _gdk_windowing_device_grab (GdkDevice *device, return return_val; } -void -gdk_device_ungrab (GdkDevice *device, - guint32 time) -{ - GdkDeviceGrabInfo *info; - GdkDisplay *display; - - g_return_if_fail (GDK_IS_DEVICE (device)); - - display = gdk_device_get_display (device); - info = _gdk_display_get_last_device_grab (display, device); - - if (info) - { - info->serial_end = 0; - GDK_DEVICE_GET_CLASS (device)->ungrab (device, time); - } - - _gdk_display_device_grab_update (display, device, 0); -} - - static GdkWindow * find_window_for_mouse_event (GdkWindow* reported_window, MSG* msg) @@ -562,11 +544,11 @@ find_window_for_mouse_event (GdkWindow* reported_window, return other_window; } -void -gdk_display_add_client_message_filter (GdkDisplay *display, - GdkAtom message_type, - GdkFilterFunc func, - gpointer data) +void +_gdk_win32_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data) { GdkClientFilter *filter = g_new (GdkClientFilter, 1); @@ -1096,7 +1078,7 @@ apply_event_filters (GdkWindow *window, static void show_window_recurse (GdkWindow *window, gboolean hide_window) { - GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl); GSList *children = impl->transient_children; GdkWindow *child = NULL; @@ -1119,9 +1101,9 @@ show_window_recurse (GdkWindow *window, gboolean hide_window) { if (!hide_window) { - if (GDK_WINDOW_OBJECT (window)->state & GDK_WINDOW_STATE_ICONIFIED) + if (gdk_window_get_state (window) & GDK_WINDOW_STATE_ICONIFIED) { - if (GDK_WINDOW_OBJECT (window)->state & GDK_WINDOW_STATE_MAXIMIZED) + if (gdk_window_get_state (window) & GDK_WINDOW_STATE_MAXIMIZED) { ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWMAXIMIZED); } @@ -1145,7 +1127,7 @@ static void do_show_window (GdkWindow *window, gboolean hide_window) { GdkWindow *tmp_window = NULL; - GdkWindowImplWin32 *tmp_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + GdkWindowImplWin32 *tmp_impl = GDK_WINDOW_IMPL_WIN32 (window->impl); if (!tmp_impl->changing_state) { @@ -1153,7 +1135,7 @@ do_show_window (GdkWindow *window, gboolean hide_window) while (tmp_impl->transient_owner != NULL) { tmp_window = tmp_impl->transient_owner; - tmp_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (tmp_window)->impl); + tmp_impl = GDK_WINDOW_IMPL_WIN32 (tmp_window->impl); } /* If we couldn't find one, use the window provided. */ @@ -1200,7 +1182,7 @@ synthesize_enter_or_leave_event (GdkWindow *window, append_event (event); if (type == GDK_ENTER_NOTIFY && - ((GdkWindowObject *) window)->extension_events != 0) + window->extension_events != 0) _gdk_device_wintab_update_window_coords (window); } @@ -1226,7 +1208,7 @@ propagate (GdkWindow **window, * device is used */ if (check_extended && - ((GdkWindowObject *) grab_window)->extension_events != 0 && + grab_window->extension_events != 0 && _gdk_input_ignore_core) { GDK_NOTE (EVENTS, g_print (" (ignored for grabber)")); @@ -1251,13 +1233,13 @@ propagate (GdkWindow **window, while (TRUE) { if (check_extended && - ((GdkWindowObject *) *window)->extension_events != 0 && + (*window)->extension_events != 0 && _gdk_input_ignore_core) { GDK_NOTE (EVENTS, g_print (" (ignored)")); return FALSE; } - if ((*doesnt_want_it) (((GdkWindowObject *) *window)->event_mask, msg)) + if ((*doesnt_want_it) ((*window)->event_mask, msg)) { /* Owner doesn't want it, propagate to parent. */ GdkWindow *parent = gdk_window_get_parent (*window); @@ -1269,7 +1251,7 @@ propagate (GdkWindow **window, /* Event source is grabbed with owner_events TRUE */ if (check_extended && - ((GdkWindowObject *) grab_window)->extension_events != 0 && + grab_window->extension_events != 0 && _gdk_input_ignore_core) { GDK_NOTE (EVENTS, g_print (" (ignored for grabber)")); @@ -1329,7 +1311,6 @@ handle_configure_event (MSG *msg, { RECT client_rect; POINT point; - GdkWindowObject *window_object; GetClientRect (msg->hwnd, &client_rect); point.x = client_rect.left; /* always 0 */ @@ -1343,17 +1324,15 @@ handle_configure_event (MSG *msg, point.y += _gdk_offset_y; } - window_object = GDK_WINDOW_OBJECT (window); - - window_object->width = client_rect.right - client_rect.left; - window_object->height = client_rect.bottom - client_rect.top; + window->width = client_rect.right - client_rect.left; + window->height = client_rect.bottom - client_rect.top; - window_object->x = point.x; - window_object->y = point.y; + window->x = point.x; + window->y = point.y; _gdk_window_update_size (window); - if (window_object->event_mask & GDK_STRUCTURE_MASK) + if (window->event_mask & GDK_STRUCTURE_MASK) { GdkEvent *event = gdk_event_new (GDK_CONFIGURE); @@ -1601,7 +1580,7 @@ ensure_stacking_on_unminimize (MSG *msg) if (rover_gdkw) { GdkWindowImplWin32 *rover_impl = - (GdkWindowImplWin32 *)((GdkWindowObject *)rover_gdkw)->impl; + GDK_WINDOW_IMPL_WIN32 (rover_gdkw->impl); if (GDK_WINDOW_IS_MAPPED (rover_gdkw) && (rover_impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY || @@ -1624,7 +1603,7 @@ static gboolean ensure_stacking_on_window_pos_changing (MSG *msg, GdkWindow *window) { - GdkWindowImplWin32 *impl = (GdkWindowImplWin32 *)((GdkWindowObject *) window)->impl; + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl); WINDOWPOS *windowpos = (WINDOWPOS *) msg->lParam; if (GetActiveWindow () == msg->hwnd && @@ -1652,7 +1631,7 @@ ensure_stacking_on_window_pos_changing (MSG *msg, if (rover_gdkw) { GdkWindowImplWin32 *rover_impl = - (GdkWindowImplWin32 *)((GdkWindowObject *)rover_gdkw)->impl; + GDK_WINDOW_IMPL_WIN32 (rover_gdkw->impl); if (GDK_WINDOW_IS_MAPPED (rover_gdkw) && (rover_impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY || @@ -1679,7 +1658,7 @@ static void ensure_stacking_on_activate_app (MSG *msg, GdkWindow *window) { - GdkWindowImplWin32 *impl = (GdkWindowImplWin32 *)((GdkWindowObject *) window)->impl; + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl); if (impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY || impl->type_hint == GDK_WINDOW_TYPE_HINT_DIALOG || @@ -1709,7 +1688,7 @@ ensure_stacking_on_activate_app (MSG *msg, if (rover_gdkw) { GdkWindowImplWin32 *rover_impl = - (GdkWindowImplWin32 *)((GdkWindowObject *)rover_gdkw)->impl; + GDK_WINDOW_IMPL_WIN32 (rover_gdkw->impl); if (GDK_WINDOW_IS_MAPPED (rover_gdkw) && (rover_impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY || @@ -1829,11 +1808,11 @@ gdk_event_translate (MSG *msg, */ #define return GOTO_DONE_INSTEAD - if (!GDK_WINDOW_DESTROYED (window) && ((GdkWindowObject *) window)->filters) + if (!GDK_WINDOW_DESTROYED (window) && window->filters) { /* Apply per-window filters */ - GdkFilterReturn result = apply_event_filters (window, msg, &((GdkWindowObject *) window)->filters); + GdkFilterReturn result = apply_event_filters (window, msg, &window->filters); if (result == GDK_FILTER_REMOVE || result == GDK_FILTER_TRANSLATE) { @@ -2009,7 +1988,7 @@ gdk_event_translate (MSG *msg, build_key_event_state (event, key_state); - gdk_keymap_translate_keyboard_state (NULL, + gdk_keymap_translate_keyboard_state (_gdk_win32_display_get_keymap (_gdk_display), event->key.hardware_keycode, event->key.state, event->key.group, @@ -2089,7 +2068,7 @@ gdk_event_translate (MSG *msg, for (i = 0; i < ccount; i++) { - if (((GdkWindowObject *) window)->event_mask & GDK_KEY_PRESS_MASK) + if (window->event_mask & GDK_KEY_PRESS_MASK) { /* Build a key press event */ event = gdk_event_new (GDK_KEY_PRESS); @@ -2100,7 +2079,7 @@ gdk_event_translate (MSG *msg, append_event (event); } - if (((GdkWindowObject *) window)->event_mask & GDK_KEY_RELEASE_MASK) + if (window->event_mask & GDK_KEY_RELEASE_MASK) { /* Build a key release event. */ event = gdk_event_new (GDK_KEY_RELEASE); @@ -2174,7 +2153,7 @@ gdk_event_translate (MSG *msg, assign_object (&window, find_window_for_mouse_event (window, msg)); #if 0 - if (((GdkWindowObject *) window)->extension_events != 0 && + if (window->extension_events != 0 && _gdk_input_ignore_core) { GDK_NOTE (EVENTS, g_print (" (ignored)")); @@ -2244,7 +2223,7 @@ gdk_event_translate (MSG *msg, GET_X_LPARAM (msg->lParam), GET_Y_LPARAM (msg->lParam))); #if 0 /* TODO_CSW? */ if (current_toplevel != NULL && - (((GdkWindowObject *) current_toplevel)->event_mask & GDK_LEAVE_NOTIFY_MASK)) + (current_toplevel->event_mask & GDK_LEAVE_NOTIFY_MASK)) { synthesize_enter_or_leave_event (current_toplevel, msg, GDK_LEAVE_NOTIFY, GDK_CROSSING_NORMAL, GDK_NOTIFY_ANCESTOR); @@ -2357,7 +2336,7 @@ gdk_event_translate (MSG *msg, GdkWindow *tmp; if (gdk_window_get_window_type (window) == GDK_WINDOW_TEMP - || !((GdkWindowObject *)window)->accept_focus) + || !window->accept_focus) { *ret_valp = MA_NOACTIVATE; return_val = TRUE; @@ -2390,7 +2369,7 @@ gdk_event_translate (MSG *msg, !keyboard_grab->owner_events) break; - if (!(((GdkWindowObject *) window)->event_mask & GDK_FOCUS_CHANGE_MASK)) + if (!(window->event_mask & GDK_FOCUS_CHANGE_MASK)) break; if (GDK_WINDOW_DESTROYED (window)) @@ -2433,7 +2412,7 @@ gdk_event_translate (MSG *msg, if (grab_window != NULL && p_grab_cursor != NULL) hcursor = p_grab_cursor; else if (!GDK_WINDOW_DESTROYED (window)) - hcursor = GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->hcursor; + hcursor = GDK_WINDOW_IMPL_WIN32 (window->impl)->hcursor; else hcursor = NULL; @@ -2456,7 +2435,7 @@ gdk_event_translate (MSG *msg, (msg->lParam == SW_PARENTOPENING ? "PARENTOPENING" : "???"))))))); - if (!(((GdkWindowObject *) window)->event_mask & GDK_STRUCTURE_MASK)) + if (!(window->event_mask & GDK_STRUCTURE_MASK)) break; if (msg->lParam == SW_OTHERUNZOOM || @@ -2473,7 +2452,7 @@ gdk_event_translate (MSG *msg, if (event->any.type == GDK_UNMAP) { - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); if (impl->transient_owner && GetForegroundWindow () == GDK_WINDOW_HWND (window)) { @@ -2539,7 +2518,7 @@ gdk_event_translate (MSG *msg, GdkWindowState withdrawn_bit = IsWindowVisible (msg->hwnd) ? GDK_WINDOW_STATE_WITHDRAWN : 0; - if (((GdkWindowObject *) window)->state & GDK_WINDOW_STATE_ICONIFIED) + if (window->state & GDK_WINDOW_STATE_ICONIFIED) ensure_stacking_on_unminimize (msg); if (!GDK_WINDOW_DESTROYED (window)) @@ -2566,10 +2545,10 @@ gdk_event_translate (MSG *msg, GDK_WINDOW_STATE_MAXIMIZED); } - if (((GdkWindowObject *) window)->resize_count > 1) - ((GdkWindowObject *) window)->resize_count -= 1; + if (window->resize_count > 1) + window->resize_count -= 1; - if (((GdkWindowObject *) window)->extension_events != 0) + if (window->extension_events != 0) _gdk_device_wintab_update_window_coords (window); return_val = TRUE; @@ -2628,11 +2607,11 @@ gdk_event_translate (MSG *msg, GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD && !GDK_WINDOW_DESTROYED (window)) { - if (((GdkWindowObject *) window)->event_mask & GDK_STRUCTURE_MASK) + if (window->event_mask & GDK_STRUCTURE_MASK) { GDK_NOTE (EVENTS, g_print (" do magic")); - if (((GdkWindowObject *) window)->resize_count > 1) - ((GdkWindowObject *) window)->resize_count -= 1; + if (window->resize_count > 1) + window->resize_count -= 1; handle_configure_event (msg, window); g_main_context_iteration (NULL, FALSE); @@ -2664,7 +2643,7 @@ gdk_event_translate (MSG *msg, _gdk_win32_rect_to_string (&rect), _gdk_win32_rect_to_string (drag))); - impl = GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); orig_drag = *drag; if (impl->hint_flags & GDK_HINT_RESIZE_INC) { @@ -2867,7 +2846,7 @@ gdk_event_translate (MSG *msg, if (GDK_WINDOW_DESTROYED (window)) break; - impl = GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); mmi = (MINMAXINFO*) msg->lParam; GDK_NOTE (EVENTS, g_print (" (mintrack:%ldx%ld maxtrack:%ldx%ld " "maxpos:%+ld%+ld maxsize:%ldx%ld)", @@ -2941,7 +2920,7 @@ gdk_event_translate (MSG *msg, append_event (event); - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); if (impl->transient_owner && GetForegroundWindow() == GDK_WINDOW_HWND (window)) { @@ -3137,7 +3116,7 @@ done: } void -_gdk_events_queue (GdkDisplay *display) +_gdk_win32_display_queue_events (GdkDisplay *display) { MSG msg; @@ -3205,7 +3184,7 @@ gdk_event_dispatch (GSource *source, GDK_THREADS_ENTER (); - _gdk_events_queue (_gdk_display); + _gdk_win32_display_queue_events (_gdk_display); event = _gdk_event_unqueue (_gdk_display); if (event) @@ -3254,9 +3233,9 @@ check_for_too_much_data (GdkEvent *event) } gboolean -gdk_event_send_client_message_for_display (GdkDisplay *display, - GdkEvent *event, - GdkNativeWindow winid) +_gdk_win32_display_send_client_message (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid) { check_for_too_much_data (event); @@ -3266,7 +3245,7 @@ gdk_event_send_client_message_for_display (GdkDisplay *display, } void -gdk_screen_broadcast_client_message (GdkScreen *screen, +_gdk_win32_screen_broadcast_client_message (GdkScreen *screen, GdkEvent *event) { check_for_too_much_data (event); @@ -3277,24 +3256,7 @@ gdk_screen_broadcast_client_message (GdkScreen *screen, } void -gdk_flush (void) -{ -#if 0 - MSG msg; - - /* Process all messages currently available */ - while (PeekMessageW (&msg, NULL, 0, 0, PM_REMOVE)) - { - TranslateMessage (&msg); - DispatchMessageW (&msg); - } -#endif - - GdiFlush (); -} - -void -gdk_display_sync (GdkDisplay * display) +_gdk_win32_display_sync (GdkDisplay * display) { MSG msg; @@ -3305,27 +3267,3 @@ gdk_display_sync (GdkDisplay * display) DispatchMessageW (&msg); } -void -gdk_display_flush (GdkDisplay * display) -{ - g_return_if_fail (display == _gdk_display); - - /* Nothing */ -} - -gboolean -gdk_net_wm_supports (GdkAtom property) -{ - return FALSE; -} - -void -_gdk_windowing_event_data_copy (const GdkEvent *src, - GdkEvent *dst) -{ -} - -void -_gdk_windowing_event_data_free (GdkEvent *event) -{ -} diff --git a/gdk/win32/gdkgeometry-win32.c b/gdk/win32/gdkgeometry-win32.c index 947095e379..c16920886e 100644 --- a/gdk/win32/gdkgeometry-win32.c +++ b/gdk/win32/gdkgeometry-win32.c @@ -42,6 +42,7 @@ #include "gdk.h" /* For gdk_rectangle_intersect */ #include "gdkinternals.h" #include "gdkprivate-win32.h" +#include "gdkwin32.h" #define SIZE_LIMIT 32767 @@ -58,22 +59,20 @@ _gdk_window_move_resize_child (GdkWindow *window, gint height) { GdkWindowImplWin32 *impl; - GdkWindowObject *obj; gboolean is_move; gboolean is_resize; g_return_if_fail (window != NULL); g_return_if_fail (GDK_IS_WINDOW (window)); - obj = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_WIN32 (obj->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); - is_move = (x - obj->x != 0) && (y - obj->y != 0); - is_resize = obj->width != width && obj->height != height; + is_move = (x - window->x != 0) && (y - window->y != 0); + is_resize = window->width != width && window->height != height; GDK_NOTE (MISC, g_print ("_gdk_window_move_resize_child: %s@%+d%+d %dx%d@%+d%+d\n", - _gdk_win32_drawable_description (window), - obj->x, obj->y, width, height, x, y)); + _gdk_win32_window_description (window), + window->x, window->y, width, height, x, y)); if (width > 65535 || height > 65535) { @@ -85,10 +84,10 @@ _gdk_window_move_resize_child (GdkWindow *window, height = 65535; } - obj->x = x; - obj->y = y; - obj->width = width; - obj->height = height; + window->x = x; + window->y = y; + window->width = width; + window->height = height; _gdk_win32_window_tmp_unset_parent_bg (window); _gdk_win32_window_tmp_unset_bg (window, TRUE); @@ -96,19 +95,18 @@ _gdk_window_move_resize_child (GdkWindow *window, GDK_NOTE (MISC, g_print ("... SetWindowPos(%p,NULL,%d,%d,%d,%d," "NOACTIVATE|NOZORDER%s%s)\n", GDK_WINDOW_HWND (window), - obj->x + obj->parent->abs_x, obj->y + obj->parent->abs_y, + window->x + window->parent->abs_x, window->y + window->parent->abs_y, width, height, (is_move ? "" : "|NOMOVE"), (is_resize ? "" : "|NOSIZE"))); API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), NULL, - obj->x + obj->parent->abs_x, obj->y + obj->parent->abs_y, + window->x + window->parent->abs_x, window->y + window->parent->abs_y, width, height, SWP_NOACTIVATE | SWP_NOZORDER | (is_move ? 0 : SWP_NOMOVE) | (is_resize ? 0 : SWP_NOSIZE))); - //_gdk_win32_window_tmp_reset_parent_bg (window); _gdk_win32_window_tmp_reset_bg (window, TRUE); } @@ -116,28 +114,24 @@ void _gdk_win32_window_tmp_unset_bg (GdkWindow *window, gboolean recurse) { - GdkWindowObject *private; - g_return_if_fail (GDK_IS_WINDOW (window)); - private = (GdkWindowObject *)window; - - if (private->input_only || private->destroyed || - (private->window_type != GDK_WINDOW_ROOT && + if (window->input_only || window->destroyed || + (window->window_type != GDK_WINDOW_ROOT && !GDK_WINDOW_IS_MAPPED (window))) return; if (_gdk_window_has_impl (window) && GDK_WINDOW_IS_WIN32 (window) && - private->window_type != GDK_WINDOW_ROOT && - private->window_type != GDK_WINDOW_FOREIGN) + window->window_type != GDK_WINDOW_ROOT && + window->window_type != GDK_WINDOW_FOREIGN) tmp_unset_bg (window); if (recurse) { GList *l; - for (l = private->children; l != NULL; l = l->next) + for (l = window->children; l != NULL; l = l->next) _gdk_win32_window_tmp_unset_bg (l->data, TRUE); } } @@ -146,10 +140,8 @@ static void tmp_unset_bg (GdkWindow *window) { GdkWindowImplWin32 *impl; - GdkWindowObject *obj; - obj = (GdkWindowObject *) window; - impl = GDK_WINDOW_IMPL_WIN32 (obj->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); impl->no_bg = TRUE; } @@ -157,11 +149,9 @@ tmp_unset_bg (GdkWindow *window) static void tmp_reset_bg (GdkWindow *window) { - GdkWindowObject *obj; GdkWindowImplWin32 *impl; - obj = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_WIN32 (obj->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); impl->no_bg = FALSE; } @@ -169,12 +159,10 @@ tmp_reset_bg (GdkWindow *window) void _gdk_win32_window_tmp_unset_parent_bg (GdkWindow *window) { - GdkWindowObject *private = (GdkWindowObject*)window; - - if (GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_ROOT) + if (GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_ROOT) return; - window = _gdk_window_get_impl_window ((GdkWindow*)private->parent); + window = _gdk_window_get_impl_window (window->parent); _gdk_win32_window_tmp_unset_bg (window, FALSE); } @@ -182,18 +170,16 @@ void _gdk_win32_window_tmp_reset_bg (GdkWindow *window, gboolean recurse) { - GdkWindowObject *private = (GdkWindowObject*)window; - g_return_if_fail (GDK_IS_WINDOW (window)); - if (private->input_only || private->destroyed || - (private->window_type != GDK_WINDOW_ROOT && !GDK_WINDOW_IS_MAPPED (window))) + if (window->input_only || window->destroyed || + (window->window_type != GDK_WINDOW_ROOT && !GDK_WINDOW_IS_MAPPED (window))) return; if (_gdk_window_has_impl (window) && GDK_WINDOW_IS_WIN32 (window) && - private->window_type != GDK_WINDOW_ROOT && - private->window_type != GDK_WINDOW_FOREIGN) + window->window_type != GDK_WINDOW_ROOT && + window->window_type != GDK_WINDOW_FOREIGN) { tmp_reset_bg (window); } @@ -202,79 +188,7 @@ _gdk_win32_window_tmp_reset_bg (GdkWindow *window, { GList *l; - for (l = private->children; l != NULL; l = l->next) + for (l = window->children; l != NULL; l = l->next) _gdk_win32_window_tmp_reset_bg (l->data, TRUE); } } - -/* -void -_gdk_win32_window_tmp_reset_bg (GdkWindow *window) -{ - GdkWindowImplWin32 *impl; - GdkWindowObject *obj; - - obj = (GdkWindowObject *) window; - impl = GDK_WINDOW_IMPL_WIN32 (obj->impl); - - impl->no_bg = FALSE; -} -*/ - -#if 0 -static cairo_region_t * -gdk_window_clip_changed (GdkWindow *window, - GdkRectangle *old_clip, - GdkRectangle *new_clip) -{ - GdkWindowImplWin32 *impl; - GdkWindowObject *obj; - cairo_region_t *old_clip_region; - cairo_region_t *new_clip_region; - - if (((GdkWindowObject *)window)->input_only) - return NULL; - - obj = (GdkWindowObject *) window; - impl = GDK_WINDOW_IMPL_WIN32 (obj->impl); - - old_clip_region = cairo_region_create_rectangle (old_clip); - new_clip_region = cairo_region_create_rectangle (new_clip); - - /* Trim invalid region of window to new clip rectangle - */ - if (obj->update_area) - cairo_region_intersect (obj->update_area, new_clip_region); - - /* Invalidate newly exposed portion of window - */ - cairo_region_subtract (new_clip_region, old_clip_region); - if (!cairo_region_is_empty (new_clip_region)) - gdk_window_tmp_unset_bg (window); - else - { - cairo_region_destroy (new_clip_region); - new_clip_region = NULL; - } - - cairo_region_destroy (old_clip_region); - - return new_clip_region; -} -#endif - -#if 0 -static void -gdk_window_post_scroll (GdkWindow *window, - cairo_region_t *new_clip_region) -{ - GDK_NOTE (EVENTS, - g_print ("gdk_window_clip_changed: invalidating region: %s\n", - _gdk_win32_cairo_region_to_string (new_clip_region))); - - gdk_window_invalidate_region (window, new_clip_region, FALSE); - g_print ("gdk_window_post_scroll\n"); - cairo_region_destroy (new_clip_region); -} - -#endif diff --git a/gdk/win32/gdkim-win32.c b/gdk/win32/gdkim-win32.c deleted file mode 100644 index dd7cf87944..0000000000 --- a/gdk/win32/gdkim-win32.c +++ /dev/null @@ -1,44 +0,0 @@ -/* GDK - The GIMP Drawing Kit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * Copyright (C) 1998-2004 Tor Lillqvist - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include -#include -#include - -#include "gdkinternals.h" -#include "gdkwin32.h" - -gchar* -gdk_set_locale (void) -{ - if (!setlocale (LC_ALL, "")) - g_warning ("locale not supported by C library"); - - return g_win32_getlocale (); -} diff --git a/gdk/win32/gdkinput.c b/gdk/win32/gdkinput.c index 32de7fc28d..64e461dd6d 100644 --- a/gdk/win32/gdkinput.c +++ b/gdk/win32/gdkinput.c @@ -34,7 +34,8 @@ #include "config.h" #include "gdkdisplay.h" -#include "gdkinput.h" +#include "gdkdevice.h" +#include "gdkdisplayprivate.h" #include "gdkprivate-win32.h" #include "gdkdevicemanager-win32.h" @@ -47,11 +48,11 @@ GList *_gdk_input_windows; GList * gdk_devices_list (void) { - return gdk_display_list_devices (_gdk_display); + return _gdk_win32_display_list_devices (_gdk_display); } GList * -gdk_display_list_devices (GdkDisplay *dpy) +_gdk_win32_display_list_devices (GdkDisplay *dpy) { g_return_val_if_fail (dpy == _gdk_display, NULL); @@ -69,7 +70,6 @@ gdk_input_set_extension_events (GdkWindow *window, gint mask, GdkExtensionMode mode) { GdkDeviceManager *device_manager; - GdkWindowObject *window_private; GList *devices, *d; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -80,8 +80,7 @@ gdk_input_set_extension_events (GdkWindow *window, gint mask, if (mode == GDK_EXTENSION_EVENTS_NONE) mask = 0; - window_private = (GdkWindowObject *) window; - window_private->extension_events = mask; + window->extension_events = mask; device_manager = gdk_display_get_device_manager (_gdk_display); devices = gdk_device_manager_list_devices (device_manager, diff --git a/gdk/win32/gdkkeys-win32.c b/gdk/win32/gdkkeys-win32.c index dbeb1092eb..8b253d4ae8 100644 --- a/gdk/win32/gdkkeys-win32.c +++ b/gdk/win32/gdkkeys-win32.c @@ -35,9 +35,28 @@ #include "gdkprivate-win32.h" #include "gdkinternals.h" #include "gdkkeysyms.h" +#include "gdkkeysprivate.h" +#include "gdkwin32keys.h" #include "config.h" +struct _GdkWin32KeymapClass +{ + GdkKeymapClass parent_class; +}; + +struct _GdkWin32Keymap +{ + GdkKeymap parent_instance; +}; + +G_DEFINE_TYPE (GdkWin32Keymap, gdk_win32_keymap, GDK_TYPE_KEYMAP) + +static void +gdk_win32_keymap_init (GdkWin32Keymap *keymap) +{ +} + guint _gdk_keymap_serial = 0; gboolean _gdk_keyboard_has_altgr = FALSE; guint _scancode_rshift = 0; @@ -489,18 +508,18 @@ update_keymap (void) } GdkKeymap* -gdk_keymap_get_for_display (GdkDisplay *display) +_gdk_win32_display_get_keymap (GdkDisplay *display) { g_return_val_if_fail (display == gdk_display_get_default (), NULL); if (default_keymap == NULL) - default_keymap = g_object_new (gdk_keymap_get_type (), NULL); + default_keymap = g_object_new (gdk_win32_keymap_get_type (), NULL); return default_keymap; } -PangoDirection -gdk_keymap_get_direction (GdkKeymap *keymap) +static PangoDirection +gdk_win32_keymap_get_direction (GdkKeymap *keymap) { update_keymap (); @@ -520,8 +539,8 @@ gdk_keymap_get_direction (GdkKeymap *keymap) } } -gboolean -gdk_keymap_have_bidi_layouts (GdkKeymap *keymap) +static gboolean +gdk_win32_keymap_have_bidi_layouts (GdkKeymap *keymap) { /* Should we check if the kayboard layouts switchable at the moment * cover both directionalities? What does the doc comment in @@ -530,20 +549,20 @@ gdk_keymap_have_bidi_layouts (GdkKeymap *keymap) return FALSE; } -gboolean -gdk_keymap_get_caps_lock_state (GdkKeymap *keymap) +static gboolean +gdk_win32_keymap_get_caps_lock_state (GdkKeymap *keymap) { return ((GetKeyState (VK_CAPITAL) & 1) != 0); } -gboolean -gdk_keymap_get_num_lock_state (GdkKeymap *keymap) +static gboolean +gdk_win32_keymap_get_num_lock_state (GdkKeymap *keymap) { return ((GetKeyState (VK_NUMLOCK) & 1) != 0); } -gboolean -gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, +static gboolean +gdk_win32_keymap_get_entries_for_keyval (GdkKeymap *keymap, guint keyval, GdkKeymapKey **keys, gint *n_keys) @@ -618,8 +637,8 @@ gdk_keymap_get_entries_for_keyval (GdkKeymap *keymap, return *n_keys > 0; } -gboolean -gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, +static gboolean +gdk_win32_keymap_get_entries_for_keycode (GdkKeymap *keymap, guint hardware_keycode, GdkKeymapKey **keys, guint **keyvals, @@ -712,8 +731,8 @@ gdk_keymap_get_entries_for_keycode (GdkKeymap *keymap, return *n_entries > 0; } -guint -gdk_keymap_lookup_key (GdkKeymap *keymap, +static guint +gdk_win32_keymap_lookup_key (GdkKeymap *keymap, const GdkKeymapKey *key) { guint sym; @@ -741,8 +760,8 @@ gdk_keymap_lookup_key (GdkKeymap *keymap, return sym; } -gboolean -gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, +static gboolean +gdk_win32_keymap_translate_keyboard_state (GdkKeymap *keymap, guint hardware_keycode, GdkModifierType state, gint group, @@ -878,16 +897,41 @@ gdk_keymap_translate_keyboard_state (GdkKeymap *keymap, return tmp_keyval != GDK_KEY_VoidSymbol; } -void -gdk_keymap_add_virtual_modifiers (GdkKeymap *keymap, +static void +gdk_win32_keymap_add_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state) { } -gboolean -gdk_keymap_map_virtual_modifiers (GdkKeymap *keymap, +static gboolean +gdk_win32_keymap_map_virtual_modifiers (GdkKeymap *keymap, GdkModifierType *state) { /* FIXME: Is this the right thing to do? */ return TRUE; } + +static void +gdk_win32_keymap_finalize (GObject *object) +{ +} + +static void +gdk_win32_keymap_class_init (GdkWin32KeymapClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkKeymapClass *keymap_class = GDK_KEYMAP_CLASS (klass); + + object_class->finalize = gdk_win32_keymap_finalize; + + keymap_class->get_direction = gdk_win32_keymap_get_direction; + keymap_class->have_bidi_layouts = gdk_win32_keymap_have_bidi_layouts; + keymap_class->get_caps_lock_state = gdk_win32_keymap_get_caps_lock_state; + keymap_class->get_num_lock_state = gdk_win32_keymap_get_num_lock_state; + keymap_class->get_entries_for_keyval = gdk_win32_keymap_get_entries_for_keyval; + keymap_class->get_entries_for_keycode = gdk_win32_keymap_get_entries_for_keycode; + keymap_class->lookup_key = gdk_win32_keymap_lookup_key; + keymap_class->translate_keyboard_state = gdk_win32_keymap_translate_keyboard_state; + keymap_class->add_virtual_modifiers = gdk_win32_keymap_add_virtual_modifiers; + keymap_class->map_virtual_modifiers = gdk_win32_keymap_map_virtual_modifiers; +} diff --git a/gdk/win32/gdkmain-win32.c b/gdk/win32/gdkmain-win32.c index afc6a2268f..a876631df6 100644 --- a/gdk/win32/gdkmain-win32.c +++ b/gdk/win32/gdkmain-win32.c @@ -38,6 +38,7 @@ #include "gdkinternals.h" #include "gdkintl.h" #include "gdkprivate-win32.h" +#include "gdkwin32.h" #include @@ -64,7 +65,7 @@ const GOptionEntry _gdk_windowing_args[] = { { NULL } }; -int __stdcall +BOOL WINAPI DllMain (HINSTANCE hinstDLL, DWORD dwReason, LPVOID reserved) @@ -75,7 +76,7 @@ DllMain (HINSTANCE hinstDLL, } void -_gdk_windowing_init (void) +_gdk_win32_windowing_init (void) { gchar buf[10]; @@ -151,67 +152,6 @@ _gdk_other_api_failed (const gchar *where, g_warning ("%s: %s failed", where, api); } -gint -gdk_screen_get_width (GdkScreen *screen) -{ - return GDK_WINDOW_OBJECT (_gdk_root)->width; -} - -gint -gdk_screen_get_height (GdkScreen *screen) -{ - return GDK_WINDOW_OBJECT (_gdk_root)->height; -} -gint -gdk_screen_get_width_mm (GdkScreen *screen) -{ - return (double) gdk_screen_get_width (screen) / GetDeviceCaps (_gdk_display_hdc, LOGPIXELSX) * 25.4; -} - -gint -gdk_screen_get_height_mm (GdkScreen *screen) -{ - return (double) gdk_screen_get_height (screen) / GetDeviceCaps (_gdk_display_hdc, LOGPIXELSY) * 25.4; -} - -void -gdk_display_beep (GdkDisplay *display) -{ - g_return_if_fail (display == gdk_display_get_default()); - Beep(1000, 50); -} - -void -gdk_error_trap_push (void) -{ -} - -gint -gdk_error_trap_pop (void) -{ - return 0; -} - -void -gdk_error_trap_pop_ignored (void) -{ -} - -void -gdk_notify_startup_complete (void) -{ -} - -void -gdk_notify_startup_complete_with_id (const gchar* startup_id) -{ -} - -void -gdk_window_set_startup_id (GdkWindow *window, - const gchar *startup_id) -{ -} #ifdef G_ENABLE_DEBUG @@ -1021,13 +961,13 @@ _gdk_win32_cairo_region_to_string (const cairo_region_t *rgn) } gchar * -_gdk_win32_drawable_description (GdkDrawable *d) +_gdk_win32_window_description (GdkWindow *d) { - g_return_val_if_fail (GDK_IS_DRAWABLE (d), NULL); + g_return_val_if_fail (GDK_IS_WINDOW (d), NULL); return static_printf ("%s:%p:%dx%dx%d", G_OBJECT_TYPE_NAME (d), - GDK_DRAWABLE_HANDLE (d), + GDK_WINDOW_HWND (d), gdk_window_get_width (GDK_WINDOW (d)), gdk_window_get_height (GDK_WINDOW (d)), gdk_visual_get_depth (gdk_window_get_visual (GDK_WINDOW (d)))); diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h index f118a9c909..6ff1cad424 100644 --- a/gdk/win32/gdkprivate-win32.h +++ b/gdk/win32/gdkprivate-win32.h @@ -36,6 +36,7 @@ #endif #include +#include #include #include "gdkinternals.h" @@ -103,16 +104,15 @@ #define GDK_DEBUG_MISC_OR_COLORMAP (GDK_DEBUG_MISC|GDK_DEBUG_COLORMAP) #define GDK_DEBUG_MISC_OR_EVENTS (GDK_DEBUG_MISC|GDK_DEBUG_EVENTS) -//#define GDK_WINDOW_SCREEN(win) (_gdk_screen) GdkScreen *GDK_WINDOW_SCREEN(GObject *win); -#define GDK_WINDOW_IS_WIN32(win) (GDK_IS_WINDOW_IMPL_WIN32 (((GdkWindowObject *)win)->impl)) +#define GDK_WINDOW_IS_WIN32(win) (GDK_IS_WINDOW_IMPL_WIN32 (win->impl)) typedef struct _GdkColormapPrivateWin32 GdkColormapPrivateWin32; -typedef struct _GdkCursorPrivate GdkCursorPrivate; +typedef struct _GdkWin32Cursor GdkWin32Cursor; typedef struct _GdkWin32SingleFont GdkWin32SingleFont; -struct _GdkCursorPrivate +struct _GdkWin32Cursor { GdkCursor cursor; HCURSOR hcursor; @@ -126,11 +126,6 @@ struct _GdkWin32SingleFont FONTSIGNATURE fs; }; -struct _GdkVisualClass -{ - GObjectClass parent_class; -}; - typedef enum { GDK_WIN32_PE_STATIC, GDK_WIN32_PE_AVAILABLE, @@ -208,7 +203,7 @@ gchar *_gdk_win32_window_style_to_string (LONG style); gchar *_gdk_win32_window_exstyle_to_string (LONG style); gchar *_gdk_win32_window_pos_bits_to_string (UINT flags); gchar *_gdk_win32_drag_action_to_string (GdkDragAction actions); -gchar *_gdk_win32_drawable_description (GdkDrawable *d); +gchar *_gdk_win32_window_description (GdkWindow *d); gchar *_gdk_win32_rop2_to_string (int rop2); gchar *_gdk_win32_lbstyle_to_string (UINT brush_style); @@ -371,7 +366,149 @@ HICON _gdk_win32_pixbuf_to_hcursor (GdkPixbuf *pixbuf, gint y_hotspot); gboolean _gdk_win32_pixbuf_to_hicon_supports_alpha (void); +/* GdkDisplay member functions */ +GdkNativeWindow _gdk_win32_display_get_drag_protocol (GdkDisplay *display, + GdkNativeWindow xid, + GdkDragProtocol *protocol, + guint *version); + +GdkCursor *_gdk_win32_display_get_cursor_for_type (GdkDisplay *display, + GdkCursorType cursor_type); +GdkCursor *_gdk_win32_display_get_cursor_for_name (GdkDisplay *display, + const gchar *name); +GdkCursor *_gdk_win32_display_get_cursor_for_pixbuf (GdkDisplay *display, + GdkPixbuf *pixbuf, + gint x, + gint y); +void _gdk_win32_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height); +void _gdk_win32_display_get_maximal_cursor_size (GdkDisplay *display, + guint *width, + guint *height); +gboolean _gdk_win32_display_supports_cursor_alpha (GdkDisplay *display); +gboolean _gdk_win32_display_supports_cursor_color (GdkDisplay *display); + +GList *_gdk_win32_display_list_devices (GdkDisplay *dpy); + +gboolean _gdk_win32_display_send_client_message (GdkDisplay *display, + GdkEvent *event, + GdkNativeWindow winid); +void _gdk_win32_display_add_client_message_filter (GdkDisplay *display, + GdkAtom message_type, + GdkFilterFunc func, + gpointer data); +void _gdk_win32_display_sync (GdkDisplay * display); +gboolean _gdk_win32_display_has_pending (GdkDisplay *display); +void _gdk_win32_display_queue_events (GdkDisplay *display); + +gboolean _gdk_win32_selection_owner_set_for_display (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event); +GdkWindow *_gdk_win32_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection); +gboolean _gdk_win32_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event); +void _gdk_win32_display_send_selection_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time); +gint _gdk_win32_display_get_selection_property (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format); +void _gdk_win32_display_convert_selection (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time); +gint _gdk_win32_display_text_property_to_utf8_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list); +gchar *_gdk_win32_display_utf8_to_string_target (GdkDisplay *display, const gchar *str); + +GdkKeymap *_gdk_win32_display_get_keymap (GdkDisplay *display); + +void _gdk_win32_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask); + +/* stray GdkWindowImplWin32 members */ +void _gdk_win32_window_register_dnd (GdkWindow *window); +GdkDragContext *_gdk_win32_window_drag_begin (GdkWindow *window, GdkDevice *device, GList *targets); +gboolean _gdk_win32_window_simulate_key (GdkWindow *window, + gint x, + gint y, + guint keyval, + GdkModifierType modifiers, + GdkEventType key_pressrelease); +gboolean _gdk_win32_window_simulate_button (GdkWindow *window, + gint x, + gint y, + guint button, /*1..3*/ + GdkModifierType modifiers, + GdkEventType button_pressrelease); + +gint _gdk_win32_window_get_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gulong offset, + gulong length, + gint pdelete, + GdkAtom *actual_property_type, + gint *actual_format_type, + gint *actual_length, + guchar **data); +void _gdk_win32_window_change_property (GdkWindow *window, + GdkAtom property, + GdkAtom type, + gint format, + GdkPropMode mode, + const guchar *data, + gint nelements); +void _gdk_win32_window_delete_property (GdkWindow *window, GdkAtom property); + +/* Stray GdkWin32Screen members */ +GdkVisual *_gdk_win32_screen_get_system_visual (GdkScreen *screen); +void _gdk_win32_screen_broadcast_client_message (GdkScreen *screen, GdkEvent *event); +gboolean _gdk_win32_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value); +gint _gdk_win32_screen_visual_get_best_depth (GdkScreen *screen); +GdkVisualType _gdk_win32_screen_visual_get_best_type (GdkScreen *screen); +GdkVisual *_gdk_win32_screen_visual_get_best (GdkScreen *screen); +GdkVisual *_gdk_win32_screen_visual_get_best_with_depth (GdkScreen *screen, gint depth); +GdkVisual *_gdk_win32_screen_visual_get_best_with_type (GdkScreen *screen, GdkVisualType visual_type); +GdkVisual *_gdk_win32_screen_visual_get_best_with_both (GdkScreen *screen, gint depth, GdkVisualType visual_type); +void _gdk_win32_screen_query_depths (GdkScreen *screen, gint **depths, gint *count); +void _gdk_win32_screen_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count); +GList *_gdk_win32_screen_list_visuals (GdkScreen *screen); + +/* Distributed display manager implementation */ +GdkDisplay *_gdk_win32_display_open (const gchar *display_name); +GdkAtom _gdk_win32_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gint only_if_exists); +gchar *_gdk_win32_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom); + /* Initialization */ +void _gdk_win32_windowing_init (void); void _gdk_windowing_window_init (GdkScreen *screen); void _gdk_root_window_size_init (void); void _gdk_monitor_init(void); diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index 542f83a9cb..b8882bc336 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -34,10 +34,12 @@ #include "gdkproperty.h" #include "gdkselection.h" #include "gdkprivate-win32.h" +#include "gdkwin32.h" GdkAtom -gdk_atom_intern (const gchar *atom_name, - gint only_if_exists) +_gdk_win32_display_manager_atom_intern (GdkDisplayManager *manager, + const gchar *atom_name, + gint only_if_exists) { ATOM win32_atom; GdkAtom retval; @@ -84,17 +86,9 @@ gdk_atom_intern (const gchar *atom_name, return retval; } -GdkAtom -gdk_atom_intern_static_string (const gchar *atom_name) -{ - /* on X11 this is supposed to save memory. On win32 there seems to be - * no way to make a difference ? - */ - return gdk_atom_intern (atom_name, FALSE); -} - gchar * -gdk_atom_name (GdkAtom atom) +_gdk_win32_display_manager_get_atom_name (GdkDisplayManager *manager, + GdkAtom atom) { ATOM win32_atom; gchar name[256]; @@ -122,7 +116,7 @@ gdk_atom_name (GdkAtom atom) } gint -gdk_property_get (GdkWindow *window, +_gdk_win32_window_get_property (GdkWindow *window, GdkAtom property, GdkAtom type, gulong offset, @@ -145,7 +139,7 @@ gdk_property_get (GdkWindow *window, } void -gdk_property_change (GdkWindow *window, +_gdk_win32_window_change_property (GdkWindow *window, GdkAtom property, GdkAtom type, gint format, @@ -268,8 +262,8 @@ gdk_property_change (GdkWindow *window, } void -gdk_property_delete (GdkWindow *window, - GdkAtom property) +_gdk_win32_window_delete_property (GdkWindow *window, + GdkAtom property) { gchar *prop_name; @@ -354,7 +348,7 @@ gdk_property_delete (GdkWindow *window, */ gboolean -gdk_screen_get_setting (GdkScreen *screen, +_gdk_win32_screen_get_setting (GdkScreen *screen, const gchar *name, GValue *value) { diff --git a/gdk/win32/gdkscreen-win32.c b/gdk/win32/gdkscreen-win32.c index 047e948b45..12b18d56fb 100644 --- a/gdk/win32/gdkscreen-win32.c +++ b/gdk/win32/gdkscreen-win32.c @@ -20,37 +20,77 @@ #include "config.h" #include "gdk.h" #include "gdkprivate-win32.h" +#include "gdkscreenprivate.h" +#include "gdkwin32screen.h" -GdkDisplay * -gdk_screen_get_display (GdkScreen *screen) +struct _GdkWin32Screen +{ + GdkScreen parent_instance; +}; +struct _GdkWin32ScreenClass +{ + GdkScreenClass parent_class; +}; +G_DEFINE_TYPE (GdkWin32Screen, gdk_win32_screen, GDK_TYPE_SCREEN) +static void +gdk_win32_screen_init(GdkWin32Screen *display) +{ +} + +static GdkDisplay * +gdk_win32_screen_get_display (GdkScreen *screen) { return _gdk_display; } -GdkWindow * -gdk_screen_get_root_window (GdkScreen *screen) +static gint +gdk_win32_screen_get_width (GdkScreen *screen) +{ + return GDK_WINDOW (_gdk_root)->width; +} + +static gint +gdk_win32_screen_get_height (GdkScreen *screen) +{ + return GDK_WINDOW (_gdk_root)->height; +} + +static gint +gdk_win32_screen_get_width_mm (GdkScreen *screen) +{ + return (double) gdk_screen_get_width (screen) / GetDeviceCaps (_gdk_display_hdc, LOGPIXELSX) * 25.4; +} + +static gint +gdk_win32_screen_get_height_mm (GdkScreen *screen) +{ + return (double) gdk_screen_get_height (screen) / GetDeviceCaps (_gdk_display_hdc, LOGPIXELSY) * 25.4; +} + +static GdkWindow * +gdk_win32_screen_get_root_window (GdkScreen *screen) { return _gdk_root; } -gint -gdk_screen_get_n_monitors (GdkScreen *screen) +static gint +gdk_win32_screen_get_n_monitors (GdkScreen *screen) { g_return_val_if_fail (screen == _gdk_screen, 0); return _gdk_num_monitors; } -gint -gdk_screen_get_primary_monitor (GdkScreen *screen) +static gint +gdk_win32_screen_get_primary_monitor (GdkScreen *screen) { g_return_val_if_fail (screen == _gdk_screen, 0); return 0; } -gint -gdk_screen_get_monitor_width_mm (GdkScreen *screen, +static gint +gdk_win32_screen_get_monitor_width_mm (GdkScreen *screen, gint num_monitor) { g_return_val_if_fail (screen == _gdk_screen, 0); @@ -60,8 +100,8 @@ gdk_screen_get_monitor_width_mm (GdkScreen *screen, return _gdk_monitors[num_monitor].width_mm; } -gint -gdk_screen_get_monitor_height_mm (GdkScreen *screen, +static gint +gdk_win32_screen_get_monitor_height_mm (GdkScreen *screen, gint num_monitor) { g_return_val_if_fail (screen == _gdk_screen, 0); @@ -71,8 +111,8 @@ gdk_screen_get_monitor_height_mm (GdkScreen *screen, return _gdk_monitors[num_monitor].height_mm; } -gchar * -gdk_screen_get_monitor_plug_name (GdkScreen *screen, +static gchar * +gdk_win32_screen_get_monitor_plug_name (GdkScreen *screen, gint num_monitor) { g_return_val_if_fail (screen == _gdk_screen, 0); @@ -82,8 +122,8 @@ gdk_screen_get_monitor_plug_name (GdkScreen *screen, return g_strdup (_gdk_monitors[num_monitor].name); } -void -gdk_screen_get_monitor_geometry (GdkScreen *screen, +static void +gdk_win32_screen_get_monitor_geometry (GdkScreen *screen, gint num_monitor, GdkRectangle *dest) { @@ -94,16 +134,16 @@ gdk_screen_get_monitor_geometry (GdkScreen *screen, *dest = _gdk_monitors[num_monitor].rect; } -GdkVisual * -gdk_screen_get_rgba_visual (GdkScreen *screen) +static GdkVisual * +gdk_win32_screen_get_rgba_visual (GdkScreen *screen) { g_return_val_if_fail (screen == _gdk_screen, NULL); return NULL; } -gint -gdk_screen_get_number (GdkScreen *screen) +static gint +gdk_win32_screen_get_number (GdkScreen *screen) { g_return_val_if_fail (screen == _gdk_screen, 0); @@ -120,32 +160,83 @@ _gdk_windowing_substitute_screen_number (const gchar *display_name, return g_strdup (display_name); } -gchar * -gdk_screen_make_display_name (GdkScreen *screen) +static gchar * +gdk_win32_screen_make_display_name (GdkScreen *screen) { return g_strdup (gdk_display_get_name (_gdk_display)); } -GdkWindow * -gdk_screen_get_active_window (GdkScreen *screen) +static GdkWindow * +gdk_win32_screen_get_active_window (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); return NULL; } -GList * -gdk_screen_get_window_stack (GdkScreen *screen) +static GList * +gdk_win32_screen_get_window_stack (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL); return NULL; } -gboolean -gdk_screen_is_composited (GdkScreen *screen) +static gboolean +gdk_win32_screen_is_composited (GdkScreen *screen) { g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); return FALSE; } + +static void +gdk_win32_screen_finalize (GObject *object) +{ +} + +static void +gdk_win32_screen_dispose (GObject *object) +{ +} + +static void +gdk_win32_screen_class_init (GdkWin32ScreenClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkScreenClass *screen_class = GDK_SCREEN_CLASS (klass); + + object_class->dispose = gdk_win32_screen_dispose; + object_class->finalize = gdk_win32_screen_finalize; + + screen_class->get_display = gdk_win32_screen_get_display; + screen_class->get_width = gdk_win32_screen_get_width; + screen_class->get_height = gdk_win32_screen_get_height; + screen_class->get_width_mm = gdk_win32_screen_get_width_mm; + screen_class->get_height_mm = gdk_win32_screen_get_height_mm; + screen_class->get_number = gdk_win32_screen_get_number; + screen_class->get_root_window = gdk_win32_screen_get_root_window; + screen_class->get_n_monitors = gdk_win32_screen_get_n_monitors; + screen_class->get_primary_monitor = gdk_win32_screen_get_primary_monitor; + screen_class->get_monitor_width_mm = gdk_win32_screen_get_monitor_width_mm; + screen_class->get_monitor_height_mm = gdk_win32_screen_get_monitor_height_mm; + screen_class->get_monitor_plug_name = gdk_win32_screen_get_monitor_plug_name; + screen_class->get_monitor_geometry = gdk_win32_screen_get_monitor_geometry; + screen_class->get_system_visual = _gdk_win32_screen_get_system_visual; + screen_class->get_rgba_visual = gdk_win32_screen_get_rgba_visual; + screen_class->is_composited = gdk_win32_screen_is_composited; + screen_class->make_display_name = gdk_win32_screen_make_display_name; + screen_class->get_active_window = gdk_win32_screen_get_active_window; + screen_class->get_window_stack = gdk_win32_screen_get_window_stack; + screen_class->broadcast_client_message = _gdk_win32_screen_broadcast_client_message; + screen_class->get_setting = _gdk_win32_screen_get_setting; + screen_class->visual_get_best_depth = _gdk_win32_screen_visual_get_best_depth; + screen_class->visual_get_best_type = _gdk_win32_screen_visual_get_best_type; + screen_class->visual_get_best = _gdk_win32_screen_visual_get_best; + screen_class->visual_get_best_with_depth = _gdk_win32_screen_visual_get_best_with_depth; + screen_class->visual_get_best_with_type = _gdk_win32_screen_visual_get_best_with_type; + screen_class->visual_get_best_with_both = _gdk_win32_screen_visual_get_best_with_both; + screen_class->query_depths = _gdk_win32_screen_query_depths; + screen_class->query_visual_types = _gdk_win32_screen_query_visual_types; + screen_class->list_visuals = _gdk_win32_screen_list_visuals; +} \ No newline at end of file diff --git a/gdk/win32/gdkselection-win32.c b/gdk/win32/gdkselection-win32.c index e3936a9b3e..5b56321a3e 100644 --- a/gdk/win32/gdkselection-win32.c +++ b/gdk/win32/gdkselection-win32.c @@ -33,6 +33,7 @@ #include "gdkselection.h" #include "gdkdisplay.h" #include "gdkprivate-win32.h" +#include "gdkwin32.h" /* We emulate the GDK_SELECTION window properties of windows (as used * in the X11 backend) by using a hash table from window handles to @@ -253,11 +254,11 @@ get_mapped_gdk_atom_name (GdkAtom gdk_target) } gboolean -gdk_selection_owner_set_for_display (GdkDisplay *display, - GdkWindow *owner, - GdkAtom selection, - guint32 time, - gboolean send_event) +_gdk_win32_display_set_selection_owner (GdkDisplay *display, + GdkWindow *owner, + GdkAtom selection, + guint32 time, + gboolean send_event) { HWND hwnd; GdkEvent tmp_event; @@ -333,8 +334,8 @@ gdk_selection_owner_set_for_display (GdkDisplay *display, } GdkWindow* -gdk_selection_owner_get_for_display (GdkDisplay *display, - GdkAtom selection) +_gdk_win32_display_get_selection_owner (GdkDisplay *display, + GdkAtom selection) { GdkWindow *window; @@ -351,7 +352,8 @@ gdk_selection_owner_get_for_display (GdkDisplay *display, return gdk_win32_handle_table_lookup ((GdkNativeWindow) owner); } - window = gdk_window_lookup ((GdkNativeWindow) g_hash_table_lookup (sel_owner_table, selection)); + window = gdk_win32_window_lookup_for_display (display, + (GdkNativeWindow) g_hash_table_lookup (sel_owner_table, selection)); GDK_NOTE (DND, { gchar *sel_name = gdk_atom_name (selection); @@ -387,10 +389,11 @@ generate_selection_notify (GdkWindow *requestor, } void -gdk_selection_convert (GdkWindow *requestor, - GdkAtom selection, - GdkAtom target, - guint32 time) +_gdk_win32_display_convert_selection (GdkDisplay *display, + GdkWindow *requestor, + GdkAtom selection, + GdkAtom target, + guint32 time) { HGLOBAL hdata; GdkAtom property = _gdk_selection; @@ -804,10 +807,11 @@ gdk_selection_convert (GdkWindow *requestor, } gint -gdk_selection_property_get (GdkWindow *requestor, - guchar **data, - GdkAtom *ret_type, - gint *ret_format) +_gdk_win32_display_get_selection_property (GdkDisplay *display, + GdkWindow *requestor, + guchar **data, + GdkAtom *ret_type, + gint *ret_format) { GdkSelProp *prop; @@ -869,12 +873,12 @@ _gdk_selection_property_delete (GdkWindow *window) } void -gdk_selection_send_notify_for_display (GdkDisplay *display, - GdkNativeWindow requestor, - GdkAtom selection, - GdkAtom target, - GdkAtom property, - guint32 time) +_gdk_win32_display_send_selection_notify (GdkDisplay *display, + GdkNativeWindow requestor, + GdkAtom selection, + GdkAtom target, + GdkAtom property, + guint32 time) { g_return_if_fail (display == _gdk_display); @@ -1020,13 +1024,13 @@ make_list (const gchar *text, return n_strings; } -gint -gdk_text_property_to_utf8_list_for_display (GdkDisplay *display, - GdkAtom encoding, - gint format, - const guchar *text, - gint length, - gchar ***list) +gint +_gdk_win32_display_text_property_to_utf8_list (GdkDisplay *display, + GdkAtom encoding, + gint format, + const guchar *text, + gint length, + gchar ***list) { g_return_val_if_fail (text != NULL, 0); g_return_val_if_fail (length >= 0, 0); @@ -1086,7 +1090,8 @@ gdk_string_to_compound_text_for_display (GdkDisplay *display, } gchar * -gdk_utf8_to_string_target (const gchar *str) +_gdk_win32_display_utf8_to_string_target (GdkDisplay *display, + const gchar *str) { return _gdk_utf8_to_string_target_internal (str, strlen (str)); } diff --git a/gdk/win32/gdkspawn-win32.c b/gdk/win32/gdkspawn-win32.c deleted file mode 100644 index 6cddd648b1..0000000000 --- a/gdk/win32/gdkspawn-win32.c +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2003 Sun Microsystems Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * Authors: Mark McLoughlin - */ - -#include "config.h" - -#include "gdkspawn.h" - -#include -#include - -gboolean -gdk_spawn_on_screen (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - GError **error) -{ - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - g_assert (sizeof(GPid) == sizeof(int)); - - return g_spawn_async (working_directory, - argv, - envp, - flags, - child_setup, - user_data, - child_pid, - error); -} - -gboolean -gdk_spawn_on_screen_with_pipes (GdkScreen *screen, - const gchar *working_directory, - gchar **argv, - gchar **envp, - GSpawnFlags flags, - GSpawnChildSetupFunc child_setup, - gpointer user_data, - GPid *child_pid, - gint *standard_input, - gint *standard_output, - gint *standard_error, - GError **error) -{ - g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE); - g_assert (sizeof(GPid) == sizeof(int)); - - return g_spawn_async_with_pipes (working_directory, - argv, - envp, - flags, - child_setup, - user_data, - child_pid, - standard_input, - standard_output, - standard_error, - error); -} - -gboolean -gdk_spawn_command_line_on_screen (GdkScreen *screen, - const gchar *command_line, - GError **error) -{ - gchar **argv = NULL; - gboolean retval; - - g_return_val_if_fail (command_line != NULL, FALSE); - - if (!g_shell_parse_argv (command_line, - NULL, &argv, - error)) - return FALSE; - - retval = gdk_spawn_on_screen (screen, - NULL, argv, NULL, - G_SPAWN_SEARCH_PATH, - NULL, NULL, NULL, - error); - g_strfreev (argv); - - return retval; -} diff --git a/gdk/win32/gdktestutils-win32.c b/gdk/win32/gdktestutils-win32.c index ed9faa7e89..062d09b0ac 100644 --- a/gdk/win32/gdktestutils-win32.c +++ b/gdk/win32/gdktestutils-win32.c @@ -22,13 +22,8 @@ #include -void -gdk_test_render_sync (GdkWindow *window) -{ -} - gboolean -gdk_test_simulate_key (GdkWindow *window, +_gdk_win32_window_simulate_key (GdkWindow *window, gint x, gint y, guint keyval, @@ -41,7 +36,7 @@ gdk_test_simulate_key (GdkWindow *window, } gboolean -gdk_test_simulate_button (GdkWindow *window, +_gdk_win32_window_simulate_button (GdkWindow *window, gint x, gint y, guint button, /*1..3*/ diff --git a/gdk/win32/gdkvisual-win32.c b/gdk/win32/gdkvisual-win32.c index b3d20b7031..b1f9a797b1 100644 --- a/gdk/win32/gdkvisual-win32.c +++ b/gdk/win32/gdkvisual-win32.c @@ -31,6 +31,7 @@ #include "gdkvisual.h" #include "gdkscreen.h" /* gdk_screen_get_default() */ #include "gdkprivate-win32.h" +#include "gdkvisualprivate.h" static void gdk_visual_decompose_mask (gulong mask, gint *shift, @@ -42,46 +43,6 @@ static gint available_depths[1]; static GdkVisualType available_types[1]; -static void -gdk_visual_finalize (GObject *object) -{ - g_error ("A GdkVisual object was finalized. This should not happen"); -} - -static void -gdk_visual_class_init (GObjectClass *class) -{ - class->finalize = gdk_visual_finalize; -} - -GType -gdk_visual_get_type (void) -{ - static GType object_type = 0; - - if (!object_type) - { - const GTypeInfo object_info = - { - sizeof (GdkVisualClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gdk_visual_class_init, - NULL, /* class_finalize */ - NULL, /* class_data */ - sizeof (GdkVisual), - 0, /* n_preallocs */ - (GInstanceInitFunc) NULL, - }; - - object_type = g_type_register_static (G_TYPE_OBJECT, - "GdkVisual", - &object_info, 0); - } - - return object_type; -} - void _gdk_visual_init (void) { @@ -102,6 +63,7 @@ _gdk_visual_init (void) gint map_entries = 0; system_visual = g_object_new (GDK_TYPE_VISUAL, NULL); + system_visual->screen = gdk_screen_get_default(); GDK_NOTE (COLORMAP, g_print ("BITSPIXEL=%d NUMCOLORS=%d\n", bitspixel, numcolors)); @@ -290,31 +252,31 @@ _gdk_visual_init (void) } gint -gdk_visual_get_best_depth (void) +_gdk_win32_screen_visual_get_best_depth (GdkScreen *screen) { return available_depths[0]; } GdkVisualType -gdk_visual_get_best_type (void) +_gdk_win32_screen_visual_get_best_type (GdkScreen *screen) { return available_types[0]; } GdkVisual* -gdk_screen_get_system_visual (GdkScreen *screen) +_gdk_win32_screen_get_system_visual (GdkScreen *screen) { return system_visual; } GdkVisual* -gdk_visual_get_best (void) +_gdk_win32_screen_visual_get_best (GdkScreen *screen) { return ((GdkVisual*) system_visual); } GdkVisual* -gdk_visual_get_best_with_depth (gint depth) +_gdk_win32_screen_visual_get_best_with_depth (GdkScreen *screen, gint depth) { if (depth == system_visual->depth) return (GdkVisual*) system_visual; @@ -323,7 +285,7 @@ gdk_visual_get_best_with_depth (gint depth) } GdkVisual* -gdk_visual_get_best_with_type (GdkVisualType visual_type) +_gdk_win32_screen_visual_get_best_with_type (GdkScreen *screen, GdkVisualType visual_type) { if (visual_type == system_visual->type) return system_visual; @@ -332,8 +294,9 @@ gdk_visual_get_best_with_type (GdkVisualType visual_type) } GdkVisual* -gdk_visual_get_best_with_both (gint depth, - GdkVisualType visual_type) +_gdk_win32_screen_visual_get_best_with_both (GdkScreen *screen, + gint depth, + GdkVisualType visual_type) { if ((depth == system_visual->depth) && (visual_type == system_visual->type)) return system_visual; @@ -342,35 +305,29 @@ gdk_visual_get_best_with_both (gint depth, } void -gdk_query_depths (gint **depths, - gint *count) +_gdk_win32_screen_query_depths (GdkScreen *screen, + gint **depths, + gint *count) { *count = 1; *depths = available_depths; } void -gdk_query_visual_types (GdkVisualType **visual_types, - gint *count) +_gdk_win32_screen_query_visual_types (GdkScreen *screen, + GdkVisualType **visual_types, + gint *count) { *count = 1; *visual_types = available_types; } GList* -gdk_screen_list_visuals (GdkScreen *screen) +_gdk_win32_screen_list_visuals (GdkScreen *screen) { return g_list_append (NULL, (gpointer) system_visual); } -GdkScreen * -gdk_visual_get_screen (GdkVisual *visual) -{ - g_return_val_if_fail (GDK_IS_VISUAL (visual), NULL); - - return gdk_screen_get_default (); -} - static void gdk_visual_decompose_mask (gulong mask, gint *shift, diff --git a/gdk/win32/gdkwin32.h b/gdk/win32/gdkwin32.h index 9d7d983ec0..276d37c831 100644 --- a/gdk/win32/gdkwin32.h +++ b/gdk/win32/gdkwin32.h @@ -27,6 +27,18 @@ #ifndef __GDK_WIN32_H__ #define __GDK_WIN32_H__ +#define __GDKWIN32_H_INSIDE__ + +#include +#include +#include +#include +#include +#include +#include + +#undef __GDKWIN32_H_INSIDE__ + #include #ifndef STRICT @@ -41,19 +53,13 @@ G_BEGIN_DECLS #include "gdkprivate-win32.h" -#define GDK_WINDOW_HWND(win) (GDK_DRAWABLE_IMPL_WIN32(((GdkWindowObject *)win)->impl)->handle) -#define GDK_DRAWABLE_IMPL_WIN32_HANDLE(d) (((GdkDrawableImplWin32 *) d)->handle) -#define GDK_DRAWABLE_HANDLE(win) (GDK_IS_WINDOW (win) ? GDK_WINDOW_HWND (win) : (GDK_IS_DRAWABLE_IMPL_WIN32 (win) ? GDK_DRAWABLE_IMPL_WIN32_HANDLE (win) : 0)) +#define GDK_WINDOW_HWND(win) (GDK_WINDOW_IMPL_WIN32(win->impl)->handle) #else /* definition for exported 'internals' go here */ -#define GDK_WINDOW_HWND(d) (gdk_win32_drawable_get_handle (d)) +#define GDK_WINDOW_HWND(d) (gdk_win32_window_get_handle (d)) #endif -#define GDK_ROOT_WINDOW() ((guint32) HWND_DESKTOP) -#define GDK_DISPLAY() NULL - - /* These need to be here so gtkstatusicon.c can pick them up if needed. */ #ifndef WM_XBUTTONDOWN #define WM_XBUTTONDOWN 0x020B @@ -77,9 +83,8 @@ gboolean gdk_win32_window_is_win32 (GdkWindow *window); /* Return the Gdk* for a particular HANDLE */ gpointer gdk_win32_handle_table_lookup (GdkNativeWindow handle); - -/* Translate from drawable to Windows handle */ -HGDIOBJ gdk_win32_drawable_get_handle (GdkDrawable *drawable); +/* Translate from window to Windows handle */ +HGDIOBJ gdk_win32_window_get_handle (GdkWindow *window); void gdk_win32_selection_add_targets (GdkWindow *owner, GdkAtom selection, diff --git a/gdk/win32/gdkwin32cursor.h b/gdk/win32/gdkwin32cursor.h new file mode 100644 index 0000000000..6146f32d8f --- /dev/null +++ b/gdk/win32/gdkwin32cursor.h @@ -0,0 +1,56 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_CURSOR_H__ +#define __GDK_WIN32_CURSOR_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_WIN32_CURSOR (gdk_win32_cursor_get_type ()) +#define GDK_WIN32_CURSOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_CURSOR, GdkWin32Cursor)) +#define GDK_WIN32_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_CURSOR, GdkWin32CursorClass)) +#define GDK_IS_WIN32_CURSOR(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_CURSOR)) +#define GDK_IS_WIN32_CURSOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_CURSOR)) +#define GDK_WIN32_CURSOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_CURSOR, GdkWin32CursorClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32Cursor GdkWin32Cursor; +#else +typedef GdkCursor GdkWin32Cursor; +#endif +typedef struct _GdkWin32CursorClass GdkWin32CursorClass; + +GType gdk_win32_cursor_get_type (void); + +G_END_DECLS + +#endif /* __GDK_WIN32_CURSOR_H__ */ diff --git a/gdk/win32/gdkwin32display.h b/gdk/win32/gdkwin32display.h new file mode 100644 index 0000000000..9ff9a9d109 --- /dev/null +++ b/gdk/win32/gdkwin32display.h @@ -0,0 +1,56 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_DISPLAY_H__ +#define __GDK_WIN32_DISPLAY_H__ + +#include + +G_BEGIN_DECLS + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32Display GdkWin32Display; +#else +typedef GdkDisplay GdkWin32Display; +#endif +typedef struct _GdkWin32DisplayClass GdkWin32DisplayClass; + +#define GDK_TYPE_WIN32_DISPLAY (gdk_win32_display_get_type()) +#define GDK_WIN32_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_DISPLAY, GdkWin32Display)) +#define GDK_WIN32_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_DISPLAY, GdkWin32DisplayClass)) +#define GDK_IS_WIN32_DISPLAY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_DISPLAY)) +#define GDK_IS_WIN32_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_DISPLAY)) +#define GDK_WIN32_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_DISPLAY, GdkWin32DisplayClass)) + +GType gdk_win32_display_get_type (void); + +G_END_DECLS + +#endif /* __GDK_WIN32_DISPLAY_H__ */ diff --git a/gdk/win32/gdkwin32displaymanager.h b/gdk/win32/gdkwin32displaymanager.h new file mode 100644 index 0000000000..61c1ce4a97 --- /dev/null +++ b/gdk/win32/gdkwin32displaymanager.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_DISPLAY_MANAGER_H__ +#define __GDK_WIN32_DISPLAY_MANAGER_H__ + +#include + +G_BEGIN_DECLS + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32DisplayManager GdkWin32DisplayManager; +#else +typedef GdkDisplayManager GdkWin32DisplayManager; +#endif +typedef struct _GdkWin32DisplayManagerClass GdkWin32DisplayManagerClass; + +#define GDK_TYPE_WIN32_DISPLAY_MANAGER (gdk_win32_display_manager_get_type()) +#define GDK_WIN32_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_DISPLAY_MANAGER, GdkWin32DisplayManager)) +#define GDK_WIN32_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_DISPLAY_MANAGER, GdkWin32DisplayManagerClass)) +#define GDK_IS_WIN32_DISPLAY_MANAGER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_DISPLAY_MANAGER)) +#define GDK_IS_WIN32_DISPLAY_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_DISPLAY_MANAGER)) +#define GDK_WIN32_DISPLAY_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_DISPLAY_MANAGER, GdkWin32DisplayManagerClass)) + +GType gdk_win32_display_manager_get_type (void); + +G_END_DECLS + +#endif /* __GDK_WIN32_DISPLAY_MANAGER_H__ */ diff --git a/gdk/win32/gdkwin32dnd.h b/gdk/win32/gdkwin32dnd.h new file mode 100644 index 0000000000..1632d763fc --- /dev/null +++ b/gdk/win32/gdkwin32dnd.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_DND_H__ +#define __GDK_WIN32_DND_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_WIN32_DRAG_CONTEXT (gdk_win32_drag_context_get_type ()) +#define GDK_WIN32_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_DRAG_CONTEXT, GdkWin32DragContext)) +#define GDK_WIN32_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_DRAG_CONTEXT, GdkWin32DragContextClass)) +#define GDK_IS_WIN32_DRAG_CONTEXT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_DRAG_CONTEXT)) +#define GDK_IS_WIN32_DRAG_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_DRAG_CONTEXT)) +#define GDK_WIN32_DRAG_CONTEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_DRAG_CONTEXT, GdkWin32DragContextClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32DragContext GdkWin32DragContext; +#else +typedef GdkDragContext GdkWin32DragContext; +#endif +typedef struct _GdkWin32DragContextClass GdkWin32DragContextClass; + +GType gdk_win32_drag_context_get_type (void); + +G_END_DECLS + +#endif /* __GDK_WIN32_DRAG_CONTEXT_H__ */ diff --git a/gdk/win32/gdkwin32keys.h b/gdk/win32/gdkwin32keys.h new file mode 100644 index 0000000000..1d7a589d74 --- /dev/null +++ b/gdk/win32/gdkwin32keys.h @@ -0,0 +1,49 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_KEYS_H__ +#define __GDK_WIN32_KEYS_H__ + +#include + +G_BEGIN_DECLS + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32Keymap GdkWin32Keymap; +#else +typedef GdkKeymap GdkWin32Keymap; +#endif +typedef struct _GdkWin32KeymapClass GdkWin32KeymapClass; + +#define GDK_TYPE_WIN32_KEYMAP (gdk_win32_keymap_get_type()) +#define GDK_WIN32_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_KEYMAP, GdkWin32Keymap)) +#define GDK_WIN32_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_KEYMAP, GdkWin32KeymapClass)) +#define GDK_IS_WIN32_KEYMAP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_KEYMAP)) +#define GDK_IS_WIN32_KEYMAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_KEYMAP)) +#define GDK_WIN32_KEYMAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_KEYMAP, GdkWin32KeymapClass)) + +GType gdk_win32_keymap_get_type (void); + +G_END_DECLS + +#endif /* __GDK_WIN32_KEYMAP_H__ */ diff --git a/gdk/win32/gdkwin32screen.h b/gdk/win32/gdkwin32screen.h new file mode 100644 index 0000000000..594f604e50 --- /dev/null +++ b/gdk/win32/gdkwin32screen.h @@ -0,0 +1,56 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_SCREEN_H__ +#define __GDK_WIN32_SCREEN_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_WIN32_SCREEN (gdk_win32_screen_get_type ()) +#define GDK_WIN32_SCREEN(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_SCREEN, GdkWin32Screen)) +#define GDK_WIN32_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_SCREEN, GdkWin32ScreenClass)) +#define GDK_IS_WIN32_SCREEN(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_SCREEN)) +#define GDK_IS_WIN32_SCREEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_SCREEN)) +#define GDK_WIN32_SCREEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_SCREEN, GdkWin32ScreenClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32Screen GdkWin32Screen; +#else +typedef GdkScreen GdkWin32Screen; +#endif +typedef struct _GdkWin32ScreenClass GdkWin32ScreenClass; + +GType gdk_win32_screen_get_type (void); + +G_END_DECLS + +#endif /* __GDK_WIN32_SCREEN_H__ */ diff --git a/gdk/win32/gdkwin32window.h b/gdk/win32/gdkwin32window.h new file mode 100644 index 0000000000..22e8f4c126 --- /dev/null +++ b/gdk/win32/gdkwin32window.h @@ -0,0 +1,56 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +#if !defined (__GDKWIN32_H_INSIDE__) && !defined (GDK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GDK_WIN32_WINDOW_H__ +#define __GDK_WIN32_WINDOW_H__ + +#include + +G_BEGIN_DECLS + +#define GDK_TYPE_WIN32_WINDOW (gdk_win32_window_get_type ()) +#define GDK_WIN32_WINDOW(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_WIN32_WINDOW, GdkWin32Window)) +#define GDK_WIN32_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_WIN32_WINDOW, GdkWin32WindowClass)) +#define GDK_IS_WIN32_WINDOW(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_WIN32_WINDOW)) +#define GDK_IS_WIN32_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_WIN32_WINDOW)) +#define GDK_WIN32_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_WIN32_WINDOW, GdkWin32WindowClass)) + +#ifdef GDK_COMPILATION +typedef struct _GdkWin32Window GdkWin32Window; +#else +typedef GdkWindow GdkWin32Window; +#endif +typedef struct _GdkWin32WindowClass GdkWin32WindowClass; + +GType gdk_win32_window_get_type (void); + +G_END_DECLS + +#endif /* __GDK_X11_WINDOW_H__ */ diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c index c9130bc758..01a17abee6 100644 --- a/gdk/win32/gdkwindow-win32.c +++ b/gdk/win32/gdkwindow-win32.c @@ -1,7 +1,7 @@ /* GDK - The GIMP Drawing Kit * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald * Copyright (C) 1998-2004 Tor Lillqvist - * Copyright (C) 2001-2009 Hans Breuer + * Copyright (C) 2001-2011 Hans Breuer * Copyright (C) 2007-2009 Cody Russell * * This library is free software; you can redistribute it and/or @@ -36,6 +36,12 @@ #include "gdkdeviceprivate.h" #include "gdkdevicemanager-win32.h" #include "gdkenumtypes.h" +#include "gdkwin32.h" +#include "gdkdisplayprivate.h" +#include "gdkvisualprivate.h" +#include "gdkwin32window.h" + +#include static void gdk_window_impl_win32_init (GdkWindowImplWin32 *window); static void gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass); @@ -44,6 +50,8 @@ static void gdk_window_impl_win32_finalize (GObject *object); static gpointer parent_class = NULL; static GSList *modal_window_stack = NULL; +static const cairo_user_data_key_t gdk_win32_cairo_key; + static void update_style_bits (GdkWindow *window); static gboolean _gdk_window_get_functions (GdkWindow *window, GdkWMFunction *functions); @@ -53,14 +61,35 @@ static gboolean _gdk_window_get_functions (GdkWindow *window, GDK_WINDOW_TYPE (window) != GDK_WINDOW_FOREIGN && \ GDK_WINDOW_TYPE (window) != GDK_WINDOW_OFFSCREEN) -static void gdk_window_impl_iface_init (GdkWindowImplIface *iface); - GdkScreen * GDK_WINDOW_SCREEN (GObject *win) { return _gdk_screen; } +struct _GdkWin32Window { + GdkWindow parent; +}; + +struct _GdkWin32WindowClass { + GdkWindowClass parent_class; +}; + +G_DEFINE_TYPE (GdkWin32Window, gdk_win32_window, GDK_TYPE_WINDOW) + +static void +gdk_win32_window_class_init (GdkWin32WindowClass *window_class) +{ +} + +static void +gdk_win32_window_init (GdkWin32Window *window) +{ +} + + +G_DEFINE_TYPE (GdkWindowImplWin32, gdk_window_impl_win32, GDK_TYPE_WINDOW_IMPL) + GType _gdk_window_impl_win32_get_type (void) { @@ -81,19 +110,9 @@ _gdk_window_impl_win32_get_type (void) (GInstanceInitFunc) gdk_window_impl_win32_init, }; - const GInterfaceInfo window_impl_info = - { - (GInterfaceInitFunc) gdk_window_impl_iface_init, - NULL, - NULL - }; - - object_type = g_type_register_static (GDK_TYPE_DRAWABLE_IMPL_WIN32, + object_type = g_type_register_static (GDK_TYPE_WINDOW_IMPL, "GdkWindowImplWin32", &object_info, 0); - g_type_add_interface_static (object_type, - GDK_TYPE_WINDOW_IMPL, - &window_impl_info); } return object_type; @@ -115,33 +134,21 @@ gdk_window_impl_win32_init (GdkWindowImplWin32 *impl) impl->changing_state = FALSE; } -static void -gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - parent_class = g_type_class_peek_parent (klass); - - object_class->finalize = gdk_window_impl_win32_finalize; -} - static void gdk_window_impl_win32_finalize (GObject *object) { - GdkWindowObject *wrapper; - GdkDrawableImplWin32 *draw_impl; + GdkWindow *wrapper; GdkWindowImplWin32 *window_impl; g_return_if_fail (GDK_IS_WINDOW_IMPL_WIN32 (object)); - draw_impl = GDK_DRAWABLE_IMPL_WIN32 (object); window_impl = GDK_WINDOW_IMPL_WIN32 (object); - wrapper = (GdkWindowObject*) draw_impl->wrapper; + wrapper = window_impl->wrapper; if (!GDK_WINDOW_DESTROYED (wrapper)) { - gdk_win32_handle_table_remove (draw_impl->handle); + gdk_win32_handle_table_remove (window_impl->handle); } if (window_impl->hcursor != NULL) @@ -182,52 +189,50 @@ _gdk_win32_adjust_client_rect (GdkWindow *window, void _gdk_root_window_size_init (void) { - GdkWindowObject *window_object; + GdkWindow *window; GdkRectangle rect; int i; - window_object = GDK_WINDOW_OBJECT (_gdk_root); + window = GDK_WINDOW (_gdk_root); rect = _gdk_monitors[0].rect; for (i = 1; i < _gdk_num_monitors; i++) gdk_rectangle_union (&rect, &_gdk_monitors[i].rect, &rect); - window_object->width = rect.width; - window_object->height = rect.height; + window->width = rect.width; + window->height = rect.height; } void _gdk_windowing_window_init (GdkScreen *screen) { - GdkWindowObject *private; - GdkDrawableImplWin32 *draw_impl; + GdkWindow *window; + GdkWindowImplWin32 *impl_win32; g_assert (_gdk_root == NULL); _gdk_root = _gdk_display_create_window (_gdk_display); - private = (GdkWindowObject *)_gdk_root; - private->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); - private->impl_window = private; - private->visual = gdk_screen_get_system_visual (screen); + window = (GdkWindow *)_gdk_root; + window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); + impl_win32 = GDK_WINDOW_IMPL_WIN32 (window->impl); + impl_win32->wrapper = window; - draw_impl = GDK_DRAWABLE_IMPL_WIN32 (private->impl); - - draw_impl->handle = GetDesktopWindow (); - draw_impl->wrapper = GDK_DRAWABLE (private); - - private->window_type = GDK_WINDOW_ROOT; - private->depth = gdk_visual_get_system ()->depth; + window->impl_window = window; + window->visual = gdk_screen_get_system_visual (screen); + + window->window_type = GDK_WINDOW_ROOT; + window->depth = gdk_visual_get_system ()->depth; _gdk_root_window_size_init (); - private->x = 0; - private->y = 0; - private->abs_x = 0; - private->abs_y = 0; + window->x = 0; + window->y = 0; + window->abs_x = 0; + window->abs_y = 0; /* width and height already initialised in _gdk_root_window_size_init() */ - private->viewable = TRUE; + window->viewable = TRUE; - gdk_win32_handle_table_insert ((HANDLE *) &draw_impl->handle, _gdk_root); + gdk_win32_handle_table_insert ((HANDLE *) &impl_win32->handle, _gdk_root); GDK_NOTE (MISC, g_print ("_gdk_root=%p\n", GDK_WINDOW_HWND (_gdk_root))); } @@ -395,67 +400,93 @@ RegisterGdkClass (GdkWindowType wtype, GdkWindowTypeHint wtype_hint) return klass; } +/* + * Create native windows. + * + * With the default Gdk the created windows are mostly toplevel windows. + * A lot of child windows are only created for GDK_NATIVE_WINDOWS. + * + * Placement of the window is derived from the passed in window, + * except for toplevel window where OS/Window Manager placement + * is used. + * + * The visual parameter, is based on GDK_WA_VISUAL if set already. + * From attributes the only things used is: colormap, title, + * wmclass and type_hint. [1]. We are checking redundant information + * and complain if that changes, which would break this implementation + * again. + * + * [1] http://mail.gnome.org/archives/gtk-devel-list/2010-August/msg00214.html + */ void -_gdk_window_impl_new (GdkWindow *window, - GdkWindow *real_parent, - GdkScreen *screen, - GdkEventMask event_mask, - GdkWindowAttr *attributes, - gint attributes_mask) +_gdk_win32_display_create_window_impl (GdkDisplay *display, + GdkWindow *window, + GdkWindow *real_parent, + GdkScreen *screen, + GdkEventMask event_mask, + GdkWindowAttr *attributes, + gint attributes_mask) { HWND hwndNew; HANDLE hparent; ATOM klass = 0; DWORD dwStyle = 0, dwExStyle; RECT rect; - GdkWindow *orig_parent; - GdkWindowObject *private; GdkWindowImplWin32 *impl; - GdkDrawableImplWin32 *draw_impl; const gchar *title; wchar_t *wtitle; gint window_width, window_height; gint offset_x = 0, offset_y = 0; - - private = (GdkWindowObject *)window; - - orig_parent = real_parent; + gint x, y; + /* check consistency of redundant information */ + guint remaining_mask = attributes_mask; GDK_NOTE (MISC, - g_print ("_gdk_window_impl_new: %s\n", - (attributes->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" : - (attributes->window_type == GDK_WINDOW_CHILD ? "CHILD" : - (attributes->window_type == GDK_WINDOW_TEMP ? "TEMP" : - "???"))))); + g_print ("_gdk_window_impl_new: %s %s\n", + (window->window_type == GDK_WINDOW_TOPLEVEL ? "TOPLEVEL" : + (window->window_type == GDK_WINDOW_CHILD ? "CHILD" : + (window->window_type == GDK_WINDOW_TEMP ? "TEMP" : + "???"))), + (attributes->wclass == GDK_INPUT_OUTPUT ? "" : "input-only")) + ); + + /* to ensure to not miss important information some additional check against + * attributes which may silently work on X11 */ + if ((attributes_mask & GDK_WA_X) != 0) + { + g_assert (attributes->x == window->x); + remaining_mask &= ~GDK_WA_X; + } + if ((attributes_mask & GDK_WA_Y) != 0) + { + g_assert (attributes->y == window->y); + remaining_mask &= ~GDK_WA_Y; + } + if ((attributes_mask & GDK_WA_NOREDIR) != 0) + remaining_mask &= ~GDK_WA_NOREDIR; + + if ((remaining_mask & ~(GDK_WA_WMCLASS|GDK_WA_VISUAL|GDK_WA_CURSOR|GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0) + g_warning ("_gdk_window_impl_new: uexpected attribute 0x%X", + remaining_mask & ~(GDK_WA_WMCLASS|GDK_WA_VISUAL|GDK_WA_CURSOR|GDK_WA_TITLE|GDK_WA_TYPE_HINT)); hparent = GDK_WINDOW_HWND (real_parent); impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); - private->impl = (GdkDrawable *)impl; - draw_impl = GDK_DRAWABLE_IMPL_WIN32 (impl); - draw_impl->wrapper = GDK_DRAWABLE (window); + impl->wrapper = GDK_WINDOW (window); + window->impl = GDK_WINDOW_IMPL (impl); - // XXX: xattributes_mask = 0 - -#if 0 if (attributes_mask & GDK_WA_VISUAL) - visual = attributes->visual; - else - visual = gdk_visual_get_system (); -#endif + g_assert (gdk_screen_get_system_visual (screen) == attributes->visual); -#if 0 - impl->width = (attributes->width > 1) ? (attributes->width) : (1); - impl->height = (attributes->height > 1) ? (attributes->height) : (1); -#endif impl->extension_events_selected = FALSE; - // XXX ? - if (attributes->wclass == GDK_INPUT_OUTPUT) + /* wclass is not any longer set always, but if is ... */ + if ((attributes_mask & GDK_WA_WMCLASS) == GDK_WA_WMCLASS) + g_assert ((attributes->wclass == GDK_INPUT_OUTPUT) == !window->input_only); + + if (!window->input_only) { dwExStyle = 0; - - private->input_only = FALSE; } else { @@ -464,27 +495,25 @@ _gdk_window_impl_new (GdkWindow *window, * to work well enough for the actual use cases in gtk. */ dwExStyle = WS_EX_TRANSPARENT; - private->depth = 0; - private->input_only = TRUE; GDK_NOTE (MISC, g_print ("... GDK_INPUT_ONLY\n")); } - switch (private->window_type) + switch (window->window_type) { case GDK_WINDOW_TOPLEVEL: - if (GDK_WINDOW_TYPE (private->parent) != GDK_WINDOW_ROOT) + if (GDK_WINDOW_TYPE (window->parent) != GDK_WINDOW_ROOT) { /* The common code warns for this case. */ hparent = GetDesktopWindow (); } /* Children of foreign windows aren't toplevel windows */ - if (GDK_WINDOW_TYPE (orig_parent) == GDK_WINDOW_FOREIGN) + if (GDK_WINDOW_TYPE (real_parent) == GDK_WINDOW_FOREIGN) { dwStyle = WS_CHILDWINDOW | WS_CLIPCHILDREN; } else { - if (private->window_type == GDK_WINDOW_TOPLEVEL) + if (window->window_type == GDK_WINDOW_TOPLEVEL) dwStyle = WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN; else dwStyle = WS_OVERLAPPED | WS_MINIMIZEBOX | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_CLIPCHILDREN; @@ -511,21 +540,29 @@ _gdk_window_impl_new (GdkWindow *window, g_assert_not_reached (); } - if (private->window_type != GDK_WINDOW_CHILD) + if (window->window_type != GDK_WINDOW_CHILD) { - rect.left = rect.top = 0; - rect.right = private->width; - rect.bottom = private->height; + rect.left = window->x; + rect.top = window->y; + rect.right = window->width; + rect.bottom = window->height; AdjustWindowRectEx (&rect, dwStyle, FALSE, dwExStyle); + /* non child windows are placed by the OS/window manager */ + x = y = CW_USEDEFAULT; + window_width = rect.right - rect.left; window_height = rect.bottom - rect.top; } else { - window_width = private->width; - window_height = private->height; + /* adjust position relative to real_parent */ + window_width = window->width; + window_height = window->height; + /* use given position for initial placement, native coordinates */ + x = window->x + window->parent->abs_x - offset_x; + y = window->y + window->parent->abs_y - offset_y; } if (attributes_mask & GDK_WA_TITLE) @@ -535,20 +572,15 @@ _gdk_window_impl_new (GdkWindow *window, if (!title || !*title) title = ""; - private->event_mask = GDK_STRUCTURE_MASK | attributes->event_mask; + window->event_mask = GDK_STRUCTURE_MASK | event_mask; if (attributes_mask & GDK_WA_TYPE_HINT) - impl->type_hint = attributes->type_hint; - else - impl->type_hint = GDK_WINDOW_TYPE_HINT_NORMAL; + gdk_window_set_type_hint (window, attributes->type_hint); if (impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY) dwExStyle |= WS_EX_TOOLWINDOW; - if (private->parent) - private->parent->children = g_list_prepend (private->parent->children, window); - - klass = RegisterGdkClass (private->window_type, impl->type_hint); + klass = RegisterGdkClass (window->window_type, impl->type_hint); wtitle = g_utf8_to_utf16 (title, -1, NULL, NULL, NULL); @@ -556,9 +588,8 @@ _gdk_window_impl_new (GdkWindow *window, MAKEINTRESOURCEW (klass), wtitle, dwStyle, - ((attributes_mask & GDK_WA_X) ? - private->x - offset_x : CW_USEDEFAULT), - private->y - offset_y, + x, + y, window_width, window_height, hparent, NULL, @@ -581,7 +612,7 @@ _gdk_window_impl_new (GdkWindow *window, gdk_win32_handle_table_insert (&GDK_WINDOW_HWND (window), window); # else /* the old behaviour, but with warning */ - draw_impl->handle = hwndNew; + impl->handle = hwndNew; # endif } @@ -592,9 +623,8 @@ _gdk_window_impl_new (GdkWindow *window, GDK_NOTE (MISC, g_print ("... \"%s\" %dx%d@%+d%+d %p = %p\n", title, window_width, window_height, - ((attributes_mask & GDK_WA_X) ? - private->x - offset_x: CW_USEDEFAULT), - private->y - offset_y, + window->x - offset_x, + window->y - offset_y, hparent, GDK_WINDOW_HWND (window))); @@ -603,19 +633,18 @@ _gdk_window_impl_new (GdkWindow *window, g_free (wtitle); - if (draw_impl->handle == NULL) + if (impl->handle == NULL) { WIN32_API_FAILED ("CreateWindowExW"); g_object_unref (window); return; } -// if (!from_set_skip_taskbar_hint && private->window_type == GDK_WINDOW_TEMP) +// if (!from_set_skip_taskbar_hint && window->window_type == GDK_WINDOW_TEMP) // gdk_window_set_skip_taskbar_hint (window, TRUE); - gdk_window_set_cursor (window, ((attributes_mask & GDK_WA_CURSOR) ? - (attributes->cursor) : - NULL)); + if (attributes_mask & GDK_WA_CURSOR) + gdk_window_set_cursor (window, attributes->cursor); } GdkWindow * @@ -623,9 +652,7 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display, GdkNativeWindow anid) { GdkWindow *window; - GdkWindowObject *private; GdkWindowImplWin32 *impl; - GdkDrawableImplWin32 *draw_impl; HANDLE parent; RECT rect; @@ -634,54 +661,51 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display, g_return_val_if_fail (display == _gdk_display, NULL); window = _gdk_display_create_window (display); - private = (GdkWindowObject *)window; - private->visual = gdk_screen_get_system_visual (_gdk_screen); - private->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); - impl = GDK_WINDOW_IMPL_WIN32 (private->impl); - draw_impl = GDK_DRAWABLE_IMPL_WIN32 (private->impl); - draw_impl->wrapper = GDK_DRAWABLE (window); + window->visual = gdk_screen_get_system_visual (_gdk_screen); + window->impl = g_object_new (GDK_TYPE_WINDOW_IMPL_WIN32, NULL); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); + impl->wrapper = window; parent = GetParent ((HWND)anid); - private->parent = gdk_win32_handle_table_lookup ((GdkNativeWindow) parent); - if (!private->parent || GDK_WINDOW_TYPE (private->parent) == GDK_WINDOW_FOREIGN) - private->parent = (GdkWindowObject *)_gdk_root; + window->parent = gdk_win32_handle_table_lookup ((GdkNativeWindow) parent); + if (!window->parent || GDK_WINDOW_TYPE (window->parent) == GDK_WINDOW_FOREIGN) + window->parent = _gdk_root; - private->parent->children = g_list_prepend (private->parent->children, window); + window->parent->children = g_list_prepend (window->parent->children, window); - draw_impl->handle = (HWND) anid; GetClientRect ((HWND) anid, &rect); point.x = rect.left; point.y = rect.right; ClientToScreen ((HWND) anid, &point); if (parent != GetDesktopWindow ()) ScreenToClient (parent, &point); - private->x = point.x; - private->y = point.y; - private->width = rect.right - rect.left; - private->height = rect.bottom - rect.top; - private->window_type = GDK_WINDOW_FOREIGN; - private->destroyed = FALSE; - private->event_mask = GDK_ALL_EVENTS_MASK; /* XXX */ + window->x = point.x; + window->y = point.y; + window->width = rect.right - rect.left; + window->height = rect.bottom - rect.top; + window->window_type = GDK_WINDOW_FOREIGN; + window->destroyed = FALSE; + window->event_mask = GDK_ALL_EVENTS_MASK; /* XXX */ if (IsWindowVisible ((HWND) anid)) - private->state &= (~GDK_WINDOW_STATE_WITHDRAWN); + window->state &= (~GDK_WINDOW_STATE_WITHDRAWN); else - private->state |= GDK_WINDOW_STATE_WITHDRAWN; + window->state |= GDK_WINDOW_STATE_WITHDRAWN; if (GetWindowLong ((HWND)anid, GWL_EXSTYLE) & WS_EX_TOPMOST) - private->state |= GDK_WINDOW_STATE_ABOVE; + window->state |= GDK_WINDOW_STATE_ABOVE; else - private->state &= (~GDK_WINDOW_STATE_ABOVE); - private->state &= (~GDK_WINDOW_STATE_BELOW); - private->viewable = TRUE; + window->state &= (~GDK_WINDOW_STATE_ABOVE); + window->state &= (~GDK_WINDOW_STATE_BELOW); + window->viewable = TRUE; - private->depth = gdk_visual_get_system ()->depth; + window->depth = gdk_visual_get_system ()->depth; g_object_ref (window); gdk_win32_handle_table_insert (&GDK_WINDOW_HWND (window), window); GDK_NOTE (MISC, g_print ("gdk_win32_window_foreign_new_for_display: %p: %s@%+d%+d\n", (HWND) anid, - _gdk_win32_drawable_description (window), - private->x, private->y)); + _gdk_win32_window_description (window), + window->x, window->y)); return window; } @@ -691,8 +715,7 @@ gdk_win32_window_destroy (GdkWindow *window, gboolean recursing, gboolean foreign_destroy) { - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplWin32 *window_impl = GDK_WINDOW_IMPL_WIN32 (private->impl); + GdkWindowImplWin32 *window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl); GSList *tmp; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -708,7 +731,7 @@ gdk_win32_window_destroy (GdkWindow *window, while (tmp != NULL) { GdkWindow *child = tmp->data; - GdkWindowImplWin32 *child_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (child)->impl); + GdkWindowImplWin32 *child_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW (child)->impl); child_impl->transient_owner = NULL; tmp = g_slist_next (tmp); @@ -724,9 +747,7 @@ gdk_win32_window_destroy (GdkWindow *window, if (!recursing && !foreign_destroy) { - _gdk_win32_drawable_finish (private->impl); - - private->destroyed = TRUE; + window->destroyed = TRUE; DestroyWindow (GDK_WINDOW_HWND (window)); } @@ -759,8 +780,8 @@ gdk_win32_window_destroy_foreign (GdkWindow *window) /* This function is called when the window really gone. */ -void -gdk_window_destroy_notify (GdkWindow *window) +static void +gdk_win32_window_destroy_notify (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -801,11 +822,9 @@ adjust_for_gravity_hints (GdkWindow *window, gint *x, gint *y) { - GdkWindowObject *obj; - GdkWindowImplWin32 *impl; + GdkWindowImplWin32 *impl; - obj = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_WIN32 (obj->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); if (impl->hint_flags & GDK_HINT_WIN_GRAVITY) { @@ -817,14 +836,14 @@ adjust_for_gravity_hints (GdkWindow *window, case GDK_GRAVITY_CENTER: case GDK_GRAVITY_SOUTH: *x -= (outer_rect->right - outer_rect->left) / 2; - *x += obj->width / 2; + *x += window->width / 2; break; case GDK_GRAVITY_SOUTH_EAST: case GDK_GRAVITY_EAST: case GDK_GRAVITY_NORTH_EAST: *x -= outer_rect->right - outer_rect->left; - *x += obj->width; + *x += window->width; break; case GDK_GRAVITY_STATIC: @@ -841,14 +860,14 @@ adjust_for_gravity_hints (GdkWindow *window, case GDK_GRAVITY_CENTER: case GDK_GRAVITY_EAST: *y -= (outer_rect->bottom - outer_rect->top) / 2; - *y += obj->height / 2; + *y += window->height / 2; break; case GDK_GRAVITY_SOUTH_WEST: case GDK_GRAVITY_SOUTH: case GDK_GRAVITY_SOUTH_EAST: *y -= outer_rect->bottom - outer_rect->top; - *y += obj->height; + *y += window->height; break; case GDK_GRAVITY_STATIC: @@ -871,20 +890,17 @@ show_window_internal (GdkWindow *window, gboolean raise, gboolean deiconify) { - GdkWindowObject *private; HWND old_active_window; gboolean focus_on_map = TRUE; DWORD exstyle; HWND top; - private = (GdkWindowObject *) window; - - if (private->destroyed) + if (window->destroyed) return; GDK_NOTE (MISC, g_print ("show_window_internal: %p: %s%s%s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (private->state), + _gdk_win32_window_state_to_string (window->state), (raise ? " raise" : ""), (deiconify ? " deiconify" : ""))); @@ -893,21 +909,21 @@ show_window_internal (GdkWindow *window, */ if (!deiconify && !GDK_WINDOW_IS_MAPPED (window) && - (private->state & GDK_WINDOW_STATE_ICONIFIED)) + (window->state & GDK_WINDOW_STATE_ICONIFIED)) { ShowWindow (GDK_WINDOW_HWND (window), SW_MINIMIZE); return; } /* If asked to just show an iconified window, do nothing. */ - if (!deiconify && (private->state & GDK_WINDOW_STATE_ICONIFIED)) + if (!deiconify && (window->state & GDK_WINDOW_STATE_ICONIFIED)) return; /* If asked to deiconify an already noniconified window, do * nothing. (Especially, don't cause the window to rise and * activate. There are different calls for that.) */ - if (deiconify && !(private->state & GDK_WINDOW_STATE_ICONIFIED)) + if (deiconify && !(window->state & GDK_WINDOW_STATE_ICONIFIED)) return; /* If asked to show (but not raise) a window that is already @@ -923,15 +939,15 @@ show_window_internal (GdkWindow *window, gdk_synthesize_window_state (window, GDK_WINDOW_STATE_WITHDRAWN, 0); - focus_on_map = private->focus_on_map; + focus_on_map = window->focus_on_map; } exstyle = GetWindowLong (GDK_WINDOW_HWND (window), GWL_EXSTYLE); - if (private->state & GDK_WINDOW_STATE_BELOW) + if (window->state & GDK_WINDOW_STATE_BELOW) exstyle &= (~WS_EX_TOPMOST); - if (private->state & GDK_WINDOW_STATE_ABOVE) + if (window->state & GDK_WINDOW_STATE_ABOVE) exstyle |= WS_EX_TOPMOST; if (exstyle & WS_EX_TOPMOST) @@ -958,15 +974,15 @@ show_window_internal (GdkWindow *window, old_active_window = GetActiveWindow (); - if (private->state & GDK_WINDOW_STATE_FULLSCREEN) + if (window->state & GDK_WINDOW_STATE_FULLSCREEN) { gdk_window_fullscreen (window); } - else if (private->state & GDK_WINDOW_STATE_MAXIMIZED) + else if (window->state & GDK_WINDOW_STATE_MAXIMIZED) { ShowWindow (GDK_WINDOW_HWND (window), SW_MAXIMIZE); } - else if (private->state & GDK_WINDOW_STATE_ICONIFIED) + else if (window->state & GDK_WINDOW_STATE_ICONIFIED) { ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); } @@ -987,7 +1003,7 @@ show_window_internal (GdkWindow *window, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE); else if (GDK_WINDOW_TYPE (window) == GDK_WINDOW_TOPLEVEL) { - if (focus_on_map && private->accept_focus) + if (focus_on_map && window->accept_focus) { SetForegroundWindow (GDK_WINDOW_HWND (window)); if (top == HWND_TOPMOST) @@ -1023,15 +1039,12 @@ gdk_win32_window_show (GdkWindow *window, static void gdk_win32_window_hide (GdkWindow *window) { - GdkWindowObject *private; - - private = (GdkWindowObject*) window; - if (private->destroyed) + if (window->destroyed) return; GDK_NOTE (MISC, g_print ("gdk_win32_window_hide: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (private->state))); + _gdk_win32_window_state_to_string (window->state))); if (GDK_WINDOW_IS_MAPPED (window)) gdk_synthesize_window_state (window, @@ -1058,16 +1071,13 @@ gdk_win32_window_hide (GdkWindow *window) static void gdk_win32_window_withdraw (GdkWindow *window) { - GdkWindowObject *private; - - private = (GdkWindowObject*) window; - if (private->destroyed) + if (window->destroyed) return; GDK_NOTE (MISC, g_print ("gdk_win32_window_withdraw: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (private->state))); - + _gdk_win32_window_state_to_string (window->state))); + gdk_window_hide (window); /* ??? */ } @@ -1075,7 +1085,6 @@ static void gdk_win32_window_move (GdkWindow *window, gint x, gint y) { - GdkWindowObject *private = (GdkWindowObject *)window; GdkWindowImplWin32 *impl; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -1086,24 +1095,24 @@ gdk_win32_window_move (GdkWindow *window, GDK_NOTE (MISC, g_print ("gdk_win32_window_move: %p: %+d%+d\n", GDK_WINDOW_HWND (window), x, y)); - impl = GDK_WINDOW_IMPL_WIN32 (private->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); - if (private->state & GDK_WINDOW_STATE_FULLSCREEN) + if (window->state & GDK_WINDOW_STATE_FULLSCREEN) return; - /* Don't check GDK_WINDOW_TYPE (private) == GDK_WINDOW_CHILD. + /* Don't check GDK_WINDOW_TYPE (window) == GDK_WINDOW_CHILD. * Foreign windows (another app's windows) might be children of our * windows! Especially in the case of gtkplug/socket. */ if (GetAncestor (GDK_WINDOW_HWND (window), GA_PARENT) != GetDesktopWindow ()) { - _gdk_window_move_resize_child (window, x, y, private->width, private->height); + _gdk_window_move_resize_child (window, x, y, window->width, window->height); } else { RECT outer_rect; - get_outer_rect (window, private->width, private->height, &outer_rect); + get_outer_rect (window, window->width, window->height, &outer_rect); adjust_for_gravity_hints (window, &outer_rect, &x, &y); @@ -1122,7 +1131,6 @@ static void gdk_win32_window_resize (GdkWindow *window, gint width, gint height) { - GdkWindowObject *private = (GdkWindowObject*) window; GdkWindowImplWin32 *impl; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -1138,14 +1146,14 @@ gdk_win32_window_resize (GdkWindow *window, GDK_NOTE (MISC, g_print ("gdk_win32_window_resize: %p: %dx%d\n", GDK_WINDOW_HWND (window), width, height)); - impl = GDK_WINDOW_IMPL_WIN32 (private->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); - if (private->state & GDK_WINDOW_STATE_FULLSCREEN) + if (window->state & GDK_WINDOW_STATE_FULLSCREEN) return; if (GetAncestor (GDK_WINDOW_HWND (window), GA_PARENT) != GetDesktopWindow ()) { - _gdk_window_move_resize_child (window, private->x, private->y, width, height); + _gdk_window_move_resize_child (window, window->x, window->y, width, height); } else { @@ -1164,7 +1172,7 @@ gdk_win32_window_resize (GdkWindow *window, outer_rect.right - outer_rect.left, outer_rect.bottom - outer_rect.top, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER)); - private->resize_count += 1; + window->resize_count += 1; } } @@ -1175,7 +1183,6 @@ gdk_win32_window_move_resize_internal (GdkWindow *window, gint width, gint height) { - GdkWindowObject *private; GdkWindowImplWin32 *impl; g_return_if_fail (GDK_IS_WINDOW (window)); @@ -1188,10 +1195,9 @@ gdk_win32_window_move_resize_internal (GdkWindow *window, if (height < 1) height = 1; - private = GDK_WINDOW_OBJECT (window); - impl = GDK_WINDOW_IMPL_WIN32 (private->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); - if (private->state & GDK_WINDOW_STATE_FULLSCREEN) + if (window->state & GDK_WINDOW_STATE_FULLSCREEN) return; GDK_NOTE (MISC, g_print ("gdk_win32_window_move_resize: %p: %dx%d@%+d%+d\n", @@ -1256,9 +1262,8 @@ gdk_win32_window_reparent (GdkWindow *window, gint x, gint y) { - GdkWindowObject *window_private; - GdkWindowObject *parent_private; - GdkWindowObject *old_parent_private; + GdkWindow *parent; + GdkWindow *old_parent; GdkWindowImplWin32 *impl; gboolean was_toplevel; LONG style; @@ -1266,10 +1271,9 @@ gdk_win32_window_reparent (GdkWindow *window, if (!new_parent) new_parent = _gdk_root; - window_private = (GdkWindowObject*) window; - old_parent_private = (GdkWindowObject *) window_private->parent; - parent_private = (GdkWindowObject*) new_parent; - impl = GDK_WINDOW_IMPL_WIN32 (window_private->impl); + old_parent = window->parent; + parent = new_parent; + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); GDK_NOTE (MISC, g_print ("gdk_win32_window_reparent: %p: %p\n", GDK_WINDOW_HWND (window), @@ -1299,7 +1303,7 @@ gdk_win32_window_reparent (GdkWindow *window, GDK_WINDOW_HWND (new_parent))); API_CALL (MoveWindow, (GDK_WINDOW_HWND (window), - x, y, window_private->width, window_private->height, TRUE)); + x, y, window->width, window->height, TRUE)); /* From here on, we treat parents of type GDK_WINDOW_FOREIGN like * the root window @@ -1307,7 +1311,7 @@ gdk_win32_window_reparent (GdkWindow *window, if (GDK_WINDOW_TYPE (new_parent) == GDK_WINDOW_FOREIGN) new_parent = _gdk_root; - window_private->parent = (GdkWindowObject *)new_parent; + window->parent = new_parent; /* Switch the window type as appropriate */ @@ -1333,11 +1337,11 @@ gdk_win32_window_reparent (GdkWindow *window, } } - if (old_parent_private) - old_parent_private->children = - g_list_remove (old_parent_private->children, window); + if (old_parent) + old_parent->children = + g_list_remove (old_parent->children, window); - parent_private->children = g_list_prepend (parent_private->children, window); + parent->children = g_list_prepend (parent->children, window); return FALSE; } @@ -1354,7 +1358,7 @@ gdk_win32_window_raise (GdkWindow *window) API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE)); - else if (((GdkWindowObject *)window)->accept_focus) + else if (window->accept_focus) API_CALL (BringWindowToTop, (GDK_WINDOW_HWND (window))); else API_CALL (SetWindowPos, (GDK_WINDOW_HWND (window), HWND_TOP, @@ -1380,8 +1384,8 @@ gdk_win32_window_lower (GdkWindow *window) } } -void -gdk_window_set_urgency_hint (GdkWindow *window, +static void +gdk_win32_window_set_urgency_hint (GdkWindow *window, gboolean urgent) { FLASHWINFO flashwinfo; @@ -1421,12 +1425,12 @@ get_effective_window_decorations (GdkWindow *window, { GdkWindowImplWin32 *impl; - impl = (GdkWindowImplWin32 *)((GdkWindowObject *)window)->impl; + impl = (GdkWindowImplWin32 *)window->impl; if (gdk_window_get_decorations (window, decoration)) return TRUE; - if (((GdkWindowObject *) window)->window_type != GDK_WINDOW_TOPLEVEL) + if (window->window_type != GDK_WINDOW_TOPLEVEL) { return FALSE; } @@ -1504,8 +1508,8 @@ get_effective_window_decorations (GdkWindow *window, return FALSE; } -void -gdk_window_set_geometry_hints (GdkWindow *window, +static void +gdk_win32_window_set_geometry_hints (GdkWindow *window, const GdkGeometry *geometry, GdkWindowHints geom_mask) { @@ -1519,7 +1523,7 @@ gdk_window_set_geometry_hints (GdkWindow *window, GDK_NOTE (MISC, g_print ("gdk_window_set_geometry_hints: %p\n", GDK_WINDOW_HWND (window))); - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); impl->hint_flags = geom_mask; impl->hints = *geometry; @@ -1565,8 +1569,8 @@ gdk_window_set_geometry_hints (GdkWindow *window, update_style_bits (window); } -void -gdk_window_set_title (GdkWindow *window, +static void +gdk_win32_window_set_title (GdkWindow *window, const gchar *title) { wchar_t *wtitle; @@ -1593,8 +1597,8 @@ gdk_window_set_title (GdkWindow *window, GDK_NOTE (MISC_OR_EVENTS, g_free ((char *) title)); } -void -gdk_window_set_role (GdkWindow *window, +static void +gdk_win32_window_set_role (GdkWindow *window, const gchar *role) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -1605,12 +1609,12 @@ gdk_window_set_role (GdkWindow *window, /* XXX */ } -void -gdk_window_set_transient_for (GdkWindow *window, +static void +gdk_win32_window_set_transient_for (GdkWindow *window, GdkWindow *parent) { HWND window_id, parent_id; - GdkWindowImplWin32 *window_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + GdkWindowImplWin32 *window_impl = GDK_WINDOW_IMPL_WIN32 (window->impl); GdkWindowImplWin32 *parent_impl = NULL; GSList *item; @@ -1631,7 +1635,7 @@ gdk_window_set_transient_for (GdkWindow *window, return; } - if (((GdkWindowObject *) window)->window_type == GDK_WINDOW_CHILD) + if (window->window_type == GDK_WINDOW_CHILD) { GDK_NOTE (MISC, g_print ("... a child window!\n")); return; @@ -1639,7 +1643,7 @@ gdk_window_set_transient_for (GdkWindow *window, if (parent == NULL) { - GdkWindowImplWin32 *trans_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window_impl->transient_owner)->impl); + GdkWindowImplWin32 *trans_impl = GDK_WINDOW_IMPL_WIN32 (window_impl->transient_owner->impl); if (trans_impl->transient_children != NULL) { item = g_slist_find (trans_impl->transient_children, window); @@ -1659,7 +1663,7 @@ gdk_window_set_transient_for (GdkWindow *window, } else { - parent_impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (parent)->impl); + parent_impl = GDK_WINDOW_IMPL_WIN32 (parent->impl); parent_impl->transient_children = g_slist_append (parent_impl->transient_children, window); g_object_ref (G_OBJECT (window)); @@ -1714,7 +1718,7 @@ _gdk_modal_current (void) { GSList *tmp = modal_window_stack; - while (tmp != NULL && !GDK_WINDOW_IS_MAPPED (tmp->data)) + while (tmp != NULL && !GDK_WINDOW_IS_MAPPED (GDK_WINDOW (tmp->data))) { tmp = g_slist_next (tmp); } @@ -1739,12 +1743,12 @@ gdk_win32_window_set_device_cursor (GdkWindow *window, GdkCursor *cursor) { GdkWindowImplWin32 *impl; - GdkCursorPrivate *cursor_private; + GdkWin32Cursor *cursor_private; HCURSOR hcursor; HCURSOR hprevcursor; - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); - cursor_private = (GdkCursorPrivate*) cursor; + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); + cursor_private = (GdkWin32Cursor*) cursor; if (GDK_WINDOW_DESTROYED (window)) return; @@ -1895,8 +1899,8 @@ gdk_win32_window_restack_toplevel (GdkWindow *window, // ### TODO } -void -gdk_window_get_root_origin (GdkWindow *window, +static void +gdk_win32_window_get_root_origin (GdkWindow *window, gint *x, gint *y) { @@ -1916,19 +1920,16 @@ gdk_window_get_root_origin (GdkWindow *window, GDK_WINDOW_HWND (window), rect.x, rect.y)); } -void -gdk_window_get_frame_extents (GdkWindow *window, +static void +gdk_win32_window_get_frame_extents (GdkWindow *window, GdkRectangle *rect) { - GdkWindowObject *private; HWND hwnd; RECT r; g_return_if_fail (GDK_IS_WINDOW (window)); g_return_if_fail (rect != NULL); - private = GDK_WINDOW_OBJECT (window); - rect->x = 0; rect->y = 0; rect->width = 1; @@ -1940,8 +1941,8 @@ gdk_window_get_frame_extents (GdkWindow *window, /* FIXME: window is documented to be a toplevel GdkWindow, so is it really * necessary to walk its parent chain? */ - while (private->parent && ((GdkWindowObject*) private->parent)->parent) - private = (GdkWindowObject*) private->parent; + while (window->parent && window->parent->parent) + window = window->parent; hwnd = GDK_WINDOW_HWND (window); API_CALL (GetWindowRect, (hwnd, &r)); @@ -1996,22 +1997,6 @@ _gdk_windowing_get_device_state (GdkDisplay *display, mask); } -void -gdk_display_warp_pointer (GdkDisplay *display, - GdkScreen *screen, - gint x, - gint y) -{ - GdkDeviceManagerWin32 *device_manager; - - g_return_if_fail (display == _gdk_display); - g_return_if_fail (screen == _gdk_screen); - - device_manager = GDK_DEVICE_MANAGER_WIN32 (gdk_display_get_device_manager (display)); - GDK_DEVICE_GET_CLASS (device_manager->core_pointer)->warp (device_manager->core_pointer, - screen, x, y); -} - void gdk_display_warp_device (GdkDisplay *display, GdkDevice *device, @@ -2044,7 +2029,7 @@ gdk_win32_window_get_events (GdkWindow *window) if (GDK_WINDOW_DESTROYED (window)) return 0; - return GDK_WINDOW_OBJECT (window)->event_mask; + return window->event_mask; } static void @@ -2055,7 +2040,7 @@ gdk_win32_window_set_events (GdkWindow *window, * set it here, too. Not that I know or remember why it is * necessary, will have to test some day. */ - GDK_WINDOW_OBJECT (window)->event_mask = GDK_STRUCTURE_MASK | event_mask; + window->event_mask = GDK_STRUCTURE_MASK | event_mask; } static void @@ -2082,8 +2067,8 @@ do_shape_combine_region (GdkWindow *window, SetWindowRgn (GDK_WINDOW_HWND (window), hrgn, TRUE); } -void -gdk_window_set_override_redirect (GdkWindow *window, +static void +gdk_win32_window_set_override_redirect (GdkWindow *window, gboolean override_redirect) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2091,40 +2076,32 @@ gdk_window_set_override_redirect (GdkWindow *window, g_warning ("gdk_window_set_override_redirect not implemented"); } -void -gdk_window_set_accept_focus (GdkWindow *window, +static void +gdk_win32_window_set_accept_focus (GdkWindow *window, gboolean accept_focus) { - GdkWindowObject *private; - g_return_if_fail (GDK_IS_WINDOW (window)); - private = (GdkWindowObject *)window; - accept_focus = accept_focus != FALSE; - if (private->accept_focus != accept_focus) - private->accept_focus = accept_focus; + if (window->accept_focus != accept_focus) + window->accept_focus = accept_focus; } -void -gdk_window_set_focus_on_map (GdkWindow *window, +static void +gdk_win32_window_set_focus_on_map (GdkWindow *window, gboolean focus_on_map) { - GdkWindowObject *private; - g_return_if_fail (GDK_IS_WINDOW (window)); - private = (GdkWindowObject *)window; - focus_on_map = focus_on_map != FALSE; - if (private->focus_on_map != focus_on_map) - private->focus_on_map = focus_on_map; + if (window->focus_on_map != focus_on_map) + window->focus_on_map = focus_on_map; } -void -gdk_window_set_icon_list (GdkWindow *window, +static void +gdk_win32_window_set_icon_list (GdkWindow *window, GList *pixbufs) { GdkPixbuf *pixbuf, *big_pixbuf, *small_pixbuf; @@ -2141,7 +2118,7 @@ gdk_window_set_icon_list (GdkWindow *window, if (GDK_WINDOW_DESTROYED (window)) return; - impl = GDK_WINDOW_IMPL_WIN32 (GDK_WINDOW_OBJECT (window)->impl); + impl = GDK_WINDOW_IMPL_WIN32 (window->impl); /* ideal sizes for small and large icons */ big_w = GetSystemMetrics (SM_CXICON); @@ -2204,8 +2181,8 @@ gdk_window_set_icon_list (GdkWindow *window, impl->hicon_small = small_hicon; } -void -gdk_window_set_icon_name (GdkWindow *window, +static void +gdk_win32_window_set_icon_name (GdkWindow *window, const gchar *name) { /* In case I manage to confuse this again (or somebody else does): @@ -2233,8 +2210,8 @@ gdk_window_set_icon_name (GdkWindow *window, #endif } -GdkWindow * -gdk_window_get_group (GdkWindow *window) +static GdkWindow * +gdk_win32_window_get_group (GdkWindow *window) { g_return_val_if_fail (GDK_IS_WINDOW (window), NULL); g_return_val_if_fail (GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD, NULL); @@ -2247,8 +2224,8 @@ gdk_window_get_group (GdkWindow *window) return NULL; } -void -gdk_window_set_group (GdkWindow *window, +static void +gdk_win32_window_set_group (GdkWindow *window, GdkWindow *leader) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2280,8 +2257,7 @@ update_single_bit (LONG *style, static void update_style_bits (GdkWindow *window) { - GdkWindowObject *private = (GdkWindowObject *)window; - GdkWindowImplWin32 *impl = (GdkWindowImplWin32 *)private->impl; + GdkWindowImplWin32 *impl = (GdkWindowImplWin32 *)window->impl; GdkWMDecoration decorations; LONG old_style, new_style, old_exstyle, new_exstyle; gboolean all; @@ -2297,7 +2273,7 @@ update_style_bits (GdkWindow *window) new_style = old_style; new_exstyle = old_exstyle; - if (private->window_type == GDK_WINDOW_TEMP || + if (window->window_type == GDK_WINDOW_TEMP || impl->type_hint == GDK_WINDOW_TYPE_HINT_UTILITY) new_exstyle |= WS_EX_TOOLWINDOW; else @@ -2403,8 +2379,8 @@ get_decorations_quark () return quark; } -void -gdk_window_set_decorations (GdkWindow *window, +static void +gdk_win32_window_set_decorations (GdkWindow *window, GdkWMDecoration decorations) { GdkWMDecoration* decorations_copy; @@ -2428,8 +2404,8 @@ gdk_window_set_decorations (GdkWindow *window, update_style_bits (window); } -gboolean -gdk_window_get_decorations (GdkWindow *window, +static gboolean +gdk_win32_window_get_decorations (GdkWindow *window, GdkWMDecoration *decorations) { GdkWMDecoration* decorations_set; @@ -2454,8 +2430,8 @@ get_functions_quark () return quark; } -void -gdk_window_set_functions (GdkWindow *window, +static void +gdk_win32_window_set_functions (GdkWindow *window, GdkWMFunction functions) { GdkWMFunction* functions_copy; @@ -2500,8 +2476,8 @@ gdk_win32_window_set_static_gravities (GdkWindow *window, return !use_static; } -void -gdk_window_begin_resize_drag (GdkWindow *window, +static void +gdk_win32_window_begin_resize_drag (GdkWindow *window, GdkWindowEdge edge, gint button, gint root_x, @@ -2569,8 +2545,8 @@ gdk_window_begin_resize_drag (GdkWindow *window, MAKELPARAM (root_x - _gdk_offset_x, root_y - _gdk_offset_y)); } -void -gdk_window_begin_move_drag (GdkWindow *window, +static void +gdk_win32_window_begin_move_drag (GdkWindow *window, gint button, gint root_x, gint root_y, @@ -2603,8 +2579,8 @@ gdk_window_begin_move_drag (GdkWindow *window, /* * Setting window states */ -void -gdk_window_iconify (GdkWindow *window) +static void +gdk_win32_window_iconify (GdkWindow *window) { HWND old_active_window; @@ -2615,7 +2591,7 @@ gdk_window_iconify (GdkWindow *window) GDK_NOTE (MISC, g_print ("gdk_window_iconify: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (((GdkWindowObject *) window)->state))); + _gdk_win32_window_state_to_string (window->state))); if (GDK_WINDOW_IS_MAPPED (window)) { @@ -2632,8 +2608,8 @@ gdk_window_iconify (GdkWindow *window) } } -void -gdk_window_deiconify (GdkWindow *window) +static void +gdk_win32_window_deiconify (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2642,7 +2618,7 @@ gdk_window_deiconify (GdkWindow *window) GDK_NOTE (MISC, g_print ("gdk_window_deiconify: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (((GdkWindowObject *) window)->state))); + _gdk_win32_window_state_to_string (window->state))); if (GDK_WINDOW_IS_MAPPED (window)) { @@ -2656,8 +2632,8 @@ gdk_window_deiconify (GdkWindow *window) } } -void -gdk_window_stick (GdkWindow *window) +static void +gdk_win32_window_stick (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2667,8 +2643,8 @@ gdk_window_stick (GdkWindow *window) /* FIXME: Do something? */ } -void -gdk_window_unstick (GdkWindow *window) +static void +gdk_win32_window_unstick (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2678,8 +2654,8 @@ gdk_window_unstick (GdkWindow *window) /* FIXME: Do something? */ } -void -gdk_window_maximize (GdkWindow *window) +static void +gdk_win32_window_maximize (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2688,7 +2664,7 @@ gdk_window_maximize (GdkWindow *window) GDK_NOTE (MISC, g_print ("gdk_window_maximize: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (((GdkWindowObject *) window)->state))); + _gdk_win32_window_state_to_string (window->state))); if (GDK_WINDOW_IS_MAPPED (window)) ShowWindow (GDK_WINDOW_HWND (window), SW_MAXIMIZE); @@ -2698,8 +2674,8 @@ gdk_window_maximize (GdkWindow *window) GDK_WINDOW_STATE_MAXIMIZED); } -void -gdk_window_unmaximize (GdkWindow *window) +static void +gdk_win32_window_unmaximize (GdkWindow *window) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2708,7 +2684,7 @@ gdk_window_unmaximize (GdkWindow *window) GDK_NOTE (MISC, g_print ("gdk_window_unmaximize: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (((GdkWindowObject *) window)->state))); + _gdk_win32_window_state_to_string (window->state))); if (GDK_WINDOW_IS_MAPPED (window)) ShowWindow (GDK_WINDOW_HWND (window), SW_RESTORE); @@ -2727,12 +2703,11 @@ struct _FullscreenInfo LONG style; }; -void -gdk_window_fullscreen (GdkWindow *window) +static void +gdk_win32_window_fullscreen (GdkWindow *window) { gint x, y, width, height; FullscreenInfo *fi; - GdkWindowObject *private = (GdkWindowObject *) window; HMONITOR monitor; MONITORINFO mi; @@ -2744,7 +2719,7 @@ gdk_window_fullscreen (GdkWindow *window) g_free (fi); else { - GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (private->impl); + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl); monitor = MonitorFromWindow (GDK_WINDOW_HWND (window), MONITOR_DEFAULTTONEAREST); mi.cbSize = sizeof (mi); @@ -2779,18 +2754,17 @@ gdk_window_fullscreen (GdkWindow *window) } } -void -gdk_window_unfullscreen (GdkWindow *window) +static void +gdk_win32_window_unfullscreen (GdkWindow *window) { FullscreenInfo *fi; - GdkWindowObject *private = (GdkWindowObject *) window; g_return_if_fail (GDK_IS_WINDOW (window)); fi = g_object_get_data (G_OBJECT (window), "fullscreen-info"); if (fi) { - GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (private->impl); + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl); impl->hint_flags = fi->hint_flags; SetWindowLong (GDK_WINDOW_HWND (window), GWL_STYLE, fi->style); @@ -2806,8 +2780,8 @@ gdk_window_unfullscreen (GdkWindow *window) } } -void -gdk_window_set_keep_above (GdkWindow *window, +static void +gdk_win32_window_set_keep_above (GdkWindow *window, gboolean setting) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2832,8 +2806,8 @@ gdk_window_set_keep_above (GdkWindow *window, setting ? GDK_WINDOW_STATE_ABOVE : 0); } -void -gdk_window_set_keep_below (GdkWindow *window, +static void +gdk_win32_window_set_keep_below (GdkWindow *window, gboolean setting) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2858,9 +2832,9 @@ gdk_window_set_keep_below (GdkWindow *window, setting ? GDK_WINDOW_STATE_BELOW : 0); } -void -gdk_window_focus (GdkWindow *window, - guint32 timestamp) +static void +gdk_win32_window_focus (GdkWindow *window, + guint32 timestamp) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2869,21 +2843,19 @@ gdk_window_focus (GdkWindow *window, GDK_NOTE (MISC, g_print ("gdk_window_focus: %p: %s\n", GDK_WINDOW_HWND (window), - _gdk_win32_window_state_to_string (((GdkWindowObject *) window)->state))); + _gdk_win32_window_state_to_string (window->state))); - if (((GdkWindowObject *) window)->state & GDK_WINDOW_STATE_MAXIMIZED) + if (window->state & GDK_WINDOW_STATE_MAXIMIZED) ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWMAXIMIZED); else ShowWindow (GDK_WINDOW_HWND (window), SW_SHOWNORMAL); SetFocus (GDK_WINDOW_HWND (window)); } -void -gdk_window_set_modal_hint (GdkWindow *window, +static void +gdk_win32_window_set_modal_hint (GdkWindow *window, gboolean modal) { - GdkWindowObject *private; - g_return_if_fail (GDK_IS_WINDOW (window)); if (GDK_WINDOW_DESTROYED (window)) @@ -2893,12 +2865,10 @@ gdk_window_set_modal_hint (GdkWindow *window, GDK_WINDOW_HWND (window), modal ? "YES" : "NO")); - private = (GdkWindowObject*) window; - - if (modal == private->modal_hint) + if (modal == window->modal_hint) return; - private->modal_hint = modal; + window->modal_hint = modal; #if 0 /* Not sure about this one.. -- Cody */ @@ -2922,8 +2892,8 @@ gdk_window_set_modal_hint (GdkWindow *window, #endif } -void -gdk_window_set_skip_taskbar_hint (GdkWindow *window, +static void +gdk_win32_window_set_skip_taskbar_hint (GdkWindow *window, gboolean skips_taskbar) { static GdkWindow *owner = NULL; @@ -2969,8 +2939,8 @@ gdk_window_set_skip_taskbar_hint (GdkWindow *window, } } -void -gdk_window_set_skip_pager_hint (GdkWindow *window, +static void +gdk_win32_window_set_skip_pager_hint (GdkWindow *window, gboolean skips_pager) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2980,8 +2950,8 @@ gdk_window_set_skip_pager_hint (GdkWindow *window, skips_pager ? "YES" : "NO")); } -void -gdk_window_set_type_hint (GdkWindow *window, +static void +gdk_win32_window_set_type_hint (GdkWindow *window, GdkWindowTypeHint hint) { g_return_if_fail (GDK_IS_WINDOW (window)); @@ -2999,20 +2969,20 @@ gdk_window_set_type_hint (GdkWindow *window, g_enum_get_value (class, hint)->value_name); }G_STMT_END); - ((GdkWindowImplWin32 *)((GdkWindowObject *)window)->impl)->type_hint = hint; + ((GdkWindowImplWin32 *)window->impl)->type_hint = hint; update_style_bits (window); } -GdkWindowTypeHint -gdk_window_get_type_hint (GdkWindow *window) +static GdkWindowTypeHint +gdk_win32_window_get_type_hint (GdkWindow *window) { g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_WINDOW_TYPE_HINT_NORMAL); if (GDK_WINDOW_DESTROYED (window)) return GDK_WINDOW_TYPE_HINT_NORMAL; - return GDK_WINDOW_IMPL_WIN32 (((GdkWindowObject *) window)->impl)->type_hint; + return GDK_WINDOW_IMPL_WIN32 (window->impl)->type_hint; } static HRGN @@ -3098,23 +3068,23 @@ gdk_win32_window_lookup_for_display (GdkDisplay *display, { g_return_val_if_fail (display == _gdk_display, NULL); - return (GdkWindow*) gdk_win32_handle_table_lookup (hwnd); + return (GdkWindow*) gdk_win32_handle_table_lookup (anid); } -void -gdk_window_enable_synchronized_configure (GdkWindow *window) +static void +gdk_win32_window_enable_synchronized_configure (GdkWindow *window) { - g_return_if_fail (GDK_IS_WINDOW (window)); + /* nothing - no window manager to cooperate with */ } -void -gdk_window_configure_finished (GdkWindow *window) +static void +gdk_win32_window_configure_finished (GdkWindow *window) { - g_return_if_fail (GDK_IS_WINDOW (window)); + /* nothing - no window manager to cooperate with */ } -void -gdk_window_set_opacity (GdkWindow *window, +static void +gdk_win32_window_set_opacity (GdkWindow *window, gdouble opacity) { LONG exstyle; @@ -3168,13 +3138,6 @@ gdk_win32_window_get_shape (GdkWindow *window) return NULL; } -static cairo_region_t * -_gdk_win32_window_get_input_shape (GdkWindow *window) -{ - /* CHECK: are these really supposed to be the same? */ - return _gdk_windowing_window_get_shape (window); -} - static gboolean _gdk_win32_window_queue_antiexpose (GdkWindow *window, cairo_region_t *area) @@ -3192,44 +3155,30 @@ _gdk_win32_window_queue_antiexpose (GdkWindow *window, return FALSE; } -/* FIXME: Tis function has never been compiled. - * Please make it work. */ +/* Gets called from gdwindow.c(do_move_region_bits_on_impl) + * and got tested with testgtk::big_window. Given the previous, + * untested implementation this one looks much too simple ;) + */ static void _gdk_win32_window_translate (GdkWindow *window, - cairo_region_t *area, + cairo_region_t *area, /* In impl window coords */ gint dx, gint dy) { - HRGN hrgn = CreateRectRgn (0, 0, 0, 0); - HDC hdc; - int ret; GdkRectangle extents; + RECT rect; cairo_region_get_extents (area, &extents); - hdc = _gdk_win32_drawable_acquire_dc (GDK_DRAWABLE (window)); - GDI_CALL (BitBlt, (hdc, extents.x, extents.y, extents.width, extents.height, - hdc, extents.x + dx, extents.y + dy, SRCCOPY)); + rect.left = extents.x - dx; + rect.top = extents.y - dy; + rect.right = rect.left + extents.width; + rect.bottom = rect.top + extents.height; + + API_CALL (ScrollWindowEx, (GDK_WINDOW_HWND (window), + dx, dy, &rect, + NULL, NULL, NULL, + SW_INVALIDATE)); - /* XXX: We probably need to get invalidations for the whole extents and not - * just the area as we BitBlt */ - ret = GetUpdateRgn (GDK_WINDOW_HWND (window), hrgn, FALSE); - if (ret == ERROR) - WIN32_API_FAILED ("GetUpdateRgn"); - else if (ret != NULLREGION) - { - /* Get current updateregion, move any part of it that intersects area by dx,dy */ - HRGN update = cairo_region_to_hrgn (area, 0, 0); - ret = CombineRgn (update, hrgn, update, RGN_AND); - if (ret == ERROR) - WIN32_API_FAILED ("CombineRgn"); - else if (ret != NULLREGION) - { - OffsetRgn (update, dx, dy); - API_CALL (InvalidateRgn, (GDK_WINDOW_HWND (window), update, TRUE)); - } - DeleteObject (update); - } - DeleteObject (hrgn); } static void @@ -3244,57 +3193,216 @@ gdk_win32_input_shape_combine_region (GdkWindow *window, gdk_win32_window_shape_combine_region (window, shape_region, offset_x, offset_y); } -void -_gdk_windowing_window_process_updates_recurse (GdkWindow *window, +static void +gdk_win32_window_process_updates_recurse (GdkWindow *window, cairo_region_t *region) { _gdk_window_process_updates_recurse (window, region); } -void -_gdk_windowing_before_process_all_updates (void) -{ -} - -void -_gdk_windowing_after_process_all_updates (void) -{ -} - -static void -gdk_window_impl_iface_init (GdkWindowImplIface *iface) -{ - iface->show = gdk_win32_window_show; - iface->hide = gdk_win32_window_hide; - iface->withdraw = gdk_win32_window_withdraw; - iface->set_events = gdk_win32_window_set_events; - iface->get_events = gdk_win32_window_get_events; - iface->raise = gdk_win32_window_raise; - iface->lower = gdk_win32_window_lower; - iface->restack_under = gdk_win32_window_restack_under; - iface->restack_toplevel = gdk_win32_window_restack_toplevel; - iface->move_resize = gdk_win32_window_move_resize; - iface->set_background = gdk_win32_window_set_background; - iface->reparent = gdk_win32_window_reparent; - iface->set_device_cursor = gdk_win32_window_set_device_cursor; - iface->get_geometry = gdk_win32_window_get_geometry; - iface->get_device_state = gdk_window_win32_get_device_state; - iface->get_root_coords = gdk_win32_window_get_root_coords; - iface->shape_combine_region = gdk_win32_window_shape_combine_region; - iface->input_shape_combine_region = gdk_win32_input_shape_combine_region; - iface->set_static_gravities = gdk_win32_window_set_static_gravities; - iface->queue_antiexpose = _gdk_win32_window_queue_antiexpose; - iface->translate = _gdk_win32_window_translate; - iface->destroy = gdk_win32_window_destroy; - iface->destroy_foreign = gdk_win32_window_destroy_foreign; - iface->resize_cairo_surface = gdk_win32_window_resize_cairo_surface; - iface->get_shape = gdk_win32_window_get_shape; - iface->get_input_shape = gdk_win32_window_get_input_shape; -} - gboolean gdk_win32_window_is_win32 (GdkWindow *window) { return GDK_WINDOW_IS_WIN32 (window); } +/** + * _gdk_win32_acquire_dc + * @impl: a Win32 #GdkWindowImplWin32 implementation + * + * Gets a DC with the given drawable selected into it. + * + * Return value: The DC, on success. Otherwise + * %NULL. If this function succeeded + * _gdk_win32_impl_release_dc() must be called + * release the DC when you are done using it. + **/ +static HDC +_gdk_win32_impl_acquire_dc (GdkWindowImplWin32 *impl) +{ + if (GDK_IS_WINDOW_IMPL_WIN32 (impl) && + GDK_WINDOW_DESTROYED (impl->wrapper)) + return NULL; + + if (!impl->hdc) + { + impl->hdc = GetDC (impl->handle); + if (!impl->hdc) + WIN32_GDI_FAILED ("GetDC"); + } + + if (impl->hdc) + { + impl->hdc_count++; + return impl->hdc; + } + else + { + return NULL; + } +} + +/** + * _gdk_win32_impl_release_dc + * @impl: a Win32 #GdkWindowImplWin32 implementation + * + * Releases the reference count for the DC + * from _gdk_win32_impl_acquire_dc() + **/ +static void +_gdk_win32_impl_release_dc (GdkWindowImplWin32 *impl) +{ + g_return_if_fail (impl->hdc_count > 0); + + impl->hdc_count--; + if (impl->hdc_count == 0) + { + if (impl->saved_dc_bitmap) + { + GDI_CALL (SelectObject, (impl->hdc, impl->saved_dc_bitmap)); + impl->saved_dc_bitmap = NULL; + } + + if (impl->hdc) + { + GDI_CALL (ReleaseDC, (impl->handle, impl->hdc)); + impl->hdc = NULL; + } + } +} + +static void +gdk_win32_cairo_surface_destroy (void *data) +{ + GdkWindowImplWin32 *impl = data; + + _gdk_win32_impl_release_dc (impl); + impl->cairo_surface = NULL; +} + +static cairo_surface_t * +gdk_win32_ref_cairo_surface (GdkWindow *window) +{ + GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl); + + if (GDK_IS_WINDOW_IMPL_WIN32 (impl) && + GDK_WINDOW_DESTROYED (impl->wrapper)) + return NULL; + + if (!impl->cairo_surface) + { + HDC hdc = _gdk_win32_impl_acquire_dc (impl); + if (!hdc) + return NULL; + + impl->cairo_surface = cairo_win32_surface_create (hdc); + + cairo_surface_set_user_data (impl->cairo_surface, &gdk_win32_cairo_key, + impl, gdk_win32_cairo_surface_destroy); + } + else + cairo_surface_reference (impl->cairo_surface); + + return impl->cairo_surface; +} + +static void +gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + GdkWindowImplClass *impl_class = GDK_WINDOW_IMPL_CLASS (klass); + + parent_class = g_type_class_peek_parent (klass); + + object_class->finalize = gdk_window_impl_win32_finalize; + + impl_class->ref_cairo_surface = gdk_win32_ref_cairo_surface; + + impl_class->show = gdk_win32_window_show; + impl_class->hide = gdk_win32_window_hide; + impl_class->withdraw = gdk_win32_window_withdraw; + impl_class->set_events = gdk_win32_window_set_events; + impl_class->get_events = gdk_win32_window_get_events; + impl_class->raise = gdk_win32_window_raise; + impl_class->lower = gdk_win32_window_lower; + impl_class->restack_under = gdk_win32_window_restack_under; + impl_class->restack_toplevel = gdk_win32_window_restack_toplevel; + impl_class->move_resize = gdk_win32_window_move_resize; + impl_class->set_background = gdk_win32_window_set_background; + impl_class->reparent = gdk_win32_window_reparent; + impl_class->set_device_cursor = gdk_win32_window_set_device_cursor; + impl_class->get_geometry = gdk_win32_window_get_geometry; + impl_class->get_device_state = gdk_window_win32_get_device_state; + impl_class->get_root_coords = gdk_win32_window_get_root_coords; + + impl_class->shape_combine_region = gdk_win32_window_shape_combine_region; + impl_class->input_shape_combine_region = gdk_win32_input_shape_combine_region; + impl_class->set_static_gravities = gdk_win32_window_set_static_gravities; + impl_class->queue_antiexpose = _gdk_win32_window_queue_antiexpose; + impl_class->translate = _gdk_win32_window_translate; + impl_class->destroy = gdk_win32_window_destroy; + impl_class->destroy_foreign = gdk_win32_window_destroy_foreign; + impl_class->resize_cairo_surface = gdk_win32_window_resize_cairo_surface; + impl_class->get_shape = gdk_win32_window_get_shape; + //FIXME?: impl_class->get_input_shape = gdk_win32_window_get_input_shape; + + //impl_class->beep = gdk_x11_window_beep; + + impl_class->focus = gdk_win32_window_focus; + impl_class->set_type_hint = gdk_win32_window_set_type_hint; + impl_class->get_type_hint = gdk_win32_window_get_type_hint; + impl_class->set_modal_hint = gdk_win32_window_set_modal_hint; + impl_class->set_skip_taskbar_hint = gdk_win32_window_set_skip_taskbar_hint; + impl_class->set_skip_pager_hint = gdk_win32_window_set_skip_pager_hint; + impl_class->set_urgency_hint = gdk_win32_window_set_urgency_hint; + impl_class->set_geometry_hints = gdk_win32_window_set_geometry_hints; + impl_class->set_title = gdk_win32_window_set_title; + impl_class->set_role = gdk_win32_window_set_role; + //impl_class->set_startup_id = gdk_x11_window_set_startup_id; + impl_class->set_transient_for = gdk_win32_window_set_transient_for; + impl_class->get_root_origin = gdk_win32_window_get_root_origin; + impl_class->get_frame_extents = gdk_win32_window_get_frame_extents; + impl_class->set_override_redirect = gdk_win32_window_set_override_redirect; + impl_class->set_accept_focus = gdk_win32_window_set_accept_focus; + impl_class->set_focus_on_map = gdk_win32_window_set_focus_on_map; + impl_class->set_icon_list = gdk_win32_window_set_icon_list; + impl_class->set_icon_name = gdk_win32_window_set_icon_name; + impl_class->iconify = gdk_win32_window_iconify; + impl_class->deiconify = gdk_win32_window_deiconify; + impl_class->stick = gdk_win32_window_stick; + impl_class->unstick = gdk_win32_window_unstick; + impl_class->maximize = gdk_win32_window_maximize; + impl_class->unmaximize = gdk_win32_window_unmaximize; + impl_class->fullscreen = gdk_win32_window_fullscreen; + impl_class->unfullscreen = gdk_win32_window_unfullscreen; + impl_class->set_keep_above = gdk_win32_window_set_keep_above; + impl_class->set_keep_below = gdk_win32_window_set_keep_below; + impl_class->get_group = gdk_win32_window_get_group; + impl_class->set_group = gdk_win32_window_set_group; + impl_class->set_decorations = gdk_win32_window_set_decorations; + impl_class->get_decorations = gdk_win32_window_get_decorations; + impl_class->set_functions = gdk_win32_window_set_functions; + + impl_class->begin_resize_drag = gdk_win32_window_begin_resize_drag; + impl_class->begin_move_drag = gdk_win32_window_begin_move_drag; + impl_class->enable_synchronized_configure = gdk_win32_window_enable_synchronized_configure; + impl_class->configure_finished = gdk_win32_window_configure_finished; + impl_class->set_opacity = gdk_win32_window_set_opacity; + //impl_class->set_composited = gdk_win32_window_set_composited; + impl_class->destroy_notify = gdk_win32_window_destroy_notify; + impl_class->register_dnd = _gdk_win32_window_register_dnd; + impl_class->drag_begin = _gdk_win32_window_drag_begin; + impl_class->process_updates_recurse = gdk_win32_window_process_updates_recurse; + //? impl_class->sync_rendering = _gdk_win32_window_sync_rendering; + impl_class->simulate_key = _gdk_win32_window_simulate_key; + impl_class->simulate_button = _gdk_win32_window_simulate_button; + impl_class->get_property = _gdk_win32_window_get_property; + impl_class->change_property = _gdk_win32_window_change_property; + impl_class->delete_property = _gdk_win32_window_delete_property; +} + +HGDIOBJ +gdk_win32_window_get_handle (GdkWindow *window) +{ + return GDK_WINDOW_HWND (window); +} diff --git a/gdk/win32/gdkwindow-win32.h b/gdk/win32/gdkwindow-win32.h index f488e59faa..910d73540d 100644 --- a/gdk/win32/gdkwindow-win32.h +++ b/gdk/win32/gdkwindow-win32.h @@ -27,32 +27,14 @@ #ifndef __GDK_WINDOW_WIN32_H__ #define __GDK_WINDOW_WIN32_H__ -#include +#include "gdk/win32/gdkprivate-win32.h" +#include "gdk/gdkwindowimpl.h" +#include "gdk/gdkcursor.h" + +#include G_BEGIN_DECLS -typedef struct _GdkWin32PositionInfo GdkWin32PositionInfo; - -#if 0 -struct _GdkWin32PositionInfo -{ - gint x; - gint y; - gint width; - gint height; - gint x_offset; /* Offsets to add to Win32 coordinates */ - gint y_offset; /* within window to get GDK coodinates */ - guint big : 1; - guint mapped : 1; - guint no_bg : 1; /* Set when the window background - * is temporarily unset during resizing - * and scaling - */ - GdkRectangle clip_rect; /* visible rectangle of window */ -}; -#endif - - /* Window implementation for Win32 */ @@ -68,7 +50,10 @@ typedef struct _GdkWindowImplWin32Class GdkWindowImplWin32Class; struct _GdkWindowImplWin32 { - GdkDrawableImplWin32 parent_instance; + GdkWindowImpl parent_instance; + + GdkWindow *wrapper; + HANDLE handle; gint8 toplevel_window_type; @@ -90,11 +75,16 @@ struct _GdkWindowImplWin32 gboolean changing_state; guint no_bg : 1; + + cairo_surface_t *cairo_surface; + HDC hdc; + int hdc_count; + HBITMAP saved_dc_bitmap; /* Original bitmap for dc */ }; struct _GdkWindowImplWin32Class { - GdkDrawableImplWin32Class parent_class; + GdkWindowImplClass parent_class; }; GType _gdk_window_impl_win32_get_type (void); diff --git a/gdk/win32/makefile.msc b/gdk/win32/makefile.msc index 3dac7c69c3..fbe7dca967 100644 --- a/gdk/win32/makefile.msc +++ b/gdk/win32/makefile.msc @@ -14,7 +14,7 @@ TOP = ../../.. WTKIT = $(TOP)\wtkit126 !ENDIF -GTK_VER=2.0 +GTK_VER=3.0 DEFINES = \ -DHAVE_CONFIG_H -DINSIDE_GDK_WIN32 -DGDK_VERSION=\"$(GTK_VER)\" \ @@ -22,7 +22,7 @@ DEFINES = \ INCLUDES = -FImsvc_recommended_pragmas.h \ -I. -I.. -I..\.. $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(CAIRO_CFLAGS) \ - -I$(WTKIT)\include -I$(GLIB) \ + $(GDK_PIXBUF_CFLAGS) -I$(WTKIT)\include -I$(GLIB) \ all: \ ..\..\config.h \ @@ -31,25 +31,22 @@ all: \ gdk.res gdk_win32_OBJECTS = \ - gdkapplaunchcontext-win32.obj \ gdkcursor-win32.obj \ + gdkdevice-win32.obj \ + gdkdevice-wintab.obj \ + gdkdevicemanager-win32.obj \ gdkdnd-win32.obj \ gdkdisplay-win32.obj \ - gdkdrawable-win32.obj \ + gdkdisplaymanager-win32.obj \ gdkevents-win32.obj \ - gdkgc-win32.obj \ gdkgeometry-win32.obj \ gdkglobals-win32.obj \ - gdkim-win32.obj \ gdkinput.obj \ - gdkinput-win32.obj \ gdkkeys-win32.obj \ gdkmain-win32.obj \ gdkproperty-win32.obj \ -# gdkregion-win32.obj \ gdkscreen-win32.obj \ gdkselection-win32.obj \ - gdkspawn-win32.obj \ gdktestutils-win32.obj \ gdkvisual-win32.obj \ gdkwin32id.obj \ From 95213b3f045a080b92d8e830625023a8ac6370c3 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:00:44 +0100 Subject: [PATCH 0967/1463] win32: update msvc build --- gtk/makefile.msc.in | 234 +++++++++++++++++++------------------------- makefile.msc | 2 +- tests/makefile.msc | 16 ++- 3 files changed, 110 insertions(+), 142 deletions(-) diff --git a/gtk/makefile.msc.in b/gtk/makefile.msc.in index bdb138ac47..c2af468707 100644 --- a/gtk/makefile.msc.in +++ b/gtk/makefile.msc.in @@ -10,13 +10,11 @@ TOP = ..\.. ################################################################ # Not the real version but the one used in the DLL names -GTK_VER = 2.0 -GDK_PIXBUF_VER = 2.0 +GTK_VER = 3.0 GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib GTK_LIBS = gtk-win32-$(GTK_VER).lib -GDK_PIXBUF_LIBS = ../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib GTK_BINARY_VERSION = @GTK_BINARY_VERSION@ # Perl and awk are needed to generate some source files. @@ -25,7 +23,7 @@ GTK_BINARY_VERSION = @GTK_BINARY_VERSION@ PERL = perl AWK = gawk -INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. -I ../gdk -I ../gdk-pixbuf +INCLUDES = -FImsvc_recommended_pragmas.h -I . -I .. -I ../gdk $(GDK_PIXBUF_CFLAGS) DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) \ $(INTL_CFLAGS) $(ATK_CFLAGS) $(CAIRO_CFLAGS) LDFLAGS = $(ATK_LIBS) /link /machine:ix86 $(LINKDEBUG) @@ -38,54 +36,29 @@ DEFINES = \ -DGTK_VERSION=\"$(GTK_VER)\" -DGTK_BINARY_VERSION=\"$(GTK_BINARY_VERSION)\" \ -DGTK_HOST=\"win32\" \ -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED \ - -DGTK_PRINT_BACKENDS=\"file,lpr\" \ + -DGTK_PRINT_BACKENDS=\"file,lpr\" \ + -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED \ -DGTK_PRINT_PREVIEW_COMMAND="\"evince --unlink-tempfile --preview %f\"" \ -DGTK_LIBDIR=\"/magic/path/replaced/at/runtime\" +EXTRALIBS = \ + $(GDK_LIBS) \ + $(GDK_PIXBUF_LIBS) \ + $(PANGO_LIBS) $(INTL_LIBS) \ + $(GLIB_LIBS) $(GMODULE_LIBS) $(GIO_LIBS) \ + $(CAIRO_LIBS) $(PANGOCAIRO_LIBS) $(CAIRO_GOBJECT_LIBS) \ + TOUCH = copy makefile.msc+nul gtkbuiltincache.h: gtk-update-icon-cache.exe - cd stock-icons\16 - copy gtk-go-forward-ltr.png gtk-go-back-rtl.png - copy gtk-go-back-ltr.png gtk-go-forward-rtl.png - copy gtk-goto-last-ltr.png gtk-goto-first-rtl.png - copy gtk-goto-first-ltr.png gtk-goto-last-rtl.png - copy gtk-media-rewind-ltr.png gtk-media-forward-rtl.png - copy gtk-media-previous-ltr.png gtk-media-next-rtl.png - copy gtk-media-next-ltr.png gtk-media-previous-rtl.png - copy gtk-media-forward-ltr.png gtk-media-rewind-rtl.png - copy gtk-floppy.png gtk-save.png - copy gtk-harddisk.png drive-harddisk.png - copy gtk-directory.png folder.png - copy gtk-directory.png folder-remote.png - copy gtk-home.png user-home.png - copy gtk-directory.png user-desktop.png - copy gtk-file.png text-x-generic.png - cd ..\24 - copy gtk-go-forward-ltr.png gtk-go-back-rtl.png - copy gtk-go-back-ltr.png gtk-go-forward-rtl.png - copy gtk-goto-last-ltr.png gtk-goto-first-rtl.png - copy gtk-goto-first-ltr.png gtk-goto-last-rtl.png - copy gtk-media-rewind-ltr.png gtk-media-forward-rtl.png - copy gtk-media-previous-ltr.png gtk-media-next-rtl.png - copy gtk-media-next-ltr.png gtk-media-previous-rtl.png - copy gtk-media-forward-ltr.png gtk-media-rewind-rtl.png - copy gtk-floppy.png gtk-save.png - copy gtk-harddisk.png drive-harddisk.png - copy gtk-directory.png folder.png - copy gtk-directory.png folder-remote.png - copy gtk-home.png user-home.png - copy gtk-directory.png user-desktop.png - copy gtk-file.png text-x-generic.png - cd ..\.. del gtkicontheme.obj gtk-update-icon-cache --force --ignore-theme-index \ --source builtin_icons stock-icons > gtkbuiltincache.h GENERATED = \ gtktypebuiltins.h gtktypebuiltins.c \ - gtkmarshal.h gtkmarshal.c gtkmarshalers.h gtkmarshalers.c \ - gtk.def gtktypefuncs.c + gtkmarshalers.h gtkmarshalers.c \ + gtk.def gtkalias.h gtkaliasdef.c gtktypefuncs.c all : \ ..\config.h \ @@ -97,28 +70,6 @@ all : \ # gtk-win32-$(GTK_VER)s.lib \ # gtk-x11-$(GTK_VER).dll -gtk_OBJECTS_deprecated = \ - gtkcombo.obj \ - gtkclist.obj \ - gtkctree.obj \ - gtkfilesel.obj \ - gtktext.obj \ - gtktoolbar.obj \ - gtklist.obj \ - gtkitemfactory.obj \ - gtkoptionmenu.obj \ - gtktree.obj \ - gtktreeitem.obj \ - gtkoldeditable.obj \ - gtklistitem.obj \ - gtkprogress.obj \ - gtktipsquery.obj \ - gtkshow.obj \ - gtkpreview.obj \ - gtkseparatortoolitem.obj \ - gtktypeutils.obj \ - gtktooltips.obj \ - gtk_OBJECTS_cell = \ gtkcelleditable.obj \ gtkcelllayout.obj \ @@ -131,6 +82,7 @@ gtk_OBJECTS_cell = \ gtkcellrendererprogress.obj \ gtkcellrendererspin.obj \ gtkcellrendererspinner.obj \ +# gtkcellsizerequest.obj \ gtkcellview.obj \ gtkliststore.obj \ gtktreednd.obj \ @@ -150,7 +102,7 @@ gtk_OBJECTS_file = \ gtkfilechooserdialog.obj \ gtkfilechooserembed.obj \ gtkfilechooserentry.obj \ - gtkfilechoosersettings.obj \ +# gtkfilechoosersettings.obj \ gtkfilechooserutils.obj \ gtkfilechooserwidget.obj \ gtkfilefilter.obj \ @@ -160,9 +112,9 @@ gtk_OBJECTS_file = \ gtk_OBJECTS_print = \ gtkprint-win32.obj \ gtkprintcontext.obj \ + gtkprintoperation-win32.obj \ gtkprintoperation.obj \ gtkprintoperationpreview.obj \ - gtkprintoperation-win32.obj \ gtkprintsettings.obj \ gtkprintutils.obj \ @@ -197,6 +149,7 @@ gtk_OBJECTS_recent = \ gtk_OBJECTS = \ fnmatch.obj \ + gtk9slice.obj \ gtkaboutdialog.obj \ gtkaccelgroup.obj \ gtkaccellabel.obj \ @@ -207,6 +160,15 @@ gtk_OBJECTS = \ gtkactivatable.obj \ gtkadjustment.obj \ gtkalignment.obj \ + gtkanimationdescription.obj \ + gtkappchooser.obj \ + gtkappchooserbutton.obj \ + gtkappchooserdialog.obj \ + gtkappchoosermodule.obj \ + gtkappchooseronline.obj \ + gtkappchooseronlinepk.obj \ + gtkappchooserwidget.obj \ + gtkapplication.obj \ gtkarrow.obj \ gtkaspectframe.obj \ gtkassistant.obj \ @@ -214,11 +176,16 @@ gtk_OBJECTS = \ gtkbindings.obj \ gtkbbox.obj \ gtkbox.obj \ + gtkborder.obj \ gtkbuildable.obj \ gtkbuilder.obj \ gtkbuilderparser.obj \ gtkbutton.obj \ gtkcalendar.obj \ + gtkcellarea.obj \ + gtkcellareabox.obj \ + gtkcellareaboxcontext.obj \ + gtkcellareacontext.obj \ gtkcheckbutton.obj \ gtkcheckmenuitem.obj \ gtkclipboard.obj \ @@ -226,9 +193,9 @@ gtk_OBJECTS = \ gtkcolorsel.obj \ gtkcolorseldialog.obj \ gtkcombobox.obj \ - gtkcomboboxentry.obj \ + gtkcomboboxtext.obj \ gtkcontainer.obj \ - gtkcurve.obj \ + gtkcssprovider.obj \ gtkdialog.obj \ gtkdnd.obj \ gtkdrawingarea.obj \ @@ -242,8 +209,8 @@ gtk_OBJECTS = \ gtkfontsel.obj \ gtkfontbutton.obj \ gtkframe.obj \ - gtkgamma.obj \ - gtkgc.obj \ + gtkgradient.obj \ + gtkgrid.obj \ gtkhandlebox.obj \ gtkhbbox.obj \ gtkhbox.obj \ @@ -264,16 +231,13 @@ gtk_OBJECTS = \ gtkimmodule.obj \ gtkimmulticontext.obj \ gtkinfobar.obj \ - gtkinputdialog.obj \ gtkinvisible.obj \ - gtkitem.obj \ gtkkeyhash.obj \ gtklabel.obj \ gtklayout.obj \ gtklinkbutton.obj \ gtkmain.obj \ gtkmarshalers.obj \ - gtkmarshal.obj \ gtkmenu.obj \ gtkmenubar.obj \ gtkmenuitem.obj \ @@ -282,15 +246,16 @@ gtk_OBJECTS = \ gtkmessagedialog.obj \ gtkmisc.obj \ gtkmnemonichash.obj \ + gtkmodifierstyle.obj \ gtkmodules.obj \ gtkmountoperation.obj \ gtkmountoperation-stub.obj \ gtknotebook.obj \ - gtkobject.obj \ gtkoffscreenwindow.obj \ gtkorientable.obj \ gtkpagesetup.obj \ gtkpaned.obj \ + gtkpango.obj \ gtkpapersize.obj \ gtkpathbar.obj \ gtkplug.obj \ @@ -306,6 +271,7 @@ gtk_OBJECTS = \ gtkrc.obj \ gtkscale.obj \ gtkscalebutton.obj \ + gtkscrollable.obj \ gtkscrollbar.obj \ gtkscrolledwindow.obj \ gtksearchengine.obj \ @@ -315,22 +281,32 @@ gtk_OBJECTS = \ gtkselection.obj \ gtkseparator.obj \ gtkseparatormenuitem.obj \ + gtkseparatortoolitem.obj \ gtksettings.obj \ + gtkshow.obj \ gtksizegroup.obj \ + gtksizerequest.obj \ gtksocket.obj \ gtksocket-win32.obj \ gtkspinbutton.obj \ gtkspinner.obj \ gtkstatusicon.obj \ gtkstyle.obj \ + gtkstylecontext.obj \ + gtkstyleproperties.obj \ + gtkstyleprovider.obj \ gtkstatusbar.obj \ gtkstock.obj \ + gtkswitch.obj \ + gtksymboliccolor.obj \ gtktable.obj \ gtktearoffmenuitem.obj \ - gtkthemes.obj \ + gtkthemingengine.obj \ + gtktimeline.obj \ gtktoggleaction.obj \ gtktogglebutton.obj \ gtktoggletoolbutton.obj \ + gtktoolbar.obj \ gtktoolbutton.obj \ gtktoolitem.obj \ gtktoolitemgroup.obj \ @@ -339,6 +315,7 @@ gtk_OBJECTS = \ gtktooltip.obj \ gtktreedatalist.obj \ gtktypebuiltins.obj \ + gtktypeutils.obj \ gtkuimanager.obj \ gtkvbbox.obj \ gtkvbox.obj \ @@ -349,13 +326,14 @@ gtk_OBJECTS = \ gtkvscrollbar.obj \ gtkvseparator.obj \ gtkwidget.obj \ + gtkwidgetpath.obj \ gtkwin32embed.obj \ gtkwin32embedwidget.obj \ gtkwindow.obj \ - gtkwindow-decorate.obj +# gtkwrapbox.obj \ # Source headers which are non-autogenerated headers -gtk_public_h_sources = \ +gtk_public_h_sources = \ gtk.h \ gtkaboutdialog.h \ gtkaccelgroup.h \ @@ -367,17 +345,27 @@ gtk_public_h_sources = \ gtkactivatable.h \ gtkadjustment.h \ gtkalignment.h \ + gtkappchooser.h \ + gtkappchooserbutton.h \ + gtkappchooserdialog.h \ + gtkappchooserwidget.h \ + gtkapplication.h \ gtkarrow.h \ gtkaspectframe.h \ gtkassistant.h \ gtkbbox.h \ gtkbin.h \ gtkbindings.h \ + gtkborder.h \ gtkbox.h \ gtkbuilder.h \ gtkbuildable.h \ gtkbutton.h \ gtkcalendar.h \ + gtkcellarea.h \ + gtkcellareacontext.h \ + gtkcellareabox.h \ + gtkcellareaboxcontext.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ @@ -385,47 +373,43 @@ gtk_public_h_sources = \ gtkcellrenderercombo.h \ gtkcellrendererpixbuf.h \ gtkcellrendererprogress.h \ - gtkcellrendererspin.h \ - gtkcellrendererspinner.h \ + gtkcellrendererspin.h \ + gtkcellrendererspinner.h\ gtkcellrenderertext.h \ gtkcellrenderertoggle.h \ gtkcellview.h \ gtkcheckbutton.h \ gtkcheckmenuitem.h \ gtkclipboard.h \ - gtkclist.h \ gtkcolorbutton.h \ gtkcolorsel.h \ gtkcolorseldialog.h \ - gtkcombo.h \ gtkcombobox.h \ - gtkcomboboxentry.h \ + gtkcomboboxtext.h \ gtkcontainer.h \ - gtkctree.h \ - gtkcurve.h \ - gtkdebug.h \ + gtkcssprovider.h \ + gtkdebug.h \ gtkdialog.h \ gtkdnd.h \ gtkdrawingarea.h \ - gtkeditable.h \ + gtkeditable.h \ gtkentry.h \ gtkentrybuffer.h \ gtkentrycompletion.h \ gtkenums.h \ gtkeventbox.h \ gtkexpander.h \ - gtkfilechooser.h \ - gtkfilechooserbutton.h \ - gtkfilechooserdialog.h \ - gtkfilechooserwidget.h \ + gtkfilechooser.h \ + gtkfilechooserbutton.h \ + gtkfilechooserdialog.h \ + gtkfilechooserwidget.h \ gtkfilefilter.h \ - gtkfilesel.h \ gtkfixed.h \ gtkfontbutton.h \ gtkfontsel.h \ gtkframe.h \ - gtkgamma.h \ - gtkgc.h \ + gtkgradient.h \ + gtkgrid.h \ gtkhandlebox.h \ gtkhbbox.h \ gtkhbox.h \ @@ -433,6 +417,7 @@ gtk_public_h_sources = \ gtkhscale.h \ gtkhscrollbar.h \ gtkhseparator.h \ + gtkhsv.h \ gtkiconfactory.h \ gtkicontheme.h \ gtkiconview.h \ @@ -442,15 +427,11 @@ gtk_public_h_sources = \ gtkimcontextsimple.h \ gtkimmodule.h \ gtkimmulticontext.h \ - gtkinputdialog.h \ + gtkinfobar.h \ gtkinvisible.h \ - gtkitem.h \ - gtkitemfactory.h \ gtklabel.h \ - gtklayout.h \ + gtklayout.h \ gtklinkbutton.h \ - gtklist.h \ - gtklistitem.h \ gtkliststore.h \ gtkmain.h \ gtkmenu.h \ @@ -463,21 +444,16 @@ gtk_public_h_sources = \ gtkmodules.h \ gtkmountoperation.h \ gtknotebook.h \ - gtkobject.h \ gtkoffscreenwindow.h \ - gtkoldeditable.h \ - gtkoptionmenu.h \ + gtkorientable.h \ gtkpagesetup.h \ gtkpaned.h \ gtkpapersize.h \ gtkplug.h \ - gtkpreview.h \ gtkprintcontext.h \ gtkprintoperation.h \ - gtkprintoperationpreview.h \ + gtkprintoperationpreview.h \ gtkprintsettings.h \ - gtkprivate.h \ - gtkprogress.h \ gtkprogressbar.h \ gtkradioaction.h \ gtkradiobutton.h \ @@ -486,14 +462,15 @@ gtk_public_h_sources = \ gtkrange.h \ gtkrc.h \ gtkrecentaction.h \ - gtkrecentchooser.h \ + gtkrecentchooser.h \ gtkrecentchooserdialog.h \ - gtkrecentchoosermenu.h \ + gtkrecentchoosermenu.h \ gtkrecentchooserwidget.h \ - gtkrecentfilter.h \ - gtkrecentmanager.h \ + gtkrecentfilter.h \ + gtkrecentmanager.h \ gtkscale.h \ gtkscalebutton.h \ + gtkscrollable.h \ gtkscrollbar.h \ gtkscrolledwindow.h \ gtkselection.h \ @@ -501,17 +478,24 @@ gtk_public_h_sources = \ gtkseparatormenuitem.h \ gtkseparatortoolitem.h \ gtksettings.h \ + gtkshow.h \ gtksizegroup.h \ + gtksizerequest.h \ gtksocket.h \ gtkspinbutton.h \ gtkspinner.h \ gtkstatusbar.h \ gtkstatusicon.h \ gtkstock.h \ + gtkstylecontext.h \ + gtkstyleproperties.h \ + gtkstyleprovider.h \ gtkstyle.h \ + gtkswitch.h \ + gtksymboliccolor.h \ gtktable.h \ - gtktearoffmenuitem.h \ - gtktext.h \ + gtktearoffmenuitem.h \ + gtktestutils.h \ gtktextbuffer.h \ gtktextbufferrichtext.h \ gtktextchild.h \ @@ -521,20 +505,18 @@ gtk_public_h_sources = \ gtktexttag.h \ gtktexttagtable.h \ gtktextview.h \ - gtktipsquery.h \ + gtkthemingengine.h \ gtktoggleaction.h \ gtktogglebutton.h \ gtktoggletoolbutton.h \ gtktoolbar.h \ gtktoolbutton.h \ gtktoolitem.h \ - gtktoolitemgroup.h \ + gtktoolitemgroup.h \ gtktoolpalette.h \ + gtktoolshell.h \ gtktooltip.h \ - gtktooltips.h \ - gtktree.h \ gtktreednd.h \ - gtktreeitem.h \ gtktreemodel.h \ gtktreemodelfilter.h \ gtktreemodelsort.h \ @@ -554,6 +536,7 @@ gtk_public_h_sources = \ gtkvscrollbar.h \ gtkvseparator.h \ gtkwidget.h \ + gtkwidgetpath.h \ gtkwindow.h # these aren't use here, but listed for reference @@ -567,7 +550,7 @@ gtk_extra_sources = \ gtk.def: gtk.symbols makefile.msc echo EXPORTS > gtk.def - cl /EP -DG_OS_WIN32 \ + cl /EP -DG_OS_WIN32 -DGDK_WINDOWING_WIN32 \ -DG_GNUC_MALLOC= -DG_GNUC_CONST= -DG_GNUC_NULL_TERMINATED= -DG_GNUC_NORETURN= \ -DG_GNUC_PRINTF=;G_GNUC_PRINTF gtk.symbols >> gtk.def @@ -601,15 +584,6 @@ gtkmarshalers.h : gtkmarshalers.list makefile.msc gtkmarshalers.c : gtkmarshalers.list makefile.msc $(GLIB)\gobject\glib-genmarshal --prefix=_gtk_marshal gtkmarshalers.list --body >gtkmarshalers.c -# public, deprecated marshalers -gtkmarshal.h : gtkmarshal.list - echo #ifndef GTK_DISABLE_DEPRECATED >gtkmarshal.h - $(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --header >>gtkmarshal.h - echo #endif /* GTK_DISABLE_DEPRECATED */ >>gtkmarshal.h - -gtkmarshal.c : gtkmarshal.list - $(GLIB)\gobject\glib-genmarshal --prefix=gtk_marshal gtkmarshal.list --body >gtkmarshal.c - gtktypefuncs.c : makefile.msc echo /*none*/ > gtktypefuncs.c @@ -618,8 +592,6 @@ gtk-win32.res : gtk-win32.rc # build some static limits to covercome command line too long # may also speed up the build -gtk-deprecated.lib : $(gtk_OBJECTS_deprecated) - lib /out:gtk-deprecated.lib $(gtk_OBJECTS_deprecated) gtk-cell.lib : $(gtk_OBJECTS_cell) lib /out:gtk-cell.lib $(gtk_OBJECTS_cell) @@ -640,7 +612,6 @@ gtk-core.lib : $(gtk_OBJECTS) lib /out:gtk-core.lib $(gtk_OBJECTS) gtk_SUBLIBS = \ - gtk-deprecated.lib \ gtk-cell.lib \ gtk-file.lib \ gtk-print.lib \ @@ -652,10 +623,9 @@ gtk_SUBLIBS = \ # Linking: # libgtk-win32-$(GTK_VER)-0.dll : $(gtk_SUBLIBS) gtk.def gtk-win32.res - $(CC) $(CFLAGS) -LD -Fm -Fe$@ $(gtk_SUBLIBS) gtk-win32.res \ - $(GDK_LIBS) $(GDK_PIXBUF_LIBS) $(PANGO_LIBS) $(INTL_LIBS) $(GLIB_LIBS) $(GMODULE_LIBS) \ - $(CAIRO_LIBS) $(PANGOCAIRO_LIBS) \ - gdi32.lib user32.lib advapi32.lib wsock32.lib shell32.lib ole32.lib comdlg32.lib winspool.lib comctl32.lib \ + $(CC) $(CFLAGS) -LD -Fm -Fe$@ $(gtk_SUBLIBS) gtk-win32.res $(EXTRALIBS) \ + gdi32.lib user32.lib advapi32.lib wsock32.lib shell32.lib ole32.lib \ + comdlg32.lib winspool.lib comctl32.lib \ $(LDFLAGS) /implib:gtk-win32-$(GTK_VER).lib /def:gtk.def gtk-win32-$(GTK_VER)s.lib : $(gtk_OBJECTS) diff --git a/makefile.msc b/makefile.msc index f95e5d33e4..3af6b7c911 100644 --- a/makefile.msc +++ b/makefile.msc @@ -1,7 +1,7 @@ ## Makefile for building the Gtk+ dlls with Microsoft C ## Use: nmake -f makefile.msc -PARTS = gdk-pixbuf gdk gtk tests +PARTS = gdk gtk tests all : \ config.h \ diff --git a/tests/makefile.msc b/tests/makefile.msc index 9b097a70f6..8d0532e401 100644 --- a/tests/makefile.msc +++ b/tests/makefile.msc @@ -10,14 +10,12 @@ TOP = ..\.. ################################################################ # Possibly override versions from build/win32/module.defs -GTK_VER = 2.0 -GDK_PIXBUF_VER = 2.0 +GTK_VER = 3.0 GDK_LIBS = ../gdk/gdk-win32-$(GTK_VER).lib GTK_LIBS = ../gtk/gtk-win32-$(GTK_VER).lib -GDK_PIXBUF_LIBS = ../gdk-pixbuf/gdk_pixbuf-$(GDK_PIXBUF_VER).lib -INCLUDES = -I . -I .. -I ../gdk -I ../gdk-pixbuf -I ../gtk +INCLUDES = -I . -I .. -I ../gdk -I ../gtk $(GDK_PIXBUF_CFLAGS) DEPCFLAGS = $(PANGO_CFLAGS) $(GLIB_CFLAGS) $(LIBICONV_CFLAGS) $(INTL_CFLAGS) $(ATK_CFLAGS) $(CAIRO_CFLAGS) LDFLAGS = /link /machine:ix86 $(LINKDEBUG) DEFINES = -DG_LOG_DOMAIN=\"GtkTest\" -DGTK_VERSION=\"$(GTK_VER)\" @@ -43,7 +41,7 @@ TESTAPPS = \ # autotestfilechooser autotestfilesystem \ # buildertest floatingtest \ flicker \ - objecttests \ +# objecttests \ testaccel testactions testassistant \ testbbox testbuttons \ testcairo testcalendar testcellrenderertext testclientmessage testcombo testcombochange \ @@ -52,13 +50,13 @@ TESTAPPS = \ testfilechooser testfilechooserbutton testframe \ testgrouping testgtk \ testicontheme testiconview testimage testinput \ - testmenus testmountoperation testmenubars testmerge testmultidisplay testmultiscreen \ + testmountoperation testmenubars testmerge testmultidisplay testmultiscreen \ testnouiprint testnotebookdnd \ testoffscreen testorientable \ testprint \ - testrecentchooser testrecentchoosermenu testrgb testrichtext \ + testrecentchooser testrecentchoosermenu testrichtext \ testscale testselection testspinbutton \ - testtext testtoolbar testtooltips \ + testtoolbar testtooltips \ testtreecolumns testtreecolumnsizing testtreeedit testtreeflow testtreefocus \ testtreemodel testtreesort testtreeview treestoretest \ testsocket testsocket_child teststatusicon \ @@ -110,7 +108,7 @@ EXTRA_OBJETCS = testsocket_common.obj $(TESTAPP).exe : ../gtk/gtk-win32-$(GTK_VER).lib $(TESTAPP).obj $(EXTRA_OBJETCS) $(CC) $(CFLAGS) $(TESTAPP).obj $(EXTRA_OBJETCS) $(GTK_LIBS) $(GDK_LIBS) $(GDK_PIXBUF_LIBS) \ - $(PANGO_LIBS) $(GLIB_LIBS) $(CAIRO_LIBS) $(EXTRA_LIBS) $(LDFLAGS) + $(PANGO_LIBS) $(PANGOCAIRO_LIBS) $(GLIB_LIBS) $(CAIRO_LIBS) $(EXTRA_LIBS) $(LDFLAGS) $(TESTAPP).obj : $(TESTAPP).c $(CC) $(CFLAGS) -c -DG_LOG_DOMAIN=\"$(TESTAPP)\" $(TESTAPP).c From cfeaba9d62df524c86fe33ee90b9379e60353188 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:03:27 +0100 Subject: [PATCH 0968/1463] Protect Unix specific print functions with G_OS_UNIX Although gtk.symbols seems to be unused on Unix now it still must not contain unprotected Unix only functions, because they can not be exported on win32. --- gtk/gtk.symbols | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 87208a8e58..2dbb2fffdb 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -700,7 +700,9 @@ gtk_css_provider_load_from_data gtk_css_provider_load_from_file gtk_css_provider_load_from_path gtk_css_provider_new +#ifdef G_OS_UNIX gtk_custom_paper_unix_dialog_get_type G_GNUC_CONST +#endif gtk_debug_flag_get_type G_GNUC_CONST gtk_delete_type_get_type G_GNUC_CONST gtk_dest_defaults_get_type G_GNUC_CONST @@ -889,7 +891,9 @@ gtk_entry_set_visibility gtk_entry_set_width_chars gtk_entry_text_index_to_layout_index gtk_entry_unset_invisible_char +#ifdef G_OS_UNIX gtk_enumerate_printers +#endif gtk_event_box_get_above_child gtk_event_box_get_type G_GNUC_CONST gtk_event_box_get_visible_window @@ -1632,12 +1636,14 @@ gtk_page_setup_set_right_margin gtk_page_setup_set_top_margin gtk_page_setup_to_file gtk_page_setup_to_key_file +#ifdef G_OS_UNIX gtk_page_setup_unix_dialog_get_page_setup gtk_page_setup_unix_dialog_get_print_settings gtk_page_setup_unix_dialog_get_type G_GNUC_CONST gtk_page_setup_unix_dialog_new gtk_page_setup_unix_dialog_set_page_setup gtk_page_setup_unix_dialog_set_print_settings +#endif /* G_OS_UNIX */ gtk_paint_arrow gtk_paint_box gtk_paint_box_gap @@ -1705,6 +1711,7 @@ gtk_plug_new gtk_plug_new_for_display gtk_policy_type_get_type G_GNUC_CONST gtk_position_type_get_type G_GNUC_CONST +#ifdef G_OS_UNIX gtk_print_backend_add_printer gtk_print_backend_destroy gtk_print_backend_error_quark @@ -1718,6 +1725,7 @@ gtk_print_backend_remove_printer gtk_print_backend_set_list_done gtk_print_backend_set_password gtk_print_capabilities_get_type G_GNUC_CONST +#endif /* G_OS_UNIX */ gtk_print_context_create_pango_context gtk_print_context_create_pango_layout gtk_print_context_get_cairo_context @@ -1731,6 +1739,7 @@ gtk_print_context_get_type G_GNUC_CONST gtk_print_context_get_width gtk_print_context_set_cairo_context gtk_print_duplex_get_type G_GNUC_CONST +#ifdef G_OS_UNIX gtk_printer_accepts_pdf gtk_printer_accepts_ps gtk_printer_compare @@ -1781,8 +1790,10 @@ gtk_printer_option_widget_has_external_label gtk_printer_option_widget_new gtk_printer_option_widget_set_source gtk_printer_request_details +#endif /* G_OS_UNIX */ gtk_print_error_get_type G_GNUC_CONST gtk_print_error_quark +#ifdef G_OS_UNIX gtk_printer_set_description gtk_printer_set_has_details gtk_printer_set_icon_name @@ -1826,6 +1837,7 @@ gtk_print_job_set_scale gtk_print_job_set_source_file gtk_print_job_set_status gtk_print_job_set_track_print_status +#endif /* G_OS_UNIX */ gtk_print_operation_action_get_type G_GNUC_CONST gtk_print_operation_cancel gtk_print_operation_draw_page_finish @@ -1943,6 +1955,7 @@ gtk_print_settings_to_file gtk_print_settings_to_key_file gtk_print_settings_unset gtk_print_status_get_type G_GNUC_CONST +#ifdef G_OS_UNIX gtk_print_unix_dialog_add_custom_tab gtk_print_unix_dialog_get_current_page gtk_print_unix_dialog_get_embed_page_setup @@ -1962,6 +1975,7 @@ gtk_print_unix_dialog_set_manual_capabilities gtk_print_unix_dialog_set_page_setup gtk_print_unix_dialog_set_settings gtk_print_unix_dialog_set_support_selection +#endif #ifdef GDK_WINDOWING_WIN32 gtk_print_win32_devnames_free gtk_print_win32_devnames_from_printer_name @@ -3058,7 +3072,9 @@ gtk_tooltip_set_markup gtk_tooltip_set_text gtk_tooltip_set_tip_area gtk_tooltip_trigger_tooltip_query +#ifdef GDK_WINDOWING_X11 gtk_tray_icon_get_type G_GNUC_CONST +#endif gtk_tree_drag_dest_drag_data_received gtk_tree_drag_dest_get_type G_GNUC_CONST gtk_tree_drag_dest_row_drop_possible From a2b1da064a7868a8e6960afd5ffd05c43e701135 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:06:38 +0100 Subject: [PATCH 0969/1463] win32: ported backend specific code to now backend specific API --- gtk/gtkplug-win32.c | 5 +++-- gtk/gtkplug.c | 7 +++++++ gtk/gtkprintoperation-win32.c | 2 +- gtk/gtkwin32embedwidget.c | 10 ++++++---- 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/gtk/gtkplug-win32.c b/gtk/gtkplug-win32.c index 8b80bf30d3..7116b31628 100644 --- a/gtk/gtkplug-win32.c +++ b/gtk/gtkplug-win32.c @@ -29,6 +29,7 @@ #include "gtkmarshalers.h" #include "gtkplug.h" #include "gtkplugprivate.h" +#include "gtkwindowprivate.h" #include "gtkdebug.h" #include "win32/gdkwin32.h" @@ -211,7 +212,7 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, /* Start of embedding protocol */ GTK_NOTE (PLUGSOCKET, g_printerr ("start of embedding\n")); - priv->socket_window = gdk_window_lookup_for_display (display, (GdkNativeWindow) parent); + priv->socket_window = gdk_win32_window_lookup_for_display (display, (GdkNativeWindow) parent); if (priv->socket_window) { gpointer user_data = NULL; @@ -230,7 +231,7 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, } else { - priv->socket_window = gdk_window_foreign_new_for_display (display, (GdkNativeWindow) parent); + priv->socket_window = gdk_win32_window_foreign_new_for_display (display, (GdkNativeWindow) parent); if (!priv->socket_window) /* Already gone */ break; } diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 9cf7ff4de5..174375fcba 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -40,6 +40,9 @@ #ifdef GDK_WINDOWING_X11 #include "x11/gdkx.h" #endif +#ifdef GDK_WINDOWING_WIN32 +#include "win32/gdkwin32.h" +#endif /** * SECTION:gtkplug @@ -546,6 +549,10 @@ gtk_plug_construct_for_display (GtkPlug *plug, if (GDK_IS_X11_DISPLAY (display)) priv->socket_window = gdk_x11_window_foreign_new_for_display (display, socket_id); #endif +#ifdef GDK_WINDOWING_WIN32 + if (GDK_IS_WIN32_DISPLAY (display)) + priv->socket_window = gdk_win32_window_foreign_new_for_display (display, socket_id); +#endif if (priv->socket_window) { g_signal_emit (plug, plug_signals[EMBEDDED], 0); diff --git a/gtk/gtkprintoperation-win32.c b/gtk/gtkprintoperation-win32.c index aee3b500ee..29550b7a8e 100644 --- a/gtk/gtkprintoperation-win32.c +++ b/gtk/gtkprintoperation-win32.c @@ -655,7 +655,7 @@ static HWND get_parent_hwnd (GtkWidget *widget) { gtk_widget_realize (widget); - return gdk_win32_drawable_get_handle (gtk_widget_get_window (widget)); + return gdk_win32_window_get_handle (gtk_widget_get_window (widget)); } static void diff --git a/gtk/gtkwin32embedwidget.c b/gtk/gtkwin32embedwidget.c index 7ab456d266..059be6623c 100644 --- a/gtk/gtkwin32embedwidget.c +++ b/gtk/gtkwin32embedwidget.c @@ -31,6 +31,7 @@ #include "gtkwin32embedwidget.h" #include "gtkintl.h" #include "gtkprivate.h" +#include "gtkwindowprivate.h" static void gtk_win32_embed_widget_realize (GtkWidget *widget); @@ -95,12 +96,12 @@ _gtk_win32_embed_widget_new (GdkNativeWindow parent_id) embed_widget = g_object_new (GTK_TYPE_WIN32_EMBED_WIDGET, NULL); embed_widget->parent_window = - gdk_window_lookup_for_display (gdk_display_get_default (), - parent_id); + gdk_win32_window_lookup_for_display (gdk_display_get_default (), + parent_id); if (!embed_widget->parent_window) embed_widget->parent_window = - gdk_window_foreign_new_for_display (gdk_display_get_default (), + gdk_win32_window_foreign_new_for_display (gdk_display_get_default (), parent_id); return GTK_WIDGET (embed_widget); @@ -149,7 +150,8 @@ gtk_win32_embed_widget_window_process (HWND hwnd, UINT msg, WPARAM wparam, LPARA GtkWin32EmbedWidget *embed_widget; gpointer user_data; - window = gdk_window_lookup ((GdkNativeWindow)hwnd); + window = gdk_win32_window_lookup_for_display (gdk_display_get_default (), + (GdkNativeWindow)hwnd); if (window == NULL) { g_warning ("No such window!"); return 0; From 67b4eff921d028ae6584a830edd66de5b9e0441a Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:07:47 +0100 Subject: [PATCH 0970/1463] win32: use GtkSocketPrivate --- gtk/gtksocket-win32.c | 54 +++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/gtk/gtksocket-win32.c b/gtk/gtksocket-win32.c index cf57458af3..1e745f55ff 100644 --- a/gtk/gtksocket-win32.c +++ b/gtk/gtksocket-win32.c @@ -34,6 +34,8 @@ #include "gtkprivate.h" #include "gtksocket.h" #include "gtksocketprivate.h" +#include "gtkplugprivate.h" +#include "gtkwindowprivate.h" #include "gtkdebug.h" #include "win32/gdkwin32.h" @@ -62,30 +64,32 @@ _gtk_socket_windowing_realize_window (GtkSocket *socket) void _gtk_socket_windowing_end_embedding_toplevel (GtkSocket *socket) { + GtkSocketPrivate *priv = socket->priv; gtk_window_remove_embedded_xid (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (socket))), - GDK_WINDOW_HWND (socket->plug_window)); + GDK_WINDOW_HWND (priv->plug_window)); } void _gtk_socket_windowing_size_request (GtkSocket *socket) { + GtkSocketPrivate *priv = socket->priv; MINMAXINFO mmi; - socket->request_width = 1; - socket->request_height = 1; + priv->request_width = 1; + priv->request_height = 1; mmi.ptMaxSize.x = mmi.ptMaxSize.y = 16000; /* ??? */ mmi.ptMinTrackSize.x = mmi.ptMinTrackSize.y = 1; mmi.ptMaxTrackSize.x = mmi.ptMaxTrackSize.y = 16000; /* ??? */ mmi.ptMaxPosition.x = mmi.ptMaxPosition.y = 0; - if (SendMessage (GDK_WINDOW_HWND (socket->plug_window), WM_GETMINMAXINFO, + if (SendMessage (GDK_WINDOW_HWND (priv->plug_window), WM_GETMINMAXINFO, 0, (LPARAM) &mmi) == 0) { - socket->request_width = mmi.ptMinTrackSize.x; - socket->request_height = mmi.ptMinTrackSize.y; + priv->request_width = mmi.ptMinTrackSize.x; + priv->request_height = mmi.ptMinTrackSize.y; } - socket->have_size = TRUE; + priv->have_size = TRUE; } void @@ -93,7 +97,8 @@ _gtk_socket_windowing_send_key_event (GtkSocket *socket, GdkEvent *gdk_event, gboolean mask_key_presses) { - PostMessage (GDK_WINDOW_HWND (socket->plug_window), + GtkSocketPrivate *priv = socket->priv; + PostMessage (GDK_WINDOW_HWND (priv->plug_window), (gdk_event->type == GDK_KEY_PRESS ? WM_KEYDOWN : WM_KEYUP), gdk_event->key.hardware_keycode, 0); } @@ -102,12 +107,14 @@ void _gtk_socket_windowing_focus_change (GtkSocket *socket, gboolean focus_in) { + GtkSocketPrivate *priv = socket->priv; + if (focus_in) - _gtk_win32_embed_send_focus_message (socket->plug_window, + _gtk_win32_embed_send_focus_message (priv->plug_window, GTK_WIN32_EMBED_FOCUS_IN, GTK_WIN32_EMBED_FOCUS_CURRENT); else - _gtk_win32_embed_send (socket->plug_window, + _gtk_win32_embed_send (priv->plug_window, GTK_WIN32_EMBED_FOCUS_OUT, 0, 0); } @@ -116,7 +123,9 @@ void _gtk_socket_windowing_update_active (GtkSocket *socket, gboolean active) { - _gtk_win32_embed_send (socket->plug_window, + GtkSocketPrivate *priv = socket->priv; + + _gtk_win32_embed_send (priv->plug_window, (active ? GTK_WIN32_EMBED_WINDOW_ACTIVATE : GTK_WIN32_EMBED_WINDOW_DEACTIVATE), 0, 0); } @@ -125,7 +134,8 @@ void _gtk_socket_windowing_update_modality (GtkSocket *socket, gboolean modality) { - _gtk_win32_embed_send (socket->plug_window, + GtkSocketPrivate *priv = socket->priv; + _gtk_win32_embed_send (priv->plug_window, (modality ? GTK_WIN32_EMBED_MODALITY_ON : GTK_WIN32_EMBED_MODALITY_OFF), 0, 0); } @@ -135,6 +145,7 @@ _gtk_socket_windowing_focus (GtkSocket *socket, GtkDirectionType direction) { int detail = -1; + GtkSocketPrivate *priv = socket->priv; switch (direction) { @@ -150,7 +161,7 @@ _gtk_socket_windowing_focus (GtkSocket *socket, break; } - _gtk_win32_embed_send_focus_message (socket->plug_window, + _gtk_win32_embed_send_focus_message (priv->plug_window, GTK_WIN32_EMBED_FOCUS_IN, detail); } @@ -170,7 +181,9 @@ _gtk_socket_windowing_select_plug_window_input (GtkSocket *socket) void _gtk_socket_windowing_embed_get_info (GtkSocket *socket) { - socket->is_mapped = TRUE; /* XXX ? */ + GtkSocketPrivate *priv = socket->priv; + + priv->is_mapped = TRUE; /* XXX ? */ } void @@ -200,12 +213,13 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, GtkWidget *widget; MSG *msg; GdkFilterReturn return_val; + GtkSocketPrivate *priv = socket->priv; socket = GTK_SOCKET (data); return_val = GDK_FILTER_CONTINUE; - if (socket->plug_widget) + if (priv->plug_widget) return return_val; widget = GTK_WIDGET (socket); @@ -225,11 +239,11 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, g_warning ("GTK Win32 embedding protocol version mismatch, " "client uses version %d, we understand version %d", (int) msg->lParam, GTK_WIN32_EMBED_PROTOCOL_VERSION); - if (!socket->plug_window) + if (!priv->plug_window) { _gtk_socket_add_window (socket, (GdkNativeWindow) msg->wParam, FALSE); - if (socket->plug_window) + if (priv->plug_window) GTK_NOTE (PLUGSOCKET, g_printerr ("GtkSocket: window created")); return_val = GDK_FILTER_REMOVE; @@ -237,7 +251,7 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, } else if (msg->message == _gtk_win32_embed_message_type (GTK_WIN32_EMBED_EVENT_PLUG_MAPPED)) { - gboolean was_mapped = socket->is_mapped; + gboolean was_mapped = priv->is_mapped; gboolean is_mapped = msg->wParam != 0; GTK_NOTE (PLUGSOCKET, g_printerr ("GtkSocket: PLUG_MAPPED received is_mapped:%d\n", is_mapped)); @@ -247,7 +261,7 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, _gtk_socket_handle_map_request (socket); else { - gdk_window_show (socket->plug_window); + gdk_window_show (priv->plug_window); _gtk_socket_unmap_notify (socket); } } @@ -256,7 +270,7 @@ _gtk_socket_windowing_filter_func (GdkXEvent *gdk_xevent, else if (msg->message == _gtk_win32_embed_message_type (GTK_WIN32_EMBED_PLUG_RESIZED)) { GTK_NOTE (PLUGSOCKET, g_printerr ("GtkSocket: PLUG_RESIZED received\n")); - socket->have_size = FALSE; + priv->have_size = FALSE; gtk_widget_queue_resize (widget); return_val = GDK_FILTER_REMOVE; } From d4c4db6a7c7dba2ed86689a5a420bb5e6703c49c Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:10:00 +0100 Subject: [PATCH 0971/1463] Avoid C99 sinf() --- gtk/gtktimeline.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktimeline.c b/gtk/gtktimeline.c index 5550e7d47c..4053da94f8 100644 --- a/gtk/gtktimeline.c +++ b/gtk/gtktimeline.c @@ -291,7 +291,7 @@ calculate_progress (gdouble linear_progress, break; case GTK_TIMELINE_PROGRESS_EASE: - progress = (sinf ((progress - 0.5) * G_PI) + 1) / 2; + progress = (sin ((progress - 0.5) * G_PI) + 1) / 2; break; case GTK_TIMELINE_PROGRESS_EASE_IN: progress = pow (progress, 3); From 5fe027500e857c40818650bd287e8e83b64d074e Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:11:34 +0100 Subject: [PATCH 0972/1463] win32: include gtkprivate.h for win32 GTK_DATA_PREFIX --- gtk/gtkcssprovider.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 0a3da2ec12..64dac589dd 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -29,6 +29,7 @@ #include "gtkanimationdescription.h" #include "gtk9slice.h" #include "gtkcssprovider.h" +#include "gtkprivate.h" /** * SECTION:gtkcssprovider From 53c1b21ffb223aa3fdcaaf02bd6c5e2b6874a9d4 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:18:33 +0100 Subject: [PATCH 0973/1463] win32: disable gdk_display_get_default ()->core_pointer I neither know how to trigger this code nor what would be the suggested replacement API. BUt it's the last thing stopping me to compile GTK3 for win32. --- gtk/gtkstatusicon.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index 32972a5e50..a5a220e01b 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -47,6 +47,9 @@ #ifdef GDK_WINDOWING_X11 #include "gdk/x11/gdkx.h" #endif +#ifdef GDK_WINDOWING_WIN32 +#include "gdk/win32/gdkwin32.h" +#endif #ifdef GDK_WINDOWING_WIN32 #include "gtkicontheme.h" @@ -643,7 +646,7 @@ build_button_event (GtkStatusIconPrivate *priv, e->axes = NULL; e->state = 0; e->button = button; - e->device = gdk_display_get_default ()->core_pointer; + //FIXME: e->device = gdk_display_get_default ()->core_pointer; e->x_root = e->x; e->y_root = e->y; } From 23506c0e44e9ebe84a2155aa62b0dd0122685c95 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Sun, 2 Jan 2011 12:36:16 +0100 Subject: [PATCH 0974/1463] c99ism: declaration in the mid of a block --- tests/testcairo.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/testcairo.c b/tests/testcairo.c index f66d2d6266..eaca7a83b7 100644 --- a/tests/testcairo.c +++ b/tests/testcairo.c @@ -121,11 +121,10 @@ on_draw (GtkWidget *widget, { cairo_surface_t *overlay, *punch, *circles; cairo_t *overlay_cr, *punch_cr, *circles_cr; - int width, height; /* Fill the background */ - width = gtk_widget_get_allocated_width (widget); - height = gtk_widget_get_allocated_height (widget); + int width = gtk_widget_get_allocated_width (widget); + int height = gtk_widget_get_allocated_height (widget); double radius = 0.5 * (width < height ? width : height) - 10; double xc = width / 2.; double yc = height / 2.; From acf13456b16cef464ed01c3b36dfad2f5ecb5468 Mon Sep 17 00:00:00 2001 From: John Ralls Date: Sun, 2 Jan 2011 10:23:20 -0800 Subject: [PATCH 0975/1463] Fix refresh of static autorelease_pool so that it doesn't happen in gtk-nested loops. --- gdk/quartz/gdkeventloop-quartz.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/gdk/quartz/gdkeventloop-quartz.c b/gdk/quartz/gdkeventloop-quartz.c index a2a2cd3153..39f5c0aee3 100644 --- a/gdk/quartz/gdkeventloop-quartz.c +++ b/gdk/quartz/gdkeventloop-quartz.c @@ -632,21 +632,20 @@ gdk_event_check (GSource *source) GDK_THREADS_ENTER (); - /* XXX: This check isn't right it won't handle a recursive GLib main - * loop run within an outer CFRunLoop run. Such loops will pile up - * memory. Fixing this requires setting a flag *only* when we call - * g_main_context_check() from within the run loop iteraton code, - * and also maintaining our own stack of run loops... allocating and - * releasing NSAutoReleasePools not properly nested with CFRunLoop - * runs seems to cause problems. - */ - if (current_loop_level == 0) +/* Refresh the autorelease pool if we're at the base CFRunLoop level + * (indicated by current_loop_level) and the base g_main_loop level + * (indicated by g_main_depth()). Messing with the autorelease pool at + * any level of nesting can cause access to deallocated memory because + * autorelease_pool is static and releasing a pool will cause all + * pools allocated inside of it to be released as well. + */ + if (current_loop_level == 0 && g_main_depth() == 0) { if (autorelease_pool) [autorelease_pool release]; autorelease_pool = [[NSAutoreleasePool alloc] init]; } - + retval = (_gdk_event_queue_find_first (_gdk_display) != NULL || _gdk_quartz_event_loop_check_pending ()); From 8a9457cb80f8bf021de559ba0a18309e907abd81 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Sun, 2 Jan 2011 19:31:56 +0100 Subject: [PATCH 0976/1463] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20t?= =?UTF-8?q?ranslation=20from=20Torstein=20Adolf=20Winterseth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 240 +++++++++++++++++++++++++++---------------------------- 1 file changed, 117 insertions(+), 123 deletions(-) diff --git a/po/nb.po b/po/nb.po index 1d99acb0c0..f38781f2dd 100644 --- a/po/nb.po +++ b/po/nb.po @@ -6,70 +6,61 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ 2.92.x\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-17 13:05+0100\n" -"PO-Revision-Date: 2010-12-17 13:09+0100\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=gtk%2b&component=general\n" +"POT-Creation-Date: 2010-12-24 02:57+0000\n" +"PO-Revision-Date: 2010-12-30 20:35+0100\n" "Last-Translator: Torstein Adolf Winterseth \n" "Language-Team: Norwegian Nynorsk \n" -"Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" +"Language: nn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.6.1\n" +"X-Generator: Lokalize 1.1\n" -#: ../gdk/gdk.c:115 +#: ../gdk/gdk.c:155 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Feil ved lesing av flagg --gdk-debug" -#: ../gdk/gdk.c:135 +#: ../gdk/gdk.c:175 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Feil ved lesing av flagg --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:163 +#: ../gdk/gdk.c:203 msgid "Program class as used by the window manager" msgstr "Programklasse som brukes av vindushåndtereren" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:204 msgid "CLASS" msgstr "KLASSE" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:166 +#: ../gdk/gdk.c:206 msgid "Program name as used by the window manager" msgstr "Programnavn som brukes av vindushåndtereren" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:207 msgid "NAME" msgstr "NAVN" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:169 +#: ../gdk/gdk.c:209 msgid "X display to use" msgstr "X-skjerm som skal brukes" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:170 +#: ../gdk/gdk.c:210 msgid "DISPLAY" msgstr "SKJERM" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:172 -msgid "X screen to use" -msgstr "X-skjerm som skal brukes" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:173 -msgid "SCREEN" -msgstr "SKJERM" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:176 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to set" msgstr "Feilsøkingsflagg som skal settes for GDK" @@ -77,12 +68,12 @@ msgstr "Feilsøkingsflagg som skal settes for GDK" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 +#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 msgid "FLAGS" msgstr "FLAGG" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:179 +#: ../gdk/gdk.c:216 msgid "GDK debugging flags to unset" msgstr "Feilsøkingsflagg som skal fjernes for GDK" @@ -301,28 +292,23 @@ msgstr "Størrelse på paletten i 8-bits modus" msgid "COLORS" msgstr "FARGER" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "Starter %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "Åpner %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "Åpner %d oppføring" msgstr[1] "Åpner %d oppføringer" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "Gjør kall til X-bibliotekene synkrone" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. @@ -331,7 +317,9 @@ msgstr "Gjør kall til X-bibliotekene synkrone" msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk %s for detaljer" +msgstr "" +"Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk %" +"s for detaljer" #: ../gtk/gtkaboutdialog.c:347 msgid "License" @@ -342,41 +330,41 @@ msgid "The license of the program" msgstr "Programmets lisens" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:741 +#: ../gtk/gtkaboutdialog.c:740 msgid "C_redits" msgstr "Bid_ragsytere" #. Add the license button -#: ../gtk/gtkaboutdialog.c:754 +#: ../gtk/gtkaboutdialog.c:753 msgid "_License" msgstr "_Lisens" -#: ../gtk/gtkaboutdialog.c:959 +#: ../gtk/gtkaboutdialog.c:958 msgid "Could not show link" msgstr "Klarte ikke å vise lenke" -#: ../gtk/gtkaboutdialog.c:996 +#: ../gtk/gtkaboutdialog.c:995 msgid "Homepage" msgstr "Hjemmeside" -#: ../gtk/gtkaboutdialog.c:1052 +#: ../gtk/gtkaboutdialog.c:1049 #, c-format msgid "About %s" msgstr "Om %s" -#: ../gtk/gtkaboutdialog.c:2367 +#: ../gtk/gtkaboutdialog.c:2371 msgid "Created by" msgstr "Laget av" -#: ../gtk/gtkaboutdialog.c:2370 +#: ../gtk/gtkaboutdialog.c:2374 msgid "Documented by" msgstr "Dokumentert av" -#: ../gtk/gtkaboutdialog.c:2382 +#: ../gtk/gtkaboutdialog.c:2384 msgid "Translated by" msgstr "Oversatt av" -#: ../gtk/gtkaboutdialog.c:2386 +#: ../gtk/gtkaboutdialog.c:2389 msgid "Artwork by" msgstr "Grafikk av" @@ -480,7 +468,7 @@ msgstr "Uhåndtert tag «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:882 msgid "calendar:MY" msgstr "calendar:MY" @@ -488,7 +476,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:920 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -497,7 +485,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1900 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -512,7 +500,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -528,7 +516,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -544,7 +532,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2253 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -588,7 +576,7 @@ msgstr "Velg en farge" msgid "Received invalid color data\n" msgstr "Mottok ugyldige fargedata\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -596,7 +584,7 @@ msgstr "" "Velg fargen du ønsker fra den ytre ringen. Velg lysstyrke for denne fargen " "ved å bruke den indre trekanten." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -604,67 +592,67 @@ msgstr "" "Trykk på dråpetelleren og trykk så på en farge hvor som helst på skjermen " "for å velge denne fargen." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Glød:" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Posisjon på fargehjulet." -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Metning:" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "Intensitet for fargen." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Verdi:" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Lysstyrke for fargen." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Rød:" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Mende med rødt lys i fargen." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_Grønn:" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Mengde med grønt lys i fargen." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Blå:" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Mengde med blått lys i fargen." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "_Ugjennomsiktighet:" -#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Gjennomsiktighet for fargen." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "Farge_navn:" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -672,15 +660,15 @@ msgstr "" "Du kan skrive inn en heksadesimal fargeverdi i HTML-stil, eller bruke et " "fargenavn som f.eks. «oransje» i denne oppføringen." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Palett:" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Fargehjul" -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -690,7 +678,7 @@ msgstr "" "denne fargen til en palettoppføring, eller velge denne fargen som aktiv ved " "å dra den til den andre fargeprøven ved siden av." -#: ../gtk/gtkcolorsel.c:1037 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -698,21 +686,21 @@ msgstr "" "Fargen du har valgt. Du kan dra denne fargen til en palettoppføring for å " "lagre den for senere bruk." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "Tidligere valgt farge. For sammenligning med fargen du velger nå." -#: ../gtk/gtkcolorsel.c:1045 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "Fargen du har valgt." -#: ../gtk/gtkcolorsel.c:1445 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_Lagre fargen her" -#: ../gtk/gtkcolorsel.c:1653 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -789,23 +777,23 @@ msgstr "Høy_re:" msgid "Paper Margins" msgstr "Papirmarger" -#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8246 +#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 msgid "Input _Methods" msgstr "Inndata_metoder" -#: ../gtk/gtkentry.c:8821 ../gtk/gtktextview.c:8260 +#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 msgid "_Insert Unicode Control Character" msgstr "Sett _inn Unicode kontrolltegn" -#: ../gtk/gtkentry.c:10225 +#: ../gtk/gtkentry.c:10227 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock og Num Lock er på" -#: ../gtk/gtkentry.c:10227 +#: ../gtk/gtkentry.c:10229 msgid "Num Lock is on" msgstr "Num Lock er på" -#: ../gtk/gtkentry.c:10229 +#: ../gtk/gtkentry.c:10231 msgid "Caps Lock is on" msgstr "Caps Lock er på" @@ -1004,7 +992,7 @@ msgstr "Opprett _mappe" #: ../gtk/gtkfilechooserdefault.c:5022 msgid "_Location:" -msgstr "_Lokasjon:" +msgstr "_Adresse:" #: ../gtk/gtkfilechooserdefault.c:5226 msgid "Save in _folder:" @@ -1206,7 +1194,7 @@ msgstr "Valg av skrift" msgid "Error loading icon: %s" msgstr "Feil under lasting av ikon: %s" -#: ../gtk/gtkicontheme.c:1352 +#: ../gtk/gtkicontheme.c:1351 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1219,12 +1207,12 @@ msgstr "" "Du kan finne en kopi av det på:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1533 +#: ../gtk/gtkicontheme.c:1532 #, c-format msgid "Icon '%s' not present in theme" msgstr "Ikon «%s» er ikke tilstede i tema" -#: ../gtk/gtkicontheme.c:3054 +#: ../gtk/gtkicontheme.c:3053 msgid "Failed to load icon" msgstr "Feil under lasting av ikon" @@ -1249,12 +1237,12 @@ msgid "System (%s)" msgstr "System (%s)" #. Open Link -#: ../gtk/gtklabel.c:6249 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Åpne lenke" #. Copy Link Address -#: ../gtk/gtklabel.c:6261 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Kopier _lenkas adresse" @@ -1267,27 +1255,27 @@ msgid "Invalid URI" msgstr "Ugyldig URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 +#: ../gtk/gtkmain.c:515 msgid "Load additional GTK+ modules" msgstr "Last tilleggsmoduler for GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:517 +#: ../gtk/gtkmain.c:516 msgid "MODULES" msgstr "MODULER" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:518 msgid "Make all warnings fatal" msgstr "La alle advarsler være fatale" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:522 +#: ../gtk/gtkmain.c:521 msgid "GTK+ debugging flags to set" msgstr "Feilsøkingsflagg som skal settes for GTK+" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:525 +#: ../gtk/gtkmain.c:524 msgid "GTK+ debugging flags to unset" msgstr "Feilsøkingsflagg som skal fjernes for GTK+" @@ -1296,20 +1284,20 @@ msgstr "Feilsøkingsflagg som skal fjernes for GTK+" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:788 +#: ../gtk/gtkmain.c:787 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:852 +#: ../gtk/gtkmain.c:851 #, c-format msgid "Cannot open display: %s" msgstr "Kan ikke åpne skjerm: %s" -#: ../gtk/gtkmain.c:911 +#: ../gtk/gtkmain.c:915 msgid "GTK+ Options" msgstr "Alternativer for GTK+" -#: ../gtk/gtkmain.c:911 +#: ../gtk/gtkmain.c:915 msgid "Show GTK+ Options" msgstr "Vis alternativer for GTK+" @@ -1365,8 +1353,7 @@ msgstr "A_vslutt prosess" #: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "" -"Kan ikke terminere prosess med PID %d. Operasjonen er ikke implementert." +msgstr "Kan ikke terminere prosess med PID %d. Operasjonen er ikke implementert." #. translators: this string is a name for the 'less' command #: ../gtk/gtkmountoperation-x11.c:862 @@ -1394,7 +1381,7 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "Kan ikke avslutte prosess med PID %d: %s" -#: ../gtk/gtknotebook.c:4914 ../gtk/gtknotebook.c:7571 +#: ../gtk/gtknotebook.c:4910 ../gtk/gtknotebook.c:7567 #, c-format msgid "Page %u" msgstr "Side %u" @@ -1549,14 +1536,13 @@ msgstr "Feil under oppretting av forhåndsvisning for utskrift" #: ../gtk/gtkprintoperation.c:2935 msgid "The most probable reason is that a temporary file could not be created." -msgstr "" -"Den mest sannsynlige årsaken er at en midlertidig fil ikke kunne lages." +msgstr "Den mest sannsynlige årsaken er at en midlertidig fil ikke kunne lages." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Feil under start av forhåndsvisning" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Program" @@ -1630,7 +1616,7 @@ msgstr "Skriver" #. Translators: this is the header for the location column in the print dialog #: ../gtk/gtkprintunixdialog.c:2150 msgid "Location" -msgstr "Lokasjon" +msgstr "Adresse" #. Translators: this is the header for the printer status column in the print dialog #: ../gtk/gtkprintunixdialog.c:2161 @@ -1938,7 +1924,7 @@ msgstr "Noen innstillinger i dialogen er i konflikt" msgid "Print" msgstr "Skriv ut" -#: ../gtk/gtkrc.c:2366 ../gtk/gtkrc.c:2369 +#: ../gtk/gtkrc.c:947 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Klarte ikke å finne bildefil i pixmap_path: «%s»" @@ -1972,7 +1958,7 @@ msgstr "Klarte ikke tømme listen" #: ../gtk/gtkrecentchooserdefault.c:1778 msgid "Copy _Location" -msgstr "Kopier _lokasjon" +msgstr "Kopier _adresse" #: ../gtk/gtkrecentchooserdefault.c:1791 msgid "_Remove From List" @@ -2661,8 +2647,7 @@ msgstr "«%s» er ikke et gyldig attributtnavn" #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "" -"«%s» kunne ikke konverteres til en verdi av type «%s» for attributt «%s»" +msgstr "«%s» kunne ikke konverteres til en verdi av type «%s» for attributt «%s»" #: ../gtk/gtktextbufferserialize.c:1210 #, c-format @@ -2701,8 +2686,8 @@ msgstr "Serialiserte data har feil utforming" msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" -"Serialiserte data er feilutformet.Første del er ikke " -"GTKTEXTBUFFERCONTENTS-0001" +"Serialiserte data er feilutformet.Første del er ikke GTKTEXTBUFFERCONTENTS-" +"0001" #: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" @@ -2749,53 +2734,53 @@ msgstr "ZWNJ Zero width _non-joiner" msgid "Unable to locate theme engine in module_path: \"%s\"," msgstr "Klarte ikke å finne temamotor i module_path: «%s»." -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Uventet startmarkering «%s» på linje %d tegn %d" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Uventet tegndata på linje %d tegn %d" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "Tom" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Volum" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "Tar volumet ned eller opp" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "Justerer volumet" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Volum ned" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "Senker volumet" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Volum opp" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "Hever volumet" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Dempet" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Fullt volum" @@ -2804,7 +2789,7 @@ msgstr "Fullt volum" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -4234,3 +4219,12 @@ msgid "" msgstr "" "Feil under lasting av bilde «%s»: årsak ikke kjent, sannsynligvis korrupt " "bildefil" + +#~ msgid "X screen to use" +#~ msgstr "X-skjerm som skal brukes" + +#~ msgid "SCREEN" +#~ msgstr "SKJERM" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Gjør kall til X-bibliotekene synkrone" From 7ee697ab8d2f2cf1256fffaac45f3dfa37dabc04 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Sun, 2 Jan 2011 19:32:29 +0100 Subject: [PATCH 0977/1463] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20t?= =?UTF-8?q?ranslation=20from=20Torstein=20Adolf=20Winterseth?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po-properties/nb.po | 4065 +++++++++++++++++++++++-------------------- 1 file changed, 2169 insertions(+), 1896 deletions(-) diff --git a/po-properties/nb.po b/po-properties/nb.po index 99347a5b7e..a345459a86 100644 --- a/po-properties/nb.po +++ b/po-properties/nb.po @@ -1,153 +1,156 @@ # translation of nb.po to Norwegian Bokmal # Norwegian (bokmål) translation of gtk+. # Copyright (C) 1998-2004, 2005 Free Software Foundation, Inc. +# # Kjartan Maraas , 1998-2010. # Terance Edward Sola , 2005. -# +# Torstein Adolf Winterseth , 2010. msgid "" msgstr "" "Project-Id-Version: gtk+ properties\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-01-19 11:19+0100\n" -"Last-Translator: Kjartan Maraas \n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." +"cgi?product=gtk%2b&component=general\n" +"POT-Creation-Date: 2010-12-24 02:57+0000\n" +"PO-Revision-Date: 2010-12-30 20:37+0100\n" +"Last-Translator: Torstein Adolf Winterseth \n" "Language-Team: Norwegian Bokmål \n" -"Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" +"Language: \n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.1\n" -#: gdk/gdkdevice.c:97 +#: ../gdk/gdkdevice.c:96 #, fuzzy msgid "Device Display" msgstr "Forvalgt skjerm" -#: gdk/gdkdevice.c:98 +#: ../gdk/gdkdevice.c:97 #, fuzzy msgid "Display which the device belongs to" msgstr "Vis cellen sensitiv" -#: gdk/gdkdevice.c:112 +#: ../gdk/gdkdevice.c:111 msgid "Device manager" msgstr "" -#: gdk/gdkdevice.c:113 +#: ../gdk/gdkdevice.c:112 msgid "Device manager which the device belongs to" msgstr "" -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 +#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 #, fuzzy msgid "Device name" msgstr "Navn på widget" -#: gdk/gdkdevice.c:142 +#: ../gdk/gdkdevice.c:141 #, fuzzy msgid "Device type" msgstr "Kurvetype" -#: gdk/gdkdevice.c:143 +#: ../gdk/gdkdevice.c:142 msgid "Device role in the device manager" msgstr "" -#: gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:158 msgid "Associated device" msgstr "" -#: gdk/gdkdevice.c:160 +#: ../gdk/gdkdevice.c:159 msgid "Associated pointer or keyboard with this device" msgstr "" -#: gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:172 msgid "Input source" msgstr "" -#: gdk/gdkdevice.c:174 +#: ../gdk/gdkdevice.c:173 #, fuzzy msgid "Source type for the device" msgstr "Modell for treevisning" -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 +#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 #, fuzzy msgid "Input mode for the device" msgstr "Modell for treevisning" -#: gdk/gdkdevice.c:205 +#: ../gdk/gdkdevice.c:204 #, fuzzy msgid "Whether the device has a cursor" msgstr "Widget har inndatafokus" -#: gdk/gdkdevice.c:206 +#: ../gdk/gdkdevice.c:205 #, fuzzy msgid "Whether there is a visible cursor following device motion" msgstr "Om usynlig tegn er satt" -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 +#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 #, fuzzy msgid "Number of axes in the device" msgstr "Antall sider i dokumentet." -#: gdk/gdkdevicemanager.c:134 +#: ../gdk/gdkdevicemanager.c:130 #, fuzzy msgid "Display" msgstr "Forvalgt skjerm" -#: gdk/gdkdevicemanager.c:135 +#: ../gdk/gdkdevicemanager.c:131 #, fuzzy msgid "Display for the device manager" msgstr "Vis cellen" -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:114 msgid "Default Display" msgstr "Forvalgt skjerm" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:115 msgid "The default display for GDK" msgstr "Forvalgt skjerm for GDK" -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Alternativer for skrift" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "Forvalgte alternativer for skrift på skjermen" -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Skriftoppløsning" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "Oppløsning for skrifter på skjermen" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Markør" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "" -#: gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" msgstr "" -#: gdk/x11/gdkdevicemanager-xi.c:84 +#: ../gdk/x11/gdkdevicemanager-xi.c:95 #, fuzzy msgid "Event base" msgstr "Hendelser" -#: gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "" -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:277 msgid "Program name" msgstr "Navn på program" -#: gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:278 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -155,99 +158,95 @@ msgstr "" "Navn på programmet. Hvis dette ikke er satt vil forvalgt verdi komme fra " "g_get_application_name()" -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:292 msgid "Program version" msgstr "Programversjon" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:293 msgid "The version of the program" msgstr "Programmets versjon" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright string" msgstr "Opphavsrett" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:308 msgid "Copyright information for the program" msgstr "Informasjon om opphavsrett for programmet" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments string" msgstr "Kommentar" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:326 msgid "Comments about the program" msgstr "Kommentar om programmet" -#: gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:376 #, fuzzy msgid "License Type" msgstr "Meldingstype" -#: gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:377 #, fuzzy msgid "The license type of the program" msgstr "Programmets versjon" -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:393 msgid "Website URL" msgstr "URL til nettsted" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:394 msgid "The URL for the link to the website of the program" msgstr "URL for programmets nettsted" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:408 msgid "Website label" msgstr "Etikett for nettsted" -#: gtk/gtkaboutdialog.c:402 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"Merkelappen til programmet sitt nettside. Hvis dette ikke er satt brukes " -"bare nettadressen" +#: ../gtk/gtkaboutdialog.c:409 +#, fuzzy +#| msgid "The URL for the link to the website of the program" +msgid "The label for the link to the website of the program" +msgstr "URL for programmets nettsted" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:425 msgid "Authors" msgstr "Forfattere" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:426 msgid "List of authors of the program" msgstr "Liste over programmets utviklere" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:442 msgid "Documenters" msgstr "Dokumentasjon" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:443 msgid "List of people documenting the program" msgstr "Liste med personer som har dokumentert programmet" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:459 msgid "Artists" msgstr "Artister" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:460 msgid "List of people who have contributed artwork to the program" msgstr "Liste med personer som har bidratt med grafikk til programmet" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:477 msgid "Translator credits" msgstr "Oversettere" -#: gtk/gtkaboutdialog.c:471 -msgid "" -"Credits to the translators. This string should be marked as translatable" -msgstr "" -"Takk til oversetterne. Denne strengen skal være markert som oversettbar" +#: ../gtk/gtkaboutdialog.c:478 +msgid "Credits to the translators. This string should be marked as translatable" +msgstr "Takk til oversetterne. Denne strengen skal være markert som oversettbar" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:493 msgid "Logo" msgstr "Logo" -#: gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:494 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -255,108 +254,109 @@ msgstr "" "En logo for «Om»-boksen. Hvis dette ikke er satt brukes " "gtk_window_get_default_icon_list()" -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:509 msgid "Logo Icon Name" msgstr "Navn på ikon for logo" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:510 msgid "A named icon to use as the logo for the about box." msgstr "Et navngitt ikon å bruke som logoen for «Om»-boksen." -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:523 msgid "Wrap license" msgstr "Brytningslisens" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:524 msgid "Whether to wrap the license text." msgstr "Om lisensteksten skal brytes." -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:189 msgid "Accelerator Closure" msgstr "Aksellerator-«closure»" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:190 msgid "The closure to be monitored for accelerator changes" msgstr "«Closure» som skal overvåkes for akselleratorendringer" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:196 msgid "Accelerator Widget" msgstr "Akselleratorwidget" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:197 msgid "The widget to be monitored for accelerator changes" msgstr "Widgetet som skal overvåkes for akselleratorendringer" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 msgid "Name" msgstr "Navn" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "Et unikt navn for handlingen." -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 +#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:332 +#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Etikett" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." msgstr "" "Etikett som brukes for menyoppføringer og knapper som aktiverer denne " "handlingen." -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:258 msgid "Short label" msgstr "Kort etikett" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "En kortere etikett som kan brukes på verktøylinjeknapper." -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:267 msgid "Tooltip" msgstr "Verktøytips" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "Et verktøytips for denne handlingen." -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "Standard ikon" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "" "Standard ikon som vises i komponenter som representerer denne handlingen." -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 msgid "The GIcon being displayed" msgstr "GIcon som skal vises" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 +#: ../gtk/gtkwindow.c:722 msgid "Icon Name" msgstr "Navn på ikon" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 msgid "The name of the icon from the icon theme" msgstr "Navn på ikonet fra ikontemaet" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "Synlig når horisontal" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." @@ -364,22 +364,22 @@ msgstr "" "Om verktøylinjeoppføringen er synlig når verktøylinjen har horisontal " "orientering." -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "Synlig når full" -#: gtk/gtkaction.c:350 +#: ../gtk/gtkaction.c:350 #, fuzzy msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." msgstr "Når TRUE vil tomme menyproxyer for denne handlingen skjules." -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "Synlig når vertikal" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." @@ -387,11 +387,11 @@ msgstr "" "Om verktøylinjeoppføringen er synlig når verktøylinjen har vertikal " "orientering." -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "Er viktig" -#: gtk/gtkaction.c:366 +#: ../gtk/gtkaction.c:366 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." @@ -399,37 +399,38 @@ msgstr "" "Om handlingen ses på som viktig. Når denne er satt til TRUE viser proxyer " "for verktøylinjeoppføringene tekst i GTK_TOOLBAR_BOTH_HORIZ-modus." -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "Skjul hvis tom" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "Når TRUE vil tomme menyproxyer for denne handlingen skjules." -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 msgid "Sensitive" msgstr "Følsomt" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "Om handlingen er aktivert." -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 +#: ../gtk/gtkwidget.c:926 msgid "Visible" msgstr "Synlig" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "Om handlingen er synlig" -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:395 msgid "Action Group" msgstr "Handlingsgruppe" -#: gtk/gtkaction.c:396 +#: ../gtk/gtkaction.c:396 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." @@ -437,97 +438,97 @@ msgstr "" "GtkActionGroup denne GtkAction er assosiert med, eller NULL (for intern " "bruk)." -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 msgid "Always show image" msgstr "Alltid vis bilde" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 msgid "Whether the image will always be shown" msgstr "Om bildet alltid skal være synlig" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "Et navn for handlingsgruppen." -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "Om handlingsgruppen er aktivert." -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "Om handlingsgruppen er synlig" -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:290 msgid "Related Action" msgstr "Relatert handling" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:291 msgid "The action this activatable will activate and receive updates from" msgstr "" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:313 msgid "Use Action Appearance" msgstr "" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:314 #, fuzzy msgid "Whether to use the related actions appearance properties" msgstr "Om etiketteksten kan velges med musen" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 msgid "Value" msgstr "Verdi" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:115 msgid "The value of the adjustment" msgstr "Verdien for justeringen" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:131 msgid "Minimum Value" msgstr "Minimumsverdi" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:132 msgid "The minimum value of the adjustment" msgstr "Minimumsverdi for justeringen" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:151 msgid "Maximum Value" msgstr "Maksimumsverdi" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:152 msgid "The maximum value of the adjustment" msgstr "Maksimumsverdi for justeringen" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:168 msgid "Step Increment" msgstr "Størrelse på steg" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:169 msgid "The step increment of the adjustment" msgstr "Størrelse på steg for justeringen" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:185 msgid "Page Increment" msgstr "Størrelse på side" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:186 msgid "The page increment of the adjustment" msgstr "Sidestørrelse for justeringen" -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:205 msgid "Page Size" msgstr "Sidestørrelse" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:206 msgid "The page size of the adjustment" msgstr "Sidestørrelse for justeringen" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:127 msgid "Horizontal alignment" msgstr "Horisontal justering" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -535,11 +536,11 @@ msgstr "" "Horisontal posisjon for barn i tilgjengelig område. 0.0 er venstrejustert, " "1.0 er høyrejustert" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:137 msgid "Vertical alignment" msgstr "Vertikal justering" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -547,11 +548,11 @@ msgstr "" "Vertikal plassering av barn i tilgjengelig område. 0.0 er øverst, 1.0 er " "nederst" -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:146 msgid "Horizontal scale" msgstr "Horisontal skalering" -#: gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:147 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -559,11 +560,11 @@ msgstr "" "Hvor mye av det horisontale området som brukes for barnet hvis det er plass " "til overs. 0.0 betyr ingenting, 1.0 betyr hele" -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:155 msgid "Vertical scale" msgstr "Vertikal skalering" -#: gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:156 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -571,187 +572,187 @@ msgstr "" "Hvor mye av det vertikale området som brukes for barnet hvis det er plass " "til overs. 0.0 betyr ingenting, 1.0 betyr hele" -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:173 msgid "Top Padding" msgstr "Toppfyll" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:174 msgid "The padding to insert at the top of the widget." msgstr "Fyll som plasseres øverst i komponenten." -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:190 msgid "Bottom Padding" msgstr "Bunnfyll" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:191 msgid "The padding to insert at the bottom of the widget." msgstr "Fyll som plasseres nederst i komponenten." -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:207 msgid "Left Padding" msgstr "Venstrefyll" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:208 msgid "The padding to insert at the left of the widget." msgstr "Fyll som plasseres til venstre i komponenten." -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:224 msgid "Right Padding" msgstr "Høyrefyll" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:225 msgid "The padding to insert at the right of the widget." msgstr "Fyll som plasseres til høyre i komponenten." -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Pilretning" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "Pekeretning for pilen" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "Pilens skygge" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "Utseende for skyggen som omgir pilen" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:728 ../gtk/gtkmenuitem.c:395 msgid "Arrow Scaling" msgstr "Skalering av piler" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "Mengde plass som brukes av pilen" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 msgid "Horizontal Alignment" msgstr "Horisontal justering" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "X-justering for barn" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 msgid "Vertical Alignment" msgstr "Vertikal justering" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "Y-justering for barn" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "Rate" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "Aspektrate hvis obey_child er USANN" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "Adlyd barn" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "Tving aspektraten til å passe til rammens barn" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:327 msgid "Header Padding" msgstr "Fyll for topptekst" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:328 msgid "Number of pixels around the header." msgstr "Antall piksler rundt toppteksten." -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:335 msgid "Content Padding" msgstr "Innholdsfyll" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:336 msgid "Number of pixels around the content pages." msgstr "Antall piksler rundt innholdssidene." -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:352 msgid "Page type" msgstr "Sidetype" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:353 msgid "The type of the assistant page" msgstr "Type assistentside" -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:370 msgid "Page title" msgstr "Sidetittel" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:371 msgid "The title of the assistant page" msgstr "Tittelen på assistentsiden" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:387 msgid "Header image" msgstr "Bilde for topptekst" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:388 msgid "Header image for the assistant page" msgstr "Bilde til toppteksten på en assistentside" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image" msgstr "Bilde for sidelinje" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:405 msgid "Sidebar image for the assistant page" msgstr "Bilde for sidelinje på en assistentside" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:420 msgid "Page complete" msgstr "Side fullført" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:421 msgid "Whether all required fields on the page have been filled out" msgstr "Om alle felt som kreves på siden er fylt ut" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "Minimal bredde for barn" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "Minimum bredde på knappene inne i boksen" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "Minimal høyde for barn" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "Minimum høyde på knappene inne i boksen" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "Internt breddefyll for barn" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "Økning av størrelse på barn på hver side" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "Fyll for barns interne høyde" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "Hvor mye barnets størrelse skal økes på topp og bunn" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "Stil for plassering" -#: gtk/gtkbbox.c:172 +#: ../gtk/gtkbbox.c:189 #, fuzzy msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " @@ -760,11 +761,11 @@ msgstr "" "Hvordan knappene skal plasseres i boksen. Mulige verdier er forvalgt, spre " "utover, kant, start og slutt" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "Sekundær" -#: gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" @@ -772,38 +773,38 @@ msgstr "" "Hvis SANN vil barnet vises i en sekundær gruppe av barn, passer for eksempel " "til hjelp-knapper" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 +#: ../gtk/gtktreeviewcolumn.c:267 msgid "Spacing" msgstr "Mellomrom" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "Mengde mellomrom mellom barn." -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homogen" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "Om alle barn skal være av samme størrelse." -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 +#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 msgid "Expand" msgstr "Utvid" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "La etterkommeren få mer plass når opphavet vokser" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "Fyll" -#: gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:282 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" @@ -811,21 +812,21 @@ msgstr "" "Om ekstra mellomrom som gis til etterkommeren skal allokeres til " "etterkommeren eller brukes som fyll" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 msgid "Padding" msgstr "Fyll" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:290 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "" "Ekstra mellomrom som skal plasseres mellom en etterkommer og dens naboer i " "piksler" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:296 msgid "Pack type" msgstr "Type pakking" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 +#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -833,37 +834,36 @@ msgstr "" "En GtkPackType viser om etterkommeren er pakket med referanse til start " "eller slutt av opphavet" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Posisjon" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 msgid "The index of the child in the parent" msgstr "Indeks for etterkommer i opphav" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "Oversettelsesdomene" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "Oversettelsesdomene som brukes av gettext" -#: gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:227 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" -msgstr "" -"Tekst for etiketten inne i knappen, hvis knappen inneholder en etikett." +msgstr "Tekst for etiketten inne i knappen, hvis knappen inneholder en etikett." -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:347 ../gtk/gtktoolbutton.c:209 msgid "Use underline" msgstr "Bruk understreking" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:348 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -871,70 +871,71 @@ msgstr "" "Hvis satt vil en underscore i teksten indikere at neste tegn skal brukes som " "akselleratorhint" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 msgid "Use stock" msgstr "Bruk lager" -#: gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:243 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "HVis satt brukes etiketten til å velge en standardoppføring i stedet for å " "vises" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:866 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Fokus ved klikk" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Om knappen tar fokus når den klikkes med musen" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:258 msgid "Border relief" msgstr "Kantrelief" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:259 msgid "The border relief style" msgstr "Stil for kantrelief" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:276 msgid "Horizontal alignment for child" msgstr "Horisontal justering for barnet" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:295 msgid "Vertical alignment for child" msgstr "Vertikal justering for barnet" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 msgid "Image widget" msgstr "Bildewidget" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:313 msgid "Child widget to appear next to the button text" msgstr "Underelement som skal vises ved siden av knappteksten" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:327 msgid "Image position" msgstr "Plassering av bilde" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:328 msgid "The position of the image relative to the text" msgstr "Posisjon for bildet i forhold til teksten" -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:448 msgid "Default Spacing" msgstr "Standard avstand" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:449 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Ekstra plass som skal legges til for GTK_CAN_DEFAULT-knapper" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:463 msgid "Default Outside Spacing" msgstr "Forvalgt utvendig mellomrom" -#: gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:464 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -942,442 +943,449 @@ msgstr "" "Ekstra plass som skal legges til for GTK_CAN_DEFAULT-knapper som alltid " "tegnes utenfor kanten" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:469 msgid "Child X Displacement" msgstr "X-forskyvning for barn" -#: gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:470 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "Hvor langt barnet flyttes i x-retning når knappen er nedtrykt" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:477 msgid "Child Y Displacement" msgstr "Y-forskyvning for barn" -#: gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:478 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "Hvor langt barnet flyttes i y-retning når knappen er nedtrykt" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:494 msgid "Displace focus" msgstr "Omplasser fokus" -#: gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:495 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" msgstr "" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Indre kant" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:509 msgid "Border between button edges and child." msgstr "Kant mellom knappekanter og barn." -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:522 msgid "Image spacing" msgstr "Mellomrom for bilde" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:523 msgid "Spacing in pixels between the image and label" msgstr "Mellomrom i piksler mellom bildet og etiketten" -#: gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "Vis knappebilder" - -#: gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "Om bilder skal vises på knapper" - -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:479 msgid "Year" msgstr "År" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:480 msgid "The selected year" msgstr "Valgt år" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:493 msgid "Month" msgstr "Måned" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:494 msgid "The selected month (as a number between 0 and 11)" msgstr "Valgt måned (som et tall mellom 0 og 11)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:508 msgid "Day" msgstr "Dag" -#: gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:509 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" msgstr "" "Valgt dag (som et tall mellom 1 og 31, eller 0 for å velge bort valgt dag)" -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:523 msgid "Show Heading" msgstr "Vis topptekst" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:524 msgid "If TRUE, a heading is displayed" msgstr "En topptekst vises hvis denne settes til TRUE" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:538 msgid "Show Day Names" msgstr "Vis navn på dager" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:539 msgid "If TRUE, day names are displayed" msgstr "Dagnavn vises hvis denne settes til TRUE" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:552 msgid "No Month Change" msgstr "Ingen endring i måned" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:553 msgid "If TRUE, the selected month cannot be changed" msgstr "Måned kan ikke endres hvis denne er satt til TRUE" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:567 msgid "Show Week Numbers" msgstr "Vis ukenummer" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:568 msgid "If TRUE, week numbers are displayed" msgstr "Ukenummer vises hvis denne er satt til TRUE" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:583 msgid "Details Width" msgstr "Bredde for detaljer" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:584 msgid "Details width in characters" msgstr "Bredde for detaljer i tegn" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:599 msgid "Details Height" msgstr "Høyde for detaljer" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:600 msgid "Details height in rows" msgstr "Høyde for detaljer i rader" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:616 msgid "Show Details" msgstr "Vis detaljer" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:617 msgid "If TRUE, details are shown" msgstr "Detaljer vises hvis denne settes til TRUE" -#: gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:629 #, fuzzy msgid "Inner border" msgstr "Indre kant" -#: gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:630 #, fuzzy msgid "Inner border space" msgstr "Indre kant" -#: gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:641 #, fuzzy msgid "Vertical separation" msgstr "Vertikale alternativer" -#: gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:642 #, fuzzy msgid "Space between day headers and main area" msgstr "Tomrom rundt utviderpilen" -#: gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:653 #, fuzzy msgid "Horizontal separation" msgstr "Horisontale alternativer" -#: gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:654 #, fuzzy msgid "Space between week headers and main area" msgstr "Mellomrom mellom elementene i hovedområdet i dialogen" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Redigering avbrutt" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:54 msgid "Indicates that editing has been canceled" msgstr "Indikerer at redigering er avbrutt" -#: gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "Accelerator key" msgstr "Akselleratortast" -#: gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:139 msgid "The keyval of the accelerator" msgstr "Tastaturverdien for hurtigtasten" -#: gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "Accelerator modifiers" msgstr "Endringstaster for hurtigtast" -#: gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:156 msgid "The modifier mask of the accelerator" msgstr "Maske for endringstaster for hurtigtasten" -#: gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "Accelerator keycode" msgstr "Tastekode for hurtigtast" -#: gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:174 msgid "The hardware keycode of the accelerator" msgstr "Maskinvaretastekode for hurtigtast" -#: gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "Accelerator Mode" msgstr "Akselleratormodus" -#: gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:194 msgid "The type of accelerators" msgstr "Type akselleratorer" -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:271 msgid "mode" msgstr "modus" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:272 msgid "Editable mode of the CellRenderer" msgstr "Redigerbart modus for CellRenderer" -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:280 msgid "visible" msgstr "synlig" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:281 msgid "Display the cell" msgstr "Vis cellen" -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:288 msgid "Display the cell sensitive" msgstr "Vis cellen sensitiv" -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:295 msgid "xalign" msgstr "xalign" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:296 msgid "The x-align" msgstr "X-justering" -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:305 msgid "yalign" msgstr "yalign" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:306 msgid "The y-align" msgstr "Y-justering" -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:315 msgid "xpad" msgstr "x-fyll" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:316 msgid "The xpad" msgstr "X-fyll" -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:325 msgid "ypad" msgstr "y-fyll" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:326 msgid "The ypad" msgstr "Y-fyll" -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:335 msgid "width" msgstr "bredde" -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:336 msgid "The fixed width" msgstr "Den faste bredden" -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:345 msgid "height" msgstr "høyde" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:346 msgid "The fixed height" msgstr "Den faste høyden" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:355 msgid "Is Expander" msgstr "Er utvider" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:356 msgid "Row has children" msgstr "Rad har etterkommere" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:364 msgid "Is Expanded" msgstr "Er utvidet" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:365 msgid "Row is an expander row, and is expanded" msgstr "Raden er en utvider-rad, og er utvidet" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:372 msgid "Cell background color name" msgstr "Navn på bakgrunnsfarge for celle" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color as a string" msgstr "Bakgrunnsfarge for celle som en streng" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:380 msgid "Cell background color" msgstr "Bakgrunnsfarge for celle" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color as a GdkColor" msgstr "Bakgrunnsfarge for celle som en GdkColor" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:394 +#, fuzzy +#| msgid "Cell background color" +msgid "Cell background RGBA color" +msgstr "Bakgrunnsfarge for celle" + +#: ../gtk/gtkcellrenderer.c:395 +#, fuzzy +#| msgid "Cell background color as a GdkColor" +msgid "Cell background color as a GdkRGBA" +msgstr "Bakgrunnsfarge for celle som en GdkColor" + +#: ../gtk/gtkcellrenderer.c:402 msgid "Editing" msgstr "Redigerer" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:403 #, fuzzy msgid "Whether the cell renderer is currently in editing mode" msgstr "Om etiketten er i singellinjemodus" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:411 msgid "Cell background set" msgstr "Bakgrunn for celle satt" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:412 msgid "Whether this tag affects the cell background color" msgstr "Om denne merkingen påvirker bakgrunnsfargen for cellen" -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "Modell" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "Modellen som inneholder de mulige verdiene for kombinasjonsboksen" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "Tekstkolonne" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "En kolonne i datakildemodellen hvor man kan hente strenger" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:933 msgid "Has Entry" msgstr "Har inntastingsfelt" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "Hvis «FALSE», ikke tillat å skrive inn strenger utenom de valgte" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "Pixbuf-objekt" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "Pixbuf som skal rendres" -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "Pixbuf for åpen utvider" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "Pixbuf for åpen utvider" -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "Pixbuf for lukket utvider" -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "Pixbuf for lukket utvider" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 +#: ../gtk/gtkstatusicon.c:228 msgid "Stock ID" msgstr "Standard ID" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "Standard-ID for standardikon som skal rendres" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 msgid "Size" msgstr "Størrelse" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "Verdien for GtkIconSize som spesifiserer størrelsen for rendret ikon" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "Detalj" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "Rendringsdetalj som skal sendes til temamotor" -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "Følg tilstand" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Om den tegnede «pixbuf»-en skal bli farget i samsvar med tilstanden" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 +#: ../gtk/gtkwindow.c:699 msgid "Icon" msgstr "Ikon" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "Verdi for fremgangsmåleren" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:209 msgid "Text" msgstr "Tekst" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "Tekst på fremgangsmåleren" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 msgid "Pulse" msgstr "Puls" -#: gtk/gtkcellrendererprogress.c:169 +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." msgstr "" -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "X-justering for tekst" -#: gtk/gtkcellrendererprogress.c:186 +#: ../gtk/gtkcellrendererprogress.c:186 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -1385,235 +1393,265 @@ msgstr "" "Horisontal tekstjustering, fra 0 (venstre) til 1 (høyre). Omvendt for RTL-" "utforminger." -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "Y-justering for tekst" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "Vertikal tekstjustering, fra 0 (øverst) til 1 (nederst)." -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:439 msgid "Inverted" msgstr "Invertert" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 #, fuzzy msgid "Invert the direction in which the progress bar grows" msgstr "Orientering og vekstretning for fremgangsmåleren" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 +#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 msgid "Adjustment" msgstr "Justering" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 #, fuzzy msgid "The adjustment that holds the value of the spin button" msgstr "Justeringen som innehar verdien for en «spinbutton»" -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "Klatrerate" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 msgid "The acceleration rate when you hold down a button" msgstr "Akselleratorrate når du holder nede en knapp" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:247 msgid "Digits" msgstr "Tall" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 msgid "The number of decimal places to display" msgstr "Antall desimalplasser som skal vises" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 +#: ../gtk/gtkmenu.c:518 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "Aktiv" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:120 #, fuzzy msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Om valgt skriftstil vises i etiketten" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:140 #, fuzzy msgid "Pulse of the spinner" msgstr "Navn på skriveren" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:154 #, fuzzy msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "Verdien for GtkIconSize som spesifiserer størrelsen for rendret ikon" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Tekst som skal rendres" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Tagging" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Tagget tekst som skal rendres" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Attributter" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "En liste med stilattributter som skal brukes på teksten som rendres" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Modus for enkelt avsnitt" -#: gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:280 #, fuzzy msgid "Whether to keep all text in a single paragraph" msgstr "Om all tekst skal holdes i ett enkelt avsnitt eller ikke" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 +#: ../gtk/gtktexttag.c:178 msgid "Background color name" msgstr "Navn på bakgrunnsfarge" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 +#: ../gtk/gtktexttag.c:179 msgid "Background color as a string" msgstr "Bakgrunnsfarge som en streng" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 +#: ../gtk/gtktexttag.c:186 msgid "Background color" msgstr "Bakgrunnsfarge" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 msgid "Background color as a GdkColor" msgstr "Bakgrunnsfarge som en GdkColor" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:311 +#, fuzzy +#| msgid "Background color name" +msgid "Background color as RGBA" +msgstr "Navn på bakgrunnsfarge" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 +#, fuzzy +#| msgid "Background color as a GdkColor" +msgid "Background color as a GdkRGBA" +msgstr "Bakgrunnsfarge som en GdkColor" + +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 msgid "Foreground color name" msgstr "Navn på forgrunnsfarge" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 msgid "Foreground color as a string" msgstr "Forgrunnsfarge som en streng" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 +#: ../gtk/gtktrayicon-x11.c:133 msgid "Foreground color" msgstr "Forgrunnsfarge" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Forgrunnsfarge som en GdkColor" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:341 +#, fuzzy +#| msgid "Foreground color name" +msgid "Foreground color as RGBA" +msgstr "Navn på forgrunnsfarge" + +#: ../gtk/gtkcellrenderertext.c:342 +#, fuzzy +#| msgid "Foreground color as a GdkColor" +msgid "Foreground color as a GdkRGBA" +msgstr "Forgrunnsfarge som en GdkColor" + +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 msgid "Editable" msgstr "Redigerbar" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktextview.c:685 msgid "Whether the text can be modified by the user" msgstr "Om teksten kan endres av brukeren" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 msgid "Font" msgstr "Skrift" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Beskrivelse av skriften som en streng, f.eks «Sans Italic 12»" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 msgid "Font description as a PangoFontDescription struct" msgstr "Skriftbeskrivelse som en PangoFontDescription struct" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 msgid "Font family" msgstr "Skriftfamilie" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "Navn på skriftfamilien, f.eks Sans, Helvetica, Times, Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:267 msgid "Font style" msgstr "Skriftstil" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:276 msgid "Font variant" msgstr "Skriftvariant" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:285 msgid "Font weight" msgstr "Skriftens vekt" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:296 msgid "Font stretch" msgstr "Skriftens \"strekk\"" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:305 msgid "Font size" msgstr "Skriftstørrelse" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 msgid "Font points" msgstr "Skriftpunkter" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 msgid "Font size in points" msgstr "Størrelse på skrift i punkter" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 msgid "Font scale" msgstr "Skriftskalering" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Skaleringsfaktor for skrift" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 msgid "Rise" msgstr "Hev" -#: gtk/gtkcellrenderertext.c:398 +#: ../gtk/gtkcellrenderertext.c:451 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Tekstavstand over grunnlinjen (under grunnlinjen hvis hevingen er negativ)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 msgid "Strikethrough" msgstr "Gjennomstreking" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 msgid "Whether to strike through the text" msgstr "Bruk gjennomstreking av teksten" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 msgid "Underline" msgstr "Understrek" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 msgid "Style of underline for this text" msgstr "Stil for understreking av denne teksten." -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 msgid "Language" msgstr "Språk" -#: gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1623,11 +1661,12 @@ msgstr "" "som et hint når teksten rendres. Hvis du ikke forstår denne parameteren " "trenger du den sannsynligvis ikke" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Forkort" -#: gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1635,29 +1674,29 @@ msgstr "" "Det prioriterte stedet å forkorte strengen hvis celletegneren ikke har nok " "plass til å vise hele strengen" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Bredde i tegn" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "Den ønskede bredden på merkelappen, i tegn" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Maksimal bredde i tegn" -#: gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:546 #, fuzzy msgid "The maximum width of the cell, in characters" msgstr "Den ønskede maksimale bredden til merkelappen, i tegn" -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 msgid "Wrap mode" msgstr "Brytningsmodus" -#: gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1665,574 +1704,651 @@ msgstr "" "Hvordan strenger skal splittes på flere linjer hvis celletegneren ikke har " "nok plass til å vise hele strengen" -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:755 msgid "Wrap width" msgstr "Bredde for bryting" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "Bredden som teksten blir pakket inn i" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 msgid "Alignment" msgstr "Justering" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "Hvordan linjene justeres" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 +#: ../gtk/gtktexttag.c:540 msgid "Background set" msgstr "Bakgrunn satt" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 +#: ../gtk/gtktexttag.c:541 msgid "Whether this tag affects the background color" msgstr "Om denne merkingen påvirker bakgrunnsfargen" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 msgid "Foreground set" msgstr "Forgrunn satt" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 msgid "Whether this tag affects the foreground color" msgstr "Om denne merkingen påvirker forgrunnsfargen" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 msgid "Editability set" msgstr "Redigerbarhet satt" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 msgid "Whether this tag affects text editability" msgstr "Om denne merkingen påvirker redigerbarhet for teksten" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 msgid "Font family set" msgstr "Skriftfamilie satt" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 msgid "Whether this tag affects the font family" msgstr "Om denne merkingen påvirker skriftfamilien" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 msgid "Font style set" msgstr "Skriftstil satt" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 msgid "Whether this tag affects the font style" msgstr "Om denne merkingen påvirker skriftstil" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 msgid "Font variant set" msgstr "Skrifttypevariant satt" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 msgid "Whether this tag affects the font variant" msgstr "Om denne merkingen påvirker skriftvarianten" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 msgid "Font weight set" msgstr "Skrifttyngde satt" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 msgid "Whether this tag affects the font weight" msgstr "Om denne merkingen påvirker skrifttyngden" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 msgid "Font stretch set" msgstr "Skriftstrekk satt" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 msgid "Whether this tag affects the font stretch" msgstr "Om denne merkingen påvirker strekking av skriften" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 msgid "Font size set" msgstr "Skriftstørrelse satt" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 msgid "Whether this tag affects the font size" msgstr "Om denne merkingen påvirker skriftstørrelsen" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 msgid "Font scale set" msgstr "Skriftskalering satt" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 msgid "Whether this tag scales the font size by a factor" msgstr "Om denne merkingen skalerer skriftstørrelsen med en gitt faktor" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 msgid "Rise set" msgstr "Heving satt" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 msgid "Whether this tag affects the rise" msgstr "Om denne merkingen påvirker heving" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 msgid "Strikethrough set" msgstr "Gjennomstreking satt" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 msgid "Whether this tag affects strikethrough" msgstr "Om denne merkingen påvirker gjennomstreking" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 msgid "Underline set" msgstr "Understreking satt" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 msgid "Whether this tag affects underlining" msgstr "Om denne merkingen påvirker understreking" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 msgid "Language set" msgstr "Språk satt" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 msgid "Whether this tag affects the language the text is rendered as" msgstr "Om denne merkingen påvirker språket teksten skal rendres som" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Forkort sett" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "Om denne merkingen påvirker avkortingsmodus" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Justering satt" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Om denne merkingen påvirker justeringsmodus" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "Knappetilstand" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "Tilstand for knapp (vending)" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "Ukonsistent tilstand" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "Den ukonsistente tilstanden for knappen" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "Aktiverbar" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "Venderknappen kan aktiveres" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "Radiotilstand" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "Tegn knapp for vending som en radioknapp" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "Indikatorstørrelse" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 +#: ../gtk/gtkcheckmenuitem.c:129 msgid "Size of check or radio indicator" msgstr "Størrelse på avkrysnings- eller radioindikator" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:213 +#, fuzzy +#| msgid "Background color" +msgid "Background RGBA color" +msgstr "Bakgrunnsfarge" + +#: ../gtk/gtkcellview.c:228 msgid "CellView model" msgstr "CellView-modell" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:229 msgid "The model for cell view" msgstr "Modellen for cellevisning" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 msgid "Indicator Size" msgstr "Indikatorstørrelse" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 msgid "Indicator Spacing" msgstr "Mellomrom for indikator" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:86 msgid "Spacing around check or radio indicator" msgstr "Mellomrom rundt avkrysnings- eller radioindikator" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:106 msgid "Whether the menu item is checked" msgstr "Om menyoppføringen er avkrysset" -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inkonsistent" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:114 msgid "Whether to display an \"inconsistent\" state" msgstr "Om inkonsistent tilstand skal anvises" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:121 msgid "Draw as radio menu item" msgstr "Tegn som radiomenyoppføring" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Whether the menu item looks like a radio menu item" msgstr "Om menyoppføringen ser ut som en radiomenyoppføring" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:171 msgid "Use alpha" msgstr "Bruk alpha" -#: gtk/gtkcolorbutton.c:160 +#: ../gtk/gtkcolorbutton.c:172 #, fuzzy msgid "Whether to give the color an alpha value" msgstr "Om fargen skal få en alphaverdi eller ikke" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 msgid "Title" msgstr "Tittel" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:187 msgid "The title of the color selection dialog" msgstr "Tittel på dialogen for fargevalg" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Aktiv farge" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:202 msgid "The selected color" msgstr "Valgt farge" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Nåværende alpha" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:217 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "Nåværende verdi for ugjennomsiktighet (0 helt gjennomsiktig, 65535 helt " "ugjennomsiktig)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:231 +#, fuzzy +#| msgid "Current Color" +msgid "Current RGBA Color" +msgstr "Aktiv farge" + +#: ../gtk/gtkcolorbutton.c:232 +#, fuzzy +#| msgid "The selected color" +msgid "The selected RGBA color" +msgstr "Valgt farge" + +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Har kontroll for ugjennomsiktighet" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "La fargevelgeren tillate å sette ugjennomsiktighet" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Har palett" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Skal en palett brukes" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "Den aktive fargen" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "Nåværende verdi for ugjennomsiktighet (0 helt gjennomsiktig, 65535 helt " "ugjennomsiktig)" -#: gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "Egendefinert palett" +#: ../gtk/gtkcolorsel.c:360 +#, fuzzy +#| msgid "Current Alpha" +msgid "Current RGBA" +msgstr "Nåværende alpha" -#: gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "Palett som skal brukes i fargevelgeren" +#: ../gtk/gtkcolorsel.c:361 +#, fuzzy +#| msgid "The current color" +msgid "The current RGBA color" +msgstr "Den aktive fargen" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "Fargeutvalg" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "Fargevalg innebygget i dialogen." -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "OK-knapp" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "OK-knappen i dialogen." -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "Avbryt-knapp" -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "Avbryt-knapp i dialogen" -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "Hjelp-knapp" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "Hjelp-knapp i dialogen." -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombobox.c:738 msgid "ComboBox model" msgstr "Modell for ComboBox" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:739 msgid "The model for the combo box" msgstr "Modell for komboboksen" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:756 #, fuzzy msgid "Wrap width for laying out the items in a grid" msgstr "Brytningsbredde for utplassering av oppføringer i et rutenett" -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:778 msgid "Row span column" msgstr "Kolonne for radutbredelse" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:779 msgid "TreeModel column containing the row span values" msgstr "TreeModel-kolonne som inneholder verdier for radutbredelse" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:800 msgid "Column span column" msgstr "Kolonne for kolonneutbredelse" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:801 msgid "TreeModel column containing the column span values" msgstr "TreeModel-kolonne som inneholder verdier for kolonneutbredelse" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:822 msgid "Active item" msgstr "Aktiv oppføring" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:823 msgid "The item which is currently active" msgstr "Oppføringen som er aktiv" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:842 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Legg til avrivningsfelt til menyer" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:843 msgid "Whether dropdowns should have a tearoff menu item" msgstr "Om nedtrekksmenyer skal ha et element som kan dras av" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:858 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Har ramme" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:859 msgid "Whether the combo box draws a frame around the child" msgstr "Om kombinasjonsboksen tegner en ramme rundt barnet" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:867 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Om kombinasjonsboksen tar fokus når den blir klikket på av musen" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:882 ../gtk/gtkmenu.c:573 msgid "Tearoff Title" msgstr "Tittel for avrevet meny" -#: gtk/gtkcombobox.c:828 +#: ../gtk/gtkcombobox.c:883 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "" "En tittel som skal vises av vindushåndtereren når denne menyen er avrevet" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:900 msgid "Popup shown" msgstr "Oppsprettmeny vises" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:901 msgid "Whether the combo's dropdown is shown" msgstr "Om komboboksens nedtrekksmeny vises" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:917 msgid "Button Sensitivity" msgstr "Sensitivitet for knapp" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:918 #, fuzzy msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Om knappen tar fokus når den klikkes med musen" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:934 +#, fuzzy +#| msgid "Whether the combo box draws a frame around the child" +msgid "Whether combo box has an entry" +msgstr "Om kombinasjonsboksen tegner en ramme rundt barnet" + +#: ../gtk/gtkcombobox.c:949 +#, fuzzy +#| msgid "Text Column" +msgid "Entry Text Column" +msgstr "Tekstkolonne" + +#: ../gtk/gtkcombobox.c:950 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" + +#: ../gtk/gtkcombobox.c:967 +#, fuzzy +#| msgid "Columns" +msgid "ID Column" +msgstr "Kolonner" + +#: ../gtk/gtkcombobox.c:968 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "" + +#: ../gtk/gtkcombobox.c:983 +#, fuzzy +#| msgid "Active" +msgid "Active id" +msgstr "Aktiv" + +#: ../gtk/gtkcombobox.c:984 +#, fuzzy +#| msgid "The name of the icon from the icon theme" +msgid "The value of the id column for the active row" +msgstr "Navn på ikonet fra ikontemaet" + +#: ../gtk/gtkcombobox.c:999 +#, fuzzy +#| msgid "Fixed Width" +msgid "Popup Fixed Width" +msgstr "Fast bredde" + +#: ../gtk/gtkcombobox.c:1000 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "" + +#: ../gtk/gtkcombobox.c:1008 msgid "Appears as list" msgstr "Vises som liste" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:1009 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Om nedtrekksmenyer skal se ut som lister i stedet for menyer" -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:1025 msgid "Arrow Size" msgstr "Pilstørrelse" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:1026 msgid "The minimum size of the arrow in the combo box" msgstr "Minste størrelse på pilen i komboboksen" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:1041 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 +#: ../gtk/gtkmenubar.c:197 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "Skyggetype" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:1042 msgid "Which kind of shadow to draw around the combo box" msgstr "Type skygge som skal tegnes rundt komboboksen" -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:451 msgid "Resize mode" msgstr "Modus for endring av størrelse" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:452 msgid "Specify how resize events are handled" msgstr "Spesifiser hvordan hendelser for endring av størrelse håndteres" -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:459 msgid "Border width" msgstr "Kantbredde" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:460 msgid "The width of the empty border outside the containers children" msgstr "Bredde på den tomme kanten utenfor kontainerens etterkommere" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:468 msgid "Child" msgstr "Etterkommer" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:469 msgid "Can be used to add a new child to the container" msgstr "Kan brukes for å legge til en ny etterkommer i kontaineren" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Kant for innholdsområde" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:166 msgid "Width of border around the main dialog area" msgstr "Bredde på kanten rundt hoveddialogområdet" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Utforming av innholdsområde" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:184 msgid "Spacing between elements of the main dialog area" msgstr "Mellomrom mellom elementene i hovedområdet i dialogen" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Knappeavstand" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Avstand mellom knapper" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Kant for handlingsområde" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:201 msgid "Width of border around the button area at the bottom of the dialog" msgstr "Bredde på kanten rundt knappeområdet nederst i dialogen" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Tekstbuffer" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Markørposisjon" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "Nåværende posisjon for innsettingsmarkør i tegn" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Utvalg bundet" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "Posisjon for motsatt ende av utvalget fra markøren i tegn" -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Innhold i oppføringen kan redigeres" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Maksimal lengde" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "" "Maksimalt antall tegn for denne oppføringen. Null hvis ingen maksimalverdi " "er satt" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Synlighet" -#: gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" msgstr "USANN viser «usynlige tegn» i stedet for faktisk tekst (passordmodus)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "USANN fjerner ytre kant fra oppføringen" -#: gtk/gtkentry.c:697 -msgid "" -"Border between text and frame. Overrides the inner-border style property" +#: ../gtk/gtkentry.c:788 +msgid "Border between text and frame. Overrides the inner-border style property" msgstr "" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Usynlig tegn" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "Tegnet som skal brukes når man masker ut innhold i oppføringen (i «passord " "modus»)" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Aktiverer forvalg" -#: gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2240,31 +2356,31 @@ msgstr "" "Om forvalgt widget skal aktiveres (f.eks forvalgt knapp i en dialog) når man " "trykker linjeskift" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Bredde i tegn" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Antall tegn det skal være plass til i feltet" -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Rulleavstand" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "Antall piksler av oppføringen som rullet ut av skjermen til venstre" -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "Innhold i oppføringen" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X-justering" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2272,67 +2388,67 @@ msgstr "" "Horisontal justering, fra 0 (venstre) til 1 (høyre). Omvendt for RTL-" "utforminger." -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Gjør om flere linjer til en" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Om «Lim inn» av flere linjer skal endres til én linje." -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 msgid "Overwrite mode" msgstr "Overskrivingsmodus" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "Om ny tekst overskriver eksisterende" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Lengde på tekst" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "Lengde på tekst i oppføringen" -#: gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:926 #, fuzzy msgid "Invisible character set" msgstr "Usynlig tegn" -#: gtk/gtkentry.c:836 +#: ../gtk/gtkentry.c:927 #, fuzzy msgid "Whether the invisible character has been set" msgstr "Om usynlig tegn er satt" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Varsel om Caps Lock" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "Om passordoppføringer skal vise en advarsel når Caps Lock er på" -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Andel framdrift" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:961 #, fuzzy msgid "The current fraction of the task that's been completed" msgstr "Total andel av arbeid som er fullført" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:978 #, fuzzy msgid "Progress Pulse Step" msgstr "Pulssteg" -#: gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:979 #, fuzzy msgid "" "The fraction of total entry width to move the progress bouncing block for " @@ -2340,271 +2456,263 @@ msgid "" msgstr "" "Andel total fremgang for bevegelse av den sprettende blokken for hver puls" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Primær pixbuf" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "Primær pixbuf for oppføringen" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Sekundær pixbuf" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "Sekundær pixbuf for oppføringen" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:1040 #, fuzzy msgid "Secondary stock ID" msgstr "Sekundær tekst" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Primært ikonnavn" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "Ikonnavn for primært ikon" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Sekundært ikonnavn" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "Primært GIcon" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "GIcon for primært ikon" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "Sekundært GIcon" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "GIcon for sekundært ikon" -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Primær lagringstype" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "Representasjonen som brukes for primært ikon" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Sekundær lagertype" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "Representasjonen som brukes for sekundært ikon" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Primærikon kan aktiveres" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Om primært ikon kan aktiveres" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Sekundært ikon aktiverbart" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Om sekundært ikon kan aktiveres" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Primærikon er sensitivt" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Om primært ikon er sensitivt" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Sekundærikon er sensitivt" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Om sekundært ikon er sensitivt" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Tekst for verktøytips for primært ikon" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 #, fuzzy msgid "The contents of the tooltip on the primary icon" msgstr "Innhold i verktøytips for denne komponenten" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Tekst for verktøytips for sekundært ikon" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 #, fuzzy msgid "The contents of the tooltip on the secondary icon" msgstr "Innhold i verktøytips for denne komponenten" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1272 #, fuzzy msgid "Primary icon tooltip markup" msgstr "Liste med ikonnavn" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1291 #, fuzzy msgid "Secondary icon tooltip markup" msgstr "Sekundær tekst" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 msgid "IM module" msgstr "IM-modul" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 msgid "Which IM module should be used" msgstr "IM-modul som skal brukes" -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1326 #, fuzzy msgid "Icon Prelight" msgstr "Høyde" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1327 #, fuzzy msgid "Whether activatable icons should prelight when hovered" msgstr "Vis/Ikke vis faner" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Kant for fremgangsmåler" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1341 #, fuzzy msgid "Border around the progress bar" msgstr "Tekst på fremgangsmåleren" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Kant mellom tekst og ramme." -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "Velg på fokus" - -#: gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "Om innholdet i oppføringen skal markeres når den får fokus" - -#: gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "Tidsavbrudd for passordhint" - -#: gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "Hvor lenge skal siste tegn vises i skjulte oppføringer" - -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "Innhold i bufferen" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "Lengde på tekst som er i bufferen" -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:267 msgid "Completion Model" msgstr "Fullføringsmodell" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:268 msgid "The model to find matches in" msgstr "Modell for søk etter treff" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:274 msgid "Minimum Key Length" msgstr "Minste lengde på nøkkel" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:275 msgid "Minimum length of the search key in order to look up matches" msgstr "Minimumslengde på nøkkel for søk for å slå opp treff" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "Tekstkolonne" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:292 msgid "The column of the model containing the strings." msgstr "En kolonne i modellen som inneholder strengene." -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:311 msgid "Inline completion" msgstr "Innebygd fullføring" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:312 msgid "Whether the common prefix should be inserted automatically" msgstr "Om det vanlige prefikset skal ble satt inn automatisk" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:326 msgid "Popup completion" msgstr "Oppsprett fullføring" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:327 msgid "Whether the completions should be shown in a popup window" msgstr "Om fullføringen skal bli vist i et oppsprettsvindu" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:342 msgid "Popup set width" msgstr "Sprett opp sett bredde" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:343 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "Hvis «TRUE» vil oppsprettvinduet ha samme størrelsen som oppføringen" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:361 msgid "Popup single match" msgstr "Sprett opp enslig treff" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:362 msgid "If TRUE, the popup window will appear for a single match." msgstr "Hvis «TRUE» vil oppsprettvinduet vises for et enslig treff." -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:376 msgid "Inline selection" msgstr "Innebygd utvalg" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:377 msgid "Your description here" msgstr "Beskrivelse plasseres her" -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 +msgid "Cell Area" +msgstr "" + +#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 +msgid "The GtkCellArea used to layout cells" +msgstr "" + +#: ../gtk/gtkeventbox.c:101 msgid "Visible Window" msgstr "Synlig vindu" -#: gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:102 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2612,11 +2720,11 @@ msgstr "" "Om handlingsboksen er synlig i motsetning til usynlig. I tillegg kan den kun " "brukes til å fange opp hendelser." -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:108 msgid "Above child" msgstr "Over barn" -#: gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2624,157 +2732,159 @@ msgstr "" "Om vinduet som fanger hendelser i hendelsesboksen er over etterkommers vindu " "eller under det." -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:199 msgid "Expanded" msgstr "Utvidet" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:200 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Om utvideren er åpnet for å avdekke underkomponenten" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:208 msgid "Text of the expander's label" msgstr "Tekst i utviderens etikett" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Bruk tagging" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "Teksten i etiketten inneholder XML-tagger. Se pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:232 msgid "Space to put between the label and the child" msgstr "Mellomrom som skal plasseres mellom etiketten og barnet" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Etikett-widget" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:242 msgid "A widget to display in place of the usual expander label" msgstr "Et widget som vises i stedet for den vanlige utvideretiketten" -#: gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:249 #, fuzzy msgid "Label fill" msgstr "Fyll for fane" -#: gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:250 #, fuzzy msgid "Whether the label widget should fill all available horizontal space" msgstr "Om alle barn skal være av samme størrelse." -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1190 msgid "Expander Size" msgstr "Størrelse på utvider" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1191 msgid "Size of the expander arrow" msgstr "Størrelse på utviderpil" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:266 msgid "Spacing around expander arrow" msgstr "Tomrom rundt utviderpilen" -#: gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "Dialog" -#: gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "Filvelgingsdialog som skal brukes." -#: gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." msgstr "Tittelen på dialogen for filvalg." -#: gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "Den ønskede bredden på knappelementet, i tegn." -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:740 msgid "Action" msgstr "Handling" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "Type operasjon om utføres av filutvalgsdialogen" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "Filter" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "Filter for å velge hvilke filer som vises" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "Kun lokalt" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "Om valgt(e) fil(er) skal begrenses til lokale file: URLer" -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "Forhåndsvisningskomponent" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." msgstr "Komponent for egendefinerte forhåndsvisninger levert av programmet." -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "Forhåndsvisningskomponent aktiv" -#: gtk/gtkfilechooser.c:766 +#: ../gtk/gtkfilechooser.c:766 msgid "" "Whether the application supplied widget for custom previews should be shown." msgstr "" "Om komponent for egendefinerte forhåndsvisninger levert av programmet skal " "vises." -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "Bruk etikett for forhåndsvisning" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." msgstr "Om en standardetikett med navn på forhåndsvist fil skal vises." -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "Ekstra komponent" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "Komponent for ekstra alternativer levert av programmet." -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "Velg flere" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "Om valg av flere filer skal tillates" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "Vis skjulte" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "Om skjulte filer og mapper skal vises" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "Vis overskrivingsbekreftelse" -#: gtk/gtkfilechooser.c:807 +#: ../gtk/gtkfilechooser.c:807 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." @@ -2782,154 +2892,154 @@ msgstr "" "Om filvelger i lagremodus vil presentere en bekreftelsedialog for " "overskriving hvis nødvendig." -#: gtk/gtkfilechooser.c:823 +#: ../gtk/gtkfilechooser.c:823 #, fuzzy msgid "Allow folder creation" msgstr "Tillat oppretting av mapper" -#: gtk/gtkfilechooser.c:824 +#: ../gtk/gtkfilechooser.c:824 msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." msgstr "" "Om filvelger som ikke er i åpningsmodus vil la bruker opprette nye mapper." -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 msgid "X position" msgstr "X-posisjon" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "X-posisjon for underwidgetet" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 msgid "Y position" msgstr "Y-posisjon" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "Y-posisjon for underwidgetet" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "Tittelen på dialogen for skriftvalg" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 msgid "Font name" msgstr "Skriftnavn" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "Navn på valgt skrift" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "Bruk skrift i etikett" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" msgstr "Om etiketten tegnes med valgt skrift" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "Bruk størrelse i etikett" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "Om etiketteksten tegnes med valgt skriftstørrelse" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "Vis stil" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "Om valgt skriftstil vises i etiketten" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "Vis størrelse" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "Om valgt skriftstørrelse vises i etiketten" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:224 msgid "The string that represents this font" msgstr "Strengen som representerer denne skriften" -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:230 msgid "Preview text" msgstr "Forhåndsvisningstekst" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:231 msgid "The text to display in order to demonstrate the selected font" msgstr "Tekst som skal vises for å demonstrere valgt skrift" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:131 msgid "Text of the frame's label" msgstr "Teksten i rammens etikett" -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:138 msgid "Label xalign" msgstr "X-justering for etikett" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:139 msgid "The horizontal alignment of the label" msgstr "Horisontal justering for etikett" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:147 msgid "Label yalign" msgstr "Y-justering for etikett" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:148 msgid "The vertical alignment of the label" msgstr "Vertikal justering for etikett" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:156 msgid "Frame shadow" msgstr "Skygge for ramme" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:157 msgid "Appearance of the frame border" msgstr "Utseende for rammekanten" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:166 msgid "A widget to display in place of the usual frame label" msgstr "Et widget som vises i stedet for den vanlige rammeetiketten" -#: gtk/gtkhandlebox.c:183 +#: ../gtk/gtkhandlebox.c:189 msgid "Appearance of the shadow that surrounds the container" msgstr "Utseende for skyggen som omslutter kontaineren" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:197 msgid "Handle position" msgstr "Plassering av håndtak" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:198 msgid "Position of the handle relative to the child widget" msgstr "Posisjon for håndtaket relativt til etterkommer" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:206 msgid "Snap edge" msgstr "Fest til kant" -#: gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:207 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" msgstr "" "Siden på håndtakboksen som er på linje med dokkingpunktet for håndtakboksen" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:215 msgid "Snap edge set" msgstr "Fest til kant satt" -#: gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:216 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -2937,280 +3047,272 @@ msgstr "" "Om verdien fra egenskapen snap_edge eller en verdi derivert fra " "handle_position skal brukes" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:223 msgid "Child Detached" msgstr "" -#: gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:224 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." msgstr "" -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:580 msgid "Selection mode" msgstr "Utvalgsmodus" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:581 msgid "The selection mode" msgstr "Utvalgsmodus som brukes" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:599 msgid "Pixbuf column" msgstr "Pixbuf-kolonne" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:600 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Modellkolonne brukt til å hente «icon pixbuf» fra" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:618 msgid "Model column used to retrieve the text from" msgstr "Modelkolonne brukt til å hente teksten fra" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:637 msgid "Markup column" msgstr "Kolonne for tagging" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:638 msgid "Model column used to retrieve the text if using Pango markup" -msgstr "" -"Modelkolonne brukt til å hente teksten fra hvis «Pango markup» er brukt" +msgstr "Modelkolonne brukt til å hente teksten fra hvis «Pango markup» er brukt" -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:645 msgid "Icon View Model" msgstr "Modell for ikonvisning" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:646 msgid "The model for the icon view" msgstr "Modellen for ikonvisning" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:662 msgid "Number of columns" msgstr "Antall kolonner" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:663 msgid "Number of columns to display" msgstr "Antall kolonner som skal vises" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:680 msgid "Width for each item" msgstr "Bredde for hver oppføring" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:681 msgid "The width used for each item" msgstr "Bredde som brukes for hver oppføring" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:697 msgid "Space which is inserted between cells of an item" msgstr "Plass som er satt inn mellom cellene til et element" -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:712 msgid "Row Spacing" msgstr "Avstand mellom rader" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:713 msgid "Space which is inserted between grid rows" msgstr "Plass som er satt inn mellom ruterekkene" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:728 msgid "Column Spacing" msgstr "Avstand mellom kolonner" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:729 msgid "Space which is inserted between grid columns" msgstr "Plass som er satt inn mellom rutenettkolonnene" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:744 msgid "Margin" msgstr "Marg" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:745 msgid "Space which is inserted at the edges of the icon view" msgstr "Plass som er satt inn ved kantene til ikonvisningen" -#: gtk/gtkiconview.c:730 +#: ../gtk/gtkiconview.c:760 #, fuzzy msgid "Item Orientation" msgstr "Orientering" -#: gtk/gtkiconview.c:731 -msgid "" -"How the text and icon of each item are positioned relative to each other" +#: ../gtk/gtkiconview.c:761 +msgid "How the text and icon of each item are positioned relative to each other" msgstr "" "Hvordan teksten og ikonet til hvert element er plassert i forhold til " "hverandre" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 +#: ../gtk/gtktreeviewcolumn.c:358 msgid "Reorderable" msgstr "Kan omorganiseres" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 msgid "View is reorderable" msgstr "Visningen kan omorganiseres" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 msgid "Tooltip Column" msgstr "Kolonne for verktøytips" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:786 msgid "The column in the model containing the tooltip texts for the items" msgstr "" "En kolonne i modellen som inneholder tekst for verktøytips for oppføringene" -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:803 msgid "Item Padding" msgstr "Fyll for oppføring" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:804 msgid "Padding around icon view items" msgstr "" -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:817 msgid "Selection Box Color" msgstr "Boks for fargevalg" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:818 msgid "Color of the selection box" msgstr "Fargen på valgboksen" -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:824 msgid "Selection Box Alpha" msgstr "Valgboks alfa" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:825 msgid "Opacity of the selection box" msgstr "Ugjennomsiktigheten for valgboksen" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 msgid "A GdkPixbuf to display" msgstr "En GdkPixuf som skal vises" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:220 msgid "Filename" msgstr "Filnavn" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 msgid "Filename to load and display" msgstr "Filnavn som skal lastes og vises" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 msgid "Stock ID for a stock image to display" msgstr "Standard ID for et standardbilde som skal vises" -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:258 msgid "Icon set" msgstr "Ikonsett" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:259 msgid "Icon set to display" msgstr "Ikonsett som skal vises" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolpalette.c:1030 msgid "Icon size" msgstr "Ikonstørrelse" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:267 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Symbolsk størrelse å bruke for standard ikon, ikonsett eller navngitt ikon" -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:283 msgid "Pixel size" msgstr "Pikselstørrelse" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:284 msgid "Pixel size to use for named icon" msgstr "Pikselstørrelse å bruke for navngitt ikon" -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:292 msgid "Animation" msgstr "Animasjon" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:293 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation som skal vises" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 msgid "Storage type" msgstr "Lagertype" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 msgid "The representation being used for image data" msgstr "Representasjonen som brukes for bildedata" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:149 msgid "Child widget to appear next to the menu text" msgstr "Barnwidget som skal vises ved siden av menyteksten" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:164 #, fuzzy msgid "Whether to use the label text to create a stock menu item" msgstr "Om etiketteksten kan velges med musen" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:533 msgid "Accel Group" msgstr "Akselleratorgruppe" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:198 #, fuzzy msgid "The Accel Group to use for stock accelerator keys" msgstr "«Closure» som skal overvåkes for akselleratorendringer" -#: gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "Vis bilder i menyer" - -#: gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "Om bilder skal vises i menyer" - -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 msgid "Message Type" msgstr "Meldingstype" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 msgid "The type of message" msgstr "Type melding" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Bredde på kanten rundt innholdsområdet" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "Mellomrom mellom elementene i området" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Bredde på kanten rundt handlingsområdet" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:730 msgid "Screen" msgstr "Skjerm" -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:731 msgid "The screen where this window will be displayed" msgstr "Skjermen hvor dette vinduet vil vises" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "Tekst for etiketten" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "En liste med stilattributter som skal påføres etikettens tekst" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 msgid "Justification" msgstr "Justering" -#: gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3220,11 +3322,11 @@ msgstr "" "påvirker IKKE justeringen av etiketten innen sitt område. Se GtkMisc::xalign " "for det" -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Mønster" -#: gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3232,47 +3334,47 @@ msgstr "" "En streng med «_»-tegn i posisjoner tilsvarer tegn i teksten som skal " "understrekes" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Linjebryting" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "Bryt linjer hvis teksten blir for bred hvis dette er satt" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Linjebrytingsmodus" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "" -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Velgbar" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Om etiketteksten kan velges med musen" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Hinttast" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "Hint for akselleratortast for denne etiketten" -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Hintwidget" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "Widget som skal aktiveres når etikettens hinttast trykkes" -#: gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:700 #, fuzzy msgid "" "The preferred place to ellipsize the string, if the label does not have " @@ -3281,203 +3383,174 @@ msgstr "" "Det prioriterte stedet å forkorte strengen hvis etiketten ikke har nok plass " "til å vise hele strengen, hvis i det hele tatt" -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Enkeltlinjemodus" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Om etiketten er i singellinjemodus" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Vinkel" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Vinkel for rotert etikett" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "Den ønskede maksimale bredden til merkelappen, i tegn" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Spor besøkte lenker" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Om besøkte lenker skal spores" -#: gtk/gtklabel.c:904 -#, fuzzy -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "Om innholdet i oppføringen skal markeres når den får fokus" - -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "Horisontal justering" - -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "GtkAdjustment for horisontal posisjon" - -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "Vertikal justering" - -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "GtkAdjustment for vertikal posisjon" - -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 +#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 msgid "Width" msgstr "Bredde" -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "Bredde på plasseringen" -#: gtk/gtklayout.c:650 +#: ../gtk/gtklayout.c:668 msgid "Height" msgstr "Høyde" -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "Høyde på plasseringen" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:174 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:175 msgid "The URI bound to this button" msgstr "URI bundet til denne knappen" -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:189 msgid "Visited" msgstr "Besøkt" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:190 msgid "Whether this link has been visited." msgstr "Om denne lenken har vært besøkt.<" -#: gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:171 msgid "Pack direction" msgstr "Pakkeretning" -#: gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:172 msgid "The pack direction of the menubar" msgstr "Pakkeretning for menylinjen" -#: gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:188 msgid "Child Pack direction" msgstr "" -#: gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:189 #, fuzzy msgid "The child pack direction of the menubar" msgstr "Orientering for verktøylinjen" -#: gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:198 msgid "Style of bevel around the menubar" msgstr "Stil på kanten rundt menylinjen" -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 +#: ../gtk/gtkmenubar.c:205 ../gtk/gtktoolbar.c:570 msgid "Internal padding" msgstr "Internt fyll" -#: gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:206 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Mengde med kantplass mellom menylinjens skygge og menyoppføringene" -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "Pause før nedtrekksmenyer vises" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "Pause før undermenyene i en menylinje vises" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:519 msgid "The currently selected menu item" msgstr "Valgt menyoppføring" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:534 msgid "The accel group holding accelerators for the menu" msgstr "Akselleratorgruppe som inneholder akselleratorer for menyen" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:548 ../gtk/gtkmenuitem.c:317 msgid "Accel Path" msgstr "Akselleratorsti" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:549 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:565 msgid "Attach Widget" msgstr "Fest komponent" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:566 msgid "The widget the menu is attached to" msgstr "Komponenten menyen er festet til" -#: gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:574 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "" "En tittel som skal vises av vindushåndtereren når denne menyen er avrevet" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:588 msgid "Tearoff State" msgstr "Avrevet tilstand" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:589 msgid "A boolean that indicates whether the menu is torn-off" msgstr "En bolsk verdi som indikerer om menyen er avrevet" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:603 msgid "Monitor" msgstr "Skjerm" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:604 msgid "The monitor the menu will be popped up on" msgstr "" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:610 msgid "Vertical Padding" msgstr "Vertikalt fyll" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:611 msgid "Extra space at the top and bottom of the menu" msgstr "Ekstra mellomrom på topp og bunn av menyen" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:633 msgid "Reserve Toggle Size" msgstr "" -#: gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:634 #, fuzzy msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "En bolsk verdi som indikerer om menyen er avrevet" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:640 msgid "Horizontal Padding" msgstr "Horisontalt fyll" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:641 msgid "Extra space at the left and right edges of the menu" msgstr "Ekstra plass på venstre og høyre side av menyen" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:649 msgid "Vertical Offset" msgstr "Vertikal avstand" -#: gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:650 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3485,11 +3558,11 @@ msgstr "" "Plasser menyen med vertikal avstand lik dette antall piksler når den er en " "undermeny" -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:658 msgid "Horizontal Offset" msgstr "Horisontal avstand" -#: gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:659 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3497,301 +3570,271 @@ msgstr "" "Plasser menyen med horisontal avstand lik dette antall piksler når den er en " "undermeny." -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:667 msgid "Double Arrows" msgstr "Doble piler" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:668 msgid "When scrolling, always show both arrows." msgstr "" -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:681 msgid "Arrow Placement" msgstr "Plassering av pil" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:682 msgid "Indicates where scroll arrows should be placed" msgstr "" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:690 msgid "Left Attach" msgstr "Venstre feste" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 +#: ../gtk/gtkmenu.c:691 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "Kolonnenummer som venstre side av etterkommer skal festes til" -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:698 msgid "Right Attach" msgstr "Høyre feste" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:699 msgid "The column number to attach the right side of the child to" msgstr "Kolonnenummer som høyre side av etterkommer skal festes til" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:706 msgid "Top Attach" msgstr "Toppfeste" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:707 msgid "The row number to attach the top of the child to" msgstr "Radnummer som toppen av etterkommer skal festes til" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:714 msgid "Bottom Attach" msgstr "Bunnfeste" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:715 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "Radnummer som bunn av etterkommer skal festes til" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:729 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" -#: gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "Kan endre akselleratorer" - -#: gtk/gtkmenu.c:824 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "" -"Om menyakselleratorer kan endres ved å trykke en tast over menyoppføringen" - -#: gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "Pause før undermenyer vises" - -#: gtk/gtkmenu.c:830 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "" -"Minste tid pekeren kan være over en menyoppføring før undermenyen vises" - -#: gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "Pause før en undermeny skjules" - -#: gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "Tid før undermenyen skjules når pekeren beveger seg mot undermenyen" - -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:284 msgid "Right Justified" msgstr "Høyrejustert" -#: gtk/gtkmenuitem.c:286 +#: ../gtk/gtkmenuitem.c:285 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:299 msgid "Submenu" msgstr "Undermeny" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:300 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:318 msgid "Sets the accelerator path of the menu item" msgstr "" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:333 msgid "The text for the child label" msgstr "Tekst for underetiketten" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:396 #, fuzzy msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "Mengde plass som brukes av pilen" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:409 msgid "Width in Characters" msgstr "Bredde i tegn" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:410 msgid "The minimum desired width of the menu item in characters" msgstr "Den minste ønskede bredden på menyoppføringen i antall tegn" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:362 msgid "Take Focus" msgstr "Ta fokus" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:363 #, fuzzy msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "" "En tittel som skal vises av vindushåndtereren når denne menyen er avrevet" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:246 msgid "Menu" msgstr "Meny" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:247 msgid "The dropdown menu" msgstr "Hurtigmenyen" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:184 msgid "Image/label border" msgstr "Kant for bilde/etikett" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:185 msgid "Width of border around the label and image in the message dialog" msgstr "Bredde på kanten rundt etikett og bilde i meldingsdialogen" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:209 msgid "Message Buttons" msgstr "Meldingsknapper" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:210 msgid "The buttons shown in the message dialog" msgstr "Knappene som vises i meldingsdialogen" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:227 msgid "The primary text of the message dialog" msgstr "Primær tekst i meldingsdialogen" -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:242 msgid "Use Markup" msgstr "Bruk tagging" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:243 #, fuzzy msgid "The primary text of the title includes Pango markup." msgstr "Teksten i etiketten inneholder XML-tagger. Se pango_parse_markup()" -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:257 msgid "Secondary Text" msgstr "Sekundær tekst" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:258 msgid "The secondary text of the message dialog" msgstr "Sekundær tekst i meldingsdialogen" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:273 msgid "Use Markup in secondary" msgstr "" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:274 msgid "The secondary text includes Pango markup." msgstr "Sekundær tekst inkluderer Pango-merking." -#: gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:288 msgid "Image" msgstr "Bilde" -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:289 msgid "The image" msgstr "Bildet" -#: gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:305 #, fuzzy msgid "Message area" msgstr "Meldingstype" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:306 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "" -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:91 msgid "Y align" msgstr "Y-justering" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "Vertikal justering, fra 0 (øverst) til 1 (nederst)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:101 msgid "X pad" msgstr "X-fyll" -#: gtk/gtkmisc.c:102 +#: ../gtk/gtkmisc.c:102 msgid "" "The amount of space to add on the left and right of the widget, in pixels" msgstr "Mengde mellomrom til venstre og høyre for widgetet, i piksler" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:111 msgid "Y pad" msgstr "Y-fyll" -#: gtk/gtkmisc.c:112 +#: ../gtk/gtkmisc.c:112 msgid "" "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "Mende mellomrom over og under widgetet, i piksler" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "Opphav" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "Opphavsvindu" -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:167 msgid "Is Showing" msgstr "Vises" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "Viser vi en dialog" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:176 msgid "The screen where this window will be displayed." msgstr "Skjermen hvor dette vinduet vil vises." -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:692 msgid "Page" msgstr "Side" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:693 msgid "The index of the current page" msgstr "Indeks for aktiv side" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:701 msgid "Tab Position" msgstr "Faneplassering" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:702 msgid "Which side of the notebook holds the tabs" msgstr "Hvilken side av notisblokken innehar fanene" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:709 msgid "Show Tabs" msgstr "Vis faner" -#: gtk/gtknotebook.c:613 +#: ../gtk/gtknotebook.c:710 #, fuzzy msgid "Whether tabs should be shown" msgstr "Vis/Ikke vis faner" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:716 msgid "Show Border" msgstr "Vis kant" -#: gtk/gtknotebook.c:620 +#: ../gtk/gtknotebook.c:717 #, fuzzy msgid "Whether the border should be shown" msgstr "Vis/ikke vis kant" -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:723 msgid "Scrollable" msgstr "Rullbar" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:724 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Hvis SANN vil rullepiler legges til hvis det er flere faner enn det som " "passer" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:730 msgid "Enable Popup" msgstr "Slå på oppsprett" -#: gtk/gtknotebook.c:634 +#: ../gtk/gtknotebook.c:731 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3799,541 +3842,543 @@ msgstr "" "Hvis denne er satt til SANN vil det ved å klikke på notisblokken med høyre " "musknapp sprette opp en meny som kan brukes til å gå til en side" -#: gtk/gtknotebook.c:648 +#: ../gtk/gtknotebook.c:745 #, fuzzy msgid "Group Name" msgstr "Gruppe-ID" -#: gtk/gtknotebook.c:649 +#: ../gtk/gtknotebook.c:746 #, fuzzy msgid "Group name for tab drag and drop" msgstr "Gruppe for dra-og-slipp av faner" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:753 msgid "Tab label" msgstr "Etikett for fanen" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed on the child's tab label" msgstr "Strengen som vises i etterkommerens faneetikett" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:760 msgid "Menu label" msgstr "Etikett for meny" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:761 msgid "The string displayed in the child's menu entry" msgstr "Strengen som vises i etterkommerens menyoppføring" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:774 msgid "Tab expand" msgstr "Faneutvidelse" -#: gtk/gtknotebook.c:678 +#: ../gtk/gtknotebook.c:775 #, fuzzy msgid "Whether to expand the child's tab" msgstr "Om etterkommers fane skal utvides eller ikke" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:781 msgid "Tab fill" msgstr "Fyll for fane" -#: gtk/gtknotebook.c:685 +#: ../gtk/gtknotebook.c:782 #, fuzzy msgid "Whether the child's tab should fill the allocated area" msgstr "Om etterkommers fane skal fylle allokert område eller ikke" -#: gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:795 msgid "Tab pack type" msgstr "Type fanepakking" -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:802 msgid "Tab reorderable" msgstr "Faner kan omorganiseres" -#: gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:803 #, fuzzy msgid "Whether the tab is reorderable by user action" msgstr "Vis/ikke vis kant" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:809 msgid "Tab detachable" msgstr "Avtagbar fane" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:810 msgid "Whether the tab is detachable" msgstr "Om fanen er avtagbar" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Sekundært bakoversteg" -#: gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:826 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "Vis en sekundær knapp med bakoverpil på motsatt side av fanefeltet" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Sekundært framoversteg" -#: gtk/gtknotebook.c:738 +#: ../gtk/gtknotebook.c:842 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "Vis en sekundær knapp med framoverpil på motsatt side av fanefeltet" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Bakoversteg" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Vis standard knapp med bakoverpil" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Framoversteg" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Vis standard knapp med framoversteg" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:886 msgid "Tab overlap" msgstr "Faneoverlapping" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:887 msgid "Size of tab overlap area" msgstr "Størrelse på område for overlapping mellom faner" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:902 msgid "Tab curvature" msgstr "" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:903 #, fuzzy msgid "Size of tab curvature" msgstr "Størrelse på plassholdere" -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:919 msgid "Arrow spacing" msgstr "Mellomrom mellom piler" -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:920 #, fuzzy msgid "Scroll arrow spacing" msgstr "Avstand for rullefelt" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 +#: ../gtk/gtktrayicon-x11.c:124 msgid "Orientation" msgstr "Orientering" -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:64 msgid "The orientation of the orientable" msgstr "Orientering for orienterbar komponent" -#: gtk/gtkpaned.c:271 +#: ../gtk/gtkpaned.c:328 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "Posisjon for «paned»-separator i piksler (0 betyr øverst til venstre)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:337 msgid "Position Set" msgstr "Posisjon satt" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:338 msgid "TRUE if the Position property should be used" msgstr "SANN hvis egenskapen Position skal brukes" -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:344 msgid "Handle Size" msgstr "Størrelse på håndtak" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:345 msgid "Width of handle" msgstr "Størrelse på håndtak" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:361 msgid "Minimal Position" msgstr "Minste posisjon" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:362 msgid "Smallest possible value for the \"position\" property" msgstr "Minste mulige verdi for egenskapen «position»" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:379 msgid "Maximal Position" msgstr "Største posisjon" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:380 msgid "Largest possible value for the \"position\" property" msgstr "Største mulige verdi for egenskapen «position»" -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:397 msgid "Resize" msgstr "Endre størrelse" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:398 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "" "Hvis SANN vil etterkommer utvides og krypmes sammen med paned-komponenten" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:413 msgid "Shrink" msgstr "Krymp" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:414 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Hvis SANN vil etter kommer gjøres mindre enn forespurt størrelse" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 msgid "Embedded" msgstr "Innebygget" -#: gtk/gtkplug.c:172 +#: ../gtk/gtkplug.c:178 #, fuzzy msgid "Whether the plug is embedded" msgstr "Om pluggen er innebygget" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:192 msgid "Socket Window" msgstr "Vindu for plugg" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:193 #, fuzzy msgid "The window of the socket the plug is embedded in" msgstr "Om handlingen er synlig" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkprinter.c:126 msgid "Name of the printer" msgstr "Navn på skriveren" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:132 msgid "Backend" msgstr "Motor" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "Motor for skriveren" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "Er virtuell" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "FALSE hvis dette representerer en faktisk maskinvareskriver" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "Godtar PDF" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "TRUE hvis skriveren kan motta PDF" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "Godtar PostScript" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "TRUE hvis denne skriveren kan motta PostScript" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:160 msgid "State Message" msgstr "Tilstandsmelding" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "Streng som viser skriverens nåværende tilstand" -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:167 msgid "Location" -msgstr "Lokasjon" +msgstr "Adresse" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:168 msgid "The location of the printer" -msgstr "Lokasjon for skriveren" +msgstr "Adresse til skriveren" -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "Ikonnavn som skal brukes for skriveren" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:181 msgid "Job Count" msgstr "Jobantall" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "Antall jobber som er kølagt for denne skriveren" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "Stoppet skriver" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "TRUE hvis skriveren er på pause" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "Godtar jobber" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "TRUE hvis skriveren kan motta nye jobber" -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "Alternativ for kilde" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "Tittelen på utskriftsjobben" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "Skriver" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "Skriver jobben skal sendes til" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "Innstillinger" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "Innstillinger for skriver" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Sideoppsett" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 msgid "Track Print Status" msgstr "Spor skriverstatus" -#: gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:163 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." msgstr "" -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1005 msgid "Default Page Setup" msgstr "Forvalgt sideoppsett" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1006 msgid "The GtkPageSetup used by default" msgstr "GtkPageSetup brukt som forvalg" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Skriverinnstillinger" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1043 msgid "Job Name" msgstr "Navn på jobb" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1044 msgid "A string used for identifying the print job." msgstr "En streng som brukes for å identifisere utskriftsjobben." -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1068 msgid "Number of Pages" msgstr "Antall sider" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1069 msgid "The number of pages in the document." msgstr "Antall sider i dokumentet." -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Denne siden" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "Aktiv side i dokumentet" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1112 msgid "Use full page" msgstr "Bruk full side" -#: gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1113 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" msgstr "" -#: gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1134 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." msgstr "" -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1151 msgid "Unit" msgstr "Enhet" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1152 msgid "The unit in which distances can be measured in the context" msgstr "" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1169 msgid "Show Dialog" msgstr "Vis dialog" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1170 msgid "TRUE if a progress dialog is shown while printing." msgstr "" -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1193 msgid "Allow Async" msgstr "Tillat asynkron" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1194 msgid "TRUE if print process may run asynchronous." msgstr "" -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 msgid "Export filename" msgstr "Eksporter filnavn" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1231 msgid "Status" msgstr "Status" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1232 msgid "The status of the print operation" msgstr "Status for utskriftsoperasjonen" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1252 msgid "Status String" msgstr "Statusstreng" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1253 msgid "A human-readable description of the status" msgstr "Beskrivelse av status" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1271 msgid "Custom tab label" msgstr "Egendefinert etikett for fane" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1272 msgid "Label for the tab containing custom widgets." msgstr "" -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 #, fuzzy msgid "Support Selection" msgstr "Fargeutvalg" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1288 msgid "TRUE if the print operation will support print of selection." msgstr "" -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "Har utvalg" -#: gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1305 #, fuzzy msgid "TRUE if a selection exists." msgstr "TRUE hvis et utvalg eksisterer." -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 #, fuzzy msgid "Embed Page Setup" msgstr "Sideoppsett" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1321 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1342 msgid "Number of Pages To Print" msgstr "Antall sider som skal skrives ut" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1343 msgid "The number of pages that will be printed." msgstr "Antall sider som vil bli skrevet ut." -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "GtkPageSetup som skal brukes" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "Valgt skriver" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "GtkPrinter som er valgt" -#: gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:332 #, fuzzy msgid "Manual Capabilities" msgstr "Manuelle " -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:342 #, fuzzy msgid "Whether the dialog supports selection" msgstr "Om etiketten tegnes med valgt skrift" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:350 #, fuzzy msgid "Whether the application has a selection" msgstr "Om handlingen er aktivert." -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "Andel" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "Total andel av arbeid som er fullført" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "Pulssteg" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "" "Andel total fremgang for bevegelse av den sprettende blokken for hver puls" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "Tekst som skal vises i fremgangsmåleren" -#: gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "Vis tekst" -#: gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "Om fremgang vises som tekst." -#: gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:208 #, fuzzy msgid "" "The preferred place to ellipsize the string, if the progress bar does not " @@ -4342,69 +4387,69 @@ msgstr "" "Det prioriterte stedet å forkorte strengen hvis framdriftsviseren ikke har " "nok plass til å vise hele strengen, hvis i det hele tatt" -#: gtk/gtkprogressbar.c:188 +#: ../gtk/gtkprogressbar.c:215 #, fuzzy msgid "X spacing" msgstr "Ekstra mellomrom" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "" -#: gtk/gtkprogressbar.c:194 +#: ../gtk/gtkprogressbar.c:221 #, fuzzy msgid "Y spacing" msgstr "Mellomrom på y-aksen" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "" -#: gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:235 #, fuzzy msgid "Minimum horizontal bar width" msgstr "Bredde på horisontal separator" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:236 #, fuzzy msgid "The minimum horizontal width of the progress bar" msgstr "Horisontal justering for etikett" -#: gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:248 #, fuzzy msgid "Minimum horizontal bar height" msgstr "Horisontal justering" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:249 #, fuzzy msgid "Minimum horizontal height of the progress bar" msgstr "Verdi for fremgangsmåleren" -#: gtk/gtkprogressbar.c:234 +#: ../gtk/gtkprogressbar.c:261 #, fuzzy msgid "Minimum vertical bar width" msgstr "Bredde på vertikal separator" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:262 #, fuzzy msgid "The minimum vertical width of the progress bar" msgstr "Tekst på fremgangsmåleren" -#: gtk/gtkprogressbar.c:247 +#: ../gtk/gtkprogressbar.c:274 #, fuzzy msgid "Minimum vertical bar height" msgstr "Minimal høyde for barn" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:275 #, fuzzy msgid "The minimum vertical height of the progress bar" msgstr "Verdi for fremgangsmåleren" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:118 msgid "The value" msgstr "Verdien" -#: gtk/gtkradioaction.c:119 +#: ../gtk/gtkradioaction.c:119 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." @@ -4412,481 +4457,461 @@ msgstr "" "Verdien som returneres av gtk_radio_action_get_current_value() når denne " "handlingen er aktiv handling i sin gruppe." -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "Gruppe" -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "Radiohandling hvis gruppe denne handlingen tilhører." -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:151 msgid "The current value" msgstr "Nåværende verdi" -#: gtk/gtkradioaction.c:152 +#: ../gtk/gtkradioaction.c:152 msgid "" "The value property of the currently active member of the group to which this " "action belongs." msgstr "" -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:164 msgid "The radio button whose group this widget belongs to." msgstr "Radioknappen med samme gruppe som widgetet tilhører." -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:374 #, fuzzy msgid "The radio menu item whose group this widget belongs to." msgstr "Radioknappen med samme gruppe som widgetet tilhører." -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 #, fuzzy msgid "The radio tool button whose group this button belongs to." msgstr "Radioknappen med samme gruppe som widgetet tilhører." -#: gtk/gtkrange.c:410 +#: ../gtk/gtkrange.c:422 msgid "Update policy" msgstr "Oppdateringspolicy" -#: gtk/gtkrange.c:411 +#: ../gtk/gtkrange.c:423 msgid "How the range should be updated on the screen" msgstr "Hvordan området skal oppdateres på skjermen" -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:432 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "GtkAdjustment som inneholder nåværende verdi for dette områdeobjektet" -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:440 msgid "Invert direction slider moves to increase range value" msgstr "Snu retningen glideren beveger seg for å øke verdien i området" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:447 msgid "Lower stepper sensitivity" msgstr "" -#: gtk/gtkrange.c:436 +#: ../gtk/gtkrange.c:448 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" msgstr "" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:456 msgid "Upper stepper sensitivity" msgstr "" -#: gtk/gtkrange.c:445 +#: ../gtk/gtkrange.c:457 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" msgstr "" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:474 msgid "Show Fill Level" msgstr "Vis fyllnivå" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:475 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:491 msgid "Restrict to Fill Level" msgstr "" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:492 msgid "Whether to restrict the upper boundary to the fill level." msgstr "" -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:507 msgid "Fill Level" msgstr "Fyllnivå" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:508 msgid "The fill level." msgstr "Fyllnivået." -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 msgid "Slider Width" msgstr "Bredde på rullelisten" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:517 msgid "Width of scrollbar or scale thumb" msgstr "Bredde for rullefeltet eller skalering" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:524 msgid "Trough Border" msgstr "Gjennom kant" -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:525 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Mellomrom mellom «thumb/steppers» og ytre kant" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:532 msgid "Stepper Size" msgstr "Størrelse på steg" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:533 msgid "Length of step buttons at ends" msgstr "Lengde på stegknappene ved kantene" -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:548 msgid "Stepper Spacing" msgstr "Stegmellomrom" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:549 msgid "Spacing between step buttons and thumb" msgstr "Mellomrom mellom stegknapper og «thumb»" -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:556 msgid "Arrow X Displacement" msgstr "X-forskyvning for pil" -#: gtk/gtkrange.c:545 +#: ../gtk/gtkrange.c:557 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "Hvor langt pilen flyttes i x-retning når knappen er nedtrykt" -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:564 msgid "Arrow Y Displacement" msgstr "Y-forskyvning for pil" -#: gtk/gtkrange.c:553 +#: ../gtk/gtkrange.c:565 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "Hvor langt pilen flyttes i y-retning når knappen er nedtrykt" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:583 msgid "Trough Under Steppers" msgstr "" -#: gtk/gtkrange.c:572 +#: ../gtk/gtkrange.c:584 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "" -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:597 #, fuzzy msgid "Arrow scaling" msgstr "Skalering av piler" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:598 msgid "Arrow scaling with regard to scroll button size" msgstr "" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "Vis tall" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 #, fuzzy msgid "Whether the items should be displayed with a number" msgstr "Om avrivningsoppføringer skal legges til for menyen" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "Vis privat" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "Om private oppføringer skal vises" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "Vis verktøytips" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "Om oppføringen skal ha verktøytips" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "Vis ikoner" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 #, fuzzy msgid "Whether there should be an icon near the item" msgstr "Vis/ikke vis kant" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "Vis ikke funnet" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 #, fuzzy msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "Om skjulte filer og mapper skal vises" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 #, fuzzy msgid "Whether to allow multiple items to be selected" msgstr "Om valg av flere filer skal tillates" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "Kun lokalt" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 #, fuzzy msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "Om valgt(e) fil(er) skal begrenses til lokale file: URLer" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "Grense" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "Maksimalt antall oppføringer som skal vises" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "Sorteringstype" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "Sorteringsrekkefølge for oppføringer som skal vises" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 #, fuzzy msgid "The current filter for selecting which resources are displayed" msgstr "Filter for å velge hvilke filer som vises" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" msgstr "Full sti til filen som skal brukes til å lagre og lese listen" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "" -#: gtk/gtkruler.c:138 -msgid "Lower" -msgstr "Nedre" - -#: gtk/gtkruler.c:139 -msgid "Lower limit of ruler" -msgstr "Nedre grense for linjal" - -#: gtk/gtkruler.c:148 -msgid "Upper" -msgstr "Øvre" - -#: gtk/gtkruler.c:149 -msgid "Upper limit of ruler" -msgstr "Øvre grense for linjal" - -#: gtk/gtkruler.c:159 -msgid "Position of mark on the ruler" -msgstr "Posisjon for merke på linjal" - -#: gtk/gtkruler.c:168 -msgid "Max Size" -msgstr "Maks størrelse" - -#: gtk/gtkruler.c:169 -msgid "Maximum size of the ruler" -msgstr "Maksimum størrelse på linjal" - -#: gtk/gtkruler.c:184 -msgid "Metric" -msgstr "Måleverdi" - -#: gtk/gtkruler.c:185 -msgid "The metric used for the ruler" -msgstr "Måleverdi som brukes for linjalen" - -#: gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:221 #, fuzzy msgid "The value of the scale" msgstr "Verdien for justeringen" -#: gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:231 msgid "The icon size" msgstr "Størrelse på ikon" -#: gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:240 #, fuzzy msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "GtkAdjustment som inneholder nåværende verdi for dette områdeobjektet" -#: gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:268 msgid "Icons" msgstr "Ikoner" -#: gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:269 msgid "List of icon names" msgstr "Liste med ikonnavn" -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "Antall desimalplasser som vises i verdien" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Tegn verdi" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "Om aktiv verdi vises som en streng ved siden av rullelisten" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Plassering av verdi" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "Posisjon hvor aktiv verdi vises" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Lengde på rulleliste" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Lendge på skaleringslisten" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Mellomrom for verdier" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "Mellomrom mellom verditekst og område for glider/«through»" -#: gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Minste lengde på rulleliste" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Minste lengde på rullefeltglider" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Fast størrelse for rulleliste" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "Ikke endre størrelse på glider, bare lås den til minste lengde" -#: gtk/gtkscrollbar.c:81 +#: ../gtk/gtkscrollbar.c:103 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "Vis en sekundær knapp med bakoverpil på motsatt side av rullefeltet" -#: gtk/gtkscrollbar.c:88 +#: ../gtk/gtkscrollbar.c:110 #, fuzzy msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "Vis en sekundær knapp med framoverpil på motsatt side av rullefeltet" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:295 msgid "Horizontal Adjustment" msgstr "Horisontal justering" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:296 +msgid "The GtkAdjustment for the horizontal position" +msgstr "GtkAdjustment for horisontal posisjon" + +#: ../gtk/gtkscrolledwindow.c:302 msgid "Vertical Adjustment" msgstr "Vertikal justering" -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:303 +msgid "The GtkAdjustment for the vertical position" +msgstr "GtkAdjustment for vertikal posisjon" + +#: ../gtk/gtkscrolledwindow.c:309 msgid "Horizontal Scrollbar Policy" msgstr "Oppførsel for horisontalt rullefelt" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:310 msgid "When the horizontal scrollbar is displayed" msgstr "Når horisontalt rullefelt skal vises" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:317 msgid "Vertical Scrollbar Policy" msgstr "Oppførsel for vertikalt rullefelt" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:318 msgid "When the vertical scrollbar is displayed" msgstr "Når vertikalt rullefelt skal vises" -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:326 msgid "Window Placement" msgstr "Vinduplassering" -#: gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:327 #, fuzzy msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." msgstr "Plassering av innhold i forhold til rullefeltene" -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:344 msgid "Window Placement Set" msgstr "Vinduplassering satt" -#: gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:345 #, fuzzy msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." msgstr "Plassering av innhold i forhold til rullefeltene" -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:351 msgid "Shadow Type" msgstr "Skyggetype" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Style of bevel around the contents" msgstr "Stil på kanten rundt innholdet" -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:366 #, fuzzy msgid "Scrollbars within bevel" msgstr "Avstand for rullefelt" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:367 #, fuzzy msgid "Place scrollbars within the scrolled window's bevel" msgstr "Antall piksler mellom rullefeltet og vinduet som rulles" -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:373 msgid "Scrollbar spacing" msgstr "Avstand for rullefelt" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Antall piksler mellom rullefeltet og vinduet som rulles" -#: gtk/gtkscrolledwindow.c:337 +#: ../gtk/gtkscrolledwindow.c:383 #, fuzzy -msgid "Scrolled Window Placement" -msgstr "Vinduplassering" +#| msgid "Minimum Width" +msgid "Minimum Content Width" +msgstr "Minimal bredde" -#: gtk/gtkscrolledwindow.c:338 +#: ../gtk/gtkscrolledwindow.c:384 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "" + +#: ../gtk/gtkscrolledwindow.c:390 #, fuzzy -msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." -msgstr "Plassering av innhold i forhold til rullefeltene" +#| msgid "Minimum child height" +msgid "Minimum Content Height" +msgstr "Minimal høyde for barn" -#: gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkscrolledwindow.c:391 +msgid "The minimum height that the scrolled window will allocate to its content" +msgstr "" + +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "Tegn" -#: gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "Om en skillelinje eller bare tomrom vises" -#: gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Tid for dobbelklikk" -#: gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4894,11 +4919,11 @@ msgstr "" "Lengste tidsintervall mellom to klikk for at de skal betraktes som et " "dobbelklikk (i millisekunder)" -#: gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Avstand for dobbelklikk" -#: gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4906,36 +4931,36 @@ msgstr "" "Lengste avstand mellom to klikk for at de skal betraktes som et dobbelklikk " "(i piksler)" -#: gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Markørblinking" -#: gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "La markøren blinke" -#: gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Tid for markørblink" -#: gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Lengde på markørblinking, i millisekunder" -#: gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Tidsavbrudd for markørblink" -#: gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:353 #, fuzzy msgid "Time after which the cursor stops blinking, in seconds" msgstr "Lengde på markørblinking, i millisekunder" -#: gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Delt markør" -#: gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4943,439 +4968,548 @@ msgstr "" "Om to markører skal vises for blandet venstre-til-høyre og høyre-til-venstre " "tekst" -#: gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Temanavn" -#: gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Navn på RC-fil som skal lastes" -#: gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Navn på ikontema" -#: gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Navn på ikontema som skal brukes" -#: gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Navn på reserveikontema" -#: gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Navn på ikontema som skal brukes som reserve" -#: gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Navn på nøkkeltema" -#: gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Navn på RC-fil for nøkkeltema som skal lastes" -#: gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Aksellerator for menylinje" -#: gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Tastaturbinding som aktiverer menylinjen" -#: gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Terskel for dra-operasjon" -#: gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "Antall piklser markøren kan flyttes før en dra-operasjon startes" -#: gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Skriftnavn" -#: gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Navn på forvalgt skrift" -#: gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Ikonstørrelser" -#: gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -msgstr "Liste over ikonstørrelser (gtk-menu=16,16;gtk-button=20,20..." +msgstr "Liste over ikonstørrelser (gtk-menu=16,16;gtk-button=20,20 …" -#: gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "GTK-moduler" -#: gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "Liste over aktive GTK-moduler" -#: gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Xft skriftutjevning" -#: gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Om skriftutjevning skal brukes for Xft-skrifter; 0=nei, 1=ja, -1=forvalg" -#: gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Xft-hint" -#: gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "Om hint skal brukes for Xft-skrifter" -#: gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Xft-hintstil" -#: gtk/gtksettings.c:411 +#: ../gtk/gtksettings.c:485 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "Grad av hint som skal brukes; hintnone, hintslight, hintmedium, eller " "hintfull" -#: gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Type pikselutjevning: none, rgb, bgr, vrgb, vbgr" -#: gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "Xft DPI" -#: gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" "Oppløsning for Xft i 1024 * punkter per tomme. -1 for å bruke forvalgt verdi" -#: gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Navn på pekertema" -#: gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" -msgstr "" -"Navn på pekertema som skal brukes, eller NULL for å bruke forvalgt tema" +msgstr "Navn på pekertema som skal brukes, eller NULL for å bruke forvalgt tema" -#: gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Størrelse på pekertema" -#: gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Størrelse å bruke for peker, eller 0 for å bruke forvalgt størrelse" -#: gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Alternativ knapperekkefølge" -#: gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" "Om knapper i dialoger skal bruke den alternative rekkefølgen for knapper" -#: gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:552 #, fuzzy msgid "Alternative sort indicator direction" msgstr "Alternativ knapperekkefølge" -#: gtk/gtksettings.c:479 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" msgstr "" -#: gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Vis menyen «Inndatametoder»" -#: gtk/gtksettings.c:488 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" msgstr "" -#: gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "" -#: gtk/gtksettings.c:497 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" msgstr "" -#: gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Tidsavbrudd for start" -#: gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "" -#: gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Tidsavbrudd for gjentakelse" -#: gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "" -#: gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Tidsavbrudd for utvidelse" -#: gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" -#: gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Fargetema" -#: gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "Palett med navngitte farger for bruk i tema" -#: gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Aktiver animasjoner" -#: gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "" -#: gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:664 #, fuzzy msgid "Enable Touchscreen Mode" msgstr "Slå på " -#: gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" -#: gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Tidsavbrudd for verktøytips" -#: gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Tidsavbrudd før verktøytips vises" -#: gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "" -#: gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" -#: gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "" -#: gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:731 #, fuzzy msgid "Timeout after which browse mode is disabled" msgstr "Buffer som vises" -#: gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "" -#: gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" -#: gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "" -#: gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:769 #, fuzzy msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Om fokusindikator skal tegnes inne i et widget" -#: gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "" -#: gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" -#: gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:807 #, fuzzy msgid "Color Hash" msgstr "Fargeområde" -#: gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "" -#: gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Forvalgt motor for filvelger" -#: gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Navn på GtkFileChooser-motor som skal brukes som forvalg" -#: gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Forvalgt motor for utskrift" -#: gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Liste med GtkFileChooser-motorer som skal brukes som forvalg" -#: gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "" -#: gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "" -#: gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Slå på hurtigtaster" -#: gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Om etiketter skal ha hurtigtaster" -#: gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Aktiver hurtigtaster" -#: gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Om menyoppføringer skal ha akselleratorer" -#: gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Grense for nylig brukte filer" -#: gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Antall nylig brukte filer" -#: gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "Forvalgt IM-modul" -#: gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:930 #, fuzzy msgid "Which IM module should be used by default" msgstr "Skal en palett brukes" -#: gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:948 #, fuzzy msgid "Recent Files Max Age" msgstr "Grense for nylig brukte filer" -#: gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:949 #, fuzzy msgid "Maximum age of recently used files, in days" msgstr "Antall nylig brukte filer" -#: gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "" -#: gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "" -#: gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Navn på lydtema" -#: gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "Navn på XDG-lydtema" #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "" -#: gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:1005 #, fuzzy msgid "Whether to play event sounds as feedback to user input" msgstr "Widgetet tar imot inndata" -#: gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Slå på lyder for hendelser" -#: gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Om lyder skal spilles av for hendelser" -#: gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Slå på verktøytips" -#: gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Om verktøytips skal vises på komponenter" -#: gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Verktøylinjestil" -#: gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:1057 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "Om forvalgte verktøylinje har tekst, tekst og ikoner, kun ikoner, etc." -#: gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Størrelse på verktøylinjeikon" -#: gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "Størrelse på ikoner i standard verktøylinjer." -#: gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Automatisk visning av hurtigtaster" -#: gtk/gtksettings.c:1016 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." msgstr "" -#: gtk/gtksettings.c:1041 +#: ../gtk/gtksettings.c:1115 #, fuzzy msgid "Application prefers a dark theme" msgstr "Tegnbar av applikasjon" -#: gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1116 #, fuzzy msgid "Whether the application prefers to have a dark theme." msgstr "Om handlingen er aktivert." -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksettings.c:1131 +msgid "Show button images" +msgstr "Vis knappebilder" + +#: ../gtk/gtksettings.c:1132 +msgid "Whether images should be shown on buttons" +msgstr "Om bilder skal vises på knapper" + +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 +msgid "Select on focus" +msgstr "Velg på fokus" + +#: ../gtk/gtksettings.c:1141 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "Om innholdet i oppføringen skal markeres når den får fokus" + +#: ../gtk/gtksettings.c:1158 +msgid "Password Hint Timeout" +msgstr "Tidsavbrudd for passordhint" + +#: ../gtk/gtksettings.c:1159 +msgid "How long to show the last input character in hidden entries" +msgstr "Hvor lenge skal siste tegn vises i skjulte oppføringer" + +#: ../gtk/gtksettings.c:1168 +msgid "Show menu images" +msgstr "Vis bilder i menyer" + +#: ../gtk/gtksettings.c:1169 +msgid "Whether images should be shown in menus" +msgstr "Om bilder skal vises i menyer" + +#: ../gtk/gtksettings.c:1177 +msgid "Delay before drop down menus appear" +msgstr "Pause før nedtrekksmenyer vises" + +#: ../gtk/gtksettings.c:1178 +msgid "Delay before the submenus of a menu bar appear" +msgstr "Pause før undermenyene i en menylinje vises" + +#: ../gtk/gtksettings.c:1195 +#, fuzzy +msgid "Scrolled Window Placement" +msgstr "Vinduplassering" + +#: ../gtk/gtksettings.c:1196 +#, fuzzy +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "Plassering av innhold i forhold til rullefeltene" + +#: ../gtk/gtksettings.c:1205 +msgid "Can change accelerators" +msgstr "Kan endre akselleratorer" + +#: ../gtk/gtksettings.c:1206 +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "" +"Om menyakselleratorer kan endres ved å trykke en tast over menyoppføringen" + +#: ../gtk/gtksettings.c:1214 +msgid "Delay before submenus appear" +msgstr "Pause før undermenyer vises" + +#: ../gtk/gtksettings.c:1215 +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "Minste tid pekeren kan være over en menyoppføring før undermenyen vises" + +#: ../gtk/gtksettings.c:1224 +msgid "Delay before hiding a submenu" +msgstr "Pause før en undermeny skjules" + +#: ../gtk/gtksettings.c:1225 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "Tid før undermenyen skjules når pekeren beveger seg mot undermenyen" + +#: ../gtk/gtksettings.c:1235 +#, fuzzy +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "Om innholdet i oppføringen skal markeres når den får fokus" + +#: ../gtk/gtksettings.c:1243 +msgid "Custom palette" +msgstr "Egendefinert palett" + +#: ../gtk/gtksettings.c:1244 +msgid "Palette to use in the color selector" +msgstr "Palett som skal brukes i fargevelgeren" + +#: ../gtk/gtksettings.c:1252 +msgid "IM Preedit style" +msgstr "Stil for IM-forhåndsredigering" + +#: ../gtk/gtksettings.c:1253 +msgid "How to draw the input method preedit string" +msgstr "Hvordan forhåndsredigeringsstrengen for en inndatametode tegnes" + +#: ../gtk/gtksettings.c:1262 +msgid "IM Status style" +msgstr "IM statusstil" + +#: ../gtk/gtksettings.c:1263 +msgid "How to draw the input method statusbar" +msgstr "Hvordan statuslinjen for inndatametoden tegnes" + +#: ../gtk/gtksizegroup.c:350 msgid "Mode" msgstr "Modus" -#: gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:351 #, fuzzy msgid "" "The directions in which the size group affects the requested sizes of its " @@ -5384,11 +5518,11 @@ msgstr "" "Størrelsesgruppens retning ved effektuering av forespurte størrelser for " "sine komponentwidget" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:367 msgid "Ignore hidden" msgstr "Ignorer gjemt" -#: gtk/gtksizegroup.c:359 +#: ../gtk/gtksizegroup.c:368 #, fuzzy msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" @@ -5396,230 +5530,240 @@ msgstr "" "Hvis «TRUE» blir gjemte skjermelementer ignorert når størrelsen til gruppen " "skal bli bestemt" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:237 msgid "Climb Rate" msgstr "Klatrerate" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:257 msgid "Snap to Ticks" msgstr "Fest til tikk" -#: gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:258 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" msgstr "" "Om feilverdier skal endres automatisk til nærmeste verdisteg for knappen" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:265 msgid "Numeric" msgstr "Numerisk" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:266 msgid "Whether non-numeric characters should be ignored" msgstr "Ignorer ikke-numeriske tegn" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:273 msgid "Wrap" msgstr "Bryt" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:274 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "Om en «spin button» skal snu rundt når den når grenseverdiene" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:281 msgid "Update Policy" msgstr "Oppdateringspolicy" -#: gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:282 msgid "" "Whether the spin button should update always, or only when the value is legal" -msgstr "" -"Om «spin button» alltid skal oppdatere, eller kun når verdien er gyldig" +msgstr "Om «spin button» alltid skal oppdatere, eller kun når verdien er gyldig" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:291 msgid "Reads the current value, or sets a new value" msgstr "Leser aktiv verdi eller setter en ny" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:300 msgid "Style of bevel around the spin button" msgstr "Stil på kanten rundt spinbutton" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 #, fuzzy msgid "Whether the spinner is active" msgstr "Om primært ikon kan aktiveres" -#: gtk/gtkspinner.c:146 +#: ../gtk/gtkspinner.c:135 #, fuzzy msgid "Number of steps" msgstr "Antall sider" -#: gtk/gtkspinner.c:147 +#: ../gtk/gtkspinner.c:136 msgid "" "The number of steps for the spinner to complete a full loop. The animation " "will complete a full cycle in one second by default (see #GtkSpinner:cycle-" "duration)." msgstr "" -#: gtk/gtkspinner.c:162 +#: ../gtk/gtkspinner.c:153 #, fuzzy msgid "Animation duration" msgstr "Animasjon" -#: gtk/gtkspinner.c:163 +#: ../gtk/gtkspinner.c:154 msgid "" "The length of time in milliseconds for the spinner to complete a full loop" msgstr "" -#: gtk/gtkstatusbar.c:199 -msgid "Has Resize Grip" -msgstr "Har håndtak for endring av størrelse" - -#: gtk/gtkstatusbar.c:200 -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "Om statuslinjen har et håndtak for å endre størrelse på toppnoden" - -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:181 msgid "Style of bevel around the statusbar text" msgstr "Stil for kant rundt statuslinjetekst" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:270 msgid "The size of the icon" msgstr "Størrelse på ikonet" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:280 msgid "The screen where this status icon will be displayed" msgstr "Skjermen hvor dette statusikonet vil vises" -#: gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:288 #, fuzzy msgid "Whether the status icon is visible" msgstr "Om statusikonet er synlig" -#: gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:304 #, fuzzy msgid "Whether the status icon is embedded" msgstr "Om statusikon er innebygget" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 msgid "The orientation of the tray" msgstr "Orientering for systemområdet" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 msgid "Has tooltip" msgstr "Har verktøytips" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:348 #, fuzzy msgid "Whether this tray icon has a tooltip" msgstr "Om denne komponenten har verktøytips" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 msgid "Tooltip Text" msgstr "Tekst for verktøytips" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 msgid "The contents of the tooltip for this widget" msgstr "Innhold i verktøytips for denne komponenten" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 #, fuzzy msgid "Tooltip markup" msgstr "Verktøytips" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:398 #, fuzzy msgid "The contents of the tooltip for this tray icon" msgstr "Innhold i verktøytips for denne komponenten" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:416 #, fuzzy msgid "The title of this tray icon" msgstr "Størrelse på ikonet" -#: gtk/gtktable.c:148 +#: ../gtk/gtkstyle.c:470 +msgid "Style context" +msgstr "" + +#: ../gtk/gtkstyle.c:471 +msgid "GtkStyleContext to get style from" +msgstr "" + +#: ../gtk/gtkswitch.c:739 +#, fuzzy +msgid "Whether the switch is on or off" +msgstr "Om handlingen er synlig" + +#: ../gtk/gtkswitch.c:773 +#, fuzzy +#| msgid "The minimum value of the adjustment" +msgid "The minimum width of the handle" +msgstr "Minimumsverdi for justeringen" + +#: ../gtk/gtktable.c:157 msgid "Rows" msgstr "Rader" -#: gtk/gtktable.c:149 +#: ../gtk/gtktable.c:158 msgid "The number of rows in the table" msgstr "Antall rader i tabellen" -#: gtk/gtktable.c:157 +#: ../gtk/gtktable.c:166 msgid "Columns" msgstr "Kolonner" -#: gtk/gtktable.c:158 +#: ../gtk/gtktable.c:167 msgid "The number of columns in the table" msgstr "Antall kolonner i tabellen" -#: gtk/gtktable.c:166 +#: ../gtk/gtktable.c:175 msgid "Row spacing" msgstr "Avstand mellom rader" -#: gtk/gtktable.c:167 +#: ../gtk/gtktable.c:176 msgid "The amount of space between two consecutive rows" msgstr "Avstand mellom to etterfølgende rader" -#: gtk/gtktable.c:175 +#: ../gtk/gtktable.c:184 msgid "Column spacing" msgstr "Avstand mellom kolonner" -#: gtk/gtktable.c:176 +#: ../gtk/gtktable.c:185 msgid "The amount of space between two consecutive columns" msgstr "Avstand mellom to etterfølgende kolonner" -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:194 #, fuzzy msgid "If TRUE, the table cells are all the same width/height" msgstr "Hvis SANN betyr dette at alle tabellcellene har samme bredde/høyde" -#: gtk/gtktable.c:192 +#: ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "Venstre feste" -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Høyre feste" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "Kolonnenummer som høyre side av etterkommer skal festes til" -#: gtk/gtktable.c:206 +#: ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "Toppfeste" -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "Radnummer som toppen av etterkommer skal festes til" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "Bunnfeste" -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "Horisontale alternativer" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "Alternativer som spesifiserer vertikal oppførsel for etterkommer" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "Vertikale alternativer" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "Alternativer som spesifiserer vertikal oppførsel for etterkommer" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "Horisontalt fyll" -#: gtk/gtktable.c:235 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" @@ -5627,98 +5771,97 @@ msgstr "" "Ekstra plass i piksler som skal legges mellom etterkommer og dens venstre og " "høyre nabo" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "Vertikalt fyll" -#: gtk/gtktable.c:242 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" msgstr "" "Ekstra mellomrom mellom etterkommer og dens øvre og nedre naboer, i piksler" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:191 msgid "Tag Table" msgstr "Tabell med tagger" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:192 msgid "Text Tag Table" msgstr "Tabell med teksttagger" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:210 msgid "Current text of the buffer" msgstr "Nåværende tekst for mellomlageret" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:224 msgid "Has selection" msgstr "Har utvalg" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:225 #, fuzzy msgid "Whether the buffer has some text currently selected" msgstr "GdkFont som er valgt nå" -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:241 msgid "Cursor position" msgstr "Markørposisjon" -#: gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:242 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:257 msgid "Copy target list" msgstr "Kopier målliste" -#: gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:258 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:273 msgid "Paste target list" msgstr "" -#: gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:274 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" msgstr "" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 #, fuzzy msgid "Mark name" msgstr "Navn på tag" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "Venstre tyngde" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 #, fuzzy msgid "Whether the mark has left gravity" msgstr "Om denne merkingen påvirker skriftfamilien" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:168 msgid "Tag name" msgstr "Navn på tag" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:169 msgid "Name used to refer to the text tag. NULL for anonymous tags" -msgstr "" -"Navn som brukes ved referanse til tekst-taggen. NULL for anonyme tagger" +msgstr "Navn som brukes ved referanse til tekst-taggen. NULL for anonyme tagger" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:187 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Bakgrunnsfarge som en (mulig ikke-allokert) GdkColor" -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:194 msgid "Background full height" msgstr "Full høyde for bakgrunnsfarge" -#: gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:195 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5726,27 +5869,27 @@ msgstr "" "Om bakgrunnsfargen fyller hele linjehøyden eller kun høyden av de merkede " "tegnene" -#: gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:211 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Forgrunnsfarge som en (mulig ikke-allokert) GdkColor" -#: gtk/gtktexttag.c:218 +#: ../gtk/gtktexttag.c:218 msgid "Text direction" msgstr "Tekstretning" -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:219 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Tekstretning; høyre-til-venstre eller venstre-til-høyre" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:268 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Skriftstil som PangoStyle, f.eks. PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:277 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "Skriftvariant som PangoVariant, f.eks. PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:286 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5754,15 +5897,15 @@ msgstr "" "Skrifttyngde som et heltall. Se forhåndsdefinerte verdier i PangoWeight; f." "eks. PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:297 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "Skriftstrekking som PangoStretch, f.eks. PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:306 msgid "Font size in Pango units" msgstr "Størrelse på skrift i Pango-enheter" -#: gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:316 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5773,11 +5916,11 @@ msgstr "" "er derfor anbefalt. Pango predefinerer noen skaleringer slik som " "PANGO_SCALE_X_LARGE" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 msgid "Left, right, or center justification" msgstr "Venstre-, høyre- eller senterjustering" -#: gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:355 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5786,31 +5929,31 @@ msgstr "" "et hint når teksten rendres. Hvis dette er ikke er satt finnes et passende " "forvalg." -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:362 msgid "Left margin" msgstr "Venstre marg" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 msgid "Width of the left margin in pixels" msgstr "Bredde på venstre marg i piksler" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:372 msgid "Right margin" msgstr "Høyre marg" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 msgid "Width of the right margin in pixels" msgstr "Bredde på høyre marg i piksler" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 msgid "Indent" msgstr "Rykk inn" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 msgid "Amount to indent the paragraph, in pixels" msgstr "Innrykksmengde for avsnittet, i piksler" -#: gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:395 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -5818,341 +5961,341 @@ msgstr "" "Tekstavstand over grunnlinjen (under grunnlinjen hvis hevingen er negativ) i " "Pango enheter" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:404 msgid "Pixels above lines" msgstr "Piksler over linjer" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 msgid "Pixels of blank space above paragraphs" msgstr "Antall piksler med tomrom over avsnittene" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:414 msgid "Pixels below lines" msgstr "Piksler under linjer" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 msgid "Pixels of blank space below paragraphs" msgstr "Antall piksler med tomrom under avsnittene" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:424 msgid "Pixels inside wrap" msgstr "Piksler før brytning" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Piksler med tomt rom mellom brutte linjer i et avsnitt" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "Regler for linjebryting; aldri, ved ordgrenser eller ved tegngrenser" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 msgid "Tabs" msgstr "Faner" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 msgid "Custom tabs for this text" msgstr "Egendefinerte faner for denne teksten" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:480 msgid "Invisible" msgstr "Usynlig" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:481 msgid "Whether this text is hidden." msgstr "Om denne teksten er gjemt." -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:495 msgid "Paragraph background color name" msgstr "Bakgrunnsfargenavn for avsnitt" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:496 msgid "Paragraph background color as a string" msgstr "Bakgrunnsfarge for avsnitt som en streng" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:511 msgid "Paragraph background color" msgstr "Bakgrunnsfarge for avsnitt" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:512 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Bakgrunnsfarge for avsnitt som en (mulig ikke-allokert) GdkColor" -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:530 msgid "Margin Accumulates" msgstr "" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:531 msgid "Whether left and right margins accumulate." msgstr "" -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:544 msgid "Background full height set" msgstr "Full høyde for bakgrunn satt" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:545 msgid "Whether this tag affects background height" msgstr "Om denne merkingen påvirker bakgrunnshøyden" -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:584 msgid "Justification set" msgstr "Plassering satt" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:585 msgid "Whether this tag affects paragraph justification" msgstr "Om denne merkingen påvirker plassering av avsnitt" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:592 msgid "Left margin set" msgstr "Venstre marg satt" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:593 msgid "Whether this tag affects the left margin" msgstr "Om denne merkingen påvirker venstre marg" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:596 msgid "Indent set" msgstr "Innrykk satt" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:597 msgid "Whether this tag affects indentation" msgstr "Om denne merkingen påvirker innrykk" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:604 msgid "Pixels above lines set" msgstr "Piksler over linjer satt" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 msgid "Whether this tag affects the number of pixels above lines" msgstr "Om denne merkingen påvirker antall piksler over linjer" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:608 msgid "Pixels below lines set" msgstr "Piksler under linjer satt" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:612 msgid "Pixels inside wrap set" msgstr "Piksler innenfor brytningssett" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:613 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "Om denne merkingen påvirker antall piksler mellom brutte linjer" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:620 msgid "Right margin set" msgstr "Høyre marg satt" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:621 msgid "Whether this tag affects the right margin" msgstr "Om denne merkingen påvirker høyre marg" -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:628 msgid "Wrap mode set" msgstr "Brytningsmodus satt" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:629 msgid "Whether this tag affects line wrap mode" msgstr "Om denne merkingen påvirker brytningsmodus" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:632 msgid "Tabs set" msgstr "Faner satt" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:633 msgid "Whether this tag affects tabs" msgstr "Om denne merkingen påvirker faner" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:636 msgid "Invisible set" msgstr "Usynlig satt" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:637 msgid "Whether this tag affects text visibility" msgstr "Om denne merkingen påvirker tekstsynlighet" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:640 msgid "Paragraph background set" msgstr "Bakgrunn for avsnitt satt" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:641 msgid "Whether this tag affects the paragraph background color" msgstr "Om denne merkingen påvirker bakgrunnsfargen for avsnitt" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:654 msgid "Pixels Above Lines" msgstr "Piksler over linjer" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:664 msgid "Pixels Below Lines" msgstr "Piksler under linjer" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:674 msgid "Pixels Inside Wrap" msgstr "Piksler før brytning" -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:692 msgid "Wrap Mode" msgstr "Brytningsmodus" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:710 msgid "Left Margin" msgstr "Venstre marg" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:720 msgid "Right Margin" msgstr "Høyre marg" -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:748 msgid "Cursor Visible" msgstr "Synlig markør" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:749 msgid "If the insertion cursor is shown" msgstr "Vis innsettingsmarkør" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:756 msgid "Buffer" msgstr "Buffer" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:757 msgid "The buffer which is displayed" msgstr "Buffer som vises" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:765 msgid "Whether entered text overwrites existing contents" msgstr "Om oppgitt tekst overskriver eksisterende innhold" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:772 msgid "Accepts tab" msgstr "Godtar tabulator" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:773 msgid "Whether Tab will result in a tab character being entered" msgstr "Om tab resulterer i at et tabulatortegn settes inn" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:808 msgid "Error underline color" msgstr "Farge for understreking av feil" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:809 msgid "Color with which to draw error-indication underlines" msgstr "Farge for understreking av feil" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Opprett samme proxyer som en radiohandling" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" msgstr "Om proxyene for denne handlingen ser ut som radiohandlingproxyer" -#: gtk/gtktoggleaction.c:134 +#: ../gtk/gtktoggleaction.c:134 #, fuzzy msgid "Whether the toggle action should be active" msgstr "Om knappen skal trykkes inn eller ikke" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 #, fuzzy msgid "If the toggle button should be pressed in" msgstr "Om knappen skal trykkes inn eller ikke" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:134 msgid "If the toggle button is in an \"in between\" state" msgstr "Om knappen er i en mellomtilstand" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:141 msgid "Draw Indicator" msgstr "Tegn indikator" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:142 msgid "If the toggle part of the button is displayed" msgstr "Om venderdelen av knappen skal vises" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 msgid "Toolbar Style" msgstr "Stil for verktøylinje" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:492 msgid "How to draw the toolbar" msgstr "Hvordan tegnes verktøylinjen" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:499 msgid "Show Arrow" msgstr "Vis pil" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:500 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Om en pil skal vises hvis verktøylinjen ikke passer" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:521 msgid "Size of icons in this toolbar" msgstr "Størrelse på ikoner i denne verktøylinjen" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 msgid "Icon size set" msgstr "Ikonstørrelse satt" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 #, fuzzy msgid "Whether the icon-size property has been set" msgstr "Om handlingsgruppen er aktivert." -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:546 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "Om oppføringen skal få mer plass når verktøylinjen vokser" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Om oppføringen skal forbli samme størrelse som andre homogene oppføringer" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:561 msgid "Spacer size" msgstr "Størrelse på mellomrom" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:562 msgid "Size of spacers" msgstr "Størrelse på plassholdere" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:571 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "Mengde kantområde mellom verktøylinjens skygge og knappene" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:579 #, fuzzy msgid "Maximum child expand" msgstr "Minimal bredde for barn" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:580 msgid "Maximum amount of space an expandable item will be given" msgstr "" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:588 msgid "Space style" msgstr "Stil på mellomrom" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:589 msgid "Whether spacers are vertical lines or just blank" msgstr "Om mellomrommene er vertikale linjer eller bare tomrom" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:596 msgid "Button relief" msgstr "Kantavsleping" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:597 msgid "Type of bevel around toolbar buttons" msgstr "Type kant rundt verktøylinjeknappene" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:604 msgid "Style of bevel around the toolbar" msgstr "Stil på kant rundt verktøylinjen" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:203 msgid "Text to show in the item." msgstr "Tekst som skal vises i oppføringen." -#: gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:210 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6160,43 +6303,43 @@ msgstr "" "Hvis satt vil en understreking i teksten indikere at neste tegn skal brukes " "som akselleratortast i overflytmenyen" -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:217 msgid "Widget to use as the item label" msgstr "Komponent som skal brukes som etikett for oppføringen" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:223 msgid "Stock Id" msgstr "Standard-ID" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:224 msgid "The stock icon displayed on the item" msgstr "Standardikon som vises på oppføringen" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:240 msgid "Icon name" msgstr "Navn på ikon" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:241 msgid "The name of the themed icon displayed on the item" msgstr "Navnet på standardikon som vises på oppføringen" -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget" msgstr "Ikonkomponent" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:248 msgid "Icon widget to display in the item" msgstr "Ikonkomponent som skal vises i oppføringen" -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:261 msgid "Icon spacing" msgstr "Avstand mellom ikoner" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:262 msgid "Spacing in pixels between the icon and label" msgstr "Mellomrom i piksler mellom ikonet og etiketten" -#: gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -6204,539 +6347,525 @@ msgstr "" "Om verktøylinjeoppføringen ses på som viktig. Hvis TRUE vil knapper på " "verktøylinjen ha tekst i GTK_TOOLBAR_BOTH_HORIZ-modus" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 #, fuzzy msgid "The human-readable title of this item group" msgstr "Beskrivelse av status" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 #, fuzzy msgid "A widget to display in place of the usual label" msgstr "Et widget som vises i stedet for den vanlige rammeetiketten" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "" -#: gtk/gtktoolitemgroup.c:1586 +#: ../gtk/gtktoolitemgroup.c:1603 #, fuzzy msgid "Whether the group has been collapsed and items are hidden" msgstr "Om utvideren er åpnet for å avdekke underkomponenten" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 #, fuzzy msgid "ellipsize" msgstr "Forkort" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 #, fuzzy msgid "Header Relief" msgstr "Bilde for topptekst" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 #, fuzzy msgid "Relief of the group header button" msgstr "Vis knapper for kolonnetopptekst" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 #, fuzzy msgid "Header Spacing" msgstr "Fyll for topptekst" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 #, fuzzy msgid "Spacing between expander arrow and caption" msgstr "Tomrom rundt utviderpilen" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 #, fuzzy msgid "Whether the item should receive extra space when the group grows" msgstr "Om oppføringen skal få mer plass når verktøylinjen vokser" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 #, fuzzy msgid "Whether the item should fill the available space" msgstr "Om alle barn skal være av samme størrelse." -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 #, fuzzy msgid "Whether the item should start a new row" msgstr "Om avrivningsoppføringer skal legges til for menyen" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 #, fuzzy msgid "Position of the item within this group" msgstr "Posisjon for merke på linjal" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1031 #, fuzzy msgid "Size of icons in this tool palette" msgstr "Størrelse på ikoner i denne verktøylinjen" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1061 #, fuzzy msgid "Style of items in the tool palette" msgstr "Stil på kant rundt verktøylinjen" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1077 msgid "Exclusive" msgstr "" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1078 #, fuzzy msgid "Whether the item group should be the only expanded at a given time" msgstr "Om avrivningsoppføringer skal legges til for menyen" -#: gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1093 #, fuzzy -msgid "" -"Whether the item group should receive extra space when the palette grows" +msgid "Whether the item group should receive extra space when the palette grows" msgstr "La etterkommeren få mer plass når opphavet vokser" -#: gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:134 #, fuzzy msgid "Foreground color for symbolic icons" msgstr "Forgrunnsfarge som en streng" -#: gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:141 #, fuzzy msgid "Error color" msgstr "Markørfarge" -#: gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color for symbolic icons" msgstr "" -#: gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:149 #, fuzzy msgid "Warning color" msgstr "Bakgrunnsfarge" -#: gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color for symbolic icons" msgstr "" -#: gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:157 #, fuzzy msgid "Success color" msgstr "Markørfarge" -#: gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color for symbolic icons" msgstr "" -#: gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:166 #, fuzzy msgid "Padding that should be put around icons in the tray" msgstr "Vis/ikke vis kant" -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemodelsort.c:310 msgid "TreeModelSort Model" msgstr "TreeModelSort modell" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:311 msgid "The model for the TreeModelSort to sort" msgstr "Modell som TreeModelSort skal sortere" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:988 msgid "TreeView Model" msgstr "TreeView modell" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:989 msgid "The model for the tree view" msgstr "Modell for treevisning" -#: gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "Horisontal justering for widget" - -#: gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "Vertikal justering for widget" - -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:1001 msgid "Headers Visible" msgstr "Synlig topptekst" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:1002 msgid "Show the column header buttons" msgstr "Vis knapper for kolonnetopptekst" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:1009 msgid "Headers Clickable" msgstr "Topptekst kan klikkes" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:1010 msgid "Column headers respond to click events" msgstr "Kolonnetitler svarer på klikk" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:1017 msgid "Expander Column" msgstr "Utviderkolonne" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:1018 msgid "Set the column for the expander column" msgstr "Sett kolonne for utviderkolonne" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:1033 msgid "Rules Hint" msgstr "Regelhint" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:1034 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "Sett et hint til temamotoren for å tegne rader i alternerende farger" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:1041 msgid "Enable Search" msgstr "Aktiver søk" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:1042 msgid "View allows user to search through columns interactively" msgstr "Visning lar bruker søke gjennom kolonner interaktivt" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:1049 msgid "Search Column" msgstr "Søkekolonne" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:1050 #, fuzzy msgid "Model column to search through during interactive search" msgstr "Modellkolonne som skal søkes gjennom ved søk i koden" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:1070 msgid "Fixed Height Mode" msgstr "Fast høyde" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:1071 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Gjør GtkTreeView raskere ved å anta at alle rader har samme høyde" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:1091 msgid "Hover Selection" msgstr "Svevende utvalg" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:1092 #, fuzzy msgid "Whether the selection should follow the pointer" msgstr "La fargevelgeren tillate å sette ugjennomsiktighet" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:1111 msgid "Hover Expand" msgstr "" -#: gtk/gtktreeview.c:698 +#: ../gtk/gtktreeview.c:1112 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "Om rader skal utvides/sammensunket når pekeren beveger seg over dem" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:1126 msgid "Show Expanders" msgstr "Vis utvidere" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:1127 msgid "View has expanders" msgstr "Visning har utvidere" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:1141 msgid "Level Indentation" msgstr "" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:1142 msgid "Extra indentation for each level" msgstr "" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:1151 msgid "Rubber Banding" msgstr "" -#: gtk/gtktreeview.c:738 +#: ../gtk/gtktreeview.c:1152 #, fuzzy msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "Om valg av flere filer skal tillates" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:1159 msgid "Enable Grid Lines" msgstr "Aktiver linjer i rutenett" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:1160 #, fuzzy msgid "Whether grid lines should be drawn in the tree view" msgstr "Vis/ikke vis kant" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:1168 msgid "Enable Tree Lines" msgstr "Aktiver linjer i tre" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:1169 #, fuzzy msgid "Whether tree lines should be drawn in the tree view" msgstr "Vis/ikke vis kant" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:1177 #, fuzzy msgid "The column in the model containing the tooltip texts for the rows" msgstr "En kolonne i modellen som inneholder strengene." -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1199 msgid "Vertical Separator Width" msgstr "Bredde på vertikal separator" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical space between cells. Must be an even number" msgstr "Vertikalt mellomrom mellom celler. Må være et liketall" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:1208 msgid "Horizontal Separator Width" msgstr "Bredde på horisontal separator" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal space between cells. Must be an even number" msgstr "Horisontalt mellomrom mellom celler. Må være et liketall" -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:1217 msgid "Allow Rules" msgstr "Tillat linjaler" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:1218 msgid "Allow drawing of alternating color rows" msgstr "Tillat tegning av alternerende fargerader" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:1224 msgid "Indent Expanders" msgstr "Indenter utvidere" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:1225 msgid "Make the expanders indented" msgstr "Gjør utvidere indentert" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:1231 msgid "Even Row Color" msgstr "Farge for like rader" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:1232 msgid "Color to use for even rows" msgstr "Farge som skal brukes for like rader" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1238 msgid "Odd Row Color" msgstr "Farge for ulike rader" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1239 msgid "Color to use for odd rows" msgstr "Farge som skal brukes for ulike rader" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:1245 msgid "Grid line width" msgstr "Linjebredde i rutenett" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1246 #, fuzzy msgid "Width, in pixels, of the tree view grid lines" msgstr "Fokusindikatorlinjens bredde i piksler" -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:1252 #, fuzzy msgid "Tree line width" msgstr "Den faste bredden" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:1253 #, fuzzy msgid "Width, in pixels, of the tree view lines" msgstr "Fokusindikatorlinjens bredde i piksler" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:1259 #, fuzzy msgid "Grid line pattern" msgstr "Prikkemønster for fokuslinje" -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:1260 #, fuzzy msgid "Dash pattern used to draw the tree view grid lines" msgstr "Prikkemønster som brukes til å tegne fokusindikator" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:1266 #, fuzzy msgid "Tree line pattern" msgstr "Prikkemønster for fokuslinje" -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:1267 #, fuzzy msgid "Dash pattern used to draw the tree view lines" msgstr "Prikkemønster som brukes til å tegne fokusindikator" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:243 msgid "Whether to display the column" msgstr "Vis kolonnen" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:646 msgid "Resizable" msgstr "Kan endre størrelse" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:251 msgid "Column is user-resizable" msgstr "Bruker kan endre størrelse på kolonnen" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:259 msgid "Current width of the column" msgstr "Nåværende bredde på kolonnen" -#: gtk/gtktreeviewcolumn.c:221 +#: ../gtk/gtktreeviewcolumn.c:268 msgid "Space which is inserted between cells" msgstr "Plass som er satt inn mellom celler" -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:276 msgid "Sizing" msgstr "Størrelse" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Resize mode of the column" msgstr "Modus for endring av størrelse for kolonnen" -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:285 msgid "Fixed Width" msgstr "Fast bredde" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Current fixed width of the column" msgstr "Nåværende fast bredde på kolonnen" -#: gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:295 msgid "Minimum Width" msgstr "Minimal bredde" -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:296 msgid "Minimum allowed width of the column" msgstr "Minimum tillatt bredde på kolonne" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:305 msgid "Maximum Width" msgstr "Maksimal bredde" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum allowed width of the column" msgstr "Maksimum tillatt bredde på kolonnen" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:316 msgid "Title to appear in column header" msgstr "Tittel som vises i kolonnetopptekst" -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Column gets share of extra width allocated to the widget" msgstr "Kolonnen får en del av ekstra bredde allokert til komponenten" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:331 msgid "Clickable" msgstr "Klikkbar" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Whether the header can be clicked" msgstr "Om toppteksten kan klikkes" -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:340 msgid "Widget" msgstr "Widget" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget to put in column header button instead of column title" msgstr "" "Widget som skal legges i kappen for kolonneheader i stedet for kolonnens " "tittel" -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:349 msgid "X Alignment of the column header text or widget" msgstr "X-justering for kolonneheaders tekst eller widget" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Whether the column can be reordered around the headers" msgstr "Kolonnen kan omorganiseres etter titler" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:366 msgid "Sort indicator" msgstr "Sorter indikator" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Whether to show a sort indicator" msgstr "Sorter indikator eller ikke" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:374 msgid "Sort order" msgstr "Sorteringsrekkefølge" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort direction the sort indicator should indicate" msgstr "Sorteringsretning indikert av sorteringsindikator" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:391 #, fuzzy msgid "Sort column ID" msgstr "Tekstkolonne" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "Om avrivningsoppføringer skal legges til for menyen" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Flettet brukergrensesnittdefinisjon" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "En XML-streng som beskriver flettet brukergrensesnitt" -#: gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "" -"GtkAdjustment som bestemmer verdiene for horisontal posisjon for dette " -"visningsområdet" - -#: gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "" -"GtkAdjustment som bestemmer verdiene for vertikal posisjon for dette " -"visningsområdet" - -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Bestemmer hvordan den skyggelagte boksen rundt visningsområdet tegnes" -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkvolumebutton.c:156 +#, fuzzy +msgid "Use symbolic icons" +msgstr "Forgrunnsfarge som en streng" + +#: ../gtk/gtkvolumebutton.c:157 +#, fuzzy +#| msgid "Whether the cursor should blink" +msgid "Whether to use symbolic icons" +msgstr "La markøren blinke" + +#: ../gtk/gtkwidget.c:893 msgid "Widget name" msgstr "Navn på widget" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:894 msgid "The name of the widget" msgstr "Navnet på komponenten" -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:900 msgid "Parent widget" msgstr "Opphavswidget" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:901 msgid "The parent widget of this widget. Must be a Container widget" msgstr "Opphav for widget. Må være et container-widget" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:908 msgid "Width request" msgstr "Breddeforespørsel" -#: gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:909 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6744,11 +6873,11 @@ msgstr "" "Overstyring for breddeforespørsel for widget, eller -1 hvis naturlig " "forespørsel skal brukes" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:917 msgid "Height request" msgstr "Høydeforespørsel" -#: gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:918 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6756,83 +6885,83 @@ msgstr "" "Overstyring for høydeforespørsel for widget, eller -1 hvis vanlig " "forespørsel skal brukes" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:927 msgid "Whether the widget is visible" msgstr "Widgetet er synlig" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:934 msgid "Whether the widget responds to input" msgstr "Widgetet tar imot inndata" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:940 msgid "Application paintable" msgstr "Tegnbar av applikasjon" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:941 msgid "Whether the application will paint directly on the widget" msgstr "Applikasjonen vil tegne direkte på widgetet" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:947 msgid "Can focus" msgstr "Kan fokusere" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:948 msgid "Whether the widget can accept the input focus" msgstr "Widget kan akseptere inndatafokus" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:954 msgid "Has focus" msgstr "Har fokus" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:955 msgid "Whether the widget has the input focus" msgstr "Widget har inndatafokus" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:961 msgid "Is focus" msgstr "Er fokus" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:962 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Om widget er fokus-widget i toppnoden" -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:968 msgid "Can default" msgstr "Kan være forvalgt" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:969 msgid "Whether the widget can be the default widget" msgstr "Om widget kan være forvalgt widget" -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:975 msgid "Has default" msgstr "Har forvalg" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:976 msgid "Whether the widget is the default widget" msgstr "Widget er forvalgt widget" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:982 msgid "Receives default" msgstr "Mottar forvalg" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:983 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "Hvis SANN, vil widgetet motta forvalgt handling når det er fokusert" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:989 msgid "Composite child" msgstr "Sammensatt barn" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:990 msgid "Whether the widget is part of a composite widget" msgstr "Om widgetet er en del av et sammensatt widget" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:996 msgid "Style" msgstr "Stil" -#: gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:997 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -6840,152 +6969,200 @@ msgstr "" "Stil for widgetet. Inneholder informasjon om hvordan det vil se ut (farger " "etc)" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1003 msgid "Events" msgstr "Hendelser" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1004 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "Hendelsesmasken som bestemmer hvilke typer GdkEvents dette widgetet mottar" -#: gtk/gtkwidget.c:832 -msgid "Extension events" -msgstr "Utvidelseshendelser" - -#: gtk/gtkwidget.c:833 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "" -"Masken som bestemmer hvilken type utvidelseshendelser dette widgetet mottar" - -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1011 msgid "No show all" msgstr "Ikke vis alle" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1012 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Om gtk_widget_show_all() skal ha effekt for denne komponenten" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1035 msgid "Whether this widget has a tooltip" msgstr "Om denne komponenten har verktøytips" -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1091 msgid "Window" msgstr "Vindu" -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1092 msgid "The widget's window if it is realized" msgstr "" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1106 #, fuzzy msgid "Double Buffered" msgstr "Buffer" -#: gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:1107 #, fuzzy msgid "Whether the widget is double buffered" msgstr "Om handlingen er synlig" -#: gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1122 msgid "How to position in extra horizontal space" msgstr "" -#: gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1138 msgid "How to position in extra vertical space" msgstr "" -#: gtk/gtkwidget.c:986 +#: ../gtk/gtkwidget.c:1157 #, fuzzy msgid "Margin on Left" msgstr "Marg" -#: gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1158 msgid "Pixels of extra space on the left side" msgstr "" -#: gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1178 msgid "Margin on Right" msgstr "" -#: gtk/gtkwidget.c:1008 +#: ../gtk/gtkwidget.c:1179 #, fuzzy msgid "Pixels of extra space on the right side" msgstr "Antall piksler med tomrom over avsnittene" -#: gtk/gtkwidget.c:1028 +#: ../gtk/gtkwidget.c:1199 #, fuzzy msgid "Margin on Top" msgstr "Marg" -#: gtk/gtkwidget.c:1029 +#: ../gtk/gtkwidget.c:1200 #, fuzzy msgid "Pixels of extra space on the top side" msgstr "Antall piksler med tomrom over avsnittene" -#: gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1220 msgid "Margin on Bottom" msgstr "" -#: gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1221 msgid "Pixels of extra space on the bottom side" msgstr "" -#: gtk/gtkwidget.c:1067 +#: ../gtk/gtkwidget.c:1238 #, fuzzy msgid "All Margins" msgstr "Marg" -#: gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1239 msgid "Pixels of extra space on all four sides" msgstr "" -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1272 +#, fuzzy +#| msgid "Horizontal padding" +msgid "Horizontal Expand" +msgstr "Horisontalt fyll" + +#: ../gtk/gtkwidget.c:1273 +#, fuzzy +msgid "Whether widget wants more horizontal space" +msgstr "Om alle barn skal være av samme størrelse." + +#: ../gtk/gtkwidget.c:1287 +#, fuzzy +#| msgid "Horizontal alignment" +msgid "Horizontal Expand Set" +msgstr "Horisontal justering" + +#: ../gtk/gtkwidget.c:1288 +#, fuzzy +msgid "Whether to use the hexpand property" +msgstr "Om etiketteksten kan velges med musen" + +#: ../gtk/gtkwidget.c:1302 +#, fuzzy +#| msgid "Vertical padding" +msgid "Vertical Expand" +msgstr "Vertikalt fyll" + +#: ../gtk/gtkwidget.c:1303 +#, fuzzy +#| msgid "Whether the widget is visible" +msgid "Whether widget wants more vertical space" +msgstr "Widgetet er synlig" + +#: ../gtk/gtkwidget.c:1317 +#, fuzzy +#| msgid "Vertical alignment" +msgid "Vertical Expand Set" +msgstr "Vertikal justering" + +#: ../gtk/gtkwidget.c:1318 +#, fuzzy +msgid "Whether to use the vexpand property" +msgstr "Om etiketteksten kan velges med musen" + +#: ../gtk/gtkwidget.c:1332 +#, fuzzy +#| msgid "Expand timeout" +msgid "Expand Both" +msgstr "Tidsavbrudd for utvidelse" + +#: ../gtk/gtkwidget.c:1333 +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether widget wants to expand in both directions" +msgstr "Widget har inndatafokus" + +#: ../gtk/gtkwidget.c:2992 msgid "Interior Focus" msgstr "Internt fokus" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:2993 msgid "Whether to draw the focus indicator inside widgets" msgstr "Om fokusindikator skal tegnes inne i et widget" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:2999 msgid "Focus linewidth" msgstr "Fokuslinjebredde" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3000 msgid "Width, in pixels, of the focus indicator line" msgstr "Fokusindikatorlinjens bredde i piksler" -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3006 msgid "Focus line dash pattern" msgstr "Prikkemønster for fokuslinje" -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3007 msgid "Dash pattern used to draw the focus indicator" msgstr "Prikkemønster som brukes til å tegne fokusindikator" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3012 msgid "Focus padding" msgstr "Fyll for fokus" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3013 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Bredde i piksler mellom fokusindikator og widgetboksen" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3018 msgid "Cursor color" msgstr "Markørfarge" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3019 msgid "Color with which to draw insertion cursor" msgstr "Farge som markøren skal tegnes med" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3024 msgid "Secondary cursor color" msgstr "Sekundær markørfarge" -#: gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:3025 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6993,207 +7170,204 @@ msgstr "" "Farge for sekundær innsettingsmarkør ved redigering av blandet høyre-til-" "venstre og venstre-til-høyre tekst" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3030 msgid "Cursor line aspect ratio" msgstr "Aspektrate for markørlinje" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3031 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Aspektrate for tegning av innsettingsmarkør" -#: gtk/gtkwidget.c:2786 +#: ../gtk/gtkwidget.c:3037 #, fuzzy msgid "Window dragging" msgstr "Vindusplassering" -#: gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3038 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "" -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3051 msgid "Unvisited Link Color" msgstr "Lenkefarge for ikke besøkt lenke" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3052 msgid "Color of unvisited links" msgstr "Farge på ikke besøkte lenker" -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3065 msgid "Visited Link Color" msgstr "Lenkefarge for besøkt lenke" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3066 msgid "Color of visited links" msgstr "Farge på besøkte lenker" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3080 msgid "Wide Separators" msgstr "Brede skillelinjer" -#: gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:3081 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" msgstr "" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3095 msgid "Separator Width" msgstr "Bredde på separator" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3096 msgid "The width of separators if wide-separators is TRUE" msgstr "" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3110 msgid "Separator Height" msgstr "Høyde på separator" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3111 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "" -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3125 #, fuzzy msgid "Horizontal Scroll Arrow Length" msgstr "Oppførsel for horisontalt rullefelt" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3126 #, fuzzy msgid "The length of horizontal scroll arrows" msgstr "Når horisontalt rullefelt skal vises" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3140 #, fuzzy msgid "Vertical Scroll Arrow Length" msgstr "Oppførsel for vertikalt rullefelt" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3141 #, fuzzy msgid "The length of vertical scroll arrows" msgstr "Når vertikalt rullefelt skal vises" -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:604 msgid "Window Type" msgstr "Vindustype" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:605 msgid "The type of the window" msgstr "Type vindu" -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:613 msgid "Window Title" msgstr "Vindustittel" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:614 msgid "The title of the window" msgstr "Tittelen på vinduet" -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:621 msgid "Window Role" msgstr "Vindusrolle" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:622 msgid "Unique identifier for the window to be used when restoring a session" -msgstr "" -"Unik indentifikator for vinduet som brukes ved gjenoppretting av en sesjon" +msgstr "Unik indentifikator for vinduet som brukes ved gjenoppretting av en økt" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:638 msgid "Startup ID" msgstr "Oppstarts-ID" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:639 #, fuzzy msgid "Unique startup identifier for the window used by startup-notification" -msgstr "" -"Unik indentifikator for vinduet som brukes ved gjenoppretting av en sesjon" +msgstr "Unik indentifikator for vinduet som brukes ved gjenoppretting av en økt" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:647 msgid "If TRUE, users can resize the window" msgstr "Brukere kan endre størrelse på vinduet hvis SANN" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:654 msgid "Modal" msgstr "Modal" -#: gtk/gtkwindow.c:618 +#: ../gtk/gtkwindow.c:655 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" msgstr "" "Hvis SANN er vinduet modalt (andre vinduer er ikke brukbare når dette vises)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:662 msgid "Window Position" msgstr "Vindusplassering" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:663 msgid "The initial position of the window" msgstr "Startposisjon for vinduet" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:671 msgid "Default Width" msgstr "Standard bredde" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:672 msgid "The default width of the window, used when initially showing the window" msgstr "Forvalgt bredde for vinduet. Brukt når vinduet først vises" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:681 msgid "Default Height" msgstr "Standard høyde" -#: gtk/gtkwindow.c:645 -msgid "" -"The default height of the window, used when initially showing the window" +#: ../gtk/gtkwindow.c:682 +msgid "The default height of the window, used when initially showing the window" msgstr "Forvalgt høyde for vindu. Brukt når vinduet først vises" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:691 msgid "Destroy with Parent" msgstr "Ødelegg med opphav" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:692 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Vinduet skal ødelegges når opphavet ødelegges" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:700 msgid "Icon for this window" msgstr "Ikon for dette vinduet" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:706 #, fuzzy msgid "Mnemonics Visible" msgstr "Hinttast" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:707 #, fuzzy msgid "Whether mnemonics are currently visible in this window" msgstr "Om toppnivået er aktivt vindu" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:723 msgid "Name of the themed icon for this window" msgstr "Navnet på temaikonet for dette vinduet" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:738 msgid "Is Active" msgstr "Er aktiv" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:739 msgid "Whether the toplevel is the current active window" msgstr "Om toppnivået er aktivt vindu" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:746 msgid "Focus in Toplevel" msgstr "Fokus i toppnivå" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:747 msgid "Whether the input focus is within this GtkWindow" msgstr "Om inndatafokus er i dette GtkWindow" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:754 msgid "Type hint" msgstr "Type hint" -#: gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:755 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7201,103 +7375,202 @@ msgstr "" "Hint som skal hjelpe skrivebordsmiljøet med å forstå hvilken type vindu " "dette er og hvordan det skal behandles." -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:763 msgid "Skip taskbar" msgstr "Hopp over oppgaveliste" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:764 msgid "TRUE if the window should not be in the task bar." msgstr "SANN hvis vinduet ikke skal være i oppgavelisten." -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:771 msgid "Skip pager" msgstr "Hopp over vinduliste" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:772 msgid "TRUE if the window should not be in the pager." msgstr "SANN hvis vinduet ikke skal være i vindulisten." -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:779 msgid "Urgent" msgstr "Viktig" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:780 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE hvis vinduet skal bli gitt brukerens oppmerksomhet." -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:794 msgid "Accept focus" msgstr "Godta fokus" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:795 msgid "TRUE if the window should receive the input focus." msgstr "SANN hvis vinduet skal motta fokus for inndata." -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:809 msgid "Focus on map" msgstr "Fokuser på kart" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:810 msgid "TRUE if the window should receive the input focus when mapped." msgstr "«TRUE» hvis vinduet skal få inndatafokus når kartlagt." -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:824 msgid "Decorated" msgstr "Dekorert" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:825 msgid "Whether the window should be decorated by the window manager" msgstr "Om vinduet skal dekoreres av vindushåndtereren" -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:839 msgid "Deletable" msgstr "Slettbar" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:840 msgid "Whether the window frame should have a close button" msgstr "Om vinduet skal ha en knapp for å lukke det" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:859 +#, fuzzy +#| msgid "Has Resize Grip" +msgid "Resize grip" +msgstr "Har håndtak for endring av størrelse" + +#: ../gtk/gtkwindow.c:860 +#, fuzzy +#| msgid "Whether the window frame should have a close button" +msgid "Specifies whether the window should have a resize grip" +msgstr "Om vinduet skal ha en knapp for å lukke det" + +#: ../gtk/gtkwindow.c:874 +msgid "Resize grip is visible" +msgstr "" + +#: ../gtk/gtkwindow.c:875 +#, fuzzy +#| msgid "Whether the action group is visible." +msgid "Specifies whether the window's resize grip is visible." +msgstr "Om handlingsgruppen er synlig" + +#: ../gtk/gtkwindow.c:891 msgid "Gravity" msgstr "Tyngde" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:892 msgid "The window gravity of the window" msgstr "Vinduets tyngde" -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:909 msgid "Transient for Window" msgstr "" -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:910 #, fuzzy msgid "The transient parent of the dialog" msgstr "Knappene som vises i meldingsdialogen" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:925 msgid "Opacity for Window" msgstr "" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:926 #, fuzzy msgid "The opacity of the window, from 0 to 1" msgstr "Type vindu" -#: modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "Stil for IM-forhåndsredigering" +#: ../gtk/gtkwindow.c:936 ../gtk/gtkwindow.c:937 +msgid "Width of resize grip" +msgstr "" -#: modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "Hvordan forhåndsredigeringsstrengen for en inndatametode tegnes" +#: ../gtk/gtkwindow.c:942 ../gtk/gtkwindow.c:943 +#, fuzzy +#| msgid "Has Resize Grip" +msgid "Height of resize grip" +msgstr "Har håndtak for endring av størrelse" -#: modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "IM statusstil" +#: ../gtk/gtkwindow.c:962 +#, fuzzy +#| msgid "Application paintable" +msgid "GtkApplication" +msgstr "Tegnbar av applikasjon" -#: modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "Hvordan statuslinjen for inndatametoden tegnes" +#: ../gtk/gtkwindow.c:963 +#, fuzzy +#| msgid "The initial position of the window" +msgid "The GtkApplication for the window" +msgstr "Startposisjon for vinduet" + +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "Merkelappen til programmet sitt nettside. Hvis dette ikke er satt brukes " +#~ "bare nettadressen" + +#~ msgid "Horizontal adjustment" +#~ msgstr "Horisontal justering" + +#~ msgid "Vertical adjustment" +#~ msgstr "Vertikal justering" + +#~ msgid "Lower" +#~ msgstr "Nedre" + +#~ msgid "Lower limit of ruler" +#~ msgstr "Nedre grense for linjal" + +#~ msgid "Upper" +#~ msgstr "Øvre" + +#~ msgid "Upper limit of ruler" +#~ msgstr "Øvre grense for linjal" + +#~ msgid "Position of mark on the ruler" +#~ msgstr "Posisjon for merke på linjal" + +#~ msgid "Max Size" +#~ msgstr "Maks størrelse" + +#~ msgid "Maximum size of the ruler" +#~ msgstr "Maksimum størrelse på linjal" + +#~ msgid "Metric" +#~ msgstr "Måleverdi" + +#~ msgid "The metric used for the ruler" +#~ msgstr "Måleverdi som brukes for linjalen" + +#~ msgid "Whether the statusbar has a grip for resizing the toplevel" +#~ msgstr "Om statuslinjen har et håndtak for å endre størrelse på toppnoden" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "Horisontal justering for widget" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "Vertikal justering for widget" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "" +#~ "GtkAdjustment som bestemmer verdiene for horisontal posisjon for dette " +#~ "visningsområdet" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "" +#~ "GtkAdjustment som bestemmer verdiene for vertikal posisjon for dette " +#~ "visningsområdet" + +#~ msgid "Extension events" +#~ msgstr "Utvidelseshendelser" + +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "Masken som bestemmer hvilken type utvidelseshendelser dette widgetet " +#~ "mottar" #~ msgid "Loop" #~ msgstr "Gå i løkke" From 1a87dfdf6d101fbf9f07ca2215be518c3da4dc12 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 2 Jan 2011 21:40:49 -0500 Subject: [PATCH 0978/1463] Fix list handling in gdk_x1_display_init_input Pointed out in bug 638386. --- gdk/x11/gdkdisplay-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 37512e7bae..a231332225 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1152,7 +1152,7 @@ gdk_x11_display_init_input (GdkDisplay *display) for (l = list; l; l = l->next) { - device = list->data; + device = l->data; if (gdk_device_get_source (device) != GDK_SOURCE_MOUSE) continue; From 85fe6cb2c414c57c174fee4cea7fcb05c617fc0e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 2 Jan 2011 23:30:02 -0500 Subject: [PATCH 0979/1463] Move GtkSpinButton docs inline ...and modernize the examples at the same time. This fixes a problem pointed out in bug 638193. --- docs/reference/gtk/tmpl/gtkspinbutton.sgml | 482 --------- gtk/gtkspinbutton.c | 1142 +++++++++++--------- gtk/gtkspinbutton.h | 38 +- 3 files changed, 669 insertions(+), 993 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkspinbutton.sgml diff --git a/docs/reference/gtk/tmpl/gtkspinbutton.sgml b/docs/reference/gtk/tmpl/gtkspinbutton.sgml deleted file mode 100644 index b6c899c5f3..0000000000 --- a/docs/reference/gtk/tmpl/gtkspinbutton.sgml +++ /dev/null @@ -1,482 +0,0 @@ - -GtkSpinButton - - -Retrieve an integer or floating-point number from the user - - - -A #GtkSpinButton is an ideal way to allow the user to set the value of some -attribute. Rather than having to directly type a number into a #GtkEntry, -#GtkSpinButton allows the user to click on one of two arrows to increment or -decrement the displayed value. A value can still be typed in, with the bonus -that it can be checked to ensure it is in a given range. - - -The main properties of a #GtkSpinButton are through a #GtkAdjustment. See the -#GtkAdjustment section for more details about an adjustment's properties. - - - -Using a <structname>GtkSpinButton</structname> to get an integer. - - -/* Provides a function to retrieve an integer value from a GtkSpinButton - * and creates a spin button to model percentage values. - */ - -gint grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) { - return gtk_spin_button_get_value_as_int (a_spinner); -} - -void create_integer_spin_button (void) { - - GtkWidget *window, *spinner; - GtkAdjustment *spinner_adj; - - spinner_adj = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 5.0); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_container_set_border_width (GTK_CONTAINER (window), 5); - - /* creates the spinner, with no decimal places */ - spinner = gtk_spin_button_new (spinner_adj, 1.0, 0); - gtk_container_add (GTK_CONTAINER (window), spinner); - - gtk_widget_show_all (window); - return; -} - - - - - - - -Using a <structname>GtkSpinButton</structname> to get a floating point value. - - -/* Provides a function to retrieve a floating point value from a - * GtkSpinButton, and creates a high precision spin button. - */ - -gfloat grab_int_value (GtkSpinButton *a_spinner, gpointer user_data) { - return gtk_spin_button_get_value (a_spinner); -} - -void create_floating_spin_button (void) { - - GtkWidget *window, *spinner; - GtkAdjustment *spinner_adj; - - spinner_adj = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.1); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_container_set_border_width (GTK_CONTAINER (window), 5); - - /* creates the spinner, with three decimal places */ - spinner = gtk_spin_button_new (spinner_adj, 0.001, 3); - gtk_container_add (GTK_CONTAINER (window), spinner); - - gtk_widget_show_all (window); - return; -} - - - - - - - - - -#GtkEntry -retrieve text rather than numbers. - - - - - - - - - - - - -entry is the #GtkEntry part of the #GtkSpinButton -widget, and can be used accordingly. All other fields contain private data -and should only be modified using the functions below. - - - - - - - - -@spinbutton: the object which received the signal. -@arg1: - - - - - - -@spinbutton: the object which received the signal. -@arg1: -@Returns: - - - - - - -@spinbutton: the object which received the signal. -@Returns: - - - - - - -@spinbutton: the object which received the signal. - - - - - - -@spinbutton: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -the type of border that surrounds the arrows of a spin button. - - - - - - - - - -GTK_UPDATE_ALWAYS -When refreshing your #GtkSpinButton, the value is always displayed. - - -GTK_UPDATE_IF_VALID -When refreshing your #GtkSpinButton, the value is only displayed if it is valid within the bounds of the spin button's #GtkAdjustment. - - - - -@GTK_UPDATE_ALWAYS: -@GTK_UPDATE_IF_VALID: - - - - - - - - -GTK_SPIN_STEP_FORWARD, -GTK_SPIN_STEP_BACKWARD, -GTK_SPIN_PAGE_FORWARD, -GTK_SPIN_PAGE_BACKWARD -These values spin a #GtkSpinButton by the relevant values of the spin button's #GtkAdjustment. - - -GTK_SPIN_HOME, -GTK_SPIN_END -These set the spin button's value to the minimum or maxmimum possible values, (set by its #GtkAdjustment), respectively. - - -GTK_SPIN_USER_DEFINED -The programmer must specify the exact amount to spin the #GtkSpinButton. - - - - -@GTK_SPIN_STEP_FORWARD: -@GTK_SPIN_STEP_BACKWARD: -@GTK_SPIN_PAGE_FORWARD: -@GTK_SPIN_PAGE_BACKWARD: -@GTK_SPIN_HOME: -@GTK_SPIN_END: -@GTK_SPIN_USER_DEFINED: - - - - - - -@spin_button: -@adjustment: -@climb_rate: -@digits: - - - - -Creates a new #GtkSpinButton. - - -@adjustment: the #GtkAdjustment object that this spin button should use. -@climb_rate: specifies how much the spin button changes when an arrow is clicked on. -@digits: the number of decimal places to display. -@Returns: The new spin button as a #GtkWidget. - - - - - - - -@min: -@max: -@step: -@Returns: - - - - - - - -@spin_button: -@adjustment: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@digits: - - - - - - - -@spin_button: -@step: -@page: - - - - - - - -@spin_button: -@min: -@max: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@value: - - - - - - - -@spin_button: -@policy: - - - - - - - -@spin_button: -@numeric: - - - - - - - -@spin_button: -@direction: -@increment: - - - - - - - -@spin_button: -@wrap: - - - - - - - -@spin_button: -@snap_to_ticks: - - - - - - - -@spin_button: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@step: -@page: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@min: -@max: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@Returns: - - - - - - - -@spin_button: -@Returns: - - - - - - - - - diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 492aeae7be..3849ff9d4a 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -24,7 +24,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -46,10 +46,99 @@ #define MIN_SPIN_BUTTON_WIDTH 30 #define MAX_TIMER_CALLS 5 #define EPSILON 1e-10 -#define MAX_DIGITS 20 +#define MAX_DIGITS 20 #define MIN_ARROW_WIDTH 6 +/** + * SECTION:gtkspinbutton + * @Title: GtkSpinButton + * @Short_description: Retrieve an integer or floating-point number from + * the user + * @See_also: #GtkEntry + * + * A #GtkSpinButton is an ideal way to allow the user to set the value of + * some attribute. Rather than having to directly type a number into a + * #GtkEntry, GtkSpinButton allows the user to click on one of two arrows + * to increment or decrement the displayed value. A value can still be + * typed in, with the bonus that it can be checked to ensure it is in a + * given range. + * + * The main properties of a GtkSpinButton are through an adjustment. + * See the #GtkAdjustment section for more details about an adjustment's + * properties. + * + * + * Using a GtkSpinButton to get an integer + * + * /* Provides a function to retrieve an integer value from a + * * GtkSpinButton and creates a spin button to model percentage + * * values. + * */ + * + * gint + * grab_int_value (GtkSpinButton *button, + * gpointer user_data) + * { + * return gtk_spin_button_get_value_as_int (button); + * } + * + * void + * create_integer_spin_button (void) + * { + * + * GtkWidget *window, *button; + * GtkAdjustment *adj; + * + * adj = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0); + * + * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + * gtk_container_set_border_width (GTK_CONTAINER (window), 5); + * + * /* creates the spinbutton, with no decimal places */ + * button = gtk_spin_button_new (adj, 1.0, 0); + * gtk_container_add (GTK_CONTAINER (window), button); + * + * gtk_widget_show_all (window); + * } + * + * + * + * + * Using a GtkSpinButton to get a floating point value + * + * /* Provides a function to retrieve a floating point value from a + * * GtkSpinButton, and creates a high precision spin button. + * */ + * + * gfloat + * grab_float_value (GtkSpinButton *button, + * gpointer user_data) + * { + * return gtk_spin_button_get_value (button); + * } + * + * void + * create_floating_spin_button (void) + * { + * GtkWidget *window, *button; + * GtkAdjustment *adj; + * + * adj = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0); + * + * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + * gtk_container_set_border_width (GTK_CONTAINER (window), 5); + * + * /* creates the spinbutton, with three decimal places */ + * button = gtk_spin_button_new (adj, 0.001, 3); + * gtk_container_add (GTK_CONTAINER (window), button); + * + * gtk_widget_show_all (window); + * } + * + * + */ + struct _GtkSpinButtonPrivate { GtkSpinButtonUpdatePolicy update_policy; @@ -99,13 +188,13 @@ enum static void gtk_spin_button_editable_init (GtkEditableInterface *iface); static void gtk_spin_button_finalize (GObject *object); static void gtk_spin_button_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_spin_button_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static void gtk_spin_button_destroy (GtkWidget *widget); static void gtk_spin_button_map (GtkWidget *widget); static void gtk_spin_button_unmap (GtkWidget *widget); @@ -116,57 +205,57 @@ static void gtk_spin_button_get_preferred_width (GtkWidget *widget, gint *natural); static void gtk_spin_button_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static gint gtk_spin_button_draw (GtkWidget *widget, cairo_t *cr); static gint gtk_spin_button_button_press (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gint gtk_spin_button_button_release (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gint gtk_spin_button_motion_notify (GtkWidget *widget, - GdkEventMotion *event); + GdkEventMotion *event); static gint gtk_spin_button_enter_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gint gtk_spin_button_leave_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gint gtk_spin_button_focus_out (GtkWidget *widget, - GdkEventFocus *event); + GdkEventFocus *event); static void gtk_spin_button_grab_notify (GtkWidget *widget, - gboolean was_grabbed); + gboolean was_grabbed); static void gtk_spin_button_state_flags_changed (GtkWidget *widget, GtkStateFlags previous_state); static void gtk_spin_button_style_updated (GtkWidget *widget); static void gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, GtkStyleContext *context, - cairo_t *cr, - GtkArrowType arrow_type); + cairo_t *cr, + GtkArrowType arrow_type); static gboolean gtk_spin_button_timer (GtkSpinButton *spin_button); static void gtk_spin_button_stop_spinning (GtkSpinButton *spin); static void gtk_spin_button_value_changed (GtkAdjustment *adjustment, - GtkSpinButton *spin_button); + GtkSpinButton *spin_button); static gint gtk_spin_button_key_release (GtkWidget *widget, - GdkEventKey *event); + GdkEventKey *event); static gint gtk_spin_button_scroll (GtkWidget *widget, - GdkEventScroll *event); + GdkEventScroll *event); static void gtk_spin_button_activate (GtkEntry *entry); static void gtk_spin_button_get_text_area_size (GtkEntry *entry, - gint *x, - gint *y, - gint *width, - gint *height); + gint *x, + gint *y, + gint *width, + gint *height); static void gtk_spin_button_snap (GtkSpinButton *spin_button, - gdouble val); + gdouble val); static void gtk_spin_button_insert_text (GtkEditable *editable, - const gchar *new_text, - gint new_text_length, - gint *position); + const gchar *new_text, + gint new_text_length, + gint *position); static void gtk_spin_button_real_spin (GtkSpinButton *spin_button, - gdouble step); + gdouble step); static void gtk_spin_button_real_change_value (GtkSpinButton *spin, - GtkScrollType scroll); + GtkScrollType scroll); static gint gtk_spin_button_default_input (GtkSpinButton *spin_button, - gdouble *new_val); + gdouble *new_val); static gint gtk_spin_button_default_output (GtkSpinButton *spin_button); static gint spin_button_get_arrow_size (GtkSpinButton *spin_button); @@ -176,8 +265,8 @@ static guint spinbutton_signals[LAST_SIGNAL] = {0}; #define NO_ARROW 2 G_DEFINE_TYPE_WITH_CODE (GtkSpinButton, gtk_spin_button, GTK_TYPE_ENTRY, - G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE, - gtk_spin_button_editable_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_EDITABLE, + gtk_spin_button_editable_init)) #define add_spin_binding(binding_set, keyval, mask, scroll) \ gtk_binding_entry_add_signal (binding_set, keyval, mask, \ @@ -230,92 +319,108 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) P_("The adjustment that holds the value of the spin button"), GTK_TYPE_ADJUSTMENT, GTK_PARAM_READWRITE)); - + g_object_class_install_property (gobject_class, PROP_CLIMB_RATE, g_param_spec_double ("climb-rate", - P_("Climb Rate"), - P_("The acceleration rate when you hold down a button"), - 0.0, - G_MAXDOUBLE, - 0.0, - GTK_PARAM_READWRITE)); - + P_("Climb Rate"), + P_("The acceleration rate when you hold down a button"), + 0.0, + G_MAXDOUBLE, + 0.0, + GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, PROP_DIGITS, g_param_spec_uint ("digits", - P_("Digits"), - P_("The number of decimal places to display"), - 0, - MAX_DIGITS, - 0, - GTK_PARAM_READWRITE)); - + P_("Digits"), + P_("The number of decimal places to display"), + 0, + MAX_DIGITS, + 0, + GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, PROP_SNAP_TO_TICKS, g_param_spec_boolean ("snap-to-ticks", - P_("Snap to Ticks"), - P_("Whether erroneous values are automatically changed to a spin button's nearest step increment"), - FALSE, - GTK_PARAM_READWRITE)); - + P_("Snap to Ticks"), + P_("Whether erroneous values are automatically changed to a spin button's nearest step increment"), + FALSE, + GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, PROP_NUMERIC, g_param_spec_boolean ("numeric", - P_("Numeric"), - P_("Whether non-numeric characters should be ignored"), - FALSE, - GTK_PARAM_READWRITE)); - + P_("Numeric"), + P_("Whether non-numeric characters should be ignored"), + FALSE, + GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, PROP_WRAP, g_param_spec_boolean ("wrap", - P_("Wrap"), - P_("Whether a spin button should wrap upon reaching its limits"), - FALSE, - GTK_PARAM_READWRITE)); - + P_("Wrap"), + P_("Whether a spin button should wrap upon reaching its limits"), + FALSE, + GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, PROP_UPDATE_POLICY, g_param_spec_enum ("update-policy", - P_("Update Policy"), - P_("Whether the spin button should update always, or only when the value is legal"), - GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY, - GTK_UPDATE_ALWAYS, - GTK_PARAM_READWRITE)); - + P_("Update Policy"), + P_("Whether the spin button should update always, or only when the value is legal"), + GTK_TYPE_SPIN_BUTTON_UPDATE_POLICY, + GTK_UPDATE_ALWAYS, + GTK_PARAM_READWRITE)); + g_object_class_install_property (gobject_class, PROP_VALUE, g_param_spec_double ("value", - P_("Value"), - P_("Reads the current value, or sets a new value"), - -G_MAXDOUBLE, - G_MAXDOUBLE, - 0.0, - GTK_PARAM_READWRITE)); - + P_("Value"), + P_("Reads the current value, or sets a new value"), + -G_MAXDOUBLE, + G_MAXDOUBLE, + 0.0, + GTK_PARAM_READWRITE)); + gtk_widget_class_install_style_property_parser (widget_class, - g_param_spec_enum ("shadow-type", - "Shadow Type", - P_("Style of bevel around the spin button"), - GTK_TYPE_SHADOW_TYPE, - GTK_SHADOW_IN, - GTK_PARAM_READABLE), - gtk_rc_property_parse_enum); + g_param_spec_enum ("shadow-type", + "Shadow Type", + P_("Style of bevel around the spin button"), + GTK_TYPE_SHADOW_TYPE, + GTK_SHADOW_IN, + GTK_PARAM_READABLE), + gtk_rc_property_parse_enum); + + /** + * GtkSpinButton::input: + * @spin_button: the object on which the signal was emitted + * @new_value: return location for the new value + * + * The ::input signal can be used to influence the conversion of + * the users input into a double value. The signal handler is + * expected to use gtk_entry_get_text() to retrieve the text of + * the entry and set @new_value to the new value. + * + * The default conversion uses g_strtod(). + * + * Returns: %TRUE for a successful conversion, %FALSE if the input + * was not handled, and %GTK_INPUT_ERROR if the conversion failed. + */ spinbutton_signals[INPUT] = g_signal_new (I_("input"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkSpinButtonClass, input), - NULL, NULL, - _gtk_marshal_INT__POINTER, - G_TYPE_INT, 1, - G_TYPE_POINTER); + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkSpinButtonClass, input), + NULL, NULL, + _gtk_marshal_INT__POINTER, + G_TYPE_INT, 1, + G_TYPE_POINTER); /** * GtkSpinButton::output: * @spin_button: the object which received the signal - * + * * The ::output signal can be used to change to formatting * of the value that is displayed in the spin buttons entry. * |[ @@ -327,36 +432,36 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) * GtkAdjustment *adj; * gchar *text; * int value; - * + * * adj = gtk_spin_button_get_adjustment (spin); * value = (int)gtk_adjustment_get_value (adj); * text = g_strdup_printf ("%02d", value); * gtk_entry_set_text (GTK_ENTRY (spin), text); * g_free (text); - * + * * return TRUE; * } * ]| * - * Returns: %TRUE if the value has been displayed. + * Returns: %TRUE if the value has been displayed */ spinbutton_signals[OUTPUT] = g_signal_new (I_("output"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkSpinButtonClass, output), - _gtk_boolean_handled_accumulator, NULL, - _gtk_marshal_BOOLEAN__VOID, - G_TYPE_BOOLEAN, 0); + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkSpinButtonClass, output), + _gtk_boolean_handled_accumulator, NULL, + _gtk_marshal_BOOLEAN__VOID, + G_TYPE_BOOLEAN, 0); spinbutton_signals[VALUE_CHANGED] = g_signal_new (I_("value-changed"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkSpinButtonClass, value_changed), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkSpinButtonClass, value_changed), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); /** * GtkSpinButton::wrapped: @@ -369,12 +474,12 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) */ spinbutton_signals[WRAPPED] = g_signal_new (I_("wrapped"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkSpinButtonClass, wrapped), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkSpinButtonClass, wrapped), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); /* Action signals */ spinbutton_signals[CHANGE_VALUE] = @@ -386,9 +491,9 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) _gtk_marshal_VOID__ENUM, G_TYPE_NONE, 1, GTK_TYPE_SCROLL_TYPE); - + binding_set = gtk_binding_set_by_class (class); - + add_spin_binding (binding_set, GDK_KEY_Up, 0, GTK_SCROLL_STEP_UP); add_spin_binding (binding_set, GDK_KEY_KP_Up, 0, GTK_SCROLL_STEP_UP); add_spin_binding (binding_set, GDK_KEY_Down, 0, GTK_SCROLL_STEP_DOWN); @@ -409,9 +514,9 @@ gtk_spin_button_editable_init (GtkEditableInterface *iface) static void gtk_spin_button_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkSpinButton *spin_button = GTK_SPIN_BUTTON (object); GtkSpinButtonPrivate *priv = spin_button->priv; @@ -423,20 +528,20 @@ gtk_spin_button_set_property (GObject *object, case PROP_ADJUSTMENT: adjustment = GTK_ADJUSTMENT (g_value_get_object (value)); if (!adjustment) - adjustment = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); + adjustment = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0); gtk_spin_button_set_adjustment (spin_button, adjustment); break; case PROP_CLIMB_RATE: gtk_spin_button_configure (spin_button, - priv->adjustment, - g_value_get_double (value), - priv->digits); + priv->adjustment, + g_value_get_double (value), + priv->digits); break; case PROP_DIGITS: gtk_spin_button_configure (spin_button, - priv->adjustment, - priv->climb_rate, - g_value_get_uint (value)); + priv->adjustment, + priv->climb_rate, + g_value_get_uint (value)); break; case PROP_SNAP_TO_TICKS: gtk_spin_button_set_snap_to_ticks (spin_button, g_value_get_boolean (value)); @@ -461,9 +566,9 @@ gtk_spin_button_set_property (GObject *object, static void gtk_spin_button_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkSpinButton *spin_button = GTK_SPIN_BUTTON (object); GtkSpinButtonPrivate *priv = spin_button->priv; @@ -538,7 +643,7 @@ static void gtk_spin_button_finalize (GObject *object) { gtk_spin_button_set_adjustment (GTK_SPIN_BUTTON (object), NULL); - + G_OBJECT_CLASS (gtk_spin_button_parent_class)->finalize (object); } @@ -599,15 +704,15 @@ gtk_spin_button_realize (GtkWidget *widget) gtk_widget_get_allocation (widget, &allocation); gtk_widget_set_events (widget, gtk_widget_get_events (widget) | - GDK_KEY_RELEASE_MASK); + GDK_KEY_RELEASE_MASK); GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->realize (widget); attributes.window_type = GDK_WINDOW_CHILD; attributes.wclass = GDK_INPUT_ONLY; attributes.visual = gtk_widget_get_visual (widget); attributes.event_mask = gtk_widget_get_events (widget); - attributes.event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK - | GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK + attributes.event_mask |= GDK_EXPOSURE_MASK | GDK_BUTTON_PRESS_MASK + | GDK_BUTTON_RELEASE_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK; attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; @@ -657,10 +762,10 @@ compute_double_length (double val, int digits) a = 1; if (fabs (val) > 1.0) - a = floor (log10 (fabs (val))) + 1; + a = floor (log10 (fabs (val))) + 1; extra = 0; - + /* The dot: */ if (digits > 0) extra++; @@ -754,7 +859,7 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, static void gtk_spin_button_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -793,10 +898,10 @@ gtk_spin_button_size_allocate (GtkWidget *widget, if (gtk_widget_get_realized (widget)) { gdk_window_move_resize (priv->panel, - panel_allocation.x, - panel_allocation.y, - panel_allocation.width, - panel_allocation.height); + panel_allocation.x, + panel_allocation.y, + panel_allocation.width, + panel_allocation.height); } gtk_widget_queue_draw (GTK_WIDGET (spin)); @@ -869,24 +974,24 @@ spin_button_at_limit (GtkSpinButton *spin_button, if (priv->adjustment->step_increment > 0) effective_arrow = arrow; else - effective_arrow = arrow == GTK_ARROW_UP ? GTK_ARROW_DOWN : GTK_ARROW_UP; - + effective_arrow = arrow == GTK_ARROW_UP ? GTK_ARROW_DOWN : GTK_ARROW_UP; + if (effective_arrow == GTK_ARROW_UP && (priv->adjustment->upper - priv->adjustment->value <= EPSILON)) return TRUE; - + if (effective_arrow == GTK_ARROW_DOWN && (priv->adjustment->value - priv->adjustment->lower <= EPSILON)) return TRUE; - + return FALSE; } static void gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, GtkStyleContext *context, - cairo_t *cr, - GtkArrowType arrow_type) + cairo_t *cr, + GtkArrowType arrow_type) { GtkSpinButtonPrivate *priv; GtkJunctionSides junction; @@ -979,10 +1084,10 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, w = width / 2; w -= w % 2 - 1; /* force odd */ h = (w + 1) / 2; - + x += (width - w) / 2; y += (height - h) / 2; - + height = h; width = w; @@ -994,7 +1099,7 @@ gtk_spin_button_draw_arrow (GtkSpinButton *spin_button, static gint gtk_spin_button_enter_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -1012,9 +1117,9 @@ gtk_spin_button_enter_notify (GtkWidget *widget, gtk_widget_get_preferred_size (widget, &requisition, NULL); if (y <= requisition.height / 2) - priv->in_child = GTK_ARROW_UP; + priv->in_child = GTK_ARROW_UP; else - priv->in_child = GTK_ARROW_DOWN; + priv->in_child = GTK_ARROW_DOWN; gtk_widget_queue_draw (GTK_WIDGET (spin)); } @@ -1027,14 +1132,14 @@ gtk_spin_button_enter_notify (GtkWidget *widget, static gint gtk_spin_button_leave_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; priv->in_child = NO_ARROW; gtk_widget_queue_draw (GTK_WIDGET (spin)); - + if (GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->leave_notify_event) return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->leave_notify_event (widget, event); @@ -1043,7 +1148,7 @@ gtk_spin_button_leave_notify (GtkWidget *widget, static gint gtk_spin_button_focus_out (GtkWidget *widget, - GdkEventFocus *event) + GdkEventFocus *event) { if (gtk_editable_get_editable (GTK_EDITABLE (widget))) gtk_spin_button_update (GTK_SPIN_BUTTON (widget)); @@ -1053,7 +1158,7 @@ gtk_spin_button_focus_out (GtkWidget *widget, static void gtk_spin_button_grab_notify (GtkWidget *widget, - gboolean was_grabbed) + gboolean was_grabbed) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); @@ -1072,7 +1177,7 @@ gtk_spin_button_state_flags_changed (GtkWidget *widget, if (!gtk_widget_is_sensitive (widget)) { - gtk_spin_button_stop_spinning (spin); + gtk_spin_button_stop_spinning (spin); gtk_widget_queue_draw (GTK_WIDGET (spin)); } } @@ -1097,7 +1202,7 @@ gtk_spin_button_style_updated (GtkWidget *widget) static gint gtk_spin_button_scroll (GtkWidget *widget, - GdkEventScroll *event) + GdkEventScroll *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -1105,14 +1210,14 @@ gtk_spin_button_scroll (GtkWidget *widget, if (event->direction == GDK_SCROLL_UP) { if (!gtk_widget_has_focus (widget)) - gtk_widget_grab_focus (widget); + gtk_widget_grab_focus (widget); gtk_spin_button_real_spin (spin, priv->adjustment->step_increment); } else if (event->direction == GDK_SCROLL_DOWN) { if (!gtk_widget_has_focus (widget)) - gtk_widget_grab_focus (widget); - gtk_spin_button_real_spin (spin, -priv->adjustment->step_increment); + gtk_widget_grab_focus (widget); + gtk_spin_button_real_spin (spin, -priv->adjustment->step_increment); } else return FALSE; @@ -1144,8 +1249,8 @@ gtk_spin_button_stop_spinning (GtkSpinButton *spin) static void start_spinning (GtkSpinButton *spin, - GtkArrowType click_child, - gdouble step) + GtkArrowType click_child, + gdouble step) { GtkSpinButtonPrivate *priv; @@ -1165,8 +1270,8 @@ start_spinning (GtkSpinButton *spin, priv->timer_step = step; priv->need_timer = TRUE; priv->timer = gdk_threads_add_timeout (timeout, - (GSourceFunc) gtk_spin_button_timer, - (gpointer) spin); + (GSourceFunc) gtk_spin_button_timer, + (gpointer) spin); } gtk_spin_button_real_spin (spin, click_child == GTK_ARROW_UP ? step : -step); @@ -1175,7 +1280,7 @@ start_spinning (GtkSpinButton *spin, static gint gtk_spin_button_button_press (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -1183,47 +1288,47 @@ gtk_spin_button_button_press (GtkWidget *widget, if (!priv->button) { if (event->window == priv->panel) - { - GtkRequisition requisition; + { + GtkRequisition requisition; - if (!gtk_widget_has_focus (widget)) - gtk_widget_grab_focus (widget); - priv->button = event->button; + if (!gtk_widget_has_focus (widget)) + gtk_widget_grab_focus (widget); + priv->button = event->button; if (gtk_editable_get_editable (GTK_EDITABLE (widget))) - gtk_spin_button_update (spin); - - gtk_widget_get_preferred_size (widget, &requisition, NULL); + gtk_spin_button_update (spin); - if (event->y <= requisition.height / 2) - { - if (event->button == 1) - start_spinning (spin, GTK_ARROW_UP, priv->adjustment->step_increment); - else if (event->button == 2) - start_spinning (spin, GTK_ARROW_UP, priv->adjustment->page_increment); - else - priv->click_child = GTK_ARROW_UP; - } - else - { - if (event->button == 1) - start_spinning (spin, GTK_ARROW_DOWN, priv->adjustment->step_increment); - else if (event->button == 2) - start_spinning (spin, GTK_ARROW_DOWN, priv->adjustment->page_increment); - else - priv->click_child = GTK_ARROW_DOWN; - } - return TRUE; - } + gtk_widget_get_preferred_size (widget, &requisition, NULL); + + if (event->y <= requisition.height / 2) + { + if (event->button == 1) + start_spinning (spin, GTK_ARROW_UP, priv->adjustment->step_increment); + else if (event->button == 2) + start_spinning (spin, GTK_ARROW_UP, priv->adjustment->page_increment); + else + priv->click_child = GTK_ARROW_UP; + } + else + { + if (event->button == 1) + start_spinning (spin, GTK_ARROW_DOWN, priv->adjustment->step_increment); + else if (event->button == 2) + start_spinning (spin, GTK_ARROW_DOWN, priv->adjustment->page_increment); + else + priv->click_child = GTK_ARROW_DOWN; + } + return TRUE; + } else - return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->button_press_event (widget, event); + return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->button_press_event (widget, event); } return FALSE; } static gint gtk_spin_button_button_release (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -1238,42 +1343,42 @@ gtk_spin_button_button_release (GtkWidget *widget, gtk_spin_button_stop_spinning (spin); if (event->button == 3) - { - GtkRequisition requisition; + { + GtkRequisition requisition; GtkStyleContext *context; GtkStateFlags state; GtkBorder padding; - gtk_widget_get_preferred_size (widget, &requisition, NULL); + gtk_widget_get_preferred_size (widget, &requisition, NULL); context = gtk_widget_get_style_context (widget); state = gtk_widget_get_state_flags (widget); gtk_style_context_get_padding (context, state, &padding); - if (event->y >= 0 && event->x >= 0 && - event->y <= requisition.height && - event->x <= arrow_size + padding.left + padding.right) - { - if (click_child == GTK_ARROW_UP && - event->y <= requisition.height / 2) - { - gdouble diff; + if (event->y >= 0 && event->x >= 0 && + event->y <= requisition.height && + event->x <= arrow_size + padding.left + padding.right) + { + if (click_child == GTK_ARROW_UP && + event->y <= requisition.height / 2) + { + gdouble diff; - diff = priv->adjustment->upper - priv->adjustment->value; - if (diff > EPSILON) - gtk_spin_button_real_spin (spin, diff); - } - else if (click_child == GTK_ARROW_DOWN && - event->y > requisition.height / 2) - { - gdouble diff; + diff = priv->adjustment->upper - priv->adjustment->value; + if (diff > EPSILON) + gtk_spin_button_real_spin (spin, diff); + } + else if (click_child == GTK_ARROW_DOWN && + event->y > requisition.height / 2) + { + gdouble diff; - diff = priv->adjustment->value - priv->adjustment->lower; - if (diff > EPSILON) - gtk_spin_button_real_spin (spin, -diff); - } - } - } + diff = priv->adjustment->value - priv->adjustment->lower; + if (diff > EPSILON) + gtk_spin_button_real_spin (spin, -diff); + } + } + } gtk_widget_queue_draw (GTK_WIDGET (spin)); return TRUE; @@ -1284,7 +1389,7 @@ gtk_spin_button_button_release (GtkWidget *widget, static gint gtk_spin_button_motion_notify (GtkWidget *widget, - GdkEventMotion *event) + GdkEventMotion *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -1302,21 +1407,21 @@ gtk_spin_button_motion_notify (GtkWidget *widget, gtk_widget_get_preferred_size (widget, &requisition, NULL); if (y <= requisition.height / 2 && - priv->in_child == GTK_ARROW_DOWN) - { - priv->in_child = GTK_ARROW_UP; - gtk_widget_queue_draw (GTK_WIDGET (spin)); - } + priv->in_child == GTK_ARROW_DOWN) + { + priv->in_child = GTK_ARROW_UP; + gtk_widget_queue_draw (GTK_WIDGET (spin)); + } else if (y > requisition.height / 2 && - priv->in_child == GTK_ARROW_UP) - { - priv->in_child = GTK_ARROW_DOWN; - gtk_widget_queue_draw (GTK_WIDGET (spin)); - } - + priv->in_child == GTK_ARROW_UP) + { + priv->in_child = GTK_ARROW_DOWN; + gtk_widget_queue_draw (GTK_WIDGET (spin)); + } + return FALSE; } - + return GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->motion_notify_event (widget, event); } @@ -1329,37 +1434,37 @@ gtk_spin_button_timer (GtkSpinButton *spin_button) if (priv->timer) { if (priv->click_child == GTK_ARROW_UP) - gtk_spin_button_real_spin (spin_button, priv->timer_step); + gtk_spin_button_real_spin (spin_button, priv->timer_step); else - gtk_spin_button_real_spin (spin_button, -priv->timer_step); + gtk_spin_button_real_spin (spin_button, -priv->timer_step); if (priv->need_timer) - { + { GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (spin_button)); guint timeout; g_object_get (settings, "gtk-timeout-repeat", &timeout, NULL); - priv->need_timer = FALSE; - priv->timer = gdk_threads_add_timeout (timeout, - (GSourceFunc) gtk_spin_button_timer, - (gpointer) spin_button); - } - else - { - if (priv->climb_rate > 0.0 && priv->timer_step - < priv->adjustment->page_increment) - { - if (priv->timer_calls < MAX_TIMER_CALLS) - priv->timer_calls++; - else - { - priv->timer_calls = 0; - priv->timer_step += priv->climb_rate; - } - } - retval = TRUE; - } + priv->need_timer = FALSE; + priv->timer = gdk_threads_add_timeout (timeout, + (GSourceFunc) gtk_spin_button_timer, + (gpointer) spin_button); + } + else + { + if (priv->climb_rate > 0.0 && priv->timer_step + < priv->adjustment->page_increment) + { + if (priv->timer_calls < MAX_TIMER_CALLS) + priv->timer_calls++; + else + { + priv->timer_calls = 0; + priv->timer_step += priv->climb_rate; + } + } + retval = TRUE; + } } return retval; @@ -1367,7 +1472,7 @@ gtk_spin_button_timer (GtkSpinButton *spin_button) static void gtk_spin_button_value_changed (GtkAdjustment *adjustment, - GtkSpinButton *spin_button) + GtkSpinButton *spin_button) { gboolean return_val; @@ -1381,13 +1486,13 @@ gtk_spin_button_value_changed (GtkAdjustment *adjustment, g_signal_emit (spin_button, spinbutton_signals[VALUE_CHANGED], 0); gtk_widget_queue_draw (GTK_WIDGET (spin_button)); - + g_object_notify (G_OBJECT (spin_button), "value"); } static void gtk_spin_button_real_change_value (GtkSpinButton *spin, - GtkScrollType scroll) + GtkScrollType scroll) { GtkSpinButtonPrivate *priv = spin->priv; gdouble old_value; @@ -1413,69 +1518,69 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, gtk_spin_button_real_spin (spin, -priv->timer_step); if (priv->climb_rate > 0.0 && priv->timer_step - < priv->adjustment->page_increment) - { - if (priv->timer_calls < MAX_TIMER_CALLS) - priv->timer_calls++; - else - { - priv->timer_calls = 0; - priv->timer_step += priv->climb_rate; - } - } + < priv->adjustment->page_increment) + { + if (priv->timer_calls < MAX_TIMER_CALLS) + priv->timer_calls++; + else + { + priv->timer_calls = 0; + priv->timer_step += priv->climb_rate; + } + } break; - + case GTK_SCROLL_STEP_FORWARD: case GTK_SCROLL_STEP_UP: case GTK_SCROLL_STEP_RIGHT: gtk_spin_button_real_spin (spin, priv->timer_step); if (priv->climb_rate > 0.0 && priv->timer_step - < priv->adjustment->page_increment) - { - if (priv->timer_calls < MAX_TIMER_CALLS) - priv->timer_calls++; - else - { - priv->timer_calls = 0; - priv->timer_step += priv->climb_rate; - } - } + < priv->adjustment->page_increment) + { + if (priv->timer_calls < MAX_TIMER_CALLS) + priv->timer_calls++; + else + { + priv->timer_calls = 0; + priv->timer_step += priv->climb_rate; + } + } break; - + case GTK_SCROLL_PAGE_BACKWARD: case GTK_SCROLL_PAGE_DOWN: case GTK_SCROLL_PAGE_LEFT: gtk_spin_button_real_spin (spin, -priv->adjustment->page_increment); break; - + case GTK_SCROLL_PAGE_FORWARD: case GTK_SCROLL_PAGE_UP: case GTK_SCROLL_PAGE_RIGHT: gtk_spin_button_real_spin (spin, priv->adjustment->page_increment); break; - + case GTK_SCROLL_START: { - gdouble diff = priv->adjustment->value - priv->adjustment->lower; - if (diff > EPSILON) - gtk_spin_button_real_spin (spin, -diff); - break; + gdouble diff = priv->adjustment->value - priv->adjustment->lower; + if (diff > EPSILON) + gtk_spin_button_real_spin (spin, -diff); + break; } - + case GTK_SCROLL_END: { - gdouble diff = priv->adjustment->upper - priv->adjustment->value; - if (diff > EPSILON) - gtk_spin_button_real_spin (spin, diff); - break; + gdouble diff = priv->adjustment->upper - priv->adjustment->value; + if (diff > EPSILON) + gtk_spin_button_real_spin (spin, diff); + break; } - + default: g_warning ("Invalid scroll type %d for GtkSpinButton::change-value", scroll); break; } - + gtk_spin_button_update (spin); if (priv->adjustment->value == old_value) @@ -1484,7 +1589,7 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, static gint gtk_spin_button_key_release (GtkWidget *widget, - GdkEventKey *event) + GdkEventKey *event) { GtkSpinButton *spin = GTK_SPIN_BUTTON (widget); GtkSpinButtonPrivate *priv = spin->priv; @@ -1498,7 +1603,7 @@ gtk_spin_button_key_release (GtkWidget *widget, static void gtk_spin_button_snap (GtkSpinButton *spin_button, - gdouble val) + gdouble val) { GtkSpinButtonPrivate *priv = spin_button->priv; gdouble inc; @@ -1529,10 +1634,10 @@ gtk_spin_button_activate (GtkEntry *entry) static void gtk_spin_button_get_text_area_size (GtkEntry *entry, - gint *x, - gint *y, - gint *width, - gint *height) + gint *x, + gint *y, + gint *width, + gint *height) { GtkStyleContext *context; GtkStateFlags state; @@ -1560,9 +1665,9 @@ gtk_spin_button_get_text_area_size (GtkEntry *entry, static void gtk_spin_button_insert_text (GtkEditable *editable, - const gchar *new_text, - gint new_text_length, - gint *position) + const gchar *new_text, + gint new_text_length, + gint *position) { GtkEntry *entry = GTK_ENTRY (editable); GtkSpinButton *spin = GTK_SPIN_BUTTON (editable); @@ -1589,14 +1694,14 @@ gtk_spin_button_insert_text (GtkEditable *editable, lc = localeconv (); if (*(lc->negative_sign)) - neg_sign = *(lc->negative_sign); - else - neg_sign = '-'; + neg_sign = *(lc->negative_sign); + else + neg_sign = '-'; if (*(lc->positive_sign)) - pos_sign = *(lc->positive_sign); - else - pos_sign = '+'; + pos_sign = *(lc->positive_sign); + else + pos_sign = '+'; #ifdef G_OS_WIN32 /* Workaround for bug caused by some Windows application messing @@ -1615,60 +1720,60 @@ gtk_spin_button_insert_text (GtkEditable *editable, * digits... */ if (pos_sign >= '0' && pos_sign <= '9') - pos_sign = '+'; + pos_sign = '+'; #endif for (sign=0, i=0; idecimal_point)) - { - dotpos = i; - break; - } + if (entry_text[i] == *(lc->decimal_point)) + { + dotpos = i; + break; + } if (dotpos > -1 && *position > dotpos && - (gint)priv->digits - entry_length - + dotpos - new_text_length + 1 < 0) - return; + (gint)priv->digits - entry_length + + dotpos - new_text_length + 1 < 0) + return; for (i = 0; i < new_text_length; i++) - { - if (new_text[i] == neg_sign || new_text[i] == pos_sign) - { - if (sign || (*position) || i) - return; - sign = TRUE; - } - else if (new_text[i] == *(lc->decimal_point)) - { - if (!priv->digits || dotpos > -1 || - (new_text_length - 1 - i + entry_length - - *position > (gint)priv->digits)) - return; - dotpos = *position + i; - } - else if (new_text[i] < 0x30 || new_text[i] > 0x39) - return; - } + { + if (new_text[i] == neg_sign || new_text[i] == pos_sign) + { + if (sign || (*position) || i) + return; + sign = TRUE; + } + else if (new_text[i] == *(lc->decimal_point)) + { + if (!priv->digits || dotpos > -1 || + (new_text_length - 1 - i + entry_length + - *position > (gint)priv->digits)) + return; + dotpos = *position + i; + } + else if (new_text[i] < 0x30 || new_text[i] > 0x39) + return; + } } parent_editable_iface->insert_text (editable, new_text, - new_text_length, position); + new_text_length, position); } static void gtk_spin_button_real_spin (GtkSpinButton *spin_button, - gdouble increment) + gdouble increment) { GtkSpinButtonPrivate *priv = spin_button->priv; GtkAdjustment *adj; @@ -1682,32 +1787,32 @@ gtk_spin_button_real_spin (GtkSpinButton *spin_button, if (increment > 0) { if (priv->wrap) - { - if (fabs (adj->value - adj->upper) < EPSILON) - { - new_value = adj->lower; - wrapped = TRUE; - } - else if (new_value > adj->upper) - new_value = adj->upper; - } + { + if (fabs (adj->value - adj->upper) < EPSILON) + { + new_value = adj->lower; + wrapped = TRUE; + } + else if (new_value > adj->upper) + new_value = adj->upper; + } else - new_value = MIN (new_value, adj->upper); + new_value = MIN (new_value, adj->upper); } - else if (increment < 0) + else if (increment < 0) { if (priv->wrap) - { - if (fabs (adj->value - adj->lower) < EPSILON) - { - new_value = adj->upper; - wrapped = TRUE; - } - else if (new_value < adj->lower) - new_value = adj->lower; - } + { + if (fabs (adj->value - adj->lower) < EPSILON) + { + new_value = adj->upper; + wrapped = TRUE; + } + else if (new_value < adj->lower) + new_value = adj->lower; + } else - new_value = MAX (new_value, adj->lower); + new_value = MAX (new_value, adj->lower); } if (fabs (new_value - adj->value) > EPSILON) @@ -1721,7 +1826,7 @@ gtk_spin_button_real_spin (GtkSpinButton *spin_button, static gint gtk_spin_button_default_input (GtkSpinButton *spin_button, - gdouble *new_val) + gdouble *new_val) { gchar *err = NULL; @@ -1756,18 +1861,19 @@ gtk_spin_button_default_output (GtkSpinButton *spin_button) /** * gtk_spin_button_configure: * @spin_button: a #GtkSpinButton - * @adjustment: (allow-none): a #GtkAdjustment. - * @climb_rate: the new climb rate. - * @digits: the number of decimal places to display in the spin button. + * @adjustment: (allow-none): a #GtkAdjustment + * @climb_rate: the new climb rate + * @digits: the number of decimal places to display in the spin button * - * Changes the properties of an existing spin button. The adjustment, climb rate, - * and number of decimal places are all changed accordingly, after this function call. + * Changes the properties of an existing spin button. The adjustment, + * climb rate, and number of decimal places are all changed accordingly, + * after this function call. */ void -gtk_spin_button_configure (GtkSpinButton *spin_button, - GtkAdjustment *adjustment, - gdouble climb_rate, - guint digits) +gtk_spin_button_configure (GtkSpinButton *spin_button, + GtkAdjustment *adjustment, + gdouble climb_rate, + guint digits) { GtkSpinButtonPrivate *priv; @@ -1781,7 +1887,7 @@ gtk_spin_button_configure (GtkSpinButton *spin_button, adjustment = priv->adjustment; g_object_freeze_notify (G_OBJECT (spin_button)); - if (priv->digits != digits) + if (priv->digits != digits) { priv->digits = digits; g_object_notify (G_OBJECT (spin_button), "digits"); @@ -1797,10 +1903,22 @@ gtk_spin_button_configure (GtkSpinButton *spin_button, gtk_adjustment_value_changed (adjustment); } +/** + * gtk_spin_button_new: + * @adjustment: (allow-none): the #GtkAdjustment object that this spin + * button should use, or %NULL + * @climb_rate: specifies how much the spin button changes when an arrow + * is clicked on + * @digits: the number of decimal places to display + * + * Creates a new #GtkSpinButton. + * + * Returns: The new spin button as a #GtkWidget + */ GtkWidget * gtk_spin_button_new (GtkAdjustment *adjustment, - gdouble climb_rate, - guint digits) + gdouble climb_rate, + guint digits) { GtkSpinButton *spin; @@ -1819,23 +1937,23 @@ gtk_spin_button_new (GtkAdjustment *adjustment, * @min: Minimum allowable value * @max: Maximum allowable value * @step: Increment added or subtracted by spinning the widget - * - * This is a convenience constructor that allows creation of a numeric - * #GtkSpinButton without manually creating an adjustment. The value is + * + * This is a convenience constructor that allows creation of a numeric + * #GtkSpinButton without manually creating an adjustment. The value is * initially set to the minimum value and a page increment of 10 * @step - * is the default. The precision of the spin button is equivalent to the - * precision of @step. - * - * Note that the way in which the precision is derived works best if @step - * is a power of ten. If the resulting precision is not suitable for your + * is the default. The precision of the spin button is equivalent to the + * precision of @step. + * + * Note that the way in which the precision is derived works best if @step + * is a power of ten. If the resulting precision is not suitable for your * needs, use gtk_spin_button_set_digits() to correct it. - * - * Return value: The new spin button as a #GtkWidget. - **/ + * + * Return value: The new spin button as a #GtkWidget + */ GtkWidget * gtk_spin_button_new_with_range (gdouble min, - gdouble max, - gdouble step) + gdouble max, + gdouble step) { GtkAdjustment *adj; GtkSpinButton *spin; @@ -1863,8 +1981,9 @@ gtk_spin_button_new_with_range (gdouble min, return GTK_WIDGET (spin); } -/* Callback used when the spin button's adjustment changes. We need to redraw - * the arrows when the adjustment's range changes, and reevaluate our size request. +/* Callback used when the spin button's adjustment changes. + * We need to redraw the arrows when the adjustment's range + * changes, and reevaluate our size request. */ static void adjustment_changed_cb (GtkAdjustment *adjustment, gpointer data) @@ -1880,12 +1999,12 @@ adjustment_changed_cb (GtkAdjustment *adjustment, gpointer data) * gtk_spin_button_set_adjustment: * @spin_button: a #GtkSpinButton * @adjustment: a #GtkAdjustment to replace the existing adjustment - * + * * Replaces the #GtkAdjustment associated with @spin_button. - **/ + */ void gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, - GtkAdjustment *adjustment) + GtkAdjustment *adjustment) { GtkSpinButtonPrivate *priv; @@ -1897,25 +2016,25 @@ gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, { if (priv->adjustment) { - g_signal_handlers_disconnect_by_func (priv->adjustment, - gtk_spin_button_value_changed, - spin_button); - g_signal_handlers_disconnect_by_func (priv->adjustment, - adjustment_changed_cb, - spin_button); - g_object_unref (priv->adjustment); + g_signal_handlers_disconnect_by_func (priv->adjustment, + gtk_spin_button_value_changed, + spin_button); + g_signal_handlers_disconnect_by_func (priv->adjustment, + adjustment_changed_cb, + spin_button); + g_object_unref (priv->adjustment); } priv->adjustment = adjustment; if (adjustment) { - g_object_ref_sink (adjustment); - g_signal_connect (adjustment, "value-changed", - G_CALLBACK (gtk_spin_button_value_changed), - spin_button); - g_signal_connect (adjustment, "changed", - G_CALLBACK (adjustment_changed_cb), - spin_button); - priv->timer_step = priv->adjustment->step_increment; + g_object_ref_sink (adjustment); + g_signal_connect (adjustment, "value-changed", + G_CALLBACK (gtk_spin_button_value_changed), + spin_button); + g_signal_connect (adjustment, "changed", + G_CALLBACK (adjustment_changed_cb), + spin_button); + priv->timer_step = priv->adjustment->step_increment; } gtk_widget_queue_resize (GTK_WIDGET (spin_button)); @@ -1927,9 +2046,9 @@ gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, /** * gtk_spin_button_get_adjustment: * @spin_button: a #GtkSpinButton - * + * * Get the adjustment associated with a #GtkSpinButton - * + * * Return value: (transfer none): the #GtkAdjustment of @spin_button **/ GtkAdjustment * @@ -1944,13 +2063,13 @@ gtk_spin_button_get_adjustment (GtkSpinButton *spin_button) * gtk_spin_button_set_digits: * @spin_button: a #GtkSpinButton * @digits: the number of digits after the decimal point to be displayed for the spin button's value - * + * * Set the precision to be displayed by @spin_button. Up to 20 digit precision * is allowed. **/ void gtk_spin_button_set_digits (GtkSpinButton *spin_button, - guint digits) + guint digits) { GtkSpinButtonPrivate *priv; @@ -1963,7 +2082,7 @@ gtk_spin_button_set_digits (GtkSpinButton *spin_button, priv->digits = digits; gtk_spin_button_value_changed (priv->adjustment, spin_button); g_object_notify (G_OBJECT (spin_button), "digits"); - + /* since lower/upper may have changed */ gtk_widget_queue_resize (GTK_WIDGET (spin_button)); } @@ -1990,14 +2109,14 @@ gtk_spin_button_get_digits (GtkSpinButton *spin_button) * @spin_button: a #GtkSpinButton * @step: increment applied for a button 1 press. * @page: increment applied for a button 2 press. - * - * Sets the step and page increments for spin_button. This affects how + * + * Sets the step and page increments for spin_button. This affects how * quickly the value changes when the spin button's arrows are activated. **/ void gtk_spin_button_set_increments (GtkSpinButton *spin_button, - gdouble step, - gdouble page) + gdouble step, + gdouble page) { GtkSpinButtonPrivate *priv; @@ -2020,8 +2139,8 @@ gtk_spin_button_set_increments (GtkSpinButton *spin_button, **/ void gtk_spin_button_get_increments (GtkSpinButton *spin_button, - gdouble *step, - gdouble *page) + gdouble *step, + gdouble *page) { GtkSpinButtonPrivate *priv; @@ -2040,13 +2159,13 @@ gtk_spin_button_get_increments (GtkSpinButton *spin_button, * @spin_button: a #GtkSpinButton * @min: minimum allowable value * @max: maximum allowable value - * - * Sets the minimum and maximum allowable values for @spin_button - **/ + * + * Sets the minimum and maximum allowable values for @spin_button. + */ void gtk_spin_button_set_range (GtkSpinButton *spin_button, - gdouble min, - gdouble max) + gdouble min, + gdouble max) { GtkSpinButtonPrivate *priv; gdouble value; @@ -2074,13 +2193,13 @@ gtk_spin_button_set_range (GtkSpinButton *spin_button, * @min: (allow-none): location to store minimum allowed value, or %NULL * @max: (allow-none): location to store maximum allowed value, or %NULL * - * Gets the range allowed for @spin_button. See - * gtk_spin_button_set_range(). - **/ + * Gets the range allowed for @spin_button. + * See gtk_spin_button_set_range(). + */ void gtk_spin_button_get_range (GtkSpinButton *spin_button, - gdouble *min, - gdouble *max) + gdouble *min, + gdouble *max) { GtkSpinButtonPrivate *priv; @@ -2097,11 +2216,11 @@ gtk_spin_button_get_range (GtkSpinButton *spin_button, /** * gtk_spin_button_get_value: * @spin_button: a #GtkSpinButton - * + * * Get the value in the @spin_button. - * + * * Return value: the value of @spin_button - **/ + */ gdouble gtk_spin_button_get_value (GtkSpinButton *spin_button) { @@ -2113,11 +2232,11 @@ gtk_spin_button_get_value (GtkSpinButton *spin_button) /** * gtk_spin_button_get_value_as_int: * @spin_button: a #GtkSpinButton - * + * * Get the value @spin_button represented as an integer. - * + * * Return value: the value of @spin_button - **/ + */ gint gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button) { @@ -2139,12 +2258,12 @@ gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button) * gtk_spin_button_set_value: * @spin_button: a #GtkSpinButton * @value: the new value - * - * Set the value of @spin_button. - **/ -void -gtk_spin_button_set_value (GtkSpinButton *spin_button, - gdouble value) + * + * Sets the value of @spin_button. + */ +void +gtk_spin_button_set_value (GtkSpinButton *spin_button, + gdouble value) { GtkSpinButtonPrivate *priv; @@ -2159,21 +2278,22 @@ gtk_spin_button_set_value (GtkSpinButton *spin_button, gint return_val = FALSE; g_signal_emit (spin_button, spinbutton_signals[OUTPUT], 0, &return_val); if (return_val == FALSE) - gtk_spin_button_default_output (spin_button); + gtk_spin_button_default_output (spin_button); } } /** * gtk_spin_button_set_update_policy: - * @spin_button: a #GtkSpinButton + * @spin_button: a #GtkSpinButton * @policy: a #GtkSpinButtonUpdatePolicy value - * - * Sets the update behavior of a spin button. This determines whether the - * spin button is always updated or only when a valid value is set. - **/ + * + * Sets the update behavior of a spin button. + * This determines wether the spin button is always updated + * or only when a valid value is set. + */ void gtk_spin_button_set_update_policy (GtkSpinButton *spin_button, - GtkSpinButtonUpdatePolicy policy) + GtkSpinButtonUpdatePolicy policy) { GtkSpinButtonPrivate *priv; @@ -2192,11 +2312,11 @@ gtk_spin_button_set_update_policy (GtkSpinButton *spin_button, * gtk_spin_button_get_update_policy: * @spin_button: a #GtkSpinButton * - * Gets the update behavior of a spin button. See - * gtk_spin_button_set_update_policy(). + * Gets the update behavior of a spin button. + * See gtk_spin_button_set_update_policy(). * * Return value: the current update policy - **/ + */ GtkSpinButtonUpdatePolicy gtk_spin_button_get_update_policy (GtkSpinButton *spin_button) { @@ -2207,15 +2327,15 @@ gtk_spin_button_get_update_policy (GtkSpinButton *spin_button) /** * gtk_spin_button_set_numeric: - * @spin_button: a #GtkSpinButton - * @numeric: flag indicating if only numeric entry is allowed. - * - * Sets the flag that determines if non-numeric text can be typed into - * the spin button. - **/ + * @spin_button: a #GtkSpinButton + * @numeric: flag indicating if only numeric entry is allowed + * + * Sets the flag that determines if non-numeric text can be typed + * into the spin button. + */ void -gtk_spin_button_set_numeric (GtkSpinButton *spin_button, - gboolean numeric) +gtk_spin_button_set_numeric (GtkSpinButton *spin_button, + gboolean numeric) { GtkSpinButtonPrivate *priv; @@ -2240,7 +2360,7 @@ gtk_spin_button_set_numeric (GtkSpinButton *spin_button, * See gtk_spin_button_set_numeric(). * * Return value: %TRUE if only numeric text can be entered - **/ + */ gboolean gtk_spin_button_get_numeric (GtkSpinButton *spin_button) { @@ -2251,15 +2371,16 @@ gtk_spin_button_get_numeric (GtkSpinButton *spin_button) /** * gtk_spin_button_set_wrap: - * @spin_button: a #GtkSpinButton - * @wrap: a flag indicating if wrapping behavior is performed. - * - * Sets the flag that determines if a spin button value wraps around to the - * opposite limit when the upper or lower limit of the range is exceeded. - **/ + * @spin_button: a #GtkSpinButton + * @wrap: a flag indicating if wrapping behavior is performed + * + * Sets the flag that determines if a spin button value wraps + * around to the opposite limit when the upper or lower limit + * of the range is exceeded. + */ void gtk_spin_button_set_wrap (GtkSpinButton *spin_button, - gboolean wrap) + gboolean wrap) { GtkSpinButtonPrivate *priv; @@ -2267,12 +2388,12 @@ gtk_spin_button_set_wrap (GtkSpinButton *spin_button, priv = spin_button->priv; - wrap = wrap != FALSE; + wrap = wrap != FALSE; if (priv->wrap != wrap) { - priv->wrap = (wrap != 0); - + priv->wrap = wrap; + g_object_notify (G_OBJECT (spin_button), "wrap"); } } @@ -2286,7 +2407,7 @@ gtk_spin_button_set_wrap (GtkSpinButton *spin_button, * exceeded. See gtk_spin_button_set_wrap(). * * Return value: %TRUE if the spin button wraps around - **/ + */ gboolean gtk_spin_button_get_wrap (GtkSpinButton *spin_button) { @@ -2315,15 +2436,16 @@ spin_button_get_arrow_size (GtkSpinButton *spin_button) /** * gtk_spin_button_set_snap_to_ticks: - * @spin_button: a #GtkSpinButton - * @snap_to_ticks: a flag indicating if invalid values should be corrected. - * - * Sets the policy as to whether values are corrected to the nearest step - * increment when a spin button is activated after providing an invalid value. - **/ + * @spin_button: a #GtkSpinButton + * @snap_to_ticks: a flag indicating if invalid values should be corrected + * + * Sets the policy as to whether values are corrected to the + * nearest step increment when a spin button is activated after + * providing an invalid value. + */ void gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button, - gboolean snap_to_ticks) + gboolean snap_to_ticks) { GtkSpinButtonPrivate *priv; guint new_val; @@ -2338,8 +2460,8 @@ gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button, { priv->snap_to_ticks = new_val; if (new_val && gtk_editable_get_editable (GTK_EDITABLE (spin_button))) - gtk_spin_button_update (spin_button); - + gtk_spin_button_update (spin_button); + g_object_notify (G_OBJECT (spin_button), "snap-to-ticks"); } } @@ -2348,11 +2470,11 @@ gtk_spin_button_set_snap_to_ticks (GtkSpinButton *spin_button, * gtk_spin_button_get_snap_to_ticks: * @spin_button: a #GtkSpinButton * - * Returns whether the values are corrected to the nearest step. See - * gtk_spin_button_set_snap_to_ticks(). + * Returns whether the values are corrected to the nearest step. + * See gtk_spin_button_set_snap_to_ticks(). * - * Return value: %TRUE if values are snapped to the nearest step. - **/ + * Return value: %TRUE if values are snapped to the nearest step + */ gboolean gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button) { @@ -2363,17 +2485,17 @@ gtk_spin_button_get_snap_to_ticks (GtkSpinButton *spin_button) /** * gtk_spin_button_spin: - * @spin_button: a #GtkSpinButton - * @direction: a #GtkSpinType indicating the direction to spin. - * @increment: step increment to apply in the specified direction. - * - * Increment or decrement a spin button's value in a specified direction - * by a specified amount. - **/ + * @spin_button: a #GtkSpinButton + * @direction: a #GtkSpinType indicating the direction to spin + * @increment: step increment to apply in the specified direction + * + * Increment or decrement a spin button's value in a specified + * direction by a specified amount. + */ void gtk_spin_button_spin (GtkSpinButton *spin_button, - GtkSpinType direction, - gdouble increment) + GtkSpinType direction, + gdouble increment) { GtkSpinButtonPrivate *priv; GtkAdjustment *adj; @@ -2391,7 +2513,7 @@ gtk_spin_button_spin (GtkSpinButton *spin_button, direction == GTK_SPIN_STEP_BACKWARD)) { if (direction == GTK_SPIN_STEP_BACKWARD && increment > 0) - increment = -increment; + increment = -increment; direction = GTK_SPIN_USER_DEFINED; } @@ -2421,20 +2543,20 @@ gtk_spin_button_spin (GtkSpinButton *spin_button, diff = adj->value - adj->lower; if (diff > EPSILON) - gtk_spin_button_real_spin (spin_button, -diff); + gtk_spin_button_real_spin (spin_button, -diff); break; case GTK_SPIN_END: diff = adj->upper - adj->value; if (diff > EPSILON) - gtk_spin_button_real_spin (spin_button, diff); + gtk_spin_button_real_spin (spin_button, diff); break; case GTK_SPIN_USER_DEFINED: if (increment != 0) - gtk_spin_button_real_spin (spin_button, increment); + gtk_spin_button_real_spin (spin_button, increment); break; default: @@ -2444,11 +2566,11 @@ gtk_spin_button_spin (GtkSpinButton *spin_button, /** * gtk_spin_button_update: - * @spin_button: a #GtkSpinButton - * + * @spin_button: a #GtkSpinButton + * * Manually force an update of the spin button. - **/ -void + */ +void gtk_spin_button_update (GtkSpinButton *spin_button) { GtkSpinButtonPrivate *priv; @@ -2475,14 +2597,14 @@ gtk_spin_button_update (GtkSpinButton *spin_button) if (priv->update_policy == GTK_UPDATE_ALWAYS) { if (val < priv->adjustment->lower) - val = priv->adjustment->lower; + val = priv->adjustment->lower; else if (val > priv->adjustment->upper) - val = priv->adjustment->upper; + val = priv->adjustment->upper; } - else if ((priv->update_policy == GTK_UPDATE_IF_VALID) && - (error || - val < priv->adjustment->lower || - val > priv->adjustment->upper)) + else if ((priv->update_policy == GTK_UPDATE_IF_VALID) && + (error || + val < priv->adjustment->lower || + val > priv->adjustment->upper)) { gtk_spin_button_value_changed (priv->adjustment, spin_button); return; diff --git a/gtk/gtkspinbutton.h b/gtk/gtkspinbutton.h index f061f29028..40a861503d 100644 --- a/gtk/gtkspinbutton.h +++ b/gtk/gtkspinbutton.h @@ -48,14 +48,45 @@ G_BEGIN_DECLS #define GTK_IS_SPIN_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_SPIN_BUTTON)) #define GTK_SPIN_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_SPIN_BUTTON, GtkSpinButtonClass)) +/** + * GTK_INPUT_ERROR: + * + * Constant to return from a signal handler for the #GtkSpinButton::input + * signal in case of conversion failure. + */ #define GTK_INPUT_ERROR -1 +/** + * GtkSpinButtonUpdatePolicy: + * @GTK_UPDATE_ALWAYS: When refreshing your #GtkSpinButton, the value is + * always displayed + * @GTK_UPDATE_IF_VALID: When refreshing your #GtkSpinButton, the value is + * only displayed if it is valid within the bounds of the spin button's + * adjustment + * + * The spin button update policy determines whether the spin button displays + * values even if they are outside the bounds of its adjustment. + * See gtk_spin_button_set_update_policy(). + */ typedef enum { GTK_UPDATE_ALWAYS, GTK_UPDATE_IF_VALID } GtkSpinButtonUpdatePolicy; +/** + * GtkSpinType: + * @GTK_SPIN_STEP_FORWARD: Increment by the adjustments step increment. + * @GTK_SPIN_STEP_BACKWARD: Decrement by the adjustments step increment. + * @GTK_SPIN_PAGE_FORWARD: Increment by the adjustments page increment. + * @GTK_SPIN_PAGE_BACKWARD: Decrement by the adjustments page increment. + * @GTK_SPIN_HOME: Go to the adjustments lower bound. + * @GTK_SPIN_END: Go to the adjustments upper bound. + * @GTK_SPIN_USER_DEFINED: Change by a specified amount. + * + * The values of the GtkSpinType enumeration are used to specify the + * change to make in gtk_spin_button_spin(). + */ typedef enum { GTK_SPIN_STEP_FORWARD, @@ -72,7 +103,12 @@ typedef struct _GtkSpinButton GtkSpinButton; typedef struct _GtkSpinButtonPrivate GtkSpinButtonPrivate; typedef struct _GtkSpinButtonClass GtkSpinButtonClass; - +/** + * GtkSpinButton: + * + * The #GtkSpinButton struct contains only private data and should + * not be directly modified. + */ struct _GtkSpinButton { GtkEntry entry; From 98a30bbf3efbec5d1ec53876c0cad6e27de51931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Tue, 28 Dec 2010 10:19:52 +0700 Subject: [PATCH 0980/1463] gdkcursor-x11.c: fix building without HAVE_XCURSOR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nguyễn Thái Ngọc Duy --- gdk/x11/gdkcursor-x11.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gdk/x11/gdkcursor-x11.c b/gdk/x11/gdkcursor-x11.c index 1a900885b7..ae3dbe9dad 100644 --- a/gdk/x11/gdkcursor-x11.c +++ b/gdk/x11/gdkcursor-x11.c @@ -824,10 +824,13 @@ _gdk_x11_display_supports_cursor_color (GdkDisplay *display) } void -_gdk_x11_display_get_default_cursor_size (GdkDisplay *display) +_gdk_x11_display_get_default_cursor_size (GdkDisplay *display, + guint *width, + guint *height) { /* no idea, really */ - return 20; + *width = *height = 20; + return; } #endif From cf752786f3e72fb9ab97e144eb4171b17b7b4126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nguy=E1=BB=85n=20Th=C3=A1i=20Ng=E1=BB=8Dc=20Duy?= Date: Tue, 28 Dec 2010 10:20:11 +0700 Subject: [PATCH 0981/1463] gdkdnd-x11.c: fix building without HAVE_XCOMPOSITE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nguyễn Thái Ngọc Duy --- gdk/x11/gdkdnd-x11.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 313bb4fc8a..0cb66c518a 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -41,7 +41,9 @@ #include #include #include +#ifdef HAVE_XCOMPOSITE #include +#endif #include @@ -498,7 +500,9 @@ gdk_window_cache_new (GdkScreen *screen) GdkWindow *root_window = gdk_screen_get_root_window (screen); GdkChildInfoX11 *children; guint nchildren, i; +#ifdef HAVE_XCOMPOSITE Window cow; +#endif GdkWindowCache *result = g_new (GdkWindowCache, 1); From 83f5e4868c7322ddcbb831dd72744da887e8d17f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 2 Jan 2011 23:57:03 -0500 Subject: [PATCH 0982/1463] Drop no-longer-used migration docs --- .../gtk/migrating-ClientSideWindows.sgml | 64 --- .../gtk/migrating-GtkAboutDialog.sgml | 98 ---- docs/reference/gtk/migrating-GtkAction.sgml | 445 ------------------ .../reference/gtk/migrating-GtkAssistant.sgml | 178 ------- docs/reference/gtk/migrating-GtkBuilder.sgml | 102 ---- .../gtk/migrating-GtkColorButton.sgml | 54 --- docs/reference/gtk/migrating-GtkComboBox.sgml | 213 --------- .../gtk/migrating-GtkEntry-icons.sgml | 141 ------ .../gtk/migrating-GtkFileChooser.sgml | 163 ------- docs/reference/gtk/migrating-GtkIconView.sgml | 153 ------ .../gtk/migrating-GtkLabel-links.sgml | 24 - .../gtk/migrating-GtkLinkButton.sgml | 81 ---- .../gtk/migrating-GtkRecentChooser.sgml | 323 ------------- docs/reference/gtk/migrating-GtkTooltip.sgml | 66 --- 14 files changed, 2105 deletions(-) delete mode 100644 docs/reference/gtk/migrating-ClientSideWindows.sgml delete mode 100644 docs/reference/gtk/migrating-GtkAboutDialog.sgml delete mode 100644 docs/reference/gtk/migrating-GtkAction.sgml delete mode 100644 docs/reference/gtk/migrating-GtkAssistant.sgml delete mode 100644 docs/reference/gtk/migrating-GtkBuilder.sgml delete mode 100644 docs/reference/gtk/migrating-GtkColorButton.sgml delete mode 100644 docs/reference/gtk/migrating-GtkComboBox.sgml delete mode 100644 docs/reference/gtk/migrating-GtkEntry-icons.sgml delete mode 100644 docs/reference/gtk/migrating-GtkFileChooser.sgml delete mode 100644 docs/reference/gtk/migrating-GtkIconView.sgml delete mode 100644 docs/reference/gtk/migrating-GtkLabel-links.sgml delete mode 100644 docs/reference/gtk/migrating-GtkLinkButton.sgml delete mode 100644 docs/reference/gtk/migrating-GtkRecentChooser.sgml delete mode 100644 docs/reference/gtk/migrating-GtkTooltip.sgml diff --git a/docs/reference/gtk/migrating-ClientSideWindows.sgml b/docs/reference/gtk/migrating-ClientSideWindows.sgml deleted file mode 100644 index 017249c3e9..0000000000 --- a/docs/reference/gtk/migrating-ClientSideWindows.sgml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - Migrating to client-side windows - - - In version 2.18, GDK has been changed to use client-side windows. This - means that there is no longer a 1-1 correspondence between #GdkWindows - and windows in the underlying window system. In particular, it is no - longer correct to assume that each window has an associated XID. - Code that makes this assumption can sometimes be fixed by calling - gdk_window_ensure_native() on the windows in question. - Calling gdk_x11_window_get_xid() (or GDK_WINDOW_XID()) from the - X11-specific API on a non-native window will explicitly call - gdk_window_ensure_native(), so old code using this will continue to - work. A small gotcha is that the GDK_WINDOW_XID() call is no longer a - trivial accessor for the XID of the window, and thus must not be called - from another thread without taking locking precautions. - - - - GDK looks for the GDK_NATIVE_WINDOWS environment variable - and makes all windows native if it is set. It also tries to be more - compatible with the way prior versions worked in some other ways. - - - - Some applications assume that they can just operate on the X windows - corresponding to their GDK windows without ever telling GDK. One - example that we've seen is changing the child window stacking order - using XRestackWindows(). Fixing this properly requires to fix the code - to use GDK functions to achieve whatever it is trying to achieve. - To make this easier in the case of stacking order changes, we've added - a gdk_window_restack() function. - - - - One change that can cause problems for some applications is that GDK - is more aggressive about optimizing away expose events. Code that does - more than just repainting exposed areas in response to expose events - may be affected by this. - - - - Problems can also occur when using cairo for drawing. One thing that can - go wrong is clip handling. You may not use cairo_reset_clip() on a - cairo_t on a cairo context created via gdk_cairo_create() or passed to - the GtkWidget::draw signal. - - - - Due to a weird API in XClearArea the gdk_window_clear_area() call handled - a specified width or height of zero to mean "to end of window" for - non-double-buffered drawing. This has been changed to be consistent with - the docs and what happens in the double-buffered case. All code in GTK+ - that relied on this has been fixed, but it is possible (although unlikely) - that third party applications rely on this. If you need to do this, just - implement it yourself using gdk_drawable_get_size(). - - - diff --git a/docs/reference/gtk/migrating-GtkAboutDialog.sgml b/docs/reference/gtk/migrating-GtkAboutDialog.sgml deleted file mode 100644 index 07c7ca1453..0000000000 --- a/docs/reference/gtk/migrating-GtkAboutDialog.sgml +++ /dev/null @@ -1,98 +0,0 @@ - - - - - Migrating from GnomeAbout to GtkAboutDialog - - - Since version 2.6, GTK+ provides the #GtkAboutDialog widget as a - replacement for the GnomeAbout dialog in - the libgnomeui library. - - - - #GtkAboutDialog supports all features found in GnomeAbout. - The GtkAboutDialog API is bigger, since it follows - the GTK+ policy to have getters and setters for all widget properties, - but it isn't much more complex than GnomeAbout. - - - - To convert an application that uses GnomeAbout to - GtkAboutDialog, as a first step, replace calls - like - - const gchar *documentors[] = { - "Documenter 1", - "Documenter 2", - NULL - }; - - const gchar *documentors[] = { - "Author 1", - "Author 2", - NULL - }; - - GtkWidget *about = gnome_about_new ("GNOME Test Program", VERSION, - "(C) 1998-2001 The Free Software Foundation", - "Program to display GNOME functions.", - authors, - documenters, - _("translator-credits"), - "logo.png"); - - by something like - - GdkPixbuf *logo = gdk_pixbuf_new_from_file ("logo.png", NULL); - GtkWidget *about = g_object_new (GTK_TYPE_ABOUT_DIALOG, - "name", "GNOME Test Program", - "version", VERSION, - "copyright", "(C) 1998-2001 The Free Software Foundation", - "comments", "Program to display GNOME functions.", - "authors", authors, - "documenters", documenters, - "translator-credits", _("translator-credits"), - "logo", logo, - NULL); - g_object_unref (pixbuf); - - If the g_object_new() construction scares you, you can also use - gtk_about_dialog_new() to construct the dialog and then use the - setters for the individual properties. - - - - Once you are done with the initial conversion, you may want to look into - using some of the features of GtkAboutDialog - which are not present in GnomeAbout. - - - You can specify license information with the - #GtkAboutDialog:license property - - - You can add separate credits for artists with the - #GtkAboutDialog:artists property - - - You can add a pointer to the website of your application, using the - #GtkAboutDialog:website and #GtkAboutDialog:website-label properties. - - - If your credits contain email addresses or URLs, you can turn them - into clickable links using gtk_about_dialog_set_email_hook() and - gtk_about_dialog_set_url_hook(). - - - - - - diff --git a/docs/reference/gtk/migrating-GtkAction.sgml b/docs/reference/gtk/migrating-GtkAction.sgml deleted file mode 100644 index 46a574805c..0000000000 --- a/docs/reference/gtk/migrating-GtkAction.sgml +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - Federico - Mena-Quintero - -
- federico@ximian.com -
-
-
-
- - Migrating from old menu and toolbar systems to GtkAction - - - Prior to GTK+ 2.4, there were several APIs in use to create menus - and toolbars. GTK+ itself included #GtkItemFactory, which was - historically used in the GIMP; libgnomeui provided the gnome-ui - set of macros; libbonoboui provided a complex mechanism to do menu - merging across embedded components. GTK+ 2.4 includes a system - for creating menus and toolbars, with merging of items, based - around the #GtkAction mechanism. - - -
- Actions and Action Groups - - - A #GtkAction represents an operation that the user can perform from - the menus and toolbars of an application. It is similar to "verbs" - in other menu systems. A #GtkAction has a name, which is its identifier, - and it can have several widgets that represent it in the user interface. - For example, an action for EditCopy can have a menu item - as well as a toolbar button associated to it. If there is nothing selected - in the document, the application can simply de-sensitize the - EditCopy action; this will cause both the menu - item and the toolbar button to be de-sensitized automatically. - Similarly, whenever the user selects the menu item or the - toolbar button associated to the EditCopy - action, the corresponding #GtkAction object will emit an - "activate" signal. - - - - #GtkActionGroup is simply a group of #GtkAction objects. An - application may want to have several groups: one for global - actions such as "new document", "about", and "exit"; then one - group for each open document with actions specific to the - document, such as "cut", "copy", "paste", and "print". - - - - Normal actions are simply commands, such as - FileSave or EditCopy. - Toggle actions can be active or inactive, such as - FormatBold or ViewShowRulers. - Radio actions define a set of items for which one and only one - can be active at a time, for example, { - ViewHighQuality, - ViewNormalQuality, - ViewLowQuality }. - -
- -
- User Interface Manager Object - - - #GtkUIManager is an object that can construct menu and toolbar widgets - from an XML description. These widgets are in turn associated to - corresponding actions and action groups. - - - - #GtkUIManager supports merging of menus and toolbars for applications - that have multiple components, each with separate sets of commands. - For example, a word processor that can embed images may want to have - toolbar buttons for Bold and Italic when the cursor is on a text - block, but Crop and Brightness/Contrast buttons when the cursor - is on an image. These actions, which change depending on the - state of the application, can be merged and de-merged from a - #GtkUIManager as appropriate. - -
- -
- Migrating from GnomeUIInfo - - - Prior to GTK+ 2.4, some applications used the GnomeUIInfo - mechanism from - <libgnomeui/gnome-app-helper.h> to - define their menus and toolbars. With it, a program decleres an - array of GnomeUIInfo structures, which - contain information for menu or toolbar items such as their - label, icon, and accelerator key. Then, one calls - gnome_app_fill_menu() or gnome_app_fill_toolbar(), or one of the - related functions, to create the appropriate widgets based on - these structures. - - - - A downside of this API is that the same structures are used to - pass back pointers to the widgets that got created. This means - that the structures cannot simply be kept around if the program - requires multiple instances of the user interface (e.g. several - windows); each new invocation of gnome_app_fill_menu() would - overwrite the widget fields of the structures. - - - - Another disadvantage is that there is no automatic way to - synchronize the state of related controls. If there are toolbar - toogle buttons for "Bold", "Italic", "Underline", and also - corresponding menu items under "Format/Bold", etc., one has to - synchronize their toggled states by hand whenever the user - selects any one of them. - - - - Finally, there is no way to do menu and toolbar merging for - applications that require embedded components. - - - - To convert an application that uses GnomeUIInfo into the new - GtkAction mechanism, you need to do several things: - - - - - - Separate your existing GnomeUIInfo entries into normal - actions, toggle actions, and radio actions, and then create - a separate array of #GtkActionEntry structures - for each group. This will allow you to create the necessary - #GtkActionGroup objects. Note that this does not describe - the actual "shape" that your menus and toolbars will have; - it simply defines the set of commands that will appear in them. - - - - - Create an XML description of your menus and toolbars for use - with #GtkUIManager. This defines the actual shape of the menus - and toolbars. - - - - - Port the code that uses gnome-app and gnome-app-helper to - #GtkAction and #GtkUIManager. - - - - - If your GnomeUIInfo entries use GNOME_APP_PIXMAP_DATA or - GNOME_APP_PIXMAP_FILENAME for pixmaps, you have to create a - #GtkIconFactory, add it to the list of default factories, then - create a #GtkIconSet for each of your own icons. Add the sets to - the factory, and use the id in the #GtkActionEntry like a regular - GTK+ stock id. - - - - - - GnomeUIInfo Example - - - The following code shows a declaration of a simple menu bar to - be used with gnome_app_fill_menu() or similar. The menu hierarchy i - looks like this: - - - - - File - - Open - - Exit - - - - - View - - Zoom In - Zoom Out - - [ ] Full Screen - - ( ) High Quality - ( ) Normal Quality - ( ) Low Quality - - - - - -static GnomeUIInfo file_menu_items[] = { - { GNOME_APP_UI_ITEM, "_Open", "Open a file", - open_callback, NULL, NULL, GNOME_APP_PIXMAP_STOCK, GTK_STOCK_OPEN, - 'o', GDK_CONTROL_MASK, NULL }, - { GNOME_APP_UI_SEPARATOR }, - { GNOME_APP_UI_ITEM, "E_xit", "Exit the program", - exit_callback, NULL, NULL, GNOME_APP_PIXMAP_STOCK, GTK_STOCK_QUIT, - 'q', GDK_CONTROL_MASK, NULL}, - { GNOME_APP_UI_ENDOFINFO } -}; - -static GnomeUIInfo view_radio_items[] = { - { GNOME_APP_UI_ITEM, "_High Quality", "Display images in high quality, slow mode", - high_quality_callback, NULL, NULL, GNOME_APP_PIXMAP_FILENAME, "high-quality.png", - 0, 0, NULL }, - { GNOME_APP_UI_ITEM, "_Normal Quality", "Display images in normal quality", - normal_quality_callback, NULL, NULL, GNOME_APP_PIXMAP_FILENAME, "normal-quality.png", - 0, 0, NULL }, - { GNOME_APP_UI_ITEM, "_Low Quality", "Display images in low quality, fast mode", - low_quality_callback, NULL, NULL, GNOME_APP_PIXMAP_FILENAME, "low-quality.png", - 0, 0, NULL }, - { GNOME_APP_UI_ENDOFINFO } -}; - -static GnomeUIInfo view_menu_items[] = { - { GNOME_APP_UI_ITEM, "Zoom _In", "Zoom into the image", - zoom_in_callback, NULL, NULL, GNOME_APP_PIXMAP_STOCK, GTK_STOCK_ZOOM_IN, - GDK_PLUS, 0, NULL }, - { GNOME_APP_UI_ITEM, "Zoom _Out", "Zoom away from the image", - zoom_out_callback, NULL, NULL, GNOME_APP_PIXMAP_STOCK, GTK_STOCK_ZOOM_OUT, - GDK_MINUS, 0, NULL }, - { GNOME_APP_UI_SEPARATOR }, - { GNOME_APP_UI_TOGGLEITEM, "_Full Screen", "Switch between full screen and windowed mode", - full_screen_callback, NULL, NULL, GNOME_APP_PIXMAP_NONE, NULL, - GDK_F11, 0, NULL }, - { GNOME_APP_UI_SEPARATOR }, - { GNOME_APP_UI_RADIOITEMS, NULL, NULL, view_radio_items }, - { GNOME_APP_UI_ENDOFINFO } -}; - -static GnomeUIInfo menubar[] = { - { GNOME_APP_UI_SUBTREE, "_File", NULL, file_menu_items }, - { GNOME_APP_UI_SUBTREE, "_View", NULL, view_menu_items }, - { GNOME_APP_UI_ENDOFINFO } -} - - - - - <structname>GtkActionEntry</structname> Structures - - - The following code is the set of actions that are present in - the previous - example. Note that the toggle and radio entries are - separate from normal actions. Also, note that #GtkActionEntry - structures take key names in the format of gtk_accelerator_parse() - rather than key values plus modifiers; you will have to convert these - values by hand. For example, %GDK_F11 with no modifiers is equivalent - to a key name of "F11". Likewise, "o" - with %GDK_CONTROL_MASK is equivalent to "<ontrol>O". - - - -/* Normal items */ -static const GtkActionEntry entries[] = { - { "FileMenu", NULL, "_File" }, - { "ViewMenu", NULL, "_View" }, - { "Open", GTK_STOCK_OPEN, "_Open", "<control>O", "Open a file", open_action_callback }, - { "Exit", GTK_STOCK_QUIT, "E_xit", "<control>Q", "Exit the program", exit_action_callback }, - { "ZoomIn", GTK_STOCK_ZOOM_IN, "Zoom _In", "plus", "Zoom into the image", zoom_in_action_callback }, - { "ZoomOut", GTK_STOCK_ZOOM_OUT, "Zoom _Out", "minus", "Zoom away from the image", zoom_out_action_callback }, -}; - -/* Toggle items */ -static const GtkToggleActionEntry toggle_entries[] = { - { "FullScreen", NULL, "_Full Screen", "F11", "Switch between full screen and windowed mode", full_screen_action_callback, FALSE } -}; - -/* Radio items */ -static const GtkRadioActionEntry radio_entries[] = { - { "HighQuality", "my-stock-high-quality", "_High Quality", NULL, "Display images in high quality, slow mode", 0 }, - { "NormalQuality", "my-stock-normal-quality", "_Normal Quality", NULL, "Display images in normal quality", 1 }, - { "LowQuality", "my-stock-low-quality", "_Low Quality", NULL, "Display images in low quality, fast mode", 2 } -}; - - - - - XML Description - - - After extracting the actions, you will need to create an XML - description of the actual layout of your menus and toolbars - for use with #GtkUIManager. The following code shows a simple - menu bar that corresponds to the previous - example. Note that the File and - View menus have their names specified in - the action - entries, not in the XML itself. This is because the - XML description only contains identifiers - for the items in the GUI, rather than human-readable names. - - - -static const char *ui_description = -"<ui>" -" <menubar name='MainMenu'>" -" <menu action='FileMenu'>" -" <menuitem action='Open'/>" -" <menuitem action='Exit'/>" -" </menu>" -" <menu action='ViewMenu'>" -" <menuitem action='ZoomIn'/>" -" <menuitem action='ZoomOut'/>" -" <separator/>" -" <menuitem action='FullScreen'/>" -" <separator/>" -" <menuitem action='HighQuality'/>" -" <menuitem action='NormalQuality'/>" -" <menuitem action='LowQuality'/>" -" </menu>" -" </menubar>" -"</ui>"; - - - - - Creating the Menu Bar - - - In this last example, we will create a #GtkActionGroup based on the - action entries - we created above. We will then create a #GtkUIManager with the XML description of the menu - layout. We will also extract the accelerator group and the - widgets from the #GtkUIManager put them into a window. - - - -GtkWidget *window; -GtkWidget *vbox; -GtkWidget *menubar; -GtkActionGroup *action_group; -GtkUIManager *ui_manager; -GtkAccelGroup *accel_group; -GError *error; - -register_my_stock_icons (); - -window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - -vbox = gtk_vbox_new (FALSE, 0); -gtk_container_add (GTK_CONTAINER (window), vbox); - -action_group = gtk_action_group_new ("MenuActions"); -gtk_action_group_add_actions (action_group, entries, G_N_ELEMENTS (entries), window); -gtk_action_group_add_toggle_actions (action_group, toggle_entries, G_N_ELEMENTS (toggle_entries), window); -gtk_action_group_add_radio_actions (action_group, radio_entries, G_N_ELEMENTS (radio_entries), 0, radio_action_callback, window); - -ui_manager = gtk_ui_manager_new (); -gtk_ui_manager_insert_action_group (ui_manager, action_group, 0); - -accel_group = gtk_ui_manager_get_accel_group (ui_manager); -gtk_window_add_accel_group (GTK_WINDOW (window), accel_group); - -error = NULL; -if (!gtk_ui_manager_add_ui_from_string (ui_manager, ui_description, -1, &error)) - { - g_message ("building menus failed: %s", error->message); - g_error_free (error); - exit (EXIT_FAILURE); - } - -menubar = gtk_ui_manager_get_widget (ui_manager, "/MainMenu"); -gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); - -gtk_widget_show_all (window); - - - - - Registering the icons - - - Here we show how the register_my_stock_icons() function - used in the previous example could look like. - - - -static struct { - gchar *filename; - gchar *stock_id; -} stock_icons[] = { - { "high-quality.png", "my-stock-high-quality" }, - { "normal-quality.png", "my-stock-normal-quality" }, - { "low-quality.png", "my-stock-low-quality" }, -}; - -static gint n_stock_icons = G_N_ELEMENTS (stock_icons); - -static void -register_my_stock_icons (void) -{ - GtkIconFactory *icon_factory; - GtkIconSet *icon_set; - GtkIconSource *icon_source; - gint i; - - icon_factory = gtk_icon_factory_new (); - - for (i = 0; i < n_stock_icons; i++) - { - icon_set = gtk_icon_set_new (); - icon_source = gtk_icon_source_new (); - gtk_icon_source_set_filename (icon_source, stock_icons[i].filename); - gtk_icon_set_add_source (icon_set, icon_source); - gtk_icon_source_free (icon_source); - gtk_icon_factory_add (icon_factory, stock_icons[i].stock_id, icon_set); - gtk_icon_set_unref (icon_set); - } - - gtk_icon_factory_add_default (icon_factory); - - g_object_unref (icon_factory); -} - - - -
- -
- - diff --git a/docs/reference/gtk/migrating-GtkAssistant.sgml b/docs/reference/gtk/migrating-GtkAssistant.sgml deleted file mode 100644 index ef4fbfabcc..0000000000 --- a/docs/reference/gtk/migrating-GtkAssistant.sgml +++ /dev/null @@ -1,178 +0,0 @@ - - - - - - Carlos - Garnacho - -
- carlosg@gnome.org -
-
-
-
- - Migrating from GnomeDruid to GtkAssistant - - - Since version 2.10, GTK+ provides the GtkAssistant widget as a replacement - for the GnomeDruid widget in the libgnomeui - library. - - - - Conceptually, both GtkAssistant and - GnomeDruid do the same task, but there are - several areas where the API has been completely redesigned, so this - chapter covers the main changes between both widgets. - - -
- Inserting pages - - - GnomeDruid was implemented as a container for - GnomeDruidPage abstract objects, which are - implemented by the GnomeDruidPageEdge and - GnomeDruidPageStandard widgets. Instead, - GtkAssistant allows any widget to be a page, - and implements per-page settings (such as page type or title) as - child properties. So instead of: - - - -/* Page 1 */ -page = gnome_druid_page_edge_new (GNOME_EDGE_START); -gnome_druid_page_edge_set_test (GNOME_DRUID_PAGE_EDGE (page), - "Welcome to the assistant, it will make your life easier"); -gtk_widget_show (page); -gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (page)); - -/* Page 2 */ -page = gnome_druid_page_standard_new (); -gtk_container_add (GTK_CONTAINER (GNOME_DRUID_PAGE_STANDARD (page)->vbox, - create_page1 ()); -gtk_widget_show_all (page); -gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (page)); - -/* Page 3 */ -page = gnome_druid_page_edge_new (GNOME_EDGE_FINISH); -gnome_druid_page_edge_set_test (GNOME_DRUID_PAGE_EDGE (page), - "Now you are done, your life is easier"); -gtk_widget_show (page); -gnome_druid_append_page (GNOME_DRUID (druid), GNOME_DRUID_PAGE (page)); - - - - You have to write: - - - -gtk_assistant_append_page (GTK_ASSISTANT (assistant), - gtk_label_new ("Welcome to the assistant, it will make your life easier")); -gtk_assistant_append_page (GTK_ASSISTANT (assistant), - create_page1 ()); -gtk_assistant_append_page (GTK_ASSISTANT (assistant), - gtk_label_new ("Now you are done, your life is easier"); - -
- -
- Decorating the assistant pages - - - To decorate your assistant pages, GtkAssistant provides similar functions - to GnomeDruid, so you have to transform code like this: - - - -gnome_druid_page_edge_set_title (GNOME_DRUID_PAGE_EDGE (page), "Welcome"); -gnome_druid_page_edge_set_logo (GNOME_DRUID_PAGE_EDGE (page), logo_pixbuf); -gnome_druid_page_edge_set_watermark (GNOME_DRUID_PAGE_EDGE (page), watermark_pixbuf); - - - - Into this: - - - -gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), page_widget, "Welcome"); -gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), page_widget, logo_pixbuf); -gtk_assistant_set_page_side_image (GTK_ASSISTANT (assistant), page_widget, watermark_pixbuf); - - - - Where page_widget is the widget used as a page. - -
- -
- Setting the page flow - - - Here is the area where GtkAssistant and GnomeDruid - differ the most. While GnomeDruid used the "next" and "back" signals from the - GnomeDruidPage, GtkAssistant uses the following - techniques: - - - - - gtk_assistant_set_forward_page_func (): Allows to define a GtkAssistantPageFunc to let the - assistant know which will be the following page given the current page. - - - gtk_assistant_set_page_complete (): Lets the assistant know whether the specified page is complete - or not, updating buttons state accordingly. - - - gtk_assistant_set_page_type (): Lets the assistant know the page role and update the buttons - state accordingly. Pages can have the following roles: - - Intro - Content - Progress - Confirmation - Summary - - - - - - A sample GtkAssistantPageFunc could look like this: - - - -static gint -forward_page_function (gint current_page, - gpointer data) -{ - switch (current_page) - { - case 0: - return 1; - case 1: - if (check_page1_data ()) - return 2; - else - return 3; - case 2: - return 3; - default: - return -1; - } -} - - -
-
- - diff --git a/docs/reference/gtk/migrating-GtkBuilder.sgml b/docs/reference/gtk/migrating-GtkBuilder.sgml deleted file mode 100644 index 1fd843c8a6..0000000000 --- a/docs/reference/gtk/migrating-GtkBuilder.sgml +++ /dev/null @@ -1,102 +0,0 @@ - - - - - Migrating from libglade to GtkBuilder - - - Since version 2.12, GTK+ provides #GtkBuilder to construct - user interfaces from XML descriptions, similar to the functionality - provided by #GladeXML in the libglade library. - - - - A good way to start a migration from libglade to GtkBuilder is using - glade3 to convert your .glade file. - If your code uses the @root parameter of glade_xml_new(), - you can use gtk_builder_add_objects_from_file() to construct only certain - objects from a GtkBuilder file. - - - - Alternatively, GTK+ also offers the - gtk-builder-convert script you can use - to do the conversion; in which case you should be careful to inspect the output - and make sure you didn't lose any data. - - - - Step-by-step instructions for porting code from libglade to GtkBuilder - - - libgladeGtkBuilder - - - - ]]> - not needed - - - GladeXML* - GtkBuilder* - - - glade_xml_new (FILE, "first_widget", NULL) - - -GError* error = NULL; -GtkBuilder* builder = gtk_builder_new (); -if (!gtk_builder_add_from_file (builder, FILE, &error)) - { - g_warning ("Couldn't load builder file: %s", error->message); - g_error_free (error); - } - - - - - glade_xml_get_widget (gxml, “widget_name”) - GTK_WIDGET (gtk_builder_get_object (builder, “widget_name”)) - - - glade_get_widget_name (widget) - gtk_widget_get_name (widget) - - - glade_xml_get_widget_prefix (gxml, “prefix”) - can be emulated by gtk_builder_get_objects (builder) together with manual filtering. It returns a GSList* instead of a GList* though. - - - -
- - - While GtkBuilder strives to be a complete replacement for - libglade, there are a number of areas where it is currently - still behind libglade: - - - - GtkBuilder supports context information in translatable - properties in a slightly different way than libglade. - Intltool does not yet support this; see - bug - 454894 for the current status of intltool support for - GtkBuilder files. Thankfully, context in translations is a - rarely used feature, and if you are not using it, intltools - glade format support works just fine for GtkBuilder files. - - - - While libglade can often tolerate multiple widgets having the - same id in a glade file, GtkBuilder will not accept duplicate - object ids. Both gtk-builder-convert - and the GtkBuilder parser emit warnings when they see - duplicate ids. - - - - -
diff --git a/docs/reference/gtk/migrating-GtkColorButton.sgml b/docs/reference/gtk/migrating-GtkColorButton.sgml deleted file mode 100644 index be0e8b1d0c..0000000000 --- a/docs/reference/gtk/migrating-GtkColorButton.sgml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - Migrating from GnomeColorPicker to GtkColorButton - - - Since version 2.6, GTK+ provides the #GtkColorButton - widget as a replacement for the GnomeColorPicker - widget in the libgnomeui library. - - - - Porting an application from GnomeColorPicker to - GtkColorButton is very simple. - GtkColorButton doesn't support dithering - (since it is rarely needed on modern hardware), and it doesn't have - setters and getters to set the color from floating point or integer - components. So instead of - - guint red, green, blue, alpha; - /* ... */ - gnome_color_picker_set_i8 (color_picker, red, green, blue, alpha); - - you have to write - - GdkColor color; - - color.red = red << 8; - color.green = green << 8; - color.blue = blue << 8; - gtk_color_button_set_color (color_picker, &color); - gtk_color_button_set_alpha (color_picker, alpha << 8); - - and similarly for the setters taking other number formats. For - gnome_color_picker_set_i16() no conversion is needed, - for gnome_color_picker_set_d(), you need to convert - the color components like this: - - color.red = (guint16) (red * 65535.0 + 0.5); - color.green = (guint16) (green * 65535.0 + 0.5); - color.blue = (guint16) (blue * 65535.0 + 0.5); - - - - - diff --git a/docs/reference/gtk/migrating-GtkComboBox.sgml b/docs/reference/gtk/migrating-GtkComboBox.sgml deleted file mode 100644 index 4114bdc15a..0000000000 --- a/docs/reference/gtk/migrating-GtkComboBox.sgml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and - GtkComboBoxEntry - - - Prior to 2.4, GTK+ offered two widgets for the task of selecting one - item from a list of options. #GtkOptionMenu presents the list of - options as a menu while #GtkCombo presents them in a Windows-style list - popup. The only difference between the two is that a #GtkCombo allows to - manually edit the selected value, while the #GtkOptionMenu does not. - - - In GTK+ 2.4, a unified API for list selection was introduced, with - #GtkComboBox for the non-editable case and #GtkComboBoxEntry for the - editable case. - The selection of the display style — menu or list — - is no longer done at the API level, but has been made themeable via - the style property #GtkComboBox:appears-as-list. - - -
- Migrating from GtkOptionMenu to GtkComboBox - - - Here is an example of a simple, but typical use of - #GtkOptionMenu: - -GtkWidget *option_menu, *menu, *menu_item; - -option_menu = gtk_option_menu_new (); -menu = gtk_menu_new (); - -menu_item = gtk_menu_item_new_with_label ("First Item"); -gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); -gtk_widget_show (menu_item); -menu_item = gtk_menu_item_new_with_label ("Second Item"); -gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); -gtk_widget_show (menu_item); -menu_item = gtk_menu_item_new_with_label ("Third Item"); -gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); -gtk_widget_show (menu_item); - -gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu); - - In order to react to the user's selection, connect to the #GtkOptionMenu::changed - signal on the option menu and use gtk_option_menu_get_history() - to retrieve the index of the selected item. - - - And here is how it would be done with a #GtkComboBox: - -GtkWidget *combo_box; - -combo_box = gtk_combo_box_new_text (); - -gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "First Item"); -gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Second Item"); -gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item"); - - In order to react to the user's selection, connect to the - #GtkComboBox::changed signal and use gtk_combo_box_get_active() - to retrieve the index of the selected item. - - - - A slightly more complex example involving images: - -GtkWidget *option_menu, *menu, *menu_item; - -option_menu = gtk_option_menu_new (); -menu = gtk_menu_new (); - -menu_item = gtk_image_menu_item_new_with_label ("First Item"); -gtk_image_menu_item_set_image (gtk_image_new_from_pixbuf (pixbuf1)); -gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); -gtk_widget_show (menu_item); -menu_item = gtk_image_menu_item_new_with_label ("Second Item"); -gtk_image_menu_item_set_image (gtk_image_new_from_pixbuf (pixbuf2)); -gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); -gtk_widget_show (menu_item); -menu_item = gtk_image_menu_item_new_with_label ("Third Item"); -gtk_image_menu_item_set_image (gtk_image_new_from_pixbuf (pixbuf3)); -gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); -gtk_widget_show (menu_item); - -gtk_option_menu_set_menu (GTK_OPTION_MENU (option_menu), menu); - - - - can be done using a #GtkComboBox as follows: - -GtkListStore *store; -GtkTreeIter iter; -GtkCellRenderer *renderer; -GtkWidget *combo_box; - -store = gtk_list_store_new (2, GDK_TYPE_PIXBUF, G_TYPE_STRING); - -gtk_list_store_append (store, &iter); -gtk_list_store_set (store, &iter, 0, pixbuf1, 1, "First Item", -1); -gtk_list_store_append (store, &iter); -gtk_list_store_set (store, &iter, 0, pixbuf2, 1, "Second Item", -1); -gtk_list_store_append (store, &iter); -gtk_list_store_set (store, &iter, 0, pixbuf3, 1, "Third Item", -1); - -combo_box = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store)); - -renderer = gtk_cell_renderer_pixbuf_new (); -gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, FALSE); -gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, - "pixbuf", 0, - NULL); - -renderer = gtk_cell_renderer_text_new (); -gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), renderer, TRUE); -gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combo_box), renderer, - "text", 1, - NULL); - - -
- -
- Migrating from GtkCombo to GtkComboBoxEntry - - - Here is an example of a simple, but typical use of a #GtkCombo: - -GtkWidget *combo; -GList *items = NULL; - -items = g_list_append (items, "First Item"); -items = g_list_append (items, "Second Item"); -items = g_list_append (items, "Third Item"); - -combo = gtk_combo_new (); -gtk_combo_set_popdown_strings (GTK_COMBO (combo), items); - - In order to react to the user's selection, connect to the #GtkCombo::changed - signal on the combo and use - gtk_entry_get_text (GTK_ENTRY (combo->entry)) - to retrieve the selected text. - - - And here is how it would be done using #GtkComboBoxEntry: - -combo_box = gtk_combo_box_entry_new_text (); - -gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "First Item"); -gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Second Item"); -gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "Third Item"); - - In order to react to the user's selection, connect to the #GtkComboBox::changed - signal on the combo and use - gtk_entry_get_text (GTK_ENTRY (GTK_BIN (combo_box)->child)) - to retrieve the selected text. - -
- -
- New features - - - The new widgets have more to offer than a mere combination of the - features of #GtkOptionMenu and #GtkCombo. Notable new features - include: - - - Grid mode - Sometimes it is preferable to display the available - options not in a linear list, but in a grid. A typical example - would be a "color combo" where the individual items are small - square color swatches. The new widgets support gridded display - with the functions - gtk_combo_box_set_wrap_width(), - gtk_combo_box_set_row_span_column() and - gtk_combo_box_set_column_span_column(). - - - - Display of icons - An often-heard complaint about #GtkOptionMenu is that - the icons which appear in the image menu items in its menu are not - displayed in the button showing the selected item. This limitation - has been removed in #GtkComboBox; the selected item appears in the - same way as the options in the popup. - - - - Full tree model power - - Since the new widgets are built around the same models that are - used for #GtkTreeView, all of the powerful machinery of tree models - and cell renderers can be used. - - - - -
- -
- - diff --git a/docs/reference/gtk/migrating-GtkEntry-icons.sgml b/docs/reference/gtk/migrating-GtkEntry-icons.sgml deleted file mode 100644 index 93e21b5356..0000000000 --- a/docs/reference/gtk/migrating-GtkEntry-icons.sgml +++ /dev/null @@ -1,141 +0,0 @@ - - - - - Migrating from SexyIconEntry to GtkEntry - - - GTK+ 2.16 supports showing icons inside a #GtkEntry, similar to - SexyIconEntry. Porting from SexyIconEntry to GtkEntry is relatively - straightforward. The main difference between the two APIs is that - SexyIconEntry uses #GtkImage widgets in a somewhat awkward way as - storage vehicles for icons, while GtkEntry allows to specify icons - via pixbufs, stock ids, icon names or #GIcons. So, if your code uses - e.g.: - -image = gtk_image_new_from_stock (GTK_STOCK_NEW, GTK_ICON_SIZE_MENU); -sexy_icon_entry_set_icon (entry, SEXY_ICON_ENTRY_PRIMARY, image); - - you can get rid of the @image, and directly write: - -gtk_entry_set_icon_from_stock (entry, GTK_ENTRY_ICON_PRIMARY, GTK_STOCK_NEW); - - - - - The signals SexyIconEntry::icon-pressed and SexyIconEntry::icon-released - have been renamed to #GtkEntry::icon-press and #GtkEntry::icon-release - to avoid problems due to signal name clashes. Also, the signature of the - signals has changed from - -void (*icon_pressed) (SexyIconEntry *entry, - SexyIconEntryPosition icon_pos, - int button) - -to - -void (*icon_press) (GtkEntry *entry, - GtkEntryIconPosition icon_pos, - GdkEventButton *event) - - The new signature has the advantage that the signal handler can use - the timestamp of the event, e.g. for passing it to gtk_menu_popup(). - When adapting an existing signal handler to the new signature, you - should note that the button number is easily available as @event->button, - as shown in the following example: - -static void -icon_pressed_cb (SexyIconEntry *entry, - SexyIconEntryPosition position, - int button, - gpointer data) -{ - GtkMenu *menu = data; - - if (position == SEXY_ICON_ENTRY_PRIMARY) - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, - button, GDK_CURRENT_TIME); -} - - can be ported as: - -static void -icon_press_cb (GtkEntry *entry, - GtkEntryIconPosition position, - GdkEventButton *event, - gpointer data) -{ - GtkMenu *menu = data; - - if (position == GTK_ENTRY_ICON_PRIMARY) - gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, - event->button, event->time); -} - - - - - Another difference is that SexyIconEntry offers manual control of - the icon prelighting, via sexy_icon_entry_set_icon_highlight(). - #GtkEntry prelights automatically when appropriate, depending on - whether the icon is activatable and sensitive. You should make - sure that your icons are properly marked as activatable or nonactivatable - and sensitive or insensitive: - - - Sensitive, but non-activatable icons are - good for purely informational purposes. - - - Icons should be marked as insensitive if the - function that they trigger is currently not available. - - - - - - GtkEntry has no direct equivalent of the special-purpose function - sexy_icon_entry_add_clear_button(). If you need this functionality, - the following code works: - -static void -icon_pressed_cb (GtkEntry *entry, - gint position, - GdkEventButton *event, - gpointer data) -{ - if (position == GTK_ENTRY_ICON_SECONDARY) - gtk_entry_set_text (entry, ""); -} - -static void -text_changed_cb (GtkEntry *entry, - GParamSpec *pspec, - GtkWidget *button) -{ - gboolean has_text; - - has_text = gtk_entry_get_text_length (entry) > 0; - gtk_entry_set_icon_sensitive (entry, - GTK_ENTRY_ICON_SECONDARY, - has_text); -} - - - /* ... */ - - /* Set up the clear icon */ - gtk_entry_set_icon_from_stock (GTK_ENTRY (entry), - GTK_ENTRY_ICON_SECONDARY, - GTK_STOCK_CLEAR); - g_signal_connect (entry, "icon-press", - G_CALLBACK (icon_pressed_cb), NULL); - g_signal_connect (entry, "notify::text", - G_CALLBACK (text_changed_cb), find_button); - - /* ... */ - - - diff --git a/docs/reference/gtk/migrating-GtkFileChooser.sgml b/docs/reference/gtk/migrating-GtkFileChooser.sgml deleted file mode 100644 index 731086af81..0000000000 --- a/docs/reference/gtk/migrating-GtkFileChooser.sgml +++ /dev/null @@ -1,163 +0,0 @@ - - - - - - Federico - Mena-Quintero - -
- federico@ximian.com -
-
-
-
- - Migrating from GtkFileSelection to GtkFileChooser - - - #GtkFileChooser, starting with GTK+ 2.4, is the new set of APIs for file - selection widgets and dialogs. Previous versions of GTK+ used #GtkFileSelection, - which has numerous problems. - - - - #GtkFileChooser is an abstract interface that can be implemented by widgets - that perform file selection tasks. Two widgets in GTK+ implement this - interface: #GtkFileChooserDialog and #GtkFileChooserWidget. Most applications - simply need to use #GtkFileChooserDialog, which is a dialog box that allows the - user to select existing files for opening them, or to pick new filenames for - saving documents. #GtkFileChooserWidget is for special applications that need to - embed a file selection widget inside a larger window. In the context of GTK+, - #GtkFileChooserDialog is simply a #GtkDialog box with a #GtkFileChooserWidget. - inside. - - -
- Creating a GtkFileChooserDialog - - - To create a #GtkFileChooserDialog, you simply call gtk_file_chooser_dialog_new(). - This function is similar to gtk_dialog_new() in that it takes parameters for the - title of the dialog box and its transient parent, as well as its - buttons. In addition, it takes in an argument that determines - whether the file chooser dialog will be used for opening - existing files or for saving to a possibly new file. - - - - Please see for - how to create a simple file chooser dialog and extract the - selected filename from it. - -
- -
- Selection Modes - - - #GtkFileChooser can be used in two modes, to select a single file at a - time or to select a set of more than one file. To set this, use - gtk_file_chooser_set_select_multiple(). In single-selection - mode, you can use gtk_file_chooser_get_filename() to get a file - name from the local file system or gtk_file_chooser_get_uri() to - get a full-formed URI. In multiple-selection mode, you can use - gtk_file_chooser_get_filenames() to get a #GSList of filename strings, or - gtk_file_chooser_get_uris() to get a list of URI strings. - - - - Also, you can configure #GtkFileChooser to select files - or folders. Consider a backup program that needs to let the - user select a folder that will be backed up along with its - subfolders. To configure whether #GtkFileChooser is used to select - files or folders, use gtk_file_chooser_set_action(). In - addition, this lets you configure whether the file chooser will - be used to select existing files or folders (e.g. for - "File/Open"), or to type in new filenames (for - "File/Save As..."). - -
- -
- Installing a Preview widget - - - Many applications need to have a preview facility within their - file chooser dialogs. Previous to GTK+ 2.4, one needed to - access the #GtkFileSelection widget hierarchy directly to hook in - a preview widget. With #GtkFileChooser, there is a - dedicated API to do this. - - - - Please see the section on - creating preview widgets for more information. - -
- -
- Installing Extra Widgets - - - Some applications need to install extra widgets in a file - chooser. For example, an application may want to provide a - toggle button to give the user the option of opening a file - read-only. - - - - Please see the section on - creating extra widgets for more information. - -
- -
- New features - - - New features in #GtkFileChooser include the following: - - - - - - Ability to select URIs rather than just local files. You - must use a #GtkFileSystem implementation that supports this, - for example the gnome-vfs backend. - - - - - - Present a list of application-specific shortcut folders. - For example, a paint program may want to add a shortcut for - its /usr/share/paint_program/Clipart - folder. - - - - - - Define custom filters so that not all the files in a folder - are listed. For example, you could filter out backup files, - or show only image files. - - - - - - To see how to use these features, please consult the #GtkFileChooser - reference documentation. - -
-
- - diff --git a/docs/reference/gtk/migrating-GtkIconView.sgml b/docs/reference/gtk/migrating-GtkIconView.sgml deleted file mode 100644 index f1fe85264e..0000000000 --- a/docs/reference/gtk/migrating-GtkIconView.sgml +++ /dev/null @@ -1,153 +0,0 @@ - - - - - Migrating from GnomeIconList to GtkIconView - - - Since version 2.6, GTK+ provides the #GtkIconView widget. It is similar in - functionality to the GnomeIconList widget in the - libgnomeui library, both widgets provide a way to lay out named icons in - a grid. The distinctive feature of the GTK+ widget is that it follows the - model-view pattern, allowing it to share the actual data (i.e. the names - and images of the icons) with other views. - - - - #GtkIconView currently doesn't support some features found in - GnomeIconList. Icons can not be positioned freely, - the spacing is not customizable, and it is not possible to edit the names of - icons. - - - - To convert an application that uses GnomeIconList - to #GtkIconView, the first step is to organize your data in a #GtkTreeModel. - GnomeIconList lets you directly insert data with - gnome_icon_list_insert() and gnome_icon_list_insert_pixbuf() and their - append variants. So, if you previously had a function to fill your icon - list similar to this one: - - void - fill_icon_list (GnomeIconList *icon_list) - { - gnome_icon_list_append (icon_list, "file1.png", "Icon 1"); - gnome_icon_list_append (icon_list, "file2.png", "Icon 2"); - - /* more icons ... */ - } - - you will have to create a tree model, attach your icon view to it, and - fill the model: - - enum { - PIXBUF_COLUMN, - TEXT_COLUMN, - - /* you can have more columns here, e.g */ - - DATA_COLUMN - }; - - void - fill_model (GtkListStore *store) - { - GtkTreeIter iter; - GdkPixbuf *pixbuf; - - gtk_list_store_append (store, &iter); - pixbuf = gdk_pixbuf_new_from_file ("file1.png", NULL); - gtk_list_store_set (store, &iter, PIXBUF_COLUMN, pixbuf, TEXT_COLUMN, "Icon 1", -1); - g_object_unref (pixbuf); - - gtk_list_store_append (store, &iter); - pixbuf = gdk_pixbuf_new_from_file ("file2.png", NULL); - gtk_list_store_set (store, &iter, PIXBUF_COLUMN, pixbuf, TEXT_COLUMN, "Icon 2", -1); - g_object_unref (pixbuf); - - /* more icons ... */ - } - - int - main (int argc, char *argv[]) - { - GtkWidget *icon_view; - GtkListStore *store; - - gtk_init (&argc, &argv); - - /* do other initialization... */ - - /* construct the GtkIconView */ - icon_view = gtk_icon_view_new (); - store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_POINTER); - - gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (icon_view), PIXBUF_COLUMN); - gtk_icon_view_set_text_column (GTK_ICON_VIEW (icon_view), TEXT_COLUMN); - gtk_icon_view_set_model (GTK_ICON_VIEW (icon_view), GTK_TREE_MODEL (store)); - - fill_model (store); - - /* ... */ - } - - This example uses a #GtkListStore as model, but part of the elegance of the - model-view pattern is that you can easily use another tree model implementation, - or even write your own custom tree model. - - - - Your application may make use of extra data attached to the icons in the - GnomeIconList via gnome_icon_list_set_icon_data() and - gnome_icon_list_get_icon_data(). With #GtkIconView such data is most - conveniently stored in an extra column in the tree model, so you would - call a function like - - void - set_icon_data (GtkIconView *icon_view, - gint idx, - gpointer data) - { - GtkTreeModel *model; - GtkTreeIter iter; - - model = gtk_icon_view_get_model (icon_view); - - if (gtk_tree_model_iter_nth_child (model, &iter, NULL, idx)) - gtk_list_store_set (GTK_LIST_STORE (model), &iter, - DATA_COLUMN, data, -1); - } - - assuming that your tree model has a DATA_COLUMN of type - %G_TYPE_POINTER. - - - - There is a number of minor API differences between - GnomeIconList and - GtkIconView: - - - GnomeIconListMode is replaced by the - orientation - property of GtkIconView - - - GtkIconView can not be frozen in the same - way as GnomeIconList can with - gnome_icon_list_freeze() and gnome_icon_list_thaw(). Instead you can - replace the whole model of a GtkIconView, - instead of doing many small changes to the existing model. - - - - - - diff --git a/docs/reference/gtk/migrating-GtkLabel-links.sgml b/docs/reference/gtk/migrating-GtkLabel-links.sgml deleted file mode 100644 index 350aa8fb3f..0000000000 --- a/docs/reference/gtk/migrating-GtkLabel-links.sgml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - Migrating from SexyUrlLabel to GtkLabel - - - GTK+ 2.18 supports showing links inside a #GtkLabel, similar to - SexyUrlLabel. Porting from SexyUrlLabel to GtkLabel is relatively - straightforward. GtkLabel accepts links in the markup using the - same HTML a notation that SexyUrlLabel uses. In addition - to the href attribute, GtkLabel accepts a title attribute that - is displayed as a tooltip on the link. Instead of - sexy_url_label_set_markup(), just call gtk_label_set_markup(). - - - One difference between the two APIs is that the ::url-activated signal - from SexyUrlLabel has been replaced by the #GtkLabel::activate-link - signal. The need for connecting to this signal is greatly reduced, - since GtkLabel has a default handler that calls gtk_show_uri(). - - diff --git a/docs/reference/gtk/migrating-GtkLinkButton.sgml b/docs/reference/gtk/migrating-GtkLinkButton.sgml deleted file mode 100644 index a4c003e05a..0000000000 --- a/docs/reference/gtk/migrating-GtkLinkButton.sgml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Migrating from GnomeHRef to GtkLinkButton - - - Since version 2.10, GTK+ provides the #GtkLinkButton widget as a - replacement for the GnomeHRef widget - in the libgnomeui library. - - - - Porting an application from GnomeHRef to - #GtkLinkButton is very simple. #GtkLinkButton does not have a - default action for #GtkButton::clicked signal. So instead of simply - creating the widget - - GtkWidget *button; - - button = gnome_href_new (url, ""); - - you will have to handle the activation of the #GtkLinkButton, using - the ::clicked signal for instance - - static void - link_button_clicked_cb (GtkWidget *widget, - gpointer data) - { - const gchar *link; - - link = gtk_link_button_get_uri (GTK_LINK_BUTTON (widget)); - open_browser_at_url (link); - } - - /* ... */ - - GtkWidget *button; - - button = gtk_link_button_new (url); - g_signal_connect (button, "clicked", - G_CALLBACK (link_button_clicked_cb), NULL); - - If you have more than one #GtkLinkButton instead of connecting - a signal to each one, you can use a "hook function" which will be - called whenever a user activates a link button - - static void - link_button_hook (GtkLinkButton *button, - const gchar *link, - gpointer user_data) - - { - open_browser_at_url (link); - } - - /* ... */ - - GtkWidget *button1 = gtk_link_button_new (uri1); - GtkWidget *button2 = gtk_link_button_new (uri2); - - gtk_link_button_set_uri_hook (link_button_hook, NULL, NULL); - - - - - - Starting with GTK+ 2.16, it is no longer necessary to set up a uri hook - manually, since GTK+ now defaults to calling gtk_show_uri() if no uri - hook has been set. - - - - diff --git a/docs/reference/gtk/migrating-GtkRecentChooser.sgml b/docs/reference/gtk/migrating-GtkRecentChooser.sgml deleted file mode 100644 index 039c461a6c..0000000000 --- a/docs/reference/gtk/migrating-GtkRecentChooser.sgml +++ /dev/null @@ -1,323 +0,0 @@ - - - - - - Emmanuele - Bassi - -
- ebassi@gmail.com -
-
-
-
- - Migrating from EggRecent to GtkRecentChooser - - - Since version 2.10, GTK+ provides a way of handling the recently used - documents. It is similar to the code that has lived inside the libegg - library and has been incorporated by many applications. The GTK+ version - aims to completely replace that code, and offers many distinctive features - that improve the registration and visualization of the recently used - documents, such as: - - - - - - Better performances while reading and writing the list of recently used - files - - - More meta-data available for each recent document, like the - applications that have registered a document inside the list, the last - time and the number of times the same application did register a - document inside the list, an optional user readable name and - description of the document - - - Improved the ability to sort and filter the documents, also using - custom sorting and filtering functions - - - New widgets for displaying the list, and better integration with - current #GtkFileChooser and #GtkUIManager widgets - - - - -
- Managing the Recently Used Documents - - - #GtkRecentManager is used to manage the Recently Used Documents. To - create a new #GtkRecentManager, you simply call gtk_recent_manager_new(). - Like the EggRecentModel inside EggRecent, the - #GtkRecentManager loads the list of the recent documents and notifies - you of changes inside the list. - - - - Usually, instead of creating a new #GtkRecentManager each time you - need it, you'll want to use the gtk_recent_manager_get_default() - function. - - - - To add a document to the list, you can use gtk_recent_manager_add_item(), - like: - - GtkRecentManager *manager; - - manager = gtk_recent_manager_new (); - - if (!gtk_recent_manager_add_item (manager, document_uri)) - { - /* warn about the error */ - } - - g_object_unref (manager); - - The gtk_recent_manager_add_item() function will try and guess some of the - meta-data associated to a URI. If you know some of meta-data about the - document yourself, set the desired fields of a #GtkRecentData structure - and pass it to the gtk_recent_manager_add_full() function instead: - - GtkRecentManager *manager; - GtkRecentData *recent_data; - - manager = gtk_recent_manager_new (); - - recent_data = g_new0 (GtkRecentData, 1); - /* the user visible name of the document (maybe its title); should - * be preferred when displaying the item into the list - */ - recent_data->display_name = document_name; - - /* the MIME type is mandatory */ - recent_data->mime_type = document_mime_type; - - /* the name of the application that is registering the document - * (also mandatory); usually, the same name you used with - * the g_set_application_name () function. - */ - recent_data-&app_name = APP_NAME; - - /* the command to open a file; the %u string will be automagically - * expanded to the document's URI when getting the application's - * command line from the GtkRecentInfo object with - * gtk_recent_info_get_application_info () - */ - recent_data-&app_exec = g_strjoin (" ", g_get_prgname (), "--open-file", "%u", NULL); - - if (!gtk_recent_manager_add_full (manager, document_uri, recent_data)) - { - /* warn about the error */ - } - - g_free (recent_data->app_exec); - g_free (recent_data); - g_object_unref (manager); - - - - - Getting the list of items is also similar to - EggRecentModel; the GtkRecentInfo data is - allocated at look up time in order not to waste memory keeping it - around, so you must remember to free the data inside the list and then - the list itself when you are done using it: - - GtkRecentManager *manager; - GList *recent_items, *l; - - manager = gtk_recent_manager_get_default(); - - recent_items = gtk_recent_manager_get_items (manager); - for (l = recent_items; l != NULL; l = l->next) - { - GtkRecentInfo *recent_info = l->data; - - do_something_with_the_item (recent_info); - } - - /* free everything and the list */ - g_list_foreach (recent_items, (GFunc) gtk_recent_info_unref, NULL); - g_list_free (recent_items); - - You can also look up a single item: - - GtkRecentInfo *recent_info; - GError *error = NULL; - - recent_info = gtk_recent_manager_lookup_item (manager, document_uri, &error); - if (error) - { - display_error (error); - - g_error_free (error); - } - else - { - do_something_with_the_item (recent_info); - - gtk_recent_info_unref (recent_info); - } - - The #GtkRecentInfo is a reference counted boxed type, and it holds all - the meta-data of a recently used document, like its display name, its - description, the list of each application that has registered the - document or the list of groups to which the document belong. - - -
- -
- Displaying the Recently Used Documents - - - Displaying the Recently Used Documents list is handled by any widget - implementing the #GtkRecentChooser interface. These widgets also handle - the sorting and filtering of the list; they will create their own - #GtkRecentManager objects by default: - - GtkWidget *chooser; - gint response; - - /* create a new dialog with the recently used documents list shown - * using a GtkTreeView widget - */ - chooser = gtk_recent_chooser_dialog_new ("Recent Documents", - parent_window, - GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_OK, - NULL); - /* set the sorting order to "most recently used first" */ - gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_MRU); - response = gtk_dialog_run (GTK_DIALOG (chooser)); - if (response == GTK_RESPONSE_OK) - { - GtkRecentInfo *info; - - info = gtk_recent_chooser_get_current_item (GTK_RECENT_CHOOSER (chooser)); - do_something_with_the_item (info); - - gtk_recent_info_unref (info); - } - - gtk_widget_destroy (chooser); - - - -
- -
- Advanced usage - - - The #GtkRecentChooser widgets might display items sorted and filtered, - either with already supplied or custom sorting and filtering functions. - The biggest difference from the EggRecentView - widgets in EggRecent is that the #GtkRecentChooser widgets will use - their own copy of the list and will apply the sorting and filtering - functions only on the copy; this allows the creation of many viewers - with a single controller, like using many #GtkTreeView with a single - #GtkTreeModel instance. - - - - Available sorting methods are: - - /* no sorting */ - gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_NONE); - - /* most recently used first */ - gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_MRU); - - /* most recently used last */ - gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_LRU); - - You can create your own sorting function, and the use the - GTK_RECENT_SORT_CUSTOM method: - - /* custom sorting function, based on the registration count - * (most used first) - */ - static void - sort_by_usage_count (GtkRecentInfo *a, - GtkRecentInfo *b, - gpointer data) - { - gint count_a, count_b; - - count_a = count_b = 0; - - if (gtk_recent_info_has_application (a, APP_NAME)) - gtk_recent_info_get_application_info (a, APP_NAME, NULL, &count_a, NULL); - - if (gtk_recent_info_has_application (b, APP_NAME)) - gtk_recent_info_get_application_info (b, APP_NAME, NULL, &count_b, NULL); - - return count_a < count_b; - } - - ... - - /* set custom sorting and set the custom sorting function */ - gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), - GTK_RECENT_SORT_CUSTOM); - gtk_recent_chooser_set_sort_func (GTK_RECENT_CHOOSER, - sort_by_usage_count, - NULL, /* sort function data */ - NULL /* destroy notify for the data */); - - - - - Filtering is done using the #GtkRecentFilter object, similar to the - #GtkFileFilter object used by the #GtkFileChooser widgets. The - #GtkRecentFilter object has a set of pre-defined options based on the - meta-data exposed by the #GtkRecentInfo object. It also allows custom - filtering function: - - GtkRecentFilter *filter; - - filter = gtk_recent_filter_new (); - - /* set the user visible name of the filter */ - gtk_recent_filter_set_name (filter, "Since Last Month"); - - /* set the maximum age of a recently used document */ - gtk_recent_filter_set_age (filter, 31); - - /* the chooser takes the ownership of the object */ - gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (chooser), filter); - - /* set the currently used filter */ - gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (chooser), filter); - - filter = gtk_recent_filter_new (); - gtk_recent_filter_set_name (filter, "Every text file"); - gtk_recent_filter_set_mime_type (filter, "text/plain"); - - gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (chooser), filter); - - The #GtkRecentChooserWidget and #GtkRecentChooserDialog widgets allow - multiple filters and the selection of an appropriate one; the - #GtkRecentChooserMenu widget allows just a single filter object. - - -
- -
- - diff --git a/docs/reference/gtk/migrating-GtkTooltip.sgml b/docs/reference/gtk/migrating-GtkTooltip.sgml deleted file mode 100644 index 56b2a7d18f..0000000000 --- a/docs/reference/gtk/migrating-GtkTooltip.sgml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - Migrating from GtkTooltips to GtkTooltip - - - GTK+ 2.12 brings a completely new tooltip implementation which - allows many things that were not possible with the old - #GtkTooltips interface. The new possibilities are explained - in more detail in the section about #GtkTooltip. - - - - A number of complications of the old API have been removed: - - - - Tooltips can not be grouped anymore. The old tooltips - API allowed this by using multiple #GtkTooltips objects. - We believe that the timeout behaviour of the new tooltips - implementation is better and makes it unnecessary to use - grouping as a way to overcome shortcomings of the - fast-tooltips mode. - - - - Timeouts can not be set individually anymore. Instead - there are settings #GtkSettings:gtk-tooltip-timeout, - #GtkSettings:gtk-tooltip-browse-timeout and - #GtkSettings:gtk-tooltip-browse-mode-timeout to influence - the behaviour of tooltips globally. - - - - - - - Here is an example of setting a tooltip on a widget with the old API: - -GtkTooltips *tooltips = gtk_tooltips_new (); -gtk_tooltips_set_tip (tooltips, widget, "Some tips", NULL); - - - - Using the new tooltips API, it is no longer necessary to create - an object: - -gtk_widget_set_tooltip_text (widget, "Some tips"); - - - - Similarly, setting a tooltip on a #GtkToolItem gets - simplified from - -gtk_tool_item_set_tooltip (toolitem, toolbar->tooltips, "tool tip", NULL); - - to - -gtk_tool_item_set_tooltip_text (toolitem, text); - - - - From 3fff4bd0915deeb5b009557113eb98d72b0fe1cd Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Mon, 3 Jan 2011 13:09:00 +0100 Subject: [PATCH 0983/1463] GtkRadioButton: Use "radio" style class instead of "check" --- gtk/gtkradiobutton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c index 424d8505f4..4044b3ed1d 100644 --- a/gtk/gtkradiobutton.c +++ b/gtk/gtkradiobutton.c @@ -952,7 +952,7 @@ gtk_radio_button_draw_indicator (GtkCheckButton *check_button, allocation.width - (2 * border_width), allocation.height - (2 * border_width)); - gtk_style_context_add_class (context, GTK_STYLE_CLASS_CHECK); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_RADIO); gtk_render_option (context, cr, x, y, indicator_size, indicator_size); From 856cc65f63510233693ff457551136a3f0768bb8 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 29 Dec 2010 01:18:02 +1030 Subject: [PATCH 0984/1463] Set "accepts-pdf" property to true only if supported by the print backend --- gtk/gtkprinter.c | 4 ++-- modules/printbackends/cups/gtkprintercups.c | 10 +++++++++- modules/printbackends/file/gtkprintbackendfile.c | 1 + 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gtk/gtkprinter.c b/gtk/gtkprinter.c index 7e8c4d0a8a..fdb6c801cb 100644 --- a/gtk/gtkprinter.c +++ b/gtk/gtkprinter.c @@ -145,7 +145,7 @@ gtk_printer_class_init (GtkPrinterClass *class) g_param_spec_boolean ("accepts-pdf", P_("Accepts PDF"), P_("TRUE if this printer can accept PDF"), - TRUE, + FALSE, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (G_OBJECT_CLASS (class), PROP_ACCEPTS_PS, @@ -256,7 +256,7 @@ gtk_printer_init (GtkPrinter *printer) priv->is_accepting_jobs = TRUE; priv->is_new = TRUE; priv->has_details = FALSE; - priv->accepts_pdf = TRUE; + priv->accepts_pdf = FALSE; priv->accepts_ps = TRUE; priv->state_message = NULL; diff --git a/modules/printbackends/cups/gtkprintercups.c b/modules/printbackends/cups/gtkprintercups.c index 09818c3505..8b3f85c06a 100644 --- a/modules/printbackends/cups/gtkprintercups.c +++ b/modules/printbackends/cups/gtkprintercups.c @@ -127,11 +127,19 @@ gtk_printer_cups_new (const char *name, GtkPrintBackend *backend) { GObject *result; - + gboolean accepts_pdf; + +#if (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2) || CUPS_VERSION_MAJOR > 1 + accepts_pdf = TRUE; +#else + accepts_pdf = FALSE; +#endif + result = g_object_new (GTK_TYPE_PRINTER_CUPS, "name", name, "backend", backend, "is-virtual", FALSE, + "accepts-pdf", accepts_pdf, NULL); return (GtkPrinterCups *) result; diff --git a/modules/printbackends/file/gtkprintbackendfile.c b/modules/printbackends/file/gtkprintbackendfile.c index fee3d38bc5..7f0bd3532e 100644 --- a/modules/printbackends/file/gtkprintbackendfile.c +++ b/modules/printbackends/file/gtkprintbackendfile.c @@ -501,6 +501,7 @@ gtk_print_backend_file_init (GtkPrintBackendFile *backend) "name", _("Print to File"), "backend", backend, "is-virtual", TRUE, + "accepts-pdf", TRUE, NULL); gtk_printer_set_has_details (printer, TRUE); From ebcd0ba233df7ba711dfee8bd6f2939e5f9e72a4 Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Wed, 29 Dec 2010 16:04:49 +1030 Subject: [PATCH 0985/1463] Set file GtkPrinter accepts_pdf/ps based on selected format --- gtk/gtkprintbackend.h | 4 ++ gtk/gtkprinter.c | 18 ++++++ .../printbackends/file/gtkprintbackendfile.c | 63 +++++++++++++++++-- 3 files changed, 80 insertions(+), 5 deletions(-) diff --git a/gtk/gtkprintbackend.h b/gtk/gtkprintbackend.h index e19193ffdd..b23220a0af 100644 --- a/gtk/gtkprintbackend.h +++ b/gtk/gtkprintbackend.h @@ -172,6 +172,10 @@ GtkPrinter *gtk_printer_new (const char *name, GtkPrintBackend *backend, gboolean is_virtual); gboolean gtk_printer_is_new (GtkPrinter *printer); +void gtk_printer_set_accepts_pdf (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_accepts_ps (GtkPrinter *printer, + gboolean val); void gtk_printer_set_is_new (GtkPrinter *printer, gboolean val); void gtk_printer_set_is_active (GtkPrinter *printer, diff --git a/gtk/gtkprinter.c b/gtk/gtkprinter.c index fdb6c801cb..4d5112b038 100644 --- a/gtk/gtkprinter.c +++ b/gtk/gtkprinter.c @@ -795,6 +795,15 @@ gtk_printer_accepts_pdf (GtkPrinter *printer) return printer->priv->accepts_pdf; } +void +gtk_printer_set_accepts_pdf (GtkPrinter *printer, + gboolean val) +{ + g_return_if_fail (GTK_IS_PRINTER (printer)); + + printer->priv->accepts_pdf = val; +} + /** * gtk_printer_accepts_ps: * @printer: a #GtkPrinter @@ -814,6 +823,15 @@ gtk_printer_accepts_ps (GtkPrinter *printer) return printer->priv->accepts_ps; } +void +gtk_printer_set_accepts_ps (GtkPrinter *printer, + gboolean val) +{ + g_return_if_fail (GTK_IS_PRINTER (printer)); + + printer->priv->accepts_ps = val; +} + gboolean gtk_printer_is_new (GtkPrinter *printer) { diff --git a/modules/printbackends/file/gtkprintbackendfile.c b/modules/printbackends/file/gtkprintbackendfile.c index 7f0bd3532e..3322db1a46 100644 --- a/modules/printbackends/file/gtkprintbackendfile.c +++ b/modules/printbackends/file/gtkprintbackendfile.c @@ -514,17 +514,63 @@ gtk_print_backend_file_init (GtkPrintBackendFile *backend) gtk_print_backend_set_list_done (GTK_PRINT_BACKEND (backend)); } +typedef struct { + GtkPrinter *printer; + GtkPrinterOptionSet *set; +} _OutputFormatChangedData; + +static void +set_printer_format_from_option_set (GtkPrinter *printer, + GtkPrinterOptionSet *set) +{ + GtkPrinterOption *format_option; + const gchar *value; + gint i; + + format_option = gtk_printer_option_set_lookup (set, "output-file-format"); + if (format_option && format_option->value) + { + value = format_option->value; + if (value) + { + for (i = 0; i < N_FORMATS; ++i) + if (strcmp (value, formats[i]) == 0) + break; + + g_assert (i < N_FORMATS); + + switch (i) + { + case FORMAT_PDF: + gtk_printer_set_accepts_pdf (printer, TRUE); + gtk_printer_set_accepts_ps (printer, FALSE); + break; + case FORMAT_PS: + gtk_printer_set_accepts_pdf (printer, FALSE); + gtk_printer_set_accepts_ps (printer, TRUE); + break; + case FORMAT_SVG: + default: + gtk_printer_set_accepts_pdf (printer, FALSE); + gtk_printer_set_accepts_ps (printer, FALSE); + break; + } + } + } +} + static void file_printer_output_file_format_changed (GtkPrinterOption *format_option, - GtkPrinterOptionSet *set) + gpointer user_data) { GtkPrinterOption *uri_option; gchar *base = NULL; + _OutputFormatChangedData *data = (_OutputFormatChangedData *) user_data; if (! format_option->value) return; - uri_option = gtk_printer_option_set_lookup (set, + uri_option = gtk_printer_option_set_lookup (data->set, "gtk-main-page-custom-input"); if (uri_option && uri_option->value) @@ -564,6 +610,8 @@ file_printer_output_file_format_changed (GtkPrinterOption *format_option, g_free (tmp); g_free (base); } + + set_printer_format_from_option_set (data->printer, data->set); } static GtkPrinterOptionSet * @@ -583,6 +631,7 @@ file_printer_get_options (GtkPrinter *printer, OutputFormat format; gchar *uri; gint current_format = 0; + _OutputFormatChangedData *format_changed_data; format = format_from_settings (settings); @@ -667,9 +716,13 @@ file_printer_get_options (GtkPrinter *printer, gtk_printer_option_set (option, supported_formats[current_format]); gtk_printer_option_set_add (set, option); - g_signal_connect (option, "changed", - G_CALLBACK (file_printer_output_file_format_changed), - set); + set_printer_format_from_option_set (printer, set); + format_changed_data = g_new (_OutputFormatChangedData, 1); + format_changed_data->printer = printer; + format_changed_data->set = set; + g_signal_connect_data (option, "changed", + G_CALLBACK (file_printer_output_file_format_changed), + format_changed_data, (GClosureNotify)g_free, 0); g_object_unref (option); } From a493fad9907b44f7eb9e3b1c2f5dc46f7de7b74b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 08:02:41 -0500 Subject: [PATCH 0986/1463] Remove gtk_printer_new from gtkprintbackend.h The function has been in gtkprinter.h forever. --- gtk/gtkprintbackend.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gtk/gtkprintbackend.h b/gtk/gtkprintbackend.h index b23220a0af..bdf5b69973 100644 --- a/gtk/gtkprintbackend.h +++ b/gtk/gtkprintbackend.h @@ -167,10 +167,6 @@ void gtk_print_backend_set_list_done (GtkPrintBackend *bac /* Backend-only functions for GtkPrinter */ - -GtkPrinter *gtk_printer_new (const char *name, - GtkPrintBackend *backend, - gboolean is_virtual); gboolean gtk_printer_is_new (GtkPrinter *printer); void gtk_printer_set_accepts_pdf (GtkPrinter *printer, gboolean val); From 7537907baf61ccec8457bbe57cde2cc6461b8bc6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 09:34:04 -0500 Subject: [PATCH 0987/1463] cups printbackend: create a pdf surface when appropriate This should address bug 560177. Based on a patch by Adrian Johnson. --- .../printbackends/cups/gtkprintbackendcups.c | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index e190a7a498..5a9af42ed3 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -333,18 +333,19 @@ cups_printer_create_cairo_surface (GtkPrinter *printer, gdouble height, GIOChannel *cache_io) { - cairo_surface_t *surface; + cairo_surface_t *surface; ppd_file_t *ppd_file = NULL; ppd_attr_t *ppd_attr = NULL; ppd_attr_t *ppd_attr_res = NULL; ppd_attr_t *ppd_attr_screen_freq = NULL; ppd_attr_t *ppd_attr_res_screen_freq = NULL; gchar *res_string = NULL; - int level = 2; - - /* TODO: check if it is a ps or pdf printer */ - - surface = cairo_ps_surface_create_for_stream (_cairo_write_to_cups, cache_io, width, height); + gint level = 2; + + if (gtk_printer_accepts_pdf (printer)) + surface = cairo_pdf_surface_create_for_strean (_cairo_write_to_cups, cache_io, width, height); + else + surface = cairo_ps_surface_create_for_stream (_cairo_write_to_cups, cache_io, width, height); ppd_file = gtk_printer_cups_get_ppd (GTK_PRINTER_CUPS (printer)); @@ -376,14 +377,14 @@ cups_printer_create_cairo_surface (GtkPrinter *printer, } } - res_string = g_strdup_printf ("%ddpi", + res_string = g_strdup_printf ("%ddpi", gtk_print_settings_get_resolution (settings)); ppd_attr_res_screen_freq = ppdFindAttr (ppd_file, "ResScreenFreq", res_string); g_free (res_string); if (ppd_attr_res_screen_freq == NULL) { - res_string = g_strdup_printf ("%dx%ddpi", + res_string = g_strdup_printf ("%dx%ddpi", gtk_print_settings_get_resolution_x (settings), gtk_print_settings_get_resolution_y (settings)); ppd_attr_res_screen_freq = ppdFindAttr (ppd_file, "ResScreenFreq", res_string); @@ -398,11 +399,14 @@ cups_printer_create_cairo_surface (GtkPrinter *printer, gtk_print_settings_set_printer_lpi (settings, atof (ppd_attr_screen_freq->value)); } - if (level == 2) - cairo_ps_surface_restrict_to_level (surface, CAIRO_PS_LEVEL_2); + if (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_PS) + { + if (level == 2) + cairo_ps_surface_restrict_to_level (surface, CAIRO_PS_LEVEL_2); - if (level == 3) - cairo_ps_surface_restrict_to_level (surface, CAIRO_PS_LEVEL_3); + if (level == 3) + cairo_ps_surface_restrict_to_level (surface, CAIRO_PS_LEVEL_3); + } cairo_surface_set_fallback_resolution (surface, 2.0 * gtk_print_settings_get_printer_lpi (settings), From d1ecd28695e519e5f13372df553c6267f1e0526d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 16:16:02 +0100 Subject: [PATCH 0988/1463] cups: Someone can neither type, read compiler output and run tests. Being able to do one of these would have caught this. --- modules/printbackends/cups/gtkprintbackendcups.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/printbackends/cups/gtkprintbackendcups.c b/modules/printbackends/cups/gtkprintbackendcups.c index 5a9af42ed3..5bb14eb9f4 100644 --- a/modules/printbackends/cups/gtkprintbackendcups.c +++ b/modules/printbackends/cups/gtkprintbackendcups.c @@ -343,7 +343,7 @@ cups_printer_create_cairo_surface (GtkPrinter *printer, gint level = 2; if (gtk_printer_accepts_pdf (printer)) - surface = cairo_pdf_surface_create_for_strean (_cairo_write_to_cups, cache_io, width, height); + surface = cairo_pdf_surface_create_for_stream (_cairo_write_to_cups, cache_io, width, height); else surface = cairo_ps_surface_create_for_stream (_cairo_write_to_cups, cache_io, width, height); From 36a15720b110444da8a1e95075e5220d71707c33 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 16:05:16 +0100 Subject: [PATCH 0989/1463] API: gdk: Remove gdk_set_pointer_hooks() Its usecase was GERD - http://testbit.eu/~timj/historic/gerd/ - and that project is long since dead. It has been superseded in GTK 2.2 by GdkDisplayPointerHooks anyway. --- docs/reference/gdk/gdk3-sections.txt | 4 - gdk/gdk.symbols | 1 - gdk/gdkdisplay.c | 134 +-------------------------- gdk/gdkwindow.h | 33 ------- 4 files changed, 1 insertion(+), 171 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 5902b08536..646faa840f 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -473,10 +473,6 @@ gdk_window_set_device_events gdk_window_get_source_events gdk_window_set_source_events - -GdkPointerHooks -gdk_set_pointer_hooks - gdk_offscreen_window_get_surface gdk_offscreen_window_set_embedder diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 1f63b45cb3..36348c9fe4 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -307,7 +307,6 @@ gdk_selection_property_get gdk_selection_send_notify gdk_selection_send_notify_for_display gdk_set_double_click_time -gdk_set_pointer_hooks gdk_set_program_class gdk_set_show_events gdk_setting_action_get_type G_GNUC_CONST diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index fdd98604ba..68be28e70e 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -103,27 +103,7 @@ static GdkWindow * multihead_default_window_at_pointer (GdkDisplay *displa gint *win_y); -static void singlehead_get_pointer (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow* singlehead_window_get_pointer (GdkDisplay *display, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow* singlehead_window_at_pointer (GdkDisplay *display, - gint *win_x, - gint *win_y); - -static GdkWindow* singlehead_default_window_get_pointer (GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow* singlehead_default_window_at_pointer (GdkScreen *screen, - gint *win_x, - gint *win_y);static GdkWindow *gdk_window_real_window_get_device_position (GdkDisplay *display, +static GdkWindow *gdk_window_real_window_get_device_position (GdkDisplay *display, GdkDevice *device, GdkWindow *window, gint *x, @@ -161,18 +141,6 @@ static const GdkDisplayPointerHooks multihead_default_pointer_hooks = { multihead_default_window_at_pointer }; -static const GdkDisplayPointerHooks singlehead_pointer_hooks = { - singlehead_get_pointer, - singlehead_window_get_pointer, - singlehead_window_at_pointer -}; - -static const GdkPointerHooks singlehead_default_pointer_hooks = { - singlehead_default_window_get_pointer, - singlehead_default_window_at_pointer -}; - -static const GdkPointerHooks *singlehead_current_pointer_hooks = &singlehead_default_pointer_hooks; static const GdkDisplayPointerHooks *multihead_current_pointer_hooks = &multihead_default_pointer_hooks; G_DEFINE_TYPE (GdkDisplay, gdk_display, G_TYPE_OBJECT) @@ -990,106 +958,6 @@ gdk_display_set_pointer_hooks (GdkDisplay *display, return (GdkDisplayPointerHooks *)result; } -static void -singlehead_get_pointer (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask) -{ - GdkScreen *default_screen = gdk_display_get_default_screen (display); - GdkWindow *root_window = gdk_screen_get_root_window (default_screen); - - *screen = default_screen; - - singlehead_current_pointer_hooks->get_pointer (root_window, x, y, mask); -} - -static GdkWindow* -singlehead_window_get_pointer (GdkDisplay *display, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask) -{ - return singlehead_current_pointer_hooks->get_pointer (window, x, y, mask); -} - -static GdkWindow* -singlehead_window_at_pointer (GdkDisplay *display, - gint *win_x, - gint *win_y) -{ - GdkScreen *default_screen = gdk_display_get_default_screen (display); - - return singlehead_current_pointer_hooks->window_at_pointer (default_screen, - win_x, win_y); -} - -static GdkWindow* -singlehead_default_window_get_pointer (GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask) -{ - GdkDisplay *display; - - display = gdk_window_get_display (window); - - return gdk_window_real_window_get_device_position (display, - display->core_pointer, - window, x, y, mask); -} - -static GdkWindow* -singlehead_default_window_at_pointer (GdkScreen *screen, - gint *win_x, - gint *win_y) -{ - GdkDisplay *display; - - display = gdk_screen_get_display (screen); - - return gdk_display_real_get_window_at_device_position (display, - display->core_pointer, - win_x, win_y); -} - -/** - * gdk_set_pointer_hooks: - * @new_hooks: (allow-none): a table of pointers to functions for getting - * quantities related to the current pointer position, - * or %NULL to restore the default table. - * - * This function allows for hooking into the operation - * of getting the current location of the pointer. This - * is only useful for such low-level tools as an - * event recorder. Applications should never have any - * reason to use this facility. - * - * This function is not multihead safe. For multihead operation, - * see gdk_display_set_pointer_hooks(). - * - * Return value: the previous pointer hook table - * - * Deprecated: 3.0: Use gdk_display_set_device_hooks() instead. - **/ -GdkPointerHooks * -gdk_set_pointer_hooks (const GdkPointerHooks *new_hooks) -{ - const GdkPointerHooks *result = singlehead_current_pointer_hooks; - - if (new_hooks) - singlehead_current_pointer_hooks = new_hooks; - else - singlehead_current_pointer_hooks = &singlehead_default_pointer_hooks; - - gdk_display_set_pointer_hooks (gdk_display_get_default (), - &singlehead_pointer_hooks); - - return (GdkPointerHooks *)result; -} - static void generate_grab_broken_event (GdkWindow *window, GdkDevice *device, diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h index 582a9bf6d5..1cac906945 100644 --- a/gdk/gdkwindow.h +++ b/gdk/gdkwindow.h @@ -38,7 +38,6 @@ G_BEGIN_DECLS typedef struct _GdkGeometry GdkGeometry; typedef struct _GdkWindowAttr GdkWindowAttr; -typedef struct _GdkPointerHooks GdkPointerHooks; typedef struct _GdkWindowRedirect GdkWindowRedirect; /** @@ -446,34 +445,6 @@ struct _GdkGeometry GdkGravity win_gravity; }; -/** - * GdkPointerHooks: - * @get_pointer: Obtains the current pointer position and modifier state. - * The position is given in coordinates relative to the window containing - * the pointer, which is returned in @window. - * @window_at_pointer: Obtains the window underneath the mouse pointer, - * returning the location of that window in @win_x, @win_y. Returns %NULL - * if the window under the mouse pointer is not known to GDK (for example, - * belongs to another application). - * - * A table of pointers to functions for getting quantities related to - * the current pointer position. GDK has one global table of this type, - * which can be set using gdk_set_pointer_hooks(). - * - * This is only useful for such low-level tools as an event recorder. - * Applications should never have any reason to use this facility - */ -struct _GdkPointerHooks -{ - GdkWindow* (*get_pointer) (GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); - GdkWindow* (*window_at_pointer) (GdkScreen *screen, /* unused */ - gint *win_x, - gint *win_y); -}; - typedef struct _GdkWindowClass GdkWindowClass; #define GDK_TYPE_WINDOW (gdk_window_get_type ()) @@ -872,10 +843,6 @@ void gdk_window_constrain_size (GdkGeometry *geometry, void gdk_window_enable_synchronized_configure (GdkWindow *window); void gdk_window_configure_finished (GdkWindow *window); -#if !defined (GDK_MULTIHEAD_SAFE) && !defined (GDK_MULTIDEVICE_SAFE) -GdkPointerHooks *gdk_set_pointer_hooks (const GdkPointerHooks *new_hooks); -#endif /* !GDK_MULTIHEAD_SAFE && !GDK_MULTIDEVICE_SAFE */ - GdkWindow *gdk_get_default_root_window (void); /* Offscreen redirection */ From ff1ad99dce48d336e7b87e8be2aaf7c3b82fea8c Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 16:34:48 +0100 Subject: [PATCH 0990/1463] API: gdk: Remove gdk_display_set_pointer_hooks() Its usecase was GERD - http://testbit.eu/~timj/historic/gerd/ - and that project is long since dead. I couldn't find any app using it after asking around and googling either. --- docs/reference/gdk/gdk3-sections.txt | 2 - gdk/gdk.symbols | 1 - gdk/gdkdisplay.c | 146 --------------------------- gdk/gdkdisplay.h | 42 -------- 4 files changed, 191 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index 646faa840f..ec5128ecb7 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -126,8 +126,6 @@ gdk_display_set_double_click_distance gdk_display_get_pointer gdk_display_list_devices gdk_display_get_window_at_pointer -GdkDisplayPointerHooks -gdk_display_set_pointer_hooks GdkDisplayDeviceHooks gdk_display_set_device_hooks gdk_display_warp_pointer diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 36348c9fe4..5f5fa668a8 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -119,7 +119,6 @@ gdk_display_request_selection_notification gdk_display_set_device_hooks gdk_display_set_double_click_distance gdk_display_set_double_click_time -gdk_display_set_pointer_hooks gdk_display_store_clipboard gdk_display_supports_clipboard_persistence gdk_display_supports_composite diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 68be28e70e..b83f1009a0 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -71,37 +71,6 @@ enum { static void gdk_display_dispose (GObject *object); static void gdk_display_finalize (GObject *object); -static void multihead_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow * multihead_window_get_device_position (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow * multihead_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y); - -static void multihead_default_get_pointer (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow * multihead_default_window_get_pointer (GdkDisplay *display, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); -static GdkWindow * multihead_default_window_at_pointer (GdkDisplay *display, - gint *win_x, - gint *win_y); - static GdkWindow *gdk_window_real_window_get_device_position (GdkDisplay *display, GdkDevice *device, @@ -129,20 +98,6 @@ static const GdkDisplayDeviceHooks default_device_hooks = { gdk_display_real_get_window_at_device_position }; -static const GdkDisplayDeviceHooks multihead_pointer_hooks = { - multihead_get_device_state, - multihead_window_get_device_position, - multihead_window_at_device_position -}; - -static const GdkDisplayPointerHooks multihead_default_pointer_hooks = { - multihead_default_get_pointer, - multihead_default_window_get_pointer, - multihead_default_window_at_pointer -}; - -static const GdkDisplayPointerHooks *multihead_current_pointer_hooks = &multihead_default_pointer_hooks; - G_DEFINE_TYPE (GdkDisplay, gdk_display, G_TYPE_OBJECT) static void @@ -831,37 +786,6 @@ gdk_display_get_window_at_pointer (GdkDisplay *display, return gdk_device_get_window_at_position (display->core_pointer, win_x, win_y); } -static void -multihead_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask) -{ - multihead_current_pointer_hooks->get_pointer (display, screen, x, y, mask); -} - -static GdkWindow * -multihead_window_get_device_position (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask) -{ - return multihead_current_pointer_hooks->window_get_pointer (display, window, x, y, mask); -} - -static GdkWindow * -multihead_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y) -{ - return multihead_current_pointer_hooks->window_at_pointer (display, win_x, win_y); -} - static void gdk_display_real_get_device_state (GdkDisplay *display, GdkDevice *device, @@ -888,76 +812,6 @@ gdk_display_real_get_device_state (GdkDisplay *display, *screen = gdk_window_get_screen (root); } -static void -multihead_default_get_pointer (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask) -{ - gdk_display_real_get_device_state (display, display->core_pointer, - screen, x, y, mask); -} - -static GdkWindow * -multihead_default_window_get_pointer (GdkDisplay *display, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask) -{ - return gdk_window_real_window_get_device_position (display, - display->core_pointer, - window, x, y, mask); -} - -static GdkWindow * -multihead_default_window_at_pointer (GdkDisplay *display, - gint *win_x, - gint *win_y) -{ - return gdk_display_real_get_window_at_device_position (display, - display->core_pointer, - win_x, win_y); -} - -/** - * gdk_display_set_pointer_hooks: - * @display: a #GdkDisplay - * @new_hooks: (allow-none): a table of pointers to functions for getting - * quantities related to the current pointer position, - * or %NULL to restore the default table. - * - * This function allows for hooking into the operation - * of getting the current location of the pointer on a particular - * display. This is only useful for such low-level tools as an - * event recorder. Applications should never have any - * reason to use this facility. - * - * Return value: (transfer none): the previous pointer hook table - * - * Since: 2.2 - * - * Deprecated: 3.0: Use gdk_display_set_device_hooks() instead. - **/ -GdkDisplayPointerHooks * -gdk_display_set_pointer_hooks (GdkDisplay *display, - const GdkDisplayPointerHooks *new_hooks) -{ - const GdkDisplayPointerHooks *result = multihead_current_pointer_hooks; - - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - - if (new_hooks) - multihead_current_pointer_hooks = new_hooks; - else - multihead_current_pointer_hooks = &multihead_default_pointer_hooks; - - gdk_display_set_device_hooks (display, &multihead_pointer_hooks); - - return (GdkDisplayPointerHooks *)result; -} - static void generate_grab_broken_event (GdkWindow *window, GdkDevice *device, diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index c782c246ec..1b320d0afa 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -41,48 +41,8 @@ G_BEGIN_DECLS #define GDK_DISPLAY_OBJECT(object) GDK_DISPLAY(object) #endif -typedef struct _GdkDisplayPointerHooks GdkDisplayPointerHooks; typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; -/** - * GdkDisplayPointerHooks: - * @get_pointer: Obtains the current pointer position and modifier state. - * The position is given in coordinates relative to the screen containing - * the pointer, which is returned in @screen. - * @window_get_pointer: Obtains the window underneath the mouse pointer. - * Current pointer position and modifier state are returned in @x, @y and - * @mask. The position is given in coordinates relative to @window. - * @window_at_pointer: Obtains the window underneath the mouse pointer, - * returning the location of that window in @win_x, @win_y. Returns %NULL - * if the window under the mouse pointer is not known to GDK (for example, - * belongs to another application). - * - * A table of pointers to functions for getting quantities related to - * the current pointer position. Each #GdkDisplay has a table of this type, - * which can be set using gdk_display_set_pointer_hooks(). - * - * This is only useful for such low-level tools as an event recorder. - * Applications should never have any reason to use this facility - * - * Since: 2.2 - */ -struct _GdkDisplayPointerHooks -{ - void (*get_pointer) (GdkDisplay *display, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); - GdkWindow* (*window_get_pointer) (GdkDisplay *display, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); - GdkWindow* (*window_at_pointer) (GdkDisplay *display, - gint *win_x, - gint *win_y); -}; - /** * GdkDisplayDeviceHooks: * @get_device_state: Obtains the current position and modifier state for @@ -186,8 +146,6 @@ void gdk_display_warp_pointer (GdkDisplay *disp GdkScreen *screen, gint x, gint y); -GdkDisplayPointerHooks *gdk_display_set_pointer_hooks (GdkDisplay *display, - const GdkDisplayPointerHooks *new_hooks); #endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ From d72d19d247965fb5561c1d1ce35533102461a67d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 16:49:13 +0100 Subject: [PATCH 0991/1463] API: gdk: Remove gdk_display_set_device_hooks() There's no usecase for them, so remove them before we have to commit to keeping an API. Make the hooks private for now, actually removing them will come in followup patches. --- docs/reference/gdk/gdk3-sections.txt | 2 -- gdk/gdk.symbols | 1 - gdk/gdkdisplay.c | 31 -------------------- gdk/gdkdisplay.h | 43 ---------------------------- gdk/gdkdisplayprivate.h | 22 ++++++++++++++ 5 files changed, 22 insertions(+), 77 deletions(-) diff --git a/docs/reference/gdk/gdk3-sections.txt b/docs/reference/gdk/gdk3-sections.txt index ec5128ecb7..459c1c242c 100644 --- a/docs/reference/gdk/gdk3-sections.txt +++ b/docs/reference/gdk/gdk3-sections.txt @@ -126,8 +126,6 @@ gdk_display_set_double_click_distance gdk_display_get_pointer gdk_display_list_devices gdk_display_get_window_at_pointer -GdkDisplayDeviceHooks -gdk_display_set_device_hooks gdk_display_warp_pointer gdk_display_supports_cursor_color gdk_display_supports_cursor_alpha diff --git a/gdk/gdk.symbols b/gdk/gdk.symbols index 5f5fa668a8..9fb4b63149 100644 --- a/gdk/gdk.symbols +++ b/gdk/gdk.symbols @@ -116,7 +116,6 @@ gdk_display_pointer_is_grabbed gdk_display_pointer_ungrab gdk_display_put_event gdk_display_request_selection_notification -gdk_display_set_device_hooks gdk_display_set_double_click_distance gdk_display_set_double_click_time gdk_display_store_clipboard diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index b83f1009a0..71bc00e76a 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -619,37 +619,6 @@ _gdk_display_enable_motion_hints (GdkDisplay *display, } } -/** - * gdk_display_set_device_hooks: - * @display: a #GdkDisplay. - * @new_hooks: (allow-none): a table of pointers to functions for getting quantities related - * to all devices position, or %NULL to restore the default table. - * - * This function allows for hooking into the operation of getting the current location of any - * #GdkDevice on a particular #GdkDisplay. This is only useful for such low-level tools as - * an event recorder. Applications should never have any reason to use this facility. - * - * Returns: (transfer none): The previous device hook table. - * - * Since: 3.0 - **/ -GdkDisplayDeviceHooks * -gdk_display_set_device_hooks (GdkDisplay *display, - const GdkDisplayDeviceHooks *new_hooks) -{ - const GdkDisplayDeviceHooks *result; - - g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); - result = display->device_hooks; - - if (new_hooks) - display->device_hooks = new_hooks; - else - display->device_hooks = &default_device_hooks; - - return (GdkDisplayDeviceHooks *) result; -} - /** * gdk_display_get_pointer: * @display: a #GdkDisplay diff --git a/gdk/gdkdisplay.h b/gdk/gdkdisplay.h index 1b320d0afa..af779096c8 100644 --- a/gdk/gdkdisplay.h +++ b/gdk/gdkdisplay.h @@ -41,46 +41,6 @@ G_BEGIN_DECLS #define GDK_DISPLAY_OBJECT(object) GDK_DISPLAY(object) #endif -typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; - -/** - * GdkDisplayDeviceHooks: - * @get_device_state: Obtains the current position and modifier state for - * @device. The position is given in coordinates relative to the window - * containing the pointer, which is returned in @window. - * @window_get_device_position: Obtains the window underneath the device - * position. Current device position and modifier state are returned in - * @x, @y and @mask. The position is given in coordinates relative to - * @window. - * @window_at_device_position: Obtains the window underneath the device - * position, returning the location of that window in @win_x, @win_y. - * Returns %NULL if the window under the mouse pointer is not known to - * GDK (for example, belongs to another application). - * - * A table of pointers to functions for getting quantities related to - * the current device position. Each #GdkDisplay has a table of this type, - * which can be set using gdk_display_set_device_hooks(). - */ -struct _GdkDisplayDeviceHooks -{ - void (* get_device_state) (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); - GdkWindow * (* window_get_device_position) (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); - GdkWindow * (* window_at_device_position) (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y); -}; - GType gdk_display_get_type (void) G_GNUC_CONST; GdkDisplay *gdk_display_open (const gchar *display_name); @@ -149,9 +109,6 @@ void gdk_display_warp_pointer (GdkDisplay *disp #endif /* GDK_DISABLE_DEPRECATED */ #endif /* GDK_MULTIDEVICE_SAFE */ -GdkDisplayDeviceHooks *gdk_display_set_device_hooks (GdkDisplay *display, - const GdkDisplayDeviceHooks *new_hooks); - GdkDisplay *gdk_display_open_default_libgtk_only (void); gboolean gdk_display_supports_cursor_alpha (GdkDisplay *display); diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index 2662eee7b3..ceea86bb8c 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -31,6 +31,28 @@ G_BEGIN_DECLS #define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass)) +typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; + +struct _GdkDisplayDeviceHooks +{ + void (* get_device_state) (GdkDisplay *display, + GdkDevice *device, + GdkScreen **screen, + gint *x, + gint *y, + GdkModifierType *mask); + GdkWindow * (* window_get_device_position) (GdkDisplay *display, + GdkDevice *device, + GdkWindow *window, + gint *x, + gint *y, + GdkModifierType *mask); + GdkWindow * (* window_at_device_position) (GdkDisplay *display, + GdkDevice *device, + gint *win_x, + gint *win_y); +}; + typedef struct _GdkDisplayClass GdkDisplayClass; /* Tracks information about the keyboard grab on this display */ From c07f9c040fc429bd3460585558c17d7ce04fbb59 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 11:27:19 -0500 Subject: [PATCH 0992/1463] Some configure.ac cleanups Change from --with-xinput to --enable-xinput, and consistently use AC_HELP_STRING. Also document the packagekit options in the docs. --- configure.ac | 53 +++++++++++++++++--------------- docs/reference/gtk/building.sgml | 34 +++++++++++++++----- 2 files changed, 56 insertions(+), 31 deletions(-) diff --git a/configure.ac b/configure.ac index a90f7d11a6..522bf69f8b 100644 --- a/configure.ac +++ b/configure.ac @@ -236,21 +236,24 @@ AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug=@<:@no/minimum/yes@:>@], [turn on debugging @<:@default=debug_default@:>@]),, enable_debug=debug_default) -AC_ARG_ENABLE(xkb, - [AC_HELP_STRING([--enable-xkb], - [support XKB [default=maybe]])],, - [enable_xkb="maybe"]) -AC_ARG_ENABLE(xinerama, - [AC_HELP_STRING([--enable-xinerama], - [support xinerama extension if available [default=yes]])],, - [enable_xinerama="yes"]) + AC_ARG_ENABLE(rebuilds, [AC_HELP_STRING([--disable-rebuilds], [disable all source autogeneration rules])],, [enable_rebuilds=yes]) -AC_ARG_WITH(xinput, - [AC_HELP_STRING([--with-xinput=@<:@no/yes@:>@], [support XInput])]) +AC_ARG_ENABLE(xkb, + [AC_HELP_STRING([--enable-xkb], + [support XKB extension [default=maybe]])],, + [enable_xkb="maybe"]) +AC_ARG_ENABLE(xinerama, + [AC_HELP_STRING([--enable-xinerama], + [support Xinerama extension if available [default=yes]])],, + [enable_xinerama="yes"]) +AC_ARG_ENABLE(xinput, + [AC_HELP_STRING([--enable-xinput], + [support XInput extension if available [default=yes]])],, + [enable_xinput="yes"]) if test "$platform_win32" = yes; then gdktarget=win32 @@ -258,8 +261,10 @@ else gdktarget=x11 fi -AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/win32/quartz]] select non-default GDK target], - gdktarget=$with_gdktarget) +AC_ARG_WITH(gdktarget, + AC_HELP_STRING([--with-gdktarget=@<:@x11/win32/quartz@:>@], + [select non-default GDK target]), + gdktarget=$with_gdktarget) AC_SUBST(gdktarget) case $gdktarget in @@ -726,8 +731,8 @@ dnl AC_HELP_STRING cause problems. dnl AC_HELP_STRING([--with-included-immodules=MODULE1 MODULE2 ...], dnl [build the specified input method modules into gtk]) AC_ARG_WITH(included_immodules, -[ --with-included-immodules=MODULE1,MODULE2,... - build the specified input methods into gtk]) + AC_HELP_STRING([--with-included-immodules=MODULE1,MODULE2,...], + [build the specified input methods into gtk])) if $dynworks; then : @@ -1017,7 +1022,7 @@ if test "x$gdktarget" = "xx11"; then fi # set up things for XInput - if test "x$with_xinput" != "xno" && $PKG_CONFIG --exists "xi" ; then + if test "x$enable_xinput" != "xno" && $PKG_CONFIG --exists "xi" ; then have_xinput=yes AC_DEFINE(XINPUT_XFREE, 1, @@ -1272,7 +1277,7 @@ LIBS="$old_LIBS" ################################################################ AC_ARG_ENABLE(cups, - [AC_HELP_STRING([--disable-cups] + [AC_HELP_STRING([--disable-cups], [disable cups print backend])],, [enable_cups=auto]) @@ -1332,7 +1337,7 @@ fi # AC_ARG_ENABLE(papi, - [AC_HELP_STRING([--disable-papi] + [AC_HELP_STRING([--disable-papi], [disable papi print backend])],, [enable_papi=auto]) @@ -1367,7 +1372,7 @@ if test "$os_win32" != "yes"; then *** postscript backend enabled.])) AC_CHECK_HEADER(cairo-svg.h,,AC_MSG_ERROR([ -*** Can't find cairo-svg.h. You must build Cairo with the +*** Cannot find cairo-svg.h. You must build Cairo with the *** svg backend enabled.])) fi @@ -1418,15 +1423,15 @@ GOBJECT_INTROSPECTION_CHECK([0.9.3]) ################################################# AC_ARG_ENABLE(packagekit, - AC_HELP_STRING([--disable-packagekit], - [build packagekit open with module])) + AC_HELP_STRING([--disable-packagekit], + [build packagekit open-with module])) ENABLE_PACKAGEKIT= if test "os_win32" != "yes"; then - if test "x$enable_packagekit" != "xno"; then - ENABLE_PACKAGEKIT=1 - AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable packagekit]) - fi + if test "x$enable_packagekit" != "xno"; then + ENABLE_PACKAGEKIT=1 + AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable packagekit]) + fi fi AC_SUBST(ENABLE_PACKAGEKIT) diff --git a/docs/reference/gtk/building.sgml b/docs/reference/gtk/building.sgml index ec232717c5..9b538d77f2 100644 --- a/docs/reference/gtk/building.sgml +++ b/docs/reference/gtk/building.sgml @@ -327,7 +327,7 @@ How to compile GTK+ itself --with-included-immodules=MODULE1,MODULE2,... - --enable-debug=[no|minimum|yes] + --enable-debug=[no/minimum/yes] --disable-Bsymbolic @@ -354,13 +354,18 @@ How to compile GTK+ itself --enable-papi - --with-xinput=[no|yes] + --enable-xinput + --disable-xinput - --with-gdktarget=[x11|win32|quartz] + --enable-packagekit + --disable-packagekit - --disable-introspection + --with-gdktarget=[x11/win32/quartz] + + + --enable-introspection=[no/auto/yes] @@ -513,7 +518,8 @@ How to compile GTK+ itself - <systemitem>--with-xinput</systemitem> + <systemitem>--disable-xinput</systemitem> and + <systemitem>--enable-xinput</systemitem> Controls whether GTK+ is built with support for the XInput or XInput2 extension. These extensions provide an extended @@ -525,6 +531,19 @@ How to compile GTK+ itself information. + + + <systemitem>--disable-packagekit</systemitem> and + <systemitem>--enable-packagekit</systemitem> + + By default the configure script will try + to build the PackageKit support for the open-with dialog if + the PackageKit libraries are found. + These options can be used to explicitly control whether + PackageKit support should be built. + + + <systemitem>--with-gdktarget</systemitem> @@ -536,10 +555,11 @@ How to compile GTK+ itself - <systemitem>--disable-introspection</systemitem> + <systemitem>--enable-introspection</systemitem> - Build without introspection support. + Build with or without introspection support. + The default is 'auto'. From 8d2104fdc94fea4d4d32358058e6b8aecb4d86e7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 16:56:20 +0100 Subject: [PATCH 0993/1463] gdk: Move window_get_device_position function out of the device hooks --- gdk/gdkdisplay.c | 39 --------------------------------------- gdk/gdkdisplayprivate.h | 6 ------ gdk/gdkwindow.c | 36 ++++++++++++++++++++++++++++++++++-- 3 files changed, 34 insertions(+), 47 deletions(-) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 71bc00e76a..16fc483148 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -72,12 +72,6 @@ static void gdk_display_dispose (GObject *object); static void gdk_display_finalize (GObject *object); -static GdkWindow *gdk_window_real_window_get_device_position (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); static GdkWindow *gdk_display_real_get_window_at_device_position (GdkDisplay *display, GdkDevice *device, gint *win_x, @@ -94,7 +88,6 @@ static guint signals[LAST_SIGNAL] = { 0 }; static const GdkDisplayDeviceHooks default_device_hooks = { gdk_display_real_get_device_state, - gdk_window_real_window_get_device_position, gdk_display_real_get_window_at_device_position }; @@ -694,38 +687,6 @@ gdk_display_real_get_window_at_device_position (GdkDisplay *display, return window; } -static GdkWindow * -gdk_window_real_window_get_device_position (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask) -{ - gint tmpx, tmpy; - GdkModifierType tmp_mask; - gboolean normal_child; - - normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window, - device, - &tmpx, &tmpy, - &tmp_mask); - /* We got the coords on the impl, convert to the window */ - tmpx -= window->abs_x; - tmpy -= window->abs_y; - - if (x) - *x = tmpx; - if (y) - *y = tmpy; - if (mask) - *mask = tmp_mask; - - if (normal_child) - return _gdk_window_find_child_at (window, tmpx, tmpy); - return NULL; -} - /** * gdk_display_get_window_at_pointer: * @display: a #GdkDisplay diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index ceea86bb8c..fc59bc3ce5 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -41,12 +41,6 @@ struct _GdkDisplayDeviceHooks gint *x, gint *y, GdkModifierType *mask); - GdkWindow * (* window_get_device_position) (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask); GdkWindow * (* window_at_device_position) (GdkDisplay *display, GdkDevice *device, gint *win_x, diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 260746c990..b818cfca7f 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4938,6 +4938,38 @@ gdk_window_get_pointer (GdkWindow *window, return gdk_window_get_device_position (window, display->core_pointer, x, y, mask); } +static GdkWindow * +gdk_window_real_window_get_device_position (GdkDisplay *display, + GdkDevice *device, + GdkWindow *window, + gint *x, + gint *y, + GdkModifierType *mask) +{ + gint tmpx, tmpy; + GdkModifierType tmp_mask; + gboolean normal_child; + + normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window, + device, + &tmpx, &tmpy, + &tmp_mask); + /* We got the coords on the impl, convert to the window */ + tmpx -= window->abs_x; + tmpy -= window->abs_y; + + if (x) + *x = tmpx; + if (y) + *y = tmpy; + if (mask) + *mask = tmp_mask; + + if (normal_child) + return _gdk_window_find_child_at (window, tmpx, tmpy); + return NULL; +} + /** * gdk_window_get_device_position: * @window: a #GdkWindow. @@ -4975,8 +5007,8 @@ gdk_window_get_device_position (GdkWindow *window, tmp_y = 0; display = gdk_window_get_display (window); - child = display->device_hooks->window_get_device_position (display, device, window, - &tmp_x, &tmp_y, &tmp_mask); + child = gdk_window_real_window_get_device_position (display, device, window, + &tmp_x, &tmp_y, &tmp_mask); if (x) *x = tmp_x; From 22676022954a80759f36624a9226cae1eb662e4b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 17:01:36 +0100 Subject: [PATCH 0994/1463] gdk: Simplify code Fold the previous vfunc into the only caller. --- gdk/gdkwindow.c | 54 +++++++++++-------------------------------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index b818cfca7f..30d5c8d52c 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -4938,38 +4938,6 @@ gdk_window_get_pointer (GdkWindow *window, return gdk_window_get_device_position (window, display->core_pointer, x, y, mask); } -static GdkWindow * -gdk_window_real_window_get_device_position (GdkDisplay *display, - GdkDevice *device, - GdkWindow *window, - gint *x, - gint *y, - GdkModifierType *mask) -{ - gint tmpx, tmpy; - GdkModifierType tmp_mask; - gboolean normal_child; - - normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window, - device, - &tmpx, &tmpy, - &tmp_mask); - /* We got the coords on the impl, convert to the window */ - tmpx -= window->abs_x; - tmpy -= window->abs_y; - - if (x) - *x = tmpx; - if (y) - *y = tmpy; - if (mask) - *mask = tmp_mask; - - if (normal_child) - return _gdk_window_find_child_at (window, tmpx, tmpy); - return NULL; -} - /** * gdk_window_get_device_position: * @window: a #GdkWindow. @@ -4994,21 +4962,21 @@ gdk_window_get_device_position (GdkWindow *window, gint *y, GdkModifierType *mask) { - GdkDisplay *display; gint tmp_x, tmp_y; GdkModifierType tmp_mask; - GdkWindow *child; + gboolean normal_child; g_return_val_if_fail (GDK_IS_WINDOW (window), NULL); g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); - tmp_x = 0; - tmp_y = 0; - - display = gdk_window_get_display (window); - child = gdk_window_real_window_get_device_position (display, device, window, - &tmp_x, &tmp_y, &tmp_mask); + normal_child = GDK_WINDOW_IMPL_GET_CLASS (window->impl)->get_device_state (window, + device, + &tmp_x, &tmp_y, + &tmp_mask); + /* We got the coords on the impl, convert to the window */ + tmp_x -= window->abs_x; + tmp_y -= window->abs_y; if (x) *x = tmp_x; @@ -5017,9 +4985,11 @@ gdk_window_get_device_position (GdkWindow *window, if (mask) *mask = tmp_mask; - _gdk_display_enable_motion_hints (display, device); + _gdk_display_enable_motion_hints (gdk_window_get_display (window), device); - return child; + if (normal_child) + return _gdk_window_find_child_at (window, tmp_x, tmp_y); + return NULL; } /** From 6e18276f521e827df5e4079fec4d334e9cf5ed56 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 17:16:20 +0100 Subject: [PATCH 0995/1463] gdk: Move get_device_state out of the display hooks Previous callers now use _gdk_device_query_state() directly. --- gdk/gdkdevice.c | 14 +++++++--- gdk/gdkdisplay.c | 57 ++++++++++++----------------------------- gdk/gdkdisplayprivate.h | 6 ----- 3 files changed, 27 insertions(+), 50 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index 3e78fc0035..e8fdeabdb0 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -416,19 +416,25 @@ gdk_device_get_position (GdkDevice *device, gint *x, gint *y) { - GdkScreen *tmp_screen; GdkDisplay *display; gint tmp_x, tmp_y; - GdkModifierType tmp_mask; + GdkScreen *default_screen; + GdkWindow *root; g_return_if_fail (GDK_IS_DEVICE (device)); g_return_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD); display = gdk_device_get_display (device); - display->device_hooks->get_device_state (display, device, &tmp_screen, &tmp_x, &tmp_y, &tmp_mask); + default_screen = gdk_display_get_default_screen (display); + + _gdk_device_query_state (device, + gdk_screen_get_root_window (default_screen), + &root, NULL, + &tmp_x, &tmp_y, + NULL, NULL, NULL); if (screen) - *screen = tmp_screen; + *screen = gdk_window_get_screen (root); if (x) *x = tmp_x; if (y) diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 16fc483148..5d7441bf29 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -76,18 +76,11 @@ static GdkWindow *gdk_display_real_get_window_at_device_position (GdkDisplay GdkDevice *device, gint *win_x, gint *win_y); -static void gdk_display_real_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); static GdkAppLaunchContext *gdk_display_real_get_app_launch_context (GdkDisplay *display); static guint signals[LAST_SIGNAL] = { 0 }; static const GdkDisplayDeviceHooks default_device_hooks = { - gdk_display_real_get_device_state, gdk_display_real_get_window_at_device_position }; @@ -635,20 +628,30 @@ gdk_display_get_pointer (GdkDisplay *display, gint *y, GdkModifierType *mask) { - GdkScreen *tmp_screen; + GdkScreen *default_screen; + GdkWindow *root; gint tmp_x, tmp_y; GdkModifierType tmp_mask; g_return_if_fail (GDK_IS_DISPLAY (display)); - /* We call get_device_state here manually instead of gdk_device_get_position() - * because we also care about the modifier mask */ + if (gdk_display_is_closed (display)) + return; + + default_screen = gdk_display_get_default_screen (display); + + /* We call _gdk_device_query_state() here manually instead of + * gdk_device_get_position() because we care about the modifier mask */ + + _gdk_device_query_state (display->core_pointer, + gdk_screen_get_root_window (default_screen), + &root, NULL, + &tmp_x, &tmp_y, + NULL, NULL, + &tmp_mask); - display->device_hooks->get_device_state (display, - display->core_pointer, - &tmp_screen, &tmp_x, &tmp_y, &tmp_mask); if (screen) - *screen = tmp_screen; + *screen = gdk_window_get_screen (root); if (x) *x = tmp_x; if (y) @@ -716,32 +719,6 @@ gdk_display_get_window_at_pointer (GdkDisplay *display, return gdk_device_get_window_at_position (display->core_pointer, win_x, win_y); } -static void -gdk_display_real_get_device_state (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask) -{ - GdkScreen *default_screen; - GdkWindow *root; - - if (gdk_display_is_closed (display)) - return; - - default_screen = gdk_display_get_default_screen (display); - - _gdk_device_query_state (device, - gdk_screen_get_root_window (default_screen), - &root, NULL, - x, y, - NULL, NULL, - mask); - - *screen = gdk_window_get_screen (root); -} - static void generate_grab_broken_event (GdkWindow *window, GdkDevice *device, diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index fc59bc3ce5..ad89d6a9c9 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -35,12 +35,6 @@ typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; struct _GdkDisplayDeviceHooks { - void (* get_device_state) (GdkDisplay *display, - GdkDevice *device, - GdkScreen **screen, - gint *x, - gint *y, - GdkModifierType *mask); GdkWindow * (* window_at_device_position) (GdkDisplay *display, GdkDevice *device, gint *win_x, From 6c39cade165d023630d7694e499021088a995634 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 17:31:54 +0100 Subject: [PATCH 0996/1463] gdk: Get rid of GdkDisplayDeviceHooks Move the only user to call the function directly and copy the called function over. --- gdk/gdkdevice.c | 34 +++++++++++++++++++++++++++++++++- gdk/gdkdisplay.c | 41 ----------------------------------------- gdk/gdkdisplayprivate.h | 12 ------------ 3 files changed, 33 insertions(+), 54 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index e8fdeabdb0..bd529cbe89 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -19,6 +19,8 @@ #include "config.h" +#include + #include "gdkdeviceprivate.h" #include "gdkdisplayprivate.h" #include "gdkinternals.h" @@ -441,6 +443,36 @@ gdk_device_get_position (GdkDevice *device, *y = tmp_y; } +static GdkWindow * +gdk_display_real_get_window_at_device_position (GdkDisplay *display, + GdkDevice *device, + gint *win_x, + gint *win_y) +{ + GdkWindow *window; + gint x, y; + + window = _gdk_device_window_at_position (device, &x, &y, NULL, FALSE); + + /* This might need corrections, as the native window returned + may contain client side children */ + if (window) + { + double xx, yy; + + window = _gdk_window_find_descendant_at (window, + x, y, + &xx, &yy); + x = floor (xx + 0.5); + y = floor (yy + 0.5); + } + + *win_x = x; + *win_y = y; + + return window; +} + /** * gdk_device_get_window_at_position: * @device: pointer #GdkDevice to query info to. @@ -470,7 +502,7 @@ gdk_device_get_window_at_position (GdkDevice *device, display = gdk_device_get_display (device); - window = display->device_hooks->window_at_device_position (display, device, &tmp_x, &tmp_y); + window = gdk_display_real_get_window_at_device_position (display, device, &tmp_x, &tmp_y); if (win_x) *win_x = tmp_x; diff --git a/gdk/gdkdisplay.c b/gdk/gdkdisplay.c index 5d7441bf29..fa2e645467 100644 --- a/gdk/gdkdisplay.c +++ b/gdk/gdkdisplay.c @@ -34,7 +34,6 @@ #include "gdkscreen.h" #include -#include /** @@ -72,18 +71,10 @@ static void gdk_display_dispose (GObject *object); static void gdk_display_finalize (GObject *object); -static GdkWindow *gdk_display_real_get_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y); static GdkAppLaunchContext *gdk_display_real_get_app_launch_context (GdkDisplay *display); static guint signals[LAST_SIGNAL] = { 0 }; -static const GdkDisplayDeviceHooks default_device_hooks = { - gdk_display_real_get_window_at_device_position -}; - G_DEFINE_TYPE (GdkDisplay, gdk_display, G_TYPE_OBJECT) static void @@ -191,8 +182,6 @@ gdk_display_init (GdkDisplay *display) display->double_click_time = 250; display->double_click_distance = 5; - display->device_hooks = &default_device_hooks; - display->device_grabs = g_hash_table_new (NULL, NULL); display->motion_hint_info = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_free); @@ -660,36 +649,6 @@ gdk_display_get_pointer (GdkDisplay *display, *mask = tmp_mask; } -static GdkWindow * -gdk_display_real_get_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y) -{ - GdkWindow *window; - gint x, y; - - window = _gdk_device_window_at_position (device, &x, &y, NULL, FALSE); - - /* This might need corrections, as the native window returned - may contain client side children */ - if (window) - { - double xx, yy; - - window = _gdk_window_find_descendant_at (window, - x, y, - &xx, &yy); - x = floor (xx + 0.5); - y = floor (yy + 0.5); - } - - *win_x = x; - *win_y = y; - - return window; -} - /** * gdk_display_get_window_at_pointer: * @display: a #GdkDisplay diff --git a/gdk/gdkdisplayprivate.h b/gdk/gdkdisplayprivate.h index ad89d6a9c9..fc82f4f093 100644 --- a/gdk/gdkdisplayprivate.h +++ b/gdk/gdkdisplayprivate.h @@ -31,16 +31,6 @@ G_BEGIN_DECLS #define GDK_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_DISPLAY, GdkDisplayClass)) -typedef struct _GdkDisplayDeviceHooks GdkDisplayDeviceHooks; - -struct _GdkDisplayDeviceHooks -{ - GdkWindow * (* window_at_device_position) (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y); -}; - typedef struct _GdkDisplayClass GdkDisplayClass; /* Tracks information about the keyboard grab on this display */ @@ -110,8 +100,6 @@ struct _GdkDisplay guint double_click_time; /* Maximum time between clicks in msecs */ GdkDevice *core_pointer; /* Core pointer device */ - const GdkDisplayDeviceHooks *device_hooks; /* Hooks for querying pointer */ - guint closed : 1; /* Whether this display has been closed */ guint ignore_core_events : 1; /* Don't send core motion and button event */ From ae7e5fc2d19445ba55832888adcc7c24aeb17323 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 3 Jan 2011 17:42:35 +0100 Subject: [PATCH 0997/1463] gdk: Simplify code Move a previous vfunc into the only caller. --- gdk/gdkdevice.c | 46 +++++++++++++--------------------------------- 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/gdk/gdkdevice.c b/gdk/gdkdevice.c index bd529cbe89..1b772bae3b 100644 --- a/gdk/gdkdevice.c +++ b/gdk/gdkdevice.c @@ -443,36 +443,6 @@ gdk_device_get_position (GdkDevice *device, *y = tmp_y; } -static GdkWindow * -gdk_display_real_get_window_at_device_position (GdkDisplay *display, - GdkDevice *device, - gint *win_x, - gint *win_y) -{ - GdkWindow *window; - gint x, y; - - window = _gdk_device_window_at_position (device, &x, &y, NULL, FALSE); - - /* This might need corrections, as the native window returned - may contain client side children */ - if (window) - { - double xx, yy; - - window = _gdk_window_find_descendant_at (window, - x, y, - &xx, &yy); - x = floor (xx + 0.5); - y = floor (yy + 0.5); - } - - *win_x = x; - *win_y = y; - - return window; -} - /** * gdk_device_get_window_at_position: * @device: pointer #GdkDevice to query info to. @@ -493,16 +463,26 @@ gdk_device_get_window_at_position (GdkDevice *device, gint *win_x, gint *win_y) { - GdkDisplay *display; gint tmp_x, tmp_y; GdkWindow *window; g_return_val_if_fail (GDK_IS_DEVICE (device), NULL); g_return_val_if_fail (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD, NULL); - display = gdk_device_get_display (device); + window = _gdk_device_window_at_position (device, &tmp_x, &tmp_y, NULL, FALSE); - window = gdk_display_real_get_window_at_device_position (display, device, &tmp_x, &tmp_y); + /* This might need corrections, as the native window returned + may contain client side children */ + if (window) + { + double xx, yy; + + window = _gdk_window_find_descendant_at (window, + tmp_x, tmp_y, + &xx, &yy); + tmp_x = floor (xx + 0.5); + tmp_y = floor (yy + 0.5); + } if (win_x) *win_x = tmp_x; From cacee7e7a380ac9009fc1339a860f563ebe4dc4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 3 Jan 2011 10:45:37 -0500 Subject: [PATCH 0998/1463] configure.ac: Support multiple GDK backends in one build --- Makefile.am | 4 +- Makefile.decl | 10 ++- README.win32 | 2 +- configure.ac | 116 ++++++++++++++++++------------- docs/reference/gtk/building.sgml | 28 +++++--- gdk-3.0.pc.in | 2 +- gdk/Makefile.am | 5 +- gtk+-3.0-uninstalled.pc.in | 6 +- gtk+-3.0.pc.in | 2 +- gtk+-unix-print-3.0.pc.in | 2 +- gtk/Makefile.am | 2 - 11 files changed, 107 insertions(+), 72 deletions(-) diff --git a/Makefile.am b/Makefile.am index 107985ab0f..1063b9fb2f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -71,8 +71,8 @@ gtk+-*-3.0-uninstalled.pc: gtk+-3.0-uninstalled.pc pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = gdk-3.0.pc gtk+-3.0.pc gail-3.0.pc -pkgconfig_DATA += $(patsubst %,gtk+-%-3.0.pc,@gdktarget@) -pkgconfig_DATA += $(patsubst %,gdk-%-3.0.pc,@gdktarget@) +pkgconfig_DATA += ${GDK_BACKENDS:%=gtk+-%-3.0.pc} +pkgconfig_DATA += ${GDK_BACKENDS:%=gdk-%-3.0.pc} if OS_UNIX pkgconfig_DATA += gtk+-unix-print-3.0.pc diff --git a/Makefile.decl b/Makefile.decl index 2f6c579d2d..1ecbc61fe5 100644 --- a/Makefile.decl +++ b/Makefile.decl @@ -17,9 +17,15 @@ XIDS = 101 102 103 104 105 106 107 197 199 211 223 227 293 307 308 309 310 311 \ 1008 1009 4703 4721 4723 4729 4733 4751 9973 9974 9975 9976 9977 9978 9979 \ 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 \ 9995 9996 9997 9998 9999 + +if USE_X11 SKIP_GDKTARGET = \ - test "$(gdktarget)" != "x11" \ - && echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target." + false +else +SKIP_GDKTARGET = \ + echo "Gtk+Tests:INFO: Skipping GUI tests for non-X11 target." +endif + XVFB_START = \ ${XVFB} -help 2>/dev/null 1>&2 \ && XID=`for id in $(XIDS) ; do test -e /tmp/.X$$id-lock || { echo $$id; exit 0; }; done; exit 1` \ diff --git a/README.win32 b/README.win32 index f7c8ca6307..fbbd691f92 100644 --- a/README.win32 +++ b/README.win32 @@ -85,7 +85,7 @@ LDFLAGS="-L/devel/dist/${ARCH}/${LIBPNG}/lib \ LIBS=-lintl \ CFLAGS=-O2 \ ./configure \ ---with-gdktarget=win32 \ +--enable-win32-backend \ --disable-gdiplus \ --with-included-immodules \ --without-libjasper \ diff --git a/configure.ac b/configure.ac index 522bf69f8b..d163ca2a24 100644 --- a/configure.ac +++ b/configure.ac @@ -255,22 +255,57 @@ AC_ARG_ENABLE(xinput, [support XInput extension if available [default=yes]])],, [enable_xinput="yes"]) -if test "$platform_win32" = yes; then - gdktarget=win32 -else - gdktarget=x11 +AC_ARG_ENABLE(x11-backend, + [AC_HELP_STRING([--enable-x11-backend], + [enable the X11 gdk backend])], + [backend_set=yes]) +AC_ARG_ENABLE(win32-backend, + [AC_HELP_STRING([--enable-win32-backend], + [enable the Win32 gdk backend])], + [backend_set=yes]) +AC_ARG_ENABLE(quartz-backend, + [AC_HELP_STRING([--enable-quartz-backend], + [enable the quartz gdk backend])], + [backend_set=yes]) + +if test -z "$backend_set"; then + if test "$platform_win32" = yes; then + enable_win32_backend=yes + else + enable_x11_backend=yes + fi fi -AC_ARG_WITH(gdktarget, - AC_HELP_STRING([--with-gdktarget=@<:@x11/win32/quartz@:>@], - [select non-default GDK target]), - gdktarget=$with_gdktarget) +cairo_backends= +GDK_BACKENDS= -AC_SUBST(gdktarget) -case $gdktarget in - x11|win32|quartz) ;; - *) AC_MSG_ERROR([Invalid target for GDK: use x11, quartz or win32.]);; -esac +if test "x$enable_x11_backend" == xyes; then + # GDK calls the xlib backend "x11," cairo calls it "xlib." Other + # backend names are identical. + cairo_backends="$cairo_backends cairo-xlib" + GDK_BACKENDS="$GDK_BACKENDS x11" + # Pull in gio-unix for GDesktopAppInfo usage, see at least + # gdkapplaunchcontext-x11.c + GIO_PACKAGE=gio-unix-2.0 +fi + +if test "x$enable_win32_backend" == xyes; then + cairo_backends="$cairo_backends cairo-win32" + GDK_BACKENDS="$GDK_BACKENDS win32" + GIO_PACKAGE=gio-2.0 +fi + +if test "x$enable_quartz_backend" == xyes; then + cairo_backends="$cairo_backends cairo-quartz" + GDK_BACKENDS="$GDK_BACKENDS quartz" + GIO_PACKAGE=gio-2.0 +fi + +AC_SUBST(GDK_BACKENDS) + +if test -z "$GDK_BACKENDS"; then + AC_MSG_ERROR([No GDK backends selected.]) +fi if test "x$enable_debug" = "xyes"; then test "$cflags_set" = set || CFLAGS="$CFLAGS -g" @@ -363,18 +398,7 @@ PKG_CHECK_MODULES(BASE_DEPENDENCIES, cairo-gobject >= cairo_required_version dnl gdk-pixbuf-2.0 >= gdk_pixbuf_required_version]) -## In addition to checking that cairo is present, we also need to -## check that the correct cairo backend is there. E.g. if the GDK -## target is win32 we need the cairo-win32 backend and so on. -cairo_backend=$gdktarget - -# GDK calls the xlib backend "x11," cairo calls it "xlib." Other -# backend names are identical. -if test "x$cairo_backend" = "xx11"; then - cairo_backend=xlib -fi -PKG_CHECK_MODULES(CAIRO_BACKEND, - [cairo-$cairo_backend >= cairo_required_version]) +PKG_CHECK_MODULES(CAIRO_BACKEND, [$cairo_backends]) if test "$os_win32" != yes; then # libtool option to control which symbols are exported @@ -744,11 +768,11 @@ else fi all_immodules="am-et,cedilla,cyrillic-translit" -if test "$gdktarget" = "win32"; then +if test "x$enable_win32_backend" == xyes; then all_immodules="${all_immodules},ime" fi all_immodules="${all_immodules},inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr" -if test "$gdktarget" = "x11"; then +if test "x$enable_x11_backend" == xyes; then all_immodules="${all_immodules},xim" fi @@ -842,7 +866,7 @@ GDK_EXTRA_CFLAGS= GTK_DEP_PACKAGES_FOR_X= GTK_DEP_LIBS_FOR_X= -if test "x$gdktarget" = "xx11"; then +if test "x$enable_x11_backend" == xyes; then X_PACKAGES=fontconfig # @@ -1101,14 +1125,15 @@ else AM_CONDITIONAL(HAVE_X11R6, false) fi -if test "x$gdktarget" = "xwin32"; then + +if test "x$enable_win32_backend" == xyes; then GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid" AM_CONDITIONAL(USE_WIN32, true) else AM_CONDITIONAL(USE_WIN32, false) fi -if test "x$gdktarget" = "xquartz"; then +if test "x$enable_quartz_backend" == xyes; then GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa" AM_CONDITIONAL(USE_QUARTZ, true) else @@ -1117,7 +1142,7 @@ fi # Check for Pango flags -if test "x$gdktarget" = "xwin32"; then +if test "x$enable_win32_backend" == xyes; then PANGO_PACKAGES="pangowin32 pangocairo" else PANGO_PACKAGES="pango pangocairo" @@ -1152,12 +1177,7 @@ fi CFLAGS="$saved_cflags" LDFLAGS="$saved_ldflags" -# Pull in gio-unix for GDesktopAppInfo usage, see at least gdkapplaunchcontext-x11.c -if test "x$gdktarget" = "xx11"; then - GDK_PACKAGES="$PANGO_PACKAGES gio-unix-2.0 $X_PACKAGES gdk-pixbuf-2.0 cairo-$cairo_backend cairo-gobject" -else - GDK_PACKAGES="$PANGO_PACKAGES gio-2.0 gdk-pixbuf-2.0 cairo-$cairo_backend cairo-gobject" -fi +GDK_PACKAGES="$PANGO_PACKAGES $GIO_PACKAGE $X_PACKAGES gdk-pixbuf-2.0 $cairo_backends cairo-gobject" GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES`" GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS" @@ -1207,7 +1227,7 @@ else fi GTK_PACKAGES="atk cairo cairo-gobject gdk-pixbuf-2.0 gio-2.0" -if test "x$gdktarget" = "xx11"; then +if test "x$enable_x11_backend" == xyes; then GTK_PACKAGES="$GTK_PACKAGES pangoft2" fi GTK_EXTRA_LIBS= @@ -1524,18 +1544,18 @@ _______EOF fi ],[ gdk_windowing='' -if expr "$gdktarget" : ".*x11.*" > /dev/null ; then - gdk_windowing='$gdk_windowing -#define GDK_WINDOWING_X11' +if test "x$enable_x11_backend" == xyes; then + gdk_windowing="\$gdk_windowing +#define GDK_WINDOWING_X11" fi -if expr "$gdktarget" : ".*win32.*" > /dev/null ; then - gdk_windowing='$gdk_windowing +if test "x$enable_win32_backend" == xyes; then + gdk_windowing="\$gdk_windowing #define GDK_NATIVE_WINDOW_POINTER -#define GDK_WINDOWING_WIN32' +#define GDK_WINDOWING_WIN32" fi -if expr "$gdktarget" : ".*quartz.*" > /dev/null ; then - gdk_windowing='$gdk_windowing -#define GDK_WINDOWING_QUARTZ' +if test "x$enable_quartz_backend" == xyes; then + gdk_windowing="\$gdk_windowing +#define GDK_WINDOWING_QUARTZ" fi ]) @@ -1626,4 +1646,4 @@ perf/Makefile AC_OUTPUT echo "configuration: - target: $gdktarget" + backends: $GDK_BACKENDS" diff --git a/docs/reference/gtk/building.sgml b/docs/reference/gtk/building.sgml index 9b538d77f2..c02cf82f61 100644 --- a/docs/reference/gtk/building.sgml +++ b/docs/reference/gtk/building.sgml @@ -360,9 +360,14 @@ How to compile GTK+ itself --enable-packagekit --disable-packagekit - - - --with-gdktarget=[x11/win32/quartz] + + + --enable-x11-backend + --disable-x11-backend + --enable-win32-backend + --disable-win32-backend + --enable-quartz-backend + --disable-quartz-backend --enable-introspection=[no/auto/yes] @@ -545,13 +550,20 @@ How to compile GTK+ itself - <systemitem>--with-gdktarget</systemitem> + <systemitem>--enable-x11-backend</systemitem>, + <systemitem>--disable-x11-backend</systemitem>, + <systemitem>--enable-win32-backend</systemitem>, + <systemitem>--disable-win32-backend</systemitem>, + <systemitem>--enable-quartz-backend</systemitem>, + and <systemitem>--disable-quartz-backend</systemitem> - Toggles between the supported backends for GDK. - The default is x11, unless the platform is Windows, in which - case the default is win32. Other supported backends are - the quartz backend for OS X. + Enables specific backends for GDK. If none of these options + are given, the x11 backend will be enabled by default, + unless the platform is Windows, in which case the default is + win32. If any backend is explicitly enabled or disabled, no + other platform will be enabled automatically. Other + supported backends are the quartz backend for OS X. diff --git a/gdk-3.0.pc.in b/gdk-3.0.pc.in index 796938d937..5c7d27e51b 100644 --- a/gdk-3.0.pc.in +++ b/gdk-3.0.pc.in @@ -2,7 +2,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -target=@gdktarget@ +targets=@GDK_BACKENDS@ Name: GDK Description: GTK+ Drawing Kit diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 4d3a92ea5e..c28a07f51a 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -8,7 +8,8 @@ INTROSPECTION_COMPILER_ARGS = \ --includedir=$(srcdir) \ --includedir=. -SUBDIRS = $(gdktarget) . tests +SUBDIRS = $(GDK_BACKENDS) . tests + DIST_SUBDIRS = win32 x11 quartz tests CLEANFILES = @@ -38,8 +39,6 @@ INCLUDES = \ $(GTK_DEBUG_FLAGS) \ $(GDK_DEP_CFLAGS) -gtarget=$(gdktarget) - if PLATFORM_WIN32 no_undefined = -no-undefined endif diff --git a/gtk+-3.0-uninstalled.pc.in b/gtk+-3.0-uninstalled.pc.in index 238ad6ff9e..dbccc16111 100644 --- a/gtk+-3.0-uninstalled.pc.in +++ b/gtk+-3.0-uninstalled.pc.in @@ -1,10 +1,10 @@ -target=@gdktarget@ +targets=@GDK_BACKENDS@ gtk_binary_version=@GTK_BINARY_VERSION@ Name: GTK+ Uninstalled Description: GTK+ Graphical UI Library (${target} target), Not Installed Version: @VERSION@ -Requires: gdk-${target}-@GTK_API_VERSION@-uninstalled @GTK_PACKAGES@ -Libs: ${pc_top_builddir}/${pcfiledir}/gtk/libgtk-${target}-@GTK_API_VERSION@.la @GTK_EXTRA_LIBS@ +Requires: gdk-@GTK_API_VERSION@-uninstalled @GTK_PACKAGES@ +Libs: ${pc_top_builddir}/${pcfiledir}/gtk/libgtk-@GTK_API_VERSION@.la @GTK_EXTRA_LIBS@ Cflags: -I${pc_top_builddir}/${pcfiledir}/@srcdir@ -I${pc_top_builddir}/${pcfiledir} @GTK_EXTRA_CFLAGS@ diff --git a/gtk+-3.0.pc.in b/gtk+-3.0.pc.in index b11c4a1791..cc318822a8 100644 --- a/gtk+-3.0.pc.in +++ b/gtk+-3.0.pc.in @@ -2,7 +2,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -target=@gdktarget@ +targets=@GDK_BACKENDS@ gtk_binary_version=@GTK_BINARY_VERSION@ gtk_host=@host@ diff --git a/gtk+-unix-print-3.0.pc.in b/gtk+-unix-print-3.0.pc.in index cbace1af49..8c0f32326c 100644 --- a/gtk+-unix-print-3.0.pc.in +++ b/gtk+-unix-print-3.0.pc.in @@ -2,7 +2,7 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -target=@gdktarget@ +targets=@GDK_BACKENDS@ gtk_binary_version=@GTK_BINARY_VERSION@ gtk_host=@host@ diff --git a/gtk/Makefile.am b/gtk/Makefile.am index aab506e7e8..bc76c15775 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -57,8 +57,6 @@ INCLUDES = \ $(gtk_clipboard_dnd_c_sources_CFLAGS) \ $(INCLUDED_IMMODULE_DEFINE) -gtarget=$(gdktarget) - if PLATFORM_WIN32 no_undefined = -no-undefined endif From 9c002cf2c12daafa041e3ba006a485eda556517e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 3 Jan 2011 10:55:23 -0500 Subject: [PATCH 0999/1463] Silence automake warnings When commenting out a binary, also comment out the related variables. Don't include Makefile.decl in gtk-doc Makefile.am's as they disagree on assigning to EXTRA_DIST. --- docs/reference/gdk/Makefile.am | 1 - docs/reference/gtk/Makefile.am | 1 - docs/reference/libgail-util/Makefile.am | 1 - gdk/tests/Makefile.am | 4 ++-- gtk/tests/Makefile.am | 8 ++++---- 5 files changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am index f8441217c3..6eeffdb0d7 100644 --- a/docs/reference/gdk/Makefile.am +++ b/docs/reference/gdk/Makefile.am @@ -1,5 +1,4 @@ ## Process this file with automake to produce Makefile.in -include $(top_srcdir)/Makefile.decl AUTOMAKE_OPTIONS = 1.6 diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index f0bd152eb4..9389c0413a 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -1,5 +1,4 @@ ## Process this file with automake to produce Makefile.in -include $(top_srcdir)/Makefile.decl AUTOMAKE_OPTIONS = 1.6 diff --git a/docs/reference/libgail-util/Makefile.am b/docs/reference/libgail-util/Makefile.am index cfd0f688d0..ee583e1753 100644 --- a/docs/reference/libgail-util/Makefile.am +++ b/docs/reference/libgail-util/Makefile.am @@ -1,5 +1,4 @@ ## Process this file with automake to produce Makefile.in -include $(top_srcdir)/Makefile.decl AUTOMAKE_OPTIONS = 1.7 diff --git a/gdk/tests/Makefile.am b/gdk/tests/Makefile.am index e23df12557..5930f4ca33 100644 --- a/gdk/tests/Makefile.am +++ b/gdk/tests/Makefile.am @@ -16,8 +16,8 @@ progs_ldadd = \ $(NULL) #TEST_PROGS += check-gdk-cairo -check_gdk_cairo_SOURCES = check-gdk-cairo.c -check_gdk_cairo_LDADD = $(progs_ldadd) +#check_gdk_cairo_SOURCES = check-gdk-cairo.c +#check_gdk_cairo_LDADD = $(progs_ldadd) TEST_PROGS += gdk-color gdk_color_SOURCES = gdk-color.c diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index 34367ee4db..994d716146 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -57,8 +57,8 @@ floating_LDADD = $(progs_ldadd) # on a naked X server creates slightly different event # sequences than running on a normal desktop # TEST_PROGS += crossingevents -crossingevents_SOURCES = crossingevents.c -crossingevents_LDADD = $(progs_ldadd) +#crossingevents_SOURCES = crossingevents.c +#crossingevents_LDADD = $(progs_ldadd) # Should be ported to new API's #TEST_PROGS += filechooser @@ -72,9 +72,9 @@ builder_LDFLAGS = -export-dynamic if OS_UNIX #TEST_PROGS += defaultvalue +#defaultvalue_SOURCES = defaultvalue.c pixbuf-init.c +#defaultvalue_LDADD = $(progs_ldadd) endif -defaultvalue_SOURCES = defaultvalue.c pixbuf-init.c -defaultvalue_LDADD = $(progs_ldadd) TEST_PROGS += textbuffer textbuffer_SOURCES = textbuffer.c pixbuf-init.c From 317f8baf6037a49553b6774946c1e35e8f54a5df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Mon, 3 Jan 2011 11:29:25 -0500 Subject: [PATCH 1000/1463] configure.ac: Consolidate gdk backend specific checks and code Only the big chunk of x11 checks is left further down in the file, but that depends on variables and checks above it, so we'll leave that in place for now. --- configure.ac | 75 +++++++++++++++++++--------------------------------- 1 file changed, 27 insertions(+), 48 deletions(-) diff --git a/configure.ac b/configure.ac index d163ca2a24..8900aedb1c 100644 --- a/configure.ac +++ b/configure.ac @@ -277,7 +277,13 @@ if test -z "$backend_set"; then fi cairo_backends= +backend_immodules= GDK_BACKENDS= +GDK_EXTRA_LIBS= +GDK_EXTRA_CFLAGS= +GDK_WINDOWING= +GIO_PACKAGE=gio-2.0 +PANGO_PACKAGES="pango pangocairo" if test "x$enable_x11_backend" == xyes; then # GDK calls the xlib backend "x11," cairo calls it "xlib." Other @@ -287,20 +293,37 @@ if test "x$enable_x11_backend" == xyes; then # Pull in gio-unix for GDesktopAppInfo usage, see at least # gdkapplaunchcontext-x11.c GIO_PACKAGE=gio-unix-2.0 + backend_immodules="$backend_immodules,xim" + GDK_WINDOWING="$GDK_WINDOWING +#define GDK_WINDOWING_X11" fi if test "x$enable_win32_backend" == xyes; then cairo_backends="$cairo_backends cairo-win32" GDK_BACKENDS="$GDK_BACKENDS win32" - GIO_PACKAGE=gio-2.0 + backend_immodules="$backend_immodules,ime" + GDK_WINDOWING="$GDK_WINDOWING +#define GDK_NATIVE_WINDOW_POINTER +#define GDK_WINDOWING_WIN32" + GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid" + AM_CONDITIONAL(USE_WIN32, true) + PANGO_PACKAGES="pangowin32 pangocairo" +else + AM_CONDITIONAL(USE_WIN32, false) fi if test "x$enable_quartz_backend" == xyes; then cairo_backends="$cairo_backends cairo-quartz" GDK_BACKENDS="$GDK_BACKENDS quartz" - GIO_PACKAGE=gio-2.0 + GDK_WINDOWING="$GDK_WINDOWING +#define GDK_WINDOWING_QUARTZ" + GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa" + AM_CONDITIONAL(USE_QUARTZ, true) +else + AM_CONDITIONAL(USE_QUARTZ, false) fi + AC_SUBST(GDK_BACKENDS) if test -z "$GDK_BACKENDS"; then @@ -767,14 +790,7 @@ else fi fi -all_immodules="am-et,cedilla,cyrillic-translit" -if test "x$enable_win32_backend" == xyes; then - all_immodules="${all_immodules},ime" -fi -all_immodules="${all_immodules},inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr" -if test "x$enable_x11_backend" == xyes; then - all_immodules="${all_immodules},xim" -fi +all_immodules="am-et,cedilla,cyrillic-translit,inuktitut,ipa,multipress,thai,ti-er,ti-et,viqr$backend_immodules" included_immodules="" # If the switch specified without listing any specific ones, include all @@ -859,9 +875,6 @@ fi # Windowing system checks ######################################## -GDK_EXTRA_LIBS= -GDK_EXTRA_CFLAGS= - # GTK+ uses some X calls, so needs to link against X directly GTK_DEP_PACKAGES_FOR_X= GTK_DEP_LIBS_FOR_X= @@ -1125,29 +1138,8 @@ else AM_CONDITIONAL(HAVE_X11R6, false) fi - -if test "x$enable_win32_backend" == xyes; then - GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -lgdi32 -limm32 -lshell32 -lole32 -Wl,-luuid" - AM_CONDITIONAL(USE_WIN32, true) -else - AM_CONDITIONAL(USE_WIN32, false) -fi - -if test "x$enable_quartz_backend" == xyes; then - GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS -framework Cocoa" - AM_CONDITIONAL(USE_QUARTZ, true) -else - AM_CONDITIONAL(USE_QUARTZ, false) -fi - # Check for Pango flags -if test "x$enable_win32_backend" == xyes; then - PANGO_PACKAGES="pangowin32 pangocairo" -else - PANGO_PACKAGES="pango pangocairo" -fi - AC_MSG_CHECKING(Pango flags) if $PKG_CONFIG --exists $PANGO_PACKAGES ; then PANGO_CFLAGS=`$PKG_CONFIG --cflags $PANGO_PACKAGES` @@ -1543,20 +1535,7 @@ _______EOF mv $outfile gdk/gdkconfig.h fi ],[ -gdk_windowing='' -if test "x$enable_x11_backend" == xyes; then - gdk_windowing="\$gdk_windowing -#define GDK_WINDOWING_X11" -fi -if test "x$enable_win32_backend" == xyes; then - gdk_windowing="\$gdk_windowing -#define GDK_NATIVE_WINDOW_POINTER -#define GDK_WINDOWING_WIN32" -fi -if test "x$enable_quartz_backend" == xyes; then - gdk_windowing="\$gdk_windowing -#define GDK_WINDOWING_QUARTZ" -fi +gdk_windowing='$GDK_WINDOWING' ]) dnl From d211c8af6bab2f99aeebb83707d29649f0108364 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Thu, 23 Dec 2010 13:50:13 +0100 Subject: [PATCH 1001/1463] gdk/x11: don't select RANDR events if the extension is missing Prevents an Xlib warning on Xnest, or Xorg with xinerama, or other non-RANDR-capable xserver. Reintroduce a have_randr12 field in GdkDisplayX11 to avoid having to call XRRQuery{Extension,Version} twice, and don't select randr 1.2 events if that's false. https://bugzilla.gnome.org/show_bug.cgi?id=634711 Signed-off-by: Julien Cristau --- gdk/x11/gdkdisplay-x11.c | 8 ++++++-- gdk/x11/gdkdisplay-x11.h | 1 + gdk/x11/gdkscreen-x11.c | 23 +++++++++++++---------- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index a231332225..e406bb83e3 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1220,6 +1220,7 @@ _gdk_x11_display_open (const gchar *display_name) _gdk_x11_precache_atoms (display, precache_atoms, G_N_ELEMENTS (precache_atoms)); /* RandR must be initialized before we initialize the screens */ + display_x11->have_randr12 = FALSE; display_x11->have_randr13 = FALSE; #ifdef HAVE_RANDR if (XRRQueryExtension (display_x11->xdisplay, @@ -1229,8 +1230,11 @@ _gdk_x11_display_open (const gchar *display_name) XRRQueryVersion (display_x11->xdisplay, &major, &minor); - if ((major == 1 && minor >= 3) || major > 1) - display_x11->have_randr13 = TRUE; + if ((major == 1 && minor >= 2) || major > 1) { + display_x11->have_randr12 = TRUE; + if (minor >= 3 || major > 1) + display_x11->have_randr13 = TRUE; + } gdk_x11_register_standard_event_type (display, display_x11->xrandr_event_base, RRNumberEvents); } diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h index e19c57f3f9..cd72cfae62 100644 --- a/gdk/x11/gdkdisplay-x11.h +++ b/gdk/x11/gdkdisplay-x11.h @@ -67,6 +67,7 @@ struct _GdkX11Display gboolean have_xdamage; gint xdamage_event_base; + gboolean have_randr12; gboolean have_randr13; gint xrandr_event_base; diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c index a42938b4aa..85aa09afc9 100644 --- a/gdk/x11/gdkscreen-x11.c +++ b/gdk/x11/gdkscreen-x11.c @@ -1,7 +1,7 @@ /* * gdkscreen-x11.c - * - * Copyright 2001 Sun Microsystems Inc. + * + * Copyright 2001 Sun Microsystems Inc. * * Erwann Chenede * @@ -842,20 +842,23 @@ gdk_x11_screen_is_composited (GdkScreen *screen) } static void -init_randr_support (GdkScreen * screen) +init_randr_support (GdkScreen *screen) { GdkX11Screen *x11_screen = GDK_X11_SCREEN (screen); - + XSelectInput (GDK_SCREEN_XDISPLAY (screen), - x11_screen->xroot_window, - StructureNotifyMask); + x11_screen->xroot_window, + StructureNotifyMask); #ifdef HAVE_RANDR + if (!GDK_X11_DISPLAY (gdk_screen_get_display (screen))->have_randr12) + return; + XRRSelectInput (GDK_SCREEN_XDISPLAY (screen), - x11_screen->xroot_window, - RRScreenChangeNotifyMask | - RRCrtcChangeNotifyMask | - RROutputPropertyNotifyMask); + x11_screen->xroot_window, + RRScreenChangeNotifyMask + | RRCrtcChangeNotifyMask + | RROutputPropertyNotifyMask); #endif } From c7f39eb07ecaba5cb0b9538be8a7d64e5b862f57 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 12:11:41 -0500 Subject: [PATCH 1002/1463] add gtk_selection_data_get_data_with_length API which can be bound * gtk_selection_data_get_data can't be bound because we need to know the length of data inorder to marshal it https://bugzilla.gnome.org/show_bug.cgi?id=635299 --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkselection.c | 23 +++++++++++++++++++++++ gtk/gtkselection.h | 4 ++++ 4 files changed, 29 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 51d5f634e7..37f7c281e4 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5824,6 +5824,7 @@ gtk_selection_data_targets_include_rich_text gtk_selection_data_get_selection gtk_selection_data_get_data gtk_selection_data_get_length +gtk_selection_data_get_data_with_length gtk_selection_data_get_data_type gtk_selection_data_get_display gtk_selection_data_get_format diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 2dbb2fffdb..e5c5c75b9e 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2292,6 +2292,7 @@ gtk_selection_data_get_data_type gtk_selection_data_get_display gtk_selection_data_get_format gtk_selection_data_get_length +gtk_selection_data_get_data_with_length gtk_selection_data_get_pixbuf gtk_selection_data_get_selection gtk_selection_data_get_target diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 5ee7b2541d..06aa14678a 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -1222,6 +1222,29 @@ gtk_selection_data_get_length (const GtkSelectionData *selection_data) return selection_data->length; } +/** + * gtk_selection_data_get_data_with_length: + * @selection_data: a pointer to a #GtkSelectionData structure + * @length: return location for length of the data segment + * + * Retrieves the raw data of the selection along with its length. + * + * Returns: (array length=length): the raw data of the selection + * + * Rename to: gtk_selection_data_get_data + * Since: 3.0 + */ +const guchar* +gtk_selection_data_get_data_with_length (const GtkSelectionData *selection_data, + gint *length) +{ + g_return_val_if_fail (selection_data != NULL, NULL); + + *length = selection_data->length; + + return selection_data->data; +} + /** * gtk_selection_data_get_display: * @selection_data: a pointer to a #GtkSelectionData structure. diff --git a/gtk/gtkselection.h b/gtk/gtkselection.h index 761d2b288a..6b409bb8a0 100644 --- a/gtk/gtkselection.h +++ b/gtk/gtkselection.h @@ -133,6 +133,10 @@ GdkAtom gtk_selection_data_get_data_type (const GtkSelectionData *selectio gint gtk_selection_data_get_format (const GtkSelectionData *selection_data); const guchar *gtk_selection_data_get_data (const GtkSelectionData *selection_data); gint gtk_selection_data_get_length (const GtkSelectionData *selection_data); +const guchar *gtk_selection_data_get_data_with_length + (const GtkSelectionData *selection_data, + gint *length); + GdkDisplay *gtk_selection_data_get_display (const GtkSelectionData *selection_data); void gtk_selection_data_set (GtkSelectionData *selection_data, From b555be06b7c2360e398a395fa9ea15ee755975ba Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 12:34:23 -0500 Subject: [PATCH 1003/1463] Make styleexamples work If we are keeping this code in source control, might as well make it work. https://bugzilla.gnome.org/show_bug.cgi?id=638179 --- tests/Makefile.am | 1 + tests/gradient1.png | Bin 0 -> 722 bytes tests/styleexamples.c | 83 +++++++++++++++++++----------------------- 3 files changed, 39 insertions(+), 45 deletions(-) create mode 100644 tests/gradient1.png diff --git a/tests/Makefile.am b/tests/Makefile.am index fc4b58e1d7..61d5270666 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -408,6 +408,7 @@ testswitch_SOURCES = testswitch.c styleexamples_SOURCES = styleexamples.c EXTRA_DIST += \ + gradient1.png \ prop-editor.h \ testgtk.1 \ testgtk.css \ diff --git a/tests/gradient1.png b/tests/gradient1.png new file mode 100644 index 0000000000000000000000000000000000000000..248c998daf8e017ce682b3462d28abd6ceb5ec52 GIT binary patch literal 722 zcmeAS@N?(olHy`uVBq!ia0vp^DIm3R9Nsk+6HR<~HU%Ws899U4Dh3{Ql>|yk;zT$nd{R2q@IIB&Q{;;8o7~TYj;3H*X6L|Gwt! zm5VKPugYGfH0@Z`zC2y~>%;fw%3f_Pwl-BzUH9tY%bQ-czh5!{jmfe$6}ZZuzueF2 zXsE4?ZS+d(`Fx$1Hc!3f$LrF$x~igTTM+YnKFP}vk*|kuubiw=7`k5ZYtHVNO>N7c zPdQzdrQj8FHQ0Nv|Asv&y#D8{r@y`85Hj)0vp;rx-`BXj^u6tw{zvY!Y(<}_e-W|nu<)-->b3w)||;f%dYfld3c>)}%kjpb51Wm=z2Nje?a;HSA+ruF3%rqh8N{N}!mGznm0SRupu zZc5Rqz#o359+qBQ%clhNO**Q{tMBglWXiOiDRY?>*1eiK=MvNOHO7pW8iW{rCF*D} zI>cPnwp{9|AGw$TBz7cp@1)>auP2$xDDY}9E|5Rg1Qhe!J1_Xu{uEcnC5);J9c!x+ zmy1-NJjLR{?8UGlG3wyT&9>caUJMMen?50#`);NFiz#jKo79TD#Opujn|M9bpLsr#HKJP7*F?kJ4Ns7v-{r}K!QezC#C#ea^?S%WCGds<#0p*Q-g(W x literal 0 HcmV?d00001 diff --git a/tests/styleexamples.c b/tests/styleexamples.c index 75350ddd2d..e583ce8aea 100644 --- a/tests/styleexamples.c +++ b/tests/styleexamples.c @@ -97,24 +97,17 @@ draw_cb_expanders (GtkWidget *widget, cairo_t *cr) static gboolean draw_cb_background (GtkWidget *widget, cairo_t *cr) { - GtkStyleProvider *provider; GtkStyleContext *context; context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); - provider = (GtkStyleProvider *)gtk_css_provider_new (); - gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), - "* {\n" - " border-radius: 10;\n" - " border-width: 0;\n" - " background-image: -gtk-gradient (linear, left top, right bottom, from(#ff00ff), to(#aabbcc));\n" - "}\n", -1, NULL); - gtk_style_context_add_provider (context, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + gtk_style_context_add_class (context, "background"); gtk_style_context_set_junction_sides (context, 0); gtk_render_background (context, cr, 12, 12, 100, 100); - gtk_style_context_remove_provider (context, provider); + gtk_style_context_remove_class (context, "background"); + gtk_style_context_restore (context); return TRUE; @@ -123,33 +116,12 @@ draw_cb_background (GtkWidget *widget, cairo_t *cr) static gboolean draw_cb_frame (GtkWidget *widget, cairo_t *cr) { - GtkStyleProvider *provider; GtkStyleContext *context; context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); - provider = (GtkStyleProvider *)gtk_css_provider_new (); - gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), - ".frame1 {\n" - " border-image: url('gradient1.png') 10 10 10 10 stretch;\n" - "}\n" - ".frame2 {\n" - " border-style: solid;\n" - " border-color: rgb(255,0,0);\n" - " border-width: 10;\n" - " border-radius: 10;\n" - "}\n" - ".frame3 {\n" - " border-style: solid;\n" - " border-color: rgb(0,0,0);\n" - " border-width: 2;\n" - " border-radius: 10;\n" - "}\n", - -1, NULL); - gtk_style_context_add_provider (context, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - gtk_style_context_add_class (context, "frame1"); gtk_style_context_set_junction_sides (context, 0); gtk_render_frame (context, cr, 12, 12, 50, 50); @@ -166,7 +138,6 @@ draw_cb_frame (GtkWidget *widget, cairo_t *cr) gtk_render_frame (context, cr, 68, 74, 56, 50); gtk_style_context_remove_class (context, "frame3"); - gtk_style_context_remove_provider (context, provider); gtk_style_context_restore (context); return TRUE; @@ -269,29 +240,16 @@ static gboolean draw_cb_frame_gap (GtkWidget *widget, cairo_t *cr) { GtkStyleContext *context; - GtkStyleProvider *provider; context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); - provider = (GtkStyleProvider *)gtk_css_provider_new (); - gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), - ".frame {\n" - " border-style: solid;\n" - " border-width: 1;\n" - " border-radius: 0;\n" - "}\n", - -1, NULL); - gtk_style_context_add_provider (context, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); - gtk_style_context_add_class (context, "frame"); gtk_style_context_set_junction_sides (context, 0); gtk_render_frame_gap (context, cr, 12, 12, 50, 50, GTK_POS_TOP, 15, 35); gtk_style_context_remove_class (context, "frame"); - gtk_style_context_remove_provider (context, provider); - gtk_style_context_restore (context); return TRUE; @@ -359,6 +317,8 @@ int main (int argc, char *argv[]) { GtkWidget *window; GtkWidget *ebox; + GtkStyleContext *context; + GtkStyleProvider *provider; gtk_init (&argc, &argv); @@ -373,12 +333,45 @@ int main (int argc, char *argv[]) gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), TRUE); gtk_container_add (GTK_CONTAINER (window), ebox); gtk_widget_set_name (ebox, "ebox"); + + context = gtk_widget_get_style_context (ebox); + provider = (GtkStyleProvider *)gtk_css_provider_new (); + gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), + ".frame1 {\n" + " border-image: url('gradient1.png') 10 10 10 10 stretch;\n" + "}\n" + ".frame2 {\n" + " border-style: solid;\n" + " border-color: rgb(255,0,0);\n" + " border-width: 10;\n" + " border-radius: 10;\n" + "}\n" + ".frame3 {\n" + " border-style: solid;\n" + " border-color: rgb(0,0,0);\n" + " border-width: 2;\n" + " border-radius: 10;\n" + "}\n" + ".background {\n" + " border-radius: 10;\n" + " border-width: 0;\n" + " background-image: -gtk-gradient (linear, left top, right bottom, from(#ff00ff), to(#aabbcc));\n" + "}\n" + ".frame {\n" + " border-style: solid;\n" + " border-width: 1;\n" + " border-radius: 0;\n" + "}\n", -1, NULL); + gtk_style_context_add_provider (context, provider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + g_signal_connect_after (ebox, "draw", G_CALLBACK (draw_cb), NULL); gtk_widget_show_all (window); gtk_main (); + gtk_style_context_remove_provider (context, provider); + return 0; } From b673e5b1ee87eba6d7c8dd66c63be080ed2687aa Mon Sep 17 00:00:00 2001 From: Frederic Crozat Date: Mon, 3 Jan 2011 12:51:22 -0500 Subject: [PATCH 1004/1463] Scale down print dialog size Shrink the preview display a little to make the print dialog fit on a typical netbook screen. https://bugzilla.gnome.org/show_bug.cgi?id=637958 --- gtk/gtkprintunixdialog.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 861d779419..7cb734c276 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -60,7 +60,7 @@ #include "gtkmessagedialog.h" #include "gtkbutton.h" -#define EXAMPLE_PAGE_AREA_SIZE 140 +#define EXAMPLE_PAGE_AREA_SIZE 110 #define RULER_DISTANCE 7.5 #define RULER_RADIUS 2 @@ -3517,7 +3517,7 @@ create_page_setup_page (GtkPrintUnixDialog *dialog) draw = gtk_drawing_area_new (); gtk_widget_set_has_window (draw, FALSE); priv->page_layout_preview = draw; - gtk_widget_set_size_request (draw, 350, 200); + gtk_widget_set_size_request (draw, 280, 160); g_signal_connect (draw, "draw", G_CALLBACK (draw_page_cb), dialog); gtk_widget_show (draw); From 6a11c59290000b604ab6c0f7da1bed11147be221 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 13:11:55 -0500 Subject: [PATCH 1005/1463] Release GtkApplication earlier GtkWindow was only releasing the application in finalize, causing problems for language bindings. Now we release it already in destroy (and then again in finalize for good measure). https://bugzilla.gnome.org/show_bug.cgi?id=638580 --- gtk/gtkwindow.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 78a2a62bf5..a81ac65a88 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4513,6 +4513,8 @@ gtk_window_destroy (GtkWidget *widget) GtkWindow *window = GTK_WINDOW (widget); GtkWindowPrivate *priv = window->priv; + gtk_window_release_application (window); + toplevel_list = g_slist_remove (toplevel_list, window); if (priv->transient_parent) @@ -4520,7 +4522,7 @@ gtk_window_destroy (GtkWidget *widget) /* frees the icons */ gtk_window_set_icon_list (window, NULL); - + if (priv->has_user_ref_count) { priv->has_user_ref_count = FALSE; From 55016f72f2fe91f088f5d2c12b1c5c38e42f8f3a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Thu, 23 Dec 2010 20:03:06 +0100 Subject: [PATCH 1006/1463] gtktexttag: Move public members to private header And fix gail to not poke at GtkTextTag internals --- gtk/gtktextbtree.c | 47 +- gtk/gtktextbuffer.c | 9 +- gtk/gtktextbufferserialize.c | 15 +- gtk/gtktextlayout.c | 10 +- gtk/gtktexttag.c | 494 +++++++++++---------- gtk/gtktexttag.h | 54 +-- gtk/gtktexttagprivate.h | 54 +++ gtk/gtktexttagtable.c | 29 +- modules/other/gail/libgail-util/gailmisc.c | 434 ++++++++++-------- 9 files changed, 634 insertions(+), 512 deletions(-) diff --git a/gtk/gtktextbtree.c b/gtk/gtktextbtree.c index b07a04ec1f..c5124e7bd8 100644 --- a/gtk/gtktextbtree.c +++ b/gtk/gtktextbtree.c @@ -59,6 +59,7 @@ #include #include #include "gtktexttag.h" +#include "gtktexttagprivate.h" #include "gtktexttagtable.h" #include "gtktextlayout.h" #include "gtktextiterprivate.h" @@ -1778,7 +1779,7 @@ _gtk_text_btree_tag (const GtkTextIter *start_orig, g_return_if_fail (GTK_IS_TEXT_TAG (tag)); g_return_if_fail (_gtk_text_iter_get_btree (start_orig) == _gtk_text_iter_get_btree (end_orig)); - g_return_if_fail (tag->table == _gtk_text_iter_get_btree (start_orig)->table); + g_return_if_fail (tag->priv->table == _gtk_text_iter_get_btree (start_orig)->table); #if 0 printf ("%s tag %s from %d to %d\n", @@ -2505,10 +2506,10 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) || (seg->type == >k_text_toggle_off_type)) { tag = seg->body.toggle.info->tag; - if (tag->invisible_set) + if (tag->priv->invisible_set) { - tags[tag->priority] = tag; - tagCnts[tag->priority]++; + tags[tag->priv->priority] = tag; + tagCnts[tag->priv->priority]++; } } } @@ -2529,10 +2530,10 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) || (seg->type == >k_text_toggle_off_type)) { tag = seg->body.toggle.info->tag; - if (tag->invisible_set) + if (tag->priv->invisible_set) { - tags[tag->priority] = tag; - tagCnts[tag->priority]++; + tags[tag->priv->priority] = tag; + tagCnts[tag->priv->priority]++; } } } @@ -2558,10 +2559,10 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) if (summary->toggle_count & 1) { tag = summary->info->tag; - if (tag->invisible_set) + if (tag->priv->invisible_set) { - tags[tag->priority] = tag; - tagCnts[tag->priority] += summary->toggle_count; + tags[tag->priv->priority] = tag; + tagCnts[tag->priv->priority] += summary->toggle_count; } } } @@ -2588,7 +2589,7 @@ _gtk_text_btree_char_is_invisible (const GtkTextIter *iter) } #endif #endif - invisible = tags[i]->values->invisible; + invisible = tags[i]->priv->values->invisible; break; } } @@ -6798,7 +6799,7 @@ gtk_text_btree_node_check_consistency (GtkTextBTree *tree, break; } g_error ("gtk_text_btree_node_check_consistency: GtkTextBTreeNode tag \"%s\" not %s", - summary->info->tag->name, + summary->info->tag->priv->name, "present in parent summaries"); } if (summary->info == summary2->info) @@ -6834,7 +6835,7 @@ gtk_text_btree_node_check_consistency (GtkTextBTree *tree, if (summary->info->toggle_count == summary->toggle_count) { g_error ("gtk_text_btree_node_check_consistency: found unpruned root for \"%s\"", - summary->info->tag->name); + summary->info->tag->priv->name); } toggle_count = 0; if (node->level == 0) @@ -6888,7 +6889,7 @@ gtk_text_btree_node_check_consistency (GtkTextBTree *tree, if (summary2->info == summary->info) { g_error ("gtk_text_btree_node_check_consistency: duplicated GtkTextBTreeNode tag: %s", - summary->info->tag->name); + summary->info->tag->priv->name); } } } @@ -6940,19 +6941,19 @@ _gtk_text_btree_check (GtkTextBTree *tree) if (info->toggle_count != 0) { g_error ("_gtk_text_btree_check found \"%s\" with toggles (%d) but no root", - tag->name, info->toggle_count); + tag->priv->name, info->toggle_count); } continue; /* no ranges for the tag */ } else if (info->toggle_count == 0) { g_error ("_gtk_text_btree_check found root for \"%s\" with no toggles", - tag->name); + tag->priv->name); } else if (info->toggle_count & 1) { g_error ("_gtk_text_btree_check found odd toggle count for \"%s\" (%d)", - tag->name, info->toggle_count); + tag->priv->name, info->toggle_count); } for (summary = node->summary; summary != NULL; summary = summary->next) @@ -7007,7 +7008,7 @@ _gtk_text_btree_check (GtkTextBTree *tree) if (count != info->toggle_count) { g_error ("_gtk_text_btree_check toggle_count (%d) wrong for \"%s\" should be (%d)", - info->toggle_count, tag->name, count); + info->toggle_count, tag->priv->name, count); } } } @@ -7116,7 +7117,7 @@ _gtk_text_btree_spew (GtkTextBTree *tree) info = list->data; printf (" tag `%s': root at %p, toggle count %d\n", - info->tag->name, info->tag_root, info->toggle_count); + info->tag->priv->name, info->tag_root, info->toggle_count); list = g_slist_next (list); } @@ -7182,7 +7183,7 @@ _gtk_text_btree_spew_line_short (GtkTextLine *line, int indent) seg->type == >k_text_toggle_off_type) { printf ("%s tag `%s' %s\n", - spaces, seg->body.toggle.info->tag->name, + spaces, seg->body.toggle.info->tag->priv->name, seg->type == >k_text_toggle_off_type ? "off" : "on"); } @@ -7209,7 +7210,7 @@ _gtk_text_btree_spew_node (GtkTextBTreeNode *node, int indent) while (s) { printf ("%s %d toggles of `%s' below this node\n", - spaces, s->toggle_count, s->info->tag->name); + spaces, s->toggle_count, s->info->tag->priv->name); s = s->next; } @@ -7284,7 +7285,7 @@ _gtk_text_btree_spew_segment (GtkTextBTree* tree, GtkTextLineSegment * seg) seg->type == >k_text_toggle_off_type) { printf (" tag `%s' priority %d\n", - seg->body.toggle.info->tag->name, - seg->body.toggle.info->tag->priority); + seg->body.toggle.info->tag->priv->name, + seg->body.toggle.info->tag->priv->priority); } } diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index c71d79b967..050ac9bcff 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -38,6 +38,7 @@ #include "gtktextbufferrichtext.h" #include "gtktextbtree.h" #include "gtktextiterprivate.h" +#include "gtktexttagprivate.h" #include "gtkprivate.h" #include "gtkintl.h" @@ -2504,7 +2505,7 @@ gtk_text_buffer_real_apply_tag (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end) { - if (tag->table != buffer->priv->tag_table) + if (tag->priv->table != buffer->priv->tag_table) { g_warning ("Can only apply tags that are in the tag table for the buffer"); return; @@ -2519,7 +2520,7 @@ gtk_text_buffer_real_remove_tag (GtkTextBuffer *buffer, const GtkTextIter *start, const GtkTextIter *end) { - if (tag->table != buffer->priv->tag_table) + if (tag->priv->table != buffer->priv->tag_table) { g_warning ("Can only remove tags that are in the tag table for the buffer"); return; @@ -2611,7 +2612,7 @@ gtk_text_buffer_apply_tag (GtkTextBuffer *buffer, g_return_if_fail (end != NULL); g_return_if_fail (gtk_text_iter_get_buffer (start) == buffer); g_return_if_fail (gtk_text_iter_get_buffer (end) == buffer); - g_return_if_fail (tag->table == buffer->priv->tag_table); + g_return_if_fail (tag->priv->table == buffer->priv->tag_table); gtk_text_buffer_emit_tag (buffer, tag, TRUE, start, end); } @@ -2640,7 +2641,7 @@ gtk_text_buffer_remove_tag (GtkTextBuffer *buffer, g_return_if_fail (end != NULL); g_return_if_fail (gtk_text_iter_get_buffer (start) == buffer); g_return_if_fail (gtk_text_iter_get_buffer (end) == buffer); - g_return_if_fail (tag->table == buffer->priv->tag_table); + g_return_if_fail (tag->priv->table == buffer->priv->tag_table); gtk_text_buffer_emit_tag (buffer, tag, FALSE, start, end); } diff --git a/gtk/gtktextbufferserialize.c b/gtk/gtktextbufferserialize.c index 526e9518aa..e4b4f73006 100644 --- a/gtk/gtktextbufferserialize.c +++ b/gtk/gtktextbufferserialize.c @@ -32,6 +32,7 @@ #include "gdk-pixbuf/gdk-pixdata.h" #include "gtktextbufferserialize.h" +#include "gtktexttagprivate.h" #include "gtkintl.h" @@ -292,9 +293,9 @@ serialize_tag (gpointer key, g_string_append (context->tag_table_str, " name) + if (tag->priv->name) { - tag_name = g_markup_escape_text (tag->name, -1); + tag_name = g_markup_escape_text (tag->priv->name, -1); g_string_append_printf (context->tag_table_str, "name=\"%s\"", tag_name); g_free (tag_name); } @@ -305,7 +306,7 @@ serialize_tag (gpointer key, g_string_append_printf (context->tag_table_str, "id=\"%d\"", tag_id); } - g_string_append_printf (context->tag_table_str, " priority=\"%d\">\n", tag->priority); + g_string_append_printf (context->tag_table_str, " priority=\"%d\">\n", tag->priv->priority); /* Serialize properties */ pspecs = g_object_class_list_properties (G_OBJECT_GET_CLASS (tag), &n_pspecs); @@ -489,9 +490,9 @@ serialize_text (GtkTextBuffer *buffer, /* Add it to the tag hash table */ g_hash_table_insert (context->tags, tag, tag); - if (tag->name) + if (tag->priv->name) { - tag_name = g_markup_escape_text (tag->name, -1); + tag_name = g_markup_escape_text (tag->priv->name, -1); g_string_append_printf (context->text_str, "", tag_name); g_free (tag_name); @@ -1481,10 +1482,10 @@ end_element_handler (GMarkupParseContext *context, pop_state (info); g_assert (peek_state (info) == STATE_TAGS); - if (info->current_tag->name) + if (info->current_tag->priv->name) { /* Add tag to defined tags hash */ - tmp = g_strdup (info->current_tag->name); + tmp = g_strdup (info->current_tag->priv->name); g_hash_table_insert (info->defined_tags, tmp, tmp); } diff --git a/gtk/gtktextlayout.c b/gtk/gtktextlayout.c index 8344a1b642..35809873d5 100644 --- a/gtk/gtktextlayout.c +++ b/gtk/gtktextlayout.c @@ -1283,8 +1283,8 @@ totally_invisible_line (GtkTextLayout *layout, invalidate_cached_style (layout); /* Bail out if an elision-unsetting tag begins */ - if (seg->body.toggle.info->tag->invisible_set && - !seg->body.toggle.info->tag->values->invisible) + if (seg->body.toggle.info->tag->priv->invisible_set && + !seg->body.toggle.info->tag->priv->values->invisible) break; } else if (seg->type == >k_text_toggle_off_type) @@ -1292,8 +1292,8 @@ totally_invisible_line (GtkTextLayout *layout, invalidate_cached_style (layout); /* Bail out if an elision-setting tag ends */ - if (seg->body.toggle.info->tag->invisible_set && - seg->body.toggle.info->tag->values->invisible) + if (seg->body.toggle.info->tag->priv->invisible_set && + seg->body.toggle.info->tag->priv->values->invisible) break; } @@ -2103,7 +2103,7 @@ tags_array_toggle_tag (GPtrArray *array, tags = (GtkTextTag**) array->pdata; - for (pos = 0; pos < array->len && tags[pos]->priority < tag->priority; pos++) ; + for (pos = 0; pos < array->len && tags[pos]->priv->priority < tag->priv->priority; pos++) ; if (pos < array->len && tags[pos] == tag) g_ptr_array_remove_index (array, pos); diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index a77047c4be..cb62ebfa5c 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -665,12 +665,21 @@ gtk_text_tag_class_init (GtkTextTagClass *klass) G_TYPE_OBJECT, GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE, GTK_TYPE_TEXT_ITER); + + g_type_class_add_private (klass, sizeof (GtkTextTagPrivate)); } static void gtk_text_tag_init (GtkTextTag *text_tag) { - text_tag->values = gtk_text_attributes_new (); + GtkTextTagPrivate *priv; + + text_tag->priv = G_TYPE_INSTANCE_GET_PRIVATE (text_tag, + GTK_TYPE_TEXT_TAG, + GtkTextTagPrivate); + priv = text_tag->priv; + + priv->values = gtk_text_attributes_new (); } /** @@ -695,20 +704,19 @@ gtk_text_tag_new (const gchar *name) static void gtk_text_tag_finalize (GObject *object) { - GtkTextTag *text_tag; + GtkTextTag *text_tag = GTK_TEXT_TAG (object); + GtkTextTagPrivate *priv = text_tag->priv; - text_tag = GTK_TEXT_TAG (object); + if (priv->table) + gtk_text_tag_table_remove (priv->table, text_tag); - if (text_tag->table) - gtk_text_tag_table_remove (text_tag->table, text_tag); + g_assert (priv->table == NULL); - g_assert (text_tag->table == NULL); + gtk_text_attributes_unref (priv->values); + priv->values = NULL; - gtk_text_attributes_unref (text_tag->values); - text_tag->values = NULL; - - g_free (text_tag->name); - text_tag->name = NULL; + g_free (priv->name); + priv->name = NULL; G_OBJECT_CLASS (gtk_text_tag_parent_class)->finalize (object); } @@ -716,21 +724,23 @@ gtk_text_tag_finalize (GObject *object) static void set_bg_color (GtkTextTag *tag, GdkColor *color) { + GtkTextTagPrivate *priv = tag->priv; + if (color) { - if (!tag->bg_color_set) + if (!priv->bg_color_set) { - tag->bg_color_set = TRUE; + priv->bg_color_set = TRUE; g_object_notify (G_OBJECT (tag), "background-set"); } - - tag->values->appearance.bg_color = *color; + + priv->values->appearance.bg_color = *color; } else { - if (tag->bg_color_set) + if (priv->bg_color_set) { - tag->bg_color_set = FALSE; + priv->bg_color_set = FALSE; g_object_notify (G_OBJECT (tag), "background-set"); } } @@ -739,20 +749,22 @@ set_bg_color (GtkTextTag *tag, GdkColor *color) static void set_fg_color (GtkTextTag *tag, GdkColor *color) { + GtkTextTagPrivate *priv = tag->priv; + if (color) { - if (!tag->fg_color_set) + if (!priv->fg_color_set) { - tag->fg_color_set = TRUE; + priv->fg_color_set = TRUE; g_object_notify (G_OBJECT (tag), "foreground-set"); } - tag->values->appearance.fg_color = *color; + priv->values->appearance.fg_color = *color; } else { - if (tag->fg_color_set) + if (priv->fg_color_set) { - tag->fg_color_set = FALSE; + priv->fg_color_set = FALSE; g_object_notify (G_OBJECT (tag), "foreground-set"); } } @@ -761,28 +773,30 @@ set_fg_color (GtkTextTag *tag, GdkColor *color) static void set_pg_bg_color (GtkTextTag *tag, GdkColor *color) { + GtkTextTagPrivate *priv = tag->priv; + if (color) { - if (!tag->pg_bg_color_set) + if (!priv->pg_bg_color_set) { - tag->pg_bg_color_set = TRUE; + priv->pg_bg_color_set = TRUE; g_object_notify (G_OBJECT (tag), "paragraph-background-set"); } else - gdk_color_free (tag->values->pg_bg_color); + gdk_color_free (priv->values->pg_bg_color); - tag->values->pg_bg_color = gdk_color_copy (color); + priv->values->pg_bg_color = gdk_color_copy (color); } else { - if (tag->pg_bg_color_set) + if (priv->pg_bg_color_set) { - tag->pg_bg_color_set = FALSE; + priv->pg_bg_color_set = FALSE; g_object_notify (G_OBJECT (tag), "paragraph-background-set"); - gdk_color_free (tag->values->pg_bg_color); + gdk_color_free (priv->values->pg_bg_color); } - tag->values->pg_bg_color = NULL; + priv->values->pg_bg_color = NULL; } } @@ -888,6 +902,7 @@ static void set_font_description (GtkTextTag *text_tag, PangoFontDescription *font_desc) { + GtkTextTagPrivate *priv = text_tag->priv; GObject *object = G_OBJECT (text_tag); PangoFontDescription *new_font_desc; PangoFontMask old_mask, new_mask, changed_mask, set_changed_mask; @@ -897,8 +912,8 @@ set_font_description (GtkTextTag *text_tag, else new_font_desc = pango_font_description_new (); - if (text_tag->values->font) - old_mask = pango_font_description_get_set_fields (text_tag->values->font); + if (priv->values->font) + old_mask = pango_font_description_get_set_fields (priv->values->font); else old_mask = 0; @@ -907,10 +922,10 @@ set_font_description (GtkTextTag *text_tag, changed_mask = old_mask | new_mask; set_changed_mask = old_mask ^ new_mask; - if (text_tag->values->font) - pango_font_description_free (text_tag->values->font); - text_tag->values->font = new_font_desc; - + if (priv->values->font) + pango_font_description_free (priv->values->font); + priv->values->font = new_font_desc; + g_object_freeze_notify (object); g_object_notify (object, "font-desc"); @@ -940,8 +955,10 @@ set_font_description (GtkTextTag *text_tag, static void gtk_text_tag_ensure_font (GtkTextTag *text_tag) { - if (!text_tag->values->font) - text_tag->values->font = pango_font_description_new (); + GtkTextTagPrivate *priv = text_tag->priv; + + if (!priv->values->font) + priv->values->font = pango_font_description_new (); } static void @@ -950,16 +967,15 @@ gtk_text_tag_set_property (GObject *object, const GValue *value, GParamSpec *pspec) { - GtkTextTag *text_tag; + GtkTextTag *text_tag = GTK_TEXT_TAG (object); + GtkTextTagPrivate *priv = text_tag->priv; gboolean size_changed = FALSE; - text_tag = GTK_TEXT_TAG (object); - switch (prop_id) { case PROP_NAME: - g_return_if_fail (text_tag->name == NULL); - text_tag->name = g_value_dup_string (value); + g_return_if_fail (priv->name == NULL); + priv->name = g_value_dup_string (value); break; case PROP_BACKGROUND: @@ -1049,44 +1065,44 @@ gtk_text_tag_set_property (GObject *object, PangoFontMask old_set_mask; gtk_text_tag_ensure_font (text_tag); - old_set_mask = pango_font_description_get_set_fields (text_tag->values->font); + old_set_mask = pango_font_description_get_set_fields (priv->values->font); switch (prop_id) { case PROP_FAMILY: - pango_font_description_set_family (text_tag->values->font, + pango_font_description_set_family (priv->values->font, g_value_get_string (value)); break; case PROP_STYLE: - pango_font_description_set_style (text_tag->values->font, + pango_font_description_set_style (priv->values->font, g_value_get_enum (value)); break; case PROP_VARIANT: - pango_font_description_set_variant (text_tag->values->font, + pango_font_description_set_variant (priv->values->font, g_value_get_enum (value)); break; case PROP_WEIGHT: - pango_font_description_set_weight (text_tag->values->font, + pango_font_description_set_weight (priv->values->font, g_value_get_int (value)); break; case PROP_STRETCH: - pango_font_description_set_stretch (text_tag->values->font, + pango_font_description_set_stretch (priv->values->font, g_value_get_enum (value)); break; case PROP_SIZE: - pango_font_description_set_size (text_tag->values->font, + pango_font_description_set_size (priv->values->font, g_value_get_int (value)); g_object_notify (object, "size-points"); break; case PROP_SIZE_POINTS: - pango_font_description_set_size (text_tag->values->font, + pango_font_description_set_size (priv->values->font, g_value_get_double (value) * PANGO_SCALE); g_object_notify (object, "size"); break; } size_changed = TRUE; - notify_set_changed (object, old_set_mask & pango_font_description_get_set_fields (text_tag->values->font)); + notify_set_changed (object, old_set_mask & pango_font_description_get_set_fields (priv->values->font)); g_object_notify (object, "font-desc"); g_object_notify (object, "font"); @@ -1094,117 +1110,117 @@ gtk_text_tag_set_property (GObject *object, } case PROP_SCALE: - text_tag->values->font_scale = g_value_get_double (value); - text_tag->scale_set = TRUE; + priv->values->font_scale = g_value_get_double (value); + priv->scale_set = TRUE; g_object_notify (object, "scale-set"); size_changed = TRUE; break; case PROP_PIXELS_ABOVE_LINES: - text_tag->pixels_above_lines_set = TRUE; - text_tag->values->pixels_above_lines = g_value_get_int (value); + priv->pixels_above_lines_set = TRUE; + priv->values->pixels_above_lines = g_value_get_int (value); g_object_notify (object, "pixels-above-lines-set"); size_changed = TRUE; break; case PROP_PIXELS_BELOW_LINES: - text_tag->pixels_below_lines_set = TRUE; - text_tag->values->pixels_below_lines = g_value_get_int (value); + priv->pixels_below_lines_set = TRUE; + priv->values->pixels_below_lines = g_value_get_int (value); g_object_notify (object, "pixels-below-lines-set"); size_changed = TRUE; break; case PROP_PIXELS_INSIDE_WRAP: - text_tag->pixels_inside_wrap_set = TRUE; - text_tag->values->pixels_inside_wrap = g_value_get_int (value); + priv->pixels_inside_wrap_set = TRUE; + priv->values->pixels_inside_wrap = g_value_get_int (value); g_object_notify (object, "pixels-inside-wrap-set"); size_changed = TRUE; break; case PROP_EDITABLE: - text_tag->editable_set = TRUE; - text_tag->values->editable = g_value_get_boolean (value); + priv->editable_set = TRUE; + priv->values->editable = g_value_get_boolean (value); g_object_notify (object, "editable-set"); break; case PROP_WRAP_MODE: - text_tag->wrap_mode_set = TRUE; - text_tag->values->wrap_mode = g_value_get_enum (value); + priv->wrap_mode_set = TRUE; + priv->values->wrap_mode = g_value_get_enum (value); g_object_notify (object, "wrap-mode-set"); size_changed = TRUE; break; case PROP_JUSTIFICATION: - text_tag->justification_set = TRUE; - text_tag->values->justification = g_value_get_enum (value); + priv->justification_set = TRUE; + priv->values->justification = g_value_get_enum (value); g_object_notify (object, "justification-set"); size_changed = TRUE; break; case PROP_DIRECTION: - text_tag->values->direction = g_value_get_enum (value); + priv->values->direction = g_value_get_enum (value); break; case PROP_LEFT_MARGIN: - text_tag->left_margin_set = TRUE; - text_tag->values->left_margin = g_value_get_int (value); + priv->left_margin_set = TRUE; + priv->values->left_margin = g_value_get_int (value); g_object_notify (object, "left-margin-set"); size_changed = TRUE; break; case PROP_INDENT: - text_tag->indent_set = TRUE; - text_tag->values->indent = g_value_get_int (value); + priv->indent_set = TRUE; + priv->values->indent = g_value_get_int (value); g_object_notify (object, "indent-set"); size_changed = TRUE; break; case PROP_STRIKETHROUGH: - text_tag->strikethrough_set = TRUE; - text_tag->values->appearance.strikethrough = g_value_get_boolean (value); + priv->strikethrough_set = TRUE; + priv->values->appearance.strikethrough = g_value_get_boolean (value); g_object_notify (object, "strikethrough-set"); break; case PROP_RIGHT_MARGIN: - text_tag->right_margin_set = TRUE; - text_tag->values->right_margin = g_value_get_int (value); + priv->right_margin_set = TRUE; + priv->values->right_margin = g_value_get_int (value); g_object_notify (object, "right-margin-set"); size_changed = TRUE; break; case PROP_UNDERLINE: - text_tag->underline_set = TRUE; - text_tag->values->appearance.underline = g_value_get_enum (value); + priv->underline_set = TRUE; + priv->values->appearance.underline = g_value_get_enum (value); g_object_notify (object, "underline-set"); break; case PROP_RISE: - text_tag->rise_set = TRUE; - text_tag->values->appearance.rise = g_value_get_int (value); + priv->rise_set = TRUE; + priv->values->appearance.rise = g_value_get_int (value); g_object_notify (object, "rise-set"); size_changed = TRUE; break; case PROP_BACKGROUND_FULL_HEIGHT: - text_tag->bg_full_height_set = TRUE; - text_tag->values->bg_full_height = g_value_get_boolean (value); + priv->bg_full_height_set = TRUE; + priv->values->bg_full_height = g_value_get_boolean (value); g_object_notify (object, "background-full-height-set"); break; case PROP_LANGUAGE: - text_tag->language_set = TRUE; - text_tag->values->language = pango_language_from_string (g_value_get_string (value)); + priv->language_set = TRUE; + priv->values->language = pango_language_from_string (g_value_get_string (value)); g_object_notify (object, "language-set"); break; case PROP_TABS: - text_tag->tabs_set = TRUE; + priv->tabs_set = TRUE; - if (text_tag->values->tabs) - pango_tab_array_free (text_tag->values->tabs); + if (priv->values->tabs) + pango_tab_array_free (priv->values->tabs); /* FIXME I'm not sure if this is a memleak or not */ - text_tag->values->tabs = + priv->values->tabs = pango_tab_array_copy (g_value_get_boxed (value)); g_object_notify (object, "tabs-set"); @@ -1213,8 +1229,8 @@ gtk_text_tag_set_property (GObject *object, break; case PROP_INVISIBLE: - text_tag->invisible_set = TRUE; - text_tag->values->invisible = g_value_get_boolean (value); + priv->invisible_set = TRUE; + priv->values->invisible = g_value_get_boolean (value); g_object_notify (object, "invisible-set"); size_changed = TRUE; break; @@ -1243,7 +1259,7 @@ gtk_text_tag_set_property (GObject *object, break; case PROP_ACCUMULATIVE_MARGIN: - text_tag->accumulative_margin = g_value_get_boolean (value); + priv->accumulative_margin = g_value_get_boolean (value); g_object_notify (object, "accumulative-margin"); size_changed = TRUE; break; @@ -1251,11 +1267,11 @@ gtk_text_tag_set_property (GObject *object, /* Whether the value should be used... */ case PROP_BACKGROUND_SET: - text_tag->bg_color_set = g_value_get_boolean (value); + priv->bg_color_set = g_value_get_boolean (value); break; case PROP_FOREGROUND_SET: - text_tag->fg_color_set = g_value_get_boolean (value); + priv->fg_color_set = g_value_get_boolean (value); break; case PROP_FAMILY_SET: @@ -1266,8 +1282,8 @@ gtk_text_tag_set_property (GObject *object, case PROP_SIZE_SET: if (!g_value_get_boolean (value)) { - if (text_tag->values->font) - pango_font_description_unset_fields (text_tag->values->font, + if (priv->values->font) + pango_font_description_unset_fields (priv->values->font, get_property_font_set_mask (prop_id)); } else @@ -1275,95 +1291,95 @@ gtk_text_tag_set_property (GObject *object, PangoFontMask changed_mask; gtk_text_tag_ensure_font (text_tag); - changed_mask = set_font_desc_fields (text_tag->values->font, + changed_mask = set_font_desc_fields (priv->values->font, get_property_font_set_mask (prop_id)); notify_fields_changed (G_OBJECT (text_tag), changed_mask); } break; case PROP_SCALE_SET: - text_tag->scale_set = g_value_get_boolean (value); + priv->scale_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_PIXELS_ABOVE_LINES_SET: - text_tag->pixels_above_lines_set = g_value_get_boolean (value); + priv->pixels_above_lines_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_PIXELS_BELOW_LINES_SET: - text_tag->pixels_below_lines_set = g_value_get_boolean (value); + priv->pixels_below_lines_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_PIXELS_INSIDE_WRAP_SET: - text_tag->pixels_inside_wrap_set = g_value_get_boolean (value); + priv->pixels_inside_wrap_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_EDITABLE_SET: - text_tag->editable_set = g_value_get_boolean (value); + priv->editable_set = g_value_get_boolean (value); break; case PROP_WRAP_MODE_SET: - text_tag->wrap_mode_set = g_value_get_boolean (value); + priv->wrap_mode_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_JUSTIFICATION_SET: - text_tag->justification_set = g_value_get_boolean (value); + priv->justification_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_LEFT_MARGIN_SET: - text_tag->left_margin_set = g_value_get_boolean (value); + priv->left_margin_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_INDENT_SET: - text_tag->indent_set = g_value_get_boolean (value); + priv->indent_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_STRIKETHROUGH_SET: - text_tag->strikethrough_set = g_value_get_boolean (value); + priv->strikethrough_set = g_value_get_boolean (value); break; case PROP_RIGHT_MARGIN_SET: - text_tag->right_margin_set = g_value_get_boolean (value); + priv->right_margin_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_UNDERLINE_SET: - text_tag->underline_set = g_value_get_boolean (value); + priv->underline_set = g_value_get_boolean (value); break; case PROP_RISE_SET: - text_tag->rise_set = g_value_get_boolean (value); + priv->rise_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_BACKGROUND_FULL_HEIGHT_SET: - text_tag->bg_full_height_set = g_value_get_boolean (value); + priv->bg_full_height_set = g_value_get_boolean (value); break; case PROP_LANGUAGE_SET: - text_tag->language_set = g_value_get_boolean (value); + priv->language_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_TABS_SET: - text_tag->tabs_set = g_value_get_boolean (value); + priv->tabs_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_INVISIBLE_SET: - text_tag->invisible_set = g_value_get_boolean (value); + priv->invisible_set = g_value_get_boolean (value); size_changed = TRUE; break; case PROP_PARAGRAPH_BACKGROUND_SET: - text_tag->pg_bg_color_set = g_value_get_boolean (value); + priv->pg_bg_color_set = g_value_get_boolean (value); break; default: @@ -1381,8 +1397,8 @@ gtk_text_tag_set_property (GObject *object, * signal here, but the two objects are already tightly bound. */ - if (text_tag->table) - g_signal_emit_by_name (text_tag->table, + if (priv->table) + g_signal_emit_by_name (priv->table, "tag_changed", text_tag, size_changed); } @@ -1393,22 +1409,21 @@ gtk_text_tag_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - GtkTextTag *tag; - - tag = GTK_TEXT_TAG (object); + GtkTextTag *tag = GTK_TEXT_TAG (object); + GtkTextTagPrivate *priv = tag->priv; switch (prop_id) { case PROP_NAME: - g_value_set_string (value, tag->name); + g_value_set_string (value, priv->name); break; case PROP_BACKGROUND_GDK: - g_value_set_boxed (value, &tag->values->appearance.bg_color); + g_value_set_boxed (value, &priv->values->appearance.bg_color); break; case PROP_FOREGROUND_GDK: - g_value_set_boxed (value, &tag->values->appearance.fg_color); + g_value_set_boxed (value, &priv->values->appearance.fg_color); break; case PROP_FONT: @@ -1416,15 +1431,15 @@ gtk_text_tag_get_property (GObject *object, gchar *str; gtk_text_tag_ensure_font (tag); - - str = pango_font_description_to_string (tag->values->font); + + str = pango_font_description_to_string (priv->values->font); g_value_take_string (value, str); } break; case PROP_FONT_DESC: gtk_text_tag_ensure_font (tag); - g_value_set_boxed (value, tag->values->font); + g_value_set_boxed (value, priv->values->font); break; case PROP_FAMILY: @@ -1438,122 +1453,122 @@ gtk_text_tag_get_property (GObject *object, switch (prop_id) { case PROP_FAMILY: - g_value_set_string (value, pango_font_description_get_family (tag->values->font)); + g_value_set_string (value, pango_font_description_get_family (priv->values->font)); break; case PROP_STYLE: - g_value_set_enum (value, pango_font_description_get_style (tag->values->font)); + g_value_set_enum (value, pango_font_description_get_style (priv->values->font)); break; case PROP_VARIANT: - g_value_set_enum (value, pango_font_description_get_variant (tag->values->font)); + g_value_set_enum (value, pango_font_description_get_variant (priv->values->font)); break; case PROP_WEIGHT: - g_value_set_int (value, pango_font_description_get_weight (tag->values->font)); + g_value_set_int (value, pango_font_description_get_weight (priv->values->font)); break; case PROP_STRETCH: - g_value_set_enum (value, pango_font_description_get_stretch (tag->values->font)); + g_value_set_enum (value, pango_font_description_get_stretch (priv->values->font)); break; case PROP_SIZE: - g_value_set_int (value, pango_font_description_get_size (tag->values->font)); + g_value_set_int (value, pango_font_description_get_size (priv->values->font)); break; case PROP_SIZE_POINTS: - g_value_set_double (value, ((double)pango_font_description_get_size (tag->values->font)) / (double)PANGO_SCALE); + g_value_set_double (value, ((double)pango_font_description_get_size (priv->values->font)) / (double)PANGO_SCALE); break; } break; case PROP_SCALE: - g_value_set_double (value, tag->values->font_scale); + g_value_set_double (value, priv->values->font_scale); break; case PROP_PIXELS_ABOVE_LINES: - g_value_set_int (value, tag->values->pixels_above_lines); + g_value_set_int (value, priv->values->pixels_above_lines); break; case PROP_PIXELS_BELOW_LINES: - g_value_set_int (value, tag->values->pixels_below_lines); + g_value_set_int (value, priv->values->pixels_below_lines); break; case PROP_PIXELS_INSIDE_WRAP: - g_value_set_int (value, tag->values->pixels_inside_wrap); + g_value_set_int (value, priv->values->pixels_inside_wrap); break; case PROP_EDITABLE: - g_value_set_boolean (value, tag->values->editable); + g_value_set_boolean (value, priv->values->editable); break; case PROP_WRAP_MODE: - g_value_set_enum (value, tag->values->wrap_mode); + g_value_set_enum (value, priv->values->wrap_mode); break; case PROP_JUSTIFICATION: - g_value_set_enum (value, tag->values->justification); + g_value_set_enum (value, priv->values->justification); break; case PROP_DIRECTION: - g_value_set_enum (value, tag->values->direction); + g_value_set_enum (value, priv->values->direction); break; case PROP_LEFT_MARGIN: - g_value_set_int (value, tag->values->left_margin); + g_value_set_int (value, priv->values->left_margin); break; case PROP_INDENT: - g_value_set_int (value, tag->values->indent); + g_value_set_int (value, priv->values->indent); break; case PROP_STRIKETHROUGH: - g_value_set_boolean (value, tag->values->appearance.strikethrough); + g_value_set_boolean (value, priv->values->appearance.strikethrough); break; case PROP_RIGHT_MARGIN: - g_value_set_int (value, tag->values->right_margin); + g_value_set_int (value, priv->values->right_margin); break; case PROP_UNDERLINE: - g_value_set_enum (value, tag->values->appearance.underline); + g_value_set_enum (value, priv->values->appearance.underline); break; case PROP_RISE: - g_value_set_int (value, tag->values->appearance.rise); + g_value_set_int (value, priv->values->appearance.rise); break; case PROP_BACKGROUND_FULL_HEIGHT: - g_value_set_boolean (value, tag->values->bg_full_height); + g_value_set_boolean (value, priv->values->bg_full_height); break; case PROP_LANGUAGE: - g_value_set_string (value, pango_language_to_string (tag->values->language)); + g_value_set_string (value, pango_language_to_string (priv->values->language)); break; case PROP_TABS: - if (tag->values->tabs) - g_value_set_boxed (value, tag->values->tabs); + if (priv->values->tabs) + g_value_set_boxed (value, priv->values->tabs); break; case PROP_INVISIBLE: - g_value_set_boolean (value, tag->values->invisible); + g_value_set_boolean (value, priv->values->invisible); break; case PROP_PARAGRAPH_BACKGROUND_GDK: - g_value_set_boxed (value, tag->values->pg_bg_color); + g_value_set_boxed (value, priv->values->pg_bg_color); break; case PROP_ACCUMULATIVE_MARGIN: - g_value_set_boolean (value, tag->accumulative_margin); + g_value_set_boolean (value, priv->accumulative_margin); break; case PROP_BACKGROUND_SET: - g_value_set_boolean (value, tag->bg_color_set); + g_value_set_boolean (value, priv->bg_color_set); break; case PROP_FOREGROUND_SET: - g_value_set_boolean (value, tag->fg_color_set); + g_value_set_boolean (value, priv->fg_color_set); break; case PROP_FAMILY_SET: @@ -1563,7 +1578,7 @@ gtk_text_tag_get_property (GObject *object, case PROP_STRETCH_SET: case PROP_SIZE_SET: { - PangoFontMask set_mask = tag->values->font ? pango_font_description_get_set_fields (tag->values->font) : 0; + PangoFontMask set_mask = priv->values->font ? pango_font_description_get_set_fields (priv->values->font) : 0; PangoFontMask test_mask = get_property_font_set_mask (prop_id); g_value_set_boolean (value, (set_mask & test_mask) != 0); @@ -1571,75 +1586,75 @@ gtk_text_tag_get_property (GObject *object, } case PROP_SCALE_SET: - g_value_set_boolean (value, tag->scale_set); + g_value_set_boolean (value, priv->scale_set); break; case PROP_PIXELS_ABOVE_LINES_SET: - g_value_set_boolean (value, tag->pixels_above_lines_set); + g_value_set_boolean (value, priv->pixels_above_lines_set); break; case PROP_PIXELS_BELOW_LINES_SET: - g_value_set_boolean (value, tag->pixels_below_lines_set); + g_value_set_boolean (value, priv->pixels_below_lines_set); break; case PROP_PIXELS_INSIDE_WRAP_SET: - g_value_set_boolean (value, tag->pixels_inside_wrap_set); + g_value_set_boolean (value, priv->pixels_inside_wrap_set); break; case PROP_EDITABLE_SET: - g_value_set_boolean (value, tag->editable_set); + g_value_set_boolean (value, priv->editable_set); break; case PROP_WRAP_MODE_SET: - g_value_set_boolean (value, tag->wrap_mode_set); + g_value_set_boolean (value, priv->wrap_mode_set); break; case PROP_JUSTIFICATION_SET: - g_value_set_boolean (value, tag->justification_set); + g_value_set_boolean (value, priv->justification_set); break; case PROP_LEFT_MARGIN_SET: - g_value_set_boolean (value, tag->left_margin_set); + g_value_set_boolean (value, priv->left_margin_set); break; case PROP_INDENT_SET: - g_value_set_boolean (value, tag->indent_set); + g_value_set_boolean (value, priv->indent_set); break; case PROP_STRIKETHROUGH_SET: - g_value_set_boolean (value, tag->strikethrough_set); + g_value_set_boolean (value, priv->strikethrough_set); break; case PROP_RIGHT_MARGIN_SET: - g_value_set_boolean (value, tag->right_margin_set); + g_value_set_boolean (value, priv->right_margin_set); break; case PROP_UNDERLINE_SET: - g_value_set_boolean (value, tag->underline_set); + g_value_set_boolean (value, priv->underline_set); break; case PROP_RISE_SET: - g_value_set_boolean (value, tag->rise_set); + g_value_set_boolean (value, priv->rise_set); break; case PROP_BACKGROUND_FULL_HEIGHT_SET: - g_value_set_boolean (value, tag->bg_full_height_set); + g_value_set_boolean (value, priv->bg_full_height_set); break; case PROP_LANGUAGE_SET: - g_value_set_boolean (value, tag->language_set); + g_value_set_boolean (value, priv->language_set); break; case PROP_TABS_SET: - g_value_set_boolean (value, tag->tabs_set); + g_value_set_boolean (value, priv->tabs_set); break; case PROP_INVISIBLE_SET: - g_value_set_boolean (value, tag->invisible_set); + g_value_set_boolean (value, priv->invisible_set); break; case PROP_PARAGRAPH_BACKGROUND_SET: - g_value_set_boolean (value, tag->pg_bg_color_set); + g_value_set_boolean (value, priv->pg_bg_color_set); break; case PROP_BACKGROUND: @@ -1665,10 +1680,11 @@ typedef struct { static void delta_priority_foreach (GtkTextTag *tag, gpointer user_data) { + GtkTextTagPrivate *priv = tag->priv; DeltaData *dd = user_data; - if (tag->priority >= dd->low && tag->priority <= dd->high) - tag->priority += dd->delta; + if (priv->priority >= dd->low && priv->priority <= dd->high) + priv->priority += dd->delta; } /** @@ -1684,7 +1700,7 @@ gtk_text_tag_get_priority (GtkTextTag *tag) { g_return_val_if_fail (GTK_IS_TEXT_TAG (tag), 0); - return tag->priority; + return tag->priv->priority; } /** @@ -1708,34 +1724,38 @@ void gtk_text_tag_set_priority (GtkTextTag *tag, gint priority) { + GtkTextTagPrivate *priv; DeltaData dd; g_return_if_fail (GTK_IS_TEXT_TAG (tag)); - g_return_if_fail (tag->table != NULL); - g_return_if_fail (priority >= 0); - g_return_if_fail (priority < gtk_text_tag_table_get_size (tag->table)); - if (priority == tag->priority) + priv = tag->priv; + + g_return_if_fail (priv->table != NULL); + g_return_if_fail (priority >= 0); + g_return_if_fail (priority < gtk_text_tag_table_get_size (priv->table)); + + if (priority == priv->priority) return; - if (priority < tag->priority) + if (priority < priv->priority) { dd.low = priority; - dd.high = tag->priority - 1; + dd.high = priv->priority - 1; dd.delta = 1; } else { - dd.low = tag->priority + 1; + dd.low = priv->priority + 1; dd.high = priority; dd.delta = -1; } - gtk_text_tag_table_foreach (tag->table, + gtk_text_tag_table_foreach (priv->table, delta_priority_foreach, &dd); - tag->priority = priority; + priv->priority = priority; } /** @@ -1779,7 +1799,7 @@ tag_sort_func (gconstpointer first, gconstpointer second) tag1 = * (GtkTextTag **) first; tag2 = * (GtkTextTag **) second; - return tag1->priority - tag2->priority; + return tag1->priv->priority - tag2->priv->priority; } void @@ -1801,10 +1821,10 @@ _gtk_text_tag_array_sort (GtkTextTag** tag_array_p, for (i = len-1; i > 0; i--, iter++) { maxPtrPtr = tag = iter; - prio = tag[0]->priority; + prio = tag[0]->priv->priority; for (j = i, tag++; j > 0; j--, tag++) { - if (tag[0]->priority < prio) { - prio = tag[0]->priority; + if (tag[0]->priv->priority < prio) { + prio = tag[0]->priv->priority; maxPtrPtr = tag; } } @@ -1989,22 +2009,22 @@ _gtk_text_attributes_fill_from_tags (GtkTextAttributes *dest, while (n < n_tags) { GtkTextTag *tag = tags[n]; - GtkTextAttributes *vals = tag->values; + GtkTextAttributes *vals = tag->priv->values; - g_assert (tag->table != NULL); + g_assert (tag->priv->table != NULL); if (n > 0) - g_assert (tags[n]->priority > tags[n-1]->priority); + g_assert (tags[n]->priv->priority > tags[n-1]->priv->priority); - if (tag->bg_color_set) + if (tag->priv->bg_color_set) { dest->appearance.bg_color = vals->appearance.bg_color; dest->appearance.draw_bg = TRUE; } - if (tag->fg_color_set) + if (tag->priv->fg_color_set) dest->appearance.fg_color = vals->appearance.fg_color; - - if (tag->pg_bg_color_set) + + if (tag->priv->pg_bg_color_set) { dest->pg_bg_color = gdk_color_copy (vals->pg_bg_color); } @@ -2018,72 +2038,72 @@ _gtk_text_attributes_fill_from_tags (GtkTextAttributes *dest, } /* multiply all the scales together to get a composite */ - if (tag->scale_set) + if (tag->priv->scale_set) dest->font_scale *= vals->font_scale; - - if (tag->justification_set) + + if (tag->priv->justification_set) dest->justification = vals->justification; if (vals->direction != GTK_TEXT_DIR_NONE) dest->direction = vals->direction; - if (tag->left_margin_set) + if (tag->priv->left_margin_set) { - if (tag->accumulative_margin) + if (tag->priv->accumulative_margin) left_margin_accumulative += vals->left_margin; else dest->left_margin = vals->left_margin; } - if (tag->indent_set) + if (tag->priv->indent_set) dest->indent = vals->indent; - if (tag->rise_set) + if (tag->priv->rise_set) dest->appearance.rise = vals->appearance.rise; - if (tag->right_margin_set) + if (tag->priv->right_margin_set) { - if (tag->accumulative_margin) + if (tag->priv->accumulative_margin) right_margin_accumulative += vals->right_margin; else dest->right_margin = vals->right_margin; } - if (tag->pixels_above_lines_set) + if (tag->priv->pixels_above_lines_set) dest->pixels_above_lines = vals->pixels_above_lines; - if (tag->pixels_below_lines_set) + if (tag->priv->pixels_below_lines_set) dest->pixels_below_lines = vals->pixels_below_lines; - if (tag->pixels_inside_wrap_set) + if (tag->priv->pixels_inside_wrap_set) dest->pixels_inside_wrap = vals->pixels_inside_wrap; - if (tag->tabs_set) + if (tag->priv->tabs_set) { if (dest->tabs) pango_tab_array_free (dest->tabs); dest->tabs = pango_tab_array_copy (vals->tabs); } - if (tag->wrap_mode_set) + if (tag->priv->wrap_mode_set) dest->wrap_mode = vals->wrap_mode; - if (tag->underline_set) + if (tag->priv->underline_set) dest->appearance.underline = vals->appearance.underline; - if (tag->strikethrough_set) + if (tag->priv->strikethrough_set) dest->appearance.strikethrough = vals->appearance.strikethrough; - if (tag->invisible_set) + if (tag->priv->invisible_set) dest->invisible = vals->invisible; - if (tag->editable_set) + if (tag->priv->editable_set) dest->editable = vals->editable; - if (tag->bg_full_height_set) + if (tag->priv->bg_full_height_set) dest->bg_full_height = vals->bg_full_height; - if (tag->language_set) + if (tag->priv->language_set) dest->language = vals->language; ++n; @@ -2096,34 +2116,34 @@ _gtk_text_attributes_fill_from_tags (GtkTextAttributes *dest, gboolean _gtk_text_tag_affects_size (GtkTextTag *tag) { - g_return_val_if_fail (GTK_IS_TEXT_TAG (tag), FALSE); + GtkTextTagPrivate *priv = tag->priv; return - (tag->values->font && pango_font_description_get_set_fields (tag->values->font) != 0) || - tag->scale_set || - tag->justification_set || - tag->left_margin_set || - tag->indent_set || - tag->rise_set || - tag->right_margin_set || - tag->pixels_above_lines_set || - tag->pixels_below_lines_set || - tag->pixels_inside_wrap_set || - tag->tabs_set || - tag->underline_set || - tag->wrap_mode_set || - tag->invisible_set; + (priv->values->font && pango_font_description_get_set_fields (priv->values->font) != 0) || + priv->scale_set || + priv->justification_set || + priv->left_margin_set || + priv->indent_set || + priv->rise_set || + priv->right_margin_set || + priv->pixels_above_lines_set || + priv->pixels_below_lines_set || + priv->pixels_inside_wrap_set || + priv->tabs_set || + priv->underline_set || + priv->wrap_mode_set || + priv->invisible_set; } gboolean _gtk_text_tag_affects_nonsize_appearance (GtkTextTag *tag) { - g_return_val_if_fail (GTK_IS_TEXT_TAG (tag), FALSE); + GtkTextTagPrivate *priv = tag->priv; return - tag->bg_color_set || - tag->fg_color_set || - tag->strikethrough_set || - tag->bg_full_height_set || - tag->pg_bg_color_set; + priv->bg_color_set || + priv->fg_color_set || + priv->strikethrough_set || + priv->bg_full_height_set || + priv->pg_bg_color_set; } diff --git a/gtk/gtktexttag.h b/gtk/gtktexttag.h index 20d631af9e..cca6f4df0c 100644 --- a/gtk/gtktexttag.h +++ b/gtk/gtktexttag.h @@ -75,61 +75,15 @@ typedef struct _GtkTextAttributes GtkTextAttributes; #define GTK_TYPE_TEXT_ATTRIBUTES (gtk_text_attributes_get_type ()) -typedef struct _GtkTextTag GtkTextTag; -typedef struct _GtkTextTagClass GtkTextTagClass; +typedef struct _GtkTextTag GtkTextTag; +typedef struct _GtkTextTagPrivate GtkTextTagPrivate; +typedef struct _GtkTextTagClass GtkTextTagClass; struct _GtkTextTag { GObject parent_instance; - GtkTextTagTable *GSEAL (table); - - char *GSEAL (name); /* Name of this tag. This field is actually - * a pointer to the key from the entry in - * tkxt->tagTable, so it needn't be freed - * explicitly. */ - int GSEAL (priority); /* Priority of this tag within widget. 0 - * means lowest priority. Exactly one tag - * has each integer value between 0 and - * numTags-1. */ - /* - * Information for displaying text with this tag. The information - * belows acts as an override on information specified by lower-priority - * tags. If no value is specified, then the next-lower-priority tag - * on the text determins the value. The text widget itself provides - * defaults if no tag specifies an override. - */ - - GtkTextAttributes *GSEAL (values); - - /* Flags for whether a given value is set; if a value is unset, then - * this tag does not affect it. - */ - guint GSEAL (bg_color_set) : 1; - guint GSEAL (fg_color_set) : 1; - guint GSEAL (scale_set) : 1; - guint GSEAL (justification_set) : 1; - guint GSEAL (left_margin_set) : 1; - guint GSEAL (indent_set) : 1; - guint GSEAL (rise_set) : 1; - guint GSEAL (strikethrough_set) : 1; - guint GSEAL (right_margin_set) : 1; - guint GSEAL (pixels_above_lines_set) : 1; - guint GSEAL (pixels_below_lines_set) : 1; - guint GSEAL (pixels_inside_wrap_set) : 1; - guint GSEAL (tabs_set) : 1; - guint GSEAL (underline_set) : 1; - guint GSEAL (wrap_mode_set) : 1; - guint GSEAL (bg_full_height_set) : 1; - guint GSEAL (invisible_set) : 1; - guint GSEAL (editable_set) : 1; - guint GSEAL (language_set) : 1; - guint GSEAL (pg_bg_color_set) : 1; - - /* Whether these margins accumulate or override */ - guint GSEAL (accumulative_margin) : 1; - - guint GSEAL (pad1) : 1; + GtkTextTagPrivate *priv; }; struct _GtkTextTagClass diff --git a/gtk/gtktexttagprivate.h b/gtk/gtktexttagprivate.h index afc3a9b345..2eb1f6bc31 100644 --- a/gtk/gtktexttagprivate.h +++ b/gtk/gtktexttagprivate.h @@ -31,6 +31,60 @@ typedef struct _GtkTextBTreeNode GtkTextBTreeNode; + +struct _GtkTextTagPrivate +{ + GtkTextTagTable *table; + + char *name; /* Name of this tag. This field is actually + * a pointer to the key from the entry in + * tkxt->tagTable, so it needn't be freed + * explicitly. */ + int priority; /* Priority of this tag within widget. 0 + * means lowest priority. Exactly one tag + * has each integer value between 0 and + * numTags-1. */ + /* + * Information for displaying text with this tag. The information + * belows acts as an override on information specified by lower-priority + * tags. If no value is specified, then the next-lower-priority tag + * on the text determins the value. The text widget itself provides + * defaults if no tag specifies an override. + */ + + GtkTextAttributes *values; + + /* Flags for whether a given value is set; if a value is unset, then + * this tag does not affect it. + */ + guint bg_color_set : 1; + guint fg_color_set : 1; + guint scale_set : 1; + guint justification_set : 1; + guint left_margin_set : 1; + guint indent_set : 1; + guint rise_set : 1; + guint strikethrough_set : 1; + guint right_margin_set : 1; + guint pixels_above_lines_set : 1; + guint pixels_below_lines_set : 1; + guint pixels_inside_wrap_set : 1; + guint tabs_set : 1; + guint underline_set : 1; + guint wrap_mode_set : 1; + guint bg_full_height_set : 1; + guint invisible_set : 1; + guint editable_set : 1; + guint language_set : 1; + guint pg_bg_color_set : 1; + + /* Whether these margins accumulate or override */ + guint accumulative_margin : 1; + + guint pad1 : 1; +}; + + /* values should already have desired defaults; this function will override * the defaults with settings in the given tags, which should be sorted in * ascending order of priority diff --git a/gtk/gtktexttagtable.c b/gtk/gtktexttagtable.c index 0bded236a1..b1a99ffd12 100644 --- a/gtk/gtktexttagtable.c +++ b/gtk/gtktexttagtable.c @@ -25,7 +25,10 @@ */ #include "config.h" + #include "gtktexttagtable.h" + +#include "gtktexttagprivate.h" #include "gtkmarshalers.h" #include "gtktextbuffer.h" /* just for the lame notify_will_remove_tag hack */ #include "gtkintl.h" @@ -176,7 +179,7 @@ gtk_text_tag_table_new (void) static void foreach_unref (GtkTextTag *tag, gpointer data) { - GtkTextTagTable *table = GTK_TEXT_TAG_TABLE (tag->table); + GtkTextTagTable *table = GTK_TEXT_TAG_TABLE (tag->priv->table); GtkTextTagTablePrivate *priv = table->priv; GSList *tmp; @@ -193,7 +196,7 @@ foreach_unref (GtkTextTag *tag, gpointer data) tmp = tmp->next; } - tag->table = NULL; + tag->priv->table = NULL; g_object_unref (tag); } @@ -263,35 +266,35 @@ gtk_text_tag_table_add (GtkTextTagTable *table, g_return_if_fail (GTK_IS_TEXT_TAG_TABLE (table)); g_return_if_fail (GTK_IS_TEXT_TAG (tag)); - g_return_if_fail (tag->table == NULL); + g_return_if_fail (tag->priv->table == NULL); priv = table->priv; - if (tag->name && g_hash_table_lookup (priv->hash, tag->name)) + if (tag->priv->name && g_hash_table_lookup (priv->hash, tag->priv->name)) { g_warning ("A tag named '%s' is already in the tag table.", - tag->name); + tag->priv->name); return; } g_object_ref (tag); - if (tag->name) - g_hash_table_insert (priv->hash, tag->name, tag); + if (tag->priv->name) + g_hash_table_insert (priv->hash, tag->priv->name, tag); else { priv->anonymous = g_slist_prepend (priv->anonymous, tag); priv->anon_count += 1; } - tag->table = table; + tag->priv->table = table; /* We get the highest tag priority, as the most-recently-added tag. Note that we do NOT use gtk_text_tag_set_priority, as it assumes the tag is already in the table. */ size = gtk_text_tag_table_get_size (table); g_assert (size > 0); - tag->priority = size - 1; + tag->priv->priority = size - 1; g_signal_emit (table, signals[TAG_ADDED], 0, tag); } @@ -337,7 +340,7 @@ gtk_text_tag_table_remove (GtkTextTagTable *table, g_return_if_fail (GTK_IS_TEXT_TAG_TABLE (table)); g_return_if_fail (GTK_IS_TEXT_TAG (tag)); - g_return_if_fail (tag->table == table); + g_return_if_fail (tag->priv->table == table); priv = table->priv; @@ -358,10 +361,10 @@ gtk_text_tag_table_remove (GtkTextTagTable *table, priorities of the tags in the table. */ gtk_text_tag_set_priority (tag, gtk_text_tag_table_get_size (table) - 1); - tag->table = NULL; + tag->priv->table = NULL; - if (tag->name) - g_hash_table_remove (priv->hash, tag->name); + if (tag->priv->name) + g_hash_table_remove (priv->hash, tag->priv->name); else { priv->anonymous = g_slist_remove (priv->anonymous, tag); diff --git a/modules/other/gail/libgail-util/gailmisc.c b/modules/other/gail/libgail-util/gailmisc.c index 83910bb562..a9291e4d46 100644 --- a/modules/other/gail/libgail-util/gailmisc.c +++ b/modules/other/gail/libgail-util/gailmisc.c @@ -697,7 +697,6 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, GSList *tags, *temp_tags; gdouble scale = 1; gboolean val_set = FALSE; - PangoFontMask mask; gtk_text_buffer_get_iter_at_offset (buffer, &iter, offset); @@ -716,71 +715,17 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, while (temp_tags && !val_set) { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - PangoFontDescription *font; - font = tag->values->font; - - if (font) - { - mask = pango_font_description_get_set_fields (font); - val_set = mask & PANGO_FONT_MASK_STYLE; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_STYLE); - } - temp_tags = temp_tags->next; - } - val_set = FALSE; - - temp_tags = tags; - while (temp_tags && !val_set) - { - GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - PangoFontDescription *font; - - font = tag->values->font; - - if (font) - { - mask = pango_font_description_get_set_fields (font); - val_set = mask & PANGO_FONT_MASK_VARIANT; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_VARIANT); - } - temp_tags = temp_tags->next; - } - val_set = FALSE; - - temp_tags = tags; - while (temp_tags && !val_set) - { - GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - PangoFontDescription *font; - - font = tag->values->font; - - if (font) - { - mask = pango_font_description_get_set_fields (font); - val_set = mask & PANGO_FONT_MASK_STRETCH; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_STRETCH); - } - temp_tags = temp_tags->next; - } - val_set = FALSE; - - temp_tags = tags; - while (temp_tags && !val_set) - { - GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - - val_set = tag->justification_set; + g_object_get (tag, "style-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_JUSTIFICATION); + { + PangoStyle style; + gchar *value; + + g_object_get (tag, "style", &style, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_STYLE, style)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_STYLE, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -790,11 +735,72 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - if (tag->values->direction != GTK_TEXT_DIR_NONE) + g_object_get (tag, "variant-set", &val_set, NULL); + if (val_set) { + PangoVariant variant; + gchar *value; + + g_object_get (tag, "variant", &variant, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_VARIANT, variant)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_VARIANT, value); + } + temp_tags = temp_tags->next; + } + val_set = FALSE; + + temp_tags = tags; + while (temp_tags && !val_set) + { + GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + + g_object_get (tag, "stretch-set", &val_set, NULL); + if (val_set) + { + PangoStretch stretch; + gchar *value; + + g_object_get (tag, "stretch", &stretch, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_STRETCH, stretch)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_STRETCH, value); + } + temp_tags = temp_tags->next; + } + val_set = FALSE; + + temp_tags = tags; + while (temp_tags && !val_set) + { + GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + + g_object_get (tag, "justification-set", &val_set, NULL); + if (val_set) + { + GtkJustification justification; + gchar *value; + + g_object_get (tag, "justification", &justification, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_JUSTIFICATION, justification)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_JUSTIFICATION, value); + } + temp_tags = temp_tags->next; + } + val_set = FALSE; + + temp_tags = tags; + while (temp_tags && !val_set) + { + GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + GtkTextDirection direction; + + g_object_get (tag, "direction", &direction, NULL); + + if (direction != GTK_TEXT_DIR_NONE) + { + gchar *value; val_set = TRUE; - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_DIRECTION); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_DIRECTION, direction)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION, value); } temp_tags = temp_tags->next; } @@ -805,55 +811,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->wrap_mode_set; + g_object_get (tag, "wrap-mode-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_WRAP_MODE); - temp_tags = temp_tags->next; - } - val_set = FALSE; - - temp_tags = tags; - while (temp_tags && !val_set) - { - GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - - val_set = tag->fg_color_set; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_FG_COLOR); - temp_tags = temp_tags->next; - } - val_set = FALSE; - - temp_tags = tags; - while (temp_tags && !val_set) - { - GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - - val_set = tag->bg_color_set; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_BG_COLOR); - temp_tags = temp_tags->next; - } - val_set = FALSE; - - temp_tags = tags; - while (temp_tags && !val_set) - { - GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - PangoFontDescription *font; - - font = tag->values->font; - - if (font) { - mask = pango_font_description_get_set_fields (font); - val_set = mask & PANGO_FONT_MASK_FAMILY; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_FAMILY_NAME); + GtkWrapMode wrap_mode; + gchar *value; + + g_object_get (tag, "wrap-mode", &wrap_mode, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_WRAP_MODE, wrap_mode)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_WRAP_MODE, value); } temp_tags = temp_tags->next; } @@ -864,10 +830,16 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->language_set; + g_object_get (tag, "foreground-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_LANGUAGE); + { + GdkColor c; + gchar *value; + + g_object_get (tag, "foreground-gdk", &c, NULL); + value = g_strdup_printf ("%u,%u,%u", c.red, c.green, c.blue); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_COLOR, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -876,17 +848,70 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, while (temp_tags && !val_set) { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - PangoFontDescription *font; - font = tag->values->font; - - if (font) + g_object_get (tag, "background-set", &val_set, NULL); + if (val_set) { - mask = pango_font_description_get_set_fields (font); - val_set = mask & PANGO_FONT_MASK_WEIGHT; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_WEIGHT); + GdkColor c; + gchar *value; + + g_object_get (tag, "background-gdk", &c, NULL); + value = g_strdup_printf ("%u,%u,%u", c.red, c.green, c.blue); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_COLOR, value); + } + temp_tags = temp_tags->next; + } + val_set = FALSE; + + temp_tags = tags; + while (temp_tags && !val_set) + { + GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + + g_object_get (tag, "family-set", &val_set, NULL); + + if (val_set) + { + gchar *value; + g_object_get (tag, "family", &value, NULL); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FAMILY_NAME, value); + } + temp_tags = temp_tags->next; + } + val_set = FALSE; + + temp_tags = tags; + while (temp_tags && !val_set) + { + GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + + g_object_get (tag, "language-set", &val_set, NULL); + + if (val_set) + { + gchar *value; + g_object_get (tag, "language", &value, NULL); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LANGUAGE, value); + } + temp_tags = temp_tags->next; + } + val_set = FALSE; + + temp_tags = tags; + while (temp_tags && !val_set) + { + GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + + g_object_get (tag, "weight-set", &val_set, NULL); + + if (val_set) + { + gint weight; + gchar *value; + + g_object_get (tag, "weight", &weight, NULL); + value = g_strdup_printf ("%d", weight); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_WEIGHT, value); } temp_tags = temp_tags->next; } @@ -901,11 +926,16 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, while (temp_tags) { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); + gboolean scale_set; - if (tag->scale_set) + g_object_get (tag, "scale-set", &scale_set, NULL); + if (scale_set) { + gdouble font_scale; + + g_object_get (tag, "scale", &font_scale, NULL); val_set = TRUE; - scale *= tag->values->font_scale; + scale *= font_scale; } temp_tags = temp_tags->next; } @@ -922,17 +952,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, while (temp_tags && !val_set) { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - PangoFontDescription *font; - font = tag->values->font; - - if (font) + g_object_get (tag, "size-set", &val_set, NULL); + if (val_set) { - mask = pango_font_description_get_set_fields (font); - val_set = mask & PANGO_FONT_MASK_SIZE; - if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_SIZE); + gint size; + gchar *value; + g_object_get (tag, "size", &size, NULL); + value = g_strdup_printf ("%i", size); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SIZE, value); } temp_tags = temp_tags->next; } @@ -943,10 +971,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->strikethrough_set; + g_object_get (tag, "strikethrough-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_STRIKETHROUGH); + { + gboolean strikethrough; + gchar *value; + g_object_get (tag, "strikethrough", &strikethrough, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_STRIKETHROUGH, strikethrough)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_STRIKETHROUGH, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -956,10 +989,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->underline_set; + g_object_get (tag, "underline-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_UNDERLINE); + { + PangoUnderline underline; + gchar *value; + g_object_get (tag, "underline", &underline, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_UNDERLINE, underline)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_UNDERLINE, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -969,10 +1007,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->rise_set; + g_object_get (tag, "rise-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_RISE); + { + gint rise; + gchar *value; + g_object_get (tag, "rise", &rise, NULL); + value = g_strdup_printf ("%i", rise); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RISE, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -982,10 +1025,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->bg_full_height_set; + g_object_get (tag, "background-full-height-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_BG_FULL_HEIGHT); + { + gboolean bg_full_height; + gchar *value; + g_object_get (tag, "background-full-height", &bg_full_height, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_BG_FULL_HEIGHT, bg_full_height)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_FULL_HEIGHT, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -995,10 +1043,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->pixels_inside_wrap_set; + g_object_get (tag, "pixels-inside-wrap-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP); + { + gint pixels; + gchar *value; + g_object_get (tag, "pixels-inside-wrap", &pixels, NULL); + value = g_strdup_printf ("%i", pixels); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1008,10 +1061,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->pixels_below_lines_set; + g_object_get (tag, "pixels-below-lines-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_PIXELS_BELOW_LINES); + { + gint pixels; + gchar *value; + g_object_get (tag, "pixels-below-lines", &pixels, NULL); + value = g_strdup_printf ("%i", pixels); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1021,10 +1079,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->pixels_above_lines_set; + g_object_get (tag, "pixels-above-lines-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_PIXELS_ABOVE_LINES); + { + gint pixels; + gchar *value; + g_object_get (tag, "pixels-above-lines", &pixels, NULL); + value = g_strdup_printf ("%i", pixels); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1034,10 +1097,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->editable_set; + g_object_get (tag, "editable-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_EDITABLE); + { + gboolean editable; + gchar *value; + g_object_get (tag, "editable", &editable, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_EDITABLE, editable)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_EDITABLE, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1047,10 +1115,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->invisible_set; + g_object_get (tag, "invisible-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_INVISIBLE); + { + gboolean invisible; + gchar *value; + g_object_get (tag, "invisible", &invisible, NULL); + value = g_strdup (atk_text_attribute_get_value (ATK_TEXT_ATTR_INVISIBLE, invisible)); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_INVISIBLE, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1060,10 +1133,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->indent_set; + g_object_get (tag, "indent-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_INDENT); + { + gint indent; + gchar *value; + g_object_get (tag, "indent", &indent, NULL); + value = g_strdup_printf ("%i", indent); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_INDENT, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1073,10 +1151,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->right_margin_set; + g_object_get (tag, "right-margin-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_RIGHT_MARGIN); + { + gint margin; + gchar *value; + g_object_get (tag, "right-margin", &margin, NULL); + value = g_strdup_printf ("%i", margin); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RIGHT_MARGIN, value); + } temp_tags = temp_tags->next; } val_set = FALSE; @@ -1086,10 +1169,15 @@ gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, { GtkTextTag *tag = GTK_TEXT_TAG (temp_tags->data); - val_set = tag->left_margin_set; + g_object_get (tag, "left-margin-set", &val_set, NULL); if (val_set) - attrib_set = gail_misc_add_to_attr_set (attrib_set, tag->values, - ATK_TEXT_ATTR_LEFT_MARGIN); + { + gint margin; + gchar *value; + g_object_get (tag, "left-margin", &margin, NULL); + value = g_strdup_printf ("%i", margin); + gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LEFT_MARGIN, value); + } temp_tags = temp_tags->next; } val_set = FALSE; From 86a7ae67bc40ed94d67992b03c372db7d62dd014 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 17:18:43 -0500 Subject: [PATCH 1007/1463] GtkColorButton: trivial doc and formatting fixes --- gtk/gtkcolorbutton.c | 271 ++++++++++++++++++++++--------------------- gtk/gtkcolorbutton.h | 17 +-- 2 files changed, 142 insertions(+), 146 deletions(-) diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index 9afc7542f2..e3d0f41ee7 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -25,7 +25,7 @@ * Modified by the GTK+ Team and others 2003. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -52,9 +52,9 @@ * @Title: GtkColorButton * @See_also: #GtkColorSelectionDialog, #GtkFontButton * - * The #GtkColorButton is a button which displays the currently selected color - * an allows to open a color selection dialog to change the color. It is suitable - * widget for selecting a color in a preference dialog. + * The #GtkColorButton is a button which displays the currently selected + * color an allows to open a color selection dialog to change the color. + * It is suitable widget for selecting a color in a preference dialog. */ @@ -64,11 +64,11 @@ #define CHECK_LIGHT (2.0 / 3.0) -struct _GtkColorButtonPrivate +struct _GtkColorButtonPrivate { GtkWidget *draw_area; /* Widget where we draw the color sample */ GtkWidget *cs_dialog; /* Color selection dialog */ - + gchar *title; /* Title for the color selection window */ GdkRGBA rgba; @@ -76,7 +76,7 @@ struct _GtkColorButtonPrivate }; /* Properties */ -enum +enum { PROP_0, PROP_USE_ALPHA, @@ -87,7 +87,7 @@ enum }; /* Signals */ -enum +enum { COLOR_SET, LAST_SIGNAL @@ -96,25 +96,25 @@ enum /* gobject signals */ static void gtk_color_button_finalize (GObject *object); static void gtk_color_button_set_property (GObject *object, - guint param_id, - const GValue *value, - GParamSpec *pspec); + guint param_id, + const GValue *value, + GParamSpec *pspec); static void gtk_color_button_get_property (GObject *object, - guint param_id, - GValue *value, - GParamSpec *pspec); + guint param_id, + GValue *value, + GParamSpec *pspec); /* gtkwidget signals */ -static void gtk_color_button_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_color_button_state_changed (GtkWidget *widget, + GtkStateType previous_state); /* gtkbutton signals */ static void gtk_color_button_clicked (GtkButton *button); /* source side drag signals */ static void gtk_color_button_drag_begin (GtkWidget *widget, - GdkDragContext *context, - gpointer data); + GdkDragContext *context, + gpointer data); static void gtk_color_button_drag_data_get (GtkWidget *widget, GdkDragContext *context, GtkSelectionData *selection_data, @@ -124,13 +124,13 @@ static void gtk_color_button_drag_data_get (GtkWidget *widget, /* target side drag signals */ static void gtk_color_button_drag_data_received (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - GtkSelectionData *selection_data, - guint info, - guint32 time, - GtkColorButton *color_button); + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *selection_data, + guint info, + guint32 time, + GtkColorButton *color_button); static guint color_button_signals[LAST_SIGNAL] = { 0 }; @@ -160,15 +160,15 @@ gtk_color_button_class_init (GtkColorButtonClass *klass) /** * GtkColorButton:use-alpha: * - * If this property is set to %TRUE, the color swatch on the button is rendered against a - * checkerboard background to show its opacity and the opacity slider is displayed in the - * color selection dialog. + * If this property is set to %TRUE, the color swatch on the button is rendered against a + * checkerboard background to show its opacity and the opacity slider is displayed in the + * color selection dialog. * * Since: 2.4 */ g_object_class_install_property (gobject_class, PROP_USE_ALPHA, - g_param_spec_boolean ("use-alpha", P_("Use alpha"), + g_param_spec_boolean ("use-alpha", P_("Use alpha"), P_("Whether to give the color an alpha value"), FALSE, GTK_PARAM_READWRITE)); @@ -182,8 +182,8 @@ gtk_color_button_class_init (GtkColorButtonClass *klass) */ g_object_class_install_property (gobject_class, PROP_TITLE, - g_param_spec_string ("title", - P_("Title"), + g_param_spec_string ("title", + P_("Title"), P_("The title of the color selection dialog"), _("Pick a Color"), GTK_PARAM_READWRITE)); @@ -206,7 +206,7 @@ gtk_color_button_class_init (GtkColorButtonClass *klass) /** * GtkColorButton:alpha: * - * The selected opacity value (0 fully transparent, 65535 fully opaque). + * The selected opacity value (0 fully transparent, 65535 fully opaque). * * Since: 2.4 */ @@ -219,7 +219,7 @@ gtk_color_button_class_init (GtkColorButtonClass *klass) GTK_PARAM_READWRITE)); /** - * GtkColorButton::rgba + * GtkColorButton:rgba: * * The RGBA color. * @@ -237,10 +237,11 @@ gtk_color_button_class_init (GtkColorButtonClass *klass) /** * GtkColorButton::color-set: * @widget: the object which received the signal. - * - * The ::color-set signal is emitted when the user selects a color. - * When handling this signal, use gtk_color_button_get_color() and - * gtk_color_button_get_alpha() to find out which color was just selected. + * + * The ::color-set signal is emitted when the user selects a color. + * When handling this signal, use gtk_color_button_get_color() and + * gtk_color_button_get_alpha() (or gtk_color_button_get_rgba()) to + * find out which color was just selected. * * Note that this signal is only emitted when the user * changes the color. If you need to react to programmatic color changes @@ -249,12 +250,12 @@ gtk_color_button_class_init (GtkColorButtonClass *klass) * Since: 2.4 */ color_button_signals[COLOR_SET] = g_signal_new (I_("color-set"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkColorButtonClass, color_set), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GtkColorButtonClass, color_set), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); g_type_class_add_private (gobject_class, sizeof (GtkColorButtonPrivate)); } @@ -291,7 +292,7 @@ gtk_color_button_get_checkered (void) /* Handle exposure events for the color picker's drawing area */ static gint -gtk_color_button_draw_cb (GtkWidget *widget, +gtk_color_button_draw_cb (GtkWidget *widget, cairo_t *cr, gpointer data) { @@ -334,7 +335,7 @@ gtk_color_button_draw_cb (GtkWidget *widget, } static void -gtk_color_button_state_changed (GtkWidget *widget, +gtk_color_button_state_changed (GtkWidget *widget, GtkStateType previous_state) { gtk_widget_queue_draw (widget); @@ -342,13 +343,13 @@ gtk_color_button_state_changed (GtkWidget *widget, static void gtk_color_button_drag_data_received (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - GtkSelectionData *selection_data, - guint info, - guint32 time, - GtkColorButton *color_button) + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *selection_data, + guint info, + guint32 time, + GtkColorButton *color_button) { gint length; guint16 *dropped; @@ -408,8 +409,8 @@ set_color_icon (GdkDragContext *context, static void gtk_color_button_drag_begin (GtkWidget *widget, - GdkDragContext *context, - gpointer data) + GdkDragContext *context, + gpointer data) { GtkColorButton *color_button = data; @@ -418,11 +419,11 @@ gtk_color_button_drag_begin (GtkWidget *widget, static void gtk_color_button_drag_data_get (GtkWidget *widget, - GdkDragContext *context, - GtkSelectionData *selection_data, - guint info, - guint time, - GtkColorButton *color_button) + GdkDragContext *context, + GtkSelectionData *selection_data, + guint info, + guint time, + GtkColorButton *color_button) { guint16 dropped[4]; @@ -433,7 +434,7 @@ gtk_color_button_drag_data_get (GtkWidget *widget, gtk_selection_data_set (selection_data, gtk_selection_data_get_target (selection_data), - 16, (guchar *)dropped, 8); + 16, (guchar *)dropped, 8); } static void @@ -494,7 +495,7 @@ gtk_color_button_init (GtkColorButton *color_button) drop_types, 1, GDK_ACTION_COPY); g_signal_connect (color_button, "drag-begin", - G_CALLBACK (gtk_color_button_drag_begin), color_button); + G_CALLBACK (gtk_color_button_drag_begin), color_button); g_signal_connect (color_button, "drag-data-received", G_CALLBACK (gtk_color_button_drag_data_received), color_button); g_signal_connect (color_button, "drag-data-get", @@ -522,13 +523,15 @@ gtk_color_button_finalize (GObject *object) /** * gtk_color_button_new: * - * Creates a new color button. This returns a widget in the form of - * a small button containing a swatch representing the current selected - * color. When the button is clicked, a color-selection dialog will open, - * allowing the user to select a color. The swatch will be updated to reflect - * the new color when the user finishes. + * Creates a new color button. * - * Returns: a new color button. + * This returns a widget in the form of a small button containing + * a swatch representing the current selected color. When the button + * is clicked, a color-selection dialog will open, allowing the user + * to select a color. The swatch will be updated to reflect the new + * color when the user finishes. + * + * Returns: a new color button * * Since: 2.4 */ @@ -540,11 +543,11 @@ gtk_color_button_new (void) /** * gtk_color_button_new_with_color: - * @color: A #GdkColor to set the current color with. + * @color: A #GdkColor to set the current color with * - * Creates a new color button. + * Creates a new color button. * - * Returns: a new color button. + * Returns: a new color button * * Since: 2.4 */ @@ -556,7 +559,7 @@ gtk_color_button_new_with_color (const GdkColor *color) /** * gtk_color_button_new_with_rgba: - * @rgba: A #GdkRGBA to set the current color with. + * @rgba: A #GdkRGBA to set the current color with * * Creates a new color button. * @@ -571,8 +574,8 @@ gtk_color_button_new_with_rgba (const GdkRGBA *rgba) } static void -dialog_ok_clicked (GtkWidget *widget, - gpointer data) +dialog_ok_clicked (GtkWidget *widget, + gpointer data) { GtkColorButton *color_button = GTK_COLOR_BUTTON (data); GtkColorSelection *color_selection; @@ -597,11 +600,11 @@ dialog_ok_clicked (GtkWidget *widget, } static gboolean -dialog_destroy (GtkWidget *widget, - gpointer data) +dialog_destroy (GtkWidget *widget, + gpointer data) { GtkColorButton *color_button = GTK_COLOR_BUTTON (data); - + color_button->priv->cs_dialog = NULL; return FALSE; @@ -609,11 +612,11 @@ dialog_destroy (GtkWidget *widget, static void dialog_cancel_clicked (GtkWidget *widget, - gpointer data) + gpointer data) { GtkColorButton *color_button = GTK_COLOR_BUTTON (data); - - gtk_widget_hide (color_button->priv->cs_dialog); + + gtk_widget_hide (color_button->priv->cs_dialog); } static void @@ -624,36 +627,36 @@ gtk_color_button_clicked (GtkButton *button) GtkColorSelectionDialog *color_dialog; /* if dialog already exists, make sure it's shown and raised */ - if (!color_button->priv->cs_dialog) + if (!color_button->priv->cs_dialog) { /* Create the dialog and connects its buttons */ GtkWidget *parent; GtkWidget *ok_button, *cancel_button; - + parent = gtk_widget_get_toplevel (GTK_WIDGET (color_button)); - + color_button->priv->cs_dialog = gtk_color_selection_dialog_new (color_button->priv->title); - + color_dialog = GTK_COLOR_SELECTION_DIALOG (color_button->priv->cs_dialog); if (gtk_widget_is_toplevel (parent) && GTK_IS_WINDOW (parent)) { if (GTK_WINDOW (parent) != gtk_window_get_transient_for (GTK_WINDOW (color_dialog))) - gtk_window_set_transient_for (GTK_WINDOW (color_dialog), GTK_WINDOW (parent)); - - gtk_window_set_modal (GTK_WINDOW (color_dialog), - gtk_window_get_modal (GTK_WINDOW (parent))); - } + gtk_window_set_transient_for (GTK_WINDOW (color_dialog), GTK_WINDOW (parent)); + + gtk_window_set_modal (GTK_WINDOW (color_dialog), + gtk_window_get_modal (GTK_WINDOW (parent))); + } g_object_get (color_dialog, "ok-button", &ok_button, "cancel-button", &cancel_button, NULL); - + g_signal_connect (ok_button, "clicked", G_CALLBACK (dialog_ok_clicked), color_button); g_signal_connect (cancel_button, "clicked", - G_CALLBACK (dialog_cancel_clicked), color_button); + G_CALLBACK (dialog_cancel_clicked), color_button); g_signal_connect (color_dialog, "destroy", G_CALLBACK (dialog_destroy), color_button); } @@ -674,16 +677,16 @@ gtk_color_button_clicked (GtkButton *button) /** * gtk_color_button_set_color: - * @color_button: a #GtkColorButton. - * @color: A #GdkColor to set the current color with. + * @color_button: a #GtkColorButton + * @color: A #GdkColor to set the current color with * * Sets the current color to be @color. * * Since: 2.4 - **/ + */ void gtk_color_button_set_color (GtkColorButton *color_button, - const GdkColor *color) + const GdkColor *color) { g_return_if_fail (GTK_IS_COLOR_BUTTON (color_button)); g_return_if_fail (color != NULL); @@ -693,7 +696,7 @@ gtk_color_button_set_color (GtkColorButton *color_button, color_button->priv->rgba.blue = color->blue / 65535.; gtk_widget_queue_draw (color_button->priv->draw_area); - + g_object_notify (G_OBJECT (color_button), "color"); g_object_notify (G_OBJECT (color_button), "rgba"); } @@ -701,16 +704,16 @@ gtk_color_button_set_color (GtkColorButton *color_button, /** * gtk_color_button_set_alpha: - * @color_button: a #GtkColorButton. - * @alpha: an integer between 0 and 65535. + * @color_button: a #GtkColorButton + * @alpha: an integer between 0 and 65535 * - * Sets the current opacity to be @alpha. + * Sets the current opacity to be @alpha. * * Since: 2.4 - **/ + */ void gtk_color_button_set_alpha (GtkColorButton *color_button, - guint16 alpha) + guint16 alpha) { g_return_if_fail (GTK_IS_COLOR_BUTTON (color_button)); @@ -724,16 +727,16 @@ gtk_color_button_set_alpha (GtkColorButton *color_button, /** * gtk_color_button_get_color: - * @color_button: a #GtkColorButton. - * @color: (out): a #GdkColor to fill in with the current color. + * @color_button: a #GtkColorButton + * @color: (out): a #GdkColor to fill in with the current color * * Sets @color to be the current color in the #GtkColorButton widget. * * Since: 2.4 - **/ + */ void gtk_color_button_get_color (GtkColorButton *color_button, - GdkColor *color) + GdkColor *color) { g_return_if_fail (GTK_IS_COLOR_BUTTON (color_button)); @@ -744,14 +747,14 @@ gtk_color_button_get_color (GtkColorButton *color_button, /** * gtk_color_button_get_alpha: - * @color_button: a #GtkColorButton. + * @color_button: a #GtkColorButton * - * Returns the current alpha value. + * Returns the current alpha value. * - * Return value: an integer between 0 and 65535. + * Return value: an integer between 0 and 65535 * * Since: 2.4 - **/ + */ guint16 gtk_color_button_get_alpha (GtkColorButton *color_button) { @@ -762,13 +765,13 @@ gtk_color_button_get_alpha (GtkColorButton *color_button) /** * gtk_color_button_set_rgba: - * @color_button: a #GtkColorButton. + * @color_button: a #GtkColorButton * @rgba: a #GdkRGBA to set the current color with * * Sets the current color to be @rgba. * * Since: 3.0 - **/ + */ void gtk_color_button_set_rgba (GtkColorButton *color_button, const GdkRGBA *rgba) @@ -783,13 +786,13 @@ gtk_color_button_set_rgba (GtkColorButton *color_button, /** * gtk_color_button_get_rgba: - * @color_button: a #GtkColorButton. + * @color_button: a #GtkColorButton * @rgba: (out): a #GdkRGBA to fill in with the current color * * Sets @rgba to be the current color in the #GtkColorButton widget. * * Since: 3.0 - **/ + */ void gtk_color_button_get_rgba (GtkColorButton *color_button, GdkRGBA *rgba) @@ -802,22 +805,22 @@ gtk_color_button_get_rgba (GtkColorButton *color_button, /** * gtk_color_button_set_use_alpha: - * @color_button: a #GtkColorButton. - * @use_alpha: %TRUE if color button should use alpha channel, %FALSE if not. + * @color_button: a #GtkColorButton + * @use_alpha: %TRUE if color button should use alpha channel, %FALSE if not * * Sets whether or not the color button should use the alpha channel. * * Since: 2.4 */ void -gtk_color_button_set_use_alpha (GtkColorButton *color_button, - gboolean use_alpha) +gtk_color_button_set_use_alpha (GtkColorButton *color_button, + gboolean use_alpha) { g_return_if_fail (GTK_IS_COLOR_BUTTON (color_button)); use_alpha = (use_alpha != FALSE); - if (color_button->priv->use_alpha != use_alpha) + if (color_button->priv->use_alpha != use_alpha) { color_button->priv->use_alpha = use_alpha; @@ -829,11 +832,11 @@ gtk_color_button_set_use_alpha (GtkColorButton *color_button, /** * gtk_color_button_get_use_alpha: - * @color_button: a #GtkColorButton. + * @color_button: a #GtkColorButton * - * Does the color selection dialog use the alpha channel? + * Does the color selection dialog use the alpha channel ? * - * Returns: %TRUE if the color sample uses alpha channel, %FALSE if not. + * Returns: %TRUE if the color sample uses alpha channel, %FALSE if not * * Since: 2.4 */ @@ -849,15 +852,15 @@ gtk_color_button_get_use_alpha (GtkColorButton *color_button) /** * gtk_color_button_set_title: * @color_button: a #GtkColorButton - * @title: String containing new window title. + * @title: String containing new window title * * Sets the title for the color selection dialog. * * Since: 2.4 */ void -gtk_color_button_set_title (GtkColorButton *color_button, - const gchar *title) +gtk_color_button_set_title (GtkColorButton *color_button, + const gchar *title) { gchar *old_title; @@ -868,9 +871,9 @@ gtk_color_button_set_title (GtkColorButton *color_button, g_free (old_title); if (color_button->priv->cs_dialog) - gtk_window_set_title (GTK_WINDOW (color_button->priv->cs_dialog), - color_button->priv->title); - + gtk_window_set_title (GTK_WINDOW (color_button->priv->cs_dialog), + color_button->priv->title); + g_object_notify (G_OBJECT (color_button), "title"); } @@ -894,13 +897,13 @@ gtk_color_button_get_title (GtkColorButton *color_button) static void gtk_color_button_set_property (GObject *object, - guint param_id, - const GValue *value, - GParamSpec *pspec) + guint param_id, + const GValue *value, + GParamSpec *pspec) { GtkColorButton *color_button = GTK_COLOR_BUTTON (object); - switch (param_id) + switch (param_id) { case PROP_USE_ALPHA: gtk_color_button_set_use_alpha (color_button, g_value_get_boolean (value)); @@ -925,14 +928,14 @@ gtk_color_button_set_property (GObject *object, static void gtk_color_button_get_property (GObject *object, - guint param_id, - GValue *value, - GParamSpec *pspec) + guint param_id, + GValue *value, + GParamSpec *pspec) { GtkColorButton *color_button = GTK_COLOR_BUTTON (object); GdkColor color; - switch (param_id) + switch (param_id) { case PROP_USE_ALPHA: g_value_set_boolean (value, gtk_color_button_get_use_alpha (color_button)); diff --git a/gtk/gtkcolorbutton.h b/gtk/gtkcolorbutton.h index ae56f896f2..98e7e8cf20 100644 --- a/gtk/gtkcolorbutton.h +++ b/gtk/gtkcolorbutton.h @@ -42,12 +42,6 @@ G_BEGIN_DECLS -/* The GtkColorButton widget is a simple color picker in a button. - * The button displays a sample of the currently selected color. When - * the user clicks on the button, a color selection dialog pops up. - * The color picker emits the "color_set" signal when the color is set. - */ - #define GTK_TYPE_COLOR_BUTTON (gtk_color_button_get_type ()) #define GTK_COLOR_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_COLOR_BUTTON, GtkColorButton)) #define GTK_COLOR_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_COLOR_BUTTON, GtkColorButtonClass)) @@ -84,22 +78,21 @@ GtkWidget *gtk_color_button_new (void); GtkWidget *gtk_color_button_new_with_color (const GdkColor *color); GtkWidget *gtk_color_button_new_with_rgba (const GdkRGBA *rgba); void gtk_color_button_set_color (GtkColorButton *color_button, - const GdkColor *color); + const GdkColor *color); void gtk_color_button_set_alpha (GtkColorButton *color_button, - guint16 alpha); + guint16 alpha); void gtk_color_button_get_color (GtkColorButton *color_button, - GdkColor *color); + GdkColor *color); guint16 gtk_color_button_get_alpha (GtkColorButton *color_button); void gtk_color_button_set_use_alpha (GtkColorButton *color_button, - gboolean use_alpha); + gboolean use_alpha); gboolean gtk_color_button_get_use_alpha (GtkColorButton *color_button); - void gtk_color_button_set_rgba (GtkColorButton *color_button, const GdkRGBA *rgba); void gtk_color_button_get_rgba (GtkColorButton *color_button, GdkRGBA *rgba); void gtk_color_button_set_title (GtkColorButton *color_button, - const gchar *title); + const gchar *title); G_CONST_RETURN gchar *gtk_color_button_get_title (GtkColorButton *color_button); From 411cda4ff414bec20bdc439d9d2ac1b836d1cc70 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 18:12:54 -0500 Subject: [PATCH 1008/1463] Keep an explicit dep on cairo in the gdk pc file --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8900aedb1c..38502ba751 100644 --- a/configure.ac +++ b/configure.ac @@ -1178,7 +1178,7 @@ GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFL # into the pkg-config files # if test $enable_explicit_deps != yes ; then - GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0" + GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0 cairo-gobject" GDK_EXTRA_LIBS= fi From 83058bf2cae9fe1e1adef6d72194970edf123e9f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 20:33:36 -0500 Subject: [PATCH 1009/1463] Use AM_V_GEN in a few more places MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on a patch by Javier Jardón in https://bugzilla.gnome.org/show_bug.cgi?id=621720 --- Makefile.am | 3 +-- gdk/Makefile.am | 16 ++++++++-------- gtk/Makefile.am | 12 ++++++------ 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/Makefile.am b/Makefile.am index 1063b9fb2f..729637e2e6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -95,8 +95,7 @@ distclean-local: fi ChangeLog: - @echo Creating $@ - @if test -d "$(srcdir)/.git"; then \ + $(AM_V_GEN) if test -d "$(srcdir)/.git"; then \ (GIT_DIR=$(top_srcdir)/.git ./missing --run git log GTK_2_16_0^^.. --stat) | fmt --split-only > $@.tmp \ && mv -f $@.tmp $@ \ || ($(RM) $@.tmp; \ diff --git a/gdk/Makefile.am b/gdk/Makefile.am index c28a07f51a..80387ccdda 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -283,7 +283,7 @@ endif # This places the generated .def file in srcdir, since it is expected to be there. # (The one from a tarball is) gdk.def: gdk.symbols - (echo -e EXPORTS; $(CPP) -P -DGDK_WINDOWING_WIN32 - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gdk.def + $(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DGDK_WINDOWING_WIN32 - <$(srcdir)/gdk.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gdk.def TESTS_ENVIRONMENT = srcdir="$(srcdir)" if OS_LINUX @@ -309,34 +309,34 @@ BUILT_SOURCES = \ gdkenumtypes.h: stamp-gdkenumtypes.h @true stamp-gdkenumtypes.h: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.h.template - ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \ + $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.h.template \ $(gdk_public_h_sources) ) >> xgen-geth \ && (cmp -s xgen-geth gdkenumtypes.h || cp xgen-geth gdkenumtypes.h ) \ && rm -f xgen-geth \ && echo timestamp > $(@F) gdkenumtypes.c: @REBUILD@ $(gdk_public_h_sources) gdkenumtypes.c.template - ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.c.template \ + $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gdkenumtypes.c.template \ $(gdk_public_h_sources) ) > xgen-getc \ && cp xgen-getc gdkenumtypes.c \ && rm -f xgen-getc -# +# # Marshaller generation # gdkmarshalers.h: @REBUILD@ gdkmarshalers.list - $(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --header > gdkmarshalers-h.tmp \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --header > gdkmarshalers-h.tmp \ && mv gdkmarshalers-h.tmp gdkmarshalers.h \ || ( rm -f gdkmarshalers-h.tmp && exit 1) gdkmarshalers.c: @REBUILD@ gdkmarshalers.list - $(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --body > gdkmarshalers-c.tmp \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gdk_marshal $(srcdir)/gdkmarshalers.list --body > gdkmarshalers-c.tmp \ && mv gdkmarshalers-c.tmp gdkmarshalers.c \ || ( rm -f gdkmarshalers-c.tmp && exit 1 ) gdkconfig.h: stamp-gc-h - @if test -f gdkconfig.h; then :; \ + $(AM_V_GEN) if test -f gdkconfig.h; then :; \ else rm -f stamp-gc-h; $(MAKE) stamp-gc-h; fi stamp-gc-h: $(top_builddir)/config.status - cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkconfig.h + $(AM_V_at) cd $(top_builddir) && $(SHELL) ./config.status gdk/gdkconfig.h echo timestamp > stamp-gc-h dist-hook: ../build/win32/vs9/gdk.vcproj diff --git a/gtk/Makefile.am b/gtk/Makefile.am index bc76c15775..d04e253256 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -99,7 +99,7 @@ endif # This places the generated .def file in srcdir, since it is expected to be there. # (The one from a tarball is) gtk.def: gtk.symbols - (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gtk.def + $(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DG_OS_WIN32 - <$(srcdir)/gtk.symbols | $(SED) -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g') > $(srcdir)/gtk.def TESTS_ENVIRONMENT = srcdir="$(srcdir)" gtk_all_c_sources="$(gtk_all_c_sources)" if OS_LINUX @@ -841,12 +841,12 @@ BUILT_SOURCES = $(gtk_built_sources) gtkmarshalers.h: stamp-gtkmarshalers.h @true stamp-gtkmarshalers.h: @REBUILD@ gtkmarshalers.list - $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \ + $(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --header >> xgen-gmlh \ && (cmp -s xgen-gmlh gtkmarshalers.h || cp xgen-gmlh gtkmarshalers.h) \ && rm -f xgen-gmlh \ && echo timestamp > $(@F) gtkmarshalers.c: @REBUILD@ gtkmarshalers.list - (echo "#include \"gtkmarshalers.h\""; \ + $(AM_V_GEN) (echo "#include \"gtkmarshalers.h\""; \ $(GLIB_GENMARSHAL) --prefix=_gtk_marshal $(srcdir)/gtkmarshalers.list --body) >> xgen-gmlc \ && cp xgen-gmlc gtkmarshalers.c \ && rm -f xgen-gmlc @@ -854,19 +854,19 @@ gtkmarshalers.c: @REBUILD@ gtkmarshalers.list gtktypebuiltins.h: stamp-gtktypebuiltins.h @true stamp-gtktypebuiltins.h: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.h.template - ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \ + $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.h.template \ $(gtk_public_h_sources) ) >> xgen-gtbh \ && (cmp -s xgen-gtbh gtktypebuiltins.h || cp xgen-gtbh gtktypebuiltins.h ) \ && rm -f xgen-gtbh \ && echo timestamp > $(@F) gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template - ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \ + $(AM_V_GEN) ( cd $(srcdir) && $(GLIB_MKENUMS) --template gtktypebuiltins.c.template \ $(gtk_public_h_sources) ) > xgen-gtbc \ && cp xgen-gtbc gtktypebuiltins.c \ && rm -f xgen-gtbc gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile - echo '#include ' > xgen-gtfsrc.c && \ + $(AM_V_GEN) echo '#include ' > xgen-gtfsrc.c && \ ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \ $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \ sort | uniq | \ From d0a3846eb1898f39dd17802489736eea3b27f37f Mon Sep 17 00:00:00 2001 From: Diego Escalante Urrelo Date: Mon, 3 Jan 2011 15:53:45 -0500 Subject: [PATCH 1010/1463] gtkenums: add GTK_STATE_FLAG_NORMAL = 0 Allows a more readable omission of GtkStateFlag arguments. Bug #638608 --- gtk/gtkenums.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 2891dadf5b..2a029258ac 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -581,6 +581,7 @@ typedef enum /** * GtkStateFlags: + * @GTK_STATE_FLAG_NORMAL: State during normal operation. * @GTK_STATE_FLAG_ACTIVE: Widget is active. * @GTK_STATE_FLAG_PRELIGHT: Widget has a mouse pointer over it. * @GTK_STATE_FLAG_SELECTED: Widget is selected. @@ -592,6 +593,7 @@ typedef enum */ typedef enum { + GTK_STATE_FLAG_NORMAL = 0, GTK_STATE_FLAG_ACTIVE = 1 << 0, GTK_STATE_FLAG_PRELIGHT = 1 << 1, GTK_STATE_FLAG_SELECTED = 1 << 2, From badbef33ab8fc094fc90e2247a62191a12d564fc Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 3 Jan 2011 23:18:54 +0100 Subject: [PATCH 1011/1463] GtkWindow: remove unneeded call gtk_widget_style_attach() is no longer necessary. --- gtk/gtkwindow.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index a81ac65a88..6e0fca347e 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4920,9 +4920,7 @@ gtk_window_realize (GtkWidget *widget) gdk_window_set_user_data (gdk_window, window); - gtk_widget_style_attach (widget); context = gtk_widget_get_style_context (widget); - gtk_style_context_set_background (context, gdk_window); if (priv->transient_parent && From 804e8a0572c35477b43f276691e0ee93d09a91c6 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 3 Jan 2011 23:21:46 +0100 Subject: [PATCH 1012/1463] Update GtkToolPalette to GtkStyleContext. --- gtk/gtktoolpalette.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 6cd32cb214..5429039990 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -757,9 +757,8 @@ gtk_tool_palette_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), - window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + window); gtk_container_forall (GTK_CONTAINER (widget), (GtkCallback) gtk_widget_set_parent_window, From 00a80c9bdcc7777591aa2df1d325dedaee387950 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 01:12:10 +0100 Subject: [PATCH 1013/1463] Update GtkAboutDialog to GtkStyleContext --- gtk/gtkaboutdialog.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 6be3edc3e2..4c135d940c 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -1879,7 +1879,6 @@ follow_if_link (GtkAboutDialog *about, GdkColor *style_visited_link_color; GdkColor color; - gtk_widget_ensure_style (GTK_WIDGET (about)); gtk_widget_style_get (GTK_WIDGET (about), "visited-link-color", &style_visited_link_color, NULL); @@ -2074,10 +2073,10 @@ text_view_new (GtkAboutDialog *about, GdkColor visited_link_color; gint size; PangoFontDescription *font_desc; - GtkAboutDialogPrivate *priv = about->priv; + GtkStyleContext *context; + GtkStateFlags state; - gtk_widget_ensure_style (GTK_WIDGET (about)); gtk_widget_style_get (GTK_WIDGET (about), "link-color", &style_link_color, "visited-link-color", &style_visited_link_color, @@ -2105,7 +2104,10 @@ text_view_new (GtkAboutDialog *about, gtk_text_view_set_editable (text_view, FALSE); gtk_text_view_set_wrap_mode (text_view, wrap_mode); - size = pango_font_description_get_size (gtk_widget_get_style (view)->font_desc); + context = gtk_widget_get_style_context (view); + state = gtk_widget_get_state_flags (view); + + size = pango_font_description_get_size (gtk_style_context_get_font (context, state)); font_desc = pango_font_description_new (); pango_font_description_set_size (font_desc, size * PANGO_SCALE_SMALL); gtk_widget_modify_font (view, font_desc); From 7981869308401137dc8f1bd74a4ed487b503b8b4 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 01:57:50 +0100 Subject: [PATCH 1014/1463] Update GtkAssistant to GtkStyleContext --- gtk/gtkassistant.c | 60 ++++++++++++++++++++++++------------------- gtk/gtkcssprovider.c | 5 ++++ gtk/gtkstylecontext.h | 8 ++++++ 3 files changed, 46 insertions(+), 27 deletions(-) diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index 2b0ac71f8c..e3a5af7f2f 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -126,8 +126,7 @@ struct _GtkAssistantPrivate static void gtk_assistant_class_init (GtkAssistantClass *class); static void gtk_assistant_init (GtkAssistant *assistant); static void gtk_assistant_destroy (GtkWidget *widget); -static void gtk_assistant_style_set (GtkWidget *widget, - GtkStyle *old_style); +static void gtk_assistant_style_updated (GtkWidget *widget); static void gtk_assistant_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural); @@ -224,7 +223,7 @@ gtk_assistant_class_init (GtkAssistantClass *class) container_class = (GtkContainerClass *) class; widget_class->destroy = gtk_assistant_destroy; - widget_class->style_set = gtk_assistant_style_set; + widget_class->style_updated = gtk_assistant_style_updated; widget_class->get_preferred_width = gtk_assistant_get_preferred_width; widget_class->get_preferred_height = gtk_assistant_get_preferred_height; widget_class->size_allocate = gtk_assistant_size_allocate; @@ -782,6 +781,7 @@ static void gtk_assistant_init (GtkAssistant *assistant) { GtkAssistantPrivate *priv; + GtkStyleContext *context; assistant->priv = G_TYPE_INSTANCE_GET_PRIVATE (assistant, GTK_TYPE_ASSISTANT, @@ -799,12 +799,18 @@ gtk_assistant_init (GtkAssistant *assistant) gtk_widget_set_parent (priv->header_image, GTK_WIDGET (assistant)); gtk_widget_show (priv->header_image); + context = gtk_widget_get_style_context (priv->header_image); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HIGHLIGHT); + /* Sidebar */ priv->sidebar_image = gtk_image_new (); gtk_misc_set_alignment (GTK_MISC (priv->sidebar_image), 0., 0.); gtk_widget_set_parent (priv->sidebar_image, GTK_WIDGET (assistant)); gtk_widget_show (priv->sidebar_image); + context = gtk_widget_get_style_context (priv->sidebar_image); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HIGHLIGHT); + /* Action area */ priv->action_area = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6); @@ -1083,29 +1089,17 @@ find_page (GtkAssistant *assistant, return NULL; } -static void -set_title_colors (GtkWidget *assistant, - GtkWidget *title_label) -{ - GtkStyle *style; - - gtk_widget_ensure_style (assistant); - style = gtk_widget_get_style (assistant); - - /* change colors schema, for making the header text visible */ - gtk_widget_modify_bg (title_label, GTK_STATE_NORMAL, &style->bg[GTK_STATE_SELECTED]); - gtk_widget_modify_fg (title_label, GTK_STATE_NORMAL, &style->fg[GTK_STATE_SELECTED]); -} - static void set_title_font (GtkWidget *assistant, GtkWidget *title_label) { PangoFontDescription *desc; + GtkStyleContext *context; gint size; desc = pango_font_description_new (); - size = pango_font_description_get_size (gtk_widget_get_style (assistant)->font_desc); + context = gtk_widget_get_style_context (title_label); + size = pango_font_description_get_size (gtk_style_context_get_font (context, 0)); pango_font_description_set_weight (desc, PANGO_WEIGHT_ULTRABOLD); pango_font_description_set_size (desc, size * PANGO_SCALE_XX_LARGE); @@ -1115,8 +1109,7 @@ set_title_font (GtkWidget *assistant, } static void -gtk_assistant_style_set (GtkWidget *widget, - GtkStyle *old_style) +gtk_assistant_style_updated (GtkWidget *widget) { GtkAssistant *assistant = GTK_ASSISTANT (widget); GtkAssistantPrivate *priv = assistant->priv; @@ -1128,9 +1121,7 @@ gtk_assistant_style_set (GtkWidget *widget, { GtkAssistantPage *page = list->data; - set_title_colors (widget, page->title); set_title_font (widget, page->title); - list = list->next; } } @@ -1412,7 +1403,9 @@ assistant_paint_colored_box (GtkWidget *widget, GtkAssistant *assistant = GTK_ASSISTANT (widget); GtkAssistantPrivate *priv = assistant->priv; GtkAllocation allocation, action_area_allocation, header_image_allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GdkRGBA color; gint border_width, header_padding, content_padding; gint content_x, content_width; gboolean rtl; @@ -1425,13 +1418,20 @@ assistant_paint_colored_box (GtkWidget *widget, "content-padding", &content_padding, NULL); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_widget_get_allocation (widget, &allocation); gtk_widget_get_allocation (priv->action_area, &action_area_allocation); gtk_widget_get_allocation (priv->header_image, &header_image_allocation); /* colored box */ - gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_SELECTED]); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HIGHLIGHT); + + gtk_style_context_get_background_color (context, state, &color); + gdk_cairo_set_source_rgba (cr, &color); + cairo_rectangle (cr, border_width, border_width, @@ -1454,7 +1454,10 @@ assistant_paint_colored_box (GtkWidget *widget, content_width -= sidebar_image_allocation.width; } - gdk_cairo_set_source_color (cr, &style->bg[GTK_STATE_NORMAL]); + gtk_style_context_restore (context); + + gtk_style_context_get_background_color (context, state, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_rectangle (cr, content_x, @@ -1867,6 +1870,7 @@ gtk_assistant_insert_page (GtkAssistant *assistant, { GtkAssistantPrivate *priv; GtkAssistantPage *page_info; + GtkStyleContext *context; gint n_pages; g_return_val_if_fail (GTK_IS_ASSISTANT (assistant), 0); @@ -1884,10 +1888,12 @@ gtk_assistant_insert_page (GtkAssistant *assistant, G_CALLBACK (on_page_notify_visibility), assistant); gtk_misc_set_alignment (GTK_MISC (page_info->title), 0.,0.5); - set_title_colors (GTK_WIDGET (assistant), page_info->title); set_title_font (GTK_WIDGET (assistant), page_info->title); gtk_widget_show (page_info->title); + context = gtk_widget_get_style_context (page_info->title); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HIGHLIGHT); + n_pages = g_list_length (priv->pages); if (position < 0 || position > n_pages) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 64dac589dd..dbd0fa31da 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3823,6 +3823,11 @@ gtk_css_provider_get_default (void) " background-color: @error_bg_color;\n" " color: @error_fg_color;\n" "}\n" + "\n" + ".highlight {\n" + " background-color: @selected_bg_color;\n" + " color: @selected_fg_color;\n" + "}\n" "\n"; provider = gtk_css_provider_new (); diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 31571115cb..97f7e76830 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -337,6 +337,14 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_VIEW "view" +/** + * GTK_STYLE_CLASS_HIGHLIGHT: + * + * A CSS class defining a highlighted area, such as headings in + * assistants. + */ +#define GTK_STYLE_CLASS_HIGHLIGHT "highlight" + /** * GTK_STYLE_CLASS_FRAME: * From dd8887c07d8f72b77762a5de5fa70ab3a432ba9d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 01:59:23 +0100 Subject: [PATCH 1015/1463] Compress all ::style-updated prior to ::realize This is done to avoid early emission of this signal, that was causing warnings during GtkDialog construction. --- gtk/gtkwidget.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 18765972a1..c4851ee307 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -312,7 +312,7 @@ struct _GtkWidgetPrivate guint has_grab : 1; guint shadowed : 1; guint rc_style : 1; - guint user_style : 1; + guint style_update_pending : 1; guint app_paintable : 1; guint double_buffered : 1; guint redraw_on_alloc : 1; @@ -4266,6 +4266,9 @@ gtk_widget_realize (GtkWidget *widget) gtk_widget_ensure_style (widget); + if (priv->style_update_pending) + g_signal_emit (widget, widget_signals[STYLE_UPDATED], 0); + g_signal_emit (widget, widget_signals[REALIZE], 0); gtk_widget_real_set_has_tooltip (widget, @@ -13941,7 +13944,16 @@ style_context_changed (GtkStyleContext *context, GtkWidget *widget = user_data; gtk_widget_update_pango_context (widget); - g_signal_emit (widget, widget_signals[STYLE_UPDATED], 0); + + if (gtk_widget_get_realized (widget)) + g_signal_emit (widget, widget_signals[STYLE_UPDATED], 0); + else + { + /* Compress all style updates so it + * is only emitted once pre-realize. + */ + widget->priv->style_update_pending = TRUE; + } if (widget->priv->anchored) gtk_widget_queue_resize (widget); From 24db0283ad6baae31b67ff73e7fb9872fb08d531 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:04:37 +0100 Subject: [PATCH 1016/1463] Update GtkTrayIcon to GtkStyleContext --- gtk/gtktrayicon-x11.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c index d814cf803f..2bdd421f94 100644 --- a/gtk/gtktrayicon-x11.c +++ b/gtk/gtktrayicon-x11.c @@ -85,8 +85,7 @@ static void gtk_tray_icon_get_property (GObject *object, GParamSpec *pspec); static void gtk_tray_icon_realize (GtkWidget *widget); -static void gtk_tray_icon_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_tray_icon_style_updated (GtkWidget *widget); static gboolean gtk_tray_icon_delete (GtkWidget *widget, GdkEventAny *event); static gboolean gtk_tray_icon_draw (GtkWidget *widget, @@ -114,7 +113,7 @@ gtk_tray_icon_class_init (GtkTrayIconClass *class) gobject_class->dispose = gtk_tray_icon_dispose; widget_class->realize = gtk_tray_icon_realize; - widget_class->style_set = gtk_tray_icon_style_set; + widget_class->style_updated = gtk_tray_icon_style_updated; widget_class->delete_event = gtk_tray_icon_delete; widget_class->draw = gtk_tray_icon_draw; @@ -361,15 +360,21 @@ gtk_tray_icon_draw (GtkWidget *widget, focus_child = gtk_container_get_focus_child (GTK_CONTAINER (widget)); if (focus_child && gtk_widget_has_focus (focus_child)) { - border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + GtkStyleContext *context; + GtkStateFlags state; - gtk_paint_focus (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - widget, "tray_icon", - border_width, border_width, - gtk_widget_get_allocated_width (widget) - 2 * border_width, - gtk_widget_get_allocated_height (widget) - 2 * border_width); + border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_render_focus (context, cr, border_width, border_width, + gtk_widget_get_allocated_width (widget) - 2 * border_width, + gtk_widget_get_allocated_height (widget) - 2 * border_width); + + gtk_style_context_restore (context); } return retval; @@ -895,8 +900,7 @@ gtk_tray_icon_realize (GtkWidget *widget) } static void -gtk_tray_icon_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_tray_icon_style_updated (GtkWidget *widget) { /* The default handler resets the background according to the style. We either * use a transparent background or a parent-relative background and ignore the From a090de17804801d03bf0fe8c1f696c0c81336368 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:06:32 +0100 Subject: [PATCH 1017/1463] Make GtkToolButton use ::style-updated --- gtk/gtktoolbutton.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gtk/gtktoolbutton.c b/gtk/gtktoolbutton.c index fd9e70d692..9d22e530c7 100644 --- a/gtk/gtktoolbutton.c +++ b/gtk/gtktoolbutton.c @@ -73,8 +73,7 @@ static void gtk_tool_button_toolbar_reconfigured (GtkToolItem *tool_item); static gboolean gtk_tool_button_create_menu_proxy (GtkToolItem *item); static void button_clicked (GtkWidget *widget, GtkToolButton *button); -static void gtk_tool_button_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_tool_button_style_updated (GtkWidget *widget); static void gtk_tool_button_construct_contents (GtkToolItem *tool_item); @@ -153,7 +152,7 @@ gtk_tool_button_class_init (GtkToolButtonClass *klass) object_class->notify = gtk_tool_button_property_notify; object_class->finalize = gtk_tool_button_finalize; - widget_class->style_set = gtk_tool_button_style_set; + widget_class->style_updated = gtk_tool_button_style_updated; tool_item_class->create_menu_proxy = gtk_tool_button_create_menu_proxy; tool_item_class->toolbar_reconfigured = gtk_tool_button_toolbar_reconfigured; @@ -807,8 +806,7 @@ gtk_tool_button_update_icon_spacing (GtkToolButton *button) } static void -gtk_tool_button_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_tool_button_style_updated (GtkWidget *widget) { gtk_tool_button_update_icon_spacing (GTK_TOOL_BUTTON (widget)); } From f4cc2c6f17bfd2372064fd5b8a71ed4316aa1bb0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:07:06 +0100 Subject: [PATCH 1018/1463] GtkToolbar: remove deprecated call --- gtk/gtktoolbar.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 7d08d1d519..1f7ab59214 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -3614,9 +3614,7 @@ static GtkReliefStyle get_button_relief (GtkToolbar *toolbar) { GtkReliefStyle button_relief = GTK_RELIEF_NORMAL; - - gtk_widget_ensure_style (GTK_WIDGET (toolbar)); - + gtk_widget_style_get (GTK_WIDGET (toolbar), "button-relief", &button_relief, NULL); From cb21085187d08eea561ccb1dc887bee4c6c66d32 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:08:02 +0100 Subject: [PATCH 1019/1463] GtkSwitch: remove deprecated call. --- gtk/gtkswitch.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index 38e6f98409..ce1402b071 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -422,8 +422,6 @@ gtk_switch_realize (GtkWidget *widget) &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); - - gtk_widget_style_attach (widget); } static void From ddd12f3f19d60d4e700acf7e53d295df15c15cf0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:09:11 +0100 Subject: [PATCH 1020/1463] Make GtkSocket use GtkStyleContext --- gtk/gtksocket.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index c3cf1911ce..90c0e9e596 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -391,9 +391,8 @@ gtk_socket_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, socket); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), - window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + window); _gtk_socket_windowing_realize_window (socket); From 732730425a6e45e01ec0f6289f8aa23f5eaf02cc Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:10:09 +0100 Subject: [PATCH 1021/1463] GtkSeparatorToolItem: remove unneeded call --- gtk/gtkseparatortoolitem.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtkseparatortoolitem.c b/gtk/gtkseparatortoolitem.c index 1d81d3b7ae..be45120cca 100644 --- a/gtk/gtkseparatortoolitem.c +++ b/gtk/gtkseparatortoolitem.c @@ -302,8 +302,6 @@ gtk_separator_tool_item_realize (GtkWidget *widget) priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); - - gtk_widget_style_attach (widget); } static void From 81eb953206f3e121f4e175bf233ddf45dda06f94 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:11:12 +0100 Subject: [PATCH 1022/1463] Make GtkRecentChooser use GtkStyleContext --- gtk/gtkrecentchooserdefault.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtkrecentchooserdefault.c b/gtk/gtkrecentchooserdefault.c index 8fba86615d..84fe199283 100644 --- a/gtk/gtkrecentchooserdefault.c +++ b/gtk/gtkrecentchooserdefault.c @@ -936,11 +936,15 @@ set_default_size (GtkRecentChooserDefault *impl) gint monitor_num; GtkRequisition req; GdkRectangle monitor; + GtkStyleContext *context; + GtkStateFlags state; widget = GTK_WIDGET (impl); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); /* Size based on characters and the icon size */ - font_size = pango_font_description_get_size (gtk_widget_get_style (widget)->font_desc); + font_size = pango_font_description_get_size (gtk_style_context_get_font (context, state)); font_size = PANGO_PIXELS (font_size); width = impl->icon_size + font_size * NUM_CHARS; From 665a94e0f31106d9b85510a552fa2ddaa6dbdff1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:12:11 +0100 Subject: [PATCH 1023/1463] Make GtkPlug use GtkStyleContext --- gtk/gtkplug.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c index 174375fcba..8fbcfbd820 100644 --- a/gtk/gtkplug.c +++ b/gtk/gtkplug.c @@ -728,9 +728,8 @@ gtk_plug_realize (GtkWidget *widget) gdk_window_set_user_data (gdk_window, window); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), - gdk_window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + gdk_window); gdk_window_enable_synchronized_configure (gdk_window); } From 41389cb4355666bcff7f52eb069b7c9e106675a7 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:13:01 +0100 Subject: [PATCH 1024/1463] Make GtkWin32EmbedWidget use GtkStyleContext --- gtk/gtkwin32embedwidget.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwin32embedwidget.c b/gtk/gtkwin32embedwidget.c index 059be6623c..623e8d9b38 100644 --- a/gtk/gtkwin32embedwidget.c +++ b/gtk/gtkwin32embedwidget.c @@ -245,8 +245,8 @@ gtk_win32_embed_widget_realize (GtkWidget *widget) styles = GetWindowLongPtr(GDK_WINDOW_HWND (gdk_window), GWL_STYLE); SetWindowLongPtrW(GDK_WINDOW_HWND (gdk_window), GWL_STYLE, styles | WS_TABSTOP); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), gdk_window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + gdk_window); } static void From 554e649a68e873fc552a11d44e70f99b3c226734 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:18:51 +0100 Subject: [PATCH 1025/1463] Make GtkTooltip use GtkStyleContext --- gtk/gtkcssprovider.c | 3 +++ gtk/gtktooltip.c | 60 ++++++++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 24 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index dbd0fa31da..1bd7bcd5fa 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3654,6 +3654,9 @@ gtk_css_provider_get_default (void) ".tooltip {\n" " background-color: @tooltip_bg_color; \n" " color: @tooltip_fg_color; \n" + " border-color: @tooltip_fg_color; \n" + " border-width: 1;\n" + " border-style: solid;\n" "}\n" "\n" ".button,\n" diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c index 8c4ef8987f..f44fb2dccd 100644 --- a/gtk/gtktooltip.c +++ b/gtk/gtktooltip.c @@ -155,7 +155,7 @@ static void gtk_tooltip_class_init (GtkTooltipClass *klass); static void gtk_tooltip_init (GtkTooltip *tooltip); static void gtk_tooltip_dispose (GObject *object); -static void gtk_tooltip_window_style_set (GtkTooltip *tooltip); +static void gtk_tooltip_window_style_updated (GtkTooltip *tooltip); static gboolean gtk_tooltip_paint_window (GtkTooltip *tooltip, cairo_t *cr); static void gtk_tooltip_window_hide (GtkWidget *widget, @@ -182,7 +182,8 @@ gtk_tooltip_class_init (GtkTooltipClass *klass) static void gtk_tooltip_init (GtkTooltip *tooltip) { - GtkStyle *style; + GtkStyleContext *context; + GtkBorder padding, border; tooltip->timeout_id = 0; tooltip->browse_mode_timeout_id = 0; @@ -207,21 +208,27 @@ gtk_tooltip_init (GtkTooltip *tooltip) g_signal_connect (tooltip->window, "hide", G_CALLBACK (gtk_tooltip_window_hide), tooltip); - style = gtk_widget_get_style (tooltip->window); + context = gtk_widget_get_style_context (tooltip->window); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_TOOLTIP); + + gtk_style_context_get_padding (context, 0, &padding); + gtk_style_context_get_border (context, 0, &border); tooltip->alignment = gtk_alignment_new (0.5, 0.5, 1.0, 1.0); gtk_alignment_set_padding (GTK_ALIGNMENT (tooltip->alignment), - style->ythickness, style->ythickness, - style->xthickness, style->xthickness); + border.top + padding.top, + border.bottom + padding.bottom, + border.left + padding.left, + border.right + padding.right); gtk_container_add (GTK_CONTAINER (tooltip->window), tooltip->alignment); gtk_widget_show (tooltip->alignment); - g_signal_connect_swapped (tooltip->window, "style-set", - G_CALLBACK (gtk_tooltip_window_style_set), tooltip); + g_signal_connect_swapped (tooltip->window, "style-updated", + G_CALLBACK (gtk_tooltip_window_style_updated), tooltip); g_signal_connect_swapped (tooltip->window, "draw", G_CALLBACK (gtk_tooltip_paint_window), tooltip); - tooltip->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, style->xthickness); + tooltip->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, padding.left); gtk_container_add (GTK_CONTAINER (tooltip->alignment), tooltip->box); gtk_widget_show (tooltip->box); @@ -569,18 +576,22 @@ gtk_tooltip_reset (GtkTooltip *tooltip) } static void -gtk_tooltip_window_style_set (GtkTooltip *tooltip) +gtk_tooltip_window_style_updated (GtkTooltip *tooltip) { - GtkStyle *style; + GtkStyleContext *context; + GtkBorder padding, border; - style = gtk_widget_get_style (tooltip->window); + context = gtk_widget_get_style_context (tooltip->window); + gtk_style_context_get_padding (context, 0, &padding); + gtk_style_context_get_border (context, 0, &border); gtk_alignment_set_padding (GTK_ALIGNMENT (tooltip->alignment), - style->ythickness, style->ythickness, - style->xthickness, style->xthickness); + border.top + padding.top, + border.bottom + padding.bottom, + border.left + padding.left, + border.right + padding.right); - gtk_box_set_spacing (GTK_BOX (tooltip->box), - style->xthickness); + gtk_box_set_spacing (GTK_BOX (tooltip->box), padding.left); gtk_widget_queue_draw (tooltip->window); } @@ -589,15 +600,16 @@ static gboolean gtk_tooltip_paint_window (GtkTooltip *tooltip, cairo_t *cr) { - gtk_paint_flat_box (gtk_widget_get_style (tooltip->window), - cr, - GTK_STATE_NORMAL, - GTK_SHADOW_OUT, - tooltip->window, - "tooltip", - 0, 0, - gtk_widget_get_allocated_width (tooltip->window), - gtk_widget_get_allocated_height (tooltip->window)); + GtkStyleContext *context; + + context = gtk_widget_get_style_context (tooltip->window); + + gtk_render_background (context, cr, 0, 0, + gtk_widget_get_allocated_width (tooltip->window), + gtk_widget_get_allocated_height (tooltip->window)); + gtk_render_frame (context, cr, 0, 0, + gtk_widget_get_allocated_width (tooltip->window), + gtk_widget_get_allocated_height (tooltip->window)); return FALSE; } From 99791d183c1ea23ff52381ca58b244867e96846f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:19:29 +0100 Subject: [PATCH 1026/1463] Make GtkCellView use GtkStateFlags --- gtk/gtkcellview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 77079f0c7f..c5a65236d3 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -496,9 +496,9 @@ gtk_cell_view_draw (GtkWidget *widget, else if (cellview->priv->model) return FALSE; - if (gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT) + if (gtk_widget_get_state_flags (widget) & GTK_STATE_FLAG_PRELIGHT) state = GTK_CELL_RENDERER_PRELIT; - else if (gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE) + else if (gtk_widget_get_state_flags (widget) & GTK_STATE_FLAG_INSENSITIVE) state = GTK_CELL_RENDERER_INSENSITIVE; else state = 0; From be0ebc9f5a66412a255d1024d8424dd4790e082b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:20:21 +0100 Subject: [PATCH 1027/1463] Make GtkDialog use ::style-updated --- gtk/gtkdialog.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index b765b72aff..c5bd040803 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -61,8 +61,7 @@ static void gtk_dialog_add_buttons_valist (GtkDialog *dialog, static gboolean gtk_dialog_delete_event_handler (GtkWidget *widget, GdkEventAny *event, gpointer user_data); -static void gtk_dialog_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_dialog_style_updated (GtkWidget *widget); static void gtk_dialog_map (GtkWidget *widget); static void gtk_dialog_close (GtkDialog *dialog); @@ -115,7 +114,7 @@ gtk_dialog_class_init (GtkDialogClass *class) widget_class = GTK_WIDGET_CLASS (class); widget_class->map = gtk_dialog_map; - widget_class->style_set = gtk_dialog_style_set; + widget_class->style_updated = gtk_dialog_style_updated; class->close = gtk_dialog_close; @@ -382,8 +381,7 @@ gtk_dialog_map (GtkWidget *widget) } static void -gtk_dialog_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_dialog_style_updated (GtkWidget *widget) { update_spacings (GTK_DIALOG (widget)); } From c296d11ac345f500567ffbaca0c932d2e94fdaf0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:22:01 +0100 Subject: [PATCH 1028/1463] GtkToolItem: Remove unneeded call --- gtk/gtktoolitem.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtktoolitem.c b/gtk/gtktoolitem.c index 6a7a45a131..5ad586f1c5 100644 --- a/gtk/gtktoolitem.c +++ b/gtk/gtktoolitem.c @@ -451,8 +451,6 @@ gtk_tool_item_realize (GtkWidget *widget) if (toolitem->priv->use_drag_window) create_drag_window(toolitem); - - gtk_widget_style_attach (widget); } static void From 6c21f3d8e675353b3a5f5cf182262518851f3f90 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:23:23 +0100 Subject: [PATCH 1029/1463] Remove unneeded/deprecated call from size requisition code --- gtk/gtksizerequest.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c index c5e49e7db3..272f2ebfbe 100644 --- a/gtk/gtksizerequest.c +++ b/gtk/gtksizerequest.c @@ -205,8 +205,6 @@ compute_size_for_orientation (GtkWidget *widget, gint min_size = 0; gint nat_size = 0; - gtk_widget_ensure_style (widget); - if (orientation == GTK_SIZE_GROUP_HORIZONTAL) { if (for_size < 0) From 552c4c78f6f5b8afd83cec54cabed63592928852 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:24:38 +0100 Subject: [PATCH 1030/1463] GtkExpander: remove unneeded call --- gtk/gtkexpander.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index f389bf043a..11a9554d2b 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -472,8 +472,6 @@ gtk_expander_realize (GtkWidget *widget) priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); - - gtk_widget_style_attach (widget); } static void From c180edd80c2c11cc91b213144c35db7f8ed9a9b5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:26:24 +0100 Subject: [PATCH 1031/1463] Make GtkDrawingArea use GtkStyleContext --- gtk/gtkdrawingarea.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkdrawingarea.c b/gtk/gtkdrawingarea.c index ffa71634ad..544d23cdf0 100644 --- a/gtk/gtkdrawingarea.c +++ b/gtk/gtkdrawingarea.c @@ -92,8 +92,8 @@ gtk_drawing_area_realize (GtkWidget *widget) gdk_window_set_user_data (window, darea); gtk_widget_set_window (widget, window); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + window); } gtk_drawing_area_send_configure (GTK_DRAWING_AREA (widget)); From 55145e0e4e57d56cf02b3258e4dd9c522dbea6cf Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:28:08 +0100 Subject: [PATCH 1032/1463] GtkEntry: Remove unneeded calls --- gtk/gtkentry.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index ca42ba4b0b..69af6639ae 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -2865,8 +2865,6 @@ gtk_entry_realize (GtkWidget *widget) if (attributes_mask & GDK_WA_CURSOR) g_object_unref (attributes.cursor); - gtk_widget_style_attach (widget); - gtk_im_context_set_client_window (priv->im_context, priv->text_area); gtk_entry_adjust_scroll (entry); @@ -2981,7 +2979,6 @@ gtk_entry_get_preferred_width (GtkWidget *widget, gint icon_width, i; gint width; - gtk_widget_ensure_style (widget); context = gtk_widget_get_pango_context (widget); style_context = gtk_widget_get_style_context (widget); @@ -3036,7 +3033,6 @@ gtk_entry_get_preferred_height (GtkWidget *widget, PangoContext *context; gint height; - gtk_widget_ensure_style (widget); context = gtk_widget_get_pango_context (widget); style_context = gtk_widget_get_style_context (widget); @@ -7726,8 +7722,6 @@ gtk_entry_set_icon_from_stock (GtkEntry *entry, g_object_freeze_notify (G_OBJECT (entry)); - gtk_widget_ensure_style (GTK_WIDGET (entry)); - /* need to dup before clearing */ new_id = g_strdup (stock_id); @@ -7796,8 +7790,6 @@ gtk_entry_set_icon_from_icon_name (GtkEntry *entry, g_object_freeze_notify (G_OBJECT (entry)); - gtk_widget_ensure_style (GTK_WIDGET (entry)); - /* need to dup before clearing */ new_name = g_strdup (icon_name); From e4c509837f54098f4bcf67d19faa9dbab5c77033 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:28:19 +0100 Subject: [PATCH 1033/1463] GtkEntry: get font description from GtkStyleContext --- gtk/gtkentry.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 69af6639ae..7bcb805082 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -6169,6 +6169,8 @@ gtk_entry_move_adjustments (GtkEntry *entry) GtkAdjustment *adjustment; PangoContext *context; PangoFontMetrics *metrics; + GtkStyleContext *style_context; + GtkStateFlags state; gint x, layout_x, border_x, border_y; gint char_width; @@ -6186,8 +6188,11 @@ gtk_entry_move_adjustments (GtkEntry *entry) /* Approximate width of a char, so user can see what is ahead/behind */ context = gtk_widget_get_pango_context (widget); - metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + metrics = pango_context_get_metrics (context, + gtk_style_context_get_font (style_context, state), pango_context_get_language (context)); char_width = pango_font_metrics_get_approximate_char_width (metrics) / PANGO_SCALE; From e02cbf477015f9046bdc13ed8e2a0c99610223c6 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:31:06 +0100 Subject: [PATCH 1034/1463] Make GtkEntryCompletion use GtkStyleContext --- gtk/gtkentrycompletion.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 0808c1059f..1226723dba 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -1510,6 +1510,8 @@ _gtk_entry_completion_popup (GtkEntryCompletion *completion, GdkDevice *device) { GtkTreeViewColumn *column; + GtkStyleContext *context; + GdkRGBA color; GList *renderers; GtkWidget *toplevel; @@ -1529,9 +1531,12 @@ _gtk_entry_completion_popup (GtkEntryCompletion *completion, column = gtk_tree_view_get_column (GTK_TREE_VIEW (completion->priv->action_view), 0); renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column)); - gtk_widget_ensure_style (completion->priv->tree_view); - g_object_set (GTK_CELL_RENDERER (renderers->data), "cell-background-gdk", - >k_widget_get_style (completion->priv->tree_view)->bg[GTK_STATE_NORMAL], + + context = gtk_widget_get_style_context (completion->priv->tree_view); + gtk_style_context_get_background_color (context, 0, &color); + + g_object_set (GTK_CELL_RENDERER (renderers->data), + "cell-background-rgba", &color, NULL); g_list_free (renderers); From 96d8f85dcc2781575836740386512d448337b44a Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:32:04 +0100 Subject: [PATCH 1035/1463] Make DnD code use GtkStyleContext for the highlight rectangle. --- gtk/gtkdnd-quartz.c | 11 +++++++---- gtk/gtkdnd.c | 13 +++++++++---- gtk/gtkstylecontext.h | 7 +++++++ 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index d990029cd8..f541cf1689 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -347,11 +347,14 @@ gtk_drag_highlight_draw (GtkWidget *widget, { int width = gtk_widget_get_allocated_width (widget); int height = gtk_widget_get_allocated_height (widget); + GtkStyleContext *context; - gtk_paint_shadow (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "dnd", - 0, 0, width, height); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_DND); + + gtk_render_frame (context, cr, 0, 0, width, height); + + gtk_style_context_restore (context); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */ cairo_set_line_width (cr, 1.0); diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index bb90456026..933172ba9c 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1104,11 +1104,16 @@ gtk_drag_highlight_draw (GtkWidget *widget, { int width = gtk_widget_get_allocated_width (widget); int height = gtk_widget_get_allocated_height (widget); + GtkStyleContext *context; - gtk_paint_shadow (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "dnd", - 0, 0, width, height); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_DND); + + gtk_render_frame (context, cr, 0, 0, width, height); + + gtk_style_context_restore (context); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */ cairo_set_line_width (cr, 1.0); diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 97f7e76830..ab9be702e8 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -353,6 +353,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_FRAME "frame" +/** + * GTK_STYLE_CLASS_DND: + * + * A CSS class for a drag-and-drop indicator + */ +#define GTK_STYLE_CLASS_DND "dnd" + /** * GTK_STYLE_CLASS_INFO: * From 8e18c2cfd260ae8e0e5618c20c9417d5a81f0422 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:33:24 +0100 Subject: [PATCH 1036/1463] Make GtkFileChooserButton use ::style-updated --- gtk/gtkfilechooserbutton.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 695664dc65..c68bb5b266 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -222,8 +222,7 @@ static void gtk_file_chooser_button_hide (GtkWidget *wi static void gtk_file_chooser_button_map (GtkWidget *widget); static gboolean gtk_file_chooser_button_mnemonic_activate (GtkWidget *widget, gboolean group_cycling); -static void gtk_file_chooser_button_style_set (GtkWidget *widget, - GtkStyle *old_style); +static void gtk_file_chooser_button_style_updated (GtkWidget *widget); static void gtk_file_chooser_button_screen_changed (GtkWidget *widget, GdkScreen *old_screen); @@ -330,7 +329,7 @@ gtk_file_chooser_button_class_init (GtkFileChooserButtonClass * class) widget_class->show = gtk_file_chooser_button_show; widget_class->hide = gtk_file_chooser_button_hide; widget_class->map = gtk_file_chooser_button_map; - widget_class->style_set = gtk_file_chooser_button_style_set; + widget_class->style_updated = gtk_file_chooser_button_style_updated; widget_class->screen_changed = gtk_file_chooser_button_screen_changed; widget_class->mnemonic_activate = gtk_file_chooser_button_mnemonic_activate; @@ -1347,11 +1346,9 @@ change_icon_theme (GtkFileChooserButton *button) } static void -gtk_file_chooser_button_style_set (GtkWidget *widget, - GtkStyle *old_style) +gtk_file_chooser_button_style_updated (GtkWidget *widget) { - GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->style_set (widget, - old_style); + GTK_WIDGET_CLASS (gtk_file_chooser_button_parent_class)->style_updated (widget); if (gtk_widget_has_screen (widget)) change_icon_theme (GTK_FILE_CHOOSER_BUTTON (widget)); From 14a5c0b9ffbb7ebed91e1b1d4afde86282a94b09 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:34:28 +0100 Subject: [PATCH 1037/1463] Make GtkFileChooser use GtkStyleContext --- gtk/gtkfilechooserdefault.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index 42ced3fb46..de3397bf0e 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -280,8 +280,7 @@ static void gtk_file_chooser_default_map (GtkWidget * static void gtk_file_chooser_default_unmap (GtkWidget *widget); static void gtk_file_chooser_default_hierarchy_changed (GtkWidget *widget, GtkWidget *previous_toplevel); -static void gtk_file_chooser_default_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_file_chooser_default_style_updated (GtkWidget *widget); static void gtk_file_chooser_default_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); static void gtk_file_chooser_default_size_allocate (GtkWidget *widget, @@ -487,7 +486,7 @@ _gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class) widget_class->map = gtk_file_chooser_default_map; widget_class->unmap = gtk_file_chooser_default_unmap; widget_class->hierarchy_changed = gtk_file_chooser_default_hierarchy_changed; - widget_class->style_set = gtk_file_chooser_default_style_set; + widget_class->style_updated = gtk_file_chooser_default_style_updated; widget_class->screen_changed = gtk_file_chooser_default_screen_changed; widget_class->size_allocate = gtk_file_chooser_default_size_allocate; @@ -5689,8 +5688,7 @@ check_icon_theme (GtkFileChooserDefault *impl) } static void -gtk_file_chooser_default_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_file_chooser_default_style_updated (GtkWidget *widget) { GtkFileChooserDefault *impl; @@ -5698,9 +5696,9 @@ gtk_file_chooser_default_style_set (GtkWidget *widget, impl = GTK_FILE_CHOOSER_DEFAULT (widget); - profile_msg (" parent class style_set start", NULL); - GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->style_set (widget, previous_style); - profile_msg (" parent class style_set end", NULL); + profile_msg (" parent class style_udpated start", NULL); + GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->style_updated (widget); + profile_msg (" parent class style_updated end", NULL); if (gtk_widget_has_screen (GTK_WIDGET (impl))) change_icon_theme (impl); @@ -7840,14 +7838,15 @@ find_good_size_from_style (GtkWidget *widget, gint *height) { GtkFileChooserDefault *impl; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; int font_size; GdkScreen *screen; double resolution; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - g_assert (style != NULL); impl = GTK_FILE_CHOOSER_DEFAULT (widget); screen = gtk_widget_get_screen (widget); @@ -7860,7 +7859,7 @@ find_good_size_from_style (GtkWidget *widget, else resolution = 96.0; /* wheeee */ - font_size = pango_font_description_get_size (style->font_desc); + font_size = pango_font_description_get_size (gtk_style_context_get_font (context, state)); font_size = PANGO_PIXELS (font_size) * resolution / 72.0; *width = font_size * NUM_CHARS; From b062a583d3396361481fe59f1651cb739b548035 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:34:43 +0100 Subject: [PATCH 1038/1463] Make GtkFixed use GtkStyleContext --- gtk/gtkfixed.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c index cf9fb20dfe..d75f599b12 100644 --- a/gtk/gtkfixed.c +++ b/gtk/gtkfixed.c @@ -309,8 +309,8 @@ gtk_fixed_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + window); } } From 7b3de2d5529c7902318130a5a23247b841c0c4b1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:35:19 +0100 Subject: [PATCH 1039/1463] Make GtkHandleBox size request code use GtkStyleContext for padding --- gtk/gtkhandlebox.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index bb5249209b..c96f66579d 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -611,11 +611,19 @@ gtk_handle_box_size_request (GtkWidget *widget, } else { + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + if (handle_position == GTK_POS_LEFT || handle_position == GTK_POS_RIGHT) - requisition->height += gtk_widget_get_style (widget)->ythickness; + requisition->height += padding.top; else - requisition->width += gtk_widget_get_style (widget)->xthickness; + requisition->width += padding.left; } } else From 80e115331cfe3f31a0e6e3810fc5885409996aee Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:36:45 +0100 Subject: [PATCH 1040/1463] GtkInvisible: Avoid chaining up in ::style-updated --- gtk/gtkinvisible.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/gtk/gtkinvisible.c b/gtk/gtkinvisible.c index 55baa8412d..7003a183f0 100644 --- a/gtk/gtkinvisible.c +++ b/gtk/gtkinvisible.c @@ -45,8 +45,7 @@ enum { static void gtk_invisible_destroy (GtkWidget *widget); static void gtk_invisible_realize (GtkWidget *widget); -static void gtk_invisible_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_invisible_style_updated (GtkWidget *widget); static void gtk_invisible_show (GtkWidget *widget); static void gtk_invisible_size_allocate (GtkWidget *widget, GtkAllocation *allocation); @@ -75,7 +74,7 @@ gtk_invisible_class_init (GtkInvisibleClass *class) gobject_class = (GObjectClass*) class; widget_class->realize = gtk_invisible_realize; - widget_class->style_set = gtk_invisible_style_set; + widget_class->style_updated = gtk_invisible_style_updated; widget_class->show = gtk_invisible_show; widget_class->size_allocate = gtk_invisible_size_allocate; widget_class->destroy = gtk_invisible_destroy; @@ -250,13 +249,10 @@ gtk_invisible_realize (GtkWidget *widget) window = gdk_window_new (parent, &attributes, attributes_mask); gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); - - gtk_widget_style_attach (widget); } static void -gtk_invisible_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_invisible_style_updated (GtkWidget *widget) { /* Don't chain up to parent implementation */ } From 166b709c7f04076be18ac7717a0f4998a2cfaa6a Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:38:24 +0100 Subject: [PATCH 1041/1463] Make GtkLinkButton use ::style-updated --- gtk/gtklinkbutton.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index 7e5759671d..710d9337ec 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -105,8 +105,7 @@ static gboolean gtk_link_button_button_press (GtkWidget *widget, GdkEventButton *event); static void gtk_link_button_clicked (GtkButton *button); static gboolean gtk_link_button_popup_menu (GtkWidget *widget); -static void gtk_link_button_style_set (GtkWidget *widget, - GtkStyle *old_style); +static void gtk_link_button_style_updated (GtkWidget *widget); static gboolean gtk_link_button_enter_cb (GtkWidget *widget, GdkEventCrossing *event, gpointer user_data); @@ -153,7 +152,7 @@ gtk_link_button_class_init (GtkLinkButtonClass *klass) widget_class->button_press_event = gtk_link_button_button_press; widget_class->popup_menu = gtk_link_button_popup_menu; - widget_class->style_set = gtk_link_button_style_set; + widget_class->style_updated = gtk_link_button_style_updated; container_class->add = gtk_link_button_add; @@ -365,8 +364,7 @@ gtk_link_button_add (GtkContainer *container, } static void -gtk_link_button_style_set (GtkWidget *widget, - GtkStyle *old_style) +gtk_link_button_style_updated (GtkWidget *widget) { GtkLinkButton *link_button = GTK_LINK_BUTTON (widget); From 905604550a15c484865984388371eb7830e93c91 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:40:16 +0100 Subject: [PATCH 1042/1463] Make GtkMessageDialog use GtkStyleContext --- gtk/gtkmessagedialog.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c index f721f94c88..38d39a1da2 100644 --- a/gtk/gtkmessagedialog.c +++ b/gtk/gtkmessagedialog.c @@ -107,8 +107,7 @@ struct _GtkMessageDialogPrivate guint message_type : 3; }; -static void gtk_message_dialog_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_message_dialog_style_updated (GtkWidget *widget); static void gtk_message_dialog_set_property (GObject *object, guint prop_id, @@ -174,7 +173,7 @@ gtk_message_dialog_class_init (GtkMessageDialogClass *class) widget_class = GTK_WIDGET_CLASS (class); gobject_class = G_OBJECT_CLASS (class); - widget_class->style_set = gtk_message_dialog_style_set; + widget_class->style_updated = gtk_message_dialog_style_updated; gobject_class->set_property = gtk_message_dialog_set_property; gobject_class->get_property = gtk_message_dialog_get_property; @@ -381,13 +380,18 @@ setup_primary_label_font (GtkMessageDialog *dialog) GtkMessageDialogPrivate *priv = dialog->priv; gint size; PangoFontDescription *font_desc; + GtkStyleContext *context; + GtkStateFlags state; /* unset the font settings */ gtk_widget_modify_font (priv->label, NULL); if (priv->has_secondary_text && !priv->has_primary_markup) { - size = pango_font_description_get_size (gtk_widget_get_style (priv->label)->font_desc); + context = gtk_widget_get_style_context (priv->label); + state = gtk_widget_get_state_flags (priv->label); + + size = pango_font_description_get_size (gtk_style_context_get_font (context, state)); font_desc = pango_font_description_new (); pango_font_description_set_weight (font_desc, PANGO_WEIGHT_BOLD); pango_font_description_set_size (font_desc, size * PANGO_SCALE_LARGE); @@ -979,8 +983,7 @@ gtk_message_dialog_add_buttons (GtkMessageDialog* message_dialog, } static void -gtk_message_dialog_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_message_dialog_style_updated (GtkWidget *widget) { GtkMessageDialog *dialog = GTK_MESSAGE_DIALOG (widget); GtkWidget *parent; @@ -999,5 +1002,5 @@ gtk_message_dialog_style_set (GtkWidget *widget, setup_primary_label_font (dialog); - GTK_WIDGET_CLASS (gtk_message_dialog_parent_class)->style_set (widget, prev_style); + GTK_WIDGET_CLASS (gtk_message_dialog_parent_class)->style_updated (widget); } From 61691117dc49f316544887062a9bc70376cd529d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:40:33 +0100 Subject: [PATCH 1043/1463] GtkMisc: Remove unneeded calls --- gtk/gtkmisc.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gtk/gtkmisc.c b/gtk/gtkmisc.c index edc9514231..bc24ae68a2 100644 --- a/gtk/gtkmisc.c +++ b/gtk/gtkmisc.c @@ -338,8 +338,6 @@ gtk_misc_realize (GtkWidget *widget) window = gtk_widget_get_parent_window (widget); gtk_widget_set_window (widget, window); g_object_ref (window); - - gtk_widget_style_attach (widget); } else { @@ -359,7 +357,5 @@ gtk_misc_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); gdk_window_set_background_pattern (window, NULL); - - gtk_widget_style_attach (widget); } } From 7e2dea1dffc18c0ba8ec77cd24ab3b05b6fee35e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:40:49 +0100 Subject: [PATCH 1044/1463] GtkNotebook: remove unneeded call --- gtk/gtknotebook.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 742662de90..4def7780fb 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1893,8 +1893,6 @@ gtk_notebook_realize (GtkWidget *widget) priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, notebook); - - gtk_widget_style_attach (widget); } static void From f9a5c14ac0c4077c1dc15145050b4554611cd03c Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:41:04 +0100 Subject: [PATCH 1045/1463] Make GtkOffscreenWindow use GtkStyleContext --- gtk/gtkoffscreenwindow.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gtk/gtkoffscreenwindow.c b/gtk/gtkoffscreenwindow.c index ffa0e513e6..306c3184a9 100644 --- a/gtk/gtkoffscreenwindow.c +++ b/gtk/gtkoffscreenwindow.c @@ -193,9 +193,8 @@ gtk_offscreen_window_realize (GtkWidget *widget) if (child) gtk_widget_set_parent_window (child, window); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), - window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + window); } static void From c3b5b3531c9f0afe6d7636f68203f35917842b19 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:41:22 +0100 Subject: [PATCH 1046/1463] GtkPaned: Remove unneeded call --- gtk/gtkpaned.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index a60718d84e..696a2e6d9a 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -1136,8 +1136,6 @@ gtk_paned_realize (GtkWidget *widget) if (attributes_mask & GDK_WA_CURSOR) g_object_unref (attributes.cursor); - gtk_widget_style_attach (widget); - if (priv->child1 && gtk_widget_get_visible (priv->child1) && priv->child2 && gtk_widget_get_visible (priv->child2)) gdk_window_show (priv->handle); From 7266d0f11fb25e27e51026fabe976de2c105a9eb Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 4 Jan 2011 02:41:49 +0100 Subject: [PATCH 1047/1463] Make GtkPathBar use ::style-updated --- gtk/gtkpathbar.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c index 102d9e3ac6..88b89cb2c9 100644 --- a/gtk/gtkpathbar.c +++ b/gtk/gtkpathbar.c @@ -124,8 +124,7 @@ static void gtk_path_bar_grab_notify (GtkWidget *widget, gboolean was_grabbed); static void gtk_path_bar_state_changed (GtkWidget *widget, GtkStateType previous_state); -static void gtk_path_bar_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_path_bar_style_updated (GtkWidget *widget); static void gtk_path_bar_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); static void gtk_path_bar_check_icon_theme (GtkPathBar *path_bar); @@ -227,7 +226,7 @@ gtk_path_bar_class_init (GtkPathBarClass *path_bar_class) widget_class->map = gtk_path_bar_map; widget_class->unmap = gtk_path_bar_unmap; widget_class->size_allocate = gtk_path_bar_size_allocate; - widget_class->style_set = gtk_path_bar_style_set; + widget_class->style_updated = gtk_path_bar_style_updated; widget_class->screen_changed = gtk_path_bar_screen_changed; widget_class->grab_notify = gtk_path_bar_grab_notify; widget_class->state_changed = gtk_path_bar_state_changed; @@ -465,8 +464,6 @@ gtk_path_bar_realize (GtkWidget *widget) path_bar->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (path_bar->event_window, widget); - - gtk_widget_style_attach (widget); } static void @@ -713,10 +710,9 @@ gtk_path_bar_size_allocate (GtkWidget *widget, } static void -gtk_path_bar_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_path_bar_style_updated (GtkWidget *widget) { - GTK_WIDGET_CLASS (gtk_path_bar_parent_class)->style_set (widget, previous_style); + GTK_WIDGET_CLASS (gtk_path_bar_parent_class)->style_updated (widget); gtk_path_bar_check_icon_theme (GTK_PATH_BAR (widget)); } From a975d62071d71814eb9e6b3c379228f4cd66f0d3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 21:31:55 -0500 Subject: [PATCH 1048/1463] Rename gtk-update-icon-cache and gtk-builder-convert back In bug 635207, it was pointed out that it is a bad idea to rename these tools purely in the name of parallel-installability, since it forces dependencies to make a choice between running gtk-update-icon-cache and gtk-update-icon-cache-3.0 (or both ?!). So, we rename these utilities back to their un-suffixed names and rely on distributors to resolve the conflict between GTK+ 2.x and GTK+ 3.0 packages, which can be done e.g. by dropping the utilities from the gtk3 packages and add a gtk3 -> gtk2 dependency. --- docs/reference/gtk/Makefile.am | 8 +++---- ...onvert-3.0.xml => gtk-builder-convert.xml} | 10 ++++----- docs/reference/gtk/gtk-docs.sgml | 4 ++-- ...ache-3.0.xml => gtk-update-icon-cache.xml} | 14 +++++------- gtk/Makefile.am | 22 +++++++++---------- ...uilder-convert-3.0 => gtk-builder-convert} | 0 modules/input/Makefile.am | 4 ++-- 7 files changed, 30 insertions(+), 32 deletions(-) rename docs/reference/gtk/{gtk-builder-convert-3.0.xml => gtk-builder-convert.xml} (84%) rename docs/reference/gtk/{gtk-update-icon-cache-3.0.xml => gtk-update-icon-cache.xml} (91%) rename gtk/{gtk-builder-convert-3.0 => gtk-builder-convert} (100%) diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 9389c0413a..959e0b0a5e 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -134,8 +134,8 @@ content_files = \ windows.sgml \ x11.sgml \ gtk-query-immodules-3.0.xml \ - gtk-update-icon-cache-3.0.xml \ - gtk-builder-convert-3.0.xml \ + gtk-update-icon-cache.xml \ + gtk-builder-convert.xml \ visual_index.xml \ getting_started.xml \ overview.xml @@ -370,8 +370,8 @@ EXTRA_DIST += version.xml.in man_MANS = \ gtk-query-immodules-3.0.1 \ - gtk-update-icon-cache-3.0.1 \ - gtk-builder-convert-3.0.1 + gtk-update-icon-cache.1 \ + gtk-builder-convert.1 if ENABLE_MAN diff --git a/docs/reference/gtk/gtk-builder-convert-3.0.xml b/docs/reference/gtk/gtk-builder-convert.xml similarity index 84% rename from docs/reference/gtk/gtk-builder-convert-3.0.xml rename to docs/reference/gtk/gtk-builder-convert.xml index eccfe336f3..aa98d5d659 100644 --- a/docs/reference/gtk/gtk-builder-convert-3.0.xml +++ b/docs/reference/gtk/gtk-builder-convert.xml @@ -1,18 +1,18 @@ -gtk-builder-convert-3.0 +gtk-builder-convert 1 -gtk-builder-convert-3.0 +gtk-builder-convert Glade file conversion utility -gtk-builder-convert-3.0 +gtk-builder-convert --skip-windows --root name input @@ -21,7 +21,7 @@ Description -gtk-builder-convert-3.0 converts glade files +gtk-builder-convert converts glade files into XML files which can be loaded with GtkBuilder. @@ -40,7 +40,7 @@ its output the file specified as the second argument. --root -r - Convert only the widget named name + Convert only the widget named name and its children. diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index 39b9624c0a..ca98b8f6fa 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -356,8 +356,8 @@ GTK+ Tools - - + + diff --git a/docs/reference/gtk/gtk-update-icon-cache-3.0.xml b/docs/reference/gtk/gtk-update-icon-cache.xml similarity index 91% rename from docs/reference/gtk/gtk-update-icon-cache-3.0.xml rename to docs/reference/gtk/gtk-update-icon-cache.xml index 477f37c381..2a5bc27fbf 100644 --- a/docs/reference/gtk/gtk-update-icon-cache-3.0.xml +++ b/docs/reference/gtk/gtk-update-icon-cache.xml @@ -5,18 +5,18 @@ -gtk-update-icon-cache-3.0 +gtk-update-icon-cache 1 -gtk-update-icon-cache-3.0 +gtk-update-icon-cache Icon theme caching utility -gtk-update-icon-cache-3.0 +gtk-update-icon-cache --force --ignore-theme-index --index-only @@ -29,7 +29,7 @@ Description - gtk-update-icon-cache-3.0 creates mmap()able cache + gtk-update-icon-cache creates mmap()able cache files for icon themes. @@ -39,7 +39,7 @@ information about the icons in the directory tree below the given directory. - GTK+ can use the cache files created by gtk-update-icon-cache-3.0 + GTK+ can use the cache files created by gtk-update-icon-cache to avoid a lot of system call and disk seek overhead when the application starts. Since the format of the cache files allows them to be mmap()ed shared between multiple applications, the overall memory consumption is @@ -60,7 +60,7 @@ --ignore-theme-index -t Don't check for the existence of 'index.theme' in the icon - theme directory. Without this option, gtk-update-icon-cache-3.0 + theme directory. Without this option, gtk-update-icon-cache refuses to create an icon cache in a directory which does not appear to be the toplevel directory of an icon theme. @@ -104,5 +104,3 @@ None known yet. - - diff --git a/gtk/Makefile.am b/gtk/Makefile.am index d04e253256..215f305777 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -990,18 +990,18 @@ endif # bin_PROGRAMS = \ gtk-query-immodules-3.0 \ - gtk-update-icon-cache-3.0 + gtk-update-icon-cache -bin_SCRIPTS = gtk-builder-convert-3.0 +bin_SCRIPTS = gtk-builder-convert if OS_WIN32 # Workaround for UAC silliness: programs with "update" in their name # are believed to be installers and require elevated privileges to be # used... Use a manifest file to tell Windows that -# gtk-update-icon-cache-3.0.exe doesn't require any special privileges. +# gtk-update-icon-cache.exe doesn't require any special privileges. -GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache-3.0.exe.manifest +GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest bin_SCRIPTS += \ $(GTK_UPDATE_ICON_CACHE_MANIFEST) @@ -1011,7 +1011,7 @@ $(GTK_UPDATE_ICON_CACHE_MANIFEST): echo '' ; \ echo ' ' ; \ echo ' ' ; \ echo ' ' ; \ @@ -1031,8 +1031,8 @@ gtk_query_immodules_3_0_DEPENDENCIES = $(DEPS) gtk_query_immodules_3_0_LDADD = $(LDADDS) gtk_query_immodules_3_0_SOURCES = queryimmodules.c -gtk_update_icon_cache_3_0_LDADD = $(GDK_PIXBUF_LIBS) -gtk_update_icon_cache_3_0_SOURCES = updateiconcache.c +gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS) +gtk_update_icon_cache_SOURCES = updateiconcache.c .PHONY: files test test-debug @@ -1329,12 +1329,12 @@ if CROSS_COMPILING gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE) else gtk_update_icon_cache_program = \ - ./gtk-update-icon-cache-3.0 + ./gtk-update-icon-cache endif gtkbuiltincache.h: @REBUILD@ stamp-icons - $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache-3.0$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) - $(gtk_update_icon_cache_program) --force --ignore-theme-index \ + $(AM_V_at) $(MAKE) $(AM_MAKEFLAGS) gtk-update-icon-cache$(EXEEXT) $(GTK_UPDATE_ICON_CACHE_MANIFEST) + $(AM_V_GEN) $(gtk_update_icon_cache_program) --quiet --force --ignore-theme-index \ --source builtin_icons stock-icons > gtkbuiltincache.h.tmp && \ mv gtkbuiltincache.h.tmp gtkbuiltincache.h @@ -1348,7 +1348,7 @@ EXTRA_DIST += \ tree_minus.xpm \ tree_plus.xpm \ gtk.def \ - gtk-builder-convert-3.0 \ + gtk-builder-convert \ gtk-win32.rc \ gtk-win32.rc.in \ gtkwin32embed.h \ diff --git a/gtk/gtk-builder-convert-3.0 b/gtk/gtk-builder-convert similarity index 100% rename from gtk/gtk-builder-convert-3.0 rename to gtk/gtk-builder-convert diff --git a/modules/input/Makefile.am b/modules/input/Makefile.am index 72c2029f2b..eb078f98f4 100644 --- a/modules/input/Makefile.am +++ b/modules/input/Makefile.am @@ -184,7 +184,7 @@ endif # install-data-am, and not install-exec-am. We need to ensure this gets run # after the libraries are installed in their final locations. install-data-hook: - @if $(RUN_QUERY_IMMODULES_TEST) ; then \ + $(AM_V_GEN) if $(RUN_QUERY_IMMODULES_TEST) ; then \ echo $(mkinstalldirs) $(DESTDIR)$(libdir)/gtk-3.0/3.0.0 ; \ $(mkinstalldirs) $(DESTDIR)$(libdir)/gtk-3.0/3.0.0 ; \ echo "$(top_builddir)/gtk/gtk-query-immodules-3.0 > $(DESTDIR)$(libdir)/gtk-3.0/3.0.0/immodules.cache" ; \ @@ -236,7 +236,7 @@ noinst_LTLIBRARIES = \ included-modules: $(noinst_LTLIBRARIES) immodules.cache: Makefile.am $(module_LTLIBRARIES) - $(top_builddir)/gtk/gtk-query-immodules-3.0 $(module_LTLIBRARIES) > immodules.cache + $(AM_V_GEN) $(top_builddir)/gtk/gtk-query-immodules-3.0 $(module_LTLIBRARIES) > immodules.cache EXTRA_DIST += README.multipress From 72b69ae2ed67e35f6aaebc20133f7c1ecb4aaee1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 21:51:58 -0500 Subject: [PATCH 1049/1463] Don't use page_size in GtkSpinButton It ought to be 0 anyway, but don't use it. This puts bug 307963 to rest. --- gtk/gtkspinbutton.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 3849ff9d4a..fe8bc8c238 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -2167,24 +2167,22 @@ gtk_spin_button_set_range (GtkSpinButton *spin_button, gdouble min, gdouble max) { - GtkSpinButtonPrivate *priv; + GtkAdjustment *adjustment; gdouble value; g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button)); - priv = spin_button->priv; + adjustment = spin_button->priv->adjustment; - priv->adjustment->lower = min; - priv->adjustment->upper = max; + adjustment->lower = min; + adjustment->upper = max; - value = CLAMP (priv->adjustment->value, - priv->adjustment->lower, - (priv->adjustment->upper - priv->adjustment->page_size)); + value = CLAMP (adjustment->value, adjustment->lower, adjustment->upper); - if (value != priv->adjustment->value) + if (value != adjustment->value) gtk_spin_button_set_value (spin_button, value); - gtk_adjustment_changed (priv->adjustment); + gtk_adjustment_changed (adjustment); } /** From c874bba0e1ed8499512e1d525276c80b1543bc85 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 3 Jan 2011 22:55:38 -0500 Subject: [PATCH 1050/1463] GtkNotebook: fix reference to no-longer-exiting function in docs --- gtk/gtknotebook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 4def7780fb..dd62705bbf 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -8088,7 +8088,7 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook, * notebook or widget. * * Note that 2 notebooks must share a common group identificator - * (see gtk_notebook_set_group()) to allow automatic tabs + * (see gtk_notebook_set_group_name()) to allow automatic tabs * interchange between them. * * If you want a widget to interact with a notebook through DnD From 98b140e7b51004f6d3343781e9cfb65f4633bd7d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 00:55:50 -0500 Subject: [PATCH 1051/1463] Don't use GtkNotebook:tab-pack in testnotebookdnd --- tests/testnotebookdnd.c | 100 +++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 58 deletions(-) diff --git a/tests/testnotebookdnd.c b/tests/testnotebookdnd.c index 3621b0a2b3..9adf48c254 100644 --- a/tests/testnotebookdnd.c +++ b/tests/testnotebookdnd.c @@ -1,5 +1,5 @@ /* -*- Mode: C; c-file-style: "gnu"; tab-width: 8 -*- */ -/* +/* * GTK - The GIMP Toolkit * Copyright (C) 2006 Carlos Garnacho Parro * @@ -22,12 +22,6 @@ */ #include -enum { - PACK_START, - PACK_END, - PACK_ALTERNATE -}; - static gpointer GROUP_A = "GROUP_A"; static gpointer GROUP_B = "GROUP_B"; @@ -69,10 +63,10 @@ static const GtkTargetEntry button_targets[] = { static GtkNotebook* window_creation_function (GtkNotebook *source_notebook, - GtkWidget *child, - gint x, - gint y, - gpointer data) + GtkWidget *child, + gint x, + gint y, + gpointer data) { GtkWidget *window, *notebook; @@ -82,7 +76,7 @@ window_creation_function (GtkNotebook *source_notebook, G_CALLBACK (window_creation_function), NULL); gtk_notebook_set_group_name (GTK_NOTEBOOK (notebook), - gtk_notebook_get_group_name (source_notebook)); + gtk_notebook_get_group_name (source_notebook)); gtk_container_add (GTK_CONTAINER (window), notebook); @@ -101,8 +95,8 @@ on_page_reordered (GtkNotebook *notebook, GtkWidget *child, guint page_num, gpoi static void on_notebook_drag_begin (GtkWidget *widget, - GdkDragContext *context, - gpointer data) + GdkDragContext *context, + gpointer data) { GdkPixbuf *pixbuf; guint page_num; @@ -112,8 +106,8 @@ on_notebook_drag_begin (GtkWidget *widget, if (page_num > 2) { pixbuf = gtk_widget_render_icon_pixbuf (widget, - (page_num % 2) ? GTK_STOCK_HELP : GTK_STOCK_STOP, - GTK_ICON_SIZE_DND); + (page_num % 2) ? GTK_STOCK_HELP : GTK_STOCK_STOP, + GTK_ICON_SIZE_DND); gtk_drag_set_icon_pixbuf (context, pixbuf, 0, 0); g_object_unref (pixbuf); @@ -122,13 +116,13 @@ on_notebook_drag_begin (GtkWidget *widget, static void on_button_drag_data_received (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - GtkSelectionData *data, - guint info, - guint time, - gpointer user_data) + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *data, + guint info, + guint time, + gpointer user_data) { GtkWidget *source, *tab_label; GtkWidget **child; @@ -144,9 +138,8 @@ on_button_drag_data_received (GtkWidget *widget, static GtkWidget* create_notebook (gchar **labels, - const gchar *group, - gint packing, - GtkPositionType pos) + const gchar *group, + GtkPositionType pos) { GtkWidget *notebook, *title, *page; gint count = 0; @@ -171,26 +164,21 @@ create_notebook (gchar **labels, gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), page, TRUE); gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (notebook), page, TRUE); - if (packing == PACK_END || - (packing == PACK_ALTERNATE && count % 2 == 1)) - gtk_container_child_set (GTK_CONTAINER (notebook), page, "tab-pack", GTK_PACK_END, NULL); - count++; labels++; } g_signal_connect (GTK_NOTEBOOK (notebook), "page-reordered", - G_CALLBACK (on_page_reordered), NULL); + G_CALLBACK (on_page_reordered), NULL); g_signal_connect_after (G_OBJECT (notebook), "drag-begin", - G_CALLBACK (on_notebook_drag_begin), NULL); + G_CALLBACK (on_notebook_drag_begin), NULL); return notebook; } static GtkWidget* create_notebook_with_notebooks (gchar **labels, - const gchar *group, - gint packing, - GtkPositionType pos) + const gchar *group, + GtkPositionType pos) { GtkWidget *notebook, *title, *page; gint count = 0; @@ -206,27 +194,23 @@ create_notebook_with_notebooks (gchar **labels, while (*labels) { - page = create_notebook (labels, group, packing, pos); + page = create_notebook (labels, group, pos); gtk_notebook_popup_enable (GTK_NOTEBOOK (page)); - + title = gtk_label_new (*labels); gtk_notebook_append_page (GTK_NOTEBOOK (notebook), page, title); gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), page, TRUE); gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (notebook), page, TRUE); - - if (packing == PACK_END || - (packing == PACK_ALTERNATE && count % 2 == 1)) - gtk_container_child_set (GTK_CONTAINER (notebook), page, "tab-pack", GTK_PACK_END, NULL); count++; labels++; } g_signal_connect (GTK_NOTEBOOK (notebook), "page-reordered", - G_CALLBACK (on_page_reordered), NULL); + G_CALLBACK (on_page_reordered), NULL); g_signal_connect_after (G_OBJECT (notebook), "drag-begin", - G_CALLBACK (on_notebook_drag_begin), NULL); + G_CALLBACK (on_notebook_drag_begin), NULL); return notebook; } @@ -238,13 +222,13 @@ create_trash_button (void) button = gtk_button_new_from_stock (GTK_STOCK_DELETE); gtk_drag_dest_set (button, - GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, - button_targets, - G_N_ELEMENTS (button_targets), - GDK_ACTION_MOVE); + GTK_DEST_DEFAULT_MOTION | GTK_DEST_DEFAULT_DROP, + button_targets, + G_N_ELEMENTS (button_targets), + GDK_ACTION_MOVE); g_signal_connect_after (G_OBJECT (button), "drag-data-received", - G_CALLBACK (on_button_drag_data_received), NULL); + G_CALLBACK (on_button_drag_data_received), NULL); return button; } @@ -259,24 +243,24 @@ main (gint argc, gchar *argv[]) table = gtk_table_new (3, 2, FALSE); gtk_table_attach_defaults (GTK_TABLE (table), - create_notebook (tabs1, GROUP_A, PACK_ALTERNATE, GTK_POS_TOP), - 0, 1, 0, 1); + create_notebook (tabs1, GROUP_A, GTK_POS_TOP), + 0, 1, 0, 1); gtk_table_attach_defaults (GTK_TABLE (table), - create_notebook (tabs2, GROUP_B, PACK_ALTERNATE, GTK_POS_BOTTOM), - 0, 1, 1, 2); + create_notebook (tabs2, GROUP_B, GTK_POS_BOTTOM), + 0, 1, 1, 2); gtk_table_attach_defaults (GTK_TABLE (table), - create_notebook (tabs3, GROUP_B, PACK_END, GTK_POS_LEFT), - 1, 2, 0, 1); + create_notebook (tabs3, GROUP_B, GTK_POS_LEFT), + 1, 2, 0, 1); gtk_table_attach_defaults (GTK_TABLE (table), - create_notebook_with_notebooks (tabs4, GROUP_A, PACK_ALTERNATE, GTK_POS_RIGHT), - 1, 2, 1, 2); + create_notebook_with_notebooks (tabs4, GROUP_A, GTK_POS_RIGHT), + 1, 2, 1, 2); gtk_table_attach (GTK_TABLE (table), - create_trash_button (), 1, 2, 2, 3, - GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); + create_trash_button (), 1, 2, 2, 3, + GTK_EXPAND | GTK_FILL, GTK_SHRINK, 0, 0); gtk_container_add (GTK_CONTAINER (window), table); gtk_window_set_default_size (GTK_WINDOW (window), 400, 400); From 08a99e9ab31c3b465001c86cfcb68dce9846901c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 00:57:34 -0500 Subject: [PATCH 1052/1463] Remove the deprecated GtkNotebook:tab-pack child property --- gtk/gtknotebook.c | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index dd62705bbf..b355b65562 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -235,7 +235,6 @@ enum { CHILD_PROP_POSITION, CHILD_PROP_TAB_EXPAND, CHILD_PROP_TAB_FILL, - CHILD_PROP_TAB_PACK, CHILD_PROP_REORDERABLE, CHILD_PROP_DETACHABLE }; @@ -783,19 +782,6 @@ gtk_notebook_class_init (GtkNotebookClass *class) TRUE, GTK_PARAM_READWRITE)); - /** - * GtkNotebook:tab-pack: - * - * Deprecated: 2.20: The tab packing functionality of children should not - * be used anymore and support will be removed in the future. - */ - gtk_container_class_install_child_property (container_class, - CHILD_PROP_TAB_PACK, - g_param_spec_enum ("tab-pack", - P_("Tab pack type"), - P_("A GtkPackType indicating whether the child is packed with reference to the start or end of the parent"), - GTK_TYPE_PACK_TYPE, GTK_PACK_START, - GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, CHILD_PROP_REORDERABLE, g_param_spec_boolean ("reorderable", @@ -3775,7 +3761,7 @@ do_detach_tab (GtkNotebook *from, GtkWidget *tab_label, *menu_label; gboolean tab_expand, tab_fill, reorderable, detachable; GList *element; - guint tab_pack; + guint tab_pack = GTK_PACK_START; gint page_num; menu_label = gtk_notebook_get_menu_label (from, child); @@ -3794,7 +3780,6 @@ do_detach_tab (GtkNotebook *from, child, "tab-expand", &tab_expand, "tab-fill", &tab_fill, - "tab-pack", &tab_pack, "reorderable", &reorderable, "detachable", &detachable, NULL); @@ -3810,7 +3795,6 @@ do_detach_tab (GtkNotebook *from, gtk_notebook_insert_page_menu (to, child, tab_label, menu_label, page_num); gtk_container_child_set (GTK_CONTAINER (to), child, - "tab-pack", tab_pack, "tab-expand", tab_expand, "tab-fill", tab_fill, "reorderable", reorderable, @@ -3937,13 +3921,6 @@ gtk_notebook_set_child_property (GtkContainer *container, g_value_get_boolean (value), pack_type); break; - case CHILD_PROP_TAB_PACK: - gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, &fill, &pack_type); - gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (container), child, - expand, fill, - g_value_get_enum (value)); - break; case CHILD_PROP_REORDERABLE: gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (container), child, g_value_get_boolean (value)); @@ -3971,7 +3948,6 @@ gtk_notebook_get_child_property (GtkContainer *container, GtkWidget *label; gboolean expand; gboolean fill; - GtkPackType pack_type; /* not finding child's page is valid for menus or labels */ list = gtk_notebook_find_child (notebook, child, NULL); @@ -4013,11 +3989,6 @@ gtk_notebook_get_child_property (GtkContainer *container, NULL, &fill, NULL); g_value_set_boolean (value, fill); break; - case CHILD_PROP_TAB_PACK: - gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - NULL, NULL, &pack_type); - g_value_set_enum (value, pack_type); - break; case CHILD_PROP_REORDERABLE: g_value_set_boolean (value, gtk_notebook_get_tab_reorderable (GTK_NOTEBOOK (container), child)); @@ -4598,7 +4569,6 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, gtk_widget_child_notify (child, "tab-expand"); gtk_widget_child_notify (child, "tab-fill"); - gtk_widget_child_notify (child, "tab-pack"); gtk_widget_child_notify (child, "tab-label"); gtk_widget_child_notify (child, "menu-label"); gtk_widget_child_notify (child, "position"); @@ -7837,7 +7807,6 @@ gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, page->pack = pack_type; gtk_notebook_child_reordered (notebook, page); } - gtk_widget_child_notify (child, "tab-pack"); gtk_widget_child_notify (child, "position"); if (priv->show_tabs) gtk_notebook_pages_allocate (notebook); @@ -7924,7 +7893,6 @@ gtk_notebook_reorder_child (GtkNotebook *notebook, /* Move around the menu items if necessary */ gtk_notebook_child_reordered (notebook, page); - gtk_widget_child_notify (child, "tab-pack"); gtk_widget_child_notify (child, "position"); if (priv->show_tabs) From 03b37a2e540d8eb77b993b45798008559a56b01b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 01:11:28 -0500 Subject: [PATCH 1053/1463] Remove pack arguments from some internal functions This removes pack from gtk_notebook_{set,query}_tab_label_packing. --- gtk/gtknotebook.c | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index b355b65562..e5c2a9037a 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -306,13 +306,11 @@ static void gtk_notebook_remove_tab_label (GtkNotebook *notebook, static void gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean expand, - gboolean fill, - GtkPackType pack_type); + gboolean fill); static void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean *expand, - gboolean *fill, - GtkPackType *pack_type); + gboolean *fill); /*** GObject Methods ***/ static void gtk_notebook_set_property (GObject *object, @@ -3883,7 +3881,6 @@ gtk_notebook_set_child_property (GtkContainer *container, { gboolean expand; gboolean fill; - GtkPackType pack_type; /* not finding child's page is valid for menus or labels */ if (!gtk_notebook_find_child (GTK_NOTEBOOK (container), child, NULL)) @@ -3908,18 +3905,17 @@ gtk_notebook_set_child_property (GtkContainer *container, break; case CHILD_PROP_TAB_EXPAND: gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, &fill, &pack_type); + &expand, &fill); gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (container), child, g_value_get_boolean (value), - fill, pack_type); + fill); break; case CHILD_PROP_TAB_FILL: gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, &fill, &pack_type); + &expand, &fill); gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (container), child, expand, - g_value_get_boolean (value), - pack_type); + g_value_get_boolean (value)); break; case CHILD_PROP_REORDERABLE: gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (container), child, @@ -3981,12 +3977,12 @@ gtk_notebook_get_child_property (GtkContainer *container, break; case CHILD_PROP_TAB_EXPAND: gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, NULL, NULL); + &expand, NULL); g_value_set_boolean (value, expand); break; case CHILD_PROP_TAB_FILL: gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - NULL, &fill, NULL); + NULL, &fill); g_value_set_boolean (value, fill); break; case CHILD_PROP_REORDERABLE: @@ -7775,8 +7771,7 @@ static void gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean expand, - gboolean fill, - GtkPackType pack_type) + gboolean fill) { GtkNotebookPrivate *priv; GtkNotebookPage *page; @@ -7788,13 +7783,13 @@ gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, priv = notebook->priv; list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return; page = list->data; expand = expand != FALSE; fill = fill != FALSE; - if (page->pack == pack_type && page->expand == expand && page->fill == fill) + if (page->expand == expand && page->fill == fill) return; gtk_widget_freeze_child_notify (child); @@ -7802,11 +7797,6 @@ gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, gtk_widget_child_notify (child, "tab-expand"); page->fill = fill; gtk_widget_child_notify (child, "tab-fill"); - if (page->pack != pack_type) - { - page->pack = pack_type; - gtk_notebook_child_reordered (notebook, page); - } gtk_widget_child_notify (child, "position"); if (priv->show_tabs) gtk_notebook_pages_allocate (notebook); @@ -7817,8 +7807,7 @@ static void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean *expand, - gboolean *fill, - GtkPackType *pack_type) + gboolean *fill) { GList *list; @@ -7833,8 +7822,6 @@ gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, *expand = GTK_NOTEBOOK_PAGE (list)->expand; if (fill) *fill = GTK_NOTEBOOK_PAGE (list)->fill; - if (pack_type) - *pack_type = GTK_NOTEBOOK_PAGE (list)->pack; } /** From 88501d527dd50c9dc6e1b76a8dd5f1adaf0304b2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 01:23:05 -0500 Subject: [PATCH 1054/1463] Remove pack consideration from tab reordering --- gtk/gtknotebook.c | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index e5c2a9037a..2ef9c25a63 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1439,9 +1439,6 @@ reorder_tab (GtkNotebook *notebook, GList *position, GList *tab) * same relative position, taking packing into account */ elem = (position) ? position->prev : g_list_last (priv->children); - while (elem && elem != tab && GTK_NOTEBOOK_PAGE (elem)->pack != GTK_NOTEBOOK_PAGE (tab)->pack) - elem = elem->prev; - if (elem == tab) return g_list_position (priv->children, tab); @@ -1504,7 +1501,7 @@ gtk_notebook_reorder_tab (GtkNotebook *notebook, (effective_direction == GTK_DIR_RIGHT) ? STEP_NEXT : STEP_PREV, TRUE); } - while (child && GTK_NOTEBOOK_PAGE (last)->pack == GTK_NOTEBOOK_PAGE (child)->pack); + while (child); child = last; } @@ -1518,25 +1515,20 @@ gtk_notebook_reorder_tab (GtkNotebook *notebook, page = child->data; - if (page->pack == priv->cur_page->pack) - { - if (effective_direction == GTK_DIR_RIGHT) - page_num = reorder_tab (notebook, (page->pack == GTK_PACK_START) ? child->next : child, priv->focus_tab); - else - page_num = reorder_tab (notebook, (page->pack == GTK_PACK_START) ? child : child->next, priv->focus_tab); + if (effective_direction == GTK_DIR_RIGHT) + page_num = reorder_tab (notebook, child->next, priv->focus_tab); + else + page_num = reorder_tab (notebook, child, priv->focus_tab); - gtk_notebook_pages_allocate (notebook); + gtk_notebook_pages_allocate (notebook); - g_signal_emit (notebook, - notebook_signals[PAGE_REORDERED], - 0, - ((GtkNotebookPage *) priv->focus_tab->data)->child, - page_num); + g_signal_emit (notebook, + notebook_signals[PAGE_REORDERED], + 0, + ((GtkNotebookPage *) priv->focus_tab->data)->child, + page_num); - return TRUE; - } - - return FALSE; + return TRUE; } /** From f838ecf9f0e6ba6cc0b1b40db3643a13d88b4480 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 01:31:47 -0500 Subject: [PATCH 1055/1463] Remove pack consideration from tab dnd --- gtk/gtknotebook.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 2ef9c25a63..aa5fa6127d 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -2932,8 +2932,7 @@ stop_scrolling (GtkNotebook *notebook) } static GList* -get_drop_position (GtkNotebook *notebook, - guint pack) +get_drop_position (GtkNotebook *notebook) { GtkNotebookPrivate *priv = notebook->priv; GList *children, *last_child; @@ -2955,8 +2954,7 @@ get_drop_position (GtkNotebook *notebook, if ((priv->operation != DRAG_OPERATION_REORDER || page != priv->cur_page) && gtk_widget_get_visible (page->child) && page->tab_label && - gtk_widget_get_mapped (page->tab_label) && - page->pack == pack) + gtk_widget_get_mapped (page->tab_label)) { switch (priv->tab_pos) { @@ -2964,22 +2962,19 @@ get_drop_position (GtkNotebook *notebook, case GTK_POS_BOTTOM: if (!is_rtl) { - if ((page->pack == GTK_PACK_START && PAGE_MIDDLE_X (page) > x) || - (page->pack == GTK_PACK_END && PAGE_MIDDLE_X (page) < x)) + if (PAGE_MIDDLE_X (page) > x) return children; } else { - if ((page->pack == GTK_PACK_START && PAGE_MIDDLE_X (page) < x) || - (page->pack == GTK_PACK_END && PAGE_MIDDLE_X (page) > x)) + if (PAGE_MIDDLE_X (page) < x) return children; } break; case GTK_POS_LEFT: case GTK_POS_RIGHT: - if ((page->pack == GTK_PACK_START && PAGE_MIDDLE_Y (page) > y) || - (page->pack == GTK_PACK_END && PAGE_MIDDLE_Y (page) < y)) + if (PAGE_MIDDLE_Y (page) > y) return children; break; @@ -3094,7 +3089,7 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook) gint old_page_num, page_num; GList *element; - element = get_drop_position (notebook, page->pack); + element = get_drop_position (notebook); old_page_num = g_list_position (priv->children, priv->focus_tab); page_num = reorder_tab (notebook, element, priv->focus_tab); gtk_notebook_child_reordered (notebook, page); @@ -3225,7 +3220,7 @@ scroll_notebook_timer (gpointer data) pointer_position = get_pointer_position (notebook); - element = get_drop_position (notebook, priv->cur_page->pack); + element = get_drop_position (notebook); reorder_tab (notebook, element, priv->focus_tab); first_tab = gtk_notebook_search_page (notebook, priv->first_tab, (pointer_position == POINTER_BEFORE) ? STEP_PREV : STEP_NEXT, @@ -3751,7 +3746,6 @@ do_detach_tab (GtkNotebook *from, GtkWidget *tab_label, *menu_label; gboolean tab_expand, tab_fill, reorderable, detachable; GList *element; - guint tab_pack = GTK_PACK_START; gint page_num; menu_label = gtk_notebook_get_menu_label (from, child); @@ -3780,7 +3774,7 @@ do_detach_tab (GtkNotebook *from, to_priv->mouse_x = x + to_allocation.x; to_priv->mouse_y = y + to_allocation.y; - element = get_drop_position (to, tab_pack); + element = get_drop_position (to); page_num = g_list_position (to_priv->children, element); gtk_notebook_insert_page_menu (to, child, tab_label, menu_label, page_num); From a7bb19337732ebd5e6a9f8c5221fe083bdb6bf06 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 01:36:09 -0500 Subject: [PATCH 1056/1463] Drop internal function to find page position --- gtk/gtknotebook.c | 29 ++--------------------------- 1 file changed, 2 insertions(+), 27 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index aa5fa6127d..d96bad1194 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -445,8 +445,6 @@ static gint gtk_notebook_page_compare (gconstpointer a, static GList* gtk_notebook_find_child (GtkNotebook *notebook, GtkWidget *child, const gchar *function); -static gint gtk_notebook_real_page_position (GtkNotebook *notebook, - GList *list); static GList * gtk_notebook_search_page (GtkNotebook *notebook, GList *list, gint direction, @@ -4568,7 +4566,6 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, * gtk_notebook_timer * gtk_notebook_set_scroll_timer * gtk_notebook_page_compare - * gtk_notebook_real_page_position * gtk_notebook_search_page */ static void @@ -4891,28 +4888,6 @@ gtk_notebook_update_labels (GtkNotebook *notebook) } } -static gint -gtk_notebook_real_page_position (GtkNotebook *notebook, - GList *list) -{ - GtkNotebookPrivate *priv = notebook->priv; - GList *work; - gint count_start; - - for (work = priv->children, count_start = 0; - work && work != list; work = work->next) - if (GTK_NOTEBOOK_PAGE (work)->pack == GTK_PACK_START) - count_start++; - - if (!work) - return -1; - - if (GTK_NOTEBOOK_PAGE (list)->pack == GTK_PACK_START) - return count_start; - - return (count_start + g_list_length (list) - 1); -} - static GList * gtk_notebook_search_page (GtkNotebook *notebook, GList *list, @@ -6582,7 +6557,7 @@ gtk_notebook_menu_item_create (GtkNotebook *notebook, menu_item = gtk_menu_item_new (); gtk_container_add (GTK_CONTAINER (menu_item), page->menu_label); gtk_menu_shell_insert (GTK_MENU_SHELL (priv->menu), menu_item, - gtk_notebook_real_page_position (notebook, list)); + g_list_position (priv->children, list)); g_signal_connect (menu_item, "activate", G_CALLBACK (gtk_notebook_menu_switch_page), page); if (gtk_widget_get_visible (page->child)) @@ -7516,7 +7491,7 @@ gtk_notebook_set_tab_label (GtkNotebook *notebook, gchar string[32]; g_snprintf (string, sizeof(string), _("Page %u"), - gtk_notebook_real_page_position (notebook, list)); + g_list_position (priv->children, list)); page->tab_label = gtk_label_new (string); gtk_widget_set_parent (page->tab_label, GTK_WIDGET (notebook)); } From f9d6bc6cca40e9f9fd360f49dfb9c6e939b0fc42 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 01:39:18 -0500 Subject: [PATCH 1057/1463] Drop pack consideration from gtk_notebook_search_page --- gtk/gtknotebook.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index d96bad1194..680e46b167 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -4897,23 +4897,11 @@ gtk_notebook_search_page (GtkNotebook *notebook, GtkNotebookPrivate *priv = notebook->priv; GtkNotebookPage *page = NULL; GList *old_list = NULL; - gint flag = 0; - - switch (direction) - { - case STEP_PREV: - flag = GTK_PACK_END; - break; - - case STEP_NEXT: - flag = GTK_PACK_START; - break; - } if (list) page = list->data; - if (!page || page->pack == flag) + if (!page || direction == STEP_NEXT) { if (list) { @@ -4926,7 +4914,7 @@ gtk_notebook_search_page (GtkNotebook *notebook, while (list) { page = list->data; - if (page->pack == flag && + if (direction == STEP_NEXT && (!find_visible || (gtk_widget_get_visible (page->child) && (!page->tab_label || NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))))) @@ -4944,7 +4932,7 @@ gtk_notebook_search_page (GtkNotebook *notebook, while (list) { page = list->data; - if (page->pack != flag && + if (direction == STEP_PREV && (!find_visible || (gtk_widget_get_visible (page->child) && (!page->tab_label || NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))))) From 4ea886aea12d40e9938034035874a4a805590596 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 01:57:22 -0500 Subject: [PATCH 1058/1463] Don't consider pack when allocating tabs --- gtk/gtknotebook.c | 121 +++++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 76 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 680e46b167..1f1a4de6e4 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -5781,21 +5781,13 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, _gtk_notebook_get_tab_flags (notebook, page)); gtk_style_context_get_padding (context, 0, &padding); - if (direction == STEP_NEXT && page->pack != GTK_PACK_START) - { - if (!showarrow) - break; - else if (priv->operation == DRAG_OPERATION_REORDER) - packing_changed = TRUE; - } - if (direction == STEP_NEXT) *children = gtk_notebook_search_page (notebook, *children, direction, TRUE); else { *children = (*children)->next; - if (page->pack != GTK_PACK_END || !gtk_widget_get_visible (page->child)) + if (!gtk_widget_get_visible (page->child)) continue; } @@ -5822,8 +5814,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, { if (!allocate_at_bottom) { - if ((priv->cur_page->pack == GTK_PACK_START && left_x >= anchor) || - (priv->cur_page->pack == GTK_PACK_END && left_x < anchor)) + if (left_x >= anchor) { left_x = priv->drag_window_x = anchor; anchor += priv->cur_page->allocation.width - tab_overlap; @@ -5831,8 +5822,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, } else { - if ((priv->cur_page->pack == GTK_PACK_START && right_x <= anchor) || - (priv->cur_page->pack == GTK_PACK_END && right_x > anchor)) + if (right_x <= anchor) { anchor -= priv->cur_page->allocation.width; left_x = priv->drag_window_x = anchor; @@ -5853,7 +5843,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, if (allocate_at_bottom) anchor -= child_allocation.width; - if (priv->operation == DRAG_OPERATION_REORDER && page->pack == priv->cur_page->pack) + if (priv->operation == DRAG_OPERATION_REORDER) { if (!allocate_at_bottom && left_x >= anchor && @@ -5877,9 +5867,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, if (priv->operation == DRAG_OPERATION_REORDER && !gap_left && packing_changed) { - if (!allocate_at_bottom && - ((priv->cur_page->pack == GTK_PACK_START && top_y >= anchor) || - (priv->cur_page->pack == GTK_PACK_END && top_y < anchor))) + if (!allocate_at_bottom && top_y >= anchor) { top_y = priv->drag_window_y = anchor; anchor += priv->cur_page->allocation.height - tab_overlap; @@ -5898,7 +5886,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, if (allocate_at_bottom) anchor -= child_allocation.height; - if (priv->operation == DRAG_OPERATION_REORDER && page->pack == priv->cur_page->pack) + if (priv->operation == DRAG_OPERATION_REORDER) { if (!allocate_at_bottom && top_y >= anchor && @@ -5956,13 +5944,11 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, { if (priv->operation == DRAG_OPERATION_REORDER) { - if (page->pack == priv->cur_page->pack && - !allocate_at_bottom && + if (!allocate_at_bottom && left_x > anchor + child_allocation.width / 2 && left_x <= anchor + child_allocation.width) anchor += priv->cur_page->allocation.width - tab_overlap; - else if (page->pack == priv->cur_page->pack && - allocate_at_bottom && + else if (allocate_at_bottom && right_x >= anchor && right_x <= anchor + child_allocation.width / 2) anchor -= priv->cur_page->allocation.width - tab_overlap; @@ -5982,13 +5968,11 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, { if (priv->operation == DRAG_OPERATION_REORDER) { - if (page->pack == priv->cur_page->pack && - !allocate_at_bottom && + if (!allocate_at_bottom && top_y >= anchor + child_allocation.height / 2 && top_y <= anchor + child_allocation.height) anchor += priv->cur_page->allocation.height - tab_overlap; - else if (page->pack == priv->cur_page->pack && - allocate_at_bottom && + else if (allocate_at_bottom && bottom_y >= anchor && bottom_y <= anchor + child_allocation.height / 2) anchor -= priv->cur_page->allocation.height - tab_overlap; @@ -6013,8 +5997,7 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, /* Don't move the current tab past the last position during tabs reordering */ if (children && priv->operation == DRAG_OPERATION_REORDER && - ((direction == STEP_NEXT && priv->cur_page->pack == GTK_PACK_START) || - ((direction == STEP_PREV || packing_changed) && priv->cur_page->pack == GTK_PACK_END))) + direction == STEP_NEXT) { switch (tab_pos) { @@ -6219,19 +6202,12 @@ gtk_notebook_calc_tabs (GtkNotebook *notebook, GList *children; GList *last_list = NULL; GList *last_calculated_child = NULL; - gboolean pack; gint tab_pos = get_effective_tab_pos (notebook); - guint real_direction; if (!start) return; children = start; - pack = GTK_NOTEBOOK_PAGE (start)->pack; - if (pack == GTK_PACK_END) - real_direction = (direction == STEP_PREV) ? STEP_NEXT : STEP_PREV; - else - real_direction = direction; while (1) { @@ -6245,29 +6221,26 @@ gtk_notebook_calc_tabs (GtkNotebook *notebook, if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && gtk_widget_get_visible (page->child)) { - if (page->pack == pack) - { - *tab_space -= page->requisition.width; - if (*tab_space < 0 || children == *end) - { - if (*tab_space < 0) - { - *tab_space = - (*tab_space + - page->requisition.width); + *tab_space -= page->requisition.width; + if (*tab_space < 0 || children == *end) + { + if (*tab_space < 0) + { + *tab_space = - (*tab_space + + page->requisition.width); - if (*tab_space == 0 && direction == STEP_PREV) - children = last_calculated_child; + if (*tab_space == 0 && direction == STEP_PREV) + children = last_calculated_child; - *end = children; - } - return; - } + *end = children; + } + return; + } - last_calculated_child = children; - } - last_list = children; + last_calculated_child = children; + last_list = children; } - if (real_direction == STEP_NEXT) + if (direction == STEP_NEXT) children = children->next; else children = children->prev; @@ -6281,39 +6254,35 @@ gtk_notebook_calc_tabs (GtkNotebook *notebook, if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && gtk_widget_get_visible (page->child)) { - if (page->pack == pack) - { - *tab_space -= page->requisition.height; - if (*tab_space < 0 || children == *end) - { - if (*tab_space < 0) - { - *tab_space = - (*tab_space + - page->requisition.height); + *tab_space -= page->requisition.height; + if (*tab_space < 0 || children == *end) + { + if (*tab_space < 0) + { + *tab_space = - (*tab_space + + page->requisition.height); - if (*tab_space == 0 && direction == STEP_PREV) - children = last_calculated_child; + if (*tab_space == 0 && direction == STEP_PREV) + children = last_calculated_child; - *end = children; - } - return; - } + *end = children; + } + return; + } - last_calculated_child = children; - } - last_list = children; + last_calculated_child = children; + last_list = children; } - if (real_direction == STEP_NEXT) + if (direction == STEP_NEXT) children = children->next; else children = children->prev; } break; } - if (real_direction == STEP_PREV) + if (direction == STEP_PREV) return; - pack = (pack == GTK_PACK_END) ? GTK_PACK_START : GTK_PACK_END; - real_direction = STEP_PREV; + direction = STEP_PREV; children = last_list; } } From 723fedef8b522c1a295a6ad514d44f3bd9d63ce0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 02:03:03 -0500 Subject: [PATCH 1059/1463] Remove pack consideration from tab drawing --- gtk/gtknotebook.c | 92 ++++++++++------------------------------------- 1 file changed, 18 insertions(+), 74 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 1f1a4de6e4..2c421751fd 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1899,61 +1899,23 @@ _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) + if (!gtk_widget_get_visible (p->tab_label)) + continue; + + i++; + + /* 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_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; - } + page_num = i; + is_last = pages->next == NULL; + break; } } - else - { - gboolean found = FALSE; - - is_last = TRUE; - - /* 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) - { - 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; - } if (page_num < 0) return 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; } From 32bfc980c15b13e7ddf91cfe143e39513f40b3a1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 02:06:03 -0500 Subject: [PATCH 1060/1463] Remove pack property altogether --- gtk/gtknotebook.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 2c421751fd..8b7cceb383 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -261,7 +261,6 @@ struct _GtkNotebookPage guint default_tab : 1; /* If true, we create the tab label ourself */ guint expand : 1; guint fill : 1; - guint pack : 1; guint reorderable : 1; guint detachable : 1; @@ -4450,7 +4449,6 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, page->menu_label = menu_label; page->expand = FALSE; page->fill = TRUE; - page->pack = GTK_PACK_START; if (!menu_label) page->default_menu = TRUE; From 7352a166b6902df27fe3957e28e2e2194d5d9ba0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 02:21:38 -0500 Subject: [PATCH 1061/1463] Formatting fixes and whitespace cleanups --- gtk/gtknotebook.c | 3985 ++++++++++++++++++++++----------------------- 1 file changed, 1992 insertions(+), 1993 deletions(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 8b7cceb383..df27ba550c 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -22,7 +22,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp:ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -255,10 +255,10 @@ struct _GtkNotebookPage GtkWidget *child; GtkWidget *tab_label; GtkWidget *menu_label; - GtkWidget *last_focus_child; /* Last descendant of the page that had focus */ + GtkWidget *last_focus_child; /* Last descendant of the page that had focus */ - guint default_menu : 1; /* If true, we create the menu label ourself */ - guint default_tab : 1; /* If true, we create the tab label ourself */ + guint default_menu : 1; /* If true, we create the menu label ourself */ + guint default_tab : 1; /* If true, we create the tab label ourself */ guint expand : 1; guint fill : 1; guint reorderable : 1; @@ -287,21 +287,21 @@ static const GtkTargetEntry notebook_targets [] = { #define CHECK_FIND_CHILD(notebook, child) \ gtk_notebook_find_child (notebook, child, NULL) #endif - + /*** GtkNotebook Methods ***/ static gboolean gtk_notebook_select_page (GtkNotebook *notebook, - gboolean move_focus); + gboolean move_focus); static gboolean gtk_notebook_focus_tab (GtkNotebook *notebook, - GtkNotebookTab type); + GtkNotebookTab type); static gboolean gtk_notebook_change_current_page (GtkNotebook *notebook, - gint offset); + gint offset); static void gtk_notebook_move_focus_out (GtkNotebook *notebook, - GtkDirectionType direction_type); + GtkDirectionType direction_type); static gboolean gtk_notebook_reorder_tab (GtkNotebook *notebook, - GtkDirectionType direction_type, - gboolean move_to_last); + GtkDirectionType direction_type, + gboolean move_to_last); static void gtk_notebook_remove_tab_label (GtkNotebook *notebook, - GtkNotebookPage *page); + GtkNotebookPage *page); static void gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, GtkWidget *child, gboolean expand, @@ -312,14 +312,14 @@ static void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, gboolean *fill); /*** GObject Methods ***/ -static void gtk_notebook_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); -static void gtk_notebook_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); +static void gtk_notebook_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_notebook_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); /*** GtkWidget Methods ***/ static void gtk_notebook_destroy (GtkWidget *widget); @@ -328,103 +328,103 @@ static void gtk_notebook_unmap (GtkWidget *widget); static void gtk_notebook_realize (GtkWidget *widget); static void gtk_notebook_unrealize (GtkWidget *widget); static void gtk_notebook_size_request (GtkWidget *widget, - GtkRequisition *requisition); + GtkRequisition *requisition); static void gtk_notebook_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural); + gint *minimum, + gint *natural); static void gtk_notebook_get_preferred_height(GtkWidget *widget, - gint *minimum, - gint *natural); + gint *minimum, + gint *natural); static void gtk_notebook_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static gint gtk_notebook_draw (GtkWidget *widget, cairo_t *cr); static gint gtk_notebook_button_press (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gint gtk_notebook_button_release (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gboolean gtk_notebook_popup_menu (GtkWidget *widget); static gint gtk_notebook_leave_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gint gtk_notebook_motion_notify (GtkWidget *widget, - GdkEventMotion *event); + GdkEventMotion *event); static gint gtk_notebook_focus_in (GtkWidget *widget, - GdkEventFocus *event); + GdkEventFocus *event); static gint gtk_notebook_focus_out (GtkWidget *widget, - GdkEventFocus *event); + GdkEventFocus *event); static void gtk_notebook_grab_notify (GtkWidget *widget, - gboolean was_grabbed); + gboolean was_grabbed); static void gtk_notebook_state_flags_changed (GtkWidget *widget, - GtkStateFlags previous_state); + GtkStateFlags previous_state); static gint gtk_notebook_focus (GtkWidget *widget, - GtkDirectionType direction); + GtkDirectionType direction); static void gtk_notebook_style_updated (GtkWidget *widget); /*** Drag and drop Methods ***/ static void gtk_notebook_drag_begin (GtkWidget *widget, - GdkDragContext *context); + GdkDragContext *context); static void gtk_notebook_drag_end (GtkWidget *widget, - GdkDragContext *context); + GdkDragContext *context); static gboolean gtk_notebook_drag_failed (GtkWidget *widget, - GdkDragContext *context, - GtkDragResult result); + GdkDragContext *context, + GtkDragResult result); static gboolean gtk_notebook_drag_motion (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - guint time); + GdkDragContext *context, + gint x, + gint y, + guint time); static void gtk_notebook_drag_leave (GtkWidget *widget, - GdkDragContext *context, - guint time); + GdkDragContext *context, + guint time); static gboolean gtk_notebook_drag_drop (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - guint time); + GdkDragContext *context, + gint x, + gint y, + guint time); static void gtk_notebook_drag_data_get (GtkWidget *widget, - GdkDragContext *context, - GtkSelectionData *data, - guint info, - guint time); + GdkDragContext *context, + GtkSelectionData *data, + guint info, + guint time); static void gtk_notebook_drag_data_received (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - GtkSelectionData *data, - guint info, - guint time); + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *data, + guint info, + guint time); /*** GtkContainer Methods ***/ static void gtk_notebook_set_child_property (GtkContainer *container, - GtkWidget *child, - guint property_id, - const GValue *value, - GParamSpec *pspec); + GtkWidget *child, + guint property_id, + const GValue *value, + GParamSpec *pspec); static void gtk_notebook_get_child_property (GtkContainer *container, - GtkWidget *child, - guint property_id, - GValue *value, - GParamSpec *pspec); + GtkWidget *child, + guint property_id, + GValue *value, + GParamSpec *pspec); static void gtk_notebook_add (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_notebook_remove (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_notebook_set_focus_child (GtkContainer *container, - GtkWidget *child); + GtkWidget *child); static GType gtk_notebook_child_type (GtkContainer *container); static void gtk_notebook_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); static GtkWidgetPath * gtk_notebook_get_path_for_child (GtkContainer *container, GtkWidget *widget); /*** GtkNotebook Methods ***/ static gint gtk_notebook_real_insert_page (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label, - GtkWidget *menu_label, - gint position); + GtkWidget *child, + GtkWidget *tab_label, + GtkWidget *menu_label, + gint position); static GtkNotebook *gtk_notebook_create_window (GtkNotebook *notebook, GtkWidget *page, @@ -435,100 +435,100 @@ static GtkNotebook *gtk_notebook_create_window (GtkNotebook *notebook, static void gtk_notebook_redraw_tabs (GtkNotebook *notebook); static void gtk_notebook_redraw_arrows (GtkNotebook *notebook); static void gtk_notebook_real_remove (GtkNotebook *notebook, - GList *list); + GList *list); static void gtk_notebook_update_labels (GtkNotebook *notebook); static gint gtk_notebook_timer (GtkNotebook *notebook); static void gtk_notebook_set_scroll_timer (GtkNotebook *notebook); static gint gtk_notebook_page_compare (gconstpointer a, - gconstpointer b); + gconstpointer b); static GList* gtk_notebook_find_child (GtkNotebook *notebook, - GtkWidget *child, - const gchar *function); + GtkWidget *child, + const gchar *function); static GList * gtk_notebook_search_page (GtkNotebook *notebook, - GList *list, - gint direction, - gboolean find_visible); + GList *list, + gint direction, + gboolean find_visible); static void gtk_notebook_child_reordered (GtkNotebook *notebook, - GtkNotebookPage *page); + GtkNotebookPage *page); /*** GtkNotebook Drawing Functions ***/ static void gtk_notebook_paint (GtkWidget *widget, - cairo_t *cr); + cairo_t *cr); static void gtk_notebook_draw_tab (GtkNotebook *notebook, - GtkNotebookPage *page, - cairo_t *cr, + GtkNotebookPage *page, + cairo_t *cr, GtkRegionFlags flags); static void gtk_notebook_draw_arrow (GtkNotebook *notebook, cairo_t *cr, - GtkNotebookArrow arrow); + GtkNotebookArrow arrow); /*** GtkNotebook Size Allocate Functions ***/ static void gtk_notebook_pages_allocate (GtkNotebook *notebook); static gboolean gtk_notebook_page_allocate (GtkNotebook *notebook, - GtkNotebookPage *page); + GtkNotebookPage *page); static void gtk_notebook_calc_tabs (GtkNotebook *notebook, - GList *start, - GList **end, - gint *tab_space, - guint direction); + GList *start, + GList **end, + gint *tab_space, + guint direction); /*** GtkNotebook Page Switch Methods ***/ static void gtk_notebook_real_switch_page (GtkNotebook *notebook, - GtkWidget *child, - guint page_num); + GtkWidget *child, + guint page_num); /*** GtkNotebook Page Switch Functions ***/ static void gtk_notebook_switch_page (GtkNotebook *notebook, - GtkNotebookPage *page); + GtkNotebookPage *page); static gint gtk_notebook_page_select (GtkNotebook *notebook, - gboolean move_focus); + gboolean move_focus); static void gtk_notebook_switch_focus_tab (GtkNotebook *notebook, GList *new_child); static void gtk_notebook_menu_switch_page (GtkWidget *widget, - GtkNotebookPage *page); + GtkNotebookPage *page); /*** GtkNotebook Menu Functions ***/ static void gtk_notebook_menu_item_create (GtkNotebook *notebook, - GList *list); + GList *list); static void gtk_notebook_menu_label_unparent (GtkWidget *widget, - gpointer data); + gpointer data); static void gtk_notebook_menu_detacher (GtkWidget *widget, - GtkMenu *menu); + GtkMenu *menu); /*** GtkNotebook Private Setters ***/ static void gtk_notebook_update_tab_states (GtkNotebook *notebook); static gboolean gtk_notebook_mnemonic_activate_switch_page (GtkWidget *child, - gboolean overload, - gpointer data); + gboolean overload, + gpointer data); static gboolean focus_tabs_in (GtkNotebook *notebook); static gboolean focus_child_in (GtkNotebook *notebook, - GtkDirectionType direction); + GtkDirectionType direction); static void stop_scrolling (GtkNotebook *notebook); static void do_detach_tab (GtkNotebook *from, - GtkNotebook *to, - GtkWidget *child, - gint x, - gint y); + GtkNotebook *to, + GtkWidget *child, + gint x, + gint y); /* GtkBuildable */ static void gtk_notebook_buildable_init (GtkBuildableIface *iface); static void gtk_notebook_buildable_add_child (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *type); + GtkBuilder *builder, + GObject *child, + const gchar *type); static guint notebook_signals[LAST_SIGNAL] = { 0 }; G_DEFINE_TYPE_WITH_CODE (GtkNotebook, gtk_notebook, GTK_TYPE_CONTAINER, - G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_notebook_buildable_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_notebook_buildable_init)) static void add_tab_bindings (GtkBindingSet *binding_set, - GdkModifierType modifiers, - GtkDirectionType direction) + GdkModifierType modifiers, + GtkDirectionType direction) { gtk_binding_entry_add_signal (binding_set, GDK_KEY_Tab, modifiers, "move_focus_out", 1, @@ -540,11 +540,11 @@ add_tab_bindings (GtkBindingSet *binding_set, static void add_arrow_bindings (GtkBindingSet *binding_set, - guint keysym, - GtkDirectionType direction) + guint keysym, + GtkDirectionType direction) { guint keypad_keysym = keysym - GDK_KEY_Left + GDK_KEY_KP_Left; - + gtk_binding_entry_add_signal (binding_set, keysym, GDK_CONTROL_MASK, "move_focus_out", 1, GTK_TYPE_DIRECTION_TYPE, direction); @@ -555,20 +555,20 @@ add_arrow_bindings (GtkBindingSet *binding_set, static void add_reorder_bindings (GtkBindingSet *binding_set, - guint keysym, - GtkDirectionType direction, - gboolean move_to_last) + guint keysym, + GtkDirectionType direction, + gboolean move_to_last) { guint keypad_keysym = keysym - GDK_KEY_Left + GDK_KEY_KP_Left; gtk_binding_entry_add_signal (binding_set, keysym, GDK_MOD1_MASK, - "reorder_tab", 2, - GTK_TYPE_DIRECTION_TYPE, direction, - G_TYPE_BOOLEAN, move_to_last); + "reorder_tab", 2, + GTK_TYPE_DIRECTION_TYPE, direction, + G_TYPE_BOOLEAN, move_to_last); gtk_binding_entry_add_signal (binding_set, keypad_keysym, GDK_MOD1_MASK, - "reorder_tab", 2, - GTK_TYPE_DIRECTION_TYPE, direction, - G_TYPE_BOOLEAN, move_to_last); + "reorder_tab", 2, + GTK_TYPE_DIRECTION_TYPE, direction, + G_TYPE_BOOLEAN, move_to_last); } static gboolean @@ -627,7 +627,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); GtkContainerClass *container_class = GTK_CONTAINER_CLASS (class); GtkBindingSet *binding_set; - + gobject_class->set_property = gtk_notebook_set_property; gobject_class->get_property = gtk_notebook_get_property; @@ -679,52 +679,52 @@ gtk_notebook_class_init (GtkNotebookClass *class) class->move_focus_out = gtk_notebook_move_focus_out; class->reorder_tab = gtk_notebook_reorder_tab; class->create_window = gtk_notebook_create_window; - + g_object_class_install_property (gobject_class, - PROP_PAGE, - g_param_spec_int ("page", - P_("Page"), - P_("The index of the current page"), - -1, - G_MAXINT, - -1, - GTK_PARAM_READWRITE)); + PROP_PAGE, + g_param_spec_int ("page", + P_("Page"), + P_("The index of the current page"), + -1, + G_MAXINT, + -1, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_TAB_POS, - g_param_spec_enum ("tab-pos", - P_("Tab Position"), - P_("Which side of the notebook holds the tabs"), - GTK_TYPE_POSITION_TYPE, - GTK_POS_TOP, - GTK_PARAM_READWRITE)); + PROP_TAB_POS, + g_param_spec_enum ("tab-pos", + P_("Tab Position"), + P_("Which side of the notebook holds the tabs"), + GTK_TYPE_POSITION_TYPE, + GTK_POS_TOP, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_SHOW_TABS, - g_param_spec_boolean ("show-tabs", - P_("Show Tabs"), - P_("Whether tabs should be shown"), - TRUE, - GTK_PARAM_READWRITE)); + PROP_SHOW_TABS, + g_param_spec_boolean ("show-tabs", + P_("Show Tabs"), + P_("Whether tabs should be shown"), + TRUE, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_SHOW_BORDER, - g_param_spec_boolean ("show-border", - P_("Show Border"), - P_("Whether the border should be shown"), - TRUE, - GTK_PARAM_READWRITE)); + PROP_SHOW_BORDER, + g_param_spec_boolean ("show-border", + P_("Show Border"), + P_("Whether the border should be shown"), + TRUE, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_SCROLLABLE, - g_param_spec_boolean ("scrollable", - P_("Scrollable"), - P_("If TRUE, scroll arrows are added if there are too many tabs to fit"), - FALSE, - GTK_PARAM_READWRITE)); + PROP_SCROLLABLE, + g_param_spec_boolean ("scrollable", + P_("Scrollable"), + P_("If TRUE, scroll arrows are added if there are too many tabs to fit"), + FALSE, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_ENABLE_POPUP, - g_param_spec_boolean ("enable-popup", - P_("Enable Popup"), - P_("If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page"), - FALSE, - GTK_PARAM_READWRITE)); + PROP_ENABLE_POPUP, + g_param_spec_boolean ("enable-popup", + P_("Enable Popup"), + P_("If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page"), + FALSE, + GTK_PARAM_READWRITE)); /** * GtkNotebook:group-name: @@ -734,126 +734,126 @@ gtk_notebook_class_init (GtkNotebookClass *class) * Since: 2.24 */ g_object_class_install_property (gobject_class, - PROP_GROUP_NAME, - g_param_spec_string ("group-name", - P_("Group Name"), - P_("Group name for tab drag and drop"), + PROP_GROUP_NAME, + g_param_spec_string ("group-name", + P_("Group Name"), + P_("Group name for tab drag and drop"), NULL, - GTK_PARAM_READWRITE)); + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_TAB_LABEL, - g_param_spec_string ("tab-label", - P_("Tab label"), - P_("The string displayed on the child's tab label"), - NULL, - GTK_PARAM_READWRITE)); + CHILD_PROP_TAB_LABEL, + g_param_spec_string ("tab-label", + P_("Tab label"), + P_("The string displayed on the child's tab label"), + NULL, + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_MENU_LABEL, - g_param_spec_string ("menu-label", - P_("Menu label"), - P_("The string displayed in the child's menu entry"), - NULL, - GTK_PARAM_READWRITE)); + CHILD_PROP_MENU_LABEL, + g_param_spec_string ("menu-label", + P_("Menu label"), + P_("The string displayed in the child's menu entry"), + NULL, + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_POSITION, - g_param_spec_int ("position", - P_("Position"), - P_("The index of the child in the parent"), - -1, G_MAXINT, 0, - GTK_PARAM_READWRITE)); + CHILD_PROP_POSITION, + g_param_spec_int ("position", + P_("Position"), + P_("The index of the child in the parent"), + -1, G_MAXINT, 0, + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_TAB_EXPAND, - g_param_spec_boolean ("tab-expand", - P_("Tab expand"), - P_("Whether to expand the child's tab"), - FALSE, - GTK_PARAM_READWRITE)); + CHILD_PROP_TAB_EXPAND, + g_param_spec_boolean ("tab-expand", + P_("Tab expand"), + P_("Whether to expand the child's tab"), + FALSE, + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_TAB_FILL, - g_param_spec_boolean ("tab-fill", - P_("Tab fill"), - P_("Whether the child's tab should fill the allocated area"), - TRUE, - GTK_PARAM_READWRITE)); + CHILD_PROP_TAB_FILL, + g_param_spec_boolean ("tab-fill", + P_("Tab fill"), + P_("Whether the child's tab should fill the allocated area"), + TRUE, + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_REORDERABLE, - g_param_spec_boolean ("reorderable", - P_("Tab reorderable"), - P_("Whether the tab is reorderable by user action"), - FALSE, - GTK_PARAM_READWRITE)); + CHILD_PROP_REORDERABLE, + g_param_spec_boolean ("reorderable", + P_("Tab reorderable"), + P_("Whether the tab is reorderable by user action"), + FALSE, + GTK_PARAM_READWRITE)); gtk_container_class_install_child_property (container_class, - CHILD_PROP_DETACHABLE, - g_param_spec_boolean ("detachable", - P_("Tab detachable"), - P_("Whether the tab is detachable"), - FALSE, - GTK_PARAM_READWRITE)); + CHILD_PROP_DETACHABLE, + g_param_spec_boolean ("detachable", + P_("Tab detachable"), + P_("Whether the tab is detachable"), + FALSE, + GTK_PARAM_READWRITE)); /** * GtkNotebook:has-secondary-backward-stepper: * - * The "has-secondary-backward-stepper" property determines whether - * a second backward arrow button is displayed on the opposite end + * The "has-secondary-backward-stepper" property determines whether + * a second backward arrow button is displayed on the opposite end * of the tab area. * * Since: 2.4 - */ + */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_boolean ("has-secondary-backward-stepper", - P_("Secondary backward stepper"), - P_("Display a second backward arrow button on the opposite end of the tab area"), - FALSE, - GTK_PARAM_READABLE)); + g_param_spec_boolean ("has-secondary-backward-stepper", + P_("Secondary backward stepper"), + P_("Display a second backward arrow button on the opposite end of the tab area"), + FALSE, + GTK_PARAM_READABLE)); /** * GtkNotebook:has-secondary-forward-stepper: * - * The "has-secondary-forward-stepper" property determines whether - * a second forward arrow button is displayed on the opposite end + * The "has-secondary-forward-stepper" property determines whether + * a second forward arrow button is displayed on the opposite end * of the tab area. * * Since: 2.4 - */ + */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_boolean ("has-secondary-forward-stepper", - P_("Secondary forward stepper"), - P_("Display a second forward arrow button on the opposite end of the tab area"), - FALSE, - GTK_PARAM_READABLE)); + g_param_spec_boolean ("has-secondary-forward-stepper", + P_("Secondary forward stepper"), + P_("Display a second forward arrow button on the opposite end of the tab area"), + FALSE, + GTK_PARAM_READABLE)); /** * GtkNotebook:has-backward-stepper: * - * The "has-backward-stepper" property determines whether + * The "has-backward-stepper" property determines whether * the standard backward arrow button is displayed. * * Since: 2.4 - */ + */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_boolean ("has-backward-stepper", - P_("Backward stepper"), - P_("Display the standard backward arrow button"), - TRUE, - GTK_PARAM_READABLE)); + g_param_spec_boolean ("has-backward-stepper", + P_("Backward stepper"), + P_("Display the standard backward arrow button"), + TRUE, + GTK_PARAM_READABLE)); /** * GtkNotebook:has-forward-stepper: * - * The "has-forward-stepper" property determines whether + * The "has-forward-stepper" property determines whether * the standard forward arrow button is displayed. * * Since: 2.4 - */ + */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_boolean ("has-forward-stepper", - P_("Forward stepper"), - P_("Display the standard forward arrow button"), - TRUE, - GTK_PARAM_READABLE)); - + g_param_spec_boolean ("has-forward-stepper", + P_("Forward stepper"), + P_("Display the standard forward arrow button"), + TRUE, + GTK_PARAM_READABLE)); + /** * GtkNotebook:tab-overlap: * @@ -861,15 +861,15 @@ gtk_notebook_class_init (GtkNotebookClass *class) * area. * * Since: 2.10 - */ + */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("tab-overlap", - P_("Tab overlap"), - P_("Size of tab overlap area"), - G_MININT, - G_MAXINT, - 2, - GTK_PARAM_READABLE)); + g_param_spec_int ("tab-overlap", + P_("Tab overlap"), + P_("Size of tab overlap area"), + G_MININT, + G_MAXINT, + 2, + GTK_PARAM_READABLE)); /** * GtkNotebook:tab-curvature: @@ -877,15 +877,15 @@ gtk_notebook_class_init (GtkNotebookClass *class) * The "tab-curvature" property defines size of tab curvature. * * Since: 2.10 - */ + */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("tab-curvature", - P_("Tab curvature"), - P_("Size of tab curvature"), - 0, - G_MAXINT, - 1, - GTK_PARAM_READABLE)); + g_param_spec_int ("tab-curvature", + P_("Tab curvature"), + P_("Size of tab curvature"), + 0, + G_MAXINT, + 1, + GTK_PARAM_READABLE)); /** * GtkNotebook:arrow-spacing: @@ -914,15 +914,15 @@ gtk_notebook_class_init (GtkNotebookClass *class) */ notebook_signals[SWITCH_PAGE] = g_signal_new (I_("switch-page"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkNotebookClass, switch_page), - NULL, NULL, - _gtk_marshal_VOID__OBJECT_UINT, - G_TYPE_NONE, 2, - GTK_TYPE_WIDGET, - G_TYPE_UINT); - notebook_signals[FOCUS_TAB] = + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkNotebookClass, switch_page), + NULL, NULL, + _gtk_marshal_VOID__OBJECT_UINT, + G_TYPE_NONE, 2, + GTK_TYPE_WIDGET, + G_TYPE_UINT); + notebook_signals[FOCUS_TAB] = g_signal_new (I_("focus-tab"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, @@ -931,7 +931,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) _gtk_marshal_BOOLEAN__ENUM, G_TYPE_BOOLEAN, 1, GTK_TYPE_NOTEBOOK_TAB); - notebook_signals[SELECT_PAGE] = + notebook_signals[SELECT_PAGE] = g_signal_new (I_("select-page"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, @@ -940,7 +940,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) _gtk_marshal_BOOLEAN__BOOLEAN, G_TYPE_BOOLEAN, 1, G_TYPE_BOOLEAN); - notebook_signals[CHANGE_CURRENT_PAGE] = + notebook_signals[CHANGE_CURRENT_PAGE] = g_signal_new (I_("change-current-page"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, @@ -967,7 +967,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) _gtk_marshal_BOOLEAN__ENUM_BOOLEAN, G_TYPE_BOOLEAN, 2, GTK_TYPE_DIRECTION_TYPE, - G_TYPE_BOOLEAN); + G_TYPE_BOOLEAN); /** * GtkNotebook::page-reordered: * @notebook: the #GtkNotebook @@ -978,7 +978,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) * right after a page has been reordered. * * Since: 2.10 - **/ + */ notebook_signals[PAGE_REORDERED] = g_signal_new (I_("page-reordered"), G_TYPE_FROM_CLASS (gobject_class), @@ -999,7 +999,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) * right after a page is removed from the notebook. * * Since: 2.10 - **/ + */ notebook_signals[PAGE_REMOVED] = g_signal_new (I_("page-removed"), G_TYPE_FROM_CLASS (gobject_class), @@ -1020,7 +1020,7 @@ gtk_notebook_class_init (GtkNotebookClass *class) * right after a page is added to the notebook. * * Since: 2.10 - **/ + */ notebook_signals[PAGE_ADDED] = g_signal_new (I_("page-added"), G_TYPE_FROM_CLASS (gobject_class), @@ -1040,19 +1040,19 @@ gtk_notebook_class_init (GtkNotebookClass *class) * @y: the Y coordinate where the drop happens * * The ::create-window signal is emitted when a detachable - * tab is dropped on the root window. + * tab is dropped on the root window. * - * A handler for this signal can create a window containing - * a notebook where the tab will be attached. It is also - * responsible for moving/resizing the window and adding the - * necessary properties to the notebook (e.g. the + * A handler for this signal can create a window containing + * a notebook where the tab will be attached. It is also + * responsible for moving/resizing the window and adding the + * necessary properties to the notebook (e.g. the * #GtkNotebook:group ). * * Returns: a #GtkNotebook that @page should be added to, or %NULL. * * Since: 2.12 */ - notebook_signals[CREATE_WINDOW] = + notebook_signals[CREATE_WINDOW] = g_signal_new (I_("create-window"), G_TYPE_FROM_CLASS (gobject_class), G_SIGNAL_RUN_LAST, @@ -1061,32 +1061,32 @@ gtk_notebook_class_init (GtkNotebookClass *class) _gtk_marshal_OBJECT__OBJECT_INT_INT, GTK_TYPE_NOTEBOOK, 3, GTK_TYPE_WIDGET, G_TYPE_INT, G_TYPE_INT); - + binding_set = gtk_binding_set_by_class (class); gtk_binding_entry_add_signal (binding_set, GDK_KEY_space, 0, - "select-page", 1, + "select-page", 1, G_TYPE_BOOLEAN, FALSE); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Space, 0, - "select-page", 1, + "select-page", 1, G_TYPE_BOOLEAN, FALSE); - + gtk_binding_entry_add_signal (binding_set, GDK_KEY_Home, 0, - "focus-tab", 1, + "focus-tab", 1, GTK_TYPE_NOTEBOOK_TAB, GTK_NOTEBOOK_TAB_FIRST); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Home, 0, - "focus-tab", 1, + "focus-tab", 1, GTK_TYPE_NOTEBOOK_TAB, GTK_NOTEBOOK_TAB_FIRST); gtk_binding_entry_add_signal (binding_set, GDK_KEY_End, 0, - "focus-tab", 1, + "focus-tab", 1, GTK_TYPE_NOTEBOOK_TAB, GTK_NOTEBOOK_TAB_LAST); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_End, 0, - "focus-tab", 1, + "focus-tab", 1, GTK_TYPE_NOTEBOOK_TAB, GTK_NOTEBOOK_TAB_LAST); gtk_binding_entry_add_signal (binding_set, @@ -1173,14 +1173,14 @@ gtk_notebook_init (GtkNotebook *notebook) priv->dnd_timer = 0; priv->switch_tab_timer = 0; priv->source_targets = gtk_target_list_new (notebook_targets, - G_N_ELEMENTS (notebook_targets)); + G_N_ELEMENTS (notebook_targets)); priv->operation = DRAG_OPERATION_NONE; priv->detached_tab = NULL; priv->during_detach = FALSE; priv->has_scrolled = FALSE; gtk_drag_dest_set (GTK_WIDGET (notebook), 0, - notebook_targets, G_N_ELEMENTS (notebook_targets), + notebook_targets, G_N_ELEMENTS (notebook_targets), GDK_ACTION_MOVE); gtk_drag_dest_set_track_motion (GTK_WIDGET (notebook), TRUE); @@ -1197,9 +1197,9 @@ gtk_notebook_buildable_init (GtkBuildableIface *iface) static void gtk_notebook_buildable_add_child (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *type) + GtkBuilder *builder, + GObject *child, + const gchar *type) { GtkNotebook *notebook = GTK_NOTEBOOK (buildable); @@ -1252,18 +1252,18 @@ gtk_notebook_focus_tab (GtkNotebook *notebook, if (gtk_widget_is_focus (GTK_WIDGET (notebook)) && priv->show_tabs) { switch (type) - { - case GTK_NOTEBOOK_TAB_FIRST: - list = gtk_notebook_search_page (notebook, NULL, STEP_NEXT, TRUE); - if (list) - gtk_notebook_switch_focus_tab (notebook, list); - break; - case GTK_NOTEBOOK_TAB_LAST: - list = gtk_notebook_search_page (notebook, NULL, STEP_PREV, TRUE); - if (list) - gtk_notebook_switch_focus_tab (notebook, list); - break; - } + { + case GTK_NOTEBOOK_TAB_FIRST: + list = gtk_notebook_search_page (notebook, NULL, STEP_NEXT, TRUE); + if (list) + gtk_notebook_switch_focus_tab (notebook, list); + break; + case GTK_NOTEBOOK_TAB_LAST: + list = gtk_notebook_search_page (notebook, NULL, STEP_PREV, TRUE); + if (list) + gtk_notebook_switch_focus_tab (notebook, list); + break; + } return TRUE; } @@ -1273,7 +1273,7 @@ gtk_notebook_focus_tab (GtkNotebook *notebook, static gboolean gtk_notebook_change_current_page (GtkNotebook *notebook, - gint offset) + gint offset) { GtkNotebookPrivate *priv = notebook->priv; GList *current = NULL; @@ -1319,7 +1319,7 @@ gtk_notebook_change_current_page (GtkNotebook *notebook, static GtkDirectionType get_effective_direction (GtkNotebook *notebook, - GtkDirectionType direction) + GtkDirectionType direction) { GtkNotebookPrivate *priv = notebook->priv; @@ -1355,13 +1355,13 @@ get_effective_tab_pos (GtkNotebook *notebook) if (gtk_widget_get_direction (GTK_WIDGET (notebook)) == GTK_TEXT_DIR_RTL) { switch (priv->tab_pos) - { - case GTK_POS_LEFT: - return GTK_POS_RIGHT; - case GTK_POS_RIGHT: - return GTK_POS_LEFT; - default: ; - } + { + case GTK_POS_LEFT: + return GTK_POS_RIGHT; + case GTK_POS_RIGHT: + return GTK_POS_LEFT; + default: ; + } } return priv->tab_pos; @@ -1372,7 +1372,7 @@ get_tab_gap_pos (GtkNotebook *notebook) { gint tab_pos = get_effective_tab_pos (notebook); gint gap_side = GTK_POS_BOTTOM; - + switch (tab_pos) { case GTK_POS_TOP: @@ -1394,12 +1394,12 @@ get_tab_gap_pos (GtkNotebook *notebook) static void gtk_notebook_move_focus_out (GtkNotebook *notebook, - GtkDirectionType direction_type) + GtkDirectionType direction_type) { GtkNotebookPrivate *priv = notebook->priv; GtkDirectionType effective_direction = get_effective_direction (notebook, direction_type); GtkWidget *toplevel; - + if (gtk_container_get_focus_child (GTK_CONTAINER (notebook)) && effective_direction == GTK_DIR_UP) if (focus_tabs_in (notebook)) return; @@ -1442,7 +1442,7 @@ reorder_tab (GtkNotebook *notebook, GList *position, GList *tab) /* now actually reorder the tab */ if (priv->first_tab == tab) priv->first_tab = gtk_notebook_search_page (notebook, priv->first_tab, - STEP_NEXT, TRUE); + STEP_NEXT, TRUE); priv->children = g_list_remove_link (priv->children, tab); @@ -1467,8 +1467,8 @@ reorder_tab (GtkNotebook *notebook, GList *position, GList *tab) static gboolean gtk_notebook_reorder_tab (GtkNotebook *notebook, - GtkDirectionType direction_type, - gboolean move_to_last) + GtkDirectionType direction_type, + gboolean move_to_last) { GtkNotebookPrivate *priv = notebook->priv; GtkDirectionType effective_direction = get_effective_direction (notebook, direction_type); @@ -1492,20 +1492,20 @@ gtk_notebook_reorder_tab (GtkNotebook *notebook, child = priv->focus_tab; do - { - last = child; - child = gtk_notebook_search_page (notebook, last, - (effective_direction == GTK_DIR_RIGHT) ? STEP_NEXT : STEP_PREV, - TRUE); - } + { + last = child; + child = gtk_notebook_search_page (notebook, last, + (effective_direction == GTK_DIR_RIGHT) ? STEP_NEXT : STEP_PREV, + TRUE); + } while (child); child = last; } else child = gtk_notebook_search_page (notebook, priv->focus_tab, - (effective_direction == GTK_DIR_RIGHT) ? STEP_NEXT : STEP_PREV, - TRUE); + (effective_direction == GTK_DIR_RIGHT) ? STEP_NEXT : STEP_PREV, + TRUE); if (!child || child->data == priv->cur_page) return FALSE; @@ -1530,11 +1530,11 @@ gtk_notebook_reorder_tab (GtkNotebook *notebook, /** * gtk_notebook_new: - * + * * Creates a new #GtkNotebook widget with no pages. * Return value: the newly created #GtkNotebook - **/ + */ GtkWidget* gtk_notebook_new (void) { @@ -1548,9 +1548,9 @@ gtk_notebook_new (void) */ static void gtk_notebook_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkNotebook *notebook; @@ -1569,9 +1569,9 @@ gtk_notebook_set_property (GObject *object, break; case PROP_ENABLE_POPUP: if (g_value_get_boolean (value)) - gtk_notebook_popup_enable (notebook); + gtk_notebook_popup_enable (notebook); else - gtk_notebook_popup_disable (notebook); + gtk_notebook_popup_disable (notebook); break; case PROP_PAGE: gtk_notebook_set_current_page (notebook, g_value_get_int (value)); @@ -1590,9 +1590,9 @@ gtk_notebook_set_property (GObject *object, static void gtk_notebook_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkNotebook *notebook = GTK_NOTEBOOK (object); GtkNotebookPrivate *priv = notebook->priv; @@ -1678,7 +1678,7 @@ gtk_notebook_destroy (GtkWidget *widget) static gboolean gtk_notebook_get_event_window_position (GtkNotebook *notebook, - GdkRectangle *rectangle) + GdkRectangle *rectangle) { GtkNotebookPrivate *priv = notebook->priv; GtkAllocation allocation, action_allocation; @@ -1694,30 +1694,30 @@ gtk_notebook_get_event_window_position (GtkNotebook *notebook, { GtkNotebookPage *page = tmp_list->data; if (gtk_widget_get_visible (page->child)) - { - visible_page = page; - break; - } + { + visible_page = page; + break; + } } if (priv->show_tabs && visible_page) { if (rectangle) - { + { gtk_widget_get_allocation (widget, &allocation); - is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; - rectangle->x = allocation.x + border_width; - rectangle->y = allocation.y + border_width; + is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; + rectangle->x = allocation.x + border_width; + rectangle->y = allocation.y + border_width; - switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - rectangle->width = allocation.width - 2 * border_width; - rectangle->height = visible_page->requisition.height; - if (tab_pos == GTK_POS_BOTTOM) - rectangle->y += allocation.height - 2 * border_width - rectangle->height; + switch (tab_pos) + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + rectangle->width = allocation.width - 2 * border_width; + rectangle->height = visible_page->requisition.height; + if (tab_pos == GTK_POS_BOTTOM) + rectangle->y += allocation.height - 2 * border_width - rectangle->height; for (i = 0; i < N_ACTION_WIDGETS; i++) { @@ -1732,13 +1732,13 @@ gtk_notebook_get_event_window_position (GtkNotebook *notebook, rectangle->x += action_allocation.width; } } - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - rectangle->width = visible_page->requisition.width; - rectangle->height = allocation.height - 2 * border_width; - if (tab_pos == GTK_POS_RIGHT) - rectangle->x += allocation.width - 2 * border_width - rectangle->width; + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + rectangle->width = visible_page->requisition.width; + rectangle->height = allocation.height - 2 * border_width; + if (tab_pos == GTK_POS_RIGHT) + rectangle->x += allocation.width - 2 * border_width - rectangle->width; for (i = 0; i < N_ACTION_WIDGETS; i++) { @@ -1754,18 +1754,18 @@ gtk_notebook_get_event_window_position (GtkNotebook *notebook, } } break; - } - } + } + } return TRUE; } else { if (rectangle) - { - rectangle->x = rectangle->y = 0; - rectangle->width = rectangle->height = 10; - } + { + rectangle->x = rectangle->y = 0; + rectangle->width = rectangle->height = 10; + } } return FALSE; @@ -1803,15 +1803,15 @@ gtk_notebook_map (GtkWidget *widget) children = priv->children; while (children) - { - page = children->data; - children = children->next; + { + page = children->data; + children = children->next; - if (page->tab_label && - gtk_widget_get_visible (page->tab_label) && - !gtk_widget_get_mapped (page->tab_label)) - gtk_widget_map (page->tab_label); - } + if (page->tab_label && + gtk_widget_get_visible (page->tab_label) && + !gtk_widget_get_mapped (page->tab_label)) + gtk_widget_map (page->tab_label); + } } if (gtk_notebook_get_event_window_position (notebook, NULL)) @@ -1859,12 +1859,12 @@ gtk_notebook_realize (GtkWidget *widget) attributes.wclass = GDK_INPUT_ONLY; attributes.event_mask = gtk_widget_get_events (widget); attributes.event_mask |= (GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | - GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); + GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | + GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); attributes_mask = GDK_WA_X | GDK_WA_Y; priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), - &attributes, attributes_mask); + &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, notebook); } @@ -1935,7 +1935,7 @@ _gtk_notebook_get_tab_flags (GtkNotebook *notebook, static void gtk_notebook_size_request (GtkWidget *widget, - GtkRequisition *requisition) + GtkRequisition *requisition) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -1955,12 +1955,12 @@ gtk_notebook_size_request (GtkWidget *widget, gtk_widget_style_get (widget, "focus-line-width", &focus_width, - "tab-overlap", &tab_overlap, - "tab-curvature", &tab_curvature, + "tab-overlap", &tab_overlap, + "tab-curvature", &tab_curvature, "arrow-spacing", &arrow_spacing, "scroll-arrow-hlength", &scroll_arrow_hlength, "scroll-arrow-vlength", &scroll_arrow_vlength, - NULL); + NULL); requisition->width = 0; requisition->height = 0; @@ -1972,35 +1972,35 @@ gtk_notebook_size_request (GtkWidget *widget, page = children->data; if (gtk_widget_get_visible (page->child)) - { - vis_pages++; + { + vis_pages++; gtk_widget_get_preferred_size (page->child, &child_requisition, NULL); - requisition->width = MAX (requisition->width, - child_requisition.width); - requisition->height = MAX (requisition->height, - child_requisition.height); + requisition->width = MAX (requisition->width, + child_requisition.width); + requisition->height = MAX (requisition->height, + child_requisition.height); - if (priv->menu && page->menu_label) + if (priv->menu && page->menu_label) { parent = gtk_widget_get_parent (page->menu_label); if (parent && !gtk_widget_get_visible (parent)) gtk_widget_show (parent); } - } + } else - { - if (page == priv->cur_page) - switch_page = TRUE; + { + if (page == priv->cur_page) + switch_page = TRUE; - if (priv->menu && page->menu_label) + if (priv->menu && page->menu_label) { parent = gtk_widget_get_parent (page->menu_label); if (parent && gtk_widget_get_visible (parent)) gtk_widget_hide (parent); } - } + } } if (priv->show_border || priv->show_tabs) @@ -2015,26 +2015,26 @@ gtk_notebook_size_request (GtkWidget *widget, requisition->height += notebook_padding.top + notebook_padding.bottom; if (priv->show_tabs) - { - gint tab_width = 0; - gint tab_height = 0; - gint tab_max = 0; - gint padding; + { + gint tab_width = 0; + gint tab_height = 0; + gint tab_max = 0; + gint padding; gint i; gint action_width = 0; gint action_height = 0; - - for (children = priv->children; children; - children = children->next) - { - page = children->data; - - if (gtk_widget_get_visible (page->child)) - { + + for (children = priv->children; children; + children = children->next) + { + page = children->data; + + if (gtk_widget_get_visible (page->child)) + { GtkBorder tab_padding; - if (!gtk_widget_get_visible (page->tab_label)) - gtk_widget_show (page->tab_label); + if (!gtk_widget_get_visible (page->tab_label)) + gtk_widget_show (page->tab_label); gtk_widget_get_preferred_size (page->tab_label, &child_requisition, NULL); @@ -2049,35 +2049,35 @@ gtk_notebook_size_request (GtkWidget *widget, page->requisition.width = child_requisition.width + tab_padding.left + tab_padding.right; - page->requisition.height = child_requisition.height + + page->requisition.height = child_requisition.height + tab_padding.top + tab_padding.bottom; - switch (priv->tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - page->requisition.height += 2 * (priv->tab_vborder + - focus_width); - 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); - tab_width = MAX (tab_width, page->requisition.width); - tab_max = MAX (tab_max, page->requisition.height); - break; - } - } - else if (gtk_widget_get_visible (page->tab_label)) - gtk_widget_hide (page->tab_label); - } + switch (priv->tab_pos) + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + page->requisition.height += 2 * (priv->tab_vborder + + focus_width); + 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); + tab_width = MAX (tab_width, page->requisition.width); + tab_max = MAX (tab_max, page->requisition.height); + break; + } + } + else if (gtk_widget_get_visible (page->tab_label)) + gtk_widget_hide (page->tab_label); + } - children = priv->children; + children = priv->children; - if (vis_pages) - { + if (vis_pages) + { for (i = 0; i < N_ACTION_WIDGETS; i++) { if (priv->action_widget[i]) @@ -2089,46 +2089,46 @@ gtk_notebook_size_request (GtkWidget *widget, } } - switch (priv->tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - if (tab_height == 0) - break; + switch (priv->tab_pos) + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + if (tab_height == 0) + break; - if (priv->scrollable && vis_pages > 1 && - requisition->width < tab_width) - tab_height = MAX (tab_height, scroll_arrow_hlength); + if (priv->scrollable && vis_pages > 1 && + requisition->width < tab_width) + tab_height = MAX (tab_height, scroll_arrow_hlength); 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; - tab_max += padding; - while (children) - { - page = children->data; - children = children->next; - - if (!gtk_widget_get_visible (page->child)) - continue; + padding = 2 * (tab_curvature + focus_width + + priv->tab_hborder) - tab_overlap; + tab_max += padding; + while (children) + { + page = children->data; + children = children->next; - if (priv->homogeneous) - page->requisition.width = tab_max; - else - page->requisition.width += padding; + if (!gtk_widget_get_visible (page->child)) + continue; - tab_width += page->requisition.width; - page->requisition.height = tab_height; - } + if (priv->homogeneous) + page->requisition.width = tab_max; + else + page->requisition.width += padding; - if (priv->scrollable && vis_pages > 1 && - requisition->width < tab_width) - tab_width = tab_max + 2 * (scroll_arrow_hlength + arrow_spacing); + tab_width += page->requisition.width; + page->requisition.height = tab_height; + } - action_width += action_widget_requisition[ACTION_WIDGET_START].width; - action_width += action_widget_requisition[ACTION_WIDGET_END].width; + if (priv->scrollable && vis_pages > 1 && + requisition->width < tab_width) + tab_width = tab_max + 2 * (scroll_arrow_hlength + arrow_spacing); + + action_width += action_widget_requisition[ACTION_WIDGET_START].width; + action_width += action_widget_requisition[ACTION_WIDGET_END].width; if (priv->homogeneous && !priv->scrollable) requisition->width = MAX (requisition->width, vis_pages * tab_max + @@ -2137,80 +2137,80 @@ gtk_notebook_size_request (GtkWidget *widget, requisition->width = MAX (requisition->width, tab_width + tab_overlap + action_width); - requisition->height += tab_height; - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - if (tab_width == 0) - break; + requisition->height += tab_height; + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + if (tab_width == 0) + break; - if (priv->scrollable && vis_pages > 1 && - requisition->height < tab_height) - tab_width = MAX (tab_width, + if (priv->scrollable && vis_pages > 1 && + requisition->height < tab_height) + tab_width = MAX (tab_width, arrow_spacing + 2 * scroll_arrow_vlength); - tab_width = MAX (tab_width, action_widget_requisition[ACTION_WIDGET_START].width); - tab_width = MAX (tab_width, action_widget_requisition[ACTION_WIDGET_END].width); + 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; - tab_max += padding; + padding = 2 * (tab_curvature + focus_width + + priv->tab_vborder) - tab_overlap; + tab_max += padding; - while (children) - { - page = children->data; - children = children->next; + while (children) + { + page = children->data; + children = children->next; - if (!gtk_widget_get_visible (page->child)) - continue; + if (!gtk_widget_get_visible (page->child)) + continue; - page->requisition.width = tab_width; + page->requisition.width = tab_width; - if (priv->homogeneous) - page->requisition.height = tab_max; - else - page->requisition.height += padding; + if (priv->homogeneous) + page->requisition.height = tab_max; + else + page->requisition.height += padding; - tab_height += page->requisition.height; - } + tab_height += page->requisition.height; + } - if (priv->scrollable && vis_pages > 1 && - requisition->height < tab_height) - tab_height = tab_max + (2 * scroll_arrow_vlength + arrow_spacing); - action_height += action_widget_requisition[ACTION_WIDGET_START].height; - action_height += action_widget_requisition[ACTION_WIDGET_END].height; + if (priv->scrollable && vis_pages > 1 && + requisition->height < tab_height) + tab_height = tab_max + (2 * scroll_arrow_vlength + arrow_spacing); + action_height += action_widget_requisition[ACTION_WIDGET_START].height; + action_height += action_widget_requisition[ACTION_WIDGET_END].height; if (priv->homogeneous && !priv->scrollable) requisition->height = - MAX (requisition->height, - vis_pages * tab_max + tab_overlap + action_height); + MAX (requisition->height, + vis_pages * tab_max + tab_overlap + action_height); else requisition->height = - MAX (requisition->height, - tab_height + tab_overlap + action_height); + MAX (requisition->height, + tab_height + tab_overlap + action_height); - if (!priv->homogeneous || priv->scrollable) - vis_pages = 1; - requisition->height = MAX (requisition->height, - vis_pages * tab_max + - tab_overlap); + if (!priv->homogeneous || priv->scrollable) + vis_pages = 1; + requisition->height = MAX (requisition->height, + vis_pages * tab_max + + tab_overlap); - requisition->width += tab_width; - break; - } - } - } + requisition->width += tab_width; + break; + } + } + } else - { - for (children = priv->children; children; - children = children->next) - { - page = children->data; - - if (page->tab_label && gtk_widget_get_visible (page->tab_label)) - gtk_widget_hide (page->tab_label); - } - } + { + for (children = priv->children; children; + children = children->next) + { + page = children->data; + + if (page->tab_label && gtk_widget_get_visible (page->tab_label)) + gtk_widget_hide (page->tab_label); + } + } } border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); @@ -2221,40 +2221,40 @@ gtk_notebook_size_request (GtkWidget *widget, if (switch_page) { if (vis_pages) - { - for (children = priv->children; children; - children = children->next) - { - page = children->data; - if (gtk_widget_get_visible (page->child)) - { - gtk_notebook_switch_page (notebook, page); - break; - } - } - } + { + for (children = priv->children; children; + children = children->next) + { + page = children->data; + if (gtk_widget_get_visible (page->child)) + { + gtk_notebook_switch_page (notebook, page); + break; + } + } + } else if (gtk_widget_get_visible (widget)) - { - requisition->width = border_width * 2; - requisition->height = border_width * 2; - } + { + requisition->width = border_width * 2; + requisition->height = border_width * 2; + } } if (vis_pages && !priv->cur_page) { children = gtk_notebook_search_page (notebook, NULL, STEP_NEXT, TRUE); if (children) - { - priv->first_tab = children; - gtk_notebook_switch_page (notebook, GTK_NOTEBOOK_PAGE (children)); - } + { + priv->first_tab = children; + gtk_notebook_switch_page (notebook, GTK_NOTEBOOK_PAGE (children)); + } } } static void gtk_notebook_get_preferred_width (GtkWidget *widget, - gint *minimum, - gint *natural) + gint *minimum, + gint *natural) { GtkRequisition requisition; @@ -2265,8 +2265,8 @@ gtk_notebook_get_preferred_width (GtkWidget *widget, static void gtk_notebook_get_preferred_height (GtkWidget *widget, - gint *minimum, - gint *natural) + gint *minimum, + gint *natural) { GtkRequisition requisition; @@ -2277,7 +2277,7 @@ gtk_notebook_get_preferred_height (GtkWidget *widget, static void gtk_notebook_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -2297,15 +2297,15 @@ gtk_notebook_size_allocate (GtkWidget *widget, GdkRectangle position; if (gtk_notebook_get_event_window_position (notebook, &position)) - { - gdk_window_move_resize (priv->event_window, - position.x, position.y, - position.width, position.height); - if (gtk_widget_get_mapped (GTK_WIDGET (notebook))) - gdk_window_show_unraised (priv->event_window); - } + { + gdk_window_move_resize (priv->event_window, + position.x, position.y, + position.width, position.height); + if (gtk_widget_get_mapped (GTK_WIDGET (notebook))) + gdk_window_show_unraised (priv->event_window); + } else - gdk_window_hide (priv->event_window); + gdk_window_hide (priv->event_window); } if (priv->children) @@ -2322,7 +2322,7 @@ gtk_notebook_size_allocate (GtkWidget *widget, child_allocation.height = MAX (1, allocation->height - border_width * 2); if (priv->show_tabs || priv->show_border) - { + { GtkStyleContext *context; GtkBorder padding; @@ -2334,84 +2334,84 @@ gtk_notebook_size_allocate (GtkWidget *widget, child_allocation.width = MAX (1, child_allocation.width - padding.left - padding.right); child_allocation.height = MAX (1, child_allocation.height - padding.top - padding.bottom); - if (priv->show_tabs && priv->children && priv->cur_page) - { - switch (tab_pos) - { - case GTK_POS_TOP: - child_allocation.y += priv->cur_page->requisition.height; - case GTK_POS_BOTTOM: - child_allocation.height = - MAX (1, child_allocation.height - - priv->cur_page->requisition.height); - break; - case GTK_POS_LEFT: - child_allocation.x += priv->cur_page->requisition.width; - case GTK_POS_RIGHT: - child_allocation.width = - MAX (1, child_allocation.width - - priv->cur_page->requisition.width); - break; - } + if (priv->show_tabs && priv->children && priv->cur_page) + { + switch (tab_pos) + { + case GTK_POS_TOP: + child_allocation.y += priv->cur_page->requisition.height; + case GTK_POS_BOTTOM: + child_allocation.height = + MAX (1, child_allocation.height - + priv->cur_page->requisition.height); + break; + case GTK_POS_LEFT: + child_allocation.x += priv->cur_page->requisition.width; + case GTK_POS_RIGHT: + child_allocation.width = + MAX (1, child_allocation.width - + priv->cur_page->requisition.width); + break; + } for (i = 0; i < N_ACTION_WIDGETS; i++) { GtkAllocation widget_allocation; - GtkRequisition requisition; - + GtkRequisition requisition; + if (!priv->action_widget[i]) continue; - widget_allocation.x = allocation->x + border_width; - widget_allocation.y = allocation->y + border_width; - is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; + widget_allocation.x = allocation->x + border_width; + widget_allocation.y = allocation->y + border_width; + is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; gtk_widget_get_preferred_size (priv->action_widget[i], &requisition, NULL); - switch (tab_pos) - { - case GTK_POS_BOTTOM: - widget_allocation.y += allocation->height - 2 * border_width - priv->cur_page->requisition.height; - /* fall through */ - case GTK_POS_TOP: - widget_allocation.width = requisition.width; - widget_allocation.height = priv->cur_page->requisition.height - padding.top; + switch (tab_pos) + { + case GTK_POS_BOTTOM: + widget_allocation.y += allocation->height - 2 * border_width - priv->cur_page->requisition.height; + /* fall through */ + case GTK_POS_TOP: + widget_allocation.width = requisition.width; + widget_allocation.height = priv->cur_page->requisition.height - padding.top; - if ((i == ACTION_WIDGET_START && is_rtl) || + if ((i == ACTION_WIDGET_START && is_rtl) || (i == ACTION_WIDGET_END && !is_rtl)) - widget_allocation.x += allocation->width - 2 * border_width - requisition.width; + widget_allocation.x += allocation->width - 2 * border_width - requisition.width; if (tab_pos == GTK_POS_TOP) /* no fall through */ widget_allocation.y += 2 * focus_width; - break; - case GTK_POS_RIGHT: - widget_allocation.x += allocation->width - 2 * border_width - priv->cur_page->requisition.width; - /* fall through */ - case GTK_POS_LEFT: - widget_allocation.height = requisition.height; - widget_allocation.width = priv->cur_page->requisition.width - padding.left; + break; + case GTK_POS_RIGHT: + widget_allocation.x += allocation->width - 2 * border_width - priv->cur_page->requisition.width; + /* fall through */ + case GTK_POS_LEFT: + widget_allocation.height = requisition.height; + widget_allocation.width = priv->cur_page->requisition.width - padding.left; if (i == ACTION_WIDGET_END) widget_allocation.y += allocation->height - 2 * border_width - requisition.height; - if (tab_pos == GTK_POS_LEFT) /* no fall through */ + if (tab_pos == GTK_POS_LEFT) /* no fall through */ widget_allocation.x += 2 * focus_width; - break; - } + break; + } - gtk_widget_size_allocate (priv->action_widget[i], &widget_allocation); - } - } - } + gtk_widget_size_allocate (priv->action_widget[i], &widget_allocation); + } + } + } children = priv->children; while (children) - { - page = children->data; - children = children->next; - - if (gtk_widget_get_visible (page->child)) - gtk_widget_size_allocate (page->child, &child_allocation); - } + { + page = children->data; + children = children->next; + + if (gtk_widget_get_visible (page->child)) + gtk_widget_size_allocate (page->child, &child_allocation); + } gtk_notebook_pages_allocate (notebook); } @@ -2440,22 +2440,22 @@ gtk_notebook_draw (GtkWidget *widget, cairo_restore (cr); if (priv->show_tabs) - { - GtkNotebookPage *page; - GList *pages; + { + GtkNotebookPage *page; + GList *pages; - for (pages = priv->children; pages; pages = pages->next) + for (pages = priv->children; pages; pages = pages->next) { - page = GTK_NOTEBOOK_PAGE (pages); + page = GTK_NOTEBOOK_PAGE (pages); if (gtk_widget_get_parent (page->tab_label) == widget) gtk_container_propagate_draw (GTK_CONTAINER (notebook), page->tab_label, cr); - } - } + } + } if (priv->cur_page && priv->operation != DRAG_OPERATION_REORDER) - gtk_container_propagate_draw (GTK_CONTAINER (notebook), + gtk_container_propagate_draw (GTK_CONTAINER (notebook), priv->cur_page->child, cr); if (priv->show_tabs) @@ -2491,15 +2491,15 @@ gtk_notebook_draw (GtkWidget *widget, cairo_paint (cr); gtk_notebook_draw_tab (notebook, - priv->cur_page, - cr, 0); + priv->cur_page, + cr, 0); cairo_restore (cr); gtk_container_propagate_draw (GTK_CONTAINER (notebook), - priv->cur_page->tab_label, cr); + priv->cur_page->tab_label, cr); } - + return FALSE; } @@ -2519,7 +2519,7 @@ gtk_notebook_show_arrows (GtkNotebook *notebook) GtkNotebookPage *page = children->data; if (page->tab_label && !gtk_widget_get_child_visible (page->tab_label)) - show_arrow = TRUE; + show_arrow = TRUE; children = children->next; } @@ -2529,8 +2529,8 @@ gtk_notebook_show_arrows (GtkNotebook *notebook) static void gtk_notebook_get_arrow_rect (GtkNotebook *notebook, - GdkRectangle *rectangle, - GtkNotebookArrow arrow) + GdkRectangle *rectangle, + GtkNotebookArrow arrow) { GtkNotebookPrivate *priv = notebook->priv; GdkRectangle event_window_pos; @@ -2548,53 +2548,53 @@ gtk_notebook_get_arrow_rect (GtkNotebook *notebook, NULL); switch (priv->tab_pos) - { - case GTK_POS_LEFT: - case GTK_POS_RIGHT: + { + case GTK_POS_LEFT: + case GTK_POS_RIGHT: rectangle->width = scroll_arrow_vlength; rectangle->height = scroll_arrow_vlength; - if ((before && (priv->has_before_previous != priv->has_before_next)) || - (!before && (priv->has_after_previous != priv->has_after_next))) - rectangle->x = event_window_pos.x + (event_window_pos.width - rectangle->width) / 2; - else if (left) - rectangle->x = event_window_pos.x + event_window_pos.width / 2 - rectangle->width; - else - rectangle->x = event_window_pos.x + event_window_pos.width / 2; - rectangle->y = event_window_pos.y; - if (!before) - rectangle->y += event_window_pos.height - rectangle->height; - break; + if ((before && (priv->has_before_previous != priv->has_before_next)) || + (!before && (priv->has_after_previous != priv->has_after_next))) + rectangle->x = event_window_pos.x + (event_window_pos.width - rectangle->width) / 2; + else if (left) + rectangle->x = event_window_pos.x + event_window_pos.width / 2 - rectangle->width; + else + rectangle->x = event_window_pos.x + event_window_pos.width / 2; + rectangle->y = event_window_pos.y; + if (!before) + rectangle->y += event_window_pos.height - rectangle->height; + break; - case GTK_POS_TOP: - case GTK_POS_BOTTOM: + case GTK_POS_TOP: + case GTK_POS_BOTTOM: rectangle->width = scroll_arrow_hlength; rectangle->height = scroll_arrow_hlength; - if (before) - { - if (left || !priv->has_before_previous) - rectangle->x = event_window_pos.x; - else - rectangle->x = event_window_pos.x + rectangle->width; - } - else - { - if (!left || !priv->has_after_next) - rectangle->x = event_window_pos.x + event_window_pos.width - rectangle->width; - else - rectangle->x = event_window_pos.x + event_window_pos.width - 2 * rectangle->width; - } - rectangle->y = event_window_pos.y + (event_window_pos.height - rectangle->height) / 2; - break; - } + if (before) + { + if (left || !priv->has_before_previous) + rectangle->x = event_window_pos.x; + else + rectangle->x = event_window_pos.x + rectangle->width; + } + else + { + if (!left || !priv->has_after_next) + rectangle->x = event_window_pos.x + event_window_pos.width - rectangle->width; + else + rectangle->x = event_window_pos.x + event_window_pos.width - 2 * rectangle->width; + } + rectangle->y = event_window_pos.y + (event_window_pos.height - rectangle->height) / 2; + break; + } } } static GtkNotebookArrow gtk_notebook_get_arrow (GtkNotebook *notebook, - gint x, - gint y) + gint x, + gint y) { GtkNotebookPrivate *priv = notebook->priv; GdkRectangle arrow_rect; @@ -2611,20 +2611,20 @@ gtk_notebook_get_arrow (GtkNotebook *notebook, if (gtk_notebook_show_arrows (notebook)) { gtk_notebook_get_event_window_position (notebook, &event_window_pos); - for (i = 0; i < 4; i++) - { - if (arrow[i] == ARROW_NONE) - continue; - - gtk_notebook_get_arrow_rect (notebook, &arrow_rect, arrow[i]); - - x0 = x - arrow_rect.x; - y0 = y - arrow_rect.y; + for (i = 0; i < 4; i++) + { + if (arrow[i] == ARROW_NONE) + continue; - if (y0 >= 0 && y0 < arrow_rect.height && - x0 >= 0 && x0 < arrow_rect.width) - return arrow[i]; - } + gtk_notebook_get_arrow_rect (notebook, &arrow_rect, arrow[i]); + + x0 = x - arrow_rect.x; + y0 = y - arrow_rect.y; + + if (y0 >= 0 && y0 < arrow_rect.height && + x0 >= 0 && x0 < arrow_rect.width) + return arrow[i]; + } } return ARROW_NONE; @@ -2632,20 +2632,20 @@ gtk_notebook_get_arrow (GtkNotebook *notebook, static void gtk_notebook_do_arrow (GtkNotebook *notebook, - GtkNotebookArrow arrow) + GtkNotebookArrow arrow) { GtkNotebookPrivate *priv = notebook->priv; GtkWidget *widget = GTK_WIDGET (notebook); gboolean is_rtl, left; is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; - left = (ARROW_IS_LEFT (arrow) && !is_rtl) || + left = (ARROW_IS_LEFT (arrow) && !is_rtl) || (!ARROW_IS_LEFT (arrow) && is_rtl); if (!priv->focus_tab || gtk_notebook_search_page (notebook, priv->focus_tab, - left ? STEP_PREV : STEP_NEXT, - TRUE)) + left ? STEP_PREV : STEP_NEXT, + TRUE)) { gtk_notebook_change_current_page (notebook, left ? -1 : 1); gtk_widget_grab_focus (widget); @@ -2654,13 +2654,13 @@ gtk_notebook_do_arrow (GtkNotebook *notebook, static gboolean gtk_notebook_arrow_button_press (GtkNotebook *notebook, - GtkNotebookArrow arrow, - gint button) + GtkNotebookArrow arrow, + gint button) { GtkNotebookPrivate *priv = notebook->priv; GtkWidget *widget = GTK_WIDGET (notebook); gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; - gboolean left = (ARROW_IS_LEFT (arrow) && !is_rtl) || + gboolean left = (ARROW_IS_LEFT (arrow) && !is_rtl) || (!ARROW_IS_LEFT (arrow) && is_rtl); if (!gtk_widget_has_focus (widget)) @@ -2678,10 +2678,10 @@ gtk_notebook_arrow_button_press (GtkNotebook *notebook, gtk_notebook_page_select (notebook, TRUE); else if (button == 3) gtk_notebook_switch_focus_tab (notebook, - gtk_notebook_search_page (notebook, - NULL, - left ? STEP_NEXT : STEP_PREV, - TRUE)); + gtk_notebook_search_page (notebook, + NULL, + left ? STEP_NEXT : STEP_PREV, + TRUE)); gtk_notebook_redraw_arrows (notebook); return TRUE; @@ -2689,9 +2689,9 @@ gtk_notebook_arrow_button_press (GtkNotebook *notebook, static gboolean get_widget_coordinates (GtkWidget *widget, - GdkEvent *event, - gint *x, - gint *y) + GdkEvent *event, + gint *x, + gint *y) { GdkWindow *window = ((GdkEventAny *)event)->window; gdouble tx, ty; @@ -2732,14 +2732,14 @@ get_tab_at_pos (GtkNotebook *notebook, gint x, gint y) while (children) { page = children->data; - + if (gtk_widget_get_visible (page->child) && - page->tab_label && gtk_widget_get_mapped (page->tab_label) && - (x >= page->allocation.x) && - (y >= page->allocation.y) && - (x <= (page->allocation.x + page->allocation.width)) && - (y <= (page->allocation.y + page->allocation.height))) - return children; + page->tab_label && gtk_widget_get_mapped (page->tab_label) && + (x >= page->allocation.x) && + (y >= page->allocation.y) && + (x <= (page->allocation.x + page->allocation.width)) && + (y <= (page->allocation.y + page->allocation.height))) + return children; children = children->next; } @@ -2749,7 +2749,7 @@ get_tab_at_pos (GtkNotebook *notebook, gint x, gint y) static gboolean gtk_notebook_button_press (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -2772,7 +2772,7 @@ gtk_notebook_button_press (GtkWidget *widget, if (event->button == 3 && priv->menu) { gtk_menu_popup (GTK_MENU (priv->menu), NULL, NULL, - NULL, NULL, 3, event->time); + NULL, NULL, 3, event->time); return TRUE; } @@ -2793,23 +2793,23 @@ gtk_notebook_button_press (GtkWidget *widget, gtk_widget_grab_focus (widget); if (page_changed && !was_focus) - gtk_widget_child_focus (page->child, GTK_DIR_TAB_FORWARD); + gtk_widget_child_focus (page->child, GTK_DIR_TAB_FORWARD); /* save press to possibly begin a drag */ if (page->reorderable || page->detachable) - { - priv->during_detach = FALSE; - priv->during_reorder = FALSE; - priv->pressed_button = event->button; + { + priv->during_detach = FALSE; + priv->during_reorder = FALSE; + priv->pressed_button = event->button; - priv->mouse_x = x; - priv->mouse_y = y; + priv->mouse_x = x; + priv->mouse_y = y; - priv->drag_begin_x = priv->mouse_x; - priv->drag_begin_y = priv->mouse_y; - priv->drag_offset_x = priv->drag_begin_x - page->allocation.x; - priv->drag_offset_y = priv->drag_begin_y - page->allocation.y; - } + priv->drag_begin_x = priv->mouse_x; + priv->drag_begin_y = priv->mouse_y; + priv->drag_offset_x = priv->drag_begin_x - page->allocation.x; + priv->drag_offset_y = priv->drag_begin_y - page->allocation.y; + } } return TRUE; @@ -2865,8 +2865,8 @@ gtk_notebook_popup_menu (GtkWidget *widget) if (priv->menu) { gtk_menu_popup (GTK_MENU (priv->menu), NULL, NULL, - popup_position_func, notebook, - 0, gtk_get_current_event_time ()); + popup_position_func, notebook, + 0, gtk_get_current_event_time ()); gtk_menu_shell_select_first (GTK_MENU_SHELL (priv->menu), FALSE); return TRUE; } @@ -2874,7 +2874,7 @@ gtk_notebook_popup_menu (GtkWidget *widget) return FALSE; } -static void +static void stop_scrolling (GtkNotebook *notebook) { GtkNotebookPrivate *priv = notebook->priv; @@ -2911,36 +2911,36 @@ get_drop_position (GtkNotebook *notebook) page = children->data; if ((priv->operation != DRAG_OPERATION_REORDER || page != priv->cur_page) && - gtk_widget_get_visible (page->child) && - page->tab_label && - gtk_widget_get_mapped (page->tab_label)) - { - switch (priv->tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - if (!is_rtl) - { - if (PAGE_MIDDLE_X (page) > x) - return children; - } - else - { - if (PAGE_MIDDLE_X (page) < x) - return children; - } + gtk_widget_get_visible (page->child) && + page->tab_label && + gtk_widget_get_mapped (page->tab_label)) + { + switch (priv->tab_pos) + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + if (!is_rtl) + { + if (PAGE_MIDDLE_X (page) > x) + return children; + } + else + { + if (PAGE_MIDDLE_X (page) < x) + return children; + } - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - if (PAGE_MIDDLE_Y (page) > y) - return children; + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + if (PAGE_MIDDLE_Y (page) > y) + return children; - break; - } + break; + } - last_child = children->next; - } + last_child = children->next; + } children = children->next; } @@ -2950,8 +2950,8 @@ get_drop_position (GtkNotebook *notebook) static void show_drag_window (GtkNotebook *notebook, - GtkNotebookPrivate *priv, - GtkNotebookPage *page, + GtkNotebookPrivate *priv, + GtkNotebookPage *page, GdkDevice *device) { GtkWidget *widget = GTK_WIDGET (notebook); @@ -2972,8 +2972,8 @@ show_drag_window (GtkNotebook *notebook, attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; priv->drag_window = gdk_window_new (gtk_widget_get_parent_window (widget), - &attributes, - attributes_mask); + &attributes, + attributes_mask); gdk_window_set_user_data (priv->drag_window, widget); } @@ -2997,8 +2997,8 @@ show_drag_window (GtkNotebook *notebook, */ static void hide_drag_window (GtkNotebook *notebook, - GtkNotebookPrivate *priv, - GtkNotebookPage *page) + GtkNotebookPrivate *priv, + GtkNotebookPage *page) { GtkWidget *widget = GTK_WIDGET (notebook); GtkWidget *parent = gtk_widget_get_parent (page->tab_label); @@ -3009,12 +3009,12 @@ hide_drag_window (GtkNotebook *notebook, g_object_ref (page->tab_label); if (GTK_IS_WINDOW (parent)) - { - /* parent widget is the drag window */ - gtk_container_remove (GTK_CONTAINER (parent), page->tab_label); - } + { + /* parent widget is the drag window */ + gtk_container_remove (GTK_CONTAINER (parent), page->tab_label); + } else - gtk_widget_unparent (page->tab_label); + gtk_widget_unparent (page->tab_label); gtk_widget_set_parent (page->tab_label, widget); g_object_unref (page->tab_label); @@ -3044,23 +3044,23 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook) if (page->reorderable || page->detachable) { if (priv->during_reorder) - { - gint old_page_num, page_num; - GList *element; + { + gint old_page_num, page_num; + GList *element; - element = get_drop_position (notebook); - old_page_num = g_list_position (priv->children, priv->focus_tab); - page_num = reorder_tab (notebook, element, priv->focus_tab); + element = get_drop_position (notebook); + old_page_num = g_list_position (priv->children, priv->focus_tab); + page_num = reorder_tab (notebook, element, priv->focus_tab); gtk_notebook_child_reordered (notebook, page); - - if (priv->has_scrolled || old_page_num != page_num) - g_signal_emit (notebook, - notebook_signals[PAGE_REORDERED], 0, - page->child, page_num); - priv->has_scrolled = FALSE; - priv->during_reorder = FALSE; - } + if (priv->has_scrolled || old_page_num != page_num) + g_signal_emit (notebook, + notebook_signals[PAGE_REORDERED], 0, + page->child, page_num); + + priv->has_scrolled = FALSE; + priv->during_reorder = FALSE; + } hide_drag_window (notebook, priv, page); @@ -3068,16 +3068,16 @@ gtk_notebook_stop_reorder (GtkNotebook *notebook) gtk_notebook_pages_allocate (notebook); if (priv->dnd_timer) - { - g_source_remove (priv->dnd_timer); - priv->dnd_timer = 0; - } + { + g_source_remove (priv->dnd_timer); + priv->dnd_timer = 0; + } } } static gint gtk_notebook_button_release (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkNotebook *notebook; GtkNotebookPrivate *priv; @@ -3107,7 +3107,7 @@ gtk_notebook_button_release (GtkWidget *widget, static gint gtk_notebook_leave_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3149,11 +3149,11 @@ get_pointer_position (GtkNotebook *notebook) x = priv->mouse_x - wx; if (x > width - SCROLL_THRESHOLD) - return (is_rtl) ? POINTER_BEFORE : POINTER_AFTER; + return (is_rtl) ? POINTER_BEFORE : POINTER_AFTER; else if (x < SCROLL_THRESHOLD) - return (is_rtl) ? POINTER_AFTER : POINTER_BEFORE; + return (is_rtl) ? POINTER_AFTER : POINTER_BEFORE; else - return POINTER_BETWEEN; + return POINTER_BETWEEN; } else { @@ -3161,11 +3161,11 @@ get_pointer_position (GtkNotebook *notebook) y = priv->mouse_y - wy; if (y > height - SCROLL_THRESHOLD) - return POINTER_AFTER; + return POINTER_AFTER; else if (y < SCROLL_THRESHOLD) - return POINTER_BEFORE; + return POINTER_BEFORE; else - return POINTER_BETWEEN; + return POINTER_BETWEEN; } } @@ -3182,18 +3182,18 @@ scroll_notebook_timer (gpointer data) element = get_drop_position (notebook); reorder_tab (notebook, element, priv->focus_tab); first_tab = gtk_notebook_search_page (notebook, priv->first_tab, - (pointer_position == POINTER_BEFORE) ? STEP_PREV : STEP_NEXT, - TRUE); + (pointer_position == POINTER_BEFORE) ? STEP_PREV : STEP_NEXT, + TRUE); if (first_tab) { priv->first_tab = first_tab; gtk_notebook_pages_allocate (notebook); gdk_window_move_resize (priv->drag_window, - priv->drag_window_x, - priv->drag_window_y, - priv->cur_page->allocation.width, - priv->cur_page->allocation.height); + priv->drag_window_x, + priv->drag_window_y, + priv->cur_page->allocation.width, + priv->cur_page->allocation.height); gdk_window_raise (priv->drag_window); } @@ -3202,15 +3202,15 @@ scroll_notebook_timer (gpointer data) static gboolean check_threshold (GtkNotebook *notebook, - gint current_x, - gint current_y) + gint current_x, + gint current_y) { GtkNotebookPrivate *priv = notebook->priv; GtkWidget *widget; gint dnd_threshold; GdkRectangle rectangle = { 0, }; /* shut up gcc */ GtkSettings *settings; - + widget = GTK_WIDGET (notebook); settings = gtk_widget_get_settings (GTK_WIDGET (notebook)); g_object_get (G_OBJECT (settings), "gtk-dnd-drag-threshold", &dnd_threshold, NULL); @@ -3228,14 +3228,14 @@ check_threshold (GtkNotebook *notebook, rectangle.height += 2 * dnd_threshold; return (current_x < rectangle.x || - current_x > rectangle.x + rectangle.width || - current_y < rectangle.y || - current_y > rectangle.y + rectangle.height); + current_x > rectangle.x + rectangle.width || + current_y < rectangle.y || + current_y > rectangle.y + rectangle.height); } static gint gtk_notebook_motion_notify (GtkWidget *widget, - GdkEventMotion *event) + GdkEventMotion *event) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3288,7 +3288,7 @@ gtk_notebook_motion_notify (GtkWidget *widget, priv->during_detach = TRUE; gtk_drag_begin (widget, priv->source_targets, GDK_ACTION_MOVE, - priv->pressed_button, (GdkEvent*) event); + priv->pressed_button, (GdkEvent*) event); return TRUE; } @@ -3300,47 +3300,47 @@ gtk_notebook_motion_notify (GtkWidget *widget, pointer_position = get_pointer_position (notebook); if (event->window == priv->drag_window && - pointer_position != POINTER_BETWEEN && - gtk_notebook_show_arrows (notebook)) - { - /* scroll tabs */ - if (!priv->dnd_timer) - { - priv->has_scrolled = TRUE; - settings = gtk_widget_get_settings (GTK_WIDGET (notebook)); - g_object_get (settings, "gtk-timeout-repeat", &timeout, NULL); + pointer_position != POINTER_BETWEEN && + gtk_notebook_show_arrows (notebook)) + { + /* scroll tabs */ + if (!priv->dnd_timer) + { + priv->has_scrolled = TRUE; + settings = gtk_widget_get_settings (GTK_WIDGET (notebook)); + g_object_get (settings, "gtk-timeout-repeat", &timeout, NULL); - priv->dnd_timer = gdk_threads_add_timeout (timeout * SCROLL_DELAY_FACTOR, - scroll_notebook_timer, - (gpointer) notebook); - } - } + priv->dnd_timer = gdk_threads_add_timeout (timeout * SCROLL_DELAY_FACTOR, + scroll_notebook_timer, + (gpointer) notebook); + } + } else - { - if (priv->dnd_timer) - { - g_source_remove (priv->dnd_timer); - priv->dnd_timer = 0; - } - } + { + if (priv->dnd_timer) + { + g_source_remove (priv->dnd_timer); + priv->dnd_timer = 0; + } + } if (event->window == priv->drag_window || - priv->operation != DRAG_OPERATION_REORDER) - { - /* the drag operation is beginning, create the window */ - if (priv->operation != DRAG_OPERATION_REORDER) - { - priv->operation = DRAG_OPERATION_REORDER; - show_drag_window (notebook, priv, page, event->device); - } + priv->operation != DRAG_OPERATION_REORDER) + { + /* the drag operation is beginning, create the window */ + if (priv->operation != DRAG_OPERATION_REORDER) + { + priv->operation = DRAG_OPERATION_REORDER; + show_drag_window (notebook, priv, page, event->device); + } - gtk_notebook_pages_allocate (notebook); - gdk_window_move_resize (priv->drag_window, - priv->drag_window_x, - priv->drag_window_y, - page->allocation.width, - page->allocation.height); - } + gtk_notebook_pages_allocate (notebook); + gdk_window_move_resize (priv->drag_window, + priv->drag_window_x, + priv->drag_window_y, + page->allocation.width, + page->allocation.height); + } } return TRUE; @@ -3348,7 +3348,7 @@ gtk_notebook_motion_notify (GtkWidget *widget, static void gtk_notebook_grab_notify (GtkWidget *widget, - gboolean was_grabbed) + gboolean was_grabbed) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); @@ -3369,16 +3369,16 @@ gtk_notebook_state_flags_changed (GtkWidget *widget, static gint gtk_notebook_focus_in (GtkWidget *widget, - GdkEventFocus *event) + GdkEventFocus *event) { gtk_notebook_redraw_tabs (GTK_NOTEBOOK (widget)); - + return FALSE; } static gint gtk_notebook_focus_out (GtkWidget *widget, - GdkEventFocus *event) + GdkEventFocus *event) { gtk_notebook_redraw_tabs (GTK_NOTEBOOK (widget)); @@ -3413,8 +3413,8 @@ gtk_notebook_style_updated (GtkWidget *widget) static gboolean on_drag_icon_draw (GtkWidget *widget, - cairo_t *cr, - gpointer data) + cairo_t *cr, + gpointer data) { GtkWidget *notebook, *child; GtkRequisition requisition; @@ -3446,7 +3446,7 @@ on_drag_icon_draw (GtkWidget *widget, static void gtk_notebook_drag_begin (GtkWidget *widget, - GdkDragContext *context) + GdkDragContext *context) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3472,19 +3472,19 @@ gtk_notebook_drag_begin (GtkWidget *widget, gtk_widget_get_screen (widget)); gtk_container_add (GTK_CONTAINER (priv->dnd_window), tab_label); gtk_widget_set_size_request (priv->dnd_window, - priv->detached_tab->allocation.width, - priv->detached_tab->allocation.height); + priv->detached_tab->allocation.width, + priv->detached_tab->allocation.height); g_object_unref (tab_label); g_signal_connect (G_OBJECT (priv->dnd_window), "draw", - G_CALLBACK (on_drag_icon_draw), notebook); + G_CALLBACK (on_drag_icon_draw), notebook); gtk_drag_set_icon_widget (context, priv->dnd_window, -2, -2); } static void gtk_notebook_drag_end (GtkWidget *widget, - GdkDragContext *context) + GdkDragContext *context) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3512,8 +3512,8 @@ gtk_notebook_create_window (GtkNotebook *notebook, static gboolean gtk_notebook_drag_failed (GtkWidget *widget, - GdkDragContext *context, - GtkDragResult result) + GdkDragContext *context, + GtkDragResult result) { if (result == GTK_DRAG_RESULT_NO_TARGET) { @@ -3531,7 +3531,7 @@ gtk_notebook_drag_failed (GtkWidget *widget, priv->detached_tab->child, x, y, &dest_notebook); if (dest_notebook) - do_detach_tab (notebook, dest_notebook, priv->detached_tab->child, 0, 0); + do_detach_tab (notebook, dest_notebook, priv->detached_tab->child, 0, 0); return TRUE; } @@ -3565,10 +3565,10 @@ gtk_notebook_switch_tab_timeout (gpointer data) static gboolean gtk_notebook_drag_motion (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - guint time) + GdkDragContext *context, + gint x, + gint y, + guint time) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3609,18 +3609,18 @@ gtk_notebook_drag_motion (GtkWidget *widget, source_group = source->priv->group; if (group != 0 && group == source_group && - !(widget == source_child || + !(widget == source_child || gtk_widget_is_ancestor (widget, source_child))) - { - gdk_drag_status (context, GDK_ACTION_MOVE, time); - return TRUE; - } + { + gdk_drag_status (context, GDK_ACTION_MOVE, time); + return TRUE; + } else - { - /* it's a tab, but doesn't share - * ID with this notebook */ - gdk_drag_status (context, 0, time); - } + { + /* it's a tab, but doesn't share + * ID with this notebook */ + gdk_drag_status (context, 0, time); + } } x += allocation.x; @@ -3634,22 +3634,22 @@ gtk_notebook_drag_motion (GtkWidget *widget, priv->mouse_y = y; if (!priv->switch_tab_timer) - { + { settings = gtk_widget_get_settings (widget); g_object_get (settings, "gtk-timeout-expand", &timeout, NULL); - priv->switch_tab_timer = gdk_threads_add_timeout (timeout, - gtk_notebook_switch_tab_timeout, - widget); - } + priv->switch_tab_timer = gdk_threads_add_timeout (timeout, + gtk_notebook_switch_tab_timeout, + widget); + } } else { if (priv->switch_tab_timer) - { - g_source_remove (priv->switch_tab_timer); - priv->switch_tab_timer = 0; - } + { + g_source_remove (priv->switch_tab_timer); + priv->switch_tab_timer = 0; + } } return (target == tab_target) ? TRUE : FALSE; @@ -3657,8 +3657,8 @@ gtk_notebook_drag_motion (GtkWidget *widget, static void gtk_notebook_drag_leave (GtkWidget *widget, - GdkDragContext *context, - guint time) + GdkDragContext *context, + guint time) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -3674,10 +3674,10 @@ gtk_notebook_drag_leave (GtkWidget *widget, static gboolean gtk_notebook_drag_drop (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - guint time) + GdkDragContext *context, + gint x, + gint y, + guint time) { GdkAtom target, tab_target; @@ -3695,10 +3695,10 @@ gtk_notebook_drag_drop (GtkWidget *widget, static void do_detach_tab (GtkNotebook *from, - GtkNotebook *to, - GtkWidget *child, - gint x, - gint y) + GtkNotebook *to, + GtkWidget *child, + gint x, + gint y) { GtkNotebookPrivate *to_priv = to->priv; GtkAllocation to_allocation; @@ -3713,19 +3713,19 @@ do_detach_tab (GtkNotebook *from, g_object_ref (menu_label); tab_label = gtk_notebook_get_tab_label (from, child); - + if (tab_label) g_object_ref (tab_label); g_object_ref (child); gtk_container_child_get (GTK_CONTAINER (from), - child, - "tab-expand", &tab_expand, - "tab-fill", &tab_fill, - "reorderable", &reorderable, - "detachable", &detachable, - NULL); + child, + "tab-expand", &tab_expand, + "tab-fill", &tab_fill, + "reorderable", &reorderable, + "detachable", &detachable, + NULL); gtk_container_remove (GTK_CONTAINER (from), child); @@ -3738,11 +3738,11 @@ do_detach_tab (GtkNotebook *from, gtk_notebook_insert_page_menu (to, child, tab_label, menu_label, page_num); gtk_container_child_set (GTK_CONTAINER (to), child, - "tab-expand", tab_expand, - "tab-fill", tab_fill, - "reorderable", reorderable, - "detachable", detachable, - NULL); + "tab-expand", tab_expand, + "tab-fill", tab_fill, + "reorderable", reorderable, + "detachable", detachable, + NULL); if (child) g_object_unref (child); @@ -3757,10 +3757,10 @@ do_detach_tab (GtkNotebook *from, static void gtk_notebook_drag_data_get (GtkWidget *widget, - GdkDragContext *context, - GtkSelectionData *data, - guint info, - guint time) + GdkDragContext *context, + GtkSelectionData *data, + guint info, + guint time) { GdkAtom target; @@ -3771,21 +3771,21 @@ gtk_notebook_drag_data_get (GtkWidget *widget, GtkNotebookPrivate *priv = notebook->priv; gtk_selection_data_set (data, - target, - 8, - (void*) &priv->detached_tab->child, - sizeof (gpointer)); + target, + 8, + (void*) &priv->detached_tab->child, + sizeof (gpointer)); } } static void gtk_notebook_drag_data_received (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - GtkSelectionData *data, - guint info, - guint time) + GdkDragContext *context, + gint x, + gint y, + GtkSelectionData *data, + guint info, + guint time) { GtkNotebook *notebook; GtkWidget *source_widget; @@ -3807,7 +3807,7 @@ gtk_notebook_drag_data_received (GtkWidget *widget, } /* Private GtkContainer Methods : - * + * * gtk_notebook_set_child_arg * gtk_notebook_get_child_arg * gtk_notebook_add @@ -3819,10 +3819,10 @@ gtk_notebook_drag_data_received (GtkWidget *widget, */ static void gtk_notebook_set_child_property (GtkContainer *container, - GtkWidget *child, - guint property_id, - const GValue *value, - GParamSpec *pspec) + GtkWidget *child, + guint property_id, + const GValue *value, + GParamSpec *pspec) { gboolean expand; gboolean fill; @@ -3838,37 +3838,37 @@ gtk_notebook_set_child_property (GtkContainer *container, * we need to set the associated label */ gtk_notebook_set_tab_label_text (GTK_NOTEBOOK (container), child, - g_value_get_string (value)); + g_value_get_string (value)); break; case CHILD_PROP_MENU_LABEL: gtk_notebook_set_menu_label_text (GTK_NOTEBOOK (container), child, - g_value_get_string (value)); + g_value_get_string (value)); break; case CHILD_PROP_POSITION: gtk_notebook_reorder_child (GTK_NOTEBOOK (container), child, - g_value_get_int (value)); + g_value_get_int (value)); break; case CHILD_PROP_TAB_EXPAND: gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, &fill); + &expand, &fill); gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (container), child, - g_value_get_boolean (value), - fill); + g_value_get_boolean (value), + fill); break; case CHILD_PROP_TAB_FILL: gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, &fill); + &expand, &fill); gtk_notebook_set_tab_label_packing (GTK_NOTEBOOK (container), child, - expand, - g_value_get_boolean (value)); + expand, + g_value_get_boolean (value)); break; case CHILD_PROP_REORDERABLE: gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (container), child, - g_value_get_boolean (value)); + g_value_get_boolean (value)); break; case CHILD_PROP_DETACHABLE: gtk_notebook_set_tab_detachable (GTK_NOTEBOOK (container), child, - g_value_get_boolean (value)); + g_value_get_boolean (value)); break; default: GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); @@ -3878,10 +3878,10 @@ gtk_notebook_set_child_property (GtkContainer *container, static void gtk_notebook_get_child_property (GtkContainer *container, - GtkWidget *child, - guint property_id, - GValue *value, - GParamSpec *pspec) + GtkWidget *child, + guint property_id, + GValue *value, + GParamSpec *pspec) { GtkNotebook *notebook = GTK_NOTEBOOK (container); GtkNotebookPrivate *priv = notebook->priv; @@ -3905,38 +3905,38 @@ gtk_notebook_get_child_property (GtkContainer *container, label = gtk_notebook_get_tab_label (notebook, child); if (GTK_IS_LABEL (label)) - g_value_set_string (value, gtk_label_get_label (GTK_LABEL (label))); + g_value_set_string (value, gtk_label_get_label (GTK_LABEL (label))); else - g_value_set_string (value, NULL); + g_value_set_string (value, NULL); break; case CHILD_PROP_MENU_LABEL: label = gtk_notebook_get_menu_label (notebook, child); if (GTK_IS_LABEL (label)) - g_value_set_string (value, gtk_label_get_label (GTK_LABEL (label))); + g_value_set_string (value, gtk_label_get_label (GTK_LABEL (label))); else - g_value_set_string (value, NULL); + g_value_set_string (value, NULL); break; case CHILD_PROP_POSITION: g_value_set_int (value, g_list_position (priv->children, list)); break; case CHILD_PROP_TAB_EXPAND: - gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - &expand, NULL); - g_value_set_boolean (value, expand); + gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, + &expand, NULL); + g_value_set_boolean (value, expand); break; case CHILD_PROP_TAB_FILL: - gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, - NULL, &fill); - g_value_set_boolean (value, fill); + gtk_notebook_query_tab_label_packing (GTK_NOTEBOOK (container), child, + NULL, &fill); + g_value_set_boolean (value, fill); break; case CHILD_PROP_REORDERABLE: g_value_set_boolean (value, - gtk_notebook_get_tab_reorderable (GTK_NOTEBOOK (container), child)); + gtk_notebook_get_tab_reorderable (GTK_NOTEBOOK (container), child)); break; case CHILD_PROP_DETACHABLE: g_value_set_boolean (value, - gtk_notebook_get_tab_detachable (GTK_NOTEBOOK (container), child)); + gtk_notebook_get_tab_detachable (GTK_NOTEBOOK (container), child)); break; default: GTK_CONTAINER_WARN_INVALID_CHILD_PROPERTY_ID (container, property_id, pspec); @@ -3946,15 +3946,15 @@ gtk_notebook_get_child_property (GtkContainer *container, static void gtk_notebook_add (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { - gtk_notebook_insert_page_menu (GTK_NOTEBOOK (container), widget, - NULL, NULL, -1); + gtk_notebook_insert_page_menu (GTK_NOTEBOOK (container), widget, + NULL, NULL, -1); } static void gtk_notebook_remove (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GtkNotebook *notebook = GTK_NOTEBOOK (container); GtkNotebookPrivate *priv = notebook->priv; @@ -3968,25 +3968,25 @@ gtk_notebook_remove (GtkContainer *container, page = children->data; if (page->child == widget) - break; + break; page_num++; children = children->next; } - + if (children == NULL) return; - + g_object_ref (widget); gtk_notebook_real_remove (notebook, children); g_signal_emit (notebook, - notebook_signals[PAGE_REMOVED], - 0, - widget, - page_num); - + notebook_signals[PAGE_REMOVED], + 0, + widget, + page_num); + g_object_unref (widget); } @@ -4000,8 +4000,8 @@ focus_tabs_in (GtkNotebook *notebook) gtk_widget_grab_focus (GTK_WIDGET (notebook)); gtk_notebook_switch_focus_tab (notebook, - g_list_find (priv->children, - priv->cur_page)); + g_list_find (priv->children, + priv->cur_page)); return TRUE; } @@ -4011,14 +4011,14 @@ focus_tabs_in (GtkNotebook *notebook) static gboolean focus_tabs_move (GtkNotebook *notebook, - GtkDirectionType direction, - gint search_direction) + GtkDirectionType direction, + gint search_direction) { GtkNotebookPrivate *priv = notebook->priv; GList *new_page; new_page = gtk_notebook_search_page (notebook, priv->focus_tab, - search_direction, TRUE); + search_direction, TRUE); if (!new_page) { gboolean wrap_around; @@ -4042,7 +4042,7 @@ focus_tabs_move (GtkNotebook *notebook, static gboolean focus_child_in (GtkNotebook *notebook, - GtkDirectionType direction) + GtkDirectionType direction) { GtkNotebookPrivate *priv = notebook->priv; @@ -4071,7 +4071,7 @@ focus_action_in (GtkNotebook *notebook, */ static gint gtk_notebook_focus (GtkWidget *widget, - GtkDirectionType direction) + GtkDirectionType direction) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -4108,135 +4108,135 @@ gtk_notebook_focus (GtkWidget *widget, effective_direction = get_effective_direction (notebook, direction); - if (old_focus_child) /* Focus on page child or action widget */ + if (old_focus_child) /* Focus on page child or action widget */ { if (gtk_widget_child_focus (old_focus_child, direction)) return TRUE; if (old_focus_child == priv->action_widget[ACTION_WIDGET_START]) - { - switch (effective_direction) - { - case GTK_DIR_DOWN: + { + switch (effective_direction) + { + case GTK_DIR_DOWN: return focus_child_in (notebook, GTK_DIR_TAB_FORWARD); - case GTK_DIR_RIGHT: - return focus_tabs_in (notebook); - case GTK_DIR_LEFT: + case GTK_DIR_RIGHT: + return focus_tabs_in (notebook); + case GTK_DIR_LEFT: + return FALSE; + case GTK_DIR_UP: return FALSE; - case GTK_DIR_UP: - return FALSE; default: switch (direction) { - case GTK_DIR_TAB_FORWARD: + case GTK_DIR_TAB_FORWARD: if ((priv->tab_pos == GTK_POS_RIGHT || priv->tab_pos == GTK_POS_BOTTOM) && focus_child_in (notebook, direction)) return TRUE; - return focus_tabs_in (notebook); + return focus_tabs_in (notebook); case GTK_DIR_TAB_BACKWARD: return FALSE; default: g_assert_not_reached (); } - } - } + } + } else if (old_focus_child == priv->action_widget[ACTION_WIDGET_END]) - { - switch (effective_direction) - { - case GTK_DIR_DOWN: + { + switch (effective_direction) + { + case GTK_DIR_DOWN: return focus_child_in (notebook, GTK_DIR_TAB_FORWARD); - case GTK_DIR_RIGHT: + case GTK_DIR_RIGHT: + return FALSE; + case GTK_DIR_LEFT: + return focus_tabs_in (notebook); + case GTK_DIR_UP: return FALSE; - case GTK_DIR_LEFT: - return focus_tabs_in (notebook); - case GTK_DIR_UP: - return FALSE; default: switch (direction) { - case GTK_DIR_TAB_FORWARD: + case GTK_DIR_TAB_FORWARD: return FALSE; case GTK_DIR_TAB_BACKWARD: if ((priv->tab_pos == GTK_POS_TOP || priv->tab_pos == GTK_POS_LEFT) && focus_child_in (notebook, direction)) return TRUE; - return focus_tabs_in (notebook); + return focus_tabs_in (notebook); default: g_assert_not_reached (); } - } - } + } + } else - { - switch (effective_direction) - { - case GTK_DIR_TAB_BACKWARD: - case GTK_DIR_UP: - /* Focus onto the tabs */ - return focus_tabs_in (notebook); - case GTK_DIR_DOWN: - case GTK_DIR_LEFT: - case GTK_DIR_RIGHT: - return FALSE; - case GTK_DIR_TAB_FORWARD: + { + switch (effective_direction) + { + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_UP: + /* Focus onto the tabs */ + return focus_tabs_in (notebook); + case GTK_DIR_DOWN: + case GTK_DIR_LEFT: + case GTK_DIR_RIGHT: + return FALSE; + case GTK_DIR_TAB_FORWARD: return focus_action_in (notebook, last_action, direction); - } - } + } + } } - else if (widget_is_focus) /* Focus was on tabs */ + else if (widget_is_focus) /* Focus was on tabs */ { switch (effective_direction) - { + { case GTK_DIR_TAB_BACKWARD: return focus_action_in (notebook, first_action, direction); case GTK_DIR_UP: - return FALSE; + return FALSE; case GTK_DIR_TAB_FORWARD: if (focus_child_in (notebook, GTK_DIR_TAB_FORWARD)) return TRUE; return focus_action_in (notebook, last_action, direction); - case GTK_DIR_DOWN: - /* We use TAB_FORWARD rather than direction so that we focus a more - * predictable widget for the user; users may be using arrow focusing - * in this situation even if they don't usually use arrow focusing. - */ + case GTK_DIR_DOWN: + /* We use TAB_FORWARD rather than direction so that we focus a more + * predictable widget for the user; users may be using arrow focusing + * in this situation even if they don't usually use arrow focusing. + */ return focus_child_in (notebook, GTK_DIR_TAB_FORWARD); - case GTK_DIR_LEFT: - return focus_tabs_move (notebook, direction, STEP_PREV); - case GTK_DIR_RIGHT: - return focus_tabs_move (notebook, direction, STEP_NEXT); - } + case GTK_DIR_LEFT: + return focus_tabs_move (notebook, direction, STEP_PREV); + case GTK_DIR_RIGHT: + return focus_tabs_move (notebook, direction, STEP_NEXT); + } } else /* Focus was not on widget */ { switch (effective_direction) - { - case GTK_DIR_TAB_FORWARD: - case GTK_DIR_DOWN: + { + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_DOWN: if (focus_action_in (notebook, first_action, direction)) return TRUE; - if (focus_tabs_in (notebook)) - return TRUE; + if (focus_tabs_in (notebook)) + return TRUE; if (focus_action_in (notebook, last_action, direction)) return TRUE; - if (focus_child_in (notebook, direction)) - return TRUE; - return FALSE; - case GTK_DIR_TAB_BACKWARD: + if (focus_child_in (notebook, direction)) + return TRUE; + return FALSE; + case GTK_DIR_TAB_BACKWARD: if (focus_action_in (notebook, last_action, direction)) return TRUE; - if (focus_child_in (notebook, direction)) - return TRUE; - if (focus_tabs_in (notebook)) - return TRUE; + if (focus_child_in (notebook, direction)) + return TRUE; + if (focus_tabs_in (notebook)) + return TRUE; if (focus_action_in (notebook, first_action, direction)) return TRUE; - case GTK_DIR_UP: - case GTK_DIR_LEFT: - case GTK_DIR_RIGHT: - return focus_child_in (notebook, direction); - } + case GTK_DIR_UP: + case GTK_DIR_LEFT: + case GTK_DIR_RIGHT: + return focus_child_in (notebook, direction); + } } g_assert_not_reached (); @@ -4245,7 +4245,7 @@ gtk_notebook_focus (GtkWidget *widget, static void gtk_notebook_set_focus_child (GtkContainer *container, - GtkWidget *child) + GtkWidget *child) { GtkNotebook *notebook = GTK_NOTEBOOK (container); GtkNotebookPrivate *priv = notebook->priv; @@ -4262,47 +4262,47 @@ gtk_notebook_set_focus_child (GtkContainer *container, { page_child = gtk_window_get_focus (GTK_WINDOW (toplevel)); while (page_child) - { + { if (gtk_widget_get_parent (page_child) == GTK_WIDGET (container)) - { - GList *list = gtk_notebook_find_child (notebook, page_child, NULL); - if (list != NULL) - { - GtkNotebookPage *page = list->data; - - if (page->last_focus_child) - g_object_remove_weak_pointer (G_OBJECT (page->last_focus_child), (gpointer *)&page->last_focus_child); + { + GList *list = gtk_notebook_find_child (notebook, page_child, NULL); + if (list != NULL) + { + GtkNotebookPage *page = list->data; - page->last_focus_child = gtk_window_get_focus (GTK_WINDOW (toplevel)); - g_object_add_weak_pointer (G_OBJECT (page->last_focus_child), (gpointer *)&page->last_focus_child); - - break; - } - } + if (page->last_focus_child) + g_object_remove_weak_pointer (G_OBJECT (page->last_focus_child), (gpointer *)&page->last_focus_child); + + page->last_focus_child = gtk_window_get_focus (GTK_WINDOW (toplevel)); + g_object_add_weak_pointer (G_OBJECT (page->last_focus_child), (gpointer *)&page->last_focus_child); + + break; + } + } page_child = gtk_widget_get_parent (page_child); - } + } } - + if (child) { g_return_if_fail (GTK_IS_WIDGET (child)); priv->child_has_focus = TRUE; if (!priv->focus_tab) - { - GList *children; - GtkNotebookPage *page; + { + GList *children; + GtkNotebookPage *page; - children = priv->children; - while (children) - { - page = children->data; - if (page->child == child || page->tab_label == child) - gtk_notebook_switch_focus_tab (notebook, children); - children = children->next; - } - } + children = priv->children; + while (children) + { + page = children->data; + if (page->child == child || page->tab_label == child) + gtk_notebook_switch_focus_tab (notebook, children); + children = children->next; + } + } } else priv->child_has_focus = FALSE; @@ -4312,9 +4312,9 @@ gtk_notebook_set_focus_child (GtkContainer *container, static void gtk_notebook_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) { GtkNotebook *notebook = GTK_NOTEBOOK (container); GtkNotebookPrivate *priv = notebook->priv; @@ -4325,16 +4325,16 @@ gtk_notebook_forall (GtkContainer *container, while (children) { GtkNotebookPage *page; - + page = children->data; children = children->next; (* callback) (page->child, callback_data); if (include_internals) - { - if (page->tab_label) - (* callback) (page->tab_label, callback_data); - } + { + if (page->tab_label) + (* callback) (page->tab_label, callback_data); + } } if (include_internals) { @@ -4419,10 +4419,10 @@ page_visible_cb (GtkWidget *page, static gint gtk_notebook_real_insert_page (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label, - GtkWidget *menu_label, - gint position) + GtkWidget *child, + GtkWidget *tab_label, + GtkWidget *menu_label, + gint position) { GtkNotebookPrivate *priv = notebook->priv; GtkNotebookPage *page; @@ -4443,7 +4443,7 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, { page->default_tab = TRUE; if (priv->show_tabs) - tab_label = gtk_label_new (NULL); + tab_label = gtk_label_new (NULL); } page->tab_label = tab_label; page->menu_label = menu_label; @@ -4452,12 +4452,12 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, if (!menu_label) page->default_menu = TRUE; - else + else g_object_ref_sink (page->menu_label); if (priv->menu) gtk_notebook_menu_item_create (notebook, - g_list_find (priv->children, page)); + g_list_find (priv->children, page)); gtk_widget_set_parent (child, GTK_WIDGET (notebook)); if (tab_label) @@ -4475,25 +4475,25 @@ gtk_notebook_real_insert_page (GtkNotebook *notebook, if (tab_label) { if (priv->show_tabs && gtk_widget_get_visible (child)) - gtk_widget_show (tab_label); + gtk_widget_show (tab_label); else - gtk_widget_hide (tab_label); + gtk_widget_hide (tab_label); page->mnemonic_activate_signal = g_signal_connect (tab_label, - "mnemonic-activate", - G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page), - notebook); + "mnemonic-activate", + G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page), + notebook); } page->notify_visible_handler = g_signal_connect (child, "notify::visible", - G_CALLBACK (page_visible_cb), notebook); + G_CALLBACK (page_visible_cb), notebook); g_signal_emit (notebook, - notebook_signals[PAGE_ADDED], - 0, - child, - position); + notebook_signals[PAGE_ADDED], + 0, + child, + position); if (!priv->cur_page) { @@ -4561,31 +4561,31 @@ gtk_notebook_redraw_tabs (GtkNotebook *notebook) { case GTK_POS_BOTTOM: redraw_rect.y = allocation.height - border - - page->allocation.height - padding.bottom; + page->allocation.height - padding.bottom; if (page != priv->cur_page) - redraw_rect.y -= padding.bottom; + redraw_rect.y -= padding.bottom; /* fall through */ case GTK_POS_TOP: redraw_rect.width = allocation.width - 2 * border; redraw_rect.height = page->allocation.height + padding.top; if (page != priv->cur_page) - redraw_rect.height += padding.top; + redraw_rect.height += padding.top; break; case GTK_POS_RIGHT: redraw_rect.x = allocation.width - border - - page->allocation.width - padding.right; + page->allocation.width - padding.right; if (page != priv->cur_page) - redraw_rect.x -= padding.right; + redraw_rect.x -= padding.right; /* fall through */ case GTK_POS_LEFT: redraw_rect.width = page->allocation.width + padding.left; redraw_rect.height = allocation.height - 2 * border; if (page != priv->cur_page) - redraw_rect.width += padding.left; + redraw_rect.width += padding.left; break; } @@ -4613,15 +4613,15 @@ gtk_notebook_redraw_arrows (GtkNotebook *notebook) arrow[2] = priv->has_after_previous ? ARROW_LEFT_AFTER : ARROW_NONE; arrow[3] = priv->has_after_next ? ARROW_RIGHT_AFTER : ARROW_NONE; - for (i = 0; i < 4; i++) - { - if (arrow[i] == ARROW_NONE) - continue; + for (i = 0; i < 4; i++) + { + if (arrow[i] == ARROW_NONE) + continue; - gtk_notebook_get_arrow_rect (notebook, &rect, arrow[i]); + gtk_notebook_get_arrow_rect (notebook, &rect, arrow[i]); gdk_window_invalidate_rect (gtk_widget_get_window (GTK_WIDGET (notebook)), - &rect, FALSE); - } + &rect, FALSE); + } } } @@ -4636,20 +4636,20 @@ gtk_notebook_timer (GtkNotebook *notebook) gtk_notebook_do_arrow (notebook, priv->click_child); if (priv->need_timer) - { + { GtkSettings *settings; guint timeout; settings = gtk_widget_get_settings (GTK_WIDGET (notebook)); g_object_get (settings, "gtk-timeout-repeat", &timeout, NULL); - priv->need_timer = FALSE; - priv->timer = gdk_threads_add_timeout (timeout * SCROLL_DELAY_FACTOR, - (GSourceFunc) gtk_notebook_timer, - (gpointer) notebook); - } + priv->need_timer = FALSE; + priv->timer = gdk_threads_add_timeout (timeout * SCROLL_DELAY_FACTOR, + (GSourceFunc) gtk_notebook_timer, + (gpointer) notebook); + } else - retval = TRUE; + retval = TRUE; } return retval; @@ -4669,32 +4669,32 @@ gtk_notebook_set_scroll_timer (GtkNotebook *notebook) g_object_get (settings, "gtk-timeout-initial", &timeout, NULL); priv->timer = gdk_threads_add_timeout (timeout, - (GSourceFunc) gtk_notebook_timer, - (gpointer) notebook); + (GSourceFunc) gtk_notebook_timer, + (gpointer) notebook); priv->need_timer = TRUE; } } static gint gtk_notebook_page_compare (gconstpointer a, - gconstpointer b) + gconstpointer b) { return (((GtkNotebookPage *) a)->child != b); } static GList* gtk_notebook_find_child (GtkNotebook *notebook, - GtkWidget *child, - const gchar *function) + GtkWidget *child, + const gchar *function) { GtkNotebookPrivate *priv = notebook->priv; GList *list = g_list_find_custom (priv->children, child, - gtk_notebook_page_compare); + gtk_notebook_page_compare); #ifndef G_DISABLE_CHECKS if (!list && function) g_warning ("%s: unable to find child %p in notebook %p", - function, child, notebook); + function, child, notebook); #endif return list; @@ -4702,13 +4702,13 @@ gtk_notebook_find_child (GtkNotebook *notebook, static void gtk_notebook_remove_tab_label (GtkNotebook *notebook, - GtkNotebookPage *page) + GtkNotebookPage *page) { if (page->tab_label) { if (page->mnemonic_activate_signal) - g_signal_handler_disconnect (page->tab_label, - page->mnemonic_activate_signal); + g_signal_handler_disconnect (page->tab_label, + page->mnemonic_activate_signal); page->mnemonic_activate_signal = 0; gtk_widget_set_state_flags (page->tab_label, 0, TRUE); @@ -4719,7 +4719,7 @@ gtk_notebook_remove_tab_label (GtkNotebook *notebook, static void gtk_notebook_real_remove (GtkNotebook *notebook, - GList *list) + GList *list) { GtkNotebookPrivate *priv = notebook->priv; GtkNotebookPage *page; @@ -4737,10 +4737,10 @@ gtk_notebook_real_remove (GtkNotebook *notebook, priv->children = g_list_remove_link (priv->children, list); if (priv->cur_page == list->data) - { + { priv->cur_page = NULL; if (next_list && !destroying) - gtk_notebook_switch_page (notebook, GTK_NOTEBOOK_PAGE (next_list)); + gtk_notebook_switch_page (notebook, GTK_NOTEBOOK_PAGE (next_list)); } if (priv->detached_tab == list->data) @@ -4752,8 +4752,8 @@ gtk_notebook_real_remove (GtkNotebook *notebook, gtk_notebook_switch_focus_tab (notebook, next_list); page = list->data; - - g_signal_handler_disconnect (page->child, page->notify_visible_handler); + + g_signal_handler_disconnect (page->child, page->notify_visible_handler); if (gtk_widget_get_visible (page->child) && gtk_widget_get_visible (GTK_WIDGET (notebook))) @@ -4790,7 +4790,7 @@ gtk_notebook_real_remove (GtkNotebook *notebook, g_object_remove_weak_pointer (G_OBJECT (page->last_focus_child), (gpointer *)&page->last_focus_child); page->last_focus_child = NULL; } - + g_slice_free (GtkNotebookPage, page); gtk_notebook_update_labels (notebook); @@ -4817,42 +4817,42 @@ gtk_notebook_update_labels (GtkNotebook *notebook) page = list->data; g_snprintf (string, sizeof(string), _("Page %u"), page_num++); if (priv->show_tabs) - { - if (page->default_tab) - { - if (!page->tab_label) - { - page->tab_label = gtk_label_new (string); - gtk_widget_set_parent (page->tab_label, - GTK_WIDGET (notebook)); - } - else - gtk_label_set_text (GTK_LABEL (page->tab_label), string); - } + { + if (page->default_tab) + { + if (!page->tab_label) + { + page->tab_label = gtk_label_new (string); + gtk_widget_set_parent (page->tab_label, + GTK_WIDGET (notebook)); + } + else + gtk_label_set_text (GTK_LABEL (page->tab_label), string); + } - if (gtk_widget_get_visible (page->child) && - !gtk_widget_get_visible (page->tab_label)) - gtk_widget_show (page->tab_label); - else if (!gtk_widget_get_visible (page->child) && - gtk_widget_get_visible (page->tab_label)) - gtk_widget_hide (page->tab_label); - } + if (gtk_widget_get_visible (page->child) && + !gtk_widget_get_visible (page->tab_label)) + gtk_widget_show (page->tab_label); + else if (!gtk_widget_get_visible (page->child) && + gtk_widget_get_visible (page->tab_label)) + gtk_widget_hide (page->tab_label); + } if (priv->menu && page->default_menu) - { - if (GTK_IS_LABEL (page->tab_label)) - gtk_label_set_text (GTK_LABEL (page->menu_label), + { + if (GTK_IS_LABEL (page->tab_label)) + gtk_label_set_text (GTK_LABEL (page->menu_label), gtk_label_get_label (GTK_LABEL (page->tab_label))); - else - gtk_label_set_text (GTK_LABEL (page->menu_label), string); - } + else + gtk_label_set_text (GTK_LABEL (page->menu_label), string); + } } } static GList * gtk_notebook_search_page (GtkNotebook *notebook, - GList *list, - gint direction, - gboolean find_visible) + GList *list, + gint direction, + gboolean find_visible) { GtkNotebookPrivate *priv = notebook->priv; GtkNotebookPage *page = NULL; @@ -4864,24 +4864,24 @@ gtk_notebook_search_page (GtkNotebook *notebook, if (!page || direction == STEP_NEXT) { if (list) - { - old_list = list; - list = list->next; - } + { + old_list = list; + list = list->next; + } else - list = priv->children; + list = priv->children; while (list) - { - page = list->data; - if (direction == STEP_NEXT && - (!find_visible || - (gtk_widget_get_visible (page->child) && - (!page->tab_label || NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))))) - return list; - old_list = list; - list = list->next; - } + { + page = list->data; + if (direction == STEP_NEXT && + (!find_visible || + (gtk_widget_get_visible (page->child) && + (!page->tab_label || NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))))) + return list; + old_list = list; + list = list->next; + } list = old_list; } else @@ -4893,10 +4893,10 @@ gtk_notebook_search_page (GtkNotebook *notebook, { page = list->data; if (direction == STEP_PREV && - (!find_visible || - (gtk_widget_get_visible (page->child) && - (!page->tab_label || NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))))) - return list; + (!find_visible || + (gtk_widget_get_visible (page->child) && + (!page->tab_label || NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page))))) + return list; old_list = list; list = list->prev; } @@ -4911,7 +4911,7 @@ gtk_notebook_search_page (GtkNotebook *notebook, */ static void gtk_notebook_paint (GtkWidget *widget, - cairo_t *cr) + cairo_t *cr) { GtkNotebook *notebook; GtkNotebookPrivate *priv; @@ -4988,28 +4988,28 @@ gtk_notebook_paint (GtkWidget *widget, else { switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - if (priv->operation == DRAG_OPERATION_REORDER) - gap_x = priv->drag_window_x - allocation.x - border_width; - else - gap_x = priv->cur_page->allocation.x - allocation.x - border_width; + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + if (priv->operation == DRAG_OPERATION_REORDER) + gap_x = priv->drag_window_x - allocation.x - border_width; + else + gap_x = priv->cur_page->allocation.x - allocation.x - border_width; - gap_width = priv->cur_page->allocation.width; - step = is_rtl ? STEP_PREV : STEP_NEXT; - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - if (priv->operation == DRAG_OPERATION_REORDER) - gap_x = priv->drag_window_y - border_width - allocation.y; - else - gap_x = priv->cur_page->allocation.y - allocation.y - border_width; + gap_width = priv->cur_page->allocation.width; + step = is_rtl ? STEP_PREV : STEP_NEXT; + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + if (priv->operation == DRAG_OPERATION_REORDER) + gap_x = priv->drag_window_y - border_width - allocation.y; + else + gap_x = priv->cur_page->allocation.y - allocation.y - border_width; - gap_width = priv->cur_page->allocation.height; - step = STEP_PREV; - break; - } + gap_width = priv->cur_page->allocation.height; + step = STEP_PREV; + break; + } } for (children = priv->children; children; children = children->next) @@ -5073,10 +5073,10 @@ gtk_notebook_paint (GtkWidget *widget, { page = children->data; children = gtk_notebook_search_page (notebook, children, - step, TRUE); + step, TRUE); if (!gtk_widget_get_visible (page->child) || !gtk_widget_get_mapped (page->tab_label)) - continue; + continue; tab_flags = _gtk_notebook_get_tab_flags (notebook, page); gtk_notebook_draw_tab (notebook, page, cr, tab_flags); @@ -5085,13 +5085,13 @@ gtk_notebook_paint (GtkWidget *widget, if (showarrow && priv->scrollable) { if (priv->has_before_previous) - gtk_notebook_draw_arrow (notebook, cr, ARROW_LEFT_BEFORE); + gtk_notebook_draw_arrow (notebook, cr, ARROW_LEFT_BEFORE); if (priv->has_before_next) - gtk_notebook_draw_arrow (notebook, cr, ARROW_RIGHT_BEFORE); + gtk_notebook_draw_arrow (notebook, cr, ARROW_RIGHT_BEFORE); if (priv->has_after_previous) - gtk_notebook_draw_arrow (notebook, cr, ARROW_LEFT_AFTER); + gtk_notebook_draw_arrow (notebook, cr, ARROW_LEFT_AFTER); if (priv->has_after_next) - gtk_notebook_draw_arrow (notebook, cr, ARROW_RIGHT_AFTER); + gtk_notebook_draw_arrow (notebook, cr, ARROW_RIGHT_AFTER); } if (priv->operation != DRAG_OPERATION_REORDER) @@ -5103,8 +5103,8 @@ gtk_notebook_paint (GtkWidget *widget, static void gtk_notebook_draw_tab (GtkNotebook *notebook, - GtkNotebookPage *page, - cairo_t *cr, + GtkNotebookPage *page, + cairo_t *cr, GtkRegionFlags flags) { GtkNotebookPrivate *priv; @@ -5157,7 +5157,7 @@ gtk_notebook_draw_tab (GtkNotebook *notebook, static void gtk_notebook_draw_arrow (GtkNotebook *notebook, cairo_t *cr, - GtkNotebookArrow nbarrow) + GtkNotebookArrow nbarrow) { GtkNotebookPrivate *priv = notebook->priv; GtkStyleContext *context; @@ -5177,7 +5177,7 @@ gtk_notebook_draw_arrow (GtkNotebook *notebook, is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; left = (ARROW_IS_LEFT (nbarrow) && !is_rtl) || - (!ARROW_IS_LEFT (nbarrow) && is_rtl); + (!ARROW_IS_LEFT (nbarrow) && is_rtl); gtk_widget_style_get (widget, "scroll-arrow-hlength", &scroll_arrow_hlength, @@ -5232,10 +5232,10 @@ gtk_notebook_draw_arrow (GtkNotebook *notebook, */ static void gtk_notebook_tab_space (GtkNotebook *notebook, - gboolean *show_arrows, - gint *min, - gint *max, - gint *tab_space) + gboolean *show_arrows, + gint *min, + gint *max, + gint *tab_space) { GtkNotebookPrivate *priv = notebook->priv; GtkAllocation allocation, action_allocation; @@ -5291,16 +5291,16 @@ gtk_notebook_tab_space (GtkNotebook *notebook, } while (children) - { + { GtkNotebookPage *page; - page = children->data; - children = children->next; + page = children->data; + children = children->next; - if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && - gtk_widget_get_visible (page->child)) - *tab_space += page->requisition.width; - } + if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && + gtk_widget_get_visible (page->child)) + *tab_space += page->requisition.width; + } break; case GTK_POS_RIGHT: case GTK_POS_LEFT: @@ -5321,16 +5321,16 @@ gtk_notebook_tab_space (GtkNotebook *notebook, } while (children) - { + { GtkNotebookPage *page; - page = children->data; - children = children->next; + page = children->data; + children = children->next; - if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && - gtk_widget_get_visible (page->child)) - *tab_space += page->requisition.height; - } + if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && + gtk_widget_get_visible (page->child)) + *tab_space += page->requisition.height; + } break; } @@ -5341,76 +5341,76 @@ gtk_notebook_tab_space (GtkNotebook *notebook, gtk_widget_style_get (widget, "tab-overlap", &tab_overlap, NULL); switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - if (*tab_space > *max - *min - tab_overlap) - { - *show_arrows = TRUE; + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + if (*tab_space > *max - *min - tab_overlap) + { + *show_arrows = TRUE; - /* take arrows into account */ - *tab_space = *max - *min - tab_overlap; + /* take arrows into account */ + *tab_space = *max - *min - tab_overlap; - if (priv->has_after_previous) - { - *tab_space -= arrow_spacing + scroll_arrow_hlength; - *max -= arrow_spacing + scroll_arrow_hlength; - } + if (priv->has_after_previous) + { + *tab_space -= arrow_spacing + scroll_arrow_hlength; + *max -= arrow_spacing + scroll_arrow_hlength; + } - if (priv->has_after_next) - { - *tab_space -= arrow_spacing + scroll_arrow_hlength; - *max -= arrow_spacing + scroll_arrow_hlength; - } + if (priv->has_after_next) + { + *tab_space -= arrow_spacing + scroll_arrow_hlength; + *max -= arrow_spacing + scroll_arrow_hlength; + } - if (priv->has_before_previous) - { - *tab_space -= arrow_spacing + scroll_arrow_hlength; - *min += arrow_spacing + scroll_arrow_hlength; - } + if (priv->has_before_previous) + { + *tab_space -= arrow_spacing + scroll_arrow_hlength; + *min += arrow_spacing + scroll_arrow_hlength; + } - if (priv->has_before_next) - { - *tab_space -= arrow_spacing + scroll_arrow_hlength; - *min += arrow_spacing + scroll_arrow_hlength; - } - } - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - if (*tab_space > *max - *min - tab_overlap) - { - *show_arrows = TRUE; + if (priv->has_before_next) + { + *tab_space -= arrow_spacing + scroll_arrow_hlength; + *min += arrow_spacing + scroll_arrow_hlength; + } + } + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + if (*tab_space > *max - *min - tab_overlap) + { + *show_arrows = TRUE; - /* take arrows into account */ - *tab_space = *max - *min - tab_overlap; + /* take arrows into account */ + *tab_space = *max - *min - tab_overlap; - if (priv->has_after_previous || priv->has_after_next) - { - *tab_space -= arrow_spacing + scroll_arrow_vlength; - *max -= arrow_spacing + scroll_arrow_vlength; - } + if (priv->has_after_previous || priv->has_after_next) + { + *tab_space -= arrow_spacing + scroll_arrow_vlength; + *max -= arrow_spacing + scroll_arrow_vlength; + } - if (priv->has_before_previous || priv->has_before_next) - { - *tab_space -= arrow_spacing + scroll_arrow_vlength; - *min += arrow_spacing + scroll_arrow_vlength; - } - } - break; - } + if (priv->has_before_previous || priv->has_before_next) + { + *tab_space -= arrow_spacing + scroll_arrow_vlength; + *min += arrow_spacing + scroll_arrow_vlength; + } + } + break; + } } } static void gtk_notebook_calculate_shown_tabs (GtkNotebook *notebook, - gboolean show_arrows, - gint min, - gint max, - gint tab_space, - GList **last_child, - gint *n, - gint *remaining_space) + gboolean show_arrows, + gint min, + gint max, + gint tab_space, + GList **last_child, + gint *n, + gint *remaining_space) { GtkNotebookPrivate *priv = notebook->priv; GtkWidget *widget; @@ -5418,7 +5418,7 @@ gtk_notebook_calculate_shown_tabs (GtkNotebook *notebook, GList *children; GtkNotebookPage *page; gint tab_pos, tab_overlap; - + widget = GTK_WIDGET (notebook); container = GTK_CONTAINER (notebook); gtk_widget_style_get (widget, "tab-overlap", &tab_overlap, NULL); @@ -5429,109 +5429,109 @@ gtk_notebook_calculate_shown_tabs (GtkNotebook *notebook, *remaining_space = tab_space; if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, priv->cur_page) && - gtk_widget_get_visible (priv->cur_page->child)) - { - gtk_notebook_calc_tabs (notebook, - priv->focus_tab, - &(priv->focus_tab), - remaining_space, STEP_NEXT); - } + gtk_widget_get_visible (priv->cur_page->child)) + { + gtk_notebook_calc_tabs (notebook, + priv->focus_tab, + &(priv->focus_tab), + remaining_space, STEP_NEXT); + } if (tab_space <= 0 || *remaining_space <= 0) - { - /* show 1 tab */ - priv->first_tab = priv->focus_tab; - *last_child = gtk_notebook_search_page (notebook, priv->focus_tab, - STEP_NEXT, TRUE); + { + /* show 1 tab */ + priv->first_tab = priv->focus_tab; + *last_child = gtk_notebook_search_page (notebook, priv->focus_tab, + STEP_NEXT, TRUE); page = priv->first_tab->data; *remaining_space = tab_space - page->requisition.width; *n = 1; - } + } else - { - children = NULL; + { + children = NULL; - if (priv->first_tab && priv->first_tab != priv->focus_tab) - { - /* Is first_tab really predecessor of focus_tab? */ - page = priv->first_tab->data; - if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && - gtk_widget_get_visible (page->child)) - for (children = priv->focus_tab; - children && children != priv->first_tab; - children = gtk_notebook_search_page (notebook, - children, - STEP_PREV, - TRUE)); - } + if (priv->first_tab && priv->first_tab != priv->focus_tab) + { + /* Is first_tab really predecessor of focus_tab? */ + page = priv->first_tab->data; + if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && + gtk_widget_get_visible (page->child)) + for (children = priv->focus_tab; + children && children != priv->first_tab; + children = gtk_notebook_search_page (notebook, + children, + STEP_PREV, + TRUE)); + } - if (!children) - { - if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, priv->cur_page)) - priv->first_tab = priv->focus_tab; - else - priv->first_tab = gtk_notebook_search_page (notebook, priv->focus_tab, - STEP_NEXT, TRUE); - } - else - /* calculate shown tabs counting backwards from the focus tab */ - gtk_notebook_calc_tabs (notebook, - gtk_notebook_search_page (notebook, - priv->focus_tab, - STEP_PREV, - TRUE), - &(priv->first_tab), remaining_space, - STEP_PREV); + if (!children) + { + if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, priv->cur_page)) + priv->first_tab = priv->focus_tab; + else + priv->first_tab = gtk_notebook_search_page (notebook, priv->focus_tab, + STEP_NEXT, TRUE); + } + else + /* calculate shown tabs counting backwards from the focus tab */ + gtk_notebook_calc_tabs (notebook, + gtk_notebook_search_page (notebook, + priv->focus_tab, + STEP_PREV, + TRUE), + &(priv->first_tab), remaining_space, + STEP_PREV); - if (*remaining_space < 0) - { - priv->first_tab = - gtk_notebook_search_page (notebook, priv->first_tab, - STEP_NEXT, TRUE); - if (!priv->first_tab) - priv->first_tab = priv->focus_tab; + if (*remaining_space < 0) + { + priv->first_tab = + gtk_notebook_search_page (notebook, priv->first_tab, + STEP_NEXT, TRUE); + if (!priv->first_tab) + priv->first_tab = priv->focus_tab; - *last_child = gtk_notebook_search_page (notebook, priv->focus_tab, - STEP_NEXT, TRUE); - } - else /* focus_tab -> end */ - { - if (!priv->first_tab) - priv->first_tab = gtk_notebook_search_page (notebook, - NULL, - STEP_NEXT, - TRUE); - children = NULL; - gtk_notebook_calc_tabs (notebook, - gtk_notebook_search_page (notebook, - priv->focus_tab, - STEP_NEXT, - TRUE), - &children, remaining_space, STEP_NEXT); + *last_child = gtk_notebook_search_page (notebook, priv->focus_tab, + STEP_NEXT, TRUE); + } + else /* focus_tab -> end */ + { + if (!priv->first_tab) + priv->first_tab = gtk_notebook_search_page (notebook, + NULL, + STEP_NEXT, + TRUE); + children = NULL; + gtk_notebook_calc_tabs (notebook, + gtk_notebook_search_page (notebook, + priv->focus_tab, + STEP_NEXT, + TRUE), + &children, remaining_space, STEP_NEXT); - if (*remaining_space <= 0) - *last_child = children; - else /* start <- first_tab */ - { - *last_child = NULL; - children = NULL; + if (*remaining_space <= 0) + *last_child = children; + else /* start <- first_tab */ + { + *last_child = NULL; + children = NULL; - gtk_notebook_calc_tabs (notebook, - gtk_notebook_search_page (notebook, - priv->first_tab, - STEP_PREV, - TRUE), - &children, remaining_space, STEP_PREV); + gtk_notebook_calc_tabs (notebook, + gtk_notebook_search_page (notebook, + priv->first_tab, + STEP_PREV, + TRUE), + &children, remaining_space, STEP_PREV); - if (*remaining_space == 0) - priv->first_tab = children; - else - priv->first_tab = gtk_notebook_search_page(notebook, - children, - STEP_NEXT, - TRUE); - } - } + if (*remaining_space == 0) + priv->first_tab = children; + else + priv->first_tab = gtk_notebook_search_page(notebook, + children, + STEP_NEXT, + TRUE); + } + } if (*remaining_space < 0) { @@ -5544,35 +5544,35 @@ gtk_notebook_calculate_shown_tabs (GtkNotebook *notebook, children = gtk_notebook_search_page (notebook, children, STEP_NEXT, TRUE)) (*n)++; - } + } else - *remaining_space = 0; + *remaining_space = 0; } /* unmap all non-visible tabs */ for (children = gtk_notebook_search_page (notebook, NULL, - STEP_NEXT, TRUE); - children && children != priv->first_tab; - children = gtk_notebook_search_page (notebook, children, - STEP_NEXT, TRUE)) - { - page = children->data; + STEP_NEXT, TRUE); + children && children != priv->first_tab; + children = gtk_notebook_search_page (notebook, children, + STEP_NEXT, TRUE)) + { + page = children->data; - if (page->tab_label && - NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page)) - gtk_widget_set_child_visible (page->tab_label, FALSE); - } + if (page->tab_label && + NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page)) + gtk_widget_set_child_visible (page->tab_label, FALSE); + } for (children = *last_child; children; - children = gtk_notebook_search_page (notebook, children, - STEP_NEXT, TRUE)) - { - page = children->data; + children = gtk_notebook_search_page (notebook, children, + STEP_NEXT, TRUE)) + { + page = children->data; - if (page->tab_label && - NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page)) - gtk_widget_set_child_visible (page->tab_label, FALSE); - } + if (page->tab_label && + NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page)) + gtk_widget_set_child_visible (page->tab_label, FALSE); + } } else /* !show_arrows */ { @@ -5587,32 +5587,32 @@ gtk_notebook_calculate_shown_tabs (GtkNotebook *notebook, *remaining_space = max - min - tab_overlap - tab_space; children = priv->children; priv->first_tab = gtk_notebook_search_page (notebook, NULL, - STEP_NEXT, TRUE); + STEP_NEXT, TRUE); while (children) - { - page = children->data; - children = children->next; + { + page = children->data; + children = children->next; - if (!NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) || - !gtk_widget_get_visible (page->child)) - continue; + if (!NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) || + !gtk_widget_get_visible (page->child)) + continue; - c++; + c++; - if (page->expand || + if (page->expand || (gtk_widget_compute_expand (page->tab_label, tab_expand_orientation))) - (*n)++; - } + (*n)++; + } /* if notebook is homogeneous, all tabs are expanded */ if (priv->homogeneous && *n) - *n = c; + *n = c; } } static gboolean get_allocate_at_bottom (GtkWidget *widget, - gint search_direction) + gint search_direction) { gboolean is_rtl = (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL); gboolean tab_pos = get_effective_tab_pos (GTK_NOTEBOOK (widget)); @@ -5622,9 +5622,9 @@ get_allocate_at_bottom (GtkWidget *widget, case GTK_POS_TOP: case GTK_POS_BOTTOM: if (!is_rtl) - return (search_direction == STEP_PREV); + return (search_direction == STEP_PREV); else - return (search_direction == STEP_NEXT); + return (search_direction == STEP_NEXT); break; case GTK_POS_RIGHT: @@ -5638,14 +5638,14 @@ get_allocate_at_bottom (GtkWidget *widget, static void gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, - GList **children, - GList *last_child, - gboolean showarrow, - gint direction, - gint *remaining_space, - gint *expanded_tabs, - gint min, - gint max) + GList **children, + GList *last_child, + gboolean showarrow, + gint direction, + gint *remaining_space, + gint *expanded_tabs, + gint min, + gint max) { GtkNotebookPrivate *priv = notebook->priv; GtkAllocation allocation; @@ -5681,17 +5681,17 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, { case GTK_POS_BOTTOM: child_allocation.y = allocation.y + allocation.height - - priv->cur_page->requisition.height - border_width; + priv->cur_page->requisition.height - border_width; /* fall through */ case GTK_POS_TOP: child_allocation.x = (allocate_at_bottom) ? max : min; child_allocation.height = priv->cur_page->requisition.height; anchor = child_allocation.x; break; - + case GTK_POS_RIGHT: child_allocation.x = allocation.x + allocation.width - - priv->cur_page->requisition.width - border_width; + priv->cur_page->requisition.width - border_width; /* fall through */ case GTK_POS_LEFT: child_allocation.y = (allocate_at_bottom) ? max : min; @@ -5701,9 +5701,9 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, } left_x = CLAMP (priv->mouse_x - priv->drag_offset_x, - min, max - priv->cur_page->allocation.width); + min, max - priv->cur_page->allocation.width); top_y = CLAMP (priv->mouse_y - priv->drag_offset_y, - min, max - priv->cur_page->allocation.height); + min, max - priv->cur_page->allocation.height); right_x = left_x + priv->cur_page->allocation.width; bottom_y = top_y + priv->cur_page->allocation.height; gap_left = packing_changed = FALSE; @@ -5724,214 +5724,214 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, gtk_style_context_get_padding (context, 0, &padding); if (direction == STEP_NEXT) - *children = gtk_notebook_search_page (notebook, *children, direction, TRUE); + *children = gtk_notebook_search_page (notebook, *children, direction, TRUE); else - { - *children = (*children)->next; + { + *children = (*children)->next; if (!gtk_widget_get_visible (page->child)) - continue; - } + continue; + } if (!NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page)) - continue; + continue; tab_extra_space = 0; if (*expanded_tabs && (showarrow || page->expand || gtk_widget_compute_expand (page->tab_label, tab_expand_orientation) || priv->homogeneous)) - { - tab_extra_space = *remaining_space / *expanded_tabs; - *remaining_space -= tab_extra_space; - (*expanded_tabs)--; - } + { + tab_extra_space = *remaining_space / *expanded_tabs; + *remaining_space -= tab_extra_space; + (*expanded_tabs)--; + } switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - child_allocation.width = page->requisition.width + tab_overlap + tab_extra_space; + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + child_allocation.width = page->requisition.width + tab_overlap + tab_extra_space; - /* make sure that the reordered tab doesn't go past the last position */ - if (priv->operation == DRAG_OPERATION_REORDER && - !gap_left && packing_changed) - { - if (!allocate_at_bottom) - { - if (left_x >= anchor) - { - left_x = priv->drag_window_x = anchor; - anchor += priv->cur_page->allocation.width - tab_overlap; - } - } - else - { - if (right_x <= anchor) - { - anchor -= priv->cur_page->allocation.width; - left_x = priv->drag_window_x = anchor; - anchor += tab_overlap; - } - } + /* make sure that the reordered tab doesn't go past the last position */ + if (priv->operation == DRAG_OPERATION_REORDER && + !gap_left && packing_changed) + { + if (!allocate_at_bottom) + { + if (left_x >= anchor) + { + left_x = priv->drag_window_x = anchor; + anchor += priv->cur_page->allocation.width - tab_overlap; + } + } + else + { + if (right_x <= anchor) + { + anchor -= priv->cur_page->allocation.width; + left_x = priv->drag_window_x = anchor; + anchor += tab_overlap; + } + } - gap_left = TRUE; - } + gap_left = TRUE; + } - if (priv->operation == DRAG_OPERATION_REORDER && page == priv->cur_page) - { - priv->drag_window_x = left_x; - priv->drag_window_y = child_allocation.y; - } - else - { - if (allocate_at_bottom) - anchor -= child_allocation.width; - - if (priv->operation == DRAG_OPERATION_REORDER) - { - if (!allocate_at_bottom && - left_x >= anchor && - left_x <= anchor + child_allocation.width / 2) - anchor += priv->cur_page->allocation.width - tab_overlap; - else if (allocate_at_bottom && - right_x >= anchor + child_allocation.width / 2 && - right_x <= anchor + child_allocation.width) - anchor -= priv->cur_page->allocation.width - tab_overlap; - } - - child_allocation.x = anchor; - } - - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - child_allocation.height = page->requisition.height + tab_overlap + tab_extra_space; - - /* make sure that the reordered tab doesn't go past the last position */ - if (priv->operation == DRAG_OPERATION_REORDER && - !gap_left && packing_changed) - { - if (!allocate_at_bottom && top_y >= anchor) - { - top_y = priv->drag_window_y = anchor; - anchor += priv->cur_page->allocation.height - tab_overlap; - } - - gap_left = TRUE; - } - - if (priv->operation == DRAG_OPERATION_REORDER && page == priv->cur_page) - { - priv->drag_window_x = child_allocation.x; - priv->drag_window_y = top_y; - } - else - { - if (allocate_at_bottom) - anchor -= child_allocation.height; + if (priv->operation == DRAG_OPERATION_REORDER && page == priv->cur_page) + { + priv->drag_window_x = left_x; + priv->drag_window_y = child_allocation.y; + } + else + { + if (allocate_at_bottom) + anchor -= child_allocation.width; if (priv->operation == DRAG_OPERATION_REORDER) - { - if (!allocate_at_bottom && - top_y >= anchor && - top_y <= anchor + child_allocation.height / 2) - anchor += priv->cur_page->allocation.height - tab_overlap; - else if (allocate_at_bottom && - bottom_y >= anchor + child_allocation.height / 2 && - bottom_y <= anchor + child_allocation.height) - anchor -= priv->cur_page->allocation.height - tab_overlap; - } + { + if (!allocate_at_bottom && + left_x >= anchor && + left_x <= anchor + child_allocation.width / 2) + anchor += priv->cur_page->allocation.width - tab_overlap; + else if (allocate_at_bottom && + right_x >= anchor + child_allocation.width / 2 && + right_x <= anchor + child_allocation.width) + anchor -= priv->cur_page->allocation.width - tab_overlap; + } - child_allocation.y = anchor; - } + child_allocation.x = anchor; + } - break; - } + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + child_allocation.height = page->requisition.height + tab_overlap + tab_extra_space; + + /* make sure that the reordered tab doesn't go past the last position */ + if (priv->operation == DRAG_OPERATION_REORDER && + !gap_left && packing_changed) + { + if (!allocate_at_bottom && top_y >= anchor) + { + top_y = priv->drag_window_y = anchor; + anchor += priv->cur_page->allocation.height - tab_overlap; + } + + gap_left = TRUE; + } + + if (priv->operation == DRAG_OPERATION_REORDER && page == priv->cur_page) + { + priv->drag_window_x = child_allocation.x; + priv->drag_window_y = top_y; + } + else + { + if (allocate_at_bottom) + anchor -= child_allocation.height; + + if (priv->operation == DRAG_OPERATION_REORDER) + { + if (!allocate_at_bottom && + top_y >= anchor && + top_y <= anchor + child_allocation.height / 2) + anchor += priv->cur_page->allocation.height - tab_overlap; + else if (allocate_at_bottom && + bottom_y >= anchor + child_allocation.height / 2 && + bottom_y <= anchor + child_allocation.height) + anchor -= priv->cur_page->allocation.height - tab_overlap; + } + + child_allocation.y = anchor; + } + + break; + } page->allocation = child_allocation; if ((page == priv->detached_tab && priv->operation == DRAG_OPERATION_DETACH) || - (page == priv->cur_page && priv->operation == DRAG_OPERATION_REORDER)) - { - /* needs to be allocated at 0,0 - * to be shown in the drag window */ - page->allocation.x = 0; - page->allocation.y = 0; - } - + (page == priv->cur_page && priv->operation == DRAG_OPERATION_REORDER)) + { + /* needs to be allocated at 0,0 + * to be shown in the drag window */ + page->allocation.x = 0; + page->allocation.y = 0; + } + if (page != priv->cur_page) - { - switch (tab_pos) - { - case GTK_POS_TOP: - page->allocation.y += padding.top; - /* fall through */ - case GTK_POS_BOTTOM: - page->allocation.height = MAX (1, page->allocation.height - padding.top); - break; - case GTK_POS_LEFT: - page->allocation.x += padding.left; - /* fall through */ - case GTK_POS_RIGHT: - page->allocation.width = MAX (1, page->allocation.width - padding.left); - break; - } - } + { + switch (tab_pos) + { + case GTK_POS_TOP: + page->allocation.y += padding.top; + /* fall through */ + case GTK_POS_BOTTOM: + page->allocation.height = MAX (1, page->allocation.height - padding.top); + break; + case GTK_POS_LEFT: + page->allocation.x += padding.left; + /* fall through */ + case GTK_POS_RIGHT: + page->allocation.width = MAX (1, page->allocation.width - padding.left); + break; + } + } /* calculate whether to leave a gap based on reorder operation or not */ switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - if (priv->operation != DRAG_OPERATION_REORDER || - (priv->operation == DRAG_OPERATION_REORDER && page != priv->cur_page)) - { - if (priv->operation == DRAG_OPERATION_REORDER) - { + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + if (priv->operation != DRAG_OPERATION_REORDER || + (priv->operation == DRAG_OPERATION_REORDER && page != priv->cur_page)) + { + if (priv->operation == DRAG_OPERATION_REORDER) + { if (!allocate_at_bottom && - left_x > anchor + child_allocation.width / 2 && - left_x <= anchor + child_allocation.width) + left_x > anchor + child_allocation.width / 2 && + left_x <= anchor + child_allocation.width) anchor += priv->cur_page->allocation.width - tab_overlap; else if (allocate_at_bottom && - right_x >= anchor && - right_x <= anchor + child_allocation.width / 2) + right_x >= anchor && + right_x <= anchor + child_allocation.width / 2) anchor -= priv->cur_page->allocation.width - tab_overlap; - } - - if (!allocate_at_bottom) - anchor += child_allocation.width - tab_overlap; - else - anchor += tab_overlap; - } + } - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - if (priv->operation != DRAG_OPERATION_REORDER || - (priv->operation == DRAG_OPERATION_REORDER && page != priv->cur_page)) - { - if (priv->operation == DRAG_OPERATION_REORDER) - { - if (!allocate_at_bottom && - top_y >= anchor + child_allocation.height / 2 && - top_y <= anchor + child_allocation.height) - anchor += priv->cur_page->allocation.height - tab_overlap; - else if (allocate_at_bottom && - bottom_y >= anchor && - bottom_y <= anchor + child_allocation.height / 2) - anchor -= priv->cur_page->allocation.height - tab_overlap; - } + if (!allocate_at_bottom) + anchor += child_allocation.width - tab_overlap; + else + anchor += tab_overlap; + } - if (!allocate_at_bottom) - anchor += child_allocation.height - tab_overlap; - else - anchor += tab_overlap; - } + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + if (priv->operation != DRAG_OPERATION_REORDER || + (priv->operation == DRAG_OPERATION_REORDER && page != priv->cur_page)) + { + if (priv->operation == DRAG_OPERATION_REORDER) + { + if (!allocate_at_bottom && + top_y >= anchor + child_allocation.height / 2 && + top_y <= anchor + child_allocation.height) + anchor += priv->cur_page->allocation.height - tab_overlap; + else if (allocate_at_bottom && + bottom_y >= anchor && + bottom_y <= anchor + child_allocation.height / 2) + anchor -= priv->cur_page->allocation.height - tab_overlap; + } - break; - } + if (!allocate_at_bottom) + anchor += child_allocation.height - tab_overlap; + else + anchor += tab_overlap; + } + + break; + } /* set child visible */ if (page->tab_label) - gtk_widget_set_child_visible (page->tab_label, TRUE); + gtk_widget_set_child_visible (page->tab_label, TRUE); } gtk_style_context_restore (context); @@ -5942,26 +5942,26 @@ gtk_notebook_calculate_tabs_allocation (GtkNotebook *notebook, direction == STEP_NEXT) { switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - if (allocate_at_bottom) - anchor -= priv->cur_page->allocation.width; + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + if (allocate_at_bottom) + anchor -= priv->cur_page->allocation.width; - if ((!allocate_at_bottom && priv->drag_window_x > anchor) || - (allocate_at_bottom && priv->drag_window_x < anchor)) - priv->drag_window_x = anchor; - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - if (allocate_at_bottom) - anchor -= priv->cur_page->allocation.height; + if ((!allocate_at_bottom && priv->drag_window_x > anchor) || + (allocate_at_bottom && priv->drag_window_x < anchor)) + priv->drag_window_x = anchor; + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + if (allocate_at_bottom) + anchor -= priv->cur_page->allocation.height; - if ((!allocate_at_bottom && priv->drag_window_y > anchor) || - (allocate_at_bottom && priv->drag_window_y < anchor)) - priv->drag_window_y = anchor; - break; - } + if ((!allocate_at_bottom && priv->drag_window_y > anchor) || + (allocate_at_bottom && priv->drag_window_y < anchor)) + priv->drag_window_y = anchor; + break; + } } } @@ -5983,22 +5983,22 @@ gtk_notebook_pages_allocate (GtkNotebook *notebook) expanded_tabs = 1; gtk_notebook_tab_space (notebook, &showarrow, - &min, &max, &tab_space); + &min, &max, &tab_space); gtk_notebook_calculate_shown_tabs (notebook, showarrow, - min, max, tab_space, &last_child, - &expanded_tabs, &remaining_space); + min, max, tab_space, &last_child, + &expanded_tabs, &remaining_space); children = priv->first_tab; gtk_notebook_calculate_tabs_allocation (notebook, &children, last_child, - showarrow, STEP_NEXT, - &remaining_space, &expanded_tabs, min, max); + showarrow, STEP_NEXT, + &remaining_space, &expanded_tabs, min, max); if (children && children != last_child) { children = priv->children; gtk_notebook_calculate_tabs_allocation (notebook, &children, last_child, - showarrow, STEP_PREV, - &remaining_space, &expanded_tabs, min, max); + showarrow, STEP_PREV, + &remaining_space, &expanded_tabs, min, max); } children = priv->children; @@ -6006,7 +6006,7 @@ gtk_notebook_pages_allocate (GtkNotebook *notebook) while (children) { if (gtk_notebook_page_allocate (notebook, GTK_NOTEBOOK_PAGE (children))) - tab_allocations_changed = TRUE; + tab_allocations_changed = TRUE; children = children->next; } @@ -6019,7 +6019,7 @@ gtk_notebook_pages_allocate (GtkNotebook *notebook) static gboolean gtk_notebook_page_allocate (GtkNotebook *notebook, - GtkNotebookPage *page) + GtkNotebookPage *page) { GtkWidget *widget = GTK_WIDGET (notebook); GtkNotebookPrivate *priv = notebook->priv; @@ -6052,73 +6052,73 @@ 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, - "tab-curvature", &tab_curvature, - NULL); + "focus-line-width", &focus_width, + "tab-curvature", &tab_curvature, + NULL); switch (tab_pos) { case GTK_POS_TOP: case GTK_POS_BOTTOM: padding = tab_curvature + focus_width + priv->tab_hborder; if (page->fill) - { - child_allocation.x = tab_padding.left + focus_width + priv->tab_hborder; - child_allocation.width = MAX (1, (page->allocation.width - + { + child_allocation.x = tab_padding.left + focus_width + priv->tab_hborder; + child_allocation.width = MAX (1, (page->allocation.width - tab_padding.left - tab_padding.right - 2 * (focus_width + priv->tab_hborder))); - child_allocation.x += page->allocation.x; - } + child_allocation.x += page->allocation.x; + } else - { - child_allocation.x = page->allocation.x + - (page->allocation.width - tab_requisition.width) / 2; + { + child_allocation.x = page->allocation.x + + (page->allocation.width - tab_requisition.width) / 2; - child_allocation.width = tab_requisition.width; - } + child_allocation.width = tab_requisition.width; + } child_allocation.y = priv->tab_vborder + focus_width + page->allocation.y; if (tab_pos == GTK_POS_TOP) - child_allocation.y += tab_padding.top; + child_allocation.y += tab_padding.top; 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))); break; case GTK_POS_LEFT: case GTK_POS_RIGHT: padding = tab_curvature + focus_width + priv->tab_vborder; if (page->fill) - { - child_allocation.y = tab_padding.top + padding; - child_allocation.height = MAX (1, (page->allocation.height - + { + child_allocation.y = tab_padding.top + padding; + child_allocation.height = MAX (1, (page->allocation.height - tab_padding.bottom - tab_padding.top - 2 * padding)); - child_allocation.y += page->allocation.y; - } + child_allocation.y += page->allocation.y; + } else - { - child_allocation.y = page->allocation.y + - (page->allocation.height - tab_requisition.height) / 2; + { + child_allocation.y = page->allocation.y + + (page->allocation.height - tab_requisition.height) / 2; - child_allocation.height = tab_requisition.height; - } + child_allocation.height = tab_requisition.height; + } child_allocation.x = priv->tab_hborder + focus_width + page->allocation.x; if (tab_pos == GTK_POS_LEFT) - child_allocation.x += tab_padding.left; + child_allocation.x += tab_padding.left; child_allocation.width = MAX (1, (page->allocation.width - tab_padding.right - - 2 * (priv->tab_hborder + focus_width))); + 2 * (priv->tab_hborder + focus_width))); break; } gtk_widget_get_allocation (page->tab_label, &label_allocation); tab_allocation_changed = (child_allocation.x != label_allocation.x || - child_allocation.y != label_allocation.y || - child_allocation.width != label_allocation.width || - child_allocation.height != label_allocation.height); + child_allocation.y != label_allocation.y || + child_allocation.width != label_allocation.width || + child_allocation.height != label_allocation.height); gtk_widget_size_allocate (page->tab_label, &child_allocation); @@ -6133,11 +6133,11 @@ gtk_notebook_page_allocate (GtkNotebook *notebook, return tab_allocation_changed; } -static void +static void gtk_notebook_calc_tabs (GtkNotebook *notebook, - GList *start, + GList *start, GList **end, - gint *tab_space, + gint *tab_space, guint direction) { GtkNotebookPage *page = NULL; @@ -6154,17 +6154,17 @@ gtk_notebook_calc_tabs (GtkNotebook *notebook, while (1) { switch (tab_pos) - { - case GTK_POS_TOP: - case GTK_POS_BOTTOM: - while (children) - { - page = children->data; - if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && - gtk_widget_get_visible (page->child)) - { - *tab_space -= page->requisition.width; - if (*tab_space < 0 || children == *end) + { + case GTK_POS_TOP: + case GTK_POS_BOTTOM: + while (children) + { + page = children->data; + if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && + gtk_widget_get_visible (page->child)) + { + *tab_space -= page->requisition.width; + if (*tab_space < 0 || children == *end) { if (*tab_space < 0) { @@ -6181,21 +6181,21 @@ gtk_notebook_calc_tabs (GtkNotebook *notebook, last_calculated_child = children; last_list = children; - } - if (direction == STEP_NEXT) - children = children->next; - else - children = children->prev; - } - break; - case GTK_POS_LEFT: - case GTK_POS_RIGHT: - while (children) - { - page = children->data; - if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && - gtk_widget_get_visible (page->child)) - { + } + if (direction == STEP_NEXT) + children = children->next; + else + children = children->prev; + } + break; + case GTK_POS_LEFT: + case GTK_POS_RIGHT: + while (children) + { + page = children->data; + if (NOTEBOOK_IS_TAB_LABEL_PARENT (notebook, page) && + gtk_widget_get_visible (page->child)) + { *tab_space -= page->requisition.height; if (*tab_space < 0 || children == *end) { @@ -6214,16 +6214,16 @@ gtk_notebook_calc_tabs (GtkNotebook *notebook, last_calculated_child = children; last_list = children; - } - if (direction == STEP_NEXT) - children = children->next; - else - children = children->prev; - } - break; - } + } + if (direction == STEP_NEXT) + children = children->next; + else + children = children->prev; + } + break; + } if (direction == STEP_PREV) - return; + return; direction = STEP_PREV; children = last_list; } @@ -6238,16 +6238,16 @@ gtk_notebook_update_tab_states (GtkNotebook *notebook) for (list = priv->children; list != NULL; list = list->next) { GtkNotebookPage *page = list->data; - + if (page->tab_label) - { - if (page == priv->cur_page) + { + if (page == priv->cur_page) gtk_widget_set_state_flags (page->tab_label, GTK_STATE_FLAG_ACTIVE, TRUE); else gtk_widget_set_state_flags (page->tab_label, 0, TRUE); gtk_widget_reset_style (page->tab_label); - } + } } } @@ -6257,8 +6257,8 @@ gtk_notebook_update_tab_states (GtkNotebook *notebook) */ static void gtk_notebook_real_switch_page (GtkNotebook *notebook, - GtkWidget* child, - guint page_num) + GtkWidget* child, + guint page_num) { GtkNotebookPrivate *priv = notebook->priv; GList *list = gtk_notebook_find_child (notebook, GTK_WIDGET (child), NULL); @@ -6290,13 +6290,13 @@ gtk_notebook_real_switch_page (GtkNotebook *notebook, if (child_has_focus) { if (priv->cur_page->last_focus_child && - gtk_widget_is_ancestor (priv->cur_page->last_focus_child, priv->cur_page->child)) - gtk_widget_grab_focus (priv->cur_page->last_focus_child); + gtk_widget_is_ancestor (priv->cur_page->last_focus_child, priv->cur_page->child)) + gtk_widget_grab_focus (priv->cur_page->last_focus_child); else - if (!gtk_widget_child_focus (priv->cur_page->child, GTK_DIR_TAB_FORWARD)) - gtk_widget_grab_focus (GTK_WIDGET (notebook)); + if (!gtk_widget_child_focus (priv->cur_page->child, GTK_DIR_TAB_FORWARD)) + gtk_widget_grab_focus (GTK_WIDGET (notebook)); } - + gtk_notebook_update_tab_states (notebook); gtk_widget_queue_resize (GTK_WIDGET (notebook)); g_object_notify (G_OBJECT (notebook), "page"); @@ -6311,7 +6311,7 @@ gtk_notebook_real_switch_page (GtkNotebook *notebook, */ static void gtk_notebook_switch_page (GtkNotebook *notebook, - GtkNotebookPage *page) + GtkNotebookPage *page) { GtkNotebookPrivate *priv = notebook->priv; guint page_num; @@ -6322,15 +6322,15 @@ gtk_notebook_switch_page (GtkNotebook *notebook, page_num = g_list_index (priv->children, page); g_signal_emit (notebook, - notebook_signals[SWITCH_PAGE], - 0, - page->child, - page_num); + notebook_signals[SWITCH_PAGE], + 0, + page->child, + page_num); } static gint gtk_notebook_page_select (GtkNotebook *notebook, - gboolean move_focus) + gboolean move_focus) { GtkNotebookPrivate *priv = notebook->priv; GtkNotebookPage *page; @@ -6346,20 +6346,20 @@ gtk_notebook_page_select (GtkNotebook *notebook, if (move_focus) { switch (tab_pos) - { - case GTK_POS_TOP: - dir = GTK_DIR_DOWN; - break; - case GTK_POS_BOTTOM: - dir = GTK_DIR_UP; - break; - case GTK_POS_LEFT: - dir = GTK_DIR_RIGHT; - break; - case GTK_POS_RIGHT: - dir = GTK_DIR_LEFT; - break; - } + { + case GTK_POS_TOP: + dir = GTK_DIR_DOWN; + break; + case GTK_POS_BOTTOM: + dir = GTK_DIR_UP; + break; + case GTK_POS_LEFT: + dir = GTK_DIR_RIGHT; + break; + case GTK_POS_RIGHT: + dir = GTK_DIR_LEFT; + break; + } if (gtk_widget_child_focus (page->child, dir)) return TRUE; @@ -6368,8 +6368,8 @@ gtk_notebook_page_select (GtkNotebook *notebook, } static void -gtk_notebook_switch_focus_tab (GtkNotebook *notebook, - GList *new_child) +gtk_notebook_switch_focus_tab (GtkNotebook *notebook, + GList *new_child) { GtkNotebookPrivate *priv = notebook->priv; GList *old_child; @@ -6398,7 +6398,7 @@ gtk_notebook_switch_focus_tab (GtkNotebook *notebook, static void gtk_notebook_menu_switch_page (GtkWidget *widget, - GtkNotebookPage *page) + GtkNotebookPage *page) { GtkNotebookPrivate *priv; GtkNotebook *notebook; @@ -6422,10 +6422,10 @@ gtk_notebook_menu_switch_page (GtkWidget *widget, } g_signal_emit (notebook, - notebook_signals[SWITCH_PAGE], - 0, - page->child, - page_num); + notebook_signals[SWITCH_PAGE], + 0, + page->child, + page_num); } /* Private GtkNotebook Menu Functions: @@ -6435,8 +6435,8 @@ gtk_notebook_menu_switch_page (GtkWidget *widget, * gtk_notebook_menu_detacher */ static void -gtk_notebook_menu_item_create (GtkNotebook *notebook, - GList *list) +gtk_notebook_menu_item_create (GtkNotebook *notebook, + GList *list) { GtkNotebookPrivate *priv = notebook->priv; GtkNotebookPage *page; @@ -6446,9 +6446,9 @@ gtk_notebook_menu_item_create (GtkNotebook *notebook, if (page->default_menu) { if (GTK_IS_LABEL (page->tab_label)) - page->menu_label = gtk_label_new (gtk_label_get_label (GTK_LABEL (page->tab_label))); + page->menu_label = gtk_label_new (gtk_label_get_label (GTK_LABEL (page->tab_label))); else - page->menu_label = gtk_label_new (""); + page->menu_label = gtk_label_new (""); gtk_misc_set_alignment (GTK_MISC (page->menu_label), 0.0, 0.5); } @@ -6458,14 +6458,14 @@ gtk_notebook_menu_item_create (GtkNotebook *notebook, gtk_menu_shell_insert (GTK_MENU_SHELL (priv->menu), menu_item, g_list_position (priv->children, list)); g_signal_connect (menu_item, "activate", - G_CALLBACK (gtk_notebook_menu_switch_page), page); + G_CALLBACK (gtk_notebook_menu_switch_page), page); if (gtk_widget_get_visible (page->child)) gtk_widget_show (menu_item); } static void -gtk_notebook_menu_label_unparent (GtkWidget *widget, - gpointer data) +gtk_notebook_menu_label_unparent (GtkWidget *widget, + gpointer data) { gtk_widget_unparent (gtk_bin_get_child (GTK_BIN (widget))); _gtk_bin_set_child (GTK_BIN (widget), NULL); @@ -6473,7 +6473,7 @@ gtk_notebook_menu_label_unparent (GtkWidget *widget, static void gtk_notebook_menu_detacher (GtkWidget *widget, - GtkMenu *menu) + GtkMenu *menu) { GtkNotebook *notebook = GTK_NOTEBOOK (widget); GtkNotebookPrivate *priv = notebook->priv; @@ -6496,168 +6496,168 @@ gtk_notebook_menu_detacher (GtkWidget *widget, /** * gtk_notebook_append_page: * @notebook: a #GtkNotebook - * @child: the #GtkWidget to use as the contents of the page. - * @tab_label: (allow-none): the #GtkWidget to be used as the label for the page, - * or %NULL to use the default label, 'page N'. + * @child: the #GtkWidget to use as the contents of the page + * @tab_label: (allow-none): the #GtkWidget to be used as the label + * for the page, or %NULL to use the default label, 'page N' * * Appends a page to @notebook. * * Return value: the index (starting from 0) of the appended - * page in the notebook, or -1 if function fails - **/ + * page in the notebook, or -1 if function fails + */ gint gtk_notebook_append_page (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label) + GtkWidget *child, + GtkWidget *tab_label) { g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (GTK_IS_WIDGET (child), -1); g_return_val_if_fail (tab_label == NULL || GTK_IS_WIDGET (tab_label), -1); - + return gtk_notebook_insert_page_menu (notebook, child, tab_label, NULL, -1); } /** * gtk_notebook_append_page_menu: * @notebook: a #GtkNotebook - * @child: the #GtkWidget to use as the contents of the page. - * @tab_label: (allow-none): the #GtkWidget to be used as the label for the page, - * or %NULL to use the default label, 'page N'. - * @menu_label: (allow-none): the widget to use as a label for the page-switch - * menu, if that is enabled. If %NULL, and @tab_label - * is a #GtkLabel or %NULL, then the menu label will be - * a newly created label with the same text as @tab_label; - * If @tab_label is not a #GtkLabel, @menu_label must be - * specified if the page-switch menu is to be used. - * + * @child: the #GtkWidget to use as the contents of the page + * @tab_label: (allow-none): the #GtkWidget to be used as the label + * for the page, or %NULL to use the default label, 'page N' + * @menu_label: (allow-none): the widget to use as a label for the + * page-switch menu, if that is enabled. If %NULL, and @tab_label + * is a #GtkLabel or %NULL, then the menu label will be a newly + * created label with the same text as @tab_label; if @tab_label + * is not a #GtkLabel, @menu_label must be specified if the + * page-switch menu is to be used. + * * Appends a page to @notebook, specifying the widget to use as the * label in the popup menu. * * Return value: the index (starting from 0) of the appended - * page in the notebook, or -1 if function fails - **/ + * page in the notebook, or -1 if function fails + */ gint gtk_notebook_append_page_menu (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label, - GtkWidget *menu_label) + GtkWidget *child, + GtkWidget *tab_label, + GtkWidget *menu_label) { g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (GTK_IS_WIDGET (child), -1); g_return_val_if_fail (tab_label == NULL || GTK_IS_WIDGET (tab_label), -1); g_return_val_if_fail (menu_label == NULL || GTK_IS_WIDGET (menu_label), -1); - + return gtk_notebook_insert_page_menu (notebook, child, tab_label, menu_label, -1); } /** * gtk_notebook_prepend_page: * @notebook: a #GtkNotebook - * @child: the #GtkWidget to use as the contents of the page. - * @tab_label: (allow-none): the #GtkWidget to be used as the label for the page, - * or %NULL to use the default label, 'page N'. + * @child: the #GtkWidget to use as the contents of the page + * @tab_label: (allow-none): the #GtkWidget to be used as the label + * for the page, or %NULL to use the default label, 'page N' * * Prepends a page to @notebook. * * Return value: the index (starting from 0) of the prepended - * page in the notebook, or -1 if function fails - **/ + * page in the notebook, or -1 if function fails + */ gint gtk_notebook_prepend_page (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label) + GtkWidget *child, + GtkWidget *tab_label) { g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (GTK_IS_WIDGET (child), -1); g_return_val_if_fail (tab_label == NULL || GTK_IS_WIDGET (tab_label), -1); - + return gtk_notebook_insert_page_menu (notebook, child, tab_label, NULL, 0); } /** * gtk_notebook_prepend_page_menu: * @notebook: a #GtkNotebook - * @child: the #GtkWidget to use as the contents of the page. - * @tab_label: (allow-none): the #GtkWidget to be used as the label for the page, - * or %NULL to use the default label, 'page N'. - * @menu_label: (allow-none): the widget to use as a label for the page-switch - * menu, if that is enabled. If %NULL, and @tab_label - * is a #GtkLabel or %NULL, then the menu label will be - * a newly created label with the same text as @tab_label; - * If @tab_label is not a #GtkLabel, @menu_label must be - * specified if the page-switch menu is to be used. - * + * @child: the #GtkWidget to use as the contents of the page + * @tab_label: (allow-none): the #GtkWidget to be used as the label + * for the page, or %NULL to use the default label, 'page N' + * @menu_label: (allow-none): the widget to use as a label for the + * page-switch menu, if that is enabled. If %NULL, and @tab_label + * is a #GtkLabel or %NULL, then the menu label will be a newly + * created label with the same text as @tab_label; if @tab_label + * is not a #GtkLabel, @menu_label must be specified if the + * page-switch menu is to be used. + * * Prepends a page to @notebook, specifying the widget to use as the * label in the popup menu. * * Return value: the index (starting from 0) of the prepended - * page in the notebook, or -1 if function fails - **/ + * page in the notebook, or -1 if function fails + */ gint gtk_notebook_prepend_page_menu (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label, - GtkWidget *menu_label) + GtkWidget *child, + GtkWidget *tab_label, + GtkWidget *menu_label) { g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (GTK_IS_WIDGET (child), -1); g_return_val_if_fail (tab_label == NULL || GTK_IS_WIDGET (tab_label), -1); g_return_val_if_fail (menu_label == NULL || GTK_IS_WIDGET (menu_label), -1); - + return gtk_notebook_insert_page_menu (notebook, child, tab_label, menu_label, 0); } /** * gtk_notebook_insert_page: * @notebook: a #GtkNotebook - * @child: the #GtkWidget to use as the contents of the page. - * @tab_label: (allow-none): the #GtkWidget to be used as the label for the page, - * or %NULL to use the default label, 'page N'. + * @child: the #GtkWidget to use as the contents of the page + * @tab_label: (allow-none): the #GtkWidget to be used as the label + * for the page, or %NULL to use the default label, 'page N' * @position: the index (starting at 0) at which to insert the page, - * or -1 to append the page after all other pages. + * or -1 to append the page after all other pages * * Insert a page into @notebook at the given position. * * Return value: the index (starting from 0) of the inserted - * page in the notebook, or -1 if function fails - **/ + * page in the notebook, or -1 if function fails + */ gint gtk_notebook_insert_page (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label, - gint position) + GtkWidget *child, + GtkWidget *tab_label, + gint position) { g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), -1); g_return_val_if_fail (GTK_IS_WIDGET (child), -1); g_return_val_if_fail (tab_label == NULL || GTK_IS_WIDGET (tab_label), -1); - + return gtk_notebook_insert_page_menu (notebook, child, tab_label, NULL, position); } static gint gtk_notebook_page_compare_tab (gconstpointer a, - gconstpointer b) + gconstpointer b) { return (((GtkNotebookPage *) a)->tab_label != b); } static gboolean gtk_notebook_mnemonic_activate_switch_page (GtkWidget *child, - gboolean overload, - gpointer data) + gboolean overload, + gpointer data) { GtkNotebook *notebook = GTK_NOTEBOOK (data); GtkNotebookPrivate *priv = notebook->priv; GList *list; list = g_list_find_custom (priv->children, child, - gtk_notebook_page_compare_tab); + gtk_notebook_page_compare_tab); if (list) { GtkNotebookPage *page = list->data; - gtk_widget_grab_focus (GTK_WIDGET (notebook)); /* Do this first to avoid focusing new page */ + gtk_widget_grab_focus (GTK_WIDGET (notebook)); /* Do this first to avoid focusing new page */ gtk_notebook_switch_page (notebook, page); focus_tabs_in (notebook); } @@ -6668,30 +6668,30 @@ gtk_notebook_mnemonic_activate_switch_page (GtkWidget *child, /** * gtk_notebook_insert_page_menu: * @notebook: a #GtkNotebook - * @child: the #GtkWidget to use as the contents of the page. - * @tab_label: (allow-none): the #GtkWidget to be used as the label for the page, - * or %NULL to use the default label, 'page N'. - * @menu_label: (allow-none): the widget to use as a label for the page-switch - * menu, if that is enabled. If %NULL, and @tab_label - * is a #GtkLabel or %NULL, then the menu label will be - * a newly created label with the same text as @tab_label; - * If @tab_label is not a #GtkLabel, @menu_label must be - * specified if the page-switch menu is to be used. + * @child: the #GtkWidget to use as the contents of the page + * @tab_label: (allow-none): the #GtkWidget to be used as the label + * for the page, or %NULL to use the default label, 'page N' + * @menu_label: (allow-none): the widget to use as a label for the + * page-switch menu, if that is enabled. If %NULL, and @tab_label + * is a #GtkLabel or %NULL, then the menu label will be a newly + * created label with the same text as @tab_label; if @tab_label + * is not a #GtkLabel, @menu_label must be specified if the + * page-switch menu is to be used. * @position: the index (starting at 0) at which to insert the page, - * or -1 to append the page after all other pages. - * + * or -1 to append the page after all other pages. + * * Insert a page into @notebook at the given position, specifying * the widget to use as the label in the popup menu. * * Return value: the index (starting from 0) of the inserted - * page in the notebook - **/ + * page in the notebook + */ gint gtk_notebook_insert_page_menu (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label, - GtkWidget *menu_label, - gint position) + GtkWidget *child, + GtkWidget *tab_label, + GtkWidget *menu_label, + gint position) { GtkNotebookClass *class; @@ -6707,17 +6707,16 @@ gtk_notebook_insert_page_menu (GtkNotebook *notebook, /** * gtk_notebook_remove_page: - * @notebook: a #GtkNotebook. + * @notebook: a #GtkNotebook * @page_num: the index of a notebook page, starting - * from 0. If -1, the last page will - * be removed. - * + * from 0. If -1, the last page will be removed. + * * Removes a page from the notebook given its index * in the notebook. - **/ + */ void gtk_notebook_remove_page (GtkNotebook *notebook, - gint page_num) + gint page_num) { GtkNotebookPrivate *priv; GList *list = NULL; @@ -6733,7 +6732,7 @@ gtk_notebook_remove_page (GtkNotebook *notebook, if (list) gtk_container_remove (GTK_CONTAINER (notebook), - ((GtkNotebookPage *) list->data)->child); + ((GtkNotebookPage *) list->data)->child); } /* Public GtkNotebook Page Switch Methods : @@ -6746,13 +6745,13 @@ gtk_notebook_remove_page (GtkNotebook *notebook, /** * gtk_notebook_get_current_page: * @notebook: a #GtkNotebook - * + * * Returns the page number of the current page. - * + * * Return value: the index (starting from 0) of the current - * page in the notebook. If the notebook has no pages, then - * -1 will be returned. - **/ + * page in the notebook. If the notebook has no pages, + * then -1 will be returned. + */ gint gtk_notebook_get_current_page (GtkNotebook *notebook) { @@ -6772,16 +6771,16 @@ gtk_notebook_get_current_page (GtkNotebook *notebook) * gtk_notebook_get_nth_page: * @notebook: a #GtkNotebook * @page_num: the index of a page in the notebook, or -1 - * to get the last page. - * + * to get the last page + * * Returns the child widget contained in page number @page_num. * - * Return value: (transfer none): the child widget, or %NULL if @page_num is - * out of bounds. - **/ + * Return value: (transfer none): the child widget, or %NULL + * if @page_num is out of bounds + */ GtkWidget* gtk_notebook_get_nth_page (GtkNotebook *notebook, - gint page_num) + gint page_num) { GtkNotebookPrivate *priv; GtkNotebookPage *page; @@ -6808,13 +6807,13 @@ gtk_notebook_get_nth_page (GtkNotebook *notebook, /** * gtk_notebook_get_n_pages: * @notebook: a #GtkNotebook - * + * * Gets the number of pages in a notebook. - * - * Return value: the number of pages in the notebook. + * + * Return value: the number of pages in the notebook * * Since: 2.2 - **/ + */ gint gtk_notebook_get_n_pages (GtkNotebook *notebook) { @@ -6831,16 +6830,16 @@ gtk_notebook_get_n_pages (GtkNotebook *notebook) * gtk_notebook_page_num: * @notebook: a #GtkNotebook * @child: a #GtkWidget - * + * * Finds the index of the page which contains the given child * widget. - * + * * Return value: the index of the page containing @child, or - * -1 if @child is not in the notebook. - **/ + * -1 if @child is not in the notebook + */ gint gtk_notebook_page_num (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GtkNotebookPrivate *priv; GList *children; @@ -6855,9 +6854,9 @@ gtk_notebook_page_num (GtkNotebook *notebook, while (children) { GtkNotebookPage *page = children->data; - + if (page->child == child) - return num; + return num; children = children->next; num++; @@ -6870,20 +6869,20 @@ gtk_notebook_page_num (GtkNotebook *notebook, * gtk_notebook_set_current_page: * @notebook: a #GtkNotebook * @page_num: index of the page to switch to, starting from 0. - * If negative, the last page will be used. If greater - * than the number of pages in the notebook, nothing - * will be done. - * - * Switches to the page number @page_num. + * If negative, the last page will be used. If greater + * than the number of pages in the notebook, nothing + * will be done. + * + * Switches to the page number @page_num. * * Note that due to historical reasons, GtkNotebook refuses - * to switch to a page unless the child widget is visible. + * to switch to a page unless the child widget is visible. * Therefore, it is recommended to show child widgets before - * adding them to a notebook. + * adding them to a notebook. */ void gtk_notebook_set_current_page (GtkNotebook *notebook, - gint page_num) + gint page_num) { GtkNotebookPrivate *priv; GList *list; @@ -6903,10 +6902,10 @@ gtk_notebook_set_current_page (GtkNotebook *notebook, /** * gtk_notebook_next_page: * @notebook: a #GtkNotebook - * + * * Switches to the next page. Nothing happens if the current page is * the last page. - **/ + */ void gtk_notebook_next_page (GtkNotebook *notebook) { @@ -6931,10 +6930,10 @@ gtk_notebook_next_page (GtkNotebook *notebook) /** * gtk_notebook_prev_page: * @notebook: a #GtkNotebook - * + * * Switches to the previous page. Nothing happens if the current page * is the first page. - **/ + */ void gtk_notebook_prev_page (GtkNotebook *notebook) { @@ -6972,15 +6971,15 @@ gtk_notebook_prev_page (GtkNotebook *notebook) /** * gtk_notebook_set_show_border: * @notebook: a #GtkNotebook - * @show_border: %TRUE if a bevel should be drawn around the notebook. - * + * @show_border: %TRUE if a bevel should be drawn around the notebook + * * Sets whether a bevel will be drawn around the notebook pages. * This only has a visual effect when the tabs are not shown. * See gtk_notebook_set_show_tabs(). - **/ + */ void gtk_notebook_set_show_border (GtkNotebook *notebook, - gboolean show_border) + gboolean show_border) { GtkNotebookPrivate *priv; @@ -6993,8 +6992,8 @@ gtk_notebook_set_show_border (GtkNotebook *notebook, priv->show_border = show_border; if (gtk_widget_get_visible (GTK_WIDGET (notebook))) - gtk_widget_queue_resize (GTK_WIDGET (notebook)); - + gtk_widget_queue_resize (GTK_WIDGET (notebook)); + g_object_notify (G_OBJECT (notebook), "show-border"); } } @@ -7003,11 +7002,11 @@ gtk_notebook_set_show_border (GtkNotebook *notebook, * gtk_notebook_get_show_border: * @notebook: a #GtkNotebook * - * Returns whether a bevel will be drawn around the notebook pages. See - * gtk_notebook_set_show_border(). + * Returns whether a bevel will be drawn around the notebook pages. + * See gtk_notebook_set_show_border(). * * Return value: %TRUE if the bevel is drawn - **/ + */ gboolean gtk_notebook_get_show_border (GtkNotebook *notebook) { @@ -7019,13 +7018,13 @@ gtk_notebook_get_show_border (GtkNotebook *notebook) /** * gtk_notebook_set_show_tabs: * @notebook: a #GtkNotebook - * @show_tabs: %TRUE if the tabs should be shown. - * + * @show_tabs: %TRUE if the tabs should be shown + * * Sets whether to show the tabs for the notebook or not. - **/ + */ void gtk_notebook_set_show_tabs (GtkNotebook *notebook, - gboolean show_tabs) + gboolean show_tabs) { GtkNotebookPrivate *priv; GtkNotebookPage *page; @@ -7049,17 +7048,17 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook, gtk_widget_set_can_focus (GTK_WIDGET (notebook), FALSE); while (children) - { - page = children->data; - children = children->next; - if (page->default_tab) - { - gtk_widget_destroy (page->tab_label); - page->tab_label = NULL; - } - else - gtk_widget_hide (page->tab_label); - } + { + page = children->data; + children = children->next; + if (page->default_tab) + { + gtk_widget_destroy (page->tab_label); + page->tab_label = NULL; + } + else + gtk_widget_hide (page->tab_label); + } } else { @@ -7082,11 +7081,11 @@ gtk_notebook_set_show_tabs (GtkNotebook *notebook, * gtk_notebook_get_show_tabs: * @notebook: a #GtkNotebook * - * Returns whether the tabs of the notebook are shown. See - * gtk_notebook_set_show_tabs(). + * Returns whether the tabs of the notebook are shown. + * See gtk_notebook_set_show_tabs(). * * Return value: %TRUE if the tabs are shown - **/ + */ gboolean gtk_notebook_get_show_tabs (GtkNotebook *notebook) { @@ -7098,14 +7097,14 @@ gtk_notebook_get_show_tabs (GtkNotebook *notebook) /** * gtk_notebook_set_tab_pos: * @notebook: a #GtkNotebook. - * @pos: the edge to draw the tabs at. - * + * @pos: the edge to draw the tabs at + * * Sets the edge at which the tabs for switching pages in the * notebook are drawn. - **/ + */ void gtk_notebook_set_tab_pos (GtkNotebook *notebook, - GtkPositionType pos) + GtkPositionType pos) { GtkNotebookPrivate *priv; @@ -7117,7 +7116,7 @@ gtk_notebook_set_tab_pos (GtkNotebook *notebook, { priv->tab_pos = pos; if (gtk_widget_get_visible (GTK_WIDGET (notebook))) - gtk_widget_queue_resize (GTK_WIDGET (notebook)); + gtk_widget_queue_resize (GTK_WIDGET (notebook)); } g_object_notify (G_OBJECT (notebook), "tab-pos"); @@ -7131,7 +7130,7 @@ gtk_notebook_set_tab_pos (GtkNotebook *notebook, * notebook are drawn. * * Return value: the edge at which the tabs are drawn - **/ + */ GtkPositionType gtk_notebook_get_tab_pos (GtkNotebook *notebook) { @@ -7144,13 +7143,13 @@ gtk_notebook_get_tab_pos (GtkNotebook *notebook) * gtk_notebook_set_scrollable: * @notebook: a #GtkNotebook * @scrollable: %TRUE if scroll arrows should be added - * - * Sets whether the tab label area will have arrows for scrolling if - * there are too many tabs to fit in the area. - **/ + * + * Sets whether the tab label area will have arrows for + * scrolling if there are too many tabs to fit in the area. + */ void gtk_notebook_set_scrollable (GtkNotebook *notebook, - gboolean scrollable) + gboolean scrollable) { GtkNotebookPrivate *priv; @@ -7165,7 +7164,7 @@ gtk_notebook_set_scrollable (GtkNotebook *notebook, priv->scrollable = scrollable; if (gtk_widget_get_visible (GTK_WIDGET (notebook))) - gtk_widget_queue_resize (GTK_WIDGET (notebook)); + gtk_widget_queue_resize (GTK_WIDGET (notebook)); g_object_notify (G_OBJECT (notebook), "scrollable"); } @@ -7175,11 +7174,11 @@ gtk_notebook_set_scrollable (GtkNotebook *notebook, * gtk_notebook_get_scrollable: * @notebook: a #GtkNotebook * - * Returns whether the tab label area has arrows for scrolling. See - * gtk_notebook_set_scrollable(). + * Returns whether the tab label area has arrows for scrolling. + * See gtk_notebook_set_scrollable(). * * Return value: %TRUE if arrows for scrolling are present - **/ + */ gboolean gtk_notebook_get_scrollable (GtkNotebook *notebook) { @@ -7235,10 +7234,11 @@ gtk_notebook_get_tab_vborder (GtkNotebook *notebook) /** * gtk_notebook_popup_enable: * @notebook: a #GtkNotebook - * - * Enables the popup menu: if the user clicks with the right mouse button on - * the tab labels, a menu with all the pages will be popped up. - **/ + * + * Enables the popup menu: if the user clicks with the right + * mouse button on the tab labels, a menu with all the pages + * will be popped up. + */ void gtk_notebook_popup_enable (GtkNotebook *notebook) { @@ -7260,8 +7260,8 @@ gtk_notebook_popup_enable (GtkNotebook *notebook) gtk_notebook_update_labels (notebook); gtk_menu_attach_to_widget (GTK_MENU (priv->menu), - GTK_WIDGET (notebook), - gtk_notebook_menu_detacher); + GTK_WIDGET (notebook), + gtk_notebook_menu_detacher); g_object_notify (G_OBJECT (notebook), "enable-popup"); } @@ -7269,10 +7269,10 @@ gtk_notebook_popup_enable (GtkNotebook *notebook) /** * gtk_notebook_popup_disable: * @notebook: a #GtkNotebook - * + * * Disables the popup menu. - **/ -void + */ +void gtk_notebook_popup_disable (GtkNotebook *notebook) { GtkNotebookPrivate *priv; @@ -7285,7 +7285,7 @@ gtk_notebook_popup_disable (GtkNotebook *notebook) return; gtk_container_foreach (GTK_CONTAINER (priv->menu), - (GtkCallback) gtk_notebook_menu_label_unparent, NULL); + (GtkCallback) gtk_notebook_menu_label_unparent, NULL); gtk_widget_destroy (priv->menu); g_object_notify (G_OBJECT (notebook), "enable-popup"); @@ -7309,16 +7309,16 @@ gtk_notebook_popup_disable (GtkNotebook *notebook) * gtk_notebook_get_tab_label: * @notebook: a #GtkNotebook * @child: the page - * - * Returns the tab label widget for the page @child. %NULL is returned - * if @child is not in @notebook or if no tab label has specifically - * been set for @child. + * + * Returns the tab label widget for the page @child. + * %NULL is returned if @child is not in @notebook or + * if no tab label has specifically been set for @child. * * Return value: (transfer none): the tab label - **/ + */ GtkWidget * gtk_notebook_get_tab_label (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GList *list; @@ -7326,29 +7326,30 @@ gtk_notebook_get_tab_label (GtkNotebook *notebook, g_return_val_if_fail (GTK_IS_WIDGET (child), NULL); list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return NULL; if (GTK_NOTEBOOK_PAGE (list)->default_tab) return NULL; return GTK_NOTEBOOK_PAGE (list)->tab_label; -} +} /** * gtk_notebook_set_tab_label: * @notebook: a #GtkNotebook * @child: the page - * @tab_label: (allow-none): the tab label widget to use, or %NULL for default tab - * label. + * @tab_label: (allow-none): the tab label widget to use, or %NULL + * for default tab label * - * Changes the tab label for @child. If %NULL is specified - * for @tab_label, then the page will have the label 'page N'. - **/ + * Changes the tab label for @child. + * If %NULL is specified for @tab_label, then the page will + * have the label 'page N'. + */ void gtk_notebook_set_tab_label (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *tab_label) + GtkWidget *child, + GtkWidget *tab_label) { GtkNotebookPrivate *priv; GtkNotebookPage *page; @@ -7360,20 +7361,20 @@ gtk_notebook_set_tab_label (GtkNotebook *notebook, priv = notebook->priv; list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return; /* a NULL pointer indicates a default_tab setting, otherwise * we need to set the associated label */ page = list->data; - + if (page->tab_label == tab_label) return; - + gtk_notebook_remove_tab_label (notebook, page); - + if (tab_label) { page->default_tab = FALSE; @@ -7386,22 +7387,22 @@ gtk_notebook_set_tab_label (GtkNotebook *notebook, page->tab_label = NULL; if (priv->show_tabs) - { - gchar string[32]; + { + gchar string[32]; - g_snprintf (string, sizeof(string), _("Page %u"), - g_list_position (priv->children, list)); - page->tab_label = gtk_label_new (string); - gtk_widget_set_parent (page->tab_label, GTK_WIDGET (notebook)); - } + g_snprintf (string, sizeof(string), _("Page %u"), + g_list_position (priv->children, list)); + page->tab_label = gtk_label_new (string); + gtk_widget_set_parent (page->tab_label, GTK_WIDGET (notebook)); + } } if (page->tab_label) page->mnemonic_activate_signal = g_signal_connect (page->tab_label, - "mnemonic-activate", - G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page), - notebook); + "mnemonic-activate", + G_CALLBACK (gtk_notebook_mnemonic_activate_switch_page), + notebook); if (priv->show_tabs && gtk_widget_get_visible (child)) { @@ -7418,14 +7419,14 @@ gtk_notebook_set_tab_label (GtkNotebook *notebook, * @notebook: a #GtkNotebook * @child: the page * @tab_text: the label text - * + * * Creates a new label and sets it as the tab label for the page * containing @child. - **/ + */ void gtk_notebook_set_tab_label_text (GtkNotebook *notebook, - GtkWidget *child, - const gchar *tab_text) + GtkWidget *child, + const gchar *tab_text) { GtkWidget *tab_label = NULL; @@ -7443,16 +7444,15 @@ gtk_notebook_set_tab_label_text (GtkNotebook *notebook, * @child: a widget contained in a page of @notebook * * Retrieves the text of the tab label for the page containing - * @child. + * @child. * * Return value: the text of the tab label, or %NULL if the - * tab label widget is not a #GtkLabel. The - * string is owned by the widget and must not - * be freed. - **/ + * tab label widget is not a #GtkLabel. The string is owned + * by the widget and must not be freed. + */ G_CONST_RETURN gchar * gtk_notebook_get_tab_label_text (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GtkWidget *tab_label; @@ -7477,10 +7477,10 @@ gtk_notebook_get_tab_label_text (GtkNotebook *notebook, * Return value: (transfer none): the menu label, or %NULL if the * notebook page does not have a menu label other than the * default (the tab label). - **/ + */ GtkWidget* gtk_notebook_get_menu_label (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GList *list; @@ -7501,14 +7501,14 @@ gtk_notebook_get_menu_label (GtkNotebook *notebook, * gtk_notebook_set_menu_label: * @notebook: a #GtkNotebook * @child: the child widget - * @menu_label: (allow-none): the menu label, or NULL for default + * @menu_label: (allow-none): the menu label, or %NULL for default * * Changes the menu label for the page containing @child. - **/ + */ void gtk_notebook_set_menu_label (GtkNotebook *notebook, - GtkWidget *child, - GtkWidget *menu_label) + GtkWidget *child, + GtkWidget *menu_label) { GtkNotebookPrivate *priv; GtkNotebookPage *page; @@ -7520,18 +7520,18 @@ gtk_notebook_set_menu_label (GtkNotebook *notebook, priv = notebook->priv; list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return; page = list->data; if (page->menu_label) { if (priv->menu) - gtk_container_remove (GTK_CONTAINER (priv->menu), + gtk_container_remove (GTK_CONTAINER (priv->menu), gtk_widget_get_parent (page->menu_label)); if (!page->default_menu) - g_object_unref (page->menu_label); + g_object_unref (page->menu_label); } if (menu_label) @@ -7553,13 +7553,13 @@ gtk_notebook_set_menu_label (GtkNotebook *notebook, * @notebook: a #GtkNotebook * @child: the child widget * @menu_text: the label text - * + * * Creates a new label and sets it as the menu label of @child. - **/ + */ void gtk_notebook_set_menu_label_text (GtkNotebook *notebook, - GtkWidget *child, - const gchar *menu_text) + GtkWidget *child, + const gchar *menu_text) { GtkWidget *menu_label = NULL; @@ -7580,23 +7580,22 @@ gtk_notebook_set_menu_label_text (GtkNotebook *notebook, * @child: the child widget of a page of the notebook. * * Retrieves the text of the menu label for the page containing - * @child. + * @child. * * Return value: the text of the tab label, or %NULL if the - * widget does not have a menu label other than - * the default menu label, or the menu label widget - * is not a #GtkLabel. The string is owned by - * the widget and must not be freed. - **/ + * widget does not have a menu label other than the default + * menu label, or the menu label widget is not a #GtkLabel. + * The string is owned by the widget and must not be freed. + */ G_CONST_RETURN gchar * gtk_notebook_get_menu_label_text (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GtkWidget *menu_label; g_return_val_if_fail (GTK_IS_NOTEBOOK (notebook), NULL); g_return_val_if_fail (GTK_IS_WIDGET (child), NULL); - + menu_label = gtk_notebook_get_menu_label (notebook, child); if (GTK_IS_LABEL (menu_label)) @@ -7604,12 +7603,12 @@ gtk_notebook_get_menu_label_text (GtkNotebook *notebook, else return NULL; } - + /* Helper function called when pages are reordered */ static void gtk_notebook_child_reordered (GtkNotebook *notebook, - GtkNotebookPage *page) + GtkNotebookPage *page) { GtkNotebookPrivate *priv = notebook->priv; @@ -7661,7 +7660,7 @@ gtk_notebook_set_tab_label_packing (GtkNotebook *notebook, if (priv->show_tabs) gtk_notebook_pages_allocate (notebook); gtk_widget_thaw_child_notify (child); -} +} static void gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, @@ -7689,16 +7688,16 @@ gtk_notebook_query_tab_label_packing (GtkNotebook *notebook, * @notebook: a #GtkNotebook * @child: the child to move * @position: the new position, or -1 to move to the end - * + * * Reorders the page containing @child, so that it appears in position * @position. If @position is greater than or equal to the number of * children in the list or negative, @child will be moved to the end * of the list. - **/ + */ void gtk_notebook_reorder_child (GtkNotebook *notebook, - GtkWidget *child, - gint position) + GtkWidget *child, + gint position) { GtkNotebookPrivate *priv; GList *list, *new_list; @@ -7748,10 +7747,10 @@ gtk_notebook_reorder_child (GtkNotebook *notebook, gtk_widget_thaw_child_notify (child); g_signal_emit (notebook, - notebook_signals[PAGE_REORDERED], - 0, - child, - position); + notebook_signals[PAGE_REORDERED], + 0, + child, + position); } /** @@ -7798,7 +7797,7 @@ gtk_notebook_set_group_name (GtkNotebook *notebook, * or %NULL if none is set. * * Since: 2.24 - **/ + */ const gchar * gtk_notebook_get_group_name (GtkNotebook *notebook) { @@ -7811,16 +7810,16 @@ gtk_notebook_get_group_name (GtkNotebook *notebook) * gtk_notebook_get_tab_reorderable: * @notebook: a #GtkNotebook * @child: a child #GtkWidget - * + * * Gets whether the tab can be reordered via drag and drop or not. - * + * * Return Value: %TRUE if the tab is reorderable. - * + * * Since: 2.10 - **/ + */ gboolean gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GList *list; @@ -7828,7 +7827,7 @@ gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, g_return_val_if_fail (GTK_IS_WIDGET (child), FALSE); list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return FALSE; return GTK_NOTEBOOK_PAGE (list)->reorderable; @@ -7838,17 +7837,17 @@ gtk_notebook_get_tab_reorderable (GtkNotebook *notebook, * gtk_notebook_set_tab_reorderable: * @notebook: a #GtkNotebook * @child: a child #GtkWidget - * @reorderable: whether the tab is reorderable or not. + * @reorderable: whether the tab is reorderable or not * * Sets whether the notebook tab can be reordered * via drag and drop or not. - * + * * Since: 2.10 - **/ + */ void gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, - GtkWidget *child, - gboolean reorderable) + GtkWidget *child, + gboolean reorderable) { GList *list; @@ -7856,7 +7855,7 @@ gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, g_return_if_fail (GTK_IS_WIDGET (child)); list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return; if (GTK_NOTEBOOK_PAGE (list)->reorderable != reorderable) @@ -7870,16 +7869,16 @@ gtk_notebook_set_tab_reorderable (GtkNotebook *notebook, * gtk_notebook_get_tab_detachable: * @notebook: a #GtkNotebook * @child: a child #GtkWidget - * + * * Returns whether the tab contents can be detached from @notebook. - * - * Return Value: TRUE if the tab is detachable. + * + * Return Value: %TRUE if the tab is detachable. * * Since: 2.10 - **/ + */ gboolean gtk_notebook_get_tab_detachable (GtkNotebook *notebook, - GtkWidget *child) + GtkWidget *child) { GList *list; @@ -7887,7 +7886,7 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook, g_return_val_if_fail (GTK_IS_WIDGET (child), FALSE); list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return FALSE; return GTK_NOTEBOOK_PAGE (list)->detachable; @@ -7924,7 +7923,7 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook, * { * GtkWidget *notebook; * GtkWidget **child; - * + * * notebook = gtk_drag_get_source_widget (context); * child = (void*) gtk_selection_data_get_data (selection_data); * @@ -7937,11 +7936,11 @@ gtk_notebook_get_tab_detachable (GtkNotebook *notebook, * you will have to set your own DnD code to do it. * * Since: 2.10 - **/ + */ void gtk_notebook_set_tab_detachable (GtkNotebook *notebook, - GtkWidget *child, - gboolean detachable) + GtkWidget *child, + gboolean detachable) { GList *list; @@ -7949,7 +7948,7 @@ gtk_notebook_set_tab_detachable (GtkNotebook *notebook, g_return_if_fail (GTK_IS_WIDGET (child)); list = CHECK_FIND_CHILD (notebook, child); - if (!list) + if (!list) return; if (GTK_NOTEBOOK_PAGE (list)->detachable != detachable) @@ -7997,7 +7996,7 @@ gtk_notebook_get_action_widget (GtkNotebook *notebook, */ void gtk_notebook_set_action_widget (GtkNotebook *notebook, - GtkWidget *widget, + GtkWidget *widget, GtkPackType pack_type) { GtkNotebookPrivate *priv; From 58cdd6d38eb6b976c2792ca435c2731f16f8924b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 17 Nov 2010 16:00:34 +0900 Subject: [PATCH 1062/1463] Removed GtkMenuItem->show_submenu_indicator flag The show_submenu_indicator flag was explicitly set in various places from GtkMenu/GtkMenuBar at request times, since the GtkMenuItem already checks the parent type for GTK_IS_MENU_BAR() in various places, removed this flag in favor of just checking the parent type (only in the interest of better readable code). --- gtk/gtkmenu.c | 1 - gtk/gtkmenubar.c | 1 - gtk/gtkmenuitem.c | 67 +++++++++++++++++++++++++++-------------------- 3 files changed, 38 insertions(+), 31 deletions(-) diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index cb203e8d04..3a2fc7ce18 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -3033,7 +3033,6 @@ gtk_menu_get_preferred_width (GtkWidget *widget, * case the toggle size request depends on the size * request of a child of the child (e.g. for ImageMenuItem) */ - GTK_MENU_ITEM (child)->priv->show_submenu_indicator = TRUE; gtk_widget_get_preferred_width (child, &child_min, &child_nat); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index ed42ec195e..5f84425455 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -313,7 +313,6 @@ gtk_menu_bar_size_request (GtkWidget *widget, { gint toggle_size; - GTK_MENU_ITEM (child)->priv->show_submenu_indicator = FALSE; gtk_widget_get_preferred_size (child, &child_requisition, NULL); gtk_menu_item_toggle_size_request (GTK_MENU_ITEM (child), &toggle_size); diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index b087ebee13..125d6df373 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -422,10 +422,12 @@ gtk_menu_item_init (GtkMenuItem *menu_item) gtk_widget_set_has_window (GTK_WIDGET (menu_item), FALSE); - priv->submenu = NULL; - priv->toggle_size = 0; - priv->accelerator_width = 0; - priv->show_submenu_indicator = FALSE; + priv->action = NULL; + priv->use_action_appearance = TRUE; + + menu_item->submenu = NULL; + menu_item->toggle_size = 0; + menu_item->accelerator_width = 0; if (gtk_widget_get_direction (GTK_WIDGET (menu_item)) == GTK_TEXT_DIR_RTL) priv->submenu_direction = GTK_DIRECTION_LEFT; else @@ -711,10 +713,16 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, gtk_widget_get_preferred_width (child, &child_min, &child_nat); - if (priv->submenu && priv->show_submenu_indicator) - { - guint arrow_spacing; - gint arrow_size; + if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + { + guint arrow_spacing; + gint arrow_size; + + gtk_widget_style_get (widget, + "arrow-spacing", &arrow_spacing, + NULL); + + get_arrow_size (widget, child, &arrow_size); gtk_widget_style_get (widget, "arrow-spacing", &arrow_spacing, @@ -806,9 +814,9 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, min_height += child_min; nat_height += child_nat; - if (priv->submenu && priv->show_submenu_indicator) - { - gint arrow_size; + if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + { + gint arrow_size; get_arrow_size (widget, child, &arrow_size); @@ -910,9 +918,9 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, { gint child_min, child_nat; gint arrow_size = 0; - - if (priv->submenu && priv->show_submenu_indicator) - { + + if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + { guint arrow_spacing; gtk_widget_style_get (widget, @@ -933,11 +941,11 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, min_height += child_min; nat_height += child_nat; - if (priv->submenu && priv->show_submenu_indicator) - { - min_height = MAX (min_height, arrow_size); - nat_height = MAX (nat_height, arrow_size); - } + if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + { + min_height = MAX (min_height, arrow_size); + nat_height = MAX (nat_height, arrow_size); + } } else /* separator item */ { @@ -1385,13 +1393,13 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child_allocation.y += allocation->y; gtk_widget_get_preferred_size (child, &child_requisition, NULL); - if (priv->submenu && priv->show_submenu_indicator) - { - if (direction == GTK_TEXT_DIR_RTL) - child_allocation.x += child_requisition.height; - child_allocation.width -= child_requisition.height; - } - + if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + { + if (direction == GTK_TEXT_DIR_RTL) + child_allocation.x += child_requisition.height; + child_allocation.width -= child_requisition.height; + } + if (child_allocation.width < 1) child_allocation.width = 1; @@ -1509,7 +1517,7 @@ gtk_menu_item_draw (GtkWidget *widget, GtkStateType state_type; GtkShadowType shadow_type, selected_shadow_type; GtkStyle *style; - GtkWidget *child; + GtkWidget *child, *parent; GdkWindow *window; gint x, y, w, h, width, height; guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); @@ -1526,7 +1534,8 @@ gtk_menu_item_draw (GtkWidget *widget, h = height - border_width * 2; child = gtk_bin_get_child (GTK_BIN (menu_item)); - + parent = gtk_widget_get_parent (widget); + if (child && state_type == GTK_STATE_PRELIGHT) { gtk_widget_style_get (widget, @@ -1540,7 +1549,7 @@ gtk_menu_item_draw (GtkWidget *widget, x, y, w, h); } - if (priv->submenu && priv->show_submenu_indicator) + if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) { gint arrow_x, arrow_y; gint arrow_size; From b70589b6a401efa84982333e71e489a36d02a070 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 18 Nov 2010 13:53:55 +0900 Subject: [PATCH 1063/1463] Reimplemented GtkCellView using an internal GtkCellArea. Added construct GtkCellArea and GtkCellAreaContext properties, the context property allows putting multiple cellviews into the same size request context. --- gtk/gtkcellview.c | 646 ++++++++++++++-------------------------------- 1 file changed, 196 insertions(+), 450 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index c5a65236d3..203665afce 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -21,6 +21,8 @@ #include #include "gtkcellview.h" #include "gtkcelllayout.h" +#include "gtkcellareacontext.h" +#include "gtkcellareabox.h" #include "gtkintl.h" #include "gtkcellrenderertext.h" #include "gtkcellrendererpixbuf.h" @@ -41,39 +43,23 @@ * and drag and drop. */ - - -typedef struct _GtkCellViewCellInfo GtkCellViewCellInfo; -struct _GtkCellViewCellInfo -{ - GtkCellRenderer *cell; - - gint requested_width; - gint natural_width; - gint real_width; - guint expand : 1; - guint pack : 1; - - GSList *attributes; - - GtkCellLayoutDataFunc func; - gpointer func_data; - GDestroyNotify destroy; -}; - struct _GtkCellViewPrivate { - GtkTreeModel *model; + GtkTreeModel *model; GtkTreeRowReference *displayed_row; - GList *cell_list; - gint spacing; - GdkRGBA background; - gboolean background_set; + GtkCellArea *cell_area; + GtkCellAreaContext *cell_area_context; + + GdkRGBA background; + gboolean background_set; }; static void gtk_cell_view_cell_layout_init (GtkCellLayoutIface *iface); +static GObject *gtk_cell_view_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); static void gtk_cell_view_get_property (GObject *object, guint param_id, GValue *value, @@ -83,6 +69,7 @@ static void gtk_cell_view_set_property (GObject *obj const GValue *value, GParamSpec *pspec); static void gtk_cell_view_finalize (GObject *object); +static void gtk_cell_view_dispose (GObject *object); static void gtk_cell_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static gboolean gtk_cell_view_draw (GtkWidget *widget, @@ -91,8 +78,6 @@ static void gtk_cell_view_set_value (GtkCellView *cell GtkCellRenderer *renderer, gchar *property, GValue *value); -static GtkCellViewCellInfo *gtk_cell_view_get_cell_info (GtkCellView *cellview, - GtkCellRenderer *renderer); static void gtk_cell_view_set_cell_data (GtkCellView *cell_view); @@ -118,6 +103,7 @@ static void gtk_cell_view_cell_layout_reorder (GtkCellLayout GtkCellRenderer *cell, gint position); static GList * gtk_cell_view_cell_layout_get_cells (GtkCellLayout *layout); +static GtkCellArea *gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout); /* buildable */ static void gtk_cell_view_buildable_init (GtkBuildableIface *iface); @@ -150,7 +136,6 @@ static void gtk_cell_view_get_preferred_height_for_width (GtkWidget static GtkBuildableIface *parent_buildable_iface; - enum { PROP_0, @@ -158,7 +143,9 @@ enum PROP_BACKGROUND_GDK, PROP_BACKGROUND_RGBA, PROP_BACKGROUND_SET, - PROP_MODEL + PROP_MODEL, + PROP_CELL_AREA, + PROP_CELL_AREA_CONTEXT }; G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET, @@ -174,9 +161,11 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); + gobject_class->constructor = gtk_cell_view_constructor; gobject_class->get_property = gtk_cell_view_get_property; gobject_class->set_property = gtk_cell_view_set_property; gobject_class->finalize = gtk_cell_view_finalize; + gobject_class->dispose = gtk_cell_view_dispose; widget_class->draw = gtk_cell_view_draw; widget_class->size_allocate = gtk_cell_view_size_allocate; @@ -229,6 +218,39 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) P_("The model for cell view"), GTK_TYPE_TREE_MODEL, GTK_PARAM_READWRITE)); + + + /** + * GtkCellView:cell-area + * + * The #GtkCellArea rendering cells + * + * since 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + /** + * GtkCellView:cell-area-context + * + * The #GtkCellAreaContext used to compute the geometry of the cell view. + * + * since 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area-context", + P_("Cell Area Context"), + P_("The GtkCellAreaContext used to " + "compute the geometry of the cell view"), + GTK_TYPE_CELL_AREA_CONTEXT, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + #define ADD_SET_PROP(propname, propval, nick, blurb) g_object_class_install_property (gobject_class, propval, g_param_spec_boolean (propname, nick, blurb, FALSE, GTK_PARAM_READWRITE)) @@ -259,6 +281,35 @@ gtk_cell_view_cell_layout_init (GtkCellLayoutIface *iface) iface->clear_attributes = gtk_cell_view_cell_layout_clear_attributes; iface->reorder = gtk_cell_view_cell_layout_reorder; iface->get_cells = gtk_cell_view_cell_layout_get_cells; + iface->get_area = gtk_cell_view_cell_layout_get_area; +} + +static GObject * +gtk_cell_view_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GObject *object; + GtkCellView *view; + GtkCellViewPrivate *priv; + + object = G_OBJECT_CLASS (gtk_cell_view_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + view = GTK_CELL_VIEW (object); + priv = view->priv; + + if (!priv->cell_area) + { + GtkCellArea *area = gtk_cell_area_box_new (); + + priv->cell_area = g_object_ref_sink (area); + } + + if (!priv->cell_area_context) + priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); + + return object; } static void @@ -292,6 +343,12 @@ gtk_cell_view_get_property (GObject *object, case PROP_MODEL: g_value_set_object (value, view->priv->model); break; + case PROP_CELL_AREA: + g_value_set_object (value, view->priv->cell_area); + break; + case PROP_CELL_AREA_CONTEXT: + g_value_set_object (value, view->priv->cell_area_context); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -305,6 +362,8 @@ gtk_cell_view_set_property (GObject *object, GParamSpec *pspec) { GtkCellView *view = GTK_CELL_VIEW (object); + GtkCellArea *area; + GtkCellAreaContext *context; switch (param_id) { @@ -334,6 +393,21 @@ gtk_cell_view_set_property (GObject *object, case PROP_MODEL: gtk_cell_view_set_model (view, g_value_get_object (value)); break; + case PROP_CELL_AREA: + /* Construct-only, can only be assigned once */ + area = g_value_get_object (value); + + if (area) + view->priv->cell_area = g_object_ref_sink (area); + break; + case PROP_CELL_AREA_CONTEXT: + /* Construct-only, can only be assigned once */ + context = g_value_get_object (value); + + if (context) + view->priv->cell_area_context = g_object_ref (context); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -358,128 +432,77 @@ gtk_cell_view_finalize (GObject *object) { GtkCellView *cellview = GTK_CELL_VIEW (object); - gtk_cell_view_cell_layout_clear (GTK_CELL_LAYOUT (cellview)); - - if (cellview->priv->model) - g_object_unref (cellview->priv->model); - if (cellview->priv->displayed_row) gtk_tree_row_reference_free (cellview->priv->displayed_row); G_OBJECT_CLASS (gtk_cell_view_parent_class)->finalize (object); } +static void +gtk_cell_view_dispose (GObject *object) +{ + GtkCellView *cellview = GTK_CELL_VIEW (object); + + gtk_cell_view_cell_layout_clear (GTK_CELL_LAYOUT (cellview)); + + if (cellview->priv->model) + { + g_object_unref (cellview->priv->model); + cellview->priv->model = NULL; + } + + if (cellview->priv->cell_area) + { + g_object_unref (cellview->priv->cell_area); + cellview->priv->cell_area = NULL; + } + + if (cellview->priv->cell_area_context) + { + g_object_unref (cellview->priv->cell_area_context); + cellview->priv->cell_area_context = NULL; + } + + G_OBJECT_CLASS (gtk_cell_view_parent_class)->dispose (object); +} + static void gtk_cell_view_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { - GtkCellView *cellview; - GtkRequestedSize *sizes; - GList *list; - gint n_visible_cells, n_expand_cells; - gint avail_width = 0; - gint extra_per_cell, extra_extra, i; - gboolean first_cell = TRUE; + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; + gint alloc_width, alloc_height; gtk_widget_set_allocation (widget, allocation); - cellview = GTK_CELL_VIEW (widget); + gtk_cell_area_context_get_allocation (priv->cell_area_context, &alloc_width, &alloc_height); - avail_width = allocation->width; - - /* Count visible/expand children */ - for (n_visible_cells = 0, n_expand_cells = 0, list = cellview->priv->cell_list; - list; list = list->next) + /* Only allocate the GtkCellAreaContext if it has not been done for us by + * another widget (i.e. GtkTreeMenu)... in this case we assume that + * we own our GtkCellArea and GtkCellAreaContext and they are not shared with + * other cell views. */ + if (alloc_width <= 0 && alloc_height <= 0) { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - n_visible_cells++; - - if (info->expand) - n_expand_cells++; + gtk_cell_area_context_allocate_width (priv->cell_area_context, allocation->width); + gtk_cell_area_context_allocate_height (priv->cell_area_context, allocation->height); } - - sizes = g_new0 (GtkRequestedSize, n_visible_cells); - - /* checking how much extra space we have */ - for (i = 0, list = cellview->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - sizes[i].data = info; - sizes[i].minimum_size = info->requested_width; - sizes[i].natural_size = info->natural_width; - - if (!first_cell) - avail_width -= cellview->priv->spacing; - - avail_width -= sizes[i].minimum_size; - - first_cell = FALSE; - - i++; - } - - avail_width = gtk_distribute_natural_allocation (MAX (0, avail_width), n_visible_cells, sizes); - - /* Deal with any expand space... */ - if (n_expand_cells > 0) - { - extra_per_cell = avail_width / n_expand_cells; - extra_extra = avail_width % n_expand_cells; - } - else - /* Everything just left-aligned if no cells expand */ - extra_per_cell = extra_extra = 0; - - for (i = 0, list = cellview->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - info->real_width = sizes[i].minimum_size; - - if (info->expand) - { - info->real_width += extra_per_cell; - - if (extra_extra) - { - info->real_width++; - extra_extra--; - } - } - - /* increment index into sizes for visible children */ - i++; - } - - g_free (sizes); } static gboolean gtk_cell_view_draw (GtkWidget *widget, cairo_t *cr) { - GList *list; GtkCellView *cellview; GdkRectangle area; GtkCellRendererState state; - gboolean rtl = (gtk_widget_get_direction(widget) == GTK_TEXT_DIR_RTL); - GtkPackType packing; - int width; cellview = GTK_CELL_VIEW (widget); /* render cells */ area.x = 0; area.y = 0; - area.width = width = gtk_widget_get_allocated_width (widget); + area.width = gtk_widget_get_allocated_width (widget); area.height = gtk_widget_get_allocated_height (widget); /* "blank" background */ @@ -503,70 +526,16 @@ gtk_cell_view_draw (GtkWidget *widget, else state = 0; - for (packing = GTK_PACK_START; packing <= GTK_PACK_END; ++packing) - { - if (packing == GTK_PACK_START) - area.x = rtl ? width : 0; - else - area.x = rtl ? 0 : width; - - for (list = cellview->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - if (info->pack != packing) - continue; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - area.width = info->real_width; - - if ((packing == GTK_PACK_START && rtl) || - (packing == GTK_PACK_END && !rtl)) - area.x -= area.width; - - gtk_cell_renderer_render (info->cell, - cr, - widget, - /* FIXME! */ - &area, &area, state); - - if ((packing == GTK_PACK_START && !rtl) || - (packing == GTK_PACK_END && rtl)) - { - area.x += area.width; - area.x += cellview->priv->spacing; - } - else - area.x -= cellview->priv->spacing; - } - } + /* Render the cells */ + gtk_cell_area_render (cellview->priv->cell_area, cellview->priv->cell_area_context, + widget, cr, &area, &area, state, FALSE); return FALSE; } -static GtkCellViewCellInfo * -gtk_cell_view_get_cell_info (GtkCellView *cellview, - GtkCellRenderer *renderer) -{ - GList *i; - - for (i = cellview->priv->cell_list; i; i = i->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)i->data; - - if (info->cell == renderer) - return info; - } - - return NULL; -} - static void gtk_cell_view_set_cell_data (GtkCellView *cell_view) { - GList *i; GtkTreeIter iter; GtkTreePath *path; @@ -579,35 +548,9 @@ gtk_cell_view_set_cell_data (GtkCellView *cell_view) gtk_tree_model_get_iter (cell_view->priv->model, &iter, path); gtk_tree_path_free (path); - for (i = cell_view->priv->cell_list; i; i = i->next) - { - GSList *j; - GtkCellViewCellInfo *info = i->data; - - g_object_freeze_notify (G_OBJECT (info->cell)); - - for (j = info->attributes; j && j->next; j = j->next->next) - { - gchar *property = j->data; - gint column = GPOINTER_TO_INT (j->next->data); - GValue value = {0, }; - - gtk_tree_model_get_value (cell_view->priv->model, &iter, - column, &value); - g_object_set_property (G_OBJECT (info->cell), - property, &value); - g_value_unset (&value); - } - - if (info->func) - (* info->func) (GTK_CELL_LAYOUT (cell_view), - info->cell, - cell_view->priv->model, - &iter, - info->func_data); - - g_object_thaw_notify (G_OBJECT (info->cell)); - } + gtk_cell_area_apply_attributes (cell_view->priv->cell_area, + cell_view->priv->model, + &iter, FALSE, FALSE); } /* GtkCellLayout implementation */ @@ -616,19 +559,9 @@ gtk_cell_view_cell_layout_pack_start (GtkCellLayout *layout, GtkCellRenderer *renderer, gboolean expand) { - GtkCellViewCellInfo *info; GtkCellView *cellview = GTK_CELL_VIEW (layout); - g_return_if_fail (!gtk_cell_view_get_cell_info (cellview, renderer)); - - g_object_ref_sink (renderer); - - info = g_slice_new0 (GtkCellViewCellInfo); - info->cell = renderer; - info->expand = expand ? TRUE : FALSE; - info->pack = GTK_PACK_START; - - cellview->priv->cell_list = g_list_append (cellview->priv->cell_list, info); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer, expand); gtk_widget_queue_resize (GTK_WIDGET (cellview)); } @@ -638,19 +571,9 @@ gtk_cell_view_cell_layout_pack_end (GtkCellLayout *layout, GtkCellRenderer *renderer, gboolean expand) { - GtkCellViewCellInfo *info; GtkCellView *cellview = GTK_CELL_VIEW (layout); - g_return_if_fail (!gtk_cell_view_get_cell_info (cellview, renderer)); - - g_object_ref_sink (renderer); - - info = g_slice_new0 (GtkCellViewCellInfo); - info->cell = renderer; - info->expand = expand ? TRUE : FALSE; - info->pack = GTK_PACK_END; - - cellview->priv->cell_list = g_list_append (cellview->priv->cell_list, info); + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer, expand); gtk_widget_queue_resize (GTK_WIDGET (cellview)); } @@ -661,16 +584,10 @@ gtk_cell_view_cell_layout_add_attribute (GtkCellLayout *layout, const gchar *attribute, gint column) { - GtkCellViewCellInfo *info; GtkCellView *cellview = GTK_CELL_VIEW (layout); - info = gtk_cell_view_get_cell_info (cellview, renderer); - g_return_if_fail (info != NULL); - - info->attributes = g_slist_prepend (info->attributes, - GINT_TO_POINTER (column)); - info->attributes = g_slist_prepend (info->attributes, - g_strdup (attribute)); + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer, + attribute, column); } static void @@ -678,16 +595,8 @@ gtk_cell_view_cell_layout_clear (GtkCellLayout *layout) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - while (cellview->priv->cell_list) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)cellview->priv->cell_list->data; - - gtk_cell_view_cell_layout_clear_attributes (layout, info->cell); - g_object_unref (info->cell); - g_slice_free (GtkCellViewCellInfo, info); - cellview->priv->cell_list = g_list_delete_link (cellview->priv->cell_list, - cellview->priv->cell_list); - } + if (cellview->priv->cell_area) + gtk_cell_layout_clear (GTK_CELL_LAYOUT (cellview->priv->cell_area)); } static void @@ -698,22 +607,9 @@ gtk_cell_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, GDestroyNotify destroy) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - GtkCellViewCellInfo *info; - info = gtk_cell_view_get_cell_info (cellview, cell); - g_return_if_fail (info != NULL); - - if (info->destroy) - { - GDestroyNotify d = info->destroy; - - info->destroy = NULL; - d (info->func_data); - } - - info->func = func; - info->func_data = func_data; - info->destroy = destroy; + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (cellview->priv->cell_area), + cell, func, func_data, destroy); } static void @@ -721,22 +617,8 @@ gtk_cell_view_cell_layout_clear_attributes (GtkCellLayout *layout, GtkCellRenderer *renderer) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - GtkCellViewCellInfo *info; - GSList *list; - info = gtk_cell_view_get_cell_info (cellview, renderer); - if (info != NULL) - { - list = info->attributes; - while (list && list->next) - { - g_free (list->data); - list = list->next->next; - } - - g_slist_free (info->attributes); - info->attributes = NULL; - } + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer); } static void @@ -745,24 +627,25 @@ gtk_cell_view_cell_layout_reorder (GtkCellLayout *layout, gint position) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - GtkCellViewCellInfo *info; - GList *link; - info = gtk_cell_view_get_cell_info (cellview, cell); + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (cellview->priv->cell_area), cell, position); +} - g_return_if_fail (info != NULL); - g_return_if_fail (position >= 0); - link = g_list_find (cellview->priv->cell_list, info); +static GList * +gtk_cell_view_cell_layout_get_cells (GtkCellLayout *layout) +{ + GtkCellView *cellview = GTK_CELL_VIEW (layout); - g_return_if_fail (link != NULL); + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cellview->priv->cell_area)); +} - cellview->priv->cell_list = g_list_delete_link (cellview->priv->cell_list, - link); - cellview->priv->cell_list = g_list_insert (cellview->priv->cell_list, - info, position); +static GtkCellArea * +gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout) +{ + GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_widget_queue_draw (GTK_WIDGET (cellview)); + return cellview->priv->cell_area; } /** @@ -1213,26 +1096,6 @@ gtk_cell_view_set_background_rgba (GtkCellView *cell_view, gtk_widget_queue_draw (GTK_WIDGET (cell_view)); } -static GList * -gtk_cell_view_cell_layout_get_cells (GtkCellLayout *layout) -{ - GtkCellView *cell_view = GTK_CELL_VIEW (layout); - GList *retval = NULL, *list; - - g_return_val_if_fail (cell_view != NULL, NULL); - - gtk_cell_view_set_cell_data (cell_view); - - for (list = cell_view->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - retval = g_list_prepend (retval, info->cell); - } - - return g_list_reverse (retval); -} - static gboolean gtk_cell_view_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, @@ -1270,48 +1133,15 @@ gtk_cell_view_get_preferred_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - GList *list; - gint cell_min, cell_nat; - gboolean first_cell = TRUE; - GtkCellView *cellview = GTK_CELL_VIEW (widget); - gint minimum, natural; - - minimum = natural = 0; + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); - for (list = cellview->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - if (gtk_cell_renderer_get_visible (info->cell)) - { - - if (!first_cell) - { - minimum += cellview->priv->spacing; - natural += cellview->priv->spacing; - } - - gtk_cell_renderer_get_preferred_width (info->cell, - GTK_WIDGET (cellview), &cell_min, &cell_nat); - - info->requested_width = cell_min; - info->natural_width = cell_nat; - - minimum += info->requested_width; - natural += info->natural_width; - - first_cell = FALSE; - } - } - - if (minimum_size) - *minimum_size = minimum; - - if (natural_size) - *natural_size = natural; + gtk_cell_area_get_preferred_width (priv->cell_area, priv->cell_area_context, widget, NULL, NULL); + gtk_cell_area_context_sum_preferred_width (priv->cell_area_context); + gtk_cell_area_context_get_preferred_width (priv->cell_area_context, minimum_size, natural_size); } static void @@ -1319,12 +1149,15 @@ gtk_cell_view_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - gint minimum_width; + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; - /* CellViews only need to respond to height-for-width mode (cellview is pretty much - * an implementation detail of GtkComboBox) */ - gtk_cell_view_get_preferred_width (widget, &minimum_width, NULL); - gtk_cell_view_get_preferred_height_for_width (widget, minimum_width, minimum_size, natural_size); + if (cellview->priv->displayed_row) + gtk_cell_view_set_cell_data (cellview); + + gtk_cell_area_get_preferred_height (priv->cell_area, priv->cell_area_context, widget, NULL, NULL); + gtk_cell_area_context_sum_preferred_height (priv->cell_area_context); + gtk_cell_area_context_get_preferred_height (priv->cell_area_context, minimum_size, natural_size); } static void @@ -1333,9 +1166,14 @@ gtk_cell_view_get_preferred_width_for_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - /* CellViews only need to respond to height-for-width mode (cellview is pretty much - * an implementation detail of GtkComboBox) */ - gtk_cell_view_get_preferred_width (widget, minimum_size, natural_size); + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; + + if (cellview->priv->displayed_row) + gtk_cell_view_set_cell_data (cellview); + + gtk_cell_area_get_preferred_width_for_height (priv->cell_area, priv->cell_area_context, widget, + for_size, minimum_size, natural_size); } static void @@ -1344,104 +1182,12 @@ gtk_cell_view_get_preferred_height_for_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - GtkCellView *cellview = GTK_CELL_VIEW (widget); - GList *list; - GtkRequestedSize *sizes; - GArray *array; - gint minimum, natural, avail_size; - gboolean first_cell = TRUE; - gint n_expand_cells = 0; - gint extra_per_cell, extra_extra, i; - - minimum = natural = 0; - avail_size = for_size; - - array = g_array_new (0, TRUE, sizeof (GtkRequestedSize)); + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); - /* First allocate the right width to all cells */ - for (list = cellview->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - - if (gtk_cell_renderer_get_visible (info->cell)) - { - GtkRequestedSize requested; - - gtk_cell_renderer_get_preferred_width (GTK_CELL_RENDERER (info->cell), - GTK_WIDGET (cellview), - &requested.minimum_size, - &requested.natural_size); - - requested.data = info; - g_array_append_val (array, requested); - - avail_size -= requested.minimum_size; - - if (!first_cell) - avail_size -= cellview->priv->spacing; - - first_cell = FALSE; - - if (info->expand) - n_expand_cells++; - } - } - - sizes = (GtkRequestedSize *)array->data; - avail_size = gtk_distribute_natural_allocation (MAX (0, avail_size), array->len, sizes); - - /* Deal with any expand space... */ - if (n_expand_cells > 0) - { - extra_per_cell = avail_size / n_expand_cells; - extra_extra = avail_size % n_expand_cells; - } - else - /* Everything just left-aligned if no cells expand */ - extra_per_cell = extra_extra = 0; - - /* Now get the height for the real width of each cell */ - for (i = 0, list = cellview->priv->cell_list; list; list = list->next) - { - GtkCellViewCellInfo *info = (GtkCellViewCellInfo *)list->data; - gint cell_minimum, cell_natural; - - if (gtk_cell_renderer_get_visible (info->cell)) - { - gint cell_width = sizes[i].minimum_size; - - g_assert (sizes[i].data == info); - - if (info->expand) - { - cell_width += extra_per_cell; - if (extra_extra) - { - cell_width++; - extra_extra--; - } - } - - /* Get the height for the real width of this cell */ - gtk_cell_renderer_get_preferred_height_for_width (GTK_CELL_RENDERER (info->cell), - GTK_WIDGET (widget), - cell_width, &cell_minimum, &cell_natural); - - minimum = MAX (minimum, cell_minimum); - natural = MAX (natural, cell_natural); - - /* increment sizes[] index for visible cells */ - i++; - } - } - - g_array_free (array, TRUE); - - if (minimum_size) - *minimum_size = minimum; - if (natural_size) - *natural_size = natural; + gtk_cell_area_get_preferred_height_for_width (priv->cell_area, priv->cell_area_context, widget, + for_size, minimum_size, natural_size); } From 988200800c5dea103adcb56d3fba628e9c97875f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 18 Nov 2010 15:21:41 +0900 Subject: [PATCH 1064/1463] Added gtk_cell_view_new_with_context(). --- gtk/gtkcellview.c | 29 ++++++++++++++++++++++++++++- gtk/gtkcellview.h | 4 ++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 203665afce..665c54c83d 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -21,7 +21,6 @@ #include #include "gtkcellview.h" #include "gtkcelllayout.h" -#include "gtkcellareacontext.h" #include "gtkcellareabox.h" #include "gtkintl.h" #include "gtkcellrenderertext.h" @@ -667,6 +666,34 @@ gtk_cell_view_new (void) return GTK_WIDGET (cellview); } + +/** + * gtk_cell_view_new_with_context: + * @area: the #GtkCellArea to layout cells + * @context: the #GtkCellAreaContext in which to calculate cell geometry + * + * Creates a new #GtkCellView widget with a specific #GtkCellArea + * to layout cells and a specific #GtkCellAreaContext. + * + * Specifying the same context for a handfull of cells lets + * the underlying area synchronize the geometry for those cells, + * in this way alignments with cellviews for other rows are + * possible. + * + * Return value: A newly created #GtkCellView widget. + * + * Since: 2.6 + */ +GtkWidget * +gtk_cell_view_new_with_context (GtkCellArea *area, + GtkCellAreaContext *context) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_CELL_VIEW, + "cell-area", area, + "cell-area-context", context, + NULL); +} + /** * gtk_cell_view_new_with_text: * @text: the text to display in the cell view diff --git a/gtk/gtkcellview.h b/gtk/gtkcellview.h index 50feda7f37..7371082152 100644 --- a/gtk/gtkcellview.h +++ b/gtk/gtkcellview.h @@ -26,6 +26,8 @@ #include #include +#include +#include #include G_BEGIN_DECLS @@ -62,6 +64,8 @@ struct _GtkCellViewClass GType gtk_cell_view_get_type (void) G_GNUC_CONST; GtkWidget *gtk_cell_view_new (void); +GtkWidget *gtk_cell_view_new_with_context (GtkCellArea *area, + GtkCellAreaContext *context); GtkWidget *gtk_cell_view_new_with_text (const gchar *text); GtkWidget *gtk_cell_view_new_with_markup (const gchar *markup); GtkWidget *gtk_cell_view_new_with_pixbuf (GdkPixbuf *pixbuf); From 5e8e4429c785dbe6720b8509113bdf9622d0c948 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 18 Nov 2010 17:30:33 +0900 Subject: [PATCH 1065/1463] Fixing GtkCellView PROP_CELL_AREA_CONTEXT property id ... and renaming some internal variables. --- gtk/gtkcellview.c | 91 ++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 665c54c83d..bc5a6ffe46 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -47,8 +47,8 @@ struct _GtkCellViewPrivate GtkTreeModel *model; GtkTreeRowReference *displayed_row; - GtkCellArea *cell_area; - GtkCellAreaContext *cell_area_context; + GtkCellArea *area; + GtkCellAreaContext *context; GdkRGBA background; gboolean background_set; @@ -157,7 +157,7 @@ G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET, static void gtk_cell_view_class_init (GtkCellViewClass *klass) { - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); gobject_class->constructor = gtk_cell_view_constructor; @@ -242,7 +242,7 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) * since 3.0 */ g_object_class_install_property (gobject_class, - PROP_CELL_AREA, + PROP_CELL_AREA_CONTEXT, g_param_spec_object ("cell-area-context", P_("Cell Area Context"), P_("The GtkCellAreaContext used to " @@ -298,15 +298,15 @@ gtk_cell_view_constructor (GType type, view = GTK_CELL_VIEW (object); priv = view->priv; - if (!priv->cell_area) + if (!priv->area) { GtkCellArea *area = gtk_cell_area_box_new (); - priv->cell_area = g_object_ref_sink (area); + priv->area = g_object_ref_sink (area); } - if (!priv->cell_area_context) - priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); + if (!priv->context) + priv->context = gtk_cell_area_create_context (priv->area); return object; } @@ -343,10 +343,10 @@ gtk_cell_view_get_property (GObject *object, g_value_set_object (value, view->priv->model); break; case PROP_CELL_AREA: - g_value_set_object (value, view->priv->cell_area); + g_value_set_object (value, view->priv->area); break; case PROP_CELL_AREA_CONTEXT: - g_value_set_object (value, view->priv->cell_area_context); + g_value_set_object (value, view->priv->context); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); @@ -397,14 +397,14 @@ gtk_cell_view_set_property (GObject *object, area = g_value_get_object (value); if (area) - view->priv->cell_area = g_object_ref_sink (area); + view->priv->area = g_object_ref_sink (area); break; case PROP_CELL_AREA_CONTEXT: /* Construct-only, can only be assigned once */ context = g_value_get_object (value); if (context) - view->priv->cell_area_context = g_object_ref (context); + view->priv->context = g_object_ref (context); break; default: @@ -450,16 +450,16 @@ gtk_cell_view_dispose (GObject *object) cellview->priv->model = NULL; } - if (cellview->priv->cell_area) + if (cellview->priv->area) { - g_object_unref (cellview->priv->cell_area); - cellview->priv->cell_area = NULL; + g_object_unref (cellview->priv->area); + cellview->priv->area = NULL; } - if (cellview->priv->cell_area_context) + if (cellview->priv->context) { - g_object_unref (cellview->priv->cell_area_context); - cellview->priv->cell_area_context = NULL; + g_object_unref (cellview->priv->context); + cellview->priv->context = NULL; } G_OBJECT_CLASS (gtk_cell_view_parent_class)->dispose (object); @@ -475,16 +475,14 @@ gtk_cell_view_size_allocate (GtkWidget *widget, gtk_widget_set_allocation (widget, allocation); - gtk_cell_area_context_get_allocation (priv->cell_area_context, &alloc_width, &alloc_height); + gtk_cell_area_context_get_allocation (priv->context, &alloc_width, &alloc_height); - /* Only allocate the GtkCellAreaContext if it has not been done for us by - * another widget (i.e. GtkTreeMenu)... in this case we assume that - * we own our GtkCellArea and GtkCellAreaContext and they are not shared with - * other cell views. */ + /* The first cell view in context is responsible for allocating the context at allocate time + * (or the cellview has its own context and is not grouped with any other cell views) */ if (alloc_width <= 0 && alloc_height <= 0) { - gtk_cell_area_context_allocate_width (priv->cell_area_context, allocation->width); - gtk_cell_area_context_allocate_height (priv->cell_area_context, allocation->height); + gtk_cell_area_context_allocate_width (priv->context, allocation->width); + gtk_cell_area_context_allocate_height (priv->context, allocation->height); } } @@ -526,7 +524,7 @@ gtk_cell_view_draw (GtkWidget *widget, state = 0; /* Render the cells */ - gtk_cell_area_render (cellview->priv->cell_area, cellview->priv->cell_area_context, + gtk_cell_area_render (cellview->priv->area, cellview->priv->context, widget, cr, &area, &area, state, FALSE); return FALSE; @@ -547,7 +545,7 @@ gtk_cell_view_set_cell_data (GtkCellView *cell_view) gtk_tree_model_get_iter (cell_view->priv->model, &iter, path); gtk_tree_path_free (path); - gtk_cell_area_apply_attributes (cell_view->priv->cell_area, + gtk_cell_area_apply_attributes (cell_view->priv->area, cell_view->priv->model, &iter, FALSE, FALSE); } @@ -560,7 +558,7 @@ gtk_cell_view_cell_layout_pack_start (GtkCellLayout *layout, { GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer, expand); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview->priv->area), renderer, expand); gtk_widget_queue_resize (GTK_WIDGET (cellview)); } @@ -572,7 +570,7 @@ gtk_cell_view_cell_layout_pack_end (GtkCellLayout *layout, { GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer, expand); + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (cellview->priv->area), renderer, expand); gtk_widget_queue_resize (GTK_WIDGET (cellview)); } @@ -585,7 +583,7 @@ gtk_cell_view_cell_layout_add_attribute (GtkCellLayout *layout, { GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer, + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (cellview->priv->area), renderer, attribute, column); } @@ -594,8 +592,8 @@ gtk_cell_view_cell_layout_clear (GtkCellLayout *layout) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - if (cellview->priv->cell_area) - gtk_cell_layout_clear (GTK_CELL_LAYOUT (cellview->priv->cell_area)); + if (cellview->priv->area) + gtk_cell_layout_clear (GTK_CELL_LAYOUT (cellview->priv->area)); } static void @@ -607,7 +605,7 @@ gtk_cell_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, { GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (cellview->priv->cell_area), + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (cellview->priv->area), cell, func, func_data, destroy); } @@ -617,7 +615,7 @@ gtk_cell_view_cell_layout_clear_attributes (GtkCellLayout *layout, { GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (cellview->priv->cell_area), renderer); + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (cellview->priv->area), renderer); } static void @@ -627,7 +625,7 @@ gtk_cell_view_cell_layout_reorder (GtkCellLayout *layout, { GtkCellView *cellview = GTK_CELL_VIEW (layout); - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (cellview->priv->cell_area), cell, position); + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (cellview->priv->area), cell, position); } @@ -636,7 +634,7 @@ gtk_cell_view_cell_layout_get_cells (GtkCellLayout *layout) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cellview->priv->cell_area)); + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cellview->priv->area)); } static GtkCellArea * @@ -644,7 +642,7 @@ gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout) { GtkCellView *cellview = GTK_CELL_VIEW (layout); - return cellview->priv->cell_area; + return cellview->priv->area; } /** @@ -688,6 +686,9 @@ GtkWidget * gtk_cell_view_new_with_context (GtkCellArea *area, GtkCellAreaContext *context) { + g_return_val_if_fail (GTK_IS_CELL_AREA (area), NULL); + g_return_val_if_fail (context == NULL || GTK_IS_CELL_AREA_CONTEXT (context), NULL); + return (GtkWidget *)g_object_new (GTK_TYPE_CELL_VIEW, "cell-area", area, "cell-area-context", context, @@ -1166,9 +1167,9 @@ gtk_cell_view_get_preferred_width (GtkWidget *widget, if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); - gtk_cell_area_get_preferred_width (priv->cell_area, priv->cell_area_context, widget, NULL, NULL); - gtk_cell_area_context_sum_preferred_width (priv->cell_area_context); - gtk_cell_area_context_get_preferred_width (priv->cell_area_context, minimum_size, natural_size); + gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); + gtk_cell_area_context_sum_preferred_width (priv->context); + gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); } static void @@ -1182,9 +1183,9 @@ gtk_cell_view_get_preferred_height (GtkWidget *widget, if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); - gtk_cell_area_get_preferred_height (priv->cell_area, priv->cell_area_context, widget, NULL, NULL); - gtk_cell_area_context_sum_preferred_height (priv->cell_area_context); - gtk_cell_area_context_get_preferred_height (priv->cell_area_context, minimum_size, natural_size); + gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); + gtk_cell_area_context_sum_preferred_height (priv->context); + gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); } static void @@ -1199,7 +1200,7 @@ gtk_cell_view_get_preferred_width_for_height (GtkWidget *widget, if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); - gtk_cell_area_get_preferred_width_for_height (priv->cell_area, priv->cell_area_context, widget, + gtk_cell_area_get_preferred_width_for_height (priv->area, priv->context, widget, for_size, minimum_size, natural_size); } @@ -1215,6 +1216,6 @@ gtk_cell_view_get_preferred_height_for_width (GtkWidget *widget, if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); - gtk_cell_area_get_preferred_height_for_width (priv->cell_area, priv->cell_area_context, widget, + gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, widget, for_size, minimum_size, natural_size); } From f15a589651889fae1c2436f052b9f960d46b482a Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 18 Nov 2010 17:31:31 +0900 Subject: [PATCH 1066/1463] Added gtk_menu_item_set/get_reserve_indicator. This is needed by GtkTreeMenu to ensure that child menu items reserve space for the submenu indicator even if they dont have submenus... in this way we ensure the same size of all cell areas in the menu items at allocation/request time. --- gtk/gtkmenuitem.c | 41 ++++++++++++++++++++++++++++++++++++---- gtk/gtkmenuitem.h | 13 +++++++++++++ gtk/gtkmenuitemprivate.h | 1 + 3 files changed, 51 insertions(+), 4 deletions(-) diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 125d6df373..4f04f6c382 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -709,11 +709,12 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, if (child != NULL && gtk_widget_get_visible (child)) { + GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); gint child_min, child_nat; gtk_widget_get_preferred_width (child, &child_min, &child_nat); - if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator); { guint arrow_spacing; gint arrow_size; @@ -807,6 +808,7 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, if (child != NULL && gtk_widget_get_visible (child)) { + GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); gint child_min, child_nat; gtk_widget_get_preferred_height (child, &child_min, &child_nat); @@ -814,7 +816,7 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, min_height += child_min; nat_height += child_nat; - if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { gint arrow_size; @@ -916,10 +918,11 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, if (child != NULL && gtk_widget_get_visible (child)) { + GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); gint child_min, child_nat; gint arrow_size = 0; - if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { guint arrow_spacing; @@ -1351,6 +1354,7 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child = gtk_bin_get_child (bin); if (child) { + GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); GtkRequisition child_requisition; GtkStyle *style; guint horizontal_padding; @@ -1393,7 +1397,7 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child_allocation.y += allocation->y; gtk_widget_get_preferred_size (child, &child_requisition, NULL); - if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { if (direction == GTK_TEXT_DIR_RTL) child_allocation.x += child_requisition.height; @@ -2515,3 +2519,32 @@ gtk_menu_item_get_use_underline (GtkMenuItem *menu_item) return FALSE; } + +void +gtk_menu_item_set_reserve_indicator (GtkMenuItem *menu_item, + gboolean reserve) +{ + GtkMenuItemPrivate *priv; + + g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); + + priv = GET_PRIVATE (menu_item); + + if (priv->reserve_indicator != reserve) + { + priv->reserve_indicator = reserve; + gtk_widget_queue_resize (GTK_WIDGET (menu_item)); + } +} + +gboolean +gtk_menu_item_get_reserve_indicator (GtkMenuItem *menu_item) +{ + GtkMenuItemPrivate *priv; + + g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), FALSE); + + priv = GET_PRIVATE (menu_item); + + return priv->reserve_indicator; +} diff --git a/gtk/gtkmenuitem.h b/gtk/gtkmenuitem.h index c0a51e496c..efa1bf0bbd 100644 --- a/gtk/gtkmenuitem.h +++ b/gtk/gtkmenuitem.h @@ -119,6 +119,19 @@ void gtk_menu_item_set_use_underline (GtkMenuItem *menu_item, gboolean setting); gboolean gtk_menu_item_get_use_underline (GtkMenuItem *menu_item); +void gtk_menu_item_set_reserve_indicator(GtkMenuItem *menu_item, + gboolean reserve); +gboolean gtk_menu_item_get_reserve_indicator(GtkMenuItem *menu_item); + +/* private */ +void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, + const gchar *prefix, + GtkAccelGroup *accel_group, + gboolean group_changed); +gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item); +void _gtk_menu_item_popup_submenu (GtkWidget *menu_item, + gboolean with_delay); +void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item); G_END_DECLS diff --git a/gtk/gtkmenuitemprivate.h b/gtk/gtkmenuitemprivate.h index 226ff3cc9f..6c3377ae07 100644 --- a/gtk/gtkmenuitemprivate.h +++ b/gtk/gtkmenuitemprivate.h @@ -42,6 +42,7 @@ struct _GtkMenuItemPrivate guint timer_from_keypress : 1; guint from_menubar : 1; guint use_action_appearance : 1; + guint reserve_indicator : 1; guint timer; From 26c3f1a26d1f282743513fb437eb3e79b2436690 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 18 Nov 2010 17:33:23 +0900 Subject: [PATCH 1067/1463] Adding GtkTreeMenu class. Added GtkTreeMenu class to automatically render a GtkTreeModel into a GtkMenu hierarchy (will be used by GtkComboBox for its dropdown menus). Included an accompanying testcase tests/testtreemenu --- gtk/Makefile.am | 2 + gtk/gtk.h | 1 + gtk/gtktreemenu.c | 909 +++++++++++++++++++++++++++++++++++++++++++ gtk/gtktreemenu.h | 91 +++++ tests/Makefile.am | 9 +- tests/testtreemenu.c | 245 ++++++++++++ 6 files changed, 1256 insertions(+), 1 deletion(-) create mode 100644 gtk/gtktreemenu.c create mode 100644 gtk/gtktreemenu.h create mode 100644 tests/testtreemenu.c diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 215f305777..86517df6ac 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -325,6 +325,7 @@ gtk_public_h_sources = \ gtktoolshell.h \ gtktooltip.h \ gtktreednd.h \ + gtktreemenu.h \ gtktreemodel.h \ gtktreemodelfilter.h \ gtktreemodelsort.h \ @@ -651,6 +652,7 @@ gtk_base_c_sources = \ gtktooltip.c \ gtktreedatalist.c \ gtktreednd.c \ + gtktreemenu.c \ gtktreemodel.c \ gtktreemodelfilter.c \ gtktreemodelsort.c \ diff --git a/gtk/gtk.h b/gtk/gtk.h index 0d85793a3c..f55bdcfc3d 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -209,6 +209,7 @@ #include #include #include +#include #include #include #include diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c new file mode 100644 index 0000000000..cff45419d2 --- /dev/null +++ b/gtk/gtktreemenu.c @@ -0,0 +1,909 @@ +/* gtktreemenu.c + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" +#include "gtkintl.h" +#include "gtktreemenu.h" +#include "gtkmenuitem.h" +#include "gtkseparatormenuitem.h" +#include "gtkcellareabox.h" +#include "gtkcellareacontext.h" +#include "gtkcelllayout.h" +#include "gtkcellview.h" +#include "gtkprivate.h" + + +/* GObjectClass */ +static GObject *gtk_tree_menu_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); +static void gtk_tree_menu_dispose (GObject *object); +static void gtk_tree_menu_finalize (GObject *object); +static void gtk_tree_menu_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void gtk_tree_menu_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + +/* GtkWidgetClass */ +static void gtk_tree_menu_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_tree_menu_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_tree_menu_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); + +/* GtkCellLayoutIface */ +static void gtk_tree_menu_cell_layout_init (GtkCellLayoutIface *iface); +static void gtk_tree_menu_cell_layout_pack_start (GtkCellLayout *layout, + GtkCellRenderer *cell, + gboolean expand); +static void gtk_tree_menu_cell_layout_pack_end (GtkCellLayout *layout, + GtkCellRenderer *cell, + gboolean expand); +static GList *gtk_tree_menu_cell_layout_get_cells (GtkCellLayout *layout); +static void gtk_tree_menu_cell_layout_clear (GtkCellLayout *layout); +static void gtk_tree_menu_cell_layout_add_attribute (GtkCellLayout *layout, + GtkCellRenderer *cell, + const gchar *attribute, + gint column); +static void gtk_tree_menu_cell_layout_set_cell_data_func (GtkCellLayout *layout, + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy); +static void gtk_tree_menu_cell_layout_clear_attributes (GtkCellLayout *layout, + GtkCellRenderer *cell); +static void gtk_tree_menu_cell_layout_reorder (GtkCellLayout *layout, + GtkCellRenderer *cell, + gint position); +static GtkCellArea *gtk_tree_menu_cell_layout_get_area (GtkCellLayout *layout); + + +/* TreeModel/DrawingArea callbacks and building menus/submenus */ +static void gtk_tree_menu_populate (GtkTreeMenu *menu); +static GtkWidget *gtk_tree_menu_create_item (GtkTreeMenu *menu, + GtkTreeIter *iter); +static void gtk_tree_menu_set_area (GtkTreeMenu *menu, + GtkCellArea *area); +static void queue_resize_all (GtkWidget *menu); +static void context_size_changed_cb (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkWidget *menu); + +struct _GtkTreeMenuPrivate +{ + /* TreeModel and parent for this menu */ + GtkTreeModel *model; + GtkTreeRowReference *root; + + /* CellArea and context for this menu */ + GtkCellArea *area; + GtkCellAreaContext *context; + + gint last_alloc_width; + gint last_alloc_height; + + /* Signals */ + gulong size_changed_id; + + /* Row separators */ + GtkTreeViewRowSeparatorFunc row_separator_func; + gpointer row_separator_data; + GDestroyNotify row_separator_destroy; +}; + +enum { + PROP_0, + PROP_MODEL, + PROP_ROOT, + PROP_CELL_AREA +}; + +G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, gtk_tree_menu, GTK_TYPE_MENU, + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_tree_menu_cell_layout_init)); + +static void +gtk_tree_menu_init (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + menu->priv = G_TYPE_INSTANCE_GET_PRIVATE (menu, + GTK_TYPE_TREE_MENU, + GtkTreeMenuPrivate); + priv = menu->priv; +} + +static void +gtk_tree_menu_class_init (GtkTreeMenuClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); + + object_class->constructor = gtk_tree_menu_constructor; + object_class->dispose = gtk_tree_menu_dispose; + object_class->finalize = gtk_tree_menu_finalize; + object_class->set_property = gtk_tree_menu_set_property; + object_class->get_property = gtk_tree_menu_get_property; + + widget_class->get_preferred_width = gtk_tree_menu_get_preferred_width; + widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; + widget_class->size_allocate = gtk_tree_menu_size_allocate; + + g_object_class_install_property (object_class, + PROP_MODEL, + g_param_spec_object ("model", + P_("TreeMenu model"), + P_("The model for the tree menu"), + GTK_TYPE_TREE_MODEL, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_ROOT, + g_param_spec_boxed ("root", + P_("TreeMenu root row"), + P_("The TreeMenu will display children of the " + "specified root"), + GTK_TYPE_TREE_ROW_REFERENCE, + GTK_PARAM_READWRITE)); + + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + + + g_type_class_add_private (object_class, sizeof (GtkTreeMenuPrivate)); +} + +/**************************************************************** + * GObjectClass * + ****************************************************************/ +static GObject * +gtk_tree_menu_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GObject *object; + GtkTreeMenu *menu; + GtkTreeMenuPrivate *priv; + + object = G_OBJECT_CLASS (gtk_tree_menu_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + menu = GTK_TREE_MENU (object); + priv = menu->priv; + + if (!priv->area) + { + GtkCellArea *area = gtk_cell_area_box_new (); + + gtk_tree_menu_set_area (menu, area); + } + + priv->context = gtk_cell_area_create_context (priv->area); + priv->size_changed_id = + g_signal_connect (priv->context, "notify", + G_CALLBACK (context_size_changed_cb), menu); + + + return object; +} + +static void +gtk_tree_menu_dispose (GObject *object) +{ + GtkTreeMenu *menu; + GtkTreeMenuPrivate *priv; + + menu = GTK_TREE_MENU (object); + priv = menu->priv; + + gtk_tree_menu_set_model (menu, NULL); + gtk_tree_menu_set_area (menu, NULL); + + if (priv->context) + { + /* Disconnect signals */ + g_signal_handler_disconnect (priv->context, priv->size_changed_id); + + g_object_unref (priv->context); + priv->context = NULL; + priv->size_changed_id = 0; + } + + G_OBJECT_CLASS (gtk_tree_menu_parent_class)->dispose (object); +} + +static void +gtk_tree_menu_finalize (GObject *object) +{ + + G_OBJECT_CLASS (gtk_tree_menu_parent_class)->finalize (object); +} + +static void +gtk_tree_menu_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (object); + + switch (prop_id) + { + case PROP_MODEL: + gtk_tree_menu_set_model (menu, g_value_get_object (value)); + break; + + case PROP_ROOT: + gtk_tree_menu_set_root (menu, g_value_get_boxed (value)); + break; + + case PROP_CELL_AREA: + /* Construct-only, can only be assigned once */ + gtk_tree_menu_set_area (menu, (GtkCellArea *)g_value_get_object (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gtk_tree_menu_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (object); + GtkTreeMenuPrivate *priv = menu->priv; + + switch (prop_id) + { + case PROP_MODEL: + g_value_set_object (value, priv->model); + break; + + case PROP_ROOT: + g_value_set_boxed (value, priv->root); + break; + + case PROP_CELL_AREA: + g_value_set_object (value, priv->area); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/**************************************************************** + * GtkWidgetClass * + ****************************************************************/ + +/* We tell all the menu items to reserve space for the submenu + * indicator if there is at least one submenu, this way we ensure + * that every internal cell area gets allocated the + * same width (and requested height for the same appropriate width). + */ +static void +sync_reserve_submenu_size (GtkTreeMenu *menu) +{ + GList *children, *l; + gboolean has_submenu = FALSE; + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + for (l = children; l; l = l->next) + { + GtkMenuItem *item = l->data; + + if (gtk_menu_item_get_submenu (item) != NULL) + { + has_submenu = TRUE; + break; + } + } + + for (l = children; l; l = l->next) + { + GtkMenuItem *item = l->data; + + gtk_menu_item_set_reserve_indicator (item, has_submenu); + } + + g_list_free (children); +} + +static void +gtk_tree_menu_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (widget); + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *path = NULL; + GtkTreeIter iter; + gboolean valid = FALSE; + + g_signal_handler_block (priv->context, priv->size_changed_id); + + /* Before chaining up to the parent class and requesting the + * menu item/cell view sizes, we need to request the size of + * each row for this menu and make sure all the cellviews + * request enough space + */ + gtk_cell_area_context_flush_preferred_width (priv->context); + + sync_reserve_submenu_size (menu); + + if (priv->model) + { + if (priv->root) + path = gtk_tree_row_reference_get_path (priv->root); + + if (path) + { + GtkTreeIter parent; + + if (gtk_tree_model_get_iter (priv->model, &parent, path)) + valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); + + gtk_tree_path_free (path); + } + else + valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); + + while (valid) + { + gboolean is_separator = FALSE; + + if (priv->row_separator_func) + is_separator = + priv->row_separator_func (priv->model, &iter, priv->row_separator_data); + + if (!is_separator) + { + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); + } + + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + } + + gtk_cell_area_context_sum_preferred_width (priv->context); + + g_signal_handler_unblock (priv->context, priv->size_changed_id); + + /* Now that we've requested all the row's and updated priv->context properly, we can go ahead + * and calculate the sizes by requesting the menu items and thier cell views */ + GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_width (widget, minimum_size, natural_size); +} + +static void +gtk_tree_menu_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (widget); + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *path = NULL; + GtkTreeIter iter; + gboolean valid = FALSE; + + g_signal_handler_block (priv->context, priv->size_changed_id); + + /* Before chaining up to the parent class and requesting the + * menu item/cell view sizes, we need to request the size of + * each row for this menu and make sure all the cellviews + * request enough space + */ + gtk_cell_area_context_flush_preferred_height (priv->context); + + sync_reserve_submenu_size (menu); + + if (priv->model) + { + if (priv->root) + path = gtk_tree_row_reference_get_path (priv->root); + + if (path) + { + GtkTreeIter parent; + + if (gtk_tree_model_get_iter (priv->model, &parent, path)) + valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); + + gtk_tree_path_free (path); + } + else + valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); + + while (valid) + { + gboolean is_separator = FALSE; + + if (priv->row_separator_func) + is_separator = + priv->row_separator_func (priv->model, &iter, priv->row_separator_data); + + if (!is_separator) + { + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); + } + + valid = gtk_tree_model_iter_next (priv->model, &iter); + } + } + + gtk_cell_area_context_sum_preferred_height (priv->context); + + g_signal_handler_unblock (priv->context, priv->size_changed_id); + + /* Now that we've requested all the row's and updated priv->context properly, we can go ahead + * and calculate the sizes by requesting the menu items and thier cell views */ + GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_height (widget, minimum_size, natural_size); +} + +static void +gtk_tree_menu_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (widget); + GtkTreeMenuPrivate *priv = menu->priv; + gint new_width, new_height; + + /* flush the context allocation */ + gtk_cell_area_context_flush_allocation (priv->context); + + /* Leave it to the first cell area to allocate the size of priv->context, since + * we configure the menu to allocate all children the same width this should work fine */ + GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->size_allocate (widget, allocation); + + /* In alot of cases the menu gets allocated while the children dont need + * any reallocation, in this case we need to restore the context allocation */ + gtk_cell_area_context_get_allocation (priv->context, &new_width, &new_height); + + if (new_width <= 0 && new_height <= 0) + { + gtk_cell_area_context_allocate_width (priv->context, priv->last_alloc_width); + gtk_cell_area_context_allocate_height (priv->context, priv->last_alloc_height); + } + + /* Save the allocation for the next round */ + gtk_cell_area_context_get_allocation (priv->context, + &priv->last_alloc_width, + &priv->last_alloc_height); +} + +/**************************************************************** + * GtkCellLayoutIface * + ****************************************************************/ +/* Just forward all the GtkCellLayoutIface methods to the + * underlying GtkCellArea + */ +static void +gtk_tree_menu_cell_layout_init (GtkCellLayoutIface *iface) +{ + iface->pack_start = gtk_tree_menu_cell_layout_pack_start; + iface->pack_end = gtk_tree_menu_cell_layout_pack_end; + iface->get_cells = gtk_tree_menu_cell_layout_get_cells; + iface->clear = gtk_tree_menu_cell_layout_clear; + iface->add_attribute = gtk_tree_menu_cell_layout_add_attribute; + iface->set_cell_data_func = gtk_tree_menu_cell_layout_set_cell_data_func; + iface->clear_attributes = gtk_tree_menu_cell_layout_clear_attributes; + iface->reorder = gtk_tree_menu_cell_layout_reorder; + iface->get_area = gtk_tree_menu_cell_layout_get_area; +} + +static void +gtk_tree_menu_cell_layout_pack_start (GtkCellLayout *layout, + GtkCellRenderer *cell, + gboolean expand) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->area), cell, expand); +} + +static void +gtk_tree_menu_cell_layout_pack_end (GtkCellLayout *layout, + GtkCellRenderer *cell, + gboolean expand) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (priv->area), cell, expand); +} + +static GList * +gtk_tree_menu_cell_layout_get_cells (GtkCellLayout *layout) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->area)); +} + +static void +gtk_tree_menu_cell_layout_clear (GtkCellLayout *layout) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_clear (GTK_CELL_LAYOUT (priv->area)); +} + +static void +gtk_tree_menu_cell_layout_add_attribute (GtkCellLayout *layout, + GtkCellRenderer *cell, + const gchar *attribute, + gint column) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->area), cell, attribute, column); +} + +static void +gtk_tree_menu_cell_layout_set_cell_data_func (GtkCellLayout *layout, + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->area), cell, func, func_data, destroy); +} + +static void +gtk_tree_menu_cell_layout_clear_attributes (GtkCellLayout *layout, + GtkCellRenderer *cell) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (priv->area), cell); +} + +static void +gtk_tree_menu_cell_layout_reorder (GtkCellLayout *layout, + GtkCellRenderer *cell, + gint position) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (priv->area), cell, position); +} + +static GtkCellArea * +gtk_tree_menu_cell_layout_get_area (GtkCellLayout *layout) +{ + GtkTreeMenu *menu = GTK_TREE_MENU (layout); + GtkTreeMenuPrivate *priv = menu->priv; + + return priv->area; +} + + +/**************************************************************** + * TreeModel callbacks/populating menus * + ****************************************************************/ +static void +context_size_changed_cb (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkWidget *menu) +{ + if (!strcmp (pspec->name, "minimum-width") || + !strcmp (pspec->name, "natural-width") || + !strcmp (pspec->name, "minimum-height") || + !strcmp (pspec->name, "natural-height")) + queue_resize_all (menu); +} + +static void +queue_resize_all (GtkWidget *menu) +{ + GList *children, *l; + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + for (l = children; l; l = l->next) + { + GtkWidget *widget = l->data; + + gtk_widget_queue_resize (widget); + } + + g_list_free (children); + + gtk_widget_queue_resize (menu); +} + + +static void +gtk_tree_menu_set_area (GtkTreeMenu *menu, + GtkCellArea *area) +{ + GtkTreeMenuPrivate *priv = menu->priv; + + if (priv->area) + g_object_unref (area); + + priv->area = area; + + if (priv->area) + g_object_ref_sink (area); +} + + +static GtkWidget * +gtk_tree_menu_create_item (GtkTreeMenu *menu, + GtkTreeIter *iter) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GtkWidget *item, *view; + GtkTreePath *path; + + view = gtk_cell_view_new_with_context (priv->area, priv->context); + item = gtk_menu_item_new (); + gtk_widget_show (view); + gtk_widget_show (item); + + path = gtk_tree_model_get_path (priv->model, iter); + + gtk_cell_view_set_model (GTK_CELL_VIEW (view), priv->model); + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (view), path); + + gtk_tree_path_free (path); + + gtk_widget_show (view); + gtk_container_add (GTK_CONTAINER (item), view); + + return item; +} + +static void +gtk_tree_menu_populate (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *path = NULL; + GtkTreeIter parent; + GtkTreeIter iter; + gboolean valid = FALSE; + GtkWidget *menu_item; + + if (!priv->model) + return; + + if (priv->root) + path = gtk_tree_row_reference_get_path (priv->root); + + if (path) + { + if (gtk_tree_model_get_iter (priv->model, &parent, path)) + valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); + + gtk_tree_path_free (path); + } + else + valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); + + /* Create a menu item for every row at the current depth, add a GtkTreeMenu + * submenu for iters/items that have children */ + while (valid) + { + gboolean is_separator = FALSE; + + if (priv->row_separator_func) + is_separator = + priv->row_separator_func (priv->model, &iter, + priv->row_separator_data); + + if (is_separator) + menu_item = gtk_separator_menu_item_new (); + else + { + menu_item = gtk_tree_menu_create_item (menu, &iter); + + /* Add a GtkTreeMenu submenu to render the children of this row */ + if (gtk_tree_model_iter_has_child (priv->model, &iter)) + { + GtkTreePath *row_path; + GtkWidget *submenu; + + row_path = gtk_tree_model_get_path (priv->model, &iter); + submenu = gtk_tree_menu_new_with_area (priv->area); + + gtk_tree_menu_set_model (GTK_TREE_MENU (submenu), priv->model); + gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), row_path); + + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), submenu); + + gtk_tree_path_free (row_path); + } + } + + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + valid = gtk_tree_model_iter_next (priv->model, &iter); + } +} + +/**************************************************************** + * API * + ****************************************************************/ +GtkWidget * +gtk_tree_menu_new (void) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, NULL); +} + +GtkWidget * +gtk_tree_menu_new_with_area (GtkCellArea *area) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, + "area", area, + NULL); +} + +void +gtk_tree_menu_set_model (GtkTreeMenu *menu, + GtkTreeModel *model) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + g_return_if_fail (model == NULL || GTK_IS_TREE_MODEL (model)); + + priv = menu->priv; + + if (priv->model != model) + { + if (priv->model) + { + /* Disconnect signals */ + + g_object_unref (priv->model); + } + + priv->model = model; + + if (priv->model) + { + /* Connect signals */ + + g_object_ref (priv->model); + } + + /* Changing the model in any way invalidates the currently set root, + * so we implicitly reset it to NULL here */ + gtk_tree_menu_set_root (menu, NULL); + + g_object_notify (G_OBJECT (menu), "model"); + } +} + +GtkTreeModel * +gtk_tree_menu_get_model (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); + + priv = menu->priv; + + return priv->model; +} + +void +gtk_tree_menu_set_root (GtkTreeMenu *menu, + GtkTreePath *path) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + g_return_if_fail (path == NULL || menu->priv->model != NULL); + + priv = menu->priv; + + if (priv->root) + gtk_tree_row_reference_free (priv->root); + + if (path) + priv->root = gtk_tree_row_reference_new (priv->model, path); + else + priv->root = NULL; + + /* Destroy all the menu items for the previous root */ + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + + /* Populate for the new root */ + gtk_tree_menu_populate (menu); +} + +GtkTreePath * +gtk_tree_menu_get_root (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); + + priv = menu->priv; + + if (priv->root) + return gtk_tree_row_reference_get_path (priv->root); + + return NULL; +} + +void +gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + + priv = menu->priv; + + if (priv->row_separator_destroy) + priv->row_separator_destroy (priv->row_separator_data); + + priv->row_separator_func = func; + priv->row_separator_data = data; + priv->row_separator_destroy = destroy; +} + +GtkTreeViewRowSeparatorFunc +gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); + + priv = menu->priv; + + return priv->row_separator_func; +} diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h new file mode 100644 index 0000000000..994e293239 --- /dev/null +++ b/gtk/gtktreemenu.h @@ -0,0 +1,91 @@ +/* gtktreemenu.h + * + * Copyright (C) 2010 Openismus GmbH + * + * Authors: + * Tristan Van Berkom + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_TREE_MENU_H__ +#define __GTK_TREE_MENU_H__ + +#include +#include +#include +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_TREE_MENU (gtk_tree_menu_get_type ()) +#define GTK_TREE_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MENU, GtkTreeMenu)) +#define GTK_TREE_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_MENU, GtkTreeMenuClass)) +#define GTK_IS_TREE_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MENU)) +#define GTK_IS_TREE_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TREE_MENU)) +#define GTK_TREE_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TREE_MENU, GtkTreeMenuClass)) + +typedef struct _GtkTreeMenu GtkTreeMenu; +typedef struct _GtkTreeMenuClass GtkTreeMenuClass; +typedef struct _GtkTreeMenuPrivate GtkTreeMenuPrivate; + + +struct _GtkTreeMenu +{ + GtkMenu parent_instance; + + GtkTreeMenuPrivate *priv; +}; + +struct _GtkTreeMenuClass +{ + GtkMenuClass parent_class; + + /* Padding for future expansion */ + void (*_gtk_reserved1) (void); + void (*_gtk_reserved2) (void); + void (*_gtk_reserved3) (void); + void (*_gtk_reserved4) (void); + void (*_gtk_reserved5) (void); + void (*_gtk_reserved6) (void); + void (*_gtk_reserved7) (void); + void (*_gtk_reserved8) (void); +}; + +GType gtk_tree_menu_get_type (void) G_GNUC_CONST; + +GtkWidget *gtk_tree_menu_new (void); +GtkWidget *gtk_tree_menu_new_with_area (GtkCellArea *area); +void gtk_tree_menu_set_model (GtkTreeMenu *menu, + GtkTreeModel *model); +GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu *menu); +void gtk_tree_menu_set_root (GtkTreeMenu *menu, + GtkTreePath *path); +GtkTreePath *gtk_tree_menu_get_root (GtkTreeMenu *menu); + +void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy); +GtkTreeViewRowSeparatorFunc gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); + +G_END_DECLS + +#endif /* __GTK_TREE_MENU_H__ */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 61d5270666..0932229c8c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -98,9 +98,11 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testexpander \ testvolumebutton \ testscrolledwindow \ + testswitch \ testcellarea \ testswitch \ - styleexamples + styleexamples \ + testtreemenu if USE_X11 noinst_PROGRAMS += testerrors @@ -189,6 +191,7 @@ testtooltips_DEPENDENCIES = $(TEST_DEPS) testvolumebutton_DEPENDENCIES = $(TEST_DEPS) testscrolledwindow_DEPENDENCIES = $(TEST_DEPS) testcellarea_DEPENDENCIES = $(TEST_DEPS) +testtreemenu_DEPENDENCIES = $(TEST_DEPS) testwindows_DEPENDENCIES = $(TEST_DEPS) testexpand_DEPENDENCIES = $(TEST_DEPS) testexpander_DEPENDENCIES = $(TEST_DEPS) @@ -268,6 +271,7 @@ testtooltips_LDADD = $(LDADDS) testvolumebutton_LDADD = $(LDADDS) testscrolledwindow_LDADD = $(LDADDS) testcellarea_LDADD = $(LDADDS) +testtreemenu_LDADD = $(LDADDS) testwindows_LDADD = $(LDADDS) testexpand_LDADD = $(LDADDS) testexpander_LDADD = $(LDADDS) @@ -383,6 +387,9 @@ testcellarea_SOURCES = \ cellareascaffold.c \ cellareascaffold.h +testtreemenu_SOURCES = \ + testtreemenu.c + testoffscreen_SOURCES = \ gtkoffscreenbox.c \ gtkoffscreenbox.h \ diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c new file mode 100644 index 0000000000..84c856401c --- /dev/null +++ b/tests/testtreemenu.c @@ -0,0 +1,245 @@ +#include +#include "cellareascaffold.h" + +/******************************************************* + * Simple Test * + *******************************************************/ +enum { + SIMPLE_COLUMN_NAME, + SIMPLE_COLUMN_ICON, + SIMPLE_COLUMN_DESCRIPTION, + N_SIMPLE_COLUMNS +}; + +static GtkCellRenderer *cell_1 = NULL, *cell_2 = NULL, *cell_3 = NULL; + +static GtkTreeModel * +simple_tree_model (void) +{ + GtkTreeIter iter; + GtkTreeStore *store = + gtk_tree_store_new (N_SIMPLE_COLUMNS, + G_TYPE_STRING, /* name text */ + G_TYPE_STRING, /* icon name */ + G_TYPE_STRING); /* description text */ + + gtk_tree_store_append (store, &iter, NULL); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Alice in wonderland", + SIMPLE_COLUMN_ICON, "gtk-execute", + SIMPLE_COLUMN_DESCRIPTION, + "Twas brillig, and the slithy toves " + "did gyre and gimble in the wabe", + -1); + + gtk_tree_store_append (store, &iter, NULL); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Marry Poppins", + SIMPLE_COLUMN_ICON, "gtk-yes", + SIMPLE_COLUMN_DESCRIPTION, "Supercalifragilisticexpialidocious", + -1); + + gtk_tree_store_append (store, &iter, NULL); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "George Bush", + SIMPLE_COLUMN_ICON, "gtk-dialog-warning", + SIMPLE_COLUMN_DESCRIPTION, "It's a very good question, very direct, " + "and I'm not going to answer it", + -1); + + gtk_tree_store_append (store, &iter, NULL); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Whinnie the pooh", + SIMPLE_COLUMN_ICON, "gtk-stop", + SIMPLE_COLUMN_DESCRIPTION, "The most wonderful thing about tiggers, " + "is tiggers are wonderful things", + -1); + + gtk_tree_store_append (store, &iter, NULL); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Aleister Crowley", + SIMPLE_COLUMN_ICON, "gtk-about", + SIMPLE_COLUMN_DESCRIPTION, + "Thou shalt do what thou wilt shall be the whole of the law", + -1); + + gtk_tree_store_append (store, &iter, NULL); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Mark Twain", + SIMPLE_COLUMN_ICON, "gtk-quit", + SIMPLE_COLUMN_DESCRIPTION, + "Giving up smoking is the easiest thing in the world. " + "I know because I've done it thousands of times.", + -1); + + + return (GtkTreeModel *)store; +} + +static GtkWidget * +simple_tree_menu (void) +{ + GtkTreeModel *model; + GtkWidget *menu; + GtkCellArea *area; + GtkCellRenderer *renderer; + + model = simple_tree_model (); + + menu = gtk_tree_menu_new (); + gtk_tree_menu_set_model (GTK_TREE_MENU (menu), model); + + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + + cell_1 = renderer = gtk_cell_renderer_text_new (); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); + gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_NAME); + + cell_2 = renderer = gtk_cell_renderer_pixbuf_new (); + g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_attribute_connect (area, renderer, "stock-id", SIMPLE_COLUMN_ICON); + + cell_3 = renderer = gtk_cell_renderer_text_new (); + g_object_set (G_OBJECT (renderer), + "wrap-mode", PANGO_WRAP_WORD, + "wrap-width", 215, + NULL); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); + + return menu; +} + +static void +align_cell_2_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + gboolean align = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_2, "align", align, NULL); +} + +static void +align_cell_3_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + gboolean align = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_3, "align", align, NULL); +} + +static void +expand_cell_1_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + gboolean expand = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_1, "expand", expand, NULL); +} + +static void +expand_cell_2_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + gboolean expand = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_2, "expand", expand, NULL); +} + +static void +expand_cell_3_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + gboolean expand = gtk_toggle_button_get_active (toggle); + + gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); +} + +static void +tree_menu (void) +{ + GtkWidget *window, *widget; + GtkWidget *menu, *menubar, *vbox, *menuitem; + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + gtk_window_set_title (GTK_WINDOW (window), "GtkTreeMenu"); + + menu = simple_tree_menu (); + + vbox = gtk_vbox_new (FALSE, 4); + gtk_widget_show (vbox); + + menubar = gtk_menu_bar_new (); + menuitem = gtk_menu_item_new_with_label ("Tree"); + gtk_widget_show (menu); + gtk_widget_show (menubar); + gtk_widget_show (menuitem); + gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); + + gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); + + /* Now add some controls */ + widget = gtk_check_button_new_with_label ("Align 2nd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (align_cell_2_toggled), menu); + + widget = gtk_check_button_new_with_label ("Align 3rd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (align_cell_3_toggled), menu); + + widget = gtk_check_button_new_with_label ("Expand 1st Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (expand_cell_1_toggled), menu); + + widget = gtk_check_button_new_with_label ("Expand 2nd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (expand_cell_2_toggled), menu); + + widget = gtk_check_button_new_with_label ("Expand 3rd Cell"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (expand_cell_3_toggled), menu); + + gtk_container_add (GTK_CONTAINER (window), vbox); + + gtk_widget_show (window); +} + +int +main (int argc, char *argv[]) +{ + gtk_init (NULL, NULL); + + tree_menu (); + + gtk_main (); + + return 0; +} From c690402446f2e75f63660cc838fa08e77c95d2b6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 19 Nov 2010 13:29:20 +0900 Subject: [PATCH 1068/1463] Fixed GtkMenuItem to reserve the actual arrow size and spacing GtkMenuItem was reserving arrow size based on it's requested height, now base the submenu arrow size on the actual arrow size and spacing. --- gtk/gtkmenuitem.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 4f04f6c382..8c08a63e4a 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -1355,7 +1355,6 @@ gtk_menu_item_size_allocate (GtkWidget *widget, if (child) { GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); - GtkRequisition child_requisition; GtkStyle *style; guint horizontal_padding; guint border_width; @@ -1396,12 +1395,20 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child_allocation.x += allocation->x; child_allocation.y += allocation->y; - gtk_widget_get_preferred_size (child, &child_requisition, NULL); if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { + guint arrow_spacing; + gint arrow_size; + + gtk_widget_style_get (widget, + "arrow-spacing", &arrow_spacing, + NULL); + + get_arrow_size (widget, child, &arrow_size); + if (direction == GTK_TEXT_DIR_RTL) - child_allocation.x += child_requisition.height; - child_allocation.width -= child_requisition.height; + child_allocation.x += arrow_size + arrow_spacing; + child_allocation.width -= arrow_size + arrow_spacing; } if (child_allocation.width < 1) From 963db86d23c5c2245d74672a6eaace89df491caf Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 19 Nov 2010 13:30:30 +0900 Subject: [PATCH 1069/1463] Fixed GtkTreeMenu to not infinitely recurse when building submenus. GtkTreeMenu needs to only populate it's submenus when set_root() is called, we were populating it when the model is set which cause the tree to be infinitely populated as the root is NULL by default. Also call gtk_menu_set_reserve_toggle_thingy (FALSE) to not reserve space for the toggle size. --- gtk/gtktreemenu.c | 36 ++++++++++++++++++++++-------------- gtk/gtktreemenu.h | 3 +++ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index cff45419d2..e80ed45179 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -138,6 +138,8 @@ gtk_tree_menu_init (GtkTreeMenu *menu) GTK_TYPE_TREE_MENU, GtkTreeMenuPrivate); priv = menu->priv; + + gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE); } static void @@ -170,7 +172,7 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) P_("TreeMenu root row"), P_("The TreeMenu will display children of the " "specified root"), - GTK_TYPE_TREE_ROW_REFERENCE, + GTK_TYPE_TREE_PATH, GTK_PARAM_READWRITE)); g_object_class_install_property (object_class, @@ -751,10 +753,7 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) GtkWidget *submenu; row_path = gtk_tree_model_get_path (priv->model, &iter); - submenu = gtk_tree_menu_new_with_area (priv->area); - - gtk_tree_menu_set_model (GTK_TREE_MENU (submenu), priv->model); - gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), row_path); + submenu = gtk_tree_menu_new_full (priv->area, priv->model, row_path); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), submenu); @@ -781,7 +780,19 @@ GtkWidget * gtk_tree_menu_new_with_area (GtkCellArea *area) { return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, - "area", area, + "cell-area", area, + NULL); +} + +GtkWidget * +gtk_tree_menu_new_full (GtkCellArea *area, + GtkTreeModel *model, + GtkTreePath *root) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, + "cell-area", area, + "model", model, + "root", root, NULL); } @@ -813,12 +824,6 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, g_object_ref (priv->model); } - - /* Changing the model in any way invalidates the currently set root, - * so we implicitly reset it to NULL here */ - gtk_tree_menu_set_root (menu, NULL); - - g_object_notify (G_OBJECT (menu), "model"); } } @@ -841,7 +846,7 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, GtkTreeMenuPrivate *priv; g_return_if_fail (GTK_IS_TREE_MENU (menu)); - g_return_if_fail (path == NULL || menu->priv->model != NULL); + g_return_if_fail (menu->priv->model != NULL || path == NULL); priv = menu->priv; @@ -858,7 +863,10 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, (GtkCallback) gtk_widget_destroy, NULL); /* Populate for the new root */ - gtk_tree_menu_populate (menu); + if (priv->model) + gtk_tree_menu_populate (menu); + + gtk_widget_queue_resize (GTK_WIDGET (menu)); } GtkTreePath * diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 994e293239..9a05678ad2 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -73,6 +73,9 @@ GType gtk_tree_menu_get_type (void) G_GNUC GtkWidget *gtk_tree_menu_new (void); GtkWidget *gtk_tree_menu_new_with_area (GtkCellArea *area); +GtkWidget *gtk_tree_menu_new_full (GtkCellArea *area, + GtkTreeModel *model, + GtkTreePath *root); void gtk_tree_menu_set_model (GtkTreeMenu *menu, GtkTreeModel *model); GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu *menu); From aef55bb629d6921a1956b4cc2ad71379ef07ca1f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 19 Nov 2010 13:39:30 +0900 Subject: [PATCH 1070/1463] Added submenus to tests/testtreemenu --- tests/testtreemenu.c | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index 84c856401c..ef86afed34 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -16,15 +16,16 @@ static GtkCellRenderer *cell_1 = NULL, *cell_2 = NULL, *cell_3 = NULL; static GtkTreeModel * simple_tree_model (void) { - GtkTreeIter iter; + GtkTreeIter iter, parent; GtkTreeStore *store = gtk_tree_store_new (N_SIMPLE_COLUMNS, G_TYPE_STRING, /* name text */ G_TYPE_STRING, /* icon name */ G_TYPE_STRING); /* description text */ - gtk_tree_store_append (store, &iter, NULL); - gtk_tree_store_set (store, &iter, + + gtk_tree_store_append (store, &parent, NULL); + gtk_tree_store_set (store, &parent, SIMPLE_COLUMN_NAME, "Alice in wonderland", SIMPLE_COLUMN_ICON, "gtk-execute", SIMPLE_COLUMN_DESCRIPTION, @@ -32,6 +33,27 @@ simple_tree_model (void) "did gyre and gimble in the wabe", -1); + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Go ask", + SIMPLE_COLUMN_ICON, "gtk-zoom-out", + SIMPLE_COLUMN_DESCRIPTION, "One pill makes you shorter", + -1); + + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Alice", + SIMPLE_COLUMN_ICON, "gtk-zoom-in", + SIMPLE_COLUMN_DESCRIPTION, "Another one makes you tall", + -1); + + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Jefferson Airplane", + SIMPLE_COLUMN_ICON, "gtk-zoom-fit", + SIMPLE_COLUMN_DESCRIPTION, "The one's that mother gives you dont do anything at all", + -1); + gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, SIMPLE_COLUMN_NAME, "Marry Poppins", @@ -42,7 +64,7 @@ simple_tree_model (void) gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, SIMPLE_COLUMN_NAME, "George Bush", - SIMPLE_COLUMN_ICON, "gtk-dialog-warning", + SIMPLE_COLUMN_ICON, "gtk-dialog-question", SIMPLE_COLUMN_DESCRIPTION, "It's a very good question, very direct, " "and I'm not going to answer it", -1); @@ -88,6 +110,7 @@ simple_tree_menu (void) menu = gtk_tree_menu_new (); gtk_tree_menu_set_model (GTK_TREE_MENU (menu), model); + gtk_tree_menu_set_root (GTK_TREE_MENU (menu), NULL); area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); From 1cacae9cc4702ff7372fcdaa23db1afce84d6e77 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 19 Nov 2010 14:56:59 +0900 Subject: [PATCH 1071/1463] Fixed trailing ';' on if statement in gtkmenuitem.c --- gtk/gtkmenuitem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 8c08a63e4a..5e253195b2 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -704,7 +704,7 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, min_width += 2 * horizontal_padding; nat_width = min_width; - + child = gtk_bin_get_child (bin); if (child != NULL && gtk_widget_get_visible (child)) @@ -714,7 +714,7 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, gtk_widget_get_preferred_width (child, &child_min, &child_nat); - if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator); + if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { guint arrow_spacing; gint arrow_size; From 53bdca9dae1a032f79827772995ba085a41af739 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 19 Nov 2010 14:59:14 +0900 Subject: [PATCH 1072/1463] Adding more "small" submenus to testtreemenu --- tests/testtreemenu.c | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index ef86afed34..d099f0d3fc 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -69,14 +69,42 @@ simple_tree_model (void) "and I'm not going to answer it", -1); - gtk_tree_store_append (store, &iter, NULL); - gtk_tree_store_set (store, &iter, + gtk_tree_store_append (store, &parent, NULL); + gtk_tree_store_set (store, &parent, SIMPLE_COLUMN_NAME, "Whinnie the pooh", SIMPLE_COLUMN_ICON, "gtk-stop", SIMPLE_COLUMN_DESCRIPTION, "The most wonderful thing about tiggers, " "is tiggers are wonderful things", -1); + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Tigger", + SIMPLE_COLUMN_ICON, "gtk-yes", + SIMPLE_COLUMN_DESCRIPTION, "Eager", + -1); + + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Owl", + SIMPLE_COLUMN_ICON, "gtk-stop", + SIMPLE_COLUMN_DESCRIPTION, "Wise", + -1); + + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Eor", + SIMPLE_COLUMN_ICON, "gtk-no", + SIMPLE_COLUMN_DESCRIPTION, "Depressed", + -1); + + gtk_tree_store_append (store, &iter, &parent); + gtk_tree_store_set (store, &iter, + SIMPLE_COLUMN_NAME, "Piglet", + SIMPLE_COLUMN_ICON, "gtk-media-play", + SIMPLE_COLUMN_DESCRIPTION, "Insecure", + -1); + gtk_tree_store_append (store, &iter, NULL); gtk_tree_store_set (store, &iter, SIMPLE_COLUMN_NAME, "Aleister Crowley", From 6d8dfd5546578bd49835aa2dd44e12f0f427f38a Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 20 Nov 2010 16:30:51 +0900 Subject: [PATCH 1073/1463] Fixed GtkCellView to not clear the layout when disposing The layout belongs the underlying area which may be shared across views and treemenus, let the cells be destroyed when the area is finally destroyed. --- gtk/gtkcellview.c | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index bc5a6ffe46..2fa830f328 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -52,6 +52,8 @@ struct _GtkCellViewPrivate GdkRGBA background; gboolean background_set; + + gulong size_changed_id; }; @@ -133,6 +135,11 @@ static void gtk_cell_view_get_preferred_height_for_width (GtkWidget gint *minimum_size, gint *natural_size); +static void context_size_changed_cb (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkWidget *view); + + static GtkBuildableIface *parent_buildable_iface; enum @@ -308,6 +315,10 @@ gtk_cell_view_constructor (GType type, if (!priv->context) priv->context = gtk_cell_area_create_context (priv->area); + priv->size_changed_id = + g_signal_connect (priv->context, "notify", + G_CALLBACK (context_size_changed_cb), view); + return object; } @@ -442,8 +453,6 @@ gtk_cell_view_dispose (GObject *object) { GtkCellView *cellview = GTK_CELL_VIEW (object); - gtk_cell_view_cell_layout_clear (GTK_CELL_LAYOUT (cellview)); - if (cellview->priv->model) { g_object_unref (cellview->priv->model); @@ -458,8 +467,11 @@ gtk_cell_view_dispose (GObject *object) if (cellview->priv->context) { + g_signal_handler_disconnect (cellview->priv->context, cellview->priv->size_changed_id); + g_object_unref (cellview->priv->context); cellview->priv->context = NULL; + cellview->priv->size_changed_id = 0; } G_OBJECT_CLASS (gtk_cell_view_parent_class)->dispose (object); @@ -645,6 +657,19 @@ gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout) return cellview->priv->area; } +static void +context_size_changed_cb (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkWidget *view) +{ + if (!strcmp (pspec->name, "minimum-width") || + !strcmp (pspec->name, "natural-width") || + !strcmp (pspec->name, "minimum-height") || + !strcmp (pspec->name, "natural-height")) + gtk_widget_queue_resize (view); +} + + /** * gtk_cell_view_new: * @@ -1164,12 +1189,16 @@ gtk_cell_view_get_preferred_width (GtkWidget *widget, GtkCellView *cellview = GTK_CELL_VIEW (widget); GtkCellViewPrivate *priv = cellview->priv; + g_signal_handler_block (priv->context, priv->size_changed_id); + if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); gtk_cell_area_context_sum_preferred_width (priv->context); gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); + + g_signal_handler_unblock (priv->context, priv->size_changed_id); } static void @@ -1180,12 +1209,16 @@ gtk_cell_view_get_preferred_height (GtkWidget *widget, GtkCellView *cellview = GTK_CELL_VIEW (widget); GtkCellViewPrivate *priv = cellview->priv; + g_signal_handler_block (priv->context, priv->size_changed_id); + if (cellview->priv->displayed_row) gtk_cell_view_set_cell_data (cellview); gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); gtk_cell_area_context_sum_preferred_height (priv->context); gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); + + g_signal_handler_unblock (priv->context, priv->size_changed_id); } static void From 9ffaae50220da45e0004b4682ec7d1d1031fe924 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 20 Nov 2010 16:32:24 +0900 Subject: [PATCH 1074/1463] Added GtkTreeMenuHeaderFunc to decide if a submenu gets a leaf header. GtkComboBox needs treemenus to allow selection of all leafs including rows which may have children, this allows the combobox or combobox user to decide which row that has children can also be selectable as a header leaf of the submenu. Test case testtreemenu updated to reflect this. --- gtk/gtktreemenu.c | 181 ++++++++++++++++++++++++++++++++++++------- gtk/gtktreemenu.h | 9 +++ tests/testtreemenu.c | 72 ++++++++++++++++- 3 files changed, 233 insertions(+), 29 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index e80ed45179..d6586b25bc 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -24,6 +24,7 @@ #include "config.h" #include "gtkintl.h" #include "gtktreemenu.h" +#include "gtkmarshalers.h" #include "gtkmenuitem.h" #include "gtkseparatormenuitem.h" #include "gtkcellareabox.h" @@ -91,10 +92,14 @@ static GtkWidget *gtk_tree_menu_create_item (GtkTreeMenu GtkTreeIter *iter); static void gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkCellArea *area); -static void queue_resize_all (GtkWidget *menu); static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, GtkWidget *menu); +static void item_activated_cb (GtkMenuItem *item, + GtkTreeMenu *menu); +static void submenu_activated_cb (GtkTreeMenu *submenu, + const gchar *path, + GtkTreeMenu *menu); struct _GtkTreeMenuPrivate { @@ -116,6 +121,11 @@ struct _GtkTreeMenuPrivate GtkTreeViewRowSeparatorFunc row_separator_func; gpointer row_separator_data; GDestroyNotify row_separator_destroy; + + /* Submenu headers */ + GtkTreeMenuHeaderFunc header_func; + gpointer header_data; + GDestroyNotify header_destroy; }; enum { @@ -125,6 +135,13 @@ enum { PROP_CELL_AREA }; +enum { + SIGNAL_MENU_ACTIVATE, + N_SIGNALS +}; + +static guint tree_menu_signals[N_SIGNALS] = { 0 }; + G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, gtk_tree_menu, GTK_TYPE_MENU, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_tree_menu_cell_layout_init)); @@ -158,6 +175,15 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; widget_class->size_allocate = gtk_tree_menu_size_allocate; + tree_menu_signals[SIGNAL_MENU_ACTIVATE] = + g_signal_new (I_("menu-activate"), + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__STRING, + G_TYPE_NONE, 1, G_TYPE_STRING); + g_object_class_install_property (object_class, PROP_MODEL, g_param_spec_object ("model", @@ -249,6 +275,17 @@ gtk_tree_menu_dispose (GObject *object) static void gtk_tree_menu_finalize (GObject *object) { + GtkTreeMenu *menu; + GtkTreeMenuPrivate *priv; + + menu = GTK_TREE_MENU (object); + priv = menu->priv; + + gtk_tree_menu_set_row_separator_func (menu, NULL, NULL, NULL); + gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL); + + if (priv->root) + gtk_tree_row_reference_free (priv->root); G_OBJECT_CLASS (gtk_tree_menu_parent_class)->finalize (object); } @@ -639,28 +676,9 @@ context_size_changed_cb (GtkCellAreaContext *context, !strcmp (pspec->name, "natural-width") || !strcmp (pspec->name, "minimum-height") || !strcmp (pspec->name, "natural-height")) - queue_resize_all (menu); + gtk_widget_queue_resize (menu); } -static void -queue_resize_all (GtkWidget *menu) -{ - GList *children, *l; - - children = gtk_container_get_children (GTK_CONTAINER (menu)); - for (l = children; l; l = l->next) - { - GtkWidget *widget = l->data; - - gtk_widget_queue_resize (widget); - } - - g_list_free (children); - - gtk_widget_queue_resize (menu); -} - - static void gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkCellArea *area) @@ -668,15 +686,14 @@ gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkTreeMenuPrivate *priv = menu->priv; if (priv->area) - g_object_unref (area); + g_object_unref (priv->area); priv->area = area; if (priv->area) - g_object_ref_sink (area); + g_object_ref_sink (priv->area); } - static GtkWidget * gtk_tree_menu_create_item (GtkTreeMenu *menu, GtkTreeIter *iter) @@ -700,6 +717,8 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, gtk_widget_show (view); gtk_container_add (GTK_CONTAINER (item), view); + g_signal_connect (item, "activate", G_CALLBACK (item_activated_cb), menu); + return item; } @@ -722,8 +741,23 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) if (path) { if (gtk_tree_model_get_iter (priv->model, &parent, path)) - valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); + { + valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); + if (priv->header_func && + priv->header_func (priv->model, &parent, priv->header_data)) + { + /* Add a submenu header for rows which desire one, used for + * combo boxes to allow all rows to be activatable/selectable + */ + menu_item = gtk_tree_menu_create_item (menu, &parent); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + menu_item = gtk_separator_menu_item_new (); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + } + } gtk_tree_path_free (path); } else @@ -753,11 +787,26 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) GtkWidget *submenu; row_path = gtk_tree_model_get_path (priv->model, &iter); - submenu = gtk_tree_menu_new_full (priv->area, priv->model, row_path); + submenu = gtk_tree_menu_new_with_area (priv->area); + + gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), + priv->row_separator_func, + priv->row_separator_data, + priv->row_separator_destroy); + gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), + priv->header_func, + priv->header_data, + priv->header_destroy); + + gtk_tree_menu_set_model (GTK_TREE_MENU (submenu), priv->model); + gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), row_path); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), submenu); gtk_tree_path_free (row_path); + + g_signal_connect (submenu, "menu-activate", + G_CALLBACK (submenu_activated_cb), menu); } } @@ -767,6 +816,36 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) } } +static void +item_activated_cb (GtkMenuItem *item, + GtkTreeMenu *menu) +{ + GtkCellView *view; + GtkTreePath *path; + gchar *path_str; + + /* Only activate leafs, not parents */ + if (!gtk_menu_item_get_submenu (item)) + { + view = GTK_CELL_VIEW (gtk_bin_get_child (GTK_BIN (item))); + path = gtk_cell_view_get_displayed_row (view); + path_str = gtk_tree_path_to_string (path); + + g_signal_emit (menu, tree_menu_signals[SIGNAL_MENU_ACTIVATE], 0, path_str); + + g_free (path_str); + gtk_tree_path_free (path); + } +} + +static void +submenu_activated_cb (GtkTreeMenu *submenu, + const gchar *path, + GtkTreeMenu *menu) +{ + g_signal_emit (menu, tree_menu_signals[SIGNAL_MENU_ACTIVATE], 0, path); +} + /**************************************************************** * API * ****************************************************************/ @@ -865,8 +944,6 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, /* Populate for the new root */ if (priv->model) gtk_tree_menu_populate (menu); - - gtk_widget_queue_resize (GTK_WIDGET (menu)); } GtkTreePath * @@ -902,6 +979,14 @@ gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, priv->row_separator_func = func; priv->row_separator_data = data; priv->row_separator_destroy = destroy; + + /* Destroy all the menu items */ + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + + /* Populate again */ + if (priv->model) + gtk_tree_menu_populate (menu); } GtkTreeViewRowSeparatorFunc @@ -915,3 +1000,43 @@ gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) return priv->row_separator_func; } + +void +gtk_tree_menu_set_header_func (GtkTreeMenu *menu, + GtkTreeMenuHeaderFunc func, + gpointer data, + GDestroyNotify destroy) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + + priv = menu->priv; + + if (priv->header_destroy) + priv->header_destroy (priv->header_data); + + priv->header_func = func; + priv->header_data = data; + priv->header_destroy = destroy; + + /* Destroy all the menu items */ + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + + /* Populate again */ + if (priv->model) + gtk_tree_menu_populate (menu); +} + +GtkTreeMenuHeaderFunc +gtk_tree_menu_get_header_func (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); + + priv = menu->priv; + + return priv->header_func; +} diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 9a05678ad2..539613f161 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -46,6 +46,9 @@ typedef struct _GtkTreeMenu GtkTreeMenu; typedef struct _GtkTreeMenuClass GtkTreeMenuClass; typedef struct _GtkTreeMenuPrivate GtkTreeMenuPrivate; +typedef gboolean (*GtkTreeMenuHeaderFunc) (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data); struct _GtkTreeMenu { @@ -89,6 +92,12 @@ void gtk_tree_menu_set_row_separator_func (GtkTreeMenu GDestroyNotify destroy); GtkTreeViewRowSeparatorFunc gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); +void gtk_tree_menu_set_header_func (GtkTreeMenu *menu, + GtkTreeMenuHeaderFunc func, + gpointer data, + GDestroyNotify destroy); +GtkTreeMenuHeaderFunc gtk_tree_menu_get_header_func (GtkTreeMenu *menu); + G_END_DECLS #endif /* __GTK_TREE_MENU_H__ */ diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index d099f0d3fc..e514f47522 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -16,7 +16,7 @@ static GtkCellRenderer *cell_1 = NULL, *cell_2 = NULL, *cell_3 = NULL; static GtkTreeModel * simple_tree_model (void) { - GtkTreeIter iter, parent; + GtkTreeIter iter, parent, child; GtkTreeStore *store = gtk_tree_store_new (N_SIMPLE_COLUMNS, G_TYPE_STRING, /* name text */ @@ -84,6 +84,27 @@ simple_tree_model (void) SIMPLE_COLUMN_DESCRIPTION, "Eager", -1); + gtk_tree_store_append (store, &child, &iter); + gtk_tree_store_set (store, &child, + SIMPLE_COLUMN_NAME, "Jump", + SIMPLE_COLUMN_ICON, "gtk-yes", + SIMPLE_COLUMN_DESCRIPTION, "Very High", + -1); + + gtk_tree_store_append (store, &child, &iter); + gtk_tree_store_set (store, &child, + SIMPLE_COLUMN_NAME, "Pounce", + SIMPLE_COLUMN_ICON, "gtk-no", + SIMPLE_COLUMN_DESCRIPTION, "On Pooh", + -1); + + gtk_tree_store_append (store, &child, &iter); + gtk_tree_store_set (store, &child, + SIMPLE_COLUMN_NAME, "Bounce", + SIMPLE_COLUMN_ICON, "gtk-cancel", + SIMPLE_COLUMN_DESCRIPTION, "Around", + -1); + gtk_tree_store_append (store, &iter, &parent); gtk_tree_store_set (store, &iter, SIMPLE_COLUMN_NAME, "Owl", @@ -212,6 +233,44 @@ expand_cell_3_toggled (GtkToggleButton *toggle, gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); } +static void +menu_activated_cb (GtkTreeMenu *menu, + const gchar *path, + gpointer unused) +{ + GtkTreeModel *model = gtk_tree_menu_get_model (menu); + GtkTreeIter iter; + gchar *row_name; + + if (!gtk_tree_model_get_iter_from_string (model, &iter, path)) + return; + + gtk_tree_model_get (model, &iter, SIMPLE_COLUMN_NAME, &row_name, -1); + + g_print ("Item activated: %s\n", row_name); + + g_free (row_name); +} + +gboolean +enable_submenu_headers (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data) +{ + return TRUE; +} + + +static void +submenu_headers_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + if (gtk_toggle_button_get_active (toggle)) + gtk_tree_menu_set_header_func (menu, enable_submenu_headers, NULL, NULL); + else + gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL); +} + static void tree_menu (void) { @@ -224,6 +283,8 @@ tree_menu (void) menu = simple_tree_menu (); + g_signal_connect (menu, "menu-activate", G_CALLBACK (menu_activated_cb), NULL); + vbox = gtk_vbox_new (FALSE, 4); gtk_widget_show (vbox); @@ -278,6 +339,15 @@ tree_menu (void) g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (expand_cell_3_toggled), menu); + widget = gtk_check_button_new_with_label ("Submenu Headers"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (submenu_headers_toggled), menu); + + gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (window); From 88ec6a62ef18196a8abd3d0586115661be5d526f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 22 Nov 2010 15:51:51 +0900 Subject: [PATCH 1075/1463] GtkCellView now watches the "row-changed" signal. When the "row-changed" signal on the model is trapped, if the row which changed is the displayed row then the context is flushed and sizes are recalculated for every area in the same context. --- gtk/gtkcellview.c | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 2fa830f328..e1269fce84 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -54,6 +54,7 @@ struct _GtkCellViewPrivate gboolean background_set; gulong size_changed_id; + gulong row_changed_id; }; @@ -138,7 +139,10 @@ static void gtk_cell_view_get_preferred_height_for_width (GtkWidget static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, GtkWidget *view); - +static void row_changed_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GtkCellView *view); static GtkBuildableIface *parent_buildable_iface; @@ -669,6 +673,24 @@ context_size_changed_cb (GtkCellAreaContext *context, gtk_widget_queue_resize (view); } +static void +row_changed_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GtkCellView *view) +{ + GtkTreePath *row_path; + + if (view->priv->displayed_row) + { + row_path = + gtk_tree_row_reference_get_path (view->priv->displayed_row); + + /* Resize everything in our context if our row changed */ + if (gtk_tree_path_compare (row_path, path) == 0) + gtk_cell_area_context_flush (view->priv->context); + } +} /** * gtk_cell_view_new: @@ -863,6 +885,10 @@ gtk_cell_view_set_model (GtkCellView *cell_view, if (cell_view->priv->model) { + g_signal_handler_disconnect (cell_view->priv->model, + cell_view->priv->row_changed_id); + cell_view->priv->row_changed_id = 0; + if (cell_view->priv->displayed_row) gtk_tree_row_reference_free (cell_view->priv->displayed_row); cell_view->priv->displayed_row = NULL; @@ -874,7 +900,13 @@ gtk_cell_view_set_model (GtkCellView *cell_view, cell_view->priv->model = model; if (cell_view->priv->model) - g_object_ref (cell_view->priv->model); + { + g_object_ref (cell_view->priv->model); + + cell_view->priv->row_changed_id = + g_signal_connect (cell_view->priv->model, "row-changed", + G_CALLBACK (row_changed_cb), cell_view); + } } /** From 438b0f7c9bba215085ac473ee2552bd7f720a49d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 22 Nov 2010 15:53:19 +0900 Subject: [PATCH 1076/1463] Connected to GtkTreeModel signals in GtkTreeMenu Now the GtkTreeMenu properly updates its hierarchy when the underlying model data changes (row inserted/deleted or reordered). Also some unneeded hackery was removed, all size calculations are delegated to the cellviews. --- gtk/gtktreemenu.c | 467 ++++++++++++++++++++++++++++------------------ 1 file changed, 281 insertions(+), 186 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index d6586b25bc..6974912721 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -87,17 +87,21 @@ static GtkCellArea *gtk_tree_menu_cell_layout_get_area (GtkCellLayout /* TreeModel/DrawingArea callbacks and building menus/submenus */ -static void gtk_tree_menu_populate (GtkTreeMenu *menu); +static void gtk_tree_menu_populate (GtkTreeMenu *menu); static GtkWidget *gtk_tree_menu_create_item (GtkTreeMenu *menu, - GtkTreeIter *iter); -static void gtk_tree_menu_set_area (GtkTreeMenu *menu, + GtkTreeIter *iter, + gboolean header_item); +static void gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkCellArea *area); -static void context_size_changed_cb (GtkCellAreaContext *context, +static GtkWidget *gtk_tree_menu_get_path_item (GtkTreeMenu *menu, + GtkTreePath *path); + +static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, GtkWidget *menu); -static void item_activated_cb (GtkMenuItem *item, +static void item_activated_cb (GtkMenuItem *item, GtkTreeMenu *menu); -static void submenu_activated_cb (GtkTreeMenu *submenu, +static void submenu_activated_cb (GtkTreeMenu *submenu, const gchar *path, GtkTreeMenu *menu); @@ -110,12 +114,12 @@ struct _GtkTreeMenuPrivate /* CellArea and context for this menu */ GtkCellArea *area; GtkCellAreaContext *context; - - gint last_alloc_width; - gint last_alloc_height; /* Signals */ gulong size_changed_id; + gulong row_inserted_id; + gulong row_deleted_id; + gulong row_reordered_id; /* Row separators */ GtkTreeViewRowSeparatorFunc row_separator_func; @@ -126,6 +130,8 @@ struct _GtkTreeMenuPrivate GtkTreeMenuHeaderFunc header_func; gpointer header_data; GDestroyNotify header_destroy; + + guint32 menu_with_header : 1; }; enum { @@ -140,7 +146,8 @@ enum { N_SIGNALS }; -static guint tree_menu_signals[N_SIGNALS] = { 0 }; +static guint tree_menu_signals[N_SIGNALS] = { 0 }; +static GQuark tree_menu_path_quark = 0; G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, gtk_tree_menu, GTK_TYPE_MENU, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, @@ -165,6 +172,8 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) GObjectClass *object_class = G_OBJECT_CLASS (class); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); + tree_menu_path_quark = g_quark_from_static_string ("gtk-tree-menu-path"); + object_class->constructor = gtk_tree_menu_constructor; object_class->dispose = gtk_tree_menu_dispose; object_class->finalize = gtk_tree_menu_finalize; @@ -392,63 +401,22 @@ gtk_tree_menu_get_preferred_width (GtkWidget *widget, { GtkTreeMenu *menu = GTK_TREE_MENU (widget); GtkTreeMenuPrivate *priv = menu->priv; - GtkTreePath *path = NULL; - GtkTreeIter iter; - gboolean valid = FALSE; + /* We leave the requesting work up to the cellviews which operate in the same + * context, reserving space for the submenu indicator if any of the items have + * submenus ensures that every cellview will receive the same allocated width. + * + * Since GtkMenu does hieght-for-width correctly, we know that the width of + * every cell will be requested before the height-for-widths are requested. + */ g_signal_handler_block (priv->context, priv->size_changed_id); - /* Before chaining up to the parent class and requesting the - * menu item/cell view sizes, we need to request the size of - * each row for this menu and make sure all the cellviews - * request enough space - */ + sync_reserve_submenu_size (menu); gtk_cell_area_context_flush_preferred_width (priv->context); - sync_reserve_submenu_size (menu); - - if (priv->model) - { - if (priv->root) - path = gtk_tree_row_reference_get_path (priv->root); - - if (path) - { - GtkTreeIter parent; - - if (gtk_tree_model_get_iter (priv->model, &parent, path)) - valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); - - gtk_tree_path_free (path); - } - else - valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); - - while (valid) - { - gboolean is_separator = FALSE; - - if (priv->row_separator_func) - is_separator = - priv->row_separator_func (priv->model, &iter, priv->row_separator_data); - - if (!is_separator) - { - gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); - } - - valid = gtk_tree_model_iter_next (priv->model, &iter); - } - } - - gtk_cell_area_context_sum_preferred_width (priv->context); + GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_width (widget, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); - - /* Now that we've requested all the row's and updated priv->context properly, we can go ahead - * and calculate the sizes by requesting the menu items and thier cell views */ - GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_width (widget, minimum_size, natural_size); } static void @@ -458,63 +426,15 @@ gtk_tree_menu_get_preferred_height (GtkWidget *widget, { GtkTreeMenu *menu = GTK_TREE_MENU (widget); GtkTreeMenuPrivate *priv = menu->priv; - GtkTreePath *path = NULL; - GtkTreeIter iter; - gboolean valid = FALSE; g_signal_handler_block (priv->context, priv->size_changed_id); - /* Before chaining up to the parent class and requesting the - * menu item/cell view sizes, we need to request the size of - * each row for this menu and make sure all the cellviews - * request enough space - */ + sync_reserve_submenu_size (menu); gtk_cell_area_context_flush_preferred_height (priv->context); - sync_reserve_submenu_size (menu); - - if (priv->model) - { - if (priv->root) - path = gtk_tree_row_reference_get_path (priv->root); - - if (path) - { - GtkTreeIter parent; - - if (gtk_tree_model_get_iter (priv->model, &parent, path)) - valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); - - gtk_tree_path_free (path); - } - else - valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); - - while (valid) - { - gboolean is_separator = FALSE; - - if (priv->row_separator_func) - is_separator = - priv->row_separator_func (priv->model, &iter, priv->row_separator_data); - - if (!is_separator) - { - gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); - gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); - } - - valid = gtk_tree_model_iter_next (priv->model, &iter); - } - } - - gtk_cell_area_context_sum_preferred_height (priv->context); + GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_height (widget, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); - - /* Now that we've requested all the row's and updated priv->context properly, we can go ahead - * and calculate the sizes by requesting the menu items and thier cell views */ - GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_height (widget, minimum_size, natural_size); } static void @@ -523,29 +443,14 @@ gtk_tree_menu_size_allocate (GtkWidget *widget, { GtkTreeMenu *menu = GTK_TREE_MENU (widget); GtkTreeMenuPrivate *priv = menu->priv; - gint new_width, new_height; /* flush the context allocation */ gtk_cell_area_context_flush_allocation (priv->context); /* Leave it to the first cell area to allocate the size of priv->context, since - * we configure the menu to allocate all children the same width this should work fine */ + * we configure the menu to allocate all children the same width this works fine + */ GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->size_allocate (widget, allocation); - - /* In alot of cases the menu gets allocated while the children dont need - * any reallocation, in this case we need to restore the context allocation */ - gtk_cell_area_context_get_allocation (priv->context, &new_width, &new_height); - - if (new_width <= 0 && new_height <= 0) - { - gtk_cell_area_context_allocate_width (priv->context, priv->last_alloc_width); - gtk_cell_area_context_allocate_height (priv->context, priv->last_alloc_height); - } - - /* Save the allocation for the next round */ - gtk_cell_area_context_get_allocation (priv->context, - &priv->last_alloc_width, - &priv->last_alloc_height); } /**************************************************************** @@ -667,6 +572,176 @@ gtk_tree_menu_cell_layout_get_area (GtkCellLayout *layout) /**************************************************************** * TreeModel callbacks/populating menus * ****************************************************************/ +static GtkWidget * +gtk_tree_menu_get_path_item (GtkTreeMenu *menu, + GtkTreePath *search) +{ + GtkWidget *item = NULL; + GList *children, *l; + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + + for (l = children; item == NULL && l != NULL; l = l->next) + { + GtkWidget *child = l->data; + GtkTreePath *path = NULL; + + if (GTK_IS_SEPARATOR_MENU_ITEM (child)) + { + GtkTreeRowReference *row = + g_object_get_qdata (G_OBJECT (child), tree_menu_path_quark); + + if (row && gtk_tree_row_reference_valid (row)) + path = gtk_tree_row_reference_get_path (row); + } + else + { + GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); + + /* It's always a cellview */ + if (GTK_IS_CELL_VIEW (view)) + path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + } + + if (path) + { + if (gtk_tree_path_compare (search, path) == 0) + item = child; + + gtk_tree_path_free (path); + } + } + + g_list_free (children); + + return item; +} + +static void +row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *parent_path; + gboolean this_menu = FALSE; + gint *indices, index, depth; + + parent_path = gtk_tree_path_copy (path); + + /* Check if the menu and the added iter are in root of the model */ + if (!gtk_tree_path_up (parent_path)) + { + if (!priv->root) + this_menu = TRUE; + } + /* If we are a submenu, compare the path */ + else if (priv->root) + { + GtkTreePath *root_path = + gtk_tree_row_reference_get_path (priv->root); + + if (gtk_tree_path_compare (root_path, parent_path) == 0) + this_menu = TRUE; + + gtk_tree_path_free (root_path); + } + + gtk_tree_path_free (parent_path); + + /* If the iter should be in this menu then go ahead and insert it */ + if (this_menu) + { + GtkWidget *item; + + /* Get the index of the path for this depth */ + indices = gtk_tree_path_get_indices (path); + depth = gtk_tree_path_get_depth (path); + index = indices[depth -1]; + + /* Menus with a header include a menuitem for it's root node + * and a separator menu item */ + if (priv->menu_with_header) + index += 2; + + item = gtk_tree_menu_create_item (menu, iter, FALSE); + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); + } +} + +static void +row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *root_path; + GtkWidget *item; + + /* If it's the root node we leave it to the parent menu to remove us + * from its menu */ + if (priv->root) + { + root_path = gtk_tree_row_reference_get_path (priv->root); + + if (gtk_tree_path_compare (root_path, path) == 0) + { + gtk_tree_path_free (root_path); + return; + } + } + + /* Get rid of the deleted item */ + item = gtk_tree_menu_get_path_item (menu, path); + if (item) + { + gtk_widget_destroy (item); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); + } +} + +static void +row_reordered_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + gboolean this_menu = FALSE; + + if (iter == NULL && priv->root == NULL) + this_menu = TRUE; + else if (priv->root) + { + GtkTreePath *root_path = + gtk_tree_row_reference_get_path (priv->root); + + if (gtk_tree_path_compare (root_path, path) == 0) + this_menu = TRUE; + + gtk_tree_path_free (root_path); + } + + if (this_menu) + { + /* Destroy and repopulate the menu at the level where the order changed */ + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + + gtk_tree_menu_populate (menu); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); + } +} + static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, @@ -696,29 +771,74 @@ gtk_tree_menu_set_area (GtkTreeMenu *menu, static GtkWidget * gtk_tree_menu_create_item (GtkTreeMenu *menu, - GtkTreeIter *iter) + GtkTreeIter *iter, + gboolean header_item) { GtkTreeMenuPrivate *priv = menu->priv; GtkWidget *item, *view; GtkTreePath *path; - - view = gtk_cell_view_new_with_context (priv->area, priv->context); - item = gtk_menu_item_new (); - gtk_widget_show (view); - gtk_widget_show (item); + gboolean is_separator = FALSE; path = gtk_tree_model_get_path (priv->model, iter); - gtk_cell_view_set_model (GTK_CELL_VIEW (view), priv->model); - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (view), path); + if (priv->row_separator_func) + is_separator = + priv->row_separator_func (priv->model, iter, + priv->row_separator_data); + + if (is_separator) + { + item = gtk_separator_menu_item_new (); + + g_object_set_qdata_full (G_OBJECT (item), + tree_menu_path_quark, + gtk_tree_row_reference_new (priv->model, path), + (GDestroyNotify)gtk_tree_row_reference_free); + } + else + { + view = gtk_cell_view_new_with_context (priv->area, priv->context); + item = gtk_menu_item_new (); + gtk_widget_show (view); + gtk_widget_show (item); + + gtk_cell_view_set_model (GTK_CELL_VIEW (view), priv->model); + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (view), path); + + gtk_widget_show (view); + gtk_container_add (GTK_CONTAINER (item), view); + + g_signal_connect (item, "activate", G_CALLBACK (item_activated_cb), menu); + + /* Add a GtkTreeMenu submenu to render the children of this row */ + if (header_item == FALSE && + gtk_tree_model_iter_has_child (priv->model, iter)) + { + GtkWidget *submenu; + + submenu = gtk_tree_menu_new_with_area (priv->area); + + gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), + priv->row_separator_func, + priv->row_separator_data, + priv->row_separator_destroy); + gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), + priv->header_func, + priv->header_data, + priv->header_destroy); + + gtk_tree_menu_set_model (GTK_TREE_MENU (submenu), priv->model); + gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); + + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + + g_signal_connect (submenu, "menu-activate", + G_CALLBACK (submenu_activated_cb), menu); + } + } gtk_tree_path_free (path); - gtk_widget_show (view); - gtk_container_add (GTK_CONTAINER (item), view); - - g_signal_connect (item, "activate", G_CALLBACK (item_activated_cb), menu); - return item; } @@ -750,12 +870,14 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) /* Add a submenu header for rows which desire one, used for * combo boxes to allow all rows to be activatable/selectable */ - menu_item = gtk_tree_menu_create_item (menu, &parent); + menu_item = gtk_tree_menu_create_item (menu, &parent, TRUE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); menu_item = gtk_separator_menu_item_new (); gtk_widget_show (menu_item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + priv->menu_with_header = TRUE; } } gtk_tree_path_free (path); @@ -767,49 +889,7 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) * submenu for iters/items that have children */ while (valid) { - gboolean is_separator = FALSE; - - if (priv->row_separator_func) - is_separator = - priv->row_separator_func (priv->model, &iter, - priv->row_separator_data); - - if (is_separator) - menu_item = gtk_separator_menu_item_new (); - else - { - menu_item = gtk_tree_menu_create_item (menu, &iter); - - /* Add a GtkTreeMenu submenu to render the children of this row */ - if (gtk_tree_model_iter_has_child (priv->model, &iter)) - { - GtkTreePath *row_path; - GtkWidget *submenu; - - row_path = gtk_tree_model_get_path (priv->model, &iter); - submenu = gtk_tree_menu_new_with_area (priv->area); - - gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), - priv->row_separator_func, - priv->row_separator_data, - priv->row_separator_destroy); - gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), - priv->header_func, - priv->header_data, - priv->header_destroy); - - gtk_tree_menu_set_model (GTK_TREE_MENU (submenu), priv->model); - gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), row_path); - - gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_item), submenu); - - gtk_tree_path_free (row_path); - - g_signal_connect (submenu, "menu-activate", - G_CALLBACK (submenu_activated_cb), menu); - } - } - + menu_item = gtk_tree_menu_create_item (menu, &iter, FALSE); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); valid = gtk_tree_model_iter_next (priv->model, &iter); @@ -891,6 +971,15 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, if (priv->model) { /* Disconnect signals */ + g_signal_handler_disconnect (priv->model, + priv->row_inserted_id); + g_signal_handler_disconnect (priv->model, + priv->row_deleted_id); + g_signal_handler_disconnect (priv->model, + priv->row_reordered_id); + priv->row_inserted_id = 0; + priv->row_deleted_id = 0; + priv->row_reordered_id = 0; g_object_unref (priv->model); } @@ -899,9 +988,15 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, if (priv->model) { - /* Connect signals */ - g_object_ref (priv->model); + + /* Connect signals */ + priv->row_inserted_id = g_signal_connect (priv->model, "row-inserted", + G_CALLBACK (row_inserted_cb), menu); + priv->row_deleted_id = g_signal_connect (priv->model, "row-deleted", + G_CALLBACK (row_deleted_cb), menu); + priv->row_reordered_id = g_signal_connect (priv->model, "rows-reordered", + G_CALLBACK (row_reordered_cb), menu); } } } From b6b810ba51cb9a8ad98a5f93025e5c9c8c11004d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 22 Nov 2010 16:29:26 +0900 Subject: [PATCH 1077/1463] Reduced code in GtkCellView by just implementing the GtkCellLayout->get_area method. --- gtk/gtkcellview.c | 133 ++++------------------------------------------ 1 file changed, 9 insertions(+), 124 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index e1269fce84..a496829074 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -58,7 +58,6 @@ struct _GtkCellViewPrivate }; -static void gtk_cell_view_cell_layout_init (GtkCellLayoutIface *iface); static GObject *gtk_cell_view_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties); @@ -82,31 +81,11 @@ static void gtk_cell_view_set_value (GtkCellView *cell GValue *value); static void gtk_cell_view_set_cell_data (GtkCellView *cell_view); - -static void gtk_cell_view_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand); -static void gtk_cell_view_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand); -static void gtk_cell_view_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column); -static void gtk_cell_view_cell_layout_clear (GtkCellLayout *layout); -static void gtk_cell_view_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *renderer); -static void gtk_cell_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); -static void gtk_cell_view_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position); -static GList * gtk_cell_view_cell_layout_get_cells (GtkCellLayout *layout); +/* celllayout */ +static void gtk_cell_view_cell_layout_init (GtkCellLayoutIface *iface); static GtkCellArea *gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout); + /* buildable */ static void gtk_cell_view_buildable_init (GtkBuildableIface *iface); static gboolean gtk_cell_view_buildable_custom_tag_start (GtkBuildable *buildable, @@ -283,14 +262,6 @@ gtk_cell_view_buildable_init (GtkBuildableIface *iface) static void gtk_cell_view_cell_layout_init (GtkCellLayoutIface *iface) { - iface->pack_start = gtk_cell_view_cell_layout_pack_start; - iface->pack_end = gtk_cell_view_cell_layout_pack_end; - iface->clear = gtk_cell_view_cell_layout_clear; - iface->add_attribute = gtk_cell_view_cell_layout_add_attribute; - iface->set_cell_data_func = gtk_cell_view_cell_layout_set_cell_data_func; - iface->clear_attributes = gtk_cell_view_cell_layout_clear_attributes; - iface->reorder = gtk_cell_view_cell_layout_reorder; - iface->get_cells = gtk_cell_view_cell_layout_get_cells; iface->get_area = gtk_cell_view_cell_layout_get_area; } @@ -567,92 +538,6 @@ gtk_cell_view_set_cell_data (GtkCellView *cell_view) } /* GtkCellLayout implementation */ -static void -gtk_cell_view_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview->priv->area), renderer, expand); - - gtk_widget_queue_resize (GTK_WIDGET (cellview)); -} - -static void -gtk_cell_view_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (cellview->priv->area), renderer, expand); - - gtk_widget_queue_resize (GTK_WIDGET (cellview)); -} - -static void -gtk_cell_view_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (cellview->priv->area), renderer, - attribute, column); -} - -static void -gtk_cell_view_cell_layout_clear (GtkCellLayout *layout) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - if (cellview->priv->area) - gtk_cell_layout_clear (GTK_CELL_LAYOUT (cellview->priv->area)); -} - -static void -gtk_cell_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (cellview->priv->area), - cell, func, func_data, destroy); -} - -static void -gtk_cell_view_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *renderer) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (cellview->priv->area), renderer); -} - -static void -gtk_cell_view_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (cellview->priv->area), cell, position); -} - - -static GList * -gtk_cell_view_cell_layout_get_cells (GtkCellLayout *layout) -{ - GtkCellView *cellview = GTK_CELL_VIEW (layout); - - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cellview->priv->area)); -} - static GtkCellArea * gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout) { @@ -763,8 +648,8 @@ gtk_cell_view_new_with_text (const gchar *text) cellview = GTK_CELL_VIEW (gtk_cell_view_new ()); renderer = gtk_cell_renderer_text_new (); - gtk_cell_view_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), - renderer, TRUE); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), + renderer, TRUE); g_value_init (&value, G_TYPE_STRING); g_value_set_string (&value, text); @@ -797,8 +682,8 @@ gtk_cell_view_new_with_markup (const gchar *markup) cellview = GTK_CELL_VIEW (gtk_cell_view_new ()); renderer = gtk_cell_renderer_text_new (); - gtk_cell_view_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), - renderer, TRUE); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), + renderer, TRUE); g_value_init (&value, G_TYPE_STRING); g_value_set_string (&value, markup); @@ -829,8 +714,8 @@ gtk_cell_view_new_with_pixbuf (GdkPixbuf *pixbuf) cellview = GTK_CELL_VIEW (gtk_cell_view_new ()); renderer = gtk_cell_renderer_pixbuf_new (); - gtk_cell_view_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), - renderer, TRUE); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (cellview), + renderer, TRUE); g_value_init (&value, GDK_TYPE_PIXBUF); g_value_set_object (&value, pixbuf); From 3a56f8814f575cb97f877acc17a09c0f13fc0bb4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 22 Nov 2010 16:32:18 +0900 Subject: [PATCH 1078/1463] Reduced code size in GtkTreeMenu by only implementing GtkCellLayout->get_area method for the GtkCellLayout iface. --- gtk/gtktreemenu.c | 121 +--------------------------------------------- 1 file changed, 1 insertion(+), 120 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 6974912721..c1ad3cdc4d 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -61,28 +61,6 @@ static void gtk_tree_menu_size_allocate (GtkWidget /* GtkCellLayoutIface */ static void gtk_tree_menu_cell_layout_init (GtkCellLayoutIface *iface); -static void gtk_tree_menu_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand); -static void gtk_tree_menu_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand); -static GList *gtk_tree_menu_cell_layout_get_cells (GtkCellLayout *layout); -static void gtk_tree_menu_cell_layout_clear (GtkCellLayout *layout); -static void gtk_tree_menu_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column); -static void gtk_tree_menu_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); -static void gtk_tree_menu_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *cell); -static void gtk_tree_menu_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position); static GtkCellArea *gtk_tree_menu_cell_layout_get_area (GtkCellLayout *layout); @@ -456,107 +434,10 @@ gtk_tree_menu_size_allocate (GtkWidget *widget, /**************************************************************** * GtkCellLayoutIface * ****************************************************************/ -/* Just forward all the GtkCellLayoutIface methods to the - * underlying GtkCellArea - */ static void gtk_tree_menu_cell_layout_init (GtkCellLayoutIface *iface) { - iface->pack_start = gtk_tree_menu_cell_layout_pack_start; - iface->pack_end = gtk_tree_menu_cell_layout_pack_end; - iface->get_cells = gtk_tree_menu_cell_layout_get_cells; - iface->clear = gtk_tree_menu_cell_layout_clear; - iface->add_attribute = gtk_tree_menu_cell_layout_add_attribute; - iface->set_cell_data_func = gtk_tree_menu_cell_layout_set_cell_data_func; - iface->clear_attributes = gtk_tree_menu_cell_layout_clear_attributes; - iface->reorder = gtk_tree_menu_cell_layout_reorder; - iface->get_area = gtk_tree_menu_cell_layout_get_area; -} - -static void -gtk_tree_menu_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->area), cell, expand); -} - -static void -gtk_tree_menu_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (priv->area), cell, expand); -} - -static GList * -gtk_tree_menu_cell_layout_get_cells (GtkCellLayout *layout) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->area)); -} - -static void -gtk_tree_menu_cell_layout_clear (GtkCellLayout *layout) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_clear (GTK_CELL_LAYOUT (priv->area)); -} - -static void -gtk_tree_menu_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (priv->area), cell, attribute, column); -} - -static void -gtk_tree_menu_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->area), cell, func, func_data, destroy); -} - -static void -gtk_tree_menu_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *cell) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (priv->area), cell); -} - -static void -gtk_tree_menu_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (layout); - GtkTreeMenuPrivate *priv = menu->priv; - - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (priv->area), cell, position); + iface->get_area = gtk_tree_menu_cell_layout_get_area; } static GtkCellArea * From de59f05ccd65e9c34b9152335eb41ab5bea72b55 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 23 Nov 2010 12:11:52 +0900 Subject: [PATCH 1079/1463] Added gtk_tree_menu_set/get_tearoff to allow the root menu to have a tearoff item Combo boxes expose an "add-tearoffs" feature to add a tearoff item to the root of the combo menu, added this feature to GtkTreeMenu to achieve this (and updated the testcase). --- gtk/gtktreemenu.c | 129 +++++++++++++++++++++++++++++++------------ gtk/gtktreemenu.h | 3 + tests/testtreemenu.c | 15 +++++ 3 files changed, 111 insertions(+), 36 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index c1ad3cdc4d..278bdc4f78 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -26,6 +26,7 @@ #include "gtktreemenu.h" #include "gtkmarshalers.h" #include "gtkmenuitem.h" +#include "gtktearoffmenuitem.h" #include "gtkseparatormenuitem.h" #include "gtkcellareabox.h" #include "gtkcellareacontext.h" @@ -56,8 +57,6 @@ static void gtk_tree_menu_get_preferred_width (GtkWidget static void gtk_tree_menu_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size); -static void gtk_tree_menu_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); /* GtkCellLayoutIface */ static void gtk_tree_menu_cell_layout_init (GtkCellLayoutIface *iface); @@ -110,13 +109,15 @@ struct _GtkTreeMenuPrivate GDestroyNotify header_destroy; guint32 menu_with_header : 1; + guint32 tearoff : 1; }; enum { PROP_0, PROP_MODEL, PROP_ROOT, - PROP_CELL_AREA + PROP_CELL_AREA, + PROP_TEAROFF }; enum { @@ -160,7 +161,6 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) widget_class->get_preferred_width = gtk_tree_menu_get_preferred_width; widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; - widget_class->size_allocate = gtk_tree_menu_size_allocate; tree_menu_signals[SIGNAL_MENU_ACTIVATE] = g_signal_new (I_("menu-activate"), @@ -196,6 +196,14 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_CELL_AREA, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, + PROP_TEAROFF, + g_param_spec_boolean ("tearoff", + P_("Tearoff"), + P_("Whether the menu has a tearoff item"), + FALSE, + GTK_PARAM_READWRITE)); + g_type_class_add_private (object_class, sizeof (GtkTreeMenuPrivate)); } @@ -300,6 +308,10 @@ gtk_tree_menu_set_property (GObject *object, gtk_tree_menu_set_area (menu, (GtkCellArea *)g_value_get_object (value)); break; + case PROP_TEAROFF: + gtk_tree_menu_set_tearoff (menu, g_value_get_boolean (value)); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -317,21 +329,25 @@ gtk_tree_menu_get_property (GObject *object, switch (prop_id) { - case PROP_MODEL: - g_value_set_object (value, priv->model); - break; + case PROP_MODEL: + g_value_set_object (value, priv->model); + break; + + case PROP_ROOT: + g_value_set_boxed (value, priv->root); + break; + + case PROP_CELL_AREA: + g_value_set_object (value, priv->area); + break; - case PROP_ROOT: - g_value_set_boxed (value, priv->root); - break; + case PROP_TEAROFF: + g_value_set_boolean (value, priv->tearoff); + break; - case PROP_CELL_AREA: - g_value_set_object (value, priv->area); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; } } @@ -390,7 +406,6 @@ gtk_tree_menu_get_preferred_width (GtkWidget *widget, g_signal_handler_block (priv->context, priv->size_changed_id); sync_reserve_submenu_size (menu); - gtk_cell_area_context_flush_preferred_width (priv->context); GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_width (widget, minimum_size, natural_size); @@ -408,29 +423,12 @@ gtk_tree_menu_get_preferred_height (GtkWidget *widget, g_signal_handler_block (priv->context, priv->size_changed_id); sync_reserve_submenu_size (menu); - gtk_cell_area_context_flush_preferred_height (priv->context); GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_height (widget, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); } -static void -gtk_tree_menu_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) -{ - GtkTreeMenu *menu = GTK_TREE_MENU (widget); - GtkTreeMenuPrivate *priv = menu->priv; - - /* flush the context allocation */ - gtk_cell_area_context_flush_allocation (priv->context); - - /* Leave it to the first cell area to allocate the size of priv->context, since - * we configure the menu to allocate all children the same width this works fine - */ - GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->size_allocate (widget, allocation); -} - /**************************************************************** * GtkCellLayoutIface * ****************************************************************/ @@ -546,6 +544,12 @@ row_inserted_cb (GtkTreeModel *model, if (priv->menu_with_header) index += 2; + /* Index after the tearoff item for the root menu if + * there is a tearoff item + */ + if (priv->root == NULL && priv->tearoff) + index += 1; + item = gtk_tree_menu_create_item (menu, iter, FALSE); gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); @@ -764,7 +768,21 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) gtk_tree_path_free (path); } else - valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); + { + /* Tearoff menu items only go in the root menu */ + if (priv->tearoff) + { + menu_item = gtk_tearoff_menu_item_new (); + gtk_widget_show (menu_item); + + /* Here if wrap_width > 0 then we need to attach the menu + * item to span the entire first row of the grid menu */ + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + } + + + valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); + } /* Create a menu item for every row at the current depth, add a GtkTreeMenu * submenu for iters/items that have children */ @@ -937,6 +955,45 @@ gtk_tree_menu_get_root (GtkTreeMenu *menu) return NULL; } +gboolean +gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), FALSE); + + priv = menu->priv; + + return priv->tearoff; +} + +void +gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, + gboolean tearoff) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + + priv = menu->priv; + + if (priv->tearoff != tearoff) + { + priv->tearoff = tearoff; + + /* Destroy all the menu items */ + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + + /* Populate again */ + if (priv->model) + gtk_tree_menu_populate (menu); + + g_object_notify (G_OBJECT (menu), "tearoff"); + } +} + + void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, GtkTreeViewRowSeparatorFunc func, diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 539613f161..472c7ce18c 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -85,6 +85,9 @@ GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu void gtk_tree_menu_set_root (GtkTreeMenu *menu, GtkTreePath *path); GtkTreePath *gtk_tree_menu_get_root (GtkTreeMenu *menu); +gboolean gtk_tree_menu_get_tearoff (GtkTreeMenu *menu); +void gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, + gboolean tearoff); void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, GtkTreeViewRowSeparatorFunc func, diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index e514f47522..7445147d3e 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -271,6 +271,13 @@ submenu_headers_toggled (GtkToggleButton *toggle, gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL); } +static void +tearoff_toggled (GtkToggleButton *toggle, + GtkTreeMenu *menu) +{ + gtk_tree_menu_set_tearoff (menu, gtk_toggle_button_get_active (toggle)); +} + static void tree_menu (void) { @@ -347,6 +354,14 @@ tree_menu (void) g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (submenu_headers_toggled), menu); + widget = gtk_check_button_new_with_label ("Tearoff menu"); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + g_signal_connect (G_OBJECT (widget), "toggled", + G_CALLBACK (tearoff_toggled), menu); + gtk_container_add (GTK_CONTAINER (window), vbox); From e6283453948c01abc8644ba20011ec420faffff0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 23 Nov 2010 12:39:00 +0900 Subject: [PATCH 1080/1463] Fixed GtkCellView to call cell_view_set_model() and disconnect signals at dispose time. --- gtk/gtkcellview.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index a496829074..a65510642f 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -428,11 +428,7 @@ gtk_cell_view_dispose (GObject *object) { GtkCellView *cellview = GTK_CELL_VIEW (object); - if (cellview->priv->model) - { - g_object_unref (cellview->priv->model); - cellview->priv->model = NULL; - } + gtk_cell_view_set_model (cellview, NULL); if (cellview->priv->area) { From 84a726c3ce9df0ed3bd79d997c93511bcd190548 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 23 Nov 2010 15:48:14 +0900 Subject: [PATCH 1081/1463] Support grid mode in GtkTreeMenu Added properties "wrap-width", "row-span-column" and "column-span-column" to allow grid style menus from treemodels. Handling row data changes appropriately. --- gtk/gtktreemenu.c | 623 ++++++++++++++++++++++++++++++++++++------- gtk/gtktreemenu.h | 19 +- tests/testtreemenu.c | 150 ++++++++++- 3 files changed, 680 insertions(+), 112 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 278bdc4f78..959803243e 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -64,6 +64,16 @@ static GtkCellArea *gtk_tree_menu_cell_layout_get_area (GtkCellLayout /* TreeModel/DrawingArea callbacks and building menus/submenus */ +static inline void rebuild_menu (GtkTreeMenu *menu); +static gboolean menu_occupied (GtkTreeMenu *menu, + guint left_attach, + guint right_attach, + guint top_attach, + guint bottom_attach); +static void relayout_item (GtkTreeMenu *menu, + GtkWidget *item, + GtkTreeIter *iter, + GtkWidget *prev); static void gtk_tree_menu_populate (GtkTreeMenu *menu); static GtkWidget *gtk_tree_menu_create_item (GtkTreeMenu *menu, GtkTreeIter *iter, @@ -72,6 +82,22 @@ static void gtk_tree_menu_set_area (GtkTreeMenu GtkCellArea *area); static GtkWidget *gtk_tree_menu_get_path_item (GtkTreeMenu *menu, GtkTreePath *path); +static void row_inserted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu); +static void row_deleted_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeMenu *menu); +static void row_reordered_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + GtkTreeMenu *menu); +static void row_changed_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu); static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, @@ -82,6 +108,8 @@ static void submenu_activated_cb (GtkTreeMenu const gchar *path, GtkTreeMenu *menu); + + struct _GtkTreeMenuPrivate { /* TreeModel and parent for this menu */ @@ -97,6 +125,16 @@ struct _GtkTreeMenuPrivate gulong row_inserted_id; gulong row_deleted_id; gulong row_reordered_id; + gulong row_changed_id; + + /* Grid menu mode */ + gint wrap_width; + gint row_span_col; + gint col_span_col; + + /* Flags */ + guint32 menu_with_header : 1; + guint32 tearoff : 1; /* Row separators */ GtkTreeViewRowSeparatorFunc row_separator_func; @@ -107,9 +145,6 @@ struct _GtkTreeMenuPrivate GtkTreeMenuHeaderFunc header_func; gpointer header_data; GDestroyNotify header_destroy; - - guint32 menu_with_header : 1; - guint32 tearoff : 1; }; enum { @@ -117,7 +152,10 @@ enum { PROP_MODEL, PROP_ROOT, PROP_CELL_AREA, - PROP_TEAROFF + PROP_TEAROFF, + PROP_WRAP_WIDTH, + PROP_ROW_SPAN_COL, + PROP_COL_SPAN_COL }; enum { @@ -142,6 +180,32 @@ gtk_tree_menu_init (GtkTreeMenu *menu) GtkTreeMenuPrivate); priv = menu->priv; + priv->model = NULL; + priv->root = NULL; + priv->area = NULL; + priv->context = NULL; + + priv->size_changed_id = 0; + priv->row_inserted_id = 0; + priv->row_deleted_id = 0; + priv->row_reordered_id = 0; + priv->row_changed_id = 0; + + priv->wrap_width = 0; + priv->row_span_col = -1; + priv->col_span_col = -1; + + priv->menu_with_header = FALSE; + priv->tearoff = FALSE; + + priv->row_separator_func = NULL; + priv->row_separator_data = NULL; + priv->row_separator_destroy = NULL; + + priv->header_func = NULL; + priv->header_data = NULL; + priv->header_destroy = NULL; + gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE); } @@ -188,24 +252,85 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_TREE_PATH, GTK_PARAM_READWRITE)); - g_object_class_install_property (object_class, - PROP_CELL_AREA, - g_param_spec_object ("cell-area", - P_("Cell Area"), - P_("The GtkCellArea used to layout cells"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (object_class, - PROP_TEAROFF, - g_param_spec_boolean ("tearoff", - P_("Tearoff"), - P_("Whether the menu has a tearoff item"), - FALSE, - GTK_PARAM_READWRITE)); + g_object_class_install_property (object_class, + PROP_TEAROFF, + g_param_spec_boolean ("tearoff", + P_("Tearoff"), + P_("Whether the menu has a tearoff item"), + FALSE, + GTK_PARAM_READWRITE)); + /** + * GtkTreeMenu:wrap-width: + * + * If wrap-width is set to a positive value, the list will be + * displayed in multiple columns, the number of columns is + * determined by wrap-width. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_WRAP_WIDTH, + g_param_spec_int ("wrap-width", + P_("Wrap Width"), + P_("Wrap width for laying out items in a grid"), + 0, + G_MAXINT, + 0, + GTK_PARAM_READWRITE)); - g_type_class_add_private (object_class, sizeof (GtkTreeMenuPrivate)); + /** + * GtkTreeMenu:row-span-column: + * + * If this is set to a non-negative value, it must be the index of a column + * of type %G_TYPE_INT in the model. + * + * The values of that column are used to determine how many rows a value in + * the list will span. Therefore, the values in the model column pointed to + * by this property must be greater than zero and not larger than wrap-width. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_ROW_SPAN_COL, + g_param_spec_int ("row-span-column", + P_("Row span column"), + P_("TreeModel column containing the row span values"), + -1, + G_MAXINT, + -1, + GTK_PARAM_READWRITE)); + + /** + * GtkTreeMenu:column-span-column: + * + * If this is set to a non-negative value, it must be the index of a column + * of type %G_TYPE_INT in the model. + * + * The values of that column are used to determine how many columns a value + * in the list will span. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_COL_SPAN_COL, + g_param_spec_int ("column-span-column", + P_("Column span column"), + P_("TreeModel column containing the column span values"), + -1, + G_MAXINT, + -1, + GTK_PARAM_READWRITE)); + + g_type_class_add_private (object_class, sizeof (GtkTreeMenuPrivate)); } /**************************************************************** @@ -312,6 +437,18 @@ gtk_tree_menu_set_property (GObject *object, gtk_tree_menu_set_tearoff (menu, g_value_get_boolean (value)); break; + case PROP_WRAP_WIDTH: + gtk_tree_menu_set_wrap_width (menu, g_value_get_int (value)); + break; + + case PROP_ROW_SPAN_COL: + gtk_tree_menu_set_row_span_column (menu, g_value_get_int (value)); + break; + + case PROP_COL_SPAN_COL: + gtk_tree_menu_set_column_span_column (menu, g_value_get_int (value)); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -510,7 +647,7 @@ row_inserted_cb (GtkTreeModel *model, parent_path = gtk_tree_path_copy (path); /* Check if the menu and the added iter are in root of the model */ - if (!gtk_tree_path_up (parent_path)) + if (gtk_tree_path_get_depth (parent_path) <= 1) { if (!priv->root) this_menu = TRUE; @@ -534,27 +671,32 @@ row_inserted_cb (GtkTreeModel *model, { GtkWidget *item; - /* Get the index of the path for this depth */ - indices = gtk_tree_path_get_indices (path); - depth = gtk_tree_path_get_depth (path); - index = indices[depth -1]; - - /* Menus with a header include a menuitem for it's root node - * and a separator menu item */ - if (priv->menu_with_header) - index += 2; - - /* Index after the tearoff item for the root menu if - * there is a tearoff item - */ - if (priv->root == NULL && priv->tearoff) - index += 1; - - item = gtk_tree_menu_create_item (menu, iter, FALSE); - gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); - - /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); + if (priv->wrap_width > 0) + rebuild_menu (menu); + else + { + /* Get the index of the path for this depth */ + indices = gtk_tree_path_get_indices (path); + depth = gtk_tree_path_get_depth (path); + index = indices[depth -1]; + + /* Menus with a header include a menuitem for it's root node + * and a separator menu item */ + if (priv->menu_with_header) + index += 2; + + /* Index after the tearoff item for the root menu if + * there is a tearoff item + */ + if (priv->root == NULL && priv->tearoff) + index += 1; + + item = gtk_tree_menu_create_item (menu, iter, FALSE); + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); + } } } @@ -580,14 +722,19 @@ row_deleted_cb (GtkTreeModel *model, } } - /* Get rid of the deleted item */ item = gtk_tree_menu_get_path_item (menu, path); if (item) { - gtk_widget_destroy (item); - - /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); + if (priv->wrap_width > 0) + rebuild_menu (menu); + else + { + /* Get rid of the deleted item */ + gtk_widget_destroy (item); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); + } } } @@ -615,15 +762,102 @@ row_reordered_cb (GtkTreeModel *model, } if (this_menu) + rebuild_menu (menu); +} + +static gint +menu_item_position (GtkTreeMenu *menu, + GtkWidget *item) +{ + GList *children, *l; + gint position; + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + for (position = 0, l = children; l; position++, l = l->next) { - /* Destroy and repopulate the menu at the level where the order changed */ - gtk_container_foreach (GTK_CONTAINER (menu), - (GtkCallback) gtk_widget_destroy, NULL); + GtkWidget *iitem = l->data; - gtk_tree_menu_populate (menu); + if (item == iitem) + break; + } - /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); + g_list_free (children); + + return position; +} + +static void +row_changed_cb (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + gboolean is_separator = FALSE; + gboolean has_header = FALSE; + GtkWidget *item; + + item = gtk_tree_menu_get_path_item (menu, path); + + if (priv->root) + { + GtkTreePath *root_path = + gtk_tree_row_reference_get_path (priv->root); + + if (gtk_tree_path_compare (root_path, path) == 0) + { + if (priv->header_func) + has_header = + priv->header_func (priv->model, iter, priv->header_data); + + if (has_header && !item) + { + item = gtk_separator_menu_item_new (); + gtk_widget_show (item); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + + item = gtk_tree_menu_create_item (menu, iter, TRUE); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + + priv->menu_with_header = TRUE; + } + else if (!has_header && item) + { + /* Destroy the header item and the following separator */ + gtk_widget_destroy (item); + gtk_widget_destroy (GTK_MENU_SHELL (menu)->children->data); + + priv->menu_with_header = FALSE; + } + } + + gtk_tree_path_free (root_path); + } + + if (item) + { + if (priv->wrap_width > 0) + /* Ugly, we need to rebuild the menu here if + * the row-span/row-column values change + */ + rebuild_menu (menu); + else + { + if (priv->row_separator_func) + is_separator = + priv->row_separator_func (model, iter, + priv->row_separator_data); + + + if (is_separator != GTK_IS_SEPARATOR_MENU_ITEM (item)) + { + gint position = menu_item_position (menu, item); + + gtk_widget_destroy (item); + item = gtk_tree_menu_create_item (menu, iter, FALSE); + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, position); + } + } } } @@ -654,6 +888,93 @@ gtk_tree_menu_set_area (GtkTreeMenu *menu, g_object_ref_sink (priv->area); } +static gboolean +menu_occupied (GtkTreeMenu *menu, + guint left_attach, + guint right_attach, + guint top_attach, + guint bottom_attach) +{ + GList *i; + + for (i = GTK_MENU_SHELL (menu)->children; i; i = i->next) + { + guint l, r, b, t; + + gtk_container_child_get (GTK_CONTAINER (menu), + i->data, + "left-attach", &l, + "right-attach", &r, + "bottom-attach", &b, + "top-attach", &t, + NULL); + + /* look if this item intersects with the given coordinates */ + if (right_attach > l && left_attach < r && bottom_attach > t && top_attach < b) + return TRUE; + } + + return FALSE; +} + +static void +relayout_item (GtkTreeMenu *menu, + GtkWidget *item, + GtkTreeIter *iter, + GtkWidget *prev) +{ + GtkTreeMenuPrivate *priv = menu->priv; + gint current_col = 0, current_row = 0; + gint rows = 1, cols = 1; + + if (priv->col_span_col == -1 && + priv->row_span_col == -1 && + prev) + { + gtk_container_child_get (GTK_CONTAINER (menu), prev, + "right-attach", ¤t_col, + "top-attach", ¤t_row, + NULL); + if (current_col + cols > priv->wrap_width) + { + current_col = 0; + current_row++; + } + } + else + { + if (priv->col_span_col != -1) + gtk_tree_model_get (priv->model, iter, + priv->col_span_col, &cols, + -1); + if (priv->row_span_col != -1) + gtk_tree_model_get (priv->model, iter, + priv->row_span_col, &rows, + -1); + + while (1) + { + if (current_col + cols > priv->wrap_width) + { + current_col = 0; + current_row++; + } + + if (!menu_occupied (menu, + current_col, current_col + cols, + current_row, current_row + rows)) + break; + + current_col++; + } + } + + /* set attach props */ + gtk_menu_attach (GTK_MENU (menu), item, + current_col, current_col + cols, + current_row, current_row + rows); +} + static GtkWidget * gtk_tree_menu_create_item (GtkTreeMenu *menu, GtkTreeIter *iter, @@ -727,6 +1048,21 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, return item; } +static inline void +rebuild_menu (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + + /* Destroy all the menu items */ + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + + /* Populate */ + if (priv->model) + gtk_tree_menu_populate (menu); +} + + static void gtk_tree_menu_populate (GtkTreeMenu *menu) { @@ -735,7 +1071,7 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) GtkTreeIter parent; GtkTreeIter iter; gboolean valid = FALSE; - GtkWidget *menu_item; + GtkWidget *menu_item, *prev = NULL; if (!priv->model) return; @@ -762,6 +1098,7 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) gtk_widget_show (menu_item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + prev = menu_item; priv->menu_with_header = TRUE; } } @@ -775,11 +1112,13 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) menu_item = gtk_tearoff_menu_item_new (); gtk_widget_show (menu_item); - /* Here if wrap_width > 0 then we need to attach the menu - * item to span the entire first row of the grid menu */ - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); - } + if (priv->wrap_width > 0) + gtk_menu_attach (GTK_MENU (menu), menu_item, 0, priv->wrap_width, 0, 1); + else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + prev = menu_item; + } valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); } @@ -789,8 +1128,13 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) while (valid) { menu_item = gtk_tree_menu_create_item (menu, &iter, FALSE); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + if (priv->wrap_width > 0) + relayout_item (menu, menu_item, &iter, prev); + + prev = menu_item; valid = gtk_tree_model_iter_next (priv->model, &iter); } } @@ -876,9 +1220,12 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, priv->row_deleted_id); g_signal_handler_disconnect (priv->model, priv->row_reordered_id); + g_signal_handler_disconnect (priv->model, + priv->row_changed_id); priv->row_inserted_id = 0; priv->row_deleted_id = 0; priv->row_reordered_id = 0; + priv->row_changed_id = 0; g_object_unref (priv->model); } @@ -896,6 +1243,8 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, G_CALLBACK (row_deleted_cb), menu); priv->row_reordered_id = g_signal_connect (priv->model, "rows-reordered", G_CALLBACK (row_reordered_cb), menu); + priv->row_changed_id = g_signal_connect (priv->model, "row-changed", + G_CALLBACK (row_changed_cb), menu); } } } @@ -931,13 +1280,7 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, else priv->root = NULL; - /* Destroy all the menu items for the previous root */ - gtk_container_foreach (GTK_CONTAINER (menu), - (GtkCallback) gtk_widget_destroy, NULL); - - /* Populate for the new root */ - if (priv->model) - gtk_tree_menu_populate (menu); + rebuild_menu (menu); } GtkTreePath * @@ -981,18 +1324,122 @@ gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, { priv->tearoff = tearoff; - /* Destroy all the menu items */ - gtk_container_foreach (GTK_CONTAINER (menu), - (GtkCallback) gtk_widget_destroy, NULL); - - /* Populate again */ - if (priv->model) - gtk_tree_menu_populate (menu); + rebuild_menu (menu); g_object_notify (G_OBJECT (menu), "tearoff"); } } +gint +gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), FALSE); + + priv = menu->priv; + + return priv->wrap_width; +} + +void +gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, + gint width) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + g_return_if_fail (width >= 0); + + priv = menu->priv; + + if (priv->wrap_width != width) + { + priv->wrap_width = width; + + rebuild_menu (menu); + + g_object_notify (G_OBJECT (menu), "wrap-width"); + } +} + +gint +gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), FALSE); + + priv = menu->priv; + + return priv->row_span_col; +} + +void +gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, + gint row_span) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + + priv = menu->priv; + + if (priv->row_span_col != row_span) + { + priv->row_span_col = row_span; + + if (priv->wrap_width > 0) + rebuild_menu (menu); + + g_object_notify (G_OBJECT (menu), "row-span-column"); + } +} + +gint +gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), FALSE); + + priv = menu->priv; + + return priv->col_span_col; +} + +void +gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, + gint column_span) +{ + GtkTreeMenuPrivate *priv; + + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + + priv = menu->priv; + + if (priv->col_span_col != column_span) + { + priv->col_span_col = column_span; + + if (priv->wrap_width > 0) + rebuild_menu (menu); + + g_object_notify (G_OBJECT (menu), "column-span-column"); + } +} + +GtkTreeViewRowSeparatorFunc +gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv; + + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); + + priv = menu->priv; + + return priv->row_separator_func; +} void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, @@ -1013,17 +1460,11 @@ gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, priv->row_separator_data = data; priv->row_separator_destroy = destroy; - /* Destroy all the menu items */ - gtk_container_foreach (GTK_CONTAINER (menu), - (GtkCallback) gtk_widget_destroy, NULL); - - /* Populate again */ - if (priv->model) - gtk_tree_menu_populate (menu); + rebuild_menu (menu); } -GtkTreeViewRowSeparatorFunc -gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) +GtkTreeMenuHeaderFunc +gtk_tree_menu_get_header_func (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1031,7 +1472,7 @@ gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) priv = menu->priv; - return priv->row_separator_func; + return priv->header_func; } void @@ -1053,23 +1494,5 @@ gtk_tree_menu_set_header_func (GtkTreeMenu *menu, priv->header_data = data; priv->header_destroy = destroy; - /* Destroy all the menu items */ - gtk_container_foreach (GTK_CONTAINER (menu), - (GtkCallback) gtk_widget_destroy, NULL); - - /* Populate again */ - if (priv->model) - gtk_tree_menu_populate (menu); -} - -GtkTreeMenuHeaderFunc -gtk_tree_menu_get_header_func (GtkTreeMenu *menu) -{ - GtkTreeMenuPrivate *priv; - - g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); - - priv = menu->priv; - - return priv->header_func; + rebuild_menu (menu); } diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 472c7ce18c..812c820ef7 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -85,21 +85,30 @@ GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu void gtk_tree_menu_set_root (GtkTreeMenu *menu, GtkTreePath *path); GtkTreePath *gtk_tree_menu_get_root (GtkTreeMenu *menu); -gboolean gtk_tree_menu_get_tearoff (GtkTreeMenu *menu); -void gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, - gboolean tearoff); +gboolean gtk_tree_menu_get_tearoff (GtkTreeMenu *menu); +void gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, + gboolean tearoff); +gint gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu); +void gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, + gint width); +gint gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu); +void gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, + gint row_span); +gint gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu); +void gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, + gint column_span); +GtkTreeViewRowSeparatorFunc gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy); -GtkTreeViewRowSeparatorFunc gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); +GtkTreeMenuHeaderFunc gtk_tree_menu_get_header_func (GtkTreeMenu *menu); void gtk_tree_menu_set_header_func (GtkTreeMenu *menu, GtkTreeMenuHeaderFunc func, gpointer data, GDestroyNotify destroy); -GtkTreeMenuHeaderFunc gtk_tree_menu_get_header_func (GtkTreeMenu *menu); G_END_DECLS diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index 7445147d3e..76422d2695 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -1,6 +1,132 @@ #include #include "cellareascaffold.h" + +/******************************************************* + * Grid Test * + *******************************************************/ +static GdkPixbuf * +create_color_pixbuf (const char *color) +{ + GdkPixbuf *pixbuf; + GdkColor col; + + int x; + int num; + int rowstride; + guchar *pixels, *p; + + if (!gdk_color_parse (color, &col)) + return NULL; + + pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB, + FALSE, 8, + 16, 16); + + rowstride = gdk_pixbuf_get_rowstride (pixbuf); + p = pixels = gdk_pixbuf_get_pixels (pixbuf); + + num = gdk_pixbuf_get_width (pixbuf) * + gdk_pixbuf_get_height (pixbuf); + + for (x = 0; x < num; x++) { + p[0] = col.red / 65535 * 255; + p[1] = col.green / 65535 * 255; + p[2] = col.blue / 65535 * 255; + p += 3; + } + + return pixbuf; +} + +static GtkWidget * +create_menu_grid_demo (void) +{ + GtkWidget *menu; + GtkTreeIter iter; + GdkPixbuf *pixbuf; + GtkCellRenderer *cell = gtk_cell_renderer_pixbuf_new (); + GtkListStore *store; + + store = gtk_list_store_new (1, GDK_TYPE_PIXBUF); + + menu = gtk_tree_menu_new_full (NULL, GTK_TREE_MODEL (store), NULL); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (menu), cell, TRUE); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (menu), cell, "pixbuf", 0, NULL); + + gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (menu), 3); + + /* first row */ + pixbuf = create_color_pixbuf ("red"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + pixbuf = create_color_pixbuf ("green"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + pixbuf = create_color_pixbuf ("blue"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + /* second row */ + pixbuf = create_color_pixbuf ("yellow"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + pixbuf = create_color_pixbuf ("black"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + pixbuf = create_color_pixbuf ("white"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + /* third row */ + pixbuf = create_color_pixbuf ("gray"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + pixbuf = create_color_pixbuf ("snow"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + pixbuf = create_color_pixbuf ("magenta"); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, pixbuf, + -1); + g_object_unref (pixbuf); + + g_object_unref (store); + + return menu; +} + /******************************************************* * Simple Test * *******************************************************/ @@ -288,21 +414,32 @@ tree_menu (void) gtk_window_set_title (GTK_WINDOW (window), "GtkTreeMenu"); - menu = simple_tree_menu (); - - g_signal_connect (menu, "menu-activate", G_CALLBACK (menu_activated_cb), NULL); - vbox = gtk_vbox_new (FALSE, 4); gtk_widget_show (vbox); menubar = gtk_menu_bar_new (); - menuitem = gtk_menu_item_new_with_label ("Tree"); - gtk_widget_show (menu); gtk_widget_show (menubar); + +#if 1 + + menuitem = gtk_menu_item_new_with_label ("Grid"); + menu = create_menu_grid_demo (); + gtk_widget_show (menu); gtk_widget_show (menuitem); gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); +#endif + + menuitem = gtk_menu_item_new_with_label ("Tree"); + menu = simple_tree_menu (); + gtk_widget_show (menu); + gtk_widget_show (menuitem); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menubar), menuitem); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); + + g_signal_connect (menu, "menu-activate", G_CALLBACK (menu_activated_cb), NULL); + gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); /* Now add some controls */ @@ -362,7 +499,6 @@ tree_menu (void) g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (tearoff_toggled), menu); - gtk_container_add (GTK_CONTAINER (window), vbox); gtk_widget_show (window); From d48690c32cb96d111b8cf8ab866303e1600df6ba Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 13:49:12 +0900 Subject: [PATCH 1082/1463] Make GtkTreeMenu update menu item sensitivity when "apply-attributes" signal is fired for a row in the menu. --- gtk/gtktreemenu.c | 219 ++++++++++++++++++++++++++++++++++------------ 1 file changed, 162 insertions(+), 57 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 959803243e..72120876bc 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -82,6 +82,9 @@ static void gtk_tree_menu_set_area (GtkTreeMenu GtkCellArea *area); static GtkWidget *gtk_tree_menu_get_path_item (GtkTreeMenu *menu, GtkTreePath *path); +static gboolean gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, + GtkTreePath *path, + gboolean *header_item); static void row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, @@ -98,10 +101,15 @@ static void row_changed_cb (GtkTreeModel GtkTreePath *path, GtkTreeIter *iter, GtkTreeMenu *menu); - static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, GtkWidget *menu); +static void area_apply_attributes_cb (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded, + GtkTreeMenu *menu); static void item_activated_cb (GtkMenuItem *item, GtkTreeMenu *menu); static void submenu_activated_cb (GtkTreeMenu *submenu, @@ -122,6 +130,7 @@ struct _GtkTreeMenuPrivate /* Signals */ gulong size_changed_id; + gulong apply_attributes_id; gulong row_inserted_id; gulong row_deleted_id; gulong row_reordered_id; @@ -223,8 +232,8 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) object_class->set_property = gtk_tree_menu_set_property; object_class->get_property = gtk_tree_menu_get_property; - widget_class->get_preferred_width = gtk_tree_menu_get_preferred_width; - widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; + widget_class->get_preferred_width = gtk_tree_menu_get_preferred_width; + widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; tree_menu_signals[SIGNAL_MENU_ACTIVATE] = g_signal_new (I_("menu-activate"), @@ -359,11 +368,11 @@ gtk_tree_menu_constructor (GType type, } priv->context = gtk_cell_area_create_context (priv->area); + priv->size_changed_id = g_signal_connect (priv->context, "notify", G_CALLBACK (context_size_changed_cb), menu); - return object; } @@ -633,6 +642,49 @@ gtk_tree_menu_get_path_item (GtkTreeMenu *menu, return item; } +static gboolean +gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, + GtkTreePath *path, + gboolean *header_item) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *parent_path = gtk_tree_path_copy (path); + gboolean in_menu = FALSE; + gboolean is_header = FALSE; + + /* Check if the is in root of the model */ + if (gtk_tree_path_get_depth (parent_path) == 1) + { + if (!priv->root) + in_menu = TRUE; + } + /* If we are a submenu, compare the parent path */ + else if (priv->root && gtk_tree_path_up (parent_path)) + { + GtkTreePath *root_path = + gtk_tree_row_reference_get_path (priv->root); + + if (gtk_tree_path_compare (root_path, parent_path) == 0) + in_menu = TRUE; + + if (!in_menu && priv->menu_with_header && + gtk_tree_path_compare (root_path, path) == 0) + { + in_menu = TRUE; + is_header = TRUE; + } + + gtk_tree_path_free (root_path); + } + + gtk_tree_path_free (parent_path); + + if (header_item) + *header_item = is_header; + + return in_menu; +} + static void row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, @@ -640,34 +692,10 @@ row_inserted_cb (GtkTreeModel *model, GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; - GtkTreePath *parent_path; - gboolean this_menu = FALSE; gint *indices, index, depth; - parent_path = gtk_tree_path_copy (path); - - /* Check if the menu and the added iter are in root of the model */ - if (gtk_tree_path_get_depth (parent_path) <= 1) - { - if (!priv->root) - this_menu = TRUE; - } - /* If we are a submenu, compare the path */ - else if (priv->root) - { - GtkTreePath *root_path = - gtk_tree_row_reference_get_path (priv->root); - - if (gtk_tree_path_compare (root_path, parent_path) == 0) - this_menu = TRUE; - - gtk_tree_path_free (root_path); - } - - gtk_tree_path_free (parent_path); - /* If the iter should be in this menu then go ahead and insert it */ - if (this_menu) + if (gtk_tree_menu_path_in_menu (menu, path, NULL)) { GtkWidget *item; @@ -706,34 +734,30 @@ row_deleted_cb (GtkTreeModel *model, GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; - GtkTreePath *root_path; GtkWidget *item; + gboolean header_item; + gboolean in_menu; - /* If it's the root node we leave it to the parent menu to remove us - * from its menu */ - if (priv->root) + in_menu = gtk_tree_menu_path_in_menu (menu, path, &header_item); + + /* If it's the header item we leave it to the parent menu + * to remove us from its menu + */ + if (!header_item && in_menu) { - root_path = gtk_tree_row_reference_get_path (priv->root); - - if (gtk_tree_path_compare (root_path, path) == 0) + item = gtk_tree_menu_get_path_item (menu, path); + if (item) { - gtk_tree_path_free (root_path); - return; - } - } - - item = gtk_tree_menu_get_path_item (menu, path); - if (item) - { - if (priv->wrap_width > 0) - rebuild_menu (menu); - else - { - /* Get rid of the deleted item */ - gtk_widget_destroy (item); - - /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); + if (priv->wrap_width > 0) + rebuild_menu (menu); + else + { + /* Get rid of the deleted item */ + gtk_widget_destroy (item); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); + } } } } @@ -748,7 +772,7 @@ row_reordered_cb (GtkTreeModel *model, GtkTreeMenuPrivate *priv = menu->priv; gboolean this_menu = FALSE; - if (iter == NULL && priv->root == NULL) + if (path == NULL && priv->root == NULL) this_menu = TRUE; else if (priv->root) { @@ -823,7 +847,7 @@ row_changed_cb (GtkTreeModel *model, } else if (!has_header && item) { - /* Destroy the header item and the following separator */ + /* Destroy the header item and then the following separator */ gtk_widget_destroy (item); gtk_widget_destroy (GTK_MENU_SHELL (menu)->children->data); @@ -873,6 +897,75 @@ context_size_changed_cb (GtkCellAreaContext *context, gtk_widget_queue_resize (menu); } +static gboolean +area_is_sensitive (GtkCellArea *area) +{ + GList *cells, *list; + gboolean sensitive = FALSE; + + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + + for (list = cells; list; list = list->next) + { + g_object_get (list->data, "sensitive", &sensitive, NULL); + + if (sensitive) + break; + } + g_list_free (cells); + + return sensitive; +} + +static void +area_apply_attributes_cb (GtkCellArea *area, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded, + GtkTreeMenu *menu) +{ + /* If the menu for this iter has a submenu */ + GtkTreeMenuPrivate *priv = menu->priv; + GtkTreePath *path; + GtkWidget *item; + gboolean is_header; + gboolean sensitive; + + path = gtk_tree_model_get_path (tree_model, iter); + + if (gtk_tree_menu_path_in_menu (menu, path, &is_header)) + { + item = gtk_tree_menu_get_path_item (menu, path); + + /* If there is no submenu, go ahead and update item sensitivity, + * items with submenus are always sensitive */ + if (!gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))) + { + sensitive = area_is_sensitive (priv->area); + + gtk_widget_set_sensitive (item, sensitive); + + if (is_header) + { + /* For header items we need to set the sensitivity + * of the following separator item + */ + if (GTK_MENU_SHELL (menu)->children && + GTK_MENU_SHELL (menu)->children->next) + { + GtkWidget *separator = + GTK_MENU_SHELL (menu)->children->next->data; + + gtk_widget_set_sensitive (separator, sensitive); + } + } + } + } + + gtk_tree_path_free (path); +} + static void gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkCellArea *area) @@ -880,12 +973,24 @@ gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkTreeMenuPrivate *priv = menu->priv; if (priv->area) - g_object_unref (priv->area); + { + g_signal_handler_disconnect (priv->area, + priv->apply_attributes_id); + priv->apply_attributes_id = 0; + + g_object_unref (priv->area); + } priv->area = area; if (priv->area) - g_object_ref_sink (priv->area); + { + g_object_ref_sink (priv->area); + + priv->apply_attributes_id = + g_signal_connect (priv->area, "apply-attributes", + G_CALLBACK (area_apply_attributes_cb), menu); + } } static gboolean From e1ecd34ce1e57b874cdf5b097db2b5a0c518956e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 14:59:55 +0900 Subject: [PATCH 1083/1463] Added "fit-model" and "draw-sensitive" properties to GtkCellView - "fit-model" decides that the cellview should request space for the entire treemodel, this ensures the cell view displayed on a combo box will not spuriously change size when the selected item changes. - "draw-sensitive" forces cell area to render cells sensitive even if they are insensitive in the model. --- gtk/gtkcellview.c | 540 ++++++++++++++++++++++++++++++++-------------- gtk/gtkcellview.h | 19 +- 2 files changed, 394 insertions(+), 165 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index a65510642f..c31ce7b3af 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -42,22 +42,6 @@ * and drag and drop. */ -struct _GtkCellViewPrivate -{ - GtkTreeModel *model; - GtkTreeRowReference *displayed_row; - - GtkCellArea *area; - GtkCellAreaContext *context; - - GdkRGBA background; - gboolean background_set; - - gulong size_changed_id; - gulong row_changed_id; -}; - - static GObject *gtk_cell_view_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties); @@ -123,6 +107,25 @@ static void row_changed_cb (GtkTreeModel GtkTreeIter *iter, GtkCellView *view); + +struct _GtkCellViewPrivate +{ + GtkTreeModel *model; + GtkTreeRowReference *displayed_row; + + GtkCellArea *area; + GtkCellAreaContext *context; + + GdkRGBA background; + gboolean background_set; + + gulong size_changed_id; + gulong row_changed_id; + + guint32 draw_sensitive : 1; + guint32 fit_model : 1; +}; + static GtkBuildableIface *parent_buildable_iface; enum @@ -134,7 +137,9 @@ enum PROP_BACKGROUND_SET, PROP_MODEL, PROP_CELL_AREA, - PROP_CELL_AREA_CONTEXT + PROP_CELL_AREA_CONTEXT, + PROP_DRAW_SENSITIVE, + PROP_FIT_MODEL }; G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET, @@ -143,7 +148,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, gtk_cell_view_buildable_init)) - static void gtk_cell_view_class_init (GtkCellViewClass *klass) { @@ -240,6 +244,43 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) GTK_TYPE_CELL_AREA_CONTEXT, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /** + * GtkCellView:draw-sensitive + * + * Whether all cells should be draw as sensitive for this view regardless + * of the actual cell properties (used to make menus with submenus appear + * sensitive when the items in submenus might be insensitive). + * + * since 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_DRAW_SENSITIVE, + g_param_spec_boolean ("draw-sensitive", + P_("Draw Sensitive"), + P_("Whether to force cells to be drawn in a " + "sensitive state"), + FALSE, + GTK_PARAM_READWRITE)); + + /** + * GtkCellView:fit-model + * + * Whether the view should request enough space to always fit + * the size of every row in the model (used by the combo box to + * ensure the combo box size doesnt change when different items + * are selected). + * + * since 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_FIT_MODEL, + g_param_spec_boolean ("fit-model", + P_("Fit Model"), + P_("Whether to request enough space for " + "every row in the model"), + FALSE, + GTK_PARAM_READWRITE)); + #define ADD_SET_PROP(propname, propval, nick, blurb) g_object_class_install_property (gobject_class, propval, g_param_spec_boolean (propname, nick, blurb, FALSE, GTK_PARAM_READWRITE)) @@ -307,36 +348,42 @@ gtk_cell_view_get_property (GObject *object, switch (param_id) { - case PROP_BACKGROUND_GDK: - { - GdkColor color; - - color.red = (guint) (view->priv->background.red * 65535); - color.green = (guint) (view->priv->background.green * 65535); - color.blue = (guint) (view->priv->background.blue * 65535); - color.pixel = 0; - - g_value_set_boxed (value, &color); - } - break; - case PROP_BACKGROUND_RGBA: - g_value_set_boxed (value, &view->priv->background); - break; - case PROP_BACKGROUND_SET: - g_value_set_boolean (value, view->priv->background_set); - break; - case PROP_MODEL: - g_value_set_object (value, view->priv->model); - break; - case PROP_CELL_AREA: - g_value_set_object (value, view->priv->area); - break; - case PROP_CELL_AREA_CONTEXT: - g_value_set_object (value, view->priv->context); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); - break; + case PROP_BACKGROUND_GDK: + { + GdkColor color; + + color.red = (guint) (view->priv->background.red * 65535); + color.green = (guint) (view->priv->background.green * 65535); + color.blue = (guint) (view->priv->background.blue * 65535); + color.pixel = 0; + + g_value_set_boxed (value, &color); + } + break; + case PROP_BACKGROUND_RGBA: + g_value_set_boxed (value, &view->priv->background); + break; + case PROP_BACKGROUND_SET: + g_value_set_boolean (value, view->priv->background_set); + break; + case PROP_MODEL: + g_value_set_object (value, view->priv->model); + break; + case PROP_CELL_AREA: + g_value_set_object (value, view->priv->area); + break; + case PROP_CELL_AREA_CONTEXT: + g_value_set_object (value, view->priv->context); + break; + case PROP_DRAW_SENSITIVE: + g_value_set_boolean (value, view->priv->draw_sensitive); + break; + case PROP_FIT_MODEL: + g_value_set_boolean (value, view->priv->fit_model); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); + break; } } @@ -352,47 +399,55 @@ gtk_cell_view_set_property (GObject *object, switch (param_id) { - case PROP_BACKGROUND: - { - GdkColor color; - - if (!g_value_get_string (value)) - gtk_cell_view_set_background_color (view, NULL); - else if (gdk_color_parse (g_value_get_string (value), &color)) - gtk_cell_view_set_background_color (view, &color); - else - g_warning ("Don't know color `%s'", g_value_get_string (value)); - - g_object_notify (object, "background-gdk"); - } - break; - case PROP_BACKGROUND_GDK: - gtk_cell_view_set_background_color (view, g_value_get_boxed (value)); - break; - case PROP_BACKGROUND_RGBA: - gtk_cell_view_set_background_rgba (view, g_value_get_boxed (value)); - break; - case PROP_BACKGROUND_SET: - view->priv->background_set = g_value_get_boolean (value); - break; - case PROP_MODEL: - gtk_cell_view_set_model (view, g_value_get_object (value)); - break; + case PROP_BACKGROUND: + { + GdkColor color; + + if (!g_value_get_string (value)) + gtk_cell_view_set_background_color (view, NULL); + else if (gdk_color_parse (g_value_get_string (value), &color)) + gtk_cell_view_set_background_color (view, &color); + else + g_warning ("Don't know color `%s'", g_value_get_string (value)); + + g_object_notify (object, "background-gdk"); + } + break; + case PROP_BACKGROUND_GDK: + gtk_cell_view_set_background_color (view, g_value_get_boxed (value)); + break; + case PROP_BACKGROUND_RGBA: + gtk_cell_view_set_background_rgba (view, g_value_get_boxed (value)); + break; + case PROP_BACKGROUND_SET: + view->priv->background_set = g_value_get_boolean (value); + break; + case PROP_MODEL: + gtk_cell_view_set_model (view, g_value_get_object (value)); + break; case PROP_CELL_AREA: /* Construct-only, can only be assigned once */ area = g_value_get_object (value); - + if (area) view->priv->area = g_object_ref_sink (area); break; case PROP_CELL_AREA_CONTEXT: /* Construct-only, can only be assigned once */ context = g_value_get_object (value); - + if (context) view->priv->context = g_object_ref (context); break; + case PROP_DRAW_SENSITIVE: + gtk_cell_view_set_draw_sensitive (view, g_value_get_boolean (value)); + break; + + case PROP_FIT_MODEL: + gtk_cell_view_set_fit_model (view, g_value_get_boolean (value)); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; @@ -469,6 +524,166 @@ gtk_cell_view_size_allocate (GtkWidget *widget, } } +static void +gtk_cell_view_request_model (GtkCellView *cellview, + GtkTreeIter *parent, + GtkOrientation orientation, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellViewPrivate *priv = cellview->priv; + GtkTreeIter iter; + gboolean valid; + + valid = gtk_tree_model_iter_children (priv->model, &iter, parent); + while (valid) + { + gint min, nat; + + gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + if (for_size < 0) + gtk_cell_area_get_preferred_width (priv->area, priv->context, + GTK_WIDGET (cellview), &min, &nat); + else + gtk_cell_area_get_preferred_width_for_height (priv->area, priv->context, + GTK_WIDGET (cellview), for_size, &min, &nat); + } + else + { + if (for_size < 0) + gtk_cell_area_get_preferred_height (priv->area, priv->context, + GTK_WIDGET (cellview), &min, &nat); + else + gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, + GTK_WIDGET (cellview), for_size, &min, &nat); + } + + *minimum_size = MAX (min, *minimum_size); + *natural_size = MAX (nat, *natural_size); + + /* Recurse into children when they exist */ + gtk_cell_view_request_model (cellview, &iter, orientation, for_size, minimum_size, natural_size); + + valid = gtk_tree_model_iter_next (priv->model, &iter); + } +} + +static void +gtk_cell_view_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; + + g_signal_handler_block (priv->context, priv->size_changed_id); + + if (priv->fit_model) + { + gint min = 0, nat = 0; + gtk_cell_view_request_model (cellview, NULL, GTK_ORIENTATION_HORIZONTAL, -1, &min, &nat); + } + else + { + if (cellview->priv->displayed_row) + gtk_cell_view_set_cell_data (cellview); + + gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); + } + + gtk_cell_area_context_sum_preferred_width (priv->context); + gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); + + g_signal_handler_unblock (priv->context, priv->size_changed_id); +} + +static void +gtk_cell_view_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; + + g_signal_handler_block (priv->context, priv->size_changed_id); + + if (priv->fit_model) + { + gint min = 0, nat = 0; + gtk_cell_view_request_model (cellview, NULL, GTK_ORIENTATION_VERTICAL, -1, &min, &nat); + } + else + { + if (cellview->priv->displayed_row) + gtk_cell_view_set_cell_data (cellview); + + gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); + } + + gtk_cell_area_context_sum_preferred_height (priv->context); + gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); + + g_signal_handler_unblock (priv->context, priv->size_changed_id); +} + +static void +gtk_cell_view_get_preferred_width_for_height (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; + + if (priv->fit_model) + { + gint min = 0, nat = 0; + gtk_cell_view_request_model (cellview, NULL, GTK_ORIENTATION_HORIZONTAL, for_size, &min, &nat); + + *minimum_size = min; + *natural_size = nat; + } + else + { + if (cellview->priv->displayed_row) + gtk_cell_view_set_cell_data (cellview); + + gtk_cell_area_get_preferred_width_for_height (priv->area, priv->context, widget, + for_size, minimum_size, natural_size); + } +} + +static void +gtk_cell_view_get_preferred_height_for_width (GtkWidget *widget, + gint for_size, + gint *minimum_size, + gint *natural_size) +{ + GtkCellView *cellview = GTK_CELL_VIEW (widget); + GtkCellViewPrivate *priv = cellview->priv; + + if (priv->fit_model) + { + gint min = 0, nat = 0; + gtk_cell_view_request_model (cellview, NULL, GTK_ORIENTATION_VERTICAL, for_size, &min, &nat); + + *minimum_size = min; + *natural_size = nat; + } + else + { + if (cellview->priv->displayed_row) + gtk_cell_view_set_cell_data (cellview); + + gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, widget, + for_size, minimum_size, natural_size); + } +} + static gboolean gtk_cell_view_draw (GtkWidget *widget, cairo_t *cr) @@ -531,6 +746,20 @@ gtk_cell_view_set_cell_data (GtkCellView *cell_view) gtk_cell_area_apply_attributes (cell_view->priv->area, cell_view->priv->model, &iter, FALSE, FALSE); + + if (cell_view->priv->draw_sensitive) + { + GList *l, *cells = + gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_view->priv->area)); + + for (l = cells; l; l = l->next) + { + GObject *renderer = l->data; + + g_object_set (renderer, "sensitive", TRUE, NULL); + } + g_list_free (cells); + } } /* GtkCellLayout implementation */ @@ -542,6 +771,39 @@ gtk_cell_view_cell_layout_get_area (GtkCellLayout *layout) return cellview->priv->area; } +/* GtkBuildable implementation */ +static gboolean +gtk_cell_view_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data) +{ + if (parent_buildable_iface->custom_tag_start && + parent_buildable_iface->custom_tag_start (buildable, builder, child, + tagname, parser, data)) + return TRUE; + + return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, + tagname, parser, data); +} + +static void +gtk_cell_view_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) +{ + if (strcmp (tagname, "attributes") == 0 || strcmp (tagname, "cell-packing") == 0) + _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, + data); + else if (parent_buildable_iface->custom_tag_end) + parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, + data); +} + static void context_size_changed_cb (GtkCellAreaContext *context, GParamSpec *pspec, @@ -1062,106 +1324,64 @@ gtk_cell_view_set_background_rgba (GtkCellView *cell_view, gtk_widget_queue_draw (GTK_WIDGET (cell_view)); } -static gboolean -gtk_cell_view_buildable_custom_tag_start (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - GMarkupParser *parser, - gpointer *data) +gboolean +gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view) { - if (parent_buildable_iface->custom_tag_start && - parent_buildable_iface->custom_tag_start (buildable, builder, child, - tagname, parser, data)) - return TRUE; + GtkCellViewPrivate *priv; - return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, - tagname, parser, data); + g_return_val_if_fail (GTK_IS_CELL_VIEW (cell_view), FALSE); + + priv = cell_view->priv; + + return priv->draw_sensitive; } -static void -gtk_cell_view_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data) +void +gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, + gboolean draw_sensitive) { - if (strcmp (tagname, "attributes") == 0) - _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, - data); - else if (parent_buildable_iface->custom_tag_end) - parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, - data); + GtkCellViewPrivate *priv; + + g_return_if_fail (GTK_IS_CELL_VIEW (cell_view)); + + priv = cell_view->priv; + + if (priv->draw_sensitive != draw_sensitive) + { + priv->draw_sensitive = draw_sensitive; + + g_object_notify (G_OBJECT (cell_view), "draw-sensitive"); + } } -static void -gtk_cell_view_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) +gboolean +gtk_cell_view_get_fit_model (GtkCellView *cell_view) { - GtkCellView *cellview = GTK_CELL_VIEW (widget); - GtkCellViewPrivate *priv = cellview->priv; + GtkCellViewPrivate *priv; - g_signal_handler_block (priv->context, priv->size_changed_id); + g_return_val_if_fail (GTK_IS_CELL_VIEW (cell_view), FALSE); - if (cellview->priv->displayed_row) - gtk_cell_view_set_cell_data (cellview); + priv = cell_view->priv; - gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); - gtk_cell_area_context_sum_preferred_width (priv->context); - gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); - - g_signal_handler_unblock (priv->context, priv->size_changed_id); + return priv->fit_model; } -static void -gtk_cell_view_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) +void +gtk_cell_view_set_fit_model (GtkCellView *cell_view, + gboolean fit_model) { - GtkCellView *cellview = GTK_CELL_VIEW (widget); - GtkCellViewPrivate *priv = cellview->priv; + GtkCellViewPrivate *priv; - g_signal_handler_block (priv->context, priv->size_changed_id); + g_return_if_fail (GTK_IS_CELL_VIEW (cell_view)); - if (cellview->priv->displayed_row) - gtk_cell_view_set_cell_data (cellview); + priv = cell_view->priv; - gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); - gtk_cell_area_context_sum_preferred_height (priv->context); - gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); + if (priv->fit_model != fit_model) + { + priv->fit_model = fit_model; - g_signal_handler_unblock (priv->context, priv->size_changed_id); -} - -static void -gtk_cell_view_get_preferred_width_for_height (GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) -{ - GtkCellView *cellview = GTK_CELL_VIEW (widget); - GtkCellViewPrivate *priv = cellview->priv; - - if (cellview->priv->displayed_row) - gtk_cell_view_set_cell_data (cellview); - - gtk_cell_area_get_preferred_width_for_height (priv->area, priv->context, widget, - for_size, minimum_size, natural_size); -} - -static void -gtk_cell_view_get_preferred_height_for_width (GtkWidget *widget, - gint for_size, - gint *minimum_size, - gint *natural_size) -{ - GtkCellView *cellview = GTK_CELL_VIEW (widget); - GtkCellViewPrivate *priv = cellview->priv; - - if (cellview->priv->displayed_row) - gtk_cell_view_set_cell_data (cellview); - - gtk_cell_area_get_preferred_height_for_width (priv->area, priv->context, widget, - for_size, minimum_size, natural_size); + gtk_cell_area_context_flush (cell_view->priv->context); + + g_object_notify (G_OBJECT (cell_view), "fit-model"); + } } diff --git a/gtk/gtkcellview.h b/gtk/gtkcellview.h index 7371082152..c3aa8a6fec 100644 --- a/gtk/gtkcellview.h +++ b/gtk/gtkcellview.h @@ -76,11 +76,25 @@ GtkTreeModel *gtk_cell_view_get_model (GtkCellView *cell_v void gtk_cell_view_set_displayed_row (GtkCellView *cell_view, GtkTreePath *path); GtkTreePath *gtk_cell_view_get_displayed_row (GtkCellView *cell_view); +void gtk_cell_view_set_background_color (GtkCellView *cell_view, + const GdkColor *color); +void gtk_cell_view_set_background_rgba (GtkCellView *cell_view, + const GdkRGBA *rgba); +gboolean gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view); +void gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, + gboolean draw_sensitive); +gboolean gtk_cell_view_get_fit_model (GtkCellView *cell_view); +void gtk_cell_view_set_fit_model (GtkCellView *cell_view, + gboolean fit_model); + #ifndef GTK_DISABLE_DEPRECATED gboolean gtk_cell_view_get_size_of_row (GtkCellView *cell_view, GtkTreePath *path, GtkRequisition *requisition); #endif + + +/* XXX These 2 are going away... */ void gtk_cell_view_get_desired_width_of_row(GtkCellView *cell_view, GtkTreePath *path, gint *minimum_size, @@ -91,11 +105,6 @@ void gtk_cell_view_get_desired_height_for_width_of_row(GtkCellView gint *minimum_size, gint *natural_size); -void gtk_cell_view_set_background_color (GtkCellView *cell_view, - const GdkColor *color); -void gtk_cell_view_set_background_rgba (GtkCellView *cell_view, - const GdkRGBA *rgba); - G_END_DECLS #endif /* __GTK_CELL_VIEW_H__ */ From 83c69f4cf381ce8218a861b4349bc2f207397aa2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 18:14:36 +0900 Subject: [PATCH 1084/1463] Implementing GtkComboBox using GtkTreeMenu ! First iteration at implementing combo box using a delegate treemenu, almost everything is working. Still need to finalize sensitivity issues in GtkTreeMenu (and should go ahead and pass through GtkComboBox code with a fine comb...). --- gtk/gtkcellview.c | 11 +- gtk/gtkcombobox.c | 6102 ++++++++++++++++++--------------------------- gtk/gtktreemenu.c | 96 +- 3 files changed, 2447 insertions(+), 3762 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index c31ce7b3af..7cb39e9965 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -829,9 +829,14 @@ row_changed_cb (GtkTreeModel *model, row_path = gtk_tree_row_reference_get_path (view->priv->displayed_row); - /* Resize everything in our context if our row changed */ - if (gtk_tree_path_compare (row_path, path) == 0) - gtk_cell_area_context_flush (view->priv->context); + if (row_path) + { + /* Resize everything in our context if our row changed */ + if (gtk_tree_path_compare (row_path, path) == 0) + gtk_cell_area_context_flush (view->priv->context); + + gtk_tree_path_free (row_path); + } } } diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 753212f804..dfc39607eb 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -39,6 +39,8 @@ #include "gtktreeselection.h" #include "gtkvseparator.h" #include "gtkwindow.h" +#include "gtkcellareabox.h" +#include "gtktreemenu.h" #include "gtkprivate.h" #include @@ -51,7 +53,6 @@ #include "gtkmarshalers.h" #include "gtkintl.h" -#include "gtkentryprivate.h" #include "gtktreeprivate.h" @@ -83,94 +84,6 @@ /* WELCOME, to THE house of evil code */ - -typedef struct _ComboCellInfo ComboCellInfo; -struct _ComboCellInfo -{ - GtkCellRenderer *cell; - GSList *attributes; - - GtkCellLayoutDataFunc func; - gpointer func_data; - GDestroyNotify destroy; - - guint expand : 1; - guint pack : 1; -}; - - -struct _GtkComboBoxPrivate -{ - GtkTreeModel *model; - - gint col_column; - gint row_column; - - gint wrap_width; - GtkShadowType shadow_type; - - gint active; /* Only temporary */ - GtkTreeRowReference *active_row; - - GtkWidget *tree_view; - GtkTreeViewColumn *column; - - GtkWidget *cell_view; - GtkWidget *cell_view_frame; - - GtkWidget *button; - GtkWidget *box; - GtkWidget *arrow; - GtkWidget *separator; - - GtkWidget *popup_widget; - GtkWidget *popup_window; - GtkWidget *scrolled_window; - - gulong inserted_id; - gulong deleted_id; - gulong reordered_id; - gulong changed_id; - guint popup_idle_id; - guint activate_button; - guint32 activate_time; - guint scroll_timer; - guint resize_idle_id; - - gint minimum_width; - gint natural_width; - - /* For "has-entry" specific behavior we track - * an automated cell renderer and text column */ - gint text_column; - GtkCellRenderer *text_renderer; - - gint id_column; - - GSList *cells; - - guint popup_in_progress : 1; - guint popup_shown : 1; - guint add_tearoffs : 1; - guint has_frame : 1; - guint is_cell_renderer : 1; - guint editing_canceled : 1; - guint auto_scroll : 1; - guint focus_on_click : 1; - guint button_sensitivity : 2; - guint has_entry : 1; - guint popup_fixed_width : 1; - - GtkTreeViewRowSeparatorFunc row_separator_func; - gpointer row_separator_data; - GDestroyNotify row_separator_destroy; - - GdkDevice *grab_pointer; - GdkDevice *grab_keyboard; - - gchar *tearoff_title; -}; - /* While debugging this evil code, I have learned that * there are actually 4 modes to this widget, which can * be characterized as follows @@ -225,51 +138,12 @@ struct _GtkComboBoxPrivate * */ -enum { - CHANGED, - MOVE_ACTIVE, - POPUP, - POPDOWN, - LAST_SIGNAL -}; - -enum { - PROP_0, - PROP_MODEL, - PROP_WRAP_WIDTH, - PROP_ROW_SPAN_COLUMN, - PROP_COLUMN_SPAN_COLUMN, - PROP_ACTIVE, - PROP_ADD_TEAROFFS, - PROP_TEAROFF_TITLE, - PROP_HAS_FRAME, - PROP_FOCUS_ON_CLICK, - PROP_POPUP_SHOWN, - PROP_BUTTON_SENSITIVITY, - PROP_EDITING_CANCELED, - PROP_HAS_ENTRY, - PROP_ENTRY_TEXT_COLUMN, - PROP_POPUP_FIXED_WIDTH, - PROP_ID_COLUMN, - PROP_ACTIVE_ID -}; - -static guint combo_box_signals[LAST_SIGNAL] = {0,}; - -#define BONUS_PADDING 4 -#define SCROLL_TIME 100 - -/* common */ - -static void gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface); -static void gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface); +/* GObjectClass */ static GObject *gtk_combo_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties); static void gtk_combo_box_dispose (GObject *object); static void gtk_combo_box_finalize (GObject *object); -static void gtk_combo_box_destroy (GtkWidget *widget); - static void gtk_combo_box_set_property (GObject *object, guint prop_id, const GValue *value, @@ -279,22 +153,58 @@ static void gtk_combo_box_get_property (GObject *object, GValue *value, GParamSpec *spec); -static void gtk_combo_box_state_changed (GtkWidget *widget, - GtkStateType previous); -static void gtk_combo_box_grab_focus (GtkWidget *widget); -static void gtk_combo_box_style_updated (GtkWidget *widget); -static void gtk_combo_box_button_toggled (GtkWidget *widget, - gpointer data); -static void gtk_combo_box_button_state_flags_changed (GtkWidget *widget, - GtkStateFlags previous, - gpointer data); +/* GtkWidgetClass */ +static void gtk_combo_box_destroy (GtkWidget *widget); +static void gtk_combo_box_state_changed (GtkWidget *widget, + GtkStateType previous); +static void gtk_combo_box_grab_focus (GtkWidget *widget); +static void gtk_combo_box_style_updated (GtkWidget *widget); +static void gtk_combo_box_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static void gtk_combo_box_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size); +static gboolean gtk_combo_box_draw (GtkWidget *widget, + cairo_t *cr); +static gboolean gtk_combo_box_scroll_event (GtkWidget *widget, + GdkEventScroll *event); + +/* GtkContainerClass */ static void gtk_combo_box_add (GtkContainer *container, GtkWidget *widget); static void gtk_combo_box_remove (GtkContainer *container, GtkWidget *widget); +static void gtk_combo_box_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); -static ComboCellInfo *gtk_combo_box_get_cell_info (GtkComboBox *combo_box, - GtkCellRenderer *cell); +/* GtkComboBoxClass (binding handlers) */ +static void gtk_combo_box_real_move_active (GtkComboBox *combo_box, + GtkScrollType scroll); +static void gtk_combo_box_real_popup (GtkComboBox *combo_box); +static gboolean gtk_combo_box_real_popdown (GtkComboBox *combo_box); + + +/* GtkTreeModel signals */ +static void gtk_combo_box_model_row_inserted (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data); +static void gtk_combo_box_model_row_deleted (GtkTreeModel *model, + GtkTreePath *path, + gpointer user_data); static void gtk_combo_box_menu_show (GtkWidget *menu, gpointer user_data); @@ -303,64 +213,19 @@ static void gtk_combo_box_menu_hide (GtkWidget *menu, static void gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, GtkWidget *popup); -static void gtk_combo_box_menu_position_below (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data); -static void gtk_combo_box_menu_position_over (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data); -static void gtk_combo_box_menu_position (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data); - -static void gtk_combo_box_update_requested_width(GtkComboBox *combo_box, - GtkTreePath *path); -static void gtk_combo_box_remeasure (GtkComboBox *combo_box); static void gtk_combo_box_unset_model (GtkComboBox *combo_box); +static void gtk_combo_box_button_toggled (GtkWidget *widget, + gpointer data); +static void gtk_combo_box_button_state_changed (GtkWidget *widget, + GtkStateType previous, + gpointer data); -static void gtk_combo_box_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static void gtk_combo_box_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); -static gboolean gtk_combo_box_draw (GtkWidget *widget, - cairo_t *cr); -static gboolean gtk_combo_box_scroll_event (GtkWidget *widget, - GdkEventScroll *event); static void gtk_combo_box_set_active_internal (GtkComboBox *combo_box, GtkTreePath *path); static void gtk_combo_box_check_appearance (GtkComboBox *combo_box); -static void gtk_combo_box_real_move_active (GtkComboBox *combo_box, - GtkScrollType scroll); -static void gtk_combo_box_real_popup (GtkComboBox *combo_box); -static gboolean gtk_combo_box_real_popdown (GtkComboBox *combo_box); -/* listening to the model */ -static void gtk_combo_box_model_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data); -static void gtk_combo_box_model_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data); -static void gtk_combo_box_model_rows_reordered (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - gpointer user_data); -static void gtk_combo_box_model_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data); static void gtk_combo_box_model_row_expanded (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, @@ -398,94 +263,45 @@ static gboolean gtk_combo_box_list_select_func (GtkTreeSelection *selection, gboolean path_currently_selected, gpointer data); -static void gtk_combo_box_list_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data); static void gtk_combo_box_list_popup_resize (GtkComboBox *combo_box); /* menu */ static void gtk_combo_box_menu_setup (GtkComboBox *combo_box, gboolean add_children); -static void gtk_combo_box_menu_fill (GtkComboBox *combo_box); -static void gtk_combo_box_menu_fill_level (GtkComboBox *combo_box, - GtkWidget *menu, - GtkTreeIter *iter); -static void gtk_combo_box_update_title (GtkComboBox *combo_box); static void gtk_combo_box_menu_destroy (GtkComboBox *combo_box); - -static void gtk_combo_box_relayout_item (GtkComboBox *combo_box, - GtkWidget *item, - GtkTreeIter *iter, - GtkWidget *last); -static void gtk_combo_box_relayout (GtkComboBox *combo_box); - +static void gtk_combo_box_update_title (GtkComboBox *combo_box); static gboolean gtk_combo_box_menu_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data); -static void gtk_combo_box_menu_item_activate (GtkWidget *item, - gpointer user_data); - -static void gtk_combo_box_update_sensitivity (GtkComboBox *combo_box); -static void gtk_combo_box_menu_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data); -static void gtk_combo_box_menu_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data); -static void gtk_combo_box_menu_rows_reordered (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - gpointer user_data); -static void gtk_combo_box_menu_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data); +static void gtk_combo_box_menu_activate (GtkWidget *menu, + const gchar *path, + GtkComboBox *combo_box); static gboolean gtk_combo_box_menu_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data); static void gtk_combo_box_menu_popup (GtkComboBox *combo_box, guint button, guint32 activate_time); -static GtkWidget *gtk_cell_view_menu_item_new (GtkComboBox *combo_box, - GtkTreeModel *model, - GtkTreeIter *iter); -/* cell layout */ -static void gtk_combo_box_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand); -static void gtk_combo_box_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand); -static GList *gtk_combo_box_cell_layout_get_cells (GtkCellLayout *layout); -static void gtk_combo_box_cell_layout_clear (GtkCellLayout *layout); -static void gtk_combo_box_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column); -static void gtk_combo_box_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); -static void gtk_combo_box_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *cell); -static void gtk_combo_box_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position); +static void gtk_combo_box_menu_position_below (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data); +static void gtk_combo_box_menu_position_over (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data); +static void gtk_combo_box_menu_position (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data); + static gboolean gtk_combo_box_mnemonic_activate (GtkWidget *widget, gboolean group_cycling); -static void gtk_combo_box_sync_cells (GtkComboBox *combo_box, - GtkCellLayout *cell_layout); -static void combo_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gpointer data); static void gtk_combo_box_child_show (GtkWidget *widget, GtkComboBox *combo_box); static void gtk_combo_box_child_hide (GtkWidget *widget, @@ -496,11 +312,7 @@ static void gtk_combo_box_entry_contents_changed (GtkEntry *e gpointer user_data); static void gtk_combo_box_entry_active_changed (GtkComboBox *combo_box, gpointer user_data); - - -/* GtkBuildable method implementation */ -static GtkBuildableIface *parent_buildable_iface; - +/* GtkBuildableIface */ static void gtk_combo_box_buildable_init (GtkBuildableIface *iface); static gboolean gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, @@ -517,25 +329,125 @@ static GObject *gtk_combo_box_buildable_get_internal_child (GtkBuildable *buil GtkBuilder *builder, const gchar *childname); - -/* GtkCellEditable method implementations */ +/* GtkCellEditable */ +static void gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface); static void gtk_combo_box_start_editing (GtkCellEditable *cell_editable, GdkEvent *event); -static void gtk_combo_box_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size); +/* GtkCellLayoutIface */ +static void gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface); +static GtkCellArea *gtk_combo_box_cell_layout_get_area (GtkCellLayout *layout); + + +struct _GtkComboBoxPrivate +{ + GtkTreeModel *model; + + /* The cell area shared with the treeview or treemenu */ + GtkCellArea *area; + + gint col_column; + gint row_column; + gint id_column; + + gint wrap_width; + GtkShadowType shadow_type; + + gint active; /* Only temporary */ + GtkTreeRowReference *active_row; + + + /* The cellview displayed on the button */ + GtkWidget *cell_view; + GtkWidget *cell_view_frame; + + /* The treeview & column for list mode */ + GtkWidget *tree_view; + GtkTreeViewColumn *column; + + GtkWidget *button; + GtkWidget *box; + GtkWidget *arrow; + GtkWidget *separator; + + GtkWidget *popup_widget; + GtkWidget *popup_window; + GtkWidget *scrolled_window; + + gulong inserted_id; + gulong deleted_id; + guint popup_idle_id; + guint activate_button; + guint32 activate_time; + guint scroll_timer; + guint resize_idle_id; + + /* For "has-entry" specific behavior we track + * an automated cell renderer and text column */ + gint text_column; + GtkCellRenderer *text_renderer; + + guint popup_in_progress : 1; + guint popup_shown : 1; + guint add_tearoffs : 1; + guint has_frame : 1; + guint is_cell_renderer : 1; + guint editing_canceled : 1; + guint auto_scroll : 1; + guint focus_on_click : 1; + guint button_sensitivity : 2; + guint has_entry : 1; + guint popup_fixed_width : 1; + + GtkTreeViewRowSeparatorFunc row_separator_func; + gpointer row_separator_data; + GDestroyNotify row_separator_destroy; + + GdkDevice *grab_pointer; + GdkDevice *grab_keyboard; + + gchar *tearoff_title; +}; + + +enum { + CHANGED, + MOVE_ACTIVE, + POPUP, + POPDOWN, + LAST_SIGNAL +}; + +enum { + PROP_0, + PROP_MODEL, + PROP_WRAP_WIDTH, + PROP_ROW_SPAN_COLUMN, + PROP_COLUMN_SPAN_COLUMN, + PROP_ACTIVE, + PROP_ADD_TEAROFFS, + PROP_TEAROFF_TITLE, + PROP_HAS_FRAME, + PROP_FOCUS_ON_CLICK, + PROP_POPUP_SHOWN, + PROP_BUTTON_SENSITIVITY, + PROP_EDITING_CANCELED, + PROP_HAS_ENTRY, + PROP_ENTRY_TEXT_COLUMN, + PROP_POPUP_FIXED_WIDTH, + PROP_ID_COLUMN, + PROP_ACTIVE_ID, + PROP_CELL_AREA +}; + +#define BONUS_PADDING 4 +#define SCROLL_TIME 100 + +static guint combo_box_signals[LAST_SIGNAL] = {0,}; + + +/* GtkBuildable method implementation */ +static GtkBuildableIface *parent_buildable_iface; G_DEFINE_TYPE_WITH_CODE (GtkComboBox, gtk_combo_box, GTK_TYPE_BIN, @@ -556,25 +468,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) GtkWidgetClass *widget_class; GtkBindingSet *binding_set; - container_class = (GtkContainerClass *)klass; - container_class->forall = gtk_combo_box_forall; - container_class->add = gtk_combo_box_add; - container_class->remove = gtk_combo_box_remove; - - widget_class = (GtkWidgetClass *)klass; - widget_class->size_allocate = gtk_combo_box_size_allocate; - widget_class->draw = gtk_combo_box_draw; - widget_class->scroll_event = gtk_combo_box_scroll_event; - widget_class->mnemonic_activate = gtk_combo_box_mnemonic_activate; - widget_class->grab_focus = gtk_combo_box_grab_focus; - widget_class->style_updated = gtk_combo_box_style_updated; - widget_class->state_changed = gtk_combo_box_state_changed; - widget_class->get_preferred_width = gtk_combo_box_get_preferred_width; - widget_class->get_preferred_height = gtk_combo_box_get_preferred_height; - widget_class->get_preferred_height_for_width = gtk_combo_box_get_preferred_height_for_width; - widget_class->get_preferred_width_for_height = gtk_combo_box_get_preferred_width_for_height; - widget_class->destroy = gtk_combo_box_destroy; - object_class = (GObjectClass *)klass; object_class->constructor = gtk_combo_box_constructor; object_class->dispose = gtk_combo_box_dispose; @@ -582,6 +475,25 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) object_class->set_property = gtk_combo_box_set_property; object_class->get_property = gtk_combo_box_get_property; + widget_class = (GtkWidgetClass *)klass; + widget_class->draw = gtk_combo_box_draw; + widget_class->scroll_event = gtk_combo_box_scroll_event; + widget_class->mnemonic_activate = gtk_combo_box_mnemonic_activate; + widget_class->grab_focus = gtk_combo_box_grab_focus; + widget_class->style_updated = gtk_combo_box_style_updated; + widget_class->state_changed = gtk_combo_box_state_changed; + widget_class->size_allocate = gtk_combo_box_size_allocate; + widget_class->get_preferred_width = gtk_combo_box_get_preferred_width; + widget_class->get_preferred_height = gtk_combo_box_get_preferred_height; + widget_class->get_preferred_height_for_width = gtk_combo_box_get_preferred_height_for_width; + widget_class->get_preferred_width_for_height = gtk_combo_box_get_preferred_width_for_height; + widget_class->destroy = gtk_combo_box_destroy; + + container_class = (GtkContainerClass *)klass; + container_class->forall = gtk_combo_box_forall; + container_class->add = gtk_combo_box_add; + container_class->remove = gtk_combo_box_remove; + /* signals */ /** * GtkComboBox::changed: @@ -984,6 +896,20 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) P_("The value of the id column " "for the active row"), NULL, GTK_PARAM_READWRITE)); + /** + * GtkComboBox:cell-area: + * + * The #GtkCellArea used to layout cell renderers for this combo box. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkComboBox:popup-fixed-width: @@ -1047,35 +973,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate)); } -static void -gtk_combo_box_buildable_init (GtkBuildableIface *iface) -{ - parent_buildable_iface = g_type_interface_peek_parent (iface); - iface->add_child = _gtk_cell_layout_buildable_add_child; - iface->custom_tag_start = gtk_combo_box_buildable_custom_tag_start; - iface->custom_tag_end = gtk_combo_box_buildable_custom_tag_end; - iface->get_internal_child = gtk_combo_box_buildable_get_internal_child; -} - -static void -gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface) -{ - iface->pack_start = gtk_combo_box_cell_layout_pack_start; - iface->pack_end = gtk_combo_box_cell_layout_pack_end; - iface->get_cells = gtk_combo_box_cell_layout_get_cells; - iface->clear = gtk_combo_box_cell_layout_clear; - iface->add_attribute = gtk_combo_box_cell_layout_add_attribute; - iface->set_cell_data_func = gtk_combo_box_cell_layout_set_cell_data_func; - iface->clear_attributes = gtk_combo_box_cell_layout_clear_attributes; - iface->reorder = gtk_combo_box_cell_layout_reorder; -} - -static void -gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface) -{ - iface->start_editing = gtk_combo_box_start_editing; -} - static void gtk_combo_box_init (GtkComboBox *combo_box) { @@ -1087,14 +984,6 @@ gtk_combo_box_init (GtkComboBox *combo_box) GtkComboBoxPrivate); priv = combo_box->priv; - priv->cell_view = gtk_cell_view_new (); - gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (combo_box)); - _gtk_bin_set_child (GTK_BIN (combo_box), priv->cell_view); - gtk_widget_show (priv->cell_view); - - priv->minimum_width = 0; - priv->natural_width = 0; - priv->wrap_width = 0; priv->active = -1; @@ -1117,12 +1006,105 @@ gtk_combo_box_init (GtkComboBox *combo_box) priv->text_renderer = NULL; priv->id_column = -1; - gtk_combo_box_check_appearance (combo_box); - context = gtk_widget_get_style_context (GTK_WIDGET (combo_box)); gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); } +/****************************************************** + * GObjectClass * + ******************************************************/ +static GObject * +gtk_combo_box_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GObject *object; + GtkComboBox *combo_box; + GtkComboBoxPrivate *priv; + + object = G_OBJECT_CLASS (gtk_combo_box_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + combo_box = GTK_COMBO_BOX (object); + priv = combo_box->priv; + + if (!priv->area) + { + GtkCellArea *area = gtk_cell_area_box_new (); + + priv->area = g_object_ref_sink (area); + } + + if (priv->has_entry) + { + GtkWidget *entry; + + entry = gtk_entry_new (); + gtk_widget_show (entry); + gtk_container_add (GTK_CONTAINER (combo_box), entry); + + priv->text_renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), + priv->text_renderer, TRUE); + + gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), -1); + + g_signal_connect (combo_box, "changed", + G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); + } + else + { + priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); + gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); + gtk_container_add (GTK_CONTAINER (combo_box), priv->cell_view); + gtk_widget_show (priv->cell_view); + } + + gtk_combo_box_check_appearance (combo_box); + + return object; +} + +static void +gtk_combo_box_dispose(GObject* object) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (object); + + if (GTK_IS_MENU (combo_box->priv->popup_widget)) + { + gtk_combo_box_menu_destroy (combo_box); + gtk_menu_detach (GTK_MENU (combo_box->priv->popup_widget)); + combo_box->priv->popup_widget = NULL; + } + + if (combo_box->priv->area) + { + g_object_unref (combo_box->priv->area); + combo_box->priv->area = NULL; + } + + G_OBJECT_CLASS (gtk_combo_box_parent_class)->dispose (object); +} + +static void +gtk_combo_box_finalize (GObject *object) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (object); + + if (GTK_IS_TREE_VIEW (combo_box->priv->tree_view)) + gtk_combo_box_list_destroy (combo_box); + + if (combo_box->priv->popup_window) + gtk_widget_destroy (combo_box->priv->popup_window); + + gtk_combo_box_unset_model (combo_box); + + g_free (combo_box->priv->tearoff_title); + + G_OBJECT_CLASS (gtk_combo_box_parent_class)->finalize (object); +} + static void gtk_combo_box_set_property (GObject *object, guint prop_id, @@ -1130,6 +1112,7 @@ gtk_combo_box_set_property (GObject *object, GParamSpec *pspec) { GtkComboBox *combo_box = GTK_COMBO_BOX (object); + GtkCellArea *area; switch (prop_id) { @@ -1218,6 +1201,14 @@ gtk_combo_box_set_property (GObject *object, gtk_combo_box_set_active_id (combo_box, g_value_get_string (value)); break; + case PROP_CELL_AREA: + /* Construct-only, can only be assigned once */ + area = g_value_get_object (value); + + if (area) + combo_box->priv->area = g_object_ref_sink (area); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1303,1490 +1294,19 @@ gtk_combo_box_get_property (GObject *object, g_value_set_string (value, gtk_combo_box_get_active_id (combo_box)); break; + case PROP_CELL_AREA: + g_value_set_object (value, priv->area); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } -static void -gtk_combo_box_state_changed (GtkWidget *widget, - GtkStateType previous) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (gtk_widget_get_realized (widget)) - { - if (priv->tree_view && priv->cell_view) - { - GtkStyleContext *context; - GtkStateFlags state; - GdkRGBA *color; - - context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - - gtk_style_context_get (context, state, - "background-color", &color, - NULL); - - gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), color); - gdk_rgba_free (color); - } - } - - gtk_widget_queue_draw (widget); -} - -static void -gtk_combo_box_button_state_flags_changed (GtkWidget *widget, - GtkStateFlags previous, - gpointer data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (data); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (gtk_widget_get_realized (widget)) - { - if (!priv->tree_view && priv->cell_view) - gtk_widget_set_state_flags (priv->cell_view, - gtk_widget_get_state_flags (widget), - TRUE); - } - - gtk_widget_queue_draw (widget); -} - -static void -gtk_combo_box_check_appearance (GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - gboolean appears_as_list; - - /* if wrap_width > 0, then we are in grid-mode and forced to use - * unix style - */ - if (priv->wrap_width) - appears_as_list = FALSE; - else - gtk_widget_style_get (GTK_WIDGET (combo_box), - "appears-as-list", &appears_as_list, - NULL); - - if (appears_as_list) - { - /* Destroy all the menu mode widgets, if they exist. */ - if (GTK_IS_MENU (priv->popup_widget)) - gtk_combo_box_menu_destroy (combo_box); - - /* Create the list mode widgets, if they don't already exist. */ - if (!GTK_IS_TREE_VIEW (priv->tree_view)) - gtk_combo_box_list_setup (combo_box); - } - else - { - /* Destroy all the list mode widgets, if they exist. */ - if (GTK_IS_TREE_VIEW (priv->tree_view)) - gtk_combo_box_list_destroy (combo_box); - - /* Create the menu mode widgets, if they don't already exist. */ - if (!GTK_IS_MENU (priv->popup_widget)) - gtk_combo_box_menu_setup (combo_box, TRUE); - } - - gtk_widget_style_get (GTK_WIDGET (combo_box), - "shadow-type", &priv->shadow_type, - NULL); -} - -static void -gtk_combo_box_style_updated (GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *child; - - gtk_combo_box_check_appearance (combo_box); - - if (priv->tree_view && priv->cell_view) - { - GtkStyleContext *context; - GdkRGBA *color; - - context = gtk_widget_get_style_context (widget); - gtk_style_context_get (context, 0, - "background-color", &color, - NULL); - - gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), - color); - - gdk_rgba_free (color); - } - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - if (GTK_IS_ENTRY (child)) - g_object_set (child, "shadow-type", - GTK_SHADOW_NONE == priv->shadow_type ? - GTK_SHADOW_IN : GTK_SHADOW_NONE, NULL); -} - -static void -gtk_combo_box_button_toggled (GtkWidget *widget, - gpointer data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (data); - - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) - { - if (!combo_box->priv->popup_in_progress) - gtk_combo_box_popup (combo_box); - } - else - gtk_combo_box_popdown (combo_box); -} - -static void -gtk_combo_box_add (GtkContainer *container, - GtkWidget *widget) -{ - gboolean cell_view_removed = FALSE; - GtkComboBox *combo_box = GTK_COMBO_BOX (container); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (priv->has_entry && !GTK_IS_ENTRY (widget)) - { - g_warning ("Attempting to add a widget with type %s to a GtkComboBox that needs an entry " - "(need an instance of GtkEntry or of a subclass)", - G_OBJECT_TYPE_NAME (widget)); - return; - } - - if (priv->cell_view != NULL && widget != priv->cell_view) - cell_view_removed = TRUE; - - if (priv->cell_view && - gtk_widget_get_parent (priv->cell_view)) - { - gtk_widget_unparent (priv->cell_view); - _gtk_bin_set_child (GTK_BIN (container), NULL); - - /* since the cell_view was unparented, it's gone now */ - priv->cell_view = NULL; - - gtk_widget_queue_resize (GTK_WIDGET (container)); - } - - gtk_widget_set_parent (widget, GTK_WIDGET (container)); - _gtk_bin_set_child (GTK_BIN (container), widget); - - if (cell_view_removed) - { - if (!priv->tree_view && priv->separator) - { - gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (priv->separator)), - priv->separator); - priv->separator = NULL; - - gtk_widget_queue_resize (GTK_WIDGET (container)); - } - else if (priv->cell_view_frame) - { - gtk_widget_unparent (priv->cell_view_frame); - priv->cell_view_frame = NULL; - priv->box = NULL; - } - } - - if (priv->has_entry) - { - /* this flag is a hack to tell the entry to fill its allocation. - */ - _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE); - - g_signal_connect (widget, "changed", - G_CALLBACK (gtk_combo_box_entry_contents_changed), - combo_box); - - gtk_entry_set_has_frame (GTK_ENTRY (widget), priv->has_frame); - } -} - -static void -gtk_combo_box_remove (GtkContainer *container, - GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (container); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreePath *path; - gboolean appears_as_list; - - if (priv->has_entry) - { - GtkWidget *child_widget; - - child_widget = gtk_bin_get_child (GTK_BIN (container)); - if (widget && widget == child_widget) - { - g_signal_handlers_disconnect_by_func (widget, - gtk_combo_box_entry_contents_changed, - container); - _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE); - } - } - - if (widget == priv->cell_view) - priv->cell_view = NULL; - - gtk_widget_unparent (widget); - _gtk_bin_set_child (GTK_BIN (container), NULL); - - if (gtk_widget_in_destruction (GTK_WIDGET (combo_box))) - return; - - gtk_widget_queue_resize (GTK_WIDGET (container)); - - if (!priv->tree_view) - appears_as_list = FALSE; - else - appears_as_list = TRUE; - - if (appears_as_list) - gtk_combo_box_list_destroy (combo_box); - else if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_combo_box_menu_destroy (combo_box); - gtk_menu_detach (GTK_MENU (priv->popup_widget)); - priv->popup_widget = NULL; - } - - if (!priv->cell_view) - { - priv->cell_view = gtk_cell_view_new (); - gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (container)); - _gtk_bin_set_child (GTK_BIN (container), priv->cell_view); - - gtk_widget_show (priv->cell_view); - gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), - priv->model); - gtk_combo_box_sync_cells (combo_box, GTK_CELL_LAYOUT (priv->cell_view)); - } - - - if (appears_as_list) - gtk_combo_box_list_setup (combo_box); - else - gtk_combo_box_menu_setup (combo_box, TRUE); - - if (gtk_tree_row_reference_valid (priv->active_row)) - { - path = gtk_tree_row_reference_get_path (priv->active_row); - gtk_combo_box_set_active_internal (combo_box, path); - gtk_tree_path_free (path); - } - else - gtk_combo_box_set_active_internal (combo_box, NULL); -} - -static ComboCellInfo * -gtk_combo_box_get_cell_info (GtkComboBox *combo_box, - GtkCellRenderer *cell) -{ - GSList *i; - - for (i = combo_box->priv->cells; i; i = i->next) - { - ComboCellInfo *info = (ComboCellInfo *)i->data; - - if (info && info->cell == cell) - return info; - } - - return NULL; -} - -static void -gtk_combo_box_menu_show (GtkWidget *menu, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - - gtk_combo_box_child_show (menu, user_data); - - priv->popup_in_progress = TRUE; - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), - TRUE); - priv->popup_in_progress = FALSE; -} - -static void -gtk_combo_box_menu_hide (GtkWidget *menu, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - - gtk_combo_box_child_hide (menu,user_data); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (combo_box->priv->button), - FALSE); -} - -static void -gtk_combo_box_detacher (GtkWidget *widget, - GtkMenu *menu) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - - g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); - - g_signal_handlers_disconnect_by_func (menu->priv->toplevel, - gtk_combo_box_menu_show, - combo_box); - g_signal_handlers_disconnect_by_func (menu->priv->toplevel, - gtk_combo_box_menu_hide, - combo_box); - - priv->popup_widget = NULL; -} - -static void -gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, - GtkWidget *popup) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_menu_detach (GTK_MENU (priv->popup_widget)); - priv->popup_widget = NULL; - } - else if (priv->popup_widget) - { - gtk_container_remove (GTK_CONTAINER (priv->scrolled_window), - priv->popup_widget); - g_object_unref (priv->popup_widget); - priv->popup_widget = NULL; - } - - if (GTK_IS_MENU (popup)) - { - GtkMenu *menu = GTK_MENU (popup); - - if (priv->popup_window) - { - gtk_widget_destroy (priv->popup_window); - priv->popup_window = NULL; - } - - priv->popup_widget = popup; - - /* Note that we connect to show/hide on the toplevel, not the - * menu itself, since the menu is not shown/hidden when it is - * popped up while torn-off. - */ - g_signal_connect (menu->priv->toplevel, "show", - G_CALLBACK (gtk_combo_box_menu_show), combo_box); - g_signal_connect (menu->priv->toplevel, "hide", - G_CALLBACK (gtk_combo_box_menu_hide), combo_box); - - gtk_menu_attach_to_widget (menu, GTK_WIDGET (combo_box), gtk_combo_box_detacher); - } - else - { - if (!priv->popup_window) - { - GtkWidget *toplevel; - - priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); - gtk_widget_set_name (priv->popup_window, "gtk-combobox-popup-window"); - - gtk_window_set_type_hint (GTK_WINDOW (priv->popup_window), - GDK_WINDOW_TYPE_HINT_COMBO); - - g_signal_connect (GTK_WINDOW (priv->popup_window),"show", - G_CALLBACK (gtk_combo_box_child_show), - combo_box); - g_signal_connect (GTK_WINDOW (priv->popup_window),"hide", - G_CALLBACK (gtk_combo_box_child_hide), - combo_box); - - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); - if (GTK_IS_WINDOW (toplevel)) - { - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (priv->popup_window)); - gtk_window_set_transient_for (GTK_WINDOW (priv->popup_window), - GTK_WINDOW (toplevel)); - } - - gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE); - gtk_window_set_screen (GTK_WINDOW (priv->popup_window), - gtk_widget_get_screen (GTK_WIDGET (combo_box))); - - priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); - - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - GTK_POLICY_NEVER, - GTK_POLICY_NEVER); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), - GTK_SHADOW_IN); - - gtk_widget_show (priv->scrolled_window); - - gtk_container_add (GTK_CONTAINER (priv->popup_window), - priv->scrolled_window); - } - - gtk_container_add (GTK_CONTAINER (priv->scrolled_window), - popup); - - gtk_widget_show (popup); - g_object_ref (popup); - priv->popup_widget = popup; - } -} - -static void -get_widget_border (GtkWidget *widget, - GtkBorder *border) -{ - GtkStyleContext *context; - GtkBorder *border_width; - - context = gtk_widget_get_style_context (widget); - - gtk_style_context_get (context, - gtk_widget_get_state_flags (widget), - "border-width", &border_width, - NULL); - - *border = *border_width; - gtk_border_free (border_width); -} - -static void -gtk_combo_box_menu_position_below (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkAllocation child_allocation; - gint sx, sy; - GtkWidget *child; - GtkRequisition req; - GdkScreen *screen; - gint monitor_num; - GdkRectangle monitor; - GtkBorder border; - - /* FIXME: is using the size request here broken? */ - child = gtk_bin_get_child (GTK_BIN (combo_box)); - - sx = sy = 0; - - gtk_widget_get_allocation (child, &child_allocation); - - if (!gtk_widget_get_has_window (child)) - { - sx += child_allocation.x; - sy += child_allocation.y; - } - - gdk_window_get_root_coords (gtk_widget_get_window (child), - sx, sy, &sx, &sy); - get_widget_border (GTK_WIDGET (combo_box), &border); - sx -= border.left; - - if (combo_box->priv->popup_fixed_width) - gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL); - else - gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &req); - - if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_LTR) - *x = sx; - else - *x = sx + child_allocation.width - req.width; - *y = sy; - - screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); - monitor_num = gdk_screen_get_monitor_at_window (screen, - gtk_widget_get_window (GTK_WIDGET (combo_box))); - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - - if (*x < monitor.x) - *x = monitor.x; - else if (*x + req.width > monitor.x + monitor.width) - *x = monitor.x + monitor.width - req.width; - - if (monitor.y + monitor.height - *y - child_allocation.height >= req.height) - *y += child_allocation.height; - else if (*y - monitor.y >= req.height) - *y -= req.height; - else if (monitor.y + monitor.height - *y - child_allocation.height > *y - monitor.y) - *y += child_allocation.height; - else - *y -= req.height; - - *push_in = FALSE; -} - -static void -gtk_combo_box_menu_position_over (GtkMenu *menu, - gint *x, - gint *y, - gboolean *push_in, - gpointer user_data) -{ - GtkComboBox *combo_box; - GtkWidget *active; - GtkWidget *child; - GtkWidget *widget; - GtkAllocation allocation; - GtkAllocation child_allocation; - GList *children; - gint screen_width; - gint menu_xpos; - gint menu_ypos; - gint menu_width; - - combo_box = GTK_COMBO_BOX (user_data); - widget = GTK_WIDGET (combo_box); - - active = gtk_menu_get_active (GTK_MENU (combo_box->priv->popup_widget)); - - gtk_widget_get_allocation (widget, &allocation); - - menu_xpos = allocation.x; - menu_ypos = allocation.y + allocation.height / 2 - 2; - - if (combo_box->priv->popup_fixed_width) - gtk_widget_get_preferred_width (GTK_WIDGET (menu), &menu_width, NULL); - else - gtk_widget_get_preferred_width (GTK_WIDGET (menu), NULL, &menu_width); - - if (active != NULL) - { - gtk_widget_get_allocation (active, &child_allocation); - menu_ypos -= child_allocation.height / 2; - } - - children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->priv->children; - while (children) - { - child = children->data; - - if (active == child) - break; - - if (gtk_widget_get_visible (child)) - { - gtk_widget_get_allocation (child, &child_allocation); - - menu_ypos -= child_allocation.height; - } - - children = children->next; - } - - if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) - menu_xpos = menu_xpos + allocation.width - menu_width; - - gdk_window_get_root_coords (gtk_widget_get_window (widget), - menu_xpos, menu_ypos, - &menu_xpos, &menu_ypos); - - /* Clamp the position on screen */ - screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); - - if (menu_xpos < 0) - menu_xpos = 0; - else if ((menu_xpos + menu_width) > screen_width) - menu_xpos -= ((menu_xpos + menu_width) - screen_width); - - *x = menu_xpos; - *y = menu_ypos; - - *push_in = TRUE; -} - -static void -gtk_combo_box_menu_position (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *menu_item; - - if (priv->wrap_width > 0 || priv->cell_view == NULL) - gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data); - else - { - /* FIXME handle nested menus better */ - menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); - if (menu_item) - gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), - menu_item); - - gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); - } - - if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->priv->toplevel)) - gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->priv->toplevel), - GDK_WINDOW_TYPE_HINT_COMBO); -} - -static void -gtk_combo_box_list_position (GtkComboBox *combo_box, - gint *x, - gint *y, - gint *width, - gint *height) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GtkAllocation allocation; - GdkScreen *screen; - gint monitor_num; - GdkRectangle monitor; - GtkRequisition popup_req; - GtkPolicyType hpolicy, vpolicy; - GdkWindow *window; - - /* under windows, the drop down list is as wide as the combo box itself. - see bug #340204 */ - GtkWidget *widget = GTK_WIDGET (combo_box); - - *x = *y = 0; - - gtk_widget_get_allocation (widget, &allocation); - - if (!gtk_widget_get_has_window (widget)) - { - *x += allocation.x; - *y += allocation.y; - } - - window = gtk_widget_get_window (widget); - - gdk_window_get_root_coords (gtk_widget_get_window (widget), - *x, *y, x, y); - - *width = allocation.width; - - hpolicy = vpolicy = GTK_POLICY_NEVER; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - - /* XXX This set_size_request call is part of the hack outlined below and can - * go away once height-for-width is implemented on treeviews. */ - gtk_widget_set_size_request (priv->tree_view, -1, -1); - - if (combo_box->priv->popup_fixed_width) - { - gtk_widget_get_preferred_size (priv->scrolled_window, &popup_req, NULL); - - if (popup_req.width > *width) - { - hpolicy = GTK_POLICY_ALWAYS; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - } - } - else - { - gtk_combo_box_remeasure (combo_box); - - if (priv->natural_width > *width) - { - hpolicy = GTK_POLICY_NEVER; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - - - /* XXX Currently we set the size-request on the internal treeview to be - * the natural width of the cells, this hack can go away once our - * treeview does height-for-width properly (i.e. just adjust *width - * here to be the natural width request of the scrolled-window). - * - * I can't tell why the magic number 5 is needed here (i.e. without it - * treeviews are left ellipsizing) , however it this all should be - * removed with height-for-width treeviews. - */ - gtk_widget_set_size_request (priv->tree_view, priv->natural_width + 5, -1); - gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); - - *width = popup_req.width; - } - } - - *height = popup_req.height; - - screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); - monitor_num = gdk_screen_get_monitor_at_window (screen, window); - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - - if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_RTL) - *x = *x + allocation.width - *width; - - if (*x < monitor.x) - *x = monitor.x; - else if (*x + *width > monitor.x + monitor.width) - *x = monitor.x + monitor.width - *width; - - if (*y + allocation.height + *height <= monitor.y + monitor.height) - *y += allocation.height; - else if (*y - *height >= monitor.y) - *y -= *height; - else if (monitor.y + monitor.height - (*y + allocation.height) > *y - monitor.y) - { - *y += allocation.height; - *height = monitor.y + monitor.height - *y; - } - else - { - *height = *y - monitor.y; - *y = monitor.y; - } - - if (popup_req.height > *height) - { - vpolicy = GTK_POLICY_ALWAYS; - - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - } -} - -static gboolean -cell_view_is_sensitive (GtkCellView *cell_view) -{ - GList *cells, *list; - gboolean sensitive; - - cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_view)); - - sensitive = FALSE; - for (list = cells; list; list = list->next) - { - g_object_get (list->data, "sensitive", &sensitive, NULL); - - if (sensitive) - break; - } - g_list_free (cells); - - return sensitive; -} - -static gboolean -tree_column_row_is_sensitive (GtkComboBox *combo_box, - GtkTreeIter *iter) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GList *cells, *list; - gboolean sensitive; - - if (!priv->column) - return TRUE; - - if (priv->row_separator_func) - { - if (priv->row_separator_func (priv->model, iter, - priv->row_separator_data)) - return FALSE; - } - - gtk_tree_view_column_cell_set_cell_data (priv->column, - priv->model, - iter, FALSE, FALSE); - - cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->column)); - - sensitive = FALSE; - for (list = cells; list; list = list->next) - { - g_object_get (list->data, "sensitive", &sensitive, NULL); - - if (sensitive) - break; - } - g_list_free (cells); - - return sensitive; -} - -static void -update_menu_sensitivity (GtkComboBox *combo_box, - GtkWidget *menu) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GList *children, *child; - GtkWidget *item, *submenu, *separator; - GtkWidget *cell_view; - gboolean sensitive; - - if (!priv->model) - return; - - children = gtk_container_get_children (GTK_CONTAINER (menu)); - - for (child = children; child; child = child->next) - { - item = GTK_WIDGET (child->data); - cell_view = gtk_bin_get_child (GTK_BIN (item)); - - if (!GTK_IS_CELL_VIEW (cell_view)) - continue; - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)); - if (submenu != NULL) - { - gtk_widget_set_sensitive (item, TRUE); - update_menu_sensitivity (combo_box, submenu); - } - else - { - sensitive = cell_view_is_sensitive (GTK_CELL_VIEW (cell_view)); - - if (menu != priv->popup_widget && child == children) - { - separator = GTK_WIDGET (child->next->data); - g_object_set (item, "visible", sensitive, NULL); - g_object_set (separator, "visible", sensitive, NULL); - } - else - gtk_widget_set_sensitive (item, sensitive); - } - } - - g_list_free (children); -} - -static void -gtk_combo_box_menu_popup (GtkComboBox *combo_box, - guint button, - guint32 activate_time) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreePath *path; - gint active_item; - gint width, min_width, nat_width; - - update_menu_sensitivity (combo_box, priv->popup_widget); - - active_item = -1; - if (gtk_tree_row_reference_valid (priv->active_row)) - { - path = gtk_tree_row_reference_get_path (priv->active_row); - active_item = gtk_tree_path_get_indices (path)[0]; - gtk_tree_path_free (path); - - if (priv->add_tearoffs) - active_item++; - } - - /* FIXME handle nested menus better */ - gtk_menu_set_active (GTK_MENU (priv->popup_widget), active_item); - - if (priv->wrap_width == 0) - { - GtkAllocation allocation; - - gtk_widget_get_allocation (GTK_WIDGET (combo_box), &allocation); - width = allocation.width; - gtk_widget_set_size_request (priv->popup_widget, -1, -1); - gtk_widget_get_preferred_width (priv->popup_widget, &min_width, &nat_width); - - if (combo_box->priv->popup_fixed_width) - width = MAX (width, min_width); - else - width = MAX (width, nat_width); - - gtk_widget_set_size_request (priv->popup_widget, width, -1); - } - - gtk_menu_popup (GTK_MENU (priv->popup_widget), - NULL, NULL, - gtk_combo_box_menu_position, combo_box, - button, activate_time); -} - -static gboolean -popup_grab_on_window (GdkWindow *window, - GdkDevice *keyboard, - GdkDevice *pointer, - guint32 activate_time) -{ - if (keyboard && - gdk_device_grab (keyboard, window, - GDK_OWNERSHIP_WINDOW, TRUE, - GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, - NULL, activate_time) != GDK_GRAB_SUCCESS) - return FALSE; - - if (pointer && - gdk_device_grab (pointer, window, - GDK_OWNERSHIP_WINDOW, TRUE, - GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | - GDK_POINTER_MOTION_MASK, - NULL, activate_time) != GDK_GRAB_SUCCESS) - { - if (keyboard) - gdk_device_ungrab (keyboard, activate_time); - - return FALSE; - } - - return TRUE; -} - -/** - * gtk_combo_box_popup: - * @combo_box: a #GtkComboBox - * - * Pops up the menu or dropdown list of @combo_box. - * - * This function is mostly intended for use by accessibility technologies; - * applications should have little use for it. - * - * Since: 2.4 - */ -void -gtk_combo_box_popup (GtkComboBox *combo_box) -{ - g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - - g_signal_emit (combo_box, combo_box_signals[POPUP], 0); -} - -/** - * gtk_combo_box_popup_for_device: - * @combo_box: a #GtkComboBox - * @device: a #GdkDevice - * - * Pops up the menu or dropdown list of @combo_box, the popup window - * will be grabbed so only @device and its associated pointer/keyboard - * are the only #GdkDevices able to send events to it. - * - * Since: 3.0 - **/ -void -gtk_combo_box_popup_for_device (GtkComboBox *combo_box, - GdkDevice *device) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - gint x, y, width, height; - GtkTreePath *path = NULL, *ppath; - GtkWidget *toplevel; - GdkDevice *keyboard, *pointer; - guint32 time; - - g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - g_return_if_fail (GDK_IS_DEVICE (device)); - - if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) - return; - - if (priv->popup_window && gtk_widget_get_mapped (priv->popup_window)) - return; - - if (priv->grab_pointer && priv->grab_keyboard) - return; - - time = gtk_get_current_event_time (); - - if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) - { - keyboard = device; - pointer = gdk_device_get_associated_device (device); - } - else - { - pointer = device; - keyboard = gdk_device_get_associated_device (device); - } - - if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_combo_box_menu_popup (combo_box, - priv->activate_button, - priv->activate_time); - return; - } - - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); - if (GTK_IS_WINDOW (toplevel)) - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (priv->popup_window)); - - gtk_widget_show_all (priv->scrolled_window); - gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); - - gtk_widget_set_size_request (priv->popup_window, width, height); - gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); - - if (gtk_tree_row_reference_valid (priv->active_row)) - { - path = gtk_tree_row_reference_get_path (priv->active_row); - ppath = gtk_tree_path_copy (path); - if (gtk_tree_path_up (ppath)) - gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->tree_view), - ppath); - gtk_tree_path_free (ppath); - } - gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), - TRUE); - - /* popup */ - gtk_widget_show (priv->popup_window); - - if (path) - { - gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), - path, NULL, FALSE); - gtk_tree_path_free (path); - } - - gtk_widget_grab_focus (priv->popup_window); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), - TRUE); - - if (!gtk_widget_has_focus (priv->tree_view)) - gtk_widget_grab_focus (priv->tree_view); - - if (!popup_grab_on_window (gtk_widget_get_window (priv->popup_window), - keyboard, pointer, time)) - { - gtk_widget_hide (priv->popup_window); - return; - } - - gtk_device_grab_add (priv->popup_window, pointer, TRUE); - priv->grab_pointer = pointer; - priv->grab_keyboard = keyboard; -} - -static void -gtk_combo_box_real_popup (GtkComboBox *combo_box) -{ - GdkDevice *device; - - device = gtk_get_current_event_device (); - - if (!device) - { - GdkDeviceManager *device_manager; - GdkDisplay *display; - GList *devices; - - display = gtk_widget_get_display (GTK_WIDGET (combo_box)); - device_manager = gdk_display_get_device_manager (display); - - /* No device was set, pick the first master device */ - devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); - device = devices->data; - g_list_free (devices); - } - - gtk_combo_box_popup_for_device (combo_box, device); -} - -static gboolean -gtk_combo_box_real_popdown (GtkComboBox *combo_box) -{ - if (combo_box->priv->popup_shown) - { - gtk_combo_box_popdown (combo_box); - return TRUE; - } - - return FALSE; -} - -/** - * gtk_combo_box_popdown: - * @combo_box: a #GtkComboBox - * - * Hides the menu or dropdown list of @combo_box. - * - * This function is mostly intended for use by accessibility technologies; - * applications should have little use for it. - * - * Since: 2.4 - */ -void -gtk_combo_box_popdown (GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - - if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_menu_popdown (GTK_MENU (priv->popup_widget)); - return; - } - - if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) - return; - - gtk_device_grab_remove (priv->popup_window, priv->grab_pointer); - gtk_widget_hide (priv->popup_window); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), - FALSE); - - priv->grab_pointer = NULL; - priv->grab_keyboard = NULL; -} - -static void -gtk_combo_box_update_requested_width (GtkComboBox *combo_box, - GtkTreePath *path) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - gint padding, min_width, nat_width; - - if (priv->cell_view) - gtk_widget_style_get (priv->cell_view, - "focus-line-width", &padding, - NULL); - else - padding = 0; - - /* add some pixels for good measure */ - padding += BONUS_PADDING; - - if (priv->cell_view) - gtk_cell_view_get_desired_width_of_row (GTK_CELL_VIEW (priv->cell_view), - path, &min_width, &nat_width); - else - min_width = nat_width = 0; - - min_width += padding; - nat_width += padding; - - if (min_width > priv->minimum_width || nat_width > priv->natural_width) - { - priv->minimum_width = MAX (priv->minimum_width, min_width); - priv->natural_width = MAX (priv->natural_width, nat_width); - - if (priv->cell_view) - { - gtk_widget_set_size_request (priv->cell_view, min_width, -1); - gtk_widget_queue_resize (priv->cell_view); - } - } -} - -#define GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON \ - gtk_widget_get_preferred_size (combo_box->priv->button, \ - &req, NULL); \ - \ - if (is_rtl) \ - child.x = allocation->x + border.right; \ - else \ - child.x = allocation->x + allocation->width - req.width - border.left; \ - \ - child.y = allocation->y + border.top; \ - child.width = req.width; \ - child.height = allocation->height - (border.top + border.bottom); \ - child.width = MAX (1, child.width); \ - child.height = MAX (1, child.height); \ - \ - gtk_widget_size_allocate (combo_box->priv->button, &child); - -static void -gtk_combo_box_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *child_widget; - gint focus_width, focus_pad; - GtkAllocation child; - GtkRequisition req; - GtkBorder border; - gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; - - gtk_widget_set_allocation (widget, allocation); - child_widget = gtk_bin_get_child (GTK_BIN (widget)); - get_widget_border (widget, &border); - - gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); - - if (!priv->tree_view) - { - if (priv->cell_view) - { - GtkBorder button_border; - gint width; - guint border_width; - - /* menu mode */ - allocation->x += border.left; - allocation->y += border.top; - allocation->width -= border.left + border.right; - allocation->height -= border.top + border.bottom; - - gtk_widget_size_allocate (priv->button, allocation); - - /* set some things ready */ - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->button)); - get_widget_border (priv->button, &button_border); - - child.x = allocation->x; - child.y = allocation->y; - width = allocation->width; - child.height = allocation->height; - - if (!priv->is_cell_renderer) - { - child.x += border_width + button_border.left + focus_width + focus_pad; - child.y += border_width + button_border.top + focus_width + focus_pad; - width -= (2 * (border_width + focus_width + focus_pad)) + - button_border.left + button_border.right; - child.height -= (2 * (border_width + focus_width + focus_pad)) + - button_border.top + button_border.bottom; - } - - - /* handle the children */ - gtk_widget_get_preferred_size (priv->arrow, &req, NULL); - child.width = req.width; - if (!is_rtl) - child.x += width - req.width; - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); - gtk_widget_size_allocate (priv->arrow, &child); - if (is_rtl) - child.x += req.width; - gtk_widget_get_preferred_size (priv->separator, &req, NULL); - child.width = req.width; - if (!is_rtl) - child.x -= req.width; - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); - gtk_widget_size_allocate (priv->separator, &child); - - if (is_rtl) - { - child.x += req.width; - child.width = allocation->x + allocation->width - - (border_width + button_border.right + focus_width + focus_pad) - - child.x; - } - else - { - child.width = child.x; - child.x = allocation->x - + border_width + button_border.left + focus_width + focus_pad; - child.width -= child.x; - } - - if (gtk_widget_get_visible (priv->popup_widget)) - { - gint width, menu_width; - - if (priv->wrap_width == 0) - { - GtkAllocation combo_box_allocation; - - gtk_widget_get_allocation (GTK_WIDGET (combo_box), &combo_box_allocation); - width = combo_box_allocation.width; - gtk_widget_set_size_request (priv->popup_widget, -1, -1); - - if (combo_box->priv->popup_fixed_width) - gtk_widget_get_preferred_width (priv->popup_widget, &menu_width, NULL); - else - gtk_widget_get_preferred_width (priv->popup_widget, NULL, &menu_width); - - gtk_widget_set_size_request (priv->popup_widget, - MAX (width, menu_width), -1); - } - - /* reposition the menu after giving it a new width */ - gtk_menu_reposition (GTK_MENU (priv->popup_widget)); - } - - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); - gtk_widget_size_allocate (child_widget, &child); - } - else - { - GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON - - if (is_rtl) - child.x = allocation->x + req.width + border.right; - else - child.x = allocation->x + border.left; - child.y = allocation->y + border.top; - child.width = allocation->width - req.width - (border.left + border.right); - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); - gtk_widget_size_allocate (child_widget, &child); - } - } - else - { - /* list mode */ - guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - - /* button */ - GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON - - /* frame */ - if (is_rtl) - child.x = allocation->x + req.width; - else - child.x = allocation->x; - - child.y = allocation->y; - child.width = allocation->width - req.width; - child.height = allocation->height; - - if (priv->cell_view_frame) - { - child.x += border.left + border_width; - child.y += border.top + border_width; - child.width = MAX (1, child.width - (2 * border_width) - (border.left + border.right)); - child.height = MAX (1, child.height - (2 * border_width) - (border.top + border.bottom)); - gtk_widget_size_allocate (priv->cell_view_frame, &child); - - /* the sample */ - if (priv->has_frame) - { - GtkBorder frame_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (priv->cell_view_frame, &frame_border); - - child.x += border_width + frame_border.left; - child.y += border_width + frame_border.right; - child.width -= (2 * border_width) + frame_border.left + frame_border.right; - child.height -= (2 * border_width) + frame_border.top + frame_border.bottom; - } - } - else - { - child.x += border.left + border_width; - child.y += border.top + border_width; - child.width -= (2 * border_width) + border.left + border.right; - child.height -= (2 * border_width) + border.top + border.bottom; - } - - if (gtk_widget_get_visible (priv->popup_window)) - { - gint x, y, width, height; - gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); - gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); - gtk_widget_set_size_request (priv->popup_window, width, height); - } - - - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); - - gtk_widget_size_allocate (child_widget, &child); - } -} - -#undef GTK_COMBO_BOX_ALLOCATE_BUTTON - -static void -gtk_combo_box_unset_model (GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - if (priv->model) - { - g_signal_handler_disconnect (priv->model, - priv->inserted_id); - g_signal_handler_disconnect (priv->model, - priv->deleted_id); - g_signal_handler_disconnect (priv->model, - priv->reordered_id); - g_signal_handler_disconnect (priv->model, - priv->changed_id); - } - - /* menu mode */ - if (!priv->tree_view) - { - if (priv->popup_widget) - gtk_container_foreach (GTK_CONTAINER (priv->popup_widget), - (GtkCallback)gtk_widget_destroy, NULL); - } - - if (priv->model) - { - g_object_unref (priv->model); - priv->model = NULL; - } - - if (priv->active_row) - { - gtk_tree_row_reference_free (priv->active_row); - priv->active_row = NULL; - } - - if (priv->cell_view) - gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), NULL); -} - -static void -gtk_combo_box_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (container); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *child; - - if (include_internals) - { - if (priv->button) - (* callback) (priv->button, callback_data); - if (priv->cell_view_frame) - (* callback) (priv->cell_view_frame, callback_data); - } - - child = gtk_bin_get_child (GTK_BIN (container)); - if (child) - (* callback) (child, callback_data); -} - -static void -gtk_combo_box_child_show (GtkWidget *widget, - GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - priv->popup_shown = TRUE; - g_object_notify (G_OBJECT (combo_box), "popup-shown"); -} - -static void -gtk_combo_box_child_hide (GtkWidget *widget, - GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - priv->popup_shown = FALSE; - g_object_notify (G_OBJECT (combo_box), "popup-shown"); -} - +/****************************************************** + * GtkWidgetClass * + ******************************************************/ static gboolean gtk_combo_box_draw (GtkWidget *widget, cairo_t *cr) @@ -2827,6 +1347,7 @@ gtk_combo_box_draw (GtkWidget *widget, return FALSE; } + typedef struct { GtkComboBox *combo; GtkTreePath *path; @@ -2848,6 +1369,43 @@ path_visible (GtkTreeView *view, return _gtk_tree_view_find_node (view, path, &tree, &node); } +static gboolean +tree_column_row_is_sensitive (GtkComboBox *combo_box, + GtkTreeIter *iter) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + GList *cells, *list; + gboolean sensitive; + + if (!priv->column) + return TRUE; + + if (priv->row_separator_func) + { + if (priv->row_separator_func (priv->model, iter, + priv->row_separator_data)) + return FALSE; + } + + gtk_tree_view_column_cell_set_cell_data (priv->column, + priv->model, + iter, FALSE, FALSE); + + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->column)); + + sensitive = FALSE; + for (list = cells; list; list = list->next) + { + g_object_get (list->data, "sensitive", &sensitive, NULL); + + if (sensitive) + break; + } + g_list_free (cells); + + return sensitive; +} + static gboolean tree_next_func (GtkTreeModel *model, GtkTreePath *path, @@ -3060,41 +1618,1643 @@ gtk_combo_box_scroll_event (GtkWidget *widget, return TRUE; } + +static gboolean +gtk_combo_box_mnemonic_activate (GtkWidget *widget, + gboolean group_cycling) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + + if (combo_box->priv->has_entry) + { + GtkWidget* child; + + child = gtk_bin_get_child (GTK_BIN (combo_box)); + if (child) + gtk_widget_grab_focus (child); + } + else + gtk_widget_grab_focus (combo_box->priv->button); + + return TRUE; +} + +static void +gtk_combo_box_grab_focus (GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + + if (combo_box->priv->has_entry) + { + GtkWidget *child; + + child = gtk_bin_get_child (GTK_BIN (combo_box)); + if (child) + gtk_widget_grab_focus (child); + } + else + gtk_widget_grab_focus (combo_box->priv->button); +} + +static void +gtk_combo_box_state_changed (GtkWidget *widget, + GtkStateType previous) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (gtk_widget_get_realized (widget)) + { + if (priv->tree_view && priv->cell_view) + { + GtkStyleContext *context; + GtkStateFlags state; + GdkRGBA *color; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_get (context, state, + "background-color", &color, + NULL); + + gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), color); + gdk_rgba_free (color); + } + } + + gtk_widget_queue_draw (widget); +} + +static void +gtk_combo_box_button_state_changed (GtkWidget *widget, + GtkStateType previous, + gpointer data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (data); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (gtk_widget_get_realized (widget)) + { + if (!priv->tree_view && priv->cell_view) + { + if ((gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE) != + (gtk_widget_get_state (priv->cell_view) == GTK_STATE_INSENSITIVE)) + gtk_widget_set_sensitive (priv->cell_view, gtk_widget_get_sensitive (widget)); + + gtk_widget_set_state (priv->cell_view, + gtk_widget_get_state (widget)); + } + } + + gtk_widget_queue_draw (widget); +} + +static void +gtk_combo_box_check_appearance (GtkComboBox *combo_box) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + gboolean appears_as_list; + + /* if wrap_width > 0, then we are in grid-mode and forced to use + * unix style + */ + if (priv->wrap_width) + appears_as_list = FALSE; + else + gtk_widget_style_get (GTK_WIDGET (combo_box), + "appears-as-list", &appears_as_list, + NULL); + + if (appears_as_list) + { + /* Destroy all the menu mode widgets, if they exist. */ + if (GTK_IS_MENU (priv->popup_widget)) + gtk_combo_box_menu_destroy (combo_box); + + /* Create the list mode widgets, if they don't already exist. */ + if (!GTK_IS_TREE_VIEW (priv->tree_view)) + gtk_combo_box_list_setup (combo_box); + } + else + { + /* Destroy all the list mode widgets, if they exist. */ + if (GTK_IS_TREE_VIEW (priv->tree_view)) + gtk_combo_box_list_destroy (combo_box); + + /* Create the menu mode widgets, if they don't already exist. */ + if (!GTK_IS_MENU (priv->popup_widget)) + gtk_combo_box_menu_setup (combo_box, TRUE); + } + + gtk_widget_style_get (GTK_WIDGET (combo_box), + "shadow-type", &priv->shadow_type, + NULL); +} + +static void +gtk_combo_box_style_updated (GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkWidget *child; + + gtk_combo_box_check_appearance (combo_box); + + if (priv->tree_view && priv->cell_view) + { + GtkStyleContext *context; + GdkRGBA *color; + + context = gtk_widget_get_style_context (widget); + gtk_style_context_get (context, 0, + "background-color", &color, + NULL); + + gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), color); + gdk_rgba_free (color); + } + + child = gtk_bin_get_child (GTK_BIN (combo_box)); + if (GTK_IS_ENTRY (child)) + g_object_set (child, "shadow-type", + GTK_SHADOW_NONE == priv->shadow_type ? + GTK_SHADOW_IN : GTK_SHADOW_NONE, NULL); +} + +static void +gtk_combo_box_destroy (GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + + if (combo_box->priv->popup_idle_id > 0) + { + g_source_remove (combo_box->priv->popup_idle_id); + combo_box->priv->popup_idle_id = 0; + } + + gtk_combo_box_popdown (combo_box); + + if (combo_box->priv->row_separator_destroy) + combo_box->priv->row_separator_destroy (combo_box->priv->row_separator_data); + + combo_box->priv->row_separator_func = NULL; + combo_box->priv->row_separator_data = NULL; + combo_box->priv->row_separator_destroy = NULL; + + GTK_WIDGET_CLASS (gtk_combo_box_parent_class)->destroy (widget); + combo_box->priv->cell_view = NULL; +} + + +static void +gtk_combo_box_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + gint focus_width, focus_pad; + gint font_size, arrow_size; + PangoContext *context; + PangoFontMetrics *metrics; + PangoFontDescription *font_desc; + GtkWidget *child; + gint minimum_width, natural_width; + gint child_min, child_nat; + GtkStyleContext *style_context; + GtkStateFlags state; + + child = gtk_bin_get_child (GTK_BIN (widget)); + + /* common */ + gtk_widget_get_preferred_width (child, &child_min, &child_nat); + + gtk_widget_style_get (GTK_WIDGET (widget), + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "arrow-size", &arrow_size, + NULL); + + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_get (style_context, state, + "font", &font_desc, + NULL); + + context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); + metrics = pango_context_get_metrics (context, font_desc, + pango_context_get_language (context)); + font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + + pango_font_metrics_get_descent (metrics)); + pango_font_metrics_unref (metrics); + pango_font_description_free (font_desc); + + arrow_size = MAX (arrow_size, font_size); + + gtk_widget_set_size_request (priv->arrow, arrow_size, arrow_size); + + if (!priv->tree_view) + { + /* menu mode */ + if (priv->cell_view) + { + gint sep_width, arrow_width; + gint border_width, xthickness, xpad; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); + xthickness = get_widget_border_thickness (priv->button); + + gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); + gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); + + xpad = 2*(border_width + xthickness + focus_width + focus_pad); + + minimum_width = child_min + sep_width + arrow_width + xpad; + natural_width = child_nat + sep_width + arrow_width + xpad; + } + else + { + gint but_width, but_nat_width; + + gtk_widget_get_preferred_width (priv->button, + &but_width, &but_nat_width); + + minimum_width = child_min + but_width; + natural_width = child_nat + but_nat_width; + } + } + else + { + /* list mode */ + gint button_width, button_nat_width; + + /* sample + frame */ + minimum_width = child_min; + natural_width = child_nat; + + minimum_width += 2 * focus_width; + natural_width += 2 * focus_width; + + if (priv->cell_view_frame) + { + if (priv->has_frame) + { + gint border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + gint xpad = 2 * (border_width + get_widget_border_thickness (priv->cell_view_frame)); + + minimum_width += xpad; + natural_width += xpad; + } + } + + /* the button */ + gtk_widget_get_preferred_width (priv->button, + &button_width, &button_nat_width); + + minimum_width += button_width; + natural_width += button_nat_width; + } + + if (GTK_SHADOW_NONE != priv->shadow_type) + { + gint thickness; + + thickness = get_widget_border_thickness (GTK_WIDGET (widget)); + minimum_width += 2 * thickness; + natural_width += 2 * thickness; + } + + if (minimum_size) + *minimum_size = minimum_width; + + if (natural_size) + *natural_size = natural_width; +} + +static void +gtk_combo_box_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + gint min_width; + + /* Combo box is height-for-width only + * (so we always just reserve enough height for the minimum width) */ + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, minimum_size, natural_size); +} + +static void +gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size) +{ + /* Combo box is height-for-width only + * (so we assume we always reserved enough height for the minimum width) */ + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); +} + + +static void +gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + gint focus_width, focus_pad; + gint min_height, nat_height; + gint size; + GtkWidget *child; + + gtk_widget_style_get (GTK_WIDGET (widget), + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + + size = avail_size; + + child = gtk_bin_get_child (GTK_BIN (widget)); + + if (GTK_SHADOW_NONE != priv->shadow_type) + size -= get_widget_border_thickness (widget); + + if (!priv->tree_view) + { + /* menu mode */ + if (priv->cell_view) + { + /* calculate x/y padding and separator/arrow size */ + gint sep_width, arrow_width, sep_height, arrow_height; + gint border_width, xthickness, ythickness, xpad, ypad; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); + xthickness = ythickness = get_widget_border_thickness (priv->button); + + gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); + gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); + gtk_widget_get_preferred_height_for_width (priv->separator, + sep_width, &sep_height, NULL); + gtk_widget_get_preferred_height_for_width (priv->arrow, + arrow_width, &arrow_height, NULL); + + xpad = 2*(border_width + xthickness + focus_width + focus_pad); + ypad = 2*(border_width + ythickness + focus_width + focus_pad); + + size -= sep_width + arrow_width + xpad; + + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + arrow_height = MAX (arrow_height, sep_height); + min_height = MAX (min_height, arrow_height); + nat_height = MAX (nat_height, arrow_height); + + min_height += ypad; + nat_height += ypad; + } + else + { + /* there is a custom child widget inside (no priv->cell_view) */ + gint but_width, but_height; + + gtk_widget_get_preferred_width (priv->button, &but_width, NULL); + gtk_widget_get_preferred_height_for_width (priv->button, + but_width, &but_height, NULL); + + size -= but_width; + + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + min_height = MAX (min_height, but_height); + nat_height = MAX (nat_height, but_height); + } + } + else + { + /* list mode */ + gint but_width, but_height; + gint xpad = 0, ypad = 0; + + gtk_widget_get_preferred_width (priv->button, &but_width, NULL); + gtk_widget_get_preferred_height_for_width (priv->button, + but_width, &but_height, NULL); + + if (priv->cell_view_frame && priv->has_frame) + { + gint border_width; + gint thickness; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + thickness = get_widget_border_thickness (GTK_WIDGET (priv->cell_view_frame)); + + xpad = 2 * (border_width + thickness); + ypad = 2 * (border_width + thickness); + } + + size -= but_width; + size -= 2 * focus_width; + size -= xpad; + + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + min_height = MAX (min_height, but_height); + nat_height = MAX (nat_height, but_height); + + min_height += ypad; + nat_height += ypad; + } + + if (GTK_SHADOW_NONE != priv->shadow_type) + { + gint thickness; + + thickness = get_widget_border_thickness (widget); + min_height += 2 * thickness; + nat_height += 2 * thickness; + } + + if (minimum_size) + *minimum_size = min_height; + + if (natural_size) + *natural_size = nat_height; +} + +#define GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON \ + gtk_widget_get_preferred_size (combo_box->priv->button, \ + &req, NULL); \ + \ + if (is_rtl) \ + child.x = allocation->x + shadow_width; \ + else \ + child.x = allocation->x + allocation->width - req.width - shadow_width; \ + \ + child.y = allocation->y + shadow_height; \ + child.width = req.width; \ + child.height = allocation->height - 2 * shadow_height; \ + child.width = MAX (1, child.width); \ + child.height = MAX (1, child.height); \ + \ + gtk_widget_size_allocate (combo_box->priv->button, &child); + +static gint +get_widget_border_thickness (GtkWidget *widget) +{ + GtkStyleContext *context; + gint thickness; + + context = gtk_widget_get_style_context (widget); + + gtk_style_context_get (context, + gtk_widget_get_state_flags (widget), + "border-width", &thickness, + NULL); + return thickness; +} + +static void +gtk_combo_box_size_allocate (GtkWidget *widget, + GtkAllocation *allocation) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkWidget *child_widget; + gint shadow_width, shadow_height; + gint focus_width, focus_pad; + GtkAllocation child; + GtkRequisition req; + gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; + + gtk_widget_set_allocation (widget, allocation); + child_widget = gtk_bin_get_child (GTK_BIN (widget)); + + gtk_widget_style_get (widget, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + + if (GTK_SHADOW_NONE != priv->shadow_type) + shadow_width = shadow_height = get_widget_border_thickness (widget); + else + { + shadow_width = 0; + shadow_height = 0; + } + + if (!priv->tree_view) + { + if (priv->cell_view) + { + gint xthickness, ythickness; + gint width; + guint border_width; + + /* menu mode */ + allocation->x += shadow_width; + allocation->y += shadow_height; + allocation->width -= 2 * shadow_width; + allocation->height -= 2 * shadow_height; + + gtk_widget_size_allocate (priv->button, allocation); + + /* set some things ready */ + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->button)); + xthickness = ythickness = get_widget_border_thickness (priv->button); + + child.x = allocation->x; + child.y = allocation->y; + width = allocation->width; + child.height = allocation->height; + + if (!priv->is_cell_renderer) + { + child.x += border_width + xthickness + focus_width + focus_pad; + child.y += border_width + ythickness + focus_width + focus_pad; + width -= 2 * (child.x - allocation->x); + child.height -= 2 * (child.y - allocation->y); + } + + + /* handle the children */ + gtk_widget_get_preferred_size (priv->arrow, &req, NULL); + child.width = req.width; + if (!is_rtl) + child.x += width - req.width; + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); + gtk_widget_size_allocate (priv->arrow, &child); + if (is_rtl) + child.x += req.width; + gtk_widget_get_preferred_size (priv->separator, &req, NULL); + child.width = req.width; + if (!is_rtl) + child.x -= req.width; + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); + gtk_widget_size_allocate (priv->separator, &child); + + if (is_rtl) + { + child.x += req.width; + child.width = allocation->x + allocation->width + - (border_width + xthickness + focus_width + focus_pad) + - child.x; + } + else + { + child.width = child.x; + child.x = allocation->x + + border_width + xthickness + focus_width + focus_pad; + child.width -= child.x; + } + + if (gtk_widget_get_visible (priv->popup_widget)) + { + gint width, menu_width; + + if (priv->wrap_width == 0) + { + GtkAllocation combo_box_allocation; + + gtk_widget_get_allocation (GTK_WIDGET (combo_box), &combo_box_allocation); + width = combo_box_allocation.width; + gtk_widget_set_size_request (priv->popup_widget, -1, -1); + + if (combo_box->priv->popup_fixed_width) + gtk_widget_get_preferred_width (priv->popup_widget, &menu_width, NULL); + else + gtk_widget_get_preferred_width (priv->popup_widget, NULL, &menu_width); + + gtk_widget_set_size_request (priv->popup_widget, + MAX (width, menu_width), -1); + } + + /* reposition the menu after giving it a new width */ + gtk_menu_reposition (GTK_MENU (priv->popup_widget)); + } + + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); + gtk_widget_size_allocate (child_widget, &child); + } + else + { + GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON + + if (is_rtl) + child.x = allocation->x + req.width + shadow_width; + else + child.x = allocation->x + shadow_width; + child.y = allocation->y + shadow_height; + child.width = allocation->width - req.width - 2 * shadow_width; + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); + gtk_widget_size_allocate (child_widget, &child); + } + } + else + { + /* list mode */ + + /* Combobox thickness + border-width */ + guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + int delta_x = shadow_width + border_width; + int delta_y = shadow_height + border_width; + + /* button */ + GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON + + /* frame */ + if (is_rtl) + child.x = allocation->x + req.width; + else + child.x = allocation->x; + + child.y = allocation->y; + child.width = allocation->width - req.width; + child.height = allocation->height; + + if (priv->cell_view_frame) + { + child.x += delta_x; + child.y += delta_y; + child.width = MAX (1, child.width - delta_x * 2); + child.height = MAX (1, child.height - delta_y * 2); + gtk_widget_size_allocate (priv->cell_view_frame, &child); + + /* the sample */ + if (priv->has_frame) + { + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + delta_x = delta_y = border_width + get_widget_border_thickness (priv->cell_view_frame); + + child.x += delta_x; + child.y += delta_y; + child.width -= delta_x * 2; + child.height -= delta_y * 2; + } + } + else + { + child.x += delta_x; + child.y += delta_y; + child.width -= delta_x * 2; + child.height -= delta_y * 2; + } + + if (gtk_widget_get_visible (priv->popup_window)) + { + gint x, y, width, height; + gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); + gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); + gtk_widget_set_size_request (priv->popup_window, width, height); + } + + + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); + + gtk_widget_size_allocate (child_widget, &child); + } +} + +#undef GTK_COMBO_BOX_ALLOCATE_BUTTON + +/****************************************************** + * GtkContainerClass * + ******************************************************/ + +static void +gtk_combo_box_add (GtkContainer *container, + GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (container); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (priv->has_entry && !GTK_IS_ENTRY (widget)) + { + g_warning ("Attempting to add a widget with type %s to a GtkComboBox that needs an entry " + "(need an instance of GtkEntry or of a subclass)", + G_OBJECT_TYPE_NAME (widget)); + return; + } + + if (priv->cell_view && + gtk_widget_get_parent (priv->cell_view)) + { + gtk_container_remove (container, priv->cell_view); + gtk_widget_queue_resize (GTK_WIDGET (container)); + } + + gtk_widget_set_parent (widget, GTK_WIDGET (container)); + _gtk_bin_set_child (GTK_BIN (container), widget); + + if (priv->cell_view && + widget != priv->cell_view) + { + /* since the cell_view was unparented, it's gone now */ + priv->cell_view = NULL; + + if (!priv->tree_view && priv->separator) + { + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (priv->separator)), + priv->separator); + priv->separator = NULL; + + gtk_widget_queue_resize (GTK_WIDGET (container)); + } + else if (priv->cell_view_frame) + { + gtk_widget_unparent (priv->cell_view_frame); + priv->cell_view_frame = NULL; + priv->box = NULL; + } + } + + if (priv->has_entry) + { + /* this flag is a hack to tell the entry to fill its allocation. + */ + _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE); + + g_signal_connect (widget, "changed", + G_CALLBACK (gtk_combo_box_entry_contents_changed), + combo_box); + + gtk_entry_set_has_frame (GTK_ENTRY (widget), priv->has_frame); + } +} + +static void +gtk_combo_box_remove (GtkContainer *container, + GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (container); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkTreePath *path; + gboolean appears_as_list; + + if (priv->has_entry) + { + GtkWidget *child_widget; + + child_widget = gtk_bin_get_child (GTK_BIN (container)); + if (widget && widget == child_widget) + { + g_signal_handlers_disconnect_by_func (widget, + gtk_combo_box_entry_contents_changed, + container); + + _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE); + } + } + + if (widget == priv->cell_view) + priv->cell_view = NULL; + + GTK_CONTAINER_CLASS (gtk_combo_box_parent_class)->remove (container, widget); + + if (gtk_widget_in_destruction (GTK_WIDGET (combo_box))) + return; + + gtk_widget_queue_resize (GTK_WIDGET (container)); + + if (!priv->tree_view) + appears_as_list = FALSE; + else + appears_as_list = TRUE; + + if (appears_as_list) + gtk_combo_box_list_destroy (combo_box); + else if (GTK_IS_MENU (priv->popup_widget)) + { + gtk_combo_box_menu_destroy (combo_box); + gtk_menu_detach (GTK_MENU (priv->popup_widget)); + priv->popup_widget = NULL; + } + + if (!priv->cell_view) + { + priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); + gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); + + GTK_CONTAINER_CLASS (gtk_combo_box_parent_class)->add (container, priv->cell_view); + + gtk_widget_show (priv->cell_view); + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); + } + + if (appears_as_list) + gtk_combo_box_list_setup (combo_box); + else + gtk_combo_box_menu_setup (combo_box, TRUE); + + if (gtk_tree_row_reference_valid (priv->active_row)) + { + path = gtk_tree_row_reference_get_path (priv->active_row); + gtk_combo_box_set_active_internal (combo_box, path); + gtk_tree_path_free (path); + } + else + gtk_combo_box_set_active_internal (combo_box, NULL); +} + +static void +gtk_combo_box_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (container); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkWidget *child; + + if (include_internals) + { + if (priv->button) + (* callback) (priv->button, callback_data); + if (priv->cell_view_frame) + (* callback) (priv->cell_view_frame, callback_data); + } + + child = gtk_bin_get_child (GTK_BIN (container)); + if (child) + (* callback) (child, callback_data); +} + + +/****************************************************** + * GtkComboBoxClass (binding methods) * + ******************************************************/ +static void +gtk_combo_box_real_move_active (GtkComboBox *combo_box, + GtkScrollType scroll) +{ + GtkTreeIter iter; + GtkTreeIter new_iter; + gboolean active_iter; + gboolean found; + + if (!combo_box->priv->model) + { + gtk_widget_error_bell (GTK_WIDGET (combo_box)); + return; + } + + active_iter = gtk_combo_box_get_active_iter (combo_box, &iter); + + switch (scroll) + { + case GTK_SCROLL_STEP_BACKWARD: + case GTK_SCROLL_STEP_UP: + case GTK_SCROLL_STEP_LEFT: + if (active_iter) + { + found = tree_prev (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + break; + } + /* else fall through */ + + case GTK_SCROLL_PAGE_FORWARD: + case GTK_SCROLL_PAGE_DOWN: + case GTK_SCROLL_PAGE_RIGHT: + case GTK_SCROLL_END: + found = tree_last (combo_box, combo_box->priv->model, &new_iter, FALSE); + break; + + case GTK_SCROLL_STEP_FORWARD: + case GTK_SCROLL_STEP_DOWN: + case GTK_SCROLL_STEP_RIGHT: + if (active_iter) + { + found = tree_next (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + break; + } + /* else fall through */ + + case GTK_SCROLL_PAGE_BACKWARD: + case GTK_SCROLL_PAGE_UP: + case GTK_SCROLL_PAGE_LEFT: + case GTK_SCROLL_START: + found = tree_first (combo_box, combo_box->priv->model, &new_iter, FALSE); + break; + + default: + return; + } + + if (found && active_iter) + { + GtkTreePath *old_path; + GtkTreePath *new_path; + + old_path = gtk_tree_model_get_path (combo_box->priv->model, &iter); + new_path = gtk_tree_model_get_path (combo_box->priv->model, &new_iter); + + if (gtk_tree_path_compare (old_path, new_path) == 0) + found = FALSE; + + gtk_tree_path_free (old_path); + gtk_tree_path_free (new_path); + } + + if (found) + { + gtk_combo_box_set_active_iter (combo_box, &new_iter); + } + else + { + gtk_widget_error_bell (GTK_WIDGET (combo_box)); + } +} + +static void +gtk_combo_box_real_popup (GtkComboBox *combo_box) +{ + GdkDevice *device; + + device = gtk_get_current_event_device (); + + if (!device) + { + GdkDeviceManager *device_manager; + GdkDisplay *display; + GList *devices; + + display = gtk_widget_get_display (GTK_WIDGET (combo_box)); + device_manager = gdk_display_get_device_manager (display); + + /* No device was set, pick the first master device */ + devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); + device = devices->data; + g_list_free (devices); + } + + gtk_combo_box_popup_for_device (combo_box, device); +} + +static gboolean +gtk_combo_box_real_popdown (GtkComboBox *combo_box) +{ + if (combo_box->priv->popup_shown) + { + gtk_combo_box_popdown (combo_box); + return TRUE; + } + + return FALSE; +} + +/****************************************************** + * GtkTreeModel callbacks * + ******************************************************/ +static void +gtk_combo_box_model_row_inserted (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + + if (combo_box->priv->tree_view) + gtk_combo_box_list_popup_resize (combo_box); +} + +static void +gtk_combo_box_model_row_deleted (GtkTreeModel *model, + GtkTreePath *path, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (!gtk_tree_row_reference_valid (priv->active_row)) + { + if (priv->cell_view) + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL); + g_signal_emit (combo_box, combo_box_signals[CHANGED], 0); + } + + if (priv->tree_view) + gtk_combo_box_list_popup_resize (combo_box); +} + + +static void +gtk_combo_box_button_toggled (GtkWidget *widget, + gpointer data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (data); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) + { + if (!combo_box->priv->popup_in_progress) + gtk_combo_box_popup (combo_box); + } + else + gtk_combo_box_popdown (combo_box); +} + +static void +gtk_combo_box_menu_show (GtkWidget *menu, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + + gtk_combo_box_child_show (menu, user_data); + + priv->popup_in_progress = TRUE; + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), + TRUE); + priv->popup_in_progress = FALSE; +} + +static void +gtk_combo_box_menu_hide (GtkWidget *menu, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + + gtk_combo_box_child_hide (menu,user_data); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (combo_box->priv->button), + FALSE); +} + +static void +gtk_combo_box_detacher (GtkWidget *widget, + GtkMenu *menu) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + + g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); + + g_signal_handlers_disconnect_by_func (menu->toplevel, + gtk_combo_box_menu_show, + combo_box); + g_signal_handlers_disconnect_by_func (menu->toplevel, + gtk_combo_box_menu_hide, + combo_box); + + priv->popup_widget = NULL; +} + +static void +gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, + GtkWidget *popup) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + + if (GTK_IS_MENU (priv->popup_widget)) + { + gtk_menu_detach (GTK_MENU (priv->popup_widget)); + priv->popup_widget = NULL; + } + else if (priv->popup_widget) + { + gtk_container_remove (GTK_CONTAINER (priv->scrolled_window), + priv->popup_widget); + g_object_unref (priv->popup_widget); + priv->popup_widget = NULL; + } + + if (GTK_IS_MENU (popup)) + { + if (priv->popup_window) + { + gtk_widget_destroy (priv->popup_window); + priv->popup_window = NULL; + } + + priv->popup_widget = popup; + + /* + * Note that we connect to show/hide on the toplevel, not the + * menu itself, since the menu is not shown/hidden when it is + * popped up while torn-off. + */ + g_signal_connect (GTK_MENU (popup)->toplevel, "show", + G_CALLBACK (gtk_combo_box_menu_show), combo_box); + g_signal_connect (GTK_MENU (popup)->toplevel, "hide", + G_CALLBACK (gtk_combo_box_menu_hide), combo_box); + + gtk_menu_attach_to_widget (GTK_MENU (popup), + GTK_WIDGET (combo_box), + gtk_combo_box_detacher); + } + else + { + if (!priv->popup_window) + { + GtkWidget *toplevel; + + priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); + gtk_widget_set_name (priv->popup_window, "gtk-combobox-popup-window"); + + gtk_window_set_type_hint (GTK_WINDOW (priv->popup_window), + GDK_WINDOW_TYPE_HINT_COMBO); + + g_signal_connect (GTK_WINDOW (priv->popup_window),"show", + G_CALLBACK (gtk_combo_box_child_show), + combo_box); + g_signal_connect (GTK_WINDOW (priv->popup_window),"hide", + G_CALLBACK (gtk_combo_box_child_hide), + combo_box); + + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); + if (GTK_IS_WINDOW (toplevel)) + { + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (priv->popup_window)); + gtk_window_set_transient_for (GTK_WINDOW (priv->popup_window), + GTK_WINDOW (toplevel)); + } + + gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE); + gtk_window_set_screen (GTK_WINDOW (priv->popup_window), + gtk_widget_get_screen (GTK_WIDGET (combo_box))); + + priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + GTK_POLICY_NEVER, + GTK_POLICY_NEVER); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), + GTK_SHADOW_IN); + + gtk_widget_show (priv->scrolled_window); + + gtk_container_add (GTK_CONTAINER (priv->popup_window), + priv->scrolled_window); + } + + gtk_container_add (GTK_CONTAINER (priv->scrolled_window), + popup); + + gtk_widget_show (popup); + g_object_ref (popup); + priv->popup_widget = popup; + } +} + +static void +gtk_combo_box_menu_position_below (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkAllocation child_allocation; + gint sx, sy; + GtkWidget *child; + GtkRequisition req; + GdkScreen *screen; + gint monitor_num; + GdkRectangle monitor; + + /* FIXME: is using the size request here broken? */ + child = gtk_bin_get_child (GTK_BIN (combo_box)); + + sx = sy = 0; + + gtk_widget_get_allocation (child, &child_allocation); + + if (!gtk_widget_get_has_window (child)) + { + sx += child_allocation.x; + sy += child_allocation.y; + } + + gdk_window_get_root_coords (gtk_widget_get_window (child), + sx, sy, &sx, &sy); + + if (GTK_SHADOW_NONE != combo_box->priv->shadow_type) + sx -= get_widget_border_thickness (GTK_WIDGET (combo_box)); + + if (combo_box->priv->popup_fixed_width) + gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL); + else + gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &req); + + if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_LTR) + *x = sx; + else + *x = sx + child_allocation.width - req.width; + *y = sy; + + screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); + monitor_num = gdk_screen_get_monitor_at_window (screen, + gtk_widget_get_window (GTK_WIDGET (combo_box))); + gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + + if (*x < monitor.x) + *x = monitor.x; + else if (*x + req.width > monitor.x + monitor.width) + *x = monitor.x + monitor.width - req.width; + + if (monitor.y + monitor.height - *y - child_allocation.height >= req.height) + *y += child_allocation.height; + else if (*y - monitor.y >= req.height) + *y -= req.height; + else if (monitor.y + monitor.height - *y - child_allocation.height > *y - monitor.y) + *y += child_allocation.height; + else + *y -= req.height; + + *push_in = FALSE; +} + +static void +gtk_combo_box_menu_position_over (GtkMenu *menu, + gint *x, + gint *y, + gboolean *push_in, + gpointer user_data) +{ + GtkComboBox *combo_box; + GtkWidget *active; + GtkWidget *child; + GtkWidget *widget; + GtkAllocation allocation; + GtkAllocation child_allocation; + GList *children; + gint screen_width; + gint menu_xpos; + gint menu_ypos; + gint menu_width; + + combo_box = GTK_COMBO_BOX (user_data); + widget = GTK_WIDGET (combo_box); + + active = gtk_menu_get_active (GTK_MENU (combo_box->priv->popup_widget)); + + gtk_widget_get_allocation (widget, &allocation); + + menu_xpos = allocation.x; + menu_ypos = allocation.y + allocation.height / 2 - 2; + + if (combo_box->priv->popup_fixed_width) + gtk_widget_get_preferred_width (GTK_WIDGET (menu), &menu_width, NULL); + else + gtk_widget_get_preferred_width (GTK_WIDGET (menu), NULL, &menu_width); + + if (active != NULL) + { + gtk_widget_get_allocation (active, &child_allocation); + menu_ypos -= child_allocation.height / 2; + } + + children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->children; + while (children) + { + child = children->data; + + if (active == child) + break; + + if (gtk_widget_get_visible (child)) + { + gtk_widget_get_allocation (child, &child_allocation); + + menu_ypos -= child_allocation.height; + } + + children = children->next; + } + + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + menu_xpos = menu_xpos + allocation.width - menu_width; + + gdk_window_get_root_coords (gtk_widget_get_window (widget), + menu_xpos, menu_ypos, + &menu_xpos, &menu_ypos); + + /* Clamp the position on screen */ + screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); + + if (menu_xpos < 0) + menu_xpos = 0; + else if ((menu_xpos + menu_width) > screen_width) + menu_xpos -= ((menu_xpos + menu_width) - screen_width); + + *x = menu_xpos; + *y = menu_ypos; + + *push_in = TRUE; +} + +static void +gtk_combo_box_menu_position (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkWidget *menu_item; + + if (priv->wrap_width > 0 || priv->cell_view == NULL) + gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data); + else + { + /* FIXME handle nested menus better */ + menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); + if (menu_item) + gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), + menu_item); + + gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); + } + + if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->toplevel)) + gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->toplevel), + GDK_WINDOW_TYPE_HINT_COMBO); +} + +static void +gtk_combo_box_list_position (GtkComboBox *combo_box, + gint *x, + gint *y, + gint *width, + gint *height) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + GtkAllocation allocation; + GdkScreen *screen; + gint monitor_num; + GdkRectangle monitor; + GtkRequisition popup_req; + GtkPolicyType hpolicy, vpolicy; + GdkWindow *window; + + /* under windows, the drop down list is as wide as the combo box itself. + see bug #340204 */ + GtkWidget *widget = GTK_WIDGET (combo_box); + + *x = *y = 0; + + gtk_widget_get_allocation (widget, &allocation); + + if (!gtk_widget_get_has_window (widget)) + { + *x += allocation.x; + *y += allocation.y; + } + + window = gtk_widget_get_window (widget); + + gdk_window_get_root_coords (gtk_widget_get_window (widget), + *x, *y, x, y); + + *width = allocation.width; + + hpolicy = vpolicy = GTK_POLICY_NEVER; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + + if (combo_box->priv->popup_fixed_width) + { + gtk_widget_get_preferred_size (priv->scrolled_window, &popup_req, NULL); + + if (popup_req.width > *width) + { + hpolicy = GTK_POLICY_ALWAYS; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + } + } + else + { + /* This code depends on treeviews properly reporting their natural width */ + gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); + + if (popup_req.width > *width) + { + hpolicy = GTK_POLICY_NEVER; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + + *width = popup_req.width; + } + } + + *height = popup_req.height; + + screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); + monitor_num = gdk_screen_get_monitor_at_window (screen, window); + gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + + if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_RTL) + *x = *x + allocation.width - *width; + + if (*x < monitor.x) + *x = monitor.x; + else if (*x + *width > monitor.x + monitor.width) + *x = monitor.x + monitor.width - *width; + + if (*y + allocation.height + *height <= monitor.y + monitor.height) + *y += allocation.height; + else if (*y - *height >= monitor.y) + *y -= *height; + else if (monitor.y + monitor.height - (*y + allocation.height) > *y - monitor.y) + { + *y += allocation.height; + *height = monitor.y + monitor.height - *y; + } + else + { + *height = *y - monitor.y; + *y = monitor.y; + } + + if (popup_req.height > *height) + { + vpolicy = GTK_POLICY_ALWAYS; + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + } +} + +static void +gtk_combo_box_menu_popup (GtkComboBox *combo_box, + guint button, + guint32 activate_time) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + GtkTreePath *path; + gint active_item; + gint width, min_width, nat_width; + + active_item = -1; + if (gtk_tree_row_reference_valid (priv->active_row)) + { + path = gtk_tree_row_reference_get_path (priv->active_row); + active_item = gtk_tree_path_get_indices (path)[0]; + gtk_tree_path_free (path); + + if (priv->add_tearoffs) + active_item++; + } + + /* FIXME handle nested menus better */ + gtk_menu_set_active (GTK_MENU (priv->popup_widget), active_item); + + if (priv->wrap_width == 0) + { + GtkAllocation allocation; + + gtk_widget_get_allocation (GTK_WIDGET (combo_box), &allocation); + width = allocation.width; + gtk_widget_set_size_request (priv->popup_widget, -1, -1); + gtk_widget_get_preferred_width (priv->popup_widget, &min_width, &nat_width); + + if (combo_box->priv->popup_fixed_width) + width = MAX (width, min_width); + else + width = MAX (width, nat_width); + + gtk_widget_set_size_request (priv->popup_widget, width, -1); + } + + gtk_menu_popup (GTK_MENU (priv->popup_widget), + NULL, NULL, + gtk_combo_box_menu_position, combo_box, + button, activate_time); +} + +static gboolean +popup_grab_on_window (GdkWindow *window, + GdkDevice *keyboard, + GdkDevice *pointer, + guint32 activate_time) +{ + if (keyboard && + gdk_device_grab (keyboard, window, + GDK_OWNERSHIP_WINDOW, TRUE, + GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, + NULL, activate_time) != GDK_GRAB_SUCCESS) + return FALSE; + + if (pointer && + gdk_device_grab (pointer, window, + GDK_OWNERSHIP_WINDOW, TRUE, + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | + GDK_POINTER_MOTION_MASK, + NULL, activate_time) != GDK_GRAB_SUCCESS) + { + if (keyboard) + gdk_device_ungrab (keyboard, activate_time); + + return FALSE; + } + + return TRUE; +} + +static void +gtk_combo_box_unset_model (GtkComboBox *combo_box) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + + if (priv->model) + { + g_signal_handler_disconnect (priv->model, + priv->inserted_id); + g_signal_handler_disconnect (priv->model, + priv->deleted_id); + + g_object_unref (priv->model); + priv->model = NULL; + } + + if (priv->active_row) + { + gtk_tree_row_reference_free (priv->active_row); + priv->active_row = NULL; + } + + if (priv->cell_view) + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), NULL); +} + +static void +gtk_combo_box_child_show (GtkWidget *widget, + GtkComboBox *combo_box) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + + priv->popup_shown = TRUE; + g_object_notify (G_OBJECT (combo_box), "popup-shown"); +} + +static void +gtk_combo_box_child_hide (GtkWidget *widget, + GtkComboBox *combo_box) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + + priv->popup_shown = FALSE; + g_object_notify (G_OBJECT (combo_box), "popup-shown"); +} + /* * menu style */ -static void -gtk_combo_box_sync_cells (GtkComboBox *combo_box, - GtkCellLayout *cell_layout) +static gboolean +gtk_combo_box_row_separator_func (GtkTreeModel *model, + GtkTreeIter *iter, + GtkComboBox *combo) { - GtkComboBoxPrivate *priv = combo_box->priv; - GSList *k; + GtkComboBoxPrivate *priv = combo->priv; - for (k = priv->cells; k; k = k->next) - { - GSList *j; - ComboCellInfo *info = (ComboCellInfo *)k->data; + if (priv->row_separator_func) + return priv->row_separator_func (model, iter, priv->row_separator_data); - if (info->pack == GTK_PACK_START) - gtk_cell_layout_pack_start (cell_layout, - info->cell, info->expand); - else if (info->pack == GTK_PACK_END) - gtk_cell_layout_pack_end (cell_layout, - info->cell, info->expand); + return FALSE; +} - gtk_cell_layout_set_cell_data_func (cell_layout, - info->cell, - combo_cell_data_func, info, NULL); +static gboolean +gtk_combo_box_header_func (GtkTreeModel *model, + GtkTreeIter *iter, + GtkComboBox *combo) +{ + /* Every submenu has a selectable header, however we + * can expose a method to make that configurable by + * the user (like row_separator_func is done) */ + return TRUE; +} - for (j = info->attributes; j; j = j->next->next) - { - gtk_cell_layout_add_attribute (cell_layout, - info->cell, - j->data, - GPOINTER_TO_INT (j->next->data)); - } - } +static void +gtk_combo_box_menu_activate (GtkWidget *menu, + const gchar *path, + GtkComboBox *combo_box) +{ + GtkTreeIter iter; + + if (gtk_tree_model_get_iter_from_string (combo_box->priv->model, &iter, path)) + gtk_combo_box_set_active_iter (combo_box, &iter); + + g_object_set (combo_box, + "editing-canceled", FALSE, + NULL); } static void @@ -3148,158 +3308,39 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, g_signal_connect (priv->button, "button-press-event", G_CALLBACK (gtk_combo_box_menu_button_press), combo_box); - g_signal_connect (priv->button, "state-flags-changed", - G_CALLBACK (gtk_combo_box_button_state_flags_changed), + g_signal_connect (priv->button, "state-changed", + G_CALLBACK (gtk_combo_box_button_state_changed), combo_box); /* create our funky menu */ - menu = gtk_menu_new (); + menu = gtk_tree_menu_new_with_area (priv->area); + gtk_tree_menu_set_model (GTK_TREE_MENU (menu), priv->model); + + gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (menu), priv->wrap_width); + gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (menu), priv->row_column); + gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (menu), priv->col_column); + gtk_tree_menu_set_tearoff (GTK_TREE_MENU (menu), + combo_box->priv->add_tearoffs); + + g_signal_connect (menu, "menu-activate", + G_CALLBACK (gtk_combo_box_menu_activate), combo_box); + + /* Chain our row_separator_func through */ + gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (menu), + (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, + combo_box, NULL); + + gtk_tree_menu_set_header_func (GTK_TREE_MENU (menu), + (GtkTreeMenuHeaderFunc)gtk_combo_box_header_func, + combo_box, NULL); + gtk_widget_set_name (menu, "gtk-combobox-popup-menu"); - gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE); g_signal_connect (menu, "key-press-event", G_CALLBACK (gtk_combo_box_menu_key_press), combo_box); gtk_combo_box_set_popup_widget (combo_box, menu); - /* add items */ - if (add_children) - gtk_combo_box_menu_fill (combo_box); - - /* the column is needed in tree_column_row_is_sensitive() */ - priv->column = gtk_tree_view_column_new (); - g_object_ref_sink (priv->column); - gtk_combo_box_sync_cells (combo_box, GTK_CELL_LAYOUT (priv->column)); - gtk_combo_box_update_title (combo_box); - gtk_combo_box_update_sensitivity (combo_box); -} - -static void -gtk_combo_box_menu_fill (GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *menu; - - if (!priv->model) - return; - - menu = priv->popup_widget; - - if (priv->add_tearoffs) - { - GtkWidget *tearoff = gtk_tearoff_menu_item_new (); - - gtk_widget_show (tearoff); - - if (priv->wrap_width) - gtk_menu_attach (GTK_MENU (menu), tearoff, 0, priv->wrap_width, 0, 1); - else - gtk_menu_shell_append (GTK_MENU_SHELL (menu), tearoff); - } - - gtk_combo_box_menu_fill_level (combo_box, menu, NULL); -} - -static GtkWidget * -gtk_cell_view_menu_item_new (GtkComboBox *combo_box, - GtkTreeModel *model, - GtkTreeIter *iter) -{ - GtkWidget *cell_view; - GtkWidget *item; - GtkTreePath *path; - GtkRequisition req; - - cell_view = gtk_cell_view_new (); - item = gtk_menu_item_new (); - gtk_container_add (GTK_CONTAINER (item), cell_view); - - gtk_cell_view_set_model (GTK_CELL_VIEW (cell_view), model); - path = gtk_tree_model_get_path (model, iter); - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (cell_view), path); - gtk_tree_path_free (path); - - gtk_combo_box_sync_cells (combo_box, GTK_CELL_LAYOUT (cell_view)); - gtk_widget_get_preferred_size (cell_view, &req, NULL); - gtk_widget_show (cell_view); - - return item; -} - -static void -gtk_combo_box_menu_fill_level (GtkComboBox *combo_box, - GtkWidget *menu, - GtkTreeIter *parent) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreeModel *model = priv->model; - GtkWidget *item, *submenu, *subitem, *separator; - GtkTreeIter iter; - gboolean is_separator; - gint i, n_children; - GtkWidget *last; - GtkTreePath *path; - - n_children = gtk_tree_model_iter_n_children (model, parent); - - last = NULL; - for (i = 0; i < n_children; i++) - { - gtk_tree_model_iter_nth_child (model, &iter, parent, i); - - if (priv->row_separator_func) - is_separator = priv->row_separator_func (priv->model, &iter, - priv->row_separator_data); - else - is_separator = FALSE; - - if (is_separator) - { - item = gtk_separator_menu_item_new (); - path = gtk_tree_model_get_path (model, &iter); - g_object_set_data_full (G_OBJECT (item), - I_("gtk-combo-box-item-path"), - gtk_tree_row_reference_new (model, path), - (GDestroyNotify)gtk_tree_row_reference_free); - gtk_tree_path_free (path); - } - else - { - item = gtk_cell_view_menu_item_new (combo_box, model, &iter); - if (gtk_tree_model_iter_has_child (model, &iter)) - { - submenu = gtk_menu_new (); - gtk_menu_set_reserve_toggle_size (GTK_MENU (submenu), FALSE); - gtk_widget_show (submenu); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); - - /* Ugly - since menus can only activate leafs, we have to - * duplicate the item inside the submenu. - */ - subitem = gtk_cell_view_menu_item_new (combo_box, model, &iter); - separator = gtk_separator_menu_item_new (); - gtk_widget_show (subitem); - gtk_widget_show (separator); - g_signal_connect (subitem, "activate", - G_CALLBACK (gtk_combo_box_menu_item_activate), - combo_box); - gtk_menu_shell_append (GTK_MENU_SHELL (submenu), subitem); - gtk_menu_shell_append (GTK_MENU_SHELL (submenu), separator); - - gtk_combo_box_menu_fill_level (combo_box, submenu, &iter); - } - g_signal_connect (item, "activate", - G_CALLBACK (gtk_combo_box_menu_item_activate), - combo_box); - } - - gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); - if (priv->wrap_width && menu == priv->popup_widget) - gtk_combo_box_relayout_item (combo_box, item, &iter, last); - gtk_widget_show (item); - - last = item; - } } static void @@ -3314,140 +3355,25 @@ gtk_combo_box_menu_destroy (GtkComboBox *combo_box) g_signal_handlers_disconnect_matched (priv->button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, - gtk_combo_box_button_state_flags_changed, combo_box); + gtk_combo_box_button_state_changed, combo_box); + g_signal_handlers_disconnect_matched (priv->popup_widget, + G_SIGNAL_MATCH_DATA, + 0, 0, NULL, + gtk_combo_box_menu_activate, combo_box); /* unparent will remove our latest ref */ gtk_widget_unparent (priv->button); - + priv->box = NULL; priv->button = NULL; priv->arrow = NULL; priv->separator = NULL; - g_object_unref (priv->column); priv->column = NULL; /* changing the popup window will unref the menu and the children */ } -/* - * grid - */ - -static gboolean -menu_occupied (GtkMenu *menu, - guint left_attach, - guint right_attach, - guint top_attach, - guint bottom_attach) -{ - GList *i; - - for (i = GTK_MENU_SHELL (menu)->priv->children; i; i = i->next) - { - guint l, r, b, t; - - gtk_container_child_get (GTK_CONTAINER (menu), - i->data, - "left-attach", &l, - "right-attach", &r, - "bottom-attach", &b, - "top-attach", &t, - NULL); - - /* look if this item intersects with the given coordinates */ - if (right_attach > l && left_attach < r && bottom_attach > t && top_attach < b) - return TRUE; - } - - return FALSE; -} - -static void -gtk_combo_box_relayout_item (GtkComboBox *combo_box, - GtkWidget *item, - GtkTreeIter *iter, - GtkWidget *last) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - gint current_col = 0, current_row = 0; - gint rows = 1, cols = 1; - GtkWidget *menu = priv->popup_widget; - - if (!GTK_IS_MENU_SHELL (menu)) - return; - - if (priv->col_column == -1 && - priv->row_column == -1 && - last) - { - gtk_container_child_get (GTK_CONTAINER (menu), - last, - "right-attach", ¤t_col, - "top-attach", ¤t_row, - NULL); - if (current_col + cols > priv->wrap_width) - { - current_col = 0; - current_row++; - } - } - else - { - if (priv->col_column != -1) - gtk_tree_model_get (priv->model, iter, - priv->col_column, &cols, - -1); - if (priv->row_column != -1) - gtk_tree_model_get (priv->model, iter, - priv->row_column, &rows, - -1); - - while (1) - { - if (current_col + cols > priv->wrap_width) - { - current_col = 0; - current_row++; - } - - if (!menu_occupied (GTK_MENU (menu), - current_col, current_col + cols, - current_row, current_row + rows)) - break; - - current_col++; - } - } - - /* set attach props */ - gtk_menu_attach (GTK_MENU (menu), item, - current_col, current_col + cols, - current_row, current_row + rows); -} - -static void -gtk_combo_box_relayout (GtkComboBox *combo_box) -{ - GList *list, *j; - GtkWidget *menu; - - menu = combo_box->priv->popup_widget; - - /* do nothing unless we are in menu style and realized */ - if (combo_box->priv->tree_view || !GTK_IS_MENU_SHELL (menu)) - return; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - - for (j = g_list_last (list); j; j = j->prev) - gtk_container_remove (GTK_CONTAINER (menu), j->data); - - gtk_combo_box_menu_fill (combo_box); - - g_list_free (list); -} - /* callbacks */ static gboolean gtk_combo_box_menu_button_press (GtkWidget *widget, @@ -3472,34 +3398,6 @@ gtk_combo_box_menu_button_press (GtkWidget *widget, return FALSE; } -static void -gtk_combo_box_menu_item_activate (GtkWidget *item, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkWidget *cell_view; - GtkTreePath *path; - GtkTreeIter iter; - - cell_view = gtk_bin_get_child (GTK_BIN (item)); - - g_return_if_fail (GTK_IS_CELL_VIEW (cell_view)); - - path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (cell_view)); - - if (gtk_tree_model_get_iter (combo_box->priv->model, &iter, path)) - { - if (gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)) == NULL) - gtk_combo_box_set_active_iter (combo_box, &iter); - } - - gtk_tree_path_free (path); - - g_object_set (combo_box, - "editing-canceled", FALSE, - NULL); -} - static void gtk_combo_box_update_sensitivity (GtkComboBox *combo_box) { @@ -3534,86 +3432,6 @@ gtk_combo_box_update_sensitivity (GtkComboBox *combo_box) gtk_widget_set_sensitive (combo_box->priv->box, sensitive); } -static void -gtk_combo_box_model_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - - if (combo_box->priv->tree_view) - gtk_combo_box_list_popup_resize (combo_box); - else - gtk_combo_box_menu_row_inserted (model, path, iter, user_data); - - gtk_combo_box_update_sensitivity (combo_box); -} - -static void -gtk_combo_box_model_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (!gtk_tree_row_reference_valid (priv->active_row)) - { - if (priv->cell_view) - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL); - g_signal_emit (combo_box, combo_box_signals[CHANGED], 0); - } - - if (priv->tree_view) - gtk_combo_box_list_popup_resize (combo_box); - else - gtk_combo_box_menu_row_deleted (model, path, user_data); - - gtk_combo_box_update_sensitivity (combo_box); -} - -static void -gtk_combo_box_model_rows_reordered (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - - gtk_tree_row_reference_reordered (G_OBJECT (user_data), path, iter, new_order); - - if (!combo_box->priv->tree_view) - gtk_combo_box_menu_rows_reordered (model, path, iter, new_order, user_data); -} - -static void -gtk_combo_box_model_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreePath *active_path; - - /* FIXME this belongs to GtkCellView */ - if (gtk_tree_row_reference_valid (priv->active_row)) - { - active_path = gtk_tree_row_reference_get_path (priv->active_row); - if (gtk_tree_path_compare (path, active_path) == 0 && - priv->cell_view) - gtk_widget_queue_resize (GTK_WIDGET (priv->cell_view)); - gtk_tree_path_free (active_path); - } - - if (priv->tree_view) - gtk_combo_box_list_row_changed (model, path, iter, user_data); - else - gtk_combo_box_menu_row_changed (model, path, iter, user_data); -} - static gboolean list_popup_resize_idle (gpointer user_data) { @@ -3655,302 +3473,6 @@ gtk_combo_box_model_row_expanded (GtkTreeModel *model, gtk_combo_box_list_popup_resize (combo_box); } - -static GtkWidget * -find_menu_by_path (GtkWidget *menu, - GtkTreePath *path, - gboolean skip_first) -{ - GList *i, *list; - GtkWidget *child; - GtkWidget *item; - GtkWidget *submenu; - GtkTreeRowReference *mref; - GtkTreePath *mpath; - gboolean skip; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - skip = skip_first; - item = NULL; - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (i->data); - if (GTK_IS_SEPARATOR_MENU_ITEM (i->data)) - { - mref = g_object_get_data (G_OBJECT (i->data), "gtk-combo-box-item-path"); - if (!mref) - continue; - else if (!gtk_tree_row_reference_valid (mref)) - mpath = NULL; - else - mpath = gtk_tree_row_reference_get_path (mref); - } - else if (GTK_IS_CELL_VIEW (child)) - { - if (skip) - { - skip = FALSE; - continue; - } - - mpath = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (child)); - } - else - continue; - - /* this case is necessary, since the row reference of - * the cell view may already be updated after a deletion - */ - if (!mpath) - { - item = i->data; - break; - } - if (gtk_tree_path_compare (mpath, path) == 0) - { - gtk_tree_path_free (mpath); - item = i->data; - break; - } - if (gtk_tree_path_is_ancestor (mpath, path)) - { - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - { - gtk_tree_path_free (mpath); - item = find_menu_by_path (submenu, path, TRUE); - break; - } - } - gtk_tree_path_free (mpath); - } - - g_list_free (list); - - return item; -} - -#if 0 -static void -dump_menu_tree (GtkWidget *menu, - gint level) -{ - GList *i, *list; - GtkWidget *submenu; - GtkTreePath *path; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - if (GTK_IS_CELL_VIEW (GTK_BIN (i->data)->child)) - { - path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (GTK_BIN (i->data)->child)); - g_print ("%*s%s\n", 2 * level, " ", gtk_tree_path_to_string (path)); - gtk_tree_path_free (path); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - dump_menu_tree (submenu, level + 1); - } - } - - g_list_free (list); -} -#endif - -static void -gtk_combo_box_menu_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *parent; - GtkWidget *item, *menu, *separator; - GtkTreePath *ppath; - GtkTreeIter piter; - gint depth, pos; - gboolean is_separator; - - if (!priv->popup_widget) - return; - - depth = gtk_tree_path_get_depth (path); - pos = gtk_tree_path_get_indices (path)[depth - 1]; - if (depth > 1) - { - ppath = gtk_tree_path_copy (path); - gtk_tree_path_up (ppath); - parent = find_menu_by_path (priv->popup_widget, ppath, FALSE); - gtk_tree_path_free (ppath); - - menu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (parent)); - if (!menu) - { - menu = gtk_menu_new (); - gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE); - gtk_widget_show (menu); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (parent), menu); - - /* Ugly - since menus can only activate leaves, we have to - * duplicate the item inside the submenu. - */ - gtk_tree_model_iter_parent (model, &piter, iter); - item = gtk_cell_view_menu_item_new (combo_box, model, &piter); - separator = gtk_separator_menu_item_new (); - g_signal_connect (item, "activate", - G_CALLBACK (gtk_combo_box_menu_item_activate), - combo_box); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), separator); - if (cell_view_is_sensitive (GTK_CELL_VIEW (gtk_bin_get_child (GTK_BIN (item))))) - { - gtk_widget_show (item); - gtk_widget_show (separator); - } - } - pos += 2; - } - else - { - menu = priv->popup_widget; - if (priv->add_tearoffs) - pos += 1; - } - - if (priv->row_separator_func) - is_separator = priv->row_separator_func (model, iter, - priv->row_separator_data); - else - is_separator = FALSE; - - if (is_separator) - { - item = gtk_separator_menu_item_new (); - g_object_set_data_full (G_OBJECT (item), - I_("gtk-combo-box-item-path"), - gtk_tree_row_reference_new (model, path), - (GDestroyNotify)gtk_tree_row_reference_free); - } - else - { - item = gtk_cell_view_menu_item_new (combo_box, model, iter); - - g_signal_connect (item, "activate", - G_CALLBACK (gtk_combo_box_menu_item_activate), - combo_box); - } - - gtk_widget_show (item); - gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, pos); -} - -static void -gtk_combo_box_menu_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *menu; - GtkWidget *item; - - if (!priv->popup_widget) - return; - - item = find_menu_by_path (priv->popup_widget, path, FALSE); - menu = gtk_widget_get_parent (item); - gtk_container_remove (GTK_CONTAINER (menu), item); - - if (gtk_tree_path_get_depth (path) > 1) - { - GtkTreePath *parent_path; - GtkTreeIter iter; - GtkWidget *parent; - - parent_path = gtk_tree_path_copy (path); - gtk_tree_path_up (parent_path); - gtk_tree_model_get_iter (model, &iter, parent_path); - - if (!gtk_tree_model_iter_has_child (model, &iter)) - { - parent = find_menu_by_path (priv->popup_widget, - parent_path, FALSE); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (parent), NULL); - } - } -} - -static void -gtk_combo_box_menu_rows_reordered (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - - gtk_combo_box_relayout (combo_box); -} - -static void -gtk_combo_box_menu_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *item; - gboolean is_separator; - - if (!priv->popup_widget) - return; - - item = find_menu_by_path (priv->popup_widget, path, FALSE); - - if (priv->row_separator_func) - is_separator = priv->row_separator_func (model, iter, - priv->row_separator_data); - else - is_separator = FALSE; - - if (is_separator != GTK_IS_SEPARATOR_MENU_ITEM (item)) - { - gtk_combo_box_menu_row_deleted (model, path, combo_box); - gtk_combo_box_menu_row_inserted (model, path, iter, combo_box); - } - - if (priv->wrap_width && - gtk_widget_get_parent (item) == priv->popup_widget) - { - GtkWidget *pitem = NULL; - GtkTreePath *prev; - - prev = gtk_tree_path_copy (path); - - if (gtk_tree_path_prev (prev)) - pitem = find_menu_by_path (priv->popup_widget, prev, FALSE); - - gtk_tree_path_free (prev); - - /* unattach item so gtk_combo_box_relayout_item() won't spuriously - move it */ - gtk_container_child_set (GTK_CONTAINER (priv->popup_widget), - item, - "left-attach", -1, - "right-attach", -1, - "top-attach", -1, - "bottom-attach", -1, - NULL); - - gtk_combo_box_relayout_item (combo_box, item, iter, pitem); - } - - gtk_combo_box_update_requested_width (combo_box, path); -} - /* * list style */ @@ -4030,21 +3552,16 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box) FALSE); gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (priv->tree_view), TRUE); - if (priv->row_separator_func) - gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (priv->tree_view), - priv->row_separator_func, - priv->row_separator_data, - NULL); + + gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (priv->tree_view), + (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, + combo_box, NULL); if (priv->model) gtk_tree_view_set_model (GTK_TREE_VIEW (priv->tree_view), priv->model); priv->column = gtk_tree_view_column_new (); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->tree_view), priv->column); - /* sync up */ - gtk_combo_box_sync_cells (combo_box, - GTK_CELL_LAYOUT (priv->column)); - if (gtk_tree_row_reference_valid (priv->active_row)) { GtkTreePath *path; @@ -4461,472 +3978,221 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection, return sensitive; } + +/* + * GtkCellEditable implementation + */ + static void -gtk_combo_box_list_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) +gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface) +{ + iface->start_editing = gtk_combo_box_start_editing; +} + +static gboolean +gtk_cell_editable_key_press (GtkWidget *widget, + GdkEventKey *event, + gpointer data) { GtkComboBox *combo_box = GTK_COMBO_BOX (data); - gtk_combo_box_update_requested_width (combo_box, path); + if (event->keyval == GDK_KEY_Escape) + { + g_object_set (combo_box, + "editing-canceled", TRUE, + NULL); + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + + return TRUE; + } + else if (event->keyval == GDK_KEY_Return || + event->keyval == GDK_KEY_ISO_Enter || + event->keyval == GDK_KEY_KP_Enter) + { + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + + return TRUE; + } + + return FALSE; } +static gboolean +popdown_idle (gpointer data) +{ + GtkComboBox *combo_box; + + combo_box = GTK_COMBO_BOX (data); + + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + + g_object_unref (combo_box); + + return FALSE; +} + +static void +popdown_handler (GtkWidget *widget, + gpointer data) +{ + gdk_threads_add_idle (popdown_idle, g_object_ref (data)); +} + +static gboolean +popup_idle (gpointer data) +{ + GtkComboBox *combo_box; + + combo_box = GTK_COMBO_BOX (data); + + if (GTK_IS_MENU (combo_box->priv->popup_widget) && + combo_box->priv->cell_view) + g_signal_connect_object (combo_box->priv->popup_widget, + "unmap", G_CALLBACK (popdown_handler), + combo_box, 0); + + /* we unset this if a menu item is activated */ + g_object_set (combo_box, + "editing-canceled", TRUE, + NULL); + gtk_combo_box_popup (combo_box); + + combo_box->priv->popup_idle_id = 0; + combo_box->priv->activate_button = 0; + combo_box->priv->activate_time = 0; + + return FALSE; +} + +static void +gtk_combo_box_start_editing (GtkCellEditable *cell_editable, + GdkEvent *event) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (cell_editable); + GtkWidget *child; + + combo_box->priv->is_cell_renderer = TRUE; + + if (combo_box->priv->cell_view) + { + g_signal_connect_object (combo_box->priv->button, "key-press-event", + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); + + gtk_widget_grab_focus (combo_box->priv->button); + } + else + { + child = gtk_bin_get_child (GTK_BIN (combo_box)); + + g_signal_connect_object (child, "key-press-event", + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); + + gtk_widget_grab_focus (child); + gtk_widget_set_can_focus (combo_box->priv->button, FALSE); + } + + /* we do the immediate popup only for the optionmenu-like + * appearance + */ + if (combo_box->priv->is_cell_renderer && + combo_box->priv->cell_view && !combo_box->priv->tree_view) + { + if (event && event->type == GDK_BUTTON_PRESS) + { + GdkEventButton *event_button = (GdkEventButton *)event; + + combo_box->priv->activate_button = event_button->button; + combo_box->priv->activate_time = event_button->time; + } + + combo_box->priv->popup_idle_id = + gdk_threads_add_idle (popup_idle, combo_box); + } +} + + /* * GtkCellLayout implementation */ static void -pack_start_recurse (GtkWidget *menu, - GtkCellRenderer *cell, - gboolean expand) +gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface) { - GList *i, *list; - GtkWidget *child; - GtkWidget *submenu; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (child)) - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (child), - cell, expand); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - pack_start_recurse (submenu, cell, expand); - } - - g_list_free (list); + iface->get_area = gtk_combo_box_cell_layout_get_area; } -static void -gtk_combo_box_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand) +static GtkCellArea * +gtk_combo_box_cell_layout_get_area (GtkCellLayout *layout) { GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - ComboCellInfo *info; GtkComboBoxPrivate *priv; priv = combo_box->priv; - g_object_ref_sink (cell); + return priv->area; +} - info = g_slice_new0 (ComboCellInfo); - info->cell = cell; - info->expand = expand; - info->pack = GTK_PACK_START; +/* + * GtkBuildable implementation + */ - priv->cells = g_slist_append (priv->cells, info); +static void +gtk_combo_box_buildable_init (GtkBuildableIface *iface) +{ + parent_buildable_iface = g_type_interface_peek_parent (iface); + iface->add_child = _gtk_cell_layout_buildable_add_child; + iface->custom_tag_start = gtk_combo_box_buildable_custom_tag_start; + iface->custom_tag_end = gtk_combo_box_buildable_custom_tag_end; + iface->get_internal_child = gtk_combo_box_buildable_get_internal_child; +} - if (priv->cell_view) - { - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->cell_view), - cell, expand); +static gboolean +gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data) +{ + if (parent_buildable_iface->custom_tag_start (buildable, builder, child, + tagname, parser, data)) + return TRUE; - } - - if (priv->column) - gtk_tree_view_column_pack_start (priv->column, cell, expand); - - if (GTK_IS_MENU (priv->popup_widget)) - pack_start_recurse (priv->popup_widget, cell, expand); + return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, + tagname, parser, data); } static void -pack_end_recurse (GtkWidget *menu, - GtkCellRenderer *cell, - gboolean expand) +gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) { - GList *i, *list; - GtkWidget *child; - GtkWidget *submenu; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (child)) - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (child), - cell, expand); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - pack_end_recurse (submenu, cell, expand); - } - - g_list_free (list); -} - -static void -gtk_combo_box_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *cell, - gboolean expand) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - ComboCellInfo *info; - GtkComboBoxPrivate *priv; - - priv = combo_box->priv; - - g_object_ref_sink (cell); - - info = g_slice_new0 (ComboCellInfo); - info->cell = cell; - info->expand = expand; - info->pack = GTK_PACK_END; - - priv->cells = g_slist_append (priv->cells, info); - - if (priv->cell_view) - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (priv->cell_view), - cell, expand); - - if (priv->column) - gtk_tree_view_column_pack_end (priv->column, cell, expand); - - if (GTK_IS_MENU (priv->popup_widget)) - pack_end_recurse (priv->popup_widget, cell, expand); -} - -static GList * -gtk_combo_box_cell_layout_get_cells (GtkCellLayout *layout) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - GSList *list; - GList *retval = NULL; - - for (list = combo_box->priv->cells; list; list = list->next) - { - ComboCellInfo *info = (ComboCellInfo *)list->data; - - retval = g_list_prepend (retval, info->cell); - } - - return g_list_reverse (retval); -} - -static void -clear_recurse (GtkWidget *menu) -{ - GList *i, *list; - GtkWidget *child; - GtkWidget *submenu; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (child)) - gtk_cell_layout_clear (GTK_CELL_LAYOUT (child)); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - clear_recurse (submenu); - } - - g_list_free (list); -} - -static void -gtk_combo_box_cell_layout_clear (GtkCellLayout *layout) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - GtkComboBoxPrivate *priv = combo_box->priv; - GSList *i; - - if (priv->cell_view) - gtk_cell_layout_clear (GTK_CELL_LAYOUT (priv->cell_view)); - - if (priv->column) - gtk_tree_view_column_clear (priv->column); - - for (i = priv->cells; i; i = i->next) - { - ComboCellInfo *info = (ComboCellInfo *)i->data; - - gtk_combo_box_cell_layout_clear_attributes (layout, info->cell); - g_object_unref (info->cell); - g_slice_free (ComboCellInfo, info); - i->data = NULL; - } - g_slist_free (priv->cells); - priv->cells = NULL; - - if (GTK_IS_MENU (priv->popup_widget)) - clear_recurse (priv->popup_widget); -} - -static void -add_attribute_recurse (GtkWidget *menu, - GtkCellRenderer *cell, - const gchar *attribute, - gint column) -{ - GList *i, *list; - GtkWidget *child; - GtkWidget *submenu; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (child)) - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (child), - cell, attribute, column); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - add_attribute_recurse (submenu, cell, attribute, column); - } - - g_list_free (list); -} - -static void -gtk_combo_box_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *cell, - const gchar *attribute, - gint column) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - ComboCellInfo *info; - - info = gtk_combo_box_get_cell_info (combo_box, cell); - g_return_if_fail (info != NULL); - - info->attributes = g_slist_prepend (info->attributes, - GINT_TO_POINTER (column)); - info->attributes = g_slist_prepend (info->attributes, - g_strdup (attribute)); - - if (combo_box->priv->cell_view) - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo_box->priv->cell_view), - cell, attribute, column); - - if (combo_box->priv->column) - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo_box->priv->column), - cell, attribute, column); - - if (GTK_IS_MENU (combo_box->priv->popup_widget)) - add_attribute_recurse (combo_box->priv->popup_widget, cell, attribute, column); - gtk_widget_queue_resize (GTK_WIDGET (combo_box)); -} - -static void -combo_cell_data_func (GtkCellLayout *cell_layout, - GtkCellRenderer *cell, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gpointer data) -{ - ComboCellInfo *info = (ComboCellInfo *)data; - GtkWidget *parent = NULL; - - if (!info->func) + if (_gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, + data)) return; - - info->func (cell_layout, cell, tree_model, iter, info->func_data); - - if (GTK_IS_WIDGET (cell_layout)) - parent = gtk_widget_get_parent (GTK_WIDGET (cell_layout)); - - if (GTK_IS_MENU_ITEM (parent) && - gtk_menu_item_get_submenu (GTK_MENU_ITEM (parent))) - g_object_set (cell, "sensitive", TRUE, NULL); + else + parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, + data); } - -static void -set_cell_data_func_recurse (GtkWidget *menu, - GtkCellRenderer *cell, - ComboCellInfo *info) +static GObject * +gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, + GtkBuilder *builder, + const gchar *childname) { - GList *i, *list; - GtkWidget *submenu; - GtkWidget *cell_view; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - cell_view = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (cell_view)) - { - /* Override sensitivity for inner nodes; we don't - * want menuitems with submenus to appear insensitive - */ - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (cell_view), - cell, - combo_cell_data_func, - info, NULL); - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - set_cell_data_func_recurse (submenu, cell, info); - } - } + GtkComboBox *combo_box = GTK_COMBO_BOX (buildable); - g_list_free (list); -} + if (combo_box->priv->has_entry && strcmp (childname, "entry") == 0) + return G_OBJECT (gtk_bin_get_child (GTK_BIN (buildable))); -static void -gtk_combo_box_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - GtkComboBoxPrivate *priv = combo_box->priv; - ComboCellInfo *info; - - info = gtk_combo_box_get_cell_info (combo_box, cell); - g_return_if_fail (info != NULL); - - if (info->destroy) - { - GDestroyNotify d = info->destroy; - - info->destroy = NULL; - d (info->func_data); - } - - info->func = func; - info->func_data = func_data; - info->destroy = destroy; - - if (priv->cell_view) - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->cell_view), cell, func, func_data, NULL); - - if (priv->column) - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->column), cell, func, func_data, NULL); - - if (GTK_IS_MENU (priv->popup_widget)) - set_cell_data_func_recurse (priv->popup_widget, cell, info); - - gtk_widget_queue_resize (GTK_WIDGET (combo_box)); -} - -static void -clear_attributes_recurse (GtkWidget *menu, - GtkCellRenderer *cell) -{ - GList *i, *list; - GtkWidget *submenu; - GtkWidget *child; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (child)) - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (child), cell); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - clear_attributes_recurse (submenu, cell); - } - - g_list_free (list); -} - -static void -gtk_combo_box_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *cell) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - GtkComboBoxPrivate *priv; - ComboCellInfo *info; - GSList *list; - - priv = combo_box->priv; - - info = gtk_combo_box_get_cell_info (combo_box, cell); - g_return_if_fail (info != NULL); - - list = info->attributes; - while (list && list->next) - { - g_free (list->data); - list = list->next->next; - } - g_slist_free (info->attributes); - info->attributes = NULL; - - if (priv->cell_view) - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (priv->cell_view), cell); - - if (priv->column) - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (priv->column), cell); - - if (GTK_IS_MENU (priv->popup_widget)) - clear_attributes_recurse (priv->popup_widget, cell); - - gtk_widget_queue_resize (GTK_WIDGET (combo_box)); -} - -static void -reorder_recurse (GtkWidget *menu, - GtkCellRenderer *cell, - gint position) -{ - GList *i, *list; - GtkWidget *child; - GtkWidget *submenu; - - list = gtk_container_get_children (GTK_CONTAINER (menu)); - for (i = list; i; i = i->next) - { - child = gtk_bin_get_child (GTK_BIN (i->data)); - if (GTK_IS_CELL_LAYOUT (child)) - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (child), - cell, position); - - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (i->data)); - if (submenu != NULL) - reorder_recurse (submenu, cell, position); - } - - g_list_free (list); -} - -static void -gtk_combo_box_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - GtkComboBoxPrivate *priv; - ComboCellInfo *info; - GSList *link; - - priv = combo_box->priv; - - info = gtk_combo_box_get_cell_info (combo_box, cell); - - g_return_if_fail (info != NULL); - g_return_if_fail (position >= 0); - - link = g_slist_find (priv->cells, info); - - g_return_if_fail (link != NULL); - - priv->cells = g_slist_delete_link (priv->cells, link); - priv->cells = g_slist_insert (priv->cells, info, position); - - if (priv->cell_view) - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (priv->cell_view), - cell, position); - - if (priv->column) - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (priv->column), - cell, position); - - if (GTK_IS_MENU (priv->popup_widget)) - reorder_recurse (priv->popup_widget, cell, position); - - gtk_widget_queue_draw (GTK_WIDGET (combo_box)); + return parent_buildable_iface->get_internal_child (buildable, builder, childname); } /* @@ -5048,7 +4314,9 @@ gtk_combo_box_set_wrap_width (GtkComboBox *combo_box, priv->wrap_width = width; gtk_combo_box_check_appearance (combo_box); - gtk_combo_box_relayout (combo_box); + + if (GTK_IS_TREE_MENU (priv->popup_widget)) + gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (priv->popup_widget), priv->wrap_width); g_object_notify (G_OBJECT (combo_box), "wrap-width"); } @@ -5100,8 +4368,9 @@ gtk_combo_box_set_row_span_column (GtkComboBox *combo_box, if (row_span != priv->row_column) { priv->row_column = row_span; - - gtk_combo_box_relayout (combo_box); + + if (GTK_IS_TREE_MENU (priv->popup_widget)) + gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (priv->popup_widget), priv->row_column); g_object_notify (G_OBJECT (combo_box), "row-span-column"); } @@ -5153,9 +4422,10 @@ gtk_combo_box_set_column_span_column (GtkComboBox *combo_box, if (column_span != priv->col_column) { priv->col_column = column_span; - - gtk_combo_box_relayout (combo_box); + if (GTK_IS_TREE_MENU (priv->popup_widget)) + gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (priv->popup_widget), priv->col_column); + g_object_notify (G_OBJECT (combo_box), "column-span-column"); } } @@ -5406,15 +4676,7 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, g_signal_connect (combo_box->priv->model, "row-deleted", G_CALLBACK (gtk_combo_box_model_row_deleted), combo_box); - combo_box->priv->reordered_id = - g_signal_connect (combo_box->priv->model, "rows-reordered", - G_CALLBACK (gtk_combo_box_model_rows_reordered), - combo_box); - combo_box->priv->changed_id = - g_signal_connect (combo_box->priv->model, "row-changed", - G_CALLBACK (gtk_combo_box_model_row_changed), - combo_box); - + if (combo_box->priv->tree_view) { /* list mode */ @@ -5422,12 +4684,12 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, combo_box->priv->model); gtk_combo_box_list_popup_resize (combo_box); } - else + + if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) { /* menu mode */ - if (combo_box->priv->popup_widget) - gtk_combo_box_menu_fill (combo_box); - + gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), + combo_box->priv->model); } if (combo_box->priv->cell_view) @@ -5442,8 +4704,6 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, } out: - gtk_combo_box_update_sensitivity (combo_box); - g_object_notify (G_OBJECT (combo_box), "model"); } @@ -5466,151 +4726,6 @@ gtk_combo_box_get_model (GtkComboBox *combo_box) return combo_box->priv->model; } -static void -gtk_combo_box_real_move_active (GtkComboBox *combo_box, - GtkScrollType scroll) -{ - GtkTreeIter iter; - GtkTreeIter new_iter; - gboolean active_iter; - gboolean found; - - if (!combo_box->priv->model) - { - gtk_widget_error_bell (GTK_WIDGET (combo_box)); - return; - } - - active_iter = gtk_combo_box_get_active_iter (combo_box, &iter); - - switch (scroll) - { - case GTK_SCROLL_STEP_BACKWARD: - case GTK_SCROLL_STEP_UP: - case GTK_SCROLL_STEP_LEFT: - if (active_iter) - { - found = tree_prev (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - break; - } - /* else fall through */ - - case GTK_SCROLL_PAGE_FORWARD: - case GTK_SCROLL_PAGE_DOWN: - case GTK_SCROLL_PAGE_RIGHT: - case GTK_SCROLL_END: - found = tree_last (combo_box, combo_box->priv->model, &new_iter, FALSE); - break; - - case GTK_SCROLL_STEP_FORWARD: - case GTK_SCROLL_STEP_DOWN: - case GTK_SCROLL_STEP_RIGHT: - if (active_iter) - { - found = tree_next (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - break; - } - /* else fall through */ - - case GTK_SCROLL_PAGE_BACKWARD: - case GTK_SCROLL_PAGE_UP: - case GTK_SCROLL_PAGE_LEFT: - case GTK_SCROLL_START: - found = tree_first (combo_box, combo_box->priv->model, &new_iter, FALSE); - break; - - default: - return; - } - - if (found && active_iter) - { - GtkTreePath *old_path; - GtkTreePath *new_path; - - old_path = gtk_tree_model_get_path (combo_box->priv->model, &iter); - new_path = gtk_tree_model_get_path (combo_box->priv->model, &new_iter); - - if (gtk_tree_path_compare (old_path, new_path) == 0) - found = FALSE; - - gtk_tree_path_free (old_path); - gtk_tree_path_free (new_path); - } - - if (found) - { - gtk_combo_box_set_active_iter (combo_box, &new_iter); - } - else - { - gtk_widget_error_bell (GTK_WIDGET (combo_box)); - } -} - -static gboolean -gtk_combo_box_mnemonic_activate (GtkWidget *widget, - gboolean group_cycling) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - - if (combo_box->priv->has_entry) - { - GtkWidget* child; - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - if (child) - gtk_widget_grab_focus (child); - } - else - gtk_widget_grab_focus (combo_box->priv->button); - - return TRUE; -} - -static void -gtk_combo_box_grab_focus (GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - - if (combo_box->priv->has_entry) - { - GtkWidget *child; - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - if (child) - gtk_widget_grab_focus (child); - } - else - gtk_widget_grab_focus (combo_box->priv->button); -} - -static void -gtk_combo_box_destroy (GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - - if (combo_box->priv->popup_idle_id > 0) - { - g_source_remove (combo_box->priv->popup_idle_id); - combo_box->priv->popup_idle_id = 0; - } - - gtk_combo_box_popdown (combo_box); - - if (combo_box->priv->row_separator_destroy) - combo_box->priv->row_separator_destroy (combo_box->priv->row_separator_data); - - combo_box->priv->row_separator_func = NULL; - combo_box->priv->row_separator_data = NULL; - combo_box->priv->row_separator_destroy = NULL; - - GTK_WIDGET_CLASS (gtk_combo_box_parent_class)->destroy (widget); - combo_box->priv->cell_view = NULL; -} - static void gtk_combo_box_entry_contents_changed (GtkEntry *entry, gpointer user_data) @@ -5662,225 +4777,6 @@ gtk_combo_box_entry_active_changed (GtkComboBox *combo_box, } } -static GObject * -gtk_combo_box_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) -{ - GObject *object; - GtkComboBox *combo_box; - GtkComboBoxPrivate *priv; - - object = G_OBJECT_CLASS (gtk_combo_box_parent_class)->constructor - (type, n_construct_properties, construct_properties); - - combo_box = GTK_COMBO_BOX (object); - priv = combo_box->priv; - - if (priv->has_entry) - { - GtkWidget *entry; - - entry = gtk_entry_new (); - gtk_widget_show (entry); - gtk_container_add (GTK_CONTAINER (combo_box), entry); - - priv->text_renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), - priv->text_renderer, TRUE); - - gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), -1); - - g_signal_connect (combo_box, "changed", - G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); - } - - return object; -} - - -static void -gtk_combo_box_dispose(GObject* object) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (object); - - if (GTK_IS_MENU (combo_box->priv->popup_widget)) - { - gtk_combo_box_menu_destroy (combo_box); - gtk_menu_detach (GTK_MENU (combo_box->priv->popup_widget)); - combo_box->priv->popup_widget = NULL; - } - - G_OBJECT_CLASS (gtk_combo_box_parent_class)->dispose (object); -} - -static void -gtk_combo_box_finalize (GObject *object) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (object); - GSList *i; - - if (GTK_IS_TREE_VIEW (combo_box->priv->tree_view)) - gtk_combo_box_list_destroy (combo_box); - - if (combo_box->priv->popup_window) - gtk_widget_destroy (combo_box->priv->popup_window); - - gtk_combo_box_unset_model (combo_box); - - for (i = combo_box->priv->cells; i; i = i->next) - { - ComboCellInfo *info = (ComboCellInfo *)i->data; - GSList *list = info->attributes; - - if (info->destroy) - info->destroy (info->func_data); - - while (list && list->next) - { - g_free (list->data); - list = list->next->next; - } - g_slist_free (info->attributes); - - g_object_unref (info->cell); - g_slice_free (ComboCellInfo, info); - } - g_slist_free (combo_box->priv->cells); - - g_free (combo_box->priv->tearoff_title); - - G_OBJECT_CLASS (gtk_combo_box_parent_class)->finalize (object); -} - - -static gboolean -gtk_cell_editable_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (data); - - if (event->keyval == GDK_KEY_Escape) - { - g_object_set (combo_box, - "editing-canceled", TRUE, - NULL); - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - - return TRUE; - } - else if (event->keyval == GDK_KEY_Return || - event->keyval == GDK_KEY_ISO_Enter || - event->keyval == GDK_KEY_KP_Enter) - { - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - - return TRUE; - } - - return FALSE; -} - -static gboolean -popdown_idle (gpointer data) -{ - GtkComboBox *combo_box; - - combo_box = GTK_COMBO_BOX (data); - - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - - g_object_unref (combo_box); - - return FALSE; -} - -static void -popdown_handler (GtkWidget *widget, - gpointer data) -{ - gdk_threads_add_idle (popdown_idle, g_object_ref (data)); -} - -static gboolean -popup_idle (gpointer data) -{ - GtkComboBox *combo_box; - - combo_box = GTK_COMBO_BOX (data); - - if (GTK_IS_MENU (combo_box->priv->popup_widget) && - combo_box->priv->cell_view) - g_signal_connect_object (combo_box->priv->popup_widget, - "unmap", G_CALLBACK (popdown_handler), - combo_box, 0); - - /* we unset this if a menu item is activated */ - g_object_set (combo_box, - "editing-canceled", TRUE, - NULL); - gtk_combo_box_popup (combo_box); - - combo_box->priv->popup_idle_id = 0; - combo_box->priv->activate_button = 0; - combo_box->priv->activate_time = 0; - - return FALSE; -} - -static void -gtk_combo_box_start_editing (GtkCellEditable *cell_editable, - GdkEvent *event) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (cell_editable); - GtkWidget *child; - - combo_box->priv->is_cell_renderer = TRUE; - - if (combo_box->priv->cell_view) - { - g_signal_connect_object (combo_box->priv->button, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable, 0); - - gtk_widget_grab_focus (combo_box->priv->button); - } - else - { - child = gtk_bin_get_child (GTK_BIN (combo_box)); - - g_signal_connect_object (child, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable, 0); - - gtk_widget_grab_focus (child); - gtk_widget_set_can_focus (combo_box->priv->button, FALSE); - } - - /* we do the immediate popup only for the optionmenu-like - * appearance - */ - if (combo_box->priv->is_cell_renderer && - combo_box->priv->cell_view && !combo_box->priv->tree_view) - { - if (event && event->type == GDK_BUTTON_PRESS) - { - GdkEventButton *event_button = (GdkEventButton *)event; - - combo_box->priv->activate_button = event_button->button; - combo_box->priv->activate_time = event_button->time; - } - - combo_box->priv->popup_idle_id = - gdk_threads_add_idle (popup_idle, combo_box); - } -} - - /** * gtk_combo_box_get_add_tearoffs: * @combo_box: a #GtkComboBox @@ -5918,8 +4814,15 @@ gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box, if (combo_box->priv->add_tearoffs != add_tearoffs) { combo_box->priv->add_tearoffs = add_tearoffs; - gtk_combo_box_check_appearance (combo_box); - gtk_combo_box_relayout (combo_box); + + if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) + { + /* menu mode */ + gtk_tree_menu_set_tearoff (GTK_TREE_MENU (combo_box->priv->popup_widget), + combo_box->priv->add_tearoffs); + /* XXX Resize ?? */ + } + g_object_notify (G_OBJECT (combo_box), "add-tearoffs"); } } @@ -6107,11 +5010,18 @@ gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, combo_box->priv->row_separator_data = data; combo_box->priv->row_separator_destroy = destroy; + /* Provoke the underlying treeview/menu to rebuild themselves with the new separator func */ if (combo_box->priv->tree_view) - gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (combo_box->priv->tree_view), - func, data, NULL); + { + gtk_tree_view_set_model (GTK_TREE_VIEW (combo_box->priv->tree_view), NULL); + gtk_tree_view_set_model (GTK_TREE_VIEW (combo_box->priv->tree_view), combo_box->priv->model); + } - gtk_combo_box_relayout (combo_box); + if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) + { + gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), NULL); + gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), combo_box->priv->model); + } gtk_widget_queue_draw (GTK_WIDGET (combo_box)); } @@ -6295,410 +5205,166 @@ gtk_combo_box_get_focus_on_click (GtkComboBox *combo_box) } -static gboolean -gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - GMarkupParser *parser, - gpointer *data) +/** + * gtk_combo_box_popup: + * @combo_box: a #GtkComboBox + * + * Pops up the menu or dropdown list of @combo_box. + * + * This function is mostly intended for use by accessibility technologies; + * applications should have little use for it. + * + * Since: 2.4 + */ +void +gtk_combo_box_popup (GtkComboBox *combo_box) { - if (parent_buildable_iface->custom_tag_start (buildable, builder, child, - tagname, parser, data)) - return TRUE; + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, - tagname, parser, data); + g_signal_emit (combo_box, combo_box_signals[POPUP], 0); } -static void -gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data) -{ - if (strcmp (tagname, "attributes") == 0) - _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, - data); - else - parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, - data); -} - -static GObject * -gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, - GtkBuilder *builder, - const gchar *childname) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (buildable); - - if (combo_box->priv->has_entry && strcmp (childname, "entry") == 0) - return G_OBJECT (gtk_bin_get_child (GTK_BIN (buildable))); - - return parent_buildable_iface->get_internal_child (buildable, builder, childname); -} - -static void -gtk_combo_box_remeasure (GtkComboBox *combo_box) +/** + * gtk_combo_box_popup_for_device: + * @combo_box: a #GtkComboBox + * @device: a #GdkDevice + * + * Pops up the menu or dropdown list of @combo_box, the popup window + * will be grabbed so only @device and its associated pointer/keyboard + * are the only #GdkDevices able to send events to it. + * + * Since: 3.0 + **/ +void +gtk_combo_box_popup_for_device (GtkComboBox *combo_box, + GdkDevice *device) { GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreeIter iter; - GtkTreePath *path; + gint x, y, width, height; + GtkTreePath *path = NULL, *ppath; + GtkWidget *toplevel; + GdkDevice *keyboard, *pointer; + guint32 time; - if (!priv->model || - !gtk_tree_model_get_iter_first (priv->model, &iter)) + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); + g_return_if_fail (GDK_IS_DEVICE (device)); + + if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) return; - priv->minimum_width = priv->natural_width = 0; + if (gtk_widget_get_mapped (priv->popup_widget)) + return; - path = gtk_tree_path_new_from_indices (0, -1); + if (priv->grab_pointer && priv->grab_keyboard) + return; - do + time = gtk_get_current_event_time (); + + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) { - gint row_min = 0, row_nat = 0; - - if (priv->cell_view) - gtk_cell_view_get_desired_width_of_row (GTK_CELL_VIEW (priv->cell_view), - path, &row_min, &row_nat); - - priv->minimum_width = MAX (priv->minimum_width, row_min); - priv->natural_width = MAX (priv->natural_width, row_nat); - - gtk_tree_path_next (path); - } - while (gtk_tree_model_iter_next (priv->model, &iter)); - - gtk_tree_path_free (path); -} - - -static void -gtk_combo_box_measure_height_for_width (GtkComboBox *combo_box, - gint avail_width, - gint *min_height, - gint *nat_height) -{ - GtkWidget *child; - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreeIter iter; - GtkTreePath *path; - gint child_min, child_nat; - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - - gtk_widget_get_preferred_height_for_width (child, avail_width, - &child_min, &child_nat); - - if (!priv->model || - !gtk_tree_model_get_iter_first (priv->model, &iter)) - goto out; - - path = gtk_tree_path_new_from_indices (0, -1); - - do - { - gint row_min = 0, row_nat = 0; - - if (priv->cell_view) - gtk_cell_view_get_desired_height_for_width_of_row (GTK_CELL_VIEW (priv->cell_view), - path, avail_width, - &row_min, &row_nat); - - child_min = MAX (child_min, row_min); - child_nat = MAX (child_nat, row_nat); - - gtk_tree_path_next (path); - } - while (gtk_tree_model_iter_next (priv->model, &iter)); - - gtk_tree_path_free (path); - - out: - - if (min_height) - *min_height = child_min; - if (nat_height) - *nat_height = child_nat; -} - - -static void -gtk_combo_box_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - gint focus_width, focus_pad; - gint font_size, arrow_size; - PangoContext *context; - PangoFontMetrics *metrics; - PangoFontDescription *font_desc; - GtkWidget *child; - gint minimum_width, natural_width; - gint child_min, child_nat; - GtkStyleContext *style_context; - GtkStateFlags state; - GtkBorder *border; - - child = gtk_bin_get_child (GTK_BIN (widget)); - - /* common */ - gtk_widget_get_preferred_width (child, &child_min, &child_nat); - gtk_combo_box_remeasure (combo_box); - - child_min = MAX (child_min, priv->minimum_width); - child_nat = MAX (child_nat, priv->natural_width); - - gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "arrow-size", &arrow_size, - NULL); - - style_context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - - gtk_style_context_get (style_context, state, - "font", &font_desc, - "border-width", &border, - NULL); - - context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); - metrics = pango_context_get_metrics (context, font_desc, - pango_context_get_language (context)); - font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + - pango_font_metrics_get_descent (metrics)); - pango_font_metrics_unref (metrics); - pango_font_description_free (font_desc); - - arrow_size = MAX (arrow_size, font_size); - - gtk_widget_set_size_request (priv->arrow, arrow_size, arrow_size); - - if (!priv->tree_view) - { - /* menu mode */ - - if (priv->cell_view) - { - gint sep_width, arrow_width; - gint border_width, xpad; - GtkBorder button_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - get_widget_border (priv->button, &button_border); - - gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); - gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - - xpad = 2 * (border_width + focus_width + focus_pad) + - button_border.left + button_border.right; - - minimum_width = child_min + sep_width + arrow_width + xpad; - natural_width = child_nat + sep_width + arrow_width + xpad; - } - else - { - gint but_width, but_nat_width; - - gtk_widget_get_preferred_width (priv->button, - &but_width, &but_nat_width); - - minimum_width = child_min + but_width; - natural_width = child_nat + but_nat_width; - } + keyboard = device; + pointer = gdk_device_get_associated_device (device); } else { - /* list mode */ - gint button_width, button_nat_width; - - /* sample + frame */ - minimum_width = child_min; - natural_width = child_nat; - - minimum_width += 2 * focus_width; - natural_width += 2 * focus_width; - - if (priv->cell_view_frame) - { - if (priv->has_frame) - { - gint border_width, xpad; - GtkBorder frame_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (priv->cell_view_frame, &frame_border); - xpad = (2 * border_width) + frame_border.left + frame_border.right; - - minimum_width += xpad; - natural_width += xpad; - } - } - - /* the button */ - gtk_widget_get_preferred_width (priv->button, - &button_width, &button_nat_width); - - minimum_width += button_width; - natural_width += button_nat_width; + pointer = device; + keyboard = gdk_device_get_associated_device (device); } - minimum_width += border->left + border->right; - natural_width += border->left + border->right; - gtk_border_free (border); - - if (minimum_size) - *minimum_size = minimum_width; - - if (natural_size) - *natural_size = natural_width; -} - -static void -gtk_combo_box_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) -{ - gint min_width; - - /* Combo box is height-for-width only - * (so we always just reserve enough height for the minimum width) */ - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); - GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, minimum_size, natural_size); -} - -static void -gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size) -{ - /* Combo box is height-for-width only - * (so we assume we always reserved enough height for the minimum width) */ - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); -} - - -static void -gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - gint focus_width, focus_pad; - gint min_height, nat_height; - gint size; - GtkBorder border; - - gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); - - get_widget_border (widget, &border); - size = avail_size - border.left; - - if (!priv->tree_view) + if (GTK_IS_MENU (priv->popup_widget)) { - /* menu mode */ - if (priv->cell_view) - { - /* calculate x/y padding and separator/arrow size */ - gint sep_width, arrow_width, sep_height, arrow_height; - gint border_width, xpad, ypad; - GtkBorder button_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - get_widget_border (priv->button, &button_border); - - gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); - gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->separator, - sep_width, &sep_height, NULL); - gtk_widget_get_preferred_height_for_width (priv->arrow, - arrow_width, &arrow_height, NULL); - - xpad = 2 * (border_width + focus_width + focus_pad) + - button_border.left + button_border.right; - ypad = 2 * (border_width + focus_width + focus_pad) + - button_border.top + button_border.bottom; - - size -= sep_width + arrow_width + xpad; - - gtk_combo_box_measure_height_for_width (combo_box, size, &min_height, &nat_height); - - arrow_height = MAX (arrow_height, sep_height); - min_height = MAX (min_height, arrow_height); - nat_height = MAX (nat_height, arrow_height); - - min_height += ypad; - nat_height += ypad; - } - else - { - /* there is a custom child widget inside (no priv->cell_view) */ - gint but_width, but_height; - - gtk_widget_get_preferred_width (priv->button, &but_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->button, - but_width, &but_height, NULL); - - size -= but_width; - - gtk_combo_box_measure_height_for_width (combo_box, size, &min_height, &nat_height); - - min_height = MAX (min_height, but_height); - nat_height = MAX (nat_height, but_height); - } + gtk_combo_box_menu_popup (combo_box, + priv->activate_button, + priv->activate_time); + return; } - else + + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); + if (GTK_IS_WINDOW (toplevel)) + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (priv->popup_window)); + + gtk_widget_show_all (priv->scrolled_window); + gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); + + gtk_widget_set_size_request (priv->popup_window, width, height); + gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); + + if (gtk_tree_row_reference_valid (priv->active_row)) { - /* list mode */ - gint but_width, but_height; - gint xpad = 0, ypad = 0; + path = gtk_tree_row_reference_get_path (priv->active_row); + ppath = gtk_tree_path_copy (path); + if (gtk_tree_path_up (ppath)) + gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->tree_view), + ppath); + gtk_tree_path_free (ppath); + } + gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), + TRUE); + + /* popup */ + gtk_widget_show (priv->popup_window); - gtk_widget_get_preferred_width (priv->button, &but_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->button, - but_width, &but_height, NULL); - - if (priv->cell_view_frame && priv->has_frame) - { - GtkBorder frame_border; - gint border_width; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border); - - xpad = (2 * border_width) + border.left + frame_border.right; - ypad = (2 * border_width) + border.top + frame_border.bottom; - } - - size -= but_width; - size -= 2 * focus_width; - size -= xpad; - - gtk_combo_box_measure_height_for_width (combo_box, size, &min_height, &nat_height); - - min_height = MAX (min_height, but_height); - nat_height = MAX (nat_height, but_height); - - min_height += ypad; - nat_height += ypad; + if (path) + { + gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), + path, NULL, FALSE); + gtk_tree_path_free (path); } - min_height += border.top + border.bottom; - nat_height += border.top + border.bottom; + gtk_widget_grab_focus (priv->popup_window); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), + TRUE); - if (minimum_size) - *minimum_size = min_height; + if (!gtk_widget_has_focus (priv->tree_view)) + gtk_widget_grab_focus (priv->tree_view); - if (natural_size) - *natural_size = nat_height; + if (!popup_grab_on_window (gtk_widget_get_window (priv->popup_window), + keyboard, pointer, time)) + { + gtk_widget_hide (priv->popup_window); + return; + } + + gtk_device_grab_add (priv->popup_window, pointer, TRUE); + priv->grab_pointer = pointer; + priv->grab_keyboard = keyboard; +} + +/** + * gtk_combo_box_popdown: + * @combo_box: a #GtkComboBox + * + * Hides the menu or dropdown list of @combo_box. + * + * This function is mostly intended for use by accessibility technologies; + * applications should have little use for it. + * + * Since: 2.4 + */ +void +gtk_combo_box_popdown (GtkComboBox *combo_box) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); + + if (GTK_IS_MENU (priv->popup_widget)) + { + gtk_menu_popdown (GTK_MENU (priv->popup_widget)); + return; + } + + if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) + return; + + gtk_device_grab_remove (priv->popup_window, priv->grab_pointer); + gtk_widget_hide (priv->popup_window); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), + FALSE); + + priv->grab_pointer = NULL; + priv->grab_keyboard = NULL; } /** diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 72120876bc..db970c99ff 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -115,6 +115,8 @@ static void item_activated_cb (GtkMenuItem static void submenu_activated_cb (GtkTreeMenu *submenu, const gchar *path, GtkTreeMenu *menu); +static void gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, + GtkTreeModel *model); @@ -828,7 +830,7 @@ row_changed_cb (GtkTreeModel *model, GtkTreePath *root_path = gtk_tree_row_reference_get_path (priv->root); - if (gtk_tree_path_compare (root_path, path) == 0) + if (root_path && gtk_tree_path_compare (root_path, path) == 0) { if (priv->header_func) has_header = @@ -853,9 +855,9 @@ row_changed_cb (GtkTreeModel *model, priv->menu_with_header = FALSE; } + + gtk_tree_path_free (root_path); } - - gtk_tree_path_free (root_path); } if (item) @@ -940,7 +942,7 @@ area_apply_attributes_cb (GtkCellArea *area, /* If there is no submenu, go ahead and update item sensitivity, * items with submenus are always sensitive */ - if (!gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))) + if (item && !gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))) { sensitive = area_is_sensitive (priv->area); @@ -1100,6 +1102,7 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, if (is_separator) { item = gtk_separator_menu_item_new (); + gtk_widget_show (item); g_object_set_qdata_full (G_OBJECT (item), tree_menu_path_quark, @@ -1138,9 +1141,8 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, priv->header_data, priv->header_destroy); - gtk_tree_menu_set_model (GTK_TREE_MENU (submenu), priv->model); + gtk_tree_menu_set_model_internal (GTK_TREE_MENU (submenu), priv->model); gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); g_signal_connect (submenu, "menu-activate", @@ -1274,44 +1276,15 @@ submenu_activated_cb (GtkTreeMenu *submenu, g_signal_emit (menu, tree_menu_signals[SIGNAL_MENU_ACTIVATE], 0, path); } -/**************************************************************** - * API * - ****************************************************************/ -GtkWidget * -gtk_tree_menu_new (void) -{ - return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, NULL); -} - -GtkWidget * -gtk_tree_menu_new_with_area (GtkCellArea *area) -{ - return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, - "cell-area", area, - NULL); -} - -GtkWidget * -gtk_tree_menu_new_full (GtkCellArea *area, - GtkTreeModel *model, - GtkTreePath *root) -{ - return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, - "cell-area", area, - "model", model, - "root", root, - NULL); -} - -void -gtk_tree_menu_set_model (GtkTreeMenu *menu, - GtkTreeModel *model) +/* Sets the model without rebuilding the menu, prevents + * infinite recursion while building submenus (we wait + * until the root is set and then build the menu) */ +static void +gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, + GtkTreeModel *model) { GtkTreeMenuPrivate *priv; - g_return_if_fail (GTK_IS_TREE_MENU (menu)); - g_return_if_fail (model == NULL || GTK_IS_TREE_MODEL (model)); - priv = menu->priv; if (priv->model != model) @@ -1354,6 +1327,47 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, } } +/**************************************************************** + * API * + ****************************************************************/ +GtkWidget * +gtk_tree_menu_new (void) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, NULL); +} + +GtkWidget * +gtk_tree_menu_new_with_area (GtkCellArea *area) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, + "cell-area", area, + NULL); +} + +GtkWidget * +gtk_tree_menu_new_full (GtkCellArea *area, + GtkTreeModel *model, + GtkTreePath *root) +{ + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, + "cell-area", area, + "model", model, + "root", root, + NULL); +} + +void +gtk_tree_menu_set_model (GtkTreeMenu *menu, + GtkTreeModel *model) +{ + g_return_if_fail (GTK_IS_TREE_MENU (menu)); + g_return_if_fail (model == NULL || GTK_IS_TREE_MODEL (model)); + + gtk_tree_menu_set_model_internal (menu, model); + + rebuild_menu (menu); +} + GtkTreeModel * gtk_tree_menu_get_model (GtkTreeMenu *menu) { From 39cf1576d77076c96539ff019728257b72e404b4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 18:27:51 +0900 Subject: [PATCH 1085/1463] Fixed GtkCellView to always allocate when in fit-model mode. --- gtk/gtkcellview.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 7cb39e9965..3c31d9aa63 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -516,8 +516,12 @@ gtk_cell_view_size_allocate (GtkWidget *widget, gtk_cell_area_context_get_allocation (priv->context, &alloc_width, &alloc_height); /* The first cell view in context is responsible for allocating the context at allocate time - * (or the cellview has its own context and is not grouped with any other cell views) */ - if (alloc_width <= 0 && alloc_height <= 0) + * (or the cellview has its own context and is not grouped with any other cell views) + * + * If the cellview is in "fit model" mode, we assume its not in context and needs to + * allocate every time. + */ + if ((alloc_width <= 0 && alloc_height <= 0) || priv->fit_model) { gtk_cell_area_context_allocate_width (priv->context, allocation->width); gtk_cell_area_context_allocate_height (priv->context, allocation->height); From 4a5be7c74e1df189d7f91c479a0da050d8272306 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 20:00:10 +0900 Subject: [PATCH 1086/1463] Getting closer to updating the treemenu view properly from the model signals --- gtk/gtktreemenu.c | 199 ++++++++++++++++++++++++++++++++++------------ tests/testcombo.c | 6 +- 2 files changed, 152 insertions(+), 53 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index db970c99ff..e9d63514e8 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -78,6 +78,9 @@ static void gtk_tree_menu_populate (GtkTreeMenu static GtkWidget *gtk_tree_menu_create_item (GtkTreeMenu *menu, GtkTreeIter *iter, gboolean header_item); +static void gtk_tree_menu_create_submenu (GtkTreeMenu *menu, + GtkWidget *item, + GtkTreePath *path); static void gtk_tree_menu_set_area (GtkTreeMenu *menu, GtkCellArea *area); static GtkWidget *gtk_tree_menu_get_path_item (GtkTreeMenu *menu, @@ -618,8 +621,17 @@ gtk_tree_menu_get_path_item (GtkTreeMenu *menu, GtkTreeRowReference *row = g_object_get_qdata (G_OBJECT (child), tree_menu_path_quark); - if (row && gtk_tree_row_reference_valid (row)) - path = gtk_tree_row_reference_get_path (row); + if (row) + { + path = gtk_tree_row_reference_get_path (row); + + if (!path) + /* Return any first child where it's row-reference became invalid, + * this is because row-references get null paths before we recieve + * the "row-deleted" signal. + */ + item = child; + } } else { @@ -628,6 +640,13 @@ gtk_tree_menu_get_path_item (GtkTreeMenu *menu, /* It's always a cellview */ if (GTK_IS_CELL_VIEW (view)) path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + + if (!path) + /* Return any first child where it's row-reference became invalid, + * this is because row-references get null paths before we recieve + * the "row-deleted" signal. + */ + item = child; } if (path) @@ -650,43 +669,97 @@ gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, gboolean *header_item) { GtkTreeMenuPrivate *priv = menu->priv; - GtkTreePath *parent_path = gtk_tree_path_copy (path); gboolean in_menu = FALSE; gboolean is_header = FALSE; /* Check if the is in root of the model */ - if (gtk_tree_path_get_depth (parent_path) == 1) + if (gtk_tree_path_get_depth (path) == 1) { if (!priv->root) - in_menu = TRUE; + { + g_print ("gtk_tree_menu_path_in_menu: Found in root menu !\n"); + in_menu = TRUE; + } } /* If we are a submenu, compare the parent path */ - else if (priv->root && gtk_tree_path_up (parent_path)) + else if (priv->root && gtk_tree_path_get_depth (path) > 1) { - GtkTreePath *root_path = - gtk_tree_row_reference_get_path (priv->root); + GtkTreePath *root_path = gtk_tree_row_reference_get_path (priv->root); + GtkTreePath *parent_path = gtk_tree_path_copy (path); + + gtk_tree_path_up (parent_path); if (gtk_tree_path_compare (root_path, parent_path) == 0) - in_menu = TRUE; + { + in_menu = TRUE; + g_print ("gtk_tree_menu_path_in_menu: Found in this menu !\n"); + } if (!in_menu && priv->menu_with_header && gtk_tree_path_compare (root_path, path) == 0) { + g_print ("gtk_tree_menu_path_in_menu: Found as menu header !\n"); in_menu = TRUE; is_header = TRUE; } - gtk_tree_path_free (root_path); + gtk_tree_path_free (parent_path); } - gtk_tree_path_free (parent_path); - if (header_item) *header_item = is_header; return in_menu; } +static GtkWidget * +gtk_tree_menu_path_needs_submenu (GtkTreeMenu *menu, + GtkTreePath *search) +{ + GtkWidget *item = NULL; + GList *children, *l; + GtkTreePath *parent_path; + + if (gtk_tree_path_get_depth (search) <= 1) + return NULL; + + parent_path = gtk_tree_path_copy (search); + gtk_tree_path_up (parent_path); + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + + for (l = children; item == NULL && l != NULL; l = l->next) + { + GtkWidget *child = l->data; + GtkTreePath *path = NULL; + + /* Separators dont get submenus, if it already has a submenu then let + * the submenu handle inserted rows */ + if (!GTK_IS_SEPARATOR_MENU_ITEM (child) && + !gtk_menu_item_get_submenu (GTK_MENU_ITEM (child))) + { + GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); + + /* It's always a cellview */ + if (GTK_IS_CELL_VIEW (view)) + path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + } + + if (path) + { + if (gtk_tree_path_compare (parent_path, path) == 0) + item = child; + + gtk_tree_path_free (path); + } + } + + g_list_free (children); + gtk_tree_path_free (parent_path); + + return item; +} + static void row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, @@ -695,11 +768,11 @@ row_inserted_cb (GtkTreeModel *model, { GtkTreeMenuPrivate *priv = menu->priv; gint *indices, index, depth; + GtkWidget *item; /* If the iter should be in this menu then go ahead and insert it */ if (gtk_tree_menu_path_in_menu (menu, path, NULL)) { - GtkWidget *item; if (priv->wrap_width > 0) rebuild_menu (menu); @@ -728,6 +801,19 @@ row_inserted_cb (GtkTreeModel *model, gtk_cell_area_context_flush (menu->priv->context); } } + else + { + /* Create submenus for iters if we need to */ + item = gtk_tree_menu_path_needs_submenu (menu, path); + if (item) + { + GtkTreePath *item_path = gtk_tree_path_copy (path); + + gtk_tree_path_up (item_path); + gtk_tree_menu_create_submenu (menu, item, item_path); + gtk_tree_path_free (item_path); + } + } } static void @@ -737,29 +823,25 @@ row_deleted_cb (GtkTreeModel *model, { GtkTreeMenuPrivate *priv = menu->priv; GtkWidget *item; - gboolean header_item; - gboolean in_menu; - - in_menu = gtk_tree_menu_path_in_menu (menu, path, &header_item); /* If it's the header item we leave it to the parent menu * to remove us from its menu */ - if (!header_item && in_menu) + item = gtk_tree_menu_get_path_item (menu, path); + + g_print ("Deleting item %p\n", item); + + if (item) { - item = gtk_tree_menu_get_path_item (menu, path); - if (item) + if (priv->wrap_width > 0) + rebuild_menu (menu); + else { - if (priv->wrap_width > 0) - rebuild_menu (menu); - else - { - /* Get rid of the deleted item */ - gtk_widget_destroy (item); - - /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); - } + /* Get rid of the deleted item */ + gtk_widget_destroy (item); + + /* Resize everything */ + gtk_cell_area_context_flush (menu->priv->context); } } } @@ -1082,6 +1164,41 @@ relayout_item (GtkTreeMenu *menu, current_row, current_row + rows); } +static void +gtk_tree_menu_create_submenu (GtkTreeMenu *menu, + GtkWidget *item, + GtkTreePath *path) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GtkWidget *view; + GtkWidget *submenu; + + view = gtk_bin_get_child (GTK_BIN (item)); + gtk_cell_view_set_draw_sensitive (GTK_CELL_VIEW (view), TRUE); + + submenu = gtk_tree_menu_new_with_area (priv->area); + + gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), + priv->row_separator_func, + priv->row_separator_data, + priv->row_separator_destroy); + gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), + priv->header_func, + priv->header_data, + priv->header_destroy); + + gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (submenu), priv->wrap_width); + gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (submenu), priv->row_span_col); + gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (submenu), priv->col_span_col); + + gtk_tree_menu_set_model_internal (GTK_TREE_MENU (submenu), priv->model); + gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); + + g_signal_connect (submenu, "menu-activate", + G_CALLBACK (submenu_activated_cb), menu); +} + static GtkWidget * gtk_tree_menu_create_item (GtkTreeMenu *menu, GtkTreeIter *iter, @@ -1127,27 +1244,7 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, /* Add a GtkTreeMenu submenu to render the children of this row */ if (header_item == FALSE && gtk_tree_model_iter_has_child (priv->model, iter)) - { - GtkWidget *submenu; - - submenu = gtk_tree_menu_new_with_area (priv->area); - - gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), - priv->row_separator_func, - priv->row_separator_data, - priv->row_separator_destroy); - gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), - priv->header_func, - priv->header_data, - priv->header_destroy); - - gtk_tree_menu_set_model_internal (GTK_TREE_MENU (submenu), priv->model); - gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); - gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); - - g_signal_connect (submenu, "menu-activate", - G_CALLBACK (submenu_activated_cb), menu); - } + gtk_tree_menu_create_submenu (menu, item, path); } gtk_tree_path_free (path); diff --git a/tests/testcombo.c b/tests/testcombo.c index f321fb0a55..1de03fc79d 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -1092,6 +1092,7 @@ main (int argc, char **argv) g_object_set (renderer, "text", "la la la", NULL); gtk_container_add (GTK_CONTAINER (boom), cellview); +#if 0 /* GtkComboBox list */ tmp = gtk_frame_new ("GtkComboBox (list)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); @@ -1333,7 +1334,7 @@ main (int argc, char **argv) NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0); - +#endif /* Capitals */ tmp = gtk_frame_new ("Where are you ?"); @@ -1368,6 +1369,7 @@ main (int argc, char **argv) gdk_threads_add_timeout (1000, (GSourceFunc) capital_animation, model); #endif +#if 0 /* Ellipsizing growing combos */ tmp = gtk_frame_new ("Unconstrained Menu"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); @@ -1388,7 +1390,7 @@ main (int argc, char **argv) "text", 0, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0); gtk_combo_box_set_popup_fixed_width (GTK_COMBO_BOX (combobox), FALSE); - +#endif gtk_widget_show_all (window); gtk_main (); From caf1d57fd379084a0efbad94079578e22bbafed0 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 21:40:33 +0900 Subject: [PATCH 1087/1463] Fixed inserting and deleting rows for submenus of GtkTreeMenu --- gtk/gtktreemenu.c | 80 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 61 insertions(+), 19 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index e9d63514e8..7c2d9dfb8f 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -633,7 +633,7 @@ gtk_tree_menu_get_path_item (GtkTreeMenu *menu, item = child; } } - else + else if (!GTK_IS_TEAROFF_MENU_ITEM (child)) { GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); @@ -676,10 +676,7 @@ gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, if (gtk_tree_path_get_depth (path) == 1) { if (!priv->root) - { - g_print ("gtk_tree_menu_path_in_menu: Found in root menu !\n"); - in_menu = TRUE; - } + in_menu = TRUE; } /* If we are a submenu, compare the parent path */ else if (priv->root && gtk_tree_path_get_depth (path) > 1) @@ -689,18 +686,17 @@ gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, gtk_tree_path_up (parent_path); - if (gtk_tree_path_compare (root_path, parent_path) == 0) + if (root_path) { - in_menu = TRUE; - g_print ("gtk_tree_menu_path_in_menu: Found in this menu !\n"); - } - - if (!in_menu && priv->menu_with_header && - gtk_tree_path_compare (root_path, path) == 0) - { - g_print ("gtk_tree_menu_path_in_menu: Found as menu header !\n"); - in_menu = TRUE; - is_header = TRUE; + if (gtk_tree_path_compare (root_path, parent_path) == 0) + in_menu = TRUE; + + if (!in_menu && priv->menu_with_header && + gtk_tree_path_compare (root_path, path) == 0) + { + in_menu = TRUE; + is_header = TRUE; + } } gtk_tree_path_free (root_path); gtk_tree_path_free (parent_path); @@ -760,6 +756,47 @@ gtk_tree_menu_path_needs_submenu (GtkTreeMenu *menu, return item; } +static GtkWidget * +find_empty_submenu (GtkTreeMenu *menu) +{ + GtkTreeMenuPrivate *priv = menu->priv; + GList *children, *l; + GtkWidget *submenu = NULL; + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + + for (l = children; submenu == NULL && l != NULL; l = l->next) + { + GtkWidget *child = l->data; + GtkTreePath *path = NULL; + GtkTreeIter iter; + + /* Separators dont get submenus, if it already has a submenu then let + * the submenu handle inserted rows */ + if (!GTK_IS_SEPARATOR_MENU_ITEM (child) && !GTK_IS_TEAROFF_MENU_ITEM (child)) + { + GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); + + /* It's always a cellview */ + if (GTK_IS_CELL_VIEW (view)) + path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + } + + if (path) + { + if (gtk_tree_model_get_iter (priv->model, &iter, path) && + !gtk_tree_model_iter_has_child (priv->model, &iter)) + submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (child)); + + gtk_tree_path_free (path); + } + } + + g_list_free (children); + + return submenu; +} + static void row_inserted_cb (GtkTreeModel *model, GtkTreePath *path, @@ -773,7 +810,6 @@ row_inserted_cb (GtkTreeModel *model, /* If the iter should be in this menu then go ahead and insert it */ if (gtk_tree_menu_path_in_menu (menu, path, NULL)) { - if (priv->wrap_width > 0) rebuild_menu (menu); else @@ -829,8 +865,6 @@ row_deleted_cb (GtkTreeModel *model, */ item = gtk_tree_menu_get_path_item (menu, path); - g_print ("Deleting item %p\n", item); - if (item) { if (priv->wrap_width > 0) @@ -844,6 +878,14 @@ row_deleted_cb (GtkTreeModel *model, gtk_cell_area_context_flush (menu->priv->context); } } + else + { + /* It's up to the parent menu to destroy a child menu that becomes empty + * since the topmost menu belongs to the user and is allowed to have no contents */ + GtkWidget *submenu = find_empty_submenu (menu); + if (submenu) + gtk_widget_destroy (submenu); + } } static void From 238bf5cbaad209416eb99d0e3b9c70a1d2343535 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 24 Nov 2010 21:45:03 +0900 Subject: [PATCH 1088/1463] Oops one of my last commits disabled some tests, re-enabling them. --- tests/testcombo.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tests/testcombo.c b/tests/testcombo.c index 1de03fc79d..6eaec66eec 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -1092,7 +1092,6 @@ main (int argc, char **argv) g_object_set (renderer, "text", "la la la", NULL); gtk_container_add (GTK_CONTAINER (boom), cellview); -#if 0 /* GtkComboBox list */ tmp = gtk_frame_new ("GtkComboBox (list)"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); @@ -1334,7 +1333,6 @@ main (int argc, char **argv) NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0); -#endif /* Capitals */ tmp = gtk_frame_new ("Where are you ?"); @@ -1369,7 +1367,6 @@ main (int argc, char **argv) gdk_threads_add_timeout (1000, (GSourceFunc) capital_animation, model); #endif -#if 0 /* Ellipsizing growing combos */ tmp = gtk_frame_new ("Unconstrained Menu"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); @@ -1390,7 +1387,7 @@ main (int argc, char **argv) "text", 0, NULL); gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0); gtk_combo_box_set_popup_fixed_width (GTK_COMBO_BOX (combobox), FALSE); -#endif + gtk_widget_show_all (window); gtk_main (); From 6ab29f5fd820fd2105ceaed72b55765aaa70bd0c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 12:09:06 +0900 Subject: [PATCH 1089/1463] Removing apis from GtkCellView APIS: gtk_cell_view_get_desired_width_of_row & gtk_cell_view_get_desired_height_for_width_of_row were introduced in 3.0 only for use from GtkComboBox and now the refactored cellview does this transparently and just requests the right thing through GtkWidget apis. --- gtk/gtkcellview.c | 99 +++++++---------------------------------------- gtk/gtkcellview.h | 12 ------ 2 files changed, 14 insertions(+), 97 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 3c31d9aa63..cc8bdbfc5b 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -1153,22 +1153,31 @@ gtk_cell_view_get_displayed_row (GtkCellView *cell_view) * * Since: 2.6 * - * Deprecated: 3.0: Use gtk_cell_view_get_desired_width_of_row() and - * gtk_cell_view_get_desired_height_for_width_of_row() instead. + * Deprecated: 3.0: Combo box formerly used this to calculate the + * sizes for cellviews, now you can achieve this by either using + * the #GtkCellView:fit-model property or by setting the currently + * displayed row of the #GtkCellView and using gtk_widget_get_preferred_size(). */ gboolean gtk_cell_view_get_size_of_row (GtkCellView *cell_view, GtkTreePath *path, GtkRequisition *requisition) { + GtkTreeRowReference *tmp; GtkRequisition req; g_return_val_if_fail (GTK_IS_CELL_VIEW (cell_view), FALSE); g_return_val_if_fail (path != NULL, FALSE); - /* Return the minimum height for the minimum width */ - gtk_cell_view_get_desired_width_of_row (cell_view, path, &req.width, NULL); - gtk_cell_view_get_desired_height_for_width_of_row (cell_view, path, req.width, &req.height, NULL); + tmp = cell_view->priv->displayed_row; + cell_view->priv->displayed_row = + gtk_tree_row_reference_new (cell_view->priv->model, path); + + gtk_widget_get_preferred_width (GTK_WIDGET (cell_view), &req.width, NULL); + gtk_widget_get_preferred_height_for_width (GTK_WIDGET (cell_view), req.width, &req.height, NULL); + + gtk_tree_row_reference_free (cell_view->priv->displayed_row); + cell_view->priv->displayed_row = tmp; if (requisition) *requisition = req; @@ -1176,86 +1185,6 @@ gtk_cell_view_get_size_of_row (GtkCellView *cell_view, return TRUE; } - -/** - * gtk_cell_view_get_desired_width_of_row: - * @cell_view: a #GtkCellView - * @path: a #GtkTreePath - * @minimum_size: location to store the minimum size - * @natural_size: location to store the natural size - * - * Sets @minimum_size and @natural_size to the width desired by @cell_view - * to display the model row pointed to by @path. - * - * Since: 3.0 - */ -void -gtk_cell_view_get_desired_width_of_row (GtkCellView *cell_view, - GtkTreePath *path, - gint *minimum_size, - gint *natural_size) -{ - GtkTreeRowReference *tmp; - - g_return_if_fail (GTK_IS_CELL_VIEW (cell_view)); - g_return_if_fail (path != NULL); - g_return_if_fail (minimum_size != NULL || natural_size != NULL); - - tmp = cell_view->priv->displayed_row; - cell_view->priv->displayed_row = - gtk_tree_row_reference_new (cell_view->priv->model, path); - - gtk_cell_view_get_preferred_width (GTK_WIDGET (cell_view), minimum_size, natural_size); - - gtk_tree_row_reference_free (cell_view->priv->displayed_row); - cell_view->priv->displayed_row = tmp; - - /* Restore active size (this will restore the cellrenderer info->width/requested_width's) */ - gtk_cell_view_get_preferred_width (GTK_WIDGET (cell_view), NULL, NULL); -} - - -/** - * gtk_cell_view_get_desired_height_for_width_of_row: - * @cell_view: a #GtkCellView - * @path: a #GtkTreePath - * @avail_size: available width - * @minimum_size: location to store the minimum height - * @natural_size: location to store the natural height - * - * Sets @minimum_size and @natural_size to the height desired by @cell_view - * if it were allocated a width of @avail_size to display the model row - * pointed to by @path. - * - * Since: 3.0 - */ -void -gtk_cell_view_get_desired_height_for_width_of_row (GtkCellView *cell_view, - GtkTreePath *path, - gint avail_size, - gint *minimum_size, - gint *natural_size) -{ - GtkTreeRowReference *tmp; - - g_return_if_fail (GTK_IS_CELL_VIEW (cell_view)); - g_return_if_fail (path != NULL); - g_return_if_fail (minimum_size != NULL || natural_size != NULL); - - tmp = cell_view->priv->displayed_row; - cell_view->priv->displayed_row = - gtk_tree_row_reference_new (cell_view->priv->model, path); - - /* Then get the collective height_for_width based on the cached values */ - gtk_cell_view_get_preferred_height_for_width (GTK_WIDGET (cell_view), avail_size, minimum_size, natural_size); - - gtk_tree_row_reference_free (cell_view->priv->displayed_row); - cell_view->priv->displayed_row = tmp; - - /* Restore active size (this will restore the cellrenderer info->width/requested_width's) */ - gtk_cell_view_get_preferred_width (GTK_WIDGET (cell_view), NULL, NULL); -} - /** * gtk_cell_view_set_background_color: * @cell_view: a #GtkCellView diff --git a/gtk/gtkcellview.h b/gtk/gtkcellview.h index c3aa8a6fec..ce8e267a77 100644 --- a/gtk/gtkcellview.h +++ b/gtk/gtkcellview.h @@ -93,18 +93,6 @@ gboolean gtk_cell_view_get_size_of_row (GtkCellView *cell_v GtkRequisition *requisition); #endif - -/* XXX These 2 are going away... */ -void gtk_cell_view_get_desired_width_of_row(GtkCellView *cell_view, - GtkTreePath *path, - gint *minimum_size, - gint *natural_size); -void gtk_cell_view_get_desired_height_for_width_of_row(GtkCellView *cell_view, - GtkTreePath *path, - gint avail_size, - gint *minimum_size, - gint *natural_size); - G_END_DECLS #endif /* __GTK_CELL_VIEW_H__ */ From 2e2eb786d33636fc911eee8d12796f0d7924bda9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 13:18:08 +0900 Subject: [PATCH 1090/1463] Make GtkCellView orientable and only allocate the cell area in the orientable orientation (unless its a "fit-model" cellview which gets both). --- gtk/gtkcellview.c | 42 +++++++++++++++++++++++++++++++++++------- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index cc8bdbfc5b..3a5031b41d 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -26,7 +26,7 @@ #include "gtkcellrenderertext.h" #include "gtkcellrendererpixbuf.h" #include "gtkprivate.h" -#include "gtksizerequest.h" +#include "gtkorientable.h" #include #include "gtkbuildable.h" @@ -36,10 +36,18 @@ * @Short_description: A widget displaying a single row of a GtkTreeModel * @Title: GtkCellView * - * A #GtkCellView displays a single row of a #GtkTreeModel, using - * cell renderers just like #GtkTreeView. #GtkCellView doesn't support - * some of the more complex features of #GtkTreeView, like cell editing - * and drag and drop. + * A #GtkCellView displays a single row of a #GtkTreeModel using a #GtkCellArea + * and #GtkCellAreaContext. A #GtkCellAreaContext can be provided to the + * #GtkCellView at construction time in order to keep the cellview in context + * of a group of cell views, this ensures that the renderers displayed will + * be properly aligned with eachother (like the aligned cells of #GtkTreeMenu). + * + * #GtkCellView is #GtkOrientable in order to decide in which orientation + * the underlying #GtkCellAreaContext should be allocated. Taking the #GtkTreeMenu + * as an example, cellviews should be oriented horizontally if the menus are + * listed top-to-bottom and thus all share the same width but may have separate + * individual heights (left-to-right menus should be allocated vertically since + * they all share the same height but may have variable widths). */ static GObject *gtk_cell_view_constructor (GType type, @@ -116,6 +124,8 @@ struct _GtkCellViewPrivate GtkCellArea *area; GtkCellAreaContext *context; + GtkOrientation orientation; + GdkRGBA background; gboolean background_set; @@ -131,6 +141,7 @@ static GtkBuildableIface *parent_buildable_iface; enum { PROP_0, + PROP_ORIENTATION, PROP_BACKGROUND, PROP_BACKGROUND_GDK, PROP_BACKGROUND_RGBA, @@ -146,7 +157,8 @@ G_DEFINE_TYPE_WITH_CODE (GtkCellView, gtk_cell_view, GTK_TYPE_WIDGET, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_cell_view_cell_layout_init) G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_cell_view_buildable_init)) + gtk_cell_view_buildable_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_ORIENTABLE, NULL)); static void gtk_cell_view_class_init (GtkCellViewClass *klass) @@ -168,6 +180,8 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) widget_class->get_preferred_height_for_width = gtk_cell_view_get_preferred_height_for_width; /* properties */ + g_object_class_override_property (gobject_class, PROP_ORIENTATION, "orientation"); + g_object_class_install_property (gobject_class, PROP_BACKGROUND, g_param_spec_string ("background", @@ -348,6 +362,9 @@ gtk_cell_view_get_property (GObject *object, switch (param_id) { + case PROP_ORIENTATION: + g_value_set_enum (value, view->priv->orientation); + break; case PROP_BACKGROUND_GDK: { GdkColor color; @@ -399,6 +416,11 @@ gtk_cell_view_set_property (GObject *object, switch (param_id) { + case PROP_ORIENTATION: + view->priv->orientation = g_value_get_enum (value); + if (view->priv->context) + gtk_cell_area_context_flush (view->priv->context); + break; case PROP_BACKGROUND: { GdkColor color; @@ -465,6 +487,8 @@ gtk_cell_view_init (GtkCellView *cellview) priv = cellview->priv; gtk_widget_set_has_window (GTK_WIDGET (cellview), FALSE); + + priv->orientation = GTK_ORIENTATION_HORIZONTAL; } static void @@ -521,11 +545,15 @@ gtk_cell_view_size_allocate (GtkWidget *widget, * If the cellview is in "fit model" mode, we assume its not in context and needs to * allocate every time. */ - if ((alloc_width <= 0 && alloc_height <= 0) || priv->fit_model) + if (priv->fit_model) { gtk_cell_area_context_allocate_width (priv->context, allocation->width); gtk_cell_area_context_allocate_height (priv->context, allocation->height); } + else if (alloc_width <= 0 && priv->orientation == GTK_ORIENTATION_HORIZONTAL) + gtk_cell_area_context_allocate_width (priv->context, allocation->width); + else if (alloc_height <= 0 && priv->orientation == GTK_ORIENTATION_VERTICAL) + gtk_cell_area_context_allocate_height (priv->context, allocation->height); } static void From f101bf4a2de794abb805dd39f5556686fe601140 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 13:20:14 +0900 Subject: [PATCH 1091/1463] Added gtk_tree_menu_get_area(). --- gtk/gtktreemenu.c | 8 ++++++++ gtk/gtktreemenu.h | 1 + 2 files changed, 9 insertions(+) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 7c2d9dfb8f..b8d479d8a3 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -1495,6 +1495,14 @@ gtk_tree_menu_new_full (GtkCellArea *area, NULL); } +GtkCellArea * +gtk_tree_menu_get_area (GtkTreeMenu *menu) +{ + g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); + + return menu->priv->area; +} + void gtk_tree_menu_set_model (GtkTreeMenu *menu, GtkTreeModel *model) diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 812c820ef7..24523e2bd8 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -79,6 +79,7 @@ GtkWidget *gtk_tree_menu_new_with_area (GtkCellArea GtkWidget *gtk_tree_menu_new_full (GtkCellArea *area, GtkTreeModel *model, GtkTreePath *root); +GtkCellArea *gtk_tree_menu_get_area (GtkTreeMenu *menu); void gtk_tree_menu_set_model (GtkTreeMenu *menu, GtkTreeModel *model); GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu *menu); From 26a6965d268a5ef05adbe943be43d647f533cce8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 13:20:43 +0900 Subject: [PATCH 1092/1463] Aligned prototypes in gtkcellview.h --- gtk/gtkcellview.h | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/gtk/gtkcellview.h b/gtk/gtkcellview.h index ce8e267a77..0e7fd9ac0a 100644 --- a/gtk/gtkcellview.h +++ b/gtk/gtkcellview.h @@ -62,14 +62,13 @@ struct _GtkCellViewClass void (*_gtk_reserved4) (void); }; -GType gtk_cell_view_get_type (void) G_GNUC_CONST; -GtkWidget *gtk_cell_view_new (void); -GtkWidget *gtk_cell_view_new_with_context (GtkCellArea *area, - GtkCellAreaContext *context); -GtkWidget *gtk_cell_view_new_with_text (const gchar *text); -GtkWidget *gtk_cell_view_new_with_markup (const gchar *markup); -GtkWidget *gtk_cell_view_new_with_pixbuf (GdkPixbuf *pixbuf); - +GType gtk_cell_view_get_type (void) G_GNUC_CONST; +GtkWidget *gtk_cell_view_new (void); +GtkWidget *gtk_cell_view_new_with_context (GtkCellArea *area, + GtkCellAreaContext *context); +GtkWidget *gtk_cell_view_new_with_text (const gchar *text); +GtkWidget *gtk_cell_view_new_with_markup (const gchar *markup); +GtkWidget *gtk_cell_view_new_with_pixbuf (GdkPixbuf *pixbuf); void gtk_cell_view_set_model (GtkCellView *cell_view, GtkTreeModel *model); GtkTreeModel *gtk_cell_view_get_model (GtkCellView *cell_view); From bd1b4ddf75d567e3ad95a663ae747c829b77f62c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 21:30:30 +0900 Subject: [PATCH 1093/1463] Updated GtkCellView for new gtk_cell_area_context_allocate() api. --- gtk/gtkcellview.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 3a5031b41d..6b02118de5 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -546,14 +546,11 @@ gtk_cell_view_size_allocate (GtkWidget *widget, * allocate every time. */ if (priv->fit_model) - { - gtk_cell_area_context_allocate_width (priv->context, allocation->width); - gtk_cell_area_context_allocate_height (priv->context, allocation->height); - } + gtk_cell_area_context_allocate (priv->context, allocation->width, allocation->height); else if (alloc_width <= 0 && priv->orientation == GTK_ORIENTATION_HORIZONTAL) - gtk_cell_area_context_allocate_width (priv->context, allocation->width); + gtk_cell_area_context_allocate (priv->context, allocation->width, -1); else if (alloc_height <= 0 && priv->orientation == GTK_ORIENTATION_VERTICAL) - gtk_cell_area_context_allocate_height (priv->context, allocation->height); + gtk_cell_area_context_allocate (priv->context, -1, allocation->height); } static void From b32ee4fde3139eacf7e221720ff6aeb40f2a21ed Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 21:36:28 +0900 Subject: [PATCH 1094/1463] Added orientation control to the treemenu test. --- tests/testtreemenu.c | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index 76422d2695..649dc6c5c8 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -309,6 +309,15 @@ simple_tree_menu (void) return menu; } +static void +orientation_changed (GtkComboBox *combo, + GtkCellArea *area) +{ + GtkOrientation orientation = gtk_combo_box_get_active (combo); + + gtk_orientable_set_orientation (GTK_ORIENTABLE (area), orientation); +} + static void align_cell_2_toggled (GtkToggleButton *toggle, GtkTreeMenu *menu) @@ -409,6 +418,7 @@ tree_menu (void) { GtkWidget *window, *widget; GtkWidget *menu, *menubar, *vbox, *menuitem; + GtkCellArea *area; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -420,8 +430,6 @@ tree_menu (void) menubar = gtk_menu_bar_new (); gtk_widget_show (menubar); -#if 1 - menuitem = gtk_menu_item_new_with_label ("Grid"); menu = create_menu_grid_demo (); gtk_widget_show (menu); @@ -429,8 +437,6 @@ tree_menu (void) gtk_menu_shell_append (GTK_MENU_SHELL (menubar), menuitem); gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem), menu); -#endif - menuitem = gtk_menu_item_new_with_label ("Tree"); menu = simple_tree_menu (); gtk_widget_show (menu); @@ -443,6 +449,17 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); /* Now add some controls */ + widget = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Vertical"); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + + area = gtk_tree_menu_get_area (GTK_TREE_MENU (menu)); + g_signal_connect (G_OBJECT (widget), "changed", + G_CALLBACK (orientation_changed), area); + widget = gtk_check_button_new_with_label ("Align 2nd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_widget_show (widget); From 1193c30e152ab4fecac601217b5c2468019b7c3d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 21:44:59 +0900 Subject: [PATCH 1095/1463] Revert "Added gtk_tree_menu_get_area()." This reverts commit d32d7c8f9c4d2bcd7c5c206c09273ce67ed20df4. --- gtk/gtktreemenu.c | 8 -------- gtk/gtktreemenu.h | 1 - 2 files changed, 9 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index b8d479d8a3..7c2d9dfb8f 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -1495,14 +1495,6 @@ gtk_tree_menu_new_full (GtkCellArea *area, NULL); } -GtkCellArea * -gtk_tree_menu_get_area (GtkTreeMenu *menu) -{ - g_return_val_if_fail (GTK_IS_TREE_MENU (menu), NULL); - - return menu->priv->area; -} - void gtk_tree_menu_set_model (GtkTreeMenu *menu, GtkTreeModel *model) diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 24523e2bd8..812c820ef7 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -79,7 +79,6 @@ GtkWidget *gtk_tree_menu_new_with_area (GtkCellArea GtkWidget *gtk_tree_menu_new_full (GtkCellArea *area, GtkTreeModel *model, GtkTreePath *root); -GtkCellArea *gtk_tree_menu_get_area (GtkTreeMenu *menu); void gtk_tree_menu_set_model (GtkTreeMenu *menu, GtkTreeModel *model); GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu *menu); From ab3b75aeb15e9e6726724f360bcfef9eef4270f4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 26 Nov 2010 23:43:07 +0900 Subject: [PATCH 1096/1463] Adding a combo box to testtreemenu to show the GtkTreeMenu at work as a combo box delegate. --- tests/testtreemenu.c | 46 ++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index 649dc6c5c8..bb2e73acc7 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -320,50 +320,45 @@ orientation_changed (GtkComboBox *combo, static void align_cell_2_toggled (GtkToggleButton *toggle, - GtkTreeMenu *menu) + GtkCellArea *area) { - GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); - gboolean align = gtk_toggle_button_get_active (toggle); + gboolean align = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_2, "align", align, NULL); } static void align_cell_3_toggled (GtkToggleButton *toggle, - GtkTreeMenu *menu) + GtkCellArea *area) { - GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); - gboolean align = gtk_toggle_button_get_active (toggle); + gboolean align = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_3, "align", align, NULL); } static void expand_cell_1_toggled (GtkToggleButton *toggle, - GtkTreeMenu *menu) + GtkCellArea *area) { - GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); - gboolean expand = gtk_toggle_button_get_active (toggle); + gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_1, "expand", expand, NULL); } static void expand_cell_2_toggled (GtkToggleButton *toggle, - GtkTreeMenu *menu) + GtkCellArea *area) { - GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); - gboolean expand = gtk_toggle_button_get_active (toggle); + gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_2, "expand", expand, NULL); } static void expand_cell_3_toggled (GtkToggleButton *toggle, - GtkTreeMenu *menu) + GtkCellArea *area) { - GtkCellArea *area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); - gboolean expand = gtk_toggle_button_get_active (toggle); + gboolean expand = gtk_toggle_button_get_active (toggle); gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); } @@ -448,6 +443,16 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); + /* Add a combo box with the same menu ! */ + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + widget = g_object_new (GTK_TYPE_COMBO_BOX, + "cell-area", area, + "model", gtk_tree_menu_get_model (GTK_TREE_MENU (menu)), + NULL); + gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); + gtk_widget_show (widget); + gtk_box_pack_end (GTK_BOX (vbox), widget, FALSE, FALSE, 0); + /* Now add some controls */ widget = gtk_combo_box_text_new (); gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (widget), "Horizontal"); @@ -456,7 +461,6 @@ tree_menu (void) gtk_widget_show (widget); gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); - area = gtk_tree_menu_get_area (GTK_TREE_MENU (menu)); g_signal_connect (G_OBJECT (widget), "changed", G_CALLBACK (orientation_changed), area); @@ -466,7 +470,7 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (align_cell_2_toggled), menu); + G_CALLBACK (align_cell_2_toggled), area); widget = gtk_check_button_new_with_label ("Align 3rd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); @@ -474,7 +478,7 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (align_cell_3_toggled), menu); + G_CALLBACK (align_cell_3_toggled), area); widget = gtk_check_button_new_with_label ("Expand 1st Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); @@ -482,7 +486,7 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (expand_cell_1_toggled), menu); + G_CALLBACK (expand_cell_1_toggled), area); widget = gtk_check_button_new_with_label ("Expand 2nd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); @@ -490,7 +494,7 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (expand_cell_2_toggled), menu); + G_CALLBACK (expand_cell_2_toggled), area); widget = gtk_check_button_new_with_label ("Expand 3rd Cell"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); @@ -498,7 +502,7 @@ tree_menu (void) gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (widget), "toggled", - G_CALLBACK (expand_cell_3_toggled), menu); + G_CALLBACK (expand_cell_3_toggled), area); widget = gtk_check_button_new_with_label ("Submenu Headers"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); From 15ac4be60f32e9ba07f932c456abce0262dffb58 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 27 Nov 2010 16:32:36 +0900 Subject: [PATCH 1097/1463] Fixed combo-refactor branch for recent switch to gtk_cell_area_context_reset() api. --- gtk/gtkcellview.c | 10 +++++----- gtk/gtktreemenu.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 6b02118de5..f62b71c45e 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -419,7 +419,7 @@ gtk_cell_view_set_property (GObject *object, case PROP_ORIENTATION: view->priv->orientation = g_value_get_enum (value); if (view->priv->context) - gtk_cell_area_context_flush (view->priv->context); + gtk_cell_area_context_reset (view->priv->context); break; case PROP_BACKGROUND: { @@ -547,9 +547,9 @@ gtk_cell_view_size_allocate (GtkWidget *widget, */ if (priv->fit_model) gtk_cell_area_context_allocate (priv->context, allocation->width, allocation->height); - else if (alloc_width <= 0 && priv->orientation == GTK_ORIENTATION_HORIZONTAL) + else if (alloc_width != allocation->width && priv->orientation == GTK_ORIENTATION_HORIZONTAL) gtk_cell_area_context_allocate (priv->context, allocation->width, -1); - else if (alloc_height <= 0 && priv->orientation == GTK_ORIENTATION_VERTICAL) + else if (alloc_height != allocation->height && priv->orientation == GTK_ORIENTATION_VERTICAL) gtk_cell_area_context_allocate (priv->context, -1, allocation->height); } @@ -862,7 +862,7 @@ row_changed_cb (GtkTreeModel *model, { /* Resize everything in our context if our row changed */ if (gtk_tree_path_compare (row_path, path) == 0) - gtk_cell_area_context_flush (view->priv->context); + gtk_cell_area_context_reset (view->priv->context); gtk_tree_path_free (row_path); } @@ -1343,7 +1343,7 @@ gtk_cell_view_set_fit_model (GtkCellView *cell_view, { priv->fit_model = fit_model; - gtk_cell_area_context_flush (cell_view->priv->context); + gtk_cell_area_context_reset (cell_view->priv->context); g_object_notify (G_OBJECT (cell_view), "fit-model"); } diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 7c2d9dfb8f..bc21378a87 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -834,7 +834,7 @@ row_inserted_cb (GtkTreeModel *model, gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); + gtk_cell_area_context_reset (menu->priv->context); } } else @@ -875,7 +875,7 @@ row_deleted_cb (GtkTreeModel *model, gtk_widget_destroy (item); /* Resize everything */ - gtk_cell_area_context_flush (menu->priv->context); + gtk_cell_area_context_reset (menu->priv->context); } } else From b57095412b70ce7b60331676e76de5217c041db7 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 27 Nov 2010 16:50:18 +0900 Subject: [PATCH 1098/1463] Added aligned food menu test to testcombo.c --- tests/testcombo.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/tests/testcombo.c b/tests/testcombo.c index 6eaec66eec..437a72cda3 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -405,6 +405,47 @@ create_list_long (void) return GTK_TREE_MODEL (store); } +static GtkTreeModel * +create_food_list (void) +{ + GtkTreeIter iter; + GtkListStore *store; + + store = gtk_list_store_new (2, G_TYPE_STRING, G_TYPE_STRING); + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, "Pepperoni", + 1, "Pizza", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, "Cheese", + 1, "Burger", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, "Pineapple", + 1, "Milkshake", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, "Orange", + 1, "Soda", + -1); + + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, + 0, "Club", + 1, "Sandwich", + -1); + + return GTK_TREE_MODEL (store); +} + + /* blaat */ static GtkTreeModel * create_phylogenetic_tree (void) @@ -1054,6 +1095,7 @@ main (int argc, char **argv) GtkTreePath *path; GtkTreeIter iter; GdkColor color; + GtkCellArea *area; gtk_init (&argc, &argv); @@ -1367,6 +1409,41 @@ main (int argc, char **argv) gdk_threads_add_timeout (1000, (GSourceFunc) capital_animation, model); #endif + /* Aligned Food */ + tmp = gtk_frame_new ("Hungry ?"); + gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); + + boom = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); + gtk_container_set_border_width (GTK_CONTAINER (boom), 5); + gtk_container_add (GTK_CONTAINER (tmp), boom); + + model = create_food_list (); + combobox = gtk_combo_box_new_with_model (model); + g_object_unref (model); + gtk_container_add (GTK_CONTAINER (boom), combobox); + + area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (combobox)); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_area_add_with_properties (area, renderer, + "align", TRUE, + "expand", TRUE, + NULL); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, + "text", 0, + NULL); + + renderer = gtk_cell_renderer_text_new (); + gtk_cell_area_add_with_properties (area, renderer, + "align", TRUE, + "expand", TRUE, + NULL); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (combobox), renderer, + "text", 1, + NULL); + + gtk_combo_box_set_active (GTK_COMBO_BOX (combobox), 0); + /* Ellipsizing growing combos */ tmp = gtk_frame_new ("Unconstrained Menu"); gtk_box_pack_start (GTK_BOX (mainbox), tmp, FALSE, FALSE, 0); From c8b63bfe03ae822a2ed69f2f6e2e9bfd25b0989c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 28 Nov 2010 18:58:47 +0900 Subject: [PATCH 1099/1463] Removed calls to gtk_cell_area_context_sum_*() since they went away. --- gtk/gtkcellview.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index f62b71c45e..ea212308b5 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -624,7 +624,6 @@ gtk_cell_view_get_preferred_width (GtkWidget *widget, gtk_cell_area_get_preferred_width (priv->area, priv->context, widget, NULL, NULL); } - gtk_cell_area_context_sum_preferred_width (priv->context); gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); @@ -653,7 +652,6 @@ gtk_cell_view_get_preferred_height (GtkWidget *widget, gtk_cell_area_get_preferred_height (priv->area, priv->context, widget, NULL, NULL); } - gtk_cell_area_context_sum_preferred_height (priv->context); gtk_cell_area_context_get_preferred_height (priv->context, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); From f358dfbcccd4bf1a276d990ad04b39b25e1f03e4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 18:28:20 +0900 Subject: [PATCH 1100/1463] Added new symbols for GtkTreeMenu and added GtkCellView apis to gtk.symbols --- gtk/gtk.symbols | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index e5c5c75b9e..ab2bf1838b 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -507,16 +507,21 @@ gtk_cell_renderer_toggle_set_radio gtk_cell_view_get_desired_height_for_width_of_row gtk_cell_view_get_desired_width_of_row gtk_cell_view_get_displayed_row +gtk_cell_view_get_draw_sensitive +gtk_cell_view_get_fit_model gtk_cell_view_get_model gtk_cell_view_get_size_of_row gtk_cell_view_get_type G_GNUC_CONST gtk_cell_view_new +gtk_cell_view_new_with_context gtk_cell_view_new_with_markup gtk_cell_view_new_with_pixbuf gtk_cell_view_new_with_text gtk_cell_view_set_background_color gtk_cell_view_set_background_rgba gtk_cell_view_set_displayed_row +gtk_cell_view_set_draw_sensitive +gtk_cell_view_set_fit_model gtk_cell_view_set_model gtk_check_button_get_type G_GNUC_CONST gtk_check_button_new @@ -3087,6 +3092,26 @@ gtk_tree_get_row_drag_data gtk_tree_iter_copy gtk_tree_iter_free gtk_tree_iter_get_type G_GNUC_CONST +gtk_tree_menu_get_column_span_column +gtk_tree_menu_get_header_func +gtk_tree_menu_get_model +gtk_tree_menu_get_root +gtk_tree_menu_get_row_separator_func +gtk_tree_menu_get_row_span_column +gtk_tree_menu_get_tearoff +gtk_tree_menu_get_type G_GNUC_CONST +gtk_tree_menu_get_wrap_width +gtk_tree_menu_new +gtk_tree_menu_new_full +gtk_tree_menu_new_with_area +gtk_tree_menu_set_column_span_column +gtk_tree_menu_set_header_func +gtk_tree_menu_set_model +gtk_tree_menu_set_root +gtk_tree_menu_set_row_separator_func +gtk_tree_menu_set_row_span_column +gtk_tree_menu_set_tearoff +gtk_tree_menu_set_wrap_width gtk_tree_model_filter_clear_cache gtk_tree_model_filter_convert_child_iter_to_iter gtk_tree_model_filter_convert_child_path_to_path From 7a673b2ed14137500a7a3c7c9f9442d7c1b4346d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 18:28:54 +0900 Subject: [PATCH 1101/1463] Added all documentation for new GtkTreeMenu --- gtk/gtktreemenu.c | 270 ++++++++++++++++++++++++++++++++++++++++++++++ gtk/gtktreemenu.h | 17 ++- 2 files changed, 285 insertions(+), 2 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index bc21378a87..169af2735e 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -21,6 +21,16 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtktreemenu + * @Short_Description: A GtkMenu automatically created from a #GtkTreeModel + * @Title: GtkTreeMenu + * + * The #GtkTreeMenu is used to display a drop-down menu allowing selection + * of every row in the model and is used by the #GtkComboBox for its drop-down + * menu. + */ + #include "config.h" #include "gtkintl.h" #include "gtktreemenu.h" @@ -240,6 +250,18 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) widget_class->get_preferred_width = gtk_tree_menu_get_preferred_width; widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; + /** + * GtkTreeMenu::menu-activate: + * @menu: a #GtkTreeMenu + * @path: the #GtkTreePath string for the item which was activated + * @user_data: the user data + * + * This signal is emitted to notify that a menu item in the #GtkTreeMenu + * was activated and provides the path string from the #GtkTreeModel + * to specify which row was selected. + * + * Since: 3.0 + */ tree_menu_signals[SIGNAL_MENU_ACTIVATE] = g_signal_new (I_("menu-activate"), G_OBJECT_CLASS_TYPE (object_class), @@ -249,6 +271,13 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) _gtk_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); + /** + * GtkTreeMenu:model: + * + * The #GtkTreeModel from which the menu is constructed. + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_MODEL, g_param_spec_object ("model", @@ -257,6 +286,21 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_TREE_MODEL, GTK_PARAM_READWRITE)); + /** + * GtkTreeMenu:root: + * + * The #GtkTreePath that is the root for this menu, or %NULL. + * + * The #GtkTreeMenu recursively creates submenus for #GtkTreeModel + * rows that have children and the "root" for each menu is provided + * by the parent menu. + * + * If you dont provide a root for the #GtkTreeMenu then the whole + * model will be added to the menu. Specifying a root allows you + * to build a menu for a given #GtkTreePath and it's children. + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_ROOT, g_param_spec_boxed ("root", @@ -266,6 +310,16 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_TREE_PATH, GTK_PARAM_READWRITE)); + /** + * GtkTreeMenu:cell-area: + * + * The #GtkCellArea used to render cells in the menu items. + * + * You can provide a different cell area at object construction + * time, otherwise the #GtkTreeMenu will use a #GtkCellAreaBox. + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_CELL_AREA, g_param_spec_object ("cell-area", @@ -274,6 +328,13 @@ gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_CELL_AREA, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /** + * GtkTreeMenu:tearoff: + * + * Specifies whether this menu comes with a leading tearoff menu item + * + * Since: 3.0 + */ g_object_class_install_property (object_class, PROP_TEAROFF, g_param_spec_boolean ("tearoff", @@ -1469,12 +1530,32 @@ gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, /**************************************************************** * API * ****************************************************************/ + +/** + * gtk_tree_menu_new: + * + * Creates a new #GtkTreeMenu. + * + * Return value: A newly created #GtkTreeMenu with no model or root. + * + * Since: 3.0 + */ GtkWidget * gtk_tree_menu_new (void) { return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, NULL); } +/** + * gtk_tree_menu_new_with_area: + * @area: the #GtkCellArea to use to render cells in the menu + * + * Creates a new #GtkTreeMenu using @area to render it's cells. + * + * Return value: A newly created #GtkTreeMenu with no model or root. + * + * Since: 3.0 + */ GtkWidget * gtk_tree_menu_new_with_area (GtkCellArea *area) { @@ -1483,6 +1564,18 @@ gtk_tree_menu_new_with_area (GtkCellArea *area) NULL); } +/** + * gtk_tree_menu_new_full: + * @area: (allow-none): the #GtkCellArea to use to render cells in the menu, or %NULL. + * @model: (allow-none): the #GtkTreeModel to build the menu heirarchy from, or %NULL. + * @root: (allow-none): the #GtkTreePath indicating the root row for this menu, or %NULL. + * + * Creates a new #GtkTreeMenu hierarchy from the provided @model and @root using @area to render it's cells. + * + * Return value: A newly created #GtkTreeMenu. + * + * Since: 3.0 + */ GtkWidget * gtk_tree_menu_new_full (GtkCellArea *area, GtkTreeModel *model, @@ -1495,6 +1588,15 @@ gtk_tree_menu_new_full (GtkCellArea *area, NULL); } +/** + * gtk_tree_menu_set_model: + * @menu: a #GtkTreeMenu + * @model: (allow-none): the #GtkTreeModel to build the menu hierarchy from, or %NULL. + * + * Sets @model to be used to build the menu heirarhcy. + * + * Since: 3.0 + */ void gtk_tree_menu_set_model (GtkTreeMenu *menu, GtkTreeModel *model) @@ -1507,6 +1609,17 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, rebuild_menu (menu); } +/** + * gtk_tree_menu_get_model: + * @menu: a #GtkTreeMenu + * + * Gets the @model currently used for the menu heirarhcy. + * + * Return value: (transfer none): the #GtkTreeModel which is used + * for @menu's hierarchy. + * + * Since: 3.0 + */ GtkTreeModel * gtk_tree_menu_get_model (GtkTreeMenu *menu) { @@ -1519,6 +1632,16 @@ gtk_tree_menu_get_model (GtkTreeMenu *menu) return priv->model; } +/** + * gtk_tree_menu_set_root: + * @menu: a #GtkTreeMenu + * @root: (allow-none): the #GtkTreePath which is the root of @menu, or %NULL. + * + * Sets the @root path for @menu's hierarchy. @menu must already + * have a model set and @root must point to a valid path inside the model. + * + * Since: 3.0 + */ void gtk_tree_menu_set_root (GtkTreeMenu *menu, GtkTreePath *path) @@ -1541,6 +1664,18 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, rebuild_menu (menu); } +/** + * gtk_tree_menu_get_root: + * @menu: a #GtkTreeMenu + * + * Gets the @root path for @menu's hierarchy, or returns %NULL if @menu + * has no model or is building a heirarchy for the entire model. * + * + * Return value: (transfer full) (allow-none): A newly created #GtkTreePath + * pointing to the root of @menu which must be freed with gtk_tree_path_free(). + * + * Since: 3.0 + */ GtkTreePath * gtk_tree_menu_get_root (GtkTreeMenu *menu) { @@ -1556,6 +1691,16 @@ gtk_tree_menu_get_root (GtkTreeMenu *menu) return NULL; } +/** + * gtk_tree_menu_get_tearoff: + * @menu: a #GtkTreeMenu + * + * Gets whether this menu is build with a leading tearoff menu item. + * + * Return value: %TRUE if the menu has a tearoff item. + * + * Since: 3.0 + */ gboolean gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) { @@ -1568,6 +1713,15 @@ gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) return priv->tearoff; } +/** + * gtk_tree_menu_set_tearoff: + * @menu: a #GtkTreeMenu + * @tearoff: whether the menu should have a leading tearoff menu item. + * + * Sets whether this menu has a leading tearoff menu item. + * + * Since: 3.0 + */ void gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, gboolean tearoff) @@ -1588,6 +1742,17 @@ gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, } } +/** + * gtk_tree_menu_get_wrap_width: + * @menu: a #GtkTreeMenu + * + * Gets the wrap width which is used to determine the number of columns + * for @menu. If the wrap width is larger than 1, @menu is in table mode. + * + * Return value: the wrap width. + * + * Since: 3.0 + */ gint gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) { @@ -1600,6 +1765,16 @@ gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) return priv->wrap_width; } +/** + * gtk_tree_menu_set_wrap_width: + * @menu: a #GtkTreeMenu + * @width: the wrap width + * + * Sets the wrap width which is used to determine the number of columns + * for @menu. If the wrap width is larger than 1, @menu is in table mode. + * + * Since: 3.0 + */ void gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, gint width) @@ -1621,6 +1796,18 @@ gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, } } +/** + * gtk_tree_menu_get_row_span_column: + * @menu: a #GtkTreeMenu + * + * Gets the column with row span information for @menu. + * The row span column contains integers which indicate how many rows + * a menu item should span. + * + * Return value: the column in @menu's model containing row span information, or -1. + * + * Since: 3.0 + */ gint gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) { @@ -1633,6 +1820,17 @@ gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) return priv->row_span_col; } +/** + * gtk_tree_menu_set_row_span_column: + * @menu: a #GtkTreeMenu + * @row_span: the column in the model to fetch the row span for a given menu item. + * + * Sets the column with row span information for @menu to be @row_span. + * The row span column contains integers which indicate how many rows + * a menu item should span. + * + * Since: 3.0 + */ void gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, gint row_span) @@ -1654,6 +1852,18 @@ gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, } } +/** + * gtk_tree_menu_get_column_span_column: + * @menu: a #GtkTreeMenu + * + * Gets the column with column span information for @menu. + * The column span column contains integers which indicate how many columns + * a menu item should span. + * + * Return value: the column in @menu's model containing column span information, or -1. + * + * Since: 3.0 + */ gint gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) { @@ -1666,6 +1876,17 @@ gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) return priv->col_span_col; } +/** + * gtk_tree_menu_set_column_span_column: + * @menu: a #GtkTreeMenu + * @column_span: the column in the model to fetch the column span for a given menu item. + * + * Sets the column with column span information for @menu to be @column_span. + * The column span column contains integers which indicate how many columns + * a menu item should span. + * + * Since: 3.0 + */ void gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, gint column_span) @@ -1687,6 +1908,16 @@ gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, } } +/** + * gtk_tree_menu_get_row_separator_func: + * @menu: a #GtkTreeMenu + * + * Gets the current #GtkTreeViewRowSeparatorFunc separator function. + * + * Return value: the current row separator function. + * + * Since: 3.0 + */ GtkTreeViewRowSeparatorFunc gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) { @@ -1699,6 +1930,19 @@ gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) return priv->row_separator_func; } +/** + * gtk_tree_menu_set_row_separator_func: + * @menu: a #GtkTreeMenu + * @func: (allow-none): a #GtkTreeViewRowSeparatorFunc, or %NULL to unset the separator function. + * @data: (allow-none): user data to pass to @func, or %NULL + * @destroy: (allow-none): destroy notifier for @data, or %NULL + * + * Sets the row separator function, which is used to determine + * whether a row should be drawn as a separator. If the row separator + * function is %NULL, no separators are drawn. This is the default value. + * + * Since: 3.0 + */ void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, GtkTreeViewRowSeparatorFunc func, @@ -1721,6 +1965,16 @@ gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, rebuild_menu (menu); } +/** + * gtk_tree_menu_get_header_func: + * @menu: a #GtkTreeMenu + * + * Gets the current #GtkTreeMenuHeaderFunc header function. + * + * Return value: the current header function. + * + * Since: 3.0 + */ GtkTreeMenuHeaderFunc gtk_tree_menu_get_header_func (GtkTreeMenu *menu) { @@ -1733,6 +1987,22 @@ gtk_tree_menu_get_header_func (GtkTreeMenu *menu) return priv->header_func; } +/** + * gtk_tree_menu_set_header_func: + * @menu: a #GtkTreeMenu + * @func: (allow-none): a #GtkTreeMenuHeaderFunc, or %NULL to unset the header function. + * @data: (allow-none): user data to pass to @func, or %NULL + * @destroy: (allow-none): destroy notifier for @data, or %NULL + * + * Sets the header function, which is used to determine + * whether a row width children should contain a leading header + * menu item to allow that row to be selectable as an independant + * menu item. If the header function is %NULL, no rows with children + * have menu items which can be activated as leafs. + * This is the default value. + * + * Since: 3.0 + */ void gtk_tree_menu_set_header_func (GtkTreeMenu *menu, GtkTreeMenuHeaderFunc func, diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 812c820ef7..5f92c6d4d6 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -46,6 +46,19 @@ typedef struct _GtkTreeMenu GtkTreeMenu; typedef struct _GtkTreeMenuClass GtkTreeMenuClass; typedef struct _GtkTreeMenuPrivate GtkTreeMenuPrivate; +/** + * GtkTreeMenuHeaderFunc: + * @model: a #GtkTreeModel + * @iter: the #GtkTreeIter pointing at a row in @model + * @data: user data + * + * Function type for determining whether the row pointed to by @iter + * which has children should be replicated as a header item in the + * child menu. + * + * Return value: %TRUE if @iter should have an activatable header menu + * item created for it in a submenu. + */ typedef gboolean (*GtkTreeMenuHeaderFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); @@ -54,6 +67,7 @@ struct _GtkTreeMenu { GtkMenu parent_instance; + /*< private >*/ GtkTreeMenuPrivate *priv; }; @@ -61,6 +75,7 @@ struct _GtkTreeMenuClass { GtkMenuClass parent_class; + /*< private >*/ /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); @@ -68,8 +83,6 @@ struct _GtkTreeMenuClass void (*_gtk_reserved4) (void); void (*_gtk_reserved5) (void); void (*_gtk_reserved6) (void); - void (*_gtk_reserved7) (void); - void (*_gtk_reserved8) (void); }; GType gtk_tree_menu_get_type (void) G_GNUC_CONST; From e8503f600e0893c9b217991fe1e8e2ff5add0a79 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 18:29:40 +0900 Subject: [PATCH 1102/1463] Added GtkTreeMenu to gtk+ documentation and updated sections for newly added GtkCellView apis. --- docs/reference/gtk/gtk-docs.sgml | 1 + docs/reference/gtk/gtk3-sections.txt | 41 ++++++++++++++++++++++++++++ docs/reference/gtk/gtk3.types | 1 + 3 files changed, 43 insertions(+) diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index ca98b8f6fa..822fb4c010 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -173,6 +173,7 @@ + diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 37f7c281e4..b4405791f2 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -783,6 +783,42 @@ GtkColorSelectionDialogPrivate gtk_color_selection_dialog_get_type
+
+gtktreemenu +GtkTreeMenu +GtkTreeMenu +GtkTreeMenuClass +GtkTreeMenuHeaderFunc +gtk_tree_menu_new +gtk_tree_menu_new_with_area +gtk_tree_menu_new_full +gtk_tree_menu_set_model +gtk_tree_menu_get_model +gtk_tree_menu_set_root +gtk_tree_menu_get_root +gtk_tree_menu_get_tearoff +gtk_tree_menu_set_tearoff +gtk_tree_menu_get_wrap_width +gtk_tree_menu_set_wrap_width +gtk_tree_menu_get_row_span_column +gtk_tree_menu_set_row_span_column +gtk_tree_menu_get_column_span_column +gtk_tree_menu_set_column_span_column +gtk_tree_menu_get_row_separator_func +gtk_tree_menu_set_row_separator_func +gtk_tree_menu_get_header_func +gtk_tree_menu_set_header_func + +GTK_TREE_MENU +GTK_IS_TREE_MENU +GTK_TYPE_TREE_MENU +gtk_tree_menu_get_type +GTK_TREE_MENU_CLASS +GTK_IS_TREE_MENU_CLASS +GTK_TREE_MENU_GET_CLASS +GtkTreeMenuPrivate +
+
gtkcombobox GtkComboBox @@ -4325,6 +4361,7 @@ gtk_tree_view_get_type GtkCellView GtkCellView gtk_cell_view_new +gtk_cell_view_new_with_context gtk_cell_view_new_with_text gtk_cell_view_new_with_markup gtk_cell_view_new_with_pixbuf @@ -4335,6 +4372,10 @@ gtk_cell_view_get_displayed_row gtk_cell_view_get_size_of_row gtk_cell_view_set_background_color gtk_cell_view_set_background_rgba +gtk_cell_view_set_draw_sensitive +gtk_cell_view_get_draw_sensitive +gtk_cell_view_set_fit_model +gtk_cell_view_get_fit_model GtkCellViewClass GTK_TYPE_CELL_VIEW diff --git a/docs/reference/gtk/gtk3.types b/docs/reference/gtk/gtk3.types index fe0ff45f6b..8872e9dd70 100644 --- a/docs/reference/gtk/gtk3.types +++ b/docs/reference/gtk/gtk3.types @@ -167,6 +167,7 @@ gtk_tool_item_group_get_type gtk_tool_palette_get_type gtk_tree_drag_dest_get_type gtk_tree_drag_source_get_type +gtk_tree_menu_get_type gtk_tree_model_filter_get_type gtk_tree_model_get_type gtk_tree_model_sort_get_type From 1f1e94739b40d0a43e084d051a22147667297ed6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 18:43:37 +0900 Subject: [PATCH 1103/1463] Added remaining missing gtk-doc statements for GtkCellView. --- gtk/gtkcellview.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index ea212308b5..539554198c 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -1285,6 +1285,18 @@ gtk_cell_view_set_background_rgba (GtkCellView *cell_view, gtk_widget_queue_draw (GTK_WIDGET (cell_view)); } +/** + * gtk_cell_view_get_draw_sensitive: + * @cell_view: a #GtkCellView + * + * Gets whether @cell_view is configured to draw all of it's + * cells in a sensitive state. + * + * Return value: whether @cell_view draws all of it's + * cells in a sensitive state + * + * Since: 3.0 + */ gboolean gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view) { @@ -1297,6 +1309,18 @@ gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view) return priv->draw_sensitive; } +/** + * gtk_cell_view_set_draw_sensitive: + * @cell_view: a #GtkCellView + * @draw_sensitive: whether to draw all cells in a sensitive state. + * + * Sets whether @cell_view should draw all of it's + * cells in a sensitive state, this is used by #GtkTreeMenu + * to ensure that rows with insensitive cells that contain + * children appear sensitive in the parent menu item. + * + * Since: 3.0 + */ void gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, gboolean draw_sensitive) @@ -1315,6 +1339,18 @@ gtk_cell_view_set_draw_sensitive (GtkCellView *cell_view, } } +/** + * gtk_cell_view_get_fit_model: + * @cell_view: a #GtkCellView + * + * Gets whether @cell_view is configured to request space + * to fit the entire #GtkTreeModel. + * + * Return value: whether @cell_view requests space to fit + * the entire #GtkTreeModel. + * + * Since: 3.0 + */ gboolean gtk_cell_view_get_fit_model (GtkCellView *cell_view) { @@ -1327,6 +1363,19 @@ gtk_cell_view_get_fit_model (GtkCellView *cell_view) return priv->fit_model; } +/** + * gtk_cell_view_set_fit_model: + * @cell_view: a #GtkCellView + * @fit_model: whether @cell_view should request space for the whole model. + * + * Sets whether @cell_view should request space to fit the entire #GtkTreeModel. + * + * This is used by #GtkComboBox to ensure that the cell view displayed on + * the combo box's button always gets enough space and does not resize + * when selection changes. + * + * Since: 3.0 + */ void gtk_cell_view_set_fit_model (GtkCellView *cell_view, gboolean fit_model) From 613545f821b4eb226cca5d53d816e51550043f19 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 18:44:23 +0900 Subject: [PATCH 1104/1463] Fixed a broken gtk-doc statement in gtktreemenu.c --- gtk/gtktreemenu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 169af2735e..bbb83f4658 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -1635,10 +1635,10 @@ gtk_tree_menu_get_model (GtkTreeMenu *menu) /** * gtk_tree_menu_set_root: * @menu: a #GtkTreeMenu - * @root: (allow-none): the #GtkTreePath which is the root of @menu, or %NULL. + * @path: (allow-none): the #GtkTreePath which is the root of @menu, or %NULL. * - * Sets the @root path for @menu's hierarchy. @menu must already - * have a model set and @root must point to a valid path inside the model. + * Sets the root of a @menu's hierarchy to be @path. @menu must already + * have a model set and @path must point to a valid path inside the model. * * Since: 3.0 */ From 85609d124a69ae3be89e50202481beee46ee08bc Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 3 Dec 2010 18:55:24 +0900 Subject: [PATCH 1105/1463] Added clarification to the GtkCellView:cell-area-context documentation. --- gtk/gtkcellview.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 539554198c..a63b7f5ba8 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -247,6 +247,15 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) * * The #GtkCellAreaContext used to compute the geometry of the cell view. * + * A group of cell views can be assigned the same context in order to + * ensure the sizes and cell alignments match across all the views with + * the same context. + * + * #GtkTreeMenu uses this to assign the same context to all cell views + * in the menu items for a single menu (each submenu creates it's own + * context since the size of each submenu does not depend on parent + * or sibling menus). + * * since 3.0 */ g_object_class_install_property (gobject_class, From 0c9c0319622a8052ab310080ac446b60a26285b2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 4 Dec 2010 17:14:32 +0900 Subject: [PATCH 1106/1463] Fixing GtkCellView to not strcmp() in buildable_custom_tag_end() GtkCellLayout function now returns boolean if one of the tags it was interested in was handled. --- gtk/gtkcellview.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index a63b7f5ba8..402fb48dbb 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -832,9 +832,9 @@ gtk_cell_view_buildable_custom_tag_end (GtkBuildable *buildable, const gchar *tagname, gpointer *data) { - if (strcmp (tagname, "attributes") == 0 || strcmp (tagname, "cell-packing") == 0) - _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, - data); + if (_gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, + data)) + return; else if (parent_buildable_iface->custom_tag_end) parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, data); From f3de78a023a5509f5defaf0137569cfef0349e19 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 5 Dec 2010 18:03:32 +0900 Subject: [PATCH 1107/1463] Fixing GtkComboBox breakage after merge, completing hand-merge of style-context GtkBorder issues (now it works again). --- gtk/gtkcombobox.c | 224 +++++++++++++++++++++++----------------------- 1 file changed, 110 insertions(+), 114 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index dfc39607eb..5f2edf43aa 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -42,6 +42,7 @@ #include "gtkcellareabox.h" #include "gtktreemenu.h" #include "gtkprivate.h" +#include "gtkentryprivate.h" #include @@ -387,6 +388,7 @@ struct _GtkComboBoxPrivate gint text_column; GtkCellRenderer *text_renderer; + guint in_construction : 1; guint popup_in_progress : 1; guint popup_shown : 1; guint add_tearoffs : 1; @@ -977,7 +979,6 @@ static void gtk_combo_box_init (GtkComboBox *combo_box) { GtkComboBoxPrivate *priv; - GtkStyleContext *context; combo_box->priv = G_TYPE_INSTANCE_GET_PRIVATE (combo_box, GTK_TYPE_COMBO_BOX, @@ -1005,9 +1006,6 @@ gtk_combo_box_init (GtkComboBox *combo_box) priv->text_column = -1; priv->text_renderer = NULL; priv->id_column = -1; - - context = gtk_widget_get_style_context (GTK_WIDGET (combo_box)); - gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); } /****************************************************** @@ -1021,6 +1019,7 @@ gtk_combo_box_constructor (GType type, GObject *object; GtkComboBox *combo_box; GtkComboBoxPrivate *priv; + GtkStyleContext *context; object = G_OBJECT_CLASS (gtk_combo_box_parent_class)->constructor (type, n_construct_properties, construct_properties); @@ -1035,6 +1034,18 @@ gtk_combo_box_constructor (GType type, priv->area = g_object_ref_sink (area); } + priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); + gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); + gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (combo_box)); + _gtk_bin_set_child (GTK_BIN (combo_box), priv->cell_view); + gtk_widget_show (priv->cell_view); + + gtk_combo_box_check_appearance (combo_box); + + context = gtk_widget_get_style_context (GTK_WIDGET (combo_box)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); + if (priv->has_entry) { GtkWidget *entry; @@ -1052,16 +1063,6 @@ gtk_combo_box_constructor (GType type, g_signal_connect (combo_box, "changed", G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); } - else - { - priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); - gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); - gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); - gtk_container_add (GTK_CONTAINER (combo_box), priv->cell_view); - gtk_widget_show (priv->cell_view); - } - - gtk_combo_box_check_appearance (combo_box); return object; } @@ -1806,6 +1807,23 @@ gtk_combo_box_destroy (GtkWidget *widget) combo_box->priv->cell_view = NULL; } +static void +get_widget_border (GtkWidget *widget, + GtkBorder *border) +{ + GtkStyleContext *context; + GtkBorder *border_width; + + context = gtk_widget_get_style_context (widget); + + gtk_style_context_get (context, + gtk_widget_get_state_flags (widget), + "border-width", &border_width, + NULL); + + *border = *border_width; + gtk_border_free (border_width); +} static void gtk_combo_box_get_preferred_width (GtkWidget *widget, @@ -1820,10 +1838,11 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, PangoFontMetrics *metrics; PangoFontDescription *font_desc; GtkWidget *child; - gint minimum_width, natural_width; + gint minimum_width = 0, natural_width = 0; gint child_min, child_nat; GtkStyleContext *style_context; GtkStateFlags state; + GtkBorder *border; child = gtk_bin_get_child (GTK_BIN (widget)); @@ -1841,6 +1860,7 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, gtk_style_context_get (style_context, state, "font", &font_desc, + "border-width", &border, NULL); context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); @@ -1861,15 +1881,17 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, if (priv->cell_view) { gint sep_width, arrow_width; - gint border_width, xthickness, xpad; + gint border_width, xpad; + GtkBorder button_border; border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - xthickness = get_widget_border_thickness (priv->button); + get_widget_border (priv->button, &button_border); gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - xpad = 2*(border_width + xthickness + focus_width + focus_pad); + xpad = 2 * (border_width + focus_width + focus_pad) + + button_border.left + button_border.right; minimum_width = child_min + sep_width + arrow_width + xpad; natural_width = child_nat + sep_width + arrow_width + xpad; @@ -1901,8 +1923,12 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, { if (priv->has_frame) { - gint border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - gint xpad = 2 * (border_width + get_widget_border_thickness (priv->cell_view_frame)); + gint border_width, xpad; + GtkBorder frame_border; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + get_widget_border (priv->cell_view_frame, &frame_border); + xpad = (2 * border_width) + frame_border.left + frame_border.right; minimum_width += xpad; natural_width += xpad; @@ -1917,14 +1943,9 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, natural_width += button_nat_width; } - if (GTK_SHADOW_NONE != priv->shadow_type) - { - gint thickness; - - thickness = get_widget_border_thickness (GTK_WIDGET (widget)); - minimum_width += 2 * thickness; - natural_width += 2 * thickness; - } + minimum_width += border->left + border->right; + natural_width += border->left + border->right; + gtk_border_free (border); if (minimum_size) *minimum_size = minimum_width; @@ -1967,21 +1988,20 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, GtkComboBox *combo_box = GTK_COMBO_BOX (widget); GtkComboBoxPrivate *priv = combo_box->priv; gint focus_width, focus_pad; - gint min_height, nat_height; + gint min_height = 0, nat_height = 0; gint size; GtkWidget *child; + GtkBorder border; gtk_widget_style_get (GTK_WIDGET (widget), "focus-line-width", &focus_width, "focus-padding", &focus_pad, NULL); - size = avail_size; - child = gtk_bin_get_child (GTK_BIN (widget)); - if (GTK_SHADOW_NONE != priv->shadow_type) - size -= get_widget_border_thickness (widget); + get_widget_border (widget, &border); + size = avail_size - border.left; if (!priv->tree_view) { @@ -1990,10 +2010,11 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, { /* calculate x/y padding and separator/arrow size */ gint sep_width, arrow_width, sep_height, arrow_height; - gint border_width, xthickness, ythickness, xpad, ypad; + gint border_width, xpad, ypad; + GtkBorder button_border; border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - xthickness = ythickness = get_widget_border_thickness (priv->button); + get_widget_border (priv->button, &button_border); gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); @@ -2002,8 +2023,10 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, gtk_widget_get_preferred_height_for_width (priv->arrow, arrow_width, &arrow_height, NULL); - xpad = 2*(border_width + xthickness + focus_width + focus_pad); - ypad = 2*(border_width + ythickness + focus_width + focus_pad); + xpad = 2 * (border_width + focus_width + focus_pad) + + button_border.left + button_border.right; + ypad = 2 * (border_width + focus_width + focus_pad) + + button_border.top + button_border.bottom; size -= sep_width + arrow_width + xpad; @@ -2049,14 +2072,14 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, if (priv->cell_view_frame && priv->has_frame) { + GtkBorder frame_border; gint border_width; - gint thickness; border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - thickness = get_widget_border_thickness (GTK_WIDGET (priv->cell_view_frame)); + get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border); - xpad = 2 * (border_width + thickness); - ypad = 2 * (border_width + thickness); + xpad = (2 * border_width) + border.left + frame_border.right; + ypad = (2 * border_width) + border.top + frame_border.bottom; } size -= but_width; @@ -2074,14 +2097,8 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, nat_height += ypad; } - if (GTK_SHADOW_NONE != priv->shadow_type) - { - gint thickness; - - thickness = get_widget_border_thickness (widget); - min_height += 2 * thickness; - nat_height += 2 * thickness; - } + min_height += border.top + border.bottom; + nat_height += border.top + border.bottom; if (minimum_size) *minimum_size = min_height; @@ -2095,32 +2112,18 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, &req, NULL); \ \ if (is_rtl) \ - child.x = allocation->x + shadow_width; \ + child.x = allocation->x + border.right; \ else \ - child.x = allocation->x + allocation->width - req.width - shadow_width; \ + child.x = allocation->x + allocation->width - req.width - border.left; \ \ - child.y = allocation->y + shadow_height; \ + child.y = allocation->y + border.top; \ child.width = req.width; \ - child.height = allocation->height - 2 * shadow_height; \ + child.height = allocation->height - (border.top + border.bottom); \ child.width = MAX (1, child.width); \ child.height = MAX (1, child.height); \ \ gtk_widget_size_allocate (combo_box->priv->button, &child); -static gint -get_widget_border_thickness (GtkWidget *widget) -{ - GtkStyleContext *context; - gint thickness; - - context = gtk_widget_get_style_context (widget); - - gtk_style_context_get (context, - gtk_widget_get_state_flags (widget), - "border-width", &thickness, - NULL); - return thickness; -} static void gtk_combo_box_size_allocate (GtkWidget *widget, @@ -2129,47 +2132,40 @@ gtk_combo_box_size_allocate (GtkWidget *widget, GtkComboBox *combo_box = GTK_COMBO_BOX (widget); GtkComboBoxPrivate *priv = combo_box->priv; GtkWidget *child_widget; - gint shadow_width, shadow_height; gint focus_width, focus_pad; GtkAllocation child; GtkRequisition req; gboolean is_rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; + GtkBorder border; gtk_widget_set_allocation (widget, allocation); child_widget = gtk_bin_get_child (GTK_BIN (widget)); + get_widget_border (widget, &border); gtk_widget_style_get (widget, "focus-line-width", &focus_width, "focus-padding", &focus_pad, NULL); - if (GTK_SHADOW_NONE != priv->shadow_type) - shadow_width = shadow_height = get_widget_border_thickness (widget); - else - { - shadow_width = 0; - shadow_height = 0; - } - if (!priv->tree_view) { if (priv->cell_view) { - gint xthickness, ythickness; + GtkBorder button_border; gint width; guint border_width; /* menu mode */ - allocation->x += shadow_width; - allocation->y += shadow_height; - allocation->width -= 2 * shadow_width; - allocation->height -= 2 * shadow_height; + allocation->x += border.left; + allocation->y += border.top; + allocation->width -= border.left + border.right; + allocation->height -= border.top + border.bottom; gtk_widget_size_allocate (priv->button, allocation); /* set some things ready */ border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->button)); - xthickness = ythickness = get_widget_border_thickness (priv->button); + get_widget_border (priv->button, &button_border); child.x = allocation->x; child.y = allocation->y; @@ -2178,13 +2174,14 @@ gtk_combo_box_size_allocate (GtkWidget *widget, if (!priv->is_cell_renderer) { - child.x += border_width + xthickness + focus_width + focus_pad; - child.y += border_width + ythickness + focus_width + focus_pad; - width -= 2 * (child.x - allocation->x); - child.height -= 2 * (child.y - allocation->y); + child.x += border_width + button_border.left + focus_width + focus_pad; + child.y += border_width + button_border.top + focus_width + focus_pad; + width -= (2 * (border_width + focus_width + focus_pad)) + + button_border.left + button_border.right; + child.height -= (2 * (border_width + focus_width + focus_pad)) + + button_border.top + button_border.bottom; } - /* handle the children */ gtk_widget_get_preferred_size (priv->arrow, &req, NULL); child.width = req.width; @@ -2207,14 +2204,14 @@ gtk_combo_box_size_allocate (GtkWidget *widget, { child.x += req.width; child.width = allocation->x + allocation->width - - (border_width + xthickness + focus_width + focus_pad) + - (border_width + button_border.right + focus_width + focus_pad) - child.x; } else { child.width = child.x; child.x = allocation->x - + border_width + xthickness + focus_width + focus_pad; + + border_width + button_border.left + focus_width + focus_pad; child.width -= child.x; } @@ -2252,11 +2249,11 @@ gtk_combo_box_size_allocate (GtkWidget *widget, GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON if (is_rtl) - child.x = allocation->x + req.width + shadow_width; + child.x = allocation->x + req.width + border.right; else - child.x = allocation->x + shadow_width; - child.y = allocation->y + shadow_height; - child.width = allocation->width - req.width - 2 * shadow_width; + child.x = allocation->x + border.left; + child.y = allocation->y + border.top; + child.width = allocation->width - req.width - (border.left + border.right); child.width = MAX (1, child.width); child.height = MAX (1, child.height); gtk_widget_size_allocate (child_widget, &child); @@ -2265,11 +2262,7 @@ gtk_combo_box_size_allocate (GtkWidget *widget, else { /* list mode */ - - /* Combobox thickness + border-width */ guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - int delta_x = shadow_width + border_width; - int delta_y = shadow_height + border_width; /* button */ GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON @@ -2286,30 +2279,32 @@ gtk_combo_box_size_allocate (GtkWidget *widget, if (priv->cell_view_frame) { - child.x += delta_x; - child.y += delta_y; - child.width = MAX (1, child.width - delta_x * 2); - child.height = MAX (1, child.height - delta_y * 2); + child.x += border.left + border_width; + child.y += border.top + border_width; + child.width = MAX (1, child.width - (2 * border_width) - (border.left + border.right)); + child.height = MAX (1, child.height - (2 * border_width) - (border.top + border.bottom)); gtk_widget_size_allocate (priv->cell_view_frame, &child); /* the sample */ if (priv->has_frame) { - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - delta_x = delta_y = border_width + get_widget_border_thickness (priv->cell_view_frame); + GtkBorder frame_border; - child.x += delta_x; - child.y += delta_y; - child.width -= delta_x * 2; - child.height -= delta_y * 2; + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + get_widget_border (priv->cell_view_frame, &frame_border); + + child.x += border_width + frame_border.left; + child.y += border_width + frame_border.right; + child.width -= (2 * border_width) + frame_border.left + frame_border.right; + child.height -= (2 * border_width) + frame_border.top + frame_border.bottom; } } else { - child.x += delta_x; - child.y += delta_y; - child.width -= delta_x * 2; - child.height -= delta_y * 2; + child.x += border.left + border_width; + child.y += border.top + border_width; + child.width -= (2 * border_width) - (border.left + border.right); + child.height -= (2 * border_width) - (border.top + border.bottom); } if (gtk_widget_get_visible (priv->popup_window)) @@ -2409,7 +2404,7 @@ gtk_combo_box_remove (GtkContainer *container, GtkWidget *child_widget; child_widget = gtk_bin_get_child (GTK_BIN (container)); - if (widget && widget == child_widget) + if (widget && widget == child_widget && GTK_IS_ENTRY (widget)) { g_signal_handlers_disconnect_by_func (widget, gtk_combo_box_entry_contents_changed, @@ -2826,6 +2821,7 @@ gtk_combo_box_menu_position_below (GtkMenu *menu, GdkScreen *screen; gint monitor_num; GdkRectangle monitor; + GtkBorder border; /* FIXME: is using the size request here broken? */ child = gtk_bin_get_child (GTK_BIN (combo_box)); @@ -2843,8 +2839,8 @@ gtk_combo_box_menu_position_below (GtkMenu *menu, gdk_window_get_root_coords (gtk_widget_get_window (child), sx, sy, &sx, &sy); - if (GTK_SHADOW_NONE != combo_box->priv->shadow_type) - sx -= get_widget_border_thickness (GTK_WIDGET (combo_box)); + get_widget_border (GTK_WIDGET (combo_box), &border); + sx -= border.left; if (combo_box->priv->popup_fixed_width) gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL); From ee02ac58630ecfc97b43c8a9388e7dfb4f482b31 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 21:30:00 +0900 Subject: [PATCH 1108/1463] Re-refactored GtkComboBox to not reorder the file. Turns out reordering the file the way I did before put me in an unmergable situation, now re-refactored the combo and list-mode works again. --- gtk/gtkcombobox.c | 4594 +++++++++++++++++++++++---------------------- 1 file changed, 2360 insertions(+), 2234 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 5f2edf43aa..6d594400d2 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -19,7 +19,8 @@ #include "config.h" #include "gtkcombobox.h" - +#include "gtkcellareabox.h" +#include "gtktreemenu.h" #include "gtkarrow.h" #include "gtkbindings.h" #include "gtkcelllayout.h" @@ -39,10 +40,7 @@ #include "gtktreeselection.h" #include "gtkvseparator.h" #include "gtkwindow.h" -#include "gtkcellareabox.h" -#include "gtktreemenu.h" #include "gtkprivate.h" -#include "gtkentryprivate.h" #include @@ -54,6 +52,7 @@ #include "gtkmarshalers.h" #include "gtkintl.h" +#include "gtkentryprivate.h" #include "gtktreeprivate.h" @@ -85,6 +84,78 @@ /* WELCOME, to THE house of evil code */ +struct _GtkComboBoxPrivate +{ + GtkTreeModel *model; + + GtkCellArea *area; + + gint col_column; + gint row_column; + + gint wrap_width; + GtkShadowType shadow_type; + + gint active; /* Only temporary */ + GtkTreeRowReference *active_row; + + GtkWidget *tree_view; + GtkTreeViewColumn *column; + + GtkWidget *cell_view; + GtkWidget *cell_view_frame; + + GtkWidget *button; + GtkWidget *box; + GtkWidget *arrow; + GtkWidget *separator; + + GtkWidget *popup_widget; + GtkWidget *popup_window; + GtkWidget *scrolled_window; + + gulong inserted_id; + gulong deleted_id; + gulong reordered_id; + gulong changed_id; + guint popup_idle_id; + guint activate_button; + guint32 activate_time; + guint scroll_timer; + guint resize_idle_id; + + gint minimum_width; + gint natural_width; + + /* For "has-entry" specific behavior we track + * an automated cell renderer and text column */ + gint text_column; + GtkCellRenderer *text_renderer; + + gint id_column; + + guint popup_in_progress : 1; + guint popup_shown : 1; + guint add_tearoffs : 1; + guint has_frame : 1; + guint is_cell_renderer : 1; + guint editing_canceled : 1; + guint auto_scroll : 1; + guint focus_on_click : 1; + guint button_sensitivity : 2; + guint has_entry : 1; + guint popup_fixed_width : 1; + + GtkTreeViewRowSeparatorFunc row_separator_func; + gpointer row_separator_data; + GDestroyNotify row_separator_destroy; + + GdkDevice *grab_pointer; + GdkDevice *grab_keyboard; + + gchar *tearoff_title; +}; + /* While debugging this evil code, I have learned that * there are actually 4 modes to this widget, which can * be characterized as follows @@ -139,12 +210,52 @@ * */ -/* GObjectClass */ +enum { + CHANGED, + MOVE_ACTIVE, + POPUP, + POPDOWN, + LAST_SIGNAL +}; + +enum { + PROP_0, + PROP_MODEL, + PROP_WRAP_WIDTH, + PROP_ROW_SPAN_COLUMN, + PROP_COLUMN_SPAN_COLUMN, + PROP_ACTIVE, + PROP_ADD_TEAROFFS, + PROP_TEAROFF_TITLE, + PROP_HAS_FRAME, + PROP_FOCUS_ON_CLICK, + PROP_POPUP_SHOWN, + PROP_BUTTON_SENSITIVITY, + PROP_EDITING_CANCELED, + PROP_HAS_ENTRY, + PROP_ENTRY_TEXT_COLUMN, + PROP_POPUP_FIXED_WIDTH, + PROP_ID_COLUMN, + PROP_ACTIVE_ID, + PROP_CELL_AREA +}; + +static guint combo_box_signals[LAST_SIGNAL] = {0,}; + +#define BONUS_PADDING 4 +#define SCROLL_TIME 100 + +/* common */ + +static void gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface); +static void gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface); static GObject *gtk_combo_box_constructor (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties); static void gtk_combo_box_dispose (GObject *object); static void gtk_combo_box_finalize (GObject *object); +static void gtk_combo_box_destroy (GtkWidget *widget); + static void gtk_combo_box_set_property (GObject *object, guint prop_id, const GValue *value, @@ -154,58 +265,19 @@ static void gtk_combo_box_get_property (GObject *object, GValue *value, GParamSpec *spec); -/* GtkWidgetClass */ -static void gtk_combo_box_destroy (GtkWidget *widget); -static void gtk_combo_box_state_changed (GtkWidget *widget, - GtkStateType previous); -static void gtk_combo_box_grab_focus (GtkWidget *widget); -static void gtk_combo_box_style_updated (GtkWidget *widget); -static void gtk_combo_box_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); -static void gtk_combo_box_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size); -static gboolean gtk_combo_box_draw (GtkWidget *widget, - cairo_t *cr); -static gboolean gtk_combo_box_scroll_event (GtkWidget *widget, - GdkEventScroll *event); - -/* GtkContainerClass */ +static void gtk_combo_box_state_changed (GtkWidget *widget, + GtkStateType previous); +static void gtk_combo_box_grab_focus (GtkWidget *widget); +static void gtk_combo_box_style_updated (GtkWidget *widget); +static void gtk_combo_box_button_toggled (GtkWidget *widget, + gpointer data); +static void gtk_combo_box_button_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous, + gpointer data); static void gtk_combo_box_add (GtkContainer *container, GtkWidget *widget); static void gtk_combo_box_remove (GtkContainer *container, GtkWidget *widget); -static void gtk_combo_box_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); - -/* GtkComboBoxClass (binding handlers) */ -static void gtk_combo_box_real_move_active (GtkComboBox *combo_box, - GtkScrollType scroll); -static void gtk_combo_box_real_popup (GtkComboBox *combo_box); -static gboolean gtk_combo_box_real_popdown (GtkComboBox *combo_box); - - -/* GtkTreeModel signals */ -static void gtk_combo_box_model_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data); -static void gtk_combo_box_model_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data); static void gtk_combo_box_menu_show (GtkWidget *menu, gpointer user_data); @@ -214,19 +286,60 @@ static void gtk_combo_box_menu_hide (GtkWidget *menu, static void gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, GtkWidget *popup); +static void gtk_combo_box_menu_position_below (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data); +static void gtk_combo_box_menu_position_over (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data); +static void gtk_combo_box_menu_position (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data); static void gtk_combo_box_unset_model (GtkComboBox *combo_box); -static void gtk_combo_box_button_toggled (GtkWidget *widget, - gpointer data); -static void gtk_combo_box_button_state_changed (GtkWidget *widget, - GtkStateType previous, - gpointer data); +static void gtk_combo_box_size_allocate (GtkWidget *widget, + GtkAllocation *allocation); +static void gtk_combo_box_forall (GtkContainer *container, + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); +static gboolean gtk_combo_box_draw (GtkWidget *widget, + cairo_t *cr); +static gboolean gtk_combo_box_scroll_event (GtkWidget *widget, + GdkEventScroll *event); static void gtk_combo_box_set_active_internal (GtkComboBox *combo_box, GtkTreePath *path); static void gtk_combo_box_check_appearance (GtkComboBox *combo_box); +static void gtk_combo_box_real_move_active (GtkComboBox *combo_box, + GtkScrollType scroll); +static void gtk_combo_box_real_popup (GtkComboBox *combo_box); +static gboolean gtk_combo_box_real_popdown (GtkComboBox *combo_box); +/* listening to the model */ +static void gtk_combo_box_model_row_inserted (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data); +static void gtk_combo_box_model_row_deleted (GtkTreeModel *model, + GtkTreePath *path, + gpointer user_data); +static void gtk_combo_box_model_rows_reordered (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + gpointer user_data); +static void gtk_combo_box_model_row_changed (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data); static void gtk_combo_box_model_row_expanded (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, @@ -264,19 +377,26 @@ static gboolean gtk_combo_box_list_select_func (GtkTreeSelection *selection, gboolean path_currently_selected, gpointer data); +static void gtk_combo_box_list_row_changed (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data); static void gtk_combo_box_list_popup_resize (GtkComboBox *combo_box); /* menu */ static void gtk_combo_box_menu_setup (GtkComboBox *combo_box, gboolean add_children); -static void gtk_combo_box_menu_destroy (GtkComboBox *combo_box); static void gtk_combo_box_update_title (GtkComboBox *combo_box); +static void gtk_combo_box_menu_destroy (GtkComboBox *combo_box); + + static gboolean gtk_combo_box_menu_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data); static void gtk_combo_box_menu_activate (GtkWidget *menu, const gchar *path, GtkComboBox *combo_box); +static void gtk_combo_box_update_sensitivity (GtkComboBox *combo_box); static gboolean gtk_combo_box_menu_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data); @@ -284,21 +404,8 @@ static void gtk_combo_box_menu_popup (GtkComboBox *combo_box, guint button, guint32 activate_time); -static void gtk_combo_box_menu_position_below (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data); -static void gtk_combo_box_menu_position_over (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data); -static void gtk_combo_box_menu_position (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data); +/* cell layout */ +GtkCellArea *gtk_combo_box_cell_layout_get_area (GtkCellLayout *cell_layout); static gboolean gtk_combo_box_mnemonic_activate (GtkWidget *widget, gboolean group_cycling); @@ -313,7 +420,11 @@ static void gtk_combo_box_entry_contents_changed (GtkEntry *e gpointer user_data); static void gtk_combo_box_entry_active_changed (GtkComboBox *combo_box, gpointer user_data); -/* GtkBuildableIface */ + + +/* GtkBuildable method implementation */ +static GtkBuildableIface *parent_buildable_iface; + static void gtk_combo_box_buildable_init (GtkBuildableIface *iface); static gboolean gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, @@ -330,126 +441,25 @@ static GObject *gtk_combo_box_buildable_get_internal_child (GtkBuildable *buil GtkBuilder *builder, const gchar *childname); -/* GtkCellEditable */ -static void gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface); + +/* GtkCellEditable method implementations */ static void gtk_combo_box_start_editing (GtkCellEditable *cell_editable, GdkEvent *event); -/* GtkCellLayoutIface */ -static void gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface); -static GtkCellArea *gtk_combo_box_cell_layout_get_area (GtkCellLayout *layout); - - -struct _GtkComboBoxPrivate -{ - GtkTreeModel *model; - - /* The cell area shared with the treeview or treemenu */ - GtkCellArea *area; - - gint col_column; - gint row_column; - gint id_column; - - gint wrap_width; - GtkShadowType shadow_type; - - gint active; /* Only temporary */ - GtkTreeRowReference *active_row; - - - /* The cellview displayed on the button */ - GtkWidget *cell_view; - GtkWidget *cell_view_frame; - - /* The treeview & column for list mode */ - GtkWidget *tree_view; - GtkTreeViewColumn *column; - - GtkWidget *button; - GtkWidget *box; - GtkWidget *arrow; - GtkWidget *separator; - - GtkWidget *popup_widget; - GtkWidget *popup_window; - GtkWidget *scrolled_window; - - gulong inserted_id; - gulong deleted_id; - guint popup_idle_id; - guint activate_button; - guint32 activate_time; - guint scroll_timer; - guint resize_idle_id; - - /* For "has-entry" specific behavior we track - * an automated cell renderer and text column */ - gint text_column; - GtkCellRenderer *text_renderer; - - guint in_construction : 1; - guint popup_in_progress : 1; - guint popup_shown : 1; - guint add_tearoffs : 1; - guint has_frame : 1; - guint is_cell_renderer : 1; - guint editing_canceled : 1; - guint auto_scroll : 1; - guint focus_on_click : 1; - guint button_sensitivity : 2; - guint has_entry : 1; - guint popup_fixed_width : 1; - - GtkTreeViewRowSeparatorFunc row_separator_func; - gpointer row_separator_data; - GDestroyNotify row_separator_destroy; - - GdkDevice *grab_pointer; - GdkDevice *grab_keyboard; - - gchar *tearoff_title; -}; - - -enum { - CHANGED, - MOVE_ACTIVE, - POPUP, - POPDOWN, - LAST_SIGNAL -}; - -enum { - PROP_0, - PROP_MODEL, - PROP_WRAP_WIDTH, - PROP_ROW_SPAN_COLUMN, - PROP_COLUMN_SPAN_COLUMN, - PROP_ACTIVE, - PROP_ADD_TEAROFFS, - PROP_TEAROFF_TITLE, - PROP_HAS_FRAME, - PROP_FOCUS_ON_CLICK, - PROP_POPUP_SHOWN, - PROP_BUTTON_SENSITIVITY, - PROP_EDITING_CANCELED, - PROP_HAS_ENTRY, - PROP_ENTRY_TEXT_COLUMN, - PROP_POPUP_FIXED_WIDTH, - PROP_ID_COLUMN, - PROP_ACTIVE_ID, - PROP_CELL_AREA -}; - -#define BONUS_PADDING 4 -#define SCROLL_TIME 100 - -static guint combo_box_signals[LAST_SIGNAL] = {0,}; - - -/* GtkBuildable method implementation */ -static GtkBuildableIface *parent_buildable_iface; +static void gtk_combo_box_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size); G_DEFINE_TYPE_WITH_CODE (GtkComboBox, gtk_combo_box, GTK_TYPE_BIN, @@ -470,31 +480,31 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) GtkWidgetClass *widget_class; GtkBindingSet *binding_set; - object_class = (GObjectClass *)klass; - object_class->constructor = gtk_combo_box_constructor; - object_class->dispose = gtk_combo_box_dispose; - object_class->finalize = gtk_combo_box_finalize; - object_class->set_property = gtk_combo_box_set_property; - object_class->get_property = gtk_combo_box_get_property; + container_class = (GtkContainerClass *)klass; + container_class->forall = gtk_combo_box_forall; + container_class->add = gtk_combo_box_add; + container_class->remove = gtk_combo_box_remove; widget_class = (GtkWidgetClass *)klass; + widget_class->size_allocate = gtk_combo_box_size_allocate; widget_class->draw = gtk_combo_box_draw; widget_class->scroll_event = gtk_combo_box_scroll_event; widget_class->mnemonic_activate = gtk_combo_box_mnemonic_activate; widget_class->grab_focus = gtk_combo_box_grab_focus; widget_class->style_updated = gtk_combo_box_style_updated; widget_class->state_changed = gtk_combo_box_state_changed; - widget_class->size_allocate = gtk_combo_box_size_allocate; widget_class->get_preferred_width = gtk_combo_box_get_preferred_width; widget_class->get_preferred_height = gtk_combo_box_get_preferred_height; widget_class->get_preferred_height_for_width = gtk_combo_box_get_preferred_height_for_width; widget_class->get_preferred_width_for_height = gtk_combo_box_get_preferred_width_for_height; widget_class->destroy = gtk_combo_box_destroy; - container_class = (GtkContainerClass *)klass; - container_class->forall = gtk_combo_box_forall; - container_class->add = gtk_combo_box_add; - container_class->remove = gtk_combo_box_remove; + object_class = (GObjectClass *)klass; + object_class->constructor = gtk_combo_box_constructor; + object_class->dispose = gtk_combo_box_dispose; + object_class->finalize = gtk_combo_box_finalize; + object_class->set_property = gtk_combo_box_set_property; + object_class->get_property = gtk_combo_box_get_property; /* signals */ /** @@ -898,20 +908,6 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) P_("The value of the id column " "for the active row"), NULL, GTK_PARAM_READWRITE)); - /** - * GtkComboBox:cell-area: - * - * The #GtkCellArea used to layout cell renderers for this combo box. - * - * Since: 3.0 - */ - g_object_class_install_property (object_class, - PROP_CELL_AREA, - g_param_spec_object ("cell-area", - P_("Cell Area"), - P_("The GtkCellArea used to layout cells"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkComboBox:popup-fixed-width: @@ -931,6 +927,21 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) TRUE, GTK_PARAM_READWRITE)); + /** + * GtkComboBox:cell-area: + * + * The #GtkCellArea used to layout cell renderers for this combo box. + * + * Since: 3.0 + */ + g_object_class_install_property (object_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + gtk_widget_class_install_style_property (widget_class, g_param_spec_boolean ("appears-as-list", P_("Appears as list"), @@ -975,6 +986,28 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) g_type_class_add_private (object_class, sizeof (GtkComboBoxPrivate)); } +static void +gtk_combo_box_buildable_init (GtkBuildableIface *iface) +{ + parent_buildable_iface = g_type_interface_peek_parent (iface); + iface->add_child = _gtk_cell_layout_buildable_add_child; + iface->custom_tag_start = gtk_combo_box_buildable_custom_tag_start; + iface->custom_tag_end = gtk_combo_box_buildable_custom_tag_end; + iface->get_internal_child = gtk_combo_box_buildable_get_internal_child; +} + +static void +gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface) +{ + iface->get_area = gtk_combo_box_cell_layout_get_area; +} + +static void +gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface) +{ + iface->start_editing = gtk_combo_box_start_editing; +} + static void gtk_combo_box_init (GtkComboBox *combo_box) { @@ -985,6 +1018,9 @@ gtk_combo_box_init (GtkComboBox *combo_box) GtkComboBoxPrivate); priv = combo_box->priv; + priv->minimum_width = 0; + priv->natural_width = 0; + priv->wrap_width = 0; priv->active = -1; @@ -1008,104 +1044,6 @@ gtk_combo_box_init (GtkComboBox *combo_box) priv->id_column = -1; } -/****************************************************** - * GObjectClass * - ******************************************************/ -static GObject * -gtk_combo_box_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) -{ - GObject *object; - GtkComboBox *combo_box; - GtkComboBoxPrivate *priv; - GtkStyleContext *context; - - object = G_OBJECT_CLASS (gtk_combo_box_parent_class)->constructor - (type, n_construct_properties, construct_properties); - - combo_box = GTK_COMBO_BOX (object); - priv = combo_box->priv; - - if (!priv->area) - { - GtkCellArea *area = gtk_cell_area_box_new (); - - priv->area = g_object_ref_sink (area); - } - - priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); - gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); - gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); - gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (combo_box)); - _gtk_bin_set_child (GTK_BIN (combo_box), priv->cell_view); - gtk_widget_show (priv->cell_view); - - gtk_combo_box_check_appearance (combo_box); - - context = gtk_widget_get_style_context (GTK_WIDGET (combo_box)); - gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); - - if (priv->has_entry) - { - GtkWidget *entry; - - entry = gtk_entry_new (); - gtk_widget_show (entry); - gtk_container_add (GTK_CONTAINER (combo_box), entry); - - priv->text_renderer = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), - priv->text_renderer, TRUE); - - gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), -1); - - g_signal_connect (combo_box, "changed", - G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); - } - - return object; -} - -static void -gtk_combo_box_dispose(GObject* object) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (object); - - if (GTK_IS_MENU (combo_box->priv->popup_widget)) - { - gtk_combo_box_menu_destroy (combo_box); - gtk_menu_detach (GTK_MENU (combo_box->priv->popup_widget)); - combo_box->priv->popup_widget = NULL; - } - - if (combo_box->priv->area) - { - g_object_unref (combo_box->priv->area); - combo_box->priv->area = NULL; - } - - G_OBJECT_CLASS (gtk_combo_box_parent_class)->dispose (object); -} - -static void -gtk_combo_box_finalize (GObject *object) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (object); - - if (GTK_IS_TREE_VIEW (combo_box->priv->tree_view)) - gtk_combo_box_list_destroy (combo_box); - - if (combo_box->priv->popup_window) - gtk_widget_destroy (combo_box->priv->popup_window); - - gtk_combo_box_unset_model (combo_box); - - g_free (combo_box->priv->tearoff_title); - - G_OBJECT_CLASS (gtk_combo_box_parent_class)->finalize (object); -} - static void gtk_combo_box_set_property (GObject *object, guint prop_id, @@ -1305,69 +1243,757 @@ gtk_combo_box_get_property (GObject *object, } } -/****************************************************** - * GtkWidgetClass * - ******************************************************/ -static gboolean -gtk_combo_box_draw (GtkWidget *widget, - cairo_t *cr) +static void +gtk_combo_box_state_changed (GtkWidget *widget, + GtkStateType previous) { GtkComboBox *combo_box = GTK_COMBO_BOX (widget); GtkComboBoxPrivate *priv = combo_box->priv; - if (priv->shadow_type != GTK_SHADOW_NONE) + if (gtk_widget_get_realized (widget)) { - GtkStyleContext *context; - GtkStateFlags state; + if (priv->tree_view && priv->cell_view) + { + GtkStyleContext *context; + GtkStateFlags state; + GdkRGBA *color; - context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - gtk_style_context_set_state (context, state); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); - gtk_render_background (context, cr, 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); - gtk_render_frame (context, cr, 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + gtk_style_context_get (context, state, + "background-color", &color, + NULL); + + gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), color); + gdk_rgba_free (color); + } } - gtk_container_propagate_draw (GTK_CONTAINER (widget), - priv->button, cr); - - if (priv->tree_view && priv->cell_view_frame) - { - gtk_container_propagate_draw (GTK_CONTAINER (widget), - priv->cell_view_frame, cr); - } - - gtk_container_propagate_draw (GTK_CONTAINER (widget), - gtk_bin_get_child (GTK_BIN (widget)), - cr); - - return FALSE; + gtk_widget_queue_draw (widget); } +static void +gtk_combo_box_button_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous, + gpointer data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (data); + GtkComboBoxPrivate *priv = combo_box->priv; -typedef struct { - GtkComboBox *combo; + if (gtk_widget_get_realized (widget)) + { + if (!priv->tree_view && priv->cell_view) + gtk_widget_set_state_flags (priv->cell_view, + gtk_widget_get_state_flags (widget), + TRUE); + } + + gtk_widget_queue_draw (widget); +} + +static void +gtk_combo_box_check_appearance (GtkComboBox *combo_box) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + gboolean appears_as_list; + + /* if wrap_width > 0, then we are in grid-mode and forced to use + * unix style + */ + if (priv->wrap_width) + appears_as_list = FALSE; + else + gtk_widget_style_get (GTK_WIDGET (combo_box), + "appears-as-list", &appears_as_list, + NULL); + + if (appears_as_list) + { + /* Destroy all the menu mode widgets, if they exist. */ + if (GTK_IS_MENU (priv->popup_widget)) + gtk_combo_box_menu_destroy (combo_box); + + /* Create the list mode widgets, if they don't already exist. */ + if (!GTK_IS_TREE_VIEW (priv->tree_view)) + gtk_combo_box_list_setup (combo_box); + } + else + { + /* Destroy all the list mode widgets, if they exist. */ + if (GTK_IS_TREE_VIEW (priv->tree_view)) + gtk_combo_box_list_destroy (combo_box); + + /* Create the menu mode widgets, if they don't already exist. */ + if (!GTK_IS_MENU (priv->popup_widget)) + gtk_combo_box_menu_setup (combo_box, TRUE); + } + + gtk_widget_style_get (GTK_WIDGET (combo_box), + "shadow-type", &priv->shadow_type, + NULL); +} + +static void +gtk_combo_box_style_updated (GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkWidget *child; + + gtk_combo_box_check_appearance (combo_box); + + if (priv->tree_view && priv->cell_view) + { + GtkStyleContext *context; + GdkRGBA *color; + + context = gtk_widget_get_style_context (widget); + gtk_style_context_get (context, 0, + "background-color", &color, + NULL); + + gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), + color); + + gdk_rgba_free (color); + } + + child = gtk_bin_get_child (GTK_BIN (combo_box)); + if (GTK_IS_ENTRY (child)) + g_object_set (child, "shadow-type", + GTK_SHADOW_NONE == priv->shadow_type ? + GTK_SHADOW_IN : GTK_SHADOW_NONE, NULL); +} + +static void +gtk_combo_box_button_toggled (GtkWidget *widget, + gpointer data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (data); + + if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) + { + if (!combo_box->priv->popup_in_progress) + gtk_combo_box_popup (combo_box); + } + else + gtk_combo_box_popdown (combo_box); +} + +static void +gtk_combo_box_add (GtkContainer *container, + GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (container); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (priv->has_entry && !GTK_IS_ENTRY (widget)) + { + g_warning ("Attempting to add a widget with type %s to a GtkComboBox that needs an entry " + "(need an instance of GtkEntry or of a subclass)", + G_OBJECT_TYPE_NAME (widget)); + return; + } + + if (priv->cell_view && + gtk_widget_get_parent (priv->cell_view)) + { + gtk_widget_unparent (priv->cell_view); + _gtk_bin_set_child (GTK_BIN (container), NULL); + gtk_widget_queue_resize (GTK_WIDGET (container)); + } + + gtk_widget_set_parent (widget, GTK_WIDGET (container)); + _gtk_bin_set_child (GTK_BIN (container), widget); + + if (priv->cell_view && + widget != priv->cell_view) + { + /* since the cell_view was unparented, it's gone now */ + priv->cell_view = NULL; + + if (!priv->tree_view && priv->separator) + { + gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (priv->separator)), + priv->separator); + priv->separator = NULL; + + gtk_widget_queue_resize (GTK_WIDGET (container)); + } + else if (priv->cell_view_frame) + { + gtk_widget_unparent (priv->cell_view_frame); + priv->cell_view_frame = NULL; + priv->box = NULL; + } + } + + if (priv->has_entry) + { + /* this flag is a hack to tell the entry to fill its allocation. + */ + _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE); + + g_signal_connect (widget, "changed", + G_CALLBACK (gtk_combo_box_entry_contents_changed), + combo_box); + + gtk_entry_set_has_frame (GTK_ENTRY (widget), priv->has_frame); + } +} + +static void +gtk_combo_box_remove (GtkContainer *container, + GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (container); + GtkComboBoxPrivate *priv = combo_box->priv; GtkTreePath *path; - GtkTreeIter iter; - gboolean found; - gboolean set; - gboolean visible; -} SearchData; + gboolean appears_as_list; + + if (priv->has_entry) + { + GtkWidget *child_widget; + + child_widget = gtk_bin_get_child (GTK_BIN (container)); + if (widget && widget == child_widget) + { + g_signal_handlers_disconnect_by_func (widget, + gtk_combo_box_entry_contents_changed, + container); + _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE); + } + } + + if (widget == priv->cell_view) + priv->cell_view = NULL; + + gtk_widget_unparent (widget); + _gtk_bin_set_child (GTK_BIN (container), NULL); + + if (gtk_widget_in_destruction (GTK_WIDGET (combo_box))) + return; + + gtk_widget_queue_resize (GTK_WIDGET (container)); + + if (!priv->tree_view) + appears_as_list = FALSE; + else + appears_as_list = TRUE; + + if (appears_as_list) + gtk_combo_box_list_destroy (combo_box); + else if (GTK_IS_MENU (priv->popup_widget)) + { + gtk_combo_box_menu_destroy (combo_box); + gtk_menu_detach (GTK_MENU (priv->popup_widget)); + priv->popup_widget = NULL; + } + + if (!priv->cell_view) + { + priv->cell_view = gtk_cell_view_new (); + gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (container)); + _gtk_bin_set_child (GTK_BIN (container), priv->cell_view); + + gtk_widget_show (priv->cell_view); + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), + priv->model); + } + + + if (appears_as_list) + gtk_combo_box_list_setup (combo_box); + else + gtk_combo_box_menu_setup (combo_box, TRUE); + + if (gtk_tree_row_reference_valid (priv->active_row)) + { + path = gtk_tree_row_reference_get_path (priv->active_row); + gtk_combo_box_set_active_internal (combo_box, path); + gtk_tree_path_free (path); + } + else + gtk_combo_box_set_active_internal (combo_box, NULL); +} + +static void +gtk_combo_box_menu_show (GtkWidget *menu, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + + gtk_combo_box_child_show (menu, user_data); + + priv->popup_in_progress = TRUE; + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), + TRUE); + priv->popup_in_progress = FALSE; +} + +static void +gtk_combo_box_menu_hide (GtkWidget *menu, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + + gtk_combo_box_child_hide (menu,user_data); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (combo_box->priv->button), + FALSE); +} + +static void +gtk_combo_box_detacher (GtkWidget *widget, + GtkMenu *menu) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + + g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); + + g_signal_handlers_disconnect_by_func (menu->toplevel, + gtk_combo_box_menu_show, + combo_box); + g_signal_handlers_disconnect_by_func (menu->toplevel, + gtk_combo_box_menu_hide, + combo_box); + + priv->popup_widget = NULL; +} + +static void +gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, + GtkWidget *popup) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + + if (GTK_IS_MENU (priv->popup_widget)) + { + gtk_menu_detach (GTK_MENU (priv->popup_widget)); + priv->popup_widget = NULL; + } + else if (priv->popup_widget) + { + gtk_container_remove (GTK_CONTAINER (priv->scrolled_window), + priv->popup_widget); + g_object_unref (priv->popup_widget); + priv->popup_widget = NULL; + } + + if (GTK_IS_MENU (popup)) + { + if (priv->popup_window) + { + gtk_widget_destroy (priv->popup_window); + priv->popup_window = NULL; + } + + priv->popup_widget = popup; + + /* + * Note that we connect to show/hide on the toplevel, not the + * menu itself, since the menu is not shown/hidden when it is + * popped up while torn-off. + */ + g_signal_connect (GTK_MENU (popup)->toplevel, "show", + G_CALLBACK (gtk_combo_box_menu_show), combo_box); + g_signal_connect (GTK_MENU (popup)->toplevel, "hide", + G_CALLBACK (gtk_combo_box_menu_hide), combo_box); + + gtk_menu_attach_to_widget (GTK_MENU (popup), + GTK_WIDGET (combo_box), + gtk_combo_box_detacher); + } + else + { + if (!priv->popup_window) + { + GtkWidget *toplevel; + + priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); + gtk_widget_set_name (priv->popup_window, "gtk-combobox-popup-window"); + + gtk_window_set_type_hint (GTK_WINDOW (priv->popup_window), + GDK_WINDOW_TYPE_HINT_COMBO); + + g_signal_connect (GTK_WINDOW (priv->popup_window),"show", + G_CALLBACK (gtk_combo_box_child_show), + combo_box); + g_signal_connect (GTK_WINDOW (priv->popup_window),"hide", + G_CALLBACK (gtk_combo_box_child_hide), + combo_box); + + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); + if (GTK_IS_WINDOW (toplevel)) + { + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (priv->popup_window)); + gtk_window_set_transient_for (GTK_WINDOW (priv->popup_window), + GTK_WINDOW (toplevel)); + } + + gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE); + gtk_window_set_screen (GTK_WINDOW (priv->popup_window), + gtk_widget_get_screen (GTK_WIDGET (combo_box))); + + priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + GTK_POLICY_NEVER, + GTK_POLICY_NEVER); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), + GTK_SHADOW_IN); + + gtk_widget_show (priv->scrolled_window); + + gtk_container_add (GTK_CONTAINER (priv->popup_window), + priv->scrolled_window); + } + + gtk_container_add (GTK_CONTAINER (priv->scrolled_window), + popup); + + gtk_widget_show (popup); + g_object_ref (popup); + priv->popup_widget = popup; + } +} + +static void +get_widget_border (GtkWidget *widget, + GtkBorder *border) +{ + GtkStyleContext *context; + GtkBorder *border_width; + + context = gtk_widget_get_style_context (widget); + + gtk_style_context_get (context, + gtk_widget_get_state_flags (widget), + "border-width", &border_width, + NULL); + + *border = *border_width; + gtk_border_free (border_width); +} + +static void +gtk_combo_box_menu_position_below (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkAllocation child_allocation; + gint sx, sy; + GtkWidget *child; + GtkRequisition req; + GdkScreen *screen; + gint monitor_num; + GdkRectangle monitor; + GtkBorder border; + + /* FIXME: is using the size request here broken? */ + child = gtk_bin_get_child (GTK_BIN (combo_box)); + + sx = sy = 0; + + gtk_widget_get_allocation (child, &child_allocation); + + if (!gtk_widget_get_has_window (child)) + { + sx += child_allocation.x; + sy += child_allocation.y; + } + + gdk_window_get_root_coords (gtk_widget_get_window (child), + sx, sy, &sx, &sy); + get_widget_border (GTK_WIDGET (combo_box), &border); + sx -= border.left; + + if (combo_box->priv->popup_fixed_width) + gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL); + else + gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &req); + + if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_LTR) + *x = sx; + else + *x = sx + child_allocation.width - req.width; + *y = sy; + + screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); + monitor_num = gdk_screen_get_monitor_at_window (screen, + gtk_widget_get_window (GTK_WIDGET (combo_box))); + gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + + if (*x < monitor.x) + *x = monitor.x; + else if (*x + req.width > monitor.x + monitor.width) + *x = monitor.x + monitor.width - req.width; + + if (monitor.y + monitor.height - *y - child_allocation.height >= req.height) + *y += child_allocation.height; + else if (*y - monitor.y >= req.height) + *y -= req.height; + else if (monitor.y + monitor.height - *y - child_allocation.height > *y - monitor.y) + *y += child_allocation.height; + else + *y -= req.height; + + *push_in = FALSE; +} + +static void +gtk_combo_box_menu_position_over (GtkMenu *menu, + gint *x, + gint *y, + gboolean *push_in, + gpointer user_data) +{ + GtkComboBox *combo_box; + GtkWidget *active; + GtkWidget *child; + GtkWidget *widget; + GtkAllocation allocation; + GtkAllocation child_allocation; + GList *children; + gint screen_width; + gint menu_xpos; + gint menu_ypos; + gint menu_width; + + combo_box = GTK_COMBO_BOX (user_data); + widget = GTK_WIDGET (combo_box); + + active = gtk_menu_get_active (GTK_MENU (combo_box->priv->popup_widget)); + + gtk_widget_get_allocation (widget, &allocation); + + menu_xpos = allocation.x; + menu_ypos = allocation.y + allocation.height / 2 - 2; + + if (combo_box->priv->popup_fixed_width) + gtk_widget_get_preferred_width (GTK_WIDGET (menu), &menu_width, NULL); + else + gtk_widget_get_preferred_width (GTK_WIDGET (menu), NULL, &menu_width); + + if (active != NULL) + { + gtk_widget_get_allocation (active, &child_allocation); + menu_ypos -= child_allocation.height / 2; + } + + children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->children; + while (children) + { + child = children->data; + + if (active == child) + break; + + if (gtk_widget_get_visible (child)) + { + gtk_widget_get_allocation (child, &child_allocation); + + menu_ypos -= child_allocation.height; + } + + children = children->next; + } + + if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) + menu_xpos = menu_xpos + allocation.width - menu_width; + + gdk_window_get_root_coords (gtk_widget_get_window (widget), + menu_xpos, menu_ypos, + &menu_xpos, &menu_ypos); + + /* Clamp the position on screen */ + screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); + + if (menu_xpos < 0) + menu_xpos = 0; + else if ((menu_xpos + menu_width) > screen_width) + menu_xpos -= ((menu_xpos + menu_width) - screen_width); + + *x = menu_xpos; + *y = menu_ypos; + + *push_in = TRUE; +} + +static void +gtk_combo_box_menu_position (GtkMenu *menu, + gint *x, + gint *y, + gint *push_in, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkWidget *menu_item; + + if (priv->wrap_width > 0 || priv->cell_view == NULL) + gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data); + else + { + /* FIXME handle nested menus better */ + menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); + if (menu_item) + gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), + menu_item); + + gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); + } + + if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->toplevel)) + gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->toplevel), + GDK_WINDOW_TYPE_HINT_COMBO); +} + +static void +gtk_combo_box_list_position (GtkComboBox *combo_box, + gint *x, + gint *y, + gint *width, + gint *height) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + GtkAllocation allocation; + GdkScreen *screen; + gint monitor_num; + GdkRectangle monitor; + GtkRequisition popup_req; + GtkPolicyType hpolicy, vpolicy; + GdkWindow *window; + + /* under windows, the drop down list is as wide as the combo box itself. + see bug #340204 */ + GtkWidget *widget = GTK_WIDGET (combo_box); + + *x = *y = 0; + + gtk_widget_get_allocation (widget, &allocation); + + if (!gtk_widget_get_has_window (widget)) + { + *x += allocation.x; + *y += allocation.y; + } + + window = gtk_widget_get_window (widget); + + gdk_window_get_root_coords (gtk_widget_get_window (widget), + *x, *y, x, y); + + *width = allocation.width; + + hpolicy = vpolicy = GTK_POLICY_NEVER; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + + /* XXX This set_size_request call is part of the hack outlined below and can + * go away once height-for-width is implemented on treeviews. */ + gtk_widget_set_size_request (priv->tree_view, -1, -1); + + if (combo_box->priv->popup_fixed_width) + { + gtk_widget_get_preferred_size (priv->scrolled_window, &popup_req, NULL); + + if (popup_req.width > *width) + { + hpolicy = GTK_POLICY_ALWAYS; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + } + } + else + { + if (priv->natural_width > *width) + { + hpolicy = GTK_POLICY_NEVER; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + + + /* XXX Currently we set the size-request on the internal treeview to be + * the natural width of the cells, this hack can go away once our + * treeview does height-for-width properly (i.e. just adjust *width + * here to be the natural width request of the scrolled-window). + * + * I can't tell why the magic number 5 is needed here (i.e. without it + * treeviews are left ellipsizing) , however it this all should be + * removed with height-for-width treeviews. + */ + gtk_widget_set_size_request (priv->tree_view, priv->natural_width + 5, -1); + gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); + + *width = popup_req.width; + } + } + + *height = popup_req.height; + + screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); + monitor_num = gdk_screen_get_monitor_at_window (screen, window); + gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); + + if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_RTL) + *x = *x + allocation.width - *width; + + if (*x < monitor.x) + *x = monitor.x; + else if (*x + *width > monitor.x + monitor.width) + *x = monitor.x + monitor.width - *width; + + if (*y + allocation.height + *height <= monitor.y + monitor.height) + *y += allocation.height; + else if (*y - *height >= monitor.y) + *y -= *height; + else if (monitor.y + monitor.height - (*y + allocation.height) > *y - monitor.y) + { + *y += allocation.height; + *height = monitor.y + monitor.height - *y; + } + else + { + *height = *y - monitor.y; + *y = monitor.y; + } + + if (popup_req.height > *height) + { + vpolicy = GTK_POLICY_ALWAYS; + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + } +} static gboolean -path_visible (GtkTreeView *view, - GtkTreePath *path) +cell_view_is_sensitive (GtkCellView *cell_view) { - GtkRBTree *tree; - GtkRBNode *node; + GList *cells, *list; + gboolean sensitive; - /* Note that we rely on the fact that collapsed rows don't have nodes - */ - return _gtk_tree_view_find_node (view, path, &tree, &node); + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_view)); + + sensitive = FALSE; + for (list = cells; list; list = list->next) + { + g_object_get (list->data, "sensitive", &sensitive, NULL); + + if (sensitive) + break; + } + g_list_free (cells); + + return sensitive; } static gboolean @@ -1407,704 +2033,328 @@ tree_column_row_is_sensitive (GtkComboBox *combo_box, return sensitive; } -static gboolean -tree_next_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) +static void +update_menu_sensitivity (GtkComboBox *combo_box, + GtkWidget *menu) { - SearchData *search_data = (SearchData *)data; + GtkComboBoxPrivate *priv = combo_box->priv; + GList *children, *child; + GtkWidget *item, *submenu, *separator; + GtkWidget *cell_view; + gboolean sensitive; - if (search_data->found) + if (!priv->model) + return; + + children = gtk_container_get_children (GTK_CONTAINER (menu)); + + for (child = children; child; child = child->next) { - if (!tree_column_row_is_sensitive (search_data->combo, iter)) - return FALSE; + item = GTK_WIDGET (child->data); + cell_view = gtk_bin_get_child (GTK_BIN (item)); + + if (!GTK_IS_CELL_VIEW (cell_view)) + continue; - if (search_data->visible && - !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; + submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)); + if (submenu != NULL) + { + gtk_widget_set_sensitive (item, TRUE); + update_menu_sensitivity (combo_box, submenu); + } + else + { + sensitive = cell_view_is_sensitive (GTK_CELL_VIEW (cell_view)); - search_data->set = TRUE; - search_data->iter = *iter; + if (menu != priv->popup_widget && child == children) + { + separator = GTK_WIDGET (child->next->data); + g_object_set (item, "visible", sensitive, NULL); + g_object_set (separator, "visible", sensitive, NULL); + } + else + gtk_widget_set_sensitive (item, sensitive); + } + } + g_list_free (children); +} + +static void +gtk_combo_box_menu_popup (GtkComboBox *combo_box, + guint button, + guint32 activate_time) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + GtkTreePath *path; + gint active_item; + gint width, min_width, nat_width; + + update_menu_sensitivity (combo_box, priv->popup_widget); + + active_item = -1; + if (gtk_tree_row_reference_valid (priv->active_row)) + { + path = gtk_tree_row_reference_get_path (priv->active_row); + active_item = gtk_tree_path_get_indices (path)[0]; + gtk_tree_path_free (path); + + if (priv->add_tearoffs) + active_item++; + } + + /* FIXME handle nested menus better */ + gtk_menu_set_active (GTK_MENU (priv->popup_widget), active_item); + + if (priv->wrap_width == 0) + { + GtkAllocation allocation; + + gtk_widget_get_allocation (GTK_WIDGET (combo_box), &allocation); + width = allocation.width; + gtk_widget_set_size_request (priv->popup_widget, -1, -1); + gtk_widget_get_preferred_width (priv->popup_widget, &min_width, &nat_width); + + if (combo_box->priv->popup_fixed_width) + width = MAX (width, min_width); + else + width = MAX (width, nat_width); + + gtk_widget_set_size_request (priv->popup_widget, width, -1); + } + + gtk_menu_popup (GTK_MENU (priv->popup_widget), + NULL, NULL, + gtk_combo_box_menu_position, combo_box, + button, activate_time); +} + +static gboolean +popup_grab_on_window (GdkWindow *window, + GdkDevice *keyboard, + GdkDevice *pointer, + guint32 activate_time) +{ + if (keyboard && + gdk_device_grab (keyboard, window, + GDK_OWNERSHIP_WINDOW, TRUE, + GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, + NULL, activate_time) != GDK_GRAB_SUCCESS) + return FALSE; + + if (pointer && + gdk_device_grab (pointer, window, + GDK_OWNERSHIP_WINDOW, TRUE, + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | + GDK_POINTER_MOTION_MASK, + NULL, activate_time) != GDK_GRAB_SUCCESS) + { + if (keyboard) + gdk_device_ungrab (keyboard, activate_time); + + return FALSE; + } + + return TRUE; +} + +/** + * gtk_combo_box_popup: + * @combo_box: a #GtkComboBox + * + * Pops up the menu or dropdown list of @combo_box. + * + * This function is mostly intended for use by accessibility technologies; + * applications should have little use for it. + * + * Since: 2.4 + */ +void +gtk_combo_box_popup (GtkComboBox *combo_box) +{ + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); + + g_signal_emit (combo_box, combo_box_signals[POPUP], 0); +} + +/** + * gtk_combo_box_popup_for_device: + * @combo_box: a #GtkComboBox + * @device: a #GdkDevice + * + * Pops up the menu or dropdown list of @combo_box, the popup window + * will be grabbed so only @device and its associated pointer/keyboard + * are the only #GdkDevices able to send events to it. + * + * Since: 3.0 + **/ +void +gtk_combo_box_popup_for_device (GtkComboBox *combo_box, + GdkDevice *device) +{ + GtkComboBoxPrivate *priv = combo_box->priv; + gint x, y, width, height; + GtkTreePath *path = NULL, *ppath; + GtkWidget *toplevel; + GdkDevice *keyboard, *pointer; + guint32 time; + + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); + g_return_if_fail (GDK_IS_DEVICE (device)); + + if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) + return; + + if (gtk_widget_get_mapped (priv->popup_widget)) + return; + + if (priv->grab_pointer && priv->grab_keyboard) + return; + + time = gtk_get_current_event_time (); + + if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + { + keyboard = device; + pointer = gdk_device_get_associated_device (device); + } + else + { + pointer = device; + keyboard = gdk_device_get_associated_device (device); + } + + if (GTK_IS_MENU (priv->popup_widget)) + { + gtk_combo_box_menu_popup (combo_box, + priv->activate_button, + priv->activate_time); + return; + } + + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); + if (GTK_IS_WINDOW (toplevel)) + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (priv->popup_window)); + + gtk_widget_show_all (priv->scrolled_window); + gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); + + gtk_widget_set_size_request (priv->popup_window, width, height); + gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); + + if (gtk_tree_row_reference_valid (priv->active_row)) + { + path = gtk_tree_row_reference_get_path (priv->active_row); + ppath = gtk_tree_path_copy (path); + if (gtk_tree_path_up (ppath)) + gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->tree_view), + ppath); + gtk_tree_path_free (ppath); + } + gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), + TRUE); + + /* popup */ + gtk_widget_show (priv->popup_window); + + if (path) + { + gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), + path, NULL, FALSE); + gtk_tree_path_free (path); + } + + gtk_widget_grab_focus (priv->popup_window); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), + TRUE); + + if (!gtk_widget_has_focus (priv->tree_view)) + gtk_widget_grab_focus (priv->tree_view); + + if (!popup_grab_on_window (gtk_widget_get_window (priv->popup_window), + keyboard, pointer, time)) + { + gtk_widget_hide (priv->popup_window); + return; + } + + gtk_device_grab_add (priv->popup_window, pointer, TRUE); + priv->grab_pointer = pointer; + priv->grab_keyboard = keyboard; +} + +static void +gtk_combo_box_real_popup (GtkComboBox *combo_box) +{ + GdkDevice *device; + + device = gtk_get_current_event_device (); + + if (!device) + { + GdkDeviceManager *device_manager; + GdkDisplay *display; + GList *devices; + + display = gtk_widget_get_display (GTK_WIDGET (combo_box)); + device_manager = gdk_display_get_device_manager (display); + + /* No device was set, pick the first master device */ + devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); + device = devices->data; + g_list_free (devices); + } + + gtk_combo_box_popup_for_device (combo_box, device); +} + +static gboolean +gtk_combo_box_real_popdown (GtkComboBox *combo_box) +{ + if (combo_box->priv->popup_shown) + { + gtk_combo_box_popdown (combo_box); return TRUE; } - - if (gtk_tree_path_compare (path, search_data->path) == 0) - search_data->found = TRUE; - + return FALSE; } -static gboolean -tree_next (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *iter, - GtkTreeIter *next, - gboolean visible) -{ - SearchData search_data; - - search_data.combo = combo; - search_data.path = gtk_tree_model_get_path (model, iter); - search_data.visible = visible; - search_data.found = FALSE; - search_data.set = FALSE; - - gtk_tree_model_foreach (model, tree_next_func, &search_data); - - *next = search_data.iter; - - gtk_tree_path_free (search_data.path); - - return search_data.set; -} - -static gboolean -tree_prev_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) -{ - SearchData *search_data = (SearchData *)data; - - if (gtk_tree_path_compare (path, search_data->path) == 0) - { - search_data->found = TRUE; - return TRUE; - } - - if (!tree_column_row_is_sensitive (search_data->combo, iter)) - return FALSE; - - if (search_data->visible && - !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; - - search_data->set = TRUE; - search_data->iter = *iter; - - return FALSE; -} - -static gboolean -tree_prev (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *iter, - GtkTreeIter *prev, - gboolean visible) -{ - SearchData search_data; - - search_data.combo = combo; - search_data.path = gtk_tree_model_get_path (model, iter); - search_data.visible = visible; - search_data.found = FALSE; - search_data.set = FALSE; - - gtk_tree_model_foreach (model, tree_prev_func, &search_data); - - *prev = search_data.iter; - - gtk_tree_path_free (search_data.path); - - return search_data.set; -} - -static gboolean -tree_last_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) -{ - SearchData *search_data = (SearchData *)data; - - if (!tree_column_row_is_sensitive (search_data->combo, iter)) - return FALSE; - - /* Note that we rely on the fact that collapsed rows don't have nodes - */ - if (search_data->visible && - !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; - - search_data->set = TRUE; - search_data->iter = *iter; - - return FALSE; -} - -static gboolean -tree_last (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *last, - gboolean visible) -{ - SearchData search_data; - - search_data.combo = combo; - search_data.visible = visible; - search_data.set = FALSE; - - gtk_tree_model_foreach (model, tree_last_func, &search_data); - - *last = search_data.iter; - - return search_data.set; -} - - -static gboolean -tree_first_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) -{ - SearchData *search_data = (SearchData *)data; - - if (!tree_column_row_is_sensitive (search_data->combo, iter)) - return FALSE; - - if (search_data->visible && - !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; - - search_data->set = TRUE; - search_data->iter = *iter; - - return TRUE; -} - -static gboolean -tree_first (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *first, - gboolean visible) -{ - SearchData search_data; - - search_data.combo = combo; - search_data.visible = visible; - search_data.set = FALSE; - - gtk_tree_model_foreach (model, tree_first_func, &search_data); - - *first = search_data.iter; - - return search_data.set; -} - -static gboolean -gtk_combo_box_scroll_event (GtkWidget *widget, - GdkEventScroll *event) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - gboolean found; - GtkTreeIter iter; - GtkTreeIter new_iter; - - if (!gtk_combo_box_get_active_iter (combo_box, &iter)) - return TRUE; - - if (event->direction == GDK_SCROLL_UP) - found = tree_prev (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - else - found = tree_next (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - - if (found) - gtk_combo_box_set_active_iter (combo_box, &new_iter); - - return TRUE; -} - - -static gboolean -gtk_combo_box_mnemonic_activate (GtkWidget *widget, - gboolean group_cycling) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - - if (combo_box->priv->has_entry) - { - GtkWidget* child; - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - if (child) - gtk_widget_grab_focus (child); - } - else - gtk_widget_grab_focus (combo_box->priv->button); - - return TRUE; -} - -static void -gtk_combo_box_grab_focus (GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - - if (combo_box->priv->has_entry) - { - GtkWidget *child; - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - if (child) - gtk_widget_grab_focus (child); - } - else - gtk_widget_grab_focus (combo_box->priv->button); -} - -static void -gtk_combo_box_state_changed (GtkWidget *widget, - GtkStateType previous) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (gtk_widget_get_realized (widget)) - { - if (priv->tree_view && priv->cell_view) - { - GtkStyleContext *context; - GtkStateFlags state; - GdkRGBA *color; - - context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - - gtk_style_context_get (context, state, - "background-color", &color, - NULL); - - gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), color); - gdk_rgba_free (color); - } - } - - gtk_widget_queue_draw (widget); -} - -static void -gtk_combo_box_button_state_changed (GtkWidget *widget, - GtkStateType previous, - gpointer data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (data); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (gtk_widget_get_realized (widget)) - { - if (!priv->tree_view && priv->cell_view) - { - if ((gtk_widget_get_state (widget) == GTK_STATE_INSENSITIVE) != - (gtk_widget_get_state (priv->cell_view) == GTK_STATE_INSENSITIVE)) - gtk_widget_set_sensitive (priv->cell_view, gtk_widget_get_sensitive (widget)); - - gtk_widget_set_state (priv->cell_view, - gtk_widget_get_state (widget)); - } - } - - gtk_widget_queue_draw (widget); -} - -static void -gtk_combo_box_check_appearance (GtkComboBox *combo_box) +/** + * gtk_combo_box_popdown: + * @combo_box: a #GtkComboBox + * + * Hides the menu or dropdown list of @combo_box. + * + * This function is mostly intended for use by accessibility technologies; + * applications should have little use for it. + * + * Since: 2.4 + */ +void +gtk_combo_box_popdown (GtkComboBox *combo_box) { GtkComboBoxPrivate *priv = combo_box->priv; - gboolean appears_as_list; - /* if wrap_width > 0, then we are in grid-mode and forced to use - * unix style - */ - if (priv->wrap_width) - appears_as_list = FALSE; - else - gtk_widget_style_get (GTK_WIDGET (combo_box), - "appears-as-list", &appears_as_list, - NULL); + g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - if (appears_as_list) + if (GTK_IS_MENU (priv->popup_widget)) { - /* Destroy all the menu mode widgets, if they exist. */ - if (GTK_IS_MENU (priv->popup_widget)) - gtk_combo_box_menu_destroy (combo_box); - - /* Create the list mode widgets, if they don't already exist. */ - if (!GTK_IS_TREE_VIEW (priv->tree_view)) - gtk_combo_box_list_setup (combo_box); - } - else - { - /* Destroy all the list mode widgets, if they exist. */ - if (GTK_IS_TREE_VIEW (priv->tree_view)) - gtk_combo_box_list_destroy (combo_box); - - /* Create the menu mode widgets, if they don't already exist. */ - if (!GTK_IS_MENU (priv->popup_widget)) - gtk_combo_box_menu_setup (combo_box, TRUE); + gtk_menu_popdown (GTK_MENU (priv->popup_widget)); + return; } - gtk_widget_style_get (GTK_WIDGET (combo_box), - "shadow-type", &priv->shadow_type, - NULL); -} + if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) + return; -static void -gtk_combo_box_style_updated (GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *child; + gtk_device_grab_remove (priv->popup_window, priv->grab_pointer); + gtk_widget_hide (priv->popup_window); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), + FALSE); - gtk_combo_box_check_appearance (combo_box); - - if (priv->tree_view && priv->cell_view) - { - GtkStyleContext *context; - GdkRGBA *color; - - context = gtk_widget_get_style_context (widget); - gtk_style_context_get (context, 0, - "background-color", &color, - NULL); - - gtk_cell_view_set_background_rgba (GTK_CELL_VIEW (priv->cell_view), color); - gdk_rgba_free (color); - } - - child = gtk_bin_get_child (GTK_BIN (combo_box)); - if (GTK_IS_ENTRY (child)) - g_object_set (child, "shadow-type", - GTK_SHADOW_NONE == priv->shadow_type ? - GTK_SHADOW_IN : GTK_SHADOW_NONE, NULL); -} - -static void -gtk_combo_box_destroy (GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - - if (combo_box->priv->popup_idle_id > 0) - { - g_source_remove (combo_box->priv->popup_idle_id); - combo_box->priv->popup_idle_id = 0; - } - - gtk_combo_box_popdown (combo_box); - - if (combo_box->priv->row_separator_destroy) - combo_box->priv->row_separator_destroy (combo_box->priv->row_separator_data); - - combo_box->priv->row_separator_func = NULL; - combo_box->priv->row_separator_data = NULL; - combo_box->priv->row_separator_destroy = NULL; - - GTK_WIDGET_CLASS (gtk_combo_box_parent_class)->destroy (widget); - combo_box->priv->cell_view = NULL; -} - -static void -get_widget_border (GtkWidget *widget, - GtkBorder *border) -{ - GtkStyleContext *context; - GtkBorder *border_width; - - context = gtk_widget_get_style_context (widget); - - gtk_style_context_get (context, - gtk_widget_get_state_flags (widget), - "border-width", &border_width, - NULL); - - *border = *border_width; - gtk_border_free (border_width); -} - -static void -gtk_combo_box_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - gint focus_width, focus_pad; - gint font_size, arrow_size; - PangoContext *context; - PangoFontMetrics *metrics; - PangoFontDescription *font_desc; - GtkWidget *child; - gint minimum_width = 0, natural_width = 0; - gint child_min, child_nat; - GtkStyleContext *style_context; - GtkStateFlags state; - GtkBorder *border; - - child = gtk_bin_get_child (GTK_BIN (widget)); - - /* common */ - gtk_widget_get_preferred_width (child, &child_min, &child_nat); - - gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "arrow-size", &arrow_size, - NULL); - - style_context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); - - gtk_style_context_get (style_context, state, - "font", &font_desc, - "border-width", &border, - NULL); - - context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); - metrics = pango_context_get_metrics (context, font_desc, - pango_context_get_language (context)); - font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + - pango_font_metrics_get_descent (metrics)); - pango_font_metrics_unref (metrics); - pango_font_description_free (font_desc); - - arrow_size = MAX (arrow_size, font_size); - - gtk_widget_set_size_request (priv->arrow, arrow_size, arrow_size); - - if (!priv->tree_view) - { - /* menu mode */ - if (priv->cell_view) - { - gint sep_width, arrow_width; - gint border_width, xpad; - GtkBorder button_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - get_widget_border (priv->button, &button_border); - - gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); - gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - - xpad = 2 * (border_width + focus_width + focus_pad) + - button_border.left + button_border.right; - - minimum_width = child_min + sep_width + arrow_width + xpad; - natural_width = child_nat + sep_width + arrow_width + xpad; - } - else - { - gint but_width, but_nat_width; - - gtk_widget_get_preferred_width (priv->button, - &but_width, &but_nat_width); - - minimum_width = child_min + but_width; - natural_width = child_nat + but_nat_width; - } - } - else - { - /* list mode */ - gint button_width, button_nat_width; - - /* sample + frame */ - minimum_width = child_min; - natural_width = child_nat; - - minimum_width += 2 * focus_width; - natural_width += 2 * focus_width; - - if (priv->cell_view_frame) - { - if (priv->has_frame) - { - gint border_width, xpad; - GtkBorder frame_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (priv->cell_view_frame, &frame_border); - xpad = (2 * border_width) + frame_border.left + frame_border.right; - - minimum_width += xpad; - natural_width += xpad; - } - } - - /* the button */ - gtk_widget_get_preferred_width (priv->button, - &button_width, &button_nat_width); - - minimum_width += button_width; - natural_width += button_nat_width; - } - - minimum_width += border->left + border->right; - natural_width += border->left + border->right; - gtk_border_free (border); - - if (minimum_size) - *minimum_size = minimum_width; - - if (natural_size) - *natural_size = natural_width; -} - -static void -gtk_combo_box_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) -{ - gint min_width; - - /* Combo box is height-for-width only - * (so we always just reserve enough height for the minimum width) */ - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); - GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, minimum_size, natural_size); -} - -static void -gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size) -{ - /* Combo box is height-for-width only - * (so we assume we always reserved enough height for the minimum width) */ - GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); -} - - -static void -gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - gint focus_width, focus_pad; - gint min_height = 0, nat_height = 0; - gint size; - GtkWidget *child; - GtkBorder border; - - gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); - - child = gtk_bin_get_child (GTK_BIN (widget)); - - get_widget_border (widget, &border); - size = avail_size - border.left; - - if (!priv->tree_view) - { - /* menu mode */ - if (priv->cell_view) - { - /* calculate x/y padding and separator/arrow size */ - gint sep_width, arrow_width, sep_height, arrow_height; - gint border_width, xpad, ypad; - GtkBorder button_border; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - get_widget_border (priv->button, &button_border); - - gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); - gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->separator, - sep_width, &sep_height, NULL); - gtk_widget_get_preferred_height_for_width (priv->arrow, - arrow_width, &arrow_height, NULL); - - xpad = 2 * (border_width + focus_width + focus_pad) + - button_border.left + button_border.right; - ypad = 2 * (border_width + focus_width + focus_pad) + - button_border.top + button_border.bottom; - - size -= sep_width + arrow_width + xpad; - - /* Get height-for-width of the child widget, usually a GtkCellArea calculating - * and fitting the whole treemodel */ - gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); - - arrow_height = MAX (arrow_height, sep_height); - min_height = MAX (min_height, arrow_height); - nat_height = MAX (nat_height, arrow_height); - - min_height += ypad; - nat_height += ypad; - } - else - { - /* there is a custom child widget inside (no priv->cell_view) */ - gint but_width, but_height; - - gtk_widget_get_preferred_width (priv->button, &but_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->button, - but_width, &but_height, NULL); - - size -= but_width; - - /* Get height-for-width of the child widget, usually a GtkCellArea calculating - * and fitting the whole treemodel */ - gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); - - min_height = MAX (min_height, but_height); - nat_height = MAX (nat_height, but_height); - } - } - else - { - /* list mode */ - gint but_width, but_height; - gint xpad = 0, ypad = 0; - - gtk_widget_get_preferred_width (priv->button, &but_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->button, - but_width, &but_height, NULL); - - if (priv->cell_view_frame && priv->has_frame) - { - GtkBorder frame_border; - gint border_width; - - border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border); - - xpad = (2 * border_width) + border.left + frame_border.right; - ypad = (2 * border_width) + border.top + frame_border.bottom; - } - - size -= but_width; - size -= 2 * focus_width; - size -= xpad; - - /* Get height-for-width of the child widget, usually a GtkCellArea calculating - * and fitting the whole treemodel */ - gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); - - min_height = MAX (min_height, but_height); - nat_height = MAX (nat_height, but_height); - - min_height += ypad; - nat_height += ypad; - } - - min_height += border.top + border.bottom; - nat_height += border.top + border.bottom; - - if (minimum_size) - *minimum_size = min_height; - - if (natural_size) - *natural_size = nat_height; + priv->grab_pointer = NULL; + priv->grab_keyboard = NULL; } #define GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON \ @@ -2325,143 +2575,37 @@ gtk_combo_box_size_allocate (GtkWidget *widget, #undef GTK_COMBO_BOX_ALLOCATE_BUTTON -/****************************************************** - * GtkContainerClass * - ******************************************************/ - static void -gtk_combo_box_add (GtkContainer *container, - GtkWidget *widget) +gtk_combo_box_unset_model (GtkComboBox *combo_box) { - GtkComboBox *combo_box = GTK_COMBO_BOX (container); GtkComboBoxPrivate *priv = combo_box->priv; - if (priv->has_entry && !GTK_IS_ENTRY (widget)) + if (priv->model) { - g_warning ("Attempting to add a widget with type %s to a GtkComboBox that needs an entry " - "(need an instance of GtkEntry or of a subclass)", - G_OBJECT_TYPE_NAME (widget)); - return; + g_signal_handler_disconnect (priv->model, + priv->inserted_id); + g_signal_handler_disconnect (priv->model, + priv->deleted_id); + g_signal_handler_disconnect (priv->model, + priv->reordered_id); + g_signal_handler_disconnect (priv->model, + priv->changed_id); } - if (priv->cell_view && - gtk_widget_get_parent (priv->cell_view)) + if (priv->model) { - gtk_container_remove (container, priv->cell_view); - gtk_widget_queue_resize (GTK_WIDGET (container)); + g_object_unref (priv->model); + priv->model = NULL; } - gtk_widget_set_parent (widget, GTK_WIDGET (container)); - _gtk_bin_set_child (GTK_BIN (container), widget); - - if (priv->cell_view && - widget != priv->cell_view) + if (priv->active_row) { - /* since the cell_view was unparented, it's gone now */ - priv->cell_view = NULL; - - if (!priv->tree_view && priv->separator) - { - gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (priv->separator)), - priv->separator); - priv->separator = NULL; - - gtk_widget_queue_resize (GTK_WIDGET (container)); - } - else if (priv->cell_view_frame) - { - gtk_widget_unparent (priv->cell_view_frame); - priv->cell_view_frame = NULL; - priv->box = NULL; - } + gtk_tree_row_reference_free (priv->active_row); + priv->active_row = NULL; } - if (priv->has_entry) - { - /* this flag is a hack to tell the entry to fill its allocation. - */ - _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE); - - g_signal_connect (widget, "changed", - G_CALLBACK (gtk_combo_box_entry_contents_changed), - combo_box); - - gtk_entry_set_has_frame (GTK_ENTRY (widget), priv->has_frame); - } -} - -static void -gtk_combo_box_remove (GtkContainer *container, - GtkWidget *widget) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (container); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreePath *path; - gboolean appears_as_list; - - if (priv->has_entry) - { - GtkWidget *child_widget; - - child_widget = gtk_bin_get_child (GTK_BIN (container)); - if (widget && widget == child_widget && GTK_IS_ENTRY (widget)) - { - g_signal_handlers_disconnect_by_func (widget, - gtk_combo_box_entry_contents_changed, - container); - - _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE); - } - } - - if (widget == priv->cell_view) - priv->cell_view = NULL; - - GTK_CONTAINER_CLASS (gtk_combo_box_parent_class)->remove (container, widget); - - if (gtk_widget_in_destruction (GTK_WIDGET (combo_box))) - return; - - gtk_widget_queue_resize (GTK_WIDGET (container)); - - if (!priv->tree_view) - appears_as_list = FALSE; - else - appears_as_list = TRUE; - - if (appears_as_list) - gtk_combo_box_list_destroy (combo_box); - else if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_combo_box_menu_destroy (combo_box); - gtk_menu_detach (GTK_MENU (priv->popup_widget)); - priv->popup_widget = NULL; - } - - if (!priv->cell_view) - { - priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); - gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); - - GTK_CONTAINER_CLASS (gtk_combo_box_parent_class)->add (container, priv->cell_view); - - gtk_widget_show (priv->cell_view); - gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); - } - - if (appears_as_list) - gtk_combo_box_list_setup (combo_box); - else - gtk_combo_box_menu_setup (combo_box, TRUE); - - if (gtk_tree_row_reference_valid (priv->active_row)) - { - path = gtk_tree_row_reference_get_path (priv->active_row); - gtk_combo_box_set_active_internal (combo_box, path); - gtk_tree_path_free (path); - } - else - gtk_combo_box_set_active_internal (combo_box, NULL); + if (priv->cell_view) + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), NULL); } static void @@ -2487,709 +2631,6 @@ gtk_combo_box_forall (GtkContainer *container, (* callback) (child, callback_data); } - -/****************************************************** - * GtkComboBoxClass (binding methods) * - ******************************************************/ -static void -gtk_combo_box_real_move_active (GtkComboBox *combo_box, - GtkScrollType scroll) -{ - GtkTreeIter iter; - GtkTreeIter new_iter; - gboolean active_iter; - gboolean found; - - if (!combo_box->priv->model) - { - gtk_widget_error_bell (GTK_WIDGET (combo_box)); - return; - } - - active_iter = gtk_combo_box_get_active_iter (combo_box, &iter); - - switch (scroll) - { - case GTK_SCROLL_STEP_BACKWARD: - case GTK_SCROLL_STEP_UP: - case GTK_SCROLL_STEP_LEFT: - if (active_iter) - { - found = tree_prev (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - break; - } - /* else fall through */ - - case GTK_SCROLL_PAGE_FORWARD: - case GTK_SCROLL_PAGE_DOWN: - case GTK_SCROLL_PAGE_RIGHT: - case GTK_SCROLL_END: - found = tree_last (combo_box, combo_box->priv->model, &new_iter, FALSE); - break; - - case GTK_SCROLL_STEP_FORWARD: - case GTK_SCROLL_STEP_DOWN: - case GTK_SCROLL_STEP_RIGHT: - if (active_iter) - { - found = tree_next (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - break; - } - /* else fall through */ - - case GTK_SCROLL_PAGE_BACKWARD: - case GTK_SCROLL_PAGE_UP: - case GTK_SCROLL_PAGE_LEFT: - case GTK_SCROLL_START: - found = tree_first (combo_box, combo_box->priv->model, &new_iter, FALSE); - break; - - default: - return; - } - - if (found && active_iter) - { - GtkTreePath *old_path; - GtkTreePath *new_path; - - old_path = gtk_tree_model_get_path (combo_box->priv->model, &iter); - new_path = gtk_tree_model_get_path (combo_box->priv->model, &new_iter); - - if (gtk_tree_path_compare (old_path, new_path) == 0) - found = FALSE; - - gtk_tree_path_free (old_path); - gtk_tree_path_free (new_path); - } - - if (found) - { - gtk_combo_box_set_active_iter (combo_box, &new_iter); - } - else - { - gtk_widget_error_bell (GTK_WIDGET (combo_box)); - } -} - -static void -gtk_combo_box_real_popup (GtkComboBox *combo_box) -{ - GdkDevice *device; - - device = gtk_get_current_event_device (); - - if (!device) - { - GdkDeviceManager *device_manager; - GdkDisplay *display; - GList *devices; - - display = gtk_widget_get_display (GTK_WIDGET (combo_box)); - device_manager = gdk_display_get_device_manager (display); - - /* No device was set, pick the first master device */ - devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); - device = devices->data; - g_list_free (devices); - } - - gtk_combo_box_popup_for_device (combo_box, device); -} - -static gboolean -gtk_combo_box_real_popdown (GtkComboBox *combo_box) -{ - if (combo_box->priv->popup_shown) - { - gtk_combo_box_popdown (combo_box); - return TRUE; - } - - return FALSE; -} - -/****************************************************** - * GtkTreeModel callbacks * - ******************************************************/ -static void -gtk_combo_box_model_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - - if (combo_box->priv->tree_view) - gtk_combo_box_list_popup_resize (combo_box); -} - -static void -gtk_combo_box_model_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - - if (!gtk_tree_row_reference_valid (priv->active_row)) - { - if (priv->cell_view) - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL); - g_signal_emit (combo_box, combo_box_signals[CHANGED], 0); - } - - if (priv->tree_view) - gtk_combo_box_list_popup_resize (combo_box); -} - - -static void -gtk_combo_box_button_toggled (GtkWidget *widget, - gpointer data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (data); - - if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) - { - if (!combo_box->priv->popup_in_progress) - gtk_combo_box_popup (combo_box); - } - else - gtk_combo_box_popdown (combo_box); -} - -static void -gtk_combo_box_menu_show (GtkWidget *menu, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - - gtk_combo_box_child_show (menu, user_data); - - priv->popup_in_progress = TRUE; - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), - TRUE); - priv->popup_in_progress = FALSE; -} - -static void -gtk_combo_box_menu_hide (GtkWidget *menu, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - - gtk_combo_box_child_hide (menu,user_data); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (combo_box->priv->button), - FALSE); -} - -static void -gtk_combo_box_detacher (GtkWidget *widget, - GtkMenu *menu) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (widget); - GtkComboBoxPrivate *priv = combo_box->priv; - - g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); - - g_signal_handlers_disconnect_by_func (menu->toplevel, - gtk_combo_box_menu_show, - combo_box); - g_signal_handlers_disconnect_by_func (menu->toplevel, - gtk_combo_box_menu_hide, - combo_box); - - priv->popup_widget = NULL; -} - -static void -gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, - GtkWidget *popup) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_menu_detach (GTK_MENU (priv->popup_widget)); - priv->popup_widget = NULL; - } - else if (priv->popup_widget) - { - gtk_container_remove (GTK_CONTAINER (priv->scrolled_window), - priv->popup_widget); - g_object_unref (priv->popup_widget); - priv->popup_widget = NULL; - } - - if (GTK_IS_MENU (popup)) - { - if (priv->popup_window) - { - gtk_widget_destroy (priv->popup_window); - priv->popup_window = NULL; - } - - priv->popup_widget = popup; - - /* - * Note that we connect to show/hide on the toplevel, not the - * menu itself, since the menu is not shown/hidden when it is - * popped up while torn-off. - */ - g_signal_connect (GTK_MENU (popup)->toplevel, "show", - G_CALLBACK (gtk_combo_box_menu_show), combo_box); - g_signal_connect (GTK_MENU (popup)->toplevel, "hide", - G_CALLBACK (gtk_combo_box_menu_hide), combo_box); - - gtk_menu_attach_to_widget (GTK_MENU (popup), - GTK_WIDGET (combo_box), - gtk_combo_box_detacher); - } - else - { - if (!priv->popup_window) - { - GtkWidget *toplevel; - - priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); - gtk_widget_set_name (priv->popup_window, "gtk-combobox-popup-window"); - - gtk_window_set_type_hint (GTK_WINDOW (priv->popup_window), - GDK_WINDOW_TYPE_HINT_COMBO); - - g_signal_connect (GTK_WINDOW (priv->popup_window),"show", - G_CALLBACK (gtk_combo_box_child_show), - combo_box); - g_signal_connect (GTK_WINDOW (priv->popup_window),"hide", - G_CALLBACK (gtk_combo_box_child_hide), - combo_box); - - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); - if (GTK_IS_WINDOW (toplevel)) - { - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (priv->popup_window)); - gtk_window_set_transient_for (GTK_WINDOW (priv->popup_window), - GTK_WINDOW (toplevel)); - } - - gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE); - gtk_window_set_screen (GTK_WINDOW (priv->popup_window), - gtk_widget_get_screen (GTK_WIDGET (combo_box))); - - priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); - - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - GTK_POLICY_NEVER, - GTK_POLICY_NEVER); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), - GTK_SHADOW_IN); - - gtk_widget_show (priv->scrolled_window); - - gtk_container_add (GTK_CONTAINER (priv->popup_window), - priv->scrolled_window); - } - - gtk_container_add (GTK_CONTAINER (priv->scrolled_window), - popup); - - gtk_widget_show (popup); - g_object_ref (popup); - priv->popup_widget = popup; - } -} - -static void -gtk_combo_box_menu_position_below (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkAllocation child_allocation; - gint sx, sy; - GtkWidget *child; - GtkRequisition req; - GdkScreen *screen; - gint monitor_num; - GdkRectangle monitor; - GtkBorder border; - - /* FIXME: is using the size request here broken? */ - child = gtk_bin_get_child (GTK_BIN (combo_box)); - - sx = sy = 0; - - gtk_widget_get_allocation (child, &child_allocation); - - if (!gtk_widget_get_has_window (child)) - { - sx += child_allocation.x; - sy += child_allocation.y; - } - - gdk_window_get_root_coords (gtk_widget_get_window (child), - sx, sy, &sx, &sy); - - get_widget_border (GTK_WIDGET (combo_box), &border); - sx -= border.left; - - if (combo_box->priv->popup_fixed_width) - gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL); - else - gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &req); - - if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_LTR) - *x = sx; - else - *x = sx + child_allocation.width - req.width; - *y = sy; - - screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); - monitor_num = gdk_screen_get_monitor_at_window (screen, - gtk_widget_get_window (GTK_WIDGET (combo_box))); - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - - if (*x < monitor.x) - *x = monitor.x; - else if (*x + req.width > monitor.x + monitor.width) - *x = monitor.x + monitor.width - req.width; - - if (monitor.y + monitor.height - *y - child_allocation.height >= req.height) - *y += child_allocation.height; - else if (*y - monitor.y >= req.height) - *y -= req.height; - else if (monitor.y + monitor.height - *y - child_allocation.height > *y - monitor.y) - *y += child_allocation.height; - else - *y -= req.height; - - *push_in = FALSE; -} - -static void -gtk_combo_box_menu_position_over (GtkMenu *menu, - gint *x, - gint *y, - gboolean *push_in, - gpointer user_data) -{ - GtkComboBox *combo_box; - GtkWidget *active; - GtkWidget *child; - GtkWidget *widget; - GtkAllocation allocation; - GtkAllocation child_allocation; - GList *children; - gint screen_width; - gint menu_xpos; - gint menu_ypos; - gint menu_width; - - combo_box = GTK_COMBO_BOX (user_data); - widget = GTK_WIDGET (combo_box); - - active = gtk_menu_get_active (GTK_MENU (combo_box->priv->popup_widget)); - - gtk_widget_get_allocation (widget, &allocation); - - menu_xpos = allocation.x; - menu_ypos = allocation.y + allocation.height / 2 - 2; - - if (combo_box->priv->popup_fixed_width) - gtk_widget_get_preferred_width (GTK_WIDGET (menu), &menu_width, NULL); - else - gtk_widget_get_preferred_width (GTK_WIDGET (menu), NULL, &menu_width); - - if (active != NULL) - { - gtk_widget_get_allocation (active, &child_allocation); - menu_ypos -= child_allocation.height / 2; - } - - children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->children; - while (children) - { - child = children->data; - - if (active == child) - break; - - if (gtk_widget_get_visible (child)) - { - gtk_widget_get_allocation (child, &child_allocation); - - menu_ypos -= child_allocation.height; - } - - children = children->next; - } - - if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) - menu_xpos = menu_xpos + allocation.width - menu_width; - - gdk_window_get_root_coords (gtk_widget_get_window (widget), - menu_xpos, menu_ypos, - &menu_xpos, &menu_ypos); - - /* Clamp the position on screen */ - screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); - - if (menu_xpos < 0) - menu_xpos = 0; - else if ((menu_xpos + menu_width) > screen_width) - menu_xpos -= ((menu_xpos + menu_width) - screen_width); - - *x = menu_xpos; - *y = menu_ypos; - - *push_in = TRUE; -} - -static void -gtk_combo_box_menu_position (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - GtkComboBoxPrivate *priv = combo_box->priv; - GtkWidget *menu_item; - - if (priv->wrap_width > 0 || priv->cell_view == NULL) - gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data); - else - { - /* FIXME handle nested menus better */ - menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); - if (menu_item) - gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), - menu_item); - - gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); - } - - if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->toplevel)) - gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->toplevel), - GDK_WINDOW_TYPE_HINT_COMBO); -} - -static void -gtk_combo_box_list_position (GtkComboBox *combo_box, - gint *x, - gint *y, - gint *width, - gint *height) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GtkAllocation allocation; - GdkScreen *screen; - gint monitor_num; - GdkRectangle monitor; - GtkRequisition popup_req; - GtkPolicyType hpolicy, vpolicy; - GdkWindow *window; - - /* under windows, the drop down list is as wide as the combo box itself. - see bug #340204 */ - GtkWidget *widget = GTK_WIDGET (combo_box); - - *x = *y = 0; - - gtk_widget_get_allocation (widget, &allocation); - - if (!gtk_widget_get_has_window (widget)) - { - *x += allocation.x; - *y += allocation.y; - } - - window = gtk_widget_get_window (widget); - - gdk_window_get_root_coords (gtk_widget_get_window (widget), - *x, *y, x, y); - - *width = allocation.width; - - hpolicy = vpolicy = GTK_POLICY_NEVER; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - - if (combo_box->priv->popup_fixed_width) - { - gtk_widget_get_preferred_size (priv->scrolled_window, &popup_req, NULL); - - if (popup_req.width > *width) - { - hpolicy = GTK_POLICY_ALWAYS; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - } - } - else - { - /* This code depends on treeviews properly reporting their natural width */ - gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); - - if (popup_req.width > *width) - { - hpolicy = GTK_POLICY_NEVER; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - - *width = popup_req.width; - } - } - - *height = popup_req.height; - - screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); - monitor_num = gdk_screen_get_monitor_at_window (screen, window); - gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - - if (gtk_widget_get_direction (GTK_WIDGET (combo_box)) == GTK_TEXT_DIR_RTL) - *x = *x + allocation.width - *width; - - if (*x < monitor.x) - *x = monitor.x; - else if (*x + *width > monitor.x + monitor.width) - *x = monitor.x + monitor.width - *width; - - if (*y + allocation.height + *height <= monitor.y + monitor.height) - *y += allocation.height; - else if (*y - *height >= monitor.y) - *y -= *height; - else if (monitor.y + monitor.height - (*y + allocation.height) > *y - monitor.y) - { - *y += allocation.height; - *height = monitor.y + monitor.height - *y; - } - else - { - *height = *y - monitor.y; - *y = monitor.y; - } - - if (popup_req.height > *height) - { - vpolicy = GTK_POLICY_ALWAYS; - - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - } -} - -static void -gtk_combo_box_menu_popup (GtkComboBox *combo_box, - guint button, - guint32 activate_time) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - GtkTreePath *path; - gint active_item; - gint width, min_width, nat_width; - - active_item = -1; - if (gtk_tree_row_reference_valid (priv->active_row)) - { - path = gtk_tree_row_reference_get_path (priv->active_row); - active_item = gtk_tree_path_get_indices (path)[0]; - gtk_tree_path_free (path); - - if (priv->add_tearoffs) - active_item++; - } - - /* FIXME handle nested menus better */ - gtk_menu_set_active (GTK_MENU (priv->popup_widget), active_item); - - if (priv->wrap_width == 0) - { - GtkAllocation allocation; - - gtk_widget_get_allocation (GTK_WIDGET (combo_box), &allocation); - width = allocation.width; - gtk_widget_set_size_request (priv->popup_widget, -1, -1); - gtk_widget_get_preferred_width (priv->popup_widget, &min_width, &nat_width); - - if (combo_box->priv->popup_fixed_width) - width = MAX (width, min_width); - else - width = MAX (width, nat_width); - - gtk_widget_set_size_request (priv->popup_widget, width, -1); - } - - gtk_menu_popup (GTK_MENU (priv->popup_widget), - NULL, NULL, - gtk_combo_box_menu_position, combo_box, - button, activate_time); -} - -static gboolean -popup_grab_on_window (GdkWindow *window, - GdkDevice *keyboard, - GdkDevice *pointer, - guint32 activate_time) -{ - if (keyboard && - gdk_device_grab (keyboard, window, - GDK_OWNERSHIP_WINDOW, TRUE, - GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, - NULL, activate_time) != GDK_GRAB_SUCCESS) - return FALSE; - - if (pointer && - gdk_device_grab (pointer, window, - GDK_OWNERSHIP_WINDOW, TRUE, - GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | - GDK_POINTER_MOTION_MASK, - NULL, activate_time) != GDK_GRAB_SUCCESS) - { - if (keyboard) - gdk_device_ungrab (keyboard, activate_time); - - return FALSE; - } - - return TRUE; -} - -static void -gtk_combo_box_unset_model (GtkComboBox *combo_box) -{ - GtkComboBoxPrivate *priv = combo_box->priv; - - if (priv->model) - { - g_signal_handler_disconnect (priv->model, - priv->inserted_id); - g_signal_handler_disconnect (priv->model, - priv->deleted_id); - - g_object_unref (priv->model); - priv->model = NULL; - } - - if (priv->active_row) - { - gtk_tree_row_reference_free (priv->active_row); - priv->active_row = NULL; - } - - if (priv->cell_view) - gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), NULL); -} - static void gtk_combo_box_child_show (GtkWidget *widget, GtkComboBox *combo_box) @@ -3210,6 +2651,279 @@ gtk_combo_box_child_hide (GtkWidget *widget, g_object_notify (G_OBJECT (combo_box), "popup-shown"); } +static gboolean +gtk_combo_box_draw (GtkWidget *widget, + cairo_t *cr) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (priv->shadow_type != GTK_SHADOW_NONE) + { + GtkStyleContext *context; + GtkStateFlags state; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_set_state (context, state); + + gtk_render_background (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + gtk_render_frame (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + } + + gtk_container_propagate_draw (GTK_CONTAINER (widget), + priv->button, cr); + + if (priv->tree_view && priv->cell_view_frame) + { + gtk_container_propagate_draw (GTK_CONTAINER (widget), + priv->cell_view_frame, cr); + } + + gtk_container_propagate_draw (GTK_CONTAINER (widget), + gtk_bin_get_child (GTK_BIN (widget)), + cr); + + return FALSE; +} + +typedef struct { + GtkComboBox *combo; + GtkTreePath *path; + GtkTreeIter iter; + gboolean found; + gboolean set; + gboolean visible; +} SearchData; + +static gboolean +path_visible (GtkTreeView *view, + GtkTreePath *path) +{ + GtkRBTree *tree; + GtkRBNode *node; + + /* Note that we rely on the fact that collapsed rows don't have nodes + */ + return _gtk_tree_view_find_node (view, path, &tree, &node); +} + +static gboolean +tree_next_func (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + SearchData *search_data = (SearchData *)data; + + if (search_data->found) + { + if (!tree_column_row_is_sensitive (search_data->combo, iter)) + return FALSE; + + if (search_data->visible && + !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) + return FALSE; + + search_data->set = TRUE; + search_data->iter = *iter; + + return TRUE; + } + + if (gtk_tree_path_compare (path, search_data->path) == 0) + search_data->found = TRUE; + + return FALSE; +} + +static gboolean +tree_next (GtkComboBox *combo, + GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *next, + gboolean visible) +{ + SearchData search_data; + + search_data.combo = combo; + search_data.path = gtk_tree_model_get_path (model, iter); + search_data.visible = visible; + search_data.found = FALSE; + search_data.set = FALSE; + + gtk_tree_model_foreach (model, tree_next_func, &search_data); + + *next = search_data.iter; + + gtk_tree_path_free (search_data.path); + + return search_data.set; +} + +static gboolean +tree_prev_func (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + SearchData *search_data = (SearchData *)data; + + if (gtk_tree_path_compare (path, search_data->path) == 0) + { + search_data->found = TRUE; + return TRUE; + } + + if (!tree_column_row_is_sensitive (search_data->combo, iter)) + return FALSE; + + if (search_data->visible && + !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) + return FALSE; + + search_data->set = TRUE; + search_data->iter = *iter; + + return FALSE; +} + +static gboolean +tree_prev (GtkComboBox *combo, + GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *prev, + gboolean visible) +{ + SearchData search_data; + + search_data.combo = combo; + search_data.path = gtk_tree_model_get_path (model, iter); + search_data.visible = visible; + search_data.found = FALSE; + search_data.set = FALSE; + + gtk_tree_model_foreach (model, tree_prev_func, &search_data); + + *prev = search_data.iter; + + gtk_tree_path_free (search_data.path); + + return search_data.set; +} + +static gboolean +tree_last_func (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + SearchData *search_data = (SearchData *)data; + + if (!tree_column_row_is_sensitive (search_data->combo, iter)) + return FALSE; + + /* Note that we rely on the fact that collapsed rows don't have nodes + */ + if (search_data->visible && + !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) + return FALSE; + + search_data->set = TRUE; + search_data->iter = *iter; + + return FALSE; +} + +static gboolean +tree_last (GtkComboBox *combo, + GtkTreeModel *model, + GtkTreeIter *last, + gboolean visible) +{ + SearchData search_data; + + search_data.combo = combo; + search_data.visible = visible; + search_data.set = FALSE; + + gtk_tree_model_foreach (model, tree_last_func, &search_data); + + *last = search_data.iter; + + return search_data.set; +} + + +static gboolean +tree_first_func (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) +{ + SearchData *search_data = (SearchData *)data; + + if (!tree_column_row_is_sensitive (search_data->combo, iter)) + return FALSE; + + if (search_data->visible && + !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) + return FALSE; + + search_data->set = TRUE; + search_data->iter = *iter; + + return TRUE; +} + +static gboolean +tree_first (GtkComboBox *combo, + GtkTreeModel *model, + GtkTreeIter *first, + gboolean visible) +{ + SearchData search_data; + + search_data.combo = combo; + search_data.visible = visible; + search_data.set = FALSE; + + gtk_tree_model_foreach (model, tree_first_func, &search_data); + + *first = search_data.iter; + + return search_data.set; +} + +static gboolean +gtk_combo_box_scroll_event (GtkWidget *widget, + GdkEventScroll *event) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + gboolean found; + GtkTreeIter iter; + GtkTreeIter new_iter; + + if (!gtk_combo_box_get_active_iter (combo_box, &iter)) + return TRUE; + + if (event->direction == GDK_SCROLL_UP) + found = tree_prev (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + else + found = tree_next (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + + if (found) + gtk_combo_box_set_active_iter (combo_box, &new_iter); + + return TRUE; +} + /* * menu style */ @@ -3238,21 +2952,6 @@ gtk_combo_box_header_func (GtkTreeModel *model, return TRUE; } -static void -gtk_combo_box_menu_activate (GtkWidget *menu, - const gchar *path, - GtkComboBox *combo_box) -{ - GtkTreeIter iter; - - if (gtk_tree_model_get_iter_from_string (combo_box->priv->model, &iter, path)) - gtk_combo_box_set_active_iter (combo_box, &iter); - - g_object_set (combo_box, - "editing-canceled", FALSE, - NULL); -} - static void gtk_combo_box_menu_setup (GtkComboBox *combo_box, gboolean add_children) @@ -3304,12 +3003,14 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, g_signal_connect (priv->button, "button-press-event", G_CALLBACK (gtk_combo_box_menu_button_press), combo_box); - g_signal_connect (priv->button, "state-changed", - G_CALLBACK (gtk_combo_box_button_state_changed), + g_signal_connect (priv->button, "state-flags-changed", + G_CALLBACK (gtk_combo_box_button_state_flags_changed), combo_box); /* create our funky menu */ menu = gtk_tree_menu_new_with_area (priv->area); + gtk_widget_set_name (menu, "gtk-combobox-popup-menu"); + gtk_tree_menu_set_model (GTK_TREE_MENU (menu), priv->model); gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (menu), priv->wrap_width); @@ -3351,7 +3052,7 @@ gtk_combo_box_menu_destroy (GtkComboBox *combo_box) g_signal_handlers_disconnect_matched (priv->button, G_SIGNAL_MATCH_DATA, 0, 0, NULL, - gtk_combo_box_button_state_changed, combo_box); + gtk_combo_box_button_state_flags_changed, combo_box); g_signal_handlers_disconnect_matched (priv->popup_widget, G_SIGNAL_MATCH_DATA, 0, 0, NULL, @@ -3394,6 +3095,22 @@ gtk_combo_box_menu_button_press (GtkWidget *widget, return FALSE; } +static void +gtk_combo_box_menu_activate (GtkWidget *menu, + const gchar *path, + GtkComboBox *combo_box) +{ + GtkTreeIter iter; + + if (gtk_tree_model_get_iter_from_string (combo_box->priv->model, &iter, path)) + gtk_combo_box_set_active_iter (combo_box, &iter); + + g_object_set (combo_box, + "editing-canceled", FALSE, + NULL); +} + + static void gtk_combo_box_update_sensitivity (GtkComboBox *combo_box) { @@ -3428,6 +3145,75 @@ gtk_combo_box_update_sensitivity (GtkComboBox *combo_box) gtk_widget_set_sensitive (combo_box->priv->box, sensitive); } +static void +gtk_combo_box_model_row_inserted (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + + if (combo_box->priv->tree_view) + gtk_combo_box_list_popup_resize (combo_box); + + gtk_combo_box_update_sensitivity (combo_box); +} + +static void +gtk_combo_box_model_row_deleted (GtkTreeModel *model, + GtkTreePath *path, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + + if (!gtk_tree_row_reference_valid (priv->active_row)) + { + if (priv->cell_view) + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL); + g_signal_emit (combo_box, combo_box_signals[CHANGED], 0); + } + + if (priv->tree_view) + gtk_combo_box_list_popup_resize (combo_box); + + gtk_combo_box_update_sensitivity (combo_box); +} + +static void +gtk_combo_box_model_rows_reordered (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + gpointer user_data) +{ + gtk_tree_row_reference_reordered (G_OBJECT (user_data), path, iter, new_order); +} + +static void +gtk_combo_box_model_row_changed (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); + GtkComboBoxPrivate *priv = combo_box->priv; + GtkTreePath *active_path; + + /* FIXME this belongs to GtkCellView */ + if (gtk_tree_row_reference_valid (priv->active_row)) + { + active_path = gtk_tree_row_reference_get_path (priv->active_row); + if (gtk_tree_path_compare (path, active_path) == 0 && + priv->cell_view) + gtk_widget_queue_resize (GTK_WIDGET (priv->cell_view)); + gtk_tree_path_free (active_path); + } + + if (priv->tree_view) + gtk_combo_box_list_row_changed (model, path, iter, user_data); +} + static gboolean list_popup_resize_idle (gpointer user_data) { @@ -3469,6 +3255,7 @@ gtk_combo_box_model_row_expanded (GtkTreeModel *model, gtk_combo_box_list_popup_resize (combo_box); } + /* * list style */ @@ -3552,10 +3339,11 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box) gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (priv->tree_view), (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, combo_box, NULL); + if (priv->model) gtk_tree_view_set_model (GTK_TREE_VIEW (priv->tree_view), priv->model); - priv->column = gtk_tree_view_column_new (); + priv->column = gtk_tree_view_column_new_with_area (priv->area); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->tree_view), priv->column); if (gtk_tree_row_reference_valid (priv->active_row)) @@ -3974,221 +3762,22 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection, return sensitive; } - -/* - * GtkCellEditable implementation - */ - static void -gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface) +gtk_combo_box_list_row_changed (GtkTreeModel *model, + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { - iface->start_editing = gtk_combo_box_start_editing; + /* XXX Do nothing ? */ } -static gboolean -gtk_cell_editable_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (data); - - if (event->keyval == GDK_KEY_Escape) - { - g_object_set (combo_box, - "editing-canceled", TRUE, - NULL); - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - - return TRUE; - } - else if (event->keyval == GDK_KEY_Return || - event->keyval == GDK_KEY_ISO_Enter || - event->keyval == GDK_KEY_KP_Enter) - { - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - - return TRUE; - } - - return FALSE; -} - -static gboolean -popdown_idle (gpointer data) -{ - GtkComboBox *combo_box; - - combo_box = GTK_COMBO_BOX (data); - - gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); - gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - - g_object_unref (combo_box); - - return FALSE; -} - -static void -popdown_handler (GtkWidget *widget, - gpointer data) -{ - gdk_threads_add_idle (popdown_idle, g_object_ref (data)); -} - -static gboolean -popup_idle (gpointer data) -{ - GtkComboBox *combo_box; - - combo_box = GTK_COMBO_BOX (data); - - if (GTK_IS_MENU (combo_box->priv->popup_widget) && - combo_box->priv->cell_view) - g_signal_connect_object (combo_box->priv->popup_widget, - "unmap", G_CALLBACK (popdown_handler), - combo_box, 0); - - /* we unset this if a menu item is activated */ - g_object_set (combo_box, - "editing-canceled", TRUE, - NULL); - gtk_combo_box_popup (combo_box); - - combo_box->priv->popup_idle_id = 0; - combo_box->priv->activate_button = 0; - combo_box->priv->activate_time = 0; - - return FALSE; -} - -static void -gtk_combo_box_start_editing (GtkCellEditable *cell_editable, - GdkEvent *event) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (cell_editable); - GtkWidget *child; - - combo_box->priv->is_cell_renderer = TRUE; - - if (combo_box->priv->cell_view) - { - g_signal_connect_object (combo_box->priv->button, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable, 0); - - gtk_widget_grab_focus (combo_box->priv->button); - } - else - { - child = gtk_bin_get_child (GTK_BIN (combo_box)); - - g_signal_connect_object (child, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable, 0); - - gtk_widget_grab_focus (child); - gtk_widget_set_can_focus (combo_box->priv->button, FALSE); - } - - /* we do the immediate popup only for the optionmenu-like - * appearance - */ - if (combo_box->priv->is_cell_renderer && - combo_box->priv->cell_view && !combo_box->priv->tree_view) - { - if (event && event->type == GDK_BUTTON_PRESS) - { - GdkEventButton *event_button = (GdkEventButton *)event; - - combo_box->priv->activate_button = event_button->button; - combo_box->priv->activate_time = event_button->time; - } - - combo_box->priv->popup_idle_id = - gdk_threads_add_idle (popup_idle, combo_box); - } -} - - /* * GtkCellLayout implementation */ - -static void -gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface) +GtkCellArea * +gtk_combo_box_cell_layout_get_area (GtkCellLayout *cell_layout) { - iface->get_area = gtk_combo_box_cell_layout_get_area; -} - -static GtkCellArea * -gtk_combo_box_cell_layout_get_area (GtkCellLayout *layout) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (layout); - GtkComboBoxPrivate *priv; - - priv = combo_box->priv; - - return priv->area; -} - -/* - * GtkBuildable implementation - */ - -static void -gtk_combo_box_buildable_init (GtkBuildableIface *iface) -{ - parent_buildable_iface = g_type_interface_peek_parent (iface); - iface->add_child = _gtk_cell_layout_buildable_add_child; - iface->custom_tag_start = gtk_combo_box_buildable_custom_tag_start; - iface->custom_tag_end = gtk_combo_box_buildable_custom_tag_end; - iface->get_internal_child = gtk_combo_box_buildable_get_internal_child; -} - -static gboolean -gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - GMarkupParser *parser, - gpointer *data) -{ - if (parent_buildable_iface->custom_tag_start (buildable, builder, child, - tagname, parser, data)) - return TRUE; - - return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, - tagname, parser, data); -} - -static void -gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data) -{ - if (_gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, - data)) - return; - else - parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, - data); -} - -static GObject * -gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, - GtkBuilder *builder, - const gchar *childname) -{ - GtkComboBox *combo_box = GTK_COMBO_BOX (buildable); - - if (combo_box->priv->has_entry && strcmp (childname, "entry") == 0) - return G_OBJECT (gtk_bin_get_child (GTK_BIN (buildable))); - - return parent_buildable_iface->get_internal_child (buildable, builder, childname); + return GTK_COMBO_BOX (cell_layout)->priv->area; } /* @@ -4367,7 +3956,7 @@ gtk_combo_box_set_row_span_column (GtkComboBox *combo_box, if (GTK_IS_TREE_MENU (priv->popup_widget)) gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (priv->popup_widget), priv->row_column); - + g_object_notify (G_OBJECT (combo_box), "row-span-column"); } } @@ -4672,7 +4261,15 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, g_signal_connect (combo_box->priv->model, "row-deleted", G_CALLBACK (gtk_combo_box_model_row_deleted), combo_box); - + combo_box->priv->reordered_id = + g_signal_connect (combo_box->priv->model, "rows-reordered", + G_CALLBACK (gtk_combo_box_model_rows_reordered), + combo_box); + combo_box->priv->changed_id = + g_signal_connect (combo_box->priv->model, "row-changed", + G_CALLBACK (gtk_combo_box_model_row_changed), + combo_box); + if (combo_box->priv->tree_view) { /* list mode */ @@ -4700,6 +4297,8 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, } out: + gtk_combo_box_update_sensitivity (combo_box); + g_object_notify (G_OBJECT (combo_box), "model"); } @@ -4722,6 +4321,151 @@ gtk_combo_box_get_model (GtkComboBox *combo_box) return combo_box->priv->model; } +static void +gtk_combo_box_real_move_active (GtkComboBox *combo_box, + GtkScrollType scroll) +{ + GtkTreeIter iter; + GtkTreeIter new_iter; + gboolean active_iter; + gboolean found; + + if (!combo_box->priv->model) + { + gtk_widget_error_bell (GTK_WIDGET (combo_box)); + return; + } + + active_iter = gtk_combo_box_get_active_iter (combo_box, &iter); + + switch (scroll) + { + case GTK_SCROLL_STEP_BACKWARD: + case GTK_SCROLL_STEP_UP: + case GTK_SCROLL_STEP_LEFT: + if (active_iter) + { + found = tree_prev (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + break; + } + /* else fall through */ + + case GTK_SCROLL_PAGE_FORWARD: + case GTK_SCROLL_PAGE_DOWN: + case GTK_SCROLL_PAGE_RIGHT: + case GTK_SCROLL_END: + found = tree_last (combo_box, combo_box->priv->model, &new_iter, FALSE); + break; + + case GTK_SCROLL_STEP_FORWARD: + case GTK_SCROLL_STEP_DOWN: + case GTK_SCROLL_STEP_RIGHT: + if (active_iter) + { + found = tree_next (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + break; + } + /* else fall through */ + + case GTK_SCROLL_PAGE_BACKWARD: + case GTK_SCROLL_PAGE_UP: + case GTK_SCROLL_PAGE_LEFT: + case GTK_SCROLL_START: + found = tree_first (combo_box, combo_box->priv->model, &new_iter, FALSE); + break; + + default: + return; + } + + if (found && active_iter) + { + GtkTreePath *old_path; + GtkTreePath *new_path; + + old_path = gtk_tree_model_get_path (combo_box->priv->model, &iter); + new_path = gtk_tree_model_get_path (combo_box->priv->model, &new_iter); + + if (gtk_tree_path_compare (old_path, new_path) == 0) + found = FALSE; + + gtk_tree_path_free (old_path); + gtk_tree_path_free (new_path); + } + + if (found) + { + gtk_combo_box_set_active_iter (combo_box, &new_iter); + } + else + { + gtk_widget_error_bell (GTK_WIDGET (combo_box)); + } +} + +static gboolean +gtk_combo_box_mnemonic_activate (GtkWidget *widget, + gboolean group_cycling) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + + if (combo_box->priv->has_entry) + { + GtkWidget* child; + + child = gtk_bin_get_child (GTK_BIN (combo_box)); + if (child) + gtk_widget_grab_focus (child); + } + else + gtk_widget_grab_focus (combo_box->priv->button); + + return TRUE; +} + +static void +gtk_combo_box_grab_focus (GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + + if (combo_box->priv->has_entry) + { + GtkWidget *child; + + child = gtk_bin_get_child (GTK_BIN (combo_box)); + if (child) + gtk_widget_grab_focus (child); + } + else + gtk_widget_grab_focus (combo_box->priv->button); +} + +static void +gtk_combo_box_destroy (GtkWidget *widget) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + + if (combo_box->priv->popup_idle_id > 0) + { + g_source_remove (combo_box->priv->popup_idle_id); + combo_box->priv->popup_idle_id = 0; + } + + gtk_combo_box_popdown (combo_box); + + if (combo_box->priv->row_separator_destroy) + combo_box->priv->row_separator_destroy (combo_box->priv->row_separator_data); + + combo_box->priv->row_separator_func = NULL; + combo_box->priv->row_separator_data = NULL; + combo_box->priv->row_separator_destroy = NULL; + + GTK_WIDGET_CLASS (gtk_combo_box_parent_class)->destroy (widget); + combo_box->priv->cell_view = NULL; +} + static void gtk_combo_box_entry_contents_changed (GtkEntry *entry, gpointer user_data) @@ -4773,6 +4517,232 @@ gtk_combo_box_entry_active_changed (GtkComboBox *combo_box, } } +static GObject * +gtk_combo_box_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) +{ + GObject *object; + GtkComboBox *combo_box; + GtkComboBoxPrivate *priv; + GtkStyleContext *context; + + object = G_OBJECT_CLASS (gtk_combo_box_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + combo_box = GTK_COMBO_BOX (object); + priv = combo_box->priv; + + if (!priv->area) + { + GtkCellArea *area = gtk_cell_area_box_new (); + + priv->area = g_object_ref_sink (area); + } + + priv->cell_view = gtk_cell_view_new_with_context (priv->area, NULL); + gtk_cell_view_set_fit_model (GTK_CELL_VIEW (priv->cell_view), TRUE); + gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), priv->model); + gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (combo_box)); + _gtk_bin_set_child (GTK_BIN (combo_box), priv->cell_view); + gtk_widget_show (priv->cell_view); + + gtk_combo_box_check_appearance (combo_box); + + context = gtk_widget_get_style_context (GTK_WIDGET (combo_box)); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); + + if (priv->has_entry) + { + GtkWidget *entry; + + entry = gtk_entry_new (); + gtk_widget_show (entry); + gtk_container_add (GTK_CONTAINER (combo_box), entry); + + priv->text_renderer = gtk_cell_renderer_text_new (); + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), + priv->text_renderer, TRUE); + + gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), -1); + + g_signal_connect (combo_box, "changed", + G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); + } + + return object; +} + + +static void +gtk_combo_box_dispose(GObject* object) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (object); + + if (GTK_IS_MENU (combo_box->priv->popup_widget)) + { + gtk_combo_box_menu_destroy (combo_box); + gtk_menu_detach (GTK_MENU (combo_box->priv->popup_widget)); + combo_box->priv->popup_widget = NULL; + } + + if (combo_box->priv->area) + { + g_object_unref (combo_box->priv->area); + combo_box->priv->area = NULL; + } + + if (GTK_IS_TREE_VIEW (combo_box->priv->tree_view)) + gtk_combo_box_list_destroy (combo_box); + + if (combo_box->priv->popup_window) + { + gtk_widget_destroy (combo_box->priv->popup_window); + combo_box->priv->popup_window = NULL; + } + + gtk_combo_box_unset_model (combo_box); + + G_OBJECT_CLASS (gtk_combo_box_parent_class)->dispose (object); +} + +static void +gtk_combo_box_finalize (GObject *object) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (object); + + g_free (combo_box->priv->tearoff_title); + + G_OBJECT_CLASS (gtk_combo_box_parent_class)->finalize (object); +} + +static gboolean +gtk_cell_editable_key_press (GtkWidget *widget, + GdkEventKey *event, + gpointer data) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (data); + + if (event->keyval == GDK_KEY_Escape) + { + g_object_set (combo_box, + "editing-canceled", TRUE, + NULL); + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + + return TRUE; + } + else if (event->keyval == GDK_KEY_Return || + event->keyval == GDK_KEY_ISO_Enter || + event->keyval == GDK_KEY_KP_Enter) + { + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + + return TRUE; + } + + return FALSE; +} + +static gboolean +popdown_idle (gpointer data) +{ + GtkComboBox *combo_box; + + combo_box = GTK_COMBO_BOX (data); + + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); + gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); + + g_object_unref (combo_box); + + return FALSE; +} + +static void +popdown_handler (GtkWidget *widget, + gpointer data) +{ + gdk_threads_add_idle (popdown_idle, g_object_ref (data)); +} + +static gboolean +popup_idle (gpointer data) +{ + GtkComboBox *combo_box; + + combo_box = GTK_COMBO_BOX (data); + + if (GTK_IS_MENU (combo_box->priv->popup_widget) && + combo_box->priv->cell_view) + g_signal_connect_object (combo_box->priv->popup_widget, + "unmap", G_CALLBACK (popdown_handler), + combo_box, 0); + + /* we unset this if a menu item is activated */ + g_object_set (combo_box, + "editing-canceled", TRUE, + NULL); + gtk_combo_box_popup (combo_box); + + combo_box->priv->popup_idle_id = 0; + combo_box->priv->activate_button = 0; + combo_box->priv->activate_time = 0; + + return FALSE; +} + +static void +gtk_combo_box_start_editing (GtkCellEditable *cell_editable, + GdkEvent *event) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (cell_editable); + GtkWidget *child; + + combo_box->priv->is_cell_renderer = TRUE; + + if (combo_box->priv->cell_view) + { + g_signal_connect_object (combo_box->priv->button, "key-press-event", + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); + + gtk_widget_grab_focus (combo_box->priv->button); + } + else + { + child = gtk_bin_get_child (GTK_BIN (combo_box)); + + g_signal_connect_object (child, "key-press-event", + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); + + gtk_widget_grab_focus (child); + gtk_widget_set_can_focus (combo_box->priv->button, FALSE); + } + + /* we do the immediate popup only for the optionmenu-like + * appearance + */ + if (combo_box->priv->is_cell_renderer && + combo_box->priv->cell_view && !combo_box->priv->tree_view) + { + if (event && event->type == GDK_BUTTON_PRESS) + { + GdkEventButton *event_button = (GdkEventButton *)event; + + combo_box->priv->activate_button = event_button->button; + combo_box->priv->activate_time = event_button->time; + } + + combo_box->priv->popup_idle_id = + gdk_threads_add_idle (popup_idle, combo_box); + } +} + + /** * gtk_combo_box_get_add_tearoffs: * @combo_box: a #GtkComboBox @@ -4810,15 +4780,7 @@ gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box, if (combo_box->priv->add_tearoffs != add_tearoffs) { combo_box->priv->add_tearoffs = add_tearoffs; - - if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) - { - /* menu mode */ - gtk_tree_menu_set_tearoff (GTK_TREE_MENU (combo_box->priv->popup_widget), - combo_box->priv->add_tearoffs); - /* XXX Resize ?? */ - } - + gtk_combo_box_check_appearance (combo_box); g_object_notify (G_OBJECT (combo_box), "add-tearoffs"); } } @@ -5201,166 +5163,330 @@ gtk_combo_box_get_focus_on_click (GtkComboBox *combo_box) } -/** - * gtk_combo_box_popup: - * @combo_box: a #GtkComboBox - * - * Pops up the menu or dropdown list of @combo_box. - * - * This function is mostly intended for use by accessibility technologies; - * applications should have little use for it. - * - * Since: 2.4 - */ -void -gtk_combo_box_popup (GtkComboBox *combo_box) +static gboolean +gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data) { - g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); + if (parent_buildable_iface->custom_tag_start (buildable, builder, child, + tagname, parser, data)) + return TRUE; - g_signal_emit (combo_box, combo_box_signals[POPUP], 0); + return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, + tagname, parser, data); } -/** - * gtk_combo_box_popup_for_device: - * @combo_box: a #GtkComboBox - * @device: a #GdkDevice - * - * Pops up the menu or dropdown list of @combo_box, the popup window - * will be grabbed so only @device and its associated pointer/keyboard - * are the only #GdkDevices able to send events to it. - * - * Since: 3.0 - **/ -void -gtk_combo_box_popup_for_device (GtkComboBox *combo_box, - GdkDevice *device) +static void +gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) { - GtkComboBoxPrivate *priv = combo_box->priv; - gint x, y, width, height; - GtkTreePath *path = NULL, *ppath; - GtkWidget *toplevel; - GdkDevice *keyboard, *pointer; - guint32 time; + if (strcmp (tagname, "attributes") == 0) + _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, + data); + else + parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, + data); +} - g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - g_return_if_fail (GDK_IS_DEVICE (device)); +static GObject * +gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, + GtkBuilder *builder, + const gchar *childname) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (buildable); - if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) - return; + if (combo_box->priv->has_entry && strcmp (childname, "entry") == 0) + return G_OBJECT (gtk_bin_get_child (GTK_BIN (buildable))); - if (gtk_widget_get_mapped (priv->popup_widget)) - return; + return parent_buildable_iface->get_internal_child (buildable, builder, childname); +} - if (priv->grab_pointer && priv->grab_keyboard) - return; +static void +gtk_combo_box_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + gint focus_width, focus_pad; + gint font_size, arrow_size; + PangoContext *context; + PangoFontMetrics *metrics; + PangoFontDescription *font_desc; + GtkWidget *child; + gint minimum_width = 0, natural_width = 0; + gint child_min, child_nat; + GtkStyleContext *style_context; + GtkStateFlags state; + GtkBorder *border; - time = gtk_get_current_event_time (); + child = gtk_bin_get_child (GTK_BIN (widget)); + + /* common */ + gtk_widget_get_preferred_width (child, &child_min, &child_nat); - if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) + gtk_widget_style_get (GTK_WIDGET (widget), + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "arrow-size", &arrow_size, + NULL); + + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_get (style_context, state, + "font", &font_desc, + "border-width", &border, + NULL); + + context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); + metrics = pango_context_get_metrics (context, font_desc, + pango_context_get_language (context)); + font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + + pango_font_metrics_get_descent (metrics)); + pango_font_metrics_unref (metrics); + pango_font_description_free (font_desc); + + arrow_size = MAX (arrow_size, font_size); + + gtk_widget_set_size_request (priv->arrow, arrow_size, arrow_size); + + if (!priv->tree_view) { - keyboard = device; - pointer = gdk_device_get_associated_device (device); + /* menu mode */ + if (priv->cell_view) + { + gint sep_width, arrow_width; + gint border_width, xpad; + GtkBorder button_border; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); + get_widget_border (priv->button, &button_border); + + gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); + gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); + + xpad = 2 * (border_width + focus_width + focus_pad) + + button_border.left + button_border.right; + + minimum_width = child_min + sep_width + arrow_width + xpad; + natural_width = child_nat + sep_width + arrow_width + xpad; + } + else + { + gint but_width, but_nat_width; + + gtk_widget_get_preferred_width (priv->button, + &but_width, &but_nat_width); + + minimum_width = child_min + but_width; + natural_width = child_nat + but_nat_width; + } } else { - pointer = device; - keyboard = gdk_device_get_associated_device (device); + /* list mode */ + gint button_width, button_nat_width; + + /* sample + frame */ + minimum_width = child_min; + natural_width = child_nat; + + minimum_width += 2 * focus_width; + natural_width += 2 * focus_width; + + if (priv->cell_view_frame) + { + if (priv->has_frame) + { + gint border_width, xpad; + GtkBorder frame_border; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + get_widget_border (priv->cell_view_frame, &frame_border); + xpad = (2 * border_width) + frame_border.left + frame_border.right; + + minimum_width += xpad; + natural_width += xpad; + } + } + + /* the button */ + gtk_widget_get_preferred_width (priv->button, + &button_width, &button_nat_width); + + minimum_width += button_width; + natural_width += button_nat_width; } - if (GTK_IS_MENU (priv->popup_widget)) - { - gtk_combo_box_menu_popup (combo_box, - priv->activate_button, - priv->activate_time); - return; - } + minimum_width += border->left + border->right; + natural_width += border->left + border->right; + gtk_border_free (border); - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); - if (GTK_IS_WINDOW (toplevel)) - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (priv->popup_window)); + if (minimum_size) + *minimum_size = minimum_width; - gtk_widget_show_all (priv->scrolled_window); - gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); - - gtk_widget_set_size_request (priv->popup_window, width, height); - gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); - - if (gtk_tree_row_reference_valid (priv->active_row)) - { - path = gtk_tree_row_reference_get_path (priv->active_row); - ppath = gtk_tree_path_copy (path); - if (gtk_tree_path_up (ppath)) - gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->tree_view), - ppath); - gtk_tree_path_free (ppath); - } - gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), - TRUE); - - /* popup */ - gtk_widget_show (priv->popup_window); - - if (path) - { - gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), - path, NULL, FALSE); - gtk_tree_path_free (path); - } - - gtk_widget_grab_focus (priv->popup_window); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), - TRUE); - - if (!gtk_widget_has_focus (priv->tree_view)) - gtk_widget_grab_focus (priv->tree_view); - - if (!popup_grab_on_window (gtk_widget_get_window (priv->popup_window), - keyboard, pointer, time)) - { - gtk_widget_hide (priv->popup_window); - return; - } - - gtk_device_grab_add (priv->popup_window, pointer, TRUE); - priv->grab_pointer = pointer; - priv->grab_keyboard = keyboard; + if (natural_size) + *natural_size = natural_width; } -/** - * gtk_combo_box_popdown: - * @combo_box: a #GtkComboBox - * - * Hides the menu or dropdown list of @combo_box. - * - * This function is mostly intended for use by accessibility technologies; - * applications should have little use for it. - * - * Since: 2.4 - */ -void -gtk_combo_box_popdown (GtkComboBox *combo_box) +static void +gtk_combo_box_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size) +{ + gint min_width; + + /* Combo box is height-for-width only + * (so we always just reserve enough height for the minimum width) */ + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); + GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, minimum_size, natural_size); +} + +static void +gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size) { - GtkComboBoxPrivate *priv = combo_box->priv; + /* Combo box is height-for-width only + * (so we assume we always reserved enough height for the minimum width) */ + GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); +} - g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - if (GTK_IS_MENU (priv->popup_widget)) +static void +gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size) +{ + GtkComboBox *combo_box = GTK_COMBO_BOX (widget); + GtkComboBoxPrivate *priv = combo_box->priv; + gint focus_width, focus_pad; + gint min_height = 0, nat_height = 0; + gint size; + GtkWidget *child; + GtkBorder border; + + gtk_widget_style_get (GTK_WIDGET (widget), + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); + + child = gtk_bin_get_child (GTK_BIN (widget)); + + get_widget_border (widget, &border); + size = avail_size - border.left; + + if (!priv->tree_view) { - gtk_menu_popdown (GTK_MENU (priv->popup_widget)); - return; + /* menu mode */ + if (priv->cell_view) + { + /* calculate x/y padding and separator/arrow size */ + gint sep_width, arrow_width, sep_height, arrow_height; + gint border_width, xpad, ypad; + GtkBorder button_border; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); + get_widget_border (priv->button, &button_border); + + gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); + gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); + gtk_widget_get_preferred_height_for_width (priv->separator, + sep_width, &sep_height, NULL); + gtk_widget_get_preferred_height_for_width (priv->arrow, + arrow_width, &arrow_height, NULL); + + xpad = 2 * (border_width + focus_width + focus_pad) + + button_border.left + button_border.right; + ypad = 2 * (border_width + focus_width + focus_pad) + + button_border.top + button_border.bottom; + + size -= sep_width + arrow_width + xpad; + + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + arrow_height = MAX (arrow_height, sep_height); + min_height = MAX (min_height, arrow_height); + nat_height = MAX (nat_height, arrow_height); + + min_height += ypad; + nat_height += ypad; + } + else + { + /* there is a custom child widget inside (no priv->cell_view) */ + gint but_width, but_height; + + gtk_widget_get_preferred_width (priv->button, &but_width, NULL); + gtk_widget_get_preferred_height_for_width (priv->button, + but_width, &but_height, NULL); + + size -= but_width; + + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + min_height = MAX (min_height, but_height); + nat_height = MAX (nat_height, but_height); + } + } + else + { + /* list mode */ + gint but_width, but_height; + gint xpad = 0, ypad = 0; + + gtk_widget_get_preferred_width (priv->button, &but_width, NULL); + gtk_widget_get_preferred_height_for_width (priv->button, + but_width, &but_height, NULL); + + if (priv->cell_view_frame && priv->has_frame) + { + GtkBorder frame_border; + gint border_width; + + border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); + get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border); + + xpad = (2 * border_width) + border.left + frame_border.right; + ypad = (2 * border_width) + border.top + frame_border.bottom; + } + + size -= but_width; + size -= 2 * focus_width; + size -= xpad; + + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + min_height = MAX (min_height, but_height); + nat_height = MAX (nat_height, but_height); + + min_height += ypad; + nat_height += ypad; } - if (!gtk_widget_get_realized (GTK_WIDGET (combo_box))) - return; + min_height += border.top + border.bottom; + nat_height += border.top + border.bottom; - gtk_device_grab_remove (priv->popup_window, priv->grab_pointer); - gtk_widget_hide (priv->popup_window); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), - FALSE); + if (minimum_size) + *minimum_size = min_height; - priv->grab_pointer = NULL; - priv->grab_keyboard = NULL; + if (natural_size) + *natural_size = nat_height; } /** From 01981311da7742006467e8bf284b8d149795d2c4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 6 Dec 2010 21:40:33 +0900 Subject: [PATCH 1109/1463] Removed GtkComboBoxPrivate->minimum/natural_width members. And updated gtk_combo_box_list_position() which is still waiting for GtkTreeView to report natural width in order to properly do non fixed width dropdown menus. --- gtk/gtkcombobox.c | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 6d594400d2..86c301c8de 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -124,9 +124,6 @@ struct _GtkComboBoxPrivate guint scroll_timer; guint resize_idle_id; - gint minimum_width; - gint natural_width; - /* For "has-entry" specific behavior we track * an automated cell renderer and text column */ gint text_column; @@ -1018,9 +1015,6 @@ gtk_combo_box_init (GtkComboBox *combo_box) GtkComboBoxPrivate); priv = combo_box->priv; - priv->minimum_width = 0; - priv->natural_width = 0; - priv->wrap_width = 0; priv->active = -1; @@ -1897,10 +1891,6 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), hpolicy, vpolicy); - /* XXX This set_size_request call is part of the hack outlined below and can - * go away once height-for-width is implemented on treeviews. */ - gtk_widget_set_size_request (priv->tree_view, -1, -1); - if (combo_box->priv->popup_fixed_width) { gtk_widget_get_preferred_size (priv->scrolled_window, &popup_req, NULL); @@ -1914,25 +1904,16 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, } else { - if (priv->natural_width > *width) + /* XXX This code depends on treeviews properly reporting their natural width + * list-mode menus won't fill up to their natural width until then */ + gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); + + if (popup_req.width > *width) { hpolicy = GTK_POLICY_NEVER; gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), hpolicy, vpolicy); - - /* XXX Currently we set the size-request on the internal treeview to be - * the natural width of the cells, this hack can go away once our - * treeview does height-for-width properly (i.e. just adjust *width - * here to be the natural width request of the scrolled-window). - * - * I can't tell why the magic number 5 is needed here (i.e. without it - * treeviews are left ellipsizing) , however it this all should be - * removed with height-for-width treeviews. - */ - gtk_widget_set_size_request (priv->tree_view, priv->natural_width + 5, -1); - gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); - *width = popup_req.width; } } From 467fb0d7dc6e0d14b26c7dfa747ac160eac818af Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 8 Dec 2010 22:30:22 +0900 Subject: [PATCH 1110/1463] Fixed gtk_tree_menu_path_in_menu function which has been malfunctioning. Now sensitivity is properly handled in the "apply-attributes" callback. --- gtk/gtktreemenu.c | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index bbb83f4658..98da2c1d2d 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -734,33 +734,32 @@ gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, gboolean is_header = FALSE; /* Check if the is in root of the model */ - if (gtk_tree_path_get_depth (path) == 1) - { - if (!priv->root) - in_menu = TRUE; - } + if (gtk_tree_path_get_depth (path) == 1 && !priv->root) + in_menu = TRUE; /* If we are a submenu, compare the parent path */ - else if (priv->root && gtk_tree_path_get_depth (path) > 1) + else if (priv->root) { GtkTreePath *root_path = gtk_tree_row_reference_get_path (priv->root); - GtkTreePath *parent_path = gtk_tree_path_copy (path); - - gtk_tree_path_up (parent_path); + GtkTreePath *search_path = gtk_tree_path_copy (path); if (root_path) { - if (gtk_tree_path_compare (root_path, parent_path) == 0) - in_menu = TRUE; - - if (!in_menu && priv->menu_with_header && - gtk_tree_path_compare (root_path, path) == 0) + if (priv->menu_with_header && + gtk_tree_path_compare (root_path, search_path) == 0) { in_menu = TRUE; is_header = TRUE; } + else if (gtk_tree_path_get_depth (search_path) > 1) + { + gtk_tree_path_up (search_path); + + if (gtk_tree_path_compare (root_path, search_path) == 0) + in_menu = TRUE; + } } gtk_tree_path_free (root_path); - gtk_tree_path_free (parent_path); + gtk_tree_path_free (search_path); } if (header_item) From b3ff60db71eaf4f705eac0872e971bf3fe11beb5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 19:24:51 +0900 Subject: [PATCH 1111/1463] Fixed GtkComboBox to let the cell-layout implementation handle --- gtk/gtkcombobox.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 86c301c8de..eb8dea45b6 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -5167,12 +5167,8 @@ gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, const gchar *tagname, gpointer *data) { - if (strcmp (tagname, "attributes") == 0) - _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, - data); - else - parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, - data); + if (!_gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data)) + parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, data); } static GObject * From 57857f13dfed9cc31da0a12e7ca3d3786a977ce6 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 19:34:26 +0900 Subject: [PATCH 1112/1463] Added new constructors gtk_combo_box_new_with_area and gtk_combo_box_new_with_area_and_entry. --- docs/reference/gtk/gtk3-sections.txt | 2 ++ gtk/gtk.symbols | 2 ++ gtk/gtkcombobox.c | 34 ++++++++++++++++++++++++++++ gtk/gtkcombobox.h | 2 ++ 4 files changed, 40 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index b4405791f2..9b28579f88 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -827,6 +827,8 @@ gtk_combo_box_new gtk_combo_box_new_with_entry gtk_combo_box_new_with_model gtk_combo_box_new_with_model_and_entry +gtk_combo_box_new_with_area +gtk_combo_box_new_with_area_and_entry gtk_combo_box_get_wrap_width gtk_combo_box_set_wrap_width gtk_combo_box_get_row_span_column diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index ab2bf1838b..0c5c01d289 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -626,6 +626,8 @@ gtk_combo_box_get_title gtk_combo_box_get_type G_GNUC_CONST gtk_combo_box_get_wrap_width gtk_combo_box_new +gtk_combo_box_new_with_area +gtk_combo_box_new_with_area_and_entry gtk_combo_box_new_with_entry gtk_combo_box_new_with_model gtk_combo_box_new_with_model_and_entry diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index eb8dea45b6..84ed7c47f0 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -3780,6 +3780,40 @@ gtk_combo_box_new (void) return g_object_new (GTK_TYPE_COMBO_BOX, NULL); } +/** + * gtk_combo_box_new_with_area: + * @area: the #GtkCellArea to use to layout cell renderers + * + * Creates a new empty #GtkComboBox using @area to layout cells. + * + * Return value: A new #GtkComboBox. + */ +GtkWidget * +gtk_combo_box_new_with_area (GtkCellArea *area) +{ + return g_object_new (GTK_TYPE_COMBO_BOX, "cell-area", area, NULL); +} + +/** + * gtk_combo_box_new_with_area_and_entry: + * @area: the #GtkCellArea to use to layout cell renderers + * + * Creates a new empty #GtkComboBox with an entry. + * + * The new combo box will use @area to layout cells. + * + * Return value: A new #GtkComboBox. + */ +GtkWidget * +gtk_combo_box_new_with_area_and_entry (GtkCellArea *area) +{ + return g_object_new (GTK_TYPE_COMBO_BOX, + "has-entry", TRUE, + "cell-area", area, + NULL); +} + + /** * gtk_combo_box_new_with_entry: * diff --git a/gtk/gtkcombobox.h b/gtk/gtkcombobox.h index 1c674b9c06..30a9769403 100644 --- a/gtk/gtkcombobox.h +++ b/gtk/gtkcombobox.h @@ -67,6 +67,8 @@ struct _GtkComboBoxClass /* construction */ GType gtk_combo_box_get_type (void) G_GNUC_CONST; GtkWidget *gtk_combo_box_new (void); +GtkWidget *gtk_combo_box_new_with_area (GtkCellArea *area); +GtkWidget *gtk_combo_box_new_with_area_and_entry (GtkCellArea *area); GtkWidget *gtk_combo_box_new_with_entry (void); GtkWidget *gtk_combo_box_new_with_model (GtkTreeModel *model); GtkWidget *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model); From 6ae724c0d319bec2a08ec57de45b546da18d318c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 20:17:10 +0900 Subject: [PATCH 1113/1463] Added LISTMODE env var check to testcombo.c so that one can easily test listmode. --- tests/testcombo.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/testcombo.c b/tests/testcombo.c index 437a72cda3..0f7d5cee3d 100644 --- a/tests/testcombo.c +++ b/tests/testcombo.c @@ -1102,6 +1102,20 @@ main (int argc, char **argv) if (g_getenv ("RTL")) gtk_widget_set_default_direction (GTK_TEXT_DIR_RTL); + if (g_getenv ("LISTMODE")) + { + GtkCssProvider *provider = gtk_css_provider_new (); + + gtk_css_provider_load_from_data (provider, + "* { -GtkComboBox-appears-as-list: true; }", + -1, NULL); + + gtk_style_context_add_provider_for_screen (gdk_screen_get_default (), + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_FALLBACK); + + } + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_container_set_border_width (GTK_CONTAINER (window), 5); g_signal_connect (window, "destroy", gtk_main_quit, NULL); From 7b2d6e5cdf169b9ab2e8c0863be236fa55f20375 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 15 Dec 2010 17:17:45 +0900 Subject: [PATCH 1114/1463] Make GtkTreeMenu a private class: - Removed GtkTreeMenu from gtk-docs.sgml - Removed GtkTreeMenu from gtk3-sections.txt - Removed GtkTreeMenu from gtk.symbols - Make GtkTreeMenu apis prefixed with '_' (including _get_type()). - Updated GtkComboBox sources to use the private apis - Updated GtkCellView to not mention #GtkTreeMenu in gtk-doc statements - Updated tests/testtreemenu to not use a GtkTreeMenu but still show a very fancy GtkComboBox - Moved gtktreemenu.h to private headers section in the makefile. - Removed include of gtktreemenu.h from gtk.h --- docs/reference/gtk/gtk-docs.sgml | 1 - docs/reference/gtk/gtk3-sections.txt | 36 ------ gtk/Makefile.am | 2 +- gtk/gtk.h | 1 - gtk/gtk.symbols | 20 ---- gtk/gtkcellview.c | 11 +- gtk/gtkcombobox.c | 40 +++---- gtk/gtktreemenu.c | 164 +++++++++++++-------------- gtk/gtktreemenu.h | 70 ++++++------ tests/testtreemenu.c | 68 +++++++---- 10 files changed, 187 insertions(+), 226 deletions(-) diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index 822fb4c010..ca98b8f6fa 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -173,7 +173,6 @@ - diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 9b28579f88..00d5bef2db 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -783,42 +783,6 @@ GtkColorSelectionDialogPrivate gtk_color_selection_dialog_get_type
-
-gtktreemenu -GtkTreeMenu -GtkTreeMenu -GtkTreeMenuClass -GtkTreeMenuHeaderFunc -gtk_tree_menu_new -gtk_tree_menu_new_with_area -gtk_tree_menu_new_full -gtk_tree_menu_set_model -gtk_tree_menu_get_model -gtk_tree_menu_set_root -gtk_tree_menu_get_root -gtk_tree_menu_get_tearoff -gtk_tree_menu_set_tearoff -gtk_tree_menu_get_wrap_width -gtk_tree_menu_set_wrap_width -gtk_tree_menu_get_row_span_column -gtk_tree_menu_set_row_span_column -gtk_tree_menu_get_column_span_column -gtk_tree_menu_set_column_span_column -gtk_tree_menu_get_row_separator_func -gtk_tree_menu_set_row_separator_func -gtk_tree_menu_get_header_func -gtk_tree_menu_set_header_func - -GTK_TREE_MENU -GTK_IS_TREE_MENU -GTK_TYPE_TREE_MENU -gtk_tree_menu_get_type -GTK_TREE_MENU_CLASS -GTK_IS_TREE_MENU_CLASS -GTK_TREE_MENU_GET_CLASS -GtkTreeMenuPrivate -
-
gtkcombobox GtkComboBox diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 86517df6ac..6dd2e01b20 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -325,7 +325,6 @@ gtk_public_h_sources = \ gtktoolshell.h \ gtktooltip.h \ gtktreednd.h \ - gtktreemenu.h \ gtktreemodel.h \ gtktreemodelfilter.h \ gtktreemodelsort.h \ @@ -434,6 +433,7 @@ gtk_private_h_sources = \ gtktreeprivate.h \ gtkwidgetprivate.h \ gtkwindowprivate.h \ + gtktreemenu.h \ $(gtk_clipboard_dnd_h_sources) \ $(gtk_appchooser_impl_h_sources) diff --git a/gtk/gtk.h b/gtk/gtk.h index f55bdcfc3d..0d85793a3c 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -209,7 +209,6 @@ #include #include #include -#include #include #include #include diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 0c5c01d289..13c8bafdf7 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3094,26 +3094,6 @@ gtk_tree_get_row_drag_data gtk_tree_iter_copy gtk_tree_iter_free gtk_tree_iter_get_type G_GNUC_CONST -gtk_tree_menu_get_column_span_column -gtk_tree_menu_get_header_func -gtk_tree_menu_get_model -gtk_tree_menu_get_root -gtk_tree_menu_get_row_separator_func -gtk_tree_menu_get_row_span_column -gtk_tree_menu_get_tearoff -gtk_tree_menu_get_type G_GNUC_CONST -gtk_tree_menu_get_wrap_width -gtk_tree_menu_new -gtk_tree_menu_new_full -gtk_tree_menu_new_with_area -gtk_tree_menu_set_column_span_column -gtk_tree_menu_set_header_func -gtk_tree_menu_set_model -gtk_tree_menu_set_root -gtk_tree_menu_set_row_separator_func -gtk_tree_menu_set_row_span_column -gtk_tree_menu_set_tearoff -gtk_tree_menu_set_wrap_width gtk_tree_model_filter_clear_cache gtk_tree_model_filter_convert_child_iter_to_iter gtk_tree_model_filter_convert_child_path_to_path diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 402fb48dbb..168bf04eae 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -40,11 +40,12 @@ * and #GtkCellAreaContext. A #GtkCellAreaContext can be provided to the * #GtkCellView at construction time in order to keep the cellview in context * of a group of cell views, this ensures that the renderers displayed will - * be properly aligned with eachother (like the aligned cells of #GtkTreeMenu). + * be properly aligned with eachother (like the aligned cells in the menus + * of #GtkComboBox). * * #GtkCellView is #GtkOrientable in order to decide in which orientation - * the underlying #GtkCellAreaContext should be allocated. Taking the #GtkTreeMenu - * as an example, cellviews should be oriented horizontally if the menus are + * the underlying #GtkCellAreaContext should be allocated. Taking the #GtkComboBox + * menu as an example, cellviews should be oriented horizontally if the menus are * listed top-to-bottom and thus all share the same width but may have separate * individual heights (left-to-right menus should be allocated vertically since * they all share the same height but may have variable widths). @@ -251,7 +252,7 @@ gtk_cell_view_class_init (GtkCellViewClass *klass) * ensure the sizes and cell alignments match across all the views with * the same context. * - * #GtkTreeMenu uses this to assign the same context to all cell views + * #GtkComboBox menus uses this to assign the same context to all cell views * in the menu items for a single menu (each submenu creates it's own * context since the size of each submenu does not depend on parent * or sibling menus). @@ -1324,7 +1325,7 @@ gtk_cell_view_get_draw_sensitive (GtkCellView *cell_view) * @draw_sensitive: whether to draw all cells in a sensitive state. * * Sets whether @cell_view should draw all of it's - * cells in a sensitive state, this is used by #GtkTreeMenu + * cells in a sensitive state, this is used by #GtkComboBox menus * to ensure that rows with insensitive cells that contain * children appear sensitive in the parent menu item. * diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 84ed7c47f0..489c2b724a 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -2989,28 +2989,28 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, combo_box); /* create our funky menu */ - menu = gtk_tree_menu_new_with_area (priv->area); + menu = _gtk_tree_menu_new_with_area (priv->area); gtk_widget_set_name (menu, "gtk-combobox-popup-menu"); - gtk_tree_menu_set_model (GTK_TREE_MENU (menu), priv->model); + _gtk_tree_menu_set_model (GTK_TREE_MENU (menu), priv->model); - gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (menu), priv->wrap_width); - gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (menu), priv->row_column); - gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (menu), priv->col_column); - gtk_tree_menu_set_tearoff (GTK_TREE_MENU (menu), - combo_box->priv->add_tearoffs); + _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (menu), priv->wrap_width); + _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (menu), priv->row_column); + _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (menu), priv->col_column); + _gtk_tree_menu_set_tearoff (GTK_TREE_MENU (menu), + combo_box->priv->add_tearoffs); g_signal_connect (menu, "menu-activate", G_CALLBACK (gtk_combo_box_menu_activate), combo_box); /* Chain our row_separator_func through */ - gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (menu), - (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, - combo_box, NULL); + _gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (menu), + (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, + combo_box, NULL); - gtk_tree_menu_set_header_func (GTK_TREE_MENU (menu), - (GtkTreeMenuHeaderFunc)gtk_combo_box_header_func, - combo_box, NULL); + _gtk_tree_menu_set_header_func (GTK_TREE_MENU (menu), + (GtkTreeMenuHeaderFunc)gtk_combo_box_header_func, + combo_box, NULL); gtk_widget_set_name (menu, "gtk-combobox-popup-menu"); @@ -3916,7 +3916,7 @@ gtk_combo_box_set_wrap_width (GtkComboBox *combo_box, gtk_combo_box_check_appearance (combo_box); if (GTK_IS_TREE_MENU (priv->popup_widget)) - gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (priv->popup_widget), priv->wrap_width); + _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (priv->popup_widget), priv->wrap_width); g_object_notify (G_OBJECT (combo_box), "wrap-width"); } @@ -3970,7 +3970,7 @@ gtk_combo_box_set_row_span_column (GtkComboBox *combo_box, priv->row_column = row_span; if (GTK_IS_TREE_MENU (priv->popup_widget)) - gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (priv->popup_widget), priv->row_column); + _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (priv->popup_widget), priv->row_column); g_object_notify (G_OBJECT (combo_box), "row-span-column"); } @@ -4024,7 +4024,7 @@ gtk_combo_box_set_column_span_column (GtkComboBox *combo_box, priv->col_column = column_span; if (GTK_IS_TREE_MENU (priv->popup_widget)) - gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (priv->popup_widget), priv->col_column); + _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (priv->popup_widget), priv->col_column); g_object_notify (G_OBJECT (combo_box), "column-span-column"); } @@ -4296,8 +4296,8 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) { /* menu mode */ - gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), - combo_box->priv->model); + _gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), + combo_box->priv->model); } if (combo_box->priv->cell_view) @@ -4992,8 +4992,8 @@ gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) { - gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), NULL); - gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), combo_box->priv->model); + _gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), NULL); + _gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), combo_box->priv->model); } gtk_widget_queue_draw (GTK_WIDGET (combo_box)); diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 98da2c1d2d..ddade3cb4c 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -190,12 +190,12 @@ enum { static guint tree_menu_signals[N_SIGNALS] = { 0 }; static GQuark tree_menu_path_quark = 0; -G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, gtk_tree_menu, GTK_TYPE_MENU, +G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, _gtk_tree_menu, GTK_TYPE_MENU, G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, gtk_tree_menu_cell_layout_init)); static void -gtk_tree_menu_init (GtkTreeMenu *menu) +_gtk_tree_menu_init (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -234,7 +234,7 @@ gtk_tree_menu_init (GtkTreeMenu *menu) } static void -gtk_tree_menu_class_init (GtkTreeMenuClass *class) +_gtk_tree_menu_class_init (GtkTreeMenuClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class); @@ -420,7 +420,7 @@ gtk_tree_menu_constructor (GType type, GtkTreeMenu *menu; GtkTreeMenuPrivate *priv; - object = G_OBJECT_CLASS (gtk_tree_menu_parent_class)->constructor + object = G_OBJECT_CLASS (_gtk_tree_menu_parent_class)->constructor (type, n_construct_properties, construct_properties); menu = GTK_TREE_MENU (object); @@ -451,7 +451,7 @@ gtk_tree_menu_dispose (GObject *object) menu = GTK_TREE_MENU (object); priv = menu->priv; - gtk_tree_menu_set_model (menu, NULL); + _gtk_tree_menu_set_model (menu, NULL); gtk_tree_menu_set_area (menu, NULL); if (priv->context) @@ -464,7 +464,7 @@ gtk_tree_menu_dispose (GObject *object) priv->size_changed_id = 0; } - G_OBJECT_CLASS (gtk_tree_menu_parent_class)->dispose (object); + G_OBJECT_CLASS (_gtk_tree_menu_parent_class)->dispose (object); } static void @@ -476,13 +476,13 @@ gtk_tree_menu_finalize (GObject *object) menu = GTK_TREE_MENU (object); priv = menu->priv; - gtk_tree_menu_set_row_separator_func (menu, NULL, NULL, NULL); - gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL); + _gtk_tree_menu_set_row_separator_func (menu, NULL, NULL, NULL); + _gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL); if (priv->root) gtk_tree_row_reference_free (priv->root); - G_OBJECT_CLASS (gtk_tree_menu_parent_class)->finalize (object); + G_OBJECT_CLASS (_gtk_tree_menu_parent_class)->finalize (object); } static void @@ -496,11 +496,11 @@ gtk_tree_menu_set_property (GObject *object, switch (prop_id) { case PROP_MODEL: - gtk_tree_menu_set_model (menu, g_value_get_object (value)); + _gtk_tree_menu_set_model (menu, g_value_get_object (value)); break; case PROP_ROOT: - gtk_tree_menu_set_root (menu, g_value_get_boxed (value)); + _gtk_tree_menu_set_root (menu, g_value_get_boxed (value)); break; case PROP_CELL_AREA: @@ -509,19 +509,19 @@ gtk_tree_menu_set_property (GObject *object, break; case PROP_TEAROFF: - gtk_tree_menu_set_tearoff (menu, g_value_get_boolean (value)); + _gtk_tree_menu_set_tearoff (menu, g_value_get_boolean (value)); break; case PROP_WRAP_WIDTH: - gtk_tree_menu_set_wrap_width (menu, g_value_get_int (value)); + _gtk_tree_menu_set_wrap_width (menu, g_value_get_int (value)); break; case PROP_ROW_SPAN_COL: - gtk_tree_menu_set_row_span_column (menu, g_value_get_int (value)); + _gtk_tree_menu_set_row_span_column (menu, g_value_get_int (value)); break; case PROP_COL_SPAN_COL: - gtk_tree_menu_set_column_span_column (menu, g_value_get_int (value)); + _gtk_tree_menu_set_column_span_column (menu, g_value_get_int (value)); break; default: @@ -619,7 +619,7 @@ gtk_tree_menu_get_preferred_width (GtkWidget *widget, sync_reserve_submenu_size (menu); - GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_width (widget, minimum_size, natural_size); + GTK_WIDGET_CLASS (_gtk_tree_menu_parent_class)->get_preferred_width (widget, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); } @@ -636,7 +636,7 @@ gtk_tree_menu_get_preferred_height (GtkWidget *widget, sync_reserve_submenu_size (menu); - GTK_WIDGET_CLASS (gtk_tree_menu_parent_class)->get_preferred_height (widget, minimum_size, natural_size); + GTK_WIDGET_CLASS (_gtk_tree_menu_parent_class)->get_preferred_height (widget, minimum_size, natural_size); g_signal_handler_unblock (priv->context, priv->size_changed_id); } @@ -1278,23 +1278,23 @@ gtk_tree_menu_create_submenu (GtkTreeMenu *menu, view = gtk_bin_get_child (GTK_BIN (item)); gtk_cell_view_set_draw_sensitive (GTK_CELL_VIEW (view), TRUE); - submenu = gtk_tree_menu_new_with_area (priv->area); + submenu = _gtk_tree_menu_new_with_area (priv->area); - gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), - priv->row_separator_func, - priv->row_separator_data, - priv->row_separator_destroy); - gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), - priv->header_func, - priv->header_data, - priv->header_destroy); + _gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), + priv->row_separator_func, + priv->row_separator_data, + priv->row_separator_destroy); + _gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), + priv->header_func, + priv->header_data, + priv->header_destroy); - gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (submenu), priv->wrap_width); - gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (submenu), priv->row_span_col); - gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (submenu), priv->col_span_col); + _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (submenu), priv->wrap_width); + _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (submenu), priv->row_span_col); + _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (submenu), priv->col_span_col); gtk_tree_menu_set_model_internal (GTK_TREE_MENU (submenu), priv->model); - gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); + _gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); g_signal_connect (submenu, "menu-activate", @@ -1531,7 +1531,7 @@ gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, ****************************************************************/ /** - * gtk_tree_menu_new: + * _gtk_tree_menu_new: * * Creates a new #GtkTreeMenu. * @@ -1540,13 +1540,13 @@ gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, * Since: 3.0 */ GtkWidget * -gtk_tree_menu_new (void) +_gtk_tree_menu_new (void) { return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, NULL); } /** - * gtk_tree_menu_new_with_area: + * _gtk_tree_menu_new_with_area: * @area: the #GtkCellArea to use to render cells in the menu * * Creates a new #GtkTreeMenu using @area to render it's cells. @@ -1556,7 +1556,7 @@ gtk_tree_menu_new (void) * Since: 3.0 */ GtkWidget * -gtk_tree_menu_new_with_area (GtkCellArea *area) +_gtk_tree_menu_new_with_area (GtkCellArea *area) { return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, "cell-area", area, @@ -1564,7 +1564,7 @@ gtk_tree_menu_new_with_area (GtkCellArea *area) } /** - * gtk_tree_menu_new_full: + * _gtk_tree_menu_new_full: * @area: (allow-none): the #GtkCellArea to use to render cells in the menu, or %NULL. * @model: (allow-none): the #GtkTreeModel to build the menu heirarchy from, or %NULL. * @root: (allow-none): the #GtkTreePath indicating the root row for this menu, or %NULL. @@ -1576,9 +1576,9 @@ gtk_tree_menu_new_with_area (GtkCellArea *area) * Since: 3.0 */ GtkWidget * -gtk_tree_menu_new_full (GtkCellArea *area, - GtkTreeModel *model, - GtkTreePath *root) +_gtk_tree_menu_new_full (GtkCellArea *area, + GtkTreeModel *model, + GtkTreePath *root) { return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, "cell-area", area, @@ -1588,7 +1588,7 @@ gtk_tree_menu_new_full (GtkCellArea *area, } /** - * gtk_tree_menu_set_model: + * _gtk_tree_menu_set_model: * @menu: a #GtkTreeMenu * @model: (allow-none): the #GtkTreeModel to build the menu hierarchy from, or %NULL. * @@ -1597,8 +1597,8 @@ gtk_tree_menu_new_full (GtkCellArea *area, * Since: 3.0 */ void -gtk_tree_menu_set_model (GtkTreeMenu *menu, - GtkTreeModel *model) +_gtk_tree_menu_set_model (GtkTreeMenu *menu, + GtkTreeModel *model) { g_return_if_fail (GTK_IS_TREE_MENU (menu)); g_return_if_fail (model == NULL || GTK_IS_TREE_MODEL (model)); @@ -1609,7 +1609,7 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_model: + * _gtk_tree_menu_get_model: * @menu: a #GtkTreeMenu * * Gets the @model currently used for the menu heirarhcy. @@ -1620,7 +1620,7 @@ gtk_tree_menu_set_model (GtkTreeMenu *menu, * Since: 3.0 */ GtkTreeModel * -gtk_tree_menu_get_model (GtkTreeMenu *menu) +_gtk_tree_menu_get_model (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1632,7 +1632,7 @@ gtk_tree_menu_get_model (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_root: + * _gtk_tree_menu_set_root: * @menu: a #GtkTreeMenu * @path: (allow-none): the #GtkTreePath which is the root of @menu, or %NULL. * @@ -1642,8 +1642,8 @@ gtk_tree_menu_get_model (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_root (GtkTreeMenu *menu, - GtkTreePath *path) +_gtk_tree_menu_set_root (GtkTreeMenu *menu, + GtkTreePath *path) { GtkTreeMenuPrivate *priv; @@ -1664,7 +1664,7 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_root: + * _gtk_tree_menu_get_root: * @menu: a #GtkTreeMenu * * Gets the @root path for @menu's hierarchy, or returns %NULL if @menu @@ -1676,7 +1676,7 @@ gtk_tree_menu_set_root (GtkTreeMenu *menu, * Since: 3.0 */ GtkTreePath * -gtk_tree_menu_get_root (GtkTreeMenu *menu) +_gtk_tree_menu_get_root (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1691,7 +1691,7 @@ gtk_tree_menu_get_root (GtkTreeMenu *menu) } /** - * gtk_tree_menu_get_tearoff: + * _gtk_tree_menu_get_tearoff: * @menu: a #GtkTreeMenu * * Gets whether this menu is build with a leading tearoff menu item. @@ -1701,7 +1701,7 @@ gtk_tree_menu_get_root (GtkTreeMenu *menu) * Since: 3.0 */ gboolean -gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) +_gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1713,7 +1713,7 @@ gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_tearoff: + * _gtk_tree_menu_set_tearoff: * @menu: a #GtkTreeMenu * @tearoff: whether the menu should have a leading tearoff menu item. * @@ -1722,8 +1722,8 @@ gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, - gboolean tearoff) +_gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, + gboolean tearoff) { GtkTreeMenuPrivate *priv; @@ -1742,7 +1742,7 @@ gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_wrap_width: + * _gtk_tree_menu_get_wrap_width: * @menu: a #GtkTreeMenu * * Gets the wrap width which is used to determine the number of columns @@ -1753,7 +1753,7 @@ gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, * Since: 3.0 */ gint -gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) +_gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1765,7 +1765,7 @@ gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_wrap_width: + * _gtk_tree_menu_set_wrap_width: * @menu: a #GtkTreeMenu * @width: the wrap width * @@ -1775,8 +1775,8 @@ gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, - gint width) +_gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, + gint width) { GtkTreeMenuPrivate *priv; @@ -1796,7 +1796,7 @@ gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_row_span_column: + * _gtk_tree_menu_get_row_span_column: * @menu: a #GtkTreeMenu * * Gets the column with row span information for @menu. @@ -1808,7 +1808,7 @@ gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, * Since: 3.0 */ gint -gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) +_gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1820,7 +1820,7 @@ gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_row_span_column: + * _gtk_tree_menu_set_row_span_column: * @menu: a #GtkTreeMenu * @row_span: the column in the model to fetch the row span for a given menu item. * @@ -1831,8 +1831,8 @@ gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, - gint row_span) +_gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, + gint row_span) { GtkTreeMenuPrivate *priv; @@ -1852,7 +1852,7 @@ gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_column_span_column: + * _gtk_tree_menu_get_column_span_column: * @menu: a #GtkTreeMenu * * Gets the column with column span information for @menu. @@ -1864,7 +1864,7 @@ gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, * Since: 3.0 */ gint -gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) +_gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1876,7 +1876,7 @@ gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_column_span_column: + * _gtk_tree_menu_set_column_span_column: * @menu: a #GtkTreeMenu * @column_span: the column in the model to fetch the column span for a given menu item. * @@ -1887,8 +1887,8 @@ gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, - gint column_span) +_gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, + gint column_span) { GtkTreeMenuPrivate *priv; @@ -1908,7 +1908,7 @@ gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_row_separator_func: + * _gtk_tree_menu_get_row_separator_func: * @menu: a #GtkTreeMenu * * Gets the current #GtkTreeViewRowSeparatorFunc separator function. @@ -1918,7 +1918,7 @@ gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, * Since: 3.0 */ GtkTreeViewRowSeparatorFunc -gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) +_gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1930,7 +1930,7 @@ gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_row_separator_func: + * _gtk_tree_menu_set_row_separator_func: * @menu: a #GtkTreeMenu * @func: (allow-none): a #GtkTreeViewRowSeparatorFunc, or %NULL to unset the separator function. * @data: (allow-none): user data to pass to @func, or %NULL @@ -1943,10 +1943,10 @@ gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, - GtkTreeViewRowSeparatorFunc func, - gpointer data, - GDestroyNotify destroy) +_gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy) { GtkTreeMenuPrivate *priv; @@ -1965,7 +1965,7 @@ gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, } /** - * gtk_tree_menu_get_header_func: + * _gtk_tree_menu_get_header_func: * @menu: a #GtkTreeMenu * * Gets the current #GtkTreeMenuHeaderFunc header function. @@ -1975,7 +1975,7 @@ gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, * Since: 3.0 */ GtkTreeMenuHeaderFunc -gtk_tree_menu_get_header_func (GtkTreeMenu *menu) +_gtk_tree_menu_get_header_func (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv; @@ -1987,7 +1987,7 @@ gtk_tree_menu_get_header_func (GtkTreeMenu *menu) } /** - * gtk_tree_menu_set_header_func: + * _gtk_tree_menu_set_header_func: * @menu: a #GtkTreeMenu * @func: (allow-none): a #GtkTreeMenuHeaderFunc, or %NULL to unset the header function. * @data: (allow-none): user data to pass to @func, or %NULL @@ -2003,10 +2003,10 @@ gtk_tree_menu_get_header_func (GtkTreeMenu *menu) * Since: 3.0 */ void -gtk_tree_menu_set_header_func (GtkTreeMenu *menu, - GtkTreeMenuHeaderFunc func, - gpointer data, - GDestroyNotify destroy) +_gtk_tree_menu_set_header_func (GtkTreeMenu *menu, + GtkTreeMenuHeaderFunc func, + gpointer data, + GDestroyNotify destroy) { GtkTreeMenuPrivate *priv; diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 5f92c6d4d6..6292466619 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -35,7 +35,7 @@ G_BEGIN_DECLS -#define GTK_TYPE_TREE_MENU (gtk_tree_menu_get_type ()) +#define GTK_TYPE_TREE_MENU (_gtk_tree_menu_get_type ()) #define GTK_TREE_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TREE_MENU, GtkTreeMenu)) #define GTK_TREE_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TREE_MENU, GtkTreeMenuClass)) #define GTK_IS_TREE_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TREE_MENU)) @@ -85,43 +85,43 @@ struct _GtkTreeMenuClass void (*_gtk_reserved6) (void); }; -GType gtk_tree_menu_get_type (void) G_GNUC_CONST; +GType _gtk_tree_menu_get_type (void) G_GNUC_CONST; -GtkWidget *gtk_tree_menu_new (void); -GtkWidget *gtk_tree_menu_new_with_area (GtkCellArea *area); -GtkWidget *gtk_tree_menu_new_full (GtkCellArea *area, - GtkTreeModel *model, - GtkTreePath *root); -void gtk_tree_menu_set_model (GtkTreeMenu *menu, - GtkTreeModel *model); -GtkTreeModel *gtk_tree_menu_get_model (GtkTreeMenu *menu); -void gtk_tree_menu_set_root (GtkTreeMenu *menu, - GtkTreePath *path); -GtkTreePath *gtk_tree_menu_get_root (GtkTreeMenu *menu); -gboolean gtk_tree_menu_get_tearoff (GtkTreeMenu *menu); -void gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, - gboolean tearoff); -gint gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu); -void gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, - gint width); -gint gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu); -void gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, - gint row_span); -gint gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu); -void gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, - gint column_span); +GtkWidget *_gtk_tree_menu_new (void); +GtkWidget *_gtk_tree_menu_new_with_area (GtkCellArea *area); +GtkWidget *_gtk_tree_menu_new_full (GtkCellArea *area, + GtkTreeModel *model, + GtkTreePath *root); +void _gtk_tree_menu_set_model (GtkTreeMenu *menu, + GtkTreeModel *model); +GtkTreeModel *_gtk_tree_menu_get_model (GtkTreeMenu *menu); +void _gtk_tree_menu_set_root (GtkTreeMenu *menu, + GtkTreePath *path); +GtkTreePath *_gtk_tree_menu_get_root (GtkTreeMenu *menu); +gboolean _gtk_tree_menu_get_tearoff (GtkTreeMenu *menu); +void _gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, + gboolean tearoff); +gint _gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu); +void _gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, + gint width); +gint _gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu); +void _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, + gint row_span); +gint _gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu); +void _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, + gint column_span); -GtkTreeViewRowSeparatorFunc gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); -void gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, - GtkTreeViewRowSeparatorFunc func, - gpointer data, - GDestroyNotify destroy); +GtkTreeViewRowSeparatorFunc _gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); +void _gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy); -GtkTreeMenuHeaderFunc gtk_tree_menu_get_header_func (GtkTreeMenu *menu); -void gtk_tree_menu_set_header_func (GtkTreeMenu *menu, - GtkTreeMenuHeaderFunc func, - gpointer data, - GDestroyNotify destroy); +GtkTreeMenuHeaderFunc _gtk_tree_menu_get_header_func (GtkTreeMenu *menu); +void _gtk_tree_menu_set_header_func (GtkTreeMenu *menu, + GtkTreeMenuHeaderFunc func, + gpointer data, + GDestroyNotify destroy); G_END_DECLS diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index bb2e73acc7..2d13e3d6c7 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -5,6 +5,8 @@ /******************************************************* * Grid Test * *******************************************************/ + +#if _GTK_TREE_MENU_WAS_A_PUBLIC_CLASS_ static GdkPixbuf * create_color_pixbuf (const char *color) { @@ -126,6 +128,7 @@ create_menu_grid_demo (void) return menu; } +#endif /******************************************************* * Simple Test * @@ -273,21 +276,13 @@ simple_tree_model (void) return (GtkTreeModel *)store; } -static GtkWidget * -simple_tree_menu (void) +static GtkCellArea * +create_cell_area (void) { - GtkTreeModel *model; - GtkWidget *menu; GtkCellArea *area; GtkCellRenderer *renderer; - model = simple_tree_model (); - - menu = gtk_tree_menu_new (); - gtk_tree_menu_set_model (GTK_TREE_MENU (menu), model); - gtk_tree_menu_set_root (GTK_TREE_MENU (menu), NULL); - - area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); + area = gtk_cell_area_box_new (); cell_1 = renderer = gtk_cell_renderer_text_new (); gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); @@ -306,8 +301,24 @@ simple_tree_menu (void) gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); + return area; +} + +#if _GTK_TREE_MENU_WAS_A_PUBLIC_CLASS_ +static GtkWidget * +simple_tree_menu (GtkCellArea *area) +{ + GtkTreeModel *model; + GtkWidget *menu; + + model = simple_tree_model (); + + menu = gtk_tree_menu_new_with_area (area); + gtk_tree_menu_set_model (GTK_TREE_MENU (menu), model); + return menu; } +#endif static void orientation_changed (GtkComboBox *combo, @@ -363,6 +374,16 @@ expand_cell_3_toggled (GtkToggleButton *toggle, gtk_cell_area_cell_set (area, cell_3, "expand", expand, NULL); } +gboolean +enable_submenu_headers (GtkTreeModel *model, + GtkTreeIter *iter, + gpointer data) +{ + return TRUE; +} + + +#if _GTK_TREE_MENU_WAS_A_PUBLIC_CLASS_ static void menu_activated_cb (GtkTreeMenu *menu, const gchar *path, @@ -382,15 +403,6 @@ menu_activated_cb (GtkTreeMenu *menu, g_free (row_name); } -gboolean -enable_submenu_headers (GtkTreeModel *model, - GtkTreeIter *iter, - gpointer data) -{ - return TRUE; -} - - static void submenu_headers_toggled (GtkToggleButton *toggle, GtkTreeMenu *menu) @@ -407,6 +419,7 @@ tearoff_toggled (GtkToggleButton *toggle, { gtk_tree_menu_set_tearoff (menu, gtk_toggle_button_get_active (toggle)); } +#endif static void tree_menu (void) @@ -414,6 +427,7 @@ tree_menu (void) GtkWidget *window, *widget; GtkWidget *menu, *menubar, *vbox, *menuitem; GtkCellArea *area; + GtkTreeModel *store; window = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -425,6 +439,10 @@ tree_menu (void) menubar = gtk_menu_bar_new (); gtk_widget_show (menubar); + store = simple_tree_model (); + area = create_cell_area (); + +#if _GTK_TREE_MENU_WAS_A_PUBLIC_CLASS_ menuitem = gtk_menu_item_new_with_label ("Grid"); menu = create_menu_grid_demo (); gtk_widget_show (menu); @@ -442,13 +460,11 @@ tree_menu (void) g_signal_connect (menu, "menu-activate", G_CALLBACK (menu_activated_cb), NULL); gtk_box_pack_start (GTK_BOX (vbox), menubar, FALSE, FALSE, 0); +#endif /* Add a combo box with the same menu ! */ - area = gtk_cell_layout_get_area (GTK_CELL_LAYOUT (menu)); - widget = g_object_new (GTK_TYPE_COMBO_BOX, - "cell-area", area, - "model", gtk_tree_menu_get_model (GTK_TREE_MENU (menu)), - NULL); + widget = gtk_combo_box_new_with_area (area); + gtk_combo_box_set_model (GTK_COMBO_BOX (widget), store); gtk_combo_box_set_active (GTK_COMBO_BOX (widget), 0); gtk_widget_show (widget); gtk_box_pack_end (GTK_BOX (vbox), widget, FALSE, FALSE, 0); @@ -504,6 +520,7 @@ tree_menu (void) g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (expand_cell_3_toggled), area); +#if _GTK_TREE_MENU_WAS_A_PUBLIC_CLASS_ widget = gtk_check_button_new_with_label ("Submenu Headers"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_widget_show (widget); @@ -519,6 +536,7 @@ tree_menu (void) g_signal_connect (G_OBJECT (widget), "toggled", G_CALLBACK (tearoff_toggled), menu); +#endif gtk_container_add (GTK_CONTAINER (window), vbox); From 80e427c8574daa88dba3fc0feac33792abc7f437 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 21 Dec 2010 21:50:02 +0900 Subject: [PATCH 1115/1463] Fixed gtktreemenu for new gtkcellareabox api. --- tests/testtreemenu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index 2d13e3d6c7..9e223671ba 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -285,12 +285,12 @@ create_cell_area (void) area = gtk_cell_area_box_new (); cell_1 = renderer = gtk_cell_renderer_text_new (); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_NAME); cell_2 = renderer = gtk_cell_renderer_pixbuf_new (); g_object_set (G_OBJECT (renderer), "xalign", 0.0F, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, TRUE, FALSE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "stock-id", SIMPLE_COLUMN_ICON); cell_3 = renderer = gtk_cell_renderer_text_new (); @@ -298,7 +298,7 @@ create_cell_area (void) "wrap-mode", PANGO_WRAP_WORD, "wrap-width", 215, NULL); - gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE); + gtk_cell_area_box_pack_start (GTK_CELL_AREA_BOX (area), renderer, FALSE, TRUE, FALSE); gtk_cell_area_attribute_connect (area, renderer, "text", SIMPLE_COLUMN_DESCRIPTION); return area; From d681aa7977c7ee8144600f8b837d09720ef62f4b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 30 Dec 2010 16:46:50 +0900 Subject: [PATCH 1116/1463] Fixed GtkComboBox to properly set tearoff state on delegate GtkTreeMenu. This breakage was also the cause of not correctly positioning the child menu over the selected item. --- gtk/gtkcombobox.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 489c2b724a..1b480cfd9c 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -4796,6 +4796,11 @@ gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box, { combo_box->priv->add_tearoffs = add_tearoffs; gtk_combo_box_check_appearance (combo_box); + + if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) + _gtk_tree_menu_set_tearoff (GTK_TREE_MENU (combo_box->priv->popup_widget), + combo_box->priv->add_tearoffs); + g_object_notify (G_OBJECT (combo_box), "add-tearoffs"); } } From 4ff893979b7c99092910c2796f7701ece3914005 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 30 Dec 2010 17:28:26 +0900 Subject: [PATCH 1117/1463] Fixed conflicts after rebasing master into combo-refactor branch. --- gtk/gtkcombobox.c | 14 +++++++------- gtk/gtkmenuitem.c | 20 +++++++++----------- gtk/gtktreemenu.c | 11 ++++++----- 3 files changed, 22 insertions(+), 23 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 1b480cfd9c..977c08287e 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -1548,10 +1548,10 @@ gtk_combo_box_detacher (GtkWidget *widget, g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); - g_signal_handlers_disconnect_by_func (menu->toplevel, + g_signal_handlers_disconnect_by_func (menu->priv->toplevel, gtk_combo_box_menu_show, combo_box); - g_signal_handlers_disconnect_by_func (menu->toplevel, + g_signal_handlers_disconnect_by_func (menu->priv->toplevel, gtk_combo_box_menu_hide, combo_box); @@ -1592,9 +1592,9 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, * menu itself, since the menu is not shown/hidden when it is * popped up while torn-off. */ - g_signal_connect (GTK_MENU (popup)->toplevel, "show", + g_signal_connect (GTK_MENU (popup)->priv->toplevel, "show", G_CALLBACK (gtk_combo_box_menu_show), combo_box); - g_signal_connect (GTK_MENU (popup)->toplevel, "hide", + g_signal_connect (GTK_MENU (popup)->priv->toplevel, "hide", G_CALLBACK (gtk_combo_box_menu_hide), combo_box); gtk_menu_attach_to_widget (GTK_MENU (popup), @@ -1782,7 +1782,7 @@ gtk_combo_box_menu_position_over (GtkMenu *menu, menu_ypos -= child_allocation.height / 2; } - children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->children; + children = GTK_MENU_SHELL (combo_box->priv->popup_widget)->priv->children; while (children) { child = children->data; @@ -1845,8 +1845,8 @@ gtk_combo_box_menu_position (GtkMenu *menu, gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); } - if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->toplevel)) - gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->toplevel), + if (!gtk_widget_get_visible (GTK_MENU (priv->popup_widget)->priv->toplevel)) + gtk_window_set_type_hint (GTK_WINDOW (GTK_MENU (priv->popup_widget)->priv->toplevel), GDK_WINDOW_TYPE_HINT_COMBO); } diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 5e253195b2..92db3d59ee 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -425,9 +425,9 @@ gtk_menu_item_init (GtkMenuItem *menu_item) priv->action = NULL; priv->use_action_appearance = TRUE; - menu_item->submenu = NULL; - menu_item->toggle_size = 0; - menu_item->accelerator_width = 0; + menu_item->priv->submenu = NULL; + menu_item->priv->toggle_size = 0; + menu_item->priv->accelerator_width = 0; if (gtk_widget_get_direction (GTK_WIDGET (menu_item)) == GTK_TEXT_DIR_RTL) priv->submenu_direction = GTK_DIRECTION_LEFT; else @@ -714,7 +714,7 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, gtk_widget_get_preferred_width (child, &child_min, &child_nat); - if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) + if ((menu_item->priv->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { guint arrow_spacing; gint arrow_size; @@ -816,7 +816,7 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, min_height += child_min; nat_height += child_nat; - if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) + if ((menu_item->priv->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { gint arrow_size; @@ -918,11 +918,10 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, if (child != NULL && gtk_widget_get_visible (child)) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); gint child_min, child_nat; gint arrow_size = 0; - if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) + if ((priv->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { guint arrow_spacing; @@ -944,7 +943,7 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, min_height += child_min; nat_height += child_nat; - if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + if ((priv->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { min_height = MAX (min_height, arrow_size); nat_height = MAX (nat_height, arrow_size); @@ -1354,7 +1353,6 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child = gtk_bin_get_child (bin); if (child) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); GtkStyle *style; guint horizontal_padding; guint border_width; @@ -1395,7 +1393,7 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child_allocation.x += allocation->x; child_allocation.y += allocation->y; - if ((menu_item->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) + if ((priv->submenu && !GTK_IS_MENU_BAR (parent)) || priv->reserve_indicator) { guint arrow_spacing; gint arrow_size; @@ -1560,7 +1558,7 @@ gtk_menu_item_draw (GtkWidget *widget, x, y, w, h); } - if (menu_item->submenu && !GTK_IS_MENU_BAR (parent)) + if (priv->submenu && !GTK_IS_MENU_BAR (parent)) { gint arrow_x, arrow_y; gint arrow_size; diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index ddade3cb4c..bef19053f4 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -42,6 +42,7 @@ #include "gtkcellareacontext.h" #include "gtkcelllayout.h" #include "gtkcellview.h" +#include "gtkmenushellprivate.h" #include "gtkprivate.h" @@ -1035,7 +1036,7 @@ row_changed_cb (GtkTreeModel *model, { /* Destroy the header item and then the following separator */ gtk_widget_destroy (item); - gtk_widget_destroy (GTK_MENU_SHELL (menu)->children->data); + gtk_widget_destroy (GTK_MENU_SHELL (menu)->priv->children->data); priv->menu_with_header = FALSE; } @@ -1137,11 +1138,11 @@ area_apply_attributes_cb (GtkCellArea *area, /* For header items we need to set the sensitivity * of the following separator item */ - if (GTK_MENU_SHELL (menu)->children && - GTK_MENU_SHELL (menu)->children->next) + if (GTK_MENU_SHELL (menu)->priv->children && + GTK_MENU_SHELL (menu)->priv->children->next) { GtkWidget *separator = - GTK_MENU_SHELL (menu)->children->next->data; + GTK_MENU_SHELL (menu)->priv->children->next->data; gtk_widget_set_sensitive (separator, sensitive); } @@ -1188,7 +1189,7 @@ menu_occupied (GtkTreeMenu *menu, { GList *i; - for (i = GTK_MENU_SHELL (menu)->children; i; i = i->next) + for (i = GTK_MENU_SHELL (menu)->priv->children; i; i = i->next) { guint l, r, b, t; From 185744d4029f23840e9cd99e44c9c7afb6bc3e85 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 30 Dec 2010 17:35:44 +0900 Subject: [PATCH 1118/1463] Mentioned that GtkTreeMenu is based on some GtkComboBox code in the copyright header. --- gtk/gtktreemenu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index bef19053f4..bd7e1fdf02 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -5,6 +5,8 @@ * Authors: * Tristan Van Berkom * + * Based on some GtkComboBox menu code by Kristian Rietveld + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either From f5f822b91ccd2b81b21ee688cb613405f2627458 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 5 Jan 2011 00:14:08 +0900 Subject: [PATCH 1119/1463] Moved GtkMenuItem private functions to the private header. --- gtk/gtkmenuitem.h | 10 ---------- gtk/gtkmenuitemprivate.h | 9 ++++++++- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/gtk/gtkmenuitem.h b/gtk/gtkmenuitem.h index efa1bf0bbd..4132e42286 100644 --- a/gtk/gtkmenuitem.h +++ b/gtk/gtkmenuitem.h @@ -123,16 +123,6 @@ void gtk_menu_item_set_reserve_indicator(GtkMenuItem *menu_item, gboolean reserve); gboolean gtk_menu_item_get_reserve_indicator(GtkMenuItem *menu_item); -/* private */ -void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, - const gchar *prefix, - GtkAccelGroup *accel_group, - gboolean group_changed); -gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item); -void _gtk_menu_item_popup_submenu (GtkWidget *menu_item, - gboolean with_delay); -void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item); - G_END_DECLS #endif /* __GTK_MENU_ITEM_H__ */ diff --git a/gtk/gtkmenuitemprivate.h b/gtk/gtkmenuitemprivate.h index 6c3377ae07..df7632fa3c 100644 --- a/gtk/gtkmenuitemprivate.h +++ b/gtk/gtkmenuitemprivate.h @@ -57,7 +57,14 @@ gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item); void _gtk_menu_item_popup_submenu (GtkWidget *menu_item, gboolean with_delay); void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item); - +void _gtk_menu_item_refresh_accel_path (GtkMenuItem *menu_item, + const gchar *prefix, + GtkAccelGroup *accel_group, + gboolean group_changed); +gboolean _gtk_menu_item_is_selectable (GtkWidget *menu_item); +void _gtk_menu_item_popup_submenu (GtkWidget *menu_item, + gboolean with_delay); +void _gtk_menu_item_popdown_submenu (GtkWidget *menu_item); G_END_DECLS From 68aa336f5fa3a57346db82de53fb1a652f62cf67 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 5 Jan 2011 00:14:25 +0900 Subject: [PATCH 1120/1463] Removed TABs and trailing whitespace from GtkComboBox and GtkTreeMenu --- gtk/gtkcombobox.c | 1623 ++++++++++++++++++++++----------------------- gtk/gtkcombobox.h | 18 +- gtk/gtktreemenu.c | 994 +++++++++++++-------------- gtk/gtktreemenu.h | 38 +- 4 files changed, 1335 insertions(+), 1338 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 977c08287e..648b534f32 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -247,8 +247,8 @@ static guint combo_box_signals[LAST_SIGNAL] = {0,}; static void gtk_combo_box_cell_layout_init (GtkCellLayoutIface *iface); static void gtk_combo_box_cell_editable_init (GtkCellEditableIface *iface); static GObject *gtk_combo_box_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties); + guint n_construct_properties, + GObjectConstructParam *construct_properties); static void gtk_combo_box_dispose (GObject *object); static void gtk_combo_box_finalize (GObject *object); static void gtk_combo_box_destroy (GtkWidget *widget); @@ -263,7 +263,7 @@ static void gtk_combo_box_get_property (GObject *object, GParamSpec *spec); static void gtk_combo_box_state_changed (GtkWidget *widget, - GtkStateType previous); + GtkStateType previous); static void gtk_combo_box_grab_focus (GtkWidget *widget); static void gtk_combo_box_style_updated (GtkWidget *widget); static void gtk_combo_box_button_toggled (GtkWidget *widget, @@ -312,7 +312,7 @@ static gboolean gtk_combo_box_draw (GtkWidget *widget, static gboolean gtk_combo_box_scroll_event (GtkWidget *widget, GdkEventScroll *event); static void gtk_combo_box_set_active_internal (GtkComboBox *combo_box, - GtkTreePath *path); + GtkTreePath *path); static void gtk_combo_box_check_appearance (GtkComboBox *combo_box); static void gtk_combo_box_real_move_active (GtkComboBox *combo_box, @@ -322,32 +322,32 @@ static gboolean gtk_combo_box_real_popdown (GtkComboBox *combo_box) /* listening to the model */ static void gtk_combo_box_model_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data); + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data); static void gtk_combo_box_model_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data); + GtkTreePath *path, + gpointer user_data); static void gtk_combo_box_model_rows_reordered (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - gpointer user_data); + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + gpointer user_data); static void gtk_combo_box_model_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data); + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data); static void gtk_combo_box_model_row_expanded (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data); + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data); /* list */ -static void gtk_combo_box_list_position (GtkComboBox *combo_box, - gint *x, - gint *y, - gint *width, - gint *height); +static void gtk_combo_box_list_position (GtkComboBox *combo_box, + gint *x, + gint *y, + gint *width, + gint *height); static void gtk_combo_box_list_setup (GtkComboBox *combo_box); static void gtk_combo_box_list_destroy (GtkComboBox *combo_box); @@ -361,18 +361,18 @@ static gboolean gtk_combo_box_list_enter_notify (GtkWidget *widget, GdkEventCrossing *event, gpointer data); static void gtk_combo_box_list_auto_scroll (GtkComboBox *combo, - gint x, - gint y); + gint x, + gint y); static gboolean gtk_combo_box_list_scroll_timeout (GtkComboBox *combo); static gboolean gtk_combo_box_list_button_pressed (GtkWidget *widget, GdkEventButton *event, gpointer data); static gboolean gtk_combo_box_list_select_func (GtkTreeSelection *selection, - GtkTreeModel *model, - GtkTreePath *path, - gboolean path_currently_selected, - gpointer data); + GtkTreeModel *model, + GtkTreePath *path, + gboolean path_currently_selected, + gpointer data); static void gtk_combo_box_list_row_changed (GtkTreeModel *model, GtkTreePath *path, @@ -391,32 +391,32 @@ static gboolean gtk_combo_box_menu_button_press (GtkWidget *widget, GdkEventButton *event, gpointer user_data); static void gtk_combo_box_menu_activate (GtkWidget *menu, - const gchar *path, - GtkComboBox *combo_box); + const gchar *path, + GtkComboBox *combo_box); static void gtk_combo_box_update_sensitivity (GtkComboBox *combo_box); static gboolean gtk_combo_box_menu_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data); + GdkEventKey *event, + gpointer data); static void gtk_combo_box_menu_popup (GtkComboBox *combo_box, - guint button, - guint32 activate_time); + guint button, + guint32 activate_time); /* cell layout */ GtkCellArea *gtk_combo_box_cell_layout_get_area (GtkCellLayout *cell_layout); static gboolean gtk_combo_box_mnemonic_activate (GtkWidget *widget, - gboolean group_cycling); + gboolean group_cycling); static void gtk_combo_box_child_show (GtkWidget *widget, - GtkComboBox *combo_box); + GtkComboBox *combo_box); static void gtk_combo_box_child_hide (GtkWidget *widget, - GtkComboBox *combo_box); + GtkComboBox *combo_box); /* GtkComboBox:has-entry callbacks */ static void gtk_combo_box_entry_contents_changed (GtkEntry *entry, - gpointer user_data); + gpointer user_data); static void gtk_combo_box_entry_active_changed (GtkComboBox *combo_box, - gpointer user_data); + gpointer user_data); /* GtkBuildable method implementation */ @@ -424,48 +424,48 @@ static GtkBuildableIface *parent_buildable_iface; static void gtk_combo_box_buildable_init (GtkBuildableIface *iface); static gboolean gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - GMarkupParser *parser, - gpointer *data); + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data); static void gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data); + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data); static GObject *gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, - GtkBuilder *builder, - const gchar *childname); + GtkBuilder *builder, + const gchar *childname); /* GtkCellEditable method implementations */ static void gtk_combo_box_start_editing (GtkCellEditable *cell_editable, - GdkEvent *event); + GdkEvent *event); -static void gtk_combo_box_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size); -static void gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, - gint avail_size, - gint *minimum_size, - gint *natural_size); +static void gtk_combo_box_get_preferred_width (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_height (GtkWidget *widget, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size); +static void gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, + gint avail_size, + gint *minimum_size, + gint *natural_size); G_DEFINE_TYPE_WITH_CODE (GtkComboBox, gtk_combo_box, GTK_TYPE_BIN, - G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, - gtk_combo_box_cell_layout_init) - G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_EDITABLE, - gtk_combo_box_cell_editable_init) - G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_combo_box_buildable_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_combo_box_cell_layout_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_EDITABLE, + gtk_combo_box_cell_editable_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_combo_box_buildable_init)) /* common */ @@ -530,7 +530,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) * @widget: the object that received the signal * @scroll_type: a #GtkScrollType * - * The ::move-active signal is a + * The ::move-active signal is a * keybinding signal * which gets emitted to move the active selection. * @@ -550,7 +550,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) * GtkComboBox::popup: * @widget: the object that received the signal * - * The ::popup signal is a + * The ::popup signal is a * keybinding signal * which gets emitted to popup the combo box list. * @@ -570,8 +570,8 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) * GtkComboBox::popdown: * @button: the object which received the signal * - * The ::popdown signal is a - * keybinding signal + * The ::popdown signal is a + * keybinding signal * which gets emitted to popdown the combo box list. * * The default bindings for this signal are Alt+Up and Escape. @@ -591,54 +591,54 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) binding_set = gtk_binding_set_by_class (widget_class); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Down, GDK_MOD1_MASK, - "popup", 0); + "popup", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Down, GDK_MOD1_MASK, - "popup", 0); + "popup", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Up, GDK_MOD1_MASK, - "popdown", 0); + "popdown", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Up, GDK_MOD1_MASK, - "popdown", 0); + "popdown", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Escape, 0, - "popdown", 0); + "popdown", 0); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Up, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_UP); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_UP); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Up, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_UP); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_UP); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Page_Up, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_UP); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_UP); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Page_Up, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_UP); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_UP); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Home, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_START); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_START); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Home, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_START); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_START); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Down, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_DOWN); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_DOWN); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Down, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_DOWN); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_STEP_DOWN); gtk_binding_entry_add_signal (binding_set, GDK_KEY_Page_Down, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_DOWN); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_DOWN); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_Page_Down, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_DOWN); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_PAGE_DOWN); gtk_binding_entry_add_signal (binding_set, GDK_KEY_End, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_END); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_END); gtk_binding_entry_add_signal (binding_set, GDK_KEY_KP_End, 0, - "move-active", 1, - GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_END); + "move-active", 1, + GTK_TYPE_SCROLL_TYPE, GTK_SCROLL_END); /* properties */ g_object_class_override_property (object_class, @@ -649,7 +649,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) * GtkComboBox:model: * * The model from which the combo box takes the values shown - * in the list. + * in the list. * * Since: 2.4 */ @@ -684,11 +684,11 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) /** * GtkComboBox:row-span-column: * - * If this is set to a non-negative value, it must be the index of a column - * of type %G_TYPE_INT in the model. + * If this is set to a non-negative value, it must be the index of a column + * of type %G_TYPE_INT in the model. * - * The values of that column are used to determine how many rows a value in - * the list will span. Therefore, the values in the model column pointed to + * The values of that column are used to determine how many rows a value in + * the list will span. Therefore, the values in the model column pointed to * by this property must be greater than zero and not larger than wrap-width. * * Since: 2.4 @@ -707,11 +707,11 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) /** * GtkComboBox:column-span-column: * - * If this is set to a non-negative value, it must be the index of a column - * of type %G_TYPE_INT in the model. + * If this is set to a non-negative value, it must be the index of a column + * of type %G_TYPE_INT in the model. * - * The values of that column are used to determine how many columns a value - * in the list will span. + * The values of that column are used to determine how many columns a value + * in the list will span. * * Since: 2.4 */ @@ -731,7 +731,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) * * The item which is currently active. If the model is a non-flat treemodel, * and the active item is not an immediate child of the root of the tree, - * this property has the value + * this property has the value * gtk_tree_path_get_indices (path)[0], * where path is the #GtkTreePath of the active item. * @@ -750,8 +750,8 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) /** * GtkComboBox:add-tearoffs: * - * The add-tearoffs property controls whether generated menus - * have tearoff menu items. + * The add-tearoffs property controls whether generated menus + * have tearoff menu items. * * Note that this only affects menu style combo boxes. * @@ -759,12 +759,12 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) */ g_object_class_install_property (object_class, PROP_ADD_TEAROFFS, - g_param_spec_boolean ("add-tearoffs", - P_("Add tearoffs to menus"), - P_("Whether dropdowns should have a tearoff menu item"), - FALSE, - GTK_PARAM_READWRITE)); - + g_param_spec_boolean ("add-tearoffs", + P_("Add tearoffs to menus"), + P_("Whether dropdowns should have a tearoff menu item"), + FALSE, + GTK_PARAM_READWRITE)); + /** * GtkComboBox:has-frame: * @@ -775,24 +775,24 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) */ g_object_class_install_property (object_class, PROP_HAS_FRAME, - g_param_spec_boolean ("has-frame", - P_("Has Frame"), - P_("Whether the combo box draws a frame around the child"), - TRUE, - GTK_PARAM_READWRITE)); - + g_param_spec_boolean ("has-frame", + P_("Has Frame"), + P_("Whether the combo box draws a frame around the child"), + TRUE, + GTK_PARAM_READWRITE)); + g_object_class_install_property (object_class, PROP_FOCUS_ON_CLICK, g_param_spec_boolean ("focus-on-click", - P_("Focus on click"), - P_("Whether the combo box grabs focus when it is clicked with the mouse"), - TRUE, - GTK_PARAM_READWRITE)); + P_("Focus on click"), + P_("Whether the combo box grabs focus when it is clicked with the mouse"), + TRUE, + GTK_PARAM_READWRITE)); /** * GtkComboBox:tearoff-title: * - * A title that may be displayed by the window manager + * A title that may be displayed by the window manager * when the popup is torn-off. * * Since: 2.10 @@ -809,7 +809,7 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) /** * GtkComboBox:popup-shown: * - * Whether the combo boxes dropdown is popped up. + * Whether the combo boxes dropdown is popped up. * Note that this property is mainly useful, because * it allows you to connect to notify::popup-shown. * @@ -851,10 +851,10 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) g_object_class_install_property (object_class, PROP_HAS_ENTRY, g_param_spec_boolean ("has-entry", - P_("Has Entry"), - P_("Whether combo box has an entry"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + P_("Has Entry"), + P_("Whether combo box has an entry"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkComboBox:entry-text-column: @@ -867,12 +867,12 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) g_object_class_install_property (object_class, PROP_ENTRY_TEXT_COLUMN, g_param_spec_int ("entry-text-column", - P_("Entry Text Column"), - P_("The column in the combo box's model to associate " - "with strings from the entry if the combo was " - "created with #GtkComboBox:has-entry = %TRUE"), - -1, G_MAXINT, -1, - GTK_PARAM_READWRITE)); + P_("Entry Text Column"), + P_("The column in the combo box's model to associate " + "with strings from the entry if the combo was " + "created with #GtkComboBox:has-entry = %TRUE"), + -1, G_MAXINT, -1, + GTK_PARAM_READWRITE)); /** * GtkComboBox:id-column: @@ -917,12 +917,12 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) g_object_class_install_property (object_class, PROP_POPUP_FIXED_WIDTH, g_param_spec_boolean ("popup-fixed-width", - P_("Popup Fixed Width"), - P_("Whether the popup's width should be a " - "fixed width matching the allocated width " - "of the combo box"), - TRUE, - GTK_PARAM_READWRITE)); + P_("Popup Fixed Width"), + P_("Whether the popup's width should be a " + "fixed width matching the allocated width " + "of the combo box"), + TRUE, + GTK_PARAM_READWRITE)); /** * GtkComboBox:cell-area: @@ -934,10 +934,10 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) g_object_class_install_property (object_class, PROP_CELL_AREA, g_param_spec_object ("cell-area", - P_("Cell Area"), - P_("The GtkCellArea used to layout cells"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); gtk_widget_class_install_style_property (widget_class, g_param_spec_boolean ("appears-as-list", @@ -957,13 +957,13 @@ gtk_combo_box_class_init (GtkComboBoxClass *klass) * Since: 2.12 */ gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("arrow-size", - P_("Arrow Size"), - P_("The minimum size of the arrow in the combo box"), - 0, - G_MAXINT, - 15, - GTK_PARAM_READABLE)); + g_param_spec_int ("arrow-size", + P_("Arrow Size"), + P_("The minimum size of the arrow in the combo box"), + 0, + G_MAXINT, + 15, + GTK_PARAM_READABLE)); /** * GtkComboBox:shadow-type: @@ -1111,7 +1111,7 @@ gtk_combo_box_set_property (GObject *object, case PROP_POPUP_FIXED_WIDTH: gtk_combo_box_set_popup_fixed_width (combo_box, - g_value_get_boolean (value)); + g_value_get_boolean (value)); break; case PROP_EDITING_CANCELED: @@ -1139,7 +1139,7 @@ gtk_combo_box_set_property (GObject *object, area = g_value_get_object (value); if (area) - combo_box->priv->area = g_object_ref_sink (area); + combo_box->priv->area = g_object_ref_sink (area); break; default: @@ -1212,12 +1212,12 @@ gtk_combo_box_get_property (GObject *object, break; case PROP_HAS_ENTRY: - g_value_set_boolean (value, priv->has_entry); - break; + g_value_set_boolean (value, priv->has_entry); + break; case PROP_ENTRY_TEXT_COLUMN: - g_value_set_int (value, priv->text_column); - break; + g_value_set_int (value, priv->text_column); + break; case PROP_ID_COLUMN: g_value_set_int (value, priv->id_column); @@ -1228,8 +1228,8 @@ gtk_combo_box_get_property (GObject *object, break; case PROP_CELL_AREA: - g_value_set_object (value, priv->area); - break; + g_value_set_object (value, priv->area); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1239,7 +1239,7 @@ gtk_combo_box_get_property (GObject *object, static void gtk_combo_box_state_changed (GtkWidget *widget, - GtkStateType previous) + GtkStateType previous) { GtkComboBox *combo_box = GTK_COMBO_BOX (widget); GtkComboBoxPrivate *priv = combo_box->priv; @@ -1299,33 +1299,33 @@ gtk_combo_box_check_appearance (GtkComboBox *combo_box) appears_as_list = FALSE; else gtk_widget_style_get (GTK_WIDGET (combo_box), - "appears-as-list", &appears_as_list, - NULL); + "appears-as-list", &appears_as_list, + NULL); if (appears_as_list) { /* Destroy all the menu mode widgets, if they exist. */ if (GTK_IS_MENU (priv->popup_widget)) - gtk_combo_box_menu_destroy (combo_box); + gtk_combo_box_menu_destroy (combo_box); /* Create the list mode widgets, if they don't already exist. */ if (!GTK_IS_TREE_VIEW (priv->tree_view)) - gtk_combo_box_list_setup (combo_box); + gtk_combo_box_list_setup (combo_box); } else { /* Destroy all the list mode widgets, if they exist. */ if (GTK_IS_TREE_VIEW (priv->tree_view)) - gtk_combo_box_list_destroy (combo_box); + gtk_combo_box_list_destroy (combo_box); /* Create the menu mode widgets, if they don't already exist. */ if (!GTK_IS_MENU (priv->popup_widget)) - gtk_combo_box_menu_setup (combo_box, TRUE); + gtk_combo_box_menu_setup (combo_box, TRUE); } gtk_widget_style_get (GTK_WIDGET (combo_box), - "shadow-type", &priv->shadow_type, - NULL); + "shadow-type", &priv->shadow_type, + NULL); } static void @@ -1385,7 +1385,7 @@ gtk_combo_box_add (GtkContainer *container, if (priv->has_entry && !GTK_IS_ENTRY (widget)) { g_warning ("Attempting to add a widget with type %s to a GtkComboBox that needs an entry " - "(need an instance of GtkEntry or of a subclass)", + "(need an instance of GtkEntry or of a subclass)", G_OBJECT_TYPE_NAME (widget)); return; } @@ -1411,7 +1411,7 @@ gtk_combo_box_add (GtkContainer *container, { gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (priv->separator)), priv->separator); - priv->separator = NULL; + priv->separator = NULL; gtk_widget_queue_resize (GTK_WIDGET (container)); } @@ -1430,8 +1430,8 @@ gtk_combo_box_add (GtkContainer *container, _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), TRUE); g_signal_connect (widget, "changed", - G_CALLBACK (gtk_combo_box_entry_contents_changed), - combo_box); + G_CALLBACK (gtk_combo_box_entry_contents_changed), + combo_box); gtk_entry_set_has_frame (GTK_ENTRY (widget), priv->has_frame); } @@ -1439,7 +1439,7 @@ gtk_combo_box_add (GtkContainer *container, static void gtk_combo_box_remove (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GtkComboBox *combo_box = GTK_COMBO_BOX (container); GtkComboBoxPrivate *priv = combo_box->priv; @@ -1452,12 +1452,12 @@ gtk_combo_box_remove (GtkContainer *container, child_widget = gtk_bin_get_child (GTK_BIN (container)); if (widget && widget == child_widget) - { - g_signal_handlers_disconnect_by_func (widget, - gtk_combo_box_entry_contents_changed, - container); + { + g_signal_handlers_disconnect_by_func (widget, + gtk_combo_box_entry_contents_changed, + container); _gtk_entry_set_is_cell_renderer (GTK_ENTRY (widget), FALSE); - } + } } if (widget == priv->cell_view) @@ -1490,15 +1490,15 @@ gtk_combo_box_remove (GtkContainer *container, priv->cell_view = gtk_cell_view_new (); gtk_widget_set_parent (priv->cell_view, GTK_WIDGET (container)); _gtk_bin_set_child (GTK_BIN (container), priv->cell_view); - + gtk_widget_show (priv->cell_view); gtk_cell_view_set_model (GTK_CELL_VIEW (priv->cell_view), - priv->model); + priv->model); } if (appears_as_list) - gtk_combo_box_list_setup (combo_box); + gtk_combo_box_list_setup (combo_box); else gtk_combo_box_menu_setup (combo_box, TRUE); @@ -1541,7 +1541,7 @@ gtk_combo_box_menu_hide (GtkWidget *menu, static void gtk_combo_box_detacher (GtkWidget *widget, - GtkMenu *menu) + GtkMenu *menu) { GtkComboBox *combo_box = GTK_COMBO_BOX (widget); GtkComboBoxPrivate *priv = combo_box->priv; @@ -1549,11 +1549,11 @@ gtk_combo_box_detacher (GtkWidget *widget, g_return_if_fail (priv->popup_widget == (GtkWidget *) menu); g_signal_handlers_disconnect_by_func (menu->priv->toplevel, - gtk_combo_box_menu_show, - combo_box); + gtk_combo_box_menu_show, + combo_box); g_signal_handlers_disconnect_by_func (menu->priv->toplevel, - gtk_combo_box_menu_hide, - combo_box); + gtk_combo_box_menu_hide, + combo_box); priv->popup_widget = NULL; } @@ -1587,7 +1587,7 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, priv->popup_widget = popup; - /* + /* * Note that we connect to show/hide on the toplevel, not the * menu itself, since the menu is not shown/hidden when it is * popped up while torn-off. @@ -1598,53 +1598,53 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box, G_CALLBACK (gtk_combo_box_menu_hide), combo_box); gtk_menu_attach_to_widget (GTK_MENU (popup), - GTK_WIDGET (combo_box), - gtk_combo_box_detacher); + GTK_WIDGET (combo_box), + gtk_combo_box_detacher); } else { if (!priv->popup_window) { - GtkWidget *toplevel; - + GtkWidget *toplevel; + priv->popup_window = gtk_window_new (GTK_WINDOW_POPUP); gtk_widget_set_name (priv->popup_window, "gtk-combobox-popup-window"); - gtk_window_set_type_hint (GTK_WINDOW (priv->popup_window), - GDK_WINDOW_TYPE_HINT_COMBO); + gtk_window_set_type_hint (GTK_WINDOW (priv->popup_window), + GDK_WINDOW_TYPE_HINT_COMBO); - g_signal_connect (GTK_WINDOW (priv->popup_window),"show", - G_CALLBACK (gtk_combo_box_child_show), - combo_box); - g_signal_connect (GTK_WINDOW (priv->popup_window),"hide", - G_CALLBACK (gtk_combo_box_child_hide), - combo_box); - - toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); - if (GTK_IS_WINDOW (toplevel)) - { - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (priv->popup_window)); - gtk_window_set_transient_for (GTK_WINDOW (priv->popup_window), - GTK_WINDOW (toplevel)); - } + g_signal_connect (GTK_WINDOW (priv->popup_window),"show", + G_CALLBACK (gtk_combo_box_child_show), + combo_box); + g_signal_connect (GTK_WINDOW (priv->popup_window),"hide", + G_CALLBACK (gtk_combo_box_child_hide), + combo_box); - gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE); + toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); + if (GTK_IS_WINDOW (toplevel)) + { + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (priv->popup_window)); + gtk_window_set_transient_for (GTK_WINDOW (priv->popup_window), + GTK_WINDOW (toplevel)); + } + + gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE); gtk_window_set_screen (GTK_WINDOW (priv->popup_window), gtk_widget_get_screen (GTK_WIDGET (combo_box))); - priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); - - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - GTK_POLICY_NEVER, - GTK_POLICY_NEVER); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), - GTK_SHADOW_IN); + priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); + + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + GTK_POLICY_NEVER, + GTK_POLICY_NEVER); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (priv->scrolled_window), + GTK_SHADOW_IN); gtk_widget_show (priv->scrolled_window); - - gtk_container_add (GTK_CONTAINER (priv->popup_window), - priv->scrolled_window); + + gtk_container_add (GTK_CONTAINER (priv->popup_window), + priv->scrolled_window); } gtk_container_add (GTK_CONTAINER (priv->scrolled_window), @@ -1676,10 +1676,10 @@ get_widget_border (GtkWidget *widget, static void gtk_combo_box_menu_position_below (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data) + gint *x, + gint *y, + gint *push_in, + gpointer user_data) { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); GtkAllocation child_allocation; @@ -1721,15 +1721,15 @@ gtk_combo_box_menu_position_below (GtkMenu *menu, *y = sy; screen = gtk_widget_get_screen (GTK_WIDGET (combo_box)); - monitor_num = gdk_screen_get_monitor_at_window (screen, + monitor_num = gdk_screen_get_monitor_at_window (screen, gtk_widget_get_window (GTK_WIDGET (combo_box))); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - + if (*x < monitor.x) *x = monitor.x; else if (*x + req.width > monitor.x + monitor.width) *x = monitor.x + monitor.width - req.width; - + if (monitor.y + monitor.height - *y - child_allocation.height >= req.height) *y += child_allocation.height; else if (*y - monitor.y >= req.height) @@ -1744,10 +1744,10 @@ gtk_combo_box_menu_position_below (GtkMenu *menu, static void gtk_combo_box_menu_position_over (GtkMenu *menu, - gint *x, - gint *y, - gboolean *push_in, - gpointer user_data) + gint *x, + gint *y, + gboolean *push_in, + gpointer user_data) { GtkComboBox *combo_box; GtkWidget *active; @@ -1788,14 +1788,14 @@ gtk_combo_box_menu_position_over (GtkMenu *menu, child = children->data; if (active == child) - break; + break; if (gtk_widget_get_visible (child)) - { - gtk_widget_get_allocation (child, &child_allocation); + { + gtk_widget_get_allocation (child, &child_allocation); - menu_ypos -= child_allocation.height; - } + menu_ypos -= child_allocation.height; + } children = children->next; } @@ -1805,7 +1805,7 @@ gtk_combo_box_menu_position_over (GtkMenu *menu, gdk_window_get_root_coords (gtk_widget_get_window (widget), menu_xpos, menu_ypos, - &menu_xpos, &menu_ypos); + &menu_xpos, &menu_ypos); /* Clamp the position on screen */ screen_width = gdk_screen_get_width (gtk_widget_get_screen (widget)); @@ -1823,24 +1823,24 @@ gtk_combo_box_menu_position_over (GtkMenu *menu, static void gtk_combo_box_menu_position (GtkMenu *menu, - gint *x, - gint *y, - gint *push_in, - gpointer user_data) + gint *x, + gint *y, + gint *push_in, + gpointer user_data) { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); GtkComboBoxPrivate *priv = combo_box->priv; GtkWidget *menu_item; - if (priv->wrap_width > 0 || priv->cell_view == NULL) + if (priv->wrap_width > 0 || priv->cell_view == NULL) gtk_combo_box_menu_position_below (menu, x, y, push_in, user_data); else { /* FIXME handle nested menus better */ menu_item = gtk_menu_get_active (GTK_MENU (priv->popup_widget)); if (menu_item) - gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), - menu_item); + gtk_menu_shell_select_item (GTK_MENU_SHELL (priv->popup_widget), + menu_item); gtk_combo_box_menu_position_over (menu, x, y, push_in, user_data); } @@ -1851,11 +1851,11 @@ gtk_combo_box_menu_position (GtkMenu *menu, } static void -gtk_combo_box_list_position (GtkComboBox *combo_box, - gint *x, - gint *y, - gint *width, - gint *height) +gtk_combo_box_list_position (GtkComboBox *combo_box, + gint *x, + gint *y, + gint *width, + gint *height) { GtkComboBoxPrivate *priv = combo_box->priv; GtkAllocation allocation; @@ -1889,18 +1889,18 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, hpolicy = vpolicy = GTK_POLICY_NEVER; gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); + hpolicy, vpolicy); if (combo_box->priv->popup_fixed_width) { gtk_widget_get_preferred_size (priv->scrolled_window, &popup_req, NULL); if (popup_req.width > *width) - { - hpolicy = GTK_POLICY_ALWAYS; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); - } + { + hpolicy = GTK_POLICY_ALWAYS; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); + } } else { @@ -1909,13 +1909,13 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, gtk_widget_get_preferred_size (priv->scrolled_window, NULL, &popup_req); if (popup_req.width > *width) - { - hpolicy = GTK_POLICY_NEVER; - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); + { + hpolicy = GTK_POLICY_NEVER; + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), + hpolicy, vpolicy); - *width = popup_req.width; - } + *width = popup_req.width; + } } *height = popup_req.height; @@ -1931,7 +1931,7 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, *x = monitor.x; else if (*x + *width > monitor.x + monitor.width) *x = monitor.x + monitor.width - *width; - + if (*y + allocation.height + *height <= monitor.y + monitor.height) *y += allocation.height; else if (*y - *height >= monitor.y) @@ -1941,7 +1941,7 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, *y += allocation.height; *height = monitor.y + monitor.height - *y; } - else + else { *height = *y - monitor.y; *y = monitor.y; @@ -1950,27 +1950,27 @@ gtk_combo_box_list_position (GtkComboBox *combo_box, if (popup_req.height > *height) { vpolicy = GTK_POLICY_ALWAYS; - + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (priv->scrolled_window), - hpolicy, vpolicy); + hpolicy, vpolicy); } -} +} static gboolean cell_view_is_sensitive (GtkCellView *cell_view) { GList *cells, *list; gboolean sensitive; - + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (cell_view)); sensitive = FALSE; for (list = cells; list; list = list->next) { g_object_get (list->data, "sensitive", &sensitive, NULL); - + if (sensitive) - break; + break; } g_list_free (cells); @@ -1979,7 +1979,7 @@ cell_view_is_sensitive (GtkCellView *cell_view) static gboolean tree_column_row_is_sensitive (GtkComboBox *combo_box, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkComboBoxPrivate *priv = combo_box->priv; GList *cells, *list; @@ -1992,12 +1992,12 @@ tree_column_row_is_sensitive (GtkComboBox *combo_box, { if (priv->row_separator_func (priv->model, iter, priv->row_separator_data)) - return FALSE; + return FALSE; } gtk_tree_view_column_cell_set_cell_data (priv->column, - priv->model, - iter, FALSE, FALSE); + priv->model, + iter, FALSE, FALSE); cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (priv->column)); @@ -2005,9 +2005,9 @@ tree_column_row_is_sensitive (GtkComboBox *combo_box, for (list = cells; list; list = list->next) { g_object_get (list->data, "sensitive", &sensitive, NULL); - + if (sensitive) - break; + break; } g_list_free (cells); @@ -2016,7 +2016,7 @@ tree_column_row_is_sensitive (GtkComboBox *combo_box, static void update_menu_sensitivity (GtkComboBox *combo_box, - GtkWidget *menu) + GtkWidget *menu) { GtkComboBoxPrivate *priv = combo_box->priv; GList *children, *child; @@ -2035,42 +2035,42 @@ update_menu_sensitivity (GtkComboBox *combo_box, cell_view = gtk_bin_get_child (GTK_BIN (item)); if (!GTK_IS_CELL_VIEW (cell_view)) - continue; - + continue; + submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (item)); if (submenu != NULL) - { - gtk_widget_set_sensitive (item, TRUE); - update_menu_sensitivity (combo_box, submenu); - } + { + gtk_widget_set_sensitive (item, TRUE); + update_menu_sensitivity (combo_box, submenu); + } else - { - sensitive = cell_view_is_sensitive (GTK_CELL_VIEW (cell_view)); + { + sensitive = cell_view_is_sensitive (GTK_CELL_VIEW (cell_view)); - if (menu != priv->popup_widget && child == children) - { - separator = GTK_WIDGET (child->next->data); - g_object_set (item, "visible", sensitive, NULL); - g_object_set (separator, "visible", sensitive, NULL); - } - else - gtk_widget_set_sensitive (item, sensitive); - } + if (menu != priv->popup_widget && child == children) + { + separator = GTK_WIDGET (child->next->data); + g_object_set (item, "visible", sensitive, NULL); + g_object_set (separator, "visible", sensitive, NULL); + } + else + gtk_widget_set_sensitive (item, sensitive); + } } g_list_free (children); } -static void +static void gtk_combo_box_menu_popup (GtkComboBox *combo_box, - guint button, - guint32 activate_time) + guint button, + guint32 activate_time) { GtkComboBoxPrivate *priv = combo_box->priv; GtkTreePath *path; gint active_item; gint width, min_width, nat_width; - + update_menu_sensitivity (combo_box, priv->popup_widget); active_item = -1; @@ -2079,14 +2079,14 @@ gtk_combo_box_menu_popup (GtkComboBox *combo_box, path = gtk_tree_row_reference_get_path (priv->active_row); active_item = gtk_tree_path_get_indices (path)[0]; gtk_tree_path_free (path); - + if (priv->add_tearoffs) - active_item++; + active_item++; } /* FIXME handle nested menus better */ gtk_menu_set_active (GTK_MENU (priv->popup_widget), active_item); - + if (priv->wrap_width == 0) { GtkAllocation allocation; @@ -2097,24 +2097,24 @@ gtk_combo_box_menu_popup (GtkComboBox *combo_box, gtk_widget_get_preferred_width (priv->popup_widget, &min_width, &nat_width); if (combo_box->priv->popup_fixed_width) - width = MAX (width, min_width); + width = MAX (width, min_width); else - width = MAX (width, nat_width); + width = MAX (width, nat_width); gtk_widget_set_size_request (priv->popup_widget, width, -1); } - + gtk_menu_popup (GTK_MENU (priv->popup_widget), - NULL, NULL, - gtk_combo_box_menu_position, combo_box, - button, activate_time); + NULL, NULL, + gtk_combo_box_menu_position, combo_box, + button, activate_time); } static gboolean popup_grab_on_window (GdkWindow *window, GdkDevice *keyboard, GdkDevice *pointer, - guint32 activate_time) + guint32 activate_time) { if (keyboard && gdk_device_grab (keyboard, window, @@ -2142,8 +2142,8 @@ popup_grab_on_window (GdkWindow *window, /** * gtk_combo_box_popup: * @combo_box: a #GtkComboBox - * - * Pops up the menu or dropdown list of @combo_box. + * + * Pops up the menu or dropdown list of @combo_box. * * This function is mostly intended for use by accessibility technologies; * applications should have little use for it. @@ -2207,7 +2207,7 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box, if (GTK_IS_MENU (priv->popup_widget)) { - gtk_combo_box_menu_popup (combo_box, + gtk_combo_box_menu_popup (combo_box, priv->activate_button, priv->activate_time); return; @@ -2215,13 +2215,13 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box, toplevel = gtk_widget_get_toplevel (GTK_WIDGET (combo_box)); if (GTK_IS_WINDOW (toplevel)) - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (priv->popup_window)); + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (priv->popup_window)); gtk_widget_show_all (priv->scrolled_window); gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); - - gtk_widget_set_size_request (priv->popup_window, width, height); + + gtk_widget_set_size_request (priv->popup_window, width, height); gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); if (gtk_tree_row_reference_valid (priv->active_row)) @@ -2229,20 +2229,20 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box, path = gtk_tree_row_reference_get_path (priv->active_row); ppath = gtk_tree_path_copy (path); if (gtk_tree_path_up (ppath)) - gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->tree_view), - ppath); + gtk_tree_view_expand_to_path (GTK_TREE_VIEW (priv->tree_view), + ppath); gtk_tree_path_free (ppath); } - gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), - TRUE); - + gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), + TRUE); + /* popup */ gtk_widget_show (priv->popup_window); if (path) { gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), - path, NULL, FALSE); + path, NULL, FALSE); gtk_tree_path_free (path); } @@ -2254,7 +2254,7 @@ gtk_combo_box_popup_for_device (GtkComboBox *combo_box, gtk_widget_grab_focus (priv->tree_view); if (!popup_grab_on_window (gtk_widget_get_window (priv->popup_window), - keyboard, pointer, time)) + keyboard, pointer, time)) { gtk_widget_hide (priv->popup_window); return; @@ -2305,7 +2305,7 @@ gtk_combo_box_real_popdown (GtkComboBox *combo_box) /** * gtk_combo_box_popdown: * @combo_box: a #GtkComboBox - * + * * Hides the menu or dropdown list of @combo_box. * * This function is mostly intended for use by accessibility technologies; @@ -2338,21 +2338,21 @@ gtk_combo_box_popdown (GtkComboBox *combo_box) priv->grab_keyboard = NULL; } -#define GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON \ - gtk_widget_get_preferred_size (combo_box->priv->button, \ - &req, NULL); \ - \ - if (is_rtl) \ - child.x = allocation->x + border.right; \ - else \ - child.x = allocation->x + allocation->width - req.width - border.left; \ - \ - child.y = allocation->y + border.top; \ - child.width = req.width; \ - child.height = allocation->height - (border.top + border.bottom); \ - child.width = MAX (1, child.width); \ - child.height = MAX (1, child.height); \ - \ +#define GTK_COMBO_BOX_SIZE_ALLOCATE_BUTTON \ + gtk_widget_get_preferred_size (combo_box->priv->button, \ + &req, NULL); \ + \ + if (is_rtl) \ + child.x = allocation->x + border.right; \ + else \ + child.x = allocation->x + allocation->width - req.width - border.left; \ + \ + child.y = allocation->y + border.top; \ + child.width = req.width; \ + child.height = allocation->height - (border.top + border.bottom); \ + child.width = MAX (1, child.width); \ + child.height = MAX (1, child.height); \ + \ gtk_widget_size_allocate (combo_box->priv->button, &child); @@ -2374,15 +2374,15 @@ gtk_combo_box_size_allocate (GtkWidget *widget, get_widget_border (widget, &border); gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); if (!priv->tree_view) { if (priv->cell_view) { - GtkBorder button_border; + GtkBorder button_border; gint width; guint border_width; @@ -2396,30 +2396,30 @@ gtk_combo_box_size_allocate (GtkWidget *widget, /* set some things ready */ border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->button)); - get_widget_border (priv->button, &button_border); + get_widget_border (priv->button, &button_border); child.x = allocation->x; child.y = allocation->y; - width = allocation->width; - child.height = allocation->height; + width = allocation->width; + child.height = allocation->height; - if (!priv->is_cell_renderer) - { - child.x += border_width + button_border.left + focus_width + focus_pad; - child.y += border_width + button_border.top + focus_width + focus_pad; - width -= (2 * (border_width + focus_width + focus_pad)) + + if (!priv->is_cell_renderer) + { + child.x += border_width + button_border.left + focus_width + focus_pad; + child.y += border_width + button_border.top + focus_width + focus_pad; + width -= (2 * (border_width + focus_width + focus_pad)) + button_border.left + button_border.right; - child.height -= (2 * (border_width + focus_width + focus_pad)) + + child.height -= (2 * (border_width + focus_width + focus_pad)) + button_border.top + button_border.bottom; - } + } /* handle the children */ gtk_widget_get_preferred_size (priv->arrow, &req, NULL); child.width = req.width; if (!is_rtl) child.x += width - req.width; - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); gtk_widget_size_allocate (priv->arrow, &child); if (is_rtl) child.x += req.width; @@ -2427,22 +2427,22 @@ gtk_combo_box_size_allocate (GtkWidget *widget, child.width = req.width; if (!is_rtl) child.x -= req.width; - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); gtk_widget_size_allocate (priv->separator, &child); if (is_rtl) { child.x += req.width; - child.width = allocation->x + allocation->width - - (border_width + button_border.right + focus_width + focus_pad) - - child.x; + child.width = allocation->x + allocation->width + - (border_width + button_border.right + focus_width + focus_pad) + - child.x; } - else + else { child.width = child.x; - child.x = allocation->x - + border_width + button_border.left + focus_width + focus_pad; + child.x = allocation->x + + border_width + button_border.left + focus_width + focus_pad; child.width -= child.x; } @@ -2458,21 +2458,21 @@ gtk_combo_box_size_allocate (GtkWidget *widget, width = combo_box_allocation.width; gtk_widget_set_size_request (priv->popup_widget, -1, -1); - if (combo_box->priv->popup_fixed_width) - gtk_widget_get_preferred_width (priv->popup_widget, &menu_width, NULL); - else - gtk_widget_get_preferred_width (priv->popup_widget, NULL, &menu_width); + if (combo_box->priv->popup_fixed_width) + gtk_widget_get_preferred_width (priv->popup_widget, &menu_width, NULL); + else + gtk_widget_get_preferred_width (priv->popup_widget, NULL, &menu_width); gtk_widget_set_size_request (priv->popup_widget, - MAX (width, menu_width), -1); + MAX (width, menu_width), -1); } /* reposition the menu after giving it a new width */ gtk_menu_reposition (GTK_MENU (priv->popup_widget)); } - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); gtk_widget_size_allocate (child_widget, &child); } else @@ -2485,8 +2485,8 @@ gtk_combo_box_size_allocate (GtkWidget *widget, child.x = allocation->x + border.left; child.y = allocation->y + border.top; child.width = allocation->width - req.width - (border.left + border.right); - child.width = MAX (1, child.width); - child.height = MAX (1, child.height); + child.width = MAX (1, child.width); + child.height = MAX (1, child.height); gtk_widget_size_allocate (child_widget, &child); } } @@ -2519,10 +2519,10 @@ gtk_combo_box_size_allocate (GtkWidget *widget, /* the sample */ if (priv->has_frame) { - GtkBorder frame_border; + GtkBorder frame_border; border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (priv->cell_view_frame, &frame_border); + get_widget_border (priv->cell_view_frame, &frame_border); child.x += border_width + frame_border.left; child.y += border_width + frame_border.right; @@ -2546,10 +2546,8 @@ gtk_combo_box_size_allocate (GtkWidget *widget, gtk_widget_set_size_request (priv->popup_window, width, height); } - child.width = MAX (1, child.width); child.height = MAX (1, child.height); - gtk_widget_size_allocate (child_widget, &child); } } @@ -2564,13 +2562,13 @@ gtk_combo_box_unset_model (GtkComboBox *combo_box) if (priv->model) { g_signal_handler_disconnect (priv->model, - priv->inserted_id); + priv->inserted_id); g_signal_handler_disconnect (priv->model, - priv->deleted_id); + priv->deleted_id); g_signal_handler_disconnect (priv->model, - priv->reordered_id); + priv->reordered_id); g_signal_handler_disconnect (priv->model, - priv->changed_id); + priv->changed_id); } if (priv->model) @@ -2602,9 +2600,9 @@ gtk_combo_box_forall (GtkContainer *container, if (include_internals) { if (priv->button) - (* callback) (priv->button, callback_data); + (* callback) (priv->button, callback_data); if (priv->cell_view_frame) - (* callback) (priv->cell_view_frame, callback_data); + (* callback) (priv->cell_view_frame, callback_data); } child = gtk_bin_get_child (GTK_BIN (container)); @@ -2612,7 +2610,7 @@ gtk_combo_box_forall (GtkContainer *container, (* callback) (child, callback_data); } -static void +static void gtk_combo_box_child_show (GtkWidget *widget, GtkComboBox *combo_box) { @@ -2622,7 +2620,7 @@ gtk_combo_box_child_show (GtkWidget *widget, g_object_notify (G_OBJECT (combo_box), "popup-shown"); } -static void +static void gtk_combo_box_child_hide (GtkWidget *widget, GtkComboBox *combo_box) { @@ -2657,12 +2655,12 @@ gtk_combo_box_draw (GtkWidget *widget, } gtk_container_propagate_draw (GTK_CONTAINER (widget), - priv->button, cr); + priv->button, cr); if (priv->tree_view && priv->cell_view_frame) { gtk_container_propagate_draw (GTK_CONTAINER (widget), - priv->cell_view_frame, cr); + priv->cell_view_frame, cr); } gtk_container_propagate_draw (GTK_CONTAINER (widget), @@ -2683,51 +2681,51 @@ typedef struct { static gboolean path_visible (GtkTreeView *view, - GtkTreePath *path) + GtkTreePath *path) { GtkRBTree *tree; GtkRBNode *node; - - /* Note that we rely on the fact that collapsed rows don't have nodes + + /* Note that we rely on the fact that collapsed rows don't have nodes */ return _gtk_tree_view_find_node (view, path, &tree, &node); } static gboolean tree_next_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { SearchData *search_data = (SearchData *)data; - if (search_data->found) + if (search_data->found) { if (!tree_column_row_is_sensitive (search_data->combo, iter)) - return FALSE; - + return FALSE; + if (search_data->visible && - !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; + !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) + return FALSE; search_data->set = TRUE; search_data->iter = *iter; return TRUE; } - + if (gtk_tree_path_compare (path, search_data->path) == 0) search_data->found = TRUE; - + return FALSE; } static gboolean tree_next (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *iter, - GtkTreeIter *next, - gboolean visible) + GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *next, + gboolean visible) { SearchData search_data; @@ -2738,7 +2736,7 @@ tree_next (GtkComboBox *combo, search_data.set = FALSE; gtk_tree_model_foreach (model, tree_next_func, &search_data); - + *next = search_data.iter; gtk_tree_path_free (search_data.path); @@ -2748,9 +2746,9 @@ tree_next (GtkComboBox *combo, static gboolean tree_prev_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { SearchData *search_data = (SearchData *)data; @@ -2759,26 +2757,26 @@ tree_prev_func (GtkTreeModel *model, search_data->found = TRUE; return TRUE; } - + if (!tree_column_row_is_sensitive (search_data->combo, iter)) return FALSE; - + if (search_data->visible && !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; - + return FALSE; + search_data->set = TRUE; search_data->iter = *iter; - - return FALSE; + + return FALSE; } static gboolean tree_prev (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *iter, - GtkTreeIter *prev, - gboolean visible) + GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *prev, + gboolean visible) { SearchData search_data; @@ -2789,7 +2787,7 @@ tree_prev (GtkComboBox *combo, search_data.set = FALSE; gtk_tree_model_foreach (model, tree_prev_func, &search_data); - + *prev = search_data.iter; gtk_tree_path_free (search_data.path); @@ -2799,32 +2797,32 @@ tree_prev (GtkComboBox *combo, static gboolean tree_last_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { SearchData *search_data = (SearchData *)data; if (!tree_column_row_is_sensitive (search_data->combo, iter)) return FALSE; - - /* Note that we rely on the fact that collapsed rows don't have nodes + + /* Note that we rely on the fact that collapsed rows don't have nodes */ if (search_data->visible && !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) - return FALSE; - + return FALSE; + search_data->set = TRUE; search_data->iter = *iter; - - return FALSE; + + return FALSE; } static gboolean tree_last (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *last, - gboolean visible) + GtkTreeModel *model, + GtkTreeIter *last, + gboolean visible) { SearchData search_data; @@ -2833,51 +2831,51 @@ tree_last (GtkComboBox *combo, search_data.set = FALSE; gtk_tree_model_foreach (model, tree_last_func, &search_data); - + *last = search_data.iter; - return search_data.set; + return search_data.set; } static gboolean tree_first_func (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer data) { SearchData *search_data = (SearchData *)data; if (!tree_column_row_is_sensitive (search_data->combo, iter)) return FALSE; - + if (search_data->visible && !path_visible (GTK_TREE_VIEW (search_data->combo->priv->tree_view), path)) return FALSE; - + search_data->set = TRUE; search_data->iter = *iter; - + return TRUE; } static gboolean tree_first (GtkComboBox *combo, - GtkTreeModel *model, - GtkTreeIter *first, - gboolean visible) + GtkTreeModel *model, + GtkTreeIter *first, + gboolean visible) { SearchData search_data; - + search_data.combo = combo; search_data.visible = visible; search_data.set = FALSE; gtk_tree_model_foreach (model, tree_first_func, &search_data); - + *first = search_data.iter; - return search_data.set; + return search_data.set; } static gboolean @@ -2891,14 +2889,14 @@ gtk_combo_box_scroll_event (GtkWidget *widget, if (!gtk_combo_box_get_active_iter (combo_box, &iter)) return TRUE; - + if (event->direction == GDK_SCROLL_UP) - found = tree_prev (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); + found = tree_prev (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); else - found = tree_next (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - + found = tree_next (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + if (found) gtk_combo_box_set_active_iter (combo_box, &new_iter); @@ -2908,11 +2906,10 @@ gtk_combo_box_scroll_event (GtkWidget *widget, /* * menu style */ - -static gboolean +static gboolean gtk_combo_box_row_separator_func (GtkTreeModel *model, - GtkTreeIter *iter, - GtkComboBox *combo) + GtkTreeIter *iter, + GtkComboBox *combo) { GtkComboBoxPrivate *priv = combo->priv; @@ -2922,13 +2919,13 @@ gtk_combo_box_row_separator_func (GtkTreeModel *model, return FALSE; } -static gboolean +static gboolean gtk_combo_box_header_func (GtkTreeModel *model, - GtkTreeIter *iter, - GtkComboBox *combo) + GtkTreeIter *iter, + GtkComboBox *combo) { /* Every submenu has a selectable header, however we - * can expose a method to make that configurable by + * can expose a method to make that configurable by * the user (like row_separator_func is done) */ return TRUE; } @@ -2947,7 +2944,7 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, { priv->button = gtk_toggle_button_new (); gtk_button_set_focus_on_click (GTK_BUTTON (priv->button), - priv->focus_on_click); + priv->focus_on_click); g_signal_connect (priv->button, "toggled", G_CALLBACK (gtk_combo_box_button_toggled), combo_box); @@ -2969,7 +2966,7 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, { priv->button = gtk_toggle_button_new (); gtk_button_set_focus_on_click (GTK_BUTTON (priv->button), - priv->focus_on_click); + priv->focus_on_click); g_signal_connect (priv->button, "toggled", G_CALLBACK (gtk_combo_box_button_toggled), combo_box); @@ -2985,8 +2982,8 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, G_CALLBACK (gtk_combo_box_menu_button_press), combo_box); g_signal_connect (priv->button, "state-flags-changed", - G_CALLBACK (gtk_combo_box_button_state_flags_changed), - combo_box); + G_CALLBACK (gtk_combo_box_button_state_flags_changed), + combo_box); /* create our funky menu */ menu = _gtk_tree_menu_new_with_area (priv->area); @@ -2997,25 +2994,25 @@ gtk_combo_box_menu_setup (GtkComboBox *combo_box, _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (menu), priv->wrap_width); _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (menu), priv->row_column); _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (menu), priv->col_column); - _gtk_tree_menu_set_tearoff (GTK_TREE_MENU (menu), - combo_box->priv->add_tearoffs); + _gtk_tree_menu_set_tearoff (GTK_TREE_MENU (menu), + combo_box->priv->add_tearoffs); g_signal_connect (menu, "menu-activate", - G_CALLBACK (gtk_combo_box_menu_activate), combo_box); + G_CALLBACK (gtk_combo_box_menu_activate), combo_box); /* Chain our row_separator_func through */ _gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (menu), - (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, - combo_box, NULL); + (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, + combo_box, NULL); _gtk_tree_menu_set_header_func (GTK_TREE_MENU (menu), - (GtkTreeMenuHeaderFunc)gtk_combo_box_header_func, - combo_box, NULL); + (GtkTreeMenuHeaderFunc)gtk_combo_box_header_func, + combo_box, NULL); gtk_widget_set_name (menu, "gtk-combobox-popup-menu"); - + g_signal_connect (menu, "key-press-event", - G_CALLBACK (gtk_combo_box_menu_key_press), combo_box); + G_CALLBACK (gtk_combo_box_menu_key_press), combo_box); gtk_combo_box_set_popup_widget (combo_box, menu); gtk_combo_box_update_title (combo_box); @@ -3064,9 +3061,9 @@ gtk_combo_box_menu_button_press (GtkWidget *widget, if (GTK_IS_MENU (priv->popup_widget) && event->type == GDK_BUTTON_PRESS && event->button == 1) { - if (priv->focus_on_click && - !gtk_widget_has_focus (priv->button)) - gtk_widget_grab_focus (priv->button); + if (priv->focus_on_click && + !gtk_widget_has_focus (priv->button)) + gtk_widget_grab_focus (priv->button); gtk_combo_box_menu_popup (combo_box, event->button, event->time); @@ -3078,8 +3075,8 @@ gtk_combo_box_menu_button_press (GtkWidget *widget, static void gtk_combo_box_menu_activate (GtkWidget *menu, - const gchar *path, - GtkComboBox *combo_box) + const gchar *path, + GtkComboBox *combo_box) { GtkTreeIter iter; @@ -3128,9 +3125,9 @@ gtk_combo_box_update_sensitivity (GtkComboBox *combo_box) static void gtk_combo_box_model_row_inserted (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); @@ -3142,8 +3139,8 @@ gtk_combo_box_model_row_inserted (GtkTreeModel *model, static void gtk_combo_box_model_row_deleted (GtkTreeModel *model, - GtkTreePath *path, - gpointer user_data) + GtkTreePath *path, + gpointer user_data) { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); GtkComboBoxPrivate *priv = combo_box->priv; @@ -3151,7 +3148,7 @@ gtk_combo_box_model_row_deleted (GtkTreeModel *model, if (!gtk_tree_row_reference_valid (priv->active_row)) { if (priv->cell_view) - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL); + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), NULL); g_signal_emit (combo_box, combo_box_signals[CHANGED], 0); } @@ -3163,19 +3160,19 @@ gtk_combo_box_model_row_deleted (GtkTreeModel *model, static void gtk_combo_box_model_rows_reordered (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - gpointer user_data) + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + gpointer user_data) { gtk_tree_row_reference_reordered (G_OBJECT (user_data), path, iter, new_order); } - + static void gtk_combo_box_model_row_changed (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); GtkComboBoxPrivate *priv = combo_box->priv; @@ -3186,11 +3183,11 @@ gtk_combo_box_model_row_changed (GtkTreeModel *model, { active_path = gtk_tree_row_reference_get_path (priv->active_row); if (gtk_tree_path_compare (path, active_path) == 0 && - priv->cell_view) - gtk_widget_queue_resize (GTK_WIDGET (priv->cell_view)); + priv->cell_view) + gtk_widget_queue_resize (GTK_WIDGET (priv->cell_view)); gtk_tree_path_free (active_path); } - + if (priv->tree_view) gtk_combo_box_list_row_changed (model, path, iter, user_data); } @@ -3205,7 +3202,7 @@ list_popup_resize_idle (gpointer user_data) if (priv->tree_view && gtk_widget_get_mapped (priv->popup_window)) { gtk_combo_box_list_position (combo_box, &x, &y, &width, &height); - + gtk_widget_set_size_request (priv->popup_window, width, height); gtk_window_move (GTK_WINDOW (priv->popup_window), x, y); } @@ -3221,18 +3218,18 @@ gtk_combo_box_list_popup_resize (GtkComboBox *combo_box) GtkComboBoxPrivate *priv = combo_box->priv; if (!priv->resize_idle_id) - priv->resize_idle_id = + priv->resize_idle_id = gdk_threads_add_idle (list_popup_resize_idle, combo_box); } static void gtk_combo_box_model_row_expanded (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer user_data) + GtkTreePath *path, + GtkTreeIter *iter, + gpointer user_data) { GtkComboBox *combo_box = GTK_COMBO_BOX (user_data); - + gtk_combo_box_list_popup_resize (combo_box); } @@ -3280,50 +3277,50 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box) gdk_rgba_free (color); priv->box = gtk_event_box_new (); - gtk_event_box_set_visible_window (GTK_EVENT_BOX (priv->box), - FALSE); + gtk_event_box_set_visible_window (GTK_EVENT_BOX (priv->box), + FALSE); if (priv->has_frame) - { - priv->cell_view_frame = gtk_frame_new (NULL); - gtk_frame_set_shadow_type (GTK_FRAME (priv->cell_view_frame), - GTK_SHADOW_IN); - } - else - { - combo_box->priv->cell_view_frame = gtk_event_box_new (); - gtk_event_box_set_visible_window (GTK_EVENT_BOX (combo_box->priv->cell_view_frame), - FALSE); - } + { + priv->cell_view_frame = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (priv->cell_view_frame), + GTK_SHADOW_IN); + } + else + { + combo_box->priv->cell_view_frame = gtk_event_box_new (); + gtk_event_box_set_visible_window (GTK_EVENT_BOX (combo_box->priv->cell_view_frame), + FALSE); + } gtk_widget_set_parent (priv->cell_view_frame, - gtk_widget_get_parent (child)); + gtk_widget_get_parent (child)); gtk_container_add (GTK_CONTAINER (priv->cell_view_frame), priv->box); gtk_widget_show_all (priv->cell_view_frame); g_signal_connect (priv->box, "button-press-event", - G_CALLBACK (gtk_combo_box_list_button_pressed), - combo_box); + G_CALLBACK (gtk_combo_box_list_button_pressed), + combo_box); } priv->tree_view = gtk_tree_view_new (); sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->tree_view)); gtk_tree_selection_set_mode (sel, GTK_SELECTION_BROWSE); gtk_tree_selection_set_select_function (sel, - gtk_combo_box_list_select_func, - NULL, NULL); + gtk_combo_box_list_select_func, + NULL, NULL); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->tree_view), FALSE); gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (priv->tree_view), - TRUE); + TRUE); - gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (priv->tree_view), - (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, - combo_box, NULL); + gtk_tree_view_set_row_separator_func (GTK_TREE_VIEW (priv->tree_view), + (GtkTreeViewRowSeparatorFunc)gtk_combo_box_row_separator_func, + combo_box, NULL); if (priv->model) gtk_tree_view_set_model (GTK_TREE_VIEW (priv->tree_view), priv->model); - + priv->column = gtk_tree_view_column_new_with_area (priv->area); gtk_tree_view_append_column (GTK_TREE_VIEW (priv->tree_view), priv->column); @@ -3333,7 +3330,7 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box) path = gtk_tree_row_reference_get_path (priv->active_row); gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), - path, NULL, FALSE); + path, NULL, FALSE); gtk_tree_path_free (path); } @@ -3347,11 +3344,11 @@ gtk_combo_box_list_setup (GtkComboBox *combo_box) G_CALLBACK (gtk_combo_box_list_enter_notify), combo_box); g_signal_connect (priv->tree_view, "row-expanded", - G_CALLBACK (gtk_combo_box_model_row_expanded), - combo_box); + G_CALLBACK (gtk_combo_box_model_row_expanded), + combo_box); g_signal_connect (priv->tree_view, "row-collapsed", - G_CALLBACK (gtk_combo_box_model_row_expanded), - combo_box); + G_CALLBACK (gtk_combo_box_model_row_expanded), + combo_box); g_signal_connect (priv->popup_window, "button-press-event", G_CALLBACK (gtk_combo_box_list_button_pressed), combo_box); @@ -3390,23 +3387,23 @@ gtk_combo_box_list_destroy (GtkComboBox *combo_box) NULL); g_signal_handlers_disconnect_matched (priv->popup_window, - G_SIGNAL_MATCH_DATA, - 0, 0, NULL, - gtk_combo_box_child_show, - NULL); + G_SIGNAL_MATCH_DATA, + 0, 0, NULL, + gtk_combo_box_child_show, + NULL); g_signal_handlers_disconnect_matched (priv->popup_window, - G_SIGNAL_MATCH_DATA, - 0, 0, NULL, - gtk_combo_box_child_hide, - NULL); - + G_SIGNAL_MATCH_DATA, + 0, 0, NULL, + gtk_combo_box_child_hide, + NULL); + if (priv->box) g_signal_handlers_disconnect_matched (priv->box, - G_SIGNAL_MATCH_DATA, - 0, 0, NULL, - gtk_combo_box_list_button_pressed, - NULL); + G_SIGNAL_MATCH_DATA, + 0, 0, NULL, + gtk_combo_box_list_button_pressed, + NULL); /* destroy things (unparent will kill the latest ref from us) * last unref on button will destroy the arrow @@ -3470,7 +3467,7 @@ gtk_combo_box_list_button_pressed (GtkWidget *widget, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->button))) return FALSE; - if (priv->focus_on_click && + if (priv->focus_on_click && !gtk_widget_has_focus (priv->button)) gtk_widget_grab_focus (priv->button); @@ -3480,9 +3477,9 @@ gtk_combo_box_list_button_pressed (GtkWidget *widget, priv->auto_scroll = FALSE; if (priv->scroll_timer == 0) - priv->scroll_timer = gdk_threads_add_timeout (SCROLL_TIME, - (GSourceFunc) gtk_combo_box_list_scroll_timeout, - combo_box); + priv->scroll_timer = gdk_threads_add_timeout (SCROLL_TIME, + (GSourceFunc) gtk_combo_box_list_scroll_timeout, + combo_box); priv->popup_in_progress = TRUE; @@ -3511,8 +3508,8 @@ gtk_combo_box_list_button_released (GtkWidget *widget, priv->popup_in_progress = FALSE; } - gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), - FALSE); + gtk_tree_view_set_hover_expand (GTK_TREE_VIEW (priv->tree_view), + FALSE); if (priv->scroll_timer) { g_source_remove (priv->scroll_timer); @@ -3521,8 +3518,8 @@ gtk_combo_box_list_button_released (GtkWidget *widget, if (ewidget != priv->tree_view) { - if ((ewidget == priv->button || - ewidget == priv->box) && + if ((ewidget == priv->button || + ewidget == priv->box) && !popup_in_progress && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->button))) { @@ -3563,8 +3560,8 @@ gtk_combo_box_list_button_released (GtkWidget *widget, static gboolean gtk_combo_box_menu_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) + GdkEventKey *event, + gpointer data) { GtkComboBox *combo_box = GTK_COMBO_BOX (data); @@ -3588,22 +3585,22 @@ gtk_combo_box_list_key_press (GtkWidget *widget, GtkTreeIter iter; if (event->keyval == GDK_KEY_Return || event->keyval == GDK_KEY_ISO_Enter || event->keyval == GDK_KEY_KP_Enter || - event->keyval == GDK_KEY_space || event->keyval == GDK_KEY_KP_Space) + event->keyval == GDK_KEY_space || event->keyval == GDK_KEY_KP_Space) { GtkTreeModel *model = NULL; - + gtk_combo_box_popdown (combo_box); - + if (combo_box->priv->model) { - GtkTreeSelection *sel; + GtkTreeSelection *sel; - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (combo_box->priv->tree_view)); + sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (combo_box->priv->tree_view)); - if (gtk_tree_selection_get_selected (sel, &model, &iter)) - gtk_combo_box_set_active_iter (combo_box, &iter); + if (gtk_tree_selection_get_selected (sel, &model, &iter)) + gtk_combo_box_set_active_iter (combo_box, &iter); } - + return TRUE; } @@ -3620,8 +3617,8 @@ gtk_combo_box_list_key_press (GtkWidget *widget, static void gtk_combo_box_list_auto_scroll (GtkComboBox *combo_box, - gint x, - gint y) + gint x, + gint y) { GtkAdjustment *adj; GtkAllocation allocation; @@ -3634,34 +3631,34 @@ gtk_combo_box_list_auto_scroll (GtkComboBox *combo_box, if (adj && adj->upper - adj->lower > adj->page_size) { if (x <= allocation.x && - adj->lower < adj->value) - { - value = adj->value - (allocation.x - x + 1); - gtk_adjustment_set_value (adj, value); - } + adj->lower < adj->value) + { + value = adj->value - (allocation.x - x + 1); + gtk_adjustment_set_value (adj, value); + } else if (x >= allocation.x + allocation.width && - adj->upper - adj->page_size > adj->value) - { - value = adj->value + (x - allocation.x - allocation.width + 1); - gtk_adjustment_set_value (adj, MAX (value, 0.0)); - } + adj->upper - adj->page_size > adj->value) + { + value = adj->value + (x - allocation.x - allocation.width + 1); + gtk_adjustment_set_value (adj, MAX (value, 0.0)); + } } adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (combo_box->priv->scrolled_window)); if (adj && adj->upper - adj->lower > adj->page_size) { if (y <= allocation.y && - adj->lower < adj->value) - { - value = adj->value - (allocation.y - y + 1); - gtk_adjustment_set_value (adj, value); - } + adj->lower < adj->value) + { + value = adj->value - (allocation.y - y + 1); + gtk_adjustment_set_value (adj, value); + } else if (y >= allocation.height && - adj->upper - adj->page_size > adj->value) - { - value = adj->value + (y - allocation.height + 1); - gtk_adjustment_set_value (adj, MAX (value, 0.0)); - } + adj->upper - adj->page_size > adj->value) + { + value = adj->value + (y - allocation.height + 1); + gtk_adjustment_set_value (adj, MAX (value, 0.0)); + } } } @@ -3682,10 +3679,10 @@ gtk_combo_box_list_scroll_timeout (GtkComboBox *combo_box) return TRUE; } -static gboolean +static gboolean gtk_combo_box_list_enter_notify (GtkWidget *widget, - GdkEventCrossing *event, - gpointer data) + GdkEventCrossing *event, + gpointer data) { GtkComboBox *combo_box = GTK_COMBO_BOX (data); @@ -3696,10 +3693,10 @@ gtk_combo_box_list_enter_notify (GtkWidget *widget, static gboolean gtk_combo_box_list_select_func (GtkTreeSelection *selection, - GtkTreeModel *model, - GtkTreePath *path, - gboolean path_currently_selected, - gpointer data) + GtkTreeModel *model, + GtkTreePath *path, + gboolean path_currently_selected, + gpointer data) { GList *list, *columns; gboolean sensitive = FALSE; @@ -3714,25 +3711,25 @@ gtk_combo_box_list_select_func (GtkTreeSelection *selection, GtkTreeViewColumn *column = GTK_TREE_VIEW_COLUMN (list->data); if (!gtk_tree_view_column_get_visible (column)) - continue; + continue; gtk_tree_model_get_iter (model, &iter, path); gtk_tree_view_column_cell_set_cell_data (column, model, &iter, - FALSE, FALSE); + FALSE, FALSE); cell = cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column)); while (cell) { - g_object_get (cell->data, - "sensitive", &cell_sensitive, - "visible", &cell_visible, - NULL); + g_object_get (cell->data, + "sensitive", &cell_sensitive, + "visible", &cell_visible, + NULL); - if (cell_visible && cell_sensitive) - break; + if (cell_visible && cell_sensitive) + break; - cell = cell->next; - } + cell = cell->next; + } g_list_free (cells); sensitive = cell_sensitive; @@ -3807,10 +3804,10 @@ gtk_combo_box_new_with_area (GtkCellArea *area) GtkWidget * gtk_combo_box_new_with_area_and_entry (GtkCellArea *area) { - return g_object_new (GTK_TYPE_COMBO_BOX, - "has-entry", TRUE, - "cell-area", area, - NULL); + return g_object_new (GTK_TYPE_COMBO_BOX, + "has-entry", TRUE, + "cell-area", area, + NULL); } @@ -3871,8 +3868,8 @@ gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model) * gtk_combo_box_get_wrap_width: * @combo_box: A #GtkComboBox * - * Returns the wrap width which is used to determine the number of columns - * for the popup menu. If the wrap width is larger than 1, the combo box + * Returns the wrap width which is used to determine the number of columns + * for the popup menu. If the wrap width is larger than 1, the combo box * is in table mode. * * Returns: the wrap width. @@ -3916,8 +3913,8 @@ gtk_combo_box_set_wrap_width (GtkComboBox *combo_box, gtk_combo_box_check_appearance (combo_box); if (GTK_IS_TREE_MENU (priv->popup_widget)) - _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (priv->popup_widget), priv->wrap_width); - + _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (priv->popup_widget), priv->wrap_width); + g_object_notify (G_OBJECT (combo_box), "wrap-width"); } } @@ -3970,7 +3967,7 @@ gtk_combo_box_set_row_span_column (GtkComboBox *combo_box, priv->row_column = row_span; if (GTK_IS_TREE_MENU (priv->popup_widget)) - _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (priv->popup_widget), priv->row_column); + _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (priv->popup_widget), priv->row_column); g_object_notify (G_OBJECT (combo_box), "row-span-column"); } @@ -4024,8 +4021,8 @@ gtk_combo_box_set_column_span_column (GtkComboBox *combo_box, priv->col_column = column_span; if (GTK_IS_TREE_MENU (priv->popup_widget)) - _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (priv->popup_widget), priv->col_column); - + _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (priv->popup_widget), priv->col_column); + g_object_notify (G_OBJECT (combo_box), "column-span-column"); } } @@ -4035,12 +4032,12 @@ gtk_combo_box_set_column_span_column (GtkComboBox *combo_box, * @combo_box: A #GtkComboBox * * Returns the index of the currently active item, or -1 if there's no - * active item. If the model is a non-flat treemodel, and the active item - * is not an immediate child of the root of the tree, this function returns - * gtk_tree_path_get_indices (path)[0], where + * active item. If the model is a non-flat treemodel, and the active item + * is not an immediate child of the root of the tree, this function returns + * gtk_tree_path_get_indices (path)[0], where * path is the #GtkTreePath of the active item. * - * Return value: An integer which is the index of the currently active item, + * Return value: An integer which is the index of the currently active item, * or -1 if there's no active item. * * Since: 2.4 @@ -4059,7 +4056,7 @@ gtk_combo_box_get_active (GtkComboBox *combo_box) { GtkTreePath *path; - path = gtk_tree_row_reference_get_path (priv->active_row); + path = gtk_tree_row_reference_get_path (priv->active_row); result = gtk_tree_path_get_indices (path)[0]; gtk_tree_path_free (path); } @@ -4097,7 +4094,7 @@ gtk_combo_box_set_active (GtkComboBox *combo_box, if (index_ != -1) path = gtk_tree_path_new_from_indices (index_, -1); - + gtk_combo_box_set_active_internal (combo_box, path); if (path) @@ -4106,7 +4103,7 @@ gtk_combo_box_set_active (GtkComboBox *combo_box, static void gtk_combo_box_set_active_internal (GtkComboBox *combo_box, - GtkTreePath *path) + GtkTreePath *path) { GtkComboBoxPrivate *priv = combo_box->priv; GtkTreePath *active_path; @@ -4121,7 +4118,7 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box, path_cmp = gtk_tree_path_compare (path, active_path); gtk_tree_path_free (active_path); if (path_cmp == 0) - return; + return; } if (priv->active_row) @@ -4129,7 +4126,7 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box, gtk_tree_row_reference_free (priv->active_row); priv->active_row = NULL; } - + if (!path) { if (priv->tree_view) @@ -4154,24 +4151,24 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box, } else { - priv->active_row = - gtk_tree_row_reference_new (priv->model, path); + priv->active_row = + gtk_tree_row_reference_new (priv->model, path); if (priv->tree_view) - { - gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), - path, NULL, FALSE); - } + { + gtk_tree_view_set_cursor (GTK_TREE_VIEW (priv->tree_view), + path, NULL, FALSE); + } else if (GTK_IS_MENU (priv->popup_widget)) { - /* FIXME handle nested menus better */ - gtk_menu_set_active (GTK_MENU (priv->popup_widget), - gtk_tree_path_get_indices (path)[0]); + /* FIXME handle nested menus better */ + gtk_menu_set_active (GTK_MENU (priv->popup_widget), + gtk_tree_path_get_indices (path)[0]); } if (priv->cell_view) - gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), - path); + gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (priv->cell_view), + path); } g_signal_emit (combo_box, combo_box_signals[CHANGED], 0); @@ -4185,9 +4182,9 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box, * gtk_combo_box_get_active_iter: * @combo_box: A #GtkComboBox * @iter: (out): The uninitialized #GtkTreeIter - * + * * Sets @iter to point to the current active item, if it exists. - * + * * Return value: %TRUE, if @iter was set * * Since: 2.4 @@ -4215,10 +4212,10 @@ gtk_combo_box_get_active_iter (GtkComboBox *combo_box, * gtk_combo_box_set_active_iter: * @combo_box: A #GtkComboBox * @iter: (allow-none): The #GtkTreeIter, or %NULL - * + * * Sets the current active item to be the one referenced by @iter, or * unsets the active item if @iter is %NULL. - * + * * Since: 2.4 */ void @@ -4244,8 +4241,8 @@ gtk_combo_box_set_active_iter (GtkComboBox *combo_box, * Sets the model used by @combo_box to be @model. Will unset a previously set * model (if applicable). If model is %NULL, then it will unset the model. * - * Note that this function does not clear the cell renderers, you have to - * call gtk_cell_layout_clear() yourself if you need to set up different + * Note that this function does not clear the cell renderers, you have to + * call gtk_cell_layout_clear() yourself if you need to set up different * cell renderers for the new model. * * Since: 2.4 @@ -4259,7 +4256,7 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, if (model == combo_box->priv->model) return; - + gtk_combo_box_unset_model (combo_box); if (model == NULL) @@ -4270,21 +4267,21 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, combo_box->priv->inserted_id = g_signal_connect (combo_box->priv->model, "row-inserted", - G_CALLBACK (gtk_combo_box_model_row_inserted), - combo_box); + G_CALLBACK (gtk_combo_box_model_row_inserted), + combo_box); combo_box->priv->deleted_id = g_signal_connect (combo_box->priv->model, "row-deleted", - G_CALLBACK (gtk_combo_box_model_row_deleted), - combo_box); + G_CALLBACK (gtk_combo_box_model_row_deleted), + combo_box); combo_box->priv->reordered_id = g_signal_connect (combo_box->priv->model, "rows-reordered", - G_CALLBACK (gtk_combo_box_model_rows_reordered), - combo_box); + G_CALLBACK (gtk_combo_box_model_rows_reordered), + combo_box); combo_box->priv->changed_id = g_signal_connect (combo_box->priv->model, "row-changed", - G_CALLBACK (gtk_combo_box_model_row_changed), - combo_box); - + G_CALLBACK (gtk_combo_box_model_row_changed), + combo_box); + if (combo_box->priv->tree_view) { /* list mode */ @@ -4296,8 +4293,8 @@ gtk_combo_box_set_model (GtkComboBox *combo_box, if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) { /* menu mode */ - _gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), - combo_box->priv->model); + _gtk_tree_menu_set_model (GTK_TREE_MENU (combo_box->priv->popup_widget), + combo_box->priv->model); } if (combo_box->priv->cell_view) @@ -4360,9 +4357,9 @@ gtk_combo_box_real_move_active (GtkComboBox *combo_box, case GTK_SCROLL_STEP_LEFT: if (active_iter) { - found = tree_prev (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); - break; + found = tree_prev (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); + break; } /* else fall through */ @@ -4378,8 +4375,8 @@ gtk_combo_box_real_move_active (GtkComboBox *combo_box, case GTK_SCROLL_STEP_RIGHT: if (active_iter) { - found = tree_next (combo_box, combo_box->priv->model, - &iter, &new_iter, FALSE); + found = tree_next (combo_box, combo_box->priv->model, + &iter, &new_iter, FALSE); break; } /* else fall through */ @@ -4422,7 +4419,7 @@ gtk_combo_box_real_move_active (GtkComboBox *combo_box, static gboolean gtk_combo_box_mnemonic_activate (GtkWidget *widget, - gboolean group_cycling) + gboolean group_cycling) { GtkComboBox *combo_box = GTK_COMBO_BOX (widget); @@ -4432,7 +4429,7 @@ gtk_combo_box_mnemonic_activate (GtkWidget *widget, child = gtk_bin_get_child (GTK_BIN (combo_box)); if (child) - gtk_widget_grab_focus (child); + gtk_widget_grab_focus (child); } else gtk_widget_grab_focus (combo_box->priv->button); @@ -4451,7 +4448,7 @@ gtk_combo_box_grab_focus (GtkWidget *widget) child = gtk_bin_get_child (GTK_BIN (combo_box)); if (child) - gtk_widget_grab_focus (child); + gtk_widget_grab_focus (child); } else gtk_widget_grab_focus (combo_box->priv->button); @@ -4511,31 +4508,31 @@ gtk_combo_box_entry_active_changed (GtkComboBox *combo_box, GtkEntry *entry = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (combo_box))); if (entry) - { + { GValue value = {0,}; - g_signal_handlers_block_by_func (entry, - gtk_combo_box_entry_contents_changed, - combo_box); + g_signal_handlers_block_by_func (entry, + gtk_combo_box_entry_contents_changed, + combo_box); - model = gtk_combo_box_get_model (combo_box); + model = gtk_combo_box_get_model (combo_box); gtk_tree_model_get_value (model, &iter, priv->text_column, &value); g_object_set_property (G_OBJECT (entry), "text", &value); g_value_unset (&value); - g_signal_handlers_unblock_by_func (entry, - gtk_combo_box_entry_contents_changed, - combo_box); - } + g_signal_handlers_unblock_by_func (entry, + gtk_combo_box_entry_contents_changed, + combo_box); + } } } static GObject * gtk_combo_box_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) + guint n_construct_properties, + GObjectConstructParam *construct_properties) { GObject *object; GtkComboBox *combo_box; @@ -4577,12 +4574,12 @@ gtk_combo_box_constructor (GType type, priv->text_renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo_box), - priv->text_renderer, TRUE); + priv->text_renderer, TRUE); gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), -1); g_signal_connect (combo_box, "changed", - G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); + G_CALLBACK (gtk_combo_box_entry_active_changed), NULL); } return object; @@ -4633,8 +4630,8 @@ gtk_combo_box_finalize (GObject *object) static gboolean gtk_cell_editable_key_press (GtkWidget *widget, - GdkEventKey *event, - gpointer data) + GdkEventKey *event, + gpointer data) { GtkComboBox *combo_box = GTK_COMBO_BOX (data); @@ -4645,7 +4642,7 @@ gtk_cell_editable_key_press (GtkWidget *widget, NULL); gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - + return TRUE; } else if (event->keyval == GDK_KEY_Return || @@ -4654,7 +4651,7 @@ gtk_cell_editable_key_press (GtkWidget *widget, { gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); - + return TRUE; } @@ -4667,7 +4664,7 @@ popdown_idle (gpointer data) GtkComboBox *combo_box; combo_box = GTK_COMBO_BOX (data); - + gtk_cell_editable_editing_done (GTK_CELL_EDITABLE (combo_box)); gtk_cell_editable_remove_widget (GTK_CELL_EDITABLE (combo_box)); @@ -4678,7 +4675,7 @@ popdown_idle (gpointer data) static void popdown_handler (GtkWidget *widget, - gpointer data) + gpointer data) { gdk_threads_add_idle (popdown_idle, g_object_ref (data)); } @@ -4693,9 +4690,9 @@ popup_idle (gpointer data) if (GTK_IS_MENU (combo_box->priv->popup_widget) && combo_box->priv->cell_view) g_signal_connect_object (combo_box->priv->popup_widget, - "unmap", G_CALLBACK (popdown_handler), - combo_box, 0); - + "unmap", G_CALLBACK (popdown_handler), + combo_box, 0); + /* we unset this if a menu item is activated */ g_object_set (combo_box, "editing-canceled", TRUE, @@ -4711,7 +4708,7 @@ popup_idle (gpointer data) static void gtk_combo_box_start_editing (GtkCellEditable *cell_editable, - GdkEvent *event) + GdkEvent *event) { GtkComboBox *combo_box = GTK_COMBO_BOX (cell_editable); GtkWidget *child; @@ -4721,8 +4718,8 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, if (combo_box->priv->cell_view) { g_signal_connect_object (combo_box->priv->button, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable, 0); + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); gtk_widget_grab_focus (combo_box->priv->button); } @@ -4731,17 +4728,17 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, child = gtk_bin_get_child (GTK_BIN (combo_box)); g_signal_connect_object (child, "key-press-event", - G_CALLBACK (gtk_cell_editable_key_press), - cell_editable, 0); + G_CALLBACK (gtk_cell_editable_key_press), + cell_editable, 0); gtk_widget_grab_focus (child); gtk_widget_set_can_focus (combo_box->priv->button, FALSE); } - /* we do the immediate popup only for the optionmenu-like - * appearance - */ - if (combo_box->priv->is_cell_renderer && + /* we do the immediate popup only for the optionmenu-like + * appearance + */ + if (combo_box->priv->is_cell_renderer && combo_box->priv->cell_view && !combo_box->priv->tree_view) { if (event && event->type == GDK_BUTTON_PRESS) @@ -4752,7 +4749,7 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, combo_box->priv->activate_time = event_button->time; } - combo_box->priv->popup_idle_id = + combo_box->priv->popup_idle_id = gdk_threads_add_idle (popup_idle, combo_box); } } @@ -4761,9 +4758,9 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable, /** * gtk_combo_box_get_add_tearoffs: * @combo_box: a #GtkComboBox - * + * * Gets the current value of the :add-tearoffs property. - * + * * Return value: the current value of the :add-tearoffs property. */ gboolean @@ -4776,17 +4773,17 @@ gtk_combo_box_get_add_tearoffs (GtkComboBox *combo_box) /** * gtk_combo_box_set_add_tearoffs: - * @combo_box: a #GtkComboBox + * @combo_box: a #GtkComboBox * @add_tearoffs: %TRUE to add tearoff menu items - * - * Sets whether the popup menu should have a tearoff + * + * Sets whether the popup menu should have a tearoff * menu item. * * Since: 2.6 */ void gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box, - gboolean add_tearoffs) + gboolean add_tearoffs) { g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); @@ -4798,8 +4795,8 @@ gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box, gtk_combo_box_check_appearance (combo_box); if (GTK_IS_TREE_MENU (combo_box->priv->popup_widget)) - _gtk_tree_menu_set_tearoff (GTK_TREE_MENU (combo_box->priv->popup_widget), - combo_box->priv->add_tearoffs); + _gtk_tree_menu_set_tearoff (GTK_TREE_MENU (combo_box->priv->popup_widget), + combo_box->priv->add_tearoffs); g_object_notify (G_OBJECT (combo_box), "add-tearoffs"); } @@ -4821,7 +4818,7 @@ G_CONST_RETURN gchar* gtk_combo_box_get_title (GtkComboBox *combo_box) { g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), NULL); - + return combo_box->priv->tearoff_title; } @@ -4829,25 +4826,25 @@ static void gtk_combo_box_update_title (GtkComboBox *combo_box) { gtk_combo_box_check_appearance (combo_box); - - if (combo_box->priv->popup_widget && + + if (combo_box->priv->popup_widget && GTK_IS_MENU (combo_box->priv->popup_widget)) - gtk_menu_set_title (GTK_MENU (combo_box->priv->popup_widget), - combo_box->priv->tearoff_title); + gtk_menu_set_title (GTK_MENU (combo_box->priv->popup_widget), + combo_box->priv->tearoff_title); } /** * gtk_combo_box_set_title: - * @combo_box: a #GtkComboBox + * @combo_box: a #GtkComboBox * @title: a title for the menu in tearoff mode - * + * * Sets the menu's title in tearoff mode. * * Since: 2.10 */ void gtk_combo_box_set_title (GtkComboBox *combo_box, - const gchar *title) + const gchar *title) { GtkComboBoxPrivate *priv; @@ -4855,8 +4852,8 @@ gtk_combo_box_set_title (GtkComboBox *combo_box, priv = combo_box->priv; - if (strcmp (title ? title : "", - priv->tearoff_title ? priv->tearoff_title : "") != 0) + if (strcmp (title ? title : "", + priv->tearoff_title ? priv->tearoff_title : "") != 0) { g_free (priv->tearoff_title); priv->tearoff_title = g_strdup (title); @@ -4945,14 +4942,14 @@ gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box) /** * gtk_combo_box_get_row_separator_func: * @combo_box: a #GtkComboBox - * + * * Returns the current row separator function. - * + * * Return value: the current row separator function. * * Since: 2.6 */ -GtkTreeViewRowSeparatorFunc +GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box) { g_return_val_if_fail (GTK_IS_COMBO_BOX (combo_box), NULL); @@ -4966,7 +4963,7 @@ gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box) * @func: a #GtkTreeViewRowSeparatorFunc * @data: (allow-none): user data to pass to @func, or %NULL * @destroy: (allow-none): destroy notifier for @data, or %NULL - * + * * Sets the row separator function, which is used to determine * whether a row should be drawn as a separator. If the row separator * function is %NULL, no separators are drawn. This is the default value. @@ -4975,9 +4972,9 @@ gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box) */ void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, - GtkTreeViewRowSeparatorFunc func, - gpointer data, - GDestroyNotify destroy) + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy) { g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); @@ -5089,7 +5086,7 @@ gtk_combo_box_get_has_entry (GtkComboBox *combo_box) */ void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box, - gint text_column) + gint text_column) { GtkComboBoxPrivate *priv = combo_box->priv; GtkTreeModel *model; @@ -5132,22 +5129,22 @@ gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box) /** * gtk_combo_box_set_focus_on_click: * @combo: a #GtkComboBox - * @focus_on_click: whether the combo box grabs focus when clicked + * @focus_on_click: whether the combo box grabs focus when clicked * with the mouse - * - * Sets whether the combo box will grab focus when it is clicked with - * the mouse. Making mouse clicks not grab focus is useful in places - * like toolbars where you don't want the keyboard focus removed from + * + * Sets whether the combo box will grab focus when it is clicked with + * the mouse. Making mouse clicks not grab focus is useful in places + * like toolbars where you don't want the keyboard focus removed from * the main area of the application. * * Since: 2.6 */ void gtk_combo_box_set_focus_on_click (GtkComboBox *combo_box, - gboolean focus_on_click) + gboolean focus_on_click) { g_return_if_fail (GTK_IS_COMBO_BOX (combo_box)); - + focus_on_click = focus_on_click != FALSE; if (combo_box->priv->focus_on_click != focus_on_click) @@ -5155,9 +5152,9 @@ gtk_combo_box_set_focus_on_click (GtkComboBox *combo_box, combo_box->priv->focus_on_click = focus_on_click; if (combo_box->priv->button) - gtk_button_set_focus_on_click (GTK_BUTTON (combo_box->priv->button), - focus_on_click); - + gtk_button_set_focus_on_click (GTK_BUTTON (combo_box->priv->button), + focus_on_click); + g_object_notify (G_OBJECT (combo_box), "focus-on-click"); } } @@ -5165,11 +5162,11 @@ gtk_combo_box_set_focus_on_click (GtkComboBox *combo_box, /** * gtk_combo_box_get_focus_on_click: * @combo: a #GtkComboBox - * - * Returns whether the combo box grabs focus when it is clicked + * + * Returns whether the combo box grabs focus when it is clicked * with the mouse. See gtk_combo_box_set_focus_on_click(). * - * Return value: %TRUE if the combo box grabs focus when it is + * Return value: %TRUE if the combo box grabs focus when it is * clicked with the mouse. * * Since: 2.6 @@ -5185,26 +5182,26 @@ gtk_combo_box_get_focus_on_click (GtkComboBox *combo_box) static gboolean gtk_combo_box_buildable_custom_tag_start (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - GMarkupParser *parser, - gpointer *data) + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data) { if (parent_buildable_iface->custom_tag_start (buildable, builder, child, - tagname, parser, data)) + tagname, parser, data)) return TRUE; return _gtk_cell_layout_buildable_custom_tag_start (buildable, builder, child, - tagname, parser, data); + tagname, parser, data); } static void gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data) + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) { if (!_gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data)) parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, data); @@ -5212,8 +5209,8 @@ gtk_combo_box_buildable_custom_tag_end (GtkBuildable *buildable, static GObject * gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, - GtkBuilder *builder, - const gchar *childname) + GtkBuilder *builder, + const gchar *childname) { GtkComboBox *combo_box = GTK_COMBO_BOX (buildable); @@ -5223,7 +5220,7 @@ gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable, return parent_buildable_iface->get_internal_child (buildable, builder, childname); } -static void +static void gtk_combo_box_get_preferred_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) @@ -5243,29 +5240,29 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, GtkBorder *border; child = gtk_bin_get_child (GTK_BIN (widget)); - + /* common */ gtk_widget_get_preferred_width (child, &child_min, &child_nat); gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "arrow-size", &arrow_size, - NULL); + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "arrow-size", &arrow_size, + NULL); style_context = gtk_widget_get_style_context (widget); state = gtk_widget_get_state_flags (widget); gtk_style_context_get (style_context, state, "font", &font_desc, - "border-width", &border, + "border-width", &border, NULL); context = gtk_widget_get_pango_context (GTK_WIDGET (widget)); metrics = pango_context_get_metrics (context, font_desc, - pango_context_get_language (context)); + pango_context_get_language (context)); font_size = PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + - pango_font_metrics_get_descent (metrics)); + pango_font_metrics_get_descent (metrics)); pango_font_metrics_unref (metrics); pango_font_description_free (font_desc); @@ -5275,20 +5272,20 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, if (!priv->tree_view) { - /* menu mode */ + /* menu mode */ if (priv->cell_view) { gint sep_width, arrow_width; gint border_width, xpad; - GtkBorder button_border; + GtkBorder button_border; - border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - get_widget_border (priv->button, &button_border); + border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); + get_widget_border (priv->button, &button_border); gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - xpad = 2 * (border_width + focus_width + focus_pad) + + xpad = 2 * (border_width + focus_width + focus_pad) + button_border.left + button_border.right; minimum_width = child_min + sep_width + arrow_width + xpad; @@ -5298,7 +5295,7 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, { gint but_width, but_nat_width; - gtk_widget_get_preferred_width (priv->button, + gtk_widget_get_preferred_width (priv->button, &but_width, &but_nat_width); minimum_width = child_min + but_width; @@ -5316,25 +5313,25 @@ gtk_combo_box_get_preferred_width (GtkWidget *widget, minimum_width += 2 * focus_width; natural_width += 2 * focus_width; - + if (priv->cell_view_frame) { - if (priv->has_frame) - { - gint border_width, xpad; + if (priv->has_frame) + { + gint border_width, xpad; GtkBorder frame_border; border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); get_widget_border (priv->cell_view_frame, &frame_border); xpad = (2 * border_width) + frame_border.left + frame_border.right; - minimum_width += xpad; - natural_width += xpad; - } + minimum_width += xpad; + natural_width += xpad; + } } /* the button */ - gtk_widget_get_preferred_width (priv->button, + gtk_widget_get_preferred_width (priv->button, &button_width, &button_nat_width); minimum_width += button_width; @@ -5356,10 +5353,10 @@ static void gtk_combo_box_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) -{ +{ gint min_width; - /* Combo box is height-for-width only + /* Combo box is height-for-width only * (so we always just reserve enough height for the minimum width) */ GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, &min_width, NULL); GTK_WIDGET_GET_CLASS (widget)->get_preferred_height_for_width (widget, min_width, minimum_size, natural_size); @@ -5371,7 +5368,7 @@ gtk_combo_box_get_preferred_width_for_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) { - /* Combo box is height-for-width only + /* Combo box is height-for-width only * (so we assume we always reserved enough height for the minimum width) */ GTK_WIDGET_GET_CLASS (widget)->get_preferred_width (widget, minimum_size, natural_size); } @@ -5392,9 +5389,9 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, GtkBorder border; gtk_widget_style_get (GTK_WIDGET (widget), - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - NULL); + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + NULL); child = gtk_bin_get_child (GTK_BIN (widget)); @@ -5406,56 +5403,56 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, /* menu mode */ if (priv->cell_view) { - /* calculate x/y padding and separator/arrow size */ + /* calculate x/y padding and separator/arrow size */ gint sep_width, arrow_width, sep_height, arrow_height; gint border_width, xpad, ypad; GtkBorder button_border; - border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); - get_widget_border (priv->button, &button_border); + border_width = gtk_container_get_border_width (GTK_CONTAINER (combo_box)); + get_widget_border (priv->button, &button_border); gtk_widget_get_preferred_width (priv->separator, &sep_width, NULL); gtk_widget_get_preferred_width (priv->arrow, &arrow_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->separator, + gtk_widget_get_preferred_height_for_width (priv->separator, sep_width, &sep_height, NULL); - gtk_widget_get_preferred_height_for_width (priv->arrow, + gtk_widget_get_preferred_height_for_width (priv->arrow, arrow_width, &arrow_height, NULL); - xpad = 2 * (border_width + focus_width + focus_pad) + - button_border.left + button_border.right; - ypad = 2 * (border_width + focus_width + focus_pad) + - button_border.top + button_border.bottom; + xpad = 2 * (border_width + focus_width + focus_pad) + + button_border.left + button_border.right; + ypad = 2 * (border_width + focus_width + focus_pad) + + button_border.top + button_border.bottom; - size -= sep_width + arrow_width + xpad; + size -= sep_width + arrow_width + xpad; - /* Get height-for-width of the child widget, usually a GtkCellArea calculating - * and fitting the whole treemodel */ - gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); - arrow_height = MAX (arrow_height, sep_height); - min_height = MAX (min_height, arrow_height); - nat_height = MAX (nat_height, arrow_height); + arrow_height = MAX (arrow_height, sep_height); + min_height = MAX (min_height, arrow_height); + nat_height = MAX (nat_height, arrow_height); - min_height += ypad; - nat_height += ypad; + min_height += ypad; + nat_height += ypad; } else { - /* there is a custom child widget inside (no priv->cell_view) */ + /* there is a custom child widget inside (no priv->cell_view) */ gint but_width, but_height; gtk_widget_get_preferred_width (priv->button, &but_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->button, + gtk_widget_get_preferred_height_for_width (priv->button, but_width, &but_height, NULL); - size -= but_width; + size -= but_width; - /* Get height-for-width of the child widget, usually a GtkCellArea calculating - * and fitting the whole treemodel */ - gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); - - min_height = MAX (min_height, but_height); - nat_height = MAX (nat_height, but_height); + /* Get height-for-width of the child widget, usually a GtkCellArea calculating + * and fitting the whole treemodel */ + gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); + + min_height = MAX (min_height, but_height); + nat_height = MAX (nat_height, but_height); } } else @@ -5465,25 +5462,25 @@ gtk_combo_box_get_preferred_height_for_width (GtkWidget *widget, gint xpad = 0, ypad = 0; gtk_widget_get_preferred_width (priv->button, &but_width, NULL); - gtk_widget_get_preferred_height_for_width (priv->button, + gtk_widget_get_preferred_height_for_width (priv->button, but_width, &but_height, NULL); - + if (priv->cell_view_frame && priv->has_frame) - { - GtkBorder frame_border; - gint border_width; + { + GtkBorder frame_border; + gint border_width; border_width = gtk_container_get_border_width (GTK_CONTAINER (priv->cell_view_frame)); - get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border); + get_widget_border (GTK_WIDGET (priv->cell_view_frame), &frame_border); - xpad = (2 * border_width) + border.left + frame_border.right; - ypad = (2 * border_width) + border.top + frame_border.bottom; - } + xpad = (2 * border_width) + border.left + frame_border.right; + ypad = (2 * border_width) + border.top + frame_border.bottom; + } size -= but_width; size -= 2 * focus_width; size -= xpad; - + /* Get height-for-width of the child widget, usually a GtkCellArea calculating * and fitting the whole treemodel */ gtk_widget_get_preferred_height_for_width (child, size, &min_height, &nat_height); diff --git a/gtk/gtkcombobox.h b/gtk/gtkcombobox.h index 30a9769403..124a9bfb61 100644 --- a/gtk/gtkcombobox.h +++ b/gtk/gtkcombobox.h @@ -86,15 +86,15 @@ void gtk_combo_box_set_column_span_column (GtkComboBox *combo_box, gboolean gtk_combo_box_get_add_tearoffs (GtkComboBox *combo_box); void gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box, - gboolean add_tearoffs); + gboolean add_tearoffs); G_CONST_RETURN gchar *gtk_combo_box_get_title (GtkComboBox *combo_box); void gtk_combo_box_set_title (GtkComboBox *combo_box, - const gchar *title); + const gchar *title); gboolean gtk_combo_box_get_focus_on_click (GtkComboBox *combo); void gtk_combo_box_set_focus_on_click (GtkComboBox *combo, - gboolean focus_on_click); + gboolean focus_on_click); /* get/set active item */ gint gtk_combo_box_get_active (GtkComboBox *combo_box); @@ -112,21 +112,21 @@ GtkTreeModel *gtk_combo_box_get_model (GtkComboBox *combo_box); GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box); void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box, - GtkTreeViewRowSeparatorFunc func, - gpointer data, - GDestroyNotify destroy); + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy); void gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box, - GtkSensitivityType sensitivity); + GtkSensitivityType sensitivity); GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box); gboolean gtk_combo_box_get_has_entry (GtkComboBox *combo_box); void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box, - gint text_column); + gint text_column); gint gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box); void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box, - gboolean fixed); + gboolean fixed); gboolean gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box); /* programmatic control */ diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index bd7e1fdf02..9340ee68d9 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -28,7 +28,7 @@ * @Short_Description: A GtkMenu automatically created from a #GtkTreeModel * @Title: GtkTreeMenu * - * The #GtkTreeMenu is used to display a drop-down menu allowing selection + * The #GtkTreeMenu is used to display a drop-down menu allowing selection * of every row in the model and is used by the #GtkComboBox for its drop-down * menu. */ @@ -50,26 +50,26 @@ /* GObjectClass */ static GObject *gtk_tree_menu_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties); + guint n_construct_properties, + GObjectConstructParam *construct_properties); static void gtk_tree_menu_dispose (GObject *object); static void gtk_tree_menu_finalize (GObject *object); static void gtk_tree_menu_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_tree_menu_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); /* GtkWidgetClass */ static void gtk_tree_menu_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); + gint *minimum_size, + gint *natural_size); static void gtk_tree_menu_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size); + gint *minimum_size, + gint *natural_size); /* GtkCellLayoutIface */ static void gtk_tree_menu_cell_layout_init (GtkCellLayoutIface *iface); @@ -79,60 +79,60 @@ static GtkCellArea *gtk_tree_menu_cell_layout_get_area (GtkCellLayout /* TreeModel/DrawingArea callbacks and building menus/submenus */ static inline void rebuild_menu (GtkTreeMenu *menu); static gboolean menu_occupied (GtkTreeMenu *menu, - guint left_attach, - guint right_attach, - guint top_attach, - guint bottom_attach); + guint left_attach, + guint right_attach, + guint top_attach, + guint bottom_attach); static void relayout_item (GtkTreeMenu *menu, - GtkWidget *item, - GtkTreeIter *iter, - GtkWidget *prev); + GtkWidget *item, + GtkTreeIter *iter, + GtkWidget *prev); static void gtk_tree_menu_populate (GtkTreeMenu *menu); static GtkWidget *gtk_tree_menu_create_item (GtkTreeMenu *menu, - GtkTreeIter *iter, - gboolean header_item); + GtkTreeIter *iter, + gboolean header_item); static void gtk_tree_menu_create_submenu (GtkTreeMenu *menu, - GtkWidget *item, - GtkTreePath *path); + GtkWidget *item, + GtkTreePath *path); static void gtk_tree_menu_set_area (GtkTreeMenu *menu, - GtkCellArea *area); + GtkCellArea *area); static GtkWidget *gtk_tree_menu_get_path_item (GtkTreeMenu *menu, - GtkTreePath *path); + GtkTreePath *path); static gboolean gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, - GtkTreePath *path, - gboolean *header_item); + GtkTreePath *path, + gboolean *header_item); static void row_inserted_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - GtkTreeMenu *menu); + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu); static void row_deleted_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeMenu *menu); + GtkTreePath *path, + GtkTreeMenu *menu); static void row_reordered_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - GtkTreeMenu *menu); + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + GtkTreeMenu *menu); static void row_changed_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - GtkTreeMenu *menu); + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu); static void context_size_changed_cb (GtkCellAreaContext *context, - GParamSpec *pspec, - GtkWidget *menu); + GParamSpec *pspec, + GtkWidget *menu); static void area_apply_attributes_cb (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded, - GtkTreeMenu *menu); + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded, + GtkTreeMenu *menu); static void item_activated_cb (GtkMenuItem *item, - GtkTreeMenu *menu); + GtkTreeMenu *menu); static void submenu_activated_cb (GtkTreeMenu *submenu, - const gchar *path, - GtkTreeMenu *menu); + const gchar *path, + GtkTreeMenu *menu); static void gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, - GtkTreeModel *model); + GtkTreeModel *model); @@ -145,7 +145,7 @@ struct _GtkTreeMenuPrivate /* CellArea and context for this menu */ GtkCellArea *area; GtkCellAreaContext *context; - + /* Signals */ gulong size_changed_id; gulong apply_attributes_id; @@ -194,8 +194,8 @@ static guint tree_menu_signals[N_SIGNALS] = { 0 }; static GQuark tree_menu_path_quark = 0; G_DEFINE_TYPE_WITH_CODE (GtkTreeMenu, _gtk_tree_menu, GTK_TYPE_MENU, - G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, - gtk_tree_menu_cell_layout_init)); + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_tree_menu_cell_layout_init)); static void _gtk_tree_menu_init (GtkTreeMenu *menu) @@ -203,8 +203,8 @@ _gtk_tree_menu_init (GtkTreeMenu *menu) GtkTreeMenuPrivate *priv; menu->priv = G_TYPE_INSTANCE_GET_PRIVATE (menu, - GTK_TYPE_TREE_MENU, - GtkTreeMenuPrivate); + GTK_TYPE_TREE_MENU, + GtkTreeMenuPrivate); priv = menu->priv; priv->model = NULL; @@ -236,7 +236,7 @@ _gtk_tree_menu_init (GtkTreeMenu *menu) gtk_menu_set_reserve_toggle_size (GTK_MENU (menu), FALSE); } -static void +static void _gtk_tree_menu_class_init (GtkTreeMenuClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); @@ -267,12 +267,12 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) */ tree_menu_signals[SIGNAL_MENU_ACTIVATE] = g_signal_new (I_("menu-activate"), - G_OBJECT_CLASS_TYPE (object_class), - G_SIGNAL_RUN_FIRST, - 0, /* No class closure here */ - NULL, NULL, - _gtk_marshal_VOID__STRING, - G_TYPE_NONE, 1, G_TYPE_STRING); + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + 0, /* No class closure here */ + NULL, NULL, + _gtk_marshal_VOID__STRING, + G_TYPE_NONE, 1, G_TYPE_STRING); /** * GtkTreeMenu:model: @@ -307,11 +307,11 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) g_object_class_install_property (object_class, PROP_ROOT, g_param_spec_boxed ("root", - P_("TreeMenu root row"), - P_("The TreeMenu will display children of the " - "specified root"), - GTK_TYPE_TREE_PATH, - GTK_PARAM_READWRITE)); + P_("TreeMenu root row"), + P_("The TreeMenu will display children of the " + "specified root"), + GTK_TYPE_TREE_PATH, + GTK_PARAM_READWRITE)); /** * GtkTreeMenu:cell-area: @@ -324,12 +324,12 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_CELL_AREA, - g_param_spec_object ("cell-area", - P_("Cell Area"), - P_("The GtkCellArea used to layout cells"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /** * GtkTreeMenu:tearoff: @@ -339,12 +339,12 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_TEAROFF, - g_param_spec_boolean ("tearoff", - P_("Tearoff"), - P_("Whether the menu has a tearoff item"), - FALSE, - GTK_PARAM_READWRITE)); + PROP_TEAROFF, + g_param_spec_boolean ("tearoff", + P_("Tearoff"), + P_("Whether the menu has a tearoff item"), + FALSE, + GTK_PARAM_READWRITE)); /** * GtkTreeMenu:wrap-width: @@ -356,57 +356,57 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_WRAP_WIDTH, - g_param_spec_int ("wrap-width", - P_("Wrap Width"), - P_("Wrap width for laying out items in a grid"), - 0, - G_MAXINT, - 0, - GTK_PARAM_READWRITE)); + PROP_WRAP_WIDTH, + g_param_spec_int ("wrap-width", + P_("Wrap Width"), + P_("Wrap width for laying out items in a grid"), + 0, + G_MAXINT, + 0, + GTK_PARAM_READWRITE)); /** * GtkTreeMenu:row-span-column: * - * If this is set to a non-negative value, it must be the index of a column - * of type %G_TYPE_INT in the model. + * If this is set to a non-negative value, it must be the index of a column + * of type %G_TYPE_INT in the model. * - * The values of that column are used to determine how many rows a value in - * the list will span. Therefore, the values in the model column pointed to + * The values of that column are used to determine how many rows a value in + * the list will span. Therefore, the values in the model column pointed to * by this property must be greater than zero and not larger than wrap-width. * * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_ROW_SPAN_COL, - g_param_spec_int ("row-span-column", - P_("Row span column"), - P_("TreeModel column containing the row span values"), - -1, - G_MAXINT, - -1, - GTK_PARAM_READWRITE)); + PROP_ROW_SPAN_COL, + g_param_spec_int ("row-span-column", + P_("Row span column"), + P_("TreeModel column containing the row span values"), + -1, + G_MAXINT, + -1, + GTK_PARAM_READWRITE)); /** * GtkTreeMenu:column-span-column: * - * If this is set to a non-negative value, it must be the index of a column - * of type %G_TYPE_INT in the model. + * If this is set to a non-negative value, it must be the index of a column + * of type %G_TYPE_INT in the model. * - * The values of that column are used to determine how many columns a value - * in the list will span. + * The values of that column are used to determine how many columns a value + * in the list will span. * * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_COL_SPAN_COL, - g_param_spec_int ("column-span-column", - P_("Column span column"), - P_("TreeModel column containing the column span values"), - -1, - G_MAXINT, - -1, - GTK_PARAM_READWRITE)); + PROP_COL_SPAN_COL, + g_param_spec_int ("column-span-column", + P_("Column span column"), + P_("TreeModel column containing the column span values"), + -1, + G_MAXINT, + -1, + GTK_PARAM_READWRITE)); g_type_class_add_private (object_class, sizeof (GtkTreeMenuPrivate)); } @@ -416,8 +416,8 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) ****************************************************************/ static GObject * gtk_tree_menu_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) + guint n_construct_properties, + GObjectConstructParam *construct_properties) { GObject *object; GtkTreeMenu *menu; @@ -438,9 +438,9 @@ gtk_tree_menu_constructor (GType type, priv->context = gtk_cell_area_create_context (priv->area); - priv->size_changed_id = + priv->size_changed_id = g_signal_connect (priv->context, "notify", - G_CALLBACK (context_size_changed_cb), menu); + G_CALLBACK (context_size_changed_cb), menu); return object; } @@ -482,7 +482,7 @@ gtk_tree_menu_finalize (GObject *object) _gtk_tree_menu_set_row_separator_func (menu, NULL, NULL, NULL); _gtk_tree_menu_set_header_func (menu, NULL, NULL, NULL); - if (priv->root) + if (priv->root) gtk_tree_row_reference_free (priv->root); G_OBJECT_CLASS (_gtk_tree_menu_parent_class)->finalize (object); @@ -490,9 +490,9 @@ gtk_tree_menu_finalize (GObject *object) static void gtk_tree_menu_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkTreeMenu *menu = GTK_TREE_MENU (object); @@ -535,9 +535,9 @@ gtk_tree_menu_set_property (GObject *object, static void gtk_tree_menu_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkTreeMenu *menu = GTK_TREE_MENU (object); GtkTreeMenuPrivate *priv = menu->priv; @@ -547,11 +547,11 @@ gtk_tree_menu_get_property (GObject *object, case PROP_MODEL: g_value_set_object (value, priv->model); break; - + case PROP_ROOT: g_value_set_boxed (value, priv->root); break; - + case PROP_CELL_AREA: g_value_set_object (value, priv->area); break; @@ -587,10 +587,10 @@ sync_reserve_submenu_size (GtkTreeMenu *menu) GtkMenuItem *item = l->data; if (gtk_menu_item_get_submenu (item) != NULL) - { - has_submenu = TRUE; - break; - } + { + has_submenu = TRUE; + break; + } } for (l = children; l; l = l->next) @@ -605,8 +605,8 @@ sync_reserve_submenu_size (GtkTreeMenu *menu) static void gtk_tree_menu_get_preferred_width (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) + gint *minimum_size, + gint *natural_size) { GtkTreeMenu *menu = GTK_TREE_MENU (widget); GtkTreeMenuPrivate *priv = menu->priv; @@ -629,8 +629,8 @@ gtk_tree_menu_get_preferred_width (GtkWidget *widget, static void gtk_tree_menu_get_preferred_height (GtkWidget *widget, - gint *minimum_size, - gint *natural_size) + gint *minimum_size, + gint *natural_size) { GtkTreeMenu *menu = GTK_TREE_MENU (widget); GtkTreeMenuPrivate *priv = menu->priv; @@ -668,7 +668,7 @@ gtk_tree_menu_cell_layout_get_area (GtkCellLayout *layout) ****************************************************************/ static GtkWidget * gtk_tree_menu_get_path_item (GtkTreeMenu *menu, - GtkTreePath *search) + GtkTreePath *search) { GtkWidget *item = NULL; GList *children, *l; @@ -681,45 +681,45 @@ gtk_tree_menu_get_path_item (GtkTreeMenu *menu, GtkTreePath *path = NULL; if (GTK_IS_SEPARATOR_MENU_ITEM (child)) - { - GtkTreeRowReference *row = - g_object_get_qdata (G_OBJECT (child), tree_menu_path_quark); + { + GtkTreeRowReference *row = + g_object_get_qdata (G_OBJECT (child), tree_menu_path_quark); - if (row) - { - path = gtk_tree_row_reference_get_path (row); - - if (!path) - /* Return any first child where it's row-reference became invalid, - * this is because row-references get null paths before we recieve - * the "row-deleted" signal. - */ - item = child; - } - } + if (row) + { + path = gtk_tree_row_reference_get_path (row); + + if (!path) + /* Return any first child where it's row-reference became invalid, + * this is because row-references get null paths before we recieve + * the "row-deleted" signal. + */ + item = child; + } + } else if (!GTK_IS_TEAROFF_MENU_ITEM (child)) - { - GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); + { + GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); - /* It's always a cellview */ - if (GTK_IS_CELL_VIEW (view)) - path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + /* It's always a cellview */ + if (GTK_IS_CELL_VIEW (view)) + path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); - if (!path) - /* Return any first child where it's row-reference became invalid, - * this is because row-references get null paths before we recieve - * the "row-deleted" signal. - */ - item = child; - } + if (!path) + /* Return any first child where it's row-reference became invalid, + * this is because row-references get null paths before we recieve + * the "row-deleted" signal. + */ + item = child; + } if (path) - { - if (gtk_tree_path_compare (search, path) == 0) - item = child; + { + if (gtk_tree_path_compare (search, path) == 0) + item = child; - gtk_tree_path_free (path); - } + gtk_tree_path_free (path); + } } g_list_free (children); @@ -729,8 +729,8 @@ gtk_tree_menu_get_path_item (GtkTreeMenu *menu, static gboolean gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, - GtkTreePath *path, - gboolean *header_item) + GtkTreePath *path, + gboolean *header_item) { GtkTreeMenuPrivate *priv = menu->priv; gboolean in_menu = FALSE; @@ -746,21 +746,21 @@ gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, GtkTreePath *search_path = gtk_tree_path_copy (path); if (root_path) - { - if (priv->menu_with_header && - gtk_tree_path_compare (root_path, search_path) == 0) - { - in_menu = TRUE; - is_header = TRUE; - } - else if (gtk_tree_path_get_depth (search_path) > 1) - { - gtk_tree_path_up (search_path); + { + if (priv->menu_with_header && + gtk_tree_path_compare (root_path, search_path) == 0) + { + in_menu = TRUE; + is_header = TRUE; + } + else if (gtk_tree_path_get_depth (search_path) > 1) + { + gtk_tree_path_up (search_path); - if (gtk_tree_path_compare (root_path, search_path) == 0) - in_menu = TRUE; - } - } + if (gtk_tree_path_compare (root_path, search_path) == 0) + in_menu = TRUE; + } + } gtk_tree_path_free (root_path); gtk_tree_path_free (search_path); } @@ -772,8 +772,8 @@ gtk_tree_menu_path_in_menu (GtkTreeMenu *menu, } static GtkWidget * -gtk_tree_menu_path_needs_submenu (GtkTreeMenu *menu, - GtkTreePath *search) +gtk_tree_menu_path_needs_submenu (GtkTreeMenu *menu, + GtkTreePath *search) { GtkWidget *item = NULL; GList *children, *l; @@ -794,23 +794,23 @@ gtk_tree_menu_path_needs_submenu (GtkTreeMenu *menu, /* Separators dont get submenus, if it already has a submenu then let * the submenu handle inserted rows */ - if (!GTK_IS_SEPARATOR_MENU_ITEM (child) && - !gtk_menu_item_get_submenu (GTK_MENU_ITEM (child))) - { - GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); + if (!GTK_IS_SEPARATOR_MENU_ITEM (child) && + !gtk_menu_item_get_submenu (GTK_MENU_ITEM (child))) + { + GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); - /* It's always a cellview */ - if (GTK_IS_CELL_VIEW (view)) - path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); - } + /* It's always a cellview */ + if (GTK_IS_CELL_VIEW (view)) + path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + } if (path) - { - if (gtk_tree_path_compare (parent_path, path) == 0) - item = child; + { + if (gtk_tree_path_compare (parent_path, path) == 0) + item = child; - gtk_tree_path_free (path); - } + gtk_tree_path_free (path); + } } g_list_free (children); @@ -837,22 +837,22 @@ find_empty_submenu (GtkTreeMenu *menu) /* Separators dont get submenus, if it already has a submenu then let * the submenu handle inserted rows */ if (!GTK_IS_SEPARATOR_MENU_ITEM (child) && !GTK_IS_TEAROFF_MENU_ITEM (child)) - { - GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); + { + GtkWidget *view = gtk_bin_get_child (GTK_BIN (child)); - /* It's always a cellview */ - if (GTK_IS_CELL_VIEW (view)) - path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); - } + /* It's always a cellview */ + if (GTK_IS_CELL_VIEW (view)) + path = gtk_cell_view_get_displayed_row (GTK_CELL_VIEW (view)); + } if (path) - { - if (gtk_tree_model_get_iter (priv->model, &iter, path) && - !gtk_tree_model_iter_has_child (priv->model, &iter)) - submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (child)); + { + if (gtk_tree_model_get_iter (priv->model, &iter, path) && + !gtk_tree_model_iter_has_child (priv->model, &iter)) + submenu = gtk_menu_item_get_submenu (GTK_MENU_ITEM (child)); - gtk_tree_path_free (path); - } + gtk_tree_path_free (path); + } } g_list_free (children); @@ -862,9 +862,9 @@ find_empty_submenu (GtkTreeMenu *menu) static void row_inserted_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - GtkTreeMenu *menu) + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; gint *indices, index, depth; @@ -874,56 +874,56 @@ row_inserted_cb (GtkTreeModel *model, if (gtk_tree_menu_path_in_menu (menu, path, NULL)) { if (priv->wrap_width > 0) - rebuild_menu (menu); + rebuild_menu (menu); else - { - /* Get the index of the path for this depth */ - indices = gtk_tree_path_get_indices (path); - depth = gtk_tree_path_get_depth (path); - index = indices[depth -1]; - - /* Menus with a header include a menuitem for it's root node - * and a separator menu item */ - if (priv->menu_with_header) - index += 2; - - /* Index after the tearoff item for the root menu if - * there is a tearoff item - */ - if (priv->root == NULL && priv->tearoff) - index += 1; - - item = gtk_tree_menu_create_item (menu, iter, FALSE); - gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); - - /* Resize everything */ - gtk_cell_area_context_reset (menu->priv->context); - } + { + /* Get the index of the path for this depth */ + indices = gtk_tree_path_get_indices (path); + depth = gtk_tree_path_get_depth (path); + index = indices[depth -1]; + + /* Menus with a header include a menuitem for it's root node + * and a separator menu item */ + if (priv->menu_with_header) + index += 2; + + /* Index after the tearoff item for the root menu if + * there is a tearoff item + */ + if (priv->root == NULL && priv->tearoff) + index += 1; + + item = gtk_tree_menu_create_item (menu, iter, FALSE); + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, index); + + /* Resize everything */ + gtk_cell_area_context_reset (menu->priv->context); + } } else { /* Create submenus for iters if we need to */ item = gtk_tree_menu_path_needs_submenu (menu, path); if (item) - { - GtkTreePath *item_path = gtk_tree_path_copy (path); + { + GtkTreePath *item_path = gtk_tree_path_copy (path); - gtk_tree_path_up (item_path); - gtk_tree_menu_create_submenu (menu, item, item_path); - gtk_tree_path_free (item_path); - } + gtk_tree_path_up (item_path); + gtk_tree_menu_create_submenu (menu, item, item_path); + gtk_tree_path_free (item_path); + } } } static void row_deleted_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeMenu *menu) + GtkTreePath *path, + GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; GtkWidget *item; - /* If it's the header item we leave it to the parent menu + /* If it's the header item we leave it to the parent menu * to remove us from its menu */ item = gtk_tree_menu_get_path_item (menu, path); @@ -931,32 +931,32 @@ row_deleted_cb (GtkTreeModel *model, if (item) { if (priv->wrap_width > 0) - rebuild_menu (menu); + rebuild_menu (menu); else - { - /* Get rid of the deleted item */ - gtk_widget_destroy (item); - - /* Resize everything */ - gtk_cell_area_context_reset (menu->priv->context); - } + { + /* Get rid of the deleted item */ + gtk_widget_destroy (item); + + /* Resize everything */ + gtk_cell_area_context_reset (menu->priv->context); + } } - else + else { /* It's up to the parent menu to destroy a child menu that becomes empty * since the topmost menu belongs to the user and is allowed to have no contents */ GtkWidget *submenu = find_empty_submenu (menu); if (submenu) - gtk_widget_destroy (submenu); + gtk_widget_destroy (submenu); } } static void row_reordered_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order, - GtkTreeMenu *menu) + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order, + GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; gboolean this_menu = FALSE; @@ -966,10 +966,10 @@ row_reordered_cb (GtkTreeModel *model, else if (priv->root) { GtkTreePath *root_path = - gtk_tree_row_reference_get_path (priv->root); + gtk_tree_row_reference_get_path (priv->root); if (gtk_tree_path_compare (root_path, path) == 0) - this_menu = TRUE; + this_menu = TRUE; gtk_tree_path_free (root_path); } @@ -978,9 +978,9 @@ row_reordered_cb (GtkTreeModel *model, rebuild_menu (menu); } -static gint +static gint menu_item_position (GtkTreeMenu *menu, - GtkWidget *item) + GtkWidget *item) { GList *children, *l; gint position; @@ -991,7 +991,7 @@ menu_item_position (GtkTreeMenu *menu, GtkWidget *iitem = l->data; if (item == iitem) - break; + break; } g_list_free (children); @@ -1001,9 +1001,9 @@ menu_item_position (GtkTreeMenu *menu, static void row_changed_cb (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - GtkTreeMenu *menu) + GtkTreePath *path, + GtkTreeIter *iter, + GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; gboolean is_separator = FALSE; @@ -1015,69 +1015,69 @@ row_changed_cb (GtkTreeModel *model, if (priv->root) { GtkTreePath *root_path = - gtk_tree_row_reference_get_path (priv->root); - + gtk_tree_row_reference_get_path (priv->root); + if (root_path && gtk_tree_path_compare (root_path, path) == 0) - { - if (priv->header_func) - has_header = - priv->header_func (priv->model, iter, priv->header_data); - - if (has_header && !item) - { - item = gtk_separator_menu_item_new (); - gtk_widget_show (item); - gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + { + if (priv->header_func) + has_header = + priv->header_func (priv->model, iter, priv->header_data); - item = gtk_tree_menu_create_item (menu, iter, TRUE); - gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); + if (has_header && !item) + { + item = gtk_separator_menu_item_new (); + gtk_widget_show (item); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); - priv->menu_with_header = TRUE; - } - else if (!has_header && item) - { - /* Destroy the header item and then the following separator */ - gtk_widget_destroy (item); - gtk_widget_destroy (GTK_MENU_SHELL (menu)->priv->children->data); + item = gtk_tree_menu_create_item (menu, iter, TRUE); + gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); - priv->menu_with_header = FALSE; - } + priv->menu_with_header = TRUE; + } + else if (!has_header && item) + { + /* Destroy the header item and then the following separator */ + gtk_widget_destroy (item); + gtk_widget_destroy (GTK_MENU_SHELL (menu)->priv->children->data); - gtk_tree_path_free (root_path); - } + priv->menu_with_header = FALSE; + } + + gtk_tree_path_free (root_path); + } } - + if (item) { if (priv->wrap_width > 0) - /* Ugly, we need to rebuild the menu here if - * the row-span/row-column values change - */ - rebuild_menu (menu); + /* Ugly, we need to rebuild the menu here if + * the row-span/row-column values change + */ + rebuild_menu (menu); else - { - if (priv->row_separator_func) - is_separator = - priv->row_separator_func (model, iter, - priv->row_separator_data); + { + if (priv->row_separator_func) + is_separator = + priv->row_separator_func (model, iter, + priv->row_separator_data); - if (is_separator != GTK_IS_SEPARATOR_MENU_ITEM (item)) - { - gint position = menu_item_position (menu, item); + if (is_separator != GTK_IS_SEPARATOR_MENU_ITEM (item)) + { + gint position = menu_item_position (menu, item); - gtk_widget_destroy (item); - item = gtk_tree_menu_create_item (menu, iter, FALSE); - gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, position); - } - } + gtk_widget_destroy (item); + item = gtk_tree_menu_create_item (menu, iter, FALSE); + gtk_menu_shell_insert (GTK_MENU_SHELL (menu), item, position); + } + } } } static void context_size_changed_cb (GtkCellAreaContext *context, - GParamSpec *pspec, - GtkWidget *menu) + GParamSpec *pspec, + GtkWidget *menu) { if (!strcmp (pspec->name, "minimum-width") || !strcmp (pspec->name, "natural-width") || @@ -1091,15 +1091,15 @@ area_is_sensitive (GtkCellArea *area) { GList *cells, *list; gboolean sensitive = FALSE; - + cells = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); for (list = cells; list; list = list->next) { g_object_get (list->data, "sensitive", &sensitive, NULL); - + if (sensitive) - break; + break; } g_list_free (cells); @@ -1108,11 +1108,11 @@ area_is_sensitive (GtkCellArea *area) static void area_apply_attributes_cb (GtkCellArea *area, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gboolean is_expander, - gboolean is_expanded, - GtkTreeMenu *menu) + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gboolean is_expander, + gboolean is_expanded, + GtkTreeMenu *menu) { /* If the menu for this iter has a submenu */ GtkTreeMenuPrivate *priv = menu->priv; @@ -1130,26 +1130,26 @@ area_apply_attributes_cb (GtkCellArea *area, /* If there is no submenu, go ahead and update item sensitivity, * items with submenus are always sensitive */ if (item && !gtk_menu_item_get_submenu (GTK_MENU_ITEM (item))) - { - sensitive = area_is_sensitive (priv->area); + { + sensitive = area_is_sensitive (priv->area); - gtk_widget_set_sensitive (item, sensitive); + gtk_widget_set_sensitive (item, sensitive); - if (is_header) - { - /* For header items we need to set the sensitivity - * of the following separator item - */ - if (GTK_MENU_SHELL (menu)->priv->children && - GTK_MENU_SHELL (menu)->priv->children->next) - { - GtkWidget *separator = - GTK_MENU_SHELL (menu)->priv->children->next->data; + if (is_header) + { + /* For header items we need to set the sensitivity + * of the following separator item + */ + if (GTK_MENU_SHELL (menu)->priv->children && + GTK_MENU_SHELL (menu)->priv->children->next) + { + GtkWidget *separator = + GTK_MENU_SHELL (menu)->priv->children->next->data; - gtk_widget_set_sensitive (separator, sensitive); - } - } - } + gtk_widget_set_sensitive (separator, sensitive); + } + } + } } gtk_tree_path_free (path); @@ -1157,14 +1157,14 @@ area_apply_attributes_cb (GtkCellArea *area, static void gtk_tree_menu_set_area (GtkTreeMenu *menu, - GtkCellArea *area) + GtkCellArea *area) { GtkTreeMenuPrivate *priv = menu->priv; if (priv->area) { g_signal_handler_disconnect (priv->area, - priv->apply_attributes_id); + priv->apply_attributes_id); priv->apply_attributes_id = 0; g_object_unref (priv->area); @@ -1177,8 +1177,8 @@ gtk_tree_menu_set_area (GtkTreeMenu *menu, g_object_ref_sink (priv->area); priv->apply_attributes_id = - g_signal_connect (priv->area, "apply-attributes", - G_CALLBACK (area_apply_attributes_cb), menu); + g_signal_connect (priv->area, "apply-attributes", + G_CALLBACK (area_apply_attributes_cb), menu); } } @@ -1195,8 +1195,8 @@ menu_occupied (GtkTreeMenu *menu, { guint l, r, b, t; - gtk_container_child_get (GTK_CONTAINER (menu), - i->data, + gtk_container_child_get (GTK_CONTAINER (menu), + i->data, "left-attach", &l, "right-attach", &r, "bottom-attach", &b, @@ -1205,7 +1205,7 @@ menu_occupied (GtkTreeMenu *menu, /* look if this item intersects with the given coordinates */ if (right_attach > l && left_attach < r && bottom_attach > t && top_attach < b) - return TRUE; + return TRUE; } return FALSE; @@ -1213,54 +1213,54 @@ menu_occupied (GtkTreeMenu *menu, static void relayout_item (GtkTreeMenu *menu, - GtkWidget *item, - GtkTreeIter *iter, - GtkWidget *prev) + GtkWidget *item, + GtkTreeIter *iter, + GtkWidget *prev) { GtkTreeMenuPrivate *priv = menu->priv; gint current_col = 0, current_row = 0; gint rows = 1, cols = 1; - + if (priv->col_span_col == -1 && priv->row_span_col == -1 && prev) { gtk_container_child_get (GTK_CONTAINER (menu), prev, - "right-attach", ¤t_col, - "top-attach", ¤t_row, - NULL); + "right-attach", ¤t_col, + "top-attach", ¤t_row, + NULL); if (current_col + cols > priv->wrap_width) - { - current_col = 0; - current_row++; - } + { + current_col = 0; + current_row++; + } } else { if (priv->col_span_col != -1) - gtk_tree_model_get (priv->model, iter, - priv->col_span_col, &cols, - -1); + gtk_tree_model_get (priv->model, iter, + priv->col_span_col, &cols, + -1); if (priv->row_span_col != -1) - gtk_tree_model_get (priv->model, iter, - priv->row_span_col, &rows, - -1); + gtk_tree_model_get (priv->model, iter, + priv->row_span_col, &rows, + -1); while (1) - { - if (current_col + cols > priv->wrap_width) - { - current_col = 0; - current_row++; - } - - if (!menu_occupied (menu, - current_col, current_col + cols, - current_row, current_row + rows)) - break; + { + if (current_col + cols > priv->wrap_width) + { + current_col = 0; + current_row++; + } - current_col++; - } + if (!menu_occupied (menu, + current_col, current_col + cols, + current_row, current_row + rows)) + break; + + current_col++; + } } /* set attach props */ @@ -1271,8 +1271,8 @@ relayout_item (GtkTreeMenu *menu, static void gtk_tree_menu_create_submenu (GtkTreeMenu *menu, - GtkWidget *item, - GtkTreePath *path) + GtkWidget *item, + GtkTreePath *path) { GtkTreeMenuPrivate *priv = menu->priv; GtkWidget *view; @@ -1283,31 +1283,31 @@ gtk_tree_menu_create_submenu (GtkTreeMenu *menu, submenu = _gtk_tree_menu_new_with_area (priv->area); - _gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), - priv->row_separator_func, - priv->row_separator_data, - priv->row_separator_destroy); - _gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), - priv->header_func, - priv->header_data, - priv->header_destroy); + _gtk_tree_menu_set_row_separator_func (GTK_TREE_MENU (submenu), + priv->row_separator_func, + priv->row_separator_data, + priv->row_separator_destroy); + _gtk_tree_menu_set_header_func (GTK_TREE_MENU (submenu), + priv->header_func, + priv->header_data, + priv->header_destroy); _gtk_tree_menu_set_wrap_width (GTK_TREE_MENU (submenu), priv->wrap_width); _gtk_tree_menu_set_row_span_column (GTK_TREE_MENU (submenu), priv->row_span_col); _gtk_tree_menu_set_column_span_column (GTK_TREE_MENU (submenu), priv->col_span_col); - + gtk_tree_menu_set_model_internal (GTK_TREE_MENU (submenu), priv->model); _gtk_tree_menu_set_root (GTK_TREE_MENU (submenu), path); gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu); - - g_signal_connect (submenu, "menu-activate", - G_CALLBACK (submenu_activated_cb), menu); + + g_signal_connect (submenu, "menu-activate", + G_CALLBACK (submenu_activated_cb), menu); } static GtkWidget * gtk_tree_menu_create_item (GtkTreeMenu *menu, - GtkTreeIter *iter, - gboolean header_item) + GtkTreeIter *iter, + gboolean header_item) { GtkTreeMenuPrivate *priv = menu->priv; GtkWidget *item, *view; @@ -1317,9 +1317,9 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, path = gtk_tree_model_get_path (priv->model, iter); if (priv->row_separator_func) - is_separator = + is_separator = priv->row_separator_func (priv->model, iter, - priv->row_separator_data); + priv->row_separator_data); if (is_separator) { @@ -1327,9 +1327,9 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, gtk_widget_show (item); g_object_set_qdata_full (G_OBJECT (item), - tree_menu_path_quark, - gtk_tree_row_reference_new (priv->model, path), - (GDestroyNotify)gtk_tree_row_reference_free); + tree_menu_path_quark, + gtk_tree_row_reference_new (priv->model, path), + (GDestroyNotify)gtk_tree_row_reference_free); } else { @@ -1337,19 +1337,19 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, item = gtk_menu_item_new (); gtk_widget_show (view); gtk_widget_show (item); - + gtk_cell_view_set_model (GTK_CELL_VIEW (view), priv->model); gtk_cell_view_set_displayed_row (GTK_CELL_VIEW (view), path); - + gtk_widget_show (view); gtk_container_add (GTK_CONTAINER (item), view); - + g_signal_connect (item, "activate", G_CALLBACK (item_activated_cb), menu); /* Add a GtkTreeMenu submenu to render the children of this row */ if (header_item == FALSE && - gtk_tree_model_iter_has_child (priv->model, iter)) - gtk_tree_menu_create_submenu (menu, item, path); + gtk_tree_model_iter_has_child (priv->model, iter)) + gtk_tree_menu_create_submenu (menu, item, path); } gtk_tree_path_free (path); @@ -1357,15 +1357,15 @@ gtk_tree_menu_create_item (GtkTreeMenu *menu, return item; } -static inline void +static inline void rebuild_menu (GtkTreeMenu *menu) { GtkTreeMenuPrivate *priv = menu->priv; /* Destroy all the menu items */ - gtk_container_foreach (GTK_CONTAINER (menu), - (GtkCallback) gtk_widget_destroy, NULL); - + gtk_container_foreach (GTK_CONTAINER (menu), + (GtkCallback) gtk_widget_destroy, NULL); + /* Populate */ if (priv->model) gtk_tree_menu_populate (menu); @@ -1391,43 +1391,43 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) if (path) { if (gtk_tree_model_get_iter (priv->model, &parent, path)) - { - valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); + { + valid = gtk_tree_model_iter_children (priv->model, &iter, &parent); - if (priv->header_func && - priv->header_func (priv->model, &parent, priv->header_data)) - { - /* Add a submenu header for rows which desire one, used for - * combo boxes to allow all rows to be activatable/selectable - */ - menu_item = gtk_tree_menu_create_item (menu, &parent, TRUE); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); - - menu_item = gtk_separator_menu_item_new (); - gtk_widget_show (menu_item); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + if (priv->header_func && + priv->header_func (priv->model, &parent, priv->header_data)) + { + /* Add a submenu header for rows which desire one, used for + * combo boxes to allow all rows to be activatable/selectable + */ + menu_item = gtk_tree_menu_create_item (menu, &parent, TRUE); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); - prev = menu_item; - priv->menu_with_header = TRUE; - } - } + menu_item = gtk_separator_menu_item_new (); + gtk_widget_show (menu_item); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + + prev = menu_item; + priv->menu_with_header = TRUE; + } + } gtk_tree_path_free (path); } else { /* Tearoff menu items only go in the root menu */ if (priv->tearoff) - { - menu_item = gtk_tearoff_menu_item_new (); - gtk_widget_show (menu_item); + { + menu_item = gtk_tearoff_menu_item_new (); + gtk_widget_show (menu_item); - if (priv->wrap_width > 0) - gtk_menu_attach (GTK_MENU (menu), menu_item, 0, priv->wrap_width, 0, 1); - else - gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); + if (priv->wrap_width > 0) + gtk_menu_attach (GTK_MENU (menu), menu_item, 0, priv->wrap_width, 0, 1); + else + gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); - prev = menu_item; - } + prev = menu_item; + } valid = gtk_tree_model_iter_children (priv->model, &iter, NULL); } @@ -1441,7 +1441,7 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item); if (priv->wrap_width > 0) - relayout_item (menu, menu_item, &iter, prev); + relayout_item (menu, menu_item, &iter, prev); prev = menu_item; valid = gtk_tree_model_iter_next (priv->model, &iter); @@ -1450,7 +1450,7 @@ gtk_tree_menu_populate (GtkTreeMenu *menu) static void item_activated_cb (GtkMenuItem *item, - GtkTreeMenu *menu) + GtkTreeMenu *menu) { GtkCellView *view; GtkTreePath *path; @@ -1462,9 +1462,9 @@ item_activated_cb (GtkMenuItem *item, view = GTK_CELL_VIEW (gtk_bin_get_child (GTK_BIN (item))); path = gtk_cell_view_get_displayed_row (view); path_str = gtk_tree_path_to_string (path); - + g_signal_emit (menu, tree_menu_signals[SIGNAL_MENU_ACTIVATE], 0, path_str); - + g_free (path_str); gtk_tree_path_free (path); } @@ -1472,8 +1472,8 @@ item_activated_cb (GtkMenuItem *item, static void submenu_activated_cb (GtkTreeMenu *submenu, - const gchar *path, - GtkTreeMenu *menu) + const gchar *path, + GtkTreeMenu *menu) { g_signal_emit (menu, tree_menu_signals[SIGNAL_MENU_ACTIVATE], 0, path); } @@ -1483,7 +1483,7 @@ submenu_activated_cb (GtkTreeMenu *submenu, * until the root is set and then build the menu) */ static void gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, - GtkTreeModel *model) + GtkTreeModel *model) { GtkTreeMenuPrivate *priv; @@ -1492,40 +1492,40 @@ gtk_tree_menu_set_model_internal (GtkTreeMenu *menu, if (priv->model != model) { if (priv->model) - { - /* Disconnect signals */ - g_signal_handler_disconnect (priv->model, - priv->row_inserted_id); - g_signal_handler_disconnect (priv->model, - priv->row_deleted_id); - g_signal_handler_disconnect (priv->model, - priv->row_reordered_id); - g_signal_handler_disconnect (priv->model, - priv->row_changed_id); - priv->row_inserted_id = 0; - priv->row_deleted_id = 0; - priv->row_reordered_id = 0; - priv->row_changed_id = 0; + { + /* Disconnect signals */ + g_signal_handler_disconnect (priv->model, + priv->row_inserted_id); + g_signal_handler_disconnect (priv->model, + priv->row_deleted_id); + g_signal_handler_disconnect (priv->model, + priv->row_reordered_id); + g_signal_handler_disconnect (priv->model, + priv->row_changed_id); + priv->row_inserted_id = 0; + priv->row_deleted_id = 0; + priv->row_reordered_id = 0; + priv->row_changed_id = 0; - g_object_unref (priv->model); - } + g_object_unref (priv->model); + } priv->model = model; if (priv->model) - { - g_object_ref (priv->model); + { + g_object_ref (priv->model); - /* Connect signals */ - priv->row_inserted_id = g_signal_connect (priv->model, "row-inserted", - G_CALLBACK (row_inserted_cb), menu); - priv->row_deleted_id = g_signal_connect (priv->model, "row-deleted", - G_CALLBACK (row_deleted_cb), menu); - priv->row_reordered_id = g_signal_connect (priv->model, "rows-reordered", - G_CALLBACK (row_reordered_cb), menu); - priv->row_changed_id = g_signal_connect (priv->model, "row-changed", - G_CALLBACK (row_changed_cb), menu); - } + /* Connect signals */ + priv->row_inserted_id = g_signal_connect (priv->model, "row-inserted", + G_CALLBACK (row_inserted_cb), menu); + priv->row_deleted_id = g_signal_connect (priv->model, "row-deleted", + G_CALLBACK (row_deleted_cb), menu); + priv->row_reordered_id = g_signal_connect (priv->model, "rows-reordered", + G_CALLBACK (row_reordered_cb), menu); + priv->row_changed_id = g_signal_connect (priv->model, "row-changed", + G_CALLBACK (row_changed_cb), menu); + } } } @@ -1561,9 +1561,9 @@ _gtk_tree_menu_new (void) GtkWidget * _gtk_tree_menu_new_with_area (GtkCellArea *area) { - return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, - "cell-area", area, - NULL); + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, + "cell-area", area, + NULL); } /** @@ -1580,14 +1580,14 @@ _gtk_tree_menu_new_with_area (GtkCellArea *area) */ GtkWidget * _gtk_tree_menu_new_full (GtkCellArea *area, - GtkTreeModel *model, - GtkTreePath *root) + GtkTreeModel *model, + GtkTreePath *root) { - return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, - "cell-area", area, - "model", model, - "root", root, - NULL); + return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, + "cell-area", area, + "model", model, + "root", root, + NULL); } /** @@ -1601,7 +1601,7 @@ _gtk_tree_menu_new_full (GtkCellArea *area, */ void _gtk_tree_menu_set_model (GtkTreeMenu *menu, - GtkTreeModel *model) + GtkTreeModel *model) { g_return_if_fail (GTK_IS_TREE_MENU (menu)); g_return_if_fail (model == NULL || GTK_IS_TREE_MODEL (model)); @@ -1646,7 +1646,7 @@ _gtk_tree_menu_get_model (GtkTreeMenu *menu) */ void _gtk_tree_menu_set_root (GtkTreeMenu *menu, - GtkTreePath *path) + GtkTreePath *path) { GtkTreeMenuPrivate *priv; @@ -1655,7 +1655,7 @@ _gtk_tree_menu_set_root (GtkTreeMenu *menu, priv = menu->priv; - if (priv->root) + if (priv->root) gtk_tree_row_reference_free (priv->root); if (path) @@ -1726,7 +1726,7 @@ _gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) */ void _gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, - gboolean tearoff) + gboolean tearoff) { GtkTreeMenuPrivate *priv; @@ -1748,7 +1748,7 @@ _gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, * _gtk_tree_menu_get_wrap_width: * @menu: a #GtkTreeMenu * - * Gets the wrap width which is used to determine the number of columns + * Gets the wrap width which is used to determine the number of columns * for @menu. If the wrap width is larger than 1, @menu is in table mode. * * Return value: the wrap width. @@ -1772,14 +1772,14 @@ _gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) * @menu: a #GtkTreeMenu * @width: the wrap width * - * Sets the wrap width which is used to determine the number of columns + * Sets the wrap width which is used to determine the number of columns * for @menu. If the wrap width is larger than 1, @menu is in table mode. * * Since: 3.0 */ void _gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, - gint width) + gint width) { GtkTreeMenuPrivate *priv; @@ -1835,7 +1835,7 @@ _gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) */ void _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, - gint row_span) + gint row_span) { GtkTreeMenuPrivate *priv; @@ -1848,7 +1848,7 @@ _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, priv->row_span_col = row_span; if (priv->wrap_width > 0) - rebuild_menu (menu); + rebuild_menu (menu); g_object_notify (G_OBJECT (menu), "row-span-column"); } @@ -1891,7 +1891,7 @@ _gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) */ void _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, - gint column_span) + gint column_span) { GtkTreeMenuPrivate *priv; @@ -1904,7 +1904,7 @@ _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, priv->col_span_col = column_span; if (priv->wrap_width > 0) - rebuild_menu (menu); + rebuild_menu (menu); g_object_notify (G_OBJECT (menu), "column-span-column"); } @@ -1947,9 +1947,9 @@ _gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) */ void _gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, - GtkTreeViewRowSeparatorFunc func, - gpointer data, - GDestroyNotify destroy) + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy) { GtkTreeMenuPrivate *priv; @@ -1970,9 +1970,9 @@ _gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, /** * _gtk_tree_menu_get_header_func: * @menu: a #GtkTreeMenu - * + * * Gets the current #GtkTreeMenuHeaderFunc header function. - * + * * Return value: the current header function. * * Since: 3.0 @@ -1995,21 +1995,21 @@ _gtk_tree_menu_get_header_func (GtkTreeMenu *menu) * @func: (allow-none): a #GtkTreeMenuHeaderFunc, or %NULL to unset the header function. * @data: (allow-none): user data to pass to @func, or %NULL * @destroy: (allow-none): destroy notifier for @data, or %NULL - * + * * Sets the header function, which is used to determine * whether a row width children should contain a leading header * menu item to allow that row to be selectable as an independant * menu item. If the header function is %NULL, no rows with children - * have menu items which can be activated as leafs. + * have menu items which can be activated as leafs. * This is the default value. * * Since: 3.0 */ void _gtk_tree_menu_set_header_func (GtkTreeMenu *menu, - GtkTreeMenuHeaderFunc func, - gpointer data, - GDestroyNotify destroy) + GtkTreeMenuHeaderFunc func, + gpointer data, + GDestroyNotify destroy) { GtkTreeMenuPrivate *priv; diff --git a/gtk/gtktreemenu.h b/gtk/gtktreemenu.h index 6292466619..bb6d6b786a 100644 --- a/gtk/gtktreemenu.h +++ b/gtk/gtktreemenu.h @@ -52,16 +52,16 @@ typedef struct _GtkTreeMenuPrivate GtkTreeMenuPrivate; * @iter: the #GtkTreeIter pointing at a row in @model * @data: user data * - * Function type for determining whether the row pointed to by @iter + * Function type for determining whether the row pointed to by @iter * which has children should be replicated as a header item in the * child menu. - * - * Return value: %TRUE if @iter should have an activatable header menu + * + * Return value: %TRUE if @iter should have an activatable header menu * item created for it in a submenu. */ typedef gboolean (*GtkTreeMenuHeaderFunc) (GtkTreeModel *model, - GtkTreeIter *iter, - gpointer data); + GtkTreeIter *iter, + gpointer data); struct _GtkTreeMenu { @@ -90,38 +90,38 @@ GType _gtk_tree_menu_get_type (void) G_GNU GtkWidget *_gtk_tree_menu_new (void); GtkWidget *_gtk_tree_menu_new_with_area (GtkCellArea *area); GtkWidget *_gtk_tree_menu_new_full (GtkCellArea *area, - GtkTreeModel *model, - GtkTreePath *root); + GtkTreeModel *model, + GtkTreePath *root); void _gtk_tree_menu_set_model (GtkTreeMenu *menu, - GtkTreeModel *model); + GtkTreeModel *model); GtkTreeModel *_gtk_tree_menu_get_model (GtkTreeMenu *menu); void _gtk_tree_menu_set_root (GtkTreeMenu *menu, - GtkTreePath *path); + GtkTreePath *path); GtkTreePath *_gtk_tree_menu_get_root (GtkTreeMenu *menu); gboolean _gtk_tree_menu_get_tearoff (GtkTreeMenu *menu); void _gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, - gboolean tearoff); + gboolean tearoff); gint _gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu); void _gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, - gint width); + gint width); gint _gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu); void _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, - gint row_span); + gint row_span); gint _gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu); void _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, - gint column_span); + gint column_span); GtkTreeViewRowSeparatorFunc _gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu); void _gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, - GtkTreeViewRowSeparatorFunc func, - gpointer data, - GDestroyNotify destroy); + GtkTreeViewRowSeparatorFunc func, + gpointer data, + GDestroyNotify destroy); GtkTreeMenuHeaderFunc _gtk_tree_menu_get_header_func (GtkTreeMenu *menu); void _gtk_tree_menu_set_header_func (GtkTreeMenu *menu, - GtkTreeMenuHeaderFunc func, - gpointer data, - GDestroyNotify destroy); + GtkTreeMenuHeaderFunc func, + gpointer data, + GDestroyNotify destroy); G_END_DECLS From 06f6f7bd93365c69072432282edd130c567bb4c2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 10:31:19 -0500 Subject: [PATCH 1121/1463] Move GtkEventBox docs inline At the same time, add a private pointer, and generally clean things up. --- docs/reference/gtk/tmpl/gtkeventbox.sgml | 86 -------- gtk/gtkeventbox.c | 264 ++++++++++++----------- gtk/gtkeventbox.h | 16 +- 3 files changed, 148 insertions(+), 218 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkeventbox.sgml diff --git a/docs/reference/gtk/tmpl/gtkeventbox.sgml b/docs/reference/gtk/tmpl/gtkeventbox.sgml deleted file mode 100644 index 66bbeea422..0000000000 --- a/docs/reference/gtk/tmpl/gtkeventbox.sgml +++ /dev/null @@ -1,86 +0,0 @@ - -GtkEventBox - - -A widget used to catch events for widgets which do not have their own window - - - -The #GtkEventBox widget is a subclass of #GtkBin which also has its own window. -It is useful since it allows you to catch events for widgets which do not -have their own window. - - - - - - - - - - - - - - - -The #GtkEventBox-struct struct contains private data only, and -should be accessed using the functions below. - - - - - - - - - - - - - - - -Creates a new #GtkEventBox. - - -@void: -@Returns: a new #GtkEventBox. - - - - - - - -@event_box: -@above_child: - - - - - - - -@event_box: -@Returns: - - - - - - - -@event_box: -@visible_window: - - - - - - - -@event_box: -@Returns: - - diff --git a/gtk/gtkeventbox.c b/gtk/gtkeventbox.c index 1ba582b19b..b8492c1125 100644 --- a/gtk/gtkeventbox.c +++ b/gtk/gtkeventbox.c @@ -34,11 +34,22 @@ #include "gtkintl.h" -typedef struct +/** + * SECTION:gtkeventbox + * @Short_description: A widget used to catch events for widgets which + * do not have their own window + * @Title: GtkEventBox + * + * The #GtkEventBox widget is a subclass of #GtkBin which also has its + * own window. It is useful since it allows you to catch events for widgets + * which do not have their own window. + */ + +struct _GtkEventBoxPrivate { gboolean above_child; GdkWindow *event_window; -} GtkEventBoxPrivate; +}; enum { PROP_0, @@ -46,9 +57,6 @@ enum { PROP_ABOVE_CHILD }; - -#define GTK_EVENT_BOX_GET_PRIVATE(obj) G_TYPE_INSTANCE_GET_PRIVATE((obj), GTK_TYPE_EVENT_BOX, GtkEventBoxPrivate) - static void gtk_event_box_realize (GtkWidget *widget); static void gtk_event_box_unrealize (GtkWidget *widget); static void gtk_event_box_map (GtkWidget *widget); @@ -109,7 +117,7 @@ gtk_event_box_class_init (GtkEventBoxClass *class) P_("Whether the event-trapping window of the eventbox is above the window of the child widget as opposed to below it."), FALSE, GTK_PARAM_READWRITE)); - + g_type_class_add_private (class, sizeof (GtkEventBoxPrivate)); } @@ -119,59 +127,74 @@ gtk_event_box_init (GtkEventBox *event_box) GtkEventBoxPrivate *priv; gtk_widget_set_has_window (GTK_WIDGET (event_box), TRUE); - - priv = GTK_EVENT_BOX_GET_PRIVATE (event_box); + + priv = G_TYPE_INSTANCE_GET_PRIVATE (event_box, + GTK_TYPE_EVENT_BOX, + GtkEventBoxPrivate); + + event_box->priv = priv; priv->above_child = FALSE; } +/** + * gtk_event_box_new: + * + * Creates a new #GtkEventBox. + * + * Returns: a new #GtkEventBox + */ GtkWidget* gtk_event_box_new (void) { return g_object_new (GTK_TYPE_EVENT_BOX, NULL); } -static void +static void gtk_event_box_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkEventBox *event_box; - + event_box = GTK_EVENT_BOX (object); - + switch (prop_id) { case PROP_VISIBLE_WINDOW: gtk_event_box_set_visible_window (event_box, g_value_get_boolean (value)); - break; + break; + case PROP_ABOVE_CHILD: gtk_event_box_set_above_child (event_box, g_value_get_boolean (value)); - break; + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } -static void +static void gtk_event_box_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkEventBox *event_box; - + event_box = GTK_EVENT_BOX (object); - + switch (prop_id) { case PROP_VISIBLE_WINDOW: g_value_set_boolean (value, gtk_event_box_get_visible_window (event_box)); break; + case PROP_ABOVE_CHILD: g_value_set_boolean (value, gtk_event_box_get_above_child (event_box)); break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -188,7 +211,7 @@ gtk_event_box_get_property (GObject *object, * Return value: %TRUE if the event box window is visible * * Since: 2.4 - **/ + */ gboolean gtk_event_box_get_visible_window (GtkEventBox *event_box) { @@ -200,25 +223,25 @@ gtk_event_box_get_visible_window (GtkEventBox *event_box) /** * gtk_event_box_set_visible_window: * @event_box: a #GtkEventBox - * @visible_window: boolean value + * @visible_window: %TRUE to make the event box have a visible window * * Set whether the event box uses a visible or invisible child * window. The default is to use visible windows. * * In an invisible window event box, the window that the - * event box creates is a %GDK_INPUT_ONLY window, which + * event box creates is a %GDK_INPUT_ONLY window, which * means that it is invisible and only serves to receive * events. - * + * * A visible window event box creates a visible (%GDK_INPUT_OUTPUT) - * window that acts as the parent window for all the widgets + * window that acts as the parent window for all the widgets * contained in the event box. - * + * * You should generally make your event box invisible if * you just want to trap events. Creating a visible window * may cause artifacts that are visible to the user, especially * if the user is using a theme with gradients or pixmaps. - * + * * The main reason to create a non input-only event box is if * you want to set the background to a different color or * draw on it. @@ -227,22 +250,22 @@ gtk_event_box_get_visible_window (GtkEventBox *event_box) * There is one unexpected issue for an invisible event box that has its * window below the child. (See gtk_event_box_set_above_child().) * Since the input-only window is not an ancestor window of any windows - * that descendent widgets of the event box create, events on these + * that descendent widgets of the event box create, events on these * windows aren't propagated up by the windowing system, but only by GTK+. * The practical effect of this is if an event isn't in the event - * mask for the descendant window (see gtk_widget_add_events()), - * it won't be received by the event box. + * mask for the descendant window (see gtk_widget_add_events()), + * it won't be received by the event box. * * This problem doesn't occur for visible event boxes, because in * that case, the event box window is actually the ancestor of the * descendant windows, not just at the same place on the screen. * - * + * * Since: 2.4 - **/ + */ void gtk_event_box_set_visible_window (GtkEventBox *event_box, - gboolean visible_window) + gboolean visible_window) { GtkWidget *widget; @@ -255,29 +278,29 @@ gtk_event_box_set_visible_window (GtkEventBox *event_box, if (visible_window != gtk_widget_get_has_window (widget)) { if (gtk_widget_get_realized (widget)) - { - gboolean visible = gtk_widget_get_visible (widget); + { + gboolean visible = gtk_widget_get_visible (widget); - if (visible) - gtk_widget_hide (widget); + if (visible) + gtk_widget_hide (widget); - gtk_widget_unrealize (widget); + gtk_widget_unrealize (widget); gtk_widget_set_has_window (widget, visible_window); - gtk_widget_realize (widget); + gtk_widget_realize (widget); - if (visible) - gtk_widget_show (widget); - } + if (visible) + gtk_widget_show (widget); + } else - { + { gtk_widget_set_has_window (widget, visible_window); - } + } if (gtk_widget_get_visible (widget)) - gtk_widget_queue_resize (widget); - + gtk_widget_queue_resize (widget); + g_object_notify (G_OBJECT (event_box), "visible-window"); } } @@ -287,52 +310,49 @@ gtk_event_box_set_visible_window (GtkEventBox *event_box, * @event_box: a #GtkEventBox * * Returns whether the event box window is above or below the - * windows of its child. See gtk_event_box_set_above_child() for - * details. + * windows of its child. See gtk_event_box_set_above_child() + * for details. * - * Return value: %TRUE if the event box window is above the window - * of its child. + * Return value: %TRUE if the event box window is above the + * window of its child * * Since: 2.4 - **/ + */ gboolean gtk_event_box_get_above_child (GtkEventBox *event_box) { - GtkEventBoxPrivate *priv; + GtkEventBoxPrivate *priv = event_box->priv; g_return_val_if_fail (GTK_IS_EVENT_BOX (event_box), FALSE); - priv = GTK_EVENT_BOX_GET_PRIVATE (event_box); - return priv->above_child; } /** * gtk_event_box_set_above_child: * @event_box: a #GtkEventBox - * @above_child: %TRUE if the event box window is above the windows of its child + * @above_child: %TRUE if the event box window is above its child * - * Set whether the event box window is positioned above the windows of its child, - * as opposed to below it. If the window is above, all events inside the - * event box will go to the event box. If the window is below, events - * in windows of child widgets will first got to that widget, and then - * to its parents. + * Set whether the event box window is positioned above the windows + * of its child, as opposed to below it. If the window is above, all + * events inside the event box will go to the event box. If the window + * is below, events in windows of child widgets will first got to that + * widget, and then to its parents. * * The default is to keep the window below the child. - * + * * Since: 2.4 - **/ + */ void gtk_event_box_set_above_child (GtkEventBox *event_box, - gboolean above_child) + gboolean above_child) { + GtkEventBoxPrivate *priv = event_box->priv; GtkWidget *widget; - GtkEventBoxPrivate *priv; g_return_if_fail (GTK_IS_EVENT_BOX (event_box)); widget = GTK_WIDGET (event_box); - priv = GTK_EVENT_BOX_GET_PRIVATE (event_box); above_child = above_child != FALSE; @@ -341,46 +361,44 @@ gtk_event_box_set_above_child (GtkEventBox *event_box, priv->above_child = above_child; if (gtk_widget_get_realized (widget)) - { - if (!gtk_widget_get_has_window (widget)) - { - if (above_child) - gdk_window_raise (priv->event_window); - else - gdk_window_lower (priv->event_window); - } - else - { - gboolean visible = gtk_widget_get_visible (widget); + { + if (!gtk_widget_get_has_window (widget)) + { + if (above_child) + gdk_window_raise (priv->event_window); + else + gdk_window_lower (priv->event_window); + } + else + { + gboolean visible = gtk_widget_get_visible (widget); - if (visible) - gtk_widget_hide (widget); - - gtk_widget_unrealize (widget); - - gtk_widget_realize (widget); - - if (visible) - gtk_widget_show (widget); - } - } + if (visible) + gtk_widget_hide (widget); + + gtk_widget_unrealize (widget); + gtk_widget_realize (widget); + + if (visible) + gtk_widget_show (widget); + } + } if (gtk_widget_get_visible (widget)) - gtk_widget_queue_resize (widget); - + gtk_widget_queue_resize (widget); + g_object_notify (G_OBJECT (event_box), "above-child"); } } - static void gtk_event_box_realize (GtkWidget *widget) { + GtkEventBoxPrivate *priv; GtkAllocation allocation; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; - GtkEventBoxPrivate *priv; gboolean visible_window; gtk_widget_get_allocation (widget, &allocation); @@ -393,14 +411,14 @@ gtk_event_box_realize (GtkWidget *widget) attributes.height = allocation.height; attributes.window_type = GDK_WINDOW_CHILD; attributes.event_mask = gtk_widget_get_events (widget) - | GDK_BUTTON_MOTION_MASK - | GDK_BUTTON_PRESS_MASK - | GDK_BUTTON_RELEASE_MASK - | GDK_EXPOSURE_MASK - | GDK_ENTER_NOTIFY_MASK - | GDK_LEAVE_NOTIFY_MASK; + | GDK_BUTTON_MOTION_MASK + | GDK_BUTTON_PRESS_MASK + | GDK_BUTTON_RELEASE_MASK + | GDK_EXPOSURE_MASK + | GDK_ENTER_NOTIFY_MASK + | GDK_LEAVE_NOTIFY_MASK; - priv = GTK_EVENT_BOX_GET_PRIVATE (widget); + priv = GTK_EVENT_BOX (widget)->priv; visible_window = gtk_widget_get_has_window (widget); if (visible_window) @@ -431,7 +449,7 @@ gtk_event_box_realize (GtkWidget *widget) attributes_mask = 0; priv->event_window = gdk_window_new (window, - &attributes, attributes_mask); + &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); } @@ -442,10 +460,8 @@ gtk_event_box_realize (GtkWidget *widget) static void gtk_event_box_unrealize (GtkWidget *widget) { - GtkEventBoxPrivate *priv; - - priv = GTK_EVENT_BOX_GET_PRIVATE (widget); - + GtkEventBoxPrivate *priv = GTK_EVENT_BOX (widget)->priv; + if (priv->event_window != NULL) { gdk_window_set_user_data (priv->event_window, NULL); @@ -459,9 +475,7 @@ gtk_event_box_unrealize (GtkWidget *widget) static void gtk_event_box_map (GtkWidget *widget) { - GtkEventBoxPrivate *priv; - - priv = GTK_EVENT_BOX_GET_PRIVATE (widget); + GtkEventBoxPrivate *priv = GTK_EVENT_BOX (widget)->priv; if (priv->event_window != NULL && !priv->above_child) gdk_window_show (priv->event_window); @@ -475,9 +489,7 @@ gtk_event_box_map (GtkWidget *widget) static void gtk_event_box_unmap (GtkWidget *widget) { - GtkEventBoxPrivate *priv; - - priv = GTK_EVENT_BOX_GET_PRIVATE (widget); + GtkEventBoxPrivate *priv = GTK_EVENT_BOX (widget)->priv; if (priv->event_window != NULL) gdk_window_hide (priv->event_window); @@ -551,21 +563,21 @@ gtk_event_box_size_allocate (GtkWidget *widget, if (gtk_widget_get_realized (widget)) { - priv = GTK_EVENT_BOX_GET_PRIVATE (widget); + priv = GTK_EVENT_BOX (widget)->priv; if (priv->event_window != NULL) - gdk_window_move_resize (priv->event_window, - child_allocation.x, - child_allocation.y, - child_allocation.width, - child_allocation.height); - + gdk_window_move_resize (priv->event_window, + child_allocation.x, + child_allocation.y, + child_allocation.width, + child_allocation.height); + if (gtk_widget_get_has_window (widget)) - gdk_window_move_resize (gtk_widget_get_window (widget), - allocation->x, - allocation->y, - child_allocation.width, - child_allocation.height); + gdk_window_move_resize (gtk_widget_get_window (widget), + allocation->x, + allocation->y, + child_allocation.width, + child_allocation.height); } child = gtk_bin_get_child (bin); @@ -574,8 +586,8 @@ gtk_event_box_size_allocate (GtkWidget *widget, } static gboolean -gtk_event_box_draw (GtkWidget *widget, - cairo_t *cr) +gtk_event_box_draw (GtkWidget *widget, + cairo_t *cr) { if (gtk_widget_get_has_window (widget) && !gtk_widget_get_app_paintable (widget)) @@ -587,7 +599,7 @@ gtk_event_box_draw (GtkWidget *widget, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget)); } - + GTK_WIDGET_CLASS (gtk_event_box_parent_class)->draw (widget, cr); return FALSE; diff --git a/gtk/gtkeventbox.h b/gtk/gtkeventbox.h index fddd76a2b4..aac154ab5e 100644 --- a/gtk/gtkeventbox.h +++ b/gtk/gtkeventbox.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -44,12 +44,16 @@ G_BEGIN_DECLS #define GTK_IS_EVENT_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_EVENT_BOX)) #define GTK_EVENT_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_EVENT_BOX, GtkEventBoxClass)) -typedef struct _GtkEventBox GtkEventBox; -typedef struct _GtkEventBoxClass GtkEventBoxClass; +typedef struct _GtkEventBox GtkEventBox; +typedef struct _GtkEventBoxClass GtkEventBoxClass; +typedef struct _GtkEventBoxPrivate GtkEventBoxPrivate; struct _GtkEventBox { GtkBin bin; + + /*< private >*/ + GtkEventBoxPrivate *priv; }; struct _GtkEventBoxClass @@ -63,14 +67,14 @@ struct _GtkEventBoxClass void (*_gtk_reserved4) (void); }; -GType gtk_event_box_get_type (void) G_GNUC_CONST; +GType gtk_event_box_get_type (void) G_GNUC_CONST; GtkWidget* gtk_event_box_new (void); gboolean gtk_event_box_get_visible_window (GtkEventBox *event_box); void gtk_event_box_set_visible_window (GtkEventBox *event_box, - gboolean visible_window); + gboolean visible_window); gboolean gtk_event_box_get_above_child (GtkEventBox *event_box); void gtk_event_box_set_above_child (GtkEventBox *event_box, - gboolean above_child); + gboolean above_child); G_END_DECLS From 52e1722f35a970538d9c9fdcd94948792cb21245 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Mon, 13 Dec 2010 21:45:07 +0100 Subject: [PATCH 1122/1463] GtkComboBox(Text): Add documentation about the entry --- gtk/gtkcombobox.c | 7 ++++++- gtk/gtkcomboboxtext.c | 10 ++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 648b534f32..d4a90ec023 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -77,9 +77,14 @@ * not restricted to a flat list, it can be a real tree, and the popup will * reflect the tree structure. * + * To allow the user to enter values not in the model, the 'has-entry' + * property allows the GtkComboBox to contain a #GtkEntry. This entry + * can be accessed by calling gtk_bin_get_child() on the combo box. + * * For a simple list of textual choices, the model-view API of GtkComboBox * can be a bit overwhelming. In this case, #GtkComboBoxText offers a - * simple alternative. + * simple alternative. Both GtkComboBox and #GtkComboBoxText can contain + * an entry. */ diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c index 4e67c6c1c1..a9a09a2dd5 100644 --- a/gtk/gtkcomboboxtext.c +++ b/gtk/gtkcomboboxtext.c @@ -39,6 +39,11 @@ * gtk_combo_box_text_append_text(), gtk_combo_box_text_insert_text() * or gtk_combo_box_text_prepend_text() and remove options with * gtk_combo_box_text_remove(). + * + * If the GtkComboBoxText contains an entry (via the 'has-entry' property), + * its contents can be retrieved using gtk_combo_box_text_get_active_text(). + * The entry itself can be accessed by calling gtk_bin_get_child() on the + * combo box. */ G_DEFINE_TYPE (GtkComboBoxText, gtk_combo_box_text, GTK_TYPE_COMBO_BOX); @@ -336,8 +341,9 @@ gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box) * gtk_combo_box_text_get_active_text: * @combo_box: A #GtkComboBoxText * - * Returns the currently active string in @combo_box or %NULL if none - * is selected. + * Returns the currently active string in @combo_box, or %NULL if none + * is selected. If @combo_box contains an entry, this function will return + * its contents (which will not necessarily be an item from the list). * * Returns: a newly allocated string containing the currently active text. * Must be freed with g_free(). From f130db44ea8c2b85f98d3cc73637dc39c8f96ffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szil=C3=A1rd=20Pfeiffer?= Date: Tue, 4 Jan 2011 10:47:54 -0500 Subject: [PATCH 1123/1463] gail: add/remove horizontal/vertical state based on orientation value Now, these states are depending on the widget class. --- modules/other/gail/gailbox.c | 22 ------------------- modules/other/gail/gailpaned.c | 24 -------------------- modules/other/gail/gailrange.c | 35 ++---------------------------- modules/other/gail/gailseparator.c | 22 ------------------- modules/other/gail/gailwidget.c | 23 ++++++++++++++++++++ 5 files changed, 25 insertions(+), 101 deletions(-) diff --git a/modules/other/gail/gailbox.c b/modules/other/gail/gailbox.c index c4a045bc2b..f9d05b18df 100644 --- a/modules/other/gail/gailbox.c +++ b/modules/other/gail/gailbox.c @@ -26,7 +26,6 @@ static void gail_box_class_init (GailBoxClass *klass); static void gail_box_init (GailBox *box); static void gail_box_initialize (AtkObject *accessible, gpointer data); -static AtkStateSet* gail_box_ref_state_set (AtkObject *accessible); G_DEFINE_TYPE (GailBox, gail_box, GAIL_TYPE_CONTAINER) @@ -36,7 +35,6 @@ gail_box_class_init (GailBoxClass *klass) AtkObjectClass *class = ATK_OBJECT_CLASS (klass); class->initialize = gail_box_initialize; - class->ref_state_set = gail_box_ref_state_set; } static void @@ -52,23 +50,3 @@ gail_box_initialize (AtkObject *accessible, accessible->role = ATK_ROLE_FILLER; } - -static AtkStateSet* -gail_box_ref_state_set (AtkObject *accessible) -{ - AtkStateSet *state_set; - GtkWidget *widget; - - state_set = ATK_OBJECT_CLASS (gail_box_parent_class)->ref_state_set (accessible); - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); - - if (widget == NULL) - return state_set; - - if (GTK_IS_VBOX (widget) || GTK_IS_VBUTTON_BOX (widget)) - atk_state_set_add_state (state_set, ATK_STATE_VERTICAL); - else if (GTK_IS_HBOX (widget) || GTK_IS_HBUTTON_BOX (widget)) - atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL); - - return state_set; -} diff --git a/modules/other/gail/gailpaned.c b/modules/other/gail/gailpaned.c index 1e1404bf14..7f91f13b05 100644 --- a/modules/other/gail/gailpaned.c +++ b/modules/other/gail/gailpaned.c @@ -31,9 +31,6 @@ static void gail_paned_real_initialize (AtkObject *obj, gpointer data); static void gail_paned_size_allocate_gtk (GtkWidget *widget, GtkAllocation *allocation); - -static AtkStateSet* gail_paned_ref_state_set (AtkObject *accessible); - static void atk_value_interface_init (AtkValueIface *iface); static void gail_paned_get_current_value (AtkValue *obj, GValue *value); @@ -52,7 +49,6 @@ gail_paned_class_init (GailPanedClass *klass) { AtkObjectClass *class = ATK_OBJECT_CLASS (klass); - class->ref_state_set = gail_paned_ref_state_set; class->initialize = gail_paned_real_initialize; } @@ -61,26 +57,6 @@ gail_paned_init (GailPaned *paned) { } -static AtkStateSet* -gail_paned_ref_state_set (AtkObject *accessible) -{ - AtkStateSet *state_set; - GtkWidget *widget; - - state_set = ATK_OBJECT_CLASS (gail_paned_parent_class)->ref_state_set (accessible); - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); - - if (widget == NULL) - return state_set; - - if (GTK_IS_VPANED (widget)) - atk_state_set_add_state (state_set, ATK_STATE_VERTICAL); - else if (GTK_IS_HPANED (widget)) - atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL); - - return state_set; -} - static void gail_paned_real_initialize (AtkObject *obj, gpointer data) diff --git a/modules/other/gail/gailrange.c b/modules/other/gail/gailrange.c index 07b6d75f7f..d708567c7f 100644 --- a/modules/other/gail/gailrange.c +++ b/modules/other/gail/gailrange.c @@ -35,9 +35,6 @@ static void gail_range_real_initialize (AtkObject *obj, static void gail_range_finalize (GObject *object); -static AtkStateSet* gail_range_ref_state_set (AtkObject *obj); - - static void gail_range_real_notify_gtk (GObject *obj, GParamSpec *pspec); @@ -85,7 +82,6 @@ gail_range_class_init (GailRangeClass *klass) widget_class->notify_gtk = gail_range_real_notify_gtk; - class->ref_state_set = gail_range_ref_state_set; class->initialize = gail_range_real_initialize; gobject_class->finalize = gail_range_finalize; @@ -130,34 +126,7 @@ gail_range_real_initialize (AtkObject *obj, obj->role = ATK_ROLE_SLIDER; } -static AtkStateSet* -gail_range_ref_state_set (AtkObject *obj) -{ - AtkStateSet *state_set; - GtkWidget *widget; - GtkRange *range; - - state_set = ATK_OBJECT_CLASS (gail_range_parent_class)->ref_state_set (obj); - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj)); - - if (widget == NULL) - return state_set; - - range = GTK_RANGE (widget); - - /* - * We do not generate property change for orientation change as there - * is no interface to change the orientation which emits a notification - */ - if (gtk_orientable_get_orientation (GTK_ORIENTABLE (range)) == GTK_ORIENTATION_HORIZONTAL) - atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL); - else - atk_state_set_add_state (state_set, ATK_STATE_VERTICAL); - - return state_set; -} - -static void +static void atk_value_interface_init (AtkValueIface *iface) { iface->get_current_value = gail_range_get_current_value; @@ -167,7 +136,7 @@ atk_value_interface_init (AtkValueIface *iface) iface->set_current_value = gail_range_set_current_value; } -static void +static void gail_range_get_current_value (AtkValue *obj, GValue *value) { diff --git a/modules/other/gail/gailseparator.c b/modules/other/gail/gailseparator.c index 6aaa01017e..22e9146899 100644 --- a/modules/other/gail/gailseparator.c +++ b/modules/other/gail/gailseparator.c @@ -26,7 +26,6 @@ static void gail_separator_class_init (GailSeparatorClass *k static void gail_separator_init (GailSeparator *accessible); static void gail_separator_initialize (AtkObject *accessible, gpointer data); -static AtkStateSet* gail_separator_ref_state_set (AtkObject *accessible); G_DEFINE_TYPE (GailSeparator, gail_separator, GAIL_TYPE_WIDGET) @@ -36,7 +35,6 @@ gail_separator_class_init (GailSeparatorClass *klass) AtkObjectClass *class = ATK_OBJECT_CLASS (klass); class->initialize = gail_separator_initialize; - class->ref_state_set = gail_separator_ref_state_set; } static void @@ -52,23 +50,3 @@ gail_separator_initialize (AtkObject *accessible, accessible->role = ATK_ROLE_SEPARATOR; } - -static AtkStateSet* -gail_separator_ref_state_set (AtkObject *accessible) -{ - AtkStateSet *state_set; - GtkWidget *widget; - - state_set = ATK_OBJECT_CLASS (gail_separator_parent_class)->ref_state_set (accessible); - widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (accessible)); - - if (widget == NULL) - return state_set; - - if (GTK_IS_VSEPARATOR (widget)) - atk_state_set_add_state (state_set, ATK_STATE_VERTICAL); - else if (GTK_IS_HSEPARATOR (widget)) - atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL); - - return state_set; -} diff --git a/modules/other/gail/gailwidget.c b/modules/other/gail/gailwidget.c index 89a27db97c..922673d9db 100644 --- a/modules/other/gail/gailwidget.c +++ b/modules/other/gail/gailwidget.c @@ -511,6 +511,18 @@ gail_widget_ref_state_set (AtkObject *accessible) { atk_state_set_add_state (state_set, ATK_STATE_DEFAULT); } + + if (GTK_IS_ORIENTABLE(widget)) + switch (gtk_orientable_get_orientation (GTK_ORIENTABLE (widget))) + { + case GTK_ORIENTATION_HORIZONTAL: + atk_state_set_add_state (state_set, ATK_STATE_HORIZONTAL); + break; + + case GTK_ORIENTATION_VERTICAL: + atk_state_set_add_state (state_set, ATK_STATE_VERTICAL); + break; + } } return state_set; } @@ -976,6 +988,15 @@ gail_widget_real_notify_gtk (GObject *obj, state = ATK_STATE_SENSITIVE; value = gtk_widget_get_sensitive (widget); } + else if (strcmp (pspec->name, "orientation") == 0) + { + GtkOrientable *orientable; + + orientable = GTK_ORIENTABLE (widget); + + state = ATK_STATE_HORIZONTAL; + value = (gtk_orientable_get_orientation (orientable) == GTK_ORIENTATION_HORIZONTAL); + } else return; @@ -983,6 +1004,8 @@ gail_widget_real_notify_gtk (GObject *obj, if (state == ATK_STATE_SENSITIVE) atk_object_notify_state_change (atk_obj, ATK_STATE_ENABLED, value); + if (state == ATK_STATE_HORIZONTAL) + atk_object_notify_state_change (atk_obj, ATK_STATE_VERTICAL, !value); } static void From 0a069e16439aa95bf55acf1816c35d73820091de Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 10:58:04 -0500 Subject: [PATCH 1124/1463] Document DESKTOP_STARTUP_ID use Closes https://bugzilla.gnome.org/show_bug.cgi?id=165987 --- docs/reference/gtk/running.sgml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/reference/gtk/running.sgml b/docs/reference/gtk/running.sgml index 8119f236a2..9a9376ba64 100644 --- a/docs/reference/gtk/running.sgml +++ b/docs/reference/gtk/running.sgml @@ -389,6 +389,19 @@ nevertheless. + + <envar>DESKTOP_STARTUP_ID</envar> + + + GTK+ uses this environment variable to provide startup notification + according to the Startup Notification Spec. + Following the specification, GTK+ unsets this variable after reading + it (to keep it from leaking to child processes). So, if you need its + value for your own purposes, you have to read it before calling + gtk_init(). + + + From ee89c605cf7933eca21411f635dc59ae767a21fe Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 11:18:42 -0500 Subject: [PATCH 1125/1463] Some documentation improvements for gtk_init/gtk_parse_args https://bugzilla.gnome.org/show_bug.cgi?id=562182 --- gtk/gtkmain.c | 47 +++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index a4f3deda7f..860adbb463 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -449,9 +449,9 @@ static gboolean do_setlocale = TRUE; * * Prevents gtk_init(), gtk_init_check(), gtk_init_with_args() and * gtk_parse_args() from automatically - * calling setlocale (LC_ALL, ""). You would - * want to use this function if you wanted to set the locale for - * your program to something other than the user's locale, or if + * calling setlocale (LC_ALL, ""). You would + * want to use this function if you wanted to set the locale for + * your program to something other than the user's locale, or if * you wanted to set different values for different locale categories. * * Most programs should not need to call this function. @@ -985,8 +985,8 @@ gtk_init_with_args (gint *argc, /** * gtk_parse_args: - * @argc: (inout): a pointer to the number of command line arguments. - * @argv: (array) (inout): a pointer to the array of command line arguments. + * @argc: (inout): a pointer to the number of command line arguments + * @argv: (array) (inout): a pointer to the array of command line arguments * * Parses command line arguments, and initializes global * attributes of GTK+, but does not actually open a connection @@ -995,7 +995,7 @@ gtk_init_with_args (gint *argc, * Any arguments used by GTK+ or GDK are removed from the array and * @argc and @argv are updated accordingly. * - * You shouldn't call this function explicitely if you are using + * There is no need to call this function explicitely if you are using * gtk_init(), or gtk_init_check(). * * Return value: %TRUE if initialization succeeded, otherwise %FALSE. @@ -1069,27 +1069,30 @@ gtk_init_check (int *argc, /** * gtk_init: - * @argc: (inout): Address of the argc parameter of your - * main() function. Changed if any arguments were handled. - * @argv: (array length=argc) (inout) (allow-none): Address of the argv parameter of main(). - * Any parameters understood by gtk_init() are stripped before return. + * @argc: (inout): Address of the argc parameter of + * your main() function. Changed if any arguments were handled + * @argv: (array length=argc) (inout) (allow-none): Address of the + * argv parameter of main(). Any options + * understood by GTK+ are stripped before return. * * Call this function before using any other GTK+ functions in your GUI * applications. It will initialize everything needed to operate the - * toolkit and parses some standard command line options. @argc and - * @argv are adjusted accordingly so your own code will - * never see those standard arguments. + * toolkit and parses some standard command line options. * - * Note that there are some alternative ways to initialize GTK+: - * if you are calling gtk_parse_args(), gtk_init_check(), - * gtk_init_with_args() or g_option_context_parse() with - * the option group returned by gtk_get_option_group(), you - * don't have to call gtk_init(). + * @argc and @argv are adjusted accordingly so your own code will + * never see those standard arguments. + * + * Note that there are some alternative ways to initialize GTK+: + * if you are calling gtk_parse_args(), gtk_init_check(), + * gtk_init_with_args() or g_option_context_parse() with + * the option group returned by gtk_get_option_group(), + * you don't have to call gtk_init(). * * - * This function will terminate your program if it was unable to initialize - * the GUI for some reason. If you want your program to fall back to a - * textual interface you want to call gtk_init_check() instead. + * This function will terminate your program if it was unable to + * initialize the windowing system for some reason. If you want + * your program to fall back to a textual interface you want to + * call gtk_init_check() instead. * * * @@ -1100,7 +1103,7 @@ gtk_init_check (int *argc, * but notice that other libraries (e.g. libdbus or gvfs) might do * similar things. * - **/ + */ void gtk_init (int *argc, char ***argv) { From bf2a6114abb7262ff31f116dbb0c1a60567c52dc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 11:25:40 -0500 Subject: [PATCH 1126/1463] Mention gvfs in the gtk_show_uri() docs https://bugzilla.gnome.org/show_bug.cgi?id=622125 --- gtk/gtkcssprovider.c | 3 ++- gtk/gtkshow.c | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 1bd7bcd5fa..6f72071a68 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -559,7 +559,8 @@ * engine * engine-name * #GtkThemingEngine - * engine: clearlooks; + * engine: clearlooks; + * engine: none; /* use the default (i.e. builtin) engine) */ * * * background-color diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c index 551f393b4e..3b24c7b3a6 100644 --- a/gtk/gtkshow.c +++ b/gtk/gtkshow.c @@ -28,14 +28,17 @@ /** * gtk_show_uri: - * @screen: (allow-none): screen to show the uri on or %NULL for the default screen + * @screen: (allow-none): screen to show the uri on + * or %NULL for the default screen * @uri: the uri to show - * @timestamp: a timestamp to prevent focus stealing. + * @timestamp: a timestamp to prevent focus stealing * @error: a #GError that is returned in case of errors * * This is a convenience function for launching the default application - * to show the uri. The uri must be of a form understood by GIO. Typical - * examples are + * to show the uri. The uri must be of a form understood by GIO (i.e. you + * need to install gvfs to get support for uri schemes such as http:// + * or ftp://, as only local files are handled by GIO itself). + * Typical examples are * * file:///home/gnome/pict.jpg * http://www.gnome.org From 336d355c2aa8d8a90e07d3a89c7ddfd9878d0dc0 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 11:36:42 -0500 Subject: [PATCH 1127/1463] Some documentation additions Proposed by Bruno Piguet. https://bugzilla.gnome.org/show_bug.cgi?id=559503 --- gtk/gtkcalendar.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index e42f3307d5..bd65a1bb0f 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -34,22 +34,26 @@ * @Short_description: Displays a calendar and allows the user to select a date * @Title: GtkCalendar * - * #GtkCalendar is a widget that displays a calendar, one month at a time. It - * can be created with gtk_calendar_new(). + * #GtkCalendar is a widget that displays a Gregorian calendar, one month + * at a time. It can be created with gtk_calendar_new(). * * The month and year currently displayed can be altered with - * gtk_calendar_select_month(). The exact day can be selected from the displayed - * month using gtk_calendar_select_day(). + * gtk_calendar_select_month(). The exact day can be selected from the + * displayed month using gtk_calendar_select_day(). * - * To place a visual marker on a particular day, use gtk_calendar_mark_day() and - * to remove the marker, gtk_calendar_unmark_day(). Alternative, all marks can - * be cleared with gtk_calendar_clear_marks(). + * To place a visual marker on a particular day, use gtk_calendar_mark_day() + * and to remove the marker, gtk_calendar_unmark_day(). Alternative, all + * marks can be cleared with gtk_calendar_clear_marks(). * * The way in which the calendar itself is displayed can be altered using * gtk_calendar_set_display_options(). * * The selected date can be retrieved from a #GtkCalendar using * gtk_calendar_get_date(). + * + * Users should be aware that, although the Gregorian calendar is the legal + * calendar in most countries, it was adopted progressively between 1582 and + * 1929. Display before these dates is likely to be historically incorrect. */ #include "config.h" From e515bd4f715854b9e7bba11bdcae6ace479e0cf1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 11:44:09 -0500 Subject: [PATCH 1128/1463] Some more calendar doc additions Proposed by Nikos Kouremenos https://bugzilla.gnome.org/show_bug.cgi?id=321958 --- gtk/gtkcalendar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index bd65a1bb0f..36bd281ff2 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -3878,12 +3878,12 @@ gtk_calendar_unmark_day (GtkCalendar *calendar, /** * gtk_calendar_get_date: * @calendar: a #GtkCalendar - * @year: (allow-none): location to store the year number, or %NULL + * @year: (allow-none): location to store the year as a decimal number (e.g. 2011), or %NULL * @month: (allow-none): location to store the month number (between 0 and 11), or %NULL * @day: (allow-none): location to store the day number (between 1 and 31), or %NULL - * + * * Obtains the selected date from a #GtkCalendar. - **/ + */ void gtk_calendar_get_date (GtkCalendar *calendar, guint *year, From 8bdb44fd47fb76c8bbe2e644394068dc868e2127 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 11:55:56 -0500 Subject: [PATCH 1129/1463] Remove an outdated doc statement. https://bugzilla.gnome.org/show_bug.cgi?id=553404 --- gtk/gtktextview.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 163a2ca02d..36ed4bffb4 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -9369,7 +9369,9 @@ gtk_text_view_add_child_at_anchor (GtkTextView *text_view, * @ypos: Y position of child in window coordinates * * Adds a child at fixed coordinates in one of the text widget's - * windows. The window must have nonzero size (see + * windows. + * + * The window must have nonzero size (see * gtk_text_view_set_border_window_size()). Note that the child * coordinates are given relative to the #GdkWindow in question, and * that these coordinates have no sane relationship to scrolling. When @@ -9379,12 +9381,8 @@ gtk_text_view_add_child_at_anchor (GtkTextView *text_view, * text window), you'll need to compute the child's correct position * in buffer coordinates any time scrolling occurs or buffer changes * occur, and then call gtk_text_view_move_child() to update the - * child's position. Unfortunately there's no good way to detect that - * scrolling has occurred, using the current API; a possible hack - * would be to update all child positions when the scroll adjustments - * change or the text buffer changes. See bug 64518 on - * bugzilla.gnome.org for status of fixing this issue. - **/ + * child's position. + */ void gtk_text_view_add_child_in_window (GtkTextView *text_view, GtkWidget *child, From 16877b4d7bef813a42643ae50c14b13dc8302b36 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 12:05:05 -0500 Subject: [PATCH 1130/1463] Reduce includes of gtktypeutils.h to a minimum --- gtk/gtkactivatable.c | 1 - gtk/gtkactivatable.h | 1 - gtk/gtkarrow.c | 2 +- gtk/gtkbbox.c | 2 +- gtk/gtkbindings.c | 2 +- gtk/gtkbox.c | 2 +- gtk/gtkbuildable.c | 1 - gtk/gtkbuildable.h | 1 - gtk/gtkbuilderparser.c | 3 +-- gtk/gtkcellareabox.c | 1 + gtk/gtkcellrenderer.c | 1 + gtk/gtkcellrendererspinner.c | 2 +- gtk/gtkhsv.c | 2 +- gtk/gtkorientable.c | 2 +- gtk/gtkscale.c | 1 + gtk/gtkscrollable.c | 2 +- gtk/gtkscrolledwindow.c | 1 - gtk/gtksettings.c | 2 +- gtk/gtksizegroup.c | 1 + gtk/gtktreesortable.h | 1 - gtk/gtkviewport.c | 2 +- 21 files changed, 15 insertions(+), 18 deletions(-) diff --git a/gtk/gtkactivatable.c b/gtk/gtkactivatable.c index 6b93f32b84..c22690ccb4 100644 --- a/gtk/gtkactivatable.c +++ b/gtk/gtkactivatable.c @@ -263,7 +263,6 @@ #include "config.h" #include "gtkactivatable.h" #include "gtkactiongroup.h" -#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkactivatable.h b/gtk/gtkactivatable.h index 705bfa4e80..920b4a4eae 100644 --- a/gtk/gtkactivatable.h +++ b/gtk/gtkactivatable.h @@ -25,7 +25,6 @@ #define __GTK_ACTIVATABLE_H__ #include -#include G_BEGIN_DECLS diff --git a/gtk/gtkarrow.c b/gtk/gtkarrow.c index 57d5a0e065..c0c4ccfa77 100644 --- a/gtk/gtkarrow.c +++ b/gtk/gtkarrow.c @@ -48,7 +48,7 @@ #include #include "gtkarrow.h" #include "gtksizerequest.h" -#include "gtktypeutils.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkbbox.c b/gtk/gtkbbox.c index 5fdf837a15..24bdf1c392 100644 --- a/gtk/gtkbbox.c +++ b/gtk/gtkbbox.c @@ -49,9 +49,9 @@ #include "gtkbbox.h" #include "gtkorientable.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtksizerequest.h" -#include "gtktypeutils.h" #include "gtkintl.h" diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c index fcf531618a..80bcd8b252 100644 --- a/gtk/gtkbindings.c +++ b/gtk/gtkbindings.c @@ -33,8 +33,8 @@ #include #include "gtkbindings.h" -#include "gtkkeyhash.h" #include "gtktypeutils.h" +#include "gtkkeyhash.h" #include "gtkwidget.h" #include "gtkrc.h" diff --git a/gtk/gtkbox.c b/gtk/gtkbox.c index e3c4b42e83..8c7f86705e 100644 --- a/gtk/gtkbox.c +++ b/gtk/gtkbox.c @@ -88,7 +88,7 @@ #include "gtkbox.h" #include "gtkorientable.h" #include "gtksizerequest.h" -#include "gtktypeutils.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkbuildable.c b/gtk/gtkbuildable.c index d813fff451..25c9fc2e52 100644 --- a/gtk/gtkbuildable.c +++ b/gtk/gtkbuildable.c @@ -40,7 +40,6 @@ #include "config.h" #include "gtkbuildable.h" -#include "gtktypeutils.h" #include "gtkintl.h" diff --git a/gtk/gtkbuildable.h b/gtk/gtkbuildable.h index 50ed14cd1d..5f46026a5e 100644 --- a/gtk/gtkbuildable.h +++ b/gtk/gtkbuildable.h @@ -26,7 +26,6 @@ #define __GTK_BUILDABLE_H__ #include -#include G_BEGIN_DECLS diff --git a/gtk/gtkbuilderparser.c b/gtk/gtkbuilderparser.c index 11fe3c63f1..5ea15e3c60 100644 --- a/gtk/gtkbuilderparser.c +++ b/gtk/gtkbuilderparser.c @@ -23,13 +23,12 @@ #include #include -#include "gtktypeutils.h" #include "gtkbuilderprivate.h" #include "gtkbuilder.h" #include "gtkbuildable.h" #include "gtkdebug.h" #include "gtkversion.h" -#include "gtktypeutils.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index f81d1c2d9c..e54f018fab 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -53,6 +53,7 @@ #include "gtkcelllayout.h" #include "gtkcellareabox.h" #include "gtkcellareaboxcontext.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index e15323e830..95f33406b8 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -21,6 +21,7 @@ #include "gtkcellrenderer.h" #include "gtkintl.h" #include "gtkmarshalers.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtktreeprivate.h" diff --git a/gtk/gtkcellrendererspinner.c b/gtk/gtkcellrendererspinner.c index bc63b5ea90..034e40dba7 100644 --- a/gtk/gtkcellrendererspinner.c +++ b/gtk/gtkcellrendererspinner.c @@ -32,7 +32,7 @@ #include "gtkcellrendererspinner.h" #include "gtkiconfactory.h" #include "gtkicontheme.h" -#include "gtktypeutils.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index e6591c9c01..c26863ffc5 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -39,7 +39,7 @@ #include "gtkhsv.h" #include "gtkbindings.h" #include "gtkmarshalers.h" -#include "gtktypeutils.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" /* Default width/height */ diff --git a/gtk/gtkorientable.c b/gtk/gtkorientable.c index 2a3c761355..dfc0dd6faa 100644 --- a/gtk/gtkorientable.c +++ b/gtk/gtkorientable.c @@ -25,7 +25,7 @@ #include "gtkorientable.h" #include "gtkprivate.h" -#include "gtktypeutils.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index d81868e52e..c23fd15a2e 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -37,6 +37,7 @@ #include "gtkmarshalers.h" #include "gtkbindings.h" #include "gtkorientable.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" #include "gtkbuildable.h" diff --git a/gtk/gtkscrollable.c b/gtk/gtkscrollable.c index eb6e046f50..0ff0d9612c 100644 --- a/gtk/gtkscrollable.c +++ b/gtk/gtkscrollable.c @@ -63,8 +63,8 @@ #include "config.h" #include "gtkscrollable.h" -#include "gtktypeutils.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" G_DEFINE_INTERFACE (GtkScrollable, gtk_scrollable, G_TYPE_OBJECT) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index c18e7de7e8..1614b6b9c2 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -32,7 +32,6 @@ #include "gtkscrollable.h" #include "gtkscrolledwindow.h" #include "gtkwindow.h" -#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index e9e4978bbb..5ce17e8b14 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -28,10 +28,10 @@ #include "gtkrc.h" #include "gtkintl.h" #include "gtkwidget.h" -#include "gtktypeutils.h" #include "gtkprivate.h" #include "gtkcssprovider.h" #include "gtksymboliccolor.h" +#include "gtktypebuiltins.h" #include "gtkversion.h" #ifdef GDK_WINDOWING_X11 diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c index be24f64869..836b3da2a8 100644 --- a/gtk/gtksizegroup.c +++ b/gtk/gtksizegroup.c @@ -24,6 +24,7 @@ #include "gtkbuildable.h" #include "gtkcontainer.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtksizegroup-private.h" #include "gtkwidgetprivate.h" diff --git a/gtk/gtktreesortable.h b/gtk/gtktreesortable.h index c9ce6e787a..ccd8bc2bc9 100644 --- a/gtk/gtktreesortable.h +++ b/gtk/gtktreesortable.h @@ -27,7 +27,6 @@ #include #include -#include G_BEGIN_DECLS diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index 7f7445f4d2..dfa8f1552a 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -30,8 +30,8 @@ #include "gtkintl.h" #include "gtkmarshalers.h" -#include "gtktypeutils.h" #include "gtkscrollable.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" From b5c6904c2f77d20e64b86c48b262d7306502a880 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 12:21:41 -0500 Subject: [PATCH 1131/1463] Drop explicit includes of gdkkeysyms.h These are no longer needed. At the same time, port gtkimcontextsimpleseqs.h to use the new GDK_KEY_ symbols. --- gtk/compose-parse.py | 12 +- gtk/gtkaboutdialog.c | 2 - gtk/gtkaccelgroup.c | 3 +- gtk/gtkaccellabel.c | 2 - gtk/gtkbindings.c | 1 - gtk/gtkcalendar.c | 1 - gtk/gtkcellrendereraccel.c | 2 - gtk/gtkcellrendererspin.c | 2 +- gtk/gtkcolorbutton.c | 3 +- gtk/gtkcombobox.c | 2 - gtk/gtkdialog.c | 5 +- gtk/gtkentry.c | 1 - gtk/gtkexpander.c | 3 +- gtk/gtkfilechooserdefault.c | 1 - gtk/gtkfilechooserentry.c | 2 - gtk/gtkfontsel.c | 5 +- gtk/gtkhsv.c | 2 - gtk/gtkiconview.c | 3 +- gtk/gtkimcontextsimple.c | 80 +- gtk/gtkimcontextsimpleseqs.h | 8824 +++++++++++++++++----------------- gtk/gtkinfobar.c | 1 - gtk/gtklabel.c | 1 - gtk/gtkmenu.c | 6 +- gtk/gtkmenubar.c | 1 - gtk/gtkmenushell.c | 2 +- gtk/gtknotebook.c | 4 +- gtk/gtkpaned.c | 1 - gtk/gtkrange.c | 1 - gtk/gtkscale.c | 1 - gtk/gtkscalebutton.c | 3 - gtk/gtkscrolledwindow.c | 3 +- gtk/gtksocket-x11.c | 2 +- gtk/gtksocket.c | 1 - gtk/gtkspinbutton.c | 3 +- gtk/gtkstatusicon.c | 9 +- gtk/gtkstock.c | 2 +- gtk/gtkswitch.c | 2 - gtk/gtktextview.c | 2 +- gtk/gtktoolbar.c | 4 +- gtk/gtktreeview.c | 2 +- gtk/gtkwidget.c | 11 +- gtk/gtkwindow.c | 2 - 42 files changed, 4492 insertions(+), 4528 deletions(-) diff --git a/gtk/compose-parse.py b/gtk/compose-parse.py index 6fe1929725..18d9f3f162 100755 --- a/gtk/compose-parse.py +++ b/gtk/compose-parse.py @@ -253,7 +253,7 @@ def process_gdkkeysymsh(): for line in gdkkeysymsh.readlines(): linenum_gdkkeysymsh += 1 line = line.strip() - if line == "" or not match('^#define GDK_', line): + if line == "" or not match('^#define GDK_KEY_', line): continue components = split('\s+', line) if len(components) < 3: @@ -261,10 +261,10 @@ def process_gdkkeysymsh(): % {'linenum': linenum_gdkkeysymsh, 'filename': filename_gdkkeysymsh, 'line': line} print "Was expecting 3 items in the line" sys.exit(-1) - if not match('^GDK_', components[1]): + if not match('^GDK_KEY_', components[1]): print "Invalid line %(linenum)d in %(filename)s: %(line)s"\ % {'linenum': linenum_gdkkeysymsh, 'filename': filename_gdkkeysymsh, 'line': line} - print "Was expecting a keysym starting with GDK_" + print "Was expecting a keysym starting with GDK_KEY_" sys.exit(-1) if match('^0x[0-9a-fA-F]+$', components[2]): unival = long(components[2][2:], 16) @@ -772,9 +772,9 @@ def convert_UnotationToHex(arg): def addprefix_GDK(arg): if match('^0x', arg): - return '%(arg)s, ' % { 'arg': arg } + return '%(arg)s, ' % { 'arg': arg } else: - return 'GDK_%(arg)s, ' % { 'arg': arg } + return 'GDK_KEY_%(arg)s, ' % { 'arg': arg } if opt_gtk: first_keysym = "" @@ -818,7 +818,7 @@ if opt_gtk: print "0x%(ks)04X," % { "ks": keysymvalue(i[0]) }, print '%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i[1:])) } elif not match('^0x', i[0]): - print 'GDK_%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i)) } + print 'GDK_KEY_%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i)) } else: print '%(str)s' % { 'str': "".join(map(lambda x : str(x) + ", ", i)) } for i in ct_second_part: diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index 4c135d940c..ea4d9304ac 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -32,8 +32,6 @@ #include -#include - #include "gtkaboutdialog.h" #include "gtkalignment.h" #include "gtkbutton.h" diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index 38296b31b2..945724d301 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -33,8 +33,7 @@ #include "gtkaccellabel.h" /* For _gtk_accel_label_class_get_accelerator_label */ #include "gtkaccelmap.h" #include "gtkintl.h" -#include "gtkmain.h" /* For _gtk_boolean_handled_accumulator */ -#include "gdk/gdkkeysyms.h" +#include "gtkmain.h" /* For _gtk_boolean_handled_accumulator */ #include "gtkmarshalers.h" diff --git a/gtk/gtkaccellabel.c b/gtk/gtkaccellabel.c index d86b003ce6..e373542d29 100644 --- a/gtk/gtkaccellabel.c +++ b/gtk/gtkaccellabel.c @@ -37,8 +37,6 @@ #include "gtkprivate.h" #include "gtkintl.h" -#include - /** * SECTION:gtkaccellabel * @Short_description: A label which displays an accelerator key on the right of the text diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c index 80bcd8b252..e8b0b632e4 100644 --- a/gtk/gtkbindings.c +++ b/gtk/gtkbindings.c @@ -30,7 +30,6 @@ #include "config.h" #include #include -#include #include "gtkbindings.h" #include "gtktypeutils.h" diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index 36bd281ff2..b1492a55a0 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -81,7 +81,6 @@ #include "gtkmarshalers.h" #include "gtktooltip.h" #include "gtkprivate.h" -#include "gdk/gdkkeysyms.h" /***************************************************************************/ /* The following date routines are taken from the lib_date package. diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c index b0a42dbc36..e1ad0f8b0d 100644 --- a/gtk/gtkcellrendereraccel.c +++ b/gtk/gtkcellrendereraccel.c @@ -21,8 +21,6 @@ #include "gtkcellrendereraccel.h" -#include "gdk/gdkkeysyms.h" - #include "gtkintl.h" #include "gtkaccelgroup.h" #include "gtkmarshalers.h" diff --git a/gtk/gtkcellrendererspin.c b/gtk/gtkcellrendererspin.c index fc170bd966..bd620b4c55 100644 --- a/gtk/gtkcellrendererspin.c +++ b/gtk/gtkcellrendererspin.c @@ -21,7 +21,7 @@ */ #include "config.h" -#include + #include "gtkintl.h" #include "gtkprivate.h" #include "gtkspinbutton.h" diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index e3d0f41ee7..91e1427110 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -31,8 +31,7 @@ #include "config.h" #include "gtkcolorbutton.h" -#include "gdk/gdkkeysyms.h" -#include "gdk-pixbuf/gdk-pixbuf.h" + #include "gtkbutton.h" #include "gtkmain.h" #include "gtkalignment.h" diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index d4a90ec023..4fdcfe5b0d 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -42,8 +42,6 @@ #include "gtkwindow.h" #include "gtkprivate.h" -#include - #include #include diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index c5bd040803..1011848a48 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -24,16 +24,17 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +#include "config.h" + #include #include -#include "config.h" + #include "gtkbutton.h" #include "gtkdialog.h" #include "gtkhbbox.h" #include "gtklabel.h" #include "gtkmarshalers.h" #include "gtkvbox.h" -#include "gdkkeysyms.h" #include "gtkmain.h" #include "gtkintl.h" #include "gtkbindings.h" diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 7bcb805082..67c28d8cfb 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -33,7 +33,6 @@ #include #include -#include "gdk/gdkkeysyms.h" #include "gtkalignment.h" #include "gtkbindings.h" #include "gtkcelleditable.h" diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 11a9554d2b..98590bcabc 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -22,7 +22,9 @@ */ #include "config.h" + #include + #include "gtkexpander.h" #include "gtklabel.h" @@ -32,7 +34,6 @@ #include "gtkmain.h" #include "gtkintl.h" #include "gtkprivate.h" -#include #include "gtkdnd.h" diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index de3397bf0e..c9eef75a5a 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -23,7 +23,6 @@ #include "gtkfilechooserdefault.h" -#include "gdk/gdkkeysyms.h" #include "gtkalignment.h" #include "gtkbindings.h" #include "gtkcelllayout.h" diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c index f2933a7ab7..6df60c7d32 100644 --- a/gtk/gtkfilechooserentry.c +++ b/gtk/gtkfilechooserentry.c @@ -34,8 +34,6 @@ #include "gtkwindow.h" #include "gtkintl.h" -#include "gdkkeysyms.h" - typedef struct _GtkFileChooserEntryClass GtkFileChooserEntryClass; #define GTK_FILE_CHOOSER_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FILE_CHOOSER_ENTRY, GtkFileChooserEntryClass)) diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index e73b4ba426..927899f2c4 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -30,17 +30,14 @@ */ #include "config.h" + #include #include #include #include -#include "gdk/gdk.h" -#include "gdk/gdkkeysyms.h" - #include "gtkfontsel.h" - #include "gtkbutton.h" #include "gtkcellrenderertext.h" #include "gtkentry.h" diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index c26863ffc5..507a03d1f8 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -34,8 +34,6 @@ #include #include -#include "gdk/gdkkeysyms.h" - #include "gtkhsv.h" #include "gtkbindings.h" #include "gtkmarshalers.h" diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index e4da1a0939..69d0564ee2 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -18,12 +18,11 @@ */ #include "config.h" + #include #include -#include - #include "gtkiconview.h" #include "gtkcelllayout.h" #include "gtkcellrenderer.h" diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 1270bb0563..522b21ea0a 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -18,10 +18,10 @@ */ #include "config.h" + #include #include -#include #include "gtkprivate.h" #include "gtkaccelgroup.h" #include "gtkimcontextsimple.h" @@ -87,22 +87,22 @@ static const GtkComposeTableCompact gtk_compose_table_compact = { }; static const guint16 gtk_compose_ignore[] = { - GDK_Shift_L, - GDK_Shift_R, - GDK_Control_L, - GDK_Control_R, - GDK_Caps_Lock, - GDK_Shift_Lock, - GDK_Meta_L, - GDK_Meta_R, - GDK_Alt_L, - GDK_Alt_R, - GDK_Super_L, - GDK_Super_R, - GDK_Hyper_L, - GDK_Hyper_R, - GDK_Mode_switch, - GDK_ISO_Level3_Shift + GDK_KEY_Shift_L, + GDK_KEY_Shift_R, + GDK_KEY_Control_L, + GDK_KEY_Control_R, + GDK_KEY_Caps_Lock, + GDK_KEY_Shift_Lock, + GDK_KEY_Meta_L, + GDK_KEY_Meta_R, + GDK_KEY_Alt_L, + GDK_KEY_Alt_R, + GDK_KEY_Super_L, + GDK_KEY_Super_R, + GDK_KEY_Hyper_L, + GDK_KEY_Hyper_R, + GDK_KEY_Mode_switch, + GDK_KEY_ISO_Level3_Shift }; static void gtk_im_context_simple_finalize (GObject *obj); @@ -299,14 +299,14 @@ check_table (GtkIMContextSimple *context_simple, } /* Checks if a keysym is a dead key. Dead key keysym values are defined in - * ../gdk/gdkkeysyms.h and the first is GDK_dead_grave. As X.Org is updated, + * ../gdk/gdkkeysyms.h and the first is GDK_KEY_dead_grave. As X.Org is updated, * more dead keys are added and we need to update the upper limit. - * Currently, the upper limit is GDK_dead_dasia+1. The +1 has to do with - * a temporary issue in the X.Org header files. + * Currently, the upper limit is GDK_KEY_dead_dasia+1. The +1 has to do with + * a temporary issue in the X.Org header files. * In future versions it will be just the keysym (no +1). */ #define IS_DEAD_KEY(k) \ - ((k) >= GDK_dead_grave && (k) <= (GDK_dead_dasia+1)) + ((k) >= GDK_KEY_dead_grave && (k) <= (GDK_KEY_dead_dasia+1)) #ifdef GDK_WINDOWING_WIN32 @@ -323,15 +323,15 @@ check_win32_special_cases (GtkIMContextSimple *context_simple, { GtkIMContextSimplePrivate *priv = context_simple->priv; if (n_compose == 2 && - priv->compose_buffer[1] == GDK_space) + priv->compose_buffer[1] == GDK_KEY_space) { gunichar value = 0; switch (priv->compose_buffer[0]) { - case GDK_dead_acute: + case GDK_KEY_dead_acute: value = 0x00B4; break; - case GDK_dead_diaeresis: + case GDK_KEY_dead_diaeresis: value = 0x00A8; break; } if (value > 0) @@ -523,8 +523,8 @@ check_normalize_nfc (gunichar* combination_buffer, gint n_compose) } static gboolean -check_algorithmically (GtkIMContextSimple *context_simple, - gint n_compose) +check_algorithmically (GtkIMContextSimple *context_simple, + gint n_compose) { GtkIMContextSimplePrivate *priv = context_simple->priv; @@ -550,7 +550,7 @@ check_algorithmically (GtkIMContextSimple *context_simple, switch (priv->compose_buffer[i]) { #define CASE(keysym, unicode) \ - case GDK_dead_##keysym: combination_buffer[i+1] = unicode; break + case GDK_KEY_dead_##keysym: combination_buffer[i+1] = unicode; break CASE (grave, 0x0300); CASE (acute, 0x0301); @@ -830,8 +830,8 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, if (event->type == GDK_KEY_RELEASE) { if (priv->in_hex_sequence && - (event->keyval == GDK_Control_L || event->keyval == GDK_Control_R || - event->keyval == GDK_Shift_L || event->keyval == GDK_Shift_R)) + (event->keyval == GDK_KEY_Control_L || event->keyval == GDK_KEY_Control_R || + event->keyval == GDK_KEY_Shift_L || event->keyval == GDK_KEY_Shift_R)) { if (priv->tentative_match && g_unichar_validate (priv->tentative_match)) @@ -872,14 +872,14 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, have_hex_mods = TRUE; else have_hex_mods = (event->state & (HEX_MOD_MASK)) == HEX_MOD_MASK; - is_hex_start = event->keyval == GDK_U; - is_hex_end = (event->keyval == GDK_space || - event->keyval == GDK_KP_Space || - event->keyval == GDK_Return || - event->keyval == GDK_ISO_Enter || - event->keyval == GDK_KP_Enter); - is_backspace = event->keyval == GDK_BackSpace; - is_escape = event->keyval == GDK_Escape; + is_hex_start = event->keyval == GDK_KEY_U; + is_hex_end = (event->keyval == GDK_KEY_space || + event->keyval == GDK_KEY_KP_Space || + event->keyval == GDK_KEY_Return || + event->keyval == GDK_KEY_ISO_Enter || + event->keyval == GDK_KEY_KP_Enter); + is_backspace = event->keyval == GDK_KEY_BackSpace; + is_escape = event->keyval == GDK_KEY_Escape; hex_keyval = canonical_hex_keyval (event); /* If we are already in a non-hex sequence, or @@ -897,9 +897,9 @@ gtk_im_context_simple_filter_keypress (GtkIMContext *context, { if (event->state & (GDK_MOD1_MASK | GDK_CONTROL_MASK) || (priv->in_hex_sequence && priv->modifiers_dropped && - (event->keyval == GDK_Return || - event->keyval == GDK_ISO_Enter || - event->keyval == GDK_KP_Enter))) + (event->keyval == GDK_KEY_Return || + event->keyval == GDK_KEY_ISO_Enter || + event->keyval == GDK_KEY_KP_Enter))) { return FALSE; } diff --git a/gtk/gtkimcontextsimpleseqs.h b/gtk/gtkimcontextsimpleseqs.h index f804815f41..a5cd046c99 100644 --- a/gtk/gtkimcontextsimpleseqs.h +++ b/gtk/gtkimcontextsimpleseqs.h @@ -26,7 +26,7 @@ * * This table is optimised for space and requires special handling to access the content. * This table is used solely by http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtkimcontextsimple.c - * + * * The resulting file is placed at http://svn.gnome.org/viewcvs/gtk%2B/trunk/gtk/gtkimcontextsimpleseqs.h * This file is described in bug report http://bugzilla.gnome.org/show_bug.cgi?id=321896 */ @@ -67,4417 +67,4417 @@ */ static const guint16 gtk_compose_seqs_compact[] = { -GDK_dead_stroke, 144, 232, 241, 241, 241, -GDK_Greek_accentdieresis, 241, 245, 245, 245, 245, -GDK_dead_grave, 245, 307, 394, 606, 606, -GDK_dead_acute, 606, 670, 766, 1042, 1042, -GDK_dead_circumflex, 1042, 1166, 1166, 1366, 1366, -GDK_dead_tilde, 1366, 1450, 1513, 1653, 1653, -GDK_dead_macron, 1653, 1699, 1699, 1771, 1771, -GDK_dead_breve, 1771, 1821, 1821, 1845, 1845, -GDK_dead_abovedot, 1845, 1875, 1878, 1910, 1910, -GDK_dead_diaeresis, 1910, 1998, 2007, 2031, 2031, -GDK_dead_abovering, 2031, 2041, 2041, 2041, 2041, -GDK_dead_doubleacute, 2041, 2051, 2051, 2051, 2051, -GDK_dead_caron, 2051, 2093, 2093, 2101, 2101, -GDK_dead_cedilla, 2101, 2113, 2113, 2113, 2113, -GDK_dead_ogonek, 2113, 2123, 2123, 2123, 2123, -GDK_dead_iota, 2123, 2145, 2244, 2676, 3336, -GDK_dead_voiced_sound, 3336, 3382, 3382, 3382, 3382, -GDK_dead_semivoiced_sound, 3382, 3392, 3392, 3392, 3392, -GDK_dead_belowdot, 3392, 3408, 3408, 3424, 3424, -GDK_dead_hook, 3424, 3500, 3500, 3556, 3556, -GDK_dead_horn, 3556, 3566, 3566, 3566, 3566, -GDK_dead_psili, 3566, 3594, 3594, 3594, 3594, -GDK_dead_dasia, 3594, 3626, 3626, 3626, 3626, -GDK_Multi_key, 3626, 3626, 9560, 13268, 15133, -GDK_space, 0x002F, -GDK_2, 0x01BB, -GDK_A, 0x023A, -GDK_B, 0x0243, -GDK_C, 0x023B, -GDK_D, 0x0110, -GDK_E, 0x0246, -GDK_G, 0x01E4, -GDK_H, 0x0126, -GDK_I, 0x0197, -GDK_J, 0x0248, -GDK_L, 0x0141, -GDK_O, 0x00D8, -GDK_P, 0x2C63, -GDK_R, 0x024C, -GDK_T, 0x0166, -GDK_U, 0x0244, -GDK_Y, 0x024E, -GDK_Z, 0x01B5, -GDK_a, 0x2C65, -GDK_b, 0x0180, -GDK_c, 0x023C, -GDK_d, 0x0111, -GDK_e, 0x0247, -GDK_g, 0x01E5, -GDK_h, 0x0127, -GDK_i, 0x0268, -GDK_j, 0x0249, -GDK_l, 0x0142, -GDK_o, 0x00F8, -GDK_p, 0x1D7D, -GDK_r, 0x024D, -GDK_t, 0x0167, -GDK_u, 0x0289, -GDK_y, 0x024F, -GDK_z, 0x01B6, -GDK_nobreakspace, 0x0338, -GDK_Oacute, 0x01FE, -GDK_oacute, 0x01FF, -0x0237, 0x025F, -0x0269, 0x1D7C, -GDK_dead_stroke, 0x002F, -GDK_lessthanequal, 0x2270, -GDK_greaterthanequal, 0x2271, -GDK_dead_acute, GDK_O, 0x01FE, -GDK_dead_acute, GDK_o, 0x01FF, -GDK_dead_abovedot, GDK_j, 0x025F, -GDK_Greek_iota, 0x0390, -GDK_Greek_upsilon, 0x03B0, -GDK_space, 0x0060, -GDK_V, 0x01DB, -GDK_v, 0x01DC, -GDK_nobreakspace, 0x0300, -GDK_Abreve, 0x1EB0, -GDK_abreve, 0x1EB1, -GDK_Emacron, 0x1E14, -GDK_emacron, 0x1E15, -GDK_Omacron, 0x1E50, -GDK_omacron, 0x1E51, -GDK_Cyrillic_ie, 0x0450, -GDK_Cyrillic_i, 0x045D, -GDK_Cyrillic_IE, 0x0400, -GDK_Cyrillic_I, 0x040D, -GDK_Greek_iotadieresis, 0x1FD2, -GDK_Greek_upsilondieresis, 0x1FE2, -GDK_Greek_ALPHA, 0x1FBA, -GDK_Greek_EPSILON, 0x1FC8, -GDK_Greek_ETA, 0x1FCA, -GDK_Greek_IOTA, 0x1FDA, -GDK_Greek_OMICRON, 0x1FF8, -GDK_Greek_UPSILON, 0x1FEA, -GDK_Greek_OMEGA, 0x1FFA, -GDK_Greek_alpha, 0x1F70, -GDK_Greek_epsilon, 0x1F72, -GDK_Greek_eta, 0x1F74, -GDK_Greek_iota, 0x1F76, -GDK_Greek_omicron, 0x1F78, -GDK_Greek_upsilon, 0x1F7A, -GDK_Greek_omega, 0x1F7C, -GDK_dead_grave, 0x0060, -GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD2, -GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE2, -GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0A, -GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1A, -GDK_dead_psili, GDK_Greek_ETA, 0x1F2A, -GDK_dead_psili, GDK_Greek_IOTA, 0x1F3A, -GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4A, -GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6A, -GDK_dead_psili, GDK_Greek_alpha, 0x1F02, -GDK_dead_psili, GDK_Greek_epsilon, 0x1F12, -GDK_dead_psili, GDK_Greek_eta, 0x1F22, -GDK_dead_psili, GDK_Greek_iota, 0x1F32, -GDK_dead_psili, GDK_Greek_omicron, 0x1F42, -GDK_dead_psili, GDK_Greek_upsilon, 0x1F52, -GDK_dead_psili, GDK_Greek_omega, 0x1F62, -GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0B, -GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1B, -GDK_dead_dasia, GDK_Greek_ETA, 0x1F2B, -GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3B, -GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4B, -GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5B, -GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6B, -GDK_dead_dasia, GDK_Greek_alpha, 0x1F03, -GDK_dead_dasia, GDK_Greek_epsilon, 0x1F13, -GDK_dead_dasia, GDK_Greek_eta, 0x1F23, -GDK_dead_dasia, GDK_Greek_iota, 0x1F33, -GDK_dead_dasia, GDK_Greek_omicron, 0x1F43, -GDK_dead_dasia, GDK_Greek_upsilon, 0x1F53, -GDK_dead_dasia, GDK_Greek_omega, 0x1F63, -GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01DB, -GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01DC, -GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0x1FD2, -GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE2, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F2B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_IOTA, 0x1F3B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6B, -GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F03, -GDK_Multi_key, GDK_parenleft, GDK_Greek_epsilon, 0x1F13, -GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F23, -GDK_Multi_key, GDK_parenleft, GDK_Greek_iota, 0x1F33, -GDK_Multi_key, GDK_parenleft, GDK_Greek_omicron, 0x1F43, -GDK_Multi_key, GDK_parenleft, GDK_Greek_upsilon, 0x1F53, -GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1F63, -GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F0A, -GDK_Multi_key, GDK_parenright, GDK_Greek_EPSILON, 0x1F1A, -GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F2A, -GDK_Multi_key, GDK_parenright, GDK_Greek_IOTA, 0x1F3A, -GDK_Multi_key, GDK_parenright, GDK_Greek_OMICRON, 0x1F4A, -GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1F6A, -GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F02, -GDK_Multi_key, GDK_parenright, GDK_Greek_epsilon, 0x1F12, -GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F22, -GDK_Multi_key, GDK_parenright, GDK_Greek_iota, 0x1F32, -GDK_Multi_key, GDK_parenright, GDK_Greek_omicron, 0x1F42, -GDK_Multi_key, GDK_parenright, GDK_Greek_upsilon, 0x1F52, -GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1F62, -GDK_Multi_key, GDK_plus, GDK_O, 0x1EDC, -GDK_Multi_key, GDK_plus, GDK_U, 0x1EEA, -GDK_Multi_key, GDK_plus, GDK_o, 0x1EDD, -GDK_Multi_key, GDK_plus, GDK_u, 0x1EEB, -GDK_Multi_key, GDK_U, GDK_A, 0x1EB0, -GDK_Multi_key, GDK_U, GDK_a, 0x1EB1, -GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EA6, -GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EC0, -GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED2, -GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EA7, -GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC1, -GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED3, -GDK_Multi_key, GDK_underscore, GDK_E, 0x1E14, -GDK_Multi_key, GDK_underscore, GDK_O, 0x1E50, -GDK_Multi_key, GDK_underscore, GDK_e, 0x1E15, -GDK_Multi_key, GDK_underscore, GDK_o, 0x1E51, -GDK_Multi_key, GDK_b, GDK_A, 0x1EB0, -GDK_Multi_key, GDK_b, GDK_a, 0x1EB1, -GDK_Multi_key, GDK_macron, GDK_E, 0x1E14, -GDK_Multi_key, GDK_macron, GDK_O, 0x1E50, -GDK_Multi_key, GDK_macron, GDK_e, 0x1E15, -GDK_Multi_key, GDK_macron, GDK_o, 0x1E51, -GDK_space, 0x0027, -GDK_V, 0x01D7, -GDK_v, 0x01D8, -GDK_nobreakspace, 0x0301, -GDK_Abreve, 0x1EAE, -GDK_abreve, 0x1EAF, -GDK_Emacron, 0x1E16, -GDK_emacron, 0x1E17, -GDK_Utilde, 0x1E78, -GDK_omacron, 0x1E53, -GDK_utilde, 0x1E79, -GDK_Cyrillic_ghe, 0x0453, -GDK_Cyrillic_ka, 0x045C, -GDK_Cyrillic_GHE, 0x0403, -GDK_Cyrillic_KA, 0x040C, -GDK_Greek_iotadieresis, 0x0390, -GDK_Greek_upsilondieresis, 0x03B0, -GDK_Greek_ALPHA, 0x0386, -GDK_Greek_EPSILON, 0x0388, -GDK_Greek_ETA, 0x0389, -GDK_Greek_IOTA, 0x038A, -GDK_Greek_OMICRON, 0x038C, -GDK_Greek_UPSILON, 0x038E, -GDK_Greek_OMEGA, 0x038F, -GDK_Greek_alpha, 0x03AC, -GDK_Greek_epsilon, 0x03AD, -GDK_Greek_eta, 0x03AE, -GDK_Greek_iota, 0x03AF, -GDK_Greek_omicron, 0x03CC, -GDK_Greek_upsilon, 0x03CD, -GDK_Greek_omega, 0x03CE, -GDK_dead_acute, 0x00B4, -GDK_dead_stroke, GDK_O, 0x01FE, -GDK_dead_stroke, GDK_o, 0x01FF, -GDK_dead_diaeresis, GDK_space, 0x0385, -GDK_dead_diaeresis, GDK_Greek_iota, 0x0390, -GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0, -GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0C, -GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1C, -GDK_dead_psili, GDK_Greek_ETA, 0x1F2C, -GDK_dead_psili, GDK_Greek_IOTA, 0x1F3C, -GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4C, -GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6C, -GDK_dead_psili, GDK_Greek_alpha, 0x1F04, -GDK_dead_psili, GDK_Greek_epsilon, 0x1F14, -GDK_dead_psili, GDK_Greek_eta, 0x1F24, -GDK_dead_psili, GDK_Greek_iota, 0x1F34, -GDK_dead_psili, GDK_Greek_omicron, 0x1F44, -GDK_dead_psili, GDK_Greek_upsilon, 0x1F54, -GDK_dead_psili, GDK_Greek_omega, 0x1F64, -GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0D, -GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1D, -GDK_dead_dasia, GDK_Greek_ETA, 0x1F2D, -GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3D, -GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4D, -GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5D, -GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6D, -GDK_dead_dasia, GDK_Greek_alpha, 0x1F05, -GDK_dead_dasia, GDK_Greek_epsilon, 0x1F15, -GDK_dead_dasia, GDK_Greek_eta, 0x1F25, -GDK_dead_dasia, GDK_Greek_iota, 0x1F35, -GDK_dead_dasia, GDK_Greek_omicron, 0x1F45, -GDK_dead_dasia, GDK_Greek_upsilon, 0x1F55, -GDK_dead_dasia, GDK_Greek_omega, 0x1F65, -GDK_Multi_key, GDK_quotedbl, GDK_I, 0x1E2E, -GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01D7, -GDK_Multi_key, GDK_quotedbl, GDK_i, 0x1E2F, -GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01D8, -GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0x0390, -GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0x03B0, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F2D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_IOTA, 0x1F3D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6D, -GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F05, -GDK_Multi_key, GDK_parenleft, GDK_Greek_epsilon, 0x1F15, -GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F25, -GDK_Multi_key, GDK_parenleft, GDK_Greek_iota, 0x1F35, -GDK_Multi_key, GDK_parenleft, GDK_Greek_omicron, 0x1F45, -GDK_Multi_key, GDK_parenleft, GDK_Greek_upsilon, 0x1F55, -GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1F65, -GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F0C, -GDK_Multi_key, GDK_parenright, GDK_Greek_EPSILON, 0x1F1C, -GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F2C, -GDK_Multi_key, GDK_parenright, GDK_Greek_IOTA, 0x1F3C, -GDK_Multi_key, GDK_parenright, GDK_Greek_OMICRON, 0x1F4C, -GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1F6C, -GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F04, -GDK_Multi_key, GDK_parenright, GDK_Greek_epsilon, 0x1F14, -GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F24, -GDK_Multi_key, GDK_parenright, GDK_Greek_iota, 0x1F34, -GDK_Multi_key, GDK_parenright, GDK_Greek_omicron, 0x1F44, -GDK_Multi_key, GDK_parenright, GDK_Greek_upsilon, 0x1F54, -GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1F64, -GDK_Multi_key, GDK_plus, GDK_O, 0x1EDA, -GDK_Multi_key, GDK_plus, GDK_U, 0x1EE8, -GDK_Multi_key, GDK_plus, GDK_o, 0x1EDB, -GDK_Multi_key, GDK_plus, GDK_u, 0x1EE9, -GDK_Multi_key, GDK_comma, GDK_C, 0x1E08, -GDK_Multi_key, GDK_comma, GDK_c, 0x1E09, -GDK_Multi_key, GDK_slash, GDK_O, 0x01FE, -GDK_Multi_key, GDK_slash, GDK_o, 0x01FF, -GDK_Multi_key, GDK_U, GDK_A, 0x1EAE, -GDK_Multi_key, GDK_U, GDK_a, 0x1EAF, -GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EA4, -GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EBE, -GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED0, -GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EA5, -GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EBF, -GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED1, -GDK_Multi_key, GDK_underscore, GDK_E, 0x1E16, -GDK_Multi_key, GDK_underscore, GDK_O, 0x1E52, -GDK_Multi_key, GDK_underscore, GDK_e, 0x1E17, -GDK_Multi_key, GDK_underscore, GDK_o, 0x1E53, -GDK_Multi_key, GDK_b, GDK_A, 0x1EAE, -GDK_Multi_key, GDK_b, GDK_a, 0x1EAF, -GDK_Multi_key, GDK_o, GDK_A, 0x01FA, -GDK_Multi_key, GDK_o, GDK_a, 0x01FB, -GDK_Multi_key, GDK_asciitilde, GDK_O, 0x1E4C, -GDK_Multi_key, GDK_asciitilde, GDK_U, 0x1E78, -GDK_Multi_key, GDK_asciitilde, GDK_o, 0x1E4D, -GDK_Multi_key, GDK_asciitilde, GDK_u, 0x1E79, -GDK_Multi_key, GDK_macron, GDK_E, 0x1E16, -GDK_Multi_key, GDK_macron, GDK_O, 0x1E52, -GDK_Multi_key, GDK_macron, GDK_e, 0x1E17, -GDK_Multi_key, GDK_macron, GDK_o, 0x1E53, -GDK_Multi_key, GDK_cedilla, GDK_C, 0x1E08, -GDK_Multi_key, GDK_cedilla, GDK_c, 0x1E09, -GDK_Multi_key, GDK_KP_Divide, GDK_O, 0x01FE, -GDK_Multi_key, GDK_KP_Divide, GDK_o, 0x01FF, -GDK_space, 0x005E, -GDK_parenleft, 0x207D, -GDK_parenright, 0x207E, -GDK_plus, 0x207A, -GDK_minus, 0x207B, -GDK_0, 0x2070, -GDK_1, 0x00B9, -GDK_2, 0x00B2, -GDK_3, 0x00B3, -GDK_4, 0x2074, -GDK_5, 0x2075, -GDK_6, 0x2076, -GDK_7, 0x2077, -GDK_8, 0x2078, -GDK_9, 0x2079, -GDK_equal, 0x207C, -GDK_nobreakspace, 0x0302, -GDK_Agrave, 0x1EA6, -GDK_Aacute, 0x1EA4, -GDK_Atilde, 0x1EAA, -GDK_Egrave, 0x1EC0, -GDK_Eacute, 0x1EBE, -GDK_Ograve, 0x1ED2, -GDK_Oacute, 0x1ED0, -GDK_Otilde, 0x1ED6, -GDK_agrave, 0x1EA7, -GDK_aacute, 0x1EA5, -GDK_atilde, 0x1EAB, -GDK_egrave, 0x1EC1, -GDK_eacute, 0x1EBF, -GDK_ograve, 0x1ED3, -GDK_oacute, 0x1ED1, -GDK_otilde, 0x1ED7, -0x2212, 0x207B, -0x4E00, 0x3192, -0x4E01, 0x319C, -0x4E09, 0x3194, -0x4E0A, 0x3196, -0x4E0B, 0x3198, -0x4E19, 0x319B, -0x4E2D, 0x3197, -0x4E59, 0x319A, -0x4E8C, 0x3193, -0x4EBA, 0x319F, -0x56DB, 0x3195, -0x5730, 0x319E, -0x5929, 0x319D, -0x7532, 0x3199, -GDK_dead_circumflex, 0x005E, -GDK_KP_Space, 0x00B2, -GDK_KP_Add, 0x207A, -GDK_KP_0, 0x2070, -GDK_KP_1, 0x00B9, -GDK_KP_2, 0x00B2, -GDK_KP_3, 0x00B3, -GDK_KP_4, 0x2074, -GDK_KP_5, 0x2075, -GDK_KP_6, 0x2076, -GDK_KP_7, 0x2077, -GDK_KP_8, 0x2078, -GDK_KP_9, 0x2079, -GDK_KP_Equal, 0x207C, -GDK_Multi_key, GDK_exclam, GDK_A, 0x1EAC, -GDK_Multi_key, GDK_exclam, GDK_E, 0x1EC6, -GDK_Multi_key, GDK_exclam, GDK_O, 0x1ED8, -GDK_Multi_key, GDK_exclam, GDK_a, 0x1EAD, -GDK_Multi_key, GDK_exclam, GDK_e, 0x1EC7, -GDK_Multi_key, GDK_exclam, GDK_o, 0x1ED9, -GDK_Multi_key, GDK_S, GDK_M, 0x2120, -GDK_Multi_key, GDK_S, GDK_m, 0x2120, -GDK_Multi_key, GDK_T, GDK_M, 0x2122, -GDK_Multi_key, GDK_T, GDK_m, 0x2122, -GDK_Multi_key, GDK_underscore, GDK_a, 0x00AA, -GDK_Multi_key, GDK_underscore, GDK_h, 0x02B0, -GDK_Multi_key, GDK_underscore, GDK_i, 0x2071, -GDK_Multi_key, GDK_underscore, GDK_j, 0x02B2, -GDK_Multi_key, GDK_underscore, GDK_l, 0x02E1, -GDK_Multi_key, GDK_underscore, GDK_n, 0x207F, -GDK_Multi_key, GDK_underscore, GDK_o, 0x00BA, -GDK_Multi_key, GDK_underscore, GDK_r, 0x02B3, -GDK_Multi_key, GDK_underscore, GDK_s, 0x02E2, -GDK_Multi_key, GDK_underscore, GDK_w, 0x02B7, -GDK_Multi_key, GDK_underscore, GDK_x, 0x02E3, -GDK_Multi_key, GDK_underscore, GDK_y, 0x02B8, -GDK_Multi_key, GDK_underscore, 0x0263, 0x02E0, -GDK_Multi_key, GDK_underscore, 0x0266, 0x02B1, -GDK_Multi_key, GDK_underscore, 0x0279, 0x02B4, -GDK_Multi_key, GDK_underscore, 0x027B, 0x02B5, -GDK_Multi_key, GDK_underscore, 0x0281, 0x02B6, -GDK_Multi_key, GDK_underscore, 0x0295, 0x02E4, -GDK_Multi_key, GDK_s, GDK_M, 0x2120, -GDK_Multi_key, GDK_s, GDK_m, 0x2120, -GDK_Multi_key, GDK_t, GDK_M, 0x2122, -GDK_Multi_key, GDK_t, GDK_m, 0x2122, -GDK_Multi_key, GDK_underbar, GDK_a, 0x00AA, -GDK_Multi_key, GDK_underbar, GDK_h, 0x02B0, -GDK_Multi_key, GDK_underbar, GDK_i, 0x2071, -GDK_Multi_key, GDK_underbar, GDK_j, 0x02B2, -GDK_Multi_key, GDK_underbar, GDK_l, 0x02E1, -GDK_Multi_key, GDK_underbar, GDK_n, 0x207F, -GDK_Multi_key, GDK_underbar, GDK_o, 0x00BA, -GDK_Multi_key, GDK_underbar, GDK_r, 0x02B3, -GDK_Multi_key, GDK_underbar, GDK_s, 0x02E2, -GDK_Multi_key, GDK_underbar, GDK_w, 0x02B7, -GDK_Multi_key, GDK_underbar, GDK_x, 0x02E3, -GDK_Multi_key, GDK_underbar, GDK_y, 0x02B8, -GDK_Multi_key, GDK_underbar, 0x0263, 0x02E0, -GDK_Multi_key, GDK_underbar, 0x0266, 0x02B1, -GDK_Multi_key, GDK_underbar, 0x0279, 0x02B4, -GDK_Multi_key, GDK_underbar, 0x027B, 0x02B5, -GDK_Multi_key, GDK_underbar, 0x0281, 0x02B6, -GDK_Multi_key, GDK_underbar, 0x0295, 0x02E4, -GDK_space, 0x007E, -GDK_less, 0x2272, -GDK_equal, 0x2243, -GDK_greater, 0x2273, -GDK_nobreakspace, 0x0303, -GDK_Oacute, 0x1E4C, -GDK_Odiaeresis, 0x1E4E, -GDK_Uacute, 0x1E78, -GDK_oacute, 0x1E4D, -GDK_odiaeresis, 0x1E4F, -GDK_uacute, 0x1E79, -GDK_Abreve, 0x1EB4, -GDK_abreve, 0x1EB5, -GDK_Omacron, 0x022C, -GDK_omacron, 0x022D, -GDK_Greek_iotadieresis, 0x1FD7, -GDK_Greek_upsilondieresis, 0x1FE7, -GDK_Greek_alpha, 0x1FB6, -GDK_Greek_eta, 0x1FC6, -GDK_Greek_iota, 0x1FD6, -GDK_Greek_upsilon, 0x1FE6, -GDK_Greek_omega, 0x1FF6, -0x1F00, 0x1F06, -0x1F01, 0x1F07, -0x1F08, 0x1F0E, -0x1F09, 0x1F0F, -0x1F20, 0x1F26, -0x1F21, 0x1F27, -0x1F28, 0x1F2E, -0x1F29, 0x1F2F, -0x1F30, 0x1F36, -0x1F31, 0x1F37, -0x1F38, 0x1F3E, -0x1F39, 0x1F3F, -0x1F50, 0x1F56, -0x1F51, 0x1F57, -0x1F59, 0x1F5F, -0x1F60, 0x1F66, -0x1F61, 0x1F67, -0x1F68, 0x1F6E, -0x1F69, 0x1F6F, -GDK_dead_tilde, 0x007E, -GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD7, -GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE7, -GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0E, -GDK_dead_psili, GDK_Greek_ETA, 0x1F2E, -GDK_dead_psili, GDK_Greek_IOTA, 0x1F3E, -GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6E, -GDK_dead_psili, GDK_Greek_alpha, 0x1F06, -GDK_dead_psili, GDK_Greek_eta, 0x1F26, -GDK_dead_psili, GDK_Greek_iota, 0x1F36, -GDK_dead_psili, GDK_Greek_upsilon, 0x1F56, -GDK_dead_psili, GDK_Greek_omega, 0x1F66, -GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0F, -GDK_dead_dasia, GDK_Greek_ETA, 0x1F2F, -GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3F, -GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5F, -GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6F, -GDK_dead_dasia, GDK_Greek_alpha, 0x1F07, -GDK_dead_dasia, GDK_Greek_eta, 0x1F27, -GDK_dead_dasia, GDK_Greek_iota, 0x1F37, -GDK_dead_dasia, GDK_Greek_upsilon, 0x1F57, -GDK_dead_dasia, GDK_Greek_omega, 0x1F67, -GDK_Multi_key, GDK_quotedbl, GDK_Greek_iota, 0x1FD7, -GDK_Multi_key, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE7, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0F, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F2F, -GDK_Multi_key, GDK_parenleft, GDK_Greek_IOTA, 0x1F3F, -GDK_Multi_key, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5F, -GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6F, -GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F07, -GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F27, -GDK_Multi_key, GDK_parenleft, GDK_Greek_iota, 0x1F37, -GDK_Multi_key, GDK_parenleft, GDK_Greek_upsilon, 0x1F57, -GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1F67, -GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F0E, -GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F2E, -GDK_Multi_key, GDK_parenright, GDK_Greek_IOTA, 0x1F3E, -GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1F6E, -GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F06, -GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F26, -GDK_Multi_key, GDK_parenright, GDK_Greek_iota, 0x1F36, -GDK_Multi_key, GDK_parenright, GDK_Greek_upsilon, 0x1F56, -GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1F66, -GDK_Multi_key, GDK_plus, GDK_O, 0x1EE0, -GDK_Multi_key, GDK_plus, GDK_U, 0x1EEE, -GDK_Multi_key, GDK_plus, GDK_o, 0x1EE1, -GDK_Multi_key, GDK_plus, GDK_u, 0x1EEF, -GDK_Multi_key, GDK_U, GDK_A, 0x1EB4, -GDK_Multi_key, GDK_U, GDK_a, 0x1EB5, -GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EAA, -GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EC4, -GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED6, -GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EAB, -GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC5, -GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED7, -GDK_Multi_key, GDK_b, GDK_A, 0x1EB4, -GDK_Multi_key, GDK_b, GDK_a, 0x1EB5, -GDK_space, 0x00AF, -GDK_V, 0x01D5, -GDK_v, 0x01D6, -GDK_nobreakspace, 0x0304, -GDK_Egrave, 0x1E14, -GDK_Eacute, 0x1E16, -GDK_Ograve, 0x1E50, -GDK_Oacute, 0x1E52, -GDK_egrave, 0x1E15, -GDK_eacute, 0x1E17, -GDK_ograve, 0x1E51, -GDK_oacute, 0x1E53, -GDK_Cyrillic_i, 0x04E3, -GDK_Cyrillic_u, 0x04EF, -GDK_Cyrillic_I, 0x04E2, -GDK_Cyrillic_U, 0x04EE, -GDK_Greek_ALPHA, 0x1FB9, -GDK_Greek_IOTA, 0x1FD9, -GDK_Greek_UPSILON, 0x1FE9, -GDK_Greek_alpha, 0x1FB1, -GDK_Greek_iota, 0x1FD1, -GDK_Greek_upsilon, 0x1FE1, -GDK_dead_macron, 0x00AF, -GDK_Multi_key, GDK_exclam, GDK_L, 0x1E38, -GDK_Multi_key, GDK_exclam, GDK_R, 0x1E5C, -GDK_Multi_key, GDK_exclam, GDK_l, 0x1E39, -GDK_Multi_key, GDK_exclam, GDK_r, 0x1E5D, -GDK_Multi_key, GDK_quotedbl, GDK_A, 0x01DE, -GDK_Multi_key, GDK_quotedbl, GDK_O, 0x022A, -GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01D5, -GDK_Multi_key, GDK_quotedbl, GDK_a, 0x01DF, -GDK_Multi_key, GDK_quotedbl, GDK_o, 0x022B, -GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01D6, -GDK_Multi_key, GDK_period, GDK_A, 0x01E0, -GDK_Multi_key, GDK_period, GDK_O, 0x0230, -GDK_Multi_key, GDK_period, GDK_a, 0x01E1, -GDK_Multi_key, GDK_period, GDK_o, 0x0231, -GDK_Multi_key, GDK_semicolon, GDK_O, 0x01EC, -GDK_Multi_key, GDK_semicolon, GDK_o, 0x01ED, -GDK_Multi_key, GDK_asciitilde, GDK_O, 0x022C, -GDK_Multi_key, GDK_asciitilde, GDK_o, 0x022D, -GDK_space, 0x02D8, -GDK_nobreakspace, 0x0306, -GDK_Agrave, 0x1EB0, -GDK_Aacute, 0x1EAE, -GDK_Atilde, 0x1EB4, -GDK_agrave, 0x1EB1, -GDK_aacute, 0x1EAF, -GDK_atilde, 0x1EB5, -GDK_Cyrillic_a, 0x04D1, -GDK_Cyrillic_ie, 0x04D7, -GDK_Cyrillic_i, 0x0439, -GDK_Cyrillic_u, 0x045E, -GDK_Cyrillic_zhe, 0x04C2, -GDK_Cyrillic_A, 0x04D0, -GDK_Cyrillic_IE, 0x04D6, -GDK_Cyrillic_I, 0x0419, -GDK_Cyrillic_U, 0x040E, -GDK_Cyrillic_ZHE, 0x04C1, -GDK_Greek_ALPHA, 0x1FB8, -GDK_Greek_IOTA, 0x1FD8, -GDK_Greek_UPSILON, 0x1FE8, -GDK_Greek_alpha, 0x1FB0, -GDK_Greek_iota, 0x1FD0, -GDK_Greek_upsilon, 0x1FE0, -GDK_dead_breve, 0x02D8, -GDK_Multi_key, GDK_exclam, GDK_A, 0x1EB6, -GDK_Multi_key, GDK_exclam, GDK_a, 0x1EB7, -GDK_Multi_key, GDK_comma, GDK_E, 0x1E1C, -GDK_Multi_key, GDK_comma, GDK_e, 0x1E1D, -GDK_Multi_key, GDK_cedilla, GDK_E, 0x1E1C, -GDK_Multi_key, GDK_cedilla, GDK_e, 0x1E1D, -GDK_space, 0x02D9, -GDK_L, 0x013F, -GDK_i, 0x0131, -GDK_j, 0x0237, -GDK_l, 0x0140, -GDK_nobreakspace, 0x0307, -GDK_Sacute, 0x1E64, -GDK_Scaron, 0x1E66, -GDK_sacute, 0x1E65, -GDK_scaron, 0x1E67, -GDK_Amacron, 0x01E0, -GDK_Omacron, 0x0230, -GDK_amacron, 0x01E1, -GDK_omacron, 0x0231, -GDK_dead_abovedot, 0x02D9, -GDK_dead_stroke, GDK_j, 0x025F, -GDK_Multi_key, GDK_exclam, GDK_S, 0x1E68, -GDK_Multi_key, GDK_exclam, GDK_s, 0x1E69, -GDK_Multi_key, GDK_apostrophe, GDK_S, 0x1E64, -GDK_Multi_key, GDK_apostrophe, GDK_s, 0x1E65, -GDK_Multi_key, GDK_c, GDK_S, 0x1E66, -GDK_Multi_key, GDK_c, GDK_s, 0x1E67, -GDK_Multi_key, GDK_acute, GDK_S, 0x1E64, -GDK_Multi_key, GDK_acute, GDK_s, 0x1E65, -GDK_space, 0x0022, -GDK_apostrophe, 0x0344, -GDK_nobreakspace, 0x0308, -GDK_acute, 0x0344, -GDK_Iacute, 0x1E2E, -GDK_Ugrave, 0x01DB, -GDK_Uacute, 0x01D7, -GDK_iacute, 0x1E2F, -GDK_ugrave, 0x01DC, -GDK_uacute, 0x01D8, -0x01D3, 0x01D9, -0x01D4, 0x01DA, -GDK_Amacron, 0x01DE, -GDK_Umacron, 0x1E7A, -GDK_amacron, 0x01DF, -GDK_omacron, 0x022B, -GDK_umacron, 0x1E7B, -GDK_Ukrainian_i, 0x0457, -GDK_Ukrainian_I, 0x0407, -GDK_Cyrillic_a, 0x04D3, -GDK_Cyrillic_ie, 0x0451, -GDK_Cyrillic_i, 0x04E5, -GDK_Cyrillic_o, 0x04E7, -GDK_Cyrillic_u, 0x04F1, -GDK_Cyrillic_zhe, 0x04DD, -GDK_Cyrillic_yeru, 0x04F9, -GDK_Cyrillic_ze, 0x04DF, -GDK_Cyrillic_e, 0x04ED, -GDK_Cyrillic_che, 0x04F5, -GDK_Cyrillic_A, 0x04D2, -GDK_Cyrillic_IE, 0x0401, -GDK_Cyrillic_I, 0x04E4, -GDK_Cyrillic_O, 0x04E6, -GDK_Cyrillic_U, 0x04F0, -GDK_Cyrillic_ZHE, 0x04DC, -GDK_Cyrillic_YERU, 0x04F8, -GDK_Cyrillic_ZE, 0x04DE, -GDK_Cyrillic_E, 0x04EC, -GDK_Cyrillic_CHE, 0x04F4, -GDK_Greek_IOTA, 0x03AA, -GDK_Greek_UPSILON, 0x03AB, -GDK_Greek_iota, 0x03CA, -GDK_Greek_upsilon, 0x03CB, -GDK_dead_diaeresis, 0x00A8, -GDK_dead_acute, GDK_space, 0x0385, -GDK_dead_acute, GDK_Greek_iota, 0x0390, -GDK_dead_acute, GDK_Greek_upsilon, 0x03B0, -GDK_Multi_key, GDK_underscore, GDK_U, 0x1E7A, -GDK_Multi_key, GDK_underscore, GDK_u, 0x1E7B, -GDK_Multi_key, GDK_asciitilde, GDK_O, 0x1E4E, -GDK_Multi_key, GDK_asciitilde, GDK_o, 0x1E4F, -GDK_Multi_key, GDK_macron, GDK_U, 0x1E7A, -GDK_Multi_key, GDK_macron, GDK_u, 0x1E7B, -GDK_space, 0x00B0, -GDK_nobreakspace, 0x030A, -GDK_Aacute, 0x01FA, -GDK_aacute, 0x01FB, -GDK_dead_abovering, 0x00B0, -GDK_space, 0x02DD, -GDK_nobreakspace, 0x030B, -GDK_Cyrillic_u, 0x04F3, -GDK_Cyrillic_U, 0x04F2, -GDK_dead_doubleacute, 0x02DD, -GDK_space, 0x02C7, -GDK_parenleft, 0x208D, -GDK_parenright, 0x208E, -GDK_plus, 0x208A, -GDK_minus, 0x208B, -GDK_0, 0x2080, -GDK_1, 0x2081, -GDK_2, 0x2082, -GDK_3, 0x2083, -GDK_4, 0x2084, -GDK_5, 0x2085, -GDK_6, 0x2086, -GDK_7, 0x2087, -GDK_8, 0x2088, -GDK_9, 0x2089, -GDK_equal, 0x208C, -GDK_V, 0x01D9, -GDK_v, 0x01DA, -GDK_nobreakspace, 0x030C, -0x01F2, 0x01C5, -GDK_dead_caron, 0x02C7, -GDK_Multi_key, GDK_quotedbl, GDK_U, 0x01D9, -GDK_Multi_key, GDK_quotedbl, GDK_u, 0x01DA, -GDK_space, 0x00B8, -GDK_nobreakspace, 0x0327, -GDK_cent, 0x20B5, -GDK_Cacute, 0x1E08, -GDK_cacute, 0x1E09, -GDK_dead_cedilla, 0x00B8, -GDK_space, 0x02DB, -GDK_nobreakspace, 0x0328, -GDK_Omacron, 0x01EC, -GDK_omacron, 0x01ED, -GDK_dead_ogonek, 0x02DB, -GDK_space, 0x037A, -GDK_Greek_alphaaccent, 0x1FB4, -GDK_Greek_etaaccent, 0x1FC4, -GDK_Greek_omegaaccent, 0x1FF4, -GDK_Greek_ALPHA, 0x1FBC, -GDK_Greek_ETA, 0x1FCC, -GDK_Greek_OMEGA, 0x1FFC, -GDK_Greek_alpha, 0x1FB3, -GDK_Greek_eta, 0x1FC3, -GDK_Greek_omega, 0x1FF3, -GDK_dead_iota, 0x037A, -GDK_dead_grave, GDK_Greek_alpha, 0x1FB2, -GDK_dead_grave, GDK_Greek_eta, 0x1FC2, -GDK_dead_grave, GDK_Greek_omega, 0x1FF2, -GDK_dead_acute, GDK_Greek_alpha, 0x1FB4, -GDK_dead_acute, GDK_Greek_eta, 0x1FC4, -GDK_dead_acute, GDK_Greek_omega, 0x1FF4, -GDK_dead_tilde, GDK_Greek_alpha, 0x1FB7, -GDK_dead_tilde, GDK_Greek_eta, 0x1FC7, -GDK_dead_tilde, GDK_Greek_omega, 0x1FF7, -GDK_dead_tilde, 0x1F00, 0x1F86, -GDK_dead_tilde, 0x1F01, 0x1F87, -GDK_dead_tilde, 0x1F08, 0x1F8E, -GDK_dead_tilde, 0x1F09, 0x1F8F, -GDK_dead_tilde, 0x1F20, 0x1F96, -GDK_dead_tilde, 0x1F21, 0x1F97, -GDK_dead_tilde, 0x1F28, 0x1F9E, -GDK_dead_tilde, 0x1F29, 0x1F9F, -GDK_dead_tilde, 0x1F60, 0x1FA6, -GDK_dead_tilde, 0x1F61, 0x1FA7, -GDK_dead_tilde, 0x1F68, 0x1FAE, -GDK_dead_tilde, 0x1F69, 0x1FAF, -GDK_dead_psili, GDK_Greek_ALPHA, 0x1F88, -GDK_dead_psili, GDK_Greek_ETA, 0x1F98, -GDK_dead_psili, GDK_Greek_OMEGA, 0x1FA8, -GDK_dead_psili, GDK_Greek_alpha, 0x1F80, -GDK_dead_psili, GDK_Greek_eta, 0x1F90, -GDK_dead_psili, GDK_Greek_omega, 0x1FA0, -GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F89, -GDK_dead_dasia, GDK_Greek_ETA, 0x1F99, -GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FA9, -GDK_dead_dasia, GDK_Greek_alpha, 0x1F81, -GDK_dead_dasia, GDK_Greek_eta, 0x1F91, -GDK_dead_dasia, GDK_Greek_omega, 0x1FA1, -GDK_dead_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, -GDK_dead_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, -GDK_dead_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, -GDK_dead_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, -GDK_dead_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, -GDK_dead_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, -GDK_dead_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, -GDK_dead_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, -GDK_dead_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, -GDK_dead_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, -GDK_dead_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, -GDK_dead_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, -GDK_dead_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, -GDK_dead_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, -GDK_dead_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, -GDK_dead_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, -GDK_dead_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, -GDK_dead_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, -GDK_dead_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, -GDK_dead_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, -GDK_dead_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, -GDK_dead_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, -GDK_dead_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, -GDK_dead_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, -GDK_dead_tilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, -GDK_dead_tilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, -GDK_dead_tilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, -GDK_dead_tilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, -GDK_dead_tilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, -GDK_dead_tilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, -GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, -GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, -GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, -GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, -GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, -GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_omega, 0x1FA7, -GDK_Multi_key, GDK_apostrophe, GDK_Greek_alpha, 0x1FB4, -GDK_Multi_key, GDK_apostrophe, GDK_Greek_eta, 0x1FC4, -GDK_Multi_key, GDK_apostrophe, GDK_Greek_omega, 0x1FF4, -GDK_Multi_key, GDK_apostrophe, 0x1F00, 0x1F84, -GDK_Multi_key, GDK_apostrophe, 0x1F01, 0x1F85, -GDK_Multi_key, GDK_apostrophe, 0x1F08, 0x1F8C, -GDK_Multi_key, GDK_apostrophe, 0x1F09, 0x1F8D, -GDK_Multi_key, GDK_apostrophe, 0x1F20, 0x1F94, -GDK_Multi_key, GDK_apostrophe, 0x1F21, 0x1F95, -GDK_Multi_key, GDK_apostrophe, 0x1F28, 0x1F9C, -GDK_Multi_key, GDK_apostrophe, 0x1F29, 0x1F9D, -GDK_Multi_key, GDK_apostrophe, 0x1F60, 0x1FA4, -GDK_Multi_key, GDK_apostrophe, 0x1F61, 0x1FA5, -GDK_Multi_key, GDK_apostrophe, 0x1F68, 0x1FAC, -GDK_Multi_key, GDK_apostrophe, 0x1F69, 0x1FAD, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F89, -GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F99, -GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FA9, -GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F81, -GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F91, -GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA1, -GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F88, -GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F98, -GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FA8, -GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F80, -GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F90, -GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA0, -GDK_Multi_key, GDK_grave, GDK_Greek_alpha, 0x1FB2, -GDK_Multi_key, GDK_grave, GDK_Greek_eta, 0x1FC2, -GDK_Multi_key, GDK_grave, GDK_Greek_omega, 0x1FF2, -GDK_Multi_key, GDK_grave, 0x1F00, 0x1F82, -GDK_Multi_key, GDK_grave, 0x1F01, 0x1F83, -GDK_Multi_key, GDK_grave, 0x1F08, 0x1F8A, -GDK_Multi_key, GDK_grave, 0x1F09, 0x1F8B, -GDK_Multi_key, GDK_grave, 0x1F20, 0x1F92, -GDK_Multi_key, GDK_grave, 0x1F21, 0x1F93, -GDK_Multi_key, GDK_grave, 0x1F28, 0x1F9A, -GDK_Multi_key, GDK_grave, 0x1F29, 0x1F9B, -GDK_Multi_key, GDK_grave, 0x1F60, 0x1FA2, -GDK_Multi_key, GDK_grave, 0x1F61, 0x1FA3, -GDK_Multi_key, GDK_grave, 0x1F68, 0x1FAA, -GDK_Multi_key, GDK_grave, 0x1F69, 0x1FAB, -GDK_Multi_key, GDK_asciitilde, GDK_Greek_alpha, 0x1FB7, -GDK_Multi_key, GDK_asciitilde, GDK_Greek_eta, 0x1FC7, -GDK_Multi_key, GDK_asciitilde, GDK_Greek_omega, 0x1FF7, -GDK_Multi_key, GDK_asciitilde, 0x1F00, 0x1F86, -GDK_Multi_key, GDK_asciitilde, 0x1F01, 0x1F87, -GDK_Multi_key, GDK_asciitilde, 0x1F08, 0x1F8E, -GDK_Multi_key, GDK_asciitilde, 0x1F09, 0x1F8F, -GDK_Multi_key, GDK_asciitilde, 0x1F20, 0x1F96, -GDK_Multi_key, GDK_asciitilde, 0x1F21, 0x1F97, -GDK_Multi_key, GDK_asciitilde, 0x1F28, 0x1F9E, -GDK_Multi_key, GDK_asciitilde, 0x1F29, 0x1F9F, -GDK_Multi_key, GDK_asciitilde, 0x1F60, 0x1FA6, -GDK_Multi_key, GDK_asciitilde, 0x1F61, 0x1FA7, -GDK_Multi_key, GDK_asciitilde, 0x1F68, 0x1FAE, -GDK_Multi_key, GDK_asciitilde, 0x1F69, 0x1FAF, -GDK_Multi_key, GDK_acute, GDK_Greek_alpha, 0x1FB4, -GDK_Multi_key, GDK_acute, GDK_Greek_eta, 0x1FC4, -GDK_Multi_key, GDK_acute, GDK_Greek_omega, 0x1FF4, -GDK_Multi_key, GDK_acute, 0x1F00, 0x1F84, -GDK_Multi_key, GDK_acute, 0x1F01, 0x1F85, -GDK_Multi_key, GDK_acute, 0x1F08, 0x1F8C, -GDK_Multi_key, GDK_acute, 0x1F09, 0x1F8D, -GDK_Multi_key, GDK_acute, 0x1F20, 0x1F94, -GDK_Multi_key, GDK_acute, 0x1F21, 0x1F95, -GDK_Multi_key, GDK_acute, 0x1F28, 0x1F9C, -GDK_Multi_key, GDK_acute, 0x1F29, 0x1F9D, -GDK_Multi_key, GDK_acute, 0x1F60, 0x1FA4, -GDK_Multi_key, GDK_acute, 0x1F61, 0x1FA5, -GDK_Multi_key, GDK_acute, 0x1F68, 0x1FAC, -GDK_Multi_key, GDK_acute, 0x1F69, 0x1FAD, -GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, -GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, -GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, -GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F83, -GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F93, -GDK_dead_grave, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA3, -GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, -GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9A, -GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, -GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F82, -GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F92, -GDK_dead_grave, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA2, -GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, -GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, -GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, -GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F85, -GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F95, -GDK_dead_acute, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA5, -GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, -GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9C, -GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, -GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F84, -GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F94, -GDK_dead_acute, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA4, -GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, -GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, -GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, -GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_alpha, 0x1F87, -GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_eta, 0x1F97, -GDK_dead_tilde, GDK_Multi_key, GDK_parenleft, GDK_Greek_omega, 0x1FA7, -GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, -GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_ETA, 0x1F9E, -GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, -GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_alpha, 0x1F86, -GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_eta, 0x1F96, -GDK_dead_tilde, GDK_Multi_key, GDK_parenright, GDK_Greek_omega, 0x1FA6, -GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, -GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, -GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, -GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_alpha, 0x1F85, -GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_eta, 0x1F95, -GDK_Multi_key, GDK_apostrophe, GDK_parenleft, GDK_Greek_omega, 0x1FA5, -GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, -GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_ETA, 0x1F9C, -GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, -GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_alpha, 0x1F84, -GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_eta, 0x1F94, -GDK_Multi_key, GDK_apostrophe, GDK_parenright, GDK_Greek_omega, 0x1FA4, -GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, -GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, -GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, -GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, -GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_eta, 0x1F94, -GDK_Multi_key, GDK_apostrophe, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, -GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, -GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, -GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, -GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, -GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, -GDK_Multi_key, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, -GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, -GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, -GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, -GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F83, -GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_eta, 0x1F93, -GDK_Multi_key, GDK_grave, GDK_parenleft, GDK_Greek_omega, 0x1FA3, -GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, -GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_ETA, 0x1F9A, -GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, -GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_alpha, 0x1F82, -GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_eta, 0x1F92, -GDK_Multi_key, GDK_grave, GDK_parenright, GDK_Greek_omega, 0x1FA2, -GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, -GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, -GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, -GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, -GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, -GDK_Multi_key, GDK_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, -GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, -GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, -GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, -GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, -GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, -GDK_Multi_key, GDK_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, -GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, -GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, -GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, -GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_alpha, 0x1F87, -GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_eta, 0x1F97, -GDK_Multi_key, GDK_asciitilde, GDK_parenleft, GDK_Greek_omega, 0x1FA7, -GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, -GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_ETA, 0x1F9E, -GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, -GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_alpha, 0x1F86, -GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_eta, 0x1F96, -GDK_Multi_key, GDK_asciitilde, GDK_parenright, GDK_Greek_omega, 0x1FA6, -GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, -GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, -GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, -GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, -GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, -GDK_Multi_key, GDK_asciitilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, -GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, -GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, -GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, -GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, -GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, -GDK_Multi_key, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_omega, 0x1FA7, -GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, -GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, -GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, -GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F85, -GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_eta, 0x1F95, -GDK_Multi_key, GDK_acute, GDK_parenleft, GDK_Greek_omega, 0x1FA5, -GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, -GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_ETA, 0x1F9C, -GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, -GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_alpha, 0x1F84, -GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_eta, 0x1F94, -GDK_Multi_key, GDK_acute, GDK_parenright, GDK_Greek_omega, 0x1FA4, -GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, -GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, -GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, -GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, -GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, -GDK_Multi_key, GDK_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, -GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, -GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, -GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, -GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, -GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, -GDK_Multi_key, GDK_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, -GDK_kana_WO, 0x30FA, -GDK_kana_U, 0x30F4, -GDK_kana_KA, 0x30AC, -GDK_kana_KI, 0x30AE, -GDK_kana_KU, 0x30B0, -GDK_kana_KE, 0x30B2, -GDK_kana_KO, 0x30B4, -GDK_kana_SA, 0x30B6, -GDK_kana_SHI, 0x30B8, -GDK_kana_SU, 0x30BA, -GDK_kana_SE, 0x30BC, -GDK_kana_SO, 0x30BE, -GDK_kana_TA, 0x30C0, -GDK_kana_CHI, 0x30C2, -GDK_kana_TSU, 0x30C5, -GDK_kana_TE, 0x30C7, -GDK_kana_TO, 0x30C9, -GDK_kana_HA, 0x30D0, -GDK_kana_HI, 0x30D3, -GDK_kana_FU, 0x30D6, -GDK_kana_HE, 0x30D9, -GDK_kana_HO, 0x30DC, -GDK_kana_WA, 0x30F7, -GDK_kana_HA, 0x30D1, -GDK_kana_HI, 0x30D4, -GDK_kana_FU, 0x30D7, -GDK_kana_HE, 0x30DA, -GDK_kana_HO, 0x30DD, -GDK_space, 0x0323, -GDK_plus, 0x2A25, -GDK_minus, 0x2A2A, -GDK_equal, 0x2A66, -GDK_nobreakspace, 0x0323, -GDK_Abreve, 0x1EB6, -GDK_abreve, 0x1EB7, -GDK_dead_belowdot, 0x0323, -GDK_Multi_key, GDK_plus, GDK_O, 0x1EE2, -GDK_Multi_key, GDK_plus, GDK_U, 0x1EF0, -GDK_Multi_key, GDK_plus, GDK_o, 0x1EE3, -GDK_Multi_key, GDK_plus, GDK_u, 0x1EF1, -GDK_space, 0x0309, -GDK_B, 0x0181, -GDK_C, 0x0187, -GDK_D, 0x018A, -GDK_F, 0x0191, -GDK_G, 0x0193, -GDK_K, 0x0198, -GDK_M, 0x2C6E, -GDK_N, 0x019D, -GDK_P, 0x01A4, -GDK_T, 0x01AC, -GDK_V, 0x01B2, -GDK_W, 0x2C72, -GDK_Z, 0x0224, -GDK_b, 0x0253, -GDK_c, 0x0188, -GDK_d, 0x0257, -GDK_f, 0x0192, -GDK_g, 0x0260, -GDK_h, 0x0266, -GDK_k, 0x0199, -GDK_m, 0x0271, -GDK_n, 0x0272, -GDK_p, 0x01A5, -GDK_q, 0x02A0, -GDK_s, 0x0282, -GDK_t, 0x01AD, -GDK_v, 0x028B, -GDK_w, 0x2C73, -GDK_z, 0x0225, -GDK_nobreakspace, 0x0309, -GDK_Abreve, 0x1EB2, -GDK_abreve, 0x1EB3, -0x0256, 0x1D91, -0x025C, 0x025D, -0x025F, 0x0284, -0x0279, 0x027B, -GDK_dead_hook, 0x0309, -GDK_Multi_key, GDK_plus, GDK_O, 0x1EDE, -GDK_Multi_key, GDK_plus, GDK_U, 0x1EEC, -GDK_Multi_key, GDK_plus, GDK_o, 0x1EDF, -GDK_Multi_key, GDK_plus, GDK_u, 0x1EED, -GDK_Multi_key, GDK_U, GDK_A, 0x1EB2, -GDK_Multi_key, GDK_U, GDK_a, 0x1EB3, -GDK_Multi_key, GDK_asciicircum, GDK_A, 0x1EA8, -GDK_Multi_key, GDK_asciicircum, GDK_E, 0x1EC2, -GDK_Multi_key, GDK_asciicircum, GDK_O, 0x1ED4, -GDK_Multi_key, GDK_asciicircum, GDK_a, 0x1EA9, -GDK_Multi_key, GDK_asciicircum, GDK_e, 0x1EC3, -GDK_Multi_key, GDK_asciicircum, GDK_o, 0x1ED5, -GDK_Multi_key, GDK_b, GDK_A, 0x1EB2, -GDK_Multi_key, GDK_b, GDK_a, 0x1EB3, -GDK_space, 0x031B, -GDK_nobreakspace, 0x031B, -GDK_Utilde, 0x1EEE, -GDK_utilde, 0x1EEF, -GDK_dead_horn, 0x031B, -GDK_Greek_ALPHA, 0x1F08, -GDK_Greek_EPSILON, 0x1F18, -GDK_Greek_ETA, 0x1F28, -GDK_Greek_IOTA, 0x1F38, -GDK_Greek_OMICRON, 0x1F48, -GDK_Greek_OMEGA, 0x1F68, -GDK_Greek_alpha, 0x1F00, -GDK_Greek_epsilon, 0x1F10, -GDK_Greek_eta, 0x1F20, -GDK_Greek_iota, 0x1F30, -GDK_Greek_omicron, 0x1F40, -GDK_Greek_rho, 0x1FE4, -GDK_Greek_upsilon, 0x1F50, -GDK_Greek_omega, 0x1F60, -GDK_Greek_ALPHA, 0x1F09, -GDK_Greek_EPSILON, 0x1F19, -GDK_Greek_ETA, 0x1F29, -GDK_Greek_IOTA, 0x1F39, -GDK_Greek_OMICRON, 0x1F49, -GDK_Greek_RHO, 0x1FEC, -GDK_Greek_UPSILON, 0x1F59, -GDK_Greek_OMEGA, 0x1F69, -GDK_Greek_alpha, 0x1F01, -GDK_Greek_epsilon, 0x1F11, -GDK_Greek_eta, 0x1F21, -GDK_Greek_iota, 0x1F31, -GDK_Greek_omicron, 0x1F41, -GDK_Greek_rho, 0x1FE5, -GDK_Greek_upsilon, 0x1F51, -GDK_Greek_omega, 0x1F61, -GDK_space, GDK_space, 0x00A0, -GDK_space, GDK_apostrophe, 0x0027, -GDK_space, GDK_parenleft, 0x02D8, -GDK_space, GDK_comma, 0x00B8, -GDK_space, GDK_minus, 0x007E, -GDK_space, GDK_period, 0x2008, -GDK_space, GDK_less, 0x02C7, -GDK_space, GDK_greater, 0x005E, -GDK_space, GDK_asciicircum, 0x005E, -GDK_space, GDK_grave, 0x0060, -GDK_space, GDK_asciitilde, 0x007E, -GDK_exclam, GDK_exclam, 0x00A1, -GDK_exclam, GDK_question, 0x203D, -GDK_exclam, GDK_A, 0x1EA0, -GDK_exclam, GDK_B, 0x1E04, -GDK_exclam, GDK_D, 0x1E0C, -GDK_exclam, GDK_E, 0x1EB8, -GDK_exclam, GDK_H, 0x1E24, -GDK_exclam, GDK_I, 0x1ECA, -GDK_exclam, GDK_K, 0x1E32, -GDK_exclam, GDK_L, 0x1E36, -GDK_exclam, GDK_M, 0x1E42, -GDK_exclam, GDK_N, 0x1E46, -GDK_exclam, GDK_O, 0x1ECC, -GDK_exclam, GDK_P, 0x00B6, -GDK_exclam, GDK_R, 0x1E5A, -GDK_exclam, GDK_S, 0x1E62, -GDK_exclam, GDK_T, 0x1E6C, -GDK_exclam, GDK_U, 0x1EE4, -GDK_exclam, GDK_V, 0x1E7E, -GDK_exclam, GDK_W, 0x1E88, -GDK_exclam, GDK_Y, 0x1EF4, -GDK_exclam, GDK_Z, 0x1E92, -GDK_exclam, GDK_asciicircum, 0x00A6, -GDK_exclam, GDK_a, 0x1EA1, -GDK_exclam, GDK_b, 0x1E05, -GDK_exclam, GDK_d, 0x1E0D, -GDK_exclam, GDK_e, 0x1EB9, -GDK_exclam, GDK_h, 0x1E25, -GDK_exclam, GDK_i, 0x1ECB, -GDK_exclam, GDK_k, 0x1E33, -GDK_exclam, GDK_l, 0x1E37, -GDK_exclam, GDK_m, 0x1E43, -GDK_exclam, GDK_n, 0x1E47, -GDK_exclam, GDK_o, 0x1ECD, -GDK_exclam, GDK_p, 0x00B6, -GDK_exclam, GDK_r, 0x1E5B, -GDK_exclam, GDK_s, 0x1E63, -GDK_exclam, GDK_t, 0x1E6D, -GDK_exclam, GDK_u, 0x1EE5, -GDK_exclam, GDK_v, 0x1E7F, -GDK_exclam, GDK_w, 0x1E89, -GDK_exclam, GDK_y, 0x1EF5, -GDK_exclam, GDK_z, 0x1E93, -GDK_quotedbl, GDK_quotedbl, 0x00A8, -GDK_quotedbl, GDK_apostrophe, 0x0344, -GDK_quotedbl, GDK_comma, 0x201E, -GDK_quotedbl, GDK_slash, 0x301E, -GDK_quotedbl, GDK_less, 0x201C, -GDK_quotedbl, GDK_greater, 0x201D, -GDK_quotedbl, GDK_A, 0x00C4, -GDK_quotedbl, GDK_E, 0x00CB, -GDK_quotedbl, GDK_H, 0x1E26, -GDK_quotedbl, GDK_I, 0x00CF, -GDK_quotedbl, GDK_O, 0x00D6, -GDK_quotedbl, GDK_U, 0x00DC, -GDK_quotedbl, GDK_W, 0x1E84, -GDK_quotedbl, GDK_X, 0x1E8C, -GDK_quotedbl, GDK_Y, 0x0178, -GDK_quotedbl, GDK_backslash, 0x301D, -GDK_quotedbl, GDK_a, 0x00E4, -GDK_quotedbl, GDK_e, 0x00EB, -GDK_quotedbl, GDK_h, 0x1E27, -GDK_quotedbl, GDK_i, 0x00EF, -GDK_quotedbl, GDK_o, 0x00F6, -GDK_quotedbl, GDK_t, 0x1E97, -GDK_quotedbl, GDK_u, 0x00FC, -GDK_quotedbl, GDK_w, 0x1E85, -GDK_quotedbl, GDK_x, 0x1E8D, -GDK_quotedbl, GDK_y, 0x00FF, -GDK_quotedbl, GDK_acute, 0x0344, -GDK_quotedbl, GDK_Otilde, 0x1E4E, -GDK_quotedbl, GDK_otilde, 0x1E4F, -GDK_quotedbl, 0x03D2, 0x03D4, -GDK_quotedbl, GDK_Umacron, 0x1E7A, -GDK_quotedbl, GDK_umacron, 0x1E7B, -GDK_quotedbl, 0x04D8, 0x04DA, -GDK_quotedbl, 0x04D9, 0x04DB, -GDK_quotedbl, 0x04E8, 0x04EA, -GDK_quotedbl, 0x04E9, 0x04EB, -GDK_quotedbl, GDK_Ukrainian_i, 0x0457, -GDK_quotedbl, GDK_Ukrainian_I, 0x0407, -GDK_quotedbl, GDK_Cyrillic_a, 0x04D3, -GDK_quotedbl, GDK_Cyrillic_ie, 0x0451, -GDK_quotedbl, GDK_Cyrillic_i, 0x04E5, -GDK_quotedbl, GDK_Cyrillic_o, 0x04E7, -GDK_quotedbl, GDK_Cyrillic_u, 0x04F1, -GDK_quotedbl, GDK_Cyrillic_zhe, 0x04DD, -GDK_quotedbl, GDK_Cyrillic_yeru, 0x04F9, -GDK_quotedbl, GDK_Cyrillic_ze, 0x04DF, -GDK_quotedbl, GDK_Cyrillic_e, 0x04ED, -GDK_quotedbl, GDK_Cyrillic_che, 0x04F5, -GDK_quotedbl, GDK_Cyrillic_A, 0x04D2, -GDK_quotedbl, GDK_Cyrillic_IE, 0x0401, -GDK_quotedbl, GDK_Cyrillic_I, 0x04E4, -GDK_quotedbl, GDK_Cyrillic_O, 0x04E6, -GDK_quotedbl, GDK_Cyrillic_U, 0x04F0, -GDK_quotedbl, GDK_Cyrillic_ZHE, 0x04DC, -GDK_quotedbl, GDK_Cyrillic_YERU, 0x04F8, -GDK_quotedbl, GDK_Cyrillic_ZE, 0x04DE, -GDK_quotedbl, GDK_Cyrillic_E, 0x04EC, -GDK_quotedbl, GDK_Cyrillic_CHE, 0x04F4, -GDK_quotedbl, GDK_Greek_IOTA, 0x03AA, -GDK_quotedbl, GDK_Greek_UPSILON, 0x03AB, -GDK_quotedbl, GDK_Greek_iota, 0x03CA, -GDK_quotedbl, GDK_Greek_upsilon, 0x03CB, -GDK_quotedbl, GDK_dead_acute, 0x0344, -GDK_numbersign, GDK_numbersign, 0x266F, -GDK_numbersign, GDK_b, 0x266D, -GDK_numbersign, GDK_f, 0x266E, -GDK_percent, GDK_o, 0x2030, -GDK_apostrophe, GDK_space, 0x0027, -GDK_apostrophe, GDK_apostrophe, 0x00B4, -GDK_apostrophe, GDK_comma, 0x201A, -GDK_apostrophe, GDK_less, 0x2018, -GDK_apostrophe, GDK_greater, 0x2019, -GDK_apostrophe, GDK_A, 0x00C1, -GDK_apostrophe, GDK_C, 0x0106, -GDK_apostrophe, GDK_E, 0x00C9, -GDK_apostrophe, GDK_G, 0x01F4, -GDK_apostrophe, GDK_I, 0x00CD, -GDK_apostrophe, GDK_K, 0x1E30, -GDK_apostrophe, GDK_L, 0x0139, -GDK_apostrophe, GDK_M, 0x1E3E, -GDK_apostrophe, GDK_N, 0x0143, -GDK_apostrophe, GDK_O, 0x00D3, -GDK_apostrophe, GDK_P, 0x1E54, -GDK_apostrophe, GDK_R, 0x0154, -GDK_apostrophe, GDK_S, 0x015A, -GDK_apostrophe, GDK_U, 0x00DA, -GDK_apostrophe, GDK_W, 0x1E82, -GDK_apostrophe, GDK_Y, 0x00DD, -GDK_apostrophe, GDK_Z, 0x0179, -GDK_apostrophe, GDK_a, 0x00E1, -GDK_apostrophe, GDK_c, 0x0107, -GDK_apostrophe, GDK_e, 0x00E9, -GDK_apostrophe, GDK_g, 0x01F5, -GDK_apostrophe, GDK_i, 0x00ED, -GDK_apostrophe, GDK_k, 0x1E31, -GDK_apostrophe, GDK_l, 0x013A, -GDK_apostrophe, GDK_m, 0x1E3F, -GDK_apostrophe, GDK_n, 0x0144, -GDK_apostrophe, GDK_o, 0x00F3, -GDK_apostrophe, GDK_p, 0x1E55, -GDK_apostrophe, GDK_r, 0x0155, -GDK_apostrophe, GDK_s, 0x015B, -GDK_apostrophe, GDK_u, 0x00FA, -GDK_apostrophe, GDK_w, 0x1E83, -GDK_apostrophe, GDK_y, 0x00FD, -GDK_apostrophe, GDK_z, 0x017A, -GDK_apostrophe, GDK_Acircumflex, 0x1EA4, -GDK_apostrophe, GDK_Aring, 0x01FA, -GDK_apostrophe, GDK_AE, 0x01FC, -GDK_apostrophe, GDK_Ccedilla, 0x1E08, -GDK_apostrophe, GDK_Ecircumflex, 0x1EBE, -GDK_apostrophe, GDK_Idiaeresis, 0x1E2E, -GDK_apostrophe, GDK_Ocircumflex, 0x1ED0, -GDK_apostrophe, GDK_Otilde, 0x1E4C, -GDK_apostrophe, GDK_Ooblique, 0x01FE, -GDK_apostrophe, GDK_Udiaeresis, 0x01D7, -GDK_apostrophe, GDK_acircumflex, 0x1EA5, -GDK_apostrophe, GDK_aring, 0x01FB, -GDK_apostrophe, GDK_ae, 0x01FD, -GDK_apostrophe, GDK_ccedilla, 0x1E09, -GDK_apostrophe, GDK_ecircumflex, 0x1EBF, -GDK_apostrophe, GDK_idiaeresis, 0x1E2F, -GDK_apostrophe, GDK_ocircumflex, 0x1ED1, -GDK_apostrophe, GDK_otilde, 0x1E4D, -GDK_apostrophe, GDK_oslash, 0x01FF, -GDK_apostrophe, GDK_udiaeresis, 0x01D8, -GDK_apostrophe, GDK_Abreve, 0x1EAE, -GDK_apostrophe, GDK_abreve, 0x1EAF, -GDK_apostrophe, GDK_Emacron, 0x1E16, -GDK_apostrophe, GDK_emacron, 0x1E17, -GDK_apostrophe, GDK_Omacron, 0x1E52, -GDK_apostrophe, GDK_Utilde, 0x1E78, -GDK_apostrophe, GDK_omacron, 0x1E53, -GDK_apostrophe, GDK_utilde, 0x1E79, -GDK_apostrophe, GDK_Cyrillic_ghe, 0x0453, -GDK_apostrophe, GDK_Cyrillic_ka, 0x045C, -GDK_apostrophe, GDK_Cyrillic_GHE, 0x0403, -GDK_apostrophe, GDK_Cyrillic_KA, 0x040C, -GDK_apostrophe, GDK_Greek_iotadieresis, 0x0390, -GDK_apostrophe, GDK_Greek_upsilondieresis, 0x03B0, -GDK_apostrophe, GDK_Greek_ALPHA, 0x0386, -GDK_apostrophe, GDK_Greek_EPSILON, 0x0388, -GDK_apostrophe, GDK_Greek_ETA, 0x0389, -GDK_apostrophe, GDK_Greek_IOTA, 0x038A, -GDK_apostrophe, GDK_Greek_OMICRON, 0x038C, -GDK_apostrophe, GDK_Greek_UPSILON, 0x038E, -GDK_apostrophe, GDK_Greek_OMEGA, 0x038F, -GDK_apostrophe, GDK_Greek_alpha, 0x03AC, -GDK_apostrophe, GDK_Greek_epsilon, 0x03AD, -GDK_apostrophe, GDK_Greek_eta, 0x03AE, -GDK_apostrophe, GDK_Greek_iota, 0x03AF, -GDK_apostrophe, GDK_Greek_omicron, 0x03CC, -GDK_apostrophe, GDK_Greek_upsilon, 0x03CD, -GDK_apostrophe, GDK_Greek_omega, 0x03CE, -GDK_apostrophe, 0x1F00, 0x1F04, -GDK_apostrophe, 0x1F01, 0x1F05, -GDK_apostrophe, 0x1F08, 0x1F0C, -GDK_apostrophe, 0x1F09, 0x1F0D, -GDK_apostrophe, 0x1F10, 0x1F14, -GDK_apostrophe, 0x1F11, 0x1F15, -GDK_apostrophe, 0x1F18, 0x1F1C, -GDK_apostrophe, 0x1F19, 0x1F1D, -GDK_apostrophe, 0x1F20, 0x1F24, -GDK_apostrophe, 0x1F21, 0x1F25, -GDK_apostrophe, 0x1F28, 0x1F2C, -GDK_apostrophe, 0x1F29, 0x1F2D, -GDK_apostrophe, 0x1F30, 0x1F34, -GDK_apostrophe, 0x1F31, 0x1F35, -GDK_apostrophe, 0x1F38, 0x1F3C, -GDK_apostrophe, 0x1F39, 0x1F3D, -GDK_apostrophe, 0x1F40, 0x1F44, -GDK_apostrophe, 0x1F41, 0x1F45, -GDK_apostrophe, 0x1F48, 0x1F4C, -GDK_apostrophe, 0x1F49, 0x1F4D, -GDK_apostrophe, 0x1F50, 0x1F54, -GDK_apostrophe, 0x1F51, 0x1F55, -GDK_apostrophe, 0x1F59, 0x1F5D, -GDK_apostrophe, 0x1F60, 0x1F64, -GDK_apostrophe, 0x1F61, 0x1F65, -GDK_apostrophe, 0x1F68, 0x1F6C, -GDK_apostrophe, 0x1F69, 0x1F6D, -GDK_parenleft, GDK_space, 0x02D8, -GDK_parenleft, GDK_parenleft, 0x005B, -GDK_parenleft, GDK_minus, 0x007B, -GDK_parenleft, GDK_A, 0x0102, -GDK_parenleft, GDK_G, 0x011E, -GDK_parenleft, GDK_a, 0x0103, -GDK_parenleft, GDK_c, 0x00A9, -GDK_parenleft, GDK_g, 0x011F, -GDK_parenleft, GDK_r, 0x00AE, -GDK_parenleft, GDK_Greek_ALPHA, 0x1F09, -GDK_parenleft, GDK_Greek_EPSILON, 0x1F19, -GDK_parenleft, GDK_Greek_ETA, 0x1F29, -GDK_parenleft, GDK_Greek_IOTA, 0x1F39, -GDK_parenleft, GDK_Greek_OMICRON, 0x1F49, -GDK_parenleft, GDK_Greek_RHO, 0x1FEC, -GDK_parenleft, GDK_Greek_UPSILON, 0x1F59, -GDK_parenleft, GDK_Greek_OMEGA, 0x1F69, -GDK_parenleft, GDK_Greek_alpha, 0x1F01, -GDK_parenleft, GDK_Greek_epsilon, 0x1F11, -GDK_parenleft, GDK_Greek_eta, 0x1F21, -GDK_parenleft, GDK_Greek_iota, 0x1F31, -GDK_parenleft, GDK_Greek_omicron, 0x1F41, -GDK_parenleft, GDK_Greek_rho, 0x1FE5, -GDK_parenleft, GDK_Greek_upsilon, 0x1F51, -GDK_parenleft, GDK_Greek_omega, 0x1F61, -GDK_parenright, GDK_parenright, 0x005D, -GDK_parenright, GDK_minus, 0x007D, -GDK_parenright, GDK_Greek_ALPHA, 0x1F08, -GDK_parenright, GDK_Greek_EPSILON, 0x1F18, -GDK_parenright, GDK_Greek_ETA, 0x1F28, -GDK_parenright, GDK_Greek_IOTA, 0x1F38, -GDK_parenright, GDK_Greek_OMICRON, 0x1F48, -GDK_parenright, GDK_Greek_OMEGA, 0x1F68, -GDK_parenright, GDK_Greek_alpha, 0x1F00, -GDK_parenright, GDK_Greek_epsilon, 0x1F10, -GDK_parenright, GDK_Greek_eta, 0x1F20, -GDK_parenright, GDK_Greek_iota, 0x1F30, -GDK_parenright, GDK_Greek_omicron, 0x1F40, -GDK_parenright, GDK_Greek_rho, 0x1FE4, -GDK_parenright, GDK_Greek_upsilon, 0x1F50, -GDK_parenright, GDK_Greek_omega, 0x1F60, -GDK_asterisk, GDK_0, 0x00B0, -GDK_asterisk, GDK_A, 0x00C5, -GDK_asterisk, GDK_U, 0x016E, -GDK_asterisk, GDK_a, 0x00E5, -GDK_asterisk, GDK_u, 0x016F, -GDK_plus, GDK_plus, 0x0023, -GDK_plus, GDK_minus, 0x00B1, -GDK_plus, GDK_O, 0x01A0, -GDK_plus, GDK_U, 0x01AF, -GDK_plus, GDK_o, 0x01A1, -GDK_plus, GDK_u, 0x01B0, -GDK_comma, GDK_space, 0x00B8, -GDK_comma, GDK_quotedbl, 0x201E, -GDK_comma, GDK_apostrophe, 0x201A, -GDK_comma, GDK_comma, 0x00B8, -GDK_comma, GDK_minus, 0x00AC, -GDK_comma, GDK_A, 0x0104, -GDK_comma, GDK_C, 0x00C7, -GDK_comma, GDK_D, 0x1E10, -GDK_comma, GDK_E, 0x0228, -GDK_comma, GDK_G, 0x0122, -GDK_comma, GDK_H, 0x1E28, -GDK_comma, GDK_I, 0x012E, -GDK_comma, GDK_K, 0x0136, -GDK_comma, GDK_L, 0x013B, -GDK_comma, GDK_N, 0x0145, -GDK_comma, GDK_R, 0x0156, -GDK_comma, GDK_S, 0x015E, -GDK_comma, GDK_T, 0x0162, -GDK_comma, GDK_U, 0x0172, -GDK_comma, GDK_a, 0x0105, -GDK_comma, GDK_c, 0x00E7, -GDK_comma, GDK_d, 0x1E11, -GDK_comma, GDK_e, 0x0229, -GDK_comma, GDK_g, 0x0123, -GDK_comma, GDK_h, 0x1E29, -GDK_comma, GDK_i, 0x012F, -GDK_comma, GDK_k, 0x0137, -GDK_comma, GDK_l, 0x013C, -GDK_comma, GDK_n, 0x0146, -GDK_comma, GDK_r, 0x0157, -GDK_comma, GDK_s, 0x015F, -GDK_comma, GDK_t, 0x0163, -GDK_comma, GDK_u, 0x0173, -GDK_minus, GDK_space, 0x007E, -GDK_minus, GDK_parenleft, 0x007B, -GDK_minus, GDK_parenright, 0x007D, -GDK_minus, GDK_plus, 0x00B1, -GDK_minus, GDK_comma, 0x00AC, -GDK_minus, GDK_colon, 0x00F7, -GDK_minus, GDK_greater, 0x2192, -GDK_minus, GDK_A, 0x00C3, -GDK_minus, GDK_D, 0x0110, -GDK_minus, GDK_E, 0x0112, -GDK_minus, GDK_I, 0x012A, -GDK_minus, GDK_L, 0x00A3, -GDK_minus, GDK_N, 0x00D1, -GDK_minus, GDK_O, 0x00D5, -GDK_minus, GDK_U, 0x016A, -GDK_minus, GDK_Y, 0x00A5, -GDK_minus, GDK_asciicircum, 0x00AF, -GDK_minus, GDK_a, 0x0101, -GDK_minus, GDK_d, 0x0111, -GDK_minus, GDK_e, 0x0113, -GDK_minus, GDK_i, 0x012B, -GDK_minus, GDK_l, 0x00A3, -GDK_minus, GDK_n, 0x00F1, -GDK_minus, GDK_o, 0x014D, -GDK_minus, GDK_u, 0x016B, -GDK_minus, GDK_y, 0x00A5, -GDK_period, GDK_minus, 0x00B7, -GDK_period, GDK_period, 0x2026, -GDK_period, GDK_less, 0x2039, -GDK_period, GDK_equal, 0x2022, -GDK_period, GDK_greater, 0x203A, -GDK_period, GDK_A, 0x0226, -GDK_period, GDK_B, 0x1E02, -GDK_period, GDK_C, 0x010A, -GDK_period, GDK_D, 0x1E0A, -GDK_period, GDK_E, 0x0116, -GDK_period, GDK_F, 0x1E1E, -GDK_period, GDK_G, 0x0120, -GDK_period, GDK_H, 0x1E22, -GDK_period, GDK_I, 0x0130, -GDK_period, GDK_M, 0x1E40, -GDK_period, GDK_N, 0x1E44, -GDK_period, GDK_O, 0x022E, -GDK_period, GDK_P, 0x1E56, -GDK_period, GDK_R, 0x1E58, -GDK_period, GDK_S, 0x1E60, -GDK_period, GDK_T, 0x1E6A, -GDK_period, GDK_W, 0x1E86, -GDK_period, GDK_X, 0x1E8A, -GDK_period, GDK_Y, 0x1E8E, -GDK_period, GDK_Z, 0x017B, -GDK_period, GDK_asciicircum, 0x00B7, -GDK_period, GDK_a, 0x0227, -GDK_period, GDK_b, 0x1E03, -GDK_period, GDK_c, 0x010B, -GDK_period, GDK_d, 0x1E0B, -GDK_period, GDK_e, 0x0117, -GDK_period, GDK_f, 0x1E1F, -GDK_period, GDK_g, 0x0121, -GDK_period, GDK_h, 0x1E23, -GDK_period, GDK_i, 0x0131, -GDK_period, GDK_m, 0x1E41, -GDK_period, GDK_n, 0x1E45, -GDK_period, GDK_o, 0x022F, -GDK_period, GDK_p, 0x1E57, -GDK_period, GDK_r, 0x1E59, -GDK_period, GDK_s, 0x1E61, -GDK_period, GDK_t, 0x1E6B, -GDK_period, GDK_w, 0x1E87, -GDK_period, GDK_x, 0x1E8B, -GDK_period, GDK_y, 0x1E8F, -GDK_period, GDK_z, 0x017C, -GDK_period, 0x017F, 0x1E9B, -GDK_period, GDK_Sacute, 0x1E64, -GDK_period, GDK_Scaron, 0x1E66, -GDK_period, GDK_sacute, 0x1E65, -GDK_period, GDK_scaron, 0x1E67, -GDK_period, 0x1E62, 0x1E68, -GDK_period, 0x1E63, 0x1E69, -GDK_slash, GDK_slash, 0x005C, -GDK_slash, GDK_less, 0x005C, -GDK_slash, GDK_equal, 0x2260, -GDK_slash, GDK_C, 0x20A1, -GDK_slash, GDK_D, 0x0110, -GDK_slash, GDK_G, 0x01E4, -GDK_slash, GDK_H, 0x0126, -GDK_slash, GDK_I, 0x0197, -GDK_slash, GDK_L, 0x0141, -GDK_slash, GDK_O, 0x00D8, -GDK_slash, GDK_T, 0x0166, -GDK_slash, GDK_U, 0x00B5, -GDK_slash, GDK_Z, 0x01B5, -GDK_slash, GDK_asciicircum, 0x007C, -GDK_slash, GDK_b, 0x0180, -GDK_slash, GDK_c, 0x00A2, -GDK_slash, GDK_d, 0x0111, -GDK_slash, GDK_g, 0x01E5, -GDK_slash, GDK_h, 0x0127, -GDK_slash, GDK_i, 0x0268, -GDK_slash, GDK_l, 0x0142, -GDK_slash, GDK_m, 0x20A5, -GDK_slash, GDK_o, 0x00F8, -GDK_slash, GDK_t, 0x0167, -GDK_slash, GDK_u, 0x00B5, -GDK_slash, GDK_z, 0x01B6, -GDK_slash, 0x0294, 0x02A1, -GDK_slash, 0x04AE, 0x04B0, -GDK_slash, 0x04AF, 0x04B1, -GDK_slash, GDK_Cyrillic_ghe, 0x0493, -GDK_slash, GDK_Cyrillic_ka, 0x049F, -GDK_slash, GDK_Cyrillic_GHE, 0x0492, -GDK_slash, GDK_Cyrillic_KA, 0x049E, -GDK_slash, GDK_leftarrow, 0x219A, -GDK_slash, GDK_rightarrow, 0x219B, -GDK_slash, 0x2194, 0x21AE, -GDK_0, GDK_asterisk, 0x00B0, -GDK_0, GDK_C, 0x00A9, -GDK_0, GDK_S, 0x00A7, -GDK_0, GDK_X, 0x00A4, -GDK_0, GDK_asciicircum, 0x00B0, -GDK_0, GDK_c, 0x00A9, -GDK_0, GDK_s, 0x00A7, -GDK_0, GDK_x, 0x00A4, -GDK_1, GDK_2, 0x00BD, -GDK_1, GDK_3, 0x2153, -GDK_1, GDK_4, 0x00BC, -GDK_1, GDK_5, 0x2155, -GDK_1, GDK_6, 0x2159, -GDK_1, GDK_8, 0x215B, -GDK_1, GDK_S, 0x00B9, -GDK_1, GDK_asciicircum, 0x00B9, -GDK_1, GDK_s, 0x00B9, -GDK_2, GDK_3, 0x2154, -GDK_2, GDK_5, 0x2156, -GDK_2, GDK_S, 0x00B2, -GDK_2, GDK_asciicircum, 0x00B2, -GDK_2, GDK_s, 0x00B2, -GDK_3, GDK_4, 0x00BE, -GDK_3, GDK_5, 0x2157, -GDK_3, GDK_8, 0x215C, -GDK_3, GDK_S, 0x00B3, -GDK_3, GDK_asciicircum, 0x00B3, -GDK_3, GDK_s, 0x00B3, -GDK_4, GDK_5, 0x2158, -GDK_5, GDK_6, 0x215A, -GDK_5, GDK_8, 0x215D, -GDK_7, GDK_8, 0x215E, -GDK_colon, GDK_parenleft, 0x2639, -GDK_colon, GDK_parenright, 0x263A, -GDK_colon, GDK_minus, 0x00F7, -GDK_semicolon, GDK_A, 0x0104, -GDK_semicolon, GDK_E, 0x0118, -GDK_semicolon, GDK_I, 0x012E, -GDK_semicolon, GDK_O, 0x01EA, -GDK_semicolon, GDK_U, 0x0172, -GDK_semicolon, GDK_a, 0x0105, -GDK_semicolon, GDK_e, 0x0119, -GDK_semicolon, GDK_i, 0x012F, -GDK_semicolon, GDK_o, 0x01EB, -GDK_semicolon, GDK_u, 0x0173, -GDK_less, GDK_space, 0x02C7, -GDK_less, GDK_quotedbl, 0x201C, -GDK_less, GDK_apostrophe, 0x2018, -GDK_less, GDK_minus, 0x2190, -GDK_less, GDK_slash, 0x005C, -GDK_less, GDK_3, 0x2665, -GDK_less, GDK_less, 0x00AB, -GDK_less, GDK_equal, 0x2264, -GDK_less, GDK_C, 0x010C, -GDK_less, GDK_D, 0x010E, -GDK_less, GDK_E, 0x011A, -GDK_less, GDK_L, 0x013D, -GDK_less, GDK_N, 0x0147, -GDK_less, GDK_R, 0x0158, -GDK_less, GDK_S, 0x0160, -GDK_less, GDK_T, 0x0164, -GDK_less, GDK_Z, 0x017D, -GDK_less, GDK_c, 0x010D, -GDK_less, GDK_d, 0x010F, -GDK_less, GDK_e, 0x011B, -GDK_less, GDK_l, 0x013E, -GDK_less, GDK_n, 0x0148, -GDK_less, GDK_r, 0x0159, -GDK_less, GDK_s, 0x0161, -GDK_less, GDK_t, 0x0165, -GDK_less, GDK_z, 0x017E, -GDK_less, 0x0338, 0x226E, -GDK_equal, GDK_slash, 0x2260, -GDK_equal, GDK_C, 0x20AC, -GDK_equal, GDK_E, 0x20AC, -GDK_equal, GDK_L, 0x20A4, -GDK_equal, GDK_N, 0x20A6, -GDK_equal, GDK_O, 0x0150, -GDK_equal, GDK_U, 0x0170, -GDK_equal, GDK_W, 0x20A9, -GDK_equal, GDK_Y, 0x00A5, -GDK_equal, GDK_c, 0x20AC, -GDK_equal, GDK_e, 0x20AC, -GDK_equal, GDK_l, 0x00A3, -GDK_equal, GDK_o, 0x0151, -GDK_equal, GDK_u, 0x0171, -GDK_equal, GDK_y, 0x00A5, -GDK_equal, 0x0338, 0x2260, -GDK_equal, GDK_Cyrillic_u, 0x04F3, -GDK_equal, GDK_Cyrillic_IE, 0x20AC, -GDK_equal, GDK_Cyrillic_ES, 0x20AC, -GDK_equal, GDK_Cyrillic_U, 0x04F2, -GDK_greater, GDK_space, 0x005E, -GDK_greater, GDK_quotedbl, 0x201D, -GDK_greater, GDK_apostrophe, 0x2019, -GDK_greater, GDK_equal, 0x2265, -GDK_greater, GDK_greater, 0x00BB, -GDK_greater, GDK_A, 0x00C2, -GDK_greater, GDK_E, 0x00CA, -GDK_greater, GDK_I, 0x00CE, -GDK_greater, GDK_O, 0x00D4, -GDK_greater, GDK_U, 0x00DB, -GDK_greater, GDK_a, 0x00E2, -GDK_greater, GDK_e, 0x00EA, -GDK_greater, GDK_i, 0x00EE, -GDK_greater, GDK_o, 0x00F4, -GDK_greater, GDK_u, 0x00FB, -GDK_greater, 0x0338, 0x226F, -GDK_question, GDK_exclam, 0x203D, -GDK_question, GDK_question, 0x00BF, -GDK_question, GDK_A, 0x1EA2, -GDK_question, GDK_E, 0x1EBA, -GDK_question, GDK_I, 0x1EC8, -GDK_question, GDK_O, 0x1ECE, -GDK_question, GDK_U, 0x1EE6, -GDK_question, GDK_Y, 0x1EF6, -GDK_question, GDK_a, 0x1EA3, -GDK_question, GDK_e, 0x1EBB, -GDK_question, GDK_i, 0x1EC9, -GDK_question, GDK_o, 0x1ECF, -GDK_question, GDK_u, 0x1EE7, -GDK_question, GDK_y, 0x1EF7, -GDK_question, GDK_Acircumflex, 0x1EA8, -GDK_question, GDK_Ecircumflex, 0x1EC2, -GDK_question, GDK_Ocircumflex, 0x1ED4, -GDK_question, GDK_acircumflex, 0x1EA9, -GDK_question, GDK_ecircumflex, 0x1EC3, -GDK_question, GDK_ocircumflex, 0x1ED5, -GDK_question, GDK_Abreve, 0x1EB2, -GDK_question, GDK_abreve, 0x1EB3, -GDK_A, GDK_quotedbl, 0x00C4, -GDK_A, GDK_apostrophe, 0x00C1, -GDK_A, GDK_parenleft, 0x0102, -GDK_A, GDK_asterisk, 0x00C5, -GDK_A, GDK_comma, 0x0104, -GDK_A, GDK_minus, 0x00C3, -GDK_A, GDK_greater, 0x00C2, -GDK_A, GDK_A, 0x00C5, -GDK_A, GDK_E, 0x00C6, -GDK_A, GDK_T, 0x0040, -GDK_A, GDK_asciicircum, 0x00C2, -GDK_A, GDK_underscore, 0x00AA, -GDK_A, GDK_grave, 0x00C0, -GDK_A, GDK_asciitilde, 0x00C3, -GDK_A, GDK_diaeresis, 0x00C4, -GDK_A, GDK_acute, 0x00C1, -GDK_B, GDK_period, 0x1E02, -GDK_C, GDK_apostrophe, 0x0106, -GDK_C, GDK_comma, 0x00C7, -GDK_C, GDK_period, 0x010A, -GDK_C, GDK_slash, 0x20A1, -GDK_C, GDK_0, 0x00A9, -GDK_C, GDK_less, 0x010C, -GDK_C, GDK_equal, 0x20AC, -GDK_C, GDK_E, 0x20A0, -GDK_C, GDK_O, 0x00A9, -GDK_C, GDK_o, 0x00A9, -GDK_C, GDK_r, 0x20A2, -GDK_C, GDK_bar, 0x00A2, -GDK_D, GDK_minus, 0x0110, -GDK_D, GDK_period, 0x1E0A, -GDK_D, GDK_less, 0x010E, -GDK_D, GDK_H, 0x00D0, -GDK_E, GDK_quotedbl, 0x00CB, -GDK_E, GDK_apostrophe, 0x00C9, -GDK_E, GDK_comma, 0x0118, -GDK_E, GDK_minus, 0x0112, -GDK_E, GDK_period, 0x0116, -GDK_E, GDK_less, 0x011A, -GDK_E, GDK_equal, 0x20AC, -GDK_E, GDK_greater, 0x00CA, -GDK_E, GDK_asciicircum, 0x00CA, -GDK_E, GDK_underscore, 0x0112, -GDK_E, GDK_grave, 0x00C8, -GDK_E, GDK_diaeresis, 0x00CB, -GDK_E, GDK_acute, 0x00C9, -GDK_F, GDK_period, 0x1E1E, -GDK_F, GDK_r, 0x20A3, -GDK_G, GDK_parenleft, 0x011E, -GDK_G, GDK_comma, 0x0122, -GDK_G, GDK_period, 0x0120, -GDK_G, GDK_U, 0x011E, -GDK_G, GDK_breve, 0x011E, -GDK_I, GDK_quotedbl, 0x00CF, -GDK_I, GDK_apostrophe, 0x00CD, -GDK_I, GDK_comma, 0x012E, -GDK_I, GDK_minus, 0x012A, -GDK_I, GDK_period, 0x0130, -GDK_I, GDK_greater, 0x00CE, -GDK_I, GDK_asciicircum, 0x00CE, -GDK_I, GDK_underscore, 0x012A, -GDK_I, GDK_grave, 0x00CC, -GDK_I, GDK_asciitilde, 0x0128, -GDK_I, GDK_diaeresis, 0x00CF, -GDK_I, GDK_acute, 0x00CD, -GDK_K, GDK_comma, 0x0136, -GDK_L, GDK_apostrophe, 0x0139, -GDK_L, GDK_comma, 0x013B, -GDK_L, GDK_minus, 0x00A3, -GDK_L, GDK_slash, 0x0141, -GDK_L, GDK_less, 0x013D, -GDK_L, GDK_equal, 0x00A3, -GDK_L, GDK_V, 0x007C, -GDK_M, GDK_period, 0x1E40, -GDK_N, GDK_apostrophe, 0x0143, -GDK_N, GDK_comma, 0x0145, -GDK_N, GDK_minus, 0x00D1, -GDK_N, GDK_less, 0x0147, -GDK_N, GDK_equal, 0x20A6, -GDK_N, GDK_G, 0x014A, -GDK_N, GDK_O, 0x2116, -GDK_N, GDK_o, 0x2116, -GDK_N, GDK_asciitilde, 0x00D1, -GDK_O, GDK_quotedbl, 0x00D6, -GDK_O, GDK_apostrophe, 0x00D3, -GDK_O, GDK_minus, 0x00D5, -GDK_O, GDK_slash, 0x00D8, -GDK_O, GDK_greater, 0x00D4, -GDK_O, GDK_C, 0x00A9, -GDK_O, GDK_E, 0x0152, -GDK_O, GDK_R, 0x00AE, -GDK_O, GDK_S, 0x00A7, -GDK_O, GDK_X, 0x00A4, -GDK_O, GDK_asciicircum, 0x00D4, -GDK_O, GDK_underscore, 0x00BA, -GDK_O, GDK_grave, 0x00D2, -GDK_O, GDK_c, 0x00A9, -GDK_O, GDK_r, 0x00AE, -GDK_O, GDK_x, 0x00A4, -GDK_O, GDK_asciitilde, 0x00D5, -GDK_O, GDK_diaeresis, 0x00D6, -GDK_O, GDK_acute, 0x00D3, -GDK_P, GDK_exclam, 0x00B6, -GDK_P, GDK_period, 0x1E56, -GDK_P, GDK_P, 0x00B6, -GDK_P, GDK_t, 0x20A7, -GDK_R, GDK_apostrophe, 0x0154, -GDK_R, GDK_comma, 0x0156, -GDK_R, GDK_less, 0x0158, -GDK_R, GDK_O, 0x00AE, -GDK_R, GDK_s, 0x20A8, -GDK_S, GDK_exclam, 0x00A7, -GDK_S, GDK_apostrophe, 0x015A, -GDK_S, GDK_comma, 0x015E, -GDK_S, GDK_period, 0x1E60, -GDK_S, GDK_0, 0x00A7, -GDK_S, GDK_1, 0x00B9, -GDK_S, GDK_2, 0x00B2, -GDK_S, GDK_3, 0x00B3, -GDK_S, GDK_less, 0x0160, -GDK_S, GDK_M, 0x2120, -GDK_S, GDK_O, 0x00A7, -GDK_S, GDK_m, 0x2120, -GDK_S, GDK_cedilla, 0x015E, -GDK_T, GDK_minus, 0x0166, -GDK_T, GDK_period, 0x1E6A, -GDK_T, GDK_slash, 0x0166, -GDK_T, GDK_less, 0x0164, -GDK_T, GDK_H, 0x00DE, -GDK_T, GDK_M, 0x2122, -GDK_T, GDK_m, 0x2122, -GDK_U, GDK_quotedbl, 0x00DC, -GDK_U, GDK_apostrophe, 0x00DA, -GDK_U, GDK_asterisk, 0x016E, -GDK_U, GDK_comma, 0x0172, -GDK_U, GDK_minus, 0x016A, -GDK_U, GDK_slash, 0x00B5, -GDK_U, GDK_greater, 0x00DB, -GDK_U, GDK_A, 0x0102, -GDK_U, GDK_E, 0x0114, -GDK_U, GDK_G, 0x011E, -GDK_U, GDK_I, 0x012C, -GDK_U, GDK_O, 0x014E, -GDK_U, GDK_U, 0x016C, -GDK_U, GDK_asciicircum, 0x00DB, -GDK_U, GDK_underscore, 0x016A, -GDK_U, GDK_grave, 0x00D9, -GDK_U, GDK_a, 0x0103, -GDK_U, GDK_e, 0x0115, -GDK_U, GDK_g, 0x011F, -GDK_U, GDK_i, 0x012D, -GDK_U, GDK_o, 0x014F, -GDK_U, GDK_u, 0x016D, -GDK_U, GDK_asciitilde, 0x0168, -GDK_U, GDK_diaeresis, 0x00DC, -GDK_U, GDK_acute, 0x00DA, -GDK_U, 0x0228, 0x1E1C, -GDK_U, 0x0229, 0x1E1D, -GDK_U, GDK_Cyrillic_a, 0x04D1, -GDK_U, GDK_Cyrillic_ie, 0x04D7, -GDK_U, GDK_Cyrillic_i, 0x0439, -GDK_U, GDK_Cyrillic_u, 0x045E, -GDK_U, GDK_Cyrillic_zhe, 0x04C2, -GDK_U, GDK_Cyrillic_A, 0x04D0, -GDK_U, GDK_Cyrillic_IE, 0x04D6, -GDK_U, GDK_Cyrillic_I, 0x0419, -GDK_U, GDK_Cyrillic_U, 0x040E, -GDK_U, GDK_Cyrillic_ZHE, 0x04C1, -GDK_U, GDK_Greek_ALPHA, 0x1FB8, -GDK_U, GDK_Greek_IOTA, 0x1FD8, -GDK_U, GDK_Greek_UPSILON, 0x1FE8, -GDK_U, GDK_Greek_alpha, 0x1FB0, -GDK_U, GDK_Greek_iota, 0x1FD0, -GDK_U, GDK_Greek_upsilon, 0x1FE0, -GDK_U, 0x1EA0, 0x1EB6, -GDK_U, 0x1EA1, 0x1EB7, -GDK_V, GDK_L, 0x007C, -GDK_W, GDK_equal, 0x20A9, -GDK_W, GDK_asciicircum, 0x0174, -GDK_X, GDK_0, 0x00A4, -GDK_X, GDK_O, 0x00A4, -GDK_X, GDK_o, 0x00A4, -GDK_Y, GDK_quotedbl, 0x0178, -GDK_Y, GDK_apostrophe, 0x00DD, -GDK_Y, GDK_minus, 0x00A5, -GDK_Y, GDK_equal, 0x00A5, -GDK_Y, GDK_asciicircum, 0x0176, -GDK_Y, GDK_diaeresis, 0x0178, -GDK_Y, GDK_acute, 0x00DD, -GDK_Z, GDK_apostrophe, 0x0179, -GDK_Z, GDK_period, 0x017B, -GDK_Z, GDK_less, 0x017D, -GDK_asciicircum, GDK_space, 0x005E, -GDK_asciicircum, GDK_parenleft, 0x207D, -GDK_asciicircum, GDK_parenright, 0x207E, -GDK_asciicircum, GDK_plus, 0x207A, -GDK_asciicircum, GDK_minus, 0x00AF, -GDK_asciicircum, GDK_period, 0x00B7, -GDK_asciicircum, GDK_slash, 0x007C, -GDK_asciicircum, GDK_0, 0x2070, -GDK_asciicircum, GDK_1, 0x00B9, -GDK_asciicircum, GDK_2, 0x00B2, -GDK_asciicircum, GDK_3, 0x00B3, -GDK_asciicircum, GDK_4, 0x2074, -GDK_asciicircum, GDK_5, 0x2075, -GDK_asciicircum, GDK_6, 0x2076, -GDK_asciicircum, GDK_7, 0x2077, -GDK_asciicircum, GDK_8, 0x2078, -GDK_asciicircum, GDK_9, 0x2079, -GDK_asciicircum, GDK_equal, 0x207C, -GDK_asciicircum, GDK_A, 0x00C2, -GDK_asciicircum, GDK_C, 0x0108, -GDK_asciicircum, GDK_E, 0x00CA, -GDK_asciicircum, GDK_G, 0x011C, -GDK_asciicircum, GDK_H, 0x0124, -GDK_asciicircum, GDK_I, 0x00CE, -GDK_asciicircum, GDK_J, 0x0134, -GDK_asciicircum, GDK_O, 0x00D4, -GDK_asciicircum, GDK_S, 0x015C, -GDK_asciicircum, GDK_U, 0x00DB, -GDK_asciicircum, GDK_W, 0x0174, -GDK_asciicircum, GDK_Y, 0x0176, -GDK_asciicircum, GDK_Z, 0x1E90, -GDK_asciicircum, GDK_underscore, 0x00AF, -GDK_asciicircum, GDK_a, 0x00E2, -GDK_asciicircum, GDK_c, 0x0109, -GDK_asciicircum, GDK_e, 0x00EA, -GDK_asciicircum, GDK_g, 0x011D, -GDK_asciicircum, GDK_h, 0x0125, -GDK_asciicircum, GDK_i, 0x00EE, -GDK_asciicircum, GDK_j, 0x0135, -GDK_asciicircum, GDK_o, 0x00F4, -GDK_asciicircum, GDK_s, 0x015D, -GDK_asciicircum, GDK_u, 0x00FB, -GDK_asciicircum, GDK_w, 0x0175, -GDK_asciicircum, GDK_y, 0x0177, -GDK_asciicircum, GDK_z, 0x1E91, -GDK_asciicircum, 0x1EA0, 0x1EAC, -GDK_asciicircum, 0x1EA1, 0x1EAD, -GDK_asciicircum, 0x1EB8, 0x1EC6, -GDK_asciicircum, 0x1EB9, 0x1EC7, -GDK_asciicircum, 0x1ECC, 0x1ED8, -GDK_asciicircum, 0x1ECD, 0x1ED9, -GDK_asciicircum, 0x2212, 0x207B, -GDK_asciicircum, 0x4E00, 0x3192, -GDK_asciicircum, 0x4E01, 0x319C, -GDK_asciicircum, 0x4E09, 0x3194, -GDK_asciicircum, 0x4E0A, 0x3196, -GDK_asciicircum, 0x4E0B, 0x3198, -GDK_asciicircum, 0x4E19, 0x319B, -GDK_asciicircum, 0x4E2D, 0x3197, -GDK_asciicircum, 0x4E59, 0x319A, -GDK_asciicircum, 0x4E8C, 0x3193, -GDK_asciicircum, 0x4EBA, 0x319F, -GDK_asciicircum, 0x56DB, 0x3195, -GDK_asciicircum, 0x5730, 0x319E, -GDK_asciicircum, 0x5929, 0x319D, -GDK_asciicircum, 0x7532, 0x3199, -GDK_asciicircum, GDK_KP_Space, 0x00B2, -GDK_asciicircum, GDK_KP_Add, 0x207A, -GDK_asciicircum, GDK_KP_0, 0x2070, -GDK_asciicircum, GDK_KP_1, 0x00B9, -GDK_asciicircum, GDK_KP_2, 0x00B2, -GDK_asciicircum, GDK_KP_3, 0x00B3, -GDK_asciicircum, GDK_KP_4, 0x2074, -GDK_asciicircum, GDK_KP_5, 0x2075, -GDK_asciicircum, GDK_KP_6, 0x2076, -GDK_asciicircum, GDK_KP_7, 0x2077, -GDK_asciicircum, GDK_KP_8, 0x2078, -GDK_asciicircum, GDK_KP_9, 0x2079, -GDK_asciicircum, GDK_KP_Equal, 0x207C, -GDK_underscore, GDK_parenleft, 0x208D, -GDK_underscore, GDK_parenright, 0x208E, -GDK_underscore, GDK_plus, 0x208A, -GDK_underscore, GDK_0, 0x2080, -GDK_underscore, GDK_1, 0x2081, -GDK_underscore, GDK_2, 0x2082, -GDK_underscore, GDK_3, 0x2083, -GDK_underscore, GDK_4, 0x2084, -GDK_underscore, GDK_5, 0x2085, -GDK_underscore, GDK_6, 0x2086, -GDK_underscore, GDK_7, 0x2087, -GDK_underscore, GDK_8, 0x2088, -GDK_underscore, GDK_9, 0x2089, -GDK_underscore, GDK_equal, 0x208C, -GDK_underscore, GDK_A, 0x0100, -GDK_underscore, GDK_E, 0x0112, -GDK_underscore, GDK_G, 0x1E20, -GDK_underscore, GDK_I, 0x012A, -GDK_underscore, GDK_O, 0x014C, -GDK_underscore, GDK_U, 0x016A, -GDK_underscore, GDK_Y, 0x0232, -GDK_underscore, GDK_asciicircum, 0x00AF, -GDK_underscore, GDK_underscore, 0x00AF, -GDK_underscore, GDK_a, 0x0101, -GDK_underscore, GDK_e, 0x0113, -GDK_underscore, GDK_g, 0x1E21, -GDK_underscore, GDK_i, 0x012B, -GDK_underscore, GDK_o, 0x014D, -GDK_underscore, GDK_u, 0x016B, -GDK_underscore, GDK_y, 0x0233, -GDK_underscore, GDK_Adiaeresis, 0x01DE, -GDK_underscore, GDK_AE, 0x01E2, -GDK_underscore, GDK_Otilde, 0x022C, -GDK_underscore, GDK_Odiaeresis, 0x022A, -GDK_underscore, GDK_Udiaeresis, 0x01D5, -GDK_underscore, GDK_adiaeresis, 0x01DF, -GDK_underscore, GDK_ae, 0x01E3, -GDK_underscore, GDK_otilde, 0x022D, -GDK_underscore, GDK_odiaeresis, 0x022B, -GDK_underscore, GDK_udiaeresis, 0x01D6, -GDK_underscore, 0x01EA, 0x01EC, -GDK_underscore, 0x01EB, 0x01ED, -GDK_underscore, 0x0226, 0x01E0, -GDK_underscore, 0x0227, 0x01E1, -GDK_underscore, 0x022E, 0x0230, -GDK_underscore, 0x022F, 0x0231, -GDK_underscore, GDK_Cyrillic_i, 0x04E3, -GDK_underscore, GDK_Cyrillic_u, 0x04EF, -GDK_underscore, GDK_Cyrillic_I, 0x04E2, -GDK_underscore, GDK_Cyrillic_U, 0x04EE, -GDK_underscore, GDK_Greek_ALPHA, 0x1FB9, -GDK_underscore, GDK_Greek_IOTA, 0x1FD9, -GDK_underscore, GDK_Greek_UPSILON, 0x1FE9, -GDK_underscore, GDK_Greek_alpha, 0x1FB1, -GDK_underscore, GDK_Greek_iota, 0x1FD1, -GDK_underscore, GDK_Greek_upsilon, 0x1FE1, -GDK_underscore, 0x1E36, 0x1E38, -GDK_underscore, 0x1E37, 0x1E39, -GDK_underscore, 0x1E5A, 0x1E5C, -GDK_underscore, 0x1E5B, 0x1E5D, -GDK_underscore, 0x2212, 0x208B, -GDK_underscore, GDK_KP_Space, 0x2082, -GDK_underscore, GDK_KP_Add, 0x208A, -GDK_underscore, GDK_KP_0, 0x2080, -GDK_underscore, GDK_KP_1, 0x2081, -GDK_underscore, GDK_KP_2, 0x2082, -GDK_underscore, GDK_KP_3, 0x2083, -GDK_underscore, GDK_KP_4, 0x2084, -GDK_underscore, GDK_KP_5, 0x2085, -GDK_underscore, GDK_KP_6, 0x2086, -GDK_underscore, GDK_KP_7, 0x2087, -GDK_underscore, GDK_KP_8, 0x2088, -GDK_underscore, GDK_KP_9, 0x2089, -GDK_underscore, GDK_KP_Equal, 0x208C, -GDK_grave, GDK_space, 0x0060, -GDK_grave, GDK_A, 0x00C0, -GDK_grave, GDK_E, 0x00C8, -GDK_grave, GDK_I, 0x00CC, -GDK_grave, GDK_N, 0x01F8, -GDK_grave, GDK_O, 0x00D2, -GDK_grave, GDK_U, 0x00D9, -GDK_grave, GDK_W, 0x1E80, -GDK_grave, GDK_Y, 0x1EF2, -GDK_grave, GDK_a, 0x00E0, -GDK_grave, GDK_e, 0x00E8, -GDK_grave, GDK_i, 0x00EC, -GDK_grave, GDK_n, 0x01F9, -GDK_grave, GDK_o, 0x00F2, -GDK_grave, GDK_u, 0x00F9, -GDK_grave, GDK_w, 0x1E81, -GDK_grave, GDK_y, 0x1EF3, -GDK_grave, GDK_Acircumflex, 0x1EA6, -GDK_grave, GDK_Ecircumflex, 0x1EC0, -GDK_grave, GDK_Ocircumflex, 0x1ED2, -GDK_grave, GDK_Udiaeresis, 0x01DB, -GDK_grave, GDK_acircumflex, 0x1EA7, -GDK_grave, GDK_ecircumflex, 0x1EC1, -GDK_grave, GDK_ocircumflex, 0x1ED3, -GDK_grave, GDK_udiaeresis, 0x01DC, -GDK_grave, GDK_Abreve, 0x1EB0, -GDK_grave, GDK_abreve, 0x1EB1, -GDK_grave, GDK_Emacron, 0x1E14, -GDK_grave, GDK_emacron, 0x1E15, -GDK_grave, GDK_Omacron, 0x1E50, -GDK_grave, GDK_omacron, 0x1E51, -GDK_grave, GDK_Cyrillic_ie, 0x0450, -GDK_grave, GDK_Cyrillic_i, 0x045D, -GDK_grave, GDK_Cyrillic_IE, 0x0400, -GDK_grave, GDK_Cyrillic_I, 0x040D, -GDK_grave, GDK_Greek_iotadieresis, 0x1FD2, -GDK_grave, GDK_Greek_upsilondieresis, 0x1FE2, -GDK_grave, GDK_Greek_ALPHA, 0x1FBA, -GDK_grave, GDK_Greek_EPSILON, 0x1FC8, -GDK_grave, GDK_Greek_ETA, 0x1FCA, -GDK_grave, GDK_Greek_IOTA, 0x1FDA, -GDK_grave, GDK_Greek_OMICRON, 0x1FF8, -GDK_grave, GDK_Greek_UPSILON, 0x1FEA, -GDK_grave, GDK_Greek_OMEGA, 0x1FFA, -GDK_grave, GDK_Greek_alpha, 0x1F70, -GDK_grave, GDK_Greek_epsilon, 0x1F72, -GDK_grave, GDK_Greek_eta, 0x1F74, -GDK_grave, GDK_Greek_iota, 0x1F76, -GDK_grave, GDK_Greek_omicron, 0x1F78, -GDK_grave, GDK_Greek_upsilon, 0x1F7A, -GDK_grave, GDK_Greek_omega, 0x1F7C, -GDK_grave, 0x1F00, 0x1F02, -GDK_grave, 0x1F01, 0x1F03, -GDK_grave, 0x1F08, 0x1F0A, -GDK_grave, 0x1F09, 0x1F0B, -GDK_grave, 0x1F10, 0x1F12, -GDK_grave, 0x1F11, 0x1F13, -GDK_grave, 0x1F18, 0x1F1A, -GDK_grave, 0x1F19, 0x1F1B, -GDK_grave, 0x1F20, 0x1F22, -GDK_grave, 0x1F21, 0x1F23, -GDK_grave, 0x1F28, 0x1F2A, -GDK_grave, 0x1F29, 0x1F2B, -GDK_grave, 0x1F30, 0x1F32, -GDK_grave, 0x1F31, 0x1F33, -GDK_grave, 0x1F38, 0x1F3A, -GDK_grave, 0x1F39, 0x1F3B, -GDK_grave, 0x1F40, 0x1F42, -GDK_grave, 0x1F41, 0x1F43, -GDK_grave, 0x1F48, 0x1F4A, -GDK_grave, 0x1F49, 0x1F4B, -GDK_grave, 0x1F50, 0x1F52, -GDK_grave, 0x1F51, 0x1F53, -GDK_grave, 0x1F59, 0x1F5B, -GDK_grave, 0x1F60, 0x1F62, -GDK_grave, 0x1F61, 0x1F63, -GDK_grave, 0x1F68, 0x1F6A, -GDK_grave, 0x1F69, 0x1F6B, -GDK_a, GDK_quotedbl, 0x00E4, -GDK_a, GDK_apostrophe, 0x00E1, -GDK_a, GDK_parenleft, 0x0103, -GDK_a, GDK_asterisk, 0x00E5, -GDK_a, GDK_comma, 0x0105, -GDK_a, GDK_minus, 0x0101, -GDK_a, GDK_greater, 0x00E2, -GDK_a, GDK_asciicircum, 0x00E2, -GDK_a, GDK_underscore, 0x00AA, -GDK_a, GDK_grave, 0x00E0, -GDK_a, GDK_a, 0x00E5, -GDK_a, GDK_e, 0x00E6, -GDK_a, GDK_asciitilde, 0x00E3, -GDK_a, GDK_diaeresis, 0x00E4, -GDK_a, GDK_acute, 0x00E1, -GDK_b, GDK_period, 0x1E03, -GDK_b, GDK_A, 0x0102, -GDK_b, GDK_E, 0x0114, -GDK_b, GDK_G, 0x011E, -GDK_b, GDK_I, 0x012C, -GDK_b, GDK_O, 0x014E, -GDK_b, GDK_U, 0x016C, -GDK_b, GDK_a, 0x0103, -GDK_b, GDK_e, 0x0115, -GDK_b, GDK_g, 0x011F, -GDK_b, GDK_i, 0x012D, -GDK_b, GDK_o, 0x014F, -GDK_b, GDK_u, 0x016D, -GDK_b, 0x0228, 0x1E1C, -GDK_b, 0x0229, 0x1E1D, -GDK_b, GDK_Cyrillic_a, 0x04D1, -GDK_b, GDK_Cyrillic_ie, 0x04D7, -GDK_b, GDK_Cyrillic_i, 0x0439, -GDK_b, GDK_Cyrillic_u, 0x045E, -GDK_b, GDK_Cyrillic_zhe, 0x04C2, -GDK_b, GDK_Cyrillic_A, 0x04D0, -GDK_b, GDK_Cyrillic_IE, 0x04D6, -GDK_b, GDK_Cyrillic_I, 0x0419, -GDK_b, GDK_Cyrillic_U, 0x040E, -GDK_b, GDK_Cyrillic_ZHE, 0x04C1, -GDK_b, GDK_Greek_ALPHA, 0x1FB8, -GDK_b, GDK_Greek_IOTA, 0x1FD8, -GDK_b, GDK_Greek_UPSILON, 0x1FE8, -GDK_b, GDK_Greek_alpha, 0x1FB0, -GDK_b, GDK_Greek_iota, 0x1FD0, -GDK_b, GDK_Greek_upsilon, 0x1FE0, -GDK_b, 0x1EA0, 0x1EB6, -GDK_b, 0x1EA1, 0x1EB7, -GDK_c, GDK_apostrophe, 0x0107, -GDK_c, GDK_comma, 0x00E7, -GDK_c, GDK_period, 0x010B, -GDK_c, GDK_slash, 0x00A2, -GDK_c, GDK_0, 0x00A9, -GDK_c, GDK_less, 0x010D, -GDK_c, GDK_equal, 0x20AC, -GDK_c, GDK_A, 0x01CD, -GDK_c, GDK_C, 0x010C, -GDK_c, GDK_D, 0x010E, -GDK_c, GDK_E, 0x011A, -GDK_c, GDK_G, 0x01E6, -GDK_c, GDK_H, 0x021E, -GDK_c, GDK_I, 0x01CF, -GDK_c, GDK_K, 0x01E8, -GDK_c, GDK_L, 0x013D, -GDK_c, GDK_N, 0x0147, -GDK_c, GDK_O, 0x01D1, -GDK_c, GDK_R, 0x0158, -GDK_c, GDK_S, 0x0160, -GDK_c, GDK_T, 0x0164, -GDK_c, GDK_U, 0x01D3, -GDK_c, GDK_Z, 0x017D, -GDK_c, GDK_a, 0x01CE, -GDK_c, GDK_c, 0x010D, -GDK_c, GDK_d, 0x010F, -GDK_c, GDK_e, 0x011B, -GDK_c, GDK_g, 0x01E7, -GDK_c, GDK_h, 0x021F, -GDK_c, GDK_i, 0x01D0, -GDK_c, GDK_j, 0x01F0, -GDK_c, GDK_k, 0x01E9, -GDK_c, GDK_l, 0x013E, -GDK_c, GDK_n, 0x0148, -GDK_c, GDK_o, 0x01D2, -GDK_c, GDK_r, 0x0159, -GDK_c, GDK_s, 0x0161, -GDK_c, GDK_t, 0x0165, -GDK_c, GDK_u, 0x01D4, -GDK_c, GDK_z, 0x017E, -GDK_c, GDK_bar, 0x00A2, -GDK_c, GDK_Udiaeresis, 0x01D9, -GDK_c, GDK_udiaeresis, 0x01DA, -GDK_c, 0x01B7, 0x01EE, -GDK_c, 0x0292, 0x01EF, -GDK_d, GDK_minus, 0x20AB, -GDK_d, GDK_period, 0x1E0B, -GDK_d, GDK_less, 0x010F, -GDK_d, GDK_h, 0x00F0, -GDK_e, GDK_quotedbl, 0x00EB, -GDK_e, GDK_apostrophe, 0x00E9, -GDK_e, GDK_comma, 0x0119, -GDK_e, GDK_minus, 0x0113, -GDK_e, GDK_period, 0x0117, -GDK_e, GDK_less, 0x011B, -GDK_e, GDK_equal, 0x20AC, -GDK_e, GDK_greater, 0x00EA, -GDK_e, GDK_asciicircum, 0x00EA, -GDK_e, GDK_underscore, 0x0113, -GDK_e, GDK_grave, 0x00E8, -GDK_e, GDK_e, 0x0259, -GDK_e, GDK_diaeresis, 0x00EB, -GDK_e, GDK_acute, 0x00E9, -GDK_f, GDK_period, 0x1E1F, -GDK_f, GDK_S, 0x017F, -GDK_f, GDK_s, 0x017F, -GDK_g, GDK_parenleft, 0x011F, -GDK_g, GDK_comma, 0x0123, -GDK_g, GDK_period, 0x0121, -GDK_g, GDK_U, 0x011F, -GDK_g, GDK_breve, 0x011F, -GDK_i, GDK_quotedbl, 0x00EF, -GDK_i, GDK_apostrophe, 0x00ED, -GDK_i, GDK_comma, 0x012F, -GDK_i, GDK_minus, 0x012B, -GDK_i, GDK_period, 0x0131, -GDK_i, GDK_greater, 0x00EE, -GDK_i, GDK_asciicircum, 0x00EE, -GDK_i, GDK_underscore, 0x012B, -GDK_i, GDK_grave, 0x00EC, -GDK_i, GDK_asciitilde, 0x0129, -GDK_i, GDK_diaeresis, 0x00EF, -GDK_i, GDK_acute, 0x00ED, -GDK_k, GDK_comma, 0x0137, -GDK_k, GDK_k, 0x0138, -GDK_l, GDK_apostrophe, 0x013A, -GDK_l, GDK_comma, 0x013C, -GDK_l, GDK_minus, 0x00A3, -GDK_l, GDK_slash, 0x0142, -GDK_l, GDK_less, 0x013E, -GDK_l, GDK_equal, 0x00A3, -GDK_l, GDK_v, 0x007C, -GDK_m, GDK_period, 0x1E41, -GDK_m, GDK_slash, 0x20A5, -GDK_m, GDK_u, 0x00B5, -GDK_n, GDK_apostrophe, 0x0144, -GDK_n, GDK_comma, 0x0146, -GDK_n, GDK_minus, 0x00F1, -GDK_n, GDK_less, 0x0148, -GDK_n, GDK_g, 0x014B, -GDK_n, GDK_asciitilde, 0x00F1, -GDK_o, GDK_quotedbl, 0x00F6, -GDK_o, GDK_apostrophe, 0x00F3, -GDK_o, GDK_minus, 0x014D, -GDK_o, GDK_slash, 0x00F8, -GDK_o, GDK_greater, 0x00F4, -GDK_o, GDK_A, 0x00C5, -GDK_o, GDK_C, 0x00A9, -GDK_o, GDK_R, 0x00AE, -GDK_o, GDK_U, 0x016E, -GDK_o, GDK_X, 0x00A4, -GDK_o, GDK_asciicircum, 0x00F4, -GDK_o, GDK_underscore, 0x00BA, -GDK_o, GDK_grave, 0x00F2, -GDK_o, GDK_a, 0x00E5, -GDK_o, GDK_c, 0x00A9, -GDK_o, GDK_e, 0x0153, -GDK_o, GDK_o, 0x00B0, -GDK_o, GDK_r, 0x00AE, -GDK_o, GDK_s, 0x00A7, -GDK_o, GDK_u, 0x016F, -GDK_o, GDK_w, 0x1E98, -GDK_o, GDK_x, 0x00A4, -GDK_o, GDK_y, 0x1E99, -GDK_o, GDK_asciitilde, 0x00F5, -GDK_o, GDK_diaeresis, 0x00F6, -GDK_o, GDK_acute, 0x00F3, -GDK_p, GDK_exclam, 0x00B6, -GDK_p, GDK_period, 0x1E57, -GDK_r, GDK_apostrophe, 0x0155, -GDK_r, GDK_comma, 0x0157, -GDK_r, GDK_less, 0x0159, -GDK_s, GDK_exclam, 0x00A7, -GDK_s, GDK_apostrophe, 0x015B, -GDK_s, GDK_comma, 0x015F, -GDK_s, GDK_period, 0x1E61, -GDK_s, GDK_0, 0x00A7, -GDK_s, GDK_1, 0x00B9, -GDK_s, GDK_2, 0x00B2, -GDK_s, GDK_3, 0x00B3, -GDK_s, GDK_less, 0x0161, -GDK_s, GDK_M, 0x2120, -GDK_s, GDK_m, 0x2120, -GDK_s, GDK_o, 0x00A7, -GDK_s, GDK_s, 0x00DF, -GDK_s, GDK_cedilla, 0x015F, -GDK_t, GDK_minus, 0x0167, -GDK_t, GDK_period, 0x1E6B, -GDK_t, GDK_slash, 0x0167, -GDK_t, GDK_less, 0x0165, -GDK_t, GDK_M, 0x2122, -GDK_t, GDK_h, 0x00FE, -GDK_t, GDK_m, 0x2122, -GDK_u, GDK_quotedbl, 0x00FC, -GDK_u, GDK_apostrophe, 0x00FA, -GDK_u, GDK_asterisk, 0x016F, -GDK_u, GDK_comma, 0x0173, -GDK_u, GDK_minus, 0x016B, -GDK_u, GDK_slash, 0x00B5, -GDK_u, GDK_greater, 0x00FB, -GDK_u, GDK_asciicircum, 0x00FB, -GDK_u, GDK_underscore, 0x016B, -GDK_u, GDK_grave, 0x00F9, -GDK_u, GDK_u, 0x016D, -GDK_u, GDK_asciitilde, 0x0169, -GDK_u, GDK_diaeresis, 0x00FC, -GDK_u, GDK_acute, 0x00FA, -GDK_v, GDK_Z, 0x017D, -GDK_v, GDK_l, 0x007C, -GDK_v, GDK_z, 0x017E, -GDK_w, GDK_asciicircum, 0x0175, -GDK_x, GDK_0, 0x00A4, -GDK_x, GDK_O, 0x00A4, -GDK_x, GDK_o, 0x00A4, -GDK_x, GDK_x, 0x00D7, -GDK_y, GDK_quotedbl, 0x00FF, -GDK_y, GDK_apostrophe, 0x00FD, -GDK_y, GDK_minus, 0x00A5, -GDK_y, GDK_equal, 0x00A5, -GDK_y, GDK_asciicircum, 0x0177, -GDK_y, GDK_diaeresis, 0x00FF, -GDK_y, GDK_acute, 0x00FD, -GDK_z, GDK_apostrophe, 0x017A, -GDK_z, GDK_period, 0x017C, -GDK_z, GDK_less, 0x017E, -GDK_bar, GDK_C, 0x00A2, -GDK_bar, GDK_c, 0x00A2, -GDK_asciitilde, GDK_space, 0x007E, -GDK_asciitilde, GDK_A, 0x00C3, -GDK_asciitilde, GDK_E, 0x1EBC, -GDK_asciitilde, GDK_I, 0x0128, -GDK_asciitilde, GDK_N, 0x00D1, -GDK_asciitilde, GDK_O, 0x00D5, -GDK_asciitilde, GDK_U, 0x0168, -GDK_asciitilde, GDK_V, 0x1E7C, -GDK_asciitilde, GDK_Y, 0x1EF8, -GDK_asciitilde, GDK_a, 0x00E3, -GDK_asciitilde, GDK_e, 0x1EBD, -GDK_asciitilde, GDK_i, 0x0129, -GDK_asciitilde, GDK_n, 0x00F1, -GDK_asciitilde, GDK_o, 0x00F5, -GDK_asciitilde, GDK_u, 0x0169, -GDK_asciitilde, GDK_v, 0x1E7D, -GDK_asciitilde, GDK_y, 0x1EF9, -GDK_asciitilde, GDK_Acircumflex, 0x1EAA, -GDK_asciitilde, GDK_Ecircumflex, 0x1EC4, -GDK_asciitilde, GDK_Ocircumflex, 0x1ED6, -GDK_asciitilde, GDK_acircumflex, 0x1EAB, -GDK_asciitilde, GDK_ecircumflex, 0x1EC5, -GDK_asciitilde, GDK_ocircumflex, 0x1ED7, -GDK_asciitilde, GDK_Abreve, 0x1EB4, -GDK_asciitilde, GDK_abreve, 0x1EB5, -GDK_asciitilde, GDK_Greek_iotadieresis, 0x1FD7, -GDK_asciitilde, GDK_Greek_upsilondieresis, 0x1FE7, -GDK_asciitilde, GDK_Greek_alpha, 0x1FB6, -GDK_asciitilde, GDK_Greek_eta, 0x1FC6, -GDK_asciitilde, GDK_Greek_iota, 0x1FD6, -GDK_asciitilde, GDK_Greek_upsilon, 0x1FE6, -GDK_asciitilde, GDK_Greek_omega, 0x1FF6, -GDK_asciitilde, 0x1F00, 0x1F06, -GDK_asciitilde, 0x1F01, 0x1F07, -GDK_asciitilde, 0x1F08, 0x1F0E, -GDK_asciitilde, 0x1F09, 0x1F0F, -GDK_asciitilde, 0x1F20, 0x1F26, -GDK_asciitilde, 0x1F21, 0x1F27, -GDK_asciitilde, 0x1F28, 0x1F2E, -GDK_asciitilde, 0x1F29, 0x1F2F, -GDK_asciitilde, 0x1F30, 0x1F36, -GDK_asciitilde, 0x1F31, 0x1F37, -GDK_asciitilde, 0x1F38, 0x1F3E, -GDK_asciitilde, 0x1F39, 0x1F3F, -GDK_asciitilde, 0x1F50, 0x1F56, -GDK_asciitilde, 0x1F51, 0x1F57, -GDK_asciitilde, 0x1F59, 0x1F5F, -GDK_asciitilde, 0x1F60, 0x1F66, -GDK_asciitilde, 0x1F61, 0x1F67, -GDK_asciitilde, 0x1F68, 0x1F6E, -GDK_asciitilde, 0x1F69, 0x1F6F, -GDK_diaeresis, GDK_apostrophe, 0x0385, -GDK_diaeresis, GDK_A, 0x00C4, -GDK_diaeresis, GDK_E, 0x00CB, -GDK_diaeresis, GDK_I, 0x00CF, -GDK_diaeresis, GDK_O, 0x00D6, -GDK_diaeresis, GDK_U, 0x00DC, -GDK_diaeresis, GDK_Y, 0x0178, -GDK_diaeresis, GDK_grave, 0x1FED, -GDK_diaeresis, GDK_a, 0x00E4, -GDK_diaeresis, GDK_e, 0x00EB, -GDK_diaeresis, GDK_i, 0x00EF, -GDK_diaeresis, GDK_o, 0x00F6, -GDK_diaeresis, GDK_u, 0x00FC, -GDK_diaeresis, GDK_y, 0x00FF, -GDK_diaeresis, GDK_asciitilde, 0x1FC1, -GDK_diaeresis, GDK_acute, 0x0385, -GDK_diaeresis, GDK_dead_grave, 0x1FED, -GDK_diaeresis, GDK_dead_acute, 0x0385, -GDK_diaeresis, GDK_dead_tilde, 0x1FC1, -GDK_macron, GDK_A, 0x0100, -GDK_macron, GDK_E, 0x0112, -GDK_macron, GDK_G, 0x1E20, -GDK_macron, GDK_I, 0x012A, -GDK_macron, GDK_O, 0x014C, -GDK_macron, GDK_U, 0x016A, -GDK_macron, GDK_Y, 0x0232, -GDK_macron, GDK_a, 0x0101, -GDK_macron, GDK_e, 0x0113, -GDK_macron, GDK_g, 0x1E21, -GDK_macron, GDK_i, 0x012B, -GDK_macron, GDK_o, 0x014D, -GDK_macron, GDK_u, 0x016B, -GDK_macron, GDK_y, 0x0233, -GDK_macron, GDK_Adiaeresis, 0x01DE, -GDK_macron, GDK_AE, 0x01E2, -GDK_macron, GDK_Otilde, 0x022C, -GDK_macron, GDK_Odiaeresis, 0x022A, -GDK_macron, GDK_Udiaeresis, 0x01D5, -GDK_macron, GDK_adiaeresis, 0x01DF, -GDK_macron, GDK_ae, 0x01E3, -GDK_macron, GDK_otilde, 0x022D, -GDK_macron, GDK_odiaeresis, 0x022B, -GDK_macron, GDK_udiaeresis, 0x01D6, -GDK_macron, 0x01EA, 0x01EC, -GDK_macron, 0x01EB, 0x01ED, -GDK_macron, 0x0226, 0x01E0, -GDK_macron, 0x0227, 0x01E1, -GDK_macron, 0x022E, 0x0230, -GDK_macron, 0x022F, 0x0231, -GDK_macron, GDK_Cyrillic_i, 0x04E3, -GDK_macron, GDK_Cyrillic_u, 0x04EF, -GDK_macron, GDK_Cyrillic_I, 0x04E2, -GDK_macron, GDK_Cyrillic_U, 0x04EE, -GDK_macron, GDK_Greek_ALPHA, 0x1FB9, -GDK_macron, GDK_Greek_IOTA, 0x1FD9, -GDK_macron, GDK_Greek_UPSILON, 0x1FE9, -GDK_macron, GDK_Greek_alpha, 0x1FB1, -GDK_macron, GDK_Greek_iota, 0x1FD1, -GDK_macron, GDK_Greek_upsilon, 0x1FE1, -GDK_macron, 0x1E36, 0x1E38, -GDK_macron, 0x1E37, 0x1E39, -GDK_macron, 0x1E5A, 0x1E5C, -GDK_macron, 0x1E5B, 0x1E5D, -GDK_acute, GDK_A, 0x00C1, -GDK_acute, GDK_C, 0x0106, -GDK_acute, GDK_E, 0x00C9, -GDK_acute, GDK_G, 0x01F4, -GDK_acute, GDK_I, 0x00CD, -GDK_acute, GDK_K, 0x1E30, -GDK_acute, GDK_L, 0x0139, -GDK_acute, GDK_M, 0x1E3E, -GDK_acute, GDK_N, 0x0143, -GDK_acute, GDK_O, 0x00D3, -GDK_acute, GDK_P, 0x1E54, -GDK_acute, GDK_R, 0x0154, -GDK_acute, GDK_S, 0x015A, -GDK_acute, GDK_U, 0x00DA, -GDK_acute, GDK_W, 0x1E82, -GDK_acute, GDK_Y, 0x00DD, -GDK_acute, GDK_Z, 0x0179, -GDK_acute, GDK_a, 0x00E1, -GDK_acute, GDK_c, 0x0107, -GDK_acute, GDK_e, 0x00E9, -GDK_acute, GDK_g, 0x01F5, -GDK_acute, GDK_i, 0x00ED, -GDK_acute, GDK_k, 0x1E31, -GDK_acute, GDK_l, 0x013A, -GDK_acute, GDK_m, 0x1E3F, -GDK_acute, GDK_n, 0x0144, -GDK_acute, GDK_o, 0x00F3, -GDK_acute, GDK_p, 0x1E55, -GDK_acute, GDK_r, 0x0155, -GDK_acute, GDK_s, 0x015B, -GDK_acute, GDK_u, 0x00FA, -GDK_acute, GDK_w, 0x1E83, -GDK_acute, GDK_y, 0x00FD, -GDK_acute, GDK_z, 0x017A, -GDK_acute, GDK_Acircumflex, 0x1EA4, -GDK_acute, GDK_Aring, 0x01FA, -GDK_acute, GDK_AE, 0x01FC, -GDK_acute, GDK_Ccedilla, 0x1E08, -GDK_acute, GDK_Ecircumflex, 0x1EBE, -GDK_acute, GDK_Idiaeresis, 0x1E2E, -GDK_acute, GDK_Ocircumflex, 0x1ED0, -GDK_acute, GDK_Otilde, 0x1E4C, -GDK_acute, GDK_Ooblique, 0x01FE, -GDK_acute, GDK_Udiaeresis, 0x01D7, -GDK_acute, GDK_acircumflex, 0x1EA5, -GDK_acute, GDK_aring, 0x01FB, -GDK_acute, GDK_ae, 0x01FD, -GDK_acute, GDK_ccedilla, 0x1E09, -GDK_acute, GDK_ecircumflex, 0x1EBF, -GDK_acute, GDK_idiaeresis, 0x1E2F, -GDK_acute, GDK_ocircumflex, 0x1ED1, -GDK_acute, GDK_otilde, 0x1E4D, -GDK_acute, GDK_oslash, 0x01FF, -GDK_acute, GDK_udiaeresis, 0x01D8, -GDK_acute, GDK_Abreve, 0x1EAE, -GDK_acute, GDK_abreve, 0x1EAF, -GDK_acute, GDK_Emacron, 0x1E16, -GDK_acute, GDK_emacron, 0x1E17, -GDK_acute, GDK_Omacron, 0x1E52, -GDK_acute, GDK_Utilde, 0x1E78, -GDK_acute, GDK_omacron, 0x1E53, -GDK_acute, GDK_utilde, 0x1E79, -GDK_acute, GDK_Cyrillic_ghe, 0x0453, -GDK_acute, GDK_Cyrillic_ka, 0x045C, -GDK_acute, GDK_Cyrillic_GHE, 0x0403, -GDK_acute, GDK_Cyrillic_KA, 0x040C, -GDK_acute, GDK_Greek_iotadieresis, 0x0390, -GDK_acute, GDK_Greek_upsilondieresis, 0x03B0, -GDK_acute, GDK_Greek_ALPHA, 0x0386, -GDK_acute, GDK_Greek_EPSILON, 0x0388, -GDK_acute, GDK_Greek_ETA, 0x0389, -GDK_acute, GDK_Greek_IOTA, 0x038A, -GDK_acute, GDK_Greek_OMICRON, 0x038C, -GDK_acute, GDK_Greek_UPSILON, 0x038E, -GDK_acute, GDK_Greek_OMEGA, 0x038F, -GDK_acute, GDK_Greek_alpha, 0x03AC, -GDK_acute, GDK_Greek_epsilon, 0x03AD, -GDK_acute, GDK_Greek_eta, 0x03AE, -GDK_acute, GDK_Greek_iota, 0x03AF, -GDK_acute, GDK_Greek_omicron, 0x03CC, -GDK_acute, GDK_Greek_upsilon, 0x03CD, -GDK_acute, GDK_Greek_omega, 0x03CE, -GDK_acute, 0x1F00, 0x1F04, -GDK_acute, 0x1F01, 0x1F05, -GDK_acute, 0x1F08, 0x1F0C, -GDK_acute, 0x1F09, 0x1F0D, -GDK_acute, 0x1F10, 0x1F14, -GDK_acute, 0x1F11, 0x1F15, -GDK_acute, 0x1F18, 0x1F1C, -GDK_acute, 0x1F19, 0x1F1D, -GDK_acute, 0x1F20, 0x1F24, -GDK_acute, 0x1F21, 0x1F25, -GDK_acute, 0x1F28, 0x1F2C, -GDK_acute, 0x1F29, 0x1F2D, -GDK_acute, 0x1F30, 0x1F34, -GDK_acute, 0x1F31, 0x1F35, -GDK_acute, 0x1F38, 0x1F3C, -GDK_acute, 0x1F39, 0x1F3D, -GDK_acute, 0x1F40, 0x1F44, -GDK_acute, 0x1F41, 0x1F45, -GDK_acute, 0x1F48, 0x1F4C, -GDK_acute, 0x1F49, 0x1F4D, -GDK_acute, 0x1F50, 0x1F54, -GDK_acute, 0x1F51, 0x1F55, -GDK_acute, 0x1F59, 0x1F5D, -GDK_acute, 0x1F60, 0x1F64, -GDK_acute, 0x1F61, 0x1F65, -GDK_acute, 0x1F68, 0x1F6C, -GDK_acute, 0x1F69, 0x1F6D, -GDK_cedilla, GDK_C, 0x00C7, -GDK_cedilla, GDK_D, 0x1E10, -GDK_cedilla, GDK_E, 0x0228, -GDK_cedilla, GDK_G, 0x0122, -GDK_cedilla, GDK_H, 0x1E28, -GDK_cedilla, GDK_K, 0x0136, -GDK_cedilla, GDK_L, 0x013B, -GDK_cedilla, GDK_N, 0x0145, -GDK_cedilla, GDK_R, 0x0156, -GDK_cedilla, GDK_S, 0x015E, -GDK_cedilla, GDK_T, 0x0162, -GDK_cedilla, GDK_c, 0x00E7, -GDK_cedilla, GDK_d, 0x1E11, -GDK_cedilla, GDK_e, 0x0229, -GDK_cedilla, GDK_g, 0x0123, -GDK_cedilla, GDK_h, 0x1E29, -GDK_cedilla, GDK_k, 0x0137, -GDK_cedilla, GDK_l, 0x013C, -GDK_cedilla, GDK_n, 0x0146, -GDK_cedilla, GDK_r, 0x0157, -GDK_cedilla, GDK_s, 0x015F, -GDK_cedilla, GDK_t, 0x0163, -GDK_breve, GDK_G, 0x011E, -GDK_breve, GDK_g, 0x011F, -0x05B4, GDK_hebrew_yod, 0xFB1D, -0x05B7, 0x05F2, 0xFB1F, -0x05B7, GDK_hebrew_aleph, 0xFB2E, -0x05B8, GDK_hebrew_aleph, 0xFB2F, -0x05B9, GDK_hebrew_waw, 0xFB4B, -0x05BC, GDK_hebrew_aleph, 0xFB30, -0x05BC, GDK_hebrew_beth, 0xFB31, -0x05BC, GDK_hebrew_gimmel, 0xFB32, -0x05BC, GDK_hebrew_daleth, 0xFB33, -0x05BC, GDK_hebrew_he, 0xFB34, -0x05BC, GDK_hebrew_waw, 0xFB35, -0x05BC, GDK_hebrew_zayin, 0xFB36, -0x05BC, GDK_hebrew_teth, 0xFB38, -0x05BC, GDK_hebrew_yod, 0xFB39, -0x05BC, GDK_hebrew_finalkaph, 0xFB3A, -0x05BC, GDK_hebrew_kaph, 0xFB3B, -0x05BC, GDK_hebrew_lamed, 0xFB3C, -0x05BC, GDK_hebrew_mem, 0xFB3E, -0x05BC, GDK_hebrew_nun, 0xFB40, -0x05BC, GDK_hebrew_samekh, 0xFB41, -0x05BC, GDK_hebrew_finalpe, 0xFB43, -0x05BC, GDK_hebrew_pe, 0xFB44, -0x05BC, GDK_hebrew_zadi, 0xFB46, -0x05BC, GDK_hebrew_qoph, 0xFB47, -0x05BC, GDK_hebrew_resh, 0xFB48, -0x05BC, GDK_hebrew_shin, 0xFB49, -0x05BC, GDK_hebrew_taw, 0xFB4A, -0x05BF, GDK_hebrew_beth, 0xFB4C, -0x05BF, GDK_hebrew_kaph, 0xFB4D, -0x05BF, GDK_hebrew_pe, 0xFB4E, -0x05C1, GDK_hebrew_shin, 0xFB2A, -0x05C1, 0xFB49, 0xFB2C, -0x05C2, GDK_hebrew_shin, 0xFB2B, -0x05C2, 0xFB49, 0xFB2D, -0x0653, GDK_Arabic_alef, 0x0622, -0x0654, GDK_Arabic_alef, 0x0623, -0x0654, GDK_Arabic_waw, 0x0624, -0x0654, GDK_Arabic_yeh, 0x0626, -0x0654, 0x06C1, 0x06C2, -0x0654, 0x06D2, 0x06D3, -0x0654, 0x06D5, 0x06C0, -0x0655, GDK_Arabic_alef, 0x0625, -GDK_Cyrillic_pe, GDK_Cyrillic_a, 0x00A7, -GDK_Cyrillic_IE, GDK_equal, 0x20AC, -GDK_Cyrillic_EN, GDK_Cyrillic_o, 0x2116, -GDK_Cyrillic_EN, GDK_Cyrillic_O, 0x2116, -GDK_Cyrillic_ES, GDK_equal, 0x20AC, -GDK_Greek_ALPHA, GDK_apostrophe, 0x0386, -GDK_Greek_EPSILON, GDK_apostrophe, 0x0388, -GDK_Greek_ETA, GDK_apostrophe, 0x0389, -GDK_Greek_IOTA, GDK_quotedbl, 0x03AA, -GDK_Greek_IOTA, GDK_apostrophe, 0x038A, -GDK_Greek_OMICRON, GDK_apostrophe, 0x038C, -GDK_Greek_UPSILON, GDK_quotedbl, 0x03AB, -GDK_Greek_UPSILON, GDK_apostrophe, 0x038E, -GDK_Greek_OMEGA, GDK_apostrophe, 0x038F, -GDK_Greek_alpha, GDK_apostrophe, 0x03AC, -GDK_Greek_epsilon, GDK_apostrophe, 0x03AD, -GDK_Greek_eta, GDK_apostrophe, 0x03AE, -GDK_Greek_iota, GDK_quotedbl, 0x03CA, -GDK_Greek_iota, GDK_apostrophe, 0x03AF, -GDK_Greek_iota, GDK_Greek_alphaaccent, 0x1FB4, -GDK_Greek_iota, GDK_Greek_etaaccent, 0x1FC4, -GDK_Greek_iota, GDK_Greek_omegaaccent, 0x1FF4, -GDK_Greek_iota, GDK_Greek_ALPHA, 0x1FBC, -GDK_Greek_iota, GDK_Greek_ETA, 0x1FCC, -GDK_Greek_iota, GDK_Greek_OMEGA, 0x1FFC, -GDK_Greek_iota, GDK_Greek_alpha, 0x1FB3, -GDK_Greek_iota, GDK_Greek_eta, 0x1FC3, -GDK_Greek_iota, GDK_Greek_omega, 0x1FF3, -GDK_Greek_iota, 0x1F00, 0x1F80, -GDK_Greek_iota, 0x1F01, 0x1F81, -GDK_Greek_iota, 0x1F02, 0x1F82, -GDK_Greek_iota, 0x1F03, 0x1F83, -GDK_Greek_iota, 0x1F04, 0x1F84, -GDK_Greek_iota, 0x1F05, 0x1F85, -GDK_Greek_iota, 0x1F06, 0x1F86, -GDK_Greek_iota, 0x1F07, 0x1F87, -GDK_Greek_iota, 0x1F08, 0x1F88, -GDK_Greek_iota, 0x1F09, 0x1F89, -GDK_Greek_iota, 0x1F0A, 0x1F8A, -GDK_Greek_iota, 0x1F0B, 0x1F8B, -GDK_Greek_iota, 0x1F0C, 0x1F8C, -GDK_Greek_iota, 0x1F0D, 0x1F8D, -GDK_Greek_iota, 0x1F0E, 0x1F8E, -GDK_Greek_iota, 0x1F0F, 0x1F8F, -GDK_Greek_iota, 0x1F20, 0x1F90, -GDK_Greek_iota, 0x1F21, 0x1F91, -GDK_Greek_iota, 0x1F22, 0x1F92, -GDK_Greek_iota, 0x1F23, 0x1F93, -GDK_Greek_iota, 0x1F24, 0x1F94, -GDK_Greek_iota, 0x1F25, 0x1F95, -GDK_Greek_iota, 0x1F26, 0x1F96, -GDK_Greek_iota, 0x1F27, 0x1F97, -GDK_Greek_iota, 0x1F28, 0x1F98, -GDK_Greek_iota, 0x1F29, 0x1F99, -GDK_Greek_iota, 0x1F2A, 0x1F9A, -GDK_Greek_iota, 0x1F2B, 0x1F9B, -GDK_Greek_iota, 0x1F2C, 0x1F9C, -GDK_Greek_iota, 0x1F2D, 0x1F9D, -GDK_Greek_iota, 0x1F2E, 0x1F9E, -GDK_Greek_iota, 0x1F2F, 0x1F9F, -GDK_Greek_iota, 0x1F60, 0x1FA0, -GDK_Greek_iota, 0x1F61, 0x1FA1, -GDK_Greek_iota, 0x1F62, 0x1FA2, -GDK_Greek_iota, 0x1F63, 0x1FA3, -GDK_Greek_iota, 0x1F64, 0x1FA4, -GDK_Greek_iota, 0x1F65, 0x1FA5, -GDK_Greek_iota, 0x1F66, 0x1FA6, -GDK_Greek_iota, 0x1F67, 0x1FA7, -GDK_Greek_iota, 0x1F68, 0x1FA8, -GDK_Greek_iota, 0x1F69, 0x1FA9, -GDK_Greek_iota, 0x1F6A, 0x1FAA, -GDK_Greek_iota, 0x1F6B, 0x1FAB, -GDK_Greek_iota, 0x1F6C, 0x1FAC, -GDK_Greek_iota, 0x1F6D, 0x1FAD, -GDK_Greek_iota, 0x1F6E, 0x1FAE, -GDK_Greek_iota, 0x1F6F, 0x1FAF, -GDK_Greek_iota, 0x1F70, 0x1FB2, -GDK_Greek_iota, 0x1F74, 0x1FC2, -GDK_Greek_iota, 0x1F7C, 0x1FF2, -GDK_Greek_iota, 0x1FB6, 0x1FB7, -GDK_Greek_iota, 0x1FC6, 0x1FC7, -GDK_Greek_iota, 0x1FF6, 0x1FF7, -GDK_Greek_omicron, GDK_apostrophe, 0x03CC, -GDK_Greek_upsilon, GDK_quotedbl, 0x03CB, -GDK_Greek_upsilon, GDK_apostrophe, 0x03CD, -GDK_Greek_omega, GDK_apostrophe, 0x03CE, -GDK_lessthanequal, 0x0338, 0x2270, -GDK_greaterthanequal, 0x0338, 0x2271, -GDK_approximate, 0x0338, 0x2247, -GDK_identical, 0x0338, 0x2262, -GDK_includedin, 0x0338, 0x2284, -GDK_includes, 0x0338, 0x2285, -0x093C, 0x0915, 0x0958, -0x093C, 0x0916, 0x0959, -0x093C, 0x0917, 0x095A, -0x093C, 0x091C, 0x095B, -0x093C, 0x0921, 0x095C, -0x093C, 0x0922, 0x095D, -0x093C, 0x0928, 0x0929, -0x093C, 0x092B, 0x095E, -0x093C, 0x092F, 0x095F, -0x093C, 0x0930, 0x0931, -0x093C, 0x0933, 0x0934, -0x09BC, 0x09A1, 0x09DC, -0x09BC, 0x09A2, 0x09DD, -0x09BC, 0x09AF, 0x09DF, -0x09C7, 0x09BE, 0x09CB, -0x09C7, 0x09D7, 0x09CC, -0x0A3C, 0x0A16, 0x0A59, -0x0A3C, 0x0A17, 0x0A5A, -0x0A3C, 0x0A1C, 0x0A5B, -0x0A3C, 0x0A2B, 0x0A5E, -0x0A3C, 0x0A32, 0x0A33, -0x0A3C, 0x0A38, 0x0A36, -0x0B3C, 0x0B21, 0x0B5C, -0x0B3C, 0x0B22, 0x0B5D, -0x0B47, 0x0B3E, 0x0B4B, -0x0B47, 0x0B56, 0x0B48, -0x0B47, 0x0B57, 0x0B4C, -GDK_leftcaret, 0x0338, 0x226E, -GDK_rightcaret, 0x0338, 0x226F, -GDK_underbar, GDK_parenleft, 0x208D, -GDK_underbar, GDK_parenright, 0x208E, -GDK_underbar, GDK_plus, 0x208A, -GDK_underbar, GDK_0, 0x2080, -GDK_underbar, GDK_1, 0x2081, -GDK_underbar, GDK_2, 0x2082, -GDK_underbar, GDK_3, 0x2083, -GDK_underbar, GDK_4, 0x2084, -GDK_underbar, GDK_5, 0x2085, -GDK_underbar, GDK_6, 0x2086, -GDK_underbar, GDK_7, 0x2087, -GDK_underbar, GDK_8, 0x2088, -GDK_underbar, GDK_9, 0x2089, -GDK_underbar, GDK_equal, 0x208C, -0x0BC6, 0x0BBE, 0x0BCA, -0x0BC6, 0x0BD7, 0x0BCC, -GDK_underbar, 0x2212, 0x208B, -GDK_underbar, GDK_KP_Space, 0x2082, -GDK_underbar, GDK_KP_Add, 0x208A, -GDK_underbar, GDK_KP_0, 0x2080, -GDK_underbar, GDK_KP_1, 0x2081, -GDK_underbar, GDK_KP_2, 0x2082, -GDK_underbar, GDK_KP_3, 0x2083, -GDK_underbar, GDK_KP_4, 0x2084, -GDK_underbar, GDK_KP_5, 0x2085, -GDK_underbar, GDK_KP_6, 0x2086, -GDK_underbar, GDK_KP_7, 0x2087, -GDK_underbar, GDK_KP_8, 0x2088, -GDK_underbar, GDK_KP_9, 0x2089, -GDK_underbar, GDK_KP_Equal, 0x208C, -0x0BC7, 0x0BBE, 0x0BCB, -0x0BD7, 0x0B92, 0x0B94, -GDK_rightshoe, 0x0338, 0x2285, -GDK_leftshoe, 0x0338, 0x2284, -GDK_righttack, 0x0338, 0x22AC, -0x0C46, 0x0C56, 0x0C48, -0x0CBF, 0x0CD5, 0x0CC0, -0x0CC6, 0x0CC2, 0x0CCA, -0x0CC6, 0x0CD5, 0x0CC7, -0x0CC6, 0x0CD6, 0x0CC8, -0x0CCA, 0x0CD5, 0x0CCB, -0x0D46, 0x0D3E, 0x0D4A, -0x0D46, 0x0D57, 0x0D4C, -0x0D47, 0x0D3E, 0x0D4B, -0x0DD9, 0x0DCA, 0x0DDA, -0x0DD9, 0x0DCF, 0x0DDC, -0x0DD9, 0x0DDF, 0x0DDE, -0x0DDC, 0x0DCA, 0x0DDD, -0x0F71, 0x0F72, 0x0F73, -0x0F71, 0x0F74, 0x0F75, -0x0F71, 0x0F80, 0x0F81, -0x0F90, 0x0FB5, 0x0FB9, -0x0F92, 0x0FB7, 0x0F93, -0x0F9C, 0x0FB7, 0x0F9D, -0x0FA1, 0x0FB7, 0x0FA2, -0x0FA6, 0x0FB7, 0x0FA7, -0x0FAB, 0x0FB7, 0x0FAC, -0x0FB2, 0x0F80, 0x0F76, -0x0FB3, 0x0F80, 0x0F78, -0x0FB5, 0x0F40, 0x0F69, -0x0FB7, 0x0F42, 0x0F43, -0x0FB7, 0x0F4C, 0x0F4D, -0x0FB7, 0x0F51, 0x0F52, -0x0FB7, 0x0F56, 0x0F57, -0x0FB7, 0x0F5B, 0x0F5C, -0x102E, 0x1025, 0x1026, -0x1100, 0x1100, 0x1101, -0x1102, 0x1100, 0x1113, -0x1102, 0x1102, 0x1114, -0x1102, 0x1103, 0x1115, -0x1102, 0x1107, 0x1116, -0x1103, 0x1100, 0x1117, -0x1103, 0x1103, 0x1104, -0x1105, 0x1102, 0x1118, -0x1105, 0x1105, 0x1119, -0x1105, 0x110B, 0x111B, -0x1105, 0x1112, 0x111A, -0x1106, 0x1107, 0x111C, -0x1106, 0x110B, 0x111D, -0x1107, 0x1100, 0x111E, -0x1107, 0x1102, 0x111F, -0x1107, 0x1103, 0x1120, -0x1107, 0x1107, 0x1108, -0x1107, 0x1109, 0x1121, -0x1107, 0x110A, 0x1125, -0x1107, 0x110B, 0x112B, -0x1107, 0x110C, 0x1127, -0x1107, 0x110E, 0x1128, -0x1107, 0x1110, 0x1129, -0x1107, 0x1111, 0x112A, -0x1107, 0x112B, 0x112C, -0x1107, 0x112D, 0x1122, -0x1107, 0x112F, 0x1123, -0x1107, 0x1132, 0x1124, -0x1107, 0x1136, 0x1126, -0x1108, 0x110B, 0x112C, -0x1109, 0x1100, 0x112D, -0x1109, 0x1102, 0x112E, -0x1109, 0x1103, 0x112F, -0x1109, 0x1105, 0x1130, -0x1109, 0x1106, 0x1131, -0x1109, 0x1107, 0x1132, -0x1109, 0x1109, 0x110A, -0x1109, 0x110A, 0x1134, -0x1109, 0x110B, 0x1135, -0x1109, 0x110C, 0x1136, -0x1109, 0x110E, 0x1137, -0x1109, 0x110F, 0x1138, -0x1109, 0x1110, 0x1139, -0x1109, 0x1111, 0x113A, -0x1109, 0x1112, 0x113B, -0x1109, 0x111E, 0x1133, -0x110A, 0x1109, 0x1134, -0x110B, 0x1100, 0x1141, -0x110B, 0x1103, 0x1142, -0x110B, 0x1106, 0x1143, -0x110B, 0x1107, 0x1144, -0x110B, 0x1109, 0x1145, -0x110B, 0x110B, 0x1147, -0x110B, 0x110C, 0x1148, -0x110B, 0x110E, 0x1149, -0x110B, 0x1110, 0x114A, -0x110B, 0x1111, 0x114B, -0x110B, 0x1140, 0x1146, -0x110C, 0x110B, 0x114D, -0x110C, 0x110C, 0x110D, -0x110E, 0x110F, 0x1152, -0x110E, 0x1112, 0x1153, -0x1111, 0x1107, 0x1156, -0x1111, 0x110B, 0x1157, -0x1112, 0x1112, 0x1158, -0x1121, 0x1100, 0x1122, -0x1121, 0x1103, 0x1123, -0x1121, 0x1107, 0x1124, -0x1121, 0x1109, 0x1125, -0x1121, 0x110C, 0x1126, -0x1132, 0x1100, 0x1133, -0x113C, 0x113C, 0x113D, -0x113E, 0x113E, 0x113F, -0x114E, 0x114E, 0x114F, -0x1150, 0x1150, 0x1151, -0x1161, 0x1169, 0x1176, -0x1161, 0x116E, 0x1177, -0x1161, 0x1175, 0x1162, -0x1163, 0x1169, 0x1178, -0x1163, 0x116D, 0x1179, -0x1163, 0x1175, 0x1164, -0x1165, 0x1169, 0x117A, -0x1165, 0x116E, 0x117B, -0x1165, 0x1173, 0x117C, -0x1165, 0x1175, 0x1166, -0x1167, 0x1169, 0x117D, -0x1167, 0x116E, 0x117E, -0x1167, 0x1175, 0x1168, -0x1169, 0x1161, 0x116A, -0x1169, 0x1162, 0x116B, -0x1169, 0x1165, 0x117F, -0x1169, 0x1166, 0x1180, -0x1169, 0x1168, 0x1181, -0x1169, 0x1169, 0x1182, -0x1169, 0x116E, 0x1183, -0x1169, 0x1175, 0x116C, -0x116A, 0x1175, 0x116B, -0x116D, 0x1163, 0x1184, -0x116D, 0x1164, 0x1185, -0x116D, 0x1167, 0x1186, -0x116D, 0x1169, 0x1187, -0x116D, 0x1175, 0x1188, -0x116E, 0x1161, 0x1189, -0x116E, 0x1162, 0x118A, -0x116E, 0x1165, 0x116F, -0x116E, 0x1166, 0x1170, -0x116E, 0x1168, 0x118C, -0x116E, 0x116E, 0x118D, -0x116E, 0x1175, 0x1171, -0x116E, 0x117C, 0x118B, -0x116F, 0x1173, 0x118B, -0x116F, 0x1175, 0x1170, -0x1172, 0x1161, 0x118E, -0x1172, 0x1165, 0x118F, -0x1172, 0x1166, 0x1190, -0x1172, 0x1167, 0x1191, -0x1172, 0x1168, 0x1192, -0x1172, 0x116E, 0x1193, -0x1172, 0x1175, 0x1194, -0x1173, 0x116E, 0x1195, -0x1173, 0x1173, 0x1196, -0x1173, 0x1175, 0x1174, -0x1174, 0x116E, 0x1197, -0x1175, 0x1161, 0x1198, -0x1175, 0x1163, 0x1199, -0x1175, 0x1169, 0x119A, -0x1175, 0x116E, 0x119B, -0x1175, 0x1173, 0x119C, -0x1175, 0x119E, 0x119D, -0x119E, 0x1165, 0x119F, -0x119E, 0x116E, 0x11A0, -0x119E, 0x1175, 0x11A1, -0x119E, 0x119E, 0x11A2, -0x11A8, 0x11A8, 0x11A9, -0x11A8, 0x11AF, 0x11C3, -0x11A8, 0x11BA, 0x11AA, -0x11A8, 0x11E7, 0x11C4, -0x11AA, 0x11A8, 0x11C4, -0x11AB, 0x11A8, 0x11C5, -0x11AB, 0x11AE, 0x11C6, -0x11AB, 0x11BA, 0x11C7, -0x11AB, 0x11BD, 0x11AC, -0x11AB, 0x11C0, 0x11C9, -0x11AB, 0x11C2, 0x11AD, -0x11AB, 0x11EB, 0x11C8, -0x11AE, 0x11A8, 0x11CA, -0x11AE, 0x11AF, 0x11CB, -0x11AF, 0x11A8, 0x11B0, -0x11AF, 0x11AA, 0x11CC, -0x11AF, 0x11AB, 0x11CD, -0x11AF, 0x11AE, 0x11CE, -0x11AF, 0x11AF, 0x11D0, -0x11AF, 0x11B7, 0x11B1, -0x11AF, 0x11B8, 0x11B2, -0x11AF, 0x11B9, 0x11D3, -0x11AF, 0x11BA, 0x11B3, -0x11AF, 0x11BB, 0x11D6, -0x11AF, 0x11BF, 0x11D8, -0x11AF, 0x11C0, 0x11B4, -0x11AF, 0x11C1, 0x11B5, -0x11AF, 0x11C2, 0x11B6, -0x11AF, 0x11DA, 0x11D1, -0x11AF, 0x11DD, 0x11D2, -0x11AF, 0x11E5, 0x11D4, -0x11AF, 0x11E6, 0x11D5, -0x11AF, 0x11EB, 0x11D7, -0x11AF, 0x11F9, 0x11D9, -0x11B0, 0x11BA, 0x11CC, -0x11B1, 0x11A8, 0x11D1, -0x11B1, 0x11BA, 0x11D2, -0x11B2, 0x11BA, 0x11D3, -0x11B2, 0x11BC, 0x11D5, -0x11B2, 0x11C2, 0x11D4, -0x11B3, 0x11BA, 0x11D6, -0x11B7, 0x11A8, 0x11DA, -0x11B7, 0x11AF, 0x11DB, -0x11B7, 0x11B8, 0x11DC, -0x11B7, 0x11BA, 0x11DD, -0x11B7, 0x11BB, 0x11DE, -0x11B7, 0x11BC, 0x11E2, -0x11B7, 0x11BE, 0x11E0, -0x11B7, 0x11C2, 0x11E1, -0x11B7, 0x11EB, 0x11DF, -0x11B8, 0x11AF, 0x11E3, -0x11B8, 0x11BA, 0x11B9, -0x11B8, 0x11BC, 0x11E6, -0x11B8, 0x11C1, 0x11E4, -0x11B8, 0x11C2, 0x11E5, -0x11BA, 0x11A8, 0x11E7, -0x11BA, 0x11AE, 0x11E8, -0x11BA, 0x11AF, 0x11E9, -0x11BA, 0x11B8, 0x11EA, -0x11BA, 0x11BA, 0x11BB, -0x11BC, 0x11A8, 0x11EC, -0x11BC, 0x11A9, 0x11ED, -0x11BC, 0x11BC, 0x11EE, -0x11BC, 0x11BF, 0x11EF, -0x11C1, 0x11B8, 0x11F3, -0x11C1, 0x11BC, 0x11F4, -0x11C2, 0x11AB, 0x11F5, -0x11C2, 0x11AF, 0x11F6, -0x11C2, 0x11B7, 0x11F7, -0x11C2, 0x11B8, 0x11F8, -0x11CE, 0x11C2, 0x11CF, -0x11DD, 0x11BA, 0x11DE, -0x11EC, 0x11A8, 0x11ED, -0x11F0, 0x11BA, 0x11F1, -0x11F0, 0x11EB, 0x11F2, -0x1FBF, GDK_apostrophe, 0x1FCE, -0x1FBF, GDK_grave, 0x1FCD, -0x1FBF, GDK_asciitilde, 0x1FCF, -0x1FBF, GDK_acute, 0x1FCE, -0x1FBF, GDK_dead_grave, 0x1FCD, -0x1FBF, GDK_dead_acute, 0x1FCE, -0x1FBF, GDK_dead_tilde, 0x1FCF, -0x1FFE, GDK_apostrophe, 0x1FDE, -0x1FFE, GDK_grave, 0x1FDD, -0x1FFE, GDK_asciitilde, 0x1FDF, -0x1FFE, GDK_acute, 0x1FDE, -0x1FFE, GDK_dead_grave, 0x1FDD, -0x1FFE, GDK_dead_acute, 0x1FDE, -0x1FFE, GDK_dead_tilde, 0x1FDF, -0x2203, 0x0338, 0x2204, -0x2208, 0x0338, 0x2209, -0x220B, 0x0338, 0x220C, -0x2223, 0x0338, 0x2224, -0x2225, 0x0338, 0x2226, -0x223C, 0x0338, 0x2241, -0x2243, 0x0338, 0x2244, -0x2248, 0x0338, 0x2249, -0x224D, 0x0338, 0x226D, -0x2272, 0x0338, 0x2274, -0x2273, 0x0338, 0x2275, -0x2276, 0x0338, 0x2278, -0x2277, 0x0338, 0x2279, -0x227A, 0x0338, 0x2280, -0x227B, 0x0338, 0x2281, -0x227C, 0x0338, 0x22E0, -0x227D, 0x0338, 0x22E1, -0x2286, 0x0338, 0x2288, -0x2287, 0x0338, 0x2289, -0x2291, 0x0338, 0x22E2, -0x2292, 0x0338, 0x22E3, -0x22A8, 0x0338, 0x22AD, -0x22A9, 0x0338, 0x22AE, -0x22AB, 0x0338, 0x22AF, -0x22B2, 0x0338, 0x22EA, -0x22B3, 0x0338, 0x22EB, -0x22B4, 0x0338, 0x22EC, -0x22B5, 0x0338, 0x22ED, -0x2ADD, 0x0338, 0x2ADC, -GDK_KP_Divide, GDK_D, 0x0110, -GDK_KP_Divide, GDK_G, 0x01E4, -GDK_KP_Divide, GDK_H, 0x0126, -GDK_KP_Divide, GDK_I, 0x0197, -GDK_KP_Divide, GDK_L, 0x0141, -GDK_KP_Divide, GDK_O, 0x00D8, -GDK_KP_Divide, GDK_T, 0x0166, -GDK_KP_Divide, GDK_Z, 0x01B5, -GDK_KP_Divide, GDK_b, 0x0180, -GDK_KP_Divide, GDK_d, 0x0111, -GDK_KP_Divide, GDK_g, 0x01E5, -GDK_KP_Divide, GDK_h, 0x0127, -GDK_KP_Divide, GDK_i, 0x0268, -GDK_KP_Divide, GDK_l, 0x0142, -GDK_KP_Divide, GDK_o, 0x00F8, -GDK_KP_Divide, GDK_t, 0x0167, -GDK_KP_Divide, GDK_z, 0x01B6, -GDK_KP_Divide, 0x0294, 0x02A1, -GDK_KP_Divide, 0x04AE, 0x04B0, -GDK_KP_Divide, 0x04AF, 0x04B1, -GDK_KP_Divide, GDK_Cyrillic_ghe, 0x0493, -GDK_KP_Divide, GDK_Cyrillic_ka, 0x049F, -GDK_KP_Divide, GDK_Cyrillic_GHE, 0x0492, -GDK_KP_Divide, GDK_Cyrillic_KA, 0x049E, -GDK_KP_Divide, GDK_leftarrow, 0x219A, -GDK_KP_Divide, GDK_rightarrow, 0x219B, -GDK_KP_Divide, 0x2194, 0x21AE, -GDK_KP_Equal, 0x0338, 0x2260, -GDK_exclam, GDK_plus, GDK_O, 0x1EE2, -GDK_exclam, GDK_plus, GDK_U, 0x1EF0, -GDK_exclam, GDK_plus, GDK_o, 0x1EE3, -GDK_exclam, GDK_plus, GDK_u, 0x1EF1, -GDK_exclam, GDK_dead_horn, GDK_O, 0x1EE2, -GDK_exclam, GDK_dead_horn, GDK_U, 0x1EF0, -GDK_exclam, GDK_dead_horn, GDK_o, 0x1EE3, -GDK_exclam, GDK_dead_horn, GDK_u, 0x1EF1, -GDK_quotedbl, GDK_apostrophe, GDK_space, 0x0385, -GDK_quotedbl, GDK_apostrophe, GDK_Greek_iota, 0x0390, -GDK_quotedbl, GDK_apostrophe, GDK_Greek_upsilon, 0x03B0, -GDK_quotedbl, GDK_underscore, GDK_U, 0x1E7A, -GDK_quotedbl, GDK_underscore, GDK_u, 0x1E7B, -GDK_quotedbl, GDK_asciitilde, GDK_O, 0x1E4E, -GDK_quotedbl, GDK_asciitilde, GDK_o, 0x1E4F, -GDK_quotedbl, GDK_macron, GDK_U, 0x1E7A, -GDK_quotedbl, GDK_macron, GDK_u, 0x1E7B, -GDK_quotedbl, GDK_dead_tilde, GDK_O, 0x1E4E, -GDK_quotedbl, GDK_dead_tilde, GDK_o, 0x1E4F, -GDK_quotedbl, GDK_dead_macron, GDK_U, 0x1E7A, -GDK_quotedbl, GDK_dead_macron, GDK_u, 0x1E7B, -GDK_apostrophe, GDK_quotedbl, GDK_space, 0x0385, -GDK_apostrophe, GDK_quotedbl, GDK_I, 0x1E2E, -GDK_apostrophe, GDK_quotedbl, GDK_U, 0x01D7, -GDK_apostrophe, GDK_quotedbl, GDK_i, 0x1E2F, -GDK_apostrophe, GDK_quotedbl, GDK_u, 0x01D8, -GDK_apostrophe, GDK_quotedbl, GDK_Greek_iota, 0x0390, -GDK_apostrophe, GDK_quotedbl, GDK_Greek_upsilon, 0x03B0, -GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F2D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_IOTA, 0x1F3D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6D, -GDK_apostrophe, GDK_parenleft, GDK_Greek_alpha, 0x1F05, -GDK_apostrophe, GDK_parenleft, GDK_Greek_epsilon, 0x1F15, -GDK_apostrophe, GDK_parenleft, GDK_Greek_eta, 0x1F25, -GDK_apostrophe, GDK_parenleft, GDK_Greek_iota, 0x1F35, -GDK_apostrophe, GDK_parenleft, GDK_Greek_omicron, 0x1F45, -GDK_apostrophe, GDK_parenleft, GDK_Greek_upsilon, 0x1F55, -GDK_apostrophe, GDK_parenleft, GDK_Greek_omega, 0x1F65, -GDK_apostrophe, GDK_parenright, GDK_Greek_ALPHA, 0x1F0C, -GDK_apostrophe, GDK_parenright, GDK_Greek_EPSILON, 0x1F1C, -GDK_apostrophe, GDK_parenright, GDK_Greek_ETA, 0x1F2C, -GDK_apostrophe, GDK_parenright, GDK_Greek_IOTA, 0x1F3C, -GDK_apostrophe, GDK_parenright, GDK_Greek_OMICRON, 0x1F4C, -GDK_apostrophe, GDK_parenright, GDK_Greek_OMEGA, 0x1F6C, -GDK_apostrophe, GDK_parenright, GDK_Greek_alpha, 0x1F04, -GDK_apostrophe, GDK_parenright, GDK_Greek_epsilon, 0x1F14, -GDK_apostrophe, GDK_parenright, GDK_Greek_eta, 0x1F24, -GDK_apostrophe, GDK_parenright, GDK_Greek_iota, 0x1F34, -GDK_apostrophe, GDK_parenright, GDK_Greek_omicron, 0x1F44, -GDK_apostrophe, GDK_parenright, GDK_Greek_upsilon, 0x1F54, -GDK_apostrophe, GDK_parenright, GDK_Greek_omega, 0x1F64, -GDK_apostrophe, GDK_plus, GDK_O, 0x1EDA, -GDK_apostrophe, GDK_plus, GDK_U, 0x1EE8, -GDK_apostrophe, GDK_plus, GDK_o, 0x1EDB, -GDK_apostrophe, GDK_plus, GDK_u, 0x1EE9, -GDK_apostrophe, GDK_slash, GDK_O, 0x01FE, -GDK_apostrophe, GDK_slash, GDK_o, 0x01FF, -GDK_apostrophe, GDK_asciicircum, GDK_A, 0x1EA4, -GDK_apostrophe, GDK_asciicircum, GDK_E, 0x1EBE, -GDK_apostrophe, GDK_asciicircum, GDK_O, 0x1ED0, -GDK_apostrophe, GDK_asciicircum, GDK_a, 0x1EA5, -GDK_apostrophe, GDK_asciicircum, GDK_e, 0x1EBF, -GDK_apostrophe, GDK_asciicircum, GDK_o, 0x1ED1, -GDK_apostrophe, GDK_underscore, GDK_E, 0x1E16, -GDK_apostrophe, GDK_underscore, GDK_O, 0x1E52, -GDK_apostrophe, GDK_underscore, GDK_e, 0x1E17, -GDK_apostrophe, GDK_underscore, GDK_o, 0x1E53, -GDK_apostrophe, GDK_b, GDK_A, 0x1EAE, -GDK_apostrophe, GDK_b, GDK_a, 0x1EAF, -GDK_apostrophe, GDK_asciitilde, GDK_O, 0x1E4C, -GDK_apostrophe, GDK_asciitilde, GDK_U, 0x1E78, -GDK_apostrophe, GDK_asciitilde, GDK_o, 0x1E4D, -GDK_apostrophe, GDK_asciitilde, GDK_u, 0x1E79, -GDK_apostrophe, GDK_macron, GDK_E, 0x1E16, -GDK_apostrophe, GDK_macron, GDK_O, 0x1E52, -GDK_apostrophe, GDK_macron, GDK_e, 0x1E17, -GDK_apostrophe, GDK_macron, GDK_o, 0x1E53, -GDK_apostrophe, GDK_cedilla, GDK_C, 0x1E08, -GDK_apostrophe, GDK_cedilla, GDK_c, 0x1E09, -GDK_apostrophe, GDK_dead_circumflex, GDK_A, 0x1EA4, -GDK_apostrophe, GDK_dead_circumflex, GDK_E, 0x1EBE, -GDK_apostrophe, GDK_dead_circumflex, GDK_O, 0x1ED0, -GDK_apostrophe, GDK_dead_circumflex, GDK_a, 0x1EA5, -GDK_apostrophe, GDK_dead_circumflex, GDK_e, 0x1EBF, -GDK_apostrophe, GDK_dead_circumflex, GDK_o, 0x1ED1, -GDK_apostrophe, GDK_dead_tilde, GDK_O, 0x1E4C, -GDK_apostrophe, GDK_dead_tilde, GDK_U, 0x1E78, -GDK_apostrophe, GDK_dead_tilde, GDK_o, 0x1E4D, -GDK_apostrophe, GDK_dead_tilde, GDK_u, 0x1E79, -GDK_apostrophe, GDK_dead_macron, GDK_E, 0x1E16, -GDK_apostrophe, GDK_dead_macron, GDK_O, 0x1E52, -GDK_apostrophe, GDK_dead_macron, GDK_e, 0x1E17, -GDK_apostrophe, GDK_dead_macron, GDK_o, 0x1E53, -GDK_apostrophe, GDK_dead_breve, GDK_A, 0x1EAE, -GDK_apostrophe, GDK_dead_breve, GDK_a, 0x1EAF, -GDK_apostrophe, GDK_dead_diaeresis, GDK_I, 0x1E2E, -GDK_apostrophe, GDK_dead_diaeresis, GDK_U, 0x01D7, -GDK_apostrophe, GDK_dead_diaeresis, GDK_i, 0x1E2F, -GDK_apostrophe, GDK_dead_diaeresis, GDK_u, 0x01D8, -GDK_apostrophe, GDK_dead_diaeresis, GDK_Greek_iota, 0x0390, -GDK_apostrophe, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0, -GDK_apostrophe, GDK_dead_abovering, GDK_A, 0x01FA, -GDK_apostrophe, GDK_dead_abovering, GDK_a, 0x01FB, -GDK_apostrophe, GDK_dead_cedilla, GDK_C, 0x1E08, -GDK_apostrophe, GDK_dead_cedilla, GDK_c, 0x1E09, -GDK_apostrophe, GDK_dead_horn, GDK_O, 0x1EDA, -GDK_apostrophe, GDK_dead_horn, GDK_U, 0x1EE8, -GDK_apostrophe, GDK_dead_horn, GDK_o, 0x1EDB, -GDK_apostrophe, GDK_dead_horn, GDK_u, 0x1EE9, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0C, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1C, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_ETA, 0x1F2C, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3C, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4C, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6C, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_alpha, 0x1F04, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_epsilon, 0x1F14, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_eta, 0x1F24, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_iota, 0x1F34, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_omicron, 0x1F44, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_upsilon, 0x1F54, -GDK_apostrophe, GDK_dead_psili, GDK_Greek_omega, 0x1F64, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6D, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_alpha, 0x1F05, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_epsilon, 0x1F15, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_eta, 0x1F25, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_iota, 0x1F35, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omicron, 0x1F45, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F55, -GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omega, 0x1F65, -GDK_apostrophe, GDK_KP_Divide, GDK_O, 0x01FE, -GDK_apostrophe, GDK_KP_Divide, GDK_o, 0x01FF, -GDK_parenleft, GDK_0, GDK_parenright, 0x24EA, -GDK_parenleft, GDK_1, GDK_parenright, 0x2460, -GDK_parenleft, GDK_2, GDK_parenright, 0x2461, -GDK_parenleft, GDK_3, GDK_parenright, 0x2462, -GDK_parenleft, GDK_4, GDK_parenright, 0x2463, -GDK_parenleft, GDK_5, GDK_parenright, 0x2464, -GDK_parenleft, GDK_6, GDK_parenright, 0x2465, -GDK_parenleft, GDK_7, GDK_parenright, 0x2466, -GDK_parenleft, GDK_8, GDK_parenright, 0x2467, -GDK_parenleft, GDK_9, GDK_parenright, 0x2468, -GDK_parenleft, GDK_A, GDK_parenright, 0x24B6, -GDK_parenleft, GDK_B, GDK_parenright, 0x24B7, -GDK_parenleft, GDK_C, GDK_parenright, 0x24B8, -GDK_parenleft, GDK_D, GDK_parenright, 0x24B9, -GDK_parenleft, GDK_E, GDK_parenright, 0x24BA, -GDK_parenleft, GDK_F, GDK_parenright, 0x24BB, -GDK_parenleft, GDK_G, GDK_parenright, 0x24BC, -GDK_parenleft, GDK_H, GDK_parenright, 0x24BD, -GDK_parenleft, GDK_I, GDK_parenright, 0x24BE, -GDK_parenleft, GDK_J, GDK_parenright, 0x24BF, -GDK_parenleft, GDK_K, GDK_parenright, 0x24C0, -GDK_parenleft, GDK_L, GDK_parenright, 0x24C1, -GDK_parenleft, GDK_M, GDK_parenright, 0x24C2, -GDK_parenleft, GDK_N, GDK_parenright, 0x24C3, -GDK_parenleft, GDK_O, GDK_parenright, 0x24C4, -GDK_parenleft, GDK_P, GDK_parenright, 0x24C5, -GDK_parenleft, GDK_Q, GDK_parenright, 0x24C6, -GDK_parenleft, GDK_R, GDK_parenright, 0x24C7, -GDK_parenleft, GDK_S, GDK_parenright, 0x24C8, -GDK_parenleft, GDK_T, GDK_parenright, 0x24C9, -GDK_parenleft, GDK_U, GDK_parenright, 0x24CA, -GDK_parenleft, GDK_V, GDK_parenright, 0x24CB, -GDK_parenleft, GDK_W, GDK_parenright, 0x24CC, -GDK_parenleft, GDK_X, GDK_parenright, 0x24CD, -GDK_parenleft, GDK_Y, GDK_parenright, 0x24CE, -GDK_parenleft, GDK_Z, GDK_parenright, 0x24CF, -GDK_parenleft, GDK_a, GDK_parenright, 0x24D0, -GDK_parenleft, GDK_b, GDK_parenright, 0x24D1, -GDK_parenleft, GDK_c, GDK_parenright, 0x24D2, -GDK_parenleft, GDK_d, GDK_parenright, 0x24D3, -GDK_parenleft, GDK_e, GDK_parenright, 0x24D4, -GDK_parenleft, GDK_f, GDK_parenright, 0x24D5, -GDK_parenleft, GDK_g, GDK_parenright, 0x24D6, -GDK_parenleft, GDK_h, GDK_parenright, 0x24D7, -GDK_parenleft, GDK_i, GDK_parenright, 0x24D8, -GDK_parenleft, GDK_j, GDK_parenright, 0x24D9, -GDK_parenleft, GDK_k, GDK_parenright, 0x24DA, -GDK_parenleft, GDK_l, GDK_parenright, 0x24DB, -GDK_parenleft, GDK_m, GDK_parenright, 0x24DC, -GDK_parenleft, GDK_n, GDK_parenright, 0x24DD, -GDK_parenleft, GDK_o, GDK_parenright, 0x24DE, -GDK_parenleft, GDK_p, GDK_parenright, 0x24DF, -GDK_parenleft, GDK_q, GDK_parenright, 0x24E0, -GDK_parenleft, GDK_r, GDK_parenright, 0x24E1, -GDK_parenleft, GDK_s, GDK_parenright, 0x24E2, -GDK_parenleft, GDK_t, GDK_parenright, 0x24E3, -GDK_parenleft, GDK_u, GDK_parenright, 0x24E4, -GDK_parenleft, GDK_v, GDK_parenright, 0x24E5, -GDK_parenleft, GDK_w, GDK_parenright, 0x24E6, -GDK_parenleft, GDK_x, GDK_parenright, 0x24E7, -GDK_parenleft, GDK_y, GDK_parenright, 0x24E8, -GDK_parenleft, GDK_z, GDK_parenright, 0x24E9, -GDK_parenleft, GDK_kana_WO, GDK_parenright, 0x32FE, -GDK_parenleft, GDK_kana_A, GDK_parenright, 0x32D0, -GDK_parenleft, GDK_kana_I, GDK_parenright, 0x32D1, -GDK_parenleft, GDK_kana_U, GDK_parenright, 0x32D2, -GDK_parenleft, GDK_kana_E, GDK_parenright, 0x32D3, -GDK_parenleft, GDK_kana_O, GDK_parenright, 0x32D4, -GDK_parenleft, GDK_kana_KA, GDK_parenright, 0x32D5, -GDK_parenleft, GDK_kana_KI, GDK_parenright, 0x32D6, -GDK_parenleft, GDK_kana_KU, GDK_parenright, 0x32D7, -GDK_parenleft, GDK_kana_KE, GDK_parenright, 0x32D8, -GDK_parenleft, GDK_kana_KO, GDK_parenright, 0x32D9, -GDK_parenleft, GDK_kana_SA, GDK_parenright, 0x32DA, -GDK_parenleft, GDK_kana_SHI, GDK_parenright, 0x32DB, -GDK_parenleft, GDK_kana_SU, GDK_parenright, 0x32DC, -GDK_parenleft, GDK_kana_SE, GDK_parenright, 0x32DD, -GDK_parenleft, GDK_kana_SO, GDK_parenright, 0x32DE, -GDK_parenleft, GDK_kana_TA, GDK_parenright, 0x32DF, -GDK_parenleft, GDK_kana_CHI, GDK_parenright, 0x32E0, -GDK_parenleft, GDK_kana_TSU, GDK_parenright, 0x32E1, -GDK_parenleft, GDK_kana_TE, GDK_parenright, 0x32E2, -GDK_parenleft, GDK_kana_TO, GDK_parenright, 0x32E3, -GDK_parenleft, GDK_kana_NA, GDK_parenright, 0x32E4, -GDK_parenleft, GDK_kana_NI, GDK_parenright, 0x32E5, -GDK_parenleft, GDK_kana_NU, GDK_parenright, 0x32E6, -GDK_parenleft, GDK_kana_NE, GDK_parenright, 0x32E7, -GDK_parenleft, GDK_kana_NO, GDK_parenright, 0x32E8, -GDK_parenleft, GDK_kana_HA, GDK_parenright, 0x32E9, -GDK_parenleft, GDK_kana_HI, GDK_parenright, 0x32EA, -GDK_parenleft, GDK_kana_FU, GDK_parenright, 0x32EB, -GDK_parenleft, GDK_kana_HE, GDK_parenright, 0x32EC, -GDK_parenleft, GDK_kana_HO, GDK_parenright, 0x32ED, -GDK_parenleft, GDK_kana_MA, GDK_parenright, 0x32EE, -GDK_parenleft, GDK_kana_MI, GDK_parenright, 0x32EF, -GDK_parenleft, GDK_kana_MU, GDK_parenright, 0x32F0, -GDK_parenleft, GDK_kana_ME, GDK_parenright, 0x32F1, -GDK_parenleft, GDK_kana_MO, GDK_parenright, 0x32F2, -GDK_parenleft, GDK_kana_YA, GDK_parenright, 0x32F3, -GDK_parenleft, GDK_kana_YU, GDK_parenright, 0x32F4, -GDK_parenleft, GDK_kana_YO, GDK_parenright, 0x32F5, -GDK_parenleft, GDK_kana_RA, GDK_parenright, 0x32F6, -GDK_parenleft, GDK_kana_RI, GDK_parenright, 0x32F7, -GDK_parenleft, GDK_kana_RU, GDK_parenright, 0x32F8, -GDK_parenleft, GDK_kana_RE, GDK_parenright, 0x32F9, -GDK_parenleft, GDK_kana_RO, GDK_parenright, 0x32FA, -GDK_parenleft, GDK_kana_WA, GDK_parenright, 0x32FB, -GDK_parenleft, 0x1100, GDK_parenright, 0x3260, -GDK_parenleft, 0x1102, GDK_parenright, 0x3261, -GDK_parenleft, 0x1103, GDK_parenright, 0x3262, -GDK_parenleft, 0x1105, GDK_parenright, 0x3263, -GDK_parenleft, 0x1106, GDK_parenright, 0x3264, -GDK_parenleft, 0x1107, GDK_parenright, 0x3265, -GDK_parenleft, 0x1109, GDK_parenright, 0x3266, -GDK_parenleft, 0x110B, GDK_parenright, 0x3267, -GDK_parenleft, 0x110C, GDK_parenright, 0x3268, -GDK_parenleft, 0x110E, GDK_parenright, 0x3269, -GDK_parenleft, 0x110F, GDK_parenright, 0x326A, -GDK_parenleft, 0x1110, GDK_parenright, 0x326B, -GDK_parenleft, 0x1111, GDK_parenright, 0x326C, -GDK_parenleft, 0x1112, GDK_parenright, 0x326D, -GDK_parenleft, 0x30F0, GDK_parenright, 0x32FC, -GDK_parenleft, 0x30F1, GDK_parenright, 0x32FD, -GDK_parenleft, 0x4E00, GDK_parenright, 0x3280, -GDK_parenleft, 0x4E03, GDK_parenright, 0x3286, -GDK_parenleft, 0x4E09, GDK_parenright, 0x3282, -GDK_parenleft, 0x4E0A, GDK_parenright, 0x32A4, -GDK_parenleft, 0x4E0B, GDK_parenright, 0x32A6, -GDK_parenleft, 0x4E2D, GDK_parenright, 0x32A5, -GDK_parenleft, 0x4E5D, GDK_parenright, 0x3288, -GDK_parenleft, 0x4E8C, GDK_parenright, 0x3281, -GDK_parenleft, 0x4E94, GDK_parenright, 0x3284, -GDK_parenleft, 0x4F01, GDK_parenright, 0x32AD, -GDK_parenleft, 0x4F11, GDK_parenright, 0x32A1, -GDK_parenleft, 0x512A, GDK_parenright, 0x329D, -GDK_parenleft, 0x516B, GDK_parenright, 0x3287, -GDK_parenleft, 0x516D, GDK_parenright, 0x3285, -GDK_parenleft, 0x5199, GDK_parenright, 0x32A2, -GDK_parenleft, 0x52B4, GDK_parenright, 0x3298, -GDK_parenleft, 0x533B, GDK_parenright, 0x32A9, -GDK_parenleft, 0x5341, GDK_parenright, 0x3289, -GDK_parenleft, 0x5354, GDK_parenright, 0x32AF, -GDK_parenleft, 0x5370, GDK_parenright, 0x329E, -GDK_parenleft, 0x53F3, GDK_parenright, 0x32A8, -GDK_parenleft, 0x540D, GDK_parenright, 0x3294, -GDK_parenleft, 0x56DB, GDK_parenright, 0x3283, -GDK_parenleft, 0x571F, GDK_parenright, 0x328F, -GDK_parenleft, 0x591C, GDK_parenright, 0x32B0, -GDK_parenleft, 0x5973, GDK_parenright, 0x329B, -GDK_parenleft, 0x5B66, GDK_parenright, 0x32AB, -GDK_parenleft, 0x5B97, GDK_parenright, 0x32AA, -GDK_parenleft, 0x5DE6, GDK_parenright, 0x32A7, -GDK_parenleft, 0x65E5, GDK_parenright, 0x3290, -GDK_parenleft, 0x6708, GDK_parenright, 0x328A, -GDK_parenleft, 0x6709, GDK_parenright, 0x3292, -GDK_parenleft, 0x6728, GDK_parenright, 0x328D, -GDK_parenleft, 0x682A, GDK_parenright, 0x3291, -GDK_parenleft, 0x6B63, GDK_parenright, 0x32A3, -GDK_parenleft, 0x6C34, GDK_parenright, 0x328C, -GDK_parenleft, 0x6CE8, GDK_parenright, 0x329F, -GDK_parenleft, 0x706B, GDK_parenright, 0x328B, -GDK_parenleft, 0x7279, GDK_parenright, 0x3295, -GDK_parenleft, 0x7537, GDK_parenright, 0x329A, -GDK_parenleft, 0x76E3, GDK_parenright, 0x32AC, -GDK_parenleft, 0x793E, GDK_parenright, 0x3293, -GDK_parenleft, 0x795D, GDK_parenright, 0x3297, -GDK_parenleft, 0x79D8, GDK_parenright, 0x3299, -GDK_parenleft, 0x8CA1, GDK_parenright, 0x3296, -GDK_parenleft, 0x8CC7, GDK_parenright, 0x32AE, -GDK_parenleft, 0x9069, GDK_parenright, 0x329C, -GDK_parenleft, 0x91D1, GDK_parenright, 0x328E, -GDK_parenleft, 0x9805, GDK_parenright, 0x32A0, -GDK_parenleft, GDK_KP_Space, GDK_parenright, 0x2461, -GDK_parenleft, GDK_KP_0, GDK_parenright, 0x24EA, -GDK_parenleft, GDK_KP_1, GDK_parenright, 0x2460, -GDK_parenleft, GDK_KP_2, GDK_parenright, 0x2461, -GDK_parenleft, GDK_KP_3, GDK_parenright, 0x2462, -GDK_parenleft, GDK_KP_4, GDK_parenright, 0x2463, -GDK_parenleft, GDK_KP_5, GDK_parenright, 0x2464, -GDK_parenleft, GDK_KP_6, GDK_parenright, 0x2465, -GDK_parenleft, GDK_KP_7, GDK_parenright, 0x2466, -GDK_parenleft, GDK_KP_8, GDK_parenright, 0x2467, -GDK_parenleft, GDK_KP_9, GDK_parenright, 0x2468, -GDK_minus, GDK_minus, GDK_space, 0x00AD, -GDK_minus, GDK_minus, GDK_minus, 0x2014, -GDK_minus, GDK_minus, GDK_period, 0x2013, -GDK_period, GDK_exclam, GDK_S, 0x1E68, -GDK_period, GDK_exclam, GDK_s, 0x1E69, -GDK_period, GDK_apostrophe, GDK_S, 0x1E64, -GDK_period, GDK_apostrophe, GDK_s, 0x1E65, -GDK_period, GDK_acute, GDK_S, 0x1E64, -GDK_period, GDK_acute, GDK_s, 0x1E65, -GDK_period, GDK_dead_acute, GDK_S, 0x1E64, -GDK_period, GDK_dead_acute, GDK_s, 0x1E65, -GDK_period, GDK_dead_caron, GDK_S, 0x1E66, -GDK_period, GDK_dead_caron, GDK_s, 0x1E67, -GDK_period, GDK_dead_belowdot, GDK_S, 0x1E68, -GDK_period, GDK_dead_belowdot, GDK_s, 0x1E69, -GDK_question, GDK_plus, GDK_O, 0x1EDE, -GDK_question, GDK_plus, GDK_U, 0x1EEC, -GDK_question, GDK_plus, GDK_o, 0x1EDF, -GDK_question, GDK_plus, GDK_u, 0x1EED, -GDK_question, GDK_asciicircum, GDK_A, 0x1EA8, -GDK_question, GDK_asciicircum, GDK_E, 0x1EC2, -GDK_question, GDK_asciicircum, GDK_O, 0x1ED4, -GDK_question, GDK_asciicircum, GDK_a, 0x1EA9, -GDK_question, GDK_asciicircum, GDK_e, 0x1EC3, -GDK_question, GDK_asciicircum, GDK_o, 0x1ED5, -GDK_question, GDK_b, GDK_A, 0x1EB2, -GDK_question, GDK_b, GDK_a, 0x1EB3, -GDK_question, GDK_dead_circumflex, GDK_A, 0x1EA8, -GDK_question, GDK_dead_circumflex, GDK_E, 0x1EC2, -GDK_question, GDK_dead_circumflex, GDK_O, 0x1ED4, -GDK_question, GDK_dead_circumflex, GDK_a, 0x1EA9, -GDK_question, GDK_dead_circumflex, GDK_e, 0x1EC3, -GDK_question, GDK_dead_circumflex, GDK_o, 0x1ED5, -GDK_question, GDK_dead_breve, GDK_A, 0x1EB2, -GDK_question, GDK_dead_breve, GDK_a, 0x1EB3, -GDK_question, GDK_dead_horn, GDK_O, 0x1EDE, -GDK_question, GDK_dead_horn, GDK_U, 0x1EEC, -GDK_question, GDK_dead_horn, GDK_o, 0x1EDF, -GDK_question, GDK_dead_horn, GDK_u, 0x1EED, -GDK_U, GDK_exclam, GDK_A, 0x1EB6, -GDK_U, GDK_exclam, GDK_a, 0x1EB7, -GDK_U, GDK_comma, GDK_E, 0x1E1C, -GDK_U, GDK_comma, GDK_e, 0x1E1D, -GDK_U, GDK_cedilla, GDK_E, 0x1E1C, -GDK_U, GDK_cedilla, GDK_e, 0x1E1D, -GDK_U, GDK_dead_cedilla, GDK_E, 0x1E1C, -GDK_U, GDK_dead_cedilla, GDK_e, 0x1E1D, -GDK_U, GDK_dead_belowdot, GDK_A, 0x1EB6, -GDK_U, GDK_dead_belowdot, GDK_a, 0x1EB7, -GDK_asciicircum, GDK_exclam, GDK_A, 0x1EAC, -GDK_asciicircum, GDK_exclam, GDK_E, 0x1EC6, -GDK_asciicircum, GDK_exclam, GDK_O, 0x1ED8, -GDK_asciicircum, GDK_exclam, GDK_a, 0x1EAD, -GDK_asciicircum, GDK_exclam, GDK_e, 0x1EC7, -GDK_asciicircum, GDK_exclam, GDK_o, 0x1ED9, -GDK_asciicircum, GDK_underscore, GDK_a, 0x00AA, -GDK_asciicircum, GDK_underscore, GDK_h, 0x02B0, -GDK_asciicircum, GDK_underscore, GDK_i, 0x2071, -GDK_asciicircum, GDK_underscore, GDK_j, 0x02B2, -GDK_asciicircum, GDK_underscore, GDK_l, 0x02E1, -GDK_asciicircum, GDK_underscore, GDK_n, 0x207F, -GDK_asciicircum, GDK_underscore, GDK_o, 0x00BA, -GDK_asciicircum, GDK_underscore, GDK_r, 0x02B3, -GDK_asciicircum, GDK_underscore, GDK_s, 0x02E2, -GDK_asciicircum, GDK_underscore, GDK_w, 0x02B7, -GDK_asciicircum, GDK_underscore, GDK_x, 0x02E3, -GDK_asciicircum, GDK_underscore, GDK_y, 0x02B8, -GDK_asciicircum, GDK_underscore, 0x0263, 0x02E0, -GDK_asciicircum, GDK_underscore, 0x0266, 0x02B1, -GDK_asciicircum, GDK_underscore, 0x0279, 0x02B4, -GDK_asciicircum, GDK_underscore, 0x027B, 0x02B5, -GDK_asciicircum, GDK_underscore, 0x0281, 0x02B6, -GDK_asciicircum, GDK_underscore, 0x0295, 0x02E4, -GDK_asciicircum, GDK_underbar, GDK_a, 0x00AA, -GDK_asciicircum, GDK_underbar, GDK_h, 0x02B0, -GDK_asciicircum, GDK_underbar, GDK_i, 0x2071, -GDK_asciicircum, GDK_underbar, GDK_j, 0x02B2, -GDK_asciicircum, GDK_underbar, GDK_l, 0x02E1, -GDK_asciicircum, GDK_underbar, GDK_n, 0x207F, -GDK_asciicircum, GDK_underbar, GDK_o, 0x00BA, -GDK_asciicircum, GDK_underbar, GDK_r, 0x02B3, -GDK_asciicircum, GDK_underbar, GDK_s, 0x02E2, -GDK_asciicircum, GDK_underbar, GDK_w, 0x02B7, -GDK_asciicircum, GDK_underbar, GDK_x, 0x02E3, -GDK_asciicircum, GDK_underbar, GDK_y, 0x02B8, -GDK_asciicircum, GDK_underbar, 0x0263, 0x02E0, -GDK_asciicircum, GDK_underbar, 0x0266, 0x02B1, -GDK_asciicircum, GDK_underbar, 0x0279, 0x02B4, -GDK_asciicircum, GDK_underbar, 0x027B, 0x02B5, -GDK_asciicircum, GDK_underbar, 0x0281, 0x02B6, -GDK_asciicircum, GDK_underbar, 0x0295, 0x02E4, -GDK_asciicircum, GDK_dead_belowdot, GDK_A, 0x1EAC, -GDK_asciicircum, GDK_dead_belowdot, GDK_E, 0x1EC6, -GDK_asciicircum, GDK_dead_belowdot, GDK_O, 0x1ED8, -GDK_asciicircum, GDK_dead_belowdot, GDK_a, 0x1EAD, -GDK_asciicircum, GDK_dead_belowdot, GDK_e, 0x1EC7, -GDK_asciicircum, GDK_dead_belowdot, GDK_o, 0x1ED9, -GDK_underscore, GDK_exclam, GDK_L, 0x1E38, -GDK_underscore, GDK_exclam, GDK_R, 0x1E5C, -GDK_underscore, GDK_exclam, GDK_l, 0x1E39, -GDK_underscore, GDK_exclam, GDK_r, 0x1E5D, -GDK_underscore, GDK_quotedbl, GDK_A, 0x01DE, -GDK_underscore, GDK_quotedbl, GDK_O, 0x022A, -GDK_underscore, GDK_quotedbl, GDK_U, 0x01D5, -GDK_underscore, GDK_quotedbl, GDK_a, 0x01DF, -GDK_underscore, GDK_quotedbl, GDK_o, 0x022B, -GDK_underscore, GDK_quotedbl, GDK_u, 0x01D6, -GDK_underscore, GDK_period, GDK_A, 0x01E0, -GDK_underscore, GDK_period, GDK_O, 0x0230, -GDK_underscore, GDK_period, GDK_a, 0x01E1, -GDK_underscore, GDK_period, GDK_o, 0x0231, -GDK_underscore, GDK_semicolon, GDK_O, 0x01EC, -GDK_underscore, GDK_semicolon, GDK_o, 0x01ED, -GDK_underscore, GDK_asciitilde, GDK_O, 0x022C, -GDK_underscore, GDK_asciitilde, GDK_o, 0x022D, -GDK_underscore, GDK_dead_tilde, GDK_O, 0x022C, -GDK_underscore, GDK_dead_tilde, GDK_o, 0x022D, -GDK_underscore, GDK_dead_abovedot, GDK_A, 0x01E0, -GDK_underscore, GDK_dead_abovedot, GDK_O, 0x0230, -GDK_underscore, GDK_dead_abovedot, GDK_a, 0x01E1, -GDK_underscore, GDK_dead_abovedot, GDK_o, 0x0231, -GDK_underscore, GDK_dead_diaeresis, GDK_A, 0x01DE, -GDK_underscore, GDK_dead_diaeresis, GDK_O, 0x022A, -GDK_underscore, GDK_dead_diaeresis, GDK_U, 0x01D5, -GDK_underscore, GDK_dead_diaeresis, GDK_a, 0x01DF, -GDK_underscore, GDK_dead_diaeresis, GDK_o, 0x022B, -GDK_underscore, GDK_dead_diaeresis, GDK_u, 0x01D6, -GDK_underscore, GDK_dead_ogonek, GDK_O, 0x01EC, -GDK_underscore, GDK_dead_ogonek, GDK_o, 0x01ED, -GDK_underscore, GDK_dead_belowdot, GDK_L, 0x1E38, -GDK_underscore, GDK_dead_belowdot, GDK_R, 0x1E5C, -GDK_underscore, GDK_dead_belowdot, GDK_l, 0x1E39, -GDK_underscore, GDK_dead_belowdot, GDK_r, 0x1E5D, -GDK_grave, GDK_quotedbl, GDK_U, 0x01DB, -GDK_grave, GDK_quotedbl, GDK_u, 0x01DC, -GDK_grave, GDK_quotedbl, GDK_Greek_iota, 0x1FD2, -GDK_grave, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE2, -GDK_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0B, -GDK_grave, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1B, -GDK_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F2B, -GDK_grave, GDK_parenleft, GDK_Greek_IOTA, 0x1F3B, -GDK_grave, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4B, -GDK_grave, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5B, -GDK_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6B, -GDK_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F03, -GDK_grave, GDK_parenleft, GDK_Greek_epsilon, 0x1F13, -GDK_grave, GDK_parenleft, GDK_Greek_eta, 0x1F23, -GDK_grave, GDK_parenleft, GDK_Greek_iota, 0x1F33, -GDK_grave, GDK_parenleft, GDK_Greek_omicron, 0x1F43, -GDK_grave, GDK_parenleft, GDK_Greek_upsilon, 0x1F53, -GDK_grave, GDK_parenleft, GDK_Greek_omega, 0x1F63, -GDK_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F0A, -GDK_grave, GDK_parenright, GDK_Greek_EPSILON, 0x1F1A, -GDK_grave, GDK_parenright, GDK_Greek_ETA, 0x1F2A, -GDK_grave, GDK_parenright, GDK_Greek_IOTA, 0x1F3A, -GDK_grave, GDK_parenright, GDK_Greek_OMICRON, 0x1F4A, -GDK_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1F6A, -GDK_grave, GDK_parenright, GDK_Greek_alpha, 0x1F02, -GDK_grave, GDK_parenright, GDK_Greek_epsilon, 0x1F12, -GDK_grave, GDK_parenright, GDK_Greek_eta, 0x1F22, -GDK_grave, GDK_parenright, GDK_Greek_iota, 0x1F32, -GDK_grave, GDK_parenright, GDK_Greek_omicron, 0x1F42, -GDK_grave, GDK_parenright, GDK_Greek_upsilon, 0x1F52, -GDK_grave, GDK_parenright, GDK_Greek_omega, 0x1F62, -GDK_grave, GDK_plus, GDK_O, 0x1EDC, -GDK_grave, GDK_plus, GDK_U, 0x1EEA, -GDK_grave, GDK_plus, GDK_o, 0x1EDD, -GDK_grave, GDK_plus, GDK_u, 0x1EEB, -GDK_grave, GDK_asciicircum, GDK_A, 0x1EA6, -GDK_grave, GDK_asciicircum, GDK_E, 0x1EC0, -GDK_grave, GDK_asciicircum, GDK_O, 0x1ED2, -GDK_grave, GDK_asciicircum, GDK_a, 0x1EA7, -GDK_grave, GDK_asciicircum, GDK_e, 0x1EC1, -GDK_grave, GDK_asciicircum, GDK_o, 0x1ED3, -GDK_grave, GDK_underscore, GDK_E, 0x1E14, -GDK_grave, GDK_underscore, GDK_O, 0x1E50, -GDK_grave, GDK_underscore, GDK_e, 0x1E15, -GDK_grave, GDK_underscore, GDK_o, 0x1E51, -GDK_grave, GDK_b, GDK_A, 0x1EB0, -GDK_grave, GDK_b, GDK_a, 0x1EB1, -GDK_grave, GDK_macron, GDK_E, 0x1E14, -GDK_grave, GDK_macron, GDK_O, 0x1E50, -GDK_grave, GDK_macron, GDK_e, 0x1E15, -GDK_grave, GDK_macron, GDK_o, 0x1E51, -GDK_grave, GDK_dead_circumflex, GDK_A, 0x1EA6, -GDK_grave, GDK_dead_circumflex, GDK_E, 0x1EC0, -GDK_grave, GDK_dead_circumflex, GDK_O, 0x1ED2, -GDK_grave, GDK_dead_circumflex, GDK_a, 0x1EA7, -GDK_grave, GDK_dead_circumflex, GDK_e, 0x1EC1, -GDK_grave, GDK_dead_circumflex, GDK_o, 0x1ED3, -GDK_grave, GDK_dead_macron, GDK_E, 0x1E14, -GDK_grave, GDK_dead_macron, GDK_O, 0x1E50, -GDK_grave, GDK_dead_macron, GDK_e, 0x1E15, -GDK_grave, GDK_dead_macron, GDK_o, 0x1E51, -GDK_grave, GDK_dead_breve, GDK_A, 0x1EB0, -GDK_grave, GDK_dead_breve, GDK_a, 0x1EB1, -GDK_grave, GDK_dead_diaeresis, GDK_U, 0x01DB, -GDK_grave, GDK_dead_diaeresis, GDK_u, 0x01DC, -GDK_grave, GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD2, -GDK_grave, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE2, -GDK_grave, GDK_dead_horn, GDK_O, 0x1EDC, -GDK_grave, GDK_dead_horn, GDK_U, 0x1EEA, -GDK_grave, GDK_dead_horn, GDK_o, 0x1EDD, -GDK_grave, GDK_dead_horn, GDK_u, 0x1EEB, -GDK_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0A, -GDK_grave, GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1A, -GDK_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F2A, -GDK_grave, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3A, -GDK_grave, GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4A, -GDK_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6A, -GDK_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F02, -GDK_grave, GDK_dead_psili, GDK_Greek_epsilon, 0x1F12, -GDK_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F22, -GDK_grave, GDK_dead_psili, GDK_Greek_iota, 0x1F32, -GDK_grave, GDK_dead_psili, GDK_Greek_omicron, 0x1F42, -GDK_grave, GDK_dead_psili, GDK_Greek_upsilon, 0x1F52, -GDK_grave, GDK_dead_psili, GDK_Greek_omega, 0x1F62, -GDK_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0B, -GDK_grave, GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1B, -GDK_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2B, -GDK_grave, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3B, -GDK_grave, GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4B, -GDK_grave, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5B, -GDK_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6B, -GDK_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F03, -GDK_grave, GDK_dead_dasia, GDK_Greek_epsilon, 0x1F13, -GDK_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F23, -GDK_grave, GDK_dead_dasia, GDK_Greek_iota, 0x1F33, -GDK_grave, GDK_dead_dasia, GDK_Greek_omicron, 0x1F43, -GDK_grave, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F53, -GDK_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1F63, -GDK_b, GDK_exclam, GDK_A, 0x1EB6, -GDK_b, GDK_exclam, GDK_a, 0x1EB7, -GDK_b, GDK_comma, GDK_E, 0x1E1C, -GDK_b, GDK_comma, GDK_e, 0x1E1D, -GDK_b, GDK_cedilla, GDK_E, 0x1E1C, -GDK_b, GDK_cedilla, GDK_e, 0x1E1D, -GDK_b, GDK_dead_cedilla, GDK_E, 0x1E1C, -GDK_b, GDK_dead_cedilla, GDK_e, 0x1E1D, -GDK_b, GDK_dead_belowdot, GDK_A, 0x1EB6, -GDK_b, GDK_dead_belowdot, GDK_a, 0x1EB7, -GDK_c, GDK_quotedbl, GDK_U, 0x01D9, -GDK_c, GDK_quotedbl, GDK_u, 0x01DA, -GDK_c, GDK_dead_diaeresis, GDK_U, 0x01D9, -GDK_c, GDK_dead_diaeresis, GDK_u, 0x01DA, -GDK_o, GDK_apostrophe, GDK_A, 0x01FA, -GDK_o, GDK_apostrophe, GDK_a, 0x01FB, -GDK_asciitilde, GDK_quotedbl, GDK_Greek_iota, 0x1FD7, -GDK_asciitilde, GDK_quotedbl, GDK_Greek_upsilon, 0x1FE7, -GDK_asciitilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0F, -GDK_asciitilde, GDK_parenleft, GDK_Greek_ETA, 0x1F2F, -GDK_asciitilde, GDK_parenleft, GDK_Greek_IOTA, 0x1F3F, -GDK_asciitilde, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5F, -GDK_asciitilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6F, -GDK_asciitilde, GDK_parenleft, GDK_Greek_alpha, 0x1F07, -GDK_asciitilde, GDK_parenleft, GDK_Greek_eta, 0x1F27, -GDK_asciitilde, GDK_parenleft, GDK_Greek_iota, 0x1F37, -GDK_asciitilde, GDK_parenleft, GDK_Greek_upsilon, 0x1F57, -GDK_asciitilde, GDK_parenleft, GDK_Greek_omega, 0x1F67, -GDK_asciitilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F0E, -GDK_asciitilde, GDK_parenright, GDK_Greek_ETA, 0x1F2E, -GDK_asciitilde, GDK_parenright, GDK_Greek_IOTA, 0x1F3E, -GDK_asciitilde, GDK_parenright, GDK_Greek_OMEGA, 0x1F6E, -GDK_asciitilde, GDK_parenright, GDK_Greek_alpha, 0x1F06, -GDK_asciitilde, GDK_parenright, GDK_Greek_eta, 0x1F26, -GDK_asciitilde, GDK_parenright, GDK_Greek_iota, 0x1F36, -GDK_asciitilde, GDK_parenright, GDK_Greek_upsilon, 0x1F56, -GDK_asciitilde, GDK_parenright, GDK_Greek_omega, 0x1F66, -GDK_asciitilde, GDK_plus, GDK_O, 0x1EE0, -GDK_asciitilde, GDK_plus, GDK_U, 0x1EEE, -GDK_asciitilde, GDK_plus, GDK_o, 0x1EE1, -GDK_asciitilde, GDK_plus, GDK_u, 0x1EEF, -GDK_asciitilde, GDK_asciicircum, GDK_A, 0x1EAA, -GDK_asciitilde, GDK_asciicircum, GDK_E, 0x1EC4, -GDK_asciitilde, GDK_asciicircum, GDK_O, 0x1ED6, -GDK_asciitilde, GDK_asciicircum, GDK_a, 0x1EAB, -GDK_asciitilde, GDK_asciicircum, GDK_e, 0x1EC5, -GDK_asciitilde, GDK_asciicircum, GDK_o, 0x1ED7, -GDK_asciitilde, GDK_b, GDK_A, 0x1EB4, -GDK_asciitilde, GDK_b, GDK_a, 0x1EB5, -GDK_asciitilde, GDK_dead_circumflex, GDK_A, 0x1EAA, -GDK_asciitilde, GDK_dead_circumflex, GDK_E, 0x1EC4, -GDK_asciitilde, GDK_dead_circumflex, GDK_O, 0x1ED6, -GDK_asciitilde, GDK_dead_circumflex, GDK_a, 0x1EAB, -GDK_asciitilde, GDK_dead_circumflex, GDK_e, 0x1EC5, -GDK_asciitilde, GDK_dead_circumflex, GDK_o, 0x1ED7, -GDK_asciitilde, GDK_dead_breve, GDK_A, 0x1EB4, -GDK_asciitilde, GDK_dead_breve, GDK_a, 0x1EB5, -GDK_asciitilde, GDK_dead_diaeresis, GDK_Greek_iota, 0x1FD7, -GDK_asciitilde, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x1FE7, -GDK_asciitilde, GDK_dead_horn, GDK_O, 0x1EE0, -GDK_asciitilde, GDK_dead_horn, GDK_U, 0x1EEE, -GDK_asciitilde, GDK_dead_horn, GDK_o, 0x1EE1, -GDK_asciitilde, GDK_dead_horn, GDK_u, 0x1EEF, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0E, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F2E, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3E, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6E, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F06, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_eta, 0x1F26, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_iota, 0x1F36, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_upsilon, 0x1F56, -GDK_asciitilde, GDK_dead_psili, GDK_Greek_omega, 0x1F66, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0F, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2F, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3F, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5F, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6F, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F07, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F27, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_iota, 0x1F37, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F57, -GDK_asciitilde, GDK_dead_dasia, GDK_Greek_omega, 0x1F67, -GDK_macron, GDK_exclam, GDK_L, 0x1E38, -GDK_macron, GDK_exclam, GDK_R, 0x1E5C, -GDK_macron, GDK_exclam, GDK_l, 0x1E39, -GDK_macron, GDK_exclam, GDK_r, 0x1E5D, -GDK_macron, GDK_quotedbl, GDK_A, 0x01DE, -GDK_macron, GDK_quotedbl, GDK_O, 0x022A, -GDK_macron, GDK_quotedbl, GDK_U, 0x01D5, -GDK_macron, GDK_quotedbl, GDK_a, 0x01DF, -GDK_macron, GDK_quotedbl, GDK_o, 0x022B, -GDK_macron, GDK_quotedbl, GDK_u, 0x01D6, -GDK_macron, GDK_period, GDK_A, 0x01E0, -GDK_macron, GDK_period, GDK_O, 0x0230, -GDK_macron, GDK_period, GDK_a, 0x01E1, -GDK_macron, GDK_period, GDK_o, 0x0231, -GDK_macron, GDK_semicolon, GDK_O, 0x01EC, -GDK_macron, GDK_semicolon, GDK_o, 0x01ED, -GDK_macron, GDK_asciitilde, GDK_O, 0x022C, -GDK_macron, GDK_asciitilde, GDK_o, 0x022D, -GDK_macron, GDK_dead_tilde, GDK_O, 0x022C, -GDK_macron, GDK_dead_tilde, GDK_o, 0x022D, -GDK_macron, GDK_dead_abovedot, GDK_A, 0x01E0, -GDK_macron, GDK_dead_abovedot, GDK_O, 0x0230, -GDK_macron, GDK_dead_abovedot, GDK_a, 0x01E1, -GDK_macron, GDK_dead_abovedot, GDK_o, 0x0231, -GDK_macron, GDK_dead_diaeresis, GDK_A, 0x01DE, -GDK_macron, GDK_dead_diaeresis, GDK_O, 0x022A, -GDK_macron, GDK_dead_diaeresis, GDK_U, 0x01D5, -GDK_macron, GDK_dead_diaeresis, GDK_a, 0x01DF, -GDK_macron, GDK_dead_diaeresis, GDK_o, 0x022B, -GDK_macron, GDK_dead_diaeresis, GDK_u, 0x01D6, -GDK_macron, GDK_dead_ogonek, GDK_O, 0x01EC, -GDK_macron, GDK_dead_ogonek, GDK_o, 0x01ED, -GDK_macron, GDK_dead_belowdot, GDK_L, 0x1E38, -GDK_macron, GDK_dead_belowdot, GDK_R, 0x1E5C, -GDK_macron, GDK_dead_belowdot, GDK_l, 0x1E39, -GDK_macron, GDK_dead_belowdot, GDK_r, 0x1E5D, -GDK_acute, GDK_quotedbl, GDK_I, 0x1E2E, -GDK_acute, GDK_quotedbl, GDK_U, 0x01D7, -GDK_acute, GDK_quotedbl, GDK_i, 0x1E2F, -GDK_acute, GDK_quotedbl, GDK_u, 0x01D8, -GDK_acute, GDK_quotedbl, GDK_Greek_iota, 0x0390, -GDK_acute, GDK_quotedbl, GDK_Greek_upsilon, 0x03B0, -GDK_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F0D, -GDK_acute, GDK_parenleft, GDK_Greek_EPSILON, 0x1F1D, -GDK_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F2D, -GDK_acute, GDK_parenleft, GDK_Greek_IOTA, 0x1F3D, -GDK_acute, GDK_parenleft, GDK_Greek_OMICRON, 0x1F4D, -GDK_acute, GDK_parenleft, GDK_Greek_UPSILON, 0x1F5D, -GDK_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1F6D, -GDK_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F05, -GDK_acute, GDK_parenleft, GDK_Greek_epsilon, 0x1F15, -GDK_acute, GDK_parenleft, GDK_Greek_eta, 0x1F25, -GDK_acute, GDK_parenleft, GDK_Greek_iota, 0x1F35, -GDK_acute, GDK_parenleft, GDK_Greek_omicron, 0x1F45, -GDK_acute, GDK_parenleft, GDK_Greek_upsilon, 0x1F55, -GDK_acute, GDK_parenleft, GDK_Greek_omega, 0x1F65, -GDK_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F0C, -GDK_acute, GDK_parenright, GDK_Greek_EPSILON, 0x1F1C, -GDK_acute, GDK_parenright, GDK_Greek_ETA, 0x1F2C, -GDK_acute, GDK_parenright, GDK_Greek_IOTA, 0x1F3C, -GDK_acute, GDK_parenright, GDK_Greek_OMICRON, 0x1F4C, -GDK_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1F6C, -GDK_acute, GDK_parenright, GDK_Greek_alpha, 0x1F04, -GDK_acute, GDK_parenright, GDK_Greek_epsilon, 0x1F14, -GDK_acute, GDK_parenright, GDK_Greek_eta, 0x1F24, -GDK_acute, GDK_parenright, GDK_Greek_iota, 0x1F34, -GDK_acute, GDK_parenright, GDK_Greek_omicron, 0x1F44, -GDK_acute, GDK_parenright, GDK_Greek_upsilon, 0x1F54, -GDK_acute, GDK_parenright, GDK_Greek_omega, 0x1F64, -GDK_acute, GDK_plus, GDK_O, 0x1EDA, -GDK_acute, GDK_plus, GDK_U, 0x1EE8, -GDK_acute, GDK_plus, GDK_o, 0x1EDB, -GDK_acute, GDK_plus, GDK_u, 0x1EE9, -GDK_acute, GDK_comma, GDK_C, 0x1E08, -GDK_acute, GDK_comma, GDK_c, 0x1E09, -GDK_acute, GDK_slash, GDK_O, 0x01FE, -GDK_acute, GDK_slash, GDK_o, 0x01FF, -GDK_acute, GDK_asciicircum, GDK_A, 0x1EA4, -GDK_acute, GDK_asciicircum, GDK_E, 0x1EBE, -GDK_acute, GDK_asciicircum, GDK_O, 0x1ED0, -GDK_acute, GDK_asciicircum, GDK_a, 0x1EA5, -GDK_acute, GDK_asciicircum, GDK_e, 0x1EBF, -GDK_acute, GDK_asciicircum, GDK_o, 0x1ED1, -GDK_acute, GDK_underscore, GDK_E, 0x1E16, -GDK_acute, GDK_underscore, GDK_O, 0x1E52, -GDK_acute, GDK_underscore, GDK_e, 0x1E17, -GDK_acute, GDK_underscore, GDK_o, 0x1E53, -GDK_acute, GDK_b, GDK_A, 0x1EAE, -GDK_acute, GDK_b, GDK_a, 0x1EAF, -GDK_acute, GDK_asciitilde, GDK_O, 0x1E4C, -GDK_acute, GDK_asciitilde, GDK_U, 0x1E78, -GDK_acute, GDK_asciitilde, GDK_o, 0x1E4D, -GDK_acute, GDK_asciitilde, GDK_u, 0x1E79, -GDK_acute, GDK_macron, GDK_E, 0x1E16, -GDK_acute, GDK_macron, GDK_O, 0x1E52, -GDK_acute, GDK_macron, GDK_e, 0x1E17, -GDK_acute, GDK_macron, GDK_o, 0x1E53, -GDK_acute, GDK_cedilla, GDK_C, 0x1E08, -GDK_acute, GDK_cedilla, GDK_c, 0x1E09, -GDK_acute, GDK_dead_circumflex, GDK_A, 0x1EA4, -GDK_acute, GDK_dead_circumflex, GDK_E, 0x1EBE, -GDK_acute, GDK_dead_circumflex, GDK_O, 0x1ED0, -GDK_acute, GDK_dead_circumflex, GDK_a, 0x1EA5, -GDK_acute, GDK_dead_circumflex, GDK_e, 0x1EBF, -GDK_acute, GDK_dead_circumflex, GDK_o, 0x1ED1, -GDK_acute, GDK_dead_tilde, GDK_O, 0x1E4C, -GDK_acute, GDK_dead_tilde, GDK_U, 0x1E78, -GDK_acute, GDK_dead_tilde, GDK_o, 0x1E4D, -GDK_acute, GDK_dead_tilde, GDK_u, 0x1E79, -GDK_acute, GDK_dead_macron, GDK_E, 0x1E16, -GDK_acute, GDK_dead_macron, GDK_O, 0x1E52, -GDK_acute, GDK_dead_macron, GDK_e, 0x1E17, -GDK_acute, GDK_dead_macron, GDK_o, 0x1E53, -GDK_acute, GDK_dead_breve, GDK_A, 0x1EAE, -GDK_acute, GDK_dead_breve, GDK_a, 0x1EAF, -GDK_acute, GDK_dead_diaeresis, GDK_I, 0x1E2E, -GDK_acute, GDK_dead_diaeresis, GDK_U, 0x01D7, -GDK_acute, GDK_dead_diaeresis, GDK_i, 0x1E2F, -GDK_acute, GDK_dead_diaeresis, GDK_u, 0x01D8, -GDK_acute, GDK_dead_diaeresis, GDK_Greek_iota, 0x0390, -GDK_acute, GDK_dead_diaeresis, GDK_Greek_upsilon, 0x03B0, -GDK_acute, GDK_dead_abovering, GDK_A, 0x01FA, -GDK_acute, GDK_dead_abovering, GDK_a, 0x01FB, -GDK_acute, GDK_dead_cedilla, GDK_C, 0x1E08, -GDK_acute, GDK_dead_cedilla, GDK_c, 0x1E09, -GDK_acute, GDK_dead_horn, GDK_O, 0x1EDA, -GDK_acute, GDK_dead_horn, GDK_U, 0x1EE8, -GDK_acute, GDK_dead_horn, GDK_o, 0x1EDB, -GDK_acute, GDK_dead_horn, GDK_u, 0x1EE9, -GDK_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F0C, -GDK_acute, GDK_dead_psili, GDK_Greek_EPSILON, 0x1F1C, -GDK_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F2C, -GDK_acute, GDK_dead_psili, GDK_Greek_IOTA, 0x1F3C, -GDK_acute, GDK_dead_psili, GDK_Greek_OMICRON, 0x1F4C, -GDK_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1F6C, -GDK_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F04, -GDK_acute, GDK_dead_psili, GDK_Greek_epsilon, 0x1F14, -GDK_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F24, -GDK_acute, GDK_dead_psili, GDK_Greek_iota, 0x1F34, -GDK_acute, GDK_dead_psili, GDK_Greek_omicron, 0x1F44, -GDK_acute, GDK_dead_psili, GDK_Greek_upsilon, 0x1F54, -GDK_acute, GDK_dead_psili, GDK_Greek_omega, 0x1F64, -GDK_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F0D, -GDK_acute, GDK_dead_dasia, GDK_Greek_EPSILON, 0x1F1D, -GDK_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F2D, -GDK_acute, GDK_dead_dasia, GDK_Greek_IOTA, 0x1F3D, -GDK_acute, GDK_dead_dasia, GDK_Greek_OMICRON, 0x1F4D, -GDK_acute, GDK_dead_dasia, GDK_Greek_UPSILON, 0x1F5D, -GDK_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1F6D, -GDK_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F05, -GDK_acute, GDK_dead_dasia, GDK_Greek_epsilon, 0x1F15, -GDK_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F25, -GDK_acute, GDK_dead_dasia, GDK_Greek_iota, 0x1F35, -GDK_acute, GDK_dead_dasia, GDK_Greek_omicron, 0x1F45, -GDK_acute, GDK_dead_dasia, GDK_Greek_upsilon, 0x1F55, -GDK_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1F65, -GDK_acute, GDK_KP_Divide, GDK_O, 0x01FE, -GDK_acute, GDK_KP_Divide, GDK_o, 0x01FF, -0x05C1, 0x05BC, GDK_hebrew_shin, 0xFB2C, -0x05C2, 0x05BC, GDK_hebrew_shin, 0xFB2D, -GDK_Greek_iota, GDK_apostrophe, GDK_Greek_alpha, 0x1FB4, -GDK_Greek_iota, GDK_apostrophe, GDK_Greek_eta, 0x1FC4, -GDK_Greek_iota, GDK_apostrophe, GDK_Greek_omega, 0x1FF4, -GDK_Greek_iota, GDK_apostrophe, 0x1F00, 0x1F84, -GDK_Greek_iota, GDK_apostrophe, 0x1F01, 0x1F85, -GDK_Greek_iota, GDK_apostrophe, 0x1F08, 0x1F8C, -GDK_Greek_iota, GDK_apostrophe, 0x1F09, 0x1F8D, -GDK_Greek_iota, GDK_apostrophe, 0x1F20, 0x1F94, -GDK_Greek_iota, GDK_apostrophe, 0x1F21, 0x1F95, -GDK_Greek_iota, GDK_apostrophe, 0x1F28, 0x1F9C, -GDK_Greek_iota, GDK_apostrophe, 0x1F29, 0x1F9D, -GDK_Greek_iota, GDK_apostrophe, 0x1F60, 0x1FA4, -GDK_Greek_iota, GDK_apostrophe, 0x1F61, 0x1FA5, -GDK_Greek_iota, GDK_apostrophe, 0x1F68, 0x1FAC, -GDK_Greek_iota, GDK_apostrophe, 0x1F69, 0x1FAD, -GDK_Greek_iota, GDK_parenleft, GDK_Greek_ALPHA, 0x1F89, -GDK_Greek_iota, GDK_parenleft, GDK_Greek_ETA, 0x1F99, -GDK_Greek_iota, GDK_parenleft, GDK_Greek_OMEGA, 0x1FA9, -GDK_Greek_iota, GDK_parenleft, GDK_Greek_alpha, 0x1F81, -GDK_Greek_iota, GDK_parenleft, GDK_Greek_eta, 0x1F91, -GDK_Greek_iota, GDK_parenleft, GDK_Greek_omega, 0x1FA1, -GDK_Greek_iota, GDK_parenright, GDK_Greek_ALPHA, 0x1F88, -GDK_Greek_iota, GDK_parenright, GDK_Greek_ETA, 0x1F98, -GDK_Greek_iota, GDK_parenright, GDK_Greek_OMEGA, 0x1FA8, -GDK_Greek_iota, GDK_parenright, GDK_Greek_alpha, 0x1F80, -GDK_Greek_iota, GDK_parenright, GDK_Greek_eta, 0x1F90, -GDK_Greek_iota, GDK_parenright, GDK_Greek_omega, 0x1FA0, -GDK_Greek_iota, GDK_grave, GDK_Greek_alpha, 0x1FB2, -GDK_Greek_iota, GDK_grave, GDK_Greek_eta, 0x1FC2, -GDK_Greek_iota, GDK_grave, GDK_Greek_omega, 0x1FF2, -GDK_Greek_iota, GDK_grave, 0x1F00, 0x1F82, -GDK_Greek_iota, GDK_grave, 0x1F01, 0x1F83, -GDK_Greek_iota, GDK_grave, 0x1F08, 0x1F8A, -GDK_Greek_iota, GDK_grave, 0x1F09, 0x1F8B, -GDK_Greek_iota, GDK_grave, 0x1F20, 0x1F92, -GDK_Greek_iota, GDK_grave, 0x1F21, 0x1F93, -GDK_Greek_iota, GDK_grave, 0x1F28, 0x1F9A, -GDK_Greek_iota, GDK_grave, 0x1F29, 0x1F9B, -GDK_Greek_iota, GDK_grave, 0x1F60, 0x1FA2, -GDK_Greek_iota, GDK_grave, 0x1F61, 0x1FA3, -GDK_Greek_iota, GDK_grave, 0x1F68, 0x1FAA, -GDK_Greek_iota, GDK_grave, 0x1F69, 0x1FAB, -GDK_Greek_iota, GDK_asciitilde, GDK_Greek_alpha, 0x1FB7, -GDK_Greek_iota, GDK_asciitilde, GDK_Greek_eta, 0x1FC7, -GDK_Greek_iota, GDK_asciitilde, GDK_Greek_omega, 0x1FF7, -GDK_Greek_iota, GDK_asciitilde, 0x1F00, 0x1F86, -GDK_Greek_iota, GDK_asciitilde, 0x1F01, 0x1F87, -GDK_Greek_iota, GDK_asciitilde, 0x1F08, 0x1F8E, -GDK_Greek_iota, GDK_asciitilde, 0x1F09, 0x1F8F, -GDK_Greek_iota, GDK_asciitilde, 0x1F20, 0x1F96, -GDK_Greek_iota, GDK_asciitilde, 0x1F21, 0x1F97, -GDK_Greek_iota, GDK_asciitilde, 0x1F28, 0x1F9E, -GDK_Greek_iota, GDK_asciitilde, 0x1F29, 0x1F9F, -GDK_Greek_iota, GDK_asciitilde, 0x1F60, 0x1FA6, -GDK_Greek_iota, GDK_asciitilde, 0x1F61, 0x1FA7, -GDK_Greek_iota, GDK_asciitilde, 0x1F68, 0x1FAE, -GDK_Greek_iota, GDK_asciitilde, 0x1F69, 0x1FAF, -GDK_Greek_iota, GDK_acute, GDK_Greek_alpha, 0x1FB4, -GDK_Greek_iota, GDK_acute, GDK_Greek_eta, 0x1FC4, -GDK_Greek_iota, GDK_acute, GDK_Greek_omega, 0x1FF4, -GDK_Greek_iota, GDK_acute, 0x1F00, 0x1F84, -GDK_Greek_iota, GDK_acute, 0x1F01, 0x1F85, -GDK_Greek_iota, GDK_acute, 0x1F08, 0x1F8C, -GDK_Greek_iota, GDK_acute, 0x1F09, 0x1F8D, -GDK_Greek_iota, GDK_acute, 0x1F20, 0x1F94, -GDK_Greek_iota, GDK_acute, 0x1F21, 0x1F95, -GDK_Greek_iota, GDK_acute, 0x1F28, 0x1F9C, -GDK_Greek_iota, GDK_acute, 0x1F29, 0x1F9D, -GDK_Greek_iota, GDK_acute, 0x1F60, 0x1FA4, -GDK_Greek_iota, GDK_acute, 0x1F61, 0x1FA5, -GDK_Greek_iota, GDK_acute, 0x1F68, 0x1FAC, -GDK_Greek_iota, GDK_acute, 0x1F69, 0x1FAD, -GDK_Greek_iota, GDK_dead_grave, GDK_Greek_alpha, 0x1FB2, -GDK_Greek_iota, GDK_dead_grave, GDK_Greek_eta, 0x1FC2, -GDK_Greek_iota, GDK_dead_grave, GDK_Greek_omega, 0x1FF2, -GDK_Greek_iota, GDK_dead_grave, 0x1F00, 0x1F82, -GDK_Greek_iota, GDK_dead_grave, 0x1F01, 0x1F83, -GDK_Greek_iota, GDK_dead_grave, 0x1F08, 0x1F8A, -GDK_Greek_iota, GDK_dead_grave, 0x1F09, 0x1F8B, -GDK_Greek_iota, GDK_dead_grave, 0x1F20, 0x1F92, -GDK_Greek_iota, GDK_dead_grave, 0x1F21, 0x1F93, -GDK_Greek_iota, GDK_dead_grave, 0x1F28, 0x1F9A, -GDK_Greek_iota, GDK_dead_grave, 0x1F29, 0x1F9B, -GDK_Greek_iota, GDK_dead_grave, 0x1F60, 0x1FA2, -GDK_Greek_iota, GDK_dead_grave, 0x1F61, 0x1FA3, -GDK_Greek_iota, GDK_dead_grave, 0x1F68, 0x1FAA, -GDK_Greek_iota, GDK_dead_grave, 0x1F69, 0x1FAB, -GDK_Greek_iota, GDK_dead_acute, GDK_Greek_alpha, 0x1FB4, -GDK_Greek_iota, GDK_dead_acute, GDK_Greek_eta, 0x1FC4, -GDK_Greek_iota, GDK_dead_acute, GDK_Greek_omega, 0x1FF4, -GDK_Greek_iota, GDK_dead_acute, 0x1F00, 0x1F84, -GDK_Greek_iota, GDK_dead_acute, 0x1F01, 0x1F85, -GDK_Greek_iota, GDK_dead_acute, 0x1F08, 0x1F8C, -GDK_Greek_iota, GDK_dead_acute, 0x1F09, 0x1F8D, -GDK_Greek_iota, GDK_dead_acute, 0x1F20, 0x1F94, -GDK_Greek_iota, GDK_dead_acute, 0x1F21, 0x1F95, -GDK_Greek_iota, GDK_dead_acute, 0x1F28, 0x1F9C, -GDK_Greek_iota, GDK_dead_acute, 0x1F29, 0x1F9D, -GDK_Greek_iota, GDK_dead_acute, 0x1F60, 0x1FA4, -GDK_Greek_iota, GDK_dead_acute, 0x1F61, 0x1FA5, -GDK_Greek_iota, GDK_dead_acute, 0x1F68, 0x1FAC, -GDK_Greek_iota, GDK_dead_acute, 0x1F69, 0x1FAD, -GDK_Greek_iota, GDK_dead_tilde, GDK_Greek_alpha, 0x1FB7, -GDK_Greek_iota, GDK_dead_tilde, GDK_Greek_eta, 0x1FC7, -GDK_Greek_iota, GDK_dead_tilde, GDK_Greek_omega, 0x1FF7, -GDK_Greek_iota, GDK_dead_tilde, 0x1F00, 0x1F86, -GDK_Greek_iota, GDK_dead_tilde, 0x1F01, 0x1F87, -GDK_Greek_iota, GDK_dead_tilde, 0x1F08, 0x1F8E, -GDK_Greek_iota, GDK_dead_tilde, 0x1F09, 0x1F8F, -GDK_Greek_iota, GDK_dead_tilde, 0x1F20, 0x1F96, -GDK_Greek_iota, GDK_dead_tilde, 0x1F21, 0x1F97, -GDK_Greek_iota, GDK_dead_tilde, 0x1F28, 0x1F9E, -GDK_Greek_iota, GDK_dead_tilde, 0x1F29, 0x1F9F, -GDK_Greek_iota, GDK_dead_tilde, 0x1F60, 0x1FA6, -GDK_Greek_iota, GDK_dead_tilde, 0x1F61, 0x1FA7, -GDK_Greek_iota, GDK_dead_tilde, 0x1F68, 0x1FAE, -GDK_Greek_iota, GDK_dead_tilde, 0x1F69, 0x1FAF, -GDK_Greek_iota, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F88, -GDK_Greek_iota, GDK_dead_psili, GDK_Greek_ETA, 0x1F98, -GDK_Greek_iota, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FA8, -GDK_Greek_iota, GDK_dead_psili, GDK_Greek_alpha, 0x1F80, -GDK_Greek_iota, GDK_dead_psili, GDK_Greek_eta, 0x1F90, -GDK_Greek_iota, GDK_dead_psili, GDK_Greek_omega, 0x1FA0, -GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F89, -GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_ETA, 0x1F99, -GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FA9, -GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_alpha, 0x1F81, -GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_eta, 0x1F91, -GDK_Greek_iota, GDK_dead_dasia, GDK_Greek_omega, 0x1FA1, -GDK_parenleft, GDK_1, GDK_0, GDK_parenright, 0x2469, -GDK_parenleft, GDK_1, GDK_1, GDK_parenright, 0x246A, -GDK_parenleft, GDK_1, GDK_2, GDK_parenright, 0x246B, -GDK_parenleft, GDK_1, GDK_3, GDK_parenright, 0x246C, -GDK_parenleft, GDK_1, GDK_4, GDK_parenright, 0x246D, -GDK_parenleft, GDK_1, GDK_5, GDK_parenright, 0x246E, -GDK_parenleft, GDK_1, GDK_6, GDK_parenright, 0x246F, -GDK_parenleft, GDK_1, GDK_7, GDK_parenright, 0x2470, -GDK_parenleft, GDK_1, GDK_8, GDK_parenright, 0x2471, -GDK_parenleft, GDK_1, GDK_9, GDK_parenright, 0x2472, -GDK_parenleft, GDK_1, GDK_KP_Space, GDK_parenright, 0x246B, -GDK_parenleft, GDK_1, GDK_KP_0, GDK_parenright, 0x2469, -GDK_parenleft, GDK_1, GDK_KP_1, GDK_parenright, 0x246A, -GDK_parenleft, GDK_1, GDK_KP_2, GDK_parenright, 0x246B, -GDK_parenleft, GDK_1, GDK_KP_3, GDK_parenright, 0x246C, -GDK_parenleft, GDK_1, GDK_KP_4, GDK_parenright, 0x246D, -GDK_parenleft, GDK_1, GDK_KP_5, GDK_parenright, 0x246E, -GDK_parenleft, GDK_1, GDK_KP_6, GDK_parenright, 0x246F, -GDK_parenleft, GDK_1, GDK_KP_7, GDK_parenright, 0x2470, -GDK_parenleft, GDK_1, GDK_KP_8, GDK_parenright, 0x2471, -GDK_parenleft, GDK_1, GDK_KP_9, GDK_parenright, 0x2472, -GDK_parenleft, GDK_2, GDK_0, GDK_parenright, 0x2473, -GDK_parenleft, GDK_2, GDK_1, GDK_parenright, 0x3251, -GDK_parenleft, GDK_2, GDK_2, GDK_parenright, 0x3252, -GDK_parenleft, GDK_2, GDK_3, GDK_parenright, 0x3253, -GDK_parenleft, GDK_2, GDK_4, GDK_parenright, 0x3254, -GDK_parenleft, GDK_2, GDK_5, GDK_parenright, 0x3255, -GDK_parenleft, GDK_2, GDK_6, GDK_parenright, 0x3256, -GDK_parenleft, GDK_2, GDK_7, GDK_parenright, 0x3257, -GDK_parenleft, GDK_2, GDK_8, GDK_parenright, 0x3258, -GDK_parenleft, GDK_2, GDK_9, GDK_parenright, 0x3259, -GDK_parenleft, GDK_2, GDK_KP_Space, GDK_parenright, 0x3252, -GDK_parenleft, GDK_2, GDK_KP_0, GDK_parenright, 0x2473, -GDK_parenleft, GDK_2, GDK_KP_1, GDK_parenright, 0x3251, -GDK_parenleft, GDK_2, GDK_KP_2, GDK_parenright, 0x3252, -GDK_parenleft, GDK_2, GDK_KP_3, GDK_parenright, 0x3253, -GDK_parenleft, GDK_2, GDK_KP_4, GDK_parenright, 0x3254, -GDK_parenleft, GDK_2, GDK_KP_5, GDK_parenright, 0x3255, -GDK_parenleft, GDK_2, GDK_KP_6, GDK_parenright, 0x3256, -GDK_parenleft, GDK_2, GDK_KP_7, GDK_parenright, 0x3257, -GDK_parenleft, GDK_2, GDK_KP_8, GDK_parenright, 0x3258, -GDK_parenleft, GDK_2, GDK_KP_9, GDK_parenright, 0x3259, -GDK_parenleft, GDK_3, GDK_0, GDK_parenright, 0x325A, -GDK_parenleft, GDK_3, GDK_1, GDK_parenright, 0x325B, -GDK_parenleft, GDK_3, GDK_2, GDK_parenright, 0x325C, -GDK_parenleft, GDK_3, GDK_3, GDK_parenright, 0x325D, -GDK_parenleft, GDK_3, GDK_4, GDK_parenright, 0x325E, -GDK_parenleft, GDK_3, GDK_5, GDK_parenright, 0x325F, -GDK_parenleft, GDK_3, GDK_6, GDK_parenright, 0x32B1, -GDK_parenleft, GDK_3, GDK_7, GDK_parenright, 0x32B2, -GDK_parenleft, GDK_3, GDK_8, GDK_parenright, 0x32B3, -GDK_parenleft, GDK_3, GDK_9, GDK_parenright, 0x32B4, -GDK_parenleft, GDK_3, GDK_KP_Space, GDK_parenright, 0x325C, -GDK_parenleft, GDK_3, GDK_KP_0, GDK_parenright, 0x325A, -GDK_parenleft, GDK_3, GDK_KP_1, GDK_parenright, 0x325B, -GDK_parenleft, GDK_3, GDK_KP_2, GDK_parenright, 0x325C, -GDK_parenleft, GDK_3, GDK_KP_3, GDK_parenright, 0x325D, -GDK_parenleft, GDK_3, GDK_KP_4, GDK_parenright, 0x325E, -GDK_parenleft, GDK_3, GDK_KP_5, GDK_parenright, 0x325F, -GDK_parenleft, GDK_3, GDK_KP_6, GDK_parenright, 0x32B1, -GDK_parenleft, GDK_3, GDK_KP_7, GDK_parenright, 0x32B2, -GDK_parenleft, GDK_3, GDK_KP_8, GDK_parenright, 0x32B3, -GDK_parenleft, GDK_3, GDK_KP_9, GDK_parenright, 0x32B4, -GDK_parenleft, GDK_4, GDK_0, GDK_parenright, 0x32B5, -GDK_parenleft, GDK_4, GDK_1, GDK_parenright, 0x32B6, -GDK_parenleft, GDK_4, GDK_2, GDK_parenright, 0x32B7, -GDK_parenleft, GDK_4, GDK_3, GDK_parenright, 0x32B8, -GDK_parenleft, GDK_4, GDK_4, GDK_parenright, 0x32B9, -GDK_parenleft, GDK_4, GDK_5, GDK_parenright, 0x32BA, -GDK_parenleft, GDK_4, GDK_6, GDK_parenright, 0x32BB, -GDK_parenleft, GDK_4, GDK_7, GDK_parenright, 0x32BC, -GDK_parenleft, GDK_4, GDK_8, GDK_parenright, 0x32BD, -GDK_parenleft, GDK_4, GDK_9, GDK_parenright, 0x32BE, -GDK_parenleft, GDK_4, GDK_KP_Space, GDK_parenright, 0x32B7, -GDK_parenleft, GDK_4, GDK_KP_0, GDK_parenright, 0x32B5, -GDK_parenleft, GDK_4, GDK_KP_1, GDK_parenright, 0x32B6, -GDK_parenleft, GDK_4, GDK_KP_2, GDK_parenright, 0x32B7, -GDK_parenleft, GDK_4, GDK_KP_3, GDK_parenright, 0x32B8, -GDK_parenleft, GDK_4, GDK_KP_4, GDK_parenright, 0x32B9, -GDK_parenleft, GDK_4, GDK_KP_5, GDK_parenright, 0x32BA, -GDK_parenleft, GDK_4, GDK_KP_6, GDK_parenright, 0x32BB, -GDK_parenleft, GDK_4, GDK_KP_7, GDK_parenright, 0x32BC, -GDK_parenleft, GDK_4, GDK_KP_8, GDK_parenright, 0x32BD, -GDK_parenleft, GDK_4, GDK_KP_9, GDK_parenright, 0x32BE, -GDK_parenleft, GDK_5, GDK_KP_0, GDK_parenright, 0x32BF, -GDK_parenleft, 0x1100, 0x1161, GDK_parenright, 0x326E, -GDK_parenleft, 0x1102, 0x1161, GDK_parenright, 0x326F, -GDK_parenleft, 0x1103, 0x1161, GDK_parenright, 0x3270, -GDK_parenleft, 0x1105, 0x1161, GDK_parenright, 0x3271, -GDK_parenleft, 0x1106, 0x1161, GDK_parenright, 0x3272, -GDK_parenleft, 0x1107, 0x1161, GDK_parenright, 0x3273, -GDK_parenleft, 0x1109, 0x1161, GDK_parenright, 0x3274, -GDK_parenleft, 0x110B, 0x1161, GDK_parenright, 0x3275, -GDK_parenleft, 0x110C, 0x1161, GDK_parenright, 0x3276, -GDK_parenleft, 0x110E, 0x1161, GDK_parenright, 0x3277, -GDK_parenleft, 0x110F, 0x1161, GDK_parenright, 0x3278, -GDK_parenleft, 0x1110, 0x1161, GDK_parenright, 0x3279, -GDK_parenleft, 0x1111, 0x1161, GDK_parenright, 0x327A, -GDK_parenleft, 0x1112, 0x1161, GDK_parenright, 0x327B, -GDK_parenleft, GDK_KP_Space, GDK_0, GDK_parenright, 0x2473, -GDK_parenleft, GDK_KP_Space, GDK_1, GDK_parenright, 0x3251, -GDK_parenleft, GDK_KP_Space, GDK_2, GDK_parenright, 0x3252, -GDK_parenleft, GDK_KP_Space, GDK_3, GDK_parenright, 0x3253, -GDK_parenleft, GDK_KP_Space, GDK_4, GDK_parenright, 0x3254, -GDK_parenleft, GDK_KP_Space, GDK_5, GDK_parenright, 0x3255, -GDK_parenleft, GDK_KP_Space, GDK_6, GDK_parenright, 0x3256, -GDK_parenleft, GDK_KP_Space, GDK_7, GDK_parenright, 0x3257, -GDK_parenleft, GDK_KP_Space, GDK_8, GDK_parenright, 0x3258, -GDK_parenleft, GDK_KP_Space, GDK_9, GDK_parenright, 0x3259, -GDK_parenleft, GDK_KP_Space, GDK_KP_Space, GDK_parenright, 0x3252, -GDK_parenleft, GDK_KP_Space, GDK_KP_0, GDK_parenright, 0x2473, -GDK_parenleft, GDK_KP_Space, GDK_KP_1, GDK_parenright, 0x3251, -GDK_parenleft, GDK_KP_Space, GDK_KP_2, GDK_parenright, 0x3252, -GDK_parenleft, GDK_KP_Space, GDK_KP_3, GDK_parenright, 0x3253, -GDK_parenleft, GDK_KP_Space, GDK_KP_4, GDK_parenright, 0x3254, -GDK_parenleft, GDK_KP_Space, GDK_KP_5, GDK_parenright, 0x3255, -GDK_parenleft, GDK_KP_Space, GDK_KP_6, GDK_parenright, 0x3256, -GDK_parenleft, GDK_KP_Space, GDK_KP_7, GDK_parenright, 0x3257, -GDK_parenleft, GDK_KP_Space, GDK_KP_8, GDK_parenright, 0x3258, -GDK_parenleft, GDK_KP_Space, GDK_KP_9, GDK_parenright, 0x3259, -GDK_parenleft, GDK_KP_1, GDK_0, GDK_parenright, 0x2469, -GDK_parenleft, GDK_KP_1, GDK_1, GDK_parenright, 0x246A, -GDK_parenleft, GDK_KP_1, GDK_2, GDK_parenright, 0x246B, -GDK_parenleft, GDK_KP_1, GDK_3, GDK_parenright, 0x246C, -GDK_parenleft, GDK_KP_1, GDK_4, GDK_parenright, 0x246D, -GDK_parenleft, GDK_KP_1, GDK_5, GDK_parenright, 0x246E, -GDK_parenleft, GDK_KP_1, GDK_6, GDK_parenright, 0x246F, -GDK_parenleft, GDK_KP_1, GDK_7, GDK_parenright, 0x2470, -GDK_parenleft, GDK_KP_1, GDK_8, GDK_parenright, 0x2471, -GDK_parenleft, GDK_KP_1, GDK_9, GDK_parenright, 0x2472, -GDK_parenleft, GDK_KP_1, GDK_KP_Space, GDK_parenright, 0x246B, -GDK_parenleft, GDK_KP_1, GDK_KP_0, GDK_parenright, 0x2469, -GDK_parenleft, GDK_KP_1, GDK_KP_1, GDK_parenright, 0x246A, -GDK_parenleft, GDK_KP_1, GDK_KP_2, GDK_parenright, 0x246B, -GDK_parenleft, GDK_KP_1, GDK_KP_3, GDK_parenright, 0x246C, -GDK_parenleft, GDK_KP_1, GDK_KP_4, GDK_parenright, 0x246D, -GDK_parenleft, GDK_KP_1, GDK_KP_5, GDK_parenright, 0x246E, -GDK_parenleft, GDK_KP_1, GDK_KP_6, GDK_parenright, 0x246F, -GDK_parenleft, GDK_KP_1, GDK_KP_7, GDK_parenright, 0x2470, -GDK_parenleft, GDK_KP_1, GDK_KP_8, GDK_parenright, 0x2471, -GDK_parenleft, GDK_KP_1, GDK_KP_9, GDK_parenright, 0x2472, -GDK_parenleft, GDK_KP_2, GDK_0, GDK_parenright, 0x2473, -GDK_parenleft, GDK_KP_2, GDK_1, GDK_parenright, 0x3251, -GDK_parenleft, GDK_KP_2, GDK_2, GDK_parenright, 0x3252, -GDK_parenleft, GDK_KP_2, GDK_3, GDK_parenright, 0x3253, -GDK_parenleft, GDK_KP_2, GDK_4, GDK_parenright, 0x3254, -GDK_parenleft, GDK_KP_2, GDK_5, GDK_parenright, 0x3255, -GDK_parenleft, GDK_KP_2, GDK_6, GDK_parenright, 0x3256, -GDK_parenleft, GDK_KP_2, GDK_7, GDK_parenright, 0x3257, -GDK_parenleft, GDK_KP_2, GDK_8, GDK_parenright, 0x3258, -GDK_parenleft, GDK_KP_2, GDK_9, GDK_parenright, 0x3259, -GDK_parenleft, GDK_KP_2, GDK_KP_Space, GDK_parenright, 0x3252, -GDK_parenleft, GDK_KP_2, GDK_KP_0, GDK_parenright, 0x2473, -GDK_parenleft, GDK_KP_2, GDK_KP_1, GDK_parenright, 0x3251, -GDK_parenleft, GDK_KP_2, GDK_KP_2, GDK_parenright, 0x3252, -GDK_parenleft, GDK_KP_2, GDK_KP_3, GDK_parenright, 0x3253, -GDK_parenleft, GDK_KP_2, GDK_KP_4, GDK_parenright, 0x3254, -GDK_parenleft, GDK_KP_2, GDK_KP_5, GDK_parenright, 0x3255, -GDK_parenleft, GDK_KP_2, GDK_KP_6, GDK_parenright, 0x3256, -GDK_parenleft, GDK_KP_2, GDK_KP_7, GDK_parenright, 0x3257, -GDK_parenleft, GDK_KP_2, GDK_KP_8, GDK_parenright, 0x3258, -GDK_parenleft, GDK_KP_2, GDK_KP_9, GDK_parenright, 0x3259, -GDK_parenleft, GDK_KP_3, GDK_0, GDK_parenright, 0x325A, -GDK_parenleft, GDK_KP_3, GDK_1, GDK_parenright, 0x325B, -GDK_parenleft, GDK_KP_3, GDK_2, GDK_parenright, 0x325C, -GDK_parenleft, GDK_KP_3, GDK_3, GDK_parenright, 0x325D, -GDK_parenleft, GDK_KP_3, GDK_4, GDK_parenright, 0x325E, -GDK_parenleft, GDK_KP_3, GDK_5, GDK_parenright, 0x325F, -GDK_parenleft, GDK_KP_3, GDK_6, GDK_parenright, 0x32B1, -GDK_parenleft, GDK_KP_3, GDK_7, GDK_parenright, 0x32B2, -GDK_parenleft, GDK_KP_3, GDK_8, GDK_parenright, 0x32B3, -GDK_parenleft, GDK_KP_3, GDK_9, GDK_parenright, 0x32B4, -GDK_parenleft, GDK_KP_3, GDK_KP_Space, GDK_parenright, 0x325C, -GDK_parenleft, GDK_KP_3, GDK_KP_0, GDK_parenright, 0x325A, -GDK_parenleft, GDK_KP_3, GDK_KP_1, GDK_parenright, 0x325B, -GDK_parenleft, GDK_KP_3, GDK_KP_2, GDK_parenright, 0x325C, -GDK_parenleft, GDK_KP_3, GDK_KP_3, GDK_parenright, 0x325D, -GDK_parenleft, GDK_KP_3, GDK_KP_4, GDK_parenright, 0x325E, -GDK_parenleft, GDK_KP_3, GDK_KP_5, GDK_parenright, 0x325F, -GDK_parenleft, GDK_KP_3, GDK_KP_6, GDK_parenright, 0x32B1, -GDK_parenleft, GDK_KP_3, GDK_KP_7, GDK_parenright, 0x32B2, -GDK_parenleft, GDK_KP_3, GDK_KP_8, GDK_parenright, 0x32B3, -GDK_parenleft, GDK_KP_3, GDK_KP_9, GDK_parenright, 0x32B4, -GDK_parenleft, GDK_KP_4, GDK_0, GDK_parenright, 0x32B5, -GDK_parenleft, GDK_KP_4, GDK_1, GDK_parenright, 0x32B6, -GDK_parenleft, GDK_KP_4, GDK_2, GDK_parenright, 0x32B7, -GDK_parenleft, GDK_KP_4, GDK_3, GDK_parenright, 0x32B8, -GDK_parenleft, GDK_KP_4, GDK_4, GDK_parenright, 0x32B9, -GDK_parenleft, GDK_KP_4, GDK_5, GDK_parenright, 0x32BA, -GDK_parenleft, GDK_KP_4, GDK_6, GDK_parenright, 0x32BB, -GDK_parenleft, GDK_KP_4, GDK_7, GDK_parenright, 0x32BC, -GDK_parenleft, GDK_KP_4, GDK_8, GDK_parenright, 0x32BD, -GDK_parenleft, GDK_KP_4, GDK_9, GDK_parenright, 0x32BE, -GDK_parenleft, GDK_KP_4, GDK_KP_Space, GDK_parenright, 0x32B7, -GDK_parenleft, GDK_KP_4, GDK_KP_0, GDK_parenright, 0x32B5, -GDK_parenleft, GDK_KP_4, GDK_KP_1, GDK_parenright, 0x32B6, -GDK_parenleft, GDK_KP_4, GDK_KP_2, GDK_parenright, 0x32B7, -GDK_parenleft, GDK_KP_4, GDK_KP_3, GDK_parenright, 0x32B8, -GDK_parenleft, GDK_KP_4, GDK_KP_4, GDK_parenright, 0x32B9, -GDK_parenleft, GDK_KP_4, GDK_KP_5, GDK_parenright, 0x32BA, -GDK_parenleft, GDK_KP_4, GDK_KP_6, GDK_parenright, 0x32BB, -GDK_parenleft, GDK_KP_4, GDK_KP_7, GDK_parenright, 0x32BC, -GDK_parenleft, GDK_KP_4, GDK_KP_8, GDK_parenright, 0x32BD, -GDK_parenleft, GDK_KP_4, GDK_KP_9, GDK_parenright, 0x32BE, -GDK_parenleft, GDK_KP_5, GDK_KP_0, GDK_parenright, 0x32BF, -GDK_C, GDK_C, GDK_C, GDK_P, 0x262D, -GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, -GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, -GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, -GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_alpha, 0x1F85, -GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_eta, 0x1F95, -GDK_Greek_iota, GDK_apostrophe, GDK_parenleft, GDK_Greek_omega, 0x1FA5, -GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, -GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_ETA, 0x1F9C, -GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, -GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_alpha, 0x1F84, -GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_eta, 0x1F94, -GDK_Greek_iota, GDK_apostrophe, GDK_parenright, GDK_Greek_omega, 0x1FA4, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_eta, 0x1F94, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, -GDK_Greek_iota, GDK_apostrophe, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, -GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, -GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, -GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, -GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F83, -GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_eta, 0x1F93, -GDK_Greek_iota, GDK_grave, GDK_parenleft, GDK_Greek_omega, 0x1FA3, -GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, -GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_ETA, 0x1F9A, -GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, -GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_alpha, 0x1F82, -GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_eta, 0x1F92, -GDK_Greek_iota, GDK_grave, GDK_parenright, GDK_Greek_omega, 0x1FA2, -GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, -GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, -GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, -GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, -GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, -GDK_Greek_iota, GDK_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, -GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, -GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, -GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, -GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, -GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, -GDK_Greek_iota, GDK_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, -GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, -GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, -GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, -GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_alpha, 0x1F87, -GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_eta, 0x1F97, -GDK_Greek_iota, GDK_asciitilde, GDK_parenleft, GDK_Greek_omega, 0x1FA7, -GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, -GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_ETA, 0x1F9E, -GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, -GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_alpha, 0x1F86, -GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_eta, 0x1F96, -GDK_Greek_iota, GDK_asciitilde, GDK_parenright, GDK_Greek_omega, 0x1FA6, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, -GDK_Greek_iota, GDK_asciitilde, GDK_dead_dasia, GDK_Greek_omega, 0x1FA7, -GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, -GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, -GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, -GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F85, -GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_eta, 0x1F95, -GDK_Greek_iota, GDK_acute, GDK_parenleft, GDK_Greek_omega, 0x1FA5, -GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, -GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_ETA, 0x1F9C, -GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, -GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_alpha, 0x1F84, -GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_eta, 0x1F94, -GDK_Greek_iota, GDK_acute, GDK_parenright, GDK_Greek_omega, 0x1FA4, -GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, -GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, -GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, -GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, -GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, -GDK_Greek_iota, GDK_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, -GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, -GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, -GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, -GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, -GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, -GDK_Greek_iota, GDK_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, -GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8B, -GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_ETA, 0x1F9B, -GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAB, -GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_alpha, 0x1F83, -GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_eta, 0x1F93, -GDK_Greek_iota, GDK_dead_grave, GDK_parenleft, GDK_Greek_omega, 0x1FA3, -GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_ALPHA, 0x1F8A, -GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_ETA, 0x1F9A, -GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_OMEGA, 0x1FAA, -GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_alpha, 0x1F82, -GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_eta, 0x1F92, -GDK_Greek_iota, GDK_dead_grave, GDK_parenright, GDK_Greek_omega, 0x1FA2, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8A, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_ETA, 0x1F9A, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAA, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_alpha, 0x1F82, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_eta, 0x1F92, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_psili, GDK_Greek_omega, 0x1FA2, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8B, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9B, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAB, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_alpha, 0x1F83, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_eta, 0x1F93, -GDK_Greek_iota, GDK_dead_grave, GDK_dead_dasia, GDK_Greek_omega, 0x1FA3, -GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8D, -GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_ETA, 0x1F9D, -GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAD, -GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_alpha, 0x1F85, -GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_eta, 0x1F95, -GDK_Greek_iota, GDK_dead_acute, GDK_parenleft, GDK_Greek_omega, 0x1FA5, -GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_ALPHA, 0x1F8C, -GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_ETA, 0x1F9C, -GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_OMEGA, 0x1FAC, -GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_alpha, 0x1F84, -GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_eta, 0x1F94, -GDK_Greek_iota, GDK_dead_acute, GDK_parenright, GDK_Greek_omega, 0x1FA4, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8C, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_ETA, 0x1F9C, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAC, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_alpha, 0x1F84, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_eta, 0x1F94, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_psili, GDK_Greek_omega, 0x1FA4, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8D, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9D, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAD, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_alpha, 0x1F85, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_eta, 0x1F95, -GDK_Greek_iota, GDK_dead_acute, GDK_dead_dasia, GDK_Greek_omega, 0x1FA5, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_ALPHA, 0x1F8F, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_ETA, 0x1F9F, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_OMEGA, 0x1FAF, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_alpha, 0x1F87, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_eta, 0x1F97, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenleft, GDK_Greek_omega, 0x1FA7, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_ALPHA, 0x1F8E, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_ETA, 0x1F9E, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_OMEGA, 0x1FAE, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_alpha, 0x1F86, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_eta, 0x1F96, -GDK_Greek_iota, GDK_dead_tilde, GDK_parenright, GDK_Greek_omega, 0x1FA6, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_ALPHA, 0x1F8E, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_ETA, 0x1F9E, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_OMEGA, 0x1FAE, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_alpha, 0x1F86, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_eta, 0x1F96, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_psili, GDK_Greek_omega, 0x1FA6, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_ALPHA, 0x1F8F, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_ETA, 0x1F9F, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_OMEGA, 0x1FAF, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_alpha, 0x1F87, -GDK_Greek_iota, GDK_dead_tilde, GDK_dead_dasia, GDK_Greek_eta, 0x1F97, +GDK_KEY_dead_stroke, 144, 232, 241, 241, 241, +GDK_KEY_Greek_accentdieresis, 241, 245, 245, 245, 245, +GDK_KEY_dead_grave, 245, 307, 394, 606, 606, +GDK_KEY_dead_acute, 606, 670, 766, 1042, 1042, +GDK_KEY_dead_circumflex, 1042, 1166, 1166, 1366, 1366, +GDK_KEY_dead_tilde, 1366, 1450, 1513, 1653, 1653, +GDK_KEY_dead_macron, 1653, 1699, 1699, 1771, 1771, +GDK_KEY_dead_breve, 1771, 1821, 1821, 1845, 1845, +GDK_KEY_dead_abovedot, 1845, 1875, 1878, 1910, 1910, +GDK_KEY_dead_diaeresis, 1910, 1998, 2007, 2031, 2031, +GDK_KEY_dead_abovering, 2031, 2041, 2041, 2041, 2041, +GDK_KEY_dead_doubleacute, 2041, 2051, 2051, 2051, 2051, +GDK_KEY_dead_caron, 2051, 2093, 2093, 2101, 2101, +GDK_KEY_dead_cedilla, 2101, 2113, 2113, 2113, 2113, +GDK_KEY_dead_ogonek, 2113, 2123, 2123, 2123, 2123, +GDK_KEY_dead_iota, 2123, 2145, 2244, 2676, 3336, +GDK_KEY_dead_voiced_sound, 3336, 3382, 3382, 3382, 3382, +GDK_KEY_dead_semivoiced_sound, 3382, 3392, 3392, 3392, 3392, +GDK_KEY_dead_belowdot, 3392, 3408, 3408, 3424, 3424, +GDK_KEY_dead_hook, 3424, 3500, 3500, 3556, 3556, +GDK_KEY_dead_horn, 3556, 3566, 3566, 3566, 3566, +GDK_KEY_dead_psili, 3566, 3594, 3594, 3594, 3594, +GDK_KEY_dead_dasia, 3594, 3626, 3626, 3626, 3626, +GDK_KEY_Multi_key, 3626, 3626, 9560, 13268, 15133, +GDK_KEY_space, 0x002F, +GDK_KEY_2, 0x01BB, +GDK_KEY_A, 0x023A, +GDK_KEY_B, 0x0243, +GDK_KEY_C, 0x023B, +GDK_KEY_D, 0x0110, +GDK_KEY_E, 0x0246, +GDK_KEY_G, 0x01E4, +GDK_KEY_H, 0x0126, +GDK_KEY_I, 0x0197, +GDK_KEY_J, 0x0248, +GDK_KEY_L, 0x0141, +GDK_KEY_O, 0x00D8, +GDK_KEY_P, 0x2C63, +GDK_KEY_R, 0x024C, +GDK_KEY_T, 0x0166, +GDK_KEY_U, 0x0244, +GDK_KEY_Y, 0x024E, +GDK_KEY_Z, 0x01B5, +GDK_KEY_a, 0x2C65, +GDK_KEY_b, 0x0180, +GDK_KEY_c, 0x023C, +GDK_KEY_d, 0x0111, +GDK_KEY_e, 0x0247, +GDK_KEY_g, 0x01E5, +GDK_KEY_h, 0x0127, +GDK_KEY_i, 0x0268, +GDK_KEY_j, 0x0249, +GDK_KEY_l, 0x0142, +GDK_KEY_o, 0x00F8, +GDK_KEY_p, 0x1D7D, +GDK_KEY_r, 0x024D, +GDK_KEY_t, 0x0167, +GDK_KEY_u, 0x0289, +GDK_KEY_y, 0x024F, +GDK_KEY_z, 0x01B6, +GDK_KEY_nobreakspace, 0x0338, +GDK_KEY_Oacute, 0x01FE, +GDK_KEY_oacute, 0x01FF, +0x0237, 0x025F, +0x0269, 0x1D7C, +GDK_KEY_dead_stroke, 0x002F, +GDK_KEY_lessthanequal, 0x2270, +GDK_KEY_greaterthanequal, 0x2271, +GDK_KEY_dead_acute, GDK_KEY_O, 0x01FE, +GDK_KEY_dead_acute, GDK_KEY_o, 0x01FF, +GDK_KEY_dead_abovedot, GDK_KEY_j, 0x025F, +GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_space, 0x0060, +GDK_KEY_V, 0x01DB, +GDK_KEY_v, 0x01DC, +GDK_KEY_nobreakspace, 0x0300, +GDK_KEY_Abreve, 0x1EB0, +GDK_KEY_abreve, 0x1EB1, +GDK_KEY_Emacron, 0x1E14, +GDK_KEY_emacron, 0x1E15, +GDK_KEY_Omacron, 0x1E50, +GDK_KEY_omacron, 0x1E51, +GDK_KEY_Cyrillic_ie, 0x0450, +GDK_KEY_Cyrillic_i, 0x045D, +GDK_KEY_Cyrillic_IE, 0x0400, +GDK_KEY_Cyrillic_I, 0x040D, +GDK_KEY_Greek_iotadieresis, 0x1FD2, +GDK_KEY_Greek_upsilondieresis, 0x1FE2, +GDK_KEY_Greek_ALPHA, 0x1FBA, +GDK_KEY_Greek_EPSILON, 0x1FC8, +GDK_KEY_Greek_ETA, 0x1FCA, +GDK_KEY_Greek_IOTA, 0x1FDA, +GDK_KEY_Greek_OMICRON, 0x1FF8, +GDK_KEY_Greek_UPSILON, 0x1FEA, +GDK_KEY_Greek_OMEGA, 0x1FFA, +GDK_KEY_Greek_alpha, 0x1F70, +GDK_KEY_Greek_epsilon, 0x1F72, +GDK_KEY_Greek_eta, 0x1F74, +GDK_KEY_Greek_iota, 0x1F76, +GDK_KEY_Greek_omicron, 0x1F78, +GDK_KEY_Greek_upsilon, 0x1F7A, +GDK_KEY_Greek_omega, 0x1F7C, +GDK_KEY_dead_grave, 0x0060, +GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD2, +GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE2, +GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0A, +GDK_KEY_dead_psili, GDK_KEY_Greek_EPSILON, 0x1F1A, +GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2A, +GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3A, +GDK_KEY_dead_psili, GDK_KEY_Greek_OMICRON, 0x1F4A, +GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6A, +GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F02, +GDK_KEY_dead_psili, GDK_KEY_Greek_epsilon, 0x1F12, +GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F22, +GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F32, +GDK_KEY_dead_psili, GDK_KEY_Greek_omicron, 0x1F42, +GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F52, +GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F62, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_EPSILON, 0x1F1B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_OMICRON, 0x1F4B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6B, +GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F03, +GDK_KEY_dead_dasia, GDK_KEY_Greek_epsilon, 0x1F13, +GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F23, +GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F33, +GDK_KEY_dead_dasia, GDK_KEY_Greek_omicron, 0x1F43, +GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F53, +GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F63, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_U, 0x01DB, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_u, 0x01DC, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x1FD2, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x1FE2, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F1B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMICRON, 0x1F4B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6B, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F03, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_epsilon, 0x1F13, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F23, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F33, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omicron, 0x1F43, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F53, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F63, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0A, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_EPSILON, 0x1F1A, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2A, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3A, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMICRON, 0x1F4A, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6A, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F02, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_epsilon, 0x1F12, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F22, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F32, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omicron, 0x1F42, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F52, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F62, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_O, 0x1EDC, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_U, 0x1EEA, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_o, 0x1EDD, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_u, 0x1EEB, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_A, 0x1EB0, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_a, 0x1EB1, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA6, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EC0, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED2, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA7, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EC1, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED3, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_E, 0x1E14, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_O, 0x1E50, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_e, 0x1E15, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_o, 0x1E51, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_A, 0x1EB0, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_a, 0x1EB1, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_E, 0x1E14, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_O, 0x1E50, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_e, 0x1E15, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_o, 0x1E51, +GDK_KEY_space, 0x0027, +GDK_KEY_V, 0x01D7, +GDK_KEY_v, 0x01D8, +GDK_KEY_nobreakspace, 0x0301, +GDK_KEY_Abreve, 0x1EAE, +GDK_KEY_abreve, 0x1EAF, +GDK_KEY_Emacron, 0x1E16, +GDK_KEY_emacron, 0x1E17, +GDK_KEY_Utilde, 0x1E78, +GDK_KEY_omacron, 0x1E53, +GDK_KEY_utilde, 0x1E79, +GDK_KEY_Cyrillic_ghe, 0x0453, +GDK_KEY_Cyrillic_ka, 0x045C, +GDK_KEY_Cyrillic_GHE, 0x0403, +GDK_KEY_Cyrillic_KA, 0x040C, +GDK_KEY_Greek_iotadieresis, 0x0390, +GDK_KEY_Greek_upsilondieresis, 0x03B0, +GDK_KEY_Greek_ALPHA, 0x0386, +GDK_KEY_Greek_EPSILON, 0x0388, +GDK_KEY_Greek_ETA, 0x0389, +GDK_KEY_Greek_IOTA, 0x038A, +GDK_KEY_Greek_OMICRON, 0x038C, +GDK_KEY_Greek_UPSILON, 0x038E, +GDK_KEY_Greek_OMEGA, 0x038F, +GDK_KEY_Greek_alpha, 0x03AC, +GDK_KEY_Greek_epsilon, 0x03AD, +GDK_KEY_Greek_eta, 0x03AE, +GDK_KEY_Greek_iota, 0x03AF, +GDK_KEY_Greek_omicron, 0x03CC, +GDK_KEY_Greek_upsilon, 0x03CD, +GDK_KEY_Greek_omega, 0x03CE, +GDK_KEY_dead_acute, 0x00B4, +GDK_KEY_dead_stroke, GDK_KEY_O, 0x01FE, +GDK_KEY_dead_stroke, GDK_KEY_o, 0x01FF, +GDK_KEY_dead_diaeresis, GDK_KEY_space, 0x0385, +GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0C, +GDK_KEY_dead_psili, GDK_KEY_Greek_EPSILON, 0x1F1C, +GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2C, +GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3C, +GDK_KEY_dead_psili, GDK_KEY_Greek_OMICRON, 0x1F4C, +GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6C, +GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F04, +GDK_KEY_dead_psili, GDK_KEY_Greek_epsilon, 0x1F14, +GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F24, +GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F34, +GDK_KEY_dead_psili, GDK_KEY_Greek_omicron, 0x1F44, +GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F54, +GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F64, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_EPSILON, 0x1F1D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_OMICRON, 0x1F4D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6D, +GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F05, +GDK_KEY_dead_dasia, GDK_KEY_Greek_epsilon, 0x1F15, +GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F25, +GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F35, +GDK_KEY_dead_dasia, GDK_KEY_Greek_omicron, 0x1F45, +GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F55, +GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F65, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_I, 0x1E2E, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D7, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_i, 0x1E2F, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_u, 0x01D8, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F1D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMICRON, 0x1F4D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6D, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F05, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_epsilon, 0x1F15, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F25, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F35, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omicron, 0x1F45, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F55, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F65, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0C, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_EPSILON, 0x1F1C, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2C, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3C, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMICRON, 0x1F4C, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6C, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F04, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_epsilon, 0x1F14, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F24, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F34, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omicron, 0x1F44, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F54, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F64, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_O, 0x1EDA, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_U, 0x1EE8, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_o, 0x1EDB, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_u, 0x1EE9, +GDK_KEY_Multi_key, GDK_KEY_comma, GDK_KEY_C, 0x1E08, +GDK_KEY_Multi_key, GDK_KEY_comma, GDK_KEY_c, 0x1E09, +GDK_KEY_Multi_key, GDK_KEY_slash, GDK_KEY_O, 0x01FE, +GDK_KEY_Multi_key, GDK_KEY_slash, GDK_KEY_o, 0x01FF, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_A, 0x1EAE, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_a, 0x1EAF, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA4, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EBE, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED0, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA5, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EBF, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED1, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_E, 0x1E16, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_O, 0x1E52, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_e, 0x1E17, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_o, 0x1E53, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_A, 0x1EAE, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_a, 0x1EAF, +GDK_KEY_Multi_key, GDK_KEY_o, GDK_KEY_A, 0x01FA, +GDK_KEY_Multi_key, GDK_KEY_o, GDK_KEY_a, 0x01FB, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_O, 0x1E4C, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_U, 0x1E78, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_o, 0x1E4D, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_u, 0x1E79, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_E, 0x1E16, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_O, 0x1E52, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_e, 0x1E17, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_o, 0x1E53, +GDK_KEY_Multi_key, GDK_KEY_cedilla, GDK_KEY_C, 0x1E08, +GDK_KEY_Multi_key, GDK_KEY_cedilla, GDK_KEY_c, 0x1E09, +GDK_KEY_Multi_key, GDK_KEY_KP_Divide, GDK_KEY_O, 0x01FE, +GDK_KEY_Multi_key, GDK_KEY_KP_Divide, GDK_KEY_o, 0x01FF, +GDK_KEY_space, 0x005E, +GDK_KEY_parenleft, 0x207D, +GDK_KEY_parenright, 0x207E, +GDK_KEY_plus, 0x207A, +GDK_KEY_minus, 0x207B, +GDK_KEY_0, 0x2070, +GDK_KEY_1, 0x00B9, +GDK_KEY_2, 0x00B2, +GDK_KEY_3, 0x00B3, +GDK_KEY_4, 0x2074, +GDK_KEY_5, 0x2075, +GDK_KEY_6, 0x2076, +GDK_KEY_7, 0x2077, +GDK_KEY_8, 0x2078, +GDK_KEY_9, 0x2079, +GDK_KEY_equal, 0x207C, +GDK_KEY_nobreakspace, 0x0302, +GDK_KEY_Agrave, 0x1EA6, +GDK_KEY_Aacute, 0x1EA4, +GDK_KEY_Atilde, 0x1EAA, +GDK_KEY_Egrave, 0x1EC0, +GDK_KEY_Eacute, 0x1EBE, +GDK_KEY_Ograve, 0x1ED2, +GDK_KEY_Oacute, 0x1ED0, +GDK_KEY_Otilde, 0x1ED6, +GDK_KEY_agrave, 0x1EA7, +GDK_KEY_aacute, 0x1EA5, +GDK_KEY_atilde, 0x1EAB, +GDK_KEY_egrave, 0x1EC1, +GDK_KEY_eacute, 0x1EBF, +GDK_KEY_ograve, 0x1ED3, +GDK_KEY_oacute, 0x1ED1, +GDK_KEY_otilde, 0x1ED7, +0x2212, 0x207B, +0x4E00, 0x3192, +0x4E01, 0x319C, +0x4E09, 0x3194, +0x4E0A, 0x3196, +0x4E0B, 0x3198, +0x4E19, 0x319B, +0x4E2D, 0x3197, +0x4E59, 0x319A, +0x4E8C, 0x3193, +0x4EBA, 0x319F, +0x56DB, 0x3195, +0x5730, 0x319E, +0x5929, 0x319D, +0x7532, 0x3199, +GDK_KEY_dead_circumflex, 0x005E, +GDK_KEY_KP_Space, 0x00B2, +GDK_KEY_KP_Add, 0x207A, +GDK_KEY_KP_0, 0x2070, +GDK_KEY_KP_1, 0x00B9, +GDK_KEY_KP_2, 0x00B2, +GDK_KEY_KP_3, 0x00B3, +GDK_KEY_KP_4, 0x2074, +GDK_KEY_KP_5, 0x2075, +GDK_KEY_KP_6, 0x2076, +GDK_KEY_KP_7, 0x2077, +GDK_KEY_KP_8, 0x2078, +GDK_KEY_KP_9, 0x2079, +GDK_KEY_KP_Equal, 0x207C, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_A, 0x1EAC, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_E, 0x1EC6, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_O, 0x1ED8, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_a, 0x1EAD, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_e, 0x1EC7, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_o, 0x1ED9, +GDK_KEY_Multi_key, GDK_KEY_S, GDK_KEY_M, 0x2120, +GDK_KEY_Multi_key, GDK_KEY_S, GDK_KEY_m, 0x2120, +GDK_KEY_Multi_key, GDK_KEY_T, GDK_KEY_M, 0x2122, +GDK_KEY_Multi_key, GDK_KEY_T, GDK_KEY_m, 0x2122, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_a, 0x00AA, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_h, 0x02B0, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_i, 0x2071, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_j, 0x02B2, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_l, 0x02E1, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_n, 0x207F, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_o, 0x00BA, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_r, 0x02B3, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_s, 0x02E2, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_w, 0x02B7, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_x, 0x02E3, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_y, 0x02B8, +GDK_KEY_Multi_key, GDK_KEY_underscore, 0x0263, 0x02E0, +GDK_KEY_Multi_key, GDK_KEY_underscore, 0x0266, 0x02B1, +GDK_KEY_Multi_key, GDK_KEY_underscore, 0x0279, 0x02B4, +GDK_KEY_Multi_key, GDK_KEY_underscore, 0x027B, 0x02B5, +GDK_KEY_Multi_key, GDK_KEY_underscore, 0x0281, 0x02B6, +GDK_KEY_Multi_key, GDK_KEY_underscore, 0x0295, 0x02E4, +GDK_KEY_Multi_key, GDK_KEY_s, GDK_KEY_M, 0x2120, +GDK_KEY_Multi_key, GDK_KEY_s, GDK_KEY_m, 0x2120, +GDK_KEY_Multi_key, GDK_KEY_t, GDK_KEY_M, 0x2122, +GDK_KEY_Multi_key, GDK_KEY_t, GDK_KEY_m, 0x2122, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_a, 0x00AA, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_h, 0x02B0, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_i, 0x2071, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_j, 0x02B2, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_l, 0x02E1, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_n, 0x207F, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_o, 0x00BA, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_r, 0x02B3, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_s, 0x02E2, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_w, 0x02B7, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_x, 0x02E3, +GDK_KEY_Multi_key, GDK_KEY_underbar, GDK_KEY_y, 0x02B8, +GDK_KEY_Multi_key, GDK_KEY_underbar, 0x0263, 0x02E0, +GDK_KEY_Multi_key, GDK_KEY_underbar, 0x0266, 0x02B1, +GDK_KEY_Multi_key, GDK_KEY_underbar, 0x0279, 0x02B4, +GDK_KEY_Multi_key, GDK_KEY_underbar, 0x027B, 0x02B5, +GDK_KEY_Multi_key, GDK_KEY_underbar, 0x0281, 0x02B6, +GDK_KEY_Multi_key, GDK_KEY_underbar, 0x0295, 0x02E4, +GDK_KEY_space, 0x007E, +GDK_KEY_less, 0x2272, +GDK_KEY_equal, 0x2243, +GDK_KEY_greater, 0x2273, +GDK_KEY_nobreakspace, 0x0303, +GDK_KEY_Oacute, 0x1E4C, +GDK_KEY_Odiaeresis, 0x1E4E, +GDK_KEY_Uacute, 0x1E78, +GDK_KEY_oacute, 0x1E4D, +GDK_KEY_odiaeresis, 0x1E4F, +GDK_KEY_uacute, 0x1E79, +GDK_KEY_Abreve, 0x1EB4, +GDK_KEY_abreve, 0x1EB5, +GDK_KEY_Omacron, 0x022C, +GDK_KEY_omacron, 0x022D, +GDK_KEY_Greek_iotadieresis, 0x1FD7, +GDK_KEY_Greek_upsilondieresis, 0x1FE7, +GDK_KEY_Greek_alpha, 0x1FB6, +GDK_KEY_Greek_eta, 0x1FC6, +GDK_KEY_Greek_iota, 0x1FD6, +GDK_KEY_Greek_upsilon, 0x1FE6, +GDK_KEY_Greek_omega, 0x1FF6, +0x1F00, 0x1F06, +0x1F01, 0x1F07, +0x1F08, 0x1F0E, +0x1F09, 0x1F0F, +0x1F20, 0x1F26, +0x1F21, 0x1F27, +0x1F28, 0x1F2E, +0x1F29, 0x1F2F, +0x1F30, 0x1F36, +0x1F31, 0x1F37, +0x1F38, 0x1F3E, +0x1F39, 0x1F3F, +0x1F50, 0x1F56, +0x1F51, 0x1F57, +0x1F59, 0x1F5F, +0x1F60, 0x1F66, +0x1F61, 0x1F67, +0x1F68, 0x1F6E, +0x1F69, 0x1F6F, +GDK_KEY_dead_tilde, 0x007E, +GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD7, +GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE7, +GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0E, +GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2E, +GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3E, +GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6E, +GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F06, +GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F26, +GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F36, +GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F56, +GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F66, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0F, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2F, +GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3F, +GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5F, +GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6F, +GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F07, +GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F27, +GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F37, +GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F57, +GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F67, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x1FD7, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x1FE7, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0F, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2F, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3F, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5F, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6F, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F07, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F27, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F37, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F57, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F67, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0E, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2E, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3E, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6E, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F06, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F26, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F36, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F56, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F66, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_O, 0x1EE0, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_U, 0x1EEE, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_o, 0x1EE1, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_u, 0x1EEF, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_A, 0x1EB4, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_a, 0x1EB5, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EAA, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EC4, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED6, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EAB, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EC5, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED7, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_A, 0x1EB4, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_a, 0x1EB5, +GDK_KEY_space, 0x00AF, +GDK_KEY_V, 0x01D5, +GDK_KEY_v, 0x01D6, +GDK_KEY_nobreakspace, 0x0304, +GDK_KEY_Egrave, 0x1E14, +GDK_KEY_Eacute, 0x1E16, +GDK_KEY_Ograve, 0x1E50, +GDK_KEY_Oacute, 0x1E52, +GDK_KEY_egrave, 0x1E15, +GDK_KEY_eacute, 0x1E17, +GDK_KEY_ograve, 0x1E51, +GDK_KEY_oacute, 0x1E53, +GDK_KEY_Cyrillic_i, 0x04E3, +GDK_KEY_Cyrillic_u, 0x04EF, +GDK_KEY_Cyrillic_I, 0x04E2, +GDK_KEY_Cyrillic_U, 0x04EE, +GDK_KEY_Greek_ALPHA, 0x1FB9, +GDK_KEY_Greek_IOTA, 0x1FD9, +GDK_KEY_Greek_UPSILON, 0x1FE9, +GDK_KEY_Greek_alpha, 0x1FB1, +GDK_KEY_Greek_iota, 0x1FD1, +GDK_KEY_Greek_upsilon, 0x1FE1, +GDK_KEY_dead_macron, 0x00AF, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_L, 0x1E38, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_R, 0x1E5C, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_l, 0x1E39, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_r, 0x1E5D, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_A, 0x01DE, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_O, 0x022A, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D5, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_a, 0x01DF, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_o, 0x022B, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_u, 0x01D6, +GDK_KEY_Multi_key, GDK_KEY_period, GDK_KEY_A, 0x01E0, +GDK_KEY_Multi_key, GDK_KEY_period, GDK_KEY_O, 0x0230, +GDK_KEY_Multi_key, GDK_KEY_period, GDK_KEY_a, 0x01E1, +GDK_KEY_Multi_key, GDK_KEY_period, GDK_KEY_o, 0x0231, +GDK_KEY_Multi_key, GDK_KEY_semicolon, GDK_KEY_O, 0x01EC, +GDK_KEY_Multi_key, GDK_KEY_semicolon, GDK_KEY_o, 0x01ED, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_O, 0x022C, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_o, 0x022D, +GDK_KEY_space, 0x02D8, +GDK_KEY_nobreakspace, 0x0306, +GDK_KEY_Agrave, 0x1EB0, +GDK_KEY_Aacute, 0x1EAE, +GDK_KEY_Atilde, 0x1EB4, +GDK_KEY_agrave, 0x1EB1, +GDK_KEY_aacute, 0x1EAF, +GDK_KEY_atilde, 0x1EB5, +GDK_KEY_Cyrillic_a, 0x04D1, +GDK_KEY_Cyrillic_ie, 0x04D7, +GDK_KEY_Cyrillic_i, 0x0439, +GDK_KEY_Cyrillic_u, 0x045E, +GDK_KEY_Cyrillic_zhe, 0x04C2, +GDK_KEY_Cyrillic_A, 0x04D0, +GDK_KEY_Cyrillic_IE, 0x04D6, +GDK_KEY_Cyrillic_I, 0x0419, +GDK_KEY_Cyrillic_U, 0x040E, +GDK_KEY_Cyrillic_ZHE, 0x04C1, +GDK_KEY_Greek_ALPHA, 0x1FB8, +GDK_KEY_Greek_IOTA, 0x1FD8, +GDK_KEY_Greek_UPSILON, 0x1FE8, +GDK_KEY_Greek_alpha, 0x1FB0, +GDK_KEY_Greek_iota, 0x1FD0, +GDK_KEY_Greek_upsilon, 0x1FE0, +GDK_KEY_dead_breve, 0x02D8, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_A, 0x1EB6, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_a, 0x1EB7, +GDK_KEY_Multi_key, GDK_KEY_comma, GDK_KEY_E, 0x1E1C, +GDK_KEY_Multi_key, GDK_KEY_comma, GDK_KEY_e, 0x1E1D, +GDK_KEY_Multi_key, GDK_KEY_cedilla, GDK_KEY_E, 0x1E1C, +GDK_KEY_Multi_key, GDK_KEY_cedilla, GDK_KEY_e, 0x1E1D, +GDK_KEY_space, 0x02D9, +GDK_KEY_L, 0x013F, +GDK_KEY_i, 0x0131, +GDK_KEY_j, 0x0237, +GDK_KEY_l, 0x0140, +GDK_KEY_nobreakspace, 0x0307, +GDK_KEY_Sacute, 0x1E64, +GDK_KEY_Scaron, 0x1E66, +GDK_KEY_sacute, 0x1E65, +GDK_KEY_scaron, 0x1E67, +GDK_KEY_Amacron, 0x01E0, +GDK_KEY_Omacron, 0x0230, +GDK_KEY_amacron, 0x01E1, +GDK_KEY_omacron, 0x0231, +GDK_KEY_dead_abovedot, 0x02D9, +GDK_KEY_dead_stroke, GDK_KEY_j, 0x025F, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_S, 0x1E68, +GDK_KEY_Multi_key, GDK_KEY_exclam, GDK_KEY_s, 0x1E69, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_S, 0x1E64, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_s, 0x1E65, +GDK_KEY_Multi_key, GDK_KEY_c, GDK_KEY_S, 0x1E66, +GDK_KEY_Multi_key, GDK_KEY_c, GDK_KEY_s, 0x1E67, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_S, 0x1E64, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_s, 0x1E65, +GDK_KEY_space, 0x0022, +GDK_KEY_apostrophe, 0x0344, +GDK_KEY_nobreakspace, 0x0308, +GDK_KEY_acute, 0x0344, +GDK_KEY_Iacute, 0x1E2E, +GDK_KEY_Ugrave, 0x01DB, +GDK_KEY_Uacute, 0x01D7, +GDK_KEY_iacute, 0x1E2F, +GDK_KEY_ugrave, 0x01DC, +GDK_KEY_uacute, 0x01D8, +0x01D3, 0x01D9, +0x01D4, 0x01DA, +GDK_KEY_Amacron, 0x01DE, +GDK_KEY_Umacron, 0x1E7A, +GDK_KEY_amacron, 0x01DF, +GDK_KEY_omacron, 0x022B, +GDK_KEY_umacron, 0x1E7B, +GDK_KEY_Ukrainian_i, 0x0457, +GDK_KEY_Ukrainian_I, 0x0407, +GDK_KEY_Cyrillic_a, 0x04D3, +GDK_KEY_Cyrillic_ie, 0x0451, +GDK_KEY_Cyrillic_i, 0x04E5, +GDK_KEY_Cyrillic_o, 0x04E7, +GDK_KEY_Cyrillic_u, 0x04F1, +GDK_KEY_Cyrillic_zhe, 0x04DD, +GDK_KEY_Cyrillic_yeru, 0x04F9, +GDK_KEY_Cyrillic_ze, 0x04DF, +GDK_KEY_Cyrillic_e, 0x04ED, +GDK_KEY_Cyrillic_che, 0x04F5, +GDK_KEY_Cyrillic_A, 0x04D2, +GDK_KEY_Cyrillic_IE, 0x0401, +GDK_KEY_Cyrillic_I, 0x04E4, +GDK_KEY_Cyrillic_O, 0x04E6, +GDK_KEY_Cyrillic_U, 0x04F0, +GDK_KEY_Cyrillic_ZHE, 0x04DC, +GDK_KEY_Cyrillic_YERU, 0x04F8, +GDK_KEY_Cyrillic_ZE, 0x04DE, +GDK_KEY_Cyrillic_E, 0x04EC, +GDK_KEY_Cyrillic_CHE, 0x04F4, +GDK_KEY_Greek_IOTA, 0x03AA, +GDK_KEY_Greek_UPSILON, 0x03AB, +GDK_KEY_Greek_iota, 0x03CA, +GDK_KEY_Greek_upsilon, 0x03CB, +GDK_KEY_dead_diaeresis, 0x00A8, +GDK_KEY_dead_acute, GDK_KEY_space, 0x0385, +GDK_KEY_dead_acute, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_dead_acute, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_U, 0x1E7A, +GDK_KEY_Multi_key, GDK_KEY_underscore, GDK_KEY_u, 0x1E7B, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_O, 0x1E4E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_o, 0x1E4F, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_U, 0x1E7A, +GDK_KEY_Multi_key, GDK_KEY_macron, GDK_KEY_u, 0x1E7B, +GDK_KEY_space, 0x00B0, +GDK_KEY_nobreakspace, 0x030A, +GDK_KEY_Aacute, 0x01FA, +GDK_KEY_aacute, 0x01FB, +GDK_KEY_dead_abovering, 0x00B0, +GDK_KEY_space, 0x02DD, +GDK_KEY_nobreakspace, 0x030B, +GDK_KEY_Cyrillic_u, 0x04F3, +GDK_KEY_Cyrillic_U, 0x04F2, +GDK_KEY_dead_doubleacute, 0x02DD, +GDK_KEY_space, 0x02C7, +GDK_KEY_parenleft, 0x208D, +GDK_KEY_parenright, 0x208E, +GDK_KEY_plus, 0x208A, +GDK_KEY_minus, 0x208B, +GDK_KEY_0, 0x2080, +GDK_KEY_1, 0x2081, +GDK_KEY_2, 0x2082, +GDK_KEY_3, 0x2083, +GDK_KEY_4, 0x2084, +GDK_KEY_5, 0x2085, +GDK_KEY_6, 0x2086, +GDK_KEY_7, 0x2087, +GDK_KEY_8, 0x2088, +GDK_KEY_9, 0x2089, +GDK_KEY_equal, 0x208C, +GDK_KEY_V, 0x01D9, +GDK_KEY_v, 0x01DA, +GDK_KEY_nobreakspace, 0x030C, +0x01F2, 0x01C5, +GDK_KEY_dead_caron, 0x02C7, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D9, +GDK_KEY_Multi_key, GDK_KEY_quotedbl, GDK_KEY_u, 0x01DA, +GDK_KEY_space, 0x00B8, +GDK_KEY_nobreakspace, 0x0327, +GDK_KEY_cent, 0x20B5, +GDK_KEY_Cacute, 0x1E08, +GDK_KEY_cacute, 0x1E09, +GDK_KEY_dead_cedilla, 0x00B8, +GDK_KEY_space, 0x02DB, +GDK_KEY_nobreakspace, 0x0328, +GDK_KEY_Omacron, 0x01EC, +GDK_KEY_omacron, 0x01ED, +GDK_KEY_dead_ogonek, 0x02DB, +GDK_KEY_space, 0x037A, +GDK_KEY_Greek_alphaaccent, 0x1FB4, +GDK_KEY_Greek_etaaccent, 0x1FC4, +GDK_KEY_Greek_omegaaccent, 0x1FF4, +GDK_KEY_Greek_ALPHA, 0x1FBC, +GDK_KEY_Greek_ETA, 0x1FCC, +GDK_KEY_Greek_OMEGA, 0x1FFC, +GDK_KEY_Greek_alpha, 0x1FB3, +GDK_KEY_Greek_eta, 0x1FC3, +GDK_KEY_Greek_omega, 0x1FF3, +GDK_KEY_dead_iota, 0x037A, +GDK_KEY_dead_grave, GDK_KEY_Greek_alpha, 0x1FB2, +GDK_KEY_dead_grave, GDK_KEY_Greek_eta, 0x1FC2, +GDK_KEY_dead_grave, GDK_KEY_Greek_omega, 0x1FF2, +GDK_KEY_dead_acute, GDK_KEY_Greek_alpha, 0x1FB4, +GDK_KEY_dead_acute, GDK_KEY_Greek_eta, 0x1FC4, +GDK_KEY_dead_acute, GDK_KEY_Greek_omega, 0x1FF4, +GDK_KEY_dead_tilde, GDK_KEY_Greek_alpha, 0x1FB7, +GDK_KEY_dead_tilde, GDK_KEY_Greek_eta, 0x1FC7, +GDK_KEY_dead_tilde, GDK_KEY_Greek_omega, 0x1FF7, +GDK_KEY_dead_tilde, 0x1F00, 0x1F86, +GDK_KEY_dead_tilde, 0x1F01, 0x1F87, +GDK_KEY_dead_tilde, 0x1F08, 0x1F8E, +GDK_KEY_dead_tilde, 0x1F09, 0x1F8F, +GDK_KEY_dead_tilde, 0x1F20, 0x1F96, +GDK_KEY_dead_tilde, 0x1F21, 0x1F97, +GDK_KEY_dead_tilde, 0x1F28, 0x1F9E, +GDK_KEY_dead_tilde, 0x1F29, 0x1F9F, +GDK_KEY_dead_tilde, 0x1F60, 0x1FA6, +GDK_KEY_dead_tilde, 0x1F61, 0x1FA7, +GDK_KEY_dead_tilde, 0x1F68, 0x1FAE, +GDK_KEY_dead_tilde, 0x1F69, 0x1FAF, +GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F88, +GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F98, +GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FA8, +GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F80, +GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F90, +GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA0, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F89, +GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F99, +GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FA9, +GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F81, +GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F91, +GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA1, +GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_Greek_alpha, 0x1FB4, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_Greek_eta, 0x1FC4, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_Greek_omega, 0x1FF4, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F00, 0x1F84, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F01, 0x1F85, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F08, 0x1F8C, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F09, 0x1F8D, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F20, 0x1F94, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F21, 0x1F95, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F28, 0x1F9C, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F29, 0x1F9D, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F60, 0x1FA4, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F61, 0x1FA5, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F68, 0x1FAC, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, 0x1F69, 0x1FAD, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F89, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F99, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FA9, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F81, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F91, +GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA1, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F88, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F98, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FA8, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F80, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F90, +GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA0, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_Greek_alpha, 0x1FB2, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_Greek_eta, 0x1FC2, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_Greek_omega, 0x1FF2, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F00, 0x1F82, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F01, 0x1F83, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F08, 0x1F8A, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F09, 0x1F8B, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F20, 0x1F92, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F21, 0x1F93, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F28, 0x1F9A, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F29, 0x1F9B, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F60, 0x1FA2, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F61, 0x1FA3, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F68, 0x1FAA, +GDK_KEY_Multi_key, GDK_KEY_grave, 0x1F69, 0x1FAB, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_Greek_alpha, 0x1FB7, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_Greek_eta, 0x1FC7, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_Greek_omega, 0x1FF7, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F00, 0x1F86, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F01, 0x1F87, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F08, 0x1F8E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F09, 0x1F8F, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F20, 0x1F96, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F21, 0x1F97, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F28, 0x1F9E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F29, 0x1F9F, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F60, 0x1FA6, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F61, 0x1FA7, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F68, 0x1FAE, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, 0x1F69, 0x1FAF, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_Greek_alpha, 0x1FB4, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_Greek_eta, 0x1FC4, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_Greek_omega, 0x1FF4, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F00, 0x1F84, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F01, 0x1F85, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F08, 0x1F8C, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F09, 0x1F8D, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F20, 0x1F94, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F21, 0x1F95, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F28, 0x1F9C, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F29, 0x1F9D, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F60, 0x1FA4, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F61, 0x1FA5, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F68, 0x1FAC, +GDK_KEY_Multi_key, GDK_KEY_acute, 0x1F69, 0x1FAD, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_dead_grave, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_dead_acute, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_dead_tilde, GDK_KEY_Multi_key, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Multi_key, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_Multi_key, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_Multi_key, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Multi_key, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_kana_WO, 0x30FA, +GDK_KEY_kana_U, 0x30F4, +GDK_KEY_kana_KA, 0x30AC, +GDK_KEY_kana_KI, 0x30AE, +GDK_KEY_kana_KU, 0x30B0, +GDK_KEY_kana_KE, 0x30B2, +GDK_KEY_kana_KO, 0x30B4, +GDK_KEY_kana_SA, 0x30B6, +GDK_KEY_kana_SHI, 0x30B8, +GDK_KEY_kana_SU, 0x30BA, +GDK_KEY_kana_SE, 0x30BC, +GDK_KEY_kana_SO, 0x30BE, +GDK_KEY_kana_TA, 0x30C0, +GDK_KEY_kana_CHI, 0x30C2, +GDK_KEY_kana_TSU, 0x30C5, +GDK_KEY_kana_TE, 0x30C7, +GDK_KEY_kana_TO, 0x30C9, +GDK_KEY_kana_HA, 0x30D0, +GDK_KEY_kana_HI, 0x30D3, +GDK_KEY_kana_FU, 0x30D6, +GDK_KEY_kana_HE, 0x30D9, +GDK_KEY_kana_HO, 0x30DC, +GDK_KEY_kana_WA, 0x30F7, +GDK_KEY_kana_HA, 0x30D1, +GDK_KEY_kana_HI, 0x30D4, +GDK_KEY_kana_FU, 0x30D7, +GDK_KEY_kana_HE, 0x30DA, +GDK_KEY_kana_HO, 0x30DD, +GDK_KEY_space, 0x0323, +GDK_KEY_plus, 0x2A25, +GDK_KEY_minus, 0x2A2A, +GDK_KEY_equal, 0x2A66, +GDK_KEY_nobreakspace, 0x0323, +GDK_KEY_Abreve, 0x1EB6, +GDK_KEY_abreve, 0x1EB7, +GDK_KEY_dead_belowdot, 0x0323, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_O, 0x1EE2, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_U, 0x1EF0, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_o, 0x1EE3, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_u, 0x1EF1, +GDK_KEY_space, 0x0309, +GDK_KEY_B, 0x0181, +GDK_KEY_C, 0x0187, +GDK_KEY_D, 0x018A, +GDK_KEY_F, 0x0191, +GDK_KEY_G, 0x0193, +GDK_KEY_K, 0x0198, +GDK_KEY_M, 0x2C6E, +GDK_KEY_N, 0x019D, +GDK_KEY_P, 0x01A4, +GDK_KEY_T, 0x01AC, +GDK_KEY_V, 0x01B2, +GDK_KEY_W, 0x2C72, +GDK_KEY_Z, 0x0224, +GDK_KEY_b, 0x0253, +GDK_KEY_c, 0x0188, +GDK_KEY_d, 0x0257, +GDK_KEY_f, 0x0192, +GDK_KEY_g, 0x0260, +GDK_KEY_h, 0x0266, +GDK_KEY_k, 0x0199, +GDK_KEY_m, 0x0271, +GDK_KEY_n, 0x0272, +GDK_KEY_p, 0x01A5, +GDK_KEY_q, 0x02A0, +GDK_KEY_s, 0x0282, +GDK_KEY_t, 0x01AD, +GDK_KEY_v, 0x028B, +GDK_KEY_w, 0x2C73, +GDK_KEY_z, 0x0225, +GDK_KEY_nobreakspace, 0x0309, +GDK_KEY_Abreve, 0x1EB2, +GDK_KEY_abreve, 0x1EB3, +0x0256, 0x1D91, +0x025C, 0x025D, +0x025F, 0x0284, +0x0279, 0x027B, +GDK_KEY_dead_hook, 0x0309, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_O, 0x1EDE, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_U, 0x1EEC, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_o, 0x1EDF, +GDK_KEY_Multi_key, GDK_KEY_plus, GDK_KEY_u, 0x1EED, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_A, 0x1EB2, +GDK_KEY_Multi_key, GDK_KEY_U, GDK_KEY_a, 0x1EB3, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA8, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EC2, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED4, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA9, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EC3, +GDK_KEY_Multi_key, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED5, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_A, 0x1EB2, +GDK_KEY_Multi_key, GDK_KEY_b, GDK_KEY_a, 0x1EB3, +GDK_KEY_space, 0x031B, +GDK_KEY_nobreakspace, 0x031B, +GDK_KEY_Utilde, 0x1EEE, +GDK_KEY_utilde, 0x1EEF, +GDK_KEY_dead_horn, 0x031B, +GDK_KEY_Greek_ALPHA, 0x1F08, +GDK_KEY_Greek_EPSILON, 0x1F18, +GDK_KEY_Greek_ETA, 0x1F28, +GDK_KEY_Greek_IOTA, 0x1F38, +GDK_KEY_Greek_OMICRON, 0x1F48, +GDK_KEY_Greek_OMEGA, 0x1F68, +GDK_KEY_Greek_alpha, 0x1F00, +GDK_KEY_Greek_epsilon, 0x1F10, +GDK_KEY_Greek_eta, 0x1F20, +GDK_KEY_Greek_iota, 0x1F30, +GDK_KEY_Greek_omicron, 0x1F40, +GDK_KEY_Greek_rho, 0x1FE4, +GDK_KEY_Greek_upsilon, 0x1F50, +GDK_KEY_Greek_omega, 0x1F60, +GDK_KEY_Greek_ALPHA, 0x1F09, +GDK_KEY_Greek_EPSILON, 0x1F19, +GDK_KEY_Greek_ETA, 0x1F29, +GDK_KEY_Greek_IOTA, 0x1F39, +GDK_KEY_Greek_OMICRON, 0x1F49, +GDK_KEY_Greek_RHO, 0x1FEC, +GDK_KEY_Greek_UPSILON, 0x1F59, +GDK_KEY_Greek_OMEGA, 0x1F69, +GDK_KEY_Greek_alpha, 0x1F01, +GDK_KEY_Greek_epsilon, 0x1F11, +GDK_KEY_Greek_eta, 0x1F21, +GDK_KEY_Greek_iota, 0x1F31, +GDK_KEY_Greek_omicron, 0x1F41, +GDK_KEY_Greek_rho, 0x1FE5, +GDK_KEY_Greek_upsilon, 0x1F51, +GDK_KEY_Greek_omega, 0x1F61, +GDK_KEY_space, GDK_KEY_space, 0x00A0, +GDK_KEY_space, GDK_KEY_apostrophe, 0x0027, +GDK_KEY_space, GDK_KEY_parenleft, 0x02D8, +GDK_KEY_space, GDK_KEY_comma, 0x00B8, +GDK_KEY_space, GDK_KEY_minus, 0x007E, +GDK_KEY_space, GDK_KEY_period, 0x2008, +GDK_KEY_space, GDK_KEY_less, 0x02C7, +GDK_KEY_space, GDK_KEY_greater, 0x005E, +GDK_KEY_space, GDK_KEY_asciicircum, 0x005E, +GDK_KEY_space, GDK_KEY_grave, 0x0060, +GDK_KEY_space, GDK_KEY_asciitilde, 0x007E, +GDK_KEY_exclam, GDK_KEY_exclam, 0x00A1, +GDK_KEY_exclam, GDK_KEY_question, 0x203D, +GDK_KEY_exclam, GDK_KEY_A, 0x1EA0, +GDK_KEY_exclam, GDK_KEY_B, 0x1E04, +GDK_KEY_exclam, GDK_KEY_D, 0x1E0C, +GDK_KEY_exclam, GDK_KEY_E, 0x1EB8, +GDK_KEY_exclam, GDK_KEY_H, 0x1E24, +GDK_KEY_exclam, GDK_KEY_I, 0x1ECA, +GDK_KEY_exclam, GDK_KEY_K, 0x1E32, +GDK_KEY_exclam, GDK_KEY_L, 0x1E36, +GDK_KEY_exclam, GDK_KEY_M, 0x1E42, +GDK_KEY_exclam, GDK_KEY_N, 0x1E46, +GDK_KEY_exclam, GDK_KEY_O, 0x1ECC, +GDK_KEY_exclam, GDK_KEY_P, 0x00B6, +GDK_KEY_exclam, GDK_KEY_R, 0x1E5A, +GDK_KEY_exclam, GDK_KEY_S, 0x1E62, +GDK_KEY_exclam, GDK_KEY_T, 0x1E6C, +GDK_KEY_exclam, GDK_KEY_U, 0x1EE4, +GDK_KEY_exclam, GDK_KEY_V, 0x1E7E, +GDK_KEY_exclam, GDK_KEY_W, 0x1E88, +GDK_KEY_exclam, GDK_KEY_Y, 0x1EF4, +GDK_KEY_exclam, GDK_KEY_Z, 0x1E92, +GDK_KEY_exclam, GDK_KEY_asciicircum, 0x00A6, +GDK_KEY_exclam, GDK_KEY_a, 0x1EA1, +GDK_KEY_exclam, GDK_KEY_b, 0x1E05, +GDK_KEY_exclam, GDK_KEY_d, 0x1E0D, +GDK_KEY_exclam, GDK_KEY_e, 0x1EB9, +GDK_KEY_exclam, GDK_KEY_h, 0x1E25, +GDK_KEY_exclam, GDK_KEY_i, 0x1ECB, +GDK_KEY_exclam, GDK_KEY_k, 0x1E33, +GDK_KEY_exclam, GDK_KEY_l, 0x1E37, +GDK_KEY_exclam, GDK_KEY_m, 0x1E43, +GDK_KEY_exclam, GDK_KEY_n, 0x1E47, +GDK_KEY_exclam, GDK_KEY_o, 0x1ECD, +GDK_KEY_exclam, GDK_KEY_p, 0x00B6, +GDK_KEY_exclam, GDK_KEY_r, 0x1E5B, +GDK_KEY_exclam, GDK_KEY_s, 0x1E63, +GDK_KEY_exclam, GDK_KEY_t, 0x1E6D, +GDK_KEY_exclam, GDK_KEY_u, 0x1EE5, +GDK_KEY_exclam, GDK_KEY_v, 0x1E7F, +GDK_KEY_exclam, GDK_KEY_w, 0x1E89, +GDK_KEY_exclam, GDK_KEY_y, 0x1EF5, +GDK_KEY_exclam, GDK_KEY_z, 0x1E93, +GDK_KEY_quotedbl, GDK_KEY_quotedbl, 0x00A8, +GDK_KEY_quotedbl, GDK_KEY_apostrophe, 0x0344, +GDK_KEY_quotedbl, GDK_KEY_comma, 0x201E, +GDK_KEY_quotedbl, GDK_KEY_slash, 0x301E, +GDK_KEY_quotedbl, GDK_KEY_less, 0x201C, +GDK_KEY_quotedbl, GDK_KEY_greater, 0x201D, +GDK_KEY_quotedbl, GDK_KEY_A, 0x00C4, +GDK_KEY_quotedbl, GDK_KEY_E, 0x00CB, +GDK_KEY_quotedbl, GDK_KEY_H, 0x1E26, +GDK_KEY_quotedbl, GDK_KEY_I, 0x00CF, +GDK_KEY_quotedbl, GDK_KEY_O, 0x00D6, +GDK_KEY_quotedbl, GDK_KEY_U, 0x00DC, +GDK_KEY_quotedbl, GDK_KEY_W, 0x1E84, +GDK_KEY_quotedbl, GDK_KEY_X, 0x1E8C, +GDK_KEY_quotedbl, GDK_KEY_Y, 0x0178, +GDK_KEY_quotedbl, GDK_KEY_backslash, 0x301D, +GDK_KEY_quotedbl, GDK_KEY_a, 0x00E4, +GDK_KEY_quotedbl, GDK_KEY_e, 0x00EB, +GDK_KEY_quotedbl, GDK_KEY_h, 0x1E27, +GDK_KEY_quotedbl, GDK_KEY_i, 0x00EF, +GDK_KEY_quotedbl, GDK_KEY_o, 0x00F6, +GDK_KEY_quotedbl, GDK_KEY_t, 0x1E97, +GDK_KEY_quotedbl, GDK_KEY_u, 0x00FC, +GDK_KEY_quotedbl, GDK_KEY_w, 0x1E85, +GDK_KEY_quotedbl, GDK_KEY_x, 0x1E8D, +GDK_KEY_quotedbl, GDK_KEY_y, 0x00FF, +GDK_KEY_quotedbl, GDK_KEY_acute, 0x0344, +GDK_KEY_quotedbl, GDK_KEY_Otilde, 0x1E4E, +GDK_KEY_quotedbl, GDK_KEY_otilde, 0x1E4F, +GDK_KEY_quotedbl, 0x03D2, 0x03D4, +GDK_KEY_quotedbl, GDK_KEY_Umacron, 0x1E7A, +GDK_KEY_quotedbl, GDK_KEY_umacron, 0x1E7B, +GDK_KEY_quotedbl, 0x04D8, 0x04DA, +GDK_KEY_quotedbl, 0x04D9, 0x04DB, +GDK_KEY_quotedbl, 0x04E8, 0x04EA, +GDK_KEY_quotedbl, 0x04E9, 0x04EB, +GDK_KEY_quotedbl, GDK_KEY_Ukrainian_i, 0x0457, +GDK_KEY_quotedbl, GDK_KEY_Ukrainian_I, 0x0407, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_a, 0x04D3, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_ie, 0x0451, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_i, 0x04E5, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_o, 0x04E7, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_u, 0x04F1, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_zhe, 0x04DD, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_yeru, 0x04F9, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_ze, 0x04DF, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_e, 0x04ED, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_che, 0x04F5, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_A, 0x04D2, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_IE, 0x0401, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_I, 0x04E4, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_O, 0x04E6, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_U, 0x04F0, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_ZHE, 0x04DC, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_YERU, 0x04F8, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_ZE, 0x04DE, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_E, 0x04EC, +GDK_KEY_quotedbl, GDK_KEY_Cyrillic_CHE, 0x04F4, +GDK_KEY_quotedbl, GDK_KEY_Greek_IOTA, 0x03AA, +GDK_KEY_quotedbl, GDK_KEY_Greek_UPSILON, 0x03AB, +GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x03CA, +GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x03CB, +GDK_KEY_quotedbl, GDK_KEY_dead_acute, 0x0344, +GDK_KEY_numbersign, GDK_KEY_numbersign, 0x266F, +GDK_KEY_numbersign, GDK_KEY_b, 0x266D, +GDK_KEY_numbersign, GDK_KEY_f, 0x266E, +GDK_KEY_percent, GDK_KEY_o, 0x2030, +GDK_KEY_apostrophe, GDK_KEY_space, 0x0027, +GDK_KEY_apostrophe, GDK_KEY_apostrophe, 0x00B4, +GDK_KEY_apostrophe, GDK_KEY_comma, 0x201A, +GDK_KEY_apostrophe, GDK_KEY_less, 0x2018, +GDK_KEY_apostrophe, GDK_KEY_greater, 0x2019, +GDK_KEY_apostrophe, GDK_KEY_A, 0x00C1, +GDK_KEY_apostrophe, GDK_KEY_C, 0x0106, +GDK_KEY_apostrophe, GDK_KEY_E, 0x00C9, +GDK_KEY_apostrophe, GDK_KEY_G, 0x01F4, +GDK_KEY_apostrophe, GDK_KEY_I, 0x00CD, +GDK_KEY_apostrophe, GDK_KEY_K, 0x1E30, +GDK_KEY_apostrophe, GDK_KEY_L, 0x0139, +GDK_KEY_apostrophe, GDK_KEY_M, 0x1E3E, +GDK_KEY_apostrophe, GDK_KEY_N, 0x0143, +GDK_KEY_apostrophe, GDK_KEY_O, 0x00D3, +GDK_KEY_apostrophe, GDK_KEY_P, 0x1E54, +GDK_KEY_apostrophe, GDK_KEY_R, 0x0154, +GDK_KEY_apostrophe, GDK_KEY_S, 0x015A, +GDK_KEY_apostrophe, GDK_KEY_U, 0x00DA, +GDK_KEY_apostrophe, GDK_KEY_W, 0x1E82, +GDK_KEY_apostrophe, GDK_KEY_Y, 0x00DD, +GDK_KEY_apostrophe, GDK_KEY_Z, 0x0179, +GDK_KEY_apostrophe, GDK_KEY_a, 0x00E1, +GDK_KEY_apostrophe, GDK_KEY_c, 0x0107, +GDK_KEY_apostrophe, GDK_KEY_e, 0x00E9, +GDK_KEY_apostrophe, GDK_KEY_g, 0x01F5, +GDK_KEY_apostrophe, GDK_KEY_i, 0x00ED, +GDK_KEY_apostrophe, GDK_KEY_k, 0x1E31, +GDK_KEY_apostrophe, GDK_KEY_l, 0x013A, +GDK_KEY_apostrophe, GDK_KEY_m, 0x1E3F, +GDK_KEY_apostrophe, GDK_KEY_n, 0x0144, +GDK_KEY_apostrophe, GDK_KEY_o, 0x00F3, +GDK_KEY_apostrophe, GDK_KEY_p, 0x1E55, +GDK_KEY_apostrophe, GDK_KEY_r, 0x0155, +GDK_KEY_apostrophe, GDK_KEY_s, 0x015B, +GDK_KEY_apostrophe, GDK_KEY_u, 0x00FA, +GDK_KEY_apostrophe, GDK_KEY_w, 0x1E83, +GDK_KEY_apostrophe, GDK_KEY_y, 0x00FD, +GDK_KEY_apostrophe, GDK_KEY_z, 0x017A, +GDK_KEY_apostrophe, GDK_KEY_Acircumflex, 0x1EA4, +GDK_KEY_apostrophe, GDK_KEY_Aring, 0x01FA, +GDK_KEY_apostrophe, GDK_KEY_AE, 0x01FC, +GDK_KEY_apostrophe, GDK_KEY_Ccedilla, 0x1E08, +GDK_KEY_apostrophe, GDK_KEY_Ecircumflex, 0x1EBE, +GDK_KEY_apostrophe, GDK_KEY_Idiaeresis, 0x1E2E, +GDK_KEY_apostrophe, GDK_KEY_Ocircumflex, 0x1ED0, +GDK_KEY_apostrophe, GDK_KEY_Otilde, 0x1E4C, +GDK_KEY_apostrophe, GDK_KEY_Ooblique, 0x01FE, +GDK_KEY_apostrophe, GDK_KEY_Udiaeresis, 0x01D7, +GDK_KEY_apostrophe, GDK_KEY_acircumflex, 0x1EA5, +GDK_KEY_apostrophe, GDK_KEY_aring, 0x01FB, +GDK_KEY_apostrophe, GDK_KEY_ae, 0x01FD, +GDK_KEY_apostrophe, GDK_KEY_ccedilla, 0x1E09, +GDK_KEY_apostrophe, GDK_KEY_ecircumflex, 0x1EBF, +GDK_KEY_apostrophe, GDK_KEY_idiaeresis, 0x1E2F, +GDK_KEY_apostrophe, GDK_KEY_ocircumflex, 0x1ED1, +GDK_KEY_apostrophe, GDK_KEY_otilde, 0x1E4D, +GDK_KEY_apostrophe, GDK_KEY_oslash, 0x01FF, +GDK_KEY_apostrophe, GDK_KEY_udiaeresis, 0x01D8, +GDK_KEY_apostrophe, GDK_KEY_Abreve, 0x1EAE, +GDK_KEY_apostrophe, GDK_KEY_abreve, 0x1EAF, +GDK_KEY_apostrophe, GDK_KEY_Emacron, 0x1E16, +GDK_KEY_apostrophe, GDK_KEY_emacron, 0x1E17, +GDK_KEY_apostrophe, GDK_KEY_Omacron, 0x1E52, +GDK_KEY_apostrophe, GDK_KEY_Utilde, 0x1E78, +GDK_KEY_apostrophe, GDK_KEY_omacron, 0x1E53, +GDK_KEY_apostrophe, GDK_KEY_utilde, 0x1E79, +GDK_KEY_apostrophe, GDK_KEY_Cyrillic_ghe, 0x0453, +GDK_KEY_apostrophe, GDK_KEY_Cyrillic_ka, 0x045C, +GDK_KEY_apostrophe, GDK_KEY_Cyrillic_GHE, 0x0403, +GDK_KEY_apostrophe, GDK_KEY_Cyrillic_KA, 0x040C, +GDK_KEY_apostrophe, GDK_KEY_Greek_iotadieresis, 0x0390, +GDK_KEY_apostrophe, GDK_KEY_Greek_upsilondieresis, 0x03B0, +GDK_KEY_apostrophe, GDK_KEY_Greek_ALPHA, 0x0386, +GDK_KEY_apostrophe, GDK_KEY_Greek_EPSILON, 0x0388, +GDK_KEY_apostrophe, GDK_KEY_Greek_ETA, 0x0389, +GDK_KEY_apostrophe, GDK_KEY_Greek_IOTA, 0x038A, +GDK_KEY_apostrophe, GDK_KEY_Greek_OMICRON, 0x038C, +GDK_KEY_apostrophe, GDK_KEY_Greek_UPSILON, 0x038E, +GDK_KEY_apostrophe, GDK_KEY_Greek_OMEGA, 0x038F, +GDK_KEY_apostrophe, GDK_KEY_Greek_alpha, 0x03AC, +GDK_KEY_apostrophe, GDK_KEY_Greek_epsilon, 0x03AD, +GDK_KEY_apostrophe, GDK_KEY_Greek_eta, 0x03AE, +GDK_KEY_apostrophe, GDK_KEY_Greek_iota, 0x03AF, +GDK_KEY_apostrophe, GDK_KEY_Greek_omicron, 0x03CC, +GDK_KEY_apostrophe, GDK_KEY_Greek_upsilon, 0x03CD, +GDK_KEY_apostrophe, GDK_KEY_Greek_omega, 0x03CE, +GDK_KEY_apostrophe, 0x1F00, 0x1F04, +GDK_KEY_apostrophe, 0x1F01, 0x1F05, +GDK_KEY_apostrophe, 0x1F08, 0x1F0C, +GDK_KEY_apostrophe, 0x1F09, 0x1F0D, +GDK_KEY_apostrophe, 0x1F10, 0x1F14, +GDK_KEY_apostrophe, 0x1F11, 0x1F15, +GDK_KEY_apostrophe, 0x1F18, 0x1F1C, +GDK_KEY_apostrophe, 0x1F19, 0x1F1D, +GDK_KEY_apostrophe, 0x1F20, 0x1F24, +GDK_KEY_apostrophe, 0x1F21, 0x1F25, +GDK_KEY_apostrophe, 0x1F28, 0x1F2C, +GDK_KEY_apostrophe, 0x1F29, 0x1F2D, +GDK_KEY_apostrophe, 0x1F30, 0x1F34, +GDK_KEY_apostrophe, 0x1F31, 0x1F35, +GDK_KEY_apostrophe, 0x1F38, 0x1F3C, +GDK_KEY_apostrophe, 0x1F39, 0x1F3D, +GDK_KEY_apostrophe, 0x1F40, 0x1F44, +GDK_KEY_apostrophe, 0x1F41, 0x1F45, +GDK_KEY_apostrophe, 0x1F48, 0x1F4C, +GDK_KEY_apostrophe, 0x1F49, 0x1F4D, +GDK_KEY_apostrophe, 0x1F50, 0x1F54, +GDK_KEY_apostrophe, 0x1F51, 0x1F55, +GDK_KEY_apostrophe, 0x1F59, 0x1F5D, +GDK_KEY_apostrophe, 0x1F60, 0x1F64, +GDK_KEY_apostrophe, 0x1F61, 0x1F65, +GDK_KEY_apostrophe, 0x1F68, 0x1F6C, +GDK_KEY_apostrophe, 0x1F69, 0x1F6D, +GDK_KEY_parenleft, GDK_KEY_space, 0x02D8, +GDK_KEY_parenleft, GDK_KEY_parenleft, 0x005B, +GDK_KEY_parenleft, GDK_KEY_minus, 0x007B, +GDK_KEY_parenleft, GDK_KEY_A, 0x0102, +GDK_KEY_parenleft, GDK_KEY_G, 0x011E, +GDK_KEY_parenleft, GDK_KEY_a, 0x0103, +GDK_KEY_parenleft, GDK_KEY_c, 0x00A9, +GDK_KEY_parenleft, GDK_KEY_g, 0x011F, +GDK_KEY_parenleft, GDK_KEY_r, 0x00AE, +GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F09, +GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F19, +GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F29, +GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F39, +GDK_KEY_parenleft, GDK_KEY_Greek_OMICRON, 0x1F49, +GDK_KEY_parenleft, GDK_KEY_Greek_RHO, 0x1FEC, +GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F59, +GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F69, +GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F01, +GDK_KEY_parenleft, GDK_KEY_Greek_epsilon, 0x1F11, +GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F21, +GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F31, +GDK_KEY_parenleft, GDK_KEY_Greek_omicron, 0x1F41, +GDK_KEY_parenleft, GDK_KEY_Greek_rho, 0x1FE5, +GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F51, +GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F61, +GDK_KEY_parenright, GDK_KEY_parenright, 0x005D, +GDK_KEY_parenright, GDK_KEY_minus, 0x007D, +GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F08, +GDK_KEY_parenright, GDK_KEY_Greek_EPSILON, 0x1F18, +GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F28, +GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F38, +GDK_KEY_parenright, GDK_KEY_Greek_OMICRON, 0x1F48, +GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F68, +GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F00, +GDK_KEY_parenright, GDK_KEY_Greek_epsilon, 0x1F10, +GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F20, +GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F30, +GDK_KEY_parenright, GDK_KEY_Greek_omicron, 0x1F40, +GDK_KEY_parenright, GDK_KEY_Greek_rho, 0x1FE4, +GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F50, +GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F60, +GDK_KEY_asterisk, GDK_KEY_0, 0x00B0, +GDK_KEY_asterisk, GDK_KEY_A, 0x00C5, +GDK_KEY_asterisk, GDK_KEY_U, 0x016E, +GDK_KEY_asterisk, GDK_KEY_a, 0x00E5, +GDK_KEY_asterisk, GDK_KEY_u, 0x016F, +GDK_KEY_plus, GDK_KEY_plus, 0x0023, +GDK_KEY_plus, GDK_KEY_minus, 0x00B1, +GDK_KEY_plus, GDK_KEY_O, 0x01A0, +GDK_KEY_plus, GDK_KEY_U, 0x01AF, +GDK_KEY_plus, GDK_KEY_o, 0x01A1, +GDK_KEY_plus, GDK_KEY_u, 0x01B0, +GDK_KEY_comma, GDK_KEY_space, 0x00B8, +GDK_KEY_comma, GDK_KEY_quotedbl, 0x201E, +GDK_KEY_comma, GDK_KEY_apostrophe, 0x201A, +GDK_KEY_comma, GDK_KEY_comma, 0x00B8, +GDK_KEY_comma, GDK_KEY_minus, 0x00AC, +GDK_KEY_comma, GDK_KEY_A, 0x0104, +GDK_KEY_comma, GDK_KEY_C, 0x00C7, +GDK_KEY_comma, GDK_KEY_D, 0x1E10, +GDK_KEY_comma, GDK_KEY_E, 0x0228, +GDK_KEY_comma, GDK_KEY_G, 0x0122, +GDK_KEY_comma, GDK_KEY_H, 0x1E28, +GDK_KEY_comma, GDK_KEY_I, 0x012E, +GDK_KEY_comma, GDK_KEY_K, 0x0136, +GDK_KEY_comma, GDK_KEY_L, 0x013B, +GDK_KEY_comma, GDK_KEY_N, 0x0145, +GDK_KEY_comma, GDK_KEY_R, 0x0156, +GDK_KEY_comma, GDK_KEY_S, 0x015E, +GDK_KEY_comma, GDK_KEY_T, 0x0162, +GDK_KEY_comma, GDK_KEY_U, 0x0172, +GDK_KEY_comma, GDK_KEY_a, 0x0105, +GDK_KEY_comma, GDK_KEY_c, 0x00E7, +GDK_KEY_comma, GDK_KEY_d, 0x1E11, +GDK_KEY_comma, GDK_KEY_e, 0x0229, +GDK_KEY_comma, GDK_KEY_g, 0x0123, +GDK_KEY_comma, GDK_KEY_h, 0x1E29, +GDK_KEY_comma, GDK_KEY_i, 0x012F, +GDK_KEY_comma, GDK_KEY_k, 0x0137, +GDK_KEY_comma, GDK_KEY_l, 0x013C, +GDK_KEY_comma, GDK_KEY_n, 0x0146, +GDK_KEY_comma, GDK_KEY_r, 0x0157, +GDK_KEY_comma, GDK_KEY_s, 0x015F, +GDK_KEY_comma, GDK_KEY_t, 0x0163, +GDK_KEY_comma, GDK_KEY_u, 0x0173, +GDK_KEY_minus, GDK_KEY_space, 0x007E, +GDK_KEY_minus, GDK_KEY_parenleft, 0x007B, +GDK_KEY_minus, GDK_KEY_parenright, 0x007D, +GDK_KEY_minus, GDK_KEY_plus, 0x00B1, +GDK_KEY_minus, GDK_KEY_comma, 0x00AC, +GDK_KEY_minus, GDK_KEY_colon, 0x00F7, +GDK_KEY_minus, GDK_KEY_greater, 0x2192, +GDK_KEY_minus, GDK_KEY_A, 0x00C3, +GDK_KEY_minus, GDK_KEY_D, 0x0110, +GDK_KEY_minus, GDK_KEY_E, 0x0112, +GDK_KEY_minus, GDK_KEY_I, 0x012A, +GDK_KEY_minus, GDK_KEY_L, 0x00A3, +GDK_KEY_minus, GDK_KEY_N, 0x00D1, +GDK_KEY_minus, GDK_KEY_O, 0x00D5, +GDK_KEY_minus, GDK_KEY_U, 0x016A, +GDK_KEY_minus, GDK_KEY_Y, 0x00A5, +GDK_KEY_minus, GDK_KEY_asciicircum, 0x00AF, +GDK_KEY_minus, GDK_KEY_a, 0x0101, +GDK_KEY_minus, GDK_KEY_d, 0x0111, +GDK_KEY_minus, GDK_KEY_e, 0x0113, +GDK_KEY_minus, GDK_KEY_i, 0x012B, +GDK_KEY_minus, GDK_KEY_l, 0x00A3, +GDK_KEY_minus, GDK_KEY_n, 0x00F1, +GDK_KEY_minus, GDK_KEY_o, 0x014D, +GDK_KEY_minus, GDK_KEY_u, 0x016B, +GDK_KEY_minus, GDK_KEY_y, 0x00A5, +GDK_KEY_period, GDK_KEY_minus, 0x00B7, +GDK_KEY_period, GDK_KEY_period, 0x2026, +GDK_KEY_period, GDK_KEY_less, 0x2039, +GDK_KEY_period, GDK_KEY_equal, 0x2022, +GDK_KEY_period, GDK_KEY_greater, 0x203A, +GDK_KEY_period, GDK_KEY_A, 0x0226, +GDK_KEY_period, GDK_KEY_B, 0x1E02, +GDK_KEY_period, GDK_KEY_C, 0x010A, +GDK_KEY_period, GDK_KEY_D, 0x1E0A, +GDK_KEY_period, GDK_KEY_E, 0x0116, +GDK_KEY_period, GDK_KEY_F, 0x1E1E, +GDK_KEY_period, GDK_KEY_G, 0x0120, +GDK_KEY_period, GDK_KEY_H, 0x1E22, +GDK_KEY_period, GDK_KEY_I, 0x0130, +GDK_KEY_period, GDK_KEY_M, 0x1E40, +GDK_KEY_period, GDK_KEY_N, 0x1E44, +GDK_KEY_period, GDK_KEY_O, 0x022E, +GDK_KEY_period, GDK_KEY_P, 0x1E56, +GDK_KEY_period, GDK_KEY_R, 0x1E58, +GDK_KEY_period, GDK_KEY_S, 0x1E60, +GDK_KEY_period, GDK_KEY_T, 0x1E6A, +GDK_KEY_period, GDK_KEY_W, 0x1E86, +GDK_KEY_period, GDK_KEY_X, 0x1E8A, +GDK_KEY_period, GDK_KEY_Y, 0x1E8E, +GDK_KEY_period, GDK_KEY_Z, 0x017B, +GDK_KEY_period, GDK_KEY_asciicircum, 0x00B7, +GDK_KEY_period, GDK_KEY_a, 0x0227, +GDK_KEY_period, GDK_KEY_b, 0x1E03, +GDK_KEY_period, GDK_KEY_c, 0x010B, +GDK_KEY_period, GDK_KEY_d, 0x1E0B, +GDK_KEY_period, GDK_KEY_e, 0x0117, +GDK_KEY_period, GDK_KEY_f, 0x1E1F, +GDK_KEY_period, GDK_KEY_g, 0x0121, +GDK_KEY_period, GDK_KEY_h, 0x1E23, +GDK_KEY_period, GDK_KEY_i, 0x0131, +GDK_KEY_period, GDK_KEY_m, 0x1E41, +GDK_KEY_period, GDK_KEY_n, 0x1E45, +GDK_KEY_period, GDK_KEY_o, 0x022F, +GDK_KEY_period, GDK_KEY_p, 0x1E57, +GDK_KEY_period, GDK_KEY_r, 0x1E59, +GDK_KEY_period, GDK_KEY_s, 0x1E61, +GDK_KEY_period, GDK_KEY_t, 0x1E6B, +GDK_KEY_period, GDK_KEY_w, 0x1E87, +GDK_KEY_period, GDK_KEY_x, 0x1E8B, +GDK_KEY_period, GDK_KEY_y, 0x1E8F, +GDK_KEY_period, GDK_KEY_z, 0x017C, +GDK_KEY_period, 0x017F, 0x1E9B, +GDK_KEY_period, GDK_KEY_Sacute, 0x1E64, +GDK_KEY_period, GDK_KEY_Scaron, 0x1E66, +GDK_KEY_period, GDK_KEY_sacute, 0x1E65, +GDK_KEY_period, GDK_KEY_scaron, 0x1E67, +GDK_KEY_period, 0x1E62, 0x1E68, +GDK_KEY_period, 0x1E63, 0x1E69, +GDK_KEY_slash, GDK_KEY_slash, 0x005C, +GDK_KEY_slash, GDK_KEY_less, 0x005C, +GDK_KEY_slash, GDK_KEY_equal, 0x2260, +GDK_KEY_slash, GDK_KEY_C, 0x20A1, +GDK_KEY_slash, GDK_KEY_D, 0x0110, +GDK_KEY_slash, GDK_KEY_G, 0x01E4, +GDK_KEY_slash, GDK_KEY_H, 0x0126, +GDK_KEY_slash, GDK_KEY_I, 0x0197, +GDK_KEY_slash, GDK_KEY_L, 0x0141, +GDK_KEY_slash, GDK_KEY_O, 0x00D8, +GDK_KEY_slash, GDK_KEY_T, 0x0166, +GDK_KEY_slash, GDK_KEY_U, 0x00B5, +GDK_KEY_slash, GDK_KEY_Z, 0x01B5, +GDK_KEY_slash, GDK_KEY_asciicircum, 0x007C, +GDK_KEY_slash, GDK_KEY_b, 0x0180, +GDK_KEY_slash, GDK_KEY_c, 0x00A2, +GDK_KEY_slash, GDK_KEY_d, 0x0111, +GDK_KEY_slash, GDK_KEY_g, 0x01E5, +GDK_KEY_slash, GDK_KEY_h, 0x0127, +GDK_KEY_slash, GDK_KEY_i, 0x0268, +GDK_KEY_slash, GDK_KEY_l, 0x0142, +GDK_KEY_slash, GDK_KEY_m, 0x20A5, +GDK_KEY_slash, GDK_KEY_o, 0x00F8, +GDK_KEY_slash, GDK_KEY_t, 0x0167, +GDK_KEY_slash, GDK_KEY_u, 0x00B5, +GDK_KEY_slash, GDK_KEY_z, 0x01B6, +GDK_KEY_slash, 0x0294, 0x02A1, +GDK_KEY_slash, 0x04AE, 0x04B0, +GDK_KEY_slash, 0x04AF, 0x04B1, +GDK_KEY_slash, GDK_KEY_Cyrillic_ghe, 0x0493, +GDK_KEY_slash, GDK_KEY_Cyrillic_ka, 0x049F, +GDK_KEY_slash, GDK_KEY_Cyrillic_GHE, 0x0492, +GDK_KEY_slash, GDK_KEY_Cyrillic_KA, 0x049E, +GDK_KEY_slash, GDK_KEY_leftarrow, 0x219A, +GDK_KEY_slash, GDK_KEY_rightarrow, 0x219B, +GDK_KEY_slash, 0x2194, 0x21AE, +GDK_KEY_0, GDK_KEY_asterisk, 0x00B0, +GDK_KEY_0, GDK_KEY_C, 0x00A9, +GDK_KEY_0, GDK_KEY_S, 0x00A7, +GDK_KEY_0, GDK_KEY_X, 0x00A4, +GDK_KEY_0, GDK_KEY_asciicircum, 0x00B0, +GDK_KEY_0, GDK_KEY_c, 0x00A9, +GDK_KEY_0, GDK_KEY_s, 0x00A7, +GDK_KEY_0, GDK_KEY_x, 0x00A4, +GDK_KEY_1, GDK_KEY_2, 0x00BD, +GDK_KEY_1, GDK_KEY_3, 0x2153, +GDK_KEY_1, GDK_KEY_4, 0x00BC, +GDK_KEY_1, GDK_KEY_5, 0x2155, +GDK_KEY_1, GDK_KEY_6, 0x2159, +GDK_KEY_1, GDK_KEY_8, 0x215B, +GDK_KEY_1, GDK_KEY_S, 0x00B9, +GDK_KEY_1, GDK_KEY_asciicircum, 0x00B9, +GDK_KEY_1, GDK_KEY_s, 0x00B9, +GDK_KEY_2, GDK_KEY_3, 0x2154, +GDK_KEY_2, GDK_KEY_5, 0x2156, +GDK_KEY_2, GDK_KEY_S, 0x00B2, +GDK_KEY_2, GDK_KEY_asciicircum, 0x00B2, +GDK_KEY_2, GDK_KEY_s, 0x00B2, +GDK_KEY_3, GDK_KEY_4, 0x00BE, +GDK_KEY_3, GDK_KEY_5, 0x2157, +GDK_KEY_3, GDK_KEY_8, 0x215C, +GDK_KEY_3, GDK_KEY_S, 0x00B3, +GDK_KEY_3, GDK_KEY_asciicircum, 0x00B3, +GDK_KEY_3, GDK_KEY_s, 0x00B3, +GDK_KEY_4, GDK_KEY_5, 0x2158, +GDK_KEY_5, GDK_KEY_6, 0x215A, +GDK_KEY_5, GDK_KEY_8, 0x215D, +GDK_KEY_7, GDK_KEY_8, 0x215E, +GDK_KEY_colon, GDK_KEY_parenleft, 0x2639, +GDK_KEY_colon, GDK_KEY_parenright, 0x263A, +GDK_KEY_colon, GDK_KEY_minus, 0x00F7, +GDK_KEY_semicolon, GDK_KEY_A, 0x0104, +GDK_KEY_semicolon, GDK_KEY_E, 0x0118, +GDK_KEY_semicolon, GDK_KEY_I, 0x012E, +GDK_KEY_semicolon, GDK_KEY_O, 0x01EA, +GDK_KEY_semicolon, GDK_KEY_U, 0x0172, +GDK_KEY_semicolon, GDK_KEY_a, 0x0105, +GDK_KEY_semicolon, GDK_KEY_e, 0x0119, +GDK_KEY_semicolon, GDK_KEY_i, 0x012F, +GDK_KEY_semicolon, GDK_KEY_o, 0x01EB, +GDK_KEY_semicolon, GDK_KEY_u, 0x0173, +GDK_KEY_less, GDK_KEY_space, 0x02C7, +GDK_KEY_less, GDK_KEY_quotedbl, 0x201C, +GDK_KEY_less, GDK_KEY_apostrophe, 0x2018, +GDK_KEY_less, GDK_KEY_minus, 0x2190, +GDK_KEY_less, GDK_KEY_slash, 0x005C, +GDK_KEY_less, GDK_KEY_3, 0x2665, +GDK_KEY_less, GDK_KEY_less, 0x00AB, +GDK_KEY_less, GDK_KEY_equal, 0x2264, +GDK_KEY_less, GDK_KEY_C, 0x010C, +GDK_KEY_less, GDK_KEY_D, 0x010E, +GDK_KEY_less, GDK_KEY_E, 0x011A, +GDK_KEY_less, GDK_KEY_L, 0x013D, +GDK_KEY_less, GDK_KEY_N, 0x0147, +GDK_KEY_less, GDK_KEY_R, 0x0158, +GDK_KEY_less, GDK_KEY_S, 0x0160, +GDK_KEY_less, GDK_KEY_T, 0x0164, +GDK_KEY_less, GDK_KEY_Z, 0x017D, +GDK_KEY_less, GDK_KEY_c, 0x010D, +GDK_KEY_less, GDK_KEY_d, 0x010F, +GDK_KEY_less, GDK_KEY_e, 0x011B, +GDK_KEY_less, GDK_KEY_l, 0x013E, +GDK_KEY_less, GDK_KEY_n, 0x0148, +GDK_KEY_less, GDK_KEY_r, 0x0159, +GDK_KEY_less, GDK_KEY_s, 0x0161, +GDK_KEY_less, GDK_KEY_t, 0x0165, +GDK_KEY_less, GDK_KEY_z, 0x017E, +GDK_KEY_less, 0x0338, 0x226E, +GDK_KEY_equal, GDK_KEY_slash, 0x2260, +GDK_KEY_equal, GDK_KEY_C, 0x20AC, +GDK_KEY_equal, GDK_KEY_E, 0x20AC, +GDK_KEY_equal, GDK_KEY_L, 0x20A4, +GDK_KEY_equal, GDK_KEY_N, 0x20A6, +GDK_KEY_equal, GDK_KEY_O, 0x0150, +GDK_KEY_equal, GDK_KEY_U, 0x0170, +GDK_KEY_equal, GDK_KEY_W, 0x20A9, +GDK_KEY_equal, GDK_KEY_Y, 0x00A5, +GDK_KEY_equal, GDK_KEY_c, 0x20AC, +GDK_KEY_equal, GDK_KEY_e, 0x20AC, +GDK_KEY_equal, GDK_KEY_l, 0x00A3, +GDK_KEY_equal, GDK_KEY_o, 0x0151, +GDK_KEY_equal, GDK_KEY_u, 0x0171, +GDK_KEY_equal, GDK_KEY_y, 0x00A5, +GDK_KEY_equal, 0x0338, 0x2260, +GDK_KEY_equal, GDK_KEY_Cyrillic_u, 0x04F3, +GDK_KEY_equal, GDK_KEY_Cyrillic_IE, 0x20AC, +GDK_KEY_equal, GDK_KEY_Cyrillic_ES, 0x20AC, +GDK_KEY_equal, GDK_KEY_Cyrillic_U, 0x04F2, +GDK_KEY_greater, GDK_KEY_space, 0x005E, +GDK_KEY_greater, GDK_KEY_quotedbl, 0x201D, +GDK_KEY_greater, GDK_KEY_apostrophe, 0x2019, +GDK_KEY_greater, GDK_KEY_equal, 0x2265, +GDK_KEY_greater, GDK_KEY_greater, 0x00BB, +GDK_KEY_greater, GDK_KEY_A, 0x00C2, +GDK_KEY_greater, GDK_KEY_E, 0x00CA, +GDK_KEY_greater, GDK_KEY_I, 0x00CE, +GDK_KEY_greater, GDK_KEY_O, 0x00D4, +GDK_KEY_greater, GDK_KEY_U, 0x00DB, +GDK_KEY_greater, GDK_KEY_a, 0x00E2, +GDK_KEY_greater, GDK_KEY_e, 0x00EA, +GDK_KEY_greater, GDK_KEY_i, 0x00EE, +GDK_KEY_greater, GDK_KEY_o, 0x00F4, +GDK_KEY_greater, GDK_KEY_u, 0x00FB, +GDK_KEY_greater, 0x0338, 0x226F, +GDK_KEY_question, GDK_KEY_exclam, 0x203D, +GDK_KEY_question, GDK_KEY_question, 0x00BF, +GDK_KEY_question, GDK_KEY_A, 0x1EA2, +GDK_KEY_question, GDK_KEY_E, 0x1EBA, +GDK_KEY_question, GDK_KEY_I, 0x1EC8, +GDK_KEY_question, GDK_KEY_O, 0x1ECE, +GDK_KEY_question, GDK_KEY_U, 0x1EE6, +GDK_KEY_question, GDK_KEY_Y, 0x1EF6, +GDK_KEY_question, GDK_KEY_a, 0x1EA3, +GDK_KEY_question, GDK_KEY_e, 0x1EBB, +GDK_KEY_question, GDK_KEY_i, 0x1EC9, +GDK_KEY_question, GDK_KEY_o, 0x1ECF, +GDK_KEY_question, GDK_KEY_u, 0x1EE7, +GDK_KEY_question, GDK_KEY_y, 0x1EF7, +GDK_KEY_question, GDK_KEY_Acircumflex, 0x1EA8, +GDK_KEY_question, GDK_KEY_Ecircumflex, 0x1EC2, +GDK_KEY_question, GDK_KEY_Ocircumflex, 0x1ED4, +GDK_KEY_question, GDK_KEY_acircumflex, 0x1EA9, +GDK_KEY_question, GDK_KEY_ecircumflex, 0x1EC3, +GDK_KEY_question, GDK_KEY_ocircumflex, 0x1ED5, +GDK_KEY_question, GDK_KEY_Abreve, 0x1EB2, +GDK_KEY_question, GDK_KEY_abreve, 0x1EB3, +GDK_KEY_A, GDK_KEY_quotedbl, 0x00C4, +GDK_KEY_A, GDK_KEY_apostrophe, 0x00C1, +GDK_KEY_A, GDK_KEY_parenleft, 0x0102, +GDK_KEY_A, GDK_KEY_asterisk, 0x00C5, +GDK_KEY_A, GDK_KEY_comma, 0x0104, +GDK_KEY_A, GDK_KEY_minus, 0x00C3, +GDK_KEY_A, GDK_KEY_greater, 0x00C2, +GDK_KEY_A, GDK_KEY_A, 0x00C5, +GDK_KEY_A, GDK_KEY_E, 0x00C6, +GDK_KEY_A, GDK_KEY_T, 0x0040, +GDK_KEY_A, GDK_KEY_asciicircum, 0x00C2, +GDK_KEY_A, GDK_KEY_underscore, 0x00AA, +GDK_KEY_A, GDK_KEY_grave, 0x00C0, +GDK_KEY_A, GDK_KEY_asciitilde, 0x00C3, +GDK_KEY_A, GDK_KEY_diaeresis, 0x00C4, +GDK_KEY_A, GDK_KEY_acute, 0x00C1, +GDK_KEY_B, GDK_KEY_period, 0x1E02, +GDK_KEY_C, GDK_KEY_apostrophe, 0x0106, +GDK_KEY_C, GDK_KEY_comma, 0x00C7, +GDK_KEY_C, GDK_KEY_period, 0x010A, +GDK_KEY_C, GDK_KEY_slash, 0x20A1, +GDK_KEY_C, GDK_KEY_0, 0x00A9, +GDK_KEY_C, GDK_KEY_less, 0x010C, +GDK_KEY_C, GDK_KEY_equal, 0x20AC, +GDK_KEY_C, GDK_KEY_E, 0x20A0, +GDK_KEY_C, GDK_KEY_O, 0x00A9, +GDK_KEY_C, GDK_KEY_o, 0x00A9, +GDK_KEY_C, GDK_KEY_r, 0x20A2, +GDK_KEY_C, GDK_KEY_bar, 0x00A2, +GDK_KEY_D, GDK_KEY_minus, 0x0110, +GDK_KEY_D, GDK_KEY_period, 0x1E0A, +GDK_KEY_D, GDK_KEY_less, 0x010E, +GDK_KEY_D, GDK_KEY_H, 0x00D0, +GDK_KEY_E, GDK_KEY_quotedbl, 0x00CB, +GDK_KEY_E, GDK_KEY_apostrophe, 0x00C9, +GDK_KEY_E, GDK_KEY_comma, 0x0118, +GDK_KEY_E, GDK_KEY_minus, 0x0112, +GDK_KEY_E, GDK_KEY_period, 0x0116, +GDK_KEY_E, GDK_KEY_less, 0x011A, +GDK_KEY_E, GDK_KEY_equal, 0x20AC, +GDK_KEY_E, GDK_KEY_greater, 0x00CA, +GDK_KEY_E, GDK_KEY_asciicircum, 0x00CA, +GDK_KEY_E, GDK_KEY_underscore, 0x0112, +GDK_KEY_E, GDK_KEY_grave, 0x00C8, +GDK_KEY_E, GDK_KEY_diaeresis, 0x00CB, +GDK_KEY_E, GDK_KEY_acute, 0x00C9, +GDK_KEY_F, GDK_KEY_period, 0x1E1E, +GDK_KEY_F, GDK_KEY_r, 0x20A3, +GDK_KEY_G, GDK_KEY_parenleft, 0x011E, +GDK_KEY_G, GDK_KEY_comma, 0x0122, +GDK_KEY_G, GDK_KEY_period, 0x0120, +GDK_KEY_G, GDK_KEY_U, 0x011E, +GDK_KEY_G, GDK_KEY_breve, 0x011E, +GDK_KEY_I, GDK_KEY_quotedbl, 0x00CF, +GDK_KEY_I, GDK_KEY_apostrophe, 0x00CD, +GDK_KEY_I, GDK_KEY_comma, 0x012E, +GDK_KEY_I, GDK_KEY_minus, 0x012A, +GDK_KEY_I, GDK_KEY_period, 0x0130, +GDK_KEY_I, GDK_KEY_greater, 0x00CE, +GDK_KEY_I, GDK_KEY_asciicircum, 0x00CE, +GDK_KEY_I, GDK_KEY_underscore, 0x012A, +GDK_KEY_I, GDK_KEY_grave, 0x00CC, +GDK_KEY_I, GDK_KEY_asciitilde, 0x0128, +GDK_KEY_I, GDK_KEY_diaeresis, 0x00CF, +GDK_KEY_I, GDK_KEY_acute, 0x00CD, +GDK_KEY_K, GDK_KEY_comma, 0x0136, +GDK_KEY_L, GDK_KEY_apostrophe, 0x0139, +GDK_KEY_L, GDK_KEY_comma, 0x013B, +GDK_KEY_L, GDK_KEY_minus, 0x00A3, +GDK_KEY_L, GDK_KEY_slash, 0x0141, +GDK_KEY_L, GDK_KEY_less, 0x013D, +GDK_KEY_L, GDK_KEY_equal, 0x00A3, +GDK_KEY_L, GDK_KEY_V, 0x007C, +GDK_KEY_M, GDK_KEY_period, 0x1E40, +GDK_KEY_N, GDK_KEY_apostrophe, 0x0143, +GDK_KEY_N, GDK_KEY_comma, 0x0145, +GDK_KEY_N, GDK_KEY_minus, 0x00D1, +GDK_KEY_N, GDK_KEY_less, 0x0147, +GDK_KEY_N, GDK_KEY_equal, 0x20A6, +GDK_KEY_N, GDK_KEY_G, 0x014A, +GDK_KEY_N, GDK_KEY_O, 0x2116, +GDK_KEY_N, GDK_KEY_o, 0x2116, +GDK_KEY_N, GDK_KEY_asciitilde, 0x00D1, +GDK_KEY_O, GDK_KEY_quotedbl, 0x00D6, +GDK_KEY_O, GDK_KEY_apostrophe, 0x00D3, +GDK_KEY_O, GDK_KEY_minus, 0x00D5, +GDK_KEY_O, GDK_KEY_slash, 0x00D8, +GDK_KEY_O, GDK_KEY_greater, 0x00D4, +GDK_KEY_O, GDK_KEY_C, 0x00A9, +GDK_KEY_O, GDK_KEY_E, 0x0152, +GDK_KEY_O, GDK_KEY_R, 0x00AE, +GDK_KEY_O, GDK_KEY_S, 0x00A7, +GDK_KEY_O, GDK_KEY_X, 0x00A4, +GDK_KEY_O, GDK_KEY_asciicircum, 0x00D4, +GDK_KEY_O, GDK_KEY_underscore, 0x00BA, +GDK_KEY_O, GDK_KEY_grave, 0x00D2, +GDK_KEY_O, GDK_KEY_c, 0x00A9, +GDK_KEY_O, GDK_KEY_r, 0x00AE, +GDK_KEY_O, GDK_KEY_x, 0x00A4, +GDK_KEY_O, GDK_KEY_asciitilde, 0x00D5, +GDK_KEY_O, GDK_KEY_diaeresis, 0x00D6, +GDK_KEY_O, GDK_KEY_acute, 0x00D3, +GDK_KEY_P, GDK_KEY_exclam, 0x00B6, +GDK_KEY_P, GDK_KEY_period, 0x1E56, +GDK_KEY_P, GDK_KEY_P, 0x00B6, +GDK_KEY_P, GDK_KEY_t, 0x20A7, +GDK_KEY_R, GDK_KEY_apostrophe, 0x0154, +GDK_KEY_R, GDK_KEY_comma, 0x0156, +GDK_KEY_R, GDK_KEY_less, 0x0158, +GDK_KEY_R, GDK_KEY_O, 0x00AE, +GDK_KEY_R, GDK_KEY_s, 0x20A8, +GDK_KEY_S, GDK_KEY_exclam, 0x00A7, +GDK_KEY_S, GDK_KEY_apostrophe, 0x015A, +GDK_KEY_S, GDK_KEY_comma, 0x015E, +GDK_KEY_S, GDK_KEY_period, 0x1E60, +GDK_KEY_S, GDK_KEY_0, 0x00A7, +GDK_KEY_S, GDK_KEY_1, 0x00B9, +GDK_KEY_S, GDK_KEY_2, 0x00B2, +GDK_KEY_S, GDK_KEY_3, 0x00B3, +GDK_KEY_S, GDK_KEY_less, 0x0160, +GDK_KEY_S, GDK_KEY_M, 0x2120, +GDK_KEY_S, GDK_KEY_O, 0x00A7, +GDK_KEY_S, GDK_KEY_m, 0x2120, +GDK_KEY_S, GDK_KEY_cedilla, 0x015E, +GDK_KEY_T, GDK_KEY_minus, 0x0166, +GDK_KEY_T, GDK_KEY_period, 0x1E6A, +GDK_KEY_T, GDK_KEY_slash, 0x0166, +GDK_KEY_T, GDK_KEY_less, 0x0164, +GDK_KEY_T, GDK_KEY_H, 0x00DE, +GDK_KEY_T, GDK_KEY_M, 0x2122, +GDK_KEY_T, GDK_KEY_m, 0x2122, +GDK_KEY_U, GDK_KEY_quotedbl, 0x00DC, +GDK_KEY_U, GDK_KEY_apostrophe, 0x00DA, +GDK_KEY_U, GDK_KEY_asterisk, 0x016E, +GDK_KEY_U, GDK_KEY_comma, 0x0172, +GDK_KEY_U, GDK_KEY_minus, 0x016A, +GDK_KEY_U, GDK_KEY_slash, 0x00B5, +GDK_KEY_U, GDK_KEY_greater, 0x00DB, +GDK_KEY_U, GDK_KEY_A, 0x0102, +GDK_KEY_U, GDK_KEY_E, 0x0114, +GDK_KEY_U, GDK_KEY_G, 0x011E, +GDK_KEY_U, GDK_KEY_I, 0x012C, +GDK_KEY_U, GDK_KEY_O, 0x014E, +GDK_KEY_U, GDK_KEY_U, 0x016C, +GDK_KEY_U, GDK_KEY_asciicircum, 0x00DB, +GDK_KEY_U, GDK_KEY_underscore, 0x016A, +GDK_KEY_U, GDK_KEY_grave, 0x00D9, +GDK_KEY_U, GDK_KEY_a, 0x0103, +GDK_KEY_U, GDK_KEY_e, 0x0115, +GDK_KEY_U, GDK_KEY_g, 0x011F, +GDK_KEY_U, GDK_KEY_i, 0x012D, +GDK_KEY_U, GDK_KEY_o, 0x014F, +GDK_KEY_U, GDK_KEY_u, 0x016D, +GDK_KEY_U, GDK_KEY_asciitilde, 0x0168, +GDK_KEY_U, GDK_KEY_diaeresis, 0x00DC, +GDK_KEY_U, GDK_KEY_acute, 0x00DA, +GDK_KEY_U, 0x0228, 0x1E1C, +GDK_KEY_U, 0x0229, 0x1E1D, +GDK_KEY_U, GDK_KEY_Cyrillic_a, 0x04D1, +GDK_KEY_U, GDK_KEY_Cyrillic_ie, 0x04D7, +GDK_KEY_U, GDK_KEY_Cyrillic_i, 0x0439, +GDK_KEY_U, GDK_KEY_Cyrillic_u, 0x045E, +GDK_KEY_U, GDK_KEY_Cyrillic_zhe, 0x04C2, +GDK_KEY_U, GDK_KEY_Cyrillic_A, 0x04D0, +GDK_KEY_U, GDK_KEY_Cyrillic_IE, 0x04D6, +GDK_KEY_U, GDK_KEY_Cyrillic_I, 0x0419, +GDK_KEY_U, GDK_KEY_Cyrillic_U, 0x040E, +GDK_KEY_U, GDK_KEY_Cyrillic_ZHE, 0x04C1, +GDK_KEY_U, GDK_KEY_Greek_ALPHA, 0x1FB8, +GDK_KEY_U, GDK_KEY_Greek_IOTA, 0x1FD8, +GDK_KEY_U, GDK_KEY_Greek_UPSILON, 0x1FE8, +GDK_KEY_U, GDK_KEY_Greek_alpha, 0x1FB0, +GDK_KEY_U, GDK_KEY_Greek_iota, 0x1FD0, +GDK_KEY_U, GDK_KEY_Greek_upsilon, 0x1FE0, +GDK_KEY_U, 0x1EA0, 0x1EB6, +GDK_KEY_U, 0x1EA1, 0x1EB7, +GDK_KEY_V, GDK_KEY_L, 0x007C, +GDK_KEY_W, GDK_KEY_equal, 0x20A9, +GDK_KEY_W, GDK_KEY_asciicircum, 0x0174, +GDK_KEY_X, GDK_KEY_0, 0x00A4, +GDK_KEY_X, GDK_KEY_O, 0x00A4, +GDK_KEY_X, GDK_KEY_o, 0x00A4, +GDK_KEY_Y, GDK_KEY_quotedbl, 0x0178, +GDK_KEY_Y, GDK_KEY_apostrophe, 0x00DD, +GDK_KEY_Y, GDK_KEY_minus, 0x00A5, +GDK_KEY_Y, GDK_KEY_equal, 0x00A5, +GDK_KEY_Y, GDK_KEY_asciicircum, 0x0176, +GDK_KEY_Y, GDK_KEY_diaeresis, 0x0178, +GDK_KEY_Y, GDK_KEY_acute, 0x00DD, +GDK_KEY_Z, GDK_KEY_apostrophe, 0x0179, +GDK_KEY_Z, GDK_KEY_period, 0x017B, +GDK_KEY_Z, GDK_KEY_less, 0x017D, +GDK_KEY_asciicircum, GDK_KEY_space, 0x005E, +GDK_KEY_asciicircum, GDK_KEY_parenleft, 0x207D, +GDK_KEY_asciicircum, GDK_KEY_parenright, 0x207E, +GDK_KEY_asciicircum, GDK_KEY_plus, 0x207A, +GDK_KEY_asciicircum, GDK_KEY_minus, 0x00AF, +GDK_KEY_asciicircum, GDK_KEY_period, 0x00B7, +GDK_KEY_asciicircum, GDK_KEY_slash, 0x007C, +GDK_KEY_asciicircum, GDK_KEY_0, 0x2070, +GDK_KEY_asciicircum, GDK_KEY_1, 0x00B9, +GDK_KEY_asciicircum, GDK_KEY_2, 0x00B2, +GDK_KEY_asciicircum, GDK_KEY_3, 0x00B3, +GDK_KEY_asciicircum, GDK_KEY_4, 0x2074, +GDK_KEY_asciicircum, GDK_KEY_5, 0x2075, +GDK_KEY_asciicircum, GDK_KEY_6, 0x2076, +GDK_KEY_asciicircum, GDK_KEY_7, 0x2077, +GDK_KEY_asciicircum, GDK_KEY_8, 0x2078, +GDK_KEY_asciicircum, GDK_KEY_9, 0x2079, +GDK_KEY_asciicircum, GDK_KEY_equal, 0x207C, +GDK_KEY_asciicircum, GDK_KEY_A, 0x00C2, +GDK_KEY_asciicircum, GDK_KEY_C, 0x0108, +GDK_KEY_asciicircum, GDK_KEY_E, 0x00CA, +GDK_KEY_asciicircum, GDK_KEY_G, 0x011C, +GDK_KEY_asciicircum, GDK_KEY_H, 0x0124, +GDK_KEY_asciicircum, GDK_KEY_I, 0x00CE, +GDK_KEY_asciicircum, GDK_KEY_J, 0x0134, +GDK_KEY_asciicircum, GDK_KEY_O, 0x00D4, +GDK_KEY_asciicircum, GDK_KEY_S, 0x015C, +GDK_KEY_asciicircum, GDK_KEY_U, 0x00DB, +GDK_KEY_asciicircum, GDK_KEY_W, 0x0174, +GDK_KEY_asciicircum, GDK_KEY_Y, 0x0176, +GDK_KEY_asciicircum, GDK_KEY_Z, 0x1E90, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x00AF, +GDK_KEY_asciicircum, GDK_KEY_a, 0x00E2, +GDK_KEY_asciicircum, GDK_KEY_c, 0x0109, +GDK_KEY_asciicircum, GDK_KEY_e, 0x00EA, +GDK_KEY_asciicircum, GDK_KEY_g, 0x011D, +GDK_KEY_asciicircum, GDK_KEY_h, 0x0125, +GDK_KEY_asciicircum, GDK_KEY_i, 0x00EE, +GDK_KEY_asciicircum, GDK_KEY_j, 0x0135, +GDK_KEY_asciicircum, GDK_KEY_o, 0x00F4, +GDK_KEY_asciicircum, GDK_KEY_s, 0x015D, +GDK_KEY_asciicircum, GDK_KEY_u, 0x00FB, +GDK_KEY_asciicircum, GDK_KEY_w, 0x0175, +GDK_KEY_asciicircum, GDK_KEY_y, 0x0177, +GDK_KEY_asciicircum, GDK_KEY_z, 0x1E91, +GDK_KEY_asciicircum, 0x1EA0, 0x1EAC, +GDK_KEY_asciicircum, 0x1EA1, 0x1EAD, +GDK_KEY_asciicircum, 0x1EB8, 0x1EC6, +GDK_KEY_asciicircum, 0x1EB9, 0x1EC7, +GDK_KEY_asciicircum, 0x1ECC, 0x1ED8, +GDK_KEY_asciicircum, 0x1ECD, 0x1ED9, +GDK_KEY_asciicircum, 0x2212, 0x207B, +GDK_KEY_asciicircum, 0x4E00, 0x3192, +GDK_KEY_asciicircum, 0x4E01, 0x319C, +GDK_KEY_asciicircum, 0x4E09, 0x3194, +GDK_KEY_asciicircum, 0x4E0A, 0x3196, +GDK_KEY_asciicircum, 0x4E0B, 0x3198, +GDK_KEY_asciicircum, 0x4E19, 0x319B, +GDK_KEY_asciicircum, 0x4E2D, 0x3197, +GDK_KEY_asciicircum, 0x4E59, 0x319A, +GDK_KEY_asciicircum, 0x4E8C, 0x3193, +GDK_KEY_asciicircum, 0x4EBA, 0x319F, +GDK_KEY_asciicircum, 0x56DB, 0x3195, +GDK_KEY_asciicircum, 0x5730, 0x319E, +GDK_KEY_asciicircum, 0x5929, 0x319D, +GDK_KEY_asciicircum, 0x7532, 0x3199, +GDK_KEY_asciicircum, GDK_KEY_KP_Space, 0x00B2, +GDK_KEY_asciicircum, GDK_KEY_KP_Add, 0x207A, +GDK_KEY_asciicircum, GDK_KEY_KP_0, 0x2070, +GDK_KEY_asciicircum, GDK_KEY_KP_1, 0x00B9, +GDK_KEY_asciicircum, GDK_KEY_KP_2, 0x00B2, +GDK_KEY_asciicircum, GDK_KEY_KP_3, 0x00B3, +GDK_KEY_asciicircum, GDK_KEY_KP_4, 0x2074, +GDK_KEY_asciicircum, GDK_KEY_KP_5, 0x2075, +GDK_KEY_asciicircum, GDK_KEY_KP_6, 0x2076, +GDK_KEY_asciicircum, GDK_KEY_KP_7, 0x2077, +GDK_KEY_asciicircum, GDK_KEY_KP_8, 0x2078, +GDK_KEY_asciicircum, GDK_KEY_KP_9, 0x2079, +GDK_KEY_asciicircum, GDK_KEY_KP_Equal, 0x207C, +GDK_KEY_underscore, GDK_KEY_parenleft, 0x208D, +GDK_KEY_underscore, GDK_KEY_parenright, 0x208E, +GDK_KEY_underscore, GDK_KEY_plus, 0x208A, +GDK_KEY_underscore, GDK_KEY_0, 0x2080, +GDK_KEY_underscore, GDK_KEY_1, 0x2081, +GDK_KEY_underscore, GDK_KEY_2, 0x2082, +GDK_KEY_underscore, GDK_KEY_3, 0x2083, +GDK_KEY_underscore, GDK_KEY_4, 0x2084, +GDK_KEY_underscore, GDK_KEY_5, 0x2085, +GDK_KEY_underscore, GDK_KEY_6, 0x2086, +GDK_KEY_underscore, GDK_KEY_7, 0x2087, +GDK_KEY_underscore, GDK_KEY_8, 0x2088, +GDK_KEY_underscore, GDK_KEY_9, 0x2089, +GDK_KEY_underscore, GDK_KEY_equal, 0x208C, +GDK_KEY_underscore, GDK_KEY_A, 0x0100, +GDK_KEY_underscore, GDK_KEY_E, 0x0112, +GDK_KEY_underscore, GDK_KEY_G, 0x1E20, +GDK_KEY_underscore, GDK_KEY_I, 0x012A, +GDK_KEY_underscore, GDK_KEY_O, 0x014C, +GDK_KEY_underscore, GDK_KEY_U, 0x016A, +GDK_KEY_underscore, GDK_KEY_Y, 0x0232, +GDK_KEY_underscore, GDK_KEY_asciicircum, 0x00AF, +GDK_KEY_underscore, GDK_KEY_underscore, 0x00AF, +GDK_KEY_underscore, GDK_KEY_a, 0x0101, +GDK_KEY_underscore, GDK_KEY_e, 0x0113, +GDK_KEY_underscore, GDK_KEY_g, 0x1E21, +GDK_KEY_underscore, GDK_KEY_i, 0x012B, +GDK_KEY_underscore, GDK_KEY_o, 0x014D, +GDK_KEY_underscore, GDK_KEY_u, 0x016B, +GDK_KEY_underscore, GDK_KEY_y, 0x0233, +GDK_KEY_underscore, GDK_KEY_Adiaeresis, 0x01DE, +GDK_KEY_underscore, GDK_KEY_AE, 0x01E2, +GDK_KEY_underscore, GDK_KEY_Otilde, 0x022C, +GDK_KEY_underscore, GDK_KEY_Odiaeresis, 0x022A, +GDK_KEY_underscore, GDK_KEY_Udiaeresis, 0x01D5, +GDK_KEY_underscore, GDK_KEY_adiaeresis, 0x01DF, +GDK_KEY_underscore, GDK_KEY_ae, 0x01E3, +GDK_KEY_underscore, GDK_KEY_otilde, 0x022D, +GDK_KEY_underscore, GDK_KEY_odiaeresis, 0x022B, +GDK_KEY_underscore, GDK_KEY_udiaeresis, 0x01D6, +GDK_KEY_underscore, 0x01EA, 0x01EC, +GDK_KEY_underscore, 0x01EB, 0x01ED, +GDK_KEY_underscore, 0x0226, 0x01E0, +GDK_KEY_underscore, 0x0227, 0x01E1, +GDK_KEY_underscore, 0x022E, 0x0230, +GDK_KEY_underscore, 0x022F, 0x0231, +GDK_KEY_underscore, GDK_KEY_Cyrillic_i, 0x04E3, +GDK_KEY_underscore, GDK_KEY_Cyrillic_u, 0x04EF, +GDK_KEY_underscore, GDK_KEY_Cyrillic_I, 0x04E2, +GDK_KEY_underscore, GDK_KEY_Cyrillic_U, 0x04EE, +GDK_KEY_underscore, GDK_KEY_Greek_ALPHA, 0x1FB9, +GDK_KEY_underscore, GDK_KEY_Greek_IOTA, 0x1FD9, +GDK_KEY_underscore, GDK_KEY_Greek_UPSILON, 0x1FE9, +GDK_KEY_underscore, GDK_KEY_Greek_alpha, 0x1FB1, +GDK_KEY_underscore, GDK_KEY_Greek_iota, 0x1FD1, +GDK_KEY_underscore, GDK_KEY_Greek_upsilon, 0x1FE1, +GDK_KEY_underscore, 0x1E36, 0x1E38, +GDK_KEY_underscore, 0x1E37, 0x1E39, +GDK_KEY_underscore, 0x1E5A, 0x1E5C, +GDK_KEY_underscore, 0x1E5B, 0x1E5D, +GDK_KEY_underscore, 0x2212, 0x208B, +GDK_KEY_underscore, GDK_KEY_KP_Space, 0x2082, +GDK_KEY_underscore, GDK_KEY_KP_Add, 0x208A, +GDK_KEY_underscore, GDK_KEY_KP_0, 0x2080, +GDK_KEY_underscore, GDK_KEY_KP_1, 0x2081, +GDK_KEY_underscore, GDK_KEY_KP_2, 0x2082, +GDK_KEY_underscore, GDK_KEY_KP_3, 0x2083, +GDK_KEY_underscore, GDK_KEY_KP_4, 0x2084, +GDK_KEY_underscore, GDK_KEY_KP_5, 0x2085, +GDK_KEY_underscore, GDK_KEY_KP_6, 0x2086, +GDK_KEY_underscore, GDK_KEY_KP_7, 0x2087, +GDK_KEY_underscore, GDK_KEY_KP_8, 0x2088, +GDK_KEY_underscore, GDK_KEY_KP_9, 0x2089, +GDK_KEY_underscore, GDK_KEY_KP_Equal, 0x208C, +GDK_KEY_grave, GDK_KEY_space, 0x0060, +GDK_KEY_grave, GDK_KEY_A, 0x00C0, +GDK_KEY_grave, GDK_KEY_E, 0x00C8, +GDK_KEY_grave, GDK_KEY_I, 0x00CC, +GDK_KEY_grave, GDK_KEY_N, 0x01F8, +GDK_KEY_grave, GDK_KEY_O, 0x00D2, +GDK_KEY_grave, GDK_KEY_U, 0x00D9, +GDK_KEY_grave, GDK_KEY_W, 0x1E80, +GDK_KEY_grave, GDK_KEY_Y, 0x1EF2, +GDK_KEY_grave, GDK_KEY_a, 0x00E0, +GDK_KEY_grave, GDK_KEY_e, 0x00E8, +GDK_KEY_grave, GDK_KEY_i, 0x00EC, +GDK_KEY_grave, GDK_KEY_n, 0x01F9, +GDK_KEY_grave, GDK_KEY_o, 0x00F2, +GDK_KEY_grave, GDK_KEY_u, 0x00F9, +GDK_KEY_grave, GDK_KEY_w, 0x1E81, +GDK_KEY_grave, GDK_KEY_y, 0x1EF3, +GDK_KEY_grave, GDK_KEY_Acircumflex, 0x1EA6, +GDK_KEY_grave, GDK_KEY_Ecircumflex, 0x1EC0, +GDK_KEY_grave, GDK_KEY_Ocircumflex, 0x1ED2, +GDK_KEY_grave, GDK_KEY_Udiaeresis, 0x01DB, +GDK_KEY_grave, GDK_KEY_acircumflex, 0x1EA7, +GDK_KEY_grave, GDK_KEY_ecircumflex, 0x1EC1, +GDK_KEY_grave, GDK_KEY_ocircumflex, 0x1ED3, +GDK_KEY_grave, GDK_KEY_udiaeresis, 0x01DC, +GDK_KEY_grave, GDK_KEY_Abreve, 0x1EB0, +GDK_KEY_grave, GDK_KEY_abreve, 0x1EB1, +GDK_KEY_grave, GDK_KEY_Emacron, 0x1E14, +GDK_KEY_grave, GDK_KEY_emacron, 0x1E15, +GDK_KEY_grave, GDK_KEY_Omacron, 0x1E50, +GDK_KEY_grave, GDK_KEY_omacron, 0x1E51, +GDK_KEY_grave, GDK_KEY_Cyrillic_ie, 0x0450, +GDK_KEY_grave, GDK_KEY_Cyrillic_i, 0x045D, +GDK_KEY_grave, GDK_KEY_Cyrillic_IE, 0x0400, +GDK_KEY_grave, GDK_KEY_Cyrillic_I, 0x040D, +GDK_KEY_grave, GDK_KEY_Greek_iotadieresis, 0x1FD2, +GDK_KEY_grave, GDK_KEY_Greek_upsilondieresis, 0x1FE2, +GDK_KEY_grave, GDK_KEY_Greek_ALPHA, 0x1FBA, +GDK_KEY_grave, GDK_KEY_Greek_EPSILON, 0x1FC8, +GDK_KEY_grave, GDK_KEY_Greek_ETA, 0x1FCA, +GDK_KEY_grave, GDK_KEY_Greek_IOTA, 0x1FDA, +GDK_KEY_grave, GDK_KEY_Greek_OMICRON, 0x1FF8, +GDK_KEY_grave, GDK_KEY_Greek_UPSILON, 0x1FEA, +GDK_KEY_grave, GDK_KEY_Greek_OMEGA, 0x1FFA, +GDK_KEY_grave, GDK_KEY_Greek_alpha, 0x1F70, +GDK_KEY_grave, GDK_KEY_Greek_epsilon, 0x1F72, +GDK_KEY_grave, GDK_KEY_Greek_eta, 0x1F74, +GDK_KEY_grave, GDK_KEY_Greek_iota, 0x1F76, +GDK_KEY_grave, GDK_KEY_Greek_omicron, 0x1F78, +GDK_KEY_grave, GDK_KEY_Greek_upsilon, 0x1F7A, +GDK_KEY_grave, GDK_KEY_Greek_omega, 0x1F7C, +GDK_KEY_grave, 0x1F00, 0x1F02, +GDK_KEY_grave, 0x1F01, 0x1F03, +GDK_KEY_grave, 0x1F08, 0x1F0A, +GDK_KEY_grave, 0x1F09, 0x1F0B, +GDK_KEY_grave, 0x1F10, 0x1F12, +GDK_KEY_grave, 0x1F11, 0x1F13, +GDK_KEY_grave, 0x1F18, 0x1F1A, +GDK_KEY_grave, 0x1F19, 0x1F1B, +GDK_KEY_grave, 0x1F20, 0x1F22, +GDK_KEY_grave, 0x1F21, 0x1F23, +GDK_KEY_grave, 0x1F28, 0x1F2A, +GDK_KEY_grave, 0x1F29, 0x1F2B, +GDK_KEY_grave, 0x1F30, 0x1F32, +GDK_KEY_grave, 0x1F31, 0x1F33, +GDK_KEY_grave, 0x1F38, 0x1F3A, +GDK_KEY_grave, 0x1F39, 0x1F3B, +GDK_KEY_grave, 0x1F40, 0x1F42, +GDK_KEY_grave, 0x1F41, 0x1F43, +GDK_KEY_grave, 0x1F48, 0x1F4A, +GDK_KEY_grave, 0x1F49, 0x1F4B, +GDK_KEY_grave, 0x1F50, 0x1F52, +GDK_KEY_grave, 0x1F51, 0x1F53, +GDK_KEY_grave, 0x1F59, 0x1F5B, +GDK_KEY_grave, 0x1F60, 0x1F62, +GDK_KEY_grave, 0x1F61, 0x1F63, +GDK_KEY_grave, 0x1F68, 0x1F6A, +GDK_KEY_grave, 0x1F69, 0x1F6B, +GDK_KEY_a, GDK_KEY_quotedbl, 0x00E4, +GDK_KEY_a, GDK_KEY_apostrophe, 0x00E1, +GDK_KEY_a, GDK_KEY_parenleft, 0x0103, +GDK_KEY_a, GDK_KEY_asterisk, 0x00E5, +GDK_KEY_a, GDK_KEY_comma, 0x0105, +GDK_KEY_a, GDK_KEY_minus, 0x0101, +GDK_KEY_a, GDK_KEY_greater, 0x00E2, +GDK_KEY_a, GDK_KEY_asciicircum, 0x00E2, +GDK_KEY_a, GDK_KEY_underscore, 0x00AA, +GDK_KEY_a, GDK_KEY_grave, 0x00E0, +GDK_KEY_a, GDK_KEY_a, 0x00E5, +GDK_KEY_a, GDK_KEY_e, 0x00E6, +GDK_KEY_a, GDK_KEY_asciitilde, 0x00E3, +GDK_KEY_a, GDK_KEY_diaeresis, 0x00E4, +GDK_KEY_a, GDK_KEY_acute, 0x00E1, +GDK_KEY_b, GDK_KEY_period, 0x1E03, +GDK_KEY_b, GDK_KEY_A, 0x0102, +GDK_KEY_b, GDK_KEY_E, 0x0114, +GDK_KEY_b, GDK_KEY_G, 0x011E, +GDK_KEY_b, GDK_KEY_I, 0x012C, +GDK_KEY_b, GDK_KEY_O, 0x014E, +GDK_KEY_b, GDK_KEY_U, 0x016C, +GDK_KEY_b, GDK_KEY_a, 0x0103, +GDK_KEY_b, GDK_KEY_e, 0x0115, +GDK_KEY_b, GDK_KEY_g, 0x011F, +GDK_KEY_b, GDK_KEY_i, 0x012D, +GDK_KEY_b, GDK_KEY_o, 0x014F, +GDK_KEY_b, GDK_KEY_u, 0x016D, +GDK_KEY_b, 0x0228, 0x1E1C, +GDK_KEY_b, 0x0229, 0x1E1D, +GDK_KEY_b, GDK_KEY_Cyrillic_a, 0x04D1, +GDK_KEY_b, GDK_KEY_Cyrillic_ie, 0x04D7, +GDK_KEY_b, GDK_KEY_Cyrillic_i, 0x0439, +GDK_KEY_b, GDK_KEY_Cyrillic_u, 0x045E, +GDK_KEY_b, GDK_KEY_Cyrillic_zhe, 0x04C2, +GDK_KEY_b, GDK_KEY_Cyrillic_A, 0x04D0, +GDK_KEY_b, GDK_KEY_Cyrillic_IE, 0x04D6, +GDK_KEY_b, GDK_KEY_Cyrillic_I, 0x0419, +GDK_KEY_b, GDK_KEY_Cyrillic_U, 0x040E, +GDK_KEY_b, GDK_KEY_Cyrillic_ZHE, 0x04C1, +GDK_KEY_b, GDK_KEY_Greek_ALPHA, 0x1FB8, +GDK_KEY_b, GDK_KEY_Greek_IOTA, 0x1FD8, +GDK_KEY_b, GDK_KEY_Greek_UPSILON, 0x1FE8, +GDK_KEY_b, GDK_KEY_Greek_alpha, 0x1FB0, +GDK_KEY_b, GDK_KEY_Greek_iota, 0x1FD0, +GDK_KEY_b, GDK_KEY_Greek_upsilon, 0x1FE0, +GDK_KEY_b, 0x1EA0, 0x1EB6, +GDK_KEY_b, 0x1EA1, 0x1EB7, +GDK_KEY_c, GDK_KEY_apostrophe, 0x0107, +GDK_KEY_c, GDK_KEY_comma, 0x00E7, +GDK_KEY_c, GDK_KEY_period, 0x010B, +GDK_KEY_c, GDK_KEY_slash, 0x00A2, +GDK_KEY_c, GDK_KEY_0, 0x00A9, +GDK_KEY_c, GDK_KEY_less, 0x010D, +GDK_KEY_c, GDK_KEY_equal, 0x20AC, +GDK_KEY_c, GDK_KEY_A, 0x01CD, +GDK_KEY_c, GDK_KEY_C, 0x010C, +GDK_KEY_c, GDK_KEY_D, 0x010E, +GDK_KEY_c, GDK_KEY_E, 0x011A, +GDK_KEY_c, GDK_KEY_G, 0x01E6, +GDK_KEY_c, GDK_KEY_H, 0x021E, +GDK_KEY_c, GDK_KEY_I, 0x01CF, +GDK_KEY_c, GDK_KEY_K, 0x01E8, +GDK_KEY_c, GDK_KEY_L, 0x013D, +GDK_KEY_c, GDK_KEY_N, 0x0147, +GDK_KEY_c, GDK_KEY_O, 0x01D1, +GDK_KEY_c, GDK_KEY_R, 0x0158, +GDK_KEY_c, GDK_KEY_S, 0x0160, +GDK_KEY_c, GDK_KEY_T, 0x0164, +GDK_KEY_c, GDK_KEY_U, 0x01D3, +GDK_KEY_c, GDK_KEY_Z, 0x017D, +GDK_KEY_c, GDK_KEY_a, 0x01CE, +GDK_KEY_c, GDK_KEY_c, 0x010D, +GDK_KEY_c, GDK_KEY_d, 0x010F, +GDK_KEY_c, GDK_KEY_e, 0x011B, +GDK_KEY_c, GDK_KEY_g, 0x01E7, +GDK_KEY_c, GDK_KEY_h, 0x021F, +GDK_KEY_c, GDK_KEY_i, 0x01D0, +GDK_KEY_c, GDK_KEY_j, 0x01F0, +GDK_KEY_c, GDK_KEY_k, 0x01E9, +GDK_KEY_c, GDK_KEY_l, 0x013E, +GDK_KEY_c, GDK_KEY_n, 0x0148, +GDK_KEY_c, GDK_KEY_o, 0x01D2, +GDK_KEY_c, GDK_KEY_r, 0x0159, +GDK_KEY_c, GDK_KEY_s, 0x0161, +GDK_KEY_c, GDK_KEY_t, 0x0165, +GDK_KEY_c, GDK_KEY_u, 0x01D4, +GDK_KEY_c, GDK_KEY_z, 0x017E, +GDK_KEY_c, GDK_KEY_bar, 0x00A2, +GDK_KEY_c, GDK_KEY_Udiaeresis, 0x01D9, +GDK_KEY_c, GDK_KEY_udiaeresis, 0x01DA, +GDK_KEY_c, 0x01B7, 0x01EE, +GDK_KEY_c, 0x0292, 0x01EF, +GDK_KEY_d, GDK_KEY_minus, 0x20AB, +GDK_KEY_d, GDK_KEY_period, 0x1E0B, +GDK_KEY_d, GDK_KEY_less, 0x010F, +GDK_KEY_d, GDK_KEY_h, 0x00F0, +GDK_KEY_e, GDK_KEY_quotedbl, 0x00EB, +GDK_KEY_e, GDK_KEY_apostrophe, 0x00E9, +GDK_KEY_e, GDK_KEY_comma, 0x0119, +GDK_KEY_e, GDK_KEY_minus, 0x0113, +GDK_KEY_e, GDK_KEY_period, 0x0117, +GDK_KEY_e, GDK_KEY_less, 0x011B, +GDK_KEY_e, GDK_KEY_equal, 0x20AC, +GDK_KEY_e, GDK_KEY_greater, 0x00EA, +GDK_KEY_e, GDK_KEY_asciicircum, 0x00EA, +GDK_KEY_e, GDK_KEY_underscore, 0x0113, +GDK_KEY_e, GDK_KEY_grave, 0x00E8, +GDK_KEY_e, GDK_KEY_e, 0x0259, +GDK_KEY_e, GDK_KEY_diaeresis, 0x00EB, +GDK_KEY_e, GDK_KEY_acute, 0x00E9, +GDK_KEY_f, GDK_KEY_period, 0x1E1F, +GDK_KEY_f, GDK_KEY_S, 0x017F, +GDK_KEY_f, GDK_KEY_s, 0x017F, +GDK_KEY_g, GDK_KEY_parenleft, 0x011F, +GDK_KEY_g, GDK_KEY_comma, 0x0123, +GDK_KEY_g, GDK_KEY_period, 0x0121, +GDK_KEY_g, GDK_KEY_U, 0x011F, +GDK_KEY_g, GDK_KEY_breve, 0x011F, +GDK_KEY_i, GDK_KEY_quotedbl, 0x00EF, +GDK_KEY_i, GDK_KEY_apostrophe, 0x00ED, +GDK_KEY_i, GDK_KEY_comma, 0x012F, +GDK_KEY_i, GDK_KEY_minus, 0x012B, +GDK_KEY_i, GDK_KEY_period, 0x0131, +GDK_KEY_i, GDK_KEY_greater, 0x00EE, +GDK_KEY_i, GDK_KEY_asciicircum, 0x00EE, +GDK_KEY_i, GDK_KEY_underscore, 0x012B, +GDK_KEY_i, GDK_KEY_grave, 0x00EC, +GDK_KEY_i, GDK_KEY_asciitilde, 0x0129, +GDK_KEY_i, GDK_KEY_diaeresis, 0x00EF, +GDK_KEY_i, GDK_KEY_acute, 0x00ED, +GDK_KEY_k, GDK_KEY_comma, 0x0137, +GDK_KEY_k, GDK_KEY_k, 0x0138, +GDK_KEY_l, GDK_KEY_apostrophe, 0x013A, +GDK_KEY_l, GDK_KEY_comma, 0x013C, +GDK_KEY_l, GDK_KEY_minus, 0x00A3, +GDK_KEY_l, GDK_KEY_slash, 0x0142, +GDK_KEY_l, GDK_KEY_less, 0x013E, +GDK_KEY_l, GDK_KEY_equal, 0x00A3, +GDK_KEY_l, GDK_KEY_v, 0x007C, +GDK_KEY_m, GDK_KEY_period, 0x1E41, +GDK_KEY_m, GDK_KEY_slash, 0x20A5, +GDK_KEY_m, GDK_KEY_u, 0x00B5, +GDK_KEY_n, GDK_KEY_apostrophe, 0x0144, +GDK_KEY_n, GDK_KEY_comma, 0x0146, +GDK_KEY_n, GDK_KEY_minus, 0x00F1, +GDK_KEY_n, GDK_KEY_less, 0x0148, +GDK_KEY_n, GDK_KEY_g, 0x014B, +GDK_KEY_n, GDK_KEY_asciitilde, 0x00F1, +GDK_KEY_o, GDK_KEY_quotedbl, 0x00F6, +GDK_KEY_o, GDK_KEY_apostrophe, 0x00F3, +GDK_KEY_o, GDK_KEY_minus, 0x014D, +GDK_KEY_o, GDK_KEY_slash, 0x00F8, +GDK_KEY_o, GDK_KEY_greater, 0x00F4, +GDK_KEY_o, GDK_KEY_A, 0x00C5, +GDK_KEY_o, GDK_KEY_C, 0x00A9, +GDK_KEY_o, GDK_KEY_R, 0x00AE, +GDK_KEY_o, GDK_KEY_U, 0x016E, +GDK_KEY_o, GDK_KEY_X, 0x00A4, +GDK_KEY_o, GDK_KEY_asciicircum, 0x00F4, +GDK_KEY_o, GDK_KEY_underscore, 0x00BA, +GDK_KEY_o, GDK_KEY_grave, 0x00F2, +GDK_KEY_o, GDK_KEY_a, 0x00E5, +GDK_KEY_o, GDK_KEY_c, 0x00A9, +GDK_KEY_o, GDK_KEY_e, 0x0153, +GDK_KEY_o, GDK_KEY_o, 0x00B0, +GDK_KEY_o, GDK_KEY_r, 0x00AE, +GDK_KEY_o, GDK_KEY_s, 0x00A7, +GDK_KEY_o, GDK_KEY_u, 0x016F, +GDK_KEY_o, GDK_KEY_w, 0x1E98, +GDK_KEY_o, GDK_KEY_x, 0x00A4, +GDK_KEY_o, GDK_KEY_y, 0x1E99, +GDK_KEY_o, GDK_KEY_asciitilde, 0x00F5, +GDK_KEY_o, GDK_KEY_diaeresis, 0x00F6, +GDK_KEY_o, GDK_KEY_acute, 0x00F3, +GDK_KEY_p, GDK_KEY_exclam, 0x00B6, +GDK_KEY_p, GDK_KEY_period, 0x1E57, +GDK_KEY_r, GDK_KEY_apostrophe, 0x0155, +GDK_KEY_r, GDK_KEY_comma, 0x0157, +GDK_KEY_r, GDK_KEY_less, 0x0159, +GDK_KEY_s, GDK_KEY_exclam, 0x00A7, +GDK_KEY_s, GDK_KEY_apostrophe, 0x015B, +GDK_KEY_s, GDK_KEY_comma, 0x015F, +GDK_KEY_s, GDK_KEY_period, 0x1E61, +GDK_KEY_s, GDK_KEY_0, 0x00A7, +GDK_KEY_s, GDK_KEY_1, 0x00B9, +GDK_KEY_s, GDK_KEY_2, 0x00B2, +GDK_KEY_s, GDK_KEY_3, 0x00B3, +GDK_KEY_s, GDK_KEY_less, 0x0161, +GDK_KEY_s, GDK_KEY_M, 0x2120, +GDK_KEY_s, GDK_KEY_m, 0x2120, +GDK_KEY_s, GDK_KEY_o, 0x00A7, +GDK_KEY_s, GDK_KEY_s, 0x00DF, +GDK_KEY_s, GDK_KEY_cedilla, 0x015F, +GDK_KEY_t, GDK_KEY_minus, 0x0167, +GDK_KEY_t, GDK_KEY_period, 0x1E6B, +GDK_KEY_t, GDK_KEY_slash, 0x0167, +GDK_KEY_t, GDK_KEY_less, 0x0165, +GDK_KEY_t, GDK_KEY_M, 0x2122, +GDK_KEY_t, GDK_KEY_h, 0x00FE, +GDK_KEY_t, GDK_KEY_m, 0x2122, +GDK_KEY_u, GDK_KEY_quotedbl, 0x00FC, +GDK_KEY_u, GDK_KEY_apostrophe, 0x00FA, +GDK_KEY_u, GDK_KEY_asterisk, 0x016F, +GDK_KEY_u, GDK_KEY_comma, 0x0173, +GDK_KEY_u, GDK_KEY_minus, 0x016B, +GDK_KEY_u, GDK_KEY_slash, 0x00B5, +GDK_KEY_u, GDK_KEY_greater, 0x00FB, +GDK_KEY_u, GDK_KEY_asciicircum, 0x00FB, +GDK_KEY_u, GDK_KEY_underscore, 0x016B, +GDK_KEY_u, GDK_KEY_grave, 0x00F9, +GDK_KEY_u, GDK_KEY_u, 0x016D, +GDK_KEY_u, GDK_KEY_asciitilde, 0x0169, +GDK_KEY_u, GDK_KEY_diaeresis, 0x00FC, +GDK_KEY_u, GDK_KEY_acute, 0x00FA, +GDK_KEY_v, GDK_KEY_Z, 0x017D, +GDK_KEY_v, GDK_KEY_l, 0x007C, +GDK_KEY_v, GDK_KEY_z, 0x017E, +GDK_KEY_w, GDK_KEY_asciicircum, 0x0175, +GDK_KEY_x, GDK_KEY_0, 0x00A4, +GDK_KEY_x, GDK_KEY_O, 0x00A4, +GDK_KEY_x, GDK_KEY_o, 0x00A4, +GDK_KEY_x, GDK_KEY_x, 0x00D7, +GDK_KEY_y, GDK_KEY_quotedbl, 0x00FF, +GDK_KEY_y, GDK_KEY_apostrophe, 0x00FD, +GDK_KEY_y, GDK_KEY_minus, 0x00A5, +GDK_KEY_y, GDK_KEY_equal, 0x00A5, +GDK_KEY_y, GDK_KEY_asciicircum, 0x0177, +GDK_KEY_y, GDK_KEY_diaeresis, 0x00FF, +GDK_KEY_y, GDK_KEY_acute, 0x00FD, +GDK_KEY_z, GDK_KEY_apostrophe, 0x017A, +GDK_KEY_z, GDK_KEY_period, 0x017C, +GDK_KEY_z, GDK_KEY_less, 0x017E, +GDK_KEY_bar, GDK_KEY_C, 0x00A2, +GDK_KEY_bar, GDK_KEY_c, 0x00A2, +GDK_KEY_asciitilde, GDK_KEY_space, 0x007E, +GDK_KEY_asciitilde, GDK_KEY_A, 0x00C3, +GDK_KEY_asciitilde, GDK_KEY_E, 0x1EBC, +GDK_KEY_asciitilde, GDK_KEY_I, 0x0128, +GDK_KEY_asciitilde, GDK_KEY_N, 0x00D1, +GDK_KEY_asciitilde, GDK_KEY_O, 0x00D5, +GDK_KEY_asciitilde, GDK_KEY_U, 0x0168, +GDK_KEY_asciitilde, GDK_KEY_V, 0x1E7C, +GDK_KEY_asciitilde, GDK_KEY_Y, 0x1EF8, +GDK_KEY_asciitilde, GDK_KEY_a, 0x00E3, +GDK_KEY_asciitilde, GDK_KEY_e, 0x1EBD, +GDK_KEY_asciitilde, GDK_KEY_i, 0x0129, +GDK_KEY_asciitilde, GDK_KEY_n, 0x00F1, +GDK_KEY_asciitilde, GDK_KEY_o, 0x00F5, +GDK_KEY_asciitilde, GDK_KEY_u, 0x0169, +GDK_KEY_asciitilde, GDK_KEY_v, 0x1E7D, +GDK_KEY_asciitilde, GDK_KEY_y, 0x1EF9, +GDK_KEY_asciitilde, GDK_KEY_Acircumflex, 0x1EAA, +GDK_KEY_asciitilde, GDK_KEY_Ecircumflex, 0x1EC4, +GDK_KEY_asciitilde, GDK_KEY_Ocircumflex, 0x1ED6, +GDK_KEY_asciitilde, GDK_KEY_acircumflex, 0x1EAB, +GDK_KEY_asciitilde, GDK_KEY_ecircumflex, 0x1EC5, +GDK_KEY_asciitilde, GDK_KEY_ocircumflex, 0x1ED7, +GDK_KEY_asciitilde, GDK_KEY_Abreve, 0x1EB4, +GDK_KEY_asciitilde, GDK_KEY_abreve, 0x1EB5, +GDK_KEY_asciitilde, GDK_KEY_Greek_iotadieresis, 0x1FD7, +GDK_KEY_asciitilde, GDK_KEY_Greek_upsilondieresis, 0x1FE7, +GDK_KEY_asciitilde, GDK_KEY_Greek_alpha, 0x1FB6, +GDK_KEY_asciitilde, GDK_KEY_Greek_eta, 0x1FC6, +GDK_KEY_asciitilde, GDK_KEY_Greek_iota, 0x1FD6, +GDK_KEY_asciitilde, GDK_KEY_Greek_upsilon, 0x1FE6, +GDK_KEY_asciitilde, GDK_KEY_Greek_omega, 0x1FF6, +GDK_KEY_asciitilde, 0x1F00, 0x1F06, +GDK_KEY_asciitilde, 0x1F01, 0x1F07, +GDK_KEY_asciitilde, 0x1F08, 0x1F0E, +GDK_KEY_asciitilde, 0x1F09, 0x1F0F, +GDK_KEY_asciitilde, 0x1F20, 0x1F26, +GDK_KEY_asciitilde, 0x1F21, 0x1F27, +GDK_KEY_asciitilde, 0x1F28, 0x1F2E, +GDK_KEY_asciitilde, 0x1F29, 0x1F2F, +GDK_KEY_asciitilde, 0x1F30, 0x1F36, +GDK_KEY_asciitilde, 0x1F31, 0x1F37, +GDK_KEY_asciitilde, 0x1F38, 0x1F3E, +GDK_KEY_asciitilde, 0x1F39, 0x1F3F, +GDK_KEY_asciitilde, 0x1F50, 0x1F56, +GDK_KEY_asciitilde, 0x1F51, 0x1F57, +GDK_KEY_asciitilde, 0x1F59, 0x1F5F, +GDK_KEY_asciitilde, 0x1F60, 0x1F66, +GDK_KEY_asciitilde, 0x1F61, 0x1F67, +GDK_KEY_asciitilde, 0x1F68, 0x1F6E, +GDK_KEY_asciitilde, 0x1F69, 0x1F6F, +GDK_KEY_diaeresis, GDK_KEY_apostrophe, 0x0385, +GDK_KEY_diaeresis, GDK_KEY_A, 0x00C4, +GDK_KEY_diaeresis, GDK_KEY_E, 0x00CB, +GDK_KEY_diaeresis, GDK_KEY_I, 0x00CF, +GDK_KEY_diaeresis, GDK_KEY_O, 0x00D6, +GDK_KEY_diaeresis, GDK_KEY_U, 0x00DC, +GDK_KEY_diaeresis, GDK_KEY_Y, 0x0178, +GDK_KEY_diaeresis, GDK_KEY_grave, 0x1FED, +GDK_KEY_diaeresis, GDK_KEY_a, 0x00E4, +GDK_KEY_diaeresis, GDK_KEY_e, 0x00EB, +GDK_KEY_diaeresis, GDK_KEY_i, 0x00EF, +GDK_KEY_diaeresis, GDK_KEY_o, 0x00F6, +GDK_KEY_diaeresis, GDK_KEY_u, 0x00FC, +GDK_KEY_diaeresis, GDK_KEY_y, 0x00FF, +GDK_KEY_diaeresis, GDK_KEY_asciitilde, 0x1FC1, +GDK_KEY_diaeresis, GDK_KEY_acute, 0x0385, +GDK_KEY_diaeresis, GDK_KEY_dead_grave, 0x1FED, +GDK_KEY_diaeresis, GDK_KEY_dead_acute, 0x0385, +GDK_KEY_diaeresis, GDK_KEY_dead_tilde, 0x1FC1, +GDK_KEY_macron, GDK_KEY_A, 0x0100, +GDK_KEY_macron, GDK_KEY_E, 0x0112, +GDK_KEY_macron, GDK_KEY_G, 0x1E20, +GDK_KEY_macron, GDK_KEY_I, 0x012A, +GDK_KEY_macron, GDK_KEY_O, 0x014C, +GDK_KEY_macron, GDK_KEY_U, 0x016A, +GDK_KEY_macron, GDK_KEY_Y, 0x0232, +GDK_KEY_macron, GDK_KEY_a, 0x0101, +GDK_KEY_macron, GDK_KEY_e, 0x0113, +GDK_KEY_macron, GDK_KEY_g, 0x1E21, +GDK_KEY_macron, GDK_KEY_i, 0x012B, +GDK_KEY_macron, GDK_KEY_o, 0x014D, +GDK_KEY_macron, GDK_KEY_u, 0x016B, +GDK_KEY_macron, GDK_KEY_y, 0x0233, +GDK_KEY_macron, GDK_KEY_Adiaeresis, 0x01DE, +GDK_KEY_macron, GDK_KEY_AE, 0x01E2, +GDK_KEY_macron, GDK_KEY_Otilde, 0x022C, +GDK_KEY_macron, GDK_KEY_Odiaeresis, 0x022A, +GDK_KEY_macron, GDK_KEY_Udiaeresis, 0x01D5, +GDK_KEY_macron, GDK_KEY_adiaeresis, 0x01DF, +GDK_KEY_macron, GDK_KEY_ae, 0x01E3, +GDK_KEY_macron, GDK_KEY_otilde, 0x022D, +GDK_KEY_macron, GDK_KEY_odiaeresis, 0x022B, +GDK_KEY_macron, GDK_KEY_udiaeresis, 0x01D6, +GDK_KEY_macron, 0x01EA, 0x01EC, +GDK_KEY_macron, 0x01EB, 0x01ED, +GDK_KEY_macron, 0x0226, 0x01E0, +GDK_KEY_macron, 0x0227, 0x01E1, +GDK_KEY_macron, 0x022E, 0x0230, +GDK_KEY_macron, 0x022F, 0x0231, +GDK_KEY_macron, GDK_KEY_Cyrillic_i, 0x04E3, +GDK_KEY_macron, GDK_KEY_Cyrillic_u, 0x04EF, +GDK_KEY_macron, GDK_KEY_Cyrillic_I, 0x04E2, +GDK_KEY_macron, GDK_KEY_Cyrillic_U, 0x04EE, +GDK_KEY_macron, GDK_KEY_Greek_ALPHA, 0x1FB9, +GDK_KEY_macron, GDK_KEY_Greek_IOTA, 0x1FD9, +GDK_KEY_macron, GDK_KEY_Greek_UPSILON, 0x1FE9, +GDK_KEY_macron, GDK_KEY_Greek_alpha, 0x1FB1, +GDK_KEY_macron, GDK_KEY_Greek_iota, 0x1FD1, +GDK_KEY_macron, GDK_KEY_Greek_upsilon, 0x1FE1, +GDK_KEY_macron, 0x1E36, 0x1E38, +GDK_KEY_macron, 0x1E37, 0x1E39, +GDK_KEY_macron, 0x1E5A, 0x1E5C, +GDK_KEY_macron, 0x1E5B, 0x1E5D, +GDK_KEY_acute, GDK_KEY_A, 0x00C1, +GDK_KEY_acute, GDK_KEY_C, 0x0106, +GDK_KEY_acute, GDK_KEY_E, 0x00C9, +GDK_KEY_acute, GDK_KEY_G, 0x01F4, +GDK_KEY_acute, GDK_KEY_I, 0x00CD, +GDK_KEY_acute, GDK_KEY_K, 0x1E30, +GDK_KEY_acute, GDK_KEY_L, 0x0139, +GDK_KEY_acute, GDK_KEY_M, 0x1E3E, +GDK_KEY_acute, GDK_KEY_N, 0x0143, +GDK_KEY_acute, GDK_KEY_O, 0x00D3, +GDK_KEY_acute, GDK_KEY_P, 0x1E54, +GDK_KEY_acute, GDK_KEY_R, 0x0154, +GDK_KEY_acute, GDK_KEY_S, 0x015A, +GDK_KEY_acute, GDK_KEY_U, 0x00DA, +GDK_KEY_acute, GDK_KEY_W, 0x1E82, +GDK_KEY_acute, GDK_KEY_Y, 0x00DD, +GDK_KEY_acute, GDK_KEY_Z, 0x0179, +GDK_KEY_acute, GDK_KEY_a, 0x00E1, +GDK_KEY_acute, GDK_KEY_c, 0x0107, +GDK_KEY_acute, GDK_KEY_e, 0x00E9, +GDK_KEY_acute, GDK_KEY_g, 0x01F5, +GDK_KEY_acute, GDK_KEY_i, 0x00ED, +GDK_KEY_acute, GDK_KEY_k, 0x1E31, +GDK_KEY_acute, GDK_KEY_l, 0x013A, +GDK_KEY_acute, GDK_KEY_m, 0x1E3F, +GDK_KEY_acute, GDK_KEY_n, 0x0144, +GDK_KEY_acute, GDK_KEY_o, 0x00F3, +GDK_KEY_acute, GDK_KEY_p, 0x1E55, +GDK_KEY_acute, GDK_KEY_r, 0x0155, +GDK_KEY_acute, GDK_KEY_s, 0x015B, +GDK_KEY_acute, GDK_KEY_u, 0x00FA, +GDK_KEY_acute, GDK_KEY_w, 0x1E83, +GDK_KEY_acute, GDK_KEY_y, 0x00FD, +GDK_KEY_acute, GDK_KEY_z, 0x017A, +GDK_KEY_acute, GDK_KEY_Acircumflex, 0x1EA4, +GDK_KEY_acute, GDK_KEY_Aring, 0x01FA, +GDK_KEY_acute, GDK_KEY_AE, 0x01FC, +GDK_KEY_acute, GDK_KEY_Ccedilla, 0x1E08, +GDK_KEY_acute, GDK_KEY_Ecircumflex, 0x1EBE, +GDK_KEY_acute, GDK_KEY_Idiaeresis, 0x1E2E, +GDK_KEY_acute, GDK_KEY_Ocircumflex, 0x1ED0, +GDK_KEY_acute, GDK_KEY_Otilde, 0x1E4C, +GDK_KEY_acute, GDK_KEY_Ooblique, 0x01FE, +GDK_KEY_acute, GDK_KEY_Udiaeresis, 0x01D7, +GDK_KEY_acute, GDK_KEY_acircumflex, 0x1EA5, +GDK_KEY_acute, GDK_KEY_aring, 0x01FB, +GDK_KEY_acute, GDK_KEY_ae, 0x01FD, +GDK_KEY_acute, GDK_KEY_ccedilla, 0x1E09, +GDK_KEY_acute, GDK_KEY_ecircumflex, 0x1EBF, +GDK_KEY_acute, GDK_KEY_idiaeresis, 0x1E2F, +GDK_KEY_acute, GDK_KEY_ocircumflex, 0x1ED1, +GDK_KEY_acute, GDK_KEY_otilde, 0x1E4D, +GDK_KEY_acute, GDK_KEY_oslash, 0x01FF, +GDK_KEY_acute, GDK_KEY_udiaeresis, 0x01D8, +GDK_KEY_acute, GDK_KEY_Abreve, 0x1EAE, +GDK_KEY_acute, GDK_KEY_abreve, 0x1EAF, +GDK_KEY_acute, GDK_KEY_Emacron, 0x1E16, +GDK_KEY_acute, GDK_KEY_emacron, 0x1E17, +GDK_KEY_acute, GDK_KEY_Omacron, 0x1E52, +GDK_KEY_acute, GDK_KEY_Utilde, 0x1E78, +GDK_KEY_acute, GDK_KEY_omacron, 0x1E53, +GDK_KEY_acute, GDK_KEY_utilde, 0x1E79, +GDK_KEY_acute, GDK_KEY_Cyrillic_ghe, 0x0453, +GDK_KEY_acute, GDK_KEY_Cyrillic_ka, 0x045C, +GDK_KEY_acute, GDK_KEY_Cyrillic_GHE, 0x0403, +GDK_KEY_acute, GDK_KEY_Cyrillic_KA, 0x040C, +GDK_KEY_acute, GDK_KEY_Greek_iotadieresis, 0x0390, +GDK_KEY_acute, GDK_KEY_Greek_upsilondieresis, 0x03B0, +GDK_KEY_acute, GDK_KEY_Greek_ALPHA, 0x0386, +GDK_KEY_acute, GDK_KEY_Greek_EPSILON, 0x0388, +GDK_KEY_acute, GDK_KEY_Greek_ETA, 0x0389, +GDK_KEY_acute, GDK_KEY_Greek_IOTA, 0x038A, +GDK_KEY_acute, GDK_KEY_Greek_OMICRON, 0x038C, +GDK_KEY_acute, GDK_KEY_Greek_UPSILON, 0x038E, +GDK_KEY_acute, GDK_KEY_Greek_OMEGA, 0x038F, +GDK_KEY_acute, GDK_KEY_Greek_alpha, 0x03AC, +GDK_KEY_acute, GDK_KEY_Greek_epsilon, 0x03AD, +GDK_KEY_acute, GDK_KEY_Greek_eta, 0x03AE, +GDK_KEY_acute, GDK_KEY_Greek_iota, 0x03AF, +GDK_KEY_acute, GDK_KEY_Greek_omicron, 0x03CC, +GDK_KEY_acute, GDK_KEY_Greek_upsilon, 0x03CD, +GDK_KEY_acute, GDK_KEY_Greek_omega, 0x03CE, +GDK_KEY_acute, 0x1F00, 0x1F04, +GDK_KEY_acute, 0x1F01, 0x1F05, +GDK_KEY_acute, 0x1F08, 0x1F0C, +GDK_KEY_acute, 0x1F09, 0x1F0D, +GDK_KEY_acute, 0x1F10, 0x1F14, +GDK_KEY_acute, 0x1F11, 0x1F15, +GDK_KEY_acute, 0x1F18, 0x1F1C, +GDK_KEY_acute, 0x1F19, 0x1F1D, +GDK_KEY_acute, 0x1F20, 0x1F24, +GDK_KEY_acute, 0x1F21, 0x1F25, +GDK_KEY_acute, 0x1F28, 0x1F2C, +GDK_KEY_acute, 0x1F29, 0x1F2D, +GDK_KEY_acute, 0x1F30, 0x1F34, +GDK_KEY_acute, 0x1F31, 0x1F35, +GDK_KEY_acute, 0x1F38, 0x1F3C, +GDK_KEY_acute, 0x1F39, 0x1F3D, +GDK_KEY_acute, 0x1F40, 0x1F44, +GDK_KEY_acute, 0x1F41, 0x1F45, +GDK_KEY_acute, 0x1F48, 0x1F4C, +GDK_KEY_acute, 0x1F49, 0x1F4D, +GDK_KEY_acute, 0x1F50, 0x1F54, +GDK_KEY_acute, 0x1F51, 0x1F55, +GDK_KEY_acute, 0x1F59, 0x1F5D, +GDK_KEY_acute, 0x1F60, 0x1F64, +GDK_KEY_acute, 0x1F61, 0x1F65, +GDK_KEY_acute, 0x1F68, 0x1F6C, +GDK_KEY_acute, 0x1F69, 0x1F6D, +GDK_KEY_cedilla, GDK_KEY_C, 0x00C7, +GDK_KEY_cedilla, GDK_KEY_D, 0x1E10, +GDK_KEY_cedilla, GDK_KEY_E, 0x0228, +GDK_KEY_cedilla, GDK_KEY_G, 0x0122, +GDK_KEY_cedilla, GDK_KEY_H, 0x1E28, +GDK_KEY_cedilla, GDK_KEY_K, 0x0136, +GDK_KEY_cedilla, GDK_KEY_L, 0x013B, +GDK_KEY_cedilla, GDK_KEY_N, 0x0145, +GDK_KEY_cedilla, GDK_KEY_R, 0x0156, +GDK_KEY_cedilla, GDK_KEY_S, 0x015E, +GDK_KEY_cedilla, GDK_KEY_T, 0x0162, +GDK_KEY_cedilla, GDK_KEY_c, 0x00E7, +GDK_KEY_cedilla, GDK_KEY_d, 0x1E11, +GDK_KEY_cedilla, GDK_KEY_e, 0x0229, +GDK_KEY_cedilla, GDK_KEY_g, 0x0123, +GDK_KEY_cedilla, GDK_KEY_h, 0x1E29, +GDK_KEY_cedilla, GDK_KEY_k, 0x0137, +GDK_KEY_cedilla, GDK_KEY_l, 0x013C, +GDK_KEY_cedilla, GDK_KEY_n, 0x0146, +GDK_KEY_cedilla, GDK_KEY_r, 0x0157, +GDK_KEY_cedilla, GDK_KEY_s, 0x015F, +GDK_KEY_cedilla, GDK_KEY_t, 0x0163, +GDK_KEY_breve, GDK_KEY_G, 0x011E, +GDK_KEY_breve, GDK_KEY_g, 0x011F, +0x05B4, GDK_KEY_hebrew_yod, 0xFB1D, +0x05B7, 0x05F2, 0xFB1F, +0x05B7, GDK_KEY_hebrew_aleph, 0xFB2E, +0x05B8, GDK_KEY_hebrew_aleph, 0xFB2F, +0x05B9, GDK_KEY_hebrew_waw, 0xFB4B, +0x05BC, GDK_KEY_hebrew_aleph, 0xFB30, +0x05BC, GDK_KEY_hebrew_beth, 0xFB31, +0x05BC, GDK_KEY_hebrew_gimmel, 0xFB32, +0x05BC, GDK_KEY_hebrew_daleth, 0xFB33, +0x05BC, GDK_KEY_hebrew_he, 0xFB34, +0x05BC, GDK_KEY_hebrew_waw, 0xFB35, +0x05BC, GDK_KEY_hebrew_zayin, 0xFB36, +0x05BC, GDK_KEY_hebrew_teth, 0xFB38, +0x05BC, GDK_KEY_hebrew_yod, 0xFB39, +0x05BC, GDK_KEY_hebrew_finalkaph, 0xFB3A, +0x05BC, GDK_KEY_hebrew_kaph, 0xFB3B, +0x05BC, GDK_KEY_hebrew_lamed, 0xFB3C, +0x05BC, GDK_KEY_hebrew_mem, 0xFB3E, +0x05BC, GDK_KEY_hebrew_nun, 0xFB40, +0x05BC, GDK_KEY_hebrew_samekh, 0xFB41, +0x05BC, GDK_KEY_hebrew_finalpe, 0xFB43, +0x05BC, GDK_KEY_hebrew_pe, 0xFB44, +0x05BC, GDK_KEY_hebrew_zadi, 0xFB46, +0x05BC, GDK_KEY_hebrew_qoph, 0xFB47, +0x05BC, GDK_KEY_hebrew_resh, 0xFB48, +0x05BC, GDK_KEY_hebrew_shin, 0xFB49, +0x05BC, GDK_KEY_hebrew_taw, 0xFB4A, +0x05BF, GDK_KEY_hebrew_beth, 0xFB4C, +0x05BF, GDK_KEY_hebrew_kaph, 0xFB4D, +0x05BF, GDK_KEY_hebrew_pe, 0xFB4E, +0x05C1, GDK_KEY_hebrew_shin, 0xFB2A, +0x05C1, 0xFB49, 0xFB2C, +0x05C2, GDK_KEY_hebrew_shin, 0xFB2B, +0x05C2, 0xFB49, 0xFB2D, +0x0653, GDK_KEY_Arabic_alef, 0x0622, +0x0654, GDK_KEY_Arabic_alef, 0x0623, +0x0654, GDK_KEY_Arabic_waw, 0x0624, +0x0654, GDK_KEY_Arabic_yeh, 0x0626, +0x0654, 0x06C1, 0x06C2, +0x0654, 0x06D2, 0x06D3, +0x0654, 0x06D5, 0x06C0, +0x0655, GDK_KEY_Arabic_alef, 0x0625, +GDK_KEY_Cyrillic_pe, GDK_KEY_Cyrillic_a, 0x00A7, +GDK_KEY_Cyrillic_IE, GDK_KEY_equal, 0x20AC, +GDK_KEY_Cyrillic_EN, GDK_KEY_Cyrillic_o, 0x2116, +GDK_KEY_Cyrillic_EN, GDK_KEY_Cyrillic_O, 0x2116, +GDK_KEY_Cyrillic_ES, GDK_KEY_equal, 0x20AC, +GDK_KEY_Greek_ALPHA, GDK_KEY_apostrophe, 0x0386, +GDK_KEY_Greek_EPSILON, GDK_KEY_apostrophe, 0x0388, +GDK_KEY_Greek_ETA, GDK_KEY_apostrophe, 0x0389, +GDK_KEY_Greek_IOTA, GDK_KEY_quotedbl, 0x03AA, +GDK_KEY_Greek_IOTA, GDK_KEY_apostrophe, 0x038A, +GDK_KEY_Greek_OMICRON, GDK_KEY_apostrophe, 0x038C, +GDK_KEY_Greek_UPSILON, GDK_KEY_quotedbl, 0x03AB, +GDK_KEY_Greek_UPSILON, GDK_KEY_apostrophe, 0x038E, +GDK_KEY_Greek_OMEGA, GDK_KEY_apostrophe, 0x038F, +GDK_KEY_Greek_alpha, GDK_KEY_apostrophe, 0x03AC, +GDK_KEY_Greek_epsilon, GDK_KEY_apostrophe, 0x03AD, +GDK_KEY_Greek_eta, GDK_KEY_apostrophe, 0x03AE, +GDK_KEY_Greek_iota, GDK_KEY_quotedbl, 0x03CA, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x03AF, +GDK_KEY_Greek_iota, GDK_KEY_Greek_alphaaccent, 0x1FB4, +GDK_KEY_Greek_iota, GDK_KEY_Greek_etaaccent, 0x1FC4, +GDK_KEY_Greek_iota, GDK_KEY_Greek_omegaaccent, 0x1FF4, +GDK_KEY_Greek_iota, GDK_KEY_Greek_ALPHA, 0x1FBC, +GDK_KEY_Greek_iota, GDK_KEY_Greek_ETA, 0x1FCC, +GDK_KEY_Greek_iota, GDK_KEY_Greek_OMEGA, 0x1FFC, +GDK_KEY_Greek_iota, GDK_KEY_Greek_alpha, 0x1FB3, +GDK_KEY_Greek_iota, GDK_KEY_Greek_eta, 0x1FC3, +GDK_KEY_Greek_iota, GDK_KEY_Greek_omega, 0x1FF3, +GDK_KEY_Greek_iota, 0x1F00, 0x1F80, +GDK_KEY_Greek_iota, 0x1F01, 0x1F81, +GDK_KEY_Greek_iota, 0x1F02, 0x1F82, +GDK_KEY_Greek_iota, 0x1F03, 0x1F83, +GDK_KEY_Greek_iota, 0x1F04, 0x1F84, +GDK_KEY_Greek_iota, 0x1F05, 0x1F85, +GDK_KEY_Greek_iota, 0x1F06, 0x1F86, +GDK_KEY_Greek_iota, 0x1F07, 0x1F87, +GDK_KEY_Greek_iota, 0x1F08, 0x1F88, +GDK_KEY_Greek_iota, 0x1F09, 0x1F89, +GDK_KEY_Greek_iota, 0x1F0A, 0x1F8A, +GDK_KEY_Greek_iota, 0x1F0B, 0x1F8B, +GDK_KEY_Greek_iota, 0x1F0C, 0x1F8C, +GDK_KEY_Greek_iota, 0x1F0D, 0x1F8D, +GDK_KEY_Greek_iota, 0x1F0E, 0x1F8E, +GDK_KEY_Greek_iota, 0x1F0F, 0x1F8F, +GDK_KEY_Greek_iota, 0x1F20, 0x1F90, +GDK_KEY_Greek_iota, 0x1F21, 0x1F91, +GDK_KEY_Greek_iota, 0x1F22, 0x1F92, +GDK_KEY_Greek_iota, 0x1F23, 0x1F93, +GDK_KEY_Greek_iota, 0x1F24, 0x1F94, +GDK_KEY_Greek_iota, 0x1F25, 0x1F95, +GDK_KEY_Greek_iota, 0x1F26, 0x1F96, +GDK_KEY_Greek_iota, 0x1F27, 0x1F97, +GDK_KEY_Greek_iota, 0x1F28, 0x1F98, +GDK_KEY_Greek_iota, 0x1F29, 0x1F99, +GDK_KEY_Greek_iota, 0x1F2A, 0x1F9A, +GDK_KEY_Greek_iota, 0x1F2B, 0x1F9B, +GDK_KEY_Greek_iota, 0x1F2C, 0x1F9C, +GDK_KEY_Greek_iota, 0x1F2D, 0x1F9D, +GDK_KEY_Greek_iota, 0x1F2E, 0x1F9E, +GDK_KEY_Greek_iota, 0x1F2F, 0x1F9F, +GDK_KEY_Greek_iota, 0x1F60, 0x1FA0, +GDK_KEY_Greek_iota, 0x1F61, 0x1FA1, +GDK_KEY_Greek_iota, 0x1F62, 0x1FA2, +GDK_KEY_Greek_iota, 0x1F63, 0x1FA3, +GDK_KEY_Greek_iota, 0x1F64, 0x1FA4, +GDK_KEY_Greek_iota, 0x1F65, 0x1FA5, +GDK_KEY_Greek_iota, 0x1F66, 0x1FA6, +GDK_KEY_Greek_iota, 0x1F67, 0x1FA7, +GDK_KEY_Greek_iota, 0x1F68, 0x1FA8, +GDK_KEY_Greek_iota, 0x1F69, 0x1FA9, +GDK_KEY_Greek_iota, 0x1F6A, 0x1FAA, +GDK_KEY_Greek_iota, 0x1F6B, 0x1FAB, +GDK_KEY_Greek_iota, 0x1F6C, 0x1FAC, +GDK_KEY_Greek_iota, 0x1F6D, 0x1FAD, +GDK_KEY_Greek_iota, 0x1F6E, 0x1FAE, +GDK_KEY_Greek_iota, 0x1F6F, 0x1FAF, +GDK_KEY_Greek_iota, 0x1F70, 0x1FB2, +GDK_KEY_Greek_iota, 0x1F74, 0x1FC2, +GDK_KEY_Greek_iota, 0x1F7C, 0x1FF2, +GDK_KEY_Greek_iota, 0x1FB6, 0x1FB7, +GDK_KEY_Greek_iota, 0x1FC6, 0x1FC7, +GDK_KEY_Greek_iota, 0x1FF6, 0x1FF7, +GDK_KEY_Greek_omicron, GDK_KEY_apostrophe, 0x03CC, +GDK_KEY_Greek_upsilon, GDK_KEY_quotedbl, 0x03CB, +GDK_KEY_Greek_upsilon, GDK_KEY_apostrophe, 0x03CD, +GDK_KEY_Greek_omega, GDK_KEY_apostrophe, 0x03CE, +GDK_KEY_lessthanequal, 0x0338, 0x2270, +GDK_KEY_greaterthanequal, 0x0338, 0x2271, +GDK_KEY_approximate, 0x0338, 0x2247, +GDK_KEY_identical, 0x0338, 0x2262, +GDK_KEY_includedin, 0x0338, 0x2284, +GDK_KEY_includes, 0x0338, 0x2285, +0x093C, 0x0915, 0x0958, +0x093C, 0x0916, 0x0959, +0x093C, 0x0917, 0x095A, +0x093C, 0x091C, 0x095B, +0x093C, 0x0921, 0x095C, +0x093C, 0x0922, 0x095D, +0x093C, 0x0928, 0x0929, +0x093C, 0x092B, 0x095E, +0x093C, 0x092F, 0x095F, +0x093C, 0x0930, 0x0931, +0x093C, 0x0933, 0x0934, +0x09BC, 0x09A1, 0x09DC, +0x09BC, 0x09A2, 0x09DD, +0x09BC, 0x09AF, 0x09DF, +0x09C7, 0x09BE, 0x09CB, +0x09C7, 0x09D7, 0x09CC, +0x0A3C, 0x0A16, 0x0A59, +0x0A3C, 0x0A17, 0x0A5A, +0x0A3C, 0x0A1C, 0x0A5B, +0x0A3C, 0x0A2B, 0x0A5E, +0x0A3C, 0x0A32, 0x0A33, +0x0A3C, 0x0A38, 0x0A36, +0x0B3C, 0x0B21, 0x0B5C, +0x0B3C, 0x0B22, 0x0B5D, +0x0B47, 0x0B3E, 0x0B4B, +0x0B47, 0x0B56, 0x0B48, +0x0B47, 0x0B57, 0x0B4C, +GDK_KEY_leftcaret, 0x0338, 0x226E, +GDK_KEY_rightcaret, 0x0338, 0x226F, +GDK_KEY_underbar, GDK_KEY_parenleft, 0x208D, +GDK_KEY_underbar, GDK_KEY_parenright, 0x208E, +GDK_KEY_underbar, GDK_KEY_plus, 0x208A, +GDK_KEY_underbar, GDK_KEY_0, 0x2080, +GDK_KEY_underbar, GDK_KEY_1, 0x2081, +GDK_KEY_underbar, GDK_KEY_2, 0x2082, +GDK_KEY_underbar, GDK_KEY_3, 0x2083, +GDK_KEY_underbar, GDK_KEY_4, 0x2084, +GDK_KEY_underbar, GDK_KEY_5, 0x2085, +GDK_KEY_underbar, GDK_KEY_6, 0x2086, +GDK_KEY_underbar, GDK_KEY_7, 0x2087, +GDK_KEY_underbar, GDK_KEY_8, 0x2088, +GDK_KEY_underbar, GDK_KEY_9, 0x2089, +GDK_KEY_underbar, GDK_KEY_equal, 0x208C, +0x0BC6, 0x0BBE, 0x0BCA, +0x0BC6, 0x0BD7, 0x0BCC, +GDK_KEY_underbar, 0x2212, 0x208B, +GDK_KEY_underbar, GDK_KEY_KP_Space, 0x2082, +GDK_KEY_underbar, GDK_KEY_KP_Add, 0x208A, +GDK_KEY_underbar, GDK_KEY_KP_0, 0x2080, +GDK_KEY_underbar, GDK_KEY_KP_1, 0x2081, +GDK_KEY_underbar, GDK_KEY_KP_2, 0x2082, +GDK_KEY_underbar, GDK_KEY_KP_3, 0x2083, +GDK_KEY_underbar, GDK_KEY_KP_4, 0x2084, +GDK_KEY_underbar, GDK_KEY_KP_5, 0x2085, +GDK_KEY_underbar, GDK_KEY_KP_6, 0x2086, +GDK_KEY_underbar, GDK_KEY_KP_7, 0x2087, +GDK_KEY_underbar, GDK_KEY_KP_8, 0x2088, +GDK_KEY_underbar, GDK_KEY_KP_9, 0x2089, +GDK_KEY_underbar, GDK_KEY_KP_Equal, 0x208C, +0x0BC7, 0x0BBE, 0x0BCB, +0x0BD7, 0x0B92, 0x0B94, +GDK_KEY_rightshoe, 0x0338, 0x2285, +GDK_KEY_leftshoe, 0x0338, 0x2284, +GDK_KEY_righttack, 0x0338, 0x22AC, +0x0C46, 0x0C56, 0x0C48, +0x0CBF, 0x0CD5, 0x0CC0, +0x0CC6, 0x0CC2, 0x0CCA, +0x0CC6, 0x0CD5, 0x0CC7, +0x0CC6, 0x0CD6, 0x0CC8, +0x0CCA, 0x0CD5, 0x0CCB, +0x0D46, 0x0D3E, 0x0D4A, +0x0D46, 0x0D57, 0x0D4C, +0x0D47, 0x0D3E, 0x0D4B, +0x0DD9, 0x0DCA, 0x0DDA, +0x0DD9, 0x0DCF, 0x0DDC, +0x0DD9, 0x0DDF, 0x0DDE, +0x0DDC, 0x0DCA, 0x0DDD, +0x0F71, 0x0F72, 0x0F73, +0x0F71, 0x0F74, 0x0F75, +0x0F71, 0x0F80, 0x0F81, +0x0F90, 0x0FB5, 0x0FB9, +0x0F92, 0x0FB7, 0x0F93, +0x0F9C, 0x0FB7, 0x0F9D, +0x0FA1, 0x0FB7, 0x0FA2, +0x0FA6, 0x0FB7, 0x0FA7, +0x0FAB, 0x0FB7, 0x0FAC, +0x0FB2, 0x0F80, 0x0F76, +0x0FB3, 0x0F80, 0x0F78, +0x0FB5, 0x0F40, 0x0F69, +0x0FB7, 0x0F42, 0x0F43, +0x0FB7, 0x0F4C, 0x0F4D, +0x0FB7, 0x0F51, 0x0F52, +0x0FB7, 0x0F56, 0x0F57, +0x0FB7, 0x0F5B, 0x0F5C, +0x102E, 0x1025, 0x1026, +0x1100, 0x1100, 0x1101, +0x1102, 0x1100, 0x1113, +0x1102, 0x1102, 0x1114, +0x1102, 0x1103, 0x1115, +0x1102, 0x1107, 0x1116, +0x1103, 0x1100, 0x1117, +0x1103, 0x1103, 0x1104, +0x1105, 0x1102, 0x1118, +0x1105, 0x1105, 0x1119, +0x1105, 0x110B, 0x111B, +0x1105, 0x1112, 0x111A, +0x1106, 0x1107, 0x111C, +0x1106, 0x110B, 0x111D, +0x1107, 0x1100, 0x111E, +0x1107, 0x1102, 0x111F, +0x1107, 0x1103, 0x1120, +0x1107, 0x1107, 0x1108, +0x1107, 0x1109, 0x1121, +0x1107, 0x110A, 0x1125, +0x1107, 0x110B, 0x112B, +0x1107, 0x110C, 0x1127, +0x1107, 0x110E, 0x1128, +0x1107, 0x1110, 0x1129, +0x1107, 0x1111, 0x112A, +0x1107, 0x112B, 0x112C, +0x1107, 0x112D, 0x1122, +0x1107, 0x112F, 0x1123, +0x1107, 0x1132, 0x1124, +0x1107, 0x1136, 0x1126, +0x1108, 0x110B, 0x112C, +0x1109, 0x1100, 0x112D, +0x1109, 0x1102, 0x112E, +0x1109, 0x1103, 0x112F, +0x1109, 0x1105, 0x1130, +0x1109, 0x1106, 0x1131, +0x1109, 0x1107, 0x1132, +0x1109, 0x1109, 0x110A, +0x1109, 0x110A, 0x1134, +0x1109, 0x110B, 0x1135, +0x1109, 0x110C, 0x1136, +0x1109, 0x110E, 0x1137, +0x1109, 0x110F, 0x1138, +0x1109, 0x1110, 0x1139, +0x1109, 0x1111, 0x113A, +0x1109, 0x1112, 0x113B, +0x1109, 0x111E, 0x1133, +0x110A, 0x1109, 0x1134, +0x110B, 0x1100, 0x1141, +0x110B, 0x1103, 0x1142, +0x110B, 0x1106, 0x1143, +0x110B, 0x1107, 0x1144, +0x110B, 0x1109, 0x1145, +0x110B, 0x110B, 0x1147, +0x110B, 0x110C, 0x1148, +0x110B, 0x110E, 0x1149, +0x110B, 0x1110, 0x114A, +0x110B, 0x1111, 0x114B, +0x110B, 0x1140, 0x1146, +0x110C, 0x110B, 0x114D, +0x110C, 0x110C, 0x110D, +0x110E, 0x110F, 0x1152, +0x110E, 0x1112, 0x1153, +0x1111, 0x1107, 0x1156, +0x1111, 0x110B, 0x1157, +0x1112, 0x1112, 0x1158, +0x1121, 0x1100, 0x1122, +0x1121, 0x1103, 0x1123, +0x1121, 0x1107, 0x1124, +0x1121, 0x1109, 0x1125, +0x1121, 0x110C, 0x1126, +0x1132, 0x1100, 0x1133, +0x113C, 0x113C, 0x113D, +0x113E, 0x113E, 0x113F, +0x114E, 0x114E, 0x114F, +0x1150, 0x1150, 0x1151, +0x1161, 0x1169, 0x1176, +0x1161, 0x116E, 0x1177, +0x1161, 0x1175, 0x1162, +0x1163, 0x1169, 0x1178, +0x1163, 0x116D, 0x1179, +0x1163, 0x1175, 0x1164, +0x1165, 0x1169, 0x117A, +0x1165, 0x116E, 0x117B, +0x1165, 0x1173, 0x117C, +0x1165, 0x1175, 0x1166, +0x1167, 0x1169, 0x117D, +0x1167, 0x116E, 0x117E, +0x1167, 0x1175, 0x1168, +0x1169, 0x1161, 0x116A, +0x1169, 0x1162, 0x116B, +0x1169, 0x1165, 0x117F, +0x1169, 0x1166, 0x1180, +0x1169, 0x1168, 0x1181, +0x1169, 0x1169, 0x1182, +0x1169, 0x116E, 0x1183, +0x1169, 0x1175, 0x116C, +0x116A, 0x1175, 0x116B, +0x116D, 0x1163, 0x1184, +0x116D, 0x1164, 0x1185, +0x116D, 0x1167, 0x1186, +0x116D, 0x1169, 0x1187, +0x116D, 0x1175, 0x1188, +0x116E, 0x1161, 0x1189, +0x116E, 0x1162, 0x118A, +0x116E, 0x1165, 0x116F, +0x116E, 0x1166, 0x1170, +0x116E, 0x1168, 0x118C, +0x116E, 0x116E, 0x118D, +0x116E, 0x1175, 0x1171, +0x116E, 0x117C, 0x118B, +0x116F, 0x1173, 0x118B, +0x116F, 0x1175, 0x1170, +0x1172, 0x1161, 0x118E, +0x1172, 0x1165, 0x118F, +0x1172, 0x1166, 0x1190, +0x1172, 0x1167, 0x1191, +0x1172, 0x1168, 0x1192, +0x1172, 0x116E, 0x1193, +0x1172, 0x1175, 0x1194, +0x1173, 0x116E, 0x1195, +0x1173, 0x1173, 0x1196, +0x1173, 0x1175, 0x1174, +0x1174, 0x116E, 0x1197, +0x1175, 0x1161, 0x1198, +0x1175, 0x1163, 0x1199, +0x1175, 0x1169, 0x119A, +0x1175, 0x116E, 0x119B, +0x1175, 0x1173, 0x119C, +0x1175, 0x119E, 0x119D, +0x119E, 0x1165, 0x119F, +0x119E, 0x116E, 0x11A0, +0x119E, 0x1175, 0x11A1, +0x119E, 0x119E, 0x11A2, +0x11A8, 0x11A8, 0x11A9, +0x11A8, 0x11AF, 0x11C3, +0x11A8, 0x11BA, 0x11AA, +0x11A8, 0x11E7, 0x11C4, +0x11AA, 0x11A8, 0x11C4, +0x11AB, 0x11A8, 0x11C5, +0x11AB, 0x11AE, 0x11C6, +0x11AB, 0x11BA, 0x11C7, +0x11AB, 0x11BD, 0x11AC, +0x11AB, 0x11C0, 0x11C9, +0x11AB, 0x11C2, 0x11AD, +0x11AB, 0x11EB, 0x11C8, +0x11AE, 0x11A8, 0x11CA, +0x11AE, 0x11AF, 0x11CB, +0x11AF, 0x11A8, 0x11B0, +0x11AF, 0x11AA, 0x11CC, +0x11AF, 0x11AB, 0x11CD, +0x11AF, 0x11AE, 0x11CE, +0x11AF, 0x11AF, 0x11D0, +0x11AF, 0x11B7, 0x11B1, +0x11AF, 0x11B8, 0x11B2, +0x11AF, 0x11B9, 0x11D3, +0x11AF, 0x11BA, 0x11B3, +0x11AF, 0x11BB, 0x11D6, +0x11AF, 0x11BF, 0x11D8, +0x11AF, 0x11C0, 0x11B4, +0x11AF, 0x11C1, 0x11B5, +0x11AF, 0x11C2, 0x11B6, +0x11AF, 0x11DA, 0x11D1, +0x11AF, 0x11DD, 0x11D2, +0x11AF, 0x11E5, 0x11D4, +0x11AF, 0x11E6, 0x11D5, +0x11AF, 0x11EB, 0x11D7, +0x11AF, 0x11F9, 0x11D9, +0x11B0, 0x11BA, 0x11CC, +0x11B1, 0x11A8, 0x11D1, +0x11B1, 0x11BA, 0x11D2, +0x11B2, 0x11BA, 0x11D3, +0x11B2, 0x11BC, 0x11D5, +0x11B2, 0x11C2, 0x11D4, +0x11B3, 0x11BA, 0x11D6, +0x11B7, 0x11A8, 0x11DA, +0x11B7, 0x11AF, 0x11DB, +0x11B7, 0x11B8, 0x11DC, +0x11B7, 0x11BA, 0x11DD, +0x11B7, 0x11BB, 0x11DE, +0x11B7, 0x11BC, 0x11E2, +0x11B7, 0x11BE, 0x11E0, +0x11B7, 0x11C2, 0x11E1, +0x11B7, 0x11EB, 0x11DF, +0x11B8, 0x11AF, 0x11E3, +0x11B8, 0x11BA, 0x11B9, +0x11B8, 0x11BC, 0x11E6, +0x11B8, 0x11C1, 0x11E4, +0x11B8, 0x11C2, 0x11E5, +0x11BA, 0x11A8, 0x11E7, +0x11BA, 0x11AE, 0x11E8, +0x11BA, 0x11AF, 0x11E9, +0x11BA, 0x11B8, 0x11EA, +0x11BA, 0x11BA, 0x11BB, +0x11BC, 0x11A8, 0x11EC, +0x11BC, 0x11A9, 0x11ED, +0x11BC, 0x11BC, 0x11EE, +0x11BC, 0x11BF, 0x11EF, +0x11C1, 0x11B8, 0x11F3, +0x11C1, 0x11BC, 0x11F4, +0x11C2, 0x11AB, 0x11F5, +0x11C2, 0x11AF, 0x11F6, +0x11C2, 0x11B7, 0x11F7, +0x11C2, 0x11B8, 0x11F8, +0x11CE, 0x11C2, 0x11CF, +0x11DD, 0x11BA, 0x11DE, +0x11EC, 0x11A8, 0x11ED, +0x11F0, 0x11BA, 0x11F1, +0x11F0, 0x11EB, 0x11F2, +0x1FBF, GDK_KEY_apostrophe, 0x1FCE, +0x1FBF, GDK_KEY_grave, 0x1FCD, +0x1FBF, GDK_KEY_asciitilde, 0x1FCF, +0x1FBF, GDK_KEY_acute, 0x1FCE, +0x1FBF, GDK_KEY_dead_grave, 0x1FCD, +0x1FBF, GDK_KEY_dead_acute, 0x1FCE, +0x1FBF, GDK_KEY_dead_tilde, 0x1FCF, +0x1FFE, GDK_KEY_apostrophe, 0x1FDE, +0x1FFE, GDK_KEY_grave, 0x1FDD, +0x1FFE, GDK_KEY_asciitilde, 0x1FDF, +0x1FFE, GDK_KEY_acute, 0x1FDE, +0x1FFE, GDK_KEY_dead_grave, 0x1FDD, +0x1FFE, GDK_KEY_dead_acute, 0x1FDE, +0x1FFE, GDK_KEY_dead_tilde, 0x1FDF, +0x2203, 0x0338, 0x2204, +0x2208, 0x0338, 0x2209, +0x220B, 0x0338, 0x220C, +0x2223, 0x0338, 0x2224, +0x2225, 0x0338, 0x2226, +0x223C, 0x0338, 0x2241, +0x2243, 0x0338, 0x2244, +0x2248, 0x0338, 0x2249, +0x224D, 0x0338, 0x226D, +0x2272, 0x0338, 0x2274, +0x2273, 0x0338, 0x2275, +0x2276, 0x0338, 0x2278, +0x2277, 0x0338, 0x2279, +0x227A, 0x0338, 0x2280, +0x227B, 0x0338, 0x2281, +0x227C, 0x0338, 0x22E0, +0x227D, 0x0338, 0x22E1, +0x2286, 0x0338, 0x2288, +0x2287, 0x0338, 0x2289, +0x2291, 0x0338, 0x22E2, +0x2292, 0x0338, 0x22E3, +0x22A8, 0x0338, 0x22AD, +0x22A9, 0x0338, 0x22AE, +0x22AB, 0x0338, 0x22AF, +0x22B2, 0x0338, 0x22EA, +0x22B3, 0x0338, 0x22EB, +0x22B4, 0x0338, 0x22EC, +0x22B5, 0x0338, 0x22ED, +0x2ADD, 0x0338, 0x2ADC, +GDK_KEY_KP_Divide, GDK_KEY_D, 0x0110, +GDK_KEY_KP_Divide, GDK_KEY_G, 0x01E4, +GDK_KEY_KP_Divide, GDK_KEY_H, 0x0126, +GDK_KEY_KP_Divide, GDK_KEY_I, 0x0197, +GDK_KEY_KP_Divide, GDK_KEY_L, 0x0141, +GDK_KEY_KP_Divide, GDK_KEY_O, 0x00D8, +GDK_KEY_KP_Divide, GDK_KEY_T, 0x0166, +GDK_KEY_KP_Divide, GDK_KEY_Z, 0x01B5, +GDK_KEY_KP_Divide, GDK_KEY_b, 0x0180, +GDK_KEY_KP_Divide, GDK_KEY_d, 0x0111, +GDK_KEY_KP_Divide, GDK_KEY_g, 0x01E5, +GDK_KEY_KP_Divide, GDK_KEY_h, 0x0127, +GDK_KEY_KP_Divide, GDK_KEY_i, 0x0268, +GDK_KEY_KP_Divide, GDK_KEY_l, 0x0142, +GDK_KEY_KP_Divide, GDK_KEY_o, 0x00F8, +GDK_KEY_KP_Divide, GDK_KEY_t, 0x0167, +GDK_KEY_KP_Divide, GDK_KEY_z, 0x01B6, +GDK_KEY_KP_Divide, 0x0294, 0x02A1, +GDK_KEY_KP_Divide, 0x04AE, 0x04B0, +GDK_KEY_KP_Divide, 0x04AF, 0x04B1, +GDK_KEY_KP_Divide, GDK_KEY_Cyrillic_ghe, 0x0493, +GDK_KEY_KP_Divide, GDK_KEY_Cyrillic_ka, 0x049F, +GDK_KEY_KP_Divide, GDK_KEY_Cyrillic_GHE, 0x0492, +GDK_KEY_KP_Divide, GDK_KEY_Cyrillic_KA, 0x049E, +GDK_KEY_KP_Divide, GDK_KEY_leftarrow, 0x219A, +GDK_KEY_KP_Divide, GDK_KEY_rightarrow, 0x219B, +GDK_KEY_KP_Divide, 0x2194, 0x21AE, +GDK_KEY_KP_Equal, 0x0338, 0x2260, +GDK_KEY_exclam, GDK_KEY_plus, GDK_KEY_O, 0x1EE2, +GDK_KEY_exclam, GDK_KEY_plus, GDK_KEY_U, 0x1EF0, +GDK_KEY_exclam, GDK_KEY_plus, GDK_KEY_o, 0x1EE3, +GDK_KEY_exclam, GDK_KEY_plus, GDK_KEY_u, 0x1EF1, +GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EE2, +GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EF0, +GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EE3, +GDK_KEY_exclam, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EF1, +GDK_KEY_quotedbl, GDK_KEY_apostrophe, GDK_KEY_space, 0x0385, +GDK_KEY_quotedbl, GDK_KEY_apostrophe, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_quotedbl, GDK_KEY_apostrophe, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_quotedbl, GDK_KEY_underscore, GDK_KEY_U, 0x1E7A, +GDK_KEY_quotedbl, GDK_KEY_underscore, GDK_KEY_u, 0x1E7B, +GDK_KEY_quotedbl, GDK_KEY_asciitilde, GDK_KEY_O, 0x1E4E, +GDK_KEY_quotedbl, GDK_KEY_asciitilde, GDK_KEY_o, 0x1E4F, +GDK_KEY_quotedbl, GDK_KEY_macron, GDK_KEY_U, 0x1E7A, +GDK_KEY_quotedbl, GDK_KEY_macron, GDK_KEY_u, 0x1E7B, +GDK_KEY_quotedbl, GDK_KEY_dead_tilde, GDK_KEY_O, 0x1E4E, +GDK_KEY_quotedbl, GDK_KEY_dead_tilde, GDK_KEY_o, 0x1E4F, +GDK_KEY_quotedbl, GDK_KEY_dead_macron, GDK_KEY_U, 0x1E7A, +GDK_KEY_quotedbl, GDK_KEY_dead_macron, GDK_KEY_u, 0x1E7B, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_space, 0x0385, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_I, 0x1E2E, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D7, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_i, 0x1E2F, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_u, 0x01D8, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_apostrophe, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F1D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_OMICRON, 0x1F4D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6D, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F05, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_epsilon, 0x1F15, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F25, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F35, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_omicron, 0x1F45, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F55, +GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F65, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0C, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_EPSILON, 0x1F1C, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2C, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3C, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_OMICRON, 0x1F4C, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6C, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F04, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_epsilon, 0x1F14, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F24, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F34, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_omicron, 0x1F44, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F54, +GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F64, +GDK_KEY_apostrophe, GDK_KEY_plus, GDK_KEY_O, 0x1EDA, +GDK_KEY_apostrophe, GDK_KEY_plus, GDK_KEY_U, 0x1EE8, +GDK_KEY_apostrophe, GDK_KEY_plus, GDK_KEY_o, 0x1EDB, +GDK_KEY_apostrophe, GDK_KEY_plus, GDK_KEY_u, 0x1EE9, +GDK_KEY_apostrophe, GDK_KEY_slash, GDK_KEY_O, 0x01FE, +GDK_KEY_apostrophe, GDK_KEY_slash, GDK_KEY_o, 0x01FF, +GDK_KEY_apostrophe, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA4, +GDK_KEY_apostrophe, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EBE, +GDK_KEY_apostrophe, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED0, +GDK_KEY_apostrophe, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA5, +GDK_KEY_apostrophe, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EBF, +GDK_KEY_apostrophe, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED1, +GDK_KEY_apostrophe, GDK_KEY_underscore, GDK_KEY_E, 0x1E16, +GDK_KEY_apostrophe, GDK_KEY_underscore, GDK_KEY_O, 0x1E52, +GDK_KEY_apostrophe, GDK_KEY_underscore, GDK_KEY_e, 0x1E17, +GDK_KEY_apostrophe, GDK_KEY_underscore, GDK_KEY_o, 0x1E53, +GDK_KEY_apostrophe, GDK_KEY_b, GDK_KEY_A, 0x1EAE, +GDK_KEY_apostrophe, GDK_KEY_b, GDK_KEY_a, 0x1EAF, +GDK_KEY_apostrophe, GDK_KEY_asciitilde, GDK_KEY_O, 0x1E4C, +GDK_KEY_apostrophe, GDK_KEY_asciitilde, GDK_KEY_U, 0x1E78, +GDK_KEY_apostrophe, GDK_KEY_asciitilde, GDK_KEY_o, 0x1E4D, +GDK_KEY_apostrophe, GDK_KEY_asciitilde, GDK_KEY_u, 0x1E79, +GDK_KEY_apostrophe, GDK_KEY_macron, GDK_KEY_E, 0x1E16, +GDK_KEY_apostrophe, GDK_KEY_macron, GDK_KEY_O, 0x1E52, +GDK_KEY_apostrophe, GDK_KEY_macron, GDK_KEY_e, 0x1E17, +GDK_KEY_apostrophe, GDK_KEY_macron, GDK_KEY_o, 0x1E53, +GDK_KEY_apostrophe, GDK_KEY_cedilla, GDK_KEY_C, 0x1E08, +GDK_KEY_apostrophe, GDK_KEY_cedilla, GDK_KEY_c, 0x1E09, +GDK_KEY_apostrophe, GDK_KEY_dead_circumflex, GDK_KEY_A, 0x1EA4, +GDK_KEY_apostrophe, GDK_KEY_dead_circumflex, GDK_KEY_E, 0x1EBE, +GDK_KEY_apostrophe, GDK_KEY_dead_circumflex, GDK_KEY_O, 0x1ED0, +GDK_KEY_apostrophe, GDK_KEY_dead_circumflex, GDK_KEY_a, 0x1EA5, +GDK_KEY_apostrophe, GDK_KEY_dead_circumflex, GDK_KEY_e, 0x1EBF, +GDK_KEY_apostrophe, GDK_KEY_dead_circumflex, GDK_KEY_o, 0x1ED1, +GDK_KEY_apostrophe, GDK_KEY_dead_tilde, GDK_KEY_O, 0x1E4C, +GDK_KEY_apostrophe, GDK_KEY_dead_tilde, GDK_KEY_U, 0x1E78, +GDK_KEY_apostrophe, GDK_KEY_dead_tilde, GDK_KEY_o, 0x1E4D, +GDK_KEY_apostrophe, GDK_KEY_dead_tilde, GDK_KEY_u, 0x1E79, +GDK_KEY_apostrophe, GDK_KEY_dead_macron, GDK_KEY_E, 0x1E16, +GDK_KEY_apostrophe, GDK_KEY_dead_macron, GDK_KEY_O, 0x1E52, +GDK_KEY_apostrophe, GDK_KEY_dead_macron, GDK_KEY_e, 0x1E17, +GDK_KEY_apostrophe, GDK_KEY_dead_macron, GDK_KEY_o, 0x1E53, +GDK_KEY_apostrophe, GDK_KEY_dead_breve, GDK_KEY_A, 0x1EAE, +GDK_KEY_apostrophe, GDK_KEY_dead_breve, GDK_KEY_a, 0x1EAF, +GDK_KEY_apostrophe, GDK_KEY_dead_diaeresis, GDK_KEY_I, 0x1E2E, +GDK_KEY_apostrophe, GDK_KEY_dead_diaeresis, GDK_KEY_U, 0x01D7, +GDK_KEY_apostrophe, GDK_KEY_dead_diaeresis, GDK_KEY_i, 0x1E2F, +GDK_KEY_apostrophe, GDK_KEY_dead_diaeresis, GDK_KEY_u, 0x01D8, +GDK_KEY_apostrophe, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_apostrophe, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_apostrophe, GDK_KEY_dead_abovering, GDK_KEY_A, 0x01FA, +GDK_KEY_apostrophe, GDK_KEY_dead_abovering, GDK_KEY_a, 0x01FB, +GDK_KEY_apostrophe, GDK_KEY_dead_cedilla, GDK_KEY_C, 0x1E08, +GDK_KEY_apostrophe, GDK_KEY_dead_cedilla, GDK_KEY_c, 0x1E09, +GDK_KEY_apostrophe, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EDA, +GDK_KEY_apostrophe, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EE8, +GDK_KEY_apostrophe, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EDB, +GDK_KEY_apostrophe, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EE9, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0C, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_EPSILON, 0x1F1C, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2C, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3C, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_OMICRON, 0x1F4C, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6C, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F04, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_epsilon, 0x1F14, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F24, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F34, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_omicron, 0x1F44, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F54, +GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F64, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_EPSILON, 0x1F1D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMICRON, 0x1F4D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6D, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F05, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_epsilon, 0x1F15, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F25, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F35, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_omicron, 0x1F45, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F55, +GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F65, +GDK_KEY_apostrophe, GDK_KEY_KP_Divide, GDK_KEY_O, 0x01FE, +GDK_KEY_apostrophe, GDK_KEY_KP_Divide, GDK_KEY_o, 0x01FF, +GDK_KEY_parenleft, GDK_KEY_0, GDK_KEY_parenright, 0x24EA, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_parenright, 0x2460, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_parenright, 0x2461, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_parenright, 0x2462, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_parenright, 0x2463, +GDK_KEY_parenleft, GDK_KEY_5, GDK_KEY_parenright, 0x2464, +GDK_KEY_parenleft, GDK_KEY_6, GDK_KEY_parenright, 0x2465, +GDK_KEY_parenleft, GDK_KEY_7, GDK_KEY_parenright, 0x2466, +GDK_KEY_parenleft, GDK_KEY_8, GDK_KEY_parenright, 0x2467, +GDK_KEY_parenleft, GDK_KEY_9, GDK_KEY_parenright, 0x2468, +GDK_KEY_parenleft, GDK_KEY_A, GDK_KEY_parenright, 0x24B6, +GDK_KEY_parenleft, GDK_KEY_B, GDK_KEY_parenright, 0x24B7, +GDK_KEY_parenleft, GDK_KEY_C, GDK_KEY_parenright, 0x24B8, +GDK_KEY_parenleft, GDK_KEY_D, GDK_KEY_parenright, 0x24B9, +GDK_KEY_parenleft, GDK_KEY_E, GDK_KEY_parenright, 0x24BA, +GDK_KEY_parenleft, GDK_KEY_F, GDK_KEY_parenright, 0x24BB, +GDK_KEY_parenleft, GDK_KEY_G, GDK_KEY_parenright, 0x24BC, +GDK_KEY_parenleft, GDK_KEY_H, GDK_KEY_parenright, 0x24BD, +GDK_KEY_parenleft, GDK_KEY_I, GDK_KEY_parenright, 0x24BE, +GDK_KEY_parenleft, GDK_KEY_J, GDK_KEY_parenright, 0x24BF, +GDK_KEY_parenleft, GDK_KEY_K, GDK_KEY_parenright, 0x24C0, +GDK_KEY_parenleft, GDK_KEY_L, GDK_KEY_parenright, 0x24C1, +GDK_KEY_parenleft, GDK_KEY_M, GDK_KEY_parenright, 0x24C2, +GDK_KEY_parenleft, GDK_KEY_N, GDK_KEY_parenright, 0x24C3, +GDK_KEY_parenleft, GDK_KEY_O, GDK_KEY_parenright, 0x24C4, +GDK_KEY_parenleft, GDK_KEY_P, GDK_KEY_parenright, 0x24C5, +GDK_KEY_parenleft, GDK_KEY_Q, GDK_KEY_parenright, 0x24C6, +GDK_KEY_parenleft, GDK_KEY_R, GDK_KEY_parenright, 0x24C7, +GDK_KEY_parenleft, GDK_KEY_S, GDK_KEY_parenright, 0x24C8, +GDK_KEY_parenleft, GDK_KEY_T, GDK_KEY_parenright, 0x24C9, +GDK_KEY_parenleft, GDK_KEY_U, GDK_KEY_parenright, 0x24CA, +GDK_KEY_parenleft, GDK_KEY_V, GDK_KEY_parenright, 0x24CB, +GDK_KEY_parenleft, GDK_KEY_W, GDK_KEY_parenright, 0x24CC, +GDK_KEY_parenleft, GDK_KEY_X, GDK_KEY_parenright, 0x24CD, +GDK_KEY_parenleft, GDK_KEY_Y, GDK_KEY_parenright, 0x24CE, +GDK_KEY_parenleft, GDK_KEY_Z, GDK_KEY_parenright, 0x24CF, +GDK_KEY_parenleft, GDK_KEY_a, GDK_KEY_parenright, 0x24D0, +GDK_KEY_parenleft, GDK_KEY_b, GDK_KEY_parenright, 0x24D1, +GDK_KEY_parenleft, GDK_KEY_c, GDK_KEY_parenright, 0x24D2, +GDK_KEY_parenleft, GDK_KEY_d, GDK_KEY_parenright, 0x24D3, +GDK_KEY_parenleft, GDK_KEY_e, GDK_KEY_parenright, 0x24D4, +GDK_KEY_parenleft, GDK_KEY_f, GDK_KEY_parenright, 0x24D5, +GDK_KEY_parenleft, GDK_KEY_g, GDK_KEY_parenright, 0x24D6, +GDK_KEY_parenleft, GDK_KEY_h, GDK_KEY_parenright, 0x24D7, +GDK_KEY_parenleft, GDK_KEY_i, GDK_KEY_parenright, 0x24D8, +GDK_KEY_parenleft, GDK_KEY_j, GDK_KEY_parenright, 0x24D9, +GDK_KEY_parenleft, GDK_KEY_k, GDK_KEY_parenright, 0x24DA, +GDK_KEY_parenleft, GDK_KEY_l, GDK_KEY_parenright, 0x24DB, +GDK_KEY_parenleft, GDK_KEY_m, GDK_KEY_parenright, 0x24DC, +GDK_KEY_parenleft, GDK_KEY_n, GDK_KEY_parenright, 0x24DD, +GDK_KEY_parenleft, GDK_KEY_o, GDK_KEY_parenright, 0x24DE, +GDK_KEY_parenleft, GDK_KEY_p, GDK_KEY_parenright, 0x24DF, +GDK_KEY_parenleft, GDK_KEY_q, GDK_KEY_parenright, 0x24E0, +GDK_KEY_parenleft, GDK_KEY_r, GDK_KEY_parenright, 0x24E1, +GDK_KEY_parenleft, GDK_KEY_s, GDK_KEY_parenright, 0x24E2, +GDK_KEY_parenleft, GDK_KEY_t, GDK_KEY_parenright, 0x24E3, +GDK_KEY_parenleft, GDK_KEY_u, GDK_KEY_parenright, 0x24E4, +GDK_KEY_parenleft, GDK_KEY_v, GDK_KEY_parenright, 0x24E5, +GDK_KEY_parenleft, GDK_KEY_w, GDK_KEY_parenright, 0x24E6, +GDK_KEY_parenleft, GDK_KEY_x, GDK_KEY_parenright, 0x24E7, +GDK_KEY_parenleft, GDK_KEY_y, GDK_KEY_parenright, 0x24E8, +GDK_KEY_parenleft, GDK_KEY_z, GDK_KEY_parenright, 0x24E9, +GDK_KEY_parenleft, GDK_KEY_kana_WO, GDK_KEY_parenright, 0x32FE, +GDK_KEY_parenleft, GDK_KEY_kana_A, GDK_KEY_parenright, 0x32D0, +GDK_KEY_parenleft, GDK_KEY_kana_I, GDK_KEY_parenright, 0x32D1, +GDK_KEY_parenleft, GDK_KEY_kana_U, GDK_KEY_parenright, 0x32D2, +GDK_KEY_parenleft, GDK_KEY_kana_E, GDK_KEY_parenright, 0x32D3, +GDK_KEY_parenleft, GDK_KEY_kana_O, GDK_KEY_parenright, 0x32D4, +GDK_KEY_parenleft, GDK_KEY_kana_KA, GDK_KEY_parenright, 0x32D5, +GDK_KEY_parenleft, GDK_KEY_kana_KI, GDK_KEY_parenright, 0x32D6, +GDK_KEY_parenleft, GDK_KEY_kana_KU, GDK_KEY_parenright, 0x32D7, +GDK_KEY_parenleft, GDK_KEY_kana_KE, GDK_KEY_parenright, 0x32D8, +GDK_KEY_parenleft, GDK_KEY_kana_KO, GDK_KEY_parenright, 0x32D9, +GDK_KEY_parenleft, GDK_KEY_kana_SA, GDK_KEY_parenright, 0x32DA, +GDK_KEY_parenleft, GDK_KEY_kana_SHI, GDK_KEY_parenright, 0x32DB, +GDK_KEY_parenleft, GDK_KEY_kana_SU, GDK_KEY_parenright, 0x32DC, +GDK_KEY_parenleft, GDK_KEY_kana_SE, GDK_KEY_parenright, 0x32DD, +GDK_KEY_parenleft, GDK_KEY_kana_SO, GDK_KEY_parenright, 0x32DE, +GDK_KEY_parenleft, GDK_KEY_kana_TA, GDK_KEY_parenright, 0x32DF, +GDK_KEY_parenleft, GDK_KEY_kana_CHI, GDK_KEY_parenright, 0x32E0, +GDK_KEY_parenleft, GDK_KEY_kana_TSU, GDK_KEY_parenright, 0x32E1, +GDK_KEY_parenleft, GDK_KEY_kana_TE, GDK_KEY_parenright, 0x32E2, +GDK_KEY_parenleft, GDK_KEY_kana_TO, GDK_KEY_parenright, 0x32E3, +GDK_KEY_parenleft, GDK_KEY_kana_NA, GDK_KEY_parenright, 0x32E4, +GDK_KEY_parenleft, GDK_KEY_kana_NI, GDK_KEY_parenright, 0x32E5, +GDK_KEY_parenleft, GDK_KEY_kana_NU, GDK_KEY_parenright, 0x32E6, +GDK_KEY_parenleft, GDK_KEY_kana_NE, GDK_KEY_parenright, 0x32E7, +GDK_KEY_parenleft, GDK_KEY_kana_NO, GDK_KEY_parenright, 0x32E8, +GDK_KEY_parenleft, GDK_KEY_kana_HA, GDK_KEY_parenright, 0x32E9, +GDK_KEY_parenleft, GDK_KEY_kana_HI, GDK_KEY_parenright, 0x32EA, +GDK_KEY_parenleft, GDK_KEY_kana_FU, GDK_KEY_parenright, 0x32EB, +GDK_KEY_parenleft, GDK_KEY_kana_HE, GDK_KEY_parenright, 0x32EC, +GDK_KEY_parenleft, GDK_KEY_kana_HO, GDK_KEY_parenright, 0x32ED, +GDK_KEY_parenleft, GDK_KEY_kana_MA, GDK_KEY_parenright, 0x32EE, +GDK_KEY_parenleft, GDK_KEY_kana_MI, GDK_KEY_parenright, 0x32EF, +GDK_KEY_parenleft, GDK_KEY_kana_MU, GDK_KEY_parenright, 0x32F0, +GDK_KEY_parenleft, GDK_KEY_kana_ME, GDK_KEY_parenright, 0x32F1, +GDK_KEY_parenleft, GDK_KEY_kana_MO, GDK_KEY_parenright, 0x32F2, +GDK_KEY_parenleft, GDK_KEY_kana_YA, GDK_KEY_parenright, 0x32F3, +GDK_KEY_parenleft, GDK_KEY_kana_YU, GDK_KEY_parenright, 0x32F4, +GDK_KEY_parenleft, GDK_KEY_kana_YO, GDK_KEY_parenright, 0x32F5, +GDK_KEY_parenleft, GDK_KEY_kana_RA, GDK_KEY_parenright, 0x32F6, +GDK_KEY_parenleft, GDK_KEY_kana_RI, GDK_KEY_parenright, 0x32F7, +GDK_KEY_parenleft, GDK_KEY_kana_RU, GDK_KEY_parenright, 0x32F8, +GDK_KEY_parenleft, GDK_KEY_kana_RE, GDK_KEY_parenright, 0x32F9, +GDK_KEY_parenleft, GDK_KEY_kana_RO, GDK_KEY_parenright, 0x32FA, +GDK_KEY_parenleft, GDK_KEY_kana_WA, GDK_KEY_parenright, 0x32FB, +GDK_KEY_parenleft, 0x1100, GDK_KEY_parenright, 0x3260, +GDK_KEY_parenleft, 0x1102, GDK_KEY_parenright, 0x3261, +GDK_KEY_parenleft, 0x1103, GDK_KEY_parenright, 0x3262, +GDK_KEY_parenleft, 0x1105, GDK_KEY_parenright, 0x3263, +GDK_KEY_parenleft, 0x1106, GDK_KEY_parenright, 0x3264, +GDK_KEY_parenleft, 0x1107, GDK_KEY_parenright, 0x3265, +GDK_KEY_parenleft, 0x1109, GDK_KEY_parenright, 0x3266, +GDK_KEY_parenleft, 0x110B, GDK_KEY_parenright, 0x3267, +GDK_KEY_parenleft, 0x110C, GDK_KEY_parenright, 0x3268, +GDK_KEY_parenleft, 0x110E, GDK_KEY_parenright, 0x3269, +GDK_KEY_parenleft, 0x110F, GDK_KEY_parenright, 0x326A, +GDK_KEY_parenleft, 0x1110, GDK_KEY_parenright, 0x326B, +GDK_KEY_parenleft, 0x1111, GDK_KEY_parenright, 0x326C, +GDK_KEY_parenleft, 0x1112, GDK_KEY_parenright, 0x326D, +GDK_KEY_parenleft, 0x30F0, GDK_KEY_parenright, 0x32FC, +GDK_KEY_parenleft, 0x30F1, GDK_KEY_parenright, 0x32FD, +GDK_KEY_parenleft, 0x4E00, GDK_KEY_parenright, 0x3280, +GDK_KEY_parenleft, 0x4E03, GDK_KEY_parenright, 0x3286, +GDK_KEY_parenleft, 0x4E09, GDK_KEY_parenright, 0x3282, +GDK_KEY_parenleft, 0x4E0A, GDK_KEY_parenright, 0x32A4, +GDK_KEY_parenleft, 0x4E0B, GDK_KEY_parenright, 0x32A6, +GDK_KEY_parenleft, 0x4E2D, GDK_KEY_parenright, 0x32A5, +GDK_KEY_parenleft, 0x4E5D, GDK_KEY_parenright, 0x3288, +GDK_KEY_parenleft, 0x4E8C, GDK_KEY_parenright, 0x3281, +GDK_KEY_parenleft, 0x4E94, GDK_KEY_parenright, 0x3284, +GDK_KEY_parenleft, 0x4F01, GDK_KEY_parenright, 0x32AD, +GDK_KEY_parenleft, 0x4F11, GDK_KEY_parenright, 0x32A1, +GDK_KEY_parenleft, 0x512A, GDK_KEY_parenright, 0x329D, +GDK_KEY_parenleft, 0x516B, GDK_KEY_parenright, 0x3287, +GDK_KEY_parenleft, 0x516D, GDK_KEY_parenright, 0x3285, +GDK_KEY_parenleft, 0x5199, GDK_KEY_parenright, 0x32A2, +GDK_KEY_parenleft, 0x52B4, GDK_KEY_parenright, 0x3298, +GDK_KEY_parenleft, 0x533B, GDK_KEY_parenright, 0x32A9, +GDK_KEY_parenleft, 0x5341, GDK_KEY_parenright, 0x3289, +GDK_KEY_parenleft, 0x5354, GDK_KEY_parenright, 0x32AF, +GDK_KEY_parenleft, 0x5370, GDK_KEY_parenright, 0x329E, +GDK_KEY_parenleft, 0x53F3, GDK_KEY_parenright, 0x32A8, +GDK_KEY_parenleft, 0x540D, GDK_KEY_parenright, 0x3294, +GDK_KEY_parenleft, 0x56DB, GDK_KEY_parenright, 0x3283, +GDK_KEY_parenleft, 0x571F, GDK_KEY_parenright, 0x328F, +GDK_KEY_parenleft, 0x591C, GDK_KEY_parenright, 0x32B0, +GDK_KEY_parenleft, 0x5973, GDK_KEY_parenright, 0x329B, +GDK_KEY_parenleft, 0x5B66, GDK_KEY_parenright, 0x32AB, +GDK_KEY_parenleft, 0x5B97, GDK_KEY_parenright, 0x32AA, +GDK_KEY_parenleft, 0x5DE6, GDK_KEY_parenright, 0x32A7, +GDK_KEY_parenleft, 0x65E5, GDK_KEY_parenright, 0x3290, +GDK_KEY_parenleft, 0x6708, GDK_KEY_parenright, 0x328A, +GDK_KEY_parenleft, 0x6709, GDK_KEY_parenright, 0x3292, +GDK_KEY_parenleft, 0x6728, GDK_KEY_parenright, 0x328D, +GDK_KEY_parenleft, 0x682A, GDK_KEY_parenright, 0x3291, +GDK_KEY_parenleft, 0x6B63, GDK_KEY_parenright, 0x32A3, +GDK_KEY_parenleft, 0x6C34, GDK_KEY_parenright, 0x328C, +GDK_KEY_parenleft, 0x6CE8, GDK_KEY_parenright, 0x329F, +GDK_KEY_parenleft, 0x706B, GDK_KEY_parenright, 0x328B, +GDK_KEY_parenleft, 0x7279, GDK_KEY_parenright, 0x3295, +GDK_KEY_parenleft, 0x7537, GDK_KEY_parenright, 0x329A, +GDK_KEY_parenleft, 0x76E3, GDK_KEY_parenright, 0x32AC, +GDK_KEY_parenleft, 0x793E, GDK_KEY_parenright, 0x3293, +GDK_KEY_parenleft, 0x795D, GDK_KEY_parenright, 0x3297, +GDK_KEY_parenleft, 0x79D8, GDK_KEY_parenright, 0x3299, +GDK_KEY_parenleft, 0x8CA1, GDK_KEY_parenright, 0x3296, +GDK_KEY_parenleft, 0x8CC7, GDK_KEY_parenright, 0x32AE, +GDK_KEY_parenleft, 0x9069, GDK_KEY_parenright, 0x329C, +GDK_KEY_parenleft, 0x91D1, GDK_KEY_parenright, 0x328E, +GDK_KEY_parenleft, 0x9805, GDK_KEY_parenright, 0x32A0, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x2461, +GDK_KEY_parenleft, GDK_KEY_KP_0, GDK_KEY_parenright, 0x24EA, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_parenright, 0x2460, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_parenright, 0x2461, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_parenright, 0x2462, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_parenright, 0x2463, +GDK_KEY_parenleft, GDK_KEY_KP_5, GDK_KEY_parenright, 0x2464, +GDK_KEY_parenleft, GDK_KEY_KP_6, GDK_KEY_parenright, 0x2465, +GDK_KEY_parenleft, GDK_KEY_KP_7, GDK_KEY_parenright, 0x2466, +GDK_KEY_parenleft, GDK_KEY_KP_8, GDK_KEY_parenright, 0x2467, +GDK_KEY_parenleft, GDK_KEY_KP_9, GDK_KEY_parenright, 0x2468, +GDK_KEY_minus, GDK_KEY_minus, GDK_KEY_space, 0x00AD, +GDK_KEY_minus, GDK_KEY_minus, GDK_KEY_minus, 0x2014, +GDK_KEY_minus, GDK_KEY_minus, GDK_KEY_period, 0x2013, +GDK_KEY_period, GDK_KEY_exclam, GDK_KEY_S, 0x1E68, +GDK_KEY_period, GDK_KEY_exclam, GDK_KEY_s, 0x1E69, +GDK_KEY_period, GDK_KEY_apostrophe, GDK_KEY_S, 0x1E64, +GDK_KEY_period, GDK_KEY_apostrophe, GDK_KEY_s, 0x1E65, +GDK_KEY_period, GDK_KEY_acute, GDK_KEY_S, 0x1E64, +GDK_KEY_period, GDK_KEY_acute, GDK_KEY_s, 0x1E65, +GDK_KEY_period, GDK_KEY_dead_acute, GDK_KEY_S, 0x1E64, +GDK_KEY_period, GDK_KEY_dead_acute, GDK_KEY_s, 0x1E65, +GDK_KEY_period, GDK_KEY_dead_caron, GDK_KEY_S, 0x1E66, +GDK_KEY_period, GDK_KEY_dead_caron, GDK_KEY_s, 0x1E67, +GDK_KEY_period, GDK_KEY_dead_belowdot, GDK_KEY_S, 0x1E68, +GDK_KEY_period, GDK_KEY_dead_belowdot, GDK_KEY_s, 0x1E69, +GDK_KEY_question, GDK_KEY_plus, GDK_KEY_O, 0x1EDE, +GDK_KEY_question, GDK_KEY_plus, GDK_KEY_U, 0x1EEC, +GDK_KEY_question, GDK_KEY_plus, GDK_KEY_o, 0x1EDF, +GDK_KEY_question, GDK_KEY_plus, GDK_KEY_u, 0x1EED, +GDK_KEY_question, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA8, +GDK_KEY_question, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EC2, +GDK_KEY_question, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED4, +GDK_KEY_question, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA9, +GDK_KEY_question, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EC3, +GDK_KEY_question, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED5, +GDK_KEY_question, GDK_KEY_b, GDK_KEY_A, 0x1EB2, +GDK_KEY_question, GDK_KEY_b, GDK_KEY_a, 0x1EB3, +GDK_KEY_question, GDK_KEY_dead_circumflex, GDK_KEY_A, 0x1EA8, +GDK_KEY_question, GDK_KEY_dead_circumflex, GDK_KEY_E, 0x1EC2, +GDK_KEY_question, GDK_KEY_dead_circumflex, GDK_KEY_O, 0x1ED4, +GDK_KEY_question, GDK_KEY_dead_circumflex, GDK_KEY_a, 0x1EA9, +GDK_KEY_question, GDK_KEY_dead_circumflex, GDK_KEY_e, 0x1EC3, +GDK_KEY_question, GDK_KEY_dead_circumflex, GDK_KEY_o, 0x1ED5, +GDK_KEY_question, GDK_KEY_dead_breve, GDK_KEY_A, 0x1EB2, +GDK_KEY_question, GDK_KEY_dead_breve, GDK_KEY_a, 0x1EB3, +GDK_KEY_question, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EDE, +GDK_KEY_question, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EEC, +GDK_KEY_question, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EDF, +GDK_KEY_question, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EED, +GDK_KEY_U, GDK_KEY_exclam, GDK_KEY_A, 0x1EB6, +GDK_KEY_U, GDK_KEY_exclam, GDK_KEY_a, 0x1EB7, +GDK_KEY_U, GDK_KEY_comma, GDK_KEY_E, 0x1E1C, +GDK_KEY_U, GDK_KEY_comma, GDK_KEY_e, 0x1E1D, +GDK_KEY_U, GDK_KEY_cedilla, GDK_KEY_E, 0x1E1C, +GDK_KEY_U, GDK_KEY_cedilla, GDK_KEY_e, 0x1E1D, +GDK_KEY_U, GDK_KEY_dead_cedilla, GDK_KEY_E, 0x1E1C, +GDK_KEY_U, GDK_KEY_dead_cedilla, GDK_KEY_e, 0x1E1D, +GDK_KEY_U, GDK_KEY_dead_belowdot, GDK_KEY_A, 0x1EB6, +GDK_KEY_U, GDK_KEY_dead_belowdot, GDK_KEY_a, 0x1EB7, +GDK_KEY_asciicircum, GDK_KEY_exclam, GDK_KEY_A, 0x1EAC, +GDK_KEY_asciicircum, GDK_KEY_exclam, GDK_KEY_E, 0x1EC6, +GDK_KEY_asciicircum, GDK_KEY_exclam, GDK_KEY_O, 0x1ED8, +GDK_KEY_asciicircum, GDK_KEY_exclam, GDK_KEY_a, 0x1EAD, +GDK_KEY_asciicircum, GDK_KEY_exclam, GDK_KEY_e, 0x1EC7, +GDK_KEY_asciicircum, GDK_KEY_exclam, GDK_KEY_o, 0x1ED9, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_a, 0x00AA, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_h, 0x02B0, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_i, 0x2071, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_j, 0x02B2, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_l, 0x02E1, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_n, 0x207F, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_o, 0x00BA, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_r, 0x02B3, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_s, 0x02E2, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_w, 0x02B7, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_x, 0x02E3, +GDK_KEY_asciicircum, GDK_KEY_underscore, GDK_KEY_y, 0x02B8, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x0263, 0x02E0, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x0266, 0x02B1, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x0279, 0x02B4, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x027B, 0x02B5, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x0281, 0x02B6, +GDK_KEY_asciicircum, GDK_KEY_underscore, 0x0295, 0x02E4, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_a, 0x00AA, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_h, 0x02B0, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_i, 0x2071, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_j, 0x02B2, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_l, 0x02E1, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_n, 0x207F, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_o, 0x00BA, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_r, 0x02B3, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_s, 0x02E2, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_w, 0x02B7, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_x, 0x02E3, +GDK_KEY_asciicircum, GDK_KEY_underbar, GDK_KEY_y, 0x02B8, +GDK_KEY_asciicircum, GDK_KEY_underbar, 0x0263, 0x02E0, +GDK_KEY_asciicircum, GDK_KEY_underbar, 0x0266, 0x02B1, +GDK_KEY_asciicircum, GDK_KEY_underbar, 0x0279, 0x02B4, +GDK_KEY_asciicircum, GDK_KEY_underbar, 0x027B, 0x02B5, +GDK_KEY_asciicircum, GDK_KEY_underbar, 0x0281, 0x02B6, +GDK_KEY_asciicircum, GDK_KEY_underbar, 0x0295, 0x02E4, +GDK_KEY_asciicircum, GDK_KEY_dead_belowdot, GDK_KEY_A, 0x1EAC, +GDK_KEY_asciicircum, GDK_KEY_dead_belowdot, GDK_KEY_E, 0x1EC6, +GDK_KEY_asciicircum, GDK_KEY_dead_belowdot, GDK_KEY_O, 0x1ED8, +GDK_KEY_asciicircum, GDK_KEY_dead_belowdot, GDK_KEY_a, 0x1EAD, +GDK_KEY_asciicircum, GDK_KEY_dead_belowdot, GDK_KEY_e, 0x1EC7, +GDK_KEY_asciicircum, GDK_KEY_dead_belowdot, GDK_KEY_o, 0x1ED9, +GDK_KEY_underscore, GDK_KEY_exclam, GDK_KEY_L, 0x1E38, +GDK_KEY_underscore, GDK_KEY_exclam, GDK_KEY_R, 0x1E5C, +GDK_KEY_underscore, GDK_KEY_exclam, GDK_KEY_l, 0x1E39, +GDK_KEY_underscore, GDK_KEY_exclam, GDK_KEY_r, 0x1E5D, +GDK_KEY_underscore, GDK_KEY_quotedbl, GDK_KEY_A, 0x01DE, +GDK_KEY_underscore, GDK_KEY_quotedbl, GDK_KEY_O, 0x022A, +GDK_KEY_underscore, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D5, +GDK_KEY_underscore, GDK_KEY_quotedbl, GDK_KEY_a, 0x01DF, +GDK_KEY_underscore, GDK_KEY_quotedbl, GDK_KEY_o, 0x022B, +GDK_KEY_underscore, GDK_KEY_quotedbl, GDK_KEY_u, 0x01D6, +GDK_KEY_underscore, GDK_KEY_period, GDK_KEY_A, 0x01E0, +GDK_KEY_underscore, GDK_KEY_period, GDK_KEY_O, 0x0230, +GDK_KEY_underscore, GDK_KEY_period, GDK_KEY_a, 0x01E1, +GDK_KEY_underscore, GDK_KEY_period, GDK_KEY_o, 0x0231, +GDK_KEY_underscore, GDK_KEY_semicolon, GDK_KEY_O, 0x01EC, +GDK_KEY_underscore, GDK_KEY_semicolon, GDK_KEY_o, 0x01ED, +GDK_KEY_underscore, GDK_KEY_asciitilde, GDK_KEY_O, 0x022C, +GDK_KEY_underscore, GDK_KEY_asciitilde, GDK_KEY_o, 0x022D, +GDK_KEY_underscore, GDK_KEY_dead_tilde, GDK_KEY_O, 0x022C, +GDK_KEY_underscore, GDK_KEY_dead_tilde, GDK_KEY_o, 0x022D, +GDK_KEY_underscore, GDK_KEY_dead_abovedot, GDK_KEY_A, 0x01E0, +GDK_KEY_underscore, GDK_KEY_dead_abovedot, GDK_KEY_O, 0x0230, +GDK_KEY_underscore, GDK_KEY_dead_abovedot, GDK_KEY_a, 0x01E1, +GDK_KEY_underscore, GDK_KEY_dead_abovedot, GDK_KEY_o, 0x0231, +GDK_KEY_underscore, GDK_KEY_dead_diaeresis, GDK_KEY_A, 0x01DE, +GDK_KEY_underscore, GDK_KEY_dead_diaeresis, GDK_KEY_O, 0x022A, +GDK_KEY_underscore, GDK_KEY_dead_diaeresis, GDK_KEY_U, 0x01D5, +GDK_KEY_underscore, GDK_KEY_dead_diaeresis, GDK_KEY_a, 0x01DF, +GDK_KEY_underscore, GDK_KEY_dead_diaeresis, GDK_KEY_o, 0x022B, +GDK_KEY_underscore, GDK_KEY_dead_diaeresis, GDK_KEY_u, 0x01D6, +GDK_KEY_underscore, GDK_KEY_dead_ogonek, GDK_KEY_O, 0x01EC, +GDK_KEY_underscore, GDK_KEY_dead_ogonek, GDK_KEY_o, 0x01ED, +GDK_KEY_underscore, GDK_KEY_dead_belowdot, GDK_KEY_L, 0x1E38, +GDK_KEY_underscore, GDK_KEY_dead_belowdot, GDK_KEY_R, 0x1E5C, +GDK_KEY_underscore, GDK_KEY_dead_belowdot, GDK_KEY_l, 0x1E39, +GDK_KEY_underscore, GDK_KEY_dead_belowdot, GDK_KEY_r, 0x1E5D, +GDK_KEY_grave, GDK_KEY_quotedbl, GDK_KEY_U, 0x01DB, +GDK_KEY_grave, GDK_KEY_quotedbl, GDK_KEY_u, 0x01DC, +GDK_KEY_grave, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x1FD2, +GDK_KEY_grave, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x1FE2, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F1B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_OMICRON, 0x1F4B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6B, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F03, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_epsilon, 0x1F13, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F23, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F33, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_omicron, 0x1F43, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F53, +GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F63, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0A, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_EPSILON, 0x1F1A, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2A, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3A, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_OMICRON, 0x1F4A, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6A, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F02, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_epsilon, 0x1F12, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F22, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F32, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_omicron, 0x1F42, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F52, +GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F62, +GDK_KEY_grave, GDK_KEY_plus, GDK_KEY_O, 0x1EDC, +GDK_KEY_grave, GDK_KEY_plus, GDK_KEY_U, 0x1EEA, +GDK_KEY_grave, GDK_KEY_plus, GDK_KEY_o, 0x1EDD, +GDK_KEY_grave, GDK_KEY_plus, GDK_KEY_u, 0x1EEB, +GDK_KEY_grave, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA6, +GDK_KEY_grave, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EC0, +GDK_KEY_grave, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED2, +GDK_KEY_grave, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA7, +GDK_KEY_grave, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EC1, +GDK_KEY_grave, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED3, +GDK_KEY_grave, GDK_KEY_underscore, GDK_KEY_E, 0x1E14, +GDK_KEY_grave, GDK_KEY_underscore, GDK_KEY_O, 0x1E50, +GDK_KEY_grave, GDK_KEY_underscore, GDK_KEY_e, 0x1E15, +GDK_KEY_grave, GDK_KEY_underscore, GDK_KEY_o, 0x1E51, +GDK_KEY_grave, GDK_KEY_b, GDK_KEY_A, 0x1EB0, +GDK_KEY_grave, GDK_KEY_b, GDK_KEY_a, 0x1EB1, +GDK_KEY_grave, GDK_KEY_macron, GDK_KEY_E, 0x1E14, +GDK_KEY_grave, GDK_KEY_macron, GDK_KEY_O, 0x1E50, +GDK_KEY_grave, GDK_KEY_macron, GDK_KEY_e, 0x1E15, +GDK_KEY_grave, GDK_KEY_macron, GDK_KEY_o, 0x1E51, +GDK_KEY_grave, GDK_KEY_dead_circumflex, GDK_KEY_A, 0x1EA6, +GDK_KEY_grave, GDK_KEY_dead_circumflex, GDK_KEY_E, 0x1EC0, +GDK_KEY_grave, GDK_KEY_dead_circumflex, GDK_KEY_O, 0x1ED2, +GDK_KEY_grave, GDK_KEY_dead_circumflex, GDK_KEY_a, 0x1EA7, +GDK_KEY_grave, GDK_KEY_dead_circumflex, GDK_KEY_e, 0x1EC1, +GDK_KEY_grave, GDK_KEY_dead_circumflex, GDK_KEY_o, 0x1ED3, +GDK_KEY_grave, GDK_KEY_dead_macron, GDK_KEY_E, 0x1E14, +GDK_KEY_grave, GDK_KEY_dead_macron, GDK_KEY_O, 0x1E50, +GDK_KEY_grave, GDK_KEY_dead_macron, GDK_KEY_e, 0x1E15, +GDK_KEY_grave, GDK_KEY_dead_macron, GDK_KEY_o, 0x1E51, +GDK_KEY_grave, GDK_KEY_dead_breve, GDK_KEY_A, 0x1EB0, +GDK_KEY_grave, GDK_KEY_dead_breve, GDK_KEY_a, 0x1EB1, +GDK_KEY_grave, GDK_KEY_dead_diaeresis, GDK_KEY_U, 0x01DB, +GDK_KEY_grave, GDK_KEY_dead_diaeresis, GDK_KEY_u, 0x01DC, +GDK_KEY_grave, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD2, +GDK_KEY_grave, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE2, +GDK_KEY_grave, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EDC, +GDK_KEY_grave, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EEA, +GDK_KEY_grave, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EDD, +GDK_KEY_grave, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EEB, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0A, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_EPSILON, 0x1F1A, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2A, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3A, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_OMICRON, 0x1F4A, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6A, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F02, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_epsilon, 0x1F12, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F22, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F32, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_omicron, 0x1F42, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F52, +GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F62, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_EPSILON, 0x1F1B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMICRON, 0x1F4B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6B, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F03, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_epsilon, 0x1F13, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F23, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F33, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_omicron, 0x1F43, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F53, +GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F63, +GDK_KEY_b, GDK_KEY_exclam, GDK_KEY_A, 0x1EB6, +GDK_KEY_b, GDK_KEY_exclam, GDK_KEY_a, 0x1EB7, +GDK_KEY_b, GDK_KEY_comma, GDK_KEY_E, 0x1E1C, +GDK_KEY_b, GDK_KEY_comma, GDK_KEY_e, 0x1E1D, +GDK_KEY_b, GDK_KEY_cedilla, GDK_KEY_E, 0x1E1C, +GDK_KEY_b, GDK_KEY_cedilla, GDK_KEY_e, 0x1E1D, +GDK_KEY_b, GDK_KEY_dead_cedilla, GDK_KEY_E, 0x1E1C, +GDK_KEY_b, GDK_KEY_dead_cedilla, GDK_KEY_e, 0x1E1D, +GDK_KEY_b, GDK_KEY_dead_belowdot, GDK_KEY_A, 0x1EB6, +GDK_KEY_b, GDK_KEY_dead_belowdot, GDK_KEY_a, 0x1EB7, +GDK_KEY_c, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D9, +GDK_KEY_c, GDK_KEY_quotedbl, GDK_KEY_u, 0x01DA, +GDK_KEY_c, GDK_KEY_dead_diaeresis, GDK_KEY_U, 0x01D9, +GDK_KEY_c, GDK_KEY_dead_diaeresis, GDK_KEY_u, 0x01DA, +GDK_KEY_o, GDK_KEY_apostrophe, GDK_KEY_A, 0x01FA, +GDK_KEY_o, GDK_KEY_apostrophe, GDK_KEY_a, 0x01FB, +GDK_KEY_asciitilde, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x1FD7, +GDK_KEY_asciitilde, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x1FE7, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0F, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2F, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3F, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5F, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6F, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F07, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F27, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F37, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F57, +GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F67, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0E, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2E, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3E, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6E, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F06, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F26, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F36, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F56, +GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F66, +GDK_KEY_asciitilde, GDK_KEY_plus, GDK_KEY_O, 0x1EE0, +GDK_KEY_asciitilde, GDK_KEY_plus, GDK_KEY_U, 0x1EEE, +GDK_KEY_asciitilde, GDK_KEY_plus, GDK_KEY_o, 0x1EE1, +GDK_KEY_asciitilde, GDK_KEY_plus, GDK_KEY_u, 0x1EEF, +GDK_KEY_asciitilde, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EAA, +GDK_KEY_asciitilde, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EC4, +GDK_KEY_asciitilde, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED6, +GDK_KEY_asciitilde, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EAB, +GDK_KEY_asciitilde, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EC5, +GDK_KEY_asciitilde, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED7, +GDK_KEY_asciitilde, GDK_KEY_b, GDK_KEY_A, 0x1EB4, +GDK_KEY_asciitilde, GDK_KEY_b, GDK_KEY_a, 0x1EB5, +GDK_KEY_asciitilde, GDK_KEY_dead_circumflex, GDK_KEY_A, 0x1EAA, +GDK_KEY_asciitilde, GDK_KEY_dead_circumflex, GDK_KEY_E, 0x1EC4, +GDK_KEY_asciitilde, GDK_KEY_dead_circumflex, GDK_KEY_O, 0x1ED6, +GDK_KEY_asciitilde, GDK_KEY_dead_circumflex, GDK_KEY_a, 0x1EAB, +GDK_KEY_asciitilde, GDK_KEY_dead_circumflex, GDK_KEY_e, 0x1EC5, +GDK_KEY_asciitilde, GDK_KEY_dead_circumflex, GDK_KEY_o, 0x1ED7, +GDK_KEY_asciitilde, GDK_KEY_dead_breve, GDK_KEY_A, 0x1EB4, +GDK_KEY_asciitilde, GDK_KEY_dead_breve, GDK_KEY_a, 0x1EB5, +GDK_KEY_asciitilde, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x1FD7, +GDK_KEY_asciitilde, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x1FE7, +GDK_KEY_asciitilde, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EE0, +GDK_KEY_asciitilde, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EEE, +GDK_KEY_asciitilde, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EE1, +GDK_KEY_asciitilde, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EEF, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0E, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2E, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3E, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6E, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F06, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F26, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F36, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F56, +GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F66, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0F, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2F, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3F, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5F, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6F, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F07, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F27, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F37, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F57, +GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F67, +GDK_KEY_macron, GDK_KEY_exclam, GDK_KEY_L, 0x1E38, +GDK_KEY_macron, GDK_KEY_exclam, GDK_KEY_R, 0x1E5C, +GDK_KEY_macron, GDK_KEY_exclam, GDK_KEY_l, 0x1E39, +GDK_KEY_macron, GDK_KEY_exclam, GDK_KEY_r, 0x1E5D, +GDK_KEY_macron, GDK_KEY_quotedbl, GDK_KEY_A, 0x01DE, +GDK_KEY_macron, GDK_KEY_quotedbl, GDK_KEY_O, 0x022A, +GDK_KEY_macron, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D5, +GDK_KEY_macron, GDK_KEY_quotedbl, GDK_KEY_a, 0x01DF, +GDK_KEY_macron, GDK_KEY_quotedbl, GDK_KEY_o, 0x022B, +GDK_KEY_macron, GDK_KEY_quotedbl, GDK_KEY_u, 0x01D6, +GDK_KEY_macron, GDK_KEY_period, GDK_KEY_A, 0x01E0, +GDK_KEY_macron, GDK_KEY_period, GDK_KEY_O, 0x0230, +GDK_KEY_macron, GDK_KEY_period, GDK_KEY_a, 0x01E1, +GDK_KEY_macron, GDK_KEY_period, GDK_KEY_o, 0x0231, +GDK_KEY_macron, GDK_KEY_semicolon, GDK_KEY_O, 0x01EC, +GDK_KEY_macron, GDK_KEY_semicolon, GDK_KEY_o, 0x01ED, +GDK_KEY_macron, GDK_KEY_asciitilde, GDK_KEY_O, 0x022C, +GDK_KEY_macron, GDK_KEY_asciitilde, GDK_KEY_o, 0x022D, +GDK_KEY_macron, GDK_KEY_dead_tilde, GDK_KEY_O, 0x022C, +GDK_KEY_macron, GDK_KEY_dead_tilde, GDK_KEY_o, 0x022D, +GDK_KEY_macron, GDK_KEY_dead_abovedot, GDK_KEY_A, 0x01E0, +GDK_KEY_macron, GDK_KEY_dead_abovedot, GDK_KEY_O, 0x0230, +GDK_KEY_macron, GDK_KEY_dead_abovedot, GDK_KEY_a, 0x01E1, +GDK_KEY_macron, GDK_KEY_dead_abovedot, GDK_KEY_o, 0x0231, +GDK_KEY_macron, GDK_KEY_dead_diaeresis, GDK_KEY_A, 0x01DE, +GDK_KEY_macron, GDK_KEY_dead_diaeresis, GDK_KEY_O, 0x022A, +GDK_KEY_macron, GDK_KEY_dead_diaeresis, GDK_KEY_U, 0x01D5, +GDK_KEY_macron, GDK_KEY_dead_diaeresis, GDK_KEY_a, 0x01DF, +GDK_KEY_macron, GDK_KEY_dead_diaeresis, GDK_KEY_o, 0x022B, +GDK_KEY_macron, GDK_KEY_dead_diaeresis, GDK_KEY_u, 0x01D6, +GDK_KEY_macron, GDK_KEY_dead_ogonek, GDK_KEY_O, 0x01EC, +GDK_KEY_macron, GDK_KEY_dead_ogonek, GDK_KEY_o, 0x01ED, +GDK_KEY_macron, GDK_KEY_dead_belowdot, GDK_KEY_L, 0x1E38, +GDK_KEY_macron, GDK_KEY_dead_belowdot, GDK_KEY_R, 0x1E5C, +GDK_KEY_macron, GDK_KEY_dead_belowdot, GDK_KEY_l, 0x1E39, +GDK_KEY_macron, GDK_KEY_dead_belowdot, GDK_KEY_r, 0x1E5D, +GDK_KEY_acute, GDK_KEY_quotedbl, GDK_KEY_I, 0x1E2E, +GDK_KEY_acute, GDK_KEY_quotedbl, GDK_KEY_U, 0x01D7, +GDK_KEY_acute, GDK_KEY_quotedbl, GDK_KEY_i, 0x1E2F, +GDK_KEY_acute, GDK_KEY_quotedbl, GDK_KEY_u, 0x01D8, +GDK_KEY_acute, GDK_KEY_quotedbl, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_acute, GDK_KEY_quotedbl, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F0D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_EPSILON, 0x1F1D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F2D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_IOTA, 0x1F3D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_OMICRON, 0x1F4D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_UPSILON, 0x1F5D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1F6D, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F05, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_epsilon, 0x1F15, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F25, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_iota, 0x1F35, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_omicron, 0x1F45, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_upsilon, 0x1F55, +GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1F65, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F0C, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_EPSILON, 0x1F1C, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F2C, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_IOTA, 0x1F3C, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_OMICRON, 0x1F4C, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1F6C, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F04, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_epsilon, 0x1F14, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F24, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_iota, 0x1F34, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_omicron, 0x1F44, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_upsilon, 0x1F54, +GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1F64, +GDK_KEY_acute, GDK_KEY_plus, GDK_KEY_O, 0x1EDA, +GDK_KEY_acute, GDK_KEY_plus, GDK_KEY_U, 0x1EE8, +GDK_KEY_acute, GDK_KEY_plus, GDK_KEY_o, 0x1EDB, +GDK_KEY_acute, GDK_KEY_plus, GDK_KEY_u, 0x1EE9, +GDK_KEY_acute, GDK_KEY_comma, GDK_KEY_C, 0x1E08, +GDK_KEY_acute, GDK_KEY_comma, GDK_KEY_c, 0x1E09, +GDK_KEY_acute, GDK_KEY_slash, GDK_KEY_O, 0x01FE, +GDK_KEY_acute, GDK_KEY_slash, GDK_KEY_o, 0x01FF, +GDK_KEY_acute, GDK_KEY_asciicircum, GDK_KEY_A, 0x1EA4, +GDK_KEY_acute, GDK_KEY_asciicircum, GDK_KEY_E, 0x1EBE, +GDK_KEY_acute, GDK_KEY_asciicircum, GDK_KEY_O, 0x1ED0, +GDK_KEY_acute, GDK_KEY_asciicircum, GDK_KEY_a, 0x1EA5, +GDK_KEY_acute, GDK_KEY_asciicircum, GDK_KEY_e, 0x1EBF, +GDK_KEY_acute, GDK_KEY_asciicircum, GDK_KEY_o, 0x1ED1, +GDK_KEY_acute, GDK_KEY_underscore, GDK_KEY_E, 0x1E16, +GDK_KEY_acute, GDK_KEY_underscore, GDK_KEY_O, 0x1E52, +GDK_KEY_acute, GDK_KEY_underscore, GDK_KEY_e, 0x1E17, +GDK_KEY_acute, GDK_KEY_underscore, GDK_KEY_o, 0x1E53, +GDK_KEY_acute, GDK_KEY_b, GDK_KEY_A, 0x1EAE, +GDK_KEY_acute, GDK_KEY_b, GDK_KEY_a, 0x1EAF, +GDK_KEY_acute, GDK_KEY_asciitilde, GDK_KEY_O, 0x1E4C, +GDK_KEY_acute, GDK_KEY_asciitilde, GDK_KEY_U, 0x1E78, +GDK_KEY_acute, GDK_KEY_asciitilde, GDK_KEY_o, 0x1E4D, +GDK_KEY_acute, GDK_KEY_asciitilde, GDK_KEY_u, 0x1E79, +GDK_KEY_acute, GDK_KEY_macron, GDK_KEY_E, 0x1E16, +GDK_KEY_acute, GDK_KEY_macron, GDK_KEY_O, 0x1E52, +GDK_KEY_acute, GDK_KEY_macron, GDK_KEY_e, 0x1E17, +GDK_KEY_acute, GDK_KEY_macron, GDK_KEY_o, 0x1E53, +GDK_KEY_acute, GDK_KEY_cedilla, GDK_KEY_C, 0x1E08, +GDK_KEY_acute, GDK_KEY_cedilla, GDK_KEY_c, 0x1E09, +GDK_KEY_acute, GDK_KEY_dead_circumflex, GDK_KEY_A, 0x1EA4, +GDK_KEY_acute, GDK_KEY_dead_circumflex, GDK_KEY_E, 0x1EBE, +GDK_KEY_acute, GDK_KEY_dead_circumflex, GDK_KEY_O, 0x1ED0, +GDK_KEY_acute, GDK_KEY_dead_circumflex, GDK_KEY_a, 0x1EA5, +GDK_KEY_acute, GDK_KEY_dead_circumflex, GDK_KEY_e, 0x1EBF, +GDK_KEY_acute, GDK_KEY_dead_circumflex, GDK_KEY_o, 0x1ED1, +GDK_KEY_acute, GDK_KEY_dead_tilde, GDK_KEY_O, 0x1E4C, +GDK_KEY_acute, GDK_KEY_dead_tilde, GDK_KEY_U, 0x1E78, +GDK_KEY_acute, GDK_KEY_dead_tilde, GDK_KEY_o, 0x1E4D, +GDK_KEY_acute, GDK_KEY_dead_tilde, GDK_KEY_u, 0x1E79, +GDK_KEY_acute, GDK_KEY_dead_macron, GDK_KEY_E, 0x1E16, +GDK_KEY_acute, GDK_KEY_dead_macron, GDK_KEY_O, 0x1E52, +GDK_KEY_acute, GDK_KEY_dead_macron, GDK_KEY_e, 0x1E17, +GDK_KEY_acute, GDK_KEY_dead_macron, GDK_KEY_o, 0x1E53, +GDK_KEY_acute, GDK_KEY_dead_breve, GDK_KEY_A, 0x1EAE, +GDK_KEY_acute, GDK_KEY_dead_breve, GDK_KEY_a, 0x1EAF, +GDK_KEY_acute, GDK_KEY_dead_diaeresis, GDK_KEY_I, 0x1E2E, +GDK_KEY_acute, GDK_KEY_dead_diaeresis, GDK_KEY_U, 0x01D7, +GDK_KEY_acute, GDK_KEY_dead_diaeresis, GDK_KEY_i, 0x1E2F, +GDK_KEY_acute, GDK_KEY_dead_diaeresis, GDK_KEY_u, 0x01D8, +GDK_KEY_acute, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_iota, 0x0390, +GDK_KEY_acute, GDK_KEY_dead_diaeresis, GDK_KEY_Greek_upsilon, 0x03B0, +GDK_KEY_acute, GDK_KEY_dead_abovering, GDK_KEY_A, 0x01FA, +GDK_KEY_acute, GDK_KEY_dead_abovering, GDK_KEY_a, 0x01FB, +GDK_KEY_acute, GDK_KEY_dead_cedilla, GDK_KEY_C, 0x1E08, +GDK_KEY_acute, GDK_KEY_dead_cedilla, GDK_KEY_c, 0x1E09, +GDK_KEY_acute, GDK_KEY_dead_horn, GDK_KEY_O, 0x1EDA, +GDK_KEY_acute, GDK_KEY_dead_horn, GDK_KEY_U, 0x1EE8, +GDK_KEY_acute, GDK_KEY_dead_horn, GDK_KEY_o, 0x1EDB, +GDK_KEY_acute, GDK_KEY_dead_horn, GDK_KEY_u, 0x1EE9, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F0C, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_EPSILON, 0x1F1C, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F2C, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_IOTA, 0x1F3C, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_OMICRON, 0x1F4C, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1F6C, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F04, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_epsilon, 0x1F14, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F24, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_iota, 0x1F34, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_omicron, 0x1F44, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_upsilon, 0x1F54, +GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1F64, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F0D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_EPSILON, 0x1F1D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F2D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_IOTA, 0x1F3D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMICRON, 0x1F4D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_UPSILON, 0x1F5D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1F6D, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F05, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_epsilon, 0x1F15, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F25, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_iota, 0x1F35, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_omicron, 0x1F45, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_upsilon, 0x1F55, +GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1F65, +GDK_KEY_acute, GDK_KEY_KP_Divide, GDK_KEY_O, 0x01FE, +GDK_KEY_acute, GDK_KEY_KP_Divide, GDK_KEY_o, 0x01FF, +0x05C1, 0x05BC, GDK_KEY_hebrew_shin, 0xFB2C, +0x05C2, 0x05BC, GDK_KEY_hebrew_shin, 0xFB2D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_Greek_alpha, 0x1FB4, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_Greek_eta, 0x1FC4, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_Greek_omega, 0x1FF4, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F00, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F01, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F08, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F09, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F20, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F21, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F28, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F29, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F60, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F61, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F68, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, 0x1F69, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F89, +GDK_KEY_Greek_iota, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F99, +GDK_KEY_Greek_iota, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FA9, +GDK_KEY_Greek_iota, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F81, +GDK_KEY_Greek_iota, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F91, +GDK_KEY_Greek_iota, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA1, +GDK_KEY_Greek_iota, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F88, +GDK_KEY_Greek_iota, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F98, +GDK_KEY_Greek_iota, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FA8, +GDK_KEY_Greek_iota, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F80, +GDK_KEY_Greek_iota, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F90, +GDK_KEY_Greek_iota, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA0, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_Greek_alpha, 0x1FB2, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_Greek_eta, 0x1FC2, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_Greek_omega, 0x1FF2, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F00, 0x1F82, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F01, 0x1F83, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F08, 0x1F8A, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F09, 0x1F8B, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F20, 0x1F92, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F21, 0x1F93, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F28, 0x1F9A, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F29, 0x1F9B, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F60, 0x1FA2, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F61, 0x1FA3, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F68, 0x1FAA, +GDK_KEY_Greek_iota, GDK_KEY_grave, 0x1F69, 0x1FAB, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_Greek_alpha, 0x1FB7, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_Greek_eta, 0x1FC7, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_Greek_omega, 0x1FF7, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F00, 0x1F86, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F01, 0x1F87, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F08, 0x1F8E, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F09, 0x1F8F, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F20, 0x1F96, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F21, 0x1F97, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F28, 0x1F9E, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F29, 0x1F9F, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F60, 0x1FA6, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F61, 0x1FA7, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F68, 0x1FAE, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, 0x1F69, 0x1FAF, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_Greek_alpha, 0x1FB4, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_Greek_eta, 0x1FC4, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_Greek_omega, 0x1FF4, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F00, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F01, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F08, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F09, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F20, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F21, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F28, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F29, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F60, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F61, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F68, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_acute, 0x1F69, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_Greek_alpha, 0x1FB2, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_Greek_eta, 0x1FC2, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_Greek_omega, 0x1FF2, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F00, 0x1F82, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F01, 0x1F83, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F08, 0x1F8A, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F09, 0x1F8B, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F20, 0x1F92, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F21, 0x1F93, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F28, 0x1F9A, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F29, 0x1F9B, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F60, 0x1FA2, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F61, 0x1FA3, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F68, 0x1FAA, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, 0x1F69, 0x1FAB, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_Greek_alpha, 0x1FB4, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_Greek_eta, 0x1FC4, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_Greek_omega, 0x1FF4, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F00, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F01, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F08, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F09, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F20, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F21, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F28, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F29, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F60, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F61, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F68, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, 0x1F69, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_Greek_alpha, 0x1FB7, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_Greek_eta, 0x1FC7, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_Greek_omega, 0x1FF7, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F00, 0x1F86, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F01, 0x1F87, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F08, 0x1F8E, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F09, 0x1F8F, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F20, 0x1F96, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F21, 0x1F97, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F28, 0x1F9E, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F29, 0x1F9F, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F60, 0x1FA6, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F61, 0x1FA7, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F68, 0x1FAE, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, 0x1F69, 0x1FAF, +GDK_KEY_Greek_iota, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F88, +GDK_KEY_Greek_iota, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F98, +GDK_KEY_Greek_iota, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FA8, +GDK_KEY_Greek_iota, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F80, +GDK_KEY_Greek_iota, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F90, +GDK_KEY_Greek_iota, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA0, +GDK_KEY_Greek_iota, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F89, +GDK_KEY_Greek_iota, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F99, +GDK_KEY_Greek_iota, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FA9, +GDK_KEY_Greek_iota, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F81, +GDK_KEY_Greek_iota, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F91, +GDK_KEY_Greek_iota, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA1, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_0, GDK_KEY_parenright, 0x2469, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_1, GDK_KEY_parenright, 0x246A, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_2, GDK_KEY_parenright, 0x246B, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_3, GDK_KEY_parenright, 0x246C, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_4, GDK_KEY_parenright, 0x246D, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_5, GDK_KEY_parenright, 0x246E, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_6, GDK_KEY_parenright, 0x246F, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_7, GDK_KEY_parenright, 0x2470, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_8, GDK_KEY_parenright, 0x2471, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_9, GDK_KEY_parenright, 0x2472, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x246B, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_0, GDK_KEY_parenright, 0x2469, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_1, GDK_KEY_parenright, 0x246A, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_2, GDK_KEY_parenright, 0x246B, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_3, GDK_KEY_parenright, 0x246C, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_4, GDK_KEY_parenright, 0x246D, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_5, GDK_KEY_parenright, 0x246E, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_6, GDK_KEY_parenright, 0x246F, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_7, GDK_KEY_parenright, 0x2470, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_8, GDK_KEY_parenright, 0x2471, +GDK_KEY_parenleft, GDK_KEY_1, GDK_KEY_KP_9, GDK_KEY_parenright, 0x2472, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_0, GDK_KEY_parenright, 0x2473, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_1, GDK_KEY_parenright, 0x3251, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_2, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_3, GDK_KEY_parenright, 0x3253, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_4, GDK_KEY_parenright, 0x3254, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_5, GDK_KEY_parenright, 0x3255, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_6, GDK_KEY_parenright, 0x3256, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_7, GDK_KEY_parenright, 0x3257, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_8, GDK_KEY_parenright, 0x3258, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_9, GDK_KEY_parenright, 0x3259, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_0, GDK_KEY_parenright, 0x2473, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_1, GDK_KEY_parenright, 0x3251, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_2, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_3, GDK_KEY_parenright, 0x3253, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_4, GDK_KEY_parenright, 0x3254, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_5, GDK_KEY_parenright, 0x3255, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_6, GDK_KEY_parenright, 0x3256, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_7, GDK_KEY_parenright, 0x3257, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_8, GDK_KEY_parenright, 0x3258, +GDK_KEY_parenleft, GDK_KEY_2, GDK_KEY_KP_9, GDK_KEY_parenright, 0x3259, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_0, GDK_KEY_parenright, 0x325A, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_1, GDK_KEY_parenright, 0x325B, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_2, GDK_KEY_parenright, 0x325C, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_3, GDK_KEY_parenright, 0x325D, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_4, GDK_KEY_parenright, 0x325E, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_5, GDK_KEY_parenright, 0x325F, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_6, GDK_KEY_parenright, 0x32B1, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_7, GDK_KEY_parenright, 0x32B2, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_8, GDK_KEY_parenright, 0x32B3, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_9, GDK_KEY_parenright, 0x32B4, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x325C, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_0, GDK_KEY_parenright, 0x325A, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_1, GDK_KEY_parenright, 0x325B, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_2, GDK_KEY_parenright, 0x325C, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_3, GDK_KEY_parenright, 0x325D, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_4, GDK_KEY_parenright, 0x325E, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_5, GDK_KEY_parenright, 0x325F, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_6, GDK_KEY_parenright, 0x32B1, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_7, GDK_KEY_parenright, 0x32B2, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_8, GDK_KEY_parenright, 0x32B3, +GDK_KEY_parenleft, GDK_KEY_3, GDK_KEY_KP_9, GDK_KEY_parenright, 0x32B4, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_0, GDK_KEY_parenright, 0x32B5, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_1, GDK_KEY_parenright, 0x32B6, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_2, GDK_KEY_parenright, 0x32B7, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_3, GDK_KEY_parenright, 0x32B8, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_4, GDK_KEY_parenright, 0x32B9, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_5, GDK_KEY_parenright, 0x32BA, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_6, GDK_KEY_parenright, 0x32BB, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_7, GDK_KEY_parenright, 0x32BC, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_8, GDK_KEY_parenright, 0x32BD, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_9, GDK_KEY_parenright, 0x32BE, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x32B7, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_0, GDK_KEY_parenright, 0x32B5, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_1, GDK_KEY_parenright, 0x32B6, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_2, GDK_KEY_parenright, 0x32B7, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_3, GDK_KEY_parenright, 0x32B8, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_4, GDK_KEY_parenright, 0x32B9, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_5, GDK_KEY_parenright, 0x32BA, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_6, GDK_KEY_parenright, 0x32BB, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_7, GDK_KEY_parenright, 0x32BC, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_8, GDK_KEY_parenright, 0x32BD, +GDK_KEY_parenleft, GDK_KEY_4, GDK_KEY_KP_9, GDK_KEY_parenright, 0x32BE, +GDK_KEY_parenleft, GDK_KEY_5, GDK_KEY_KP_0, GDK_KEY_parenright, 0x32BF, +GDK_KEY_parenleft, 0x1100, 0x1161, GDK_KEY_parenright, 0x326E, +GDK_KEY_parenleft, 0x1102, 0x1161, GDK_KEY_parenright, 0x326F, +GDK_KEY_parenleft, 0x1103, 0x1161, GDK_KEY_parenright, 0x3270, +GDK_KEY_parenleft, 0x1105, 0x1161, GDK_KEY_parenright, 0x3271, +GDK_KEY_parenleft, 0x1106, 0x1161, GDK_KEY_parenright, 0x3272, +GDK_KEY_parenleft, 0x1107, 0x1161, GDK_KEY_parenright, 0x3273, +GDK_KEY_parenleft, 0x1109, 0x1161, GDK_KEY_parenright, 0x3274, +GDK_KEY_parenleft, 0x110B, 0x1161, GDK_KEY_parenright, 0x3275, +GDK_KEY_parenleft, 0x110C, 0x1161, GDK_KEY_parenright, 0x3276, +GDK_KEY_parenleft, 0x110E, 0x1161, GDK_KEY_parenright, 0x3277, +GDK_KEY_parenleft, 0x110F, 0x1161, GDK_KEY_parenright, 0x3278, +GDK_KEY_parenleft, 0x1110, 0x1161, GDK_KEY_parenright, 0x3279, +GDK_KEY_parenleft, 0x1111, 0x1161, GDK_KEY_parenright, 0x327A, +GDK_KEY_parenleft, 0x1112, 0x1161, GDK_KEY_parenright, 0x327B, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_0, GDK_KEY_parenright, 0x2473, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_1, GDK_KEY_parenright, 0x3251, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_2, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_3, GDK_KEY_parenright, 0x3253, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_4, GDK_KEY_parenright, 0x3254, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_5, GDK_KEY_parenright, 0x3255, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_6, GDK_KEY_parenright, 0x3256, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_7, GDK_KEY_parenright, 0x3257, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_8, GDK_KEY_parenright, 0x3258, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_9, GDK_KEY_parenright, 0x3259, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_0, GDK_KEY_parenright, 0x2473, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_1, GDK_KEY_parenright, 0x3251, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_2, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_3, GDK_KEY_parenright, 0x3253, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_4, GDK_KEY_parenright, 0x3254, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_5, GDK_KEY_parenright, 0x3255, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_6, GDK_KEY_parenright, 0x3256, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_7, GDK_KEY_parenright, 0x3257, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_8, GDK_KEY_parenright, 0x3258, +GDK_KEY_parenleft, GDK_KEY_KP_Space, GDK_KEY_KP_9, GDK_KEY_parenright, 0x3259, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_0, GDK_KEY_parenright, 0x2469, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_1, GDK_KEY_parenright, 0x246A, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_2, GDK_KEY_parenright, 0x246B, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_3, GDK_KEY_parenright, 0x246C, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_4, GDK_KEY_parenright, 0x246D, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_5, GDK_KEY_parenright, 0x246E, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_6, GDK_KEY_parenright, 0x246F, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_7, GDK_KEY_parenright, 0x2470, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_8, GDK_KEY_parenright, 0x2471, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_9, GDK_KEY_parenright, 0x2472, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x246B, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_0, GDK_KEY_parenright, 0x2469, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_1, GDK_KEY_parenright, 0x246A, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_2, GDK_KEY_parenright, 0x246B, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_3, GDK_KEY_parenright, 0x246C, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_4, GDK_KEY_parenright, 0x246D, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_5, GDK_KEY_parenright, 0x246E, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_6, GDK_KEY_parenright, 0x246F, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_7, GDK_KEY_parenright, 0x2470, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_8, GDK_KEY_parenright, 0x2471, +GDK_KEY_parenleft, GDK_KEY_KP_1, GDK_KEY_KP_9, GDK_KEY_parenright, 0x2472, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_0, GDK_KEY_parenright, 0x2473, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_1, GDK_KEY_parenright, 0x3251, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_2, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_3, GDK_KEY_parenright, 0x3253, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_4, GDK_KEY_parenright, 0x3254, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_5, GDK_KEY_parenright, 0x3255, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_6, GDK_KEY_parenright, 0x3256, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_7, GDK_KEY_parenright, 0x3257, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_8, GDK_KEY_parenright, 0x3258, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_9, GDK_KEY_parenright, 0x3259, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_0, GDK_KEY_parenright, 0x2473, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_1, GDK_KEY_parenright, 0x3251, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_2, GDK_KEY_parenright, 0x3252, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_3, GDK_KEY_parenright, 0x3253, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_4, GDK_KEY_parenright, 0x3254, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_5, GDK_KEY_parenright, 0x3255, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_6, GDK_KEY_parenright, 0x3256, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_7, GDK_KEY_parenright, 0x3257, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_8, GDK_KEY_parenright, 0x3258, +GDK_KEY_parenleft, GDK_KEY_KP_2, GDK_KEY_KP_9, GDK_KEY_parenright, 0x3259, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_0, GDK_KEY_parenright, 0x325A, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_1, GDK_KEY_parenright, 0x325B, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_2, GDK_KEY_parenright, 0x325C, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_3, GDK_KEY_parenright, 0x325D, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_4, GDK_KEY_parenright, 0x325E, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_5, GDK_KEY_parenright, 0x325F, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_6, GDK_KEY_parenright, 0x32B1, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_7, GDK_KEY_parenright, 0x32B2, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_8, GDK_KEY_parenright, 0x32B3, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_9, GDK_KEY_parenright, 0x32B4, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x325C, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_0, GDK_KEY_parenright, 0x325A, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_1, GDK_KEY_parenright, 0x325B, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_2, GDK_KEY_parenright, 0x325C, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_3, GDK_KEY_parenright, 0x325D, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_4, GDK_KEY_parenright, 0x325E, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_5, GDK_KEY_parenright, 0x325F, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_6, GDK_KEY_parenright, 0x32B1, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_7, GDK_KEY_parenright, 0x32B2, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_8, GDK_KEY_parenright, 0x32B3, +GDK_KEY_parenleft, GDK_KEY_KP_3, GDK_KEY_KP_9, GDK_KEY_parenright, 0x32B4, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_0, GDK_KEY_parenright, 0x32B5, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_1, GDK_KEY_parenright, 0x32B6, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_2, GDK_KEY_parenright, 0x32B7, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_3, GDK_KEY_parenright, 0x32B8, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_4, GDK_KEY_parenright, 0x32B9, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_5, GDK_KEY_parenright, 0x32BA, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_6, GDK_KEY_parenright, 0x32BB, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_7, GDK_KEY_parenright, 0x32BC, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_8, GDK_KEY_parenright, 0x32BD, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_9, GDK_KEY_parenright, 0x32BE, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_Space, GDK_KEY_parenright, 0x32B7, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_0, GDK_KEY_parenright, 0x32B5, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_1, GDK_KEY_parenright, 0x32B6, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_2, GDK_KEY_parenright, 0x32B7, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_3, GDK_KEY_parenright, 0x32B8, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_4, GDK_KEY_parenright, 0x32B9, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_5, GDK_KEY_parenright, 0x32BA, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_6, GDK_KEY_parenright, 0x32BB, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_7, GDK_KEY_parenright, 0x32BC, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_8, GDK_KEY_parenright, 0x32BD, +GDK_KEY_parenleft, GDK_KEY_KP_4, GDK_KEY_KP_9, GDK_KEY_parenright, 0x32BE, +GDK_KEY_parenleft, GDK_KEY_KP_5, GDK_KEY_KP_0, GDK_KEY_parenright, 0x32BF, +GDK_KEY_C, GDK_KEY_C, GDK_KEY_C, GDK_KEY_P, 0x262D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_apostrophe, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_Greek_iota, GDK_KEY_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_Greek_iota, GDK_KEY_asciitilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8A, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9A, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAA, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F82, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F92, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA2, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8B, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9B, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAB, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F83, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F93, +GDK_KEY_Greek_iota, GDK_KEY_dead_grave, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA3, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8C, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9C, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAC, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F84, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F94, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA4, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8D, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9D, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAD, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F85, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F95, +GDK_KEY_Greek_iota, GDK_KEY_dead_acute, GDK_KEY_dead_dasia, GDK_KEY_Greek_omega, 0x1FA5, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenleft, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenleft, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenleft, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenleft, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenleft, GDK_KEY_Greek_eta, 0x1F97, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenleft, GDK_KEY_Greek_omega, 0x1FA7, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenright, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenright, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenright, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenright, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenright, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_parenright, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ALPHA, 0x1F8E, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_ETA, 0x1F9E, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_OMEGA, 0x1FAE, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_alpha, 0x1F86, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_eta, 0x1F96, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_psili, GDK_KEY_Greek_omega, 0x1FA6, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ALPHA, 0x1F8F, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_ETA, 0x1F9F, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_OMEGA, 0x1FAF, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_alpha, 0x1F87, +GDK_KEY_Greek_iota, GDK_KEY_dead_tilde, GDK_KEY_dead_dasia, GDK_KEY_Greek_eta, 0x1F97, }; #endif /* __GTK_IM_CONTEXT_SIMPLE_SEQS_H__ */ diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index 5ec7a04d2f..9905e9830d 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -46,7 +46,6 @@ #include "gtkintl.h" #include "gtkprivate.h" #include "gtkstock.h" -#include "gdkkeysyms.h" /** * SECTION:gtkinfobar diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 6e1be9b28e..1d664632e2 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -35,7 +35,6 @@ #include "gtkmarshalers.h" #include "gtkpango.h" #include "gtkwindow.h" -#include "gdk/gdkkeysyms.h" #include "gtkclipboard.h" #include "gtkimagemenuitem.h" #include "gtkintl.h" diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 3a2fc7ce18..59e94ae1c6 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -25,13 +25,15 @@ */ #include "config.h" + #include -#include "gdk/gdkkeysyms.h" + +#include + #include "gtkaccellabel.h" #include "gtkaccelmap.h" #include "gtkbindings.h" #include "gtkcheckmenuitem.h" -#include #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkmenuprivate.h" diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 5f84425455..66669fa9e9 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -28,7 +28,6 @@ #include "gtkmenubar.h" -#include "gdk/gdkkeysyms.h" #include "gtkbindings.h" #include "gtkmain.h" #include "gtkmarshalers.h" diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index c8a8fab118..1dfecc2a7b 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -25,7 +25,7 @@ */ #include "config.h" -#include "gdk/gdkkeysyms.h" + #include "gtkbindings.h" #include "gtkkeyhash.h" #include "gtklabel.h" diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index df27ba550c..6034851e7c 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -27,12 +27,10 @@ #include "config.h" -#include "gtknotebook.h" - #include #include -#include +#include "gtknotebook.h" #include "gtkmain.h" #include "gtkmenu.h" diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index 696a2e6d9a..e3cfc98bab 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -28,7 +28,6 @@ #include "gtkpaned.h" -#include "gdk/gdkkeysyms.h" #include "gtkbindings.h" #include "gtkmain.h" #include "gtkmarshalers.h" diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index c2409afb3f..7a7bebf2e4 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -30,7 +30,6 @@ #include #include -#include #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkorientable.h" diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index c23fd15a2e..b34167a2c7 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -30,7 +30,6 @@ #include #include -#include "gdk/gdkkeysyms.h" #include "gtkscale.h" #include "gtkiconfactory.h" #include "gtkicontheme.h" diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index f3894ff84b..689425f0fd 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -42,9 +42,6 @@ #include #include -#include -#include - #include "gtkbindings.h" #include "gtkframe.h" #include "gtkmain.h" diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 1614b6b9c2..81726cde66 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -25,8 +25,9 @@ */ #include "config.h" + #include -#include + #include "gtkbindings.h" #include "gtkmarshalers.h" #include "gtkscrollable.h" diff --git a/gtk/gtksocket-x11.c b/gtk/gtksocket-x11.c index 692e08345f..d48bcb2c30 100644 --- a/gtk/gtksocket-x11.c +++ b/gtk/gtksocket-x11.c @@ -26,9 +26,9 @@ */ #include "config.h" + #include -#include "gdk/gdkkeysyms.h" #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkwindowprivate.h" diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 90c0e9e596..8c92b9a742 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -31,7 +31,6 @@ #include -#include "gdk/gdkkeysyms.h" #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtksizerequest.h" diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index fe8bc8c238..c3f87d5296 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -28,12 +28,13 @@ */ #include "config.h" + #include #include #include #include #include -#include "gdk/gdkkeysyms.h" + #include "gtkbindings.h" #include "gtkspinbutton.h" #include "gtkentryprivate.h" diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index a5a220e01b..27f85d9257 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -29,17 +29,16 @@ #include "config.h" -#include "gtkstatusicon.h" - #include +#include "gtkstatusicon.h" + #include "gtkintl.h" #include "gtkiconfactory.h" #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtksizerequest.h" #include "gtktrayicon.h" - #include "gtkprivate.h" #include "gtkwidget.h" #include "gtktooltip.h" @@ -62,9 +61,7 @@ #ifdef GDK_WINDOWING_QUARTZ #include "gtkicontheme.h" #include "gtklabel.h" -#endif - -#include "gdkkeysyms.h" +#endif #define BLINK_TIMEOUT 500 diff --git a/gtk/gtkstock.c b/gtk/gtkstock.c index ff73fc40cd..d6977194b5 100644 --- a/gtk/gtkstock.c +++ b/gtk/gtkstock.c @@ -25,13 +25,13 @@ */ #include "config.h" + #include #include "gtkprivate.h" #include "gtkstock.h" #include "gtkiconfactory.h" #include "gtkintl.h" -#include /** * SECTION:gtkstock diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index ce1402b071..28a5d8d468 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -40,8 +40,6 @@ #include "gtkswitch.h" -#include - #include "gtkaccessible.h" #include "gtkactivatable.h" #include "gtkintl.h" diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 36ed4bffb4..1b07b59108 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -26,6 +26,7 @@ */ #include "config.h" + #include #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API @@ -44,7 +45,6 @@ #include "gtktextdisplay.h" #include "gtktextview.h" #include "gtkimmulticontext.h" -#include "gdk/gdkkeysyms.h" #include "gtkprivate.h" #include "gtktextutil.h" #include "gtkwidgetprivate.h" diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 1f7ab59214..c2161a7b04 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -32,12 +32,10 @@ #include "config.h" -#include "gtktoolbar.h" - #include #include -#include +#include "gtktoolbar.h" #include "gtkarrow.h" #include "gtkbindings.h" diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index df845c34f2..d8613066c3 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -19,9 +19,9 @@ #include "config.h" + #include #include -#include #include "gtktreeview.h" #include "gtkrbtree.h" diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index c4851ee307..4836a35686 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -25,9 +25,15 @@ */ #include "config.h" + #include #include #include + +#include +#include +#include + #include "gtkcontainer.h" #include "gtkaccelmap.h" #include "gtkclipboard.h" @@ -44,11 +50,6 @@ #include "gtkwindowprivate.h" #include "gtkbindings.h" #include "gtkprivate.h" -#include "gdk/gdk.h" -#include -#include -#include -#include "gdk/gdkkeysyms.h" #include "gtkaccessible.h" #include "gtktooltip.h" #include "gtkinvisible.h" diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 6e0fca347e..f514206931 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -32,8 +32,6 @@ #include #include #include -#include "gdk/gdk.h" -#include "gdk/gdkkeysyms.h" #include "gtkprivate.h" #include "gtkrc.h" From 7245ca82f040ebe735cf65fc72ce17f725b9d3f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 4 Jan 2011 18:32:22 +0100 Subject: [PATCH 1132/1463] gtkmenu: Use private pointer instead G_TYPE_INSTANCE_GET_PRIVATE --- gtk/gtkmenu.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 59e94ae1c6..200b7fd465 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -273,12 +273,6 @@ static const gchar attach_data_key[] = "gtk-menu-attach-data"; static guint menu_signals[LAST_SIGNAL] = { 0 }; -static GtkMenuPrivate * -gtk_menu_get_private (GtkMenu *menu) -{ - return G_TYPE_INSTANCE_GET_PRIVATE (menu, GTK_TYPE_MENU, GtkMenuPrivate); -} - G_DEFINE_TYPE (GtkMenu, gtk_menu, GTK_TYPE_MENU_SHELL) static void @@ -324,7 +318,7 @@ is_grid_attached (AttachInfo *ai) static void menu_ensure_layout (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; if (!priv->have_layout) { @@ -410,7 +404,7 @@ menu_ensure_layout (GtkMenu *menu) static gint gtk_menu_get_n_columns (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; menu_ensure_layout (menu); @@ -420,7 +414,7 @@ gtk_menu_get_n_columns (GtkMenu *menu) static gint gtk_menu_get_n_rows (GtkMenu *menu) { - GtkMenuPrivate *priv = gtk_menu_get_private (menu); + GtkMenuPrivate *priv = menu->priv; menu_ensure_layout (menu); @@ -2878,7 +2872,7 @@ gtk_menu_draw (GtkWidget *widget, GtkBorder menu_border; menu = GTK_MENU (widget); - priv = gtk_menu_get_private (menu); + priv = menu->priv; context = gtk_widget_get_style_context (widget); window = gtk_widget_get_window (widget); state = gtk_widget_get_state_flags (widget); @@ -4176,7 +4170,7 @@ gtk_menu_enter_notify (GtkWidget *widget, if (GTK_IS_MENU (menu)) { - GtkMenuPrivate *priv = gtk_menu_get_private (GTK_MENU (menu)); + GtkMenuPrivate *priv = (GTK_MENU (menu))->priv; GtkMenuShell *menu_shell = GTK_MENU_SHELL (menu); if (priv->seen_item_enter) From c00914967081d1f040a3e15f0aeb3067f8191632 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 12:51:11 -0500 Subject: [PATCH 1133/1463] Move GtkDialog docs inline Based on a patch by Garrett Regier. https://bugzilla.gnome.org/show_bug.cgi?id=617312 --- docs/reference/gtk/tmpl/.gitignore | 2 + docs/reference/gtk/tmpl/gtkdialog.sgml | 406 ------------------------- gtk/gtkdialog.c | 134 ++++++++ gtk/gtkdialog.h | 89 +++--- 4 files changed, 186 insertions(+), 445 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkdialog.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 24771fefd3..c3acd48305 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -16,9 +16,11 @@ gtkcolorsel.sgml gtkcombobox.sgml gtkcomboboxentry.sgml gtkcontainer.sgml +gtkdialog.sgml gtkeditable.sgml gtkentry.sgml gtkentrybuffer.sgml +gtkeventbox.sgml gtkhbox.sgml gtkiconview.sgml gtkimcontextsimple.sgml diff --git a/docs/reference/gtk/tmpl/gtkdialog.sgml b/docs/reference/gtk/tmpl/gtkdialog.sgml deleted file mode 100644 index 13c902f2ca..0000000000 --- a/docs/reference/gtk/tmpl/gtkdialog.sgml +++ /dev/null @@ -1,406 +0,0 @@ - -GtkDialog - - -Create popup windows - - - - -Dialog boxes are a convenient way to prompt the user for a small amount of -input, e.g. to display a message, ask a question, or anything else that does -not require extensive effort on the user's part. - - - -GTK+ treats a dialog as a window split vertically. The top section is a -#GtkVBox known as the content_area, and is -where widgets such as a #GtkLabel or a #GtkEntry should be packed. -The bottom area is known as the action_area. -This is generally used for packing buttons into the dialog which may -perform functions such as cancel, ok, or apply. - - - -GtkDialog boxes are created with a call to gtk_dialog_new() or -gtk_dialog_new_with_buttons(). gtk_dialog_new_with_buttons() is recommended; -it allows you to set the dialog title, some convenient flags, and add simple -buttons. - - - -If 'dialog' is a newly created dialog, the two primary areas of the window -can be accessed through gtk_dialog_get_content_area() and -gtk_dialog_get_action_area(), as can be seen from the example, below. - - - -A 'modal' dialog (that is, one which freezes the rest of the application from -user input), can be created by calling gtk_window_set_modal() on the dialog. Use -the GTK_WINDOW() macro to cast the widget returned from gtk_dialog_new() into a -#GtkWindow. When using gtk_dialog_new_with_buttons() you can also pass the -#GTK_DIALOG_MODAL flag to make a dialog modal. - - - -If you add buttons to #GtkDialog using gtk_dialog_new_with_buttons(), -gtk_dialog_add_button(), gtk_dialog_add_buttons(), or -gtk_dialog_add_action_widget(), clicking the button will emit a signal called -"response" with a response ID that you specified. GTK+ will never assign a -meaning to positive response IDs; these are entirely user-defined. But for -convenience, you can use the response IDs in the #GtkResponseType enumeration -(these all have values less than zero). If a dialog receives a delete event, -the "response" signal will be emitted with a response ID of #GTK_RESPONSE_DELETE_EVENT. - - - - -If you want to block waiting for a dialog to return before returning control -flow to your code, you can call gtk_dialog_run(). This function enters a -recursive main loop and waits for the user to respond to the dialog, returning the -response ID corresponding to the button the user clicked. - - - -For the simple dialog in the following example, in reality you'd probably use -#GtkMessageDialog to save yourself some effort. But you'd need to create the -dialog contents manually if you had more than a simple message in the dialog. - -Simple <structname>GtkDialog</structname> usage. - - -/* Function to open a dialog box displaying the message provided. */ - -void quick_message (gchar *message) { - - GtkWidget *dialog, *label, *content_area; - - /* Create the widgets */ - - dialog = gtk_dialog_new_with_buttons ("Message", - main_application_window, - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_OK, - GTK_RESPONSE_NONE, - NULL); - content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); - label = gtk_label_new (message); - - /* Ensure that the dialog box is destroyed when the user responds. */ - - g_signal_connect_swapped (dialog, - "response", - G_CALLBACK (gtk_widget_destroy), - dialog); - - /* Add the label, and show everything we've added to the dialog. */ - - gtk_container_add (GTK_CONTAINER (content_area), label); - gtk_widget_show_all (dialog); -} - - - - - -GtkDialog as GtkBuildable - -The GtkDialog implementation of the GtkBuildable interface exposes the -@vbox and @action_area as internal children with the names "vbox" and -"action_area". - - -GtkDialog supports a custom <action-widgets> element, which -can contain multiple <action-widget> elements. The "response" -attribute specifies a numeric response, and the content of the element -is the id of widget (which should be a child of the dialogs @action_area). - - -A <structname>GtkDialog</structname> UI definition fragment. - - " - - - - - - - - - - - - - - - button_ok - button_cancel - - -]]> - - - - - - - - -#GtkVBox -Pack widgets vertically. - - -#GtkWindow -Alter the properties of your dialog box. - - -#GtkButton -Add them to the action_area to get a -response from the user. - - - - - - - - - - - - -vbox is a #GtkVBox - the main part of the -dialog box. - - - -action_area is a #GtkHButtonBox packed below the -dividing #GtkHSeparator in the dialog. It is treated exactly the same -as any other #GtkHButtonBox. - - - - - - - - -@dialog: the object which received the signal. - - - - - - -@dialog: -@arg1: - - - - - - - - - - - - - - - - - - - - - - - -Flags used to influence dialog construction. - - -@GTK_DIALOG_MODAL: Make the constructed dialog modal, - see gtk_window_set_modal(). -@GTK_DIALOG_DESTROY_WITH_PARENT: Destroy the dialog when its - parent is destroyed, see gtk_window_set_destroy_with_parent(). - - - -Predefined values for use as response ids in gtk_dialog_add_button(). -All predefined values are negative, GTK+ leaves positive values for -application-defined response ids. - - -@GTK_RESPONSE_NONE: Returned if an action widget has no response id, or if - the dialog gets programmatically hidden or destroyed. -@GTK_RESPONSE_REJECT: Generic response id, not used by GTK+ dialogs. -@GTK_RESPONSE_ACCEPT: Generic response id, not used by GTK+ dialogs. -@GTK_RESPONSE_DELETE_EVENT: Returned if the dialog is deleted. -@GTK_RESPONSE_OK: Returned by OK buttons in GTK+ dialogs. -@GTK_RESPONSE_CANCEL: Returned by Cancel buttons in GTK+ dialogs. -@GTK_RESPONSE_CLOSE: Returned by Close buttons in GTK+ dialogs. -@GTK_RESPONSE_YES: Returned by Yes buttons in GTK+ dialogs. -@GTK_RESPONSE_NO: Returned by No buttons in GTK+ dialogs. -@GTK_RESPONSE_APPLY: Returned by Apply buttons in GTK+ dialogs. -@GTK_RESPONSE_HELP: Returned by Help buttons in GTK+ dialogs. - - - -Creates a new dialog box. Widgets should not be packed into this #GtkWindow -directly, but into the @vbox and @action_area, as described above. - - -@void: -@Returns: a new #GtkDialog. - - - - - - - -@title: -@parent: -@flags: -@first_button_text: -@Varargs: -@Returns: - - - - - - - -@dialog: -@Returns: - - - - - - - -@dialog: -@response_id: - - - - - - - -@dialog: -@button_text: -@response_id: -@Returns: - - - - - - - -@dialog: -@first_button_text: -@Varargs: - - - - - - - -@dialog: -@child: -@response_id: - - - - - - - -@dialog: -@response_id: - - - - - - - -@dialog: -@response_id: -@setting: - - - - - - - -@dialog: -@widget: -@Returns: - - - - - - - -@dialog: -@response_id: -@Returns: - - - - - - - -@dialog: -@Returns: - - - - - - - -@dialog: -@Returns: - - - - - - - -@screen: -@Returns: - - - - - - - -@dialog: -@first_response_id: -@Varargs: - - - - - - - -@dialog: -@n_params: -@new_order: - - diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 1011848a48..424b2d232e 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -41,6 +41,130 @@ #include "gtkprivate.h" #include "gtkbuildable.h" +/** + * SECTION:gtkdialog + * @Short_description: Create popup windows + * @Title: GtkDialog + * @See_also: #GtkVBox, #GtkWindow, #GtkButton + * + * Dialog boxes are a convenient way to prompt the user for a small amount + * of input, e.g. to display a message, ask a question, or anything else + * that does not require extensive effort on the user's part. + * + * GTK+ treats a dialog as a window split vertically. The top section is a + * #GtkVBox, and is where widgets such as a #GtkLabel or a #GtkEntry should + * be packed. The bottom area is known as the + * action_area. This is generally used for + * packing buttons into the dialog which may perform functions such as + * cancel, ok, or apply. The two areas are separated by a #GtkHSeparator. + * + * #GtkDialog boxes are created with a call to gtk_dialog_new() or + * gtk_dialog_new_with_buttons(). gtk_dialog_new_with_buttons() is + * recommended; it allows you to set the dialog title, some convenient flags, + * and add simple buttons. + * + * If 'dialog' is a newly created dialog, the two primary areas of the + * window can be accessed through gtk_dialog_get_content_area() and + * gtk_dialog_get_action_area(), as can be seen from the example below. + * + * A 'modal' dialog (that is, one which freezes the rest of the application + * from user input), can be created by calling gtk_window_set_modal() on the + * dialog. Use the GTK_WINDOW() macro to cast the widget returned from + * gtk_dialog_new() into a #GtkWindow. When using gtk_dialog_new_with_buttons() + * you can also pass the #GTK_DIALOG_MODAL flag to make a dialog modal. + * + * If you add buttons to #GtkDialog using gtk_dialog_new_with_buttons(), + * gtk_dialog_add_button(), gtk_dialog_add_buttons(), or + * gtk_dialog_add_action_widget(), clicking the button will emit a signal + * called #GtkDialog::response with a response ID that you specified. GTK+ + * will never assign a meaning to positive response IDs; these are entirely + * user-defined. But for convenience, you can use the response IDs in the + * #GtkResponseType enumeration (these all have values less than zero). If + * a dialog receives a delete event, the #GtkDialog::response signal will + * be emitted with a response ID of #GTK_RESPONSE_DELETE_EVENT. + * + * If you want to block waiting for a dialog to return before returning + * control flow to your code, you can call gtk_dialog_run(). This function + * enters a recursive main loop and waits for the user to respond to the + * dialog, returning the response ID corresponding to the button the user + * clicked. + * + * For the simple dialog in the following example, in reality you'd probably + * use #GtkMessageDialog to save yourself some effort. But you'd need to + * create the dialog contents manually if you had more than a simple message + * in the dialog. + * + * Simple GtkDialog usage + * + * /* Function to open a dialog box displaying the message provided. */ + * void + * quick_message (gchar *message) + * { + * GtkWidget *dialog, *label, *content_area; + * + * /* Create the widgets */ + * dialog = gtk_dialog_new_with_buttons ("Message", + * main_application_window, + * GTK_DIALOG_DESTROY_WITH_PARENT, + * GTK_STOCK_OK, + * GTK_RESPONSE_NONE, + * NULL); + * content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog)); + * label = gtk_label_new (message); + * + * /* Ensure that the dialog box is destroyed when the user responds */ + * g_signal_connect_swapped (dialog, + * "response", + * G_CALLBACK (gtk_widget_destroy), + * dialog); + * + * /* Add the label, and show everything we've added to the dialog */ + * + * gtk_container_add (GTK_CONTAINER (content_area), label); + * gtk_widget_show_all (dialog); + * } + * + * + * + * GtkDialog as GtkBuildable + * + * The GtkDialog implementation of the #GtkBuildable interface exposes the + * @vbox and @action_area as internal children with the names "vbox" and + * "action_area". + * + * + * GtkDialog supports a custom <action-widgets> element, which + * can contain multiple <action-widget> elements. The "response" + * attribute specifies a numeric response, and the content of the element + * is the id of widget (which should be a child of the dialogs @action_area). + * + * + * A <structname>GtkDialog</structname> UI definition fragment. + * + * " + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * button_ok + * button_cancel + * + * + * ]]> + * + * + */ struct _GtkDialogPrivate { @@ -430,6 +554,16 @@ gtk_dialog_close (GtkDialog *dialog) gdk_event_free (event); } +/** + * gtk_dialog_new: + * + * Creates a new dialog box. + * + * Widgets should not be packed into this #GtkWindow + * directly, but into the @vbox and @action_area, as described above. + * + * Returns: the new dialog as a #GtkWidget + */ GtkWidget* gtk_dialog_new (void) { diff --git a/gtk/gtkdialog.h b/gtk/gtkdialog.h index 9069d22fc8..ab1d143e2d 100644 --- a/gtk/gtkdialog.h +++ b/gtk/gtkdialog.h @@ -37,48 +37,53 @@ G_BEGIN_DECLS -/* Parameters for dialog construction */ -typedef enum -{ - GTK_DIALOG_MODAL = 1 << 0, /* call gtk_window_set_modal (win, TRUE) */ - GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1 /* call gtk_window_set_destroy_with_parent () */ -} GtkDialogFlags; - -/* Convenience enum to use for response_id's. Positive values are - * totally user-interpreted. GTK will sometimes return - * GTK_RESPONSE_NONE if no response_id is available. +/** + * GtkDialogFlags: + * @GTK_DIALOG_MODAL: Make the constructed dialog modal, + * see gtk_window_set_modal() + * @GTK_DIALOG_DESTROY_WITH_PARENT: Destroy the dialog when its + * parent is destroyed, see gtk_window_set_destroy_with_parent() * - * Typical usage is: - * if (gtk_dialog_run(dialog) == GTK_RESPONSE_ACCEPT) - * blah(); + * Flags used to influence dialog construction. */ typedef enum { - /* GTK returns this if a response widget has no response_id, - * or if the dialog gets programmatically hidden or destroyed. - */ - GTK_RESPONSE_NONE = -1, + GTK_DIALOG_MODAL = 1 << 0, + GTK_DIALOG_DESTROY_WITH_PARENT = 1 << 1 +} GtkDialogFlags; - /* GTK won't return these unless you pass them in - * as the response for an action widget. They are - * for your convenience. - */ - GTK_RESPONSE_REJECT = -2, - GTK_RESPONSE_ACCEPT = -3, - - /* If the dialog is deleted. */ +/** + * GtkResponseType: + * @GTK_RESPONSE_NONE: Returned if an action widget has no response id, + * or if the dialog gets programmatically hidden or destroyed + * @GTK_RESPONSE_REJECT: Generic response id, not used by GTK+ dialogs + * @GTK_RESPONSE_ACCEPT: Generic response id, not used by GTK+ dialogs + * @GTK_RESPONSE_DELETE_EVENT: Returned if the dialog is deleted + * @GTK_RESPONSE_OK: Returned by OK buttons in GTK+ dialogs + * @GTK_RESPONSE_CANCEL: Returned by Cancel buttons in GTK+ dialogs + * @GTK_RESPONSE_CLOSE: Returned by Close buttons in GTK+ dialogs + * @GTK_RESPONSE_YES: Returned by Yes buttons in GTK+ dialogs + * @GTK_RESPONSE_NO: Returned by No buttons in GTK+ dialogs + * @GTK_RESPONSE_APPLY: Returned by Apply buttons in GTK+ dialogs + * @GTK_RESPONSE_HELP: Returned by Help buttons in GTK+ dialogs + * + * Predefined values for use as response ids in gtk_dialog_add_button(). + * All predefined values are negative, GTK+ leaves positive values for + * application-defined response ids. + */ +typedef enum +{ + GTK_RESPONSE_NONE = -1, + GTK_RESPONSE_REJECT = -2, + GTK_RESPONSE_ACCEPT = -3, GTK_RESPONSE_DELETE_EVENT = -4, - - /* These are returned from GTK dialogs, and you can also use them - * yourself if you like. - */ - GTK_RESPONSE_OK = -5, - GTK_RESPONSE_CANCEL = -6, - GTK_RESPONSE_CLOSE = -7, - GTK_RESPONSE_YES = -8, - GTK_RESPONSE_NO = -9, - GTK_RESPONSE_APPLY = -10, - GTK_RESPONSE_HELP = -11 + GTK_RESPONSE_OK = -5, + GTK_RESPONSE_CANCEL = -6, + GTK_RESPONSE_CLOSE = -7, + GTK_RESPONSE_YES = -8, + GTK_RESPONSE_NO = -9, + GTK_RESPONSE_APPLY = -10, + GTK_RESPONSE_HELP = -11 } GtkResponseType; @@ -94,6 +99,12 @@ typedef struct _GtkDialog GtkDialog; typedef struct _GtkDialogPrivate GtkDialogPrivate; typedef struct _GtkDialogClass GtkDialogClass; +/** + * GtkDialog: + * + * The GtkDialog struct contains only private fields + * and should not be directly accessed. + */ struct _GtkDialog { GtkWindow window; @@ -147,12 +158,12 @@ void gtk_dialog_set_default_response (GtkDialog *dialog, GtkWidget* gtk_dialog_get_widget_for_response (GtkDialog *dialog, gint response_id); gint gtk_dialog_get_response_for_widget (GtkDialog *dialog, - GtkWidget *widget); + GtkWidget *widget); gboolean gtk_alternative_dialog_button_order (GdkScreen *screen); void gtk_dialog_set_alternative_button_order (GtkDialog *dialog, - gint first_response_id, - ...); + gint first_response_id, + ...); void gtk_dialog_set_alternative_button_order_from_array (GtkDialog *dialog, gint n_params, gint *new_order); From deab5ff1c9a2e3f0e5d61149ba2c4b4ae695aaa8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 12:54:24 -0500 Subject: [PATCH 1134/1463] Remove gtk_tree_menu_get_type from gtk3.types --- docs/reference/gtk/gtk3.types | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/reference/gtk/gtk3.types b/docs/reference/gtk/gtk3.types index 8872e9dd70..fe0ff45f6b 100644 --- a/docs/reference/gtk/gtk3.types +++ b/docs/reference/gtk/gtk3.types @@ -167,7 +167,6 @@ gtk_tool_item_group_get_type gtk_tool_palette_get_type gtk_tree_drag_dest_get_type gtk_tree_drag_source_get_type -gtk_tree_menu_get_type gtk_tree_model_filter_get_type gtk_tree_model_get_type gtk_tree_model_sort_get_type From 72161a071fb01192c39e8609ad46b93275390f22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 4 Jan 2011 18:51:06 +0100 Subject: [PATCH 1135/1463] gtkmenuitem: Use private pointer instead G_TYPE_INSTANCE_GET_PRIVATE --- gtk/gtkmenuitem.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 92db3d59ee..ec60a85028 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -166,8 +166,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkMenuItem, gtk_menu_item, GTK_TYPE_BIN, G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIVATABLE, gtk_menu_item_activatable_interface_init)) -#define GET_PRIVATE(object) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((object), GTK_TYPE_MENU_ITEM, GtkMenuItemPrivate)) static void gtk_menu_item_class_init (GtkMenuItemClass *klass) @@ -709,7 +707,7 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, if (child != NULL && gtk_widget_get_visible (child)) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; gint child_min, child_nat; gtk_widget_get_preferred_width (child, &child_min, &child_nat); @@ -808,7 +806,7 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, if (child != NULL && gtk_widget_get_visible (child)) { - GtkMenuItemPrivate *priv = GET_PRIVATE (menu_item); + GtkMenuItemPrivate *priv = menu_item->priv; gint child_min, child_nat; gtk_widget_get_preferred_height (child, &child_min, &child_nat); @@ -2533,7 +2531,7 @@ gtk_menu_item_set_reserve_indicator (GtkMenuItem *menu_item, g_return_if_fail (GTK_IS_MENU_ITEM (menu_item)); - priv = GET_PRIVATE (menu_item); + priv = menu_item->priv; if (priv->reserve_indicator != reserve) { @@ -2545,11 +2543,7 @@ gtk_menu_item_set_reserve_indicator (GtkMenuItem *menu_item, gboolean gtk_menu_item_get_reserve_indicator (GtkMenuItem *menu_item) { - GtkMenuItemPrivate *priv; - g_return_val_if_fail (GTK_IS_MENU_ITEM (menu_item), FALSE); - priv = GET_PRIVATE (menu_item); - - return priv->reserve_indicator; + return menu_item->priv->reserve_indicator; } From c770fdd08adae9c92be3cb725e50bf2a20236f5a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 13:07:28 -0500 Subject: [PATCH 1136/1463] Move GtkDrawingArea docs inline Based on a patch by Garrett Regier. https://bugzilla.gnome.org/show_bug.cgi?id=617315 --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkdrawingarea.sgml | 140 -------------------- gtk/gtkdrawingarea.c | 116 +++++++++++++++- gtk/gtkdrawingarea.h | 4 +- 4 files changed, 114 insertions(+), 147 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkdrawingarea.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index c3acd48305..f87e12ff6a 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -17,6 +17,7 @@ gtkcombobox.sgml gtkcomboboxentry.sgml gtkcontainer.sgml gtkdialog.sgml +gtkdrawingarea.sgml gtkeditable.sgml gtkentry.sgml gtkentrybuffer.sgml diff --git a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml b/docs/reference/gtk/tmpl/gtkdrawingarea.sgml deleted file mode 100644 index 0986d02d1b..0000000000 --- a/docs/reference/gtk/tmpl/gtkdrawingarea.sgml +++ /dev/null @@ -1,140 +0,0 @@ - -GtkDrawingArea - - -A widget for custom user interface elements - - - - -The #GtkDrawingArea widget is used for creating custom user interface -elements. It's essentially a blank widget; you can draw on -widget->window. After creating a drawing area, -the application may want to connect to: - - - - - Mouse and button press signals to respond to input from - the user. (Use gtk_widget_add_events() to enable events - you wish to receive.) - - - - - The "realize" signal to take any necessary actions - when the widget is instantiated on a particular display. - (Create GDK resources in response to this signal.) - - - - - The "configure_event" signal to take any necessary actions - when the widget changes size. - - - - - The "draw" signal to handle redrawing the contents of the - widget. - - - - - -The following code portion demonstrates using a drawing -area to display a circle in the normal widget foreground -color. -Note that GDK automatically clears the exposed area -to the background color before sending the expose event, and -that drawing is implicitly clipped to the exposed area. - - -Simple <structname>GtkDrawingArea</structname> usage. - -gboolean -draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) -{ - guint width, height; - GdkRGBA color; - - width = gtk_widget_get_allocated_width (widget); - height = gtk_widget_get_allocated_height (widget); - cairo_arc (cr, - width / 2.0, height / 2.0, - MIN (width, height) / 2.0, - 0, 2 * G_PI); - - gtk_style_context_get_color (gtk_widget_get_style_context (widget), - 0, - &color); - gdk_cairo_set_source_rgba (cr, &color); - - cairo_fill (cr); - - return FALSE; -} - - /* ... */ - - GtkWidget *drawing_area = gtk_drawing_area_new (); - gtk_widget_set_size_request (drawing_area, 100, 100); - g_signal_connect (G_OBJECT (drawing_area), "draw", - G_CALLBACK (draw_callback), NULL); - - - - -Draw signals are normally delivered when a drawing area first comes -onscreen, or when it's covered by another window and then uncovered. -You can also force a redraw by adding to the "damage region" of the -drawing area's window; use gtk_widget_queue_draw_area() to do this. -You'll then get a draw event for the invalid region. - - - -The available routines for drawing are documented on the GDK Drawing Primitives page -and the cairo documentation. - - - -To receive mouse events on a drawing area, you will need to enable -them with gtk_widget_add_events(). To receive keyboard events, you -will need to set the #GTK_CAN_FOCUS flag on the drawing area, and -should probably draw some user-visible indication that the drawing -area is focused. Use the GTK_HAS_FOCUS() macro in your expose event -handler to decide whether to draw the focus indicator. See -gtk_paint_focus() for one way to draw focus. - - - - -Sometimes #GtkImage is a useful alternative to a drawing area. -You can put a #GdkPixmap in the #GtkImage and draw to the #GdkPixmap, -calling gtk_widget_queue_draw() on the #GtkImage when you want to -refresh to the screen. - - - - - - - - - - -The #GtkDrawingArea struct contains private data only, and -should be accessed using the functions below. - - - - - -Creates a new drawing area. - - -@void: -@Returns: a new #GtkDrawingArea - - diff --git a/gtk/gtkdrawingarea.c b/gtk/gtkdrawingarea.c index 544d23cdf0..6f8272b154 100644 --- a/gtk/gtkdrawingarea.c +++ b/gtk/gtkdrawingarea.c @@ -21,7 +21,7 @@ * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS * file for a list of people on the GTK+ Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ #include "config.h" @@ -29,9 +29,109 @@ #include "gtkintl.h" +/** + * SECTION:gtkdrawingarea + * @Short_description: A widget for custom user interface elements + * @Title: GtkDrawingArea + * @See_also: #GtkImage + * + * The #GtkDrawingArea widget is used for creating custom user interface + * elements. It's essentially a blank widget; you can draw on it. After + * creating a drawing area, the application may want to connect to: + * + * + * + * + * Mouse and button press signals to respond to input from + * the user. (Use gtk_widget_add_events() to enable events + * you wish to receive.) + * + * + * + * + * The #GtkWidget::realize signal to take any necessary actions + * when the widget is instantiated on a particular display. + * (Create GDK resources in response to this signal.) + * + * + * + * + * The #GtkWidget::configure-event signal to take any necessary + * actions when the widget changes size. + * + * + * + * + * The #GtkWidget::draw signal to handle redrawing the + * contents of the widget. + * + * + * + * + * The following code portion demonstrates using a drawing + * area to display a circle in the normal widget foreground + * color. + * + * Note that GDK automatically clears the exposed area to the + * background color before sending the expose event, and that + * drawing is implicitly clipped to the exposed area. + * + * + * Simple GtkDrawingArea usage + * + * gboolean + * draw_callback (GtkWidget *widget, cairo_t *cr, gpointer data) + * { + * guint width, height; + * GdkRGBA color; + * + * width = gtk_widget_get_allocated_width (widget); + * height = gtk_widget_get_allocated_height (widget); + * cairo_arc (cr, + * width / 2.0, height / 2.0, + * MIN (width, height) / 2.0, + * 0, 2 * G_PI); + * + * gtk_style_context_get_color (gtk_widget_get_style_context (widget), + * 0, + * &color); + * gdk_cairo_set_source_rgba (cr, &color); + * + * cairo_fill (cr); + * + * return FALSE; + * } + * [...] + * GtkWidget *drawing_area = gtk_drawing_area_new (); + * gtk_widget_set_size_request (drawing_area, 100, 100); + * g_signal_connect (G_OBJECT (drawing_area), "draw", + * G_CALLBACK (draw_callback), NULL); + * + * + * + * Draw signals are normally delivered when a drawing area first comes + * onscreen, or when it's covered by another window and then uncovered. + * You can also force an expose event by adding to the "damage region" + * of the drawing area's window; gtk_widget_queue_draw_area() and + * gdk_window_invalidate_rect() are equally good ways to do this. + * You'll then get a draw signal for the invalid region. + * + * The available routines for drawing are documented on the GDK Drawing Primitives page + * and the cairo documentation. + * + * To receive mouse events on a drawing area, you will need to enable + * them with gtk_widget_add_events(). To receive keyboard events, you + * will need to set the #GTK_CAN_FOCUS flag on the drawing area, and + * should probably draw some user-visible indication that the drawing + * area is focused. Use the GTK_HAS_FOCUS() macro in your expose event + * handler to decide whether to draw the focus indicator. See + * gtk_paint_focus() for one way to draw focus. + */ + static void gtk_drawing_area_realize (GtkWidget *widget); static void gtk_drawing_area_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static void gtk_drawing_area_send_configure (GtkDrawingArea *darea); G_DEFINE_TYPE (GtkDrawingArea, gtk_drawing_area, GTK_TYPE_WIDGET) @@ -50,7 +150,13 @@ gtk_drawing_area_init (GtkDrawingArea *darea) { } - +/** + * gtk_drawing_area_new: + * + * Creates a new drawing area. + * + * Returns: a new #GtkDrawingArea + */ GtkWidget* gtk_drawing_area_new (void) { @@ -101,7 +207,7 @@ gtk_drawing_area_realize (GtkWidget *widget) static void gtk_drawing_area_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { g_return_if_fail (GTK_IS_DRAWING_AREA (widget)); g_return_if_fail (allocation != NULL); @@ -135,7 +241,7 @@ gtk_drawing_area_send_configure (GtkDrawingArea *darea) event->configure.y = allocation.y; event->configure.width = allocation.width; event->configure.height = allocation.height; - + gtk_widget_event (widget, event); gdk_event_free (event); } diff --git a/gtk/gtkdrawingarea.h b/gtk/gtkdrawingarea.h index c40bc934a1..20365831b2 100644 --- a/gtk/gtkdrawingarea.h +++ b/gtk/gtkdrawingarea.h @@ -68,8 +68,8 @@ struct _GtkDrawingAreaClass }; -GType gtk_drawing_area_get_type (void) G_GNUC_CONST; -GtkWidget* gtk_drawing_area_new (void); +GType gtk_drawing_area_get_type (void) G_GNUC_CONST; +GtkWidget* gtk_drawing_area_new (void); G_END_DECLS From 3e348181ed4fe724a9c6f03d09b72876fad7a0e3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 13:25:04 -0500 Subject: [PATCH 1137/1463] Move GtkExpander docs inline Based on a patch by Garrett Regier. https://bugzilla.gnome.org/show_bug.cgi?id=617327 --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkexpander.sgml | 296 --------- gtk/gtkexpander.c | 780 +++++++++++++---------- 3 files changed, 430 insertions(+), 647 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkexpander.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index f87e12ff6a..5d3b8bec36 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -22,6 +22,7 @@ gtkeditable.sgml gtkentry.sgml gtkentrybuffer.sgml gtkeventbox.sgml +gtkexpander.sgml gtkhbox.sgml gtkiconview.sgml gtkimcontextsimple.sgml diff --git a/docs/reference/gtk/tmpl/gtkexpander.sgml b/docs/reference/gtk/tmpl/gtkexpander.sgml deleted file mode 100644 index 77427b4d00..0000000000 --- a/docs/reference/gtk/tmpl/gtkexpander.sgml +++ /dev/null @@ -1,296 +0,0 @@ - -GtkExpander - - -A container which can hide its child - - - -A #GtkExpander allows the user to hide or show its child by clicking -on an expander triangle similar to the triangles used in a #GtkTreeView. - - - -Normally you use an expander as you would use any other descendant -of #GtkBin; you create the child widget and use gtk_container_add() -to add it to the expander. When the expander is toggled, it will take -care of showing and hiding the child automatically. - - -
-Special Usage - - -There are situations in which you may prefer to show and hide the -expanded widget yourself, such as when you want to actually create -the widget at expansion time. In this case, create a #GtkExpander -but do not add a child to it. The expander widget has an -expanded property which can be used to monitor -its expansion state. You should watch this property with a signal -connection as follows: - - - -expander = gtk_expander_new_with_mnemonic ("_More Options"); -g_signal_connect (expander, "notify::expanded", - G_CALLBACK (expander_callback), NULL); - -... - -static void -expander_callback (GObject *object, - GParamSpec *param_spec, - gpointer user_data) -{ - GtkExpander *expander; - - expander = GTK_EXPANDER (object); - - if (gtk_expander_get_expanded (expander)) - { - /* Show or create widgets */ - } - else - { - /* Hide or destroy widgets */ - } -} - -
- -GtkExpander as GtkBuildable - -The GtkExpander implementation of the GtkBuildable interface -supports placing a child in the label position by specifying -"label" as the "type" attribute of a <child> element. -A normal content child can be specified without specifying -a <child> type attribute. - - -A UI definition fragment with GtkExpander - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - -@expander: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -@label: -@Returns: - - - - - - - -@label: -@Returns: - - - - - - - -@expander: -@expanded: - - - - - - - -@expander: -@Returns: - - - - - - - -@expander: -@spacing: - - - - - - - -@expander: -@Returns: - - - - - - - -@expander: -@label: - - - - - - - -@expander: -@Returns: - - - - - - - -@expander: -@use_underline: - - - - - - - -@expander: -@Returns: - - - - - - - -@expander: -@use_markup: - - - - - - - -@expander: -@Returns: - - - - - - - -@expander: -@label_widget: - - - - - - - -@expander: -@Returns: - - - - - - - -@expander: -@label_fill: - - - - - - - -@expander: -@Returns: - - diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 98590bcabc..7e173bcdca 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -18,7 +18,83 @@ * Boston, MA 02111-1307, USA. * * Authors: - * Mark McLoughlin + * Mark McLoughlin + */ + +/** + * SECTION:gtkexpander + * @Short_description: A container which can hide its child + * @Title: GtkExpander + * + * A #GtkExpander allows the user to hide or show its child by clicking + * on an expander triangle similar to the triangles used in a #GtkTreeView. + * + * Normally you use an expander as you would use any other descendant + * of #GtkBin; you create the child widget and use gtk_container_add() + * to add it to the expander. When the expander is toggled, it will take + * care of showing and hiding the child automatically. + * + *
+ * Special Usage + * + * There are situations in which you may prefer to show and hide the + * expanded widget yourself, such as when you want to actually create + * the widget at expansion time. In this case, create a #GtkExpander + * but do not add a child to it. The expander widget has an + * #GtkExpander:expanded property which can be used to monitor + * its expansion state. You should watch this property with a signal + * connection as follows: + * + * + * expander = gtk_expander_new_with_mnemonic ("_More Options"); + * g_signal_connect (expander, "notify::expanded", + * G_CALLBACK (expander_callback), NULL); + * + * ... + * + * static void + * expander_callback (GObject *object, + * GParamSpec *param_spec, + * gpointer user_data) + * { + * GtkExpander *expander; + * + * expander = GTK_EXPANDER (object); + * + * if (gtk_expander_get_expanded (expander)) + * { + * /* Show or create widgets */ + * } + * else + * { + * /* Hide or destroy widgets */ + * } + * } + * + *
+ * + * GtkExpander as GtkBuildable + * + * The GtkExpander implementation of the GtkBuildable interface + * supports placing a child in the label position by specifying + * "label" as the "type" attribute of a <child> element. + * A normal content child can be specified without specifying + * a <child> type attribute. + * + * + * A UI definition fragment with GtkExpander + * + * + * + * + * + * + * + * + * ]]> + * + * */ #include "config.h" @@ -69,66 +145,66 @@ struct _GtkExpanderPrivate }; static void gtk_expander_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec); + guint prop_id, + const GValue *value, + GParamSpec *pspec); static void gtk_expander_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec); + guint prop_id, + GValue *value, + GParamSpec *pspec); static void gtk_expander_destroy (GtkWidget *widget); static void gtk_expander_realize (GtkWidget *widget); static void gtk_expander_unrealize (GtkWidget *widget); static void gtk_expander_size_allocate (GtkWidget *widget, - GtkAllocation *allocation); + GtkAllocation *allocation); static void gtk_expander_map (GtkWidget *widget); static void gtk_expander_unmap (GtkWidget *widget); static gboolean gtk_expander_draw (GtkWidget *widget, - cairo_t *cr); + cairo_t *cr); static gboolean gtk_expander_button_press (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gboolean gtk_expander_button_release (GtkWidget *widget, - GdkEventButton *event); + GdkEventButton *event); static gboolean gtk_expander_enter_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gboolean gtk_expander_leave_notify (GtkWidget *widget, - GdkEventCrossing *event); + GdkEventCrossing *event); static gboolean gtk_expander_focus (GtkWidget *widget, - GtkDirectionType direction); + GtkDirectionType direction); static void gtk_expander_grab_notify (GtkWidget *widget, - gboolean was_grabbed); + gboolean was_grabbed); static void gtk_expander_state_flags_changed (GtkWidget *widget, GtkStateFlags previous_state); static gboolean gtk_expander_drag_motion (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - guint time); + GdkDragContext *context, + gint x, + gint y, + guint time); static void gtk_expander_drag_leave (GtkWidget *widget, - GdkDragContext *context, - guint time); + GdkDragContext *context, + guint time); static void gtk_expander_add (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_expander_remove (GtkContainer *container, - GtkWidget *widget); + GtkWidget *widget); static void gtk_expander_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data); + gboolean include_internals, + GtkCallback callback, + gpointer callback_data); static void gtk_expander_activate (GtkExpander *expander); static void get_expander_bounds (GtkExpander *expander, - GdkRectangle *rect); + GdkRectangle *rect); /* GtkBuildable */ static void gtk_expander_buildable_init (GtkBuildableIface *iface); static void gtk_expander_buildable_add_child (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *type); + GtkBuilder *builder, + GObject *child, + const gchar *type); /* GtkWidget */ @@ -148,8 +224,8 @@ static void gtk_expander_get_preferred_width_for_height (GtkWidget * gint *natural_height); G_DEFINE_TYPE_WITH_CODE (GtkExpander, gtk_expander, GTK_TYPE_BIN, - G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_expander_buildable_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_expander_buildable_init)) static void gtk_expander_class_init (GtkExpanderClass *klass) @@ -195,89 +271,89 @@ gtk_expander_class_init (GtkExpanderClass *klass) g_type_class_add_private (klass, sizeof (GtkExpanderPrivate)); g_object_class_install_property (gobject_class, - PROP_EXPANDED, - g_param_spec_boolean ("expanded", - P_("Expanded"), - P_("Whether the expander has been opened to reveal the child widget"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + PROP_EXPANDED, + g_param_spec_boolean ("expanded", + P_("Expanded"), + P_("Whether the expander has been opened to reveal the child widget"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, - PROP_LABEL, - g_param_spec_string ("label", - P_("Label"), - P_("Text of the expander's label"), - NULL, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + PROP_LABEL, + g_param_spec_string ("label", + P_("Label"), + P_("Text of the expander's label"), + NULL, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, - PROP_USE_UNDERLINE, - g_param_spec_boolean ("use-underline", - P_("Use underline"), - P_("If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + PROP_USE_UNDERLINE, + g_param_spec_boolean ("use-underline", + P_("Use underline"), + P_("If set, an underline in the text indicates the next character should be used for the mnemonic accelerator key"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, - PROP_USE_MARKUP, - g_param_spec_boolean ("use-markup", - P_("Use markup"), - P_("The text of the label includes XML markup. See pango_parse_markup()"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + PROP_USE_MARKUP, + g_param_spec_boolean ("use-markup", + P_("Use markup"), + P_("The text of the label includes XML markup. See pango_parse_markup()"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, - PROP_SPACING, - g_param_spec_int ("spacing", - P_("Spacing"), - P_("Space to put between the label and the child"), - 0, - G_MAXINT, - 0, - GTK_PARAM_READWRITE)); + PROP_SPACING, + g_param_spec_int ("spacing", + P_("Spacing"), + P_("Space to put between the label and the child"), + 0, + G_MAXINT, + 0, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_LABEL_WIDGET, - g_param_spec_object ("label-widget", - P_("Label widget"), - P_("A widget to display in place of the usual expander label"), - GTK_TYPE_WIDGET, - GTK_PARAM_READWRITE)); + PROP_LABEL_WIDGET, + g_param_spec_object ("label-widget", + P_("Label widget"), + P_("A widget to display in place of the usual expander label"), + GTK_TYPE_WIDGET, + GTK_PARAM_READWRITE)); g_object_class_install_property (gobject_class, - PROP_LABEL_FILL, - g_param_spec_boolean ("label-fill", - P_("Label fill"), - P_("Whether the label widget should fill all available horizontal space"), - FALSE, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + PROP_LABEL_FILL, + g_param_spec_boolean ("label-fill", + P_("Label fill"), + P_("Whether the label widget should fill all available horizontal space"), + FALSE, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("expander-size", - P_("Expander Size"), - P_("Size of the expander arrow"), - 0, - G_MAXINT, - DEFAULT_EXPANDER_SIZE, - GTK_PARAM_READABLE)); + g_param_spec_int ("expander-size", + P_("Expander Size"), + P_("Size of the expander arrow"), + 0, + G_MAXINT, + DEFAULT_EXPANDER_SIZE, + GTK_PARAM_READABLE)); gtk_widget_class_install_style_property (widget_class, - g_param_spec_int ("expander-spacing", - P_("Indicator Spacing"), - P_("Spacing around expander arrow"), - 0, - G_MAXINT, - DEFAULT_EXPANDER_SPACING, - GTK_PARAM_READABLE)); + g_param_spec_int ("expander-spacing", + P_("Indicator Spacing"), + P_("Spacing around expander arrow"), + 0, + G_MAXINT, + DEFAULT_EXPANDER_SPACING, + GTK_PARAM_READABLE)); widget_class->activate_signal = g_signal_new (I_("activate"), - G_TYPE_FROM_CLASS (gobject_class), - G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, - G_STRUCT_OFFSET (GtkExpanderClass, activate), - NULL, NULL, - _gtk_marshal_VOID__VOID, - G_TYPE_NONE, 0); + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, + G_STRUCT_OFFSET (GtkExpanderClass, activate), + NULL, NULL, + _gtk_marshal_VOID__VOID, + G_TYPE_NONE, 0); } static void @@ -310,9 +386,9 @@ gtk_expander_init (GtkExpander *expander) static void gtk_expander_buildable_add_child (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *type) + GtkBuilder *builder, + GObject *child, + const gchar *type) { if (!type) gtk_container_add (GTK_CONTAINER (buildable), GTK_WIDGET (child)); @@ -330,12 +406,12 @@ gtk_expander_buildable_init (GtkBuildableIface *iface) static void gtk_expander_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) + guint prop_id, + const GValue *value, + GParamSpec *pspec) { GtkExpander *expander = GTK_EXPANDER (object); - + switch (prop_id) { case PROP_EXPANDED: @@ -367,9 +443,9 @@ gtk_expander_set_property (GObject *object, static void gtk_expander_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) + guint prop_id, + GValue *value, + GParamSpec *pspec) { GtkExpander *expander = GTK_EXPANDER (object); GtkExpanderPrivate *priv = expander->priv; @@ -393,8 +469,8 @@ gtk_expander_get_property (GObject *object, break; case PROP_LABEL_WIDGET: g_value_set_object (value, - priv->label_widget ? - G_OBJECT (priv->label_widget) : NULL); + priv->label_widget ? + G_OBJECT (priv->label_widget) : NULL); break; case PROP_LABEL_FILL: g_value_set_boolean (value, priv->label_fill); @@ -438,7 +514,7 @@ gtk_expander_realize (GtkWidget *widget) border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); get_expander_bounds (GTK_EXPANDER (widget), &expander_rect); - + if (priv->label_widget && gtk_widget_get_visible (priv->label_widget)) { GtkRequisition label_requisition; @@ -458,11 +534,11 @@ gtk_expander_realize (GtkWidget *widget) attributes.width = MAX (allocation.width - 2 * border_width, 1); attributes.height = MAX (expander_rect.height, label_height - 2 * border_width); attributes.wclass = GDK_INPUT_ONLY; - attributes.event_mask = gtk_widget_get_events (widget) | - GDK_BUTTON_PRESS_MASK | - GDK_BUTTON_RELEASE_MASK | - GDK_ENTER_NOTIFY_MASK | - GDK_LEAVE_NOTIFY_MASK; + attributes.event_mask = gtk_widget_get_events (widget) + | GDK_BUTTON_PRESS_MASK + | GDK_BUTTON_RELEASE_MASK + | GDK_ENTER_NOTIFY_MASK + | GDK_LEAVE_NOTIFY_MASK; attributes_mask = GDK_WA_X | GDK_WA_Y; @@ -471,7 +547,7 @@ gtk_expander_realize (GtkWidget *widget) g_object_ref (window); priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), - &attributes, attributes_mask); + &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); } @@ -492,7 +568,7 @@ gtk_expander_unrealize (GtkWidget *widget) static void get_expander_bounds (GtkExpander *expander, - GdkRectangle *rect) + GdkRectangle *rect) { GtkAllocation allocation; GtkWidget *widget; @@ -513,12 +589,12 @@ get_expander_bounds (GtkExpander *expander, border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_style_get (widget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); ltr = gtk_widget_get_direction (widget) != GTK_TEXT_DIR_RTL; @@ -538,9 +614,9 @@ get_expander_bounds (GtkExpander *expander, gtk_widget_get_allocation (priv->label_widget, &label_allocation); if (expander_size < label_allocation.height) - rect->y += focus_width + focus_pad + (label_allocation.height - expander_size) / 2; + rect->y += focus_width + focus_pad + (label_allocation.height - expander_size) / 2; else - rect->y += expander_spacing; + rect->y += expander_spacing; } else { @@ -550,9 +626,9 @@ get_expander_bounds (GtkExpander *expander, if (!interior_focus) { if (ltr) - rect->x += focus_width + focus_pad; + rect->x += focus_width + focus_pad; else - rect->x -= focus_width + focus_pad; + rect->x -= focus_width + focus_pad; rect->y += focus_width + focus_pad; } @@ -561,7 +637,7 @@ get_expander_bounds (GtkExpander *expander, static void gtk_expander_size_allocate (GtkWidget *widget, - GtkAllocation *allocation) + GtkAllocation *allocation) { GtkExpander *expander; GtkWidget *child; @@ -586,12 +662,12 @@ gtk_expander_size_allocate (GtkWidget *widget, gtk_widget_set_allocation (widget, allocation); gtk_widget_style_get (widget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); /* Calculate some offsets/padding first */ @@ -619,7 +695,8 @@ gtk_expander_size_allocate (GtkWidget *widget, label_allocation.width = MAX (label_allocation.width, 1); /* We distribute the minimum height to the label widget and prioritize - * the child widget giving it the remaining height */ + * the child widget giving it the remaining height + */ gtk_widget_get_preferred_height_for_width (priv->label_widget, label_allocation.width, &label_height, NULL); @@ -635,9 +712,9 @@ gtk_expander_size_allocate (GtkWidget *widget, label_allocation.y = allocation->y + border_width + focus_width + focus_pad; label_allocation.height = MIN (label_height, - allocation->height - 2 * border_width - - 2 * focus_width - 2 * focus_pad - - (child_visible ? priv->spacing : 0)); + allocation->height - 2 * border_width - + 2 * focus_width - 2 * focus_pad - + (child_visible ? priv->spacing : 0)); label_allocation.height = MAX (label_allocation.height, 1); gtk_widget_size_allocate (priv->label_widget, &label_allocation); @@ -656,10 +733,10 @@ gtk_expander_size_allocate (GtkWidget *widget, get_expander_bounds (expander, &rect); gdk_window_move_resize (priv->event_window, - allocation->x + border_width, - allocation->y + border_width, - MAX (allocation->width - 2 * border_width, 1), - MAX (rect.height, label_height - 2 * border_width)); + allocation->x + border_width, + allocation->y + border_width, + MAX (allocation->width - 2 * border_width, 1), + MAX (rect.height, label_height - 2 * border_width)); } if (child_visible) @@ -668,7 +745,7 @@ gtk_expander_size_allocate (GtkWidget *widget, gint top_height; top_height = MAX (top_min_height, - label_height + (interior_focus ? 2 * focus_width + 2 * focus_pad : 0)); + label_height + (interior_focus ? 2 * focus_width + 2 * focus_pad : 0)); child_allocation.x = allocation->x + border_width; child_allocation.y = allocation->y + top_height + child_yoffset; @@ -710,7 +787,8 @@ gtk_expander_unmap (GtkWidget *widget) } static void -gtk_expander_paint_prelight (GtkExpander *expander, cairo_t *cr) +gtk_expander_paint_prelight (GtkExpander *expander, + cairo_t *cr) { GtkAllocation allocation; GtkWidget *widget; @@ -730,12 +808,12 @@ gtk_expander_paint_prelight (GtkExpander *expander, cairo_t *cr) container = GTK_CONTAINER (expander); gtk_widget_style_get (widget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); gtk_widget_get_allocation (widget, &allocation); @@ -765,7 +843,8 @@ gtk_expander_paint_prelight (GtkExpander *expander, cairo_t *cr) } static void -gtk_expander_paint (GtkExpander *expander, cairo_t *cr) +gtk_expander_paint (GtkExpander *expander, + cairo_t *cr) { GtkExpanderPrivate *priv = expander->priv; GtkWidget *widget; @@ -815,7 +894,7 @@ gtk_expander_paint (GtkExpander *expander, cairo_t *cr) static void gtk_expander_paint_focus (GtkExpander *expander, - cairo_t *cr) + cairo_t *cr) { GtkWidget *widget; GtkExpanderPrivate *priv; @@ -838,27 +917,27 @@ gtk_expander_paint_focus (GtkExpander *expander, gtk_widget_get_allocation (widget, &allocation); gtk_widget_style_get (widget, - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); ltr = gtk_widget_get_direction (widget) != GTK_TEXT_DIR_RTL; - + width = height = 0; if (priv->label_widget) { if (gtk_widget_get_visible (priv->label_widget)) - { - GtkAllocation label_allocation; + { + GtkAllocation label_allocation; - gtk_widget_get_allocation (priv->label_widget, &label_allocation); - width = label_allocation.width; - height = label_allocation.height; - } + gtk_widget_get_allocation (priv->label_widget, &label_allocation); + width = label_allocation.width; + height = label_allocation.height; + } width += 2 * focus_pad + 2 * focus_width; height += 2 * focus_pad + 2 * focus_width; @@ -867,21 +946,21 @@ gtk_expander_paint_focus (GtkExpander *expander, y = border_width; if (ltr) - { - if (interior_focus) - x += expander_spacing * 2 + expander_size; - } + { + if (interior_focus) + x += expander_spacing * 2 + expander_size; + } else - { - x += allocation.width - 2 * border_width - - expander_spacing * 2 - expander_size - width; - } + { + x += allocation.width - 2 * border_width + - expander_spacing * 2 - expander_size - width; + } if (!interior_focus) - { - width += expander_size + 2 * expander_spacing; - height = MAX (height, expander_size + 2 * expander_spacing); - } + { + width += expander_size + 2 * expander_spacing; + height = MAX (height, expander_size + 2 * expander_spacing); + } } else { @@ -900,7 +979,7 @@ gtk_expander_paint_focus (GtkExpander *expander, static gboolean gtk_expander_draw (GtkWidget *widget, - cairo_t *cr) + cairo_t *cr) { GtkExpander *expander = GTK_EXPANDER (widget); @@ -916,7 +995,7 @@ gtk_expander_draw (GtkWidget *widget, static gboolean gtk_expander_button_press (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkExpander *expander = GTK_EXPANDER (widget); @@ -931,7 +1010,7 @@ gtk_expander_button_press (GtkWidget *widget, static gboolean gtk_expander_button_release (GtkWidget *widget, - GdkEventButton *event) + GdkEventButton *event) { GtkExpander *expander = GTK_EXPANDER (widget); @@ -947,7 +1026,7 @@ gtk_expander_button_release (GtkWidget *widget, static void gtk_expander_grab_notify (GtkWidget *widget, - gboolean was_grabbed) + gboolean was_grabbed) { if (!was_grabbed) GTK_EXPANDER (widget)->priv->button_down = FALSE; @@ -976,7 +1055,7 @@ gtk_expander_redraw_expander (GtkExpander *expander) static gboolean gtk_expander_enter_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkExpander *expander = GTK_EXPANDER (widget); @@ -998,7 +1077,7 @@ gtk_expander_enter_notify (GtkWidget *widget, static gboolean gtk_expander_leave_notify (GtkWidget *widget, - GdkEventCrossing *event) + GdkEventCrossing *event) { GtkExpander *expander = GTK_EXPANDER (widget); @@ -1031,10 +1110,10 @@ expand_timeout (gpointer data) static gboolean gtk_expander_drag_motion (GtkWidget *widget, - GdkDragContext *context, - gint x, - gint y, - guint time) + GdkDragContext *context, + gint x, + gint y, + guint time) { GtkExpander *expander = GTK_EXPANDER (widget); GtkExpanderPrivate *priv = expander->priv; @@ -1055,8 +1134,8 @@ gtk_expander_drag_motion (GtkWidget *widget, static void gtk_expander_drag_leave (GtkWidget *widget, - GdkDragContext *context, - guint time) + GdkDragContext *context, + guint time) { GtkExpander *expander = GTK_EXPANDER (widget); GtkExpanderPrivate *priv = expander->priv; @@ -1078,7 +1157,7 @@ typedef enum static gboolean focus_current_site (GtkExpander *expander, - GtkDirectionType direction) + GtkDirectionType direction) { GtkWidget *current_focus; @@ -1092,8 +1171,8 @@ focus_current_site (GtkExpander *expander, static gboolean focus_in_site (GtkExpander *expander, - FocusSite site, - GtkDirectionType direction) + FocusSite site, + GtkDirectionType direction) { switch (site) { @@ -1102,17 +1181,17 @@ focus_in_site (GtkExpander *expander, return TRUE; case FOCUS_LABEL: if (expander->priv->label_widget) - return gtk_widget_child_focus (expander->priv->label_widget, direction); + return gtk_widget_child_focus (expander->priv->label_widget, direction); else - return FALSE; + return FALSE; case FOCUS_CHILD: { - GtkWidget *child = gtk_bin_get_child (GTK_BIN (expander)); + GtkWidget *child = gtk_bin_get_child (GTK_BIN (expander)); - if (child && gtk_widget_get_child_visible (child)) - return gtk_widget_child_focus (child, direction); - else - return FALSE; + if (child && gtk_widget_get_child_visible (child)) + return gtk_widget_child_focus (child, direction); + else + return FALSE; } case FOCUS_NONE: break; @@ -1124,8 +1203,8 @@ focus_in_site (GtkExpander *expander, static FocusSite get_next_site (GtkExpander *expander, - FocusSite site, - GtkDirectionType direction) + FocusSite site, + GtkDirectionType direction) { gboolean ltr; @@ -1135,58 +1214,58 @@ get_next_site (GtkExpander *expander, { case FOCUS_NONE: switch (direction) - { - case GTK_DIR_TAB_BACKWARD: - case GTK_DIR_LEFT: - case GTK_DIR_UP: - return FOCUS_CHILD; - case GTK_DIR_TAB_FORWARD: - case GTK_DIR_DOWN: - case GTK_DIR_RIGHT: - return FOCUS_WIDGET; - } + { + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_LEFT: + case GTK_DIR_UP: + return FOCUS_CHILD; + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_DOWN: + case GTK_DIR_RIGHT: + return FOCUS_WIDGET; + } case FOCUS_WIDGET: switch (direction) - { - case GTK_DIR_TAB_BACKWARD: - case GTK_DIR_UP: - return FOCUS_NONE; - case GTK_DIR_LEFT: - return ltr ? FOCUS_NONE : FOCUS_LABEL; - case GTK_DIR_TAB_FORWARD: - case GTK_DIR_DOWN: - return FOCUS_LABEL; - case GTK_DIR_RIGHT: - return ltr ? FOCUS_LABEL : FOCUS_NONE; - break; - } + { + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_UP: + return FOCUS_NONE; + case GTK_DIR_LEFT: + return ltr ? FOCUS_NONE : FOCUS_LABEL; + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_DOWN: + return FOCUS_LABEL; + case GTK_DIR_RIGHT: + return ltr ? FOCUS_LABEL : FOCUS_NONE; + break; + } case FOCUS_LABEL: switch (direction) - { - case GTK_DIR_TAB_BACKWARD: - case GTK_DIR_UP: - return FOCUS_WIDGET; - case GTK_DIR_LEFT: - return ltr ? FOCUS_WIDGET : FOCUS_CHILD; - case GTK_DIR_TAB_FORWARD: - case GTK_DIR_DOWN: - return FOCUS_CHILD; - case GTK_DIR_RIGHT: - return ltr ? FOCUS_CHILD : FOCUS_WIDGET; - break; - } + { + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_UP: + return FOCUS_WIDGET; + case GTK_DIR_LEFT: + return ltr ? FOCUS_WIDGET : FOCUS_CHILD; + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_DOWN: + return FOCUS_CHILD; + case GTK_DIR_RIGHT: + return ltr ? FOCUS_CHILD : FOCUS_WIDGET; + break; + } case FOCUS_CHILD: switch (direction) - { - case GTK_DIR_TAB_BACKWARD: - case GTK_DIR_LEFT: - case GTK_DIR_UP: - return FOCUS_LABEL; - case GTK_DIR_TAB_FORWARD: - case GTK_DIR_DOWN: - case GTK_DIR_RIGHT: - return FOCUS_NONE; - } + { + case GTK_DIR_TAB_BACKWARD: + case GTK_DIR_LEFT: + case GTK_DIR_UP: + return FOCUS_LABEL; + case GTK_DIR_TAB_FORWARD: + case GTK_DIR_DOWN: + case GTK_DIR_RIGHT: + return FOCUS_NONE; + } } g_assert_not_reached (); @@ -1195,31 +1274,31 @@ get_next_site (GtkExpander *expander, static gboolean gtk_expander_focus (GtkWidget *widget, - GtkDirectionType direction) + GtkDirectionType direction) { GtkExpander *expander = GTK_EXPANDER (widget); - + if (!focus_current_site (expander, direction)) { GtkWidget *old_focus_child; gboolean widget_is_focus; FocusSite site = FOCUS_NONE; - + widget_is_focus = gtk_widget_is_focus (widget); old_focus_child = gtk_container_get_focus_child (GTK_CONTAINER (widget)); - + if (old_focus_child && old_focus_child == expander->priv->label_widget) - site = FOCUS_LABEL; + site = FOCUS_LABEL; else if (old_focus_child) - site = FOCUS_CHILD; + site = FOCUS_CHILD; else if (widget_is_focus) - site = FOCUS_WIDGET; + site = FOCUS_WIDGET; while ((site = get_next_site (expander, site, direction)) != FOCUS_NONE) - { - if (focus_in_site (expander, site, direction)) - return TRUE; - } + { + if (focus_in_site (expander, site, direction)) + return TRUE; + } return FALSE; } @@ -1229,7 +1308,7 @@ gtk_expander_focus (GtkWidget *widget, static void gtk_expander_add (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GTK_CONTAINER_CLASS (gtk_expander_parent_class)->add (container, widget); @@ -1239,7 +1318,7 @@ gtk_expander_add (GtkContainer *container, static void gtk_expander_remove (GtkContainer *container, - GtkWidget *widget) + GtkWidget *widget) { GtkExpander *expander = GTK_EXPANDER (container); @@ -1251,9 +1330,9 @@ gtk_expander_remove (GtkContainer *container, static void gtk_expander_forall (GtkContainer *container, - gboolean include_internals, - GtkCallback callback, - gpointer callback_data) + gboolean include_internals, + GtkCallback callback, + gpointer callback_data) { GtkBin *bin = GTK_BIN (container); GtkExpanderPrivate *priv = GTK_EXPANDER (container)->priv; @@ -1274,7 +1353,7 @@ gtk_expander_activate (GtkExpander *expander) } -static void +static void gtk_expander_get_preferred_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) @@ -1296,14 +1375,14 @@ gtk_expander_get_preferred_width (GtkWidget *widget, border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_style_get (GTK_WIDGET (widget), - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); - *minimum_size = *natural_size = + *minimum_size = *natural_size = expander_size + 2 * expander_spacing + 2 * focus_width + 2 * focus_pad; @@ -1311,7 +1390,7 @@ gtk_expander_get_preferred_width (GtkWidget *widget, { gint label_min, label_nat; - gtk_widget_get_preferred_width (priv->label_widget, + gtk_widget_get_preferred_width (priv->label_widget, &label_min, &label_nat); *minimum_size += label_min; @@ -1322,7 +1401,7 @@ gtk_expander_get_preferred_width (GtkWidget *widget, { gint child_min, child_nat; - gtk_widget_get_preferred_width (child, + gtk_widget_get_preferred_width (child, &child_min, &child_nat); *minimum_size = MAX (*minimum_size, child_min); @@ -1338,7 +1417,7 @@ static void gtk_expander_get_preferred_height (GtkWidget *widget, gint *minimum_size, gint *natural_size) -{ +{ GtkExpander *expander; GtkWidget *child; GtkExpanderPrivate *priv; @@ -1356,14 +1435,14 @@ gtk_expander_get_preferred_height (GtkWidget *widget, border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_style_get (GTK_WIDGET (widget), - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); - *minimum_size = *natural_size = + *minimum_size = *natural_size = interior_focus ? (2 * focus_width + 2 * focus_pad) : 0; @@ -1371,9 +1450,9 @@ gtk_expander_get_preferred_height (GtkWidget *widget, { gint label_min, label_nat; - gtk_widget_get_preferred_height (priv->label_widget, + gtk_widget_get_preferred_height (priv->label_widget, &label_min, &label_nat); - + *minimum_size += label_min; *natural_size += label_nat; } @@ -1392,7 +1471,7 @@ gtk_expander_get_preferred_height (GtkWidget *widget, { gint child_min, child_nat; - gtk_widget_get_preferred_height (child, + gtk_widget_get_preferred_height (child, &child_min, &child_nat); *minimum_size += child_min + priv->spacing; @@ -1428,16 +1507,16 @@ gtk_expander_get_preferred_height_for_width (GtkWidget *widget, border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); gtk_widget_style_get (GTK_WIDGET (widget), - "interior-focus", &interior_focus, - "focus-line-width", &focus_width, - "focus-padding", &focus_pad, - "expander-size", &expander_size, - "expander-spacing", &expander_spacing, - NULL); + "interior-focus", &interior_focus, + "focus-line-width", &focus_width, + "focus-padding", &focus_pad, + "expander-size", &expander_size, + "expander-spacing", &expander_spacing, + NULL); label_xpad = 2 * border_width + expander_size + 2 * expander_spacing - 2 * focus_width + 2 * focus_pad; - *minimum_height = *natural_height = + *minimum_height = *natural_height = interior_focus ? (2 * focus_width + 2 * focus_pad) : 0; @@ -1445,10 +1524,10 @@ gtk_expander_get_preferred_height_for_width (GtkWidget *widget, { gint label_min, label_nat; - gtk_widget_get_preferred_height_for_width (priv->label_widget, - MAX (width - label_xpad, 1), + gtk_widget_get_preferred_height_for_width (priv->label_widget, + MAX (width - label_xpad, 1), &label_min, &label_nat); - + *minimum_height += label_min; *natural_height += label_nat; } @@ -1467,8 +1546,8 @@ gtk_expander_get_preferred_height_for_width (GtkWidget *widget, { gint child_min, child_nat; - gtk_widget_get_preferred_height_for_width (child, - MAX (width - 2 * border_width, 1), + gtk_widget_get_preferred_height_for_width (child, + MAX (width - 2 * border_width, 1), &child_min, &child_nat); *minimum_height += child_min + priv->spacing; @@ -1493,13 +1572,13 @@ gtk_expander_get_preferred_width_for_height (GtkWidget *widget, /** * gtk_expander_new: * @label: the text of the label - * + * * Creates a new expander using @label as the text of the label. - * + * * Return value: a new #GtkExpander widget. * * Since: 2.4 - **/ + */ GtkWidget * gtk_expander_new (const gchar *label) { @@ -1508,27 +1587,27 @@ gtk_expander_new (const gchar *label) /** * gtk_expander_new_with_mnemonic: - * @label: (allow-none): the text of the label with an underscore in front of the - * mnemonic character + * @label: (allow-none): the text of the label with an underscore + * in front of the mnemonic character * * Creates a new expander using @label as the text of the label. * If characters in @label are preceded by an underscore, they are underlined. - * If you need a literal underscore character in a label, use '__' (two - * underscores). The first underlined character represents a keyboard + * If you need a literal underscore character in a label, use '__' (two + * underscores). The first underlined character represents a keyboard * accelerator called a mnemonic. * Pressing Alt and that key activates the button. - * + * * Return value: a new #GtkExpander widget. * * Since: 2.4 - **/ + */ GtkWidget * gtk_expander_new_with_mnemonic (const gchar *label) { return g_object_new (GTK_TYPE_EXPANDER, - "label", label, - "use-underline", TRUE, - NULL); + "label", label, + "use-underline", TRUE, + NULL); } /** @@ -1541,10 +1620,10 @@ gtk_expander_new_with_mnemonic (const gchar *label) * child widget to be hidden. * * Since: 2.4 - **/ + */ void gtk_expander_set_expanded (GtkExpander *expander, - gboolean expanded) + gboolean expanded) { GtkExpanderPrivate *priv; GtkWidget *child; @@ -1568,7 +1647,7 @@ gtk_expander_set_expanded (GtkExpander *expander, g_object_get (settings, "gtk-enable-animations", &enable_animations, NULL); if (enable_animations && gtk_widget_get_realized (widget)) - { + { gtk_style_context_save (context); gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER); @@ -1578,7 +1657,7 @@ gtk_expander_set_expanded (GtkExpander *expander, GTK_STATE_ACTIVE, expanded); gtk_style_context_restore (context); - } + } child = gtk_bin_get_child (GTK_BIN (expander)); @@ -1601,10 +1680,10 @@ gtk_expander_set_expanded (GtkExpander *expander, * * See gtk_expander_set_expanded(). * - * Return value: the current state of the expander. + * Return value: the current state of the expander * * Since: 2.4 - **/ + */ gboolean gtk_expander_get_expanded (GtkExpander *expander) { @@ -1616,16 +1695,16 @@ gtk_expander_get_expanded (GtkExpander *expander) /** * gtk_expander_set_spacing: * @expander: a #GtkExpander - * @spacing: distance between the expander and child in pixels. + * @spacing: distance between the expander and child in pixels * - * Sets the spacing field of @expander, which is the number of pixels to - * place between expander and the child. + * Sets the spacing field of @expander, which is the number of + * pixels to place between expander and the child. * * Since: 2.4 - **/ + */ void gtk_expander_set_spacing (GtkExpander *expander, - gint spacing) + gint spacing) { g_return_if_fail (GTK_IS_EXPANDER (expander)); g_return_if_fail (spacing >= 0); @@ -1646,10 +1725,10 @@ gtk_expander_set_spacing (GtkExpander *expander, * * Gets the value set by gtk_expander_set_spacing(). * - * Return value: spacing between the expander and child. + * Return value: spacing between the expander and child * * Since: 2.4 - **/ + */ gint gtk_expander_get_spacing (GtkExpander *expander) { @@ -1668,10 +1747,10 @@ gtk_expander_get_spacing (GtkExpander *expander) * This will also clear any previously set labels. * * Since: 2.4 - **/ + */ void gtk_expander_set_label (GtkExpander *expander, - const gchar *label) + const gchar *label) { g_return_if_fail (GTK_IS_EXPANDER (expander)); @@ -1711,10 +1790,10 @@ gtk_expander_set_label (GtkExpander *expander, * widget. * * Return value: The text of the label widget. This string is owned - * by the widget and must not be modified or freed. + * by the widget and must not be modified or freed. * * Since: 2.4 - **/ + */ G_CONST_RETURN char * gtk_expander_get_label (GtkExpander *expander) { @@ -1739,10 +1818,10 @@ gtk_expander_get_label (GtkExpander *expander) * the next character should be used for the mnemonic accelerator key. * * Since: 2.4 - **/ + */ void gtk_expander_set_use_underline (GtkExpander *expander, - gboolean use_underline) + gboolean use_underline) { GtkExpanderPrivate *priv; @@ -1757,7 +1836,7 @@ gtk_expander_set_use_underline (GtkExpander *expander, priv->use_underline = use_underline; if (GTK_IS_LABEL (priv->label_widget)) - gtk_label_set_use_underline (GTK_LABEL (priv->label_widget), use_underline); + gtk_label_set_use_underline (GTK_LABEL (priv->label_widget), use_underline); g_object_notify (G_OBJECT (expander), "use-underline"); } @@ -1767,14 +1846,14 @@ gtk_expander_set_use_underline (GtkExpander *expander, * gtk_expander_get_use_underline: * @expander: a #GtkExpander * - * Returns whether an embedded underline in the expander label indicates a - * mnemonic. See gtk_expander_set_use_underline(). + * Returns whether an embedded underline in the expander label + * indicates a mnemonic. See gtk_expander_set_use_underline(). * - * Return value: %TRUE if an embedded underline in the expander label - * indicates the mnemonic accelerator keys. + * Return value: %TRUE if an embedded underline in the expander + * label indicates the mnemonic accelerator keys * * Since: 2.4 - **/ + */ gboolean gtk_expander_get_use_underline (GtkExpander *expander) { @@ -1793,10 +1872,10 @@ gtk_expander_get_use_underline (GtkExpander *expander) * language. See gtk_label_set_markup(). * * Since: 2.4 - **/ + */ void gtk_expander_set_use_markup (GtkExpander *expander, - gboolean use_markup) + gboolean use_markup) { GtkExpanderPrivate *priv; @@ -1811,7 +1890,7 @@ gtk_expander_set_use_markup (GtkExpander *expander, priv->use_markup = use_markup; if (GTK_IS_LABEL (priv->label_widget)) - gtk_label_set_use_markup (GTK_LABEL (priv->label_widget), use_markup); + gtk_label_set_use_markup (GTK_LABEL (priv->label_widget), use_markup); g_object_notify (G_OBJECT (expander), "use-markup"); } @@ -1823,12 +1902,12 @@ gtk_expander_set_use_markup (GtkExpander *expander, * * Returns whether the label's text is interpreted as marked up with * the Pango text markup - * language. See gtk_expander_set_use_markup (). + * language. See gtk_expander_set_use_markup(). * * Return value: %TRUE if the label's text will be parsed for markup * * Since: 2.4 - **/ + */ gboolean gtk_expander_get_use_markup (GtkExpander *expander) { @@ -1846,10 +1925,10 @@ gtk_expander_get_use_markup (GtkExpander *expander) * that will appear embedded alongside the expander arrow. * * Since: 2.4 - **/ + */ void gtk_expander_set_label_widget (GtkExpander *expander, - GtkWidget *label_widget) + GtkWidget *label_widget) { GtkExpanderPrivate *priv; GtkWidget *widget; @@ -1879,7 +1958,7 @@ gtk_expander_set_label_widget (GtkExpander *expander, gtk_widget_set_parent (label_widget, widget); if (priv->prelight) - gtk_widget_set_state_flags (label_widget, + gtk_widget_set_state_flags (label_widget, GTK_STATE_FLAG_PRELIGHT, FALSE); } @@ -1901,10 +1980,10 @@ gtk_expander_set_label_widget (GtkExpander *expander, * gtk_expander_set_label_widget(). * * Return value: (transfer none): the label widget, - * or %NULL if there is none. + * or %NULL if there is none * * Since: 2.4 - **/ + */ GtkWidget * gtk_expander_get_label_widget (GtkExpander *expander) { @@ -1916,11 +1995,11 @@ gtk_expander_get_label_widget (GtkExpander *expander) /** * gtk_expander_set_label_fill: * @expander: a #GtkExpander - * @label_fill: %TRUE if the label should should fill all available horizontal - * space + * @label_fill: %TRUE if the label should should fill + * all available horizontal space * - * Sets whether the label widget should fill all available horizontal space - * allocated to @expander. + * Sets whether the label widget should fill all available + * horizontal space allocated to @expander. * * Since: 2.22 */ @@ -1951,11 +2030,11 @@ gtk_expander_set_label_fill (GtkExpander *expander, * gtk_expander_get_label_fill: * @expander: a #GtkExpander * - * Returns whether the label widget will fill all available horizontal - * space allocated to @expander. + * Returns whether the label widget will fill all available + * horizontal space allocated to @expander. * - * Return value: %TRUE if the label widget will fill all available horizontal - * space + * Return value: %TRUE if the label widget will fill all + * available horizontal space * * Since: 2.22 */ @@ -1966,4 +2045,3 @@ gtk_expander_get_label_fill (GtkExpander *expander) return expander->priv->label_fill; } - From 7e7d8c4ccc5f269bc998dc59d8af4973fe567d1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 4 Jan 2011 13:39:35 -0500 Subject: [PATCH 1138/1463] Remove deprecated gtk_quit_* API --- docs/reference/gtk/gtk3-sections.txt | 5 - docs/reference/gtk/tmpl/gtkmain.sgml | 74 +--------- gtk/gtkmain.c | 193 +-------------------------- gtk/gtkmain.h | 15 --- 4 files changed, 2 insertions(+), 285 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 00d5bef2db..b5b947e135 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5318,13 +5318,8 @@ gtk_device_grab_remove GtkFunction -gtk_quit_add_destroy -gtk_quit_add GtkCallbackMarshal GtkArg -gtk_quit_add_full -gtk_quit_remove -gtk_quit_remove_by_data GTK_PRIORITY_RESIZE diff --git a/docs/reference/gtk/tmpl/gtkmain.sgml b/docs/reference/gtk/tmpl/gtkmain.sgml index c49a5d92c0..1d02af988a 100644 --- a/docs/reference/gtk/tmpl/gtkmain.sgml +++ b/docs/reference/gtk/tmpl/gtkmain.sgml @@ -202,8 +202,7 @@ of the main loop return. -Asks for the current nesting level of the main loop. This can be useful -when calling gtk_quit_add(). +Asks for the current nesting level of the main loop. @void: @@ -439,33 +438,6 @@ If @widget does not have the grab, this function does nothing. @Returns: - - -Trigger destruction of @object in case the mainloop at level @main_level -is quit. - - -@main_level: Level of the mainloop which shall trigger the destruction. -@object: Object to be destroyed. -@Deprecated: This function is going to be removed in GTK+ 3.0 - - - - -Registers a function to be called when an instance of the mainloop is left. - - -@main_level: Level at which termination the function shall be called. You - can pass 0 here to have the function run at the termination of the current - mainloop. -@function: The function to call. This should return 0 to be removed from the - list of quit handlers. Otherwise the function might be called again. -@data: Pointer to pass when calling @function. -@Returns: A handle for this quit handler (you need this for gtk_quit_remove()) - or 0 if you passed a %NULL pointer in @function. -@Deprecated: This function is going to be removed in GTK+ 3.0 - - @@ -485,50 +457,6 @@ Registers a function to be called when an instance of the mainloop is left. @type: @name: - - -Registers a function to be called when an instance of the mainloop is left. -In comparison to gtk_quit_add() this function adds the possibility to -pass a marshaller and a function to be called when the quit handler is freed. - - -The former can be used to run interpreted code instead of a compiled function -while the latter can be used to free the information stored in @data (while -you can do this in @function as well)... So this function will mostly be -used by GTK+ wrappers for languages other than C. - - -@main_level: Level at which termination the function shall be called. You - can pass 0 here to have the function run at the termination of the current - mainloop. -@function: The function to call. This should return 0 to be removed from the - list of quit handlers. Otherwise the function might be called again. -@marshal: The marshaller to be used. If this is non-%NULL, @function is - ignored. -@data: Pointer to pass when calling @function. -@destroy: Function to call to destruct @data. Gets @data as argument. -@Returns: A handle for this quit handler (you need this for gtk_quit_remove()) - or 0 if you passed a %NULL pointer in @function. -@Deprecated: This function is going to be removed in GTK+ 3.0 - - - - -Removes a quit handler by its identifier. - - -@quit_handler_id: Identifier for the handler returned when installing it. -@Deprecated: This function is going to be removed in GTK+ 3.0 - - - - -Removes a quit handler identified by its @data field. - - -@data: The pointer passed as @data to gtk_quit_add() or gtk_quit_add_full(). -@Deprecated: This function is going to be removed in GTK+ 3.0 - diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 860adbb463..f16c8fa093 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -143,19 +143,8 @@ _gtk_get_localedir (void) /* Private type definitions */ -typedef struct _GtkQuitFunction GtkQuitFunction; typedef struct _GtkKeySnooperData GtkKeySnooperData; -struct _GtkQuitFunction -{ - guint id; - guint main_level; - GtkCallbackMarshal marshal; - GtkFunction function; - gpointer data; - GDestroyNotify destroy; -}; - struct _GtkKeySnooperData { GtkKeySnoopFunc func; @@ -163,8 +152,6 @@ struct _GtkKeySnooperData guint id; }; -static gint gtk_quit_invoke_function (GtkQuitFunction *quitf); -static void gtk_quit_destroy (GtkQuitFunction *quitf); static gint gtk_invoke_key_snoopers (GtkWidget *grab_widget, GdkEvent *event); @@ -177,8 +164,6 @@ static GList *current_events = NULL; static GSList *main_loops = NULL; /* stack of currently executing main loops */ -static GList *quit_functions = NULL; /* A list of quit functions. - */ static GSList *key_snoopers = NULL; static guint debug_flags = 0; /* Global GTK debug flag */ @@ -1256,11 +1241,10 @@ gtk_get_default_language (void) void gtk_main (void) { - GList *tmp_list; GMainLoop *loop; gtk_main_loop_level++; - + loop = g_main_loop_new (NULL, TRUE); main_loops = g_slist_prepend (main_loops, loop); @@ -1272,43 +1256,6 @@ gtk_main (void) gdk_flush (); } - if (quit_functions) - { - GList *reinvoke_list = NULL; - GtkQuitFunction *quitf; - - while (quit_functions) - { - quitf = quit_functions->data; - - tmp_list = quit_functions; - quit_functions = g_list_remove_link (quit_functions, quit_functions); - g_list_free_1 (tmp_list); - - if ((quitf->main_level && quitf->main_level != gtk_main_loop_level) || - gtk_quit_invoke_function (quitf)) - { - reinvoke_list = g_list_prepend (reinvoke_list, quitf); - } - else - { - gtk_quit_destroy (quitf); - } - } - if (reinvoke_list) - { - GList *work; - - work = g_list_last (reinvoke_list); - if (quit_functions) - quit_functions->prev = work; - work->next = quit_functions; - quit_functions = work; - } - - gdk_flush (); - } - main_loops = g_slist_remove (main_loops, loop); g_main_loop_unref (loop); @@ -2132,124 +2079,6 @@ gtk_invoke_key_snoopers (GtkWidget *grab_widget, return return_val; } -guint -gtk_quit_add_full (guint main_level, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GDestroyNotify destroy) -{ - static guint quit_id = 1; - GtkQuitFunction *quitf; - - g_return_val_if_fail ((function != NULL) || (marshal != NULL), 0); - - quitf = g_slice_new (GtkQuitFunction); - - quitf->id = quit_id++; - quitf->main_level = main_level; - quitf->function = function; - quitf->marshal = marshal; - quitf->data = data; - quitf->destroy = destroy; - - quit_functions = g_list_prepend (quit_functions, quitf); - - return quitf->id; -} - -static void -gtk_quit_destroy (GtkQuitFunction *quitf) -{ - if (quitf->destroy) - quitf->destroy (quitf->data); - g_slice_free (GtkQuitFunction, quitf); -} - -static gint -gtk_quit_destructor (GtkWidget **object_p) -{ - if (*object_p) - gtk_widget_destroy (*object_p); - g_free (object_p); - - return FALSE; -} - -void -gtk_quit_add_destroy (guint main_level, - GtkWidget *object) -{ - GtkWidget **object_p; - - g_return_if_fail (main_level > 0); - g_return_if_fail (GTK_IS_WIDGET (object)); - - object_p = g_new (GtkWidget*, 1); - *object_p = object; - g_signal_connect (object, - "destroy", - G_CALLBACK (gtk_widget_destroyed), - object_p); - gtk_quit_add (main_level, (GtkFunction) gtk_quit_destructor, object_p); -} - -guint -gtk_quit_add (guint main_level, - GtkFunction function, - gpointer data) -{ - return gtk_quit_add_full (main_level, function, NULL, data, NULL); -} - -void -gtk_quit_remove (guint id) -{ - GtkQuitFunction *quitf; - GList *tmp_list; - - tmp_list = quit_functions; - while (tmp_list) - { - quitf = tmp_list->data; - - if (quitf->id == id) - { - quit_functions = g_list_remove_link (quit_functions, tmp_list); - g_list_free (tmp_list); - gtk_quit_destroy (quitf); - - return; - } - - tmp_list = tmp_list->next; - } -} - -void -gtk_quit_remove_by_data (gpointer data) -{ - GtkQuitFunction *quitf; - GList *tmp_list; - - tmp_list = quit_functions; - while (tmp_list) - { - quitf = tmp_list->data; - - if (quitf->data == data) - { - quit_functions = g_list_remove_link (quit_functions, tmp_list); - g_list_free (tmp_list); - gtk_quit_destroy (quitf); - - return; - } - - tmp_list = tmp_list->next; - } -} - /** * gtk_get_current_event: * @@ -2356,26 +2185,6 @@ gtk_get_event_widget (GdkEvent *event) return widget; } -static gint -gtk_quit_invoke_function (GtkQuitFunction *quitf) -{ - if (!quitf->marshal) - return quitf->function (quitf->data); - else - { - GtkArg args[1]; - gint ret_val = FALSE; - - args[0].name = NULL; - args[0].type = G_TYPE_BOOLEAN; - args[0].d.pointer_data = &ret_val; - ((GtkCallbackMarshal) quitf->marshal) (NULL, - quitf->data, - 0, args); - return ret_val; - } -} - /** * gtk_propagate_event: * @widget: a #GtkWidget diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 050b18c93c..82a7392e54 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -141,21 +141,6 @@ void gtk_device_grab_add (GtkWidget *widget, void gtk_device_grab_remove (GtkWidget *widget, GdkDevice *device); -#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) -void gtk_quit_add_destroy (guint main_level, - GtkWidget *object); -guint gtk_quit_add (guint main_level, - GtkFunction function, - gpointer data); -guint gtk_quit_add_full (guint main_level, - GtkFunction function, - GtkCallbackMarshal marshal, - gpointer data, - GDestroyNotify destroy); -void gtk_quit_remove (guint quit_handler_id); -void gtk_quit_remove_by_data (gpointer data); -#endif - guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, gpointer func_data); void gtk_key_snooper_remove (guint snooper_handler_id); From 1283368b1bc93f6190d9aca92c433def60e73c55 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 13:49:37 -0500 Subject: [PATCH 1139/1463] Remove GtkArg, GtkCallbackMarshal and GtkFunction MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on a patch by Javier Jardón. https://bugzilla.gnome.org/show_bug.cgi?id=629955 --- docs/reference/gtk/gtk3-sections.txt | 5 -- gtk/gtktypeutils.h | 80 ---------------------------- 2 files changed, 85 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index b5b947e135..9b565514b8 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5316,11 +5316,6 @@ gtk_grab_remove gtk_device_grab_add gtk_device_grab_remove - -GtkFunction -GtkCallbackMarshal -GtkArg - GTK_PRIORITY_RESIZE diff --git a/gtk/gtktypeutils.h b/gtk/gtktypeutils.h index 15c749d512..91ef2178c9 100644 --- a/gtk/gtktypeutils.h +++ b/gtk/gtktypeutils.h @@ -41,86 +41,6 @@ G_BEGIN_DECLS #define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ()) GType gtk_identifier_get_type (void) G_GNUC_CONST; -#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) -/* --- typedefs --- */ -/* here we come with some necessary forward declarations for structures and - * provide some fundamental function signatures - */ -typedef struct _GtkArg GtkArg; - -/** - * GtkFunction: - * @data: #gpointer - * - * Defines a function pointer. - * - * Returns: #gint - * - * Deprecated: 2.24: Use GSourceFunc() instead. - */ -typedef gboolean (*GtkFunction) (gpointer data); - -/** - * GtkCallbackMarshal: - * @object: #GObject* - * @data: #gpointer - * @n_args: #guint - * @args: #GtkArg* - * - * Defines a function pointer. - * - * Deprecated: 2.24: - */ -typedef void (*GtkCallbackMarshal) (GObject *object, - gpointer data, - guint n_args, - GtkArg *args); - -/** - * GtkArg: - * - * This is a structure that we use to pass in typed values (and names). - * - * Deprecated: 2.2: - */ -struct _GtkArg -{ - GType type; - gchar *name; - - /* this union only defines the required storage types for - * the possibile values, thus there is no gint enum_data field, - * because that would just be a mere alias for gint int_data. - * use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access - * the discrete memebers. - */ - union { - /* flat values */ - gchar char_data; - guchar uchar_data; - gboolean bool_data; - gint int_data; - guint uint_data; - glong long_data; - gulong ulong_data; - gfloat float_data; - gdouble double_data; - gchar *string_data; - GObject *object_data; - gpointer pointer_data; - - /* structured values */ - struct { - GCallback f; - gpointer d; - } signal_data; - } d; -}; -#endif /* GTK_DISABLE_DEPRECATED */ - -/* This used to be defined in gtkitemfactory.h, but moved over here after - * the complete deprecation of that header - */ typedef gchar * (*GtkTranslateFunc) (const gchar *path, gpointer func_data); From 98440ad03190396bd2bef02557f8d41e12dd5795 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 14:51:19 -0500 Subject: [PATCH 1140/1463] Remove gtktypeutils altogether MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Based on patches by Javier Jardón. https://bugzilla.gnome.org/show_bug.cgi?id=629955 --- gtk/Makefile.am | 2 - gtk/gtk.h | 2 +- gtk/gtkaboutdialog.c | 1 + gtk/gtkactiongroup.h | 2 +- gtk/gtkassistant.c | 2 +- gtk/gtkbindings.c | 647 +++++++++++++++++++------------------ gtk/gtkbutton.c | 1 + gtk/gtkcellrendereraccel.c | 1 + gtk/gtkcombobox.c | 1 + gtk/gtkcontainer.c | 6 +- gtk/gtkentry.c | 1 + gtk/gtkfilechooserbutton.c | 1 + gtk/gtkframe.c | 1 + gtk/gtkhandlebox.c | 3 + gtk/gtkiconfactory.c | 4 +- gtk/gtkiconview.c | 1 + gtk/gtkimage.c | 2 + gtk/gtkinfobar.c | 1 + gtk/gtklabel.c | 1 + gtk/gtkmain.h | 1 - gtk/gtkmenu.c | 1 + gtk/gtkmenubar.c | 2 +- gtk/gtkmenuitem.c | 2 + gtk/gtkmenushell.c | 1 + gtk/gtkmessagedialog.c | 2 + gtk/gtknotebook.c | 1 + gtk/gtkpaned.c | 2 +- gtk/gtkprintoperation.c | 8 +- gtk/gtkprintsettings.c | 6 +- gtk/gtkprintunixdialog.c | 21 +- gtk/gtkrange.c | 1 + gtk/gtkscalebutton.c | 2 +- gtk/gtkscrolledwindow.c | 1 + gtk/gtkspinbutton.c | 1 + gtk/gtkstatusbar.c | 2 + gtk/gtkstatusicon.c | 16 +- gtk/gtkstock.h | 15 +- gtk/gtktexttag.c | 8 +- gtk/gtktextview.c | 1 + gtk/gtktoolbar.c | 1 + gtk/gtktoolitemgroup.c | 6 +- gtk/gtktoolpalette.c | 2 +- gtk/gtktrayicon-x11.c | 10 +- gtk/gtktreeview.c | 1 + gtk/gtktreeviewcolumn.c | 1 + gtk/gtktypeutils.c | 47 --- gtk/gtktypeutils.h | 50 --- gtk/gtkwidget.c | 1 + gtk/gtkwindow.c | 5 +- po-properties/POTFILES.in | 1 - po/POTFILES.in | 1 - 51 files changed, 434 insertions(+), 466 deletions(-) delete mode 100644 gtk/gtktypeutils.c delete mode 100644 gtk/gtktypeutils.h diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 6dd2e01b20..79aeb455c2 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -333,7 +333,6 @@ gtk_public_h_sources = \ gtktreestore.h \ gtktreeview.h \ gtktreeviewcolumn.h \ - gtktypeutils.h \ gtkuimanager.h \ gtkvbbox.h \ gtkvbox.h \ @@ -662,7 +661,6 @@ gtk_base_c_sources = \ gtktreeview.c \ gtktreeviewcolumn.c \ gtktypebuiltins.c \ - gtktypeutils.c \ gtkuimanager.c \ gtkvbbox.c \ gtkvbox.c \ diff --git a/gtk/gtk.h b/gtk/gtk.h index 0d85793a3c..29b41f29be 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -217,7 +217,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index ea4d9304ac..d63054f13e 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -54,6 +54,7 @@ #include "gtkmain.h" #include "gtkmessagedialog.h" #include "gtktogglebutton.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkactiongroup.h b/gtk/gtkactiongroup.h index c77987c127..33fa000dfa 100644 --- a/gtk/gtkactiongroup.h +++ b/gtk/gtkactiongroup.h @@ -36,7 +36,7 @@ #define __GTK_ACTION_GROUP_H__ #include -#include /* for GtkTranslateFunc */ +#include G_BEGIN_DECLS diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index e3a5af7f2f..fa740bd18a 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -71,7 +71,7 @@ #include "gtksizegroup.h" #include "gtksizerequest.h" #include "gtkstock.h" - +#include "gtktypebuiltins.h" #include "gtkintl.h" #include "gtkprivate.h" #include "gtkbuildable.h" diff --git a/gtk/gtkbindings.c b/gtk/gtkbindings.c index e8b0b632e4..733c9b1060 100644 --- a/gtk/gtkbindings.c +++ b/gtk/gtkbindings.c @@ -11,7 +11,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -32,14 +32,17 @@ #include #include "gtkbindings.h" -#include "gtktypeutils.h" #include "gtkkeyhash.h" #include "gtkwidget.h" #include "gtkrc.h" - +#include "gtkintl.h" /* --- defines --- */ -#define BINDING_MOD_MASK() (gtk_accelerator_get_default_mod_mask () | GDK_RELEASE_MASK) +#define BINDING_MOD_MASK() (gtk_accelerator_get_default_mod_mask () | GDK_RELEASE_MASK) + + +#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ()) +GType gtk_identifier_get_type (void) G_GNUC_CONST; /* --- structures --- */ @@ -52,14 +55,28 @@ typedef struct { /* --- variables --- */ -static GHashTable *binding_entry_hash_table = NULL; +static GHashTable *binding_entry_hash_table = NULL; static GSList *binding_key_hashes = NULL; -static GSList *binding_set_list = NULL; -static const gchar key_class_binding_set[] = "gtk-class-binding-set"; -static GQuark key_id_class_binding_set = 0; +static GSList *binding_set_list = NULL; +static const gchar key_class_binding_set[] = "gtk-class-binding-set"; +static GQuark key_id_class_binding_set = 0; /* --- functions --- */ +GType +gtk_identifier_get_type (void) +{ + static GType our_type = 0; + + if (our_type == 0) + { + GTypeInfo tinfo = { 0, }; + our_type = g_type_register_static (G_TYPE_STRING, I_("GtkIdentifier"), &tinfo, 0); + } + + return our_type; +} + static void pattern_spec_free (PatternSpec *pspec) { @@ -70,7 +87,7 @@ pattern_spec_free (PatternSpec *pspec) static GtkBindingSignal* binding_signal_new (const gchar *signal_name, - guint n_args) + guint n_args) { GtkBindingSignal *signal; @@ -91,7 +108,7 @@ binding_signal_free (GtkBindingSignal *sig) for (i = 0; i < sig->n_args; i++) { if (G_TYPE_FUNDAMENTAL (sig->args[i].arg_type) == G_TYPE_STRING) - g_free (sig->args[i].d.string_data); + g_free (sig->args[i].d.string_data); } g_slice_free1 (sizeof (GtkBindingSignal) + sig->n_args * sizeof (GtkBindingArg), sig); } @@ -110,7 +127,7 @@ binding_entry_hash (gconstpointer key) static gint binding_entries_compare (gconstpointer a, - gconstpointer b) + gconstpointer b) { register const GtkBindingEntry *ea = a; register const GtkBindingEntry *eb = b; @@ -120,7 +137,7 @@ binding_entries_compare (gconstpointer a, static void binding_key_hash_insert_entry (GtkKeyHash *key_hash, - GtkBindingEntry *entry) + GtkBindingEntry *entry) { guint keyval = entry->keyval; @@ -130,9 +147,9 @@ binding_key_hash_insert_entry (GtkKeyHash *key_hash, if (entry->modifiers & GDK_SHIFT_MASK) { if (keyval == GDK_KEY_Tab) - keyval = GDK_KEY_ISO_Left_Tab; + keyval = GDK_KEY_ISO_Left_Tab; else - keyval = gdk_keyval_to_upper (keyval); + keyval = gdk_keyval_to_upper (keyval); } _gtk_key_hash_add_entry (key_hash, keyval, entry->modifiers & ~GDK_RELEASE_MASK, entry); @@ -149,8 +166,8 @@ binding_key_hash_destroy (gpointer data) static void insert_entries_into_key_hash (gpointer key, - gpointer value, - gpointer data) + gpointer value, + gpointer data) { GtkKeyHash *key_hash = data; GtkBindingEntry *entry = value; @@ -176,9 +193,9 @@ binding_key_hash_for_keymap (GdkKeymap *keymap) g_object_set_qdata_full (G_OBJECT (keymap), key_hash_quark, key_hash, binding_key_hash_destroy); if (binding_entry_hash_table) - g_hash_table_foreach (binding_entry_hash_table, - insert_entries_into_key_hash, - key_hash); + g_hash_table_foreach (binding_entry_hash_table, + insert_entries_into_key_hash, + key_hash); binding_key_hashes = g_slist_prepend (binding_key_hashes, key_hash); } @@ -189,8 +206,8 @@ binding_key_hash_for_keymap (GdkKeymap *keymap) static GtkBindingEntry* binding_entry_new (GtkBindingSet *binding_set, - guint keyval, - GdkModifierType modifiers) + guint keyval, + GdkModifierType modifiers) { GSList *tmp_list; GtkBindingEntry *entry; @@ -230,9 +247,9 @@ binding_entry_free (GtkBindingEntry *entry) GtkBindingSignal *sig; g_assert (entry->set_next == NULL && - entry->hash_next == NULL && - entry->in_emission == FALSE && - entry->destroyed == TRUE); + entry->hash_next == NULL && + entry->in_emission == FALSE && + entry->destroyed == TRUE); entry->destroyed = FALSE; @@ -264,13 +281,13 @@ binding_entry_destroy (GtkBindingEntry *entry) while (tmp) { if (tmp == entry) - { - if (last) - last->set_next = entry->set_next; - else - entry->binding_set->entries = entry->set_next; - break; - } + { + if (last) + last->set_next = entry->set_next; + else + entry->binding_set->entries = entry->set_next; + break; + } last = tmp; tmp = last->set_next; } @@ -283,13 +300,13 @@ binding_entry_destroy (GtkBindingEntry *entry) while (tmp) { if (tmp == entry) - { - if (last) - last->hash_next = entry->hash_next; - else - begin = entry->hash_next; - break; - } + { + if (last) + last->hash_next = entry->hash_next; + else + begin = entry->hash_next; + break; + } last = tmp; tmp = last->hash_next; } @@ -317,8 +334,8 @@ binding_entry_destroy (GtkBindingEntry *entry) static GtkBindingEntry* binding_ht_lookup_entry (GtkBindingSet *set, - guint keyval, - GdkModifierType modifiers) + guint keyval, + GdkModifierType modifiers) { GtkBindingEntry lookup_entry = { 0 }; GtkBindingEntry *entry; @@ -339,9 +356,9 @@ binding_ht_lookup_entry (GtkBindingSet *set, static gboolean binding_compose_params (GObject *object, - GtkBindingArg *args, - GSignalQuery *query, - GValue **params_p) + GtkBindingArg *args, + GSignalQuery *query, + GValue **params_p) { GValue *params; const GType *types; @@ -366,85 +383,85 @@ binding_compose_params (GObject *object, g_value_init (params, *types); switch (G_TYPE_FUNDAMENTAL (args->arg_type)) - { - case G_TYPE_DOUBLE: - g_value_init (&tmp_value, G_TYPE_DOUBLE); - g_value_set_double (&tmp_value, args->d.double_data); - break; - case G_TYPE_LONG: - g_value_init (&tmp_value, G_TYPE_LONG); - g_value_set_long (&tmp_value, args->d.long_data); - break; - case G_TYPE_STRING: - /* gtk_rc_parse_flags/enum() has fancier parsing for this; we can't call - * that since we don't have a GParamSpec, so just do something simple - */ - if (G_TYPE_FUNDAMENTAL (*types) == G_TYPE_ENUM) - { - GEnumClass *class = G_ENUM_CLASS (g_type_class_ref (*types)); - - valid = FALSE; - - if (args->arg_type == GTK_TYPE_IDENTIFIER) - { - GEnumValue *enum_value = NULL; - enum_value = g_enum_get_value_by_name (class, args->d.string_data); - if (!enum_value) - enum_value = g_enum_get_value_by_nick (class, args->d.string_data); - if (enum_value) - { - g_value_init (&tmp_value, *types); - g_value_set_enum (&tmp_value, enum_value->value); - valid = TRUE; - } - } + { + case G_TYPE_DOUBLE: + g_value_init (&tmp_value, G_TYPE_DOUBLE); + g_value_set_double (&tmp_value, args->d.double_data); + break; + case G_TYPE_LONG: + g_value_init (&tmp_value, G_TYPE_LONG); + g_value_set_long (&tmp_value, args->d.long_data); + break; + case G_TYPE_STRING: + /* gtk_rc_parse_flags/enum() has fancier parsing for this; we can't call + * that since we don't have a GParamSpec, so just do something simple + */ + if (G_TYPE_FUNDAMENTAL (*types) == G_TYPE_ENUM) + { + GEnumClass *class = G_ENUM_CLASS (g_type_class_ref (*types)); - g_type_class_unref (class); - } - /* This is just a hack for compatibility with GTK+-1.2 where a string - * could be used for a single flag value / without the support for multiple - * values in gtk_rc_parse_flags(), this isn't very useful. - */ - else if (G_TYPE_FUNDAMENTAL (*types) == G_TYPE_FLAGS) - { - GFlagsClass *class = G_FLAGS_CLASS (g_type_class_ref (*types)); - - valid = FALSE; - - if (args->arg_type == GTK_TYPE_IDENTIFIER) - { - GFlagsValue *flags_value = NULL; - flags_value = g_flags_get_value_by_name (class, args->d.string_data); - if (!flags_value) - flags_value = g_flags_get_value_by_nick (class, args->d.string_data); - if (flags_value) - { - g_value_init (&tmp_value, *types); - g_value_set_flags (&tmp_value, flags_value->value); - valid = TRUE; - } - } + valid = FALSE; - g_type_class_unref (class); - } - else - { - g_value_init (&tmp_value, G_TYPE_STRING); - g_value_set_static_string (&tmp_value, args->d.string_data); - } - break; - default: - valid = FALSE; - break; - } + if (args->arg_type == GTK_TYPE_IDENTIFIER) + { + GEnumValue *enum_value = NULL; + enum_value = g_enum_get_value_by_name (class, args->d.string_data); + if (!enum_value) + enum_value = g_enum_get_value_by_nick (class, args->d.string_data); + if (enum_value) + { + g_value_init (&tmp_value, *types); + g_value_set_enum (&tmp_value, enum_value->value); + valid = TRUE; + } + } + + g_type_class_unref (class); + } + /* This is just a hack for compatibility with GTK+-1.2 where a string + * could be used for a single flag value / without the support for multiple + * values in gtk_rc_parse_flags(), this isn't very useful. + */ + else if (G_TYPE_FUNDAMENTAL (*types) == G_TYPE_FLAGS) + { + GFlagsClass *class = G_FLAGS_CLASS (g_type_class_ref (*types)); + + valid = FALSE; + + if (args->arg_type == GTK_TYPE_IDENTIFIER) + { + GFlagsValue *flags_value = NULL; + flags_value = g_flags_get_value_by_name (class, args->d.string_data); + if (!flags_value) + flags_value = g_flags_get_value_by_nick (class, args->d.string_data); + if (flags_value) + { + g_value_init (&tmp_value, *types); + g_value_set_flags (&tmp_value, flags_value->value); + valid = TRUE; + } + } + + g_type_class_unref (class); + } + else + { + g_value_init (&tmp_value, G_TYPE_STRING); + g_value_set_static_string (&tmp_value, args->d.string_data); + } + break; + default: + valid = FALSE; + break; + } if (valid) - { - if (!g_value_transform (&tmp_value, params)) - valid = FALSE; + { + if (!g_value_transform (&tmp_value, params)) + valid = FALSE; - g_value_unset (&tmp_value); - } + g_value_unset (&tmp_value); + } types++; params++; @@ -456,7 +473,7 @@ binding_compose_params (GObject *object, guint j; for (j = 0; j < i; j++) - g_value_unset (&(*params_p)[j]); + g_value_unset (&(*params_p)[j]); g_free (*params_p); *params_p = NULL; @@ -467,7 +484,7 @@ binding_compose_params (GObject *object, static gboolean gtk_binding_entry_activate (GtkBindingEntry *entry, - GObject *object) + GObject *object) { GtkBindingSignal *sig; gboolean old_emission; @@ -489,65 +506,65 @@ gtk_binding_entry_activate (GtkBindingEntry *entry, signal_id = g_signal_lookup (sig->signal_name, G_OBJECT_TYPE (object)); if (!signal_id) - { - accelerator = gtk_accelerator_name (entry->keyval, entry->modifiers); - g_warning ("gtk_binding_entry_activate(): binding \"%s::%s\": " - "could not find signal \"%s\" in the `%s' class ancestry", - entry->binding_set->set_name, - accelerator, - sig->signal_name, - g_type_name (G_OBJECT_TYPE (object))); - g_free (accelerator); - continue; - } - + { + accelerator = gtk_accelerator_name (entry->keyval, entry->modifiers); + g_warning ("gtk_binding_entry_activate(): binding \"%s::%s\": " + "could not find signal \"%s\" in the `%s' class ancestry", + entry->binding_set->set_name, + accelerator, + sig->signal_name, + g_type_name (G_OBJECT_TYPE (object))); + g_free (accelerator); + continue; + } + g_signal_query (signal_id, &query); if (query.n_params != sig->n_args || - (query.return_type != G_TYPE_NONE && query.return_type != G_TYPE_BOOLEAN) || - !binding_compose_params (object, sig->args, &query, ¶ms)) - { - accelerator = gtk_accelerator_name (entry->keyval, entry->modifiers); - g_warning ("gtk_binding_entry_activate(): binding \"%s::%s\": " - "signature mismatch for signal \"%s\" in the `%s' class ancestry", - entry->binding_set->set_name, - accelerator, - sig->signal_name, - g_type_name (G_OBJECT_TYPE (object))); - } + (query.return_type != G_TYPE_NONE && query.return_type != G_TYPE_BOOLEAN) || + !binding_compose_params (object, sig->args, &query, ¶ms)) + { + accelerator = gtk_accelerator_name (entry->keyval, entry->modifiers); + g_warning ("gtk_binding_entry_activate(): binding \"%s::%s\": " + "signature mismatch for signal \"%s\" in the `%s' class ancestry", + entry->binding_set->set_name, + accelerator, + sig->signal_name, + g_type_name (G_OBJECT_TYPE (object))); + } else if (!(query.signal_flags & G_SIGNAL_ACTION)) - { - accelerator = gtk_accelerator_name (entry->keyval, entry->modifiers); - g_warning ("gtk_binding_entry_activate(): binding \"%s::%s\": " - "signal \"%s\" in the `%s' class ancestry cannot be used for action emissions", - entry->binding_set->set_name, - accelerator, - sig->signal_name, - g_type_name (G_OBJECT_TYPE (object))); - } + { + accelerator = gtk_accelerator_name (entry->keyval, entry->modifiers); + g_warning ("gtk_binding_entry_activate(): binding \"%s::%s\": " + "signal \"%s\" in the `%s' class ancestry cannot be used for action emissions", + entry->binding_set->set_name, + accelerator, + sig->signal_name, + g_type_name (G_OBJECT_TYPE (object))); + } g_free (accelerator); if (accelerator) - continue; + continue; if (query.return_type == G_TYPE_BOOLEAN) - g_value_init (&return_val, G_TYPE_BOOLEAN); + g_value_init (&return_val, G_TYPE_BOOLEAN); g_signal_emitv (params, signal_id, 0, &return_val); if (query.return_type == G_TYPE_BOOLEAN) - { - if (g_value_get_boolean (&return_val)) - handled = TRUE; - g_value_unset (&return_val); - } + { + if (g_value_get_boolean (&return_val)) + handled = TRUE; + g_value_unset (&return_val); + } else - handled = TRUE; + handled = TRUE; for (i = 0; i < query.n_params + 1; i++) - g_value_unset (¶ms[i]); + g_value_unset (¶ms[i]); g_free (params); if (entry->destroyed) - break; + break; } g_object_unref (object); @@ -617,9 +634,9 @@ gtk_binding_set_by_class (gpointer object_class) binding_set = gtk_binding_set_new (g_type_name (G_OBJECT_CLASS_TYPE (class))); gtk_binding_set_add_path (binding_set, - GTK_PATH_CLASS, - g_type_name (G_OBJECT_CLASS_TYPE (class)), - GTK_PATH_PRIO_GTK); + GTK_PATH_CLASS, + g_type_name (G_OBJECT_CLASS_TYPE (class)), + GTK_PATH_PRIO_GTK); g_dataset_id_set_data (class, key_id_class_binding_set, binding_set); return binding_set; @@ -648,7 +665,7 @@ gtk_binding_set_find (const gchar *set_name) binding_set = slist->data; if (g_str_equal (binding_set->set_name, (gpointer) set_name)) - return binding_set; + return binding_set; } return NULL; } @@ -666,10 +683,10 @@ gtk_binding_set_find (const gchar *set_name) * Return value: %TRUE if a binding was found and activated */ gboolean -gtk_binding_set_activate (GtkBindingSet *binding_set, - guint keyval, - GdkModifierType modifiers, - GObject *object) +gtk_binding_set_activate (GtkBindingSet *binding_set, + guint keyval, + GdkModifierType modifiers, + GObject *object) { GtkBindingEntry *entry; @@ -745,9 +762,9 @@ gtk_binding_entry_skip (GtkBindingSet *binding_set, * gtk_binding_entry_add_signal() on @binding_set. */ void -gtk_binding_entry_remove (GtkBindingSet *binding_set, - guint keyval, - GdkModifierType modifiers) +gtk_binding_entry_remove (GtkBindingSet *binding_set, + guint keyval, + GdkModifierType modifiers) { GtkBindingEntry *entry; @@ -775,10 +792,10 @@ gtk_binding_entry_remove (GtkBindingSet *binding_set, */ void gtk_binding_entry_add_signall (GtkBindingSet *binding_set, - guint keyval, + guint keyval, GdkModifierType modifiers, const gchar *signal_name, - GSList *binding_args) + GSList *binding_args) { _gtk_binding_entry_add_signall (binding_set, keyval, modifiers, @@ -787,10 +804,10 @@ gtk_binding_entry_add_signall (GtkBindingSet *binding_set, void _gtk_binding_entry_add_signall (GtkBindingSet *binding_set, - guint keyval, + guint keyval, GdkModifierType modifiers, const gchar *signal_name, - GSList *binding_args) + GSList *binding_args) { GtkBindingEntry *entry; GtkBindingSignal *signal, **signal_p; @@ -813,40 +830,40 @@ _gtk_binding_entry_add_signall (GtkBindingSet *binding_set, tmp_arg = slist->data; if (!tmp_arg) - { - g_warning ("gtk_binding_entry_add_signall(): arg[%u] is `NULL'", n); - binding_signal_free (signal); - return; - } + { + g_warning ("gtk_binding_entry_add_signall(): arg[%u] is `NULL'", n); + binding_signal_free (signal); + return; + } switch (G_TYPE_FUNDAMENTAL (tmp_arg->arg_type)) - { - case G_TYPE_LONG: - arg->arg_type = G_TYPE_LONG; - arg->d.long_data = tmp_arg->d.long_data; - break; - case G_TYPE_DOUBLE: - arg->arg_type = G_TYPE_DOUBLE; - arg->d.double_data = tmp_arg->d.double_data; - break; - case G_TYPE_STRING: + { + case G_TYPE_LONG: + arg->arg_type = G_TYPE_LONG; + arg->d.long_data = tmp_arg->d.long_data; + break; + case G_TYPE_DOUBLE: + arg->arg_type = G_TYPE_DOUBLE; + arg->d.double_data = tmp_arg->d.double_data; + break; + case G_TYPE_STRING: if (tmp_arg->arg_type != GTK_TYPE_IDENTIFIER) - arg->arg_type = G_TYPE_STRING; - else - arg->arg_type = GTK_TYPE_IDENTIFIER; - arg->d.string_data = g_strdup (tmp_arg->d.string_data); - if (!arg->d.string_data) - { - g_warning ("gtk_binding_entry_add_signall(): value of `string' arg[%u] is `NULL'", n); - binding_signal_free (signal); - return; - } - break; - default: - g_warning ("gtk_binding_entry_add_signall(): unsupported type `%s' for arg[%u]", - g_type_name (arg->arg_type), n); - binding_signal_free (signal); - return; - } + arg->arg_type = G_TYPE_STRING; + else + arg->arg_type = GTK_TYPE_IDENTIFIER; + arg->d.string_data = g_strdup (tmp_arg->d.string_data); + if (!arg->d.string_data) + { + g_warning ("gtk_binding_entry_add_signall(): value of `string' arg[%u] is `NULL'", n); + binding_signal_free (signal); + return; + } + break; + default: + g_warning ("gtk_binding_entry_add_signall(): unsupported type `%s' for arg[%u]", + g_type_name (arg->arg_type), n); + binding_signal_free (signal); + return; + } arg++; n++; } @@ -879,11 +896,11 @@ _gtk_binding_entry_add_signall (GtkBindingSet *binding_set, */ void gtk_binding_entry_add_signal (GtkBindingSet *binding_set, - guint keyval, - GdkModifierType modifiers, - const gchar *signal_name, - guint n_args, - ...) + guint keyval, + GdkModifierType modifiers, + const gchar *signal_name, + guint n_args, + ...) { GSList *slist, *free_slist; va_list args; @@ -903,45 +920,45 @@ gtk_binding_entry_add_signal (GtkBindingSet *binding_set, arg->arg_type = va_arg (args, GType); switch (G_TYPE_FUNDAMENTAL (arg->arg_type)) - { - case G_TYPE_CHAR: - case G_TYPE_UCHAR: - case G_TYPE_INT: - case G_TYPE_UINT: - case G_TYPE_BOOLEAN: - case G_TYPE_ENUM: - case G_TYPE_FLAGS: - arg->arg_type = G_TYPE_LONG; - arg->d.long_data = va_arg (args, gint); - break; - case G_TYPE_LONG: - case G_TYPE_ULONG: - arg->arg_type = G_TYPE_LONG; - arg->d.long_data = va_arg (args, glong); - break; - case G_TYPE_FLOAT: - case G_TYPE_DOUBLE: - arg->arg_type = G_TYPE_DOUBLE; - arg->d.double_data = va_arg (args, gdouble); - break; - case G_TYPE_STRING: - if (arg->arg_type != GTK_TYPE_IDENTIFIER) - arg->arg_type = G_TYPE_STRING; - arg->d.string_data = va_arg (args, gchar*); - if (!arg->d.string_data) - { - g_warning ("gtk_binding_entry_add_signal(): type `%s' arg[%u] is `NULL'", - g_type_name (arg->arg_type), - i); - i += n_args + 1; - } - break; - default: - g_warning ("gtk_binding_entry_add_signal(): unsupported type `%s' for arg[%u]", - g_type_name (arg->arg_type), i); - i += n_args + 1; - break; - } + { + case G_TYPE_CHAR: + case G_TYPE_UCHAR: + case G_TYPE_INT: + case G_TYPE_UINT: + case G_TYPE_BOOLEAN: + case G_TYPE_ENUM: + case G_TYPE_FLAGS: + arg->arg_type = G_TYPE_LONG; + arg->d.long_data = va_arg (args, gint); + break; + case G_TYPE_LONG: + case G_TYPE_ULONG: + arg->arg_type = G_TYPE_LONG; + arg->d.long_data = va_arg (args, glong); + break; + case G_TYPE_FLOAT: + case G_TYPE_DOUBLE: + arg->arg_type = G_TYPE_DOUBLE; + arg->d.double_data = va_arg (args, gdouble); + break; + case G_TYPE_STRING: + if (arg->arg_type != GTK_TYPE_IDENTIFIER) + arg->arg_type = G_TYPE_STRING; + arg->d.string_data = va_arg (args, gchar*); + if (!arg->d.string_data) + { + g_warning ("gtk_binding_entry_add_signal(): type `%s' arg[%u] is `NULL'", + g_type_name (arg->arg_type), + i); + i += n_args + 1; + } + break; + default: + g_warning ("gtk_binding_entry_add_signal(): unsupported type `%s' for arg[%u]", + g_type_name (arg->arg_type), i); + i += n_args + 1; + break; + } } va_end (args); @@ -973,10 +990,10 @@ gtk_binding_entry_add_signal (GtkBindingSet *binding_set, * Deprecated: 3.0 */ void -gtk_binding_set_add_path (GtkBindingSet *binding_set, - GtkPathType path_type, - const gchar *path_pattern, - GtkPathPriorityType priority) +gtk_binding_set_add_path (GtkBindingSet *binding_set, + GtkPathType path_type, + const gchar *path_pattern, + GtkPathPriorityType priority) { PatternSpec *pspec; GSList **slist_p, *slist; @@ -1024,18 +1041,18 @@ gtk_binding_set_add_path (GtkBindingSet *binding_set, slist = slist->next; if (g_pattern_spec_equal (tmp_pspec->pspec, pspec->pspec)) - { - GtkPathPriorityType lprio = tmp_pspec->seq_id >> 28; + { + GtkPathPriorityType lprio = tmp_pspec->seq_id >> 28; - pattern_spec_free (pspec); - pspec = NULL; - if (lprio < priority) - { - tmp_pspec->seq_id &= 0x0fffffff; - tmp_pspec->seq_id |= priority << 28; - } - break; - } + pattern_spec_free (pspec); + pspec = NULL; + if (lprio < priority) + { + tmp_pspec->seq_id &= 0x0fffffff; + tmp_pspec->seq_id |= priority << 28; + } + break; + } } if (pspec) { @@ -1046,10 +1063,10 @@ gtk_binding_set_add_path (GtkBindingSet *binding_set, static gboolean binding_match_activate (GSList *pspec_list, - GObject *object, - guint path_length, - gchar *path, - gchar *path_reversed, + GObject *object, + guint path_length, + gchar *path, + gchar *path_reversed, gboolean *unbound) { GSList *slist; @@ -1067,7 +1084,7 @@ binding_match_activate (GSList *pspec_list, if (pspec->type != GTK_PATH_WIDGET_CLASS) { if (g_pattern_match (pspec->pspec, path_length, path, path_reversed)) - binding_set = pspec->user_data; + binding_set = pspec->user_data; } if (binding_set) @@ -1088,7 +1105,7 @@ binding_match_activate (GSList *pspec_list, static gint gtk_binding_pattern_compare (gconstpointer new_pattern, - gconstpointer existing_pattern) + gconstpointer existing_pattern) { register const PatternSpec *np = new_pattern; register const PatternSpec *ep = existing_pattern; @@ -1102,8 +1119,8 @@ gtk_binding_pattern_compare (gconstpointer new_pattern, static GSList* gtk_binding_entries_sort_patterns (GSList *entries, - GtkPathType path_id, - gboolean is_release) + GtkPathType path_id, + gboolean is_release) { GSList *patterns; GSList *tmp_list; @@ -1125,34 +1142,34 @@ gtk_binding_entries_sort_patterns (GSList *entries, GSList *slist = NULL; if (is_release != ((entry->modifiers & GDK_RELEASE_MASK) != 0)) - continue; + continue; binding_set = entry->binding_set; if (binding_set->current) - continue; + continue; binding_set->current = entry; switch (path_id) - { - case GTK_PATH_WIDGET: - slist = binding_set->widget_path_pspecs; - break; - case GTK_PATH_WIDGET_CLASS: - slist = binding_set->widget_class_pspecs; - break; - case GTK_PATH_CLASS: - slist = binding_set->class_branch_pspecs; - break; - } + { + case GTK_PATH_WIDGET: + slist = binding_set->widget_path_pspecs; + break; + case GTK_PATH_WIDGET_CLASS: + slist = binding_set->widget_class_pspecs; + break; + case GTK_PATH_CLASS: + slist = binding_set->class_branch_pspecs; + break; + } for (; slist; slist = slist->next) - { - PatternSpec *pspec; + { + PatternSpec *pspec; - pspec = slist->data; - patterns = g_slist_insert_sorted (patterns, pspec, gtk_binding_pattern_compare); - } + pspec = slist->data; + patterns = g_slist_insert_sorted (patterns, pspec, gtk_binding_pattern_compare); + } } return patterns; @@ -1160,8 +1177,8 @@ gtk_binding_entries_sort_patterns (GSList *entries, static gboolean gtk_bindings_activate_list (GObject *object, - GSList *entries, - gboolean is_release) + GSList *entries, + gboolean is_release) { gboolean handled = FALSE; @@ -1179,24 +1196,24 @@ gtk_bindings_activate_list (GObject *object, patterns = gtk_binding_entries_sort_patterns (entries, GTK_PATH_CLASS, is_release); class_type = G_TYPE_FROM_INSTANCE (object); while (class_type && !handled) - { - guint path_length; - gchar *path; - gchar *path_reversed; + { + guint path_length; + gchar *path; + gchar *path_reversed; - path = g_strdup (g_type_name (class_type)); - path_reversed = g_strdup (path); - g_strreverse (path_reversed); - path_length = strlen (path); - handled = binding_match_activate (patterns, object, path_length, path, path_reversed, &unbound); - g_free (path); - g_free (path_reversed); + path = g_strdup (g_type_name (class_type)); + path_reversed = g_strdup (path); + g_strreverse (path_reversed); + path_length = strlen (path); + handled = binding_match_activate (patterns, object, path_length, path, path_reversed, &unbound); + g_free (path); + g_free (path_reversed); if (unbound) break; - class_type = g_type_parent (class_type); - } + class_type = g_type_parent (class_type); + } g_slist_free (patterns); if (unbound) @@ -1219,8 +1236,8 @@ gtk_bindings_activate_list (GObject *object, */ gboolean gtk_bindings_activate (GObject *object, - guint keyval, - GdkModifierType modifiers) + guint keyval, + GdkModifierType modifiers) { GSList *entries = NULL; GdkDisplay *display; @@ -1274,13 +1291,13 @@ gtk_bindings_activate_event (GObject *object, key_hash = binding_key_hash_for_keymap (gdk_keymap_get_for_display (display)); entries = _gtk_key_hash_lookup (key_hash, - event->hardware_keycode, - event->state, - BINDING_MOD_MASK () & ~GDK_RELEASE_MASK, - event->group); + event->hardware_keycode, + event->state, + BINDING_MOD_MASK () & ~GDK_RELEASE_MASK, + event->group); handled = gtk_bindings_activate_list (object, entries, - event->type == GDK_KEY_RELEASE); + event->type == GDK_KEY_RELEASE); g_slist_free (entries); diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 40b93c1b04..374d7df935 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -55,6 +55,7 @@ #include "gtkiconfactory.h" #include "gtkactivatable.h" #include "gtksizerequest.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c index e1ad0f8b0d..cbd4b3573c 100644 --- a/gtk/gtkcellrendereraccel.c +++ b/gtk/gtkcellrendereraccel.c @@ -28,6 +28,7 @@ #include "gtkeventbox.h" #include "gtkmain.h" #include "gtksizerequest.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index 4fdcfe5b0d..c1ca3bc7d9 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -40,6 +40,7 @@ #include "gtktreeselection.h" #include "gtkvseparator.h" #include "gtkwindow.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index 0ae08277f7..d5135209cd 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -32,8 +32,12 @@ #include #include +#include +#include + #include "gtkbuildable.h" #include "gtkbuilderprivate.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkmain.h" #include "gtkmarshalers.h" @@ -42,8 +46,6 @@ #include "gtkwindow.h" #include "gtkintl.h" #include "gtktoolbar.h" -#include -#include /** diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 67c28d8cfb..0920037d2b 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -58,6 +58,7 @@ #include "gtkwindow.h" #include "gtktreeview.h" #include "gtktreeselection.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkentryprivate.h" #include "gtkcelllayout.h" diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index c68bb5b266..670ca89f0a 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -52,6 +52,7 @@ #include "gtkfilechooserbutton.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" /* **************** * diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c index 5a8843f712..04950f6fea 100644 --- a/gtk/gtkframe.c +++ b/gtk/gtkframe.c @@ -29,6 +29,7 @@ #include "gtkframe.h" #include "gtklabel.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" #include "gtkbuildable.h" diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c index c96f66579d..a57d81b992 100644 --- a/gtk/gtkhandlebox.c +++ b/gtk/gtkhandlebox.c @@ -26,12 +26,15 @@ */ #include "config.h" + #include + #include "gtkhandlebox.h" #include "gtkinvisible.h" #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkwindow.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c index 2c2f95e0fc..46744499c8 100644 --- a/gtk/gtkiconfactory.c +++ b/gtk/gtkiconfactory.c @@ -25,9 +25,11 @@ */ #include "config.h" + #include #include #include + #include "gtkiconfactory.h" #include "gtkiconcache.h" #include "gtkdebug.h" @@ -38,7 +40,7 @@ #include "gtkintl.h" #include "gtkbuildable.h" #include "gtkbuilderprivate.h" - +#include "gtktypebuiltins.h" static GSList *all_icon_factories = NULL; diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 69d0564ee2..73b8b25655 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -41,6 +41,7 @@ #include "gtkscrollable.h" #include "gtksizerequest.h" #include "gtktreednd.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" /** diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 340b71cb7a..2d8e130f95 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -25,6 +25,7 @@ */ #include "config.h" + #include #include @@ -36,6 +37,7 @@ #include "gtksizerequest.h" #include "gtkintl.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" /** * SECTION:gtkimage diff --git a/gtk/gtkinfobar.c b/gtk/gtkinfobar.c index 9905e9830d..e82095e01c 100644 --- a/gtk/gtkinfobar.c +++ b/gtk/gtkinfobar.c @@ -46,6 +46,7 @@ #include "gtkintl.h" #include "gtkprivate.h" #include "gtkstock.h" +#include "gtktypebuiltins.h" /** * SECTION:gtkinfobar diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 1d664632e2..1ae459627c 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -50,6 +50,7 @@ #include "gtkshow.h" #include "gtktooltip.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" /*rint() is only available in GCC and/or C99*/ #if (__STDC_VERSION__ < 199901L && !defined __GNUC__) diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 82a7392e54..6fe41c4df8 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -33,7 +33,6 @@ #include -#include #include #ifdef G_PLATFORM_WIN32 #include diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 200b7fd465..adb6646134 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -46,6 +46,7 @@ #include "gtksettings.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" #define NAVIGATION_REGION_OVERSHOOT 50 /* How much the navigation region * extends below the submenu diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 66669fa9e9..42f2f25819 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -37,9 +37,9 @@ #include "gtksettings.h" #include "gtksizerequest.h" #include "gtkwindow.h" - #include "gtkintl.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" #define BORDER_SPACING 0 #define DEFAULT_IPADDING 1 diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index ec60a85028..6cfc53e8df 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -25,6 +25,7 @@ */ #include "config.h" + #include #include "gtkaccellabel.h" @@ -40,6 +41,7 @@ #include "gtkbuildable.h" #include "gtkactivatable.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" enum { diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 1dfecc2a7b..92b58e75e8 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -40,6 +40,7 @@ #include "gtkwindow.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" #define MENU_SHELL_TIMEOUT 500 diff --git a/gtk/gtkmessagedialog.c b/gtk/gtkmessagedialog.c index 38d39a1da2..dfa3131496 100644 --- a/gtk/gtkmessagedialog.c +++ b/gtk/gtkmessagedialog.c @@ -26,6 +26,7 @@ */ #include "config.h" + #include #include "gtkmessagedialog.h" @@ -39,6 +40,7 @@ #include "gtkiconfactory.h" #include "gtkintl.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" /** * SECTION:gtkmessagedialog diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 6034851e7c..0d9d9fad46 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -42,6 +42,7 @@ #include "gtkprivate.h" #include "gtkdnd.h" #include "gtkbuildable.h" +#include "gtktypebuiltins.h" /** diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index e3cfc98bab..1a7e51e359 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -33,7 +33,7 @@ #include "gtkmarshalers.h" #include "gtkorientable.h" #include "gtkwindow.h" - +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtkprintoperation.c b/gtk/gtkprintoperation.c index a8101746d1..139041a329 100644 --- a/gtk/gtkprintoperation.c +++ b/gtk/gtkprintoperation.c @@ -21,16 +21,18 @@ #include "config.h" #include -#include +#include #include - #include + +#include + #include "gtkprintoperation-private.h" #include "gtkmarshalers.h" -#include #include "gtkintl.h" #include "gtkprivate.h" #include "gtkmessagedialog.h" +#include "gtktypebuiltins.h" #define SHOW_PROGRESS_TIME 1200 diff --git a/gtk/gtkprintsettings.c b/gtk/gtkprintsettings.c index 2235864869..7507bd71e9 100644 --- a/gtk/gtkprintsettings.c +++ b/gtk/gtkprintsettings.c @@ -19,12 +19,16 @@ */ #include "config.h" + #include #include + #include -#include + #include "gtkprintsettings.h" #include "gtkprintutils.h" +#include "gtktypebuiltins.h" +#include "gtkwidget.h" typedef struct _GtkPrintSettingsClass GtkPrintSettingsClass; diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 7cb734c276..2d61cdac31 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -20,14 +20,20 @@ */ #include "config.h" + #include #include #include #include #include -#include "gtkintl.h" -#include "gtkprivate.h" +#include "gtkprintunixdialog.h" + +#include "gtkcustompaperunixdialog.h" +#include "gtkprintbackend.h" +#include "gtkprinter-private.h" +#include "gtkprinteroptionwidget.h" +#include "gtkprintutils.h" #include "gtkspinbutton.h" #include "gtkcellrendererpixbuf.h" @@ -49,16 +55,11 @@ #include "gtklabel.h" #include "gtkeventbox.h" #include "gtkbuildable.h" - -#include "gtkcustompaperunixdialog.h" -#include "gtkprintbackend.h" -#include "gtkprinter-private.h" -#include "gtkprintunixdialog.h" -#include "gtkprinteroptionwidget.h" -#include "gtkprintutils.h" - #include "gtkmessagedialog.h" #include "gtkbutton.h" +#include "gtkintl.h" +#include "gtkprivate.h" +#include "gtktypebuiltins.h" #define EXAMPLE_PAGE_AREA_SIZE 110 #define RULER_DISTANCE 7.5 diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 7a7bebf2e4..3d3e8563ec 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -39,6 +39,7 @@ #include "gtkwindow.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" /** * SECTION:gtkrange diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index 689425f0fd..78d01ac362 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -53,7 +53,7 @@ #include "gtkstock.h" #include "gtkvbox.h" #include "gtkwindow.h" - +#include "gtktypebuiltins.h" #include "gtkintl.h" /** diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 81726cde66..828dd8a74a 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -34,6 +34,7 @@ #include "gtkscrolledwindow.h" #include "gtkwindow.h" #include "gtkprivate.h" +#include "gtktypebuiltins.h" #include "gtkintl.h" diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index c3f87d5296..5148f0e108 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -43,6 +43,7 @@ #include "gtksettings.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" #define MIN_SPIN_BUTTON_WIDTH 30 #define MAX_TIMER_CALLS 5 diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c index e38b448e25..334c9a4873 100644 --- a/gtk/gtkstatusbar.c +++ b/gtk/gtkstatusbar.c @@ -26,6 +26,7 @@ */ #include "config.h" + #include "gtkframe.h" #include "gtklabel.h" #include "gtkmarshalers.h" @@ -34,6 +35,7 @@ #include "gtkprivate.h" #include "gtkintl.h" #include "gtkbuildable.h" +#include "gtktypebuiltins.h" /** * SECTION:gtkstatusbar diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index 27f85d9257..6e0751edb5 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -42,27 +42,19 @@ #include "gtkprivate.h" #include "gtkwidget.h" #include "gtktooltip.h" +#include "gtkicontheme.h" +#include "gtklabel.h" +#include "gtktypebuiltins.h" #ifdef GDK_WINDOWING_X11 #include "gdk/x11/gdkx.h" #endif + #ifdef GDK_WINDOWING_WIN32 #include "gdk/win32/gdkwin32.h" -#endif - -#ifdef GDK_WINDOWING_WIN32 -#include "gtkicontheme.h" -#include "gtklabel.h" - -#include "win32/gdkwin32.h" #define WM_GTK_TRAY_NOTIFICATION (WM_USER+1) #endif -#ifdef GDK_WINDOWING_QUARTZ -#include "gtkicontheme.h" -#include "gtklabel.h" -#endif - #define BLINK_TIMEOUT 500 enum diff --git a/gtk/gtkstock.h b/gtk/gtkstock.h index 57e4b8f227..b32d4b162f 100644 --- a/gtk/gtkstock.h +++ b/gtk/gtkstock.h @@ -33,10 +33,23 @@ #include -#include /* for GtkTranslateFunc */ G_BEGIN_DECLS +/* + * GtkTranslateFunc: + * @path: The id of the message. In #GtkActionGroup this will be a label + * or tooltip from a #GtkActionEntry. + * @func_data: user data passed in when registering the function + * + * The function used to translate messages in e.g. #GtkIconFactory + * and #GtkActionGroup. + * + * Returns: the translated message + */ +typedef gchar * (*GtkTranslateFunc) (const gchar *path, + gpointer func_data); + typedef struct _GtkStockItem GtkStockItem; struct _GtkStockItem diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index cb62ebfa5c..b54cad7472 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -48,6 +48,10 @@ */ #include "config.h" + +#include +#include + #include "gtkmain.h" #include "gtktexttag.h" #include "gtktexttypes.h" @@ -55,9 +59,7 @@ #include "gtkintl.h" #include "gtkmarshalers.h" #include "gtkprivate.h" - -#include -#include +#include "gtktypebuiltins.h" enum { EVENT, diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 1b07b59108..b57db0f1e7 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -50,6 +50,7 @@ #include "gtkwidgetprivate.h" #include "gtkwindow.h" #include "gtkscrollable.h" +#include "gtktypebuiltins.h" /** diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index c2161a7b04..23ebab621c 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -55,6 +55,7 @@ #include "gtkvbox.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" /** diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index abcc64014b..20cc10b797 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -22,11 +22,11 @@ #include "config.h" -#include "gtktoolpaletteprivate.h" - -#include #include #include + +#include "gtktoolpaletteprivate.h" +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkintl.h" diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 5429039990..195a43adfb 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -26,7 +26,7 @@ #include "gtktoolpaletteprivate.h" #include "gtkmarshalers.h" - +#include "gtktypebuiltins.h" #include "gtkprivate.h" #include "gtkscrollable.h" #include "gtkintl.h" diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c index 2bdd421f94..a8f6a11913 100644 --- a/gtk/gtktrayicon-x11.c +++ b/gtk/gtktrayicon-x11.c @@ -23,18 +23,20 @@ */ #include "config.h" + #include #include +#include "x11/gdkx.h" +#include +#include + #include "gtkintl.h" #include "gtkprivate.h" #include "gtktrayicon.h" #include "gtktestutils.h" #include "gtkdebug.h" - -#include "x11/gdkx.h" -#include -#include +#include "gtktypebuiltins.h" #define SYSTEM_TRAY_REQUEST_DOCK 0 #define SYSTEM_TRAY_BEGIN_MESSAGE 1 diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index d8613066c3..0032ae51e6 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -49,6 +49,7 @@ #include "gtkprivate.h" #include "gtkwidgetprivate.h" #include "gtkentryprivate.h" +#include "gtktypebuiltins.h" /** diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 43f592183f..00a2ea7499 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -36,6 +36,7 @@ #include "gtkcellareabox.h" #include "gtkprivate.h" #include "gtkintl.h" +#include "gtktypebuiltins.h" /** diff --git a/gtk/gtktypeutils.c b/gtk/gtktypeutils.c deleted file mode 100644 index d1e74d91af..0000000000 --- a/gtk/gtktypeutils.c +++ /dev/null @@ -1,47 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" -#include /* strcmp */ - -#include "gtktypeutils.h" -#include "gtkintl.h" - - - -GType -gtk_identifier_get_type (void) -{ - static GType our_type = 0; - - if (our_type == 0) - { - GTypeInfo tinfo = { 0, }; - our_type = g_type_register_static (G_TYPE_STRING, I_("GtkIdentifier"), &tinfo, 0); - } - - return our_type; -} diff --git a/gtk/gtktypeutils.h b/gtk/gtktypeutils.h deleted file mode 100644 index 91ef2178c9..0000000000 --- a/gtk/gtktypeutils.h +++ /dev/null @@ -1,50 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __GTK_TYPE_UTILS_H__ -#define __GTK_TYPE_UTILS_H__ - -/* enum types generated by glib-mkenums - */ -#include - -G_BEGIN_DECLS - -/* urg */ -#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ()) -GType gtk_identifier_get_type (void) G_GNUC_CONST; - -typedef gchar * (*GtkTranslateFunc) (const gchar *path, - gpointer func_data); - - -G_END_DECLS - -#endif /* __GTK_TYPE_UTILS_H__ */ diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 4836a35686..66811ffb6a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -63,6 +63,7 @@ #include "gtkmodifierstyle.h" #include "gtkversion.h" #include "gtkdebug.h" +#include "gtktypebuiltins.h" /** diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index f514206931..19501f2a9d 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -26,7 +26,7 @@ #include "config.h" -#include "gtkintl.h" +#include "gtkwindow.h" #include #include @@ -35,7 +35,6 @@ #include "gtkprivate.h" #include "gtkrc.h" -#include "gtkwindow.h" #include "gtkwindowprivate.h" #include "gtkaccelgroupprivate.h" #include "gtkbindings.h" @@ -49,6 +48,8 @@ #include "gtkplug.h" #include "gtkbuildable.h" #include "gtkwidgetprivate.h" +#include "gtkintl.h" +#include "gtktypebuiltins.h" #ifdef GDK_WINDOWING_X11 #include "x11/gdkx.h" diff --git a/po-properties/POTFILES.in b/po-properties/POTFILES.in index da8ed2bd9b..5af45482a0 100644 --- a/po-properties/POTFILES.in +++ b/po-properties/POTFILES.in @@ -197,7 +197,6 @@ gtk/gtktreesortable.c gtk/gtktreestore.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c -gtk/gtktypeutils.c gtk/gtkuimanager.c gtk/gtkvbbox.c gtk/gtkvbox.c diff --git a/po/POTFILES.in b/po/POTFILES.in index 3bb4266da7..55dee16a08 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -198,7 +198,6 @@ gtk/gtktreesortable.c gtk/gtktreestore.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c -gtk/gtktypeutils.c gtk/gtkuimanager.c gtk/gtkvbbox.c gtk/gtkvbox.c From b123bc41fdce1e2cbf4ab6f998b3dd372aab515f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 17:32:12 -0500 Subject: [PATCH 1141/1463] Move docs for gtkmain inline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At the same time, introduce a gtkmainprivate.h header and various other cleanups. Based on a patch by Tadej Borovšak. https://bugzilla.gnome.org/show_bug.cgi?id=617471 --- docs/reference/gtk/tmpl/.gitignore | 2 + docs/reference/gtk/tmpl/gtkfeatures.sgml | 135 --- docs/reference/gtk/tmpl/gtkmain.sgml | 554 ----------- gtk/Makefile.am | 1 + gtk/gtkaboutdialog.c | 2 +- gtk/gtkaccelgroup.c | 6 +- gtk/gtkentrycompletion.c | 2 +- gtk/gtkimcontext.c | 2 +- gtk/gtkimmodule.c | 2 +- gtk/gtklabel.c | 2 +- gtk/gtklinkbutton.c | 8 +- gtk/gtkmain.c | 1101 ++++++++++++++-------- gtk/gtkmain.h | 119 +-- gtk/gtkmainprivate.h | 35 + gtk/gtkmenushell.c | 2 +- gtk/gtkmodules.c | 2 +- gtk/gtkmodules.h | 36 +- gtk/gtkprintoperation.c | 1 + gtk/gtkprivate.h | 22 +- gtk/gtkrange.c | 2 +- gtk/gtksocket.c | 2 +- gtk/gtkspinbutton.c | 2 +- gtk/gtktexttag.c | 2 +- gtk/gtktoolbar.c | 2 +- gtk/gtktoolitem.c | 2 +- gtk/gtktreeview.c | 2 +- gtk/gtkversion.h.in | 75 +- gtk/gtkwidget.c | 2 +- 28 files changed, 923 insertions(+), 1202 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkfeatures.sgml delete mode 100644 docs/reference/gtk/tmpl/gtkmain.sgml create mode 100644 gtk/gtkmainprivate.h diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 5d3b8bec36..8aa9f1f4c6 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -23,6 +23,7 @@ gtkentry.sgml gtkentrybuffer.sgml gtkeventbox.sgml gtkexpander.sgml +gtkfeatures.sgml gtkhbox.sgml gtkiconview.sgml gtkimcontextsimple.sgml @@ -30,6 +31,7 @@ gtkimmulticontext.sgml gtkitemfactory.sgml gtklayout.sgml gtklinkbutton.sgml +gtkmain.sgml gtkmessagedialog.sgml gtknotebook.sgml gtkobject.sgml diff --git a/docs/reference/gtk/tmpl/gtkfeatures.sgml b/docs/reference/gtk/tmpl/gtkfeatures.sgml deleted file mode 100644 index d52d82e78f..0000000000 --- a/docs/reference/gtk/tmpl/gtkfeatures.sgml +++ /dev/null @@ -1,135 +0,0 @@ - -Version Information - - -Variables and functions to check the GTK+ version - - - -GTK+ provides version information, primarily useful in configure checks -for builds that have a configure script. Applications will not -typically use the features described here. - - - - - - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - -@required_major: -@required_minor: -@required_micro: -@Returns: - - - - -Like #gtk_major_version, but from the headers used at -application compile time, rather than from the library linked against -at application run time. - - - - - - -Like #gtk_minor_version, but from the headers used at -application compile time, rather than from the library linked against -at application run time. - - - - - - -Like #gtk_micro_version, but from the headers used at -application compile time, rather than from the library linked against -at application run time. - - - - - - -Like #gtk_binary_age, but from the headers used at -application compile time, rather than from the library linked against -at application run time. - - - - - - -Like #gtk_interface_age, but from the headers used at -application compile time, rather than from the library linked against -at application run time. - - - - - - -Returns %TRUE if the version of the GTK+ header files is the same -as or newer than the passed-in version. - - -@major: major version (e.g. 1 for version 1.2.5) -@minor: minor version (e.g. 2 for version 1.2.5) -@micro: micro version (e.g. 5 for version 1.2.5) - - diff --git a/docs/reference/gtk/tmpl/gtkmain.sgml b/docs/reference/gtk/tmpl/gtkmain.sgml deleted file mode 100644 index 1d02af988a..0000000000 --- a/docs/reference/gtk/tmpl/gtkmain.sgml +++ /dev/null @@ -1,554 +0,0 @@ - -Main loop and Events - - -Library initialization, main event loop, and events - - - - -Before using GTK+, you need to initialize it; initialization connects -to the window system display, and parses some standard command line -arguments. The gtk_init() function initializes GTK+. gtk_init() exits -the application if errors occur; to avoid this, use gtk_init_check(). -gtk_init_check() allows you to recover from a failed GTK+ -initialization - you might start up your application in text mode instead. - - - -Like all GUI toolkits, GTK+ uses an event-driven programming -model. When the user is doing nothing, GTK+ sits in the -main loop and waits for input. If the user -performs some action - say, a mouse click - then the main loop "wakes -up" and delivers an event to GTK+. GTK+ forwards the event to one or -more widgets. - - - -When widgets receive an event, they frequently emit one or more -signals. Signals notify your program that -"something interesting happened" by invoking functions you've -connected to the signal with g_signal_connect(). Functions connected -to a signal are often termed callbacks. - - - -When your callbacks are invoked, you would typically take some action -- for example, when an Open button is clicked you might display a -#GtkFileSelectionDialog. After a callback finishes, GTK+ will return -to the main loop and await more user input. - - - -Typical <function>main</function> function for a GTK+ application - -int -main (int argc, char **argv) -{ - /* Initialize i18n support */ - gtk_set_locale (); - - /* Initialize the widget set */ - gtk_init (&argc, &argv); - - /* Create the main window */ - mainwin = gtk_window_new (GTK_WINDOW_TOPLEVEL); - - /* Set up our GUI elements */ - ... - - /* Show the application window */ - gtk_widget_show_all (mainwin); - - /* Enter the main event loop, and wait for user interaction */ - gtk_main (); - - /* The user lost interest */ - return 0; -} - - - - -It's OK to use the GLib main loop directly instead of gtk_main(), -though it involves slightly more typing. See #GMainLoop in the GLib -documentation. - - - - -See the GLib manual, especially #GMainLoop and signal-related -functions such as g_signal_connect(). - - - - - - - - - - - - - -@void: -@Returns: - - - - - - - -@void: - - - - - - - -@void: -@Returns: - - - - - - - -@argc: -@argv: -@Returns: - - - - - - - - - - - -@argc: -@argv: - - - - - - -@argc: -@argv: -@Returns: - - - - - - - -@argc: -@argv: -@parameter_string: -@entries: -@translation_domain: -@error: -@Returns: - - - - - - - -@open_default_display: -@Returns: - - - - -Checks if any events are pending. This can be used to update the GUI -and invoke timeouts etc. while doing some time intensive computation. - - - -Updating the GUI during a long computation. - - /* computation going on */ -... - while (gtk_events_pending ()) - gtk_main_iteration (); -... - /* computation continued */ - - - -@void: -@Returns: %TRUE if any events are pending, %FALSE otherwise. - - - - -Runs the main loop until gtk_main_quit() is called. You can nest calls to -gtk_main(). In that case gtk_main_quit() will make the innermost invocation -of the main loop return. - - -@void: - - - - -Asks for the current nesting level of the main loop. - - -@void: -@Returns: the nesting level of the current invocation of the main loop. - - - - -Makes the innermost invocation of the main loop return when it regains -control. - - -@void: - - - - -Runs a single iteration of the mainloop. If no events are waiting to be -processed GTK+ will block until the next event is noticed. If you don't -want to block look at gtk_main_iteration_do() or check if any events are -pending with gtk_events_pending() first. - - -@void: -@Returns: %TRUE if gtk_main_quit() has been called for the innermost mainloop. - - - - -Runs a single iteration of the mainloop. If no events are available either -return or block dependent on the value of @blocking. - - -@blocking: %TRUE if you want GTK+ to block if no events are pending. -@Returns: %TRUE if gtk_main_quit() has been called for the innermost mainloop. - - - - -Processes a single GDK event. This is public only to allow filtering of events -between GDK and GTK+. You will not usually need to call this function directly. - - -While you should not call this function directly, you might want to know -how exactly events are handled. So here is what this function does with -the event: - - - - - Compress enter/leave notify events. If the event passed build an - enter/leave pair together with the next event (peeked from GDK) - both events are thrown away. This is to avoid a backlog of (de-)highlighting - widgets crossed by the pointer. - - - Find the widget which got the event. If the widget can't be determined - the event is thrown away unless it belongs to a INCR transaction. In that - case it is passed to gtk_selection_incr_event(). - - - Then the event is passed on a stack so you can query the currently handled - event with gtk_get_current_event(). - - - The event is sent to a widget. If a grab is active all events for - widgets that are not in the contained in the grab widget are sent to the - latter with a few exceptions: - - - - Deletion and destruction events are still sent to the event widget for - obvious reasons. - - - Events which directly relate to the visual representation of the event - widget. - - - Leave events are delivered to the event widget if there was an enter - event delivered to it before without the paired leave event. - - - Drag events are not redirected because it is unclear what the semantics - of that would be. - - - - Another point of interest might be that all key events are first passed - through the key snooper functions if there are any. Read the description - of gtk_key_snooper_install() if you need this feature. - - - After finishing the delivery the event is popped from the event stack. - - - -@event: An event to process (normally) passed by GDK. - - - - -Each GTK+ module must have a function gtk_module_init() with this prototype. -This function is called after loading the module with the @argc and @argv -cleaned from any arguments that GTK+ handles itself. - - -@argc: Pointer to the number of arguments remaining after gtk_init(). -@argv: Points to the argument vector. - - - - - - - -@display: -@Since: 2.2 - - - - -All this function does it to return %TRUE. This can be useful for example -if you want to inhibit the deletion of a window. Of course you should -not do this as the user expects a reaction from clicking the close -icon of the window... - - - -A persistent window - -##include <gtk/gtk.h> - -int -main (int argc, char **argv) -{ - GtkWidget *win, *but; - - gtk_init( &argc, &argv ); - - win = gtk_window_new (GTK_WINDOW_TOPLEVEL); - g_signal_connect (win, "delete-event", - G_CALLBACK (gtk_true), NULL); - g_signal_connect (win, "destroy", - G_CALLBACK (gtk_main_quit), NULL); - - but = gtk_button_new_with_label ("Close yourself. I mean it!"); - g_signal_connect_swapped (but, "clicked", - G_CALLBACK (gtk_object_destroy), win); - gtk_container_add (GTK_CONTAINER (win), but); - - gtk_widget_show_all (win); - gtk_main (); - return 0; -} - - - -@void: -@Returns: %TRUE - - - - -Analogical to gtk_true() this function does nothing -but always returns %FALSE. - - -@void: -@Returns: %FALSE - - - - -Makes @widget the current grabbed widget. This means that interaction with -other widgets in the same application is blocked and mouse as well as -keyboard events are delivered to this widget. - - -If @widget is not sensitive, it is not set as the current grabbed -widget and this function does nothing. - - -@widget: The widget that grabs keyboard and pointer events. - - - - - - - -@void: -@Returns: - - - - -Removes the grab from the given widget. You have to pair calls to gtk_grab_add() -and gtk_grab_remove(). - - -If @widget does not have the grab, this function does nothing. - - -@widget: The widget which gives up the grab. - - - - - - - -@widget: -@device: -@block_others: - - - - - - - -@widget: -@device: - - - - - - - -@data: -@Returns: - - - - - - - -@object: -@data: -@n_args: -@args: - - - - - - - -@type: -@name: - - - - -Use this priority for resizing related stuff. It is used internally by -GTK+ to compute the sizes of widgets. This priority is higher than -%GDK_PRIORITY_REDRAW to avoid resizing a widget which was just redrawn. - - - - - - -Installs a key snooper function, which will get called on all key events -before delivering them normally. - - -@snooper: a #GtkKeySnoopFunc. -@func_data: data to pass to @snooper. -@Returns: a unique id for this key snooper for use with gtk_key_snooper_remove(). - - - - -Key snooper functions are called before normal event delivery. -They can be used to implement custom key event handling. - - -@grab_widget: the widget to which the event will be delivered. -@event: the key event. -@func_data: the @func_data supplied to gtk_key_snooper_install(). -@Returns: %TRUE to stop further processing of @event, %FALSE to continue. - - - - -Removes the key snooper function with the given id. - - -@snooper_handler_id: Identifies the key snooper to remove. - - - - - - - -@void: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@state: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@event: -@Returns: - - - - - - - -@widget: -@event: - - diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 79aeb455c2..6c541509df 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -394,6 +394,7 @@ gtk_private_h_sources = \ gtkimcontextsimpleseqs.h \ gtkintl.h \ gtkkeyhash.h \ + gtkmainprivate.h \ gtkmenuprivate.h \ gtkmenuitemprivate.h \ gtkmenushellprivate.h \ diff --git a/gtk/gtkaboutdialog.c b/gtk/gtkaboutdialog.c index d63054f13e..414355e971 100644 --- a/gtk/gtkaboutdialog.c +++ b/gtk/gtkaboutdialog.c @@ -51,7 +51,7 @@ #include "gtkvbox.h" #include "gtkiconfactory.h" #include "gtkshow.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmessagedialog.h" #include "gtktogglebutton.h" #include "gtktypebuiltins.h" diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index 945724d301..aed1dd3a30 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -30,10 +30,10 @@ #include "gtkaccelgroup.h" #include "gtkaccelgroupprivate.h" -#include "gtkaccellabel.h" /* For _gtk_accel_label_class_get_accelerator_label */ +#include "gtkaccellabel.h" #include "gtkaccelmap.h" #include "gtkintl.h" -#include "gtkmain.h" /* For _gtk_boolean_handled_accumulator */ +#include "gtkmainprivate.h" #include "gtkmarshalers.h" @@ -43,7 +43,7 @@ * @Title: Accelerator Groups * @See_also:gtk_window_add_accel_group(), gtk_accel_map_change_entry(), * gtk_item_factory_new(), gtk_label_new_with_mnemonic() - * + * * A #GtkAccelGroup represents a group of keyboard accelerators, * typically attached to a toplevel #GtkWindow (with * gtk_window_add_accel_group()). Usually you won't need to create a diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 1226723dba..9b70b68cdf 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -35,7 +35,7 @@ #include "gtkvbox.h" #include "gtkwindow.h" #include "gtkentry.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkprivate.h" diff --git a/gtk/gtkimcontext.c b/gtk/gtkimcontext.c index d4f5cea09d..245c59b35a 100644 --- a/gtk/gtkimcontext.c +++ b/gtk/gtkimcontext.c @@ -20,7 +20,7 @@ #include "config.h" #include #include "gtkimcontext.h" -#include "gtkmain.h" /* For _gtk_boolean_handled_accumulator */ +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkintl.h" diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c index 868cfe17c2..f9fce34cac 100644 --- a/gtk/gtkimmodule.c +++ b/gtk/gtkimmodule.c @@ -35,7 +35,7 @@ #include "gtkimmodule.h" #include "gtkimcontextsimple.h" #include "gtksettings.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkrc.h" #include "gtkintl.h" diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index 1ae459627c..7fff5474bd 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -31,7 +31,7 @@ #include "gtklabel.h" #include "gtkaccellabel.h" #include "gtkdnd.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkpango.h" #include "gtkwindow.h" diff --git a/gtk/gtklinkbutton.c b/gtk/gtklinkbutton.c index 710d9337ec..fde6d273e9 100644 --- a/gtk/gtklinkbutton.c +++ b/gtk/gtklinkbutton.c @@ -1,12 +1,12 @@ /* GTK - The GIMP Toolkit * gtklinkbutton.c - an hyperlink-enabled button - * + * * Copyright (C) 2006 Emmanuele Bassi * All rights reserved. * * Based on gnome-href code by: - * James Henstridge - * + * James Henstridge + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either @@ -55,7 +55,7 @@ #include "gtkdnd.h" #include "gtkimagemenuitem.h" #include "gtklabel.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkmenu.h" #include "gtkmenuitem.h" diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index f16c8fa093..38d2156a6b 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -24,9 +24,74 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkmain + * @Short_description: Library initialization, main event loop, and events + * @Title: Main loop and Events + * @See_also:See the GLib manual, especially #GMainLoop and signal-related + * functions such as g_signal_connect() + * + * Before using GTK+, you need to initialize it; initialization connects to the + * window system display, and parses some standard command line arguments. The + * gtk_init() macro initializes GTK+. gtk_init() exits the application if errors + * occur; to avoid this, use gtk_init_check(). gtk_init_check() allows you to + * recover from a failed GTK+ initialization - you might start up your + * application in text mode instead. + * + * Like all GUI toolkits, GTK+ uses an event-driven programming model. When the + * user is doing nothing, GTK+ sits in the main loop and + * waits for input. If the user performs some action - say, a mouse click - then + * the main loop "wakes up" and delivers an event to GTK+. GTK+ forwards the + * event to one or more widgets. + * + * When widgets receive an event, they frequently emit one or more + * signals. Signals notify your program that "something + * interesting happened" by invoking functions you've connected to the signal + * with g_signal_connect(). Functions connected to a signal are often termed + * callbacks. + * + * When your callbacks are invoked, you would typically take some action - for + * example, when an Open button is clicked you might display a + * #GtkFileSelectionDialog. After a callback finishes, GTK+ will return to the + * main loop and await more user input. + * + * + * Typical <function>main()</function> function for a GTK+ application + * + * + * + * It's OK to use the GLib main loop directly instead of gtk_main(), though it + * involves slightly more typing. See #GMainLoop in the GLib documentation. + */ + #include "config.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include #include "gdk/gdk.h" @@ -71,8 +136,8 @@ static HMODULE gtk_dll; BOOL WINAPI DllMain (HINSTANCE hinstDLL, - DWORD fdwReason, - LPVOID lpvReserved) + DWORD fdwReason, + LPVOID lpvReserved) { switch (fdwReason) { @@ -97,9 +162,9 @@ _gtk_get_libdir (void) gchar *root = g_win32_get_package_installation_directory_of_module (gtk_dll); gchar *slash = strrchr (root, '\\'); if (g_ascii_strcasecmp (slash + 1, ".libs") == 0) - gtk_libdir = GTK_LIBDIR; + gtk_libdir = GTK_LIBDIR; else - gtk_libdir = g_build_filename (root, "lib", NULL); + gtk_libdir = g_build_filename (root, "lib", NULL); g_free (root); } @@ -120,9 +185,9 @@ _gtk_get_localedir (void) */ p = GTK_LOCALEDIR + strlen (GTK_LOCALEDIR); while (*--p != '/') - ; + ; while (*--p != '/') - ; + ; root = g_win32_get_package_installation_directory_of_module (gtk_dll); temp = g_build_filename (root, p, NULL); @@ -143,7 +208,7 @@ _gtk_get_localedir (void) /* Private type definitions */ -typedef struct _GtkKeySnooperData GtkKeySnooperData; +typedef struct _GtkKeySnooperData GtkKeySnooperData; struct _GtkKeySnooperData { @@ -152,8 +217,8 @@ struct _GtkKeySnooperData guint id; }; -static gint gtk_invoke_key_snoopers (GtkWidget *grab_widget, - GdkEvent *event); +static gint gtk_invoke_key_snoopers (GtkWidget *grab_widget, + GdkEvent *event); static GtkWindowGroup *gtk_main_get_window_group (GtkWidget *widget); @@ -166,7 +231,7 @@ static GSList *main_loops = NULL; /* stack of currently executing main loop static GSList *key_snoopers = NULL; -static guint debug_flags = 0; /* Global GTK debug flag */ +static guint debug_flags = 0; /* Global GTK debug flag */ #ifdef G_ENABLE_DEBUG static const GDebugKey gtk_debug_keys[] = { @@ -189,8 +254,8 @@ static const GDebugKey gtk_debug_keys[] = { /** * gtk_get_major_version: * - * Returns the major version number of the GTK+ library. (e.g. in GTK+ version - * 3.1.5 this is 3.) + * Returns the major version number of the GTK+ library. + * (e.g. in GTK+ version 3.1.5 this is 3.) * * This function is in the library, so it represents the GTK+ library * your code is running against. Contrast with the #GTK_MAJOR_VERSION @@ -210,8 +275,8 @@ gtk_get_major_version (void) /** * gtk_get_minor_version: * - * Returns the minor version number of the GTK+ library. (e.g. in GTK+ version - * 3.1.5 this is 1.) + * Returns the minor version number of the GTK+ library. + * (e.g. in GTK+ version 3.1.5 this is 1.) * * This function is in the library, so it represents the GTK+ library * your code is are running against. Contrast with the @@ -231,8 +296,8 @@ gtk_get_minor_version (void) /** * gtk_get_micro_version: * - * Returns the micro version number of the GTK+ library. (e.g. in GTK+ version - * 3.1.5 this is 5.) + * Returns the micro version number of the GTK+ library. + * (e.g. in GTK+ version 3.1.5 this is 5.) * * This function is in the library, so it represents the GTK+ library * your code is are running against. Contrast with the @@ -252,10 +317,9 @@ gtk_get_micro_version (void) /** * gtk_get_binary_age: * - * Returns the binary age as passed to - * libtool when building the GTK+ library - * the process is running against. If - * libtool means nothing to you, don't + * Returns the binary age as passed to libtool + * when building the GTK+ library the process is running against. + * If libtool means nothing to you, don't * worry about it. * * Returns: the binary age of the GTK+ library. @@ -271,10 +335,9 @@ gtk_get_binary_age (void) /** * gtk_get_interface_age: * - * Returns the interface age as passed to - * libtool when building the GTK+ library - * the process is running against. If - * libtool means nothing to you, don't + * Returns the interface age as passed to libtool + * when building the GTK+ library the process is running against. + * If libtool means nothing to you, don't * worry about it. * * Returns: the interface age of the GTK+ library. @@ -289,10 +352,10 @@ gtk_get_interface_age (void) /** * gtk_check_version: - * @required_major: the required major version. - * @required_minor: the required minor version. - * @required_micro: the required micro version. - * + * @required_major: the required major version + * @required_minor: the required minor version + * @required_micro: the required micro version + * * Checks that the GTK+ library in use is compatible with the * given version. Generally you would pass in the constants * #GTK_MAJOR_VERSION, #GTK_MINOR_VERSION, #GTK_MICRO_VERSION @@ -320,11 +383,11 @@ gtk_get_interface_age (void) * given version, or a string describing the version mismatch. * The returned string is owned by GTK+ and should not be modified * or freed. - **/ + */ const gchar* gtk_check_version (guint required_major, - guint required_minor, - guint required_micro) + guint required_minor, + guint required_micro) { gint gtk_effective_micro = 100 * GTK_MINOR_VERSION + GTK_MICRO_VERSION; gint required_effective_micro = 100 * required_minor + required_micro; @@ -375,10 +438,10 @@ check_setugid (void) rgid != egid || rgid != sgid) { g_warning ("This process is currently running setuid or setgid.\n" - "This is not a supported use of GTK+. You must create a helper\n" - "program instead. For further details, see:\n\n" - " http://www.gtk.org/setuid.html\n\n" - "Refusing to initialize GTK+."); + "This is not a supported use of GTK+. You must create a helper\n" + "program instead. For further details, see:\n\n" + " http://www.gtk.org/setuid.html\n\n" + "Refusing to initialize GTK+."); exit (1); } #endif @@ -462,8 +525,8 @@ static gboolean gtk_arg_debug_cb (const char *key, const char *value, gpointer user_data) { debug_flags |= g_parse_debug_string (value, - gtk_debug_keys, - G_N_ELEMENTS (gtk_debug_keys)); + gtk_debug_keys, + G_N_ELEMENTS (gtk_debug_keys)); return TRUE; } @@ -472,8 +535,8 @@ static gboolean gtk_arg_no_debug_cb (const char *key, const char *value, gpointer user_data) { debug_flags &= ~g_parse_debug_string (value, - gtk_debug_keys, - G_N_ELEMENTS (gtk_debug_keys)); + gtk_debug_keys, + G_N_ELEMENTS (gtk_debug_keys)); return TRUE; } @@ -485,9 +548,9 @@ gtk_arg_module_cb (const char *key, const char *value, gpointer user_data) if (value && *value) { if (gtk_modules_string) - g_string_append_c (gtk_modules_string, G_SEARCHPATH_SEPARATOR); + g_string_append_c (gtk_modules_string, G_SEARCHPATH_SEPARATOR); else - gtk_modules_string = g_string_new (NULL); + gtk_modules_string = g_string_new (NULL); g_string_append (gtk_modules_string, value); } @@ -534,66 +597,66 @@ enum_locale_proc (LPTSTR locale) GetLocaleInfo (lcid, LOCALE_SISO3166CTRYNAME, iso3166, sizeof (iso3166))) { if (strcmp (iso639, iso639_to_check) == 0 && - ((iso3166_to_check != NULL && - strcmp (iso3166, iso3166_to_check) == 0) || - (iso3166_to_check == NULL && - SUBLANGID (LANGIDFROMLCID (lcid)) == SUBLANG_DEFAULT))) - { - char language[100], country[100]; - char locale[300]; + ((iso3166_to_check != NULL && + strcmp (iso3166, iso3166_to_check) == 0) || + (iso3166_to_check == NULL && + SUBLANGID (LANGIDFROMLCID (lcid)) == SUBLANG_DEFAULT))) + { + char language[100], country[100]; + char locale[300]; - if (script_to_check != NULL) - { - /* If lcid is the "other" script for this language, - * return TRUE, i.e. continue looking. - */ - if (strcmp (script_to_check, "Latn") == 0) - { - switch (LANGIDFROMLCID (lcid)) - { - case MAKELANGID (LANG_AZERI, SUBLANG_AZERI_CYRILLIC): - return TRUE; - case MAKELANGID (LANG_UZBEK, SUBLANG_UZBEK_CYRILLIC): - return TRUE; - case MAKELANGID (LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC): - return TRUE; - case MAKELANGID (LANG_SERBIAN, 0x07): - /* Serbian in Bosnia and Herzegovina, Cyrillic */ - return TRUE; - } - } - else if (strcmp (script_to_check, "Cyrl") == 0) - { - switch (LANGIDFROMLCID (lcid)) - { - case MAKELANGID (LANG_AZERI, SUBLANG_AZERI_LATIN): - return TRUE; - case MAKELANGID (LANG_UZBEK, SUBLANG_UZBEK_LATIN): - return TRUE; - case MAKELANGID (LANG_SERBIAN, SUBLANG_SERBIAN_LATIN): - return TRUE; - case MAKELANGID (LANG_SERBIAN, 0x06): - /* Serbian in Bosnia and Herzegovina, Latin */ - return TRUE; - } - } - } + if (script_to_check != NULL) + { + /* If lcid is the "other" script for this language, + * return TRUE, i.e. continue looking. + */ + if (strcmp (script_to_check, "Latn") == 0) + { + switch (LANGIDFROMLCID (lcid)) + { + case MAKELANGID (LANG_AZERI, SUBLANG_AZERI_CYRILLIC): + return TRUE; + case MAKELANGID (LANG_UZBEK, SUBLANG_UZBEK_CYRILLIC): + return TRUE; + case MAKELANGID (LANG_SERBIAN, SUBLANG_SERBIAN_CYRILLIC): + return TRUE; + case MAKELANGID (LANG_SERBIAN, 0x07): + /* Serbian in Bosnia and Herzegovina, Cyrillic */ + return TRUE; + } + } + else if (strcmp (script_to_check, "Cyrl") == 0) + { + switch (LANGIDFROMLCID (lcid)) + { + case MAKELANGID (LANG_AZERI, SUBLANG_AZERI_LATIN): + return TRUE; + case MAKELANGID (LANG_UZBEK, SUBLANG_UZBEK_LATIN): + return TRUE; + case MAKELANGID (LANG_SERBIAN, SUBLANG_SERBIAN_LATIN): + return TRUE; + case MAKELANGID (LANG_SERBIAN, 0x06): + /* Serbian in Bosnia and Herzegovina, Latin */ + return TRUE; + } + } + } - SetThreadLocale (lcid); + SetThreadLocale (lcid); - if (GetLocaleInfo (lcid, LOCALE_SENGLANGUAGE, language, sizeof (language)) && - GetLocaleInfo (lcid, LOCALE_SENGCOUNTRY, country, sizeof (country))) - { - strcpy (locale, language); - strcat (locale, "_"); - strcat (locale, country); + if (GetLocaleInfo (lcid, LOCALE_SENGLANGUAGE, language, sizeof (language)) && + GetLocaleInfo (lcid, LOCALE_SENGCOUNTRY, country, sizeof (country))) + { + strcpy (locale, language); + strcat (locale, "_"); + strcat (locale, country); - if (setlocale (LC_ALL, locale) != NULL) - setlocale_called = TRUE; - } + if (setlocale (LC_ALL, locale) != NULL) + setlocale_called = TRUE; + } - return FALSE; - } + return FALSE; + } } return TRUE; @@ -618,59 +681,59 @@ setlocale_initialization (void) */ char *p = getenv ("LC_ALL"); if (p == NULL) - p = getenv ("LANG"); + p = getenv ("LANG"); if (p != NULL) - { - p = g_strdup (p); - if (strcmp (p, "C") == 0) - SetThreadLocale (LOCALE_SYSTEM_DEFAULT); - else - { - /* Check if one of the supported locales match the - * environment variable. If so, use that locale. - */ - iso639_to_check = p; - iso3166_to_check = strchr (iso639_to_check, '_'); - if (iso3166_to_check != NULL) - { - *iso3166_to_check++ = '\0'; + { + p = g_strdup (p); + if (strcmp (p, "C") == 0) + SetThreadLocale (LOCALE_SYSTEM_DEFAULT); + else + { + /* Check if one of the supported locales match the + * environment variable. If so, use that locale. + */ + iso639_to_check = p; + iso3166_to_check = strchr (iso639_to_check, '_'); + if (iso3166_to_check != NULL) + { + *iso3166_to_check++ = '\0'; - script_to_check = strchr (iso3166_to_check, '@'); - if (script_to_check != NULL) - *script_to_check++ = '\0'; + script_to_check = strchr (iso3166_to_check, '@'); + if (script_to_check != NULL) + *script_to_check++ = '\0'; - /* Handle special cases. */ - - /* The standard code for Serbia and Montenegro was - * "CS", but MSFT uses for some reason "SP". By now - * (October 2006), SP has split into two, "RS" and - * "ME", but don't bother trying to handle those - * yet. Do handle the even older "YU", though. - */ - if (strcmp (iso3166_to_check, "CS") == 0 || - strcmp (iso3166_to_check, "YU") == 0) - iso3166_to_check = "SP"; - } - else - { - script_to_check = strchr (iso639_to_check, '@'); - if (script_to_check != NULL) - *script_to_check++ = '\0'; - /* LANG_SERBIAN == LANG_CROATIAN, recognize just "sr" */ - if (strcmp (iso639_to_check, "sr") == 0) - iso3166_to_check = "SP"; - } + /* Handle special cases. */ - EnumSystemLocales (enum_locale_proc, LCID_SUPPORTED); - } - g_free (p); - } + /* The standard code for Serbia and Montenegro was + * "CS", but MSFT uses for some reason "SP". By now + * (October 2006), SP has split into two, "RS" and + * "ME", but don't bother trying to handle those + * yet. Do handle the even older "YU", though. + */ + if (strcmp (iso3166_to_check, "CS") == 0 || + strcmp (iso3166_to_check, "YU") == 0) + iso3166_to_check = "SP"; + } + else + { + script_to_check = strchr (iso639_to_check, '@'); + if (script_to_check != NULL) + *script_to_check++ = '\0'; + /* LANG_SERBIAN == LANG_CROATIAN, recognize just "sr" */ + if (strcmp (iso639_to_check, "sr") == 0) + iso3166_to_check = "SP"; + } + + EnumSystemLocales (enum_locale_proc, LCID_SUPPORTED); + } + g_free (p); + } if (!setlocale_called) - setlocale (LC_ALL, ""); + setlocale (LC_ALL, ""); #else if (!setlocale (LC_ALL, "")) - g_warning ("Locale not supported by C library.\n\tUsing the fallback 'C' locale."); + g_warning ("Locale not supported by C library.\n\tUsing the fallback 'C' locale."); #endif } } @@ -693,7 +756,7 @@ check_mixed_deps (void) static void do_pre_parse_initialization (int *argc, - char ***argv) + char ***argv) { const gchar *env_string; @@ -712,11 +775,11 @@ do_pre_parse_initialization (int *argc, if (env_string != NULL) { debug_flags = g_parse_debug_string (env_string, - gtk_debug_keys, - G_N_ELEMENTS (gtk_debug_keys)); + gtk_debug_keys, + G_N_ELEMENTS (gtk_debug_keys)); env_string = NULL; } -#endif /* G_ENABLE_DEBUG */ +#endif /* G_ENABLE_DEBUG */ env_string = g_getenv ("GTK_MODULES"); if (env_string) @@ -740,7 +803,7 @@ gettext_initialization (void) static void do_post_parse_initialization (int *argc, - char ***argv) + char ***argv) { if (gtk_initialized) return; @@ -805,9 +868,9 @@ typedef struct static gboolean pre_parse_hook (GOptionContext *context, - GOptionGroup *group, - gpointer data, - GError **error) + GOptionGroup *group, + gpointer data, + GError **error) { do_pre_parse_initialization (NULL, NULL); @@ -816,9 +879,9 @@ pre_parse_hook (GOptionContext *context, static gboolean post_parse_hook (GOptionContext *context, - GOptionGroup *group, - gpointer data, - GError **error) + GOptionGroup *group, + gpointer data, + GError **error) { OptionGroupInfo *info = data; @@ -828,16 +891,16 @@ post_parse_hook (GOptionContext *context, if (info->open_default_display) { if (gdk_display_open_default_libgtk_only () == NULL) - { - const char *display_name = gdk_get_display_arg_name (); - g_set_error (error, - G_OPTION_ERROR, - G_OPTION_ERROR_FAILED, - _("Cannot open display: %s"), - display_name ? display_name : "" ); - - return FALSE; - } + { + const char *display_name = gdk_get_display_arg_name (); + g_set_error (error, + G_OPTION_ERROR, + G_OPTION_ERROR_FAILED, + _("Cannot open display: %s"), + display_name ? display_name : "" ); + + return FALSE; + } } return TRUE; @@ -873,16 +936,18 @@ gtk_set_debug_flags (guint flags) /** * gtk_get_option_group: - * @open_default_display: whether to open the default display - * when parsing the commandline arguments - * + * @open_default_display: whether to open the default display + * when parsing the commandline arguments + * * Returns a #GOptionGroup for the commandline arguments recognized - * by GTK+ and GDK. You should add this group to your #GOptionContext - * with g_option_context_add_group(), if you are using + * by GTK+ and GDK. + * + * You should add this group to your #GOptionContext + * with g_option_context_add_group(), if you are using * g_option_context_parse() to parse your commandline arguments. * * Returns: a #GOptionGroup for the commandline arguments recognized - * by GTK+ + * by GTK+ * * Since: 2.6 */ @@ -909,12 +974,12 @@ gtk_get_option_group (gboolean open_default_display) /** * gtk_init_with_args: - * @argc: a pointer to the number of command line arguments. - * @argv: a pointer to the array of command line arguments. + * @argc: a pointer to the number of command line arguments + * @argv: a pointer to the array of command line arguments * @parameter_string: a string which is displayed in * the first line of output, after * programname [OPTION...] - * @entries: a %NULL-terminated array of #GOptionEntrys + * @entries: a %NULL-terminated array of #GOptionEntrys * describing the options of your program * @translation_domain: a translation domain to use for translating * the output for the options in @entries @@ -927,8 +992,8 @@ gtk_get_option_group (gboolean open_default_display) * output. Note that your program will * be terminated after writing out the help output. * - * Returns: %TRUE if the GUI has been successfully initialized, - * %FALSE otherwise. + * Returns: %TRUE if the windowing system has been successfully + * initialized, %FALSE otherwise * * Since: 2.6 */ @@ -983,11 +1048,11 @@ gtk_init_with_args (gint *argc, * There is no need to call this function explicitely if you are using * gtk_init(), or gtk_init_check(). * - * Return value: %TRUE if initialization succeeded, otherwise %FALSE. - **/ + * Return value: %TRUE if initialization succeeded, otherwise %FALSE + */ gboolean gtk_parse_args (int *argc, - char ***argv) + char ***argv) { GOptionContext *option_context; GOptionGroup *gtk_group; @@ -1023,24 +1088,26 @@ gtk_parse_args (int *argc, /** * gtk_init_check: - * @argc: (inout): Address of the argc parameter of your - * main() function. Changed if any arguments were handled. - * @argv: (array length=argc) (inout) (allow-none): Address of the argv parameter of main(). - * Any parameters understood by gtk_init() are stripped before return. + * @argc: (inout): Address of the argc parameter of + * your main() function. Changed if any arguments were handled + * @argv: (array length=argc) (inout) (allow-none): Address of the + * argv parameter of main() + * Any parameters understood by gtk_init() are stripped before return * - * This function does the same work as gtk_init() with only - * a single change: It does not terminate the program if the GUI can't be - * initialized. Instead it returns %FALSE on failure. + * This function does the same work as gtk_init() with only a single + * change: It does not terminate the program if the windowing system + * can't be initialized. Instead it returns %FALSE on failure. * - * This way the application can fall back to some other means of communication - * with the user - for example a curses or command line interface. - * - * Return value: %TRUE if the GUI has been successfully initialized, - * %FALSE otherwise. - **/ + * This way the application can fall back to some other means of + * communication with the user - for example a curses or command line + * interface. + * + * Return value: %TRUE if the windowing system has been successfully + * initialized, %FALSE otherwise + */ gboolean -gtk_init_check (int *argc, - char ***argv) +gtk_init_check (int *argc, + char ***argv) { if (!gtk_parse_args (argc, argv)) return FALSE; @@ -1109,11 +1176,11 @@ check_sizeof_GtkWindow (size_t sizeof_GtkWindow) { if (sizeof_GtkWindow != sizeof (GtkWindow)) g_error ("Incompatible build!\n" - "The code using GTK+ thinks GtkWindow is of different\n" + "The code using GTK+ thinks GtkWindow is of different\n" "size than it actually is in this build of GTK+.\n" - "On Windows, this probably means that you have compiled\n" - "your code with gcc without the -mms-bitfields switch,\n" - "or that you are using an unsupported compiler."); + "On Windows, this probably means that you have compiled\n" + "your code with gcc without the -mms-bitfields switch,\n" + "or that you are using an unsupported compiler."); } /* In GTK+ 2.0 the GtkWindow struct actually is the same size in @@ -1127,11 +1194,11 @@ check_sizeof_GtkBox (size_t sizeof_GtkBox) { if (sizeof_GtkBox != sizeof (GtkBox)) g_error ("Incompatible build!\n" - "The code using GTK+ thinks GtkBox is of different\n" + "The code using GTK+ thinks GtkBox is of different\n" "size than it actually is in this build of GTK+.\n" - "On Windows, this probably means that you have compiled\n" - "your code with gcc without the -mms-bitfields switch,\n" - "or that you are using an unsupported compiler."); + "On Windows, this probably means that you have compiled\n" + "your code with gcc without the -mms-bitfields switch,\n" + "or that you are using an unsupported compiler."); } /* These two functions might get more checks added later, thus pass @@ -1157,7 +1224,7 @@ gtk_init_check_abi_check (int *argc, char ***argv, int num_checks, size_t sizeof #endif -/** +/* * _gtk_get_lc_ctype: * * Return the Unix-style locale string for the language currently in @@ -1169,13 +1236,13 @@ gtk_init_check_abi_check (int *argc, char ***argv, int num_checks, size_t sizeof * COUNTRY is an ISO-3166 country code. For instance, sv_FI for * Swedish as written in Finland or pt_BR for Portuguese as written in * Brazil. - * + * * On Windows, the C library doesn't use any such environment * variables, and setting them won't affect the behaviour of functions - * like ctime(). The user sets the locale through the Regional Options - * in the Control Panel. The C library (in the setlocale() function) - * does not use country and language codes, but country and language - * names spelled out in English. + * like ctime(). The user sets the locale through the Regional Options + * in the Control Panel. The C library (in the setlocale() function) + * does not use country and language codes, but country and language + * names spelled out in English. * However, this function does check the above environment * variables, and does return a Unix-style locale string based on * either said environment variables or the thread's current locale. @@ -1222,22 +1289,30 @@ _gtk_get_lc_ctype (void) * * Returns the #PangoLanguage for the default language currently in * effect. (Note that this can change over the life of an - * application.) The default language is derived from the current + * application.) The default language is derived from the current * locale. It determines, for example, whether GTK+ uses the * right-to-left or left-to-right text direction. * - * This function is equivalent to pango_language_get_default(). See - * that function for details. - * - * Return value: the default language as a #PangoLanguage, must not be - * freed - **/ + * This function is equivalent to pango_language_get_default(). + * See that function for details. + * + * Return value: the default language as a #PangoLanguage, + * must not be freed + */ PangoLanguage * gtk_get_default_language (void) { return pango_language_get_default (); } +/** + * gtk_main: + * + * Runs the main loop until gtk_main_quit() is called. + * + * You can nest calls to gtk_main(). In that case gtk_main_quit() + * will make the innermost invocation of the main loop return. + */ void gtk_main (void) { @@ -1272,12 +1347,26 @@ gtk_main (void) } } +/** + * gtk_main_level: + * + * Asks for the current nesting level of the main loop. + * + * Returns: the nesting level of the current invocation + * of the main loop + */ guint gtk_main_level (void) { return gtk_main_loop_level; } +/** + * gtk_main_quit: + * + * Makes the innermost invocation of the main loop return + * when it regains control. + */ void gtk_main_quit (void) { @@ -1286,18 +1375,53 @@ gtk_main_quit (void) g_main_loop_quit (main_loops->data); } +/** + * gtk_events_pending: + * + * Checks if any events are pending. + * + * This can be used to update the UI and invoke timeouts etc. + * while doing some time intensive computation. + * + * + * Updating the UI during a long computation + * + * + * + * Returns: %TRUE if any events are pending, %FALSE otherwise + */ gboolean gtk_events_pending (void) { gboolean result; - - GDK_THREADS_LEAVE (); + + GDK_THREADS_LEAVE (); result = g_main_context_pending (NULL); GDK_THREADS_ENTER (); return result; } +/** + * gtk_main_iteration: + * + * Runs a single iteration of the mainloop. + * + * If no events are waiting to be processed GTK+ will block + * until the next event is noticed. If you don't want to block + * look at gtk_main_iteration_do() or check if any events are + * pending with gtk_events_pending() first. + * + * Returns: %TRUE if gtk_main_quit() has been called for the + * innermost mainloop + */ gboolean gtk_main_iteration (void) { @@ -1311,6 +1435,17 @@ gtk_main_iteration (void) return TRUE; } +/** + * gtk_main_iteration_do: + * @blocking: %TRUE if you want GTK+ to block if no events are pending + * + * Runs a single iteration of the mainloop. + * If no events are available either return or block depending on + * the value of @blocking. + * + * Returns: %TRUE if gtk_main_quit() has been called for the + * innermost mainloop + */ gboolean gtk_main_iteration_do (gboolean blocking) { @@ -1324,8 +1459,7 @@ gtk_main_iteration_do (gboolean blocking) return TRUE; } -/* private libgtk to libgdk interfaces - */ +/* private libgtk to libgdk interfaces */ gboolean gdk_device_grab_info_libgtk_only (GdkDisplay *display, GdkDevice *device, GdkWindow **grab_window, @@ -1333,15 +1467,15 @@ gboolean gdk_device_grab_info_libgtk_only (GdkDisplay *display, static void rewrite_events_translate (GdkWindow *old_window, - GdkWindow *new_window, - gdouble *x, - gdouble *y) + GdkWindow *new_window, + gdouble *x, + gdouble *y) { gint old_origin_x, old_origin_y; gint new_origin_x, new_origin_y; - gdk_window_get_origin (old_window, &old_origin_x, &old_origin_y); - gdk_window_get_origin (new_window, &new_origin_x, &new_origin_y); + gdk_window_get_origin (old_window, &old_origin_x, &old_origin_y); + gdk_window_get_origin (new_window, &new_origin_x, &new_origin_y); *x += old_origin_x - new_origin_x; *y += old_origin_y - new_origin_y; @@ -1349,7 +1483,7 @@ rewrite_events_translate (GdkWindow *old_window, static GdkEvent * rewrite_event_for_window (GdkEvent *event, - GdkWindow *new_window) + GdkWindow *new_window) { event = gdk_event_copy (event); @@ -1357,21 +1491,21 @@ rewrite_event_for_window (GdkEvent *event, { case GDK_SCROLL: rewrite_events_translate (event->any.window, - new_window, - &event->scroll.x, &event->scroll.y); + new_window, + &event->scroll.x, &event->scroll.y); break; case GDK_BUTTON_PRESS: case GDK_2BUTTON_PRESS: case GDK_3BUTTON_PRESS: case GDK_BUTTON_RELEASE: rewrite_events_translate (event->any.window, - new_window, - &event->button.x, &event->button.y); + new_window, + &event->button.x, &event->button.y); break; case GDK_MOTION_NOTIFY: rewrite_events_translate (event->any.window, - new_window, - &event->motion.x, &event->motion.y); + new_window, + &event->motion.x, &event->motion.y); break; case GDK_KEY_PRESS: case GDK_KEY_RELEASE: @@ -1422,7 +1556,7 @@ rewrite_event_for_grabs (GdkEvent *event) device = gdk_event_get_device (event); if (!gdk_device_grab_info_libgtk_only (display, device, &grab_window, &owner_events) || - !owner_events) + !owner_events) return NULL; break; default: @@ -1440,7 +1574,67 @@ rewrite_event_for_grabs (GdkEvent *event) return NULL; } -void +/** + * gtk_main_do_event: + * @event: An event to process (normally passed by GDK) + * + * Processes a single GDK event. + * + * This is public only to allow filtering of events between GDK and GTK+. + * You will not usually need to call this function directly. + * + * While you should not call this function directly, you might want to + * know how exactly events are handled. So here is what this function + * does with the event: + * + * + * + * Compress enter/leave notify events. If the event passed build an + * enter/leave pair together with the next event (peeked from GDK), both + * events are thrown away. This is to avoid a backlog of (de-)highlighting + * widgets crossed by the pointer. + * + * + * Find the widget which got the event. If the widget can't be determined + * the event is thrown away unless it belongs to a INCR transaction. In that + * case it is passed to gtk_selection_incr_event(). + * + * + * Then the event is pushed onto a stack so you can query the currently + * handled event with gtk_get_current_event(). + * + * + * The event is sent to a widget. If a grab is active all events for widgets + * that are not in the contained in the grab widget are sent to the latter + * with a few exceptions: + * + * + * Deletion and destruction events are still sent to the event widget for + * obvious reasons. + * + * + * Events which directly relate to the visual representation of the event + * widget. + * + * + * Leave events are delivered to the event widget if there was an enter + * event delivered to it before without the paired leave event. + * + * + * Drag events are not redirected because it is unclear what the semantics + * of that would be. + * + * + * Another point of interest might be that all key events are first passed + * through the key snooper functions if there are any. Read the description + * of gtk_key_snooper_install() if you need this feature. + * + * + * After finishing the delivery the event is popped from the event stack. + * + * + */ +void gtk_main_do_event (GdkEvent *event) { GtkWidget *event_widget; @@ -1463,24 +1657,23 @@ gtk_main_do_event (GdkEvent *event) } /* Find the widget which got the event. We store the widget - * in the user_data field of GdkWindow's. - * Ignore the event if we don't have a widget for it, except - * for GDK_PROPERTY_NOTIFY events which are handled specialy. - * Though this happens rarely, bogus events can occour - * for e.g. destroyed GdkWindows. + * in the user_data field of GdkWindow's. Ignore the event + * if we don't have a widget for it, except for GDK_PROPERTY_NOTIFY + * events which are handled specially. Though this happens rarely, + * bogus events can occur for e.g. destroyed GdkWindows. */ event_widget = gtk_get_event_widget (event); if (!event_widget) { /* To handle selection INCR transactions, we select * PropertyNotify events on the requestor window and create - * a corresponding (fake) GdkWindow so that events get - * here. There won't be a widget though, so we have to handle - * them specially - */ + * a corresponding (fake) GdkWindow so that events get here. + * There won't be a widget though, so we have to handle + * them specially + */ if (event->type == GDK_PROPERTY_NOTIFY) - _gtk_selection_incr_event (event->any.window, - &event->property); + _gtk_selection_incr_event (event->any.window, + &event->property); return; } @@ -1498,8 +1691,7 @@ gtk_main_do_event (GdkEvent *event) window_group = gtk_main_get_window_group (event_widget); device = gdk_event_get_device (event); - /* check whether there is a (device) grab in effect... - */ + /* check whether there is a (device) grab in effect... */ if (device) grab_widget = gtk_window_group_get_current_device_grab (window_group, device); @@ -1507,15 +1699,17 @@ gtk_main_do_event (GdkEvent *event) grab_widget = gtk_window_group_get_current_grab (window_group); /* If the grab widget is an ancestor of the event widget - * then we send the event to the original event widget. - * This is the key to implementing modality. + * then we send the event to the original event widget. + * This is the key to implementing modality. */ if (!grab_widget || (gtk_widget_is_sensitive (event_widget) && gtk_widget_is_ancestor (event_widget, grab_widget))) grab_widget = event_widget; - /* If the widget receiving events is actually blocked by another device GTK+ grab */ + /* If the widget receiving events is actually blocked by another + * device GTK+ grab + */ if (device && _gtk_window_group_widget_is_blocked_for_device (window_group, grab_widget, device)) { @@ -1532,58 +1726,59 @@ gtk_main_do_event (GdkEvent *event) /* Not all events get sent to the grabbing widget. * The delete, destroy, expose, focus change and resize - * events still get sent to the event widget because - * 1) these events have no meaning for the grabbing widget - * and 2) redirecting these events to the grabbing widget - * could cause the display to be messed up. - * + * events still get sent to the event widget because + * 1) these events have no meaning for the grabbing widget + * and 2) redirecting these events to the grabbing widget + * could cause the display to be messed up. + * * Drag events are also not redirected, since it isn't - * clear what the semantics of that would be. + * clear what the semantics of that would be. */ switch (event->type) { case GDK_NOTHING: break; - + case GDK_DELETE: g_object_ref (event_widget); if ((!gtk_window_group_get_current_grab (window_group) || gtk_widget_get_toplevel (gtk_window_group_get_current_grab (window_group)) == event_widget) && - !gtk_widget_event (event_widget, event)) - gtk_widget_destroy (event_widget); + !gtk_widget_event (event_widget, event)) + gtk_widget_destroy (event_widget); g_object_unref (event_widget); break; - + case GDK_DESTROY: /* Unexpected GDK_DESTROY from the outside, ignore for * child windows, handle like a GDK_DELETE for toplevels */ if (!gtk_widget_get_parent (event_widget)) - { - g_object_ref (event_widget); - if (!gtk_widget_event (event_widget, event) && - gtk_widget_get_realized (event_widget)) - gtk_widget_destroy (event_widget); - g_object_unref (event_widget); - } + { + g_object_ref (event_widget); + if (!gtk_widget_event (event_widget, event) && + gtk_widget_get_realized (event_widget)) + gtk_widget_destroy (event_widget); + g_object_unref (event_widget); + } break; - + case GDK_EXPOSE: if (event->any.window && gtk_widget_get_double_buffered (event_widget)) - { - gdk_window_begin_paint_region (event->any.window, event->expose.region); - gtk_widget_send_expose (event_widget, event); - gdk_window_end_paint (event->any.window); - } + { + gdk_window_begin_paint_region (event->any.window, event->expose.region); + gtk_widget_send_expose (event_widget, event); + gdk_window_end_paint (event->any.window); + } else - { - /* The app may paint with a previously allocated cairo_t, - which will draw directly to the window. We can't catch cairo - draw operations to automatically flush the window, thus we - need to explicitly flush any outstanding moves or double - buffering */ - gdk_window_flush (event->any.window); - gtk_widget_send_expose (event_widget, event); - } + { + /* The app may paint with a previously allocated cairo_t, + * which will draw directly to the window. We can't catch cairo + * draw operations to automatically flush the window, thus we + * need to explicitly flush any outstanding moves or double + * buffering + */ + gdk_window_flush (event->any.window); + gtk_widget_send_expose (event_widget, event); + } break; case GDK_PROPERTY_NOTIFY: @@ -1612,10 +1807,10 @@ gtk_main_do_event (GdkEvent *event) case GDK_KEY_PRESS: case GDK_KEY_RELEASE: if (key_snoopers) - { - if (gtk_invoke_key_snoopers (grab_widget, event)) - break; - } + { + if (gtk_invoke_key_snoopers (grab_widget, event)) + break; + } /* Catch alt press to enable auto-mnemonics; * menus are handled elsewhere */ @@ -1647,23 +1842,23 @@ gtk_main_do_event (GdkEvent *event) case GDK_PROXIMITY_OUT: gtk_propagate_event (grab_widget, event); break; - + case GDK_ENTER_NOTIFY: _gtk_widget_set_device_window (event_widget, gdk_event_get_device (event), event->any.window); if (gtk_widget_is_sensitive (grab_widget)) - gtk_widget_event (grab_widget, event); + gtk_widget_event (grab_widget, event); break; - + case GDK_LEAVE_NOTIFY: _gtk_widget_set_device_window (event_widget, gdk_event_get_device (event), NULL); if (gtk_widget_is_sensitive (grab_widget)) - gtk_widget_event (grab_widget, event); + gtk_widget_event (grab_widget, event); break; - + case GDK_DRAG_STATUS: case GDK_DROP_FINISHED: _gtk_drag_source_handle_event (event_widget, event); @@ -1692,7 +1887,7 @@ gtk_main_do_event (GdkEvent *event) { _gtk_tooltip_handle_event (event); } - + tmp_list = current_events; current_events = g_list_remove_link (current_events, tmp_list); g_list_free_1 (tmp_list); @@ -1701,12 +1896,63 @@ gtk_main_do_event (GdkEvent *event) gdk_event_free (rewritten_event); } +/** + * gtk_true: + * + * All this function does it to return %TRUE. + * + * This can be useful for example if you want to inhibit the deletion + * of a window. Of course you should not do this as the user expects + * a reaction from clicking the close icon of the window... + * + * + * A persistent window + * + * + * int + * main (int argc, char **argv) + * { + * GtkWidget *win, *but; + * + * gtk_init (&argc, &argv); + * + * win = gtk_window_new (GTK_WINDOW_TOPLEVEL); + * g_signal_connect (win, "delete-event", + * G_CALLBACK (gtk_true), NULL); + * g_signal_connect (win, "destroy", + * G_CALLBACK (gtk_main_quit), NULL); + * + * but = gtk_button_new_with_label ("Close yourself. I mean it!"); + * g_signal_connect_swapped (but, "clicked", + * G_CALLBACK (gtk_object_destroy), win); + * gtk_container_add (GTK_CONTAINER (win), but); + * + * gtk_widget_show_all (win); + * + * gtk_main (); + * + * return 0; + * } + * ]]> + * + * + * Returns: %TRUE + */ gboolean gtk_true (void) { return TRUE; } +/** + * gtk_false: + * + * Analogical to gtk_true(), this function does nothing + * but always returns %FALSE. + * + * Returns: %FALSE + */ gboolean gtk_false (void) { @@ -1714,7 +1960,7 @@ gtk_false (void) } static GtkWindowGroup * -gtk_main_get_window_group (GtkWidget *widget) +gtk_main_get_window_group (GtkWidget *widget) { GtkWidget *toplevel = NULL; @@ -1796,7 +2042,7 @@ synth_crossing_for_grab_notify (GtkWidget *from, static void gtk_grab_notify_foreach (GtkWidget *child, - gpointer data) + gpointer data) { GrabNotifyInfo *info = data; gboolean was_grabbed, is_grabbed, was_shadowed, is_shadowed; @@ -1829,7 +2075,7 @@ gtk_grab_notify_foreach (GtkWidget *child, { _gtk_widget_set_shadowed (child, TRUE); if (!was_shadowed && devices && - gtk_widget_is_sensitive (child)) + gtk_widget_is_sensitive (child)) synth_crossing_for_grab_notify (child, info->new_grab_widget, info, devices, GDK_CROSSING_GTK_GRAB); @@ -1858,9 +2104,9 @@ gtk_grab_notify_foreach (GtkWidget *child, static void gtk_grab_notify (GtkWindowGroup *group, GdkDevice *device, - GtkWidget *old_grab_widget, - GtkWidget *new_grab_widget, - gboolean from_grab) + GtkWidget *old_grab_widget, + GtkWidget *new_grab_widget, + gboolean from_grab) { GList *toplevels; GrabNotifyInfo info = { 0 }; @@ -1887,7 +2133,7 @@ gtk_grab_notify (GtkWindowGroup *group, info.is_grabbed = FALSE; if (group == gtk_window_get_group (toplevel)) - gtk_grab_notify_foreach (GTK_WIDGET (toplevel), &info); + gtk_grab_notify_foreach (GTK_WIDGET (toplevel), &info); g_object_unref (toplevel); } @@ -1895,14 +2141,27 @@ gtk_grab_notify (GtkWindowGroup *group, g_object_unref (group); } +/** + * gtk_grab_add: + * @widget: The widget that grabs keyboard and pointer events + * + * Makes @widget the current grabbed widget. + * + * This means that interaction with other widgets in the same + * application is blocked and mouse as well as keyboard events + * are delivered to this widget. + * + * If @widget is not sensitive, it is not set as the current + * grabbed widget and this function does nothing. + */ void gtk_grab_add (GtkWidget *widget) { GtkWindowGroup *group; GtkWidget *old_grab_widget; - + g_return_if_fail (widget != NULL); - + if (!gtk_widget_has_grab (widget) && gtk_widget_is_sensitive (widget)) { _gtk_widget_set_has_grab (widget, TRUE); @@ -1936,14 +2195,24 @@ gtk_grab_get_current (void) return gtk_window_group_get_current_grab (group); } +/** + * gtk_grab_remove: + * @widget: The widget which gives up the grab + * + * Removes the grab from the given widget. + * + * You have to pair calls to gtk_grab_add() and gtk_grab_remove(). + * + * If @widget does not have the grab, this function does nothing. + */ void gtk_grab_remove (GtkWidget *widget) { GtkWindowGroup *group; GtkWidget *new_grab_widget; - + g_return_if_fail (widget != NULL); - + if (gtk_widget_has_grab (widget)) { _gtk_widget_set_has_grab (widget, FALSE); @@ -1970,11 +2239,11 @@ gtk_grab_remove (GtkWidget *widget) * unable to interact with @widget during the grab. * * Since: 3.0 - **/ + */ void -gtk_device_grab_add (GtkWidget *widget, - GdkDevice *device, - gboolean block_others) +gtk_device_grab_add (GtkWidget *widget, + GdkDevice *device, + gboolean block_others) { GtkWindowGroup *group; GtkWidget *old_grab_widget; @@ -1996,11 +2265,13 @@ gtk_device_grab_add (GtkWidget *widget, * @widget: a #GtkWidget * @device: a #GdkDevice * - * Removes a device grab from the given widget. You have to pair calls - * to gtk_device_grab_add() and gtk_device_grab_remove(). + * Removes a device grab from the given widget. + * + * You have to pair calls to gtk_device_grab_add() and + * gtk_device_grab_remove(). * * Since: 3.0 - **/ + */ void gtk_device_grab_remove (GtkWidget *widget, GdkDevice *device) @@ -2018,9 +2289,20 @@ gtk_device_grab_remove (GtkWidget *widget, gtk_grab_notify (group, device, widget, new_grab_widget, FALSE); } +/** + * gtk_key_snooper_install: + * @snooper: a #GtkKeySnoopFunc + * @func_data: data to pass to @snooper + * + * Installs a key snooper function, which will get called on all + * key events before delivering them normally. + * + * Returns: a unique id for this key snooper for use with + * gtk_key_snooper_remove(). + */ guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, - gpointer func_data) + gpointer func_data) { GtkKeySnooperData *data; static guint snooper_id = 1; @@ -2036,6 +2318,12 @@ gtk_key_snooper_install (GtkKeySnoopFunc snooper, return data->id; } +/** + * gtk_key_snooper_remove: + * @snooper_handler_id: Identifies the key snooper to remove + * + * Removes the key snooper function with the given id. + */ void gtk_key_snooper_remove (guint snooper_id) { @@ -2047,7 +2335,7 @@ gtk_key_snooper_remove (guint snooper_id) { data = slist->data; if (data->id == snooper_id) - break; + break; slist = slist->next; data = NULL; @@ -2061,7 +2349,7 @@ gtk_key_snooper_remove (guint snooper_id) static gint gtk_invoke_key_snoopers (GtkWidget *grab_widget, - GdkEvent *event) + GdkEvent *event) { GSList *slist; gint return_val = FALSE; @@ -2081,15 +2369,17 @@ gtk_invoke_key_snoopers (GtkWidget *grab_widget, /** * gtk_get_current_event: - * - * Obtains a copy of the event currently being processed by GTK+. For - * example, if you get a "clicked" signal from #GtkButton, the current - * event will be the #GdkEventButton that triggered the "clicked" - * signal. The returned event must be freed with gdk_event_free(). - * If there is no current event, the function returns %NULL. - * - * Return value: a copy of the current event, or %NULL if no current event. - **/ + * + * Obtains a copy of the event currently being processed by GTK+. + * + * For example, if you are handling a #GtkButton::clicked signal, + * the current event will be the #GdkEventButton that triggered + * the ::clicked signal. + * + * Return value: a copy of the current event, or %NULL if there is + * no current event. The returned event must be freed with + * gdk_event_free(). + */ GdkEvent* gtk_get_current_event (void) { @@ -2101,12 +2391,13 @@ gtk_get_current_event (void) /** * gtk_get_current_event_time: - * - * If there is a current event and it has a timestamp, return that - * timestamp, otherwise return %GDK_CURRENT_TIME. - * - * Return value: the timestamp from the current event, or %GDK_CURRENT_TIME. - **/ + * + * If there is a current event and it has a timestamp, + * return that timestamp, otherwise return %GDK_CURRENT_TIME. + * + * Return value: the timestamp from the current event, + * or %GDK_CURRENT_TIME. + */ guint32 gtk_get_current_event_time (void) { @@ -2119,18 +2410,19 @@ gtk_get_current_event_time (void) /** * gtk_get_current_event_state: * @state: a location to store the state of the current event - * + * * If there is a current event and it has a state field, place * that state field in @state and return %TRUE, otherwise return * %FALSE. - * - * Return value: %TRUE if there was a current event and it had a state field - **/ + * + * Return value: %TRUE if there was a current event and it + * had a state field + */ gboolean gtk_get_current_event_state (GdkModifierType *state) { g_return_val_if_fail (state != NULL, FALSE); - + if (current_events) return gdk_event_get_state (current_events->data, state); else @@ -2147,7 +2439,7 @@ gtk_get_current_event_state (GdkModifierType *state) * device, otherwise return %NULL. * * Returns: (transfer none): a #GdkDevice, or %NULL - **/ + */ GdkDevice * gtk_get_current_event_device (void) { @@ -2164,10 +2456,10 @@ gtk_get_current_event_device (void) * If @event is %NULL or the event was not associated with any widget, * returns %NULL, otherwise returns the widget that received the event * originally. - * + * * Return value: (transfer none): the widget that originally * received @event, or %NULL - **/ + */ GtkWidget* gtk_get_event_widget (GdkEvent *event) { @@ -2175,13 +2467,13 @@ gtk_get_event_widget (GdkEvent *event) gpointer widget_ptr; widget = NULL; - if (event && event->any.window && + if (event && event->any.window && (event->type == GDK_DESTROY || !gdk_window_is_destroyed (event->any.window))) { gdk_window_get_user_data (event->any.window, &widget_ptr); widget = widget_ptr; } - + return widget; } @@ -2191,99 +2483,100 @@ gtk_get_event_widget (GdkEvent *event) * @event: an event * * Sends an event to a widget, propagating the event to parent widgets - * if the event remains unhandled. Events received by GTK+ from GDK - * normally begin in gtk_main_do_event(). Depending on the type of - * event, existence of modal dialogs, grabs, etc., the event may be - * propagated; if so, this function is used. gtk_propagate_event() - * calls gtk_widget_event() on each widget it decides to send the - * event to. So gtk_widget_event() is the lowest-level function; it - * simply emits the "event" and possibly an event-specific signal on a - * widget. gtk_propagate_event() is a bit higher-level, and - * gtk_main_do_event() is the highest level. + * if the event remains unhandled. + * + * Events received by GTK+ from GDK normally begin in gtk_main_do_event(). + * Depending on the type of event, existence of modal dialogs, grabs, etc., + * the event may be propagated; if so, this function is used. + * + * gtk_propagate_event() calls gtk_widget_event() on each widget it + * decides to send the event to. So gtk_widget_event() is the lowest-level + * function; it simply emits the #GtkWidget::event and possibly an + * event-specific signal on a widget. gtk_propagate_event() is a bit + * higher-level, and gtk_main_do_event() is the highest level. * * All that said, you most likely don't want to use any of these - * functions; synthesizing events is rarely needed. Consider asking on - * the mailing list for better ways to achieve your goals. For - * example, use gdk_window_invalidate_rect() or - * gtk_widget_queue_draw() instead of making up expose events. - * - **/ + * functions; synthesizing events is rarely needed. There are almost + * certainly better ways to achieve your goals. For example, use + * gdk_window_invalidate_rect() or gtk_widget_queue_draw() instead + * of making up expose events. + */ void gtk_propagate_event (GtkWidget *widget, - GdkEvent *event) + GdkEvent *event) { gint handled_event; - + g_return_if_fail (GTK_IS_WIDGET (widget)); g_return_if_fail (event != NULL); - + handled_event = FALSE; g_object_ref (widget); - + if ((event->type == GDK_KEY_PRESS) || (event->type == GDK_KEY_RELEASE)) { /* Only send key events within Window widgets to the Window - * The Window widget will in turn pass the - * key event on to the currently focused widget - * for that window. + * The Window widget will in turn pass the + * key event on to the currently focused widget + * for that window. */ GtkWidget *window; window = gtk_widget_get_toplevel (widget); if (GTK_IS_WINDOW (window)) - { - /* If there is a grab within the window, give the grab widget - * a first crack at the key event - */ - if (widget != window && gtk_widget_has_grab (widget)) - handled_event = gtk_widget_event (widget, event); - - if (!handled_event) - { - window = gtk_widget_get_toplevel (widget); - if (GTK_IS_WINDOW (window)) - { - if (gtk_widget_is_sensitive (window)) - gtk_widget_event (window, event); - } - } - - handled_event = TRUE; /* don't send to widget */ - } + { + /* If there is a grab within the window, give the grab widget + * a first crack at the key event + */ + if (widget != window && gtk_widget_has_grab (widget)) + handled_event = gtk_widget_event (widget, event); + + if (!handled_event) + { + window = gtk_widget_get_toplevel (widget); + if (GTK_IS_WINDOW (window)) + { + if (gtk_widget_is_sensitive (window)) + gtk_widget_event (window, event); + } + } + + handled_event = TRUE; /* don't send to widget */ + } } - + /* Other events get propagated up the widget tree - * so that parents can see the button and motion - * events of the children. + * so that parents can see the button and motion + * events of the children. */ if (!handled_event) { while (TRUE) - { - GtkWidget *tmp; + { + GtkWidget *tmp; - /* Scroll events are special cased here because it - * feels wrong when scrolling a GtkViewport, say, - * to have children of the viewport eat the scroll - * event - */ - if (!gtk_widget_is_sensitive (widget)) - handled_event = event->type != GDK_SCROLL; - else - handled_event = gtk_widget_event (widget, event); + /* Scroll events are special cased here because it + * feels wrong when scrolling a GtkViewport, say, + * to have children of the viewport eat the scroll + * event + */ + if (!gtk_widget_is_sensitive (widget)) + handled_event = event->type != GDK_SCROLL; + else + handled_event = gtk_widget_event (widget, event); tmp = gtk_widget_get_parent (widget); - g_object_unref (widget); + g_object_unref (widget); - widget = tmp; - - if (!handled_event && widget) - g_object_ref (widget); - else - break; - } + widget = tmp; + + if (!handled_event && widget) + g_object_ref (widget); + else + break; + } } else g_object_unref (widget); @@ -2291,16 +2584,16 @@ gtk_propagate_event (GtkWidget *widget, gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, - GValue *return_accu, - const GValue *handler_return, - gpointer dummy) + GValue *return_accu, + const GValue *handler_return, + gpointer dummy) { gboolean continue_emission; gboolean signal_handled; - + signal_handled = g_value_get_boolean (handler_return); g_value_set_boolean (return_accu, signal_handled); continue_emission = !signal_handled; - + return continue_emission; } diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index 6fe41c4df8..f015568384 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -41,15 +41,33 @@ G_BEGIN_DECLS -/* Priorities for redrawing and resizing +/** + * GTK_PRIORITY_RESIZE: + * + * Use this priority for functionality related to size allocation. + * + * It is used internally by GTK+ to compute the sizes of widgets. + * This priority is higher than %GDK_PRIORITY_REDRAW to avoid + * resizing a widget which was just redrawn. */ -#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) +#define GTK_PRIORITY_RESIZE (G_PRIORITY_HIGH_IDLE + 10) -typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, - GdkEventKey *event, - gpointer func_data); +/** + * GtkKeySnoopFunc: + * @grab_widget: the widget to which the event will be delivered + * @event: the key event + * @func_data: data supplied to gtk_key_snooper_install() + * + * Key snooper functions are called before normal event delivery. + * They can be used to implement custom key event handling. + * + * Returns: %TRUE to stop further processing of @event, %FALSE to continue. + */ +typedef gint (*GtkKeySnoopFunc) (GtkWidget *grab_widget, + GdkEventKey *event, + gpointer func_data); -/* Gtk version. +/* GTK+ version */ guint gtk_get_major_version (void) G_GNUC_CONST; guint gtk_get_minor_version (void) G_GNUC_CONST; @@ -63,16 +81,16 @@ guint gtk_get_interface_age (void) G_GNUC_CONST; #define gtk_binary_age gtk_get_binary_age () #define gtk_interface_age gtk_get_interface_age () -const gchar* gtk_check_version (guint required_major, - guint required_minor, - guint required_micro); +const gchar* gtk_check_version (guint required_major, + guint required_minor, + guint required_micro); /* Initialization, exit, mainloop and miscellaneous routines */ gboolean gtk_parse_args (int *argc, - char ***argv); + char ***argv); void gtk_init (int *argc, char ***argv); @@ -88,22 +106,22 @@ gboolean gtk_init_with_args (gint *argc, GError **error); GOptionGroup *gtk_get_option_group (gboolean open_default_display); - + #ifdef G_PLATFORM_WIN32 /* Variants that are used to check for correct struct packing * when building GTK+-using code. */ -void gtk_init_abi_check (int *argc, - char ***argv, - int num_checks, - size_t sizeof_GtkWindow, - size_t sizeof_GtkBox); -gboolean gtk_init_check_abi_check (int *argc, - char ***argv, - int num_checks, - size_t sizeof_GtkWindow, - size_t sizeof_GtkBox); +void gtk_init_abi_check (int *argc, + char ***argv, + int num_checks, + size_t sizeof_GtkWindow, + size_t sizeof_GtkBox); +gboolean gtk_init_check_abi_check (int *argc, + char ***argv, + int num_checks, + size_t sizeof_GtkWindow, + size_t sizeof_GtkBox); #define gtk_init(argc, argv) gtk_init_abi_check (argc, argv, 2, sizeof (GtkWindow), sizeof (GtkBox)) #define gtk_init_check(argc, argv) gtk_init_check_abi_check (argc, argv, 2, sizeof (GtkWindow), sizeof (GtkBox)) @@ -114,25 +132,19 @@ void gtk_disable_setlocale (void); PangoLanguage *gtk_get_default_language (void); gboolean gtk_events_pending (void); -/* The following is the event func GTK+ registers with GDK - * we expose it mainly to allow filtering of events between - * GDK and GTK+. - */ -void gtk_main_do_event (GdkEvent *event); +void gtk_main_do_event (GdkEvent *event); +void gtk_main (void); +guint gtk_main_level (void); +void gtk_main_quit (void); +gboolean gtk_main_iteration (void); +gboolean gtk_main_iteration_do (gboolean blocking); -void gtk_main (void); -guint gtk_main_level (void); -void gtk_main_quit (void); -gboolean gtk_main_iteration (void); -/* gtk_main_iteration() calls gtk_main_iteration_do(TRUE) */ -gboolean gtk_main_iteration_do (gboolean blocking); +gboolean gtk_true (void) G_GNUC_CONST; +gboolean gtk_false (void) G_GNUC_CONST; -gboolean gtk_true (void) G_GNUC_CONST; -gboolean gtk_false (void) G_GNUC_CONST; - -void gtk_grab_add (GtkWidget *widget); -GtkWidget* gtk_grab_get_current (void); -void gtk_grab_remove (GtkWidget *widget); +void gtk_grab_add (GtkWidget *widget); +GtkWidget* gtk_grab_get_current (void); +void gtk_grab_remove (GtkWidget *widget); void gtk_device_grab_add (GtkWidget *widget, GdkDevice *device, @@ -140,29 +152,20 @@ void gtk_device_grab_add (GtkWidget *widget, void gtk_device_grab_remove (GtkWidget *widget, GdkDevice *device); -guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, - gpointer func_data); -void gtk_key_snooper_remove (guint snooper_handler_id); +guint gtk_key_snooper_install (GtkKeySnoopFunc snooper, + gpointer func_data); +void gtk_key_snooper_remove (guint snooper_handler_id); -GdkEvent* gtk_get_current_event (void); -guint32 gtk_get_current_event_time (void); -gboolean gtk_get_current_event_state (GdkModifierType *state); -GdkDevice * gtk_get_current_event_device (void); +GdkEvent * gtk_get_current_event (void); +guint32 gtk_get_current_event_time (void); +gboolean gtk_get_current_event_state (GdkModifierType *state); +GdkDevice *gtk_get_current_event_device (void); -GtkWidget* gtk_get_event_widget (GdkEvent *event); +GtkWidget *gtk_get_event_widget (GdkEvent *event); +void gtk_propagate_event (GtkWidget *widget, + GdkEvent *event); -/* Private routines internal to GTK+ - */ -void gtk_propagate_event (GtkWidget *widget, - GdkEvent *event); - -gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, - GValue *return_accu, - const GValue *handler_return, - gpointer dummy); - -gchar *_gtk_get_lc_ctype (void); G_END_DECLS diff --git a/gtk/gtkmainprivate.h b/gtk/gtkmainprivate.h new file mode 100644 index 0000000000..f4605d7ccb --- /dev/null +++ b/gtk/gtkmainprivate.h @@ -0,0 +1,35 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 2011 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef __GTK_MAIN_PRIVATE_H__ +#define __GTK_MAIN_PRIVATE_H__ + +#include "gtkmain.h" + +G_BEGIN_DECLS + +gboolean _gtk_boolean_handled_accumulator (GSignalInvocationHint *ihint, + GValue *return_accu, + const GValue *handler_return, + gpointer dummy); + +gchar *_gtk_get_lc_ctype (void); + +G_END_DECLS + +#endif /* __GTK_MAIN_PRIVATE_H__ */ diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 92b58e75e8..eef635d83b 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -29,7 +29,7 @@ #include "gtkbindings.h" #include "gtkkeyhash.h" #include "gtklabel.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkmenubar.h" #include "gtkmenuitemprivate.h" diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c index b1c958cb4b..bd9ba5710f 100644 --- a/gtk/gtkmodules.c +++ b/gtk/gtkmodules.c @@ -312,7 +312,7 @@ load_module (GSList *module_list, gtk_modules = g_slist_append (gtk_modules, info); /* display_init == NULL indicates a non-multihead aware module. - * For these, we delay the call to init_func until first display is + * For these, we delay the call to init_func until first display is * opened, see default_display_notify_cb(). * For multihead aware modules, we call init_func immediately, * and also call display_init_func on all opened displays. diff --git a/gtk/gtkmodules.h b/gtk/gtkmodules.h index ca1c52e431..4674442963 100644 --- a/gtk/gtkmodules.h +++ b/gtk/gtkmodules.h @@ -30,22 +30,30 @@ G_BEGIN_DECLS - -/* Functions for use within GTK+ +/** + * GtkModuleInitFunc: + * @argc: Pointer to the number of arguments remaining after gtk_init() + * @argv: Points to the argument vector + * + * Each GTK+ module must have a function gtk_module_init() + * with this prototype. This function is called after loading + * the module with the @argc and @argv cleaned from any arguments + * that GTK+ handles itself. */ -gchar * _gtk_find_module (const gchar *name, - const gchar *type); -gchar **_gtk_get_module_path (const gchar *type); +typedef void (*GtkModuleInitFunc) (gint *argc, + gchar ***argv); -void _gtk_modules_init (gint *argc, - gchar ***argv, - const gchar *gtk_modules_args); -void _gtk_modules_settings_changed (GtkSettings *settings, - const gchar *modules); - -typedef void (*GtkModuleInitFunc) (gint *argc, - gchar ***argv); -typedef void (*GtkModuleDisplayInitFunc) (GdkDisplay *display); +/** + * GtkModuleDisplayInitFunc: + * @display: an open #GdkDisplay + * + * A multihead-aware GTK+ module may have a gtk_module_display_init() + * function with this prototype. GTK+ calls this function for each + * opened display. + * + * Since: 2.2 + */ +typedef void (*GtkModuleDisplayInitFunc) (GdkDisplay *display); G_END_DECLS diff --git a/gtk/gtkprintoperation.c b/gtk/gtkprintoperation.c index 139041a329..96425ed098 100644 --- a/gtk/gtkprintoperation.c +++ b/gtk/gtkprintoperation.c @@ -31,6 +31,7 @@ #include "gtkmarshalers.h" #include "gtkintl.h" #include "gtkprivate.h" +#include "gtkmainprivate.h" #include "gtkmessagedialog.h" #include "gtktypebuiltins.h" diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h index d5d7c3ed1f..458a4b95ae 100644 --- a/gtk/gtkprivate.h +++ b/gtk/gtkprivate.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -29,6 +29,8 @@ #include +#include "gtksettings.h" + G_BEGIN_DECLS #ifdef G_OS_WIN32 @@ -65,9 +67,21 @@ const gchar *_gtk_get_data_prefix (); #define GTK_DEFAULT_ACCEL_MOD_MASK GDK_META_MASK #endif -gboolean _gtk_fnmatch (const char *pattern, - const char *string, - gboolean no_leading_period); +gboolean _gtk_fnmatch (const char *pattern, + const char *string, + gboolean no_leading_period); + +gchar *_gtk_get_lc_ctype (void); + +gchar * _gtk_find_module (const gchar *name, + const gchar *type); +gchar **_gtk_get_module_path (const gchar *type); + +void _gtk_modules_init (gint *argc, + gchar ***argv, + const gchar *gtk_modules_args); +void _gtk_modules_settings_changed (GtkSettings *settings, + const gchar *modules); G_END_DECLS diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 3d3e8563ec..ffd45e97b4 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -30,7 +30,7 @@ #include #include -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkorientable.h" #include "gtkrange.h" diff --git a/gtk/gtksocket.c b/gtk/gtksocket.c index 8c92b9a742..016c6073b4 100644 --- a/gtk/gtksocket.c +++ b/gtk/gtksocket.c @@ -31,7 +31,7 @@ #include -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtksizerequest.h" #include "gtkwindowprivate.h" diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 5148f0e108..9e51cb69ec 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -38,7 +38,7 @@ #include "gtkbindings.h" #include "gtkspinbutton.h" #include "gtkentryprivate.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtksettings.h" #include "gtkprivate.h" diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index b54cad7472..0bd79416f2 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -52,7 +52,7 @@ #include #include -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtktexttag.h" #include "gtktexttypes.h" #include "gtktexttagtable.h" diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index 23ebab621c..e222e08f9d 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -42,7 +42,7 @@ #include "gtkhbox.h" #include "gtkimage.h" #include "gtklabel.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkmenu.h" #include "gtkorientable.h" diff --git a/gtk/gtktoolitem.c b/gtk/gtktoolitem.c index 5ad586f1c5..b296e3b9a9 100644 --- a/gtk/gtktoolitem.c +++ b/gtk/gtktoolitem.c @@ -32,7 +32,7 @@ #include "gtksizerequest.h" #include "gtkactivatable.h" #include "gtkintl.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkprivate.h" diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 0032ae51e6..f785fc054f 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -28,7 +28,7 @@ #include "gtktreednd.h" #include "gtktreeprivate.h" #include "gtkcellrenderer.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkbuildable.h" #include "gtkbutton.h" diff --git a/gtk/gtkversion.h.in b/gtk/gtkversion.h.in index e82f9c7886..8734135eb1 100644 --- a/gtk/gtkversion.h.in +++ b/gtk/gtkversion.h.in @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -24,6 +24,16 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkfeatures + * @Short_description: Variables and functions to check the GTK+ version + * @Title: Version Information + * + * GTK+ provides version information, primarily useful in configure checks + * for builds that have a configure script. Applications will not typically + * use the features described here. + */ + #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) #error "Only can be included directly." #endif @@ -31,19 +41,62 @@ #ifndef __GTK_VERSION_H__ #define __GTK_VERSION_H__ -/* compile time version +/** + * GTK_MAJOR_VERSION: + * + * Like gtk_get_major_version(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. */ -#define GTK_MAJOR_VERSION (@GTK_MAJOR_VERSION@) -#define GTK_MINOR_VERSION (@GTK_MINOR_VERSION@) -#define GTK_MICRO_VERSION (@GTK_MICRO_VERSION@) -#define GTK_BINARY_AGE (@GTK_BINARY_AGE@) -#define GTK_INTERFACE_AGE (@GTK_INTERFACE_AGE@) +#define GTK_MAJOR_VERSION (@GTK_MAJOR_VERSION@) -/* check whether a Gtk+ version equal to or greater than - * major.minor.micro is present. +/** + * GTK_MINOR_VERSION: + * + * Like gtk_get_minor_version(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. */ -#define GTK_CHECK_VERSION(major,minor,micro) \ - (GTK_MAJOR_VERSION > (major) || \ +#define GTK_MINOR_VERSION (@GTK_MINOR_VERSION@) + +/** + * GTK_MICRO_VERSION: + * + * Like gtk_get_micro_version(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. + */ +#define GTK_MICRO_VERSION (@GTK_MICRO_VERSION@) + +/** + * GTK_BINARY_AGE: + * + * Like gtk_get_binary_age(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. + */ +#define GTK_BINARY_AGE (@GTK_BINARY_AGE@) + +/** + * GTK_INTERFACE_AGE: + * + * Like gtk_get_interface_age(), but from the headers used at + * application compile time, rather than from the library linked + * against at application run time. + */ +#define GTK_INTERFACE_AGE (@GTK_INTERFACE_AGE@) + +/** + * GTK_CHECK_VERSION: + * @major: major version (e.g. 1 for version 1.2.5) + * @minor: minor version (e.g. 2 for version 1.2.5) + * @micro: micro version (e.g. 5 for version 1.2.5) + * + * Returns %TRUE if the version of the GTK+ header files + * is the same as or newer than the passed-in version. + */ +#define GTK_CHECK_VERSION(major,minor,micro) \ + (GTK_MAJOR_VERSION > (major) || \ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION > (minor)) || \ (GTK_MAJOR_VERSION == (major) && GTK_MINOR_VERSION == (minor) && \ GTK_MICRO_VERSION >= (micro))) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 66811ffb6a..ed5f6d6da1 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -39,7 +39,7 @@ #include "gtkclipboard.h" #include "gtkiconfactory.h" #include "gtkintl.h" -#include "gtkmain.h" +#include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkrc.h" #include "gtkselection.h" From e9cc9d5c47e93396101a47192775031df149b690 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 17:42:30 -0500 Subject: [PATCH 1142/1463] Small doc cleanups for GtkCellLayout --- gtk/gtkcelllayout.c | 137 +++++++++++++++++++++++--------------------- 1 file changed, 73 insertions(+), 64 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index 5a0ae592f5..35ff6f5344 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -24,30 +24,30 @@ * * #GtkCellLayout is an interface to be implemented by all objects which * want to provide a #GtkTreeViewColumn-like API for packing cells, setting - * attributes and data funcs. + * attributes and data funcs. * * One of the notable features provided by implementations of GtkCellLayout * are attributes. Attributes let you set the properties * in flexible ways. They can just be set to constant values like regular - * properties. But they can also be mapped to a column of the underlying - * tree model with gtk_cell_layout_set_attributes(), which means that the value - * of the attribute can change from cell to cell as they are rendered by the - * cell renderer. Finally, it is possible to specify a function with - * gtk_cell_layout_set_cell_data_func() that is called to determine the value + * properties. But they can also be mapped to a column of the underlying + * tree model with gtk_cell_layout_set_attributes(), which means that the value + * of the attribute can change from cell to cell as they are rendered by the + * cell renderer. Finally, it is possible to specify a function with + * gtk_cell_layout_set_cell_data_func() that is called to determine the value * of the attribute for each cell that is rendered. * * * GtkCellLayouts as GtkBuildable * - * Implementations of GtkCellLayout which also implement the GtkBuildable - * interface (#GtkCellView, #GtkIconView, #GtkComboBox, #GtkComboBoxEntry, + * Implementations of GtkCellLayout which also implement the GtkBuildable + * interface (#GtkCellView, #GtkIconView, #GtkComboBox, #GtkComboBoxEntry, * #GtkEntryCompletion, #GtkTreeViewColumn) accept GtkCellRenderer objects - * as <child> elements in UI definitions. They support a custom - * <attributes> element for their children, which can contain - * multiple <attribute> elements. Each <attribute> element has - * a name attribute which specifies a property of the cell renderer; the + * as <child> elements in UI definitions. They support a custom + * <attributes> element for their children, which can contain + * multiple <attribute> elements. Each <attribute> element has + * a name attribute which specifies a property of the cell renderer; the * content of the element is the attribute value. - * + * * * A UI definition fragment specifying attributes * Date: Tue, 4 Jan 2011 17:52:14 -0500 Subject: [PATCH 1143/1463] Add gtkcellrenderer.sgml to .gitignore --- docs/reference/gtk/tmpl/.gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 8aa9f1f4c6..95f448ac0c 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -8,6 +8,7 @@ gtkbuilder.sgml gtkbutton.sgml gtkcalendar.sgml gtkcelleditable.sgml +gtkcelllayout.sgml gtkcellrenderer.sgml gtkcellrenderertext.sgml gtkcellview.sgml From 2690b8b924534639dbfb2afc5353905ccc6447f7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 17:54:47 -0500 Subject: [PATCH 1144/1463] Move GtkEntryCompletion docs inline Based on a patch by Garrett Regier https://bugzilla.gnome.org/show_bug.cgi?id=617322 --- .../gtk/tmpl/gtkentrycompletion.sgml | 377 ------------ gtk/gtkentrycompletion.c | 564 ++++++++++-------- gtk/gtkentrycompletion.h | 23 +- 3 files changed, 319 insertions(+), 645 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkentrycompletion.sgml diff --git a/docs/reference/gtk/tmpl/gtkentrycompletion.sgml b/docs/reference/gtk/tmpl/gtkentrycompletion.sgml deleted file mode 100644 index b0422c1311..0000000000 --- a/docs/reference/gtk/tmpl/gtkentrycompletion.sgml +++ /dev/null @@ -1,377 +0,0 @@ - -GtkEntryCompletion - - -Completion functionality for GtkEntry - - - -#GtkEntryCompletion is an auxiliary object to be used in conjunction with -#GtkEntry to provide the completion functionality. It implements the -#GtkCellLayout interface, to allow the user to add extra cells to the -#GtkTreeView with completion matches. - - -"Completion functionality" means that when the user modifies the text -in the entry, #GtkEntryCompletion checks which rows in the model match -the current content of the entry, and displays a list of matches. -By default, the matching is done by comparing the entry text -case-insensitively against the text column of the model (see -gtk_entry_completion_set_text_column()), but this can be overridden with -a custom match function (see gtk_entry_completion_set_match_func()). - - -When the user selects a completion, the content of the entry is updated. -By default, the content of the entry is replaced by the text column of the -model, but this can be overridden by connecting to the ::match-selected signal -and updating the entry in the signal handler. Note that you should return -%TRUE from the signal handler to suppress the default behaviour. - - -To add completion functionality to an entry, use gtk_entry_set_completion(). - - -In addition to regular completion matches, which will be inserted into the -entry when they are selected, #GtkEntryCompletion also allows to display -"actions" in the popup window. Their appearance is similar to menuitems, -to differentiate them clearly from completion strings. When an action is -selected, the ::action-activated signal is emitted. - - - - - - - - - - - - - - - -The GtkEntryCompletion struct contains only private data. - - - - - - - - -@entrycompletion: the object which received the signal. -@arg1: - - - - - - -@entrycompletion: the object which received the signal. -@arg1: -@arg2: -@Returns: - - - - - - -@entrycompletion: the object which received the signal. -@arg1: -@Returns: - - - - - - -@entrycompletion: the object which received the signal. -@arg1: -@arg2: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -A function which decides whether the row indicated by @iter matches a given -@key, and should be displayed as a possible completion for @key. Note that -@key is normalized and case-folded (see g_utf8_normalize() and -g_utf8_casefold()). If this is not appropriate, match functions have access -to the unmodified key via gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ())). - - -@completion: the #GtkEntryCompletion -@key: the string to match, normalized and case-folded -@iter: a #GtkTreeIter indicating the row to match -@user_data: user data given to gtk_entry_completion_set_match_func() -@Returns: %TRUE if @iter should be displayed as a possible completion for @key - - - - - - - -@void: -@Returns: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@model: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@func: -@func_data: -@func_notify: - - - - - - - -@completion: -@length: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: - - - - - - - -@completion: -@index_: -@text: - - - - - - - -@completion: -@index_: -@markup: - - - - - - - -@completion: -@index_: - - - - - - - -@completion: -@column: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@inline_completion: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@inline_selection: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@popup_completion: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@popup_set_width: - - - - - - - -@completion: -@Returns: - - - - - - - -@completion: -@popup_single_match: - - - - - - - -@completion: -@Returns: - - diff --git a/gtk/gtkentrycompletion.c b/gtk/gtkentrycompletion.c index 9b70b68cdf..77ec2b837e 100644 --- a/gtk/gtkentrycompletion.c +++ b/gtk/gtkentrycompletion.c @@ -17,6 +17,40 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtkentrycompletion + * @Short_description: Completion functionality for GtkEntry + * @Title: GtkEntryCompletion + * + * #GtkEntryCompletion is an auxiliary object to be used in conjunction with + * #GtkEntry to provide the completion functionality. It implements the + * #GtkCellLayout interface, to allow the user to add extra cells to the + * #GtkTreeView with completion matches. + * + * "Completion functionality" means that when the user modifies the text + * in the entry, #GtkEntryCompletion checks which rows in the model match + * the current content of the entry, and displays a list of matches. + * By default, the matching is done by comparing the entry text + * case-insensitively against the text column of the model (see + * gtk_entry_completion_set_text_column()), but this can be overridden + * with a custom match function (see gtk_entry_completion_set_match_func()). + * + * When the user selects a completion, the content of the entry is + * updated. By default, the content of the entry is replaced by the + * text column of the model, but this can be overridden by connecting + * to the #GtkEntryCompletion::match-selected signal and updating the + * entry in the signal handler. Note that you should return %TRUE from + * the signal handler to suppress the default behaviour. + * + * To add completion functionality to an entry, use gtk_entry_set_completion(). + * + * In addition to regular completion matches, which will be inserted into the + * entry when they are selected, #GtkEntryCompletion also allows to display + * "actions" in the popup window. Their appearance is similar to menuitems, + * to differentiate them clearly from completion strings. When an action is + * selected, the #GtkEntryCompletion::action-activated signal is emitted. + */ + #include "config.h" #include "gtkentrycompletion.h" @@ -73,8 +107,8 @@ static void gtk_entry_completion_cell_layout_init (GtkCellLayoutIface static GtkCellArea* gtk_entry_completion_get_area (GtkCellLayout *cell_layout); static GObject *gtk_entry_completion_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties); + guint n_construct_properties, + GObjectConstructParam *construct_properties); static void gtk_entry_completion_set_property (GObject *object, guint prop_id, const GValue *value, @@ -103,12 +137,12 @@ static gboolean gtk_entry_completion_action_button_press (GtkWidget *wi gpointer user_data); static void gtk_entry_completion_selection_changed (GtkTreeSelection *selection, gpointer data); -static gboolean gtk_entry_completion_list_enter_notify (GtkWidget *widget, - GdkEventCrossing *event, - gpointer data); -static gboolean gtk_entry_completion_list_motion_notify (GtkWidget *widget, - GdkEventMotion *event, - gpointer data); +static gboolean gtk_entry_completion_list_enter_notify (GtkWidget *widget, + GdkEventCrossing *event, + gpointer data); +static gboolean gtk_entry_completion_list_motion_notify (GtkWidget *widget, + GdkEventMotion *event, + gpointer data); static void gtk_entry_completion_insert_action (GtkEntryCompletion *completion, gint index, const gchar *string, @@ -120,13 +154,13 @@ static void gtk_entry_completion_action_data_func (GtkTreeViewColumn *tr gpointer data); static gboolean gtk_entry_completion_match_selected (GtkEntryCompletion *completion, - GtkTreeModel *model, - GtkTreeIter *iter); + GtkTreeModel *model, + GtkTreeIter *iter); static gboolean gtk_entry_completion_real_insert_prefix (GtkEntryCompletion *completion, - const gchar *prefix); + const gchar *prefix); static gboolean gtk_entry_completion_cursor_on_match (GtkEntryCompletion *completion, - GtkTreeModel *model, - GtkTreeIter *iter); + GtkTreeModel *model, + GtkTreeIter *iter); static gboolean gtk_entry_completion_insert_completion (GtkEntryCompletion *completion, GtkTreeModel *model, GtkTreeIter *iter); @@ -139,10 +173,10 @@ static guint entry_completion_signals[LAST_SIGNAL] = { 0 }; static void gtk_entry_completion_buildable_init (GtkBuildableIface *iface); G_DEFINE_TYPE_WITH_CODE (GtkEntryCompletion, gtk_entry_completion, G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, - gtk_entry_completion_cell_layout_init) - G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, - gtk_entry_completion_buildable_init)) + G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_LAYOUT, + gtk_entry_completion_cell_layout_init) + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_entry_completion_buildable_init)) static void @@ -233,14 +267,14 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) */ entry_completion_signals[CURSOR_ON_MATCH] = g_signal_new (I_("cursor-on-match"), - G_TYPE_FROM_CLASS (klass), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkEntryCompletionClass, cursor_on_match), - _gtk_boolean_handled_accumulator, NULL, - _gtk_marshal_BOOLEAN__OBJECT_BOXED, - G_TYPE_BOOLEAN, 2, - GTK_TYPE_TREE_MODEL, - GTK_TYPE_TREE_ITER); + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkEntryCompletionClass, cursor_on_match), + _gtk_boolean_handled_accumulator, NULL, + _gtk_marshal_BOOLEAN__OBJECT_BOXED, + G_TYPE_BOOLEAN, 2, + GTK_TYPE_TREE_MODEL, + GTK_TYPE_TREE_ITER); /** * GtkEntryCompletion::action-activated: @@ -248,7 +282,7 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) * @index: the index of the activated action * * Gets emitted when an action is activated. - * + * * Since: 2.4 */ entry_completion_signals[ACTION_ACTIVATED] = @@ -297,8 +331,8 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) /** * GtkEntryCompletion:inline-completion: - * - * Determines whether the common prefix of the possible completions + * + * Determines whether the common prefix of the possible completions * should be inserted automatically in the entry. Note that this * requires text-column to be set, even if you are using a custom * match function. @@ -306,77 +340,77 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) * Since: 2.6 **/ g_object_class_install_property (object_class, - PROP_INLINE_COMPLETION, - g_param_spec_boolean ("inline-completion", - P_("Inline completion"), - P_("Whether the common prefix should be inserted automatically"), - FALSE, - GTK_PARAM_READWRITE)); + PROP_INLINE_COMPLETION, + g_param_spec_boolean ("inline-completion", + P_("Inline completion"), + P_("Whether the common prefix should be inserted automatically"), + FALSE, + GTK_PARAM_READWRITE)); /** * GtkEntryCompletion:popup-completion: - * - * Determines whether the possible completions should be - * shown in a popup window. + * + * Determines whether the possible completions should be + * shown in a popup window. * * Since: 2.6 **/ g_object_class_install_property (object_class, - PROP_POPUP_COMPLETION, - g_param_spec_boolean ("popup-completion", - P_("Popup completion"), - P_("Whether the completions should be shown in a popup window"), - TRUE, - GTK_PARAM_READWRITE)); + PROP_POPUP_COMPLETION, + g_param_spec_boolean ("popup-completion", + P_("Popup completion"), + P_("Whether the completions should be shown in a popup window"), + TRUE, + GTK_PARAM_READWRITE)); /** * GtkEntryCompletion:popup-set-width: - * + * * Determines whether the completions popup window will be * resized to the width of the entry. * * Since: 2.8 */ g_object_class_install_property (object_class, - PROP_POPUP_SET_WIDTH, - g_param_spec_boolean ("popup-set-width", - P_("Popup set width"), - P_("If TRUE, the popup window will have the same size as the entry"), - TRUE, - GTK_PARAM_READWRITE)); + PROP_POPUP_SET_WIDTH, + g_param_spec_boolean ("popup-set-width", + P_("Popup set width"), + P_("If TRUE, the popup window will have the same size as the entry"), + TRUE, + GTK_PARAM_READWRITE)); /** * GtkEntryCompletion:popup-single-match: - * + * * Determines whether the completions popup window will shown * for a single possible completion. You probably want to set - * this to %FALSE if you are using - * inline + * this to %FALSE if you are using + * inline * completion. * * Since: 2.8 */ g_object_class_install_property (object_class, - PROP_POPUP_SINGLE_MATCH, - g_param_spec_boolean ("popup-single-match", - P_("Popup single match"), - P_("If TRUE, the popup window will appear for a single match."), - TRUE, - GTK_PARAM_READWRITE)); + PROP_POPUP_SINGLE_MATCH, + g_param_spec_boolean ("popup-single-match", + P_("Popup single match"), + P_("If TRUE, the popup window will appear for a single match."), + TRUE, + GTK_PARAM_READWRITE)); /** * GtkEntryCompletion:inline-selection: - * + * * Determines whether the possible completions on the popup * will appear in the entry as you navigate through them. - + * * Since: 2.12 */ g_object_class_install_property (object_class, - PROP_INLINE_SELECTION, - g_param_spec_boolean ("inline-selection", - P_("Inline selection"), - P_("Your description here"), - FALSE, - GTK_PARAM_READWRITE)); + PROP_INLINE_SELECTION, + g_param_spec_boolean ("inline-selection", + P_("Inline selection"), + P_("Your description here"), + FALSE, + GTK_PARAM_READWRITE)); /** @@ -387,12 +421,12 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) * Since: 3.0 */ g_object_class_install_property (object_class, - PROP_CELL_AREA, - g_param_spec_object ("cell-area", - P_("Cell Area"), - P_("The GtkCellArea used to layout cells"), - GTK_TYPE_CELL_AREA, - GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_type_class_add_private (object_class, sizeof (GtkEntryCompletionPrivate)); } @@ -400,10 +434,10 @@ gtk_entry_completion_class_init (GtkEntryCompletionClass *klass) static void gtk_entry_completion_buildable_custom_tag_end (GtkBuildable *buildable, - GtkBuilder *builder, - GObject *child, - const gchar *tagname, - gpointer *data) + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer *data) { /* Just ignore the boolean return from here */ _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, data); @@ -448,8 +482,8 @@ gtk_entry_completion_init (GtkEntryCompletion *completion) static GObject * gtk_entry_completion_constructor (GType type, - guint n_construct_properties, - GObjectConstructParam *construct_properties) + guint n_construct_properties, + GObjectConstructParam *construct_properties) { GtkEntryCompletion *completion; GtkEntryCompletionPrivate *priv; @@ -476,11 +510,11 @@ gtk_entry_completion_constructor (GType type, G_CALLBACK (gtk_entry_completion_list_button_press), completion); g_signal_connect (priv->tree_view, "enter-notify-event", - G_CALLBACK (gtk_entry_completion_list_enter_notify), - completion); + G_CALLBACK (gtk_entry_completion_list_enter_notify), + completion); g_signal_connect (priv->tree_view, "motion-notify-event", - G_CALLBACK (gtk_entry_completion_list_motion_notify), - completion); + G_CALLBACK (gtk_entry_completion_list_motion_notify), + completion); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->tree_view), FALSE); gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (priv->tree_view), TRUE); @@ -517,11 +551,11 @@ gtk_entry_completion_constructor (GType type, G_CALLBACK (gtk_entry_completion_action_button_press), completion); g_signal_connect (priv->action_view, "enter-notify-event", - G_CALLBACK (gtk_entry_completion_list_enter_notify), - completion); + G_CALLBACK (gtk_entry_completion_list_enter_notify), + completion); g_signal_connect (priv->action_view, "motion-notify-event", - G_CALLBACK (gtk_entry_completion_list_motion_notify), - completion); + G_CALLBACK (gtk_entry_completion_list_motion_notify), + completion); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->action_view), FALSE); gtk_tree_view_set_hover_selection (GTK_TREE_VIEW (priv->action_view), TRUE); @@ -554,7 +588,7 @@ gtk_entry_completion_constructor (GType type, popup_frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (popup_frame), - GTK_SHADOW_ETCHED_IN); + GTK_SHADOW_ETCHED_IN); gtk_widget_show (popup_frame); gtk_container_add (GTK_CONTAINER (priv->popup_window), popup_frame); @@ -597,23 +631,23 @@ gtk_entry_completion_set_property (GObject *object, break; case PROP_TEXT_COLUMN: - priv->text_column = g_value_get_int (value); + priv->text_column = g_value_get_int (value); break; case PROP_INLINE_COMPLETION: - priv->inline_completion = g_value_get_boolean (value); + priv->inline_completion = g_value_get_boolean (value); break; case PROP_POPUP_COMPLETION: - priv->popup_completion = g_value_get_boolean (value); + priv->popup_completion = g_value_get_boolean (value); break; case PROP_POPUP_SET_WIDTH: - priv->popup_set_width = g_value_get_boolean (value); + priv->popup_set_width = g_value_get_boolean (value); break; case PROP_POPUP_SINGLE_MATCH: - priv->popup_single_match = g_value_get_boolean (value); + priv->popup_single_match = g_value_get_boolean (value); break; case PROP_INLINE_SELECTION: @@ -621,13 +655,13 @@ gtk_entry_completion_set_property (GObject *object, break; case PROP_CELL_AREA: - /* Construct-only, can only be assigned once */ - area = g_value_get_object (value); + /* Construct-only, can only be assigned once */ + area = g_value_get_object (value); + + if (area) + priv->cell_area = g_object_ref_sink (area); + break; - if (area) - priv->cell_area = g_object_ref_sink (area); - break; - default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -678,8 +712,8 @@ gtk_entry_completion_get_property (GObject *object, break; case PROP_CELL_AREA: - g_value_set_object (value, completion->priv->cell_area); - break; + g_value_set_object (value, completion->priv->cell_area); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -745,7 +779,7 @@ gtk_entry_completion_dispose (GObject *object) } /* implement cell layout interface (only need to return the underlying cell area) */ -static GtkCellArea* +static GtkCellArea* gtk_entry_completion_get_area (GtkCellLayout *cell_layout) { GtkEntryCompletionPrivate *priv; @@ -772,8 +806,8 @@ gtk_entry_completion_default_completion_func (GtkEntryCompletion *completion, model = gtk_tree_model_filter_get_model (completion->priv->filter_model); - g_return_val_if_fail (gtk_tree_model_get_column_type (model, completion->priv->text_column) == G_TYPE_STRING, - FALSE); + g_return_val_if_fail (gtk_tree_model_get_column_type (model, completion->priv->text_column) == G_TYPE_STRING, + FALSE); gtk_tree_model_get (model, iter, completion->priv->text_column, &item, @@ -788,7 +822,7 @@ gtk_entry_completion_default_completion_func (GtkEntryCompletion *completion, case_normalized_string = g_utf8_casefold (normalized_string, -1); if (!strncmp (key, case_normalized_string, strlen (key))) - ret = TRUE; + ret = TRUE; g_free (case_normalized_string); } @@ -981,7 +1015,7 @@ gtk_entry_completion_selection_changed (GtkTreeSelection *selection, * * Creates a new #GtkEntryCompletion object. * - * Return value: A newly created #GtkEntryCompletion object. + * Return value: A newly created #GtkEntryCompletion object * * Since: 2.4 */ @@ -1000,10 +1034,10 @@ gtk_entry_completion_new (void) * @area: the #GtkCellArea used to layout cells * * Creates a new #GtkEntryCompletion object using the - * specified @area to layout cells in the underlying + * specified @area to layout cells in the underlying * #GtkTreeViewColumn for the drop-down menu. * - * Return value: A newly created #GtkEntryCompletion object. + * Return value: A newly created #GtkEntryCompletion object * * Since: 3.0 */ @@ -1019,11 +1053,11 @@ gtk_entry_completion_new_with_area (GtkCellArea *area) /** * gtk_entry_completion_get_entry: - * @completion: A #GtkEntryCompletion. + * @completion: a #GtkEntryCompletion * * Gets the entry @completion has been attached to. * - * Return value: (transfer none): The entry @completion has been attached to. + * Return value: (transfer none): The entry @completion has been attached to * * Since: 2.4 */ @@ -1037,8 +1071,8 @@ gtk_entry_completion_get_entry (GtkEntryCompletion *completion) /** * gtk_entry_completion_set_model: - * @completion: A #GtkEntryCompletion. - * @model: (allow-none): The #GtkTreeModel. + * @completion: a #GtkEntryCompletion + * @model: (allow-none): the #GtkTreeModel * * Sets the model for a #GtkEntryCompletion. If @completion already has * a model set, it will remove it before setting the new model. @@ -1056,12 +1090,12 @@ gtk_entry_completion_set_model (GtkEntryCompletion *completion, if (!model) { gtk_tree_view_set_model (GTK_TREE_VIEW (completion->priv->tree_view), - NULL); + NULL); _gtk_entry_completion_popdown (completion); completion->priv->filter_model = NULL; return; } - + /* code will unref the old filter model (if any) */ completion->priv->filter_model = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (model, NULL)); @@ -1082,13 +1116,13 @@ gtk_entry_completion_set_model (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_model: - * @completion: A #GtkEntryCompletion. + * @completion: a #GtkEntryCompletion * * Returns the model the #GtkEntryCompletion is using as data source. * Returns %NULL if the model is unset. * * Return value: (transfer none): A #GtkTreeModel, or %NULL if none - * is currently being used. + * is currently being used * * Since: 2.4 */ @@ -1105,10 +1139,10 @@ gtk_entry_completion_get_model (GtkEntryCompletion *completion) /** * gtk_entry_completion_set_match_func: - * @completion: A #GtkEntryCompletion. - * @func: The #GtkEntryCompletionMatchFunc to use. - * @func_data: The user data for @func. - * @func_notify: Destroy notifier for @func_data. + * @completion: a #GtkEntryCompletion + * @func: the #GtkEntryCompletionMatchFunc to use + * @func_data: user data for @func + * @func_notify: destroy notify for @func_data. * * Sets the match function for @completion to be @func. The match function * is used to determine if a row should or should not be in the completion @@ -1134,8 +1168,8 @@ gtk_entry_completion_set_match_func (GtkEntryCompletion *completion, /** * gtk_entry_completion_set_minimum_key_length: - * @completion: A #GtkEntryCompletion. - * @length: The minimum length of the key in order to start completing. + * @completion: a #GtkEntryCompletion + * @length: the minimum length of the key in order to start completing * * Requires the length of the search key for @completion to be at least * @length. This is useful for long lists, where completing using a small @@ -1154,18 +1188,18 @@ gtk_entry_completion_set_minimum_key_length (GtkEntryCompletion *completion, if (completion->priv->minimum_key_length != length) { completion->priv->minimum_key_length = length; - + g_object_notify (G_OBJECT (completion), "minimum-key-length"); } } /** * gtk_entry_completion_get_minimum_key_length: - * @completion: A #GtkEntryCompletion. + * @completion: a #GtkEntryCompletion * * Returns the minimum key length as set for @completion. * - * Return value: The currently used minimum key length. + * Return value: The currently used minimum key length * * Since: 2.4 */ @@ -1179,7 +1213,7 @@ gtk_entry_completion_get_minimum_key_length (GtkEntryCompletion *completion) /** * gtk_entry_completion_complete: - * @completion: A #GtkEntryCompletion. + * @completion: a #GtkEntryCompletion * * Requests a completion operation, or in other words a refiltering of the * current list with completions, using the current key. The completion list @@ -1196,7 +1230,7 @@ gtk_entry_completion_complete (GtkEntryCompletion *completion) if (!completion->priv->filter_model) return; - + g_free (completion->priv->case_normalized_key); tmp = g_utf8_normalize (gtk_entry_get_text (GTK_ENTRY (completion->priv->entry)), @@ -1240,9 +1274,9 @@ gtk_entry_completion_insert_action (GtkEntryCompletion *completion, /** * gtk_entry_completion_insert_action_text: - * @completion: A #GtkEntryCompletion. - * @index_: The index of the item to insert. - * @text: Text of the item to insert. + * @completion: a #GtkEntryCompletion + * @index_: the index of the item to insert + * @text: text of the item to insert * * Inserts an action in @completion's action item list at position @index_ * with text @text. If you want the action item to have markup, use @@ -1263,9 +1297,9 @@ gtk_entry_completion_insert_action_text (GtkEntryCompletion *completion, /** * gtk_entry_completion_insert_action_markup: - * @completion: A #GtkEntryCompletion. - * @index_: The index of the item to insert. - * @markup: Markup of the item to insert. + * @completion: a #GtkEntryCompletion + * @index_: the index of the item to insert + * @markup: markup of the item to insert * * Inserts an action in @completion's action item list at position @index_ * with markup @markup. @@ -1285,8 +1319,8 @@ gtk_entry_completion_insert_action_markup (GtkEntryCompletion *completion, /** * gtk_entry_completion_delete_action: - * @completion: A #GtkEntryCompletion. - * @index_: The index of the item to Delete. + * @completion: a #GtkEntryCompletion + * @index_: the index of the item to delete * * Deletes the action at @index_ from @completion's action list. * @@ -1308,18 +1342,19 @@ gtk_entry_completion_delete_action (GtkEntryCompletion *completion, /** * gtk_entry_completion_set_text_column: - * @completion: A #GtkEntryCompletion. - * @column: The column in the model of @completion to get strings from. + * @completion: a #GtkEntryCompletion + * @column: the column in the model of @completion to get strings from * * Convenience function for setting up the most used case of this code: a * completion list with just strings. This function will set up @completion * to have a list displaying all (and just) strings in the completion list, * and to get those strings from @column in the model of @completion. * - * This functions creates and adds a #GtkCellRendererText for the selected - * column. If you need to set the text column, but don't want the cell - * renderer, use g_object_set() to set the ::text_column property directly. - * + * This functions creates and adds a #GtkCellRendererText for the selected + * column. If you need to set the text column, but don't want the cell + * renderer, use g_object_set() to set the #GtkEntryCompletion:text-column + * property directly. + * * Since: 2.4 */ void @@ -1346,42 +1381,42 @@ gtk_entry_completion_set_text_column (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_text_column: * @completion: a #GtkEntryCompletion - * + * * Returns the column in the model of @completion to get strings from. - * + * * Return value: the column containing the strings * * Since: 2.6 - **/ + */ gint gtk_entry_completion_get_text_column (GtkEntryCompletion *completion) { g_return_val_if_fail (GTK_IS_ENTRY_COMPLETION (completion), -1); - return completion->priv->text_column; + return completion->priv->text_column; } /* private */ static gboolean gtk_entry_completion_list_enter_notify (GtkWidget *widget, - GdkEventCrossing *event, - gpointer data) + GdkEventCrossing *event, + gpointer data) { GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (data); - + return completion->priv->ignore_enter; } static gboolean gtk_entry_completion_list_motion_notify (GtkWidget *widget, - GdkEventMotion *event, - gpointer data) + GdkEventMotion *event, + gpointer data) { GtkEntryCompletion *completion = GTK_ENTRY_COMPLETION (data); completion->priv->ignore_enter = FALSE; - + return FALSE; } @@ -1435,14 +1470,14 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) NULL); height += vertical_separator; - + gtk_widget_realize (completion->priv->tree_view); screen = gtk_widget_get_screen (GTK_WIDGET (completion->priv->entry)); monitor_num = gdk_screen_get_monitor_at_window (screen, window); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); - + if (y > monitor.height / 2) items = MIN (matches, (((monitor.y + y) - (actions * action_height)) / height) - 1); @@ -1479,7 +1514,7 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) x = monitor.x; else if (x + popup_req.width > monitor.x + monitor.width) x = monitor.x + monitor.width - popup_req.width; - + if (y + entry_req.height + popup_req.height <= monitor.y + monitor.height || y - monitor.y < (monitor.y + monitor.height) - (y + entry_req.height)) { @@ -1491,12 +1526,12 @@ _gtk_entry_completion_resize_popup (GtkEntryCompletion *completion) y -= popup_req.height; above = TRUE; } - - if (matches > 0) + + if (matches > 0) { path = gtk_tree_path_new_from_indices (above ? matches - 1 : 0, -1); - gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (completion->priv->tree_view), path, - NULL, FALSE, 0.0, 0.0); + gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (completion->priv->tree_view), path, + NULL, FALSE, 0.0, 0.0); gtk_tree_path_free (path); } @@ -1528,7 +1563,7 @@ _gtk_entry_completion_popup (GtkEntryCompletion *completion, return; completion->priv->ignore_enter = TRUE; - + column = gtk_tree_view_get_column (GTK_TREE_VIEW (completion->priv->action_view), 0); renderers = gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (column)); @@ -1549,8 +1584,8 @@ _gtk_entry_completion_popup (GtkEntryCompletion *completion, toplevel = gtk_widget_get_toplevel (completion->priv->entry); if (GTK_IS_WINDOW (toplevel)) - gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), - GTK_WINDOW (completion->priv->popup_window)); + gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), + GTK_WINDOW (completion->priv->popup_window)); /* prevent the first row being focused */ gtk_widget_grab_focus (completion->priv->tree_view); @@ -1593,19 +1628,19 @@ _gtk_entry_completion_popdown (GtkEntryCompletion *completion) gtk_widget_hide (completion->priv->popup_window); } -static gboolean +static gboolean gtk_entry_completion_match_selected (GtkEntryCompletion *completion, - GtkTreeModel *model, - GtkTreeIter *iter) + GtkTreeModel *model, + GtkTreeIter *iter) { gchar *str = NULL; gtk_tree_model_get (model, iter, completion->priv->text_column, &str, -1); gtk_entry_set_text (GTK_ENTRY (completion->priv->entry), str ? str : ""); - + /* move cursor to the end */ gtk_editable_set_position (GTK_EDITABLE (completion->priv->entry), -1); - + g_free (str); return TRUE; @@ -1613,8 +1648,8 @@ gtk_entry_completion_match_selected (GtkEntryCompletion *completion, static gboolean gtk_entry_completion_cursor_on_match (GtkEntryCompletion *completion, - GtkTreeModel *model, - GtkTreeIter *iter) + GtkTreeModel *model, + GtkTreeIter *iter) { gtk_entry_completion_insert_completion (completion, model, iter); @@ -1635,33 +1670,33 @@ gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion) key = gtk_entry_get_text (GTK_ENTRY (completion->priv->entry)); valid = gtk_tree_model_get_iter_first (GTK_TREE_MODEL (completion->priv->filter_model), - &iter); - + &iter); + while (valid) { gchar *text; - + gtk_tree_model_get (GTK_TREE_MODEL (completion->priv->filter_model), - &iter, completion->priv->text_column, &text, - -1); + &iter, completion->priv->text_column, &text, + -1); if (text && g_str_has_prefix (text, key)) - { - if (!prefix) - prefix = g_strdup (text); - else - { - gchar *p = prefix; - gchar *q = text; - - while (*p && *p == *q) - { - p++; - q++; - } - - *p = '\0'; - + { + if (!prefix) + prefix = g_strdup (text); + else + { + gchar *p = prefix; + gchar *q = text; + + while (*p && *p == *q) + { + p++; + q++; + } + + *p = '\0'; + if (p > prefix) { /* strip a partial multibyte character */ @@ -1674,12 +1709,12 @@ gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion) default: ; } } - } - } - + } + } + g_free (text); valid = gtk_tree_model_iter_next (GTK_TREE_MODEL (completion->priv->filter_model), - &iter); + &iter); } return prefix; @@ -1688,7 +1723,7 @@ gtk_entry_completion_compute_prefix (GtkEntryCompletion *completion) static gboolean gtk_entry_completion_real_insert_prefix (GtkEntryCompletion *completion, - const gchar *prefix) + const gchar *prefix) { if (prefix) { @@ -1702,16 +1737,16 @@ gtk_entry_completion_real_insert_prefix (GtkEntryCompletion *completion, key_len = g_utf8_strlen (key, -1); if (prefix_len > key_len) - { - gint pos = prefix_len; + { + gint pos = prefix_len; - gtk_editable_insert_text (GTK_EDITABLE (completion->priv->entry), - prefix + strlen (key), -1, &pos); - gtk_editable_select_region (GTK_EDITABLE (completion->priv->entry), - key_len, prefix_len); + gtk_editable_insert_text (GTK_EDITABLE (completion->priv->entry), + prefix + strlen (key), -1, &pos); + gtk_editable_select_region (GTK_EDITABLE (completion->priv->entry), + key_len, prefix_len); - completion->priv->has_completion = TRUE; - } + completion->priv->has_completion = TRUE; + } } return TRUE; @@ -1720,14 +1755,14 @@ gtk_entry_completion_real_insert_prefix (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_completion_prefix: * @completion: a #GtkEntryCompletion - * + * * Get the original text entered by the user that triggered * the completion or %NULL if there's no completion ongoing. - * + * * Returns: the prefix for the current completion - * + * * Since: 2.12 - **/ + */ const gchar* gtk_entry_completion_get_completion_prefix (GtkEntryCompletion *completion) { @@ -1738,7 +1773,7 @@ gtk_entry_completion_get_completion_prefix (GtkEntryCompletion *completion) static void gtk_entry_completion_insert_completion_text (GtkEntryCompletion *completion, - const gchar *text) + const gchar *text) { GtkEntryCompletionPrivate *priv = completion->priv; gint len; @@ -1765,8 +1800,8 @@ gtk_entry_completion_insert_completion_text (GtkEntryCompletion *completion, static gboolean gtk_entry_completion_insert_completion (GtkEntryCompletion *completion, - GtkTreeModel *model, - GtkTreeIter *iter) + GtkTreeModel *model, + GtkTreeIter *iter) { gchar *str = NULL; @@ -1774,8 +1809,8 @@ gtk_entry_completion_insert_completion (GtkEntryCompletion *completion, return FALSE; gtk_tree_model_get (model, iter, - completion->priv->text_column, &str, - -1); + completion->priv->text_column, &str, + -1); gtk_entry_completion_insert_completion_text (completion, str); @@ -1787,12 +1822,11 @@ gtk_entry_completion_insert_completion (GtkEntryCompletion *completion, /** * gtk_entry_completion_insert_prefix: * @completion: a #GtkEntryCompletion - * - * Requests a prefix insertion. - * + * + * Requests a prefix insertion. + * * Since: 2.6 - **/ - + */ void gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion) { @@ -1807,7 +1841,7 @@ gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion) if (prefix) { g_signal_emit (completion, entry_completion_signals[INSERT_PREFIX], - 0, prefix, &done); + 0, prefix, &done); g_free (prefix); } @@ -1820,18 +1854,18 @@ gtk_entry_completion_insert_prefix (GtkEntryCompletion *completion) * gtk_entry_completion_set_inline_completion: * @completion: a #GtkEntryCompletion * @inline_completion: %TRUE to do inline completion - * + * * Sets whether the common prefix of the possible completions should * be automatically inserted in the entry. - * + * * Since: 2.6 - **/ -void + */ +void gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion, - gboolean inline_completion) + gboolean inline_completion) { g_return_if_fail (GTK_IS_ENTRY_COMPLETION (completion)); - + inline_completion = inline_completion != FALSE; if (completion->priv->inline_completion != inline_completion) @@ -1845,19 +1879,19 @@ gtk_entry_completion_set_inline_completion (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_inline_completion: * @completion: a #GtkEntryCompletion - * + * * Returns whether the common prefix of the possible completions should * be automatically inserted in the entry. - * + * * Return value: %TRUE if inline completion is turned on - * + * * Since: 2.6 - **/ + */ gboolean gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion) { g_return_val_if_fail (GTK_IS_ENTRY_COMPLETION (completion), FALSE); - + return completion->priv->inline_completion; } @@ -1865,17 +1899,17 @@ gtk_entry_completion_get_inline_completion (GtkEntryCompletion *completion) * gtk_entry_completion_set_popup_completion: * @completion: a #GtkEntryCompletion * @popup_completion: %TRUE to do popup completion - * + * * Sets whether the completions should be presented in a popup window. - * + * * Since: 2.6 - **/ -void + */ +void gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion, - gboolean popup_completion) + gboolean popup_completion) { g_return_if_fail (GTK_IS_ENTRY_COMPLETION (completion)); - + popup_completion = popup_completion != FALSE; if (completion->priv->popup_completion != popup_completion) @@ -1890,18 +1924,18 @@ gtk_entry_completion_set_popup_completion (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_popup_completion: * @completion: a #GtkEntryCompletion - * + * * Returns whether the completions should be presented in a popup window. - * + * * Return value: %TRUE if popup completion is turned on - * + * * Since: 2.6 - **/ + */ gboolean gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion) { g_return_val_if_fail (GTK_IS_ENTRY_COMPLETION (completion), TRUE); - + return completion->priv->popup_completion; } @@ -1915,12 +1949,12 @@ gtk_entry_completion_get_popup_completion (GtkEntryCompletion *completion) * * Since: 2.8 */ -void +void gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion, - gboolean popup_set_width) + gboolean popup_set_width) { g_return_if_fail (GTK_IS_ENTRY_COMPLETION (completion)); - + popup_set_width = popup_set_width != FALSE; if (completion->priv->popup_set_width != popup_set_width) @@ -1934,20 +1968,20 @@ gtk_entry_completion_set_popup_set_width (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_popup_set_width: * @completion: a #GtkEntryCompletion - * - * Returns whether the completion popup window will be resized to the + * + * Returns whether the completion popup window will be resized to the * width of the entry. - * - * Return value: %TRUE if the popup window will be resized to the width of + * + * Return value: %TRUE if the popup window will be resized to the width of * the entry - * + * * Since: 2.8 - **/ + */ gboolean gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion) { g_return_val_if_fail (GTK_IS_ENTRY_COMPLETION (completion), TRUE); - + return completion->priv->popup_set_width; } @@ -1956,7 +1990,7 @@ gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion) * gtk_entry_completion_set_popup_single_match: * @completion: a #GtkEntryCompletion * @popup_single_match: %TRUE if the popup should appear even for a single - * match + * match * * Sets whether the completion popup window will appear even if there is * only a single match. You may want to set this to %FALSE if you @@ -1965,12 +1999,12 @@ gtk_entry_completion_get_popup_set_width (GtkEntryCompletion *completion) * * Since: 2.8 */ -void +void gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion, - gboolean popup_single_match) + gboolean popup_single_match) { g_return_if_fail (GTK_IS_ENTRY_COMPLETION (completion)); - + popup_single_match = popup_single_match != FALSE; if (completion->priv->popup_single_match != popup_single_match) @@ -1984,20 +2018,20 @@ gtk_entry_completion_set_popup_single_match (GtkEntryCompletion *completion, /** * gtk_entry_completion_get_popup_single_match: * @completion: a #GtkEntryCompletion - * + * * Returns whether the completion popup window will appear even if there is - * only a single match. - * + * only a single match. + * * Return value: %TRUE if the popup window will appear regardless of the - * number of matches. - * + * number of matches + * * Since: 2.8 - **/ + */ gboolean gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion) { g_return_val_if_fail (GTK_IS_ENTRY_COMPLETION (completion), TRUE); - + return completion->priv->popup_single_match; } @@ -2005,15 +2039,15 @@ gtk_entry_completion_get_popup_single_match (GtkEntryCompletion *completion) * gtk_entry_completion_set_inline_selection: * @completion: a #GtkEntryCompletion * @inline_selection: %TRUE to do inline selection - * + * * Sets whether it is possible to cycle through the possible completions * inside the entry. - * + * * Since: 2.12 - **/ + */ void gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion, - gboolean inline_selection) + gboolean inline_selection) { g_return_if_fail (GTK_IS_ENTRY_COMPLETION (completion)); @@ -2036,7 +2070,7 @@ gtk_entry_completion_set_inline_selection (GtkEntryCompletion *completion, * Returns: %TRUE if inline-selection mode is on * * Since: 2.12 - **/ + */ gboolean gtk_entry_completion_get_inline_selection (GtkEntryCompletion *completion) { diff --git a/gtk/gtkentrycompletion.h b/gtk/gtkentrycompletion.h index a5ba4226c9..368b944342 100644 --- a/gtk/gtkentrycompletion.h +++ b/gtk/gtkentrycompletion.h @@ -43,6 +43,23 @@ typedef struct _GtkEntryCompletion GtkEntryCompletion; typedef struct _GtkEntryCompletionClass GtkEntryCompletionClass; typedef struct _GtkEntryCompletionPrivate GtkEntryCompletionPrivate; +/** + * GtkEntryCompletionMatchFunc: + * @completion: the #GtkEntryCompletion + * @key: the string to match, normalized and case-folded + * @iter: a #GtkTreeIter indicating the row to match + * @user_data: user data given to gtk_entry_completion_set_match_func() + * + * A function which decides whether the row indicated by @iter matches + * a given @key, and should be displayed as a possible completion for @key. + * Note that @key is normalized and case-folded (see g_utf8_normalize() + * and g_utf8_casefold()). If this is not appropriate, match functions + * have access to the unmodified key via + * gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ())). + * + * Returns: %TRUE if @iter should be displayed as a possible completion + * for @key + */ typedef gboolean (* GtkEntryCompletionMatchFunc) (GtkEntryCompletion *completion, const gchar *key, GtkTreeIter *iter, @@ -67,10 +84,10 @@ struct _GtkEntryCompletionClass void (* action_activated) (GtkEntryCompletion *completion, gint index_); gboolean (* insert_prefix) (GtkEntryCompletion *completion, - const gchar *prefix); + const gchar *prefix); gboolean (* cursor_on_match) (GtkEntryCompletion *completion, - GtkTreeModel *model, - GtkTreeIter *iter); + GtkTreeModel *model, + GtkTreeIter *iter); /* Padding for future expansion */ void (*_gtk_reserved0) (void); From cfc70ca71bb77a041afb64b09d9782d481ed4315 Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Tue, 4 Jan 2011 20:24:47 +0000 Subject: [PATCH 1145/1463] Fix introspection build when builddir != srcdir So gdk/gdk.h can find gdk/gdkconfig.h, which is in $builddir because it's generated. --- gdk/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 80387ccdda..6c16c42a40 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -35,6 +35,7 @@ INCLUDES = \ -DG_LOG_DOMAIN=\"Gdk\" \ -DGDK_COMPILATION \ -I$(top_srcdir) \ + -I$(top_builddir) \ -I$(top_builddir)/gdk \ $(GTK_DEBUG_FLAGS) \ $(GDK_DEP_CFLAGS) From a108b2b08b796de7a8b1a725204c7cd953ded7a4 Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Tue, 4 Jan 2011 23:20:53 +0000 Subject: [PATCH 1146/1463] Fix build when builddir != srcdir --- gdk/tests/encoding.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/tests/encoding.c b/gdk/tests/encoding.c index e1d0307888..546bf29fae 100644 --- a/gdk/tests/encoding.c +++ b/gdk/tests/encoding.c @@ -1,6 +1,6 @@ #include #ifdef GDK_WINDOWING_X11 -#include "x11/gdkx.h" +#include #endif static void From c97652aeb43b56189b6fa591090a4888f53be6fc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 19:25:17 -0500 Subject: [PATCH 1147/1463] Decouple GdkWindowCache life-cycle from GdkX11DragContext By making window caches refcounted. This fixes problems with leaking drag contexts, as experienced in https://bugzilla.gnome.org/show_bug.cgi?id=637691 and https://bugzilla.gnome.org/show_bug.cgi?id=144324 Based on a patch by drago01@gmail.com --- gdk/x11/gdkdnd-x11.c | 56 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c index 0cb66c518a..4b8ee69aef 100644 --- a/gdk/x11/gdkdnd-x11.c +++ b/gdk/x11/gdkdnd-x11.c @@ -68,6 +68,7 @@ typedef struct { GHashTable *child_hash; guint old_event_mask; GdkScreen *screen; + gint ref_count; } GdkWindowCache; @@ -105,7 +106,9 @@ struct _GdkX11DragContextClass /* Forward declarations */ -static void gdk_window_cache_destroy (GdkWindowCache *cache); +static GdkWindowCache *gdk_window_cache_get (GdkScreen *screen); +static GdkWindowCache *gdk_window_cache_ref (GdkWindowCache *cache); +static void gdk_window_cache_unref (GdkWindowCache *cache); static void motif_read_target_table (GdkDisplay *display); @@ -137,6 +140,7 @@ static void xdnd_manage_source_filter (GdkDragContext *context, gboolean add_filter); static GList *contexts; +static GSList *window_caches; static const struct { const char *atom_name; @@ -212,8 +216,8 @@ gdk_x11_drag_context_class_init (GdkX11DragContextClass *klass) static void gdk_x11_drag_context_finalize (GObject *object) { - GdkX11DragContext *context_x11 = GDK_X11_DRAG_CONTEXT (object); GdkDragContext *context = GDK_DRAG_CONTEXT (object); + GdkX11DragContext *x11_context = GDK_X11_DRAG_CONTEXT (object); if (context->source_window) { @@ -221,7 +225,8 @@ gdk_x11_drag_context_finalize (GObject *object) xdnd_manage_source_filter (context, context->source_window, FALSE); } - g_slist_free_full (context_x11->window_caches, (GDestroyNotify)gdk_window_cache_destroy); + g_slist_free_full (x11_context->window_caches, (GDestroyNotify)gdk_window_cache_unref); + x11_context->window_caches = NULL; contexts = g_list_remove (contexts, context); @@ -509,6 +514,7 @@ gdk_window_cache_new (GdkScreen *screen) result->children = NULL; result->child_hash = g_hash_table_new (g_direct_hash, NULL); result->screen = screen; + result->ref_count = 1; XGetWindowAttributes (xdisplay, GDK_WINDOW_XID (root_window), &xwa); result->old_event_mask = xwa.your_event_mask; @@ -595,6 +601,48 @@ gdk_window_cache_destroy (GdkWindowCache *cache) g_free (cache); } +static GdkWindowCache * +gdk_window_cache_ref (GdkWindowCache *cache) +{ + cache->ref_count += 1; + + return cache; +} + +static void +gdk_window_cache_unref (GdkWindowCache *cache) +{ + g_assert (cache->ref_count > 0); + + cache->ref_count -= 1; + + if (cache->ref_count == 0) + { + window_caches = g_slist_remove (window_caches, cache); + gdk_window_cache_destroy (cache); + } +} + +GdkWindowCache * +gdk_window_cache_get (GdkScreen *screen) +{ + GSList *list; + GdkWindowCache *cache; + + for (list = window_caches; list; list = list->next) + { + cache = list->data; + if (cache->screen == screen) + return gdk_window_cache_ref (cache); + } + + cache = gdk_window_cache_new (screen); + + window_caches = g_slist_prepend (window_caches, cache); + + return cache; +} + static gboolean is_pointer_within_shape (GdkDisplay *display, GdkCacheChild *child, @@ -3229,7 +3277,7 @@ drag_context_find_window_cache (GdkX11DragContext *context_x11, return cache; } - cache = gdk_window_cache_new (screen); + cache = gdk_window_cache_get (screen); context_x11->window_caches = g_slist_prepend (context_x11->window_caches, cache); return cache; From 369b64b4279008f732807c7015501cad75610f0e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 21:57:21 -0500 Subject: [PATCH 1148/1463] Brush up configure output Show used X extensions, print backends, etc. Also make configure abort in some more cases when explicitly enabled options are missing dependencies. --- configure.ac | 91 +++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 73 insertions(+), 18 deletions(-) diff --git a/configure.ac b/configure.ac index 38502ba751..57e8b6d37c 100644 --- a/configure.ac +++ b/configure.ac @@ -248,12 +248,12 @@ AC_ARG_ENABLE(xkb, [enable_xkb="maybe"]) AC_ARG_ENABLE(xinerama, [AC_HELP_STRING([--enable-xinerama], - [support Xinerama extension if available [default=yes]])],, - [enable_xinerama="yes"]) + [support Xinerama extension if available [default=maybe]])],, + [enable_xinerama="maybe"]) AC_ARG_ENABLE(xinput, [AC_HELP_STRING([--enable-xinput], [support XInput extension if available [default=yes]])],, - [enable_xinput="yes"]) + [enable_xinput="maybe"]) AC_ARG_ENABLE(x11-backend, [AC_HELP_STRING([--enable-x11-backend], @@ -323,6 +323,8 @@ else AM_CONDITIONAL(USE_QUARTZ, false) fi +# strip leading space +GDK_BACKENDS=${GDK_BACKENDS/# } AC_SUBST(GDK_BACKENDS) @@ -731,6 +733,7 @@ AC_ARG_ENABLE(modules, [disable dynamic module loading])]) dynworks=false +build_dynamic_modules=no deps= if test x$enable_modules = xno; then AC_MSG_RESULT(no) @@ -758,10 +761,12 @@ else fi if $dynworks; then + build_dynamic_modules=yes AC_DEFINE(USE_GMODULE, 1, [Define to 1 if gmodule works and should be used]) AC_MSG_RESULT(yes) else + build_dynamic_modules=no AC_MSG_RESULT(no) fi fi @@ -878,6 +883,7 @@ fi # GTK+ uses some X calls, so needs to link against X directly GTK_DEP_PACKAGES_FOR_X= GTK_DEP_LIBS_FOR_X= +X_EXTENSIONS= if test "x$enable_x11_backend" == xyes; then X_PACKAGES=fontconfig @@ -977,10 +983,13 @@ if test "x$enable_x11_backend" == xyes; then # Check for XKB support. if test "x$enable_xkb" = "xyes"; then - AC_MSG_WARN(XKB support explicitly enabled) - AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension]) + AC_CHECK_FUNC(XkbQueryExtension, + X_EXTENSIONS="$X_EXTENSIONS XKB" + AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension]), + AC_MSG_ERROR([*** XKB extension not found. Check 'config.log' for more details.])) elif test "x$enable_xkb" = "xmaybe"; then AC_CHECK_FUNC(XkbQueryExtension, + X_EXTENSIONS="$X_EXTENSIONS XKB" AC_DEFINE(HAVE_XKB, 1, [Define to use XKB extension])) else AC_MSG_WARN(XKB support explicitly disabled) @@ -1002,19 +1011,23 @@ if test "x$enable_x11_backend" == xyes; then CFLAGS="$gtk_save_CFLAGS" - if test "x$enable_xinerama" = "xyes"; then + if test "x$enable_xinerama" != "xno"; then # Check for Xinerama extension (Solaris impl or Xfree impl) + have_xfree_xinerama=false + have_solaris_xinerama=false + gtk_save_cppflags="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $x_cflags" # Check for XFree - AC_MSG_CHECKING(for Xinerama support on XFree86) + AC_MSG_CHECKING(for Xinerama packages) - have_xfree_xinerama=false if $PKG_CONFIG --exists xinerama ; then + AC_MSG_RESULT(yes) have_xfree_xinerama=true X_PACKAGES="$X_PACKAGES xinerama" else + AC_MSG_RESULT(no) AC_CHECK_LIB(Xinerama, XineramaQueryExtension, [AC_CHECK_HEADER(X11/extensions/Xinerama.h, [GTK_ADD_LIB(x_extra_libs,Xinerama) @@ -1023,14 +1036,12 @@ if test "x$enable_x11_backend" == xyes; then fi if $have_xfree_xinerama ; then + X_EXTENSIONS="$X_EXTENSIONS Xinerama" AC_DEFINE(HAVE_XFREE_XINERAMA, 1, [Define to 1 if XFree Xinerama is available]) AC_DEFINE(HAVE_XINERAMA, 1, [Define to 1 is Xinerama is available]) - AC_MSG_RESULT(yes) else - AC_MSG_RESULT(no) - case "$host" in *-*-solaris*) # Check for solaris @@ -1043,6 +1054,7 @@ if test "x$enable_x11_backend" == xyes; then [#include ])]) if $have_solaris_xinerama ; then + X_EXTENSIONS="$X_EXTENSIONS Xinerama" AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1, [Define to 1 if solaris xinerama is available]) AC_DEFINE(HAVE_XINERAMA, 1, @@ -1057,6 +1069,11 @@ if test "x$enable_x11_backend" == xyes; then esac fi fi + if test "x$enable_xinerama" = "xyes" ; then + if test "x$have_xfree_xinerama" != "xtrue" -a "x$have_solaris_xinerama" != "xtrue" ; then + AC_MSG_ERROR([*** Xinerama extension not found. Check 'config.log' for more details.]) + fi + fi # set up things for XInput if test "x$enable_xinput" != "xno" && $PKG_CONFIG --exists "xi" ; then @@ -1068,7 +1085,11 @@ if test "x$enable_x11_backend" == xyes; then X_PACKAGES="$X_PACKAGES xi" AC_CHECK_HEADER(X11/extensions/XInput2.h, - have_xinput2=yes; AC_DEFINE(XINPUT_2, 1, [Define to 1 if XInput 2.0 is available])) + have_xinput2=yes + X_EXTENSIONS="$X_EXTENSIONS XI2" + AC_DEFINE(XINPUT_2, 1, [Define to 1 if XInput 2.0 is available]), + X_EXTENSIONS="$X_EXTENSIONS XInput") + else AC_DEFINE(XINPUT_NONE, 1, [Define to 1 if no XInput should be used]) @@ -1077,11 +1098,18 @@ if test "x$enable_x11_backend" == xyes; then AM_CONDITIONAL(XINPUT_XFREE, test "x$have_xinput" = "xyes") AM_CONDITIONAL(XINPUT_2, test "x$have_xinput2" = "xyes") + if test "x$enable_xinput" = "xyes" ; then + if test "x$have_xinput" != "xyes" -a "x$have_xinput2" != "xyes" ; then + AC_MSG_ERROR([*** XInput extension not found. Check 'config.log' for more details.]) + fi + fi + # Check for the RANDR extension if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library]) X_PACKAGES="$X_PACKAGES xrandr" + X_EXTENSIONS="$X_EXTENSIONS XRANDR" fi # Checks for Xcursor library @@ -1098,6 +1126,7 @@ if test "x$enable_x11_backend" == xyes; then AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension]) X_PACKAGES="$X_PACKAGES xfixes" + X_EXTENSIONS="$X_EXTENSIONS XFIXES" GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes" fi @@ -1107,6 +1136,7 @@ if test "x$enable_x11_backend" == xyes; then AC_DEFINE(HAVE_XCOMPOSITE, 1, [Have the XCOMPOSITE X extension]) X_PACKAGES="$X_PACKAGES xcomposite" + X_EXTENSIONS="$X_EXTENSIONS Composite" GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite" fi @@ -1116,6 +1146,7 @@ if test "x$enable_x11_backend" == xyes; then AC_DEFINE(HAVE_XDAMAGE, 1, [Have the XDAMAGE X extension]) X_PACKAGES="$X_PACKAGES xdamage" + X_EXTENSIONS="$X_EXTENSIONS DAMAGE" GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage" fi @@ -1129,6 +1160,10 @@ if test "x$enable_x11_backend" == xyes; then LIBS="$gtk_save_libs" AM_CONDITIONAL(USE_X11, true) + + # strip leading space + X_EXTENSIONS=${X_EXTENSIONS/# } + else XPACKAGES= @@ -1288,6 +1323,8 @@ LIBS="$old_LIBS" # Printing system checks ################################################################ +PRINT_BACKENDS="file lpr" + AC_ARG_ENABLE(cups, [AC_HELP_STRING([--disable-cups], [disable cups print backend])],, @@ -1326,6 +1363,7 @@ else AC_CHECK_HEADER(cups/cups.h,,AC_MSG_ERROR([[*** Sorry, cups-config present but cups/cups.h missing.]])) + PRINT_BACKENDS="$PRINT_BACKENDS cups" AM_CONDITIONAL(HAVE_CUPS, true) gtk_save_cflags="$CFLAGS" @@ -1359,6 +1397,7 @@ else AC_MSG_CHECKING(libpapi) AC_CHECK_LIB(papi, papiServiceCreate, have_papi=yes, have_papi=no) if test $have_papi = yes; then + PRINT_BACKENDS="$PRINT_BACKENDS papi" AC_DEFINE([HAVE_PAPI], [], [Define to 1 if libpapi available]) fi AM_CONDITIONAL(HAVE_PAPI, test $have_papi = yes) @@ -1395,6 +1434,9 @@ AC_ARG_ENABLE(test-print-backend, [AC_HELP_STRING([--enable-test-print-backend], [build test print backend])],, [enable_test_print_backend=no]) +if test "x$enable_test_print_backend" != "xno" ; then + PRINT_BACKENDS="$PRINT_BACKENDS test" +fi AM_CONDITIONAL(TEST_PRINT_BACKEND, test "x$enable_test_print_backend" != "xno") @@ -1438,16 +1480,15 @@ AC_ARG_ENABLE(packagekit, AC_HELP_STRING([--disable-packagekit], [build packagekit open-with module])) -ENABLE_PACKAGEKIT= +build_packagekit=no if test "os_win32" != "yes"; then if test "x$enable_packagekit" != "xno"; then - ENABLE_PACKAGEKIT=1 + build_packagekit=yes AC_DEFINE(ENABLE_PACKAGEKIT, 1, [define to enable packagekit]) fi fi -AC_SUBST(ENABLE_PACKAGEKIT) -AM_CONDITIONAL(ENABLE_PACKAGEKIT, test "x$ENABLE_PACKAGEKIT" = "x1") +AM_CONDITIONAL(ENABLE_PACKAGEKIT, test "x$build_packagekit" = "xyes") ################################################## # Checks for gtk-doc and docbook-tools @@ -1624,5 +1665,19 @@ perf/Makefile AC_OUTPUT -echo "configuration: - backends: $GDK_BACKENDS" +# beautify the immodule list a bit +included_immodules=${included_immodules//,/ } +included_immodules=${included_immodules:-none} + +echo "configuration:" +echo " GDK backends: $GDK_BACKENDS" +if test "x$enable_x11_backend" = "xyes"; then +echo " X11 extensions: $X_EXTENSIONS" +fi +echo " Print backends: $PRINT_BACKENDS" +echo " Dynamic modules: $build_dynamic_modules" +echo " Included immodules: $included_immodules" +echo " PackageKit support: $build_packagekit" +echo " Introspection: $found_introspection" +echo " Debugging: $enable_debug" +echo " Documentation: $enable_gtk_doc" From c1773bf2402130f7a1ece7ba554390b0ebc52976 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 22:01:48 -0500 Subject: [PATCH 1149/1463] Bump version to 2.99 --- configure.ac | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 57e8b6d37c..64debe1139 100644 --- a/configure.ac +++ b/configure.ac @@ -9,8 +9,8 @@ # set GTK_BINARY_AGE and GTK_INTERFACE_AGE to 0. m4_define([gtk_major_version], [2]) -m4_define([gtk_minor_version], [91]) -m4_define([gtk_micro_version], [8]) +m4_define([gtk_minor_version], [99]) +m4_define([gtk_micro_version], [0]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From 9ec7f51ac1ffca82896a7a14f6ebd0b75e68270f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 22:49:54 -0500 Subject: [PATCH 1150/1463] Update NEWS for 2.99 --- NEWS | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/NEWS b/NEWS index 070a53fbd0..b247decf67 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,100 @@ +Overview of Changes from GTK+ 2.91.7 to 2.99.0 +============================================== + +* Deprecations and removals: + - Long-obsolete linuxfb-related GtkWindow APIs have been dropped + - G_SEALed struct members have been removed from GtkMenu, + GtkMenuShell, GtkMenuItem, GtkSettings + - GtkThemeEngine has been removed + - gdk_display_get_window_at_device_position() has been renamed to + gdk_device_get_window_at_position() + - gdk_display_get_device_state() has been renamed to + gdk_device_get_position() + - gdk_device_set_source() has been dropped + - gdk_set_pointer_hooks(), gdk_display_set_pointer_hooks() and + gdk_display_set_device_hooks() have been removed + - The deprecated GtkNotebook:tab-pack child property has been removed + - The deprecated gtk_quit_add() functions have been removed + +* The gtk-update-icon-cache and gtk-builder-convert utilities have + been renamed back to their un-suffixed names. Distributions will + have to resolve the conflict between GTK+ 2.x and 3.0 packages + by dropping one set of the utilities and adding a dependency. + +* It is now possible to include multiple GDK backends in a single + library. The --with-gdk-backend option has been split into separate + --enable-{x11,win32,quartz}-backend options. + +* The GDK Quartz backend has been ported to the new GDK backend API + +* A number of widgets have been ported to use GtkStyleContext directly: + GtkAccelLabel, GtkArrow, GtkSeparator, GtkSpinButton, GtkMessageDialog, + GtkFrame, GtkEventBox, GtkScrolledWindow, GtkProgressBar, GtkEntry, + GtkFileChooserEntry, GtkSwitch, GtkHandleBox, GtkToolbar, GtkFixed, + GtkToolPalette, GtkAboutDialog, GtkAssistant, GtkTrayIcon, GtkPaned, + GtkToolButton, GtkSocket, GtkRecentChooser, GtkTooltip, GtkPathBar, + GtkWin32EmbedWidget, GtkCellView, GtkDialog, GtkDrawingArea, GtkPlug, + GtkEntryCompletion, GtkFileChooserButton, GtkFileChooser, GtkHandleBox, + GtkLinkButton, GtkOffscreenWindow + +* Various problems with width-for-height geometry management have been + fixed in GtkAlignment, GtkCheckButton, GtkBin + +* The GtkCellView and GtkComboBox widgets have been ported to use + GtkCellArea for their cell layouts. + +* The cups print backend can now send print jobs directly in PDF if + cups supports it + +* Bugs fixed: + 144324 Leaking dnd contexts with XDnD + 165987 unsets DESKTOP_STARTUP_ID + 307963 GtkSpinButton clamps value with the wrong maximum. + 321958 gtk.Calendar Notes should also say the format of year + 533745 Segfault on gdk.DragContext.drag_get_selection() + 553404 Out-of-date comment in gtk_text_view_add_child_in_window() + 559503 Description should mention gregorian + 560177 Applications should send print jobs to CUPS in PDF format... + 562182 gtk_init() docs inaccurate + 599130 Ending a drag using space or enter doesn't always cause a... + 617312 Move documentation to inline comments: GtkDialog + 617315 Move documentation to inline comments: GtkDrawingArea + 617322 Move documentation to inline comments: GtkEntryCompletion + 617327 Move documentation to inline comments: GtkExpander + 617471 Migrate API docs from templates to source files... + 621720 Use $(AM_V_GEN) to silent the build a bit. + 622125 Note that gtk_show_uri needs gvfs to spawn URLs + 629955 Deprecate/remove gtk_main and gtk_init_add/remove* API + 633795 gdk_event_get_state wrongly extracts GDK_PROPERTY_NOTIFY... + 634711 Xlib warning when RANDR is missing + 635299 add gtk_selection_data_get_data_with_length API... + 637691 Eating events breaks proxied DND + 637721 gtk 2.91.6 issue with gtkcellrendererprogress + 637736 [GtkAboutDialog] Newlines are ignored in translator-credits + 637763 [GtkAboutDialog] no longer display contact link + 637834 gtk_widget_verify_invariants: relax toplevel checks + 637849 Shell segfaults when unicode characters after U+00FF... + 637895 gdk_pointer_grab() deprecated comment is not helpful enough + 637907 gtkwindow.h includes a private header + 637910 GtkSpinner - does not animate + 637958 print dialog doesn't fit on netbook screen size + 637974 Gtk+ 2.91.7 build of introspection fails + 638179 in draw signal handle call gtk_style_context_add_provider... + 638193 GtkSpinButton documentation out of date + 638231 GtkSwitch states translation + 638386 gdk_x11_display_init_input careless + 638580 'application' window's property released too late + 638608 gtkenums: add GTK_STATE_FLAG_NORMAL = 0 + +* Updated translations: + Kurdish + Norwegian bokmål + Punjabi + Spanish + Swedish + Uighur + + Overview of Changes from GTK+ 2.91.6 to 2.91.7 ============================================== From c4f0bbb13087da69de371b23a3dcfa09003399e4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 23:15:35 -0500 Subject: [PATCH 1151/1463] fix documentation build --- gtk/gtkexpander.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 7e173bcdca..70b701a07d 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -26,15 +26,17 @@ * @Short_description: A container which can hide its child * @Title: GtkExpander * + * * A #GtkExpander allows the user to hide or show its child by clicking * on an expander triangle similar to the triangles used in a #GtkTreeView. - * + * + * * Normally you use an expander as you would use any other descendant * of #GtkBin; you create the child widget and use gtk_container_add() * to add it to the expander. When the expander is toggled, it will take * care of showing and hiding the child automatically. - * - *
+ * + * * Special Usage * * There are situations in which you may prefer to show and hide the @@ -45,6 +47,7 @@ * its expansion state. You should watch this property with a signal * connection as follows: * + * * * expander = gtk_expander_new_with_mnemonic ("_More Options"); * g_signal_connect (expander, "notify::expanded", @@ -71,7 +74,8 @@ * } * } * - *
+ * + *
* * GtkExpander as GtkBuildable * From 5c1502479ae87521899c545c404966a965894fb8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 23:40:41 -0500 Subject: [PATCH 1152/1463] Fix gdk/abicheck.sh temporarily The best fix for now is to just hardcode the X11 backend again --- gdk/abicheck.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/abicheck.sh b/gdk/abicheck.sh index 14e9e736ea..2bfefafcfa 100755 --- a/gdk/abicheck.sh +++ b/gdk/abicheck.sh @@ -1,5 +1,5 @@ #! /bin/sh -cpp -P -DGDK_ENABLE_BROKEN -include ../config.h ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi +cpp -P -DGDK_WINDOWING_X11 ${srcdir:-.}/gdk.symbols | sed -e '/^$/d' -e 's/ G_GNUC.*$//' | sort | uniq > expected-abi nm -D -g --defined-only .libs/libgdk-3.0.so | cut -d ' ' -f 3 | egrep -v '^(__bss_start|_edata|_end)' | sort > actual-abi diff -u expected-abi actual-abi && rm -f expected-abi actual-abi From e608cc4eafaf6413da206ac9427c39d2e7783381 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 4 Jan 2011 23:45:34 -0500 Subject: [PATCH 1153/1463] Update gtk symbol list --- gtk/gtk.symbols | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 13c8bafdf7..954e17c435 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -504,8 +504,6 @@ gtk_cell_renderer_toggle_new gtk_cell_renderer_toggle_set_activatable gtk_cell_renderer_toggle_set_active gtk_cell_renderer_toggle_set_radio -gtk_cell_view_get_desired_height_for_width_of_row -gtk_cell_view_get_desired_width_of_row gtk_cell_view_get_displayed_row gtk_cell_view_get_draw_sensitive gtk_cell_view_get_fit_model @@ -607,6 +605,7 @@ gtk_color_selection_set_has_palette gtk_color_selection_set_previous_alpha gtk_color_selection_set_previous_color gtk_color_selection_set_previous_rgba +gtk_combo_box_cell_layout_get_area gtk_combo_box_get_active gtk_combo_box_get_active_id gtk_combo_box_get_active_iter @@ -1478,6 +1477,7 @@ gtk_menu_item_activate gtk_menu_item_deselect gtk_menu_item_get_accel_path gtk_menu_item_get_label +gtk_menu_item_get_reserve_indicator gtk_menu_item_get_right_justified gtk_menu_item_get_submenu gtk_menu_item_get_type G_GNUC_CONST @@ -1488,6 +1488,7 @@ gtk_menu_item_new_with_mnemonic gtk_menu_item_select gtk_menu_item_set_accel_path gtk_menu_item_set_label +gtk_menu_item_set_reserve_indicator gtk_menu_item_set_right_justified gtk_menu_item_set_submenu gtk_menu_item_set_use_underline @@ -1801,6 +1802,8 @@ gtk_printer_request_details gtk_print_error_get_type G_GNUC_CONST gtk_print_error_quark #ifdef G_OS_UNIX +gtk_printer_set_accepts_pdf +gtk_printer_set_accepts_ps gtk_printer_set_description gtk_printer_set_has_details gtk_printer_set_icon_name @@ -2005,11 +2008,6 @@ gtk_progress_bar_set_pulse_step gtk_progress_bar_set_show_text gtk_progress_bar_set_text gtk_propagate_event -gtk_quit_add -gtk_quit_add_destroy -gtk_quit_add_full -gtk_quit_remove -gtk_quit_remove_by_data gtk_radio_action_get_current_value gtk_radio_action_get_group gtk_radio_action_get_type G_GNUC_CONST From c43a31ea33fe048fe74cd669418bea58d544ffab Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 4 Jan 2011 17:23:07 +0100 Subject: [PATCH 1154/1463] API: range: Remove update policy It's unused and complicates code a lot. In particular, it breaks the adjustment/range abstractions. --- docs/reference/gtk/gtk3-sections.txt | 3 - gtk/gtk.symbols | 2 - gtk/gtkenums.h | 8 -- gtk/gtkrange.c | 159 +-------------------------- gtk/gtkrange.h | 4 - tests/testgtk.c | 3 - 6 files changed, 1 insertion(+), 178 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 9b565514b8..a85aef7bc6 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -2449,11 +2449,9 @@ gtk_range_set_fill_level gtk_range_set_restrict_to_fill_level gtk_range_set_show_fill_level gtk_range_get_adjustment -gtk_range_set_update_policy gtk_range_set_adjustment gtk_range_get_inverted gtk_range_set_inverted -gtk_range_get_update_policy gtk_range_get_value gtk_range_set_increments gtk_range_set_range @@ -5984,7 +5982,6 @@ GtkShadowType GtkStateType GtkStateFlags GtkToolbarStyle -GtkUpdateType GtkWindowPosition GtkWindowType GtkSortType diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 954e17c435..5cf8525014 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2053,7 +2053,6 @@ gtk_range_get_show_fill_level gtk_range_get_slider_range gtk_range_get_slider_size_fixed gtk_range_get_type G_GNUC_CONST -gtk_range_get_update_policy gtk_range_get_upper_stepper_sensitivity gtk_range_get_value gtk_range_set_adjustment @@ -2067,7 +2066,6 @@ gtk_range_set_range gtk_range_set_restrict_to_fill_level gtk_range_set_show_fill_level gtk_range_set_slider_size_fixed -gtk_range_set_update_policy gtk_range_set_upper_stepper_sensitivity gtk_range_set_value gtk_rc_add_default_file diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 2a029258ac..1eb3b9f2b4 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -401,14 +401,6 @@ typedef enum GTK_TOOLBAR_BOTH_HORIZ } GtkToolbarStyle; -/* Data update types (for ranges) */ -typedef enum -{ - GTK_UPDATE_CONTINUOUS, - GTK_UPDATE_DISCONTINUOUS, - GTK_UPDATE_DELAYED -} GtkUpdateType; - /* Window position types */ typedef enum { diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index ffd45e97b4..8499432660 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -87,7 +87,6 @@ struct _GtkRangePrivate GtkOrientation orientation; GtkSensitivityType lower_sensitivity; GtkSensitivityType upper_sensitivity; - GtkUpdateType update_policy; GdkDevice *grab_device; GdkRectangle range_rect; /* Area of entire stepper + trough assembly in widget->window coords */ @@ -118,7 +117,6 @@ struct _GtkRangePrivate gint slider_end; guint repaint_id; - guint update_timeout_id; /* Steppers are: < > ---- < > * a b c d @@ -133,7 +131,6 @@ struct _GtkRangePrivate guint need_recalc : 1; guint slider_size_fixed : 1; guint trough_click_forward : 1; /* trough click was on the forward side of slider */ - guint update_pending : 1; /* need to emit value_changed */ /* Stepper sensitivity */ guint lower_sensitive : 1; @@ -148,7 +145,6 @@ struct _GtkRangePrivate enum { PROP_0, PROP_ORIENTATION, - PROP_UPDATE_POLICY, PROP_ADJUSTMENT, PROP_INVERTED, PROP_LOWER_STEPPER_SENSITIVITY, @@ -266,14 +262,11 @@ static void gtk_range_adjustment_changed (GtkAdjustment *adjustme static void gtk_range_add_step_timer (GtkRange *range, GtkScrollType step); static void gtk_range_remove_step_timer (GtkRange *range); -static void gtk_range_reset_update_timer (GtkRange *range); -static void gtk_range_remove_update_timer (GtkRange *range); static GdkRectangle* get_area (GtkRange *range, MouseLocation location); static gboolean gtk_range_real_change_value (GtkRange *range, GtkScrollType scroll, gdouble value); -static void gtk_range_update_value (GtkRange *range); static gboolean gtk_range_key_press (GtkWidget *range, GdkEventKey *event); @@ -416,15 +409,6 @@ gtk_range_class_init (GtkRangeClass *class) PROP_ORIENTATION, "orientation"); - g_object_class_install_property (gobject_class, - PROP_UPDATE_POLICY, - g_param_spec_enum ("update-policy", - P_("Update policy"), - P_("How the range should be updated on the screen"), - GTK_TYPE_UPDATE_TYPE, - GTK_UPDATE_CONTINUOUS, - GTK_PARAM_READWRITE)); - g_object_class_install_property (gobject_class, PROP_ADJUSTMENT, g_param_spec_object ("adjustment", @@ -624,9 +608,6 @@ gtk_range_set_property (GObject *object, gtk_widget_queue_resize (GTK_WIDGET (range)); break; - case PROP_UPDATE_POLICY: - gtk_range_set_update_policy (range, g_value_get_enum (value)); - break; case PROP_ADJUSTMENT: gtk_range_set_adjustment (range, g_value_get_object (value)); break; @@ -668,9 +649,6 @@ gtk_range_get_property (GObject *object, case PROP_ORIENTATION: g_value_set_enum (value, priv->orientation); break; - case PROP_UPDATE_POLICY: - g_value_set_enum (value, priv->update_policy); - break; case PROP_ADJUSTMENT: g_value_set_object (value, priv->adjustment); break; @@ -712,7 +690,6 @@ gtk_range_init (GtkRange *range) priv->orientation = GTK_ORIENTATION_HORIZONTAL; priv->adjustment = NULL; - priv->update_policy = GTK_UPDATE_CONTINUOUS; priv->inverted = FALSE; priv->flippable = FALSE; priv->min_slider_size = 1; @@ -763,53 +740,6 @@ gtk_range_get_adjustment (GtkRange *range) return priv->adjustment; } -/** - * gtk_range_set_update_policy: - * @range: a #GtkRange - * @policy: update policy - * - * Sets the update policy for the range. #GTK_UPDATE_CONTINUOUS means that - * anytime the range slider is moved, the range value will change and the - * value_changed signal will be emitted. #GTK_UPDATE_DELAYED means that - * the value will be updated after a brief timeout where no slider motion - * occurs, so updates are spaced by a short time rather than - * continuous. #GTK_UPDATE_DISCONTINUOUS means that the value will only - * be updated when the user releases the button and ends the slider - * drag operation. - **/ -void -gtk_range_set_update_policy (GtkRange *range, - GtkUpdateType policy) -{ - GtkRangePrivate *priv; - - g_return_if_fail (GTK_IS_RANGE (range)); - - priv = range->priv; - - if (priv->update_policy != policy) - { - priv->update_policy = policy; - g_object_notify (G_OBJECT (range), "update-policy"); - } -} - -/** - * gtk_range_get_update_policy: - * @range: a #GtkRange - * - * Gets the update policy of @range. See gtk_range_set_update_policy(). - * - * Return value: the current update policy - **/ -GtkUpdateType -gtk_range_get_update_policy (GtkRange *range) -{ - g_return_val_if_fail (GTK_IS_RANGE (range), GTK_UPDATE_CONTINUOUS); - - return range->priv->update_policy; -} - /** * gtk_range_set_adjustment: * @range: a #GtkRange @@ -1528,7 +1458,6 @@ gtk_range_destroy (GtkWidget *widget) GtkRangePrivate *priv = range->priv; gtk_range_remove_step_timer (range); - gtk_range_remove_update_timer (range); if (priv->repaint_id) g_source_remove (priv->repaint_id); @@ -1780,7 +1709,6 @@ gtk_range_unrealize (GtkWidget *widget) GtkRangePrivate *priv = range->priv; gtk_range_remove_step_timer (range); - gtk_range_remove_update_timer (range); gdk_window_set_user_data (priv->event_window, NULL); gdk_window_destroy (priv->event_window); @@ -2682,8 +2610,6 @@ stop_scrolling (GtkRange *range) { range_grab_remove (range); gtk_range_remove_step_timer (range); - /* Flush any pending discontinuous/delayed updates */ - gtk_range_update_value (range); } static gboolean @@ -2800,13 +2726,6 @@ gtk_range_scroll_event (GtkWidget *widget, g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_JUMP, adj->value + delta, &handled); - - /* Policy DELAYED makes sense with scroll events, - * but DISCONTINUOUS doesn't, so we update immediately - * for DISCONTINUOUS - */ - if (priv->update_policy == GTK_UPDATE_DISCONTINUOUS) - gtk_range_update_value (range); } return TRUE; @@ -3234,13 +3153,6 @@ gtk_range_move_slider (GtkRange *range, if (! gtk_range_scroll (range, scroll)) gtk_widget_error_bell (GTK_WIDGET (range)); - - /* Policy DELAYED makes sense with key events, - * but DISCONTINUOUS doesn't, so we update immediately - * for DISCONTINUOUS - */ - if (priv->update_policy == GTK_UPDATE_DISCONTINUOUS) - gtk_range_update_value (range); } static void @@ -4022,43 +3934,11 @@ gtk_range_real_change_value (GtkRange *range, gtk_widget_queue_draw (GTK_WIDGET (range)); - switch (priv->update_policy) - { - case GTK_UPDATE_CONTINUOUS: - gtk_adjustment_set_value (priv->adjustment, value); - break; - - /* Delayed means we update after a period of inactivity */ - case GTK_UPDATE_DELAYED: - gtk_range_reset_update_timer (range); - /* FALL THRU */ - - /* Discontinuous means we update on button release */ - case GTK_UPDATE_DISCONTINUOUS: - /* don't emit value_changed signal */ - priv->adjustment->value = value; - priv->update_pending = TRUE; - break; - } + gtk_adjustment_set_value (priv->adjustment, value); } return FALSE; } -static void -gtk_range_update_value (GtkRange *range) -{ - GtkRangePrivate *priv = range->priv; - - gtk_range_remove_update_timer (range); - - if (priv->update_pending) - { - gtk_adjustment_value_changed (priv->adjustment); - - priv->update_pending = FALSE; - } -} - struct _GtkRangeStepTimer { guint timeout_id; @@ -4134,43 +4014,6 @@ gtk_range_remove_step_timer (GtkRange *range) } } -static gboolean -update_timeout (gpointer data) -{ - GtkRange *range = GTK_RANGE (data); - GtkRangePrivate *priv = range->priv; - - gtk_range_update_value (range); - priv->update_timeout_id = 0; - - /* self-remove */ - return FALSE; -} - -static void -gtk_range_reset_update_timer (GtkRange *range) -{ - GtkRangePrivate *priv = range->priv; - - gtk_range_remove_update_timer (range); - - priv->update_timeout_id = gdk_threads_add_timeout (UPDATE_DELAY, - update_timeout, - range); -} - -static void -gtk_range_remove_update_timer (GtkRange *range) -{ - GtkRangePrivate *priv = range->priv; - - if (priv->update_timeout_id != 0) - { - g_source_remove (priv->update_timeout_id); - priv->update_timeout_id = 0; - } -} - void _gtk_range_set_stop_values (GtkRange *range, gdouble *values, diff --git a/gtk/gtkrange.h b/gtk/gtkrange.h index 55f23283e5..92ac96fa16 100644 --- a/gtk/gtkrange.h +++ b/gtk/gtkrange.h @@ -91,10 +91,6 @@ struct _GtkRangeClass GType gtk_range_get_type (void) G_GNUC_CONST; -void gtk_range_set_update_policy (GtkRange *range, - GtkUpdateType policy); -GtkUpdateType gtk_range_get_update_policy (GtkRange *range); - void gtk_range_set_adjustment (GtkRange *range, GtkAdjustment *adjustment); GtkAdjustment* gtk_range_get_adjustment (GtkRange *range); diff --git a/tests/testgtk.c b/tests/testgtk.c index bded12ded1..aee2cedfe0 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -5867,15 +5867,12 @@ create_range_controls (GtkWidget *widget) scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); gtk_widget_set_size_request (GTK_WIDGET (scale), 150, -1); - gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED); gtk_scale_set_digits (GTK_SCALE (scale), 1); gtk_scale_set_draw_value (GTK_SCALE (scale), TRUE); gtk_box_pack_start (GTK_BOX (box2), scale, TRUE, TRUE, 0); gtk_widget_show (scale); scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_ADJUSTMENT (adjustment)); - gtk_range_set_update_policy (GTK_RANGE (scrollbar), - GTK_UPDATE_CONTINUOUS); gtk_box_pack_start (GTK_BOX (box2), scrollbar, TRUE, TRUE, 0); gtk_widget_show (scrollbar); From beec484964545cbd14da6c1f3c0681a95d691032 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:12:17 +0100 Subject: [PATCH 1155/1463] toolpalette: Update adjustment usage for sealing --- gtk/gtktoolpalette.c | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 195a43adfb..e35bf813f8 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -662,33 +662,35 @@ gtk_tool_palette_size_allocate (GtkWidget *widget, /* update the scrollbar to match the displayed adjustment */ if (adjustment) { - gdouble value; - - adjustment->page_increment = page_size * 0.9; - adjustment->step_increment = page_size * 0.1; - adjustment->page_size = page_size; + gdouble value, lower, upper; if (GTK_ORIENTATION_VERTICAL == palette->priv->orientation || GTK_TEXT_DIR_LTR == direction) { - adjustment->lower = 0; - adjustment->upper = MAX (0, page_start); + lower = 0; + upper = MAX (0, page_start); - value = MIN (offset, adjustment->upper - adjustment->page_size); + value = MIN (offset, upper - page_size); gtk_adjustment_clamp_page (adjustment, value, offset + page_size); } else { - adjustment->lower = page_size - MAX (0, page_start); - adjustment->upper = page_size; + lower = page_size - MAX (0, page_start); + upper = page_size; offset = -offset; - value = MAX (offset, adjustment->lower); + value = MAX (offset, lower); gtk_adjustment_clamp_page (adjustment, offset, value + page_size); } - gtk_adjustment_changed (adjustment); + gtk_adjustment_configure (adjustment, + value, + lower, + upper, + page_size * 0.1, + page_size * 0.9, + page_size); } } From fdedc8e3761fdd24c69ffa3bfb41194736ce291e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:14:31 +0100 Subject: [PATCH 1156/1463] colorsel: Update adjustment usage for sealing --- gtk/gtkcolorsel.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index 9831506521..b817f2e3bb 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -2074,7 +2074,7 @@ adjustment_changed (GtkAdjustment *adjustment, { case COLORSEL_SATURATION: case COLORSEL_VALUE: - priv->color[GPOINTER_TO_INT (data)] = adjustment->value / 100; + priv->color[GPOINTER_TO_INT (data)] = gtk_adjustment_get_value (adjustment) / 100; gtk_hsv_to_rgb (priv->color[COLORSEL_HUE], priv->color[COLORSEL_SATURATION], priv->color[COLORSEL_VALUE], @@ -2083,7 +2083,7 @@ adjustment_changed (GtkAdjustment *adjustment, &priv->color[COLORSEL_BLUE]); break; case COLORSEL_HUE: - priv->color[GPOINTER_TO_INT (data)] = adjustment->value / 360; + priv->color[GPOINTER_TO_INT (data)] = gtk_adjustment_get_value (adjustment) / 360; gtk_hsv_to_rgb (priv->color[COLORSEL_HUE], priv->color[COLORSEL_SATURATION], priv->color[COLORSEL_VALUE], @@ -2094,7 +2094,7 @@ adjustment_changed (GtkAdjustment *adjustment, case COLORSEL_RED: case COLORSEL_GREEN: case COLORSEL_BLUE: - priv->color[GPOINTER_TO_INT (data)] = adjustment->value / 255; + priv->color[GPOINTER_TO_INT (data)] = gtk_adjustment_get_value (adjustment) / 255; gtk_rgb_to_hsv (priv->color[COLORSEL_RED], priv->color[COLORSEL_GREEN], @@ -2104,7 +2104,7 @@ adjustment_changed (GtkAdjustment *adjustment, &priv->color[COLORSEL_VALUE]); break; default: - priv->color[GPOINTER_TO_INT (data)] = adjustment->value / 255; + priv->color[GPOINTER_TO_INT (data)] = gtk_adjustment_get_value (adjustment) / 255; break; } update_color (colorsel); From c6697af962c042a939d6e8954c4cdd744bfea9d3 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:17:18 +0100 Subject: [PATCH 1157/1463] layout: Update adjustment usage for sealing --- gtk/gtklayout.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index bf43bd83e8..f3dae47139 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -878,8 +878,8 @@ gtk_layout_realize (GtkWidget *widget) gtk_widget_get_allocation (widget, &allocation); - attributes.x = - priv->hadjustment->value, - attributes.y = - priv->vadjustment->value; + attributes.x = - gtk_adjustment_get_value (priv->hadjustment), + attributes.y = - gtk_adjustment_get_value (priv->vadjustment); attributes.width = MAX (priv->width, allocation.width); attributes.height = MAX (priv->height, allocation.height); attributes.event_mask = GDK_EXPOSURE_MASK | GDK_SCROLL_MASK | @@ -1112,8 +1112,8 @@ gtk_layout_adjustment_changed (GtkAdjustment *adjustment, if (gtk_widget_get_realized (GTK_WIDGET (layout))) { gdk_window_move (priv->bin_window, - - priv->hadjustment->value, - - priv->vadjustment->value); + - gtk_adjustment_get_value (priv->hadjustment), + - gtk_adjustment_get_value (priv->vadjustment)); gdk_window_process_updates (priv->bin_window, TRUE); } From 79cc672f3f6e4091cba23f413f4209fc9b8047ae Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:25:28 +0100 Subject: [PATCH 1158/1463] toolitemgroup: Update adjustment usage for sealing --- gtk/gtktoolitemgroup.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index 20cc10b797..47dc71f8cc 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -1112,13 +1112,13 @@ gtk_tool_item_group_set_focus_cb (GtkWidget *window, if (gtk_widget_translate_coordinates (widget, p, 0, 0, NULL, &y) && y < 0) { - y += adjustment->value; + y += gtk_adjustment_get_value (adjustment); gtk_adjustment_clamp_page (adjustment, y, y + allocation.height); } else if (gtk_widget_translate_coordinates (widget, p, 0, allocation.height, NULL, &y) && y > p_allocation.height) { - y += adjustment->value; + y += gtk_adjustment_get_value (adjustment); gtk_adjustment_clamp_page (adjustment, y - allocation.height, y); } } @@ -1136,13 +1136,13 @@ gtk_tool_item_group_set_focus_cb (GtkWidget *window, if (gtk_widget_translate_coordinates (widget, p, 0, 0, &x, NULL) && x < 0) { - x += adjustment->value; + x += gtk_adjustment_get_value (adjustment); gtk_adjustment_clamp_page (adjustment, x, x + allocation.width); } else if (gtk_widget_translate_coordinates (widget, p, allocation.width, 0, &x, NULL) && x > p_allocation.width) { - x += adjustment->value; + x += gtk_adjustment_get_value (adjustment); gtk_adjustment_clamp_page (adjustment, x - allocation.width, x); } From bb648319873f863918a99a3598c88db496567bc0 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:27:12 +0100 Subject: [PATCH 1159/1463] tests: Update adjustment usage for sealing --- gtk/tests/treeview-scrolling.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/tests/treeview-scrolling.c b/gtk/tests/treeview-scrolling.c index 40d5b81c75..b165f431fb 100644 --- a/gtk/tests/treeview-scrolling.c +++ b/gtk/tests/treeview-scrolling.c @@ -892,7 +892,7 @@ scroll_new_row_tree (ScrollFixture *fixture, gtk_main_iteration (); /* Test position, the scroll bar must be at the end */ - g_assert (vadjustment->value == vadjustment->upper - vadjustment->page_size); + g_assert (gtk_adjustment_get_value (vadjustment) == gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment)); } } From e93eb207943d4e65d58ea9fe9c0847a6528103a2 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:43:12 +0100 Subject: [PATCH 1160/1463] treeview: Update adjustment usage for sealing Use gtk_adjustment_configure() when toggling header visibility. --- gtk/gtktreeview.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index f785fc054f..4a715e84f8 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -11669,11 +11669,13 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, } gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation); - tree_view->priv->vadjustment->page_size = allocation.height - gtk_tree_view_get_effective_header_height (tree_view); - tree_view->priv->vadjustment->page_increment = (allocation.height - gtk_tree_view_get_effective_header_height (tree_view)) / 2; - tree_view->priv->vadjustment->lower = 0; - tree_view->priv->vadjustment->upper = tree_view->priv->height; - gtk_adjustment_changed (tree_view->priv->vadjustment); + gtk_adjustment_configure (tree_view->priv->vadjustment, + gtk_adjustment_get_value (tree_view->priv->vadjustment), + 0, + tree_view->priv->height, + gtk_adjustment_get_step_increment (tree_view->priv->vadjustment), + (allocation.height - gtk_tree_view_get_effective_header_height (tree_view)) / 2, + allocation.height - gtk_tree_view_get_effective_header_height (tree_view)); gtk_widget_queue_resize (GTK_WIDGET (tree_view)); From 6ff585e18951e27cea2883e59aa0d0e3cc41d55e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 13:58:28 +0100 Subject: [PATCH 1161/1463] treeview: Update adjustment usage for sealing Use gtk_adjustment_set_upper() instead of doing its work manually. --- gtk/gtktreeview.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 4a715e84f8..5d918781cb 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -6572,10 +6572,10 @@ validate_visible_area (GtkTreeView *tree_view) gtk_widget_get_preferred_size (GTK_WIDGET (tree_view), &requisition, NULL); - tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->upper, (gfloat)requisition.width); - tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->upper, (gfloat)requisition.height); - gtk_adjustment_changed (tree_view->priv->hadjustment); - gtk_adjustment_changed (tree_view->priv->vadjustment); + gtk_adjustment_set_upper (tree_view->priv->hadjustment, + MAX (gtk_adjustment_get_upper (tree_view->priv->hadjustment), requisition.width)); + gtk_adjustment_set_upper (tree_view->priv->vadjustment, + MAX (gtk_adjustment_get_upper (tree_view->priv->vadjustment), requisition.height)); gtk_widget_queue_resize (GTK_WIDGET (tree_view)); } @@ -6772,10 +6772,10 @@ do_validate_rows (GtkTreeView *tree_view, gboolean queue_resize) */ gtk_tree_view_size_request (GTK_WIDGET (tree_view), &requisition, FALSE); - tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->upper, (gfloat)requisition.width); - tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->upper, (gfloat)requisition.height); - gtk_adjustment_changed (tree_view->priv->hadjustment); - gtk_adjustment_changed (tree_view->priv->vadjustment); + gtk_adjustment_set_upper (tree_view->priv->hadjustment, + MAX (gtk_adjustment_get_upper (tree_view->priv->hadjustment), requisition.width)); + gtk_adjustment_set_upper (tree_view->priv->vadjustment, + MAX (gtk_adjustment_get_upper (tree_view->priv->vadjustment), requisition.height)); if (queue_resize) gtk_widget_queue_resize (GTK_WIDGET (tree_view)); @@ -6837,10 +6837,10 @@ do_presize_handler (GtkTreeView *tree_view) gtk_widget_get_preferred_size (GTK_WIDGET (tree_view), &requisition, NULL); - tree_view->priv->hadjustment->upper = MAX (tree_view->priv->hadjustment->upper, (gfloat)requisition.width); - tree_view->priv->vadjustment->upper = MAX (tree_view->priv->vadjustment->upper, (gfloat)requisition.height); - gtk_adjustment_changed (tree_view->priv->hadjustment); - gtk_adjustment_changed (tree_view->priv->vadjustment); + gtk_adjustment_set_upper (tree_view->priv->hadjustment, + MAX (gtk_adjustment_get_upper (tree_view->priv->hadjustment), requisition.width)); + gtk_adjustment_set_upper (tree_view->priv->vadjustment, + MAX (gtk_adjustment_get_upper (tree_view->priv->vadjustment), requisition.height)); gtk_widget_queue_resize (GTK_WIDGET (tree_view)); } From f65fa81e3ad38d70a34a46a12f2624217fb6430f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 14:12:24 +0100 Subject: [PATCH 1162/1463] treeview: Update adjustment usage for sealing Use getters instead of direct structure access. --- gtk/gtktreeview.c | 138 +++++++++++++++++++++++----------------------- 1 file changed, 69 insertions(+), 69 deletions(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 5d918781cb..fc599c996f 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -2762,7 +2762,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget, allocation->width * 0.1); gtk_adjustment_set_lower (tree_view->priv->hadjustment, 0); gtk_adjustment_set_upper (tree_view->priv->hadjustment, - MAX (tree_view->priv->hadjustment->page_size, + MAX (gtk_adjustment_get_page_size (tree_view->priv->hadjustment), tree_view->priv->width)); g_object_thaw_notify (G_OBJECT (tree_view->priv->hadjustment)); @@ -2780,13 +2780,13 @@ gtk_tree_view_size_allocate (GtkWidget *widget, else if (allocation->width != old_width) { gtk_adjustment_set_value (tree_view->priv->hadjustment, - CLAMP (tree_view->priv->hadjustment->value - allocation->width + old_width, + CLAMP (gtk_adjustment_get_value (tree_view->priv->hadjustment) - allocation->width + old_width, 0, tree_view->priv->width - allocation->width)); } else gtk_adjustment_set_value (tree_view->priv->hadjustment, - CLAMP (tree_view->priv->width - (tree_view->priv->prev_width - tree_view->priv->hadjustment->value), + CLAMP (tree_view->priv->width - (tree_view->priv->prev_width - gtk_adjustment_get_value (tree_view->priv->hadjustment)), 0, tree_view->priv->width - allocation->width)); } @@ -2797,7 +2797,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget, } } else - if (tree_view->priv->hadjustment->value + allocation->width > tree_view->priv->width) + if (gtk_adjustment_get_value (tree_view->priv->hadjustment) + allocation->width > tree_view->priv->width) gtk_adjustment_set_value (tree_view->priv->hadjustment, MAX (tree_view->priv->width - allocation->width, 0)); @@ -2807,21 +2807,21 @@ gtk_tree_view_size_allocate (GtkWidget *widget, allocation->height - gtk_tree_view_get_effective_header_height (tree_view)); gtk_adjustment_set_step_increment (tree_view->priv->vadjustment, - tree_view->priv->vadjustment->page_size * 0.1); + gtk_adjustment_get_page_size (tree_view->priv->vadjustment) * 0.1); gtk_adjustment_set_page_increment (tree_view->priv->vadjustment, - tree_view->priv->vadjustment->page_size * 0.9); + gtk_adjustment_get_page_size (tree_view->priv->vadjustment) * 0.9); gtk_adjustment_set_lower (tree_view->priv->vadjustment, 0); gtk_adjustment_set_upper (tree_view->priv->vadjustment, - MAX (tree_view->priv->vadjustment->page_size, + MAX (gtk_adjustment_get_page_size (tree_view->priv->vadjustment), tree_view->priv->height)); g_object_thaw_notify (G_OBJECT (tree_view->priv->vadjustment)); /* now the adjustments and window sizes are in sync, we can sync toprow/dy again */ - if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size) + if (tree_view->priv->height <= gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0); - else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height) + else if (gtk_adjustment_get_value (tree_view->priv->vadjustment) + gtk_adjustment_get_page_size (tree_view->priv->vadjustment) > tree_view->priv->height) gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), - tree_view->priv->height - tree_view->priv->vadjustment->page_size); + tree_view->priv->height - gtk_adjustment_get_page_size (tree_view->priv->vadjustment)); else if (gtk_tree_row_reference_valid (tree_view->priv->top_row)) gtk_tree_view_top_row_to_dy (tree_view); else @@ -2833,12 +2833,12 @@ gtk_tree_view_size_allocate (GtkWidget *widget, allocation->x, allocation->y, allocation->width, allocation->height); gdk_window_move_resize (tree_view->priv->header_window, - - (gint) tree_view->priv->hadjustment->value, + - (gint) gtk_adjustment_get_value (tree_view->priv->hadjustment), 0, MAX (tree_view->priv->width, allocation->width), tree_view->priv->header_height); gdk_window_move_resize (tree_view->priv->bin_window, - - (gint) tree_view->priv->hadjustment->value, + - (gint) gtk_adjustment_get_value (tree_view->priv->hadjustment), gtk_tree_view_get_effective_header_height (tree_view), MAX (tree_view->priv->width, allocation->width), allocation->height - gtk_tree_view_get_effective_header_height (tree_view)); @@ -3125,7 +3125,7 @@ gtk_tree_view_button_press (GtkWidget *widget, /* select */ node_selected = GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_SELECTED); - pre_val = tree_view->priv->vadjustment->value; + pre_val = gtk_adjustment_get_value (tree_view->priv->vadjustment); /* we only handle selection modifications on the first button press */ @@ -3175,7 +3175,7 @@ gtk_tree_view_button_press (GtkWidget *widget, * correct here */ - aft_val = tree_view->priv->vadjustment->value; + aft_val = gtk_adjustment_get_value (tree_view->priv->vadjustment); dval = pre_val - aft_val; cell_area.y += dval; @@ -4041,7 +4041,7 @@ gtk_tree_view_motion_resize_column (GtkWidget *widget, x = event->x; if (tree_view->priv->hadjustment) - x += tree_view->priv->hadjustment->value; + x += gtk_adjustment_get_value (tree_view->priv->hadjustment); new_width = gtk_tree_view_new_column_width (tree_view, tree_view->priv->drag_pos, &x); @@ -4108,7 +4108,7 @@ gtk_tree_view_vertical_autoscroll (GtkTreeView *tree_view) } gtk_adjustment_set_value (tree_view->priv->vadjustment, - MAX (tree_view->priv->vadjustment->value + offset, 0.0)); + MAX (gtk_adjustment_get_value (tree_view->priv->vadjustment) + offset, 0.0)); } static gboolean @@ -4133,7 +4133,7 @@ gtk_tree_view_horizontal_autoscroll (GtkTreeView *tree_view) offset = offset/3; gtk_adjustment_set_value (tree_view->priv->hadjustment, - MAX (tree_view->priv->hadjustment->value + offset, 0.0)); + MAX (gtk_adjustment_get_value (tree_view->priv->hadjustment) + offset, 0.0)); return TRUE; @@ -6056,7 +6056,7 @@ gtk_tree_view_node_queue_redraw (GtkTreeView *tree_view, gint y; y = _gtk_rbtree_node_find_offset (tree, node) - - tree_view->priv->vadjustment->value + - gtk_adjustment_get_value (tree_view->priv->vadjustment) + gtk_tree_view_get_effective_header_height (tree_view); gtk_widget_get_allocation (GTK_WIDGET (tree_view), &allocation); @@ -6077,9 +6077,9 @@ node_is_visible (GtkTreeView *tree_view, y = _gtk_rbtree_node_find_offset (tree, node); height = gtk_tree_view_get_row_height (tree_view, node); - if (y >= tree_view->priv->vadjustment->value && - y + height <= (tree_view->priv->vadjustment->value - + tree_view->priv->vadjustment->page_size)) + if (y >= gtk_adjustment_get_value (tree_view->priv->vadjustment) && + y + height <= (gtk_adjustment_get_value (tree_view->priv->vadjustment) + + gtk_adjustment_get_page_size (tree_view->priv->vadjustment))) return TRUE; return FALSE; @@ -6288,39 +6288,39 @@ validate_visible_area (GtkTreeView *tree_view) dy = _gtk_rbtree_node_find_offset (tree, node); - if (dy >= tree_view->priv->vadjustment->value && - dy + height <= (tree_view->priv->vadjustment->value - + tree_view->priv->vadjustment->page_size)) + if (dy >= gtk_adjustment_get_value (tree_view->priv->vadjustment) && + dy + height <= (gtk_adjustment_get_value (tree_view->priv->vadjustment) + + gtk_adjustment_get_page_size (tree_view->priv->vadjustment))) { /* row visible: keep the row at the same position */ - area_above = dy - tree_view->priv->vadjustment->value; - area_below = (tree_view->priv->vadjustment->value + - tree_view->priv->vadjustment->page_size) + area_above = dy - gtk_adjustment_get_value (tree_view->priv->vadjustment); + area_below = (gtk_adjustment_get_value (tree_view->priv->vadjustment) + + gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) - dy - height; } else { /* row not visible */ if (dy >= 0 - && dy + height <= tree_view->priv->vadjustment->page_size) + && dy + height <= gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) { /* row at the beginning -- fixed */ area_above = dy; - area_below = tree_view->priv->vadjustment->page_size + area_below = gtk_adjustment_get_page_size (tree_view->priv->vadjustment) - area_above - height; } - else if (dy >= (tree_view->priv->vadjustment->upper - - tree_view->priv->vadjustment->page_size)) + else if (dy >= (gtk_adjustment_get_upper (tree_view->priv->vadjustment) - + gtk_adjustment_get_page_size (tree_view->priv->vadjustment))) { /* row at the end -- fixed */ - area_above = dy - (tree_view->priv->vadjustment->upper - - tree_view->priv->vadjustment->page_size); - area_below = tree_view->priv->vadjustment->page_size - + area_above = dy - (gtk_adjustment_get_upper (tree_view->priv->vadjustment) - + gtk_adjustment_get_page_size (tree_view->priv->vadjustment)); + area_below = gtk_adjustment_get_page_size (tree_view->priv->vadjustment) - area_above - height; if (area_below < 0) { - area_above = tree_view->priv->vadjustment->page_size - height; + area_above = gtk_adjustment_get_page_size (tree_view->priv->vadjustment) - height; area_below = 0; } } @@ -6545,7 +6545,7 @@ validate_visible_area (GtkTreeView *tree_view) need_redraw = TRUE; } - else if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size) + else if (tree_view->priv->height <= gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) { /* when we are not scrolling, we should never set dy to something * else than zero. we update top_row to be in sync with dy = 0. @@ -6553,9 +6553,9 @@ validate_visible_area (GtkTreeView *tree_view) gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0); gtk_tree_view_dy_to_top_row (tree_view); } - else if (tree_view->priv->vadjustment->value + tree_view->priv->vadjustment->page_size > tree_view->priv->height) + else if (gtk_adjustment_get_value (tree_view->priv->vadjustment) + gtk_adjustment_get_page_size (tree_view->priv->vadjustment) > tree_view->priv->height) { - gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), tree_view->priv->height - tree_view->priv->vadjustment->page_size); + gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), tree_view->priv->height - gtk_adjustment_get_page_size (tree_view->priv->vadjustment)); gtk_tree_view_dy_to_top_row (tree_view); } else @@ -6891,7 +6891,7 @@ gtk_tree_view_bin_process_updates (GtkTreeView *tree_view) static gboolean scroll_sync_handler (GtkTreeView *tree_view) { - if (tree_view->priv->height <= tree_view->priv->vadjustment->page_size) + if (tree_view->priv->height <= gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) gtk_adjustment_set_value (GTK_ADJUSTMENT (tree_view->priv->vadjustment), 0); else if (gtk_tree_row_reference_valid (tree_view->priv->top_row)) gtk_tree_view_top_row_to_dy (tree_view); @@ -7016,8 +7016,8 @@ gtk_tree_view_top_row_to_dy (GtkTreeView *tree_view) new_dy = _gtk_rbtree_node_find_offset (tree, node); new_dy += tree_view->priv->top_row_dy; - if (new_dy + tree_view->priv->vadjustment->page_size > tree_view->priv->height) - new_dy = tree_view->priv->height - tree_view->priv->vadjustment->page_size; + if (new_dy + gtk_adjustment_get_page_size (tree_view->priv->vadjustment) > tree_view->priv->height) + new_dy = tree_view->priv->height - gtk_adjustment_get_page_size (tree_view->priv->vadjustment); new_dy = MAX (0, new_dy); @@ -9299,9 +9299,9 @@ gtk_tree_view_clamp_node_visible (GtkTreeView *tree_view, node_dy = _gtk_rbtree_node_find_offset (tree, node); height = gtk_tree_view_get_row_height (tree_view, node); if (! GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_INVALID) - && node_dy >= tree_view->priv->vadjustment->value - && node_dy + height <= (tree_view->priv->vadjustment->value - + tree_view->priv->vadjustment->page_size)) + && node_dy >= gtk_adjustment_get_value (tree_view->priv->vadjustment) + && node_dy + height <= (gtk_adjustment_get_value (tree_view->priv->vadjustment) + + gtk_adjustment_get_page_size (tree_view->priv->vadjustment))) return; path = _gtk_tree_view_find_path (tree_view, tree, node); @@ -9331,7 +9331,7 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view, x = allocation.x; width = allocation.width; - if (width > tree_view->priv->hadjustment->page_size) + if (width > gtk_adjustment_get_page_size (tree_view->priv->hadjustment)) { /* The column is larger than the horizontal page size. If the * column has cells which can be focussed individually, then we make @@ -9354,12 +9354,12 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view, if (gtk_tree_view_column_cell_get_position (column, focus_cell, &x, &width)) { - if (width < tree_view->priv->hadjustment->page_size) + if (width < gtk_adjustment_get_page_size (tree_view->priv->hadjustment)) { - if (tree_view->priv->hadjustment->value + tree_view->priv->hadjustment->page_size < x + width) + if (gtk_adjustment_get_value (tree_view->priv->hadjustment) + gtk_adjustment_get_page_size (tree_view->priv->hadjustment) < x + width) gtk_adjustment_set_value (tree_view->priv->hadjustment, - x + width - tree_view->priv->hadjustment->page_size); - else if (tree_view->priv->hadjustment->value > x) + x + width - gtk_adjustment_get_page_size (tree_view->priv->hadjustment)); + else if (gtk_adjustment_get_value (tree_view->priv->hadjustment) > x) gtk_adjustment_set_value (tree_view->priv->hadjustment, x); } } @@ -9369,10 +9369,10 @@ gtk_tree_view_clamp_column_visible (GtkTreeView *tree_view, } else { - if ((tree_view->priv->hadjustment->value + tree_view->priv->hadjustment->page_size) < (x + width)) + if ((gtk_adjustment_get_value (tree_view->priv->hadjustment) + gtk_adjustment_get_page_size (tree_view->priv->hadjustment)) < (x + width)) gtk_adjustment_set_value (tree_view->priv->hadjustment, - x + width - tree_view->priv->hadjustment->page_size); - else if (tree_view->priv->hadjustment->value > x) + x + width - gtk_adjustment_get_page_size (tree_view->priv->hadjustment)); + else if (gtk_adjustment_get_value (tree_view->priv->hadjustment) > x) gtk_adjustment_set_value (tree_view->priv->hadjustment, x); } } @@ -10345,8 +10345,8 @@ gtk_tree_view_move_cursor_page_up_down (GtkTreeView *tree_view, y = _gtk_rbtree_node_find_offset (cursor_tree, cursor_node); window_y = RBTREE_Y_TO_TREE_WINDOW_Y (tree_view, y); y += tree_view->priv->cursor_offset; - y += count * (int)tree_view->priv->vadjustment->page_increment; - y = CLAMP (y, (gint)tree_view->priv->vadjustment->lower, (gint)tree_view->priv->vadjustment->upper - vertical_separator); + y += count * (int)gtk_adjustment_get_page_increment (tree_view->priv->vadjustment); + y = CLAMP (y, (gint)gtk_adjustment_get_lower (tree_view->priv->vadjustment), (gint)gtk_adjustment_get_upper (tree_view->priv->vadjustment) - vertical_separator); if (y >= tree_view->priv->height) y = tree_view->priv->height - 1; @@ -11197,12 +11197,12 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, gint dy; gdk_window_move (tree_view->priv->bin_window, - - tree_view->priv->hadjustment->value, + - gtk_adjustment_get_value (tree_view->priv->hadjustment), gtk_tree_view_get_effective_header_height (tree_view)); gdk_window_move (tree_view->priv->header_window, - - tree_view->priv->hadjustment->value, + - gtk_adjustment_get_value (tree_view->priv->hadjustment), 0); - dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value; + dy = tree_view->priv->dy - (int) gtk_adjustment_get_value (tree_view->priv->vadjustment); if (dy) { update_prelight (tree_view, @@ -11236,10 +11236,10 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment, } gdk_window_scroll (tree_view->priv->bin_window, 0, dy); - if (tree_view->priv->dy != (int) tree_view->priv->vadjustment->value) + if (tree_view->priv->dy != (int) gtk_adjustment_get_value (tree_view->priv->vadjustment)) { /* update our dy and top_row */ - tree_view->priv->dy = (int) tree_view->priv->vadjustment->value; + tree_view->priv->dy = (int) gtk_adjustment_get_value (tree_view->priv->vadjustment); if (!tree_view->priv->in_top_row_to_dy) gtk_tree_view_dy_to_top_row (tree_view); @@ -13462,7 +13462,7 @@ gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, if (tree_view->priv->tree == NULL) return FALSE; - if (x > tree_view->priv->hadjustment->upper) + if (x > gtk_adjustment_get_upper (tree_view->priv->hadjustment)) return FALSE; if (x < 0 || y < 0) @@ -13793,8 +13793,8 @@ gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, if (visible_rect) { gtk_widget_get_allocation (widget, &allocation); - visible_rect->x = tree_view->priv->hadjustment->value; - visible_rect->y = tree_view->priv->vadjustment->value; + visible_rect->x = gtk_adjustment_get_value (tree_view->priv->hadjustment); + visible_rect->y = gtk_adjustment_get_value (tree_view->priv->vadjustment); visible_rect->width = allocation.width; visible_rect->height = allocation.height - gtk_tree_view_get_effective_header_height (tree_view); } @@ -13887,7 +13887,7 @@ gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); if (bx) - *bx = wx + tree_view->priv->hadjustment->value; + *bx = wx + gtk_adjustment_get_value (tree_view->priv->hadjustment); if (by) *by = wy - gtk_tree_view_get_effective_header_height (tree_view); } @@ -13915,7 +13915,7 @@ gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, g_return_if_fail (GTK_IS_TREE_VIEW (tree_view)); if (wx) - *wx = bx - tree_view->priv->hadjustment->value; + *wx = bx - gtk_adjustment_get_value (tree_view->priv->hadjustment); if (wy) *wy = by + gtk_tree_view_get_effective_header_height (tree_view); } @@ -14024,10 +14024,10 @@ gtk_tree_view_get_visible_range (GtkTreeView *tree_view, { gint y; - if (tree_view->priv->height < tree_view->priv->vadjustment->page_size) + if (tree_view->priv->height < gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) y = tree_view->priv->height - 1; else - y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, tree_view->priv->vadjustment->page_size) - 1; + y = TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, gtk_adjustment_get_page_size (tree_view->priv->vadjustment)) - 1; _gtk_rbtree_find_offset (tree_view->priv->tree, y, &tree, &node); if (node) @@ -15485,13 +15485,13 @@ _gtk_tree_view_add_editable (GtkTreeView *tree_view, GtkCellEditable *cell_editable, GdkRectangle *cell_area) { - gint pre_val = tree_view->priv->vadjustment->value; + gint pre_val = gtk_adjustment_get_value (tree_view->priv->vadjustment); GtkRequisition requisition; tree_view->priv->edited_column = column; gtk_tree_view_real_set_cursor (tree_view, path, FALSE, TRUE); - cell_area->y += pre_val - (int)tree_view->priv->vadjustment->value; + cell_area->y += pre_val - (int)gtk_adjustment_get_value (tree_view->priv->vadjustment); gtk_widget_get_preferred_size (GTK_WIDGET (cell_editable), &requisition, NULL); @@ -16154,7 +16154,7 @@ gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, else { rect.y = 0; - rect.height = tree_view->priv->vadjustment->page_size; + rect.height = gtk_adjustment_get_page_size (tree_view->priv->vadjustment); } gtk_tooltip_set_tip_area (tooltip, &rect); From 58fa980d12eaec85f695e27775f2e7022cc4a8f3 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 14:28:08 +0100 Subject: [PATCH 1163/1463] textview: Update adjustment usage for sealing --- gtk/gtktextview.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index b57db0f1e7..b2442f6745 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -3874,7 +3874,6 @@ changed_handler (GtkTextLayout *layout, if (old_height != new_height) { - gboolean yoffset_changed = FALSE; GSList *tmp_list; int new_first_para_top; int old_first_para_top; @@ -3900,14 +3899,7 @@ changed_handler (GtkTextLayout *layout, { priv->yoffset += new_first_para_top - old_first_para_top; - text_view->priv->vadjustment->value = priv->yoffset; - yoffset_changed = TRUE; - } - - if (yoffset_changed) - { - DV(g_print ("Changing scroll position (%s)\n", G_STRLOC)); - gtk_adjustment_value_changed (text_view->priv->vadjustment); + gtk_adjustment_set_value (text_view->priv->vadjustment, priv->yoffset); } /* FIXME be smarter about which anchored widgets we update */ @@ -5520,22 +5512,22 @@ gtk_text_view_move_viewport (GtkTextView *text_view, { case GTK_SCROLL_STEPS: case GTK_SCROLL_HORIZONTAL_STEPS: - increment = adjustment->step_increment; + increment = gtk_adjustment_get_step_increment (adjustment); break; case GTK_SCROLL_PAGES: case GTK_SCROLL_HORIZONTAL_PAGES: - increment = adjustment->page_increment; + increment = gtk_adjustment_get_page_increment (adjustment); break; case GTK_SCROLL_ENDS: case GTK_SCROLL_HORIZONTAL_ENDS: - increment = adjustment->upper - adjustment->lower; + increment = gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment); break; default: increment = 0.0; break; } - return set_adjustment_clamped (adjustment, adjustment->value + count * increment); + return set_adjustment_clamped (adjustment, gtk_adjustment_get_value (adjustment) + count * increment); } static void From 7d9412791792aa9b9d31342fef1498bf7fd25347 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 14:30:29 +0100 Subject: [PATCH 1164/1463] testutils: Update adjustment usage for sealing --- gtk/gtktestutils.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gtk/gtktestutils.c b/gtk/gtktestutils.c index d6996ddb14..76fcc772e1 100644 --- a/gtk/gtktestutils.c +++ b/gtk/gtktestutils.c @@ -415,7 +415,12 @@ gtk_test_slider_set_perc (GtkWidget *widget, else if (GTK_IS_SPIN_BUTTON (widget)) adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget)); if (adjustment) - gtk_adjustment_set_value (adjustment, adjustment->lower + (adjustment->upper - adjustment->lower - adjustment->page_size) * percentage * 0.01); + gtk_adjustment_set_value (adjustment, + gtk_adjustment_get_lower (adjustment) + + (gtk_adjustment_get_upper (adjustment) + - gtk_adjustment_get_lower (adjustment) + - gtk_adjustment_get_page_size (adjustment)) + * percentage * 0.01); } /** @@ -428,7 +433,7 @@ gtk_test_slider_set_perc (GtkWidget *widget, * of the adjustment belonging to @widget, and is not a percentage * as passed in to gtk_test_slider_set_perc(). * - * Returns: adjustment->value for an adjustment belonging to @widget. + * Returns: gtk_adjustment_get_value (adjustment) for an adjustment belonging to @widget. * * Since: 2.14 **/ @@ -440,7 +445,7 @@ gtk_test_slider_get_value (GtkWidget *widget) adjustment = gtk_range_get_adjustment (GTK_RANGE (widget)); else if (GTK_IS_SPIN_BUTTON (widget)) adjustment = gtk_spin_button_get_adjustment (GTK_SPIN_BUTTON (widget)); - return adjustment ? adjustment->value : 0; + return adjustment ? gtk_adjustment_get_value (adjustment) : 0; } /** From 2c9fad9ea89cfd4e0f2e0f58a476a871fd5411b5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 08:41:41 -0500 Subject: [PATCH 1165/1463] Update POTFILES --- po-properties/POTFILES.in | 16 +++++++++++++++- po/POTFILES.in | 9 +++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/po-properties/POTFILES.in b/po-properties/POTFILES.in index 5af45482a0..8d914749b5 100644 --- a/po-properties/POTFILES.in +++ b/po-properties/POTFILES.in @@ -1,6 +1,8 @@ # Files from the Gtk distribution which have already been # marked to allow runtime translation of messages gdk/gdk.c +gdk/gdkapplaunchcontext.c +gdk/gdkcursor.c gdk/gdkdevice.c gdk/gdkdevicemanager.c gdk/gdkdisplaymanager.c @@ -12,6 +14,7 @@ gdk/win32/gdkmain-win32.c gdk/x11/gdkapplaunchcontext-x11.c gdk/x11/gdkdevice-xi.c gdk/x11/gdkdevice-xi2.c +gdk/x11/gdkdevicemanager-xi2.c gdk/x11/gdkdevicemanager-xi.c gdk/x11/gdkmain-x11.c gtk/gtkaboutdialog.c @@ -24,6 +27,10 @@ gtk/gtkactiongroup.c gtk/gtkactivatable.c gtk/gtkadjustment.c gtk/gtkalignment.c +gtk/gtkappchooserbutton.c +gtk/gtkappchooser.c +gtk/gtkappchooserdialog.c +gtk/gtkappchooserwidget.c gtk/gtkarrow.c gtk/gtkaspectframe.c gtk/gtkassistant.c @@ -35,6 +42,9 @@ gtk/gtkbuilder.c gtk/gtkbuilderparser.c gtk/gtkbutton.c gtk/gtkcalendar.c +gtk/gtkcellareabox.c +gtk/gtkcellarea.c +gtk/gtkcellareacontext.c gtk/gtkcelleditable.c gtk/gtkcelllayout.c gtk/gtkcellrendereraccel.c @@ -82,6 +92,7 @@ gtk/gtkfixed.c gtk/gtkfontbutton.c gtk/gtkfontsel.c gtk/gtkframe.c +gtk/gtkgrid.c gtk/gtkhandlebox.c gtk/gtkhbbox.c gtk/gtkhbox.c @@ -148,6 +159,7 @@ gtk/gtkrecentchoosermenu.c gtk/gtkrecentmanager.c gtk/gtkscalebutton.c gtk/gtkscale.c +gtk/gtkscrollable.c gtk/gtkscrollbar.c gtk/gtkscrolledwindow.c gtk/gtkselection.c @@ -162,6 +174,7 @@ gtk/gtkstatusbar.c gtk/gtkstatusicon.c gtk/gtkstock.c gtk/gtkstyle.c +gtk/gtkstylecontext.c gtk/gtkswitch.c gtk/gtktable.c gtk/gtktearoffmenuitem.c @@ -177,7 +190,7 @@ gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextutil.c gtk/gtktextview.c -gtk/gtkthemes.c +gtk/gtkthemingengine.c gtk/gtktoggleaction.c gtk/gtktogglebutton.c gtk/gtktoggletoolbutton.c @@ -189,6 +202,7 @@ gtk/gtktoolpalette.c gtk/gtktoolshell.c gtk/gtktrayicon-x11.c gtk/gtktreednd.c +gtk/gtktreemenu.c gtk/gtktreemodel.c gtk/gtktreemodelfilter.c gtk/gtktreemodelsort.c diff --git a/po/POTFILES.in b/po/POTFILES.in index 55dee16a08..cc383de7a3 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -26,9 +26,14 @@ gtk/gtkadjustment.c gtk/gtkalignment.c gtk/gtkarrow.c gtk/gtkaspectframe.c +gtk/gtkanimationdescription.c +gtk/gtkappchooserbutton.c +gtk/gtkappchooserdialog.c +gtk/gtkappchooserwidget.c gtk/gtkassistant.c gtk/gtkbbox.c gtk/gtkbin.c +gtk/gtkbindings.c gtk/gtkbox.c gtk/gtkbuildable.c gtk/gtkbuilder.c @@ -113,6 +118,7 @@ gtk/gtkmenushell.c gtk/gtkmenutoolbutton.c gtk/gtkmessagedialog.c gtk/gtkmisc.c +gtk/gtkmodifierstyle.c gtk/gtkmodules.c gtk/gtkmountoperation.c gtk/gtkmountoperation-stub.c @@ -163,6 +169,8 @@ gtk/gtkstatusbar.c gtk/gtkstatusicon.c gtk/gtkstock.c gtk/gtkstyle.c +gtk/gtkstylecontext.c +gtk/gtkstyleprovider.c gtk/gtkswitch.c gtk/gtktable.c gtk/gtktearoffmenuitem.c @@ -190,6 +198,7 @@ gtk/gtktoolpalette.c gtk/gtktoolshell.c gtk/gtktrayicon-x11.c gtk/gtktreednd.c +gtk/gtktreemenu.c gtk/gtktreemodel.c gtk/gtktreemodelfilter.c gtk/gtktreemodelsort.c From 57de2c84c4d1e43ee182c150aa8f097fe2a8f6b2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 09:38:36 -0500 Subject: [PATCH 1166/1463] Try again to fix the doc build --- gtk/gtkexpander.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gtk/gtkexpander.c b/gtk/gtkexpander.c index 70b701a07d..0370c1226a 100644 --- a/gtk/gtkexpander.c +++ b/gtk/gtkexpander.c @@ -26,16 +26,14 @@ * @Short_description: A container which can hide its child * @Title: GtkExpander * - * * A #GtkExpander allows the user to hide or show its child by clicking * on an expander triangle similar to the triangles used in a #GtkTreeView. - * - * + * * Normally you use an expander as you would use any other descendant * of #GtkBin; you create the child widget and use gtk_container_add() * to add it to the expander. When the expander is toggled, it will take * care of showing and hiding the child automatically. - * + * * * Special Usage * @@ -99,6 +97,7 @@ * ]]> * * + * */ #include "config.h" From 1a8290f92cb87cad74c91d7baf71d8d3426c5245 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 09:43:45 -0500 Subject: [PATCH 1167/1463] Update POTFILES some more --- po/POTFILES.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/POTFILES.in b/po/POTFILES.in index cc383de7a3..d89eb7375d 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -186,7 +186,7 @@ gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextutil.c gtk/gtktextview.c -gtk/gtkthemes.c +gtk/gtkthemingengine.c gtk/gtktoggleaction.c gtk/gtktogglebutton.c gtk/gtktoggletoolbutton.c From 9f133125202f36a52a4b48ebfa49537550c3a731 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 09:58:46 -0500 Subject: [PATCH 1168/1463] Fix file lists in the win32 backend --- gdk/win32/Makefile.am | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gdk/win32/Makefile.am b/gdk/win32/Makefile.am index 2f8dd8fce9..641ae68208 100644 --- a/gdk/win32/Makefile.am +++ b/gdk/win32/Makefile.am @@ -25,7 +25,6 @@ EXTRA_DIST += \ makefile.msc libgdk_win32_la_SOURCES = \ - xcursors.h \ gdkcursor-win32.c \ gdkdevicemanager-win32.c \ gdkdevicemanager-win32.h \ @@ -35,12 +34,9 @@ libgdk_win32_la_SOURCES = \ gdkdevice-wintab.h \ gdkdisplay-win32.c \ gdkdnd-win32.c \ - gdkdrawable-win32.c \ - gdkdrawable-win32.h \ gdkevents-win32.c \ gdkgeometry-win32.c \ gdkglobals-win32.c \ - gdkim-win32.c \ gdkinput.c \ gdkkeys-win32.c \ gdkmain-win32.c \ @@ -48,15 +44,22 @@ libgdk_win32_la_SOURCES = \ gdkproperty-win32.c \ gdkscreen-win32.c \ gdkselection-win32.c \ - gdkspawn-win32.c \ gdktestutils-win32.c \ gdkvisual-win32.c \ + gdkwin32cursor.h \ + gdkwin32display.h \ + gdkwin32displaymanager.h \ + gdkwin32dnd.h \ gdkwin32.h \ gdkwin32id.c \ + gdkwin32keys.h \ + gdkwin32screen.h \ + gdkwin32window.h \ gdkwindow-win32.c \ gdkwindow-win32.h \ + pktdef.h \ wintab.h \ - pktdef.h + xcursors.h libgdkinclude_HEADERS = \ gdkwin32.h From 680b64d04a49d6c129f5442ce4039980bb86fa4a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 10:04:48 -0500 Subject: [PATCH 1169/1463] Fix some parameter name mismatches in the docs --- gtk/gtkcellarea.c | 2 +- gtk/gtkcellrenderer.c | 5 ----- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 9e770d69c7..2e8f522dd0 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2943,7 +2943,7 @@ gtk_cell_area_activate (GtkCellArea *area, /** * gtk_cell_area_set_focus_cell: * @area: a #GtkCellArea - * @focus_cell: the #GtkCellRenderer to give focus to + * @renderer: the #GtkCellRenderer to give focus to * * This is generally called from #GtkCellArea implementations * either gtk_cell_area_grab_focus() or gtk_cell_area_update_focus() diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index 95f33406b8..a6760ee1ac 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1570,17 +1570,12 @@ gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell, * gtk_cell_renderer_get_preferred_size: * @cell: a #GtkCellRenderer instance * @widget: the #GtkWidget this cell will be rendering to - * @request_natural: Whether to base the contextual request off of the - * base natural or the base minimum * @minimum_size: (out) (allow-none): location for storing the minimum size, or %NULL * @natural_size: (out) (allow-none): location for storing the natural size, or %NULL * * Retrieves the minimum and natural size of a cell taking * into account the widget's preference for height-for-width management. * - * If request_natural is specified, the non-contextual natural value will - * be used to make the contextual request; otherwise the minimum will be used. - * * Since: 3.0 */ void From f377621eb7aca4e394a158be3f4b411be1754364 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 10:12:16 -0500 Subject: [PATCH 1170/1463] Fix libgail-util doc build --- configure.ac | 1 + docs/reference/libgail-util/Makefile.am | 6 +++++- docs/reference/libgail-util/gail-libgail-util-docs.sgml | 1 + docs/reference/libgail-util/version.xml.in | 1 + 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 docs/reference/libgail-util/version.xml.in diff --git a/configure.ac b/configure.ac index 64debe1139..ae75d1e532 100644 --- a/configure.ac +++ b/configure.ac @@ -1626,6 +1626,7 @@ docs/reference/gdk/version.xml docs/reference/gtk/Makefile docs/reference/gtk/version.xml docs/reference/libgail-util/Makefile +docs/reference/libgail-util/version.xml docs/tools/Makefile build/Makefile build/win32/Makefile diff --git a/docs/reference/libgail-util/Makefile.am b/docs/reference/libgail-util/Makefile.am index ee583e1753..8c30e2daf7 100644 --- a/docs/reference/libgail-util/Makefile.am +++ b/docs/reference/libgail-util/Makefile.am @@ -26,10 +26,14 @@ GTKDOC_LIBS = $(top_builddir)/modules/other/gail/libgail-util/libgailutil.la # gtkdoc-mkdb related varaibles MKDB_OPTIONS = -content_files = +content_files = \ + version.xml HTML_IMAGES = include $(top_srcdir)/gtk-doc.make +# Other files to distribute +EXTRA_DIST += version.xml.in + -include $(top_srcdir)/git.mk diff --git a/docs/reference/libgail-util/gail-libgail-util-docs.sgml b/docs/reference/libgail-util/gail-libgail-util-docs.sgml index e35ae2b1d0..9e71f8aca2 100644 --- a/docs/reference/libgail-util/gail-libgail-util-docs.sgml +++ b/docs/reference/libgail-util/gail-libgail-util-docs.sgml @@ -2,6 +2,7 @@ + ]> diff --git a/docs/reference/libgail-util/version.xml.in b/docs/reference/libgail-util/version.xml.in new file mode 100644 index 0000000000..3bb59ac105 --- /dev/null +++ b/docs/reference/libgail-util/version.xml.in @@ -0,0 +1 @@ +@GTK_VERSION@ From ebe9d075f4468a500377051c555c902d8c323894 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Wed, 5 Jan 2011 14:47:16 +0100 Subject: [PATCH 1171/1463] Fix GtkCellArea:edit-widget to be of type GtkCellEditable More correct, and consistent with gtk_cell_area_get_editable_widget(). --- gtk/gtkcellarea.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 2e8f522dd0..60ff2f82a2 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -810,7 +810,7 @@ gtk_cell_area_class_init (GtkCellAreaClass *class) ("edit-widget", P_("Edit Widget"), P_("The widget currently editing the edited cell"), - GTK_TYPE_CELL_RENDERER, + GTK_TYPE_CELL_EDITABLE, G_PARAM_READABLE)); /* Pool for Cell Properties */ From d7af47d65703b114344a488cd8e3e2f5bd318cc8 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Wed, 5 Jan 2011 14:49:09 +0100 Subject: [PATCH 1172/1463] Fix doc about gtk_cell_layout_get_area() Return value was copied and pasted from gtk_cell_layout_get_cells(), which is obviously wrong. --- gtk/gtkcelllayout.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index 35ff6f5344..7c589f2108 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -488,9 +488,7 @@ gtk_cell_layout_get_cells (GtkCellLayout *cell_layout) * if called on a #GtkCellArea or might be %NULL if no #GtkCellArea * is used by @cell_layout. * - * Return value: (transfer none): a list of cell renderers. The list, - * but not the renderers has been newly allocated and should be - * freed with g_list_free() when no longer needed. + * Return value: (transfer none): the cell area used by @cell_layout. * * Since: 3.0 */ From 3109441c7752d58b0fe2040eaf568598a26ed98b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 11:00:23 -0500 Subject: [PATCH 1173/1463] Update gtk symbols list --- gtk/gtk.symbols | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 5cf8525014..2014f64e37 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3396,7 +3396,6 @@ gtk_ui_manager_remove_action_group gtk_ui_manager_remove_ui gtk_ui_manager_set_add_tearoffs gtk_unit_get_type G_GNUC_CONST -gtk_update_type_get_type G_GNUC_CONST gtk_vbox_get_type G_GNUC_CONST gtk_vbox_new gtk_vbutton_box_get_type G_GNUC_CONST From 67b8f22d8bd2afb5d978ae118d5b7281897d8b7a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 11:01:20 -0500 Subject: [PATCH 1174/1463] Remove some dropped symbols from gtk3-sections.txt --- docs/reference/gtk/gtk3-sections.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index a85aef7bc6..d7b6838a13 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -1678,7 +1678,7 @@ gtk_icon_view_unset_model_drag_source gtk_icon_view_unset_model_drag_dest gtk_icon_view_set_reorderable gtk_icon_view_get_reorderable -gtk_icon_view_set_drag_dest_item +gtk_icon_view_set_drag_dest_item gtk_icon_view_get_drag_dest_item gtk_icon_view_get_dest_item_at_pos gtk_icon_view_create_drag_icon @@ -4524,8 +4524,6 @@ gtk_cell_renderer_get_preferred_size gtk_cell_renderer_get_preferred_width gtk_cell_renderer_get_preferred_width_for_height gtk_cell_renderer_get_request_mode -gtk_cell_view_get_desired_height_for_width_of_row -gtk_cell_view_get_desired_width_of_row GTK_CELL_RENDERER From 3d12aca2f950c4e98462f061df99cb0322f18938 Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Wed, 5 Jan 2011 18:14:40 +0200 Subject: [PATCH 1175/1463] [l10n] Updated Estonian translation --- po/et.po | 106 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 81 insertions(+), 25 deletions(-) diff --git a/po/et.po b/po/et.po index 4524d1c273..66ebd5031c 100644 --- a/po/et.po +++ b/po/et.po @@ -1,29 +1,29 @@ # GTK+ eesti keele tõlge. # Estonian translation of GTK+. # -# Copyright (C) 1999-2007 Free Software Foundation, Inc. -# Copyright (C) 2007-2010 The GNOME Project. +# Copyright (C) 1999–2007 Free Software Foundation, Inc. +# Copyright (C) 2007–2011 The GNOME Project. # This file is distributed under the same license as the gtk package. # # Lauris Kaplinski , 1999. -# Tõivo Leedjärv , 2002-2004. +# Tõivo Leedjärv , 2002–2004. # Priit Laes , 2004, 2005. -# Ivar Smolin , 2005-2010. -# Mattias Põldaru , 2009-2010. +# Ivar Smolin , 2005–2011. +# Mattias Põldaru , 2009–2010. # msgid "" msgstr "" "Project-Id-Version: gtk+ MASTER\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-12-19 10:13+0000\n" -"PO-Revision-Date: 2010-11-30 14:03+0200\n" +"POT-Creation-Date: 2011-01-05 14:44+0000\n" +"PO-Revision-Date: 2011-01-05 17:06+0200\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" -"Language: et\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: et\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #, c-format @@ -58,14 +58,6 @@ msgstr "Kasutatav X'i kuva" msgid "DISPLAY" msgstr "KUVA" -#. Description of --screen=SCREEN in --help output -msgid "X screen to use" -msgstr "Kasutatav X'i ekraan" - -#. Placeholder in --screen=SCREEN in --help output -msgid "SCREEN" -msgstr "EKRAAN" - #. Description of --gdk-debug=FLAGS in --help output msgid "GDK debugging flags to set" msgstr "GDK silumislipud, mida seada" @@ -267,10 +259,6 @@ msgid_plural "Opening %d Items" msgstr[0] "Avamine: %d kirje" msgstr[1] "Avamine: %d kirjet" -#. Description of --sync in --help output -msgid "Make X calls synchronous" -msgstr "X'i kutsungid sünkroonseks" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. @@ -380,6 +368,69 @@ msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" +msgid "Other application..." +msgstr "Muu rakendus..." + +msgid "Failed to look for applications online" +msgstr "" + +msgid "Find applications online" +msgstr "" + +msgid "Could not run application" +msgstr "Rakendust pole võimalik käivitada" + +#, c-format +msgid "Could not find '%s'" +msgstr "" + +msgid "Could not find application" +msgstr "Rakendust pole võimalik leida" + +#. Translators: %s is a filename +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Vali faili \"%s\" avamiseks rakendus" + +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "Puudub rakendus faili \"%s\" avamiseks" + +#. Translators: %s is a file type description +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Vali \"%s\" liiki failide avamiseks rakendus" + +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "Puudub rakendus \"%s\" liiki failide avamiseks" + +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" + +msgid "Forget association" +msgstr "Unusta seos" + +msgid "Show other applications" +msgstr "Näita teisi rakendusi" + +msgid "_Open" +msgstr "_Ava" + +msgid "Default Application" +msgstr "Vaikimisi rakendus" + +msgid "Recommended Applications" +msgstr "Soovitatavad rakendused" + +msgid "Related Applications" +msgstr "Seotud rakendused" + +msgid "Other Applications" +msgstr "Muud rakendused" + #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Vigast liiki funktsioon real %d: '%s'" @@ -1564,7 +1615,7 @@ msgstr "Printimine" #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "Ei leia pildifaili otsingurajalt 'pixmap_path': \"%s\"" +msgstr "Pildifaili pole otsingurajalt 'pixmap_path' võimalik leida: \"%s\"" #, c-format msgid "This function is not implemented for widgets of class '%s'" @@ -2211,10 +2262,6 @@ msgstr "ZWJ Null-laiusega ü_hendaja" msgid "ZWNJ Zero width _non-joiner" msgstr "ZWJ Null-laiusega _mitteühendaja" -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Ei leia teemamootorit otsingurajalt 'module_path': \"%s\"," - #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Tundmatu algussilt '%s', rida %d sümbol %d" @@ -3398,6 +3445,15 @@ msgstr "" "Tõrge pildifaili '%s' laadimisel: põhjus teadmata, arvatavasti on pildifail " "rikutud" +#~ msgid "X screen to use" +#~ msgstr "Kasutatav X'i ekraan" + +#~ msgid "SCREEN" +#~ msgstr "EKRAAN" + +#~ msgid "Make X calls synchronous" +#~ msgstr "X'i kutsungid sünkroonseks" + #~ msgid "Credits" #~ msgstr "Autorid" From e41fb7703ca810db1f391dc3237f0465a93f9140 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 11:26:14 -0500 Subject: [PATCH 1176/1463] Add padding to text attribute structs --- gtk/gtktexttag.h | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/gtk/gtktexttag.h b/gtk/gtktexttag.h index cca6f4df0c..db7245b3d3 100644 --- a/gtk/gtktexttag.h +++ b/gtk/gtktexttag.h @@ -127,12 +127,6 @@ struct _GtkTextAppearance /* super/subscript rise, can be negative */ gint rise; - /*< private >*/ - /* I'm not sure this can really be used without breaking some things - * an app might do :-/ - */ - gpointer padding1; - /*< public >*/ guint underline : 4; /* PangoUnderline */ guint strikethrough : 1; @@ -143,7 +137,7 @@ struct _GtkTextAppearance * had background stuff set. */ guint draw_bg : 1; - + /* These are only used when we are actually laying out and rendering * a paragraph; not when a GtkTextAppearance is part of a * GtkTextAttributes. @@ -152,10 +146,7 @@ struct _GtkTextAppearance guint is_text : 1; /*< private >*/ - guint pad1 : 1; - guint pad2 : 1; - guint pad3 : 1; - guint pad4 : 1; + guint padding[4]; }; struct _GtkTextAttributes @@ -173,17 +164,13 @@ struct _GtkTextAttributes PangoFontDescription *font; gdouble font_scale; - + gint left_margin; - - gint indent; - gint right_margin; + gint indent; gint pixels_above_lines; - gint pixels_below_lines; - gint pixels_inside_wrap; PangoTabArray *tabs; @@ -211,10 +198,7 @@ struct _GtkTextAttributes guint editable : 1; /*< private >*/ - guint pad1 : 1; - guint pad2 : 1; - guint pad3 : 1; - guint pad4 : 1; + guint padding[4]; }; GtkTextAttributes* gtk_text_attributes_new (void); From 9a80100e9ab2430ecc4375ba6bd2f66784ce34a9 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 6 Jan 2011 02:29:18 +0900 Subject: [PATCH 1177/1463] Fixed get_size() for GtkCellRendererText to clip to the input area For ellipsize cells it's important to clip the result of get_size() so that the returned required rectangle is indeed less than or equal to the input rectangle... this is done so that GtkCellArea can accurately paint focus on cells by calling gtk_cell_renderer_get_aligned_area(). Patch also adds assertions to gtk_cell_renderer_get_aligned_area() to ensure this keeps working correctly. --- gtk/gtkcellrenderer.c | 5 +++++ gtk/gtkcellrenderertext.c | 15 +++++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index a6760ee1ac..b2ef07b4a5 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1657,4 +1657,9 @@ gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, klass = GTK_CELL_RENDERER_GET_CLASS (cell); klass->get_aligned_area (cell, widget, flags, cell_area, aligned_area); + + g_assert (aligned_area->x >= cell_area->x && aligned_area->x < cell_area->x + cell_area->width); + g_assert (aligned_area->y >= cell_area->y && aligned_area->y < cell_area->y + cell_area->height); + g_assert ((aligned_area->x - cell_area->x) + aligned_area->width <= cell_area->width); + g_assert ((aligned_area->y - cell_area->y) + aligned_area->height <= cell_area->height); } diff --git a/gtk/gtkcellrenderertext.c b/gtk/gtkcellrenderertext.c index 5f2c2c2f96..a54b274559 100644 --- a/gtk/gtkcellrenderertext.c +++ b/gtk/gtkcellrenderertext.c @@ -1736,18 +1736,15 @@ get_size (GtkCellRenderer *cell, pango_layout_get_pixel_extents (layout, NULL, &rect); - if (height) - *height = ypad * 2 + rect.height; - - if (width) - *width = xpad * 2 + rect.x + rect.width; - if (cell_area) { gfloat xalign, yalign; gtk_cell_renderer_get_alignment (cell, &xalign, &yalign); + rect.height = MIN (rect.height, cell_area->height - 2 * ypad); + rect.width = MIN (rect.width, cell_area->width - (2 * xpad) - rect.x); + if (x_offset) { if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) @@ -1770,6 +1767,12 @@ get_size (GtkCellRenderer *cell, if (y_offset) *y_offset = 0; } + if (height) + *height = ypad * 2 + rect.height; + + if (width) + *width = xpad * 2 + rect.x + rect.width; + g_object_unref (layout); } From 7799fbf239b8953f3e41b78073584f1dcf2fb27b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 16:30:57 -0500 Subject: [PATCH 1178/1463] Add GtkNumerableIcon This is a subclass of GEmblemedIcon that can show a number or short string as an emblem, overlayed on top of another emblem. Written by Cosimo Cecchi https://bugzilla.gnome.org/show_bug.cgi?id=637169 --- docs/reference/gtk/Makefile.am | 4 +- docs/reference/gtk/gtk-docs.sgml | 1 + docs/reference/gtk/gtk3-sections.txt | 28 + docs/reference/gtk/gtk3.types | 1 + docs/reference/gtk/images/numerableicon.png | Bin 0 -> 2645 bytes docs/reference/gtk/images/numerableicon2.png | Bin 0 -> 2329 bytes gtk/Makefile.am | 3 + gtk/gtk.h | 1 + gtk/gtk.symbols | 13 + gtk/gtkicontheme.c | 4 + gtk/gtknumerableicon.c | 1048 ++++++++++++++++++ gtk/gtknumerableicon.h | 89 ++ gtk/gtknumerableiconprivate.h | 32 + tests/Makefile.am | 7 + tests/testnumerableicon.c | 198 ++++ 15 files changed, 1428 insertions(+), 1 deletion(-) create mode 100644 docs/reference/gtk/images/numerableicon.png create mode 100644 docs/reference/gtk/images/numerableicon2.png create mode 100644 gtk/gtknumerableicon.c create mode 100644 gtk/gtknumerableicon.h create mode 100644 gtk/gtknumerableiconprivate.h create mode 100644 tests/testnumerableicon.c diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 959e0b0a5e..82355f53b3 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -351,7 +351,9 @@ HTML_IMAGES = \ $(srcdir)/images/sliders.png \ $(srcdir)/images/focus.png \ $(srcdir)/images/handles.png \ - $(srcdir)/images/extensions.png + $(srcdir)/images/extensions.png \ + $(srcdir)/images/numerableicon.png \ + $(srcdir)/images/numerableicon2.png # Extra options to supply to gtkdoc-fixref FIXXREF_OPTIONS=--extra-dir=../gdk/html \ diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index ca98b8f6fa..a3344bb664 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -61,6 +61,7 @@ + diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index d7b6838a13..0b8559f643 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -2269,6 +2269,34 @@ GtkNotebookTab GtkNotebookPrivate +
+gtknumerableicon +GtkNumerableIcon +GtkNumerableIcon +gtk_numerable_icon_new +gtk_numerable_icon_new_with_style_context +gtk_numerable_icon_get_background_gicon +gtk_numerable_icon_set_background_gicon +gtk_numerable_icon_get_background_icon_name +gtk_numerable_icon_set_background_icon_name +gtk_numerable_icon_get_count +gtk_numerable_icon_set_count +gtk_numerable_icon_get_label +gtk_numerable_icon_set_label +gtk_numerable_icon_get_style_context +gtk_numerable_icon_set_style_context + +GTK_NUMERABLE_ICON +GTK_IS_NUMERABLE_ICON +GTK_TYPE_NUMERABLE_ICON +GTK_NUMERABLE_ICON_CLASS +GTK_IS_NUMERABLE_ICON_CLASS +GTK_NUMERABLE_ICON_GET_CLASS + + +gtk_numerable_icon_get_type +
+
gtkoffscreenwindow GtkOffscreenWindow diff --git a/docs/reference/gtk/gtk3.types b/docs/reference/gtk/gtk3.types index fe0ff45f6b..47295b1679 100644 --- a/docs/reference/gtk/gtk3.types +++ b/docs/reference/gtk/gtk3.types @@ -101,6 +101,7 @@ gtk_message_dialog_get_type gtk_misc_get_type gtk_mount_operation_get_type gtk_notebook_get_type +gtk_numerable_icon_get_type gtk_offscreen_window_get_type gtk_orientable_get_type gtk_page_setup_get_type diff --git a/docs/reference/gtk/images/numerableicon.png b/docs/reference/gtk/images/numerableicon.png new file mode 100644 index 0000000000000000000000000000000000000000..fc94b61423c48023c8d0cb62789cc52f1ff26b69 GIT binary patch literal 2645 zcmV-b3aa&qP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM! z6&er;^^rA?Q2+5TF2;d1-B+B#)%{zW3>WJ{g>w z+j~s-;%LT>E#ZuNzUK>HN}-h0S|bD)V@fDS*ia&s5<&>!d%owoj^o<4lStSdfY7*- z@u$x=C2YG-fDD@Ji^ft+T+dZXDJ6{vDSY4eJlAm@&v$*{3n2_vsiaa;X{}U}A;+;b zKuPiVZ<TBmM=yP$M!+#P80l?EkHv{p)A$W^}$AV3)7lMM}h4=wpu z6)3HOxNup3lr~DSZM&qnlv0W@A%qZ2Fd?M-SSqOkVp7IRNzeE9@82h+P^xc$l-5Q? zw(a=Bmr{0WEHIj`L6-+ADWynJn3Pi5wj)HJ0qIUaj%{OvyP#m~xvp(H0Dv(9z)DGF z4keXTmc=M#sb=KZc0Vwb1cb2dIM}#VCndIR=jP@y%8WBAEu~DN@qGVmbJG=9WOfmx zr0qCT2&I(j8z9xi5GJXbJ$v^I8#;W*)mIxFCTyN)IR4EyjrsZc*IsjNCqtr( zA>DU|0AY-6$HCo$(AP(f+&ORl#!at&UcW!>thsaUsC%n+*sx(Ti0Vq(jw6IHfxACc zW;+;ni-#jejLON*U3C9q*LBj)YHx2-N(muSqLDBLM=FHqyr*^49*`cq);i2=GZo8oRB^P0@O`qsxu)BA3i)DkKcI1M5TnW+aU00tt=}f zQy5~D*^a{)$Nj?)GDeM4;|k||(4awqMpVjDP!32bK?7%;QtH??XRIF>3Id}LB6YuH zEKV`ov`8qW#28aXDP@dO+jbb^1mk|lWm;>`^B(#6BYn(ej5AD#)~Zjr3;?7Q&#(Jk znnt>fyG@1Gn$jdOoH2`Aln{(CLeLUvx}mfbG<4Oz-sVU z*T3}g-#6FA<8eYrI2;CmSS%)`%*x7|U0$~M!3VOl!ZVDtg@LircWy>8e=H&Jg@%17u&YIv+1=rYU{StRIQ#e zb<+7v^$bWW6KCy2qNmbAYt1M#c9RhbWpL|n8#h%}t-blCi8VEA3i9()uW4D<_;ID< z$CW;`c+v6|6-ypnx^l%c3l}bc?v{lw&X7rsLW)3a$BwtfSI z3`4126^ljxcl2mZc23^lt0*A^Q_fhaOdf9QDn(EaC&Bq`A`=9^%5C9h5J-?tJ zUn#Y7=kCw;f8Ny8#5pf1DK0CUSzWz)%GBxWU)u2OvrqTZ%Y-Sf0=of#*4A_L@4S2C zrdLm$I%WPm;+ku&ydraRZQZQ0nFR#}01%6{EM4|gG#UedTc=JbD9CplXUU^WGcq#r z@^Vj{XsE5*viF03yzr;rmzS4qu6=9S6OUPzbqPRPD=9>3>cALN%0`YTOe;U)t+5Y3 z`sm!b_>Ae(%(<0SHI`+CLZP4{AcRz|t|%*;$vNM){oSQcJhf}ro>)uEjOn*+-1yqQ zeV ziy@x8T~9(9kTD>bGD<0Bt+D3d^xypUc@3~+$;0jK?dDPmJK_62V+;Ty(ddJVe^y`r z#r(VGJ-O`h)O~{n4?fRyw7F$bTAA{LF~%5Y$uAyEIb)1*Q>EnQ=EPz#&+{4@PDUb; zAN+7qap{D%wsrtmc+dTHZ@mow$B&($`^*_5M~-kD zXYRZOu~=-_(4moNw7TXw0J!&_yU#Q=2_Xs#N2LQwMdLWO)|wE)7=Pv$PY22}MjcE| zXGjR)yN)}=x$?@at=ryNv$`U<^y_cD>3QCQ`FCAkbX{9pTPzj>fTPEb9X)m|=?%Bt zx^>(3tgNiklHv<9B!qB1w_^*2Yb*KeTvJ zK|wNUY<;^JB0)v7;Dh#JV~_2o6j~)xpl_q(S@&Uc=3{{0|2Cy4=j4P{=gSI-rJg;oqb_I zzVCN*Bx14H$Vr>0j5(Ail<2xA-ySpx?RUe% z)oTLXrHRR@AAa=l$`#K{ojfV6s72<{LeR)nN(mtWw3PDvmh>fxdB!Y@@7%R_`HBk1 zamr`iK4bcAMMc-87HC_yZm+G|5(-(>Rcoe9nRI>~i-KnzLI1m#+xOT;MYyH4B`9Gj zrKVbqMq@&VWC^?Yf$*TP>3H`D=-cwqqaXl{G=T59`}XZWc<4|h643y;IXQ)eqe@GP zEpF-V&G$Mt>jqpqDzUEa569erXdT_u-B0|5UAI_TK=Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2ipM! z6&e$e?L|-k00@~$L_t(o!_8S;Y#qfFK67SfukEr8%TAyAFMN>%;R_~TI6z`H2Zd2|>FQ-7 zH+`3LE<2bu1pvo6wzag@)zmHypfHL)86EBEzPmP8%NT>w2Ec%&xctXC4<*?W(K-=bBqBZ3NDbLr^FH&V~o+Uj-x0HBc;NrDK!a< z^>*KR@yg{Xr4|IpquID&lRzHD5fKqtFUA_JbsR@w6vjHzMjK;1R!f%1l5<1}Lt&^K zK=Jjsix)+=+f28U0v${U{XyQqm4DjT1(bC>rDh13eE$WtF5W6$<^e7Tp)u$ z1X2b<2q6UL{*P-NbHq&>x<5L9ZvHl8Epg6AE}dt{kRfA;$QVn$kRfA!4zm9&MiE^w6?U7 zqckqe3lKT46s1)6<{lvgBIlfQl5cTwlMWOb}TWhSnG&qJ;sX zGDFC-zJ2!W@H_u}r(;!T`-&AFhYy<{ojZHs!bodt>)JJIOAMJZLvG;=0YgL;hFBSd zhEAW}{?H?PUU}*0vG=OZ`u_KRF!<`;j*bqSMs>0(42>~9a4&|+RESs+57%|AFElm( zbjQ!4D6BebV&Vo78Dlch$asU}$QQ+^d8kzCPyk?zF~+?0_Wlze9uLE6K%DbpYtdLk z8Al713S_|ff&l@mP#KjHLT6{^`1ttUcWogu-fq*t;~eF3H8#VL6jFtulmRXdL(CgB zX5&f_1o?bE)d*#FrR9LN790dJ5JH4X1yU{oLup_%#$@l8#Nv$ERz*TY?Q{$WyA|b{P(&-|o zEOFo&Z(mtvSPKle5Zai@$w?w#VJF2u=X^18=Hb4;GA>L1s8&IE(GV|+{b6VG3Of^ z0bs{Z9_@eTHvkU&224sBYwd&F9d~T}^xEjPv9ZR6hB?@fXDI7cqobex@64G(Q(;-L zMR3m11L7kWM~v3sfE@Mo^Z>Z__IBq=OWQL@GpD)V!yem1ps#Jc=T7l{^hs7^_@cp4{h$= z{Q4WOA;-u19)EM+{*|j%zV_EwIr1Af#=QpTtg%aknScf<9vLxP9nV}$A zt|yS{YU|Re6ha7zh`#kfL?wqx;2=X_?BVSX{p0Pw4-UQ>NAZ@gYwWW%6G0{~iUW3(~GSPKBWls6C==K>gzr3)8Ek~YT0OHmZn*VlXG z)|wdsB{+z*HqJR@7|0-w8b-NT$9scPN-1oH(95~S5 z{|o^9?)NVgi>>#6 zm~J{mWVD%>m~_q|@>|=MBO)U5^b65}BO)PXKw0st*W__0rzTh;cz?mfDC{+n^KpyM`r|-bXFNd z#G0C1L%tyh0l?^K#LD8*J7hbzUbHc(ip6w#gb;|xx%g6jeHQyo z%VGbl`G)+l_m6JeuxX|uwMvFgpK8kIjWIzG0066c*O8XMv$_3rxpL)`^fOnzF5Vj%M->}V?N)ytY!WB^{uT%L=>NCK#Z~Z0V))ly1LeM7&Eum30xEkO}+-7 zF_+Df@an~vlx=No^Lgh|itGXwTdEctbCv%Cf5V)|<5UVm00000NkvXXu0mjfc}Z5x literal 0 HcmV?d00001 diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 6c541509df..e8c90e6716 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -252,6 +252,7 @@ gtk_public_h_sources = \ gtkmodules.h \ gtkmountoperation.h \ gtknotebook.h \ + gtknumerableicon.h \ gtkoffscreenwindow.h \ gtkorientable.h \ gtkpagesetup.h \ @@ -401,6 +402,7 @@ gtk_private_h_sources = \ gtkmnemonichash.h \ gtkmodifierstyle.h \ gtkmountoperationprivate.h \ + gtknumerableiconprivate.h \ gtkpango.h \ gtkpathbar.h \ gtkplugprivate.h \ @@ -565,6 +567,7 @@ gtk_base_c_sources = \ gtkmodules.c \ gtkmountoperation.c \ gtknotebook.c \ + gtknumerableicon.c \ gtkoffscreenwindow.c \ gtkorientable.c \ gtkpagesetup.c \ diff --git a/gtk/gtk.h b/gtk/gtk.h index 29b41f29be..cc08332e90 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -137,6 +137,7 @@ #include #include #include +#include #include #include #include diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 2014f64e37..001c345ddb 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1606,6 +1606,19 @@ gtk_notebook_set_tab_pos gtk_notebook_set_tab_reorderable gtk_notebook_tab_get_type G_GNUC_CONST gtk_number_up_layout_get_type G_GNUC_CONST +gtk_numerable_icon_get_background_gicon +gtk_numerable_icon_get_background_icon_name +gtk_numerable_icon_get_count +gtk_numerable_icon_get_label +gtk_numerable_icon_get_style_context +gtk_numerable_icon_get_type G_GNUC_CONST +gtk_numerable_icon_new +gtk_numerable_icon_new_with_style_context +gtk_numerable_icon_set_background_gicon +gtk_numerable_icon_set_background_icon_name +gtk_numerable_icon_set_count +gtk_numerable_icon_set_label +gtk_numerable_icon_set_style_context gtk_offscreen_window_get_pixbuf gtk_offscreen_window_get_surface gtk_offscreen_window_get_type G_GNUC_CONST diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 7099165267..a163c9cae8 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -45,6 +45,7 @@ #include "gtkbuiltincache.h" #include "gtkintl.h" #include "gtkmain.h" +#include "gtknumerableiconprivate.h" #include "gtksettings.h" #include "gtkprivate.h" @@ -3799,6 +3800,9 @@ gtk_icon_theme_lookup_by_gicon (GtkIconTheme *icon_theme, GList *list, *l; GtkIconInfo *emblem_info; + if (GTK_IS_NUMERABLE_ICON (icon)) + _gtk_numerable_icon_set_background_icon_size (GTK_NUMERABLE_ICON (icon), size / 2); + base = g_emblemed_icon_get_icon (G_EMBLEMED_ICON (icon)); info = gtk_icon_theme_lookup_by_gicon (icon_theme, base, size, flags); if (info) diff --git a/gtk/gtknumerableicon.c b/gtk/gtknumerableicon.c new file mode 100644 index 0000000000..622d793a27 --- /dev/null +++ b/gtk/gtknumerableicon.c @@ -0,0 +1,1048 @@ +/* + * gtknumerableicon.c: an emblemed icon with number emblems + * + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the Gnome Library; see the file COPYING.LIB. If not, + * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Authors: Cosimo Cecchi + */ + +/** + * SECTION:gtknumerableicon + * @Title: GtkNumerableIcon + * @Short_description: A GIcon that allows numbered emblems + * + * GtkNumerableIcon is a subclass of #GEmblemedIcon that can + * show a number or short string as an emblem. The number can + * be overlayed on top of another emblem, if desired. + * + * It supports theming by taking font and color information + * from a provided #GtkStyleContext; see + * gtk_numerable_icon_set_style_context(). + * + * + * Typical numerable icons + * + * + * + */ +#include + +#include "gtknumerableicon.h" + +#include "gtkicontheme.h" +#include "gtkintl.h" +#include "gtkwidget.h" +#include "gtkwindow.h" + +#include +#include +#include + +struct _GtkNumerableIconPrivate { + gint count; + gchar *label; + + GIcon *background_icon; + gchar *background_icon_name; + gint icon_size; + + GdkRGBA *background; + GdkRGBA *foreground; + + PangoFontDescription *font; + cairo_pattern_t *background_image; + gint border_size; + + GtkStyleContext *style; + gulong style_changed_id; + + gchar *rendered_string; +}; + +enum { + PROP_COUNT = 1, + PROP_LABEL, + PROP_STYLE, + PROP_BACKGROUND_ICON, + PROP_BACKGROUND_ICON_NAME, + NUM_PROPERTIES +}; + +#define DEFAULT_SURFACE_SIZE 256 +#define DEFAULT_BORDER_SIZE DEFAULT_SURFACE_SIZE * 0.06 +#define DEFAULT_RADIUS DEFAULT_SURFACE_SIZE / 2 + +#define DEFAULT_BACKGROUND "#000000" +#define DEFAULT_FOREGROUND "#ffffff" + +static GParamSpec *properties[NUM_PROPERTIES] = { NULL, }; + +G_DEFINE_TYPE (GtkNumerableIcon, gtk_numerable_icon, G_TYPE_EMBLEMED_ICON); + +static gint +get_surface_size (cairo_surface_t *surface) +{ + return MAX (cairo_image_surface_get_width (surface), cairo_image_surface_get_height (surface)); +} + +static gdouble +get_border_size (GtkNumerableIcon *self) +{ + return self->priv->border_size; +} + +static cairo_surface_t * +draw_default_surface (GtkNumerableIcon *self) +{ + cairo_surface_t *surface; + cairo_t *cr; + + surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + DEFAULT_SURFACE_SIZE, DEFAULT_SURFACE_SIZE); + + cr = cairo_create (surface); + + cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., + DEFAULT_RADIUS, 0., 2 * M_PI); + + gdk_cairo_set_source_rgba (cr, self->priv->background); + cairo_fill (cr); + + cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., + DEFAULT_RADIUS - DEFAULT_BORDER_SIZE, 0., 2 * M_PI); + gdk_cairo_set_source_rgba (cr, self->priv->foreground); + cairo_fill (cr); + + cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., + DEFAULT_RADIUS - 2 * DEFAULT_BORDER_SIZE, 0., 2 * M_PI); + gdk_cairo_set_source_rgba (cr, self->priv->background); + cairo_fill (cr); + + cairo_destroy (cr); + + return surface; +} + +static cairo_surface_t * +draw_from_gradient (cairo_pattern_t *pattern) +{ + cairo_surface_t *surface; + cairo_matrix_t matrix; + cairo_t *cr; + + surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + DEFAULT_SURFACE_SIZE, DEFAULT_SURFACE_SIZE); + + cr = cairo_create (surface); + + /* scale the gradient points to the user space coordinates */ + cairo_matrix_init_scale (&matrix, + 1. / (double) DEFAULT_SURFACE_SIZE, + 1. / (double) DEFAULT_SURFACE_SIZE); + cairo_pattern_set_matrix (pattern, &matrix); + + cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., + DEFAULT_RADIUS, 0., 2 * M_PI); + + cairo_set_source (cr, pattern); + cairo_fill (cr); + + cairo_destroy (cr); + + return surface; +} + +/* copy the surface */ +static cairo_surface_t * +draw_from_image (cairo_surface_t *image) +{ + cairo_surface_t *surface; + cairo_t *cr; + + surface = cairo_surface_create_similar (image, CAIRO_CONTENT_COLOR_ALPHA, + cairo_image_surface_get_width (image), + cairo_image_surface_get_height (image)); + cr = cairo_create (surface); + + cairo_set_source_surface (cr, image, 0, 0); + cairo_paint (cr); + + cairo_destroy (cr); + + return surface; +} + +static cairo_surface_t * +draw_from_gicon (GtkNumerableIcon *self) +{ + GtkIconTheme *theme; + GdkScreen *screen; + GtkIconInfo *info; + GdkPixbuf *pixbuf; + cairo_surface_t *surface; + cairo_t *cr; + + if (self->priv->style != NULL) + { + screen = gtk_style_context_get_screen (self->priv->style); + theme = gtk_icon_theme_get_for_screen (screen); + } + else + { + theme = gtk_icon_theme_get_default (); + } + + info = gtk_icon_theme_lookup_by_gicon (theme, self->priv->background_icon, + self->priv->icon_size, + GTK_ICON_LOOKUP_GENERIC_FALLBACK); + if (info == NULL) + return NULL; + + pixbuf = gtk_icon_info_load_icon (info, NULL); + gtk_icon_info_free (info); + + if (pixbuf == NULL) + return NULL; + + surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, + gdk_pixbuf_get_width (pixbuf), + gdk_pixbuf_get_height (pixbuf)); + + cr = cairo_create (surface); + + gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0); + cairo_paint (cr); + + cairo_destroy (cr); + g_object_unref (pixbuf); + + return surface; +} + +static cairo_surface_t * +get_image_surface (GtkNumerableIcon *self) +{ + cairo_surface_t *retval = NULL, *image; + + if (self->priv->background_icon != NULL) + { + retval = draw_from_gicon (self); + self->priv->border_size = 0; + } + else if (self->priv->background_image != NULL) + { + if (cairo_pattern_get_surface (self->priv->background_image, &image) == CAIRO_STATUS_SUCCESS) + retval = draw_from_image (image); + else + retval = draw_from_gradient (self->priv->background_image); + + self->priv->border_size = 0; + } + + if (retval == NULL) + { + retval = draw_default_surface (self); + self->priv->border_size = DEFAULT_BORDER_SIZE; + } + + return retval; +} + +static PangoLayout * +get_pango_layout (GtkNumerableIcon *self) +{ + PangoContext *context; + GdkScreen *screen; + PangoLayout *layout; + + if (self->priv->style != NULL) + { + screen = gtk_style_context_get_screen (self->priv->style); + context = gdk_pango_context_get_for_screen (screen); + layout = pango_layout_new (context); + + if (self->priv->font != NULL) + pango_layout_set_font_description (layout, self->priv->font); + + pango_layout_set_text (layout, self->priv->rendered_string, -1); + + g_object_unref (context); + } + else + { + GtkWidget *fake; + + /* steal gtk text settings from the window */ + fake = gtk_window_new (GTK_WINDOW_TOPLEVEL); + layout = gtk_widget_create_pango_layout (fake, self->priv->rendered_string); + gtk_widget_destroy (fake); + } + + return layout; +} + +static void +gtk_numerable_icon_ensure_emblem (GtkNumerableIcon *self) +{ + cairo_t *cr; + cairo_surface_t *surface; + PangoLayout *layout; + GEmblem *emblem; + gint width, height; + gdouble scale; + PangoAttrList *attr_list; + PangoAttribute *attr; + GdkPixbuf *pixbuf; + + /* don't draw anything if the count is zero */ + if (self->priv->rendered_string == NULL) + { + g_emblemed_icon_clear_emblems (G_EMBLEMED_ICON (self)); + return; + } + + surface = get_image_surface (self); + cr = cairo_create (surface); + + layout = get_pango_layout (self); + pango_layout_get_pixel_size (layout, &width, &height); + + /* scale the layout to be 0.75 of the size still available for drawing */ + scale = ((get_surface_size (surface) - 2 * get_border_size (self)) * 0.75) / (MAX (height, width)); + attr_list = pango_attr_list_new (); + + attr = pango_attr_scale_new (scale); + pango_attr_list_insert (attr_list, attr); + + attr = pango_attr_weight_new (PANGO_WEIGHT_BOLD); + pango_attr_list_insert (attr_list, attr); + + pango_layout_set_attributes (layout, attr_list); + + /* update these values */ + pango_layout_get_pixel_size (layout, &width, &height); + + /* move to the center */ + cairo_move_to (cr, + get_surface_size (surface) / 2. - (gdouble) width / 2., + get_surface_size (surface) / 2. - (gdouble) height / 2.); + + gdk_cairo_set_source_rgba (cr, self->priv->foreground); + pango_cairo_show_layout (cr, layout); + + cairo_destroy (cr); + + pixbuf = + gdk_pixbuf_get_from_surface (surface, 0, 0, + get_surface_size (surface), get_surface_size (surface)); + + emblem = g_emblem_new (G_ICON (pixbuf)); + g_emblemed_icon_clear_emblems (G_EMBLEMED_ICON (self)); + g_emblemed_icon_add_emblem (G_EMBLEMED_ICON (self), emblem); + + g_object_unref (layout); + g_object_unref (emblem); + g_object_unref (pixbuf); + + cairo_surface_destroy (surface); + pango_attr_list_unref (attr_list); +} + +static void +gtk_numerable_icon_update_properties_from_style (GtkNumerableIcon *self) +{ + GtkStyleContext *style = self->priv->style; + GtkWidgetPath *path, *saved; + cairo_pattern_t *pattern = NULL; + GdkRGBA background, foreground; + PangoFontDescription *font = NULL; + + /* save an unmodified copy of the original widget path, in order + * to restore it later */ + path = gtk_widget_path_copy (gtk_style_context_get_path (style)); + saved = gtk_widget_path_copy (path); + + if (!gtk_widget_path_is_type (path, GTK_TYPE_NUMERABLE_ICON)) + { + /* append our GType to the style context to fetch appropriate colors */ + gtk_widget_path_append_type (path, GTK_TYPE_NUMERABLE_ICON); + gtk_style_context_set_path (style, path); + } + + gtk_style_context_get_background_color (style, gtk_style_context_get_state (style), + &background); + gtk_style_context_get_color (style, gtk_style_context_get_state (style), + &foreground); + + if (self->priv->background != NULL) + gdk_rgba_free (self->priv->background); + + self->priv->background = gdk_rgba_copy (&background); + + if (self->priv->foreground != NULL) + gdk_rgba_free (self->priv->foreground); + + self->priv->foreground = gdk_rgba_copy (&foreground); + + gtk_style_context_get (style, gtk_style_context_get_state (style), + GTK_STYLE_PROPERTY_BACKGROUND_IMAGE, &pattern, + NULL); + + if (pattern != NULL) + { + if (self->priv->background_image != NULL) + cairo_pattern_destroy (self->priv->background_image); + + self->priv->background_image = pattern; + } + + gtk_style_context_get (style, gtk_style_context_get_state (style), + GTK_STYLE_PROPERTY_FONT, &font, + NULL); + + if (font != NULL) + { + if (self->priv->font != NULL) + pango_font_description_free (self->priv->font); + + self->priv->font = font; + } + + gtk_numerable_icon_ensure_emblem (self); + + /* restore original widget path */ + gtk_style_context_set_path (style, saved); + + gtk_widget_path_free (path); + gtk_widget_path_free (saved); +} + +static void +gtk_numerable_icon_init_style (GtkNumerableIcon *self) +{ + GtkStyleContext *style = self->priv->style; + + if (style == NULL) + return; + + gtk_numerable_icon_update_properties_from_style (self); + + self->priv->style_changed_id = + g_signal_connect_swapped (style, "changed", + G_CALLBACK (gtk_numerable_icon_update_properties_from_style), self); +} + +static void +gtk_numerable_icon_ensure_and_replace_label (GtkNumerableIcon *self, + gint count, + const gchar *label) +{ + g_assert (!(label != NULL && count != 0)); + + g_free (self->priv->rendered_string); + self->priv->rendered_string = NULL; + + if (count != 0) + { + if (self->priv->label != NULL) + { + g_free (self->priv->label); + self->priv->label = NULL; + + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_LABEL]); + } + + if (count > 99) + count = 99; + + if (count < -99) + count = -99; + + self->priv->count = count; + + /* Translators: the format here is used to build the string that will be rendered + * in the number emblem. + */ + self->priv->rendered_string = g_strdup_printf (C_("Number format", "%d"), count); + + return; + } + + if (label != NULL) + { + if (self->priv->count != 0) + { + self->priv->count = 0; + + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COUNT]); + } + + g_free (self->priv->label); + + if (g_strcmp0 (label, "") == 0) + { + self->priv->label = NULL; + return; + } + + self->priv->label = g_strdup (label); + self->priv->rendered_string = g_strdup (label); + } +} + +static gboolean +real_set_background_icon (GtkNumerableIcon *self, + GIcon *icon) +{ + if (!g_icon_equal (self->priv->background_icon, icon)) + { + g_clear_object (&self->priv->background_icon); + + if (icon != NULL) + self->priv->background_icon = g_object_ref (icon); + + gtk_numerable_icon_ensure_emblem (self); + + return TRUE; + } + + return FALSE; +} + +static void +gtk_numerable_icon_constructed (GObject *object) +{ + GtkNumerableIcon *self = GTK_NUMERABLE_ICON (object); + + if (G_OBJECT_CLASS (gtk_numerable_icon_parent_class)->constructed != NULL) + G_OBJECT_CLASS (gtk_numerable_icon_parent_class)->constructed (object); + + gtk_numerable_icon_ensure_emblem (self); +} + +static void +gtk_numerable_icon_finalize (GObject *object) +{ + GtkNumerableIcon *self = GTK_NUMERABLE_ICON (object); + + g_free (self->priv->label); + g_free (self->priv->rendered_string); + + gdk_rgba_free (self->priv->background); + gdk_rgba_free (self->priv->foreground); + + pango_font_description_free (self->priv->font); + + cairo_pattern_destroy (self->priv->background_image); + + G_OBJECT_CLASS (gtk_numerable_icon_parent_class)->finalize (object); +} + +static void +gtk_numerable_icon_dispose (GObject *object) +{ + GtkNumerableIcon *self = GTK_NUMERABLE_ICON (object); + + if (self->priv->style_changed_id != 0) + { + g_signal_handler_disconnect (self->priv->style, + self->priv->style_changed_id); + self->priv->style_changed_id = 0; + } + + g_clear_object (&self->priv->style); + g_clear_object (&self->priv->background_icon); + + G_OBJECT_CLASS (gtk_numerable_icon_parent_class)->dispose (object); +} + +static void +gtk_numerable_icon_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkNumerableIcon *self = GTK_NUMERABLE_ICON (object); + + switch (property_id) + { + case PROP_COUNT: + gtk_numerable_icon_set_count (self, g_value_get_int (value)); + break; + case PROP_LABEL: + gtk_numerable_icon_set_label (self, g_value_get_string (value)); + break; + case PROP_STYLE: + gtk_numerable_icon_set_style_context (self, g_value_get_object (value)); + break; + case PROP_BACKGROUND_ICON: + gtk_numerable_icon_set_background_gicon (self, g_value_get_object (value)); + break; + case PROP_BACKGROUND_ICON_NAME: + gtk_numerable_icon_set_background_icon_name (self, g_value_get_string (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +gtk_numerable_icon_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + GtkNumerableIcon *self = GTK_NUMERABLE_ICON (object); + + switch (property_id) + { + case PROP_COUNT: + g_value_set_int (value, self->priv->count); + break; + case PROP_LABEL: + g_value_set_string (value, self->priv->label); + break; + case PROP_STYLE: + g_value_set_object (value, self->priv->style); + break; + case PROP_BACKGROUND_ICON: + if (self->priv->background_icon != NULL) + g_value_set_object (value, self->priv->background_icon); + break; + case PROP_BACKGROUND_ICON_NAME: + g_value_set_string (value, self->priv->background_icon_name); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + break; + } +} + +static void +gtk_numerable_icon_class_init (GtkNumerableIconClass *klass) +{ + GObjectClass *oclass = G_OBJECT_CLASS (klass); + + oclass->get_property = gtk_numerable_icon_get_property; + oclass->set_property = gtk_numerable_icon_set_property; + oclass->constructed = gtk_numerable_icon_constructed; + oclass->dispose = gtk_numerable_icon_dispose; + oclass->finalize = gtk_numerable_icon_finalize; + + g_type_class_add_private (klass, sizeof (GtkNumerableIconPrivate)); + + properties[PROP_COUNT] = + g_param_spec_int ("count", + P_("Icon's count"), + P_("The count of the emblem currently displayed"), + -99, 99, 0, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + properties[PROP_LABEL] = + g_param_spec_string ("label", + P_("Icon's label"), + P_("The label to be displayed over the icon"), + NULL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + properties[PROP_STYLE] = + g_param_spec_object ("style-context", + P_("Icon's style context"), + P_("The style context to theme the icon appearance"), + GTK_TYPE_STYLE_CONTEXT, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + properties[PROP_BACKGROUND_ICON] = + g_param_spec_object ("background-icon", + P_("Background icon"), + P_("The icon for the number emblem background"), + G_TYPE_ICON, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + properties[PROP_BACKGROUND_ICON_NAME] = + g_param_spec_string ("background-icon-name", + P_("Background icon name"), + P_("The icon name for the number emblem background"), + NULL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); + + g_object_class_install_properties (oclass, NUM_PROPERTIES, properties); +} + +static void +gtk_numerable_icon_init (GtkNumerableIcon *self) +{ + GdkRGBA bg; + GdkRGBA fg; + + self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, + GTK_TYPE_NUMERABLE_ICON, + GtkNumerableIconPrivate); + + gdk_rgba_parse (&bg, DEFAULT_BACKGROUND); + gdk_rgba_parse (&fg, DEFAULT_FOREGROUND); + + self->priv->background = gdk_rgba_copy (&bg); + self->priv->foreground = gdk_rgba_copy (&fg); + + self->priv->icon_size = 48; +} + +/* private */ +void +_gtk_numerable_icon_set_background_icon_size (GtkNumerableIcon *self, + gint icon_size) +{ + if (self->priv->background_icon == NULL) + return; + + if (self->priv->icon_size != icon_size) + { + self->priv->icon_size = icon_size; + gtk_numerable_icon_ensure_emblem (self); + } +} + +/** + * gtk_numerable_icon_get_label: + * @self: a #GtkNumerableIcon + * + * Returns the currently displayed label of the icon, or %NULL. + * + * Returns: the currently displayed label + * + * Since: 3.0 + */ +const gchar * +gtk_numerable_icon_get_label (GtkNumerableIcon *self) +{ + g_return_val_if_fail (GTK_IS_NUMERABLE_ICON (self), NULL); + + return self->priv->label; +} + +/** + * gtk_numerable_icon_set_label: + * @self: a #GtkNumerableIcon + * @label: (allow-none): a short label, or %NULL + * + * Sets the currently displayed value of @self to the string + * in @label. Setting an empty label removes the emblem. + * + * Note that this is meant for displaying short labels, such as + * roman numbers, or single letters. For roman numbers, consider + * using the Unicode characters U+2160 - U+217F. Strings longer + * than two characters will likely not be rendered very well. + * + * If this method is called, and a number was already set on the + * icon, it will automatically be reset to zero before rendering + * the label, i.e. the last method called between + * gtk_numerable_icon_set_label() and gtk_numerable_icon_set_count() + * has always priority. + * + * Since: 3.0 + */ +void +gtk_numerable_icon_set_label (GtkNumerableIcon *self, + const gchar *label) +{ + g_return_if_fail (GTK_IS_NUMERABLE_ICON (self)); + + if (g_strcmp0 (label, self->priv->label) != 0) + { + gtk_numerable_icon_ensure_and_replace_label (self, 0, label); + gtk_numerable_icon_ensure_emblem (self); + + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_LABEL]); + } +} + +/** + * gtk_numerable_icon_get_count: + * @self: a #GtkNumerableIcon + * + * Returns the value currently displayed by @self. + * + * Returns: the currently displayed value + * + * Since: 3.0 + */ +gint +gtk_numerable_icon_get_count (GtkNumerableIcon *self) +{ + g_return_val_if_fail (GTK_IS_NUMERABLE_ICON (self), 0); + + return self->priv->count; +} + +/** + * gtk_numerable_icon_set_count: + * @self: a #GtkNumerableIcon + * @count: a number between -99 and 99 + * + * Sets the currently displayed value of @self to @count. + * + * The numeric value is always clamped to make it two digits, i.e. + * between -99 and 99. Setting a count of zero removes the emblem. + * If this method is called, and a label was already set on the icon, + * it will automatically be reset to %NULL before rendering the number, + * i.e. the last method called between gtk_numerable_icon_set_count() + * and gtk_numerable_icon_set_label() has always priority. + * + * Since: 3.0 + */ +void +gtk_numerable_icon_set_count (GtkNumerableIcon *self, + gint count) +{ + g_return_if_fail (GTK_IS_NUMERABLE_ICON (self)); + + if (count != self->priv->count) + { + gtk_numerable_icon_ensure_and_replace_label (self, count, NULL); + gtk_numerable_icon_ensure_emblem (self); + + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_COUNT]); + } +} + +/** + * gtk_numerable_icon_get_style_context: + * @self: a #GtkNumerableIcon + * + * Returns the #GtkStyleContext used by the icon for theming, + * or %NULL if there's none. + * + * Returns: (transfer none): a #GtkStyleContext, or %NULL. + * This object is internal to GTK+ and should not be unreffed. + * Use g_object_ref() if you want to keep it around + * + * Since: 3.0 + */ +GtkStyleContext * +gtk_numerable_icon_get_style_context (GtkNumerableIcon *self) +{ + g_return_val_if_fail (GTK_IS_NUMERABLE_ICON (self), NULL); + + return self->priv->style; +} + +/** + * gtk_numerable_icon_set_style_context: + * @self: a #GtkNumerableIcon + * @style: a #GtkStyleContext + * + * Updates the icon to fetch theme information from the + * given #GtkStyleContext. + * + * Since: 3.0 + */ +void +gtk_numerable_icon_set_style_context (GtkNumerableIcon *self, + GtkStyleContext *style) +{ + g_return_if_fail (GTK_IS_NUMERABLE_ICON (self)); + g_return_if_fail (GTK_IS_STYLE_CONTEXT (style)); + + if (style != self->priv->style) + { + if (self->priv->style_changed_id != 0) + g_signal_handler_disconnect (self->priv->style, + self->priv->style_changed_id); + + if (self->priv->style != NULL) + g_object_unref (self->priv->style); + + self->priv->style = g_object_ref (style); + + gtk_numerable_icon_init_style (self); + + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_STYLE]); + } +} + +/** + * gtk_numerable_icon_set_background_gicon: + * @self: a #GtkNumerableIcon + * @icon: (allow-none): a #GIcon, or %NULL + * + * Updates the icon to use @icon as the base background image. + * If @icon is %NULL, @self will go back using style information + * or default theming for its background image. + * + * If this method is called and an icon name was already set as + * background for the icon, @icon will be used, i.e. the last method + * called between gtk_numerable_icon_set_background_gicon() and + * #gtk_numerable_icon_set_background_icon_name() has always priority. + * + * Since: 3.0 + */ +void +gtk_numerable_icon_set_background_gicon (GtkNumerableIcon *self, + GIcon *icon) +{ + gboolean res; + + g_return_if_fail (GTK_IS_NUMERABLE_ICON (self)); + + if (self->priv->background_icon_name != NULL) + { + g_free (self->priv->background_icon_name); + self->priv->background_icon_name = NULL; + } + + res = real_set_background_icon (self, icon); + + if (res) + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_BACKGROUND_ICON]); +} + +/** + * gtk_numerable_icon_get_background_gicon: + * @self: a #GtkNumerableIcon + * + * Returns the #GIcon that was set as the base background image, or + * %NULL if there's none. The caller of this function does not own + * a reference to the returned #GIcon. + * + * Returns: (transfer none): a #GIcon, or %NULL + * + * Since: 3.0 + */ +GIcon * +gtk_numerable_icon_get_background_gicon (GtkNumerableIcon *self) +{ + GIcon *retval = NULL; + + g_return_val_if_fail (GTK_IS_NUMERABLE_ICON (self), NULL); + + /* return the GIcon only if it wasn't created from an icon name */ + if (self->priv->background_icon_name == NULL) + retval = self->priv->background_icon; + + return retval; +} + +/** + * gtk_numerable_icon_set_background_icon_name: + * @self: a #GtkNumerableIcon + * @icon_name: (allow-none): an icon name, or %NULL + * + * Updates the icon to use the icon named @icon_name from the + * current icon theme as the base background image. If @icon_name + * is %NULL, @self will go back using style information or default + * theming for its background image. + * + * If this method is called and a #GIcon was already set as + * background for the icon, @icon_name will be used, i.e. the + * last method called between gtk_numerable_icon_set_background_icon_name() + * and gtk_numerable_icon_set_background_gicon() has always priority. + * + * Since: 3.0 + */ +void +gtk_numerable_icon_set_background_icon_name (GtkNumerableIcon *self, + const gchar *icon_name) +{ + GIcon *icon = NULL; + gboolean res; + + g_return_if_fail (GTK_IS_NUMERABLE_ICON (self)); + + if (g_strcmp0 (icon_name, self->priv->background_icon_name) != 0) + { + g_free (self->priv->background_icon_name); + self->priv->background_icon_name = g_strdup (icon_name); + } + + if (icon_name != NULL) + icon = g_themed_icon_new_with_default_fallbacks (icon_name); + + res = real_set_background_icon (self, icon); + + if (res) + g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_BACKGROUND_ICON_NAME]); + + if (icon != NULL) + g_object_unref (icon); +} + +/** + * gtk_numerable_icon_get_background_icon_name: + * @self: a #GtkNumerableIcon + * + * Returns the icon name used as the base background image, + * or %NULL if there's none. + * + * Returns: an icon name, or %NULL + * + * Since: 3.0 + */ +const gchar * +gtk_numerable_icon_get_background_icon_name (GtkNumerableIcon *self) +{ + g_return_val_if_fail (GTK_IS_NUMERABLE_ICON (self), NULL); + + return self->priv->background_icon_name; +} + +/** + * gtk_numerable_icon_new: + * @base_icon: a #GIcon to overlay on + * + * Creates a new unthemed #GtkNumerableIcon. + * + * Returns: a new #GIcon + * + * Since: 3.0 + */ +GIcon * +gtk_numerable_icon_new (GIcon *base_icon) +{ + g_return_val_if_fail (G_IS_ICON (base_icon), NULL); + + return g_object_new (GTK_TYPE_NUMERABLE_ICON, + "gicon", base_icon, + NULL); +} + +/** + * gtk_numerable_icon_new_with_style_context: + * @base_icon: a #GIcon to overlay on + * @context: a #GtkStyleContext + * + * Creates a new #GtkNumerableIcon which will themed according + * to the passed #GtkStyleContext. This is a convenience constructor + * that calls gtk_numerable_icon_set_style_context() internally. + * + * Returns: a new #GIcon + * + * Since: 3.0 + */ +GIcon * +gtk_numerable_icon_new_with_style_context (GIcon *base_icon, + GtkStyleContext *context) +{ + g_return_val_if_fail (G_IS_ICON (base_icon), NULL); + + return g_object_new (GTK_TYPE_NUMERABLE_ICON, + "gicon", base_icon, + "style-context", context, + NULL); +} diff --git a/gtk/gtknumerableicon.h b/gtk/gtknumerableicon.h new file mode 100644 index 0000000000..277d2dd465 --- /dev/null +++ b/gtk/gtknumerableicon.h @@ -0,0 +1,89 @@ +/* + * gtknumerableicon.h: an emblemed icon with number emblems + * + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the Gnome Library; see the file COPYING.LIB. If not, + * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Authors: Cosimo Cecchi + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_NUMERABLE_ICON_H__ +#define __GTK_NUMERABLE_ICON_H__ + +#include +#include + +G_BEGIN_DECLS + +#define GTK_TYPE_NUMERABLE_ICON (gtk_numerable_icon_get_type ()) +#define GTK_NUMERABLE_ICON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_NUMERABLE_ICON, GtkNumerableIcon)) +#define GTK_NUMERABLE_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_NUMERABLE_ICON, GtkNumerableIconClass)) +#define GTK_IS_NUMERABLE_ICON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_NUMERABLE_ICON)) +#define GTK_IS_NUMERABLE_ICON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_NUMERABLE_ICON)) +#define GTK_NUMERABLE_ICON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_NUMERABLE_ICON, GtkNumerableIconClass)) + +typedef struct _GtkNumerableIcon GtkNumerableIcon; +typedef struct _GtkNumerableIconClass GtkNumerableIconClass; +typedef struct _GtkNumerableIconPrivate GtkNumerableIconPrivate; + +struct _GtkNumerableIcon { + GEmblemedIcon parent; + + /*< private >*/ + GtkNumerableIconPrivate *priv; +}; + +struct _GtkNumerableIconClass { + GEmblemedIconClass parent_class; + + /* padding for future class expansion */ + gpointer padding[8]; +}; + +GType gtk_numerable_icon_get_type (void) G_GNUC_CONST; + +GIcon * gtk_numerable_icon_new (GIcon *base_icon); +GIcon * gtk_numerable_icon_new_with_style_context (GIcon *base_icon, + GtkStyleContext *context); + +GtkStyleContext * gtk_numerable_icon_get_style_context (GtkNumerableIcon *self); +void gtk_numerable_icon_set_style_context (GtkNumerableIcon *self, + GtkStyleContext *style); + +gint gtk_numerable_icon_get_count (GtkNumerableIcon *self); +void gtk_numerable_icon_set_count (GtkNumerableIcon *self, + gint count); + +const gchar * gtk_numerable_icon_get_label (GtkNumerableIcon *self); +void gtk_numerable_icon_set_label (GtkNumerableIcon *self, + const gchar *label); + +void gtk_numerable_icon_set_background_gicon (GtkNumerableIcon *self, + GIcon *icon); +GIcon * gtk_numerable_icon_get_background_gicon (GtkNumerableIcon *self); + +void gtk_numerable_icon_set_background_icon_name (GtkNumerableIcon *self, + const gchar *icon_name); +const gchar * gtk_numerable_icon_get_background_icon_name (GtkNumerableIcon *self); + +G_END_DECLS + +#endif /* __GTK_NUMERABLE_ICON_H__ */ diff --git a/gtk/gtknumerableiconprivate.h b/gtk/gtknumerableiconprivate.h new file mode 100644 index 0000000000..18323fb28a --- /dev/null +++ b/gtk/gtknumerableiconprivate.h @@ -0,0 +1,32 @@ +/* + * gtknumerableiconprivate.h: private methods for GtkNumerableIcon + * + * Copyright (C) 2010 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with the Gnome Library; see the file COPYING.LIB. If not, + * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Authors: Cosimo Cecchi + */ + +#ifndef __GTK_NUMERABLE_ICON_PRIVATE_H__ +#define __GTK_NUMERABLE_ICON_PRIVATE_H__ + +#include "gtknumerableicon.h" + +void _gtk_numerable_icon_set_background_icon_size (GtkNumerableIcon *self, + gint icon_size); + +#endif /* __GTK_NUMERABLE_ICON_PRIVATE_H__ */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 0932229c8c..c57426fbe1 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -63,6 +63,7 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testmultidisplay \ testmultiscreen \ testnotebookdnd \ + testnumerableicon \ testnouiprint \ testoffscreen \ testoffscreenwindow \ @@ -158,6 +159,7 @@ testmultidisplay_DEPENDENCIES = $(TEST_DEPS) testmultiscreen_DEPENDENCIES = $(TEST_DEPS) testnotebookdnd_DEPENDENCIES = $(TEST_DEPS) testnouiprint_DEPENDENCIES = $(TEST_DEPS) +testnumerableicon_DEPENDENCIES = $(TEST_DEPS) testoffscreen_DEPENDENCIES = $(TEST_DEPS) testoffscreenwindow_DEPENDENCIES = $(TEST_DEPS) testappchooser_DEPENDENCIES = $(TEST_DEPS) @@ -236,6 +238,7 @@ testmultidisplay_LDADD = $(LDADDS) testmultiscreen_LDADD = $(LDADDS) testnotebookdnd_LDADD = $(LDADDS) testnouiprint_LDADD = $(LDADDS) +testnumerableicon_LDADD = $(LDADDS) testoffscreen_LDADD = $(LDADDS) testoffscreenwindow_LDADD = $(LDADDS) testappchooser_LDADD = $(LDADDS) @@ -363,6 +366,10 @@ testiconview_SOURCES = \ testiconview_keynav_SOURCES = \ testiconview-keynav.c +testnumerableicon_SOURCES = \ + testnumerableicon.c \ + prop-editor.c + testrecentchooser_SOURCES = \ prop-editor.c \ testrecentchooser.c diff --git a/tests/testnumerableicon.c b/tests/testnumerableicon.c new file mode 100644 index 0000000000..508357bfe1 --- /dev/null +++ b/tests/testnumerableicon.c @@ -0,0 +1,198 @@ +/* testnumerableicon.c + * Copyright (C) 2010 Red Hat, Inc. + * Authors: Cosimo Cecchi + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include +#include +#include "prop-editor.h" + + +typedef struct { + GIcon *numerable; + GtkWidget *image; + gboolean odd; + GtkIconSize size; +} PackData; + +static void +button_clicked_cb (GtkButton *b, + gpointer user_data) +{ + PackData *d = user_data; + GtkCssProvider *provider; + GtkStyleContext *style; + GError *error = NULL; + gchar *data, *bg_str, *grad1, *grad2; + const gchar data_format[] = "GtkNumerableIcon { background-color: %s; color: #000000;" + "background-image: -gtk-gradient (linear, 0 0, 1 1, from(%s), to(%s));" + "font: Monospace 12;" + /* "background-image: url('apple-red.png');" */ + "}"; + + bg_str = g_strdup_printf ("rgb(%d,%d,%d)", g_random_int_range (0, 255), g_random_int_range (0, 255), g_random_int_range (0, 255)); + grad1 = g_strdup_printf ("rgb(%d,%d,%d)", g_random_int_range (0, 255), g_random_int_range (0, 255), g_random_int_range (0, 255)); + grad2 = g_strdup_printf ("rgb(%d,%d,%d)", g_random_int_range (0, 255), g_random_int_range (0, 255), g_random_int_range (0, 255)); + + data = g_strdup_printf (data_format, bg_str, grad1, grad2); + + provider = gtk_css_provider_new (); + gtk_css_provider_load_from_data (provider, data, -1, &error); + + g_assert (error == NULL); + + style = gtk_widget_get_style_context (d->image); + gtk_style_context_add_provider (style, GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_USER); + + if (d->odd) { + gtk_numerable_icon_set_background_icon_name (GTK_NUMERABLE_ICON (d->numerable), NULL); + gtk_numerable_icon_set_count (GTK_NUMERABLE_ICON (d->numerable), g_random_int_range (-99, 99)); + } else { + gtk_numerable_icon_set_background_icon_name (GTK_NUMERABLE_ICON (d->numerable), + "emblem-favorite"); + gtk_numerable_icon_set_label (GTK_NUMERABLE_ICON (d->numerable), "IVX"); + } + + gtk_image_set_from_gicon (GTK_IMAGE (d->image), d->numerable, d->size); + + d->odd = !d->odd; + + g_free (data); + g_free (bg_str); + g_free (grad1); + g_free (grad2); + + g_object_unref (provider); +} + +static gboolean +delete_event_cb (GtkWidget *editor, + gint response, + gpointer user_data) +{ + gtk_widget_hide (editor); + + return TRUE; +} + +static void +properties_cb (GtkWidget *button, + GObject *entry) +{ + GtkWidget *editor; + + editor = g_object_get_data (entry, "properties-dialog"); + + if (editor == NULL) + { + editor = create_prop_editor (G_OBJECT (entry), G_TYPE_INVALID); + gtk_container_set_border_width (GTK_CONTAINER (editor), 12); + gtk_window_set_transient_for (GTK_WINDOW (editor), + GTK_WINDOW (gtk_widget_get_toplevel (button))); + g_signal_connect (editor, "delete-event", G_CALLBACK (delete_event_cb), NULL); + g_object_set_data (entry, "properties-dialog", editor); + } + + gtk_window_present (GTK_WINDOW (editor)); +} + +static void +refresh_cb (GtkWidget *button, + gpointer user_data) +{ + PackData *d = user_data; + + gtk_image_set_from_gicon (GTK_IMAGE (d->image), d->numerable, d->size); +} + +static void +pack_numerable (GtkWidget *parent, + GtkIconSize size) +{ + PackData *d; + GtkWidget *vbox, *label, *image, *button; + gchar *str; + GIcon *icon, *numerable; + + d = g_slice_new0 (PackData); + + image = gtk_image_new (); + icon = g_themed_icon_new ("system-file-manager"); + numerable = gtk_numerable_icon_new (icon); + + d->image = image; + d->numerable = numerable; + d->odd = FALSE; + d->size = size; + + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); + gtk_box_pack_start (GTK_BOX (parent), vbox, FALSE, FALSE, 0); + + gtk_numerable_icon_set_count (GTK_NUMERABLE_ICON (numerable), 42); + gtk_box_pack_start (GTK_BOX (vbox), image, FALSE, FALSE, 0); + gtk_numerable_icon_set_style_context (GTK_NUMERABLE_ICON (numerable), + gtk_widget_get_style_context (image)); + gtk_image_set_from_gicon (GTK_IMAGE (image), numerable, size); + + label = gtk_label_new (NULL); + str = g_strdup_printf ("Numerable icon, hash %u", g_icon_hash (numerable)); + gtk_label_set_label (GTK_LABEL (label), str); + gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); + + button = gtk_button_new_with_label ("Change icon number"); + gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); + g_signal_connect (button, "clicked", + G_CALLBACK (button_clicked_cb), d); + + button = gtk_button_new_with_label ("Properties"); + gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); + g_signal_connect (button, "clicked", + G_CALLBACK (properties_cb), numerable); + + button = gtk_button_new_with_label ("Refresh"); + gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); + g_signal_connect (button, "clicked", + G_CALLBACK (refresh_cb), d); +} + +int +main (int argc, + char **argv) +{ + GtkWidget *hbox, *toplevel; + + gtk_init (&argc, &argv); + + toplevel = gtk_window_new (GTK_WINDOW_TOPLEVEL); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + gtk_container_add (GTK_CONTAINER (toplevel), hbox); + + pack_numerable (hbox, GTK_ICON_SIZE_DIALOG); + pack_numerable (hbox, GTK_ICON_SIZE_BUTTON); + + gtk_widget_show_all (toplevel); + + g_signal_connect (toplevel, "delete-event", + G_CALLBACK (gtk_main_quit), NULL); + + gtk_main (); + + return 0; +} + From 14a452ab509cbe1661737ac877df7c07d7224fc2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 16:58:08 -0500 Subject: [PATCH 1179/1463] More updates --- NEWS | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS b/NEWS index b247decf67..ed23d9c194 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,7 @@ Overview of Changes from GTK+ 2.91.7 to 2.99.0 gdk_display_set_device_hooks() have been removed - The deprecated GtkNotebook:tab-pack child property has been removed - The deprecated gtk_quit_add() functions have been removed + - The GtkRange update-policy facility has been removed * The gtk-update-icon-cache and gtk-builder-convert utilities have been renamed back to their un-suffixed names. Distributions will @@ -46,6 +47,9 @@ Overview of Changes from GTK+ 2.91.7 to 2.99.0 * The cups print backend can now send print jobs directly in PDF if cups supports it +* GtkNumerableIcon is a variant of GEmblemedIcon for using numbers + as emblems + * Bugs fixed: 144324 Leaking dnd contexts with XDnD 165987 unsets DESKTOP_STARTUP_ID @@ -87,6 +91,7 @@ Overview of Changes from GTK+ 2.91.7 to 2.99.0 638608 gtkenums: add GTK_STATE_FLAG_NORMAL = 0 * Updated translations: + Estonian Kurdish Norwegian bokmål Punjabi From 76b50a7eae224e0c53eee9bb01c075acab5889e9 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 16:54:12 +0100 Subject: [PATCH 1180/1463] spinbutton: Update adjustment usage for sealing Also rename all variables named "adj" to "adjustment", like they're called everywhere else. --- gtk/gtkspinbutton.c | 190 ++++++++++++++++++++++---------------------- 1 file changed, 96 insertions(+), 94 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 9e51cb69ec..65b4e2ee35 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -90,15 +90,15 @@ * { * * GtkWidget *window, *button; - * GtkAdjustment *adj; + * GtkAdjustment *adjustment; * - * adj = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0); + * adjustment = gtk_adjustment_new (50.0, 0.0, 100.0, 1.0, 5.0, 0.0); * * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); * gtk_container_set_border_width (GTK_CONTAINER (window), 5); * * /* creates the spinbutton, with no decimal places */ - * button = gtk_spin_button_new (adj, 1.0, 0); + * button = gtk_spin_button_new (adjustment, 1.0, 0); * gtk_container_add (GTK_CONTAINER (window), button); * * gtk_widget_show_all (window); @@ -124,15 +124,15 @@ * create_floating_spin_button (void) * { * GtkWidget *window, *button; - * GtkAdjustment *adj; + * GtkAdjustment *adjustment; * - * adj = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0); + * adjustment = gtk_adjustment_new (2.500, 0.0, 5.0, 0.001, 0.1, 0.0); * * window = gtk_window_new (GTK_WINDOW_TOPLEVEL); * gtk_container_set_border_width (GTK_CONTAINER (window), 5); * * /* creates the spinbutton, with three decimal places */ - * button = gtk_spin_button_new (adj, 0.001, 3); + * button = gtk_spin_button_new (adjustment, 0.001, 3); * gtk_container_add (GTK_CONTAINER (window), button); * * gtk_widget_show_all (window); @@ -431,12 +431,12 @@ gtk_spin_button_class_init (GtkSpinButtonClass *class) * on_output (GtkSpinButton *spin, * gpointer data) * { - * GtkAdjustment *adj; + * GtkAdjustment *adjustment; * gchar *text; * int value; * - * adj = gtk_spin_button_get_adjustment (spin); - * value = (int)gtk_adjustment_get_value (adj); + * adjustment = gtk_spin_button_get_adjustment (spin); + * value = (int)gtk_adjustment_get_value (adjustment); * text = g_strdup_printf ("%02d", value); * gtk_entry_set_text (GTK_ENTRY (spin), text); * g_free (text); @@ -599,7 +599,7 @@ gtk_spin_button_get_property (GObject *object, g_value_set_enum (value, priv->update_policy); break; case PROP_VALUE: - g_value_set_double (value, priv->adjustment->value); + g_value_set_double (value, gtk_adjustment_get_value (priv->adjustment)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -831,14 +831,14 @@ gtk_spin_button_get_preferred_width (GtkWidget *widget, /* Get max of MIN_SPIN_BUTTON_WIDTH, size of upper, size of lower */ width = MIN_SPIN_BUTTON_WIDTH; - max_string_len = MAX (10, compute_double_length (1e9 * priv->adjustment->step_increment, + max_string_len = MAX (10, compute_double_length (1e9 * gtk_adjustment_get_step_increment (priv->adjustment), priv->digits)); - string_len = compute_double_length (priv->adjustment->upper, + string_len = compute_double_length (gtk_adjustment_get_upper (priv->adjustment), priv->digits); w = PANGO_PIXELS (MIN (string_len, max_string_len) * digit_width); width = MAX (width, w); - string_len = compute_double_length (priv->adjustment->lower, priv->digits); + string_len = compute_double_length (gtk_adjustment_get_lower (priv->adjustment), priv->digits); w = PANGO_PIXELS (MIN (string_len, max_string_len) * digit_width); width = MAX (width, w); @@ -973,17 +973,17 @@ spin_button_at_limit (GtkSpinButton *spin_button, if (priv->wrap) return FALSE; - if (priv->adjustment->step_increment > 0) + if (gtk_adjustment_get_step_increment (priv->adjustment) > 0) effective_arrow = arrow; else effective_arrow = arrow == GTK_ARROW_UP ? GTK_ARROW_DOWN : GTK_ARROW_UP; if (effective_arrow == GTK_ARROW_UP && - (priv->adjustment->upper - priv->adjustment->value <= EPSILON)) + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_value (priv->adjustment) <= EPSILON)) return TRUE; if (effective_arrow == GTK_ARROW_DOWN && - (priv->adjustment->value - priv->adjustment->lower <= EPSILON)) + (gtk_adjustment_get_value (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) <= EPSILON)) return TRUE; return FALSE; @@ -1213,13 +1213,13 @@ gtk_spin_button_scroll (GtkWidget *widget, { if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); - gtk_spin_button_real_spin (spin, priv->adjustment->step_increment); + gtk_spin_button_real_spin (spin, gtk_adjustment_get_step_increment (priv->adjustment)); } else if (event->direction == GDK_SCROLL_DOWN) { if (!gtk_widget_has_focus (widget)) gtk_widget_grab_focus (widget); - gtk_spin_button_real_spin (spin, -priv->adjustment->step_increment); + gtk_spin_button_real_spin (spin, -gtk_adjustment_get_step_increment (priv->adjustment)); } else return FALSE; @@ -1242,7 +1242,7 @@ gtk_spin_button_stop_spinning (GtkSpinButton *spin) priv->button = 0; priv->timer = 0; - priv->timer_step = priv->adjustment->step_increment; + priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment); priv->timer_calls = 0; priv->click_child = NO_ARROW; @@ -1305,18 +1305,18 @@ gtk_spin_button_button_press (GtkWidget *widget, if (event->y <= requisition.height / 2) { if (event->button == 1) - start_spinning (spin, GTK_ARROW_UP, priv->adjustment->step_increment); + start_spinning (spin, GTK_ARROW_UP, gtk_adjustment_get_step_increment (priv->adjustment)); else if (event->button == 2) - start_spinning (spin, GTK_ARROW_UP, priv->adjustment->page_increment); + start_spinning (spin, GTK_ARROW_UP, gtk_adjustment_get_page_increment (priv->adjustment)); else priv->click_child = GTK_ARROW_UP; } else { if (event->button == 1) - start_spinning (spin, GTK_ARROW_DOWN, priv->adjustment->step_increment); + start_spinning (spin, GTK_ARROW_DOWN, gtk_adjustment_get_step_increment (priv->adjustment)); else if (event->button == 2) - start_spinning (spin, GTK_ARROW_DOWN, priv->adjustment->page_increment); + start_spinning (spin, GTK_ARROW_DOWN, gtk_adjustment_get_page_increment (priv->adjustment)); else priv->click_child = GTK_ARROW_DOWN; } @@ -1366,7 +1366,7 @@ gtk_spin_button_button_release (GtkWidget *widget, { gdouble diff; - diff = priv->adjustment->upper - priv->adjustment->value; + diff = gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_value (priv->adjustment); if (diff > EPSILON) gtk_spin_button_real_spin (spin, diff); } @@ -1375,7 +1375,7 @@ gtk_spin_button_button_release (GtkWidget *widget, { gdouble diff; - diff = priv->adjustment->value - priv->adjustment->lower; + diff = gtk_adjustment_get_value (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment); if (diff > EPSILON) gtk_spin_button_real_spin (spin, -diff); } @@ -1455,7 +1455,7 @@ gtk_spin_button_timer (GtkSpinButton *spin_button) else { if (priv->climb_rate > 0.0 && priv->timer_step - < priv->adjustment->page_increment) + < gtk_adjustment_get_page_increment (priv->adjustment)) { if (priv->timer_calls < MAX_TIMER_CALLS) priv->timer_calls++; @@ -1505,7 +1505,7 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, */ gtk_spin_button_update (spin); - old_value = priv->adjustment->value; + old_value = gtk_adjustment_get_value (priv->adjustment); /* We don't test whether the entry is editable, since * this key binding conceptually corresponds to changing @@ -1520,7 +1520,7 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, gtk_spin_button_real_spin (spin, -priv->timer_step); if (priv->climb_rate > 0.0 && priv->timer_step - < priv->adjustment->page_increment) + < gtk_adjustment_get_page_increment (priv->adjustment)) { if (priv->timer_calls < MAX_TIMER_CALLS) priv->timer_calls++; @@ -1538,7 +1538,7 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, gtk_spin_button_real_spin (spin, priv->timer_step); if (priv->climb_rate > 0.0 && priv->timer_step - < priv->adjustment->page_increment) + < gtk_adjustment_get_page_increment (priv->adjustment)) { if (priv->timer_calls < MAX_TIMER_CALLS) priv->timer_calls++; @@ -1553,18 +1553,18 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, case GTK_SCROLL_PAGE_BACKWARD: case GTK_SCROLL_PAGE_DOWN: case GTK_SCROLL_PAGE_LEFT: - gtk_spin_button_real_spin (spin, -priv->adjustment->page_increment); + gtk_spin_button_real_spin (spin, -gtk_adjustment_get_page_increment (priv->adjustment)); break; case GTK_SCROLL_PAGE_FORWARD: case GTK_SCROLL_PAGE_UP: case GTK_SCROLL_PAGE_RIGHT: - gtk_spin_button_real_spin (spin, priv->adjustment->page_increment); + gtk_spin_button_real_spin (spin, gtk_adjustment_get_page_increment (priv->adjustment)); break; case GTK_SCROLL_START: { - gdouble diff = priv->adjustment->value - priv->adjustment->lower; + gdouble diff = gtk_adjustment_get_value (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment); if (diff > EPSILON) gtk_spin_button_real_spin (spin, -diff); break; @@ -1572,7 +1572,7 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, case GTK_SCROLL_END: { - gdouble diff = priv->adjustment->upper - priv->adjustment->value; + gdouble diff = gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_value (priv->adjustment); if (diff > EPSILON) gtk_spin_button_real_spin (spin, diff); break; @@ -1585,7 +1585,7 @@ gtk_spin_button_real_change_value (GtkSpinButton *spin, gtk_spin_button_update (spin); - if (priv->adjustment->value == old_value) + if (gtk_adjustment_get_value (priv->adjustment) == old_value) gtk_widget_error_bell (GTK_WIDGET (spin)); } @@ -1597,7 +1597,7 @@ gtk_spin_button_key_release (GtkWidget *widget, GtkSpinButtonPrivate *priv = spin->priv; /* We only get a release at the end of a key repeat run, so reset the timer_step */ - priv->timer_step = priv->adjustment->step_increment; + priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment); priv->timer_calls = 0; return TRUE; @@ -1611,15 +1611,15 @@ gtk_spin_button_snap (GtkSpinButton *spin_button, gdouble inc; gdouble tmp; - inc = priv->adjustment->step_increment; + inc = gtk_adjustment_get_step_increment (priv->adjustment); if (inc == 0) return; - tmp = (val - priv->adjustment->lower) / inc; + tmp = (val - gtk_adjustment_get_lower (priv->adjustment)) / inc; if (tmp - floor (tmp) < ceil (tmp) - tmp) - val = priv->adjustment->lower + floor (tmp) * inc; + val = gtk_adjustment_get_lower (priv->adjustment) + floor (tmp) * inc; else - val = priv->adjustment->lower + ceil (tmp) * inc; + val = gtk_adjustment_get_lower (priv->adjustment) + ceil (tmp) * inc; gtk_spin_button_set_value (spin_button, val); } @@ -1778,47 +1778,47 @@ gtk_spin_button_real_spin (GtkSpinButton *spin_button, gdouble increment) { GtkSpinButtonPrivate *priv = spin_button->priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gdouble new_value = 0.0; gboolean wrapped = FALSE; - adj = priv->adjustment; + adjustment = priv->adjustment; - new_value = adj->value + increment; + new_value = gtk_adjustment_get_value (adjustment) + increment; if (increment > 0) { if (priv->wrap) { - if (fabs (adj->value - adj->upper) < EPSILON) + if (fabs (gtk_adjustment_get_value (adjustment) - gtk_adjustment_get_upper (adjustment)) < EPSILON) { - new_value = adj->lower; + new_value = gtk_adjustment_get_lower (adjustment); wrapped = TRUE; } - else if (new_value > adj->upper) - new_value = adj->upper; + else if (new_value > gtk_adjustment_get_upper (adjustment)) + new_value = gtk_adjustment_get_upper (adjustment); } else - new_value = MIN (new_value, adj->upper); + new_value = MIN (new_value, gtk_adjustment_get_upper (adjustment)); } else if (increment < 0) { if (priv->wrap) { - if (fabs (adj->value - adj->lower) < EPSILON) + if (fabs (gtk_adjustment_get_value (adjustment) - gtk_adjustment_get_lower (adjustment)) < EPSILON) { - new_value = adj->upper; + new_value = gtk_adjustment_get_upper (adjustment); wrapped = TRUE; } - else if (new_value < adj->lower) - new_value = adj->lower; + else if (new_value < gtk_adjustment_get_lower (adjustment)) + new_value = gtk_adjustment_get_lower (adjustment); } else - new_value = MAX (new_value, adj->lower); + new_value = MAX (new_value, gtk_adjustment_get_lower (adjustment)); } - if (fabs (new_value - adj->value) > EPSILON) - gtk_adjustment_set_value (adj, new_value); + if (fabs (new_value - gtk_adjustment_get_value (adjustment)) > EPSILON) + gtk_adjustment_set_value (adjustment, new_value); if (wrapped) g_signal_emit (spin_button, spinbutton_signals[WRAPPED], 0); @@ -1844,7 +1844,7 @@ gtk_spin_button_default_output (GtkSpinButton *spin_button) { GtkSpinButtonPrivate *priv = spin_button->priv; - gchar *buf = g_strdup_printf ("%0.*f", priv->digits, priv->adjustment->value); + gchar *buf = g_strdup_printf ("%0.*f", priv->digits, gtk_adjustment_get_value (priv->adjustment)); if (strcmp (buf, gtk_entry_get_text (GTK_ENTRY (spin_button)))) gtk_entry_set_text (GTK_ENTRY (spin_button), buf); @@ -1957,7 +1957,7 @@ gtk_spin_button_new_with_range (gdouble min, gdouble max, gdouble step) { - GtkAdjustment *adj; + GtkAdjustment *adjustment; GtkSpinButton *spin; gint digits; @@ -1966,7 +1966,7 @@ gtk_spin_button_new_with_range (gdouble min, spin = g_object_new (GTK_TYPE_SPIN_BUTTON, NULL); - adj = gtk_adjustment_new (min, min, max, step, 10 * step, 0); + adjustment = gtk_adjustment_new (min, min, max, step, 10 * step, 0); if (fabs (step) >= 1.0 || step == 0.0) digits = 0; @@ -1976,7 +1976,7 @@ gtk_spin_button_new_with_range (gdouble min, digits = MAX_DIGITS; } - gtk_spin_button_configure (spin, adj, step, digits); + gtk_spin_button_configure (spin, adjustment, step, digits); gtk_spin_button_set_numeric (spin, TRUE); @@ -1993,7 +1993,7 @@ adjustment_changed_cb (GtkAdjustment *adjustment, gpointer data) GtkSpinButton *spin_button = GTK_SPIN_BUTTON (data); GtkSpinButtonPrivate *priv = spin_button->priv; - priv->timer_step = priv->adjustment->step_increment; + priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment); gtk_widget_queue_resize (GTK_WIDGET (spin_button)); } @@ -2036,7 +2036,7 @@ gtk_spin_button_set_adjustment (GtkSpinButton *spin_button, g_signal_connect (adjustment, "changed", G_CALLBACK (adjustment_changed_cb), spin_button); - priv->timer_step = priv->adjustment->step_increment; + priv->timer_step = gtk_adjustment_get_step_increment (priv->adjustment); } gtk_widget_queue_resize (GTK_WIDGET (spin_button)); @@ -2126,8 +2126,13 @@ gtk_spin_button_set_increments (GtkSpinButton *spin_button, priv = spin_button->priv; - priv->adjustment->step_increment = step; - priv->adjustment->page_increment = page; + gtk_adjustment_configure (priv->adjustment, + gtk_adjustment_get_value (priv->adjustment), + gtk_adjustment_get_lower (priv->adjustment), + gtk_adjustment_get_upper (priv->adjustment), + step, + page, + gtk_adjustment_get_page_size (priv->adjustment)); } /** @@ -2151,9 +2156,9 @@ gtk_spin_button_get_increments (GtkSpinButton *spin_button, priv = spin_button->priv; if (step) - *step = priv->adjustment->step_increment; + *step = gtk_adjustment_get_step_increment (priv->adjustment); if (page) - *page = priv->adjustment->page_increment; + *page = gtk_adjustment_get_page_increment (priv->adjustment); } /** @@ -2170,21 +2175,18 @@ gtk_spin_button_set_range (GtkSpinButton *spin_button, gdouble max) { GtkAdjustment *adjustment; - gdouble value; g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button)); adjustment = spin_button->priv->adjustment; - adjustment->lower = min; - adjustment->upper = max; - - value = CLAMP (adjustment->value, adjustment->lower, adjustment->upper); - - if (value != adjustment->value) - gtk_spin_button_set_value (spin_button, value); - - gtk_adjustment_changed (adjustment); + gtk_adjustment_configure (adjustment, + CLAMP (gtk_adjustment_get_value (adjustment), min, max), + min, + max, + gtk_adjustment_get_step_increment (adjustment), + gtk_adjustment_get_page_increment (adjustment), + gtk_adjustment_get_page_size (adjustment)); } /** @@ -2208,9 +2210,9 @@ gtk_spin_button_get_range (GtkSpinButton *spin_button, priv = spin_button->priv; if (min) - *min = priv->adjustment->lower; + *min = gtk_adjustment_get_lower (priv->adjustment); if (max) - *max = priv->adjustment->upper; + *max = gtk_adjustment_get_upper (priv->adjustment); } /** @@ -2226,7 +2228,7 @@ gtk_spin_button_get_value (GtkSpinButton *spin_button) { g_return_val_if_fail (GTK_IS_SPIN_BUTTON (spin_button), 0.0); - return spin_button->priv->adjustment->value; + return gtk_adjustment_get_value (spin_button->priv->adjustment); } /** @@ -2247,7 +2249,7 @@ gtk_spin_button_get_value_as_int (GtkSpinButton *spin_button) priv = spin_button->priv; - val = priv->adjustment->value; + val = gtk_adjustment_get_value (priv->adjustment); if (val - floor (val) < ceil (val) - val) return floor (val); else @@ -2271,7 +2273,7 @@ gtk_spin_button_set_value (GtkSpinButton *spin_button, priv = spin_button->priv; - if (fabs (value - priv->adjustment->value) > EPSILON) + if (fabs (value - gtk_adjustment_get_value (priv->adjustment)) > EPSILON) gtk_adjustment_set_value (priv->adjustment, value); else { @@ -2498,17 +2500,17 @@ gtk_spin_button_spin (GtkSpinButton *spin_button, gdouble increment) { GtkSpinButtonPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gdouble diff; g_return_if_fail (GTK_IS_SPIN_BUTTON (spin_button)); priv = spin_button->priv; - adj = priv->adjustment; + adjustment = priv->adjustment; /* for compatibility with the 1.0.x version of this function */ - if (increment != 0 && increment != adj->step_increment && + if (increment != 0 && increment != gtk_adjustment_get_step_increment (adjustment) && (direction == GTK_SPIN_STEP_FORWARD || direction == GTK_SPIN_STEP_BACKWARD)) { @@ -2521,34 +2523,34 @@ gtk_spin_button_spin (GtkSpinButton *spin_button, { case GTK_SPIN_STEP_FORWARD: - gtk_spin_button_real_spin (spin_button, adj->step_increment); + gtk_spin_button_real_spin (spin_button, gtk_adjustment_get_step_increment (adjustment)); break; case GTK_SPIN_STEP_BACKWARD: - gtk_spin_button_real_spin (spin_button, -adj->step_increment); + gtk_spin_button_real_spin (spin_button, -gtk_adjustment_get_step_increment (adjustment)); break; case GTK_SPIN_PAGE_FORWARD: - gtk_spin_button_real_spin (spin_button, adj->page_increment); + gtk_spin_button_real_spin (spin_button, gtk_adjustment_get_page_increment (adjustment)); break; case GTK_SPIN_PAGE_BACKWARD: - gtk_spin_button_real_spin (spin_button, -adj->page_increment); + gtk_spin_button_real_spin (spin_button, -gtk_adjustment_get_page_increment (adjustment)); break; case GTK_SPIN_HOME: - diff = adj->value - adj->lower; + diff = gtk_adjustment_get_value (adjustment) - gtk_adjustment_get_lower (adjustment); if (diff > EPSILON) gtk_spin_button_real_spin (spin_button, -diff); break; case GTK_SPIN_END: - diff = adj->upper - adj->value; + diff = gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_value (adjustment); if (diff > EPSILON) gtk_spin_button_real_spin (spin_button, diff); break; @@ -2596,15 +2598,15 @@ gtk_spin_button_update (GtkSpinButton *spin_button) if (priv->update_policy == GTK_UPDATE_ALWAYS) { - if (val < priv->adjustment->lower) - val = priv->adjustment->lower; - else if (val > priv->adjustment->upper) - val = priv->adjustment->upper; + if (val < gtk_adjustment_get_lower (priv->adjustment)) + val = gtk_adjustment_get_lower (priv->adjustment); + else if (val > gtk_adjustment_get_upper (priv->adjustment)) + val = gtk_adjustment_get_upper (priv->adjustment); } else if ((priv->update_policy == GTK_UPDATE_IF_VALID) && (error || - val < priv->adjustment->lower || - val > priv->adjustment->upper)) + val < gtk_adjustment_get_lower (priv->adjustment) || + val > gtk_adjustment_get_upper (priv->adjustment))) { gtk_spin_button_value_changed (priv->adjustment, spin_button); return; From f5a3af9b021999fdf62e28a763b5d11a6f906d00 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 19:15:06 +0100 Subject: [PATCH 1181/1463] scrolledwindow: Update adjustment usage for sealing --- gtk/gtkscrolledwindow.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 828dd8a74a..972d99671a 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -1332,27 +1332,27 @@ gtk_scrolled_window_scroll_child (GtkScrolledWindow *scrolled_window, if (adjustment) { - gdouble value = adjustment->value; + gdouble value = gtk_adjustment_get_value (adjustment); switch (scroll) { case GTK_SCROLL_STEP_FORWARD: - value += adjustment->step_increment; + value += gtk_adjustment_get_step_increment (adjustment); break; case GTK_SCROLL_STEP_BACKWARD: - value -= adjustment->step_increment; + value -= gtk_adjustment_get_step_increment (adjustment); break; case GTK_SCROLL_PAGE_FORWARD: - value += adjustment->page_increment; + value += gtk_adjustment_get_page_increment (adjustment); break; case GTK_SCROLL_PAGE_BACKWARD: - value -= adjustment->page_increment; + value -= gtk_adjustment_get_page_increment (adjustment); break; case GTK_SCROLL_START: - value = adjustment->lower; + value = gtk_adjustment_get_lower (adjustment); break; case GTK_SCROLL_END: - value = adjustment->upper; + value = gtk_adjustment_get_upper (adjustment); break; default: g_assert_not_reached (); @@ -1842,12 +1842,12 @@ gtk_scrolled_window_scroll_event (GtkWidget *widget, if (range && gtk_widget_get_visible (range)) { - GtkAdjustment *adj = gtk_range_get_adjustment (GTK_RANGE (range)); + GtkAdjustment *adjustment = gtk_range_get_adjustment (GTK_RANGE (range)); gdouble delta; delta = _gtk_range_get_wheel_delta (GTK_RANGE (range), event->direction); - gtk_adjustment_set_value (adj, adj->value + delta); + gtk_adjustment_set_value (adjustment, gtk_adjustment_get_value (adjustment) + delta); return TRUE; } @@ -1915,8 +1915,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, gboolean visible; visible = priv->hscrollbar_visible; - priv->hscrollbar_visible = (adjustment->upper - adjustment->lower > - adjustment->page_size); + priv->hscrollbar_visible = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment) > + gtk_adjustment_get_page_size (adjustment)); if (priv->hscrollbar_visible != visible) gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); @@ -1930,8 +1930,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, gboolean visible; visible = priv->vscrollbar_visible; - priv->vscrollbar_visible = (adjustment->upper - adjustment->lower > - adjustment->page_size); + priv->vscrollbar_visible = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment) > + gtk_adjustment_get_page_size (adjustment)); if (priv->vscrollbar_visible != visible) gtk_widget_queue_resize (GTK_WIDGET (scrolled_window)); From 8ea3372395ae8af1cdc519eeb3216eab51dc9102 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 19:18:50 +0100 Subject: [PATCH 1182/1463] menu: Update adjustment usage for sealing Call gtk_adjustment_set_value() instead of manually updating the value in gtk_menu_scroll_to() --- gtk/gtkmenu.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index adb6646134..4dd871e6c8 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -4759,15 +4759,8 @@ gtk_menu_scroll_to (GtkMenu *menu, widget = GTK_WIDGET (menu); - if (priv->tearoff_active && - priv->tearoff_adjustment && - (priv->tearoff_adjustment->value != offset)) - { - priv->tearoff_adjustment->value = - CLAMP (offset, - 0, priv->tearoff_adjustment->upper - priv->tearoff_adjustment->page_size); - gtk_adjustment_value_changed (priv->tearoff_adjustment); - } + if (priv->tearoff_active && priv->tearoff_adjustment) + gtk_adjustment_set_value (priv->tearoff_adjustment, offset); /* Move/resize the viewport according to arrows: */ gtk_widget_get_allocation (widget, &allocation); From 1af3a95e8c1203d3c6496782a0ac3d0725bfd8e6 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 19:26:14 +0100 Subject: [PATCH 1183/1463] menu: Update adjustment usage for sealing --- gtk/gtkmenu.c | 30 ++++++++++++------------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 4dd871e6c8..812756880a 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -1991,10 +1991,11 @@ static void gtk_menu_scrollbar_changed (GtkAdjustment *adjustment, GtkMenu *menu) { - g_return_if_fail (GTK_IS_MENU (menu)); + double value; - if (adjustment->value != menu->priv->scroll_offset) - gtk_menu_scroll_to (menu, adjustment->value); + value = gtk_adjustment_get_value (adjustment); + if (menu->priv->scroll_offset != value) + gtk_menu_scroll_to (menu, value); } static void @@ -2149,7 +2150,7 @@ gtk_menu_set_tearoff_state (GtkMenu *menu, priv->tearoff_scrollbar, FALSE, FALSE, 0); - if (priv->tearoff_adjustment->upper > height) + if (gtk_adjustment_get_upper (priv->tearoff_adjustment) > height) gtk_widget_show (priv->tearoff_scrollbar); gtk_widget_show (priv->tearoff_hbox); @@ -2756,20 +2757,13 @@ gtk_menu_size_allocate (GtkWidget *widget, } else { - priv->tearoff_adjustment->upper = priv->requested_height; - priv->tearoff_adjustment->page_size = allocation->height; - - if (priv->tearoff_adjustment->value + priv->tearoff_adjustment->page_size > - priv->tearoff_adjustment->upper) - { - gint value; - value = priv->tearoff_adjustment->upper - priv->tearoff_adjustment->page_size; - if (value < 0) - value = 0; - gtk_menu_scroll_to (menu, value); - } - - gtk_adjustment_changed (priv->tearoff_adjustment); + gtk_adjustment_configure (priv->tearoff_adjustment, + gtk_adjustment_get_value (priv->tearoff_adjustment), + 0, + priv->requested_height, + gtk_adjustment_get_step_increment (priv->tearoff_adjustment), + gtk_adjustment_get_page_increment (priv->tearoff_adjustment), + allocation->height); if (!gtk_widget_get_visible (priv->tearoff_scrollbar)) { From 3f1a65d6f5bfee7e0802dc40c7e845524a993430 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:00:54 +0100 Subject: [PATCH 1184/1463] iconview: Use set_[hv]adjustment_values() also when just changing upper Simplifies the code quite a bit and the code is smart enough to not do extra work if only one value changes. --- gtk/gtkiconview.c | 30 ++---------------------------- 1 file changed, 2 insertions(+), 28 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 73b8b25655..cd1fa06914 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -2891,30 +2891,6 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, return last_item; } -static void -gtk_icon_view_set_adjustment_upper (GtkAdjustment *adj, - gdouble upper) -{ - if (upper != adj->upper) - { - gdouble min = MAX (0.0, upper - adj->page_size); - gboolean value_changed = FALSE; - - adj->upper = upper; - - if (adj->value > min) - { - adj->value = min; - value_changed = TRUE; - } - - gtk_adjustment_changed (adj); - - if (value_changed) - gtk_adjustment_value_changed (adj); - } -} - static void gtk_icon_view_layout (GtkIconView *icon_view) { @@ -2983,10 +2959,8 @@ gtk_icon_view_layout (GtkIconView *icon_view) size_changed = TRUE; } - gtk_icon_view_set_adjustment_upper (icon_view->priv->hadjustment, - icon_view->priv->width); - gtk_icon_view_set_adjustment_upper (icon_view->priv->vadjustment, - icon_view->priv->height); + gtk_icon_view_set_hadjustment_values (icon_view); + gtk_icon_view_set_vadjustment_values (icon_view); if (size_changed) gtk_widget_queue_resize_no_redraw (widget); From aa495f00b47c1d48d18f636a3434ba57ff3e0559 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:14:02 +0100 Subject: [PATCH 1185/1463] iconview: Use gtk_adjustment_configure() instead of g_object_set() Simplifies code quite a bit apart from jsut making it more readable. --- gtk/gtkiconview.c | 41 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 27 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index cd1fa06914..496211bfc1 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -2644,14 +2644,6 @@ gtk_icon_view_set_hadjustment_values (GtkIconView *icon_view) old_page_size = gtk_adjustment_get_page_size (adj); new_upper = MAX (allocation.width, icon_view->priv->width); - g_object_set (adj, - "lower", 0.0, - "upper", new_upper, - "page-size", (gdouble)allocation.width, - "step-increment", allocation.width * 0.1, - "page-increment", allocation.width * 0.9, - NULL); - if (gtk_widget_get_direction (GTK_WIDGET (icon_view)) == GTK_TEXT_DIR_RTL) { /* Make sure no scrolling occurs for RTL locales also (if possible) */ @@ -2671,8 +2663,13 @@ gtk_icon_view_set_hadjustment_values (GtkIconView *icon_view) else new_value = CLAMP (old_value, 0, new_upper - allocation.width); - if (new_value != old_value) - gtk_adjustment_set_value (adj, new_value); + gtk_adjustment_configure (adj, + new_value, + 0.0, + new_upper, + allocation.width * 0.1, + allocation.width * 0.9, + allocation.width); } static void @@ -2680,26 +2677,16 @@ gtk_icon_view_set_vadjustment_values (GtkIconView *icon_view) { GtkAllocation allocation; GtkAdjustment *adj = icon_view->priv->vadjustment; - gdouble old_value; - gdouble new_value; - gdouble new_upper; gtk_widget_get_allocation (GTK_WIDGET (icon_view), &allocation); - old_value = gtk_adjustment_get_value (adj); - new_upper = MAX (allocation.height, icon_view->priv->height); - - g_object_set (adj, - "lower", 0.0, - "upper", new_upper, - "page-size", (gdouble)allocation.height, - "step-increment", allocation.height * 0.1, - "page-increment", allocation.height * 0.9, - NULL); - - new_value = CLAMP (old_value, 0, new_upper - allocation.height); - if (new_value != old_value) - gtk_adjustment_set_value (adj, new_value); + gtk_adjustment_configure (adj, + gtk_adjustment_get_value (adj), + 0.0, + MAX (allocation.height, icon_view->priv->height), + allocation.height * 0.1, + allocation.height * 0.9, + allocation.height); } static void From a317499031d4c07815206d08ac85fcf65c7fcb43 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 20:57:46 +0100 Subject: [PATCH 1186/1463] iconview: Update adjustment usage for sealing --- gtk/gtkiconview.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 496211bfc1..dbb6c332f4 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1688,7 +1688,7 @@ rubberband_scroll_timeout (gpointer data) GtkIconView *icon_view = data; gtk_adjustment_set_value (icon_view->priv->vadjustment, - icon_view->priv->vadjustment->value + + gtk_adjustment_get_value (icon_view->priv->vadjustment) + icon_view->priv->scroll_value_diff); gtk_icon_view_update_rubberband (icon_view); @@ -1713,9 +1713,9 @@ gtk_icon_view_motion (GtkWidget *widget, gtk_icon_view_update_rubberband (widget); abs_y = event->y - icon_view->priv->height * - (icon_view->priv->vadjustment->value / - (icon_view->priv->vadjustment->upper - - icon_view->priv->vadjustment->lower)); + (gtk_adjustment_get_value (icon_view->priv->vadjustment) / + (gtk_adjustment_get_upper (icon_view->priv->vadjustment) - + gtk_adjustment_get_lower (icon_view->priv->vadjustment))); gtk_widget_get_allocation (widget, &allocation); @@ -2768,8 +2768,8 @@ gtk_icon_view_adjustment_changed (GtkAdjustment *adjustment, if (gtk_widget_get_realized (GTK_WIDGET (icon_view))) { gdk_window_move (priv->bin_window, - - priv->hadjustment->value, - - priv->vadjustment->value); + - gtk_adjustment_get_value (priv->hadjustment), + - gtk_adjustment_get_value (priv->vadjustment)); if (icon_view->priv->doing_rubberband) gtk_icon_view_update_rubberband (GTK_WIDGET (icon_view)); @@ -4061,7 +4061,7 @@ find_item_page_up_down (GtkIconView *icon_view, gint y, col; col = current->col; - y = current->y + count * icon_view->priv->vadjustment->page_size; + y = current->y + count * gtk_adjustment_get_page_size (icon_view->priv->vadjustment); item = g_list_find (icon_view->priv->items, current); if (count > 0) @@ -4502,12 +4502,12 @@ gtk_icon_view_scroll_to_path (GtkIconView *icon_view, offset = y + item->y - focus_width - row_align * (allocation.height - item->height); gtk_adjustment_set_value (icon_view->priv->vadjustment, - icon_view->priv->vadjustment->value + offset); + gtk_adjustment_get_value (icon_view->priv->vadjustment) + offset); offset = x + item->x - focus_width - col_align * (allocation.width - item->width); gtk_adjustment_set_value (icon_view->priv->hadjustment, - icon_view->priv->hadjustment->value + offset); + gtk_adjustment_get_value (icon_view->priv->hadjustment) + offset); gtk_adjustment_changed (icon_view->priv->hadjustment); gtk_adjustment_changed (icon_view->priv->vadjustment); @@ -4538,18 +4538,18 @@ gtk_icon_view_scroll_to_item (GtkIconView *icon_view, if (y + item->y - focus_width < 0) gtk_adjustment_set_value (icon_view->priv->vadjustment, - icon_view->priv->vadjustment->value + y + item->y - focus_width); + gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item->y - focus_width); else if (y + item->y + item->height + focus_width > allocation.height) gtk_adjustment_set_value (icon_view->priv->vadjustment, - icon_view->priv->vadjustment->value + y + item->y + item->height + gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item->y + item->height + focus_width - allocation.height); if (x + item->x - focus_width < 0) gtk_adjustment_set_value (icon_view->priv->hadjustment, - icon_view->priv->hadjustment->value + x + item->x - focus_width); + gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item->x - focus_width); else if (x + item->x + item->width + focus_width > allocation.width) gtk_adjustment_set_value (icon_view->priv->hadjustment, - icon_view->priv->hadjustment->value + x + item->x + item->width + gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item->x + item->width + focus_width - allocation.width); gtk_adjustment_changed (icon_view->priv->hadjustment); @@ -5284,10 +5284,10 @@ gtk_icon_view_get_visible_range (GtkIconView *icon_view, { GtkIconViewItem *item = icons->data; - if ((item->x + item->width >= (int)icon_view->priv->hadjustment->value) && - (item->y + item->height >= (int)icon_view->priv->vadjustment->value) && - (item->x <= (int) (icon_view->priv->hadjustment->value + icon_view->priv->hadjustment->page_size)) && - (item->y <= (int) (icon_view->priv->vadjustment->value + icon_view->priv->vadjustment->page_size))) + if ((item->x + item->width >= (int)gtk_adjustment_get_value (icon_view->priv->hadjustment)) && + (item->y + item->height >= (int)gtk_adjustment_get_value (icon_view->priv->vadjustment)) && + (item->x <= (int) (gtk_adjustment_get_value (icon_view->priv->hadjustment) + gtk_adjustment_get_page_size (icon_view->priv->hadjustment))) && + (item->y <= (int) (gtk_adjustment_get_value (icon_view->priv->vadjustment) + gtk_adjustment_get_page_size (icon_view->priv->vadjustment)))) { if (start_index == -1) start_index = item->index; @@ -6678,11 +6678,11 @@ gtk_icon_view_autoscroll (GtkIconView *icon_view) if (voffset != 0) gtk_adjustment_set_value (icon_view->priv->vadjustment, - icon_view->priv->vadjustment->value + voffset); + gtk_adjustment_get_value (icon_view->priv->vadjustment) + voffset); if (hoffset != 0) gtk_adjustment_set_value (icon_view->priv->hadjustment, - icon_view->priv->hadjustment->value + hoffset); + gtk_adjustment_get_value (icon_view->priv->hadjustment) + hoffset); } @@ -7490,8 +7490,8 @@ gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view, *path = NULL; item = gtk_icon_view_get_item_at_coords (icon_view, - drag_x + icon_view->priv->hadjustment->value, - drag_y + icon_view->priv->vadjustment->value, + drag_x + gtk_adjustment_get_value (icon_view->priv->hadjustment), + drag_y + gtk_adjustment_get_value (icon_view->priv->vadjustment), FALSE, NULL); if (item == NULL) @@ -8747,10 +8747,10 @@ gtk_icon_view_item_accessible_is_showing (GtkIconViewItemAccessible *item) icon_view = GTK_ICON_VIEW (item->widget); visible_rect.x = 0; if (icon_view->priv->hadjustment) - visible_rect.x += icon_view->priv->hadjustment->value; + visible_rect.x += gtk_adjustment_get_value (icon_view->priv->hadjustment); visible_rect.y = 0; if (icon_view->priv->hadjustment) - visible_rect.y += icon_view->priv->vadjustment->value; + visible_rect.y += gtk_adjustment_get_value (icon_view->priv->vadjustment); visible_rect.width = allocation.width; visible_rect.height = allocation.height; From 2b4bb071a3cc4bb8daa501b15223139e51150e0e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 21:53:04 +0100 Subject: [PATCH 1187/1463] viewport: Rewrite adjustment modification code for sealing --- gtk/gtkviewport.c | 113 +++++++++++++++++----------------------------- 1 file changed, 42 insertions(+), 71 deletions(-) diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index dfa8f1552a..34c6a3ed48 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -341,23 +341,6 @@ viewport_get_view_allocation (GtkViewport *viewport, view_allocation->height = MAX (1, allocation.height - view_allocation->y * 2 - border_width * 2); } -static void -viewport_reclamp_adjustment (GtkAdjustment *adjustment, - gboolean *value_changed) -{ - gdouble value = adjustment->value; - - value = CLAMP (value, 0, adjustment->upper - adjustment->page_size); - if (value != adjustment->value) - { - adjustment->value = value; - if (value_changed) - *value_changed = TRUE; - } - else if (value_changed) - *value_changed = FALSE; -} - /** * gtk_viewport_get_hadjustment: * @viewport: a #GtkViewport. @@ -409,28 +392,16 @@ gtk_viewport_get_vadjustment (GtkViewport *viewport) } static void -viewport_set_hadjustment_values (GtkViewport *viewport, - gboolean *value_changed) +viewport_set_hadjustment_values (GtkViewport *viewport) { GtkBin *bin = GTK_BIN (viewport); GtkAllocation view_allocation; GtkAdjustment *hadjustment = gtk_viewport_get_hadjustment (viewport); GtkWidget *child; - gdouble old_page_size; - gdouble old_upper; - gdouble old_value; + gdouble upper, value; viewport_get_view_allocation (viewport, &view_allocation); - old_page_size = hadjustment->page_size; - old_upper = hadjustment->upper; - old_value = hadjustment->value; - hadjustment->page_size = view_allocation.width; - hadjustment->step_increment = view_allocation.width * 0.1; - hadjustment->page_increment = view_allocation.width * 0.9; - - hadjustment->lower = 0; - child = gtk_bin_get_child (bin); if (child && gtk_widget_get_visible (child)) { @@ -448,41 +419,43 @@ viewport_set_hadjustment_values (GtkViewport *viewport, &natural_width); if (viewport->priv->hscroll_policy == GTK_SCROLL_MINIMUM) - hadjustment->upper = MAX (minimum_width, view_allocation.width); + upper = MAX (minimum_width, view_allocation.width); else - hadjustment->upper = MAX (natural_width, view_allocation.width); + upper = MAX (natural_width, view_allocation.width); } else - hadjustment->upper = view_allocation.width; + upper = view_allocation.width; - if (gtk_widget_get_direction (GTK_WIDGET (viewport)) == GTK_TEXT_DIR_RTL) + value = gtk_adjustment_get_value (hadjustment); + /* We clamp to the left in RTL mode */ + if (gtk_widget_get_direction (GTK_WIDGET (viewport)) == GTK_TEXT_DIR_RTL) { - gdouble dist = old_upper - (old_value + old_page_size); - hadjustment->value = hadjustment->upper - dist - hadjustment->page_size; - viewport_reclamp_adjustment (hadjustment, value_changed); - *value_changed = (old_value != hadjustment->value); + gdouble dist = gtk_adjustment_get_upper (hadjustment) + - value + - gtk_adjustment_get_page_size (hadjustment); + value = upper - dist - view_allocation.width; } - else - viewport_reclamp_adjustment (hadjustment, value_changed); + + gtk_adjustment_configure (hadjustment, + value, + 0, + upper, + view_allocation.width * 0.1, + view_allocation.width * 0.9, + view_allocation.width); } static void -viewport_set_vadjustment_values (GtkViewport *viewport, - gboolean *value_changed) +viewport_set_vadjustment_values (GtkViewport *viewport) { GtkBin *bin = GTK_BIN (viewport); GtkAllocation view_allocation; GtkAdjustment *vadjustment = gtk_viewport_get_vadjustment (viewport); GtkWidget *child; + gdouble upper; viewport_get_view_allocation (viewport, &view_allocation); - vadjustment->page_size = view_allocation.height; - vadjustment->step_increment = view_allocation.height * 0.1; - vadjustment->page_increment = view_allocation.height * 0.9; - - vadjustment->lower = 0; - child = gtk_bin_get_child (bin); if (child && gtk_widget_get_visible (child)) { @@ -500,14 +473,20 @@ viewport_set_vadjustment_values (GtkViewport *viewport, &natural_height); if (viewport->priv->vscroll_policy == GTK_SCROLL_MINIMUM) - vadjustment->upper = MAX (minimum_height, view_allocation.height); + upper = MAX (minimum_height, view_allocation.height); else - vadjustment->upper = MAX (natural_height, view_allocation.height); + upper = MAX (natural_height, view_allocation.height); } else - vadjustment->upper = view_allocation.height; + upper = view_allocation.height; - viewport_reclamp_adjustment (vadjustment, value_changed); + gtk_adjustment_configure (vadjustment, + gtk_adjustment_get_value (vadjustment), + 0, + upper, + view_allocation.height * 0.1, + view_allocation.height * 0.9, + view_allocation.height); } static void @@ -516,7 +495,6 @@ viewport_set_adjustment (GtkViewport *viewport, GtkAdjustment *adjustment) { GtkAdjustment **adjustmentp = ADJUSTMENT_POINTER (viewport, orientation); - gboolean value_changed; if (adjustment && adjustment == *adjustmentp) return; @@ -528,20 +506,15 @@ viewport_set_adjustment (GtkViewport *viewport, g_object_ref_sink (adjustment); if (orientation == GTK_ORIENTATION_HORIZONTAL) - viewport_set_hadjustment_values (viewport, &value_changed); + viewport_set_hadjustment_values (viewport); else - viewport_set_vadjustment_values (viewport, &value_changed); + viewport_set_vadjustment_values (viewport); g_signal_connect (adjustment, "value-changed", G_CALLBACK (gtk_viewport_adjustment_value_changed), viewport); - gtk_adjustment_changed (adjustment); - - if (value_changed) - gtk_adjustment_value_changed (adjustment); - else - gtk_viewport_adjustment_value_changed (adjustment, viewport); + gtk_viewport_adjustment_value_changed (adjustment, viewport); } /** @@ -847,7 +820,6 @@ gtk_viewport_size_allocate (GtkWidget *widget, GtkViewportPrivate *priv = viewport->priv; GtkBin *bin = GTK_BIN (widget); guint border_width; - gboolean hadjustment_value_changed, vadjustment_value_changed; GtkAdjustment *hadjustment = gtk_viewport_get_hadjustment (viewport); GtkAdjustment *vadjustment = gtk_viewport_get_vadjustment (viewport); GtkAllocation child_allocation; @@ -867,8 +839,11 @@ gtk_viewport_size_allocate (GtkWidget *widget, gtk_widget_set_allocation (widget, allocation); - viewport_set_hadjustment_values (viewport, &hadjustment_value_changed); - viewport_set_vadjustment_values (viewport, &vadjustment_value_changed); + g_object_freeze_notify (G_OBJECT (hadjustment)); + g_object_freeze_notify (G_OBJECT (vadjustment)); + + viewport_set_hadjustment_values (viewport); + viewport_set_vadjustment_values (viewport); child_allocation.x = 0; child_allocation.y = 0; @@ -901,12 +876,8 @@ gtk_viewport_size_allocate (GtkWidget *widget, if (child && gtk_widget_get_visible (child)) gtk_widget_size_allocate (child, &child_allocation); - gtk_adjustment_changed (hadjustment); - gtk_adjustment_changed (vadjustment); - if (hadjustment_value_changed) - gtk_adjustment_value_changed (hadjustment); - if (vadjustment_value_changed) - gtk_adjustment_value_changed (vadjustment); + g_object_thaw_notify (G_OBJECT (hadjustment)); + g_object_thaw_notify (G_OBJECT (vadjustment)); } static void From 7210e6e1cdd0967472dc899f54b052f29e87da08 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 21:54:54 +0100 Subject: [PATCH 1188/1463] viewport: Update adjustment usage for sealing --- gtk/gtkviewport.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index 34c6a3ed48..3d6bdf5e73 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -706,10 +706,10 @@ gtk_viewport_realize (GtkWidget *widget) &attributes, attributes_mask); gdk_window_set_user_data (priv->view_window, viewport); - attributes.x = - hadjustment->value; - attributes.y = - vadjustment->value; - attributes.width = hadjustment->upper; - attributes.height = vadjustment->upper; + attributes.x = - gtk_adjustment_get_value (hadjustment); + attributes.y = - gtk_adjustment_get_value (vadjustment); + attributes.width = gtk_adjustment_get_upper (hadjustment); + attributes.height = gtk_adjustment_get_upper (vadjustment); attributes.event_mask = event_mask; @@ -847,8 +847,8 @@ gtk_viewport_size_allocate (GtkWidget *widget, child_allocation.x = 0; child_allocation.y = 0; - child_allocation.width = hadjustment->upper; - child_allocation.height = vadjustment->upper; + child_allocation.width = gtk_adjustment_get_upper (hadjustment); + child_allocation.height = gtk_adjustment_get_upper (vadjustment); if (gtk_widget_get_realized (widget)) { GtkAllocation view_allocation; @@ -866,8 +866,8 @@ gtk_viewport_size_allocate (GtkWidget *widget, view_allocation.width, view_allocation.height); gdk_window_move_resize (priv->bin_window, - - hadjustment->value, - - vadjustment->value, + - gtk_adjustment_get_value (hadjustment), + - gtk_adjustment_get_value (vadjustment), child_allocation.width, child_allocation.height); } @@ -899,8 +899,8 @@ gtk_viewport_adjustment_value_changed (GtkAdjustment *adjustment, gint new_x, new_y; gdk_window_get_position (priv->bin_window, &old_x, &old_y); - new_x = - hadjustment->value; - new_y = - vadjustment->value; + new_x = - gtk_adjustment_get_value (hadjustment); + new_y = - gtk_adjustment_get_value (vadjustment); if (new_x != old_x || new_y != old_y) { From 95e9f4c0c180681968ed1e54c9424c5112c4c5fe Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 22:06:55 +0100 Subject: [PATCH 1189/1463] range: Rewrite attachment setters to use sealed API --- gtk/gtkrange.c | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 8499432660..f4b19b0698 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -1181,16 +1181,19 @@ gtk_range_set_increments (GtkRange *range, gdouble step, gdouble page) { - GtkRangePrivate *priv; + GtkAdjustment *adjustment; g_return_if_fail (GTK_IS_RANGE (range)); - priv = range->priv; + adjustment = range->priv->adjustment; - priv->adjustment->step_increment = step; - priv->adjustment->page_increment = page; - - gtk_adjustment_changed (priv->adjustment); + gtk_adjustment_configure (adjustment, + gtk_adjustment_get_value (adjustment), + gtk_adjustment_get_lower (adjustment), + gtk_adjustment_get_upper (adjustment), + step, + page, + gtk_adjustment_get_page_size (adjustment)); } /** @@ -1209,24 +1212,27 @@ gtk_range_set_range (GtkRange *range, gdouble max) { GtkRangePrivate *priv; + GtkAdjustment *adjustment; gdouble value; g_return_if_fail (GTK_IS_RANGE (range)); g_return_if_fail (min <= max); priv = range->priv; + adjustment = priv->adjustment; - priv->adjustment->lower = min; - priv->adjustment->upper = max; - - value = priv->adjustment->value; - + value = gtk_adjustment_get_value (adjustment); if (priv->restrict_to_fill_level) - value = MIN (value, MAX (priv->adjustment->lower, + value = MIN (value, MAX (gtk_adjustment_get_lower (adjustment), priv->fill_level)); - gtk_adjustment_set_value (priv->adjustment, value); - gtk_adjustment_changed (priv->adjustment); + gtk_adjustment_configure (adjustment, + value, + min, + max, + gtk_adjustment_get_step_increment (adjustment), + gtk_adjustment_get_page_increment (adjustment), + gtk_adjustment_get_page_size (adjustment)); } /** From 801ba1c7581b988e009c303f78ff341fd7f674c4 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 22:08:45 +0100 Subject: [PATCH 1190/1463] range: Update adjustment usage for sealing --- gtk/gtkrange.c | 135 ++++++++++++++++++++++++------------------------- 1 file changed, 67 insertions(+), 68 deletions(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index f4b19b0698..678a2dd2e4 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -976,7 +976,7 @@ gtk_range_set_min_slider_size (GtkRange *range, if (gtk_widget_is_drawable (GTK_WIDGET (range))) { priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); gtk_widget_queue_draw (GTK_WIDGET (range)); } } @@ -1025,7 +1025,7 @@ gtk_range_get_range_rect (GtkRange *range, priv = range->priv; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); *range_rect = priv->range_rect; } @@ -1054,7 +1054,7 @@ gtk_range_get_slider_range (GtkRange *range, priv = range->priv; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); if (slider_start) *slider_start = priv->slider_start; @@ -1088,7 +1088,7 @@ gtk_range_set_lower_stepper_sensitivity (GtkRange *range, priv->lower_sensitivity = sensitivity; priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); gtk_widget_queue_draw (GTK_WIDGET (range)); g_object_notify (G_OBJECT (range), "lower-stepper-sensitivity"); @@ -1139,7 +1139,7 @@ gtk_range_set_upper_stepper_sensitivity (GtkRange *range, priv->upper_sensitivity = sensitivity; priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); gtk_widget_queue_draw (GTK_WIDGET (range)); g_object_notify (G_OBJECT (range), "upper-stepper-sensitivity"); @@ -1256,7 +1256,7 @@ gtk_range_set_value (GtkRange *range, priv = range->priv; if (priv->restrict_to_fill_level) - value = MIN (value, MAX (priv->adjustment->lower, + value = MIN (value, MAX (gtk_adjustment_get_lower (priv->adjustment), priv->fill_level)); gtk_adjustment_set_value (priv->adjustment, value); @@ -1275,7 +1275,7 @@ gtk_range_get_value (GtkRange *range) { g_return_val_if_fail (GTK_IS_RANGE (range), 0.0); - return range->priv->adjustment->value; + return gtk_adjustment_get_value (range->priv->adjustment); } /** @@ -1633,7 +1633,7 @@ gtk_range_size_allocate (GtkWidget *widget, priv->recalc_marks = TRUE; priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); if (gtk_widget_get_realized (widget)) gdk_window_move_resize (priv->event_window, @@ -1675,7 +1675,7 @@ gtk_range_realize (GtkWidget *widget) GdkWindowAttr attributes; gint attributes_mask; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); gtk_widget_set_realized (widget, TRUE); @@ -1961,7 +1961,7 @@ gtk_range_draw (GtkWidget *widget, NULL); if (GTK_IS_SCALE (widget) && - priv->adjustment->upper == priv->adjustment->lower) + gtk_adjustment_get_upper (priv->adjustment) == gtk_adjustment_get_lower (priv->adjustment)) draw_trough = FALSE; if (gtk_widget_get_can_focus (GTK_WIDGET (range))) @@ -1978,7 +1978,7 @@ gtk_range_draw (GtkWidget *widget, priv->repaint_id = 0; gtk_range_calc_marks (range); - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); sensitive = gtk_widget_is_sensitive (widget); @@ -2107,8 +2107,8 @@ gtk_range_draw (GtkWidget *widget, gtk_style_context_restore (context); if (priv->show_fill_level && - priv->adjustment->upper - priv->adjustment->page_size - - priv->adjustment->lower != 0) + gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment) - + gtk_adjustment_get_lower (priv->adjustment) != 0) { gdouble fill_level = priv->fill_level; gint fill_x = x; @@ -2120,18 +2120,18 @@ gtk_range_draw (GtkWidget *widget, gtk_style_context_save (context); gtk_style_context_add_class (context, GTK_STYLE_CLASS_PROGRESSBAR); - fill_level = CLAMP (fill_level, priv->adjustment->lower, - priv->adjustment->upper - - priv->adjustment->page_size); + fill_level = CLAMP (fill_level, gtk_adjustment_get_lower (priv->adjustment), + gtk_adjustment_get_upper (priv->adjustment) - + gtk_adjustment_get_page_size (priv->adjustment)); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { fill_x = priv->trough.x; fill_width = (priv->slider.width + - (fill_level - priv->adjustment->lower) / - (priv->adjustment->upper - - priv->adjustment->lower - - priv->adjustment->page_size) * + (fill_level - gtk_adjustment_get_lower (priv->adjustment)) / + (gtk_adjustment_get_upper (priv->adjustment) - + gtk_adjustment_get_lower (priv->adjustment) - + gtk_adjustment_get_page_size (priv->adjustment)) * (priv->trough.width - priv->slider.width)); @@ -2142,10 +2142,10 @@ gtk_range_draw (GtkWidget *widget, { fill_y = priv->trough.y; fill_height = (priv->slider.height + - (fill_level - priv->adjustment->lower) / - (priv->adjustment->upper - - priv->adjustment->lower - - priv->adjustment->page_size) * + (fill_level - gtk_adjustment_get_lower (priv->adjustment)) / + (gtk_adjustment_get_upper (priv->adjustment) - + gtk_adjustment_get_lower (priv->adjustment) - + gtk_adjustment_get_page_size (priv->adjustment)) * (priv->trough.height - priv->slider.height)); @@ -2153,7 +2153,7 @@ gtk_range_draw (GtkWidget *widget, fill_y += priv->trough.height - fill_height; } - if (fill_level < priv->adjustment->upper - priv->adjustment->page_size) + if (fill_level < gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment)) fill_detail = "trough-fill-level-full"; else fill_detail = "trough-fill-level"; @@ -2398,9 +2398,9 @@ coord_to_value (GtkRange *range, if (should_invert (range)) frac = 1.0 - frac; - value = priv->adjustment->lower + frac * (priv->adjustment->upper - - priv->adjustment->lower - - priv->adjustment->page_size); + value = gtk_adjustment_get_lower (priv->adjustment) + frac * (gtk_adjustment_get_upper (priv->adjustment) - + gtk_adjustment_get_lower (priv->adjustment) - + gtk_adjustment_get_page_size (priv->adjustment)); return value; } @@ -2466,7 +2466,7 @@ gtk_range_button_press (GtkWidget *widget, priv->orientation == GTK_ORIENTATION_VERTICAL ? event->y : event->x); - priv->trough_click_forward = click_value > priv->adjustment->value; + priv->trough_click_forward = click_value > gtk_adjustment_get_value (priv->adjustment); range_grab_add (range, device, MOUSE_TROUGH, event->button); scroll = range_get_scroll_for_grab (range); @@ -2597,7 +2597,7 @@ update_slider_position (GtkRange *range, { mark_value = priv->marks[i]; - if (fabs (priv->adjustment->value - mark_value) < 3 * mark_delta) + if (fabs (gtk_adjustment_get_value (priv->adjustment) - mark_value) < 3 * mark_delta) { if (fabs (new_value - mark_value) < (priv->slider_end - priv->slider_start) * 0.5 * mark_delta) { @@ -2696,13 +2696,13 @@ _gtk_range_get_wheel_delta (GtkRange *range, GdkScrollDirection direction) { GtkRangePrivate *priv = range->priv; - GtkAdjustment *adj = priv->adjustment; + GtkAdjustment *adjustment = priv->adjustment; gdouble delta; if (GTK_IS_SCROLLBAR (range)) - delta = pow (adj->page_size, 2.0 / 3.0); + delta = pow (gtk_adjustment_get_page_size (adjustment), 2.0 / 3.0); else - delta = adj->step_increment * 2; + delta = gtk_adjustment_get_step_increment (adjustment) * 2; if (direction == GDK_SCROLL_UP || direction == GDK_SCROLL_LEFT) @@ -2723,14 +2723,13 @@ gtk_range_scroll_event (GtkWidget *widget, if (gtk_widget_get_realized (widget)) { - GtkAdjustment *adj = priv->adjustment; gdouble delta; gboolean handled; delta = _gtk_range_get_wheel_delta (range, event->direction); g_signal_emit (range, signals[CHANGE_VALUE], 0, - GTK_SCROLL_JUMP, adj->value + delta, + GTK_SCROLL_JUMP, gtk_adjustment_get_value (priv->adjustment) + delta, &handled); } @@ -2845,7 +2844,7 @@ gtk_range_adjustment_changed (GtkAdjustment *adjustment, priv->recalc_marks = TRUE; priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); /* now check whether the layout changed */ if (layout_changed (priv, &priv_aux)) @@ -2883,7 +2882,7 @@ gtk_range_adjustment_value_changed (GtkAdjustment *adjustment, GtkRangePrivate priv_aux = *priv; priv->need_recalc = TRUE; - gtk_range_calc_layout (range, priv->adjustment->value); + gtk_range_calc_layout (range, gtk_adjustment_get_value (priv->adjustment)); /* now check whether the layout changed */ if (layout_changed (priv, &priv_aux) || @@ -2947,8 +2946,8 @@ step_back (GtkRange *range) gdouble newval; gboolean handled; - newval = priv->adjustment->value - priv->adjustment->step_increment; - apply_marks (range, priv->adjustment->value, &newval); + newval = gtk_adjustment_get_value (priv->adjustment) - gtk_adjustment_get_step_increment (priv->adjustment); + apply_marks (range, gtk_adjustment_get_value (priv->adjustment), &newval); g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_STEP_BACKWARD, newval, &handled); } @@ -2960,8 +2959,8 @@ step_forward (GtkRange *range) gdouble newval; gboolean handled; - newval = priv->adjustment->value + priv->adjustment->step_increment; - apply_marks (range, priv->adjustment->value, &newval); + newval = gtk_adjustment_get_value (priv->adjustment) + gtk_adjustment_get_step_increment (priv->adjustment); + apply_marks (range, gtk_adjustment_get_value (priv->adjustment), &newval); g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_STEP_FORWARD, newval, &handled); } @@ -2974,8 +2973,8 @@ page_back (GtkRange *range) gdouble newval; gboolean handled; - newval = priv->adjustment->value - priv->adjustment->page_increment; - apply_marks (range, priv->adjustment->value, &newval); + newval = gtk_adjustment_get_value (priv->adjustment) - gtk_adjustment_get_page_increment (priv->adjustment); + apply_marks (range, gtk_adjustment_get_value (priv->adjustment), &newval); g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_PAGE_BACKWARD, newval, &handled); } @@ -2987,8 +2986,8 @@ page_forward (GtkRange *range) gdouble newval; gboolean handled; - newval = priv->adjustment->value + priv->adjustment->page_increment; - apply_marks (range, priv->adjustment->value, &newval); + newval = gtk_adjustment_get_value (priv->adjustment) + gtk_adjustment_get_page_increment (priv->adjustment); + apply_marks (range, gtk_adjustment_get_value (priv->adjustment), &newval); g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_PAGE_FORWARD, newval, &handled); } @@ -3000,7 +2999,7 @@ scroll_begin (GtkRange *range) gboolean handled; g_signal_emit (range, signals[CHANGE_VALUE], 0, - GTK_SCROLL_START, priv->adjustment->lower, + GTK_SCROLL_START, gtk_adjustment_get_lower (priv->adjustment), &handled); } @@ -3011,7 +3010,7 @@ scroll_end (GtkRange *range) gdouble newval; gboolean handled; - newval = priv->adjustment->upper - priv->adjustment->page_size; + newval = gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment); g_signal_emit (range, signals[CHANGE_VALUE], 0, GTK_SCROLL_END, newval, &handled); } @@ -3021,7 +3020,7 @@ gtk_range_scroll (GtkRange *range, GtkScrollType scroll) { GtkRangePrivate *priv = range->priv; - gdouble old_value = priv->adjustment->value; + gdouble old_value = gtk_adjustment_get_value (priv->adjustment); switch (scroll) { @@ -3113,7 +3112,7 @@ gtk_range_scroll (GtkRange *range, break; } - return priv->adjustment->value != old_value; + return gtk_adjustment_get_value (priv->adjustment) != old_value; } static void @@ -3634,9 +3633,9 @@ gtk_range_calc_layout (GtkRange *range, * total_adjustment_range) times the trough height in pixels */ - if (priv->adjustment->upper - priv->adjustment->lower != 0) - height = ((bottom - top) * (priv->adjustment->page_size / - (priv->adjustment->upper - priv->adjustment->lower))); + if (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) != 0) + height = ((bottom - top) * (gtk_adjustment_get_page_size (priv->adjustment) / + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment)))); else height = priv->min_slider_size; @@ -3648,9 +3647,9 @@ gtk_range_calc_layout (GtkRange *range, y = top; - if (priv->adjustment->upper - priv->adjustment->lower - priv->adjustment->page_size != 0) - y += (bottom - top - height) * ((adjustment_value - priv->adjustment->lower) / - (priv->adjustment->upper - priv->adjustment->lower - priv->adjustment->page_size)); + if (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment) != 0) + y += (bottom - top - height) * ((adjustment_value - gtk_adjustment_get_lower (priv->adjustment)) / + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment))); y = CLAMP (y, top, bottom); @@ -3783,9 +3782,9 @@ gtk_range_calc_layout (GtkRange *range, * total_adjustment_range) times the trough width in pixels */ - if (priv->adjustment->upper - priv->adjustment->lower != 0) - width = ((right - left) * (priv->adjustment->page_size / - (priv->adjustment->upper - priv->adjustment->lower))); + if (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) != 0) + width = ((right - left) * (gtk_adjustment_get_page_size (priv->adjustment) / + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment)))); else width = priv->min_slider_size; @@ -3797,9 +3796,9 @@ gtk_range_calc_layout (GtkRange *range, x = left; - if (priv->adjustment->upper - priv->adjustment->lower - priv->adjustment->page_size != 0) - x += (right - left - width) * ((adjustment_value - priv->adjustment->lower) / - (priv->adjustment->upper - priv->adjustment->lower - priv->adjustment->page_size)); + if (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment) != 0) + x += (right - left - width) * ((adjustment_value - gtk_adjustment_get_lower (priv->adjustment)) / + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_lower (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment))); x = CLAMP (x, left, right); @@ -3821,8 +3820,8 @@ gtk_range_calc_layout (GtkRange *range, { case GTK_SENSITIVITY_AUTO: priv->upper_sensitive = - (priv->adjustment->value < - (priv->adjustment->upper - priv->adjustment->page_size)); + (gtk_adjustment_get_value (priv->adjustment) < + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment))); break; case GTK_SENSITIVITY_ON: @@ -3838,7 +3837,7 @@ gtk_range_calc_layout (GtkRange *range, { case GTK_SENSITIVITY_AUTO: priv->lower_sensitive = - (priv->adjustment->value > priv->adjustment->lower); + (gtk_adjustment_get_value (priv->adjustment) > gtk_adjustment_get_lower (priv->adjustment)); break; case GTK_SENSITIVITY_ON: @@ -3915,11 +3914,11 @@ gtk_range_real_change_value (GtkRange *range, g_signal_emit (range, signals[ADJUST_BOUNDS], 0, value); if (priv->restrict_to_fill_level) - value = MIN (value, MAX (priv->adjustment->lower, + value = MIN (value, MAX (gtk_adjustment_get_lower (priv->adjustment), priv->fill_level)); - value = CLAMP (value, priv->adjustment->lower, - (priv->adjustment->upper - priv->adjustment->page_size)); + value = CLAMP (value, gtk_adjustment_get_lower (priv->adjustment), + (gtk_adjustment_get_upper (priv->adjustment) - gtk_adjustment_get_page_size (priv->adjustment))); if (priv->round_digits >= 0) { @@ -3934,7 +3933,7 @@ gtk_range_real_change_value (GtkRange *range, value = floor ((value * power) + 0.5) / power; } - if (priv->adjustment->value != value) + if (gtk_adjustment_get_value (priv->adjustment) != value) { priv->need_recalc = TRUE; From a28be2cc6caff82b8b55694bd045cc3786079ef5 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 22:12:58 +0100 Subject: [PATCH 1191/1463] gail: Update adjustment usage for sealing --- modules/other/gail/gailadjustment.c | 26 +++++++++++++------------- modules/other/gail/gailwidget.c | 4 ++-- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/modules/other/gail/gailadjustment.c b/modules/other/gail/gailadjustment.c index 0a5a9c0c80..58e19eac34 100644 --- a/modules/other/gail/gailadjustment.c +++ b/modules/other/gail/gailadjustment.c @@ -118,7 +118,7 @@ gail_adjustment_get_current_value (AtkValue *obj, return; } - current_value = adjustment->value; + current_value = gtk_adjustment_get_value (adjustment); memset (value, 0, sizeof (GValue)); g_value_init (value, G_TYPE_DOUBLE); g_value_set_double (value,current_value); @@ -138,7 +138,7 @@ gail_adjustment_get_maximum_value (AtkValue *obj, return; } - maximum_value = adjustment->upper; + maximum_value = gtk_adjustment_get_upper (adjustment); memset (value, 0, sizeof (GValue)); g_value_init (value, G_TYPE_DOUBLE); g_value_set_double (value, maximum_value); @@ -158,7 +158,7 @@ gail_adjustment_get_minimum_value (AtkValue *obj, return; } - minimum_value = adjustment->lower; + minimum_value = gtk_adjustment_get_lower (adjustment); memset (value, 0, sizeof (GValue)); g_value_init (value, G_TYPE_DOUBLE); g_value_set_double (value, minimum_value); @@ -178,26 +178,26 @@ gail_adjustment_get_minimum_increment (AtkValue *obj, return; } - if (adjustment->step_increment != 0 && - adjustment->page_increment != 0) + if (gtk_adjustment_get_step_increment (adjustment) != 0 && + gtk_adjustment_get_page_increment (adjustment) != 0) { - if (ABS (adjustment->step_increment) < ABS (adjustment->page_increment)) - minimum_increment = adjustment->step_increment; + if (ABS (gtk_adjustment_get_step_increment (adjustment)) < ABS (gtk_adjustment_get_page_increment (adjustment))) + minimum_increment = gtk_adjustment_get_step_increment (adjustment); else - minimum_increment = adjustment->page_increment; + minimum_increment = gtk_adjustment_get_page_increment (adjustment); } - else if (adjustment->step_increment == 0 && - adjustment->page_increment == 0) + else if (gtk_adjustment_get_step_increment (adjustment) == 0 && + gtk_adjustment_get_page_increment (adjustment) == 0) { minimum_increment = 0; } - else if (adjustment->step_increment == 0) + else if (gtk_adjustment_get_step_increment (adjustment) == 0) { - minimum_increment = adjustment->page_increment; + minimum_increment = gtk_adjustment_get_page_increment (adjustment); } else { - minimum_increment = adjustment->step_increment; + minimum_increment = gtk_adjustment_get_step_increment (adjustment); } memset (value, 0, sizeof (GValue)); diff --git a/modules/other/gail/gailwidget.c b/modules/other/gail/gailwidget.c index 922673d9db..c9ce43d9be 100644 --- a/modules/other/gail/gailwidget.c +++ b/modules/other/gail/gailwidget.c @@ -1061,9 +1061,9 @@ static gboolean gail_widget_on_screen (GtkWidget *widget) gtk_widget_get_allocation (viewport, &viewport_allocation); adjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (viewport)); - visible_rect.y = adjustment->value; + visible_rect.y = gtk_adjustment_get_value (adjustment); adjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (viewport)); - visible_rect.x = adjustment->value; + visible_rect.x = gtk_adjustment_get_value (adjustment); visible_rect.width = viewport_allocation.width; visible_rect.height = viewport_allocation.height; From c731e1ce0a7857e504c3c190ce1fe9741b6f9dde Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 22:14:32 +0100 Subject: [PATCH 1192/1463] demos: Update testpixbuf-scale demo for adjustment sealing --- demos/testpixbuf-scale.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/demos/testpixbuf-scale.c b/demos/testpixbuf-scale.c index ee57763c84..bfff451d9a 100644 --- a/demos/testpixbuf-scale.c +++ b/demos/testpixbuf-scale.c @@ -24,9 +24,9 @@ set_interp_type (GtkWidget *widget, gpointer data) void overall_changed_cb (GtkAdjustment *adjustment, gpointer data) { - if (adjustment->value != overall_alpha) + if (gtk_adjustment_get_value (adjustment) != overall_alpha) { - overall_alpha = adjustment->value; + overall_alpha = gtk_adjustment_get_value (adjustment); gtk_widget_queue_draw (darea); } } From e4442c010b522eef83330425f77d4ec3de86e4a7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 22:15:42 +0100 Subject: [PATCH 1193/1463] examples: Update dial adjustment usage for sealing --- examples/gtkdial/dial_test.c | 2 +- examples/gtkdial/gtkdial.c | 54 ++++++++++++++++++------------------ 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/examples/gtkdial/dial_test.c b/examples/gtkdial/dial_test.c index b82c921bec..a0884afdcf 100644 --- a/examples/gtkdial/dial_test.c +++ b/examples/gtkdial/dial_test.c @@ -9,7 +9,7 @@ void value_changed( GtkAdjustment *adjustment, { char buffer[16]; - sprintf(buffer,"%4.2f",adjustment->value); + sprintf(buffer,"%4.2f",gtk_adjustment_get_value (adjustment)); gtk_label_set_text (GTK_LABEL (label), buffer); } diff --git a/examples/gtkdial/gtkdial.c b/examples/gtkdial/gtkdial.c index 39338f67c6..8adb035c46 100644 --- a/examples/gtkdial/gtkdial.c +++ b/examples/gtkdial/gtkdial.c @@ -199,9 +199,9 @@ gtk_dial_set_adjustment (GtkDial *dial, G_CALLBACK (gtk_dial_adjustment_value_changed), (gpointer) dial); - dial->old_value = adjustment->value; - dial->old_lower = adjustment->lower; - dial->old_upper = adjustment->upper; + dial->old_value = gtk_adjustment_get_value (adjustment); + dial->old_lower = gtk_adjustment_get_lower (adjustment); + dial->old_upper = gtk_adjustment_get_upper (adjustment); gtk_dial_update (dial); } @@ -314,8 +314,8 @@ gtk_dial_expose( GtkWidget *widget, xc = widget->allocation.width / 2; yc = widget->allocation.height / 2; - upper = dial->adjustment->upper; - lower = dial->adjustment->lower; + upper = gtk_adjustment_get_upper (dial->adjustment); + lower = gtk_adjustment_get_lower (dial->adjustment); /* Erase old pointer */ @@ -490,7 +490,7 @@ gtk_dial_button_release( GtkWidget *widget, g_source_remove (dial->timer); if ((dial->policy != GTK_UPDATE_CONTINUOUS) && - (dial->old_value != dial->adjustment->value)) + (dial->old_value != gtk_adjustment_get_value (dial->adjustment))) g_signal_emit_by_name (dial->adjustment, "value_changed"); } @@ -566,7 +566,7 @@ gtk_dial_update_mouse( GtkDial *dial, gint x, gint y ) xc = GTK_WIDGET(dial)->allocation.width / 2; yc = GTK_WIDGET(dial)->allocation.height / 2; - old_value = dial->adjustment->value; + old_value = gtk_adjustment_get_value (dial->adjustment); dial->angle = atan2(yc-y, x-xc); if (dial->angle < -M_PI/2.) @@ -578,10 +578,10 @@ gtk_dial_update_mouse( GtkDial *dial, gint x, gint y ) if (dial->angle > 7.*M_PI/6.) dial->angle = 7.*M_PI/6.; - dial->adjustment->value = dial->adjustment->lower + (7.*M_PI/6 - dial->angle) * - (dial->adjustment->upper - dial->adjustment->lower) / (4.*M_PI/3.); + gtk_adjustment_get_value (dial->adjustment) = gtk_adjustment_get_lower (dial->adjustment) + (7.*M_PI/6 - dial->angle) * + (gtk_adjustment_get_upper (dial->adjustment) - gtk_adjustment_get_lower (dial->adjustment)) / (4.*M_PI/3.); - if (dial->adjustment->value != old_value) + if (gtk_adjustment_get_value (dial->adjustment) != old_value) { if (dial->policy == GTK_UPDATE_CONTINUOUS) { @@ -612,22 +612,22 @@ gtk_dial_update (GtkDial *dial) g_return_if_fail (dial != NULL); g_return_if_fail (GTK_IS_DIAL (dial)); - new_value = dial->adjustment->value; + new_value = gtk_adjustment_get_value (dial->adjustment); - if (new_value < dial->adjustment->lower) - new_value = dial->adjustment->lower; + if (new_value < gtk_adjustment_get_lower (dial->adjustment)) + new_value = gtk_adjustment_get_lower (dial->adjustment); - if (new_value > dial->adjustment->upper) - new_value = dial->adjustment->upper; + if (new_value > gtk_adjustment_get_upper (dial->adjustment)) + new_value = gtk_adjustment_get_upper (dial->adjustment); - if (new_value != dial->adjustment->value) + if (new_value != gtk_adjustment_get_value (dial->adjustment)) { - dial->adjustment->value = new_value; + gtk_adjustment_get_value (dial->adjustment) = new_value; g_signal_emit_by_name (dial->adjustment, "value_changed"); } - dial->angle = 7.*M_PI/6. - (new_value - dial->adjustment->lower) * 4.*M_PI/3. / - (dial->adjustment->upper - dial->adjustment->lower); + dial->angle = 7.*M_PI/6. - (new_value - gtk_adjustment_get_lower (dial->adjustment)) * 4.*M_PI/3. / + (gtk_adjustment_get_upper (dial->adjustment) - gtk_adjustment_get_lower (dial->adjustment)); gtk_widget_queue_draw (GTK_WIDGET (dial)); } @@ -643,15 +643,15 @@ gtk_dial_adjustment_changed (GtkAdjustment *adjustment, dial = GTK_DIAL (data); - if ((dial->old_value != adjustment->value) || - (dial->old_lower != adjustment->lower) || - (dial->old_upper != adjustment->upper)) + if ((dial->old_value != gtk_adjustment_get_value (adjustment)) || + (dial->old_lower != gtk_adjustment_get_lower (adjustment)) || + (dial->old_upper != gtk_adjustment_get_upper (adjustment))) { gtk_dial_update (dial); - dial->old_value = adjustment->value; - dial->old_lower = adjustment->lower; - dial->old_upper = adjustment->upper; + dial->old_value = gtk_adjustment_get_value (adjustment); + dial->old_lower = gtk_adjustment_get_lower (adjustment); + dial->old_upper = gtk_adjustment_get_upper (adjustment); } } @@ -666,10 +666,10 @@ gtk_dial_adjustment_value_changed (GtkAdjustment *adjustment, dial = GTK_DIAL (data); - if (dial->old_value != adjustment->value) + if (dial->old_value != gtk_adjustment_get_value (adjustment)) { gtk_dial_update (dial); - dial->old_value = adjustment->value; + dial->old_value = gtk_adjustment_get_value (adjustment); } } From a41402c455c05c4b29d2220022d08f5e4dde83a9 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 22:29:13 +0100 Subject: [PATCH 1194/1463] combobox: Update adjustment usage for sealing --- gtk/gtkcombobox.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c index c1ca3bc7d9..b2adcfb51a 100644 --- a/gtk/gtkcombobox.c +++ b/gtk/gtkcombobox.c @@ -3632,35 +3632,35 @@ gtk_combo_box_list_auto_scroll (GtkComboBox *combo_box, gtk_widget_get_allocation (tree_view, &allocation); adj = gtk_scrolled_window_get_hadjustment (GTK_SCROLLED_WINDOW (combo_box->priv->scrolled_window)); - if (adj && adj->upper - adj->lower > adj->page_size) + if (adj && gtk_adjustment_get_upper (adj) - gtk_adjustment_get_lower (adj) > gtk_adjustment_get_page_size (adj)) { if (x <= allocation.x && - adj->lower < adj->value) + gtk_adjustment_get_lower (adj) < gtk_adjustment_get_value (adj)) { - value = adj->value - (allocation.x - x + 1); + value = gtk_adjustment_get_value (adj) - (allocation.x - x + 1); gtk_adjustment_set_value (adj, value); } else if (x >= allocation.x + allocation.width && - adj->upper - adj->page_size > adj->value) + gtk_adjustment_get_upper (adj) - gtk_adjustment_get_page_size (adj) > gtk_adjustment_get_value (adj)) { - value = adj->value + (x - allocation.x - allocation.width + 1); + value = gtk_adjustment_get_value (adj) + (x - allocation.x - allocation.width + 1); gtk_adjustment_set_value (adj, MAX (value, 0.0)); } } adj = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (combo_box->priv->scrolled_window)); - if (adj && adj->upper - adj->lower > adj->page_size) + if (adj && gtk_adjustment_get_upper (adj) - gtk_adjustment_get_lower (adj) > gtk_adjustment_get_page_size (adj)) { if (y <= allocation.y && - adj->lower < adj->value) + gtk_adjustment_get_lower (adj) < gtk_adjustment_get_value (adj)) { - value = adj->value - (allocation.y - y + 1); + value = gtk_adjustment_get_value (adj) - (allocation.y - y + 1); gtk_adjustment_set_value (adj, value); } else if (y >= allocation.height && - adj->upper - adj->page_size > adj->value) + gtk_adjustment_get_upper (adj) - gtk_adjustment_get_page_size (adj) > gtk_adjustment_get_value (adj)) { - value = adj->value + (y - allocation.height + 1); + value = gtk_adjustment_get_value (adj) + (y - allocation.height + 1); gtk_adjustment_set_value (adj, MAX (value, 0.0)); } } From cd80f49053d3117fdcbb85f06d5d0cc211d7764e Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:00:26 +0100 Subject: [PATCH 1195/1463] tests: Update adjustment usage for sealing --- gtk/tests/treeview-scrolling.c | 50 +++++++++++++++++----------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/gtk/tests/treeview-scrolling.c b/gtk/tests/treeview-scrolling.c index b165f431fb..91ed786cb3 100644 --- a/gtk/tests/treeview-scrolling.c +++ b/gtk/tests/treeview-scrolling.c @@ -299,17 +299,17 @@ static enum Pos get_pos_from_path (GtkTreeView *tree_view, GtkTreePath *path, gdouble row_height, - GtkAdjustment *vadj) + GtkAdjustment *vadjustment) { int row_start; row_start = get_row_start_for_index (tree_view, gtk_tree_path_get_indices (path)[0]); - if (row_start + row_height < vadj->page_size) + if (row_start + row_height < gtk_adjustment_get_page_size (vadjustment)) return POS_TOP; - if (row_start >= vadj->upper - vadj->page_size) + if (row_start >= gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment)) return POS_BOTTOM; return POS_CENTER; @@ -324,7 +324,7 @@ test_position_with_align (GtkTreeView *tree_view, gdouble row_align) { gboolean passed = TRUE; - GtkAdjustment *vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (tree_view)); + GtkAdjustment *vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (tree_view)); /* Switch on row-align: 0.0, 0.5, 1.0 */ switch ((int)(row_align * 2.)) { @@ -338,7 +338,7 @@ test_position_with_align (GtkTreeView *tree_view, */ if (row_y != 0) passed = FALSE; - if (vadj->value != row_start) + if (gtk_adjustment_get_value (vadjustment) != row_start) passed = FALSE; } else { /* The row can be anywhere at the last @@ -346,7 +346,7 @@ test_position_with_align (GtkTreeView *tree_view, * - dy is set to the start of the * last page. */ - if (vadj->value != vadj->upper - vadj->page_size) + if (gtk_adjustment_get_value (vadjustment) != gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment)) passed = FALSE; } break; @@ -354,23 +354,23 @@ test_position_with_align (GtkTreeView *tree_view, case 1: /* 0.5 */ if (pos == POS_TOP - && row_start < vadj->page_size / 2) { + && row_start < gtk_adjustment_get_page_size (vadjustment) / 2) { /* For the first half of the top view we can't * center the row in the view, instead we * show the first page. * - dy should be zero */ - if (vadj->value != 0) + if (gtk_adjustment_get_value (vadjustment) != 0) passed = FALSE; } else if (pos == POS_BOTTOM - && row_start >= vadj->upper - vadj->page_size / 2) { + && row_start >= gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment) / 2) { /* For the last half of the bottom view we * can't center the row in the view, instead * we show the last page. * - dy should be the start of the * last page. */ - if (vadj->value != vadj->upper - vadj->page_size) + if (gtk_adjustment_get_value (vadjustment) != gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment)) passed = FALSE; } else { /* The row is located in the middle of @@ -381,7 +381,7 @@ test_position_with_align (GtkTreeView *tree_view, * (ie. the row's center is at the * center of the view). */ - gdouble middle = vadj->page_size / 2 - row_height / 2; + gdouble middle = gtk_adjustment_get_page_size (vadjustment) / 2 - row_height / 2; if (row_y != ceil (middle) && row_y != floor (middle)) passed = FALSE; } @@ -394,7 +394,7 @@ test_position_with_align (GtkTreeView *tree_view, * first page of the tree view. * - dy is zero. */ - if (vadj->value != 0) + if (gtk_adjustment_get_value (vadjustment) != 0) passed = FALSE; } else if (pos == POS_CENTER || pos == POS_BOTTOM) { /* The row is the last row visible in the @@ -405,12 +405,12 @@ test_position_with_align (GtkTreeView *tree_view, * (ie we are not on the first page). * - dy is greater than zero */ - if (row_start < vadj->page_size - && row_start + row_height < vadj->page_size) + if (row_start < gtk_adjustment_get_page_size (vadjustment) + && row_start + row_height < gtk_adjustment_get_page_size (vadjustment)) passed = FALSE; - if (vadj->value <= 0) + if (gtk_adjustment_get_value (vadjustment) <= 0) passed = FALSE; - if (row_y != vadj->page_size - row_height) + if (row_y != gtk_adjustment_get_page_size (vadjustment) - row_height) passed = FALSE; } break; @@ -424,14 +424,14 @@ test_position_without_align (GtkTreeView *tree_view, gdouble row_start, gdouble row_height) { - GtkAdjustment *vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (tree_view)); + GtkAdjustment *vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (tree_view)); /* Without align the tree view does as less work as possible, * so basically we only have to check whether the row * is visible on the screen. */ - if (vadj->value <= row_start - && vadj->value + vadj->page_size >= row_start + row_height) + if (gtk_adjustment_get_value (vadjustment) <= row_start + && gtk_adjustment_get_value (vadjustment) + gtk_adjustment_get_page_size (vadjustment) >= row_start + row_height) return TRUE; return FALSE; @@ -778,12 +778,12 @@ test_editable_position (GtkWidget *tree_view, { GtkAllocation allocation; GdkRectangle rect; - GtkAdjustment *vadj; + GtkAdjustment *vadjustment; gtk_tree_view_get_background_area (GTK_TREE_VIEW (tree_view), cursor_path, NULL, &rect); - vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (tree_view)); + vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (tree_view)); /* There are all in bin_window coordinates */ gtk_widget_get_allocation (editable, &allocation); @@ -905,7 +905,7 @@ test_bug316689 (ScrollFixture *fixture, { GtkTreeIter iter; GtkTreePath *path; - GtkAdjustment *vadj; + GtkAdjustment *vadjustment; GtkTreeModel *model; /* The aim of this test is to scroll to the bottom of a TreeView, @@ -935,10 +935,10 @@ test_bug316689 (ScrollFixture *fixture, while (gtk_events_pending ()) gtk_main_iteration (); - vadj = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (fixture->tree_view)); + vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (fixture->tree_view)); - g_assert (vadj->value + vadj->page_size <= vadj->upper); - g_assert (vadj->value == vadj->upper - vadj->page_size); + g_assert (gtk_adjustment_get_value (vadjustment) + gtk_adjustment_get_page_size (vadjustment) <= gtk_adjustment_get_upper (vadjustment)); + g_assert (gtk_adjustment_get_value (vadjustment) == gtk_adjustment_get_upper (vadjustment) - gtk_adjustment_get_page_size (vadjustment)); } From cc879a6028f806c1e59ad911b37b4c6c71efb820 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:00:46 +0100 Subject: [PATCH 1196/1463] textview: Update adjustment usage for sealing Also rename all variables named "adj" to "adjustment", like they're called everywhere else. --- gtk/gtktextview.c | 131 ++++++++++++++++++++-------------------------- 1 file changed, 56 insertions(+), 75 deletions(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index b2442f6745..8152d98202 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -380,7 +380,7 @@ static void gtk_text_view_move_cursor (GtkTextView *text_view, GtkMovementStep step, gint count, gboolean extend_selection); -static gboolean gtk_text_view_move_viewport (GtkTextView *text_view, +static void gtk_text_view_move_viewport (GtkTextView *text_view, GtkScrollStep step, gint count); static void gtk_text_view_set_anchor (GtkTextView *text_view); @@ -425,7 +425,7 @@ static void gtk_text_view_pend_cursor_blink (GtkTextView *text_v static void gtk_text_view_stop_cursor_blink (GtkTextView *text_view); static void gtk_text_view_reset_blink_time (GtkTextView *text_view); -static void gtk_text_view_value_changed (GtkAdjustment *adj, +static void gtk_text_view_value_changed (GtkAdjustment *adjustment, GtkTextView *view); static void gtk_text_view_commit_handler (GtkIMContext *context, const gchar *str, @@ -1768,30 +1768,6 @@ gtk_text_view_get_line_at_y (GtkTextView *text_view, line_top); } -static gboolean -set_adjustment_clamped (GtkAdjustment *adj, gdouble val) -{ - DV (g_print (" Setting adj to raw value %g\n", val)); - - /* We don't really want to clamp to upper; we want to clamp to - upper - page_size which is the highest value the scrollbar - will let us reach. */ - if (val > (adj->upper - adj->page_size)) - val = adj->upper - adj->page_size; - - if (val < adj->lower) - val = adj->lower; - - if (val != adj->value) - { - DV (g_print (" Setting adj to clamped value %g\n", val)); - gtk_adjustment_set_value (adj, val); - return TRUE; - } - else - return FALSE; -} - /** * gtk_text_view_scroll_to_iter: * @text_view: a #GtkTextView @@ -1926,8 +1902,8 @@ gtk_text_view_scroll_to_iter (GtkTextView *text_view, if (scroll_inc != 0) { - retval = set_adjustment_clamped (text_view->priv->vadjustment, - current_y_scroll + scroll_inc); + gtk_adjustment_set_value (text_view->priv->vadjustment, + current_y_scroll + scroll_inc); DV (g_print (" vert increment %d\n", scroll_inc)); } @@ -1963,12 +1939,15 @@ gtk_text_view_scroll_to_iter (GtkTextView *text_view, if (scroll_inc != 0) { - retval = set_adjustment_clamped (text_view->priv->hadjustment, - current_x_scroll + scroll_inc); + gtk_adjustment_set_value (text_view->priv->hadjustment, + current_x_scroll + scroll_inc); DV (g_print (" horiz increment %d\n", scroll_inc)); } + retval = (current_y_scroll != gtk_adjustment_get_value (text_view->priv->vadjustment)) + || (current_x_scroll != gtk_adjustment_get_value (text_view->priv->hadjustment)); + if (retval) { DV(g_print (">Actually scrolled ("G_STRLOC")\n")); @@ -5247,6 +5226,7 @@ gtk_text_view_move_cursor_internal (GtkTextView *text_view, if (!priv->cursor_visible) { GtkScrollStep scroll_step; + gdouble old_xpos, old_ypos; switch (step) { @@ -5281,14 +5261,15 @@ gtk_text_view_move_cursor_internal (GtkTextView *text_view, break; } - if (!gtk_text_view_move_viewport (text_view, scroll_step, count)) + old_xpos = priv->xoffset; + old_ypos = priv->yoffset; + gtk_text_view_move_viewport (text_view, scroll_step, count); + if ((old_xpos != priv->xoffset || old_ypos != priv->yoffset) && + leave_direction != -1 && + !gtk_widget_keynav_failed (GTK_WIDGET (text_view), + leave_direction)) { - if (leave_direction != -1 && - !gtk_widget_keynav_failed (GTK_WIDGET (text_view), - leave_direction)) - { - g_signal_emit_by_name (text_view, "move-focus", leave_direction); - } + g_signal_emit_by_name (text_view, "move-focus", leave_direction); } return; @@ -5483,7 +5464,7 @@ gtk_text_view_move_cursor (GtkTextView *text_view, gtk_text_view_move_cursor_internal (text_view, step, count, extend_selection); } -static gboolean +static void gtk_text_view_move_viewport (GtkTextView *text_view, GtkScrollStep step, gint count) @@ -5527,7 +5508,7 @@ gtk_text_view_move_viewport (GtkTextView *text_view, break; } - return set_adjustment_clamped (adjustment, gtk_adjustment_get_value (adjustment) + count * increment); + gtk_adjustment_set_value (adjustment, gtk_adjustment_get_value (adjustment) + count * increment); } static void @@ -5547,7 +5528,7 @@ gtk_text_view_scroll_pages (GtkTextView *text_view, gboolean extend_selection) { GtkTextViewPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gint cursor_x_pos, cursor_y_pos; GtkTextMark *insert_mark; GtkTextIter old_insert; @@ -5561,7 +5542,7 @@ gtk_text_view_scroll_pages (GtkTextView *text_view, g_return_val_if_fail (priv->vadjustment != NULL, FALSE); - adj = priv->vadjustment; + adjustment = priv->vadjustment; insert_mark = gtk_text_buffer_get_insert (get_buffer (text_view)); @@ -5582,13 +5563,13 @@ gtk_text_view_scroll_pages (GtkTextView *text_view, if (count < 0) { gtk_text_view_get_first_para_iter (text_view, &anchor); - y0 = adj->page_size; - y1 = adj->page_size + count * adj->page_increment; + y0 = gtk_adjustment_get_page_size (adjustment); + y1 = gtk_adjustment_get_page_size (adjustment) + count * gtk_adjustment_get_page_increment (adjustment); } else { gtk_text_view_get_first_para_iter (text_view, &anchor); - y0 = count * adj->page_increment + adj->page_size; + y0 = count * gtk_adjustment_get_page_increment (adjustment) + gtk_adjustment_get_page_size (adjustment); y1 = 0; } @@ -5597,13 +5578,13 @@ gtk_text_view_scroll_pages (GtkTextView *text_view, new_insert = old_insert; - if (count < 0 && adj->value <= (adj->lower + 1e-12)) + if (count < 0 && gtk_adjustment_get_value (adjustment) <= (gtk_adjustment_get_lower (adjustment) + 1e-12)) { /* already at top, just be sure we are at offset 0 */ gtk_text_buffer_get_start_iter (get_buffer (text_view), &new_insert); move_cursor (text_view, &new_insert, extend_selection); } - else if (count > 0 && adj->value >= (adj->upper - adj->page_size - 1e-12)) + else if (count > 0 && gtk_adjustment_get_value (adjustment) >= (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment) - 1e-12)) { /* already at bottom, just be sure we are at the end */ gtk_text_buffer_get_end_iter (get_buffer (text_view), &new_insert); @@ -5613,13 +5594,13 @@ gtk_text_view_scroll_pages (GtkTextView *text_view, { gtk_text_view_get_virtual_cursor_pos (text_view, NULL, &cursor_x_pos, &cursor_y_pos); - oldval = adj->value; - newval = adj->value; + oldval = gtk_adjustment_get_value (adjustment); + newval = gtk_adjustment_get_value (adjustment); - newval += count * adj->page_increment; + newval += count * gtk_adjustment_get_page_increment (adjustment); - set_adjustment_clamped (adj, newval); - cursor_y_pos += adj->value - oldval; + gtk_adjustment_set_value (adjustment, newval); + cursor_y_pos += gtk_adjustment_get_value (adjustment) - oldval; gtk_text_layout_get_iter_at_pixel (priv->layout, &new_insert, cursor_x_pos, cursor_y_pos); clamp_iter_onscreen (text_view, &new_insert); @@ -5643,7 +5624,7 @@ gtk_text_view_scroll_hpages (GtkTextView *text_view, gboolean extend_selection) { GtkTextViewPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gint cursor_x_pos, cursor_y_pos; GtkTextMark *insert_mark; GtkTextIter old_insert; @@ -5656,7 +5637,7 @@ gtk_text_view_scroll_hpages (GtkTextView *text_view, g_return_val_if_fail (priv->hadjustment != NULL, FALSE); - adj = priv->hadjustment; + adjustment = priv->hadjustment; insert_mark = gtk_text_buffer_get_insert (get_buffer (text_view)); @@ -5680,13 +5661,13 @@ gtk_text_view_scroll_hpages (GtkTextView *text_view, new_insert = old_insert; - if (count < 0 && adj->value <= (adj->lower + 1e-12)) + if (count < 0 && gtk_adjustment_get_value (adjustment) <= (gtk_adjustment_get_lower (adjustment) + 1e-12)) { /* already at far left, just be sure we are at offset 0 */ gtk_text_iter_set_line_offset (&new_insert, 0); move_cursor (text_view, &new_insert, extend_selection); } - else if (count > 0 && adj->value >= (adj->upper - adj->page_size - 1e-12)) + else if (count > 0 && gtk_adjustment_get_value (adjustment) >= (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment) - 1e-12)) { /* already at far right, just be sure we are at the end */ if (!gtk_text_iter_ends_line (&new_insert)) @@ -5697,13 +5678,13 @@ gtk_text_view_scroll_hpages (GtkTextView *text_view, { gtk_text_view_get_virtual_cursor_pos (text_view, NULL, &cursor_x_pos, &cursor_y_pos); - oldval = adj->value; - newval = adj->value; + oldval = gtk_adjustment_get_value (adjustment); + newval = gtk_adjustment_get_value (adjustment); - newval += count * adj->page_increment; + newval += count * gtk_adjustment_get_page_increment (adjustment); - set_adjustment_clamped (adj, newval); - cursor_x_pos += adj->value - oldval; + gtk_adjustment_set_value (adjustment, newval); + cursor_x_pos += gtk_adjustment_get_value (adjustment) - oldval; gtk_text_layout_get_iter_at_pixel (priv->layout, &new_insert, cursor_x_pos, cursor_y_pos); clamp_iter_onscreen (text_view, &new_insert); @@ -6201,12 +6182,12 @@ selection_scan_timeout (gpointer data) #define LOWER_OFFSET_ANCHOR 0.2 static gboolean -check_scroll (gdouble offset, GtkAdjustment *adj) +check_scroll (gdouble offset, GtkAdjustment *adjustment) { if ((offset > UPPER_OFFSET_ANCHOR && - adj->value + adj->page_size < adj->upper) || + gtk_adjustment_get_value (adjustment) + gtk_adjustment_get_page_size (adjustment) < gtk_adjustment_get_upper (adjustment)) || (offset < LOWER_OFFSET_ANCHOR && - adj->value > adj->lower)) + gtk_adjustment_get_value (adjustment) > gtk_adjustment_get_lower (adjustment))) return TRUE; return FALSE; @@ -7525,7 +7506,7 @@ adjust_allocation (GtkWidget *widget, } static void -gtk_text_view_value_changed (GtkAdjustment *adj, +gtk_text_view_value_changed (GtkAdjustment *adjustment, GtkTextView *text_view) { GtkTextViewPrivate *priv; @@ -7536,20 +7517,20 @@ gtk_text_view_value_changed (GtkAdjustment *adj, priv = text_view->priv; - /* Note that we oddly call this function with adj == NULL + /* Note that we oddly call this function with adjustment == NULL * sometimes */ priv->onscreen_validated = FALSE; DV(g_print(">Scroll offset changed %s/%g, onscreen_validated = FALSE ("G_STRLOC")\n", - adj == priv->hadjustment ? "hadj" : adj == priv->vadjustment ? "vadj" : "none", - adj ? adj->value : 0.0)); + adjustment == priv->hadjustment ? "hadjustment" : adjustment == priv->vadjustment ? "vadjustment" : "none", + adjustment ? gtk_adjustment_get_value (adjustment) : 0.0)); - if (adj == priv->hadjustment) + if (adjustment == priv->hadjustment) { - dx = priv->xoffset - (gint)adj->value; - priv->xoffset = adj->value; + dx = priv->xoffset - (gint)gtk_adjustment_get_value (adjustment); + priv->xoffset = gtk_adjustment_get_value (adjustment); /* If the change is due to a size change we need * to invalidate the entire text window because there might be @@ -7563,18 +7544,18 @@ gtk_text_view_value_changed (GtkAdjustment *adj, priv->width_changed = FALSE; } } - else if (adj == priv->vadjustment) + else if (adjustment == priv->vadjustment) { - dy = priv->yoffset - (gint)adj->value; - priv->yoffset = adj->value; + dy = priv->yoffset - (gint)gtk_adjustment_get_value (adjustment); + priv->yoffset = gtk_adjustment_get_value (adjustment); if (priv->layout) { - gtk_text_layout_get_line_at_y (priv->layout, &iter, adj->value, &line_top); + gtk_text_layout_get_line_at_y (priv->layout, &iter, gtk_adjustment_get_value (adjustment), &line_top); gtk_text_buffer_move_mark (get_buffer (text_view), priv->first_para_mark, &iter); - priv->first_para_pixels = adj->value - line_top; + priv->first_para_pixels = gtk_adjustment_get_value (adjustment) - line_top; } } From f79c6baa660fd37d2407dba2a8e322bded1656fa Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:02:10 +0100 Subject: [PATCH 1197/1463] scalebutton: Update adjustment usage for sealing Also rename all variables named "adj" to "adjustment", like they're called everywhere else. --- gtk/gtkscalebutton.c | 62 ++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/gtk/gtkscalebutton.c b/gtk/gtkscalebutton.c index 78d01ac362..7be5660ead 100644 --- a/gtk/gtkscalebutton.c +++ b/gtk/gtkscalebutton.c @@ -577,12 +577,12 @@ gtk_scale_button_new (GtkIconSize size, const gchar **icons) { GtkScaleButton *button; - GtkAdjustment *adj; + GtkAdjustment *adjustment; - adj = gtk_adjustment_new (min, min, max, step, 10 * step, 0); + adjustment = gtk_adjustment_new (min, min, max, step, 10 * step, 0); button = g_object_new (GTK_TYPE_SCALE_BUTTON, - "adjustment", adj, + "adjustment", adjustment, "icons", icons, "size", size, NULL); @@ -834,12 +834,12 @@ gtk_scale_button_scroll (GtkWidget *widget, { GtkScaleButton *button; GtkScaleButtonPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gdouble d; button = GTK_SCALE_BUTTON (widget); priv = button->priv; - adj = priv->adjustment; + adjustment = priv->adjustment; if (event->type != GDK_SCROLL) return FALSE; @@ -847,15 +847,15 @@ gtk_scale_button_scroll (GtkWidget *widget, d = gtk_scale_button_get_value (button); if (event->direction == GDK_SCROLL_UP) { - d += adj->step_increment; - if (d > adj->upper) - d = adj->upper; + d += gtk_adjustment_get_step_increment (adjustment); + if (d > gtk_adjustment_get_upper (adjustment)) + d = gtk_adjustment_get_upper (adjustment); } else { - d -= adj->step_increment; - if (d < adj->lower) - d = adj->lower; + d -= gtk_adjustment_get_step_increment (adjustment); + if (d < gtk_adjustment_get_lower (adjustment)) + d = gtk_adjustment_get_lower (adjustment); } gtk_scale_button_set_value (button, d); @@ -897,7 +897,7 @@ gtk_scale_popup (GtkWidget *widget, GtkAllocation allocation, dock_allocation, scale_allocation; GtkScaleButton *button; GtkScaleButtonPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gint x, y, m, dx, dy, sx, sy, startoff; gint min_slider_size; gdouble v; @@ -909,7 +909,7 @@ gtk_scale_popup (GtkWidget *widget, is_moved = FALSE; button = GTK_SCALE_BUTTON (widget); priv = button->priv; - adj = priv->adjustment; + adjustment = priv->adjustment; display = gtk_widget_get_display (widget); screen = gtk_widget_get_screen (widget); @@ -946,7 +946,7 @@ gtk_scale_popup (GtkWidget *widget, priv->timeout = TRUE; /* position (needs widget to be shown already) */ - v = gtk_scale_button_get_value (button) / (adj->upper - adj->lower); + v = gtk_scale_button_get_value (button) / (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment)); min_slider_size = gtk_range_get_min_slider_size (GTK_RANGE (priv->scale)); if (priv->orientation == GTK_ORIENTATION_VERTICAL) @@ -1192,7 +1192,7 @@ cb_button_timeout (gpointer user_data) { GtkScaleButton *button; GtkScaleButtonPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gdouble val; gboolean res = TRUE; @@ -1202,19 +1202,19 @@ cb_button_timeout (gpointer user_data) if (priv->click_id == 0) return FALSE; - adj = priv->adjustment; + adjustment = priv->adjustment; val = gtk_scale_button_get_value (button); val += priv->direction; - if (val <= adj->lower) + if (val <= gtk_adjustment_get_lower (adjustment)) { res = FALSE; - val = adj->lower; + val = gtk_adjustment_get_lower (adjustment); } - else if (val > adj->upper) + else if (val > gtk_adjustment_get_upper (adjustment)) { res = FALSE; - val = adj->upper; + val = gtk_adjustment_get_upper (adjustment); } gtk_scale_button_set_value (button, val); @@ -1234,19 +1234,19 @@ cb_button_press (GtkWidget *widget, { GtkScaleButton *button; GtkScaleButtonPrivate *priv; - GtkAdjustment *adj; + GtkAdjustment *adjustment; button = GTK_SCALE_BUTTON (user_data); priv = button->priv; - adj = priv->adjustment; + adjustment = priv->adjustment; if (priv->click_id != 0) g_source_remove (priv->click_id); if (widget == priv->plus_button) - priv->direction = fabs (adj->page_increment); + priv->direction = fabs (gtk_adjustment_get_page_increment (adjustment)); else - priv->direction = - fabs (adj->page_increment); + priv->direction = - fabs (gtk_adjustment_get_page_increment (adjustment)); priv->click_id = gdk_threads_add_timeout (priv->click_timeout, cb_button_timeout, @@ -1530,7 +1530,7 @@ gtk_scale_button_update_icon (GtkScaleButton *button) { GtkScaleButtonPrivate *priv; GtkRange *range; - GtkAdjustment *adj; + GtkAdjustment *adjustment; gdouble value; const gchar *name; guint num_icons; @@ -1557,14 +1557,14 @@ gtk_scale_button_update_icon (GtkScaleButton *button) } range = GTK_RANGE (priv->scale); - adj = priv->adjustment; + adjustment = priv->adjustment; value = gtk_scale_button_get_value (button); /* The 2-icons special case */ if (num_icons == 2) { gdouble limit; - limit = (adj->upper - adj->lower) / 2 + adj->lower; + limit = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment)) / 2 + gtk_adjustment_get_lower (adjustment); if (value < limit) name = priv->icon_list[0]; else @@ -1577,11 +1577,11 @@ gtk_scale_button_update_icon (GtkScaleButton *button) } /* With 3 or more icons */ - if (value == adj->lower) + if (value == gtk_adjustment_get_lower (adjustment)) { name = priv->icon_list[0]; } - else if (value == adj->upper) + else if (value == gtk_adjustment_get_upper (adjustment)) { name = priv->icon_list[1]; } @@ -1590,8 +1590,8 @@ gtk_scale_button_update_icon (GtkScaleButton *button) gdouble step; guint i; - step = (adj->upper - adj->lower) / (num_icons - 2); - i = (guint) ((value - adj->lower) / step) + 2; + step = (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment)) / (num_icons - 2); + i = (guint) ((value - gtk_adjustment_get_lower (adjustment)) / step) + 2; g_assert (i < num_icons); name = priv->icon_list[i]; } From e62b39c921c31d1e4225951051b8dbb67bc1f291 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:03:09 +0100 Subject: [PATCH 1198/1463] volumebutton: Update adjustment usage for sealing Also rename all variables named "adj" to "adjustment", like they're called everywhere else. --- gtk/gtkvolumebutton.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/gtkvolumebutton.c b/gtk/gtkvolumebutton.c index 3a196c606d..0415206523 100644 --- a/gtk/gtkvolumebutton.c +++ b/gtk/gtkvolumebutton.c @@ -232,21 +232,21 @@ cb_query_tooltip (GtkWidget *button, gpointer user_data) { GtkScaleButton *scale_button = GTK_SCALE_BUTTON (button); - GtkAdjustment *adj; + GtkAdjustment *adjustment; gdouble val; char *str; AtkImage *image; image = ATK_IMAGE (gtk_widget_get_accessible (button)); - adj = gtk_scale_button_get_adjustment (scale_button); + adjustment = gtk_scale_button_get_adjustment (scale_button); val = gtk_scale_button_get_value (scale_button); - if (val < (adj->lower + EPSILON)) + if (val < (gtk_adjustment_get_lower (adjustment) + EPSILON)) { str = g_strdup (_("Muted")); } - else if (val >= (adj->upper - EPSILON)) + else if (val >= (gtk_adjustment_get_upper (adjustment) - EPSILON)) { str = g_strdup (_("Full Volume")); } @@ -254,7 +254,7 @@ cb_query_tooltip (GtkWidget *button, { int percent; - percent = (int) (100. * val / (adj->upper - adj->lower) + .5); + percent = (int) (100. * val / (gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_lower (adjustment)) + .5); /* Translators: this is the percentage of the current volume, * as used in the tooltip, eg. "49 %". From d5f7b6cd64cec1cd9459fc77e2a1706be1ce2196 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:25:33 +0100 Subject: [PATCH 1199/1463] gtk-demo: Undef GDK_DISABLE_DEPRECATED to make test compile --- demos/gtk-demo/changedisplay.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/demos/gtk-demo/changedisplay.c b/demos/gtk-demo/changedisplay.c index ac467e7385..951d3730ab 100644 --- a/demos/gtk-demo/changedisplay.c +++ b/demos/gtk-demo/changedisplay.c @@ -27,6 +27,9 @@ * - Using GtkDialog */ #include + +#undef GDK_DISABLE_DEPRECATED + #include #include "demo-common.h" From b5333057289406d4692dbe364e0b06b82e9101b8 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:28:36 +0100 Subject: [PATCH 1200/1463] tests: Update prop-editor adjustment usage for sealing --- tests/prop-editor.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/tests/prop-editor.c b/tests/prop-editor.c index 957111eb38..41c61f8af9 100644 --- a/tests/prop-editor.c +++ b/tests/prop-editor.c @@ -159,10 +159,10 @@ int_modified (GtkAdjustment *adj, gpointer data) GtkWidget *parent = gtk_widget_get_parent (widget); gtk_container_child_set (GTK_CONTAINER (parent), - widget, p->spec->name, (int) adj->value, NULL); + widget, p->spec->name, (int) gtk_adjustment_get_value (adj), NULL); } else - g_object_set (p->obj, p->spec->name, (int) adj->value, NULL); + g_object_set (p->obj, p->spec->name, (int) gtk_adjustment_get_value (adj), NULL); } static void @@ -190,7 +190,7 @@ int_changed (GObject *object, GParamSpec *pspec, gpointer data) get_property_value (object, pspec, &val); - if (g_value_get_int (&val) != (int)adj->value) + if (g_value_get_int (&val) != (int)gtk_adjustment_get_value (adj)) { block_controller (G_OBJECT (adj)); gtk_adjustment_set_value (adj, g_value_get_int (&val)); @@ -211,10 +211,10 @@ uint_modified (GtkAdjustment *adj, gpointer data) GtkWidget *parent = gtk_widget_get_parent (widget); gtk_container_child_set (GTK_CONTAINER (parent), - widget, p->spec->name, (guint) adj->value, NULL); + widget, p->spec->name, (guint) gtk_adjustment_get_value (adj), NULL); } else - g_object_set (p->obj, p->spec->name, (guint) adj->value, NULL); + g_object_set (p->obj, p->spec->name, (guint) gtk_adjustment_get_value (adj), NULL); } static void @@ -226,7 +226,7 @@ uint_changed (GObject *object, GParamSpec *pspec, gpointer data) g_value_init (&val, G_TYPE_UINT); get_property_value (object, pspec, &val); - if (g_value_get_uint (&val) != (guint)adj->value) + if (g_value_get_uint (&val) != (guint)gtk_adjustment_get_value (adj)) { block_controller (G_OBJECT (adj)); gtk_adjustment_set_value (adj, g_value_get_uint (&val)); @@ -247,10 +247,10 @@ float_modified (GtkAdjustment *adj, gpointer data) GtkWidget *parent = gtk_widget_get_parent (widget); gtk_container_child_set (GTK_CONTAINER (parent), - widget, p->spec->name, (float) adj->value, NULL); + widget, p->spec->name, (float) gtk_adjustment_get_value (adj), NULL); } else - g_object_set (p->obj, p->spec->name, (float) adj->value, NULL); + g_object_set (p->obj, p->spec->name, (float) gtk_adjustment_get_value (adj), NULL); } static void @@ -262,7 +262,7 @@ float_changed (GObject *object, GParamSpec *pspec, gpointer data) g_value_init (&val, G_TYPE_FLOAT); get_property_value (object, pspec, &val); - if (g_value_get_float (&val) != (float) adj->value) + if (g_value_get_float (&val) != (float) gtk_adjustment_get_value (adj)) { block_controller (G_OBJECT (adj)); gtk_adjustment_set_value (adj, g_value_get_float (&val)); @@ -283,10 +283,10 @@ double_modified (GtkAdjustment *adj, gpointer data) GtkWidget *parent = gtk_widget_get_parent (widget); gtk_container_child_set (GTK_CONTAINER (parent), - widget, p->spec->name, (double) adj->value, NULL); + widget, p->spec->name, (double) gtk_adjustment_get_value (adj), NULL); } else - g_object_set (p->obj, p->spec->name, (double) adj->value, NULL); + g_object_set (p->obj, p->spec->name, (double) gtk_adjustment_get_value (adj), NULL); } static void @@ -298,7 +298,7 @@ double_changed (GObject *object, GParamSpec *pspec, gpointer data) g_value_init (&val, G_TYPE_DOUBLE); get_property_value (object, pspec, &val); - if (g_value_get_double (&val) != adj->value) + if (g_value_get_double (&val) != gtk_adjustment_get_value (adj)) { block_controller (G_OBJECT (adj)); gtk_adjustment_set_value (adj, g_value_get_double (&val)); From 3d3358b561a897aad60c81ad77a36ec4cc98e52c Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:28:55 +0100 Subject: [PATCH 1201/1463] testgtk: Rename "adj" variables to "adjustment" --- tests/testgtk.c | 120 ++++++++++++++++++++++++------------------------ 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index aee2cedfe0..b0773f5147 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -525,11 +525,11 @@ create_pattern (GtkWidget *widget, #define PATTERN_SIZE (1 << 18) static void -pattern_hadj_changed (GtkAdjustment *adj, +pattern_hadj_changed (GtkAdjustment *adjustment, GtkWidget *darea) { - gint *old_value = g_object_get_data (G_OBJECT (adj), "old-value"); - gint new_value = adj->value; + gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value"); + gint new_value = adjustment->value; if (gtk_widget_get_realized (darea)) { @@ -540,11 +540,11 @@ pattern_hadj_changed (GtkAdjustment *adj, } static void -pattern_vadj_changed (GtkAdjustment *adj, +pattern_vadj_changed (GtkAdjustment *adjustment, GtkWidget *darea) { - gint *old_value = g_object_get_data (G_OBJECT (adj), "old-value"); - gint new_value = adj->value; + gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value"); + gint new_value = adjustment->value; if (gtk_widget_get_realized (darea)) { @@ -572,8 +572,8 @@ create_big_windows (GtkWidget *widget) GtkWidget *content_area; GtkWidget *darea, *table, *scrollbar; GtkWidget *eventbox; - GtkAdjustment *hadj; - GtkAdjustment *vadj; + GtkAdjustment *hadjustment; + GtkAdjustment *vadjustment; static gint current_x; static gint current_y; @@ -608,15 +608,15 @@ create_big_windows (GtkWidget *widget) darea = gtk_drawing_area_new (); - hadj = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); - g_signal_connect (hadj, "value_changed", + hadjustment = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); + g_signal_connect (hadjustment, "value_changed", G_CALLBACK (pattern_hadj_changed), darea); - g_object_set_data (G_OBJECT (hadj), "old-value", ¤t_x); + g_object_set_data (G_OBJECT (hadjustment), "old-value", ¤t_x); - vadj = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); - g_signal_connect (vadj, "value_changed", + vadjustment = gtk_adjustment_new (0, 0, PATTERN_SIZE, 10, 100, 100); + g_signal_connect (vadjustment, "value_changed", G_CALLBACK (pattern_vadj_changed), darea); - g_object_set_data (G_OBJECT (vadj), "old-value", ¤t_y); + g_object_set_data (G_OBJECT (vadjustment), "old-value", ¤t_y); g_signal_connect (darea, "realize", G_CALLBACK (pattern_realize), @@ -630,13 +630,13 @@ create_big_windows (GtkWidget *widget) gtk_container_add (GTK_CONTAINER (eventbox), darea); - scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_HORIZONTAL, hadjustment); gtk_table_attach (GTK_TABLE (table), scrollbar, 0, 1, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0); - scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, vadj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, vadjustment); gtk_table_attach (GTK_TABLE (table), scrollbar, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND | GTK_FILL, @@ -4613,7 +4613,7 @@ create_spins (GtkWidget *widget) GtkWidget *button; GtkWidget *label; GtkWidget *val_label; - GtkAdjustment *adj; + GtkAdjustment *adjustment; if (!window) { @@ -4650,8 +4650,8 @@ create_spins (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0, 0, 1410, 30, 60, 0); - spinner = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (0, 0, 1410, 30, 60, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_editable_set_editable (GTK_EDITABLE (spinner), FALSE); g_signal_connect (spinner, "output", @@ -4668,9 +4668,9 @@ create_spins (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, + adjustment = gtk_adjustment_new (1.0, 1.0, 12.0, 1.0, 5.0, 0.0); - spinner = gtk_spin_button_new (adj, 0, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spinner), GTK_UPDATE_IF_VALID); g_signal_connect (spinner, @@ -4692,8 +4692,8 @@ create_spins (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0, 0, 255, 1, 16, 0); - spinner = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (0, 0, 255, 1, 16, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_editable_set_editable (GTK_EDITABLE (spinner), TRUE); g_signal_connect (spinner, "input", @@ -4724,9 +4724,9 @@ create_spins (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0.0, -10000.0, 10000.0, + adjustment = gtk_adjustment_new (0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0); - spinner1 = gtk_spin_button_new (adj, 1.0, 2); + spinner1 = gtk_spin_button_new (adjustment, 1.0, 2); gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spinner1), TRUE); gtk_box_pack_start (GTK_BOX (vbox2), spinner1, FALSE, TRUE, 0); @@ -4737,9 +4737,9 @@ create_spins (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (vbox2), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (2, 1, 15, 1, 1, 0); - spinner2 = gtk_spin_button_new (adj, 0.0, 0); - g_signal_connect (adj, "value_changed", + adjustment = gtk_adjustment_new (2, 1, 15, 1, 1, 0); + spinner2 = gtk_spin_button_new (adjustment, 0.0, 0); + g_signal_connect (adjustment, "value_changed", G_CALLBACK (change_digits), spinner2); gtk_box_pack_start (GTK_BOX (vbox2), spinner2, FALSE, TRUE, 0); @@ -4937,7 +4937,7 @@ create_cursors (GtkWidget *widget) GtkWidget *button; GtkWidget *label; GtkWidget *any; - GtkAdjustment *adj; + GtkAdjustment *adjustment; GtkWidget *entry; GtkWidget *size; @@ -4997,11 +4997,11 @@ create_cursors (GtkWidget *widget) gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, TRUE, 0); - adj = gtk_adjustment_new (0, + adjustment = gtk_adjustment_new (0, 0, 152, 2, 10, 0); - spinner = gtk_spin_button_new (adj, 0, 0); + spinner = gtk_spin_button_new (adjustment, 0, 0); gtk_box_pack_start (GTK_BOX (hbox), spinner, TRUE, TRUE, 0); frame = @@ -7922,7 +7922,7 @@ window_controls (GtkWidget *window) GtkWidget *vbox; GtkWidget *button; GtkWidget *spin; - GtkAdjustment *adj; + GtkAdjustment *adjustment; GtkWidget *entry; GtkWidget *om; gint i; @@ -7956,15 +7956,15 @@ window_controls (GtkWidget *window) G_CALLBACK (configure_event_callback), label); - adj = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); - spin = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); + spin = gtk_spin_button_new (adjustment, 0, 0); gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, FALSE, 0); g_object_set_data (G_OBJECT (control_window), "spin1", spin); - adj = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); - spin = gtk_spin_button_new (adj, 0, 0); + adjustment = gtk_adjustment_new (10.0, -2000.0, 2000.0, 1.0, 5.0, 0.0); + spin = gtk_spin_button_new (adjustment, 0, 0); gtk_box_pack_start (GTK_BOX (vbox), spin, FALSE, FALSE, 0); @@ -9078,7 +9078,7 @@ static int scroll_test_pos = 0.0; static gint scroll_test_draw (GtkWidget *widget, cairo_t *cr, - GtkAdjustment *adj) + GtkAdjustment *adjustment) { gint i,j; gint imin, imax, jmin, jmax; @@ -9089,13 +9089,13 @@ scroll_test_draw (GtkWidget *widget, imin = (clip.x) / 10; imax = (clip.x + clip.width + 9) / 10; - jmin = ((int)adj->value + clip.y) / 10; - jmax = ((int)adj->value + clip.y + clip.height + 9) / 10; + jmin = ((int)adjustment->value + clip.y) / 10; + jmax = ((int)adjustment->value + clip.y + clip.height + 9) / 10; for (i=imin; ivalue, 1+i%10, 1+j%10); + cairo_rectangle (cr, 10*i, 10*j - (int)adjustment->value, 1+i%10, 1+j%10); cairo_fill (cr); @@ -9104,38 +9104,38 @@ scroll_test_draw (GtkWidget *widget, static gint scroll_test_scroll (GtkWidget *widget, GdkEventScroll *event, - GtkAdjustment *adj) + GtkAdjustment *adjustment) { - gdouble new_value = adj->value + ((event->direction == GDK_SCROLL_UP) ? - -adj->page_increment / 2: - adj->page_increment / 2); - new_value = CLAMP (new_value, adj->lower, adj->upper - adj->page_size); - gtk_adjustment_set_value (adj, new_value); + gdouble new_value = adjustment->value + ((event->direction == GDK_SCROLL_UP) ? + -adjustment->page_increment / 2: + adjustment->page_increment / 2); + new_value = CLAMP (new_value, adjustment->lower, adjustment->upper - adjustment->page_size); + gtk_adjustment_set_value (adjustment, new_value); return TRUE; } static void scroll_test_configure (GtkWidget *widget, GdkEventConfigure *event, - GtkAdjustment *adj) + GtkAdjustment *adjustment) { GtkAllocation allocation; gtk_widget_get_allocation (widget, &allocation); - adj->page_increment = 0.9 * allocation.height; - adj->page_size = allocation.height; + adjustment->page_increment = 0.9 * allocation.height; + adjustment->page_size = allocation.height; - g_signal_emit_by_name (adj, "changed"); + g_signal_emit_by_name (adjustment, "changed"); } static void -scroll_test_adjustment_changed (GtkAdjustment *adj, GtkWidget *widget) +scroll_test_adjustment_changed (GtkAdjustment *adjustment, GtkWidget *widget) { GdkWindow *window; gint dy; - dy = scroll_test_pos - (int)adj->value; - scroll_test_pos = adj->value; + dy = scroll_test_pos - (int)adjustment->value; + scroll_test_pos = adjustment->value; if (!gtk_widget_is_drawable (widget)) return; @@ -9155,7 +9155,7 @@ create_scroll_test (GtkWidget *widget) GtkWidget *drawing_area; GtkWidget *scrollbar; GtkWidget *button; - GtkAdjustment *adj; + GtkAdjustment *adjustment; GdkGeometry geometry; GdkWindowHints geometry_mask; @@ -9187,21 +9187,21 @@ create_scroll_test (GtkWidget *widget) gtk_widget_set_events (drawing_area, GDK_EXPOSURE_MASK | GDK_SCROLL_MASK); - adj = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0); + adjustment = gtk_adjustment_new (0.0, 0.0, 1000.0, 1.0, 180.0, 200.0); scroll_test_pos = 0.0; - scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adj); + scrollbar = gtk_scrollbar_new (GTK_ORIENTATION_VERTICAL, adjustment); gtk_box_pack_start (GTK_BOX (hbox), scrollbar, FALSE, FALSE, 0); gtk_widget_show (scrollbar); g_signal_connect (drawing_area, "draw", - G_CALLBACK (scroll_test_draw), adj); + G_CALLBACK (scroll_test_draw), adjustment); g_signal_connect (drawing_area, "configure_event", - G_CALLBACK (scroll_test_configure), adj); + G_CALLBACK (scroll_test_configure), adjustment); g_signal_connect (drawing_area, "scroll_event", - G_CALLBACK (scroll_test_scroll), adj); + G_CALLBACK (scroll_test_scroll), adjustment); - g_signal_connect (adj, "value_changed", + g_signal_connect (adjustment, "value_changed", G_CALLBACK (scroll_test_adjustment_changed), drawing_area); From e1cb1b89d84502c001a060164c2f76f91304e563 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:33:50 +0100 Subject: [PATCH 1202/1463] testgtk: Update adjustment usage for sealing --- tests/testgtk.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/tests/testgtk.c b/tests/testgtk.c index b0773f5147..7b90a4242e 100644 --- a/tests/testgtk.c +++ b/tests/testgtk.c @@ -529,7 +529,7 @@ pattern_hadj_changed (GtkAdjustment *adjustment, GtkWidget *darea) { gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value"); - gint new_value = adjustment->value; + gint new_value = gtk_adjustment_get_value (adjustment); if (gtk_widget_get_realized (darea)) { @@ -544,7 +544,7 @@ pattern_vadj_changed (GtkAdjustment *adjustment, GtkWidget *darea) { gint *old_value = g_object_get_data (G_OBJECT (adjustment), "old-value"); - gint new_value = adjustment->value; + gint new_value = gtk_adjustment_get_value (adjustment); if (gtk_widget_get_realized (darea)) { @@ -9089,13 +9089,13 @@ scroll_test_draw (GtkWidget *widget, imin = (clip.x) / 10; imax = (clip.x + clip.width + 9) / 10; - jmin = ((int)adjustment->value + clip.y) / 10; - jmax = ((int)adjustment->value + clip.y + clip.height + 9) / 10; + jmin = ((int)gtk_adjustment_get_value (adjustment) + clip.y) / 10; + jmax = ((int)gtk_adjustment_get_value (adjustment) + clip.y + clip.height + 9) / 10; for (i=imin; ivalue, 1+i%10, 1+j%10); + cairo_rectangle (cr, 10*i, 10*j - (int)gtk_adjustment_get_value (adjustment), 1+i%10, 1+j%10); cairo_fill (cr); @@ -9106,10 +9106,10 @@ static gint scroll_test_scroll (GtkWidget *widget, GdkEventScroll *event, GtkAdjustment *adjustment) { - gdouble new_value = adjustment->value + ((event->direction == GDK_SCROLL_UP) ? - -adjustment->page_increment / 2: - adjustment->page_increment / 2); - new_value = CLAMP (new_value, adjustment->lower, adjustment->upper - adjustment->page_size); + gdouble new_value = gtk_adjustment_get_value (adjustment) + ((event->direction == GDK_SCROLL_UP) ? + -gtk_adjustment_get_page_increment (adjustment) / 2: + gtk_adjustment_get_page_increment (adjustment) / 2); + new_value = CLAMP (new_value, gtk_adjustment_get_lower (adjustment), gtk_adjustment_get_upper (adjustment) - gtk_adjustment_get_page_size (adjustment)); gtk_adjustment_set_value (adjustment, new_value); return TRUE; @@ -9122,10 +9122,13 @@ scroll_test_configure (GtkWidget *widget, GdkEventConfigure *event, GtkAllocation allocation; gtk_widget_get_allocation (widget, &allocation); - adjustment->page_increment = 0.9 * allocation.height; - adjustment->page_size = allocation.height; - - g_signal_emit_by_name (adjustment, "changed"); + gtk_adjustment_configure (adjustment, + gtk_adjustment_get_value (adjustment), + gtk_adjustment_get_lower (adjustment), + gtk_adjustment_get_upper (adjustment), + 0.1 * allocation.height, + 0.9 * allocation.height, + allocation.height); } static void @@ -9134,8 +9137,8 @@ scroll_test_adjustment_changed (GtkAdjustment *adjustment, GtkWidget *widget) GdkWindow *window; gint dy; - dy = scroll_test_pos - (int)adjustment->value; - scroll_test_pos = adjustment->value; + dy = scroll_test_pos - (int)gtk_adjustment_get_value (adjustment); + scroll_test_pos = gtk_adjustment_get_value (adjustment); if (!gtk_widget_is_drawable (widget)) return; From 96091a4d9c20ddea7fa07b26a34b735a2b751234 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:03:57 +0100 Subject: [PATCH 1203/1463] adjustment: Privateize sealed members --- gtk/gtkadjustment.c | 100 ++++++++++++++++++++++++++------------------ gtk/gtkadjustment.h | 12 ++---- 2 files changed, 64 insertions(+), 48 deletions(-) diff --git a/gtk/gtkadjustment.c b/gtk/gtkadjustment.c index ae5e2926b2..40329a4ef3 100644 --- a/gtk/gtkadjustment.c +++ b/gtk/gtkadjustment.c @@ -52,6 +52,15 @@ */ +struct _GtkAdjustmentPrivate { + gdouble lower; + gdouble upper; + gdouble value; + gdouble step_increment; + gdouble page_increment; + gdouble page_size; +}; + enum { PROP_0, @@ -239,17 +248,16 @@ gtk_adjustment_class_init (GtkAdjustmentClass *class) NULL, NULL, _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + + g_type_class_add_private (class, sizeof (GtkAdjustmentPrivate)); } static void gtk_adjustment_init (GtkAdjustment *adjustment) { - adjustment->value = 0.0; - adjustment->lower = 0.0; - adjustment->upper = 0.0; - adjustment->step_increment = 0.0; - adjustment->page_increment = 0.0; - adjustment->page_size = 0.0; + adjustment->priv = G_TYPE_INSTANCE_GET_PRIVATE (adjustment, + GTK_TYPE_ADJUSTMENT, + GtkAdjustmentPrivate); } static void @@ -259,26 +267,27 @@ gtk_adjustment_get_property (GObject *object, GParamSpec *pspec) { GtkAdjustment *adjustment = GTK_ADJUSTMENT (object); + GtkAdjustmentPrivate *priv = adjustment->priv; switch (prop_id) { case PROP_VALUE: - g_value_set_double (value, adjustment->value); + g_value_set_double (value, priv->value); break; case PROP_LOWER: - g_value_set_double (value, adjustment->lower); + g_value_set_double (value, priv->lower); break; case PROP_UPPER: - g_value_set_double (value, adjustment->upper); + g_value_set_double (value, priv->upper); break; case PROP_STEP_INCREMENT: - g_value_set_double (value, adjustment->step_increment); + g_value_set_double (value, priv->step_increment); break; case PROP_PAGE_INCREMENT: - g_value_set_double (value, adjustment->page_increment); + g_value_set_double (value, priv->page_increment); break; case PROP_PAGE_SIZE: - g_value_set_double (value, adjustment->page_size); + g_value_set_double (value, priv->page_size); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -294,6 +303,7 @@ gtk_adjustment_set_property (GObject *object, { GtkAdjustment *adjustment = GTK_ADJUSTMENT (object); gdouble double_value = g_value_get_double (value); + GtkAdjustmentPrivate *priv = adjustment->priv; switch (prop_id) { @@ -301,19 +311,19 @@ gtk_adjustment_set_property (GObject *object, gtk_adjustment_set_value (adjustment, double_value); break; case PROP_LOWER: - adjustment->lower = double_value; + priv->lower = double_value; break; case PROP_UPPER: - adjustment->upper = double_value; + priv->upper = double_value; break; case PROP_STEP_INCREMENT: - adjustment->step_increment = double_value; + priv->step_increment = double_value; break; case PROP_PAGE_INCREMENT: - adjustment->page_increment = double_value; + priv->page_increment = double_value; break; case PROP_PAGE_SIZE: - adjustment->page_size = double_value; + priv->page_size = double_value; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -397,7 +407,7 @@ gtk_adjustment_get_value (GtkAdjustment *adjustment) { g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0); - return adjustment->value; + return adjustment->priv->value; } /** @@ -416,17 +426,21 @@ void gtk_adjustment_set_value (GtkAdjustment *adjustment, gdouble value) { + GtkAdjustmentPrivate *priv; + g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); + priv = adjustment->priv; + /* don't use CLAMP() so we don't end up below lower if upper - page_size * is smaller than lower */ - value = MIN (value, adjustment->upper - adjustment->page_size); - value = MAX (value, adjustment->lower); + value = MIN (value, priv->upper - priv->page_size); + value = MAX (value, priv->lower); - if (value != adjustment->value) + if (value != priv->value) { - adjustment->value = value; + priv->value = value; gtk_adjustment_value_changed (adjustment); } @@ -447,7 +461,7 @@ gtk_adjustment_get_lower (GtkAdjustment *adjustment) { g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0); - return adjustment->lower; + return adjustment->priv->lower; } /** @@ -477,7 +491,7 @@ gtk_adjustment_set_lower (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (lower != adjustment->lower) + if (lower != adjustment->priv->lower) g_object_set (adjustment, "lower", lower, NULL); } @@ -496,7 +510,7 @@ gtk_adjustment_get_upper (GtkAdjustment *adjustment) { g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0); - return adjustment->upper; + return adjustment->priv->upper; } /** @@ -522,7 +536,7 @@ gtk_adjustment_set_upper (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (upper != adjustment->upper) + if (upper != adjustment->priv->upper) g_object_set (adjustment, "upper", upper, NULL); } @@ -541,7 +555,7 @@ gtk_adjustment_get_step_increment (GtkAdjustment *adjustment) { g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0); - return adjustment->step_increment; + return adjustment->priv->step_increment; } /** @@ -563,7 +577,7 @@ gtk_adjustment_set_step_increment (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (step_increment != adjustment->step_increment) + if (step_increment != adjustment->priv->step_increment) g_object_set (adjustment, "step-increment", step_increment, NULL); } @@ -582,7 +596,7 @@ gtk_adjustment_get_page_increment (GtkAdjustment *adjustment) { g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0); - return adjustment->page_increment; + return adjustment->priv->page_increment; } /** @@ -604,7 +618,7 @@ gtk_adjustment_set_page_increment (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (page_increment != adjustment->page_increment) + if (page_increment != adjustment->priv->page_increment) g_object_set (adjustment, "page-increment", page_increment, NULL); } @@ -623,7 +637,7 @@ gtk_adjustment_get_page_size (GtkAdjustment *adjustment) { g_return_val_if_fail (GTK_IS_ADJUSTMENT (adjustment), 0.0); - return adjustment->page_size; + return adjustment->priv->page_size; } /** @@ -645,7 +659,7 @@ gtk_adjustment_set_page_size (GtkAdjustment *adjustment, { g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - if (page_size != adjustment->page_size) + if (page_size != adjustment->priv->page_size) g_object_set (adjustment, "page-size", page_size, NULL); } @@ -676,11 +690,14 @@ gtk_adjustment_configure (GtkAdjustment *adjustment, gdouble page_increment, gdouble page_size) { + GtkAdjustmentPrivate *priv; gboolean value_changed = FALSE; guint64 old_stamp = adjustment_changed_stamp; g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); + priv = adjustment->priv; + g_object_freeze_notify (G_OBJECT (adjustment)); g_object_set (adjustment, @@ -697,12 +714,12 @@ gtk_adjustment_configure (GtkAdjustment *adjustment, value = MIN (value, upper - page_size); value = MAX (value, lower); - if (value != adjustment->value) + if (value != priv->value) { /* set value manually to make sure "changed" is emitted with the * new value in place and is emitted before "value-changed" */ - adjustment->value = value; + priv->value = value; value_changed = TRUE; } @@ -766,23 +783,26 @@ gtk_adjustment_clamp_page (GtkAdjustment *adjustment, gdouble lower, gdouble upper) { + GtkAdjustmentPrivate *priv; gboolean need_emission; g_return_if_fail (GTK_IS_ADJUSTMENT (adjustment)); - lower = CLAMP (lower, adjustment->lower, adjustment->upper); - upper = CLAMP (upper, adjustment->lower, adjustment->upper); + priv = adjustment->priv; + + lower = CLAMP (lower, priv->lower, priv->upper); + upper = CLAMP (upper, priv->lower, priv->upper); need_emission = FALSE; - if (adjustment->value + adjustment->page_size < upper) + if (priv->value + priv->page_size < upper) { - adjustment->value = upper - adjustment->page_size; + priv->value = upper - priv->page_size; need_emission = TRUE; } - if (adjustment->value > lower) + if (priv->value > lower) { - adjustment->value = lower; + priv->value = lower; need_emission = TRUE; } diff --git a/gtk/gtkadjustment.h b/gtk/gtkadjustment.h index 319953b342..dafd8ce4b8 100644 --- a/gtk/gtkadjustment.h +++ b/gtk/gtkadjustment.h @@ -43,8 +43,9 @@ G_BEGIN_DECLS #define GTK_ADJUSTMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ADJUSTMENT, GtkAdjustmentClass)) -typedef struct _GtkAdjustment GtkAdjustment; -typedef struct _GtkAdjustmentClass GtkAdjustmentClass; +typedef struct _GtkAdjustment GtkAdjustment; +typedef struct _GtkAdjustmentPrivate GtkAdjustmentPrivate; +typedef struct _GtkAdjustmentClass GtkAdjustmentClass; /** * GtkAdjustment: @@ -66,12 +67,7 @@ struct _GtkAdjustment { GInitiallyUnowned parent_instance; - gdouble GSEAL (lower); - gdouble GSEAL (upper); - gdouble GSEAL (value); - gdouble GSEAL (step_increment); - gdouble GSEAL (page_increment); - gdouble GSEAL (page_size); + GtkAdjustmentPrivate *priv; }; struct _GtkAdjustmentClass From 8136481d757d1f8fb4e6aa4505e8a1e423fbb6dc Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:49:14 +0100 Subject: [PATCH 1204/1463] tests: Fix compile warnings for people who don't read gcc output. --- tests/testtreemenu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testtreemenu.c b/tests/testtreemenu.c index 9e223671ba..7701b9dd0d 100644 --- a/tests/testtreemenu.c +++ b/tests/testtreemenu.c @@ -425,7 +425,7 @@ static void tree_menu (void) { GtkWidget *window, *widget; - GtkWidget *menu, *menubar, *vbox, *menuitem; + GtkWidget *menubar, *vbox; GtkCellArea *area; GtkTreeModel *store; From 2e064b337881a326dd84f78f115d74ceb3034eb9 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 5 Jan 2011 23:49:40 +0100 Subject: [PATCH 1205/1463] tests: Port testsocket example to not use deprecated APIs --- tests/testsocket.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/testsocket.c b/tests/testsocket.c index e822e13e32..a17a74970e 100644 --- a/tests/testsocket.c +++ b/tests/testsocket.c @@ -281,13 +281,22 @@ static void grab_window_toggled (GtkToggleButton *button, GtkWidget *widget) { + GdkDevice *device = gtk_get_current_event_device (); + + if (gdk_device_get_source (device) != GDK_SOURCE_KEYBOARD) + device = gdk_device_get_associated_device (device); if (gtk_toggle_button_get_active (button)) { int status; - status = gdk_keyboard_grab (gtk_widget_get_window (widget), - FALSE, GDK_CURRENT_TIME); + status = gdk_device_grab (device, + gtk_widget_get_window (widget), + GDK_OWNERSHIP_NONE, + FALSE, + GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, + NULL, + GDK_CURRENT_TIME); if (status != GDK_GRAB_SUCCESS) g_warning ("Could not grab keyboard! (%s)", grab_string (status)); @@ -295,7 +304,7 @@ grab_window_toggled (GtkToggleButton *button, } else { - gdk_keyboard_ungrab (GDK_CURRENT_TIME); + gdk_device_ungrab (device, GDK_CURRENT_TIME); } } From 53b67b9a7209bf187c2609e15fcb4ee4ee127e53 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 19:00:14 -0500 Subject: [PATCH 1206/1463] Drop the G_SEAL definition from gdkconfig.h All sealed members removed. Yay! --- configure.ac | 9 --------- docs/reference/gtk/migrating-2to3.xml | 9 +++++---- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/configure.ac b/configure.ac index ae75d1e532..31246415f9 100644 --- a/configure.ac +++ b/configure.ac @@ -1546,15 +1546,6 @@ AC_CONFIG_COMMANDS([gdk/gdkconfig.h], [ G_BEGIN_DECLS -#ifndef GSEAL -/* introduce GSEAL() here for all of Gdk and Gtk+ without the need to modify GLib */ -# ifdef GSEAL_ENABLE -# define GSEAL(ident) _g_sealed__ ## ident -# else -# define GSEAL(ident) ident -# endif -#endif /* !GSEAL */ - _______EOF cat >>$outfile <<_______EOF diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index a6f3ca8c36..70d9419f24 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -100,10 +100,11 @@ To ensure that your application does not have problems with this, you - define the preprocessor symbol GSEAL_ENABLE. This - will make the compiler catch all uses of direct access to struct fields - so that you can go through them one by one and replace them with a call - to an accessor function instead. + define the preprocessor symbol GSEAL_ENABLE while + building your application against GTK+ 2.x. This will make the compiler + catch all uses of direct access to struct fields so that you can go + through them one by one and replace them with a call to an accessor + function instead. make CFLAGS+="-DGSEAL_ENABLE" From f4cf52f2cc9fd77c82a2a9566c33c61003b3acac Mon Sep 17 00:00:00 2001 From: A S Alam Date: Thu, 6 Jan 2011 07:16:05 +0530 Subject: [PATCH 1207/1463] Translation: update Punjabi --- po-properties/pa.po | 3110 ++++++++++++++++++++++++------------------- po/pa.po | 1087 ++++++++------- 2 files changed, 2321 insertions(+), 1876 deletions(-) diff --git a/po-properties/pa.po b/po-properties/pa.po index be78b0c0fc..a121fd6ede 100644 --- a/po-properties/pa.po +++ b/po-properties/pa.po @@ -3,15 +3,15 @@ # This file is distributed under the same license as the gtk+-properties.HEAD package. # # Amanpreet Singh Alam , 2004. -# A S Alam , 2005, 2006, 2007, 2009, 2010. +# A S Alam , 2005, 2006, 2007, 2009, 2010, 2011. # ASB , 2007. # Amanpreet Singh Alam , 2009. msgid "" msgstr "" "Project-Id-Version: gtk+-properties.HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-12-23 17:21+0000\n" -"PO-Revision-Date: 2010-12-27 07:20+0530\n" +"POT-Creation-Date: 2011-01-05 17:27+0000\n" +"PO-Revision-Date: 2011-01-06 07:14+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" @@ -21,79 +21,95 @@ msgstr "" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdkdevice.c:96 -msgid "Device Display" -msgstr "ਜੰਤਰ ਡਿਸਪਲੇਅ" - -#: ../gdk/gdkdevice.c:97 -msgid "Display which the device belongs to" -msgstr "ਡਿਸਪਲੇਅ, ਜਿਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਹੈ" - -#: ../gdk/gdkdevice.c:111 -msgid "Device manager" -msgstr "ਜੰਤਰ ਮੈਨੇਜਰ" - -#: ../gdk/gdkdevice.c:112 -msgid "Device manager which the device belongs to" -msgstr "ਜੰਤਰ ਮੈਨੇਜਰ, ਜਿਸ ਨਾਲ ਜੰਤਰ ਸਬੰਧਿਤ ਹੈ" - -#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 -msgid "Device name" -msgstr "ਜੰਤਰ ਨਾਂ" - -#: ../gdk/gdkdevice.c:141 -msgid "Device type" -msgstr "ਜੰਤਰ ਕਿਸਮ" - -#: ../gdk/gdkdevice.c:142 -msgid "Device role in the device manager" -msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਵਿੱਚ ਜੰਤਰ ਰੋਲ" - -#: ../gdk/gdkdevice.c:158 -msgid "Associated device" -msgstr "ਸਬੰਧਿਤ ਜੰਤਰ" - -#: ../gdk/gdkdevice.c:159 -msgid "Associated pointer or keyboard with this device" -msgstr "ਇਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਪੁਆਇੰਟਰ ਜਾਂ ਕੀਬੋਰਡ" - -#: ../gdk/gdkdevice.c:172 -msgid "Input source" -msgstr "ਇੰਪੁੱਟ ਸਰੋਤ" - -#: ../gdk/gdkdevice.c:173 -msgid "Source type for the device" -msgstr "ਜੰਤਰ ਲਈ ਸਰੋਤ ਕਿਸਮ" - -#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 -msgid "Input mode for the device" -msgstr "ਜੰਤਰ ਲਈ ਇੰਪੁੱਟ ਮੋਡ" - -#: ../gdk/gdkdevice.c:204 -msgid "Whether the device has a cursor" -msgstr "ਕੀ ਜੰਤਰ ਲਈ ਕਰਸਰ ਹੈ" - -#: ../gdk/gdkdevice.c:205 -msgid "Whether there is a visible cursor following device motion" -msgstr "ਕੀ ਅੱਗੇ ਦਿੱਤੀ ਜੰਤਰ ਹਲਚਲ ਲਈ ਦਿੱਖ ਕਰਸਰ ਹੈ" - -#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 -msgid "Number of axes in the device" -msgstr "ਜੰਤਰ ਵਿੱਚ ਧੁਰਿਆਂ ਦੀ ਗਿਣਤੀ" - -#: ../gdk/gdkdevicemanager.c:130 +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 msgid "Display" msgstr "ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdevicemanager.c:131 +#: ../gdk/gdkcursor.c:128 +#| msgid "Cursor" +msgid "Cursor type" +msgstr "ਕਰਸਰ ਕਿਸਮ" + +#: ../gdk/gdkcursor.c:129 +#| msgid "Secondary storage type" +msgid "Standard cursor type" +msgstr "ਸੈਕੰਡਰੀ ਕਰਸਰ ਕਿਸਮ" + +#: ../gdk/gdkcursor.c:137 +#| msgid "Display the cell" +msgid "Display of this cursor" +msgstr "ਇਹ ਕਰਸਰ ਵੇਖੋ" + +#: ../gdk/gdkdevice.c:111 +msgid "Device Display" +msgstr "ਜੰਤਰ ਡਿਸਪਲੇਅ" + +#: ../gdk/gdkdevice.c:112 +msgid "Display which the device belongs to" +msgstr "ਡਿਸਪਲੇਅ, ਜਿਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਹੈ" + +#: ../gdk/gdkdevice.c:126 +msgid "Device manager" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ" + +#: ../gdk/gdkdevice.c:127 +msgid "Device manager which the device belongs to" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ, ਜਿਸ ਨਾਲ ਜੰਤਰ ਸਬੰਧਿਤ ਹੈ" + +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 +msgid "Device name" +msgstr "ਜੰਤਰ ਨਾਂ" + +#: ../gdk/gdkdevice.c:156 +msgid "Device type" +msgstr "ਜੰਤਰ ਕਿਸਮ" + +#: ../gdk/gdkdevice.c:157 +msgid "Device role in the device manager" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਵਿੱਚ ਜੰਤਰ ਰੋਲ" + +#: ../gdk/gdkdevice.c:173 +msgid "Associated device" +msgstr "ਸਬੰਧਿਤ ਜੰਤਰ" + +#: ../gdk/gdkdevice.c:174 +msgid "Associated pointer or keyboard with this device" +msgstr "ਇਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਪੁਆਇੰਟਰ ਜਾਂ ਕੀਬੋਰਡ" + +#: ../gdk/gdkdevice.c:187 +msgid "Input source" +msgstr "ਇੰਪੁੱਟ ਸਰੋਤ" + +#: ../gdk/gdkdevice.c:188 +msgid "Source type for the device" +msgstr "ਜੰਤਰ ਲਈ ਸਰੋਤ ਕਿਸਮ" + +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 +msgid "Input mode for the device" +msgstr "ਜੰਤਰ ਲਈ ਇੰਪੁੱਟ ਮੋਡ" + +#: ../gdk/gdkdevice.c:219 +msgid "Whether the device has a cursor" +msgstr "ਕੀ ਜੰਤਰ ਲਈ ਕਰਸਰ ਹੈ" + +#: ../gdk/gdkdevice.c:220 +msgid "Whether there is a visible cursor following device motion" +msgstr "ਕੀ ਅੱਗੇ ਦਿੱਤੀ ਜੰਤਰ ਹਲਚਲ ਲਈ ਦਿੱਖ ਕਰਸਰ ਹੈ" + +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 +msgid "Number of axes in the device" +msgstr "ਜੰਤਰ ਵਿੱਚ ਧੁਰਿਆਂ ਦੀ ਗਿਣਤੀ" + +#: ../gdk/gdkdevicemanager.c:147 msgid "Display for the device manager" msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਲਈ ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdisplaymanager.c:114 +#: ../gdk/gdkdisplaymanager.c:117 msgid "Default Display" msgstr "ਡਿਫਾਲਟ ਡਿਸਪਲੇਅ" -#: ../gdk/gdkdisplaymanager.c:115 +#: ../gdk/gdkdisplaymanager.c:118 msgid "The default display for GDK" msgstr "GDK ਲਈ ਡਿਫਾਲਟ ਡਿਸਪਲੇਅ" @@ -126,6 +142,16 @@ msgstr "ਜੰਤਰ ID" msgid "Device identifier" msgstr "ਜੰਤਰ ਪਛਾਣਕਰਤਾ" +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +#| msgid "mode" +msgid "Opcode" +msgstr "Opcode" + +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +#| msgid "Event base for XInput events" +msgid "Opcode for XInput2 requests" +msgstr "XInput2 ਈਵੈਂਟ ਲਈ Opcode" + #: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "ਈਵੈਂਟ ਬੇਸ" @@ -134,102 +160,101 @@ msgstr "ਈਵੈਂਟ ਬੇਸ" msgid "Event base for XInput events" msgstr "XInput ਈਵੈਂਟ ਲਈ ਈਵੈਂਟ ਬੇਸ" -#: ../gtk/gtkaboutdialog.c:277 +#: ../gtk/gtkaboutdialog.c:276 msgid "Program name" msgstr "ਪਰੋਗਰਾਮ ਨਾਂ" -#: ../gtk/gtkaboutdialog.c:278 +#: ../gtk/gtkaboutdialog.c:277 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" msgstr "ਪਰੋਗਰਾਮ ਦਾ ਨਾਂ ਹੈ। ਜੇਕਰ ਇਹ ਨਾ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਡਿਫਾਲਟ g_get_application_name() ਹੋਵੇਗਾ।" -#: ../gtk/gtkaboutdialog.c:292 +#: ../gtk/gtkaboutdialog.c:291 msgid "Program version" msgstr "ਪਰੋਗਰਾਮ ਵਰਜਨ" -#: ../gtk/gtkaboutdialog.c:293 +#: ../gtk/gtkaboutdialog.c:292 msgid "The version of the program" msgstr "ਪਰੋਗਰਾਮ ਦਾ ਵਰਜਨ ਹੈ" -#: ../gtk/gtkaboutdialog.c:307 +#: ../gtk/gtkaboutdialog.c:306 msgid "Copyright string" msgstr "ਕਾਪੀਰਾਈਟ ਲਾਈਨ" -#: ../gtk/gtkaboutdialog.c:308 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright information for the program" msgstr "ਪਰੋਗਰਾਮ ਬਾਰੇ ਕਾਪੀਰਾਈਟ ਜਾਣਕਾਰੀ ਹੈ" -#: ../gtk/gtkaboutdialog.c:325 +#: ../gtk/gtkaboutdialog.c:324 msgid "Comments string" msgstr "ਟਿੱਪਣੀ ਲਾਈਨ" -#: ../gtk/gtkaboutdialog.c:326 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments about the program" msgstr "ਪਰੋਗਰਾਮ ਬਾਰੇ ਟਿੱਪਣੀ ਹੈ।" -#: ../gtk/gtkaboutdialog.c:376 +#: ../gtk/gtkaboutdialog.c:375 msgid "License Type" msgstr "ਲਾਈਸੈਂਸ ਕਿਸਮ" -#: ../gtk/gtkaboutdialog.c:377 +#: ../gtk/gtkaboutdialog.c:376 msgid "The license type of the program" msgstr "ਪਰੋਗਰਾਮ ਲਈ ਲਾਈਸੈਂਸ ਕਿਸਮ" -#: ../gtk/gtkaboutdialog.c:393 +#: ../gtk/gtkaboutdialog.c:392 msgid "Website URL" msgstr "ਵੈਬਸਾਇਟ URL" -#: ../gtk/gtkaboutdialog.c:394 +#: ../gtk/gtkaboutdialog.c:393 msgid "The URL for the link to the website of the program" msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈੱਬ ਸਾਇਟ ਨਾਲ ਸਬੰਧਤ URL ਹੈ" -#: ../gtk/gtkaboutdialog.c:408 +#: ../gtk/gtkaboutdialog.c:407 msgid "Website label" msgstr "ਵੈਬਸਾਇਟ ਲੇਬਲ" -#: ../gtk/gtkaboutdialog.c:409 -#| msgid "The URL for the link to the website of the program" +#: ../gtk/gtkaboutdialog.c:408 msgid "The label for the link to the website of the program" msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈੱਬ ਸਾਇਟ ਨਾਲ ਲਿੰਕ ਲਈ ਲੇਬਲ ਹੈ" -#: ../gtk/gtkaboutdialog.c:425 +#: ../gtk/gtkaboutdialog.c:424 msgid "Authors" msgstr "ਲੇਖਕ" -#: ../gtk/gtkaboutdialog.c:426 +#: ../gtk/gtkaboutdialog.c:425 msgid "List of authors of the program" msgstr "ਪਰੋਗਰਾਮ ਦੇ ਲੇਖਕਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkaboutdialog.c:442 +#: ../gtk/gtkaboutdialog.c:441 msgid "Documenters" msgstr "ਦਸਤਾਵੇਜ਼ ਲੇਖਕ" -#: ../gtk/gtkaboutdialog.c:443 +#: ../gtk/gtkaboutdialog.c:442 msgid "List of people documenting the program" msgstr "ਪਰੋਗਰਾਮ ਦੇ ਦਸਤਾਵੇਜ਼ ਲਿਖਣ ਵਾਲੇ ਲੇਖਕਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkaboutdialog.c:459 +#: ../gtk/gtkaboutdialog.c:458 msgid "Artists" msgstr "ਕਲਾਕਾਰ" -#: ../gtk/gtkaboutdialog.c:460 +#: ../gtk/gtkaboutdialog.c:459 msgid "List of people who have contributed artwork to the program" msgstr "ਪਰੋਗਰਾਮ ਵਿੱਚ ਕਲਾਕਾਰੀ ਕਰਨ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtkaboutdialog.c:477 +#: ../gtk/gtkaboutdialog.c:476 msgid "Translator credits" msgstr "ਅਨੁਵਾਦ ਮਾਣ" -#: ../gtk/gtkaboutdialog.c:478 +#: ../gtk/gtkaboutdialog.c:477 msgid "Credits to the translators. This string should be marked as translatable" msgstr "ਅਨੁਵਾਦ ਕਰਨ ਵਾਲਿਆਂ ਦਾ ਨਾਂ ਹੈ। ਇਹ ਅਨੁਵਾਦ ਯੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।" -#: ../gtk/gtkaboutdialog.c:493 +#: ../gtk/gtkaboutdialog.c:492 msgid "Logo" msgstr "ਲੋਗੋ" -#: ../gtk/gtkaboutdialog.c:494 +#: ../gtk/gtkaboutdialog.c:493 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -237,40 +262,40 @@ msgstr "" "ਇਸ ਬਾਰੇ ਬਕਸੇ ਲਈ ਇੱਕ ਲੋਗੋ ਹੈ। ਜੇਕਰ ਇਹ ਨਾ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਮੂਲ " "gtk_window_get_default_icon_list() ਵਰਤਿਆ ਜਾਵੇਗਾ।" -#: ../gtk/gtkaboutdialog.c:509 +#: ../gtk/gtkaboutdialog.c:508 msgid "Logo Icon Name" msgstr "ਲੋਗੋ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkaboutdialog.c:510 +#: ../gtk/gtkaboutdialog.c:509 msgid "A named icon to use as the logo for the about box." msgstr "ਇਸ ਬਾਰੇ ਲੋਗੋ ਵਿੱਚ ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਲੋਗੋ ਹੈ।" -#: ../gtk/gtkaboutdialog.c:523 +#: ../gtk/gtkaboutdialog.c:522 msgid "Wrap license" msgstr "ਲਾਈਸੈਂਸ ਸਮੇਟਣਾ" -#: ../gtk/gtkaboutdialog.c:524 +#: ../gtk/gtkaboutdialog.c:523 msgid "Whether to wrap the license text." msgstr "ਕੀ ਲਾਈਸੈਂਸ ਟੈਕਸਟ ਨੂੰ ਸਮੇਟਣਾ ਹੈ।" -#: ../gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:187 msgid "Accelerator Closure" msgstr "ਐਕਸਰਲੇਟਰ ਬੰਦ" -#: ../gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:188 msgid "The closure to be monitored for accelerator changes" msgstr "ਐਕਸਰਲੇਟਰ ਤਬਦੀਲੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਲਈ ਸਬੰਧ" -#: ../gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:194 msgid "Accelerator Widget" msgstr "ਐਕਸਰਲੇਟਰ ਵਿਦਗਿਟ" -#: ../gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:195 msgid "The widget to be monitored for accelerator changes" msgstr "ਐਕਸਰਲੇਟਰ ਤਬਦੀਲੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਲਈ ਵਿਦਗਿਟ" #: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 -#: ../gtk/gtktextmark.c:89 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "ਨਾਂ" @@ -278,9 +303,9 @@ msgstr "ਨਾਂ" msgid "A unique name for the action." msgstr "ਕਾਰਵਾਈ ਲਈ ਸ਼ਨਾਖਤੀ ਨਾਂ ਹੈ।" -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "ਲੇਬਲ" @@ -312,23 +337,23 @@ msgstr "ਸਟਾਕ ਆਈਕਾਨ" msgid "The stock icon displayed in widgets representing this action." msgstr "ਸਟਾਕ ਆਈਕਾਨ ਇਸ ਕਾਰਵਾਈ ਲਈ ਵਿਦਗਿਟ ਵਿੱਚ ਵਿਖਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 msgid "GIcon" msgstr "ਗਲਕੋਨ" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "ਗਲਕੋਨ ਵੇਖਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:732 +#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "ਆਈਕਾਨ ਨਾਂ" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "ਆਈਕਾਨ ਸਰੂਪ ਤੋਂ ਆਈਕਾਨ ਦਾ ਨਾਂ" @@ -383,7 +408,7 @@ msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ ਇਸ ਕਾਰਵਾਈ ਵਿੱਚ ਖਾਲੀ ਲਿਸਟ ਪਰਾਕਸੀਆਂ ਨੂੰ ਉਹਲੇ ਕਰ ਦਿਓ" #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:935 msgid "Sensitive" msgstr "ਸੰਵੇਦਨਸ਼ੀਲ" @@ -392,8 +417,8 @@ msgid "Whether the action is enabled." msgstr "ਕੀ ਕਾਰਵਾਈ ਯੋਗ ਹੈ" #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 -#: ../gtk/gtkwidget.c:926 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:928 msgid "Visible" msgstr "ਦਿੱਖ" @@ -411,11 +436,11 @@ msgid "" "use)." msgstr "ਇਹ GtkActionGroup, GtkAction ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਜਾਂ NULL (ਸਿਰਫ ਅੰਦਰੂਨੀ ਵਰਤੋਂ ਲਈ)" -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "ਹਮੇਸ਼ਾਂ ਚਿੱਤਰ ਵੇਖੋ" -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "ਕੀ ਚਿੱਤਰ ਵੇਖਾਇਆ ਜਾਵੇ" @@ -431,24 +456,24 @@ msgstr "ਕੀ ਕਾਰਵਾਈ ਗਰੁੱਪ ਯੋਗ ਹੈ।" msgid "Whether the action group is visible." msgstr "ਕੀ ਕਾਰਵਾਈ ਗਰੁੱਪ ਦਿੱਸ ਰਿਹਾ ਹੈ।" -#: ../gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:289 msgid "Related Action" msgstr "ਸਬੰਧਿਤ ਕਾਰਵਾਈ" -#: ../gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:290 msgid "The action this activatable will activate and receive updates from" msgstr "ਕਾਰਵਾਈ, ਜੋ ਕਿ ਸਰਗਰਮ ਕਰਨ ਹੈ, ਸਰਗਰਮ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਅੱਪਡੇਟ ਲਵੇ" -#: ../gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:312 msgid "Use Action Appearance" msgstr "ਕਾਰਵਾਈ ਦਿੱਖ ਵਰਤੋਂ" -#: ../gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:313 msgid "Whether to use the related actions appearance properties" msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" #: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 msgid "Value" msgstr "ਮੁੱਲ" @@ -496,31 +521,31 @@ msgstr "ਸਫ਼ਾ ਅਕਾਰ" msgid "The page size of the adjustment" msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਫ਼ਾ ਅਕਾਰ ਹੈ" -#: ../gtk/gtkalignment.c:127 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" -#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" msgstr "ਉਪਲੱਬਧ ਥਾਂ ਵਿੱਚ ਚਲਾਇਡ ਲਈ ਲੇਟਵੀ ਸਥਿਤੀ, ਸਫਬੰਦੀ ਖੱਬੇ 0.0 ਤੇ , ਸੱਜੇ 1.0 ਤੇ " -#: ../gtk/gtkalignment.c:137 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "ਲੰਬਰੂਪੀ ਸਫਬੰਦੀ" -#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" msgstr "ਉਪਲੱਬਧ ਥਾਂ ਵਿੱਚ ਚਲਾਇਡ ਲਈ ਲੰਬਕਾਰੀ ਹਾਲਤ ਸਫਬੰਦੀ ਉਪਰੋਂ 0.0 ਤੇ , ਥੱਲਿਉ1.0 'ਤੇ।" -#: ../gtk/gtkalignment.c:146 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "ਲੇਟਵਾਂ ਸਕੇਲ" -#: ../gtk/gtkalignment.c:147 +#: ../gtk/gtkalignment.c:157 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -528,11 +553,11 @@ msgstr "" "ਜੇਕਰ ਉਪਲੱਬਧ ਲੇਟਵੀ ਥਾਂ ਚਲਾਇਡ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਤੋਂ ਵਧੇਰੇ ਹੋਵੇ ਤਾਂਚਲਾਇਡ ਕਿੰਨੀ ਵਰਤੇ 0.0 ਦਾ ਮਤਲਬ ਕੁਝ " "ਵੀ ਨਹੀ, 1.0 ਸਭ" -#: ../gtk/gtkalignment.c:155 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "ਲੰਬਕਾਰੀ ਪੈਮਾਨਾ" -#: ../gtk/gtkalignment.c:156 +#: ../gtk/gtkalignment.c:166 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -540,38 +565,125 @@ msgstr "" "ਜੇਕਰ ਉਪਲੱਬਧ ਲੰਬਕਾਰੀ ਥਾਂ ਚਲਾਇਡ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਤੋਂ ਵਧੇਰੇ ਹੋਵੇ ਤਾਂ ਚਲਾਇਡ ਕਿੰਨੀ ਵਰਤੇ 0.0 ਦਾ ਮਤਲਬ " "ਕੁਝ ਵੀ ਨਹੀ, 1.0 ਸਭ" -#: ../gtk/gtkalignment.c:173 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "ਉੱਤੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:174 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਉੱਤੇ ਚਿਣ ਦਿਓ" -#: ../gtk/gtkalignment.c:190 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "ਥੱਲੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:191 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਹੇਠਾਂ ਚਿਣ ਦਿਓ" -#: ../gtk/gtkalignment.c:207 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "ਖੱਬੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:208 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਖੱਬੇ ਚਿਣ ਦਿਓ" -#: ../gtk/gtkalignment.c:224 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "ਸੱਜੇ ਚਿਣੋ" -#: ../gtk/gtkalignment.c:225 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "ਵਿਡਗਿਟ ਦੇ ਸੱਜੇ ਚਿਣ ਦਿਓ" +#: ../gtk/gtkappchooserbutton.c:528 +msgid "Include an 'Other...' item" +msgstr "'ਹੋਰ...' ਆਈਟਮ ਸਮੇਤ" + +#: ../gtk/gtkappchooserbutton.c:529 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" +"ਕੀ ਕੰਬੋਬਾਕਸ ਵਿੱਚ ਆਈਟਮ ਸ਼ਾਮਲ ਕਰਨੀ ਹੈ, ਜੋ ਕਿ GtkAppChooserDialog ਚਾਲੂ " +"ਕਰੇ" + +#: ../gtk/gtkappchooser.c:47 +#| msgid "Font style" +msgid "Content type" +msgstr "ਸਮੱਗਰੀ ਕਿਸਮ" + +#: ../gtk/gtkappchooser.c:48 +#| msgid "The contents of the entry" +msgid "The content type used by the open with object" +msgstr "ਆਬਜੈਕਟ ਨਾਲ ਖੋਲ੍ਹਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਸਮੱਗਰੀ ਕਿਸਮ" + +#: ../gtk/gtkappchooserdialog.c:671 +#| msgid "Filter" +msgid "GFile" +msgstr "ਜੀਫਾਇਲ" + +#: ../gtk/gtkappchooserdialog.c:672 +#| msgid "The title of the file chooser dialog." +msgid "The GFile used by the app chooser dialog" +msgstr "ਫਾਇਲ ਚੋਣਕਾਰ ਡਾਈਲਾਗ ਵਲੋਂ ਵਰਤੀ ਜੀਫਾਇਲ" + +#: ../gtk/gtkappchooserwidget.c:1004 +msgid "Show default app" +msgstr "ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖੋ" + +#: ../gtk/gtkappchooserwidget.c:1005 +#| msgid "Whether the widget is the default widget" +msgid "Whether the widget should show the default application" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1018 +msgid "Show recommended apps" +msgstr "ਸਿਫਾਰਸ਼ੀ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1019 +#| msgid "Whether images should be shown on buttons" +msgid "Whether the widget should show recommended applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਸਿਫਾਰਸ਼ੀ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1032 +msgid "Show fallback apps" +msgstr "ਫਾਲਬੈਕ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1033 +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether the widget should show fallback applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਫਾਲਬੈਕ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1045 +#| msgid "Show Tooltips" +msgid "Show other apps" +msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1046 +#| msgid "Whether the widget has the input focus" +msgid "Whether the widget should show other applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1059 +#| msgid "Show Day Names" +msgid "Show all apps" +msgstr "ਸਭ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1060 +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether the widget should show all applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਸਭ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1073 +msgid "Widget's default text" +msgstr "ਵਿਦਜੈੱਟ ਦਾ ਮੂਲ ਟੈਕਸਟ" + +#: ../gtk/gtkappchooserwidget.c:1074 +msgid "The default text appearing when there are no applications" +msgstr "ਜਦੋਂ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਾ ਹੋਵੇ ਤਾਂ ਵੇਖਾਉਣ ਲਈ ਡਿਫਾਲਟ ਟੈਕਸਟ" + #: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "ਤੀਰ ਦਿਸ਼ਾ" @@ -588,7 +700,7 @@ msgstr "ਤੀਰ ਛਾਂ" msgid "Appearance of the shadow surrounding the arrow" msgstr "ਤੀਰ ਦੇ ਆਲੇ ਦੁਆਲੇ ਛਾਂ ਵੇਖਾਓ" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" @@ -596,7 +708,7 @@ msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" msgid "Amount of space used up by arrow" msgstr "ਤੀਰ ਵਲੋਂ ਵਰਤੀ ਗਈ ਥਾਂ ਦੀ ਮਾਤਰਾ" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 msgid "Horizontal Alignment" msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" @@ -604,7 +716,7 @@ msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" msgid "X alignment of the child" msgstr "ਚਾਇਲਡ ਦੀ X ਕਤਾਰਬੰਦੀ" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 msgid "Vertical Alignment" msgstr "ਲੰਬਕਾਰੀ ਸਫਬੰਦੀ" @@ -628,59 +740,59 @@ msgstr "ਉਬੇ-ਚਾਇਲਡ" msgid "Force aspect ratio to match that of the frame's child" msgstr "ਫਰੇਮ ਦੀ ਚਾਇਲਡ ਨਾਲ ਆਕਾਰ-ਅਨੁਪਾਤ ਨਾਲ ਮਿਲਾਓ" -#: ../gtk/gtkassistant.c:327 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "ਹੈੱਡਰ ਪੈਡਿੰਗ" -#: ../gtk/gtkassistant.c:328 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "ਹੈੱਡਰ ਦੇ ਦੁਆਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" -#: ../gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "ਸਮੱਗਰੀ ਪੈਡਿੰਗ" -#: ../gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "ਸਮੱਗਰੀ ਪੇਜ਼ਾਂ ਦੁਆਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" -#: ../gtk/gtkassistant.c:352 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "ਪੇਜ਼ ਕਿਸਮ" -#: ../gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "ਜਾਰੀ ਪੇਜ਼ ਦੀ ਕਿਸਮ ਹੈ" -#: ../gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "ਸਫ਼ਾ ਟਾਇਟਲ" -#: ../gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "ਜਾਰੀ ਸਫ਼ੇ ਦਾ ਟਾਇਟਲ" -#: ../gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "ਹੈੱਡਰ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "ਸਹਾਇਕ ਸਫ਼ੇ ਲਈ ਹੈੱਡਰ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "ਸਾਈਡ-ਬਾਰ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:405 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "ਸਹਾਇਕ ਸਫ਼ੇ ਲਈ ਬਾਹੀ ਚਿੱਤਰ" -#: ../gtk/gtkassistant.c:420 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "ਸਫ਼ਾ ਪੂਰਾ ਹੋਇਆ" -#: ../gtk/gtkassistant.c:421 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "ਕੀ ਸਫ਼ੇ ਉੱਤੇ ਸਭ ਲੋੜੀਦੇ ਖੇਤਰ ਭਰਨੇ ਹਨ" @@ -736,8 +848,8 @@ msgid "" "g., help buttons" msgstr "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ ਚਾਇਲਡ, ਚਾਇਲਡਰਨ ਦੇ ਗਰੁੱਪ ਦਾ ਸੈਕੰਡਰੀ ਬਣ ਰਹੀ ਜਾਪਦੀ ਹੈ ਜਿਵੇ ਕਿ ਮੱਦਦ ਬਟਨ " -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:267 +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:696 ../gtk/gtktreeviewcolumn.c:268 msgid "Spacing" msgstr "ਖਾਲੀ ਥਾਂ" @@ -745,7 +857,7 @@ msgstr "ਖਾਲੀ ਥਾਂ" msgid "The amount of space between children" msgstr "ਚੈਲਡਰਨ ਵਿੱਚ ਕਿੰਨੀ ਥਾਂ ਹੈ" -#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 #: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "ਸਮਰੂਪ" @@ -754,8 +866,9 @@ msgstr "ਸਮਰੂਪ" msgid "Whether the children should all be the same size" msgstr "ਕੀ ਚੈਲਰਨ ਇੱਕੋ ਆਕਾਰ ਦੇ ਹੋਣ" -#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "ਫੈਲਾਓ" @@ -773,7 +886,7 @@ msgid "" "used as padding" msgstr "ਕੀ ਚਾਇਲਡ ਦੀ ਖਾਲੀ ਥਾਂ ਚਾਇਡ ਨੂੰ ਦੇ ਦਿੱਤੀ ਜਾਵੇ ਜਾਂ ਚਿਣਨ ਲਈ ਵਰਤੀ ਜਾਵੇ " -#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 msgid "Padding" msgstr "ਚਿਣਿਆ" @@ -785,18 +898,18 @@ msgstr "ਵਾਧੂ ਥਾਂ, ਚਾਇਲਡ ਅਤੇ ਗੁਆਢੀ ਵਿ msgid "Pack type" msgstr "ਪੈਕ ਕਿਸਮ" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 +#: ../gtk/gtkbox.c:297 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" msgstr "ਇਹ GtkPackType ਵੇਖਾ ਰਿਹਾ ਹੈ ਕਿ ਚਲਾਇਡ ਨੂੰ ਪੇਰੈਟ ਦੇ ਸ਼ੁਰੂ ਜ਼ਾਂ ਅਖੀਰ ਵਿੱਚ ਪੈਕ ਕੀਤਾ ਜਾਏ" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "ਟਿਕਾਣਾ" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 msgid "The index of the child in the parent" msgstr "ਪੇਰੈਟ ਵਿੱਚ ਚਾਇਲਡ ਦਾ ਇੰਡੈਕਸ" @@ -808,19 +921,19 @@ msgstr "ਟਰਾਂਸਲੇਟ ਡੋਮੇਨ" msgid "The translation domain used by gettext" msgstr "gettext ਵਲੋਂ ਵਰਤੀ ਟਰਾਂਸਲੇਟ ਡੋਮੇਨ" -#: ../gtk/gtkbutton.c:227 +#: ../gtk/gtkbutton.c:228 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "ਬਟਨ ਵਿੱਚ ਲੇਬਲ ਵਿਦਗਿਟ ਦੇ ਸ਼ਬਦ, ਜੇਕਰ ਬਟਨ ਵਿੱਚ ਲੇਬਲ ਵਿਦਗਿਟ ਹੈ" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 -#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 msgid "Use underline" msgstr "ਹੇਠਾਂ-ਲਾਈਨ ਵਰਤੋਂ" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 -#: ../gtk/gtkmenuitem.c:347 +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -828,221 +941,321 @@ msgstr "" "ਜੇਕਰ, ਸ਼ਬਦ ਵਿੱਚ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚੀ ਗਈ ਹੈ ਤਾਂ ਇਹ ਅਗਲੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਵੇਗਾ ਕਿ ਉਹ ਕੀ-ਬੋਰਡ ਤੋਂ ਵਰਤਿਆ " "ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "ਸਟਾਕ ਵਰਤੋਂ" -#: ../gtk/gtkbutton.c:243 +#: ../gtk/gtkbutton.c:244 msgid "If set, the label is used to pick a stock item instead of being displayed" msgstr "ਜੇਕਰ ਸੈੱਟ ਕੀਤਾ ਤਾਂ, ਲੇਬਲ ਸਟਾਕ ਆਈਟਮ ਨੂੰ ਚੁੱਕੇਗਾ ਨਾ ਕਿ ਉਸ ਨੂੰ ਵੇਖਾਵੇਗਾ" -#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 #: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "ਕਲਿੱਕ 'ਤੇ ਫੋਕਸ" -#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "ਕੀ ਬਟਨ ਫੋਕਸ ਹੋ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਇਹ ਮਾਊਸ ਨਾਲ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:258 +#: ../gtk/gtkbutton.c:259 msgid "Border relief" msgstr "ਹਾਸ਼ੀਏ ਦੀ ਛੋਟ" -#: ../gtk/gtkbutton.c:259 +#: ../gtk/gtkbutton.c:260 msgid "The border relief style" msgstr "ਬਾਰਡਰ ਛੋਟ ਸਟਾਇਲ" -#: ../gtk/gtkbutton.c:276 +#: ../gtk/gtkbutton.c:277 msgid "Horizontal alignment for child" msgstr "ਚਾਇਲਡ ਲਈ ਲੇਟਵੀ ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkbutton.c:295 +#: ../gtk/gtkbutton.c:296 msgid "Vertical alignment for child" msgstr "ਚਾਇਲਡ ਲਈ ਲੰਬਕਾਰੀ ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "ਚਿੱਤਰ ਵਿਦਗਿਟ" -#: ../gtk/gtkbutton.c:313 +#: ../gtk/gtkbutton.c:314 msgid "Child widget to appear next to the button text" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ, ਬਟਨ ਟੈਕਸਟ ਤੋਂ ਅੱਗੇ ਦਿੱਸਣ ਲਈ" -#: ../gtk/gtkbutton.c:327 +#: ../gtk/gtkbutton.c:328 msgid "Image position" msgstr "ਚਿੱਤਰ ਸਥਿਤੀ" -#: ../gtk/gtkbutton.c:328 +#: ../gtk/gtkbutton.c:329 msgid "The position of the image relative to the text" msgstr "ਟੈਕਸਟ ਦੇ ਮੁਤਾਬਕ ਚਿੱਤਰ ਦੀ ਅਨੁਸਾਰੀ ਸਥਿਤੀ" -#: ../gtk/gtkbutton.c:448 +#: ../gtk/gtkbutton.c:449 msgid "Default Spacing" msgstr "ਮੂਲ ਫਾਸਲਾ" -#: ../gtk/gtkbutton.c:449 +#: ../gtk/gtkbutton.c:450 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "GTK_CAN_DEFAULT ਬਟਨਾਂ ਲਈ ਹੋਰ ਥਾਂ ਸ਼ਾਮਲ ਕੀਤੀ" -#: ../gtk/gtkbutton.c:463 +#: ../gtk/gtkbutton.c:464 msgid "Default Outside Spacing" msgstr "ਮੂਲ ਬਾਹਰੀ ਖਾਲ਼ੀ ਥਾਂ" -#: ../gtk/gtkbutton.c:464 +#: ../gtk/gtkbutton.c:465 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" msgstr "ਬਟਨਾਂ GTK_CAN_DEFAULT ਲਈ ਵੱਖਰੀ ਥਾਂ ਜੋੜੋ, ਹੋ ਕਿ ਹਾਸ਼ੀਏ ਤੋਂ ਹਮੇਸ਼ਾ ਬਾਹਰ ਖਿੱਚੀ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:469 +#: ../gtk/gtkbutton.c:470 msgid "Child X Displacement" msgstr "ਚਾਇਲਡ X ਹਿਲਾਉਣਾ" -#: ../gtk/gtkbutton.c:470 +#: ../gtk/gtkbutton.c:471 msgid "How far in the x direction to move the child when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ ਚਾਇਲਡ ਨੂੰ X ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿਲਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:477 +#: ../gtk/gtkbutton.c:478 msgid "Child Y Displacement" msgstr "ਚਾਇਲਡ Y ਹਿਲਾਉਣਾ" -#: ../gtk/gtkbutton.c:478 +#: ../gtk/gtkbutton.c:479 msgid "How far in the y direction to move the child when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ ਚਾਇਲਡ ਨੂੰ Y ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿਲਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkbutton.c:494 +#: ../gtk/gtkbutton.c:495 msgid "Displace focus" msgstr "ਫੋਕਸ ਹਿਲਾਓ" -#: ../gtk/gtkbutton.c:495 +#: ../gtk/gtkbutton.c:496 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" msgstr "ਕੀ child_displacement_x/_y properties ਚਤੁਰਭੁਜ ਫੋਕਸ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkbutton.c:509 +#: ../gtk/gtkbutton.c:510 msgid "Border between button edges and child." msgstr "ਬਟਨ ਕਿਨਾਰੇ ਅਤੇ ਅਧੀਨ ਵਿੱਚ ਹਾਸ਼ੀਆ ਹੈ।" -#: ../gtk/gtkbutton.c:522 +#: ../gtk/gtkbutton.c:523 msgid "Image spacing" msgstr "ਚਿੱਤਰ ਫਾਸਲਾ" -#: ../gtk/gtkbutton.c:523 +#: ../gtk/gtkbutton.c:524 msgid "Spacing in pixels between the image and label" msgstr "ਚਿੱਤਰ ਅਤੇ ਲੇਬਲ ਵਿੱਚ ਫਾਸਲਾ ਪਿਕਸਲ ਵਿੱਚ" -#: ../gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:482 msgid "Year" msgstr "ਵਰ੍ਹਾ" -#: ../gtk/gtkcalendar.c:480 +#: ../gtk/gtkcalendar.c:483 msgid "The selected year" msgstr "ਚੁਣਿਆ ਵਰ੍ਹਾ" -#: ../gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:496 msgid "Month" msgstr "ਮਹੀਨਾ" -#: ../gtk/gtkcalendar.c:494 +#: ../gtk/gtkcalendar.c:497 msgid "The selected month (as a number between 0 and 11)" msgstr "ਚੁਣਿਆ ਮਹੀਨਾ (ਇੱਕ ਨੰਬਰ 0 ਅਤੇ 11 ਵਿੱਚੋਂ)" -#: ../gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:511 msgid "Day" msgstr "ਦਿਨ" -#: ../gtk/gtkcalendar.c:509 +#: ../gtk/gtkcalendar.c:512 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" msgstr "ਚੁਣਿਆ ਦਿਨ ( ਇੱਕ ਨੰਬਰ 1 ਅਤੇ 31 ਵਿੱਚੋ, ਜਾਂ 0 ਮੌਜੂਦਾ ਚੁਣੇ ਦਿਨ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ)" -#: ../gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:526 msgid "Show Heading" msgstr "ਹੈਡਿੰਗ ਵੇਖਾਓ" -#: ../gtk/gtkcalendar.c:524 +#: ../gtk/gtkcalendar.c:527 msgid "If TRUE, a heading is displayed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਹੈਡਿੰਗ ਦਿੱਸੇਗਾ" -#: ../gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:541 msgid "Show Day Names" msgstr "ਦਿਨ ਦੇ ਨਾਂ ਵੇਖਾਓ" -#: ../gtk/gtkcalendar.c:539 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, day names are displayed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਦਿਨ ਦਾ ਨਾਂ ਵਿਖਾਈ ਦੇਵੇਗਾ" -#: ../gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:555 msgid "No Month Change" msgstr "ਕੋਈ ਮਹੀਨਾ ਨਾ ਬਦਲੋ" -#: ../gtk/gtkcalendar.c:553 +#: ../gtk/gtkcalendar.c:556 msgid "If TRUE, the selected month cannot be changed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਕੋਈ ਮਹੀਨਾ ਨਹੀਂ ਬਦਲ ਸਕੇਗਾ" -#: ../gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:570 msgid "Show Week Numbers" msgstr "ਹਫਤਾ ਨੰਬਰ ਵੇਖਾਓ" -#: ../gtk/gtkcalendar.c:568 +#: ../gtk/gtkcalendar.c:571 msgid "If TRUE, week numbers are displayed" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਹਫਤੇ ਦਾ ਨੰਬਰ ਦਿੱਸੇਗਾ" -#: ../gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:586 msgid "Details Width" msgstr "ਵੇਰਵਾ ਚੌੜਾਈ" -#: ../gtk/gtkcalendar.c:584 +#: ../gtk/gtkcalendar.c:587 msgid "Details width in characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਵੇਰਵਾ ਚੌੜਾਈ" -#: ../gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:602 msgid "Details Height" msgstr "ਵੇਰਵਾ ਉਚਾਈ" -#: ../gtk/gtkcalendar.c:600 +#: ../gtk/gtkcalendar.c:603 msgid "Details height in rows" msgstr "ਕਤਾਰਾਂ ਵਿੱਚ ਵੇਰਵੇ ਦੀ ਉਚਾਈ" -#: ../gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:619 msgid "Show Details" msgstr "ਵੇਰਵਾ ਵੇਖੋ" -#: ../gtk/gtkcalendar.c:617 +#: ../gtk/gtkcalendar.c:620 msgid "If TRUE, details are shown" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਵੇਰਵਾ ਵੇਖੋ" -#: ../gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:632 msgid "Inner border" msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkcalendar.c:630 +#: ../gtk/gtkcalendar.c:633 msgid "Inner border space" msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ ਥਾਂ" -#: ../gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:644 msgid "Vertical separation" msgstr "ਲੰਬਕਾਰ ਵੱਖਰੇਵਾਂ" -#: ../gtk/gtkcalendar.c:642 +#: ../gtk/gtkcalendar.c:645 msgid "Space between day headers and main area" msgstr "ਦਿਨ ਹੈੱਡਰ ਤੇ ਮੁੱਖ ਖੇਤਰ ਵਿੱਚ ਥਾਂ" -#: ../gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:656 msgid "Horizontal separation" msgstr "ਹਰੀਜੱਟਲ ਵੱਖਰੇਵਾਂ" -#: ../gtk/gtkcalendar.c:654 +#: ../gtk/gtkcalendar.c:657 msgid "Space between week headers and main area" msgstr "ਹਫ਼ਤਾ ਹੈੱਡਰ ਤੇ ਮੁੱਖ ਖੇਤਰ ਵਿੱਚ ਫਾਸਲਾ" +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "ਸੈੱਲਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਥਾਂ" + +#: ../gtk/gtkcellareabox.c:339 +#| msgid "Whether to use the related actions appearance properties" +msgid "Whether the cell expands" +msgstr "ਕੀ ਸੈੱਲ ਫੈਲਾਉਣਾ ਹੈ" + +#: ../gtk/gtkcellareabox.c:354 +#| msgid "xalign" +msgid "Align" +msgstr "ਇਕਸਾਰ" + +#: ../gtk/gtkcellareabox.c:355 +#| msgid "Whether the item should start a new row" +msgid "Whether cell should align with adjacent rows" +msgstr "ਕੀ ਸੈੱਲ ਗੁਆਂਡੀ ਕਤਾਰਾਂ ਮੁਤਾਬਕ ਇਕਸਾਰ ਹੋਵੇ" + +#: ../gtk/gtkcellareabox.c:371 +#| msgid "Pixel size" +msgid "Fixed Size" +msgstr "ਸਥਿਰ ਆਕਾਰ" + +#: ../gtk/gtkcellareabox.c:372 +#| msgid "Whether the children should all be the same size" +msgid "Whether cells should be the same size in all rows" +msgstr "ਕੀ ਸੈੱਲ ਸਭ ਕਤਾਰਾਂ ਵਿੱਚ ਇੱਕੋ ਆਕਾਰ ਦੇ ਹੋਣ" + +#: ../gtk/gtkcellareabox.c:388 +#| msgid "Pack type" +msgid "Pack Type" +msgstr "ਪੈਕ ਕਿਸਮ" + +#: ../gtk/gtkcellareabox.c:389 +#| msgid "" +#| "A GtkPackType indicating whether the child is packed with reference to " +#| "the start or end of the parent" +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "ਇਹ GtkPackType ਵੇਖਾ ਰਿਹਾ ਹੈ ਕਿ ਸੈੱਲ ਨੂੰ ਸੈੱਲ ਖੇਤਰ ਦੇ ਸ਼ੁਰੂ ਜ਼ਾਂ ਅਖੀਰ ਵਿੱਚ ਪੈਕ ਕੀਤਾ ਜਾਏ" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "ਫੋਕਸ ਸੈੱਲ" + +#: ../gtk/gtkcellarea.c:774 +#| msgid "The item which is currently active" +msgid "The cell which currently has focus" +msgstr "ਸੈੱਲ, ਜੋ ਇਸ ਸਮੇਂ ਫੋਕਸ ਹੈ" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "ਸੋਧਯੋਗ ਸੈੱਲ" + +#: ../gtk/gtkcellarea.c:793 +#| msgid "The item which is currently active" +msgid "The cell which is currently being edited" +msgstr "ਸੈੱਲ, ਜੋ ਇਸ ਸਮੇਂ ਸੋਧਿਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkcellarea.c:811 +#| msgid "Widget" +msgid "Edit Widget" +msgstr "ਵਿਦਜੈੱਟ ਸੋਧ" + +#: ../gtk/gtkcellarea.c:812 +#| msgid "The current page in the document" +msgid "The widget currently editing the edited cell" +msgstr "ਵਿਦਜੈੱਟ, ਜੋ ਸੋਧੇ ਜਾ ਰਹੇ ਸੈੱਲ ਨੂੰ ਬਦਲ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkcellareacontext.c:128 +#| msgid "Cell Area" +msgid "Area" +msgstr "ਖੇਤਰ" + +#: ../gtk/gtkcellareacontext.c:129 +msgid "The Cell Area this context was created for" +msgstr "ਸੈੱਲ ਖੇਤਰ, ਜਿਸ ਲਈ ਇਕ ਪਰਸੰਗ ਬਣਾਇਆ ਗਿਆ ਸੀ" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" + +#: ../gtk/gtkcellareacontext.c:146 ../gtk/gtkcellareacontext.c:165 +#| msgid "Minimum child width" +msgid "Minimum cached width" +msgstr "ਘੱਟੋ-ਘੱਟ ਕੈਸ਼ ਕੀਤੀ ਚੌੜਾਈ" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +#| msgid "Minimum Content Height" +msgid "Minimum Height" +msgstr "ਘੱਟੋ-ਘੱਟ ਉਚਾਈ" + +#: ../gtk/gtkcellareacontext.c:184 ../gtk/gtkcellareacontext.c:203 +#| msgid "Minimum child height" +msgid "Minimum cached height" +msgstr "ਘੱਟੋ-ਘੱਟ ਕੈਸ਼ ਕੀਤੀ ਉਚਾਈ" + #: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "ਸੋਧ ਰੱਦ ਕੀਤੀ" @@ -1051,161 +1264,159 @@ msgstr "ਸੋਧ ਰੱਦ ਕੀਤੀ" msgid "Indicates that editing has been canceled" msgstr "ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਸੋਧਣ ਨੂੰ ਰੱਦ ਕੀਤਾ ਗਿਆ ਹੈ" -#: ../gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:137 msgid "Accelerator key" msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚ" -#: ../gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "The keyval of the accelerator" msgstr "ਐਕਸਰਲੇਟਰ ਲਈ ਸਵਿੱਚ-ਮੁੱਲ" -#: ../gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:154 msgid "Accelerator modifiers" msgstr "ਐਕਸਰਲੇਟਰ ਸੋਧਕ" -#: ../gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "The modifier mask of the accelerator" msgstr "ਐਕਸਰਲੇਟਰ ਲਈ ਸੋਧਕ ਮਾਸਕ" -#: ../gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:172 msgid "Accelerator keycode" msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚ-ਕੋਡ" -#: ../gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "The hardware keycode of the accelerator" msgstr "ਐਕਸਰਲੇਟਰ ਲਈ ਜੰਤਰ ਸਵਿੱਚ-ਕੋਡ" -#: ../gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:192 msgid "Accelerator Mode" msgstr "ਐਕਸਰਲੇਟਰ ਢੰਗ" -#: ../gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "The type of accelerators" msgstr "ਐਕਸਰਲੇਟਰ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:272 msgid "mode" msgstr "ਢੰਗ" -#: ../gtk/gtkcellrenderer.c:272 +#: ../gtk/gtkcellrenderer.c:273 msgid "Editable mode of the CellRenderer" msgstr "CellRenderer ਦਾ ਸੋਧਣਯੋਗ ਮੋਡ" -#: ../gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:281 msgid "visible" msgstr "ਦਿੱਖ" -#: ../gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:282 msgid "Display the cell" msgstr "ਸੈਲ ਵੇਖਾਓ" -#: ../gtk/gtkcellrenderer.c:288 +#: ../gtk/gtkcellrenderer.c:289 msgid "Display the cell sensitive" msgstr "ਸੈਲ ਸੰਵੇਦਸ਼ੀਲ ਵੇਖਾਓ" -#: ../gtk/gtkcellrenderer.c:295 +#: ../gtk/gtkcellrenderer.c:296 msgid "xalign" msgstr "x ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:296 +#: ../gtk/gtkcellrenderer.c:297 msgid "The x-align" msgstr "x-ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:305 +#: ../gtk/gtkcellrenderer.c:306 msgid "yalign" msgstr "y ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:306 +#: ../gtk/gtkcellrenderer.c:307 msgid "The y-align" msgstr "y-ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkcellrenderer.c:315 +#: ../gtk/gtkcellrenderer.c:316 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:316 +#: ../gtk/gtkcellrenderer.c:317 msgid "The xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:325 +#: ../gtk/gtkcellrenderer.c:326 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:326 +#: ../gtk/gtkcellrenderer.c:327 msgid "The ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:336 msgid "width" msgstr "ਚੌੜਾਈ" -#: ../gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:337 msgid "The fixed width" msgstr "ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" -#: ../gtk/gtkcellrenderer.c:345 +#: ../gtk/gtkcellrenderer.c:346 msgid "height" msgstr "ਉਚਾਈ" -#: ../gtk/gtkcellrenderer.c:346 +#: ../gtk/gtkcellrenderer.c:347 msgid "The fixed height" msgstr "ਨਿਸ਼ਚਿਤ ਉਚਾਈ" -#: ../gtk/gtkcellrenderer.c:355 +#: ../gtk/gtkcellrenderer.c:356 msgid "Is Expander" msgstr "ਫੈਲਣਯੋਗ ਹੈ" -#: ../gtk/gtkcellrenderer.c:356 +#: ../gtk/gtkcellrenderer.c:357 msgid "Row has children" msgstr "ਕਤਾਰ ਵਿੱਚ ਚਾਇਲਡਰਨ ਹਨ" -#: ../gtk/gtkcellrenderer.c:364 +#: ../gtk/gtkcellrenderer.c:365 msgid "Is Expanded" msgstr "ਫੈਲ ਗਿਆ ਹੈ" -#: ../gtk/gtkcellrenderer.c:365 +#: ../gtk/gtkcellrenderer.c:366 msgid "Row is an expander row, and is expanded" msgstr "ਕਤਾਰ ਇੱਕ ਫੈਲਣਯੋਗ ਕਤਾਰ ਹੈ ਅਤੇ ਫੈਲ ਗਈ ਹੈ" -#: ../gtk/gtkcellrenderer.c:372 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color name" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਦਾ ਨਾਂ" -#: ../gtk/gtkcellrenderer.c:373 +#: ../gtk/gtkcellrenderer.c:374 msgid "Cell background color as a string" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtkcellrenderer.c:380 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtkcellrenderer.c:381 +#: ../gtk/gtkcellrenderer.c:382 msgid "Cell background color as a GdkColor" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkColor ਵਾਂਗ" -#: ../gtk/gtkcellrenderer.c:394 -#| msgid "Cell background color" +#: ../gtk/gtkcellrenderer.c:395 msgid "Cell background RGBA color" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ RGBA ਰੰਗ" -#: ../gtk/gtkcellrenderer.c:395 -#| msgid "Cell background color as a GdkColor" +#: ../gtk/gtkcellrenderer.c:396 msgid "Cell background color as a GdkRGBA" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkRGBA ਵਾਂਗ" -#: ../gtk/gtkcellrenderer.c:402 +#: ../gtk/gtkcellrenderer.c:403 msgid "Editing" msgstr "ਸੋਧ ਜਾਰੀ" -#: ../gtk/gtkcellrenderer.c:403 +#: ../gtk/gtkcellrenderer.c:404 msgid "Whether the cell renderer is currently in editing mode" msgstr "ਕੀ ਸੋਧ ਢੰਗ ਵਿੱਚ ਮੌਜੂਦਾ ਸੈੱਲ ਰੈਡਰਿੰਗ ਹੋਵੇ" -#: ../gtk/gtkcellrenderer.c:411 +#: ../gtk/gtkcellrenderer.c:412 msgid "Cell background set" msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkcellrenderer.c:412 +#: ../gtk/gtkcellrenderer.c:413 msgid "Whether this tag affects the cell background color" msgstr "ਕੀ ਇਹ ਟੈਗ ਸੈਲ਼ ਦੀ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇਗਾ" @@ -1225,7 +1436,7 @@ msgstr "ਟੈਕਸਟ ਕਾਲਮ" msgid "A column in the data source model to get the strings from" msgstr "ਕਾਲਮ ਡੈਟਾ-ਸਰੋਤ ਮਾਡਲ ਵਿੱਚ ਸਤਰਾਂ ਇਸ ਤੋਂ ਪਰਾਪਤ ਕਰੇਗਾ" -#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 msgid "Has Entry" msgstr "ਇੰਦਰਾਜ਼ ਹੈ" @@ -1257,8 +1468,8 @@ msgstr "ਪਿਕਬੱਪ ਐਕਸਪੈਡਰ ਬੰਦ" msgid "Pixbuf for closed expander" msgstr "ਬੰਦ ਐਕਸਪੈਡਰ ਲਈ ਪਿਕਬੱਪ" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 -#: ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:252 +#: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "ਸਟਾਕ ID" @@ -1267,7 +1478,7 @@ msgid "The stock ID of the stock icon to render" msgstr "ਪੇਸ਼ ਕਰਨ ਲਈ ਸਟਾਕ ਆਈਕਾਨ ਦਾ ਸਟਾਕ ID" #: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 -#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "ਅਕਾਰ" @@ -1291,8 +1502,8 @@ msgstr "ਅੱਗੇ ਹਾਲਤ" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "ਕੀ ਪੇਸ਼ਕਾਰੀ ਪਿਕਬਫ਼ਰ ਨੂੰ ਹਾਲਤ ਦੇ ਅਨੁਸਾਰ ਰੰਗਦਾਰ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:709 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:327 +#: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "ਆਈਕਾਨ" @@ -1302,8 +1513,8 @@ msgstr "ਤਰੱਕੀ ਪੱਟੀ ਦਾ ਮੁੱਲ" #: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 #: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 -#: ../gtk/gtktextbuffer.c:209 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 msgid "Text" msgstr "ਪਾਠ" @@ -1340,7 +1551,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "ਲੰਬਕਾਰੀ ਸ਼ਫ਼ਬੰਦੀ, 0 (ਉਤੋਂ) ਤੋਂ 1 (ਹੇਠਾਂ) ਹੈ।" #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:439 +#: ../gtk/gtkrange.c:423 msgid "Inverted" msgstr "ਬਦਲਵਾਂ" @@ -1348,12 +1559,12 @@ msgstr "ਬਦਲਵਾਂ" msgid "Invert the direction in which the progress bar grows" msgstr "ਤਰੱਕੀ-ਪੱਟੀ ਦੇ ਵੱਧਣ ਦੀ ਦਿਸ਼ਾ ਨੂੰ ਉਲਟਾ ਕਰੋ" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "ਅਨਕੂਲਤਾ" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 msgid "The adjustment that holds the value of the spin button" msgstr "ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਸਪਿਨ-ਬਟਨ ਦਾ ਮੁੱਲ ਰੱਖਦੀ ਹੈ" @@ -1361,21 +1572,21 @@ msgstr "ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਸਪਿਨ-ਬਟਨ ਦਾ ਮ msgid "Climb rate" msgstr "ਚੜ੍ਹਨ ਦਰ" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 msgid "The acceleration rate when you hold down a button" msgstr "ਬਟਨ ਨੂੰ ਦਬਾਕੇ ਰੱਖਣ ਤੇ ਐਕਸਲੇਸ਼ਨ" #: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 -#: ../gtk/gtkspinbutton.c:247 +#: ../gtk/gtkspinbutton.c:338 msgid "Digits" msgstr "ਅੰਕ" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 msgid "The number of decimal places to display" msgstr "ਵੇਖਾਉਣ ਲਈ ਦਸ਼ਮਲਵ ਅੰਕਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1405,7 +1616,7 @@ msgstr "ਨਿਸ਼ਾਨਬੱਧ" msgid "Marked up text to render" msgstr "ਪੇਸ਼ਕਾਰੀ ਲਈ ਟੈਕਸਟ ਦੀ ਨਿਸ਼ਾਨਬੰਦੀ" -#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "ਗੁਣ" @@ -1421,45 +1632,43 @@ msgstr "ਇੱਕ ਪੈਰਾ ਮੋਡ" msgid "Whether to keep all text in a single paragraph" msgstr "ਕੀ ਸਾਰੇ ਟੈਕਸਟ ਨੂੰ ਇੱਕੋ ਪ੍ਹੈਰੇ ਵਿੱਚ ਰੱਖਣਾ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 -#: ../gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:180 msgid "Background color name" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 -#: ../gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:181 msgid "Background color as a string" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 -#: ../gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:188 msgid "Background color" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 msgid "Background color as a GdkColor" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkColor ਵਾਂਗ" #: ../gtk/gtkcellrenderertext.c:311 -#| msgid "Background color name" msgid "Background color as RGBA" msgstr "RGBA ਵਜੋਂ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" -#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 -#| msgid "Background color as a GdkColor" +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 msgid "Background color as a GdkRGBA" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkRGBA ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 msgid "Foreground color name" msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" -#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 msgid "Foreground color as a string" msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਇੱਕ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 -#: ../gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ" @@ -1468,80 +1677,78 @@ msgid "Foreground color as a GdkColor" msgstr "ਫਾਰਗਰਾਊਂਡ GdkColor ਵਾਂਗ" #: ../gtk/gtkcellrenderertext.c:341 -#| msgid "Foreground color name" msgid "Foreground color as RGBA" msgstr "RGBA ਵਜੋਂ ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" #: ../gtk/gtkcellrenderertext.c:342 -#| msgid "Foreground color as a GdkColor" msgid "Foreground color as a GdkRGBA" msgstr "ਫਾਰਗਰਾਊਂਡ GdkRGBA ਵਾਂਗ" #: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 +#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 msgid "Editable" msgstr "ਸੋਧਯੋਗ" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:685 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 +#: ../gtk/gtktextview.c:686 msgid "Whether the text can be modified by the user" msgstr "ਕੀ ਟੈਕਸਟ ਵਰਤਣਵਾਲਾ ਸੋਧ ਸਕੇ ਜਾਂ ਨਾ" #: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 -#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 msgid "Font" msgstr "ਫੋਟ" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "ਫੋਂਟ ਵਰਨਣ ਇੱਕ ਸਤਰ ਦੀ ਤਰਾਂ ਜਿਵੇ ਕਿ \"ਸੇਨਸ਼ ਇਟਾਲਿਕ 12\"" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 msgid "Font description as a PangoFontDescription struct" msgstr "ਫੋਂਟ ਦਾ ਵੇਰਵਾ PangoFontDescription ਢਾਚੇ ਵਾਂਗ" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 msgid "Font family" msgstr "ਫੋਂਟ ਸਮੂਹ" -#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "ਫੋਂਟ ਸਮੂਹ ਦਾ ਨਾਂ, ਜਿਵੇ ਕਿ ਸੰਨਜ, ਟਾਇਮਜ਼, ਮੋਨੋਸਪੇਸ" #: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 -#: ../gtk/gtktexttag.c:267 +#: ../gtk/gtktexttag.c:269 msgid "Font style" msgstr "ਫੋਂਟ ਸਟਾਇਲ" #: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 -#: ../gtk/gtktexttag.c:276 +#: ../gtk/gtktexttag.c:278 msgid "Font variant" msgstr "ਫੋਂਟ ਬਦਲ" #: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 -#: ../gtk/gtktexttag.c:285 +#: ../gtk/gtktexttag.c:287 msgid "Font weight" msgstr "ਫੋਂਟ ਵੇਟ" #: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 -#: ../gtk/gtktexttag.c:296 +#: ../gtk/gtktexttag.c:298 msgid "Font stretch" msgstr "ਫੋਂਟ ਤਣਾਅ" #: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 -#: ../gtk/gtktexttag.c:305 +#: ../gtk/gtktexttag.c:307 msgid "Font size" msgstr "ਫੋਂਟ ਅਕਾਰ" -#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 msgid "Font points" msgstr "ਫੋਂਟ ਬਿੰਦੂ" -#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 msgid "Font size in points" msgstr "ਫੋਂਟ ਅਕਾਰ ਪੁਆਇਟ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 msgid "Font scale" msgstr "ਫੋਂਟ ਸਕੇਲ" @@ -1549,7 +1756,7 @@ msgstr "ਫੋਂਟ ਸਕੇਲ" msgid "Font scaling factor" msgstr "ਫੋਂਟ ਸਕੇਲਿੰਗ ਫੈਕਟਰ" -#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 msgid "Rise" msgstr "ਉਭਰੋ" @@ -1557,23 +1764,23 @@ msgstr "ਉਭਰੋ" msgid "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "ਟੈਕਸਟ ਦਾ ਮੁੱਖ-ਸਤਰ ਤੋਂ ਉੱਤੇ ਸੰਤੁਲਨ (ਮੁੱਖ-ਸਤਰ ਤੋਂ ਹੇਠਾਂ ਉਭਾਰ ਰਿਣਾਤਮਕ ਹੈ)" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 msgid "Strikethrough" msgstr "ਵਿੰਨ੍ਹੋ" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 msgid "Whether to strike through the text" msgstr "ਕੀ ਟੈਕਸਟ ਨੂੰ ਵਿੱਚੋਂ ਵਿੰਨ੍ਹਣਾ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 msgid "Underline" msgstr "ਹੇਠਾਂ ਲਾਈਨ" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 msgid "Style of underline for this text" msgstr "ਇਸ ਟੈਕਸਟ ਦੇ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚਣ ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 msgid "Language" msgstr "ਭਾਸ਼ਾ" @@ -1586,7 +1793,7 @@ msgstr "" "ਭਾਸ਼ਾ, ਜਿਸ ਵਿੱਚ ਇਹ ਕੋਡ ਹੈ, ਦਾ ISO ਕੋਡ ਹੈ, ਟੈਕਸਟ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ ਪੈਨਗੋ ਦੀ ਉਦਾਹਰਨ ਲਈ ਜਾ " "ਸਕਦੀ ਹੈ, ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਨਹੀਂ ਸਮਝ ਸਕੇ ਤਾਂ ਤੁਹਾਨੂੰ ਇਸ ਦੀ ਲੋੜ ਵੀ ਨਹੀਂ ਹੈ " -#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 #: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "ਅੰਡਕਾਰ-ਅਕਾਰ" @@ -1598,15 +1805,15 @@ msgid "" msgstr "ਅੰਡਾਕਾਰ-ਅਕਾਰ ਸਤਰ ਦੀ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਸੈਲ ਕੋਈ ਪੂਰੀ ਸਤਰ ਨੂੰ ਵੇਖਾਉਣ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਨਾ ਹੋਵੇ" #: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:719 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" -#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "ਲੇਬਲ ਦੀ ਲੋੜੀਦੀ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ ਅੱਖਰਾਂ ਵਿੱਚ" @@ -1614,7 +1821,7 @@ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ ਅੱਖਰਾਂ ਵਿ msgid "The maximum width of the cell, in characters" msgstr "ਸੈੱਲ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 msgid "Wrap mode" msgstr "ਸਮੇਟਣ ਢੰਗ" @@ -1626,7 +1833,7 @@ msgstr "" "ਲਾਈਨਾਂ ਨੂੰ ਬਹੁ-ਲਾਈਨਾਂ ਵਿੱਚ ਕਿਵੇਂ ਵੰਡਿਆ ਜਾਵੇ, ਜੇਕਰ ਸੈਲ ਕੋਲ ਲਾਈਨਾਂ ਨੂੰ ਵਿਖਾਉਣ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਨਾ " "ਹੋਵੇ।" -#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 msgid "Wrap width" msgstr "ਚੌੜਾਈ ਨੂੰ ਲੇਪਟੋ" @@ -1634,7 +1841,7 @@ msgstr "ਚੌੜਾਈ ਨੂੰ ਲੇਪਟੋ" msgid "The width at which the text is wrapped" msgstr "ਚੌੜਾਈ, ਜਿਸ ਨਾਲ ਟੈਕਸਟ ਸਮੇਟਿਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 msgid "Alignment" msgstr "ਸ਼ਫਬੰਦੀ" @@ -1642,117 +1849,117 @@ msgstr "ਸ਼ਫਬੰਦੀ" msgid "How to align the lines" msgstr "ਲਾਈਨਾਂ ਨੂੰ ਇਕਸਾਰ ਕਿਵੇਂ ਕਰਨਾ ਹੈ" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 -#: ../gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:542 msgid "Background set" msgstr "ਬੈਕਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 -#: ../gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:543 msgid "Whether this tag affects the background color" msgstr "ਕੀ ਇਹ ਟੈਗ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 msgid "Foreground set" msgstr "ਫਾਰ-ਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 msgid "Whether this tag affects the foreground color" msgstr "ਕੀ ਇਹ ਟੈਗ ਫਾਰ-ਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 msgid "Editability set" msgstr "ਸੋਧਣਯੋਗਤਾ ਦਿਓ" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 msgid "Whether this tag affects text editability" msgstr "ਕੀ ਇਹ ਟੈਕਸਟ ਸੋਧਣਯੋਗਤਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 msgid "Font family set" msgstr "ਫੋਂਟ ਸਮੂਹ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the font family" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਸਮੂਹ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 msgid "Font style set" msgstr "ਫੋਂਟ ਸਟਾਇਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 msgid "Whether this tag affects the font style" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਸਟਾਇਲ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 msgid "Font variant set" msgstr "ਫੋਂਟ ਬਦਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the font variant" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਤਬਦੀਲੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 msgid "Font weight set" msgstr "ਫੋਂਟ ਵੇਟ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects the font weight" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਫੈਲਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 msgid "Font stretch set" msgstr "ਫੋਂਟ ਤਣਾਅ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font stretch" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਤਣਾਅ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 msgid "Font size set" msgstr "ਫੋਂਟ ਆਕਾਰ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font size" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਆਕਾਰ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 msgid "Font scale set" msgstr "ਫੋਂਟ ਸਕੇਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 msgid "Whether this tag scales the font size by a factor" msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਅਕਾਰ ਨੂੰ ਗੁਣਾਂਕ ਪੈਮਾਨਾ ਨਾਲ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 msgid "Rise set" msgstr "ਉਭਾਰਨਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 msgid "Whether this tag affects the rise" msgstr "ਕੀ ਇਹ ਟੈਗ ਉਭਾਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 msgid "Strikethrough set" msgstr "ਵਿੰਨ੍ਹਣਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects strikethrough" msgstr "ਕੀ ਇਹ ਟੈਗ ਵਿੰਨ੍ਹਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 msgid "Underline set" msgstr "ਹੇਠਾਂ ਲਾਈਨ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects underlining" msgstr "ਕੀ ਇਹ ਟੈਗ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 msgid "Language set" msgstr "ਭਾਸ਼ਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the language the text is rendered as" msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਕਸਟ ਪੇਸ਼ ਕਰਨ ਦੀ ਭਾਸ਼ਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" @@ -1809,28 +2016,68 @@ msgid "Indicator size" msgstr "ਸੰਕੇਤਕ ਆਕਾਰ" #: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 -#: ../gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦਾ ਆਕਾਰ" -#: ../gtk/gtkcellview.c:213 -#| msgid "Background color" +#: ../gtk/gtkcellview.c:210 msgid "Background RGBA color" msgstr "ਬੈਕਗਰਾਊਂਡ RGBA ਰੰਗ" -#: ../gtk/gtkcellview.c:228 +#: ../gtk/gtkcellview.c:225 msgid "CellView model" msgstr "ਸੈੱਲ-ਝਲਕ ਮਾਡਲ" -#: ../gtk/gtkcellview.c:229 +#: ../gtk/gtkcellview.c:226 msgid "The model for cell view" msgstr "ਸੈੱਲ ਝਲਕ ਲਈ ਮਾਡਲ" -#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtktreemenu.c:329 +#: ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "ਸੈੱਲ ਖੇਤਰ" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtktreemenu.c:330 +#: ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "ਸੈੱਲ ਲੇਆਉਟ ਲਈ ਵਰਤਣ ਵਾਸਤੇ GtkCellArea" + +#: ../gtk/gtkcellview.c:265 +#| msgid "Cell Area" +msgid "Cell Area Context" +msgstr "ਸੈੱਲ ਖੇਤਰ ਪਰਸੰਗ" + +#: ../gtk/gtkcellview.c:266 +#| msgid "The GtkCellArea used to layout cells" +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "ਸੈੱਲ ਝਲਕ ਦੀ ਜੁਮੈਟਰੀ ਕੱਢਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ GtkCellAreaContext" + +#: ../gtk/gtkcellview.c:283 +#| msgid "Sensitive" +msgid "Draw Sensitive" +msgstr "ਸੰਵੇਦਨਸ਼ੀਲ ਬਣਾਓ" + +#: ../gtk/gtkcellview.c:284 +#| msgid "Whether tree lines should be drawn in the tree view" +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "ਕੀ ਸੈੱਲਾਂ ਨੂੰ ਸੰਵੇਦਨਸ਼ੀਲ ਹਾਲਤ ਵਿੱਚ ਬਣਾਉਣ ਲਈ ਮਜ਼ਬੂਰ ਕਰਨਾ ਹੈ" + +#: ../gtk/gtkcellview.c:302 +#| msgid "Model" +msgid "Fit Model" +msgstr "ਫਿੱਟ ਮਾਡਲ" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "ਕੀ ਮਾਡਲ ਵਿੱਚ ਹਰੇਕ ਕਤਾਰ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਦੀ ਮੰਗ ਕਰਨੀ ਹੈ" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "ਸੰਕੇਤਕ ਦਾ ਆਕਾਰ" -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 msgid "Indicator Spacing" msgstr "ਸੰਕੇਤਕ ਦੀ ਥਾਂ" @@ -1838,67 +2085,65 @@ msgstr "ਸੰਕੇਤਕ ਦੀ ਥਾਂ" msgid "Spacing around check or radio indicator" msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਥਾਂ" -#: ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "ਕੀ ਮੇਨੂ ਆਈਟਮ ਚੈੱਕ ਹੋ ਜਾਏ" -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "ਅਸੰਗਤ" -#: ../gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "ਕੀ \"ਅਸੰਗਤ\" ਸਥਿਤੀ ਵੇਖਾਈ ਜਾਏ" -#: ../gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "ਰੇਡੀਓ ਮੇਨੂ ਆਈਟਮ ਬਣਾਓ" -#: ../gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "ਕੀ ਮੇਨੂ ਆਈਟਮ ਇੱਕ ਰੇਡੀਓ ਮੇਨੂ ਆਈਟਮ ਵਾਂਗ ਲੱਗੇ" -#: ../gtk/gtkcolorbutton.c:171 +#: ../gtk/gtkcolorbutton.c:170 msgid "Use alpha" msgstr "ਐਲਫਾ ਵਰਤੋ" -#: ../gtk/gtkcolorbutton.c:172 +#: ../gtk/gtkcolorbutton.c:171 msgid "Whether to give the color an alpha value" msgstr "ਕੀ ਰੰਗ ਨੂੰ ਐਲਫਾ ਮੁੱਲ ਦਿੱਤਾ ਜਾਵੇ ਜਾਂ ਨਾ" -#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 #: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "ਟਾਈਟਲ" -#: ../gtk/gtkcolorbutton.c:187 +#: ../gtk/gtkcolorbutton.c:186 msgid "The title of the color selection dialog" msgstr "ਰੰਗ ਚੁਣਨ ਵਾਲੀ ਤਖਤੀ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "ਮੌਜੂਦਾ ਰੰਗ" -#: ../gtk/gtkcolorbutton.c:202 +#: ../gtk/gtkcolorbutton.c:201 msgid "The selected color" msgstr "ਚੁਣਿਆ ਰੰਗ" -#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "ਮੌਜੂਦਾ ਐਲਫਾ" -#: ../gtk/gtkcolorbutton.c:217 +#: ../gtk/gtkcolorbutton.c:216 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "ਚੁਣਿਆ ਧੁੰਦਲਾਪਨ (0 ਪੂਰੀ ਤਰਾਂ ਪਾਰਦਰਸ਼ੀ , 65535 ਪੂਰੀ ਤਰਾਂ ਧੁੰਦਲਾ)" -#: ../gtk/gtkcolorbutton.c:231 -#| msgid "Current Color" +#: ../gtk/gtkcolorbutton.c:230 msgid "Current RGBA Color" msgstr "ਮੌਜੂਦਾ RGBA ਰੰਗ" -#: ../gtk/gtkcolorbutton.c:232 -#| msgid "The selected color" +#: ../gtk/gtkcolorbutton.c:231 msgid "The selected RGBA color" msgstr "ਚੁਣਿਆ RGBA ਰੰਗ" @@ -1927,12 +2172,10 @@ msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "ਮੌਜੂਦਾ ਧੁੰਦਲਾਪਨ ਦਾ ਮੁੱਲ (0 ਪੂਰੀ ਤਰਾਂ ਪਾਰਦਰਸ਼ੀ , 65535 ਪੂਰੀ ਤਰਾਂ ਧੁੰਦਲਾ)" #: ../gtk/gtkcolorsel.c:360 -#| msgid "Current Alpha" msgid "Current RGBA" msgstr "ਮੌਜੂਦਾ RGBA" #: ../gtk/gtkcolorsel.c:361 -#| msgid "The current color" msgid "The current RGBA color" msgstr "ਮੌਜੂਦਾ RGBA ਰੰਗ" @@ -1968,215 +2211,212 @@ msgstr "ਮੱਦਦ ਬਟਨ" msgid "The help button of the dialog." msgstr "ਡਾਈਲਾਗ ਲਈ ਮੱਦਦ ਬਟਨ ਹੈ।" -#: ../gtk/gtkcombobox.c:737 +#: ../gtk/gtkcombobox.c:663 msgid "ComboBox model" msgstr "ਕੰਬੋ-ਬਾਕਸ ਮਾਡਲ" -#: ../gtk/gtkcombobox.c:738 +#: ../gtk/gtkcombobox.c:664 msgid "The model for the combo box" msgstr "ਕੰਬੋ-ਬਾਕਸ ਲਈ ਮਾਡਲ" -#: ../gtk/gtkcombobox.c:755 +#: ../gtk/gtkcombobox.c:681 msgid "Wrap width for laying out the items in a grid" msgstr "ਗਰਿੱਡ ਵਿੱਚ ਆਈਟਮਾਂ ਨੂੰ ਲੇਪਟਣ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkcombobox.c:777 +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 msgid "Row span column" msgstr "ਕਤਾਰ ਕਾਲਮ ਦਾ ਫਾਸਲਾ" -#: ../gtk/gtkcombobox.c:778 +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 msgid "TreeModel column containing the row span values" msgstr "ਟਰੀਮਾਡਲ ਕਾਲਮ ਵਿੱਚ ਕਤਾਰਾਂ ਦੇ ਵਿੱਚ ਦੂਰੀ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkcombobox.c:799 +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 msgid "Column span column" msgstr "ਕਾਲਮ ਕਾਲਮ ਵਿੱਚ ਦੂਰੀ" -#: ../gtk/gtkcombobox.c:800 +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 msgid "TreeModel column containing the column span values" msgstr "ਟਰੀਮਾਡਲ ਕਾਲਮ ਵਿੱਚ ਕਾਲਮਾਂ ਦੇ ਵਿੱਚ ਦੂਰੀ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkcombobox.c:821 +#: ../gtk/gtkcombobox.c:747 msgid "Active item" msgstr "ਸਰਗਰਮ ਆਈਟਮ" -#: ../gtk/gtkcombobox.c:822 +#: ../gtk/gtkcombobox.c:748 msgid "The item which is currently active" msgstr "ਆਈਟਮ, ਜੋ ਹੁਣ ਸਰਗਰਮ ਹੈ" -#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "ਵੱਖ-ਕਰਨ ਨੂੰ ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ" -#: ../gtk/gtkcombobox.c:842 +#: ../gtk/gtkcombobox.c:768 msgid "Whether dropdowns should have a tearoff menu item" msgstr "ਕੀ ਲਟਕਣ ਵਾਲੇ ਵੱਖ ਮੇਨੂ ਆਈਟਮਾਂ ਹੋਣ" -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "ਫਰੇਮ ਹੈ" -#: ../gtk/gtkcombobox.c:858 +#: ../gtk/gtkcombobox.c:784 msgid "Whether the combo box draws a frame around the child" msgstr "ਕੀ ਕੰਬੋ-ਬਕਸਾ ਚਾਈਲਡ ਦੁਆਲੇ ਫਰੇਮ ਵੇਖਾਓ" -#: ../gtk/gtkcombobox.c:866 +#: ../gtk/gtkcombobox.c:792 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "ਕੀ ਕੰਬੋ-ਬਕਸ ਫੋਕਸ ਹੋ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਇਹ ਮਾਊਸ ਨਾਲ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 msgid "Tearoff Title" msgstr "ਟਾਈਟਲ ਨੂੰ ਵੱਖ ਕਰੋ" -#: ../gtk/gtkcombobox.c:882 +#: ../gtk/gtkcombobox.c:808 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "ਜਦੋਂ ਪੋਪਅੱਪ ਵੱਖ ਹੋਵੇ ਤਾਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਵਲੋਂ ਵੇਖਾਇਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਟਾਈਟਲ" -#: ../gtk/gtkcombobox.c:899 +#: ../gtk/gtkcombobox.c:825 msgid "Popup shown" msgstr "ਪੋਪਅੱਪ ਵੇਖਾਉਣਾ" -#: ../gtk/gtkcombobox.c:900 +#: ../gtk/gtkcombobox.c:826 msgid "Whether the combo's dropdown is shown" msgstr "ਕੀ ਕੰਬੋ ਦੀ ਲਟਕਦੀ ਸੂਚੀ ਵੇਖਾਈ ਜਾਵੇ" -#: ../gtk/gtkcombobox.c:916 +#: ../gtk/gtkcombobox.c:842 msgid "Button Sensitivity" msgstr "ਬਟਨ ਸੰਵਦੇਨਸ਼ੀਲਤਾ" -#: ../gtk/gtkcombobox.c:917 +#: ../gtk/gtkcombobox.c:843 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "ਜਦੋਂ ਮਾਡਲ ਖਾਲੀ ਹੋਵੇ ਤਾਂ ਲਟਕਦੇ ਬਟਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" -#: ../gtk/gtkcombobox.c:933 -#| msgid "Whether the combo box draws a frame around the child" +#: ../gtk/gtkcombobox.c:859 msgid "Whether combo box has an entry" msgstr "ਕੀ ਕੰਬੋ-ਬਕਸਾ ਦੀ ਐਂਟਰੀ ਹੈ" -#: ../gtk/gtkcombobox.c:948 -#| msgid "Text Column" +#: ../gtk/gtkcombobox.c:874 msgid "Entry Text Column" msgstr "ਐਂਟਰੀ ਟੈਕਸਟ ਕਾਲਮ" -#: ../gtk/gtkcombobox.c:949 +#: ../gtk/gtkcombobox.c:875 msgid "" "The column in the combo box's model to associate with strings from the entry " "if the combo was created with #GtkComboBox:has-entry = %TRUE" msgstr "" +"ਕੰਬੋਬਾਕਸ ਦੇ ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਐਂਟਰੀ ਤੋਂ ਲਾਈਨ ਨਾਲ ਸਬੰਧਿਤ ਹੈ, ਜੇ ਕਾਲਮ ਨੂੰ " +"#GtkComboBox:has-entry = %TRUE " +"ਨਾਲ ਬਣਾਇਆ ਹੋਵੇ" -#: ../gtk/gtkcombobox.c:966 -#| msgid "Columns" +#: ../gtk/gtkcombobox.c:892 msgid "ID Column" msgstr "ID ਕਾਲਮ" -#: ../gtk/gtkcombobox.c:967 +#: ../gtk/gtkcombobox.c:893 msgid "" "The column in the combo box's model that provides string IDs for the values " "in the model" -msgstr "" +msgstr "ਕੰਬੋਬਾਕਸ ਦੇ ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਮਾਡਲ ਵਿੱਚ ਮੁੱਲ ਲਈ ਲਾਈਨ ID ਦਿੰਦਾ ਹੈ" -#: ../gtk/gtkcombobox.c:982 -#| msgid "Active" +#: ../gtk/gtkcombobox.c:908 msgid "Active id" msgstr "ਸਰਗਰਮ id" -#: ../gtk/gtkcombobox.c:983 -#| msgid "The name of the icon from the icon theme" +#: ../gtk/gtkcombobox.c:909 msgid "The value of the id column for the active row" msgstr "ਐਕਟਿਵ ਕਤਾਰ ਲਈ id ਕਾਲਮ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkcombobox.c:998 -#| msgid "Fixed Width" +#: ../gtk/gtkcombobox.c:924 msgid "Popup Fixed Width" msgstr "ਪੋਪਅੱਪ ਸਥਿਰ ਚੌੜਾਈ" -#: ../gtk/gtkcombobox.c:999 +#: ../gtk/gtkcombobox.c:925 msgid "" "Whether the popup's width should be a fixed width matching the allocated " "width of the combo box" msgstr "ਕੀ ਪੋਪਅੱਪ ਦੀ ਚੌੜਾਈ ਕੰਬੋ ਬਾਕਸ ਦੀ ਦਿੱਤੀ ਗਈ ਚੌੜਾਈ ਦੇ ਮੁਤਾਬਕ ਸਥਿਰ ਹੋਵੇ" -#: ../gtk/gtkcombobox.c:1007 +#: ../gtk/gtkcombobox.c:948 msgid "Appears as list" msgstr "ਸੂਚੀ ਦੀ ਦਿੱਸੇ" -#: ../gtk/gtkcombobox.c:1008 +#: ../gtk/gtkcombobox.c:949 msgid "Whether dropdowns should look like lists rather than menus" msgstr "ਕੀ ਲਟਕਣ ਹੇਠਾਂ-ਖੁੱਲ੍ਹਣ ਵਾਲਾ ਮੇਨੂ ਦੀ ਤਰਾਂ ਨਾ ਹੋਕੇ ਇੱਕ ਲਿਸਟ ਵਾਂਗ ਦਿੱਸੇ" -#: ../gtk/gtkcombobox.c:1024 +#: ../gtk/gtkcombobox.c:965 msgid "Arrow Size" msgstr "ਤੀਰ ਆਕਾਰ" -#: ../gtk/gtkcombobox.c:1025 +#: ../gtk/gtkcombobox.c:966 msgid "The minimum size of the arrow in the combo box" msgstr "ਕੰਬੋ ਬਾਕਸ ਵਿੱਚ ਤੀਰ ਦਾ ਘੱਟੋ-ਘੱਟ ਆਕਾਰ ਹੈ।" -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 #: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "ਛਾਂ ਕਿਸਮ" -#: ../gtk/gtkcombobox.c:1041 +#: ../gtk/gtkcombobox.c:982 msgid "Which kind of shadow to draw around the combo box" msgstr "ਕੰਬੋ ਬਾਕਸ ਦੁਆਲੇ ਕਿਸ ਕਿਸਮ ਦੀ ਛਾਂ ਖਿੱਚੀ ਜਾਵੇ" -#: ../gtk/gtkcontainer.c:451 +#: ../gtk/gtkcontainer.c:453 msgid "Resize mode" msgstr "ਮੁੜ-ਅਕਾਰ ਮੋਡ" -#: ../gtk/gtkcontainer.c:452 +#: ../gtk/gtkcontainer.c:454 msgid "Specify how resize events are handled" msgstr "ਦੱਸੋ ਕਿ ਮੁੜ-ਅਕਾਰ ਘਟਨਾ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਿਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkcontainer.c:459 +#: ../gtk/gtkcontainer.c:461 msgid "Border width" msgstr "ਕਿਨਾਰੇ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkcontainer.c:460 +#: ../gtk/gtkcontainer.c:462 msgid "The width of the empty border outside the containers children" msgstr "ਕੰਨਟੇਨਰ ਚਲਾਇਡਰਨ ਦੇ ਬਾਹਰ ਖਾਲੀ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkcontainer.c:468 +#: ../gtk/gtkcontainer.c:470 msgid "Child" msgstr "ਚਲਾਇਡ" -#: ../gtk/gtkcontainer.c:469 +#: ../gtk/gtkcontainer.c:471 msgid "Can be used to add a new child to the container" msgstr "ਕੰਨਟੇਨਰ ਵਿੱਚ ਨਵਾਂ ਚਲਾਇਡ ਨੂੰ ਜੋੜਨ ਦੇ ਕੰਮ ਆਉਦੀ ਹੈ" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "ਸੰਖੇਪ ਖੇਤਰ ਦਾ ਕਿਨਾਰਾ" -#: ../gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:290 msgid "Width of border around the main dialog area" msgstr "ਮੁੱਲ਼ ਤੱਖਤੀ ਖੇਤਰ ਦੇ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "ਸਮੱਗਰੀ ਖੇਤਰ ਥਾਂ" -#: ../gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:308 msgid "Spacing between elements of the main dialog area" msgstr "ਮੁੱਖ ਡਾਈਲਾਗ ਖੇਤਰ ਦੀਆਂ ਇਕਾਈਆਂ ਵਿੱਚ ਥਾਂ" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "ਬਟਨ ਦੀ ਥਾਂ" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "ਬਟਨਾਂ ਵਿੱਚਕਾਰ ਥਾਂ" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:325 msgid "Width of border around the button area at the bottom of the dialog" msgstr "ਤੱਖਤੀ ਦੇ ਹੇਠ ਬਟਨਾਂ ਦੇ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" @@ -2188,19 +2428,19 @@ msgstr "ਟੈਕਸਟ ਬਫਰ" msgid "Text buffer object which actually stores entry text" msgstr "ਟੈਕਸਟ ਬਫ਼ਰ ਆਬਜੈਕਟ, ਜੋ ਕਿ ਅਸਲ ਵਿੱਚ ਐਂਟਰੀ ਟੈਕਸਟ ਸਟੋਰ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "ਕਰਸਰ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਦੀ ਮੌਜੂਦਾ ਸਥਿਤੀ" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "ਚੋਣ ਸੀਮਾ" -#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 msgid "The position of the opposite end of the selection from the cursor in chars" msgstr "ਕਰਸਰ ਤੋਂ ਚੋਣ ਦੀ ਵਿਰੋਧੀ ਸਿਰਿਆ ਤੱਕ ਦੀ ਸਥਿਤੀ ਅੱਖਰਾਂ ਵਿੱਚ" @@ -2296,7 +2536,7 @@ msgstr "ਕੀ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਛਾਂਟੀਆਂ ਬਹ msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "ਐਂਟਰੀ ਦੁਆਲੇ ਕਿਸ ਕਿਸਮ ਦੀ ਸ਼ੈਡੋ ਬਣਾਉਣੀ ਹੈ, ਜਦੋਂ ਕਿ ਫਰੇਮ ਸੈੱਟ ਹੋਵੇ" -#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 msgid "Overwrite mode" msgstr "ਉੱਤੇ ਵੇਖਾਉਣ ਦਾ ਢੰਗ" @@ -2484,11 +2724,11 @@ msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਨਿ msgid "Secondary icon tooltip markup" msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਨਿਸ਼ਾਨਬੱਧ" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 msgid "IM module" msgstr "IM ਮੋਡੀਊਲ" -#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 msgid "Which IM module should be used" msgstr "ਕਿਹੜਾ IM ਮੋਡੀਊਲ ਵਰਤਿਆ ਜਾਵੇ" @@ -2520,150 +2760,142 @@ msgstr "ਬਫ਼ਰ ਦੀ ਸਮੱਗਰੀ" msgid "Length of the text currently in the buffer" msgstr "ਬਫ਼ਰ ਵਿੱਚ ਮੌਜੂਦਾ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkentrycompletion.c:267 +#: ../gtk/gtkentrycompletion.c:301 msgid "Completion Model" msgstr "ਪੂਰਤੀ ਮਾਡਲ" -#: ../gtk/gtkentrycompletion.c:268 +#: ../gtk/gtkentrycompletion.c:302 msgid "The model to find matches in" msgstr "ਮਾਡਲ, ਜਿਸ ਵਿੱਚ ਮੇਲ ਲੱਭਣਾ ਹੈ" -#: ../gtk/gtkentrycompletion.c:274 +#: ../gtk/gtkentrycompletion.c:308 msgid "Minimum Key Length" msgstr "ਘੱਟੋ-ਘੱਟ ਕੁੰਜੀ ਲੰਬਾਈ" -#: ../gtk/gtkentrycompletion.c:275 +#: ../gtk/gtkentrycompletion.c:309 msgid "Minimum length of the search key in order to look up matches" msgstr "ਮੇਲ ਲੱਭਣ ਲਈ ਖੋਜ ਕੁੰਜੀ ਦੀ ਘੱਟੋ-ਘੱਟ ਲੰਬਾਈ" -#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:617 msgid "Text column" msgstr "ਟੈਕਸਟ ਕਾਲਮ" -#: ../gtk/gtkentrycompletion.c:292 +#: ../gtk/gtkentrycompletion.c:326 msgid "The column of the model containing the strings." msgstr "ਮਾਡਲ ਦੇ ਕਾਲਮ ਵਿੱਚ ਸਤਰਾਂ ਇਸ ਤੋਂ ਪਰਾਪਤ ਕਰੇਗਾ।" -#: ../gtk/gtkentrycompletion.c:311 +#: ../gtk/gtkentrycompletion.c:345 msgid "Inline completion" msgstr "ਲਾਈਨ ਵਿੱਚ ਪੂਰਨ" -#: ../gtk/gtkentrycompletion.c:312 +#: ../gtk/gtkentrycompletion.c:346 msgid "Whether the common prefix should be inserted automatically" msgstr "ਕੀ ਆਮ ਅਗੇਤਰ ਆਟੋਮੈਟਿਕ ਹੀ ਜੋੜ ਦਿੱਤਾ ਜਾਵੇ" -#: ../gtk/gtkentrycompletion.c:326 +#: ../gtk/gtkentrycompletion.c:360 msgid "Popup completion" msgstr "ਪੋਪਅੱਪ ਪੂਰਨ" -#: ../gtk/gtkentrycompletion.c:327 +#: ../gtk/gtkentrycompletion.c:361 msgid "Whether the completions should be shown in a popup window" msgstr "ਕੀ ਇੱਕ ਪੋਪਅੱਪ ਵਿੰਡੋ ਵਿੱਚ ਪੂਰਨ ਕੀਤਾ ਜਾਵੇ" -#: ../gtk/gtkentrycompletion.c:342 +#: ../gtk/gtkentrycompletion.c:376 msgid "Popup set width" msgstr "ਪੋਪਅੱਪ ਸੈਟ ਚੌੜਾਈ" -#: ../gtk/gtkentrycompletion.c:343 +#: ../gtk/gtkentrycompletion.c:377 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੋਪਅੱਪ ਵਿੰਡੋ ਨੂੰ ਉਸੇ ਅਕਾਰ ਦੇ ਹੋਵੇਗਾ, ਜਿਸ ਦਾ ਇੰਦਰਾਜ਼ ਹੈ" -#: ../gtk/gtkentrycompletion.c:361 +#: ../gtk/gtkentrycompletion.c:395 msgid "Popup single match" msgstr "ਪੋਪਅੱਪ ਇੱਕਲਾ ਮੇਲ" -#: ../gtk/gtkentrycompletion.c:362 +#: ../gtk/gtkentrycompletion.c:396 msgid "If TRUE, the popup window will appear for a single match." msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਪੋਪਅੱਪ ਵਿੰਡੋ ਇੱਕ ਇੱਕਲੇ ਮੇਲ ਲਈ ਵਿਖਾਈ ਦੇਵੇਗਾ।" -#: ../gtk/gtkentrycompletion.c:376 +#: ../gtk/gtkentrycompletion.c:410 msgid "Inline selection" msgstr "ਇਨ-ਲਾਈਨ ਚੋਣ" -#: ../gtk/gtkentrycompletion.c:377 +#: ../gtk/gtkentrycompletion.c:411 msgid "Your description here" msgstr "ਆਪਣਾ ਵੇਰਵਾ ਇੱਥੇ ਦਿਓ" -#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 -msgid "Cell Area" -msgstr "ਸੈੱਲ ਖੇਤਰ" - -#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 -msgid "The GtkCellArea used to layout cells" -msgstr "ਸੈੱਲ ਲੇਆਉਟ ਲਈ ਵਰਤਣ ਵਾਸਤੇ GtkCellArea" - -#: ../gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "Visible Window" msgstr "ਦਿੱਖ ਵਿੰਡੋ" -#: ../gtk/gtkeventbox.c:102 +#: ../gtk/gtkeventbox.c:110 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." msgstr "ਕੀ ਘਟਨਾ-ਡੱਬਾ ਦਿੱਸਯੋਗ ਹੋਵੇ, ਇਸ ਦੇ ਉਲਟ ਕਿ ਲੁਕਵਾਂ ਅਤੇ ਸਿਰਫ ਘਟਨਾਵਾਂ ਨੂੰ ਫੜੇ ਹੀ" -#: ../gtk/gtkeventbox.c:108 +#: ../gtk/gtkeventbox.c:116 msgid "Above child" msgstr "ਚਲਾਇਡ ਤੋਂ ਉੱਤੇ" -#: ../gtk/gtkeventbox.c:109 +#: ../gtk/gtkeventbox.c:117 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." msgstr "ਕੀ ਘਟਨਾ-ਡੱਬੇ ਦਾ ਘਟਨਾ ਫੜਨ ਵਾਲੀ ਵਿੰਡੋ ਚਾਲਇਡ ਵਿਦਗਿਟ ਦੇ ਉੱਤੇ ਹੋਵੇ ,ਇਸ ਦੇ ਉਲਟ ਕਿ ਇਸ ਦੇ ਹੇਠਾਂ" -#: ../gtk/gtkexpander.c:199 +#: ../gtk/gtkexpander.c:279 msgid "Expanded" msgstr "ਫੈਲਿਆ" -#: ../gtk/gtkexpander.c:200 +#: ../gtk/gtkexpander.c:280 msgid "Whether the expander has been opened to reveal the child widget" msgstr "ਕੀ ਫੈਲਾਣਵਾਲੇ ਨੂੰ ਚਲਾਇਡ ਵਿਦਗਿਟ ਨੂੰ ਖੋਲ੍ਹਣਾ ਚਾਹੀਦਾ ਹੈ" -#: ../gtk/gtkexpander.c:208 +#: ../gtk/gtkexpander.c:288 msgid "Text of the expander's label" msgstr "ਫੈਲੇ ਲੇਬਲ ਦਾ ਪਾਠ" -#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "ਨਿਸ਼ਾਨਬੰਦੀ ਵਰਤੋਂ" -#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਵਿੱਚ XML ਮਾਰਕਅੱਪ ਹੋਵੇ ਵੇਖੋ pango_parse_markup()" -#: ../gtk/gtkexpander.c:232 +#: ../gtk/gtkexpander.c:312 msgid "Space to put between the label and the child" msgstr "ਲੇਬਲ ਅਤੇ ਚਲਾਇਡ ਵਿੱਚ ਦੇਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 #: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "ਲੇਬਲ ਵਿਦਗਿਟ" -#: ../gtk/gtkexpander.c:242 +#: ../gtk/gtkexpander.c:322 msgid "A widget to display in place of the usual expander label" msgstr "ਵਿਦਗਿਟ, ਆਮ ਫੈਲਾੳ ਲੇਬਲ ਦੀ ਥਾਂ ਵੇਖਾਉ " -#: ../gtk/gtkexpander.c:249 +#: ../gtk/gtkexpander.c:329 msgid "Label fill" msgstr "ਲੇਬਲ ਭਰੋ" -#: ../gtk/gtkexpander.c:250 +#: ../gtk/gtkexpander.c:330 msgid "Whether the label widget should fill all available horizontal space" msgstr "ਕੀ ਲੇਬਲ ਵਿਦਜੈੱਟ ਸਭ ਉਪਲੱਬਧ ਹਰੀਜੱਟਲ ਥਾਂ ਨੂੰ ਭਰੇ" -#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:1190 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "ਫੈਲਾ ਦਾ ਅਕਾਰ" -#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:1191 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "ਫੈਲਾ ਵਾਲੇ ਤੀਰ ਦਾ ਅਕਾਰ" -#: ../gtk/gtkexpander.c:266 +#: ../gtk/gtkexpander.c:346 msgid "Spacing around expander arrow" msgstr "ਫੈਲਾ ਵਾਲੇ ਤੀਰ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਥਾਂ" @@ -2796,7 +3028,7 @@ msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੀ Y ਸਥਿਤੀ" msgid "The title of the font selection dialog" msgstr "ਫੋਂਟ ਚੋਣਕਾਰ ਡਾਈਲਾਗ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:220 msgid "Font name" msgstr "ਫੋਂਟ ਨਾਂ" @@ -2840,87 +3072,158 @@ msgstr "ਅਕਾਰ ਵੇਖੋ" msgid "Whether selected font size is shown in the label" msgstr "ਕੀ ਚੁਣੇ ਫੋਂਟ ਅਕਾਰ ਨੂੰ ਲੇਬਲ ਵਿੱਚ ਵੇਖਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:221 msgid "The string that represents this font" msgstr "ਇਸ ਫੋਂਟ ਨੂੰ ਵੇਖਾਉਦੀ ਇੱਕ ਲਾਈਨ" -#: ../gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:227 msgid "Preview text" msgstr "ਟੈਕਸਟ ਝਲਕ" -#: ../gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:228 msgid "The text to display in order to demonstrate the selected font" msgstr "ਚੁਣੇ ਫੋਟਾਂ ਲਈ ਝਲਕ ਵੇਖਾਉਣ ਲਈ ਟੈਕਸਟ" -#: ../gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:132 msgid "Text of the frame's label" msgstr "ਫਰੇਮ ਦੇ ਲੇਬਲ ਦਾ ਸ਼ਬਦ" -#: ../gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:139 msgid "Label xalign" msgstr "ਲੇਬਲ x ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:140 msgid "The horizontal alignment of the label" msgstr "ਲੇਬਲ ਦੀ ਲੇਟਵੀ ਦਿਸ਼ਾ ਵਿੱਚ ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:148 msgid "Label yalign" msgstr "ਲੇਬਲ y ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:149 msgid "The vertical alignment of the label" msgstr "ਲੇਬਲ ਦੀ ਲੰਬਕਾਰੀ ਦਿਸ਼ਾ ਵਿੱਚ ਸਫ਼ਬੰਦੀ" -#: ../gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:157 msgid "Frame shadow" msgstr "ਫਰੇਮ ਛਾਂ" -#: ../gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:158 msgid "Appearance of the frame border" msgstr "ਫਰੇਮ ਦੇ ਹਾਸ਼ੀਏ ਦੀ ਦਿੱਖ" -#: ../gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:167 msgid "A widget to display in place of the usual frame label" msgstr "ਫਾਰਮ ਦੇ ਲੇਬਲ ਲਈ ਥਾਂ ਵੇਖਾਉਣ ਲਈ ਵਿਦਗਿਟ" -#: ../gtk/gtkhandlebox.c:189 +#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਤਾਰਾਂ ਵਿਚਕਾਰ" + +#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "ਕਾਲਮਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਾਲਮਾਂ ਵਿਚਕਾਰ" + +#: ../gtk/gtkgrid.c:1282 +#| msgid "Homogeneous" +msgid "Row Homogeneous" +msgstr "ਕਤਾਰ ਸਮਰੂਪ" + +#: ../gtk/gtkgrid.c:1283 +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the rows are all the same height" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਭ ਕਤਾਰਾਂ ਇੱਕੋ ਉਚਾਈ ਦੀਆਂ ਹੋਣਗੀਆਂ" + +#: ../gtk/gtkgrid.c:1289 +#| msgid "Homogeneous" +msgid "Column Homogeneous" +msgstr "ਕਾਲਮ ਸਮਰੂਪ" + +#: ../gtk/gtkgrid.c:1290 +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the columns are all the same width" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਭ ਕਾਲਮ ਇੱਕੋ ਉਚਾਈ ਦੇ ਹੋਣਗੇ" + +#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "ਖੱਬਾ ਨੱਥੀ" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "ਚਲਾਇਡ ਨਾਲ ਖੱਬੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" + +#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "ਉੱਤੇ ਨੱਥੀ" + +#: ../gtk/gtkgrid.c:1304 +#| msgid "The row number to attach the top of a child widget to" +msgid "The row number to attach the top side of a child widget to" +msgstr "ਕਤਾਰ ਗਿਣਤੀ, ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਉੱਪਰ ਸਿਰੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" + +#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "ਚੌੜਾਈ" + +#: ../gtk/gtkgrid.c:1311 +#| msgid "The number of columns in the table" +msgid "The number of columns that a child spans" +msgstr "ਚਲਾਈਡ ਸਪੇਨਸ ਲਈ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:668 +msgid "Height" +msgstr "ਉਚਾਈ" + +#: ../gtk/gtkgrid.c:1318 +#| msgid "The number of rows in the table" +msgid "The number of rows that a child spans" +msgstr "ਚਲਾਈਡ ਸਪੇਨਸ ਲਈ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkhandlebox.c:191 msgid "Appearance of the shadow that surrounds the container" msgstr "ਕੰਨਟੇਨਰ ਦੇ ਦੁਆਲੇ ਛਾਂ ਦੀ ਮੌਜੂਦਗੀ" -#: ../gtk/gtkhandlebox.c:197 +#: ../gtk/gtkhandlebox.c:199 msgid "Handle position" msgstr "ਸਥਿਤੀ ਨੂੰ ਵੇਖੋ" -#: ../gtk/gtkhandlebox.c:198 +#: ../gtk/gtkhandlebox.c:200 msgid "Position of the handle relative to the child widget" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਅਨੁਸਾਰ ਸੰਭਾਲਣ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkhandlebox.c:206 +#: ../gtk/gtkhandlebox.c:208 msgid "Snap edge" msgstr "ਕਿਨਾਰੇ ਦਾ ਦਰਿਸ਼" -#: ../gtk/gtkhandlebox.c:207 +#: ../gtk/gtkhandlebox.c:209 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" msgstr "ਹੈਡਲ-ਡੱਬੇ ਦਾ ਪਾਸਾ ਜੋ ਕਿ ਹੈਡਲ-ਡੱਬੇ ਨਾਲ ਡਾਕ ਅਤੇ ਡਾਕ-ਬਿੰਦੂ ਨਾਲ ਕਤਾਰਬੱਧ ਕੀਤਾ ਹੈ" -#: ../gtk/gtkhandlebox.c:215 +#: ../gtk/gtkhandlebox.c:217 msgid "Snap edge set" msgstr "ਕਿਨਾਰਾ ਸਮੂਹ ਦਾ ਦਰਿਸ਼" -#: ../gtk/gtkhandlebox.c:216 +#: ../gtk/gtkhandlebox.c:218 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" msgstr "ਕੀ ਸਨੈਪ-ਕਿਨਾਰੇ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਮੁੱਲ ਵਰਤਣਾ ਹੈ ਜਾਂ ਸਥਿਤੀ ਤੋਂ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkhandlebox.c:223 +#: ../gtk/gtkhandlebox.c:225 msgid "Child Detached" msgstr "ਚਲਾਈਡ ਵੱਖ ਕੀਤਾ" -#: ../gtk/gtkhandlebox.c:224 +#: ../gtk/gtkhandlebox.c:226 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -3014,16 +3317,16 @@ msgstr "ਆਈਟਮ ਸਥਿਤੀ" msgid "How the text and icon of each item are positioned relative to each other" msgstr "ਇੱਕ ਆਈਕਾਨ ਲਈ ਉਸਦਾ ਟੈਕਸਟ ਅਤੇ ਆਈਕਾਨ ਨੂੰ ਕਿਵੇਂ ਟਿਕਾਇਆ ਜਾਵੇ" -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 -#: ../gtk/gtktreeviewcolumn.c:358 +#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Reorderable" msgstr "ਮੁੜ-ਕਰਮਯੋਗ" -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1027 msgid "View is reorderable" msgstr "ਮੁੜ-ਕਰਮਯੋਗ ਦੀ ਤਰਾਂ ਵੇਖੋ" -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 +#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1177 msgid "Tooltip Column" msgstr "ਟੂਲ-ਟਿੱਪ ਕਾਲਮ" @@ -3055,89 +3358,89 @@ msgstr "ਚੋਣ ਬਕਸਾ ਐਲਫ਼ਾ" msgid "Opacity of the selection box" msgstr "ਚੋਣ ਬਕਸੇ ਦਾ ਬਲੌਰੀਪਨ" -#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "ਪਿਕਬਫ" -#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixbuf" -#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 -#: ../gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "ਫਾਇਲ-ਨਾਂ" -#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "ਲੋਡ ਕਰਨ ਅਤੇ ਵੇਖਾਉਣ ਲਈ ਫਾਇਲ-ਨਾਂ" -#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "ਸਟਾਕ ਚਿੱਤਰ ਵੇਖਾਉਣ ਲਈ ਸਟਾਕ ID" -#: ../gtk/gtkimage.c:258 +#: ../gtk/gtkimage.c:260 msgid "Icon set" msgstr "ਆਈਕਾਨ ਸੈੱਟ" -#: ../gtk/gtkimage.c:259 +#: ../gtk/gtkimage.c:261 msgid "Icon set to display" msgstr "ਵੇਖਾਉਣ ਲਈ ਆਈਕਾਨ ਸੈੱਟ" -#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 -#: ../gtk/gtktoolpalette.c:1030 +#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1031 msgid "Icon size" msgstr "ਆਈਕਾਨ ਆਕਾਰ" -#: ../gtk/gtkimage.c:267 +#: ../gtk/gtkimage.c:269 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "ਸਟਾਕ ਆਈਕਾਨ, ਆਈਕਾਨ ਸੈਟ ਜਾਂ ਨਾਂ ਆਈਕਾਨ ਲਈ ਲਿੰਕ ਅਕਾਰ" -#: ../gtk/gtkimage.c:283 +#: ../gtk/gtkimage.c:285 msgid "Pixel size" msgstr "ਪਿਕਸਲ ਅਕਾਰ" -#: ../gtk/gtkimage.c:284 +#: ../gtk/gtkimage.c:286 msgid "Pixel size to use for named icon" msgstr "ਨਾਮੀ ਆਈਕਾਨ ਲਈ ਪਿਕਸਲ ਅਕਾਰ" -#: ../gtk/gtkimage.c:292 +#: ../gtk/gtkimage.c:294 msgid "Animation" msgstr "ਸਜੀਵਤਾ" -#: ../gtk/gtkimage.c:293 +#: ../gtk/gtkimage.c:295 msgid "GdkPixbufAnimation to display" msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixbufAnimation" -#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "ਸੰਭਾਲਣ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "ਚਿੱਤਰ ਡੈਟਾ ਲਈ ਪੇਸ਼ਕਾਰੀ" -#: ../gtk/gtkimagemenuitem.c:149 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ, ਮੇਨੂ ਟੈਕਸਟ ਤੋਂ ਅੱਗੇ ਦਿੱਸਣ ਲਈ" -#: ../gtk/gtkimagemenuitem.c:164 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" msgstr "ਸਟਾਕ ਮੇਨੂ ਆਈਟਮ ਬਣਾਉਣ ਲਈ ਕੀ ਲੇਬਲ ਟੈਕਸਟ ਵਰਤਣਾ ਹੈ" -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 msgid "Accel Group" msgstr "ਅਸੈੱਲ ਗਰੁੱਪ" -#: ../gtk/gtkimagemenuitem.c:198 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚਾਂ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਅਸੈੱਲ ਗਰੁੱਪ" -#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 msgid "Message Type" msgstr "ਸੁਨੇਹਾ ਕਿਸਮ" -#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 msgid "The type of message" msgstr "ਸੁਨੇਹੇ ਦੀ ਕਿਸਮ" @@ -3153,28 +3456,29 @@ msgstr "ਖੇਤਰ ਦੇ ਐਲੀਮੈਂਟ ਵਿੱਚ ਥਾਂ" msgid "Width of border around the action area" msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:540 +#: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "ਸਕਰੀਨ" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 msgid "The screen where this window will be displayed" msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਕਿ ਵਿੰਡੋ ਵੇਖਾਈ ਜਾਵੇਗੀ" -#: ../gtk/gtklabel.c:567 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "ਲੇਬਲ ਦੇ ਸ਼ਬਦ" -#: ../gtk/gtklabel.c:574 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਤੇ ਲਾਗੂ ਕਰਨ ਲਈ ਸਟਾਇਲ ਗੁਣਾਂ ਦੀ ਲਿਸਟ" -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 msgid "Justification" msgstr "ਤਰਕਸੰਗਤ ਕਰੋ" -#: ../gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3183,119 +3487,111 @@ msgstr "" "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਦੀਆਂ ਸਤਰਾਂ ਦੀ ਇੱਕ-ਦੂਰਦੇ ਪ੍ਰਤੀ ਸ਼ਫ਼ਬੰਦੀ ਇਹ ਲੇਬਲ ਦੀ ਉਪਲੱਬਧ ਸਥਿਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ " "ਨਹੀਂ ਕਰਦੀ ਹੈ। ਇਸ ਦੇ ਲਈGtkMisc::xalign ਨੂੰ ਵੇਖੋ।" -#: ../gtk/gtklabel.c:604 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "ਪੈਟਰਨ" -#: ../gtk/gtklabel.c:605 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" msgstr "ਕੀ ਸਤਰਾਂ _ ਅੱਖਰਾਂ ਨਾਲ ਜਿੱਥੇ ਕਿ ਉਹਨਾਂ ਦੀ ਸਥਿਤੀ ਹੈ, ਨੂੰ ਸ਼ਬਦਾਂ ਨੂੰ ਹੇਠਾਂ ਲਾਈਨ ਲਾ ਦੇਵੇ" -#: ../gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "ਲਾਈਨ ਸਮੇਟੋ" -#: ../gtk/gtklabel.c:613 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "ਜੇ ਦਿੱਤਾ ਤਾਂ, ਲਾਈਨਾਂ ਨੂੰ ਲੇਪਟਿਆ ਜਾਵੇਗਾ ਜੇਕਰ ਟੈਕਸਟ ਜਿਆਦਾ ਹੀ ਚੌੜਾ ਹੋ ਗਿਆ" -#: ../gtk/gtklabel.c:628 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "ਲਾਈਨ ਲਪੇਟਣ ਮੋਡ" -#: ../gtk/gtklabel.c:629 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "ਜੇਕਰ ਲਪੇਟਣਾ ਸੈੱਟ ਹੋਵੇ ਤਾਂ ਲਾਈਨ-ਲਪੇਟਣ ਬਾਰੇ ਕੰਟਰੋਲ ਹੋਇਆ" -#: ../gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "ਚੋਣ-ਯੋਗ" -#: ../gtk/gtklabel.c:637 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "ਕੀ ਲੇਬਲ ਦੇ ਸ਼ਬਦ ਮਾਊਸ ਨਾਲ ਚੁਣੇ ਜਾ ਸਕਣ" -#: ../gtk/gtklabel.c:643 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "ਮਨਾਮੈਰਿਕ ਕੀ" -#: ../gtk/gtklabel.c:644 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "ਇਸ ਲੇਬਲ ਲਈ ਮਨਾਮੈਰਿਕ -ਤੇਜ਼-ਕੀ" -#: ../gtk/gtklabel.c:652 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "ਮਨਾਮੈਰਿਕ ਵਿਦਗਿਟ" -#: ../gtk/gtklabel.c:653 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "ਵਿਦਗਿਟ ਸਰਗਰਮ ਹੋ ਜਾਵੇ ਜਦੋਂ ਕਿ ਲੇਬਲ ਦੀ ਅੰਕੀ ਕੀ ਦਬਾਈ ਜਾਵੇ" -#: ../gtk/gtklabel.c:699 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" msgstr "ਅੰਡਾਕਾਰ ਸਤਰ ਲਈ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਲੇਬਲ ਕੋਲ ਲੋੜੀਂਦੀ ਸਤਰ ਵੇਖਾਉਣ ਲਈ ਪੂਰੀ ਥਾਂ ਨਾ ਹੋਵੇ" -#: ../gtk/gtklabel.c:740 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "ਇੱਕਲੀ ਲਾਈਨ ਮੋਡ" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "ਕੀ ਲੇਬਲ ਇੱਕ ਇੱਕਲੇ ਲਾਈਨ ਮੋਡ ਵਿੱਚ ਹੋਵੇ" -#: ../gtk/gtklabel.c:758 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "ਕੋਣ" -#: ../gtk/gtklabel.c:759 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "ਕੋਣ, ਜਿਸ ਉੱਤੇ ਲੇਬਲ ਨੂੰ ਘੁੰਮਾਉਣਾ ਹੈ" -#: ../gtk/gtklabel.c:781 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "ਲੇਬਲ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਲੋੜੀਦੀ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtklabel.c:799 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "ਖੋਲ੍ਹੋ ਲਿੰਕ ਵੇਖੋ" -#: ../gtk/gtklabel.c:800 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "ਕੀ ਖੋਲ੍ਹੇ ਗਏ ਟਰੈਕਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨਾ ਹੈ" -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 -msgid "Width" -msgstr "ਚੌੜਾਈ" - #: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "ਲੇਆਉਟ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtklayout.c:668 -msgid "Height" -msgstr "ਉਚਾਈ" - #: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "ਲੇਆਉਟ ਦੀ ਉਚਾਈ" -#: ../gtk/gtklinkbutton.c:174 +#: ../gtk/gtklinkbutton.c:173 msgid "URI" msgstr "URI" -#: ../gtk/gtklinkbutton.c:175 +#: ../gtk/gtklinkbutton.c:174 msgid "The URI bound to this button" msgstr "ਇਸ ਬਟਨ ਲਈ URI ਬਾਊਂਡ" -#: ../gtk/gtklinkbutton.c:189 +#: ../gtk/gtklinkbutton.c:188 msgid "Visited" msgstr "ਖੋਲ੍ਹੇ ਗਏ" -#: ../gtk/gtklinkbutton.c:190 +#: ../gtk/gtklinkbutton.c:189 msgid "Whether this link has been visited." msgstr "ਕੀ ਇਹ ਲਿੰਕ ਪਹਿਲਾਂ ਖੋਲ੍ਹਿਆ ਗਿਆ ਹੈ।" @@ -3319,7 +3615,7 @@ msgstr "ਮੇਨ-ਪੱਟੀ ਦੀ ਚਾਈਲਡ ਪੈਕ ਦਿਸ਼ਾ" msgid "Style of bevel around the menubar" msgstr "ਮੇਨੂ-ਬਾਰ ਦੇ ਦੁਆਲੇ ਬੀਵਲ ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "ਅੰਦਰੂਨੀ ਚਿਣਾਈ" @@ -3327,191 +3623,187 @@ msgstr "ਅੰਦਰੂਨੀ ਚਿਣਾਈ" msgid "Amount of border space between the menubar shadow and the menu items" msgstr "ਹਾਸ਼ੀਏ ਦੀ ਥਾਂ ਦਾ ਅਕਾਰ ਮੇਨੂ-ਬਾਰ ਦੇ ਪਰਛਾਵੇ ਅਤੇ ਮੇਨੂ ਚੀਜਾਂ ਦੇ ਵਿੱਚਕਾਰ" -#: ../gtk/gtkmenu.c:521 +#: ../gtk/gtkmenu.c:517 msgid "The currently selected menu item" msgstr "ਮੌਜੂਦਾ ਚੁਣੀ ਮੇਨੂ ਆਈਟਮ ਹੈ।" -#: ../gtk/gtkmenu.c:536 +#: ../gtk/gtkmenu.c:532 msgid "The accel group holding accelerators for the menu" msgstr "ਮੇਨੂ ਲਈ ਅਸੈੱਲ ਗਰੁੱਪ ਰੱਖਣ ਵਾਲੇ ਐਕਸਰਲੇਟਰ" -#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 +#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "ਅਸੈੱਲ ਪਾਥ" -#: ../gtk/gtkmenu.c:551 +#: ../gtk/gtkmenu.c:547 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "ਅਸੈੱਲ ਪਾਥ, ਜੋ ਕਿ ਚਾਈਲਡ ਆਈਟਮਾਂ ਦਾ ਅਸੈਲ ਪਾਥ ਬਣਾਉਣ ਲਈ ਸੌਖਾ ਹੋਵੇ" -#: ../gtk/gtkmenu.c:567 +#: ../gtk/gtkmenu.c:563 msgid "Attach Widget" msgstr "ਵਿਡਜੈੱਟ ਨੱਥੀ" -#: ../gtk/gtkmenu.c:568 +#: ../gtk/gtkmenu.c:564 msgid "The widget the menu is attached to" msgstr "ਨੱਥੀ ਕਰਨ ਲਈ ਵਿਡਜੈੱਟ ਮੇਨੂ" -#: ../gtk/gtkmenu.c:576 +#: ../gtk/gtkmenu.c:572 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "ਜਦੋਂ ਲਿਸਟ ਨੂੰ ਹਟਾਇਆ ਜਾਵੇ ਤਾਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਦਾ ਉਪਲੱਬਧ ਟਾਇਟਲ, ਜੋ ਕਿ ਦਿੱਸ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkmenu.c:590 +#: ../gtk/gtkmenu.c:586 msgid "Tearoff State" msgstr "ਵੱਖ ਹਾਲਤ" -#: ../gtk/gtkmenu.c:591 +#: ../gtk/gtkmenu.c:587 msgid "A boolean that indicates whether the menu is torn-off" msgstr "ਇੱਕ ਬੁਲੀਅਨ ਮੁੱਲ, ਜੋ ਕਿ ਮੇਨੂ ਨੂੰ ਵੱਖ ਹੋਣਯੋਗ ਬਣਾਉਦਾ ਹੈ" -#: ../gtk/gtkmenu.c:605 +#: ../gtk/gtkmenu.c:601 msgid "Monitor" msgstr "ਮਾਨੀਟਰ" -#: ../gtk/gtkmenu.c:606 +#: ../gtk/gtkmenu.c:602 msgid "The monitor the menu will be popped up on" msgstr "ਮੇਨੂ ਨਿਗਾਰਨ ਖੁੱਲ੍ਹੇਗਾ" -#: ../gtk/gtkmenu.c:612 +#: ../gtk/gtkmenu.c:608 msgid "Vertical Padding" msgstr "ਲੰਬਕਾਰੀ ਚਿਣੋ" -#: ../gtk/gtkmenu.c:613 +#: ../gtk/gtkmenu.c:609 msgid "Extra space at the top and bottom of the menu" msgstr "ਮੇਨੂ ਦੇ ਉੱਤੇ ਅਤੇ ਹੇਠਾਂ ਵਾਧੂ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkmenu.c:635 +#: ../gtk/gtkmenu.c:631 msgid "Reserve Toggle Size" msgstr "ਉਲਟ ਟਾਗਲ ਆਕਾਰ" -#: ../gtk/gtkmenu.c:636 +#: ../gtk/gtkmenu.c:632 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "ਇੱਕ ਬੁਲੀਅਨ ਮੁੱਲ, ਜੋ ਕਿ ਮੇਨੂ ਨੂੰ ਟਾਗਲ ਅਤੇ ਆਈਕਾਨ ਲਈ ਮੇਨੂ ਉਲਟ ਥਾਂ ਰੱਖੇ।" -#: ../gtk/gtkmenu.c:642 +#: ../gtk/gtkmenu.c:638 msgid "Horizontal Padding" msgstr "ਖਿਤਿਜੀ ਚਿਣੋ" -#: ../gtk/gtkmenu.c:643 +#: ../gtk/gtkmenu.c:639 msgid "Extra space at the left and right edges of the menu" msgstr "ਮੇਨੂ ਦੇ ਉੱਪਰਲੇ ਅਤੇ ਹੇਠਲੇ ਕਿਨਾਰੇ ਉੱਤੇ ਵਾਧੂ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkmenu.c:651 +#: ../gtk/gtkmenu.c:647 msgid "Vertical Offset" msgstr "ਲੰਬਕਾਰੀ ਆਫਸੈੱਟ" -#: ../gtk/gtkmenu.c:652 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" msgstr "ਜਦੋਂ ਮੇਨੂ ਵਿੱਚ ਸਬ-ਮੇਨੂ ਹੋਵੇ ਤਾਂ, ਇਸ ਨੂੰ ਇੰਨੇ ਪਿਕਸਿਲ ਲੰਬਕਾਰ ਦਿਸ਼ਾ ਵਿੱਚ ਸੰਤੁਲਿਤ ਕਰੋ" -#: ../gtk/gtkmenu.c:660 +#: ../gtk/gtkmenu.c:656 msgid "Horizontal Offset" msgstr "ਲੇਟਵੀ ਆਫਸੈੱਟ" -#: ../gtk/gtkmenu.c:661 +#: ../gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" msgstr "ਜਦੋਂ ਮੇਨੂ ਵਿੱਚ ਸਬ-ਮੇਨੂ ਹੋਵੇ ਤਾਂ, ਇਸ ਨੂੰ ਇੰਨੇ ਪਿਕਸਿਲ ਲੇਟਵੀ ਦਿਸ਼ਾ ਸੰਤੁਲਿਤ ਕਰੋ" -#: ../gtk/gtkmenu.c:669 +#: ../gtk/gtkmenu.c:665 msgid "Double Arrows" msgstr "ਦੋਹਰੇ ਤੀਰ" -#: ../gtk/gtkmenu.c:670 +#: ../gtk/gtkmenu.c:666 msgid "When scrolling, always show both arrows." msgstr "ਸਕਰੋਲ ਕਰਨ ਦੌਰਾਨ, ਹਮੇਸ਼ਾ ਦੋਵੇਂ ਤੀਰ ਵੇਖਾਓ।" -#: ../gtk/gtkmenu.c:683 +#: ../gtk/gtkmenu.c:679 msgid "Arrow Placement" msgstr "ਤੀਰ ਥਾਂ" -#: ../gtk/gtkmenu.c:684 +#: ../gtk/gtkmenu.c:680 msgid "Indicates where scroll arrows should be placed" msgstr "ਵੇਖਾਉਦਾ ਹੈ ਕਿ ਕਿੱਥੇ ਸਕਰੋਲ ਤੀਰ ਰੱਖੇ ਜਾਣਗੇ" -#: ../gtk/gtkmenu.c:692 +#: ../gtk/gtkmenu.c:688 msgid "Left Attach" msgstr "ਖੱਬਾ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 -msgid "The column number to attach the left side of the child to" -msgstr "ਚਲਾਇਡ ਨਾਲ ਖੱਬੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" - -#: ../gtk/gtkmenu.c:700 +#: ../gtk/gtkmenu.c:696 msgid "Right Attach" msgstr "ਸੱਜੇ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:701 +#: ../gtk/gtkmenu.c:697 msgid "The column number to attach the right side of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਸੱਜੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:708 +#: ../gtk/gtkmenu.c:704 msgid "Top Attach" msgstr "ਉੱਤੇ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:709 +#: ../gtk/gtkmenu.c:705 msgid "The row number to attach the top of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਉਪਰਲੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਸਤਰ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:716 +#: ../gtk/gtkmenu.c:712 msgid "Bottom Attach" msgstr "ਹੇਠਾਂ ਜੋੜੋ" -#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "ਚਲਾਇਡ ਨਾਲ ਹੇਠਲੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਸਤਰ ਦਾ ਨੰਬਰ" -#: ../gtk/gtkmenu.c:731 +#: ../gtk/gtkmenu.c:727 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "ਸਕਰੋਲ ਤੀਰ ਦਾ ਸਾਈਜ਼ ਘਟਾਉਣ ਲਈ ਸਥਿਰ ਅੰਕ" -#: ../gtk/gtkmenuitem.c:283 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "ਸੱਜੇ ਇਕਸਾਰ" -#: ../gtk/gtkmenuitem.c:284 +#: ../gtk/gtkmenuitem.c:282 msgid "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "ਮੇਨ ਬਾਰੇ ਦੇ ਸੱਜੇ ਕੋਨੇ ਉੱਤੇ ਮੇਨੂ ਆਈਟਮ ਵੇਖਾਉਣ ਲਈ ਸੈੱਟ ਕਰੇਗਾ" -#: ../gtk/gtkmenuitem.c:298 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "ਸਬ-ਮੇਨੂ" -#: ../gtk/gtkmenuitem.c:299 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "ਮੇਨ ਆਈਟਮ ਨਾਲ ਜੁੜਿਆ ਸਬ-ਮੇਨੂ, ਜਾਂ ਕੁਝ ਨਾ ਹੋਣ ਦੇ ਰੂਪ ਵਿੱਚ NULL" -#: ../gtk/gtkmenuitem.c:317 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "ਮੇਨੂ ਆਈਟਮ ਦਾ ਐਕਸਰਲੇਸ਼ਨ ਪਾਥ ਸੈੱਟ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkmenuitem.c:332 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "ਚਾਈਲਡ ਲੇਬਲ ਲਈ ਟੈਕਸਟ" -#: ../gtk/gtkmenuitem.c:395 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "ਤੀਰ ਵਲੋਂ ਮੇਨੂ ਆਈਟਮ ਦੇ ਫੋਂਟ ਸਾਈਜ਼ ਮੁਤਾਬਕ ਵਰਤੀ ਥਾਂ ਦੀ ਮਾਤਰਾ" -#: ../gtk/gtkmenuitem.c:408 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" -#: ../gtk/gtkmenuitem.c:409 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਮੇਨੂ ਆਈਟਮਾਂਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਲੋੜੀਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkmenushell.c:381 +#: ../gtk/gtkmenushell.c:363 msgid "Take Focus" msgstr "ਫੋਕਸ ਲਵੋ" -#: ../gtk/gtkmenushell.c:382 +#: ../gtk/gtkmenushell.c:364 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "ਇੱਕ ਬੁਲੀਅਨ, ਜੋ ਕਿ ਮੇਨੂ-ਪੱਟੀ ਵਿੱਚ ਕੀ-ਬੋਰਡ ਫੋਕਸ ਲਵੇ" @@ -3523,63 +3815,63 @@ msgstr "ਮੇਨੂ" msgid "The dropdown menu" msgstr "ਲਕਟਦਾ ਮੇਨੂ" -#: ../gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:185 msgid "Image/label border" msgstr "ਚਿੱਤਰ/ਲੇਬਲ ਦਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:186 msgid "Width of border around the label and image in the message dialog" msgstr "ਸੁਨੇਹਾ ਤਖਤੀ ਵਿੱਚ ਲੇਬਲ ਅਤੇ ਚਿੱਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦਾ ਚੌੜਾਈ" -#: ../gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:210 msgid "Message Buttons" msgstr "ਸੁਨੇਹਾ ਬਟਨ" -#: ../gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:211 msgid "The buttons shown in the message dialog" msgstr "ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਵਿੱਚ ਬਟਨ ਵੇਖਾਓ" -#: ../gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:228 msgid "The primary text of the message dialog" msgstr "ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਲਈ ਮੁੱਢਲਾ ਪਾਠ" -#: ../gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:243 msgid "Use Markup" msgstr "ਮਾਰਕਅੱਪ ਵਰਤੋਂ" -#: ../gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the title includes Pango markup." msgstr "ਪੈਂਗੋ ਨਿਸ਼ਾਨਬੱਧ ਸਮੇਤ ਟਾਈਟਲ ਦਾ ਮੁੱਢਲਾ ਟੈਕਸਟ ਹੈ।" -#: ../gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:258 msgid "Secondary Text" msgstr "ਸੈਕੰਡਰੀ ਪਾਠ" -#: ../gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:259 msgid "The secondary text of the message dialog" msgstr "ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਦਾ ਸੈਕੰਡਰੀ ਪਾਠ" -#: ../gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:274 msgid "Use Markup in secondary" msgstr "ਸੈਕੰਡਰੀ ਵਿੱਚ ਨਿਸ਼ਾਨਬੱਧ ਵਰਤੋਂ" -#: ../gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text includes Pango markup." msgstr "ਪੈਂਗੋ ਨਿਸ਼ਾਨਬੱਧ ਸਮੇਤ ਸੈਕੰਡਰੀ ਟੈਕਸਟ ਹੈ।" -#: ../gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:289 msgid "Image" msgstr "ਚਿੱਤਰ" -#: ../gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:290 msgid "The image" msgstr "ਚਿੱਤਰ" -#: ../gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:306 msgid "Message area" msgstr "ਸੁਨੇਹਾ ਖੇਤਰ" -#: ../gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:307 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "GtkVBox ਜੋ ਕਿ ਡਾਈਲਾਗ ਦੇ ਪ੍ਰਾਇਮਰੀ ਤੇ ਸੈਕੰਡਰੀ ਲੇਬਲ ਰੱਖਦਾ ਹੈ" @@ -3627,51 +3919,51 @@ msgstr "ਕੀ ਅਸੀਂ ਡਾਈਲਾਗ ਵੇਖਾ ਰਹੇ ਹਨ" msgid "The screen where this window will be displayed." msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਇਹ ਵਿੰਡੋ ਵੇਖਾਈ ਜਾਵੇਗੀ।" -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:685 msgid "Page" msgstr "ਸਫ਼ਾ" -#: ../gtk/gtknotebook.c:693 +#: ../gtk/gtknotebook.c:686 msgid "The index of the current page" msgstr "ਮੌਜੂਦਾ ਸਫ਼ੇ ਦਾ ਇੰਡੈਕਸ" -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:694 msgid "Tab Position" msgstr "ਟੈਬ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtknotebook.c:702 +#: ../gtk/gtknotebook.c:695 msgid "Which side of the notebook holds the tabs" msgstr "ਨੋਟਬੁੱਕ ਦੇ ਕਿਹੜੇ ਪਾਸੇ ਟੈਬਾਂ ਨੂੰ ਸੰਭਾਲਿਆ ਜਾਵੇ" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:702 msgid "Show Tabs" msgstr "ਟੈਬਾਂ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:710 +#: ../gtk/gtknotebook.c:703 msgid "Whether tabs should be shown" msgstr "ਕੀ ਟੈਬ ਵੇਖਣੀਆਂ ਹਨ" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:709 msgid "Show Border" msgstr "ਹਾਸ਼ੀਆ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:717 +#: ../gtk/gtknotebook.c:710 msgid "Whether the border should be shown" msgstr "ਕੀ ਬਾਰਡਰ ਵੇਖਣਾ ਹੈ" -#: ../gtk/gtknotebook.c:723 +#: ../gtk/gtknotebook.c:716 msgid "Scrollable" msgstr "ਸਲਰੋਲ-ਵੋਗ" -#: ../gtk/gtknotebook.c:724 +#: ../gtk/gtknotebook.c:717 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਕਰੋਲ ਤੀਰ ਜੋੜੇ ਜਾਣਗੇ ਜੇਕਰ ਜਿਆਦਾ ਟੈਬਾਂ ਆ ਗਈਆ" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:723 msgid "Enable Popup" msgstr "ਉਭਾਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ" -#: ../gtk/gtknotebook.c:731 +#: ../gtk/gtknotebook.c:724 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3679,124 +3971,120 @@ msgstr "" "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਨੋਟ-ਬੁੱਕ ਤੇ ਮਾਊਸ ਦਾ ਸੱਜਾ ਬਟਨ ਦਬਾਉਣ ਨਾਲ ਮੇਨੂ ਆ ਜਾਵੇਗੀ, ਜੋ ਕਿ ਤੁਸੀਂ ਸਫੇ ਤੇ ਜਾਣ " "ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ " -#: ../gtk/gtknotebook.c:745 +#: ../gtk/gtknotebook.c:738 msgid "Group Name" msgstr "ਗਰੁੱਪ ਨਾਂ" -#: ../gtk/gtknotebook.c:746 +#: ../gtk/gtknotebook.c:739 msgid "Group name for tab drag and drop" msgstr "ਟੈਬ ਚੁੱਕਣ ਅਤੇ ਸੁੱਟਣ ਲਈ ਗਰੁੱਪ ਨਾਂ" -#: ../gtk/gtknotebook.c:753 +#: ../gtk/gtknotebook.c:746 msgid "Tab label" msgstr "ਟੈਬ ਲੇਬਲ" -#: ../gtk/gtknotebook.c:754 +#: ../gtk/gtknotebook.c:747 msgid "The string displayed on the child's tab label" msgstr "ਚਾਈਲਡ ਦੇ ਟੈਬ ਲੇਬਲ ਉੱਤੇ ਸਤਰ ਵਿਖਾਈ ਜਾਵੇ" -#: ../gtk/gtknotebook.c:760 +#: ../gtk/gtknotebook.c:753 msgid "Menu label" msgstr "ਮੇਨੂ ਲੇਬਲ" -#: ../gtk/gtknotebook.c:761 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed in the child's menu entry" msgstr "ਚਾਈਲਡ ਦੀ ਮੇਨੂ ਇੰਦਰਾਜ਼ ਵਿੱਚ ਸਤਰ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:774 +#: ../gtk/gtknotebook.c:767 msgid "Tab expand" msgstr "ਟੈਬ ਫੈਲਾਓ" -#: ../gtk/gtknotebook.c:775 +#: ../gtk/gtknotebook.c:768 msgid "Whether to expand the child's tab" msgstr "ਕੀ ਚਲਾਇਡ ਟੈਬ ਨੂੰ ਫੈਲਾਉਣਾ ਹੈ" -#: ../gtk/gtknotebook.c:781 +#: ../gtk/gtknotebook.c:774 msgid "Tab fill" msgstr "ਟੈਬ ਭਰੋ" -#: ../gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:775 msgid "Whether the child's tab should fill the allocated area" msgstr "ਕੀ ਚਾਈਲਡ ਦੀ ਟੈਬ ਨੂੰ ਦਿੱਤੇ ਖੇਤਰ ਨੂੰ ਭਰਨ ਲਈ ਵਰਤਿਆ ਜਾਵੇ" -#: ../gtk/gtknotebook.c:795 -msgid "Tab pack type" -msgstr "ਟੈਬ ਪੈਕ ਕਿਸਮ" - -#: ../gtk/gtknotebook.c:802 +#: ../gtk/gtknotebook.c:782 msgid "Tab reorderable" msgstr "ਟੈਬ ਮੁੜ-ਕ੍ਰਮਯੋਗ" -#: ../gtk/gtknotebook.c:803 +#: ../gtk/gtknotebook.c:783 msgid "Whether the tab is reorderable by user action" msgstr "ਕੀ ਟੈਬ ਯੂਜ਼ਰ ਕਾਰਵਾਈ ਰਾਹੀਂ ਮੁੜ-ਕ੍ਰਮਬੱਧ ਹੋਣ ਯੋਗ ਹੋਵੇ" -#: ../gtk/gtknotebook.c:809 +#: ../gtk/gtknotebook.c:789 msgid "Tab detachable" msgstr "ਟੈਬ ਵੱਖ ਹੋਣ ਯੋਗ" -#: ../gtk/gtknotebook.c:810 +#: ../gtk/gtknotebook.c:790 msgid "Whether the tab is detachable" msgstr "ਕੀ ਟੈਬ ਵੱਖ ਹੋਣ ਹੋਵੇ" -#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "ਸੈਕੰਡਰੀ ਪਿੱਛੇਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:826 +#: ../gtk/gtknotebook.c:806 msgid "Display a second backward arrow button on the opposite end of the tab area" msgstr "ਟੈਬ ਖੇਤਰ ਦੇ ਵਿਰੋਧੀ ਸਿਰੇ ਤੇ ਦੂਜਾ ਪਿੱਛੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "ਸੈਕੰਡਰੀ ਅੱਗੇਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:842 +#: ../gtk/gtknotebook.c:822 msgid "Display a second forward arrow button on the opposite end of the tab area" msgstr "ਟੈਬ ਖੇਤਰ ਦੇ ਵਿਰੋਧੀ ਸਿਰੇ ਤੇ ਦੂਜਾ ਅੱਗੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਉ" -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "ਪਿੱਛੇ ਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "ਮਿਆਰੀ ਪਿੱਛੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਉ" -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "ਅੱਗੇਵੱਲ ਜਾਣਵਾਲਾ" -#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "ਸਟੈਂਡਰਡ ਅੱਗੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਓ" -#: ../gtk/gtknotebook.c:886 +#: ../gtk/gtknotebook.c:866 msgid "Tab overlap" msgstr "ਟੈਬ ਢਕਣ" -#: ../gtk/gtknotebook.c:887 +#: ../gtk/gtknotebook.c:867 msgid "Size of tab overlap area" msgstr "ਟੈਬ ਢਕਣ ਖੇਤਰ ਦਾ ਅਕਾਰ" -#: ../gtk/gtknotebook.c:902 +#: ../gtk/gtknotebook.c:882 msgid "Tab curvature" msgstr "ਟੈਬ ਕਰਵੇਚਰ" -#: ../gtk/gtknotebook.c:903 +#: ../gtk/gtknotebook.c:883 msgid "Size of tab curvature" msgstr "ਟੈਬ ਕਰਵੇਚਰ ਦਾ ਆਕਾਰ" -#: ../gtk/gtknotebook.c:919 +#: ../gtk/gtknotebook.c:899 msgid "Arrow spacing" msgstr "ਤੀਰ ਥਾਂ" -#: ../gtk/gtknotebook.c:920 +#: ../gtk/gtknotebook.c:900 msgid "Scroll arrow spacing" msgstr "ਸਕਰੋਲ ਤੀਰ ਥਾਂ" -#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 -#: ../gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" msgstr "ਹਾਲਤ" @@ -3804,71 +4092,71 @@ msgstr "ਹਾਲਤ" msgid "The orientation of the orientable" msgstr "ਸਥਿਤੀ-ਯੋਗ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkpaned.c:328 +#: ../gtk/gtkpaned.c:327 msgid "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "ਪੈਨਡ ਵੱਖਰੇਵੇ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ (0 ਦਾ ਅਰਥ ਹੈ ਸਭ ਪਾਸਿਆ ਤੋਂ ਖੱਬੇ/ਉੱਤੇ ਵੱਲ)" -#: ../gtk/gtkpaned.c:337 +#: ../gtk/gtkpaned.c:336 msgid "Position Set" msgstr "ਸਥਿਤੀ ਸੈੱਟ" -#: ../gtk/gtkpaned.c:338 +#: ../gtk/gtkpaned.c:337 msgid "TRUE if the Position property should be used" msgstr "ਸਹੀ ਜੇਕਰ ਸਥਿਤੀ-ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkpaned.c:344 +#: ../gtk/gtkpaned.c:343 msgid "Handle Size" msgstr "ਹੈਡਲ ਅਕਾਰ" -#: ../gtk/gtkpaned.c:345 +#: ../gtk/gtkpaned.c:344 msgid "Width of handle" msgstr "ਹੈਡਲ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkpaned.c:361 +#: ../gtk/gtkpaned.c:360 msgid "Minimal Position" msgstr "ਘੱਟੋ-ਘੱਟੋ ਟਿਕਾਣਾ" -#: ../gtk/gtkpaned.c:362 +#: ../gtk/gtkpaned.c:361 msgid "Smallest possible value for the \"position\" property" msgstr "\"ਟਿਕਾਣਾ\" ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸੰਭਵ ਛੋਟੇ ਤੋਂ ਛੋਟਾ ਮੁੱਲ" -#: ../gtk/gtkpaned.c:379 +#: ../gtk/gtkpaned.c:378 msgid "Maximal Position" msgstr "ਵੱਡੀ ਤੋਂ ਵੱਡੀ ਟਿਕਾਣਾ" -#: ../gtk/gtkpaned.c:380 +#: ../gtk/gtkpaned.c:379 msgid "Largest possible value for the \"position\" property" msgstr "\"ਟਿਕਾਣਾ\" ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸੰਭਵ ਵੱਡੇ ਤੋਂ ਵੱਡਾ ਮੁੱਲ" -#: ../gtk/gtkpaned.c:397 +#: ../gtk/gtkpaned.c:396 msgid "Resize" msgstr "ਮੁੜ-ਅਕਾਰ" -#: ../gtk/gtkpaned.c:398 +#: ../gtk/gtkpaned.c:397 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਚਲਾਇਡ ਪੈਨਲ ਵਿਦਗਿਟ ਨਾਲ ਫੈਲ਼ ਅਤੇ ਸੁੰਘੜ ਸਕਦਾ ਹੈ " -#: ../gtk/gtkpaned.c:413 +#: ../gtk/gtkpaned.c:412 msgid "Shrink" msgstr "ਸੁੰਘੜੋ" -#: ../gtk/gtkpaned.c:414 +#: ../gtk/gtkpaned.c:413 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਚਲਾਇਡ ਇਸ ਦੇ ਅਸਲੀ ਅਕਾਰ ਤੋਂ ਛੋਟਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 msgid "Embedded" msgstr "ਸ਼ਾਮਲ ਕੀਤਾ" -#: ../gtk/gtkplug.c:178 +#: ../gtk/gtkplug.c:181 msgid "Whether the plug is embedded" msgstr "ਕੀ ਪਲੱਗ ਸ਼ਾਮਲ (ਇੰਬੈੱਡ) ਕੀਤਾ ਜਾਵੇ" -#: ../gtk/gtkplug.c:192 +#: ../gtk/gtkplug.c:195 msgid "Socket Window" msgstr "ਸਾਕਟ ਵਿੰਡੋ" -#: ../gtk/gtkplug.c:193 +#: ../gtk/gtkplug.c:196 msgid "The window of the socket the plug is embedded in" msgstr "ਇੰਬੈੱਡ ਕੀਤੇ ਪਲੱਗਇ ਦੇ ਸਾਕਟ ਦੀ ਵਿੰਡੋ" @@ -3981,11 +4269,11 @@ msgid "Printer settings" msgstr "ਪਰਿੰਟਰ ਸੈਟਿੰਗ" #: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 -#: ../gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintunixdialog.c:299 msgid "Page Setup" msgstr "ਸਫ਼ਾ ਸੈੱਟਅੱਪ" -#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "ਪਰਿੰਟ ਹਾਲਤ ਟਰੈਕ" @@ -3997,57 +4285,57 @@ msgstr "" "ਸਹੀਂ, ਜੇ ਪਰਿੰਟ ਕਾਰਵਾਈ ਬਦਲਵੇਂ ਹਾਲਤ ਮੁਤਾਬਕ ਸਿੰਗਨਲ ਦਿੰਦਾ ਰਹੇ, ਭਾਵੇਂ ਕਿ ਪਰਿੰਟ ਡਾਟਾ ਪਰਿੰਟਰ ਜਾਂ " "ਪਰਿੰਟ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾ ਚੁੱਕਿਆ ਹੋਵੇ।" -#: ../gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1008 msgid "Default Page Setup" msgstr "ਡਿਫਾਲਟ ਸਫ਼ਾ ਸੈੱਟਅੱਪ" -#: ../gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1009 msgid "The GtkPageSetup used by default" msgstr "ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ GtkPageSetup" -#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:317 msgid "Print Settings" msgstr "ਪਰਿੰਟ ਸੈਟਿੰਗ" -#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:318 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "ਡਾਈਲਾਗ ਸ਼ੁਰੂ ਕਰਨ ਲਈ GtkPrintSettings" -#: ../gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1046 msgid "Job Name" msgstr "ਜਾਬ ਨਾਂ" -#: ../gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1047 msgid "A string used for identifying the print job." msgstr "ਪਰਿੰਟ ਕੰਮ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਇੱਕ ਸਤਰ ਹੈ।" -#: ../gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1071 msgid "Number of Pages" msgstr "ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1072 msgid "The number of pages in the document." msgstr "ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ ਹੈ।" -#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:307 msgid "Current Page" msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ" -#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:308 msgid "The current page in the document" msgstr "ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਮੌਜੂਦਾ ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1115 msgid "Use full page" msgstr "ਪੂਰਾ ਸਫ਼ਾ ਵਰਤੋਂ" -#: ../gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1116 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" msgstr "ਸਹੀ, ਜੇ ਪਰਸੰਗ ਦੀ ਸ਼ੁਰੂਆਤ ਸਫ਼ੇ ਦੇ ਕੋਨੇ ਤੋਂ ਹੋਵੇ ਅਤੇ ਚਿੱਤਰ-ਯੋਗ ਖੇਤਰ ਦੇ ਕੋਨੇ ਤੋਂ ਨਹੀਂ" -#: ../gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1137 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4055,119 +4343,119 @@ msgstr "" "ਸਹੀਂ, ਜੇ ਪਰਿੰਟ ਓਪਰੇਸ਼ਨ ਪਰਿੰਟ ਜਾਬ ਹਾਲਤ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਰਹੇ, ਭਾਵੇਂ ਕਿ ਪਰਿੰਟ ਡਾਟਾ ਪਰਿੰਟਰ " "ਜਾਂ ਪਰਿੰਟ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾ ਚੁੱਕਿਆ ਹੋਵੇ।" -#: ../gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1154 msgid "Unit" msgstr "ਯੂਨਿਟ" -#: ../gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1155 msgid "The unit in which distances can be measured in the context" msgstr "ਪਰਸੰਗ ਵਿੱਚ ਦੂਰੀ ਮਾਪਣ ਵਾਸਤੇ ਇਕਾਈ" -#: ../gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1172 msgid "Show Dialog" msgstr "ਡਾਈਲਾਗ ਵੇਖਾਓ" -#: ../gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1173 msgid "TRUE if a progress dialog is shown while printing." msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਿੰਗ ਦੌਰਾਨ ਤਰੱਕੀ ਡਾਈਲਾਗ ਵੇਖਾਉਣਾ ਹੈ।" -#: ../gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1196 msgid "Allow Async" msgstr "ਅਸਮਕਾਲੀ ਵਰਤੋਂ" -#: ../gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1197 msgid "TRUE if print process may run asynchronous." msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟ ਕਾਰਵਾਈ ਅਸਮਕਾਲੀ ਢੰਗ ਨਾਲ ਚੱਲ ਸਕਦਾ ਹੋਵੇ।" -#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 msgid "Export filename" msgstr "ਫਾਇਲ-ਨਾਂ ਐਕਸਪੋਰਟ" -#: ../gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "ਹਾਲਤ" -#: ../gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1235 msgid "The status of the print operation" msgstr "ਪਰਿੰਟਰ ਦੀ ਕਾਰਜਕਾਰੀ ਹਾਲਤ" -#: ../gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1255 msgid "Status String" msgstr "ਹਾਲਤ ਸਤਰ" -#: ../gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1256 msgid "A human-readable description of the status" msgstr "ਹਾਲਤ ਦੀ ਪੜ੍ਹਨਯੋਗ ਵੇਰਵਾ" -#: ../gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1274 msgid "Custom tab label" msgstr "ਮੌਜਦਾ ਟੈਬ ਲੇਬਲ" -#: ../gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1275 msgid "Label for the tab containing custom widgets." msgstr "ਕਸਟਮ ਵਿਦਗਿਟ ਰੱਖਣ ਵਾਲੀ ਟੈਬ ਲਈ ਲੇਬਲ ਹੈ।" -#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:342 msgid "Support Selection" msgstr "ਚੋਣ ਸਹਿਯੋਗ" -#: ../gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1291 msgid "TRUE if the print operation will support print of selection." msgstr "ਜੇ ਪਰਿੰਟਰ ਕਾਰਵਾਈ ਚੋਣ ਲਈ ਪਰਿੰਟ ਲਈ ਸਹਾਇਕ ਹੋਵੇ ਤਾਂ ਸਹੀਂ।" -#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:350 msgid "Has Selection" msgstr "ਚੋਣ ਹੈ" -#: ../gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1308 msgid "TRUE if a selection exists." msgstr "ਸਹੀ, ਜੇ ਚੋਣ ਮੌਜੂਦ ਹੈ" -#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:358 msgid "Embed Page Setup" msgstr "ਵਿੱਚੇ ਸ਼ਾਮਲ ਸਫ਼ਾ ਸੈਟਅੱਪ" -#: ../gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1324 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "ਸਹੀ, ਜੇ ਸਫ਼ਾ ਸੈਟਅੱਪ ਨੂੰ GtkPrintDialog ਵਿੱਚ ਹੀ ਸ਼ਾਮਲ ਰੱਖਣਾ ਹੈ" -#: ../gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1345 msgid "Number of Pages To Print" msgstr "ਛਾਪਣ ਲਈ ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1346 msgid "The number of pages that will be printed." msgstr "ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ, ਜੋ ਕਿ ਛਾਪੇ ਜਾਣਗੇ।" -#: ../gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:300 msgid "The GtkPageSetup to use" msgstr "ਵਰਤਣ ਲਈ GtkPageSetup" -#: ../gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:325 msgid "Selected Printer" msgstr "ਚੁਣਿਆ ਪਰਿੰਟਰ" -#: ../gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:326 msgid "The GtkPrinter which is selected" msgstr "GtkPrinter, ਜੋ ਕਿ ਚੁਣਿਆ ਹੈ" -#: ../gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Manual Capabilities" msgstr "ਦਸਤੀ ਸਮਰੱਥਾ" -#: ../gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:334 msgid "Capabilities the application can handle" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਜੋ ਸਮਰੱਥਾ ਹੈਂਡਲ ਕਰ ਸਕਦੀ ਹੈ" -#: ../gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:343 msgid "Whether the dialog supports selection" msgstr "ਕੀ ਡਾਈਲਾਗ ਚੋਣ ਸਹਿਯੋਗ ਦੇਵੇ" -#: ../gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:351 msgid "Whether the application has a selection" msgstr "ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਚੋਣ ਦੇਵੇ" -#: ../gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:359 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "ਸਹੀ, ਜੇ ਸਫ਼ਾ ਸੈਟਅੱਪ GtkPrintUnixDialog ਵਿਚੇ ਹੀ ਸ਼ਾਮਲ ਹੋਵੇ" @@ -4296,129 +4584,121 @@ msgstr "ਰੇਡੀਉ ਮੇਨੂ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ msgid "The radio tool button whose group this button belongs to." msgstr "ਰੇਡੀਉ ਟੂਲ ਬਟਨ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ ਜਿਸ ਨਾਲ ਬਟਨ ਸਬੰਧਤ ਹੈ।" -#: ../gtk/gtkrange.c:422 -msgid "Update policy" -msgstr "ਅੱਪਡੇਟ ਪਾਲਸੀ" - -#: ../gtk/gtkrange.c:423 -msgid "How the range should be updated on the screen" -msgstr "ਸਕਰੀਨ ਤੇ ਰੇਜ਼ ਦਾ ਕਿੰਨੀ ਵਾਰ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ" - -#: ../gtk/gtkrange.c:432 +#: ../gtk/gtkrange.c:416 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "GtkAdjustment ਜੋ ਕਿ ਰੇਜ਼ ਆਬਜੈਕਟ ਦੀ ਮੌਜੂਦਾ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:424 msgid "Invert direction slider moves to increase range value" msgstr "ਬਦਲਵੀ ਦਿਸ਼ਾ ਵਾਲਾ ਸਲਾਇਡਰ ਰੇਜ਼ ਦਾ ਮੁੱਲ ਵਧਾਉਣ ਲਈ ਹਿੱਲੇ" -#: ../gtk/gtkrange.c:447 +#: ../gtk/gtkrange.c:431 msgid "Lower stepper sensitivity" msgstr "ਹੇਠਲੀ ਸਟੈਪਰ ਸੰਵੇਦਨਸ਼ੀਲਤਾ" -#: ../gtk/gtkrange.c:448 +#: ../gtk/gtkrange.c:432 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" msgstr "ਸਟਿੱਪਰ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਪਾਲਸੀ, ਜੋ ਕਿ ਹੇਠਲੇ ਪਾਸੇ ਦੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਪੁਆਇੰਟ ਕਰੇ।" -#: ../gtk/gtkrange.c:456 +#: ../gtk/gtkrange.c:440 msgid "Upper stepper sensitivity" msgstr "ਉੱਪਰੀ ਸਟੈਪਰ ਸੰਵੇਦਨਸ਼ੀਲਤਾ" -#: ../gtk/gtkrange.c:457 +#: ../gtk/gtkrange.c:441 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" msgstr "ਸਟਿੱਪਰ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਪਾਲਸੀ, ਜੋ ਕਿ ਉਤਲੇ ਪਾਸੇ ਦੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਪੁਆਇੰਟ ਕਰੇ।" -#: ../gtk/gtkrange.c:474 +#: ../gtk/gtkrange.c:458 msgid "Show Fill Level" msgstr "ਭਰਨ ਲੈਵਲ ਵੇਖਾਓ" -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:459 msgid "Whether to display a fill level indicator graphics on trough." msgstr "ਕੀ ਭਰਨ ਲੈਵਲ ਇੰਡੀਕੇਟਰ ਗਰਾਫਿਕਸ ਰਾਹੀਂ ਵੇਖਾਇਆ ਜਾਵੇ।" -#: ../gtk/gtkrange.c:491 +#: ../gtk/gtkrange.c:475 msgid "Restrict to Fill Level" msgstr "ਭਰਨ ਲੈਵਲ ਲਈ ਪਾਬੰਦੀ" -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:476 msgid "Whether to restrict the upper boundary to the fill level." msgstr "ਕੀ ਭਰਨ ਲੈਵਲ ਲਈ ਉਤਲੀ ਸੀਮਾ ਦੀ ਪਾਬੰਦੀ ਹੋਵੇ" -#: ../gtk/gtkrange.c:507 +#: ../gtk/gtkrange.c:491 msgid "Fill Level" msgstr "ਭਰਨ ਲੈਵਲ" -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:492 msgid "The fill level." msgstr "ਭਰਨ ਲੈਵਲ ਹੈ।" -#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 +#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 msgid "Slider Width" msgstr "ਸਲਾਇਡਰ ਚੌੜਾਈ" -#: ../gtk/gtkrange.c:517 +#: ../gtk/gtkrange.c:501 msgid "Width of scrollbar or scale thumb" msgstr "ਸਕਰੋਲਬਾਰ ਜਾਂ ਪੈਮਾਨਾ ਥੰਮ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkrange.c:524 +#: ../gtk/gtkrange.c:508 msgid "Trough Border" msgstr "ਕੁੰਡ ਦਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkrange.c:525 +#: ../gtk/gtkrange.c:509 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "ਥੰਬ/ਪਗਕਾਰਾਂ ਅਤੇ trough bevel ਵਿਚ ਫਾਸਲਾ" -#: ../gtk/gtkrange.c:532 +#: ../gtk/gtkrange.c:516 msgid "Stepper Size" msgstr "ਪਗਕਾਰ ਅਕਾਰ" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:517 msgid "Length of step buttons at ends" msgstr "ਅਖੀਰ ਤੇ ਪਗ-ਬਟਨ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkrange.c:548 +#: ../gtk/gtkrange.c:532 msgid "Stepper Spacing" msgstr "ਪਗਕਾਰ ਦੀ ਥਾਂ" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:533 msgid "Spacing between step buttons and thumb" msgstr "ਪਗ-ਬਟਨ ਅਤੇ ਥੰਬ ਵਿੱਚਕਾਰ ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkrange.c:556 +#: ../gtk/gtkrange.c:540 msgid "Arrow X Displacement" msgstr "ਤੀਰ X ਵਿਸਥਾਪਨ" -#: ../gtk/gtkrange.c:557 +#: ../gtk/gtkrange.c:541 msgid "How far in the x direction to move the arrow when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ x-ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿੱਲਾਉਣਾ ਹੈ" -#: ../gtk/gtkrange.c:564 +#: ../gtk/gtkrange.c:548 msgid "Arrow Y Displacement" msgstr "ਤੀਟ Y ਵਿਸਥਾਪਨ" -#: ../gtk/gtkrange.c:565 +#: ../gtk/gtkrange.c:549 msgid "How far in the y direction to move the arrow when the button is depressed" msgstr "ਜਦੋ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ y-ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿੱਲਾਉਣਾ ਹੈ" -#: ../gtk/gtkrange.c:583 +#: ../gtk/gtkrange.c:567 msgid "Trough Under Steppers" msgstr "ਸਟਿੱਪਰ ਦੇ ਹੇਠ ਤੱਕ" -#: ../gtk/gtkrange.c:584 +#: ../gtk/gtkrange.c:568 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "ਕੀ ਪੂਰੀ ਰੇਜ਼ ਦੀ ਲੰਬਾਈ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ ਜਾਂ ਸਟਿੱਪਰ ਅਤੇ ਖਾਲੀ ਥਾਂ ਨੂੰ ਅੱਡ ਰੱਖਣਾ ਹੈ।" -#: ../gtk/gtkrange.c:597 +#: ../gtk/gtkrange.c:581 msgid "Arrow scaling" msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" -#: ../gtk/gtkrange.c:598 +#: ../gtk/gtkrange.c:582 msgid "Arrow scaling with regard to scroll button size" msgstr "ਸਕਰੋਲ ਬਟਨ ਸਾਈਜ਼ ਮੁਤਾਬਕ ਤੀਰ ਸਕੇਲ ਕਰੋ" @@ -4510,23 +4790,23 @@ msgstr "ਸੂਚੀ ਸੰਭਾਲਣ ਅਤੇ ਪੜ੍ਹਨ ਲਈ ਵਰ msgid "The size of the recently used resources list" msgstr "ਇਸ ਸਮੇਂ ਵਰਤੀ ਸਰੋਤ ਸੂਚੀ ਦਾ ਆਕਾਰ" -#: ../gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:218 msgid "The value of the scale" msgstr "ਸਕੇਲ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:228 msgid "The icon size" msgstr "ਆਈਕਾਨ ਆਕਾਰ" -#: ../gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:237 msgid "The GtkAdjustment that contains the current value of this scale button object" msgstr "GtkAdjustment, ਜੋ ਕਿ ਇਹ ਸਕੇਲ ਬਟਨ ਆਬਜੈਕਟ ਦੀ ਮੌਜੂਦਾ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" -#: ../gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:265 msgid "Icons" msgstr "ਆਈਕਾਨ" -#: ../gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:266 msgid "List of icon names" msgstr "ਆਈਕਾਨ ਨਾਂ ਦੀ ਲਿਸਟ" @@ -4566,6 +4846,40 @@ msgstr "ਮੁੱਲ ਦੀ ਥਾਂ" msgid "Space between value text and the slider/trough area" msgstr "ਖਾਲ਼ੀ ਥਾਂ, ਸ਼ਬਦ ਅਤੇ ਪਗਕਾਰ/ਕੁੰਡ ਖੇਤਰ ਵਿੱਚ" +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "ਲੇਟਵਾਂ ਅਡਜੱਸਟਮੈਂਟ" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "ਹਰੀਜੱਟਲ ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਕਿ ਸਕਰੋਲਯੋਗ ਵਿਦਜੈੱਟ ਤੇ ਇਸ ਦੇ ਕੰਟਰੋਲਰ ਵਿੱਚ ਸਾਂਝੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "ਵਰਟੀਕਲ ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਕਿ ਸਕਰੋਲਯੋਗ ਵਿਦਜੈੱਟ ਤੇ ਇਸ ਦੇ ਕੰਟਰੋਲਰ ਵਿੱਚ ਸਾਂਝੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ" + +#: ../gtk/gtkscrollable.c:120 +#| msgid "Horizontal Scrollbar Policy" +msgid "Horizontal Scrollable Policy" +msgstr "ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਪਾਲਸੀ" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "ਸਮੱਗਰੀ ਦਾ ਆਕਾਰ ਕਿਵੇਂ ਜਾਣਿਆ ਜਾਵੇ" + +#: ../gtk/gtkscrollable.c:136 +#| msgid "Vertical Scrollbar Policy" +msgid "Vertical Scrollable Policy" +msgstr "ਵਰਟੀਕਲ ਸਕਰੋਲਯੋਗ ਪਾਲਸੀ" + #: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "ਘੱਟੋ-ਘੱਟ ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" @@ -4590,43 +4904,43 @@ msgstr "ਸਕਰੋਲਬਾਰ ਦੇ ਉਲਟ ਕਿਨਾਰੇ ਤੇ ਦ msgid "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "ਸਕਰੋਲਬਾਰ ਦੇ ਉਲਟ ਕਿਨਾਰੇ ਉੱਤੇ ਦੂਜਾ ਅੱਗੇ ਵਾਲਾ ਤੀਰ-ਬਟਨ ਵੇਖਾਓ" -#: ../gtk/gtkscrolledwindow.c:295 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "ਲੇਟਵੀ ਅਡਜੱਸਟਮੈਂਟ" -#: ../gtk/gtkscrolledwindow.c:296 +#: ../gtk/gtkscrolledwindow.c:297 msgid "The GtkAdjustment for the horizontal position" msgstr "ਲੇਟਵੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" -#: ../gtk/gtkscrolledwindow.c:302 +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" -#: ../gtk/gtkscrolledwindow.c:303 +#: ../gtk/gtkscrolledwindow.c:304 msgid "The GtkAdjustment for the vertical position" msgstr "ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" -#: ../gtk/gtkscrolledwindow.c:309 +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਦਾ ਢੰਗ" -#: ../gtk/gtkscrolledwindow.c:310 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "ਜਦੋਂ ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਵਿਖਾਇਆ ਗਿਆ" -#: ../gtk/gtkscrolledwindow.c:317 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ ਪਾਲਸੀ" -#: ../gtk/gtkscrolledwindow.c:318 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "ਜਦੋਂ ਲੰਬਕਾਰੀ ਸਕਰੌਲਬਾਰ ਵਿਖਾਇਆ ਗਿਆ" -#: ../gtk/gtkscrolledwindow.c:326 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "ਵਿੰਡੋ ਟਿਕਾਣਾ" -#: ../gtk/gtkscrolledwindow.c:327 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4634,11 +4948,11 @@ msgstr "" "ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਕਿੱਥੇ ਰੱਖਿਆ ਜਾਵੇ। ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ \"window-placement-set\" ਦੇ " "ਸਹੀਂ ਹੋਣ ਦੀ ਸੂਰਤ ਵਿੱਚ ਹੀ ਪਰਭਾਵੀ ਹੁੰਦੀ ਹੈ।" -#: ../gtk/gtkscrolledwindow.c:344 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "ਵਿੰਡੋ ਟਿਕਾਣਾ ਦਿਓ" -#: ../gtk/gtkscrolledwindow.c:345 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4646,45 +4960,43 @@ msgstr "" "ਕੀ \"window-placement\" ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਸਮੱਗਰੀ ਨੂੰ ਰੱਖਣ ਲਈ ਪਤਾ ਕਰਨ ਵਾਸਤੇ ਵਰਤਿਆ " "ਜਾਵੇ।" -#: ../gtk/gtkscrolledwindow.c:351 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "ਛਾਂ ਕਿਸਮ" -#: ../gtk/gtkscrolledwindow.c:352 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "ਹਿੱਸੇ ਦੁਆਲੇ bevel ਦੀ ਕਿਸਮ" -#: ../gtk/gtkscrolledwindow.c:366 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "ਬੀਵਲ ਨਾਲ ਸਕਰੋਲਬਾਰ" -#: ../gtk/gtkscrolledwindow.c:367 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "ਸਕਰੋਲ ਕੀਤੇ ਵਿੰਡੋ ਦੇ ਬੀਵਲ ਵਿੱਚ ਸਕਰੋਲਬਾਰ ਰੱਖੋ" -#: ../gtk/gtkscrolledwindow.c:373 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "ਸਕਰੌਲਬਾਰ ਵਿੱਥ" -#: ../gtk/gtkscrolledwindow.c:374 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "ਸਕਰੌਲਬਾਰ ਅਤੇ ਸਕਰੌਲ ਕੀਤੇ ਵਿੰਡੋ ਵਿਚਕਾਰ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkscrolledwindow.c:383 -#| msgid "Minimum Width" +#: ../gtk/gtkscrolledwindow.c:384 msgid "Minimum Content Width" msgstr "ਘੱਟੋ-ਘੱਟ ਸਮੱਗਰੀ ਚੌੜਾਈ" -#: ../gtk/gtkscrolledwindow.c:384 +#: ../gtk/gtkscrolledwindow.c:385 msgid "The minimum width that the scrolled window will allocate to its content" msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ, ਜੋ ਕਿ ਸਕਰੋਲ ਵਿੰਡੋ ਆਪਣੀ ਸਮੱਗਰੀ ਨੂੰ ਦੇਵੇਗੀ" -#: ../gtk/gtkscrolledwindow.c:390 -#| msgid "Minimum child height" +#: ../gtk/gtkscrolledwindow.c:391 msgid "Minimum Content Height" msgstr "ਘੱਟੋ-ਘੱਟ ਸਮੱਗਰੀ ਉਚਾਈ" -#: ../gtk/gtkscrolledwindow.c:391 +#: ../gtk/gtkscrolledwindow.c:392 msgid "The minimum height that the scrolled window will allocate to its content" msgstr "ਘੱਟੋ-ਘੱਟ ਉਚਾਈ, ਜੋ ਕਿ ਸਕਰੋਲ ਵਿੰਡੋ ਆਪਣੀ ਸਮੱਗਰੀ ਨੂੰ ਦੇਵੇਗੀ" @@ -4696,11 +5008,11 @@ msgstr "ਉਲੀਕੋ" msgid "Whether the separator is drawn, or just blank" msgstr "ਵਖਰੇਵਾਂ ਉਲੀਕਿਆ ਜਾਵੇ ਜਾਂ ਸਿਰਫ ਖਾਲੀ ਛੱਡਿਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:285 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "ਦੋ-ਵਾਰ ਦਬਾਉਣ ਦਾ ਸਮਾਂ" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4708,191 +5020,191 @@ msgstr "" "ਵੱਧ ਤੋਂ ਵੱਧ ਸਮਾਂ, ਪਹਿਲੀ ਤੇ ਦੂਜੀ ਵਾਰ ਦਬਾਉਣ ਵਿਚਕਾਰ ਜੋ ਕਿ ਇਹ ਸਮਝਿਆ ਜਾਵੇ ਕਿ ਇਹ ਦੋ-ਵਾਰ-" "ਦਬਾਇਆ ਗਿਆ ਹੈ (ਮਿਲੀ-ਸਕਿੰਟਾਂ ਵਿੱਚ)" -#: ../gtk/gtksettings.c:293 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "ਦੋ-ਵਾਰ ਦਬਾਉਣ ਦਾ ਫਾਸਲਾ" -#: ../gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" msgstr "ਦੋ ਦਬਾਉਣ ਵਿਚਕਾਰ ਵੱਧ ਤੋਂ ਵੱਧ ਮੰਨਣਯੋਗ ਦੂਰੀ ਜਿਸ ਨੂੰ ਦੋ-ਵਾਰ-ਦਬਾਇਆ ਜਾਵੇ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "ਕਰਸਰ ਝਪਕਣਾ" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "ਕੀ ਕਰਸਰ ਝਪਕੇ" -#: ../gtk/gtksettings.c:318 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "ਕਰਸਰ ਝਪਕਣ ਦਾ ਸਮਾਂ" -#: ../gtk/gtksettings.c:319 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "ਕਰਸਰ ਝਪਕਣ ਦੇ ਸਮਾਂ ਚੱਕਰ ਦੀ ਲੰਬਾਈ, ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "ਕਰਸਰ ਝਪਕਣ ਦਾ ਸਮਾਂ" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "ਸਮਾਂ, ਜਿਸ ਉਪਰੰਤ ਕਰਸਰ ਝਪਕਣਾ ਬੰਦ ਹੋਵੇ, ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "ਕਰਸਰ ਖਿੰਡਾਓ" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" msgstr "ਕੀ ਦੋ ਕਰਸਰਾਂ ਵੇਖਾਈਆ ਜਾਣ ਜੋ ਕਿ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਤੇ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਟੈਕਸਟ ਰੱਲਵੇ ਨੂੰ ਵੇਖਾਉਣ" -#: ../gtk/gtksettings.c:354 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "ਸਰੂਪ ਨਾਂ" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸਰੂਪ RC ਫਾਇਲ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:363 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "ਵਾਪਸੀ ਆਈਕਾਨ ਸਰੂਪ ਨਾਂ" -#: ../gtk/gtksettings.c:373 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "ਵਾਪਸ ਪਰਤਣ ਲਈ ਇੱਕ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "ਕੀ-ਸਰੂਪ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:382 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "ਲੋਡ ਕਰਨ ਲਈ ਕੀ-ਸਰੂਪ RC ਫਾਇਲ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "ਮੇਨੂ-ਪੱਟੀ ਤੇਜ਼" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "ਮੇਨੂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਲਈ ਕੀ-ਬਾਈਡਿੰਗ" -#: ../gtk/gtksettings.c:399 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "ਚੁੱਕਣ ਸਮੱਰਥਾ" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "ਖਿੱਚਣ ਤੋਂ ਪਹਿਲਾਂ ਕਰਸਰ ਕਿੰਨੇ ਪਿਕਸਲ ਹਿੱਲੇ" -#: ../gtk/gtksettings.c:408 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "ਫੋਂਟ-ਨਾਂ" -#: ../gtk/gtksettings.c:409 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "ਵਰਤਣ ਲਈ ਮੂਲ-ਫੋਂਟ ਦਾ ਨਾਂ" -#: ../gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "ਆਈਕਾਨ ਅਕਾਰ" -#: ../gtk/gtksettings.c:432 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "ਆਈਕਾਨ ਅਕਾਰ ਦੀ ਸੂਚੀ (gtk-ਸੂਚੀ=16,16;gtk-ਬਟਨ=20,20..." -#: ../gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "GTK ਮੈਡੀਊਲ" -#: ../gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "ਇਸ ਸਮੇਂ ਸਰਗਰਮ GTK ਮੈਡੀਊਲਾਂ ਦੀ ਸੂਚੀ" -#: ../gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Xft ਐਟੀਲਾਈਸਿਕ" -#: ../gtk/gtksettings.c:451 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "ਕੀ Xft ਫੋਂਟ ਨੂੰ ਐਟੀਲਾਈਸਿਕ ਕਰਨਾ ਹੈ; 0= ਨਹੀ, 1=ਹਾਂ, -1=ਮੂਲ" -#: ../gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Xft ਸੰਕੇਤ" -#: ../gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "ਕੀ ਸੰਕੇਤ ਦੇਣੇ ਹਨ Xft ਫੋਟ; 0=ਨਹੀ, 1=ਹਾਂ, -1=ਮੂਲ" -#: ../gtk/gtksettings.c:470 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Xft ਸੰਕੇਤ ਸਟਾਇਲ" -#: ../gtk/gtksettings.c:471 +#: ../gtk/gtksettings.c:485 msgid "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "ਕਿਸ ਤਰ੍ਹਾਂ ਦੇ ਸੰਕੇਤ ਵਰਤਣੇ ਹਨ ; ਕੋਈ ਨਹੀ, ਥੋੜੇ, ਮੱਧਮ, ਜਾਂ ਲੋੜ ਮੁਤਾਬਕ" -#: ../gtk/gtksettings.c:480 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:481 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "ਸਬ-ਪਿਕਸਲ ਐਟੀਲਾਈਸਇੰਗ ਦੀ ਕਿਸਮ; ਕੋਈ ਨਹੀ, rgb, bgr, vrgb, vbgr" -#: ../gtk/gtksettings.c:490 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "Xft DPI" -#: ../gtk/gtksettings.c:491 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "Xft ਲਈ ਰੈਜ਼ੋਲੂਸ਼ਨ, 1024 * ਬਿੰਦੂ/ਇੰਚ -1 ਮੂਲ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਵਰਤੋਂ" -#: ../gtk/gtksettings.c:500 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "ਕਰਸਰ ਸਰੂਪ ਨਾਂ" -#: ../gtk/gtksettings.c:501 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ, ਜਾਂ ਮੂਲ ਸਰੂਪ ਲਈ NULL" -#: ../gtk/gtksettings.c:509 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "ਕਰਸਰ ਸਰੂਪ ਅਕਾਰ" -#: ../gtk/gtksettings.c:510 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "ਵਰਤਣ ਲਈ ਕਰਸਰ ਅਕਾਰ, ਜਾਂ ਮੂਲ ਅਕਾਰ ਲਈ 0 ਦਿਓ" -#: ../gtk/gtksettings.c:520 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "ਬਦਲਵਾਂ ਬਟਨ ਕਰਮ" -#: ../gtk/gtksettings.c:521 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "ਕੀ ਡਾਈਲਾਗ ਦੇ ਬਟਨ ਲਈ ਬਦਲਵਾਂ ਬਟਨ ਕਰਮ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ" -#: ../gtk/gtksettings.c:538 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "ਬਦਲਵੀਂ ਲੜੀਬੱਧ ਸੂਚਕ ਦਿਸ਼ਾ" -#: ../gtk/gtksettings.c:539 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -4900,314 +5212,314 @@ msgstr "" "ਕੀ ਲਿਸਟ ਅਤੇ ਟਰੀ ਝਲਕ ਵਿੱਚ ਲੜੀਬੱਧ ਇੰਡੀਕੇਟਰ ਦੀ ਦਿਸ਼ਾ ਡਿਫਾਲਟ ਦੀ ਬਜਾਏ ਉਲਟ ਹੋਵੇ (ਜਿੱਥੇ ਕਿ " "ਹੇਠਾਂ ਦਾ ਮਤਲਬ ਵੱਧਦਾ ਹੈ)" -#: ../gtk/gtksettings.c:547 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "'ਇੰਪੁੱਟ ਢੰਗ' ਮੇਨੂ ਵੇਖਾਓ" -#: ../gtk/gtksettings.c:548 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" msgstr "ਕੀ ਐਂਟਰੀਆਂ ਦੇ ਸਬੰਧਿਤ ਮੇਨੂ ਅਤੇ ਟੈਕਸਟ ਝਲਕ ਇੰਪੁੱਟ ਢੰਗ ਬਦਲਣ ਨੂੰ ਦਰਸਾਉਣ" -#: ../gtk/gtksettings.c:556 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "'ਯੂਨੀਕੋਡ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰੋ' ਮੇਨੂ ਵੇਖਾਓ" -#: ../gtk/gtksettings.c:557 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" msgstr "ਕੀ ਐਂਟਰੀਆਂ ਦੇ ਸਬੰਧਿਤ ਮੇਨੂ ਅਤੇ ਟੈਕਸਟ ਝਲਕ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰਨ ਨੂੰ ਦਰਸਾਉਣ" -#: ../gtk/gtksettings.c:565 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "ਸ਼ੁਰੂਆਤੀ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:566 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "ਅੰਤਰਾਲ ਲਈ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ, ਜਦੋਂ ਕਿ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:575 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "ਦੁਹਰਾਉ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:576 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "ਅੰਤਰਾਲ ਦੁਹਰਾਉਣ ਮੁੱਲ, ਜਦੋਂ ਇੱਕ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:585 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "ਫੈਲਾ ਸਮਾਂ-ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:586 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "ਫੈਲਾਉਣ ਲਈ ਅੰਤਰਾਲ ਦਾ ਮੁੱਲ, ਜਦੋਂ ਕਿ ਇੱਕ ਵਿਦਗਿਟ ਇੱਕ ਨਵੇਂ ਖੇਤਰ ਨੂੰ ਫੈਲਾਉਦਾ ਹੋਵੇ" -#: ../gtk/gtksettings.c:621 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "ਰੰਗ ਸਕੀਮ" -#: ../gtk/gtksettings.c:622 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "ਸਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ ਨਾਮੀ ਰੰਗ ਦੀ ਇੱਕ ਰੰਗ-ਪੱਟੀ" -#: ../gtk/gtksettings.c:631 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "ਸਜੀਵਤਾ ਯੋਗ" -#: ../gtk/gtksettings.c:632 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "ਕੀ ਟੂਲ-ਕਿੱਟ ਸਜੀਵਤਾ ਯੋਗ" -#: ../gtk/gtksettings.c:650 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "ਟੱਚ-ਸਕਰੀਨ ਢੰਗ ਯੋਗ" -#: ../gtk/gtksettings.c:651 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਇਸ ਸਕਰੀਨ ਉੱਤੇ ਕੋਈ ਚੱਲਦੇ ਸੂਚਨਾ ਈਵੈਂਟ ਨਹੀਂ ਦਿੱਤੇ ਜਾਣਗੇ।" -#: ../gtk/gtksettings.c:668 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "ਟੂਲ-ਟਿੱਪ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:669 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "ਟੂਲ-ਟਿੱਪ ਵੇਖਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ" -#: ../gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "ਟੂਲ-ਟਿੱਪ ਝਲਕ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "ਝਲਕ ਮੋਡ ਯੋਗ ਕਰਨ ਦੌਰਾਨ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਟਾਈਮ-ਆਉਟ" -#: ../gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "ਟੂਲ-ਟਿੱਪ ਝਲਕ ਢੰਗ ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:717 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "ਅੰਤਰਾਲ, ਜਿਸ ਉਪਰੰਤ ਝਲਕ ਢੰਗ ਨੂੰ ਆਯੋਗ ਕਰ ਦਿੱਤਾ ਜਾਵੇ" -#: ../gtk/gtksettings.c:736 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "ਕੀ-ਨੇਵੀ ਕਰਸਰ ਹੀ" -#: ../gtk/gtksettings.c:737 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "ਜਦੋਂ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਕੇਵਲ ਇਹੀ ਕਰਸਰ ਸਵਿੱਚਾਂ ਹੋਣਗੀਆਂ, ਜੋ ਕਿ ਵਿਦਜੈੱਟ ਨੇਵੀਗੇਟ ਲਈ ਹੋਣਗੀਆਂ" -#: ../gtk/gtksettings.c:754 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "ਕੀ-ਨੇਵੀ ਦੁਆਥੇ ਸਮੇਟਣਾ" -#: ../gtk/gtksettings.c:755 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "ਕੀ ਪਾਸੇ ਸਮੇਟਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਕੀ-ਬੋਰਡ-ਨੇਵੀਗੇਸ਼ਨ ਵਿਦਗਿਟ ਹੋਵੇ" -#: ../gtk/gtksettings.c:775 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "ਗਲਤੀ ਘੰਟੀ" -#: ../gtk/gtksettings.c:776 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "ਜਦੋਂ ਸਹੀਂ ਤਾਂ ਕੀਬੋਰਡ ਨੇਵੀਗੇਸ਼ਨ ਅਤੇ ਹੋਰ ਗਲਤੀਆਂ ਲਈ ਬੀਪ ਹੋਵੇਗੀ" -#: ../gtk/gtksettings.c:793 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "ਰੰਗ ਹੈਸ਼" -#: ../gtk/gtksettings.c:794 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "ਰੰਗ ਸਕੀਮ ਨੂੰ ਇੱਕ ਹੈਸ਼ ਸਾਰਣੀ ਵਿੱਚ ਵੇਖਾਓ।" -#: ../gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "ਮੂਲ ਫਾਇਲ ਚੋਣ ਬੈਕਐਂਡ" -#: ../gtk/gtksettings.c:803 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "GtkFileChooser ਬੈਕਐਂਡ ਦਾ ਨਾਂ, ਜੋ ਕਿ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਣਾ ਹੈ" -#: ../gtk/gtksettings.c:820 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "ਮੂਲ ਪਰਿੰਟ ਬੈਕਐਂਡ" -#: ../gtk/gtksettings.c:821 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ GtkPrintBackend ਬੈਕਐਂਡ ਦੀ ਸੂਚੀ" -#: ../gtk/gtksettings.c:844 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "ਇੱਕ ਪਰਿੰਟ ਝਲਕ ਵੇਖਾਉਣ ਸਮੇਂ ਚਲਾਉਣ ਲਈ ਮੂਲ ਕਮਾਂਡ" -#: ../gtk/gtksettings.c:845 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "ਇੱਕ ਪਰਿੰਟ ਝਲਕ ਵੇਖਾਉਣ ਦੌਰਾਨ ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ" -#: ../gtk/gtksettings.c:861 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "ਨੀਮੋਨੀਸ ਯੋਗ" -#: ../gtk/gtksettings.c:862 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "ਕੀ ਲੇਬਲਾਂ ਨਾਲ ਨੀਮੋਨੀਸ ਹੋਣ" -#: ../gtk/gtksettings.c:878 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "ਐਕਸਰਲੇਟਰ ਯੋਗ" -#: ../gtk/gtksettings.c:879 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "ਕੀ ਮੇਨ ਆਈਟਮਾਂ ਵਿੱਚ ਐਕਸਲੇਟਰ ਹੋਣ" -#: ../gtk/gtksettings.c:896 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "ਤਾਜ਼ਾ ਫਾਇਲ ਲਿਮਟ" -#: ../gtk/gtksettings.c:897 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "ਤਾਜ਼ਾ ਵਰਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtksettings.c:915 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "ਮੂਲ IM ਮੋਡੀਊਲ" -#: ../gtk/gtksettings.c:916 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਕਿਹੜਾ IM ਮੋਡੀਊਲ ਵਰਤਿਆ ਜਾਵੇ" -#: ../gtk/gtksettings.c:934 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "ਤਾਜ਼ਾ ਫਾਇਲਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਉਮਰ" -#: ../gtk/gtksettings.c:935 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "ਦਿਨਾਂ ਵਿੱਚ ਤਾਜ਼ਾ ਵਰਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਉਮਰ" -#: ../gtk/gtksettings.c:944 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "ਫੋਂਟ-ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਟਾਈਮ-ਸਟੈਂਪ" -#: ../gtk/gtksettings.c:945 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "ਮੌਜੂਦਾ ਫੋਂਟ-ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਲਈ ਟਾਈਮ-ਸਟੈਂਪ" -#: ../gtk/gtksettings.c:967 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "ਸਾਊਂਡ ਥੀਮ ਨਾਂ" -#: ../gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "XDG ਸਾਊਂਡ ਥੀਮ ਨਾਂ" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:990 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "ਸੁਣਨਯੋਗ ਇੰਪੁੱਟ ਫੀਡਬੈਕ" -#: ../gtk/gtksettings.c:991 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" msgstr "ਕੀ ਯੂਜ਼ਰ ਇੰਪੁੱਟ ਲਈ ਫੀਬੈੱਕ ਵਜੋਂ ਈਵੈਂਟ ਸਾਊਂਡ ਦਿੱਤੀ ਜਾਵੇ" -#: ../gtk/gtksettings.c:1012 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "ਈਵੈਂਟ ਸਾਊਂਡ ਯੋਗ" -#: ../gtk/gtksettings.c:1013 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "ਕੀ ਸਭ ਲਈ ਕਿਸੇ ਵੀ ਈਵੈਂਟ ਲਈ ਸਾਊਂਡ ਚਲਾਈ ਜਾਵੇ" -#: ../gtk/gtksettings.c:1028 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "ਟੂਲ-ਟਿੱਪ ਯੋਗ" -#: ../gtk/gtksettings.c:1029 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "ਕੀ ਵਿਡਜੈੱਟਾਂ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਏ ਜਾਣ" -#: ../gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "ਟੂਲਬਾਰ ਸਟਾਇਲ" -#: ../gtk/gtksettings.c:1043 +#: ../gtk/gtksettings.c:1057 msgid "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "ਕੀ ਮੂਲ ਟੂਲਬਾਰ ਲਈ ਸ਼ਬਦ ਹੀ, ਸ਼ਬਦ ਤੇ ਆਈਕਾਨ, ਆਈਕਾਨ ਹੀ ਆਦਿ ਹੋਣ" -#: ../gtk/gtksettings.c:1057 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "ਟੂਲਬਾਰ ਆਈਕਾਨ ਆਕਾਰ" -#: ../gtk/gtksettings.c:1058 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "ਡਿਫਾਲਟ ਟੂਲਬਾਰ ਵਿੱਚ ਆਈਕਾਨ ਦਾ ਆਕਾਰ ਹੈ।" -#: ../gtk/gtksettings.c:1075 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "ਆਟੋ ਨੀਮੋਨੀਸ" -#: ../gtk/gtksettings.c:1076 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." msgstr "ਕੀ ਮਨਾਮੈਰਿਕ ਆਟੋਮੈਟਿਕ ਹੀ ਵੇਖਾਏ ਅਤੇ ਓਹਲੇ ਕੀਤੇ ਜਾਣ, ਜਦੋਂ ਯੂਜ਼ਰ ਮਨਾਮੈਰਿਕ ਐਕਟੀਵੇਟਰ ਕੀਤਾ ਜਾਵੇ।" -#: ../gtk/gtksettings.c:1101 +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਹੁੰਦੀ ਹੈ" -#: ../gtk/gtksettings.c:1102 +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." msgstr "ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਗੂੜ੍ਹਾ ਥੀਮ ਪਸੰਦ ਕਰੇ" -#: ../gtk/gtksettings.c:1117 +#: ../gtk/gtksettings.c:1131 msgid "Show button images" msgstr "ਬਟਨ-ਚਿੱਤਰ ਵੇਖਾਓ" -#: ../gtk/gtksettings.c:1118 +#: ../gtk/gtksettings.c:1132 msgid "Whether images should be shown on buttons" msgstr "ਕੀ ਬਟਨਾਂ ਉੱਤੇ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" -#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 msgid "Select on focus" msgstr "ਫੋਕਸ ਉੱਤੇ ਚੁਣੋ" -#: ../gtk/gtksettings.c:1127 +#: ../gtk/gtksettings.c:1141 msgid "Whether to select the contents of an entry when it is focused" msgstr "ਕੀ ਇੰਦਰਾਜ਼ ਵਿੱਚਲੇ ਹਿੱਸੇ ਨੂੰ ਚੁਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋ ਜਾਵੇ" -#: ../gtk/gtksettings.c:1144 +#: ../gtk/gtksettings.c:1158 msgid "Password Hint Timeout" msgstr "ਪਾਸਵਰਡ ਇਸ਼ਾਰਾ ਸਮਾਂ-ਅੰਤਰਾਲ" -#: ../gtk/gtksettings.c:1145 +#: ../gtk/gtksettings.c:1159 msgid "How long to show the last input character in hidden entries" msgstr "ਲੁਕਵੇਂ ਇੰਦਰਾਜ਼ਾਂ ਵਿੱਚ ਆਖਰੀ ਦਿੱਤੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਉਣ ਨੂੰ ਕਿੰਨਾ ਸਮਾਂ ਲੱਗੇ" -#: ../gtk/gtksettings.c:1154 +#: ../gtk/gtksettings.c:1168 msgid "Show menu images" msgstr "ਮੇਨੂ ਚਿੱਤਰ ਵੇਖੋ" -#: ../gtk/gtksettings.c:1155 +#: ../gtk/gtksettings.c:1169 msgid "Whether images should be shown in menus" msgstr "ਕੀ ਮੇਨੂ ਵਿੱਚ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" -#: ../gtk/gtksettings.c:1163 +#: ../gtk/gtksettings.c:1177 msgid "Delay before drop down menus appear" msgstr "ਲਟਕਦੇ ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" -#: ../gtk/gtksettings.c:1164 +#: ../gtk/gtksettings.c:1178 msgid "Delay before the submenus of a menu bar appear" msgstr "ਮੇਨੂ-ਬਾਰ ਦੀ ਸਬ-ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" -#: ../gtk/gtksettings.c:1181 +#: ../gtk/gtksettings.c:1195 msgid "Scrolled Window Placement" msgstr "ਸਕਰੋਲ ਕੀਤਾ ਵਿੰਡੋ ਟਿਕਾਣਾ" -#: ../gtk/gtksettings.c:1182 +#: ../gtk/gtksettings.c:1196 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5215,121 +5527,121 @@ msgstr "" "ਕੀ ਸਕਰੋਲ ਕੀਤੀਆਂ ਵਿੰਡੋਜ਼ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ, ਜੇ ਨਹੀਂ ਤਾਂ ਸਕਰੋਲ ਕੀਤੀਆਂ " "ਵਿੰਡੋਜ਼ ਦੀ ਆਪਣੀ ਸਥਿਤੀ ਮੁਤਾਬਕ ਵਰਤੀਆਂ ਜਾਣਗੀਆਂ।" -#: ../gtk/gtksettings.c:1191 +#: ../gtk/gtksettings.c:1205 msgid "Can change accelerators" msgstr "ਐਕਸਲੇਟਰ ਬਦਲ ਸਕਦੇ ਹਨ" -#: ../gtk/gtksettings.c:1192 +#: ../gtk/gtksettings.c:1206 msgid "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "ਕੀ ਮੇਨੂ-ਤੇਜ਼ ਲਿਸਟ ਉੱਤੇ ਇੱਕ ਕੀ ਦਬਾਉਣ ਨਾਲ ਤਬਦੀਲ ਹੋ ਜਾਣ" -#: ../gtk/gtksettings.c:1200 +#: ../gtk/gtksettings.c:1214 msgid "Delay before submenus appear" msgstr "ਸਬ-ਮੇਨੂ ਦੇ ਉਭੱਰਨ ਵਿੱਚ ਦੇਰੀ" -#: ../gtk/gtksettings.c:1201 +#: ../gtk/gtksettings.c:1215 msgid "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "ਘੱਟੋ-ਘੱਟ ਸਮਾਂ, ਜਿਸ ਲਈ ਸਬ-ਮੇਨੂ ਦੇ ਖੁੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਸੰਕੇਤਕ ਮੇਨੂ ਆਈਟਮ ਉੱਤੇ ਹੀ ਰਹੇ" -#: ../gtk/gtksettings.c:1210 +#: ../gtk/gtksettings.c:1224 msgid "Delay before hiding a submenu" msgstr "ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਵਿੱਚ ਦੇਰੀ" -#: ../gtk/gtksettings.c:1211 +#: ../gtk/gtksettings.c:1225 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" msgstr "ਸਮਾਂ ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ, ਜਦੋਂ ਕਿ ਸੰਕੇਤਕ ਸਬ-ਮੇਨੂ ਵੱਲ ਆ ਰਿਹਾ ਹੋਵੇ" -#: ../gtk/gtksettings.c:1221 +#: ../gtk/gtksettings.c:1235 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "ਕੀ ਚੁਣਨਯੋਗ ਲੇਬਲ ਦੀ ਸਮੱਗਰੀ ਚੁਣੀ ਜਾਵੇ, ਜਦੋਂ ਇਹ ਫੋਕਸ ਹੋਵੇ" -#: ../gtk/gtksettings.c:1229 +#: ../gtk/gtksettings.c:1243 msgid "Custom palette" msgstr "ਰੰਗ-ਪੱਟੀ ਦੀ ਚੋਣ" -#: ../gtk/gtksettings.c:1230 +#: ../gtk/gtksettings.c:1244 msgid "Palette to use in the color selector" msgstr "ਰੰਗ ਚੋਣ ਵਿੱਚ ਰੰਗ-ਪੱਟੀ ਵਰਤੋਂ" -#: ../gtk/gtksettings.c:1238 +#: ../gtk/gtksettings.c:1252 msgid "IM Preedit style" msgstr "IM ਪ੍ਰੀ-ਐਡੀਟ ਸਟਾਇਲ" -#: ../gtk/gtksettings.c:1239 +#: ../gtk/gtksettings.c:1253 msgid "How to draw the input method preedit string" msgstr "ਇੰਪੁੱਟ ਢੰਗ ਪ੍ਰੀ-ਐਡੀਟ ਲਾਈਨ ਨੂੰ ਕਿਸ-ਤਰ੍ਹਾਂ ਬਣਾਏ" -#: ../gtk/gtksettings.c:1248 +#: ../gtk/gtksettings.c:1262 msgid "IM Status style" msgstr "IM ਹਾਲਤ ਸਟਾਇਲ" -#: ../gtk/gtksettings.c:1249 +#: ../gtk/gtksettings.c:1263 msgid "How to draw the input method statusbar" msgstr "ਇੰਪੁੱਟ ਢੰਗ ਦੀ ਹਾਲਤ-ਪੱਟੀ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtksizegroup.c:350 +#: ../gtk/gtksizegroup.c:351 msgid "Mode" msgstr "ਢੰਗ" -#: ../gtk/gtksizegroup.c:351 +#: ../gtk/gtksizegroup.c:352 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" msgstr "ਦਿਸ਼ਾ, ਜਿਸ ਅਨੁਸਾਰ ਗਰੁੱਪ ਦਾ ਅਕਾਰ ਇਸ ਦੇ ਭਾਗ ਵਿਦਗਿਟਾਂ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtksizegroup.c:367 +#: ../gtk/gtksizegroup.c:368 msgid "Ignore hidden" msgstr "ਲੁਕਵਾਂ ਅਣਡਿੱਠਾ" -#: ../gtk/gtksizegroup.c:368 +#: ../gtk/gtksizegroup.c:369 msgid "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਗਰੁੱਪ ਦਾ ਅਕਾਰ ਬਣਾਉਣ ਸਮੇਂ ਲੁਕਵੇਂ ਵਿਦਗਿਟਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ ਦਿੱਤਾ ਜਾਵੇਗਾ" -#: ../gtk/gtkspinbutton.c:237 +#: ../gtk/gtkspinbutton.c:328 msgid "Climb Rate" msgstr "ਚੜਨ ਗਤੀ" -#: ../gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:348 msgid "Snap to Ticks" msgstr "ਸੰਕੇਤਾਂ ਲਈ ਸਨੈਪ" -#: ../gtk/gtkspinbutton.c:258 +#: ../gtk/gtkspinbutton.c:349 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" msgstr "ਕੀ ਗਲਤ ਮੁੱਲ ਆਪਣੇ-ਆਪ ਹੀ ਸਪਿਨ-ਬਟਨ ਦੇ ਨਜ਼ਦੀਕੀ ਵਾਧਾ ਮੁੱਲ ਵਿੱਚ ਬਦਲ ਜਾਣ" -#: ../gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:356 msgid "Numeric" msgstr "ਅੰਕੀ" -#: ../gtk/gtkspinbutton.c:266 +#: ../gtk/gtkspinbutton.c:357 msgid "Whether non-numeric characters should be ignored" msgstr "ਕੀ ਅੰਕਾਂ ਤੋਂ ਬਿਨਾਂ ਅੱਖਰਾਂ ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇ" -#: ../gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:364 msgid "Wrap" msgstr "ਲਪੇਟਣਾ" -#: ../gtk/gtkspinbutton.c:274 +#: ../gtk/gtkspinbutton.c:365 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "ਕੀ ਸਪਿਨ ਬਟਨ ਨੂੰ ਸਮੇਟਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਆਪਣੀਆ ਸੀਮਾਵਾਂ ਤੇ ਪੁੱਜ ਜਾਵੇ" -#: ../gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:372 msgid "Update Policy" msgstr "ਅੱਪਡੇਟ ਨੀਤੀ" -#: ../gtk/gtkspinbutton.c:282 +#: ../gtk/gtkspinbutton.c:373 msgid "Whether the spin button should update always, or only when the value is legal" msgstr "ਕੀ ਸਪਿਨ ਬਟਨ ਹਮੇਸ਼ਾ ਅੱਪਡੇਟ ਹੁੰਦਾ ਰਹੇ, ਜਾਂ ਇਸ ਦਾ ਮੁੱਲ ਸਥਿਰ ਹੈ" -#: ../gtk/gtkspinbutton.c:291 +#: ../gtk/gtkspinbutton.c:382 msgid "Reads the current value, or sets a new value" msgstr "ਮੌਜੂਦਾ ਮੁੱਲ ਨੂੰ ਪੜ੍ਹੋ, ਜਾਂ ਨਵਾਂ ਮੁੱਲ ਦਿਓ" -#: ../gtk/gtkspinbutton.c:300 +#: ../gtk/gtkspinbutton.c:391 msgid "Style of bevel around the spin button" msgstr "ਸਪੈਨ ਬਟਨ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" @@ -5358,73 +5670,85 @@ msgstr "ਐਨੀਮੇਸ਼ਨ ਅੰਤਰਾਲ" msgid "The length of time in milliseconds for the spinner to complete a full loop" msgstr "ਸਮੇਂ ਦਾ ਅੰਤਰਾਲ ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ, ਜਿਸ ਲਈ ਸਪਿਨਰ ਚੱਕਰ ਪੂਰਾ ਕਰੇ" -#: ../gtk/gtkstatusbar.c:181 +#: ../gtk/gtkstatusbar.c:183 msgid "Style of bevel around the statusbar text" msgstr "ਹਾਲਤ-ਪੱਟੀ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:262 msgid "The size of the icon" msgstr "ਆਈਕਾਨ ਦਾ ਅਕਾਰ" -#: ../gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:272 msgid "The screen where this status icon will be displayed" msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਕਿ ਹਾਲਤ ਆਈਕਾਨ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:280 msgid "Whether the status icon is visible" msgstr "ਕੀ ਹਾਲਤ ਆਈਕਾਨ ਵੇਖਾਈ ਦੇਵੇ" -#: ../gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:296 msgid "Whether the status icon is embedded" msgstr "ਕੀ ਹਾਲਤ ਆਈਕਾਨ ਸ਼ਾਮਲ ਕੀਤਾ ਹੋਵੇ" -#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 msgid "The orientation of the tray" msgstr "ਟਰੇ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1036 msgid "Has tooltip" msgstr "ਟੂਲ-ਟਿੱਪ ਹੋਣ" -#: ../gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:340 msgid "Whether this tray icon has a tooltip" msgstr "ਕੀ ਇਹ ਟਰੇ ਆਈਕਾਨ ਲਈ ਟੂਲ-ਟਿੱਪ ਹੋਵੇ" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1057 msgid "Tooltip Text" msgstr "ਟੂਲ-ਟਿੱਪ ਪਾਠ" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 msgid "The contents of the tooltip for this widget" msgstr "ਇਹ ਵਿਦਗਿਟ ਲਈ ਟੂਲ-ਟਿੱਪ ਦੀ ਸਮੱਗਰੀ ਹੈ" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1078 msgid "Tooltip markup" msgstr "ਟੂਲ-ਟਿੱਪ ਮਾਰਕਅੱਪ" -#: ../gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:390 msgid "The contents of the tooltip for this tray icon" msgstr "ਇਸ ਟਰੇ ਆਈਕਾਨ ਲਈ ਟੂਲ-ਟਿੱਪ ਦੀ ਸਮੱਗਰੀ" -#: ../gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:408 msgid "The title of this tray icon" msgstr "ਇਹ ਟਰੇ ਆਈਕਾਨ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtkstyle.c:470 +#: ../gtk/gtkstyle.c:468 msgid "Style context" msgstr "ਸਟਾਈਲ ਪਰਸੰਦ" -#: ../gtk/gtkstyle.c:471 +#: ../gtk/gtkstyle.c:469 msgid "GtkStyleContext to get style from" msgstr "ਇੱਥੋਂ ਸਟਾਈਲ ਲੈਣ ਲਈ GtkStyleContext " -#: ../gtk/gtkswitch.c:739 -#| msgid "Whether the widget is double buffered" +#: ../gtk/gtkstylecontext.c:541 +#| msgid "Associated device" +msgid "The associated GdkScreen" +msgstr "ਸਬੰਧਤ GdkScreen" + +#: ../gtk/gtkstylecontext.c:547 +#| msgid "Fraction" +msgid "Direction" +msgstr "ਦਿਸ਼ਾ" + +#: ../gtk/gtkstylecontext.c:548 ../gtk/gtktexttag.c:220 +msgid "Text direction" +msgstr "ਟੈਕਸਟ ਦੀ ਦਿਸ਼ਾ" + +#: ../gtk/gtkswitch.c:744 msgid "Whether the switch is on or off" msgstr "ਕੀ ਸਵਿੱਚ ਚਾਲੂ ਹੈ ਜਾਂ ਬੰਦ" -#: ../gtk/gtkswitch.c:773 -#| msgid "The minimum value of the adjustment" +#: ../gtk/gtkswitch.c:778 msgid "The minimum width of the handle" msgstr "ਹੈਂਡਲ ਲਈ ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" @@ -5444,30 +5768,10 @@ msgstr "ਕਾਲਮ" msgid "The number of columns in the table" msgstr "ਸਾਰਣੀ ਵਿੱਚ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtktable.c:175 -msgid "Row spacing" -msgstr "ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" - -#: ../gtk/gtktable.c:176 -msgid "The amount of space between two consecutive rows" -msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਤਾਰਾਂ ਵਿਚਕਾਰ" - -#: ../gtk/gtktable.c:184 -msgid "Column spacing" -msgstr "ਕਾਲਮਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" - -#: ../gtk/gtktable.c:185 -msgid "The amount of space between two consecutive columns" -msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਾਲਮਾਂ ਵਿਚਕਾਰ" - #: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਇਸ ਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਸਾਰਣੀ ਦੇ ਸਾਰੇ ਸੈਲ ਇੱਕੋ ਚੌੜਾਈ/ਉਚਾਈ ਹੈ" -#: ../gtk/gtktable.c:201 -msgid "Left attachment" -msgstr "ਖੱਬਾ ਨੱਥੀ" - #: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "ਸੱਜਾ ਨੱਥੀ" @@ -5476,10 +5780,6 @@ msgstr "ਸੱਜਾ ਨੱਥੀ" msgid "The column number to attach the right side of a child widget to" msgstr "ਕਾਲਮ ਗਿਣਤੀ ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਸੱਜੇ ਪਾਸੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" -#: ../gtk/gtktable.c:215 -msgid "Top attachment" -msgstr "ਉੱਤੇ ਨੱਥੀ" - #: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "ਕਤਾਰ ਗਿਣਤੀ ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਸਿਰੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" @@ -5524,47 +5824,47 @@ msgid "" "pixels" msgstr "ਚਲਾਇਡ ਅਤੇ ਇਸ ਦੇ ਉੱਤੇਲੇ ਤੇ ਹੇਠਲੇ ਗੁਆਢੀਆ ਵਿਚਕਾਰ ਵਾਧੂ ਥਾਂ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtktextbuffer.c:191 +#: ../gtk/gtktextbuffer.c:192 msgid "Tag Table" msgstr "ਟੈਗ ਸਾਰਣੀ" -#: ../gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "ਟੈਕਸਟ ਟੈਗ ਸਾਰਣੀ" -#: ../gtk/gtktextbuffer.c:210 +#: ../gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "ਬਫ਼ਰ ਦਾ ਮੌਜੂਦਾ ਪਾਠ" -#: ../gtk/gtktextbuffer.c:224 +#: ../gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "ਚੋਣ ਹੈ" -#: ../gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "ਕੀ ਬਫ਼ਰ ਵਿੱਚ ਕੁਝ ਟੈਕਸਟ ਇਸ ਸਮੇਂ ਚੁਣਿਆ ਹੈ" -#: ../gtk/gtktextbuffer.c:241 +#: ../gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "ਕਰਸਰ ਸਥਿਤੀ" -#: ../gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:243 msgid "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "ਸ਼ਾਮਿਲ ਨਿਸ਼ਾਨ ਦੀ ਸਥਿਤੀ (ਬਫ਼ਰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਦੂਰੀ)" -#: ../gtk/gtktextbuffer.c:257 +#: ../gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "ਨਿਸ਼ਾਨ ਸੂਚੀ ਨਕਲ" -#: ../gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:259 msgid "The list of targets this buffer supports for clipboard copying and DND source" msgstr "ਇਸ ਬਫ਼ਰ ਵਲੋਂ ਸਹਾਇਕ ਟਾਰਗੇਟ ਦੀ ਲਿਸਟ, ਜੋ ਕਿ ਕਲਿੱਪਬੋਰਡ ਕਾਪੀ ਅਤੇ DND ਸਰੋਤ ਲਈ ਹੈ।" -#: ../gtk/gtktextbuffer.c:273 +#: ../gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "ਨਿਸ਼ਾਨਾ ਸੂਚੀ ਚੇਪੋ" -#: ../gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5582,63 +5882,59 @@ msgstr "ਖੱਬੀ ਗਰੇਵਿਟੀ" msgid "Whether the mark has left gravity" msgstr "ਕੀ ਮਾਰਕ ਕੋਲ ਖੱਬੀ ਗਰੇਵਿਟੀ ਹੋਵੇ" -#: ../gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:170 msgid "Tag name" msgstr "ਟੈਗ ਨਾਂ" -#: ../gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:171 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "ਟੈਕਸਟ ਟੈਗ ਨੂੰ ਲੱਭਣ ਲਈ ਲੌੜੀਦਾ ਨਾਂ NULL ਬੇਪਛਾਣ ਲਈ ਵਰਤੋ" -#: ../gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:189 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸੰਭਵ ਹੋਵੇ (ਨਾ ਵਰਤਿਆ ਗਿਆ) ਤਾਂ GdkColor" -#: ../gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:196 msgid "Background full height" msgstr "ਬੈਕਗਰਾਊਂਡ ਦੀ ਪੂਰੀ ਉਚਾਈ" -#: ../gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:197 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" msgstr "ਕੀ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸਤਰ ਦੀ ਪੂਰੀ ਉਚਾਈ ਨੁੰ ਭਰ ਦੇਵੇ ਜਾਂ ਸਿਰਫ ਟੈਗ ਅੱਖਰਾਂ ਦੀ ਉਚਾਈ ਤੱਕ " -#: ../gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:213 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "ਫਾਰਗਰਾਊਂਡ ਦਾ ਰੰਗ ਸੰਭਵ ਹੋਵੇ (ਨਾ ਵਰਤਿਆ ਗਿਆ) ਤਾਂ GdkColor" -#: ../gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "ਟੈਕਸਟ ਦੀ ਦਿਸ਼ਾ" - -#: ../gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:221 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "ਟੈਕਸਟ ਦੀ ਦਿਸ਼ਾ, ਜਿਵੇ ਕਿ ਸੱਜੇ-ਤੋ ਖੱਬਾ ਜਾਂ ਖੱਬੇ ਤੋਂ ਸੱਜਾ" -#: ../gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:270 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "ਪੈਂਨਗੋ-ਸਟਾਇਲ ਵਾਂਗ ਫੋਂਟ ਸਟਾਇਲ ਜਿਵੇਂ ਕਿ PANGO_STYLE_ITALIC" -#: ../gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:279 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "ਪੈਂਨਗੋ-ਵੈਰੀਐਂਟ ਵਾਂਗ ਫੋਂਟ ਵੈਰੀਐਂਟ ਜਿਵੇਂ ਕਿ PANGO_VARIANT_SMALL_CAPS" -#: ../gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:288 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" msgstr "ਫੋਂਟ ਦਾ ਫੈਲਾ ਇੱਕ ਸੰਖਿਆ ਦੀ ਤਰਾਂ, ਪਹਿਲ਼ਾ ਦਿੱਤੇ ਪੈਨਗੋਵੇਟ ਵੇਖੋ; ਜਿਵੇ ਕਿ PANGO_WEIGHT_BOLD" -#: ../gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:299 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "ਫੋਂਟ ਤਣੇ ਪੈਨਗੋ-ਤਣੇ ਵਾਂਗ ਜਿਵੇਂ ਕਿ PANGO_STRETCH_CONDENSED" -#: ../gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:308 msgid "Font size in Pango units" msgstr "ਫੋਂਟ ਅਕਾਰ ਪੈਨਗੋ-ਇਕਾਈ ਵਿੱਚ" -#: ../gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:318 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5648,11 +5944,11 @@ msgstr "" "ਇਸ ਦੀ ਸਿਫਾਰਸ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਨਗੋ ਕੁਝ ਪੈਮਾਨੇ ਪਹਿਲ਼ਾ ਹੀਨਿਰਦਾਰਿਤ ਕਰ ਚੁੱਕਾ ਹੈ , ਜਿਵੇ ਕਿ " "PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 +#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 msgid "Left, right, or center justification" msgstr "ਖੱਬੇ, ਸੱਜੇ ਜਾਂ ਵਿੱਚਕਾਰ ਤਰਕਸੰਗਤ ਕਰੋ" -#: ../gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:357 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5660,256 +5956,261 @@ msgstr "" "ਭਾਸ਼ਾ, ਜਿਸ ਵਿੱਚ ਇਹ ਕੋਡ ਹੈ, ਦਾ ISO ਕੋਡ ਹੈ। ਟੈਕਸਟ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ ਪੈਨਗੋ ਦੀ ਉਦਾਹਰਨ ਲਈ ਜਾ " "ਸਕਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਨਹੀਂ ਸਮਝ ਸਕੇ ਤਾਂ, ਤੁਹਾਨੂੰ ਇਸ ਦੀ ਲੋੜ ਵੀ ਨਹੀਂ ਹੈ।" -#: ../gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:364 msgid "Left margin" msgstr "ਖੱਬਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 +#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 msgid "Width of the left margin in pixels" msgstr "ਖੱਬੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲਾਂ ਵਿੱਚ" -#: ../gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:374 msgid "Right margin" msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 +#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 msgid "Width of the right margin in pixels" msgstr "ਸੱਜੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲਾਂ ਵਿੱਚ" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 +#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 msgid "Indent" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 +#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 msgid "Amount to indent the paragraph, in pixels" msgstr "ਪ੍ਹੈਰੇ ਵਿੱਚ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ, ਪਿਕਸਲਾਂ ਵਿੱਚ" -#: ../gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:397 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" msgstr "ਬੇਸ-ਲਾਈਨ ਤੋਂ ਉੱਤੇ ਟੈਕਸਟ ਦਾ ਸੰਤੁਲਨ ਪੈਗੋ ਇਕਾਈ ਵਿੱਚ (ਹੇਠਾਂ ਉਭਾਰ ਰਿਣਾਤਮਿਕ ਹੈ)" -#: ../gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:406 msgid "Pixels above lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉੱਤੇ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 msgid "Pixels of blank space above paragraphs" msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਉੱਤੇ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:416 msgid "Pixels below lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਾਂ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 +#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 msgid "Pixels of blank space below paragraphs" msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਹੇਠਾਂ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:426 msgid "Pixels inside wrap" msgstr "ਲੇਪਟਣ ਵਿੱਚ ਆਏ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 +#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "ਪ੍ਹੈਰੇ ਵਿੱਚ ਲੇਪਟੀਆਂ ਗਈਆਂ ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 +#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 msgid "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "ਕੀ ਲਾਈਨਾਂ ਕਦੇ ਨਹੀਂ ਲੇਪਟਣੀਆਂ ਹਨ, ਨਾ ਸ਼ਬਦ ਦੀ ਹੱਦ ਤੇ ਨਾ ਅੱਖਰਾਂ ਦੀ ਹੱਦ ਤੇ" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 +#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 msgid "Tabs" msgstr "ਟੈਬ" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 +#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 msgid "Custom tabs for this text" msgstr "ਇਸ ਟੈਕਸਟ ਲਈ ਟੈਬਾਂ ਦੀ ਚੋਣ" -#: ../gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:482 msgid "Invisible" msgstr "ਅਦਿੱਖ" -#: ../gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:483 msgid "Whether this text is hidden." msgstr "ਕੀ ਇਹ ਟੈਕਸਟ ਲੁਕਵਾਂ ਹੋਵੇ" -#: ../gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:497 msgid "Paragraph background color name" msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" -#: ../gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:498 msgid "Paragraph background color as a string" msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸਤਰ ਵਾਂਗ" -#: ../gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color" msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸੰਭਵ ਹੋਵੇ (ਨਾ ਵਰਤਿਆ ਗਿਆ) ਤਾਂ GdkColor" -#: ../gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:532 msgid "Margin Accumulates" msgstr "ਹਾਸ਼ੀਆ ਇਕਸਾਰ" -#: ../gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:533 msgid "Whether left and right margins accumulate." msgstr "ਕੀ ਖੱਬਾ ਅਤੇ ਸੱਜਾ ਹਾਸ਼ੀਆ ਇੱਕਠਾ ਹੋਵੇ" -#: ../gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:546 msgid "Background full height set" msgstr "ਬੈਕਗਰਾਊਂਡ ਪੂਰੀ ਉਚਾਈ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:547 msgid "Whether this tag affects background height" msgstr "ਕੀ ਇਹ ਟੈਗ ਬੈਕਗਰਾਊਂਡ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:586 msgid "Justification set" msgstr "ਅਨੁਕੂਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:587 msgid "Whether this tag affects paragraph justification" msgstr "ਕੀ ਇਹ ਟੈਗ ਤਰਕਸੰਗਤ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:594 msgid "Left margin set" msgstr "ਖੱਬਾ-ਹਾਸ਼ੀਏ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the left margin" msgstr "ਕੀ ਇਹ ਟੈਗ ਅਗਲੇ-ਪਰਦਾ-ਚਿਤਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:598 msgid "Indent set" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:599 msgid "Whether this tag affects indentation" msgstr "ਕੀ ਇਹ ਟੈਗ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:606 msgid "Pixels above lines set" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉਪਰਲੇ ਪਿਕਸਲਾਂ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the number of pixels above lines" msgstr "ਕੀ ਇਹ ਟੈਗ ਸਤਰ ਤੋਂ ਉਪਰਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:610 msgid "Pixels below lines set" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਲੇ ਪਿਕਸਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:614 msgid "Pixels inside wrap set" msgstr "ਪਿਕਸਲ ਅੰਦਰੂਨੀ ਲਪੇਟਣ ਦਿਓ" -#: ../gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "ਕੀ ਇਹ ਟੈਗ ਸਤਰਾਂ ਵਿੱਚ ਲੇਪਟੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:622 msgid "Right margin set" msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ ਦਿਓ" -#: ../gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:623 msgid "Whether this tag affects the right margin" msgstr "ਕੀ ਇਹ ਟੈਗ ਸੱਜਾ ਹਾਸ਼ੀਏ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:630 msgid "Wrap mode set" msgstr "ਲਪੇਟਣ ਮੋਡ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects line wrap mode" msgstr "ਕੀ ਇਹ ਟੈਗ ਲੇਪਟਣ ਦੀ ਢੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:634 msgid "Tabs set" msgstr "ਟੈਬ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:635 msgid "Whether this tag affects tabs" msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਬਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:638 msgid "Invisible set" msgstr "ਅਦਿੱਖ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects text visibility" msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਕਸਟ ਦੀ ਦਿੱਖ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:642 msgid "Paragraph background set" msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:643 msgid "Whether this tag affects the paragraph background color" msgstr "ਕੀ ਇਹ ਟੈਗ ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtktextview.c:654 +#: ../gtk/gtktextview.c:655 msgid "Pixels Above Lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉੱਤੇ ਪਿਕਸਲ" -#: ../gtk/gtktextview.c:664 +#: ../gtk/gtktextview.c:665 msgid "Pixels Below Lines" msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਾਂ ਪਿਕਸਲ" -#: ../gtk/gtktextview.c:674 +#: ../gtk/gtktextview.c:675 msgid "Pixels Inside Wrap" msgstr "ਲੇਪਟਣ ਵਿੱਚ ਪਿਕਸਲ" -#: ../gtk/gtktextview.c:692 +#: ../gtk/gtktextview.c:693 msgid "Wrap Mode" msgstr "ਲੇਪਟਣ ਮੋਡ" -#: ../gtk/gtktextview.c:710 +#: ../gtk/gtktextview.c:711 msgid "Left Margin" msgstr "ਖੱਬਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktextview.c:720 +#: ../gtk/gtktextview.c:721 msgid "Right Margin" msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtktextview.c:748 +#: ../gtk/gtktextview.c:749 msgid "Cursor Visible" msgstr "ਕਰਸਰ ਅਦਿੱਖ" -#: ../gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:750 msgid "If the insertion cursor is shown" msgstr "ਜੇ ਵਿਚਕਾਰ ਕਰਸਰ ਵੇਖਾਈ ਗਈ ਹੈ" -#: ../gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:757 msgid "Buffer" msgstr "ਬਫਰ" -#: ../gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:758 msgid "The buffer which is displayed" msgstr "ਬਫਰ, ਜੋ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" -#: ../gtk/gtktextview.c:765 +#: ../gtk/gtktextview.c:766 msgid "Whether entered text overwrites existing contents" msgstr "ਕੀ ਦਿੱਤਾ ਗਿਆ ਟੈਕਸਟ ਮੌਜੂਦਾ ਹਿੱਸੇ ਨੂੰ ਖਤਮ ਕਰ ਦੇਵੇ" -#: ../gtk/gtktextview.c:772 +#: ../gtk/gtktextview.c:773 msgid "Accepts tab" msgstr "ਮਨਜ਼ੂਰ ਟੈਬ" -#: ../gtk/gtktextview.c:773 +#: ../gtk/gtktextview.c:774 msgid "Whether Tab will result in a tab character being entered" msgstr "ਕੀ ਟੈਬ ਨਤੀਜਾ ਹੋਵੇ, ਦਿੱਤੇ ਗਏ ਟੈਬ ਅੱਖਰ ਦਾ" -#: ../gtk/gtktextview.c:808 +#: ../gtk/gtktextview.c:809 msgid "Error underline color" msgstr "ਗਲਤੀ ਹੇਠ ਰੰਗਦਾਰ ਲਾਈਨ" -#: ../gtk/gtktextview.c:809 +#: ../gtk/gtktextview.c:810 msgid "Color with which to draw error-indication underlines" msgstr "ਰੰਗ ਜਿਸ ਨਾਲ ਗਲਤੀ-ਸੰਕੇਤਕ ਲਾਈਨ ਖਿੱਚੀ ਜਾਵੇ" +#: ../gtk/gtkthemingengine.c:249 +#| msgid "Theme Name" +msgid "Theming engine name" +msgstr "ਥੀਮਿੰਗ ਇੰਜਣ ਨਾਂ" + #: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "ਉਸੇਤਰ੍ਹਾਂ ਦੀਆਂ ਪਰਾਕਸੀ ਬਣਾਉ, ਜਿਸਤਰਾਂ ਦੀਆਂ ਰੇਡੀਉ ਕਾਰਵਾਈ ਹੈ" @@ -5938,87 +6239,87 @@ msgstr "ਇੰਡੀਕੇਟਰ ਬਣਾਓ" msgid "If the toggle part of the button is displayed" msgstr "ਕੀ ਬਟਨ ਦਾ ਬਦਲਵਾਂ ਹਿੱਸਾ ਵੇਖਾਇਆ ਜਾਵੇ" -#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 msgid "Toolbar Style" msgstr "ਟੂਲਬਾਰ ਸਟਾਇਲ" -#: ../gtk/gtktoolbar.c:492 +#: ../gtk/gtktoolbar.c:490 msgid "How to draw the toolbar" msgstr "ਟੂਲਬਾਰ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtktoolbar.c:499 +#: ../gtk/gtktoolbar.c:497 msgid "Show Arrow" msgstr "ਤੀਰ ਵੇਖਾਓ" -#: ../gtk/gtktoolbar.c:500 +#: ../gtk/gtktoolbar.c:498 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "ਕੀ ਤੀਰ ਵੇਖਾਇਆ ਜਾਵੇ ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਵਿੱਚ ਸਮਾ ਨਾ ਸਕੇ" -#: ../gtk/gtktoolbar.c:521 +#: ../gtk/gtktoolbar.c:519 msgid "Size of icons in this toolbar" msgstr "ਇਹ ਟੂਲਬਾਰ ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਅਕਾਰ" -#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 msgid "Icon size set" msgstr "ਆਈਕਾਨ ਅਕਾਰ ਦਿਓ" -#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 msgid "Whether the icon-size property has been set" msgstr "ਕੀ ਆਈਕਾਨ-ਅਕਾਰ ਵਿਸ਼ੇਸ਼ਤਾ ਦਿੱਤੀ ਜਾਵੇ" -#: ../gtk/gtktoolbar.c:546 +#: ../gtk/gtktoolbar.c:544 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "ਕੀ ਆਈਟਮ ਹੋਰ ਵਾਧੂ ਥਾਂ ਲਵੇ ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਫੈਲੇ" -#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "ਕੀ ਆਈਟਮ ਉਸੇ ਆਕਾਰ ਦੀ ਹੋਵੇ ਜਿਸ ਦੀ ਹੋਰ ਸਮ-ਰੂਪ ਆਈਟਮਾਂ ਹਨ" -#: ../gtk/gtktoolbar.c:561 +#: ../gtk/gtktoolbar.c:559 msgid "Spacer size" msgstr "ਸਪੇਸਰ ਆਕਾਰ" -#: ../gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:560 msgid "Size of spacers" msgstr "ਸਪੇਸਰ ਦਾ ਅਕਾਰ" -#: ../gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:569 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "ਟੂਲਬਾਰ ਦੇ ਪਰਛਾਵੇ ਅਤੇ ਬਟਨਾਂ ਵਿਚਕਾਰ ਹਾਸ਼ੀਏ ਦੀ ਥਾਂ ਦੀ ਮਾਤਰਾ" -#: ../gtk/gtktoolbar.c:579 +#: ../gtk/gtktoolbar.c:577 msgid "Maximum child expand" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚਾਈਲਡ ਫੈਲਾ" -#: ../gtk/gtktoolbar.c:580 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum amount of space an expandable item will be given" msgstr "ਇੱਕ ਫੈਲਣਯੋਗ ਆਈਟਮ ਨੂੰ ਦਿੱਤਾ ਜਾਣ ਵਾਲਾ ਵੱਧ ਤੋਂ ਵੱਧ ਫਾਸਲਾ" -#: ../gtk/gtktoolbar.c:588 +#: ../gtk/gtktoolbar.c:586 msgid "Space style" msgstr "ਖਾਲੀ ਸਟਾਇਲ" -#: ../gtk/gtktoolbar.c:589 +#: ../gtk/gtktoolbar.c:587 msgid "Whether spacers are vertical lines or just blank" msgstr "ਕੀ ਵੱਖਰਵੇ ਵਿੱਚ ਲੰਬਕਾਰੀ ਲਾਈਨਾਂ ਹੋਣ ਜਾਂ ਸਿਰਫ ਖਾਲੀ ਹੀ ਹੋਵੇ" -#: ../gtk/gtktoolbar.c:596 +#: ../gtk/gtktoolbar.c:594 msgid "Button relief" msgstr "ਬਟਨ ਛੋਟ" -#: ../gtk/gtktoolbar.c:597 +#: ../gtk/gtktoolbar.c:595 msgid "Type of bevel around toolbar buttons" msgstr "ਟੂਲਬਾਰ ਦੁਆਲੇ bevel ਦੀ ਕਿਸਮ" -#: ../gtk/gtktoolbar.c:604 +#: ../gtk/gtktoolbar.c:602 msgid "Style of bevel around the toolbar" msgstr "ਟੂਲਬਾਰ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:202 msgid "Text to show in the item." msgstr "ਆਈਟਮ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਸ਼ਬਦ" -#: ../gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:209 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6026,39 +6327,39 @@ msgstr "" "ਜੇਕਰ ਸੈੱਟ ਕੀਤਾ ਤਾਂ, ਲੇਬਲ ਵਿਸ਼ੇਸ਼ਤਾ ਵਿੱਚ ਹੇਠ ਲਾਈਨ ਵੇਖਾਵੇਗੀ ਕਿ ਅਗਲਾ ਅੱਖਰ ਮੇਨੂ ਵਿੱਚ ਤੇਜ਼-ਕੀ ਵਲੋਂ " "ਵਰਤਿਆ ਜਾਵੇਗਾ " -#: ../gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:216 msgid "Widget to use as the item label" msgstr "ਆਈਟਮ ਲੇਬਲ ਦੀ ਤਰ੍ਹਾਂ ਵਰਤਣ ਲਈ ਵਿਦਗਿਟ" -#: ../gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:222 msgid "Stock Id" msgstr "ਸਟਾਕ Id" -#: ../gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:223 msgid "The stock icon displayed on the item" msgstr "ਆਈਟਮ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਸਟਾਕ ਆਈਕਾਨ" -#: ../gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:239 msgid "Icon name" msgstr "ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:240 msgid "The name of the themed icon displayed on the item" msgstr "ਆਈਟਮ ਉੱਤੇ ਵੇਖਾਉਣ ਲਈ ਸਰੂਪ ਆਈਕਾਨ ਦਾ ਨਾਂ" -#: ../gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:246 msgid "Icon widget" msgstr "ਆਈਕਾਨ ਵਿਦਗਿਟ" -#: ../gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget to display in the item" msgstr "ਆਈਕਾਨ ਵਿਦਗਿਟ, ਆਈਟਮ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ" -#: ../gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:260 msgid "Icon spacing" msgstr "ਆਈਕਾਨ ਫਾਸਲਾ" -#: ../gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:261 msgid "Spacing in pixels between the icon and label" msgstr "ਆਈਕਾਨ ਅਤੇ ਲੇਬਲ ਵਿੱਚ ਪਿਕਸਲ ਅਨੁਸਾਰ ਫਾਸਲਾ" @@ -6130,58 +6431,96 @@ msgstr "ਕੀ ਆਈਟਮ ਨਵੀਂ ਕਤਾਰ ਵਿੱਚ ਸ਼ੁਰ msgid "Position of the item within this group" msgstr "ਇਸ ਗਰੁੱਪ ਵਿੱਚ ਆਈਟਮ ਦੀ ਸਥਿਤੀ" -#: ../gtk/gtktoolpalette.c:1031 +#: ../gtk/gtktoolpalette.c:1032 msgid "Size of icons in this tool palette" msgstr "ਇਸ ਟੂਲ ਪਲੇਅਟ ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਆਕਾਰ" -#: ../gtk/gtktoolpalette.c:1061 +#: ../gtk/gtktoolpalette.c:1062 msgid "Style of items in the tool palette" msgstr "ਟੂਲ ਪਲੇਅਟ ਵਿੱਚ ਆਈਟਮਾਂ ਦਾ ਸਟਾਈਲ" -#: ../gtk/gtktoolpalette.c:1077 +#: ../gtk/gtktoolpalette.c:1078 msgid "Exclusive" msgstr "ਖਾਸ" -#: ../gtk/gtktoolpalette.c:1078 +#: ../gtk/gtktoolpalette.c:1079 msgid "Whether the item group should be the only expanded at a given time" msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਦਿੱਤੇ ਸਮੇਂ ਦੌਰਾਨ ਹੀ ਫੈਲੇ" -#: ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktoolpalette.c:1094 msgid "Whether the item group should receive extra space when the palette grows" msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਪਲੇਅਟ ਫੈਲਣ ਦੌਰਾਨ ਵਾਧੂ ਥਾਂ ਲਵੇ" -#: ../gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:135 msgid "Foreground color for symbolic icons" msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਫਾਰਗਰਾਊਂਡ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color" msgstr "ਗਲਤੀ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:143 msgid "Error color for symbolic icons" msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਗਲਤੀ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color" msgstr "ਚੇਤਾਵਨੀ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:151 msgid "Warning color for symbolic icons" msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਚੇਤਾਵਨੀ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color" msgstr "ਸਫ਼ਲ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:159 msgid "Success color for symbolic icons" msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਸਫ਼ਲ ਰੰਗ" -#: ../gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:167 msgid "Padding that should be put around icons in the tray" msgstr "ਪੈਡਿੰਗ, ਜੋ ਕਿ ਟਰੇ ਦੇ ਆਈਕਾਨ ਦੁਆਲੇ ਰੱਖਣੀ ਹੈ" +#: ../gtk/gtktreemenu.c:287 +#| msgid "TreeView Model" +msgid "TreeMenu model" +msgstr "ਟਰੀ-ਮੇਨੂ ਮਾਡਲ" + +#: ../gtk/gtktreemenu.c:288 +#| msgid "The model for the tree view" +msgid "The model for the tree menu" +msgstr "ਟਰੀ ਮੇਨੂ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "ਟਰੀਮੇਨੂ ਰੂਟ ਕਤਾਰ" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "ਟਰੀਮੇਨੂ ਦਿੱਤੇ ਰੂਟ ਲਈ ਚਲਾਈਡ ਵੇਖਾਏਗਾ" + +#: ../gtk/gtktreemenu.c:344 +#| msgid "Tearoff Title" +msgid "Tearoff" +msgstr "ਵੱਖ ਕਰੋ" + +#: ../gtk/gtktreemenu.c:345 +#| msgid "Whether the mark has left gravity" +msgid "Whether the menu has a tearoff item" +msgstr "ਕੀ ਮੇਨੂ ਵਿੱਚ ਵੱਖ ਕਰੋ ਆਈਟਮ ਹੋਵੇ" + +#: ../gtk/gtktreemenu.c:361 +#| msgid "Wrap width" +msgid "Wrap Width" +msgstr "ਚੌੜਾਈ ਲਪੇਟੋ" + +#: ../gtk/gtktreemenu.c:362 +#| msgid "Wrap width for laying out the items in a grid" +msgid "Wrap width for laying out items in a grid" +msgstr "ਗਰਿੱਡ ਵਿੱਚ ਆਈਟਮਾਂ ਨੂੰ ਲਪੇਟਣ ਦੀ ਚੌੜਾਈ" + #: ../gtk/gtktreemodelsort.c:310 msgid "TreeModelSort Model" msgstr "TreeModelSort ਮਾਡਲ" @@ -6190,327 +6529,319 @@ msgstr "TreeModelSort ਮਾਡਲ" msgid "The model for the TreeModelSort to sort" msgstr "TreeModelSort ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਮਾਡਲ" -#: ../gtk/gtktreeview.c:988 +#: ../gtk/gtktreeview.c:989 msgid "TreeView Model" msgstr "ਟਰੀ-ਵਿਊ ਮਾਡਲ" -#: ../gtk/gtktreeview.c:989 +#: ../gtk/gtktreeview.c:990 msgid "The model for the tree view" msgstr "ਟਰੀ-ਵਿਊ ਲਈ ਮਾਡਲ" -#: ../gtk/gtktreeview.c:1001 +#: ../gtk/gtktreeview.c:1002 msgid "Headers Visible" msgstr "ਹੈੱਡਰ ਦਿੱਖ" -#: ../gtk/gtktreeview.c:1002 +#: ../gtk/gtktreeview.c:1003 msgid "Show the column header buttons" msgstr "ਕਾਲਮ ਹੈੱਡਰ ਬਟਨ ਵੇਖਾਓ" -#: ../gtk/gtktreeview.c:1009 +#: ../gtk/gtktreeview.c:1010 msgid "Headers Clickable" msgstr "ਹੈੱਡਰ ਦਬਾਉਣਯੋਗ" -#: ../gtk/gtktreeview.c:1010 +#: ../gtk/gtktreeview.c:1011 msgid "Column headers respond to click events" msgstr "ਦਬਾੳਣ ਦੀ ਕਾਰਵਾਈ ਤੇ ਕਾਲਮ ਹੈੱਡਰ ਜਵਾਬਦੇਹ ਹੋਵੇ" -#: ../gtk/gtktreeview.c:1017 +#: ../gtk/gtktreeview.c:1018 msgid "Expander Column" msgstr "ਫੈਲਣਵਾਲਾ ਕਾਲਮ" -#: ../gtk/gtktreeview.c:1018 +#: ../gtk/gtktreeview.c:1019 msgid "Set the column for the expander column" msgstr "ਫੈਲਣਵਾਲਾ ਕਾਲਮ ਲਈ ਕਾਲਮ ਚੁਣੋ" -#: ../gtk/gtktreeview.c:1033 +#: ../gtk/gtktreeview.c:1034 msgid "Rules Hint" msgstr "ਨਿਯਮ ਇਸ਼ਾਰਾ" -#: ../gtk/gtktreeview.c:1034 +#: ../gtk/gtktreeview.c:1035 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "ਬਦਲਵੇ ਰੰਗ ਵਿੱਚ ਕਤਾਰ ਬਣਾਉਣ ਲਈ ਸਰੂਪ-ਇੰਜਣ ਦੇ ਲਈ ਸੰਕੇਤ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtktreeview.c:1041 +#: ../gtk/gtktreeview.c:1042 msgid "Enable Search" msgstr "ਖੋਜ ਨੂੰ ਯੋਗ ਕਰੋ" -#: ../gtk/gtktreeview.c:1042 +#: ../gtk/gtktreeview.c:1043 msgid "View allows user to search through columns interactively" msgstr "ਦਰਿਸ਼ ਵਰਤਣਵਾਲਿਆ ਨੂੰ ਕਾਲਮਾਂ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ਾਲ਼ੀ ਤਰੀਕੇ ਨਾਲ ਖੋਜ ਕਰਨ ਦਿੰਦਾ ਹੈ" -#: ../gtk/gtktreeview.c:1049 +#: ../gtk/gtktreeview.c:1050 msgid "Search Column" msgstr "ਕਾਲਮ ਖੋਜ" -#: ../gtk/gtktreeview.c:1050 +#: ../gtk/gtktreeview.c:1051 msgid "Model column to search through during interactive search" msgstr "ਦਿਲਖਿੱਚਵੀਂ ਖੋਜ ਦੌਰਾਨ ਮਾਡਲ ਕਾਲਮ ਦੀ ਖੋਜ" -#: ../gtk/gtktreeview.c:1070 +#: ../gtk/gtktreeview.c:1071 msgid "Fixed Height Mode" msgstr "ਨਿਸ਼ਚਿਤ ਉਚਾਈ ਮੋਡ" -#: ../gtk/gtktreeview.c:1071 +#: ../gtk/gtktreeview.c:1072 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "ਸਾਰੀਆ ਕਤਾਰਾਂ ਦੀ ਨਿਸ਼ਚਿਤ ਉਚਾਈ ਮੰਨ ਕੇ GtkTreeView ਦੀ ਗਤੀ ਵਧਾਉ " -#: ../gtk/gtktreeview.c:1091 +#: ../gtk/gtktreeview.c:1092 msgid "Hover Selection" msgstr "ਹੋਵਰ ਚੋਣ" -#: ../gtk/gtktreeview.c:1092 +#: ../gtk/gtktreeview.c:1093 msgid "Whether the selection should follow the pointer" msgstr "ਕੀ ਚੋਣ ਸੂਚਕ ਦਾ ਪਿੱਛਾ ਕਰੇ" -#: ../gtk/gtktreeview.c:1111 +#: ../gtk/gtktreeview.c:1112 msgid "Hover Expand" msgstr "ਹੋਵਰ ਫੈਲਾਓ" -#: ../gtk/gtktreeview.c:1112 +#: ../gtk/gtktreeview.c:1113 msgid "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "ਕੀ ਸੂਚਕ ਕਤਾਰਾਂ ਦੇ ਉੱਪਰ ਹੋਣ ਸਮੇਂ ਸਮੇਟੀਆਂ/ਫੈਲਾਈਆਂ ਜਾਣ" -#: ../gtk/gtktreeview.c:1126 +#: ../gtk/gtktreeview.c:1127 msgid "Show Expanders" msgstr "ਫੈਲਣ ਵਾਲੇ ਵੇਖਾਓ" -#: ../gtk/gtktreeview.c:1127 +#: ../gtk/gtktreeview.c:1128 msgid "View has expanders" msgstr "ਫੈਲਾਉਣ ਵਾਲੇ ਵਾਂਗ ਵੇਖਾਓ" -#: ../gtk/gtktreeview.c:1141 +#: ../gtk/gtktreeview.c:1142 msgid "Level Indentation" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਦਾ ਲੈਵਲ" -#: ../gtk/gtktreeview.c:1142 +#: ../gtk/gtktreeview.c:1143 msgid "Extra indentation for each level" msgstr "ਹਰੇਕ ਲੈਵਲ ਲਈ ਵਾਧੂ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ" -#: ../gtk/gtktreeview.c:1151 +#: ../gtk/gtktreeview.c:1152 msgid "Rubber Banding" msgstr "ਰਬਰ ਬੈਂਗਿੰਡ" -#: ../gtk/gtktreeview.c:1152 +#: ../gtk/gtktreeview.c:1153 msgid "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "ਮਾਊਸ ਸੰਕੇਤਕ ਰਾਹੀਂ ਚੁੱਕ ਕੇ ਕਈ ਆਈਟਮਾਂ ਦੀ ਚੋਣ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰਨਾ ਹੈ" -#: ../gtk/gtktreeview.c:1159 +#: ../gtk/gtktreeview.c:1160 msgid "Enable Grid Lines" msgstr "ਗਰਿੱਡ ਲਾਈਨਾਂ ਯੋਗ" -#: ../gtk/gtktreeview.c:1160 +#: ../gtk/gtktreeview.c:1161 msgid "Whether grid lines should be drawn in the tree view" msgstr "ਕੀ ਲੜੀ ਝਲਕ ਵਿੱਚ ਗਰਿੱਡ ਲਾਈਨਾਂ ਵੇਖਾਉਣੀਆਂ ਹਨ" -#: ../gtk/gtktreeview.c:1168 +#: ../gtk/gtktreeview.c:1169 msgid "Enable Tree Lines" msgstr "ਲੜੀ ਲਾਈਨਾਂ ਯੋਗ" -#: ../gtk/gtktreeview.c:1169 +#: ../gtk/gtktreeview.c:1170 msgid "Whether tree lines should be drawn in the tree view" msgstr "ਕੀ ਲੜੀ ਝਲਕ ਵਿੱਚ ਲੜੀ ਲਾਈਨਾਂ ਖਿੱਚੀਆਂ ਜਾਣ" -#: ../gtk/gtktreeview.c:1177 +#: ../gtk/gtktreeview.c:1178 msgid "The column in the model containing the tooltip texts for the rows" msgstr "ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਕਤਾਰਾਂ ਲਈ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਰੱਖਦਾ ਹੈ" -#: ../gtk/gtktreeview.c:1199 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical Separator Width" msgstr "ਲੰਬਕਾਰੀ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਈ" -#: ../gtk/gtktreeview.c:1200 +#: ../gtk/gtktreeview.c:1201 msgid "Vertical space between cells. Must be an even number" msgstr "ਸੈੱਲ਼ਾਂ ਵਿੱਚਕਾਰ ਲੰਬਕਾਰੀ ਖਾਲੀ ਚੌੜਾਈ, ਜਿਸਤ ਸੰਖਿਆ ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ" -#: ../gtk/gtktreeview.c:1208 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal Separator Width" msgstr "ਲੇਟਵੇ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtktreeview.c:1209 +#: ../gtk/gtktreeview.c:1210 msgid "Horizontal space between cells. Must be an even number" msgstr "ਸੈੱਲ਼ਾਂ ਵਿੱਚਕਾਰ ਲੇਟਵੀ ਖਾਲੀ ਚੌੜਾਈ, ਜਿਸਤ ਸੰਖਿਆ ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ" -#: ../gtk/gtktreeview.c:1217 +#: ../gtk/gtktreeview.c:1218 msgid "Allow Rules" msgstr "ਰੂਲ ਮਨਜ਼ੂਰ" -#: ../gtk/gtktreeview.c:1218 +#: ../gtk/gtktreeview.c:1219 msgid "Allow drawing of alternating color rows" msgstr "ਬਦਲਵੇ ਰੰਗ ਦੀਆ ਕਤਾਰਾਂ ਬਣਾਉਣ ਨੂੰ ਚਾਲੂ ਕਰੋ" -#: ../gtk/gtktreeview.c:1224 +#: ../gtk/gtktreeview.c:1225 msgid "Indent Expanders" msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਨੂੰ ਫੈਲਾਓ" -#: ../gtk/gtktreeview.c:1225 +#: ../gtk/gtktreeview.c:1226 msgid "Make the expanders indented" msgstr "ਫੈਲਾਉ ਨੂੰ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ ਬਣਾਓ" -#: ../gtk/gtktreeview.c:1231 +#: ../gtk/gtktreeview.c:1232 msgid "Even Row Color" msgstr "ਜਿਸਤ ਕਤਾਰ ਦਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:1232 +#: ../gtk/gtktreeview.c:1233 msgid "Color to use for even rows" msgstr "ਜਿਸਤ ਕਤਾਰ ਲਈ ਵਰਤਣ ਵਾਲਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:1238 +#: ../gtk/gtktreeview.c:1239 msgid "Odd Row Color" msgstr "ਟਾਂਕ ਕਤਾਰ ਦਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:1239 +#: ../gtk/gtktreeview.c:1240 msgid "Color to use for odd rows" msgstr "ਟਾਂਕ ਕਤਾਰ ਲਈ ਵਰਤਣ ਵਾਲਾ ਰੰਗ" -#: ../gtk/gtktreeview.c:1245 +#: ../gtk/gtktreeview.c:1246 msgid "Grid line width" msgstr "ਗਰਿੱਡ ਲਾਈਨ ਚੌੜਾਈ" -#: ../gtk/gtktreeview.c:1246 +#: ../gtk/gtktreeview.c:1247 msgid "Width, in pixels, of the tree view grid lines" msgstr "ਟਰੀ ਝਲਕ ਗਰਿੱਡ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ ਵਿੱਚ" -#: ../gtk/gtktreeview.c:1252 +#: ../gtk/gtktreeview.c:1253 msgid "Tree line width" msgstr "ਟਰੀ ਲਾਈਨ ਚੌੜਾਈ" -#: ../gtk/gtktreeview.c:1253 +#: ../gtk/gtktreeview.c:1254 msgid "Width, in pixels, of the tree view lines" msgstr "ਲੜੀ ਝਲਕ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ ਵਿੱਚ" -#: ../gtk/gtktreeview.c:1259 +#: ../gtk/gtktreeview.c:1260 msgid "Grid line pattern" msgstr "ਗਰਿੱਡ ਲਾਈਨ ਪੈਟਰਨ" -#: ../gtk/gtktreeview.c:1260 +#: ../gtk/gtktreeview.c:1261 msgid "Dash pattern used to draw the tree view grid lines" msgstr "ਲੜੀ ਝਲਕ ਗਰਿੱਡ ਲਾਈਨਾਂ ਖਿੱਚਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਡੈਸ਼ ਪੈਟਰਨ" -#: ../gtk/gtktreeview.c:1266 +#: ../gtk/gtktreeview.c:1267 msgid "Tree line pattern" msgstr "ਟਰੀ ਲਾਈਨ ਪੈਟਰਨ" -#: ../gtk/gtktreeview.c:1267 +#: ../gtk/gtktreeview.c:1268 msgid "Dash pattern used to draw the tree view lines" msgstr "ਲੜੀ ਝਲਕ ਲਾਈਨਾਂ ਖਿੱਚਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਡੈਸ਼ ਪੈਟਰਨ" -#: ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtktreeviewcolumn.c:244 msgid "Whether to display the column" msgstr "ਕੀ ਕਾਲਮ ਵੇਖਾਉਣਾ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 msgid "Resizable" msgstr "ਮੁੜ-ਆਕਾਰਯੋਗ" -#: ../gtk/gtktreeviewcolumn.c:251 +#: ../gtk/gtktreeviewcolumn.c:252 msgid "Column is user-resizable" msgstr "ਕਾਲਮ ਵਰਤਣਵਾਲੇ ਰਾਹੀਂ ਮੁੜ-ਅਕਾਰਯੋਗ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:260 msgid "Current width of the column" msgstr "ਕਾਲਮ ਦੀ ਮੌਜੂਦਾ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:268 -msgid "Space which is inserted between cells" -msgstr "ਸੈੱਲਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਥਾਂ" - -#: ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Sizing" msgstr "ਅਕਾਰ" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:278 msgid "Resize mode of the column" msgstr "ਕਾਲਮ ਦਾ ਮੁੜ-ਅਕਾਰ ਮੋਡ" -#: ../gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Fixed Width" msgstr "ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:286 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Current fixed width of the column" msgstr "ਕਾਲਮ ਦੀ ਮੌਜੂਦਾ ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:295 -msgid "Minimum Width" -msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" - -#: ../gtk/gtktreeviewcolumn.c:296 +#: ../gtk/gtktreeviewcolumn.c:297 msgid "Minimum allowed width of the column" msgstr "ਕਾਲਮ ਦੀ ਘੱਟੋ-ਘੱਟ ਲਾਗੂ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:305 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum Width" msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:306 +#: ../gtk/gtktreeviewcolumn.c:307 msgid "Maximum allowed width of the column" msgstr "ਕਾਲਮ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਲਾਗੂ ਚੌੜਾਈ" -#: ../gtk/gtktreeviewcolumn.c:316 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Title to appear in column header" msgstr "ਕਾਲਮ ਦੇ ਹੈੱਡਰ ਉੱਤੇ ਦਿੱਸਣ ਵਾਲਾ ਕਾਲਮ" -#: ../gtk/gtktreeviewcolumn.c:324 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Column gets share of extra width allocated to the widget" msgstr "ਵਿਦਗਿਟ ਨੂੰ ਦਿੱਤੀ ਗਈ ਵਾਧੂ ਚੌੜਾਈ ਵਿੱਚੋਂ ਕਾਲਮ ਹਿੱਸਾ ਪਰਾਪਤ ਕਰੇ" -#: ../gtk/gtktreeviewcolumn.c:331 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Clickable" msgstr "ਕਲਿੱਕ-ਯੋਗ" -#: ../gtk/gtktreeviewcolumn.c:332 +#: ../gtk/gtktreeviewcolumn.c:333 msgid "Whether the header can be clicked" msgstr "ਕੀ ਹੈੱਡਰ ਦਬਾਉਣਯੋਗ ਹੋਵੇ" -#: ../gtk/gtktreeviewcolumn.c:340 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget" msgstr "ਵਿਦਗਿਟ" -#: ../gtk/gtktreeviewcolumn.c:341 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Widget to put in column header button instead of column title" msgstr "ਕਾਲਮ ਹੈੱਡਰ ਦੀ ਬਜਾਏ ਕਾਲਮ ਟਾਈਟਲ ਬਟਨ ਲਗਾਉਣ ਲਈ ਵਿਦਗਿਟ" -#: ../gtk/gtktreeviewcolumn.c:349 +#: ../gtk/gtktreeviewcolumn.c:350 msgid "X Alignment of the column header text or widget" msgstr "ਕਾਲਮ ਹੈੱਡਰ ਦੇ ਟੈਕਸਟ ਜਾਂ ਵਿਦਗਿਟ ਦੀ X ਸ਼ਫਬੰਦੀ" -#: ../gtk/gtktreeviewcolumn.c:359 +#: ../gtk/gtktreeviewcolumn.c:360 msgid "Whether the column can be reordered around the headers" msgstr "ਕੀ ਕਾਲਮ ਹੈੱਡਰ ਦੁਆਲੇ ਮੁੜ-ਕਰਮਬੱਧ ਹੋਣ ਦੇ ਯੋਗ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:366 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Sort indicator" msgstr "ਕ੍ਰਮ ਇੰਡੀਕੇਟਰ" -#: ../gtk/gtktreeviewcolumn.c:367 +#: ../gtk/gtktreeviewcolumn.c:368 msgid "Whether to show a sort indicator" msgstr "ਕੀ ਕ੍ਰਮ ਸੰਕੇਤਕ ਨੂੰ ਵੇਖਾਉਣਾ ਹੈ" -#: ../gtk/gtktreeviewcolumn.c:374 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort order" msgstr "ਕ੍ਰਮ ਪੈਟਰਨ" -#: ../gtk/gtktreeviewcolumn.c:375 +#: ../gtk/gtktreeviewcolumn.c:376 msgid "Sort direction the sort indicator should indicate" msgstr "ਕ੍ਰਮ ਦਿਸ਼ਾ, ਜੋ ਕਿ ਕ੍ਰਮ ਸੰਕੇਤਕ ਵੇਖਾਵੇ" -#: ../gtk/gtktreeviewcolumn.c:391 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Sort column ID" msgstr "ਲੜੀਬੱਧ ਕਾਲਮ ID" -#: ../gtk/gtktreeviewcolumn.c:392 +#: ../gtk/gtktreeviewcolumn.c:393 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "ਜਦੋਂ ਲੜੀਬੱਧ ਦੀ ਚੋਣ ਕੀਤੀ ਜਾਵੇ ਤਾਂ ਕਾਲਮ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਲਾਜ਼ੀਕਲ ਕਾਲਮ ID" -#: ../gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "ਮੇਨੂ ਆਈਟਮ ਨੂੰ ਵੱਖ-ਕਰਨ ਵਾਲਾ ਨੂੰ ਮੇਨੂ ਵਿੱਚ ਜੋੜਨਾ ਹੈ" -#: ../gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "ਰੱਲਗੱਡ UI ਪਰਿਭਾਸ਼ਾ" -#: ../gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "ਰੱਲਗੱਡ UI ਪਰੀਭਾਸ਼ਾ ਨੂੰ ਦਰਸਾਉਣ ਲਈ XML ਦੀ ਸਤਰ" @@ -6519,314 +6850,302 @@ msgid "Determines how the shadowed box around the viewport is drawn" msgstr "ਵਿਊ-ਪੋਰਟ ਦੇ ਦੁਆਲੇ ਪਰਛਾਵਾਂ-ਡੱਬਾ ਕਿਵੇਂ ਖਿੱਚਿਆ ਜਾਵੇਗਾ" #: ../gtk/gtkvolumebutton.c:156 -#| msgid "Success color for symbolic icons" msgid "Use symbolic icons" msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਵਰਤੋਂ" #: ../gtk/gtkvolumebutton.c:157 -#| msgid "Warning color for symbolic icons" msgid "Whether to use symbolic icons" msgstr "ਕੀ ਸਿੰਬਲ ਆਈਕਾਨ ਵਰਤਣੇ ਹਨ" -#: ../gtk/gtkwidget.c:893 +#: ../gtk/gtkwidget.c:895 msgid "Widget name" msgstr "ਵਿਦਗਿਟ ਨਾਂ" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:896 msgid "The name of the widget" msgstr "ਵਿਦਗਿਟ ਦਾ ਨਾਂ" -#: ../gtk/gtkwidget.c:900 +#: ../gtk/gtkwidget.c:902 msgid "Parent widget" msgstr "ਪੇਰੈਟ ਵਿਦਗਿਟ" -#: ../gtk/gtkwidget.c:901 +#: ../gtk/gtkwidget.c:903 msgid "The parent widget of this widget. Must be a Container widget" msgstr "ਇਸ ਵਿਦਗਿਟ ਦਾ ਪੇਰੈਟ ਵਿਦਗਿਟ ਇੱਕ ਕੰਨਟੇਨਰ ਵਿਦਗਿਟ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ " -#: ../gtk/gtkwidget.c:908 +#: ../gtk/gtkwidget.c:910 msgid "Width request" msgstr "ਵਿਦਗਿਟ ਬੇਨਤੀ" -#: ../gtk/gtkwidget.c:909 +#: ../gtk/gtkwidget.c:911 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" msgstr "ਵਿਦਗਿਟ ਲਈ ਚੌੜਾਈ ਦੀ ਮੰਗ ਨੂੰ ਉੱਤੇ ਲਿਖ ਦਿਉ, ਜਾਂ -1 ਕੁਦਰਤੀ ਮੰਗ ਹੀ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkwidget.c:917 +#: ../gtk/gtkwidget.c:919 msgid "Height request" msgstr "ਉਚਾਈ ਬੇਨਤੀ" -#: ../gtk/gtkwidget.c:918 +#: ../gtk/gtkwidget.c:920 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" msgstr "ਵਿਦਗਿਟ ਲਈ ਉਚਾਈ ਦੀ ਮੰਗ ਨੂੰ ਉੱਤੇ ਲਿਖ ਦਿਉ, ਜਾਂ -1 ਕੁਦਰਤੀ ਮੰਗ ਹੀ ਵਰਤਣੀ ਹੈ " -#: ../gtk/gtkwidget.c:927 +#: ../gtk/gtkwidget.c:929 msgid "Whether the widget is visible" msgstr "ਕੀ ਵਿਦਗਿਟ ਵੇਖਣਯੋਗ ਹੈ" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:936 msgid "Whether the widget responds to input" msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਨੂੰ ਜਵਾਬਦੇਹ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:940 +#: ../gtk/gtkwidget.c:942 msgid "Application paintable" msgstr "ਕਾਰਜ ਚਿੱਤਰਯੋਗ" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:943 msgid "Whether the application will paint directly on the widget" msgstr "ਕੀ ਕਾਰਜ ਵਿਦਗਿਟ ਤੇ ਸਿੱਧਾ ਹੀ ਚਿੱਤਰਕਾਰੀ ਕਰ ਸਕੇ" -#: ../gtk/gtkwidget.c:947 +#: ../gtk/gtkwidget.c:949 msgid "Can focus" msgstr "ਫੋਕਸ ਹੋ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:950 msgid "Whether the widget can accept the input focus" msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਫੋਕਸ ਲਾਗੂ ਕਰ ਸਕੇ" -#: ../gtk/gtkwidget.c:954 +#: ../gtk/gtkwidget.c:956 msgid "Has focus" msgstr "ਫੋਕਸ ਹੈ" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:957 msgid "Whether the widget has the input focus" msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਫੋਕਸ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਹੈ" -#: ../gtk/gtkwidget.c:961 +#: ../gtk/gtkwidget.c:963 msgid "Is focus" msgstr "ਫੋਕਸ ਹੈ" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:964 msgid "Whether the widget is the focus widget within the toplevel" msgstr "ਕੀ ਵਿਦਗਿਟ ਸਿਰੇ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਵਿਦਗਿਟ ਫੋਕਸ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਹੈ" -#: ../gtk/gtkwidget.c:968 +#: ../gtk/gtkwidget.c:970 msgid "Can default" msgstr "ਡਿਫਾਲਟ ਹੋ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:971 msgid "Whether the widget can be the default widget" msgstr "ਕੀ ਵਿਦਗਿਟ ਮੂਲ ਵਿਦਗਿਟ ਬਣ ਸਕੇ" -#: ../gtk/gtkwidget.c:975 +#: ../gtk/gtkwidget.c:977 msgid "Has default" msgstr "ਡਿਫਾਲਟ ਹੈ" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:978 msgid "Whether the widget is the default widget" msgstr "ਕੀ ਵਿਦਗਿਟ ਮੂਲ ਵਿਦਗਿਟ ਹੈ" -#: ../gtk/gtkwidget.c:982 +#: ../gtk/gtkwidget.c:984 msgid "Receives default" msgstr "ਡਿਫਾਲਟ ਲੈ ਸਕੇ" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:985 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਵਿਦਗਿਟ ਮੂਲ ਕਾਰਵਾਈ ਕਰੇਗੇ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋਵੇਗਾ" -#: ../gtk/gtkwidget.c:989 +#: ../gtk/gtkwidget.c:991 msgid "Composite child" msgstr "ਯੋਗਿਕ ਚਲਾਇਡ" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:992 msgid "Whether the widget is part of a composite widget" msgstr "ਕੀ ਵਿਦਗਿਟ ਯੋਗਿਕ ਵਿਦਗਿਟ ਦਾ ਹਿੱਸਾ ਹੈ" -#: ../gtk/gtkwidget.c:996 +#: ../gtk/gtkwidget.c:998 msgid "Style" msgstr "ਸਟਾਇਲ" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:999 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "ਵਿਦਗਿਟ ਦਾ ਸਟਾਇਲ, ਜੋ ਕਿ ਇਹ ਜਾਣਕਾਰੀ ਰੱਖਦਾ ਹੈ ਇਹ ਕਿਸਤਰਾਂ ਦਾ ਦਿੱਸੇਗਾ (ਜਿਵੇਂ ਰੰਗ ਆਦਿ)" -#: ../gtk/gtkwidget.c:1003 +#: ../gtk/gtkwidget.c:1005 msgid "Events" msgstr "ਘਟਨਾਵਾਂ" -#: ../gtk/gtkwidget.c:1004 +#: ../gtk/gtkwidget.c:1006 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "ਘਟਨਾ-ਮਖੌਟਾ, ਜੋ ਕਿ ਇਹ ਸੈੱਟ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਵਿਦਗਿਟ ਕਿਸਤਰ੍ਹਾਂ ਦਾ GdkEvents ਨੂੰ ਪਰਾਪਤ ਕਰਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:1011 +#: ../gtk/gtkwidget.c:1013 msgid "No show all" msgstr "ਸਭ ਨਾ ਵੇਖਾਓ" -#: ../gtk/gtkwidget.c:1012 +#: ../gtk/gtkwidget.c:1014 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "ਕੀ gtk_widget_show_all() ਸਾਰੇ ਵਿਦਗਿਟ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਾ ਕਰੇ" -#: ../gtk/gtkwidget.c:1035 +#: ../gtk/gtkwidget.c:1037 msgid "Whether this widget has a tooltip" msgstr "ਕੀ ਇਹ ਵਿਦਗਿਟ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਹੋਣ" -#: ../gtk/gtkwidget.c:1091 +#: ../gtk/gtkwidget.c:1093 msgid "Window" msgstr "ਵਿੰਡੋ" -#: ../gtk/gtkwidget.c:1092 +#: ../gtk/gtkwidget.c:1094 msgid "The widget's window if it is realized" msgstr "ਜੇ ਮੰਨਿਆ ਜਾਵੇ ਤਾਂ ਵਿਡਜੈੱਟ ਦੀ ਵਿੰਡੋ" -#: ../gtk/gtkwidget.c:1106 +#: ../gtk/gtkwidget.c:1108 msgid "Double Buffered" msgstr "ਦੂਹਰਾ ਬਫਰ" -#: ../gtk/gtkwidget.c:1107 +#: ../gtk/gtkwidget.c:1109 msgid "Whether the widget is double buffered" msgstr "ਕੀ ਵਿਦਗਿਟ ਦੂਹਰਾ ਬਫ਼ਰ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:1122 +#: ../gtk/gtkwidget.c:1124 msgid "How to position in extra horizontal space" msgstr "ਵਾਧੂ ਹਰੀਜੱਟਲ ਥਾਂ ਵਿੱਚ ਸਥਿਤੀ ਕਿਵੇਂ" -#: ../gtk/gtkwidget.c:1138 +#: ../gtk/gtkwidget.c:1140 msgid "How to position in extra vertical space" msgstr "ਵਾਧੂ ਵਰਟੀਕਲ ਥਾਂ ਵਿੱਚ ਸਥਿਤੀ ਕਿਵੇਂ" -#: ../gtk/gtkwidget.c:1157 +#: ../gtk/gtkwidget.c:1159 msgid "Margin on Left" msgstr "ਖੱਬੇ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1158 +#: ../gtk/gtkwidget.c:1160 msgid "Pixels of extra space on the left side" msgstr "ਖੱਬੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1178 +#: ../gtk/gtkwidget.c:1180 msgid "Margin on Right" msgstr "ਸੱਜੇ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1179 +#: ../gtk/gtkwidget.c:1181 msgid "Pixels of extra space on the right side" msgstr "ਸੱਜੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1199 +#: ../gtk/gtkwidget.c:1201 msgid "Margin on Top" msgstr "ਉੱਤੇ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1200 +#: ../gtk/gtkwidget.c:1202 msgid "Pixels of extra space on the top side" msgstr "ਉੱਤਲੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1220 +#: ../gtk/gtkwidget.c:1222 msgid "Margin on Bottom" msgstr "ਹੇਠਾਂ ਤੋਂ ਫਾਸਲਾ" -#: ../gtk/gtkwidget.c:1221 +#: ../gtk/gtkwidget.c:1223 msgid "Pixels of extra space on the bottom side" msgstr "ਹੇਠਲੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1238 +#: ../gtk/gtkwidget.c:1240 msgid "All Margins" msgstr "ਸਭ ਫਾਸਲੇ" -#: ../gtk/gtkwidget.c:1239 +#: ../gtk/gtkwidget.c:1241 msgid "Pixels of extra space on all four sides" msgstr "ਸਭ ਚਾਰੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" -#: ../gtk/gtkwidget.c:1272 -#| msgid "Horizontal padding" +#: ../gtk/gtkwidget.c:1274 msgid "Horizontal Expand" msgstr "ਹਰੀਜੱਟਲ ਫੈਲਾਉ" -#: ../gtk/gtkwidget.c:1273 -#| msgid "Whether the label widget should fill all available horizontal space" +#: ../gtk/gtkwidget.c:1275 msgid "Whether widget wants more horizontal space" msgstr "ਕੀ ਵਿਦਜੈੱਟ ਨੂੰ ਹੋਰ ਹਰੀਜੱਟਲ ਥਾਂ ਚਾਹੀਦੀ ਹੈ" -#: ../gtk/gtkwidget.c:1287 -#| msgid "Horizontal alignment" +#: ../gtk/gtkwidget.c:1289 msgid "Horizontal Expand Set" msgstr "ਹਰੀਜੱਟਲ ਫੈਲਾਉ ਸੈੱਟ" -#: ../gtk/gtkwidget.c:1288 -#, fuzzy +#: ../gtk/gtkwidget.c:1290 #| msgid "Whether to use the related actions appearance properties" msgid "Whether to use the hexpand property" -msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" +msgstr "ਕੀ ਹੈਕਸਾਪੈਂਡ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkwidget.c:1302 -#| msgid "Vertical padding" +#: ../gtk/gtkwidget.c:1304 msgid "Vertical Expand" -msgstr "ਵਰਟੀਕਲ ਫੈਲਾਉ" +msgstr "ਵਰਟੀਕਲ ਫੈਲਾਓ" -#: ../gtk/gtkwidget.c:1303 -#| msgid "Whether the widget is visible" +#: ../gtk/gtkwidget.c:1305 msgid "Whether widget wants more vertical space" msgstr "ਕੀ ਵਿਦਜੈੱਟ ਨੂੰ ਹੋਰ ਵਰਟੀਕਲ ਥਾਂ ਚਾਹੀਦੀ ਹੈ" -#: ../gtk/gtkwidget.c:1317 -#| msgid "Vertical alignment" +#: ../gtk/gtkwidget.c:1319 msgid "Vertical Expand Set" msgstr "ਵਰਟੀਕਲ ਫੈਲਾਉ ਸੈੱਟ" -#: ../gtk/gtkwidget.c:1318 -#, fuzzy +#: ../gtk/gtkwidget.c:1320 #| msgid "Whether to use the related actions appearance properties" msgid "Whether to use the vexpand property" -msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" +msgstr "ਕੀ ਵੈਕਸਪੈਂਡ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" -#: ../gtk/gtkwidget.c:1332 -#| msgid "Expand timeout" +#: ../gtk/gtkwidget.c:1334 msgid "Expand Both" msgstr "ਦੋਵੇਂ ਫੈਲਾਓ" -#: ../gtk/gtkwidget.c:1333 -#| msgid "Whether the widget has the input focus" +#: ../gtk/gtkwidget.c:1335 msgid "Whether widget wants to expand in both directions" msgstr "ਕੀ ਵਿਦਜੈਟ ਨੂੰ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਫੈਲਣ ਦੀ ਲੋੜ ਹੈ" -#: ../gtk/gtkwidget.c:2992 +#: ../gtk/gtkwidget.c:2994 msgid "Interior Focus" msgstr "ਅੰਦਰੂਨੀ ਫੋਕਸ" -#: ../gtk/gtkwidget.c:2993 +#: ../gtk/gtkwidget.c:2995 msgid "Whether to draw the focus indicator inside widgets" msgstr "ਕੀ ਵਿਦਗਿਟ ਵਿੱਚ ਫੋਕਸ ਸੰਕੇਤਕ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkwidget.c:2999 +#: ../gtk/gtkwidget.c:3001 msgid "Focus linewidth" msgstr "ਫੋਕਸ ਰੇਖਾ-ਚੌੜਾਈ" -#: ../gtk/gtkwidget.c:3000 +#: ../gtk/gtkwidget.c:3002 msgid "Width, in pixels, of the focus indicator line" msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਲਾਈਨ ਦੀ ਚੌੜਾਈ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtkwidget.c:3006 +#: ../gtk/gtkwidget.c:3008 msgid "Focus line dash pattern" msgstr "ਫੋਕਸ ਲਾਈਨ ਡੈਸ ਪੈਟਰਨ" -#: ../gtk/gtkwidget.c:3007 +#: ../gtk/gtkwidget.c:3009 msgid "Dash pattern used to draw the focus indicator" msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਨੂੰ ਬਣਾਉਣ ਲਈ ਡੱਬੀਦਾਰ ਪੈਟਰਨ" -#: ../gtk/gtkwidget.c:3012 +#: ../gtk/gtkwidget.c:3014 msgid "Focus padding" msgstr "ਫੋਕਸ ਪੈਡਿੰਗ" -#: ../gtk/gtkwidget.c:3013 +#: ../gtk/gtkwidget.c:3015 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਅਤੇ ਵਿਦਗਿਟ 'ਡੱਬੇ' ਵਿਚਕਾਰ ਦੀ ਚੌੜਾਈ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" -#: ../gtk/gtkwidget.c:3018 +#: ../gtk/gtkwidget.c:3020 msgid "Cursor color" msgstr "ਕਰਸਰ ਰੰਗ" -#: ../gtk/gtkwidget.c:3019 +#: ../gtk/gtkwidget.c:3021 msgid "Color with which to draw insertion cursor" msgstr "ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਬਣਾਉਣ ਵਾਲਾ ਰੰਗ" -#: ../gtk/gtkwidget.c:3024 +#: ../gtk/gtkwidget.c:3026 msgid "Secondary cursor color" msgstr "ਸੈਕੰਡਰੀ ਕਰਸਰ ਰੰਗ" -#: ../gtk/gtkwidget.c:3025 +#: ../gtk/gtkwidget.c:3027 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6834,196 +7153,196 @@ msgstr "" "ਰੰਗ, ਜਿਸ ਨਾਲ ਸੈਕੰਡਰੀ ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਬਣਾਈ ਜਾਵੇਗੀ, ਜਦੋਂ ਕਿ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਤੇ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਟੈਕਸਟ ਦੇ " "ਰਲਵੇ ਨੂੰ ਸੋਧਣਾ ਹੈ" -#: ../gtk/gtkwidget.c:3030 +#: ../gtk/gtkwidget.c:3032 msgid "Cursor line aspect ratio" msgstr "ਕਰਸਰ ਲਾਈਨ ਅਕਾਰ ਅਨੁਪਾਤ" -#: ../gtk/gtkwidget.c:3031 +#: ../gtk/gtkwidget.c:3033 msgid "Aspect ratio with which to draw insertion cursor" msgstr "ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਖਿੱਚਣ ਲਈ ਅਕਾਰ ਅਨੁਪਾਤ" -#: ../gtk/gtkwidget.c:3037 +#: ../gtk/gtkwidget.c:3039 msgid "Window dragging" msgstr "ਵਿੰਡੋ ਡਰੈਗਿੰਗ" -#: ../gtk/gtkwidget.c:3038 +#: ../gtk/gtkwidget.c:3040 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "ਕੀ ਵਿੰਡੋ ਨੂੰ ਖਾਲੀ ਖੇਤਰਾਂ 'ਚ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਡਰੈਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwidget.c:3051 +#: ../gtk/gtkwidget.c:3053 msgid "Unvisited Link Color" msgstr "ਨਾ-ਖੋਲ੍ਹੇ ਲਿੰਕ ਰੰਗ" -#: ../gtk/gtkwidget.c:3052 +#: ../gtk/gtkwidget.c:3054 msgid "Color of unvisited links" msgstr "ਨਾ-ਖੋਲ੍ਹੇ ਲਿੰਕਾਂ ਦਾ ਰੰਗ ਹੈ" -#: ../gtk/gtkwidget.c:3065 +#: ../gtk/gtkwidget.c:3067 msgid "Visited Link Color" msgstr "ਖੋਲ੍ਹੇ ਲਿੰਕ ਰੰਗ" -#: ../gtk/gtkwidget.c:3066 +#: ../gtk/gtkwidget.c:3068 msgid "Color of visited links" msgstr "ਖੋਲ੍ਹੇ ਗਏ ਲਿੰਕਦਾ ਰੰਗ" -#: ../gtk/gtkwidget.c:3080 +#: ../gtk/gtkwidget.c:3082 msgid "Wide Separators" msgstr "ਖੁੱਲ੍ਹੇ ਵੱਖਰੇਵੇਂ" -#: ../gtk/gtkwidget.c:3081 +#: ../gtk/gtkwidget.c:3083 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" msgstr "ਕੀ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ ਸੰਰਚਨਾ ਯੋਗ ਹੋਵੇ ਅਤੇ ਇੱਕ ਸਤਰ ਦੀ ਬਜਾਏ ਇੱਕ ਬਕਸਾ ਖਿੱਚਣ ਦੇ ਯੋਗ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:3095 +#: ../gtk/gtkwidget.c:3097 msgid "Separator Width" msgstr "ਵੱਖਰੇਵਾ ਚੌੜਾਈ" -#: ../gtk/gtkwidget.c:3096 +#: ../gtk/gtkwidget.c:3098 msgid "The width of separators if wide-separators is TRUE" msgstr "ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ, ਜੇਕਰ ਖੁੱਲ੍ਹਾ-ਵੱਖਰੇਵਾ ਸੱਚ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:3110 +#: ../gtk/gtkwidget.c:3112 msgid "Separator Height" msgstr "ਵੱਖਰੇਵਾ ਉਚਾਈ" -#: ../gtk/gtkwidget.c:3111 +#: ../gtk/gtkwidget.c:3113 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "ਵੱਖਰੇਵੇ ਦੀ ਉਚਾਈ, ਜੇਕਰ \"ਖੁੱਲ੍ਹਾ-ਵੱਖਰੇਵਾ\" ਸੱਚ ਹੋਵੇ" -#: ../gtk/gtkwidget.c:3125 +#: ../gtk/gtkwidget.c:3127 msgid "Horizontal Scroll Arrow Length" msgstr "ਖਿਤਿਜੀ ਸਰਕੋਲ ਤੀਰ ਲੰਬਾਈ" -#: ../gtk/gtkwidget.c:3126 +#: ../gtk/gtkwidget.c:3128 msgid "The length of horizontal scroll arrows" msgstr "ਖਿਤਿਜੀ ਸਕਰੋਲ ਤੀਰਾਂ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkwidget.c:3140 +#: ../gtk/gtkwidget.c:3142 msgid "Vertical Scroll Arrow Length" msgstr "ਲੰਬਕਾਰੀ ਸਕਰੋਲ ਤੀਰ ਲੰਬਾਈ" -#: ../gtk/gtkwidget.c:3141 +#: ../gtk/gtkwidget.c:3143 msgid "The length of vertical scroll arrows" msgstr "ਲੰਬਕਾਰੀ ਸਕਰੋਲ ਤੀਰਾਂ ਦੀ ਲੰਬਾਈ" -#: ../gtk/gtkwindow.c:614 +#: ../gtk/gtkwindow.c:603 msgid "Window Type" msgstr "ਵਿੰਡੋ ਟਾਈਪ" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:604 msgid "The type of the window" msgstr "ਵਿੰਡੋ ਦੀ ਕਿਸਮ" -#: ../gtk/gtkwindow.c:623 +#: ../gtk/gtkwindow.c:612 msgid "Window Title" msgstr "ਵਿੰਡੋ ਟਾਈਟਲ" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:613 msgid "The title of the window" msgstr "ਵਿੰਡੋ ਦਾ ਟਾਈਟਲ" -#: ../gtk/gtkwindow.c:631 +#: ../gtk/gtkwindow.c:620 msgid "Window Role" msgstr "ਵਿੰਡੋ ਰੂਲ" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:621 msgid "Unique identifier for the window to be used when restoring a session" msgstr "ਵਿੰਡੋ ਲਈ ਇਕਸਾਰ ਸ਼ਨਾਖਤੀ ਜੋ ਕਿ ਸ਼ੈਸ਼ਨ ਨੁੰ ਮੁੜ-ਸੰਭਾਲਣ ਸਮੇ ਵਰਤਿਆ ਜਾ ਸਕੇ" -#: ../gtk/gtkwindow.c:648 +#: ../gtk/gtkwindow.c:637 msgid "Startup ID" msgstr "ਸ਼ੁਰੂਆਤੀ ID" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:638 msgid "Unique startup identifier for the window used by startup-notification" msgstr "ਵਿੰਡੋ ਲਈ ਵਿਲੱਖਣ ਸ਼ੁਰੂਆਤੀ ਸ਼ਨਾਖਤੀ, ਜੋ ਕਿ ਸ਼ੁਰੂਆਤੀ ਸੂਚਨਾ ਵਜੋਂ ਵਰਤਿਆ ਜਾਵੇ।" -#: ../gtk/gtkwindow.c:657 +#: ../gtk/gtkwindow.c:646 msgid "If TRUE, users can resize the window" msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਯੂਜ਼ਰ ਵਿੰਡ ਦਾ ਮੁੜ-ਅਕਾਰ ਕਰ ਸਕਦਾ ਹੈ" -#: ../gtk/gtkwindow.c:664 +#: ../gtk/gtkwindow.c:653 msgid "Modal" msgstr "ਮਾਡਲ" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:654 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" msgstr "" "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ, ਵਿੰਡੋ ਮਾਡਲ ਹੋਵੇਗੀ (ਹੋਰ ਵਿੰਡੋ ਉਪਲੱਬਧ ਨਹੀਂ ਹੋ ਸਕਣਗੇ, ਜਦੋਂ ਕਿ ਇੱਕ ਨੂੰ ਵਰਤ ਰਹੇ ਹੋ)" -#: ../gtk/gtkwindow.c:672 +#: ../gtk/gtkwindow.c:661 msgid "Window Position" msgstr "ਵਿੰਡੋ ਸਥਿਤੀ" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:662 msgid "The initial position of the window" msgstr "ਵਿੰਡੋ ਦੀ ਮੁੱਢਲੀ ਸਥਿਤੀ" -#: ../gtk/gtkwindow.c:681 +#: ../gtk/gtkwindow.c:670 msgid "Default Width" msgstr "ਮੂਲ ਚੌੜਾਈ" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:671 msgid "The default width of the window, used when initially showing the window" msgstr "ਵਿੰਡੋ ਦੀ ਡਿਫਾਲਟ ਚੌੜਾਈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਸ਼ੁਰੂ ਵੇਲੇ ਵੇਖਾਈ ਜਾਵੇਗੀ" -#: ../gtk/gtkwindow.c:691 +#: ../gtk/gtkwindow.c:680 msgid "Default Height" msgstr "ਮੂਲ ਉਚਾਈ" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:681 msgid "The default height of the window, used when initially showing the window" msgstr "ਵਿੰਡੋ ਦੀ ਡਿਫਾਲਟ ਉਚਾਈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਸ਼ੁਰੂ ਵੇਲੇ ਵੇਖਾਈ ਜਾਵੇਗੀ" -#: ../gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:690 msgid "Destroy with Parent" msgstr "ਪੇਰੈਟ ਨੂੰ ਖਤਮ ਕਰ ਦਿਉ" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:691 msgid "If this window should be destroyed when the parent is destroyed" msgstr "ਜੇਕਰ ਇਹ ਵਿੰਡੋ ਨੂੰ ਖਤਮ ਕੀਤਾ ਤਾਂ ਪੈਰੈਟ ਵੀ ਖਤਮ ਹੋ ਜਾਏਗਾ" -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:699 msgid "Icon for this window" msgstr "ਇਸ ਵਿੰਡੋ ਲਈ ਆਈਕਾਨ" -#: ../gtk/gtkwindow.c:716 +#: ../gtk/gtkwindow.c:705 msgid "Mnemonics Visible" msgstr "ਮਨਾਮੈਰਿਕ ਦਿੱਖ" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:706 msgid "Whether mnemonics are currently visible in this window" msgstr "ਕੀ ਇਸ ਵਿੰਡੋ ਵਿੱਚ ਮਨਾਮੈਰਿਕ ਇਸ ਸਮੇਂ ਉਪਲੱਬਧ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:722 msgid "Name of the themed icon for this window" msgstr "ਇਸ ਵਿੰਡੋ ਲਈ ਥੀਮ ਆਈਕਾਨ ਦਾ ਨਾਂ" -#: ../gtk/gtkwindow.c:748 +#: ../gtk/gtkwindow.c:737 msgid "Is Active" msgstr "ਸਰਗਰਮ ਹੈ" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:738 msgid "Whether the toplevel is the current active window" msgstr "ਕੀ ਉੱਤਲਾ ਮੌਜੂਦਾ ਸਰਗਰਮ ਵਿੰਡੋ ਹੈ" -#: ../gtk/gtkwindow.c:756 +#: ../gtk/gtkwindow.c:745 msgid "Focus in Toplevel" msgstr "ਉਪਰਲੇ ਨੂੰ ਕੇਦਰਿਤ ਕਰੋ" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:746 msgid "Whether the input focus is within this GtkWindow" msgstr "ਕੀ ਇਸ GtkWindow ਵਿੱਚ ਇੰਪੁੱਟ ਕੇਦਰ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:764 +#: ../gtk/gtkwindow.c:753 msgid "Type hint" msgstr "ਸੰਕੇਤ ਲਿਖੋ" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:754 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7031,132 +7350,133 @@ msgstr "" "ਸੰਕੇਤ, ਡੈਸਕਟਾਪ ਮਾਹੌਲ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਮੱਦਦ ਕਰਦਾ ਹੈ ਕਿ ਵਿੰਡੋ ਕਿਸ ਕਿਸਮ ਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਕਿਵੇਂ " "ਵਰਤਣਾ ਹੈ।" -#: ../gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:762 msgid "Skip taskbar" msgstr "ਕਾਰਜ-ਪੱਟੀ ਨੂੰ ਛੱਡੋ" -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:763 msgid "TRUE if the window should not be in the task bar." msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਟਾਸਕਬਾਰ ਵਿੱਚ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" -#: ../gtk/gtkwindow.c:781 +#: ../gtk/gtkwindow.c:770 msgid "Skip pager" msgstr "ਪੇਜ਼ਰ ਨੂੰ ਛੱਡੋ" -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:771 msgid "TRUE if the window should not be in the pager." msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਪੇਜ਼ਰ ਵਿੱਚ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" -#: ../gtk/gtkwindow.c:789 +#: ../gtk/gtkwindow.c:778 msgid "Urgent" msgstr "ਲਾਜ਼ਮੀ" -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:779 msgid "TRUE if the window should be brought to the user's attention." msgstr "ਸੱਚ, ਜੇਕਰ ਵਿੰਡੋ ਯੂਜ਼ਰ ਦਾ ਧਿਆਨ ਖਿੱਚੇ" -#: ../gtk/gtkwindow.c:804 +#: ../gtk/gtkwindow.c:793 msgid "Accept focus" msgstr "ਫੋਕਸ ਮਨਜ਼ੂਰ" -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:794 msgid "TRUE if the window should receive the input focus." msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਇੰਪੁੱਟ ਫੋਕਸ ਲੈ ਸਕੇ।" -#: ../gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:808 msgid "Focus on map" msgstr "ਨਕਸ਼ੇ ਉੱਤੇ ਫੋਕਸ" -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:809 msgid "TRUE if the window should receive the input focus when mapped." msgstr "ਸੱਚ, ਜੇਕਰ ਵਿੰਡੋ ਇੰਪੁੱਟ ਧਿਆਨ ਲਵੇ, ਜਦੋਂ ਮਿਲਾਇਆ ਗਿਆ ਹੋਵੇ।" -#: ../gtk/gtkwindow.c:834 +#: ../gtk/gtkwindow.c:823 msgid "Decorated" msgstr "ਸਜਾਇਆ" -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:824 msgid "Whether the window should be decorated by the window manager" msgstr "ਕੀ ਵਿੰਡੋ, ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਸਜਾਈ ਜਾ ਸਕੇ" -#: ../gtk/gtkwindow.c:849 +#: ../gtk/gtkwindow.c:838 msgid "Deletable" msgstr "ਵੱਖ-ਹੋਣ ਯੋਗ" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:839 msgid "Whether the window frame should have a close button" msgstr "ਕੀ ਵਿੰਡੋ ਫਰੇਮ ਉੱਤੇ ਇੱਕ ਬੰਦ ਕਰਨ ਦਾ ਬਟਨ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:869 +#: ../gtk/gtkwindow.c:858 msgid "Resize grip" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:859 msgid "Specifies whether the window should have a resize grip" msgstr "ਦੱਸੋ ਕਿ ਕੀ ਵਿੰਡੋ ਕੋਲ ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਹੋਵੇ" -#: ../gtk/gtkwindow.c:884 +#: ../gtk/gtkwindow.c:873 msgid "Resize grip is visible" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਵੇਖੋ" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:874 msgid "Specifies whether the window's resize grip is visible." msgstr "ਦੱਸੋ ਕਿ ਕੀ ਵਿੰਡੋ ਦਾ ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦਿੱਖ ਹੋਵੇ।" -#: ../gtk/gtkwindow.c:901 +#: ../gtk/gtkwindow.c:890 msgid "Gravity" msgstr "ਗਰੇਵਿਟੀ" -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:891 msgid "The window gravity of the window" msgstr "ਵਿੰਡੋ ਦੀ ਵਿੰਡੋ ਗਰੇਵਿਟੀ" -#: ../gtk/gtkwindow.c:919 +#: ../gtk/gtkwindow.c:908 msgid "Transient for Window" msgstr "ਵਿੰਡੋ ਲਈ ਟਰਾਂਸੀਨੇਟ" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:909 msgid "The transient parent of the dialog" msgstr "ਡਾਈਲਾਗ ਦੀ ਟਰਾਂਸਟ ਮੁੱਢਲਾ" -#: ../gtk/gtkwindow.c:935 +#: ../gtk/gtkwindow.c:924 msgid "Opacity for Window" msgstr "ਵਿੰਡੋ ਲਈ ਧੁੰਦਲਾਪਨ" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:925 msgid "The opacity of the window, from 0 to 1" msgstr "ਵਿੰਡੋ ਦਾ ਧੁੰਦਲਾਪਨ, 0 ਤੋਂ 1" -#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 msgid "Width of resize grip" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦੀ ਚੌੜਾਈ" -#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 msgid "Height of resize grip" msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦੀ ਉਚਾਈ" -#: ../gtk/gtkwindow.c:972 -#| msgid "Application paintable" +#: ../gtk/gtkwindow.c:961 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:973 -#| msgid "The initial position of the window" +#: ../gtk/gtkwindow.c:962 msgid "The GtkApplication for the window" msgstr "ਵਿੰਡੋ ਲਈ GtkApplication" +#~ msgid "Tab pack type" +#~ msgstr "ਟੈਬ ਪੈਕ ਕਿਸਮ" + +#~ msgid "Update policy" +#~ msgstr "ਅੱਪਡੇਟ ਪਾਲਸੀ" + +#~ msgid "How the range should be updated on the screen" +#~ msgstr "ਸਕਰੀਨ ਤੇ ਰੇਜ਼ ਦਾ ਕਿੰਨੀ ਵਾਰ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ" + #~ msgid "" #~ "The label for the link to the website of the program. If this is not set, " #~ "it defaults to the URL" #~ msgstr "" #~ "ਪਰੋਗਰਾਮ ਦੀ ਵੈਬਸਾਇਟ ਨਾਲ ਲਿੰਕ ਦਾ ਲੇਬਲ ਹੈ। ਜੇਕਰ ਇਹ ਨਾਂ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਇਹ ਮੂਲ URL ਹੋਵੇਗਾ।" -#~ msgid "Horizontal adjustment" -#~ msgstr "ਲੇਟਵਾਂ ਅਡਜੱਸਟਮੈਂਟ" - -#~ msgid "Vertical adjustment" -#~ msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" - #~ msgid "Lower" #~ msgstr "ਹੇਠਲੀ" diff --git a/po/pa.po b/po/pa.po index 2ffc1e61d5..7faef3e18e 100644 --- a/po/pa.po +++ b/po/pa.po @@ -4,13 +4,13 @@ # # Amanpreet Singh Alam , 2004. # Amanpreet Singh Alam , 2005,2006,2007, 2008, 2009. -# A S Alam , 2009, 2010. +# A S Alam , 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-10-05 23:12+0000\n" -"PO-Revision-Date: 2010-10-09 08:15+0530\n" +"POT-Creation-Date: 2011-01-05 17:26+0000\n" +"PO-Revision-Date: 2011-01-06 06:50+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" @@ -20,58 +20,48 @@ msgstr "" "X-Generator: Lokalize 1.1\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdk.c:103 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "--gdk-debug ਚੋਣ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" -#: ../gdk/gdk.c:123 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "ਚੋਣ --gdk-no-debug ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:151 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਪਰੋਗਰਾਮ ਕਲਾਸ ਦੇ ਤੌਰ ਉੱਤੇ ਵਰਤਿਆ" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:152 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "ਕਲਾਸ" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:154 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਪਰੋਗਰਾਮ ਨਾਂ ਦੇ ਤੌਰ ਉੱਤੇ ਇਸਤੇਮਾਲ" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:155 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "ਨਾਂ" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:157 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "ਵਰਤਣ ਲਈ X ਡਿਸਪਲੇਅ" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:158 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "ਡਿਸਪਲੇਅ" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:160 -msgid "X screen to use" -msgstr "ਵਰਤਣ ਲਈ X ਸਕਰੀਨ" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:161 -msgid "SCREEN" -msgstr "ਸਕਰੀਨ" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "ਸੈੱਟ ਕਰਨ ਲਈ GDK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" @@ -79,12 +69,12 @@ msgstr "ਸੈੱਟ ਕਰਨ ਲਈ GDK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:165 ../gdk/gdk.c:168 ../gtk/gtkmain.c:533 ../gtk/gtkmain.c:536 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "ਫਲੈਗ" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "ਅਣ-ਸੈੱਟ ਕਰਨ ਲਈ GDK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" @@ -274,109 +264,111 @@ msgid "Delete" msgstr "ਹਟਾਓ" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "GDI ਬੇਨਤੀਆਂ ਨੂੰ ਇੱਕ ਨਾਲ ਨਾ ਕਰੋ" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Wintab API ਨੂੰ ਟੈਬਲਿਟ ਸਹਿਯੋਗ ਲਈ ਨਾ ਵਰਤੋਂ" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "--no-wintab ਵਾਂਗ ਹੀ" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Wintab API [ਡਿਫਾਲਟ] ਨੂੰ ਇਸਤੇਮਾਲ ਨਾ ਕਰੋ" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "8 ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਰੰਗ-ਪੱਟੀ ਦਾ ਆਕਾਰ" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "ਰੰਗ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "%s ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "%s ਖੋਲ੍ਹਿਆ ਜਾ ਸਕਿਆ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "%d ਇਕਾਈ ਖੋਲ੍ਹੀ ਜਾ ਰਹੀ ਹੈ" msgstr[1] "%d ਇਕਾਈਆਂ ਖੋਲ੍ਹੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:96 -msgid "Make X calls synchronous" -msgstr "X ਕਾਲਾਂ ਸੈਕੋਰਨਸ ਕਰੋ" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:104 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "ਇਹ ਪਰੋਗਰਾਮ ਦੀ *ਕੋਈ ਵੀ ਵਾਰੰਟੀ* ਨਹੀਂ ਹੈ; ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ, %s ਵੇਖੋ।" +#| msgid "" +#| "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "ਇਹ ਪਰੋਗਰਾਮ ਦੀ *ਕੋਈ ਵੀ ਵਾਰੰਟੀ* ਨਹੀਂ ਹੈ; ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ,%s ਵੇਖੋ।" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "ਲਾਈਸੈਂਸ" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "ਪਰੋਗਰਾਮ ਦਾ ਲਾਈਸੈਂਸ" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "ਮਾਣ(_r)" #. Add the license button -#: ../gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "ਲਾਈਸੈਂਸ(_L)" -#: ../gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "ਲਿੰਕ ਵੇਖਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" -#: ../gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:994 +#| msgctxt "keyboard label" +#| msgid "Home" +msgid "Homepage" +msgstr "ਮੁੱਖ ਸਫ਼ਾ" + +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "%s ਬਾਰੇ" -#: ../gtk/gtkaboutdialog.c:2153 -msgid "Credits" -msgstr "ਮਾਣ" +#: ../gtk/gtkaboutdialog.c:2372 +#| msgid "C_reate" +msgid "Created by" +msgstr "ਬਣਾਇਆ" -#: ../gtk/gtkaboutdialog.c:2185 -msgid "Written by" -msgstr "ਲੇਖਕ" - -#: ../gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "ਦਸਤਾਵੇਜ਼ ਲਿਖੇ" -#: ../gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "ਅਨੁਵਾਦ ਕੀਤਾ" -#: ../gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "ਕਲਾਕਾਰੀ" @@ -385,7 +377,7 @@ msgstr "ਕਲਾਕਾਰੀ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "ਸਿਫਟ" @@ -395,7 +387,7 @@ msgstr "ਸਿਫਟ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "ਕੰਟਰੋਲ" @@ -405,7 +397,7 @@ msgstr "ਕੰਟਰੋਲ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "ਆਲਟ" @@ -415,7 +407,7 @@ msgstr "ਆਲਟ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "ਸੁਪਰ" @@ -425,7 +417,7 @@ msgstr "ਸੁਪਰ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "ਹਾਈਪਰ" @@ -435,37 +427,132 @@ msgstr "ਹਾਈਪਰ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "ਮੇਟਾ" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "ਖਾਲੀ ਥਾਂ" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "ਪਿੱਛੇ ਡੰਡਾ" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:251 +#| msgid "Application" +msgid "Other application..." +msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ..." + +#: ../gtk/gtkappchooserdialog.c:115 +msgid "Failed to look for applications online" +msgstr "ਆਨਲਾਈਨ ਐਪਲੀਕੇਸ਼ਨ ਲੱਭਣ ਲਈ ਫੇਲ੍ਹ" + +#: ../gtk/gtkappchooserdialog.c:152 +msgid "Find applications online" +msgstr "ਐਪਲੀਕੇਸ਼ਨ ਆਨਲਾਈਨ ਲੱਭੋ" + +#: ../gtk/gtkappchooserdialog.c:196 +#| msgid "Could not clear list" +msgid "Could not run application" +msgstr "ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../gtk/gtkappchooserdialog.c:209 +#, c-format +#| msgid "Could not mount %s" +msgid "Could not find '%s'" +msgstr "'%s' ਲੱਭੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#: ../gtk/gtkappchooserdialog.c:212 +#| msgid "Could not show link" +msgid "Could not find application" +msgstr "ਐਪਲੀਕੇਸ਼ਨ ਲੱਭੀ ਨਹੀਂ ਜਾ ਸਕੀ" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:322 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "\"%s\" ਖੋਲ੍ਹਣ ਲਈ ਐਪਲੀਕੇਸ਼ਣ ਚੁਣੋ।" + +#: ../gtk/gtkappchooserdialog.c:323 ../gtk/gtkappchooserwidget.c:633 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "\"%s\" ਖੋਲ੍ਹਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:329 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "\"%s\" ਫਾਇਲਾਂ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਚੁਣੋ" + +#: ../gtk/gtkappchooserdialog.c:332 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "\"%s\" ਫਾਇਲਾਂ ਖੋਲ੍ਹਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਉਪਲਬੱਧ ਨਹੀਂ" + +#: ../gtk/gtkappchooserdialog.c:346 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" +"ਹੋਰ ਚੋਣਾਂ ਲਈ \"ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖੋ\" ਕਲਿੱਕ ਕਰੋ, ਜਾਂ ਨਵੀਂ ਐਪਲੀਕੇਸ਼ਨ ਇੰਸਟਾਲ ਕਰਨ ਲਈ " +"\"ਐਪਲੀਕੇਸ਼ਨ ਆਨਲਾਈਨ ਲੱਭੋ\"" + +#: ../gtk/gtkappchooserdialog.c:416 +#| msgid "Forget password _immediately" +msgid "Forget association" +msgstr "ਸਬੰਧ ਭੁੱਲ ਜਾਓ" + +#: ../gtk/gtkappchooserdialog.c:481 +#| msgid "Show GTK+ Options" +msgid "Show other applications" +msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserdialog.c:499 +#| msgctxt "Stock label" +#| msgid "_Open" +msgid "_Open" +msgstr "ਖੋਲ੍ਹੋ(_O)" + +#: ../gtk/gtkappchooserwidget.c:582 +#| msgid "Application" +msgid "Default Application" +msgstr "ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ" + +#: ../gtk/gtkappchooserwidget.c:718 +#| msgid "Application" +msgid "Recommended Applications" +msgstr "ਸਿਫਾਰਸ਼ੀ ਐਪਲੀਕੇਸ਼ਨ" + +#: ../gtk/gtkappchooserwidget.c:732 +#| msgid "Application" +msgid "Related Applications" +msgstr "ਸਬੰਧਿਤ ਐਪਲੀਕੇਸ਼ਨ" + +#: ../gtk/gtkappchooserwidget.c:745 +#| msgid "Application" +msgid "Other Applications" +msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "ਲਾਈਨ %d ਉੱਤੇ ਗਲਤ ਟਾਈਪ ਫੰਕਸ਼ਨ: '%s'" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "ਲਾਈਨ %2$d ਉੱਤੇ ਡੁਪਲੀਕੇਟ ਆਬਜੈਕਟ ID '%1$s' (ਲਾਈਨ %3$d ਉੱਤੇ ਪਿੱਛੇ)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "ਗਲਤ root ਐਲੀਮੈਂਟ: '%s'" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "ਅਣ-ਹੈਂਡਲ ਟੈਗ: '%s'" @@ -480,7 +567,7 @@ msgstr "ਅਣ-ਹੈਂਡਲ ਟੈਗ: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:885 msgid "calendar:MY" msgstr "calendar:MY" @@ -488,7 +575,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:923 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -497,7 +584,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:2006 +#: ../gtk/gtkcalendar.c:1903 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -512,7 +599,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:2037 ../gtk/gtkcalendar.c:2719 +#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -528,7 +615,7 @@ msgstr "%Id" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:2069 ../gtk/gtkcalendar.c:2579 +#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -544,7 +631,7 @@ msgstr "%Id" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2361 +#: ../gtk/gtkcalendar.c:2256 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -552,7 +639,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "ਆਯੋਗ" @@ -561,7 +648,7 @@ msgstr "ਆਯੋਗ" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "ਅਢੁੱਕਵਾਂ" @@ -570,7 +657,7 @@ msgstr "ਅਢੁੱਕਵਾਂ" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "ਨਵਾਂ ਪਰਵੇਸ਼ਕ..." @@ -580,15 +667,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "ਇੱਕ ਰੰਗ ਚੁਣੋ" -#: ../gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "ਗਲਤ ਰੰਗ ਡਾਟਾ ਮਿਲਿਆ\n" -#: ../gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -596,73 +683,73 @@ msgstr "" "ਬਾਹਰੀ ਚੱਕਰ ਵਿੱਚ ਰੰਗ, ਜੋ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਨੂੰ ਚੁਣੋ। ਅੰਦਰੂਨੀ ਤਿਕੋਣ ਨਾਲ ਰੰਗ ਦਾ ਗੂੜਾਪਨ ਜਾਂ ਫਿੱਕਾਪਨ " "ਦਿਓ।" -#: ../gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "ਆਈਡਰਾਪਰ ਦਬਾਉ, ਤਦ ਇੱਕ ਰੰਗ ਚੁਣਨ ਲਈ ਆਪਣੀ ਸਕਰੀਨ ਉੱਤੇ ਕਿਸੇ ਵੀ ਰੰਗ 'ਤੇ ਦਬਾਓ।" -#: ../gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "ਆਭਾ(_H):" -#: ../gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "ਰੰਗ ਚੱਕਰ 'ਤੇ ਟਿਕਾਣਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "ਸੰਤ੍ਰਿਪਤ(_S):" -#: ../gtk/gtkcolorsel.c:421 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "ਰੰਗ ਦੀ ਤੀਬਰਤਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "ਮੁੱਲ(_V):" -#: ../gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "ਰੰਗ ਦੀ ਚਮਕ ਹੈ।" -#: ../gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "ਲਾਲ(_R):" -#: ../gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "ਰੰਗ ਵਿੱਚ ਲਾਲ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "ਹਰਾ(_G):" -#: ../gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "ਰੰਗ ਵਿੱਚ ਹਰੀ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "ਨੀਲਾ(_B):" -#: ../gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "ਰੰਗ ਵਿੱਚ ਨੀਲੀ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "ਧੁੰਦਲਾਪਨ(_a):" -#: ../gtk/gtkcolorsel.c:439 ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "ਰੰਗ ਦੀ ਪਾਰਦਰਸ਼ਤਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "ਰੰਗ ਨਾਂ(_N):" -#: ../gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -670,15 +757,15 @@ msgstr "" "ਤੁਸੀਂ ਇਸ ਐਂਟਰੀ ਵਿੱਚ HTML-ਸਟਾਇਲ ਵਾਂਗ ਹੈਕਸਾਡੈਸੀਮਲ ਮੁੱਲ ਵੀ ਦੇ ਸਕਦੇ ਹੋ ਜਾਂ ਰੰਗ ਦਾ ਨਾਂ ਵੀ ਭਰ ਸਕਦੇ " "ਹੋ, ਜਿਵੇਂ ਕਿ 'ਲਾਲ'।" -#: ../gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "ਰੰਗ-ਪੱਟੀ(_P):" -#: ../gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "ਰੰਗ ਚੱਕਰ" -#: ../gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -687,7 +774,7 @@ msgstr "" "ਪਹਿਲਾਂ ਚੁਣਿਆ ਰੰਗ, ਮੌਜੂਦਾ ਤੁਹਾਡੇ ਰਾਹੀਂ ਰੰਗ ਦੇ ਮੁਕਾਬਲੇ। ਤੁਸੀਂ ਇਸ ਰੰਗ ਨੂੰ ਰੰਗ-ਪੱਟੀ ਐਂਟਰੀ ਵਿੱਚ ਸੁੱਟ ਸਕਦੇ " "ਹੋ ਜਾਂ ਇਸ ਰੰਗ ਨੂੰ ਰੰਗ ਸਵਿੱਚ ਵਿੱਚ ਰੱਖ ਸਕਦੇ ਹੋ।" -#: ../gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -695,21 +782,21 @@ msgstr "" "ਰੰਗ ਜੋ ਤੁਸੀਂ ਚੁਣਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਰੰਗ-ਪੱਟੀ ਵਿੱਚ ਰੱਖ ਸਕਦੇ ਹੋ ਤਾਂ ਕਿ ਇਸ ਨੂੰ ਭਵਿੱਖ ਵਿੱਚ ਵੀ ਵਰਤਿਆ " "ਜਾ ਸਕੇ।" -#: ../gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "ਪਿਛਲਾ ਚੁਣਿਆ ਰੰਗ, ਤੁਹਾਡੇ ਵਲੋਂ ਹੁਣ ਚੁਣੇ ਗਏ ਰੰਗ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਲਈ।" -#: ../gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "ਰੰਗ, ਜੋ ਤੁਸੀਂ ਚੁਣਿਆ" -#: ../gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "ਰੰਗ ਇੱਥੇ ਸੰਭਾਲੋ(_S)" -#: ../gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -732,7 +819,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 msgid "Manage Custom Sizes" msgstr "ਕਸਟਮ ਅਕਾਰ ਪਰਬੰਧ" @@ -785,66 +872,66 @@ msgstr "ਸੱਜੇ(_R):" msgid "Paper Margins" msgstr "ਸਫ਼ਾ ਹਾਸ਼ੀਆ" -#: ../gtk/gtkentry.c:8601 ../gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8241 msgid "Input _Methods" msgstr "ਇੰਪੁੱਟ ਢੰਗ(_M)" -#: ../gtk/gtkentry.c:8615 ../gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8255 msgid "_Insert Unicode Control Character" msgstr "ਯੂਨੀਕੋਡ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ(_I)" -#: ../gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "ਕੈਪਸ ਲਾਕ ਤੇ ਨਮ ਲਾਕ ਚਾਲੂ ਹਨ" -#: ../gtk/gtkentry.c:10017 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "ਨਮ ਲਾਕ ਚਾਲੂ ਹੈ" -#: ../gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "ਕੈਪਸ ਤਾਲਾ ਚਾਲੂ ਹੈ" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "ਇੱਕ ਫਾਇਲ ਚੁਣੋ" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1825 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1831 msgid "Desktop" msgstr "ਡੈਸਕਟਾਪ" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(ਕੋਈ ਨਹੀਂ)" -#: ../gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "ਹੋਰ..." -#: ../gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "ਨਵੇਂ ਫੋਲਡਰ ਦਾ ਨਾਂ ਲਿਖੋ" -#: ../gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "ਫਾਇਲ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪਰਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" -#: ../gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "ਬੁੱਕਮਾਰਕ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" -#: ../gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "ਬੁੱਕਮਾਰਕ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" -#: ../gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "ਫੋਲਡਰ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" -#: ../gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -852,19 +939,19 @@ msgstr "" "ਫੋਲਡਰ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ, ਕਿਉਕਿ ਇਸੇ ਨਾਂ ਨਾਲ ਫਾਇਲ ਮੌਜੂਦ ਹੈ। ਫੋਲਡਰ ਲਈ ਵੱਖਰਾ ਨਾਂ ਵਰਤੋਂ ਜਾਂ " "ਫਾਇਲ ਦਾ ਨਾਂ ਪਹਿਲਾਂ ਬਦਲ ਦਿਓ।" -#: ../gtk/gtkfilechooserdefault.c:998 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." msgstr "" -"ਤੁਸੀਂ ਸ਼ਾਇਦ ਕੇਵਲ ਫੋਲਡਰ ਹੀ ਚੁਣ ਸਕਦੇ ਹੋ। ਆਈਟਮ, ਜਿਸ ਦੀ ਤੁਸੀਂ ਚੋਣ ਕੀਤੀ ਹੈ, ਫੋਲਡਰ ਨਹੀਂ ਹੈ; " -"ਵੱਖਰੀ ਆਈਟਮ ਦੀ ਚੋਣ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" +"ਤੁਸੀਂ ਸ਼ਾਇਦ ਕੇਵਲ ਫੋਲਡਰ ਹੀ ਚੁਣ ਸਕਦੇ ਹੋ। ਆਈਟਮ, ਜਿਸ ਦੀ ਤੁਸੀਂ ਚੋਣ ਕੀਤੀ ਹੈ, ਫੋਲਡਰ ਨਹੀਂ ਹੈ; ਵੱਖਰੀ " +"ਆਈਟਮ ਦੀ ਚੋਣ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" -#: ../gtk/gtkfilechooserdefault.c:1008 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "ਗਲਤ ਫਾਇਲ ਨਾਂ" -#: ../gtk/gtkfilechooserdefault.c:1018 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "ਫੋਲਡਰ ਦੀ ਸਮੱਗਰੀ ਵੇਖਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" @@ -872,234 +959,234 @@ msgstr "ਫੋਲਡਰ ਦੀ ਸਮੱਗਰੀ ਵੇਖਾਈ ਨਹੀਂ #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1568 +#: ../gtk/gtkfilechooserdefault.c:1574 #, c-format msgid "%1$s on %2$s" msgstr "%2$s ਉੱਤੇ %1$s" -#: ../gtk/gtkfilechooserdefault.c:1744 +#: ../gtk/gtkfilechooserdefault.c:1750 msgid "Search" msgstr "ਖੋਜ" -#: ../gtk/gtkfilechooserdefault.c:1768 ../gtk/gtkfilechooserdefault.c:9349 +#: ../gtk/gtkfilechooserdefault.c:1774 ../gtk/gtkfilechooserdefault.c:9422 msgid "Recently Used" msgstr "ਤਾਜ਼ਾ ਵਰਤੇ" -#: ../gtk/gtkfilechooserdefault.c:2422 +#: ../gtk/gtkfilechooserdefault.c:2435 msgid "Select which types of files are shown" msgstr "ਚੁਣੋ ਕਿ ਕਿਸ ਕਿਸਮ ਦੀਆਂ ਫਾਇਲਾਂ ਵੇਖਾਈਆਂ ਜਾਣ" -#: ../gtk/gtkfilechooserdefault.c:2781 +#: ../gtk/gtkfilechooserdefault.c:2794 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "ਫੋਲਡਰ '%s' ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" -#: ../gtk/gtkfilechooserdefault.c:2825 +#: ../gtk/gtkfilechooserdefault.c:2838 #, c-format msgid "Add the current folder to the bookmarks" msgstr "ਮੌਜੂਦਾ ਫੋਲਡਰ ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" -#: ../gtk/gtkfilechooserdefault.c:2827 +#: ../gtk/gtkfilechooserdefault.c:2840 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "ਚੁਣੇ ਫੋਲਡਰਾਂ ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" -#: ../gtk/gtkfilechooserdefault.c:2865 +#: ../gtk/gtkfilechooserdefault.c:2878 #, c-format msgid "Remove the bookmark '%s'" msgstr "ਬੁੱਕਮਾਰਕ '%s' ਹਟਾਓ" -#: ../gtk/gtkfilechooserdefault.c:2867 +#: ../gtk/gtkfilechooserdefault.c:2880 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "ਬੁੱਕਮਾਰਕ '%s' ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" -#: ../gtk/gtkfilechooserdefault.c:2874 ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:2887 ../gtk/gtkfilechooserdefault.c:3755 msgid "Remove the selected bookmark" msgstr "ਚੁਣੇ ਬੁੱਕਮਾਰਕ ਹਟਾਓ" -#: ../gtk/gtkfilechooserdefault.c:3434 +#: ../gtk/gtkfilechooserdefault.c:3450 msgid "Remove" msgstr "ਹਟਾਓ" -#: ../gtk/gtkfilechooserdefault.c:3443 +#: ../gtk/gtkfilechooserdefault.c:3459 msgid "Rename..." msgstr "...ਨਾਂ-ਬਦਲੋ" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3606 +#: ../gtk/gtkfilechooserdefault.c:3622 msgid "Places" msgstr "ਥਾਵਾਂ" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3663 +#: ../gtk/gtkfilechooserdefault.c:3679 msgid "_Places" msgstr "ਥਾਵਾਂ(_P)" -#: ../gtk/gtkfilechooserdefault.c:3719 +#: ../gtk/gtkfilechooserdefault.c:3736 msgid "_Add" msgstr "ਸ਼ਾਮਲ(_A)" -#: ../gtk/gtkfilechooserdefault.c:3726 +#: ../gtk/gtkfilechooserdefault.c:3743 msgid "Add the selected folder to the Bookmarks" msgstr "ਚੁਣਿਆ ਫੋਲਡਰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3748 msgid "_Remove" msgstr "ਹਟਾਓ(_R)" -#: ../gtk/gtkfilechooserdefault.c:3873 +#: ../gtk/gtkfilechooserdefault.c:3890 msgid "Could not select file" msgstr "ਫਾਇਲ ਚੁਣੀ ਨਹੀਂ ਜਾ ਸਕੀ" -#: ../gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4065 msgid "_Add to Bookmarks" msgstr "ਬੁੱਕਮਾਰਕ ਸ਼ਾਮਲ(_A)" -#: ../gtk/gtkfilechooserdefault.c:4061 +#: ../gtk/gtkfilechooserdefault.c:4078 msgid "Show _Hidden Files" msgstr "ਲੁਕਵੀਆਂ ਫਾਇਲਾਂ ਵੇਖੋ(_H)" -#: ../gtk/gtkfilechooserdefault.c:4068 +#: ../gtk/gtkfilechooserdefault.c:4085 msgid "Show _Size Column" msgstr "ਅਕਾਰ ਕਾਲਮ ਵੇਖੋ(_S)" -#: ../gtk/gtkfilechooserdefault.c:4294 +#: ../gtk/gtkfilechooserdefault.c:4311 msgid "Files" msgstr "ਫਾਇਲਾਂ" -#: ../gtk/gtkfilechooserdefault.c:4345 +#: ../gtk/gtkfilechooserdefault.c:4362 msgid "Name" msgstr "ਨਾਂ" -#: ../gtk/gtkfilechooserdefault.c:4368 +#: ../gtk/gtkfilechooserdefault.c:4385 msgid "Size" msgstr "ਅਕਾਰ" -#: ../gtk/gtkfilechooserdefault.c:4382 +#: ../gtk/gtkfilechooserdefault.c:4399 msgid "Modified" msgstr "ਸੋਧੀਆਂ" #. Label -#: ../gtk/gtkfilechooserdefault.c:4637 ../gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4654 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "ਨਾਂ(_N):" -#: ../gtk/gtkfilechooserdefault.c:4680 +#: ../gtk/gtkfilechooserdefault.c:4697 msgid "_Browse for other folders" msgstr "ਹੋਰ ਫੋਲਡਰਾਂ ਲਈ ਝਲਕ(_B)" -#: ../gtk/gtkfilechooserdefault.c:4950 +#: ../gtk/gtkfilechooserdefault.c:4967 msgid "Type a file name" msgstr "ਇੱਕ ਫਾਇਲ ਨਾਂ ਦਿਓ" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:4993 +#: ../gtk/gtkfilechooserdefault.c:5010 msgid "Create Fo_lder" msgstr "ਫੋਲਡਰ ਬਣਾਓ(_l)" -#: ../gtk/gtkfilechooserdefault.c:5003 +#: ../gtk/gtkfilechooserdefault.c:5020 msgid "_Location:" msgstr "ਟਿਕਾਣਾ(_L):" -#: ../gtk/gtkfilechooserdefault.c:5207 +#: ../gtk/gtkfilechooserdefault.c:5224 msgid "Save in _folder:" msgstr "ਫੋਲਡਰ ਵਿੱਚ ਸੰਭਾਲੋ(_f):" -#: ../gtk/gtkfilechooserdefault.c:5209 +#: ../gtk/gtkfilechooserdefault.c:5226 msgid "Create in _folder:" msgstr "ਫੋਲਡਰ ਵਿੱਚ ਬਣਾਓ(_f):" -#: ../gtk/gtkfilechooserdefault.c:6261 +#: ../gtk/gtkfilechooserdefault.c:6294 #, c-format msgid "Could not read the contents of %s" msgstr "%s ਦੀ ਸਮੱਗਰੀ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" -#: ../gtk/gtkfilechooserdefault.c:6265 +#: ../gtk/gtkfilechooserdefault.c:6298 msgid "Could not read the contents of the folder" msgstr "ਫੋਲਡਰ ਦੀ ਸਮੱਗਰੀ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" -#: ../gtk/gtkfilechooserdefault.c:6358 ../gtk/gtkfilechooserdefault.c:6426 -#: ../gtk/gtkfilechooserdefault.c:6571 +#: ../gtk/gtkfilechooserdefault.c:6391 ../gtk/gtkfilechooserdefault.c:6459 +#: ../gtk/gtkfilechooserdefault.c:6604 msgid "Unknown" msgstr "ਅਣਜਾਣ" -#: ../gtk/gtkfilechooserdefault.c:6373 +#: ../gtk/gtkfilechooserdefault.c:6406 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6375 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "Yesterday at %H:%M" msgstr "%H:%M ਵਜੇ ਕੱਲ੍ਹ" -#: ../gtk/gtkfilechooserdefault.c:7041 +#: ../gtk/gtkfilechooserdefault.c:7074 msgid "Cannot change to folder because it is not local" msgstr "ਫੋਲਡਰ ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਕਰ ਸਕਿਆ, ਕਿਉਂਕਿ ਇਹ ਲੋਕਲ ਨਹੀਂ ਹੈ" -#: ../gtk/gtkfilechooserdefault.c:7638 ../gtk/gtkfilechooserdefault.c:7659 +#: ../gtk/gtkfilechooserdefault.c:7671 ../gtk/gtkfilechooserdefault.c:7692 #, c-format msgid "Shortcut %s already exists" msgstr "ਸ਼ਾਰਟਕੱਟ %s ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ" -#: ../gtk/gtkfilechooserdefault.c:7749 +#: ../gtk/gtkfilechooserdefault.c:7782 #, c-format msgid "Shortcut %s does not exist" msgstr "ਸ਼ਾਰਟਕੱਟ %s ਮੌਜੂਦ ਨਹੀਂ ਹੈ" -#: ../gtk/gtkfilechooserdefault.c:8010 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:481 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "ਇੱਕ ਫਾਇਲ ਨਾਂ \"%s\" ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?" -#: ../gtk/gtkfilechooserdefault.c:8013 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:485 #, c-format msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ \"%s\" ਵਿੱਚ ਮੌਜੂਦ ਹੈ। ਇਸ ਨੂੰ ਇਸ ਦੇ ਸਭ ਭਾਗਾਂ ਸਮੇਤ ਬਦਲਿਆ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" -#: ../gtk/gtkfilechooserdefault.c:8018 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8052 ../gtk/gtkprintunixdialog.c:492 msgid "_Replace" msgstr "ਬਦਲੋ(_R)" -#: ../gtk/gtkfilechooserdefault.c:8718 +#: ../gtk/gtkfilechooserdefault.c:8760 msgid "Could not start the search process" msgstr "ਖੋਜ ਕਾਰਵਾਈ ਨੂੰ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" -#: ../gtk/gtkfilechooserdefault.c:8719 +#: ../gtk/gtkfilechooserdefault.c:8761 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "ਪਰੋਗਰਾਮ ਤਤਕਰਾ ਡੈਮਨ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਬਣਾਉਣ ਲਈ ਅਸਫ਼ਲ ਹੈ। ਜਾਂਚ ਲਵੋ ਕਿ ਇਹ ਚੱਲ ਰਹੀ ਹੈ।" -#: ../gtk/gtkfilechooserdefault.c:8733 +#: ../gtk/gtkfilechooserdefault.c:8775 msgid "Could not send the search request" msgstr "ਖੋਜ ਮੰਗ ਭੇਜੀ ਨਹੀਂ ਜਾ ਸਕੀ" -#: ../gtk/gtkfilechooserdefault.c:8921 +#: ../gtk/gtkfilechooserdefault.c:8994 msgid "Search:" msgstr "ਖੋਜ:" -#: ../gtk/gtkfilechooserdefault.c:9526 +#: ../gtk/gtkfilechooserdefault.c:9599 #, c-format msgid "Could not mount %s" msgstr "%s ਮਾਊਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "ਗਲਤ ਪਾਥ" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "ਕੋਈ ਮੇਲ ਨਹੀਂ" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "ਪੂਰਾ ਮੁਕੰਮਲ" @@ -1107,13 +1194,13 @@ msgstr "ਪੂਰਾ ਮੁਕੰਮਲ" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "ਪੂਰਾ, ਪਰ ਵਿਲੱਖਣ ਨਹੀਂ" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "...ਪੂਰਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" @@ -1121,7 +1208,7 @@ msgstr "...ਪੂਰਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1182 ../gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "ਕੇਵਲ ਲੋਕਲ ਫਾਇਲਾਂ ਹੀ ਚੁਣੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ" @@ -1129,22 +1216,17 @@ msgstr "ਕੇਵਲ ਲੋਕਲ ਫਾਇਲਾਂ ਹੀ ਚੁਣੀਆਂ #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "ਅਧੂਰਾ ਹੋਸਟ ਨਾਂ, '/' ਨਾਲ ਅੰਤ" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "ਪਾਥ ਮੌਜੂਦ ਨਹੀਂ" -#: ../gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "ਫੋਲਡਰ '%s' ਬਣਾਉਣ ਦੌਰਾਨ ਗਲਤੀ: %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to @@ -1169,40 +1251,40 @@ msgstr "ਫੋਂਟ" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:367 msgid "_Family:" msgstr "ਫੈਮਲੀ(_F):" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:373 msgid "_Style:" msgstr "ਸਟਾਇਲ(_S):" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:379 msgid "Si_ze:" msgstr "ਅਕਾਰ(_z):" #. create the text entry widget -#: ../gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:555 msgid "_Preview:" msgstr "ਝਲਕ(_P):" -#: ../gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1655 msgid "Font Selection" msgstr "ਫੋਂਟ ਚੋਣ" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "ਆਈਕਾਨ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ: %s" -#: ../gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1351 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1215,12 +1297,12 @@ msgstr "" "ਤੁਸੀਂ ਇਸ ਦੀ ਕਾਪੀ ਇਥੋਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1532 #, c-format msgid "Icon '%s' not present in theme" msgstr "ਥੀਮ ਵਿੱਚ ਆਈਕਾਨ '%s' ਮੌਜੂਦ ਨਹੀਂ ਹੈ" -#: ../gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3053 msgid "Failed to load icon" msgstr "ਆਈਕਾਨ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" @@ -1245,45 +1327,45 @@ msgid "System (%s)" msgstr "ਸਿਸਟਮ (%s)" #. Open Link -#: ../gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "ਲਿੰਕ ਖੋਲ੍ਹੋ(_O)" #. Copy Link Address -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "ਲਿੰਕ ਐਡਰੈੱਸ ਕਾਪੀ ਕਰੋ(_L)" -#: ../gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "URL ਕਾਪੀ ਕਰੋ" -#: ../gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "ਗਲਤ URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "ਵਾਧੂ GTK+ ਮੋਡੀਊਲ ਲੋਡ ਕਰੋ" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "ਮੋਡੀਊਲ" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "ਸਭ ਚੇਤਾਵਨੀਆਂ ਨੂੰ ਘਾਤਕ ਬਣਾਓ" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "ਸੈੱਟ ਕਰਨ ਲਈ GTK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "ਅਣ-ਸੈੱਟ ਕਰਨ ਲਈ GTK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" @@ -1292,20 +1374,20 @@ msgstr "ਅਣ-ਸੈੱਟ ਕਰਨ ਲਈ GTK+ ਡੀਬੱਗਿੰਗ ਨ #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "ਦਿੱਖ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %s" -#: ../gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "GTK+ ਚੋਣ" -#: ../gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "GTK+ ਚੋਣ ਵੇਖੋ" @@ -1389,12 +1471,12 @@ msgstr "Z ਸ਼ੈੱਲ" msgid "Cannot end process with PID %d: %s" msgstr "PID %d ਨਾਲ ਪਰੋਸੈਸ ਖਤਮ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ: %s" -#: ../gtk/gtknotebook.c:4690 ../gtk/gtknotebook.c:7241 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "ਸਫ਼ਾ %u" -#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 #: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "ਇੱਕ ਠੀਕ ਸਫ਼ਾ ਸੈੱਟਅੱਪ ਫਾਇਲ ਨਹੀਂ" @@ -1422,7 +1504,7 @@ msgstr "" " ਉੱਤੇ: %s %s\n" " ਹੇਠਾਂ: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 msgid "Manage Custom Sizes..." msgstr "...ਪਸੰਦੀਦਾ ਅਕਾਰ ਪਰਬੰਧ" @@ -1430,7 +1512,7 @@ msgstr "...ਪਸੰਦੀਦਾ ਅਕਾਰ ਪਰਬੰਧ" msgid "_Format for:" msgstr "ਫਾਰਮੈਟ(_F):" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 msgid "_Paper size:" msgstr "ਸਫ਼ਾ ਆਕਾਰ(_P):" @@ -1438,19 +1520,19 @@ msgstr "ਸਫ਼ਾ ਆਕਾਰ(_P):" msgid "_Orientation:" msgstr "ਸਥਿਤੀ(_O):" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 msgid "Page Setup" msgstr "ਸਫ਼ਾ ਸੈੱਟਅੱਪ" -#: ../gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "ਉੱਤੇ ਮਾਰਗ" -#: ../gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "ਹੇਠਾਂ ਮਾਰਗ" -#: ../gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "ਫਾਇਲ ਸਿਸਟਮ ਰੂਟ" @@ -1458,15 +1540,15 @@ msgstr "ਫਾਇਲ ਸਿਸਟਮ ਰੂਟ" msgid "Authentication" msgstr "ਪਰਮਾਣਕਿਤਾ" -#: ../gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "ਉਪਲੱਬਧ ਨਹੀਂ" -#: ../gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" msgstr "ਫੋਲਡਰ ਚੁਣੋ" -#: ../gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "ਫੋਲਡਰ ਵਿੱਚ ਸੰਭਾਲੋ(_S):" @@ -1474,83 +1556,83 @@ msgstr "ਫੋਲਡਰ ਵਿੱਚ ਸੰਭਾਲੋ(_S):" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s ਜਾਬ #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "ਸ਼ੁਰੂਆਤੀ ਹਾਲਤ" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "ਛਾਪਣ ਲਈ ਤਿਆਰੀ" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "ਡਾਟਾ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "ਡਾਟਾ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "ਉਡੀਕ ਜਾਰੀ" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "ਮੁੱਦੇ ਉੱਤੇ ਰੋਕੋ" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "ਛਾਪਿਆ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "ਮੁਕੰਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "ਗਲਤੀ ਨਾਲ ਪੂਰਾ ਹੋਇਆ" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "%d ਲਈ ਤਿਆਰੀ" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "ਤਿਆਰੀ" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "%d ਪਰਿੰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "ਪਰਿੰਟ ਝਲਕ ਬਣਾਉਣ ਦੌਰਾਨ ਗਲਤੀ" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "ਸਭ ਤੋਂ ਵੱਧ ਸੰਭਵਾਨਾ ਹੈ ਕਿ ਆਰਜ਼ੀ ਫਾਇਲ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ।" -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "ਝਲਕ ਵੇਖਾਉਣ ਦੌਰਾਨ ਗਲਤੀ" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "ਐਪਲੀਕੇਸ਼ਨ" @@ -1564,7 +1646,7 @@ msgstr "ਪੇਪਰ ਖਤਮ ਹੋ ਗਏ" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "ਵਿਰਾਮ" @@ -1609,49 +1691,49 @@ msgstr "PrintDlgEx ਲਈ ਗਲਤ ਹੈਂਡਲ" msgid "Unspecified error" msgstr "ਨਾ-ਦੱਸੀ ਗਲਤੀ" -#: ../gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:619 msgid "Getting printer information failed" msgstr "ਪਰਿੰਟਰ ਲਈ ਜਾਣਕਾਰੀ ਲੈਣ ਲਈ ਫੇਲ੍ਹ" -#: ../gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1874 msgid "Getting printer information..." msgstr "...ਪਰਿੰਟਰ ਜਾਣਕਾਰੀ ਲਈ ਜਾ ਰਹੀ ਹੈ" -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2141 msgid "Printer" msgstr "ਪਰਿੰਟਰ" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2151 msgid "Location" msgstr "ਟਿਕਾਣਾ" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2162 msgid "Status" msgstr "ਹਾਲਤ" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2188 msgid "Range" msgstr "ਰੇਜ਼" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2192 msgid "_All Pages" msgstr "ਸਭ ਸਫ਼ਾ(_A)" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2199 msgid "C_urrent Page" msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ(_u)" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Se_lection" msgstr "ਚੋਣ(_l): " -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "Pag_es:" msgstr "ਸਫ਼ਾ(_e):" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2219 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1659,28 +1741,28 @@ msgstr "" "ਇੱਕ ਜਾਂ ਵੱਧ ਸਫ਼ਾ ਰੇਜ਼ ਦਿਓ ਜਿਵੇਂ,\n" " ੧-੩,੭,੧੧" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2229 msgid "Pages" msgstr "ਸਫ਼ੇ" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2242 msgid "Copies" msgstr "ਕਾਪੀਆਂ" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2247 msgid "Copie_s:" msgstr "ਕਾਪੀਆਂ(_s):" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2265 msgid "C_ollate" msgstr "ਸਮੇਟੋ(_o)" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2273 msgid "_Reverse" msgstr "ਉਲਟ(_R)" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2293 msgid "General" msgstr "ਆਮ" @@ -1690,168 +1772,168 @@ msgstr "ਆਮ" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "ਖੱਬੇ ਤੋਂ ਸੱਜੇ, ਉੱਤੇ ਤੋਂ ਤਲ" -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "ਖੱਬੇ ਤੋਂ ਸੱਜੇ, ਤਲ ਤੋਂ ਉੱਤੇ" -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ, ਉੱਤੇ ਤੋਂ ਤਲ" -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ, ਤਲ ਤੋਂ ਉੱਤੇ" -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "ਉੱਤੇ ਤੋਂ ਹੇਠਾਂ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ" -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "ਉੱਤੇ ਤੋਂ ਹੇਠਾਂ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ" -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "ਤਲ ਤੋਂ ਉੱਤੇ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ" -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "ਤਲ ਤੋਂ ਉੱਤੇ, ਸੱਜੇ ਤੋਂ ਖੱਬੇ" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3024 ../gtk/gtkprintunixdialog.c:3037 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "ਸਫ਼ਾ ਕ੍ਰਮ" -#: ../gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Left to right" msgstr "ਖੱਬੇ ਤੋਂ ਸੱਜੇ" -#: ../gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3063 msgid "Right to left" msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ" -#: ../gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Top to bottom" msgstr "ਉੱਤੇ ਤੋਂ ਹੇਠਾਂ" -#: ../gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Bottom to top" msgstr "ਤਲ ਤੋਂ ਉੱਤੇ" -#: ../gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3316 msgid "Layout" msgstr "ਲੇਆਉਟ" -#: ../gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3320 msgid "T_wo-sided:" msgstr "ਦੋ ਪਾਸੀਂ(_w):" -#: ../gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3335 msgid "Pages per _side:" msgstr "ਪ੍ਰਤੀ ਸਾਇਡ ਲਈ ਸਫ਼ਾ(_s):" -#: ../gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "Page or_dering:" msgstr "ਸਫ਼ਾ ਜਾਂ ਡੀਰਿੰਗ(_d):" -#: ../gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "_Only print:" msgstr "ਸਿਰਫ਼ ਪਰਿੰਟ(_O):" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "All sheets" msgstr "ਸਭ ਸ਼ੀਟਾਂ" -#: ../gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Even sheets" msgstr "ਜਿਸਤ ਸ਼ੀਟਾਂ" -#: ../gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3385 msgid "Odd sheets" msgstr "ਟਾਂਕ ਸ਼ੀਟਾਂ" -#: ../gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3388 msgid "Sc_ale:" msgstr "ਸਕੇਲ(_a):" -#: ../gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3415 msgid "Paper" msgstr "ਸਫ਼ਾ" -#: ../gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3419 msgid "Paper _type:" msgstr "ਸਫ਼ਾ ਕਿਸਮ(_t):" -#: ../gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3434 msgid "Paper _source:" msgstr "ਸਫ਼ਾ ਸਰੋਤ(_s):" -#: ../gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3449 msgid "Output t_ray:" msgstr "ਆਉਟਪੁੱਟ ਟਰੇ(_r):" -#: ../gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Or_ientation:" msgstr "ਸਥਿਤੀ(_i):" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Portrait" msgstr "ਪੋਰਟਰੇਟ" -#: ../gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Landscape" msgstr "ਲੈਂਡਸਕੇਪ" -#: ../gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse portrait" msgstr "ਉਲਟ ਪੋਰਟਰੇਟ" -#: ../gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3507 msgid "Reverse landscape" msgstr "ਉਲਟ ਲੈਂਡਸਕੇਪ" -#: ../gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3552 msgid "Job Details" msgstr "ਕੰਮ ਵੇਰਵਾ" -#: ../gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3558 msgid "Pri_ority:" msgstr "ਤਰਜੀਹ(_o):" -#: ../gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3573 msgid "_Billing info:" msgstr "ਬਿੱਲ ਜਾਣਕਾਰੀ(_B):" -#: ../gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3591 msgid "Print Document" msgstr "ਦਸਤਾਵੇਜ਼ ਛਾਪੋ" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3600 msgid "_Now" msgstr "ਹੁਣੇ(_N)" -#: ../gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "A_t:" msgstr "ਵਜੇ(_t):" @@ -1859,7 +1941,7 @@ msgstr "ਵਜੇ(_t):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3617 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1867,121 +1949,116 @@ msgstr "" "ਪਰਿੰਟ ਕਰਨ ਦਾ ਸਮਾਂ ਦਿਓ,\n" " ਜਿਵੇਂ 5:30, 2:35 ਸ਼ਾਮ, 14:15:20, 11:46:30 ਸਵੇਰ, 4 ਸ਼ਾਮ" -#: ../gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "Time of print" msgstr "ਪਰਿੰਟ ਦਾ ਸਮਾਂ" -#: ../gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "On _hold" msgstr "ਰੋਕੀ ਰੱਖੋ(_h)" -#: ../gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3644 msgid "Hold the job until it is explicitly released" msgstr "ਖਾਸ ਤੌਰ ਉੱਤੇ ਜਾਰੀ ਕਰਨ ਤੱਕ ਜਾਬ ਫੜੀ ਰੱਖੋ" -#: ../gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3664 msgid "Add Cover Page" msgstr "ਕਵਰ ਸਫ਼ਾ ਸ਼ਾਮਲ" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3673 msgid "Be_fore:" msgstr "ਪਹਿਲਾਂ(_f):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3691 msgid "_After:" msgstr "ਬਾਅਦ(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3709 msgid "Job" msgstr "ਕੰਮ" -#: ../gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3775 msgid "Advanced" msgstr "ਤਕਨੀਕੀ" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Image Quality" msgstr "ਚਿੱਤਰ ਕੁਆਲਟੀ" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3817 msgid "Color" msgstr "ਰੰਗ" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3822 msgid "Finishing" msgstr "ਮੁਕੰਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" -#: ../gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3832 msgid "Some of the settings in the dialog conflict" msgstr "ਡਾਈਲਾਗ ਵਿੱਚ ਕੁਝ ਸੈਟਿੰਗ ਵਿੱਚ ਅਪਵਾਦ ਹੈ" -#: ../gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3855 msgid "Print" msgstr "ਛਾਪੋ" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "ਸ਼ਾਮਲ ਫਾਇਲ ਲੱਭਣ ਤੋਂ ਅਸਮਰੱਥ: \"%s\"" - -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "ਪਿਕਸਮੈਪ ਮਾਰਗ ਵਿੱਚ ਚਿੱਤਰ ਫਾਇਲ ਲੱਭਣ ਵਿੱਚ ਅਸਫ਼ਲ: \"%s\"" #: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 -#: ../gtk/gtkrecentchoosermenu.c:615 ../gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "ਇਹ ਫੰਕਸ਼ਨ ਕਲਾਸ '%s' ਦੇ ਵਿਦਗਿਟ ਲਈ ਬਣਾਇਆ ਨਹੀਂ ਗਿਆ ਹੈ" -#: ../gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "ਚੋਣ ਕਰੋ ਕਿ ਕਿਸ ਕਿਸਮ ਦੇ ਦਸਤਾਵੇਜ਼ ਵਿਖਾਏ ਜਾਣ" -#: ../gtk/gtkrecentchooserdefault.c:1138 ../gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "URI '%s' ਲਈ ਕੋਈ ਇਕਾਈ ਨਹੀਂ ਲੱਭੀ" -#: ../gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "ਅਣ-ਟਾਇਟਲ ਫਿਲਟਰ" -#: ../gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "ਇਕਾਈ ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" -#: ../gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "ਲਿਸਟ ਸਾਫ਼ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" -#: ../gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "ਟਿਕਾਣਾ ਕਾਪੀ ਕਰੋ(_L)" -#: ../gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "ਲਿਸਟ ਤੋਂ ਹਟਾਓ(_R)" -#: ../gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "ਲਿਸਟ ਸਾਫ਼ ਕਰੋ(_C)" -#: ../gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "ਪ੍ਰਾਈਵੇਟ ਸਰੋਤ ਵੇਖੋ(_P)" @@ -1995,21 +2072,21 @@ msgstr "ਪ੍ਰਾਈਵੇਟ ਸਰੋਤ ਵੇਖੋ(_P)" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: ../gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "ਕੋਈ ਆਈਟਮ ਨਹੀਂ ਲੱਭੀ" -#: ../gtk/gtkrecentchoosermenu.c:535 ../gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "URI `%s' ਨਾਲ ਤਾਜ਼ਾ ਵਰਤੇ ਸਰੋਤ ਨਹੀਂ ਲੱਭੇ" -#: ../gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "'%s' ਖੋਲ੍ਹੋ" -#: ../gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "ਅਣਜਾਣ ਆਈਟਮ" @@ -2018,7 +2095,7 @@ msgstr "ਅਣਜਾਣ ਆਈਟਮ" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: ../gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2027,26 +2104,31 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: ../gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: ../gtk/gtkrecentmanager.c:980 ../gtk/gtkrecentmanager.c:993 -#: ../gtk/gtkrecentmanager.c:1131 ../gtk/gtkrecentmanager.c:1141 -#: ../gtk/gtkrecentmanager.c:1194 ../gtk/gtkrecentmanager.c:1203 -#: ../gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "URI '%s' ਨਾਲ ਇੱਕ ਆਈਟਮ ਲੱਭਣ ਲਈ ਅਸਫ਼ਲ" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "'%s' ਨਾਂ ਨਾਲ '%s' URI ਦੀ ਆਈਟਮ ਲਈ ਕੋਈ ਵੀ ਰਜਿਸਟਰ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਲੱਭੀ" + +#: ../gtk/gtkspinner.c:326 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "ਸਪਿੰਨਰ" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:327 msgid "Provides visual indication of progress" msgstr "ਤਰੱਕੀ ਲਈ ਦਿੱਖ ਇੰਡੀਕੇਟਰ ਦਿੰਦਾ ਹੈ" @@ -2554,6 +2636,33 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "ਜ਼ੂਮ ਆਉਟ(_O)" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +msgctxt "switch" +msgid "ON" +msgstr "ਚਾਲੂ" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +msgctxt "switch" +msgid "OFF" +msgstr "ਬੰਦ" + +#: ../gtk/gtkswitch.c:959 +#| msgid "inch" +msgctxt "light switch widget" +msgid "Switch" +msgstr "ਬਦਲੋ" + +#: ../gtk/gtkswitch.c:960 +msgid "Switches between on and off states" +msgstr "ਚਾਲੂ ਤੇ ਬੰਦ ਹਾਲਤ ਵਿੱਚ ਬਦਲੋ" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2564,105 +2673,105 @@ msgstr "%s ਡੀਸੀਰੀਅਲਜ਼ ਕਰਨ ਦੌਰਾਨ ਅਣਜਾ msgid "No deserialize function found for format %s" msgstr "ਫਾਰਮੈਟ %s ਲਈ ਡੀਸੀਰੀਲਾਇਜ਼ਡ ਫੰਕਸ਼ਨ ਨਹੀਂ ਲੱਭਿਆ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:795 ../gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "ਦੋਵੇਂ \"id\" ਅਤੇ \"name\" ਇਕਾਈ <%s> ਲਈ ਲੱਭੇ ਹਨ" -#: ../gtk/gtktextbufferserialize.c:805 ../gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "ਗੁਣ \"%s\" ਇਕਾਈ <%s> ਲਈ ਦੋ ਵਾਰ ਲੱਭਿਆ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s> ਇਕਾਈ ਦਾ ਗਲਤ ID \"%s\" ਹੈ" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> ਇਕਾਈ ਨਾ ਤਾਂ ਇੱਕ \"name\" ਗੁਣ ਹੈ ਅਤੇ ਨਾ ਹੀ \"id\"" -#: ../gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "ਗੁਣ \"%s\" ਇਕਾਈ <%s> ਵਾਰ ਦੋ ਵਾਰ ਰਪੀਟ ਕੀਤਾ ਗਿਆ" -#: ../gtk/gtktextbufferserialize.c:960 ../gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "ਗੁਣ \"%s\" ਇਸ ਸਬੰਧ ਵਿੱਚ <%s> ਇਕਾਈ ਲਈ ਗਲਤ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "ਟੈਗ \"%s\" ਪ੍ਰਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ।" -#: ../gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "ਅਗਿਆਤ ਟੈਗ ਲੱਭਿਆ ਹੈ ਅਤੇ ਟੈਗ ਨਹੀਂ ਬਣਾਏ ਜਾ ਸਕਦੇ ਹਨ।" -#: ../gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "ਟੈਗ \"%s\" ਬਫ਼ਰ 'ਚ ਨਹੀਂ ਹੈ ਅਤੇ ਟੈਗ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" -#: ../gtk/gtktextbufferserialize.c:1146 ../gtk/gtktextbufferserialize.c:1221 -#: ../gtk/gtktextbufferserialize.c:1324 ../gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "ਇਕਾਈ <%s> <%s> ਹੇਠਾਂ ਮਨਜ਼ੂਰ ਨਹੀਂ" -#: ../gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" ਇੱਕ ਠੀਕ ਗੁਣ ਕਿਸਮ ਨਹੀਂ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" ਇੱਕ ਠੀਕ ਗੁਣ ਨਾਂ ਨਹੀਂ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "\"%1$s\" \"%3$s\" ਗੁਣ ਲਈ \"%2$s\" ਕਿਸਮ ਦੇ ਮੁੱਲ ਨੂੰ ਬਦਲ ਨਹੀਂ ਸਕਿਆ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" ਗੁਣ \"%s\" ਲਈ ਠੀਕ ਮੁੱਲ ਨਹੀਂ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "ਟੈਗ \"%s\" ਪਹਿਲਾਂ ਹੀ ਪ੍ਰਭਾਸ਼ਿਤ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "ਟੈਗ \"%s\" ਦੀ ਗਲਤ ਤਰਜੀਹ \"%s\" ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "ਟੈਕਸਟ ਵਿੱਚ ਬਾਹਰੀ ਇਕਾਈ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਨਾ ਕਿ <%s>" -#: ../gtk/gtktextbufferserialize.c:1362 ../gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "ਇੱਕ <%s> ਇਕਾਈ ਪਹਿਲਾਂ ਹੀ ਦੱਸੀ ਜਾ ਚੁੱਕੀ ਹੈ।" -#: ../gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "ਇੱਕ ਇਕਾਈ ਇਕਾਈ ਤੋਂ ਪਹਿਲਾਂ ਨਹੀਂ ਆ ਸਕਦਾ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "ਸੀਰੀਲਾਈਜ਼ਡ ਡਾਟਾ ਨਿਕਾਰਾ ਹੈ" -#: ../gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "ਸੀਰੀਲਾਈਜ਼ਡ ਡਾਟਾ ਨਿਕਾਰਾ ਹੈ। ਪਹਿਲਾਂ ਭਾਗ GTKTEXTBUFFERCONTENTS-0001 ਨਹੀਂ ਹੈ" @@ -2706,58 +2815,53 @@ msgstr "ZW_J ਜ਼ੀਰੋ ਚੌੜਾਈ ਜੋੜਕ" msgid "ZWNJ Zero width _non-joiner" msgstr "ZW_NJ ਜ਼ੀਰੋ ਚੌੜਾਈ ਨਾ-ਜੋੜਕ" -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "ਮੋਡੀਊਲ ਮਾਰਗ ਵਿੱਚ ਸਰੂਪ ਇੰਜਣ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: \"%s\"," - -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "ਲਾਈਨ %2$d ਅੱਖਰ %3$d ਉੱਤੇ ਬੇ-ਲੋੜੀਦਾ ਸ਼ੁਰੂਆਤੀ ਟੈਗ '%1$s'" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "ਲਾਈਨ %d ਅੱਖਰ %d ਉੱਤੇ ਬੇ-ਲੋੜੀਦਾ ਅੱਖਰ ਡਾਟਾ" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "ਖਾਲੀ" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "ਵਾਲੀਅਮ" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "ਵਾਲੀਅਮ ਵਧਾਇਆ ਜਾਂ ਘਟਾਇਆ ਜਾਂਦਾ ਹੈ" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "ਵਾਲੀਅਮ ਅਡਜੱਸਟ ਕਰੋ" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "ਆਵਾਜ਼ ਘਟਾਓ" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "ਵਾਲੀਅਮ ਘਟਾਓ" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "ਆਵਾਜ਼ ਵਧਾਓ" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "ਵਾਲੀਅਮ ਵਧਾਓ" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "ਚੁੱਪ ਕੀਤਾ" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "ਪੂਰਾ ਵਾਲੀਅਮ" @@ -2766,7 +2870,7 @@ msgstr "ਪੂਰਾ ਵਾਲੀਅਮ" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3617,81 +3721,81 @@ msgstr "ਫੋਲਡਰ ਇੰਡੈਕਸ ਲਿਖਣ ਦੌਰਾਨ ਫੇ msgid "Failed to rewrite header\n" msgstr "ਹੈਂਡਰ ਮੁੜ-ਲਿਖਣ ਦੌਰਾਨ ਗਲਤੀ\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "ਫਾਇਲ %s ਖੋਲ੍ਹਣ ਵਿੱਚ ਫੇਲ੍ਹ: %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "ਫਾਇਲ ਕੈਸ਼ੇ ਲਿਖਣ ਦੌਰਾਨ ਅਸਫ਼ਲ: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "ਤਿਆਰ ਕੀਤੀ ਕੈਸ਼ੇ ਗਲਤ ਹੈ।\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s ਦਾ ਨਾਂ %s ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ: %s, ਹੁਣ %s ਨੂੰ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ।\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s ਦਾ ਨਾਂ %s ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s ਦਾ ਨਾਂ ਮੁੜ %s ਬਦਲਿਆ ਨਹੀਂ ਸਕਦਾ ਹੈ: %s\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "ਕੈਸ਼ੇ ਫਾਇਲ ਸਫ਼ਲਤਾਪੂਰਕ ਬਣਾਈ ਗਈ ਹੈ।\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "ਇੱਕ ਮੌਜੂਦਾ ਕੈਸ਼ੇ ਉੱਤੇ ਲਿਖੋ, ਭਾਵੇਂ ਅੱਪ-ਟੂ-ਡੇਟ ਹੋਵੇ" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "ਮੌਜੂਦਾ index.theme ਦੀ ਮੌਜੂਦਗੀ ਦੀ ਜਾਂਚ ਨਾ ਕਰੋ" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "ਕੈਸ਼ੇ ਵਿੱਚ ਚਿੱਤਰ ਡਾਟਾ ਸ਼ਾਮਿਲ ਨਾ ਕਰੋ" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "ਇੱਕ C header ਫਾਇਲ ਆਉਟਪੁੱਟ" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਆਉਟਪੁੱਟ ਬੰਦ ਕਰੋ" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "ਮੌਜੂਦਾ ਆਈਕਾਨ ਕੈਸ਼ੇ ਦੀ ਵੈਧਤਾ" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "ਫਾਇਲ ਨਹੀਂ ਲੱਭੀ: %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "ਇੱਕ ਠੀਕ ਆਈਕਾਨ ਕੈਸ਼ੇ ਨਹੀਂ ਹੈ: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "ਕੋਈ ਥੀਮ ਇੰਡੈਕਸ ਫਾਇਲ ਨਹੀਂ।\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3755,23 +3859,18 @@ msgstr "ਵੀਅਤਨਾਮੀ (VIQR)" msgid "X Input Method" msgstr "X ਇੰਪੁੱਟ ਢੰਗ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "ਯੂਜ਼ਰ ਨਾਂ:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "ਪਾਸਵਰਡ:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s ਤੋਂ ਫਾਇਲ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" - #: ../modules/printbackends/cups/gtkprintbackendcups.c:854 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "ਪਰਿੰਟਰ %2$s ਉੱਤੇ '%1$s' ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" @@ -3809,200 +3908,205 @@ msgstr "%s ਲਈ ਡਿਫਾਲਟ ਪਰਿੰਟਰ ਲੈਣ ਲਈ ਪਰ msgid "Authentication is required to get printers from %s" msgstr "%s ਤੋਂ ਪਰਿੰਟਰ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s ਤੋਂ ਫਾਇਲ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "%s ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "ਡੋਮੇਨ:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "'%s' ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "ਪਰਿੰਟਰ %s ਉੱਤੇ ਇਹ ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "ਇਹ ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "ਪਰਿੰਟਰ '%s' ਦਾ ਟੋਨਰ ਘੱਟ ਗਿਆ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "ਪਰਿੰਟਰ '%s' ਲਈ ਟੋਨਰ ਨਹੀਂ ਬਚਿਆ ਹੈ।" #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "ਪਰਿੰਟਰ '%s' ਇੱਕ ਖੋਜੀ ਤੋਂ ਘੱਟ ਹੈ।" #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "ਪਰਿੰਟਰ '%s' ਇੱਕ ਖੋਜੀ ਤੋਂ ਬਾਹਰ ਹੈ।" #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "ਪਰਿੰਟਰ '%s' ਲਈ ਇੱਕ ਨਿਸ਼ਾਨਬੱਧਕ ਸਪਲਾਈ ਘੱਟ ਹੈ।" #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "ਪਰਿੰਟਰ '%s' ਵਿੱਚੋਂ ਇੱਕ ਨਿਸ਼ਾਨਬੱਧਕ ਜਾਰੀ ਨਹੀਂ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "ਪਰਿੰਟਰ '%s' ਦਾ ਢੱਕਣ ਖੁੱਲ੍ਹਾ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "ਪਰਿੰਟਰ '%s' ਦਾ ਦਰਵਾਜ਼ਾ (ਡੋਰ) ਖੁੱਲ੍ਹਾ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "ਪਰਿੰਟਰ '%s' ਉੱਤੇ ਪੇਪਰ ਘੱਟ ਹਨ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "ਪਰਿੰਟਰ '%s' ਲਈ ਪੇਪਰ ਖਤਮ ਹੋ ਗਏ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "ਪਰਿੰਟਰ '%s' ਹੁਣ ਆਫਲਾਇਨ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "ਪਰਿੰਟਰ '%s' ਉੱਤੇ ਸਮੱਸਿਆ ਹੈ।" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "ਵਿਰਾਮ, ਜੌਬ ਰੱਦ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ।" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "ਜੌਬ ਰੱਦ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "ਦੋ ਪਾਸੀਂ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "ਪੇਪਰ ਕਿਸਮ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "ਪੇਪਰ ਸੋਰਸ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "ਆਉਟਪੁੱਟ ਟਰੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "ਹੱਲ਼" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "ਗੋਸਟ-ਸਕ੍ਰਿਪਟ ਪ੍ਰੀਫਿਲਟਰਿੰਗ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "ਇੱਕ ਪਾਸੇ" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "ਲੰਮਾ ਕੋਨਾ (ਸਟੈਂਡਰਡ)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "ਛੋਟਾ ਕੋਨਾ (ਫਲਿੱਪ)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "ਆਟੋ ਚੋਣ" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "ਪਰਿੰਟਰ ਮੂਲ" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "ਇੰਬੈੱਡ ਕੀਤੇ ਗੋਸਟਸਕ੍ਰਿਪਟ ਫੋਂਟ ਹੀ" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "PS ਲੈਵਲ ੧ ਲਈ ਬਦਲੋ" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "PS ਲੈਵਲ ੨ ਲਈ ਬਦਲੋ" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "ਕੋਈ ਪ੍ਰੀ-ਫਿਲਟਰਿੰਗ ਨਹੀਂ" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "ਫੁਟਕਲ" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "ਜ਼ਰੂਰੀ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "ਉੱਚ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "ਮੱਧਮ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "ਘੱਟ" @@ -4010,66 +4114,66 @@ msgstr "ਘੱਟ" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "ਸਫ਼ੇ ਪ੍ਰਤੀ ਸ਼ੀਟ" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "ਕੰਮ ਤਰਜੀਹ" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "ਬਿੱਲ ਜਾਣਕਾਰੀ" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "ਕੋਈ ਨਹੀਂ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "ਵਰਗੀਕ੍ਰਿਤ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "ਗੁਪਤ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "ਖੁਫੀਆ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "ਸਟੈਂਡਰਡ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "ਉੱਚ ਗੁਪਤ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "ਗ਼ੈਰ-ਕਲਾਸੀਫਾਈਡ" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "ਪਹਿਲਾਂ" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "ਬਾਅਦ" @@ -4077,14 +4181,14 @@ msgstr "ਬਾਅਦ" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "ਛਾਪੋ" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "ਸਮੇਂ ਉੱਤੇ ਪਰਿੰਟ" @@ -4092,7 +4196,7 @@ msgstr "ਸਮੇਂ ਉੱਤੇ ਪਰਿੰਟ" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "ਕਸਟਮ %sx%s" @@ -4103,32 +4207,32 @@ msgstr "ਕਸਟਮ %sx%s" msgid "output.%s" msgstr "ਆਉਟਪੁੱਟ.%s" -#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "ਫਾਇਲ ਵਿੱਚ ਪਰਿੰਟ ਕਰੋ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "ਪੋਸਟ-ਸਕ੍ਰਿਪਟ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "ਹਰੇਕ ਸ਼ੀਟ ਲਈ ਸਫ਼ੇ(_s):" -#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "ਫਾਇਲ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "ਆਉਟਪੁੱਟ ਫਾਰਮੈਟ(_O)" @@ -4196,6 +4300,30 @@ msgstr "" "ਚਿੱਤਰ '%s' ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: ਕਾਰਨ ਜਾਣਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ, ਸੰਭਵ ਹੈ ਕਿ ਚਿੱਤਰ ਫਾਇਲ " "ਨਿਕਾਰਾ ਹੈ" +#~ msgid "X screen to use" +#~ msgstr "ਵਰਤਣ ਲਈ X ਸਕਰੀਨ" + +#~ msgid "SCREEN" +#~ msgstr "ਸਕਰੀਨ" + +#~ msgid "Make X calls synchronous" +#~ msgstr "X ਕਾਲਾਂ ਸੈਕੋਰਨਸ ਕਰੋ" + +#~ msgid "Credits" +#~ msgstr "ਮਾਣ" + +#~ msgid "Written by" +#~ msgstr "ਲੇਖਕ" + +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "ਫੋਲਡਰ '%s' ਬਣਾਉਣ ਦੌਰਾਨ ਗਲਤੀ: %s" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "ਸ਼ਾਮਲ ਫਾਇਲ ਲੱਭਣ ਤੋਂ ਅਸਮਰੱਥ: \"%s\"" + +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "ਮੋਡੀਊਲ ਮਾਰਗ ਵਿੱਚ ਸਰੂਪ ਇੰਜਣ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: \"%s\"," + #~ msgid "Gdk debugging flags to set" #~ msgstr "ਸੈੱਟ ਕਰਨ ਲਈ Gdk ਡੀਬੱਗ ਫਲੈਗ" @@ -4882,9 +5010,6 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "ਫੋਲਡਰ ਨਾਂ(_F):" -#~ msgid "C_reate" -#~ msgstr "ਬਣਾਓ(_r)" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "ਫਾਇਲ ਨਾਂ \"%s\" ਵਿੱਚ ਉਹ ਨਿਸ਼ਾਨ ਹਨ, ਜੋ ਕਿ ਫਾਇਲ ਨਾਂ ਵਿੱਚ ਨਹੀਂ ਹੋ ਸਕਦੇ" From 2b3b3934a4f3308be25e14faeabc0553f3cdbffe Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 21:08:30 -0500 Subject: [PATCH 1208/1463] Another NEWS update --- NEWS | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/NEWS b/NEWS index ed23d9c194..69ccfdb8cb 100644 --- a/NEWS +++ b/NEWS @@ -3,8 +3,7 @@ Overview of Changes from GTK+ 2.91.7 to 2.99.0 * Deprecations and removals: - Long-obsolete linuxfb-related GtkWindow APIs have been dropped - - G_SEALed struct members have been removed from GtkMenu, - GtkMenuShell, GtkMenuItem, GtkSettings + - All remaining G_SEALed struct members have been removed - GtkThemeEngine has been removed - gdk_display_get_window_at_device_position() has been renamed to gdk_device_get_window_at_position() From 072023e57b6c894436f1a480797621f3740f6413 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 5 Jan 2011 23:21:52 -0500 Subject: [PATCH 1209/1463] Remove deprecated GtkSpinner style properties --- gtk/gtkcellrendererspinner.c | 8 +++----- gtk/gtkspinner.c | 37 ------------------------------------ gtk/gtkstyle.c | 4 +--- gtk/gtkthemingengine.c | 8 +------- 4 files changed, 5 insertions(+), 52 deletions(-) diff --git a/gtk/gtkcellrendererspinner.c b/gtk/gtkcellrendererspinner.c index 034e40dba7..e609fe7b23 100644 --- a/gtk/gtkcellrendererspinner.c +++ b/gtk/gtkcellrendererspinner.c @@ -126,10 +126,8 @@ gtk_cell_renderer_spinner_class_init (GtkCellRendererSpinnerClass *klass) * Pulse of the spinner. Increment this value to draw the next frame of the * spinner animation. Usually, you would update this value in a timeout. * - * The #GtkSpinner widget draws one full cycle of the animation per second by default. - * You can learn about the number of frames used by the theme - * by looking at the #GtkSpinner:num-steps style property and the duration - * of the cycle by looking at #GtkSpinner:cycle-duration. + * By default, the #GtkSpinner widget draws one full cycle of the animation, + * consisting of 12 frames, in 750 milliseconds. * * Since: 2.20 */ @@ -172,7 +170,7 @@ gtk_cell_renderer_spinner_init (GtkCellRendererSpinner *cell) } /** - * gtk_cell_renderer_spinner_new + * gtk_cell_renderer_spinner_new: * * Returns a new cell renderer which will show a spinner to indicate * activity. diff --git a/gtk/gtkspinner.c b/gtk/gtkspinner.c index 78c6b994df..779eee0ff2 100644 --- a/gtk/gtkspinner.c +++ b/gtk/gtkspinner.c @@ -119,43 +119,6 @@ gtk_spinner_class_init (GtkSpinnerClass *klass) P_("Whether the spinner is active"), FALSE, G_PARAM_READWRITE)); - /** - * GtkSpinner:num-steps: - * - * The number of steps for the spinner to complete a full loop. - * The animation will complete a full cycle in one second by default - * (see the #GtkSpinner:cycle-duration style property). - * - * Since: 2.20 - * - * Deprecated: 3.0 - */ - gtk_widget_class_install_style_property (widget_class, - g_param_spec_uint ("num-steps", - P_("Number of steps"), - P_("The number of steps for the spinner to complete a full loop. The animation will complete a full cycle in one second by default (see #GtkSpinner:cycle-duration)."), - 1, - G_MAXUINT, - 12, - G_PARAM_READABLE)); - - /** - * GtkSpinner:cycle-duration: - * - * The duration in milliseconds for the spinner to complete a full cycle. - * - * Since: 2.20 - * - * Deprecated: 3.0 - */ - gtk_widget_class_install_style_property (widget_class, - g_param_spec_uint ("cycle-duration", - P_("Animation duration"), - P_("The length of time in milliseconds for the spinner to complete a full loop"), - 500, - G_MAXUINT, - 1000, - G_PARAM_READABLE)); } static void diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index 5eb6a20085..f9abf8d9c3 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -2841,9 +2841,7 @@ gtk_default_draw_spinner (GtkStyle *style, gint i; guint real_step; - gtk_style_get (style, GTK_TYPE_SPINNER, - "num-steps", &num_steps, - NULL); + num_steps = 12; real_step = step % num_steps; /* set a clip region for the expose event */ diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 7bd97ef2ef..588d107d8c 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -2912,18 +2912,12 @@ gtk_theming_engine_render_activity (GtkThemingEngine *engine, gdouble half; gint i; - num_steps = 0; - - gtk_theming_engine_get_style (engine, - "num-steps", &num_steps, - NULL); + num_steps = 12; state = gtk_theming_engine_get_state (engine); gtk_theming_engine_get (engine, state, "color", &color, NULL); - if (num_steps == 0) - num_steps = 12; if (gtk_theming_engine_state_is_running (engine, GTK_STATE_ACTIVE, &progress)) step = (guint) (progress * num_steps); From 8219ed3a26ef4e2a824d8070eb39e3aa95489fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Szil=C3=A1rd=20Pfeiffer?= Date: Wed, 5 Jan 2011 23:39:11 -0500 Subject: [PATCH 1210/1463] Add gtk_tree_model_iter_previous() vfunc https://bugzilla.gnome.org/show_bug.cgi?id=128058 --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkliststore.c | 23 ++++++++ gtk/gtktreemodel.c | 53 ++++++++++++++++++ gtk/gtktreemodel.h | 4 ++ gtk/gtktreemodelfilter.c | 38 +++++++++++++ gtk/gtktreemodelsort.c | 28 ++++++++++ gtk/gtktreestore.c | 32 +++++++++-- gtk/tests/liststore.c | 83 ++++++++++++++++++++++++++++ gtk/tests/treestore.c | 83 ++++++++++++++++++++++++++++ 10 files changed, 340 insertions(+), 6 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 0b8559f643..73c7c9ac8f 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -3948,6 +3948,7 @@ gtk_tree_model_get_iter_first gtk_tree_model_get_path gtk_tree_model_get_value gtk_tree_model_iter_next +gtk_tree_model_iter_previous gtk_tree_model_iter_children gtk_tree_model_iter_has_child gtk_tree_model_iter_n_children diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 001c345ddb..d423df6e87 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3135,6 +3135,7 @@ gtk_tree_model_iter_n_children gtk_tree_model_iter_next gtk_tree_model_iter_nth_child gtk_tree_model_iter_parent +gtk_tree_model_iter_previous gtk_tree_model_ref_node gtk_tree_model_row_changed gtk_tree_model_row_deleted diff --git a/gtk/gtkliststore.c b/gtk/gtkliststore.c index fc43eba05c..4d9c1ddb1c 100644 --- a/gtk/gtkliststore.c +++ b/gtk/gtkliststore.c @@ -75,6 +75,8 @@ static void gtk_list_store_get_value (GtkTreeModel *tree_mode GValue *value); static gboolean gtk_list_store_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); +static gboolean gtk_list_store_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter); static gboolean gtk_list_store_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); @@ -187,6 +189,7 @@ gtk_list_store_tree_model_init (GtkTreeModelIface *iface) iface->get_path = gtk_list_store_get_path; iface->get_value = gtk_list_store_get_value; iface->iter_next = gtk_list_store_iter_next; + iface->iter_previous = gtk_list_store_iter_previous; iface->iter_children = gtk_list_store_iter_children; iface->iter_has_child = gtk_list_store_iter_has_child; iface->iter_n_children = gtk_list_store_iter_n_children; @@ -549,6 +552,26 @@ gtk_list_store_iter_next (GtkTreeModel *tree_model, return !retval; } +static gboolean +gtk_list_store_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter) +{ + GtkListStore *list_store = GTK_LIST_STORE (tree_model); + GtkListStorePrivate *priv = list_store->priv; + + g_return_val_if_fail (priv->stamp == iter->stamp, FALSE); + + if (g_sequence_iter_is_begin (iter->user_data)) + { + iter->stamp = 0; + return FALSE; + } + + iter->user_data = g_sequence_iter_prev (iter->user_data); + + return TRUE; +} + static gboolean gtk_list_store_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, diff --git a/gtk/gtktreemodel.c b/gtk/gtktreemodel.c index c65287c99e..7b6622f468 100644 --- a/gtk/gtktreemodel.c +++ b/gtk/gtktreemodel.c @@ -1180,6 +1180,59 @@ gtk_tree_model_iter_next (GtkTreeModel *tree_model, return (* iface->iter_next) (tree_model, iter); } +static gboolean +gtk_tree_model_iter_previous_default (GtkTreeModel *tree_model, + GtkTreeIter *iter) +{ + gboolean retval; + GtkTreePath *path; + + path = gtk_tree_model_get_path (tree_model, iter); + if (path == NULL) + return FALSE; + + retval = gtk_tree_path_prev (path) && + gtk_tree_model_get_iter (tree_model, iter, path); + if (retval == FALSE) + iter->stamp = 0; + + gtk_tree_path_free (path); + + return retval; +} + +/** + * gtk_tree_model_iter_previous: + * @tree_model: a #GtkTreeModel + * @iter: (inout): the #GtkTreeIter + * + * Sets @iter to point to the previous node at the current level. If there + * is no previous @iter, %FALSE is returned and @iter is set to be invalid. + * + * Return value: %TRUE if @iter has been changed to the previous node + * + * Since: 3.0 + */ +gboolean +gtk_tree_model_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter) +{ + gboolean retval; + GtkTreeModelIface *iface; + + g_return_val_if_fail (GTK_IS_TREE_MODEL (tree_model), FALSE); + g_return_val_if_fail (iter != NULL, FALSE); + + iface = GTK_TREE_MODEL_GET_IFACE (tree_model); + + if (iface->iter_previous) + retval = (* iface->iter_previous) (tree_model, iter); + else + retval = gtk_tree_model_iter_previous_default (tree_model, iter); + + return retval; +} + /** * gtk_tree_model_iter_children: * @tree_model: A #GtkTreeModel. diff --git a/gtk/gtktreemodel.h b/gtk/gtktreemodel.h index b706a00f97..b290f83c1e 100644 --- a/gtk/gtktreemodel.h +++ b/gtk/gtktreemodel.h @@ -97,6 +97,8 @@ struct _GtkTreeModelIface GValue *value); gboolean (* iter_next) (GtkTreeModel *tree_model, GtkTreeIter *iter); + gboolean (* iter_previous) (GtkTreeModel *tree_model, + GtkTreeIter *iter); gboolean (* iter_children) (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); @@ -206,6 +208,8 @@ void gtk_tree_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value); +gboolean gtk_tree_model_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter); gboolean gtk_tree_model_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); gboolean gtk_tree_model_iter_children (GtkTreeModel *tree_model, diff --git a/gtk/gtktreemodelfilter.c b/gtk/gtktreemodelfilter.c index d7a155ac9a..18e0d594d5 100644 --- a/gtk/gtktreemodelfilter.c +++ b/gtk/gtktreemodelfilter.c @@ -215,6 +215,8 @@ static void gtk_tree_model_filter_get_value (GtkTr GValue *value); static gboolean gtk_tree_model_filter_iter_next (GtkTreeModel *model, GtkTreeIter *iter); +static gboolean gtk_tree_model_filter_iter_previous (GtkTreeModel *model, + GtkTreeIter *iter); static gboolean gtk_tree_model_filter_iter_children (GtkTreeModel *model, GtkTreeIter *iter, GtkTreeIter *parent); @@ -385,6 +387,7 @@ gtk_tree_model_filter_tree_model_init (GtkTreeModelIface *iface) iface->get_path = gtk_tree_model_filter_get_path; iface->get_value = gtk_tree_model_filter_get_value; iface->iter_next = gtk_tree_model_filter_iter_next; + iface->iter_previous = gtk_tree_model_filter_iter_previous; iface->iter_children = gtk_tree_model_filter_iter_children; iface->iter_has_child = gtk_tree_model_filter_iter_has_child; iface->iter_n_children = gtk_tree_model_filter_iter_n_children; @@ -2514,6 +2517,41 @@ gtk_tree_model_filter_iter_next (GtkTreeModel *model, return FALSE; } +static gboolean +gtk_tree_model_filter_iter_previous (GtkTreeModel *model, + GtkTreeIter *iter) +{ + int i; + FilterLevel *level; + FilterElt *elt; + + g_return_val_if_fail (GTK_IS_TREE_MODEL_FILTER (model), FALSE); + g_return_val_if_fail (GTK_TREE_MODEL_FILTER (model)->priv->child_model != NULL, FALSE); + g_return_val_if_fail (GTK_TREE_MODEL_FILTER (model)->priv->stamp == iter->stamp, FALSE); + + level = iter->user_data; + elt = iter->user_data2; + + i = elt - FILTER_ELT (level->array->data); + + while (i > 0) + { + i--; + elt--; + + if (elt->visible) + { + iter->user_data2 = elt; + return TRUE; + } + } + + /* no previous visible iter */ + iter->stamp = 0; + + return FALSE; +} + static gboolean gtk_tree_model_filter_iter_children (GtkTreeModel *model, GtkTreeIter *iter, diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c index 5582da781e..1fc52266ed 100644 --- a/gtk/gtktreemodelsort.c +++ b/gtk/gtktreemodelsort.c @@ -189,6 +189,8 @@ static void gtk_tree_model_sort_get_value (GtkTreeModel GValue *value); static gboolean gtk_tree_model_sort_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); +static gboolean gtk_tree_model_sort_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter); static gboolean gtk_tree_model_sort_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); @@ -325,6 +327,7 @@ gtk_tree_model_sort_tree_model_init (GtkTreeModelIface *iface) iface->get_path = gtk_tree_model_sort_get_path; iface->get_value = gtk_tree_model_sort_get_value; iface->iter_next = gtk_tree_model_sort_iter_next; + iface->iter_previous = gtk_tree_model_sort_iter_previous; iface->iter_children = gtk_tree_model_sort_iter_children; iface->iter_has_child = gtk_tree_model_sort_iter_has_child; iface->iter_n_children = gtk_tree_model_sort_iter_n_children; @@ -1080,6 +1083,31 @@ gtk_tree_model_sort_iter_next (GtkTreeModel *tree_model, return TRUE; } +static gboolean +gtk_tree_model_sort_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter) +{ + GtkTreeModelSort *tree_model_sort = (GtkTreeModelSort *) tree_model; + GtkTreeModelSortPrivate *priv = tree_model_sort->priv; + SortLevel *level; + SortElt *elt; + + g_return_val_if_fail (priv->child_model != NULL, FALSE); + g_return_val_if_fail (priv->stamp == iter->stamp, FALSE); + + level = iter->user_data; + elt = iter->user_data2; + + if (elt == (SortElt *)level->array->data) + { + iter->stamp = 0; + return FALSE; + } + iter->user_data2 = elt - 1; + + return TRUE; +} + static gboolean gtk_tree_model_sort_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index fd0b3fff64..d9a76a9e38 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -104,6 +104,8 @@ static void gtk_tree_store_get_value (GtkTreeModel *tree_mode GValue *value); static gboolean gtk_tree_store_iter_next (GtkTreeModel *tree_model, GtkTreeIter *iter); +static gboolean gtk_tree_store_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter); static gboolean gtk_tree_store_iter_children (GtkTreeModel *tree_model, GtkTreeIter *iter, GtkTreeIter *parent); @@ -236,6 +238,7 @@ gtk_tree_store_tree_model_init (GtkTreeModelIface *iface) iface->get_path = gtk_tree_store_get_path; iface->get_value = gtk_tree_store_get_value; iface->iter_next = gtk_tree_store_iter_next; + iface->iter_previous = gtk_tree_store_iter_previous; iface->iter_children = gtk_tree_store_iter_children; iface->iter_has_child = gtk_tree_store_iter_has_child; iface->iter_n_children = gtk_tree_store_iter_n_children; @@ -671,16 +674,33 @@ gtk_tree_store_iter_next (GtkTreeModel *tree_model, g_return_val_if_fail (iter->user_data != NULL, FALSE); g_return_val_if_fail (iter->stamp == GTK_TREE_STORE (tree_model)->priv->stamp, FALSE); - if (G_NODE (iter->user_data)->next) - { - iter->user_data = G_NODE (iter->user_data)->next; - return TRUE; - } - else + if (G_NODE (iter->user_data)->next == NULL) { iter->stamp = 0; return FALSE; } + + iter->user_data = G_NODE (iter->user_data)->next; + + return TRUE; +} + +static gboolean +gtk_tree_store_iter_previous (GtkTreeModel *tree_model, + GtkTreeIter *iter) +{ + g_return_val_if_fail (iter->user_data != NULL, FALSE); + g_return_val_if_fail (iter->stamp == GTK_TREE_STORE (tree_model)->priv->stamp, FALSE); + + if (G_NODE (iter->user_data)->prev == NULL) + { + iter->stamp = 0; + return FALSE; + } + + iter->user_data = G_NODE (iter->user_data)->prev; + + return TRUE; } static gboolean diff --git a/gtk/tests/liststore.c b/gtk/tests/liststore.c index 6452fc2903..e710d9bad2 100644 --- a/gtk/tests/liststore.c +++ b/gtk/tests/liststore.c @@ -168,6 +168,13 @@ list_store_test_insert_high_values (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -205,6 +212,13 @@ list_store_test_append (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -242,6 +256,13 @@ list_store_test_prepend (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -280,6 +301,20 @@ list_store_test_insert_after (void) g_assert (!gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 2)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 2)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter3, &iter_copy)); + g_assert (iter_position (store, &iter3, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_object_unref (store); } @@ -313,6 +348,16 @@ list_store_test_insert_after_NULL (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 0)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_object_unref (store); } @@ -353,6 +398,20 @@ list_store_test_insert_before (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter3, &iter_copy)); + g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 2)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 2)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter3, &iter_copy)); + g_assert (iter_position (store, &iter3, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_object_unref (store); } @@ -385,6 +444,13 @@ list_store_test_insert_before_NULL (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -853,6 +919,20 @@ list_store_test_move_before_single (void) /* iter invalidation */ +static void +list_store_test_iter_previous_invalid (ListStore *fixture, + gconstpointer user_data) +{ + GtkTreeIter iter; + + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (fixture->store), &iter); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (fixture->store), + &iter) == FALSE); + g_assert (gtk_list_store_iter_is_valid (fixture->store, &iter) == FALSE); + g_assert (iter.stamp == 0); +} + static void list_store_test_iter_next_invalid (ListStore *fixture, gconstpointer user_data) @@ -1025,6 +1105,9 @@ main (int argc, list_store_test_move_before_single); /* iter invalidation */ + g_test_add ("/list-store/iter-prev-invalid", ListStore, NULL, + list_store_setup, list_store_test_iter_previous_invalid, + list_store_teardown); g_test_add ("/list-store/iter-next-invalid", ListStore, NULL, list_store_setup, list_store_test_iter_next_invalid, list_store_teardown); diff --git a/gtk/tests/treestore.c b/gtk/tests/treestore.c index c9dbcffba8..663eaaf580 100644 --- a/gtk/tests/treestore.c +++ b/gtk/tests/treestore.c @@ -171,6 +171,13 @@ tree_store_test_insert_high_values (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -208,6 +215,13 @@ tree_store_test_append (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -245,6 +259,13 @@ tree_store_test_prepend (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -283,6 +304,20 @@ tree_store_test_insert_after (void) g_assert (!gtk_tree_model_iter_next (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 2)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 2)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter3, &iter_copy)); + g_assert (iter_position (store, &iter3, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_object_unref (store); } @@ -316,6 +351,16 @@ tree_store_test_insert_after_NULL (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 0)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_object_unref (store); } @@ -356,6 +401,20 @@ tree_store_test_insert_before (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter3, &iter_copy)); + g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 2)); + g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 2)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter3, &iter_copy)); + g_assert (iter_position (store, &iter3, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_object_unref (store); } @@ -388,6 +447,13 @@ tree_store_test_insert_before_NULL (void) g_assert (gtk_tree_model_iter_nth_child (GTK_TREE_MODEL (store), &iter_copy, NULL, 1)); g_assert (iters_equal (&iter2, &iter_copy)); + g_assert (iter_position (store, &iter2, 1)); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); + g_assert (iters_equal (&iter, &iter_copy)); + g_assert (iter_position (store, &iter, 0)); + + g_assert (!gtk_tree_model_iter_previous (GTK_TREE_MODEL (store), &iter_copy)); g_object_unref (store); } @@ -856,6 +922,20 @@ tree_store_test_move_before_single (void) /* iter invalidation */ +static void +tree_store_test_iter_previous_invalid (TreeStore *fixture, + gconstpointer user_data) +{ + GtkTreeIter iter; + + gtk_tree_model_get_iter_first (GTK_TREE_MODEL (fixture->store), &iter); + + g_assert (gtk_tree_model_iter_previous (GTK_TREE_MODEL (fixture->store), + &iter) == FALSE); + g_assert (gtk_tree_store_iter_is_valid (fixture->store, &iter) == FALSE); + g_assert (iter.stamp == 0); +} + static void tree_store_test_iter_next_invalid (TreeStore *fixture, gconstpointer user_data) @@ -1028,6 +1108,9 @@ main (int argc, tree_store_test_move_before_single); /* iter invalidation */ + g_test_add ("/tree-store/iter-prev-invalid", TreeStore, NULL, + tree_store_setup, tree_store_test_iter_previous_invalid, + tree_store_teardown); g_test_add ("/tree-store/iter-next-invalid", TreeStore, NULL, tree_store_setup, tree_store_test_iter_next_invalid, tree_store_teardown); From 6d483ed93047ee0564814f560c2da07a82414445 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 10 Dec 2010 17:15:39 +0900 Subject: [PATCH 1211/1463] Added GtkCellArea & GtkCellAreaContext to GtkIconView First commit to icon-view-refactor, essentially only adds the construct-only "cell-area" property and the context but doesnt use it. --- gtk/gtkiconview.c | 94 ++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 89 insertions(+), 5 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index dbb6c332f4..efafaef473 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -26,6 +26,7 @@ #include "gtkiconview.h" #include "gtkcelllayout.h" #include "gtkcellrenderer.h" +#include "gtkcellareabox.h" #include "gtkcellrenderertext.h" #include "gtkcellrendererpixbuf.h" #include "gtkmarshalers.h" @@ -121,6 +122,9 @@ struct _GtkIconViewChild struct _GtkIconViewPrivate { + GtkCellArea *cell_area; + GtkCellAreaContext *cell_area_context; + gint width, height; GtkSelectionMode selection_mode; @@ -245,6 +249,7 @@ enum PROP_REORDERABLE, PROP_TOOLTIP_COLUMN, PROP_ITEM_PADDING, + PROP_CELL_AREA, /* For scrollable interface */ PROP_HADJUSTMENT, @@ -255,7 +260,10 @@ enum /* GObject vfuncs */ static void gtk_icon_view_cell_layout_init (GtkCellLayoutIface *iface); -static void gtk_icon_view_finalize (GObject *object); +static void gtk_icon_view_dispose (GObject *object); +static GObject *gtk_icon_view_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties); static void gtk_icon_view_set_property (GObject *object, guint prop_id, const GValue *value, @@ -526,7 +534,8 @@ gtk_icon_view_class_init (GtkIconViewClass *klass) widget_class = (GtkWidgetClass *) klass; container_class = (GtkContainerClass *) klass; - gobject_class->finalize = gtk_icon_view_finalize; + gobject_class->constructor = gtk_icon_view_constructor; + gobject_class->dispose = gtk_icon_view_dispose; gobject_class->set_property = gtk_icon_view_set_property; gobject_class->get_property = gtk_icon_view_get_property; @@ -805,6 +814,21 @@ gtk_icon_view_class_init (GtkIconViewClass *klass) 0, G_MAXINT, 6, GTK_PARAM_READWRITE)); + /** + * GtkIconView:cell-area: + * + * The #GtkCellArea used to layout cell renderers for this view. + * + * Since: 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_CELL_AREA, + g_param_spec_object ("cell-area", + P_("Cell Area"), + P_("The GtkCellArea used to layout cells"), + GTK_TYPE_CELL_AREA, + GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /* Scrollable interface properties */ g_object_class_override_property (gobject_class, PROP_HADJUSTMENT, "hadjustment"); g_object_class_override_property (gobject_class, PROP_VADJUSTMENT, "vadjustment"); @@ -1144,12 +1168,59 @@ gtk_icon_view_init (GtkIconView *icon_view) } /* GObject methods */ -static void -gtk_icon_view_finalize (GObject *object) +static GObject * +gtk_icon_view_constructor (GType type, + guint n_construct_properties, + GObjectConstructParam *construct_properties) { + GtkIconView *icon_view; + GtkIconViewPrivate *priv; + GObject *object; + + object = G_OBJECT_CLASS (gtk_icon_view_parent_class)->constructor + (type, n_construct_properties, construct_properties); + + icon_view = (GtkIconView *) object; + priv = icon_view->priv; + + if (!priv->cell_area) + { + priv->cell_area = gtk_cell_area_box_new (); + g_object_ref_sink (priv->cell_area); + } + + gtk_cell_area_set_style_detail (priv->cell_area, "icon_view"); + + priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); + + return object; + +} + +static void +gtk_icon_view_dispose (GObject *object) +{ + GtkIconView *icon_view; + GtkIconViewPrivate *priv; + + icon_view = GTK_ICON_VIEW (object); + priv = icon_view->priv; + gtk_icon_view_cell_layout_clear (GTK_CELL_LAYOUT (object)); - G_OBJECT_CLASS (gtk_icon_view_parent_class)->finalize (object); + if (priv->cell_area_context) + { + g_object_unref (priv->cell_area_context); + priv->cell_area_context = NULL; + } + + if (priv->cell_area) + { + g_object_unref (priv->cell_area); + priv->cell_area = NULL; + } + + G_OBJECT_CLASS (gtk_icon_view_parent_class)->dispose (object); } @@ -1160,6 +1231,7 @@ gtk_icon_view_set_property (GObject *object, GParamSpec *pspec) { GtkIconView *icon_view; + GtkCellArea *area; icon_view = GTK_ICON_VIEW (object); @@ -1213,6 +1285,14 @@ gtk_icon_view_set_property (GObject *object, gtk_icon_view_set_item_padding (icon_view, g_value_get_int (value)); break; + case PROP_CELL_AREA: + /* Construct-only, can only be assigned once */ + area = g_value_get_object (value); + + if (area) + icon_view->priv->cell_area = g_object_ref_sink (area); + break; + case PROP_HADJUSTMENT: gtk_icon_view_set_hadjustment (icon_view, g_value_get_object (value)); break; @@ -1293,6 +1373,10 @@ gtk_icon_view_get_property (GObject *object, g_value_set_int (value, icon_view->priv->item_padding); break; + case PROP_CELL_AREA: + g_value_set_object (value, icon_view->priv->cell_area); + break; + case PROP_HADJUSTMENT: g_value_set_object (value, icon_view->priv->hadjustment); break; From 951ea857cc6e51ccc7f252e3a154c7ae7cbc9d3e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 16:29:41 +0900 Subject: [PATCH 1212/1463] Initial messy commit of GtkIconView using GtkCellArea (nothing works yet). --- gtk/gtkiconview.c | 1326 +++++++++------------------------------------ 1 file changed, 243 insertions(+), 1083 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index efafaef473..952388de40 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -27,8 +27,10 @@ #include "gtkcelllayout.h" #include "gtkcellrenderer.h" #include "gtkcellareabox.h" +#include "gtkcellareacontext.h" #include "gtkcellrenderertext.h" #include "gtkcellrendererpixbuf.h" +#include "gtkorientable.h" #include "gtkmarshalers.h" #include "gtkbindings.h" #include "gtkdnd.h" @@ -78,46 +80,16 @@ struct _GtkIconViewItem /* Bounding box */ gint x, y, width, height; - /* Individual cells. - * box[i] is the actual area occupied by cell i, - * before, after are used to calculate the cell - * area relative to the box. - * See gtk_icon_view_get_cell_area(). - */ - gint n_cells; - GdkRectangle *box; - gint *before; - gint *after; - guint selected : 1; guint selected_before_rubberbanding : 1; }; -typedef struct _GtkIconViewCellInfo GtkIconViewCellInfo; -struct _GtkIconViewCellInfo -{ - GtkCellRenderer *cell; - - guint expand : 1; - guint pack : 1; - guint editing : 1; - - gint position; - - GSList *attributes; - - GtkCellLayoutDataFunc func; - gpointer func_data; - GDestroyNotify destroy; -}; - typedef struct _GtkIconViewChild GtkIconViewChild; struct _GtkIconViewChild { - GtkWidget *widget; - GtkIconViewItem *item; - gint cell; + GtkWidget *widget; + GdkRectangle area; }; struct _GtkIconViewPrivate @@ -158,11 +130,6 @@ struct _GtkIconViewPrivate GtkIconViewItem *last_single_clicked; - GList *cell_list; - guint n_cells; - - gint cursor_cell; - GtkOrientation item_orientation; gint columns; @@ -346,7 +313,7 @@ static void gtk_icon_view_queue_draw_item (GtkIco static void gtk_icon_view_queue_layout (GtkIconView *icon_view); static void gtk_icon_view_set_cursor_item (GtkIconView *icon_view, GtkIconViewItem *item, - gint cursor_cell); + GtkCellRenderer *cursor_cell); static void gtk_icon_view_start_rubberbanding (GtkIconView *icon_view, GdkDevice *device, gint x, @@ -360,11 +327,7 @@ static gboolean gtk_icon_view_item_hit_test (GtkIco gint width, gint height); static gboolean gtk_icon_view_unselect_all_internal (GtkIconView *icon_view); -static void gtk_icon_view_calculate_item_size (GtkIconView *icon_view, - GtkIconViewItem *item); -static void gtk_icon_view_calculate_item_size2 (GtkIconView *icon_view, - GtkIconViewItem *item, - gint *max_height); +static void gtk_icon_view_cache_widths (GtkIconView *icon_view); static void gtk_icon_view_update_rubberband (gpointer data); static void gtk_icon_view_item_invalidate_size (GtkIconViewItem *item); static void gtk_icon_view_invalidate_sizes (GtkIconView *icon_view); @@ -397,57 +360,27 @@ static GtkIconViewItem * gtk_icon_view_get_item_at_coords (GtkIco gint x, gint y, gboolean only_in_cell, - GtkIconViewCellInfo **cell_at_pos); + GtkCellRenderer **cell_at_pos); static void gtk_icon_view_get_cell_area (GtkIconView *icon_view, GtkIconViewItem *item, - GtkIconViewCellInfo *cell_info, GdkRectangle *cell_area); -static void gtk_icon_view_get_cell_box (GtkIconView *icon_view, - GtkIconViewItem *item, - GtkIconViewCellInfo *info, - GdkRectangle *box); -static GtkIconViewCellInfo *gtk_icon_view_get_cell_info (GtkIconView *icon_view, - GtkCellRenderer *renderer); static void gtk_icon_view_set_cell_data (GtkIconView *icon_view, GtkIconViewItem *item); -static void gtk_icon_view_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand); -static void gtk_icon_view_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand); -static void gtk_icon_view_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column); -static void gtk_icon_view_cell_layout_clear (GtkCellLayout *layout); -static void gtk_icon_view_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *renderer); -static void gtk_icon_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy); -static void gtk_icon_view_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position); -static GList * gtk_icon_view_cell_layout_get_cells (GtkCellLayout *layout); -static void gtk_icon_view_item_activate_cell (GtkIconView *icon_view, - GtkIconViewItem *item, - GtkIconViewCellInfo *cell_info, - GdkEvent *event); +static GtkCellArea *gtk_icon_view_cell_layout_get_area (GtkCellLayout *layout); + static void gtk_icon_view_item_selected_changed (GtkIconView *icon_view, GtkIconViewItem *item); static void gtk_icon_view_put (GtkIconView *icon_view, GtkWidget *widget, - GtkIconViewItem *item, - gint cell); + gint x, + gint y, + gint width, + gint height); static void gtk_icon_view_remove_widget (GtkCellEditable *editable, GtkIconView *icon_view); static void gtk_icon_view_start_editing (GtkIconView *icon_view, GtkIconViewItem *item, - GtkIconViewCellInfo *cell_info, GdkEvent *event); static void gtk_icon_view_stop_editing (GtkIconView *icon_view, gboolean cancel_editing); @@ -491,9 +424,6 @@ static gboolean gtk_icon_view_maybe_begin_drag (GtkIconView *icon_ static void remove_scroll_timeout (GtkIconView *icon_view); -static void adjust_wrap_width (GtkIconView *icon_view, - GtkIconViewItem *item); - /* GtkBuildable */ static GtkBuildableIface *parent_buildable_iface; static void gtk_icon_view_buildable_init (GtkBuildableIface *iface); @@ -1118,14 +1048,7 @@ gtk_icon_view_buildable_init (GtkBuildableIface *iface) static void gtk_icon_view_cell_layout_init (GtkCellLayoutIface *iface) { - iface->pack_start = gtk_icon_view_cell_layout_pack_start; - iface->pack_end = gtk_icon_view_cell_layout_pack_end; - iface->clear = gtk_icon_view_cell_layout_clear; - iface->add_attribute = gtk_icon_view_cell_layout_add_attribute; - iface->set_cell_data_func = gtk_icon_view_cell_layout_set_cell_data_func; - iface->clear_attributes = gtk_icon_view_cell_layout_clear_attributes; - iface->reorder = gtk_icon_view_cell_layout_reorder; - iface->get_cells = gtk_icon_view_cell_layout_get_cells; + iface->get_area = gtk_icon_view_cell_layout_get_area; } static void @@ -1149,10 +1072,6 @@ gtk_icon_view_init (GtkIconView *icon_view) icon_view->priv->tooltip_column = -1; gtk_widget_set_can_focus (GTK_WIDGET (icon_view), TRUE); - - icon_view->priv->cell_list = NULL; - icon_view->priv->n_cells = 0; - icon_view->priv->cursor_cell = -1; icon_view->priv->item_orientation = GTK_ORIENTATION_VERTICAL; @@ -1189,6 +1108,9 @@ gtk_icon_view_constructor (GType type, g_object_ref_sink (priv->cell_area); } + if (GTK_IS_ORIENTABLE (priv->cell_area)) + gtk_orientable_set_orientation (GTK_ORIENTABLE (priv->cell_area), priv->item_orientation); + gtk_cell_area_set_style_detail (priv->cell_area, "icon_view"); priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); @@ -1206,8 +1128,6 @@ gtk_icon_view_dispose (GObject *object) icon_view = GTK_ICON_VIEW (object); priv = icon_view->priv; - gtk_icon_view_cell_layout_clear (GTK_CELL_LAYOUT (object)); - if (priv->cell_area_context) { g_object_unref (priv->cell_area_context); @@ -1570,27 +1490,9 @@ gtk_icon_view_allocate_children (GtkIconView *icon_view) for (list = icon_view->priv->children; list; list = list->next) { GtkIconViewChild *child = list->data; - GtkAllocation allocation; /* totally ignore our child's requisition */ - if (child->cell < 0) - { - allocation.x = child->item->x + icon_view->priv->item_padding; - allocation.y = child->item->y + icon_view->priv->item_padding; - allocation.width = child->item->width - icon_view->priv->item_padding * 2; - allocation.height = child->item->height - icon_view->priv->item_padding * 2; - } - else - { - GdkRectangle *box = &child->item->box[child->cell]; - - allocation.x = box->x; - allocation.y = box->y; - allocation.width = box->width; - allocation.height = box->height; - } - - gtk_widget_size_allocate (child->widget, &allocation); + gtk_widget_size_allocate (child->widget, &child->area); } } @@ -1874,44 +1776,6 @@ gtk_icon_view_forall (GtkContainer *container, } } -static void -gtk_icon_view_item_activate_cell (GtkIconView *icon_view, - GtkIconViewItem *item, - GtkIconViewCellInfo *info, - GdkEvent *event) -{ - GtkTreePath *path; - gchar *path_string; - GdkRectangle cell_area; - gboolean visible, mode; - - gtk_icon_view_set_cell_data (icon_view, item); - - g_object_get (info->cell, - "visible", &visible, - "mode", &mode, - NULL); - - if (visible && mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) - { - gtk_icon_view_get_cell_area (icon_view, item, info, &cell_area); - - path = gtk_tree_path_new_from_indices (item->index, -1); - path_string = gtk_tree_path_to_string (path); - gtk_tree_path_free (path); - - gtk_cell_renderer_activate (info->cell, - event, - GTK_WIDGET (icon_view), - path_string, - &cell_area, - &cell_area, - 0); - - g_free (path_string); - } -} - static void gtk_icon_view_item_selected_changed (GtkIconView *icon_view, GtkIconViewItem *item) @@ -1934,16 +1798,20 @@ gtk_icon_view_item_selected_changed (GtkIconView *icon_view, static void gtk_icon_view_put (GtkIconView *icon_view, GtkWidget *widget, - GtkIconViewItem *item, - gint cell) + gint x, + gint y, + gint width, + gint height) { GtkIconViewChild *child; child = g_new (GtkIconViewChild, 1); - child->widget = widget; - child->item = item; - child->cell = cell; + child->widget = widget; + child->area.x = x; + child->area.y = y; + child->area.width = width; + child->area.height = height; icon_view->priv->children = g_list_append (icon_view->priv->children, child); @@ -1957,7 +1825,6 @@ static void gtk_icon_view_remove_widget (GtkCellEditable *editable, GtkIconView *icon_view) { - GList *l; GtkIconViewItem *item; if (icon_view->priv->edited_item == NULL) @@ -1966,12 +1833,6 @@ gtk_icon_view_remove_widget (GtkCellEditable *editable, item = icon_view->priv->edited_item; icon_view->priv->edited_item = NULL; icon_view->priv->editable = NULL; - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = l->data; - - info->editing = FALSE; - } if (gtk_widget_has_focus (GTK_WIDGET (editable))) gtk_widget_grab_focus (GTK_WIDGET (icon_view)); @@ -1990,53 +1851,15 @@ gtk_icon_view_remove_widget (GtkCellEditable *editable, static void gtk_icon_view_start_editing (GtkIconView *icon_view, GtkIconViewItem *item, - GtkIconViewCellInfo *info, GdkEvent *event) { - GtkTreePath *path; - gchar *path_string; - GdkRectangle cell_area; - gboolean visible, mode; - GtkCellEditable *editable; + GdkRectangle cell_area; + GtkIconViewPrivate *priv = icon_view->priv; gtk_icon_view_set_cell_data (icon_view, item); - - g_object_get (info->cell, - "visible", &visible, - "mode", &mode, - NULL); - if (visible && mode == GTK_CELL_RENDERER_MODE_EDITABLE) - { - gtk_icon_view_get_cell_area (icon_view, item, info, &cell_area); - - path = gtk_tree_path_new_from_indices (item->index, -1); - path_string = gtk_tree_path_to_string (path); - gtk_tree_path_free (path); - - editable = gtk_cell_renderer_start_editing (info->cell, - event, - GTK_WIDGET (icon_view), - path_string, - &cell_area, - &cell_area, - 0); - g_free (path_string); - - /* the rest corresponds to tree_view_real_start_editing... */ - icon_view->priv->edited_item = item; - icon_view->priv->editable = editable; - info->editing = TRUE; - - gtk_icon_view_put (icon_view, GTK_WIDGET (editable), item, - info->position); - gtk_cell_editable_start_editing (GTK_CELL_EDITABLE (editable), - (GdkEvent *)event); - gtk_widget_grab_focus (GTK_WIDGET (editable)); - g_signal_connect (editable, "remove-widget", - G_CALLBACK (gtk_icon_view_remove_widget), - icon_view); - - } + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + gtk_cell_area_activate (priv->cell_area, priv->cell_area_context, + GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */); } static void @@ -2060,30 +1883,7 @@ gtk_icon_view_stop_editing (GtkIconView *icon_view, * Please read that again if you intend to modify anything here. */ - item = icon_view->priv->edited_item; - icon_view->priv->edited_item = NULL; - - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = l->data; - - if (info->editing) - { - cell = info->cell; - break; - } - } - - if (cell == NULL) - return; - - gtk_cell_renderer_stop_editing (cell, cancel_editing); - if (!cancel_editing) - gtk_cell_editable_editing_done (icon_view->priv->editable); - - icon_view->priv->edited_item = item; - - gtk_cell_editable_remove_widget (icon_view->priv->editable); + /* XXX replace this with add-editable/remove-editable apis */ } /** @@ -2112,9 +1912,6 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, gboolean start_editing) { GtkIconViewItem *item = NULL; - GtkIconViewCellInfo *info = NULL; - GList *l; - gint i, cell_pos; g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); g_return_if_fail (path != NULL); @@ -2128,28 +1925,12 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, if (!item) return; - - cell_pos = -1; - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - info = l->data; - - if (info->cell == cell) - { - cell_pos = i; - break; - } - - info = NULL; - } - g_return_if_fail (cell == NULL || info != NULL); - - gtk_icon_view_set_cursor_item (icon_view, item, cell_pos); + gtk_icon_view_set_cursor_item (icon_view, item, cell); gtk_icon_view_scroll_to_path (icon_view, path, FALSE, 0.0, 0.0); - - if (info && start_editing) - gtk_icon_view_start_editing (icon_view, item, info, NULL); + + if (start_editing) + gtk_icon_view_start_editing (icon_view, item, NULL); } /** @@ -2174,16 +1955,10 @@ gtk_icon_view_get_cursor (GtkIconView *icon_view, GtkCellRenderer **cell) { GtkIconViewItem *item; - GtkIconViewCellInfo *info; g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), FALSE); item = icon_view->priv->cursor_item; - if (icon_view->priv->cursor_cell < 0) - info = NULL; - else - info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->cursor_cell); if (path != NULL) { @@ -2193,13 +1968,8 @@ gtk_icon_view_get_cursor (GtkIconView *icon_view, *path = NULL; } - if (cell != NULL) - { - if (info != NULL) - *cell = info->cell; - else - *cell = NULL; - } + if (cell != NULL && item != NULL) + *cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area); return (item != NULL); } @@ -2210,10 +1980,9 @@ gtk_icon_view_button_press (GtkWidget *widget, { GtkIconView *icon_view; GtkIconViewItem *item; - GtkIconViewCellInfo *info = NULL; gboolean dirty = FALSE; - GtkCellRendererMode mode; - gint cursor_cell = -1; + GtkCellRenderer *cell = NULL, *cursor_cell = NULL; + GdkRectangle cell_area; icon_view = GTK_ICON_VIEW (widget); @@ -2228,22 +1997,19 @@ gtk_icon_view_button_press (GtkWidget *widget, item = gtk_icon_view_get_item_at_coords (icon_view, event->x, event->y, FALSE, - &info); + &cell); /* * We consider only the the cells' area as the item area if the * item is not selected, but if it *is* selected, the complete * selection rectangle is considered to be part of the item. */ - if (item != NULL && (info != NULL || item->selected)) + if (item != NULL && (cell != NULL || item->selected)) { - if (info != NULL) + if (cell != NULL) { - g_object_get (info->cell, "mode", &mode, NULL); - - if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE || - mode == GTK_CELL_RENDERER_MODE_EDITABLE) - cursor_cell = g_list_index (icon_view->priv->cell_list, info); + if (gtk_cell_renderer_is_activatable (cell)) + cursor_cell = cell; } gtk_icon_view_scroll_to_item (icon_view, item); @@ -2302,14 +2068,14 @@ gtk_icon_view_button_press (GtkWidget *widget, /* cancel the current editing, if it exists */ gtk_icon_view_stop_editing (icon_view, TRUE); - if (info != NULL) + if (cell != NULL) { - if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) - gtk_icon_view_item_activate_cell (icon_view, item, info, - (GdkEvent *)event); - else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) - gtk_icon_view_start_editing (icon_view, item, info, - (GdkEvent *)event); + gtk_icon_view_set_cell_data (icon_view, item); + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + gtk_cell_area_activate (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), + &cell_area, 0/* XXX flags */); } } else @@ -2547,6 +2313,27 @@ gtk_icon_view_update_rubberband_selection (GtkIconView *icon_view) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); } + +typedef struct { + GdkRectangle hit_rect; + gboolean hit; +} HitTestData; + +static gboolean +hit_test (GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + HitTestData *data) +{ + if (MIN (data->hit_rect.x + data->hit_rect.width, cell_area->x + cell_area->width) - + MAX (data->hit_rect.x, cell_area->x) > 0 && + MIN (data->hit_rect.y + data->hit_rect.height, cell_area->y + cell_area->height) - + MAX (data->hit_rect.y, cell_area->y) > 0) + data->hit = TRUE; + + return (data->hit != FALSE); +} + static gboolean gtk_icon_view_item_hit_test (GtkIconView *icon_view, GtkIconViewItem *item, @@ -2555,28 +2342,22 @@ gtk_icon_view_item_hit_test (GtkIconView *icon_view, gint width, gint height) { - GList *l; - GdkRectangle box; + GdkRectangle cell_area; + HitTestData data = { { x, y, width, height }, FALSE }; if (MIN (x + width, item->x + item->width) - MAX (x, item->x) <= 0 || MIN (y + height, item->y + item->height) - MAX (y, item->y) <= 0) return FALSE; - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - gtk_icon_view_get_cell_box (icon_view, item, info, &box); + gtk_icon_view_set_cell_data (icon_view, item); + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), + &cell_area, &cell_area, + (GtkCellAllocCallback)hit_test, &data); - if (MIN (x + width, box.x + box.width) - MAX (x, box.x) > 0 && - MIN (y + height, box.y + box.height) - MAX (y, box.y) > 0) - return TRUE; - } - - return FALSE; + return data.hit; } static gboolean @@ -2631,35 +2412,18 @@ static gboolean gtk_icon_view_real_activate_cursor_item (GtkIconView *icon_view) { GtkTreePath *path; - GtkCellRendererMode mode; - GtkIconViewCellInfo *info = NULL; + GdkRectangle cell_area; + gboolean activated; if (!icon_view->priv->cursor_item) return FALSE; - info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->cursor_cell); + gtk_icon_view_set_cell_data (icon_view, icon_view->priv->cursor_item); + gtk_icon_view_get_cell_area (icon_view, icon_view->priv->cursor_item, &cell_area); + activated = gtk_cell_area_activate (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */); - if (info) - { - g_object_get (info->cell, "mode", &mode, NULL); - - if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) - { - gtk_icon_view_item_activate_cell (icon_view, - icon_view->priv->cursor_item, - info, NULL); - return TRUE; - } - else if (mode == GTK_CELL_RENDERER_MODE_EDITABLE) - { - gtk_icon_view_start_editing (icon_view, - icon_view->priv->cursor_item, - info, NULL); - return TRUE; - } - } - path = gtk_tree_path_new_from_indices (icon_view->priv->cursor_item->index, -1); gtk_icon_view_item_activated (icon_view, path); gtk_tree_path_free (path); @@ -2871,61 +2635,57 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, gint *maximum_width) { GtkAllocation allocation; + GtkIconViewPrivate *priv = icon_view->priv; GtkWidget *widget = GTK_WIDGET (icon_view); - gint focus_width; gint x, current_width; GList *items, *last_item; gint col; - gint colspan; - gint *max_height; - gint i; + gint max_height = 0; gboolean rtl; rtl = gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL; - max_height = g_new0 (gint, icon_view->priv->n_cells); x = 0; col = 0; items = first_item; current_width = 0; - gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - NULL); + x += priv->margin; + current_width += 2 * priv->margin; - x += icon_view->priv->margin + focus_width; - current_width += 2 * (icon_view->priv->margin + focus_width); + gtk_widget_get_allocation (widget, &allocation); items = first_item; while (items) { GtkIconViewItem *item = items->data; - gtk_icon_view_calculate_item_size (icon_view, item); - colspan = 1 + (item->width - 1) / (item_width + icon_view->priv->column_spacing); - - item->width = colspan * item_width + (colspan - 1) * icon_view->priv->column_spacing; + /* Get this item's particular width & height (all alignments are cached by now) */ + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_get_preferred_height_for_width (priv->cell_area, + priv->cell_area_context, + widget, item_width, + &item->height, NULL); + item->width = item_width; + item->height += icon_view->priv->item_padding * 2; current_width += item->width; + max_height = MAX (max_height, item->height); + if (items != first_item) { - gtk_widget_get_allocation (widget, &allocation); - if ((icon_view->priv->columns <= 0 && current_width > allocation.width) || (icon_view->priv->columns > 0 && col >= icon_view->priv->columns)) break; } - current_width += icon_view->priv->column_spacing + 2 * focus_width; + current_width += icon_view->priv->column_spacing; - item->y = *y + focus_width; + item->y = *y; item->x = x; - x = current_width - (icon_view->priv->margin + focus_width); - - for (i = 0; i < icon_view->priv->n_cells; i++) - max_height[i] = MAX (max_height[i], item->box[i].height); + x = current_width - icon_view->priv->margin; if (current_width > *maximum_width) *maximum_width = current_width; @@ -2933,7 +2693,7 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, item->row = row; item->col = col; - col += colspan; + col ++; items = items->next; } @@ -2950,14 +2710,10 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, item->col = col - 1 - item->col; } - gtk_icon_view_calculate_item_size2 (icon_view, item, max_height); - - /* We may want to readjust the new y coordinate. */ - if (item->y + item->height + focus_width + icon_view->priv->row_spacing > *y) - *y = item->y + item->height + focus_width + icon_view->priv->row_spacing; + /* Adjust the new y coordinate. */ + if (item->y + item->height + icon_view->priv->row_spacing > *y) + *y = item->y + item->height + icon_view->priv->row_spacing; } - - g_free (max_height); return last_item; } @@ -2986,26 +2742,18 @@ gtk_icon_view_layout (GtkIconView *icon_view) item_width = icon_view->priv->item_width; + /* Fetch the new item width */ if (item_width < 0) { - for (icons = icon_view->priv->items; icons; icons = icons->next) - { - GtkIconViewItem *item = icons->data; - gtk_icon_view_calculate_item_size (icon_view, item); - item_width = MAX (item_width, item->width); - } + gtk_icon_view_cache_widths (icon_view); + gtk_cell_area_context_get_preferred_width (icon_view->priv->cell_area_context, + &item_width, NULL); + item_width += icon_view->priv->item_padding * 2; } - icons = icon_view->priv->items; y += icon_view->priv->margin; row = 0; - - if (icons) - { - gtk_icon_view_set_cell_data (icon_view, icons->data); - adjust_wrap_width (icon_view, icons->data); - } do { @@ -3063,248 +2811,33 @@ gtk_icon_view_layout (GtkIconView *icon_view) static void gtk_icon_view_get_cell_area (GtkIconView *icon_view, GtkIconViewItem *item, - GtkIconViewCellInfo *info, GdkRectangle *cell_area) { - g_return_if_fail (info->position < item->n_cells); - - if (icon_view->priv->item_orientation == GTK_ORIENTATION_HORIZONTAL) - { - cell_area->x = item->box[info->position].x - item->before[info->position]; - cell_area->y = item->y + icon_view->priv->item_padding; - cell_area->width = item->box[info->position].width + - item->before[info->position] + item->after[info->position]; - cell_area->height = item->height - icon_view->priv->item_padding * 2; - } - else - { - cell_area->x = item->x + icon_view->priv->item_padding; - cell_area->y = item->box[info->position].y - item->before[info->position]; - cell_area->width = item->width - icon_view->priv->item_padding * 2; - cell_area->height = item->box[info->position].height + - item->before[info->position] + item->after[info->position]; - } + cell_area->x = item->x + icon_view->priv->item_padding; + cell_area->width = item->width - icon_view->priv->item_padding * 2; + cell_area->y = item->y + icon_view->priv->item_padding; + cell_area->height = item->height - icon_view->priv->item_padding * 2; } -static void -gtk_icon_view_get_cell_box (GtkIconView *icon_view, - GtkIconViewItem *item, - GtkIconViewCellInfo *info, - GdkRectangle *box) -{ - g_return_if_fail (info->position < item->n_cells); - - *box = item->box[info->position]; -} - -/* try to guess a reasonable wrap width for an implicit text cell renderer +/* This ensures that all widths have been cached in the + * context and we have proper alignments to go on. */ static void -adjust_wrap_width (GtkIconView *icon_view, - GtkIconViewItem *item) +gtk_icon_view_cache_widths (GtkIconView *icon_view) { - GtkIconViewCellInfo *text_info; - GtkIconViewCellInfo *pixbuf_info; - gint wrap_width; + GList *items; - if (icon_view->priv->text_cell != -1 && - icon_view->priv->pixbuf_cell != -1) + for (items = icon_view->priv->items; items; items = items->next) { - GtkRequisition min_size; - gint item_width; + GtkIconViewItem *item = items->data; - text_info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->text_cell); - pixbuf_info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->pixbuf_cell); - - gtk_cell_renderer_get_preferred_size (pixbuf_info->cell, - GTK_WIDGET (icon_view), - &min_size, NULL); - - if (icon_view->priv->item_width > 0) - item_width = icon_view->priv->item_width; - else - item_width = item->width; - - if (icon_view->priv->item_orientation == GTK_ORIENTATION_VERTICAL) - wrap_width = item_width; - else { - if (item->width == -1 && item_width <= 0) - wrap_width = MAX (2 * min_size.width, 50); - else - wrap_width = item_width - min_size.width - icon_view->priv->spacing; - } - - wrap_width -= icon_view->priv->item_padding * 2; - - g_object_set (text_info->cell, "wrap-width", wrap_width, NULL); - g_object_set (text_info->cell, "width", wrap_width, NULL); + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_get_preferred_width (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), NULL, NULL); } } -static void -gtk_icon_view_calculate_item_size (GtkIconView *icon_view, - GtkIconViewItem *item) -{ - GtkRequisition min_size; - gint spacing; - GList *l; - - if (item->width != -1 && item->height != -1) - return; - - if (item->n_cells != icon_view->priv->n_cells) - { - g_free (item->before); - g_free (item->after); - g_free (item->box); - - item->before = g_new0 (gint, icon_view->priv->n_cells); - item->after = g_new0 (gint, icon_view->priv->n_cells); - item->box = g_new0 (GdkRectangle, icon_view->priv->n_cells); - - item->n_cells = icon_view->priv->n_cells; - } - - gtk_icon_view_set_cell_data (icon_view, item); - - spacing = icon_view->priv->spacing; - - item->width = 0; - item->height = 0; - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - gtk_cell_renderer_get_preferred_size (info->cell, - GTK_WIDGET (icon_view), - &min_size, NULL); - item->box[info->position].width = min_size.width; - item->box[info->position].height = min_size.height; - - if (icon_view->priv->item_orientation == GTK_ORIENTATION_HORIZONTAL) - { - item->width += item->box[info->position].width - + (info->position > 0 ? spacing : 0); - item->height = MAX (item->height, item->box[info->position].height); - } - else - { - item->width = MAX (item->width, item->box[info->position].width); - item->height += item->box[info->position].height + (info->position > 0 ? spacing : 0); - } - } - - item->width += icon_view->priv->item_padding * 2; - item->height += icon_view->priv->item_padding * 2; -} - -static void -gtk_icon_view_calculate_item_size2 (GtkIconView *icon_view, - GtkIconViewItem *item, - gint *max_height) -{ - GtkRequisition min_size; - GdkRectangle cell_area; - gint spacing; - GList *l; - gint i, k; - gboolean rtl; - - rtl = gtk_widget_get_direction (GTK_WIDGET (icon_view)) == GTK_TEXT_DIR_RTL; - - gtk_icon_view_set_cell_data (icon_view, item); - - spacing = icon_view->priv->spacing; - - item->height = 0; - for (i = 0; i < icon_view->priv->n_cells; i++) - { - if (icon_view->priv->item_orientation == GTK_ORIENTATION_HORIZONTAL) - item->height = MAX (item->height, max_height[i]); - else - item->height += max_height[i] + (i > 0 ? spacing : 0); - } - - cell_area.x = item->x + icon_view->priv->item_padding; - cell_area.y = item->y + icon_view->priv->item_padding; - - for (k = 0; k < 2; k++) - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (info->pack == (k ? GTK_PACK_START : GTK_PACK_END)) - continue; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - if (icon_view->priv->item_orientation == GTK_ORIENTATION_HORIZONTAL) - { - /* We should not subtract icon_view->priv->item_padding from item->height, - * because item->height is recalculated above using - * max_height which does not contain item padding. - */ - cell_area.width = item->box[info->position].width; - cell_area.height = item->height; - } - else - { - /* item->width is not recalculated and thus needs to be - * corrected for the padding. - */ - cell_area.width = item->width - 2 * icon_view->priv->item_padding; - cell_area.height = max_height[i]; - } - - gtk_cell_renderer_get_preferred_size (info->cell, - GTK_WIDGET (icon_view), - &min_size, NULL); - item->box[info->position].width = min_size.width; - item->box[info->position].height = min_size.height; - - _gtk_cell_renderer_calc_offset (info->cell, &cell_area, - gtk_widget_get_direction (GTK_WIDGET (icon_view)), - item->box[info->position].width, item->box[info->position].height, - &item->box[info->position].x, &item->box[info->position].y); - item->box[info->position].x += cell_area.x; - item->box[info->position].y += cell_area.y; - - if (icon_view->priv->item_orientation == GTK_ORIENTATION_HORIZONTAL) - { - item->before[info->position] = item->box[info->position].x - cell_area.x; - item->after[info->position] = cell_area.width - item->box[info->position].width - item->before[info->position]; - cell_area.x += cell_area.width + spacing; - } - else - { - if (item->box[info->position].width > item->width - icon_view->priv->item_padding * 2) - { - item->width = item->box[info->position].width + icon_view->priv->item_padding * 2; - cell_area.width = item->width; - } - item->before[info->position] = item->box[info->position].y - cell_area.y; - item->after[info->position] = cell_area.height - item->box[info->position].height - item->before[info->position]; - cell_area.y += cell_area.height + spacing; - } - } - - if (rtl && icon_view->priv->item_orientation == GTK_ORIENTATION_HORIZONTAL) - { - for (i = 0; i < icon_view->priv->n_cells; i++) - { - item->box[i].x = item->x + item->width - - (item->box[i].x + item->box[i].width - item->x); - } - } - - item->height += icon_view->priv->item_padding * 2; -} static void gtk_icon_view_invalidate_sizes (GtkIconView *icon_view) @@ -3328,27 +2861,18 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, gint y, gboolean draw_focus) { - gint focus_width; - gint padding; - GdkRectangle cell_area, box; - GList *l; - gint i; + GdkRectangle cell_area; GtkStateType state; GtkCellRendererState flags; - GtkStyle *style; GtkWidget *widget = GTK_WIDGET (icon_view); + GtkIconViewPrivate *priv = icon_view->priv; + GtkStyle *style; - if (icon_view->priv->model == NULL) + if (priv->model == NULL) return; - gtk_icon_view_set_cell_data (icon_view, item); - style = gtk_widget_get_style (widget); - gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - NULL); - - padding = focus_width; + gtk_icon_view_set_cell_data (icon_view, item); if (item->selected) { @@ -3376,73 +2900,16 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, item->width, item->height); } - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - gtk_icon_view_get_cell_area (icon_view, item, info, &cell_area); + cell_area.x = x - item->x; + cell_area.y = y - item->y; + cell_area.width = item->width; + cell_area.height = item->height; - cell_area.x = x - item->x + cell_area.x; - cell_area.y = y - item->y + cell_area.y; - - gtk_cell_renderer_render (info->cell, - cr, - widget, - &cell_area, &cell_area, flags); - } - - if (draw_focus && - gtk_widget_has_focus (widget) && - item == icon_view->priv->cursor_item) - { - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - GtkCellRendererMode mode; - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - /* If found a editable/activatable cell, draw focus on it. */ - g_object_get (info->cell, "mode", &mode, NULL); - if (icon_view->priv->cursor_cell < 0 && - mode != GTK_CELL_RENDERER_MODE_INERT) - icon_view->priv->cursor_cell = i; - - gtk_icon_view_get_cell_box (icon_view, item, info, &box); - - if (i == icon_view->priv->cursor_cell) - { - gtk_paint_focus (style, - cr, - GTK_STATE_NORMAL, - widget, - "icon_view", - x - item->x + box.x - padding, - y - item->y + box.y - padding, - box.width + 2 * padding, - box.height + 2 * padding); - break; - } - } - - /* If there are no editable/activatable cells, draw focus - * around the whole item. - */ - if (icon_view->priv->cursor_cell < 0) - gtk_paint_focus (style, - cr, - GTK_STATE_NORMAL, - widget, - "icon_view", - x - padding, - y - padding, - item->width + 2 * padding, - item->height + 2 * padding); - } + gtk_cell_area_render (priv->cell_area, priv->cell_area_context, + widget, cr, &cell_area, &cell_area, flags, + draw_focus && + gtk_widget_has_focus (widget) && + item == icon_view->priv->cursor_item); } static void @@ -3510,17 +2977,12 @@ static void gtk_icon_view_queue_draw_item (GtkIconView *icon_view, GtkIconViewItem *item) { - gint focus_width; GdkRectangle rect; - gtk_widget_style_get (GTK_WIDGET (icon_view), - "focus-line-width", &focus_width, - NULL); - - rect.x = item->x - focus_width; - rect.y = item->y - focus_width; - rect.width = item->width + 2 * focus_width; - rect.height = item->height + 2 * focus_width; + rect.x = item->x; + rect.y = item->y; + rect.width = item->width; + rect.height = item->height; if (icon_view->priv->bin_window) gdk_window_invalidate_rect (icon_view->priv->bin_window, &rect, TRUE); @@ -3554,14 +3016,14 @@ gtk_icon_view_queue_layout (GtkIconView *icon_view) static void gtk_icon_view_set_cursor_item (GtkIconView *icon_view, GtkIconViewItem *item, - gint cursor_cell) + GtkCellRenderer *cursor_cell) { AtkObject *obj; AtkObject *item_obj; AtkObject *cursor_item_obj; if (icon_view->priv->cursor_item == item && - (cursor_cell < 0 || cursor_cell == icon_view->priv->cursor_cell)) + (cursor_cell == NULL || cursor_cell == gtk_cell_area_get_focus_cell (icon_view->priv->cell_area))) return; obj = gtk_widget_get_accessible (GTK_WIDGET (icon_view)); @@ -3576,8 +3038,8 @@ gtk_icon_view_set_cursor_item (GtkIconView *icon_view, } } icon_view->priv->cursor_item = item; - if (cursor_cell >= 0) - icon_view->priv->cursor_cell = cursor_cell; + + gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cursor_cell); gtk_icon_view_queue_draw_item (icon_view, item); @@ -3611,10 +3073,6 @@ gtk_icon_view_item_free (GtkIconViewItem *item) { g_return_if_fail (item != NULL); - g_free (item->before); - g_free (item->after); - g_free (item->box); - g_free (item); } @@ -3624,10 +3082,9 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, gint x, gint y, gboolean only_in_cell, - GtkIconViewCellInfo **cell_at_pos) + GtkCellRenderer **cell_at_pos) { - GList *items, *l; - GdkRectangle box; + GList *items; if (cell_at_pos) *cell_at_pos = NULL; @@ -3641,33 +3098,24 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, { if (only_in_cell || cell_at_pos) { + GdkRectangle cell_area; + GtkCellRenderer *cell; + gtk_icon_view_set_cell_data (icon_view, item); + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + cell = gtk_cell_area_get_cell_at_position (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), + &cell_area, + x, y, NULL); - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - gtk_icon_view_get_cell_box (icon_view, item, info, &box); - - if ((x >= box.x && x <= box.x + box.width && - y >= box.y && y <= box.y + box.height) || - (x >= box.x && - x <= box.x + box.width && - y >= box.y && - y <= box.y + box.height)) - { - if (cell_at_pos) - *cell_at_pos = info; - - return item; - } - } + if (cell_at_pos) + *cell_at_pos = cell; if (only_in_cell) - return NULL; + return cell != NULL ? item : NULL; + else + return item; } return item; @@ -4056,86 +3504,6 @@ find_item (GtkIconView *icon_view, return NULL; } -static gint -find_cell (GtkIconView *icon_view, - GtkIconViewItem *item, - gint cell, - GtkOrientation orientation, - gint step, - gint *count) -{ - gint n_focusable; - gint *focusable; - gint current; - gint i, k; - GList *l; - - if (icon_view->priv->item_orientation != orientation) - return cell; - - gtk_icon_view_set_cell_data (icon_view, item); - - focusable = g_new0 (gint, icon_view->priv->n_cells); - n_focusable = 0; - - current = 0; - for (k = 0; k < 2; k++) - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - GtkCellRendererMode mode; - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - if (info->pack == (k ? GTK_PACK_START : GTK_PACK_END)) - continue; - - if (!gtk_cell_renderer_get_visible (info->cell)) - continue; - - g_object_get (info->cell, "mode", &mode, NULL); - if (mode != GTK_CELL_RENDERER_MODE_INERT) - { - if (cell == i) - current = n_focusable; - - focusable[n_focusable] = i; - - n_focusable++; - } - } - - if (n_focusable == 0) - { - g_free (focusable); - return -1; - } - - if (cell < 0) - { - current = step > 0 ? 0 : n_focusable - 1; - cell = focusable[current]; - } - - if (current + *count < 0) - { - cell = -1; - *count = current + *count; - } - else if (current + *count > n_focusable - 1) - { - cell = -1; - *count = current + *count - (n_focusable - 1); - } - else - { - cell = focusable[current + *count]; - *count = 0; - } - - g_free (focusable); - - return cell; -} - static GtkIconViewItem * find_item_page_up_down (GtkIconView *icon_view, GtkIconViewItem *current, @@ -4241,6 +3609,7 @@ static void gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, gint count) { +#if _I_HAD_A_MILLION_DOLLARS_ GtkIconViewItem *item; gint cell; gboolean dirty = FALSE; @@ -4318,6 +3687,7 @@ gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); +#endif } static void @@ -4358,7 +3728,7 @@ gtk_icon_view_move_cursor_page_up_down (GtkIconView *icon_view, icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; - gtk_icon_view_set_cursor_item (icon_view, item, -1); + gtk_icon_view_set_cursor_item (icon_view, item, NULL); if (!icon_view->priv->ctrl_pressed && icon_view->priv->selection_mode != GTK_SELECTION_NONE) @@ -4379,6 +3749,7 @@ static void gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, gint count) { +#if _I_HAD_A_MILLION_DOLLARS_ GtkIconViewItem *item; gint cell = -1; gboolean dirty = FALSE; @@ -4455,6 +3826,7 @@ gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); +#endif } static void @@ -4487,7 +3859,7 @@ gtk_icon_view_move_cursor_start_end (GtkIconView *icon_view, icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; - gtk_icon_view_set_cursor_item (icon_view, item, -1); + gtk_icon_view_set_cursor_item (icon_view, item, NULL); if (!icon_view->priv->ctrl_pressed && icon_view->priv->selection_mode != GTK_SELECTION_NONE) @@ -4641,28 +4013,18 @@ gtk_icon_view_scroll_to_item (GtkIconView *icon_view, } /* GtkCellLayout implementation */ -static GtkIconViewCellInfo * -gtk_icon_view_get_cell_info (GtkIconView *icon_view, - GtkCellRenderer *renderer) +static GtkCellArea * +gtk_icon_view_cell_layout_get_area (GtkCellLayout *cell_layout) { - GList *i; + GtkIconView *icon_view = GTK_ICON_VIEW (cell_layout); - for (i = icon_view->priv->cell_list; i; i = i->next) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)i->data; - - if (info->cell == renderer) - return info; - } - - return NULL; + return icon_view->priv->cell_area; } static void gtk_icon_view_set_cell_data (GtkIconView *icon_view, GtkIconViewItem *item) { - GList *i; gboolean iters_persist; GtkTreeIter iter; @@ -4679,237 +4041,13 @@ gtk_icon_view_set_cell_data (GtkIconView *icon_view, } else iter = item->iter; - - for (i = icon_view->priv->cell_list; i; i = i->next) - { - GSList *j; - GtkIconViewCellInfo *info = i->data; - g_object_freeze_notify (G_OBJECT (info->cell)); - - for (j = info->attributes; j && j->next; j = j->next->next) - { - gchar *property = j->data; - gint column = GPOINTER_TO_INT (j->next->data); - GValue value = {0, }; - - gtk_tree_model_get_value (icon_view->priv->model, &iter, - column, &value); - g_object_set_property (G_OBJECT (info->cell), - property, &value); - g_value_unset (&value); - } - - if (info->func) - (* info->func) (GTK_CELL_LAYOUT (icon_view), - info->cell, - icon_view->priv->model, - &iter, - info->func_data); - - g_object_thaw_notify (G_OBJECT (info->cell)); - } + gtk_cell_area_apply_attributes (icon_view->priv->cell_area, + icon_view->priv->model, + &iter, FALSE, FALSE); } -static void -free_cell_attributes (GtkIconViewCellInfo *info) -{ - GSList *list; - list = info->attributes; - while (list && list->next) - { - g_free (list->data); - list = list->next->next; - } - - g_slist_free (info->attributes); - info->attributes = NULL; -} - -static void -free_cell_info (GtkIconViewCellInfo *info) -{ - free_cell_attributes (info); - - g_object_unref (info->cell); - - if (info->destroy) - (* info->destroy) (info->func_data); - - g_free (info); -} - -static void -gtk_icon_view_cell_layout_pack_start (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand) -{ - GtkIconViewCellInfo *info; - GtkIconView *icon_view = GTK_ICON_VIEW (layout); - - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - g_return_if_fail (!gtk_icon_view_get_cell_info (icon_view, renderer)); - - g_object_ref_sink (renderer); - - info = g_new0 (GtkIconViewCellInfo, 1); - info->cell = renderer; - info->expand = expand ? TRUE : FALSE; - info->pack = GTK_PACK_START; - info->position = icon_view->priv->n_cells; - - icon_view->priv->cell_list = g_list_append (icon_view->priv->cell_list, info); - icon_view->priv->n_cells++; -} - -static void -gtk_icon_view_cell_layout_pack_end (GtkCellLayout *layout, - GtkCellRenderer *renderer, - gboolean expand) -{ - GtkIconViewCellInfo *info; - GtkIconView *icon_view = GTK_ICON_VIEW (layout); - - g_return_if_fail (GTK_IS_CELL_RENDERER (renderer)); - g_return_if_fail (!gtk_icon_view_get_cell_info (icon_view, renderer)); - - g_object_ref_sink (renderer); - - info = g_new0 (GtkIconViewCellInfo, 1); - info->cell = renderer; - info->expand = expand ? TRUE : FALSE; - info->pack = GTK_PACK_END; - info->position = icon_view->priv->n_cells; - - icon_view->priv->cell_list = g_list_append (icon_view->priv->cell_list, info); - icon_view->priv->n_cells++; -} - -static void -gtk_icon_view_cell_layout_add_attribute (GtkCellLayout *layout, - GtkCellRenderer *renderer, - const gchar *attribute, - gint column) -{ - GtkIconViewCellInfo *info; - GtkIconView *icon_view = GTK_ICON_VIEW (layout); - - info = gtk_icon_view_get_cell_info (icon_view, renderer); - g_return_if_fail (info != NULL); - - info->attributes = g_slist_prepend (info->attributes, - GINT_TO_POINTER (column)); - info->attributes = g_slist_prepend (info->attributes, - g_strdup (attribute)); -} - -static void -gtk_icon_view_cell_layout_clear (GtkCellLayout *layout) -{ - GtkIconView *icon_view = GTK_ICON_VIEW (layout); - - while (icon_view->priv->cell_list) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)icon_view->priv->cell_list->data; - free_cell_info (info); - icon_view->priv->cell_list = g_list_delete_link (icon_view->priv->cell_list, - icon_view->priv->cell_list); - } - - icon_view->priv->n_cells = 0; -} - -static void -gtk_icon_view_cell_layout_set_cell_data_func (GtkCellLayout *layout, - GtkCellRenderer *cell, - GtkCellLayoutDataFunc func, - gpointer func_data, - GDestroyNotify destroy) -{ - GtkIconViewCellInfo *info; - GtkIconView *icon_view = GTK_ICON_VIEW (layout); - - info = gtk_icon_view_get_cell_info (icon_view, cell); - g_return_if_fail (info != NULL); - - if (info->destroy) - { - GDestroyNotify d = info->destroy; - - info->destroy = NULL; - d (info->func_data); - } - - info->func = func; - info->func_data = func_data; - info->destroy = destroy; -} - -static void -gtk_icon_view_cell_layout_clear_attributes (GtkCellLayout *layout, - GtkCellRenderer *renderer) -{ - GtkIconViewCellInfo *info; - - info = gtk_icon_view_get_cell_info (GTK_ICON_VIEW (layout), renderer); - if (info != NULL) - free_cell_attributes (info); -} - -static void -gtk_icon_view_cell_layout_reorder (GtkCellLayout *layout, - GtkCellRenderer *cell, - gint position) -{ - GtkIconView *icon_view; - GList *link, *l; - GtkIconViewCellInfo *info; - gint i; - - icon_view = GTK_ICON_VIEW (layout); - - g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - - info = gtk_icon_view_get_cell_info (icon_view, cell); - - g_return_if_fail (info != NULL); - g_return_if_fail (position >= 0); - - link = g_list_find (icon_view->priv->cell_list, info); - - g_return_if_fail (link != NULL); - - icon_view->priv->cell_list = g_list_delete_link (icon_view->priv->cell_list, - link); - icon_view->priv->cell_list = g_list_insert (icon_view->priv->cell_list, - info, position); - - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - info = l->data; - - info->position = i; - } - - gtk_widget_queue_draw (GTK_WIDGET (icon_view)); -} - -static GList * -gtk_icon_view_cell_layout_get_cells (GtkCellLayout *layout) -{ - GtkIconView *icon_view = (GtkIconView *)layout; - GList *retval = NULL, *l; - - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = (GtkIconViewCellInfo *)l->data; - - retval = g_list_prepend (retval, info->cell); - } - - return g_list_reverse (retval); -} /* Public API */ @@ -5045,11 +4183,11 @@ gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, GtkCellRenderer **cell) { GtkIconViewItem *item; - GtkIconViewCellInfo *info; + GtkCellRenderer *renderer = NULL; g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), FALSE); - item = gtk_icon_view_get_item_at_coords (icon_view, x, y, TRUE, &info); + item = gtk_icon_view_get_item_at_coords (icon_view, x, y, TRUE, &renderer); if (path != NULL) { @@ -5060,12 +4198,7 @@ gtk_icon_view_get_item_at_pos (GtkIconView *icon_view, } if (cell != NULL) - { - if (info != NULL) - *cell = info->cell; - else - *cell = NULL; - } + *cell = renderer; return (item != NULL); } @@ -5115,7 +4248,6 @@ gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, { GdkRectangle rect; GtkIconViewItem *item = NULL; - GtkIconViewCellInfo *info = NULL; gint x, y; g_return_if_fail (GTK_IS_ICON_VIEW (icon_view)); @@ -5131,8 +4263,14 @@ gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, if (cell) { - info = gtk_icon_view_get_cell_info (icon_view, cell); - gtk_icon_view_get_cell_area (icon_view, item, info, &rect); + GdkRectangle cell_area; + + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_get_cell_allocation (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), + cell, &cell_area, &rect); } else { @@ -5605,6 +4743,7 @@ gtk_icon_view_get_model (GtkIconView *icon_view) static void update_text_cell (GtkIconView *icon_view) { +#if _I_HAD_A_MILLION_DOLLARS_ GtkIconViewCellInfo *info; GList *l; gint i; @@ -5674,11 +4813,13 @@ update_text_cell (GtkIconView *icon_view) "yalign", 0.5, NULL); } +#endif } static void update_pixbuf_cell (GtkIconView *icon_view) { +#if _I_HAD_A_MILLION_DOLLARS_ GtkIconViewCellInfo *info; GList *l; gint i; @@ -5738,6 +4879,7 @@ update_pixbuf_cell (GtkIconView *icon_view) "yalign", 0.0, NULL); } +#endif } /** @@ -7945,25 +7087,54 @@ gtk_icon_view_item_accessible_image_set_image_description (AtkImage *image, return TRUE; } +typedef struct { + GdkRectangle box; + gboolean pixbuf_found; +} GetPixbufBoxData; + +static gboolean +get_pixbuf_foreach (GtkCellRenderer *renderer, + const GdkRectangle *cell_area, + const GdkRectangle *cell_background, + GetPixbufBoxData *data) +{ + if (GTK_IS_CELL_RENDERER_PIXBUF (renderer)) + { + data->box = *cell_area; + data->pixbuf_found = TRUE; + } + return (data->pixbuf_found != FALSE); +} + static gboolean get_pixbuf_box (GtkIconView *icon_view, GtkIconViewItem *item, GdkRectangle *box) { - GList *l; + GetPixbufBoxData data = { { 0, }, FALSE }; + GdkRectangle cell_area; - for (l = icon_view->priv->cell_list; l; l = l->next) + gtk_icon_view_set_cell_data (icon_view, item); + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), + &cell_area, &cell_area, + (GtkCellAllocCallback)get_pixbuf_foreach, &data); + + return data.pixbuf_found; +} + +static gboolean +get_text_foreach (GtkCellRenderer *renderer, + gchar **text) +{ + if (GTK_IS_CELL_RENDERER_TEXT (renderer)) { - GtkIconViewCellInfo *info = l->data; - - if (GTK_IS_CELL_RENDERER_PIXBUF (info->cell)) - { - gtk_icon_view_get_cell_box (icon_view, item, info, box); + g_object_get (renderer, "text", text, NULL); - return TRUE; - } + return TRUE; } - return FALSE; } @@ -7971,22 +7142,13 @@ static gchar * get_text (GtkIconView *icon_view, GtkIconViewItem *item) { - GList *l; - gchar *text; + gchar *text = NULL; - for (l = icon_view->priv->cell_list; l; l = l->next) - { - GtkIconViewCellInfo *info = l->data; - - if (GTK_IS_CELL_RENDERER_TEXT (info->cell)) - { - g_object_get (info->cell, "text", &text, NULL); - - return text; - } - } + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_foreach (icon_view->priv->cell_area, + (GtkCellCallback)get_text_foreach, &text); - return NULL; + return text; } static void @@ -8737,7 +7899,7 @@ gtk_icon_view_item_accessible_grab_focus (AtkComponent *component) return FALSE; gtk_widget_grab_focus (item->widget); - gtk_icon_view_set_cursor_item (GTK_ICON_VIEW (item->widget), item->item, -1); + gtk_icon_view_set_cursor_item (GTK_ICON_VIEW (item->widget), item->item, NULL); toplevel = gtk_widget_get_toplevel (GTK_WIDGET (item->widget)); if (gtk_widget_is_toplevel (toplevel)) gtk_window_present (GTK_WINDOW (toplevel)); @@ -9199,7 +8361,6 @@ gtk_icon_view_accessible_ref_child (AtkObject *accessible, a11y_item->widget = widget; a11y_item->text_buffer = gtk_text_buffer_new (NULL); - gtk_icon_view_set_cell_data (icon_view, item); text = get_text (icon_view, item); if (text) { @@ -9342,7 +8503,6 @@ gtk_icon_view_accessible_model_row_changed (GtkTreeModel *tree_model, if (!name || strcmp (name, "") == 0) { - gtk_icon_view_set_cell_data (icon_view, item); text = get_text (icon_view, item); if (text) { From c77abe1f832f06962a892db561e6d1ca4d8440e5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 19:59:41 +0900 Subject: [PATCH 1213/1463] Committing working version of GtkIconView using GtkCellArea. Some things still not sorted out, GtkCellAreaContext is not allocated so icons dont recieve alignments yet, focus navigation is not exactly what it used to be (maybe we can work around that by observing the item orientation and explicitly setting focus to the same cell when navigating in the wrong orientation). --- gtk/gtkiconview.c | 436 +++++++++++++++++++++------------------------- 1 file changed, 201 insertions(+), 235 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 952388de40..282f9aba87 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -97,6 +97,11 @@ struct _GtkIconViewPrivate GtkCellArea *cell_area; GtkCellAreaContext *cell_area_context; + gulong add_editable_id; + gulong remove_editable_id; + gulong focus_changed_id; + gulong context_changed_id; + gint width, height; GtkSelectionMode selection_mode; @@ -114,7 +119,6 @@ struct _GtkIconViewPrivate guint layout_idle_id; - gboolean doing_rubberband; gint rubberband_x1, rubberband_y1; gint rubberband_x2, rubberband_y2; GdkDevice *rubberband_device; @@ -125,8 +129,6 @@ struct _GtkIconViewPrivate GtkIconViewItem *anchor_item; GtkIconViewItem *cursor_item; - GtkIconViewItem *edited_item; - GtkCellEditable *editable; GtkIconViewItem *last_single_clicked; @@ -144,8 +146,8 @@ struct _GtkIconViewPrivate gint markup_column; gint pixbuf_column; - gint pixbuf_cell; - gint text_cell; + GtkCellRenderer *pixbuf_cell; + GtkCellRenderer *text_cell; gint tooltip_column; @@ -181,6 +183,9 @@ struct _GtkIconViewPrivate * driving the scrollable adjustment values */ guint hscroll_policy : 1; guint vscroll_policy : 1; + + guint doing_rubberband : 1; + }; /* Signals */ @@ -371,19 +376,21 @@ static GtkCellArea *gtk_icon_view_cell_layout_get_area (GtkCel static void gtk_icon_view_item_selected_changed (GtkIconView *icon_view, GtkIconViewItem *item); -static void gtk_icon_view_put (GtkIconView *icon_view, - GtkWidget *widget, - gint x, - gint y, - gint width, - gint height); -static void gtk_icon_view_remove_widget (GtkCellEditable *editable, + +static void gtk_icon_view_add_editable (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable, + GdkRectangle *cell_area, + const gchar *path, + GtkIconView *icon_view); +static void gtk_icon_view_remove_editable (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable, + GtkIconView *icon_view); +static void gtk_icon_view_focus_changed (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *path, GtkIconView *icon_view); -static void gtk_icon_view_start_editing (GtkIconView *icon_view, - GtkIconViewItem *item, - GdkEvent *event); -static void gtk_icon_view_stop_editing (GtkIconView *icon_view, - gboolean cancel_editing); /* Source side drag signals */ static void gtk_icon_view_drag_begin (GtkWidget *widget, @@ -1067,8 +1074,8 @@ gtk_icon_view_init (GtkIconView *icon_view) icon_view->priv->text_column = -1; icon_view->priv->markup_column = -1; icon_view->priv->pixbuf_column = -1; - icon_view->priv->text_cell = -1; - icon_view->priv->pixbuf_cell = -1; + icon_view->priv->text_cell = NULL; + icon_view->priv->pixbuf_cell = NULL; icon_view->priv->tooltip_column = -1; gtk_widget_set_can_focus (GTK_WIDGET (icon_view), TRUE); @@ -1115,8 +1122,17 @@ gtk_icon_view_constructor (GType type, priv->cell_area_context = gtk_cell_area_create_context (priv->cell_area); - return object; + priv->add_editable_id = + g_signal_connect (priv->cell_area, "add-editable", + G_CALLBACK (gtk_icon_view_add_editable), icon_view); + priv->remove_editable_id = + g_signal_connect (priv->cell_area, "remove-editable", + G_CALLBACK (gtk_icon_view_remove_editable), icon_view); + priv->focus_changed_id = + g_signal_connect (priv->cell_area, "focus-changed", + G_CALLBACK (gtk_icon_view_focus_changed), icon_view); + return object; } static void @@ -1136,6 +1152,13 @@ gtk_icon_view_dispose (GObject *object) if (priv->cell_area) { + g_signal_handler_disconnect (priv->cell_area, priv->add_editable_id); + g_signal_handler_disconnect (priv->cell_area, priv->remove_editable_id); + g_signal_handler_disconnect (priv->cell_area, priv->focus_changed_id); + priv->add_editable_id = 0; + priv->remove_editable_id = 0; + priv->focus_changed_id = 0; + g_object_unref (priv->cell_area); priv->cell_area = NULL; } @@ -1322,7 +1345,7 @@ gtk_icon_view_destroy (GtkWidget *widget) { GtkIconView *icon_view = GTK_ICON_VIEW (widget); - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_set_model (icon_view, NULL); @@ -1795,23 +1818,24 @@ gtk_icon_view_item_selected_changed (GtkIconView *icon_view, } } -static void -gtk_icon_view_put (GtkIconView *icon_view, - GtkWidget *widget, - gint x, - gint y, - gint width, - gint height) +static void +gtk_icon_view_add_editable (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable, + GdkRectangle *cell_area, + const gchar *path, + GtkIconView *icon_view) { GtkIconViewChild *child; + GtkWidget *widget = GTK_WIDGET (editable); child = g_new (GtkIconViewChild, 1); child->widget = widget; - child->area.x = x; - child->area.y = y; - child->area.width = width; - child->area.height = height; + child->area.x = cell_area->x; + child->area.y = cell_area->y; + child->area.width = cell_area->width; + child->area.height = cell_area->height; icon_view->priv->children = g_list_append (icon_view->priv->children, child); @@ -1822,68 +1846,31 @@ gtk_icon_view_put (GtkIconView *icon_view, } static void -gtk_icon_view_remove_widget (GtkCellEditable *editable, - GtkIconView *icon_view) +gtk_icon_view_remove_editable (GtkCellArea *area, + GtkCellRenderer *renderer, + GtkCellEditable *editable, + GtkIconView *icon_view) { - GtkIconViewItem *item; - - if (icon_view->priv->edited_item == NULL) - return; - - item = icon_view->priv->edited_item; - icon_view->priv->edited_item = NULL; - icon_view->priv->editable = NULL; + GtkTreePath *path; if (gtk_widget_has_focus (GTK_WIDGET (editable))) gtk_widget_grab_focus (GTK_WIDGET (icon_view)); - g_signal_handlers_disconnect_by_func (editable, - gtk_icon_view_remove_widget, - icon_view); - gtk_container_remove (GTK_CONTAINER (icon_view), GTK_WIDGET (editable)); - gtk_icon_view_queue_draw_item (icon_view, item); -} - - -static void -gtk_icon_view_start_editing (GtkIconView *icon_view, - GtkIconViewItem *item, - GdkEvent *event) -{ - GdkRectangle cell_area; - GtkIconViewPrivate *priv = icon_view->priv; - - gtk_icon_view_set_cell_data (icon_view, item); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - gtk_cell_area_activate (priv->cell_area, priv->cell_area_context, - GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */); + path = gtk_tree_path_new_from_string (gtk_cell_area_get_current_path_string (area)); + gtk_icon_view_queue_draw_path (icon_view, path); + gtk_tree_path_free (path); } static void -gtk_icon_view_stop_editing (GtkIconView *icon_view, - gboolean cancel_editing) +gtk_icon_view_focus_changed (GtkCellArea *area, + GtkCellRenderer *renderer, + const gchar *path, + GtkIconView *icon_view) { - GtkCellRenderer *cell = NULL; - GtkIconViewItem *item; - GList *l; - - if (icon_view->priv->edited_item == NULL) - return; - - /* - * This is very evil. We need to do this, because - * gtk_cell_editable_editing_done may trigger gtk_icon_view_row_changed - * later on. If gtk_icon_view_row_changed notices - * icon_view->priv->edited_item != NULL, it'll call - * gtk_icon_view_stop_editing again. Bad things will happen then. - * - * Please read that again if you intend to modify anything here. - */ - - /* XXX replace this with add-editable/remove-editable apis */ + /* XXX Update cursor item for focus path here */ } /** @@ -1917,7 +1904,7 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, g_return_if_fail (path != NULL); g_return_if_fail (cell == NULL || GTK_IS_CELL_RENDERER (cell)); - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); if (gtk_tree_path_get_depth (path) == 1) item = g_list_nth_data (icon_view->priv->items, @@ -1930,7 +1917,15 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, gtk_icon_view_scroll_to_path (icon_view, path, FALSE, 0.0, 0.0); if (start_editing) - gtk_icon_view_start_editing (icon_view, item, NULL); + { + GdkRectangle cell_area; + + gtk_icon_view_set_cell_data (icon_view, item); + gtk_icon_view_get_cell_area (icon_view, item, &cell_area); + gtk_cell_area_activate (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */, TRUE); + } } /** @@ -2066,16 +2061,16 @@ gtk_icon_view_button_press (GtkWidget *widget, icon_view->priv->last_single_clicked = item; /* cancel the current editing, if it exists */ - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); - if (cell != NULL) + if (cell != NULL && gtk_cell_renderer_is_activatable (cell)) { gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_activate (icon_view->priv->cell_area, icon_view->priv->cell_area_context, GTK_WIDGET (icon_view), - &cell_area, 0/* XXX flags */); + &cell_area, 0/* XXX flags */, FALSE); } } else @@ -2422,7 +2417,7 @@ gtk_icon_view_real_activate_cursor_item (GtkIconView *icon_view) gtk_icon_view_get_cell_area (icon_view, icon_view->priv->cursor_item, &cell_area); activated = gtk_cell_area_activate (icon_view->priv->cell_area, icon_view->priv->cell_area_context, - GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */); + GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */, FALSE); path = gtk_tree_path_new_from_indices (icon_view->priv->cursor_item->index, -1); gtk_icon_view_item_activated (icon_view, path); @@ -2742,10 +2737,13 @@ gtk_icon_view_layout (GtkIconView *icon_view) item_width = icon_view->priv->item_width; - /* Fetch the new item width */ + /* Update the context widths for any invalidated + * items */ + gtk_icon_view_cache_widths (icon_view); + + /* Fetch the new item width if needed */ if (item_width < 0) { - gtk_icon_view_cache_widths (icon_view); gtk_cell_area_context_get_preferred_width (icon_view->priv->cell_area_context, &item_width, NULL); item_width += icon_view->priv->item_padding * 2; @@ -2831,14 +2829,17 @@ gtk_icon_view_cache_widths (GtkIconView *icon_view) { GtkIconViewItem *item = items->data; - gtk_icon_view_set_cell_data (icon_view, item); - gtk_cell_area_get_preferred_width (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, - GTK_WIDGET (icon_view), NULL, NULL); + /* Only fetch the width of items with invalidated sizes */ + if (item->width < 0) + { + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_get_preferred_width (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), NULL, NULL); + } } } - static void gtk_icon_view_invalidate_sizes (GtkIconView *icon_view) { @@ -2899,17 +2900,18 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, x, y, item->width, item->height); } - - cell_area.x = x - item->x; - cell_area.y = y - item->y; + + cell_area.x = x; + cell_area.y = y; cell_area.width = item->width; cell_area.height = item->height; + if (gtk_widget_has_focus (widget) && item == icon_view->priv->cursor_item) + flags |= GTK_CELL_RENDERER_FOCUSED; + gtk_cell_area_render (priv->cell_area, priv->cell_area_context, widget, cr, &cell_area, &cell_area, flags, - draw_focus && - gtk_widget_has_focus (widget) && - item == icon_view->priv->cursor_item); + draw_focus); } static void @@ -3060,9 +3062,9 @@ gtk_icon_view_item_new (void) { GtkIconViewItem *item; - item = g_new0 (GtkIconViewItem, 1); + item = g_slice_new0 (GtkIconViewItem); - item->width = -1; + item->width = -1; item->height = -1; return item; @@ -3073,10 +3075,9 @@ gtk_icon_view_item_free (GtkIconViewItem *item) { g_return_if_fail (item != NULL); - g_free (item); + g_slice_free (GtkIconViewItem, item); } - static GtkIconViewItem * gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, gint x, @@ -3093,21 +3094,26 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, { GtkIconViewItem *item = items->data; - if (x >= item->x - icon_view->priv->column_spacing/2 && x <= item->x + item->width + icon_view->priv->column_spacing/2 && - y >= item->y - icon_view->priv->row_spacing/2 && y <= item->y + item->height + icon_view->priv->row_spacing/2) + if (x >= item->x - icon_view->priv->column_spacing/2 && + x <= item->x + item->width + icon_view->priv->column_spacing/2 && + y >= item->y - icon_view->priv->row_spacing/2 && + y <= item->y + item->height + icon_view->priv->row_spacing/2) { if (only_in_cell || cell_at_pos) { GdkRectangle cell_area; - GtkCellRenderer *cell; + GtkCellRenderer *cell = NULL; gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - cell = gtk_cell_area_get_cell_at_position (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, - GTK_WIDGET (icon_view), - &cell_area, - x, y, NULL); + + if (x >= cell_area.x && x <= cell_area.x + cell_area.width && + y >= cell_area.y && y <= cell_area.y + cell_area.height) + cell = gtk_cell_area_get_cell_at_position (icon_view->priv->cell_area, + icon_view->priv->cell_area_context, + GTK_WIDGET (icon_view), + &cell_area, + x, y, NULL); if (cell_at_pos) *cell_at_pos = cell; @@ -3117,11 +3123,9 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, else return item; } - return item; } } - return NULL; } @@ -3203,7 +3207,7 @@ gtk_icon_view_row_changed (GtkTreeModel *model, if (gtk_tree_path_get_depth (path) > 1) return; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); index = gtk_tree_path_get_indices(path)[0]; item = g_list_nth_data (icon_view->priv->items, index); @@ -3281,7 +3285,7 @@ gtk_icon_view_row_deleted (GtkTreeModel *model, list = g_list_nth (icon_view->priv->items, index); item = list->data; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); if (item == icon_view->priv->anchor_item) icon_view->priv->anchor_item = NULL; @@ -3329,7 +3333,7 @@ gtk_icon_view_rows_reordered (GtkTreeModel *model, if (iter != NULL) return; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); length = gtk_tree_model_iter_n_children (model, NULL); @@ -3440,7 +3444,7 @@ gtk_icon_view_real_move_cursor (GtkIconView *icon_view, if (!gtk_widget_has_focus (GTK_WIDGET (icon_view))) return FALSE; - gtk_icon_view_stop_editing (icon_view, FALSE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, FALSE); gtk_widget_grab_focus (GTK_WIDGET (icon_view)); if (gtk_get_current_event_state (&state)) @@ -3609,9 +3613,8 @@ static void gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, gint count) { -#if _I_HAD_A_MILLION_DOLLARS_ GtkIconViewItem *item; - gint cell; + GtkCellRenderer *cell; gboolean dirty = FALSE; gint step; GtkDirectionType direction; @@ -3631,23 +3634,27 @@ gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, list = g_list_last (icon_view->priv->items); item = list ? list->data : NULL; - cell = -1; + + /* Give focus to the first cell initially */ + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_focus (icon_view->priv->cell_area, direction); } else { item = icon_view->priv->cursor_item; - cell = icon_view->priv->cursor_cell; step = count > 0 ? 1 : -1; + + /* Save the current focus cell in case we hit the edge */ + cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area); + while (item) { - cell = find_cell (icon_view, item, cell, - GTK_ORIENTATION_VERTICAL, - step, &count); - if (count == 0) + gtk_icon_view_set_cell_data (icon_view, item); + + if (gtk_cell_area_focus (icon_view->priv->cell_area, direction)) break; item = find_item (icon_view, item, step, 0); - count = count - step; } } @@ -3663,6 +3670,7 @@ gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, GTK_DIR_TAB_FORWARD); } + gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cell); return; } @@ -3672,6 +3680,7 @@ gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; + cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area); gtk_icon_view_set_cursor_item (icon_view, item, cell); if (!icon_view->priv->ctrl_pressed && @@ -3687,7 +3696,6 @@ gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); -#endif } static void @@ -3749,9 +3757,8 @@ static void gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, gint count) { -#if _I_HAD_A_MILLION_DOLLARS_ GtkIconViewItem *item; - gint cell = -1; + GtkCellRenderer *cell = NULL; gboolean dirty = FALSE; gint step; GtkDirectionType direction; @@ -3771,22 +3778,27 @@ gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, list = g_list_last (icon_view->priv->items); item = list ? list->data : NULL; + + /* Give focus to the first cell initially */ + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_focus (icon_view->priv->cell_area, direction); } else { item = icon_view->priv->cursor_item; - cell = icon_view->priv->cursor_cell; step = count > 0 ? 1 : -1; + + /* Save the current focus cell in case we hit the edge */ + cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area); + while (item) { - cell = find_cell (icon_view, item, cell, - GTK_ORIENTATION_HORIZONTAL, - step, &count); - if (count == 0) + gtk_icon_view_set_cell_data (icon_view, item); + + if (gtk_cell_area_focus (icon_view->priv->cell_area, direction)) break; item = find_item (icon_view, item, 0, step); - count = count - step; } } @@ -3802,6 +3814,7 @@ gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, GTK_DIR_TAB_FORWARD); } + gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cell); return; } @@ -3811,6 +3824,7 @@ gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, icon_view->priv->selection_mode != GTK_SELECTION_MULTIPLE) icon_view->priv->anchor_item = item; + cell = gtk_cell_area_get_focus_cell (icon_view->priv->cell_area); gtk_icon_view_set_cursor_item (icon_view, item, cell); if (!icon_view->priv->ctrl_pressed && @@ -3826,7 +3840,6 @@ gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, if (dirty) g_signal_emit (icon_view, icon_view_signals[SELECTION_CHANGED], 0); -#endif } static void @@ -4628,7 +4641,7 @@ gtk_icon_view_set_model (GtkIconView *icon_view, icon_view->priv->scroll_to_path = NULL; } - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); if (model) { @@ -4743,143 +4756,91 @@ gtk_icon_view_get_model (GtkIconView *icon_view) static void update_text_cell (GtkIconView *icon_view) { -#if _I_HAD_A_MILLION_DOLLARS_ - GtkIconViewCellInfo *info; - GList *l; - gint i; - if (icon_view->priv->text_column == -1 && icon_view->priv->markup_column == -1) { - if (icon_view->priv->text_cell != -1) + if (icon_view->priv->text_cell != NULL) { - if (icon_view->priv->pixbuf_cell > icon_view->priv->text_cell) - icon_view->priv->pixbuf_cell--; - - info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->text_cell); - - icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info); - - free_cell_info (info); - - icon_view->priv->n_cells--; - icon_view->priv->text_cell = -1; + gtk_cell_area_remove (icon_view->priv->cell_area, + icon_view->priv->text_cell); + icon_view->priv->text_cell = NULL; } } else { - if (icon_view->priv->text_cell == -1) + if (icon_view->priv->text_cell == NULL) { - GtkCellRenderer *cell = gtk_cell_renderer_text_new (); - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (icon_view), cell, FALSE); - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - info = l->data; - if (info->cell == cell) - { - icon_view->priv->text_cell = i; - break; - } - } + icon_view->priv->text_cell = gtk_cell_renderer_text_new (); + + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (icon_view), icon_view->priv->text_cell, FALSE); } - - info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->text_cell); if (icon_view->priv->markup_column != -1) gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), - info->cell, + icon_view->priv->text_cell, "markup", icon_view->priv->markup_column, NULL); else gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), - info->cell, + icon_view->priv->text_cell, "text", icon_view->priv->text_column, NULL); if (icon_view->priv->item_orientation == GTK_ORIENTATION_VERTICAL) - g_object_set (info->cell, + g_object_set (icon_view->priv->text_cell, "alignment", PANGO_ALIGN_CENTER, "wrap-mode", PANGO_WRAP_WORD_CHAR, "xalign", 0.5, "yalign", 0.0, NULL); else - g_object_set (info->cell, + g_object_set (icon_view->priv->text_cell, "alignment", PANGO_ALIGN_LEFT, "wrap-mode", PANGO_WRAP_WORD_CHAR, "xalign", 0.0, "yalign", 0.5, NULL); } -#endif } static void update_pixbuf_cell (GtkIconView *icon_view) { -#if _I_HAD_A_MILLION_DOLLARS_ - GtkIconViewCellInfo *info; - GList *l; - gint i; - if (icon_view->priv->pixbuf_column == -1) { - if (icon_view->priv->pixbuf_cell != -1) + if (icon_view->priv->pixbuf_cell != NULL) { - if (icon_view->priv->text_cell > icon_view->priv->pixbuf_cell) - icon_view->priv->text_cell--; + gtk_cell_area_remove (icon_view->priv->cell_area, + icon_view->priv->pixbuf_cell); - info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->pixbuf_cell); - - icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info); - - free_cell_info (info); - - icon_view->priv->n_cells--; - icon_view->priv->pixbuf_cell = -1; + icon_view->priv->pixbuf_cell = NULL; } } else { - if (icon_view->priv->pixbuf_cell == -1) + if (icon_view->priv->pixbuf_cell == NULL) { - GtkCellRenderer *cell = gtk_cell_renderer_pixbuf_new (); + icon_view->priv->pixbuf_cell = gtk_cell_renderer_pixbuf_new (); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view), cell, FALSE); - for (l = icon_view->priv->cell_list, i = 0; l; l = l->next, i++) - { - info = l->data; - if (info->cell == cell) - { - icon_view->priv->pixbuf_cell = i; - break; - } - } + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (icon_view), icon_view->priv->pixbuf_cell, FALSE); } - info = g_list_nth_data (icon_view->priv->cell_list, - icon_view->priv->pixbuf_cell); - - gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), - info->cell, - "pixbuf", icon_view->priv->pixbuf_column, - NULL); + gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (icon_view), + icon_view->priv->pixbuf_cell, + "pixbuf", icon_view->priv->pixbuf_column, + NULL); - if (icon_view->priv->item_orientation == GTK_ORIENTATION_VERTICAL) - g_object_set (info->cell, - "xalign", 0.5, - "yalign", 1.0, - NULL); - else - g_object_set (info->cell, - "xalign", 0.0, - "yalign", 0.0, - NULL); + if (icon_view->priv->item_orientation == GTK_ORIENTATION_VERTICAL) + g_object_set (icon_view->priv->pixbuf_cell, + "xalign", 0.5, + "yalign", 1.0, + NULL); + else + g_object_set (icon_view->priv->pixbuf_cell, + "xalign", 0.0, + "yalign", 0.0, + NULL); } -#endif } /** @@ -4915,7 +4876,8 @@ gtk_icon_view_set_text_column (GtkIconView *icon_view, icon_view->priv->text_column = column; } - gtk_icon_view_stop_editing (icon_view, TRUE); + + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); update_text_cell (icon_view); @@ -4978,7 +4940,7 @@ gtk_icon_view_set_markup_column (GtkIconView *icon_view, icon_view->priv->markup_column = column; } - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); update_text_cell (icon_view); @@ -5039,7 +5001,7 @@ gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, icon_view->priv->pixbuf_column = column; } - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); update_pixbuf_cell (icon_view); @@ -5357,7 +5319,11 @@ gtk_icon_view_set_item_orientation (GtkIconView *icon_view, { icon_view->priv->item_orientation = orientation; - gtk_icon_view_stop_editing (icon_view, TRUE); + if (GTK_IS_ORIENTABLE (icon_view->priv->cell_area)) + gtk_orientable_set_orientation (GTK_ORIENTABLE (icon_view->priv->cell_area), + icon_view->priv->item_orientation); + + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); @@ -5410,7 +5376,7 @@ gtk_icon_view_set_columns (GtkIconView *icon_view, { icon_view->priv->columns = columns; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "columns"); @@ -5456,7 +5422,7 @@ gtk_icon_view_set_item_width (GtkIconView *icon_view, { icon_view->priv->item_width = item_width; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); @@ -5506,7 +5472,7 @@ gtk_icon_view_set_spacing (GtkIconView *icon_view, { icon_view->priv->spacing = spacing; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); @@ -5552,7 +5518,7 @@ gtk_icon_view_set_row_spacing (GtkIconView *icon_view, { icon_view->priv->row_spacing = row_spacing; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); @@ -5598,7 +5564,7 @@ gtk_icon_view_set_column_spacing (GtkIconView *icon_view, { icon_view->priv->column_spacing = column_spacing; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); @@ -5645,7 +5611,7 @@ gtk_icon_view_set_margin (GtkIconView *icon_view, { icon_view->priv->margin = margin; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); @@ -5691,7 +5657,7 @@ gtk_icon_view_set_item_padding (GtkIconView *icon_view, { icon_view->priv->item_padding = item_padding; - gtk_icon_view_stop_editing (icon_view, TRUE); + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); gtk_icon_view_queue_layout (icon_view); From e51592c0b353931f58a5fe583c35b2c33e82e570 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 20:37:38 +0900 Subject: [PATCH 1214/1463] Experimenting with allocating the context a different height for each row. --- gtk/gtkiconview.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 282f9aba87..3fa0ba38de 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -136,6 +136,7 @@ struct _GtkIconViewPrivate gint columns; gint item_width; + gint effective_item_width; gint spacing; gint row_spacing; gint column_spacing; @@ -1084,6 +1085,7 @@ gtk_icon_view_init (GtkIconView *icon_view) icon_view->priv->columns = -1; icon_view->priv->item_width = -1; + icon_view->priv->effective_item_width = -1; icon_view->priv->spacing = 0; icon_view->priv->row_spacing = 6; icon_view->priv->column_spacing = 6; @@ -1920,6 +1922,10 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, { GdkRectangle cell_area; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); + gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_activate (icon_view->priv->cell_area, @@ -2065,6 +2071,11 @@ gtk_icon_view_button_press (GtkWidget *widget, if (cell != NULL && gtk_cell_renderer_is_activatable (cell)) { + + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); + gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_activate (icon_view->priv->cell_area, @@ -2344,6 +2355,11 @@ gtk_icon_view_item_hit_test (GtkIconView *icon_view, MIN (y + height, item->y + item->height) - MAX (y, item->y) <= 0) return FALSE; + + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); + gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, @@ -2705,6 +2721,9 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, item->col = col - 1 - item->col; } + /* All items in the same row get the same height */ + item->height = max_height; + /* Adjust the new y coordinate. */ if (item->y + item->height + icon_view->priv->row_spacing > *y) *y = item->y + item->height + icon_view->priv->row_spacing; @@ -2749,6 +2768,10 @@ gtk_icon_view_layout (GtkIconView *icon_view) item_width += icon_view->priv->item_padding * 2; } + icon_view->priv->effective_item_width = item_width; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, -1); + icons = icon_view->priv->items; y += icon_view->priv->margin; row = 0; @@ -2909,6 +2932,10 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, if (gtk_widget_has_focus (widget) && item == icon_view->priv->cursor_item) flags |= GTK_CELL_RENDERER_FOCUSED; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); + gtk_cell_area_render (priv->cell_area, priv->cell_area_context, widget, cr, &cell_area, &cell_area, flags, draw_focus); @@ -3104,6 +3131,10 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, GdkRectangle cell_area; GtkCellRenderer *cell = NULL; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); + gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); @@ -4278,6 +4309,9 @@ gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, { GdkRectangle cell_area; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_icon_view_set_cell_data (icon_view, item); gtk_cell_area_get_cell_allocation (icon_view->priv->cell_area, @@ -7080,6 +7114,10 @@ get_pixbuf_box (GtkIconView *icon_view, GetPixbufBoxData data = { { 0, }, FALSE }; GdkRectangle cell_area; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, + icon_view->priv->effective_item_width, + item->height); + gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, From 2d5eadb7f99f783970db183dff556df027972229 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 12 Dec 2010 20:59:41 +0900 Subject: [PATCH 1215/1463] Alignments with variable row heights almost works perfectly. However, I'm going to have to figure a way to store the alignments for rows separately, this may involve using a separate GtkCellAreaContext for each row, unfortunately. --- gtk/gtkiconview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 3fa0ba38de..38852a234a 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -2682,8 +2682,6 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, current_width += item->width; - max_height = MAX (max_height, item->height); - if (items != first_item) { if ((icon_view->priv->columns <= 0 && current_width > allocation.width) || @@ -2691,6 +2689,8 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, break; } + max_height = MAX (max_height, item->height); + current_width += icon_view->priv->column_spacing; item->y = *y; From a16035883019ff258b2a2c3db4970360aac1db1b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 00:24:26 +0900 Subject: [PATCH 1216/1463] GtkIconView now uses a per-row GtkCellAreaContext to store the alignments of each row. GtkIconView now properly calculates the height of each row separately using a separate GtkCellAreaContext stored in an array which it can always easily index with the item->row index for all purposes. --- gtk/gtkiconview.c | 106 ++++++++++++++++++++++++---------------------- 1 file changed, 56 insertions(+), 50 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 38852a234a..151a63bd78 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -102,6 +102,8 @@ struct _GtkIconViewPrivate gulong focus_changed_id; gulong context_changed_id; + GPtrArray *row_contexts; + gint width, height; GtkSelectionMode selection_mode; @@ -1093,6 +1095,9 @@ gtk_icon_view_init (GtkIconView *icon_view) icon_view->priv->item_padding = 6; icon_view->priv->draw_focus = TRUE; + + icon_view->priv->row_contexts = + g_ptr_array_new_with_free_func ((GDestroyNotify)g_object_unref); } /* GObject methods */ @@ -1152,6 +1157,12 @@ gtk_icon_view_dispose (GObject *object) priv->cell_area_context = NULL; } + if (priv->row_contexts) + { + g_ptr_array_free (priv->row_contexts, TRUE); + priv->row_contexts = NULL; + } + if (priv->cell_area) { g_signal_handler_disconnect (priv->cell_area, priv->add_editable_id); @@ -1921,15 +1932,12 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, if (start_editing) { GdkRectangle cell_area; + GtkCellAreaContext *context; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); - + context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - gtk_cell_area_activate (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + gtk_cell_area_activate (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */, TRUE); } } @@ -2071,15 +2079,13 @@ gtk_icon_view_button_press (GtkWidget *widget, if (cell != NULL && gtk_cell_renderer_is_activatable (cell)) { + GtkCellAreaContext *context; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); + context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - gtk_cell_area_activate (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + gtk_cell_area_activate (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), &cell_area, 0/* XXX flags */, FALSE); } @@ -2350,20 +2356,18 @@ gtk_icon_view_item_hit_test (GtkIconView *icon_view, { GdkRectangle cell_area; HitTestData data = { { x, y, width, height }, FALSE }; - + GtkCellAreaContext *context; + if (MIN (x + width, item->x + item->width) - MAX (x, item->x) <= 0 || MIN (y + height, item->y + item->height) - MAX (y, item->y) <= 0) return FALSE; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); + context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), &cell_area, &cell_area, (GtkCellAllocCallback)hit_test, &data); @@ -2425,14 +2429,16 @@ gtk_icon_view_real_activate_cursor_item (GtkIconView *icon_view) GtkTreePath *path; GdkRectangle cell_area; gboolean activated; + GtkCellAreaContext *context; if (!icon_view->priv->cursor_item) return FALSE; + context = g_ptr_array_index (icon_view->priv->row_contexts, icon_view->priv->cursor_item->row); + gtk_icon_view_set_cell_data (icon_view, icon_view->priv->cursor_item); gtk_icon_view_get_cell_area (icon_view, icon_view->priv->cursor_item, &cell_area); - activated = gtk_cell_area_activate (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + activated = gtk_cell_area_activate (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */, FALSE); path = gtk_tree_path_new_from_indices (icon_view->priv->cursor_item->index, -1); @@ -2646,6 +2652,7 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, gint *maximum_width) { GtkAllocation allocation; + GtkCellAreaContext *context; GtkIconViewPrivate *priv = icon_view->priv; GtkWidget *widget = GTK_WIDGET (icon_view); gint x, current_width; @@ -2666,19 +2673,14 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, gtk_widget_get_allocation (widget, &allocation); + context = gtk_cell_area_copy_context (priv->cell_area, priv->cell_area_context); + items = first_item; while (items) { GtkIconViewItem *item = items->data; - /* Get this item's particular width & height (all alignments are cached by now) */ - gtk_icon_view_set_cell_data (icon_view, item); - gtk_cell_area_get_preferred_height_for_width (priv->cell_area, - priv->cell_area_context, - widget, item_width, - &item->height, NULL); item->width = item_width; - item->height += icon_view->priv->item_padding * 2; current_width += item->width; @@ -2689,7 +2691,12 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, break; } - max_height = MAX (max_height, item->height); + /* Get this item's particular width & height (all alignments are cached by now) */ + gtk_icon_view_set_cell_data (icon_view, item); + gtk_cell_area_get_preferred_height_for_width (priv->cell_area, + context, + widget, item_width, + NULL, NULL); current_width += icon_view->priv->column_spacing; @@ -2710,6 +2717,13 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, last_item = items; + gtk_cell_area_context_get_preferred_height_for_width (context, item_width, &max_height, NULL); + gtk_cell_area_context_allocate (context, item_width, max_height); + + max_height += icon_view->priv->item_padding * 2; + + g_ptr_array_add (priv->row_contexts, context); + /* Now go through the row again and align the icons */ for (items = first_item; items != last_item; items = items->next) { @@ -2769,12 +2783,13 @@ gtk_icon_view_layout (GtkIconView *icon_view) } icon_view->priv->effective_item_width = item_width; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, -1); icons = icon_view->priv->items; y += icon_view->priv->margin; row = 0; + + /* Clear the per row contexts */ + g_ptr_array_set_size (icon_view->priv->row_contexts, 0); do { @@ -2891,6 +2906,7 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, GtkWidget *widget = GTK_WIDGET (icon_view); GtkIconViewPrivate *priv = icon_view->priv; GtkStyle *style; + GtkCellAreaContext *context; if (priv->model == NULL) return; @@ -2932,11 +2948,8 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, if (gtk_widget_has_focus (widget) && item == icon_view->priv->cursor_item) flags |= GTK_CELL_RENDERER_FOCUSED; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); - - gtk_cell_area_render (priv->cell_area, priv->cell_area_context, + context = g_ptr_array_index (priv->row_contexts, item->row); + gtk_cell_area_render (priv->cell_area, context, widget, cr, &cell_area, &cell_area, flags, draw_focus); } @@ -3130,18 +3143,15 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, { GdkRectangle cell_area; GtkCellRenderer *cell = NULL; + GtkCellAreaContext *context; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); - + context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); if (x >= cell_area.x && x <= cell_area.x + cell_area.width && y >= cell_area.y && y <= cell_area.y + cell_area.height) - cell = gtk_cell_area_get_cell_at_position (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + cell = gtk_cell_area_get_cell_at_position (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), &cell_area, x, y, NULL); @@ -4308,14 +4318,12 @@ gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, if (cell) { GdkRectangle cell_area; + GtkCellAreaContext *context; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); + context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_icon_view_set_cell_data (icon_view, item); - gtk_cell_area_get_cell_allocation (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + gtk_cell_area_get_cell_allocation (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), cell, &cell_area, &rect); } @@ -7113,15 +7121,13 @@ get_pixbuf_box (GtkIconView *icon_view, { GetPixbufBoxData data = { { 0, }, FALSE }; GdkRectangle cell_area; + GtkCellAreaContext *context; - gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, - icon_view->priv->effective_item_width, - item->height); + context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, - icon_view->priv->cell_area_context, + gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), &cell_area, &cell_area, (GtkCellAllocCallback)get_pixbuf_foreach, &data); From 01a35e4483ce051a84941373bf21d00c0dbb17bd Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 15:54:02 +0900 Subject: [PATCH 1217/1463] Added gtk_icon_view_new_with_area() --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkiconview.c | 17 +++++++++++++++++ gtk/gtkiconview.h | 2 ++ 4 files changed, 21 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 73c7c9ac8f..3ae7fa8066 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -1621,6 +1621,7 @@ gtk_hseparator_get_type GtkIconView GtkIconViewForeachFunc gtk_icon_view_new +gtk_icon_view_new_with_area gtk_icon_view_new_with_model gtk_icon_view_set_model gtk_icon_view_get_model diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index d423df6e87..476bbeb06c 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1241,6 +1241,7 @@ gtk_icon_view_get_type G_GNUC_CONST gtk_icon_view_get_visible_range gtk_icon_view_item_activated gtk_icon_view_new +gtk_icon_view_new_with_area gtk_icon_view_new_with_model gtk_icon_view_path_is_selected gtk_icon_view_scroll_to_path diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 151a63bd78..5d10704bac 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -4121,6 +4121,23 @@ gtk_icon_view_new (void) return g_object_new (GTK_TYPE_ICON_VIEW, NULL); } +/** + * gtk_icon_view_new_with_area: + * @area: the #GtkCellArea to use to layout cells + * + * Creates a new #GtkIconView widget using the + * specified @area to layout cells inside the icons. + * + * Return value: A newly created #GtkIconView widget + * + * Since: 3.0 + **/ +GtkWidget * +gtk_icon_view_new_with_area (GtkCellArea *area) +{ + return g_object_new (GTK_TYPE_ICON_VIEW, "cell-area", area, NULL); +} + /** * gtk_icon_view_new_with_model: * @model: The model. diff --git a/gtk/gtkiconview.h b/gtk/gtkiconview.h index cf769b6d59..bac6218046 100644 --- a/gtk/gtkiconview.h +++ b/gtk/gtkiconview.h @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -112,6 +113,7 @@ struct _GtkIconViewClass GType gtk_icon_view_get_type (void) G_GNUC_CONST; GtkWidget * gtk_icon_view_new (void); +GtkWidget * gtk_icon_view_new_with_area (GtkCellArea *area); GtkWidget * gtk_icon_view_new_with_model (GtkTreeModel *model); void gtk_icon_view_set_model (GtkIconView *icon_view, From d0f13ae52c6038ce4ad314bbdd4ba03cafcdbfab Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 16:01:58 +0900 Subject: [PATCH 1218/1463] Fixed GtkIconView buildable custom tag end to let cell layout properly handle --- gtk/gtkiconview.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 5d10704bac..3c760c3e82 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -9293,10 +9293,8 @@ gtk_icon_view_buildable_custom_tag_end (GtkBuildable *buildable, const gchar *tagname, gpointer *data) { - if (strcmp (tagname, "attributes") == 0) - _gtk_cell_layout_buildable_custom_tag_end (buildable, builder, child, tagname, - data); - else + if (!_gtk_cell_layout_buildable_custom_tag_end (buildable, builder, + child, tagname, data)) parent_buildable_iface->custom_tag_end (buildable, builder, child, tagname, data); } From 6036c51d523ce2b7bb2f8632c6ae3282c9436392 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 17:41:50 +0900 Subject: [PATCH 1219/1463] Removed gtk_icon_view_get_item_area() Now use a GdkRectangle at the begining of the GtkIconViewItem structure and just re-cast the struct to get the item area. --- gtk/gtkiconview.c | 360 +++++++++++++++++++++------------------------- 1 file changed, 164 insertions(+), 196 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 3c760c3e82..9e3129e594 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -72,14 +72,15 @@ typedef struct _GtkIconViewItem GtkIconViewItem; struct _GtkIconViewItem { + /* First member is always the rectangle so it + * can be cast to a rectangle. */ + GdkRectangle cell_area; + GtkTreeIter iter; gint index; gint row, col; - /* Bounding box */ - gint x, y, width, height; - guint selected : 1; guint selected_before_rubberbanding : 1; @@ -99,7 +100,6 @@ struct _GtkIconViewPrivate gulong add_editable_id; gulong remove_editable_id; - gulong focus_changed_id; gulong context_changed_id; GPtrArray *row_contexts; @@ -138,7 +138,6 @@ struct _GtkIconViewPrivate gint columns; gint item_width; - gint effective_item_width; gint spacing; gint row_spacing; gint column_spacing; @@ -369,9 +368,6 @@ static GtkIconViewItem * gtk_icon_view_get_item_at_coords (GtkIco gint y, gboolean only_in_cell, GtkCellRenderer **cell_at_pos); -static void gtk_icon_view_get_cell_area (GtkIconView *icon_view, - GtkIconViewItem *item, - GdkRectangle *cell_area); static void gtk_icon_view_set_cell_data (GtkIconView *icon_view, GtkIconViewItem *item); @@ -390,10 +386,6 @@ static void gtk_icon_view_remove_editable (GtkCel GtkCellRenderer *renderer, GtkCellEditable *editable, GtkIconView *icon_view); -static void gtk_icon_view_focus_changed (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *path, - GtkIconView *icon_view); /* Source side drag signals */ static void gtk_icon_view_drag_begin (GtkWidget *widget, @@ -1087,7 +1079,6 @@ gtk_icon_view_init (GtkIconView *icon_view) icon_view->priv->columns = -1; icon_view->priv->item_width = -1; - icon_view->priv->effective_item_width = -1; icon_view->priv->spacing = 0; icon_view->priv->row_spacing = 6; icon_view->priv->column_spacing = 6; @@ -1135,9 +1126,6 @@ gtk_icon_view_constructor (GType type, priv->remove_editable_id = g_signal_connect (priv->cell_area, "remove-editable", G_CALLBACK (gtk_icon_view_remove_editable), icon_view); - priv->focus_changed_id = - g_signal_connect (priv->cell_area, "focus-changed", - G_CALLBACK (gtk_icon_view_focus_changed), icon_view); return object; } @@ -1167,10 +1155,8 @@ gtk_icon_view_dispose (GObject *object) { g_signal_handler_disconnect (priv->cell_area, priv->add_editable_id); g_signal_handler_disconnect (priv->cell_area, priv->remove_editable_id); - g_signal_handler_disconnect (priv->cell_area, priv->focus_changed_id); priv->add_editable_id = 0; priv->remove_editable_id = 0; - priv->focus_changed_id = 0; g_object_unref (priv->cell_area); priv->cell_area = NULL; @@ -1616,16 +1602,22 @@ gtk_icon_view_draw (GtkWidget *widget, for (icons = icon_view->priv->items; icons; icons = icons->next) { GtkIconViewItem *item = icons->data; + GdkRectangle paint_area; + + paint_area.x = ((GdkRectangle *)item)->x - icon_view->priv->item_padding; + paint_area.y = ((GdkRectangle *)item)->y - icon_view->priv->item_padding; + paint_area.width = ((GdkRectangle *)item)->width + icon_view->priv->item_padding * 2; + paint_area.height = ((GdkRectangle *)item)->height + icon_view->priv->item_padding * 2; cairo_save (cr); - cairo_rectangle (cr, item->x, item->y, item->width, item->height); + cairo_rectangle (cr, paint_area.x, paint_area.y, paint_area.width, paint_area.height); cairo_clip (cr); if (gdk_cairo_get_clip_rectangle (cr, NULL)) { gtk_icon_view_paint_item (icon_view, cr, item, - item->x, item->y, + ((GdkRectangle *)item)->x, ((GdkRectangle *)item)->y, icon_view->priv->draw_focus); if (dest_index == item->index) @@ -1646,49 +1638,36 @@ gtk_icon_view_draw (GtkWidget *widget, switch (dest_pos) { case GTK_ICON_VIEW_DROP_INTO: - gtk_paint_focus (style, - cr, - state, - widget, - "iconview-drop-indicator", - dest_item->x, dest_item->y, - dest_item->width, dest_item->height); + gtk_paint_focus (style, cr, state, widget, + "iconview-drop-indicator", + dest_item->cell_area.x, dest_item->cell_area.y, + dest_item->cell_area.width, dest_item->cell_area.height); break; case GTK_ICON_VIEW_DROP_ABOVE: - gtk_paint_focus (style, - cr, - state, - widget, - "iconview-drop-indicator", - dest_item->x, dest_item->y - 1, - dest_item->width, 2); + gtk_paint_focus (style, cr, state, widget, + "iconview-drop-indicator", + dest_item->cell_area.x, dest_item->cell_area.y - 1, + dest_item->cell_area.width, 2); break; case GTK_ICON_VIEW_DROP_LEFT: - gtk_paint_focus (style, - cr, - state, - widget, - "iconview-drop-indicator", - dest_item->x - 1, dest_item->y, - 2, dest_item->height); + gtk_paint_focus (style, cr, state, widget, + "iconview-drop-indicator", + dest_item->cell_area.x - 1, dest_item->cell_area.y, + 2, dest_item->cell_area.height); break; case GTK_ICON_VIEW_DROP_BELOW: - gtk_paint_focus (style, - cr, - state, - widget, - "iconview-drop-indicator", - dest_item->x, dest_item->y + dest_item->height - 1, - dest_item->width, 2); + gtk_paint_focus (style, cr, state, widget, + "iconview-drop-indicator", + dest_item->cell_area.x, + dest_item->cell_area.y + dest_item->cell_area.height - 1, + dest_item->cell_area.width, 2); break; case GTK_ICON_VIEW_DROP_RIGHT: - gtk_paint_focus (style, - cr, - state, - widget, - "iconview-drop-indicator", - dest_item->x + dest_item->width - 1, dest_item->y, - 2, dest_item->height); + gtk_paint_focus (style, cr, state, widget, + "iconview-drop-indicator", + dest_item->cell_area.x + dest_item->cell_area.width - 1, + dest_item->cell_area.y, + 2, dest_item->cell_area.height); case GTK_ICON_VIEW_NO_DROP: ; break; } @@ -1877,15 +1856,6 @@ gtk_icon_view_remove_editable (GtkCellArea *area, gtk_tree_path_free (path); } -static void -gtk_icon_view_focus_changed (GtkCellArea *area, - GtkCellRenderer *renderer, - const gchar *path, - GtkIconView *icon_view) -{ - /* XXX Update cursor item for focus path here */ -} - /** * gtk_icon_view_set_cursor: * @icon_view: A #GtkIconView @@ -1931,14 +1901,13 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, if (start_editing) { - GdkRectangle cell_area; GtkCellAreaContext *context; context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_activate (icon_view->priv->cell_area, context, - GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */, TRUE); + GTK_WIDGET (icon_view), (GdkRectangle *)item, + 0 /* XXX flags */, TRUE); } } @@ -1991,7 +1960,6 @@ gtk_icon_view_button_press (GtkWidget *widget, GtkIconViewItem *item; gboolean dirty = FALSE; GtkCellRenderer *cell = NULL, *cursor_cell = NULL; - GdkRectangle cell_area; icon_view = GTK_ICON_VIEW (widget); @@ -2084,10 +2052,9 @@ gtk_icon_view_button_press (GtkWidget *widget, context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_activate (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), - &cell_area, 0/* XXX flags */, FALSE); + (GdkRectangle *)item, 0/* XXX flags */, FALSE); } } else @@ -2354,22 +2321,20 @@ gtk_icon_view_item_hit_test (GtkIconView *icon_view, gint width, gint height) { - GdkRectangle cell_area; HitTestData data = { { x, y, width, height }, FALSE }; GtkCellAreaContext *context; + GdkRectangle *item_area = (GdkRectangle *)item; - if (MIN (x + width, item->x + item->width) - MAX (x, item->x) <= 0 || - MIN (y + height, item->y + item->height) - MAX (y, item->y) <= 0) + if (MIN (x + width, item_area->x + item_area->width) - MAX (x, item_area->x) <= 0 || + MIN (y + height, item_area->y + item_area->height) - MAX (y, item_area->y) <= 0) return FALSE; - context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), - &cell_area, &cell_area, + item_area, item_area, (GtkCellAllocCallback)hit_test, &data); return data.hit; @@ -2427,7 +2392,6 @@ static gboolean gtk_icon_view_real_activate_cursor_item (GtkIconView *icon_view) { GtkTreePath *path; - GdkRectangle cell_area; gboolean activated; GtkCellAreaContext *context; @@ -2437,9 +2401,10 @@ gtk_icon_view_real_activate_cursor_item (GtkIconView *icon_view) context = g_ptr_array_index (icon_view->priv->row_contexts, icon_view->priv->cursor_item->row); gtk_icon_view_set_cell_data (icon_view, icon_view->priv->cursor_item); - gtk_icon_view_get_cell_area (icon_view, icon_view->priv->cursor_item, &cell_area); activated = gtk_cell_area_activate (icon_view->priv->cell_area, context, - GTK_WIDGET (icon_view), &cell_area, 0 /* XXX flags */, FALSE); + GTK_WIDGET (icon_view), + (GdkRectangle *)icon_view->priv->cursor_item, + 0 /* XXX flags */, FALSE); path = gtk_tree_path_new_from_indices (icon_view->priv->cursor_item->index, -1); gtk_icon_view_item_activated (icon_view, path); @@ -2674,15 +2639,19 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, gtk_widget_get_allocation (widget, &allocation); context = gtk_cell_area_copy_context (priv->cell_area, priv->cell_area_context); + g_ptr_array_add (priv->row_contexts, context); + /* In the first loop we iterate horizontally until we hit allocation width + * and collect the aligned height-for-width */ items = first_item; while (items) { GtkIconViewItem *item = items->data; + GdkRectangle *item_area = (GdkRectangle *)item; - item->width = item_width; + item_area->width = item_width; - current_width += item->width; + current_width += item_area->width + icon_view->priv->item_padding * 2; if (items != first_item) { @@ -2700,8 +2669,8 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, current_width += icon_view->priv->column_spacing; - item->y = *y; - item->x = x; + item_area->y = *y + icon_view->priv->item_padding; + item_area->x = x + icon_view->priv->item_padding; x = current_width - icon_view->priv->margin; @@ -2720,28 +2689,25 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, gtk_cell_area_context_get_preferred_height_for_width (context, item_width, &max_height, NULL); gtk_cell_area_context_allocate (context, item_width, max_height); - max_height += icon_view->priv->item_padding * 2; - - g_ptr_array_add (priv->row_contexts, context); - - /* Now go through the row again and align the icons */ + /* In the second loop the item height has been aligned and derived and + * we just set the height and handle rtl layout */ for (items = first_item; items != last_item; items = items->next) { GtkIconViewItem *item = items->data; + GdkRectangle *item_area = (GdkRectangle *)item; if (rtl) { - item->x = *maximum_width - item->width - item->x; + item_area->x = *maximum_width - item_area->width - item_area->x; item->col = col - 1 - item->col; } /* All items in the same row get the same height */ - item->height = max_height; - - /* Adjust the new y coordinate. */ - if (item->y + item->height + icon_view->priv->row_spacing > *y) - *y = item->y + item->height + icon_view->priv->row_spacing; + item_area->height = max_height; } + + /* Adjust the new y coordinate. */ + *y += max_height + icon_view->priv->row_spacing + icon_view->priv->item_padding * 2; return last_item; } @@ -2776,13 +2742,10 @@ gtk_icon_view_layout (GtkIconView *icon_view) /* Fetch the new item width if needed */ if (item_width < 0) - { - gtk_cell_area_context_get_preferred_width (icon_view->priv->cell_area_context, - &item_width, NULL); - item_width += icon_view->priv->item_padding * 2; - } + gtk_cell_area_context_get_preferred_width (icon_view->priv->cell_area_context, + &item_width, NULL); - icon_view->priv->effective_item_width = item_width; + gtk_cell_area_context_allocate (icon_view->priv->cell_area_context, item_width, -1); icons = icon_view->priv->items; y += icon_view->priv->margin; @@ -2844,17 +2807,6 @@ gtk_icon_view_layout (GtkIconView *icon_view) gtk_widget_queue_draw (widget); } -static void -gtk_icon_view_get_cell_area (GtkIconView *icon_view, - GtkIconViewItem *item, - GdkRectangle *cell_area) -{ - cell_area->x = item->x + icon_view->priv->item_padding; - cell_area->width = item->width - icon_view->priv->item_padding * 2; - cell_area->y = item->y + icon_view->priv->item_padding; - cell_area->height = item->height - icon_view->priv->item_padding * 2; -} - /* This ensures that all widths have been cached in the * context and we have proper alignments to go on. */ @@ -2868,7 +2820,7 @@ gtk_icon_view_cache_widths (GtkIconView *icon_view) GtkIconViewItem *item = items->data; /* Only fetch the width of items with invalidated sizes */ - if (item->width < 0) + if (item->cell_area.width < 0) { gtk_icon_view_set_cell_data (icon_view, item); gtk_cell_area_get_preferred_width (icon_view->priv->cell_area, @@ -2888,8 +2840,8 @@ gtk_icon_view_invalidate_sizes (GtkIconView *icon_view) static void gtk_icon_view_item_invalidate_size (GtkIconViewItem *item) { - item->width = -1; - item->height = -1; + item->cell_area.width = -1; + item->cell_area.height = -1; } static void @@ -2936,14 +2888,16 @@ gtk_icon_view_paint_item (GtkIconView *icon_view, GTK_SHADOW_NONE, GTK_WIDGET (icon_view), "icon_view_item", - x, y, - item->width, item->height); + x - icon_view->priv->item_padding, + y - icon_view->priv->item_padding, + item->cell_area.width + icon_view->priv->item_padding * 2, + item->cell_area.height + icon_view->priv->item_padding * 2); } cell_area.x = x; cell_area.y = y; - cell_area.width = item->width; - cell_area.height = item->height; + cell_area.width = item->cell_area.width; + cell_area.height = item->cell_area.height; if (gtk_widget_has_focus (widget) && item == icon_view->priv->cursor_item) flags |= GTK_CELL_RENDERER_FOCUSED; @@ -3019,12 +2973,13 @@ static void gtk_icon_view_queue_draw_item (GtkIconView *icon_view, GtkIconViewItem *item) { - GdkRectangle rect; + GdkRectangle rect; + GdkRectangle *item_area = (GdkRectangle *)item; - rect.x = item->x; - rect.y = item->y; - rect.width = item->width; - rect.height = item->height; + rect.x = item_area->x - icon_view->priv->item_padding; + rect.y = item_area->y - icon_view->priv->item_padding; + rect.width = item_area->width + icon_view->priv->item_padding * 2; + rect.height = item_area->height + icon_view->priv->item_padding * 2; if (icon_view->priv->bin_window) gdk_window_invalidate_rect (icon_view->priv->bin_window, &rect, TRUE); @@ -3104,8 +3059,8 @@ gtk_icon_view_item_new (void) item = g_slice_new0 (GtkIconViewItem); - item->width = -1; - item->height = -1; + item->cell_area.width = -1; + item->cell_area.height = -1; return item; } @@ -3133,27 +3088,26 @@ gtk_icon_view_get_item_at_coords (GtkIconView *icon_view, for (items = icon_view->priv->items; items; items = items->next) { GtkIconViewItem *item = items->data; + GdkRectangle *item_area = (GdkRectangle *)item; - if (x >= item->x - icon_view->priv->column_spacing/2 && - x <= item->x + item->width + icon_view->priv->column_spacing/2 && - y >= item->y - icon_view->priv->row_spacing/2 && - y <= item->y + item->height + icon_view->priv->row_spacing/2) + if (x >= item_area->x - icon_view->priv->column_spacing/2 && + x <= item_area->x + item_area->width + icon_view->priv->column_spacing/2 && + y >= item_area->y - icon_view->priv->row_spacing/2 && + y <= item_area->y + item_area->height + icon_view->priv->row_spacing/2) { if (only_in_cell || cell_at_pos) { - GdkRectangle cell_area; GtkCellRenderer *cell = NULL; GtkCellAreaContext *context; context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); - if (x >= cell_area.x && x <= cell_area.x + cell_area.width && - y >= cell_area.y && y <= cell_area.y + cell_area.height) + if (x >= item_area->x && x <= item_area->x + item_area->width && + y >= item_area->y && y <= item_area->y + item_area->height) cell = gtk_cell_area_get_cell_at_position (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), - &cell_area, + item_area, x, y, NULL); if (cell_at_pos) @@ -3558,7 +3512,7 @@ find_item_page_up_down (GtkIconView *icon_view, gint y, col; col = current->col; - y = current->y + count * gtk_adjustment_get_page_size (icon_view->priv->vadjustment); + y = current->cell_area.y + count * gtk_adjustment_get_page_size (icon_view->priv->vadjustment); item = g_list_find (icon_view->priv->items, current); if (count > 0) @@ -3570,7 +3524,7 @@ find_item_page_up_down (GtkIconView *icon_view, if (((GtkIconViewItem *)next->data)->col == col) break; } - if (!next || ((GtkIconViewItem *)next->data)->y > y) + if (!next || ((GtkIconViewItem *)next->data)->cell_area.y > y) break; item = next; @@ -3585,7 +3539,7 @@ find_item_page_up_down (GtkIconView *icon_view, if (((GtkIconViewItem *)next->data)->col == col) break; } - if (!next || ((GtkIconViewItem *)next->data)->y < y) + if (!next || ((GtkIconViewItem *)next->data)->cell_area.y < y) break; item = next; @@ -3976,7 +3930,7 @@ gtk_icon_view_scroll_to_path (GtkIconView *icon_view, item = g_list_nth_data (icon_view->priv->items, gtk_tree_path_get_indices(path)[0]); - if (!item || item->width < 0 || + if (!item || item->cell_area.width < 0 || !gtk_widget_get_realized (widget)) { if (icon_view->priv->scroll_to_path) @@ -3998,23 +3952,25 @@ gtk_icon_view_scroll_to_path (GtkIconView *icon_view, { GtkAllocation allocation; gint x, y; - gint focus_width; gfloat offset; + GdkRectangle item_area = + { + item->cell_area.x - icon_view->priv->item_padding, + item->cell_area.y - icon_view->priv->item_padding, + item->cell_area.width + icon_view->priv->item_padding * 2, + item->cell_area.height + icon_view->priv->item_padding * 2 + }; - gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - NULL); - gdk_window_get_position (icon_view->priv->bin_window, &x, &y); gtk_widget_get_allocation (widget, &allocation); - offset = y + item->y - focus_width - row_align * (allocation.height - item->height); + offset = y + item_area.y - row_align * (allocation.height - item_area.height); gtk_adjustment_set_value (icon_view->priv->vadjustment, gtk_adjustment_get_value (icon_view->priv->vadjustment) + offset); - offset = x + item->x - focus_width - col_align * (allocation.width - item->width); + offset = x + item_area.x - col_align * (allocation.width - item_area.width); gtk_adjustment_set_value (icon_view->priv->hadjustment, gtk_adjustment_get_value (icon_view->priv->hadjustment) + offset); @@ -4034,11 +3990,13 @@ gtk_icon_view_scroll_to_item (GtkIconView *icon_view, GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET (icon_view); gint x, y, width, height; - gint focus_width; - - gtk_widget_style_get (widget, - "focus-line-width", &focus_width, - NULL); + GdkRectangle item_area = + { + item->cell_area.x - icon_view->priv->item_padding, + item->cell_area.y - icon_view->priv->item_padding, + item->cell_area.width + icon_view->priv->item_padding * 2, + item->cell_area.height + icon_view->priv->item_padding * 2 + }; width = gdk_window_get_width (icon_view->priv->bin_window); height = gdk_window_get_height (icon_view->priv->bin_window); @@ -4046,21 +4004,21 @@ gtk_icon_view_scroll_to_item (GtkIconView *icon_view, gtk_widget_get_allocation (widget, &allocation); - if (y + item->y - focus_width < 0) + if (y + item_area.y < 0) gtk_adjustment_set_value (icon_view->priv->vadjustment, - gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item->y - focus_width); - else if (y + item->y + item->height + focus_width > allocation.height) + gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item_area.y); + else if (y + item_area.y + item_area.height > allocation.height) gtk_adjustment_set_value (icon_view->priv->vadjustment, - gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item->y + item->height - + focus_width - allocation.height); + gtk_adjustment_get_value (icon_view->priv->vadjustment) + y + item_area.y + + item_area.height - allocation.height); - if (x + item->x - focus_width < 0) + if (x + item_area.x < 0) gtk_adjustment_set_value (icon_view->priv->hadjustment, - gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item->x - focus_width); - else if (x + item->x + item->width + focus_width > allocation.width) + gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item_area.x); + else if (x + item_area.x + item_area.width > allocation.width) gtk_adjustment_set_value (icon_view->priv->hadjustment, - gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item->x + item->width - + focus_width - allocation.width); + gtk_adjustment_get_value (icon_view->priv->hadjustment) + x + item_area.x + + item_area.width - allocation.width); gtk_adjustment_changed (icon_view->priv->hadjustment); gtk_adjustment_changed (icon_view->priv->vadjustment); @@ -4334,22 +4292,20 @@ gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view, if (cell) { - GdkRectangle cell_area; GtkCellAreaContext *context; context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_icon_view_set_cell_data (icon_view, item); gtk_cell_area_get_cell_allocation (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), - cell, &cell_area, &rect); + cell, (GdkRectangle *)item, &rect); } else { - rect.x = item->x; - rect.y = item->y; - rect.width = item->width; - rect.height = item->height; + rect.x = item->cell_area.x - icon_view->priv->item_padding; + rect.y = item->cell_area.y - icon_view->priv->item_padding; + rect.width = item->cell_area.width + icon_view->priv->item_padding * 2; + rect.height = item->cell_area.height + icon_view->priv->item_padding * 2; } if (icon_view->priv->bin_window) @@ -4577,11 +4533,16 @@ gtk_icon_view_get_visible_range (GtkIconView *icon_view, for (icons = icon_view->priv->items; icons; icons = icons->next) { GtkIconViewItem *item = icons->data; + GdkRectangle *item_area = (GdkRectangle *)item; - if ((item->x + item->width >= (int)gtk_adjustment_get_value (icon_view->priv->hadjustment)) && - (item->y + item->height >= (int)gtk_adjustment_get_value (icon_view->priv->vadjustment)) && - (item->x <= (int) (gtk_adjustment_get_value (icon_view->priv->hadjustment) + gtk_adjustment_get_page_size (icon_view->priv->hadjustment))) && - (item->y <= (int) (gtk_adjustment_get_value (icon_view->priv->vadjustment) + gtk_adjustment_get_page_size (icon_view->priv->vadjustment)))) + if ((item_area->x + item_area->width >= (int)gtk_adjustment_get_value (icon_view->priv->hadjustment)) && + (item_area->y + item_area->height >= (int)gtk_adjustment_get_value (icon_view->priv->vadjustment)) && + (item_area->x <= + (int) (gtk_adjustment_get_value (icon_view->priv->hadjustment) + + gtk_adjustment_get_page_size (icon_view->priv->hadjustment))) && + (item_area->y <= + (int) (gtk_adjustment_get_value (icon_view->priv->vadjustment) + + gtk_adjustment_get_page_size (icon_view->priv->vadjustment)))) { if (start_index == -1) start_index = item->index; @@ -6191,8 +6152,8 @@ gtk_icon_view_drag_begin (GtkWidget *widget, g_return_if_fail (item != NULL); - x = icon_view->priv->press_start_x - item->x + 1; - y = icon_view->priv->press_start_y - item->y + 1; + x = icon_view->priv->press_start_x - item->cell_area.x + 1; + y = icon_view->priv->press_start_y - item->cell_area.y + 1; path = gtk_tree_path_new_from_indices (item->index, -1); icon = gtk_icon_view_create_drag_icon (icon_view, path); @@ -6753,13 +6714,13 @@ gtk_icon_view_get_dest_item_at_pos (GtkIconView *icon_view, if (pos) { - if (drag_x < item->x + item->width / 4) + if (drag_x < item->cell_area.x + item->cell_area.width / 4) *pos = GTK_ICON_VIEW_DROP_LEFT; - else if (drag_x > item->x + item->width * 3 / 4) + else if (drag_x > item->cell_area.x + item->cell_area.width * 3 / 4) *pos = GTK_ICON_VIEW_DROP_RIGHT; - else if (drag_y < item->y + item->height / 4) + else if (drag_y < item->cell_area.y + item->cell_area.height / 4) *pos = GTK_ICON_VIEW_DROP_ABOVE; - else if (drag_y > item->y + item->height * 3 / 4) + else if (drag_y > item->cell_area.y + item->cell_area.height * 3 / 4) *pos = GTK_ICON_VIEW_DROP_BELOW; else *pos = GTK_ICON_VIEW_DROP_INTO; @@ -6806,29 +6767,38 @@ gtk_icon_view_create_drag_icon (GtkIconView *icon_view, if (index == item->index) { + GdkRectangle rect = { + item->cell_area.x - icon_view->priv->item_padding, + item->cell_area.y - icon_view->priv->item_padding, + item->cell_area.width + icon_view->priv->item_padding * 2, + item->cell_area.height + icon_view->priv->item_padding * 2 + }; + surface = gdk_window_create_similar_surface (icon_view->priv->bin_window, CAIRO_CONTENT_COLOR, - item->width + 2, - item->height + 2); + rect.width + 2, + rect.height + 2); cr = cairo_create (surface); cairo_set_line_width (cr, 1.); gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->base[gtk_widget_get_state (widget)]); - cairo_rectangle (cr, 0, 0, item->width + 2, item->height + 2); + cairo_rectangle (cr, 0, 0, rect.width + 2, rect.height + 2); cairo_fill (cr); cairo_save (cr); - cairo_rectangle (cr, 0, 0, item->width, item->height); + cairo_rectangle (cr, 1, 1, rect.width, rect.height); cairo_clip (cr); - gtk_icon_view_paint_item (icon_view, cr, item, 1, 1, FALSE); + gtk_icon_view_paint_item (icon_view, cr, item, + icon_view->priv->item_padding + 1, + icon_view->priv->item_padding + 1, FALSE); cairo_restore (cr); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */ - cairo_rectangle (cr, 0.5, 0.5, item->width + 1, item->height + 1); + cairo_rectangle (cr, 0.5, 0.5, rect.width + 1, rect.height + 1); cairo_stroke (cr); cairo_destroy (cr); @@ -7137,16 +7107,14 @@ get_pixbuf_box (GtkIconView *icon_view, GdkRectangle *box) { GetPixbufBoxData data = { { 0, }, FALSE }; - GdkRectangle cell_area; GtkCellAreaContext *context; context = g_ptr_array_index (icon_view->priv->row_contexts, item->row); gtk_icon_view_set_cell_data (icon_view, item); - gtk_icon_view_get_cell_area (icon_view, item, &cell_area); gtk_cell_area_foreach_alloc (icon_view->priv->cell_area, context, GTK_WIDGET (icon_view), - &cell_area, &cell_area, + (GdkRectangle *)item, (GdkRectangle *)item, (GtkCellAllocCallback)get_pixbuf_foreach, &data); return data.pixbuf_found; @@ -7222,8 +7190,8 @@ gtk_icon_view_item_accessible_image_get_image_position (AtkImage *image, if (get_pixbuf_box (GTK_ICON_VIEW (item->widget), item->item, &box)) { - *x+= box.x - item->item->x; - *y+= box.y - item->item->y; + *x+= box.x - item->item->cell_area.x; + *y+= box.y - item->item->cell_area.y; } } @@ -7897,14 +7865,14 @@ gtk_icon_view_item_accessible_get_extents (AtkComponent *component, if (atk_state_set_contains_state (item->state_set, ATK_STATE_DEFUNCT)) return; - *width = item->item->width; - *height = item->item->height; + *width = item->item->cell_area.width; + *height = item->item->cell_area.height; if (gtk_icon_view_item_accessible_is_showing (item)) { parent_obj = gtk_widget_get_accessible (item->widget); atk_component_get_position (ATK_COMPONENT (parent_obj), &l_x, &l_y, coord_type); - *x = l_x + item->item->x; - *y = l_y + item->item->y; + *x = l_x + item->item->cell_area.x; + *y = l_y + item->item->cell_area.y; } else { @@ -8027,10 +7995,10 @@ gtk_icon_view_item_accessible_is_showing (GtkIconViewItemAccessible *item) visible_rect.width = allocation.width; visible_rect.height = allocation.height; - if (((item->item->x + item->item->width) < visible_rect.x) || - ((item->item->y + item->item->height) < (visible_rect.y)) || - (item->item->x > (visible_rect.x + visible_rect.width)) || - (item->item->y > (visible_rect.y + visible_rect.height))) + if (((item->item->cell_area.x + item->item->cell_area.width) < visible_rect.x) || + ((item->item->cell_area.y + item->item->cell_area.height) < (visible_rect.y)) || + (item->item->cell_area.x > (visible_rect.x + visible_rect.width)) || + (item->item->cell_area.y > (visible_rect.y + visible_rect.height))) is_showing = FALSE; else is_showing = TRUE; From 60e5fcf4db01440af2835fe7df04bb84aea76366 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 13 Dec 2010 18:08:37 +0900 Subject: [PATCH 1220/1463] Made GtkIconView reset the context and invalidate all sizes when a row changes. GtkIconView should have a "grow-only" mode to handle optimization to only allow icons to grow in width when rows change, however since GtkIconView still does not handle large numbers of rows for now we'll just relayout the whole thing whenever a series of rows change. Also fixed up to watch the context incase of implicit resets. --- gtk/gtkiconview.c | 60 +++++++++++++++++++++++++++++++++++++---------- 1 file changed, 47 insertions(+), 13 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 9e3129e594..26bac42cd2 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -386,6 +386,9 @@ static void gtk_icon_view_remove_editable (GtkCel GtkCellRenderer *renderer, GtkCellEditable *editable, GtkIconView *icon_view); +static void gtk_icon_view_context_changed (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkIconView *icon_view); /* Source side drag signals */ static void gtk_icon_view_drag_begin (GtkWidget *widget, @@ -1126,6 +1129,9 @@ gtk_icon_view_constructor (GType type, priv->remove_editable_id = g_signal_connect (priv->cell_area, "remove-editable", G_CALLBACK (gtk_icon_view_remove_editable), icon_view); + priv->context_changed_id = + g_signal_connect (priv->cell_area_context, "notify", + G_CALLBACK (gtk_icon_view_context_changed), icon_view); return object; } @@ -1141,6 +1147,9 @@ gtk_icon_view_dispose (GObject *object) if (priv->cell_area_context) { + g_signal_handler_disconnect (priv->cell_area_context, priv->context_changed_id); + priv->context_changed_id = 0; + g_object_unref (priv->cell_area_context); priv->cell_area_context = NULL; } @@ -1165,7 +1174,6 @@ gtk_icon_view_dispose (GObject *object) G_OBJECT_CLASS (gtk_icon_view_parent_class)->dispose (object); } - static void gtk_icon_view_set_property (GObject *object, guint prop_id, @@ -1856,6 +1864,18 @@ gtk_icon_view_remove_editable (GtkCellArea *area, gtk_tree_path_free (path); } +static void +gtk_icon_view_context_changed (GtkCellAreaContext *context, + GParamSpec *pspec, + GtkIconView *icon_view) +{ + if (!strcmp (pspec->name, "minimum-width") || + !strcmp (pspec->name, "natural-width") || + !strcmp (pspec->name, "minimum-height") || + !strcmp (pspec->name, "natural-height")) + gtk_icon_view_invalidate_sizes (icon_view); +} + /** * gtk_icon_view_set_cursor: * @icon_view: A #GtkIconView @@ -2815,6 +2835,9 @@ gtk_icon_view_cache_widths (GtkIconView *icon_view) { GList *items; + g_signal_handler_block (icon_view->priv->cell_area_context, + icon_view->priv->context_changed_id); + for (items = icon_view->priv->items; items; items = items->next) { GtkIconViewItem *item = items->data; @@ -2828,13 +2851,27 @@ gtk_icon_view_cache_widths (GtkIconView *icon_view) GTK_WIDGET (icon_view), NULL, NULL); } } + + g_signal_handler_unblock (icon_view->priv->cell_area_context, + icon_view->priv->context_changed_id); } static void gtk_icon_view_invalidate_sizes (GtkIconView *icon_view) { + /* Clear all item sizes */ g_list_foreach (icon_view->priv->items, (GFunc)gtk_icon_view_item_invalidate_size, NULL); + + /* Reset the context */ + g_signal_handler_block (icon_view->priv->cell_area_context, + icon_view->priv->context_changed_id); + gtk_cell_area_context_reset (icon_view->priv->cell_area_context); + g_signal_handler_unblock (icon_view->priv->cell_area_context, + icon_view->priv->context_changed_id); + + /* Re-layout the items */ + gtk_icon_view_queue_layout (icon_view); } static void @@ -3207,8 +3244,15 @@ gtk_icon_view_row_changed (GtkTreeModel *model, index = gtk_tree_path_get_indices(path)[0]; item = g_list_nth_data (icon_view->priv->items, index); - gtk_icon_view_item_invalidate_size (item); - gtk_icon_view_queue_layout (icon_view); + /* Here we can use a "grow-only" strategy for optimization + * and only invalidate a single item and queue a relayout + * instead of invalidating the whole thing. + * + * For now GtkIconView still cant deal with huge models + * so just invalidate the whole thing when the model + * changes. + */ + gtk_icon_view_invalidate_sizes (icon_view); verify_items (icon_view); } @@ -4902,7 +4946,6 @@ gtk_icon_view_set_text_column (GtkIconView *icon_view, update_text_cell (icon_view); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "text-column"); } @@ -4965,7 +5008,6 @@ gtk_icon_view_set_markup_column (GtkIconView *icon_view, update_text_cell (icon_view); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "markup-column"); } @@ -5026,7 +5068,6 @@ gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view, update_pixbuf_cell (icon_view); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "pixbuf-column"); @@ -5345,7 +5386,6 @@ gtk_icon_view_set_item_orientation (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); update_text_cell (icon_view); update_pixbuf_cell (icon_view); @@ -5444,7 +5484,6 @@ gtk_icon_view_set_item_width (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); update_text_cell (icon_view); @@ -5494,7 +5533,6 @@ gtk_icon_view_set_spacing (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "spacing"); } @@ -5540,7 +5578,6 @@ gtk_icon_view_set_row_spacing (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "row-spacing"); } @@ -5586,7 +5623,6 @@ gtk_icon_view_set_column_spacing (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "column-spacing"); } @@ -5633,7 +5669,6 @@ gtk_icon_view_set_margin (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "margin"); } @@ -5679,7 +5714,6 @@ gtk_icon_view_set_item_padding (GtkIconView *icon_view, gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); gtk_icon_view_invalidate_sizes (icon_view); - gtk_icon_view_queue_layout (icon_view); g_object_notify (G_OBJECT (icon_view), "item-padding"); } From 56580d1b8bf1ce5ab100cf92f4668783835936f8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 14 Dec 2010 15:37:42 +0900 Subject: [PATCH 1221/1463] Restored the old GtkIconView guess for wrap-width/width size of text cell GtkIconView sets the minimum width of the text cell to be at least 50 pixels and otherwise twice the width of the first pixbuf cell found in the icon list. --- gtk/gtkiconview.c | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 26bac42cd2..1cdeb2e86e 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1162,6 +1162,8 @@ gtk_icon_view_dispose (GObject *object) if (priv->cell_area) { + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); + g_signal_handler_disconnect (priv->cell_area, priv->add_editable_id); g_signal_handler_disconnect (priv->cell_area, priv->remove_editable_id); priv->add_editable_id = 0; @@ -1352,8 +1354,6 @@ gtk_icon_view_destroy (GtkWidget *widget) { GtkIconView *icon_view = GTK_ICON_VIEW (widget); - gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); - gtk_icon_view_set_model (icon_view, NULL); if (icon_view->priv->layout_idle_id != 0) @@ -2732,6 +2732,31 @@ gtk_icon_view_layout_single_row (GtkIconView *icon_view, return last_item; } +static void +adjust_wrap_width (GtkIconView *icon_view) +{ + if (icon_view->priv->text_cell) + { + gint wrap_width = 50; + + /* Here we go with the same old guess, try the icon size and set double + * the size of the first icon found in the list, naive but works much + * of the time */ + if (icon_view->priv->items && icon_view->priv->pixbuf_cell) + { + gtk_icon_view_set_cell_data (icon_view, icon_view->priv->items->data); + gtk_cell_renderer_get_preferred_width (icon_view->priv->pixbuf_cell, + GTK_WIDGET (icon_view), + &wrap_width, NULL); + + wrap_width = MAX (wrap_width * 2, 50); + } + + g_object_set (icon_view->priv->text_cell, "wrap-width", wrap_width, NULL); + g_object_set (icon_view->priv->text_cell, "width", wrap_width, NULL); + } +} + static void gtk_icon_view_layout (GtkIconView *icon_view) { @@ -2756,8 +2781,10 @@ gtk_icon_view_layout (GtkIconView *icon_view) item_width = icon_view->priv->item_width; - /* Update the context widths for any invalidated - * items */ + /* Update the wrap width for the text cell before going and requesting sizes */ + adjust_wrap_width (icon_view); + + /* Update the context widths for any invalidated items */ gtk_icon_view_cache_widths (icon_view); /* Fetch the new item width if needed */ From b7c25c41d6d0abd548bbcd61e1a5b4266235a7b8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 21 Dec 2010 21:28:46 +0900 Subject: [PATCH 1222/1463] Fixed gtkiconview dispose cycle to not fire warnings. --- gtk/gtkiconview.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 1cdeb2e86e..1d03c03b81 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -4732,7 +4732,9 @@ gtk_icon_view_set_model (GtkIconView *icon_view, icon_view->priv->scroll_to_path = NULL; } - gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); + /* The area can be NULL while disposing */ + if (icon_view->priv->cell_area) + gtk_cell_area_stop_editing (icon_view->priv->cell_area, TRUE); if (model) { From bab0f5a5c1669c8324609efbaaeccc066445d808 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 5 Jan 2011 21:58:32 +0900 Subject: [PATCH 1223/1463] Fixed GtkIconView keynav Icon View was not initially setting focus on a cell when focus initially comes into the view. Focusing into whatever is the first cell in the cursor item when set_cursor_item is called with a NULL cell fixes this. --- gtk/gtkiconview.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 1d03c03b81..de5889ec78 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -3100,7 +3100,14 @@ gtk_icon_view_set_cursor_item (GtkIconView *icon_view, } icon_view->priv->cursor_item = item; - gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cursor_cell); + if (cursor_cell) + gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cursor_cell); + else + { + /* Make sure there is a cell in focus initially */ + if (!gtk_cell_area_get_focus_cell (icon_view->priv->cell_area)) + gtk_cell_area_focus (icon_view->priv->cell_area, GTK_DIR_TAB_FORWARD); + } gtk_icon_view_queue_draw_item (icon_view, item); @@ -3734,6 +3741,7 @@ gtk_icon_view_move_cursor_up_down (GtkIconView *icon_view, direction == GTK_DIR_UP ? GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD); + } gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cell); @@ -3878,6 +3886,7 @@ gtk_icon_view_move_cursor_left_right (GtkIconView *icon_view, direction == GTK_DIR_LEFT ? GTK_DIR_TAB_BACKWARD : GTK_DIR_TAB_FORWARD); + } gtk_cell_area_set_focus_cell (icon_view->priv->cell_area, cell); From 4d8c7c57829392194658a1dd7a2dcf0e5e66fcc8 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 6 Jan 2011 01:30:17 +0900 Subject: [PATCH 1224/1463] Ensure that GtkIconView items get redrawn when the focus cell changes. Seems the redraw was not happenning from keynav when set_focus_cell() was called because keynav already updates the focus-cell. Now we just unconditionally redraw the focus item when set_focus_cell() is called. --- gtk/gtkiconview.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index de5889ec78..47dc4c751a 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -3083,6 +3083,13 @@ gtk_icon_view_set_cursor_item (GtkIconView *icon_view, AtkObject *item_obj; AtkObject *cursor_item_obj; + /* When hitting this path from keynav, the focus cell is + * already set, we dont need to notify the atk object + * but we still need to queue the draw here (in the case + * that the focus cell changes but not the cursor item). + */ + gtk_icon_view_queue_draw_item (icon_view, item); + if (icon_view->priv->cursor_item == item && (cursor_cell == NULL || cursor_cell == gtk_cell_area_get_focus_cell (icon_view->priv->cell_area))) return; @@ -3108,8 +3115,6 @@ gtk_icon_view_set_cursor_item (GtkIconView *icon_view, if (!gtk_cell_area_get_focus_cell (icon_view->priv->cell_area)) gtk_cell_area_focus (icon_view->priv->cell_area, GTK_DIR_TAB_FORWARD); } - - gtk_icon_view_queue_draw_item (icon_view, item); /* Notify that accessible focus object has changed */ item_obj = atk_object_ref_accessible_child (obj, item->index); From a601b43b8371bcf637e917c53dcdf7300ab4d556 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 00:07:48 -0500 Subject: [PATCH 1225/1463] Cosmetic changes --- docs/reference/gtk/getting_started.xml | 2 +- examples/hello-world.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/reference/gtk/getting_started.xml b/docs/reference/gtk/getting_started.xml index ddbff64f8f..6a021fa870 100644 --- a/docs/reference/gtk/getting_started.xml +++ b/docs/reference/gtk/getting_started.xml @@ -43,7 +43,7 @@ Even if GTK+ installs multiple header files, only the top-level gtk/gtk.h header can be directly included by third party code. The compiler will abort with an error if any other - header will be included. + header is directly included. We then proceed into the main() function of the application, and we declare a window variable as a pointer diff --git a/examples/hello-world.c b/examples/hello-world.c index 50c792f12f..204b46eb4d 100644 --- a/examples/hello-world.c +++ b/examples/hello-world.c @@ -1,7 +1,8 @@ #include /* This is a callback function. The data arguments are ignored - * in this example. More on callbacks below. */ + * in this example. More on callbacks below. + */ static void print_hello (GtkWidget *widget, gpointer data) From 8b4b62f00c7b343d9282fdbd78df9d60e95d430c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 23 Dec 2010 21:51:25 +0900 Subject: [PATCH 1226/1463] Allow GtkWindow to be parented if gtk_widget_set_parent_window() is called on one This patch makes gtk_widget_set_parent_window() undo the toplevelness of a GtkWindow, GtkWindow then realizes itself as a normal child widget and behaves like a normal GtkBin by checking gtk_widget_is_toplevel() in several places (show/hide/map/unmap/draw/size_allocate/check_resize/configure_event). --- gtk/gtkwidget.c | 11 ++++ gtk/gtkwindow.c | 155 ++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 147 insertions(+), 19 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index ed5f6d6da1..cd40ab8eaf 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -8638,6 +8638,7 @@ gtk_widget_get_default_style (void) } #ifdef G_ENABLE_DEBUG + /* Verify invariants, see docs/widget_system.txt for notes on much of * this. Invariants may be temporarily broken while we're in the * process of updating state, of course, so you can only @@ -9088,6 +9089,16 @@ gtk_widget_set_parent_window (GtkWidget *widget, g_object_unref (old_parent_window); if (parent_window) g_object_ref (parent_window); + + /* Unset toplevel flag when adding a parent window to a widget, + * this is the primary entry point to allow toplevels to be + * embeddable. + */ + if (GTK_IS_WINDOW (widget)) + { + _gtk_window_set_is_toplevel (GTK_WINDOW (widget), FALSE); + gtk_container_set_resize_mode (GTK_CONTAINER (widget), GTK_RESIZE_PARENT); + } } } diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 19501f2a9d..5d724d0bc9 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4585,6 +4585,12 @@ gtk_window_show (GtkWidget *widget) GtkContainer *container = GTK_CONTAINER (window); gboolean need_resize; + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + GTK_WIDGET_CLASS (gtk_window_parent_class)->show (widget); + return; + } + _gtk_widget_set_visible_flag (widget, TRUE); need_resize = _gtk_container_get_need_resize (container) || !gtk_widget_get_realized (widget); @@ -4662,6 +4668,12 @@ gtk_window_hide (GtkWidget *widget) GtkWindow *window = GTK_WINDOW (widget); GtkWindowPrivate *priv = window->priv; + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + GTK_WIDGET_CLASS (gtk_window_parent_class)->hide (widget); + return; + } + _gtk_widget_set_visible_flag (widget, FALSE); gtk_widget_unmap (widget); @@ -4681,6 +4693,12 @@ gtk_window_map (GtkWidget *widget) gdk_window = gtk_widget_get_window (widget); + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + GTK_WIDGET_CLASS (gtk_window_parent_class)->map (widget); + return; + } + gtk_widget_set_mapped (widget, TRUE); child = gtk_bin_get_child (&(window->bin)); @@ -4791,6 +4809,12 @@ gtk_window_unmap (GtkWidget *widget) GdkWindow *gdk_window; GdkWindowState state; + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + GTK_WIDGET_CLASS (gtk_window_parent_class)->unmap (widget); + return; + } + gdk_window = gtk_widget_get_window (widget); gtk_widget_set_mapped (widget, FALSE); @@ -4841,6 +4865,35 @@ gtk_window_realize (GtkWidget *widget) gtk_widget_get_allocation (widget, &allocation); + if (gtk_widget_get_parent_window (widget)) + { + gtk_widget_set_realized (widget, TRUE); + + attributes.x = allocation.x; + attributes.y = allocation.y; + attributes.width = allocation.width; + attributes.height = allocation.height; + attributes.window_type = GDK_WINDOW_CHILD; + + attributes.event_mask = gtk_widget_get_events (widget) | GDK_EXPOSURE_MASK | GDK_STRUCTURE_MASK; + + attributes.visual = gtk_widget_get_visual (widget); + attributes.wclass = GDK_INPUT_OUTPUT; + + attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; + + gdk_window = gdk_window_new (gtk_widget_get_parent_window (widget), + &attributes, attributes_mask); + gtk_widget_set_window (widget, gdk_window); + gdk_window_set_user_data (gdk_window, widget); + + gtk_widget_style_attach (widget); + gtk_style_set_background (gtk_widget_get_style (widget), gdk_window, GTK_STATE_NORMAL); + + gdk_window_enable_synchronized_configure (gdk_window); + return; + } + /* ensure widget tree is properly size allocated */ if (allocation.x == -1 && allocation.y == -1 && @@ -4922,6 +4975,7 @@ gtk_window_realize (GtkWidget *widget) context = gtk_widget_get_style_context (widget); gtk_style_context_set_background (context, gdk_window); + if (priv->transient_parent && gtk_widget_get_realized (GTK_WIDGET (priv->transient_parent))) gdk_window_set_transient_for (gdk_window, @@ -4929,48 +4983,48 @@ gtk_window_realize (GtkWidget *widget) if (priv->wm_role) gdk_window_set_role (gdk_window, priv->wm_role); - + if (!priv->decorated) gdk_window_set_decorations (gdk_window, 0); - + if (!priv->deletable) gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_CLOSE); - + if (gtk_window_get_skip_pager_hint (window)) gdk_window_set_skip_pager_hint (gdk_window, TRUE); - + if (gtk_window_get_skip_taskbar_hint (window)) gdk_window_set_skip_taskbar_hint (gdk_window, TRUE); - + if (gtk_window_get_accept_focus (window)) gdk_window_set_accept_focus (gdk_window, TRUE); else gdk_window_set_accept_focus (gdk_window, FALSE); - + if (gtk_window_get_focus_on_map (window)) gdk_window_set_focus_on_map (gdk_window, TRUE); else gdk_window_set_focus_on_map (gdk_window, FALSE); - + if (priv->modal) gdk_window_set_modal_hint (gdk_window, TRUE); else gdk_window_set_modal_hint (gdk_window, FALSE); - + if (priv->startup_id) { #ifdef GDK_WINDOWING_X11 guint32 timestamp = extract_time_from_startup_id (priv->startup_id); if (timestamp != GDK_CURRENT_TIME) - gdk_x11_window_set_user_time (gdk_window, timestamp); + gdk_x11_window_set_user_time (gdk_window, timestamp); #endif if (!startup_id_is_fake (priv->startup_id)) - gdk_window_set_startup_id (gdk_window, priv->startup_id); + gdk_window_set_startup_id (gdk_window, priv->startup_id); } - + /* Icons */ gtk_window_realize_icon (window); - + if (priv->has_resize_grip) resize_grip_create_window (window); } @@ -5179,6 +5233,29 @@ gtk_window_size_allocate (GtkWidget *widget, gtk_widget_set_allocation (widget, allocation); + if (gtk_widget_get_realized (widget)) + { + /* If it's not a toplevel we're embedded, we need to resize the window's + * window and skip the grip. + */ + if (!gtk_widget_is_toplevel (widget)) + { + gdk_window_move_resize (gtk_widget_get_window (widget), + allocation->x, allocation->y, + allocation->width, allocation->height); + } + else + { + if (priv->frame) + gdk_window_resize (priv->frame, + allocation->width + priv->frame_left + priv->frame_right, + allocation->height + priv->frame_top + priv->frame_bottom); + + update_grip_visibility (window); + set_grip_position (window); + } + } + child = gtk_bin_get_child (&(window->bin)); if (child && gtk_widget_get_visible (child)) { @@ -5209,6 +5286,15 @@ gtk_window_configure_event (GtkWidget *widget, GtkWindowPrivate *priv = window->priv; gboolean expected_reply = priv->configure_request_count > 0; + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + if (GTK_WIDGET_CLASS (gtk_window_parent_class)->configure_event) + return GTK_WIDGET_CLASS (gtk_window_parent_class)->configure_event (widget, event); + + gdk_window_configure_finished (gtk_widget_get_window (widget)); + return FALSE; + } + /* priv->configure_request_count incremented for each * configure request, and decremented to a min of 0 for * each configure notify. @@ -5270,7 +5356,8 @@ static gboolean gtk_window_state_event (GtkWidget *widget, GdkEventWindowState *event) { - update_grip_visibility (GTK_WINDOW (widget)); + if (gtk_widget_is_toplevel (GTK_WIDGET (widget))) + update_grip_visibility (GTK_WINDOW (widget)); return FALSE; } @@ -5281,9 +5368,12 @@ gtk_window_direction_changed (GtkWidget *widget, { GtkWindow *window = GTK_WINDOW (widget); - set_grip_cursor (window); - set_grip_position (window); - set_grip_shape (window); + if (gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + set_grip_cursor (window); + set_grip_position (window); + set_grip_shape (window); + } } static void @@ -5292,7 +5382,8 @@ gtk_window_state_changed (GtkWidget *widget, { GtkWindow *window = GTK_WINDOW (widget); - update_grip_visibility (window); + if (gtk_widget_is_toplevel (GTK_WIDGET (widget))) + update_grip_visibility (window); } static void @@ -5393,7 +5484,8 @@ gtk_window_set_has_resize_grip (GtkWindow *window, priv->has_resize_grip = value; gtk_widget_queue_draw (widget); - if (gtk_widget_get_realized (widget)) + if (gtk_widget_get_realized (widget) && + gtk_widget_is_toplevel (GTK_WIDGET (widget))) { if (priv->has_resize_grip && priv->grip_window == NULL) resize_grip_create_window (window); @@ -5462,6 +5554,9 @@ gtk_window_resize_grip_is_visible (GtkWindow *window) if (!priv->resizable) return FALSE; + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + return FALSE; + if (gtk_widget_get_realized (widget)) { GdkWindowState state; @@ -5882,7 +5977,11 @@ gtk_window_client_event (GtkWidget *widget, static void gtk_window_check_resize (GtkContainer *container) { - if (gtk_widget_get_visible (GTK_WIDGET (container))) + /* If the window is not toplevel anymore than it's embedded somewhere, + * so handle it like a normal window */ + if (!gtk_widget_is_toplevel (GTK_WIDGET (container))) + GTK_CONTAINER_CLASS (gtk_window_parent_class)->check_resize (container); + else if (gtk_widget_get_visible (GTK_WIDGET (container))) gtk_window_move_resize (GTK_WINDOW (container)); } @@ -6640,6 +6739,7 @@ gtk_window_move_resize (GtkWindow *window) GtkWindowLastGeometryInfo saved_last_info; widget = GTK_WIDGET (window); + gdk_window = gtk_widget_get_window (widget); container = GTK_CONTAINER (widget); info = gtk_window_get_geometry_info (window, TRUE); @@ -7245,6 +7345,23 @@ gtk_window_draw (GtkWidget *widget, GtkStyleContext *context; gboolean ret = FALSE; + /* If the window is not toplevel anymore than it's embedded somewhere, + * so just chain up and paint the children */ + if (!gtk_widget_is_toplevel (widget)) + { + if (!gtk_widget_get_app_paintable (widget)) + gtk_paint_flat_box (gtk_widget_get_style (widget), + cr, + gtk_widget_get_state (widget), + GTK_SHADOW_NONE, + widget, "window", + 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + return GTK_WIDGET_CLASS (gtk_window_parent_class)->draw (widget, cr); + } + context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); From 6299f61ee7d88adfef6a554fad0e0b89f734aa2f Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 02:09:41 +0900 Subject: [PATCH 1227/1463] Added docs to gtk_widget_set_parent_window. Also stop setting the resize mode of the window. --- gtk/gtkwidget.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index cd40ab8eaf..9aa08658b2 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -9069,6 +9069,16 @@ gtk_widget_render_icon (GtkWidget *widget, * @parent_window: the new parent window. * * Sets a non default parent window for @widget. + * + * For GtkWindow classes, setting a @parent_window effects whether + * the window is a toplevel window or can be embedded into other + * widgets. + * + * + * For GtkWindow classes, this needs to be called before the + * window is realized. + * + * **/ void gtk_widget_set_parent_window (GtkWidget *widget, @@ -9094,11 +9104,8 @@ gtk_widget_set_parent_window (GtkWidget *widget, * this is the primary entry point to allow toplevels to be * embeddable. */ - if (GTK_IS_WINDOW (widget)) - { - _gtk_window_set_is_toplevel (GTK_WINDOW (widget), FALSE); - gtk_container_set_resize_mode (GTK_CONTAINER (widget), GTK_RESIZE_PARENT); - } + if (GTK_IS_WINDOW (widget) && !GTK_IS_PLUG (widget)) + _gtk_window_set_is_toplevel (GTK_WINDOW (widget), parent_window == NULL); } } From addcc64b9cbb2fb1225080075ad3112a3d93d839 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 02:10:07 +0900 Subject: [PATCH 1228/1463] Slightly less special casing in GtkWindow for gtk_widget_is_toplevel() Also take care of setting the resize-mode at realize time depending on toplevelness. --- gtk/gtkwindow.c | 36 +++++++++--------------------------- 1 file changed, 9 insertions(+), 27 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 5d724d0bc9..477cccd6ac 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4867,6 +4867,8 @@ gtk_window_realize (GtkWidget *widget) if (gtk_widget_get_parent_window (widget)) { + gtk_container_set_resize_mode (GTK_CONTAINER (widget), GTK_RESIZE_PARENT); + gtk_widget_set_realized (widget, TRUE); attributes.x = allocation.x; @@ -4894,6 +4896,8 @@ gtk_window_realize (GtkWidget *widget) return; } + gtk_container_set_resize_mode (GTK_CONTAINER (window), GTK_RESIZE_QUEUE); + /* ensure widget tree is properly size allocated */ if (allocation.x == -1 && allocation.y == -1 && @@ -5356,8 +5360,7 @@ static gboolean gtk_window_state_event (GtkWidget *widget, GdkEventWindowState *event) { - if (gtk_widget_is_toplevel (GTK_WIDGET (widget))) - update_grip_visibility (GTK_WINDOW (widget)); + update_grip_visibility (GTK_WINDOW (widget)); return FALSE; } @@ -5368,12 +5371,9 @@ gtk_window_direction_changed (GtkWidget *widget, { GtkWindow *window = GTK_WINDOW (widget); - if (gtk_widget_is_toplevel (GTK_WIDGET (widget))) - { - set_grip_cursor (window); - set_grip_position (window); - set_grip_shape (window); - } + set_grip_cursor (window); + set_grip_position (window); + set_grip_shape (window); } static void @@ -5382,8 +5382,7 @@ gtk_window_state_changed (GtkWidget *widget, { GtkWindow *window = GTK_WINDOW (widget); - if (gtk_widget_is_toplevel (GTK_WIDGET (widget))) - update_grip_visibility (window); + update_grip_visibility (window); } static void @@ -7345,23 +7344,6 @@ gtk_window_draw (GtkWidget *widget, GtkStyleContext *context; gboolean ret = FALSE; - /* If the window is not toplevel anymore than it's embedded somewhere, - * so just chain up and paint the children */ - if (!gtk_widget_is_toplevel (widget)) - { - if (!gtk_widget_get_app_paintable (widget)) - gtk_paint_flat_box (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - GTK_SHADOW_NONE, - widget, "window", - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); - - return GTK_WIDGET_CLASS (gtk_window_parent_class)->draw (widget, cr); - } - context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); From 69b1bfb17b8c32affe618db59b57cbba9cdddc7b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 10:29:21 +0900 Subject: [PATCH 1229/1463] Added tests/testtoplevelembed. --- tests/Makefile.am | 8 ++++- tests/testtoplevelembed.c | 65 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 tests/testtoplevelembed.c diff --git a/tests/Makefile.am b/tests/Makefile.am index c57426fbe1..5364298800 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -103,7 +103,8 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testcellarea \ testswitch \ styleexamples \ - testtreemenu + testtreemenu \ + testtoplevelembed if USE_X11 noinst_PROGRAMS += testerrors @@ -199,6 +200,7 @@ testexpand_DEPENDENCIES = $(TEST_DEPS) testexpander_DEPENDENCIES = $(TEST_DEPS) testswitch_DEPENDENCIES = $(TEST_DEPS) styleexamples_DEPENDENCIES = $(TEST_DEPS) +testtoplevelembed_DEPENDENCIES = $(TEST_DEPS) flicker_LDADD = $(LDADDS) simple_LDADD = $(LDADDS) @@ -280,6 +282,7 @@ testexpand_LDADD = $(LDADDS) testexpander_LDADD = $(LDADDS) testswitch_LDADD = $(LDADDS) styleexamples_LDADD = $(LDADDS) +testtoplevelembed_LDADD = $(LDADDS) testentrycompletion_SOURCES = \ prop-editor.c \ @@ -419,8 +422,11 @@ testexpand_SOURCES = testexpand.c testexpander_SOURCES = testexpander.c testswitch_SOURCES = testswitch.c + styleexamples_SOURCES = styleexamples.c +testtoplevelembed_SOURCES = testtoplevelembed.c + EXTRA_DIST += \ gradient1.png \ prop-editor.h \ diff --git a/tests/testtoplevelembed.c b/tests/testtoplevelembed.c new file mode 100644 index 0000000000..3bcac96178 --- /dev/null +++ b/tests/testtoplevelembed.c @@ -0,0 +1,65 @@ +#include "config.h" +#include + + + +gint +main (gint argc, gchar **argv) +{ + GtkWidget *window; + GtkWidget *notebook; + GtkWidget *widget; + GtkWidget *label; + GdkWindow *gdk_win; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Toplevel widget embedding example"); + g_signal_connect (window, "destroy", gtk_main_quit, NULL); + + notebook = gtk_notebook_new (); + gtk_container_add (GTK_CONTAINER (window), notebook); + + gtk_widget_realize (notebook); + gdk_win = gtk_widget_get_window (notebook); + g_assert (gdk_win); + + widget = gtk_about_dialog_new (); + label = gtk_label_new ("GtkAboutDialog"); + gtk_widget_set_parent_window (widget, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + + widget = gtk_file_chooser_dialog_new ("the chooser", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, NULL, NULL); + label = gtk_label_new ("GtkFileChooser"); + gtk_widget_set_parent_window (widget, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + + widget = gtk_color_selection_dialog_new ("the colorsel"); + label = gtk_label_new ("GtkColorSelDialog"); + gtk_widget_set_parent_window (widget, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + + widget = gtk_font_selection_dialog_new ("the fontsel"); + label = gtk_label_new ("GtkFontSelectionDialog"); + gtk_widget_set_parent_window (widget, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + + widget = gtk_recent_chooser_dialog_new ("the recent chooser", NULL, + GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, + NULL); + label = gtk_label_new ("GtkRecentChooserDialog"); + gtk_widget_set_parent_window (widget, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + + widget = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, + "Do you have any questions ?"); + label = gtk_label_new ("GtkMessageDialog"); + gtk_widget_set_parent_window (widget, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + + gtk_widget_show_all (window); + gtk_main (); +} From fdba9f281dbf7487129ab59d71090bc775d8f316 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 12:01:43 +0900 Subject: [PATCH 1230/1463] Fixed issues with "hierarchy-changed" signal. GtkFileChooserDefault watches the toplevel and montitors "set-focus" signal on it... however the connection needs to be remade when the GtkFileChooserDialog is in an embedded toplevel. Measure's taken: GtkWindow propagates hierarchy changes when _gtk_window_set_is_toplevel() is called, gtk_widget_unparent() unsets the widget's parent window earlier in the function so that the possible hierarchy change is still able to properly access the hierarchy. GtkFileChooserDefault checks if the "new" toplevel is indeed gtk_widget_is_toplevel() but not the old one, GtkRange has been updated to use gtk_widget_is_toplevel() inside it's hierarhcy_changed vfunc, other classes already do this properly. --- gtk/gtkfilechooserdefault.c | 2 +- gtk/gtkrange.c | 2 +- gtk/gtkwidget.c | 9 ++++++++- gtk/gtkwindow.c | 9 +++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index c9eef75a5a..b99348aa43 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -5599,7 +5599,7 @@ gtk_file_chooser_default_hierarchy_changed (GtkWidget *widget, g_assert (impl->toplevel_set_focus_id == 0); toplevel = gtk_widget_get_toplevel (widget); - if (GTK_IS_WINDOW (toplevel)) + if (gtk_widget_is_toplevel (toplevel)) { impl->toplevel_set_focus_id = g_signal_connect (toplevel, "set-focus", G_CALLBACK (toplevel_set_focus_cb), impl); diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 678a2dd2e4..4c8d4289df 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -1660,7 +1660,7 @@ gtk_range_hierarchy_changed (GtkWidget *widget, G_CALLBACK (resize_grip_visible_changed), widget); window = gtk_widget_get_toplevel (widget); - if (GTK_IS_WINDOW (window)) + if (gtk_widget_is_toplevel (window)) g_signal_connect (window, "notify::resize-grip-visible", G_CALLBACK (resize_grip_visible_changed), widget); } diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 9aa08658b2..20a268b8f9 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3714,9 +3714,17 @@ gtk_widget_unparent (GtkWidget *widget) g_object_freeze_notify (G_OBJECT (widget)); nqueue = g_object_notify_queue_freeze (G_OBJECT (widget), _gtk_widget_child_property_notify_context); + /* Need to unset the parent window early, this can result in + * an additional "hierarchy-changed" propagation if we are removing + * a parented GtkWindow from the hierarchy. + */ + gtk_widget_set_parent_window (widget, NULL); + toplevel = gtk_widget_get_toplevel (widget); if (gtk_widget_is_toplevel (toplevel)) _gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget); + else + toplevel = NULL; if (gtk_container_get_focus_child (GTK_CONTAINER (priv->parent)) == widget) gtk_container_set_focus_child (GTK_CONTAINER (priv->parent), NULL); @@ -3755,7 +3763,6 @@ gtk_widget_unparent (GtkWidget *widget) old_parent = priv->parent; priv->parent = NULL; - gtk_widget_set_parent_window (widget, NULL); /* parent may no longer expand if the removed * child was expand=TRUE and could therefore diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 477cccd6ac..60693ffdc1 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9221,6 +9221,7 @@ _gtk_window_set_is_toplevel (GtkWindow *window, gboolean is_toplevel) { GtkWidget *widget; + GtkWidget *toplevel; widget = GTK_WIDGET (window); @@ -9234,6 +9235,12 @@ _gtk_window_set_is_toplevel (GtkWindow *window, if (is_toplevel) { + toplevel = gtk_widget_get_toplevel (widget); + if (!gtk_widget_is_toplevel (toplevel)) + toplevel = NULL; + + _gtk_widget_propagate_hierarchy_changed (widget, toplevel); + _gtk_widget_set_is_toplevel (widget, TRUE); toplevel_list = g_slist_prepend (toplevel_list, window); } @@ -9241,6 +9248,8 @@ _gtk_window_set_is_toplevel (GtkWindow *window, { _gtk_widget_set_is_toplevel (widget, FALSE); toplevel_list = g_slist_remove (toplevel_list, window); + + _gtk_widget_propagate_hierarchy_changed (widget, widget); } } From 2dfa855bc4d32ebdb2c2c0c53670094f06e79271 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 12:35:27 +0900 Subject: [PATCH 1231/1463] Moved location of unsetting parent window inside gtk_widget_unparent(). Make sure to do this after the widget is unrealized. --- gtk/gtkwidget.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 20a268b8f9..0a5e5b859b 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3714,12 +3714,6 @@ gtk_widget_unparent (GtkWidget *widget) g_object_freeze_notify (G_OBJECT (widget)); nqueue = g_object_notify_queue_freeze (G_OBJECT (widget), _gtk_widget_child_property_notify_context); - /* Need to unset the parent window early, this can result in - * an additional "hierarchy-changed" propagation if we are removing - * a parented GtkWindow from the hierarchy. - */ - gtk_widget_set_parent_window (widget, NULL); - toplevel = gtk_widget_get_toplevel (widget); if (gtk_widget_is_toplevel (toplevel)) _gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget); @@ -3755,6 +3749,12 @@ gtk_widget_unparent (GtkWidget *widget) gtk_widget_unrealize (widget); } + /* Need to unset the parent window early, this can result in + * an additional "hierarchy-changed" propagation if we are removing + * a parented GtkWindow from the hierarchy. + */ + gtk_widget_set_parent_window (widget, NULL); + /* Removing a widget from a container restores the child visible * flag to the default state, so it doesn't affect the child * in the next parent. From 387d745e0eec26bebf3f50a7eb970aaaa99b2a6e Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 12:35:56 +0900 Subject: [PATCH 1232/1463] Added buttons to notebook tabs in testtoplevelembed Now you can remove and reembed the toplevels (deleting the toplevels put them back in the notebook). --- tests/testtoplevelembed.c | 85 ++++++++++++++++++++++++++++----------- 1 file changed, 62 insertions(+), 23 deletions(-) diff --git a/tests/testtoplevelembed.c b/tests/testtoplevelembed.c index 3bcac96178..3540ed49cf 100644 --- a/tests/testtoplevelembed.c +++ b/tests/testtoplevelembed.c @@ -1,16 +1,63 @@ #include "config.h" #include +GtkWidget *notebook; +static void +remove_notebook_page (GtkWidget *button, + GtkWidget *toplevel) +{ + gtk_container_remove (GTK_CONTAINER (notebook), toplevel); + + gtk_widget_hide (toplevel); + gtk_widget_show (toplevel); +} + +GtkWidget * +create_tab_label (GtkWidget *toplevel) +{ + GtkWidget *box = gtk_hbox_new (FALSE, 2); + GtkWidget *label = gtk_label_new (G_OBJECT_TYPE_NAME (toplevel)); + GtkWidget *button = gtk_button_new (); + GtkWidget *image = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR); + + gtk_container_add (GTK_CONTAINER (button), image); + gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (box), button, FALSE, TRUE, 0); + + g_signal_connect (button, "clicked", + G_CALLBACK (remove_notebook_page), toplevel); + + gtk_widget_show_all (box); + return box; +} + +static void +toplevel_delete_event (GtkWidget *toplevel, + GdkEvent *event, + gpointer none) +{ + GdkWindow *gdk_win; + GtkWidget *label = create_tab_label (toplevel); + + gdk_win = gtk_widget_get_window (notebook); + g_assert (gdk_win); + + gtk_widget_hide (toplevel); + gtk_widget_unrealize (toplevel); + + gtk_widget_set_parent_window (toplevel, gdk_win); + gtk_notebook_append_page (GTK_NOTEBOOK (notebook), toplevel, label); + + gtk_widget_show (toplevel); +} + gint main (gint argc, gchar **argv) { GtkWidget *window; - GtkWidget *notebook; GtkWidget *widget; - GtkWidget *label; - GdkWindow *gdk_win; gtk_init (&argc, &argv); @@ -22,43 +69,35 @@ main (gint argc, gchar **argv) gtk_container_add (GTK_CONTAINER (window), notebook); gtk_widget_realize (notebook); - gdk_win = gtk_widget_get_window (notebook); - g_assert (gdk_win); widget = gtk_about_dialog_new (); - label = gtk_label_new ("GtkAboutDialog"); - gtk_widget_set_parent_window (widget, gdk_win); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + toplevel_delete_event (widget, NULL, NULL); + g_signal_connect (widget, "delete-event", G_CALLBACK (toplevel_delete_event), NULL); widget = gtk_file_chooser_dialog_new ("the chooser", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, NULL, NULL); - label = gtk_label_new ("GtkFileChooser"); - gtk_widget_set_parent_window (widget, gdk_win); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + toplevel_delete_event (widget, NULL, NULL); + g_signal_connect (widget, "delete-event", G_CALLBACK (toplevel_delete_event), NULL); widget = gtk_color_selection_dialog_new ("the colorsel"); - label = gtk_label_new ("GtkColorSelDialog"); - gtk_widget_set_parent_window (widget, gdk_win); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + toplevel_delete_event (widget, NULL, NULL); + g_signal_connect (widget, "delete-event", G_CALLBACK (toplevel_delete_event), NULL); widget = gtk_font_selection_dialog_new ("the fontsel"); - label = gtk_label_new ("GtkFontSelectionDialog"); - gtk_widget_set_parent_window (widget, gdk_win); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + toplevel_delete_event (widget, NULL, NULL); + g_signal_connect (widget, "delete-event", G_CALLBACK (toplevel_delete_event), NULL); widget = gtk_recent_chooser_dialog_new ("the recent chooser", NULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, NULL); - label = gtk_label_new ("GtkRecentChooserDialog"); - gtk_widget_set_parent_window (widget, gdk_win); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + toplevel_delete_event (widget, NULL, NULL); + g_signal_connect (widget, "delete-event", G_CALLBACK (toplevel_delete_event), NULL); widget = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "Do you have any questions ?"); - label = gtk_label_new ("GtkMessageDialog"); - gtk_widget_set_parent_window (widget, gdk_win); - gtk_notebook_append_page (GTK_NOTEBOOK (notebook), widget, label); + toplevel_delete_event (widget, NULL, NULL); + g_signal_connect (widget, "delete-event", G_CALLBACK (toplevel_delete_event), NULL); gtk_widget_show_all (window); gtk_main (); From aa787c9dd17c9dbee97c76209e62284cd836fdea Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 24 Dec 2010 13:25:02 +0900 Subject: [PATCH 1233/1463] Fixed focus handling on embedded windows. Now GtkWindow chains up in focus vfuncs when non-toplevel, this fixes focus in testtoplevelembed. --- gtk/gtkwidget.c | 4 +--- gtk/gtkwindow.c | 9 +++++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 0a5e5b859b..4ee58865ac 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3717,8 +3717,6 @@ gtk_widget_unparent (GtkWidget *widget) toplevel = gtk_widget_get_toplevel (widget); if (gtk_widget_is_toplevel (toplevel)) _gtk_window_unset_focus_and_default (GTK_WINDOW (toplevel), widget); - else - toplevel = NULL; if (gtk_container_get_focus_child (GTK_CONTAINER (priv->parent)) == widget) gtk_container_set_focus_child (GTK_CONTAINER (priv->parent), NULL); @@ -3777,7 +3775,7 @@ gtk_widget_unparent (GtkWidget *widget) } g_signal_emit (widget, widget_signals[PARENT_SET], 0, old_parent); - if (toplevel) + if (toplevel && gtk_widget_is_toplevel (toplevel)) { _gtk_widget_propagate_hierarchy_changed (widget, toplevel); g_object_unref (toplevel); diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 60693ffdc1..963e221edd 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5996,6 +5996,9 @@ gtk_window_focus (GtkWidget *widget, GtkWidget *old_focus_child; GtkWidget *parent; + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + return GTK_WIDGET_CLASS (gtk_window_parent_class)->focus (widget, direction); + container = GTK_CONTAINER (widget); window = GTK_WINDOW (widget); priv = window->priv; @@ -6049,6 +6052,12 @@ static void gtk_window_move_focus (GtkWidget *widget, GtkDirectionType dir) { + if (!gtk_widget_is_toplevel (GTK_WIDGET (widget))) + { + GTK_WIDGET_CLASS (gtk_window_parent_class)->move_focus (widget, dir); + return; + } + gtk_widget_child_focus (widget, dir); if (! gtk_container_get_focus_child (GTK_CONTAINER (widget))) From 93c8058582aa8e6823bcf83b654da29f816a1547 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 26 Dec 2010 19:08:33 +0900 Subject: [PATCH 1234/1463] Fixed GtkWindow/GtkWidget to properly emit hierarchy changed for embedded toplevels Now GtkWindow takes some measures when setting toplevelness: - When a window becomes toplevel after being embedded it saves the visibility state and reshow's itself so that the window re-realizes and presents itself again automatically - When emitting hierarchy-changed, synthetically mark the toplevel as not anchored, this allows the hierarchy changed propagation to recurse properly. GtkWidget also takes care to unset the parent window *after* unparenting the widget and after emitting the heirarhcy changed that leaves a NULL toplevel. That means there are now 2 cycles of "hierarchy-changed" when removing an embedded toplevel from a parent, first one that makes the new toplevel a NULL one (since the toplevel flag is not yet restored), the second cycle makes the removed window toplevel again when setting the parent window to NULL. --- gtk/gtkwidget.c | 27 ++++++++++++++------------- gtk/gtkwindow.c | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 48 insertions(+), 15 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 4ee58865ac..b740d1c13d 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -3721,14 +3721,6 @@ gtk_widget_unparent (GtkWidget *widget) if (gtk_container_get_focus_child (GTK_CONTAINER (priv->parent)) == widget) gtk_container_set_focus_child (GTK_CONTAINER (priv->parent), NULL); - /* If we are unanchoring the child, we save around the toplevel - * to emit hierarchy changed - */ - if (priv->parent->priv->anchored) - g_object_ref (toplevel); - else - toplevel = NULL; - gtk_widget_queue_draw_child (widget); /* Reset the width and height here, to force reallocation if we @@ -3747,11 +3739,13 @@ gtk_widget_unparent (GtkWidget *widget) gtk_widget_unrealize (widget); } - /* Need to unset the parent window early, this can result in - * an additional "hierarchy-changed" propagation if we are removing - * a parented GtkWindow from the hierarchy. + /* If we are unanchoring the child, we save around the toplevel + * to emit hierarchy changed */ - gtk_widget_set_parent_window (widget, NULL); + if (priv->parent->priv->anchored) + g_object_ref (toplevel); + else + toplevel = NULL; /* Removing a widget from a container restores the child visible * flag to the default state, so it doesn't affect the child @@ -3775,12 +3769,19 @@ gtk_widget_unparent (GtkWidget *widget) } g_signal_emit (widget, widget_signals[PARENT_SET], 0, old_parent); - if (toplevel && gtk_widget_is_toplevel (toplevel)) + if (toplevel) { _gtk_widget_propagate_hierarchy_changed (widget, toplevel); g_object_unref (toplevel); } + /* Now that the parent pointer is nullified and the hierarchy-changed + * already passed, go ahead and unset the parent window, if we are unparenting + * an embeded GtkWindow the window will become toplevel again and hierarchy-changed + * will fire again for the new subhierarchy. + */ + gtk_widget_set_parent_window (widget, NULL); + g_object_notify (G_OBJECT (widget), "parent"); g_object_thaw_notify (G_OBJECT (widget)); if (!priv->parent) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 963e221edd..69ccde5bf9 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9231,6 +9231,7 @@ _gtk_window_set_is_toplevel (GtkWindow *window, { GtkWidget *widget; GtkWidget *toplevel; + gboolean was_anchored; widget = GTK_WIDGET (window); @@ -9242,16 +9243,47 @@ _gtk_window_set_is_toplevel (GtkWindow *window, if (is_toplevel == gtk_widget_is_toplevel (widget)) return; + was_anchored = _gtk_widget_get_anchored (widget); + if (is_toplevel) { + gboolean was_visible = gtk_widget_get_visible (widget); + + /* Pass through regular pathways of an embedded toplevel + * to go through unmapping and hiding the widget before + * becomming a toplevel again. + */ + if (was_visible) + gtk_widget_hide (widget); + + /* Save the toplevel this widget was previously anchored into before + * propagating a hierarchy-changed. + * + * Usually this happens by way of gtk_widget_unparent() and we are + * already unanchored at this point, just adding this clause incase + * things happen differently. + */ toplevel = gtk_widget_get_toplevel (widget); - if (!gtk_widget_is_toplevel (toplevel)) + if (!gtk_widget_is_toplevel (widget)) toplevel = NULL; + _gtk_widget_set_is_toplevel (widget, TRUE); + + /* When a window becomes toplevel after being embedded and anchored + * into another window we need to unset it's anchored flag so that + * the hierarchy changed signal kicks in properly. + */ + _gtk_widget_set_anchored (widget, FALSE); _gtk_widget_propagate_hierarchy_changed (widget, toplevel); - _gtk_widget_set_is_toplevel (widget, TRUE); toplevel_list = g_slist_prepend (toplevel_list, window); + + /* If an embedded toplevel gets removed from the hierarchy + * and is still in a visible state, we need to show it again + * so it will be realized as a real toplevel again. + */ + if (was_visible) + gtk_widget_show (widget); } else { From 53980aca9b021f57fd626cb5dbf393140c45eb6d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 26 Dec 2010 19:13:19 +0900 Subject: [PATCH 1235/1463] Fixed GtkFileChooserDefault to handle cases of being in an embedded dialog. This involves checking the toplevelness of new toplevels before connecting but not the *old* ones for disconnecting signals. Also take care of handling a row_reference that becomes invalid over the course of reparenting the filechooser into another parent. --- gtk/gtkfilechooserdefault.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index b99348aa43..2a5adf9b92 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -1178,11 +1178,14 @@ shortcuts_reload_icons_get_info_cb (GCancellable *cancellable, pixbuf = _gtk_file_info_render_icon (info, GTK_WIDGET (data->impl), data->impl->icon_size); path = gtk_tree_row_reference_get_path (data->row_ref); - gtk_tree_model_get_iter (GTK_TREE_MODEL (data->impl->shortcuts_model), &iter, path); - gtk_list_store_set (data->impl->shortcuts_model, &iter, - SHORTCUTS_COL_PIXBUF, pixbuf, - -1); - gtk_tree_path_free (path); + if (path) + { + gtk_tree_model_get_iter (GTK_TREE_MODEL (data->impl->shortcuts_model), &iter, path); + gtk_list_store_set (data->impl->shortcuts_model, &iter, + SHORTCUTS_COL_PIXBUF, pixbuf, + -1); + gtk_tree_path_free (path); + } if (pixbuf) g_object_unref (pixbuf); @@ -5586,21 +5589,20 @@ gtk_file_chooser_default_hierarchy_changed (GtkWidget *widget, GtkWidget *toplevel; impl = GTK_FILE_CHOOSER_DEFAULT (widget); + toplevel = gtk_widget_get_toplevel (widget); - if (previous_toplevel) + if (previous_toplevel && + impl->toplevel_set_focus_id != 0) { - g_assert (impl->toplevel_set_focus_id != 0); g_signal_handler_disconnect (previous_toplevel, impl->toplevel_set_focus_id); impl->toplevel_set_focus_id = 0; impl->toplevel_last_focus_widget = NULL; } - else - g_assert (impl->toplevel_set_focus_id == 0); - toplevel = gtk_widget_get_toplevel (widget); if (gtk_widget_is_toplevel (toplevel)) { + g_assert (impl->toplevel_set_focus_id == 0); impl->toplevel_set_focus_id = g_signal_connect (toplevel, "set-focus", G_CALLBACK (toplevel_set_focus_cb), impl); impl->toplevel_last_focus_widget = gtk_window_get_focus (GTK_WINDOW (toplevel)); From 72675f1f28247622cf3a9171305c7a4cff899719 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 26 Dec 2010 19:25:06 +0900 Subject: [PATCH 1236/1463] Changes to testtoplevelembed - Made notebook tabs smaller - No need to hide/show toplevels after removing from a parent, if it's visible it will be automatically shown after removing outside of it's previous parent. --- tests/testtoplevelembed.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/testtoplevelembed.c b/tests/testtoplevelembed.c index 3540ed49cf..12a79b2a42 100644 --- a/tests/testtoplevelembed.c +++ b/tests/testtoplevelembed.c @@ -9,9 +9,6 @@ remove_notebook_page (GtkWidget *button, GtkWidget *toplevel) { gtk_container_remove (GTK_CONTAINER (notebook), toplevel); - - gtk_widget_hide (toplevel); - gtk_widget_show (toplevel); } GtkWidget * @@ -20,7 +17,7 @@ create_tab_label (GtkWidget *toplevel) GtkWidget *box = gtk_hbox_new (FALSE, 2); GtkWidget *label = gtk_label_new (G_OBJECT_TYPE_NAME (toplevel)); GtkWidget *button = gtk_button_new (); - GtkWidget *image = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_SMALL_TOOLBAR); + GtkWidget *image = gtk_image_new_from_stock (GTK_STOCK_CLOSE, GTK_ICON_SIZE_MENU); gtk_container_add (GTK_CONTAINER (button), image); gtk_box_pack_start (GTK_BOX (box), label, TRUE, TRUE, 0); @@ -66,6 +63,7 @@ main (gint argc, gchar **argv) g_signal_connect (window, "destroy", gtk_main_quit, NULL); notebook = gtk_notebook_new (); + gtk_notebook_set_scrollable (GTK_NOTEBOOK (notebook), TRUE); gtk_container_add (GTK_CONTAINER (window), notebook); gtk_widget_realize (notebook); From b8c8f2ccb1a1b69514bf86c02f223b5f8482e457 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 27 Dec 2010 15:02:01 +0900 Subject: [PATCH 1237/1463] Fixed conflict while rebasing master. --- gtk/gtkwindow.c | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 69ccde5bf9..09879cecad 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5250,11 +5250,6 @@ gtk_window_size_allocate (GtkWidget *widget, } else { - if (priv->frame) - gdk_window_resize (priv->frame, - allocation->width + priv->frame_left + priv->frame_right, - allocation->height + priv->frame_top + priv->frame_bottom); - update_grip_visibility (window); set_grip_position (window); } @@ -5273,12 +5268,6 @@ gtk_window_size_allocate (GtkWidget *widget, gtk_widget_size_allocate (child, &child_allocation); } - - if (gtk_widget_get_realized (widget)) - { - update_grip_visibility (window); - set_grip_position (window); - } } static gint From a28295a742d6492a03c92413e3570724406ca3e1 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Tue, 4 Jan 2011 00:55:04 +0900 Subject: [PATCH 1238/1463] Dont show the GtkWindow when removing it from a parent and becomming a toplevel Showing the window causes it to try to grab focus, this causes problems when embedded toplevels run through dispose cycles. --- gtk/gtkwindow.c | 17 ++++++----------- tests/testtoplevelembed.c | 1 + 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 09879cecad..e69c0185bd 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9236,14 +9236,16 @@ _gtk_window_set_is_toplevel (GtkWindow *window, if (is_toplevel) { - gboolean was_visible = gtk_widget_get_visible (widget); - /* Pass through regular pathways of an embedded toplevel * to go through unmapping and hiding the widget before * becomming a toplevel again. + * + * We remain hidden after becomming toplevel in order to + * avoid problems during an embedded toplevel's dispose cycle + * (When a toplevel window is shown it tries to grab focus again, + * this causes problems while disposing). */ - if (was_visible) - gtk_widget_hide (widget); + gtk_widget_hide (widget); /* Save the toplevel this widget was previously anchored into before * propagating a hierarchy-changed. @@ -9266,13 +9268,6 @@ _gtk_window_set_is_toplevel (GtkWindow *window, _gtk_widget_propagate_hierarchy_changed (widget, toplevel); toplevel_list = g_slist_prepend (toplevel_list, window); - - /* If an embedded toplevel gets removed from the hierarchy - * and is still in a visible state, we need to show it again - * so it will be realized as a real toplevel again. - */ - if (was_visible) - gtk_widget_show (widget); } else { diff --git a/tests/testtoplevelembed.c b/tests/testtoplevelembed.c index 12a79b2a42..c698252acb 100644 --- a/tests/testtoplevelembed.c +++ b/tests/testtoplevelembed.c @@ -9,6 +9,7 @@ remove_notebook_page (GtkWidget *button, GtkWidget *toplevel) { gtk_container_remove (GTK_CONTAINER (notebook), toplevel); + gtk_widget_show (toplevel); } GtkWidget * From 44a9b1c35e984db779613940a2584508b76efb34 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 6 Jan 2011 14:27:03 +0900 Subject: [PATCH 1239/1463] Fixed statement in gtkwindow.c when toplevelness changes. Fixed a typo when checking if the heirarchy toplevel is a toplevel before firing the hierarchy-changed signal. --- gtk/gtkwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index e69c0185bd..4fc770017e 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9255,7 +9255,7 @@ _gtk_window_set_is_toplevel (GtkWindow *window, * things happen differently. */ toplevel = gtk_widget_get_toplevel (widget); - if (!gtk_widget_is_toplevel (widget)) + if (!gtk_widget_is_toplevel (toplevel)) toplevel = NULL; _gtk_widget_set_is_toplevel (widget, TRUE); From 39d0a8ac47ece0ca9546742886c5e46385a626d4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 00:55:16 -0500 Subject: [PATCH 1240/1463] Update NEWS some more --- NEWS | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 69ccfdb8cb..4624bd8230 100644 --- a/NEWS +++ b/NEWS @@ -40,8 +40,8 @@ Overview of Changes from GTK+ 2.91.7 to 2.99.0 * Various problems with width-for-height geometry management have been fixed in GtkAlignment, GtkCheckButton, GtkBin -* The GtkCellView and GtkComboBox widgets have been ported to use - GtkCellArea for their cell layouts. +* The GtkComboBox, GtkIconView and GtkCellView widgets have been ported + to use GtkCellArea for their cell layouts * The cups print backend can now send print jobs directly in PDF if cups supports it From f2cde4cf3b1d0eb930482af0591562d3ebd4035d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 01:09:14 -0500 Subject: [PATCH 1241/1463] Move the GtkApplication example to the right place --- examples/Makefile.am | 2 +- gtk/tests/gtk-example-application.c => examples/bloatpad.c | 0 gtk/gtkapplication.c | 2 +- gtk/tests/Makefile.am | 6 +----- 4 files changed, 3 insertions(+), 7 deletions(-) rename gtk/tests/gtk-example-application.c => examples/bloatpad.c (100%) diff --git a/examples/Makefile.am b/examples/Makefile.am index f15e35d7dc..2d2a491695 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -48,4 +48,4 @@ LDADD = \ $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) -noinst_PROGRAMS = hello-world window-default +noinst_PROGRAMS = hello-world window-default bloatpad diff --git a/gtk/tests/gtk-example-application.c b/examples/bloatpad.c similarity index 100% rename from gtk/tests/gtk-example-application.c rename to examples/bloatpad.c diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index 90d4adfca8..2d68b0994f 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -53,7 +53,7 @@ * * A simple application * - * + * * FIXME: MISSING XINCLUDE CONTENT * * diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index 994d716146..008823cf94 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -18,7 +18,7 @@ progs_ldadd = \ $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) -noinst_PROGRAMS = $(TEST_PROGS) $(SAMPLE_PROGS) +noinst_PROGRAMS = $(TEST_PROGS) TEST_PROGS += testing @@ -96,10 +96,6 @@ TEST_PROGS += action action_SOURCES = action.c action_LDADD = $(progs_ldadd) -SAMPLE_PROGS = gtk-example-application -gtk_example_application_SOURCES = gtk-example-application.c -gtk_example_application_LDADD = $(progs_ldadd) - TEST_PROGS += stylecontext stylecontext_SOURCES = stylecontext.c stylecontext_LDADD = $(progs_ldadd) From 80a11b7483d70b72b882e4009649d8f3f892417e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 01:11:49 -0500 Subject: [PATCH 1242/1463] Documentation polishing --- docs/reference/gtk/building.sgml | 113 ++++++++++++++---------------- docs/reference/gtk/compiling.sgml | 19 ----- gtk/gtkcellareacontext.c | 3 +- gtk/gtkmain.c | 40 +++++------ gtk/gtkshow.c | 2 +- 5 files changed, 75 insertions(+), 102 deletions(-) diff --git a/docs/reference/gtk/building.sgml b/docs/reference/gtk/building.sgml index c02cf82f61..767ebacd68 100644 --- a/docs/reference/gtk/building.sgml +++ b/docs/reference/gtk/building.sgml @@ -30,7 +30,7 @@ How to compile GTK+ itself your operating system will be available, either from your operating system vendor or from independent sources. If such a set of packages is available, installing it will get you - programming wih GTK+ much faster than building it yourself. In + programming with GTK+ much faster than building it yourself. In fact, you may well already have GTK+ installed on your system already. @@ -45,7 +45,7 @@ How to compile GTK+ itself If you are building GTK+ from the distributed source packages, - then won't need these tools installed; the necessary pieces + then you won't need these tools installed; the necessary pieces of the tools are already included in the source packages. But it's useful to know a bit about how packages that use these tools work. A source package is distributed as a @@ -57,14 +57,15 @@ How to compile GTK+ itself tar xvfj gtk+-3.0.0.tar.bz2 - In the toplevel of the directory that is created, there will be + In the toplevel directory that is created, there will be a shell script called configure which you then run to take the template makefiles called Makefile.in in the package and create - makefiles customized for your operating system. The configure - script can be passed various command line arguments to determine how - the package is built and installed. The most commonly useful - argument is the --prefix argument which + makefiles customized for your operating system. + The configure script can be passed + various command line arguments to determine how the package + is built and installed. The most commonly useful argument is + the --prefix argument which determines where the package is installed. To install a package in /opt/gtk you would run configure as: @@ -210,22 +211,6 @@ How to compile GTK+ itself message translation databases. - - - The JPEG, - PNG, and - TIFF image - loading libraries are needed to compile GTK+. You probably - already have these libraries installed, but if not, the - versions you need are available in the - dependencies directory on the the - GTK+ - FTP site.. (Before installing these libraries - from source, you should check if your operating system - vendor has prebuilt packages of these libraries that you - don't have installed.) - - The libraries from the X window system are needed to build @@ -246,10 +231,16 @@ How to compile GTK+ itself Cairo is a graphics library that supports vector graphics and image - compositing. Both Pango and GTK+ use cairo for much of their + compositing. Both Pango and GTK+ use cairo for all of their drawing. + + + The GdkPixbuf library provides facilities for loading + images in a variety of file formats. + + gobject-introspection @@ -289,8 +280,8 @@ How to compile GTK+ itself make install mentioned above. If you're lucky, this will all go smoothly, and you'll be ready to start compiling your own GTK+ - applications. You can test your GTK+ installation - by running the gtk-demo program that + applications. You can test your GTK+ installation + by running the gtk3-demo program that GTK+ installs. @@ -360,8 +351,8 @@ How to compile GTK+ itself --enable-packagekit --disable-packagekit - - + + --enable-x11-backend --disable-x11-backend --enable-win32-backend @@ -381,14 +372,14 @@ How to compile GTK+ itself Normally GTK+ will try to build the input method modules - as little shared libraries that are loaded on - demand. The --disable-modules - argument indicates that they should all be built statically - into the GTK+ library instead. This is useful for - people who need to produce statically-linked binaries. If - neither --disable-modules nor - --enable-modules is specified, then - the configure script will try to + as little shared libraries that are loaded on demand. + The --disable-modules argument + indicates that they should all be built statically + into the GTK+ library instead. This is useful for + people who need to produce statically-linked binaries. + If neither --disable-modules nor + --enable-modules is specified, + then the configure script will try to auto-detect whether shared modules work on your system. @@ -398,7 +389,8 @@ How to compile GTK+ itself This option allows you to specify which input method modules you - want to include. + want to include directly into the GTK+ shared library, as opposed + to building them as loadable modules. @@ -406,10 +398,9 @@ How to compile GTK+ itself <systemitem>--enable-debug</systemitem> - Turns on various amounts of debugging support. Setting this to 'no' - disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and - all cast checks between different object types. Setting it to 'minimum' - disables only cast checks. Setting it to 'yes' enables + Turns on various amounts of debugging support. Setting this to + 'no' disables g_assert(), g_return_if_fail(), g_return_val_if_fail() and all cast checks between different object types. Setting it + to 'minimum' disables only cast checks. Setting it to 'yes' enables runtime debugging. The default is 'minimum'. Note that 'no' is fast, but dangerous as it tends to destabilize @@ -426,6 +417,8 @@ How to compile GTK+ itself The option --disable-Bsymbolic turns off the use of the -Bsymbolic-functions linker flag. + This is only necessary if you want to override GTK+ functions + by using LD_PRELOAD. @@ -479,6 +472,21 @@ How to compile GTK+ itself + + <systemitem>--disable-xinput</systemitem> and + <systemitem>--enable-xinput</systemitem> + + Controls whether GTK+ is built with support for the XInput + or XInput2 extension. These extensions provide an extended + interface to input devices such as graphics tablets. + When this support is compiled in, specially written + GTK+ programs can get access to subpixel positions, + multiple simultaneous input devices, and extra "axes" + provided by the device such as pressure and tilt + information. + + + <systemitem>--disable-gtk-doc</systemitem> and <systemitem>--enable-gtk-doc</systemitem> @@ -522,21 +530,6 @@ How to compile GTK+ itself - - <systemitem>--disable-xinput</systemitem> and - <systemitem>--enable-xinput</systemitem> - - Controls whether GTK+ is built with support for the XInput - or XInput2 extension. These extensions provide an extended - interface to input devices such as graphics tablets. - When this support is compiled in, specially written - GTK+ programs can get access to subpixel positions, - multiple simultaneous input devices, and extra "axes" - provided by the device such as pressure and tilt - information. - - - <systemitem>--disable-packagekit</systemitem> and <systemitem>--enable-packagekit</systemitem> @@ -551,10 +544,10 @@ How to compile GTK+ itself <systemitem>--enable-x11-backend</systemitem>, - <systemitem>--disable-x11-backend</systemitem>, - <systemitem>--enable-win32-backend</systemitem>, - <systemitem>--disable-win32-backend</systemitem>, - <systemitem>--enable-quartz-backend</systemitem>, + <systemitem>--disable-x11-backend</systemitem>, + <systemitem>--enable-win32-backend</systemitem>, + <systemitem>--disable-win32-backend</systemitem>, + <systemitem>--enable-quartz-backend</systemitem>, and <systemitem>--disable-quartz-backend</systemitem> diff --git a/docs/reference/gtk/compiling.sgml b/docs/reference/gtk/compiling.sgml index 1914b0ee2d..146376545a 100644 --- a/docs/reference/gtk/compiling.sgml +++ b/docs/reference/gtk/compiling.sgml @@ -69,24 +69,5 @@ define the preprocessor symbol GDK_MULTIDEVICE_SAFE by using the command line option -DGTK_MULTIDEVICE_SAFE=1. - -The recommended way of using GTK+ has always been to only include the -toplevel headers gtk.h, gdk.h, -gdk-pixbuf.h. -If you want to make sure that your program follows this recommended -practise, you can define the preprocessor symbols GTK_DISABLE_SINGLE_INCLUDES -and GDK_PIXBUF_DISABLE_SINGLE_INCLUDES to make GTK+ generate an error -when individual headers are directly included. -There are some exceptions: gdkkeysyms.h is not included in -gdk.h because the file is quite large; see -Key Values documentation. -gdkx.h must be included independently because It's -platform-specific; see -X Window System Interaction -documentation. -The same for gtkunixprint.h if you use the non-portable -GtkPrintUnixDialog API. - - diff --git a/gtk/gtkcellareacontext.c b/gtk/gtkcellareacontext.c index d2249d9219..ca1ac3a0d8 100644 --- a/gtk/gtkcellareacontext.c +++ b/gtk/gtkcellareacontext.c @@ -23,8 +23,7 @@ /** * SECTION:gtkcellareacontext - * @Short_Description: An object for a GtkCellArea to store geometrical - * information for a series of rows. + * @Short_Description: Stores geometrical information for a series of rows in a GtkCellArea * @Title: GtkCellAreaContext * * The #GtkCellAreaContext object is created by a given #GtkCellArea diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 38d2156a6b..06ec9f3d7a 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -57,7 +57,7 @@ * * * Typical <function>main()</function> function for a GTK+ application - * * int * main (int argc, char **argv) * { @@ -82,7 +82,7 @@ * /* The user lost interest */ * return 0; * } - * ]]> + * * * * It's OK to use the GLib main loop directly instead of gtk_main(), though it @@ -262,7 +262,7 @@ static const GDebugKey gtk_debug_keys[] = { * macro, which represents the major version of the GTK+ headers you * have included when compiling your code. * - * Returns: the major version number of the GTK+ library. + * Returns: the major version number of the GTK+ library * * Since: 3.0 */ @@ -283,7 +283,7 @@ gtk_get_major_version (void) * #GTK_MINOR_VERSION macro, which represents the minor version of the * GTK+ headers you have included when compiling your code. * - * Returns: the minor version number of the GTK+ library. + * Returns: the minor version number of the GTK+ library * * Since: 3.0 */ @@ -304,7 +304,7 @@ gtk_get_minor_version (void) * #GTK_MICRO_VERSION macro, which represents the micro version of the * GTK+ headers you have included when compiling your code. * - * Returns: the micro version number of the GTK+ library. + * Returns: the micro version number of the GTK+ library * * Since: 3.0 */ @@ -322,7 +322,7 @@ gtk_get_micro_version (void) * If libtool means nothing to you, don't * worry about it. * - * Returns: the binary age of the GTK+ library. + * Returns: the binary age of the GTK+ library * * Since: 3.0 */ @@ -340,7 +340,7 @@ gtk_get_binary_age (void) * If libtool means nothing to you, don't * worry about it. * - * Returns: the interface age of the GTK+ library. + * Returns: the interface age of the GTK+ library * * Since: 3.0 */ @@ -393,13 +393,13 @@ gtk_check_version (guint required_major, gint required_effective_micro = 100 * required_minor + required_micro; if (required_major > GTK_MAJOR_VERSION) - return "Gtk+ version too old (major mismatch)"; + return "GTK+ version too old (major mismatch)"; if (required_major < GTK_MAJOR_VERSION) - return "Gtk+ version too new (major mismatch)"; + return "GTK+ version too new (major mismatch)"; if (required_effective_micro < gtk_effective_micro - GTK_BINARY_AGE) - return "Gtk+ version too new (micro mismatch)"; + return "GTK+ version too new (micro mismatch)"; if (required_effective_micro > gtk_effective_micro) - return "Gtk+ version too old (micro mismatch)"; + return "GTK+ version too old (micro mismatch)"; return NULL; } @@ -1385,14 +1385,14 @@ gtk_main_quit (void) * * * Updating the UI during a long computation - * + * /* computation going on... */ + * * while (gtk_events_pending ()) * gtk_main_iteration (); - * ... - * /* computation continued */ - * ]]> + * + * /* ...computation continued */ + * * * * Returns: %TRUE if any events are pending, %FALSE otherwise @@ -1907,8 +1907,8 @@ gtk_main_do_event (GdkEvent *event) * * * A persistent window - * + * + * #include <gtk/gtk.h>< * * int * main (int argc, char **argv) @@ -1934,7 +1934,7 @@ gtk_main_do_event (GdkEvent *event) * * return 0; * } - * ]]> + * * * * Returns: %TRUE diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c index 3b24c7b3a6..ac3d1ac974 100644 --- a/gtk/gtkshow.c +++ b/gtk/gtkshow.c @@ -51,7 +51,7 @@ * This function can be used as a replacement for gnome_vfs_url_show() * and gnome_url_show(). * - * Returns: %TRUE on success, %FALSE on error. + * Returns: %TRUE on success, %FALSE on error * * Since: 2.14 */ From 7b88b2976325b6f88719cbdd14be0d6fd2ddf981 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 02:07:35 -0500 Subject: [PATCH 1243/1463] Add appchooser docs --- docs/reference/gtk/Makefile.am | 2 + .../reference/gtk/images/appchooserbutton.png | Bin 0 -> 5115 bytes .../reference/gtk/images/appchooserdialog.png | Bin 0 -> 52118 bytes docs/reference/gtk/visual_index.xml | 6 +++ docs/tools/widgets.c | 35 ++++++++++++++++++ gtk/gtkappchooser.c | 11 ++++++ gtk/gtkappchooserbutton.c | 8 ++++ gtk/gtkappchooserdialog.c | 12 ++++++ gtk/gtkappchooserwidget.c | 11 ++++++ 9 files changed, 85 insertions(+) create mode 100644 docs/reference/gtk/images/appchooserbutton.png create mode 100644 docs/reference/gtk/images/appchooserdialog.png diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 82355f53b3..e166f9131b 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -275,6 +275,8 @@ HTML_IMAGES = \ $(top_srcdir)/gtk/stock-icons/24/gtk-page-setup.png \ $(srcdir)/images/aboutdialog.png \ $(srcdir)/images/accel-label.png \ + $(srcdir)/images/appchooserbutton.png \ + $(srcdir)/images/appchooserdialog.png \ $(srcdir)/images/assistant.png \ $(srcdir)/images/button.png \ $(srcdir)/images/check-button.png \ diff --git a/docs/reference/gtk/images/appchooserbutton.png b/docs/reference/gtk/images/appchooserbutton.png new file mode 100644 index 0000000000000000000000000000000000000000..02b48003ac2e3949ee0b9a82319b0aa5ad64227c GIT binary patch literal 5115 zcmZu#cTf}Uw_ZYM0Vx7X4M>-cbVPbbnxHfZ@S*fx0wD z_ZBH3bm=v~jq}aixp(f}Kla_(*?rGBbIy6r^FA@A#=6%aY!CnduIcM(Jpcd_;v-;B zNlv^|%(3ne7jS@vz6B-m3Zs1T3IG^u^tIG2LUOnA5LOmAXqT#VI}IhNPhBq=Ek<(+nP0Ul9Mi~fTc_=9!{$L{9`_baN>Q-VQ}YTW-Wzo~?NT2)o| zNO)Ou(>IEz@=x{8h~4%7hs@zq_zW1NF3T7{HDuKB;O$dkgyN(gNpfD^vm8$*O7KG? zUtdX-sy3~?gFbw}2!c}M_Cj*ik2 zZm$u>cLCVb!5>OhHC^b{$?zhboaE+&24+g|7tUKm z2Pk-n7Iqw>0ZK45o*sy7i}H)Z1L+3*t*xye$K079yMoW#f|B{D-VePpE@^+_k7-!7 zYo#c(5T>G`(Rx2biND#%0eKEe(9twDrj_@e{pc1T9N&8kggtv^Cd9;&pcAk2ewB>! zG5N;W)nZ57kB$xoHa3GQSd05~Ib>lERQRZjz%Hf^n-LG+IM!pkw(d4!dbz|U8^Q;&R67v*)kp{c z9`Wg?j;vkfeXz~S_r$j51>gtv+UZmka<|X^cthxlKKFja|0aDVMZ>PMFkA!=n(I%` z%r~BZJ(Fai*+Uzblu03#zg&yG%K!AqIQWMc63}_ifC9Ykshs&r8NHDak+LHUT@S6N zTzsHs$ODC{4V%pDH2G&df@mk?NzQO#?HnCF=MKc?=jZiOwL*2s(~9pqxe(woY(}L) zfgAg3ug@oIrPne&1IKA+YC5P&?F$-xFn*0j59`z){_Z!n&1ftFtggIc*0D+X_nMb* zIBj+H$hm{jaXJO--%;Bu*Ak(>e%ruQT=u<(S28T!O@VTAstf~d)0WV^8ZVgjk=I0pdf)!$w}B4FD!lM!k7D{y?*nBtkg*evUeln=kQfcMXa0k z=uhsXE#KNwO)@_t|G?0)^E4dv9VefiOof;}xNs~qxs6!YFY~^$4C_g8>ayahjm12V zR;Zg9R}pzRJls7nAn^swOzfYR@U5R>cyVG@SUjPP3cfoiW$bP~Qt@+`=(l0*H%Ds; z3wx~VD;}nXIySPjZ=a0{m1JC%Wt1r#b#bAUJOr$#rbOc|AJ=Q9^2v2{d=78d=~Pxp zMNT*1eQlJkLL+WT{K{2tsI&vDSQ!m%Ldhita@FB*xn7kx@lT}Z$f09ArdOmE>(Ks& zMaJDI#tA+t(6KHwQ2e`)+xdRp&zFWO0%#{)2sPwX<}6@7_dkrp2C#-Xzp@kAxb1g5)sBb#Tu&vG2 z3eNq(TxD*u>`m%@#d+I(l?*;ojr`;hwR~|dc9@;CRaJ{W3Brbl!vBb8u`0Q8M{%*L zJzeEs?I9on44FyF_Jb4S%PlS{V`nJUcBO#l8j%l5m)pLPMhBylRBzA;>g5@xL64mp z17EOPwsb31zr34&nM!SY^hobZfWN;&(3#BEbX{hH2ewiyXK^u^FNXT2xbITuwHu-Y z6dARukfW2M<1Nc7yQP7&5?5?}1-e!9E8H`2<{y~29Gl%gQ%yQ44St;hML5P}iB`!3 zDMo?CrLAA*``9m7d+p8YWeNKl7OsMKQYa-ABEHAu&dv(EMa`C3o-UolTt5_zORS#} zC$uISH{`wd&*S0Az8Zh*jCm>nVoP{&>hr6}TuZB>`7A1j8f8$#!=rrt*%>)oJ=J^l z8S&+!h_1sj;Tqa){wLodXq!NMXF@b2uW>Pgnc3db%8IfrcLK&QQ}=pFX*sx^bHXgF zt?Uk|L;Z}x)3m2i<|W2ySy{U3>Lg7~mRp@>!qSwJ)!(q3i6j;e+0#Q+_|8Mu$10G9 zAb_5gq5o?Db~ypzlU7iWr1O4ZuF2;*D+6pJmuvPw5r~>cX}r}cwMYr&X1>5_g6r5{ z)f|FpT95s22hj=IsJ8zqlv_O{KM0MQJHiz;2W<>1%cR#G&>-d(4g#kVb*`~5ZfqEy zrSQtQPgZMzmX&CWif)djWI6|n*6%+O9Njo%uKB_vr=J>aT(Z=n%_SMW$nRKiXz5^Dn+mQ! zeR;fhBM?E&yxv&SL1CX7uK_*%yXHf0*<=F-YV^HxEJOpNUG% z4ZNUDwC^M<(1h5(r2&R94QBl2QGQp~}n3auz$-(J!0+aR+^FF(s;zcNFXnyZ9 zB)uJ3%RbqBBIh~X_i7;tWYJB#aY?MwAslWBXMHta_DOD)i9x+@I_Tu|G$kj;P~*Y% zDzrkove7-#0+^O=k=ZU;=K2qP5#VJ9ER?uh|3y8BZLO-houJJK;w4|z&o?jCZF$xQ;0ZC z6i#gDPhUovd;L@KUODH%19N@7`-`!I< zJu&=y!~vpR^x&a2dpz`%#nQiWXSW9TQI-vg3}l&WhKqg4-}5cbEhzA*fQS2XkabgZ z_xAU<&ebdYIIBFw^=9FMeEN}5Pq`u>YG;3XWITp$*xTEq(Ht97ABT9Ynx9OGO?_5A z3rIaKsa}s8@F|6=|4Pfw?vA2Uu__Ac?Cbg^rwcoqCDKMlaf!dACqbwEaAV@OsOXQbF5Lq#SUghWEs^S_ zrKW<^qR6kgPri#?A`-=sHHF}94!=xGKQfRdk$TcIFqn-vTd-u^1k!q#%!6xsng`IC9Ms39d+AI-yBJL&{qUpM!Z*&(&KL5VCZ`EEi&Z3MCY0+~?==Ud^@`eE-qxg`TlBegD{RkN zrdWe9P4M29#raeFrtg@meQB?mI`}7aM$M*#NL6!ER~kJC)pV{(#BtyqG(0;Cb|pAc zP!Qi>)OYR}MKSWVgue|p74YFh@w8$H;yul5Pe6bP+|xgH`9mmv0UBK5k@ z4|ph?VcwO6JQVIS$rWAmIy8?Ya9h1c`K#WKqb? z>@V}_b6h+TTpcb=Gp~R6VqF<(@?*)CH(ZxT-e;cAy;~BI$EW|}k6s-kYEjCou9O?^bb=x-3uxx^}y0fo3KBVUuE2Qhs5*~`E46Wt~YBRQB3`d5At zk$?}r71|uQ9{u1c6jsAY-7|u1#qf&+DCfV@rA7_8KEV&D?yr~MbPKY~Mytpl3rn;d zDOp=<52etSl#G;@Dh7@()CKZvZ@5}o5)(z-nxr*oy_(3*zdo~V%FXDA#74N_VqM?J zdO_MUy^d}*m;WhXr+M+fhh&|c+y>-P+ioy*G7jN8F4!1cHaB5ta52rOW6ik z4CWhFyz_nGnPZaoF(Zc8>;}rEAYbp`rhQ6Ao{6CR6X098?W%3 zI=UB05=pa)rIU>C@gAohu|D2v=nKQi5{gjA;#3tP^$KJO0?w?d3rFW)3mtgZui!t8i6qy6?_RP`t52)TP)i}z^w6yD5ifIh<9eg9O)NNMWm)(=(mxDW>i(RG$%SP6IQ}2jU`)_IE zhZs=-p=N0KtF}D;A3DeXf_jwN?{EJOt^Z#X`TOxGjE|y696Lmz&X;U2Kop0zeLHKa%!Ol(4+@mhA9)G-hm?Hc+HkEy5oQVb-E1LoFd}BTxs=W&9WZQw)uP9V!Vc^Y#DhL g5JWEd3ekj!;_Vp0%+|s6zuKO@wy{>FhQojU3;#sU?*IS* literal 0 HcmV?d00001 diff --git a/docs/reference/gtk/images/appchooserdialog.png b/docs/reference/gtk/images/appchooserdialog.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9aa7023a838e83f6d7cff9a8ed8ae880b327d8 GIT binary patch literal 52118 zcmb@tWl$Vp7bQ$^_XLOF7Ti5S1Hs+hg1c*Q55e7n%i!(=2<{B7K?iqdoA=$V+CN*h z`_-4K4oMHw-OueS=bU?=2t|1*G-N_#C@3g2>969-P*CqifnyI59yr5QZR-sDfOQs? zRz(E<_#m2wLqUCnk{17>>XCW0>h7be_VRiT&Js>Ao%SxExmv@*#ZsD5s{wUXtm^53 znYvtW+w{OEt*wz}YO1phA0s~^QhbeH`({c08$2ZYYiRcI(c~97xh*yf)}0_(oF{7< z-|dRC0`uiK-|cwE$6!oRMDqXrFA-81+7WKyrAIB`{9TPQ5vg2G)3q~49&9GGrTNNT z$t?o6GVsy9+n>ryt8tOi3@2OQJF!u`TB-CFBE$TkwWm(;jA;w5cQGdB`00~&g zYGHnBtc*8P8_y@m^hMBs{NSlZL`=P+l`}N!!OAzN8^xWAbCNJ^9cjb_- z%I?|Jt-5!LbLw%v$iOvdB??!iTPj04GLku-dlyZMrQEIVeWl7Z8~1VGqlNJT@XPt` z^u^}20==MvzLErX+YqMfTR#6LGaHDBdjPfVkRIx0tFL_kEGwV=YnYI`;^|i@2QxK2 zP5U=j8xh4nYjPt50@oDS8M8{NCx*|{7@GXI_IuFdp;CH%UDs$B7#p^>!33yNjqoW7 zUA&-gXnuE{kkbmYu77Q$)seuO zFQaAn&cS6_9nrq(e41$ko`YYmfH(v7ng?k#WJJ9H{GEV3myABb5ehdsvCjGQofowf zhx0HZdJ3=3?40BWt?#7CF$R3!1-%=`Oi}|wT`?UP!ADlN&yp&%Xy~QFfQ`01WM;Z; z{>Dp;fY1KM>|vTupI^0={~-4`JHztxhj3E#$+cfi@jqNoSSe``Y0dH~lskQ*6Otp< z%lOstNG#ITVg~CyF^#}{I`eZOGCv?cHy8GW!qQ`{Si>KCxYMTY?I!t5l`*U_UL-~| zBsK9LNIU(I6}sAx6+Q1BO8-b|my}ddf)*rmI<2Bwm;UBE#D>7_6l5k^p#XR;uYN*1>h4$dt~J5u6Na~|zFoY13fj+ogs%t3C)>-N8d>Hnb+-?!uvx>S zf%%>Q>9ff$gRR04L#1GP$NEX4jRmxPfu$m$WTMRW(C5ga`>$HiDv0FbwBOUSuVye) znd9)hvk(w7H*oNBU@--;{t}u~P|}wHcGa86M~AL^4)HF$J)Rw=VtKp2y7hV=v9Jx| zMEfI?S5|UjA}$4G<>!y6uP^KN`$@!O!SOH)+1A!d8X9#aBb1~5!uN6VAX&-(zM})J z+L%GsccG{Rvs>4Q*0787-D6^n#AP-ORXFUuHV~?;*4b}u_3Q-3KrYy?7{D@jG?R;> zpI1y$=l|jAdJQ{kClE>xq|8jjYf>@}bG@GF5V8brLkgw%tTvN~%GS`Q4(l{F2=bv& zXExt|f76o7^;%OFzQ}+#!z@aeybHxuw#$K=xhbVpy)%P=fxrm3)!kINYioD}>h{)1 z)xq=yb6kpcae0!vb{mrmgo+hdb|yB14cDr^#SDjoz_gVidN`fMi$-~C04% zggYgNDprkQ?OMFHhYm+xbYsY!@KU@z=*4U|SP}Um?&2`>JvkGFG#zj<`19Kf2u2Kq zEqY72&`7dCz)`?rzZpp!@jo{V$NXyemJi8)cH;tPML!0F;8gv#H`s&+{D(sJq>A ziLt|_b~8pYU;dne`}@S?BrGhfFIF&2hm7V;EvrJ;-UsN%*RDFdojh?njGg_K zoU9)iqy7X3tF&T>?_Ga2WY%lUEY9&J4Om#v{AA97fI%Xuc0UDMWO-1ymm^Rx|2Wpf z_^x@g)w<>2A;;}o7HJ$phyMD`4h{}>ctk`|Zgn`d0gK5Hc!ZS@O*T!iMT@U%eZu<1)km-d|ou7S`}KTgYa;CP)iU_p|BmhB-6u!`o>Ub&wuPcMMo> z@EQ#KqcBBxB|#3GRx1v6*TUcv>_$F{`Ndx`3}{6SjluENwji^1eU{VLQ_5t}U2^`G zF*eQ?-|33;{Q;Lo!Bo9a0`Z|!82aADfR24aoxjMOn}Bpg#EK(?33#~DMT1M0&L^1+ z|1_Q?;KSFnOTrdU&)NA|!v^i4@xuv{rZv%1{f+<=|L1kbk+HF z-m)oY*?H$^q~+pbL{TkC_H?@aArPtB>YDK8Xcdnbj>P^x(mu$@b93~v z<>*(`(BV26RPoGEx+{b=E!wuRuwnh%jIFQ_RopcZ&#$bxob}fStj_i7c=z>JsJg|` zIgL^ChkEB9t|7HKP@i<`Q$5LEFo5qbsucbFi8;Xt>Od!cTy?pwD-e>q4Fj+FL;*+n z;v>nJc*u0o(+_CjyM2>JyLEXjExrgOq-avUUpedU3MosUS`Ff0izfEq3@6rnEA-ov zvHC)>K71HxW;6L=_Hq$7sMX-b1w}tJL@bm(0kQ9tP;zu+HPyixc0xcW-OA2+g$D6V z#?B_<4v&oRdF*4V&?p#h1lRzJMj(ES>ZFwDr#@O}hzbt&py=(Rr=v3*Ydu|TdWEv@ zdSUob$ESHy>Aogm&zd_$XS33tw(5ObyHS8KWz`_keA2Y;izhLaONXqcrY88ja(OlU z*YNMgm$5_C23;xs!x6=$wWOD|25%mWrwfgevd9*rM;`md;rYsCkIhAkbT~Yh&WUAf z6$|k5jrZl5haeD>O)Z^d`OUw7_ge!oZSooj(|+*)5xo6}Q^|bWpZ~c#I3(nJ66ThN z=stbSyhtHqeusN3iwC1%D!6acaJy)1<#nKov zy{c8gIaUrc?hLJZQ>66J(*2^=hsCMv#+$GKFh90T#+uijUZ?&G8h=)7{j4fOd6{O7 zRTAuO+*crc;5f|BrZYA8GBZXB{2x$&UvZw`%YamMM(U@f9WB+-HaiPl{@IQu7S60( zZn~VL>@u3t_||+=#we}u&05L6WMs^98x06I_3|W(oI6@yuiM@oClzJFyA98S`@J9j zO586J>+$442(h^nj2uSq__#4(-~3Wk_1-;h-3bal?PqLYoo86N%{>Z$g*SlqjFI@jo7 z*AoiONsAu>?)VGu<&qr*j|s?fKcz^$emak54^yWY1RAI<)|;X1DdeCBH|A7mcfbck zU%BXe?9xA#4Z~mv$?ARi;?R-j2Om5QmTPDb33j5;EU{gxwH1I8Npr=*Sn(I>E966(pa65~)t} z2WW?wcXBt(-Qtjx$K2&i%wlDMjd*Or;=0v!<+)CvRkezeWZVil}ILh~!-7!j1Y^31g^uh;iWX1dP65Dh^BWRQl%>NQ5K2*Csd%*GZ<&FFq!vOzd&7DQ(Mn#9bPqN%iQW!`h7tdD{<=OI}g^NP2jli zG02OEi-YO5WGC@vVm{N}W@{^YCL8vfzI)|K6yXOV*pb3@wg^a;7~6v}WGCwi0O{q$OO)ogNPS!C2D%U!aupmserq z<68(DA=+`aq=?lWV)7@Q0lcUWb>AWCR@RW#$}WBtcc8d|S3Ee7757}A13QnbT4G&h zQ}P-+>Yja<<#^67ZM!H=_m!&J?mv8VFfW!=daLsS9VA&(36PVD9vB3t`QH&hFxy7m z0&p&DOsDB$XA6|twc)(Wa+e9@EL~=>w7mu0n=$G& z$A&3#gB*tNg*62QMR;6PL45@-A}XC^9HFc7GUL)brT@bk5W@IePO#dQ$-TXzK**Ef0=5O8|X5@WsKhUgH2LQ~)$aDSm^TuLcaDG;~-3?bk%_9(X~b!*Dj zb=P=0YSdYN;_s)#5c<3A|H!yK5KT_c#^%xP@b7F>(BV{Ql(%UINrD#eqM@HXK^}KK z20wpgM)z3$dpekD+5eIDdE-yn|MaKtGt_m=6aaVzKw-2b4v?CLPyL?1*4g3+l{X;y z&cNKR9Y2AiUh``6+w*4Wec?JdL`yVielg-ls3a{P52)+OiTVgaF{fncoVG^g=Nn6+ z5)A-#r7lc|PM+Rs1K;b*i;{j8M;M;I*S%vdd^OA*8ir27UM#7=ffPW_3yK<(bJlzq zVQOnx(_{gBg3`1cBU!K+yKHxGup7Y<01%{L=&O3qIc>gW6DaCt3) zrl0pU97h`Zk`rq<1tg#%A5KOTwKxhOQD+4nvCN)-8^8Y_X;iLMXBfeZLyGGg@4`(= zN)lRy{SOhu%=`bsw<6U$I8J>-<47jXYPS7VU9%8lY`rbk9*;ZcRcx_DpLnnSCi%7Y zos)IOt21`6bF^H>F7sMX|0cCc+DB*UWDny5;N)j>Nq7|Dmvw3TKEO}j0q%T!(@J!^ zD&=>N$)oFjEUg2=+zR6}gQ-(;a>AZRWCZY_>2fT|)4IXy_!ivd6y#cHm2*l0rArsr z$B&97F00Lr&Gc*|VJX!8<#9k-&p-jBfjCv8BFt*ve8O+ne4-72#=!=jHE~Z*zV)hy z*vs)O_<+If&9Ro#YJi9Vsa0BD=3hPv^Tv&ion!$YH)Y3b_ZNMido#Dw#i%iJN^0tm zw>-UB6k^LH!f?~FuKCh>$JIce@NnP$QV%KsYNfS+kR{<$d*t?ux zX_=klOJjT1{q^gY_LXZ1fQ0mH->L&#NQfmT;lu6mNayq8z46qRdEjERTvzj{KCp)S z-Q}d<5Uu8&BBGY9+7W)eDlXd?=;dVvU=brT6Cx9NePNEgR^idnrf1!OPfwlR``{+~ zIIaZhDI>(PJ@ zV~o!KE-r-6dELGBH(cad=WNfGJc$>4dCp0pr~C9zA?}4Vz?YBj>1tQ!+^Yi$fXGVP z+QXfh&zauid^W3{Svn`pIBIG&nxjxYT}CiO+_qblV13)0JUG_9YaZ4NS=Hs^3cXt) zo^?lrd$G z%LeU6yX66c*K>R*!0z`s{(+K8+E>qTIFsRDo*C@N_Uy?y5EeQW;bY*UW`93Oj=@S|6>(PmZBN!f6o5=i%*dJT~P zueey0BEvSXVRiXy=ytRM2Wu|1Wh{{Gb$s*!UORo*;RDq;oEy9FlcW(4sH&<~1F#Oz zKY}+BMGgQZ;IjGQfvDvrS!c?UbH#6D%+$i{UA66C>;}S<^{ZzDi|})*hJhDWz&(mE z?d@MIsO-nvD31<(Aiv*Ru6g^s3=R6!nX=(!iogWm8Ti4esU57A<3$N)Oyp1O&M^!RLTZ)Y%(9X^PbmNSvYg%ujGzyRFbf_;1C zVE@_+!1tPUZhBD{0IU0?&zd8FB3z(hP6IVUG{2tYL~>v$0zftV5j_8)-us+0z-$+5 zI`+_t>gof#Oge$PDpf%Elbk-?#-JA)3ADX7+_vd=eaC^)&|}L`5KbM8EHpUpb)Il( zWeMiR$+`&CQdJ%8%p~>^CYujOl#C(9^05bKMbDo5iZe^!VC>#a+v&T{YHBwpBj43e zR=)2|b{QBRj#_d~w`s6IIXT_HuzGI6=I7^!M@AZ7{6T^`TJGwS$QXzwjTthf;G(9! zTlyV=gIK2-ZjVoLGB$MoWhA84Hikwa^RtT!C&9r1)5G3!QhBVcfvIWTF~r6oR9Qnu zy;5JSVKsKjaHIYEOtm&;DkpjM(VkqaHTP;!NeLbB-hv>SQ`Ik3i2%cSi~#WBkVVe+ zlU53=*OqBj$9d64ZHPojmcBv3_=*4VbJau|KU{z(na|&f5%bGOkr$+}zNwu?Bu5&) zonlk6`yDZW(=f-q986RIlz#nrGtTFx>lF(JhvZYilqJ5PrD2p=Tn@b|qVHj~5J1nN zQe}%ifWFrUb}2mx8#H~wJ8Ud0EPQ9kivI(2|MbG$^yRw=A=m76h%)%R(-Ki44m@&? z_X-Quw2amrnZ#IHSxz}>eE$W4*r40yT3?eh>T6GG;M0N_BPk~7#gB!x*>j)~H~1I? zCMvt}19y4<(*Puwi2iTMwSL<)ADHz=^QphRiB{qg5?S@!$c_yBJ5s5bh)Hik(Y_1+ zksE@2`!hEbOf8H`onKei;uRPIY9EyYzb4id!@ew$@_r-=Fk@7A*grG+c=lzLcPuq& zjx1o#8f;XzSiNXdVV6oVdb0ld&(;zr&rXMK+z#KhLaQm(s*Oa)mCJgbD+e0Q)i-Z; zjxemRr);h~2vSm7npadrgP+Qr5(P?Ov2T>!<}W+G*#NS+q8|N!qJ9F;52-t;j%BYd zPWWGE+lf^}_ChF8Ntl<|%E`(r09FTP>&CZgx?Vz>^fO>!AH1IjVzSDl!a1hsMS5)# zGZX)Wa7^q0`q#zK(?s*0g*&V90&7v0P?CM8-jKcDE1iPKt)O{b8UR^V?0D9hpOF)W z{si5w4+8kQX3<91@4CU%+*DCtsV7FHBi8%miQsnCm6nLxZp*=r8Bd>(x2?8nJOTh2 zKqWefKSpz17G<+NR9*Ai(?cg2-|79vEFsaqXD$4I`k$qzgF5v?myadO=W30IG&C!* zdTvkr&&UDC?ZY!*-kOeLLGRR8Rvv~+d4h!tS!!+VZp`#`i)s~P`j0gnO$N{UQ=;zf zX6}8u{9w4axGLv4zHh+_8{ARbkNbwHm1~%A5-tnHE@nNhAG@!L{hpICHiib&8mM5c zPqO&8+wCR6m?AXA{fKo_a$o}tSb3*A(-#XU!SlGT%kGX_AW996&=K6if_j4BFQOh# zDFp?I1CA;_t>rv&1AtBx0B92Z{ZxMj6IRbsp2Ii$JTK=o@Oj)&;XB?1t#voom}m=$ zotq+?0d}zZhe-N-Z2$F}T)!bFyYm3*N$2(rb0y1cYiyH)k|Dp_zwphmUhIv`Qk8cL z&EGi+3(b1Kr|sKre(csCfOi7ODKBSj>+DYABOC_*(*kWL%|SW3f>GgT4#vj$p7-l4 z_1Y7_N+#Z*Cj zn8*Tfq3P0qaA(T|_I`~6Nl{;g#*kX;B^XWNxEcDX5wFOZ6<)M&9)#>gc z&XTdVSt#`B2lky=9X1pJ;wA>rTk|>s5I719=}|lVbD%-M?tuuI2hkQcW)jLxD3Aa> zg?)YO)Bt!9tWNCwXKE_N;PGw4ztvc%1iX>|ewzZ&UpNOZZZHVAfO)xM|A^?3*807{yY5?g9JcRfFbu!KK$qYThk8FJD_FmLY4 z~oF!`HH|NHlEV^(}3$)9!rCHLzB^rN5?JQ+0$+UelQJnvh67n}V`PM6H|heIH6&F2Q1 zgW?#xOfVeN8lpMEzNJ-FRv%)s(1tG}m60Qn|FQ_mdV0cPsgq2d6HY%K5ZJ`@9GCa) z+!!{||2q-+bH|nt9$sxc+salVzY=->$7X|o>NSh#T{xk$&?XG?{^mR)`M7DZnc>6K z#_gjLE?U_k3Ll*{#EMVbA^1nHV5CgcBm={FgrqXNEGk(7Qo2_rGm&eRlZ@@0M>})7 zAIp3=Dlxi%yamaJZ@kZs7{=gE3ID*2gTz4ujW+iocFv`oUSS4!A z;bp$1!pN(nX!v$!^6SjES*jaS-tJ&Flk|?0+ei9O%)hJe=-@&;7i{LJs3b9Q-pfaF z!3og_USH$;$TxyMnJ)EnNPm_8z42EmndK?+sz%ZABf3-zd;!5|hx3%goZ?=YD4F@@ zS^TrYz0u@j;@iTt^+ukDx;t9{8%)+1l{eo>*pa@r_hh`r~AArTxwkeD`@u>UO&vMC12h&qjkW(0Pn= zBp}?M${KKY=}$K8#tE_a#=3^nL7K=8bX_8_ZksWH23%H$%)#700r zrtLcW2v9P*NEsO`T(L0fglul;pq`OoI4Nnl3B%dnjz^1)2_U>rG#whqi(&}Sm?U_8 zw~QK&rjs;Q%S7FqW8puE^eSu_(WyRavk+tXyPG9< zpU`}c4R^4jL4D9P=;cRK5pE1QDySoT7~p-;3xq{nzFcO_GR~7B{Xc;71^5Op9|YgG zP(A-c!tFqE*Fsl==p%fdN-Gg+uAMsrJ)KBodJ?^xl%U#Zz%yD0x6n|Bu!|n`4R3lm!@9X%|KRK^-jWN!p zLe6}WAl!elm&jg!6k$2)xz}rjL10`h>i$yNIJ^1IS?rks{R%JrEXFyLC3bP z@Ky^j+g9mtpNd|%FndVr3KvxBjAY)vTqQH!F#okusU_;>-6|L0mRs&%=-jCc7)njG zemy_dNj#**tTpr)^5{E)SC%vFjKRSW%;Jn0cGh3KJb&hi zATkEH*6%yqb%Wg}Echp3mUX7*P;0v`q&bbjk}D@G3>MnkhQ0IInXBu?0ApgjkCU zVLf(_O@}i$?4Iop#Pd|~(|VHm`Ciuxc34OHYll!+b+Zk&$|HyO{O9}vio3nK(=ASc zQpH$B{X*rmtvdO?2o>C)2%#h_cyH1RjTo9Y?=s3r z+r9>woKhU3SHeqt!HW+bFhq)NKI6%xnp+rGOfRRyH`d|nDa|r_AA|0^%WHMZQq1gb zTkT7z0$Y@bS=GPX!;coR$a~2H1Qu)&c_&Ng-6tyypKr&3NrCKaX>|N5e_gq!r7T=l zgvtMW->XNHZDWpKZR^~~Pvek|R_NX=Dehd0!gxPd3`7%Kn%wW(A*v1q8cOd)di^KH zU+lfrR8o1GvZH#37T(7nU+(rNw7PbQ4lkM<4k{M^6kl5y$TPo3=aEn|%jCJVakF2Q zYygW%m!esxlBz|RjTf(TSQ%1?biL~9dvA9UFM{$%T7MU}g|>7r_*Rk)`$Md@3Z89ujrA}Wxma;6YRYa51aGZ&&A(1(}OV-DM7I_ey-LoG^!Wdd&esHEsYn)5noQ@ZtHv&E&gPz>N+gj^R=I-BzN9gSP8QJt8$-YAY_mknesS9 z!njqmy$I^cF8Pc9U|v*h`HlKMiBH#gE~))u$$BAbW|F3XjEXj$?K`Gxn7T@xKiqYH zo8s#D2eZ+G0>`5l?6}H+d<8NaUUje_9qRcrTXEcgrwdNfddJu6-CIQ$NuP$D5@8m4 zjgDEHS#LoxpAW5P9_?IaC2L+#pL}T=mTwfn-@^|=@;UOo^m=w&=KpPQvckq1xDC1i z*ax*T=hi=+P9@>5fER9-yp)v;&3(xG+{1ABz!x0co8y(fAMPT%$HmzLW}rX6Vdjnt zTYLMXPFp?i^1`%UpJj~ubY+EJi)|jCkcQ{SsOL3)EUNXk!sS%ob==?{mmG@p=My(cYetCD)`=f86LmO7PQ@kj1e zE{YxSUZApsGEpK$qsXD}y#F8l?ys{G^gC}*T=!E@GPm7s!gBpCZgoKh31{9GuG#d>og2)HEpc6qcDMlBT$S+XC{ z<_YJxiRAS@eY^E)@i@b51cq$>ro-`@#9hltJ)Q7J3j5-V>DuFFVYz=tFPngg4E>9x zaqDskFu>memBprNxK^%?s_N>wGY5dCPA$?EeTIl))?cWqvG`XYapWT8+ns|EsnVWE z54gn<6<;v3_ea70F?BG(=)cM*eD|cRT5Tb2e=6yerFFAb_$^`o8p*OFzV~)ytm*zgf~zbaB>s+g?HL(v(CX*$ zSX;WXcVdYcdLUmq{Ke%5inkD5+d*yp|C4_PR&q=_Z`Y+ivbQIJ={j9Syq@dY~8;4NXF3;+L0sA*v#Rv%8fNc%Gs!L`t|qg#7_- zNn~NGvC9TM17jJy9{V3luCIn<4TtZdhQ7-6*>DF=UkUKZ*@;)ej;pJyi3oQ^PV9++ zc#IiYB&pFmnnIV-303v>nE$Tb87+Rr%MPG7!`}>IwsJ$$ntJy8is)_;05S1O@agYT z^7~_PQPwHgxcxo}pU@;@9I!Qd7g{ z)JEN99f-^METfDH<4tYMMl{K(`=QcI6TT|Apln0qxrE`)$4`)yOrH!lIXQ?hsK*-U zXMX6%T`aVfZaw;rTgm3|Sb9umvi^d^mT+R#QGJL}ugbhL->OpKj~nx$vc>u_258;A zJyQXj3S?eUMI~y;641nc^!7rxuOS|i&>Rv=x)2JL4t>8GpH)=V{Hm-)UG zLQ*Tp8^EWI$_+Pay8UgFgI6?y*8J}oU*~LsSCldYmZXAt)v~Yxkrd@A;3V#^hW913 zW$fKfTz}%{eD3n=kd~M2w?gyD-Ea8t!RLh!1_5nAX>Y)o+YpUo^O|c#t`GF3T&-I{ z%%dz9mf0X6U!t7u?nzi?gptpw{^u%R7(M9PAyK%*kIY;F4j8vwBJcB`yt&KdK8&rf zy%vaXM6<`v<_g+JYARq8-&kk}c<3b&kLw@+h~!NrSwWm^UnU#8i4S*YD>8tEEc><` zl1{`-P%+l@li6RV$H^CM;Ve{Bgwle}78WF_4 zB$&-AN#!Bn@31W^L03OpRvG zI>BagQh20sw%gvSRbEJ{BFUX9;rLES0O9;Xy<@ z$q}V!=J0rGcf}-4owEWu&{{M(>o!6q60DtTlaIz1&IIfGXMKS|P*zKi`m&zVZcJ2) zq~5L#*P-5j3eE*H(nZ2c6iB=y=HkLl!gZ$OiTm*+dYI%uEQ2d=YmdyPcx36l?-YQB5EN=@$w|4lZbTcPipjB4Ci0PvJeYILMq1~3?Koh7&N0f z58!haA-c@t>QX;eUm?Mo-vy-2;=!NDZZRx|kvC#Qs)vE9uyg8=zwI_B-?pf#9W4vf zcs<$nT<;f5pLrja3bYrEK_Nl}sPA;~;=>PJH%E2WKe6`Jj`vN|Dl%8Bx6G1i%2NeG zm9VT#RoiYuFYnUjnXgZ~Jyrv@&Sis-<*}BHXNnbbn|zTv=IVGDpUktiT>I&;=J$Rz@CwK)oTMA2goFF=E>S)9+t1Tyrs(mD~Qq!&O#Q z4JU#@w}ozyfgf+~XYh%3-)6fyqS;>kU}IL1Py?>!<6{bFhs~#+vm_UAYTcQDWZRVHx6tFvj5c zgpw~QAT0iHzn;`KW-X2@ayd6(wTLDcw3c)ThEy{3omLe%9hX<%%$cCs9a+q+A96(q z&4tX8=th)#@Q`{d^*Kt2lnmNgtzNyPhNhz0sNI+Nv6Qu;E6gdO4%+HS1uibWd{<~Y zw%_A6(>n%jrzwZR!be0150@tQ%@KlQ z%8sJ9A+_1ai?qkQ3x$*(QTtEFQLS4*c(QHz#Vub^Q|XT)VL@g5mwLY<&{e(C8*R@2 zC=^WSJCh-3jYur6uJql>%8AxxFM{K^!CBOFpU}dqB^9Z7hnV)rl3|`^-gaJE9^F7IdL@?Rtrl zLF?b`A8l1&LsRvezd8RPa|)a?O^BBk<<|Gc8ZRLF!K21aW2)k92q&CEB9?%K0BiSb z7CzCNDu@pxH1XKh4|*OHgdGI#i|#2C z*HvCyDjX5!cys905-!Iy)16)dk@F#k&YR4u3S-$4B-w$MG9;nCgBF&kAAGLe0Evah zYir`iDWrEB2%?e^J*g+pE;#5wt(wF2{Q~w$PM`fYM)Yll#UOf5M5u8}2pbJN^aqI^ z{tLn*9bwom3_yUv&3dPx22^LP`Av;R%anQS7-qrP^bP~8Y**6pA4~uUI9Byf{S{`s zUIPVat~oREzCFA0Ok^^zfF0lNDpXy&8Ldo0Xd?dg*xq`v>I#hUUdB6SNX+3#GeD9o z6x5mi@HB9n^mA$D%Wli>|)J^S*YwgTnqV0mw6clmz;v!+uoyz+2>?jT3;l-&Db}G}rLwmObvzRq;-zhg@0lZvGv{dC# zEVjF?jmJ%`8Gz^Wy7@~V2ikvDnv^KQoVO>eR0${aCyLcWq1So9550Q+82=7AyS_gu}Nn`#6Sgc=6D6e*(P7zSnA_D7COCIT24?Kuf35Ch#>Ftix;^&#e93Xe=+;k z7H3e5J2=4{kZ!0&A5G@KWi`vBahq{21%L6l@sD7vHyKw0i;HmQ%wXbhT+DHu zIn%3QIU~f_1~Kez=Hg`_9v3Do)a^Fp&p71{AMAcBEGg#q%I)9i58f_1m$Ho<+~$Xs zGTa>JY&4`8e%)8Ny3=7Re)TwAX81Ei6}TuJIgX3(SQLHIeCBvl^cuU61qrWCipPa> zmCy-~B>QvL1Ebiq-W?kF+HXYQ0j

Zh6Jl@ip^0F54~?Q$(it8SS^f>=PjjQJn#0 zm$sB^7RKCZpH^!EVnJ_ed|&EMXOwuZWv|vWpf9XV9_aatFQ(LH)GH09aKpjti&`nm zdXUzs#cXw6^rE-50*?~VQDmfIZ4*@s!ceqYg4h>VB}~mhKh(cp zv{x#bZxn8arpWnKaLXDx&N2WLDn>m{(qcch64(kiH8$SfEvUauLaL}uEMjx(u;oa; zz|JaW@PXPPOTI7zR6+$beILIXy3IL)18lji-UGX!mk#2)b?>4oVo~1qDWfqkGJ3Zn zT{K_=|DnMBzu9)z8FmlTvce4PxuIiZDX6Xeh1Cc22yvEY#<1TWiHcQVXzx-U&^r@Nl=NiVu?Eh3+eZcwiQ*v+uv)G`HewQS(8 z*S2kQeg7U$SydPR>E7XF(`_VU%zRwn_Nj_TA27AF`vAPTTujhniox8Wch2}LA_!>2 ztHsS6h!@Wo#e{#PpujGllMxq(#oAQw?dwBA!5B1dbg^2^VR@<$;NC*0QY3GNT%f>TDrwEOp3 z=f1Y7q;^2|I+`UsB+Gt~#Hmduz28Ck6^p3RRYJX{sugn5I&U_o<}RTJ)?*Ae1J~9v zASx%t2GCKFUtv#sXGs@LbaaW(5MY1(`Z+OY=vi<=u*G?A#d{4Hwfx3b00*ug8ZkPO1-Xk0eNEZ zI9OQY2&bLSrK3l<%qb`_lJY9FGuQhce$Y!}Unf5lEdtW>++5a&Q4UKNl<;5SztR6N zipH!q8I(eOIeWHkV4_n(`m#Uw1%DRP@*=`26+T*f5``33pUABZEn_TpZ0)PKI2El^ zoJrlHL)$7{k__;eUO|B+f9bHjs2aa7?=g06topwaWsHrRsnFoOf8Rgy`h@4u3SPJv zsc%8J8OgBYx4;-ZcDroC)BjfJa3th=dpQk`%iJDjK)*dGiDwfaQ_ft~?Y8w0H#Yl_q zOC_S{vVxOb4u8m=fe%v3NdM9`QSo^BIfp*F5Puq38l;U+h5 z5htx{THl8=O{;rRpLz8#wJ2#eQO-VLgjk9xhfu&z^yHER3~7H>va}bs{V4NJ6`Jln z1E&lQe-cse>d|IQSg7Ri;&(5~}jkkBlp#BW@$EO%{m)o~XJ4z!d2%mdo z+z`e{4#W`j0ZO12Sd=xxI|bOAQJO&81hJQLMJG*s_ZgTAyZ(RzY^*yhI>G=($yuH5 z9BOYLgFS)GhP+`+0iibhlhSAG3F^2YY7jY z@)W-TFZordoZ8y>3}|?!J^gn>vK22*)N}f-)DW=2lJC6_RsU4z|9w&Y;WgoIv4nxy z)0)Kaq3s+Q3mXe!erD@J`Qu>DB?nifUhhBL?2G>5k=wne8;FvM3Ns^fyx%Qczs85o zB1f0(+s9KzgiVKlh^fY8oBsU#VyU5}1^&zBt)r9jHe`+YiYEk345_kz?vZsqyDLzk zVVkj$%VIq^quqK{LPA2C?Y)>o5qqy92~|K0w_CuV4E2qAGFo2o%#kHS3eSf0HCbi?OrRcKbJ8cwc8{!O=$KeiB2Z#WaybI2eDV&05NzdUWh4_c3w#HWs#LqS13 zKA@5EdWv?m<%)-ZYD-vj_}K}OpcNG)9Q5Ch9}~4T9Jc0JyLjsB$$5C@yE0R9Gufa z;?S$?c9T}=_xz<_TvqbH@ND_SNUSPl$irF__u+fW3+G~aBy&p{x`u`ZvM-hnC3K}1 zi01O&Pd>IT+a03W?pd9`qBsPi3B~ki>xT>>D)YfV-zvY+31y-1S}*!GO8Hkr%XnX+hI0pVjAb zMauT=%xE~^zO7aTQtLfcNaLX`U48?)?9 zEX4|Sc)D6l5 zanezhq@Dr+cQRQ2-HxB}BKsre4n7WY^ZR|>YbdhM zUVY2w{q+Z1wu;?CK=D? zxt=t#+x~7+wug{V-AdtJ>D!)Wg7y}F(QC3beVnh|t>27DW52z;*v7%bJv(Dt+sYUz zHgFq%2+XXkyAv`W4+sKT=CQ5=|2{N4MCV5>{~pB~=7~A<;N|kfeK;4{9+)tM*qn;? z#Pw!^dMitphUfOXxwfTEfJ)@5+=iGDWk8Ac^d!#B=3x=35GCOd|nN4G4c7>8X=ma7@=VGvCBPm3JZ z=x>u`{-q+sk0l#|OUU~Et#E9QmmqZBwDgf}?a?#kxVu`QZ-WU%BmL`_%}l$yP7WT_ z^ZXfgL&F~M2GM{(sdQ9-S!|le*8w~ID1PTOrYoe^8EAjwEiEqItMiF(8t%>K&kEmJ zvVc~vH4bV}Gzw0cfmS1V*>+vGs|K<~2Shyn^~v2TIGuTO9{anLm+Z zf5KK)W%5^I#@?B*!38v-C254NY7TUxPE5Ys8YWy3CTyTwB1{{j;hYlYe_X!e;LGH| zd)s?llS{ydnof~QmXt2hk?@QgfWl88)zxn7qC`ztNc_q6Ajy|Q4nZZ7CnH9y_aoyF z2=>35u~?+|p<2bCu1DYK3tFH-(0n`FfUAaWT6V$i`tFY0BPtq}m%?rIv>U57k%??) zF2@p7i{rb~onJMZ>~UBd%xO&}@|UJ0BkU{zh1Oe|)Y~gI<=D2jdjAp$K&^ zRxFpSvNWYsh3>KA_kRsmex*>vG5EN~mx~7OlF}+GdRIqRPAaOcysTaReB@5%4PkCbm-Qex2!^mVWUv`TV8Sja+7WwivphY3`V6M0V{z<`x zZXCQr1W4de)AvXynP~r7RaBd$+TgU53A<_h;t@$(TSnFR&WCKJ;&0Y=&EY^y5Q6q* zbc%cJwzhZSD1J#qYG+Dy`jTKqQv4iI%u$tG9*=p)2q@FIb0BLVt`w_V@s|ED@lzpV zU}DOC{>(~az+6v{8M^|Thup68BB&56eXe+q33FIR1{KYxuY^oL6d2;!_Zz}VIwt42 z+dWn8t)+{c7z#ayRlvO!{C2tUK;CZ^O5IQ_kH?(aAjux>90!*2223FuaAA( z;E=w+7FS&S{;JF8o~W3JqUM6IEnh?&kAHDCsEUF6=jcP89eI9J%0Wu94k{RS+Kh6w zXsCFH*SbgJAheC%yRtAj6Mr z!+W1&WVMz}U$8>hf@)^g%59*>l5cuvcS0f+qmk#N9aK3$o4T>jTSs!{f$5qH7353Fdft8u@l!%dTD~-TZ zEyXF(KuV-jp~rCW){;4TQpd>Gg`(st2FxqP3b9T-yiN8U01gGLN#)b@{my;?3^ z76#?MhewC!mz2bvvar)DGtSHPXl=acmkKbZ+FgS0MOdZRFrm&XhMYXWmW$OBbCM+> zYPY09PZ$i^x?Xn)Pi(`{;DHrjV$K`9Nt1FhwNqJl3g^izHmWM>B0(qfWG&Grn31c{ zVhC~jgLH%fvduUlo3Aem9oa-<*Zc-mF~~2%>$@Z;Y+~ZVz{8V;&6X5eDd@s06@Oi#{OB%YoD_#ck+2lBcV_G? z-azG0)|HST5kRjRJjY1kDS%*zZ`Jg5IKTTKX&g^6#UIKj?{iX4-(QD%-H`_B8^K$C z63@$8E@7|jhPjr1tweh%iz(3ue{$wV(7(OlxP*GR!;^k88xLh-2IY?A^>t%_1+l`z z=3!N?mkF0=l(6M$AzB9OCYmr3{$o8L`dlMFGaE2gMaHWVqy{O2#U+~~rQ%?m_j3SM!fL292S5c6t9HKm5No`@$VmJ=+w=( z+VX3aH#Cgp{rbmgoyKlWL!T5;^ZPgHr^*E|fHwd|Y}IXFiqO%%P?g#Vo!SOr#8d?Y zqQwZY2SIAHjdWi$r4$B4sIV?DzKa;P(8!2(#EpNm8Te*tpoH=+*5;GA-j~cEIhzOQ` zJZ>Aej+U;vTsF(|Rxep6UBy4jB6Qd->Uq7dx4$x$@`7NC>X<%uo`ajM{I-P7fP@=u){b17*_V~_mDW_`_w8X8(t^Ygz>NPWM){^xGT&DmAaSY?QhUl_W@ z0Kd_KJ^EU8k2~^uVka z_2^KtBbgPEFs8(!mqox>xdwt`cP1{fk9JKq`1Z4}BcWPj`ZIY?6Yqb#AT%juZ<1~5^DKosrN z3O@(@`$uT#bHS*lmXOBwIiYLRITFvY*LCh}caW5lhb~Ne&EuPRXzb}0cC5P27dK+z znb2e#{icB~#&9e@?{?R~?U=<)g`Lr?exk^fxRmS@<@BqoB1M=qAc^6tpJv?;V>kWt z@ov{>{k~-miwL{-^=KGM>IXH+z_uH)@IF;Id)LSl5%H1rAKifcdqbyju77lPhSe#> zSq}`_<5~T^T`$DoXgCXSx@#k;9dCf%y&)zRS9IlE>~^>uP&xcF{i2dG=J&>5)2K=$ zSA}fP^ml48 z__y(knwS-aYH%w?iL_X-PPNIOJ)TZM4f!Y?vGVgARU}|j5e2zxnC=WR#?dw(NC1}g z4fGi|EiE*ELH6@JjISGx$opk&&uISFG?oQOBq2PD3VvJG)p{Oz0`-09f(^|(*7%OJ zw9%NXp3c$tcAaN%oeSF|I6vHtXr3Ml8|Ch16BsPA4S!Zkd%tyS%dF&2Ck-*b-`Z48HsB!D#ri`Le<^I_l{q!V=7;rfynZlE zLQ;y&WM1V}tod}a3VrKKHkQTPn{8gf{@-(Wu;Vm~+u1zUaZmpW`ArDiSyZKRV)O7z z5%=Hf+s>plYieq%>*x&Cm#Qz0vC~sJ*S}t!KD;3qeKV{7}aU|iME^^F-4I!TLf@h9ryO-p)>kwF;m+K>()-BdO zN8TNu*#pT~K5g{X4JRiin>6U^++MQ3_r8Dg^1S1vkw*vcy&!hB`INN&y?Dyfl8W_^ zgX+zro7KU6r&?x)k?fW{Mu7XA^_OWL-aUH(IOxn%l1lcxItPZud~5%04B*>rfRze> zsTF_VVlsJp*6||C(Mb{~tBn8r`Qvo^YqD;*>-L% z)TLJ7ow&DUEUJ;;m~{60%?@gNOe_;PzBLjHHj8VU=ezrZW%r2{fV$LxScw&W9K48- zm9CG{u^?EYV753}?R=YRDxIwqwaO-C)o`D|T2)>xY(eBoV;7H!sgT7Jpl7GoJtOb++Qyva^H3)>qk42=_Nv4#XUIK?&O#RA+DVMgKUc5N78vpyRzp|M zh3i&IRU&npyrUqiIm(?#9!(RB#0AQvxxgi0%Z55#r1Y7+U+n^a*y!b)1E~2ed{za* zO;2-BlG`ts(iU_IPzhw>h9rRVAulid>zrshSMeOon`i0OBXk%}99`^wOHA#4&VUxU z8?E!u4O1LxaD){Nr;-gz_$qPnR2<2lR`7|rn*9-jbaCU?Wd7?sXBpnY_&i*mot)T! z%_vb8`^)v6xyAAhE%tCqR$ zK?SOoHV{PRe(k^B{&h^TmIo^$`-Sxn9I{*?RC%KdUlj$55^M2=tA>nWbyA)e5m8U)-Q04RP?l^rF4M?C`nu6bmhiN zr}MCjik2F(=5Ts~uf8kocN~W2l>#|Cf8q4G* zd6zw&T%RZSB4p*9*a)LTCd*D2lbEc1gH-ERo(?Sr z&C5*7cKBSOs7(!3`yE6{YCyRzTKOl7y2z@55Vjarvrt*IP?>jxDSahm2On-8_BQHuNHn9qg@t*O|3fyE*u4gn50=eGOJb!G!}n zRuwBX0o2u9aNX;oK^}XPgL|`e7Hz!fls|jJ!((=OV_!zD=Eh!a;B1!86bGY!2dYv^ z)of+Dv%XQ(n476_UAlHoCIvP<^2wb+Lj*Feij3udDz^87m0eT@9bTUUDO0l9Sx%d! zPUzDsYvvGi#=DhXbZlbce&Ay%tr;mx3(kd^cCn4kPS-ZRuDb?wI7m#{T$R(Tllv|O z#i(0H?rY-tf8rYagaH)RX8gkRb-eGtmS|!D@6?lI8PzB+F0?$&Z%AnP;XgAxn?NjL}@6R4cZPN_&@i3-(b%PijHpo`eD z<*Qn&l+FTstYyW(e@?u$3xp-sSiq+tNUqR|I*)Md^G8i?#vx#p25eMHbl*?9Gl5iL z=vdI}c3Y7<>*B8YVAoJyMh4-;?-Vkd(I|infr^&KY3vQQ037--D59sonNO7PP?6%x zqid9-@}@xw4h)VJ9BzAgMt5KKVcy^WEO7q&|dASK9;iP>gZqojp|fhTln2D{=U2B`37Lsu*hg?YTh)mZ>6&q#Qj^7q0il3 zFL(YAz7J&3@Rz&j=+D=IPi+`{&Y3PVU}I$LHZ}$>i|tRxZJh;Nl+3_+Fv#dfZcBJ7w|5De&P}ziV z$4rq6A@JR-UvT#D{EKZnUUX#j_;yKVr&v^p>2%lulO2brLay>@5cj9q=)x3i6oF@^gN9blzBs1ks7J|%DHrTzTBhS z<=o#Sja zGpnYp9ohR=r1;_!2O?`aB3CGe30luvtU%uRsD-zIS_gV~%HXb!b*$=lE840$V^-r; zg@e;qVgOcpyCzL)XvNNyy7Q22ke2O5G~~i;)?*VO3NVyuPz{czlC|gn^$1X=n3Cgq=i-EO%s0|j9FkX-rCS`a71C$y>Sjx)(8q3gMm+1E!R^%F0HKWH%s(N zWdqmC+J0l;Li=La+`*NFRUB36%F#}WA@~k%3|!nz;S{l4kQT4I@YQmCsL`$XP;vEv z5pS4bxJLK=2cim)v_M5mjrN#>u|`BfDq2+w9hx~K%zFJ`wv=Q$+SDfjPs}B_MC&&248s?D;4|X(B3>Eq$PyyFxq6H{h2pj_{Dk}JRlyL$v z2ZvMYh>$37DOl{g1%3&6Q_%9?T!43z`-ZvlJi0!nzeIw<@ zV9Tt#gjZDN?rz!^wocG2{@d%T&ykUBJDIQd5v71HiKp=9^-5DBLmx7PxVm!P+R38g zz5&K0cg^~Cp4W%{qi^aa4^WA-MWn#BV-fm3HM9G#LtKjAFmpm4U3_x#K+Q+WG+t{o z`oe_XQ1r7kWuYzYi<9P=o#9{LdPMjYxBv%EGI@DoPR_~>Y&S5#(gbBsIBvD$fyH+j z2Dmf>yW`lw=;@DxOmYQ9*C3fYp?mj^f`;Z;t&I%)N=oPWcvx%QqD0)hmNqyPyw@RKO6LzBh&?6m^5rqr~g7)v7fq3&9K zAU6G0y_MqiPA;%PhBIx~10>K^D- zzFE3P5*|Z-bG!OQfFv+T9F$nQ_g(I%y@y^$#s#&t-Z(iC$MLbx5!{&Ur%%+-a0T&M zLSb*%&4Ia4x@Q~{fVuMa1P^YnlYc_*SF9GDc*G|r8sgyXfaU5W@;LT&7Do&7L7mUk zlrsDM14e_cqUSvs+tjWJ8*BridBc*e#U~Qpv4ud79bZ+Pcja{X%^cZz8&Fbc#F0uC zITmutAg3P=d@3rfC(edhoD@726_<#z z?}SiLxT%4HbR33A5$9pC@?>0GF$Qg&0V7N=wafpBu@)FmH5wh^?{ApXSN8F-WpETQ z%B?7?%4x1o%}Y?%(9|^LC}jyn?z_>LUc(6-vF_b>GA&h)a~DX#6qhyy+&X?64vr6q zC>+l`Xl|5Kq0tcQxod*InC)B7u=HN5Es2J~>e+PNJZpCF@?p1HF~mnJhV{uw{<%S+K*KI8EBlrw&RG?oX4Iv(iLPJ53fxhaqtCqI#4kRdq(K~AC*>m83YuWC0ZO`y=>Tq8|LRu}u z=vUF~K{zSgEbY%4fJ0v8C=ZL{F8hz^MDlfamp*P@?$4$GW{+0I?OWLd-x-aMV;$oU zCmo^RT3Wp8objLT3(uF;m1|9Rm0sZ$xS*^r+-svz`_qqu#Gta7V)!L^S-rSMmk0p~ zDbLS}9{us21nfk&BR-uQ$g58`U9}5``dpvbR8>{mA1C}E^%zC793M32I0n4ndJPsQCSOF=-(9fFHzM~_NJP7V=e1n^RTYAJ} zcYC+)6^S=LT-(*Ycm-5U1@4kmu&ph|_0;N$hO_snE?kLH;f;~5!j(AKs62Ns!* zo~g%-BLQ#@D3u?>KLU;y9v++sAjYKWEPx>S$o8F%?!DQ;_0d~Cr?1RH22%b#B3f=- z%7PDXA;6sAmUl{6ia(P2J}Lte!5jbEW}fqNWRI(8?srV@{tnTS*iRegPyPZ<;`7a4 z*bj6O%$-lv%4gYJ&$ry3j!MRRg1iMEfHnC)Mm(@W&2n-=9Ij>e0;k}i)f4O;U{#&j zL>jqf7%_4L03XakwJ+n1VCUKA1FHfG5|S8}WQGzgeNuwB^beL$#L@4ZsTg&L)n?K- zM?40FA8g%*BN^Usxe3rWLk)NZ(xWs*5^d#}!!&IP|j{RpZ=Y(~_n%Tw;^yXCim`gCk58$=nPs_CeMsrRIKE= zis=>;8LwJJUe8CKmf~|6B{{RP)+-2wx58Nv;!8S4eCih9K=@z84**FU*WNF(k&*cy zW`jEA$gEww;F<1P}HA6EI!)@oxXbfepLIztj zzMY^@CxgR$zJiQSP|>)Y9*i!bZXYb+lh zzmks4{l8LUjOml)3_b2hy>Ffj!LxSip|rNk_>K|M`2U7^(`R&j8lV4s1bef*G)yC# zz~glJp)HWtZq%}?1n?NM_EQwM`-Z+j=ueti=>322VJz#&5uo-zf3DE)xNm%2br8fY!ySQ?9f|b-><+L+a!N;;cA5yMigG;PowUDLYl-0WT{4S@;9$b9(Z== zUu&HN_TvnDs89ir6yF^ zmnU`pi}xj~QI$?48Ny{)?4TtI)o!;a#Ijws2N$xa#UUXn}CSDUcSpbZ(fSd0!A^xXcm zH(jnBdJS?97s1vFV;UNov+aLL3TbT7zfKVmTS7#L2reoAoA>Dcm5skTSQKr9QRVJq}|zxR%CnPt5SU4{)=wO&gM1pF5@BzDv=`32Ad6rmdj%jgSo;2!j!e5$)5X ztP@L1OP=!4|CRkBnpjZhsr&zvymAOJn&o(mo4}`MVYSu?V2nezwJ+1tQ(!YZMTZVL zdEV|n6_=7K^7>uqM}MQRFRQ9b4$6Y_sW1_8Wuj^yV*(5*ao-9$q$ZL24s-!3Ebyhx zM50Owy|<#R_SxIGL4VE?T(hI(=pMTL+(qU!OF{4c5~^a)>uJH;rtLf48v8ubM8vf| zbu9gnFRDjF(bRx9z>_olY;r~`B^OO;%fSwIPTv`o`DOFuL**ZN!W2;HHy%IKA%KQP zL}b0#DSzQBR{$v)GO1r8*sJRK80##?*Z=W4L$IVNRU6muwOF*gta<_7Fl^*(M88#` zUzdij^IA0`3d-T{WF5w1ZJNuy9{=Yjet{x(SFkKi!K1-=i&uVzzRy>old=Byi5>^Z zkNMK%79>#9SDz1=p`NeceuK`DP7vJu^t^-&z&*-aY}dn7+GlgcKrz=!6<;mrKeqvOr{cpa_%o059ch|A>O z8OPg+Ij=1%deG~9ZmGELZ(SiEPbLSRXl?K|;D0Md8~WI59y+s>Mddb6hC}DSf4I^T zD#%X_<#oKd7p{9r2&)?$ven1)-Zd#zERU{wmL+EmLg?v{eP@LY9W=YCI!YldpB)}$ zs5S?BX%M4;7VOZfj}X`m-PPH&iT$4w6Km^bTm>0I-@t&Xx_Y!+Aq^jWa$cSsR5Tp@ z2z^O)Wj+~qtYSHLjg2d0&othdt095UL$SJ=e%PX#lE0L4PveBctZs>ohB_@ArfWZY z#bWBehGRET%)1c#V^S*-hW zfSrcdtt>I?4PWPzC-TxCTd`b-B&q(r{POglqXFf`O9<0SFN}gl(0W0GZhjI$cC6Eh}rC$$bSv;(5^lHv|e;I;g9vN`as1 z$SPPu$FJZ~0T(+bYuuH;W!5&d*a0tUFOB6brmdwbE*=yOXH5w^h-RX$HMw3!?ye0P zhGB(dKH7YCd9;KtKHXZJKt-M_l0cz*8yY6AWY&Bs(7cJeNmpEJ zXX8R#;?@Moqid$~wZiTG1QLeFEf=Dm$9qAT6N^m}A&*^E&g$EohH0 z#H8So$3=~f{`%E$zOJNP+dD?7m=ZK;;$GGL2~f+^(QkfsbvDj4s9yq38}C~Br3=+C z@d!Oj#{faC@ll}joiCYGK4y}fqPRFEUuDcX8Ss(Udao%Zrwr%JwxnR7`kqykQbtZD zx4z(OiLoGGP`F5bc*$?F87s}{xbm-{SoUmdM2yvG_-VvNIj^9bQq0bfBq68w=uAz| z5h=1?%*130_72Mgjr=`FVr~%pMI=$Rg}OQ+)9IBtz$D1n8Pf0Emxln8qokw)5P(i+ z>Lyqn7q|6&`;*@Ldc9No_BXxJ=HvY#@3ZqOA>zO2DRveAp{E4Xe3k)b_4U>|31p@Q^hXbof&VxVBn~WC(oF6H=S}&NiD)fV= z_ieT(KnZZPYf}j*PI`o&ugZj*sQt&xcLCmSaky2w?0X{!=oC$QbHRP^r#FY8v2UdB zYcQWBrid5TCTn+zs?8s4x!U|5x_g3_-F8=^(%F(;A$)M6dn@di0P->ap=pcL8|`OV zMMc}Arts8XVpYucNEf=c~x1Q6llIl{1 ziisv1TDk%N^S|pXuqNYcpEHuI3ImeLwc;16g|*U=gA9Y-iG&U=%@AS2Cd$Evk-dYE zg$lO6gTj$ZM1nP(l$X>*g_Wd!E0`6!vRSCyg;L?he0}d!frp$g9sMl&43MN+yI$>r z;>;(7t^X5eqwu6-0yIDQav1BE)7l!Mz2+U6m}pj{@VyT};h-(fJ4QxIKE4Pa9UT~W z*jnb16#R?-K`{Y-w%et<&%;S|7H6j?e$pNNVy>M&1tQ4X+_!AN%do0?|i1RH-zES;K(ZhNT=x>d4}-n%Yt8( zDKnL!#ohTMvcB+*u8FCM$KP!~Adpce^OW4tXHAE_*u8j^XC@C2HY8qn7}%hG<&x88 zdt?j`*KIDuj}aSC{zr2WYg}{*8i}ND6=Yp1D^gazkjeXGXhZEcW& z1aO9^G2LYXGxPQTo*~je+4Jwd224uubf)KPGM-e~Jk`o9PtWR+UxR-4Fuky=D5pD&n{dLZKrfm1<4= zhlO(oX&jCefWA&cPY>6Y4=;UD&ayWP^so|1Pz}02C)fMbjHEy7yaTx$3;{~tz%^Ne z5nQj7($8a;X-ju?3s*I*6_NZg(c=Kyc|t~gpVYQHbv6SubN{#i0(UV$|WDCdFJ&^rMOdp_IQ zpEmmoo-%R|2LaUMQecjaD|*ZR;qLZHe+G{;)58RHDn4N~`)AzrA}YiX|HjSP_zvPp zo%E$PDKj(QW3WlX>@C#cO9sPU9?W$q_Gr*+mT1VKgg_j(Uf3CWJ#hjW?0nr7@*xZ+ zK5ox?z2W7*+3aqAh#C4de3Sg?$XPpS9O}1B=x8a*9E_++6- zH-L7n4*va;k+*go|6l11B;M=3KzIO3Fvg&z9}r}8syC+mAJh!rrDUIbonjw!RK!=s z0b5-iz|Su4l9N{UH*=lOJ}aGUJMieDmb(o+U&nOBc|57`{ov-H`kM9bo!Q9*XmW(< zKYI9tZ|1Bw7xt?5v7=6v4IlEpy7HWwno_01p~H!wiPr#V5ng0)dpnj=mcV!|_MnV{ z!n%eXlj`JTstdhmVG(&*1CBN?D=$^O6)t@tR5d~Z-Nt!X^Rgi!v7HSXcQhC6n(q^N za+z3$68xF0Y>74dJHaBV)|+6(dk~sE<~OKA=ATY>g-Lx!neE!2GX|rG1;10vul1Or z6tos4Yg+#~zx+x2m^~;Vjr|6*XAza?!}+~61PTd97@(s@847yccU_{B2#wx&-LN`+ zwU=@3og;d~=Yg^A#j*Ln&@|KmuJo4QH>&*+%Gc*+VSf~KZv4M;F~+|1n*y`;_g{7m z6r`}hUT?F~_|zVAqTrqI4J$k<%(#D8b2OC;HCjs1!NH;U(Eel|IeZSiko`J_kTrw) zq7Zln{a$$xyq2om6)GqiCt9~W?z$`WL^u!z8Mqy=SOgSH!pa9a;f zR*S}HgtKM_4a7Q|1*dr%Eu~B$$tx>P7QImz__eL`B!&!OKeV785$d(!+XwC(`!z@& z{)wbl~%Rj*#C|M`o)m`Ug9eHPZC4BR5L%RyVS_a=1-nJFWJ|w z?;3f0e3W>6I$*uJnoB+Z=ch3@*o;4b@fPc6Xtu9ZLz$+>r(rYD0F`)lI;i#j%hC3` z3Z1S19p_z4eEh+)UU<#H?A7{((rW2KnpH$oBQhSUuP?rj?>Nh}O)ta#dOu&epvYF5 zO0)7WN`3Xn5S&DhQ&QH~f1l1}yMCTDvge{ZoKh~5L_b@i--48tWw@_YXS$2l`SQ$f zvS|WDP?j8g%Ra*@dETf39rEits!^#WUJ_q}9d_?^Oeg|tb>35@j^Q}E?-sseHVqRP z9&$ZVYYSoKQ#KmU77q0aCv?edhY6A&&&l{b4LQuya6T2{iC3EFd7q)kH2IlbxSiR>F&`5>)0)pV1zg*DVh@F5AFhS|* zME#Mt#Wo8+IIRC<6e)f$y5E<%TRbXV@Py%xeP0;JmC>vxO{d+;WG7{z)!(u|M=A0rWtJL`ESDM$ zl8bHGz4_#o9>-Qnj3d0LFo?WyCN>&MbQ=gqge`mh-Cy!N`tM_qu_#h*XDfOlj8eAT z3B+(@f;S9*zy>RwD6Ez0HRG4l(*KDtsl#&Lg*hH4e6*VVcvY;7>GapwHx%@3pde0Q zxk#0EH1g~^sfe~Y&`*L+2I-1(bn9V=hPEs5gqf`mi_)c!=}(< zTE1fxwG}qYJ+0dWX^fU>ex9H9VvN(H2R$(0_)`6wdUQ)~gIfLD{M(L+!rLNg$3SSJT2gE67$Xl@#5pqkowUydBUee7WH0hj8v`8Ni= z%+J>z+Zu6S!C;D&kRiS{=T;HLdTq`P{&7^m;cAid86c3Vs*`ub5g1}&HVI$T;5(nM z`5T`)g1X!ff1RjEK<=y+ym?mqUhA>{W6+M|3uYU}UFGjpc`hL#l61u$OP8_PyJaM_ zo%P(_WEXI(WMo8W*}M*XtB%6UhF>hl+E1(gf3pJouMHUS(#HlOG|Qb`eIxN7 z6U(=EiyosoT=vy)7<3a4=Im=eZqfh&$=Ap_cI5{9?7ti|-w=a(;%Lvdx7#I->FW`( zVLR`h;o+_i%pC9eM=GP=;}B4*(ixOdt+csq-%aLgGzes5WFVlSeVohc zsJEW}p4oN-c80)j->~r_sb`z5Hk5Q|djO|wt@hi$*)lfIErjpfw%@HX5*eGfCJeuG z#HTme)%xr*EiXrbGe97u&qGn^#buG}%>9JiBZQH+putsIglRy)XsTeS^DZ-lO1>^9 zjWU69N2}{pUzW~_nfdMSTo5)elB%z@<2$cGCA_B}eOWB($$s1aG+*1|#TCP|emq1j zGlg+oGBCdw{^ypEZi#LAVzs<3GH>P^efS}^N0K%{#6GfE zb8*|RYy`Ql0mtG{x1-z5>aGusCa_0~^*c?t3=ke=K3+0!=m?@IdYNJ}Om`jva z2?|};CFU(MirHmqE!}XCJSjXn>CUO}OO54oI|t&sHrH>*Y_RafcQ(h5q^xOU8s}FH zDWzOe4gVSNVYh_Y{|vZS!kSIv`sQ}eWd2Ky@#F-r)-f0cg0n;C3WKJQ^Zpe;=_Kdk zf~!=L2Y`0th@jtJ3JBt*raIaYbfLSM)dh+UG^6jlec_+()D6E>CWxFJ|nuF+dN@RpKo^KJkVm=os&d{Z1%cgdLa>n z>ux0Ghb-AT7}>cxm~Xd3l_cf!AVo*|K|69+XMXxFhZ#!g&@#V!@0_ie6q z0GA07et3Jt=UO`_J7H%q9i`pZ8`QwyYdUuRDe8-xOR|YZ-3sq_ZLP*{703J(_Be}Q zOX-k2gRsZ`X>QDY>N@YAGXj=4KMV{#Jb2c8U!b8wP^h`i(URow$c31`H#ZY-5dOBR z|4@N92+Nx@Ey(jurBlB}LAk-IUKc!^nEv(_qas6QcQ}%=H&6Kj_-&5)Qq9fHDvb(n z9xNE4zJowj6WC8bOLN{m>;>%)jTBx&#sxhm>2j#WrK0N5+i<;+UxhG`uL-ANR+fjC z*L2yZNR10YpPh=Qr&L7jGyAEi-9hCV=B2c{T@}y|Nt7<)XS#h?P#zsPe9*0&&Gcnf zd=hbP@8~F1>GWY-E1Zc3dw^9c`Ep(UqPIk#h4sz`KVwVjSEpY>D*~0PLF$RXKjQ>4E<+x~Q z;4C^wf>y)vuF9RZPDQhP%?Z?v{4xik35y7CRy*2YLSgdhkf`Mo3(SVpAV9B@nwNEQ z-?jR9zZXF%M^g8HT1){Z4H$U7=--AiJP1)yEy;w09vDZ0OZ~V)F!!cwZ*n6$D z*P5T0bI#8P1_e1I4$LksNZ9l%;B1>QD1%7wYtf`#ZF$bQidpxc8&~Qe+x*U58R7QR zVIX=JJ3k;~T(W~avgD=ro01kivs5#6D%Oxg>iAiSYF@s~(2XDPK_T5G-bya6B4lb= zQ%8_zS#&$5t35x^rCnv`k~-L|5iH(LU9^=`4{7P1R9E2p+x6JZ;^X}Tk0l!uOlFxZE|GOiHKuK9&VEH<+alp%%Bc9ce>zXHY|_Ub~Znl z`IeI+;{6qeWT4z>%qiFR`l&AlZno~OXkQu%J<7dgxJuEphs6DbC~wkU@H@ifN5vWe zAZGwNh9=vP>NG05^Y_VoHTXsxZSYCm*gUdDeW8*k8_Jb7}vI^6w@w$=`6;N&_JWg!Fs3`O-&`CzoMFjh`6K(Lnv9v( z!9Or?s#wkf7r^!;*DdWD4wFxCBhGuhtJ)%7Jm?LE-wZ~#(UczwX>+3Jx-A#j(EuU6{Y zrSe>}Z%_%$E9;H8ybUuNa;Byl&wjq>X`W)bQO73Fy;R{21eX>3nTYij*k~$2Jarp^ zfL(WKdpiZ;+9$Kz3G%rhdd*H>?0oUzdmWvfKgX;Sg^ijv&zxeWNylv5BUU=xXq+Yp z=31NFcPU5mlq^~Uv3$-~FyIdD5yO+oJZ2r_eQN20TX`rBpR!HRLm`hjX{_rQzlgnbL zO2*_H5z99ylt~?`W^{#Pl5o=96-j8X5l+tabza2#UHcpb6_vgD&7N$7IMC*|$5lw??#$qOKSXXho$c5lVtN<~M%~Umu{#tg zu~Kr>{Gz^z-_d8*oy+_Qu@{?FQA$5lR3^{OY2>GP(8hQ%Ink?&On0|i?Qf=~)^e_a z$9b*KsH1QpAE_DeC#TnGU6FxBr;3)7Ga9(0_xiZR_gFV2*CUh`cXlG6P;!kAOFVI> z^ZuX%ElGvXIsOT9rmI6WNIE#O&AQsCdP)UlUpZZ-Q(RX^77|uI#E?Oe?sxX4gzYkh zxy6)5SU5%Hr5xRL>i5?-E#mc#hjiiOJS$yOo;Qbyvq#x;G6+ZY$(qK`(#RaNvDo&l zWj=d7i}~4lABgh__g~S+_a*3HG%8Jzel)rXfQ0lzU5r5OA!|4M>0faCGNpD!U651B zsulw(r3NB)a}B^B{*szH4SqfS6_nDQo1<8;9@B0%zCVB=!kbJ4UXhl7AO^!`VUU&e z1f~ReE6VrPF~%U< zH7H`X&Xb^6BiU|Hn%e2Jjr-lSp$`d|c$8p6N&bY6`6vGkI$DGKR!`o|WlF>KBYwZ5 z2V8y$U;JUy{6a#N)?=?|GIt5chzGz62AZ0KEL-{9dw`y1(k#gaIa{L#hbExkHR1lj z+6KI91CoK4w37aQa%NKo!6`YT4;{-KL#VnwA(>j<+>{OdxRxU9`fX$5@)it{jX^o= z`baNRBLjb1Rm@>|h!KETYhwTCq;sUL?OMAa`em6`ksjO=eW6GFHY@|T)#iV5No>+3 z+M8_O9GX|l$1yy7v@?ee?GQUcSrSVAbTTs(bla5p(xc9iDBmt2rJ5sawzRwy5-I0p z8XwL1ITmg*nlT0vo?rfs_<=qf_SP@q+SM;8%EIXaW0%God&Z6a,mpK-@GBaYIw9T)nX&aFQaA`bL^!q)_Ak`Au# zt*>0)JA}$~MIfiDte8j?Q(y0HhY3)BDj&pq@rwCg^4M1~<8Sg;E&eJM@?Ov}1bcFS zLf^O=+pfd%@bo5dIUvN^-`8R`2R(!x$AuP`w)+;* zy_G@2&nBZ`^RwK#2bp&1m>pj=>}faJ8DD8I^j29>IbC1f7ZY#eXm}bD8BWc;g8eOX z(vTs879M?#a8;D(O3c^Hixak!en3rWqO|g)Nw40?!`stwcYtCbMYMls&O7*9@bfi4 z?tMqc1O=@2j*g$hhe!4zloF~*ISdW_frYhG3yo7@< z%N;jT9|g|UxAe<>3K20Py5A9(z;4SJ4U(x`oSa&XM~1V!Bd<#0?!I8(xCiKjC*q?V&or>u^y*HEL}3xUpRTe>5%I-_DN4z^5Gp@el#qIh?+r<+ zo7B2gz*t(sFVia4V$ry*`qLW_KV?k)N;ptAKEiRURoN~L(sNuHgw^Q#D0EC#>~lzH zynWPrP7^uBB;JlRiE14dUdc9;2a~OCwa<##w~+AFUi;=%gwYGj`CN)QuhUy>=E#e; z!p363iyKk4R-iN@L?J=M>nOt&s-ai!atEd;=VK#p z+!_{g2j4!~ygFf@!MGi4KIPN+1gqjQBi7|c)wJ_jBR0G*uLn30d~t%Q5p{L<#_gx1 z_K@!YUC7(Ii&r zB$e4okN5=yz}XlQ8QEncn;}*o9l|0H<>7GDQK6R)9kZsgE7w9|aS3mV3f1l|ZX+sV zxpja}caJ!7yvU6|m3(m4OP03d7;WM1UQ$w*&%H`^}a%Fo(18MN=_=#9~+h^QQmvBoaxosPdQAz7 z6`fsOhl_dX!zIp|4JVszv*(c9Z$gz?&lHlUyap|A-c{~Unt4`MP=tI&hHM|j^u1>< zbKTO&RZ1VIvbqt^8g_v2Vn`~NCG{U|{2}AZ!qEsN()|;T`L|_+xrmpX*!cjV%|ut3 zm@w(l+Ll%C!9z--%e?F6@{;pS8`2VIEq|n4h=hKi8%L8wbLTDHy9K!D00#Q$?t)T- zLK-nRAP_JaD)Y*z$%}QvFfvi*xd?F(7!+JzZyydm6}EhQGnzNdOO0N5G-2HEFwfti`C z@T2e&-<)YLU|fhAygt3Jg!kptHInh3VOR_&L zdq*lfxj=}{LHZD!%`xAY^p6V*zK%@bkJ;M+J6d@C;1?46{7=iSIb;Km~{%fz} z3)i^o8a>y(Q!(*+a9pPfiRNtLDnu;Z0iEd4VBROv?w%(|$S<5hh!hCc?l_<>9>uX5 zM(s3>j^9p%CCc3N_lVNWx-a0NPpJ44UVSpHDe^u+%6;2vIRgLI(!=_U9l34Iw?wpi zQ0Sw@joYmD8nrK!%S86ExDs35OE;BFHSmD!9KCw4AL+!XzUyVpe660CB~ejY+I9jG z@=zYco55~+uap#*y2kn?bC>ed&k8$}&J&yBdfTpc+iG1lOg)zp{1JZV#RWHNnTXF%P%{xfjN-o`XaPV*DABpOC@s}MF3)y68!xi&z|8&4h z<|bbEA{GQwEId3sa!0;?{bJTIACof+c|F(AyK`XfDujPu_oqw(qf*eOi{LjBrp`c; zPKRxe=ejo+p-e4&4ElYk`16z>!_Ut6<+13BG;pxH;pOtF%mgL_?bFuN zld-tjO3h4Ppes9K>#}Ye?;a$_T8Vy-NcH+Tg4mu=9($!(^ANaI;kCONHHOoeG>{^# zVN5(&s`U*G2Ui=zY6r#A?}xBN&sJ2Kaq)Af4=6aus8TY= z>E^Z<5|*l}HK3Ifuq+P>W%9!#HqrIT{pDM|aX-dz1#t%*Xpy0axB|K~wcZ3{Pr^%0 zE?3tay6d92MAw2|-!p61x4k-#v%wf3YhqEW{XK59*fnA??9}_8egV{mgk`V!UA5h5x)i`noUOCB<2b5)hRjCMtcAfe62ukBlDy!Tr( zQ~B*rvOYJ4!1&l4w`+a~b`&4w>j%QW9p^d6&)>tK%<@BhjqP3%F$2L!s*sy0s7fGD z24PjG0OzW-GX;A9jug)*-IvjbtuQ4v!-Bt4S_Xk9KPZb+n_VjgL?lq_C zXjhQ6I@ICljN_H2Y}o07Nf*~MLxn4C7Ot%0dLM64(D-QxKYlaSJcK3`rLkv+tiotvYYO$@?hQM&PREzrr~ z{ApyABJBIMSF_aNT8AAYfWWRqaif|nCFOPek&Rqs$JZ&Fmje&Wv4~{}4}Xd$uc_ktx(fmlr8kCt9~qXY#Y`*+IVNOfWd-;( zf=RQK!|IA(mXJ*`@lTF+h09YVJhI;cEQiV*|X+`N( z6wU<{6q*2K$hn($AFykRmX@TAZo7BzXRxe|MLjRLrLNE8*JLm|A=lGym%l!$pon|{ zuI2z&dl2qF=VlHAvaSVx$+Y00Y~s`6g)nB_=2nB9-DKXw6Y^51!MFyC4*PCb`W^%L z(OUfEytZpurwi&tp;=a3y1NMF#($2VDRBH~=Ht_S3=PFmR8-t>5d@gt3r1;SVWFq5 z&p{SmS6{E3>EU>HDfux8iPUeT&@9fQRX_QM;OwUdsvSK&#lV1X zAYd^UqLk`{v48#h{qe1WQm9_s%A`tnc%i#%%HNzMIB0!42}ey=OQyFH+|F#h+`>F; zW4b@g%*Q$A{T(>zh_kYE1yCJ?GtH|hL zLN+!mjg5_iLql&5*t0Va@N&vXOaC(E1m`rU6?1|s)Sc?eO%{&w$~GwNde8ozopf7f zWNeH`Q&SVL*g#b3GUjl;=(ECoHrdrs4OeY+vwfve^xM!MCF$bAP0njmmi`T2VE3@J z+5B|g*G3D*2^aS)x{s0i9>mC%{_D75ZzryByM9XP??%oXh<0PQqG#ji<8ZwMu9V?S zNiZvP)YL6${8Wl@K#^0}9bZwc2kWOGIu|UYot+)h@V5^!0$}JNK(c$Z$(OB&Y}k(K zYZ?7_F90ZN2%gamIV~w6aSs#}aNQc`u$e6LDT$)*nsQ#R^V}jX@rO}B z`oM0P1Z&JOtCQ+a#f0uEonn~e1DV?XN*&c|)|i;wOojrl89MsDmG~@!pWsyBFzICX zKCuDg28Ju}%a?K>qRJ!){Qghognu(6gj~JY(qEyINkB*|27AGlh0;u=E>DmJdi9*} z>kB5RW+})h`>NmQ28`<=d3hEkeU)Xm8XXawwR@L6jsJLaoN)-RdH`{3Fch!3QcQmV zdHul^qu030hgm@f}Y3}ds{T+nd^zD`b{oM35zPae($;sLeO@qayj?mEpReE?E z=%5*OM<(HZAPCHOK8*M6vj6MSf796im&N&=m(bRf`pSIGLC8c;?@|4_aDU>NT2ya4$uV#f3xXqX+5g_4&|ON?LV)`O`Ge z{yFKu|EC-!Lbf=Co{2z!0YIW&SeUZlnUa#yK#EBJcU(hLtA=HZ z8t28GIQgz9AK)5@45Ak_x_fpxk*C(JBA}LJ7}qIET1QC_3yAnl_PX0o;?|nbNs!JS zlM44u-{5yH8O+Ph!!d*D-x=C;NMPq73%@lecswLb3KTe>FtHKxrJq~lF)faqaLD>q7G+$wZLu35W zRsoPa(SWO_Kgtt_np5L9elGRtdJL!0CO1DqEhSprXgRmv=Lm6g=UtPBBOsRs(jbwa zqd#CBI;u6eFakQa=Xi^6vdocyoY$_kV=6Ikx^{4PNNsDlm>fuso%_FDgYAq#f3t<> ztY7yAEyFSEYb=9uN(YW#PbvE?qec3#9=?DTMS?w8ydSNTP>&M3d2W=XfGr3krWfyI zt7hq2g=*XxDpj(-o<0%+lBUIkp+CE4>lycQQonhw@BT|ASLDE1H=EPnp`U7Pk@qnU zTH9r+kfUE}QXAOamQ3#kC}xw=6iE&&me5+1}AQ z>W$`JUUj1|%Sj1xMVt|01b}X}+gSL2H5}Nx0zRW{Ou>>xFmCAjwVGVC3(b0qN}NBS zUUqT%w}{Q7{)$h#ZTA7Qhgn0Bn6M(Y0uDg{?!ijzcEIlQ{c`h60(=IYKQEW})#>Cz zJMO+73W>2QW+v1)P#0sSY;;u_OO5tg@AOTM+Ek#r)xsH<+hh@Xg%>vT|b}`XGY^TcJmD#pvy^C34R5_ zT+m&)2Pt@0E&i~KM)KQGgPB~7?ZQA@vH#v|e$=mk@f@&uPzbsFcJQPabG0jl*B|<~ zoARo5PmqASf2{OPY@~H`BXx*>Ys8nxb>hGqx;4Au7?&6>HdJpaT+$Y=x`{3!k^dAb z`Nn=I_fo}Mwnk|%4Nb4kBP#ypQ1F(Pn8OoY0YxXRI$4yP_{k@Vj2D{((AwMEAG^?$ zt826O*Dc27x6YjF`SKW~zfFrkhihisoqljecJ}x8 zUr!;pEDCma2kV{Jk;@*Qo>L2k0AW_H4?@35W(^NzG(&{kkZT_AZ#Bfa#>Nrgk-61! z4@p=b6OaS%WCzf|#_eY<)7|<4LkfCS2)}Sy3j@s^6ntU+UM3A0rKBIKm>rx2}=H@nRRmXcRz)cZZl56LZ&(5-U$m6TuQGfqyht zK>Dw1STIo^h%d?{cu|n89}(o9{M7i_+0EGINHIX)!8rBtt$zM)`UMv4jJy5PE|)HQ zGDu_@SW&YTOyaha0AgrxNVwV50g(@%2_2xywrBi5p4iSzb^)sY+3Ugq;_+wA8k6~N z0@~5--aQ6SIttYdy12eB(ymS8+2TX{tC{r`rAA9jDg0qV*84Ch<;p62dcM$8St?Sj zbYi4nSrz2Ge+3)cFYD^Nf00N9AP3;)xvNdo*I!$!L370`x zWayP!9{&tY&0&nxwg`;Fx9I(_2U8L(dDVSFvnC$-~m2YyIbTo$_cs zKUkn%^J7rW<)OtF+jIUONoZ)$ZY9_6C$BXD(g9YM*60%ZoLCq;kaD*R`qdb#f2dc*4c zmNDew*)TJ}g^30vYPz=%!~Lg_P>De%;dNa{hyneF0`juhfA}>_T#)ex`ZFbYGyJA7BVw=y$r)mG-sKSu15S%z;g&N94Lcg*d zO#t^w#cEhDRx9dzCpbJ@96FYZaGasZ5CG?i@giI36wI9sVAYckE`B^8mVn@*r}qr) z`grqprJ=ZKXbo=e<{Oq$0!7v6azOuxZd2p+bX`ZsZk-Q8e5-1= zoAePl2lH$aIcJ+(LnkNOy%cx7YznQ^#*br~t^$l6LZMSwqn6GnW5E}UcI5$O>|60cQ? zU1@(*+t*>JlsjM;1>CPc!=xBKf_xFUo&NKEHGP<1^{^%P2`7k_VMOSA=N9P)OYK-{ zP@OON8uYjXzK7Q@;;k-R$r`5n zhtF%}xa31{vl@@dpw}^HTpuL~x{MVz^|eff-s|`sVS#tbcyZVMF_lS&aW#ke5%l4jHj$#P$CAOQd8)&L`KKEPOw)*A!96MOvOETMoiiJg9st*fq zURVAxaoF)u%aN4+`J;7Q(TzLM2}^eCYSL<*hcY5Biip2lMwv4cC(pX*1Ks9DG&==* z>DlzP0oJ2VVjrxRGy%zV$;PVHQ>ol!dagR)>u4GiU49=ZSHaXfemf8mNf7l7Ff^t5 z6=}%hEGXH;c@s*RxQH+7W9y^bENAh(yOYL!f}D;CbIoqrhIS=mH`vQ`ex<~2FcT9x zgAVfqq#Q?cDFW``C}|Q=_|Gz)>rSSn%D_A=1U0KC5*sFa{Vt;!xbh*7hwh!u@dO-H52gyWx1-wd2 zL}l|0!Q&edi(~bcDJl!5I_WeW&IR-g`npn^7lJ!Q5KWN2 zZ}{hXIqxUKZaao(+y))WefxN#kb1l-ve!7oT(V~rpxx(AP}W9O0^dy_a$aH2cQ08w z^=*K&N~VjfwUL*H$H9Ou)nu2|a0Xv4W+e#am0uGj1s06t)j3CweLmiNDjnSK;Ip;* zI@o&%s!>lE%)(4N#$V&jhaV*Q)p)L6O#N92>&}r4FYlNI^*;5}Fc#3FFN1*_iz__g zcVCcHP~OD|acY}>5-{ZoYh=e4>6okfNj(RSWh&sNmaOeJH^v!y1OwkSHCz;VnT*NW z-dV|YhP&JwTjftoK+v{J&X-L#Xv(SFt276*0oSeI$t2V>59B%kb#W!u3J}0kS(?qA zpfw=P)=I1mYiR8hKdEcFM~ogi01RD;wVjhZ!~nMeyiO|z2J-12OKxE41nFn>{x^PpK{2N+@>#>6ZexoLuL*B*&W~F=efY}w zDsrY)yU~rMxw*N@c81r`q~|cOU}Edeb~ipg6PU(8X_?ZA<)x*&ucf7>MWtf!u(;}Z z3PupL%D_hl=SCfVrmWRrjL-6_wk|TPzH4Ez{!BYJ zY?C!_{e^@} z$&a|nsysaiB4c|2O})2&Qgf3UW0uFv_OG9$T5-_xLlZ>)x;Iy$nz{11`pLYpEUFlA zG9C}}y%86$Lh(X$1c-4H`B%-n@JQSH1P*~9S&0`J8fh^dZ#Z0egNE_Y^Xq-c&1YcD zQYLiUnHL9u1i5TCe}M^PMbm{(0Sw{lG zES#+VI4u1vrjtOU34p>o5PBhn+?8`(o&s8mdzpdO4t?Q@J>c5cOBHaF&FMVk(Ec6} ztj>n^>`4c0VBk=OFzKO|w!jJB7YuCkV#6RfUxK4k@_@z__|(ZG)n)C&i|>#ivz zJ1j0q%F_|}@mOa!!pt;yf32tcwUUEmu!EQI_e1n)8ft`+>a)=C5)j}1ct|ctdeh*F zCFmFpGNeA=G#zlVpeN1ro?XoBA|~?q?3+%oCBG5M5adnSnDX@QhnHR+ZO@0-E_eh0`4c!a zYr5jK^{h8pJw+3X(WQ=Us&&q%9+v-%e_Kw70ulC;Z-YTiG_@spG8P_O&k27|(F7$vssB)VhPG=ApDbPWN2JOtl zJFfwEoxv_Sb8opd-4pdAe%nm*;P@pkZyco7HVfEky`TDeA7{Hq?mQhg0p?KTZf_im zxQ~x806sPJbRR+9S+>sCwwo*QE?lHKo|EX7951n@GALD~Fz-t|{JY!W%1=pni)iY+ z*9XG!F>fgHY zyQ)DeQ%*7-o9~F`+q4*7dsG0BJeH@!$tP`i0XP7?(F{7U5c&>Xt{%}4|F)n&KhSQ5aV0G6^0m_!h?;!!(=(#l6| z0jv1!G`|(*iq&>rFF&d!y2t$?&PTX?tfQk@#F9scP_o6mdKx0`1%Tb}Xx0q|8NEx)1P7|(HTm`O^ipjzo4#q^bO1jHEHeDVcdb2HIMam)%Q zuqbiPk>vWHq63Own9G!%h$(h`1!(L0$1cpoICym49#5l7QTgO)C$MFMUx^(#W7ZVo z`fm?q>T#dhQ3+B|-JJS@{kuDt#eZ*lwDwkfUp6F-G4jRUXP`CuCaexTh`?hTdwz!t z;je^;2S|3=p%4PKqIZ-Ze`OGG+y0pp1#?hc50F#i$@Wi!)b?@HxdzuW-$Qed)18l8 zkKd`u&9%uIen2~aB(Q3wFXecfe*-H1b&up(MJ*kDkhPBf1Keo*plBV=djC)3FW6{B zb9>%Nh`UND*<$DIW)B1%Tj#CSg}}6cSiXH@vu6i(nQu_6Q?sO^>K-xvDa%XI&#+O0 z#d@MpvJK<-+;5z@Gu%^j?t*YhSq3b_rS1B|TOTWUv2We^pc76^-r(Nh(#tA&!Ld^Z z%*W6BEfmQ4*5VE0m)6$a0{+|IW~LJyDmGMbAQBO>X@r3!oRway^p|vf)79r2l{Z;V ztFolwoeyhyq|7uK3?o2}Qn^*HhG3OFsEN`A3~xrWXeR02ah^EDpt6|dOaspV>wsR9 zO9;prI+)FWf{5EM%M=y8-T8ie82^)Jfpvw&S#Ws zqw*^qwj>qUe(I;)@Gz!Z0_g2e(!c-8k&6fB(B$PhLP^&-vl`rIV~4<8&reAzo%Qt* z+GP0$zH8U5o^r_*G8wRK-*S(fX0ny0Q}(mXzL+4}56s(B&^I+zDCgSqtvO4u1qL1s zvvAn1d7p$mJA1xALd6^Nn#JKbM7z!d zSlRY%W}1}MXJKA0T_YngL{N>x%QY4tpuSRLP>L+kS5H5=cbh%xr(6E*wm8Og^;Lqf z(X(B@J>^0~r|2oOv%k(S*pRmiayAi=6sA@lUb~o}jT?0MH!uom)h@aV3yUDqmX2zY z>PAQP&9{Cji!?SgIBcZ*-vaE10|0kg_kjeU+ow%B@_UH{kaFK~p+7-VYXg>D?zFR> z)IG@C=zVGz@qhcw#|5-?X_J~Bx^dFY| z|4rjN_hQqQNxF@Lv%1@)<^`hHvAE8IhA{#@fehWIG#Cg8yQH1c92~oE(%-InwsI%; zgXk|aE2|usT(j$xvO(y4CxoRJs8A8l1n#~rP{}zE$n=p;01@PDlV?ozhl#c0qFYq* z^&tj&I62?IF8hI~(X&?I%?QM+f@fo~E;D-OJWW)c%c>3Q0%ku+a`C^UGVM~e92~d;x;Ke;^ z&Kw48;JO6`6v4U!fp3=SjW@UU6mND3mBO1Dyu+q11!LCxM@Q}N*?(iuVl#)o4QP4) z9C&`g0kH1QFYxvRE|upt^S!~(<-RSX?~oXzT}osPzvoTnNbW!Amm}owUa+=bXzmBL z@crZC9NU?ia|(@!@2K5jQ?uKTao>0R=VJz?m}T~_ziV+EL~FkBd}*Ht_FFVCkSoV_ z(H~52dK+z*7aQzmGl{-s0ta%=Rq4`ACyNeI9f}=RD#XgB_>Aflq!$K$nU^DDT0bbf z4YjebunuhH2ra*5vOBNI|FiN2hgTj>-8g+svVCEu&u2UKwawdoUE4?L8y$=fRQ_79o=g++NFUJ=qA4KK%{K1kd4_go)J(^pxTasZ#Z!lnM+@1Nvg`dK1*g7yUy_t`rQEa;)Dd&^EQ1(FO&y2BTAnssOPu(0uWHQ{VvK_om zojDYW?NWRLt@UXf8O%D-5CTTMJGL_f4FalbxJrxJ(OIOVGiOlPj{lSvIs&ja9^Gu`@ z1WS7-2bqdUormO{3BUrec6L?q0&?OlscboQ&3IzB5XZDCB_+k>eI5Bsh!P0r?w|r9 zbFprX=}MV}gHz9hUuq;X-xiAywoj`(rR{mNp@XAajlV&*bd(zWMeoHGReRJa)?rJN zt00Bw{QL>rxnetZb@j;SK-O+t-6(G4n1u343l0IDk*bXgax}y}ulbFHDebMR>cSnu zzC42v5QJ~{M4}9o2~Vz2nk9X^29^vaKpmf`rD0P_lPFMmS?_fG%6aXky+u4I5hNG5 z2F_Hbk4%(IUAc7%xg2T>nu^cVCW7Zq{)9f``W%Es(GYM;% z(=pjt7p;_Qo*Qaqg{giX``hP*R$7!QLxHH0*G)ej*TzB~-^*_#>zCS<<)w zgKTnstAP7%I#@FG_W9w%^e0!HDd^bhe*ii>zHS{Uul+F6FVI^5|HVc^(?@BR0-ld6 zrfjZYzL?@^l!0`qJ&v7$XlOY1WhCCHRfq@+tJ%V>#|yGhZNq|t8y?Zggpx);eOx)a z0^#zE`;L6=e0WI-x7Fx(NR6$@(8p`sNSTc09Zp?{01MwHQdyXnzV7lNnT`MMGP2*> zUP*yV@xOyQ0Mr`YLLK`VjF03XJ=hD`@Nj(sWHMb|R+#l(`Fp!l&bGUD-MM1I>OJ_> zk49mF5ytSH_#yJ1P~T(2@9!o!0-@CJIJv*P{)iv({ZAl5pq~m6`v>h2ZPm-~OM#{j zCg1;>42*O7A#}elf%cvfzxA*8eeZ3iq`gq$K@$}kjTIX4=YHmHRnxW8z85gx%Moi$ zCSW51X`jDS6VTotv}2JXn`#%wK1?_s99f-q=H<@D%-MBy_Dd#kdg7Z8UKMzIUHok+ z+#2I4U_z4$%U)*}p@4Y)c^Wx>K_TRbUq3aqr%$?8mAXl=FA)a^Ls|o!n_Z!rEv8N>ZGbic zRoFl1M>wa^b8^l0Qn3G>sngRBj|;*Z9vb>s%BE?e<<-!5ir?0@C1*30=)|n~1_xdsbb5&~&o(+8Sp`M`h*a zzAf)JyOes2MZLG{yE;u}BxsM!C3NSxr1dwZpAhAEQ}>I3)DcIbonC&zrU0e_Y*OoK ze(Q=KT3z}HEI8}qp%Vz|z>jn00S-5jIy26s#ijO!@wF38=peZcF_N2UsAH&?-w;gX z@Aprgk4kUmLDXDh!@qEq&dGkBD@XE7*ymp4 zBeE4|10IyDpYGlqWVE_|i=zt5Sgei1f1Ql;Nq8bAB{uL4I_8p(Sx)2j z?73{12aT$_u)g@kcWSK~7c2warUzz3L%0W%Qu;f&PkR!yp^s-FAzjg)coEg!5}hcWrQtv3*RUTjb01GP}vp3;rTdmAYRlDwm1 zqNh7dB+Th}{j2VSz%Ac>e3wKnKL6W#2U~Odl=J#`jw?sBUjV=Dp^Vy0XSlz+7Lc7D z2%>p-j>})!F4KWTtCiK2=i`K-rEG?sW6%kXt&XP#TNn95Ui94dCpLY$bq_|&n}V-6 zluXnNSa%lSkp%Qgi(=|T8pUT>n|?1Ra%EBI@9doGQ8Mgc;j6u&zOL82boO<&fCrxA zkeEyz7#dF>4*t}X#cr;5x=+sQ`|%Sx20v@AO1aWqLE^^uU0hm@Tlv405?Z|jJd$?= zSW|gTE+QQd*AxKjPKLTn=CBx-Z#o~RG9|wllPvukQ#@04bi67}#YtM)mmX?}+Bvmd z^S^zZV^lbZCU~(A4mkwbCQ6;`msS0^pE~aEGfZiJqsVFe9-9)@O10LwuBuw<>1-gT zeJ*PA>f$kR=>5xHP&aMxs6h3ddoAvV@e=W{;b6uXdg>1=((3zRp3ReHFoRKsN-QblKQ&2yOqOs>htaOB$rI@Xgm{4LgZ`@(%0_DCH z7j`-U4^>DGbvT-Iw3#yqv+M3AO-hUSa=3n8jk>T_&AI+Ly5@8l^B!NU3K5{QISdox zZK}ofUpTsRU9qD-TL=pmg?YcAXTo8VPu>(($ZGnJLsy2PGPkuYHt&5{T^LGI?tmCn zZa}KGcO+i1=4~jesol#s1XpmM!a)sCTWJ%KT!&|(GnGuHu7`xhm$aI*pa0-xA#T`T zAXEe3dg}3)YB_3(gmyZ1@etC>q62xf6C~@HP3o}3gHOJVay$zp`QbunMcU`|?)sTl z>4af*_djD*qGvBGcq=6|_lC48^dc*aCkDQkawR>W{tmHg+T<@-9Xu#x^;^uBi$%tK zep36I-N@~iJN%HeM~;F|WbZ^YwkM=De8z0!0rfkBh8IN~k>kE9b<1lZSTP$<+OJ6j z#U2obr3b@=GLeo4vKe)9ks zCquDJ>5LHsC^-)l1jfKRZ<`uh4DG{w2L{il_uc}YJYC1fEFJzJ}0knE%nLAqX@<1z*_v0Og%bv6Sp zFL6OZ0jL1|8dRpJgJwNFf&VI)<0aktC8+~>*eeME_m#TF#F}Z@1_mt5b^T!DI)L@b zlPIbL_K@IUwfC*GG&CxouwsDM`#zmKXqQ0rfBhR9nbxdEcuqXQ!ND}-k^lVKJgO4vXK9&y? zx(0IHscHZIb`5u+?We1vv~7rBM>-jHPp5Lp5ae=e>)dI-SAGC4`ne>VK+GR)_F~#k z5-MoKo8?TjP)>$ba;4Ze~!{#er6QB8&UYrbrJMvdq-2xA)z;-yeGH9J?ocd_moS pVK@k;E;IFLKs3$$!Vz) + + + @@ -123,6 +126,9 @@ + + + diff --git a/docs/tools/widgets.c b/docs/tools/widgets.c index 73081038e6..e847442a88 100644 --- a/docs/tools/widgets.c +++ b/docs/tools/widgets.c @@ -1070,6 +1070,39 @@ create_assistant (void) return info; } +static WidgetInfo * +create_appchooserbutton (void) +{ + GtkWidget *picker; + GtkWidget *align, *vbox; + + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 3); + align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); + picker = gtk_app_chooser_button_new ("text/plain"); + gtk_container_add (GTK_CONTAINER (align), picker); + gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), + gtk_label_new ("Application Button"), + FALSE, FALSE, 0); + + return new_widget_info ("appchooserbutton", vbox, SMALL); +} + +static WidgetInfo * +create_appchooserdialog (void) +{ + WidgetInfo *info; + GtkWidget *widget; + + widget = gtk_app_chooser_dialog_new_for_content_type (NULL, 0, "image/png"); + gtk_window_set_default_size (GTK_WINDOW (widget), 200, 300); + + info = new_widget_info ("appchooserdialog", widget, ASIS); + info->include_decorations = TRUE; + + return info; +} + GList * get_all_widgets (void) { @@ -1117,6 +1150,8 @@ get_all_widgets (void) retval = g_list_prepend (retval, create_print_dialog ()); retval = g_list_prepend (retval, create_volume_button ()); retval = g_list_prepend (retval, create_switch ()); + retval = g_list_prepend (retval, create_appchooserbutton ()); + retval = g_list_prepend (retval, create_appchooserdialog ()); return retval; } diff --git a/gtk/gtkappchooser.c b/gtk/gtkappchooser.c index cb630c332b..c5b93c8af9 100644 --- a/gtk/gtkappchooser.c +++ b/gtk/gtkappchooser.c @@ -21,6 +21,17 @@ * Authors: Cosimo Cecchi */ +/** + * SECTION:gtkappchooser + * @Title: GtkAppChooser + * @Short_description: Interface implemented by widgets allowing to chooser applications + * + * #GtkAppChooser is an interface that can be implemented by widgets which + * allow the user to choose an application (typically for the purpose of + * opening a file). The main objects that implement this interface are + * #GtkAppChooserWidget, #GtkAppChooserDialog and #GtkAppChooserButton. + */ + #include "config.h" #include "gtkappchooser.h" diff --git a/gtk/gtkappchooserbutton.c b/gtk/gtkappchooserbutton.c index a956a7953c..586c74dd9e 100644 --- a/gtk/gtkappchooserbutton.c +++ b/gtk/gtkappchooserbutton.c @@ -21,6 +21,14 @@ * Authors: Cosimo Cecchi */ +/** + * SECTION:gtkappchooserbutton + * @Title: GtkAppChooserButton + * @Short_description: A button to launch an application chooser dialog + * + * The #GtkAppChooserButton is a widget that lets the user select + * an application. It implements the #GtkAppChooser interface. + */ #include "config.h" #include "gtkappchooserbutton.h" diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c index 09f575a765..f83eec4fe8 100644 --- a/gtk/gtkappchooserdialog.c +++ b/gtk/gtkappchooserdialog.c @@ -24,6 +24,18 @@ * Cosimo Cecchi */ +/** + * SECTION:gtkappchooserdialog + * @Title: GtkAppChooserDialog + * @Short_description: An application chooser dialog + * + * #GtkAppChooserDialog shows a #GtkAppChooserWidget inside a #GtkDialog. + * + * Note that #GtkAppChooserDialog does not have any interesting methods + * of its own. Instead, you should get the embedded #GtkAppChooserWidget + * using gtk_file_chooser_dialog_get_widget() and call its methods if + * the gneeric #GtkAppChooser interface is not sufficient for your needs. + */ #include "config.h" #include "gtkappchooserdialog.h" diff --git a/gtk/gtkappchooserwidget.c b/gtk/gtkappchooserwidget.c index 5de7c3e7e0..487f921a1a 100644 --- a/gtk/gtkappchooserwidget.c +++ b/gtk/gtkappchooserwidget.c @@ -45,6 +45,17 @@ #include #include +/** + * SECTION:gtkappchooserwidget + * @Title: GtkAppChooserWidget + * @Short_description: Application chooser widget that can be embedded in other widgets + * + * #GtkAppChooserWidget is a widget for selecting applications. + * It is the main building block for #GtkAppChooserDialog. Most + * applications only need to use the latter; but you can use + * this widget as part of a larger widget if you have special needs. + */ + struct _GtkAppChooserWidgetPrivate { GAppInfo *selected_app_info; From 2f09f800cc2ba26d8d0d7ec60d577cbc8f528bad Mon Sep 17 00:00:00 2001 From: Kizito Birabwa Date: Thu, 6 Jan 2011 10:23:59 +0100 Subject: [PATCH 1244/1463] Updated Luganda translation --- po/lg.po | 8665 +++++++++++++++++++++++++++--------------------------- 1 file changed, 4305 insertions(+), 4360 deletions(-) diff --git a/po/lg.po b/po/lg.po index 79e3810708..ad1a37c812 100644 --- a/po/lg.po +++ b/po/lg.po @@ -1,4360 +1,4305 @@ -# Translation of gtk+ into Luganda. -# Copyright (C) 2005 Free Software Foundation, Inc. -# This file is distributed under the same license as the gtk+ package. -# Kizito Birabwa , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: gtk+-2.22\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" -"2b&component=general\n" -"POT-Creation-Date: 2010-11-03 00:05+0000\n" -"PO-Revision-Date: 2010-11-06 12:50+0000\n" -"Last-Translator: Kizito Birabwa \n" -"Language-Team: Luganda \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: ../gdk/gdk.c:103 -#, c-format -msgid "Error parsing option --gdk-debug" -msgstr "Wazzewo kiremya mu kuyungulula makulu mu kawayiro aka --gdk-debug" - -#: ../gdk/gdk.c:123 -#, c-format -msgid "Error parsing option --gdk-no-debug" -msgstr "Wazzewo kiremya mu kuyungululamakulu mu kawayiro aka --gdk-no-debug" - -#. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:151 -msgid "Program class as used by the window manager" -msgstr "Kiti ekiteekateekamadirisa mwe kissa puloguramu" - -#. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:152 -msgid "CLASS" -msgstr "KITI" - -#. Description of --name=NAME in --help output -#: ../gdk/gdk.c:154 -msgid "Program name as used by the window manager" -msgstr "Erinnya ekiteekateekamadirisa lye kiyita puloguramu" - -#. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:155 -msgid "NAME" -msgstr "LINNYA" - -#. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:157 -msgid "X display to use" -msgstr "Omulimu gwa X ogunaakozesebwa" - -#. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:158 -msgid "DISPLAY" -msgstr "MULIMU" - -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:160 -msgid "X screen to use" -msgstr "Olutmbe olunaakozesebwa" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:161 -msgid "SCREEN" -msgstr "LUTIMBE" - -#. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:164 -msgid "GDK debugging flags to set" -msgstr "" - -#. Placeholder in --gdk-debug=FLAGS in --help output -#. Placeholder in --gdk-no-debug=FLAGS in --help output -#. Placeholder in --gtk-debug=FLAGS in --help output -#. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:165 ../gdk/gdk.c:168 ../gtk/gtkmain.c:459 ../gtk/gtkmain.c:462 -msgid "FLAGS" -msgstr "" - -#. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:167 -msgid "GDK debugging flags to unset" -msgstr "" - -#: ../gdk/keyname-table.h:3940 -msgctxt "keyboard label" -msgid "BackSpace" -msgstr "" - -#: ../gdk/keyname-table.h:3941 -msgctxt "keyboard label" -msgid "Tab" -msgstr "" - -#: ../gdk/keyname-table.h:3942 -msgctxt "keyboard label" -msgid "Return" -msgstr "" - -#: ../gdk/keyname-table.h:3943 -msgctxt "keyboard label" -msgid "Pause" -msgstr "" - -#: ../gdk/keyname-table.h:3944 -msgctxt "keyboard label" -msgid "Scroll_Lock" -msgstr "" - -#: ../gdk/keyname-table.h:3945 -msgctxt "keyboard label" -msgid "Sys_Req" -msgstr "" - -#: ../gdk/keyname-table.h:3946 -msgctxt "keyboard label" -msgid "Escape" -msgstr "" - -#: ../gdk/keyname-table.h:3947 -msgctxt "keyboard label" -msgid "Multi_key" -msgstr "" - -#: ../gdk/keyname-table.h:3948 -msgctxt "keyboard label" -msgid "Home" -msgstr "" - -#: ../gdk/keyname-table.h:3949 -msgctxt "keyboard label" -msgid "Left" -msgstr "" - -#: ../gdk/keyname-table.h:3950 -msgctxt "keyboard label" -msgid "Up" -msgstr "" - -#: ../gdk/keyname-table.h:3951 -msgctxt "keyboard label" -msgid "Right" -msgstr "" - -#: ../gdk/keyname-table.h:3952 -msgctxt "keyboard label" -msgid "Down" -msgstr "" - -#: ../gdk/keyname-table.h:3953 -msgctxt "keyboard label" -msgid "Page_Up" -msgstr "" - -#: ../gdk/keyname-table.h:3954 -msgctxt "keyboard label" -msgid "Page_Down" -msgstr "" - -#: ../gdk/keyname-table.h:3955 -msgctxt "keyboard label" -msgid "End" -msgstr "" - -#: ../gdk/keyname-table.h:3956 -msgctxt "keyboard label" -msgid "Begin" -msgstr "" - -#: ../gdk/keyname-table.h:3957 -msgctxt "keyboard label" -msgid "Print" -msgstr "" - -#: ../gdk/keyname-table.h:3958 -msgctxt "keyboard label" -msgid "Insert" -msgstr "" - -#: ../gdk/keyname-table.h:3959 -msgctxt "keyboard label" -msgid "Num_Lock" -msgstr "" - -#: ../gdk/keyname-table.h:3960 -msgctxt "keyboard label" -msgid "KP_Space" -msgstr "" - -#: ../gdk/keyname-table.h:3961 -msgctxt "keyboard label" -msgid "KP_Tab" -msgstr "" - -#: ../gdk/keyname-table.h:3962 -msgctxt "keyboard label" -msgid "KP_Enter" -msgstr "" - -#: ../gdk/keyname-table.h:3963 -msgctxt "keyboard label" -msgid "KP_Home" -msgstr "" - -#: ../gdk/keyname-table.h:3964 -msgctxt "keyboard label" -msgid "KP_Left" -msgstr "" - -#: ../gdk/keyname-table.h:3965 -msgctxt "keyboard label" -msgid "KP_Up" -msgstr "" - -#: ../gdk/keyname-table.h:3966 -msgctxt "keyboard label" -msgid "KP_Right" -msgstr "" - -#: ../gdk/keyname-table.h:3967 -msgctxt "keyboard label" -msgid "KP_Down" -msgstr "" - -#: ../gdk/keyname-table.h:3968 -msgctxt "keyboard label" -msgid "KP_Page_Up" -msgstr "" - -#: ../gdk/keyname-table.h:3969 -msgctxt "keyboard label" -msgid "KP_Prior" -msgstr "" - -#: ../gdk/keyname-table.h:3970 -msgctxt "keyboard label" -msgid "KP_Page_Down" -msgstr "" - -#: ../gdk/keyname-table.h:3971 -msgctxt "keyboard label" -msgid "KP_Next" -msgstr "" - -#: ../gdk/keyname-table.h:3972 -msgctxt "keyboard label" -msgid "KP_End" -msgstr "" - -#: ../gdk/keyname-table.h:3973 -msgctxt "keyboard label" -msgid "KP_Begin" -msgstr "" - -#: ../gdk/keyname-table.h:3974 -msgctxt "keyboard label" -msgid "KP_Insert" -msgstr "" - -#: ../gdk/keyname-table.h:3975 -msgctxt "keyboard label" -msgid "KP_Delete" -msgstr "" - -#: ../gdk/keyname-table.h:3976 -msgctxt "keyboard label" -msgid "Delete" -msgstr "" - -#. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 -msgid "Don't batch GDI requests" -msgstr "" - -#. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 -msgid "Don't use the Wintab API for tablet support" -msgstr "" - -#. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 -msgid "Same as --no-wintab" -msgstr "" - -#. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 -msgid "Do use the Wintab API [default]" -msgstr "" - -#. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 -msgid "Size of the palette in 8 bit mode" -msgstr "" - -#. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 -msgid "COLORS" -msgstr "" - -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:93 -msgid "Make X calls synchronous" -msgstr "" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:313 -#, c-format -msgid "Starting %s" -msgstr "Ntandika %s" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 -#, c-format -msgid "Opening %s" -msgstr "Mbikkula %s" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:322 -#, c-format -msgid "Opening %d Item" -msgid_plural "Opening %d Items" -msgstr[0] "" -msgstr[1] "" - -#: ../gtk/gtkaboutdialog.c:242 -msgid "Could not show link" -msgstr "Nnemedwa okulaga enyunzi" - -#: ../gtk/gtkaboutdialog.c:365 ../gtk/gtkaboutdialog.c:2263 -msgid "License" -msgstr "Layisinsi" - -#: ../gtk/gtkaboutdialog.c:366 -msgid "The license of the program" -msgstr "Layisinsi efuga nkozesa ya puloguramu" - -#. Add the credits button -#: ../gtk/gtkaboutdialog.c:625 -msgid "C_redits" -msgstr "A_baakola" - -#. Add the license button -#: ../gtk/gtkaboutdialog.c:639 -msgid "_License" -msgstr "_Layisinsi" - -#: ../gtk/gtkaboutdialog.c:917 -#, c-format -msgid "About %s" -msgstr "Okwanjula %s" - -#: ../gtk/gtkaboutdialog.c:2186 -msgid "Credits" -msgstr "Abaakola" - -#: ../gtk/gtkaboutdialog.c:2215 -msgid "Written by" -msgstr "Yawandikibwa" - -#: ../gtk/gtkaboutdialog.c:2218 -msgid "Documented by" -msgstr "Yawandikibwako" - -#: ../gtk/gtkaboutdialog.c:2230 -msgid "Translated by" -msgstr "Yavvuunulibwa" - -#: ../gtk/gtkaboutdialog.c:2234 -msgid "Artwork by" -msgstr "Abaakola ku nfaanana ya yo" - -#. This is the text that should appear next to menu accelerators -#. * that use the shift key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:146 -msgctxt "keyboard label" -msgid "Shift" -msgstr "" - -#. This is the text that should appear next to menu accelerators -#. * that use the control key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:152 -msgctxt "keyboard label" -msgid "Ctrl" -msgstr "" - -#. This is the text that should appear next to menu accelerators -#. * that use the alt key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:158 -msgctxt "keyboard label" -msgid "Alt" -msgstr "" - -#. This is the text that should appear next to menu accelerators -#. * that use the super key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:743 -msgctxt "keyboard label" -msgid "Super" -msgstr "" - -#. This is the text that should appear next to menu accelerators -#. * that use the hyper key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:756 -msgctxt "keyboard label" -msgid "Hyper" -msgstr "" - -#. This is the text that should appear next to menu accelerators -#. * that use the meta key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:770 -msgctxt "keyboard label" -msgid "Meta" -msgstr "" - -#: ../gtk/gtkaccellabel.c:787 -msgctxt "keyboard label" -msgid "Space" -msgstr "Kabangirizi" - -#: ../gtk/gtkaccellabel.c:790 -msgctxt "keyboard label" -msgid "Backslash" -msgstr "Kasaze ka kaddanyuma" - -#: ../gtk/gtkbuilderparser.c:343 -#, c-format -msgid "Invalid type function on line %d: '%s'" -msgstr "" - -#: ../gtk/gtkbuilderparser.c:407 -#, c-format -msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "" - -#: ../gtk/gtkbuilderparser.c:859 -#, c-format -msgid "Invalid root element: '%s'" -msgstr "" - -#: ../gtk/gtkbuilderparser.c:898 -#, c-format -msgid "Unhandled tag: '%s'" -msgstr "" - -#. Translate to calendar:YM if you want years to be displayed -#. * before months; otherwise translate to calendar:MY. -#. * Do *not* translate it to anything else, if it -#. * it isn't calendar:YM or calendar:MY it will not work. -#. * -#. * Note that the ordering described here is logical order, which is -#. * further influenced by BIDI ordering. Thus, if you have a default -#. * text direction of RTL and specify "calendar:YM", then the year -#. * will appear to the right of the month. -#. -#: ../gtk/gtkcalendar.c:799 -msgid "calendar:MY" -msgstr "" - -#. Translate to calendar:week_start:0 if you want Sunday to be the -#. * first day of the week to calendar:week_start:1 if you want Monday -#. * to be the first day of the week, and so on. -#. -#: ../gtk/gtkcalendar.c:837 -msgid "calendar:week_start:0" -msgstr "calendar:week_start:0" - -#. Translators: This is a text measurement template. -#. * Translate it to the widest year text -#. * -#. * If you don't understand this, leave it as "2000" -#. -#: ../gtk/gtkcalendar.c:1890 -msgctxt "year measurement template" -msgid "2000" -msgstr "2000" - -#. Translators: this defines whether the day numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1921 ../gtk/gtkcalendar.c:2584 -#, c-format -msgctxt "calendar:day:digits" -msgid "%d" -msgstr "%d" - -#. Translators: this defines whether the week numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1953 ../gtk/gtkcalendar.c:2447 -#, c-format -msgctxt "calendar:week:digits" -msgid "%d" -msgstr "%d" - -#. Translators: This dictates how the year is displayed in -#. * gtkcalendar widget. See strftime() manual for the format. -#. * Use only ASCII in the translation. -#. * -#. * Also look for the msgid "2000". -#. * Translate that entry to a year with the widest output of this -#. * msgid. -#. * -#. * "%Y" is appropriate for most locales. -#. -#: ../gtk/gtkcalendar.c:2235 -msgctxt "calendar year format" -msgid "%Y" -msgstr "%Y" - -#. This label is displayed in a treeview cell displaying -#. * a disabled accelerator key combination. -#. -#: ../gtk/gtkcellrendereraccel.c:244 -msgctxt "Accelerator" -msgid "Disabled" -msgstr "Tegakola" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator key combination that is not valid according -#. * to gtk_accelerator_valid(). -#. -#: ../gtk/gtkcellrendereraccel.c:254 -msgctxt "Accelerator" -msgid "Invalid" -msgstr "Tegakkirizibwa" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator when the cell is clicked to change the -#. * acelerator. -#. -#: ../gtk/gtkcellrendereraccel.c:389 ../gtk/gtkcellrendereraccel.c:603 -msgid "New accelerator..." -msgstr "Gakyuse..." - -#: ../gtk/gtkcellrendererprogress.c:361 ../gtk/gtkcellrendererprogress.c:448 -#, c-format -msgctxt "progress bar label" -msgid "%d %%" -msgstr "" - -#: ../gtk/gtkcolorbutton.c:178 ../gtk/gtkcolorbutton.c:457 -msgid "Pick a Color" -msgstr "Londako langi" - -#: ../gtk/gtkcolorbutton.c:350 -msgid "Received invalid color data\n" -msgstr "Nfunye ebya langi ebitakkirizibwa\n" - -#: ../gtk/gtkcolorsel.c:363 -msgid "" -"Select the color you want from the outer ring. Select the darkness or " -"lightness of that color using the inner triangle." -msgstr "" -"Kozesa namuziga okulonda langi. Kozesa nsondasatu obutegeka obukwafu bwa yo." - -#: ../gtk/gtkcolorsel.c:387 -msgid "" -"Click the eyedropper, then click a color anywhere on your screen to select " -"that color." -msgstr "" -"Bw'onyiga ku katonyesa, ofuna ekikusobozesa okukwata langi okuva wonna " -"w'oyagala ku lutimbe" - -#: ../gtk/gtkcolorsel.c:396 -msgid "_Hue:" -msgstr "_Kiti kya langi:" - -#: ../gtk/gtkcolorsel.c:397 -msgid "Position on the color wheel." -msgstr "Kifo ku namuziga y'erangi." - -#: ../gtk/gtkcolorsel.c:399 -msgid "_Saturation:" -msgstr "_Busaabulukufu:" - -#: ../gtk/gtkcolorsel.c:400 -msgid "\"Deepness\" of the color." -msgstr "Obusaabulufu bwa langi." - -#: ../gtk/gtkcolorsel.c:401 -msgid "_Value:" -msgstr "_Butaangaavu:" - -#: ../gtk/gtkcolorsel.c:402 -msgid "Brightness of the color." -msgstr "Obutaangaavu bw'erangi." - -#: ../gtk/gtkcolorsel.c:403 -msgid "_Red:" -msgstr "Obu_myufu" - -#: ../gtk/gtkcolorsel.c:404 -msgid "Amount of red light in the color." -msgstr "Obumyufu obuli mu langi." - -#: ../gtk/gtkcolorsel.c:405 -msgid "_Green:" -msgstr "Obwaki_ragala:" - -#: ../gtk/gtkcolorsel.c:406 -msgid "Amount of green light in the color." -msgstr "Obwakiragala obuli mu langi." - -#: ../gtk/gtkcolorsel.c:407 -msgid "_Blue:" -msgstr "Obwa_bbululu:" - -#: ../gtk/gtkcolorsel.c:408 -msgid "Amount of blue light in the color." -msgstr "Obwabbululu obuli mu langi." - -#: ../gtk/gtkcolorsel.c:411 -msgid "Op_acity:" -msgstr "Oku_taangaala:" - -#: ../gtk/gtkcolorsel.c:418 ../gtk/gtkcolorsel.c:428 -msgid "Transparency of the color." -msgstr "Okutaangaala kw'erangi." - -#: ../gtk/gtkcolorsel.c:435 -msgid "Color _name:" -msgstr "_Linnya lya langi:" - -#: ../gtk/gtkcolorsel.c:449 -msgid "" -"You can enter an HTML-style hexadecimal color value, or simply a color name " -"such as 'orange' in this entry." -msgstr "" -"Wano oyinz'okuwandikawo ennamba ey'omu nnengakkuminamukaaga nga mu HTML, oba " -"oyinz'okuwandikawo erinya nga 'orange'." - -#: ../gtk/gtkcolorsel.c:479 -msgid "_Palette:" -msgstr "" - -#: ../gtk/gtkcolorsel.c:508 -msgid "Color Wheel" -msgstr "Namuziga ya langi" - -#: ../gtk/gtkcolorsel.c:967 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now. You can drag this color to a palette entry, or select this color as " -"current by dragging it to the other color swatch alongside." -msgstr "" - -#: ../gtk/gtkcolorsel.c:970 -msgid "" -"The color you've chosen. You can drag this color to a palette entry to save " -"it for use in the future." -msgstr "" - -#: ../gtk/gtkcolorsel.c:975 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now." -msgstr "" - -#: ../gtk/gtkcolorsel.c:978 -msgid "The color you've chosen." -msgstr "" - -#: ../gtk/gtkcolorsel.c:1391 -msgid "_Save color here" -msgstr "" - -#: ../gtk/gtkcolorsel.c:1596 -msgid "" -"Click this palette entry to make it the current color. To change this entry, " -"drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "" - -#: ../gtk/gtkcolorseldialog.c:170 -msgid "Color Selection" -msgstr "" - -#. Translate to the default units to use for presenting -#. * lengths to the user. Translate to default:inch if you -#. * want inches, otherwise translate to default:mm. -#. * Do *not* translate it to "predefinito:mm", if it -#. * it isn't default:mm or default:inch it will not work -#. -#: ../gtk/gtkcustompaperunixdialog.c:118 -msgid "default:mm" -msgstr "default:mm" - -#. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:373 ../gtk/gtkprintunixdialog.c:3226 -msgid "Manage Custom Sizes" -msgstr "Teekateeka ebigero by'empapula ebitasangibwasangibwa" - -#: ../gtk/gtkcustompaperunixdialog.c:533 ../gtk/gtkpagesetupunixdialog.c:778 -msgid "inch" -msgstr "yinci" - -#: ../gtk/gtkcustompaperunixdialog.c:535 ../gtk/gtkpagesetupunixdialog.c:776 -msgid "mm" -msgstr "mm" - -#: ../gtk/gtkcustompaperunixdialog.c:580 -msgid "Margins from Printer..." -msgstr "" - -#: ../gtk/gtkcustompaperunixdialog.c:746 -#, c-format -msgid "Custom Size %d" -msgstr "Ekigero ekyeteekateekere %d" - -#: ../gtk/gtkcustompaperunixdialog.c:1054 -msgid "_Width:" -msgstr "Bu_gazi:" - -#: ../gtk/gtkcustompaperunixdialog.c:1066 -msgid "_Height:" -msgstr "Bu_wanvu:" - -#: ../gtk/gtkcustompaperunixdialog.c:1078 -msgid "Paper Size" -msgstr "Kigero ky'empapula" - -#: ../gtk/gtkcustompaperunixdialog.c:1087 -msgid "_Top:" -msgstr "Wa_ggulu:" - -#: ../gtk/gtkcustompaperunixdialog.c:1099 -msgid "_Bottom:" -msgstr "Wa_nsi:" - -#: ../gtk/gtkcustompaperunixdialog.c:1111 -msgid "_Left:" -msgstr "_Kkono:" - -#: ../gtk/gtkcustompaperunixdialog.c:1123 -msgid "_Right:" -msgstr "_Ddyo:" - -#: ../gtk/gtkcustompaperunixdialog.c:1164 -msgid "Paper Margins" -msgstr "Emyagaanya ku mpapula" - -#: ../gtk/gtkentry.c:8751 ../gtk/gtktextview.c:7974 -msgid "Input _Methods" -msgstr "" - -#: ../gtk/gtkentry.c:8765 ../gtk/gtktextview.c:7988 -msgid "_Insert Unicode Control Character" -msgstr "" - -#: ../gtk/gtkentry.c:10144 -msgid "Caps Lock is on" -msgstr "" - -#: ../gtk/gtkfilechooserbutton.c:64 -msgid "Select A File" -msgstr "Londayo fayiro" - -#: ../gtk/gtkfilechooserbutton.c:65 ../gtk/gtkfilechooserdefault.c:1839 -msgid "Desktop" -msgstr "Awakolerwa" - -#: ../gtk/gtkfilechooserbutton.c:66 -msgid "(None)" -msgstr "" - -#: ../gtk/gtkfilechooserbutton.c:2021 -msgid "Other..." -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:148 -msgid "Type name of new folder" -msgstr "Wandika linnya ly'etterekero eppya" - -#: ../gtk/gtkfilechooserdefault.c:965 -msgid "Could not retrieve information about the file" -msgstr "Nnemedwa okufuna ebifa ku fayiro" - -#: ../gtk/gtkfilechooserdefault.c:976 -msgid "Could not add a bookmark" -msgstr "Nnemedwa okukwata ekifo" - -#: ../gtk/gtkfilechooserdefault.c:987 -msgid "Could not remove bookmark" -msgstr "Nnemedwa okugyawo akakwatakifo" - -#: ../gtk/gtkfilechooserdefault.c:998 -msgid "The folder could not be created" -msgstr "Tekisobose tterekero okulikolawo" - -#: ../gtk/gtkfilechooserdefault.c:1011 -msgid "" -"The folder could not be created, as a file with the same name already " -"exists. Try using a different name for the folder, or rename the file first." -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:1022 -msgid "Invalid file name" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:1032 -msgid "The folder contents could not be displayed" -msgstr "" - -#. Translators: the first string is a path and the second string -#. * is a hostname. Nautilus and the panel contain the same string -#. * to translate. -#. -#: ../gtk/gtkfilechooserdefault.c:1582 -#, c-format -msgid "%1$s on %2$s" -msgstr "%1$s ku %2$s" - -#: ../gtk/gtkfilechooserdefault.c:1758 -msgid "Search" -msgstr "Noonya" - -#: ../gtk/gtkfilechooserdefault.c:1782 ../gtk/gtkfilechooserdefault.c:9465 -msgid "Recently Used" -msgstr "Ebyakabukkulibwa" - -#: ../gtk/gtkfilechooserdefault.c:2422 -msgid "Select which types of files are shown" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:2781 -#, c-format -msgid "Add the folder '%s' to the bookmarks" -msgstr "Tterekero'%s' likolerewo akakwatakifo" - -#: ../gtk/gtkfilechooserdefault.c:2825 -#, c-format -msgid "Add the current folder to the bookmarks" -msgstr "Tterekero lino likolerewo akakwatakifo" - -#: ../gtk/gtkfilechooserdefault.c:2827 -#, c-format -msgid "Add the selected folders to the bookmarks" -msgstr "Amaterekero agalondedwa gakolerewo obukwatakifo" - -#: ../gtk/gtkfilechooserdefault.c:2865 -#, c-format -msgid "Remove the bookmark '%s'" -msgstr "Gyawo akakwatakifo '%s'" - -#: ../gtk/gtkfilechooserdefault.c:2867 -#, c-format -msgid "Bookmark '%s' cannot be removed" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:2874 ../gtk/gtkfilechooserdefault.c:3898 -msgid "Remove the selected bookmark" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:3594 -msgid "Remove" -msgstr "Gyawo" - -#: ../gtk/gtkfilechooserdefault.c:3603 -msgid "Rename..." -msgstr "Kyusa erinnya..." - -#. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3766 -msgid "Places" -msgstr "Bifo" - -#. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3823 -msgid "_Places" -msgstr "_Bifo" - -#: ../gtk/gtkfilechooserdefault.c:3879 -msgid "_Add" -msgstr "_Likolereyo" - -#: ../gtk/gtkfilechooserdefault.c:3886 -msgid "Add the selected folder to the Bookmarks" -msgstr "Etterekero erirondedwa likolerewo akakwatakifo" - -#: ../gtk/gtkfilechooserdefault.c:3891 -msgid "_Remove" -msgstr "_Gyawo" - -#: ../gtk/gtkfilechooserdefault.c:4026 -msgid "Could not select file" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:4201 -msgid "_Add to Bookmarks" -msgstr "_Likolereyo akakwatakifo" - -#: ../gtk/gtkfilechooserdefault.c:4214 -msgid "Show _Hidden Files" -msgstr "Laga fayiro en_kise" - -#: ../gtk/gtkfilechooserdefault.c:4221 -msgid "Show _Size Column" -msgstr "Teekawo olukumbo olulaga _bunene bwa fayiro" - -#: ../gtk/gtkfilechooserdefault.c:4441 ../gtk/gtkfilesel.c:730 -msgid "Files" -msgstr "Fayiro" - -#: ../gtk/gtkfilechooserdefault.c:4492 -msgid "Name" -msgstr "Linnya" - -#: ../gtk/gtkfilechooserdefault.c:4515 -msgid "Size" -msgstr "Bunene" - -#: ../gtk/gtkfilechooserdefault.c:4529 -msgid "Modified" -msgstr "Amakyusibwa" - -#. Label -#: ../gtk/gtkfilechooserdefault.c:4784 ../gtk/gtkprinteroptionwidget.c:802 -msgid "_Name:" -msgstr "_Linnya" - -#: ../gtk/gtkfilechooserdefault.c:4827 -msgid "_Browse for other folders" -msgstr "_Noonya amaterekero amalala" - -#: ../gtk/gtkfilechooserdefault.c:5097 -msgid "Type a file name" -msgstr "Wandikawo erinnya lya fayiro" - -#. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5140 -msgid "Create Fo_lder" -msgstr "Kolawo e_tterekero" - -#: ../gtk/gtkfilechooserdefault.c:5150 -msgid "_Location:" -msgstr "_Obusangiro:" - -#: ../gtk/gtkfilechooserdefault.c:5354 -msgid "Save in _folder:" -msgstr "Teeka mu _tterekero:" - -#: ../gtk/gtkfilechooserdefault.c:5356 -msgid "Create in _folder:" -msgstr "Tondera mu _tterekero:" - -#: ../gtk/gtkfilechooserdefault.c:6431 -#, c-format -msgid "Could not read the contents of %s" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:6435 -msgid "Could not read the contents of the folder" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:6528 ../gtk/gtkfilechooserdefault.c:6596 -#: ../gtk/gtkfilechooserdefault.c:6741 -msgid "Unknown" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:6543 -msgid "%H:%M" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:6545 -msgid "Yesterday at %H:%M" -msgstr "Eggulo ku %H:%M" - -#: ../gtk/gtkfilechooserdefault.c:7211 -msgid "Cannot change to folder because it is not local" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:7808 ../gtk/gtkfilechooserdefault.c:7829 -#, c-format -msgid "Shortcut %s already exists" -msgstr "Enynzi %s yabaawo dda" - -#: ../gtk/gtkfilechooserdefault.c:7919 -#, c-format -msgid "Shortcut %s does not exist" -msgstr "Enyunzi %s teriwo" - -#: ../gtk/gtkfilechooserdefault.c:8174 ../gtk/gtkprintunixdialog.c:480 -#, c-format -msgid "A file named \"%s\" already exists. Do you want to replace it?" -msgstr "Fayiro \"%s\" yabaawo dda. Oyagala eyo esangidwawo eggyibwewo?" - -#: ../gtk/gtkfilechooserdefault.c:8177 ../gtk/gtkprintunixdialog.c:484 -#, c-format -msgid "" -"The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "" -"Fayiro yabaawo dda mu \"%s\". Bw'olonda ku gigyawo ebigirimu " -"bijjakusaanyizibwawo." - -#: ../gtk/gtkfilechooserdefault.c:8182 ../gtk/gtkprintunixdialog.c:491 -msgid "_Replace" -msgstr "_Esangidwawo eggyibwewo" - -#: ../gtk/gtkfilechooserdefault.c:8834 -msgid "Could not start the search process" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:8835 -msgid "" -"The program was not able to create a connection to the indexer daemon. " -"Please make sure it is running." -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:8849 -msgid "Could not send the search request" -msgstr "" - -#: ../gtk/gtkfilechooserdefault.c:9037 -msgid "Search:" -msgstr "Noonya:" - -#: ../gtk/gtkfilechooserdefault.c:9642 -#, c-format -msgid "Could not mount %s" -msgstr "Nnemedwa okuwabga %s" - -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1166 -msgid "Invalid path" -msgstr "" - -#. translators: this text is shown when there are no completions -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1098 -msgid "No match" -msgstr "" - -#. translators: this text is shown when there is exactly one completion -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1109 -msgid "Sole completion" -msgstr "" - -#. translators: this text is shown when the text in a file chooser -#. * entry is a complete filename, but could be continued to find -#. * a longer match -#. -#: ../gtk/gtkfilechooserentry.c:1125 -msgid "Complete, but not unique" -msgstr "" - -#. Translators: this text is shown while the system is searching -#. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1157 -msgid "Completing..." -msgstr "" - -#. hostnames in a local_only file chooser? user error -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user enters something like -#. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1179 ../gtk/gtkfilechooserentry.c:1204 -msgid "Only local files may be selected" -msgstr "" - -#. Another option is to complete the hostname based on the remote volumes that are mounted -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user hasn't entered the first '/' -#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1188 -msgid "Incomplete hostname; end it with '/'" -msgstr "" - -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry when the user enters a path that does not exist -#. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1199 -msgid "Path does not exist" -msgstr "" - -#: ../gtk/gtkfilechoosersettings.c:487 ../gtk/gtkfilesel.c:1349 -#: ../gtk/gtkfilesel.c:1360 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "" - -#: ../gtk/gtkfilesel.c:694 -msgid "Folders" -msgstr "Materekero" - -#: ../gtk/gtkfilesel.c:698 -msgid "Fol_ders" -msgstr "Ma_terekero" - -#: ../gtk/gtkfilesel.c:734 -msgid "_Files" -msgstr "_Fayiro" - -#: ../gtk/gtkfilesel.c:821 ../gtk/gtkfilesel.c:2154 -#, c-format -msgid "Folder unreadable: %s" -msgstr "Tterekero eritakebereka: %s" - -#: ../gtk/gtkfilesel.c:905 -#, c-format -msgid "" -"The file \"%s\" resides on another machine (called %s) and may not be " -"available to this program.\n" -"Are you sure that you want to select it?" -msgstr "" - -#: ../gtk/gtkfilesel.c:1020 -msgid "_New Folder" -msgstr "Tterekero _ppya" - -#: ../gtk/gtkfilesel.c:1031 -msgid "De_lete File" -msgstr "_Gyawo fayiro" - -#: ../gtk/gtkfilesel.c:1042 -msgid "_Rename File" -msgstr "Fayiro gik_yuse erinnya" - -#: ../gtk/gtkfilesel.c:1347 -#, c-format -msgid "" -"The folder name \"%s\" contains symbols that are not allowed in filenames" -msgstr "" - -#: ../gtk/gtkfilesel.c:1394 -msgid "New Folder" -msgstr "Tterekero ppya" - -#: ../gtk/gtkfilesel.c:1409 -msgid "_Folder name:" -msgstr "Linnya lya _tterekero" - -#: ../gtk/gtkfilesel.c:1433 -msgid "C_reate" -msgstr "_Kolawo" - -#: ../gtk/gtkfilesel.c:1476 ../gtk/gtkfilesel.c:1585 ../gtk/gtkfilesel.c:1598 -#, c-format -msgid "The filename \"%s\" contains symbols that are not allowed in filenames" -msgstr "" - -#: ../gtk/gtkfilesel.c:1479 ../gtk/gtkfilesel.c:1491 -#, c-format -msgid "Error deleting file '%s': %s" -msgstr "" - -#: ../gtk/gtkfilesel.c:1534 -#, c-format -msgid "Really delete file \"%s\"?" -msgstr "Fayiro \"%s\" ngiggirewo ddala?" - -#: ../gtk/gtkfilesel.c:1539 -msgid "Delete File" -msgstr "Gyawo fayiro" - -#: ../gtk/gtkfilesel.c:1587 -#, c-format -msgid "Error renaming file to \"%s\": %s" -msgstr "" - -#: ../gtk/gtkfilesel.c:1600 -#, c-format -msgid "Error renaming file \"%s\": %s" -msgstr "" - -#: ../gtk/gtkfilesel.c:1611 -#, c-format -msgid "Error renaming file \"%s\" to \"%s\": %s" -msgstr "" - -#: ../gtk/gtkfilesel.c:1658 -msgid "Rename File" -msgstr "Fayiro gikyuse erinnya" - -#: ../gtk/gtkfilesel.c:1673 -#, c-format -msgid "Rename file \"%s\" to:" -msgstr "Fayiro \"%s\" gituume:" - -#: ../gtk/gtkfilesel.c:1702 -msgid "_Rename" -msgstr "K_yusa linnya" - -#: ../gtk/gtkfilesel.c:2134 -msgid "_Selection: " -msgstr "" - -#: ../gtk/gtkfilesel.c:3056 -#, c-format -msgid "" -"The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -"environment variable G_FILENAME_ENCODING): %s" -msgstr "" - -#: ../gtk/gtkfilesel.c:3059 -msgid "Invalid UTF-8" -msgstr "" - -#: ../gtk/gtkfilesel.c:3935 -msgid "Name too long" -msgstr "" - -#: ../gtk/gtkfilesel.c:3937 -msgid "Couldn't convert filename" -msgstr "" - -#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are -#. * really pointers to GDrive, GVolume or GMount objects. We need an extra -#. * token for the fake "File System" volume. So, we'll return a pointer to -#. * this particular string. -#. -#: ../gtk/gtkfilesystem.c:52 -msgid "File System" -msgstr "Sisitemu ya fayiro" - -#: ../gtk/gtkfontbutton.c:144 ../gtk/gtkfontbutton.c:266 -msgid "Pick a Font" -msgstr "Londayo enkula y'ennukuta" - -#. Initialize fields -#: ../gtk/gtkfontbutton.c:260 -msgid "Sans 12" -msgstr "" - -#: ../gtk/gtkfontbutton.c:785 -msgid "Font" -msgstr "Nkula y'ennukuta" - -#. This is the default text shown in the preview entry, though the user -#. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:75 -msgid "abcdefghijk ABCDEFGHIJK" -msgstr "" - -#: ../gtk/gtkfontsel.c:343 -msgid "_Family:" -msgstr "_Lulyo:" - -#: ../gtk/gtkfontsel.c:349 -msgid "_Style:" -msgstr "_Musono:" - -#: ../gtk/gtkfontsel.c:355 -msgid "Si_ze:" -msgstr "Bu_nene:" - -#. create the text entry widget -#: ../gtk/gtkfontsel.c:532 -msgid "_Preview:" -msgstr "Ku_lagako:" - -#: ../gtk/gtkfontsel.c:1649 -msgid "Font Selection" -msgstr "" - -#: ../gtk/gtkgamma.c:410 -msgid "Gamma" -msgstr "" - -#: ../gtk/gtkgamma.c:420 -msgid "_Gamma value" -msgstr "" - -#. Remove this icon source so we don't keep trying to -#. * load it. -#. -#: ../gtk/gtkiconfactory.c:1354 -#, c-format -msgid "Error loading icon: %s" -msgstr "" - -#: ../gtk/gtkicontheme.c:1363 -#, c-format -msgid "" -"Could not find the icon '%s'. The '%s' theme\n" -"was not found either, perhaps you need to install it.\n" -"You can get a copy from:\n" -"\t%s" -msgstr "" - -#: ../gtk/gtkicontheme.c:1543 -#, c-format -msgid "Icon '%s' not present in theme" -msgstr "" - -#: ../gtk/gtkicontheme.c:3074 -msgid "Failed to load icon" -msgstr "" - -#: ../gtk/gtkimmodule.c:527 -msgid "Simple" -msgstr "" - -#: ../gtk/gtkimmulticontext.c:563 -msgctxt "input method menu" -msgid "System" -msgstr "" - -#: ../gtk/gtkimmulticontext.c:573 -msgctxt "input method menu" -msgid "None" -msgstr "" - -#: ../gtk/gtkimmulticontext.c:656 -#, c-format -msgctxt "input method menu" -msgid "System (%s)" -msgstr "" - -#: ../gtk/gtkinputdialog.c:192 -msgid "Input" -msgstr "" - -#: ../gtk/gtkinputdialog.c:207 -msgid "No extended input devices" -msgstr "" - -#: ../gtk/gtkinputdialog.c:220 -msgid "_Device:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:237 -msgid "Disabled" -msgstr "" - -#: ../gtk/gtkinputdialog.c:244 -msgid "Screen" -msgstr "" - -#: ../gtk/gtkinputdialog.c:251 -msgid "Window" -msgstr "" - -#: ../gtk/gtkinputdialog.c:258 -msgid "_Mode:" -msgstr "" - -#. The axis listbox -#: ../gtk/gtkinputdialog.c:279 -msgid "Axes" -msgstr "" - -#. Keys listbox -#: ../gtk/gtkinputdialog.c:297 -msgid "Keys" -msgstr "" - -#: ../gtk/gtkinputdialog.c:524 -msgid "_X:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:525 -msgid "_Y:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:526 -msgid "_Pressure:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:527 -msgid "X _tilt:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:528 -msgid "Y t_ilt:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:529 -msgid "_Wheel:" -msgstr "" - -#: ../gtk/gtkinputdialog.c:581 -msgid "none" -msgstr "" - -#: ../gtk/gtkinputdialog.c:618 ../gtk/gtkinputdialog.c:654 -msgid "(disabled)" -msgstr "" - -#: ../gtk/gtkinputdialog.c:647 -msgid "(unknown)" -msgstr "" - -#. and clear button -#: ../gtk/gtkinputdialog.c:751 -msgid "Cl_ear" -msgstr "" - -#. Open Link -#: ../gtk/gtklabel.c:5700 -msgid "_Open Link" -msgstr "_Bikkula nyunzi" - -#. Copy Link Address -#: ../gtk/gtklabel.c:5712 -msgid "Copy _Link Address" -msgstr "Kwata e_ndagiriro enyunzi kw'egguka" - -#: ../gtk/gtklinkbutton.c:428 -msgid "Copy URL" -msgstr "Kwata koppi ya URL" - -#: ../gtk/gtklinkbutton.c:586 -msgid "Invalid URI" -msgstr "" - -#. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:452 -msgid "Load additional GTK+ modules" -msgstr "" - -#. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:453 -msgid "MODULES" -msgstr "" - -#. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:455 -msgid "Make all warnings fatal" -msgstr "" - -#. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:458 -msgid "GTK+ debugging flags to set" -msgstr "" - -#. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:461 -msgid "GTK+ debugging flags to unset" -msgstr "" - -#. Translate to default:RTL if you want your widgets -#. * to be RTL, otherwise translate to default:LTR. -#. * Do *not* translate it to "predefinito:LTR", if it -#. * it isn't default:LTR or default:RTL it will not work -#. -#: ../gtk/gtkmain.c:731 -msgid "default:LTR" -msgstr "" - -#: ../gtk/gtkmain.c:796 -#, c-format -msgid "Cannot open display: %s" -msgstr "" - -#: ../gtk/gtkmain.c:833 -msgid "GTK+ Options" -msgstr "" - -#: ../gtk/gtkmain.c:833 -msgid "Show GTK+ Options" -msgstr "" - -#: ../gtk/gtkmountoperation.c:489 -msgid "Co_nnect" -msgstr "" - -#: ../gtk/gtkmountoperation.c:556 -msgid "Connect _anonymously" -msgstr "" - -#: ../gtk/gtkmountoperation.c:565 -msgid "Connect as u_ser:" -msgstr "" - -#: ../gtk/gtkmountoperation.c:603 -msgid "_Username:" -msgstr "" - -#: ../gtk/gtkmountoperation.c:608 -msgid "_Domain:" -msgstr "" - -#: ../gtk/gtkmountoperation.c:614 -msgid "_Password:" -msgstr "" - -#: ../gtk/gtkmountoperation.c:632 -msgid "Forget password _immediately" -msgstr "" - -#: ../gtk/gtkmountoperation.c:642 -msgid "Remember password until you _logout" -msgstr "" - -#: ../gtk/gtkmountoperation.c:652 -msgid "Remember _forever" -msgstr "" - -#: ../gtk/gtkmountoperation.c:881 -#, c-format -msgid "Unknown Application (PID %d)" -msgstr "" - -#: ../gtk/gtkmountoperation.c:1064 -msgid "Unable to end process" -msgstr "" - -#: ../gtk/gtkmountoperation.c:1101 -msgid "_End Process" -msgstr "" - -#: ../gtk/gtkmountoperation-stub.c:64 -#, c-format -msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "" - -#. translators: this string is a name for the 'less' command -#: ../gtk/gtkmountoperation-x11.c:865 -msgid "Terminal Pager" -msgstr "" - -#: ../gtk/gtkmountoperation-x11.c:866 -msgid "Top Command" -msgstr "" - -#: ../gtk/gtkmountoperation-x11.c:867 -msgid "Bourne Again Shell" -msgstr "" - -#: ../gtk/gtkmountoperation-x11.c:868 -msgid "Bourne Shell" -msgstr "" - -#: ../gtk/gtkmountoperation-x11.c:869 -msgid "Z Shell" -msgstr "" - -#: ../gtk/gtkmountoperation-x11.c:966 -#, c-format -msgid "Cannot end process with PID %d: %s" -msgstr "" - -#: ../gtk/gtknotebook.c:4705 ../gtk/gtknotebook.c:7311 -#, c-format -msgid "Page %u" -msgstr "" - -#: ../gtk/gtkpagesetup.c:597 ../gtk/gtkpapersize.c:826 -#: ../gtk/gtkpapersize.c:868 -msgid "Not a valid page setup file" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:167 -msgid "Any Printer" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:167 -msgid "For portable documents" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:797 -#, c-format -msgid "" -"Margins:\n" -" Left: %s %s\n" -" Right: %s %s\n" -" Top: %s %s\n" -" Bottom: %s %s" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:846 ../gtk/gtkprintunixdialog.c:3277 -msgid "Manage Custom Sizes..." -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:894 -msgid "_Format for:" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:916 ../gtk/gtkprintunixdialog.c:3449 -msgid "_Paper size:" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:947 -msgid "_Orientation:" -msgstr "" - -#: ../gtk/gtkpagesetupunixdialog.c:1011 ../gtk/gtkprintunixdialog.c:3511 -msgid "Page Setup" -msgstr "" - -#: ../gtk/gtkpathbar.c:151 -msgid "Up Path" -msgstr "" - -#: ../gtk/gtkpathbar.c:153 -msgid "Down Path" -msgstr "" - -#: ../gtk/gtkpathbar.c:1469 -msgid "File System Root" -msgstr "" - -#: ../gtk/gtkprintbackend.c:749 -msgid "Authentication" -msgstr "" - -#: ../gtk/gtkprinteroptionwidget.c:695 -msgid "Not available" -msgstr "" - -#: ../gtk/gtkprinteroptionwidget.c:814 -msgid "_Save in folder:" -msgstr "" - -#. translators: this string is the default job title for print -#. * jobs. %s gets replaced by the application name, %d gets replaced -#. * by the job number. -#. -#: ../gtk/gtkprintoperation.c:190 -#, c-format -msgid "%s job #%d" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1687 -msgctxt "print operation status" -msgid "Initial state" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1688 -msgctxt "print operation status" -msgid "Preparing to print" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1689 -msgctxt "print operation status" -msgid "Generating data" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1690 -msgctxt "print operation status" -msgid "Sending data" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1691 -msgctxt "print operation status" -msgid "Waiting" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1692 -msgctxt "print operation status" -msgid "Blocking on issue" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1693 -msgctxt "print operation status" -msgid "Printing" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1694 -msgctxt "print operation status" -msgid "Finished" -msgstr "" - -#: ../gtk/gtkprintoperation.c:1695 -msgctxt "print operation status" -msgid "Finished with error" -msgstr "" - -#: ../gtk/gtkprintoperation.c:2254 -#, c-format -msgid "Preparing %d" -msgstr "" - -#: ../gtk/gtkprintoperation.c:2256 ../gtk/gtkprintoperation.c:2875 -msgid "Preparing" -msgstr "" - -#: ../gtk/gtkprintoperation.c:2259 -#, c-format -msgid "Printing %d" -msgstr "" - -#: ../gtk/gtkprintoperation.c:2905 -msgid "Error creating print preview" -msgstr "" - -#: ../gtk/gtkprintoperation.c:2908 -msgid "The most probable reason is that a temporary file could not be created." -msgstr "" - -#: ../gtk/gtkprintoperation-unix.c:297 ../gtk/gtkprintoperation-unix.c:314 -msgid "Error launching preview" -msgstr "" - -#: ../gtk/gtkprintoperation-unix.c:358 -msgid "Error printing" -msgstr "" - -#: ../gtk/gtkprintoperation-unix.c:494 ../gtk/gtkprintoperation-win32.c:1447 -msgid "Application" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:612 -msgid "Printer offline" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:614 -msgid "Out of paper" -msgstr "" - -#. Translators: this is a printer status. -#: ../gtk/gtkprintoperation-win32.c:616 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 -msgid "Paused" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:618 -msgid "Need user intervention" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:718 -msgid "Custom size" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1539 -msgid "No printer found" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1566 -msgid "Invalid argument to CreateDC" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 -msgid "Error from StartDoc" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 -#: ../gtk/gtkprintoperation-win32.c:1755 -msgid "Not enough free memory" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1760 -msgid "Invalid argument to PrintDlgEx" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1765 -msgid "Invalid pointer to PrintDlgEx" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1770 -msgid "Invalid handle to PrintDlgEx" -msgstr "" - -#: ../gtk/gtkprintoperation-win32.c:1775 -msgid "Unspecified error" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:614 -msgid "Getting printer information failed" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:1862 -msgid "Getting printer information..." -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2132 -msgid "Printer" -msgstr "" - -#. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2142 -msgid "Location" -msgstr "Obusangiro" - -#. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2153 -msgid "Status" -msgstr "Embeera" - -#: ../gtk/gtkprintunixdialog.c:2179 -msgid "Range" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2183 -msgid "_All Pages" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2190 -msgid "C_urrent Page" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2200 -msgid "Se_lection" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2209 -msgid "Pag_es:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2210 -msgid "" -"Specify one or more page ranges,\n" -" e.g. 1-3,7,11" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2220 -msgid "Pages" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2233 -msgid "Copies" -msgstr "" - -#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2238 -msgid "Copie_s:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2256 -msgid "C_ollate" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2264 -msgid "_Reverse" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:2284 -msgid "General" -msgstr "" - -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) -#. -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing -#. -#: ../gtk/gtkprintunixdialog.c:3010 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 -msgid "Left to right, top to bottom" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3010 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 -msgid "Left to right, bottom to top" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3011 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 -msgid "Right to left, top to bottom" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3011 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 -msgid "Right to left, bottom to top" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3012 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 -msgid "Top to bottom, left to right" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3012 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 -msgid "Top to bottom, right to left" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3013 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 -msgid "Bottom to top, left to right" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3013 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 -msgid "Bottom to top, right to left" -msgstr "" - -#. Translators, this string is used to label the option in the print -#. * dialog that controls in what order multiple pages are arranged -#. -#: ../gtk/gtkprintunixdialog.c:3017 ../gtk/gtkprintunixdialog.c:3030 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 -msgid "Page Ordering" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3046 -msgid "Left to right" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3047 -msgid "Right to left" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3059 -msgid "Top to bottom" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3060 -msgid "Bottom to top" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3300 -msgid "Layout" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3304 -msgid "T_wo-sided:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3319 -msgid "Pages per _side:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3336 -msgid "Page or_dering:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3352 -msgid "_Only print:" -msgstr "" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3367 -msgid "All sheets" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3368 -msgid "Even sheets" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3369 -msgid "Odd sheets" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3372 -msgid "Sc_ale:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3399 -msgid "Paper" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3403 -msgid "Paper _type:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3418 -msgid "Paper _source:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3433 -msgid "Output t_ray:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3473 -msgid "Or_ientation:" -msgstr "" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3488 -msgid "Portrait" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3489 -msgid "Landscape" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3490 -msgid "Reverse portrait" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3491 -msgid "Reverse landscape" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3536 -msgid "Job Details" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3542 -msgid "Pri_ority:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3557 -msgid "_Billing info:" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3575 -msgid "Print Document" -msgstr "" - -#. Translators: this is one of the choices for the print at option -#. * in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3584 -msgid "_Now" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3595 -msgid "A_t:" -msgstr "" - -#. Translators: Ability to parse the am/pm format depends on actual locale. -#. * You can remove the am/pm values below for your locale if they are not -#. * supported. -#. -#: ../gtk/gtkprintunixdialog.c:3601 -msgid "" -"Specify the time of print,\n" -" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3611 -msgid "Time of print" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3627 -msgid "On _hold" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3628 -msgid "Hold the job until it is explicitly released" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3648 -msgid "Add Cover Page" -msgstr "" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3657 -msgid "Be_fore:" -msgstr "" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3675 -msgid "_After:" -msgstr "" - -#. Translators: this is the tab label for the notebook tab containing -#. * job-specific options in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3693 -msgid "Job" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3759 -msgid "Advanced" -msgstr "" - -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3794 -msgid "Image Quality" -msgstr "" - -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3798 -msgid "Color" -msgstr "" - -#. Translators: this will appear as tab label in print dialog. -#. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3803 -msgid "Finishing" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3813 -msgid "Some of the settings in the dialog conflict" -msgstr "" - -#: ../gtk/gtkprintunixdialog.c:3836 -msgid "Print" -msgstr "" - -#: ../gtk/gtkrc.c:2878 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "" - -#: ../gtk/gtkrc.c:3508 ../gtk/gtkrc.c:3511 -#, c-format -msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "" - -#: ../gtk/gtkrecentaction.c:154 ../gtk/gtkrecentaction.c:162 -#: ../gtk/gtkrecentchoosermenu.c:588 ../gtk/gtkrecentchoosermenu.c:596 -#, c-format -msgid "This function is not implemented for widgets of class '%s'" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:481 -msgid "Select which type of documents are shown" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 -#, c-format -msgid "No item for URI '%s' found" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1298 -msgid "Untitled filter" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1651 -msgid "Could not remove item" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1695 -msgid "Could not clear list" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1779 -msgid "Copy _Location" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1792 -msgid "_Remove From List" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1801 -msgid "_Clear List" -msgstr "" - -#: ../gtk/gtkrecentchooserdefault.c:1815 -msgid "Show _Private Resources" -msgstr "" - -#. we create a placeholder menuitem, to be used in case -#. * the menu is empty. this placeholder will stay around -#. * for the entire lifetime of the menu, and we just hide it -#. * when it's not used. we have to do this, and do it here, -#. * because we need a marker for the beginning of the recent -#. * items list, so that we can insert the new items at the -#. * right place when idly populating the menu in case the -#. * user appended or prepended custom menu items to the -#. * recent chooser menu widget. -#. -#: ../gtk/gtkrecentchoosermenu.c:342 -msgid "No items found" -msgstr "" - -#: ../gtk/gtkrecentchoosermenu.c:508 ../gtk/gtkrecentchoosermenu.c:564 -#, c-format -msgid "No recently used resource found with URI `%s'" -msgstr "" - -#: ../gtk/gtkrecentchoosermenu.c:775 -#, c-format -msgid "Open '%s'" -msgstr "" - -#: ../gtk/gtkrecentchoosermenu.c:805 -msgid "Unknown item" -msgstr "" - -#. This is the label format that is used for the first 10 items -#. * in a recent files menu. The %d is the number of the item, -#. * the %s is the name of the item. Please keep the _ in front -#. * of the number to give these menu items a mnemonic. -#. -#: ../gtk/gtkrecentchoosermenu.c:816 -#, c-format -msgctxt "recent menu label" -msgid "_%d. %s" -msgstr "" - -#. This is the format that is used for items in a recent files menu. -#. * The %d is the number of the item, the %s is the name of the item. -#. -#: ../gtk/gtkrecentchoosermenu.c:821 -#, c-format -msgctxt "recent menu label" -msgid "%d. %s" -msgstr "" - -#: ../gtk/gtkrecentmanager.c:1033 ../gtk/gtkrecentmanager.c:1046 -#: ../gtk/gtkrecentmanager.c:1184 ../gtk/gtkrecentmanager.c:1194 -#: ../gtk/gtkrecentmanager.c:1247 ../gtk/gtkrecentmanager.c:1256 -#: ../gtk/gtkrecentmanager.c:1271 -#, c-format -msgid "Unable to find an item with URI '%s'" -msgstr "" - -#: ../gtk/gtkspinner.c:458 -msgctxt "throbbing progress animation widget" -msgid "Spinner" -msgstr "" - -#: ../gtk/gtkspinner.c:459 -msgid "Provides visual indication of progress" -msgstr "" - -#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: ../gtk/gtkstock.c:314 -msgctxt "Stock label" -msgid "Information" -msgstr "Okumanyisa" - -#: ../gtk/gtkstock.c:315 -msgctxt "Stock label" -msgid "Warning" -msgstr "Kulabula" - -#: ../gtk/gtkstock.c:316 -msgctxt "Stock label" -msgid "Error" -msgstr "Kiremya" - -#: ../gtk/gtkstock.c:317 -msgctxt "Stock label" -msgid "Question" -msgstr "Kibuuzo" - -#. FIXME these need accelerators when appropriate, and -#. * need the mnemonics to be rationalized -#. -#: ../gtk/gtkstock.c:322 -msgctxt "Stock label" -msgid "_About" -msgstr "K_wanjula" - -#: ../gtk/gtkstock.c:323 -msgctxt "Stock label" -msgid "_Add" -msgstr "_Yongerako" - -#: ../gtk/gtkstock.c:324 -msgctxt "Stock label" -msgid "_Apply" -msgstr "_Kaza" - -#: ../gtk/gtkstock.c:325 -msgctxt "Stock label" -msgid "_Bold" -msgstr "_Nziggumivu" - -#: ../gtk/gtkstock.c:326 -msgctxt "Stock label" -msgid "_Cancel" -msgstr "_Sazamu" - -#: ../gtk/gtkstock.c:327 -msgctxt "Stock label" -msgid "_CD-Rom" -msgstr "_CDROMU" - -#: ../gtk/gtkstock.c:328 -msgctxt "Stock label" -msgid "_Clear" -msgstr "S_iimula" - -#: ../gtk/gtkstock.c:329 -msgctxt "Stock label" -msgid "_Close" -msgstr "_Gala" - -#: ../gtk/gtkstock.c:330 -msgctxt "Stock label" -msgid "C_onnect" -msgstr "We_yungeko" - -#: ../gtk/gtkstock.c:331 -msgctxt "Stock label" -msgid "_Convert" -msgstr "_Fuula" - -#: ../gtk/gtkstock.c:332 -msgctxt "Stock label" -msgid "_Copy" -msgstr "_Koppa" - -#: ../gtk/gtkstock.c:333 -msgctxt "Stock label" -msgid "Cu_t" -msgstr "Si_tulawo" - -#: ../gtk/gtkstock.c:334 -msgctxt "Stock label" -msgid "_Delete" -msgstr "_Gyawo" - -#: ../gtk/gtkstock.c:335 -msgctxt "Stock label" -msgid "_Discard" -msgstr "L_eka" - -#: ../gtk/gtkstock.c:336 -msgctxt "Stock label" -msgid "_Disconnect" -msgstr "We_kutuleko" - -#: ../gtk/gtkstock.c:337 -msgctxt "Stock label" -msgid "_Execute" -msgstr "_Tandika" - -#: ../gtk/gtkstock.c:338 -msgctxt "Stock label" -msgid "_Edit" -msgstr "_Kyusa" - -#: ../gtk/gtkstock.c:339 -msgctxt "Stock label" -msgid "_Find" -msgstr "_Zuula" - -#: ../gtk/gtkstock.c:340 -msgctxt "Stock label" -msgid "Find and _Replace" -msgstr "Zuula ozze_wo ekirala" - -#: ../gtk/gtkstock.c:341 -msgctxt "Stock label" -msgid "_Floppy" -msgstr "_Fuloppi" - -#: ../gtk/gtkstock.c:342 -msgctxt "Stock label" -msgid "_Fullscreen" -msgstr "_Malayo olutimbe" - -#: ../gtk/gtkstock.c:343 -msgctxt "Stock label" -msgid "_Leave Fullscreen" -msgstr "_Ta olutimbe" - -#. This is a navigation label as in "go to the bottom of the page" -#: ../gtk/gtkstock.c:345 -msgctxt "Stock label, navigation" -msgid "_Bottom" -msgstr "Ku _ntobo" - -#. This is a navigation label as in "go to the first page" -#: ../gtk/gtkstock.c:347 -msgctxt "Stock label, navigation" -msgid "_First" -msgstr "Awa_sooka" - -#. This is a navigation label as in "go to the last page" -#: ../gtk/gtkstock.c:349 -msgctxt "Stock label, navigation" -msgid "_Last" -msgstr "Awas_emba" - -#. This is a navigation label as in "go to the top of the page" -#: ../gtk/gtkstock.c:351 -msgctxt "Stock label, navigation" -msgid "_Top" -msgstr "Ku nt_andikwa" - -#. This is a navigation label as in "go back" -#: ../gtk/gtkstock.c:353 -msgctxt "Stock label, navigation" -msgid "_Back" -msgstr "_Mabega" - -#. This is a navigation label as in "go down" -#: ../gtk/gtkstock.c:355 -msgctxt "Stock label, navigation" -msgid "_Down" -msgstr "_Serengesa" - -#. This is a navigation label as in "go forward" -#: ../gtk/gtkstock.c:357 -msgctxt "Stock label, navigation" -msgid "_Forward" -msgstr "_Maaso" - -#. This is a navigation label as in "go up" -#: ../gtk/gtkstock.c:359 -msgctxt "Stock label, navigation" -msgid "_Up" -msgstr "_Yambusa" - -#: ../gtk/gtkstock.c:360 -msgctxt "Stock label" -msgid "_Harddisk" -msgstr "_Disiki ya munda" - -#: ../gtk/gtkstock.c:361 -msgctxt "Stock label" -msgid "_Help" -msgstr "_Nymaba" - -#: ../gtk/gtkstock.c:362 -msgctxt "Stock label" -msgid "_Home" -msgstr "_Kka" - -#: ../gtk/gtkstock.c:363 -msgctxt "Stock label" -msgid "Increase Indent" -msgstr "" - -#: ../gtk/gtkstock.c:364 -msgctxt "Stock label" -msgid "Decrease Indent" -msgstr "" - -#: ../gtk/gtkstock.c:365 -msgctxt "Stock label" -msgid "_Index" -msgstr "N_dagiriro" - -#: ../gtk/gtkstock.c:366 -msgctxt "Stock label" -msgid "_Information" -msgstr "Oku_manyisa" - -#: ../gtk/gtkstock.c:367 -msgctxt "Stock label" -msgid "_Italic" -msgstr "" - -#: ../gtk/gtkstock.c:368 -msgctxt "Stock label" -msgid "_Jump to" -msgstr "_Buukira" - -#. This is about text justification, "centered text" -#: ../gtk/gtkstock.c:370 -msgctxt "Stock label" -msgid "_Center" -msgstr "" - -#. This is about text justification -#: ../gtk/gtkstock.c:372 -msgctxt "Stock label" -msgid "_Fill" -msgstr "" - -#. This is about text justification, "left-justified text" -#: ../gtk/gtkstock.c:374 -msgctxt "Stock label" -msgid "_Left" -msgstr "" - -#. This is about text justification, "right-justified text" -#: ../gtk/gtkstock.c:376 -msgctxt "Stock label" -msgid "_Right" -msgstr "" - -#. Media label, as in "fast forward" -#: ../gtk/gtkstock.c:379 -msgctxt "Stock label, media" -msgid "_Forward" -msgstr "" - -#. Media label, as in "next song" -#: ../gtk/gtkstock.c:381 -msgctxt "Stock label, media" -msgid "_Next" -msgstr "" - -#. Media label, as in "pause music" -#: ../gtk/gtkstock.c:383 -msgctxt "Stock label, media" -msgid "P_ause" -msgstr "" - -#. Media label, as in "play music" -#: ../gtk/gtkstock.c:385 -msgctxt "Stock label, media" -msgid "_Play" -msgstr "" - -#. Media label, as in "previous song" -#: ../gtk/gtkstock.c:387 -msgctxt "Stock label, media" -msgid "Pre_vious" -msgstr "" - -#. Media label -#: ../gtk/gtkstock.c:389 -msgctxt "Stock label, media" -msgid "_Record" -msgstr "" - -#. Media label -#: ../gtk/gtkstock.c:391 -msgctxt "Stock label, media" -msgid "R_ewind" -msgstr "" - -#. Media label -#: ../gtk/gtkstock.c:393 -msgctxt "Stock label, media" -msgid "_Stop" -msgstr "" - -#: ../gtk/gtkstock.c:394 -msgctxt "Stock label" -msgid "_Network" -msgstr "Ka_yungirizi" - -#: ../gtk/gtkstock.c:395 -msgctxt "Stock label" -msgid "_New" -msgstr "" - -#: ../gtk/gtkstock.c:396 -msgctxt "Stock label" -msgid "_No" -msgstr "_Nedda" - -#: ../gtk/gtkstock.c:397 -msgctxt "Stock label" -msgid "_OK" -msgstr "_Kale" - -#: ../gtk/gtkstock.c:398 -msgctxt "Stock label" -msgid "_Open" -msgstr "_Bikkula" - -#. Page orientation -#: ../gtk/gtkstock.c:400 -msgctxt "Stock label" -msgid "Landscape" -msgstr "Bugazi" - -#. Page orientation -#: ../gtk/gtkstock.c:402 -msgctxt "Stock label" -msgid "Portrait" -msgstr "Busimbalaala" - -#. Page orientation -#: ../gtk/gtkstock.c:404 -msgctxt "Stock label" -msgid "Reverse landscape" -msgstr "" - -#. Page orientation -#: ../gtk/gtkstock.c:406 -msgctxt "Stock label" -msgid "Reverse portrait" -msgstr "" - -#: ../gtk/gtkstock.c:407 -msgctxt "Stock label" -msgid "Page Set_up" -msgstr "Nteekateeka y'olupapula" - -#: ../gtk/gtkstock.c:408 -msgctxt "Stock label" -msgid "_Paste" -msgstr "_Paatiika" - -#: ../gtk/gtkstock.c:409 -msgctxt "Stock label" -msgid "_Preferences" -msgstr "_Nteekateeka" - -#: ../gtk/gtkstock.c:410 -msgctxt "Stock label" -msgid "_Print" -msgstr "_Kubisa" - -#: ../gtk/gtkstock.c:411 -msgctxt "Stock label" -msgid "Print Pre_view" -msgstr "Kebera enfaanana y'ebinaakubibwa" - -#: ../gtk/gtkstock.c:412 -msgctxt "Stock label" -msgid "_Properties" -msgstr "Ebi_kwata ku fayiro" - -#: ../gtk/gtkstock.c:413 -msgctxt "Stock label" -msgid "_Quit" -msgstr "_Mala" - -#: ../gtk/gtkstock.c:414 -msgctxt "Stock label" -msgid "_Redo" -msgstr "_Zawo" - -#: ../gtk/gtkstock.c:415 -msgctxt "Stock label" -msgid "_Refresh" -msgstr "" - -#: ../gtk/gtkstock.c:416 -msgctxt "Stock label" -msgid "_Remove" -msgstr "_Gyawo" - -#: ../gtk/gtkstock.c:417 -msgctxt "Stock label" -msgid "_Revert" -msgstr "_Dda ku by'edda" - -#: ../gtk/gtkstock.c:418 -msgctxt "Stock label" -msgid "_Save" -msgstr "_Kaza" - -#: ../gtk/gtkstock.c:419 -msgctxt "Stock label" -msgid "Save _As" -msgstr "Gyamu ko_ppi" - -#: ../gtk/gtkstock.c:420 -msgctxt "Stock label" -msgid "Select _All" -msgstr "Londa by_onna" - -#: ../gtk/gtkstock.c:421 -msgctxt "Stock label" -msgid "_Color" -msgstr "_Langi" - -#: ../gtk/gtkstock.c:422 -msgctxt "Stock label" -msgid "_Font" -msgstr "N_kula y'ennukuta" - -#. Sorting direction -#: ../gtk/gtkstock.c:424 -msgctxt "Stock label" -msgid "_Ascending" -msgstr "K'_ambukiriro" - -#. Sorting direction -#: ../gtk/gtkstock.c:426 -msgctxt "Stock label" -msgid "_Descending" -msgstr "Ka_kkiririro" - -#: ../gtk/gtkstock.c:427 -msgctxt "Stock label" -msgid "_Spell Check" -msgstr "Kebera m_pandika" - -#: ../gtk/gtkstock.c:428 -msgctxt "Stock label" -msgid "_Stop" -msgstr "_Yimiriza" - -#. Font variant -#: ../gtk/gtkstock.c:430 -msgctxt "Stock label" -msgid "_Strikethrough" -msgstr "" - -#: ../gtk/gtkstock.c:431 -msgctxt "Stock label" -msgid "_Undelete" -msgstr "Komya_wo" - -#. Font variant -#: ../gtk/gtkstock.c:433 -msgctxt "Stock label" -msgid "_Underline" -msgstr "" - -#: ../gtk/gtkstock.c:434 -msgctxt "Stock label" -msgid "_Undo" -msgstr "_Julula" - -#: ../gtk/gtkstock.c:435 -msgctxt "Stock label" -msgid "_Yes" -msgstr "_Ye" - -#. Zoom -#: ../gtk/gtkstock.c:437 -msgctxt "Stock label" -msgid "_Normal Size" -msgstr "" - -#. Zoom -#: ../gtk/gtkstock.c:439 -msgctxt "Stock label" -msgid "Best _Fit" -msgstr "" - -#: ../gtk/gtkstock.c:440 -msgctxt "Stock label" -msgid "Zoom _In" -msgstr "_Zimbukulusa" - -#: ../gtk/gtkstock.c:441 -msgctxt "Stock label" -msgid "Zoom _Out" -msgstr "_Kendeeza" - -#: ../gtk/gtktextbufferrichtext.c:651 -#, c-format -msgid "Unknown error when trying to deserialize %s" -msgstr "" - -#: ../gtk/gtktextbufferrichtext.c:710 -#, c-format -msgid "No deserialize function found for format %s" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:796 ../gtk/gtktextbufferserialize.c:822 -#, c-format -msgid "Both \"id\" and \"name\" were found on the <%s> element" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:806 ../gtk/gtktextbufferserialize.c:832 -#, c-format -msgid "The attribute \"%s\" was found twice on the <%s> element" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:846 -#, c-format -msgid "<%s> element has invalid ID \"%s\"" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:856 -#, c-format -msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:943 -#, c-format -msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:961 ../gtk/gtktextbufferserialize.c:986 -#, c-format -msgid "Attribute \"%s\" is invalid on <%s> element in this context" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1022 -#, c-format -msgid "Tag \"%s\" has not been defined." -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1034 -msgid "Anonymous tag found and tags can not be created." -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1045 -#, c-format -msgid "Tag \"%s\" does not exist in buffer and tags can not be created." -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1144 ../gtk/gtktextbufferserialize.c:1219 -#: ../gtk/gtktextbufferserialize.c:1320 ../gtk/gtktextbufferserialize.c:1394 -#, c-format -msgid "Element <%s> is not allowed below <%s>" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1175 -#, c-format -msgid "\"%s\" is not a valid attribute type" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1183 -#, c-format -msgid "\"%s\" is not a valid attribute name" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1193 -#, c-format -msgid "" -"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1202 -#, c-format -msgid "\"%s\" is not a valid value for attribute \"%s\"" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1285 -#, c-format -msgid "Tag \"%s\" already defined" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1296 -#, c-format -msgid "Tag \"%s\" has invalid priority \"%s\"" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1349 -#, c-format -msgid "Outermost element in text must be not <%s>" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1358 ../gtk/gtktextbufferserialize.c:1374 -#, c-format -msgid "A <%s> element has already been specified" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1380 -msgid "A element can't occur before a element" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1779 -msgid "Serialized data is malformed" -msgstr "" - -#: ../gtk/gtktextbufferserialize.c:1857 -msgid "" -"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "" - -#: ../gtk/gtktextutil.c:61 -msgid "LRM _Left-to-right mark" -msgstr "" - -#: ../gtk/gtktextutil.c:62 -msgid "RLM _Right-to-left mark" -msgstr "" - -#: ../gtk/gtktextutil.c:63 -msgid "LRE Left-to-right _embedding" -msgstr "" - -#: ../gtk/gtktextutil.c:64 -msgid "RLE Right-to-left e_mbedding" -msgstr "" - -#: ../gtk/gtktextutil.c:65 -msgid "LRO Left-to-right _override" -msgstr "" - -#: ../gtk/gtktextutil.c:66 -msgid "RLO Right-to-left o_verride" -msgstr "" - -#: ../gtk/gtktextutil.c:67 -msgid "PDF _Pop directional formatting" -msgstr "" - -#: ../gtk/gtktextutil.c:68 -msgid "ZWS _Zero width space" -msgstr "" - -#: ../gtk/gtktextutil.c:69 -msgid "ZWJ Zero width _joiner" -msgstr "" - -#: ../gtk/gtktextutil.c:70 -msgid "ZWNJ Zero width _non-joiner" -msgstr "" - -#: ../gtk/gtkthemes.c:71 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "" - -#: ../gtk/gtktipsquery.c:188 -msgid "--- No Tip ---" -msgstr "" - -#: ../gtk/gtkuimanager.c:1505 -#, c-format -msgid "Unexpected start tag '%s' on line %d char %d" -msgstr "" - -#: ../gtk/gtkuimanager.c:1595 -#, c-format -msgid "Unexpected character data on line %d char %d" -msgstr "" - -#: ../gtk/gtkuimanager.c:2427 -msgid "Empty" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:83 -msgid "Volume" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:85 -msgid "Turns volume down or up" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:88 -msgid "Adjusts the volume" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:91 ../gtk/gtkvolumebutton.c:94 -msgid "Volume Down" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:93 -msgid "Decreases the volume" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:97 ../gtk/gtkvolumebutton.c:100 -msgid "Volume Up" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:99 -msgid "Increases the volume" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:157 -msgid "Muted" -msgstr "" - -#: ../gtk/gtkvolumebutton.c:161 -msgid "Full Volume" -msgstr "" - -#. Translators: this is the percentage of the current volume, -#. * as used in the tooltip, eg. "49 %". -#. * Translate the "%d" to "%Id" if you want to use localised digits, -#. * or otherwise translate the "%d" to "%d". -#. -#: ../gtk/gtkvolumebutton.c:174 -#, c-format -msgctxt "volume percentage" -msgid "%d %%" -msgstr "" - -#: ../gtk/paper_names_offsets.c:4 -msgctxt "paper size" -msgid "asme_f" -msgstr "" - -#: ../gtk/paper_names_offsets.c:5 -msgctxt "paper size" -msgid "A0x2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:6 -msgctxt "paper size" -msgid "A0" -msgstr "" - -#: ../gtk/paper_names_offsets.c:7 -msgctxt "paper size" -msgid "A0x3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:8 -msgctxt "paper size" -msgid "A1" -msgstr "" - -#: ../gtk/paper_names_offsets.c:9 -msgctxt "paper size" -msgid "A10" -msgstr "" - -#: ../gtk/paper_names_offsets.c:10 -msgctxt "paper size" -msgid "A1x3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:11 -msgctxt "paper size" -msgid "A1x4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:12 -msgctxt "paper size" -msgid "A2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:13 -msgctxt "paper size" -msgid "A2x3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:14 -msgctxt "paper size" -msgid "A2x4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:15 -msgctxt "paper size" -msgid "A2x5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:16 -msgctxt "paper size" -msgid "A3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:17 -msgctxt "paper size" -msgid "A3 Extra" -msgstr "" - -#: ../gtk/paper_names_offsets.c:18 -msgctxt "paper size" -msgid "A3x3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:19 -msgctxt "paper size" -msgid "A3x4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:20 -msgctxt "paper size" -msgid "A3x5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:21 -msgctxt "paper size" -msgid "A3x6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:22 -msgctxt "paper size" -msgid "A3x7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:23 -msgctxt "paper size" -msgid "A4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:24 -msgctxt "paper size" -msgid "A4 Extra" -msgstr "" - -#: ../gtk/paper_names_offsets.c:25 -msgctxt "paper size" -msgid "A4 Tab" -msgstr "" - -#: ../gtk/paper_names_offsets.c:26 -msgctxt "paper size" -msgid "A4x3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:27 -msgctxt "paper size" -msgid "A4x4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:28 -msgctxt "paper size" -msgid "A4x5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:29 -msgctxt "paper size" -msgid "A4x6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:30 -msgctxt "paper size" -msgid "A4x7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:31 -msgctxt "paper size" -msgid "A4x8" -msgstr "" - -#: ../gtk/paper_names_offsets.c:32 -msgctxt "paper size" -msgid "A4x9" -msgstr "" - -#: ../gtk/paper_names_offsets.c:33 -msgctxt "paper size" -msgid "A5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:34 -msgctxt "paper size" -msgid "A5 Extra" -msgstr "" - -#: ../gtk/paper_names_offsets.c:35 -msgctxt "paper size" -msgid "A6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:36 -msgctxt "paper size" -msgid "A7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:37 -msgctxt "paper size" -msgid "A8" -msgstr "" - -#: ../gtk/paper_names_offsets.c:38 -msgctxt "paper size" -msgid "A9" -msgstr "" - -#: ../gtk/paper_names_offsets.c:39 -msgctxt "paper size" -msgid "B0" -msgstr "" - -#: ../gtk/paper_names_offsets.c:40 -msgctxt "paper size" -msgid "B1" -msgstr "" - -#: ../gtk/paper_names_offsets.c:41 -msgctxt "paper size" -msgid "B10" -msgstr "" - -#: ../gtk/paper_names_offsets.c:42 -msgctxt "paper size" -msgid "B2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:43 -msgctxt "paper size" -msgid "B3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:44 -msgctxt "paper size" -msgid "B4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:45 -msgctxt "paper size" -msgid "B5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:46 -msgctxt "paper size" -msgid "B5 Extra" -msgstr "" - -#: ../gtk/paper_names_offsets.c:47 -msgctxt "paper size" -msgid "B6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:48 -msgctxt "paper size" -msgid "B6/C4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:49 -msgctxt "paper size" -msgid "B7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:50 -msgctxt "paper size" -msgid "B8" -msgstr "" - -#: ../gtk/paper_names_offsets.c:51 -msgctxt "paper size" -msgid "B9" -msgstr "" - -#: ../gtk/paper_names_offsets.c:52 -msgctxt "paper size" -msgid "C0" -msgstr "" - -#: ../gtk/paper_names_offsets.c:53 -msgctxt "paper size" -msgid "C1" -msgstr "" - -#: ../gtk/paper_names_offsets.c:54 -msgctxt "paper size" -msgid "C10" -msgstr "" - -#: ../gtk/paper_names_offsets.c:55 -msgctxt "paper size" -msgid "C2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:56 -msgctxt "paper size" -msgid "C3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:57 -msgctxt "paper size" -msgid "C4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:58 -msgctxt "paper size" -msgid "C5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:59 -msgctxt "paper size" -msgid "C6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:60 -msgctxt "paper size" -msgid "C6/C5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:61 -msgctxt "paper size" -msgid "C7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:62 -msgctxt "paper size" -msgid "C7/C6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:63 -msgctxt "paper size" -msgid "C8" -msgstr "" - -#: ../gtk/paper_names_offsets.c:64 -msgctxt "paper size" -msgid "C9" -msgstr "" - -#: ../gtk/paper_names_offsets.c:65 -msgctxt "paper size" -msgid "DL Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:66 -msgctxt "paper size" -msgid "RA0" -msgstr "" - -#: ../gtk/paper_names_offsets.c:67 -msgctxt "paper size" -msgid "RA1" -msgstr "" - -#: ../gtk/paper_names_offsets.c:68 -msgctxt "paper size" -msgid "RA2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:69 -msgctxt "paper size" -msgid "SRA0" -msgstr "" - -#: ../gtk/paper_names_offsets.c:70 -msgctxt "paper size" -msgid "SRA1" -msgstr "" - -#: ../gtk/paper_names_offsets.c:71 -msgctxt "paper size" -msgid "SRA2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:72 -msgctxt "paper size" -msgid "JB0" -msgstr "" - -#: ../gtk/paper_names_offsets.c:73 -msgctxt "paper size" -msgid "JB1" -msgstr "" - -#: ../gtk/paper_names_offsets.c:74 -msgctxt "paper size" -msgid "JB10" -msgstr "" - -#: ../gtk/paper_names_offsets.c:75 -msgctxt "paper size" -msgid "JB2" -msgstr "" - -#: ../gtk/paper_names_offsets.c:76 -msgctxt "paper size" -msgid "JB3" -msgstr "" - -#: ../gtk/paper_names_offsets.c:77 -msgctxt "paper size" -msgid "JB4" -msgstr "" - -#: ../gtk/paper_names_offsets.c:78 -msgctxt "paper size" -msgid "JB5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:79 -msgctxt "paper size" -msgid "JB6" -msgstr "" - -#: ../gtk/paper_names_offsets.c:80 -msgctxt "paper size" -msgid "JB7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:81 -msgctxt "paper size" -msgid "JB8" -msgstr "" - -#: ../gtk/paper_names_offsets.c:82 -msgctxt "paper size" -msgid "JB9" -msgstr "" - -#: ../gtk/paper_names_offsets.c:83 -msgctxt "paper size" -msgid "jis exec" -msgstr "" - -#: ../gtk/paper_names_offsets.c:84 -msgctxt "paper size" -msgid "Choukei 2 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:85 -msgctxt "paper size" -msgid "Choukei 3 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:86 -msgctxt "paper size" -msgid "Choukei 4 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:87 -msgctxt "paper size" -msgid "hagaki (postcard)" -msgstr "" - -#: ../gtk/paper_names_offsets.c:88 -msgctxt "paper size" -msgid "kahu Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:89 -msgctxt "paper size" -msgid "kaku2 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:90 -msgctxt "paper size" -msgid "oufuku (reply postcard)" -msgstr "" - -#: ../gtk/paper_names_offsets.c:91 -msgctxt "paper size" -msgid "you4 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:92 -msgctxt "paper size" -msgid "10x11" -msgstr "" - -#: ../gtk/paper_names_offsets.c:93 -msgctxt "paper size" -msgid "10x13" -msgstr "" - -#: ../gtk/paper_names_offsets.c:94 -msgctxt "paper size" -msgid "10x14" -msgstr "" - -#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 -msgctxt "paper size" -msgid "10x15" -msgstr "" - -#: ../gtk/paper_names_offsets.c:97 -msgctxt "paper size" -msgid "11x12" -msgstr "" - -#: ../gtk/paper_names_offsets.c:98 -msgctxt "paper size" -msgid "11x15" -msgstr "" - -#: ../gtk/paper_names_offsets.c:99 -msgctxt "paper size" -msgid "12x19" -msgstr "" - -#: ../gtk/paper_names_offsets.c:100 -msgctxt "paper size" -msgid "5x7" -msgstr "" - -#: ../gtk/paper_names_offsets.c:101 -msgctxt "paper size" -msgid "6x9 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:102 -msgctxt "paper size" -msgid "7x9 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:103 -msgctxt "paper size" -msgid "9x11 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:104 -msgctxt "paper size" -msgid "a2 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:105 -msgctxt "paper size" -msgid "Arch A" -msgstr "" - -#: ../gtk/paper_names_offsets.c:106 -msgctxt "paper size" -msgid "Arch B" -msgstr "" - -#: ../gtk/paper_names_offsets.c:107 -msgctxt "paper size" -msgid "Arch C" -msgstr "" - -#: ../gtk/paper_names_offsets.c:108 -msgctxt "paper size" -msgid "Arch D" -msgstr "" - -#: ../gtk/paper_names_offsets.c:109 -msgctxt "paper size" -msgid "Arch E" -msgstr "" - -#: ../gtk/paper_names_offsets.c:110 -msgctxt "paper size" -msgid "b-plus" -msgstr "" - -#: ../gtk/paper_names_offsets.c:111 -msgctxt "paper size" -msgid "c" -msgstr "" - -#: ../gtk/paper_names_offsets.c:112 -msgctxt "paper size" -msgid "c5 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:113 -msgctxt "paper size" -msgid "d" -msgstr "" - -#: ../gtk/paper_names_offsets.c:114 -msgctxt "paper size" -msgid "e" -msgstr "" - -#: ../gtk/paper_names_offsets.c:115 -msgctxt "paper size" -msgid "edp" -msgstr "" - -#: ../gtk/paper_names_offsets.c:116 -msgctxt "paper size" -msgid "European edp" -msgstr "" - -#: ../gtk/paper_names_offsets.c:117 -msgctxt "paper size" -msgid "Executive" -msgstr "" - -#: ../gtk/paper_names_offsets.c:118 -msgctxt "paper size" -msgid "f" -msgstr "" - -#: ../gtk/paper_names_offsets.c:119 -msgctxt "paper size" -msgid "FanFold European" -msgstr "" - -#: ../gtk/paper_names_offsets.c:120 -msgctxt "paper size" -msgid "FanFold US" -msgstr "" - -#: ../gtk/paper_names_offsets.c:121 -msgctxt "paper size" -msgid "FanFold German Legal" -msgstr "" - -#: ../gtk/paper_names_offsets.c:122 -msgctxt "paper size" -msgid "Government Legal" -msgstr "" - -#: ../gtk/paper_names_offsets.c:123 -msgctxt "paper size" -msgid "Government Letter" -msgstr "" - -#: ../gtk/paper_names_offsets.c:124 -msgctxt "paper size" -msgid "Index 3x5" -msgstr "" - -#: ../gtk/paper_names_offsets.c:125 -msgctxt "paper size" -msgid "Index 4x6 (postcard)" -msgstr "" - -#: ../gtk/paper_names_offsets.c:126 -msgctxt "paper size" -msgid "Index 4x6 ext" -msgstr "" - -#: ../gtk/paper_names_offsets.c:127 -msgctxt "paper size" -msgid "Index 5x8" -msgstr "" - -#: ../gtk/paper_names_offsets.c:128 -msgctxt "paper size" -msgid "Invoice" -msgstr "" - -#: ../gtk/paper_names_offsets.c:129 -msgctxt "paper size" -msgid "Tabloid" -msgstr "" - -#: ../gtk/paper_names_offsets.c:130 -msgctxt "paper size" -msgid "US Legal" -msgstr "" - -#: ../gtk/paper_names_offsets.c:131 -msgctxt "paper size" -msgid "US Legal Extra" -msgstr "" - -#: ../gtk/paper_names_offsets.c:132 -msgctxt "paper size" -msgid "US Letter" -msgstr "" - -#: ../gtk/paper_names_offsets.c:133 -msgctxt "paper size" -msgid "US Letter Extra" -msgstr "" - -#: ../gtk/paper_names_offsets.c:134 -msgctxt "paper size" -msgid "US Letter Plus" -msgstr "" - -#: ../gtk/paper_names_offsets.c:135 -msgctxt "paper size" -msgid "Monarch Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:136 -msgctxt "paper size" -msgid "#10 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:137 -msgctxt "paper size" -msgid "#11 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:138 -msgctxt "paper size" -msgid "#12 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:139 -msgctxt "paper size" -msgid "#14 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:140 -msgctxt "paper size" -msgid "#9 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:141 -msgctxt "paper size" -msgid "Personal Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:142 -msgctxt "paper size" -msgid "Quarto" -msgstr "" - -#: ../gtk/paper_names_offsets.c:143 -msgctxt "paper size" -msgid "Super A" -msgstr "" - -#: ../gtk/paper_names_offsets.c:144 -msgctxt "paper size" -msgid "Super B" -msgstr "" - -#: ../gtk/paper_names_offsets.c:145 -msgctxt "paper size" -msgid "Wide Format" -msgstr "" - -#: ../gtk/paper_names_offsets.c:146 -msgctxt "paper size" -msgid "Dai-pa-kai" -msgstr "" - -#: ../gtk/paper_names_offsets.c:147 -msgctxt "paper size" -msgid "Folio" -msgstr "" - -#: ../gtk/paper_names_offsets.c:148 -msgctxt "paper size" -msgid "Folio sp" -msgstr "" - -#: ../gtk/paper_names_offsets.c:149 -msgctxt "paper size" -msgid "Invite Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:150 -msgctxt "paper size" -msgid "Italian Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:151 -msgctxt "paper size" -msgid "juuro-ku-kai" -msgstr "" - -#: ../gtk/paper_names_offsets.c:152 -msgctxt "paper size" -msgid "pa-kai" -msgstr "" - -#: ../gtk/paper_names_offsets.c:153 -msgctxt "paper size" -msgid "Postfix Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:154 -msgctxt "paper size" -msgid "Small Photo" -msgstr "" - -#: ../gtk/paper_names_offsets.c:155 -msgctxt "paper size" -msgid "prc1 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:156 -msgctxt "paper size" -msgid "prc10 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:157 -msgctxt "paper size" -msgid "prc 16k" -msgstr "" - -#: ../gtk/paper_names_offsets.c:158 -msgctxt "paper size" -msgid "prc2 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:159 -msgctxt "paper size" -msgid "prc3 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:160 -msgctxt "paper size" -msgid "prc 32k" -msgstr "" - -#: ../gtk/paper_names_offsets.c:161 -msgctxt "paper size" -msgid "prc4 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:162 -msgctxt "paper size" -msgid "prc5 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:163 -msgctxt "paper size" -msgid "prc6 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:164 -msgctxt "paper size" -msgid "prc7 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:165 -msgctxt "paper size" -msgid "prc8 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:166 -msgctxt "paper size" -msgid "prc9 Envelope" -msgstr "" - -#: ../gtk/paper_names_offsets.c:167 -msgctxt "paper size" -msgid "ROC 16k" -msgstr "" - -#: ../gtk/paper_names_offsets.c:168 -msgctxt "paper size" -msgid "ROC 8k" -msgstr "" - -#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 -#, c-format -msgid "different idatas found for symlinked '%s' and '%s'\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1374 -#, c-format -msgid "Failed to write header\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1380 -#, c-format -msgid "Failed to write hash table\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1386 -#, c-format -msgid "Failed to write folder index\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1394 -#, c-format -msgid "Failed to rewrite header\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1463 -#, c-format -msgid "Failed to open file %s : %s\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1471 -#, c-format -msgid "Failed to write cache file: %s\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1507 -#, c-format -msgid "The generated cache was invalid.\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1521 -#, c-format -msgid "Could not rename %s to %s: %s, removing %s then.\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1535 -#, c-format -msgid "Could not rename %s to %s: %s\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1545 -#, c-format -msgid "Could not rename %s back to %s: %s.\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1572 -#, c-format -msgid "Cache file created successfully.\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1611 -msgid "Overwrite an existing cache, even if up to date" -msgstr "" - -#: ../gtk/updateiconcache.c:1612 -msgid "Don't check for the existence of index.theme" -msgstr "" - -#: ../gtk/updateiconcache.c:1613 -msgid "Don't include image data in the cache" -msgstr "" - -#: ../gtk/updateiconcache.c:1614 -msgid "Output a C header file" -msgstr "" - -#: ../gtk/updateiconcache.c:1615 -msgid "Turn off verbose output" -msgstr "" - -#: ../gtk/updateiconcache.c:1616 -msgid "Validate existing icon cache" -msgstr "" - -#: ../gtk/updateiconcache.c:1683 -#, c-format -msgid "File not found: %s\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1689 -#, c-format -msgid "Not a valid icon cache: %s\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1702 -#, c-format -msgid "No theme index file.\n" -msgstr "" - -#: ../gtk/updateiconcache.c:1706 -#, c-format -msgid "" -"No theme index file in '%s'.\n" -"If you really want to create an icon cache here, use --ignore-theme-index.\n" -msgstr "" - -#. ID -#: ../modules/input/imam-et.c:454 -msgid "Amharic (EZ+)" -msgstr "" - -#. ID -#: ../modules/input/imcedilla.c:92 -msgid "Cedilla" -msgstr "" - -#. ID -#: ../modules/input/imcyrillic-translit.c:217 -msgid "Cyrillic (Transliterated)" -msgstr "" - -#. ID -#: ../modules/input/iminuktitut.c:127 -msgid "Inuktitut (Transliterated)" -msgstr "" - -#. ID -#: ../modules/input/imipa.c:145 -msgid "IPA" -msgstr "" - -#. ID -#: ../modules/input/immultipress.c:31 -msgid "Multipress" -msgstr "" - -#. ID -#: ../modules/input/imthai.c:35 -msgid "Thai-Lao" -msgstr "" - -#. ID -#: ../modules/input/imti-er.c:453 -msgid "Tigrigna-Eritrean (EZ+)" -msgstr "" - -#. ID -#: ../modules/input/imti-et.c:453 -msgid "Tigrigna-Ethiopian (EZ+)" -msgstr "" - -#. ID -#: ../modules/input/imviqr.c:244 -msgid "Vietnamese (VIQR)" -msgstr "" - -#. ID -#: ../modules/input/imxim.c:28 -msgid "X Input Method" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 -msgid "Username:" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 -msgid "Password:" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 -#, c-format -msgid "Authentication is required to print document '%s' on printer %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 -#, c-format -msgid "Authentication is required to print a document on %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 -#, c-format -msgid "Authentication is required to get attributes of job '%s'" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 -msgid "Authentication is required to get attributes of a job" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 -#, c-format -msgid "Authentication is required to get attributes of printer %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 -msgid "Authentication is required to get attributes of a printer" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 -#, c-format -msgid "Authentication is required to get default printer of %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 -#, c-format -msgid "Authentication is required to get printers from %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 -#, c-format -msgid "Authentication is required on %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 -msgid "Domain:" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 -#, c-format -msgid "Authentication is required to print document '%s'" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 -#, c-format -msgid "Authentication is required to print this document on printer %s" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 -msgid "Authentication is required to print this document" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 -#, c-format -msgid "Printer '%s' is low on toner." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 -#, c-format -msgid "Printer '%s' has no toner left." -msgstr "" - -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 -#, c-format -msgid "Printer '%s' is low on developer." -msgstr "" - -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 -#, c-format -msgid "Printer '%s' is out of developer." -msgstr "" - -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 -#, c-format -msgid "Printer '%s' is low on at least one marker supply." -msgstr "" - -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 -#, c-format -msgid "Printer '%s' is out of at least one marker supply." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 -#, c-format -msgid "The cover is open on printer '%s'." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 -#, c-format -msgid "The door is open on printer '%s'." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 -#, c-format -msgid "Printer '%s' is low on paper." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 -#, c-format -msgid "Printer '%s' is out of paper." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, c-format -msgid "Printer '%s' is currently offline." -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 -#, c-format -msgid "There is a problem on printer '%s'." -msgstr "" - -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 -msgid "Paused ; Rejecting Jobs" -msgstr "" - -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 -msgid "Rejecting Jobs" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 -msgid "Two Sided" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 -msgid "Paper Type" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 -msgid "Paper Source" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 -msgid "Output Tray" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 -msgid "Resolution" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 -msgid "GhostScript pre-filtering" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 -msgid "One Sided" -msgstr "" - -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 -msgid "Long Edge (Standard)" -msgstr "" - -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 -msgid "Short Edge (Flip)" -msgstr "" - -#. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 -msgid "Auto Select" -msgstr "" - -#. Translators: this is an option of "Paper Source" -#. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 -msgid "Printer Default" -msgstr "" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 -msgid "Embed GhostScript fonts only" -msgstr "" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 -msgid "Convert to PS level 1" -msgstr "" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 -msgid "Convert to PS level 2" -msgstr "" - -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 -msgid "No pre-filtering" -msgstr "" - -#. Translators: "Miscellaneous" is the label for a button, that opens -#. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 -msgid "Miscellaneous" -msgstr "" - -#. Translators: These strings name the possible values of the -#. * job priority option in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "Urgent" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "High" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "Medium" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 -msgid "Low" -msgstr "" - -#. Cups specific, non-ppd related settings -#. Translators, this string is used to label the pages-per-sheet option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 -msgid "Pages per Sheet" -msgstr "" - -#. Translators, this string is used to label the job priority option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 -msgid "Job Priority" -msgstr "" - -#. Translators, this string is used to label the billing info entry -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 -msgid "Billing Info" -msgstr "" - -#. Translators, these strings are names for various 'standard' cover -#. * pages that the printing system may support. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "None" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Classified" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Confidential" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Secret" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Standard" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Top Secret" -msgstr "" - -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 -msgid "Unclassified" -msgstr "" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 -msgid "Before" -msgstr "" - -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 -msgid "After" -msgstr "" - -#. Translators: this is the name of the option that controls when -#. * a print job is printed. Possible values are 'now', a specified time, -#. * or 'on hold' -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 -msgid "Print at" -msgstr "" - -#. Translators: this is the name of the option that allows the user -#. * to specify a time when a print job will be printed. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 -msgid "Print at time" -msgstr "" - -#. Translators: this format is used to display a custom paper -#. * size. The two placeholders are replaced with the width and height -#. * in points. E.g: "Custom 230.4x142.9" -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 -#, c-format -msgid "Custom %sx%s" -msgstr "" - -#. default filename used for print-to-file -#: ../modules/printbackends/file/gtkprintbackendfile.c:250 -#, c-format -msgid "output.%s" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:493 -msgid "Print to File" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 -msgid "PDF" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 -msgid "Postscript" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 -msgid "SVG" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:582 -#: ../modules/printbackends/test/gtkprintbackendtest.c:503 -msgid "Pages per _sheet:" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:641 -msgid "File" -msgstr "" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:651 -msgid "_Output format" -msgstr "" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 -msgid "Print to LPR" -msgstr "" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 -msgid "Pages Per Sheet" -msgstr "" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 -msgid "Command Line" -msgstr "" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 -msgid "printer offline" -msgstr "" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 -msgid "ready to print" -msgstr "" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 -msgid "processing job" -msgstr "" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 -msgid "paused" -msgstr "" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 -msgid "unknown" -msgstr "" - -#. default filename used for print-to-test -#: ../modules/printbackends/test/gtkprintbackendtest.c:234 -#, c-format -msgid "test-output.%s" -msgstr "" - -#: ../modules/printbackends/test/gtkprintbackendtest.c:467 -msgid "Print to Test Printer" -msgstr "" - -#: ../tests/testfilechooser.c:207 -#, c-format -msgid "Could not get information for file '%s': %s" -msgstr "" - -#: ../tests/testfilechooser.c:222 -#, c-format -msgid "Failed to open file '%s': %s" -msgstr "" - -#: ../tests/testfilechooser.c:267 -#, c-format -msgid "" -"Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "" +# Translation of gtk+ into Luganda. +# Copyright (C) 2005 Free Software Foundation, Inc. +# This file is distributed under the same license as the gtk+ package. +# Kizito Birabwa , 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: gtk+-2.22\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" +"%2b&component=general\n" +"POT-Creation-Date: 2011-01-05 17:26+0000\n" +"PO-Revision-Date: 2011-01-25 23:45+0000\n" +"Last-Translator: Kizito Birabwa \n" +"Language-Team: Luganda \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../gdk/gdk.c:152 +#, c-format +msgid "Error parsing option --gdk-debug" +msgstr "Wazzewo kiremya mu kuyungulula makulu mu kawayiro aka --gdk-debug" + +#: ../gdk/gdk.c:172 +#, c-format +msgid "Error parsing option --gdk-no-debug" +msgstr "Wazzewo kiremya mu kuyungulula makulu mu kawayiro aka --gdk-no-debug" + +#. Description of --class=CLASS in --help output +#: ../gdk/gdk.c:200 +msgid "Program class as used by the window manager" +msgstr "Kiti ekiteekateekamadirisa mwe kissa puloguramu" + +#. Placeholder in --class=CLASS in --help output +#: ../gdk/gdk.c:201 +msgid "CLASS" +msgstr "KITI" + +#. Description of --name=NAME in --help output +#: ../gdk/gdk.c:203 +msgid "Program name as used by the window manager" +msgstr "Erinnya ekiteekateekamadirisa lye kiyita puloguramu" + +#. Placeholder in --name=NAME in --help output +#: ../gdk/gdk.c:204 +msgid "NAME" +msgstr "LINNYA" + +#. Description of --display=DISPLAY in --help output +#: ../gdk/gdk.c:206 +msgid "X display to use" +msgstr "Omulimu gwa X ogunaakozesebwa" + +#. Placeholder in --display=DISPLAY in --help output +#: ../gdk/gdk.c:207 +msgid "DISPLAY" +msgstr "MULIMU" + +#. Description of --gdk-debug=FLAGS in --help output +#: ../gdk/gdk.c:210 +msgid "GDK debugging flags to set" +msgstr "Kano kategeka obutuuti GDK bw'en'ekozesa mu kunoonya nsobi" + +#. Placeholder in --gdk-debug=FLAGS in --help output +#. Placeholder in --gdk-no-debug=FLAGS in --help output +#. Placeholder in --gtk-debug=FLAGS in --help output +#. Placeholder in --gtk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 +msgid "FLAGS" +msgstr "BUTUUTI" + +#. Description of --gdk-no-debug=FLAGS in --help output +#: ../gdk/gdk.c:213 +msgid "GDK debugging flags to unset" +msgstr "" +"Kano ke kalaga obutuuti obweyambisibwa mu kunoonya nsobi obunaategekululwa" + +#: ../gdk/keyname-table.h:3940 +msgctxt "keyboard label" +msgid "BackSpace" +msgstr "BackSpace" + +#: ../gdk/keyname-table.h:3941 +msgctxt "keyboard label" +msgid "Tab" +msgstr "Tab" + +#: ../gdk/keyname-table.h:3942 +msgctxt "keyboard label" +msgid "Return" +msgstr "Return" + +#: ../gdk/keyname-table.h:3943 +msgctxt "keyboard label" +msgid "Pause" +msgstr "Pause" + +#: ../gdk/keyname-table.h:3944 +msgctxt "keyboard label" +msgid "Scroll_Lock" +msgstr "Scroll_Lock" + +#: ../gdk/keyname-table.h:3945 +msgctxt "keyboard label" +msgid "Sys_Req" +msgstr "Sys_Req" + +#: ../gdk/keyname-table.h:3946 +msgctxt "keyboard label" +msgid "Escape" +msgstr "Escape" + +#: ../gdk/keyname-table.h:3947 +msgctxt "keyboard label" +msgid "Multi_key" +msgstr "Multi_key" + +#: ../gdk/keyname-table.h:3948 +msgctxt "keyboard label" +msgid "Home" +msgstr "Home" + +#: ../gdk/keyname-table.h:3949 +msgctxt "keyboard label" +msgid "Left" +msgstr "Left" + +#: ../gdk/keyname-table.h:3950 +msgctxt "keyboard label" +msgid "Up" +msgstr "Up" + +#: ../gdk/keyname-table.h:3951 +msgctxt "keyboard label" +msgid "Right" +msgstr "Right" + +#: ../gdk/keyname-table.h:3952 +msgctxt "keyboard label" +msgid "Down" +msgstr "Down" + +#: ../gdk/keyname-table.h:3953 +msgctxt "keyboard label" +msgid "Page_Up" +msgstr "Page_Up" + +#: ../gdk/keyname-table.h:3954 +msgctxt "keyboard label" +msgid "Page_Down" +msgstr "Page_Down" + +#: ../gdk/keyname-table.h:3955 +msgctxt "keyboard label" +msgid "End" +msgstr "End" + +#: ../gdk/keyname-table.h:3956 +msgctxt "keyboard label" +msgid "Begin" +msgstr "Begin" + +#: ../gdk/keyname-table.h:3957 +msgctxt "keyboard label" +msgid "Print" +msgstr "Print" + +#: ../gdk/keyname-table.h:3958 +msgctxt "keyboard label" +msgid "Insert" +msgstr "Insert" + +#: ../gdk/keyname-table.h:3959 +msgctxt "keyboard label" +msgid "Num_Lock" +msgstr "Num_Lock" + +#: ../gdk/keyname-table.h:3960 +msgctxt "keyboard label" +msgid "KP_Space" +msgstr "KP_Space" + +#: ../gdk/keyname-table.h:3961 +msgctxt "keyboard label" +msgid "KP_Tab" +msgstr "KP_Tab" + +#: ../gdk/keyname-table.h:3962 +msgctxt "keyboard label" +msgid "KP_Enter" +msgstr "" + +#: ../gdk/keyname-table.h:3963 +msgctxt "keyboard label" +msgid "KP_Home" +msgstr "" + +#: ../gdk/keyname-table.h:3964 +msgctxt "keyboard label" +msgid "KP_Left" +msgstr "" + +#: ../gdk/keyname-table.h:3965 +msgctxt "keyboard label" +msgid "KP_Up" +msgstr "" + +#: ../gdk/keyname-table.h:3966 +msgctxt "keyboard label" +msgid "KP_Right" +msgstr "" + +#: ../gdk/keyname-table.h:3967 +msgctxt "keyboard label" +msgid "KP_Down" +msgstr "" + +#: ../gdk/keyname-table.h:3968 +msgctxt "keyboard label" +msgid "KP_Page_Up" +msgstr "" + +#: ../gdk/keyname-table.h:3969 +msgctxt "keyboard label" +msgid "KP_Prior" +msgstr "" + +#: ../gdk/keyname-table.h:3970 +msgctxt "keyboard label" +msgid "KP_Page_Down" +msgstr "" + +#: ../gdk/keyname-table.h:3971 +msgctxt "keyboard label" +msgid "KP_Next" +msgstr "" + +#: ../gdk/keyname-table.h:3972 +msgctxt "keyboard label" +msgid "KP_End" +msgstr "" + +#: ../gdk/keyname-table.h:3973 +msgctxt "keyboard label" +msgid "KP_Begin" +msgstr "" + +#: ../gdk/keyname-table.h:3974 +msgctxt "keyboard label" +msgid "KP_Insert" +msgstr "" + +#: ../gdk/keyname-table.h:3975 +msgctxt "keyboard label" +msgid "KP_Delete" +msgstr "" + +#: ../gdk/keyname-table.h:3976 +msgctxt "keyboard label" +msgid "Delete" +msgstr "" + +#. Description of --sync in --help output +#: ../gdk/win32/gdkmain-win32.c:55 +msgid "Don't batch GDI requests" +msgstr "" + +#. Description of --no-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:57 +msgid "Don't use the Wintab API for tablet support" +msgstr "" + +#. Description of --ignore-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:59 +msgid "Same as --no-wintab" +msgstr "Kano kye kimu n'aka --no-wintab" + +#. Description of --use-wintab in --help output +#: ../gdk/win32/gdkmain-win32.c:61 +msgid "Do use the Wintab API [default]" +msgstr "" + +#. Description of --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:63 +msgid "Size of the palette in 8 bit mode" +msgstr "Kano ke kategeka obungi bwa langi ezifunika mu nkola eya bbiti 8" + +#. Placeholder in --max-colors=COLORS in --help output +#: ../gdk/win32/gdkmain-win32.c:64 +msgid "COLORS" +msgstr "LANGI" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 +#, c-format +msgid "Starting %s" +msgstr "Ntandika %s" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 +#, c-format +msgid "Opening %s" +msgstr "Mbikkula %s" + +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#, c-format +msgid "Opening %d Item" +msgid_plural "Opening %d Items" +msgstr[0] "Mbikkula ekintu %d" +msgstr[1] "Mbikkula ebintu %d" + +#. Translators: this is the license preamble; the string at the end +#. * contains the URL of the license. +#. +#: ../gtk/gtkaboutdialog.c:104 +#, c-format +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "" + +#: ../gtk/gtkaboutdialog.c:346 +msgid "License" +msgstr "Layisinsi" + +#: ../gtk/gtkaboutdialog.c:347 +msgid "The license of the program" +msgstr "Layisinsi efuga nkozesa ya puloguramu" + +#. Add the credits button +#: ../gtk/gtkaboutdialog.c:739 +msgid "C_redits" +msgstr "A_baakola" + +#. Add the license button +#: ../gtk/gtkaboutdialog.c:752 +msgid "_License" +msgstr "_Layisinsi" + +#: ../gtk/gtkaboutdialog.c:957 +msgid "Could not show link" +msgstr "Nnemedwa okulaga enyunzi" + +#: ../gtk/gtkaboutdialog.c:994 +msgid "Homepage" +msgstr "Obusangira ku yintaneti" + +#: ../gtk/gtkaboutdialog.c:1048 +#, c-format +msgid "About %s" +msgstr "Okwanjula %s" + +#: ../gtk/gtkaboutdialog.c:2372 +msgid "Created by" +msgstr "Yakolebwa" + +#: ../gtk/gtkaboutdialog.c:2375 +msgid "Documented by" +msgstr "Yawandikibwako" + +#: ../gtk/gtkaboutdialog.c:2385 +msgid "Translated by" +msgstr "Yavvuunulibwa" + +#: ../gtk/gtkaboutdialog.c:2390 +msgid "Artwork by" +msgstr "Abaakola ku nfaanana ya yo" + +#. This is the text that should appear next to menu accelerators +#. * that use the shift key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:158 +msgctxt "keyboard label" +msgid "Shift" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the control key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:164 +msgctxt "keyboard label" +msgid "Ctrl" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the alt key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:170 +msgctxt "keyboard label" +msgid "Alt" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the super key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:768 +msgctxt "keyboard label" +msgid "Super" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the hyper key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:781 +msgctxt "keyboard label" +msgid "Hyper" +msgstr "" + +#. This is the text that should appear next to menu accelerators +#. * that use the meta key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:795 +msgctxt "keyboard label" +msgid "Meta" +msgstr "" + +#: ../gtk/gtkaccellabel.c:811 +msgctxt "keyboard label" +msgid "Space" +msgstr "Kabangirizi" + +#: ../gtk/gtkaccellabel.c:814 +msgctxt "keyboard label" +msgid "Backslash" +msgstr "Kasaze ka kaddanyuma" + +#: ../gtk/gtkappchooserbutton.c:251 +msgid "Other application..." +msgstr "Puloguramu endala..." + +#: ../gtk/gtkappchooserdialog.c:115 +msgid "Failed to look for applications online" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:152 +msgid "Find applications online" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:196 +msgid "Could not run application" +msgstr "Nnemedwa okutandika puloguramu" + +#: ../gtk/gtkappchooserdialog.c:209 +msgid "Could not find '%s'" +msgstr "Nnemedwa okuzuula '%s'" + +#: ../gtk/gtkappchooserdialog.c:212 +msgid "Could not find application" +msgstr "Nnemedwa okuzuula puloguramu" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:322 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:323 ../gtk/gtkappchooserwidget.c:633 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:329 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:332 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:346 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:416 +msgid "Forget association" +msgstr "Enkwatagana ne puloguramu gigyewo" + +#: ../gtk/gtkappchooserdialog.c:481 +msgid "Show other applications" +msgstr "Laga puloguramu endala" + +#: ../gtk/gtkappchooserdialog.c:499 +msgid "_Open" +msgstr "_Bikkula" + +#: ../gtk/gtkappchooserwidget.c:582 +msgid "Default Application" +msgstr "Puloguramu ekozesebwa bulijjo" + +#: ../gtk/gtkappchooserwidget.c:718 +msgid "Recommended Applications" +msgstr "Puloguramu ezisaana" + +#: ../gtk/gtkappchooserwidget.c:732 +msgid "Related Applications" +msgstr "Puloguramu ezikwatagana" + +#: ../gtk/gtkappchooserwidget.c:745 +msgid "Other Applications" +msgstr "Puloguramu endala" + +#: ../gtk/gtkbuilderparser.c:342 +#, c-format +msgid "Invalid type function on line %d: '%s'" +msgstr "" +"Olunyiriri %d luliko omukolo oguzuula oba ogutegeka ekika kya data omusobi: " +"'%s'" + +#: ../gtk/gtkbuilderparser.c:406 +#, c-format +msgid "Duplicate object ID '%s' on line %d (previously on line %d)" +msgstr "" +"Ennamba y'ekyetongole '%s' ku lunyiriri %d eddidwamu (ekozesebwa ku " +"lunyiriri %d)" + +#: ../gtk/gtkbuilderparser.c:858 +#, c-format +msgid "Invalid root element: '%s'" +msgstr "Ekitundu ekikongojja ekiwandike kisobu: '%s'" + +#: ../gtk/gtkbuilderparser.c:897 +#, c-format +msgid "Unhandled tag: '%s'" +msgstr "Waliwo erinnya lya data ekwatagizidwa eribulako data enyanjuzi: '%s'" + +#. Translate to calendar:YM if you want years to be displayed +#. * before months; otherwise translate to calendar:MY. +#. * Do *not* translate it to anything else, if it +#. * it isn't calendar:YM or calendar:MY it will not work. +#. * +#. * Note that the ordering described here is logical order, which is +#. * further influenced by BIDI ordering. Thus, if you have a default +#. * text direction of RTL and specify "calendar:YM", then the year +#. * will appear to the right of the month. +#. +#: ../gtk/gtkcalendar.c:885 +msgid "calendar:MY" +msgstr "" + +#. Translate to calendar:week_start:0 if you want Sunday to be the +#. * first day of the week to calendar:week_start:1 if you want Monday +#. * to be the first day of the week, and so on. +#. +#: ../gtk/gtkcalendar.c:923 +msgid "calendar:week_start:0" +msgstr "calendar:week_start:1" + +#. Translators: This is a text measurement template. +#. * Translate it to the widest year text +#. * +#. * If you don't understand this, leave it as "2000" +#. +#: ../gtk/gtkcalendar.c:1903 +msgctxt "year measurement template" +msgid "2000" +msgstr "2000" + +#. Translators: this defines whether the day numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 +#, c-format +msgctxt "calendar:day:digits" +msgid "%d" +msgstr "%d" + +#. Translators: this defines whether the week numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 +#, c-format +msgctxt "calendar:week:digits" +msgid "%d" +msgstr "%d" + +#. Translators: This dictates how the year is displayed in +#. * gtkcalendar widget. See strftime() manual for the format. +#. * Use only ASCII in the translation. +#. * +#. * Also look for the msgid "2000". +#. * Translate that entry to a year with the widest output of this +#. * msgid. +#. * +#. * "%Y" is appropriate for most locales. +#. +#: ../gtk/gtkcalendar.c:2256 +msgctxt "calendar year format" +msgid "%Y" +msgstr "%Y" + +#. This label is displayed in a treeview cell displaying +#. * a disabled accelerator key combination. +#. +#: ../gtk/gtkcellrendereraccel.c:271 +msgctxt "Accelerator" +msgid "Disabled" +msgstr "Tegakola" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator key combination that is not valid according +#. * to gtk_accelerator_valid(). +#. +#: ../gtk/gtkcellrendereraccel.c:281 +msgctxt "Accelerator" +msgid "Invalid" +msgstr "Tegakkirizibwa" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator when the cell is clicked to change the +#. * acelerator. +#. +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 +msgid "New accelerator..." +msgstr "Gakyuse..." + +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 +#, c-format +msgctxt "progress bar label" +msgid "%d %%" +msgstr "%d %%" + +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 +msgid "Pick a Color" +msgstr "Londako langi" + +#: ../gtk/gtkcolorbutton.c:366 +msgid "Received invalid color data\n" +msgstr "Nfunye ebya langi ebitakkirizibwa\n" + +#: ../gtk/gtkcolorsel.c:415 +msgid "" +"Select the color you want from the outer ring. Select the darkness or " +"lightness of that color using the inner triangle." +msgstr "" +"Kozesa namuziga okulonda langi. Kozesa nsondasatu obutegeka obukwafu bwa yo." + +#: ../gtk/gtkcolorsel.c:439 +msgid "" +"Click the eyedropper, then click a color anywhere on your screen to select " +"that color." +msgstr "" +"Bw'onyiga ku katonyesa, ofuna ekikusobozesa okukwata langi okuva wonna " +"w'oyagala ku lutimbe" + +#: ../gtk/gtkcolorsel.c:448 +msgid "_Hue:" +msgstr "_Kiti kya langi:" + +#: ../gtk/gtkcolorsel.c:449 +msgid "Position on the color wheel." +msgstr "Kifo ky'erangi ku namuziga." + +#: ../gtk/gtkcolorsel.c:451 +msgid "_Saturation:" +msgstr "_Okunoga:" + +#: ../gtk/gtkcolorsel.c:452 +msgid "Intensity of the color." +msgstr "Okunoga kw'erangi." + +#: ../gtk/gtkcolorsel.c:453 +msgid "_Value:" +msgstr "_Butaangaavu:" + +#: ../gtk/gtkcolorsel.c:454 +msgid "Brightness of the color." +msgstr "Obutaangaavu bw'erangi." + +#: ../gtk/gtkcolorsel.c:455 +msgid "_Red:" +msgstr "Obu_myufu" + +#: ../gtk/gtkcolorsel.c:456 +msgid "Amount of red light in the color." +msgstr "Obumyufu obuli mu langi." + +#: ../gtk/gtkcolorsel.c:457 +msgid "_Green:" +msgstr "Obwaki_ragala:" + +#: ../gtk/gtkcolorsel.c:458 +msgid "Amount of green light in the color." +msgstr "Obwakiragala obuli mu langi." + +#: ../gtk/gtkcolorsel.c:459 +msgid "_Blue:" +msgstr "Obwa_bbululu:" + +#: ../gtk/gtkcolorsel.c:460 +msgid "Amount of blue light in the color." +msgstr "Obwabbululu obuli mu langi." + +#: ../gtk/gtkcolorsel.c:463 +msgid "Op_acity:" +msgstr "Oku_taangaala:" + +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 +msgid "Transparency of the color." +msgstr "Okutaangaala kw'erangi." + +#: ../gtk/gtkcolorsel.c:487 +msgid "Color _name:" +msgstr "_Linnya lya langi:" + +#: ../gtk/gtkcolorsel.c:501 +msgid "" +"You can enter an HTML-style hexadecimal color value, or simply a color name " +"such as 'orange' in this entry." +msgstr "" +"Wano oyinz'okuwandikawo ennamba ey'omu nnengakkuminamukaaga nga mu HTML, oba " +"oyinz'okuwandikawo erinya nga 'orange'." + +#: ../gtk/gtkcolorsel.c:531 +msgid "_Palette:" +msgstr "Kkuŋaanizo lya _langi:" + +#: ../gtk/gtkcolorsel.c:560 +msgid "Color Wheel" +msgstr "Namuziga ya langi" + +#: ../gtk/gtkcolorsel.c:1033 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now. You can drag this color to a palette entry, or select this color as " +"current by dragging it to the other color swatch alongside." +msgstr "" +"Eno ye langi eyabadde esangidwawo, osobole okugigerageranya ne gy'ogenda " +"okulonda kakati. Langi eno osobola okugikulula n'ogyongera ku kkuŋaanizo lya " +"langi, oba oyinza okugikululira ku ddyo awali egiriraanye ereme okukyusibwa." + +#: ../gtk/gtkcolorsel.c:1036 +msgid "" +"The color you've chosen. You can drag this color to a palette entry to save " +"it for use in the future." +msgstr "" +"Langi gy'olonze. Eno osobola okugikulula n'ogissa mu " +"kakuŋaanizookukwanguyira kuddamu kugironda olulala" + +#: ../gtk/gtkcolorsel.c:1041 +msgid "" +"The previously-selected color, for comparison to the color you're selecting " +"now." +msgstr "" +"Langi esangidwawo. Osobole okugigeraageranya ne gy'ogenda okulonda kaakati." + +#: ../gtk/gtkcolorsel.c:1044 +msgid "The color you've chosen." +msgstr "Langi gy'olonze" + +#: ../gtk/gtkcolorsel.c:1444 +msgid "_Save color here" +msgstr "Langi gi_terekere wano" + +#: ../gtk/gtkcolorsel.c:1652 +msgid "" +"Click this palette entry to make it the current color. To change this entry, " +"drag a color swatch here or right-click it and select \"Save color here.\"" +msgstr "" +"Nyiga ku langi eno ebeere nga y'ekola. Okukyusa langi esangibwa wano, " +"kululayo endala oba nyigira wano eppeesa ery'oku kasongesebwa erya " +"ddyoolonde \"Kaliza wano erangi.\"" + +#: ../gtk/gtkcolorseldialog.c:189 +msgid "Color Selection" +msgstr "Kulonda langi" + +#. Translate to the default units to use for presenting +#. * lengths to the user. Translate to default:inch if you +#. * want inches, otherwise translate to default:mm. +#. * Do *not* translate it to "predefinito:mm", if it +#. * it isn't default:mm or default:inch it will not work +#. +#: ../gtk/gtkcustompaperunixdialog.c:116 +msgid "default:mm" +msgstr "default:mm" + +#. And show the custom paper dialog +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 +msgid "Manage Custom Sizes" +msgstr "Teekateeka ebigero by'empapula ebitasangibwasangibwa" + +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 +msgid "inch" +msgstr "yinci" + +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 +msgid "mm" +msgstr "mm" + +#: ../gtk/gtkcustompaperunixdialog.c:581 +msgid "Margins from Printer..." +msgstr "Pulinta y'eba etegeka myagaanya ku mpapula..." + +#: ../gtk/gtkcustompaperunixdialog.c:747 +#, c-format +msgid "Custom Size %d" +msgstr "Ekigero ekyeteekateekere %d" + +#: ../gtk/gtkcustompaperunixdialog.c:1059 +msgid "_Width:" +msgstr "Bu_gazi:" + +#: ../gtk/gtkcustompaperunixdialog.c:1071 +msgid "_Height:" +msgstr "Bu_wanvu:" + +#: ../gtk/gtkcustompaperunixdialog.c:1083 +msgid "Paper Size" +msgstr "Kigero ky'empapula" + +#: ../gtk/gtkcustompaperunixdialog.c:1092 +msgid "_Top:" +msgstr "Wa_ggulu:" + +#: ../gtk/gtkcustompaperunixdialog.c:1104 +msgid "_Bottom:" +msgstr "Wa_nsi:" + +#: ../gtk/gtkcustompaperunixdialog.c:1116 +msgid "_Left:" +msgstr "_Kkono:" + +#: ../gtk/gtkcustompaperunixdialog.c:1128 +msgid "_Right:" +msgstr "_Ddyo:" + +#: ../gtk/gtkcustompaperunixdialog.c:1169 +msgid "Paper Margins" +msgstr "Emyagaanya ku mpapula" + +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8241 +msgid "Input _Methods" +msgstr "Empandika z'en_nukuta" + +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8255 +msgid "_Insert Unicode Control Character" +msgstr "_Teekawo akabonero akafuzi ak'omu Unicode" + +#: ../gtk/gtkentry.c:10224 +msgid "Caps Lock and Num Lock are on" +msgstr "" + +#: ../gtk/gtkentry.c:10226 +msgid "Num Lock is on" +msgstr "Num Lock ekola" + +#: ../gtk/gtkentry.c:10228 +msgid "Caps Lock is on" +msgstr "Caps Lock ekola" + +#. **************** * +#. * Private Macros * +#. * **************** +#: ../gtk/gtkfilechooserbutton.c:62 +msgid "Select A File" +msgstr "Londayo fayiro" + +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1831 +msgid "Desktop" +msgstr "Awakolerwa" + +#: ../gtk/gtkfilechooserbutton.c:64 +msgid "(None)" +msgstr "(Bbule)" + +#: ../gtk/gtkfilechooserbutton.c:1999 +msgid "Other..." +msgstr "Walala..." + +#: ../gtk/gtkfilechooserdefault.c:146 +msgid "Type name of new folder" +msgstr "Wandika linnya ly'etterekero eppya" + +#: ../gtk/gtkfilechooserdefault.c:944 +msgid "Could not retrieve information about the file" +msgstr "Nnemedwa okufuna ebifa ku fayiro" + +#: ../gtk/gtkfilechooserdefault.c:955 +msgid "Could not add a bookmark" +msgstr "Nnemedwa okukwata ekifo" + +#: ../gtk/gtkfilechooserdefault.c:966 +msgid "Could not remove bookmark" +msgstr "Nnemedwa okugyawo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:977 +msgid "The folder could not be created" +msgstr "Tekisobose tterekero okulikolawo" + +#: ../gtk/gtkfilechooserdefault.c:990 +msgid "" +"The folder could not be created, as a file with the same name already " +"exists. Try using a different name for the folder, or rename the file first." +msgstr "" +"Tekisobose okukulawo tterekero, kubanga wasangidwawo eddala ery'erinnya lye " +"limu.Lironderewo erinnya eddala oba erisangidwawo sooka erikyuse erinnya." + +#: ../gtk/gtkfilechooserdefault.c:1004 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" + +#: ../gtk/gtkfilechooserdefault.c:1014 +msgid "Invalid file name" +msgstr "Ekyo tekikola nga linnya lya fayiro" + +#: ../gtk/gtkfilechooserdefault.c:1024 +msgid "The folder contents could not be displayed" +msgstr "Tekisobose kulaga ebiri mu tterekero" + +#. Translators: the first string is a path and the second string +#. * is a hostname. Nautilus and the panel contain the same string +#. * to translate. +#. +#: ../gtk/gtkfilechooserdefault.c:1574 +#, c-format +msgid "%1$s on %2$s" +msgstr "%1$s ku %2$s" + +#: ../gtk/gtkfilechooserdefault.c:1750 +msgid "Search" +msgstr "Noonya" + +#: ../gtk/gtkfilechooserdefault.c:1774 ../gtk/gtkfilechooserdefault.c:9422 +msgid "Recently Used" +msgstr "Ebyakabukkulibwa" + +#: ../gtk/gtkfilechooserdefault.c:2435 +msgid "Select which types of files are shown" +msgstr "Londa ebika bya fayiro ebiba birabika" + +#: ../gtk/gtkfilechooserdefault.c:2794 +#, c-format +msgid "Add the folder '%s' to the bookmarks" +msgstr "Tterekero'%s' likolerewo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:2838 +#, c-format +msgid "Add the current folder to the bookmarks" +msgstr "Tterekero lino likolerewo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:2840 +#, c-format +msgid "Add the selected folders to the bookmarks" +msgstr "Amaterekero agalondedwa gakolerewo obukwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:2878 +#, c-format +msgid "Remove the bookmark '%s'" +msgstr "Gyawo akakwatakifo '%s'" + +#: ../gtk/gtkfilechooserdefault.c:2880 +#, c-format +msgid "Bookmark '%s' cannot be removed" +msgstr "Tekisobose okugyawo akakwatakifo '%s'" + +#: ../gtk/gtkfilechooserdefault.c:2887 ../gtk/gtkfilechooserdefault.c:3755 +msgid "Remove the selected bookmark" +msgstr "Gyawo akakwatakifo akalondedwa" + +#: ../gtk/gtkfilechooserdefault.c:3450 +msgid "Remove" +msgstr "Gyawo" + +#: ../gtk/gtkfilechooserdefault.c:3459 +msgid "Rename..." +msgstr "Kyusa erinnya..." + +#. Accessible object name for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3622 +msgid "Places" +msgstr "Bifo" + +#. Column header for the file chooser's shortcuts pane +#: ../gtk/gtkfilechooserdefault.c:3679 +msgid "_Places" +msgstr "_Bifo" + +#: ../gtk/gtkfilechooserdefault.c:3736 +msgid "_Add" +msgstr "_Kolawo" + +#: ../gtk/gtkfilechooserdefault.c:3743 +msgid "Add the selected folder to the Bookmarks" +msgstr "Etterekero erirondedwa likolerewo akakwatakifo" + +#: ../gtk/gtkfilechooserdefault.c:3748 +msgid "_Remove" +msgstr "_Gyawo" + +#: ../gtk/gtkfilechooserdefault.c:3890 +msgid "Could not select file" +msgstr "Nnemedwa okulonda fayiro" + +#: ../gtk/gtkfilechooserdefault.c:4065 +msgid "_Add to Bookmarks" +msgstr "_Kwata ekifo kino" + +#: ../gtk/gtkfilechooserdefault.c:4078 +msgid "Show _Hidden Files" +msgstr "Laga fayiro en_kise" + +#: ../gtk/gtkfilechooserdefault.c:4085 +msgid "Show _Size Column" +msgstr "Teekawo olukumbo olulaga _bunene bwa fayiro" + +#: ../gtk/gtkfilechooserdefault.c:4311 +msgid "Files" +msgstr "Fayiro" + +#: ../gtk/gtkfilechooserdefault.c:4362 +msgid "Name" +msgstr "Linnya" + +#: ../gtk/gtkfilechooserdefault.c:4385 +msgid "Size" +msgstr "Bunene" + +#: ../gtk/gtkfilechooserdefault.c:4399 +msgid "Modified" +msgstr "Amakyusibwa" + +#. Label +#: ../gtk/gtkfilechooserdefault.c:4654 ../gtk/gtkprinteroptionwidget.c:793 +msgid "_Name:" +msgstr "_Linnya" + +#: ../gtk/gtkfilechooserdefault.c:4697 +msgid "_Browse for other folders" +msgstr "_Noonya amaterekero amalala" + +#: ../gtk/gtkfilechooserdefault.c:4967 +msgid "Type a file name" +msgstr "Wandikawo erinnya lya fayiro" + +#. Create Folder +#: ../gtk/gtkfilechooserdefault.c:5010 +msgid "Create Fo_lder" +msgstr "Kolawo e_tterekero" + +#: ../gtk/gtkfilechooserdefault.c:5020 +msgid "_Location:" +msgstr "_Obusangiro:" + +#: ../gtk/gtkfilechooserdefault.c:5224 +msgid "Save in _folder:" +msgstr "Teeka mu _tterekero:" + +#: ../gtk/gtkfilechooserdefault.c:5226 +msgid "Create in _folder:" +msgstr "Tondera mu _tterekero:" + +#: ../gtk/gtkfilechooserdefault.c:6294 +#, c-format +msgid "Could not read the contents of %s" +msgstr "Nnemedwa okusoma ebiri mu %s" + +#: ../gtk/gtkfilechooserdefault.c:6298 +msgid "Could not read the contents of the folder" +msgstr "Nnemedwa okutegeera ebiri mu tterekero" + +#: ../gtk/gtkfilechooserdefault.c:6391 ../gtk/gtkfilechooserdefault.c:6459 +#: ../gtk/gtkfilechooserdefault.c:6604 +msgid "Unknown" +msgstr "Embulakunyonyola" + +#: ../gtk/gtkfilechooserdefault.c:6406 +msgid "%H:%M" +msgstr "%H:%M" + +#: ../gtk/gtkfilechooserdefault.c:6408 +msgid "Yesterday at %H:%M" +msgstr "Eggulo ku %H:%M" + +#: ../gtk/gtkfilechooserdefault.c:7074 +msgid "Cannot change to folder because it is not local" +msgstr "" +"Nnemedwa okugenda mu tterekero kubanga teriri ku sisitemu ya fayiro eno" + +#: ../gtk/gtkfilechooserdefault.c:7671 ../gtk/gtkfilechooserdefault.c:7692 +#, c-format +msgid "Shortcut %s already exists" +msgstr "Enyunzi %s yabaawo dda" + +#: ../gtk/gtkfilechooserdefault.c:7782 +#, c-format +msgid "Shortcut %s does not exist" +msgstr "Enyunzi %s teriwo" + +#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:481 +#, c-format +msgid "A file named \"%s\" already exists. Do you want to replace it?" +msgstr "Fayiro \"%s\" yabaawo dda. Oyagala eyo esangidwawo eggyibwewo?" + +#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:485 +#, c-format +msgid "" +"The file already exists in \"%s\". Replacing it will overwrite its contents." +msgstr "" +"Fayiro yabaawo dda mu \"%s\". Bw'olonda ku gigyawo ebigirimu " +"bijjakusaanyizibwawo." + +#: ../gtk/gtkfilechooserdefault.c:8052 ../gtk/gtkprintunixdialog.c:492 +msgid "_Replace" +msgstr "_Esangidwawo eggyibwewo" + +#: ../gtk/gtkfilechooserdefault.c:8760 +msgid "Could not start the search process" +msgstr "Nnemdwa okutandika omulimu ogw'okunoonya" + +#: ../gtk/gtkfilechooserdefault.c:8761 +msgid "" +"The program was not able to create a connection to the indexer daemon. " +"Please make sure it is running." +msgstr "" +"Puloguramu eremedwa okukwatagana ne dayimoni ekola enkalala. Dayimoni eyo " +"eyinz'okuba nga tekola. Gezako okugitandika." + +#: ../gtk/gtkfilechooserdefault.c:8775 +msgid "Could not send the search request" +msgstr "Nnemedwa okusindika kiragiro kya kunoonya" + +#: ../gtk/gtkfilechooserdefault.c:8994 +msgid "Search:" +msgstr "Noonya:" + +#: ../gtk/gtkfilechooserdefault.c:9599 +#, c-format +msgid "Could not mount %s" +msgstr "Nnemedwa okuwabga %s" + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry, when the user enters an invalid path. +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 +msgid "Invalid path" +msgstr "Ekyo tekikola ng'ekkubo" + +#. translators: this text is shown when there are no completions +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1110 +msgid "No match" +msgstr "Ky'onoonyezesezza ebikwatagana nakyo bimbuze" + +#. translators: this text is shown when there is exactly one completion +#. * for something the user typed in a file chooser entry +#. +#: ../gtk/gtkfilechooserentry.c:1121 +msgid "Sole completion" +msgstr "Kino kyokka kye kikwataganye ne ky'onoonyezesezza" + +#. translators: this text is shown when the text in a file chooser +#. * entry is a complete filename, but could be continued to find +#. * a longer match +#. +#: ../gtk/gtkfilechooserentry.c:1137 +msgid "Complete, but not unique" +msgstr "" +"Ky'onoonyezesa kijjakubaako ne bye kiwatagana naye " +"b'wokyongerakokijjakusobola okubisunsulamu okusingawo" + +#. Translators: this text is shown while the system is searching +#. * for possible completions for filenames in a file chooser entry. +#: ../gtk/gtkfilechooserentry.c:1169 +msgid "Completing..." +msgstr "Nnoonya ebikwatagana..." + +#. hostnames in a local_only file chooser? user error +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user enters something like +#. * "sftp://blahblah" in an app that only supports local filenames. +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 +msgid "Only local files may be selected" +msgstr "Londa fayiro eziri ku sisitemu eya fayiro eno zokka" + +#. Another option is to complete the hostname based on the remote volumes that are mounted +#. Translators: this is shown in the feedback for Tab-completion in a +#. * file chooser's text entry when the user hasn't entered the first '/' +#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") +#: ../gtk/gtkfilechooserentry.c:1200 +msgid "Incomplete hostname; end it with '/'" +msgstr "Yongerako ka '/' ku linnya lya kompyuta enyunge" + +#. Translators: this is shown in the feedback for Tab-completion in a file +#. * chooser's text entry when the user enters a path that does not exist +#. * and then hits Tab +#: ../gtk/gtkfilechooserentry.c:1211 +msgid "Path does not exist" +msgstr "Ekkubo eryo teririiyo" + +#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are +#. * really pointers to GDrive, GVolume or GMount objects. We need an extra +#. * token for the fake "File System" volume. So, we'll return a pointer to +#. * this particular string. +#. +#: ../gtk/gtkfilesystem.c:48 +msgid "File System" +msgstr "Sisitemu ya fayiro" + +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 +msgid "Pick a Font" +msgstr "Londayo enkula y'ennukuta" + +#. Initialize fields +#: ../gtk/gtkfontbutton.c:260 +msgid "Sans 12" +msgstr "Sans 12" + +#: ../gtk/gtkfontbutton.c:785 +msgid "Font" +msgstr "Nkula y'ennukuta" + +#. This is the default text shown in the preview entry, though the user +#. can set it. Remember that some fonts only have capital letters. +#: ../gtk/gtkfontsel.c:100 +msgid "abcdefghijk ABCDEFGHIJK" +msgstr "abcdefghijkŋ ABCDEFGHIJKŊ" + +#: ../gtk/gtkfontsel.c:367 +msgid "_Family:" +msgstr "_Lulyo:" + +#: ../gtk/gtkfontsel.c:373 +msgid "_Style:" +msgstr "_Musono:" + +#: ../gtk/gtkfontsel.c:379 +msgid "Si_ze:" +msgstr "Bu_nene:" + +#. create the text entry widget +#: ../gtk/gtkfontsel.c:555 +msgid "_Preview:" +msgstr "Ku_lagako:" + +#: ../gtk/gtkfontsel.c:1655 +msgid "Font Selection" +msgstr "Kutegeka nkula y'ennukuta" + +#. Remove this icon source so we don't keep trying to +#. * load it. +#. +#: ../gtk/gtkiconfactory.c:1358 +#, c-format +msgid "Error loading icon: %s" +msgstr "Wazzewo kiremya mu kuteekawo akafaananyi: %s" + +#: ../gtk/gtkicontheme.c:1351 +#, c-format +msgid "" +"Could not find the icon '%s'. The '%s' theme\n" +"was not found either, perhaps you need to install it.\n" +"You can get a copy from:\n" +"\t%s" +msgstr "" +"Akafaananyi '%s' kambuze. Olulyo '%s'\n" +"nalwo lumbuze. Oba teruliiko ku sisitemu?\n" +"Osobola okulufunira wano:\n" +"\t%s" + +#: ../gtk/gtkicontheme.c:1532 +#, c-format +msgid "Icon '%s' not present in theme" +msgstr "Olulyo terurinaamu akafaananyi '%s'" + +#: ../gtk/gtkicontheme.c:3053 +msgid "Failed to load icon" +msgstr "Akafaananyi kannemye okusawo" + +#: ../gtk/gtkimmodule.c:526 +msgid "Simple" +msgstr "Eyajja ne sisitemu" + +#: ../gtk/gtkimmulticontext.c:588 +msgctxt "input method menu" +msgid "System" +msgstr "Eyajja ne sisitemu" + +#: ../gtk/gtkimmulticontext.c:598 +msgctxt "input method menu" +msgid "None" +msgstr "Tewali" + +#: ../gtk/gtkimmulticontext.c:681 +#, c-format +msgctxt "input method menu" +msgid "System (%s)" +msgstr "Eya sisitemu (%s)" + +#. Open Link +#: ../gtk/gtklabel.c:6250 +msgid "_Open Link" +msgstr "_Bikkula nyunzi" + +#. Copy Link Address +#: ../gtk/gtklabel.c:6262 +msgid "Copy _Link Address" +msgstr "Kwata e_ndagiriro enyunzi kw'egguka" + +#: ../gtk/gtklinkbutton.c:482 +msgid "Copy URL" +msgstr "Kwata koppi ya URL" + +#: ../gtk/gtklinkbutton.c:645 +msgid "Invalid URI" +msgstr "URI eyo tekola" + +#. Description of --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:563 +msgid "Load additional GTK+ modules" +msgstr "Kano kalaga obusobozi obw'enyongeza obwa GTK+ obuba buwangibwa" + +#. Placeholder in --gtk-module=MODULES in --help output +#: ../gtk/gtkmain.c:564 +msgid "MODULES" +msgstr "OBUSOBOZI" + +#. Description of --g-fatal-warnings in --help output +#: ../gtk/gtkmain.c:566 +msgid "Make all warnings fatal" +msgstr "Buli lwe wabawo okulabula, kireetere omulimu okumala" + +#. Description of --gtk-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:569 +msgid "GTK+ debugging flags to set" +msgstr "Kano kategeka obutuuti obwa GTK+ obunaakozesebwa mu kunoonya nsobi" + +#. Description of --gtk-no-debug=FLAGS in --help output +#: ../gtk/gtkmain.c:572 +msgid "GTK+ debugging flags to unset" +msgstr "" +"Kano kalaga obutuuti obwa GTK+ obukozesebwa mu kunoonya nsobi " +"obunaategekululwa" + +#. Translate to default:RTL if you want your widgets +#. * to be RTL, otherwise translate to default:LTR. +#. * Do *not* translate it to "predefinito:LTR", if it +#. * it isn't default:LTR or default:RTL it will not work +#. +#: ../gtk/gtkmain.c:835 +msgid "default:LTR" +msgstr "default:LTR" + +#: ../gtk/gtkmain.c:899 +#, c-format +msgid "Cannot open display: %s" +msgstr "Nnemedwa okutandika omulimu gwa X: %s" + +#: ../gtk/gtkmain.c:965 +msgid "GTK+ Options" +msgstr "Obuwayiro obwa GTK+" + +#: ../gtk/gtkmain.c:965 +msgid "Show GTK+ Options" +msgstr "Laga obuwayiro obusobola okwongerwa ku GTK+" + +#: ../gtk/gtkmountoperation.c:491 +msgid "Co_nnect" +msgstr "We_yungeko" + +#: ../gtk/gtkmountoperation.c:558 +msgid "Connect _anonymously" +msgstr "Weyungeko ki_teyanjula" + +#: ../gtk/gtkmountoperation.c:567 +msgid "Connect as u_ser:" +msgstr "Weyungeko ng'okozesa erinnya:" + +#: ../gtk/gtkmountoperation.c:605 +msgid "_Username:" +msgstr "_Linnya lya mukozesa:" + +#: ../gtk/gtkmountoperation.c:610 +msgid "_Domain:" +msgstr "_Twale:" + +#: ../gtk/gtkmountoperation.c:616 +msgid "_Password:" +msgstr "_Kyama:" + +#: ../gtk/gtkmountoperation.c:634 +msgid "Forget password _immediately" +msgstr "Olumala kukozesa ekyama, k_isangule mu ggwanika" + +#: ../gtk/gtkmountoperation.c:644 +msgid "Remember password until you _logout" +msgstr "Ekyama kisangule mu ggwanika nga nkomyeza o_lutuula" + +#: ../gtk/gtkmountoperation.c:654 +msgid "Remember _forever" +msgstr "Terekera ddala _ekyama" + +#: ../gtk/gtkmountoperation.c:883 +#, c-format +msgid "Unknown Application (PID %d)" +msgstr "Puloguramu eriko PID %d tetegeerese" + +#: ../gtk/gtkmountoperation.c:1066 +msgid "Unable to end process" +msgstr "Nnemedwa okukomya omulimu" + +#: ../gtk/gtkmountoperation.c:1103 +msgid "_End Process" +msgstr "K_omya omulimu" + +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format +msgid "Cannot kill process with PID %d. Operation is not implemented." +msgstr "" +"Sisobola okumazisa mbagirawo omulimu oguliko PID %d. Omukolo ogwo teguliiko " +"ku sisitemu." + +#. translators: this string is a name for the 'less' command +#: ../gtk/gtkmountoperation-x11.c:862 +msgid "Terminal Pager" +msgstr "Puloguramu ey'okusomer'ebintu mu kiwandikiro" + +#: ../gtk/gtkmountoperation-x11.c:863 +msgid "Top Command" +msgstr "Ekiragiro ekitandika Top" + +#: ../gtk/gtkmountoperation-x11.c:864 +msgid "Bourne Again Shell" +msgstr "Enzivvuunuzi eya Bourne Again" + +#: ../gtk/gtkmountoperation-x11.c:865 +msgid "Bourne Shell" +msgstr "Enzivvuunuzi eya Bourne" + +#: ../gtk/gtkmountoperation-x11.c:866 +msgid "Z Shell" +msgstr "Enzivvuunuzi ya Z" + +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format +msgid "Cannot end process with PID %d: %s" +msgstr "Nnemedwa okukomya omulimu ogwa PID %d: %s" + +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 +#, c-format +msgid "Page %u" +msgstr "Lupapula %u" + +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 +msgid "Not a valid page setup file" +msgstr "Eyo tekola nga fayiro eteekateeka lupapula" + +#: ../gtk/gtkpagesetupunixdialog.c:179 +msgid "Any Printer" +msgstr "Pulinta yonna" + +#: ../gtk/gtkpagesetupunixdialog.c:179 +msgid "For portable documents" +msgstr "Fayiro ezikolera ku sisitemu ezitafaanagana" + +#: ../gtk/gtkpagesetupunixdialog.c:809 +#, c-format +msgid "" +"Margins:\n" +" Left: %s %s\n" +" Right: %s %s\n" +" Top: %s %s\n" +" Bottom: %s %s" +msgstr "" +"Emyagaanya:\n" +" Ogwa kkono: %s %s\n" +" Ogwa ddyo: %s %s\n" +" Ogwa waggulu: %s %s\n" +" Ogwa wansi: %s %s" + +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 +msgid "Manage Custom Sizes..." +msgstr "Teekateeka ebigero byeweyiyizza..." + +#: ../gtk/gtkpagesetupunixdialog.c:909 +msgid "_Format for:" +msgstr "_Enteekateeka ya:" + +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 +msgid "_Paper size:" +msgstr "Ki_gero kya lupapula:" + +#: ../gtk/gtkpagesetupunixdialog.c:962 +msgid "_Orientation:" +msgstr "En_simba ya lupapula:" + +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 +msgid "Page Setup" +msgstr "Entegeka ya lupapula" + +#: ../gtk/gtkpathbar.c:157 +msgid "Up Path" +msgstr "Mabega" + +#: ../gtk/gtkpathbar.c:159 +msgid "Down Path" +msgstr "Mu maaso" + +#: ../gtk/gtkpathbar.c:1519 +msgid "File System Root" +msgstr "Musingi gwa sisitemu ya fayiro" + +#: ../gtk/gtkprintbackend.c:749 +msgid "Authentication" +msgstr "Enkakasa" + +#: ../gtk/gtkprinteroptionwidget.c:686 +msgid "Not available" +msgstr "Bbule" + +#: ../gtk/gtkprinteroptionwidget.c:786 +msgid "Select a folder" +msgstr "Londayo tterekero" + +#: ../gtk/gtkprinteroptionwidget.c:805 +msgid "_Save in folder:" +msgstr "_Kaliza mu tterekero:" + +#. translators: this string is the default job title for print +#. * jobs. %s gets replaced by the application name, %d gets replaced +#. * by the job number. +#. +#: ../gtk/gtkprintoperation.c:193 +#, c-format +msgid "%s job #%d" +msgstr "Omulimu gwa %s #%d" + +#: ../gtk/gtkprintoperation.c:1698 +msgctxt "print operation status" +msgid "Initial state" +msgstr "Embeera etandikidwako" + +#: ../gtk/gtkprintoperation.c:1699 +msgctxt "print operation status" +msgid "Preparing to print" +msgstr "Yetegekera okukubisa" + +#: ../gtk/gtkprintoperation.c:1700 +msgctxt "print operation status" +msgid "Generating data" +msgstr "Eteekateeka ebinaakubisibwa" + +#: ../gtk/gtkprintoperation.c:1701 +msgctxt "print operation status" +msgid "Sending data" +msgstr "Ebinaakubibwa bigenda mu kyuma" + +#: ../gtk/gtkprintoperation.c:1702 +msgctxt "print operation status" +msgid "Waiting" +msgstr "Erinda mirimu" + +#: ../gtk/gtkprintoperation.c:1703 +msgctxt "print operation status" +msgid "Blocking on issue" +msgstr "" + +#: ../gtk/gtkprintoperation.c:1704 +msgctxt "print operation status" +msgid "Printing" +msgstr "Ekubisa" + +#: ../gtk/gtkprintoperation.c:1705 +msgctxt "print operation status" +msgid "Finished" +msgstr "Guwedde" + +#: ../gtk/gtkprintoperation.c:1706 +msgctxt "print operation status" +msgid "Finished with error" +msgstr "Gudweredde ku kiremya" + +#: ../gtk/gtkprintoperation.c:2273 +#, c-format +msgid "Preparing %d" +msgstr "Ntegeka %d" + +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 +msgid "Preparing" +msgstr "Ntegeka" + +#: ../gtk/gtkprintoperation.c:2278 +#, c-format +msgid "Printing %d" +msgstr "Nkubisa %d" + +#: ../gtk/gtkprintoperation.c:2935 +msgid "Error creating print preview" +msgstr "Wazzewo kiremya mu kukulagako ebinaakubisibwa" + +#: ../gtk/gtkprintoperation.c:2938 +msgid "The most probable reason is that a temporary file could not be created." +msgstr "" +"Ebiseera ebisinga, kino kijja olw'okuba tekisibose okukolawo fayiro " +"eye'kiseerabuseera." + +#: ../gtk/gtkprintoperation-unix.c:304 +msgid "Error launching preview" +msgstr "Wazzewo kiremya mu kutandika ogw'okukulagako ebinaakubisibwa" + +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 +msgid "Application" +msgstr "Puloguramu" + +#: ../gtk/gtkprintoperation-win32.c:611 +msgid "Printer offline" +msgstr "Omukutu gwa pulinta ssi muggule" + +#: ../gtk/gtkprintoperation-win32.c:613 +msgid "Out of paper" +msgstr "Empapula ziweddewo" + +#. Translators: this is a printer status. +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 +msgid "Paused" +msgstr "Guyimirizidwamu" + +#: ../gtk/gtkprintoperation-win32.c:617 +msgid "Need user intervention" +msgstr "Kyetaagisa byambi bwa mukozesa" + +#: ../gtk/gtkprintoperation-win32.c:717 +msgid "Custom size" +msgstr "Kigero ekyeyiyize" + +#: ../gtk/gtkprintoperation-win32.c:1539 +msgid "No printer found" +msgstr "Mbulidwa pulinta" + +#: ../gtk/gtkprintoperation-win32.c:1566 +msgid "Invalid argument to CreateDC" +msgstr "CreateDC efunye agumenti etakola" + +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 +msgid "Error from StartDoc" +msgstr "StartDoc efunye kiremya" + +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 +msgid "Not enough free memory" +msgstr "Ebbanga erisigadde mu ggwanika terimala" + +#: ../gtk/gtkprintoperation-win32.c:1760 +msgid "Invalid argument to PrintDlgEx" +msgstr "PrintDlogEx efunye agumenti etakola" + +#: ../gtk/gtkprintoperation-win32.c:1765 +msgid "Invalid pointer to PrintDlgEx" +msgstr "Akasonga ku PrintDlgEx kasobu" + +#: ../gtk/gtkprintoperation-win32.c:1770 +msgid "Invalid handle to PrintDlgEx" +msgstr "Data enyanjuzi eya PrintDlgEx nsobu" + +#: ../gtk/gtkprintoperation-win32.c:1775 +msgid "Unspecified error" +msgstr "Wazzewo kiremya etanyonyodwa" + +#: ../gtk/gtkprintunixdialog.c:619 +msgid "Getting printer information failed" +msgstr "Okufuna ebifa ku pulinta kulemye" + +#: ../gtk/gtkprintunixdialog.c:1874 +msgid "Getting printer information..." +msgstr "Nnona ebikwata ku pulinta..." + +#: ../gtk/gtkprintunixdialog.c:2141 +msgid "Printer" +msgstr "Pulinta" + +#. Translators: this is the header for the location column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2151 +msgid "Location" +msgstr "Obusangiro" + +#. Translators: this is the header for the printer status column in the print dialog +#: ../gtk/gtkprintunixdialog.c:2162 +msgid "Status" +msgstr "Embeera" + +#: ../gtk/gtkprintunixdialog.c:2188 +msgid "Range" +msgstr "Lubu" + +#: ../gtk/gtkprintunixdialog.c:2192 +msgid "_All Pages" +msgstr "Mpapula _zonna" + +#: ../gtk/gtkprintunixdialog.c:2199 +msgid "C_urrent Page" +msgstr "Lupapula _Luno" + +#: ../gtk/gtkprintunixdialog.c:2209 +msgid "Se_lection" +msgstr "Ebi_rondedwa" + +#: ../gtk/gtkprintunixdialog.c:2218 +msgid "Pag_es:" +msgstr "Mpapula:" + +#: ../gtk/gtkprintunixdialog.c:2219 +msgid "" +"Specify one or more page ranges,\n" +" e.g. 1-3,7,11" +msgstr "" +"Wandika olubu oba mbu za mpapula,\n" +" okugeza: 1-3 oba 3,7,11" + +#: ../gtk/gtkprintunixdialog.c:2229 +msgid "Pages" +msgstr "Mpapula" + +#: ../gtk/gtkprintunixdialog.c:2242 +msgid "Copies" +msgstr "Koppi" + +#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns +#: ../gtk/gtkprintunixdialog.c:2247 +msgid "Copie_s:" +msgstr "_Koppi:" + +#: ../gtk/gtkprintunixdialog.c:2265 +msgid "C_ollate" +msgstr "Bi_sengeke" + +#: ../gtk/gtkprintunixdialog.c:2273 +msgid "_Reverse" +msgstr "_Vuunika ngobereragana y'empapula" + +#: ../gtk/gtkprintunixdialog.c:2293 +msgid "General" +msgstr "Bitalibimu" + +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) +#. +#. Translators: These strings name the possible arrangements of +#. * multiple pages on a sheet when printing +#. +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 +msgid "Left to right, top to bottom" +msgstr "Tandikira waggulu okke nga ova ku kkono odda ku ddyo" + +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 +msgid "Left to right, bottom to top" +msgstr "Tandikira wansi oyambuke nga ova ku kkono odda ku ddyo" + +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 +msgid "Right to left, top to bottom" +msgstr "Tandikira waggulu okke nga ova ku ddyo odda ku kkono" + +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 +msgid "Right to left, bottom to top" +msgstr "Tandikira wansi oyambuke nga ova ku ddyo odda ku kkono" + +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 +msgid "Top to bottom, left to right" +msgstr "Tandikira ku kkono osenserere ku ddyo nga ova waggulu odda wansi" + +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 +msgid "Top to bottom, right to left" +msgstr "Tandikira ku ddyo osenserere ku kkono nga ova waggulu odda wasni" + +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 +msgid "Bottom to top, left to right" +msgstr "Tandikira ku kkono osenserere ku ddyo nga ova wansi odda waggulu" + +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 +msgid "Bottom to top, right to left" +msgstr "Tandikira ku ddyo osenserere ku kkono nga ova wansi odda waggulu" + +#. Translators, this string is used to label the option in the print +#. * dialog that controls in what order multiple pages are arranged +#. +#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 +msgid "Page Ordering" +msgstr "Ensengeka y'empapula" + +#: ../gtk/gtkprintunixdialog.c:3062 +msgid "Left to right" +msgstr "Zitandikire ku kkono" + +#: ../gtk/gtkprintunixdialog.c:3063 +msgid "Right to left" +msgstr "Zitandikire ku ddyo" + +#: ../gtk/gtkprintunixdialog.c:3075 +msgid "Top to bottom" +msgstr "Zive waggulu zikke" + +#: ../gtk/gtkprintunixdialog.c:3076 +msgid "Bottom to top" +msgstr "Zive wansi z'ambuka" + +#: ../gtk/gtkprintunixdialog.c:3316 +msgid "Layout" +msgstr "Entegeka" + +#: ../gtk/gtkprintunixdialog.c:3320 +msgid "T_wo-sided:" +msgstr "Mpandikeko kungulu n'emabega:" + +#: ../gtk/gtkprintunixdialog.c:3335 +msgid "Pages per _side:" +msgstr "Bya mpapula meka ku buli ludda:" + +#: ../gtk/gtkprintunixdialog.c:3352 +msgid "Page or_dering:" +msgstr "Nsengeka ya mpapula z'ekikubisibwa:" + +#: ../gtk/gtkprintunixdialog.c:3368 +msgid "_Only print:" +msgstr "K_ubisako:" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3383 +msgid "All sheets" +msgstr "mpapula zonna" + +#: ../gtk/gtkprintunixdialog.c:3384 +msgid "Even sheets" +msgstr "mpapula eza namba ezigabizikamu bbiri" + +#: ../gtk/gtkprintunixdialog.c:3385 +msgid "Odd sheets" +msgstr "mpapula eza namba ezitagabizikamu bbiri" + +#: ../gtk/gtkprintunixdialog.c:3388 +msgid "Sc_ale:" +msgstr "Ki_gero:" + +#: ../gtk/gtkprintunixdialog.c:3415 +msgid "Paper" +msgstr "Mpapula" + +#: ../gtk/gtkprintunixdialog.c:3419 +msgid "Paper _type:" +msgstr "K_ika ku mpapula" + +#: ../gtk/gtkprintunixdialog.c:3434 +msgid "Paper _source:" +msgstr "Nnono _y'empapula:" + +#: ../gtk/gtkprintunixdialog.c:3449 +msgid "Output t_ray:" +msgstr "Ebiwedde gye bi_raga" + +#: ../gtk/gtkprintunixdialog.c:3489 +msgid "Or_ientation:" +msgstr "Ensi_mba" + +#. In enum order +#: ../gtk/gtkprintunixdialog.c:3504 +msgid "Portrait" +msgstr "Busimbalaala" + +#: ../gtk/gtkprintunixdialog.c:3505 +msgid "Landscape" +msgstr "Bugazi" + +#: ../gtk/gtkprintunixdialog.c:3506 +msgid "Reverse portrait" +msgstr "Busimbalaala nga ebikubisidwa bivuunikidwa mu busimba" + +#: ../gtk/gtkprintunixdialog.c:3507 +msgid "Reverse landscape" +msgstr "Bugazi nga ebikubisidwa bivuunukdwa mu bugazi" + +#: ../gtk/gtkprintunixdialog.c:3552 +msgid "Job Details" +msgstr "Ebikwata ku mulimu" + +#: ../gtk/gtkprintunixdialog.c:3558 +msgid "Pri_ority:" +msgstr "Obusengeke bw'omulimu:" + +#: ../gtk/gtkprintunixdialog.c:3573 +msgid "_Billing info:" +msgstr "Eby'oku_banja:" + +#: ../gtk/gtkprintunixdialog.c:3591 +msgid "Print Document" +msgstr "Kubisa kiwandiko" + +#. Translators: this is one of the choices for the print at option +#. * in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3600 +msgid "_Now" +msgstr "Kaka_ti" + +#: ../gtk/gtkprintunixdialog.c:3611 +msgid "A_t:" +msgstr "Ku _saawa:" + +#. Translators: Ability to parse the am/pm format depends on actual locale. +#. * You can remove the am/pm values below for your locale if they are not +#. * supported. +#. +#: ../gtk/gtkprintunixdialog.c:3617 +msgid "" +"Specify the time of print,\n" +" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" +msgstr "" +"Wandikawo obudde omulimu kwe guba gukolebwa,\n" +" okugeza nga 15:30, 2:35 pm, 14:15:20, 11:46:30 am oba 4 pm" + +#: ../gtk/gtkprintunixdialog.c:3627 +msgid "Time of print" +msgstr "Essaawa ez'okutandika" + +#: ../gtk/gtkprintunixdialog.c:3643 +msgid "On _hold" +msgstr "Gu_sibidwa" + +#: ../gtk/gtkprintunixdialog.c:3644 +msgid "Hold the job until it is explicitly released" +msgstr "Omulimu gusibe okutuuse lwe wabawo agulagira okuteebwa" + +#: ../gtk/gtkprintunixdialog.c:3664 +msgid "Add Cover Page" +msgstr "Teekawo olupapula olusabika" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3673 +msgid "Be_fore:" +msgstr "Nga lu_tandika ez'omu kiti kya:" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../gtk/gtkprintunixdialog.c:3691 +msgid "_After:" +msgstr "Nga lu_fundikira ez'omu kiti kya:" + +#. Translators: this is the tab label for the notebook tab containing +#. * job-specific options in the print dialog +#. +#: ../gtk/gtkprintunixdialog.c:3709 +msgid "Job" +msgstr "Eby'omulimu" + +#: ../gtk/gtkprintunixdialog.c:3775 +msgid "Advanced" +msgstr "Ebyetaagisa bumanyirivu" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3813 +msgid "Image Quality" +msgstr "Obulongoofu bw'ekifaananyi" + +#. Translators: this will appear as tab label in print dialog. +#: ../gtk/gtkprintunixdialog.c:3817 +msgid "Color" +msgstr "Langi" + +#. Translators: this will appear as tab label in print dialog. +#. It's a typographical term, as in "Binding and finishing" +#: ../gtk/gtkprintunixdialog.c:3822 +msgid "Finishing" +msgstr "Emmaliriza" + +#: ../gtk/gtkprintunixdialog.c:3832 +msgid "Some of the settings in the dialog conflict" +msgstr "Ebimu ku by'oteekateese bikontana" + +#: ../gtk/gtkprintunixdialog.c:3855 +msgid "Print" +msgstr "Kubisa" + +#: ../gtk/gtkrc.c:946 +#, c-format +msgid "Unable to locate image file in pixmap_path: \"%s\"" +msgstr "Fayiro erimu ekifaananyi, mu pixmap_path embuze: \"%s\"" + +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 +#, c-format +msgid "This function is not implemented for widgets of class '%s'" +msgstr "Obutundu bwa'awakolerwa obw'omu kiti kya '%s' tebuliimu omukolo guno" + +#: ../gtk/gtkrecentchooserdefault.c:483 +msgid "Select which type of documents are shown" +msgstr "Londa ekika ky'ebiwandike ekiba kirabika" + +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 +#, c-format +msgid "No item for URI '%s' found" +msgstr "Tewali kizuulidwa ekirina URI ya '%s'" + +#: ../gtk/gtkrecentchooserdefault.c:1301 +msgid "Untitled filter" +msgstr "Ensunsula etalina linnya" + +#: ../gtk/gtkrecentchooserdefault.c:1654 +msgid "Could not remove item" +msgstr "Nnemedwa okugyako ekirondedwa" + +#: ../gtk/gtkrecentchooserdefault.c:1698 +msgid "Could not clear list" +msgstr "Nnemedwa okugigya ku lukalala" + +#: ../gtk/gtkrecentchooserdefault.c:1782 +msgid "Copy _Location" +msgstr "Ko_la koppi mu kisangibwa wano" + +#: ../gtk/gtkrecentchooserdefault.c:1795 +msgid "_Remove From List" +msgstr "_Giggye ku lukalala" + +#: ../gtk/gtkrecentchooserdefault.c:1804 +msgid "_Clear List" +msgstr "_Gyawo olukalala" + +#: ../gtk/gtkrecentchooserdefault.c:1818 +msgid "Show _Private Resources" +msgstr "" + +#. we create a placeholder menuitem, to be used in case +#. * the menu is empty. this placeholder will stay around +#. * for the entire lifetime of the menu, and we just hide it +#. * when it's not used. we have to do this, and do it here, +#. * because we need a marker for the beginning of the recent +#. * items list, so that we can insert the new items at the +#. * right place when idly populating the menu in case the +#. * user appended or prepended custom menu items to the +#. * recent chooser menu widget. +#. +#: ../gtk/gtkrecentchoosermenu.c:362 +msgid "No items found" +msgstr "Tewali byakakozesebwa" + +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 +#, c-format +msgid "No recently used resource found with URI `%s'" +msgstr "Tewali byakakozesebwa ebirina URI eya `%s'" + +#: ../gtk/gtkrecentchoosermenu.c:795 +#, c-format +msgid "Open '%s'" +msgstr "Bikkula '%s'" + +#: ../gtk/gtkrecentchoosermenu.c:825 +msgid "Unknown item" +msgstr "Embulakunyonyola" + +#. This is the label format that is used for the first 10 items +#. * in a recent files menu. The %d is the number of the item, +#. * the %s is the name of the item. Please keep the _ in front +#. * of the number to give these menu items a mnemonic. +#. +#: ../gtk/gtkrecentchoosermenu.c:836 +#, c-format +msgctxt "recent menu label" +msgid "_%d. %s" +msgstr "_%d. %s" + +#. This is the format that is used for items in a recent files menu. +#. * The %d is the number of the item, the %s is the name of the item. +#. +#: ../gtk/gtkrecentchoosermenu.c:841 +#, c-format +msgctxt "recent menu label" +msgid "%d. %s" +msgstr "%d. %s" + +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 +#, c-format +msgid "Unable to find an item with URI '%s'" +msgstr "Nnemedwa okuzuulayo ekirina URI ya '%s'" + +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" + +#: ../gtk/gtkspinner.c:326 +msgctxt "throbbing progress animation widget" +msgid "Spinner" +msgstr "Ak'etoolola" + +#: ../gtk/gtkspinner.c:327 +msgid "Provides visual indication of progress" +msgstr "Kalaga nti omulimu gutambula" + +#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate +#: ../gtk/gtkstock.c:313 +msgctxt "Stock label" +msgid "Information" +msgstr "Okumanyisa" + +#: ../gtk/gtkstock.c:314 +msgctxt "Stock label" +msgid "Warning" +msgstr "Kulabula" + +#: ../gtk/gtkstock.c:315 +msgctxt "Stock label" +msgid "Error" +msgstr "Kiremya" + +#: ../gtk/gtkstock.c:316 +msgctxt "Stock label" +msgid "Question" +msgstr "Kibuuzo" + +#. FIXME these need accelerators when appropriate, and +#. * need the mnemonics to be rationalized +#. +#: ../gtk/gtkstock.c:321 +msgctxt "Stock label" +msgid "_About" +msgstr "K_wanjula" + +#: ../gtk/gtkstock.c:322 +msgctxt "Stock label" +msgid "_Add" +msgstr "_Yongerako" + +#: ../gtk/gtkstock.c:323 +msgctxt "Stock label" +msgid "_Apply" +msgstr "_Kaza" + +#: ../gtk/gtkstock.c:324 +msgctxt "Stock label" +msgid "_Bold" +msgstr "_Nziggumivu" + +#: ../gtk/gtkstock.c:325 +msgctxt "Stock label" +msgid "_Cancel" +msgstr "_Sazamu" + +#: ../gtk/gtkstock.c:326 +msgctxt "Stock label" +msgid "_CD-ROM" +msgstr "_CDROMU" + +#: ../gtk/gtkstock.c:327 +msgctxt "Stock label" +msgid "_Clear" +msgstr "S_iimula" + +#: ../gtk/gtkstock.c:328 +msgctxt "Stock label" +msgid "_Close" +msgstr "_Gala" + +#: ../gtk/gtkstock.c:329 +msgctxt "Stock label" +msgid "C_onnect" +msgstr "We_yungeko" + +#: ../gtk/gtkstock.c:330 +msgctxt "Stock label" +msgid "_Convert" +msgstr "_Fuula" + +#: ../gtk/gtkstock.c:331 +msgctxt "Stock label" +msgid "_Copy" +msgstr "_Koppa" + +#: ../gtk/gtkstock.c:332 +msgctxt "Stock label" +msgid "Cu_t" +msgstr "Si_tulawo" + +#: ../gtk/gtkstock.c:333 +msgctxt "Stock label" +msgid "_Delete" +msgstr "_Gyawo" + +#: ../gtk/gtkstock.c:334 +msgctxt "Stock label" +msgid "_Discard" +msgstr "L_eka" + +#: ../gtk/gtkstock.c:335 +msgctxt "Stock label" +msgid "_Disconnect" +msgstr "We_kutuleko" + +#: ../gtk/gtkstock.c:336 +msgctxt "Stock label" +msgid "_Execute" +msgstr "_Tandika" + +#: ../gtk/gtkstock.c:337 +msgctxt "Stock label" +msgid "_Edit" +msgstr "_Kyusa" + +#: ../gtk/gtkstock.c:338 +msgctxt "Stock label" +msgid "_File" +msgstr "_Fayiro" + +#: ../gtk/gtkstock.c:339 +msgctxt "Stock label" +msgid "_Find" +msgstr "_Zuula" + +#: ../gtk/gtkstock.c:340 +msgctxt "Stock label" +msgid "Find and _Replace" +msgstr "Zuula ozze_wo ekirala" + +#: ../gtk/gtkstock.c:341 +msgctxt "Stock label" +msgid "_Floppy" +msgstr "_Fuloppi" + +#: ../gtk/gtkstock.c:342 +msgctxt "Stock label" +msgid "_Fullscreen" +msgstr "_Malayo olutimbe" + +#: ../gtk/gtkstock.c:343 +msgctxt "Stock label" +msgid "_Leave Fullscreen" +msgstr "_Ta olutimbe" + +#. This is a navigation label as in "go to the bottom of the page" +#: ../gtk/gtkstock.c:345 +msgctxt "Stock label, navigation" +msgid "_Bottom" +msgstr "Ku _ntobo" + +#. This is a navigation label as in "go to the first page" +#: ../gtk/gtkstock.c:347 +msgctxt "Stock label, navigation" +msgid "_First" +msgstr "Awa_sooka" + +#. This is a navigation label as in "go to the last page" +#: ../gtk/gtkstock.c:349 +msgctxt "Stock label, navigation" +msgid "_Last" +msgstr "Awas_emba" + +#. This is a navigation label as in "go to the top of the page" +#: ../gtk/gtkstock.c:351 +msgctxt "Stock label, navigation" +msgid "_Top" +msgstr "Ku nt_andikwa" + +#. This is a navigation label as in "go back" +#: ../gtk/gtkstock.c:353 +msgctxt "Stock label, navigation" +msgid "_Back" +msgstr "_Mabega" + +#. This is a navigation label as in "go down" +#: ../gtk/gtkstock.c:355 +msgctxt "Stock label, navigation" +msgid "_Down" +msgstr "_Serengesa" + +#. This is a navigation label as in "go forward" +#: ../gtk/gtkstock.c:357 +msgctxt "Stock label, navigation" +msgid "_Forward" +msgstr "_Maaso" + +#. This is a navigation label as in "go up" +#: ../gtk/gtkstock.c:359 +msgctxt "Stock label, navigation" +msgid "_Up" +msgstr "_Yambusa" + +#: ../gtk/gtkstock.c:360 +msgctxt "Stock label" +msgid "_Hard Disk" +msgstr "_Disiki ya munda" + +#: ../gtk/gtkstock.c:361 +msgctxt "Stock label" +msgid "_Help" +msgstr "_Nymaba" + +#: ../gtk/gtkstock.c:362 +msgctxt "Stock label" +msgid "_Home" +msgstr "_Kka" + +#: ../gtk/gtkstock.c:363 +msgctxt "Stock label" +msgid "Increase Indent" +msgstr "Yongera ebbanga erikulembera entandikwa y'olunyiriri" + +#: ../gtk/gtkstock.c:364 +msgctxt "Stock label" +msgid "Decrease Indent" +msgstr "Kendeeza ebbanga erikulembera entandikwa y'olunyiriri" + +#: ../gtk/gtkstock.c:365 +msgctxt "Stock label" +msgid "_Index" +msgstr "N_dagiriro" + +#: ../gtk/gtkstock.c:366 +msgctxt "Stock label" +msgid "_Information" +msgstr "Oku_manyisa" + +#: ../gtk/gtkstock.c:367 +msgctxt "Stock label" +msgid "_Italic" +msgstr "N_surike" + +#: ../gtk/gtkstock.c:368 +msgctxt "Stock label" +msgid "_Jump to" +msgstr "_Buukira" + +#. This is about text justification, "centered text" +#: ../gtk/gtkstock.c:370 +msgctxt "Stock label" +msgid "_Center" +msgstr "Mu ma_kkati" + +#. This is about text justification +#: ../gtk/gtkstock.c:372 +msgctxt "Stock label" +msgid "_Fill" +msgstr "_Jjuzawo" + +#. This is about text justification, "left-justified text" +#: ../gtk/gtkstock.c:374 +msgctxt "Stock label" +msgid "_Left" +msgstr "_Kkono" + +#. This is about text justification, "right-justified text" +#: ../gtk/gtkstock.c:376 +msgctxt "Stock label" +msgid "_Right" +msgstr "_Ddyo" + +#. Media label, as in "fast forward" +#: ../gtk/gtkstock.c:379 +msgctxt "Stock label, media" +msgid "_Forward" +msgstr "Weyongere mu m_aaso" + +#. Media label, as in "next song" +#: ../gtk/gtkstock.c:381 +msgctxt "Stock label, media" +msgid "_Next" +msgstr "_Weyongereyo" + +#. Media label, as in "pause music" +#: ../gtk/gtkstock.c:383 +msgctxt "Stock label, media" +msgid "P_ause" +msgstr "_Yimirizamu" + +#. Media label, as in "play music" +#: ../gtk/gtkstock.c:385 +msgctxt "Stock label, media" +msgid "_Play" +msgstr "_Tandika" + +#. Media label, as in "previous song" +#: ../gtk/gtkstock.c:387 +msgctxt "Stock label, media" +msgid "Pre_vious" +msgstr "_Ddayo" + +#. Media label +#: ../gtk/gtkstock.c:389 +msgctxt "Stock label, media" +msgid "_Record" +msgstr "_Kwata" + +#. Media label +#: ../gtk/gtkstock.c:391 +msgctxt "Stock label, media" +msgid "R_ewind" +msgstr "Dda ma_bega" + +#. Media label +#: ../gtk/gtkstock.c:393 +msgctxt "Stock label, media" +msgid "_Stop" +msgstr "_Koma" + +#: ../gtk/gtkstock.c:394 +msgctxt "Stock label" +msgid "_Network" +msgstr "Ka_yungirizi" + +#: ../gtk/gtkstock.c:395 +msgctxt "Stock label" +msgid "_New" +msgstr "_Bipya" + +#: ../gtk/gtkstock.c:396 +msgctxt "Stock label" +msgid "_No" +msgstr "_Nedda" + +#: ../gtk/gtkstock.c:397 +msgctxt "Stock label" +msgid "_OK" +msgstr "_Kale" + +#: ../gtk/gtkstock.c:398 +msgctxt "Stock label" +msgid "_Open" +msgstr "_Bikkula" + +#. Page orientation +#: ../gtk/gtkstock.c:400 +msgctxt "Stock label" +msgid "Landscape" +msgstr "Bugazi" + +#. Page orientation +#: ../gtk/gtkstock.c:402 +msgctxt "Stock label" +msgid "Portrait" +msgstr "Busimbalaala" + +#. Page orientation +#: ../gtk/gtkstock.c:404 +msgctxt "Stock label" +msgid "Reverse landscape" +msgstr "Bugazi nga bivuunikedwa mu busimba" + +#. Page orientation +#: ../gtk/gtkstock.c:406 +msgctxt "Stock label" +msgid "Reverse portrait" +msgstr "Busimbalaala nga bivuunikdwa mu busimba" + +#: ../gtk/gtkstock.c:407 +msgctxt "Stock label" +msgid "Page Set_up" +msgstr "Nteekateeka y'olupapula" + +#: ../gtk/gtkstock.c:408 +msgctxt "Stock label" +msgid "_Paste" +msgstr "_Paatiika" + +#: ../gtk/gtkstock.c:409 +msgctxt "Stock label" +msgid "_Preferences" +msgstr "_Nteekateeka" + +#: ../gtk/gtkstock.c:410 +msgctxt "Stock label" +msgid "_Print" +msgstr "_Kubisa" + +#: ../gtk/gtkstock.c:411 +msgctxt "Stock label" +msgid "Print Pre_view" +msgstr "Kebera enfaanana y'ebinaakubibwa" + +#: ../gtk/gtkstock.c:412 +msgctxt "Stock label" +msgid "_Properties" +msgstr "Ebi_kwata ku fayiro" + +#: ../gtk/gtkstock.c:413 +msgctxt "Stock label" +msgid "_Quit" +msgstr "_Mala" + +#: ../gtk/gtkstock.c:414 +msgctxt "Stock label" +msgid "_Redo" +msgstr "_Zawo" + +#: ../gtk/gtkstock.c:415 +msgctxt "Stock label" +msgid "_Refresh" +msgstr "" + +#: ../gtk/gtkstock.c:416 +msgctxt "Stock label" +msgid "_Remove" +msgstr "_Gyawo" + +#: ../gtk/gtkstock.c:417 +msgctxt "Stock label" +msgid "_Revert" +msgstr "_Dda ku by'edda" + +#: ../gtk/gtkstock.c:418 +msgctxt "Stock label" +msgid "_Save" +msgstr "_Kaza" + +#: ../gtk/gtkstock.c:419 +msgctxt "Stock label" +msgid "Save _As" +msgstr "Gyamu ko_ppi" + +#: ../gtk/gtkstock.c:420 +msgctxt "Stock label" +msgid "Select _All" +msgstr "Londa by_onna" + +#: ../gtk/gtkstock.c:421 +msgctxt "Stock label" +msgid "_Color" +msgstr "_Langi" + +#: ../gtk/gtkstock.c:422 +msgctxt "Stock label" +msgid "_Font" +msgstr "N_kula y'ennukuta" + +#. Sorting direction +#: ../gtk/gtkstock.c:424 +msgctxt "Stock label" +msgid "_Ascending" +msgstr "K'_ambukiriro" + +#. Sorting direction +#: ../gtk/gtkstock.c:426 +msgctxt "Stock label" +msgid "_Descending" +msgstr "Ka_kkiririro" + +#: ../gtk/gtkstock.c:427 +msgctxt "Stock label" +msgid "_Spell Check" +msgstr "Kebera m_pandika" + +#: ../gtk/gtkstock.c:428 +msgctxt "Stock label" +msgid "_Stop" +msgstr "_Yimiriza" + +#. Font variant +#: ../gtk/gtkstock.c:430 +msgctxt "Stock label" +msgid "_Strikethrough" +msgstr "Eziyisidwamu olu_saze" + +#: ../gtk/gtkstock.c:431 +msgctxt "Stock label" +msgid "_Undelete" +msgstr "Komya_wo" + +#. Font variant +#: ../gtk/gtkstock.c:433 +msgctxt "Stock label" +msgid "_Underline" +msgstr "Ezi_tudde ku lusaze" + +#: ../gtk/gtkstock.c:434 +msgctxt "Stock label" +msgid "_Undo" +msgstr "_Julula" + +#: ../gtk/gtkstock.c:435 +msgctxt "Stock label" +msgid "_Yes" +msgstr "_Ye" + +#. Zoom +#: ../gtk/gtkstock.c:437 +msgctxt "Stock label" +msgid "_Normal Size" +msgstr "Bunene obwa _ddala" + +#. Zoom +#: ../gtk/gtkstock.c:439 +msgctxt "Stock label" +msgid "Best _Fit" +msgstr "Bunene obusinga oku_jjawo" + +#: ../gtk/gtkstock.c:440 +msgctxt "Stock label" +msgid "Zoom _In" +msgstr "_Zimbukulusa" + +#: ../gtk/gtkstock.c:441 +msgctxt "Stock label" +msgid "Zoom _Out" +msgstr "_Kendeeza" + +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +msgctxt "switch" +msgid "ON" +msgstr "" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +msgctxt "switch" +msgid "OFF" +msgstr "" + +#: ../gtk/gtkswitch.c:959 +#| msgid "inch" +msgctxt "light switch widget" +msgid "Switch" +msgstr "yinci" + +#: ../gtk/gtkswitch.c:960 +msgid "Switches between on and off states" +msgstr "" + +#: ../gtk/gtktextbufferrichtext.c:650 +#, c-format +msgid "Unknown error when trying to deserialize %s" +msgstr "" + +#: ../gtk/gtktextbufferrichtext.c:709 +#, c-format +msgid "No deserialize function found for format %s" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 +#, c-format +msgid "Both \"id\" and \"name\" were found on the <%s> element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 +#, c-format +msgid "The attribute \"%s\" was found twice on the <%s> element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:852 +#, c-format +msgid "<%s> element has invalid ID \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:862 +#, c-format +msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:949 +#, c-format +msgid "Attribute \"%s\" repeated twice on the same <%s> element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 +#, c-format +msgid "Attribute \"%s\" is invalid on <%s> element in this context" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1031 +#, c-format +msgid "Tag \"%s\" has not been defined." +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1043 +msgid "Anonymous tag found and tags can not be created." +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1054 +#, c-format +msgid "Tag \"%s\" does not exist in buffer and tags can not be created." +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 +#, c-format +msgid "Element <%s> is not allowed below <%s>" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1184 +#, c-format +msgid "\"%s\" is not a valid attribute type" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1192 +#, c-format +msgid "\"%s\" is not a valid attribute name" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1202 +#, c-format +msgid "" +"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1211 +#, c-format +msgid "\"%s\" is not a valid value for attribute \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1296 +#, c-format +msgid "Tag \"%s\" already defined" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1309 +#, c-format +msgid "Tag \"%s\" has invalid priority \"%s\"" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1362 +#, c-format +msgid "Outermost element in text must be not <%s>" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 +#, c-format +msgid "A <%s> element has already been specified" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1393 +msgid "A element can't occur before a element" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1793 +msgid "Serialized data is malformed" +msgstr "" + +#: ../gtk/gtktextbufferserialize.c:1871 +msgid "" +"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +msgstr "" + +#: ../gtk/gtktextutil.c:60 +msgid "LRM _Left-to-right mark" +msgstr "LRM Aka_lagira ennukuta emu okuva ku kkono okudda ku ddyo" + +#: ../gtk/gtktextutil.c:61 +msgid "RLM _Right-to-left mark" +msgstr "RLM Akalagi_ra ennukuta emu okuva ku ddyo okudda ku kkono" + +#: ../gtk/gtktextutil.c:62 +msgid "LRE Left-to-right _embedding" +msgstr "LR_E Akalagira omuko okuva ku kkono okudda ku ddyo" + +#: ../gtk/gtktextutil.c:63 +msgid "RLE Right-to-left e_mbedding" +msgstr "RLE Akalagira o_muko okuva ku ddyo okudda ku kkono" + +#: ../gtk/gtktextutil.c:64 +msgid "LRO Left-to-right _override" +msgstr "" +"LRO Akalagira ekigambo ekimu _okuva ku kkono okusinzira ku kika ky'ennukuta " +"zaamu" + +#: ../gtk/gtktextutil.c:65 +msgid "RLO Right-to-left o_verride" +msgstr "" +"RLO Akalagira ekigambo ekimu oku_va ku ddyo okusinzira ku kika ky'ennukuta zaamu" + +#: ../gtk/gtktextutil.c:66 +msgid "PDF _Pop directional formatting" +msgstr "_PDF Akalagira obwolekefu bw'empandika obwa bulijjo okuddawo" + +#: ../gtk/gtktextutil.c:67 +msgid "ZWS _Zero width space" +msgstr "_ZWS Akabonero akatalabika akalaga ekigambo we kiyinz'okukutulibwamu" + +#: ../gtk/gtktextutil.c:68 +msgid "ZWJ Zero width _joiner" +msgstr "ZW_J Akabonero akatalabika akaleetera nnukuta bbiri okwegatta" + +#: ../gtk/gtktextutil.c:69 +msgid "ZWNJ Zero width _non-joiner" +msgstr "ZW_NJ Akabonero akatalabika akagaana ennukuta okwegatta" + +#: ../gtk/gtkuimanager.c:1506 +#, c-format +msgid "Unexpected start tag '%s' on line %d char %d" +msgstr "" +"Waliwo okulamba entadikwa '%s' gye kutasuubiridwa ku lunyiriri %d, akabonero %d" + +#: ../gtk/gtkuimanager.c:1596 +#, c-format +msgid "Unexpected character data on line %d char %d" +msgstr "Waliwo data ey'obubonero gy'etasuubiridwa, lunyiriri %d, akabonero %d" + +#: ../gtk/gtkuimanager.c:2428 +msgid "Empty" +msgstr "Wereere" + +#: ../gtk/gtkvolumebutton.c:170 +msgid "Volume" +msgstr "Bwangufu" + +#: ../gtk/gtkvolumebutton.c:172 +msgid "Turns volume down or up" +msgstr "Kitumbula era ne kissa eddoboozi" + +#: ../gtk/gtkvolumebutton.c:175 +msgid "Adjusts the volume" +msgstr "Kikyusa obwangufu bw'eddoboozi" + +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 +msgid "Volume Down" +msgstr "Ssa ddoboozi" + +#: ../gtk/gtkvolumebutton.c:183 +msgid "Decreases the volume" +msgstr "Kissa ddoboozis" + +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 +msgid "Volume Up" +msgstr "Kangula ddoboozi" + +#: ../gtk/gtkvolumebutton.c:189 +msgid "Increases the volume" +msgstr "Kitumbula ddoboozi" + +#: ../gtk/gtkvolumebutton.c:247 +msgid "Muted" +msgstr "Lisirisidwa" + +#: ../gtk/gtkvolumebutton.c:251 +msgid "Full Volume" +msgstr "Eddoboozi limalidwayo" + +#. Translators: this is the percentage of the current volume, +#. * as used in the tooltip, eg. "49 %". +#. * Translate the "%d" to "%Id" if you want to use localised digits, +#. * or otherwise translate the "%d" to "%d". +#. +#: ../gtk/gtkvolumebutton.c:264 +#, c-format +msgctxt "volume percentage" +msgid "%d %%" +msgstr "%d %%" + +#: ../gtk/paper_names_offsets.c:4 +msgctxt "paper size" +msgid "asme_f" +msgstr "asme_f" + +#: ../gtk/paper_names_offsets.c:5 +msgctxt "paper size" +msgid "A0x2" +msgstr "A0x2" + +#: ../gtk/paper_names_offsets.c:6 +msgctxt "paper size" +msgid "A0" +msgstr "A0" + +#: ../gtk/paper_names_offsets.c:7 +msgctxt "paper size" +msgid "A0x3" +msgstr "A0x3" + +#: ../gtk/paper_names_offsets.c:8 +msgctxt "paper size" +msgid "A1" +msgstr "A1" + +#: ../gtk/paper_names_offsets.c:9 +msgctxt "paper size" +msgid "A10" +msgstr "A10" + +#: ../gtk/paper_names_offsets.c:10 +msgctxt "paper size" +msgid "A1x3" +msgstr "A1x3" + +#: ../gtk/paper_names_offsets.c:11 +msgctxt "paper size" +msgid "A1x4" +msgstr "A1x4" + +#: ../gtk/paper_names_offsets.c:12 +msgctxt "paper size" +msgid "A2" +msgstr "A2" + +#: ../gtk/paper_names_offsets.c:13 +msgctxt "paper size" +msgid "A2x3" +msgstr "A2x3" + +#: ../gtk/paper_names_offsets.c:14 +msgctxt "paper size" +msgid "A2x4" +msgstr "A2x4" + +#: ../gtk/paper_names_offsets.c:15 +msgctxt "paper size" +msgid "A2x5" +msgstr "A2x5" + +#: ../gtk/paper_names_offsets.c:16 +msgctxt "paper size" +msgid "A3" +msgstr "A3" + +#: ../gtk/paper_names_offsets.c:17 +msgctxt "paper size" +msgid "A3 Extra" +msgstr "A3 'Ekisitura'" + +#: ../gtk/paper_names_offsets.c:18 +msgctxt "paper size" +msgid "A3x3" +msgstr "A3x3" + +#: ../gtk/paper_names_offsets.c:19 +msgctxt "paper size" +msgid "A3x4" +msgstr "A3x4" + +#: ../gtk/paper_names_offsets.c:20 +msgctxt "paper size" +msgid "A3x5" +msgstr "A3x5" + +#: ../gtk/paper_names_offsets.c:21 +msgctxt "paper size" +msgid "A3x6" +msgstr "A3x6" + +#: ../gtk/paper_names_offsets.c:22 +msgctxt "paper size" +msgid "A3x7" +msgstr "A3x7" + +#: ../gtk/paper_names_offsets.c:23 +msgctxt "paper size" +msgid "A4" +msgstr "A4" + +#: ../gtk/paper_names_offsets.c:24 +msgctxt "paper size" +msgid "A4 Extra" +msgstr "A4 'Ekisitura'" + +#: ../gtk/paper_names_offsets.c:25 +msgctxt "paper size" +msgid "A4 Tab" +msgstr "A4 'Tabu'" + +#: ../gtk/paper_names_offsets.c:26 +msgctxt "paper size" +msgid "A4x3" +msgstr "A4x3" + +#: ../gtk/paper_names_offsets.c:27 +msgctxt "paper size" +msgid "A4x4" +msgstr "A4x4" + +#: ../gtk/paper_names_offsets.c:28 +msgctxt "paper size" +msgid "A4x5" +msgstr "A4x5" + +#: ../gtk/paper_names_offsets.c:29 +msgctxt "paper size" +msgid "A4x6" +msgstr "A4x6" + +#: ../gtk/paper_names_offsets.c:30 +msgctxt "paper size" +msgid "A4x7" +msgstr "A4x7" + +#: ../gtk/paper_names_offsets.c:31 +msgctxt "paper size" +msgid "A4x8" +msgstr "A4x8" + +#: ../gtk/paper_names_offsets.c:32 +msgctxt "paper size" +msgid "A4x9" +msgstr "A4x9" + +#: ../gtk/paper_names_offsets.c:33 +msgctxt "paper size" +msgid "A5" +msgstr "A5" + +#: ../gtk/paper_names_offsets.c:34 +msgctxt "paper size" +msgid "A5 Extra" +msgstr "A5 Ekisitura" + +#: ../gtk/paper_names_offsets.c:35 +msgctxt "paper size" +msgid "A6" +msgstr "A6" + +#: ../gtk/paper_names_offsets.c:36 +msgctxt "paper size" +msgid "A7" +msgstr "A7" + +#: ../gtk/paper_names_offsets.c:37 +msgctxt "paper size" +msgid "A8" +msgstr "A8" + +#: ../gtk/paper_names_offsets.c:38 +msgctxt "paper size" +msgid "A9" +msgstr "A9" + +#: ../gtk/paper_names_offsets.c:39 +msgctxt "paper size" +msgid "B0" +msgstr "B0" + +#: ../gtk/paper_names_offsets.c:40 +msgctxt "paper size" +msgid "B1" +msgstr "B1" + +#: ../gtk/paper_names_offsets.c:41 +msgctxt "paper size" +msgid "B10" +msgstr "B10" + +#: ../gtk/paper_names_offsets.c:42 +msgctxt "paper size" +msgid "B2" +msgstr "B2" + +#: ../gtk/paper_names_offsets.c:43 +msgctxt "paper size" +msgid "B3" +msgstr "B3" + +#: ../gtk/paper_names_offsets.c:44 +msgctxt "paper size" +msgid "B4" +msgstr "B4" + +#: ../gtk/paper_names_offsets.c:45 +msgctxt "paper size" +msgid "B5" +msgstr "B5" + +#: ../gtk/paper_names_offsets.c:46 +msgctxt "paper size" +msgid "B5 Extra" +msgstr "B5 Ekisitura" + +#: ../gtk/paper_names_offsets.c:47 +msgctxt "paper size" +msgid "B6" +msgstr "B6" + +#: ../gtk/paper_names_offsets.c:48 +msgctxt "paper size" +msgid "B6/C4" +msgstr "B6 oba C4" + +#: ../gtk/paper_names_offsets.c:49 +msgctxt "paper size" +msgid "B7" +msgstr "B7" + +#: ../gtk/paper_names_offsets.c:50 +msgctxt "paper size" +msgid "B8" +msgstr "B8" + +#: ../gtk/paper_names_offsets.c:51 +msgctxt "paper size" +msgid "B9" +msgstr "B9" + +#: ../gtk/paper_names_offsets.c:52 +msgctxt "paper size" +msgid "C0" +msgstr "C0" + +#: ../gtk/paper_names_offsets.c:53 +msgctxt "paper size" +msgid "C1" +msgstr "C1" + +#: ../gtk/paper_names_offsets.c:54 +msgctxt "paper size" +msgid "C10" +msgstr "C10" + +#: ../gtk/paper_names_offsets.c:55 +msgctxt "paper size" +msgid "C2" +msgstr "C2" + +#: ../gtk/paper_names_offsets.c:56 +msgctxt "paper size" +msgid "C3" +msgstr "C3" + +#: ../gtk/paper_names_offsets.c:57 +msgctxt "paper size" +msgid "C4" +msgstr "C4" + +#: ../gtk/paper_names_offsets.c:58 +msgctxt "paper size" +msgid "C5" +msgstr "C5" + +#: ../gtk/paper_names_offsets.c:59 +msgctxt "paper size" +msgid "C6" +msgstr "C6" + +#: ../gtk/paper_names_offsets.c:60 +msgctxt "paper size" +msgid "C6/C5" +msgstr "C6 oba C5" + +#: ../gtk/paper_names_offsets.c:61 +msgctxt "paper size" +msgid "C7" +msgstr "C7" + +#: ../gtk/paper_names_offsets.c:62 +msgctxt "paper size" +msgid "C7/C6" +msgstr "C7 oba C6" + +#: ../gtk/paper_names_offsets.c:63 +msgctxt "paper size" +msgid "C8" +msgstr "C8" + +#: ../gtk/paper_names_offsets.c:64 +msgctxt "paper size" +msgid "C9" +msgstr "C9" + +#: ../gtk/paper_names_offsets.c:65 +msgctxt "paper size" +msgid "DL Envelope" +msgstr "Bbaasa lya DL" + +#: ../gtk/paper_names_offsets.c:66 +msgctxt "paper size" +msgid "RA0" +msgstr "RA0" + +#: ../gtk/paper_names_offsets.c:67 +msgctxt "paper size" +msgid "RA1" +msgstr "RA1" + +#: ../gtk/paper_names_offsets.c:68 +msgctxt "paper size" +msgid "RA2" +msgstr "RA2" + +#: ../gtk/paper_names_offsets.c:69 +msgctxt "paper size" +msgid "SRA0" +msgstr "SRA0" + +#: ../gtk/paper_names_offsets.c:70 +msgctxt "paper size" +msgid "SRA1" +msgstr "SRA1" + +#: ../gtk/paper_names_offsets.c:71 +msgctxt "paper size" +msgid "SRA2" +msgstr "SRA2" + +#: ../gtk/paper_names_offsets.c:72 +msgctxt "paper size" +msgid "JB0" +msgstr "JB0" + +#: ../gtk/paper_names_offsets.c:73 +msgctxt "paper size" +msgid "JB1" +msgstr "JB1" + +#: ../gtk/paper_names_offsets.c:74 +msgctxt "paper size" +msgid "JB10" +msgstr "JB10" + +#: ../gtk/paper_names_offsets.c:75 +msgctxt "paper size" +msgid "JB2" +msgstr "JB2" + +#: ../gtk/paper_names_offsets.c:76 +msgctxt "paper size" +msgid "JB3" +msgstr "JB3" + +#: ../gtk/paper_names_offsets.c:77 +msgctxt "paper size" +msgid "JB4" +msgstr "JB4" + +#: ../gtk/paper_names_offsets.c:78 +msgctxt "paper size" +msgid "JB5" +msgstr "JB5" + +#: ../gtk/paper_names_offsets.c:79 +msgctxt "paper size" +msgid "JB6" +msgstr "JB6" + +#: ../gtk/paper_names_offsets.c:80 +msgctxt "paper size" +msgid "JB7" +msgstr "JB7" + +#: ../gtk/paper_names_offsets.c:81 +msgctxt "paper size" +msgid "JB8" +msgstr "JB8" + +#: ../gtk/paper_names_offsets.c:82 +msgctxt "paper size" +msgid "JB9" +msgstr "JB9" + +#: ../gtk/paper_names_offsets.c:83 +msgctxt "paper size" +msgid "jis exec" +msgstr "" + +#: ../gtk/paper_names_offsets.c:84 +msgctxt "paper size" +msgid "Choukei 2 Envelope" +msgstr "Bbaasa lya Choukei 2" + +#: ../gtk/paper_names_offsets.c:85 +msgctxt "paper size" +msgid "Choukei 3 Envelope" +msgstr "Bbaasa lya Choukei 3" + +#: ../gtk/paper_names_offsets.c:86 +msgctxt "paper size" +msgid "Choukei 4 Envelope" +msgstr "Bbaasa lya Choukei 4" + +#: ../gtk/paper_names_offsets.c:87 +msgctxt "paper size" +msgid "hagaki (postcard)" +msgstr "hagaki (kaadi)" + +#: ../gtk/paper_names_offsets.c:88 +msgctxt "paper size" +msgid "kahu Envelope" +msgstr "Bbaasa lya kahu" + +#: ../gtk/paper_names_offsets.c:89 +msgctxt "paper size" +msgid "kaku2 Envelope" +msgstr "Bbaasa lya kaku2" + +#: ../gtk/paper_names_offsets.c:90 +msgctxt "paper size" +msgid "oufuku (reply postcard)" +msgstr "oufuku (kaadi ey'okuddamu)" + +#: ../gtk/paper_names_offsets.c:91 +msgctxt "paper size" +msgid "you4 Envelope" +msgstr "Bbaasa lya you4" + +#: ../gtk/paper_names_offsets.c:92 +msgctxt "paper size" +msgid "10x11" +msgstr "yinci 10x11" + +#: ../gtk/paper_names_offsets.c:93 +msgctxt "paper size" +msgid "10x13" +msgstr "yinci 10x13" + +#: ../gtk/paper_names_offsets.c:94 +msgctxt "paper size" +msgid "10x14" +msgstr "yinci 10x14" + +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 +msgctxt "paper size" +msgid "10x15" +msgstr "yinci 10x15" + +#: ../gtk/paper_names_offsets.c:97 +msgctxt "paper size" +msgid "11x12" +msgstr "yinci 11x12" + +#: ../gtk/paper_names_offsets.c:98 +msgctxt "paper size" +msgid "11x15" +msgstr "yinci 11x15" + +#: ../gtk/paper_names_offsets.c:99 +msgctxt "paper size" +msgid "12x19" +msgstr "yinci 12x19" + +#: ../gtk/paper_names_offsets.c:100 +msgctxt "paper size" +msgid "5x7" +msgstr "yinci 5x7" + +#: ../gtk/paper_names_offsets.c:101 +msgctxt "paper size" +msgid "6x9 Envelope" +msgstr "Bbaasa lya yinci 6x9" + +#: ../gtk/paper_names_offsets.c:102 +msgctxt "paper size" +msgid "7x9 Envelope" +msgstr "Bbaasa lya yinci 7x9" + +#: ../gtk/paper_names_offsets.c:103 +msgctxt "paper size" +msgid "9x11 Envelope" +msgstr "Bbaasa lya yinci 9x11" + +#: ../gtk/paper_names_offsets.c:104 +msgctxt "paper size" +msgid "a2 Envelope" +msgstr "Bbaasa lya A2" + +#: ../gtk/paper_names_offsets.c:105 +msgctxt "paper size" +msgid "Arch A" +msgstr "Arch A (lwa pulaani)" + +#: ../gtk/paper_names_offsets.c:106 +msgctxt "paper size" +msgid "Arch B" +msgstr "Arch B (lwa pulaani)" + +#: ../gtk/paper_names_offsets.c:107 +msgctxt "paper size" +msgid "Arch C" +msgstr "Arch C (lwa pulaani)" + +#: ../gtk/paper_names_offsets.c:108 +msgctxt "paper size" +msgid "Arch D" +msgstr "Arch D (lwa pulaani)" + +#: ../gtk/paper_names_offsets.c:109 +msgctxt "paper size" +msgid "Arch E" +msgstr "Arch E (lwa pulaani)" + +#: ../gtk/paper_names_offsets.c:110 +msgctxt "paper size" +msgid "b-plus" +msgstr "b-plus" + +#: ../gtk/paper_names_offsets.c:111 +msgctxt "paper size" +msgid "c" +msgstr "c" + +#: ../gtk/paper_names_offsets.c:112 +msgctxt "paper size" +msgid "c5 Envelope" +msgstr "Bbaasa lya c5" + +#: ../gtk/paper_names_offsets.c:113 +msgctxt "paper size" +msgid "d" +msgstr "d" + +#: ../gtk/paper_names_offsets.c:114 +msgctxt "paper size" +msgid "e" +msgstr "e" + +#: ../gtk/paper_names_offsets.c:115 +msgctxt "paper size" +msgid "edp" +msgstr "edp" + +#: ../gtk/paper_names_offsets.c:116 +msgctxt "paper size" +msgid "European edp" +msgstr "edp ey'eBulaaya" + +#: ../gtk/paper_names_offsets.c:117 +msgctxt "paper size" +msgid "Executive" +msgstr "Kizecutivu" + +#: ../gtk/paper_names_offsets.c:118 +msgctxt "paper size" +msgid "f" +msgstr "f" + +#: ../gtk/paper_names_offsets.c:119 +msgctxt "paper size" +msgid "FanFold European" +msgstr "FanFold ye'eBulaaya" + +#: ../gtk/paper_names_offsets.c:120 +msgctxt "paper size" +msgid "FanFold US" +msgstr "FanFold ey'Amerika" + +#: ../gtk/paper_names_offsets.c:121 +msgctxt "paper size" +msgid "FanFold German Legal" +msgstr "FanFold eya kinnamateeka ey'eBudaaki" + +#: ../gtk/paper_names_offsets.c:122 +msgctxt "paper size" +msgid "Government Legal" +msgstr "Government Legal (Amerika)" + +#: ../gtk/paper_names_offsets.c:123 +msgctxt "paper size" +msgid "Government Letter" +msgstr "Government Letter (Amerika)" + +#: ../gtk/paper_names_offsets.c:124 +msgctxt "paper size" +msgid "Index 3x5" +msgstr "Index 3x5 (Amerika)" + +#: ../gtk/paper_names_offsets.c:125 +msgctxt "paper size" +msgid "Index 4x6 (postcard)" +msgstr "" + +#: ../gtk/paper_names_offsets.c:126 +msgctxt "paper size" +msgid "Index 4x6 ext" +msgstr "" + +#: ../gtk/paper_names_offsets.c:127 +msgctxt "paper size" +msgid "Index 5x8" +msgstr "" + +#: ../gtk/paper_names_offsets.c:128 +msgctxt "paper size" +msgid "Invoice" +msgstr "" + +#: ../gtk/paper_names_offsets.c:129 +msgctxt "paper size" +msgid "Tabloid" +msgstr "" + +#: ../gtk/paper_names_offsets.c:130 +msgctxt "paper size" +msgid "US Legal" +msgstr "" + +#: ../gtk/paper_names_offsets.c:131 +msgctxt "paper size" +msgid "US Legal Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:132 +msgctxt "paper size" +msgid "US Letter" +msgstr "" + +#: ../gtk/paper_names_offsets.c:133 +msgctxt "paper size" +msgid "US Letter Extra" +msgstr "" + +#: ../gtk/paper_names_offsets.c:134 +msgctxt "paper size" +msgid "US Letter Plus" +msgstr "" + +#: ../gtk/paper_names_offsets.c:135 +msgctxt "paper size" +msgid "Monarch Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:136 +msgctxt "paper size" +msgid "#10 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:137 +msgctxt "paper size" +msgid "#11 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:138 +msgctxt "paper size" +msgid "#12 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:139 +msgctxt "paper size" +msgid "#14 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:140 +msgctxt "paper size" +msgid "#9 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:141 +msgctxt "paper size" +msgid "Personal Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:142 +msgctxt "paper size" +msgid "Quarto" +msgstr "" + +#: ../gtk/paper_names_offsets.c:143 +msgctxt "paper size" +msgid "Super A" +msgstr "" + +#: ../gtk/paper_names_offsets.c:144 +msgctxt "paper size" +msgid "Super B" +msgstr "" + +#: ../gtk/paper_names_offsets.c:145 +msgctxt "paper size" +msgid "Wide Format" +msgstr "" + +#: ../gtk/paper_names_offsets.c:146 +msgctxt "paper size" +msgid "Dai-pa-kai" +msgstr "" + +#: ../gtk/paper_names_offsets.c:147 +msgctxt "paper size" +msgid "Folio" +msgstr "" + +#: ../gtk/paper_names_offsets.c:148 +msgctxt "paper size" +msgid "Folio sp" +msgstr "" + +#: ../gtk/paper_names_offsets.c:149 +msgctxt "paper size" +msgid "Invite Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:150 +msgctxt "paper size" +msgid "Italian Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:151 +msgctxt "paper size" +msgid "juuro-ku-kai" +msgstr "" + +#: ../gtk/paper_names_offsets.c:152 +msgctxt "paper size" +msgid "pa-kai" +msgstr "" + +#: ../gtk/paper_names_offsets.c:153 +msgctxt "paper size" +msgid "Postfix Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:154 +msgctxt "paper size" +msgid "Small Photo" +msgstr "" + +#: ../gtk/paper_names_offsets.c:155 +msgctxt "paper size" +msgid "prc1 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:156 +msgctxt "paper size" +msgid "prc10 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:157 +msgctxt "paper size" +msgid "prc 16k" +msgstr "" + +#: ../gtk/paper_names_offsets.c:158 +msgctxt "paper size" +msgid "prc2 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:159 +msgctxt "paper size" +msgid "prc3 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:160 +msgctxt "paper size" +msgid "prc 32k" +msgstr "" + +#: ../gtk/paper_names_offsets.c:161 +msgctxt "paper size" +msgid "prc4 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:162 +msgctxt "paper size" +msgid "prc5 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:163 +msgctxt "paper size" +msgid "prc6 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:164 +msgctxt "paper size" +msgid "prc7 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:165 +msgctxt "paper size" +msgid "prc8 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:166 +msgctxt "paper size" +msgid "prc9 Envelope" +msgstr "" + +#: ../gtk/paper_names_offsets.c:167 +msgctxt "paper size" +msgid "ROC 16k" +msgstr "" + +#: ../gtk/paper_names_offsets.c:168 +msgctxt "paper size" +msgid "ROC 8k" +msgstr "" + +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 +#, c-format +msgid "different idatas found for symlinked '%s' and '%s'\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1374 +#, c-format +msgid "Failed to write header\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1380 +#, c-format +msgid "Failed to write hash table\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1386 +#, c-format +msgid "Failed to write folder index\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1394 +#, c-format +msgid "Failed to rewrite header\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1488 +#, c-format +msgid "Failed to open file %s : %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 +#, c-format +msgid "Failed to write cache file: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1537 +#, c-format +msgid "The generated cache was invalid.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1551 +#, c-format +msgid "Could not rename %s to %s: %s, removing %s then.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1565 +#, c-format +msgid "Could not rename %s to %s: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1575 +#, c-format +msgid "Could not rename %s back to %s: %s.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1602 +#, c-format +msgid "Cache file created successfully.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1641 +msgid "Overwrite an existing cache, even if up to date" +msgstr "" + +#: ../gtk/updateiconcache.c:1642 +msgid "Don't check for the existence of index.theme" +msgstr "" + +#: ../gtk/updateiconcache.c:1643 +msgid "Don't include image data in the cache" +msgstr "" + +#: ../gtk/updateiconcache.c:1644 +msgid "Output a C header file" +msgstr "" + +#: ../gtk/updateiconcache.c:1645 +msgid "Turn off verbose output" +msgstr "" + +#: ../gtk/updateiconcache.c:1646 +msgid "Validate existing icon cache" +msgstr "" + +#: ../gtk/updateiconcache.c:1713 +#, c-format +msgid "File not found: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1719 +#, c-format +msgid "Not a valid icon cache: %s\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1732 +#, c-format +msgid "No theme index file.\n" +msgstr "" + +#: ../gtk/updateiconcache.c:1736 +#, c-format +msgid "" +"No theme index file in '%s'.\n" +"If you really want to create an icon cache here, use --ignore-theme-index.\n" +msgstr "" + +#. ID +#: ../modules/input/imam-et.c:454 +msgid "Amharic (EZ+)" +msgstr "Ki-amuhara (EZ+)" + +#. ID +#: ../modules/input/imcedilla.c:92 +msgid "Cedilla" +msgstr "Kisedila" + +#. ID +#: ../modules/input/imcyrillic-translit.c:217 +msgid "Cyrillic (Transliterated)" +msgstr "Kisiriiri (Mu mpandika etali nnansi)" + +#. ID +#: ../modules/input/iminuktitut.c:127 +msgid "Inuktitut (Transliterated)" +msgstr "Inukitituti (Mu mpandika etali nnansi)" + +#. ID +#: ../modules/input/imipa.c:145 +msgid "IPA" +msgstr "IPA" + +#. ID +#: ../modules/input/immultipress.c:31 +msgid "Multipress" +msgstr "'Mulitpress'" + +#. ID +#: ../modules/input/imthai.c:35 +msgid "Thai-Lao" +msgstr "Tayi-Lawo" + +#. ID +#: ../modules/input/imti-er.c:453 +msgid "Tigrigna-Eritrean (EZ+)" +msgstr "Tigirigina-Eritureya (EZ+)" + +#. ID +#: ../modules/input/imti-et.c:453 +msgid "Tigrigna-Ethiopian (EZ+)" +msgstr "Tigirigina-kisiyopiya (EZ+)" + +#. ID +#: ../modules/input/imviqr.c:244 +msgid "Vietnamese (VIQR)" +msgstr "Kiviyetinaamu (VIQR)" + +#. ID +#: ../modules/input/imxim.c:28 +msgid "X Input Method" +msgstr "Empandika y'ennukuta eya X" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 +msgid "Username:" +msgstr "Linnya lya mukozesa:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 +msgid "Password:" +msgstr "Kyama:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 +#, c-format +msgid "Authentication is required to print document '%s' on printer %s" +msgstr "Okukubisiza ekiwandike '%s' ku pulinta %s kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#, c-format +msgid "Authentication is required to print a document on %s" +msgstr "Okukubisiza ekiwandike ku %s kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 +#, c-format +msgid "Authentication is required to get attributes of job '%s'" +msgstr "Okufuna atiributo ez'omulimu '%s' kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +msgid "Authentication is required to get attributes of a job" +msgstr "Okufuna atiributo ez'omulimu kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 +#, c-format +msgid "Authentication is required to get attributes of printer %s" +msgstr "Okufuna atiributo eza pulinta %s kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 +msgid "Authentication is required to get attributes of a printer" +msgstr "Okufuna atiriuto eza pulinta kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 +#, c-format +msgid "Authentication is required to get default printer of %s" +msgstr "Okufuna pulinta ey'oku %s eya bulijjo kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 +#, c-format +msgid "Authentication is required to get printers from %s" +msgstr "Okufuna pulinta ez'oku %s kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Okunona fayiro ku %s kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 +#, c-format +msgid "Authentication is required on %s" +msgstr "%s ekwetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 +msgid "Domain:" +msgstr "Twale:" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 +#, c-format +msgid "Authentication is required to print document '%s'" +msgstr "Okukubisa ekiwandike '%s' kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 +#, c-format +msgid "Authentication is required to print this document on printer %s" +msgstr "Okukubisiza ekiwandike kino ku pulinta %s kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 +msgid "Authentication is required to print this document" +msgstr "Okukubisa ekiwandike kino kyetaagisa eby'okukakasibwa" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 +#, c-format +msgid "Printer '%s' is low on toner." +msgstr "Pulinta '%s' eri kumpi okuggwamu bwiino." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#, c-format +msgid "Printer '%s' has no toner left." +msgstr "Pulinta '%s' eweddemu bwiino." + +#. Translators: "Developer" like on photo development context + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#, c-format +msgid "Printer '%s' is low on developer." +msgstr "Pulinta '%s' egenda okuggwamu eddagala erikaza." + +#. Translators: "Developer" like on photo development context +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#, c-format +msgid "Printer '%s' is out of developer." +msgstr "Pulinta '%s' eweddemu eddagala erikaza" + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#, c-format +msgid "Printer '%s' is low on at least one marker supply." +msgstr "Pulinta '%s' eri kumpi okuggwamu ku bwiino wa mu." + +#. Translators: "marker" is one color bin of the printer +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#, c-format +msgid "Printer '%s' is out of at least one marker supply." +msgstr "Pulinta '%s' eriko bwiino aweddemu." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#, c-format +msgid "The cover is open on printer '%s'." +msgstr "Ekisaanikira kya pulinta '%s' kibikkuse." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#, c-format +msgid "The door is open on printer '%s'." +msgstr "Oluggi olw'oku pulinta '%s' luggule." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 +#, c-format +msgid "Printer '%s' is low on paper." +msgstr "Pulinta '%s' eri kumpi okuggwamu empapula." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 +#, c-format +msgid "Printer '%s' is out of paper." +msgstr "Pulinta '%s' eweddemu empapula." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 +#, c-format +msgid "Printer '%s' is currently offline." +msgstr "Pulinta '%s' kaakano ku mukutu teriko." + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 +#, c-format +msgid "There is a problem on printer '%s'." +msgstr "Pulinta '%s' eriko kiremya." + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 +msgid "Paused ; Rejecting Jobs" +msgstr "Eyimirizidwamu ; Tekkiriza mirimu" + +#. Translators: this is a printer status. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 +msgid "Rejecting Jobs" +msgstr "Tekkiriza mirimu" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +msgid "Two Sided" +msgstr "Ku ludda zombi" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +msgid "Paper Type" +msgstr "Kika kya mpapula" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 +msgid "Paper Source" +msgstr "Nnono y'empapula" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 +msgid "Output Tray" +msgstr "Ebiwedde gye bigenda" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 +msgid "Resolution" +msgstr "Obungi bw'obutonyeze" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 +msgid "GhostScript pre-filtering" +msgstr "Okulongoosa kw'omu GhostScript" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +msgid "One Sided" +msgstr "Ku ludda lumu lwokka" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 +msgid "Long Edge (Standard)" +msgstr "Busimba (Ekya bulijjo)" + +#. Translators: this is an option of "Two Sided" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 +msgid "Short Edge (Flip)" +msgstr "Bugazi" + +#. Translators: this is an option of "Paper Source" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +msgid "Auto Select" +msgstr "Ekyuma kyerondere" + +#. Translators: this is an option of "Paper Source" +#. Translators: this is an option of "Resolution" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 +msgid "Printer Default" +msgstr "Ekitegekedwa mu pulinta" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +msgid "Embed GhostScript fonts only" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +msgid "Convert to PS level 1" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 +msgid "Convert to PS level 2" +msgstr "" + +#. Translators: this is an option of "GhostScript" +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 +msgid "No pre-filtering" +msgstr "Tolongoosa" + +#. Translators: "Miscellaneous" is the label for a button, that opens +#. up an extra panel of settings in a print dialog. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 +msgid "Miscellaneous" +msgstr "Bitalibimu" + +#. Translators: These strings name the possible values of the +#. * job priority option in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 +msgid "Urgent" +msgstr "Kya mangu ddala" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 +msgid "High" +msgstr "Kikulu" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 +msgid "Medium" +msgstr "Kya bulijjo" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 +msgid "Low" +msgstr "Ssi kikulu" + +#. Cups specific, non-ppd related settings +#. Translators, this string is used to label the pages-per-sheet option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 +msgid "Pages per Sheet" +msgstr "Mpapula z'ekiwandike ku buli lupapula" + +#. Translators, this string is used to label the job priority option +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 +msgid "Job Priority" +msgstr "Obwetaavu bw'omulimu" + +#. Translators, this string is used to label the billing info entry +#. * in the print dialog +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 +msgid "Billing Info" +msgstr "Eby'okubanja" + +#. Translators, these strings are names for various 'standard' cover +#. * pages that the printing system may support. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "None" +msgstr "-" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "Classified" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "Confidential" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "Secret" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "Standard" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "Top Secret" +msgstr "" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 +msgid "Unclassified" +msgstr "" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the front cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 +msgid "Before" +msgstr "" + +#. Translators, this is the label used for the option in the print +#. * dialog that controls the back cover page. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 +msgid "After" +msgstr "" + +#. Translators: this is the name of the option that controls when +#. * a print job is printed. Possible values are 'now', a specified time, +#. * or 'on hold' +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 +msgid "Print at" +msgstr "" + +#. Translators: this is the name of the option that allows the user +#. * to specify a time when a print job will be printed. +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 +msgid "Print at time" +msgstr "" + +#. Translators: this format is used to display a custom paper +#. * size. The two placeholders are replaced with the width and height +#. * in points. E.g: "Custom 230.4x142.9" +#. +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 +#, c-format +msgid "Custom %sx%s" +msgstr "" + +#. default filename used for print-to-file +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 +#, c-format +msgid "output.%s" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 +msgid "Print to File" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 +msgid "PDF" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 +msgid "Postscript" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 +msgid "SVG" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 +msgid "Pages per _sheet:" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 +msgid "File" +msgstr "" + +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 +msgid "_Output format" +msgstr "" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 +msgid "Print to LPR" +msgstr "" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 +msgid "Pages Per Sheet" +msgstr "" + +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 +msgid "Command Line" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 +msgid "printer offline" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 +msgid "ready to print" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 +msgid "processing job" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 +msgid "paused" +msgstr "" + +#. SUN_BRANDING +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 +msgid "unknown" +msgstr "" + +#. default filename used for print-to-test +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 +#, c-format +msgid "test-output.%s" +msgstr "" + +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 +msgid "Print to Test Printer" +msgstr "" + +#: ../tests/testfilechooser.c:207 +#, c-format +msgid "Could not get information for file '%s': %s" +msgstr "" + +#: ../tests/testfilechooser.c:222 +#, c-format +msgid "Failed to open file '%s': %s" +msgstr "" + +#: ../tests/testfilechooser.c:267 +#, c-format +msgid "" +"Failed to load image '%s': reason not known, probably a corrupt image file" +msgstr "" + From 5984fa007333e6c70db2491e0fae1059d493ce54 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 07:44:19 -0500 Subject: [PATCH 1245/1463] Fix introspection annotation syntax --- gtk/gtkcelllayout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index 7c589f2108..49b2ec4d46 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -322,7 +322,7 @@ gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, * gtk_cell_layout_set_cell_data_func: * @cell_layout: a #GtkCellLayout * @cell: a #GtkCellRenderer - * @func (allow-none: the #GtkCellLayoutDataFunc to use, or %NULL + * @func: (allow-none): the #GtkCellLayoutDataFunc to use, or %NULL * @func_data: user data for @func * @destroy: destroy notify for @func_data * From dc3d70b4ec897d3d0e16bdd3a8ebf5e936305c89 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 07:44:44 -0500 Subject: [PATCH 1246/1463] Add sufficient deps to make building from 'git clean' work --- gtk/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index e8c90e6716..a81ea5c674 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -869,7 +869,7 @@ gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) gtktypebuiltins.c.template && cp xgen-gtbc gtktypebuiltins.c \ && rm -f xgen-gtbc -gtktypefuncs.c: @REBUILD@ $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile +gtktypefuncs.c: @REBUILD@ stamp-gtktypebuiltins.h $(top_srcdir)/gtk/*.h $(top_srcdir)/gdk/*.h Makefile $(AM_V_GEN) echo '#include ' > xgen-gtfsrc.c && \ ${CPP} $(DEFS) $(INCLUDES) -DGTK_ENABLE_BROKEN $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) xgen-gtfsrc.c | \ $(GREP) -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \ @@ -1289,7 +1289,7 @@ GENERATED_ICONS = \ # need to copy the icons so that we can replace the generated ones with # symlinks, even in the readonly srcdir case stamp-icons: $(STOCK_ICONS) - if [ ! -d stock-icons ]; then \ + $(AM_V_GEN) if [ ! -d stock-icons ]; then \ for d in 16 20 24 32 48; do \ mkdir -p stock-icons/$$d; \ done; \ From c396c523279d345cccaffa85e42149aa1efeddf9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 08:12:01 -0500 Subject: [PATCH 1247/1463] Documentation fixes --- gtk/gtkadjustment.h | 60 ++++++++++++++++++------------------------- gtk/gtkcomboboxtext.c | 5 ++-- gtk/gtkwindow.c | 10 ++++---- 3 files changed, 33 insertions(+), 42 deletions(-) diff --git a/gtk/gtkadjustment.h b/gtk/gtkadjustment.h index dafd8ce4b8..1ea9de5011 100644 --- a/gtk/gtkadjustment.h +++ b/gtk/gtkadjustment.h @@ -8,7 +8,7 @@ * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public @@ -43,25 +43,15 @@ G_BEGIN_DECLS #define GTK_ADJUSTMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_ADJUSTMENT, GtkAdjustmentClass)) -typedef struct _GtkAdjustment GtkAdjustment; +typedef struct _GtkAdjustment GtkAdjustment; typedef struct _GtkAdjustmentPrivate GtkAdjustmentPrivate; typedef struct _GtkAdjustmentClass GtkAdjustmentClass; /** * GtkAdjustment: - * @lower: the minimum value. - * @upper: the maximum value. - * @value: the current value. - * @step_increment: the increment to use to make minor changes to the @value. - * In a #GtkScrollbar this increment is used when the mouse is clicked on the - * arrows at the top and bottom of the scrollbar, to scroll by a small amount. - * @page_increment: the increment to use to make major changes to the @value. - * In a #GtkScrollbar this increment is used when the mouse is clicked in the - * trough, to scroll by a large amount. - * @page_size: In a #GtkScrollbar this is the size of the area which is currently - * visible. * - * The #GtkAdjustment struct contains the following fields. + * The #GtkAdjustment struct contains only private fields and + * should not be directly accessed. */ struct _GtkAdjustment { @@ -74,7 +64,7 @@ struct _GtkAdjustmentClass { GInitiallyUnownedClass parent_class; - void (* changed) (GtkAdjustment *adjustment); + void (* changed) (GtkAdjustment *adjustment); void (* value_changed) (GtkAdjustment *adjustment); /* Padding for future expansion */ @@ -85,23 +75,23 @@ struct _GtkAdjustmentClass }; -GType gtk_adjustment_get_type (void) G_GNUC_CONST; -GtkAdjustment* gtk_adjustment_new (gdouble value, - gdouble lower, - gdouble upper, - gdouble step_increment, - gdouble page_increment, - gdouble page_size); +GType gtk_adjustment_get_type (void) G_GNUC_CONST; +GtkAdjustment* gtk_adjustment_new (gdouble value, + gdouble lower, + gdouble upper, + gdouble step_increment, + gdouble page_increment, + gdouble page_size); -void gtk_adjustment_changed (GtkAdjustment *adjustment); -void gtk_adjustment_value_changed (GtkAdjustment *adjustment); -void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, - gdouble lower, - gdouble upper); +void gtk_adjustment_changed (GtkAdjustment *adjustment); +void gtk_adjustment_value_changed (GtkAdjustment *adjustment); +void gtk_adjustment_clamp_page (GtkAdjustment *adjustment, + gdouble lower, + gdouble upper); -gdouble gtk_adjustment_get_value (GtkAdjustment *adjustment); -void gtk_adjustment_set_value (GtkAdjustment *adjustment, - gdouble value); +gdouble gtk_adjustment_get_value (GtkAdjustment *adjustment); +void gtk_adjustment_set_value (GtkAdjustment *adjustment, + gdouble value); gdouble gtk_adjustment_get_lower (GtkAdjustment *adjustment); void gtk_adjustment_set_lower (GtkAdjustment *adjustment, gdouble lower); @@ -120,11 +110,11 @@ void gtk_adjustment_set_page_size (GtkAdjustment *adjustment, void gtk_adjustment_configure (GtkAdjustment *adjustment, gdouble value, - gdouble lower, - gdouble upper, - gdouble step_increment, - gdouble page_increment, - gdouble page_size); + gdouble lower, + gdouble upper, + gdouble step_increment, + gdouble page_increment, + gdouble page_size); G_END_DECLS diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c index a9a09a2dd5..355e2482cf 100644 --- a/gtk/gtkcomboboxtext.c +++ b/gtk/gtkcomboboxtext.c @@ -216,7 +216,8 @@ gtk_combo_box_text_append (GtkComboBoxText *combo_box, /** * gtk_combo_box_text_prepend: * @combo_box: A #GtkComboBox - * @text: A string + * @id: (allow-none): a string ID for this value, or %NULL + * @text: a string * * Prepends @text to the list of strings stored in @combo_box. If @id * is non-%NULL then it is used as the ID of the row. @@ -239,7 +240,7 @@ gtk_combo_box_text_prepend (GtkComboBoxText *combo_box, * gtk_combo_box_text_insert: * @combo_box: A #GtkComboBoxText * @position: An index to insert @text - * @id: a string ID for this value, or %NULL + * @id: (allow-none): a string ID for this value, or %NULL * @text: A string to display * * Inserts @text at @position in the list of strings stored in @combo_box. diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 4fc770017e..b92627a679 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -861,7 +861,7 @@ gtk_window_class_init (GtkWindowClass *klass) GTK_PARAM_READWRITE)); /** - * GtkWindow: resize-grip-visible: + * GtkWindow:resize-grip-visible: * * Whether a corner resize grip is currently shown. * @@ -5520,7 +5520,7 @@ update_grip_visibility (GtkWindow *window) * * Determines whether a resize grip is visible for the specified window. * - * Returns %TRUE if a resize grip exists and is visible. + * Returns: %TRUE if a resize grip exists and is visible * * Since: 3.0 */ @@ -5567,7 +5567,7 @@ gtk_window_resize_grip_is_visible (GtkWindow *window) * * Determines whether the window may have a resize grip. * - * Returns: %TRUE if the window has a resize grip. + * Returns: %TRUE if the window has a resize grip * * Since: 3.0 */ @@ -5583,12 +5583,12 @@ gtk_window_get_has_resize_grip (GtkWindow *window) * gtk_window_get_resize_grip_area: * @window: a #GtkWindow * @rect: a pointer to a #GdkRectangle which we should store the - * resize grip area. + * resize grip area * * If a window has a resize grip, this will retrieve the grip * position, width and height into the specified #GdkRectangle. * - * Returns: %TRUE if the resize grip's area was retrieved. + * Returns: %TRUE if the resize grip's area was retrieved * * Since: 3.0 */ From 6619ac35e3e6bc693ba41fcdf481f8b1c9bb75f1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 08:12:01 -0500 Subject: [PATCH 1248/1463] Documentation fixes --- gtk/gtkthemingengine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 588d107d8c..da57477c64 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -809,7 +809,7 @@ gtk_theming_engine_get_border_color (GtkThemingEngine *engine, * gtk_theming_engine_get_border: * @engine: a #GtkthemingEngine * @state: state to retrieve the border for - * @color: (out): return value for the border settings + * @border: (out): return value for the border settings * * Gets the border for a given state as a #GtkBorder. * From f35c3fd5f7477032af9ca7fbcc29f837b97aa36a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 08:23:18 -0500 Subject: [PATCH 1249/1463] Undoccommentize gtktreemenu.c --- gtk/gtktreemenu.c | 62 +++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index 9340ee68d9..e7ed138b17 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -23,7 +23,7 @@ * Boston, MA 02111-1307, USA. */ -/** +/* * SECTION:gtktreemenu * @Short_Description: A GtkMenu automatically created from a #GtkTreeModel * @Title: GtkTreeMenu @@ -253,7 +253,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) widget_class->get_preferred_width = gtk_tree_menu_get_preferred_width; widget_class->get_preferred_height = gtk_tree_menu_get_preferred_height; - /** + /* * GtkTreeMenu::menu-activate: * @menu: a #GtkTreeMenu * @path: the #GtkTreePath string for the item which was activated @@ -274,11 +274,11 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) _gtk_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); - /** + /* * GtkTreeMenu:model: * * The #GtkTreeModel from which the menu is constructed. - * + * * Since: 3.0 */ g_object_class_install_property (object_class, @@ -289,7 +289,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_TREE_MODEL, GTK_PARAM_READWRITE)); - /** + /* * GtkTreeMenu:root: * * The #GtkTreePath that is the root for this menu, or %NULL. @@ -313,7 +313,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_TREE_PATH, GTK_PARAM_READWRITE)); - /** + /* * GtkTreeMenu:cell-area: * * The #GtkCellArea used to render cells in the menu items. @@ -331,7 +331,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) GTK_TYPE_CELL_AREA, GTK_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - /** + /* * GtkTreeMenu:tearoff: * * Specifies whether this menu comes with a leading tearoff menu item @@ -346,7 +346,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) FALSE, GTK_PARAM_READWRITE)); - /** + /* * GtkTreeMenu:wrap-width: * * If wrap-width is set to a positive value, the list will be @@ -365,7 +365,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) 0, GTK_PARAM_READWRITE)); - /** + /* * GtkTreeMenu:row-span-column: * * If this is set to a non-negative value, it must be the index of a column @@ -387,7 +387,7 @@ _gtk_tree_menu_class_init (GtkTreeMenuClass *class) -1, GTK_PARAM_READWRITE)); - /** + /* * GtkTreeMenu:column-span-column: * * If this is set to a non-negative value, it must be the index of a column @@ -1548,7 +1548,7 @@ _gtk_tree_menu_new (void) return (GtkWidget *)g_object_new (GTK_TYPE_TREE_MENU, NULL); } -/** +/* * _gtk_tree_menu_new_with_area: * @area: the #GtkCellArea to use to render cells in the menu * @@ -1566,7 +1566,7 @@ _gtk_tree_menu_new_with_area (GtkCellArea *area) NULL); } -/** +/* * _gtk_tree_menu_new_full: * @area: (allow-none): the #GtkCellArea to use to render cells in the menu, or %NULL. * @model: (allow-none): the #GtkTreeModel to build the menu heirarchy from, or %NULL. @@ -1590,7 +1590,7 @@ _gtk_tree_menu_new_full (GtkCellArea *area, NULL); } -/** +/* * _gtk_tree_menu_set_model: * @menu: a #GtkTreeMenu * @model: (allow-none): the #GtkTreeModel to build the menu hierarchy from, or %NULL. @@ -1611,7 +1611,7 @@ _gtk_tree_menu_set_model (GtkTreeMenu *menu, rebuild_menu (menu); } -/** +/* * _gtk_tree_menu_get_model: * @menu: a #GtkTreeMenu * @@ -1634,7 +1634,7 @@ _gtk_tree_menu_get_model (GtkTreeMenu *menu) return priv->model; } -/** +/* * _gtk_tree_menu_set_root: * @menu: a #GtkTreeMenu * @path: (allow-none): the #GtkTreePath which is the root of @menu, or %NULL. @@ -1666,7 +1666,7 @@ _gtk_tree_menu_set_root (GtkTreeMenu *menu, rebuild_menu (menu); } -/** +/* * _gtk_tree_menu_get_root: * @menu: a #GtkTreeMenu * @@ -1693,7 +1693,7 @@ _gtk_tree_menu_get_root (GtkTreeMenu *menu) return NULL; } -/** +/* * _gtk_tree_menu_get_tearoff: * @menu: a #GtkTreeMenu * @@ -1715,7 +1715,7 @@ _gtk_tree_menu_get_tearoff (GtkTreeMenu *menu) return priv->tearoff; } -/** +/* * _gtk_tree_menu_set_tearoff: * @menu: a #GtkTreeMenu * @tearoff: whether the menu should have a leading tearoff menu item. @@ -1744,7 +1744,7 @@ _gtk_tree_menu_set_tearoff (GtkTreeMenu *menu, } } -/** +/* * _gtk_tree_menu_get_wrap_width: * @menu: a #GtkTreeMenu * @@ -1767,7 +1767,7 @@ _gtk_tree_menu_get_wrap_width (GtkTreeMenu *menu) return priv->wrap_width; } -/** +/* * _gtk_tree_menu_set_wrap_width: * @menu: a #GtkTreeMenu * @width: the wrap width @@ -1798,7 +1798,7 @@ _gtk_tree_menu_set_wrap_width (GtkTreeMenu *menu, } } -/** +/* * _gtk_tree_menu_get_row_span_column: * @menu: a #GtkTreeMenu * @@ -1822,7 +1822,7 @@ _gtk_tree_menu_get_row_span_column (GtkTreeMenu *menu) return priv->row_span_col; } -/** +/* * _gtk_tree_menu_set_row_span_column: * @menu: a #GtkTreeMenu * @row_span: the column in the model to fetch the row span for a given menu item. @@ -1854,7 +1854,7 @@ _gtk_tree_menu_set_row_span_column (GtkTreeMenu *menu, } } -/** +/* * _gtk_tree_menu_get_column_span_column: * @menu: a #GtkTreeMenu * @@ -1878,7 +1878,7 @@ _gtk_tree_menu_get_column_span_column (GtkTreeMenu *menu) return priv->col_span_col; } -/** +/* * _gtk_tree_menu_set_column_span_column: * @menu: a #GtkTreeMenu * @column_span: the column in the model to fetch the column span for a given menu item. @@ -1910,12 +1910,12 @@ _gtk_tree_menu_set_column_span_column (GtkTreeMenu *menu, } } -/** +/* * _gtk_tree_menu_get_row_separator_func: * @menu: a #GtkTreeMenu - * + * * Gets the current #GtkTreeViewRowSeparatorFunc separator function. - * + * * Return value: the current row separator function. * * Since: 3.0 @@ -1932,13 +1932,13 @@ _gtk_tree_menu_get_row_separator_func (GtkTreeMenu *menu) return priv->row_separator_func; } -/** +/* * _gtk_tree_menu_set_row_separator_func: * @menu: a #GtkTreeMenu * @func: (allow-none): a #GtkTreeViewRowSeparatorFunc, or %NULL to unset the separator function. * @data: (allow-none): user data to pass to @func, or %NULL * @destroy: (allow-none): destroy notifier for @data, or %NULL - * + * * Sets the row separator function, which is used to determine * whether a row should be drawn as a separator. If the row separator * function is %NULL, no separators are drawn. This is the default value. @@ -1967,7 +1967,7 @@ _gtk_tree_menu_set_row_separator_func (GtkTreeMenu *menu, rebuild_menu (menu); } -/** +/* * _gtk_tree_menu_get_header_func: * @menu: a #GtkTreeMenu * @@ -1989,7 +1989,7 @@ _gtk_tree_menu_get_header_func (GtkTreeMenu *menu) return priv->header_func; } -/** +/* * _gtk_tree_menu_set_header_func: * @menu: a #GtkTreeMenu * @func: (allow-none): a #GtkTreeMenuHeaderFunc, or %NULL to unset the header function. From 6cdb6255afa06699a01463d389c0217f41ac6fca Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 09:06:24 -0500 Subject: [PATCH 1250/1463] More documentation fixes --- docs/reference/gtk/gtk-query-immodules-3.0.xml | 2 +- docs/reference/gtk/tmpl/gtktextbuffer.sgml | 2 +- gtk/gtkaccelgroup.c | 12 ++++++------ gtk/gtkappchooserdialog.c | 4 ++-- gtk/gtkcellarea.c | 2 +- gtk/gtkfilechooser.c | 6 +++--- gtk/gtkmain.c | 2 +- gtk/gtksettings.c | 4 ++-- gtk/gtksizegroup.c | 6 +++--- gtk/gtktoolshell.c | 2 +- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/reference/gtk/gtk-query-immodules-3.0.xml b/docs/reference/gtk/gtk-query-immodules-3.0.xml index 609323c7e2..c9e541b6d2 100644 --- a/docs/reference/gtk/gtk-query-immodules-3.0.xml +++ b/docs/reference/gtk/gtk-query-immodules-3.0.xml @@ -2,7 +2,7 @@ - + gtk-query-immodules-3.0 diff --git a/docs/reference/gtk/tmpl/gtktextbuffer.sgml b/docs/reference/gtk/tmpl/gtktextbuffer.sgml index f7cfdef356..ff1c01a417 100644 --- a/docs/reference/gtk/tmpl/gtktextbuffer.sgml +++ b/docs/reference/gtk/tmpl/gtktextbuffer.sgml @@ -931,7 +931,7 @@ It must return the serialized form of the content. @register_buffer: the #GtkTextBuffer for which the format is registered -@content_buffer: the #GtkTextsBuffer to serialize +@content_buffer: the #GtkTextBuffer to serialize @start: start of the block of text to serialize @end: end of the block of text to serialize @length: Return location for the length of the serialized data diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index aed1dd3a30..9e43ccaf7c 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -950,11 +950,11 @@ gtk_accel_groups_activate (GObject *object, * @keyval: a GDK keyval * @modifiers: modifier mask * @returns: %TRUE if the accelerator is valid - * + * * Determines whether a given keyval and modifier mask constitute - * a valid keyboard accelerator. For example, the #GDK_a keyval + * a valid keyboard accelerator. For example, the #GDK_KEY_a keyval * plus #GDK_CONTROL_MASK is valid - this is a "Ctrl+a" accelerator. - * But, you can't, for instance, use the #GDK_Control_L keyval + * But, you can't, for instance, use the #GDK_KEY_Control_L keyval * as an accelerator. */ gboolean @@ -1278,11 +1278,11 @@ gtk_accelerator_parse (const gchar *accelerator, * gtk_accelerator_name: * @accelerator_key: accelerator keyval * @accelerator_mods: accelerator modifier mask - * + * * Converts an accelerator keyval and modifier mask * into a string parseable by gtk_accelerator_parse(). - * For example, if you pass in #GDK_q and #GDK_CONTROL_MASK, - * this function returns "<Control>q". + * For example, if you pass in #GDK_KEY_q and #GDK_CONTROL_MASK, + * this function returns "<Control>q". * * If you need to display accelerators in the user interface, * see gtk_accelerator_get_label(). diff --git a/gtk/gtkappchooserdialog.c b/gtk/gtkappchooserdialog.c index f83eec4fe8..04785d0c49 100644 --- a/gtk/gtkappchooserdialog.c +++ b/gtk/gtkappchooserdialog.c @@ -33,8 +33,8 @@ * * Note that #GtkAppChooserDialog does not have any interesting methods * of its own. Instead, you should get the embedded #GtkAppChooserWidget - * using gtk_file_chooser_dialog_get_widget() and call its methods if - * the gneeric #GtkAppChooser interface is not sufficient for your needs. + * using gtk_app_chooser_dialog_get_widget() and call its methods if + * the generic #GtkAppChooser interface is not sufficient for your needs. */ #include "config.h" diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 60ff2f82a2..94b2967fec 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -231,7 +231,7 @@ * give every row it's minimum or natural height or, if the model content * is expected to fit inside the layouting widget without scrolling, it * would make sense to calculate the allocation for each row at - * #GtkWidget.size_allocate() time using gtk_distribute_natural_allocation(). + * #GtkWidget::size-allocate time using gtk_distribute_natural_allocation(). * * * diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c index a0eecbdbe4..898b3d47ec 100644 --- a/gtk/gtkfilechooser.c +++ b/gtk/gtkfilechooser.c @@ -915,7 +915,7 @@ gtk_file_chooser_set_local_only (GtkFileChooser *chooser, /** * gtk_file_chooser_get_local_only: - * @chooser: a #GtkFileChoosre + * @chooser: a #GtkFileChooser * * Gets whether only local files can be selected in the * file selector. See gtk_file_chooser_set_local_only() @@ -1264,7 +1264,7 @@ gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, * Note that this is the folder that the file chooser is currently displaying * (e.g. "/home/username/Documents"), which is not the same * as the currently-selected folder if the chooser is in - * %GTK_FILE_CHOOSER_SELECT_FOLDER mode + * %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER mode * (e.g. "/home/username/Documents/selected-folder/". To get the * currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the * usual way to get the selection. @@ -1568,7 +1568,7 @@ gtk_file_chooser_set_current_folder_uri (GtkFileChooser *chooser, * Note that this is the folder that the file chooser is currently displaying * (e.g. "file:///home/username/Documents"), which is not the same * as the currently-selected folder if the chooser is in - * %GTK_FILE_CHOOSER_SELECT_FOLDER mode + * %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER mode * (e.g. "file:///home/username/Documents/selected-folder/". To get the * currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the * usual way to get the selection. diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 06ec9f3d7a..63376bfb1f 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -52,7 +52,7 @@ * * When your callbacks are invoked, you would typically take some action - for * example, when an Open button is clicked you might display a - * #GtkFileSelectionDialog. After a callback finishes, GTK+ will return to the + * #GtkFileChooserDialog. After a callback finishes, GTK+ will return to the * main loop and await more user input. * * diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 5ce17e8b14..5d17d5fccf 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -1047,7 +1047,7 @@ gtk_settings_class_init (GtkSettingsClass *class) g_assert (result == PROP_ENABLE_TOOLTIPS); /** - * GtkSettings:toolbar-style: + * GtkSettings:gtk-toolbar-style: * * The size of icons in default toolbars. */ @@ -1062,7 +1062,7 @@ gtk_settings_class_init (GtkSettingsClass *class) g_assert (result == PROP_TOOLBAR_STYLE); /** - * GtkSettings:toolbar-icon-size: + * GtkSettings:gtk-toolbar-icon-size: * * The size of icons in default toolbars. */ diff --git a/gtk/gtksizegroup.c b/gtk/gtksizegroup.c index 836b3da2a8..54042a0ed7 100644 --- a/gtk/gtksizegroup.c +++ b/gtk/gtksizegroup.c @@ -475,10 +475,10 @@ gtk_size_group_new (GtkSizeGroupMode mode) * * Sets the #GtkSizeGroupMode of the size group. The mode of the size * group determines whether the widgets in the size group should - * all have the same horizontal requisition (%GTK_SIZE_GROUP_MODE_HORIZONTAL) - * all have the same vertical requisition (%GTK_SIZE_GROUP_MODE_VERTICAL), + * all have the same horizontal requisition (%GTK_SIZE_GROUP_HORIZONTAL) + * all have the same vertical requisition (%GTK_SIZE_GROUP_VERTICAL), * or should all have the same requisition in both directions - * (%GTK_SIZE_GROUP_MODE_BOTH). + * (%GTK_SIZE_GROUP_BOTH). **/ void gtk_size_group_set_mode (GtkSizeGroup *size_group, diff --git a/gtk/gtktoolshell.c b/gtk/gtktoolshell.c index 12d019f088..7dc4bf5ac2 100644 --- a/gtk/gtktoolshell.c +++ b/gtk/gtktoolshell.c @@ -94,7 +94,7 @@ gtk_tool_shell_get_orientation (GtkToolShell *shell) * @shell: a #GtkToolShell * * Retrieves whether the tool shell has text, icons, or both. Tool items must - * not call this function directly, but rely on gtk_tool_item_get_style() + * not call this function directly, but rely on gtk_tool_item_get_toolbar_style() * instead. * * Return value: the current style of @shell From 7f58c57606c0902fc79789193eb5610fb9a4cbb1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 11:27:15 -0500 Subject: [PATCH 1251/1463] Bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 31246415f9..3a1a5de523 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [99]) -m4_define([gtk_micro_version], [0]) +m4_define([gtk_micro_version], [1]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From aead0b04dffda32a198ccfd8b2510b35ecadfcc5 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 6 Jan 2011 11:27:38 -0500 Subject: [PATCH 1252/1463] Forgotten documentation fix --- gtk/gtkcellarea.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 94b2967fec..7c635f650a 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2489,7 +2489,7 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass *aclass, * with @first_prop_name * * Adds @renderer to @area, setting cell properties at the same time. - * See gtk_cell_area_add() and gtk_cell_area_child_set() for more details. + * See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details. * * Since: 3.0 */ From 7fc09ee135140069d925b7dbb12ec105f7987ae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Fri, 7 Jan 2011 00:11:51 +0100 Subject: [PATCH 1253/1463] Updated Galician translations --- po-properties/gl.po | 3496 ++++++++++++++++++++++++------------------- po/gl.po | 969 ++++++------ 2 files changed, 2468 insertions(+), 1997 deletions(-) diff --git a/po-properties/gl.po b/po-properties/gl.po index fa261040b5..fc6ad53e11 100644 --- a/po-properties/gl.po +++ b/po-properties/gl.po @@ -18,141 +18,168 @@ # Antón Méixome , 2009. # Antón Méixome , 2010. # Fran Dieguez , 2009, 2010. -# Fran Diéguez , 2009, 2010. +# Fran Diéguez , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-properties-gl-77816____.merged\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 14:51+0100\n" -"PO-Revision-Date: 2010-12-05 14:55+0100\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" +"%2b&component=general\n" +"POT-Creation-Date: 2011-01-06 12:46+0000\n" +"PO-Revision-Date: 2011-01-07 00:11+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" -"Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: gl\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdkdevice.c:113 -msgid "Device Display" -msgstr "Pantalla do dispositivo" - -#: ../gdk/gdkdevice.c:114 -msgid "Display which the device belongs to" -msgstr "Pantalla á que pertence o dispositivo" - -#: ../gdk/gdkdevice.c:128 -msgid "Device manager" -msgstr "Xestor de dispositivos" - -#: ../gdk/gdkdevice.c:129 -msgid "Device manager which the device belongs to" -msgstr "Xestor de dispositivos ao que pertence o dispositivos" - -#: ../gdk/gdkdevice.c:143 ../gdk/gdkdevice.c:144 -msgid "Device name" -msgstr "Nome do dispositivo" - -#: ../gdk/gdkdevice.c:158 -msgid "Device type" -msgstr "Tipo de dispositivo" - -#: ../gdk/gdkdevice.c:159 -msgid "Device role in the device manager" -msgstr "Rol do dispositivo no xestor de dispositivos" - -#: ../gdk/gdkdevice.c:175 -msgid "Associated device" -msgstr "Dispositivo asociado" - -#: ../gdk/gdkdevice.c:176 -msgid "Associated pointer or keyboard with this device" -msgstr "Punteiro ou teclado asociado a este dispositivo" - -#: ../gdk/gdkdevice.c:189 -msgid "Input source" -msgstr "Orixe de entrada" - -#: ../gdk/gdkdevice.c:190 -msgid "Source type for the device" -msgstr "Tipo de orixe para o dispositivo" - -#: ../gdk/gdkdevice.c:205 ../gdk/gdkdevice.c:206 -msgid "Input mode for the device" -msgstr "Modo de entrada para o dispositivo" - -#: ../gdk/gdkdevice.c:221 -msgid "Whether the device has a cursor" -msgstr "Indica se o dispositivo ten un cursor" - -#: ../gdk/gdkdevice.c:222 -msgid "Whether there is a visible cursor following device motion" -msgstr "Indica se hai un cursor visíbel seguindo o movemento do dispositivo" - -#: ../gdk/gdkdevice.c:236 ../gdk/gdkdevice.c:237 -msgid "Number of axes in the device" -msgstr "Número de eixos no dispositivo" - -#: ../gdk/gdkdevicemanager.c:136 +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 msgid "Display" msgstr "Pantalla" -#: ../gdk/gdkdevicemanager.c:137 +#: ../gdk/gdkcursor.c:128 +#| msgid "Cursor" +msgid "Cursor type" +msgstr "Tipo de cursor" + +#: ../gdk/gdkcursor.c:129 +#| msgid "Secondary storage type" +msgid "Standard cursor type" +msgstr "Tipo de cursor estándar" + +#: ../gdk/gdkcursor.c:137 +#| msgid "Display the cell" +msgid "Display of this cursor" +msgstr "" + +#: ../gdk/gdkdevice.c:111 +msgid "Device Display" +msgstr "Pantalla do dispositivo" + +#: ../gdk/gdkdevice.c:112 +msgid "Display which the device belongs to" +msgstr "Pantalla á que pertence o dispositivo" + +#: ../gdk/gdkdevice.c:126 +msgid "Device manager" +msgstr "Xestor de dispositivos" + +#: ../gdk/gdkdevice.c:127 +msgid "Device manager which the device belongs to" +msgstr "Xestor de dispositivos ao que pertence o dispositivos" + +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 +msgid "Device name" +msgstr "Nome do dispositivo" + +#: ../gdk/gdkdevice.c:156 +msgid "Device type" +msgstr "Tipo de dispositivo" + +#: ../gdk/gdkdevice.c:157 +msgid "Device role in the device manager" +msgstr "Rol do dispositivo no xestor de dispositivos" + +#: ../gdk/gdkdevice.c:173 +msgid "Associated device" +msgstr "Dispositivo asociado" + +#: ../gdk/gdkdevice.c:174 +msgid "Associated pointer or keyboard with this device" +msgstr "Punteiro ou teclado asociado a este dispositivo" + +#: ../gdk/gdkdevice.c:187 +msgid "Input source" +msgstr "Orixe de entrada" + +#: ../gdk/gdkdevice.c:188 +msgid "Source type for the device" +msgstr "Tipo de orixe para o dispositivo" + +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 +msgid "Input mode for the device" +msgstr "Modo de entrada para o dispositivo" + +#: ../gdk/gdkdevice.c:219 +msgid "Whether the device has a cursor" +msgstr "Indica se o dispositivo ten un cursor" + +#: ../gdk/gdkdevice.c:220 +msgid "Whether there is a visible cursor following device motion" +msgstr "Indica se hai un cursor visíbel seguindo o movemento do dispositivo" + +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 +msgid "Number of axes in the device" +msgstr "Número de eixos no dispositivo" + +#: ../gdk/gdkdevicemanager.c:147 msgid "Display for the device manager" msgstr "Pantalla para o xestor de dispositivos" -#: ../gdk/gdkdisplaymanager.c:106 +#: ../gdk/gdkdisplaymanager.c:117 msgid "Default Display" msgstr "Pantalla predefinida" -#: ../gdk/gdkdisplaymanager.c:107 +#: ../gdk/gdkdisplaymanager.c:118 msgid "The default display for GDK" msgstr "Pantalla predefinida para o GDK" -#: ../gdk/gdkscreen.c:90 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Opcións de tipo de letra" -#: ../gdk/gdkscreen.c:91 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "As opcións predefinidas do tipo de letra para a pantalla" -#: ../gdk/gdkscreen.c:98 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Resolución do tipo de letra" -#: ../gdk/gdkscreen.c:99 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "A resolución para os tipos de letra na pantalla" -#: ../gdk/gdkwindow.c:393 ../gdk/gdkwindow.c:394 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Cursor" #: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 -#: ../gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "ID do dispositivo" -#: ../gdk/x11/gdkdevice-xi2.c:113 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" msgstr "Identificador do dispotitivo" -#: ../gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +#| msgid "mode" +msgid "Opcode" +msgstr "Opcode" + +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +#| msgid "Event base for XInput events" +msgid "Opcode for XInput2 requests" +msgstr "Opcode para as solicitudes XInput2" + +#: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "Evento base" -#: ../gdk/x11/gdkdevicemanager-xi.c:86 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "Evento base para os eventos XInput" -#: ../gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:276 msgid "Program name" msgstr "Nome do programa" -#: ../gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:277 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -160,96 +187,93 @@ msgstr "" "O nome do programa. Se non se define, usarase de forma predefinida " "g_get_application_name()" -#: ../gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:291 msgid "Program version" msgstr "Versión do programa" -#: ../gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:292 msgid "The version of the program" msgstr "A versión do programa" -#: ../gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:306 msgid "Copyright string" msgstr "Cadea de dereitos de autor" -#: ../gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright information for the program" msgstr "Información de dereitos de autor do programa" -#: ../gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:324 msgid "Comments string" msgstr "Cadea de comentarios" -#: ../gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments about the program" msgstr "Comentarios sobre o programa" -#: ../gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:375 msgid "License Type" msgstr "Tipo de licenza" -#: ../gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:376 msgid "The license type of the program" msgstr "O tipo de licenza do programa" -#: ../gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:392 msgid "Website URL" msgstr "URL do sitio web" -#: ../gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:393 msgid "The URL for the link to the website of the program" msgstr "O URL para a ligazón ao sitio web do programa" -#: ../gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:407 msgid "Website label" msgstr "Etiqueta do sitio web" -#: ../gtk/gtkaboutdialog.c:402 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"A etiqueta para a ligazón ao sitio web do programa. Se non se define, " -"usarase o URL predefinido" +#: ../gtk/gtkaboutdialog.c:408 +#| msgid "The URL for the link to the website of the program" +msgid "The label for the link to the website of the program" +msgstr "A etiqueta para a ligazón do sitio web para este sitio" -#: ../gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:424 msgid "Authors" msgstr "Autores" -#: ../gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:425 msgid "List of authors of the program" msgstr "Lista de autores do programa" -#: ../gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:441 msgid "Documenters" msgstr "Documentadores" -#: ../gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:442 msgid "List of people documenting the program" msgstr "Lista de persoas que documentan o programa" -#: ../gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:458 msgid "Artists" msgstr "Artistas" -#: ../gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:459 msgid "List of people who have contributed artwork to the program" msgstr "Lista de xente que contribuíu con material gráfico ao programa" -#: ../gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:476 msgid "Translator credits" msgstr "Créditos de tradución" -#: ../gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:477 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "Créditos dos tradutores. Esta cadea deberá marcarse como traducíbel" -#: ../gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:492 msgid "Logo" msgstr "Logotipo" -#: ../gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:493 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -257,40 +281,40 @@ msgstr "" "Un logotipo para a caixa Sobre. Se non se define, o predefinido é " "gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:508 msgid "Logo Icon Name" msgstr "Nome da icona do logotipo" -#: ../gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:509 msgid "A named icon to use as the logo for the about box." msgstr "Unha icona con nome para usar como logotipo na caixa Sobre." -#: ../gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:522 msgid "Wrap license" msgstr "Axustar a licenza" -#: ../gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:523 msgid "Whether to wrap the license text." msgstr "Indica se se debe axustar o texto da licenza." -#: ../gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:187 msgid "Accelerator Closure" msgstr "Peche do acelerador" -#: ../gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:188 msgid "The closure to be monitored for accelerator changes" msgstr "O peche que se vai monitorizar para os cambios no acelerador" -#: ../gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:194 msgid "Accelerator Widget" msgstr "Widget do acelerador" -#: ../gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:195 msgid "The widget to be monitored for accelerator changes" msgstr "O widget que se vai monitorizar para os cambios no acelerador" #: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 -#: ../gtk/gtktextmark.c:89 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "Nome" @@ -298,9 +322,9 @@ msgstr "Nome" msgid "A unique name for the action." msgstr "Un nome único para a acción." -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:209 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Etiqueta" @@ -336,23 +360,23 @@ msgid "The stock icon displayed in widgets representing this action." msgstr "" "A icona de inventario mostrada nos widgets que representan esta acción." -#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 msgid "GIcon" msgstr "GIcon" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "A GIcon que se mostra" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:732 +#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Nome da icona" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "O nome da icona do tema de iconas" @@ -414,7 +438,7 @@ msgstr "" "Cando é TRUE, ocúltanse os proxies de menú baleiro para este aplicativo." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:282 ../gtk/gtkwidget.c:927 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:935 msgid "Sensitive" msgstr "Sensíbel" @@ -423,8 +447,8 @@ msgid "Whether the action is enabled." msgstr "Indica se a acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:213 -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:928 msgid "Visible" msgstr "Visíbel" @@ -444,11 +468,11 @@ msgstr "" "O GtkActionGroup co que esta GtkAction está asociada ou NULL (para uso " "interno)." -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "Mostrar sempre a imaxe" -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "Indica se hai que mostrar a imaxe sempre" @@ -464,76 +488,76 @@ msgstr "Indica se o grupo de acción está activado." msgid "Whether the action group is visible." msgstr "Indica se o grupo de acción é visíbel." -#: ../gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:289 msgid "Related Action" msgstr "Acción relacionada" -#: ../gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:290 msgid "The action this activatable will activate and receive updates from" msgstr "A acción que activará este activábel e do cal recibirá actualizacións" -#: ../gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:312 msgid "Use Action Appearance" msgstr "Usar aparencia de activación" -#: ../gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:313 msgid "Whether to use the related actions appearance properties" msgstr "Cando usar as accións relacionadas coas propiedades da aparencia" -#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:291 +#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 msgid "Value" msgstr "Valor" -#: ../gtk/gtkadjustment.c:115 +#: ../gtk/gtkadjustment.c:124 msgid "The value of the adjustment" msgstr "O valor do axuste" -#: ../gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:140 msgid "Minimum Value" msgstr "Valor mínimo" -#: ../gtk/gtkadjustment.c:132 +#: ../gtk/gtkadjustment.c:141 msgid "The minimum value of the adjustment" msgstr "O valor mínimo do axuste" -#: ../gtk/gtkadjustment.c:151 +#: ../gtk/gtkadjustment.c:160 msgid "Maximum Value" msgstr "Valor máximo" -#: ../gtk/gtkadjustment.c:152 +#: ../gtk/gtkadjustment.c:161 msgid "The maximum value of the adjustment" msgstr "O valor máximo do axuste" -#: ../gtk/gtkadjustment.c:168 +#: ../gtk/gtkadjustment.c:177 msgid "Step Increment" msgstr "Incremento de paso" -#: ../gtk/gtkadjustment.c:169 +#: ../gtk/gtkadjustment.c:178 msgid "The step increment of the adjustment" msgstr "O incremento de paso do axuste" -#: ../gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:194 msgid "Page Increment" msgstr "Incremento de páxina" -#: ../gtk/gtkadjustment.c:186 +#: ../gtk/gtkadjustment.c:195 msgid "The page increment of the adjustment" msgstr "O incremento de páxina do axuste" -#: ../gtk/gtkadjustment.c:205 +#: ../gtk/gtkadjustment.c:214 msgid "Page Size" msgstr "Tamaño de páxina" -#: ../gtk/gtkadjustment.c:206 +#: ../gtk/gtkadjustment.c:215 msgid "The page size of the adjustment" msgstr "O tamaño de páxina do axuste" -#: ../gtk/gtkalignment.c:127 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "Aliñamento horizontal" -#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -541,11 +565,11 @@ msgstr "" "Posición horizontal do fillo no espazo dispoñíbel. 0.0 é aliñado á esquerda, " "1.0 é aliñado á dereita" -#: ../gtk/gtkalignment.c:137 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "Aliñamento vertical" -#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -553,11 +577,11 @@ msgstr "" "Posición vertical do fillo no espazo dispoñíbel. 0.0 é aliñado arriba, 1.0 é " "aliñado abaixo" -#: ../gtk/gtkalignment.c:146 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "Escala horizontal" -#: ../gtk/gtkalignment.c:147 +#: ../gtk/gtkalignment.c:157 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -565,11 +589,11 @@ msgstr "" "Se o espazo horizontal dispoñíbel é maior que o necesitado para o fillo, " "canto se debe usar para o fillo. 0.0 significa nada, 1.0 significa todo" -#: ../gtk/gtkalignment.c:155 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "Escala vertical" -#: ../gtk/gtkalignment.c:156 +#: ../gtk/gtkalignment.c:166 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -577,38 +601,129 @@ msgstr "" "Se o espazo vertical dispoñíbel é maior que o necesario para o fillo, canto " "se debe usar para o fillo. 0.0 significa nada, 1.0 significa todo" -#: ../gtk/gtkalignment.c:173 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "Recheo superior" -#: ../gtk/gtkalignment.c:174 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "O recheo para introducir por encima do widget." -#: ../gtk/gtkalignment.c:190 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "Recheo inferior" -#: ../gtk/gtkalignment.c:191 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "O recheo para introducir por debaixo do widget." -#: ../gtk/gtkalignment.c:207 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "Recheo á esquerda" -#: ../gtk/gtkalignment.c:208 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "O recheo para introducir á esquerda do widget." -#: ../gtk/gtkalignment.c:224 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "Recheo á dereita" -#: ../gtk/gtkalignment.c:225 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "O recheo para introducir á dereita do widget." +#: ../gtk/gtkappchooserbutton.c:536 +msgid "Include an 'Other...' item" +msgstr "Incluír un elemento «Outro...»" + +#: ../gtk/gtkappchooserbutton.c:537 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" + +#: ../gtk/gtkappchooser.c:58 +#| msgid "Font style" +msgid "Content type" +msgstr "Tipo de contido" + +#: ../gtk/gtkappchooser.c:59 +#| msgid "The contents of the entry" +msgid "The content type used by the open with object" +msgstr "O tipo de contido usado polo «abrir con obxecto»" + +#: ../gtk/gtkappchooserdialog.c:683 +#| msgid "Filter" +msgid "GFile" +msgstr "GFile" + +#: ../gtk/gtkappchooserdialog.c:684 +#| msgid "The title of the file chooser dialog." +msgid "The GFile used by the app chooser dialog" +msgstr "O GFile usado polo diálogo de selección de aplicativo" + +#: ../gtk/gtkappchooserwidget.c:1015 +msgid "Show default app" +msgstr "Mostrar o aplicativo predeterminado" + +#: ../gtk/gtkappchooserwidget.c:1016 +#| msgid "Whether the widget is the default widget" +msgid "Whether the widget should show the default application" +msgstr "Indica se o widget debería mostrar o aplicativo predeterminado" + +#: ../gtk/gtkappchooserwidget.c:1029 +msgid "Show recommended apps" +msgstr "Mostrar os aplicativos recomendados" + +#: ../gtk/gtkappchooserwidget.c:1030 +#, fuzzy +#| msgid "Whether images should be shown on buttons" +msgid "Whether the widget should show recommended applications" +msgstr "Indica se se deberían mostrar as imaxes nos botóns" + +#: ../gtk/gtkappchooserwidget.c:1043 +msgid "Show fallback apps" +msgstr "Most" + +#: ../gtk/gtkappchooserwidget.c:1044 +#, fuzzy +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether the widget should show fallback applications" +msgstr "" +"Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" + +#: ../gtk/gtkappchooserwidget.c:1056 +#| msgid "Show Tooltips" +msgid "Show other apps" +msgstr "Mostrar outros aplicativos" + +#: ../gtk/gtkappchooserwidget.c:1057 +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether the widget should show other applications" +msgstr "Indica se o widget ten o foco de entrada" + +#: ../gtk/gtkappchooserwidget.c:1070 +#| msgid "Show Day Names" +msgid "Show all apps" +msgstr "Mostrar tódolos aplicativos" + +#: ../gtk/gtkappchooserwidget.c:1071 +#, fuzzy +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether the widget should show all applications" +msgstr "" +"Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" + +#: ../gtk/gtkappchooserwidget.c:1084 +msgid "Widget's default text" +msgstr "Texto predeterminado do widget" + +#: ../gtk/gtkappchooserwidget.c:1085 +msgid "The default text appearing when there are no applications" +msgstr "O texto predeterminado que aparece cando non hai aplicativos" + #: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Dirección da frecha" @@ -625,7 +740,7 @@ msgstr "Sombra da frecha" msgid "Appearance of the shadow surrounding the arrow" msgstr "Aparencia da sombra que rodea a frecha" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Escalado de frecha" @@ -665,59 +780,59 @@ msgstr "Obedecer ao fillo" msgid "Force aspect ratio to match that of the frame's child" msgstr "Forzar a proporción de aspecto para que coincida coa do marco do fillo" -#: ../gtk/gtkassistant.c:327 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "Recheo da cabeceira" -#: ../gtk/gtkassistant.c:328 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "Número de píxeles ao redor da cabeceira." -#: ../gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "Recheo do contido" -#: ../gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "Número de píxeles ao redor das páxinas de contidos." -#: ../gtk/gtkassistant.c:352 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "Tipo de páxina" -#: ../gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "O tipo da páxina do asistente" -#: ../gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "Título da páxina" -#: ../gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "O título da páxina do asistente" -#: ../gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "Imaxe de cabeceira" -#: ../gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "Imaxe de cabeceira para a páxina do asistente" -#: ../gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "Imaxe da barra lateral" -#: ../gtk/gtkassistant.c:405 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "Imaxe da barra lateral da páxina do asistente" -#: ../gtk/gtkassistant.c:420 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "Páxina completa" -#: ../gtk/gtkassistant.c:421 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "Indica se todos os campos requiridos na páxina foron cubertos" @@ -777,8 +892,8 @@ msgstr "" "Se é TRUE, o fillo aparece nun grupo secundario de fillos; é útil, por " "exemplo, para botóns de axuda" -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:233 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:640 ../gtk/gtktreeviewcolumn.c:268 msgid "Spacing" msgstr "Espazamento" @@ -786,7 +901,7 @@ msgstr "Espazamento" msgid "The amount of space between children" msgstr "A cantidade de espazo entre os fillos" -#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 #: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homoxéneo" @@ -795,8 +910,9 @@ msgstr "Homoxéneo" msgid "Whether the children should all be the same size" msgstr "Indica se todos os fillos deben ser do mesmo tamaño" -#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Expandir" @@ -816,7 +932,7 @@ msgstr "" "Indica se se debe dar espazo adicional para que o fillo poida ser asignado " "no fillo ou usado como recheo" -#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 msgid "Padding" msgstr "Recheo" @@ -829,7 +945,7 @@ msgstr "" msgid "Pack type" msgstr "Tipo de empaquetado" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:795 +#: ../gtk/gtkbox.c:297 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -837,12 +953,12 @@ msgstr "" "Un GtkPackType que indica se o fillo está empaquetado en relación ao inicio " "ou ao final do pai" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:766 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Posición" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:767 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 msgid "The index of the child in the parent" msgstr "O índice do fillo no pai" @@ -854,7 +970,7 @@ msgstr "Dominio de tradución" msgid "The translation domain used by gettext" msgstr "O dominio de tradución usado por gettext" -#: ../gtk/gtkbutton.c:227 +#: ../gtk/gtkbutton.c:228 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" @@ -862,13 +978,13 @@ msgstr "" "Texto da etiqueta do widget dentro do botón, se o botón contén unha etiqueta " "widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:217 ../gtk/gtklabel.c:587 -#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 msgid "Use underline" msgstr "Usar subliñado" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:218 ../gtk/gtklabel.c:588 -#: ../gtk/gtkmenuitem.c:347 +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -876,71 +992,71 @@ msgstr "" "Se se define, un subliñado no texto indica que o seguinte carácter debería " "usarse para a tecla rápida mnemónica" -#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "Usar inventario" -#: ../gtk/gtkbutton.c:243 +#: ../gtk/gtkbutton.c:244 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "Se se estabelece, a etiqueta úsase para seleccionar un elemento do " "inventario en vez de ser mostrado" -#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 #: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Enfocar ao premer" -#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Indica se o botón captura o foco cando se preme co rato" -#: ../gtk/gtkbutton.c:258 +#: ../gtk/gtkbutton.c:259 msgid "Border relief" msgstr "Relevo do bordo" -#: ../gtk/gtkbutton.c:259 +#: ../gtk/gtkbutton.c:260 msgid "The border relief style" msgstr "Estilo de relevo do bordo" -#: ../gtk/gtkbutton.c:276 +#: ../gtk/gtkbutton.c:277 msgid "Horizontal alignment for child" msgstr "Aliñamento horizontal para o fillo" -#: ../gtk/gtkbutton.c:295 +#: ../gtk/gtkbutton.c:296 msgid "Vertical alignment for child" msgstr "Aliñamento vertical para o fillo" -#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "Widget de imaxe" -#: ../gtk/gtkbutton.c:313 +#: ../gtk/gtkbutton.c:314 msgid "Child widget to appear next to the button text" msgstr "Widget fillo que aparecerá ao lado do texto do botón" -#: ../gtk/gtkbutton.c:327 +#: ../gtk/gtkbutton.c:328 msgid "Image position" msgstr "Posición da imaxe" -#: ../gtk/gtkbutton.c:328 +#: ../gtk/gtkbutton.c:329 msgid "The position of the image relative to the text" msgstr "A posición da imaxe en relación ao texto" -#: ../gtk/gtkbutton.c:448 +#: ../gtk/gtkbutton.c:449 msgid "Default Spacing" msgstr "Espazamento predefinido" -#: ../gtk/gtkbutton.c:449 +#: ../gtk/gtkbutton.c:450 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Espazo adicional que engadir para os botóns GTK_CAN_DEFAULT" -#: ../gtk/gtkbutton.c:463 +#: ../gtk/gtkbutton.c:464 msgid "Default Outside Spacing" msgstr "Espazamento exterior predefinido" -#: ../gtk/gtkbutton.c:464 +#: ../gtk/gtkbutton.c:465 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -948,31 +1064,31 @@ msgstr "" "Espazo adicional que engadir para os botóns GTK_CAN_DEFAULT que son sempre " "debuxados fóra do bordo" -#: ../gtk/gtkbutton.c:469 +#: ../gtk/gtkbutton.c:470 msgid "Child X Displacement" msgstr "Desprazamento X do fillo" -#: ../gtk/gtkbutton.c:470 +#: ../gtk/gtkbutton.c:471 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" "Distancia na dirección X que debe moverse o fillo cando se solta o botón" -#: ../gtk/gtkbutton.c:477 +#: ../gtk/gtkbutton.c:478 msgid "Child Y Displacement" msgstr "Desprazamento Y do fillo" -#: ../gtk/gtkbutton.c:478 +#: ../gtk/gtkbutton.c:479 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" "Distancia na dirección Y que debe moverse o fillo cando se solta o botón" -#: ../gtk/gtkbutton.c:494 +#: ../gtk/gtkbutton.c:495 msgid "Displace focus" msgstr "Desprazar o foco" -#: ../gtk/gtkbutton.c:495 +#: ../gtk/gtkbutton.c:496 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -980,43 +1096,43 @@ msgstr "" "Indica se as propiedades child_displacement_x/_y deberían afectar tamén ao " "rectángulo do foco" -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:786 ../gtk/gtkentry.c:1831 +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Bordo interior" -#: ../gtk/gtkbutton.c:509 +#: ../gtk/gtkbutton.c:510 msgid "Border between button edges and child." msgstr "Bordo entre os bordos do botón e o fillo." -#: ../gtk/gtkbutton.c:522 +#: ../gtk/gtkbutton.c:523 msgid "Image spacing" msgstr "Espazamento da imaxe" -#: ../gtk/gtkbutton.c:523 +#: ../gtk/gtkbutton.c:524 msgid "Spacing in pixels between the image and label" msgstr "Espazamento en píxeles entre a imaxe e a etiqueta" -#: ../gtk/gtkcalendar.c:475 +#: ../gtk/gtkcalendar.c:482 msgid "Year" msgstr "Ano" -#: ../gtk/gtkcalendar.c:476 +#: ../gtk/gtkcalendar.c:483 msgid "The selected year" msgstr "O ano seleccionado" -#: ../gtk/gtkcalendar.c:489 +#: ../gtk/gtkcalendar.c:496 msgid "Month" msgstr "Mes" -#: ../gtk/gtkcalendar.c:490 +#: ../gtk/gtkcalendar.c:497 msgid "The selected month (as a number between 0 and 11)" msgstr "O mes seleccionado (como número entre 0 e 11)" -#: ../gtk/gtkcalendar.c:504 +#: ../gtk/gtkcalendar.c:511 msgid "Day" msgstr "Día" -#: ../gtk/gtkcalendar.c:505 +#: ../gtk/gtkcalendar.c:512 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1024,86 +1140,189 @@ msgstr "" "O día seleccionado (como un número entre 1 e 31 ou 0 para anular a selección " "do día seleccionado actualmente)" -#: ../gtk/gtkcalendar.c:519 +#: ../gtk/gtkcalendar.c:526 msgid "Show Heading" msgstr "Mostrar a cabeceira" -#: ../gtk/gtkcalendar.c:520 +#: ../gtk/gtkcalendar.c:527 msgid "If TRUE, a heading is displayed" msgstr "Se é TRUE, móstrase unha cabeceira" -#: ../gtk/gtkcalendar.c:534 +#: ../gtk/gtkcalendar.c:541 msgid "Show Day Names" msgstr "Mostrar os nomes dos días" -#: ../gtk/gtkcalendar.c:535 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, day names are displayed" msgstr "Se é TRUE, móstranse os nomes dos días" -#: ../gtk/gtkcalendar.c:548 +#: ../gtk/gtkcalendar.c:555 msgid "No Month Change" msgstr "Sen cambio de mes" -#: ../gtk/gtkcalendar.c:549 +#: ../gtk/gtkcalendar.c:556 msgid "If TRUE, the selected month cannot be changed" msgstr "Se é TRUE, non será posíbel cambiar o mes seleccionado" -#: ../gtk/gtkcalendar.c:563 +#: ../gtk/gtkcalendar.c:570 msgid "Show Week Numbers" msgstr "Mostrar os números de semana" -#: ../gtk/gtkcalendar.c:564 +#: ../gtk/gtkcalendar.c:571 msgid "If TRUE, week numbers are displayed" msgstr "Se é TRUE, móstranse os números de semana" -#: ../gtk/gtkcalendar.c:579 +#: ../gtk/gtkcalendar.c:586 msgid "Details Width" msgstr "Largura dos detalles" -#: ../gtk/gtkcalendar.c:580 +#: ../gtk/gtkcalendar.c:587 msgid "Details width in characters" msgstr "A largura dos detalles en caracteres" -#: ../gtk/gtkcalendar.c:595 +#: ../gtk/gtkcalendar.c:602 msgid "Details Height" msgstr "Altura dos detalles" -#: ../gtk/gtkcalendar.c:596 +#: ../gtk/gtkcalendar.c:603 msgid "Details height in rows" msgstr "A altura dos detalles en caracteres" -#: ../gtk/gtkcalendar.c:612 +#: ../gtk/gtkcalendar.c:619 msgid "Show Details" msgstr "Mostrar os detalles" -#: ../gtk/gtkcalendar.c:613 +#: ../gtk/gtkcalendar.c:620 msgid "If TRUE, details are shown" msgstr "Se é TRUE móstranse os detalles" -#: ../gtk/gtkcalendar.c:625 +#: ../gtk/gtkcalendar.c:632 msgid "Inner border" msgstr "Bordo interior" -#: ../gtk/gtkcalendar.c:626 +#: ../gtk/gtkcalendar.c:633 msgid "Inner border space" msgstr "Espacio do bordo interior" -#: ../gtk/gtkcalendar.c:637 +#: ../gtk/gtkcalendar.c:644 msgid "Vertical separation" msgstr "Separación vertical" -#: ../gtk/gtkcalendar.c:638 +#: ../gtk/gtkcalendar.c:645 msgid "Space between day headers and main area" msgstr "Espazo entre as cabeceiras de día e o área principal" -#: ../gtk/gtkcalendar.c:649 +#: ../gtk/gtkcalendar.c:656 msgid "Horizontal separation" msgstr "Separación horizontal" -#: ../gtk/gtkcalendar.c:650 +#: ../gtk/gtkcalendar.c:657 msgid "Space between week headers and main area" msgstr "Espazo entre as cabeceiras de semana e o área principal" +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "Espazo que se introduce entre as celas" + +#: ../gtk/gtkcellareabox.c:339 +#| msgid "Whether to use the hexpand property" +msgid "Whether the cell expands" +msgstr "Indica se a cela se expande" + +#: ../gtk/gtkcellareabox.c:354 +#| msgid "xalign" +msgid "Align" +msgstr "Aliñar" + +#: ../gtk/gtkcellareabox.c:355 +#| msgid "Whether the item should start a new row" +msgid "Whether cell should align with adjacent rows" +msgstr "Indica se a cela debería aliñarse coas filas adxacentes" + +#: ../gtk/gtkcellareabox.c:371 +#| msgid "Pixel size" +msgid "Fixed Size" +msgstr "Tamaño fixo" + +#: ../gtk/gtkcellareabox.c:372 +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether cells should be the same size in all rows" +msgstr "Indica se todos os fillos deben ser do mesmo tamaño" + +#: ../gtk/gtkcellareabox.c:388 +#| msgid "Pack type" +msgid "Pack Type" +msgstr "Tipo de empaquetado" + +#: ../gtk/gtkcellareabox.c:389 +#, fuzzy +#| msgid "" +#| "A GtkPackType indicating whether the child is packed with reference to " +#| "the start or end of the parent" +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" +"Un GtkPackType que indica se o fillo está empaquetado en relación ao inicio " +"ou ao final do pai" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "Cela engocada" + +#: ../gtk/gtkcellarea.c:774 +#| msgid "The item which is currently active" +msgid "The cell which currently has focus" +msgstr "A cela que está enfocada actualmente" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "Cela editada" + +#: ../gtk/gtkcellarea.c:793 +#| msgid "The item which is currently active" +msgid "The cell which is currently being edited" +msgstr "A cela que está editándose actualmente" + +#: ../gtk/gtkcellarea.c:811 +#| msgid "Widget" +msgid "Edit Widget" +msgstr "Widget editada" + +#: ../gtk/gtkcellarea.c:812 +#| msgid "The current page in the document" +msgid "The widget currently editing the edited cell" +msgstr "" + +#: ../gtk/gtkcellareacontext.c:127 +msgid "Area" +msgstr "Área" + +#: ../gtk/gtkcellareacontext.c:128 +msgid "The Cell Area this context was created for" +msgstr "A área da cela para a que se creou este contexto" + +#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "Largura mínima" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +#| msgid "Minimum child width" +msgid "Minimum cached width" +msgstr "" + +#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 +#| msgid "Minimum Content Height" +msgid "Minimum Height" +msgstr "Altura mínima" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +#| msgid "Minimum child height" +msgid "Minimum cached height" +msgstr "" + #: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Edición cancelada" @@ -1112,159 +1331,159 @@ msgstr "Edición cancelada" msgid "Indicates that editing has been canceled" msgstr "Indica que a edición foi cancelada" -#: ../gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:137 msgid "Accelerator key" msgstr "Tecla rápida" -#: ../gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "The keyval of the accelerator" msgstr "O valor (keyval) da tecla rápida" -#: ../gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:154 msgid "Accelerator modifiers" msgstr "Modificadores de tecla rápida" -#: ../gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "The modifier mask of the accelerator" msgstr "A máscara do modificador da tecla rápida" -#: ../gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:172 msgid "Accelerator keycode" msgstr "Código de tecla da tecla rápida" -#: ../gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "The hardware keycode of the accelerator" msgstr "O código de tecla de hardware da tecla rápida" -#: ../gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:192 msgid "Accelerator Mode" msgstr "Modo de teclas rápidas" -#: ../gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "The type of accelerators" msgstr "O tipo de teclas rápidas" -#: ../gtk/gtkcellrenderer.c:266 +#: ../gtk/gtkcellrenderer.c:272 msgid "mode" msgstr "modo" -#: ../gtk/gtkcellrenderer.c:267 +#: ../gtk/gtkcellrenderer.c:273 msgid "Editable mode of the CellRenderer" msgstr "Modo editábel do CellRenderer" -#: ../gtk/gtkcellrenderer.c:275 +#: ../gtk/gtkcellrenderer.c:281 msgid "visible" msgstr "visíbel" -#: ../gtk/gtkcellrenderer.c:276 +#: ../gtk/gtkcellrenderer.c:282 msgid "Display the cell" msgstr "Mostrar a cela" -#: ../gtk/gtkcellrenderer.c:283 +#: ../gtk/gtkcellrenderer.c:289 msgid "Display the cell sensitive" msgstr "Mostrar a cela sensíbel" -#: ../gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:296 msgid "xalign" msgstr "xalign" -#: ../gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:297 msgid "The x-align" msgstr "O aliñamento x" -#: ../gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:306 msgid "yalign" msgstr "yalign" -#: ../gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:307 msgid "The y-align" msgstr "O aliñamento y" -#: ../gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:316 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:317 msgid "The xpad" msgstr "O xpad" -#: ../gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:326 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:321 +#: ../gtk/gtkcellrenderer.c:327 msgid "The ypad" msgstr "O ypad" -#: ../gtk/gtkcellrenderer.c:330 +#: ../gtk/gtkcellrenderer.c:336 msgid "width" msgstr "largura" -#: ../gtk/gtkcellrenderer.c:331 +#: ../gtk/gtkcellrenderer.c:337 msgid "The fixed width" msgstr "A largura fixa" -#: ../gtk/gtkcellrenderer.c:340 +#: ../gtk/gtkcellrenderer.c:346 msgid "height" msgstr "altura" -#: ../gtk/gtkcellrenderer.c:341 +#: ../gtk/gtkcellrenderer.c:347 msgid "The fixed height" msgstr "A altura fixa" -#: ../gtk/gtkcellrenderer.c:350 +#: ../gtk/gtkcellrenderer.c:356 msgid "Is Expander" msgstr "É expansor" -#: ../gtk/gtkcellrenderer.c:351 +#: ../gtk/gtkcellrenderer.c:357 msgid "Row has children" msgstr "A fila ten fillos" -#: ../gtk/gtkcellrenderer.c:359 +#: ../gtk/gtkcellrenderer.c:365 msgid "Is Expanded" msgstr "Está expandido" -#: ../gtk/gtkcellrenderer.c:360 +#: ../gtk/gtkcellrenderer.c:366 msgid "Row is an expander row, and is expanded" msgstr "A fila é unha fila de expansor e está expandida" -#: ../gtk/gtkcellrenderer.c:367 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color name" msgstr "Nome da cor de fondo da cela" -#: ../gtk/gtkcellrenderer.c:368 +#: ../gtk/gtkcellrenderer.c:374 msgid "Cell background color as a string" msgstr "Cor de fondo da cela como unha cadea" -#: ../gtk/gtkcellrenderer.c:375 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color" msgstr "Cor de fondo da cela" -#: ../gtk/gtkcellrenderer.c:376 +#: ../gtk/gtkcellrenderer.c:382 msgid "Cell background color as a GdkColor" msgstr "Cor de fondo da cela como unha GdkColor" -#: ../gtk/gtkcellrenderer.c:389 +#: ../gtk/gtkcellrenderer.c:395 msgid "Cell background RGBA color" msgstr "Cor de fondo RGBA da cela" -#: ../gtk/gtkcellrenderer.c:390 +#: ../gtk/gtkcellrenderer.c:396 msgid "Cell background color as a GdkRGBA" msgstr "Cor de fondo da cela como GdkRGBA" -#: ../gtk/gtkcellrenderer.c:397 +#: ../gtk/gtkcellrenderer.c:403 msgid "Editing" msgstr "Editando" -#: ../gtk/gtkcellrenderer.c:398 +#: ../gtk/gtkcellrenderer.c:404 msgid "Whether the cell renderer is currently in editing mode" msgstr "Indica se o renderizador de cela está actualmente no modo de edición" -#: ../gtk/gtkcellrenderer.c:406 +#: ../gtk/gtkcellrenderer.c:412 msgid "Cell background set" msgstr "Definición do fondo da cela" -#: ../gtk/gtkcellrenderer.c:407 +#: ../gtk/gtkcellrenderer.c:413 msgid "Whether this tag affects the cell background color" msgstr "Indica se esta etiqueta afecta á cor de fondo da cela" @@ -1284,7 +1503,7 @@ msgstr "Columna de texto" msgid "A column in the data source model to get the strings from" msgstr "Unha columna no modelo de orixe de datos da que se obteñen as cadeas" -#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 msgid "Has Entry" msgstr "Ten entrada" @@ -1316,8 +1535,8 @@ msgstr "O pixbuf do expansor pechado" msgid "Pixbuf for closed expander" msgstr "O pixbuf para o expansor pechado" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 -#: ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:252 +#: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "ID de inventario" @@ -1325,8 +1544,8 @@ msgstr "ID de inventario" msgid "The stock ID of the stock icon to render" msgstr "O ID de inventario da icona de inventario para renderizar" -#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 -#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "Tamaño" @@ -1350,8 +1569,8 @@ msgstr "Seguir o estado" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica se o pixbuf renderizado debería colorearse de acordo co estado" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:709 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:327 +#: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Icona" @@ -1359,10 +1578,10 @@ msgstr "Icona" msgid "Value of the progress bar" msgstr "Valor da barra de progreso" -#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:247 -#: ../gtk/gtkentry.c:829 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 -#: ../gtk/gtktextbuffer.c:209 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 msgid "Text" msgstr "Texto" @@ -1370,7 +1589,7 @@ msgstr "Texto" msgid "Text on the progress bar" msgstr "Texto na barra de progreso" -#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137 msgid "Pulse" msgstr "Pulsación" @@ -1403,7 +1622,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "O aliñamento vertical do texto, desde 0 (superior) até 1 (inferior)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:423 msgid "Inverted" msgstr "Invertido" @@ -1411,12 +1630,12 @@ msgstr "Invertido" msgid "Invert the direction in which the progress bar grows" msgstr "Inverter a dirección na que crece a barra de progreso" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:432 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:230 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Axuste" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:231 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 msgid "The adjustment that holds the value of the spin button" msgstr "O axuste que mantén o valor do botón de axuste" @@ -1424,21 +1643,21 @@ msgstr "O axuste que mantén o valor do botón de axuste" msgid "Climb rate" msgstr "Taxa de incremento" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:239 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 msgid "The acceleration rate when you hold down a button" msgstr "A taxa de aceleración cando mantén premido un botón" -#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:254 -#: ../gtk/gtkspinbutton.c:248 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:338 msgid "Digits" msgstr "Díxitos" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:249 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 msgid "The number of decimal places to display" msgstr "O número de lugares decimais que se vai mostrar" -#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1448,202 +1667,202 @@ msgstr "Activo" msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Indica se o spinner está activo (p.ex mostrado) na cela" -#: ../gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:138 msgid "Pulse of the spinner" msgstr "Pulso do spinner" -#: ../gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:152 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "O valor do GtkIconSize que especifica o tamaño do spinner renderizado" -#: ../gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Texto para renderizar" -#: ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Marcación" -#: ../gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Texto marcado para renderizar" -#: ../gtk/gtkcellrenderertext.c:263 ../gtk/gtklabel.c:573 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Atributos" -#: ../gtk/gtkcellrenderertext.c:264 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "" "Unha lista de atributos de estilo para aplicar ao texto do renderizador" -#: ../gtk/gtkcellrenderertext.c:271 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Modo de parágrafo único" -#: ../gtk/gtkcellrenderertext.c:272 +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" msgstr "Indica se debe manterse ou non todo o texto nun só parágrafo" -#: ../gtk/gtkcellrenderertext.c:280 ../gtk/gtkcellview.c:192 -#: ../gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:180 msgid "Background color name" msgstr "Nome da cor de fondo" -#: ../gtk/gtkcellrenderertext.c:281 ../gtk/gtkcellview.c:193 -#: ../gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:181 msgid "Background color as a string" msgstr "Cor de fondo como unha cadea" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:199 -#: ../gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:188 msgid "Background color" msgstr "Cor de fondo" -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 msgid "Background color as a GdkColor" msgstr "Cor de fondo como unha GdkColor" -#: ../gtk/gtkcellrenderertext.c:303 +#: ../gtk/gtkcellrenderertext.c:311 msgid "Background color as RGBA" msgstr "Nome do cor de fondo como RGBA" -#: ../gtk/gtkcellrenderertext.c:304 ../gtk/gtkcellview.c:214 +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 msgid "Background color as a GdkRGBA" msgstr "Cor de fondo como GdkRBGA" -#: ../gtk/gtkcellrenderertext.c:310 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 msgid "Foreground color name" msgstr "Nome da cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:311 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 msgid "Foreground color as a string" msgstr "Cor de primeiro plano como unha cadea" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:210 -#: ../gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:319 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Cor de primeiro plano como unha GdkColor" -#: ../gtk/gtkcellrenderertext.c:333 +#: ../gtk/gtkcellrenderertext.c:341 msgid "Foreground color as RGBA" msgstr "Cor de primeiro plano como RGBA" -#: ../gtk/gtkcellrenderertext.c:334 +#: ../gtk/gtkcellrenderertext.c:342 msgid "Foreground color as a GdkRGBA" msgstr "Cor de primeiro plano como GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:342 ../gtk/gtkentry.c:753 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:686 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 msgid "Editable" msgstr "Editábel" -#: ../gtk/gtkcellrenderertext.c:343 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:687 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 +#: ../gtk/gtktextview.c:686 msgid "Whether the text can be modified by the user" msgstr "Indica se o usuario pode modificar o texto" -#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkcellrenderertext.c:358 -#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 msgid "Font" msgstr "Tipo de letra" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "" "Descrición do tipo de letra como unha cadea, por exemplo \"Sans Italic 12\"" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 msgid "Font description as a PangoFontDescription struct" msgstr "Descrición do tipo de letra como unha estrutura PangoFontDescription" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 msgid "Font family" msgstr "Familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:368 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "" "Nome da familia do tipo de letra, por exemplo Sans, Helvética, Times ou " "Monospace" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtkcellrenderertext.c:376 -#: ../gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:269 msgid "Font style" msgstr "Estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:384 ../gtk/gtkcellrenderertext.c:385 -#: ../gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:278 msgid "Font variant" msgstr "Variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:393 ../gtk/gtkcellrenderertext.c:394 -#: ../gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:287 msgid "Font weight" msgstr "Grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:403 ../gtk/gtkcellrenderertext.c:404 -#: ../gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:298 msgid "Font stretch" msgstr "Expandir o tipo de letra" -#: ../gtk/gtkcellrenderertext.c:412 ../gtk/gtkcellrenderertext.c:413 -#: ../gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:307 msgid "Font size" msgstr "Tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:422 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 msgid "Font points" msgstr "Puntos do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:423 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 msgid "Font size in points" msgstr "Tamaño do tipo de letra en puntos" -#: ../gtk/gtkcellrenderertext.c:432 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 msgid "Font scale" msgstr "Escala do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:433 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Factor de escalado do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:442 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 msgid "Rise" msgstr "Elevación" -#: ../gtk/gtkcellrenderertext.c:443 +#: ../gtk/gtkcellrenderertext.c:451 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Desprazamento do texto sobre a liña base (por debaixo da liña base se a " "elevación é negativa)" -#: ../gtk/gtkcellrenderertext.c:454 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 msgid "Strikethrough" msgstr "Riscado" -#: ../gtk/gtkcellrenderertext.c:455 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 msgid "Whether to strike through the text" msgstr "Indica se se risca o texto" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 msgid "Underline" msgstr "Subliñado" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 msgid "Style of underline for this text" msgstr "Estilo de subliñado para este texto" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 msgid "Language" msgstr "Idioma" -#: ../gtk/gtkcellrenderertext.c:472 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1653,12 +1872,12 @@ msgstr "" "isto como unha axuda cando está renderizando o texto. Se non comprende este " "parámetro probabelmente non o necesite" -#: ../gtk/gtkcellrenderertext.c:492 ../gtk/gtklabel.c:698 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 #: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Elipsis" -#: ../gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1666,28 +1885,28 @@ msgstr "" "O lugar preferido para a elipse a cadea, se o renderizador da cela non ten " "espazo suficiente para mostrar a cadea completa" -#: ../gtk/gtkcellrenderertext.c:512 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:719 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Largura en caracteres" -#: ../gtk/gtkcellrenderertext.c:513 ../gtk/gtklabel.c:720 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "A largura desexada da etiqueta, en caracteres" -#: ../gtk/gtkcellrenderertext.c:537 ../gtk/gtklabel.c:780 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Largura máxima en caracteres" -#: ../gtk/gtkcellrenderertext.c:538 +#: ../gtk/gtkcellrenderertext.c:546 msgid "The maximum width of the cell, in characters" msgstr "A largura máxima da cela, en caracteres" -#: ../gtk/gtkcellrenderertext.c:556 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 msgid "Wrap mode" msgstr "Modo de axuste" -#: ../gtk/gtkcellrenderertext.c:557 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1695,149 +1914,149 @@ msgstr "" "Como romper a cadea en liñas múltiples, se o renderizador da cela non ten " "suficiente espazo para mostrar a cadea completa" -#: ../gtk/gtkcellrenderertext.c:576 ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 msgid "Wrap width" msgstr "Largura de axuste" -#: ../gtk/gtkcellrenderertext.c:577 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "A largura á que o texto se axustará" -#: ../gtk/gtkcellrenderertext.c:597 ../gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 msgid "Alignment" msgstr "Aliñamento" -#: ../gtk/gtkcellrenderertext.c:598 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "Como aliñar as liñas" -#: ../gtk/gtkcellrenderertext.c:610 ../gtk/gtkcellview.c:236 -#: ../gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:542 msgid "Background set" msgstr "Definición do fondo" -#: ../gtk/gtkcellrenderertext.c:611 ../gtk/gtkcellview.c:237 -#: ../gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:543 msgid "Whether this tag affects the background color" msgstr "Indica se esta marca afecta á cor de fondo" -#: ../gtk/gtkcellrenderertext.c:614 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 msgid "Foreground set" msgstr "Definición do primeiro plano" -#: ../gtk/gtkcellrenderertext.c:615 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 msgid "Whether this tag affects the foreground color" msgstr "Indica se esta marca afecta á cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 msgid "Editability set" msgstr "Definición da editabilidade" -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 msgid "Whether this tag affects text editability" msgstr "Indica se esta marca afecta á editabilidade do texto" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 msgid "Font family set" msgstr "Definición da familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the font family" msgstr "Indica se esta marca afecta á familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 msgid "Font style set" msgstr "Definición do estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 msgid "Whether this tag affects the font style" msgstr "Indica se esta marca afecta ao estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 msgid "Font variant set" msgstr "Definición da variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the font variant" msgstr "Indica se esta marca afecta á variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 msgid "Font weight set" msgstr "Definición do grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects the font weight" msgstr "Indica se esta marca afecta ao grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 msgid "Font stretch set" msgstr "Definición da expansión do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font stretch" msgstr "Indica se esta marca afecta á expansión do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 msgid "Font size set" msgstr "Definición do tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font size" msgstr "Indica se esta marca afecta ao tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 msgid "Font scale set" msgstr "Definición da escala do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 msgid "Whether this tag scales the font size by a factor" msgstr "Indica se esta etiqueta escala o tamaño do tipo de letra por un factor" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 msgid "Rise set" msgstr "Definición da elevación" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 msgid "Whether this tag affects the rise" msgstr "Indica se esta marca afecta á elevación" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 msgid "Strikethrough set" msgstr "Definición do riscado" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects strikethrough" msgstr "Indica se esta marca afecta ao riscado" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 msgid "Underline set" msgstr "Definición do subliñado" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects underlining" msgstr "Indica se esta marca afecta ao subliñado" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 msgid "Language set" msgstr "Definición do idioma" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the language the text is rendered as" msgstr "Indica se esta marca afecta ao idioma en que se renderiza o texto" -#: ../gtk/gtkcellrenderertext.c:666 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Definición da elipse" -#: ../gtk/gtkcellrenderertext.c:667 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "Indica se esta marca afecta ao modo de elipse" -#: ../gtk/gtkcellrenderertext.c:670 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Definición de aliñamento" -#: ../gtk/gtkcellrenderertext.c:671 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Indica se esta marca afecta ao modo de aliñamento" @@ -1878,27 +2097,70 @@ msgid "Indicator size" msgstr "Tamaño do indicador" #: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 -#: ../gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "Tamaño do indicador de opción ou de verificación" -#: ../gtk/gtkcellview.c:213 +#: ../gtk/gtkcellview.c:210 msgid "Background RGBA color" msgstr "Cor de fondo RGBA" -#: ../gtk/gtkcellview.c:228 +#: ../gtk/gtkcellview.c:225 msgid "CellView model" msgstr "Modelo CellView" -#: ../gtk/gtkcellview.c:229 +#: ../gtk/gtkcellview.c:226 msgid "The model for cell view" msgstr "O modelo para a visualización de cela" -#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtkiconview.c:762 +#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "Área da cela" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 +#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "" + +#: ../gtk/gtkcellview.c:265 +#| msgid "Style context" +msgid "Cell Area Context" +msgstr "Contexto da área da cela" + +#: ../gtk/gtkcellview.c:266 +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "" + +#: ../gtk/gtkcellview.c:283 +#, fuzzy +#| msgid "Sensitive" +msgid "Draw Sensitive" +msgstr "Sensíbel" + +#: ../gtk/gtkcellview.c:284 +#, fuzzy +#| msgid "Whether tree lines should be drawn in the tree view" +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "Indica se se deben debuxar as liñas na visualización en árbore" + +#: ../gtk/gtkcellview.c:302 +#, fuzzy +#| msgid "Model" +msgid "Fit Model" +msgstr "Modelo" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "Tamaño do indicador" -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 msgid "Indicator Spacing" msgstr "Espazamento do indicador" @@ -1906,103 +2168,103 @@ msgstr "Espazamento do indicador" msgid "Spacing around check or radio indicator" msgstr "Espazamento ao redor do indicador de opción ou de verificación" -#: ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "Indica se o elemento de menú está seleccionado" -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inconsistente" -#: ../gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "Indica se se debe mostrar un estado \"inconsistente\"" -#: ../gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "Debuxar como un elemento do menú de opción" -#: ../gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "" "Indica se a aparencia do elemento de menú é como un elemento do menú de " "opción" -#: ../gtk/gtkcolorbutton.c:171 +#: ../gtk/gtkcolorbutton.c:170 msgid "Use alpha" msgstr "Usar alfa" -#: ../gtk/gtkcolorbutton.c:172 +#: ../gtk/gtkcolorbutton.c:171 msgid "Whether to give the color an alpha value" msgstr "Indica se debe dárselle ou non un valor alfa á cor" -#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:115 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:286 +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Título" -#: ../gtk/gtkcolorbutton.c:187 +#: ../gtk/gtkcolorbutton.c:186 msgid "The title of the color selection dialog" msgstr "O título do diálogo de selección da cor" -#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:339 +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Cor actual" -#: ../gtk/gtkcolorbutton.c:202 +#: ../gtk/gtkcolorbutton.c:201 msgid "The selected color" msgstr "A cor seleccionada" -#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:346 +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Alfa actual" -#: ../gtk/gtkcolorbutton.c:217 +#: ../gtk/gtkcolorbutton.c:216 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "O valor de opacidade actual (0 é completamente transparente; 65535 é " "completamente opaco)" -#: ../gtk/gtkcolorbutton.c:231 +#: ../gtk/gtkcolorbutton.c:230 msgid "Current RGBA Color" msgstr "Cor RGBA actual" -#: ../gtk/gtkcolorbutton.c:232 +#: ../gtk/gtkcolorbutton.c:231 msgid "The selected RGBA color" msgstr "A cor RGBA seleccionada" -#: ../gtk/gtkcolorsel.c:325 +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Ten un control de opacidade" -#: ../gtk/gtkcolorsel.c:326 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "Indica se o selector de cor pode permitir seleccionar a opacidade" -#: ../gtk/gtkcolorsel.c:332 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Ten unha paleta" -#: ../gtk/gtkcolorsel.c:333 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Indica se se pode usar unha paleta" -#: ../gtk/gtkcolorsel.c:340 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "A cor actual" -#: ../gtk/gtkcolorsel.c:347 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "O valor de opacidade actual (0 é completamente transparente, 65535 é " "completamente opaco)" -#: ../gtk/gtkcolorsel.c:361 +#: ../gtk/gtkcolorsel.c:360 msgid "Current RGBA" msgstr "RGBA actual" -#: ../gtk/gtkcolorsel.c:362 +#: ../gtk/gtkcolorsel.c:361 msgid "The current RGBA color" msgstr "A cor RGBA actual" @@ -2038,68 +2300,68 @@ msgstr "Botón Axuda" msgid "The help button of the dialog." msgstr "O botón Axuda do diálogo." -#: ../gtk/gtkcombobox.c:737 +#: ../gtk/gtkcombobox.c:663 msgid "ComboBox model" msgstr "Modelo de caixa de combinación" -#: ../gtk/gtkcombobox.c:738 +#: ../gtk/gtkcombobox.c:664 msgid "The model for the combo box" msgstr "O modelo para a caixa de combinación" -#: ../gtk/gtkcombobox.c:755 +#: ../gtk/gtkcombobox.c:681 msgid "Wrap width for laying out the items in a grid" msgstr "Largura de axuste para distribuír os elementos nunha grade" -#: ../gtk/gtkcombobox.c:777 +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 msgid "Row span column" msgstr "Columna de expansión da fila" -#: ../gtk/gtkcombobox.c:778 +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 msgid "TreeModel column containing the row span values" msgstr "Columna TreeModel que contén os valores de expansión da fila" -#: ../gtk/gtkcombobox.c:799 +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 msgid "Column span column" msgstr "Columna de expansión da columna" -#: ../gtk/gtkcombobox.c:800 +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 msgid "TreeModel column containing the column span values" msgstr "Columna TreeModel que contén os valores de expansión da columna" -#: ../gtk/gtkcombobox.c:821 +#: ../gtk/gtkcombobox.c:747 msgid "Active item" msgstr "Elemento activo" -#: ../gtk/gtkcombobox.c:822 +#: ../gtk/gtkcombobox.c:748 msgid "The item which is currently active" msgstr "O elemento que está activo actualmente" -#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Engadir tiradores aos menús" -#: ../gtk/gtkcombobox.c:842 +#: ../gtk/gtkcombobox.c:768 msgid "Whether dropdowns should have a tearoff menu item" msgstr "" "Indica se os menús despregábeis deben ter un elemento de menú desprazábel" -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:778 +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Ten marco" -#: ../gtk/gtkcombobox.c:858 +#: ../gtk/gtkcombobox.c:784 msgid "Whether the combo box draws a frame around the child" msgstr "Indica se a caixa de combinación debuxa un marco ao redor do fillo" -#: ../gtk/gtkcombobox.c:866 +#: ../gtk/gtkcombobox.c:792 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Indica se a caixa de combinación captura o foco cando se preme co rato" -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 msgid "Tearoff Title" msgstr "Título do tirador" -#: ../gtk/gtkcombobox.c:882 +#: ../gtk/gtkcombobox.c:808 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" @@ -2107,31 +2369,31 @@ msgstr "" "Un título que o xestor de xanelas pode mostrar cando o menú emerxente se " "separa" -#: ../gtk/gtkcombobox.c:899 +#: ../gtk/gtkcombobox.c:825 msgid "Popup shown" msgstr "Menú emerxente mostrado" -#: ../gtk/gtkcombobox.c:900 +#: ../gtk/gtkcombobox.c:826 msgid "Whether the combo's dropdown is shown" msgstr "Indica se se mostra o despregábel da caixa de combinación" -#: ../gtk/gtkcombobox.c:916 +#: ../gtk/gtkcombobox.c:842 msgid "Button Sensitivity" msgstr "Sensibilidade do botón" -#: ../gtk/gtkcombobox.c:917 +#: ../gtk/gtkcombobox.c:843 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Indica se o botón despregábel é sensíbel cando o modelo está baleiro" -#: ../gtk/gtkcombobox.c:933 +#: ../gtk/gtkcombobox.c:859 msgid "Whether combo box has an entry" msgstr "Indica se o ComboBox ten unha entrada" -#: ../gtk/gtkcombobox.c:948 +#: ../gtk/gtkcombobox.c:874 msgid "Entry Text Column" msgstr "Columna de entrada de texto" -#: ../gtk/gtkcombobox.c:949 +#: ../gtk/gtkcombobox.c:875 msgid "" "The column in the combo box's model to associate with strings from the entry " "if the combo was created with #GtkComboBox:has-entry = %TRUE" @@ -2139,11 +2401,11 @@ msgstr "" "A columna no modelo de caixa de combinación para asociar con cadeas da " "entrada se a caixa combinada creouse con #GtkComboBox:has-entry = %TRUE" -#: ../gtk/gtkcombobox.c:966 +#: ../gtk/gtkcombobox.c:892 msgid "ID Column" msgstr "ID da columna" -#: ../gtk/gtkcombobox.c:967 +#: ../gtk/gtkcombobox.c:893 msgid "" "The column in the combo box's model that provides string IDs for the values " "in the model" @@ -2151,19 +2413,19 @@ msgstr "" "A columna no modelo de caixa de combinación que fornece os ID de cadeas para " "os valores no modelo" -#: ../gtk/gtkcombobox.c:982 +#: ../gtk/gtkcombobox.c:908 msgid "Active id" msgstr "ID activo" -#: ../gtk/gtkcombobox.c:983 +#: ../gtk/gtkcombobox.c:909 msgid "The value of the id column for the active row" msgstr "O valor do ID da columna para a fila activa" -#: ../gtk/gtkcombobox.c:998 +#: ../gtk/gtkcombobox.c:924 msgid "Popup Fixed Width" msgstr "Anchura fixa de emerxente" -#: ../gtk/gtkcombobox.c:999 +#: ../gtk/gtkcombobox.c:925 msgid "" "Whether the popup's width should be a fixed width matching the allocated " "width of the combo box" @@ -2171,132 +2433,132 @@ msgstr "" "Indica se a anchura do emerxente debería ser fixa coincidindo coa anchura " "reservada para a caixa de combinación" -#: ../gtk/gtkcombobox.c:1007 +#: ../gtk/gtkcombobox.c:948 msgid "Appears as list" msgstr "Móstrase como unha lista" -#: ../gtk/gtkcombobox.c:1008 +#: ../gtk/gtkcombobox.c:949 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Indica se os despregábeis deben parecerse a listas en vez de a menús" -#: ../gtk/gtkcombobox.c:1024 +#: ../gtk/gtkcombobox.c:965 msgid "Arrow Size" msgstr "Tamaño da frecha" -#: ../gtk/gtkcombobox.c:1025 +#: ../gtk/gtkcombobox.c:966 msgid "The minimum size of the arrow in the combo box" msgstr "O tamaño mínimo da frecha no caixa de combinación" -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:878 ../gtk/gtkhandlebox.c:188 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 #: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "Tipo de sombra" -#: ../gtk/gtkcombobox.c:1041 +#: ../gtk/gtkcombobox.c:982 msgid "Which kind of shadow to draw around the combo box" msgstr "A clase de sombra que se debuxa ao redor da caixa de combinación" -#: ../gtk/gtkcontainer.c:476 +#: ../gtk/gtkcontainer.c:453 msgid "Resize mode" msgstr "Modo de redimensionamento" -#: ../gtk/gtkcontainer.c:477 +#: ../gtk/gtkcontainer.c:454 msgid "Specify how resize events are handled" msgstr "Especifica como se manipulan os eventos de redimensionamento" -#: ../gtk/gtkcontainer.c:484 +#: ../gtk/gtkcontainer.c:461 msgid "Border width" msgstr "Largura do bordo" -#: ../gtk/gtkcontainer.c:485 +#: ../gtk/gtkcontainer.c:462 msgid "The width of the empty border outside the containers children" msgstr "A largura do bordo baleiro fóra dos contedores fillos" -#: ../gtk/gtkcontainer.c:493 +#: ../gtk/gtkcontainer.c:470 msgid "Child" msgstr "Fillo" -#: ../gtk/gtkcontainer.c:494 +#: ../gtk/gtkcontainer.c:471 msgid "Can be used to add a new child to the container" msgstr "Pode usarse para engadir un fillo novo ao contedor" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Bordo da área de contidos" -#: ../gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:290 msgid "Width of border around the main dialog area" msgstr "Largura do bordo ao redor da área principal da caixa de diálogo" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Espazamento da área de contido" -#: ../gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:308 msgid "Spacing between elements of the main dialog area" msgstr "O espazamento entre os elementos da área de diálogo principal" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Espazamento dos botóns" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Espazamento entre os botóns" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Bordo da área de acción" -#: ../gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:325 msgid "Width of border around the button area at the bottom of the dialog" msgstr "" "Largura do bordo ao redor da área do botón na parte inferior da caixa de " "diálogo" -#: ../gtk/gtkentry.c:725 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Búfer de texto" -#: ../gtk/gtkentry.c:726 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "Obxecto de búfer de texto que almacena actualmente a entrada de texto" -#: ../gtk/gtkentry.c:733 ../gtk/gtklabel.c:661 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Posición do cursor" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "A posición actual do cursor de inserción en caracteres" -#: ../gtk/gtkentry.c:743 ../gtk/gtklabel.c:671 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Límite da selección" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "A posición en caracteres do extremo oposto da selección desde o cursor" -#: ../gtk/gtkentry.c:754 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Indica se os contidos da entrada se poden editar" -#: ../gtk/gtkentry.c:761 ../gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Lonxitude máxima" -#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Número máximo de caracteres nesta entrada. É cero se non hai un máximo" -#: ../gtk/gtkentry.c:770 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Visibilidade" -#: ../gtk/gtkentry.c:771 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2304,32 +2566,32 @@ msgstr "" "FALSE mostra o \"carácter invisíbel\" en lugar do texto actual (no modo " "contrasinal)" -#: ../gtk/gtkentry.c:779 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "FALSE elimina o bisel exterior da entrada" -#: ../gtk/gtkentry.c:787 +#: ../gtk/gtkentry.c:788 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" "Bordo entre o texto e o marco. Sobreponse á propiedade de estilo do bordo " "interno" -#: ../gtk/gtkentry.c:794 ../gtk/gtkentry.c:1360 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Carácter invisíbel" -#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "O carácter que usar cando se oculten os contidos da entrada (no \"modo de " "contrasinal\")" -#: ../gtk/gtkentry.c:802 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Activa o predefinido" -#: ../gtk/gtkentry.c:803 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2337,32 +2599,32 @@ msgstr "" "Indica se se debe activar o widget predefinido (como o botón predefinido " "nunha caixa de diálogo) cando se prema a tecla Intro" -#: ../gtk/gtkentry.c:809 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Largura en caracteres" -#: ../gtk/gtkentry.c:810 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Número de caracteres para os que deixar espazo na entrada" -#: ../gtk/gtkentry.c:819 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Compensación do desprazamento" -#: ../gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "" "Número de píxeles da entrada desprazados fóra da pantalla e cara á esquerda" -#: ../gtk/gtkentry.c:830 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "Os contidos da entrada" -#: ../gtk/gtkentry.c:845 ../gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "Aliñamento X" -#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2370,66 +2632,66 @@ msgstr "" "O aliñamento horizontal, desde 0 (esquerda) até 1 (dereita). Ao revés para " "disposicións DAE." -#: ../gtk/gtkentry.c:862 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Truncar multiliña" -#: ../gtk/gtkentry.c:863 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Indica se se truncan as accións de pegar multiliñas nunha liña." -#: ../gtk/gtkentry.c:879 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" "Que tipo de sombra debuxar ao redor da entrada cando has-frame está activado" -#: ../gtk/gtkentry.c:894 ../gtk/gtktextview.c:766 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 msgid "Overwrite mode" msgstr "Modo de sobrescritura" -#: ../gtk/gtkentry.c:895 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "Indica se o texto novo sobrescribe o texto existente" -#: ../gtk/gtkentry.c:909 ../gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Lonxitude de texto" -#: ../gtk/gtkentry.c:910 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "A lonxitude do texto que está actualmente na entrada" -#: ../gtk/gtkentry.c:925 +#: ../gtk/gtkentry.c:926 msgid "Invisible character set" msgstr "Conxunto de caracteres invisíbel" -#: ../gtk/gtkentry.c:926 +#: ../gtk/gtkentry.c:927 msgid "Whether the invisible character has been set" msgstr "Indica se o carácter invisíbel foi definido" -#: ../gtk/gtkentry.c:944 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Aviso de Bloq Maiús" -#: ../gtk/gtkentry.c:945 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "" "Indica se as entradas de contrasinal mostrarán un aviso cando Bloq Maiús " "estea activado" -#: ../gtk/gtkentry.c:959 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Fracción de progreso" -#: ../gtk/gtkentry.c:960 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "A fracción actual da tarefa que está terminada" -#: ../gtk/gtkentry.c:977 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "Paso de pulso de progreso" -#: ../gtk/gtkentry.c:978 +#: ../gtk/gtkentry.c:979 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2437,169 +2699,169 @@ msgstr "" "A fracción total da largura da entrada para mover o bloque de rebote de " "progreso para cada chamada a gtk_entry_progress_pulse()" -#: ../gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Pixbuf primario" -#: ../gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "O pixbuf primario para a entrada" -#: ../gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Pixbuf secundario" -#: ../gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "O pixbuf secundario para a entrada" -#: ../gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "ID de inventario primario" -#: ../gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "O ID de inventario para a icona primaria" -#: ../gtk/gtkentry.c:1039 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "ID de inventario secundario" -#: ../gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "O ID de inventario para a icona secundaria" -#: ../gtk/gtkentry.c:1054 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Nome de icona primaria" -#: ../gtk/gtkentry.c:1055 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "O nome de icona para a icona primaria" -#: ../gtk/gtkentry.c:1069 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Nome de icona secundaria" -#: ../gtk/gtkentry.c:1070 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "O nome de icona para a icona secundaria" -#: ../gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "GIcon primaria" -#: ../gtk/gtkentry.c:1085 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "O nome para a GIcon primaria" -#: ../gtk/gtkentry.c:1099 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "GIcon secundaria" -#: ../gtk/gtkentry.c:1100 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "O nome para a GIcon secundaria" -#: ../gtk/gtkentry.c:1114 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Tipo de almacenamento primario" -#: ../gtk/gtkentry.c:1115 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "A representación usada para a icona primaria" -#: ../gtk/gtkentry.c:1130 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Tipo de almacenamento secundario" -#: ../gtk/gtkentry.c:1131 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "A representación usada para a icona secundaria" -#: ../gtk/gtkentry.c:1152 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Icona primaria activábel" -#: ../gtk/gtkentry.c:1153 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Indica se a icona primaria é activábel" -#: ../gtk/gtkentry.c:1173 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Icona secundaria activábel" -#: ../gtk/gtkentry.c:1174 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Indica se a icona secundaria é activábel" -#: ../gtk/gtkentry.c:1196 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Sensibilidade da icona primaria" -#: ../gtk/gtkentry.c:1197 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Indica se a icona primaria é sensíbel" -#: ../gtk/gtkentry.c:1218 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Sensibilidade da icona secundaria" -#: ../gtk/gtkentry.c:1219 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Indica se a icona secundaria é sensíbel" -#: ../gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Texto da indicación da icona primaria" -#: ../gtk/gtkentry.c:1236 ../gtk/gtkentry.c:1272 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "O contido da indicación da icona primaria" -#: ../gtk/gtkentry.c:1252 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Texto da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1253 ../gtk/gtkentry.c:1291 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "O contido da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "Marcación da indicación da icona primaria" -#: ../gtk/gtkentry.c:1290 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "Marcación da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1310 ../gtk/gtktextview.c:794 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 msgid "IM module" msgstr "Módulo MI" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:795 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 msgid "Which IM module should be used" msgstr "O módulo de MI que se debería usar" -#: ../gtk/gtkentry.c:1325 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "Iluminación previa da icona" -#: ../gtk/gtkentry.c:1326 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" msgstr "" "Indica se as iconas activábeis se deberían iluminar previamente ao pasar o " "rato por encima" -#: ../gtk/gtkentry.c:1339 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Bordo do progreso" -#: ../gtk/gtkentry.c:1340 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "O bordo ao redor da barra de progreso" -#: ../gtk/gtkentry.c:1832 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Bordo entre o texto e o marco." @@ -2611,75 +2873,75 @@ msgstr "Os contidos do búfer" msgid "Length of the text currently in the buffer" msgstr "A lonxitude do texto que está actualmente no búfer" -#: ../gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:301 msgid "Completion Model" msgstr "Modelo de completado" -#: ../gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:302 msgid "The model to find matches in" msgstr "O modelo para encontrar coincidencias" -#: ../gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:308 msgid "Minimum Key Length" msgstr "Lonxitude mínima da chave" -#: ../gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:309 msgid "Minimum length of the search key in order to look up matches" msgstr "Lonxitude mínima da chave de busca para encontrar coincidencias" -#: ../gtk/gtkentrycompletion.c:304 ../gtk/gtkiconview.c:617 +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:561 msgid "Text column" msgstr "Columna de texto" -#: ../gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:326 msgid "The column of the model containing the strings." msgstr "Unha columna do modelo que contén as cadeas." -#: ../gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:345 msgid "Inline completion" msgstr "Completado en liña" -#: ../gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:346 msgid "Whether the common prefix should be inserted automatically" msgstr "Indica se o prefixo común se debe inserir automaticamente" -#: ../gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:360 msgid "Popup completion" msgstr "Emerxer os completados" -#: ../gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:361 msgid "Whether the completions should be shown in a popup window" msgstr "Indica se os completados se deben mostrar nunha xanela emerxente" -#: ../gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:376 msgid "Popup set width" msgstr "O emerxente define a largura" -#: ../gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:377 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "Se é TRUE, a xanela emerxente terá o mesmo tamaño que a entrada" -#: ../gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:395 msgid "Popup single match" msgstr "Emerxente para coincidencia única" -#: ../gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:396 msgid "If TRUE, the popup window will appear for a single match." msgstr "Se é TRUE, a xanela emerxente aparecerá para unha coincidencia única." -#: ../gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:410 msgid "Inline selection" msgstr "Selección en liña" -#: ../gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:411 msgid "Your description here" msgstr "A súa descrición aquí" -#: ../gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "Visible Window" msgstr "Xanela visíbel" -#: ../gtk/gtkeventbox.c:102 +#: ../gtk/gtkeventbox.c:110 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2687,11 +2949,11 @@ msgstr "" "Indica se a caixa de eventos é visíbel, ao contrario da invisíbel; só se usa " "para capturar eventos." -#: ../gtk/gtkeventbox.c:108 +#: ../gtk/gtkeventbox.c:116 msgid "Above child" msgstr "Encima do fillo" -#: ../gtk/gtkeventbox.c:109 +#: ../gtk/gtkeventbox.c:117 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2699,59 +2961,59 @@ msgstr "" "Indica se a xanela captadora de eventos da caixa de eventos está por encima " "da xanela do widget fillo ao contrario de por debaixo dela." -#: ../gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:279 msgid "Expanded" msgstr "Expandido" -#: ../gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:280 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Indica se o expansor foi aberto para deixar ver o widget fillo" -#: ../gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:288 msgid "Text of the expander's label" msgstr "Texto da etiqueta do expansor" -#: ../gtk/gtkexpander.c:225 ../gtk/gtklabel.c:580 +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Usar a marcación" -#: ../gtk/gtkexpander.c:226 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "O texto da etiqueta inclúe marcación XML. Vexa pango_parse_markup()" -#: ../gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:312 msgid "Space to put between the label and the child" msgstr "Espazo para pór entre a etiqueta e o fillo" -#: ../gtk/gtkexpander.c:243 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 #: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Widget etiqueta" -#: ../gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:322 msgid "A widget to display in place of the usual expander label" msgstr "Un widget para mostrar en lugar da etiqueta habitual do expansor" -#: ../gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:329 msgid "Label fill" msgstr "Recheo da etiqueta" -#: ../gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:330 msgid "Whether the label widget should fill all available horizontal space" msgstr "" "Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" -#: ../gtk/gtkexpander.c:258 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:863 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Tamaño do expansor" -#: ../gtk/gtkexpander.c:259 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:864 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Tamaño da frecha do expansor" -#: ../gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:346 msgid "Spacing around expander arrow" msgstr "Espazamento ao redor da frecha do expansor" @@ -2893,7 +3155,7 @@ msgstr "Posición Y do widget fillo" msgid "The title of the font selection dialog" msgstr "O título do diálogo de selección do tipo de letra" -#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:220 msgid "Font name" msgstr "Nome do tipo de letra" @@ -2937,68 +3199,144 @@ msgstr "Mostrar o tamaño" msgid "Whether selected font size is shown in the label" msgstr "Indica se o tamaño de tipo de letra seleccionado se mostra na etiqueta" -#: ../gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:221 msgid "The string that represents this font" msgstr "A cadea que representa este tipo de letra" -#: ../gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:227 msgid "Preview text" msgstr "Previsualizar o texto" -#: ../gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:228 msgid "The text to display in order to demonstrate the selected font" msgstr "" "O texto que mostrar como exemplo para indicar o tipo de letra seleccionado" -#: ../gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:132 msgid "Text of the frame's label" msgstr "Texto da etiqueta do marco" -#: ../gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:139 msgid "Label xalign" msgstr "Aliñamento x da etiqueta" -#: ../gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:140 msgid "The horizontal alignment of the label" msgstr "O aliñamento horizontal da etiqueta" -#: ../gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:148 msgid "Label yalign" msgstr "Aliñamento y da etiqueta" -#: ../gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:149 msgid "The vertical alignment of the label" msgstr "O aliñamento vertical da etiqueta" -#: ../gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:157 msgid "Frame shadow" msgstr "Sombra do marco" -#: ../gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:158 msgid "Appearance of the frame border" msgstr "Aparencia do bordo do marco" -#: ../gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:167 msgid "A widget to display in place of the usual frame label" msgstr "Un widget para mostrar en lugar da etiqueta de marco habitual" -#: ../gtk/gtkhandlebox.c:189 +#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "Espazamento de fila" + +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "A cantidade de espazo entre dúas filas consecutivas" + +#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "Espazamento de columna" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "A cantidade de espazo entre dúas columnas consecutivas" + +#: ../gtk/gtkgrid.c:1282 +#, fuzzy +#| msgid "Homogeneous" +msgid "Row Homogeneous" +msgstr "Homoxéneo" + +#: ../gtk/gtkgrid.c:1283 +#, fuzzy +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the rows are all the same height" +msgstr "Se é TRUE, as celas da táboa teñen todas a mesma largura ou altura" + +#: ../gtk/gtkgrid.c:1289 +#, fuzzy +#| msgid "Homogeneous" +msgid "Column Homogeneous" +msgstr "Homoxéneo" + +#: ../gtk/gtkgrid.c:1290 +#, fuzzy +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the columns are all the same width" +msgstr "Se é TRUE, as celas da táboa teñen todas a mesma largura ou altura" + +#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "Anexo á esquerda" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "A cantidade de columnas para anexar ao lado esquerdo do fillo" + +#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "Anexo superior" + +#: ../gtk/gtkgrid.c:1304 +#, fuzzy +#| msgid "The row number to attach the top of a child widget to" +msgid "The row number to attach the top side of a child widget to" +msgstr "O número de filas para anexar encima do widget fillo" + +#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "Largura" + +#: ../gtk/gtkgrid.c:1311 +#| msgid "The number of columns in the table" +msgid "The number of columns that a child spans" +msgstr "O número de columnas nas que se expande un fillo" + +#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:668 +msgid "Height" +msgstr "Altura" + +#: ../gtk/gtkgrid.c:1318 +#| msgid "The number of rows in the table" +msgid "The number of rows that a child spans" +msgstr "O número de filas nas que un fillo se expande" + +#: ../gtk/gtkhandlebox.c:191 msgid "Appearance of the shadow that surrounds the container" msgstr "Aparencia da sombra que rodea o contedor" -#: ../gtk/gtkhandlebox.c:197 +#: ../gtk/gtkhandlebox.c:199 msgid "Handle position" msgstr "Posición do manipulador" -#: ../gtk/gtkhandlebox.c:198 +#: ../gtk/gtkhandlebox.c:200 msgid "Position of the handle relative to the child widget" msgstr "Posición do manipulador en relación ao widget fillo" -#: ../gtk/gtkhandlebox.c:206 +#: ../gtk/gtkhandlebox.c:208 msgid "Snap edge" msgstr "Axustar ao bordo" -#: ../gtk/gtkhandlebox.c:207 +#: ../gtk/gtkhandlebox.c:209 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -3006,11 +3344,11 @@ msgstr "" "Lado da caixa manipuladora que está aliñado co punto de ancoraxe, para " "ancorar a caixa manipuladora" -#: ../gtk/gtkhandlebox.c:215 +#: ../gtk/gtkhandlebox.c:217 msgid "Snap edge set" msgstr "Definición do axuste de bordo" -#: ../gtk/gtkhandlebox.c:216 +#: ../gtk/gtkhandlebox.c:218 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -3018,11 +3356,11 @@ msgstr "" "Indica se se usa o valor da propiedade snap_edge ou un valor derivado de " "handle_position" -#: ../gtk/gtkhandlebox.c:223 +#: ../gtk/gtkhandlebox.c:225 msgid "Child Detached" msgstr "Fillo separado" -#: ../gtk/gtkhandlebox.c:224 +#: ../gtk/gtkhandlebox.c:226 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -3030,263 +3368,264 @@ msgstr "" "Un valor booleano que indica se a caixa de manipulación do fillo está " "separada ou anexada." -#: ../gtk/gtkiconview.c:580 +#: ../gtk/gtkiconview.c:524 msgid "Selection mode" msgstr "Modo de selección" -#: ../gtk/gtkiconview.c:581 +#: ../gtk/gtkiconview.c:525 msgid "The selection mode" msgstr "O modo de selección" -#: ../gtk/gtkiconview.c:599 +#: ../gtk/gtkiconview.c:543 msgid "Pixbuf column" msgstr "Columna de pixbuf" -#: ../gtk/gtkiconview.c:600 +#: ../gtk/gtkiconview.c:544 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Columna modelo usada para recuperar o pixbuf da icona" -#: ../gtk/gtkiconview.c:618 +#: ../gtk/gtkiconview.c:562 msgid "Model column used to retrieve the text from" msgstr "Columna modelo usada para recuperar o texto" -#: ../gtk/gtkiconview.c:637 +#: ../gtk/gtkiconview.c:581 msgid "Markup column" msgstr "Columna de marcación" -#: ../gtk/gtkiconview.c:638 +#: ../gtk/gtkiconview.c:582 msgid "Model column used to retrieve the text if using Pango markup" msgstr "" "Columna modelo usada para recuperar o texto se se emprega a marcación Pango" -#: ../gtk/gtkiconview.c:645 +#: ../gtk/gtkiconview.c:589 msgid "Icon View Model" msgstr "Modelo de visualización de icona" -#: ../gtk/gtkiconview.c:646 +#: ../gtk/gtkiconview.c:590 msgid "The model for the icon view" msgstr "O modelo para a visualización de icona" -#: ../gtk/gtkiconview.c:662 +#: ../gtk/gtkiconview.c:606 msgid "Number of columns" msgstr "Número de columnas" -#: ../gtk/gtkiconview.c:663 +#: ../gtk/gtkiconview.c:607 msgid "Number of columns to display" msgstr "O número de columnas que se mostran" -#: ../gtk/gtkiconview.c:680 +#: ../gtk/gtkiconview.c:624 msgid "Width for each item" msgstr "Largura de cada elemento" -#: ../gtk/gtkiconview.c:681 +#: ../gtk/gtkiconview.c:625 msgid "The width used for each item" msgstr "A largura usada para cada elemento" -#: ../gtk/gtkiconview.c:697 +#: ../gtk/gtkiconview.c:641 msgid "Space which is inserted between cells of an item" msgstr "Espazo que se introduce entre as celas dun elemento" -#: ../gtk/gtkiconview.c:712 +#: ../gtk/gtkiconview.c:656 msgid "Row Spacing" msgstr "Espazamento de fila" -#: ../gtk/gtkiconview.c:713 +#: ../gtk/gtkiconview.c:657 msgid "Space which is inserted between grid rows" msgstr "Espazo que se introduce entre as filas da grade" -#: ../gtk/gtkiconview.c:728 +#: ../gtk/gtkiconview.c:672 msgid "Column Spacing" msgstr "Espazamento de columna" -#: ../gtk/gtkiconview.c:729 +#: ../gtk/gtkiconview.c:673 msgid "Space which is inserted between grid columns" msgstr "Espazo que se introduce entre as columnas da grade" -#: ../gtk/gtkiconview.c:744 +#: ../gtk/gtkiconview.c:688 msgid "Margin" msgstr "Marxe" -#: ../gtk/gtkiconview.c:745 +#: ../gtk/gtkiconview.c:689 msgid "Space which is inserted at the edges of the icon view" msgstr "Espazo que se insire nos bordos da visualización de icona" -#: ../gtk/gtkiconview.c:760 +#: ../gtk/gtkiconview.c:704 msgid "Item Orientation" msgstr "Orientación do elemento" -#: ../gtk/gtkiconview.c:761 +#: ../gtk/gtkiconview.c:705 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" "Como se sitúan o texto e a icona de cada elemento en relación un ao outro" -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:698 -#: ../gtk/gtktreeviewcolumn.c:329 +#: ../gtk/gtkiconview.c:721 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Reorderable" msgstr "Reordenábel" -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:699 +#: ../gtk/gtkiconview.c:722 ../gtk/gtktreeview.c:1027 msgid "View is reorderable" msgstr "A visualización é reordenábel" -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:849 +#: ../gtk/gtkiconview.c:729 ../gtk/gtktreeview.c:1177 msgid "Tooltip Column" msgstr "Columna de indicación" -#: ../gtk/gtkiconview.c:786 +#: ../gtk/gtkiconview.c:730 msgid "The column in the model containing the tooltip texts for the items" msgstr "" "A columna do modelo que contén os textos de indicación para os elementos" -#: ../gtk/gtkiconview.c:803 +#: ../gtk/gtkiconview.c:747 msgid "Item Padding" msgstr "Recheo de ítem" -#: ../gtk/gtkiconview.c:804 +#: ../gtk/gtkiconview.c:748 msgid "Padding around icon view items" msgstr "Recheo arredor dos ítems de iconas" -#: ../gtk/gtkiconview.c:817 +#: ../gtk/gtkiconview.c:776 msgid "Selection Box Color" msgstr "Cor da caixa de selección" -#: ../gtk/gtkiconview.c:818 +#: ../gtk/gtkiconview.c:777 msgid "Color of the selection box" msgstr "Cor da caixa de selección" -#: ../gtk/gtkiconview.c:824 +#: ../gtk/gtkiconview.c:783 msgid "Selection Box Alpha" msgstr "Alfa da caixa de selección" -#: ../gtk/gtkiconview.c:825 +#: ../gtk/gtkiconview.c:784 msgid "Opacity of the selection box" msgstr "Opacidade da caixa de selección" -#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "Un GdkPixbuf para mostrar" -#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 -#: ../gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Nome do ficheiro" -#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Nome de ficheiro para cargar e mostrar" -#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "ID de inventario para unha imaxe de inventario para mostrar" -#: ../gtk/gtkimage.c:258 +#: ../gtk/gtkimage.c:260 msgid "Icon set" msgstr "Definición da icona" -#: ../gtk/gtkimage.c:259 +#: ../gtk/gtkimage.c:261 msgid "Icon set to display" msgstr "Definición da icona para mostrar" -#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 -#: ../gtk/gtktoolpalette.c:1030 +#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1031 msgid "Icon size" msgstr "Tamaño da icona" -#: ../gtk/gtkimage.c:267 +#: ../gtk/gtkimage.c:269 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Tamaño simbólico que usar para a icona de inventario, conxunto de iconas ou " "icona con nome" -#: ../gtk/gtkimage.c:283 +#: ../gtk/gtkimage.c:285 msgid "Pixel size" msgstr "Tamaño do píxel" -#: ../gtk/gtkimage.c:284 +#: ../gtk/gtkimage.c:286 msgid "Pixel size to use for named icon" msgstr "Tamaño do píxel que usar para a icona con nome" -#: ../gtk/gtkimage.c:292 +#: ../gtk/gtkimage.c:294 msgid "Animation" msgstr "Animación" -#: ../gtk/gtkimage.c:293 +#: ../gtk/gtkimage.c:295 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation para mostrar" -#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Tipo de almacenamento" -#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "A representación empregada para as informacións de imaxe" -#: ../gtk/gtkimagemenuitem.c:149 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Widget fillo que aparecerá ao lado do texto de menú" -#: ../gtk/gtkimagemenuitem.c:164 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" msgstr "" "Indica se hai que usar a etiqueta de texto para crear un elemento de menú de " "inventario" -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 msgid "Accel Group" msgstr "Grupo de teclas rápidas" -#: ../gtk/gtkimagemenuitem.c:198 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "O grupo de teclas rápidas para usar nas teclas rápidas de inventario" -#: ../gtk/gtkinfobar.c:375 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 msgid "Message Type" msgstr "Tipo de mensaxe" -#: ../gtk/gtkinfobar.c:376 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 msgid "The type of message" msgstr "O tipo de mensaxe" -#: ../gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Largura do bordo ao redor da área de contido" -#: ../gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "O espazamento entre os elementos da área de acción" -#: ../gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Largura do bordo arredor da área de acción" -#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:540 +#: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "Pantalla" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 msgid "The screen where this window will be displayed" msgstr "A pantalla onde se mostrará esta xanela" -#: ../gtk/gtklabel.c:567 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "O texto da etiqueta" -#: ../gtk/gtklabel.c:574 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "Unha lista de atributos de estilos para aplicar ao texto da etiqueta" -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:703 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 msgid "Justification" msgstr "Xustificación" -#: ../gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3296,11 +3635,11 @@ msgstr "" "NON afecta ao aliñamento da etiqueta dentro da súa asignación Ver GtkMisc::" "xalign para iso" -#: ../gtk/gtklabel.c:604 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Patrón" -#: ../gtk/gtklabel.c:605 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3308,47 +3647,47 @@ msgstr "" "Unha cadea con caracteres _ en posicións correspondentes a caracteres no " "texto para subliñar" -#: ../gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Axuste de liña" -#: ../gtk/gtklabel.c:613 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "Se se define, axusta a liña se o texto se volve demasiado largo" -#: ../gtk/gtklabel.c:628 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Modo de axuste de liña" -#: ../gtk/gtklabel.c:629 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "Se se estabelece o axuste, controla como se fai o axuste de liña" -#: ../gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Seleccionábel" -#: ../gtk/gtklabel.c:637 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Indica se o texto da etiqueta pode ser seleccionado co rato" -#: ../gtk/gtklabel.c:643 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Tecla mnemónica" -#: ../gtk/gtklabel.c:644 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "A tecla rápida mnemónica para esta etiqueta" -#: ../gtk/gtklabel.c:652 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Widget mnemónico" -#: ../gtk/gtklabel.c:653 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "O widget que se activará cando se prema a tecla mnemónica da etiqueta" -#: ../gtk/gtklabel.c:699 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3356,63 +3695,55 @@ msgstr "" "O lugar preferido para a elipse da cadea, se a etiqueta non ten suficiente " "espazo para mostrar a cadea completa" -#: ../gtk/gtklabel.c:740 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Modo de liña única" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Indica se a etiqueta está no modo de liña única" -#: ../gtk/gtklabel.c:758 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Ángulo" -#: ../gtk/gtklabel.c:759 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Ángulo sobre o que se rota a etiqueta" -#: ../gtk/gtklabel.c:781 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "A largura máxima desexada da etiqueta, en caracteres" -#: ../gtk/gtklabel.c:799 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Rexistrar as ligazóns visitadas" -#: ../gtk/gtklabel.c:800 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Indica se as ligazóns visitadas deberían ser rexistradas" -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:229 -msgid "Width" -msgstr "Largura" - #: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "A largura da disposición" -#: ../gtk/gtklayout.c:668 -msgid "Height" -msgstr "Altura" - #: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "A altura da disposición" -#: ../gtk/gtklinkbutton.c:174 +#: ../gtk/gtklinkbutton.c:173 msgid "URI" msgstr "URI" -#: ../gtk/gtklinkbutton.c:175 +#: ../gtk/gtklinkbutton.c:174 msgid "The URI bound to this button" msgstr "O URI vinculado a este botón" -#: ../gtk/gtklinkbutton.c:189 +#: ../gtk/gtklinkbutton.c:188 msgid "Visited" msgstr "Visitada" -#: ../gtk/gtklinkbutton.c:190 +#: ../gtk/gtklinkbutton.c:189 msgid "Whether this link has been visited." msgstr "Indica se esta ligazón foi visitada." @@ -3436,7 +3767,7 @@ msgstr "A dirección do empaquetado fillo da barra de menú" msgid "Style of bevel around the menubar" msgstr "Estilo do bisel ao redor da barra de menús" -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Recheo interno" @@ -3446,33 +3777,33 @@ msgstr "" "Cantidade de espazo do bordo entre a sombra da barra de menús e os elementos " "de menú" -#: ../gtk/gtkmenu.c:521 +#: ../gtk/gtkmenu.c:517 msgid "The currently selected menu item" msgstr "O elemento de menú actualmente seleccionado" -#: ../gtk/gtkmenu.c:536 +#: ../gtk/gtkmenu.c:532 msgid "The accel group holding accelerators for the menu" msgstr "O grupo de teclas rápidas que contén as teclas rápidas para o menú" -#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 +#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Camiño de teclas rápidas" -#: ../gtk/gtkmenu.c:551 +#: ../gtk/gtkmenu.c:547 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "Un camiño de teclas rápidas usado para construír adecuadamente os camiños de " "teclas rápidas dos elementos fillo" -#: ../gtk/gtkmenu.c:567 +#: ../gtk/gtkmenu.c:563 msgid "Attach Widget" msgstr "Widget anexado" -#: ../gtk/gtkmenu.c:568 +#: ../gtk/gtkmenu.c:564 msgid "The widget the menu is attached to" msgstr "O widget ao que está anexado o menú" -#: ../gtk/gtkmenu.c:576 +#: ../gtk/gtkmenu.c:572 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3480,54 +3811,54 @@ msgstr "" "Un título que o xestor de xanelas poderá mostrar cando este menú estea " "desprazado" -#: ../gtk/gtkmenu.c:590 +#: ../gtk/gtkmenu.c:586 msgid "Tearoff State" msgstr "Estado de desprazamento" -#: ../gtk/gtkmenu.c:591 +#: ../gtk/gtkmenu.c:587 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Un booleano que indica se o menú está desprazado" -#: ../gtk/gtkmenu.c:605 +#: ../gtk/gtkmenu.c:601 msgid "Monitor" msgstr "Monitor" -#: ../gtk/gtkmenu.c:606 +#: ../gtk/gtkmenu.c:602 msgid "The monitor the menu will be popped up on" msgstr "O monitor en que emerxerá o menú" -#: ../gtk/gtkmenu.c:612 +#: ../gtk/gtkmenu.c:608 msgid "Vertical Padding" msgstr "Recheo vertical" -#: ../gtk/gtkmenu.c:613 +#: ../gtk/gtkmenu.c:609 msgid "Extra space at the top and bottom of the menu" msgstr "O espazo adicional na parte superior e inferior do menú" -#: ../gtk/gtkmenu.c:635 +#: ../gtk/gtkmenu.c:631 msgid "Reserve Toggle Size" msgstr "Reservar o tamaño de alternancia" -#: ../gtk/gtkmenu.c:636 +#: ../gtk/gtkmenu.c:632 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "" "Un booleano que indica se o menú reserva espazo para alternancias e iconas" -#: ../gtk/gtkmenu.c:642 +#: ../gtk/gtkmenu.c:638 msgid "Horizontal Padding" msgstr "Recheo horizontal" -#: ../gtk/gtkmenu.c:643 +#: ../gtk/gtkmenu.c:639 msgid "Extra space at the left and right edges of the menu" msgstr "O espazo adicional nos bordos dereito e esquerdo do menú" -#: ../gtk/gtkmenu.c:651 +#: ../gtk/gtkmenu.c:647 msgid "Vertical Offset" msgstr "Desprazamento vertical" -#: ../gtk/gtkmenu.c:652 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3535,11 +3866,11 @@ msgstr "" "Cando o menú é un submenú, colóqueo verticalmente con este número de píxeles " "de desprazamento" -#: ../gtk/gtkmenu.c:660 +#: ../gtk/gtkmenu.c:656 msgid "Horizontal Offset" msgstr "Desprazamento horizontal" -#: ../gtk/gtkmenu.c:661 +#: ../gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3547,106 +3878,102 @@ msgstr "" "Cando o menú é un submenú, colóqueo horizontalmente con este número de " "píxeles de desprazamento" -#: ../gtk/gtkmenu.c:669 +#: ../gtk/gtkmenu.c:665 msgid "Double Arrows" msgstr "Frechas dobres" -#: ../gtk/gtkmenu.c:670 +#: ../gtk/gtkmenu.c:666 msgid "When scrolling, always show both arrows." msgstr "Mostrar sempre ambas as frechas ao desprazar." -#: ../gtk/gtkmenu.c:683 +#: ../gtk/gtkmenu.c:679 msgid "Arrow Placement" msgstr "Colocación da frecha" -#: ../gtk/gtkmenu.c:684 +#: ../gtk/gtkmenu.c:680 msgid "Indicates where scroll arrows should be placed" msgstr "Indica onde se deberían colocar as frechas de desprazamento" -#: ../gtk/gtkmenu.c:692 +#: ../gtk/gtkmenu.c:688 msgid "Left Attach" msgstr "Anexar á esquerda" -#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 -msgid "The column number to attach the left side of the child to" -msgstr "A cantidade de columnas para anexar ao lado esquerdo do fillo" - -#: ../gtk/gtkmenu.c:700 +#: ../gtk/gtkmenu.c:696 msgid "Right Attach" msgstr "Anexar á dereita" -#: ../gtk/gtkmenu.c:701 +#: ../gtk/gtkmenu.c:697 msgid "The column number to attach the right side of the child to" msgstr "A cantidade de columnas para anexar ao lado dereito do fillo" -#: ../gtk/gtkmenu.c:708 +#: ../gtk/gtkmenu.c:704 msgid "Top Attach" msgstr "Anexar arriba" -#: ../gtk/gtkmenu.c:709 +#: ../gtk/gtkmenu.c:705 msgid "The row number to attach the top of the child to" msgstr "O número de filas para anexar encima do fillo" -#: ../gtk/gtkmenu.c:716 +#: ../gtk/gtkmenu.c:712 msgid "Bottom Attach" msgstr "Anexar abaixo" -#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "O número de filas para anexar debaixo do fillo" -#: ../gtk/gtkmenu.c:731 +#: ../gtk/gtkmenu.c:727 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" "Unha constante arbitraria para escalar para abaixo o tamaño da frecha de " "desprazamento" -#: ../gtk/gtkmenuitem.c:283 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "Xustificado á dereita" -#: ../gtk/gtkmenuitem.c:284 +#: ../gtk/gtkmenuitem.c:282 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" "Define se o elemento de menú aparece xustificado ao lado dereito dunha barra " "de menú" -#: ../gtk/gtkmenuitem.c:298 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "Submenú" -#: ../gtk/gtkmenuitem.c:299 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "O submenú anexado ao elemento do menú, ou NULL se non ten ningún" -#: ../gtk/gtkmenuitem.c:317 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "Define o camiño de teclas rápidas dun elemento de menú" -#: ../gtk/gtkmenuitem.c:332 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "O texto da etiqueta filla" -#: ../gtk/gtkmenuitem.c:395 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "A cantidade de espazo usado pola frecha, relativa ao tamaño do tipo de letra " "do elemento de menú" -#: ../gtk/gtkmenuitem.c:408 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "Largura en caracteres" -#: ../gtk/gtkmenuitem.c:409 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "A largura mínima desexada do elemento de menú en caracteres" -#: ../gtk/gtkmenushell.c:381 +#: ../gtk/gtkmenushell.c:363 msgid "Take Focus" msgstr "Obtén o foco" -#: ../gtk/gtkmenushell.c:382 +#: ../gtk/gtkmenushell.c:364 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Un booleano que determina se o menú captura o foco do teclado" @@ -3658,63 +3985,63 @@ msgstr "Menú" msgid "The dropdown menu" msgstr "O menú despregábel" -#: ../gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:185 msgid "Image/label border" msgstr "Bordo da imaxe ou etiqueta" -#: ../gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:186 msgid "Width of border around the label and image in the message dialog" msgstr "Largura do bordo ao redor da etiqueta e a imaxe no diálogo de mensaxes" -#: ../gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:210 msgid "Message Buttons" msgstr "Botóns de mensaxe" -#: ../gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:211 msgid "The buttons shown in the message dialog" msgstr "Os botóns mostrados no diálogo de mensaxe" -#: ../gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:228 msgid "The primary text of the message dialog" msgstr "O texto primario do diálogo de mensaxe" -#: ../gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:243 msgid "Use Markup" msgstr "Usar marcación" -#: ../gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the title includes Pango markup." msgstr "O texto primario do título inclúe a marcación Pango." -#: ../gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:258 msgid "Secondary Text" msgstr "Texto secundario" -#: ../gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:259 msgid "The secondary text of the message dialog" msgstr "O texto secundario do diálogo de mensaxe" -#: ../gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:274 msgid "Use Markup in secondary" msgstr "Usar marcación no secundario" -#: ../gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text includes Pango markup." msgstr "O texto secundario inclúe a marcación Pango." -#: ../gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:289 msgid "Image" msgstr "Imaxe" -#: ../gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:290 msgid "The image" msgstr "A imaxe" -#: ../gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:306 msgid "Message area" msgstr "Área do mensaxes" -#: ../gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:307 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "GtkVBox que contén as etiquetas primaria e secundaria do diálogo" @@ -3768,53 +4095,53 @@ msgstr "Se estamos mostrando un diálogo" msgid "The screen where this window will be displayed." msgstr "A pantalla onde esta xanela se mostrará." -#: ../gtk/gtknotebook.c:691 +#: ../gtk/gtknotebook.c:685 msgid "Page" msgstr "Páxina" -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:686 msgid "The index of the current page" msgstr "O índice da páxina actual" -#: ../gtk/gtknotebook.c:700 +#: ../gtk/gtknotebook.c:694 msgid "Tab Position" msgstr "Posición do separador" -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:695 msgid "Which side of the notebook holds the tabs" msgstr "Que lado do caderno contén os separadores" -#: ../gtk/gtknotebook.c:708 +#: ../gtk/gtknotebook.c:702 msgid "Show Tabs" msgstr "Mostrar separadores" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:703 msgid "Whether tabs should be shown" msgstr "Indica se os separadores deben mostrarse ou non" -#: ../gtk/gtknotebook.c:715 +#: ../gtk/gtknotebook.c:709 msgid "Show Border" msgstr "Mostrar bordo" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:710 msgid "Whether the border should be shown" msgstr "Indica se o bordo debe mostrarse ou non" -#: ../gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:716 msgid "Scrollable" msgstr "Desprazábel" -#: ../gtk/gtknotebook.c:723 +#: ../gtk/gtknotebook.c:717 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Se é TRUE, engádense frechas de desprazamento se hai demasiados separadores " "para encaixar" -#: ../gtk/gtknotebook.c:729 +#: ../gtk/gtknotebook.c:723 msgid "Enable Popup" msgstr "Activar o menú emerxente" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:724 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3822,131 +4149,127 @@ msgstr "" "Se é TRUE, premendo o botón dereito do rato no caderno emerxe un menú que " "pode usar para ir a unha páxina" -#: ../gtk/gtknotebook.c:744 +#: ../gtk/gtknotebook.c:738 msgid "Group Name" msgstr "Nome do grupo" -#: ../gtk/gtknotebook.c:745 +#: ../gtk/gtknotebook.c:739 msgid "Group name for tab drag and drop" msgstr "Nome do grupo para o arrastre e solte dos separadores" -#: ../gtk/gtknotebook.c:752 +#: ../gtk/gtknotebook.c:746 msgid "Tab label" msgstr "Etiqueta de separador" -#: ../gtk/gtknotebook.c:753 +#: ../gtk/gtknotebook.c:747 msgid "The string displayed on the child's tab label" msgstr "A cadea mostrada na etiqueta do separador fillo" -#: ../gtk/gtknotebook.c:759 +#: ../gtk/gtknotebook.c:753 msgid "Menu label" msgstr "Etiqueta de menú" -#: ../gtk/gtknotebook.c:760 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed in the child's menu entry" msgstr "A cadea mostrada na entrada de menú filla" -#: ../gtk/gtknotebook.c:773 +#: ../gtk/gtknotebook.c:767 msgid "Tab expand" msgstr "Expansión do separador" -#: ../gtk/gtknotebook.c:774 +#: ../gtk/gtknotebook.c:768 msgid "Whether to expand the child's tab" msgstr "Indica se se expanden os separadores fillos ou non" -#: ../gtk/gtknotebook.c:780 +#: ../gtk/gtknotebook.c:774 msgid "Tab fill" msgstr "Recheo de separador" -#: ../gtk/gtknotebook.c:781 +#: ../gtk/gtknotebook.c:775 msgid "Whether the child's tab should fill the allocated area" msgstr "Indica se os separadores fillos deberían encher a área asignada ou non" -#: ../gtk/gtknotebook.c:794 -msgid "Tab pack type" -msgstr "Tipo de empaquetado de separador" - -#: ../gtk/gtknotebook.c:801 +#: ../gtk/gtknotebook.c:782 msgid "Tab reorderable" msgstr "Separador reordenábel" -#: ../gtk/gtknotebook.c:802 +#: ../gtk/gtknotebook.c:783 msgid "Whether the tab is reorderable by user action" msgstr "" "Indica se o separador se pode ou non reordenar por unha acción do usuario" -#: ../gtk/gtknotebook.c:808 +#: ../gtk/gtknotebook.c:789 msgid "Tab detachable" msgstr "Separador desprazábel" -#: ../gtk/gtknotebook.c:809 +#: ../gtk/gtknotebook.c:790 msgid "Whether the tab is detachable" msgstr "Indica se o separador é desprazábel" -#: ../gtk/gtknotebook.c:824 ../gtk/gtkscrollbar.c:105 +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Paso de retroceso secundario" -#: ../gtk/gtknotebook.c:825 +#: ../gtk/gtknotebook.c:806 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Mostra un segundo botón de frecha de retroceso no extremo oposto da área de " "tabulación" -#: ../gtk/gtknotebook.c:840 ../gtk/gtkscrollbar.c:112 +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Paso de avance secundario" -#: ../gtk/gtknotebook.c:841 +#: ../gtk/gtknotebook.c:822 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Mostra un segundo botón de frecha de avance no extremo oposto da área de " "tabulación" -#: ../gtk/gtknotebook.c:855 ../gtk/gtkscrollbar.c:91 +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Paso de retroceso" -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:92 +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Mostrar o botón estándar de frecha de retroceso" -#: ../gtk/gtknotebook.c:870 ../gtk/gtkscrollbar.c:98 +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Paso de avance" -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:99 +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Mostrar o botón estándar de frecha de avance" -#: ../gtk/gtknotebook.c:885 +#: ../gtk/gtknotebook.c:866 msgid "Tab overlap" msgstr "Superposición de separador" -#: ../gtk/gtknotebook.c:886 +#: ../gtk/gtknotebook.c:867 msgid "Size of tab overlap area" msgstr "Tamaño da área de superposición do separador" -#: ../gtk/gtknotebook.c:901 +#: ../gtk/gtknotebook.c:882 msgid "Tab curvature" msgstr "Curvatura do separador" -#: ../gtk/gtknotebook.c:902 +#: ../gtk/gtknotebook.c:883 msgid "Size of tab curvature" msgstr "Tamaño da curvatura do separador" -#: ../gtk/gtknotebook.c:918 +#: ../gtk/gtknotebook.c:899 msgid "Arrow spacing" msgstr "Espazamento de frechas" -#: ../gtk/gtknotebook.c:919 +#: ../gtk/gtknotebook.c:900 msgid "Scroll arrow spacing" msgstr "Espazamento das frechas de desprazamento" -#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 -#: ../gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" msgstr "Orientación" @@ -3954,74 +4277,74 @@ msgstr "Orientación" msgid "The orientation of the orientable" msgstr "A orientación do orientábel" -#: ../gtk/gtkpaned.c:328 +#: ../gtk/gtkpaned.c:327 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" "Posición do separador de sección en píxeles (0 significa todo o traxecto " "cara á esquerda ou arriba)" -#: ../gtk/gtkpaned.c:337 +#: ../gtk/gtkpaned.c:336 msgid "Position Set" msgstr "Definición de posición" -#: ../gtk/gtkpaned.c:338 +#: ../gtk/gtkpaned.c:337 msgid "TRUE if the Position property should be used" msgstr "É TRUE se a propiedade de posición debe ser usada" -#: ../gtk/gtkpaned.c:344 +#: ../gtk/gtkpaned.c:343 msgid "Handle Size" msgstr "Tamaño do manipulador" -#: ../gtk/gtkpaned.c:345 +#: ../gtk/gtkpaned.c:344 msgid "Width of handle" msgstr "Largura do manipulador" -#: ../gtk/gtkpaned.c:361 +#: ../gtk/gtkpaned.c:360 msgid "Minimal Position" msgstr "Posición mínima" -#: ../gtk/gtkpaned.c:362 +#: ../gtk/gtkpaned.c:361 msgid "Smallest possible value for the \"position\" property" msgstr "O valor máis pequeno posíbel para a propiedade \"posición\"" -#: ../gtk/gtkpaned.c:379 +#: ../gtk/gtkpaned.c:378 msgid "Maximal Position" msgstr "Posición máxima" -#: ../gtk/gtkpaned.c:380 +#: ../gtk/gtkpaned.c:379 msgid "Largest possible value for the \"position\" property" msgstr "O valor máis grande posíbel para a propiedade \"posición\"" -#: ../gtk/gtkpaned.c:397 +#: ../gtk/gtkpaned.c:396 msgid "Resize" msgstr "Redimensionar" -#: ../gtk/gtkpaned.c:398 +#: ../gtk/gtkpaned.c:397 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "Se é TRUE, o fillo expándese e redúcese xunto coa sección do widget" -#: ../gtk/gtkpaned.c:413 +#: ../gtk/gtkpaned.c:412 msgid "Shrink" msgstr "Reducir" -#: ../gtk/gtkpaned.c:414 +#: ../gtk/gtkpaned.c:413 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Se é TRUE, o fillo pode facerse máis pequeno que a súa solicitude" -#: ../gtk/gtkplug.c:172 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 msgid "Embedded" msgstr "Incorporado" -#: ../gtk/gtkplug.c:173 +#: ../gtk/gtkplug.c:181 msgid "Whether the plug is embedded" msgstr "Indica se o conectador está incrustado" -#: ../gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:195 msgid "Socket Window" msgstr "Xanela de conectador" -#: ../gtk/gtkplug.c:188 +#: ../gtk/gtkplug.c:196 msgid "The window of the socket the plug is embedded in" msgstr "A xanela do conectador en que o obxecto \"plug\" está incorporado" @@ -4113,36 +4436,36 @@ msgstr "Opción de orixe" msgid "The PrinterOption backing this widget" msgstr "A PrinterOption que serve de apoio para este widget" -#: ../gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "Título do traballo de impresión" -#: ../gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "Impresora" -#: ../gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "Impresora na que imprimir o traballo" -#: ../gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "Configuracións" -#: ../gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "Configuracións da impresora" -#: ../gtk/gtkprintjob.c:142 ../gtk/gtkprintjob.c:143 -#: ../gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintunixdialog.c:299 msgid "Page Setup" msgstr "Configuración da páxina" -#: ../gtk/gtkprintjob.c:151 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Seguimento do estado de impresión" -#: ../gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:163 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4151,51 +4474,51 @@ msgstr "" "estado despois de que os datos de impresión sexan enviados á impresora ou ao " "servidor de impresoras." -#: ../gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1008 msgid "Default Page Setup" msgstr "Configuración de páxina predefinida" -#: ../gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1009 msgid "The GtkPageSetup used by default" msgstr "A GtkPageSetup que se usa por defecto" -#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:317 msgid "Print Settings" msgstr "Configuracións da impresora" -#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:318 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "Os GtkPrintSettings que se usan para inicializar o diálogo" -#: ../gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1046 msgid "Job Name" msgstr "Nome do traballo" -#: ../gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1047 msgid "A string used for identifying the print job." msgstr "Unha cadea que se usa para identificar o traballo de impresión." -#: ../gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1071 msgid "Number of Pages" msgstr "Número de páxinas" -#: ../gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1072 msgid "The number of pages in the document." msgstr "O número de páxinas do documento." -#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:307 msgid "Current Page" msgstr "Páxina actual" -#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:308 msgid "The current page in the document" msgstr "A páxina actual do documento" -#: ../gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1115 msgid "Use full page" msgstr "Usar a páxina completa" -#: ../gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1116 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" @@ -4203,7 +4526,7 @@ msgstr "" "É TRUE se a orixe do contexto debe estar na esquina da páxina e non na " "esquina da área de imaxe" -#: ../gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1137 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4212,121 +4535,121 @@ msgstr "" "impresión despois de que os datos de impresión sexan enviados á impresora ou " "ao servidor de impresoras." -#: ../gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1154 msgid "Unit" msgstr "Unidade" -#: ../gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1155 msgid "The unit in which distances can be measured in the context" msgstr "A unidade na que se poden medir as distancias no contexto" -#: ../gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1172 msgid "Show Dialog" msgstr "Mostrar diálogo" -#: ../gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1173 msgid "TRUE if a progress dialog is shown while printing." msgstr "É TRUE se se mostra un diálogo de progreso ao imprimir." -#: ../gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1196 msgid "Allow Async" msgstr "Permitir asíncrono" -#: ../gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1197 msgid "TRUE if print process may run asynchronous." msgstr "É TRUE se o proceso de impresión se pode executar asincronamente." -#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 msgid "Export filename" msgstr "Exportar nome de ficheiro" -#: ../gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1235 msgid "The status of the print operation" msgstr "O estado da operación de impresión" -#: ../gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1255 msgid "Status String" msgstr "Cadea de estado" -#: ../gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1256 msgid "A human-readable description of the status" msgstr "Unha descrición lexíbel por humanos do estado" -#: ../gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1274 msgid "Custom tab label" msgstr "Etiqueta de separador personalizado" -#: ../gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1275 msgid "Label for the tab containing custom widgets." msgstr "Etiqueta para o separador que contén widgets personalizados." -#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:342 msgid "Support Selection" msgstr "Permite a selección" -#: ../gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1291 msgid "TRUE if the print operation will support print of selection." msgstr "TRUE se a operación de impresión permitirá a impresión da selección." -#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:350 msgid "Has Selection" msgstr "Ten unha selección" -#: ../gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1308 msgid "TRUE if a selection exists." msgstr "TRUE se existe unha selección." -#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:358 msgid "Embed Page Setup" msgstr "Configuración da páxina incorporada" -#: ../gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1324 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" "TRUE se as caixas de combinación da configuración de páxina están " "incorporados no GtkPrintDialog" -#: ../gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1345 msgid "Number of Pages To Print" msgstr "Número de páxinas para imprimir" -#: ../gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1346 msgid "The number of pages that will be printed." msgstr "O número de páxinas que serán impresas." -#: ../gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:300 msgid "The GtkPageSetup to use" msgstr "O GtkPageSetup que usar" -#: ../gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:325 msgid "Selected Printer" msgstr "Impresora seleccionada" -#: ../gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:326 msgid "The GtkPrinter which is selected" msgstr "O GtkPrinter que está seleccionado" -#: ../gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Manual Capabilities" msgstr "Capacidades manuais" -#: ../gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:334 msgid "Capabilities the application can handle" msgstr "Capacidades que o aplicativo pode manipular" -#: ../gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:343 msgid "Whether the dialog supports selection" msgstr "Se a caixa de diálogo permite a selección" -#: ../gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:351 msgid "Whether the application has a selection" msgstr "Cando o aplicativo ten unha seleccion" -#: ../gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:359 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" "TRUE se as caixas de combinación da configuración de páxina están " @@ -4462,29 +4785,21 @@ msgstr "O elemento do menú de opción a cuxo grupo pertence este widget." msgid "The radio tool button whose group this button belongs to." msgstr "O botón de ferramenta de opción a cuxo grupo pertence este botón." -#: ../gtk/gtkrange.c:423 -msgid "Update policy" -msgstr "Política de actualización" - -#: ../gtk/gtkrange.c:424 -msgid "How the range should be updated on the screen" -msgstr "Como se debe actualizar o intervalo na pantalla" - -#: ../gtk/gtkrange.c:433 +#: ../gtk/gtkrange.c:416 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "O GtkAdjustment que contén o valor actual deste intervalo de obxectos" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:424 msgid "Invert direction slider moves to increase range value" msgstr "" "Inverter a dirección en que se move o control desprazábel para incrementar o " "valor do intervalo" -#: ../gtk/gtkrange.c:448 +#: ../gtk/gtkrange.c:431 msgid "Lower stepper sensitivity" msgstr "Sensibilidade de paso inferior" -#: ../gtk/gtkrange.c:449 +#: ../gtk/gtkrange.c:432 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4492,11 +4807,11 @@ msgstr "" "A política de sensibilidade para o paso que apunta ao lado máis baixo do " "axuste" -#: ../gtk/gtkrange.c:457 +#: ../gtk/gtkrange.c:440 msgid "Upper stepper sensitivity" msgstr "Sensibilidade do paso superior" -#: ../gtk/gtkrange.c:458 +#: ../gtk/gtkrange.c:441 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4504,89 +4819,89 @@ msgstr "" "A política de sensibilidade para o paso que apunta ao lado máis alto do " "axuste" -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:458 msgid "Show Fill Level" msgstr "Mostrar nivel de recheo" -#: ../gtk/gtkrange.c:476 +#: ../gtk/gtkrange.c:459 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" "Indica se se debe mostrar o indicador gráfico de nivel de recheo mentres se " "enche." -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:475 msgid "Restrict to Fill Level" msgstr "Restrinxir ao nivel de recheo" -#: ../gtk/gtkrange.c:493 +#: ../gtk/gtkrange.c:476 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Indica se se debe restrinxir o bordo superior ao nivel de recheo." -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:491 msgid "Fill Level" msgstr "Nivel de recheo" -#: ../gtk/gtkrange.c:509 +#: ../gtk/gtkrange.c:492 msgid "The fill level." msgstr "O nivel de recheo." -#: ../gtk/gtkrange.c:517 ../gtk/gtkswitch.c:772 +#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 msgid "Slider Width" msgstr "Largura do control desprazábel" -#: ../gtk/gtkrange.c:518 +#: ../gtk/gtkrange.c:501 msgid "Width of scrollbar or scale thumb" msgstr "Largura da barra de desprazamento ou do indicador de escala" -#: ../gtk/gtkrange.c:525 +#: ../gtk/gtkrange.c:508 msgid "Trough Border" msgstr "Bordo do canal" -#: ../gtk/gtkrange.c:526 +#: ../gtk/gtkrange.c:509 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "" "Espazamento entre o indicador de escala ou os pasos e o bisel do canal " "exterior" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:516 msgid "Stepper Size" msgstr "Tamaño do paso" -#: ../gtk/gtkrange.c:534 +#: ../gtk/gtkrange.c:517 msgid "Length of step buttons at ends" msgstr "Lonxitude dos botóns de paso nos extremos" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:532 msgid "Stepper Spacing" msgstr "Espazamento do paso" -#: ../gtk/gtkrange.c:550 +#: ../gtk/gtkrange.c:533 msgid "Spacing between step buttons and thumb" msgstr "Espazamento entre os botóns de paso e o indicador de escala" -#: ../gtk/gtkrange.c:557 +#: ../gtk/gtkrange.c:540 msgid "Arrow X Displacement" msgstr "Desprazamento X da frecha" -#: ../gtk/gtkrange.c:558 +#: ../gtk/gtkrange.c:541 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "Até onde se move a frecha na dirección X cando se solta o botón" -#: ../gtk/gtkrange.c:565 +#: ../gtk/gtkrange.c:548 msgid "Arrow Y Displacement" msgstr "Desprazamento Y da frecha" -#: ../gtk/gtkrange.c:566 +#: ../gtk/gtkrange.c:549 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "Até onde se move a frecha na dirección Y cando se solta o botón" -#: ../gtk/gtkrange.c:584 +#: ../gtk/gtkrange.c:567 msgid "Trough Under Steppers" msgstr "Canal baixo os pasos" -#: ../gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:568 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4594,11 +4909,11 @@ msgstr "" "Indica se se debuxa para toda a lonxitude do intervalo ou se exclúe os pasos " "e o espazamento" -#: ../gtk/gtkrange.c:598 +#: ../gtk/gtkrange.c:581 msgid "Arrow scaling" msgstr "Escalado de frecha" -#: ../gtk/gtkrange.c:599 +#: ../gtk/gtkrange.c:582 msgid "Arrow scaling with regard to scroll button size" msgstr "O escalado da frecha con atención ao tamaño do botón de desprazamento" @@ -4695,135 +5010,172 @@ msgstr "" msgid "The size of the recently used resources list" msgstr "O tamaño da lista de recursos usados recentemente" -#: ../gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:218 msgid "The value of the scale" msgstr "O valor da escala" -#: ../gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:228 msgid "The icon size" msgstr "O tamaño da icona" -#: ../gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:237 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "" "O GtkAdjustment que contén o valor actual deste obxecto de botón de escala" -#: ../gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:265 msgid "Icons" msgstr "Iconas" -#: ../gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:266 msgid "List of icon names" msgstr "Lista dos nomes de iconas" -#: ../gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "O número de lugares decimais que se mostran no valor" -#: ../gtk/gtkscale.c:264 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Valor de debuxo" -#: ../gtk/gtkscale.c:265 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "" "Indica se o valor actual se mostra como unha cadea contigua ao control " "desprazábel" -#: ../gtk/gtkscale.c:272 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Posición do valor" -#: ../gtk/gtkscale.c:273 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "A posición na que se mostra o valor actual" -#: ../gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Lonxitude do control desprazábel" -#: ../gtk/gtkscale.c:281 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Lonxitude da escala do control desprazábel" -#: ../gtk/gtkscale.c:289 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Espazamento do valor" -#: ../gtk/gtkscale.c:290 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "" "Espazo entre os valores de texto e a área do control desprazábel ou o canal" -#: ../gtk/gtkscrollbar.c:75 +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "Axuste horizontal" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Axuste horizontal que é compartido entre o widget desprazábel e o seu " +"controlador" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "Axuste vertical" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" + +#: ../gtk/gtkscrollable.c:120 +#| msgid "Horizontal Scrollbar Policy" +msgid "Horizontal Scrollable Policy" +msgstr "Normativa do desprazamento horizontal" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "Como se debe determinar o tamaño do contido" + +#: ../gtk/gtkscrollable.c:136 +#, fuzzy +#| msgid "Vertical Scrollbar Policy" +msgid "Vertical Scrollable Policy" +msgstr "Comportamento da barra de desprazamento vertical" + +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Lonxitude mínima do control desprazábel" -#: ../gtk/gtkscrollbar.c:76 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Tamaño mínimo da barra de desprazamento do control desprazábel" -#: ../gtk/gtkscrollbar.c:84 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Tamaño fixo do control desprazábel" -#: ../gtk/gtkscrollbar.c:85 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "" "Non cambiar o tamaño do control desprazábel, bloquealo na lonxitude mínima" -#: ../gtk/gtkscrollbar.c:106 +#: ../gtk/gtkscrollbar.c:103 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" "Mostra un segundo botón de frecha de retroceso no extremo oposto da barra de " "desprazamento" -#: ../gtk/gtkscrollbar.c:113 +#: ../gtk/gtkscrollbar.c:110 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" "Mostra un segundo botón de frecha de avance no extremo oposto da barra de " "desprazamento" -#: ../gtk/gtkscrolledwindow.c:295 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "Axuste horizontal" -#: ../gtk/gtkscrolledwindow.c:296 +#: ../gtk/gtkscrolledwindow.c:297 msgid "The GtkAdjustment for the horizontal position" msgstr "O GtkAdjustment para a posición horizontal" -#: ../gtk/gtkscrolledwindow.c:302 +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "Axuste vertical" -#: ../gtk/gtkscrolledwindow.c:303 +#: ../gtk/gtkscrolledwindow.c:304 msgid "The GtkAdjustment for the vertical position" msgstr "O GtkAdjustment para a posición vertical" -#: ../gtk/gtkscrolledwindow.c:309 +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "Comportamento da barra de desprazamento horizontal" -#: ../gtk/gtkscrolledwindow.c:310 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "Cando se mostra a barra de desprazamento horizontal" -#: ../gtk/gtkscrolledwindow.c:317 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "Comportamento da barra de desprazamento vertical" -#: ../gtk/gtkscrolledwindow.c:318 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "Cando se mostra a barra de desprazamento vertical" -#: ../gtk/gtkscrolledwindow.c:326 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "Colocación da xanela" -#: ../gtk/gtkscrolledwindow.c:327 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4831,11 +5183,11 @@ msgstr "" "Onde se colocan os contidos respecto ás barras de desprazamento. Esta " "propiedade só ten efecto se \"window-placement-set\" é TRUE." -#: ../gtk/gtkscrolledwindow.c:344 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "Definición da colocación da xanela" -#: ../gtk/gtkscrolledwindow.c:345 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4843,46 +5195,46 @@ msgstr "" "Indica se debe usarse \"window-placement\" para determinar a localización do " "contido respecto ás barras de desprazamento." -#: ../gtk/gtkscrolledwindow.c:351 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "Tipo de sombra" -#: ../gtk/gtkscrolledwindow.c:352 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "Estilo de bisel ao redor dos contidos" -#: ../gtk/gtkscrolledwindow.c:366 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "Barra de desprazamento no bisel" -#: ../gtk/gtkscrolledwindow.c:367 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "" "Colocar as barras de desprazamento no bisel da xanela con desprazamento" -#: ../gtk/gtkscrolledwindow.c:373 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "Espazamento da barra de desprazamento" -#: ../gtk/gtkscrolledwindow.c:374 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "" "Número de píxeles entre as barras de desprazamentos e a xanela con " "desprazamento" -#: ../gtk/gtkscrolledwindow.c:383 +#: ../gtk/gtkscrolledwindow.c:384 msgid "Minimum Content Width" msgstr "Anchura mínima do contido" -#: ../gtk/gtkscrolledwindow.c:384 +#: ../gtk/gtkscrolledwindow.c:385 msgid "The minimum width that the scrolled window will allocate to its content" msgstr "A anchura mínima que a xanela desprazada reservará para o seu contido" -#: ../gtk/gtkscrolledwindow.c:390 +#: ../gtk/gtkscrolledwindow.c:391 msgid "Minimum Content Height" msgstr "Altura mínima do contido" -#: ../gtk/gtkscrolledwindow.c:391 +#: ../gtk/gtkscrolledwindow.c:392 msgid "" "The minimum height that the scrolled window will allocate to its content" msgstr "A altura mínima que a xanela desprazada reservará para o seu contido" @@ -4895,11 +5247,11 @@ msgstr "Debuxar" msgid "Whether the separator is drawn, or just blank" msgstr "Indica se se debuxa o separador ou se se deixa en branco" -#: ../gtk/gtksettings.c:285 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Tempo do dobre clic" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4907,11 +5259,11 @@ msgstr "" "Tempo máximo permitido entre dous clics para ser considerados como un clic " "dobre (en milisegundos)" -#: ../gtk/gtksettings.c:293 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Distancia do dobre clic" -#: ../gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4919,36 +5271,36 @@ msgstr "" "Distancia máxima permitida entre dous clics para ser considerados como un " "dobre clic (en píxeles)" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Intermitencia do cursor" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "Indica se o cursor debe pestanexar" -#: ../gtk/gtksettings.c:318 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Tempo de intermitencia do cursor" -#: ../gtk/gtksettings.c:319 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Duración do ciclo de intermitencia do cursor, en milisegundos" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Tempo de intermitencia do cursor" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "" "Duración a partir de que se detén a intermitencia do cursor, en segundos" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Cursor dividido" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4956,157 +5308,157 @@ msgstr "" "Indica se se deben mostrar dous cursores para o texto mesturado de esquerda " "a dereita e de dereita a esquerda" -#: ../gtk/gtksettings.c:354 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Nome do tema" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Nome do ficheiro de tema RC para cargar" -#: ../gtk/gtksettings.c:363 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Nome do tema de iconas" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Nome do tema de iconas para usar" -#: ../gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Nome do tema de iconas do modo de emerxencia" -#: ../gtk/gtksettings.c:373 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Nome do tema de iconas que usar cando o escollido falle" -#: ../gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Nome do tema principal" -#: ../gtk/gtksettings.c:382 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Nome do ficheiro de tema RC principal para cargar" -#: ../gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Tecla rápida da barra de menús" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Combinación de teclas para activar a barra de menús" -#: ../gtk/gtksettings.c:399 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Límite de arrastre" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "Número de píxeles que o cursor pode mover antes de iniciar o arrastre" -#: ../gtk/gtksettings.c:408 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Nome do tipo de letra" -#: ../gtk/gtksettings.c:409 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Nome do tipo de letra predefinido que usar" -#: ../gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Tamaño das iconas" -#: ../gtk/gtksettings.c:432 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Lista dos tamaños das iconas (gtk-menu=16,16:gtk-button=20,20..." -#: ../gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "Módulos GTK" -#: ../gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "Lista dos módulos GTK actualmente activos" -#: ../gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Suavizado Xft" -#: ../gtk/gtksettings.c:451 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica se se suavizan os bordos dos tipo de letra Xft, 0=non, 1=si, " "-1=predefinido" -#: ../gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Contorno Xft" -#: ../gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica se se usa o contorno dos tipo de letra Xft; 0=non, 1=si, " "-1=predefinido" -#: ../gtk/gtksettings.c:470 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Estilo de contorno Xft" -#: ../gtk/gtksettings.c:471 +#: ../gtk/gtksettings.c:485 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "Que grao de contorno hai que usar: ningunha, lixeira, media ou completa" -#: ../gtk/gtksettings.c:480 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:481 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Tipo de suavizado de subpíxel: ningún, rgb, vrgb, vbgr" -#: ../gtk/gtksettings.c:490 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "PPP Xft" -#: ../gtk/gtksettings.c:491 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" "Resolución para Xft, en 1024 * puntos por polgada. -1 para usar o valor " "predefinido" -#: ../gtk/gtksettings.c:500 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Nome do tema de cursor" -#: ../gtk/gtksettings.c:501 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "Nome do tema de cursor que usar ou NULL para usar o tema predefinido" -#: ../gtk/gtksettings.c:509 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Tamaño do tema de cursor" -#: ../gtk/gtksettings.c:510 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "" "Tamaño que se vai usar para os cursores ou 0 para usar o tamaño predefinido" -#: ../gtk/gtksettings.c:520 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Orde alternativa dos botóns" -#: ../gtk/gtksettings.c:521 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" "Indica se os botóns nos diálogos deben usar a orde alternativa de botóns" -#: ../gtk/gtksettings.c:538 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "Dirección alternativa do indicador de orde" -#: ../gtk/gtksettings.c:539 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5115,11 +5467,11 @@ msgstr "" "en árbore está invertida en comparación coa predefinida (onde abaixo " "significa ascendente)" -#: ../gtk/gtksettings.c:547 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Mostrar o menú Métodos de entrada" -#: ../gtk/gtksettings.c:548 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5127,11 +5479,11 @@ msgstr "" "Indica se os menús de contexto das entradas e as visualizacións de texto " "deben ofrecer modificar o método de entrada" -#: ../gtk/gtksettings.c:556 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Mostrar o menú Inserir carácter de control Unicode" -#: ../gtk/gtksettings.c:557 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5139,253 +5491,253 @@ msgstr "" "Indica se os menús de contexto das entradas e as visualizacións de texto " "deben ofrecer inserir caracteres de control" -#: ../gtk/gtksettings.c:565 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Comezar o tempo de espera" -#: ../gtk/gtksettings.c:566 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "Valor de inicio para o tempo de espera, cando se prema o botón" -#: ../gtk/gtksettings.c:575 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Repetir o tempo de espera" -#: ../gtk/gtksettings.c:576 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "Valor de repetición para o tempo de espera, cando o botón se prema" -#: ../gtk/gtksettings.c:585 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Ampliar o tempo de espera" -#: ../gtk/gtksettings.c:586 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" "Valor de ampliación para os tempos de espera, cando un widget está " "expandindo unha nova rexión" -#: ../gtk/gtksettings.c:621 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Esquema de cor" -#: ../gtk/gtksettings.c:622 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "Unha paleta de cores con nome para usar nos temas" -#: ../gtk/gtksettings.c:631 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Activar animacións" -#: ../gtk/gtksettings.c:632 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "Indica se se activan as animacións para todo o toolkit." -#: ../gtk/gtksettings.c:650 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "Activar o modo de pantalla táctil" -#: ../gtk/gtksettings.c:651 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" "Cando é TRUE, non se envían eventos de notificación de movemento a esta " "pantalla" -#: ../gtk/gtksettings.c:668 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Tempo de espera da indicación" -#: ../gtk/gtksettings.c:669 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Tempo de espera antes de que se mostre a indicación" -#: ../gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "Tempo de espera da indicación de navegación" -#: ../gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" "Tempo de espera antes de que se mostre a indicación cando o modo de " "navegación está activo" -#: ../gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "Tempo de espera da indicación en modo de navegación" -#: ../gtk/gtksettings.c:717 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "Tempo de espera despois do que se desactiva o modo de navegación" -#: ../gtk/gtksettings.c:736 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "Só cursor para navegar con teclas" -#: ../gtk/gtksettings.c:737 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" "Cando sexa TRUE, só hai teclas de cursor dispoñíbeis para navegar polos " "widgets" -#: ../gtk/gtksettings.c:754 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "Dar a volta coa navegación con teclas" -#: ../gtk/gtksettings.c:755 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Indica se se dá a volta cando se navegue cos widgets co teclado" -#: ../gtk/gtksettings.c:775 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "Campá de erro" -#: ../gtk/gtksettings.c:776 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" "Cando sexa TRUE, a navegación co teclado e outros erros emitirán un ton de " "aviso" -#: ../gtk/gtksettings.c:793 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "Hash da cor" -#: ../gtk/gtksettings.c:794 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "Unha representación en táboa hash do esquema de cor." -#: ../gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Backend predefinido do selector de ficheiros" -#: ../gtk/gtksettings.c:803 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Nome do backend do GtkFileChooser para usar por defecto" -#: ../gtk/gtksettings.c:820 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Backend de impresión predefinido" -#: ../gtk/gtksettings.c:821 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Lista dos backends do GtkPrintBackend para usar por defecto" -#: ../gtk/gtksettings.c:844 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "" "Orde predefinida para executar ao mostrar unha visualización previa de " "impresión" -#: ../gtk/gtksettings.c:845 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "Orde para executar ao mostrar unha visualización previa de impresión" -#: ../gtk/gtksettings.c:861 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Activar mnemónicos" -#: ../gtk/gtksettings.c:862 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Indica se as etiquetas deben ser mnemónicas" -#: ../gtk/gtksettings.c:878 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Activar teclas rápidas" -#: ../gtk/gtksettings.c:879 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Indica se os elementos de menús deben ter teclas rápidas" -#: ../gtk/gtksettings.c:896 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Límite de ficheiros recentes" -#: ../gtk/gtksettings.c:897 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Número de ficheiros usados recentemente" -#: ../gtk/gtksettings.c:915 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "Módulo de MI predefinido" -#: ../gtk/gtksettings.c:916 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "O módulo de MI que se debería usar por defecto" -#: ../gtk/gtksettings.c:934 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "Antigüidade máxima dos ficheiros recentes" -#: ../gtk/gtksettings.c:935 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "A antigüidade máxima dos ficheiros usados recentemente, en días" -#: ../gtk/gtksettings.c:944 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "Marca temporal de configuración do Fontconfig" -#: ../gtk/gtksettings.c:945 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "A marca temporal da configuración actual do Fontconfig" -#: ../gtk/gtksettings.c:967 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Nome do tema de son" -#: ../gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "Nome do tema de son XDG" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:990 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "Retroacción audíbel á entrada" -#: ../gtk/gtksettings.c:991 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" msgstr "" "Indica se hai que reproducir eventos de son como retroacción á entrada do " "usuario" -#: ../gtk/gtksettings.c:1012 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Activar os eventos de son" -#: ../gtk/gtksettings.c:1013 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Indica se hai que activar todos os eventos de son" -#: ../gtk/gtksettings.c:1028 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Activar indicacións" -#: ../gtk/gtksettings.c:1029 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Indica se se deberían mostrar as indicacións nos widgets" -#: ../gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Estilo da barra de ferramentas" -#: ../gtk/gtksettings.c:1043 +#: ../gtk/gtksettings.c:1057 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Indica se as barras de ferramentas predefinidas teñen só texto, texto e " "iconas, só iconas etc." -#: ../gtk/gtksettings.c:1057 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Tamaño da icona da barra de ferramentas" -#: ../gtk/gtksettings.c:1058 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "Tamaño das iconas das barras de ferramentas predefinidas." -#: ../gtk/gtksettings.c:1075 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Mnemónicos automáticos" -#: ../gtk/gtksettings.c:1076 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5393,62 +5745,62 @@ msgstr "" "Indica se os mnemónicos deberían mostrarse e agocharse automáticamente cando " "o usuario prema un activador de mnemónico." -#: ../gtk/gtksettings.c:1101 +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" msgstr "O aplicativo prefire un tema escuro" -#: ../gtk/gtksettings.c:1102 +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." msgstr "Indica se o aplicativo prefire un tema escuro." -#: ../gtk/gtksettings.c:1117 +#: ../gtk/gtksettings.c:1131 msgid "Show button images" msgstr "Mostrar imaxes no botón" -#: ../gtk/gtksettings.c:1118 +#: ../gtk/gtksettings.c:1132 msgid "Whether images should be shown on buttons" msgstr "Indica se se deberían mostrar as imaxes nos botóns" -#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 msgid "Select on focus" msgstr "Seleccionar ao enfocar" -#: ../gtk/gtksettings.c:1127 +#: ../gtk/gtksettings.c:1141 msgid "Whether to select the contents of an entry when it is focused" msgstr "" "Indica se se deben seleccionar os contidos dunha entrada cando está enfocada" -#: ../gtk/gtksettings.c:1144 +#: ../gtk/gtksettings.c:1158 msgid "Password Hint Timeout" msgstr "Tempo de espera para a suxestión de contrasinal" -#: ../gtk/gtksettings.c:1145 +#: ../gtk/gtksettings.c:1159 msgid "How long to show the last input character in hidden entries" msgstr "" "Durante canto tempo hai que mostrar o último carácter introducido nas " "entradas ocultas" -#: ../gtk/gtksettings.c:1154 +#: ../gtk/gtksettings.c:1168 msgid "Show menu images" msgstr "Mostrar as imaxes de menú" -#: ../gtk/gtksettings.c:1155 +#: ../gtk/gtksettings.c:1169 msgid "Whether images should be shown in menus" msgstr "Indica se se deben mostrar ou non as imaxes nos menús" -#: ../gtk/gtksettings.c:1163 +#: ../gtk/gtksettings.c:1177 msgid "Delay before drop down menus appear" msgstr "Atraso antes de que os menús despregábeis aparezan" -#: ../gtk/gtksettings.c:1164 +#: ../gtk/gtksettings.c:1178 msgid "Delay before the submenus of a menu bar appear" msgstr "Atraso antes de que os submenús dunha barra de menú aparezan" -#: ../gtk/gtksettings.c:1181 +#: ../gtk/gtksettings.c:1195 msgid "Scrolled Window Placement" msgstr "Colocación da xanela con desprazamento" -#: ../gtk/gtksettings.c:1182 +#: ../gtk/gtksettings.c:1196 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5457,33 +5809,33 @@ msgstr "" "barras de desprazamento, se non toma precedencia a colocación da propia " "xanela con desprazamento." -#: ../gtk/gtksettings.c:1191 +#: ../gtk/gtksettings.c:1205 msgid "Can change accelerators" msgstr "Pode cambiar as teclas rápidas" -#: ../gtk/gtksettings.c:1192 +#: ../gtk/gtksettings.c:1206 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Indica se as teclas rápidas do menú poden ser cambiadas premendo unha tecla " "sobre o elemento de menú" -#: ../gtk/gtksettings.c:1200 +#: ../gtk/gtksettings.c:1214 msgid "Delay before submenus appear" msgstr "Atraso antes de que os submenús aparezan" -#: ../gtk/gtksettings.c:1201 +#: ../gtk/gtksettings.c:1215 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "Tempo mínimo no que o punteiro debe permanecer sobre un elemento de menú " "antes de que o submenú apareza" -#: ../gtk/gtksettings.c:1210 +#: ../gtk/gtksettings.c:1224 msgid "Delay before hiding a submenu" msgstr "Atraso antes de ocultar un submenú" -#: ../gtk/gtksettings.c:1211 +#: ../gtk/gtksettings.c:1225 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" @@ -5491,41 +5843,41 @@ msgstr "" "Tempo antes de ocultar un submenú cando o punteiro se estea a mover cara ao " "submenú" -#: ../gtk/gtksettings.c:1221 +#: ../gtk/gtksettings.c:1235 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Indica se se seleccionan os contidos dunha etiqueta seleccionábel cando está " "enfocada" -#: ../gtk/gtksettings.c:1229 +#: ../gtk/gtksettings.c:1243 msgid "Custom palette" msgstr "Paleta personalizada" -#: ../gtk/gtksettings.c:1230 +#: ../gtk/gtksettings.c:1244 msgid "Palette to use in the color selector" msgstr "A paleta que se usará no selector de cores" -#: ../gtk/gtksettings.c:1238 +#: ../gtk/gtksettings.c:1252 msgid "IM Preedit style" msgstr "Estilo preedit IM" -#: ../gtk/gtksettings.c:1239 +#: ../gtk/gtksettings.c:1253 msgid "How to draw the input method preedit string" msgstr "Como debuxar a cadea do método de entrada de preedit" -#: ../gtk/gtksettings.c:1248 +#: ../gtk/gtksettings.c:1262 msgid "IM Status style" msgstr "Estilo do estado IM" -#: ../gtk/gtksettings.c:1249 +#: ../gtk/gtksettings.c:1263 msgid "How to draw the input method statusbar" msgstr "Como debuxar o método de entrada da barra de estado" -#: ../gtk/gtksizegroup.c:350 +#: ../gtk/gtksizegroup.c:351 msgid "Mode" msgstr "Modo" -#: ../gtk/gtksizegroup.c:351 +#: ../gtk/gtksizegroup.c:352 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" @@ -5533,26 +5885,26 @@ msgstr "" "As direccións en que o tamaño do grupo afecta aos tamaños solicitados dos " "seus compoñentes widgets" -#: ../gtk/gtksizegroup.c:367 +#: ../gtk/gtksizegroup.c:368 msgid "Ignore hidden" msgstr "Ignorar ocultos" -#: ../gtk/gtksizegroup.c:368 +#: ../gtk/gtksizegroup.c:369 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" "Se é TRUE, os widgets non mapeados ignoraranse ao determinar o tamaño do " "grupo" -#: ../gtk/gtkspinbutton.c:238 +#: ../gtk/gtkspinbutton.c:328 msgid "Climb Rate" msgstr "Taxa de incremento" -#: ../gtk/gtkspinbutton.c:258 +#: ../gtk/gtkspinbutton.c:348 msgid "Snap to Ticks" msgstr "Axustar aos pasos" -#: ../gtk/gtkspinbutton.c:259 +#: ../gtk/gtkspinbutton.c:349 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5560,40 +5912,40 @@ msgstr "" "Indica se os valores errados se cambian automaticamente polo incremento de " "paso máis próximo dun botón de axuste" -#: ../gtk/gtkspinbutton.c:266 +#: ../gtk/gtkspinbutton.c:356 msgid "Numeric" msgstr "Numérico" -#: ../gtk/gtkspinbutton.c:267 +#: ../gtk/gtkspinbutton.c:357 msgid "Whether non-numeric characters should be ignored" msgstr "Indica se se deben ignorar os caracteres non numéricos" -#: ../gtk/gtkspinbutton.c:274 +#: ../gtk/gtkspinbutton.c:364 msgid "Wrap" msgstr "Axustar" -#: ../gtk/gtkspinbutton.c:275 +#: ../gtk/gtkspinbutton.c:365 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "" "Indica se un botón de axuste debe axustarse cara a arriba até alcanzar os " "seus límites" -#: ../gtk/gtkspinbutton.c:282 +#: ../gtk/gtkspinbutton.c:372 msgid "Update Policy" msgstr "Política de actualización" -#: ../gtk/gtkspinbutton.c:283 +#: ../gtk/gtkspinbutton.c:373 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Indica se o botón de axuste debe actualizarse sempre ou só cando o valor é " "correcto" -#: ../gtk/gtkspinbutton.c:292 +#: ../gtk/gtkspinbutton.c:382 msgid "Reads the current value, or sets a new value" msgstr "Le o valor actual ou define un valor novo" -#: ../gtk/gtkspinbutton.c:301 +#: ../gtk/gtkspinbutton.c:391 msgid "Style of bevel around the spin button" msgstr "Estilo de bisel ao redor do botón de axuste" @@ -5601,94 +5953,85 @@ msgstr "Estilo de bisel ao redor do botón de axuste" msgid "Whether the spinner is active" msgstr "Indica se o spinner é activábel" -#: ../gtk/gtkspinner.c:135 -msgid "Number of steps" -msgstr "Número de pasos" - -#: ../gtk/gtkspinner.c:136 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" -"O número de pasos do spinner para completar o bucle. A animación completará " -"un ciclo completo nun segundo de forma predefinida (vexa #GtkSpinner:cicyle-" -"duration)." - -#: ../gtk/gtkspinner.c:153 -msgid "Animation duration" -msgstr "Duración da animación" - -#: ../gtk/gtkspinner.c:154 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "O tempo en milisegundos para que o spinner complete un bucle completo" - -#: ../gtk/gtkstatusbar.c:181 +#: ../gtk/gtkstatusbar.c:183 msgid "Style of bevel around the statusbar text" msgstr "Estilo do bisel ao redor do texto da barra de estado" -#: ../gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:262 msgid "The size of the icon" msgstr "O tamaño da icona" -#: ../gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:272 msgid "The screen where this status icon will be displayed" msgstr "A pantalla onde se mostrará esta icona de estado" -#: ../gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:280 msgid "Whether the status icon is visible" msgstr "Indica se o estado da icona é visíbel ou non" -#: ../gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:296 msgid "Whether the status icon is embedded" msgstr "Indica se a icona de estado está incrustada" -#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 msgid "The orientation of the tray" msgstr "A orientación da bandexa" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1036 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1036 msgid "Has tooltip" msgstr "Ten indicación" -#: ../gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:340 msgid "Whether this tray icon has a tooltip" msgstr "Indica se esta icona de bandexa ten unha indicación" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1057 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1057 msgid "Tooltip Text" msgstr "Texto da indicación" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 msgid "The contents of the tooltip for this widget" msgstr "Os contidos da indicación para este widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1078 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1078 msgid "Tooltip markup" msgstr "Marcado das indicacións" -#: ../gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:390 msgid "The contents of the tooltip for this tray icon" msgstr "O contido da indicación para esta icona de bandexa" -#: ../gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:408 msgid "The title of this tray icon" msgstr "O título desta icona na barra de tarefas" -#: ../gtk/gtkstyle.c:516 +#: ../gtk/gtkstyle.c:468 msgid "Style context" msgstr "Contexto do estilo" -#: ../gtk/gtkstyle.c:517 +#: ../gtk/gtkstyle.c:469 msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext de onde obter o estilo" -#: ../gtk/gtkswitch.c:739 +#: ../gtk/gtkstylecontext.c:541 +#| msgid "Associated device" +msgid "The associated GdkScreen" +msgstr "O GdkScreen asociado" + +#: ../gtk/gtkstylecontext.c:547 +#| msgid "Fraction" +msgid "Direction" +msgstr "Enderezo" + +#: ../gtk/gtkstylecontext.c:548 ../gtk/gtktexttag.c:220 +msgid "Text direction" +msgstr "Dirección do texto" + +#: ../gtk/gtkswitch.c:744 msgid "Whether the switch is on or off" msgstr "Indica se o interruptor está acendido ou apagado" -#: ../gtk/gtkswitch.c:773 +#: ../gtk/gtkswitch.c:778 msgid "The minimum width of the handle" msgstr "O ancho mínimo do tirador" @@ -5708,30 +6051,10 @@ msgstr "Columnas" msgid "The number of columns in the table" msgstr "O número de columnas na táboa" -#: ../gtk/gtktable.c:175 -msgid "Row spacing" -msgstr "Espazamento de fila" - -#: ../gtk/gtktable.c:176 -msgid "The amount of space between two consecutive rows" -msgstr "A cantidade de espazo entre dúas filas consecutivas" - -#: ../gtk/gtktable.c:184 -msgid "Column spacing" -msgstr "Espazamento de columna" - -#: ../gtk/gtktable.c:185 -msgid "The amount of space between two consecutive columns" -msgstr "A cantidade de espazo entre dúas columnas consecutivas" - #: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "Se é TRUE, as celas da táboa teñen todas a mesma largura ou altura" -#: ../gtk/gtktable.c:201 -msgid "Left attachment" -msgstr "Anexo á esquerda" - #: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Anexo á dereita" @@ -5740,10 +6063,6 @@ msgstr "Anexo á dereita" msgid "The column number to attach the right side of a child widget to" msgstr "O número de columnas para anexar ao lado dereito dun widget fillo" -#: ../gtk/gtktable.c:215 -msgid "Top attachment" -msgstr "Anexo superior" - #: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "O número de filas para anexar encima do widget fillo" @@ -5792,53 +6111,53 @@ msgstr "" "Espazo adicional en píxeles para colocar entre o fillo e os seus veciños " "superiores e inferiores" -#: ../gtk/gtktextbuffer.c:191 +#: ../gtk/gtktextbuffer.c:192 msgid "Tag Table" msgstr "Táboa de etiquetas" -#: ../gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "Táboa de etiquetas de texto" -#: ../gtk/gtktextbuffer.c:210 +#: ../gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "Texto actual do búfer" -#: ../gtk/gtktextbuffer.c:224 +#: ../gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "Está selecccionado" -#: ../gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "Indica se o búfer ten actualmente algún texto seleccionado" -#: ../gtk/gtktextbuffer.c:241 +#: ../gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "Posición do cursor" -#: ../gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:243 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" "A posición da marca de inserción (como desprazamento desde o principio do " "búfer)" -#: ../gtk/gtktextbuffer.c:257 +#: ../gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "Lista de destinos da copia" -#: ../gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:259 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" "A lista de destinos que admite este búfer para copiar desde o portapapeis e " "a orixe do DND" -#: ../gtk/gtktextbuffer.c:273 +#: ../gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "Lista de destinos para pegar" -#: ../gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5858,24 +6177,24 @@ msgstr "Gravidade esquerda" msgid "Whether the mark has left gravity" msgstr "Indica se esta marca ten gravidade esquerda" -#: ../gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:170 msgid "Tag name" msgstr "Nome de etiqueta" -#: ../gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:171 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "" "Nome usado para referirse á etiqueta do texto. NULL para etiquetas anónimas" -#: ../gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:189 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Cor de fondo como unha (posibelmente non asignada) GdkColor" -#: ../gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:196 msgid "Background full height" msgstr "Altura completa do fondo" -#: ../gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:197 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5883,32 +6202,28 @@ msgstr "" "Indica se a cor de fondo enche a altura completa da liña ou só a altura dos " "caracteres etiquetados" -#: ../gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:213 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Cor de primeiro plano como unha (posibelmente non asignada) GdkColor" -#: ../gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "Dirección do texto" - -#: ../gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:221 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "" "Dirección do texto, por exemplo de dereita a esquerda ou de esquerda a " "dereita" -#: ../gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:270 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "" "Estilo do tipo de letra coma un PangoStyle, por exemplo PANGO_STYLE_ITALIC" -#: ../gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:279 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "" "Variante do tipo de letra coma unha PangoVariant, por exemplo " "PANGO_VARIANT_SMALL_CAPS" -#: ../gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:288 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5916,17 +6231,17 @@ msgstr "" "Grosor do tipo de letra como un enteiro. Vexa os valores predefinidas en " "PangoWeight; por exemplo PANGO_WEIGHT_BOLD" -#: ../gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:299 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "" "Tipo de letra axustada coma un PangoStretch, por exemplo " "PANGO_STRETCH_CONDENSED" -#: ../gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:308 msgid "Font size in Pango units" msgstr "Tamaño do tipo de letra en unidades Pango" -#: ../gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:318 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5937,11 +6252,11 @@ msgstr "" "etc., polo que é recomendábel. O Pango define previamente algunhas escalas " "tales como PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:704 +#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 msgid "Left, right, or center justification" msgstr "Xustificación á esquerda, á dereita ou ao centro" -#: ../gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:357 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5950,31 +6265,31 @@ msgstr "" "como unha axuda ao renderizar o texto. Se non se estabelece este parámetro " "usarase como predefinido o máis apropiado." -#: ../gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:364 msgid "Left margin" msgstr "Marxe esquerda" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:713 +#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 msgid "Width of the left margin in pixels" msgstr "Largura da marxe esquerda en píxeles" -#: ../gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:374 msgid "Right margin" msgstr "Marxe dereita" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:723 +#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 msgid "Width of the right margin in pixels" msgstr "Largura da marxe dereita en píxeles" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:732 +#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 msgid "Indent" msgstr "Sangría" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:733 +#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 msgid "Amount to indent the paragraph, in pixels" msgstr "Cantidade en píxeles para a sangría de parágrafo" -#: ../gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:397 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -5982,231 +6297,236 @@ msgstr "" "Desprazamento do texto sobre a liña base (por debaixo da liña base se a " "elevación é negativa) en unidades Pango" -#: ../gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:406 msgid "Pixels above lines" msgstr "Píxeles encima das liñas" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:657 +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 msgid "Pixels of blank space above paragraphs" msgstr "Píxeles de espazo en branco encima do parágrafos" -#: ../gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:416 msgid "Pixels below lines" msgstr "Píxeles debaixo das liñas" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:667 +#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 msgid "Pixels of blank space below paragraphs" msgstr "Píxeles de espazo en branco debaixo dos parágrafos" -#: ../gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:426 msgid "Pixels inside wrap" msgstr "Píxeles dentro do axuste" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Píxeles de espazo en branco entre as liñas axustadas nun parágrafo" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Indica se nunca se axustan as liñas aos límites de palabra ou aos límites de " "carácter" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:742 +#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 msgid "Tabs" msgstr "Separadores" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:743 +#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 msgid "Custom tabs for this text" msgstr "Separadores personalizados para este texto" -#: ../gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:482 msgid "Invisible" msgstr "Invisíbel" -#: ../gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:483 msgid "Whether this text is hidden." msgstr "Indica se este texto está oculto." -#: ../gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:497 msgid "Paragraph background color name" msgstr "Nome da cor de fondo do parágrafo" -#: ../gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:498 msgid "Paragraph background color as a string" msgstr "Nome da cor de fondo do parágrafo como unha cadea" -#: ../gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color" msgstr "Cor de fondo do parágrafo" -#: ../gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "" "Cor de fondo do parágrafo como unha GdkColor (posibelmente non asignada)" -#: ../gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:532 msgid "Margin Accumulates" msgstr "Acumulación de marxes" -#: ../gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:533 msgid "Whether left and right margins accumulate." msgstr "Indica se as marxes esquerda e dereita son acumulativas." -#: ../gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:546 msgid "Background full height set" msgstr "Definición da altura completa do fondo" -#: ../gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:547 msgid "Whether this tag affects background height" msgstr "Indica se esta marca afecta á altura do fondo" -#: ../gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:586 msgid "Justification set" msgstr "Definición da xustificación" -#: ../gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:587 msgid "Whether this tag affects paragraph justification" msgstr "Indica se esta marca afecta á xustificación do parágrafo" -#: ../gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:594 msgid "Left margin set" msgstr "Definición da marxe esquerda" -#: ../gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the left margin" msgstr "Indica se esta marca afecta á marxe esquerda" -#: ../gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:598 msgid "Indent set" msgstr "Definición da sangría" -#: ../gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:599 msgid "Whether this tag affects indentation" msgstr "Indica se esta marca afecta á sangría" -#: ../gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:606 msgid "Pixels above lines set" msgstr "Definición dos píxeles sobre o conxunto de liñas" -#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the number of pixels above lines" msgstr "Indica se esta marca afecta a cantidade de píxeles sobre as liñas" -#: ../gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:610 msgid "Pixels below lines set" msgstr "Definición dos píxeles debaixo do conxunto de liñas" -#: ../gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:614 msgid "Pixels inside wrap set" msgstr "Definición dos píxeles dentro do axuste" -#: ../gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "" "Indica se esta marca afecta a cantidade de píxeles entre as liñas axustadas" -#: ../gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:622 msgid "Right margin set" msgstr "Definición da marxe dereita" -#: ../gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:623 msgid "Whether this tag affects the right margin" msgstr "Indica se esta marca afecta á marxe dereita" -#: ../gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:630 msgid "Wrap mode set" msgstr "Definición do modo de axuste" -#: ../gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects line wrap mode" msgstr "Indica se esta marca afecta ao modo de axuste de liña" -#: ../gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:634 msgid "Tabs set" msgstr "Definición dos separadores" -#: ../gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:635 msgid "Whether this tag affects tabs" msgstr "Indica se esta marca afecta aos separadores" -#: ../gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:638 msgid "Invisible set" msgstr "Definición de invisíbel" -#: ../gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects text visibility" msgstr "Indica se esta marca afecta á visibilidade do texto" -#: ../gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:642 msgid "Paragraph background set" msgstr "Definición do fondo de parágrafo" -#: ../gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:643 msgid "Whether this tag affects the paragraph background color" msgstr "Indica se esta etiqueta afecta á cor de fondo de parágrafo" -#: ../gtk/gtktextview.c:656 +#: ../gtk/gtktextview.c:655 msgid "Pixels Above Lines" msgstr "Píxeles encima das liñas" -#: ../gtk/gtktextview.c:666 +#: ../gtk/gtktextview.c:665 msgid "Pixels Below Lines" msgstr "Píxeles debaixo das liñas" -#: ../gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:675 msgid "Pixels Inside Wrap" msgstr "Píxeles dentro do axuste" -#: ../gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:693 msgid "Wrap Mode" msgstr "Modo de axuste" -#: ../gtk/gtktextview.c:712 +#: ../gtk/gtktextview.c:711 msgid "Left Margin" msgstr "Marxe esquerda" -#: ../gtk/gtktextview.c:722 +#: ../gtk/gtktextview.c:721 msgid "Right Margin" msgstr "Marxe dereita" -#: ../gtk/gtktextview.c:750 +#: ../gtk/gtktextview.c:749 msgid "Cursor Visible" msgstr "Cursor visíbel" -#: ../gtk/gtktextview.c:751 +#: ../gtk/gtktextview.c:750 msgid "If the insertion cursor is shown" msgstr "Se se mostra o cursor de inserción" -#: ../gtk/gtktextview.c:758 +#: ../gtk/gtktextview.c:757 msgid "Buffer" msgstr "Búfer" -#: ../gtk/gtktextview.c:759 +#: ../gtk/gtktextview.c:758 msgid "The buffer which is displayed" msgstr "O búfer que se mostra" -#: ../gtk/gtktextview.c:767 +#: ../gtk/gtktextview.c:766 msgid "Whether entered text overwrites existing contents" msgstr "Indica se o texto introducido sobrescribe os contidos existentes" -#: ../gtk/gtktextview.c:774 +#: ../gtk/gtktextview.c:773 msgid "Accepts tab" msgstr "Acepta tabulación" -#: ../gtk/gtktextview.c:775 +#: ../gtk/gtktextview.c:774 msgid "Whether Tab will result in a tab character being entered" msgstr "Indica se o tabulador resultará nun carácter de tabulación introducido" -#: ../gtk/gtktextview.c:810 +#: ../gtk/gtktextview.c:809 msgid "Error underline color" msgstr "Cor de subliñado de erros" -#: ../gtk/gtktextview.c:811 +#: ../gtk/gtktextview.c:810 msgid "Color with which to draw error-indication underlines" msgstr "Cor coa que debuxar o subliñado de indicación de erros" +#: ../gtk/gtkthemingengine.c:249 +#| msgid "Theme Name" +msgid "Theming engine name" +msgstr "Nome do motor de temas" + #: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Crear os mesmos proxies como unha acción radio" @@ -6237,93 +6557,93 @@ msgstr "Debuxar o indicador" msgid "If the toggle part of the button is displayed" msgstr "Se se mostra a parte de activación do botón" -#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 msgid "Toolbar Style" msgstr "Estilo da barra de ferramentas" -#: ../gtk/gtktoolbar.c:492 +#: ../gtk/gtktoolbar.c:490 msgid "How to draw the toolbar" msgstr "Como debuxar a barra de ferramentas" -#: ../gtk/gtktoolbar.c:499 +#: ../gtk/gtktoolbar.c:497 msgid "Show Arrow" msgstr "Mostrar frecha" -#: ../gtk/gtktoolbar.c:500 +#: ../gtk/gtktoolbar.c:498 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Se debe mostrar unha frecha se a barra de ferramentas non encaixa" -#: ../gtk/gtktoolbar.c:521 +#: ../gtk/gtktoolbar.c:519 msgid "Size of icons in this toolbar" msgstr "Tamaño das iconas nesta barra de ferramentas" -#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 msgid "Icon size set" msgstr "Definición do tamaño da icona" -#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 msgid "Whether the icon-size property has been set" msgstr "Indica se se estabeleceu a propiedade de tamaño da icona" -#: ../gtk/gtktoolbar.c:546 +#: ../gtk/gtktoolbar.c:544 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "" "Indica se o elemento debe recibir espazo adicional cando a barra de " "ferramentas medre" -#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Indica se o elemento debería ser do mesmo tamaño que outros elementos " "homoxéneos" -#: ../gtk/gtktoolbar.c:561 +#: ../gtk/gtktoolbar.c:559 msgid "Spacer size" msgstr "Tamaño do espazador" -#: ../gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:560 msgid "Size of spacers" msgstr "Tamaño dos espazadores" -#: ../gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:569 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "" "Cantidade de espazo do bordo entre a sombra da barra de ferramentas e os " "botóns" -#: ../gtk/gtktoolbar.c:579 +#: ../gtk/gtktoolbar.c:577 msgid "Maximum child expand" msgstr "Expansión de fillos máxima" -#: ../gtk/gtktoolbar.c:580 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum amount of space an expandable item will be given" msgstr "Cantidade máxima de espazo que se lle dará a un elemento expandíbel" -#: ../gtk/gtktoolbar.c:588 +#: ../gtk/gtktoolbar.c:586 msgid "Space style" msgstr "Estilo do espazo" -#: ../gtk/gtktoolbar.c:589 +#: ../gtk/gtktoolbar.c:587 msgid "Whether spacers are vertical lines or just blank" msgstr "Indica se os espazadores son liñas verticais ou só espazos en branco" -#: ../gtk/gtktoolbar.c:596 +#: ../gtk/gtktoolbar.c:594 msgid "Button relief" msgstr "Relevo do botón" -#: ../gtk/gtktoolbar.c:597 +#: ../gtk/gtktoolbar.c:595 msgid "Type of bevel around toolbar buttons" msgstr "Tipo de bisel ao redor dos botóns da barra de ferramentas" -#: ../gtk/gtktoolbar.c:604 +#: ../gtk/gtktoolbar.c:602 msgid "Style of bevel around the toolbar" msgstr "Estilo do bisel ao redor da barra de ferramentas" -#: ../gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:202 msgid "Text to show in the item." msgstr "Texto para mostrar no elemento." -#: ../gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:209 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6332,39 +6652,39 @@ msgstr "" "seguinte carácter debería usarse para a tecla rápida mnemónica no menú de " "desbordamento" -#: ../gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:216 msgid "Widget to use as the item label" msgstr "Widget que usar como etiqueta do elemento" -#: ../gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:222 msgid "Stock Id" msgstr "ID de inventario" -#: ../gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:223 msgid "The stock icon displayed on the item" msgstr "A icona de inventario mostrada no elemento" -#: ../gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:239 msgid "Icon name" msgstr "Nome da icona" -#: ../gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:240 msgid "The name of the themed icon displayed on the item" msgstr "O nome da icona de tema mostrada no elemento" -#: ../gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:246 msgid "Icon widget" msgstr "Icona do widget" -#: ../gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget to display in the item" msgstr "Icona do widget para mostrar no elemento" -#: ../gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:260 msgid "Icon spacing" msgstr "Espazamento da icona" -#: ../gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:261 msgid "Spacing in pixels between the icon and label" msgstr "Espazamento en píxeles entre a icona e a etiqueta" @@ -6437,409 +6757,442 @@ msgstr "Indica se os elementos deberían mostrarse nunha nova fila" msgid "Position of the item within this group" msgstr "Posición do elemento neste grupo" -#: ../gtk/gtktoolpalette.c:1031 +#: ../gtk/gtktoolpalette.c:1032 msgid "Size of icons in this tool palette" msgstr "Tamaño das iconas nesta paleta de ferramentas" -#: ../gtk/gtktoolpalette.c:1061 +#: ../gtk/gtktoolpalette.c:1062 msgid "Style of items in the tool palette" msgstr "Estilo dos elementos na paleta de ferramentas" -#: ../gtk/gtktoolpalette.c:1077 +#: ../gtk/gtktoolpalette.c:1078 msgid "Exclusive" msgstr "Exclusivo" -#: ../gtk/gtktoolpalette.c:1078 +#: ../gtk/gtktoolpalette.c:1079 msgid "Whether the item group should be the only expanded at a given time" msgstr "" "Indica se o grupo de elementos deberían expandirse só nun momento determinado" -#: ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktoolpalette.c:1094 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" "Indica se o grupo de elementos debe recibir espazo adicional cando a paleta " "medre" -#: ../gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:135 msgid "Foreground color for symbolic icons" msgstr "Cor de primeiro plano para as iconas simbólicas" -#: ../gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color" msgstr "Cor de erro" -#: ../gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:143 msgid "Error color for symbolic icons" msgstr "Cor de erro para as iconas simbólicas" -#: ../gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color" msgstr "Cor de aviso" -#: ../gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:151 msgid "Warning color for symbolic icons" msgstr "Cor de aviso para as iconas simbólicas" -#: ../gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color" msgstr "Cor de éxito" -#: ../gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:159 msgid "Success color for symbolic icons" msgstr "Cor de éxito para as iconas simbólicas" -#: ../gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:167 msgid "Padding that should be put around icons in the tray" msgstr "Separación que poñer ao redor das iconas na bandexa" -#: ../gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemenu.c:287 +#| msgid "TreeView Model" +msgid "TreeMenu model" +msgstr "Modelo TreeMenu" + +#: ../gtk/gtktreemenu.c:288 +#| msgid "The model for the tree view" +msgid "The model for the tree menu" +msgstr "O modelo para o menú en árbore" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "Fila da raíz do TreeMenu" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "" + +#: ../gtk/gtktreemenu.c:344 +#| msgid "Tearoff Title" +msgid "Tearoff" +msgstr "" + +#: ../gtk/gtktreemenu.c:345 +#, fuzzy +#| msgid "Whether the mark has left gravity" +msgid "Whether the menu has a tearoff item" +msgstr "Indica se o menú ten un elemento" + +#: ../gtk/gtktreemenu.c:361 +#, fuzzy +#| msgid "Wrap width" +msgid "Wrap Width" +msgstr "Largura de axuste" + +#: ../gtk/gtktreemenu.c:362 +#, fuzzy +#| msgid "Wrap width for laying out the items in a grid" +msgid "Wrap width for laying out items in a grid" +msgstr "Largura de axuste para distribuír os elementos nunha grade" + +#: ../gtk/gtktreemodelsort.c:312 msgid "TreeModelSort Model" msgstr "Modelo TreeModelSort" -#: ../gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:313 msgid "The model for the TreeModelSort to sort" msgstr "O modelo para o TreeModelSort que ordenar" -#: ../gtk/gtktreeview.c:661 +#: ../gtk/gtktreeview.c:989 msgid "TreeView Model" msgstr "Modelo TreeView" -#: ../gtk/gtktreeview.c:662 +#: ../gtk/gtktreeview.c:990 msgid "The model for the tree view" msgstr "O modelo para a visualización en árbore" -#: ../gtk/gtktreeview.c:674 +#: ../gtk/gtktreeview.c:1002 msgid "Headers Visible" msgstr "Cabeceiras visíbeis" -#: ../gtk/gtktreeview.c:675 +#: ../gtk/gtktreeview.c:1003 msgid "Show the column header buttons" msgstr "Mostrar botóns nas cabeceiras de columna" -#: ../gtk/gtktreeview.c:682 +#: ../gtk/gtktreeview.c:1010 msgid "Headers Clickable" msgstr "Cabeceiras premíbeis" -#: ../gtk/gtktreeview.c:683 +#: ../gtk/gtktreeview.c:1011 msgid "Column headers respond to click events" msgstr "As cabeceiras de columna responden aos eventos de clic" -#: ../gtk/gtktreeview.c:690 +#: ../gtk/gtktreeview.c:1018 msgid "Expander Column" msgstr "Columna expansora" -#: ../gtk/gtktreeview.c:691 +#: ../gtk/gtktreeview.c:1019 msgid "Set the column for the expander column" msgstr "Estabelecer a columna para a columna expansora" -#: ../gtk/gtktreeview.c:706 +#: ../gtk/gtktreeview.c:1034 msgid "Rules Hint" msgstr "Suxestión das regras" -#: ../gtk/gtktreeview.c:707 +#: ../gtk/gtktreeview.c:1035 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" "Define unha suxestión para o motor de tema para debuxar as filas con cores " "alternas" -#: ../gtk/gtktreeview.c:714 +#: ../gtk/gtktreeview.c:1042 msgid "Enable Search" msgstr "Activar a busca" -#: ../gtk/gtktreeview.c:715 +#: ../gtk/gtktreeview.c:1043 msgid "View allows user to search through columns interactively" msgstr "" "A visualización permite aos usuarios buscar de modo interactivo a través das " "columnas" -#: ../gtk/gtktreeview.c:722 +#: ../gtk/gtktreeview.c:1050 msgid "Search Column" msgstr "Columna de busca" -#: ../gtk/gtktreeview.c:723 +#: ../gtk/gtktreeview.c:1051 msgid "Model column to search through during interactive search" msgstr "A columna de modelo na que buscar durante a busca interactiva" -#: ../gtk/gtktreeview.c:743 +#: ../gtk/gtktreeview.c:1071 msgid "Fixed Height Mode" msgstr "Modo de altura fixa" -#: ../gtk/gtktreeview.c:744 +#: ../gtk/gtktreeview.c:1072 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Acelera GtkTreeView asumindo que todas as filas teñen a mesma altura" -#: ../gtk/gtktreeview.c:764 +#: ../gtk/gtktreeview.c:1092 msgid "Hover Selection" msgstr "Seleccionar ao pasar por encima" -#: ../gtk/gtktreeview.c:765 +#: ../gtk/gtktreeview.c:1093 msgid "Whether the selection should follow the pointer" msgstr "Indica se a selección debería seguir o punteiro" -#: ../gtk/gtktreeview.c:784 +#: ../gtk/gtktreeview.c:1112 msgid "Hover Expand" msgstr "Expandir ao pasar por encima" -#: ../gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1113 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Indica se as filas deben expandirse ou contraerse cando se move o punteiro " "sobre elas" -#: ../gtk/gtktreeview.c:799 +#: ../gtk/gtktreeview.c:1127 msgid "Show Expanders" msgstr "Mostrar expansores" -#: ../gtk/gtktreeview.c:800 +#: ../gtk/gtktreeview.c:1128 msgid "View has expanders" msgstr "A visualización ten expansores" -#: ../gtk/gtktreeview.c:814 +#: ../gtk/gtktreeview.c:1142 msgid "Level Indentation" msgstr "Nivel de sangría" -#: ../gtk/gtktreeview.c:815 +#: ../gtk/gtktreeview.c:1143 msgid "Extra indentation for each level" msgstr "Sangría adicional para cada nivel" -#: ../gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1152 msgid "Rubber Banding" msgstr "Tiras de goma" -#: ../gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1153 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Indica se se activa a selección de múltiples elementos arrastrando o " "punteiro do rato" -#: ../gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1160 msgid "Enable Grid Lines" msgstr "Activar as liñas da grade" -#: ../gtk/gtktreeview.c:833 +#: ../gtk/gtktreeview.c:1161 msgid "Whether grid lines should be drawn in the tree view" msgstr "" "Indica se as liñas da grade se deben debuxar na visualización en árbore" -#: ../gtk/gtktreeview.c:841 +#: ../gtk/gtktreeview.c:1169 msgid "Enable Tree Lines" msgstr "Activar as liñas da árbore" -#: ../gtk/gtktreeview.c:842 +#: ../gtk/gtktreeview.c:1170 msgid "Whether tree lines should be drawn in the tree view" msgstr "Indica se se deben debuxar as liñas na visualización en árbore" -#: ../gtk/gtktreeview.c:850 +#: ../gtk/gtktreeview.c:1178 msgid "The column in the model containing the tooltip texts for the rows" msgstr "A columna do modelo que contén os textos de indicación para as filas" -#: ../gtk/gtktreeview.c:872 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical Separator Width" msgstr "Largura do separador vertical" -#: ../gtk/gtktreeview.c:873 +#: ../gtk/gtktreeview.c:1201 msgid "Vertical space between cells. Must be an even number" msgstr "Espazo vertical entre celas. Debe ser un número par" -#: ../gtk/gtktreeview.c:881 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal Separator Width" msgstr "Largura do separador horizontal" -#: ../gtk/gtktreeview.c:882 +#: ../gtk/gtktreeview.c:1210 msgid "Horizontal space between cells. Must be an even number" msgstr "Espazo horizontal entre celas. Debe ser un número par" -#: ../gtk/gtktreeview.c:890 +#: ../gtk/gtktreeview.c:1218 msgid "Allow Rules" msgstr "Permitir regras" -#: ../gtk/gtktreeview.c:891 +#: ../gtk/gtktreeview.c:1219 msgid "Allow drawing of alternating color rows" msgstr "Permitir debuxar filas con cores alternas" -#: ../gtk/gtktreeview.c:897 +#: ../gtk/gtktreeview.c:1225 msgid "Indent Expanders" msgstr "Sangrar os expansores" -#: ../gtk/gtktreeview.c:898 +#: ../gtk/gtktreeview.c:1226 msgid "Make the expanders indented" msgstr "Crear os expansores sangrados" -#: ../gtk/gtktreeview.c:904 +#: ../gtk/gtktreeview.c:1232 msgid "Even Row Color" msgstr "Cor da fila par" -#: ../gtk/gtktreeview.c:905 +#: ../gtk/gtktreeview.c:1233 msgid "Color to use for even rows" msgstr "Cor que usar para as filas pares" -#: ../gtk/gtktreeview.c:911 +#: ../gtk/gtktreeview.c:1239 msgid "Odd Row Color" msgstr "Cor da fila impar" -#: ../gtk/gtktreeview.c:912 +#: ../gtk/gtktreeview.c:1240 msgid "Color to use for odd rows" msgstr "Cor que usar para as filas impares" -#: ../gtk/gtktreeview.c:918 +#: ../gtk/gtktreeview.c:1246 msgid "Grid line width" msgstr "Largura da liña da grade" -#: ../gtk/gtktreeview.c:919 +#: ../gtk/gtktreeview.c:1247 msgid "Width, in pixels, of the tree view grid lines" msgstr "Largura, en píxeles, das liñas da grade da visualización en árbore" -#: ../gtk/gtktreeview.c:925 +#: ../gtk/gtktreeview.c:1253 msgid "Tree line width" msgstr "Largura da liña da árbore" -#: ../gtk/gtktreeview.c:926 +#: ../gtk/gtktreeview.c:1254 msgid "Width, in pixels, of the tree view lines" msgstr "Largura en píxeles das liñas da visualización en árbore" -#: ../gtk/gtktreeview.c:932 +#: ../gtk/gtktreeview.c:1260 msgid "Grid line pattern" msgstr "Patrón da liña da grade" -#: ../gtk/gtktreeview.c:933 +#: ../gtk/gtktreeview.c:1261 msgid "Dash pattern used to draw the tree view grid lines" msgstr "" "Patrón de trazos usado para debuxar as liñas da grade da visualización en " "árbore" -#: ../gtk/gtktreeview.c:939 +#: ../gtk/gtktreeview.c:1267 msgid "Tree line pattern" msgstr "Patrón da liña da árbore" -#: ../gtk/gtktreeview.c:940 +#: ../gtk/gtktreeview.c:1268 msgid "Dash pattern used to draw the tree view lines" msgstr "" "Patrón de trazos usado para debuxar as liñas da visualización en árbore" -#: ../gtk/gtktreeviewcolumn.c:214 +#: ../gtk/gtktreeviewcolumn.c:244 msgid "Whether to display the column" msgstr "Indica se se mostra a columna" -#: ../gtk/gtktreeviewcolumn.c:221 ../gtk/gtkwindow.c:656 +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 msgid "Resizable" msgstr "Redimensionábel" -#: ../gtk/gtktreeviewcolumn.c:222 +#: ../gtk/gtktreeviewcolumn.c:252 msgid "Column is user-resizable" msgstr "O usuario pode redimensionar a columna" -#: ../gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:260 msgid "Current width of the column" msgstr "Largura actual da columna" -#: ../gtk/gtktreeviewcolumn.c:239 -msgid "Space which is inserted between cells" -msgstr "Espazo que se introduce entre as celas" - -#: ../gtk/gtktreeviewcolumn.c:247 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Sizing" msgstr "Dimensionamento" -#: ../gtk/gtktreeviewcolumn.c:248 +#: ../gtk/gtktreeviewcolumn.c:278 msgid "Resize mode of the column" msgstr "Modo de redimensionamento da columna" -#: ../gtk/gtktreeviewcolumn.c:256 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Fixed Width" msgstr "Largura fixa" -#: ../gtk/gtktreeviewcolumn.c:257 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Current fixed width of the column" msgstr "Largura fixa actual da columna" -#: ../gtk/gtktreeviewcolumn.c:266 -msgid "Minimum Width" -msgstr "Largura mínima" - -#: ../gtk/gtktreeviewcolumn.c:267 +#: ../gtk/gtktreeviewcolumn.c:297 msgid "Minimum allowed width of the column" msgstr "Largura mínima permitida da columna" -#: ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum Width" msgstr "Largura máxima" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:307 msgid "Maximum allowed width of the column" msgstr "Largura máxima permitida da columna" -#: ../gtk/gtktreeviewcolumn.c:287 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Title to appear in column header" msgstr "Título que aparecerá na cabeceira da columna" -#: ../gtk/gtktreeviewcolumn.c:295 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Column gets share of extra width allocated to the widget" msgstr "A columna obtén unha parte da largura adicional asignada ao widget" -#: ../gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Clickable" msgstr "Premíbel" -#: ../gtk/gtktreeviewcolumn.c:303 +#: ../gtk/gtktreeviewcolumn.c:333 msgid "Whether the header can be clicked" msgstr "Indica se a cabeceira se pode premer" -#: ../gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget" msgstr "Widget" -#: ../gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Widget to put in column header button instead of column title" msgstr "" "O widget para colocar no botón da cabeceira da columna en vez do título da " "columna" -#: ../gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:350 msgid "X Alignment of the column header text or widget" msgstr "Aliñamento X do texto da cabeceira da columna ou do widget" -#: ../gtk/gtktreeviewcolumn.c:330 +#: ../gtk/gtktreeviewcolumn.c:360 msgid "Whether the column can be reordered around the headers" msgstr "Indica se a columna se pode reordenar ao redor das cabeceiras" -#: ../gtk/gtktreeviewcolumn.c:337 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Sort indicator" msgstr "Indicador de ordenación" -#: ../gtk/gtktreeviewcolumn.c:338 +#: ../gtk/gtktreeviewcolumn.c:368 msgid "Whether to show a sort indicator" msgstr "Indica se se mostra un indicador de ordenación" -#: ../gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort order" msgstr "Orde de clasificación" -#: ../gtk/gtktreeviewcolumn.c:346 +#: ../gtk/gtktreeviewcolumn.c:376 msgid "Sort direction the sort indicator should indicate" msgstr "Dirección de ordenación que o indicador deberá mostrar" -#: ../gtk/gtktreeviewcolumn.c:362 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Sort column ID" msgstr "ID de columna de ordenación" -#: ../gtk/gtktreeviewcolumn.c:363 +#: ../gtk/gtktreeviewcolumn.c:393 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" "O ID de columna de ordenación lóxica ordena esta columna cando é " "seleccionada para ordenar" -#: ../gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "Indica se se deben engadir elementos de menú despregábel aos menús" -#: ../gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Definición de IU combinado" -#: ../gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "Unha cadea XML que describe o IU combinado" @@ -6848,27 +7201,37 @@ msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como se debuxa a caixa sombreada ao redor da área de visualización" -#: ../gtk/gtkwidget.c:887 +#: ../gtk/gtkvolumebutton.c:156 +#| msgid "Success color for symbolic icons" +msgid "Use symbolic icons" +msgstr "Usar iconas simbólicas" + +#: ../gtk/gtkvolumebutton.c:157 +#| msgid "Warning color for symbolic icons" +msgid "Whether to use symbolic icons" +msgstr "Indica se usar iconas simbólicas" + +#: ../gtk/gtkwidget.c:895 msgid "Widget name" msgstr "Nome do widget" -#: ../gtk/gtkwidget.c:888 +#: ../gtk/gtkwidget.c:896 msgid "The name of the widget" msgstr "O nome do widget" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:902 msgid "Parent widget" msgstr "Widget pai" -#: ../gtk/gtkwidget.c:895 +#: ../gtk/gtkwidget.c:903 msgid "The parent widget of this widget. Must be a Container widget" msgstr "O widget pai deste widget. Debe ser un widget contedor" -#: ../gtk/gtkwidget.c:902 +#: ../gtk/gtkwidget.c:910 msgid "Width request" msgstr "Solicitude de largura" -#: ../gtk/gtkwidget.c:903 +#: ../gtk/gtkwidget.c:911 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6876,11 +7239,11 @@ msgstr "" "Sobrepor a solicitude de largura do widget ou -1 se se debe empregar a " "solicitude normal" -#: ../gtk/gtkwidget.c:911 +#: ../gtk/gtkwidget.c:919 msgid "Height request" msgstr "Solicitude de altura" -#: ../gtk/gtkwidget.c:912 +#: ../gtk/gtkwidget.c:920 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6888,107 +7251,98 @@ msgstr "" "Sobrepor a solicitude de altura do widget ou -1 se se debe empregar a " "solicitude normal" -#: ../gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:929 msgid "Whether the widget is visible" msgstr "Indica se o widget é visíbel" -#: ../gtk/gtkwidget.c:928 +#: ../gtk/gtkwidget.c:936 msgid "Whether the widget responds to input" msgstr "Indica se o widget responde á entrada de datos" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:942 msgid "Application paintable" msgstr "Aplicativo pintábel" -#: ../gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:943 msgid "Whether the application will paint directly on the widget" msgstr "Indica se o aplicativo pintará directamente sobre o widget" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:949 msgid "Can focus" msgstr "Pode enfocar" -#: ../gtk/gtkwidget.c:942 +#: ../gtk/gtkwidget.c:950 msgid "Whether the widget can accept the input focus" msgstr "Indica se o widget pode aceptar o foco de entrada" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:956 msgid "Has focus" msgstr "Ten foco" -#: ../gtk/gtkwidget.c:949 +#: ../gtk/gtkwidget.c:957 msgid "Whether the widget has the input focus" msgstr "Indica se o widget ten o foco de entrada" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:963 msgid "Is focus" msgstr "É o foco" -#: ../gtk/gtkwidget.c:956 +#: ../gtk/gtkwidget.c:964 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica se o widget é o widget co foco, dentro do nivel superior" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:970 msgid "Can default" msgstr "Pode ser o predefinido" -#: ../gtk/gtkwidget.c:963 +#: ../gtk/gtkwidget.c:971 msgid "Whether the widget can be the default widget" msgstr "Indica se o widget pode ser o widget predefinido" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:977 msgid "Has default" msgstr "É o predefinido" -#: ../gtk/gtkwidget.c:970 +#: ../gtk/gtkwidget.c:978 msgid "Whether the widget is the default widget" msgstr "Indica se o widget é o widget predefinido" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:984 msgid "Receives default" msgstr "Recibe o predefinido" -#: ../gtk/gtkwidget.c:977 +#: ../gtk/gtkwidget.c:985 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "Se é TRUE, o widget recibirá a acción predefinida cando estea enfocado" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:991 msgid "Composite child" msgstr "Fillo composto" -#: ../gtk/gtkwidget.c:984 +#: ../gtk/gtkwidget.c:992 msgid "Whether the widget is part of a composite widget" msgstr "Indica se o widget é parte dun widget composto" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:998 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:991 +#: ../gtk/gtkwidget.c:999 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "" "O estilo do widget, que contén información sobre a aparencia (cores, etc)" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:1005 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:998 +#: ../gtk/gtkwidget.c:1006 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "A máscara de eventos que decide que tipo de GdkEvents recibe este widget" -#: ../gtk/gtkwidget.c:1005 -msgid "Extension events" -msgstr "Eventos de extensión" - -#: ../gtk/gtkwidget.c:1006 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "" -"A máscara que decide que clase de eventos de extensión consegue este widget" - #: ../gtk/gtkwidget.c:1013 msgid "No show all" msgstr "Non mostrar todo" @@ -7105,51 +7459,51 @@ msgstr "Expandir en ambas" msgid "Whether widget wants to expand in both directions" msgstr "Indica se o widget quere expandirse en ámbalas dúas direccións" -#: ../gtk/gtkwidget.c:2981 +#: ../gtk/gtkwidget.c:2994 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:2982 +#: ../gtk/gtkwidget.c:2995 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica se se debuxa o foco indicador dentro dos widgets" -#: ../gtk/gtkwidget.c:2988 +#: ../gtk/gtkwidget.c:3001 msgid "Focus linewidth" msgstr "Enfocar a largura da liña" -#: ../gtk/gtkwidget.c:2989 +#: ../gtk/gtkwidget.c:3002 msgid "Width, in pixels, of the focus indicator line" msgstr "Largura en píxeles da liña indicadora do foco" -#: ../gtk/gtkwidget.c:2995 +#: ../gtk/gtkwidget.c:3008 msgid "Focus line dash pattern" msgstr "Patrón de trazos da liña de foco" -#: ../gtk/gtkwidget.c:2996 +#: ../gtk/gtkwidget.c:3009 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón de trazos empregado para debuxar o indicador de foco" -#: ../gtk/gtkwidget.c:3001 +#: ../gtk/gtkwidget.c:3014 msgid "Focus padding" msgstr "Recheo do foco" -#: ../gtk/gtkwidget.c:3002 +#: ../gtk/gtkwidget.c:3015 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Largura en píxeles entre o indicador de foco e a 'caixa' do widget" -#: ../gtk/gtkwidget.c:3007 +#: ../gtk/gtkwidget.c:3020 msgid "Cursor color" msgstr "Cor do cursor" -#: ../gtk/gtkwidget.c:3008 +#: ../gtk/gtkwidget.c:3021 msgid "Color with which to draw insertion cursor" msgstr "Cor coa que debuxar o cursor de inserción" -#: ../gtk/gtkwidget.c:3013 +#: ../gtk/gtkwidget.c:3026 msgid "Secondary cursor color" msgstr "Cor secundaria do cursor" -#: ../gtk/gtkwidget.c:3014 +#: ../gtk/gtkwidget.c:3027 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7157,43 +7511,43 @@ msgstr "" "Cor coa que debuxar o cursor de inserción secundario cando se edita unha " "mestura de texto de dereita a esquerda e de esquerda a dereita" -#: ../gtk/gtkwidget.c:3019 +#: ../gtk/gtkwidget.c:3032 msgid "Cursor line aspect ratio" msgstr "Proporción de aspecto da liña do cursor" -#: ../gtk/gtkwidget.c:3020 +#: ../gtk/gtkwidget.c:3033 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Proporción de aspecto coa que debuxar o cursor de inserción" -#: ../gtk/gtkwidget.c:3026 +#: ../gtk/gtkwidget.c:3039 msgid "Window dragging" msgstr "Arrastre da xanela" -#: ../gtk/gtkwidget.c:3027 +#: ../gtk/gtkwidget.c:3040 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica se as xanelas se poden arrastrar premendo nas áreas baleiras" -#: ../gtk/gtkwidget.c:3040 +#: ../gtk/gtkwidget.c:3053 msgid "Unvisited Link Color" msgstr "Cor de ligazón non visitada" -#: ../gtk/gtkwidget.c:3041 +#: ../gtk/gtkwidget.c:3054 msgid "Color of unvisited links" msgstr "Cor de ligazóns non visitadas" -#: ../gtk/gtkwidget.c:3054 +#: ../gtk/gtkwidget.c:3067 msgid "Visited Link Color" msgstr "Cor de ligazón visitada" -#: ../gtk/gtkwidget.c:3055 +#: ../gtk/gtkwidget.c:3068 msgid "Color of visited links" msgstr "Cor de ligazóns visitadas" -#: ../gtk/gtkwidget.c:3069 +#: ../gtk/gtkwidget.c:3082 msgid "Wide Separators" msgstr "Separadores largos" -#: ../gtk/gtkwidget.c:3070 +#: ../gtk/gtkwidget.c:3083 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7201,81 +7555,81 @@ msgstr "" "Indica se os separadores teñen unha largura configurábel e se deberían " "debuxarse usando unha caixa en vez dunha liña" -#: ../gtk/gtkwidget.c:3084 +#: ../gtk/gtkwidget.c:3097 msgid "Separator Width" msgstr "Largura do separador" -#: ../gtk/gtkwidget.c:3085 +#: ../gtk/gtkwidget.c:3098 msgid "The width of separators if wide-separators is TRUE" msgstr "A largura dos separadores se «wide-separators» é TRUE" -#: ../gtk/gtkwidget.c:3099 +#: ../gtk/gtkwidget.c:3112 msgid "Separator Height" msgstr "Altura do separador" -#: ../gtk/gtkwidget.c:3100 +#: ../gtk/gtkwidget.c:3113 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "A altura dos separadores se «wide-separators» é TRUE" -#: ../gtk/gtkwidget.c:3114 +#: ../gtk/gtkwidget.c:3127 msgid "Horizontal Scroll Arrow Length" msgstr "Lonxitude da frecha de desprazamento horizontal" -#: ../gtk/gtkwidget.c:3115 +#: ../gtk/gtkwidget.c:3128 msgid "The length of horizontal scroll arrows" msgstr "A lonxitude das frechas de desprazamento horizontal" -#: ../gtk/gtkwidget.c:3129 +#: ../gtk/gtkwidget.c:3142 msgid "Vertical Scroll Arrow Length" msgstr "Lonxitude das frechas de desprazamento vertical" -#: ../gtk/gtkwidget.c:3130 +#: ../gtk/gtkwidget.c:3143 msgid "The length of vertical scroll arrows" msgstr "A lonxitude das frechas de desprazamento vertical" -#: ../gtk/gtkwindow.c:614 +#: ../gtk/gtkwindow.c:603 msgid "Window Type" msgstr "Tipo de xanela" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:604 msgid "The type of the window" msgstr "O tipo da xanela" -#: ../gtk/gtkwindow.c:623 +#: ../gtk/gtkwindow.c:612 msgid "Window Title" msgstr "Título da xanela" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:613 msgid "The title of the window" msgstr "O título da xanela" -#: ../gtk/gtkwindow.c:631 +#: ../gtk/gtkwindow.c:620 msgid "Window Role" msgstr "Rol da xanela" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:621 msgid "Unique identifier for the window to be used when restoring a session" msgstr "" "Identificador único para a xanela que se usará ao restaurar unha sesión" -#: ../gtk/gtkwindow.c:648 +#: ../gtk/gtkwindow.c:637 msgid "Startup ID" msgstr "ID de inicio" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:638 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador único para a xanela que se usará para a notificación de inicio" -#: ../gtk/gtkwindow.c:657 +#: ../gtk/gtkwindow.c:646 msgid "If TRUE, users can resize the window" msgstr "Se é TRUE, os usuarios poden redimensionar a xanela" -#: ../gtk/gtkwindow.c:664 +#: ../gtk/gtkwindow.c:653 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:654 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7283,78 +7637,78 @@ msgstr "" "Se é TRUE, a xanela é modal (non é posíbel usar outras xanelas mentres esta " "está encima)" -#: ../gtk/gtkwindow.c:672 +#: ../gtk/gtkwindow.c:661 msgid "Window Position" msgstr "Posición da xanela" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:662 msgid "The initial position of the window" msgstr "A posición inicial da xanela" -#: ../gtk/gtkwindow.c:681 +#: ../gtk/gtkwindow.c:670 msgid "Default Width" msgstr "Largura predefinida" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:671 msgid "The default width of the window, used when initially showing the window" msgstr "" "A largura predefinida da xanela, usada cando se mostra inicialmente a xanela" -#: ../gtk/gtkwindow.c:691 +#: ../gtk/gtkwindow.c:680 msgid "Default Height" msgstr "Altura predefinida" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:681 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "A altura predefinida da xanela, usada cando se mostra inicialmente a xanela" -#: ../gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:690 msgid "Destroy with Parent" msgstr "Destruír co pai" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:691 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Se esta xanela debería ser destruída cando se destrúe o pai" -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:699 msgid "Icon for this window" msgstr "Icona para esta xanela" -#: ../gtk/gtkwindow.c:716 +#: ../gtk/gtkwindow.c:705 msgid "Mnemonics Visible" msgstr "Mnemónicos visíbeis" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:706 msgid "Whether mnemonics are currently visible in this window" msgstr "Indica se os mnemónicos están visíbeis actualmente nesta xanela" -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:722 msgid "Name of the themed icon for this window" msgstr "Nome da icona de tema para esta xanela" -#: ../gtk/gtkwindow.c:748 +#: ../gtk/gtkwindow.c:737 msgid "Is Active" msgstr "Está activo" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:738 msgid "Whether the toplevel is the current active window" msgstr "Indica se o nivel superior é a xanela activa actual" -#: ../gtk/gtkwindow.c:756 +#: ../gtk/gtkwindow.c:745 msgid "Focus in Toplevel" msgstr "Foco no nivel superior" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:746 msgid "Whether the input focus is within this GtkWindow" msgstr "Indica se o foco de entrada está dentro desta GtkWindow" -#: ../gtk/gtkwindow.c:764 +#: ../gtk/gtkwindow.c:753 msgid "Type hint" msgstr "Suxestión de tipo" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:754 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7362,118 +7716,162 @@ msgstr "" "Suxestión para axudar ao contorno de escritorio a entender que clase de " "xanela é e como tratar con ela." -#: ../gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:762 msgid "Skip taskbar" msgstr "Omitir a barra de tarefas" -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:763 msgid "TRUE if the window should not be in the task bar." msgstr "É TRUE se a xanela non debe estar na barra de tarefas." -#: ../gtk/gtkwindow.c:781 +#: ../gtk/gtkwindow.c:770 msgid "Skip pager" msgstr "Omitir o paxinador" -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:771 msgid "TRUE if the window should not be in the pager." msgstr "É TRUE se a xanela non debe estar no paxinador." -#: ../gtk/gtkwindow.c:789 +#: ../gtk/gtkwindow.c:778 msgid "Urgent" msgstr "Urxente" -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:779 msgid "TRUE if the window should be brought to the user's attention." msgstr "É TRUE se a xanela debe chamar a atención do usuario." -#: ../gtk/gtkwindow.c:804 +#: ../gtk/gtkwindow.c:793 msgid "Accept focus" msgstr "Aceptar o foco" -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:794 msgid "TRUE if the window should receive the input focus." msgstr "É TRUE se a xanela non debe recibir o foco de entrada." -#: ../gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:808 msgid "Focus on map" msgstr "Foco no mapa" -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:809 msgid "TRUE if the window should receive the input focus when mapped." msgstr "É TRUE se a xanela debería recibir o foco de entrada cando se mapee." -#: ../gtk/gtkwindow.c:834 +#: ../gtk/gtkwindow.c:823 msgid "Decorated" msgstr "Decorado" -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:824 msgid "Whether the window should be decorated by the window manager" msgstr "Indica se o xestor de xanelas debe decorar a xanela" -#: ../gtk/gtkwindow.c:849 +#: ../gtk/gtkwindow.c:838 msgid "Deletable" msgstr "Eliminábel" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:839 msgid "Whether the window frame should have a close button" msgstr "Indica se o marco da xanela debería ter un botón de pechar" -#: ../gtk/gtkwindow.c:869 +#: ../gtk/gtkwindow.c:858 msgid "Resize grip" msgstr "Tirador de redimensión" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:859 msgid "Specifies whether the window should have a resize grip" msgstr "Indica se a xanela debe ter un tirador de redimensión" -#: ../gtk/gtkwindow.c:884 +#: ../gtk/gtkwindow.c:873 msgid "Resize grip is visible" msgstr "O tirador de redimensión é visíbel" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:874 msgid "Specifies whether the window's resize grip is visible." msgstr "Indica se o tirador de redimensión da xanela é visíbel." -#: ../gtk/gtkwindow.c:901 +#: ../gtk/gtkwindow.c:890 msgid "Gravity" msgstr "Gravidade" -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:891 msgid "The window gravity of the window" msgstr "O tipo de gravidade da xanela" -#: ../gtk/gtkwindow.c:919 +#: ../gtk/gtkwindow.c:908 msgid "Transient for Window" msgstr "Transición para a xanela" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:909 msgid "The transient parent of the dialog" msgstr "O pai transicional do diálogo" -#: ../gtk/gtkwindow.c:935 +#: ../gtk/gtkwindow.c:924 msgid "Opacity for Window" msgstr "Opacidade para a xanela" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:925 msgid "The opacity of the window, from 0 to 1" msgstr "A opacidade da xanela; de 0 até 1" -#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 msgid "Width of resize grip" msgstr "Anchura do tirador de redimensión" -#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 msgid "Height of resize grip" msgstr "Altura do tirador de redimensión" -#: ../gtk/gtkwindow.c:972 +#: ../gtk/gtkwindow.c:961 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:962 msgid "The GtkApplication for the window" msgstr "O GtkApplication para a xanela" +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "A etiqueta para a ligazón ao sitio web do programa. Se non se define, " +#~ "usarase o URL predefinido" + +#~ msgid "Tab pack type" +#~ msgstr "Tipo de empaquetado de separador" + +#~ msgid "Update policy" +#~ msgstr "Política de actualización" + +#~ msgid "How the range should be updated on the screen" +#~ msgstr "Como se debe actualizar o intervalo na pantalla" + +#~ msgid "Number of steps" +#~ msgstr "Número de pasos" + +#~ msgid "" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." +#~ msgstr "" +#~ "O número de pasos do spinner para completar o bucle. A animación " +#~ "completará un ciclo completo nun segundo de forma predefinida (vexa " +#~ "#GtkSpinner:cicyle-duration)." + +#~ msgid "Animation duration" +#~ msgstr "Duración da animación" + +#~ msgid "" +#~ "The length of time in milliseconds for the spinner to complete a full loop" +#~ msgstr "" +#~ "O tempo en milisegundos para que o spinner complete un bucle completo" + +#~ msgid "Extension events" +#~ msgstr "Eventos de extensión" + +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "A máscara que decide que clase de eventos de extensión consegue este " +#~ "widget" + # verificar: High= alta e low= baixa #~ msgid "Lower" #~ msgstr "Inferior" @@ -7502,12 +7900,6 @@ msgstr "O GtkApplication para a xanela" #~ msgid "The metric used for the ruler" #~ msgstr "A métrica que se usa na regra" -#~ msgid "Horizontal adjustment" -#~ msgstr "Axuste horizontal" - -#~ msgid "Vertical adjustment" -#~ msgstr "Axuste vertical" - #~ msgid "Horizontal Adjustment for the widget" #~ msgstr "Axuste horizontal para o widget" diff --git a/po/gl.po b/po/gl.po index 6e1eef2219..a8ce7cfe42 100644 --- a/po/gl.po +++ b/po/gl.po @@ -15,14 +15,14 @@ # Antón Méixome , 2010. # Francisco Diéguez , 2010. # Fran Dieguez , 2009, 2010. -# Fran Diéguez , 2009, 2010. +# Fran Diéguez , 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-gl-77922___.merged\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-05 14:56+0100\n" -"PO-Revision-Date: 2010-12-29 13:03+0100\n" +"POT-Creation-Date: 2011-01-06 23:53+0100\n" +"PO-Revision-Date: 2011-01-06 23:57+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -32,58 +32,48 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdk.c:115 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Produciuse un erro ao analizar a opción --gdk-debug" -#: ../gdk/gdk.c:135 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Produciuse un erro ao analizar a opción --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:163 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Clase de programa tal como a usa o xestor de xanelas" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "CLASE" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:166 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Nome do programa tal como o usa o xestor de xanelas" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NOME" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:169 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "Pantalla de X que se vai usar" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:170 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "PANTALLA" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:172 -msgid "X screen to use" -msgstr "Pantalla X que se vai usar" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:173 -msgid "SCREEN" -msgstr "PANTALLA" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:176 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "Opcións de depuración GDK para estabelecer" @@ -91,12 +81,12 @@ msgstr "Opcións de depuración GDK para estabelecer" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "PARÁMETROS" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:179 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "Opcións de depuración GDK para quitar" @@ -286,110 +276,108 @@ msgid "Delete" msgstr "Eliminar" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "Non procesar en lotes os pedidos GDI" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Non usar a API Wintab para a compatibilide de táboas" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "O mesmo que --no-wintab" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Usar a API Wintab [predefinido]" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "Tamaño da paleta en modo 8 bits" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "CORES" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "Iniciando %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "Abrindo %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "Abrindo %d elemento" msgstr[1] "Abrindo %d elementos" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "Facer chamadas a X síncronas" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:104 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -"Este programa non fornece NINGUNHA GARANTÍA, para máis información visite %s" +"Este programa non fornece NINGUNHA GARANTÍA, para máis información visite %s" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "Licenza" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "A licenza do programa" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "C_réditos" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_Licenza" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "Non foi posíbel mostrar a ligazón" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:994 +msgid "Homepage" +msgstr "Páxina web" + +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "Sobre %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "Créditos" +#: ../gtk/gtkaboutdialog.c:2372 +msgid "Created by" +msgstr "Creado por" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "Escrito por" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "Documentado por" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "Traducido por" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "Material gráfico por" @@ -398,7 +386,7 @@ msgstr "Material gráfico por" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Maiús" @@ -408,7 +396,7 @@ msgstr "Maiús" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -418,7 +406,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -428,7 +416,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Súper" @@ -438,7 +426,7 @@ msgstr "Súper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Híper" @@ -448,39 +436,122 @@ msgstr "Híper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "Espazo" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "Barra invertida" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +msgid "Other application..." +msgstr "Outro aplicativo..." + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "Produciuse un fallo ao ver os aplicativos en liña" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "Buscar os aplicativos en liña" + +#: ../gtk/gtkappchooserdialog.c:208 +msgid "Could not run application" +msgstr "Non foi posíbel executar o aplicativo" + +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +msgid "Could not find '%s'" +msgstr "Non foi posíbel encontrar «%s»" + +#: ../gtk/gtkappchooserdialog.c:224 +msgid "Could not find application" +msgstr "Non foi posíbel atopar o aplicativo" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Seleccione un aplicativo para abrir «%s»" + +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "Non existen aplicativos dispoñíbeis para abrir «%s»" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Seleccione un aplicativo para os ficheiros «%s»" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "Non hai ningún aplicativo dispoñíbel para abrir os ficheiros «%s»" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" +"Prema «Mostrar outros aplicativos», para ver máis opcións, ou «Buscar " +"aplicativos en liña» para instalar un novo aplicativo" + +#: ../gtk/gtkappchooserdialog.c:428 +msgid "Forget association" +msgstr "Esquecer a asociación" + +#: ../gtk/gtkappchooserdialog.c:493 +msgid "Show other applications" +msgstr "Mostrar outros aplicativos" + +#: ../gtk/gtkappchooserdialog.c:511 +msgid "_Open" +msgstr "_Abrir" + +#: ../gtk/gtkappchooserwidget.c:593 +msgid "Default Application" +msgstr "Aplicativo predeterminado" + +#: ../gtk/gtkappchooserwidget.c:729 +msgid "Recommended Applications" +msgstr "Aplicativos recomendados" + +#: ../gtk/gtkappchooserwidget.c:743 +msgid "Related Applications" +msgstr "Aplicativos relacionados" + +#: ../gtk/gtkappchooserwidget.c:756 +msgid "Other Applications" +msgstr "Outros aplicativos" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Tipo de función incorrecta na liña %d: «%s»" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "" "O identificador de obxecto «%s» na liña %d está duplicado (anteriormente na " "liña %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "Elemento raíz incorrecto: «%s»" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "Etiqueta non compatíbel: «%s»" @@ -495,7 +566,7 @@ msgstr "Etiqueta non compatíbel: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:885 msgid "calendar:MY" msgstr "calendar:MY" @@ -503,7 +574,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:923 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -512,7 +583,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1903 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -527,7 +598,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -543,7 +614,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -559,7 +630,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2256 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -567,7 +638,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "Desactivada" @@ -576,7 +647,7 @@ msgstr "Desactivada" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "Incorrecta" @@ -585,7 +656,7 @@ msgstr "Incorrecta" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "Tecla rápida nova..." @@ -595,15 +666,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Seleccione unha cor" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Recibiuse un dato de cor incorrecto\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -611,7 +682,7 @@ msgstr "" "Seleccione a cor que quere desde o anel exterior. Seleccione a escuridade ou " "luminosidade usando o triángulo interior." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -619,67 +690,67 @@ msgstr "" "Seleccione o contagotas, despois prema sobre calquera cor que haxa na súa " "pantalla para seleccionala." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Matiz:" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Posición na roda de cores." -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Saturación:" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "Intensidade da cor." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Valor:" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Brillo da cor." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Vermello:" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Cantidade de luz vermella na cor." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "V_erde:" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Cantidade de luz verde na cor." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Azul:" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Cantidade de luz azul na cor." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "Op_acidade:" -#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Transparencia da cor." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "_Nome da cor:" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -687,15 +758,15 @@ msgstr "" "Nesta entrada pode introducir un valor de cor en estilo HTML hexadecimal ou " "simplemente un nome de cor como 'orange'." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Paleta:" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Roda de cor" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -706,7 +777,7 @@ msgstr "" "seleccionar esta cor como actual arrastrándoa até a outra cor ao longo da " "mostra." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -714,7 +785,7 @@ msgstr "" "A cor que escolleu. Pode arrastrar esta cor a unha entrada da paleta e " "gardala para usala no futuro." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -722,15 +793,15 @@ msgstr "" "A cor seleccionada anteriormente, para comparar coa cor que seleccionou " "agora." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "A cor que seleccionou." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_Gardar a cor aquí" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -754,7 +825,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 msgid "Manage Custom Sizes" msgstr "Xestionar os tamaños personalizados" @@ -807,66 +878,66 @@ msgstr "_Dereito:" msgid "Paper Margins" msgstr "Marxes do papel" -#: ../gtk/gtkentry.c:8793 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 msgid "_Insert Unicode Control Character" msgstr "_Inserir un carácter de control Unicode" -#: ../gtk/gtkentry.c:10207 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Maiús e Bloq Num estás activados" -#: ../gtk/gtkentry.c:10209 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:10211 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Bloq Maiús está activado" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "Seleccionar un ficheiro" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "Escritorio" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(Ningún)" -#: ../gtk/gtkfilechooserbutton.c:2001 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "Outro..." -#: ../gtk/gtkfilechooserdefault.c:147 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "Escriba o nome do cartafol novo" -#: ../gtk/gtkfilechooserdefault.c:946 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "Non foi posíbel recuperar a información sobre o ficheiro" -#: ../gtk/gtkfilechooserdefault.c:957 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "Non foi posíbel engadir un marcador" -#: ../gtk/gtkfilechooserdefault.c:968 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "Non foi posíbel eliminar o marcador" -#: ../gtk/gtkfilechooserdefault.c:979 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "Non foi posíbel crear o cartafol" -#: ../gtk/gtkfilechooserdefault.c:992 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -874,7 +945,7 @@ msgstr "" "Non foi posíbel crear o cartafol: xa existe un ficheiro co mesmo nome. Tente " "usar un nome diferente para o cartafol ou renomee o ficheiro primeiro." -#: ../gtk/gtkfilechooserdefault.c:1006 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." @@ -882,11 +953,11 @@ msgstr "" "Debe seleccionar só cartafoles. O elemento que vostede seleccionou non é un " "cartafol. Tente usar un elemento diferente." -#: ../gtk/gtkfilechooserdefault.c:1016 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "O nome do ficheiro é incorrecto" -#: ../gtk/gtkfilechooserdefault.c:1026 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "Non foi posíbel mostrar o contido do cartafol" @@ -894,201 +965,201 @@ msgstr "Non foi posíbel mostrar o contido do cartafol" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1576 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s en %2$s" -#: ../gtk/gtkfilechooserdefault.c:1752 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "Buscar" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Usado recentemente" -#: ../gtk/gtkfilechooserdefault.c:2437 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "Seleccione que tipos de ficheiros se mostran" -#: ../gtk/gtkfilechooserdefault.c:2796 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Engadirlle o cartafol «%s» aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:2840 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Engadirlle o cartafol actual aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:2842 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Engadirlle os cartafoles seleccionados aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:2880 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "Eliminar o marcador «%s»" -#: ../gtk/gtkfilechooserdefault.c:2882 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "O marcador «%s» non pode ser eliminado" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "Eliminar o marcador seleccionado" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "Eliminar" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "Renomear..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "Lugares" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_Lugares" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "_Engadir" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "Engadir o cartafol seleccionado aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "_Eliminar" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "Non foi posíbel seleccionar o ficheiro" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "_Engadir aos marcadores" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "Mostrar os ficheiros _ocultos" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "Mostrar a columna de _tamaño" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "Ficheiros" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "Nome" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "Tamaño" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "Modificado" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Nome:" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_Buscar outros cartafoles" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "Teclee un nome de ficheiro" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "Crear car_tafol" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_Localización:" -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "Gardar no _cartafol:" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "Crear no _cartafol:" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "Non foi posíbel ler os contidos do %s" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "Non foi posíbel ler os contidos do cartafol" -#: ../gtk/gtkfilechooserdefault.c:6387 ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "Descoñecido" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "Onte ás %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "Non é posíbel cambiar ao cartafol porque non é local" -#: ../gtk/gtkfilechooserdefault.c:7667 ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "O atallo %s xa existe" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "O atallo %s non existe" -#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Xa existe un ficheiro con nome «%s». Quere substituílo?" -#: ../gtk/gtkfilechooserdefault.c:8042 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "O ficheiro xa existe en «%s». Se o substitúe sobrescribirá os seus contidos." -#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 msgid "_Replace" msgstr "_Substituír" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Non foi posíbel iniciar o proceso de busca" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1096,36 +1167,36 @@ msgstr "" "O programa non puido crear unha conexión co deamon indexador. Asegúrese de " "que está en execución." -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Non foi posíbel enviar a solicitude de busca" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Buscar:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Non foi posíbel montar %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "Camiño incorrecto" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1104 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "Non houbo coincidencia" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1115 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "Único completado" @@ -1133,13 +1204,13 @@ msgstr "Único completado" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1131 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "Completado, mais non é o único" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "Completando..." @@ -1147,7 +1218,7 @@ msgstr "Completando..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "Só se poden seleccionar ficheiros locais" @@ -1155,14 +1226,14 @@ msgstr "Só se poden seleccionar ficheiros locais" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "O nome do servidor está incompleto; finaliza con '/'" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "O camiño non existe" @@ -1190,35 +1261,35 @@ msgstr "Tipo de letra" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghi ABCDEFGHI" -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:367 msgid "_Family:" msgstr "_Familia:" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:373 msgid "_Style:" msgstr "_Estilo:" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:379 msgid "Si_ze:" msgstr "_Tamaño:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:558 +#: ../gtk/gtkfontsel.c:555 msgid "_Preview:" msgstr "_Previsualización:" -#: ../gtk/gtkfontsel.c:1658 +#: ../gtk/gtkfontsel.c:1655 msgid "Font Selection" msgstr "Selección do tipo de letra" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "Produciuse un erro ao cargar a icona: %s" @@ -1266,45 +1337,45 @@ msgid "System (%s)" msgstr "Sistema (%s)" #. Open Link -#: ../gtk/gtklabel.c:6233 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Abrir a ligazón" #. Copy Link Address -#: ../gtk/gtklabel.c:6245 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Copiar o enderezo da _ligazón" -#: ../gtk/gtklinkbutton.c:484 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "Copiar URL" -#: ../gtk/gtklinkbutton.c:647 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "URI incorrecto" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Cargar os módulos adicionais GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:517 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MÓDULOS" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "Facer todos os avisos fatais" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:522 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "Marcas de depuración GTK+ para activar" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:525 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "Marcas de depuración GTK+ para desconfigurar" @@ -1313,20 +1384,20 @@ msgstr "Marcas de depuración GTK+ para desconfigurar" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:788 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:852 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "Non é posíbel abrir a pantalla: %s" -#: ../gtk/gtkmain.c:911 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "Opcións GTK+" -#: ../gtk/gtkmain.c:911 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Mostrar opcións GTK+" @@ -1411,7 +1482,7 @@ msgstr "Intérprete de ordes Z" msgid "Cannot end process with PID %d: %s" msgstr "Non é posíbel finalizar o proceso co PID %d: %s" -#: ../gtk/gtknotebook.c:4758 ../gtk/gtknotebook.c:7353 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "Páxina %u" @@ -1444,7 +1515,7 @@ msgstr "" " Superior: %s %s\n" " Inferior: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 msgid "Manage Custom Sizes..." msgstr "Xestionar tamaños personalizados..." @@ -1452,7 +1523,7 @@ msgstr "Xestionar tamaños personalizados..." msgid "_Format for:" msgstr "_Formato para:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 msgid "_Paper size:" msgstr "Tamaño de _papel:" @@ -1460,19 +1531,19 @@ msgstr "Tamaño de _papel:" msgid "_Orientation:" msgstr "_Orientación:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 msgid "Page Setup" msgstr "Configuración de páxina" -#: ../gtk/gtkpathbar.c:158 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "Camiño superior" -#: ../gtk/gtkpathbar.c:160 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "Camiño inferior" -#: ../gtk/gtkpathbar.c:1523 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "Sistema de ficheiros raíz" @@ -1496,84 +1567,84 @@ msgstr "_Gardar no cartafol:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s traballo #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "Estado inicial" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "Preparándose para a impresión" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "Xerando datos" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "Enviando datos" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "En espera" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Bloqueada por un problema" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "Imprimir" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "Finalizado" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "Finalizado con erros" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "Preparando %d" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "Preparando" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "Imprimindo %d" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "Produciuse un erro ao crear a previsualización da páxina" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "" "O motivo máis probábel é que non foi posíbel crear un ficheiro temporal." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Produciuse un erro ao iniciar a previsualización" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Aplicativo" @@ -1587,7 +1658,7 @@ msgstr "Sen papel" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "Detida" @@ -1632,49 +1703,49 @@ msgstr "O manipulador non é correcto para PrintDlgEx" msgid "Unspecified error" msgstr "Erro non especificado" -#: ../gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:619 msgid "Getting printer information failed" msgstr "Fallou a obtención de información da impresora" -#: ../gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1874 msgid "Getting printer information..." msgstr "Obtención de información da impresora..." -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2141 msgid "Printer" msgstr "Impresora" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2151 msgid "Location" msgstr "Localización" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2162 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2188 msgid "Range" msgstr "Intervalo" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2192 msgid "_All Pages" msgstr "Tod_as as páxinas" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2199 msgid "C_urrent Page" msgstr "Páxina act_ual" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Se_lection" msgstr "_Selección" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "Pag_es:" msgstr "Páx_inas:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2219 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1682,28 +1753,28 @@ msgstr "" "Especificar un ou máis intervalos de páxina,\n" " por ex. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2229 msgid "Pages" msgstr "Páxinas" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2242 msgid "Copies" msgstr "Copias" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2247 msgid "Copie_s:" msgstr "Copia_s:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2265 msgid "C_ollate" msgstr "_Ordenar" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2273 msgid "_Reverse" msgstr "In_verter" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2293 msgid "General" msgstr "Xeral" @@ -1713,168 +1784,168 @@ msgstr "Xeral" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "De esquerda a dereita, de arriba a abaixo" -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "De esquerda a dereita, de abaixo a arriba" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "De dereita a esquerda, de arriba a abaixo" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "De dereita a esquerda, de abaixo a arriba" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "De arriba a abaixo, de esquerda a dereita" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "De arriba a abaixo, de dereita a esquerda" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "De abaixo a arriba, de esquerda a dereita" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "De arriba a abaixo, de esquerda a dereita" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Ordenación de páxinas" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Left to right" msgstr "De esquerda a dereita" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3063 msgid "Right to left" msgstr "De dereita a esquerda" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Top to bottom" msgstr "De arriba a abaixo" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Bottom to top" msgstr "De abaixo a arriba" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3316 msgid "Layout" msgstr "Disposición" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3320 msgid "T_wo-sided:" msgstr "Polos dous _lados:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3335 msgid "Pages per _side:" msgstr "Pá_xinas por lado:" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "Page or_dering:" msgstr "Or_denación de páxinas:" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "_Only print:" msgstr "Imprimir _só:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "All sheets" msgstr "Todas as follas" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Even sheets" msgstr "Follas pares" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3385 msgid "Odd sheets" msgstr "Follas impares" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3388 msgid "Sc_ale:" msgstr "Esc_ala:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3415 msgid "Paper" msgstr "Papel" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3419 msgid "Paper _type:" msgstr "_Tipo de papel:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3434 msgid "Paper _source:" msgstr "_Orixe do papel:" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3449 msgid "Output t_ray:" msgstr "_Bandexa de saída:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Or_ientation:" msgstr "Or_ientación:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Portrait" msgstr "Vertical" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Landscape" msgstr "Horizontal" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse portrait" msgstr "Vertical invertido" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3507 msgid "Reverse landscape" msgstr "Horizontal invertido" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3552 msgid "Job Details" msgstr "Detalles do traballo" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3558 msgid "Pri_ority:" msgstr "Pri_oridade:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3573 msgid "_Billing info:" msgstr "Información de _facturación:" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3591 msgid "Print Document" msgstr "Imprimir o documento" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3600 msgid "_Now" msgstr "_Agora" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "A_t:" msgstr "_En:" @@ -1882,7 +1953,7 @@ msgstr "_En:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3617 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1890,77 +1961,72 @@ msgstr "" "Especifique a hora de impresión,\n" "por exemplo 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "Time of print" msgstr "Tempo de impresión" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "On _hold" msgstr "En e_spera" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3644 msgid "Hold the job until it is explicitly released" msgstr "Termar do traballo até que sexa explicitamente liberado" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3664 msgid "Add Cover Page" msgstr "Engadir páxina de tapa" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3673 msgid "Be_fore:" msgstr "An_tes:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3691 msgid "_After:" msgstr "_Despois:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3709 msgid "Job" msgstr "Traballo" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3775 msgid "Advanced" msgstr "Avanzado" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Image Quality" msgstr "Calidade da imaxe" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3817 msgid "Color" msgstr "Cor" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3822 msgid "Finishing" msgstr "Finalizando" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3832 msgid "Some of the settings in the dialog conflict" msgstr "Algunhas das configuracións do diálogo están en conflito" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3855 msgid "Print" msgstr "Imprimir" -#: ../gtk/gtkrc.c:2855 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Non é posíbel localizar o ficheiro 'include': «%s»" - -#: ../gtk/gtkrc.c:3491 ../gtk/gtkrc.c:3494 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Non é posíbel localizar o ficheiro de imaxe no pixmap_path: «%s»" @@ -1975,36 +2041,36 @@ msgstr "Esta función non está implementada para os trebellos da clase «%s»" msgid "Select which type of documents are shown" msgstr "Seleccione o tipo de documentos que se mostran" -#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "Non se encontrou un elemento para o URI «%s»" -#: ../gtk/gtkrecentchooserdefault.c:1297 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "Filtro sen título" -#: ../gtk/gtkrecentchooserdefault.c:1650 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "Non foi posíbel eliminar o elemento" -#: ../gtk/gtkrecentchooserdefault.c:1694 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "Non foi posíbel limpar a lista" -#: ../gtk/gtkrecentchooserdefault.c:1778 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "Copiar a _localización" -#: ../gtk/gtkrecentchooserdefault.c:1791 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "Elimina_r da lista" -#: ../gtk/gtkrecentchooserdefault.c:1800 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "Li_mpar a lista" -#: ../gtk/gtkrecentchooserdefault.c:1814 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "Mostrar recursos _privados" @@ -2071,12 +2137,12 @@ msgstr "" "Non foi posíbel encontrar ningún aplicativo rexistrado co nome «%s» para o " "elemento co URI «%s»" -#: ../gtk/gtkspinner.c:326 +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Axustador" -#: ../gtk/gtkspinner.c:327 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Fornece un indicador visual de progreso" @@ -2588,7 +2654,7 @@ msgstr "Red_ucir" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 msgctxt "switch" msgid "ON" msgstr "❙" @@ -2596,17 +2662,17 @@ msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 msgctxt "switch" msgid "OFF" msgstr "○" -#: ../gtk/gtkswitch.c:943 +#: ../gtk/gtkswitch.c:959 msgctxt "light switch widget" msgid "Switch" msgstr "Interruptor" -#: ../gtk/gtkswitch.c:944 +#: ../gtk/gtkswitch.c:960 msgid "Switches between on and off states" msgstr "Cambia entre os estados acendido e apagado" @@ -2620,109 +2686,109 @@ msgstr "Erro descoñecido ao tentar deserializar %s" msgid "No deserialize function found for format %s" msgstr "Non se localizou a función de deserializar para o formato %s" -#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Localizáronse tanto \"id\" como \"name\" no elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "O atributo «%s» localizouse dúas veces no elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:851 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "O elemento <%s> ten un ID «%s» non válido" -#: ../gtk/gtktextbufferserialize.c:861 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "" "O elemento <%s> non ten nin un atributo \"name\" nin un atributo \"id\"" -#: ../gtk/gtktextbufferserialize.c:948 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "O atributo «%s» repítese dúas veces no mesmo elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "O atributo «%s» non é válido no elemento <%s> neste contexto" -#: ../gtk/gtktextbufferserialize.c:1030 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "A etiqueta «%s» non foi definida." -#: ../gtk/gtktextbufferserialize.c:1042 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Localizouse unha etiqueta anónima e non é posíbel crear as etiquetas." -#: ../gtk/gtktextbufferserialize.c:1053 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "A etiqueta «%s» non existe no búfer e non é posíbel crear as etiquetas." -#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 -#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Non se permite o elemento <%s> por baixo de <%s>" -#: ../gtk/gtktextbufferserialize.c:1183 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» non é un tipo de atributo correcto" -#: ../gtk/gtktextbufferserialize.c:1191 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» non é un nome de atributo correcto" -#: ../gtk/gtktextbufferserialize.c:1201 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "Non foi posíbel converter «%s» nun valor de tipo «%s» para o atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1210 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» non é un valor correcto para o atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1295 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "A etiqueta «%s» xa está definida" -#: ../gtk/gtktextbufferserialize.c:1308 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "A etiqueta «%s» ten a prioridade incorrecta«%s»" -#: ../gtk/gtktextbufferserialize.c:1361 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "O elemento máis extremo no texto debe ser non <%s>" -#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "Xa se especificou un elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:1392 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "Un elemento non pode aparecer antes dun elemento " -#: ../gtk/gtktextbufferserialize.c:1792 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "Os datos serializados están formados incorrectamente" -#: ../gtk/gtktextbufferserialize.c:1870 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -2769,58 +2835,53 @@ msgstr "ZWJ En_samblaxe de largura cero" msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ _Desensamblaxe de largura cero" -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Non é posíbel localizar o motor de temas no module_path: «%s»," - -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Etiqueta de inicio inesperada «%s» na liña %d carácter %d" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Datos de carácter inesperados na liña %d carácter %d" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "Baleiro" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Volume" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "Sobe ou baixa o volume" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "Axusta o volume" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Baixar o volume" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "Abaixa o volume" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Subir o volume" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "Sobe o volume" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Silenciado" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Volume máximo" @@ -2829,7 +2890,7 @@ msgstr "Volume máximo" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3820,259 +3881,259 @@ msgstr "Vietnamita (VIQR)" msgid "X Input Method" msgstr "Método da entrada X" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "Nome de usuario:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "Contrasinal:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "" "Requírese a súa autenticación para imprimir o documento «%s» na impresora %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Requírese a súa autenticación para imprimir un documento en %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "" "Requírese a súa autenticación para recoller os atributos do traballo «%s»" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "Requírese a súa autenticación para recoller os atributos dun traballo" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "" "Requírese a súa autenticación para recoller os atributos da impresora %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "" "Requírese a súa autenticación para recoller os atributos dunha impresora" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Requírese a súa autenticación para obter a impresora predefinida de %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Requírese a súa autenticación para obter as impresoras desde %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 #, c-format msgid "Authentication is required to get a file from %s" msgstr "Requírese a súa autenticación para obter o ficheiro dende %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "Requírese a súa autenticación en %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "Dominio:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Requírese a súa autenticación para imprimir un documento en «%s»" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "" "Requírese a súa autenticación para imprimir este documento na impresora %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "Requírese a súa autenticación para imprimir este documento" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "A impresora «%s» está baixa de tóner." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "A impresora «%s» non ten tóner." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "A impresora «%s» está baixa de revelador." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "A impresora «%s» está sen revelador." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "A impresora «%s» ten baixo polo menos un cartucho de cor." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "A impresora «%s» ten baleiro polo menos un cartucho de cor." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "A impresora «%s» ten a tapa aberta." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "A porta da impresora «%s» está aberta." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "A impresora «%s» ten pouco papel." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "A impresora «%s» está sen papel." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "A impresora «%s» está actualmente desconectada." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "Hai un problema na impresora «%s»." #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "Detida ; Rexeitando traballos" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "Rexeitando traballos" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "Dúas caras" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "Tipo de papel" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "Orixe do papel" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "Bandexa de saída" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "Resolución" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "Filtraxe previa GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "Un lado" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "Marxe longa (estándar)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "Marxe estreita (xirar)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "Selección automática" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "Impresora predefinida" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "Incorporar só os tipos de letra GhostScript" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "Converter a PS nivel 1" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "Converter a PS nivel 2" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "Sen filtrado previo" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "Varios" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "Urxente" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "Alto" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "Medio" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "Baixo" @@ -4080,66 +4141,66 @@ msgstr "Baixo" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "Páxinas por folla" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "Prioridade do traballo" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "Información de facturación" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "Ningún" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "Clasificado" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "Confidencial" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "Secreto" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "Estándar" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "Alto segredo" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "Sen clasificar" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "Antes" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "Despois" @@ -4147,14 +4208,14 @@ msgstr "Despois" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "Imprimir" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "Imprimir á hora" @@ -4162,7 +4223,7 @@ msgstr "Imprimir á hora" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "Personalizado %sx%s" @@ -4177,28 +4238,28 @@ msgstr "saída.%s" msgid "Print to File" msgstr "Imprimir a un ficheiro" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Pá_xinas por folla:" -#: ../modules/printbackends/file/gtkprintbackendfile.c:649 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "Ficheiro" -#: ../modules/printbackends/file/gtkprintbackendfile.c:659 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "Formato de _saída" @@ -4267,6 +4328,27 @@ msgstr "" "Produciuse un fallo ao cargar a imaxe «%s»: o motivo é descoñecido, é " "probábel que o ficheiro de imaxe estea corrupto" +#~ msgid "X screen to use" +#~ msgstr "Pantalla X que se vai usar" + +#~ msgid "SCREEN" +#~ msgstr "PANTALLA" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Facer chamadas a X síncronas" + +#~ msgid "Credits" +#~ msgstr "Créditos" + +#~ msgid "Written by" +#~ msgstr "Escrito por" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Non é posíbel localizar o ficheiro 'include': «%s»" + +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "Non é posíbel localizar o motor de temas no module_path: «%s»," + #~ msgid "Error creating folder '%s': %s" #~ msgstr "Produciuse un erro ao crear o cartafol «%s»: %s" @@ -4984,9 +5066,6 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "Nome do _cartafol:" -#~ msgid "C_reate" -#~ msgstr "C_rear" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "" From ec15c405cf6354e9267e7e6b7ce878c519bffe4c Mon Sep 17 00:00:00 2001 From: Emilio Pozuelo Monfort Date: Fri, 7 Jan 2011 01:30:11 +0000 Subject: [PATCH 1254/1463] Support disabling X11 extensions Based on a patch from Cyril Brulebois https://bugzilla.gnome.org/show_bug.cgi?id=612918 --- configure.ac | 70 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 51 insertions(+), 19 deletions(-) diff --git a/configure.ac b/configure.ac index 3a1a5de523..8eb01b07ae 100644 --- a/configure.ac +++ b/configure.ac @@ -254,6 +254,22 @@ AC_ARG_ENABLE(xinput, [AC_HELP_STRING([--enable-xinput], [support XInput extension if available [default=yes]])],, [enable_xinput="maybe"]) +AC_ARG_ENABLE(xrandr, + [AC_HELP_STRING([--enable-xrandr], + [support XRandR extension if available [default=maybe]])],, + [enable_xrandr="maybe"]) +AC_ARG_ENABLE(xfixes, + [AC_HELP_STRING([--enable-xfixes], + [support XFixes extension if available [default=maybe]])],, + [enable_xfixes="maybe"]) +AC_ARG_ENABLE(xcomposite, + [AC_HELP_STRING([--enable-xcomposite], + [support X Composite extension if available [default=maybe]])],, + [enable_xcomposite="maybe"]) +AC_ARG_ENABLE(xdamage, + [AC_HELP_STRING([--enable-xdamage], + [support X Damage extension if available [default=maybe]])],, + [enable_xdamage="maybe"]) AC_ARG_ENABLE(x11-backend, [AC_HELP_STRING([--enable-x11-backend], @@ -1105,11 +1121,15 @@ if test "x$enable_x11_backend" == xyes; then fi # Check for the RANDR extension - if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then - AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library]) + if test x"$enable_xrandr" != xno; then + if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then + AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library]) - X_PACKAGES="$X_PACKAGES xrandr" - X_EXTENSIONS="$X_EXTENSIONS XRANDR" + X_PACKAGES="$X_PACKAGES xrandr" + X_EXTENSIONS="$X_EXTENSIONS XRANDR" + elif test x"$enable_xrandr" = xyes; then + AC_MSG_ERROR([RANDR support requested but xrandr not found]) + fi fi # Checks for Xcursor library @@ -1122,32 +1142,44 @@ if test "x$enable_x11_backend" == xyes; then # Checks for XFixes extension - if $PKG_CONFIG --exists xfixes ; then - AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension]) + if test x"$enable_xfixes" != xno; then + if $PKG_CONFIG --exists xfixes ; then + AC_DEFINE(HAVE_XFIXES, 1, [Have the XFIXES X extension]) - X_PACKAGES="$X_PACKAGES xfixes" - X_EXTENSIONS="$X_EXTENSIONS XFIXES" - GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes" + X_PACKAGES="$X_PACKAGES xfixes" + X_EXTENSIONS="$X_EXTENSIONS XFIXES" + GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xfixes" + elif test x"$enable_xfixes" = xyes; then + AC_MSG_ERROR([XFixes support requested but xfixes not found]) + fi fi # Checks for Xcomposite extension - if $PKG_CONFIG --exists xcomposite ; then - AC_DEFINE(HAVE_XCOMPOSITE, 1, [Have the XCOMPOSITE X extension]) + if test x"$enable_xcomposite" != xno; then + if $PKG_CONFIG --exists xcomposite ; then + AC_DEFINE(HAVE_XCOMPOSITE, 1, [Have the XCOMPOSITE X extension]) - X_PACKAGES="$X_PACKAGES xcomposite" - X_EXTENSIONS="$X_EXTENSIONS Composite" - GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite" + X_PACKAGES="$X_PACKAGES xcomposite" + X_EXTENSIONS="$X_EXTENSIONS Composite" + GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xcomposite" + elif test x"$enable_xcomposite" = xyes; then + AC_MSG_ERROR([Xcomposite support requested but xcomposite not found]) + fi fi # Checks for Xdamage extension - if $PKG_CONFIG --exists xdamage ; then - AC_DEFINE(HAVE_XDAMAGE, 1, [Have the XDAMAGE X extension]) + if test x"$enable_xdamage" != xno; then + if $PKG_CONFIG --exists xdamage ; then + AC_DEFINE(HAVE_XDAMAGE, 1, [Have the XDAMAGE X extension]) - X_PACKAGES="$X_PACKAGES xdamage" - X_EXTENSIONS="$X_EXTENSIONS DAMAGE" - GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage" + X_PACKAGES="$X_PACKAGES xdamage" + X_EXTENSIONS="$X_EXTENSIONS DAMAGE" + GTK_PACKAGES_FOR_X="$GTK_PACKAGES_FOR_X xdamage" + elif test x"$enable_xdamage" = xyes; then + AC_MSG_ERROR([Xdamage support requested but xdamage not found]) + fi fi if $have_base_x_pc ; then From 685fe294730f52927369e5b707d11cbfd992b22d Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 7 Jan 2011 15:47:13 +0900 Subject: [PATCH 1255/1463] Fixed documentation of gtk_cell_area_set_focus_cell(). --- gtk/gtkcellarea.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 7c635f650a..e859c8d06c 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -2945,11 +2945,12 @@ gtk_cell_area_activate (GtkCellArea *area, * @area: a #GtkCellArea * @renderer: the #GtkCellRenderer to give focus to * - * This is generally called from #GtkCellArea implementations - * either gtk_cell_area_grab_focus() or gtk_cell_area_update_focus() - * is called. It's also up to the #GtkCellArea implementation - * to update the focused cell when receiving events from - * gtk_cell_area_event() appropriately. + * Explicitly sets the currently focused cell to @renderer. + * + * This is generally called by implementations of + * #GtkCellAreaClass.focus() or #GtkCellAreaClass.event(), + * however it can also be used to implement functions such + * as gtk_tree_view_set_cursor_on_cell(). * * Since: 3.0 */ From da41937b421fd5bafc4cad309f4c7cf7752d3fb4 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Fri, 7 Jan 2011 18:08:51 +0900 Subject: [PATCH 1256/1463] Removed special casing code in GtkCellLayout in favor of default implementation. The fact that GtkCellLayout was checking "if (gtk_cell_layout_get_area (layout))" and executing code contitionally from the apis instead of simply falling back to the default implementation for these things was causing problems in language bindings such as gtkmm... Regardless, the implementation is cleaner this way too. --- gtk/gtkcelllayout.c | 337 +++++++++++++++++++++++++------------------- 1 file changed, 192 insertions(+), 145 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index 49b2ec4d46..c4b9d6f0e8 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -97,12 +97,191 @@ typedef GtkCellLayoutIface GtkCellLayoutInterface; G_DEFINE_INTERFACE (GtkCellLayout, gtk_cell_layout, G_TYPE_OBJECT); +static void gtk_cell_layout_default_pack_start (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gboolean expand); +static void gtk_cell_layout_default_pack_end (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gboolean expand); +static void gtk_cell_layout_default_clear (GtkCellLayout *cell_layout); +static void gtk_cell_layout_default_add_attribute (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + const gchar *attribute, + gint column); +static void gtk_cell_layout_default_set_cell_data_func (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy); +static void gtk_cell_layout_default_clear_attributes (GtkCellLayout *cell_layout, + GtkCellRenderer *cell); +static void gtk_cell_layout_default_reorder (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gint position); +static GList *gtk_cell_layout_default_get_cells (GtkCellLayout *cell_layout); + static void -gtk_cell_layout_default_init (GtkCellLayoutInterface *iface) +gtk_cell_layout_default_init (GtkCellLayoutIface *iface) { + iface->pack_start = gtk_cell_layout_default_pack_start; + iface->pack_end = gtk_cell_layout_default_pack_end; + iface->clear = gtk_cell_layout_default_clear; + iface->add_attribute = gtk_cell_layout_default_add_attribute; + iface->set_cell_data_func = gtk_cell_layout_default_set_cell_data_func; + iface->clear_attributes = gtk_cell_layout_default_clear_attributes; + iface->reorder = gtk_cell_layout_default_reorder; + iface->get_cells = gtk_cell_layout_default_get_cells; } + +/* Default implementation is to fall back on an underlying cell area */ +static void +gtk_cell_layout_default_pack_start (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gboolean expand) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (area), cell, expand); + } +} + +static void +gtk_cell_layout_default_pack_end (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gboolean expand) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (area), cell, expand); + } +} + +static void +gtk_cell_layout_default_clear (GtkCellLayout *cell_layout) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + gtk_cell_layout_clear (GTK_CELL_LAYOUT (area)); + } +} + +static void +gtk_cell_layout_default_add_attribute (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + const gchar *attribute, + gint column) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); + } +} + +static void +gtk_cell_layout_default_set_cell_data_func (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + GtkCellLayoutDataFunc func, + gpointer func_data, + GDestroyNotify destroy) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + _gtk_cell_area_set_cell_data_func_with_proxy (area, cell, + (GFunc)func, func_data, destroy, + cell_layout); + } +} + +static void +gtk_cell_layout_default_clear_attributes (GtkCellLayout *cell_layout, + GtkCellRenderer *cell) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); + } +} + +static void +gtk_cell_layout_default_reorder (GtkCellLayout *cell_layout, + GtkCellRenderer *cell, + gint position) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (area), cell, position); + } +} + +static GList * +gtk_cell_layout_default_get_cells (GtkCellLayout *cell_layout) +{ + GtkCellLayoutIface *iface; + GtkCellArea *area; + + iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); + + if (iface->get_area) + { + area = iface->get_area (cell_layout); + + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + } + return NULL; +} + + /** * gtk_cell_layout_pack_start: * @cell_layout: a #GtkCellLayout @@ -122,23 +301,10 @@ gtk_cell_layout_pack_start (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->pack_start) - iface->pack_start (cell_layout, cell, expand); - else - { - area = iface->get_area (cell_layout); - - if (area) - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (area), cell, expand); - } + GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->pack_start (cell_layout, cell, expand); } /** @@ -160,23 +326,10 @@ gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gboolean expand) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->pack_end) - iface->pack_end (cell_layout, cell, expand); - else - { - area = iface->get_area (cell_layout); - - if (area) - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (area), cell, expand); - } + GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->pack_end (cell_layout, cell, expand); } /** @@ -191,22 +344,9 @@ gtk_cell_layout_pack_end (GtkCellLayout *cell_layout, void gtk_cell_layout_clear (GtkCellLayout *cell_layout) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->clear) - iface->clear (cell_layout); - else - { - area = iface->get_area (cell_layout); - - if (area) - gtk_cell_layout_clear (GTK_CELL_LAYOUT (area)); - } + GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->clear (cell_layout); } static void @@ -216,28 +356,16 @@ gtk_cell_layout_set_attributesv (GtkCellLayout *cell_layout, { gchar *attribute; gint column; - GtkCellLayoutIface *iface; - GtkCellArea *area; attribute = va_arg (args, gchar *); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->get_area) - area = iface->get_area (cell_layout); - - if (iface->clear_attributes) - iface->clear_attributes (cell_layout, cell); - else if (area) - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); + gtk_cell_layout_clear_attributes (cell_layout, cell); while (attribute != NULL) { column = va_arg (args, gint); - if (iface->add_attribute) - iface->add_attribute (cell_layout, cell, attribute, column); - else if (area) - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); + + gtk_cell_layout_add_attribute (cell_layout, cell, attribute, column); attribute = va_arg (args, gchar *); } @@ -294,28 +422,12 @@ gtk_cell_layout_add_attribute (GtkCellLayout *cell_layout, const gchar *attribute, gint column) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); g_return_if_fail (attribute != NULL); g_return_if_fail (column >= 0); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->add_attribute) - iface->add_attribute (cell_layout, - cell, - attribute, - column); - else - { - area = iface->get_area (cell_layout); - - if (area) - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); - } + GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->add_attribute (cell_layout, cell, attribute, column); } /** @@ -343,36 +455,11 @@ gtk_cell_layout_set_cell_data_func (GtkCellLayout *cell_layout, gpointer func_data, GDestroyNotify destroy) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->set_cell_data_func) - iface->set_cell_data_func (cell_layout, - cell, - func, - func_data, - destroy); - else - { - area = iface->get_area (cell_layout); - - if (area) - { - /* Ensure that the correct proxy object is sent to 'func' */ - if (GTK_CELL_LAYOUT (area) != cell_layout) - _gtk_cell_area_set_cell_data_func_with_proxy (area, cell, - (GFunc)func, func_data, destroy, - cell_layout); - else - gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (area), cell, - func, func_data, destroy); - } - } + GTK_CELL_LAYOUT_GET_IFACE + (cell_layout)->set_cell_data_func (cell_layout, cell, func, func_data, destroy); } /** @@ -389,23 +476,10 @@ void gtk_cell_layout_clear_attributes (GtkCellLayout *cell_layout, GtkCellRenderer *cell) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->clear_attributes) - iface->clear_attributes (cell_layout, cell); - else - { - area = iface->get_area (cell_layout); - - if (area) - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); - } + GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->clear_attributes (cell_layout, cell); } /** @@ -426,23 +500,10 @@ gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GtkCellRenderer *cell, gint position) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_if_fail (GTK_IS_CELL_LAYOUT (cell_layout)); g_return_if_fail (GTK_IS_CELL_RENDERER (cell)); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - - if (iface->reorder) - iface->reorder (cell_layout, cell, position); - else - { - area = iface->get_area (cell_layout); - - if (area) - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (area), cell, position); - } + GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->reorder (cell_layout, cell, position); } /** @@ -461,23 +522,9 @@ gtk_cell_layout_reorder (GtkCellLayout *cell_layout, GList * gtk_cell_layout_get_cells (GtkCellLayout *cell_layout) { - GtkCellLayoutIface *iface; - GtkCellArea *area; - g_return_val_if_fail (GTK_IS_CELL_LAYOUT (cell_layout), NULL); - iface = GTK_CELL_LAYOUT_GET_IFACE (cell_layout); - if (iface->get_cells) - return iface->get_cells (cell_layout); - else - { - area = iface->get_area (cell_layout); - - if (area) - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); - } - - return NULL; + return GTK_CELL_LAYOUT_GET_IFACE (cell_layout)->get_cells (cell_layout); } /** From 8de4661d8057578870bb27985a0e0e533d4a5783 Mon Sep 17 00:00:00 2001 From: Ignacio Casal Quinteiro Date: Fri, 7 Jan 2011 11:34:35 +0100 Subject: [PATCH 1257/1463] Set the style for .view so i.e the GtkTextView gets the right style. --- gtk/gtkcssprovider.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 6f72071a68..02c3fff077 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3638,7 +3638,12 @@ gtk_css_provider_get_default (void) " color: shade (@bg_color, 0.7);\n" "}\n" "\n" - "GtkTreeView, GtkIconView, GtkTextView {\n" + "GtkTreeView, GtkIconView {\n" + " background-color: @base_color;\n" + " color: @text_color;\n" + "}\n" + "\n" + ".view {\n" " background-color: @base_color;\n" " color: @text_color;\n" "}\n" From be632558dc002e0df1168680bfdd37823687dca6 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 7 Jan 2011 08:12:07 -0500 Subject: [PATCH 1258/1463] Document that GtkModuleInit doesn't receive argv anymore --- gtk/gtkmodules.h | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gtk/gtkmodules.h b/gtk/gtkmodules.h index 4674442963..a2adfce78a 100644 --- a/gtk/gtkmodules.h +++ b/gtk/gtkmodules.h @@ -32,13 +32,12 @@ G_BEGIN_DECLS /** * GtkModuleInitFunc: - * @argc: Pointer to the number of arguments remaining after gtk_init() - * @argv: Points to the argument vector + * @argc: GTK+ always passes %NULL for this argument + * @argv: GTK+ always passes %NULL for this argument * * Each GTK+ module must have a function gtk_module_init() * with this prototype. This function is called after loading - * the module with the @argc and @argv cleaned from any arguments - * that GTK+ handles itself. + * the module. */ typedef void (*GtkModuleInitFunc) (gint *argc, gchar ***argv); From c40c4a45e5ce326a685729e458410a9857a0cc62 Mon Sep 17 00:00:00 2001 From: Andika Triwidada Date: Fri, 7 Jan 2011 20:38:52 +0700 Subject: [PATCH 1259/1463] Updated Indonesian translation --- po/id.po | 1071 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 596 insertions(+), 475 deletions(-) diff --git a/po/id.po b/po/id.po index fbf6506cfb..f51bdf3323 100644 --- a/po/id.po +++ b/po/id.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-11-24 12:37+0000\n" -"PO-Revision-Date: 2010-11-26 12:06+0700\n" +"POT-Creation-Date: 2011-01-06 23:12+0000\n" +"PO-Revision-Date: 2011-01-07 19:47+0700\n" "Last-Translator: Andika Triwidada \n" "Language-Team: GNOME Indonesian Translation Team \n" "MIME-Version: 1.0\n" @@ -25,58 +25,48 @@ msgstr "" "X-Poedit-Country: Indonesia\n" "X-Generator: Lokalize 1.1\n" -#: ../gdk/gdk.c:115 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Galat sewaktu mengurai opsi --gdk-debug" -#: ../gdk/gdk.c:135 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Galat sewaktu mengurai opsi --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:163 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Kelas program yang digunakan pengatur jendela program" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "KELAS" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:166 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Nama program sebagaimana digunakan oleh program pengatur jendela" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NAMA" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:169 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "Tampilan X yang akan dipakai" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:170 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "TAMPILAN" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:172 -msgid "X screen to use" -msgstr "Layar X yang akan dipakai" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:173 -msgid "SCREEN" -msgstr "LAYAR" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:176 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "Tanda debug GDK yang hendak disetel" @@ -84,15 +74,15 @@ msgstr "Tanda debug GDK yang hendak disetel" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 -#: ../gdk/gdk.c:180 -#: ../gtk/gtkmain.c:525 -#: ../gtk/gtkmain.c:528 +#: ../gdk/gdk.c:211 +#: ../gdk/gdk.c:214 +#: ../gtk/gtkmain.c:570 +#: ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "TANDA" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:179 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "Tanda debug GDK yang ingin dibuang setelannya" @@ -282,109 +272,108 @@ msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "Jangan antrikan permintaan GDI" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Jangan gunakan API Wintab untuk dukungan tablet" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "Sama dengan --no-wintab" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Jangan gunakan API Wintab (berlaku pada kondisi awal)" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "Ukuran palet dalam moda 8 bit" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "WARNA" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "Memulai %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "Membuka '%s'" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "Membuka %d Item" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "Buat panggilan X sinkronus" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:104 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "Program ini TANPA JAMINAN APA PUN; untuk lebih jelas, kunjungi %s" +#| msgid "" +#| "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "Program ini TANPA JAMINAN APA PUN; untuk lebih jelas, kunjungi %s" -#: ../gtk/gtkaboutdialog.c:339 -#: ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "Lisensi" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "Lisensi program" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "K_redit" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_Lisensi" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "Tidak dapat menampilkan taut" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:994 +#| msgctxt "keyboard label" +#| msgid "Home" +msgid "Homepage" +msgstr "Laman Web" + +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "Tentang %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "Kredit" +#: ../gtk/gtkaboutdialog.c:2372 +#| msgid "Translated by" +msgid "Created by" +msgstr "Dibuat oleh" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "Penulis" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "Dokumentasi" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "Penerjemah" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "Karya Seni" @@ -393,7 +382,7 @@ msgstr "Karya Seni" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -403,7 +392,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -413,7 +402,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -423,7 +412,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -433,7 +422,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -443,37 +432,129 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "Spasi" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +#| msgid "Application" +msgid "Other application..." +msgstr "Aplikasi lain..." + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "Gagal mencari aplikasi daring" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "Cari aplikasi daring" + +#: ../gtk/gtkappchooserdialog.c:208 +#| msgid "Could not clear list" +msgid "Could not run application" +msgstr "Tidak dapat menjalankan aplikasi" + +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +#| msgid "Could not mount %s" +msgid "Could not find '%s'" +msgstr "Tidak dapat menemukan '%s'" + +#: ../gtk/gtkappchooserdialog.c:224 +#| msgid "Could not show link" +msgid "Could not find application" +msgstr "Tidak dapat menemukan aplikasi" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Pilih aplikasi untuk membuka \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:335 +#: ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "Tak tersedia aplikasi untuk membuka \"%s\"" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Pilih aplikasi bagi berkas \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "Tak tersedia aplikasi untuk membuka berka \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "Click \"Show other applications\", for more options, or \"Find applications online\" to install a new application" +msgstr "Klik \"Tampilkan aplikasi lain\" untuk opsi lebih banyak, atau \"Cari aplikasi daring\" untuk memasang aplikasi baru" + +#: ../gtk/gtkappchooserdialog.c:428 +#| msgid "Forget password _immediately" +msgid "Forget association" +msgstr "Lupakan asosiasi" + +#: ../gtk/gtkappchooserdialog.c:493 +#| msgid "Show GTK+ Options" +msgid "Show other applications" +msgstr "Tampilkan aplikasi lain" + +#: ../gtk/gtkappchooserdialog.c:511 +#| msgctxt "Stock label" +#| msgid "_Open" +msgid "_Open" +msgstr "Buk_a" + +#: ../gtk/gtkappchooserwidget.c:593 +#| msgid "Application" +msgid "Default Application" +msgstr "Aplikasi Bawaan" + +#: ../gtk/gtkappchooserwidget.c:729 +#| msgid "Application" +msgid "Recommended Applications" +msgstr "Aplikasi Yang Disarankan" + +#: ../gtk/gtkappchooserwidget.c:743 +#| msgid "Application" +msgid "Related Applications" +msgstr "Aplikasi Terkait" + +#: ../gtk/gtkappchooserwidget.c:756 +#| msgid "Application" +msgid "Other Applications" +msgstr "Aplikasi Lain" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Tipe fungsi tak valid pada baris %d: '%s'" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "Objek ID '%s' ganda pada baris %d (sebelumnya pada baris %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "Elemen akar tidak berlaku: %s" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "Tag tak tertangani: '%s'" @@ -488,7 +569,7 @@ msgstr "Tag tak tertangani: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:885 msgid "calendar:MY" msgstr "calendar:MY" @@ -497,7 +578,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:923 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -506,7 +587,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1903 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -521,8 +602,8 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 -#: ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1934 +#: ../gtk/gtkcalendar.c:2623 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -538,8 +619,8 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 -#: ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1966 +#: ../gtk/gtkcalendar.c:2491 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -555,7 +636,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2256 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -563,7 +644,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "Dinonaktifkan" @@ -572,7 +653,7 @@ msgstr "Dinonaktifkan" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "Tak valid" @@ -581,8 +662,8 @@ msgstr "Tak valid" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 -#: ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 +#: ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "Akselerator baru..." @@ -593,117 +674,117 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 -#: ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:187 +#: ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Pilih Warna" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Menerima data warna yang salah\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "Select the color you want from the outer ring. Select the darkness or lightness of that color using the inner triangle." msgstr "Pilih warna untuk ring terluar. Pilih tingkat kegelapan atau keterangan pada warna tersebut menggunakan segitiga yang ada di dalam." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "Click the eyedropper, then click a color anywhere on your screen to select that color." msgstr "Klik pada pengambil warna, lalu klik pada warna apa saja di layar untuk memilih warna tersebut." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Corak:" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Posisi pada roda warna." -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Saturasi:" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "Intensitas warna." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Nilai:" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Kecerahan warna." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "Me_rah:" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Intensiyas cahaya merah pada warna." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_Hijau:" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Intensitas cahaya hijau pada warna." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Biru:" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Intensitas cahaya biru pada warna." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "Op_asitas:" -#: ../gtk/gtkcolorsel.c:471 -#: ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Nilai transparansi warna." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "_Nama warna:" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "You can enter an HTML-style hexadecimal color value, or simply a color name such as 'orange' in this entry." msgstr "Anda dapat memasukkan nilai warna dalam gaya HTML heksadesimal, atau bisa juga masukkan namanya, misalnya 'orange'." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Palet:" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Roda Warna" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1033 msgid "The previously-selected color, for comparison to the color you're selecting now. You can drag this color to a palette entry, or select this color as current by dragging it to the other color swatch alongside." msgstr "Warna yang sebelumnya dipilih sebagai warna perbandingan dengan warna yang Anda pilih sekarang. Ambil warna ini ke dalam palet, atau pilih warna ini sebagai warna aktif dengan menyeretnya ke dalam kotak warna." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1036 msgid "The color you've chosen. You can drag this color to a palette entry to save it for use in the future." msgstr "Warna yang Anda pilih. Ambil warna ini ke dalam palet agar dapat digunakan di kemudian hari" -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1041 msgid "The previously-selected color, for comparison to the color you're selecting now." msgstr "Warna yang sebelumnya dipilih, untuk perbandingan dengan warna yang kini sedang Anda pilih." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "Warna yang telah Anda pilih." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_Simpan warna di sini" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1652 msgid "Click this palette entry to make it the current color. To change this entry, drag a color swatch here or right-click it and select \"Save color here.\"" msgstr "Klik pada palet untuk menjadikannya sebagai warna aktif. Untuk merubahnya, ambil warna pada kotak warna atau klik kanan dan pilih \"Simpan warna di sini\"" @@ -723,7 +804,7 @@ msgstr "default:mm" #. And show the custom paper dialog #: ../gtk/gtkcustompaperunixdialog.c:374 -#: ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkprintunixdialog.c:3242 msgid "Manage Custom Sizes" msgstr "Kelola Ukuran Sesuaian" @@ -778,81 +859,81 @@ msgstr "_Kanan:" msgid "Paper Margins" msgstr "Margin Kertas" -#: ../gtk/gtkentry.c:8794 -#: ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8806 +#: ../gtk/gtktextview.c:8222 msgid "Input _Methods" msgstr "_Metode Input" -#: ../gtk/gtkentry.c:8808 -#: ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8820 +#: ../gtk/gtktextview.c:8236 msgid "_Insert Unicode Control Character" msgstr "_Isikan karakter kontrol Unicode" -#: ../gtk/gtkentry.c:10208 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "Tombol Caps Lock dan Num Lock sedang aktif" -#: ../gtk/gtkentry.c:10210 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "Num Lock menyala" -#: ../gtk/gtkentry.c:10212 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Caps Lock menyala" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "Pilih Berkas" -#: ../gtk/gtkfilechooserbutton.c:62 -#: ../gtk/gtkfilechooserdefault.c:1833 +#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "Desktop" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(Nihil)" -#: ../gtk/gtkfilechooserbutton.c:2001 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "Lainnya..." -#: ../gtk/gtkfilechooserdefault.c:147 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "Ketikkan nama folder baru" -#: ../gtk/gtkfilechooserdefault.c:946 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "Informasi mengenai berkas ini tidak tersedia" -#: ../gtk/gtkfilechooserdefault.c:957 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "Tidak dapat menambah buku alamat" -#: ../gtk/gtkfilechooserdefault.c:968 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "Tidak dapat menghapus penanda alamat" -#: ../gtk/gtkfilechooserdefault.c:979 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "Folder tidak dapat dibuat" -#: ../gtk/gtkfilechooserdefault.c:992 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "The folder could not be created, as a file with the same name already exists. Try using a different name for the folder, or rename the file first." msgstr "Folder ini tidak dapat dibuat karena sudah ada berkas di situ dengan nama yang sama. Silakan ganti nama folder ini, atau ganti nama berkas itu terlebih dahulu." -#: ../gtk/gtkfilechooserdefault.c:1006 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "You may only select folders. The item that you selected is not a folder; try using a different item." msgstr "Anda hanya boleh memilih folder. Butir yang Anda pilih bukan folder; cobalah memilih butir lain." -#: ../gtk/gtkfilechooserdefault.c:1016 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "Nama berkas tidak sah" -#: ../gtk/gtkfilechooserdefault.c:1026 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "Isi folder tidak dapat ditampilkan" @@ -860,241 +941,241 @@ msgstr "Isi folder tidak dapat ditampilkan" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1576 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s pada %2$s" -#: ../gtk/gtkfilechooserdefault.c:1752 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "Cari" -#: ../gtk/gtkfilechooserdefault.c:1776 -#: ../gtk/gtkfilechooserdefault.c:9417 +#: ../gtk/gtkfilechooserdefault.c:1777 +#: ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Baru-baru Ini Digunakan" -#: ../gtk/gtkfilechooserdefault.c:2437 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "Pilih jenis berkas yang ingin ditampilkan" -#: ../gtk/gtkfilechooserdefault.c:2796 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Menambahkan folder '%s' dalam penanda tautan" -#: ../gtk/gtkfilechooserdefault.c:2840 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Masukkan folder ini dalam penanda tautan" -#: ../gtk/gtkfilechooserdefault.c:2842 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Menambahkan folder yang dipilih dalam penanda tautan" -#: ../gtk/gtkfilechooserdefault.c:2880 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "Menghapus penanda '%s'" -#: ../gtk/gtkfilechooserdefault.c:2882 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "Penanda '%s' tidak dapat dihapus" -#: ../gtk/gtkfilechooserdefault.c:2889 -#: ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:2890 +#: ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "Menghapus penanda yang dipilih" -#: ../gtk/gtkfilechooserdefault.c:3445 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "Hapus" -#: ../gtk/gtkfilechooserdefault.c:3454 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "Ubah Nama..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3617 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "Lokasi" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3674 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_Lokasi" -#: ../gtk/gtkfilechooserdefault.c:3731 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "T_ambah" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "Menambahkan folder yang dipilih dalam Penanda Tautan" -#: ../gtk/gtkfilechooserdefault.c:3743 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "_Hapus" -#: ../gtk/gtkfilechooserdefault.c:3885 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "Tidak dapat memilih berkas" -#: ../gtk/gtkfilechooserdefault.c:4060 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "T_ambah dalam Penanda Tautan" -#: ../gtk/gtkfilechooserdefault.c:4073 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "_Tampilkan Berkas Tersembunyi" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "Tampilkan Kolom _Ukuran" -#: ../gtk/gtkfilechooserdefault.c:4306 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "Berkas" -#: ../gtk/gtkfilechooserdefault.c:4357 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "Nama" -#: ../gtk/gtkfilechooserdefault.c:4380 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "Ukuran" -#: ../gtk/gtkfilechooserdefault.c:4394 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "Diubah" #. Label -#: ../gtk/gtkfilechooserdefault.c:4649 +#: ../gtk/gtkfilechooserdefault.c:4657 #: ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Nama:" -#: ../gtk/gtkfilechooserdefault.c:4692 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_Lihat folder lainnya" -#: ../gtk/gtkfilechooserdefault.c:4962 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "Ketikkan nama berkas" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5005 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "Buat Fo_lder" -#: ../gtk/gtkfilechooserdefault.c:5015 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_Lokasi:" -#: ../gtk/gtkfilechooserdefault.c:5219 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "Simpan dalam _folder:" -#: ../gtk/gtkfilechooserdefault.c:5221 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "Buat dalam _folder:" -#: ../gtk/gtkfilechooserdefault.c:6290 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "Tidak dapat membaca isi dari %s" -#: ../gtk/gtkfilechooserdefault.c:6294 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "Tidak bisa membaca isi dari folder" -#: ../gtk/gtkfilechooserdefault.c:6387 -#: ../gtk/gtkfilechooserdefault.c:6455 -#: ../gtk/gtkfilechooserdefault.c:6600 +#: ../gtk/gtkfilechooserdefault.c:6393 +#: ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "Tidak Diketahui" -#: ../gtk/gtkfilechooserdefault.c:6402 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6404 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "Kemarin, pukul %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7070 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "Tidak dapat mengganti folder karena tidak berada pada komputer lokal" -#: ../gtk/gtkfilechooserdefault.c:7667 -#: ../gtk/gtkfilechooserdefault.c:7688 +#: ../gtk/gtkfilechooserdefault.c:7673 +#: ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "Pintasan %s sudah ada" -#: ../gtk/gtkfilechooserdefault.c:7778 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "Pintasan %s tidak ada" -#: ../gtk/gtkfilechooserdefault.c:8039 -#: ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 +#: ../gtk/gtkprintunixdialog.c:481 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Berkas \"%s\" sudah ada. Timpa?" -#: ../gtk/gtkfilechooserdefault.c:8042 -#: ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 +#: ../gtk/gtkprintunixdialog.c:485 #, c-format msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "Berkas sudah ada dalam \"%s\". Berkas lama akan diganti dengan yang baru bila Anda menimpanya." -#: ../gtk/gtkfilechooserdefault.c:8047 -#: ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 +#: ../gtk/gtkprintunixdialog.c:492 msgid "_Replace" msgstr "_Timpa" -#: ../gtk/gtkfilechooserdefault.c:8755 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Tidak dapat memulai proses pencarian" -#: ../gtk/gtkfilechooserdefault.c:8756 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "The program was not able to create a connection to the indexer daemon. Please make sure it is running." msgstr "Program tidak dapat membuat koneksi ke indexer daemon. Pastikan program sedang berjalan." -#: ../gtk/gtkfilechooserdefault.c:8770 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Tidak dapat mengirim permintaan pencarian" -#: ../gtk/gtkfilechooserdefault.c:8989 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Cari:" -#: ../gtk/gtkfilechooserdefault.c:9594 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Tidak dapat mengaitkan %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 -#: ../gtk/gtkfilechooserentry.c:1172 +#: ../gtk/gtkfilechooserentry.c:700 +#: ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "Lokasi salah" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1104 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "Tak ada yang cocok" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1115 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "Hasil satu-satunya" @@ -1102,13 +1183,13 @@ msgstr "Hasil satu-satunya" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1131 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "Lengkap, tapi tak unik" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "Sedang menyelesaikan..." @@ -1116,8 +1197,8 @@ msgstr "Sedang menyelesaikan..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 -#: ../gtk/gtkfilechooserentry.c:1210 +#: ../gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "Hanya boleh memilih berkas lokal" @@ -1125,14 +1206,14 @@ msgstr "Hanya boleh memilih berkas lokal" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "Nama host tak lengkap; akhirilah dengan '/'" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "Lokasi tidak ada" @@ -1161,40 +1242,40 @@ msgstr "Fonta" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:367 msgid "_Family:" msgstr "_Keluarga:" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:373 msgid "_Style:" msgstr "_Gaya:" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:379 msgid "Si_ze:" msgstr "_Ukuran:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:558 +#: ../gtk/gtkfontsel.c:555 msgid "_Preview:" msgstr "_Pratinjau:" -#: ../gtk/gtkfontsel.c:1658 +#: ../gtk/gtkfontsel.c:1655 msgid "Font Selection" msgstr "Seleksi Fonta" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "Galat ketika memuat ikon: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1207,12 +1288,12 @@ msgstr "" "Anda bisa mendapatkannya dari:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "Ikon '%s' tidak ada pada tema" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Gagal memuat ikon" @@ -1237,45 +1318,45 @@ msgid "System (%s)" msgstr "Sistem (%s)" #. Open Link -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Buka Taut" #. Copy Link Address -#: ../gtk/gtklabel.c:6226 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Sa_lin Alamat Taut" -#: ../gtk/gtklinkbutton.c:484 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "Salin URL" -#: ../gtk/gtklinkbutton.c:647 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "URI Salah" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Panggil modul GTK+ lainnya" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MODUL" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "Buat semua peringatan menjadi pesan fatal" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "Bendera debug GTK+ yang hendak dipasang" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "Bendera debug GTK+ yang hendak dilepas" @@ -1284,20 +1365,20 @@ msgstr "Bendera debug GTK+ yang hendak dilepas" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:790 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:855 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "Tak bisa membuka tampilan: %s" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "Opsi GTK+" -#: ../gtk/gtkmain.c:914 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Menampilkan Opsi GTK+" @@ -1382,8 +1463,8 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "Tidak dapat mengakhiri proses dengan PID %d: %s" -#: ../gtk/gtknotebook.c:4756 -#: ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4817 +#: ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "Halaman %u" @@ -1418,7 +1499,7 @@ msgstr "" " Bawah: %s %s" #: ../gtk/gtkpagesetupunixdialog.c:858 -#: ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkprintunixdialog.c:3293 msgid "Manage Custom Sizes..." msgstr "Kelola Ukuran Sesuaian..." @@ -1427,7 +1508,7 @@ msgid "_Format for:" msgstr "_Bentuk untuk:" #: ../gtk/gtkpagesetupunixdialog.c:931 -#: ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkprintunixdialog.c:3465 msgid "_Paper size:" msgstr "_Ukuran kertas:" @@ -1436,19 +1517,19 @@ msgid "_Orientation:" msgstr "_Orientasi:" #: ../gtk/gtkpagesetupunixdialog.c:1026 -#: ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkprintunixdialog.c:3527 msgid "Page Setup" msgstr "Atur Halaman" -#: ../gtk/gtkpathbar.c:158 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "Lokasi Naik" -#: ../gtk/gtkpathbar.c:160 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "Lokasi Turun" -#: ../gtk/gtkpathbar.c:1523 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "Akar Sistem Berkas" @@ -1472,84 +1553,84 @@ msgstr "_Simpan pada folder:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s tugas #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "Keadaan awal" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "Bersiap mencetak..." -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "Membangkitkan data" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "Mengirim data" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "Menunggu" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Menghadang karena ada masalah" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "Mencetak" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "Selesai" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "Selesai dengan galat" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "Bersiap %d" -#: ../gtk/gtkprintoperation.c:2272 -#: ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "Bersiap" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "Mencetak %d" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "Galat membuat pratinjau cetak" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "Alasan paling mungkin adalah berkas temporer tidak dapat dibuat." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Galat ketika membuka pratinjau" -#: ../gtk/gtkprintoperation-unix.c:470 +#: ../gtk/gtkprintoperation-unix.c:477 #: ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Aplikasi" @@ -1564,7 +1645,7 @@ msgstr "Habis kertas" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "Ditahan" @@ -1611,49 +1692,49 @@ msgstr "Penanganan salah untuk PrintDlgEx" msgid "Unspecified error" msgstr "Kesalahan tidak jelas" -#: ../gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:619 msgid "Getting printer information failed" msgstr "Gagal memperoleh informasi pencetak" -#: ../gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1874 msgid "Getting printer information..." msgstr "Mengambil informasi pencetak..." -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2141 msgid "Printer" msgstr "Pencetak" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2151 msgid "Location" msgstr "Lokasi" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2162 msgid "Status" msgstr "Status" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2188 msgid "Range" msgstr "Jangkauan" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2192 msgid "_All Pages" msgstr "Semu_a Halaman" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2199 msgid "C_urrent Page" msgstr "Halaman Sekarang" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Se_lection" msgstr "Se_leksi" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "Pag_es:" msgstr "_Halaman:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2219 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1661,28 +1742,28 @@ msgstr "" "Nyatakan satu atau lebih rentang halaman,\n" "mis: 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2229 msgid "Pages" msgstr "Halaman" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2242 msgid "Copies" msgstr "Rangkap" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2247 msgid "Copie_s:" msgstr "_Rangkap:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2265 msgid "C_ollate" msgstr "K_olasi" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2273 msgid "_Reverse" msgstr "Te_rbalik" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2293 msgid "General" msgstr "Umum" @@ -1692,169 +1773,169 @@ msgstr "Umum" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "Kiri ke kanan, puncak ke dasar" -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "Kiri ke kanan, dasar ke puncak" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "Kanan ke kiri, puncak ke dasar" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "Kanan ke kiri, dasar ke puncak" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "Puncak ke dasar, kiri ke kanan" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "Puncak ke dasar, kanan ke kiri" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "Dasar ke puncak, kiri ke kanan" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "Dasar ke puncak, kanan ke kiri" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 -#: ../gtk/gtkprintunixdialog.c:3044 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: ../gtk/gtkprintunixdialog.c:3033 +#: ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Urutan Halaman" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Left to right" msgstr "Kiri ke kanan" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3063 msgid "Right to left" msgstr "Kanan ke kiri" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Top to bottom" msgstr "Puncak ke dasar" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Bottom to top" msgstr "Dasar ke puncak" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3316 msgid "Layout" msgstr "Tata letak" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3320 msgid "T_wo-sided:" msgstr "D_ua sisi:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3335 msgid "Pages per _side:" msgstr "Halaman per _sisi:" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "Page or_dering:" msgstr "U_rutan halaman:" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "_Only print:" msgstr "_Hanya cetak:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "All sheets" msgstr "Semua lembar" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Even sheets" msgstr "Halaman genap" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3385 msgid "Odd sheets" msgstr "Halaman Ganjil" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3388 msgid "Sc_ale:" msgstr "Sk_ala:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3415 msgid "Paper" msgstr "Kertas" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3419 msgid "Paper _type:" msgstr "Jenis ker_tas:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3434 msgid "Paper _source:" msgstr "_Sumber kertas" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3449 msgid "Output t_ray:" msgstr "Baki kelua_ran:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Or_ientation:" msgstr "Or_ientasi:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Portrait" msgstr "Tegak" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Landscape" msgstr "Tumbang" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse portrait" msgstr "Tegak terjungkir" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3507 msgid "Reverse landscape" msgstr "Tumbang terbalik" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3552 msgid "Job Details" msgstr "Rincian Tugas" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3558 msgid "Pri_ority:" msgstr "Pri_oritas:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3573 msgid "_Billing info:" msgstr "Info _Billing:" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3591 msgid "Print Document" msgstr "Cetak Dokumen" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3600 msgid "_Now" msgstr "Sekara_ng" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "A_t:" msgstr "_Pada:" @@ -1862,7 +1943,7 @@ msgstr "_Pada:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3617 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1870,78 +1951,72 @@ msgstr "" "Nyatakan waktu pencetakan,\n" "mis: 15:30, 14:15:20, 4" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "Time of print" msgstr "Waktu cetak" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "On _hold" msgstr "_Tahan" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3644 msgid "Hold the job until it is explicitly released" msgstr "Tahan tugas sampai dilepas secara eksplisit" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3664 msgid "Add Cover Page" msgstr "Tambahkan Sampulan Halaman" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3673 msgid "Be_fore:" msgstr "_Sebelum:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3691 msgid "_After:" msgstr "Sesud_ah:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3709 msgid "Job" msgstr "Tugas" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3775 msgid "Advanced" msgstr "Diperluas" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Image Quality" msgstr "Kualitas Gambar" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3817 msgid "Color" msgstr "Warna" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3822 msgid "Finishing" msgstr "Penyelesaian" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3832 msgid "Some of the settings in the dialog conflict" msgstr "Beberapa ketentuan pada dialog konflik" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3855 msgid "Print" msgstr "Cetak" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Tidak dapat menemukan berkas yang hendak disisipkan: \"%s\"" - -#: ../gtk/gtkrc.c:3470 -#: ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "TIdak dapat menemukan berkas gambar pada pixmap_path: \"%s\"" @@ -1958,37 +2033,37 @@ msgstr "Fungsi ini tidak diterapkan untuk widget kelas '%s'" msgid "Select which type of documents are shown" msgstr "Pilih jenis berkas mana yang ingin ditampilkan" -#: ../gtk/gtkrecentchooserdefault.c:1133 -#: ../gtk/gtkrecentchooserdefault.c:1170 +#: ../gtk/gtkrecentchooserdefault.c:1137 +#: ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "Tidak menemukan item untuk URI '%s'" -#: ../gtk/gtkrecentchooserdefault.c:1297 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "Penyaring tanpa nama" -#: ../gtk/gtkrecentchooserdefault.c:1650 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "Tidak dapat menghapus item" -#: ../gtk/gtkrecentchooserdefault.c:1694 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "Tidak dapat membersihkan daftar" -#: ../gtk/gtkrecentchooserdefault.c:1778 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "Salin _Lokasi" -#: ../gtk/gtkrecentchooserdefault.c:1791 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "Buang Dari Dafta_r" -#: ../gtk/gtkrecentchooserdefault.c:1800 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "_Kosongkan Daftar" -#: ../gtk/gtkrecentchooserdefault.c:1814 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "Tampilkan Sumber _Pribadi" @@ -2057,12 +2132,12 @@ msgstr "Tidak dapat menemukan objek dengan URI '%s'" msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "Tak ditemukan aplikasi terdaftar dengan nama '%s' bagi butir dengan URI '%s'" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Gambar Putar" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Menyediakan indikasi visual dari kemajuan" @@ -2570,6 +2645,37 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "P_erkecil Tampilan" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:304 +#: ../gtk/gtkswitch.c:353 +#: ../gtk/gtkswitch.c:544 +msgctxt "switch" +msgid "ON" +msgstr "NYALA" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:312 +#: ../gtk/gtkswitch.c:354 +#: ../gtk/gtkswitch.c:560 +msgctxt "switch" +msgid "OFF" +msgstr "MATI" + +#: ../gtk/gtkswitch.c:959 +#| msgid "inch" +msgctxt "light switch widget" +msgid "Switch" +msgstr "Tukar" + +#: ../gtk/gtkswitch.c:960 +msgid "Switches between on and off states" +msgstr "Bertukar antara keadaan nyala dan mati" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2580,111 +2686,111 @@ msgstr "Kesalahan tidak dikenal ketika mencoba deserialisasi %s" msgid "No deserialize function found for format %s" msgstr "Tidak menemukan fungsi deserialiasi untuk bentuk %s" -#: ../gtk/gtktextbufferserialize.c:803 -#: ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:800 +#: ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Bagian \"id\" dan \"nama\" ditemukan pada bagian <%s>" -#: ../gtk/gtktextbufferserialize.c:813 -#: ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:810 +#: ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Atribu \"%s\" ditemukan dua kali di bagian <%s>" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "Elemen <%s> memiliki ID \"%s\" yang tidak sah" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "bagian <%s> telah memiliki atribut \"nama\" ataupun \"id\"" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Atribut \"%s\" mengulang dua kali pada bagian <%s> yang sama" -#: ../gtk/gtktextbufferserialize.c:970 -#: ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:967 +#: ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Atribut \"%s\" salah pada bagian <%s> dalam konteks ini" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Tag \"%s\" tidak dijelaskan." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Tag tak dikenal ditemukan dan tags tidak bisa dibuat." -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Tag \"%s\" tidak ada dalam buffer dan tags tidak bisa dibuat." -#: ../gtk/gtktextbufferserialize.c:1156 -#: ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 -#: ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1153 +#: ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 +#: ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Elemen <%s> tidak diperbolehkan di bawah <%s>" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" bukan jenis atribut yang benar" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" bukan nama atribut yang benar" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "\"%s\" tidak bisa dirubah ke nilai jenis \"%s\" untuk atribut \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" tidak benar untuk atribut \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "Tag \"%s\" sudah ditentukan" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Tag \"%s\" memiliki prioritas yang salah \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Bagian terluar dari teks harus bukan <%s>" -#: ../gtk/gtktextbufferserialize.c:1374 -#: ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1371 +#: ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "Suatu bagian <%s> sudah ditentukan" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "Suatu bagian Date: Fri, 7 Jan 2011 15:10:06 +0100 Subject: [PATCH 1260/1463] Fix gtk_tree_view_column_cell_get_position() --- gtk/gtktreeviewcolumn.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 00a2ea7499..612732f549 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -2972,7 +2972,7 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, gint *width) { GtkTreeViewColumnPrivate *priv; - GdkRectangle zero_cell_area = { 0, }; + GdkRectangle cell_area; GdkRectangle allocation; g_return_val_if_fail (GTK_IS_TREE_VIEW_COLUMN (tree_column), FALSE); @@ -2980,16 +2980,24 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column, priv = tree_column->priv; - /* FIXME: Could use a boolean return value for invalid cells */ + gtk_tree_view_get_background_area (GTK_TREE_VIEW (priv->tree_view), + NULL, tree_column, &cell_area); + gtk_cell_area_get_cell_allocation (priv->cell_area, priv->cell_area_context, priv->tree_view, cell_renderer, - &zero_cell_area, + &cell_area, &allocation); if (x_offset) - *x_offset = allocation.x; + { + GdkRectangle button_allocation; + + /* Retrieve column offset */ + gtk_widget_get_allocation (priv->button, &button_allocation); + *x_offset = allocation.x - button_allocation.x; + } if (width) *width = allocation.width; From 4ed781778d4ea1cd2ff0cde37f8a3cf268a5fa80 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Fri, 7 Jan 2011 15:35:35 +0100 Subject: [PATCH 1261/1463] Introduce gtk_tree_view_is_blank_at_pos() This function is useful to figure out whether the tree view is "blank" at a given location. For such locations you might want to popup a custom popup menu, clear the current selection or start rubber banding. In the future, we are planning on updating GtkTreeView's user interactions to take advantage of this new function. Part of bug 350618. --- gtk/gtk.symbols | 1 + gtk/gtktreeprivate.h | 5 ++ gtk/gtktreeview.c | 103 ++++++++++++++++++++++++++++++++++++++++ gtk/gtktreeview.h | 7 +++ gtk/gtktreeviewcolumn.c | 39 +++++++++++++++ 5 files changed, 155 insertions(+) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 476bbeb06c..919ddd4a54 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3350,6 +3350,7 @@ gtk_tree_view_grid_lines_get_type G_GNUC_CONST gtk_tree_view_insert_column gtk_tree_view_insert_column_with_attributes G_GNUC_NULL_TERMINATED gtk_tree_view_insert_column_with_data_func +gtk_tree_view_is_blank_at_pos gtk_tree_view_is_rubber_banding_active gtk_tree_view_map_expanded_rows gtk_tree_view_move_column_after diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 9ee61f1ef9..a47a17b5b0 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -126,6 +126,11 @@ GtkCellRenderer *_gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *co GdkRectangle *background_area, gint x, gint y); +gboolean _gtk_tree_view_column_is_blank_at_pos (GtkTreeViewColumn *column, + GdkRectangle *cell_area, + GdkRectangle *background_area, + gint x, + gint y); void _gtk_tree_view_column_cell_render (GtkTreeViewColumn *tree_column, cairo_t *cr, diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index fc599c996f..76b748fc1c 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -14039,6 +14039,109 @@ gtk_tree_view_get_visible_range (GtkTreeView *tree_view, return retval; } +/** + * gtk_tree_view_is_blank_at_pos: + * @tree_view: A #GtkTreeView + * @x: The x position to be identified (relative to bin_window) + * @y: The y position to be identified (relative to bin_window) + * @path: (out) (allow-none): A pointer to a #GtkTreePath pointer to be filled in, or %NULL + * @column: (out) (allow-none): A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL + * @cell_x: (out) (allow-none): A pointer where the X coordinate relative to the cell can be placed, or %NULL + * @cell_y: (out) (allow-none): A pointer where the Y coordinate relative to the cell can be placed, or %NULL + * + * Determine whether the point (@x, @y) in @tree_view is blank, that is no + * cell content nor an expander arrow is drawn at the location. If so, the + * location can be considered as the background. You might wish to take + * special action on clicks on the background, such as clearing a current + * selection, having a custom context menu or starting rubber banding. + * + * The @x and @y coordinate that are provided must be relative to bin_window + * coordinates. That is, @x and @y must come from an event on @tree_view + * where event->window == gtk_tree_view_get_bin_window (). + * + * For converting widget coordinates (eg. the ones you get from + * GtkWidget::query-tooltip), please see + * gtk_tree_view_convert_widget_to_bin_window_coords(). + * + * The @path, @column, @cell_x and @cell_y arguments will be filled in + * likewise as for gtk_tree_view_get_path_at_pos(). Please see + * gtk_tree_view_get_path_at_pos() for more information. + * + * Return value: %TRUE if the area at the given coordinates is blank, + * %FALSE otherwise. + * + * Since: 3.0 + */ +gboolean +gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, + gint x, + gint y, + GtkTreePath **path, + GtkTreeViewColumn **column, + gint *cell_x, + gint *cell_y) +{ + GtkRBTree *tree; + GtkRBNode *node; + GtkTreeIter iter; + GtkTreePath *real_path; + GtkTreeViewColumn *real_column; + GdkRectangle cell_area, background_area; + + g_return_val_if_fail (GTK_IS_TREE_VIEW (tree_view), FALSE); + + if (!gtk_tree_view_get_path_at_pos (tree_view, x, y, + &real_path, &real_column, + cell_x, cell_y)) + /* If there's no path here, it is blank */ + return TRUE; + + if (path) + *path = real_path; + + if (column) + *column = real_column; + + gtk_tree_model_get_iter (tree_view->priv->model, &iter, real_path); + _gtk_tree_view_find_node (tree_view, real_path, &tree, &node); + + /* Check if there's an expander arrow at (x, y) */ + if (real_column == tree_view->priv->expander_column + && gtk_tree_view_draw_expanders (tree_view)) + { + gboolean over_arrow; + + over_arrow = coords_are_over_arrow (tree_view, tree, node, x, y); + + if (over_arrow) + { + if (!path) + gtk_tree_path_free (real_path); + return FALSE; + } + } + + /* Otherwise, have the column see if there's a cell at (x, y) */ + gtk_tree_view_column_cell_set_cell_data (real_column, + tree_view->priv->model, + &iter, + GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PARENT), + node->children ? TRUE : FALSE); + + gtk_tree_view_get_background_area (tree_view, real_path, real_column, + &background_area); + gtk_tree_view_get_cell_area (tree_view, real_path, real_column, + &cell_area); + + if (!path) + gtk_tree_path_free (real_path); + + return _gtk_tree_view_column_is_blank_at_pos (real_column, + &cell_area, + &background_area, + x, y); +} + static void unset_reorderable (GtkTreeView *tree_view) { diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h index a828a40c1c..9e2227b026 100644 --- a/gtk/gtktreeview.h +++ b/gtk/gtktreeview.h @@ -336,6 +336,13 @@ void gtk_tree_view_get_visible_rect (GtkTreeView gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path); +gboolean gtk_tree_view_is_blank_at_pos (GtkTreeView *tree_view, + gint x, + gint y, + GtkTreePath **path, + GtkTreeViewColumn **column, + gint *cell_x, + gint *cell_y); /* Drag-and-Drop support */ void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index 612732f549..eebcf5ecdc 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1515,6 +1515,45 @@ _gtk_tree_view_column_get_cell_at_pos (GtkTreeViewColumn *column, return match; } +gboolean +_gtk_tree_view_column_is_blank_at_pos (GtkTreeViewColumn *column, + GdkRectangle *cell_area, + GdkRectangle *background_area, + gint x, + gint y) +{ + GtkCellRenderer *match; + GdkRectangle cell_alloc, aligned_area, inner_area; + GtkTreeViewColumnPrivate *priv = column->priv; + + match = _gtk_tree_view_column_get_cell_at_pos (column, + cell_area, + background_area, + x, y); + if (!match) + return FALSE; + + gtk_cell_area_get_cell_allocation (priv->cell_area, + priv->cell_area_context, + priv->tree_view, + match, + cell_area, + &cell_alloc); + + gtk_cell_area_inner_cell_area (priv->cell_area, priv->tree_view, + &cell_alloc, &inner_area); + gtk_cell_renderer_get_aligned_area (match, priv->tree_view, 0, + &inner_area, &aligned_area); + + if (x < aligned_area.x || + x > aligned_area.x + aligned_area.width || + y < aligned_area.y || + y > aligned_area.y + aligned_area.height) + return TRUE; + + return FALSE; +} + /* Public Functions */ From 29b4baea97efd9d219c4c90df348297afe9cfa73 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 7 Jan 2011 21:51:23 +0100 Subject: [PATCH 1262/1463] Translate KeyPress/KeyRelease in gtkplug-x11 This makes XEmbed work properly again. Only event->key.group and is_modifier are left blank at the moment. Exposing the necessary XKB bits should be considered, but it's not urgent for the current usecases. --- gtk/gtkplug-x11.c | 80 ++++++++++++++++++++--------------------------- 1 file changed, 34 insertions(+), 46 deletions(-) diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index 55332615c2..e7d8b4c6a5 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -353,64 +353,52 @@ _gtk_plug_windowing_filter_func (GdkXEvent *gdk_xevent, break; } - -#if 0 - /* FIXME: this needs some X11 backend api to do things - * in a saner way - */ case KeyPress: case KeyRelease: { - static GdkDeviceManager *core_device_manager = NULL; + GdkModifierType state, consumed; GdkDeviceManager *device_manager; - GdkEvent *translated_event; - GList *devices, *d; - GdkDevice *keyboard = NULL; + GdkDevice *pointer, *keyboard; + GdkKeymap *keymap; + + if (xevent->type == KeyPress) + event->key.type = GDK_KEY_PRESS; + else + event->key.type = GDK_KEY_RELEASE; + + event->key.window = gdk_x11_window_lookup_for_display (display, xevent->xany.window); + event->key.send_event = TRUE; + event->key.time = xevent->xkey.time; + event->key.state = (GdkModifierType) xevent->xkey.state; + event->key.hardware_keycode = xevent->xkey.keycode; + event->key.keyval = GDK_KEY_VoidSymbol; device_manager = gdk_display_get_device_manager (display); + pointer = gdk_device_manager_get_client_pointer (device_manager); + keyboard = gdk_device_get_associated_device (pointer); + gdk_event_set_device (event, keyboard); - /* bail out if the device manager already - * interprets core keyboard events. - */ - if (!GDK_IS_DEVICE_MANAGER_XI2 (device_manager)) - return GDK_FILTER_CONTINUE; + keymap = gdk_keymap_get_for_display (display); + gdk_keymap_translate_keyboard_state (keymap, + event->key.hardware_keycode, + event->key.state, + event->key.group, + &event->key.keyval, + NULL, NULL, &consumed); - /* Find out the first keyboard device, the - * generated event will be assigned to it. - */ - devices = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); + state = event->key.state & ~consumed; + gdk_keymap_add_virtual_modifiers (keymap, &state); + event->key.state |= state; - for (d = devices; d; d = d->next) - { - GdkDevice *device = d->data; + event->key.length = 0; + event->key.string = g_strdup (""); - if (gdk_device_get_source (device) == GDK_SOURCE_KEYBOARD) - keyboard = device; - } + /* FIXME: These should be filled in properly */ + event->key.group = 0; + event->key.is_modifier = FALSE; - g_list_free (devices); - - if (!keyboard) - return GDK_FILTER_CONTINUE; - - /* This is a crude hack so key events - * are interpreted as if there was a - * GdkDeviceManagerCore available. - */ - if (G_UNLIKELY (!core_device_manager)) - core_device_manager = g_object_new (GDK_TYPE_DEVICE_MANAGER_CORE, - "display", display, - NULL); - - translated_event = gdk_event_translator_translate (GDK_EVENT_TRANSLATOR (core_device_manager), display, xevent); - gdk_event_set_device (translated_event, keyboard); - - gtk_main_do_event (translated_event); - gdk_event_free (translated_event); - - return_val = GDK_FILTER_REMOVE; + return_val = GDK_FILTER_TRANSLATE; } -#endif } return return_val; From 094d4c81befb92082df8b6bfed5121cd7bc1c74d Mon Sep 17 00:00:00 2001 From: Bruce Cowan Date: Fri, 7 Jan 2011 23:25:18 +0000 Subject: [PATCH 1263/1463] Updated British English translation --- po-properties/en_GB.po | 4517 ++++++++++++++++++++++------------------ po/en_GB.po | 1030 +++++---- 2 files changed, 3077 insertions(+), 2470 deletions(-) diff --git a/po-properties/en_GB.po b/po-properties/en_GB.po index ab4af75423..6db25b2fc2 100644 --- a/po-properties/en_GB.po +++ b/po-properties/en_GB.po @@ -2,145 +2,162 @@ # Copyright (C) 2004 GTK+'s COPYRIGHT HOLDER # This file is distributed under the same licence as the gtk+ package # Abigail Brady , Gareth Owen 2004 -# Bruce Cowan , 2009, 2010. +# Bruce Cowan , 2009, 2010, 2011. # Philip Withnall , 2010. msgid "" msgstr "" "Project-Id-Version: gtk+\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-02-24 16:40+0100\n" -"Last-Translator: Philip Withnall \n" +"POT-Creation-Date: 2011-01-07 23:14+0000\n" +"PO-Revision-Date: 2011-01-07 23:20+0100\n" +"Last-Translator: Bruce Cowan \n" "Language-Team: British English \n" "Language: en_GB\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Virtaal 0.5.2\n" +"X-Generator: Virtaal 0.6.1\n" -#: gdk/gdkdevice.c:97 -msgid "Device Display" -msgstr "Device Display" - -#: gdk/gdkdevice.c:98 -#, fuzzy -msgid "Display which the device belongs to" -msgstr "Display which the device belongs to" - -#: gdk/gdkdevice.c:112 -msgid "Device manager" -msgstr "Device manager" - -#: gdk/gdkdevice.c:113 -#, fuzzy -msgid "Device manager which the device belongs to" -msgstr "Device manager which the device belongs to" - -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -msgid "Device name" -msgstr "Device name" - -#: gdk/gdkdevice.c:142 -msgid "Device type" -msgstr "Device type" - -#: gdk/gdkdevice.c:143 -msgid "Device role in the device manager" -msgstr "Device role in the device manager" - -#: gdk/gdkdevice.c:159 -msgid "Associated device" -msgstr "Associated device" - -#: gdk/gdkdevice.c:160 -#, fuzzy -msgid "Associated pointer or keyboard with this device" -msgstr "Associated pointer or keyboard with this device" - -#: gdk/gdkdevice.c:173 -msgid "Input source" -msgstr "Input source" - -#: gdk/gdkdevice.c:174 -msgid "Source type for the device" -msgstr "Source type for the device" - -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -msgid "Input mode for the device" -msgstr "Input mode for the device" - -#: gdk/gdkdevice.c:205 -#, fuzzy -msgid "Whether the device has a cursor" -msgstr "Whether the device has a cursor" - -#: gdk/gdkdevice.c:206 -msgid "Whether there is a visible cursor following device motion" -msgstr "Whether there is a visible cursor following device motion" - -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -msgid "Number of axes in the device" -msgstr "Number of axes in the device" - -#: gdk/gdkdevicemanager.c:134 +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 msgid "Display" msgstr "Display" -#: gdk/gdkdevicemanager.c:135 +#: ../gdk/gdkcursor.c:128 +msgid "Cursor type" +msgstr "Cursor type" + +#: ../gdk/gdkcursor.c:129 +msgid "Standard cursor type" +msgstr "Standard cursor type" + +#: ../gdk/gdkcursor.c:137 +msgid "Display of this cursor" +msgstr "Display of this cursor" + +#: ../gdk/gdkdevice.c:111 +msgid "Device Display" +msgstr "Device Display" + +#: ../gdk/gdkdevice.c:112 +msgid "Display which the device belongs to" +msgstr "Display which the device belongs to" + +#: ../gdk/gdkdevice.c:126 +msgid "Device manager" +msgstr "Device manager" + +#: ../gdk/gdkdevice.c:127 +msgid "Device manager which the device belongs to" +msgstr "Device manager which the device belongs to" + +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 +msgid "Device name" +msgstr "Device name" + +#: ../gdk/gdkdevice.c:156 +msgid "Device type" +msgstr "Device type" + +#: ../gdk/gdkdevice.c:157 +msgid "Device role in the device manager" +msgstr "Device role in the device manager" + +#: ../gdk/gdkdevice.c:173 +msgid "Associated device" +msgstr "Associated device" + +#: ../gdk/gdkdevice.c:174 +msgid "Associated pointer or keyboard with this device" +msgstr "Associated pointer or keyboard with this device" + +#: ../gdk/gdkdevice.c:187 +msgid "Input source" +msgstr "Input source" + +#: ../gdk/gdkdevice.c:188 +msgid "Source type for the device" +msgstr "Source type for the device" + +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 +msgid "Input mode for the device" +msgstr "Input mode for the device" + +#: ../gdk/gdkdevice.c:219 +msgid "Whether the device has a cursor" +msgstr "Whether the device has a cursor" + +#: ../gdk/gdkdevice.c:220 +msgid "Whether there is a visible cursor following device motion" +msgstr "Whether there is a visible cursor following device motion" + +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 +msgid "Number of axes in the device" +msgstr "Number of axes in the device" + +#: ../gdk/gdkdevicemanager.c:147 msgid "Display for the device manager" msgstr "Display for the device manager" -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkdisplaymanager.c:117 msgid "Default Display" msgstr "Default Display" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:118 msgid "The default display for GDK" msgstr "The default display for GDK" -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Font options" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "The default font options for the screen" -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Font resolution" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "The resolution for fonts on the screen" -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Cursor" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "Device ID" -#: gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" msgstr "Device identifier" -#: gdk/x11/gdkdevicemanager-xi.c:84 +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +msgid "Opcode" +msgstr "Opcode" + +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +msgid "Opcode for XInput2 requests" +msgstr "Opcode for XInput2 requests" + +#: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "Event base" -#: gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "Event base for XInput events" -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:276 msgid "Program name" msgstr "Program name" -#: gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:277 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -148,97 +165,93 @@ msgstr "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:291 msgid "Program version" msgstr "Program version" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:292 msgid "The version of the program" msgstr "The version of the program" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:306 msgid "Copyright string" msgstr "Copyright string" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright information for the program" msgstr "Copyright information for the program" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:324 msgid "Comments string" msgstr "Comments string" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments about the program" msgstr "Comments about the program" -#: gtk/gtkaboutdialog.c:368 +#: ../gtk/gtkaboutdialog.c:375 msgid "License Type" msgstr "Licence Type" -#: gtk/gtkaboutdialog.c:369 +#: ../gtk/gtkaboutdialog.c:376 msgid "The license type of the program" msgstr "The licence type of the program" -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:392 msgid "Website URL" msgstr "Website URL" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:393 msgid "The URL for the link to the website of the program" msgstr "The URL for the link to the website of the program" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:407 msgid "Website label" msgstr "Website label" -#: gtk/gtkaboutdialog.c:402 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" +#: ../gtk/gtkaboutdialog.c:408 +msgid "The label for the link to the website of the program" +msgstr "The label for the link to the website of the program" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:424 msgid "Authors" msgstr "Authors" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:425 msgid "List of authors of the program" msgstr "List of authors of the program" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:441 msgid "Documenters" msgstr "Documenters" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:442 msgid "List of people documenting the program" msgstr "List of people documenting the program" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:458 msgid "Artists" msgstr "Artists" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:459 msgid "List of people who have contributed artwork to the program" msgstr "List of people who have contributed artwork to the program" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:476 msgid "Translator credits" msgstr "Translator credits" -#: gtk/gtkaboutdialog.c:471 +#: ../gtk/gtkaboutdialog.c:477 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Credits to the translators. This string should be marked as translatable" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:492 msgid "Logo" msgstr "Logo" -#: gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:493 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -246,105 +259,106 @@ msgstr "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:508 msgid "Logo Icon Name" msgstr "Logo Icon Name" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:509 msgid "A named icon to use as the logo for the about box." msgstr "A named icon to use as the logo for the about box." -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:522 msgid "Wrap license" msgstr "Wrap licence" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:523 msgid "Whether to wrap the license text." msgstr "Whether to wrap the licence text." -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:187 msgid "Accelerator Closure" msgstr "Accelerator Closure" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:188 msgid "The closure to be monitored for accelerator changes" msgstr "The closure to be monitored for accelerator changes" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:194 msgid "Accelerator Widget" msgstr "Accelerator Widget" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:195 msgid "The widget to be monitored for accelerator changes" msgstr "The widget to be monitored for accelerator changes" -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "Name" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "A unique name for the action." -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Label" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." msgstr "The label used for menu items and buttons that activate this action." -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:258 msgid "Short label" msgstr "Short label" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "A shorter label that may be used on toolbar buttons." -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:267 msgid "Tooltip" msgstr "Tooltip" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "A tooltip for this action." -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "Stock Icon" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "The stock icon displayed in widgets representing this action." -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "The GIcon being displayed" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Icon Name" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "The name of the icon from the icon theme" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "Visible when horizontal" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." @@ -352,11 +366,11 @@ msgstr "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "Visible when overflown" -#: gtk/gtkaction.c:350 +#: ../gtk/gtkaction.c:350 msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." @@ -364,11 +378,11 @@ msgstr "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "Visible when vertical" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." @@ -376,11 +390,11 @@ msgstr "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "Is important" -#: gtk/gtkaction.c:366 +#: ../gtk/gtkaction.c:366 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." @@ -388,37 +402,38 @@ msgstr "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "Hide if empty" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "When TRUE, empty menu proxies for this action are hidden." -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:935 msgid "Sensitive" msgstr "Sensitive" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "Whether the action is enabled." -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:928 msgid "Visible" msgstr "Visible" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "Whether the action is visible." -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:395 msgid "Action Group" msgstr "Action Group" -#: gtk/gtkaction.c:396 +#: ../gtk/gtkaction.c:396 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." @@ -426,96 +441,96 @@ msgstr "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "Always show image" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "Whether the image will always be shown" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "A name for the action group." -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "Whether the action group is enabled." -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "Whether the action group is visible." -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:289 msgid "Related Action" msgstr "Related Action" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:290 msgid "The action this activatable will activate and receive updates from" msgstr "The action this activatable will activate and receive updates from" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:312 msgid "Use Action Appearance" msgstr "Use Action Appearance" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:313 msgid "Whether to use the related actions appearance properties" msgstr "Whether to use the related actions appearance properties" -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 msgid "Value" msgstr "Value" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:124 msgid "The value of the adjustment" msgstr "The value of the adjustment" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:140 msgid "Minimum Value" msgstr "Minimum Value" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:141 msgid "The minimum value of the adjustment" msgstr "The minimum value of the adjustment" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:160 msgid "Maximum Value" msgstr "Maximum Value" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:161 msgid "The maximum value of the adjustment" msgstr "The maximum value of the adjustment" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:177 msgid "Step Increment" msgstr "Step Increment" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:178 msgid "The step increment of the adjustment" msgstr "The step increment of the adjustment" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:194 msgid "Page Increment" msgstr "Page Increment" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:195 msgid "The page increment of the adjustment" msgstr "The page increment of the adjustment" -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:214 msgid "Page Size" msgstr "Page Size" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:215 msgid "The page size of the adjustment" msgstr "The page size of the adjustment" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "Horizontal alignment" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -523,11 +538,11 @@ msgstr "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "Vertical alignment" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -535,11 +550,11 @@ msgstr "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "Horizontal scale" -#: gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:157 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -547,11 +562,11 @@ msgstr "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "Vertical scale" -#: gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:166 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -559,188 +574,263 @@ msgstr "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "Top Padding" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "The padding to insert at the top of the widget." -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "Bottom Padding" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "The padding to insert at the bottom of the widget." -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "Left Padding" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "The padding to insert at the left of the widget." -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "Right Padding" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "The padding to insert at the right of the widget." -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkappchooserbutton.c:536 +msgid "Include an 'Other...' item" +msgstr "Include an 'Other...' item" + +#: ../gtk/gtkappchooserbutton.c:537 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" + +#: ../gtk/gtkappchooser.c:58 +msgid "Content type" +msgstr "Content type" + +#: ../gtk/gtkappchooser.c:59 +msgid "The content type used by the open with object" +msgstr "The content type used by the open with object" + +#: ../gtk/gtkappchooserdialog.c:683 +msgid "GFile" +msgstr "GFile" + +#: ../gtk/gtkappchooserdialog.c:684 +msgid "The GFile used by the app chooser dialog" +msgstr "The GFile used by the app chooser dialogue" + +#: ../gtk/gtkappchooserwidget.c:1015 +msgid "Show default app" +msgstr "Show default app" + +#: ../gtk/gtkappchooserwidget.c:1016 +msgid "Whether the widget should show the default application" +msgstr "Whether the widget should show the default application" + +#: ../gtk/gtkappchooserwidget.c:1029 +msgid "Show recommended apps" +msgstr "Show recommended apps" + +#: ../gtk/gtkappchooserwidget.c:1030 +msgid "Whether the widget should show recommended applications" +msgstr "Whether the widget should show recommended applications" + +#: ../gtk/gtkappchooserwidget.c:1043 +msgid "Show fallback apps" +msgstr "Show fallback apps" + +#: ../gtk/gtkappchooserwidget.c:1044 +msgid "Whether the widget should show fallback applications" +msgstr "Whether the widget should show fallback applications" + +#: ../gtk/gtkappchooserwidget.c:1056 +msgid "Show other apps" +msgstr "Show other apps" + +#: ../gtk/gtkappchooserwidget.c:1057 +msgid "Whether the widget should show other applications" +msgstr "Whether the widget should show other applications" + +#: ../gtk/gtkappchooserwidget.c:1070 +msgid "Show all apps" +msgstr "Show all apps" + +#: ../gtk/gtkappchooserwidget.c:1071 +msgid "Whether the widget should show all applications" +msgstr "Whether the widget should show all applications" + +#: ../gtk/gtkappchooserwidget.c:1084 +msgid "Widget's default text" +msgstr "Widget's default text" + +#: ../gtk/gtkappchooserwidget.c:1085 +msgid "The default text appearing when there are no applications" +msgstr "The default text appearing when there are no applications" + +#: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Arrow direction" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "The direction the arrow should point" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "Arrow shadow" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "Appearance of the shadow surrounding the arrow" -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Arrow Scaling" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "Amount of space used up by arrow" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 msgid "Horizontal Alignment" msgstr "Horizontal Alignment" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "X alignment of the child" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 msgid "Vertical Alignment" msgstr "Vertical Alignment" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "Y alignment of the child" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "Ratio" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "Aspect ratio if obey_child is FALSE" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "Obey child" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "Force aspect ratio to match that of the frame's child" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "Header Padding" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "Number of pixels around the header." -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "Content Padding" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "Number of pixels around the content pages." -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "Page type" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "The type of the assistant page" -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "Page title" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "The title of the assistant page" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "Header image" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "Header image for the assistant page" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "Sidebar image" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "Sidebar image for the assistant page" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "Page complete" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "Whether all required fields on the page have been filled out" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "Minimum child width" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "Minimum width of buttons inside the box" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "Minimum child height" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "Minimum height of buttons inside the box" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "Child internal width padding" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "Amount to increase child's size on either side" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "Child internal height padding" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "Amount to increase child's size on the top and bottom" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "Layout style" -#: gtk/gtkbbox.c:172 -#, fuzzy +#: ../gtk/gtkbbox.c:189 msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" @@ -748,11 +838,11 @@ msgstr "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "Secondary" -#: gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" @@ -760,38 +850,39 @@ msgstr "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:640 ../gtk/gtktreeviewcolumn.c:268 msgid "Spacing" msgstr "Spacing" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "The amount of space between children" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 +#: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homogeneous" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "Whether the children should all be the same size" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Expand" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "Whether the child should receive extra space when the parent grows" -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 msgid "Fill" msgstr "Fill" -#: gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:282 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" @@ -799,19 +890,19 @@ msgstr "" "Whether extra space given to the child should be allocated to the child or " "used as padding" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 msgid "Padding" msgstr "Padding" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:290 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "Extra space to put between the child and its neighbours, in pixels" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:296 msgid "Pack type" msgstr "Pack type" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 +#: ../gtk/gtkbox.c:297 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -819,24 +910,24 @@ msgstr "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Position" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 msgid "The index of the child in the parent" msgstr "The index of the child in the parent" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "Translation Domain" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "The translation domain used by gettext" -#: gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:228 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" @@ -844,13 +935,13 @@ msgstr "" "Text of the label widget inside the button, if the button contains a label " "widget" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 msgid "Use underline" msgstr "Use underline" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -858,69 +949,70 @@ msgstr "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "Use stock" -#: gtk/gtkbutton.c:255 +#: ../gtk/gtkbutton.c:244 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "If set, the label is used to pick a stock item instead of being displayed" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Focus on click" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Whether the button grabs focus when it is clicked with the mouse" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:259 msgid "Border relief" msgstr "Border relief" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:260 msgid "The border relief style" msgstr "The border relief style" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:277 msgid "Horizontal alignment for child" msgstr "Horizontal alignment for child" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:296 msgid "Vertical alignment for child" msgstr "Vertical alignment for child" -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "Image widget" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:314 msgid "Child widget to appear next to the button text" msgstr "Child widget to appear next to the button text" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:328 msgid "Image position" msgstr "Image position" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:329 msgid "The position of the image relative to the text" msgstr "The position of the image relative to the text" -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:449 msgid "Default Spacing" msgstr "Default Spacing" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:450 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Extra space to add for GTK_CAN_DEFAULT buttons" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:464 msgid "Default Outside Spacing" msgstr "Default Outside Spacing" -#: gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:465 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -928,31 +1020,31 @@ msgstr "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:470 msgid "Child X Displacement" msgstr "Child X Displacement" -#: gtk/gtkbutton.c:482 +#: ../gtk/gtkbutton.c:471 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" "How far in the x direction to move the child when the button is depressed" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:478 msgid "Child Y Displacement" msgstr "Child Y Displacement" -#: gtk/gtkbutton.c:490 +#: ../gtk/gtkbutton.c:479 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" "How far in the y direction to move the child when the button is depressed" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:495 msgid "Displace focus" msgstr "Displace focus" -#: gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:496 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -960,51 +1052,43 @@ msgstr "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Inner Border" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:510 msgid "Border between button edges and child." msgstr "Border between button edges and child." -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:523 msgid "Image spacing" msgstr "Image spacing" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:524 msgid "Spacing in pixels between the image and label" msgstr "Spacing in pixels between the image and label" -#: gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "Show button images" - -#: gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "Whether images should be shown on buttons" - -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:482 msgid "Year" msgstr "Year" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:483 msgid "The selected year" msgstr "The selected year" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:496 msgid "Month" msgstr "Month" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:497 msgid "The selected month (as a number between 0 and 11)" msgstr "The selected month (as a number between 0 and 11)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:511 msgid "Day" msgstr "Day" -#: gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:512 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1012,346 +1096,442 @@ msgstr "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:526 msgid "Show Heading" msgstr "Show Heading" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:527 msgid "If TRUE, a heading is displayed" msgstr "If TRUE, a heading is displayed" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:541 msgid "Show Day Names" msgstr "Show Day Names" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, day names are displayed" msgstr "If TRUE, day names are displayed" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:555 msgid "No Month Change" msgstr "No Month Change" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:556 msgid "If TRUE, the selected month cannot be changed" msgstr "If TRUE, the selected month cannot be changed" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:570 msgid "Show Week Numbers" msgstr "Show Week Numbers" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:571 msgid "If TRUE, week numbers are displayed" msgstr "If TRUE, week numbers are displayed" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:586 msgid "Details Width" msgstr "Details Width" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:587 msgid "Details width in characters" msgstr "Details width in characters" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:602 msgid "Details Height" msgstr "Details Height" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:603 msgid "Details height in rows" msgstr "Details height in rows" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:619 msgid "Show Details" msgstr "Show Details" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:620 msgid "If TRUE, details are shown" msgstr "If TRUE, details are shown" -#: gtk/gtkcalendar.c:628 +#: ../gtk/gtkcalendar.c:632 msgid "Inner border" msgstr "Inner border" -#: gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:633 msgid "Inner border space" msgstr "Inner border space" -#: gtk/gtkcalendar.c:640 +#: ../gtk/gtkcalendar.c:644 msgid "Vertical separation" msgstr "Vertical separation" -#: gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:645 msgid "Space between day headers and main area" msgstr "Space between day headers and main area" -#: gtk/gtkcalendar.c:652 +#: ../gtk/gtkcalendar.c:656 msgid "Horizontal separation" msgstr "Horizontal separation" -#: gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:657 msgid "Space between week headers and main area" msgstr "Space between week headers and main area" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "Space which is inserted between cells" + +#: ../gtk/gtkcellareabox.c:339 +msgid "Whether the cell expands" +msgstr "Whether the cell expands" + +#: ../gtk/gtkcellareabox.c:354 +msgid "Align" +msgstr "Align" + +#: ../gtk/gtkcellareabox.c:355 +msgid "Whether cell should align with adjacent rows" +msgstr "Whether cell should align with adjacent rows" + +#: ../gtk/gtkcellareabox.c:371 +msgid "Fixed Size" +msgstr "Fixed Size" + +#: ../gtk/gtkcellareabox.c:372 +msgid "Whether cells should be the same size in all rows" +msgstr "Whether cells should be the same size in all rows" + +#: ../gtk/gtkcellareabox.c:388 +msgid "Pack Type" +msgstr "Pack Type" + +#: ../gtk/gtkcellareabox.c:389 +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "Focus Cell" + +#: ../gtk/gtkcellarea.c:774 +msgid "The cell which currently has focus" +msgstr "The cell which currently has focus" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "Edited Cell" + +#: ../gtk/gtkcellarea.c:793 +msgid "The cell which is currently being edited" +msgstr "The cell which is currently being edited" + +#: ../gtk/gtkcellarea.c:811 +msgid "Edit Widget" +msgstr "Edit Widget" + +#: ../gtk/gtkcellarea.c:812 +msgid "The widget currently editing the edited cell" +msgstr "The widget currently editing the edited cell" + +#: ../gtk/gtkcellareacontext.c:127 +msgid "Area" +msgstr "Area" + +#: ../gtk/gtkcellareacontext.c:128 +msgid "The Cell Area this context was created for" +msgstr "The Cell Area this context was created for" + +#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "Minimum Width" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +msgid "Minimum cached width" +msgstr "Minimum cached width" + +#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 +msgid "Minimum Height" +msgstr "Minimum Height" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +msgid "Minimum cached height" +msgstr "Minimum cached height" + +#: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Editing Cancelled" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:54 msgid "Indicates that editing has been canceled" msgstr "Indicates that editing has been cancelled" -#: gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:137 msgid "Accelerator key" msgstr "Accelerator key" -#: gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "The keyval of the accelerator" msgstr "The keyval of the accelerator" -#: gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:154 msgid "Accelerator modifiers" msgstr "Accelerator modifiers" -#: gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "The modifier mask of the accelerator" msgstr "The modifier mask of the accelerator" -#: gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:172 msgid "Accelerator keycode" msgstr "Accelerator keycode" -#: gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "The hardware keycode of the accelerator" msgstr "The hardware keycode of the accelerator" -#: gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:192 msgid "Accelerator Mode" msgstr "Accelerator Mode" -#: gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "The type of accelerators" msgstr "The type of accelerators" -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:272 msgid "mode" msgstr "mode" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:273 msgid "Editable mode of the CellRenderer" msgstr "Editable mode of the CellRenderer" -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:281 msgid "visible" msgstr "visible" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:282 msgid "Display the cell" msgstr "Display the cell" -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:289 msgid "Display the cell sensitive" msgstr "Display the cell sensitive" -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:296 msgid "xalign" msgstr "xalign" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:297 msgid "The x-align" msgstr "The x-align" -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:306 msgid "yalign" msgstr "yalign" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:307 msgid "The y-align" msgstr "The y-align" -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:316 msgid "xpad" msgstr "xpad" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:317 msgid "The xpad" msgstr "The xpad" -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:326 msgid "ypad" msgstr "ypad" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:327 msgid "The ypad" msgstr "The ypad" -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:336 msgid "width" msgstr "width" -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:337 msgid "The fixed width" msgstr "The fixed width" -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:346 msgid "height" msgstr "height" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:347 msgid "The fixed height" msgstr "The fixed height" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:356 msgid "Is Expander" msgstr "Is Expander" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:357 msgid "Row has children" msgstr "Row has children" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:365 msgid "Is Expanded" msgstr "Is Expanded" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:366 msgid "Row is an expander row, and is expanded" msgstr "Row is an expander row, and is expanded" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color name" msgstr "Cell background colour name" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:374 msgid "Cell background color as a string" msgstr "Cell background colour as a string" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color" msgstr "Cell background colour" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:382 msgid "Cell background color as a GdkColor" msgstr "Cell background colour as a GdkColor" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:395 +msgid "Cell background RGBA color" +msgstr "Cell background RGBA colour" + +#: ../gtk/gtkcellrenderer.c:396 +msgid "Cell background color as a GdkRGBA" +msgstr "Cell background colour as a GdkRGBA" + +#: ../gtk/gtkcellrenderer.c:403 msgid "Editing" msgstr "Editing" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:404 msgid "Whether the cell renderer is currently in editing mode" msgstr "Whether the cell renderer is currently in editing mode" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:412 msgid "Cell background set" msgstr "Cell background set" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:413 msgid "Whether this tag affects the cell background color" msgstr "Whether this tag affects the cell background colour" -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "Model" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "The model containing the possible values for the combo box" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "Text Column" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "A column in the data source model to get the strings from" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 msgid "Has Entry" msgstr "Has Entry" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "If FALSE, don't allow to enter strings other than the chosen ones" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "Pixbuf Object" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "The pixbuf to render" -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "Pixbuf Expander Open" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "Pixbuf for open expander" -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "Pixbuf Expander Closed" -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "Pixbuf for closed expander" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:252 +#: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "Stock ID" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "The stock ID of the stock icon to render" -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "Size" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "The GtkIconSize value that specifies the size of the rendered icon" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "Detail" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "Render detail to pass to the theme engine" -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "Follow State" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Whether the rendered pixbuf should be coloured according to the state" -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:327 +#: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Icon" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "Value of the progress bar" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 msgid "Text" msgstr "Text" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "Text on the progress bar" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137 msgid "Pulse" msgstr "Pulse" -#: gtk/gtkcellrendererprogress.c:169 +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." @@ -1359,11 +1539,11 @@ msgstr "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "Text x alignment" -#: gtk/gtkcellrendererprogress.c:186 +#: ../gtk/gtkcellrendererprogress.c:186 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -1371,230 +1551,251 @@ msgstr "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "Text y alignment" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "The vertical text alignment, from 0 (top) to 1 (bottom)." -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:423 msgid "Inverted" msgstr "Inverted" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 -#, fuzzy +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 msgid "Invert the direction in which the progress bar grows" -msgstr "Orientation and growth direction of the progress bar" +msgstr "Invert the direction in which the progress bar grows" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Adjustment" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 msgid "The adjustment that holds the value of the spin button" msgstr "The adjustment that holds the value of the spin button" -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "Climb rate" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 msgid "The acceleration rate when you hold down a button" msgstr "The acceleration rate when you hold down a button" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:338 msgid "Digits" msgstr "Digits" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 msgid "The number of decimal places to display" msgstr "The number of decimal places to display" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "Active" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:120 msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Whether the spinner is active (ie. shown) in the cell" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:138 msgid "Pulse of the spinner" msgstr "Pulse of the spinner" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:152 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "The GtkIconSize value that specifies the size of the rendered spinner" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Text to render" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Markup" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Marked up text to render" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Attributes" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "A list of style attributes to apply to the text of the renderer" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Single Paragraph Mode" -#: gtk/gtkcellrenderertext.c:256 +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" msgstr "Whether to keep all text in a single paragraph" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:180 msgid "Background color name" msgstr "Background colour name" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:181 msgid "Background color as a string" msgstr "Background colour as a string" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:188 msgid "Background color" msgstr "Background colour" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 msgid "Background color as a GdkColor" msgstr "Background colour as a GdkColor" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:311 +msgid "Background color as RGBA" +msgstr "Background colour as RGBA" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 +msgid "Background color as a GdkRGBA" +msgstr "Background colour as a GdkRGBA" + +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 msgid "Foreground color name" msgstr "Foreground colour name" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 msgid "Foreground color as a string" msgstr "Foreground colour as a string" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Foreground colour" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Foreground colour as a GdkColor" -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:341 +msgid "Foreground color as RGBA" +msgstr "Foreground colour as RGBA" + +#: ../gtk/gtkcellrenderertext.c:342 +msgid "Foreground color as a GdkRGBA" +msgstr "Foreground colour as a GdkRGBA" + +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 msgid "Editable" msgstr "Editable" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 +#: ../gtk/gtktextview.c:686 msgid "Whether the text can be modified by the user" msgstr "Whether the text can be modified by the user" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 msgid "Font" msgstr "Font" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Font description as a string, e.g. \"Sans Italic 12\"" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 msgid "Font description as a PangoFontDescription struct" msgstr "Font description as a PangoFontDescription struct" -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 msgid "Font family" msgstr "Font family" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:269 msgid "Font style" msgstr "Font style" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:278 msgid "Font variant" msgstr "Font variant" -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:287 msgid "Font weight" msgstr "Font weight" -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:298 msgid "Font stretch" msgstr "Font stretch" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:307 msgid "Font size" msgstr "Font size" -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 msgid "Font points" msgstr "Font points" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 msgid "Font size in points" msgstr "Font size in points" -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 msgid "Font scale" msgstr "Font scale" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Font scaling factor" -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 msgid "Rise" msgstr "Rise" -#: gtk/gtkcellrenderertext.c:398 +#: ../gtk/gtkcellrenderertext.c:451 msgid "" "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Offset of text above the baseline (below the baseline if rise is negative)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 msgid "Strikethrough" msgstr "Strikethrough" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 msgid "Whether to strike through the text" msgstr "Whether to strike through the text" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 msgid "Underline" msgstr "Underline" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 msgid "Style of underline for this text" msgstr "Style of underline for this text" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 msgid "Language" msgstr "Language" -#: gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1604,11 +1805,12 @@ msgstr "" "when rendering the text. If you don't understand this parameter, you " "probably don't need it" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:207 msgid "Ellipsize" msgstr "Ellipsis location" -#: gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1616,28 +1818,28 @@ msgstr "" "The preferred place to place an ellipsis in the string, if the cell renderer " "does not have enough room to display the entire string" -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Width In Characters" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "The desired width of the label, in characters" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Maximum Width In Characters" -#: gtk/gtkcellrenderertext.c:493 +#: ../gtk/gtkcellrenderertext.c:546 msgid "The maximum width of the cell, in characters" msgstr "The maximum width of the cell, in characters" -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 msgid "Wrap mode" msgstr "Wrap mode" -#: gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1645,390 +1847,440 @@ msgstr "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 msgid "Wrap width" msgstr "Wrap width" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "The width at which the text is wrapped" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 msgid "Alignment" msgstr "Alignment" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "How to align the lines" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:542 msgid "Background set" msgstr "Background set" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:543 msgid "Whether this tag affects the background color" msgstr "Whether this tag affects the background colour" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 msgid "Foreground set" msgstr "Foreground set" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 msgid "Whether this tag affects the foreground color" msgstr "Whether this tag affects the foreground colour" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 msgid "Editability set" msgstr "Editability set" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 msgid "Whether this tag affects text editability" msgstr "Whether this tag affects text editability" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 msgid "Font family set" msgstr "Font family set" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the font family" msgstr "Whether this tag affects the font family" -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 msgid "Font style set" msgstr "Font style set" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 msgid "Whether this tag affects the font style" msgstr "Whether this tag affects the font style" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 msgid "Font variant set" msgstr "Font variant set" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the font variant" msgstr "Whether this tag affects the font variant" -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 msgid "Font weight set" msgstr "Font weight set" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects the font weight" msgstr "Whether this tag affects the font weight" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 msgid "Font stretch set" msgstr "Font stretch set" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font stretch" msgstr "Whether this tag affects the font stretch" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 msgid "Font size set" msgstr "Font size set" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font size" msgstr "Whether this tag affects the font size" -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 msgid "Font scale set" msgstr "Font scale set" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 msgid "Whether this tag scales the font size by a factor" msgstr "Whether this tag scales the font size by a factor" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 msgid "Rise set" msgstr "Rise set" -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 msgid "Whether this tag affects the rise" msgstr "Whether this tag affects the rise" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 msgid "Strikethrough set" msgstr "Strikethrough set" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects strikethrough" msgstr "Whether this tag affects strikethrough" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 msgid "Underline set" msgstr "Underline set" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects underlining" msgstr "Whether this tag affects underlining" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 msgid "Language set" msgstr "Language set" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the language the text is rendered as" msgstr "Whether this tag affects the language the text is rendered as" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Ellipsis placement set" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" msgstr "Whether this tag affects the placement of the ellipsis" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Align set" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Whether this tag affects the alignment mode" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "Toggle state" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "The toggle state of the button" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "Inconsistent state" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "The inconsistent state of the button" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "Activatable" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "The toggle button can be activated" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "Radio state" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "Draw the toggle button as a radio button" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "Indicator size" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "Size of check or radio indicator" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:210 +msgid "Background RGBA color" +msgstr "Background RGBA colour" + +#: ../gtk/gtkcellview.c:225 msgid "CellView model" msgstr "CellView model" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:226 msgid "The model for cell view" msgstr "The model for cell view" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtkiconview.c:762 +#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "Cell Area" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 +#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "The GtkCellArea used to layout cells" + +#: ../gtk/gtkcellview.c:265 +msgid "Cell Area Context" +msgstr "Cell Area Context" + +#: ../gtk/gtkcellview.c:266 +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "The GtkCellAreaContext used to compute the geometry of the cell view" + +#: ../gtk/gtkcellview.c:283 +msgid "Draw Sensitive" +msgstr "Draw Sensitive" + +#: ../gtk/gtkcellview.c:284 +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "Whether to force cells to be drawn in a sensitive state" + +#: ../gtk/gtkcellview.c:302 +msgid "Fit Model" +msgstr "Fit Model" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "Whether to request enough space for every row in the model" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "Indicator Size" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 msgid "Indicator Spacing" msgstr "Indicator Spacing" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:86 msgid "Spacing around check or radio indicator" msgstr "Spacing around check or radio indicator" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "Whether the menu item is checked" -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inconsistent" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "Whether to display an \"inconsistent\" state" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "Draw as radio menu item" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "Whether the menu item looks like a radio menu item" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:170 msgid "Use alpha" msgstr "Use alpha" -#: gtk/gtkcolorbutton.c:160 +#: ../gtk/gtkcolorbutton.c:171 msgid "Whether to give the color an alpha value" msgstr "Whether to give the colour an alpha value" -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Title" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:186 msgid "The title of the color selection dialog" msgstr "The title of the colour selection dialogue" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Current Colour" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:201 msgid "The selected color" msgstr "The selected colour" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Current Alpha" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:216 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "The selected opacity value (0 fully transparent, 65535 fully opaque)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:230 +msgid "Current RGBA Color" +msgstr "Current RGBA Colour" + +#: ../gtk/gtkcolorbutton.c:231 +msgid "The selected RGBA color" +msgstr "The selected RGBA colour" + +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Has Opacity Control" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "Whether the colour selector should allow setting opacity" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Has palette" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Whether a palette should be used" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "The current colour" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "The current opacity value (0 fully transparent, 65535 fully opaque)" -#: gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "Custom palette" +#: ../gtk/gtkcolorsel.c:360 +msgid "Current RGBA" +msgstr "Current RGBA" -#: gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "Palette to use in the colour selector" +#: ../gtk/gtkcolorsel.c:361 +msgid "The current RGBA color" +msgstr "The current RGBA colour" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "Colour Selection" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "The colour selection embedded in the dialogue." -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "OK Button" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "The OK button of the dialogue." -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "Cancel Button" -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "The cancel button of the dialogue." -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "Help Button" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "The help button of the dialogue." -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombobox.c:663 msgid "ComboBox model" msgstr "ComboBox model" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:664 msgid "The model for the combo box" msgstr "The model for the combo box" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:681 msgid "Wrap width for laying out the items in a grid" msgstr "Wrap width for laying out the items in a grid" -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 msgid "Row span column" msgstr "Row span column" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 msgid "TreeModel column containing the row span values" msgstr "TreeModel column containing the row span values" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 msgid "Column span column" msgstr "Column span column" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 msgid "TreeModel column containing the column span values" msgstr "TreeModel column containing the column span values" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:747 msgid "Active item" msgstr "Active item" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:748 msgid "The item which is currently active" msgstr "The item which is currently active" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Add tearoffs to menus" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:768 msgid "Whether dropdowns should have a tearoff menu item" msgstr "Whether dropdowns should have a tearoff menu item" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Has Frame" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:784 msgid "Whether the combo box draws a frame around the child" msgstr "Whether the combo box draws a frame around the child" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:792 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Whether the combo box grabs focus when it is clicked with the mouse" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 msgid "Tearoff Title" msgstr "Tearoff Title" -#: gtk/gtkcombobox.c:828 +#: ../gtk/gtkcombobox.c:808 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" @@ -2036,147 +2288,195 @@ msgstr "" "A title that may be displayed by the window manager when the popup is torn-" "off" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:825 msgid "Popup shown" msgstr "Popup shown" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:826 msgid "Whether the combo's dropdown is shown" msgstr "Whether the combo's dropdown is shown" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:842 msgid "Button Sensitivity" msgstr "Button Sensitivity" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:843 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Whether the dropdown button is sensitive when the model is empty" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:859 +msgid "Whether combo box has an entry" +msgstr "Whether combo box has an entry" + +#: ../gtk/gtkcombobox.c:874 +msgid "Entry Text Column" +msgstr "Entry Text Column" + +#: ../gtk/gtkcombobox.c:875 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" + +#: ../gtk/gtkcombobox.c:892 +msgid "ID Column" +msgstr "ID Column" + +#: ../gtk/gtkcombobox.c:893 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" + +#: ../gtk/gtkcombobox.c:908 +msgid "Active id" +msgstr "Active id" + +#: ../gtk/gtkcombobox.c:909 +msgid "The value of the id column for the active row" +msgstr "The value of the id column for the active row" + +#: ../gtk/gtkcombobox.c:924 +msgid "Popup Fixed Width" +msgstr "Popup Fixed Width" + +#: ../gtk/gtkcombobox.c:925 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" + +#: ../gtk/gtkcombobox.c:948 msgid "Appears as list" msgstr "Appears as list" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:949 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Whether dropdowns should look like lists rather than menus" -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:965 msgid "Arrow Size" msgstr "Arrow Size" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:966 msgid "The minimum size of the arrow in the combo box" msgstr "The minimum size of the arrow in the combo box" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkviewport.c:154 msgid "Shadow type" msgstr "Shadow type" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:982 msgid "Which kind of shadow to draw around the combo box" msgstr "Which kind of shadow to draw around the combo box" -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:453 msgid "Resize mode" msgstr "Resize mode" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:454 msgid "Specify how resize events are handled" msgstr "Specify how resize events are handled" -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:461 msgid "Border width" msgstr "Border width" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:462 msgid "The width of the empty border outside the containers children" msgstr "The width of the empty border outside the containers children" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:470 msgid "Child" msgstr "Child" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:471 msgid "Can be used to add a new child to the container" msgstr "Can be used to add a new child to the container" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Content area border" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:290 msgid "Width of border around the main dialog area" msgstr "Width of border around the main dialogue area" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Content area spacing" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:308 msgid "Spacing between elements of the main dialog area" msgstr "Spacing between elements of the main dialogue area" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Button spacing" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Spacing between buttons" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Action area border" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:325 msgid "Width of border around the button area at the bottom of the dialog" msgstr "Width of border around the button area at the bottom of the dialogue" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Text Buffer" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "Text buffer object which actually stores entry text" -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Cursor Position" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "The current position of the insertion cursor in chars" -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Selection Bound" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" "The position of the opposite end of the selection from the cursor in chars" -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Whether the entry contents can be edited" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Maximum length" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" msgstr "Maximum number of characters for this entry. Zero if no maximum" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Visibility" -#: gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2184,30 +2484,30 @@ msgstr "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "FALSE removes outside bevel from entry" -#: gtk/gtkentry.c:697 +#: ../gtk/gtkentry.c:788 msgid "" "Border between text and frame. Overrides the inner-border style property" msgstr "" "Border between text and frame. Overrides the inner-border style property" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Invisible character" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "The character to use when masking entry contents (in \"password mode\")" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Activates default" -#: gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2215,31 +2515,31 @@ msgstr "" "Whether to activate the default widget (such as the default button in a " "dialogue) when Enter is pressed" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Width in chars" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Number of characters to leave space for in the entry" -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Scroll offset" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "Number of pixels of the entry scrolled off the screen to the left" -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "The contents of the entry" -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X align" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2247,63 +2547,63 @@ msgstr "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Truncate multiline" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Whether to truncate multiline pastes to one line." -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "Which kind of shadow to draw around the entry when has-frame is set" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 msgid "Overwrite mode" msgstr "Overwrite mode" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" msgstr "Whether new text overwrites existing text" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Text length" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "Length of the text currently in the entry" -#: gtk/gtkentry.c:835 +#: ../gtk/gtkentry.c:926 msgid "Invisible character set" msgstr "Invisible character set" -#: gtk/gtkentry.c:836 +#: ../gtk/gtkentry.c:927 msgid "Whether the invisible character has been set" msgstr "Whether the invisible character has been set" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Caps Lock warning" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "Whether password entries will show a warning when Caps Lock is on" -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Progress Fraction" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "The current fraction of the task that's been completed" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "Progress Pulse Step" -#: gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:979 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2311,263 +2611,247 @@ msgstr "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Primary pixbuf" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "Primary pixbuf for the entry" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Secondary pixbuf" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "Secondary pixbuf for the entry" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "Primary stock ID" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "Stock ID for primary icon" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "Secondary stock ID" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "Stock ID for secondary icon" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Primary icon name" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "Icon name for primary icon" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Secondary icon name" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "Icon name for secondary icon" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "Primary GIcon" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "GIcon for primary icon" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "Secondary GIcon" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "GIcon for secondary icon" -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Primary storage type" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "The representation being used for primary icon" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Secondary storage type" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "The representation being used for secondary icon" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Primary icon activatable" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Whether the primary icon is activatable" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Secondary icon activatable" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Whether the secondary icon is activatable" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Primary icon sensitive" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Whether the primary icon is sensitive" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Secondary icon sensitive" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Whether the secondary icon is sensitive" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Primary icon tooltip text" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "The contents of the tooltip on the primary icon" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Secondary icon tooltip text" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "The contents of the tooltip on the secondary icon" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "Primary icon tooltip markup" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "Secondary icon tooltip markup" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 msgid "IM module" msgstr "IM module" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 msgid "Which IM module should be used" msgstr "Which IM module should be used" -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "Icon Prelight" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" msgstr "Whether activatable icons should prelight when hovered" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Progress Border" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "Border around the progress bar" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Border between text and frame." -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "Select on focus" - -#: gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "Whether to select the contents of an entry when it is focused" - -#: gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "Password Hint Timeout" - -#: gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "How long to show the last input character in hidden entries" - -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "The contents of the buffer" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "Length of the text currently in the buffer" -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:301 msgid "Completion Model" msgstr "Completion Model" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:302 msgid "The model to find matches in" msgstr "The model to find matches in" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:308 msgid "Minimum Key Length" msgstr "Minimum Key Length" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:309 msgid "Minimum length of the search key in order to look up matches" msgstr "Minimum length of the search key in order to look up matches" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:561 msgid "Text column" msgstr "Text column" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:326 msgid "The column of the model containing the strings." msgstr "The column of the model containing the strings." -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:345 msgid "Inline completion" msgstr "Inline completion" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:346 msgid "Whether the common prefix should be inserted automatically" msgstr "Whether the common prefix should be inserted automatically" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:360 msgid "Popup completion" msgstr "Popup completion" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:361 msgid "Whether the completions should be shown in a popup window" msgstr "Whether the completions should be shown in a popup window" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:376 msgid "Popup set width" msgstr "Popup set width" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:377 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "If TRUE, the popup window will have the same size as the entry" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:395 msgid "Popup single match" msgstr "Popup single match" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:396 msgid "If TRUE, the popup window will appear for a single match." msgstr "If TRUE, the popup window will appear for a single match." -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:410 msgid "Inline selection" msgstr "Inline selection" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:411 msgid "Your description here" msgstr "Your description here" -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkeventbox.c:109 msgid "Visible Window" msgstr "Visible Window" -#: gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:110 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2575,11 +2859,11 @@ msgstr "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:116 msgid "Above child" msgstr "Above child" -#: gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:117 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2587,154 +2871,156 @@ msgstr "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:279 msgid "Expanded" msgstr "Expanded" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:280 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Whether the expander has been opened to reveal the child widget" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:288 msgid "Text of the expander's label" msgstr "Text of the expander's label" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Use markup" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "The text of the label includes XML markup. See pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:312 msgid "Space to put between the label and the child" msgstr "Space to put between the label and the child" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Label widget" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:322 msgid "A widget to display in place of the usual expander label" msgstr "A widget to display in place of the usual expander label" -#: gtk/gtkexpander.c:251 +#: ../gtk/gtkexpander.c:329 msgid "Label fill" msgstr "Label fill" -#: gtk/gtkexpander.c:252 +#: ../gtk/gtkexpander.c:330 msgid "Whether the label widget should fill all available horizontal space" msgstr "Whether the label widget should fill all available horizontal space" -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Expander Size" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Size of the expander arrow" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:346 msgid "Spacing around expander arrow" msgstr "Spacing around expander arrow" -#: gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "Dialogue" -#: gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "The file chooser dialogue to use." -#: gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." msgstr "The title of the file chooser dialogue." -#: gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "The desired width of the button widget, in characters." -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:740 msgid "Action" msgstr "Action" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "The type of operation that the file selector is performing" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "Filter" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "The current filter for selecting which files are displayed" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "Local Only" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "Whether the selected file(s) should be limited to local file: URLs" -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "Preview widget" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." msgstr "Application supplied widget for custom previews." -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "Preview Widget Active" -#: gtk/gtkfilechooser.c:766 +#: ../gtk/gtkfilechooser.c:766 msgid "" "Whether the application supplied widget for custom previews should be shown." msgstr "" "Whether the application supplied widget for custom previews should be shown." -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "Use Preview Label" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." msgstr "Whether to display a stock label with the name of the previewed file." -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "Extra widget" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "Application supplied widget for extra options." -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "Select Multiple" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "Whether to allow multiple files to be selected" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "Show Hidden" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "Whether the hidden files and folders should be displayed" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "Do overwrite confirmation" -#: gtk/gtkfilechooser.c:807 +#: ../gtk/gtkfilechooser.c:807 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." @@ -2742,11 +3028,11 @@ msgstr "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialogue if necessary." -#: gtk/gtkfilechooser.c:823 +#: ../gtk/gtkfilechooser.c:823 msgid "Allow folder creation" msgstr "Allow folder creation" -#: gtk/gtkfilechooser.c:824 +#: ../gtk/gtkfilechooser.c:824 msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." @@ -2754,131 +3040,195 @@ msgstr "" "Whether a file chooser not in open mode will offer the user to create new " "folders." -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 msgid "X position" msgstr "X position" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 msgid "X position of child widget" msgstr "X position of child widget" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 msgid "Y position" msgstr "Y position" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 msgid "Y position of child widget" msgstr "Y position of child widget" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "The title of the font selection dialogue" -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:220 msgid "Font name" msgstr "Font name" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "The name of the selected font" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "Use font in label" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" msgstr "Whether the label is drawn in the selected font" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "Use size in label" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "Whether the label is drawn with the selected font size" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "Show style" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "Whether the selected font style is shown in the label" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "Show size" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "Whether selected font size is shown in the label" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:221 msgid "The string that represents this font" msgstr "The string that represents this font" -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:227 msgid "Preview text" msgstr "Preview text" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:228 msgid "The text to display in order to demonstrate the selected font" msgstr "The text to display in order to demonstrate the selected font" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:132 msgid "Text of the frame's label" msgstr "Text of the frame's label" -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:139 msgid "Label xalign" msgstr "Label xalign" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:140 msgid "The horizontal alignment of the label" msgstr "The horizontal alignment of the label" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:148 msgid "Label yalign" msgstr "Label yalign" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:149 msgid "The vertical alignment of the label" msgstr "The vertical alignment of the label" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:157 msgid "Frame shadow" msgstr "Frame shadow" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:158 msgid "Appearance of the frame border" msgstr "Appearance of the frame border" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:167 msgid "A widget to display in place of the usual frame label" msgstr "A widget to display in place of the usual frame label" -#: gtk/gtkhandlebox.c:183 +#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "Row spacing" + +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "The amount of space between two consecutive rows" + +#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "Column spacing" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "The amount of space between two consecutive columns" + +#: ../gtk/gtkgrid.c:1282 +msgid "Row Homogeneous" +msgstr "Row Homogeneous" + +#: ../gtk/gtkgrid.c:1283 +msgid "If TRUE, the rows are all the same height" +msgstr "If TRUE, the rows are all the same height" + +#: ../gtk/gtkgrid.c:1289 +msgid "Column Homogeneous" +msgstr "Column Homogeneous" + +#: ../gtk/gtkgrid.c:1290 +msgid "If TRUE, the columns are all the same width" +msgstr "If TRUE, the columns are all the same width" + +#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "Left attachment" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "The column number to attach the left side of the child to" + +#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "Top attachment" + +#: ../gtk/gtkgrid.c:1304 +msgid "The row number to attach the top side of a child widget to" +msgstr "The row number to attach the top side of a child widget to" + +#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "Width" + +#: ../gtk/gtkgrid.c:1311 +msgid "The number of columns that a child spans" +msgstr "The number of columns that a child spans" + +#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:668 +msgid "Height" +msgstr "Height" + +#: ../gtk/gtkgrid.c:1318 +msgid "The number of rows that a child spans" +msgstr "The number of rows that a child spans" + +#: ../gtk/gtkhandlebox.c:191 msgid "Appearance of the shadow that surrounds the container" msgstr "Appearance of the shadow that surrounds the container" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:199 msgid "Handle position" msgstr "Handle position" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:200 msgid "Position of the handle relative to the child widget" msgstr "Position of the handle relative to the child widget" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:208 msgid "Snap edge" msgstr "Snap edge" -#: gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:209 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -2886,11 +3236,11 @@ msgstr "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:217 msgid "Snap edge set" msgstr "Snap edge set" -#: gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:218 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -2898,11 +3248,11 @@ msgstr "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:225 msgid "Child Detached" msgstr "Child Detached" -#: gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:226 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -2910,264 +3260,258 @@ msgstr "" "A boolean value indicating whether the handlebox's child is attached or " "detached." -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:524 msgid "Selection mode" msgstr "Selection mode" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:525 msgid "The selection mode" msgstr "The selection mode" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:543 msgid "Pixbuf column" msgstr "Pixbuf column" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:544 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Model column used to retrieve the icon pixbuf from" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:562 msgid "Model column used to retrieve the text from" msgstr "Model column used to retrieve the text from" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:581 msgid "Markup column" msgstr "Markup column" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:582 msgid "Model column used to retrieve the text if using Pango markup" msgstr "Model column used to retrieve the text if using Pango markup" -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:589 msgid "Icon View Model" msgstr "Icon View Model" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:590 msgid "The model for the icon view" msgstr "The model for the icon view" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:606 msgid "Number of columns" msgstr "Number of columns" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:607 msgid "Number of columns to display" msgstr "Number of columns to display" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:624 msgid "Width for each item" msgstr "Width for each item" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:625 msgid "The width used for each item" msgstr "The width used for each item" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:641 msgid "Space which is inserted between cells of an item" msgstr "Space which is inserted between cells of an item" -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:656 msgid "Row Spacing" msgstr "Row Spacing" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:657 msgid "Space which is inserted between grid rows" msgstr "Space which is inserted between grid rows" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:672 msgid "Column Spacing" msgstr "Column Spacing" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:673 msgid "Space which is inserted between grid columns" msgstr "Space which is inserted between grid columns" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:688 msgid "Margin" msgstr "Margin" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:689 msgid "Space which is inserted at the edges of the icon view" msgstr "Space which is inserted at the edges of the icon view" -#: gtk/gtkiconview.c:730 -#, fuzzy +#: ../gtk/gtkiconview.c:704 msgid "Item Orientation" -msgstr "Orientation" +msgstr "Item Orientation" -#: gtk/gtkiconview.c:731 +#: ../gtk/gtkiconview.c:705 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" "How the text and icon of each item are positioned relative to each other" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:721 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Reorderable" msgstr "Reorderable" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:722 ../gtk/gtktreeview.c:1027 msgid "View is reorderable" msgstr "View is reorderable" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:729 ../gtk/gtktreeview.c:1177 msgid "Tooltip Column" msgstr "Tooltip Column" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:730 msgid "The column in the model containing the tooltip texts for the items" msgstr "The column in the model containing the tooltip texts for the items" -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:747 msgid "Item Padding" msgstr "Item Padding" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:748 msgid "Padding around icon view items" msgstr "Padding around icon view items" -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:776 msgid "Selection Box Color" msgstr "Selection Box Colour" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:777 msgid "Color of the selection box" msgstr "Colour of the selection box" -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:783 msgid "Selection Box Alpha" msgstr "Selection Box Alpha" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:784 msgid "Opacity of the selection box" msgstr "Opacity of the selection box" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "A GdkPixbuf to display" -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Filename" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Filename to load and display" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "Stock ID for a stock image to display" -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:260 msgid "Icon set" msgstr "Icon set" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:261 msgid "Icon set to display" msgstr "Icon set to display" -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1031 msgid "Icon size" msgstr "Icon size" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:269 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "Symbolic size to use for stock icon, icon set or named icon" -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:285 msgid "Pixel size" msgstr "Pixel size" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:286 msgid "Pixel size to use for named icon" msgstr "Pixel size to use for named icon" -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:294 msgid "Animation" msgstr "Animation" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:295 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation to display" -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Storage type" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "The representation being used for image data" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Child widget to appear next to the menu text" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" msgstr "Whether to use the label text to create a stock menu item" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 msgid "Accel Group" msgstr "Accel Group" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "The Accel Group to use for stock accelerator keys" -#: gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "Show menu images" - -#: gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "Whether images should be shown in menus" - -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 msgid "Message Type" msgstr "Message Type" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 msgid "The type of message" msgstr "The type of message" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Width of border around the content area" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "Spacing between elements of the area" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Width of border around the action area" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:540 +#: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "Screen" -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 msgid "The screen where this window will be displayed" msgstr "The screen where this window will be displayed" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "The text of the label" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "A list of style attributes to apply to the text of the label" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 msgid "Justification" msgstr "Justification" -#: gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3177,11 +3521,11 @@ msgstr "" "This does NOT affect the alignment of the label within its allocation. See " "GtkMisc::xalign for that" -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Pattern" -#: gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3189,47 +3533,47 @@ msgstr "" "A string with _ characters in positions correspond to characters in the text " "to underline" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Line wrap" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "If set, wrap lines if the text becomes too wide" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Line wrap mode" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "If wrap is set, controls how linewrapping is done" -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Selectable" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Whether the label text can be selected with the mouse" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Mnemonic key" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "The mnemonic accelerator key for this label" -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Mnemonic widget" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "The widget to be activated when the label's mnemonic key is pressed" -#: gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3237,149 +3581,112 @@ msgstr "" "The preferred place to place an ellipsis in the string, if the label does " "not have enough room to display the entire string" -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Single Line Mode" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Whether the label is in single line mode" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Angle" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Angle at which the label is rotated" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "The desired maximum width of the label, in characters" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Track visited links" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Whether visited links should be tracked" -#: gtk/gtklabel.c:904 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "" -"Whether to select the contents of a selectable label when it is focused" - -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "Horizontal adjustment" - -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "The GtkAdjustment for the horizontal position" - -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "Vertical adjustment" - -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "The GtkAdjustment for the vertical position" - -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 -msgid "Width" -msgstr "Width" - -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:660 msgid "The width of the layout" msgstr "The width of the layout" -#: gtk/gtklayout.c:650 -msgid "Height" -msgstr "Height" - -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "The height of the layout" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:173 msgid "URI" msgstr "URI" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:174 msgid "The URI bound to this button" msgstr "The URI bound to this button" -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:188 msgid "Visited" msgstr "Visited" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:189 msgid "Whether this link has been visited." msgstr "Whether this link has been visited." -#: gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:170 msgid "Pack direction" msgstr "Pack direction" -#: gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:171 msgid "The pack direction of the menubar" msgstr "The pack direction of the menubar" -#: gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:187 msgid "Child Pack direction" msgstr "Child Pack direction" -#: gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:188 msgid "The child pack direction of the menubar" msgstr "The child pack direction of the menubar" -#: gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:197 msgid "Style of bevel around the menubar" msgstr "Style of bevel around the menubar" -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Internal padding" -#: gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:205 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Amount of border space between the menubar shadow and the menu items" -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "Delay before drop down menus appear" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "Delay before the submenus of a menu bar appear" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:517 msgid "The currently selected menu item" msgstr "The currently selected menu item" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:532 msgid "The accel group holding accelerators for the menu" msgstr "The accel group holding accelerators for the menu" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Accel Path" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:547 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "An accel path used to conveniently construct accel paths of child items" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:563 msgid "Attach Widget" msgstr "Attach Widget" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:564 msgid "The widget the menu is attached to" msgstr "The widget the menu is attached to" -#: gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:572 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3387,35 +3694,35 @@ msgstr "" "A title that may be displayed by the window manager when this menu is torn-" "off" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:586 msgid "Tearoff State" msgstr "Tearoff State" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:587 msgid "A boolean that indicates whether the menu is torn-off" msgstr "A boolean that indicates whether the menu is torn-off" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:601 msgid "Monitor" msgstr "Monitor" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:602 msgid "The monitor the menu will be popped up on" msgstr "The monitor the menu will be popped up on" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:608 msgid "Vertical Padding" msgstr "Vertical Padding" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:609 msgid "Extra space at the top and bottom of the menu" msgstr "Extra space at the top and bottom of the menu" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:631 msgid "Reserve Toggle Size" msgstr "Reserve Toggle Size" -#: gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:632 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" @@ -3423,19 +3730,19 @@ msgstr "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:638 msgid "Horizontal Padding" msgstr "Horizontal Padding" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:639 msgid "Extra space at the left and right edges of the menu" msgstr "Extra space at the left and right edges of the menu" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:647 msgid "Vertical Offset" msgstr "Vertical Offset" -#: gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3443,11 +3750,11 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "vertically" -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:656 msgid "Horizontal Offset" msgstr "Horizontal Offset" -#: gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3455,298 +3762,262 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:665 msgid "Double Arrows" msgstr "Double Arrows" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:666 msgid "When scrolling, always show both arrows." msgstr "When scrolling, always show both arrows." -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:679 msgid "Arrow Placement" msgstr "Arrow Placement" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:680 msgid "Indicates where scroll arrows should be placed" msgstr "Indicates where scroll arrows should be placed" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:688 msgid "Left Attach" msgstr "Left Attach" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 -msgid "The column number to attach the left side of the child to" -msgstr "The column number to attach the left side of the child to" - -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:696 msgid "Right Attach" msgstr "Right Attach" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:697 msgid "The column number to attach the right side of the child to" msgstr "The column number to attach the right side of the child to" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:704 msgid "Top Attach" msgstr "Top Attach" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:705 msgid "The row number to attach the top of the child to" msgstr "The row number to attach the top of the child to" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:712 msgid "Bottom Attach" msgstr "Bottom Attach" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "The row number to attach the bottom of the child to" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:727 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "Arbitrary constant to scale down the size of the scroll arrow" -#: gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "Can change accelerators" - -#: gtk/gtkmenu.c:824 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "" -"Whether menu accelerators can be changed by pressing a key over the menu item" - -#: gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "Delay before submenus appear" - -#: gtk/gtkmenu.c:830 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "" -"Minimum time the pointer must stay over a menu item before the submenu appear" - -#: gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "Delay before hiding a submenu" - -#: gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" - -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "Right Justified" -#: gtk/gtkmenuitem.c:286 +#: ../gtk/gtkmenuitem.c:282 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" "Sets whether the menu item appears justified at the right side of a menu bar" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "Submenu" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "The submenu attached to the menu item, or NULL if it has none" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "Sets the accelerator path of the menu item" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "The text for the child label" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "Amount of space used up by arrow, relative to the menu item's font size" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "Width in Characters" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "The minimum desired width of the menu item in characters" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:363 msgid "Take Focus" msgstr "Take Focus" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:364 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "A boolean that determines whether the menu grabs the keyboard focus" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:246 msgid "Menu" msgstr "Menu" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:247 msgid "The dropdown menu" msgstr "The dropdown menu" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:185 msgid "Image/label border" msgstr "Image/label border" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:186 msgid "Width of border around the label and image in the message dialog" msgstr "Width of border around the label and image in the message dialogue" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:210 msgid "Message Buttons" msgstr "Message Buttons" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:211 msgid "The buttons shown in the message dialog" msgstr "The buttons shown in the message dialogue" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:228 msgid "The primary text of the message dialog" msgstr "The primary text of the message dialogue" -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:243 msgid "Use Markup" msgstr "Use Markup" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the title includes Pango markup." msgstr "The primary text of the title includes Pango markup." -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:258 msgid "Secondary Text" msgstr "Secondary Text" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:259 msgid "The secondary text of the message dialog" msgstr "The secondary text of the message dialogue" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:274 msgid "Use Markup in secondary" msgstr "Use Markup in secondary" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text includes Pango markup." msgstr "The secondary text includes Pango markup." -#: gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:289 msgid "Image" msgstr "Image" -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:290 msgid "The image" msgstr "The image" -#: gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:306 msgid "Message area" msgstr "Message area" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:307 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "GtkVBox that holds the dialogue's primary and secondary labels" -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:91 msgid "Y align" msgstr "Y align" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "The vertical alignment, from 0 (top) to 1 (bottom)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:101 msgid "X pad" msgstr "X pad" -#: gtk/gtkmisc.c:102 +#: ../gtk/gtkmisc.c:102 msgid "" "The amount of space to add on the left and right of the widget, in pixels" msgstr "" "The amount of space to add on the left and right of the widget, in pixels" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:111 msgid "Y pad" msgstr "Y pad" -#: gtk/gtkmisc.c:112 +#: ../gtk/gtkmisc.c:112 msgid "" "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "" "The amount of space to add on the top and bottom of the widget, in pixels" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "Parent" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "The parent window" -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:167 msgid "Is Showing" msgstr "Is Showing" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "Are we showing a dialogue" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:176 msgid "The screen where this window will be displayed." msgstr "The screen where this window will be displayed." -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:685 msgid "Page" msgstr "Page" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:686 msgid "The index of the current page" msgstr "The index of the current page" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:694 msgid "Tab Position" msgstr "Tab Position" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:695 msgid "Which side of the notebook holds the tabs" msgstr "Which side of the notebook holds the tabs" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:702 msgid "Show Tabs" msgstr "Show Tabs" -#: gtk/gtknotebook.c:613 +#: ../gtk/gtknotebook.c:703 msgid "Whether tabs should be shown" msgstr "Whether tabs should be shown" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:709 msgid "Show Border" msgstr "Show Border" -#: gtk/gtknotebook.c:620 +#: ../gtk/gtknotebook.c:710 msgid "Whether the border should be shown" msgstr "Whether the border should be shown" -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:716 msgid "Scrollable" msgstr "Scrollable" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:717 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "If TRUE, scroll arrows are added if there are too many tabs to fit" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:723 msgid "Enable Popup" msgstr "Enable Popup" -#: gtk/gtknotebook.c:634 +#: ../gtk/gtknotebook.c:724 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3754,323 +4025,319 @@ msgstr "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" -#: gtk/gtknotebook.c:648 -#, fuzzy +#: ../gtk/gtknotebook.c:738 msgid "Group Name" -msgstr "Group ID" +msgstr "Group Name" -#: gtk/gtknotebook.c:649 -#, fuzzy +#: ../gtk/gtknotebook.c:739 msgid "Group name for tab drag and drop" -msgstr "Group for tabs drag and drop" +msgstr "Group name for tab drag and drop" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:746 msgid "Tab label" msgstr "Tab label" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:747 msgid "The string displayed on the child's tab label" msgstr "The string displayed on the child's tab label" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:753 msgid "Menu label" msgstr "Menu label" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed in the child's menu entry" msgstr "The string displayed in the child's menu entry" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:767 msgid "Tab expand" msgstr "Tab expand" -#: gtk/gtknotebook.c:678 +#: ../gtk/gtknotebook.c:768 msgid "Whether to expand the child's tab" msgstr "Whether to expand the child's tab" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:774 msgid "Tab fill" msgstr "Tab fill" -#: gtk/gtknotebook.c:685 +#: ../gtk/gtknotebook.c:775 msgid "Whether the child's tab should fill the allocated area" msgstr "Whether the child's tab should fill the allocated area" -#: gtk/gtknotebook.c:691 -msgid "Tab pack type" -msgstr "Tab pack type" - -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:782 msgid "Tab reorderable" msgstr "Tab reorderable" -#: gtk/gtknotebook.c:699 +#: ../gtk/gtknotebook.c:783 msgid "Whether the tab is reorderable by user action" msgstr "Whether the tab is reorderable by user action" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:789 msgid "Tab detachable" msgstr "Tab detachable" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:790 msgid "Whether the tab is detachable" msgstr "Whether the tab is detachable" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Secondary backward stepper" -#: gtk/gtknotebook.c:722 +#: ../gtk/gtknotebook.c:806 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Display a second backward arrow button on the opposite end of the tab area" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Secondary forward stepper" -#: gtk/gtknotebook.c:738 +#: ../gtk/gtknotebook.c:822 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Display a second forward arrow button on the opposite end of the tab area" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Backward stepper" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Display the standard backward arrow button" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Forward stepper" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Display the standard forward arrow button" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:866 msgid "Tab overlap" msgstr "Tab overlap" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:867 msgid "Size of tab overlap area" msgstr "Size of tab overlap area" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:882 msgid "Tab curvature" msgstr "Tab curvature" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:883 msgid "Size of tab curvature" msgstr "Size of tab curvature" -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:899 msgid "Arrow spacing" msgstr "Arrow spacing" -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:900 msgid "Scroll arrow spacing" msgstr "Scroll arrow spacing" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" msgstr "Orientation" -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:64 msgid "The orientation of the orientable" msgstr "The orientation of the orientable" -#: gtk/gtkpaned.c:271 +#: ../gtk/gtkpaned.c:327 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" "Position of paned separator in pixels (0 means all the way to the left/top)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:336 msgid "Position Set" msgstr "Position Set" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:337 msgid "TRUE if the Position property should be used" msgstr "TRUE if the Position property should be used" -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:343 msgid "Handle Size" msgstr "Handle Size" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:344 msgid "Width of handle" msgstr "Width of handle" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:360 msgid "Minimal Position" msgstr "Minimal Position" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:361 msgid "Smallest possible value for the \"position\" property" msgstr "Smallest possible value for the \"position\" property" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:378 msgid "Maximal Position" msgstr "Maximal Position" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:379 msgid "Largest possible value for the \"position\" property" msgstr "Largest possible value for the \"position\" property" -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:396 msgid "Resize" msgstr "Resize" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:397 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "If TRUE, the child expands and shrinks along with the paned widget" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:412 msgid "Shrink" msgstr "Shrink" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:413 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "If TRUE, the child can be made smaller than its requisition" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 msgid "Embedded" msgstr "Embedded" -#: gtk/gtkplug.c:172 +#: ../gtk/gtkplug.c:181 msgid "Whether the plug is embedded" msgstr "Whether the plug is embedded" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:195 msgid "Socket Window" msgstr "Socket Window" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:196 msgid "The window of the socket the plug is embedded in" msgstr "The window of the socket the plug is embedded in" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkprinter.c:126 msgid "Name of the printer" msgstr "Name of the printer" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:132 msgid "Backend" msgstr "Backend" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "Backend for the printer" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "Is Virtual" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "FALSE if this represents a real hardware printer" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "Accepts PDF" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "TRUE if this printer can accept PDF" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "Accepts PostScript" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "TRUE if this printer can accept PostScript" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:160 msgid "State Message" msgstr "State Message" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "String giving the current state of the printer" -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "Location" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:168 msgid "The location of the printer" msgstr "The location of the printer" -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "The icon name to use for the printer" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:181 msgid "Job Count" msgstr "Job Count" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "Number of jobs queued in the printer" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "Paused Printer" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "TRUE if this printer is paused" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "Accepting Jobs" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "TRUE if this printer is accepting new jobs" -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "Source option" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "The PrinterOption backing this widget" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:127 msgid "Title of the print job" msgstr "Title of the print job" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:135 msgid "Printer" msgstr "Printer" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:136 msgid "Printer to print the job to" msgstr "Printer to print the job to" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:144 msgid "Settings" msgstr "Settings" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:145 msgid "Printer settings" msgstr "Printer settings" -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintunixdialog.c:299 msgid "Page Setup" msgstr "Page Setup" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Track Print Status" -#: gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:163 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4078,51 +4345,51 @@ msgstr "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1008 msgid "Default Page Setup" msgstr "Default Page Setup" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1009 msgid "The GtkPageSetup used by default" msgstr "The GtkPageSetup used by default" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:317 msgid "Print Settings" msgstr "Print Settings" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:318 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "The GtkPrintSettings used for initialising the dialogue" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1046 msgid "Job Name" msgstr "Job Name" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1047 msgid "A string used for identifying the print job." msgstr "A string used for identifying the print job." -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1071 msgid "Number of Pages" msgstr "Number of Pages" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1072 msgid "The number of pages in the document." msgstr "The number of pages in the document." -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:307 msgid "Current Page" msgstr "Current Page" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:308 msgid "The current page in the document" msgstr "The current page in the document" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1115 msgid "Use full page" msgstr "Use full page" -#: gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1116 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" @@ -4130,7 +4397,7 @@ msgstr "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" -#: gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1137 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4138,151 +4405,151 @@ msgstr "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1154 msgid "Unit" msgstr "Unit" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1155 msgid "The unit in which distances can be measured in the context" msgstr "The unit in which distances can be measured in the context" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1172 msgid "Show Dialog" msgstr "Show Dialogue" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1173 msgid "TRUE if a progress dialog is shown while printing." msgstr "TRUE if a progress dialogue is shown while printing." -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1196 msgid "Allow Async" msgstr "Allow Async" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1197 msgid "TRUE if print process may run asynchronous." msgstr "TRUE if print process may run asynchronous." -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 msgid "Export filename" msgstr "Export filename" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "Status" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1235 msgid "The status of the print operation" msgstr "The status of the print operation" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1255 msgid "Status String" msgstr "Status String" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1256 msgid "A human-readable description of the status" msgstr "A human-readable description of the status" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1274 msgid "Custom tab label" msgstr "Custom tab label" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1275 msgid "Label for the tab containing custom widgets." msgstr "Label for the tab containing custom widgets." -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:342 msgid "Support Selection" msgstr "Support Selection" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1291 msgid "TRUE if the print operation will support print of selection." msgstr "TRUE if the print operation will support print of selection." -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:350 msgid "Has Selection" msgstr "Has Selection" -#: gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1308 msgid "TRUE if a selection exists." msgstr "TRUE if a selection exists." -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:358 msgid "Embed Page Setup" msgstr "Embed Page Setup" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1324 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "TRUE if page setup combos are embedded in GtkPrintDialog" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1345 msgid "Number of Pages To Print" msgstr "Number of Pages To Print" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1346 msgid "The number of pages that will be printed." msgstr "The number of pages that will be printed." -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:300 msgid "The GtkPageSetup to use" msgstr "The GtkPageSetup to use" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:325 msgid "Selected Printer" msgstr "Selected Printer" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:326 msgid "The GtkPrinter which is selected" msgstr "The GtkPrinter which is selected" -#: gtk/gtkprintunixdialog.c:332 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Manual Capabilities" msgstr "Manual Capabilities" -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:334 msgid "Capabilities the application can handle" msgstr "Capabilities the application can handle" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:343 msgid "Whether the dialog supports selection" msgstr "Whether the dialogue supports selection" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:351 msgid "Whether the application has a selection" msgstr "Whether the application has a selection" -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:359 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "TRUE if page setup combos are embedded in GtkPrintUnixDialog" -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "Fraction" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "The fraction of total work that has been completed" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "Pulse Step" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "The fraction of total progress to move the bouncing block when pulsed" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "Text to be displayed in the progress bar" -#: gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:185 msgid "Show text" msgstr "Show text" -#: gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:186 msgid "Whether the progress is shown as text." msgstr "Whether the progress is shown as text." -#: gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:208 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4290,59 +4557,59 @@ msgstr "" "The preferred place to place an ellipsis in the string, if the progress bar " "does not have enough room to display the entire string, if at all." -#: gtk/gtkprogressbar.c:188 +#: ../gtk/gtkprogressbar.c:215 msgid "X spacing" msgstr "X spacing" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:216 msgid "Extra spacing applied to the width of a progress bar." msgstr "Extra spacing applied to the width of a progress bar." -#: gtk/gtkprogressbar.c:194 +#: ../gtk/gtkprogressbar.c:221 msgid "Y spacing" msgstr "Y spacing" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:222 msgid "Extra spacing applied to the height of a progress bar." msgstr "Extra spacing applied to the height of a progress bar." -#: gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:235 msgid "Minimum horizontal bar width" msgstr "Minimum horizontal bar width" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:236 msgid "The minimum horizontal width of the progress bar" msgstr "The minimum horizontal width of the progress bar" -#: gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:248 msgid "Minimum horizontal bar height" msgstr "Minimum horizontal bar height" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:249 msgid "Minimum horizontal height of the progress bar" msgstr "Minimum horizontal height of the progress bar" -#: gtk/gtkprogressbar.c:234 +#: ../gtk/gtkprogressbar.c:261 msgid "Minimum vertical bar width" msgstr "Minimum vertical bar width" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:262 msgid "The minimum vertical width of the progress bar" msgstr "The minimum vertical width of the progress bar" -#: gtk/gtkprogressbar.c:247 +#: ../gtk/gtkprogressbar.c:274 msgid "Minimum vertical bar height" msgstr "Minimum vertical bar height" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:275 msgid "The minimum vertical height of the progress bar" msgstr "The minimum vertical height of the progress bar" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:118 msgid "The value" msgstr "The value" -#: gtk/gtkradioaction.c:119 +#: ../gtk/gtkradioaction.c:119 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." @@ -4350,20 +4617,20 @@ msgstr "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "Group" -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "The radio action whose group this action belongs to." -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:151 msgid "The current value" msgstr "The current value" -#: gtk/gtkradioaction.c:152 +#: ../gtk/gtkradioaction.c:152 msgid "" "The value property of the currently active member of the group to which this " "action belongs." @@ -4371,39 +4638,31 @@ msgstr "" "The value property of the currently active member of the group to which this " "action belongs." -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:164 msgid "The radio button whose group this widget belongs to." msgstr "The radio button whose group this widget belongs to." -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:374 msgid "The radio menu item whose group this widget belongs to." msgstr "The radio menu item whose group this widget belongs to." -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "The radio tool button whose group this button belongs to." -#: gtk/gtkrange.c:410 -msgid "Update policy" -msgstr "Update policy" - -#: gtk/gtkrange.c:411 -msgid "How the range should be updated on the screen" -msgstr "How the range should be updated on the screen" - -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:416 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "The GtkAdjustment that contains the current value of this range object" -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:424 msgid "Invert direction slider moves to increase range value" msgstr "Invert direction slider moves to increase range value" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:431 msgid "Lower stepper sensitivity" msgstr "Lower stepper sensitivity" -#: gtk/gtkrange.c:436 +#: ../gtk/gtkrange.c:432 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4411,11 +4670,11 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:440 msgid "Upper stepper sensitivity" msgstr "Upper stepper sensitivity" -#: gtk/gtkrange.c:445 +#: ../gtk/gtkrange.c:441 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4423,87 +4682,87 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:458 msgid "Show Fill Level" msgstr "Show Fill Level" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:459 msgid "Whether to display a fill level indicator graphics on trough." msgstr "Whether to display a fill level indicator graphics on trough." -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:475 msgid "Restrict to Fill Level" msgstr "Restrict to Fill Level" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:476 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Whether to restrict the upper boundary to the fill level." -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:491 msgid "Fill Level" msgstr "Fill Level" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:492 msgid "The fill level." msgstr "The fill level." -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 msgid "Slider Width" msgstr "Slider Width" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:501 msgid "Width of scrollbar or scale thumb" msgstr "Width of scrollbar or scale thumb" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:508 msgid "Trough Border" msgstr "Trough Border" -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:509 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Spacing between thumb/steppers and outer trough bevel" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:516 msgid "Stepper Size" msgstr "Stepper Size" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:517 msgid "Length of step buttons at ends" msgstr "Length of step buttons at ends" -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:532 msgid "Stepper Spacing" msgstr "Stepper Spacing" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:533 msgid "Spacing between step buttons and thumb" msgstr "Spacing between step buttons and thumb" -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:540 msgid "Arrow X Displacement" msgstr "Arrow X Displacement" -#: gtk/gtkrange.c:545 +#: ../gtk/gtkrange.c:541 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "How far in the x direction to move the arrow when the button is depressed" -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:548 msgid "Arrow Y Displacement" msgstr "Arrow Y Displacement" -#: gtk/gtkrange.c:553 +#: ../gtk/gtkrange.c:549 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "How far in the y direction to move the arrow when the button is depressed" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:567 msgid "Trough Under Steppers" msgstr "Trough Under Steppers" -#: gtk/gtkrange.c:572 +#: ../gtk/gtkrange.c:568 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4511,254 +4770,262 @@ msgstr "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:581 msgid "Arrow scaling" msgstr "Arrow scaling" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:582 msgid "Arrow scaling with regard to scroll button size" msgstr "Arrow scaling with regard to scroll button size" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "Show Numbers" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 msgid "Whether the items should be displayed with a number" msgstr "Whether the items should be displayed with a number" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "Recent Manager" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "The RecentManager object to use" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "Show Private" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "Whether the private items should be displayed" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "Show Tooltips" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "Whether there should be a tooltip on the item" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "Show Icons" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "Whether there should be an icon near the item" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "Show Not Found" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "" "Whether the items pointing to unavailable resources should be displayed" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "Whether to allow multiple items to be selected" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "Local only" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "Whether the selected resource(s) should be limited to local file: URIs" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "Limit" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "The maximum number of items to be displayed" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "Sort Type" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "The sorting order of the items displayed" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "The current filter for selecting which resources are displayed" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" msgstr "The full path to the file to be used to store and read the list" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "The size of the recently used resources list" -#: gtk/gtkruler.c:138 -msgid "Lower" -msgstr "Lower" - -#: gtk/gtkruler.c:139 -msgid "Lower limit of ruler" -msgstr "Lower limit of ruler" - -#: gtk/gtkruler.c:148 -msgid "Upper" -msgstr "Upper" - -#: gtk/gtkruler.c:149 -msgid "Upper limit of ruler" -msgstr "Upper limit of ruler" - -#: gtk/gtkruler.c:159 -msgid "Position of mark on the ruler" -msgstr "Position of mark on the ruler" - -#: gtk/gtkruler.c:168 -msgid "Max Size" -msgstr "Max Size" - -#: gtk/gtkruler.c:169 -msgid "Maximum size of the ruler" -msgstr "Maximum size of the ruler" - -#: gtk/gtkruler.c:184 -msgid "Metric" -msgstr "Metric" - -#: gtk/gtkruler.c:185 -msgid "The metric used for the ruler" -msgstr "The metric used for the ruler" - -#: gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:218 msgid "The value of the scale" msgstr "The value of the scale" -#: gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:228 msgid "The icon size" msgstr "The icon size" -#: gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:237 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "" "The GtkAdjustment that contains the current value of this scale button object" -#: gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:265 msgid "Icons" msgstr "Icons" -#: gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:266 msgid "List of icon names" msgstr "List of icon names" -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "The number of decimal places that are displayed in the value" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Draw Value" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "Whether the current value is displayed as a string next to the slider" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Value Position" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "The position in which the current value is displayed" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Slider Length" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Length of scale's slider" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Value spacing" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" msgstr "Space between value text and the slider/trough area" -#: gtk/gtkscrollbar.c:50 +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "Horizontal adjustment" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "Vertical adjustment" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" + +#: ../gtk/gtkscrollable.c:120 +msgid "Horizontal Scrollable Policy" +msgstr "Horizontal Scrollable Policy" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "How the size of the content should be determined" + +#: ../gtk/gtkscrollable.c:136 +msgid "Vertical Scrollable Policy" +msgstr "Vertical Scrollable Policy" + +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Minimum Slider Length" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Minimum length of scrollbar slider" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Fixed slider size" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "Don't change slider size, just lock it to the minimum length" -#: gtk/gtkscrollbar.c:81 +#: ../gtk/gtkscrollbar.c:103 msgid "" "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" "Display a second backward arrow button on the opposite end of the scrollbar" -#: gtk/gtkscrollbar.c:88 +#: ../gtk/gtkscrollbar.c:110 msgid "" "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" "Display a second forward arrow button on the opposite end of the scrollbar" -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "Horizontal Adjustment" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:297 +msgid "The GtkAdjustment for the horizontal position" +msgstr "The GtkAdjustment for the horizontal position" + +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "Vertical Adjustment" -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:304 +msgid "The GtkAdjustment for the vertical position" +msgstr "The GtkAdjustment for the vertical position" + +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "Horizontal Scrollbar Policy" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "When the horizontal scrollbar is displayed" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "Vertical Scrollbar Policy" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "When the vertical scrollbar is displayed" -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "Window Placement" -#: gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4766,11 +5033,11 @@ msgstr "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "Window Placement Set" -#: gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4778,55 +5045,61 @@ msgstr "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "Shadow Type" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "Style of bevel around the contents" -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "Scrollbars within bevel" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "Place scrollbars within the scrolled window's bevel" -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "Scrollbar spacing" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Number of pixels between the scrollbars and the scrolled window" -#: gtk/gtkscrolledwindow.c:337 -msgid "Scrolled Window Placement" -msgstr "Scrolled Window Placement" +#: ../gtk/gtkscrolledwindow.c:384 +msgid "Minimum Content Width" +msgstr "Minimum Content Width" -#: gtk/gtkscrolledwindow.c:338 +#: ../gtk/gtkscrolledwindow.c:385 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "The minimum width that the scrolled window will allocate to its content" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "Minimum Content Height" +msgstr "Minimum Content Height" + +#: ../gtk/gtkscrolledwindow.c:392 msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." +"The minimum height that the scrolled window will allocate to its content" msgstr "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." +"The minimum height that the scrolled window will allocate to its content" -#: gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "Draw" -#: gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "Whether the separator is drawn, or just blank" -#: gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Double Click Time" -#: gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4834,11 +5107,11 @@ msgstr "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" -#: gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Double Click Distance" -#: gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4846,35 +5119,35 @@ msgstr "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" -#: gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Cursor Blink" -#: gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "Whether the cursor should blink" -#: gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Cursor Blink Time" -#: gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Length of the cursor blink cycle, in milliseconds" -#: gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Cursor Blink Timeout" -#: gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Time after which the cursor stops blinking, in seconds" -#: gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Split Cursor" -#: gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4882,149 +5155,149 @@ msgstr "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" -#: gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Theme Name" -#: gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Name of theme RC file to load" -#: gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Icon Theme Name" -#: gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Name of icon theme to use" -#: gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Fallback Icon Theme Name" -#: gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Name of a icon theme to fall back to" -#: gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Key Theme Name" -#: gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Name of key theme RC file to load" -#: gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Menu bar accelerator" -#: gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Keybinding to activate the menu bar" -#: gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Drag threshold" -#: gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "Number of pixels the cursor can move before dragging" -#: gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Font Name" -#: gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Name of default font to use" -#: gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Icon Sizes" -#: gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -#: gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "GTK Modules" -#: gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "List of currently active GTK modules" -#: gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Xft Antialias" -#: gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" -#: gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Xft Hinting" -#: gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" -#: gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Xft Hint Style" -#: gtk/gtksettings.c:411 +#: ../gtk/gtksettings.c:485 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -#: gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" -#: gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "Xft DPI" -#: gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -#: gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Cursor theme name" -#: gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "Name of the cursor theme to use, or NULL to use the default theme" -#: gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Cursor theme size" -#: gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Size to use for cursors, or 0 to use the default size" -#: gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Alternative button order" -#: gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "Whether buttons in dialogues should use the alternative button order" -#: gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "Alternative sort indicator direction" -#: gtk/gtksettings.c:479 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5032,11 +5305,11 @@ msgstr "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" -#: gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Show the 'Input Methods' menu" -#: gtk/gtksettings.c:488 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5044,11 +5317,11 @@ msgstr "" "Whether the context menus of entries and text views should offer to change " "the input method" -#: gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Show the 'Insert Unicode Control Character' menu" -#: gtk/gtksettings.c:497 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5056,238 +5329,238 @@ msgstr "" "Whether the context menus of entries and text views should offer to insert " "control characters" -#: gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Start timeout" -#: gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "Starting value for timeouts, when button is pressed" -#: gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Repeat timeout" -#: gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "Repeat value for timeouts, when button is pressed" -#: gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Expand timeout" -#: gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "Expand value for timeouts, when a widget is expanding a new region" -#: gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Colour scheme" -#: gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "A palette of named colours for use in themes" -#: gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Enable Animations" -#: gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "Whether to enable toolkit-wide animations." -#: gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "Enable Touchscreen Mode" -#: gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "When TRUE, there are no motion notify events delivered on this screen" -#: gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Tooltip timeout" -#: gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Timeout before tooltip is shown" -#: gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "Tooltip browse timeout" -#: gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "Timeout before tooltip is shown when browse mode is enabled" -#: gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "Tooltip browse mode timeout" -#: gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "Timeout after which browse mode is disabled" -#: gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "Keynav Cursor Only" -#: gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "When TRUE, there are only cursor keys available to navigate widgets" -#: gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "Keynav Wrap Around" -#: gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Whether to wrap around when keyboard-navigating widgets" -#: gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "Error Bell" -#: gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "When TRUE, keyboard navigation and other errors will cause a beep" -#: gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "Colour Hash" -#: gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "A hash table representation of the colour scheme." -#: gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Default file chooser backend" -#: gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Name of the GtkFileChooser backend to use by default" -#: gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Default print backend" -#: gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "List of the GtkPrintBackend backends to use by default" -#: gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "Default command to run when displaying a print preview" -#: gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "Command to run when displaying a print preview" -#: gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Enable Mnemonics" -#: gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Whether labels should have mnemonics" -#: gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Enable Accelerators" -#: gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Whether menu items should have accelerators" -#: gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Recent Files Limit" -#: gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Number of recently used files" -#: gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "Default IM module" -#: gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "Which IM module should be used by default" -#: gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "Recent Files Max Age" -#: gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "Maximum age of recently used files, in days" -#: gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "Fontconfig configuration timestamp" -#: gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "Timestamp of current fontconfig configuration" -#: gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Sound Theme Name" -#: gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "XDG sound theme name" #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "Audible Input Feedback" -#: gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" msgstr "Whether to play event sounds as feedback to user input" -#: gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Enable Event Sounds" -#: gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Whether to play any event sounds at all" -#: gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Enable Tooltips" -#: gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Whether tooltips should be shown on widgets" -#: gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Toolbar style" -#: gtk/gtksettings.c:983 +#: ../gtk/gtksettings.c:1057 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Whether default toolbars have text only, text and icons, icons only, etc." -#: gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Toolbar Icon Size" -#: gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "The size of icons in default toolbars." -#: gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Auto Mnemonics" -#: gtk/gtksettings.c:1016 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5295,19 +5568,132 @@ msgstr "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." -#: gtk/gtksettings.c:1041 +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" msgstr "Application prefers a dark theme" -#: gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." msgstr "Whether the application prefers to have a dark theme." -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksettings.c:1131 +msgid "Show button images" +msgstr "Show button images" + +#: ../gtk/gtksettings.c:1132 +msgid "Whether images should be shown on buttons" +msgstr "Whether images should be shown on buttons" + +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 +msgid "Select on focus" +msgstr "Select on focus" + +#: ../gtk/gtksettings.c:1141 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "Whether to select the contents of an entry when it is focused" + +#: ../gtk/gtksettings.c:1158 +msgid "Password Hint Timeout" +msgstr "Password Hint Timeout" + +#: ../gtk/gtksettings.c:1159 +msgid "How long to show the last input character in hidden entries" +msgstr "How long to show the last input character in hidden entries" + +#: ../gtk/gtksettings.c:1168 +msgid "Show menu images" +msgstr "Show menu images" + +#: ../gtk/gtksettings.c:1169 +msgid "Whether images should be shown in menus" +msgstr "Whether images should be shown in menus" + +#: ../gtk/gtksettings.c:1177 +msgid "Delay before drop down menus appear" +msgstr "Delay before drop down menus appear" + +#: ../gtk/gtksettings.c:1178 +msgid "Delay before the submenus of a menu bar appear" +msgstr "Delay before the submenus of a menu bar appear" + +#: ../gtk/gtksettings.c:1195 +msgid "Scrolled Window Placement" +msgstr "Scrolled Window Placement" + +#: ../gtk/gtksettings.c:1196 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." + +#: ../gtk/gtksettings.c:1205 +msgid "Can change accelerators" +msgstr "Can change accelerators" + +#: ../gtk/gtksettings.c:1206 +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "" +"Whether menu accelerators can be changed by pressing a key over the menu item" + +#: ../gtk/gtksettings.c:1214 +msgid "Delay before submenus appear" +msgstr "Delay before submenus appear" + +#: ../gtk/gtksettings.c:1215 +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "" +"Minimum time the pointer must stay over a menu item before the submenu appear" + +#: ../gtk/gtksettings.c:1224 +msgid "Delay before hiding a submenu" +msgstr "Delay before hiding a submenu" + +#: ../gtk/gtksettings.c:1225 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" + +#: ../gtk/gtksettings.c:1235 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "" +"Whether to select the contents of a selectable label when it is focused" + +#: ../gtk/gtksettings.c:1243 +msgid "Custom palette" +msgstr "Custom palette" + +#: ../gtk/gtksettings.c:1244 +msgid "Palette to use in the color selector" +msgstr "Palette to use in the colour selector" + +#: ../gtk/gtksettings.c:1252 +msgid "IM Preedit style" +msgstr "IM Preedit style" + +#: ../gtk/gtksettings.c:1253 +msgid "How to draw the input method preedit string" +msgstr "How to draw the input method preedit string" + +#: ../gtk/gtksettings.c:1262 +msgid "IM Status style" +msgstr "IM Status style" + +#: ../gtk/gtksettings.c:1263 +msgid "How to draw the input method statusbar" +msgstr "How to draw the input method statusbar" + +#: ../gtk/gtksizegroup.c:351 msgid "Mode" msgstr "Mode" -#: gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:352 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" @@ -5315,25 +5701,25 @@ msgstr "" "The directions in which the size group affects the requested sizes of its " "component widgets" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:368 msgid "Ignore hidden" msgstr "Ignore hidden" -#: gtk/gtksizegroup.c:359 +#: ../gtk/gtksizegroup.c:369 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" "If TRUE, unmapped widgets are ignored when determining the size of the group" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:328 msgid "Climb Rate" msgstr "Climb Rate" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:348 msgid "Snap to Ticks" msgstr "Snap to Ticks" -#: gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:349 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5341,209 +5727,181 @@ msgstr "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:356 msgid "Numeric" msgstr "Numeric" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:357 msgid "Whether non-numeric characters should be ignored" msgstr "Whether non-numeric characters should be ignored" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:364 msgid "Wrap" msgstr "Wrap" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:365 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "Whether a spin button should wrap upon reaching its limits" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:372 msgid "Update Policy" msgstr "Update Policy" -#: gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:373 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Whether the spin button should update always, or only when the value is legal" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:382 msgid "Reads the current value, or sets a new value" msgstr "Reads the current value, or sets a new value" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:391 msgid "Style of bevel around the spin button" msgstr "Style of bevel around the spin button" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "Whether the spinner is active" -#: gtk/gtkspinner.c:146 -msgid "Number of steps" -msgstr "Number of steps" - -#: gtk/gtkspinner.c:147 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." - -#: gtk/gtkspinner.c:162 -msgid "Animation duration" -msgstr "Animation duration" - -#: gtk/gtkspinner.c:163 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" -"The length of time in milliseconds for the spinner to complete a full loop" - -#: gtk/gtkstatusbar.c:199 -msgid "Has Resize Grip" -msgstr "Has Resize Grip" - -#: gtk/gtkstatusbar.c:200 -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "Whether the statusbar has a grip for resizing the toplevel" - -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:183 msgid "Style of bevel around the statusbar text" msgstr "Style of bevel around the statusbar text" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:262 msgid "The size of the icon" msgstr "The size of the icon" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:272 msgid "The screen where this status icon will be displayed" msgstr "The screen where this status icon will be displayed" -#: gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:280 msgid "Whether the status icon is visible" msgstr "Whether the status icon is visible" -#: gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:296 msgid "Whether the status icon is embedded" msgstr "Whether the status icon is embedded" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 msgid "The orientation of the tray" msgstr "The orientation of the tray" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1036 msgid "Has tooltip" msgstr "Has tooltip" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:340 msgid "Whether this tray icon has a tooltip" msgstr "Whether this tray icon has a tooltip" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1057 msgid "Tooltip Text" msgstr "Tooltip Text" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 msgid "The contents of the tooltip for this widget" msgstr "The contents of the tooltip for this widget" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1078 msgid "Tooltip markup" msgstr "Tooltip markup" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:390 msgid "The contents of the tooltip for this tray icon" msgstr "The contents of the tooltip for this tray icon" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:408 msgid "The title of this tray icon" msgstr "The title of this tray icon" -#: gtk/gtktable.c:148 +#: ../gtk/gtkstyle.c:468 +msgid "Style context" +msgstr "Style context" + +#: ../gtk/gtkstyle.c:469 +msgid "GtkStyleContext to get style from" +msgstr "GtkStyleContext to get style from" + +#: ../gtk/gtkstylecontext.c:541 +msgid "The associated GdkScreen" +msgstr "The associated GdkScreen" + +#: ../gtk/gtkstylecontext.c:547 +msgid "Direction" +msgstr "Direction" + +#: ../gtk/gtkstylecontext.c:548 ../gtk/gtktexttag.c:220 +msgid "Text direction" +msgstr "Text direction" + +#: ../gtk/gtkswitch.c:744 +msgid "Whether the switch is on or off" +msgstr "Whether the switch is on or off" + +#: ../gtk/gtkswitch.c:778 +msgid "The minimum width of the handle" +msgstr "The minimum width of the handle" + +#: ../gtk/gtktable.c:157 msgid "Rows" msgstr "Rows" -#: gtk/gtktable.c:149 +#: ../gtk/gtktable.c:158 msgid "The number of rows in the table" msgstr "The number of rows in the table" -#: gtk/gtktable.c:157 +#: ../gtk/gtktable.c:166 msgid "Columns" msgstr "Columns" -#: gtk/gtktable.c:158 +#: ../gtk/gtktable.c:167 msgid "The number of columns in the table" msgstr "The number of columns in the table" -#: gtk/gtktable.c:166 -msgid "Row spacing" -msgstr "Row spacing" - -#: gtk/gtktable.c:167 -msgid "The amount of space between two consecutive rows" -msgstr "The amount of space between two consecutive rows" - -#: gtk/gtktable.c:175 -msgid "Column spacing" -msgstr "Column spacing" - -#: gtk/gtktable.c:176 -msgid "The amount of space between two consecutive columns" -msgstr "The amount of space between two consecutive columns" - -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "If TRUE, the table cells are all the same width/height" -#: gtk/gtktable.c:192 -msgid "Left attachment" -msgstr "Left attachment" - -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Right attachment" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "The column number to attach the right side of a child widget to" -#: gtk/gtktable.c:206 -msgid "Top attachment" -msgstr "Top attachment" - -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "The row number to attach the top of a child widget to" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "Bottom attachment" -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "Horizontal options" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "Options specifying the horizontal behaviour of the child" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "Vertical options" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "Options specifying the vertical behaviour of the child" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "Horizontal padding" -#: gtk/gtktable.c:235 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" @@ -5551,11 +5909,11 @@ msgstr "" "Extra space to put between the child and its left and right neighbours, in " "pixels" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "Vertical padding" -#: gtk/gtktable.c:242 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" @@ -5563,51 +5921,51 @@ msgstr "" "Extra space to put between the child and its upper and lower neighbours, in " "pixels" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:192 msgid "Tag Table" msgstr "Tag Table" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "Text Tag Table" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "Current text of the buffer" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "Has selection" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "Whether the buffer has some text currently selected" -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "Cursor position" -#: gtk/gtktextbuffer.c:243 +#: ../gtk/gtktextbuffer.c:243 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" "The position of the insert mark (as offset from the beginning of the buffer)" -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "Copy target list" -#: gtk/gtktextbuffer.c:259 +#: ../gtk/gtktextbuffer.c:259 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" "The list of targets this buffer supports for clipboard copying and DND source" -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "Paste target list" -#: gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5615,35 +5973,35 @@ msgstr "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 msgid "Mark name" msgstr "Mark name" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "Left gravity" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "Whether the mark has left gravity" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:170 msgid "Tag name" msgstr "Tag name" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:171 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "Name used to refer to the text tag. NULL for anonymous tags" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:189 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Background colour as a (possibly unallocated) GdkColor" -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:196 msgid "Background full height" msgstr "Background full height" -#: gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:197 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5651,27 +6009,23 @@ msgstr "" "Whether the background colour fills the entire line height or only the " "height of the tagged characters" -#: gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:213 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Foreground colour as a (possibly unallocated) GdkColor" -#: gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "Text direction" - -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:221 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Text direction, e.g. right-to-left or left-to-right" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:270 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:279 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:288 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5679,15 +6033,15 @@ msgstr "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:299 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:308 msgid "Font size in Pango units" msgstr "Font size in Pango units" -#: gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:318 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5697,11 +6051,11 @@ msgstr "" "adapts to theme changes etc. so is recommended. Pango predefines some scales " "such as PANGO_SCALE_X_LARGE" -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 msgid "Left, right, or center justification" msgstr "Left, right, or centre justification" -#: gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:357 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5709,31 +6063,31 @@ msgstr "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:364 msgid "Left margin" msgstr "Left margin" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 msgid "Width of the left margin in pixels" msgstr "Width of the left margin in pixels" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:374 msgid "Right margin" msgstr "Right margin" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 msgid "Width of the right margin in pixels" msgstr "Width of the right margin in pixels" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 msgid "Indent" msgstr "Indent" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 msgid "Amount to indent the paragraph, in pixels" msgstr "Amount to indent the paragraph, in pixels" -#: gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:397 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -5741,337 +6095,341 @@ msgstr "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:406 msgid "Pixels above lines" msgstr "Pixels above lines" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 msgid "Pixels of blank space above paragraphs" msgstr "Pixels of blank space above paragraphs" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:416 msgid "Pixels below lines" msgstr "Pixels below lines" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 msgid "Pixels of blank space below paragraphs" msgstr "Pixels of blank space below paragraphs" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:426 msgid "Pixels inside wrap" msgstr "Pixels inside wrap" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Pixels of blank space between wrapped lines in a paragraph" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 +#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Whether to wrap lines never, at word boundaries, or at character boundaries" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 msgid "Tabs" msgstr "Tabs" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 msgid "Custom tabs for this text" msgstr "Custom tabs for this text" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:482 msgid "Invisible" msgstr "Invisible" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:483 msgid "Whether this text is hidden." msgstr "Whether this text is hidden." -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:497 msgid "Paragraph background color name" msgstr "Paragraph background colour name" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:498 msgid "Paragraph background color as a string" msgstr "Paragraph background colour as a string" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color" msgstr "Paragraph background colour" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Paragraph background colour as a (possibly unallocated) GdkColor" -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:532 msgid "Margin Accumulates" msgstr "Margin Accumulates" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:533 msgid "Whether left and right margins accumulate." msgstr "Whether left and right margins accumulate." -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:546 msgid "Background full height set" msgstr "Background full height set" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:547 msgid "Whether this tag affects background height" msgstr "Whether this tag affects background height" -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:586 msgid "Justification set" msgstr "Justification set" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:587 msgid "Whether this tag affects paragraph justification" msgstr "Whether this tag affects paragraph justification" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:594 msgid "Left margin set" msgstr "Left margin set" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the left margin" msgstr "Whether this tag affects the left margin" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:598 msgid "Indent set" msgstr "Indent set" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:599 msgid "Whether this tag affects indentation" msgstr "Whether this tag affects indentation" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:606 msgid "Pixels above lines set" msgstr "Pixels above lines set" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the number of pixels above lines" msgstr "Whether this tag affects the number of pixels above lines" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:610 msgid "Pixels below lines set" msgstr "Pixels below lines set" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:614 msgid "Pixels inside wrap set" msgstr "Pixels inside wrap set" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "Whether this tag affects the number of pixels between wrapped lines" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:622 msgid "Right margin set" msgstr "Right margin set" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:623 msgid "Whether this tag affects the right margin" msgstr "Whether this tag affects the right margin" -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:630 msgid "Wrap mode set" msgstr "Wrap mode set" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects line wrap mode" msgstr "Whether this tag affects line wrap mode" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:634 msgid "Tabs set" msgstr "Tabs set" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:635 msgid "Whether this tag affects tabs" msgstr "Whether this tag affects tabs" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:638 msgid "Invisible set" msgstr "Invisible set" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects text visibility" msgstr "Whether this tag affects text visibility" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:642 msgid "Paragraph background set" msgstr "Paragraph background set" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:643 msgid "Whether this tag affects the paragraph background color" msgstr "Whether this tag affects the paragraph background colour" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:655 msgid "Pixels Above Lines" msgstr "Pixels Above Lines" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:665 msgid "Pixels Below Lines" msgstr "Pixels Below Lines" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:675 msgid "Pixels Inside Wrap" msgstr "Pixels Inside Wrap" -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:693 msgid "Wrap Mode" msgstr "Wrap Mode" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:711 msgid "Left Margin" msgstr "Left Margin" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:721 msgid "Right Margin" msgstr "Right Margin" -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:749 msgid "Cursor Visible" msgstr "Cursor Visible" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:750 msgid "If the insertion cursor is shown" msgstr "If the insertion cursor is shown" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:757 msgid "Buffer" msgstr "Buffer" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:758 msgid "The buffer which is displayed" msgstr "The buffer which is displayed" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:766 msgid "Whether entered text overwrites existing contents" msgstr "Whether entered text overwrites existing contents" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:773 msgid "Accepts tab" msgstr "Accepts tab" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:774 msgid "Whether Tab will result in a tab character being entered" msgstr "Whether Tab will result in a tab character being entered" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:809 msgid "Error underline color" msgstr "Error underline colour" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:810 msgid "Color with which to draw error-indication underlines" msgstr "Colour with which to draw error-indication underlines" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtkthemingengine.c:249 +msgid "Theming engine name" +msgstr "Theming engine name" + +#: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Create the same proxies as a radio action" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" msgstr "Whether the proxies for this action look like radio action proxies" -#: gtk/gtktoggleaction.c:134 +#: ../gtk/gtktoggleaction.c:134 msgid "Whether the toggle action should be active" msgstr "Whether the toggle action should be active" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" msgstr "If the toggle button should be pressed in" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:134 msgid "If the toggle button is in an \"in between\" state" msgstr "If the toggle button is in an \"in between\" state" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:141 msgid "Draw Indicator" msgstr "Draw Indicator" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:142 msgid "If the toggle part of the button is displayed" msgstr "If the toggle part of the button is displayed" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 msgid "Toolbar Style" msgstr "Toolbar Style" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:490 msgid "How to draw the toolbar" msgstr "How to draw the toolbar" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:497 msgid "Show Arrow" msgstr "Show Arrow" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:498 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "If an arrow should be shown if the toolbar doesn't fit" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:519 msgid "Size of icons in this toolbar" msgstr "Size of icons in this toolbar" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 msgid "Icon size set" msgstr "Icon size set" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 msgid "Whether the icon-size property has been set" msgstr "Whether the icon-size property has been set" -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:544 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "Whether the item should receive extra space when the toolbar grows" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "Whether the item should be the same size as other homogeneous items" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:559 msgid "Spacer size" msgstr "Spacer size" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:560 msgid "Size of spacers" msgstr "Size of spacers" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:569 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "Amount of border space between the toolbar shadow and the buttons" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:577 msgid "Maximum child expand" msgstr "Maximum child expand" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum amount of space an expandable item will be given" msgstr "Maximum amount of space an expandable item will be given" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:586 msgid "Space style" msgstr "Space style" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:587 msgid "Whether spacers are vertical lines or just blank" msgstr "Whether spacers are vertical lines or just blank" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:594 msgid "Button relief" msgstr "Button relief" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:595 msgid "Type of bevel around toolbar buttons" msgstr "Type of bevel around toolbar buttons" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:602 msgid "Style of bevel around the toolbar" msgstr "Style of bevel around the toolbar" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:202 msgid "Text to show in the item." msgstr "Text to show in the item." -#: gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:209 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6079,43 +6437,43 @@ msgstr "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:216 msgid "Widget to use as the item label" msgstr "Widget to use as the item label" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:222 msgid "Stock Id" msgstr "Stock Id" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:223 msgid "The stock icon displayed on the item" msgstr "The stock icon displayed on the item" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:239 msgid "Icon name" msgstr "Icon name" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:240 msgid "The name of the themed icon displayed on the item" msgstr "The name of the themed icon displayed on the item" -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:246 msgid "Icon widget" msgstr "Icon widget" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget to display in the item" msgstr "Icon widget to display in the item" -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:260 msgid "Icon spacing" msgstr "Icon spacing" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:261 msgid "Spacing in pixels between the icon and label" msgstr "Spacing in pixels between the icon and label" -#: gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -6123,506 +6481,513 @@ msgstr "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1589 msgid "The human-readable title of this item group" msgstr "The human-readable title of this item group" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1596 msgid "A widget to display in place of the usual label" msgstr "A widget to display in place of the usual label" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "Collapsed" msgstr "Collapsed" -#: gtk/gtktoolitemgroup.c:1586 -#, fuzzy +#: ../gtk/gtktoolitemgroup.c:1603 msgid "Whether the group has been collapsed and items are hidden" msgstr "Whether the group has been collapsed and items are hidden" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "ellipsize" msgstr "ellipsise" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1610 msgid "Ellipsize for item group headers" msgstr "Ellipsise for item group headers" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Header Relief" msgstr "Header Relief" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1617 msgid "Relief of the group header button" msgstr "Relief of the group header button" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1632 msgid "Header Spacing" msgstr "Header Spacing" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1633 msgid "Spacing between expander arrow and caption" msgstr "Spacing between expander arrow and caption" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1649 msgid "Whether the item should receive extra space when the group grows" msgstr "Whether the item should receive extra space when the group grows" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1656 msgid "Whether the item should fill the available space" msgstr "Whether the item should fill the available space" -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "New Row" msgstr "New Row" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1663 msgid "Whether the item should start a new row" msgstr "Whether the item should start a new row" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1670 msgid "Position of the item within this group" msgstr "Position of the item within this group" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1032 msgid "Size of icons in this tool palette" msgstr "Size of icons in this tool palette" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1062 msgid "Style of items in the tool palette" msgstr "Style of items in the tool palette" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1078 msgid "Exclusive" msgstr "Exclusive" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1079 msgid "Whether the item group should be the only expanded at a given time" msgstr "Whether the item group should be the only expanded at a given time" -#: gtk/gtktoolpalette.c:1066 +#: ../gtk/gtktoolpalette.c:1094 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" "Whether the item group should receive extra space when the palette grows" -#: gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:135 msgid "Foreground color for symbolic icons" msgstr "Foreground colour for symbolic icons" -#: gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color" msgstr "Error colour" -#: gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:143 msgid "Error color for symbolic icons" msgstr "Error colour for symbolic icons" -#: gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color" msgstr "Warning colour" -#: gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:151 msgid "Warning color for symbolic icons" msgstr "Warning colour for symbolic icons" -#: gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color" msgstr "Success colour" -#: gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:159 msgid "Success color for symbolic icons" msgstr "Success colour for symbolic icons" -#: gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:167 msgid "Padding that should be put around icons in the tray" msgstr "Padding that should be put around icons in the tray" -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemenu.c:287 +msgid "TreeMenu model" +msgstr "TreeMenu model" + +#: ../gtk/gtktreemenu.c:288 +msgid "The model for the tree menu" +msgstr "The model for the tree menu" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "TreeMenu root row" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "The TreeMenu will display children of the specified root" + +#: ../gtk/gtktreemenu.c:344 +msgid "Tearoff" +msgstr "Tearoff" + +#: ../gtk/gtktreemenu.c:345 +msgid "Whether the menu has a tearoff item" +msgstr "Whether the menu has a tearoff item" + +#: ../gtk/gtktreemenu.c:361 +msgid "Wrap Width" +msgstr "Wrap Width" + +#: ../gtk/gtktreemenu.c:362 +msgid "Wrap width for laying out items in a grid" +msgstr "Wrap width for laying out items in a grid" + +#: ../gtk/gtktreemodelsort.c:312 msgid "TreeModelSort Model" msgstr "TreeModelSort Model" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:313 msgid "The model for the TreeModelSort to sort" msgstr "The model for the TreeModelSort to sort" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:989 msgid "TreeView Model" msgstr "TreeView Model" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:990 msgid "The model for the tree view" msgstr "The model for the tree view" -#: gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "Horizontal Adjustment for the widget" - -#: gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "Vertical Adjustment for the widget" - -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:1002 msgid "Headers Visible" msgstr "Headers Visible" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:1003 msgid "Show the column header buttons" msgstr "Show the column header buttons" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:1010 msgid "Headers Clickable" msgstr "Headers Clickable" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:1011 msgid "Column headers respond to click events" msgstr "Column headers respond to click events" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:1018 msgid "Expander Column" msgstr "Expander Column" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:1019 msgid "Set the column for the expander column" msgstr "Set the column for the expander column" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:1034 msgid "Rules Hint" msgstr "Rules Hint" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:1035 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "Set a hint to the theme engine to draw rows in alternating colours" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:1042 msgid "Enable Search" msgstr "Enable Search" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:1043 msgid "View allows user to search through columns interactively" msgstr "View allows user to search through columns interactively" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:1050 msgid "Search Column" msgstr "Search Column" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:1051 msgid "Model column to search through during interactive search" msgstr "Model column to search through during interactive search" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:1071 msgid "Fixed Height Mode" msgstr "Fixed Height Mode" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:1072 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Speeds up GtkTreeView by assuming that all rows have the same height" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:1092 msgid "Hover Selection" msgstr "Hover Selection" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:1093 msgid "Whether the selection should follow the pointer" msgstr "Whether the selection should follow the pointer" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:1112 msgid "Hover Expand" msgstr "Hover Expand" -#: gtk/gtktreeview.c:698 +#: ../gtk/gtktreeview.c:1113 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Whether rows should be expanded/collapsed when the pointer moves over them" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:1127 msgid "Show Expanders" msgstr "Show Expanders" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:1128 msgid "View has expanders" msgstr "View has expanders" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:1142 msgid "Level Indentation" msgstr "Level Indentation" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:1143 msgid "Extra indentation for each level" msgstr "Extra indentation for each level" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:1152 msgid "Rubber Banding" msgstr "Rubber Banding" -#: gtk/gtktreeview.c:738 +#: ../gtk/gtktreeview.c:1153 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Whether to enable selection of multiple items by dragging the mouse pointer" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:1160 msgid "Enable Grid Lines" msgstr "Enable Grid Lines" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:1161 msgid "Whether grid lines should be drawn in the tree view" msgstr "Whether grid lines should be drawn in the tree view" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:1169 msgid "Enable Tree Lines" msgstr "Enable Tree Lines" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:1170 msgid "Whether tree lines should be drawn in the tree view" msgstr "Whether tree lines should be drawn in the tree view" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:1178 msgid "The column in the model containing the tooltip texts for the rows" msgstr "The column in the model containing the tooltip texts for the rows" -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical Separator Width" msgstr "Vertical Separator Width" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:1201 msgid "Vertical space between cells. Must be an even number" msgstr "Vertical space between cells. Must be an even number" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal Separator Width" msgstr "Horizontal Separator Width" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:1210 msgid "Horizontal space between cells. Must be an even number" msgstr "Horizontal space between cells. Must be an even number" -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:1218 msgid "Allow Rules" msgstr "Allow Rules" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:1219 msgid "Allow drawing of alternating color rows" msgstr "Allow drawing of alternating colour rows" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:1225 msgid "Indent Expanders" msgstr "Indent Expanders" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:1226 msgid "Make the expanders indented" msgstr "Make the expanders indented" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:1232 msgid "Even Row Color" msgstr "Even Row Colour" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:1233 msgid "Color to use for even rows" msgstr "Colour to use for even rows" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1239 msgid "Odd Row Color" msgstr "Odd Row Colour" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1240 msgid "Color to use for odd rows" msgstr "Colour to use for odd rows" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:1246 msgid "Grid line width" msgstr "Grid line width" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1247 msgid "Width, in pixels, of the tree view grid lines" msgstr "Width, in pixels, of the tree view grid lines" -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:1253 msgid "Tree line width" msgstr "Tree line width" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:1254 msgid "Width, in pixels, of the tree view lines" msgstr "Width, in pixels, of the tree view lines" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:1260 msgid "Grid line pattern" msgstr "Grid line pattern" -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:1261 msgid "Dash pattern used to draw the tree view grid lines" msgstr "Dash pattern used to draw the tree view grid lines" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:1267 msgid "Tree line pattern" msgstr "Tree line pattern" -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:1268 msgid "Dash pattern used to draw the tree view lines" msgstr "Dash pattern used to draw the tree view lines" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:244 msgid "Whether to display the column" msgstr "Whether to display the column" -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 msgid "Resizable" msgstr "Resizable" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:252 msgid "Column is user-resizable" msgstr "Column is user-resizable" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:260 msgid "Current width of the column" msgstr "Current width of the column" -#: gtk/gtktreeviewcolumn.c:221 -msgid "Space which is inserted between cells" -msgstr "Space which is inserted between cells" - -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Sizing" msgstr "Sizing" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:278 msgid "Resize mode of the column" msgstr "Resize mode of the column" -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Fixed Width" msgstr "Fixed Width" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Current fixed width of the column" msgstr "Current fixed width of the column" -#: gtk/gtktreeviewcolumn.c:248 -msgid "Minimum Width" -msgstr "Minimum Width" - -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:297 msgid "Minimum allowed width of the column" msgstr "Minimum allowed width of the column" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum Width" msgstr "Maximum Width" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:307 msgid "Maximum allowed width of the column" msgstr "Maximum allowed width of the column" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Title to appear in column header" msgstr "Title to appear in column header" -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Column gets share of extra width allocated to the widget" msgstr "Column gets share of extra width allocated to the widget" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Clickable" msgstr "Clickable" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:333 msgid "Whether the header can be clicked" msgstr "Whether the header can be clicked" -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget" msgstr "Widget" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Widget to put in column header button instead of column title" msgstr "Widget to put in column header button instead of column title" -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:350 msgid "X Alignment of the column header text or widget" msgstr "X Alignment of the column header text or widget" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:360 msgid "Whether the column can be reordered around the headers" msgstr "Whether the column can be reordered around the headers" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Sort indicator" msgstr "Sort indicator" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:368 msgid "Whether to show a sort indicator" msgstr "Whether to show a sort indicator" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort order" msgstr "Sort order" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:376 msgid "Sort direction the sort indicator should indicate" msgstr "Sort direction the sort indicator should indicate" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Sort column ID" msgstr "Sort column ID" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:393 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "Logical sort column ID this column sorts on when selected for sorting" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "Whether tearoff menu items should be added to menus" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Merged UI definition" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "An XML string describing the merged UI" -#: gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" - -#: gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" - -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:155 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Determines how the shadowed box around the viewport is drawn" -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkvolumebutton.c:156 +msgid "Use symbolic icons" +msgstr "Use symbolic icons" + +#: ../gtk/gtkvolumebutton.c:157 +msgid "Whether to use symbolic icons" +msgstr "Whether to use symbolic icons" + +#: ../gtk/gtkwidget.c:895 msgid "Widget name" msgstr "Widget name" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:896 msgid "The name of the widget" msgstr "The name of the widget" -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:902 msgid "Parent widget" msgstr "Parent widget" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:903 msgid "The parent widget of this widget. Must be a Container widget" msgstr "The parent widget of this widget. Must be a Container widget" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:910 msgid "Width request" msgstr "Width request" -#: gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:911 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6630,11 +6995,11 @@ msgstr "" "Override for width request of the widget, or -1 if natural request should be " "used" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:919 msgid "Height request" msgstr "Height request" -#: gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:920 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6642,83 +7007,83 @@ msgstr "" "Override for height request of the widget, or -1 if natural request should " "be used" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:929 msgid "Whether the widget is visible" msgstr "Whether the widget is visible" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:936 msgid "Whether the widget responds to input" msgstr "Whether the widget responds to input" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:942 msgid "Application paintable" msgstr "Application paintable" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:943 msgid "Whether the application will paint directly on the widget" msgstr "Whether the application will paint directly on the widget" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:949 msgid "Can focus" msgstr "Can focus" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:950 msgid "Whether the widget can accept the input focus" msgstr "Whether the widget can accept the input focus" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:956 msgid "Has focus" msgstr "Has focus" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:957 msgid "Whether the widget has the input focus" msgstr "Whether the widget has the input focus" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:963 msgid "Is focus" msgstr "Is focus" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:964 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Whether the widget is the focus widget within the toplevel" -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:970 msgid "Can default" msgstr "Can default" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:971 msgid "Whether the widget can be the default widget" msgstr "Whether the widget can be the default widget" -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:977 msgid "Has default" msgstr "Has default" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:978 msgid "Whether the widget is the default widget" msgstr "Whether the widget is the default widget" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:984 msgid "Receives default" msgstr "Receives default" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:985 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "If TRUE, the widget will receive the default action when it is focused" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:991 msgid "Composite child" msgstr "Composite child" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:992 msgid "Whether the widget is part of a composite widget" msgstr "Whether the widget is part of a composite widget" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:998 msgid "Style" msgstr "Style" -#: gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:999 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -6726,148 +7091,175 @@ msgstr "" "The style of the widget, which contains information about how it will look " "(colours etc)" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1005 msgid "Events" msgstr "Events" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1006 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "The event mask that decides what kind of GdkEvents this widget gets" -#: gtk/gtkwidget.c:832 -msgid "Extension events" -msgstr "Extension events" - -#: gtk/gtkwidget.c:833 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "The mask that decides what kind of extension events this widget gets" - -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1013 msgid "No show all" msgstr "No show all" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1014 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Whether gtk_widget_show_all() should not affect this widget" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1037 msgid "Whether this widget has a tooltip" msgstr "Whether this widget has a tooltip" -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1093 msgid "Window" msgstr "Window" -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1094 msgid "The widget's window if it is realized" msgstr "The widget's window if it is realised" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1108 msgid "Double Buffered" msgstr "Double Buffered" -#: gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:1109 msgid "Whether the widget is double buffered" msgstr "Whether the widget is double buffered" -#: gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1124 msgid "How to position in extra horizontal space" -msgstr "" +msgstr "How to position in extra horizontal space" -#: gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1140 msgid "How to position in extra vertical space" -msgstr "" +msgstr "How to position in extra vertical space" -#: gtk/gtkwidget.c:986 -#, fuzzy +#: ../gtk/gtkwidget.c:1159 msgid "Margin on Left" -msgstr "Margin" +msgstr "Margin on Left" -#: gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1160 msgid "Pixels of extra space on the left side" -msgstr "" +msgstr "Pixels of extra space on the left side" -#: gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1180 msgid "Margin on Right" -msgstr "" +msgstr "Margin on Right" -#: gtk/gtkwidget.c:1008 -#, fuzzy +#: ../gtk/gtkwidget.c:1181 msgid "Pixels of extra space on the right side" -msgstr "Pixels of blank space above paragraphs" +msgstr "Pixels of extra space on the right side" -#: gtk/gtkwidget.c:1028 -#, fuzzy +#: ../gtk/gtkwidget.c:1201 msgid "Margin on Top" -msgstr "Margin" +msgstr "Margin on Top" -#: gtk/gtkwidget.c:1029 -#, fuzzy +#: ../gtk/gtkwidget.c:1202 msgid "Pixels of extra space on the top side" -msgstr "Pixels of blank space above paragraphs" +msgstr "Pixels of extra space on the top side" -#: gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1222 msgid "Margin on Bottom" -msgstr "" +msgstr "Margin on Bottom" -#: gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1223 msgid "Pixels of extra space on the bottom side" -msgstr "" +msgstr "Pixels of extra space on the bottom side" -#: gtk/gtkwidget.c:1067 -#, fuzzy +#: ../gtk/gtkwidget.c:1240 msgid "All Margins" -msgstr "Margin" +msgstr "All Margins" -#: gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1241 msgid "Pixels of extra space on all four sides" -msgstr "" +msgstr "Pixels of extra space on all four sides" -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1274 +msgid "Horizontal Expand" +msgstr "Horizontal Expand" + +#: ../gtk/gtkwidget.c:1275 +msgid "Whether widget wants more horizontal space" +msgstr "Whether widget wants more horizontal space" + +#: ../gtk/gtkwidget.c:1289 +msgid "Horizontal Expand Set" +msgstr "Horizontal Expand Set" + +#: ../gtk/gtkwidget.c:1290 +msgid "Whether to use the hexpand property" +msgstr "Whether to use the hexpand property" + +#: ../gtk/gtkwidget.c:1304 +msgid "Vertical Expand" +msgstr "Vertical Expand" + +#: ../gtk/gtkwidget.c:1305 +msgid "Whether widget wants more vertical space" +msgstr "Whether widget wants more vertical space" + +#: ../gtk/gtkwidget.c:1319 +msgid "Vertical Expand Set" +msgstr "Vertical Expand Set" + +#: ../gtk/gtkwidget.c:1320 +msgid "Whether to use the vexpand property" +msgstr "Whether to use the vexpand property" + +#: ../gtk/gtkwidget.c:1334 +msgid "Expand Both" +msgstr "Expand Both" + +#: ../gtk/gtkwidget.c:1335 +msgid "Whether widget wants to expand in both directions" +msgstr "Whether widget wants to expand in both directions" + +#: ../gtk/gtkwidget.c:2994 msgid "Interior Focus" msgstr "Interior Focus" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:2995 msgid "Whether to draw the focus indicator inside widgets" msgstr "Whether to draw the focus indicator inside widgets" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:3001 msgid "Focus linewidth" msgstr "Focus linewidth" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3002 msgid "Width, in pixels, of the focus indicator line" msgstr "Width, in pixels, of the focus indicator line" -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3008 msgid "Focus line dash pattern" msgstr "Focus line dash pattern" -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3009 msgid "Dash pattern used to draw the focus indicator" msgstr "Dash pattern used to draw the focus indicator" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3014 msgid "Focus padding" msgstr "Focus padding" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3015 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Width, in pixels, between focus indicator and the widget 'box'" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3020 msgid "Cursor color" msgstr "Cursor colour" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3021 msgid "Color with which to draw insertion cursor" msgstr "Colour with which to draw insertion cursor" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3026 msgid "Secondary cursor color" msgstr "Secondary cursor colour" -#: gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:3027 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6875,43 +7267,43 @@ msgstr "" "Colour with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3032 msgid "Cursor line aspect ratio" msgstr "Cursor line aspect ratio" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3033 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Aspect ratio with which to draw insertion cursor" -#: gtk/gtkwidget.c:2786 +#: ../gtk/gtkwidget.c:3039 msgid "Window dragging" msgstr "Window dragging" -#: gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3040 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Whether windows can be dragged by clicking on empty areas" -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3053 msgid "Unvisited Link Color" msgstr "Unvisited Link Colour" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3054 msgid "Color of unvisited links" msgstr "Colour of unvisited links" -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3067 msgid "Visited Link Color" msgstr "Visited Link Colour" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3068 msgid "Color of visited links" msgstr "Colour of visited links" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3082 msgid "Wide Separators" msgstr "Wide Separators" -#: gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:3083 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -6919,79 +7311,79 @@ msgstr "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3097 msgid "Separator Width" msgstr "Separator Width" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3098 msgid "The width of separators if wide-separators is TRUE" msgstr "The width of separators if wide-separators is TRUE" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3112 msgid "Separator Height" msgstr "Separator Height" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3113 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "The height of separators if \"wide-separators\" is TRUE" -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3127 msgid "Horizontal Scroll Arrow Length" msgstr "Horizontal Scroll Arrow Length" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3128 msgid "The length of horizontal scroll arrows" msgstr "The length of horizontal scroll arrows" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3142 msgid "Vertical Scroll Arrow Length" msgstr "Vertical Scroll Arrow Length" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3143 msgid "The length of vertical scroll arrows" msgstr "The length of vertical scroll arrows" -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:603 msgid "Window Type" msgstr "Window Type" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:604 msgid "The type of the window" msgstr "The type of the window" -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:612 msgid "Window Title" msgstr "Window Title" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:613 msgid "The title of the window" msgstr "The title of the window" -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:620 msgid "Window Role" msgstr "Window Role" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:621 msgid "Unique identifier for the window to be used when restoring a session" msgstr "Unique identifier for the window to be used when restoring a session" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:637 msgid "Startup ID" msgstr "Startup ID" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:638 msgid "Unique startup identifier for the window used by startup-notification" msgstr "Unique startup identifier for the window used by startup-notification" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:646 msgid "If TRUE, users can resize the window" msgstr "If TRUE, users can resize the window" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:653 msgid "Modal" msgstr "Modal" -#: gtk/gtkwindow.c:618 +#: ../gtk/gtkwindow.c:654 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -6999,78 +7391,78 @@ msgstr "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:661 msgid "Window Position" msgstr "Window Position" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:662 msgid "The initial position of the window" msgstr "The initial position of the window" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:670 msgid "Default Width" msgstr "Default Width" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:671 msgid "The default width of the window, used when initially showing the window" msgstr "" "The default width of the window, used when initially showing the window" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:680 msgid "Default Height" msgstr "Default Height" -#: gtk/gtkwindow.c:645 +#: ../gtk/gtkwindow.c:681 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "The default height of the window, used when initially showing the window" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:690 msgid "Destroy with Parent" msgstr "Destroy with Parent" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:691 msgid "If this window should be destroyed when the parent is destroyed" msgstr "If this window should be destroyed when the parent is destroyed" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:699 msgid "Icon for this window" msgstr "Icon for this window" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:705 msgid "Mnemonics Visible" msgstr "Mnemonics Visible" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:706 msgid "Whether mnemonics are currently visible in this window" msgstr "Whether mnemonics are currently visible in this window" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:722 msgid "Name of the themed icon for this window" msgstr "Name of the themed icon for this window" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:737 msgid "Is Active" msgstr "Is Active" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:738 msgid "Whether the toplevel is the current active window" msgstr "Whether the toplevel is the current active window" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:745 msgid "Focus in Toplevel" msgstr "Focus in Toplevel" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:746 msgid "Whether the input focus is within this GtkWindow" msgstr "Whether the input focus is within this GtkWindow" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:753 msgid "Type hint" msgstr "Type hint" -#: gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:754 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7078,101 +7470,210 @@ msgstr "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:762 msgid "Skip taskbar" msgstr "Skip taskbar" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:763 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE if the window should not be in the task bar." -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:770 msgid "Skip pager" msgstr "Skip pager" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:771 msgid "TRUE if the window should not be in the pager." msgstr "TRUE if the window should not be in the pager." -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:778 msgid "Urgent" msgstr "Urgent" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:779 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE if the window should be brought to the user's attention." -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:793 msgid "Accept focus" msgstr "Accept focus" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:794 msgid "TRUE if the window should receive the input focus." msgstr "TRUE if the window should receive the input focus." -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:808 msgid "Focus on map" msgstr "Focus on map" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:809 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE if the window should receive the input focus when mapped." -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:823 msgid "Decorated" msgstr "Decorated" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:824 msgid "Whether the window should be decorated by the window manager" msgstr "Whether the window should be decorated by the window manager" -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:838 msgid "Deletable" msgstr "Deletable" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:839 msgid "Whether the window frame should have a close button" msgstr "Whether the window frame should have a close button" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:858 +msgid "Resize grip" +msgstr "Resize grip" + +#: ../gtk/gtkwindow.c:859 +msgid "Specifies whether the window should have a resize grip" +msgstr "Specifies whether the window should have a resize grip" + +#: ../gtk/gtkwindow.c:873 +msgid "Resize grip is visible" +msgstr "Resize grip is visible" + +#: ../gtk/gtkwindow.c:874 +msgid "Specifies whether the window's resize grip is visible." +msgstr "Specifies whether the window's resize grip is visible." + +#: ../gtk/gtkwindow.c:890 msgid "Gravity" msgstr "Gravity" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:891 msgid "The window gravity of the window" msgstr "The window gravity of the window" -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:908 msgid "Transient for Window" msgstr "Transient for Window" -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:909 msgid "The transient parent of the dialog" msgstr "The transient parent of the dialogue" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:924 msgid "Opacity for Window" msgstr "Opacity for Window" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:925 msgid "The opacity of the window, from 0 to 1" msgstr "The opacity of the window, from 0 to 1" -#: modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "IM Preedit style" +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 +msgid "Width of resize grip" +msgstr "Width of resize grip" -#: modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "How to draw the input method preedit string" +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 +msgid "Height of resize grip" +msgstr "Height of resize grip" -#: modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "IM Status style" +#: ../gtk/gtkwindow.c:961 +msgid "GtkApplication" +msgstr "GtkApplication" -#: modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "How to draw the input method statusbar" +#: ../gtk/gtkwindow.c:962 +msgid "The GtkApplication for the window" +msgstr "The GtkApplication for the window" + +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" + +#~ msgid "Tab pack type" +#~ msgstr "Tab pack type" + +#~ msgid "Update policy" +#~ msgstr "Update policy" + +#~ msgid "How the range should be updated on the screen" +#~ msgstr "How the range should be updated on the screen" + +#~ msgid "Lower" +#~ msgstr "Lower" + +#~ msgid "Lower limit of ruler" +#~ msgstr "Lower limit of ruler" + +#~ msgid "Upper" +#~ msgstr "Upper" + +#~ msgid "Upper limit of ruler" +#~ msgstr "Upper limit of ruler" + +#~ msgid "Position of mark on the ruler" +#~ msgstr "Position of mark on the ruler" + +#~ msgid "Max Size" +#~ msgstr "Max Size" + +#~ msgid "Maximum size of the ruler" +#~ msgstr "Maximum size of the ruler" + +#~ msgid "Metric" +#~ msgstr "Metric" + +#~ msgid "The metric used for the ruler" +#~ msgstr "The metric used for the ruler" + +#~ msgid "Number of steps" +#~ msgstr "Number of steps" + +#~ msgid "" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." +#~ msgstr "" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." + +#~ msgid "Animation duration" +#~ msgstr "Animation duration" + +#~ msgid "" +#~ "The length of time in milliseconds for the spinner to complete a full loop" +#~ msgstr "" +#~ "The length of time in milliseconds for the spinner to complete a full loop" + +#~ msgid "Whether the statusbar has a grip for resizing the toplevel" +#~ msgstr "Whether the statusbar has a grip for resizing the toplevel" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "Horizontal Adjustment for the widget" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "Vertical Adjustment for the widget" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" + +#~ msgid "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" + +#~ msgid "Extension events" +#~ msgstr "Extension events" + +#~ msgid "The mask that decides what kind of extension events this widget gets" +#~ msgstr "" +#~ "The mask that decides what kind of extension events this widget gets" #~ msgid "Has separator" #~ msgstr "Has separator" diff --git a/po/en_GB.po b/po/en_GB.po index 5cc7c22485..0777447afc 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -2,14 +2,14 @@ # Copyright (C) 2004 GTK+'s COPYRIGHT HOLDER # This file is distributed under the same licence as the gtk+ package. # Abigail Brady , Gareth Owen 2004 -# Bruce Cowan , 2009, 2010. +# Bruce Cowan , 2009, 2010, 2011. # Philip Withnall , 2010. msgid "" msgstr "" "Project-Id-Version: gtk+\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-14 14:33+0000\n" -"PO-Revision-Date: 2010-11-14 14:34+0100\n" +"POT-Creation-Date: 2011-01-07 23:20+0000\n" +"PO-Revision-Date: 2011-01-07 23:24+0100\n" "Last-Translator: Bruce Cowan \n" "Language-Team: British English \n" "Language: en_GB\n" @@ -21,58 +21,48 @@ msgstr "" "X-Poedit-Language: English\n" "X-Poedit-Country: UNITED KINGDOM\n" -#: ../gdk/gdk.c:104 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Error parsing option --gdk-debug" -#: ../gdk/gdk.c:124 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Error parsing option --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:152 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Program class as used by the window manager" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:153 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "CLASS" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:155 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Program name as used by the window manager" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:156 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NAME" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:158 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "X display to use" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:159 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "DISPLAY" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:161 -msgid "X screen to use" -msgstr "X screen to use" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:162 -msgid "SCREEN" -msgstr "SCREEN" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:165 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "GDK debugging flags to set" @@ -80,12 +70,12 @@ msgstr "GDK debugging flags to set" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:166 ../gdk/gdk.c:169 ../gtk/gtkmain.c:534 ../gtk/gtkmain.c:537 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "FLAGS" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:168 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "GDK debugging flags to unset" @@ -275,109 +265,108 @@ msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "Don't batch GDI requests" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Don't use the Wintab API for tablet support" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "Same as --no-wintab" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Do use the Wintab API [default]" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "Size of the palette in 8 bit mode" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "COLOURS" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "Starting %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "Opening %s" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:321 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "Opening %d Item" msgstr[1] "Opening %d Items" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "Make X calls synchronous" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:104 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -#: ../gtk/gtkaboutdialog.c:339 ../gtk/gtkaboutdialog.c:2233 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "Licence" -#: ../gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "The licence of the program" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:622 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "C_redits" #. Add the license button -#: ../gtk/gtkaboutdialog.c:636 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_Licence" -#: ../gtk/gtkaboutdialog.c:840 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "Could not show link" -#: ../gtk/gtkaboutdialog.c:933 +#: ../gtk/gtkaboutdialog.c:994 +msgid "Homepage" +msgstr "Homepage" + +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "About %s" -#: ../gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "Credits" +#: ../gtk/gtkaboutdialog.c:2372 +msgid "Created by" +msgstr "Created by" -#: ../gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "Written by" - -#: ../gtk/gtkaboutdialog.c:2186 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "Documented by" -#: ../gtk/gtkaboutdialog.c:2198 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "Translated by" -#: ../gtk/gtkaboutdialog.c:2202 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "Artwork by" @@ -386,7 +375,7 @@ msgstr "Artwork by" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -396,7 +385,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -406,7 +395,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -416,7 +405,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -426,7 +415,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -436,37 +425,120 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +msgid "Other application..." +msgstr "Other application..." + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "Failed to look for applications online" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "Find applications online" + +#: ../gtk/gtkappchooserdialog.c:208 +msgid "Could not run application" +msgstr "Could not run application" + +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +msgid "Could not find '%s'" +msgstr "Could not find '%s'" + +#: ../gtk/gtkappchooserdialog.c:224 +msgid "Could not find application" +msgstr "Could not find application" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Select an application to open \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "No applications available to open \"%s\"" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Select an application for \"%s\" files" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "No applications available to open \"%s\" files" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" + +#: ../gtk/gtkappchooserdialog.c:428 +msgid "Forget association" +msgstr "Forget association" + +#: ../gtk/gtkappchooserdialog.c:493 +msgid "Show other applications" +msgstr "Show other applications" + +#: ../gtk/gtkappchooserdialog.c:511 +msgid "_Open" +msgstr "_Open" + +#: ../gtk/gtkappchooserwidget.c:593 +msgid "Default Application" +msgstr "Default Application" + +#: ../gtk/gtkappchooserwidget.c:729 +msgid "Recommended Applications" +msgstr "Recommended Applications" + +#: ../gtk/gtkappchooserwidget.c:743 +msgid "Related Applications" +msgstr "Related Applications" + +#: ../gtk/gtkappchooserwidget.c:756 +msgid "Other Applications" +msgstr "Other Applications" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Invalid type function on line %d: '%s'" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "Duplicate object ID '%s' on line %d (previously on line %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "Invalid root element: '%s'" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "Unhandled tag: '%s'" @@ -481,7 +553,7 @@ msgstr "Unhandled tag: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:885 msgid "calendar:MY" msgstr "calendar:MY" @@ -489,16 +561,16 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:923 msgid "calendar:week_start:0" -msgstr "calendar:week_start:0" +msgstr "calendar:week_start:1" #. Translators: This is a text measurement template. #. * Translate it to the widest year text #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1903 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -513,7 +585,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -529,7 +601,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -545,7 +617,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2256 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -553,7 +625,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "Disabled" @@ -562,7 +634,7 @@ msgstr "Disabled" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "Invalid" @@ -571,7 +643,7 @@ msgstr "Invalid" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "New accelerator…" @@ -581,15 +653,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:473 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Pick a Colour" -#: ../gtk/gtkcolorbutton.c:363 +#: ../gtk/gtkcolorbutton.c:366 msgid "Received invalid color data\n" msgstr "Received invalid colour data\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -597,7 +669,7 @@ msgstr "" "Select the colour you want from the outer ring. Select the darkness or " "lightness of that colour using the inner triangle." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -605,67 +677,67 @@ msgstr "" "Click the eyedropper, then click a colour anywhere on your screen to select " "that colour." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Hue:" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Position on the colour wheel." -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Saturation:" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "Intensity of the colour." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Value:" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Brightness of the colour." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Red:" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Amount of red light in the colour." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_Green:" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Amount of green light in the colour." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Blue:" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Amount of blue light in the colour." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "Op_acity:" -#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Transparency of the colour." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "Colour _name:" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -673,15 +745,15 @@ msgstr "" "You can enter an HTML-style hexadecimal colour value, or simply a colour " "name such as 'orange' in this entry." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Palette:" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Colour Wheel" -#: ../gtk/gtkcolorsel.c:1031 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -691,7 +763,7 @@ msgstr "" "selecting now. You can drag this colour to a palette entry, or select this " "colour as current by dragging it to the other colour swatch alongside." -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -699,7 +771,7 @@ msgstr "" "The colour you've chosen. You can drag this colour to a palette entry to " "save it for use in the future." -#: ../gtk/gtkcolorsel.c:1039 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -707,15 +779,15 @@ msgstr "" "The previously-selected colour, for comparison to the colour you're " "selecting now." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "The colour you've chosen." -#: ../gtk/gtkcolorsel.c:1442 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_Save colour here" -#: ../gtk/gtkcolorsel.c:1647 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -739,7 +811,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3240 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 msgid "Manage Custom Sizes" msgstr "Manage Custom Sizes" @@ -792,66 +864,66 @@ msgstr "_Right:" msgid "Paper Margins" msgstr "Paper Margins" -#: ../gtk/gtkentry.c:8652 ../gtk/gtktextview.c:8229 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 msgid "Input _Methods" msgstr "Input _Methods" -#: ../gtk/gtkentry.c:8666 ../gtk/gtktextview.c:8243 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 msgid "_Insert Unicode Control Character" msgstr "_Insert Unicode Control Character" -#: ../gtk/gtkentry.c:10066 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock and Num Lock are on" -#: ../gtk/gtkentry.c:10068 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "Num Lock is on" -#: ../gtk/gtkentry.c:10070 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Caps Lock is on" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "Select A File" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "Desktop" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(None)" -#: ../gtk/gtkfilechooserbutton.c:2001 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "Other…" -#: ../gtk/gtkfilechooserdefault.c:147 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "Type name of new folder" -#: ../gtk/gtkfilechooserdefault.c:946 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "Could not retrieve information about the file" -#: ../gtk/gtkfilechooserdefault.c:957 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "Could not add a bookmark" -#: ../gtk/gtkfilechooserdefault.c:968 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "Could not remove bookmark" -#: ../gtk/gtkfilechooserdefault.c:979 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "The folder could not be created" -#: ../gtk/gtkfilechooserdefault.c:992 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -859,7 +931,7 @@ msgstr "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." -#: ../gtk/gtkfilechooserdefault.c:1006 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." @@ -867,11 +939,11 @@ msgstr "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." -#: ../gtk/gtkfilechooserdefault.c:1016 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "Invalid file name" -#: ../gtk/gtkfilechooserdefault.c:1026 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "The folder contents could not be displayed" @@ -879,201 +951,201 @@ msgstr "The folder contents could not be displayed" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1576 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s on %2$s" -#: ../gtk/gtkfilechooserdefault.c:1752 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "Search" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9383 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Recently Used" -#: ../gtk/gtkfilechooserdefault.c:2430 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "Select which types of files are shown" -#: ../gtk/gtkfilechooserdefault.c:2789 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Add the folder '%s' to the bookmarks" -#: ../gtk/gtkfilechooserdefault.c:2833 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Add the current folder to the bookmarks" -#: ../gtk/gtkfilechooserdefault.c:2835 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Add the selected folders to the bookmarks" -#: ../gtk/gtkfilechooserdefault.c:2873 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "Remove the bookmark '%s'" -#: ../gtk/gtkfilechooserdefault.c:2875 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "Bookmark '%s' cannot be removed" -#: ../gtk/gtkfilechooserdefault.c:2882 ../gtk/gtkfilechooserdefault.c:3747 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "Remove the selected bookmark" -#: ../gtk/gtkfilechooserdefault.c:3442 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "Remove" -#: ../gtk/gtkfilechooserdefault.c:3451 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "Rename…" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3614 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "Places" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3671 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_Places" -#: ../gtk/gtkfilechooserdefault.c:3728 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "_Add" -#: ../gtk/gtkfilechooserdefault.c:3735 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "Add the selected folder to the Bookmarks" -#: ../gtk/gtkfilechooserdefault.c:3740 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "_Remove" -#: ../gtk/gtkfilechooserdefault.c:3882 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "Could not select file" -#: ../gtk/gtkfilechooserdefault.c:4057 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "_Add to Bookmarks" -#: ../gtk/gtkfilechooserdefault.c:4070 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "Show _Hidden Files" -#: ../gtk/gtkfilechooserdefault.c:4077 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "Show _Size Column" -#: ../gtk/gtkfilechooserdefault.c:4303 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "Files" -#: ../gtk/gtkfilechooserdefault.c:4354 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "Name" -#: ../gtk/gtkfilechooserdefault.c:4377 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "Size" -#: ../gtk/gtkfilechooserdefault.c:4391 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "Modified" #. Label -#: ../gtk/gtkfilechooserdefault.c:4646 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Name:" -#: ../gtk/gtkfilechooserdefault.c:4689 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_Browse for other folders" -#: ../gtk/gtkfilechooserdefault.c:4959 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "Type a file name" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5002 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "Create Fo_lder" -#: ../gtk/gtkfilechooserdefault.c:5012 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_Location:" -#: ../gtk/gtkfilechooserdefault.c:5216 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "Save in _folder:" -#: ../gtk/gtkfilechooserdefault.c:5218 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "Create in _folder:" -#: ../gtk/gtkfilechooserdefault.c:6287 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "Could not read the contents of %s" -#: ../gtk/gtkfilechooserdefault.c:6291 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "Could not read the contents of the folder" -#: ../gtk/gtkfilechooserdefault.c:6384 ../gtk/gtkfilechooserdefault.c:6452 -#: ../gtk/gtkfilechooserdefault.c:6597 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "Unknown" -#: ../gtk/gtkfilechooserdefault.c:6399 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6401 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "Yesterday at %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7067 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "Cannot change to folder because it is not local" -#: ../gtk/gtkfilechooserdefault.c:7664 ../gtk/gtkfilechooserdefault.c:7685 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "Shortcut %s already exists" -#: ../gtk/gtkfilechooserdefault.c:7775 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "Shortcut %s does not exist" -#: ../gtk/gtkfilechooserdefault.c:8036 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "A file named \"%s\" already exists. Do you want to replace it?" -#: ../gtk/gtkfilechooserdefault.c:8039 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "The file already exists in \"%s\". Replacing it will overwrite its contents." -#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 msgid "_Replace" msgstr "_Replace" -#: ../gtk/gtkfilechooserdefault.c:8752 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Could not start the search process" -#: ../gtk/gtkfilechooserdefault.c:8753 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1081,36 +1153,36 @@ msgstr "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." -#: ../gtk/gtkfilechooserdefault.c:8767 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Could not send the search request" -#: ../gtk/gtkfilechooserdefault.c:8955 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Search:" -#: ../gtk/gtkfilechooserdefault.c:9560 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Could not mount %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "Invalid path" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1104 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "No match" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1115 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "Sole completion" @@ -1118,13 +1190,13 @@ msgstr "Sole completion" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1131 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "Complete, but not unique" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "Completing…" @@ -1132,7 +1204,7 @@ msgstr "Completing…" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "Only local files may be selected" @@ -1140,14 +1212,14 @@ msgstr "Only local files may be selected" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "Incomplete hostname; end it with '/'" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "Path does not exist" @@ -1175,40 +1247,40 @@ msgstr "Font" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:367 msgid "_Family:" msgstr "_Family:" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:373 msgid "_Style:" msgstr "_Style:" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:379 msgid "Si_ze:" msgstr "Si_ze:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:558 +#: ../gtk/gtkfontsel.c:555 msgid "_Preview:" msgstr "_Preview:" -#: ../gtk/gtkfontsel.c:1658 +#: ../gtk/gtkfontsel.c:1655 msgid "Font Selection" msgstr "Font Selection" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "Error loading icon: %s" -#: ../gtk/gtkicontheme.c:1355 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1221,12 +1293,12 @@ msgstr "" "You can get a copy from:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1536 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "Icon '%s' not present in theme" -#: ../gtk/gtkicontheme.c:3057 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Failed to load icon" @@ -1251,45 +1323,45 @@ msgid "System (%s)" msgstr "System (%s)" #. Open Link -#: ../gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Open Link" #. Copy Link Address -#: ../gtk/gtklabel.c:6226 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Copy _Link Address" -#: ../gtk/gtklinkbutton.c:484 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "Copy URL" -#: ../gtk/gtklinkbutton.c:647 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "Invalid URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Load additional GTK+ modules" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:528 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MODULES" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:530 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "Make all warnings fatal" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:533 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "GTK+ debugging flags to set" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:536 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "GTK+ debugging flags to unset" @@ -1298,20 +1370,20 @@ msgstr "GTK+ debugging flags to unset" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:799 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:864 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "Cannot open display: %s" -#: ../gtk/gtkmain.c:923 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "GTK+ Options" -#: ../gtk/gtkmain.c:923 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Show GTK+ Options" @@ -1395,7 +1467,7 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "Cannot end process with PID %d: %s" -#: ../gtk/gtknotebook.c:4756 ../gtk/gtknotebook.c:7319 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "Page %u" @@ -1428,7 +1500,7 @@ msgstr "" " Top: %s %s\n" " Bottom: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3291 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 msgid "Manage Custom Sizes..." msgstr "Manage Custom Sizes…" @@ -1436,7 +1508,7 @@ msgstr "Manage Custom Sizes…" msgid "_Format for:" msgstr "_Format for:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3463 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 msgid "_Paper size:" msgstr "_Paper size:" @@ -1444,19 +1516,19 @@ msgstr "_Paper size:" msgid "_Orientation:" msgstr "_Orientation:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3525 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 msgid "Page Setup" msgstr "Page Setup" -#: ../gtk/gtkpathbar.c:158 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "Up Path" -#: ../gtk/gtkpathbar.c:160 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "Down Path" -#: ../gtk/gtkpathbar.c:1523 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "File System Root" @@ -1480,84 +1552,84 @@ msgstr "_Save in folder:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s job #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "Initial state" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "Preparing to print" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "Generating data" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "Sending data" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "Waiting" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Blocking on issue" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "Printing" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "Finished" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "Finished with error" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "Preparing %d" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "Preparing" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "Printing %d" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "Error creating print preview" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "" "The most probable reason is that a temporary file could not be created." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Error launching preview" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Application" @@ -1571,7 +1643,7 @@ msgstr "Out of paper" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "Paused" @@ -1616,49 +1688,49 @@ msgstr "Invalid handle to PrintDlgEx" msgid "Unspecified error" msgstr "Unspecified error" -#: ../gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:619 msgid "Getting printer information failed" msgstr "Getting printer information failed" -#: ../gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1874 msgid "Getting printer information..." msgstr "Getting printer information…" -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2141 msgid "Printer" msgstr "Printer" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2151 msgid "Location" msgstr "Location" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2162 msgid "Status" msgstr "Status" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2188 msgid "Range" msgstr "Range" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2192 msgid "_All Pages" msgstr "_All Pages" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2199 msgid "C_urrent Page" msgstr "C_urrent Page" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Se_lection" msgstr "Se_lection" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "Pag_es:" msgstr "Pag_es:" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2219 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1666,28 +1738,28 @@ msgstr "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2229 msgid "Pages" msgstr "Pages" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2242 msgid "Copies" msgstr "Copies" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2247 msgid "Copie_s:" msgstr "Copie_s:" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2265 msgid "C_ollate" msgstr "C_ollate" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2273 msgid "_Reverse" msgstr "_Reverse" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2293 msgid "General" msgstr "General" @@ -1697,168 +1769,168 @@ msgstr "General" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "Left to right, top to bottom" -#: ../gtk/gtkprintunixdialog.c:3024 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "Left to right, bottom to top" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "Right to left, top to bottom" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "Right to left, bottom to top" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "Top to bottom, left to right" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "Top to bottom, right to left" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "Bottom to top, left to right" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "Bottom to top, right to left" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3031 ../gtk/gtkprintunixdialog.c:3044 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Page Ordering" -#: ../gtk/gtkprintunixdialog.c:3060 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Left to right" msgstr "Left to right" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3063 msgid "Right to left" msgstr "Right to left" -#: ../gtk/gtkprintunixdialog.c:3073 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Top to bottom" msgstr "Top to bottom" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Bottom to top" msgstr "Bottom to top" -#: ../gtk/gtkprintunixdialog.c:3314 +#: ../gtk/gtkprintunixdialog.c:3316 msgid "Layout" msgstr "Layout" -#: ../gtk/gtkprintunixdialog.c:3318 +#: ../gtk/gtkprintunixdialog.c:3320 msgid "T_wo-sided:" msgstr "T_wo-sided:" -#: ../gtk/gtkprintunixdialog.c:3333 +#: ../gtk/gtkprintunixdialog.c:3335 msgid "Pages per _side:" msgstr "Pages per _side:" -#: ../gtk/gtkprintunixdialog.c:3350 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "Page or_dering:" msgstr "Page or_dering:" -#: ../gtk/gtkprintunixdialog.c:3366 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "_Only print:" msgstr "_Only print:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3381 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "All sheets" msgstr "All sheets" -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Even sheets" msgstr "Even sheets" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3385 msgid "Odd sheets" msgstr "Odd sheets" -#: ../gtk/gtkprintunixdialog.c:3386 +#: ../gtk/gtkprintunixdialog.c:3388 msgid "Sc_ale:" msgstr "Sc_ale:" -#: ../gtk/gtkprintunixdialog.c:3413 +#: ../gtk/gtkprintunixdialog.c:3415 msgid "Paper" msgstr "Paper" -#: ../gtk/gtkprintunixdialog.c:3417 +#: ../gtk/gtkprintunixdialog.c:3419 msgid "Paper _type:" msgstr "Paper _type:" -#: ../gtk/gtkprintunixdialog.c:3432 +#: ../gtk/gtkprintunixdialog.c:3434 msgid "Paper _source:" msgstr "Paper _source:" -#: ../gtk/gtkprintunixdialog.c:3447 +#: ../gtk/gtkprintunixdialog.c:3449 msgid "Output t_ray:" msgstr "Output t_ray:" -#: ../gtk/gtkprintunixdialog.c:3487 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Or_ientation:" msgstr "Or_ientation:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3502 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Portrait" msgstr "Portrait" -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Landscape" msgstr "Landscape" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse portrait" msgstr "Reverse portrait" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3507 msgid "Reverse landscape" msgstr "Reverse landscape" -#: ../gtk/gtkprintunixdialog.c:3550 +#: ../gtk/gtkprintunixdialog.c:3552 msgid "Job Details" msgstr "Job Details" -#: ../gtk/gtkprintunixdialog.c:3556 +#: ../gtk/gtkprintunixdialog.c:3558 msgid "Pri_ority:" msgstr "Pri_ority:" -#: ../gtk/gtkprintunixdialog.c:3571 +#: ../gtk/gtkprintunixdialog.c:3573 msgid "_Billing info:" msgstr "_Billing info:" -#: ../gtk/gtkprintunixdialog.c:3589 +#: ../gtk/gtkprintunixdialog.c:3591 msgid "Print Document" msgstr "Print Document" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3598 +#: ../gtk/gtkprintunixdialog.c:3600 msgid "_Now" msgstr "_Now" -#: ../gtk/gtkprintunixdialog.c:3609 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "A_t:" msgstr "A_t:" @@ -1866,7 +1938,7 @@ msgstr "A_t:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3615 +#: ../gtk/gtkprintunixdialog.c:3617 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1874,77 +1946,72 @@ msgstr "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3625 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "Time of print" msgstr "Time of print" -#: ../gtk/gtkprintunixdialog.c:3641 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "On _hold" msgstr "On _hold" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3644 msgid "Hold the job until it is explicitly released" msgstr "Hold the job until it is explicitly released" -#: ../gtk/gtkprintunixdialog.c:3662 +#: ../gtk/gtkprintunixdialog.c:3664 msgid "Add Cover Page" msgstr "Add Cover Page" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3671 +#: ../gtk/gtkprintunixdialog.c:3673 msgid "Be_fore:" msgstr "Be_fore:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3689 +#: ../gtk/gtkprintunixdialog.c:3691 msgid "_After:" msgstr "_After:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3707 +#: ../gtk/gtkprintunixdialog.c:3709 msgid "Job" msgstr "Job" -#: ../gtk/gtkprintunixdialog.c:3773 +#: ../gtk/gtkprintunixdialog.c:3775 msgid "Advanced" msgstr "Advanced" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3811 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Image Quality" msgstr "Image Quality" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3815 +#: ../gtk/gtkprintunixdialog.c:3817 msgid "Color" msgstr "Colour" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3820 +#: ../gtk/gtkprintunixdialog.c:3822 msgid "Finishing" msgstr "Finishing" -#: ../gtk/gtkprintunixdialog.c:3830 +#: ../gtk/gtkprintunixdialog.c:3832 msgid "Some of the settings in the dialog conflict" msgstr "Some of the settings in the dialogue conflict" -#: ../gtk/gtkprintunixdialog.c:3853 +#: ../gtk/gtkprintunixdialog.c:3855 msgid "Print" msgstr "Print" -#: ../gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Unable to find include file: \"%s\"" - -#: ../gtk/gtkrc.c:3470 ../gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Unable to locate image file in pixmap_path: \"%s\"" @@ -1959,36 +2026,36 @@ msgstr "This function is not implemented for widgets of class '%s'" msgid "Select which type of documents are shown" msgstr "Select which type of documents are shown" -#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "No item for URI '%s' found" -#: ../gtk/gtkrecentchooserdefault.c:1297 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "Untitled filter" -#: ../gtk/gtkrecentchooserdefault.c:1650 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "Could not remove item" -#: ../gtk/gtkrecentchooserdefault.c:1694 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "Could not clear list" -#: ../gtk/gtkrecentchooserdefault.c:1778 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "Copy _Location" -#: ../gtk/gtkrecentchooserdefault.c:1791 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "_Remove From List" -#: ../gtk/gtkrecentchooserdefault.c:1800 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "_Clear List" -#: ../gtk/gtkrecentchooserdefault.c:1814 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "Show _Private Resources" @@ -2053,12 +2120,12 @@ msgstr "Unable to find an item with URI '%s'" msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "No registered application with name '%s' for item with URI '%s' found" -#: ../gtk/gtkspinner.c:456 +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Spinner" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Provides visual indication of progress" @@ -2566,6 +2633,32 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "Zoom _Out" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +msgctxt "switch" +msgid "ON" +msgstr "ON" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +msgctxt "switch" +msgid "OFF" +msgstr "OFF" + +#: ../gtk/gtkswitch.c:959 +msgctxt "light switch widget" +msgid "Switch" +msgstr "Switch" + +#: ../gtk/gtkswitch.c:960 +msgid "Switches between on and off states" +msgstr "Switches between on and off states" + #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2576,107 +2669,107 @@ msgstr "Unknown error when trying to deserialise %s" msgid "No deserialize function found for format %s" msgstr "No deserialise function found for format %s" -#: ../gtk/gtktextbufferserialize.c:803 ../gtk/gtktextbufferserialize.c:829 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Both \"id\" and \"name\" were found on the <%s> element" -#: ../gtk/gtktextbufferserialize.c:813 ../gtk/gtktextbufferserialize.c:839 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "The attribute \"%s\" was found twice on the <%s> element" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s> element has invalid ID \"%s\"" -#: ../gtk/gtktextbufferserialize.c:865 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> element has neither a \"name\" nor an \"id\" attribute" -#: ../gtk/gtktextbufferserialize.c:952 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Attribute \"%s\" repeated twice on the same <%s> element" -#: ../gtk/gtktextbufferserialize.c:970 ../gtk/gtktextbufferserialize.c:995 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Attribute \"%s\" is invalid on <%s> element in this context" -#: ../gtk/gtktextbufferserialize.c:1034 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Tag \"%s\" has not been defined." -#: ../gtk/gtktextbufferserialize.c:1046 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Anonymous tag found and tags can not be created." -#: ../gtk/gtktextbufferserialize.c:1057 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Tag \"%s\" does not exist in buffer and tags can not be created." -#: ../gtk/gtktextbufferserialize.c:1156 ../gtk/gtktextbufferserialize.c:1231 -#: ../gtk/gtktextbufferserialize.c:1336 ../gtk/gtktextbufferserialize.c:1410 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Element <%s> is not allowed below <%s>" -#: ../gtk/gtktextbufferserialize.c:1187 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" is not a valid attribute type" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" is not a valid attribute name" -#: ../gtk/gtktextbufferserialize.c:1205 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1214 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" is not a valid value for attribute \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1299 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "Tag \"%s\" already defined" -#: ../gtk/gtktextbufferserialize.c:1312 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Tag \"%s\" has invalid priority \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1365 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Outermost element in text must be not <%s>" -#: ../gtk/gtktextbufferserialize.c:1374 ../gtk/gtktextbufferserialize.c:1390 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "A <%s> element has already been specified" -#: ../gtk/gtktextbufferserialize.c:1396 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "A element can't occur before a element" -#: ../gtk/gtktextbufferserialize.c:1796 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "Serialised data is malformed" -#: ../gtk/gtktextbufferserialize.c:1874 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -2722,58 +2815,53 @@ msgstr "ZWJ Zero width _joiner" msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ Zero width _non-joiner" -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Unable to locate theme engine in module_path: \"%s\"," - -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Unexpected start tag '%s' on line %d char %d" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Unexpected character data on line %d char %d" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "Empty" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Volume" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "Turns volume down or up" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "Adjusts the volume" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Volume Down" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "Decreases the volume" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Volume Up" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "Increases the volume" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Muted" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Full Volume" @@ -2782,7 +2870,7 @@ msgstr "Full Volume" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3633,81 +3721,81 @@ msgstr "Failed to write folder index\n" msgid "Failed to rewrite header\n" msgstr "Failed to rewrite header\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Failed to open file %s : %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Failed to write cache file: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "The generated cache was invalid.\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "Could not rename %s to %s: %s, removing %s then.\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "Could not rename %s to %s: %s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "Could not rename %s back to %s: %s.\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "Cache file created successfully.\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Overwrite an existing cache, even if up to date" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "Don't check for the existence of index.theme" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Don't include image data in the cache" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "Output a C header file" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Turn off verbose output" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Validate existing icon cache" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "File not found: %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Not a valid icon cache: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "No theme index file.\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3771,254 +3859,254 @@ msgstr "Vietnamese (VIQR)" msgid "X Input Method" msgstr "X Input Method" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "Username:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "Password:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "Authentication is required to print document '%s' on printer %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Authentication is required to print a document on %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Authentication is required to get attributes of job '%s'" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "Authentication is required to get attributes of a job" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Authentication is required to get attributes of printer %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "Authentication is required to get attributes of a printer" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Authentication is required to get default printer of %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Authentication is required to get printers from %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 #, c-format msgid "Authentication is required to get a file from %s" msgstr "Authentication is required to get a file from %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "Authentication is required on %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "Domain:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Authentication is required to print document '%s'" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "Authentication is required to print this document on printer %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "Authentication is required to print this document" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "Printer '%s' is low on toner." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "Printer '%s' has no toner left." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "Printer '%s' is low on developer." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "Printer '%s' is out of developer." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "Printer '%s' is low on at least one marker supply." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "Printer '%s' is out of at least one marker supply." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "The cover is open on printer '%s'." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "The door is open on printer '%s'." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "Printer '%s' is low on paper." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "Printer '%s' is out of paper." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "Printer '%s' is currently offline." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "There is a problem on printer '%s'." #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "Paused ; Rejecting Jobs" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "Rejecting Jobs" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "Paper Type" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "Output Tray" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "GhostScript pre-filtering" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "One Sided" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "Long Edge (Standard)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "Short Edge (Flip)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "Auto Select" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "Printer Default" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "Embed GhostScript fonts only" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "Convert to PS level 1" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "Convert to PS level 2" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "No pre-filtering" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "Miscellaneous" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "Urgent" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "High" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "Medium" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "Low" @@ -4026,66 +4114,66 @@ msgstr "Low" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "Pages per Sheet" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "Job Priority" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "Billing Info" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "None" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "Classified" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "Confidential" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "Secret" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "Standard" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "Top Secret" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "Unclassified" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "Before" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "After" @@ -4093,14 +4181,14 @@ msgstr "After" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "Print at" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "Print at time" @@ -4108,7 +4196,7 @@ msgstr "Print at time" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "Custom %sx%s" @@ -4123,28 +4211,28 @@ msgstr "output.%s" msgid "Print to File" msgstr "Print to File" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Pages per _sheet:" -#: ../modules/printbackends/file/gtkprintbackendfile.c:649 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "File" -#: ../modules/printbackends/file/gtkprintbackendfile.c:659 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "_Output format" @@ -4212,6 +4300,27 @@ msgid "" msgstr "" "Failed to load image '%s': reason not known, probably a corrupt image file" +#~ msgid "X screen to use" +#~ msgstr "X screen to use" + +#~ msgid "SCREEN" +#~ msgstr "SCREEN" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Make X calls synchronous" + +#~ msgid "Credits" +#~ msgstr "Credits" + +#~ msgid "Written by" +#~ msgstr "Written by" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Unable to find include file: \"%s\"" + +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "Unable to locate theme engine in module_path: \"%s\"," + #~ msgid "Error creating folder '%s': %s" #~ msgstr "Error creating folder '%s': %s" @@ -4912,9 +5021,6 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "_Folder name:" -#~ msgid "C_reate" -#~ msgstr "C_reate" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "" From 1ff8df1e18ba16a4668b3c1c4bd23b219bb0c669 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 8 Jan 2011 18:46:46 +0900 Subject: [PATCH 1264/1463] Adding missing gtk-doc annotations. GtkProgressBar:show-text, GtkScrolledWindow:min-content-width/height are new properties in 3.0. --- gtk/gtkprogressbar.c | 10 ++++++++++ gtk/gtkscrolledwindow.c | 15 +++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 1abad28147..3cc366c6a2 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -179,6 +179,16 @@ gtk_progress_bar_class_init (GtkProgressBarClass *class) NULL, GTK_PARAM_READWRITE)); + /** + * GtkProgressBar:show_text: + * + * Sets whether the progressbar will show text superimposed + * over the bar. The shown text is either the value of + * the #GtkProgressBar::text property or, if that is %NULL, + * the #GtkProgressBar::fraction value, as a percentage. + * + * Since: 3.0 + */ g_object_class_install_property (gobject_class, PROP_SHOW_TEXT, g_param_spec_boolean ("show-text", diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index 972d99671a..f4a02994af 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -378,6 +378,13 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class) DEFAULT_SCROLLBAR_SPACING, GTK_PARAM_READABLE)); + /** + * GtkScrolledWindow:min-content-width: + * + * The minimum content width of @scrolled_window, or -1 if not set. + * + * Since: 3.0 + */ g_object_class_install_property (gobject_class, PROP_MIN_CONTENT_WIDTH, g_param_spec_int ("min-content-width", @@ -385,6 +392,14 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class) P_("The minimum width that the scrolled window will allocate to its content"), -1, G_MAXINT, -1, GTK_PARAM_READWRITE)); + + /** + * GtkScrolledWindow:min-content-height: + * + * The minimum content height of @scrolled_window, or -1 if not set. + * + * Since: 3.0 + */ g_object_class_install_property (gobject_class, PROP_MIN_CONTENT_HEIGHT, g_param_spec_int ("min-content-height", From cc0a65cb5668e9c20d8a45dba41866fe900393a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Sat, 8 Jan 2011 10:56:59 +0100 Subject: [PATCH 1265/1463] docs: Fix typo in GtkWidget geometry-management documentation Reported by Andrew Cowie in https://bugzilla.gnome.org/show_bug.cgi?id=638963 --- gtk/gtkwidget.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index b740d1c13d..b7c3141d0d 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -105,7 +105,7 @@ * For example, when queried in the normal * %GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH mode: * First, the default minimum and natural width for each widget - * in the interface will be computed using gtk_width_get_preferred_width(). + * in the interface will be computed using gtk_widget_get_preferred_width(). * Because the preferred widths for each container depend on the preferred * widths of their children, this information propagates up the hierarchy, * and finally a minimum and natural width is determined for the entire From b761cadaccda761d70f7c2c77b57d5c9c40551db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jorge=20Gonz=C3=A1lez?= Date: Sat, 8 Jan 2011 13:49:31 +0100 Subject: [PATCH 1266/1463] Updated Spanish translation, fixes bug #638991 --- po/es.po | 827 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 460 insertions(+), 367 deletions(-) diff --git a/po/es.po b/po/es.po index 838abd8139..fc2da662e1 100644 --- a/po/es.po +++ b/po/es.po @@ -9,15 +9,15 @@ # Pablo Gonzalo del Campo , 2002, 2003. # Juan Manuel García Molina , 2003. # Francisco Javier F. Serrador , 2003 - 2006. -# Jorge González , 2007, 2008, 2009, 2010. +# Jorge González , 2007, 2008, 2009, 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gtk+.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2010-12-24 02:57+0000\n" -"PO-Revision-Date: 2010-12-29 22:48+0100\n" +"POT-Creation-Date: 2011-01-08 09:40+0000\n" +"PO-Revision-Date: 2011-01-08 13:46+0100\n" "Last-Translator: Jorge González \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -27,48 +27,48 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdk.c:155 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Error al analizar la opción --gdk-debug" -#: ../gdk/gdk.c:175 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Error al analizar la opción --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:203 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Clase del programa tal como la usa el gestor de ventanas" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:204 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "CLASE" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:206 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Nombre del programa tal como lo usa el gestor de ventanas" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:207 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NOMBRE" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:209 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "Visor [display] X que usar" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:210 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "VISOR" #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:213 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "Opciones de depuración GTK+ que establecer" @@ -76,12 +76,12 @@ msgstr "Opciones de depuración GTK+ que establecer" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "OPCIONES" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:216 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "Opciones de depuración GTK+ que quitar" @@ -271,32 +271,32 @@ msgid "Delete" msgstr "Supr" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "No poner en lotes las solicitudes GDI" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "No usar el API Wintab para el soporte de tablas digitalizadoras" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "Lo mismo que --no-wintab" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "No usar el API Wintab [predeterminado]" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "Tamaño de la paleta en modo 8 bits" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "COLORES" @@ -320,7 +320,7 @@ msgstr[1] "Abriendo %d elementos" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:105 +#: ../gtk/gtkaboutdialog.c:104 #, c-format msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -#: ../gtk/gtkaboutdialog.c:347 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "Licencia" -#: ../gtk/gtkaboutdialog.c:348 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "La licencia del programa" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:740 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "C_réditos" #. Add the license button -#: ../gtk/gtkaboutdialog.c:753 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_Licencia" -#: ../gtk/gtkaboutdialog.c:958 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "No se pudo mostrar el enlace" -#: ../gtk/gtkaboutdialog.c:995 +#: ../gtk/gtkaboutdialog.c:994 msgid "Homepage" msgstr "Página web" -#: ../gtk/gtkaboutdialog.c:1049 +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "Acerca de %s" -#: ../gtk/gtkaboutdialog.c:2371 +#: ../gtk/gtkaboutdialog.c:2372 msgid "Created by" -msgstr "Arte por" +msgstr "Creado por" -#: ../gtk/gtkaboutdialog.c:2374 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "Documentado por" -#: ../gtk/gtkaboutdialog.c:2384 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "Traducido por" -#: ../gtk/gtkaboutdialog.c:2389 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "Arte por" @@ -381,7 +381,7 @@ msgstr "Arte por" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Mayús" @@ -391,7 +391,7 @@ msgstr "Mayús" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -401,7 +401,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -411,7 +411,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -421,7 +421,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -431,38 +431,133 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "Espacio" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "Contrabarra" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +#| msgid "Application" +msgid "Other application..." +msgstr "Otra aplicación…" + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "Falló al buscar aplicaciones en línea" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "Buscar aplicaciones en línea" + +#: ../gtk/gtkappchooserdialog.c:208 +#| msgid "Could not clear list" +msgid "Could not run application" +msgstr "No se pudo ejecutar la aplicación" + +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +#| msgid "Could not mount %s" +msgid "Could not find '%s'" +msgstr "No se pudo encontrar «%s»" + +#: ../gtk/gtkappchooserdialog.c:224 +#| msgid "Could not show link" +msgid "Could not find application" +msgstr "No se pudo encontrar la aplicación" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Seleccionar una aplicación para abrir «%s»" + +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "No existen aplicaciones disponibles para abrir «%s»" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Seleccionar una aplicación para archivos de «%s»" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "No existen aplicaciones disponibles para abrir archivos de «%s»" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" +"Para más opciones, pulsar «Mostrar otras aplicaciones» o para instalar una " +"nueva aplicación, pulsar «Buscar aplicaciones en línea»" + +#: ../gtk/gtkappchooserdialog.c:428 +#| msgid "Forget password _immediately" +msgid "Forget association" +msgstr "Olvidar asociación" + +#: ../gtk/gtkappchooserdialog.c:493 +#| msgid "Show GTK+ Options" +msgid "Show other applications" +msgstr "Mostrar otras aplicaciones" + +#: ../gtk/gtkappchooserdialog.c:511 +#| msgctxt "Stock label" +#| msgid "_Open" +msgid "_Open" +msgstr "_Abrir" + +#: ../gtk/gtkappchooserwidget.c:593 +#| msgid "Application" +msgid "Default Application" +msgstr "Aplicación predeterminada" + +#: ../gtk/gtkappchooserwidget.c:729 +#| msgid "Application" +msgid "Recommended Applications" +msgstr "Aplicaciones recomendadas" + +#: ../gtk/gtkappchooserwidget.c:743 +#| msgid "Application" +msgid "Related Applications" +msgstr "Aplicaciones relacionadas" + +#: ../gtk/gtkappchooserwidget.c:756 +#| msgid "Application" +msgid "Other Applications" +msgstr "Otras aplicaciones" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Tipo de función no válido en la línea %d: «%s»" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "" "ID «%s» de objeto duplicado en la línea %d (anteriormente en la línea %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "Nombre de elemento raíz no válido: «%s»" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "Etiqueta no soportada: «%s»" @@ -477,7 +572,7 @@ msgstr "Etiqueta no soportada: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:882 +#: ../gtk/gtkcalendar.c:885 msgid "calendar:MY" msgstr "calendar:MY" @@ -485,7 +580,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:920 +#: ../gtk/gtkcalendar.c:923 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -494,7 +589,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1900 +#: ../gtk/gtkcalendar.c:1903 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -509,7 +604,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 +#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -525,7 +620,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 +#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -541,7 +636,7 @@ msgstr "%Id" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2253 +#: ../gtk/gtkcalendar.c:2256 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -549,7 +644,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "Desactivado" @@ -558,7 +653,7 @@ msgstr "Desactivado" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "No válido" @@ -567,7 +662,7 @@ msgstr "No válido" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "Acelerador nuevo…" @@ -577,7 +672,7 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "Escoja un color" @@ -736,7 +831,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 msgid "Manage Custom Sizes" msgstr "Gestionar tamaños personalizados" @@ -789,67 +884,67 @@ msgstr "_Derecho:" msgid "Paper Margins" msgstr "Márgenes del papel" -#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 msgid "_Insert Unicode Control Character" msgstr "_Insertar un carácter de control Unicode" -#: ../gtk/gtkentry.c:10227 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Mayús y Bloq Num están activados" -#: ../gtk/gtkentry.c:10229 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:10231 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Bloq Mayús está activado" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "Seleccionar un archivo" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "Escritorio" # src/file-manager/fm-icon-text-window.c:85 -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(Ninguno)" -#: ../gtk/gtkfilechooserbutton.c:2001 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "Otra…" -#: ../gtk/gtkfilechooserdefault.c:147 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "Teclee el nombre de la carpeta nueva" -#: ../gtk/gtkfilechooserdefault.c:946 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "No se pudo obtener la información acerca del archivo" -#: ../gtk/gtkfilechooserdefault.c:957 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "No se pudo añadir un marcador" -#: ../gtk/gtkfilechooserdefault.c:968 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "No se pudo quitar el marcador" -#: ../gtk/gtkfilechooserdefault.c:979 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "No se pudo crear la carpeta" -#: ../gtk/gtkfilechooserdefault.c:992 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -857,7 +952,7 @@ msgstr "" "No se pudo crear la carpeta, debido a que ya existe un archivo con el mismo " "nombre. Intenta usar un nombre distinto o renombre el archivo primero." -#: ../gtk/gtkfilechooserdefault.c:1006 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." @@ -865,11 +960,11 @@ msgstr "" "Sólo puede seleccionar carpetas. El elemento que ha seleccionado no es una " "carpeta; intentélo seleccionar un elemento diferente." -#: ../gtk/gtkfilechooserdefault.c:1016 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "Nombre de archivo no válido" -#: ../gtk/gtkfilechooserdefault.c:1026 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "No se pudo mostrar el contenido de la carpeta" @@ -877,195 +972,195 @@ msgstr "No se pudo mostrar el contenido de la carpeta" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1576 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s en %2$s" -#: ../gtk/gtkfilechooserdefault.c:1752 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "Buscar" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Usados recientemente" -#: ../gtk/gtkfilechooserdefault.c:2437 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "Seleccionar qué tipos de archivos se muestran" -#: ../gtk/gtkfilechooserdefault.c:2796 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Añadir la carpeta «%s» a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:2840 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Añadir la carpeta actual a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:2842 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Añadir las carpetas seleccionadas a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:2880 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "Quitar el marcador «%s»" -#: ../gtk/gtkfilechooserdefault.c:2882 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "No se puede quitar el marcador «%s»" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "Quitar el marcador seleccionado" -#: ../gtk/gtkfilechooserdefault.c:3452 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "Quitar" -#: ../gtk/gtkfilechooserdefault.c:3461 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "Renombrar…" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3624 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "Lugares" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3681 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_Lugares" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "_Añadir" -#: ../gtk/gtkfilechooserdefault.c:3745 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "Añade la carpeta seleccionada a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "_Quitar" -#: ../gtk/gtkfilechooserdefault.c:3892 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "No se pudo seleccionar el archivo" -#: ../gtk/gtkfilechooserdefault.c:4067 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "_Añadir a los marcadores" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "Mostrar archivos _ocultos" -#: ../gtk/gtkfilechooserdefault.c:4087 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "Mostrar columna de _tamaño" -#: ../gtk/gtkfilechooserdefault.c:4313 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "Archivos" -#: ../gtk/gtkfilechooserdefault.c:4364 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "Nombre" -#: ../gtk/gtkfilechooserdefault.c:4387 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "Tamaño" -#: ../gtk/gtkfilechooserdefault.c:4401 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "Modificado" #. Label -#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Nombre:" -#: ../gtk/gtkfilechooserdefault.c:4699 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_Buscar otras carpetas" -#: ../gtk/gtkfilechooserdefault.c:4969 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "Teclee un nombre de archivo" # C en conflicto con Cancelar #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5012 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "Crear car_peta" -#: ../gtk/gtkfilechooserdefault.c:5022 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_Lugar:" # El acelerador c entra en conflicto con cancelar -#: ../gtk/gtkfilechooserdefault.c:5226 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "_Guardar en la carpeta:" -#: ../gtk/gtkfilechooserdefault.c:5228 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "Crear en la _carpeta:" -#: ../gtk/gtkfilechooserdefault.c:6297 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "No se pudo leer el contenido de %s" -#: ../gtk/gtkfilechooserdefault.c:6301 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "No se pudo leer el contenido del la carpeta" -#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 -#: ../gtk/gtkfilechooserdefault.c:6607 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "Desconocido" -#: ../gtk/gtkfilechooserdefault.c:6409 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6411 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "Ayer a las %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7077 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "No se pudo cambiar a la carpeta porque no es local" -#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "La combinación %s ya existe" -#: ../gtk/gtkfilechooserdefault.c:7785 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "La combinación %s no existe" -#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Ya existe un archivo llamado «%s». ¿Quiere reemplazarlo?" -#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "El archivo ya existe en «%s». Si lo reemplaza sobreescribirá su contenido." -#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 msgid "_Replace" msgstr "_Reemplazar" @@ -1096,21 +1191,21 @@ msgstr "No se pudo montar %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "Ruta no válida" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1104 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "No hay coincidencias" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1115 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "Completado único" @@ -1118,13 +1213,13 @@ msgstr "Completado único" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1131 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "Completado, pero no único" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "Completando…" @@ -1132,7 +1227,7 @@ msgstr "Completando…" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "Sólo se pueden seleccionar archivos locales" @@ -1140,14 +1235,14 @@ msgstr "Sólo se pueden seleccionar archivos locales" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "Nombre de equipo incompleto; termínelo con «/»" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "La ruta no existe" @@ -1175,42 +1270,42 @@ msgstr "Tipografía" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "" "El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el " "saxofón detrás del palenque de paja." -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:367 msgid "_Family:" msgstr "_Familia:" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:373 msgid "_Style:" msgstr "_Estilo:" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:379 msgid "Si_ze:" msgstr "_Tamaño:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:558 +#: ../gtk/gtkfontsel.c:555 msgid "_Preview:" msgstr "_Vista previa:" -#: ../gtk/gtkfontsel.c:1658 +#: ../gtk/gtkfontsel.c:1655 msgid "Font Selection" msgstr "Selección de tipografías" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "Ocurrió un error al cargar el icono: %s" -#: ../gtk/gtkicontheme.c:1351 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1223,12 +1318,12 @@ msgstr "" "Puede obtener una copia desde:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1532 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "El icono «%s» no está presente en el tema" -#: ../gtk/gtkicontheme.c:3053 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "No se pudo cargar el icono" @@ -1263,36 +1358,36 @@ msgstr "_Abrir enlace" msgid "Copy _Link Address" msgstr "Copiar la dirección del _enlace" -#: ../gtk/gtklinkbutton.c:484 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "Copiar URL" -#: ../gtk/gtklinkbutton.c:647 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "URI inválida" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:515 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Cargar módulos adicionales GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MÓDULOS" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "Hacer todas las advertencias fatales" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "Opciones de depuración GTK+ a poner" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "Opciones de depuración GTK+ a quitar" @@ -1301,20 +1396,20 @@ msgstr "Opciones de depuración GTK+ a quitar" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:787 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:851 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "No se puede abrir el visor: %s" -#: ../gtk/gtkmain.c:915 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "Opciones GTK+" -#: ../gtk/gtkmain.c:915 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Mostrar opciones GTK+" @@ -1399,7 +1494,7 @@ msgstr "Shell Z" msgid "Cannot end process with PID %d: %s" msgstr "No se puede finalizar el proceso con PID %d: %s" -#: ../gtk/gtknotebook.c:4910 ../gtk/gtknotebook.c:7567 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "Página %u" @@ -1432,7 +1527,7 @@ msgstr "" " Superior: %s %s\n" " Inferior: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 msgid "Manage Custom Sizes..." msgstr "Gestión de tamaños personalizados…" @@ -1440,7 +1535,7 @@ msgstr "Gestión de tamaños personalizados…" msgid "_Format for:" msgstr "_Formato para:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 msgid "_Paper size:" msgstr "Tamaño del _papel:" @@ -1448,19 +1543,19 @@ msgstr "Tamaño del _papel:" msgid "_Orientation:" msgstr "_Orientación:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 msgid "Page Setup" msgstr "Configuración de página" -#: ../gtk/gtkpathbar.c:158 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "Ruta superior" -#: ../gtk/gtkpathbar.c:160 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "Ruta inferior" -#: ../gtk/gtkpathbar.c:1523 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "Sistema de archivos raíz" @@ -1484,75 +1579,75 @@ msgstr "_Guardar en la carpeta:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s tarea #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "Estado inicial" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "Preparándose para imprimir" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "Generando datos" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "Enviando datos" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "Esperando" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Bloqueado en una hoja" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "Imprimiendo" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "Terminando" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "Terminado con error" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "Preparando %d" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "Preparando" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "Imprimiendo %d" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "Error al crear la vista previa de impresión" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "La razón más probable es que no se pudiera crear un archivo temporal." @@ -1574,7 +1669,7 @@ msgstr "Papel agotado" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "Pausada" @@ -1619,49 +1714,49 @@ msgstr "Manipulador inválido a PrintDlgEx" msgid "Unspecified error" msgstr "Error no especificado" -#: ../gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:619 msgid "Getting printer information failed" msgstr "Falló la obtención de la información de la impresora" -#: ../gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1874 msgid "Getting printer information..." msgstr "Obteniendo la información de la impresora…" -#: ../gtk/gtkprintunixdialog.c:2140 +#: ../gtk/gtkprintunixdialog.c:2141 msgid "Printer" msgstr "Impresora" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2150 +#: ../gtk/gtkprintunixdialog.c:2151 msgid "Location" msgstr "Lugar" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2161 +#: ../gtk/gtkprintunixdialog.c:2162 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintunixdialog.c:2187 +#: ../gtk/gtkprintunixdialog.c:2188 msgid "Range" msgstr "Rango" -#: ../gtk/gtkprintunixdialog.c:2191 +#: ../gtk/gtkprintunixdialog.c:2192 msgid "_All Pages" msgstr "_Todas las páginas" -#: ../gtk/gtkprintunixdialog.c:2198 +#: ../gtk/gtkprintunixdialog.c:2199 msgid "C_urrent Page" msgstr "Página a_ctual" -#: ../gtk/gtkprintunixdialog.c:2208 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Se_lection" msgstr "Se_lección" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "Pag_es:" msgstr "Págin_as:" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintunixdialog.c:2219 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1669,28 +1764,28 @@ msgstr "" "Especifique uno o más rangos de páginas,\n" "ej. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2228 +#: ../gtk/gtkprintunixdialog.c:2229 msgid "Pages" msgstr "Páginas" -#: ../gtk/gtkprintunixdialog.c:2241 +#: ../gtk/gtkprintunixdialog.c:2242 msgid "Copies" msgstr "Copias" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2246 +#: ../gtk/gtkprintunixdialog.c:2247 msgid "Copie_s:" msgstr "_Copias:" -#: ../gtk/gtkprintunixdialog.c:2264 +#: ../gtk/gtkprintunixdialog.c:2265 msgid "C_ollate" msgstr "_Intercalar" -#: ../gtk/gtkprintunixdialog.c:2272 +#: ../gtk/gtkprintunixdialog.c:2273 msgid "_Reverse" msgstr "In_vertir" -#: ../gtk/gtkprintunixdialog.c:2292 +#: ../gtk/gtkprintunixdialog.c:2293 msgid "General" msgstr "General" @@ -1700,168 +1795,168 @@ msgstr "General" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "De izquierda a derecha, de arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "De izquierda a derecha, de abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "De derecha a izquierda, de arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "De derecha a izquierda, de abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "De arriba a abajo, de izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "De arriba a abajo, de derecha a izquierda" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "De abajo a arriba, de izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "De abajo a arriba, de derecha a izquierda" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Orden de las hojas" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Left to right" msgstr "Izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3062 +#: ../gtk/gtkprintunixdialog.c:3063 msgid "Right to left" msgstr "Derecha a izquierda" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Top to bottom" msgstr "De arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3075 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Bottom to top" msgstr "De abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3315 +#: ../gtk/gtkprintunixdialog.c:3316 msgid "Layout" msgstr "Disposición" -#: ../gtk/gtkprintunixdialog.c:3319 +#: ../gtk/gtkprintunixdialog.c:3320 msgid "T_wo-sided:" msgstr "Por las _dos caras:" -#: ../gtk/gtkprintunixdialog.c:3334 +#: ../gtk/gtkprintunixdialog.c:3335 msgid "Pages per _side:" msgstr "Páginas por _hoja:" -#: ../gtk/gtkprintunixdialog.c:3351 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "Page or_dering:" msgstr "Or_den de páginas:" -#: ../gtk/gtkprintunixdialog.c:3367 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "_Only print:" msgstr "_Sólo imprimir:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "All sheets" msgstr "Todas las hojas" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Even sheets" msgstr "Hojas pares" -#: ../gtk/gtkprintunixdialog.c:3384 +#: ../gtk/gtkprintunixdialog.c:3385 msgid "Odd sheets" msgstr "Hojas impares" -#: ../gtk/gtkprintunixdialog.c:3387 +#: ../gtk/gtkprintunixdialog.c:3388 msgid "Sc_ale:" msgstr "_Escala:" -#: ../gtk/gtkprintunixdialog.c:3414 +#: ../gtk/gtkprintunixdialog.c:3415 msgid "Paper" msgstr "Papel" -#: ../gtk/gtkprintunixdialog.c:3418 +#: ../gtk/gtkprintunixdialog.c:3419 msgid "Paper _type:" msgstr "_Tipo de papel:" -#: ../gtk/gtkprintunixdialog.c:3433 +#: ../gtk/gtkprintunixdialog.c:3434 msgid "Paper _source:" msgstr "_Fuente del papel:" -#: ../gtk/gtkprintunixdialog.c:3448 +#: ../gtk/gtkprintunixdialog.c:3449 msgid "Output t_ray:" msgstr "_Bandeja de salida:" -#: ../gtk/gtkprintunixdialog.c:3488 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Or_ientation:" msgstr "Or_ientación:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Portrait" msgstr "Retrato" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Landscape" msgstr "Paisaje" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse portrait" msgstr "Retrato invertido" -#: ../gtk/gtkprintunixdialog.c:3506 +#: ../gtk/gtkprintunixdialog.c:3507 msgid "Reverse landscape" msgstr "Paisaje invertido" -#: ../gtk/gtkprintunixdialog.c:3551 +#: ../gtk/gtkprintunixdialog.c:3552 msgid "Job Details" msgstr "Detalles de la tarea" -#: ../gtk/gtkprintunixdialog.c:3557 +#: ../gtk/gtkprintunixdialog.c:3558 msgid "Pri_ority:" msgstr "_Prioridad:" -#: ../gtk/gtkprintunixdialog.c:3572 +#: ../gtk/gtkprintunixdialog.c:3573 msgid "_Billing info:" msgstr "Info de _facturación:" -#: ../gtk/gtkprintunixdialog.c:3590 +#: ../gtk/gtkprintunixdialog.c:3591 msgid "Print Document" msgstr "Imprimir documento" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3599 +#: ../gtk/gtkprintunixdialog.c:3600 msgid "_Now" msgstr "_Ahora" -#: ../gtk/gtkprintunixdialog.c:3610 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "A_t:" msgstr "_En:" @@ -1869,7 +1964,7 @@ msgstr "_En:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3616 +#: ../gtk/gtkprintunixdialog.c:3617 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1877,72 +1972,72 @@ msgstr "" "Especifique la hora de impresión,\n" "ej. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3626 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "Time of print" msgstr "Hora de la impresión" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "On _hold" msgstr "En _espera" -#: ../gtk/gtkprintunixdialog.c:3643 +#: ../gtk/gtkprintunixdialog.c:3644 msgid "Hold the job until it is explicitly released" msgstr "Retener el trabajo hasta que se libere explícitamente" -#: ../gtk/gtkprintunixdialog.c:3663 +#: ../gtk/gtkprintunixdialog.c:3664 msgid "Add Cover Page" msgstr "Añadir página de cubierta" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3672 +#: ../gtk/gtkprintunixdialog.c:3673 msgid "Be_fore:" msgstr "An_tes:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3690 +#: ../gtk/gtkprintunixdialog.c:3691 msgid "_After:" msgstr "_Después:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3708 +#: ../gtk/gtkprintunixdialog.c:3709 msgid "Job" msgstr "Tarea" -#: ../gtk/gtkprintunixdialog.c:3774 +#: ../gtk/gtkprintunixdialog.c:3775 msgid "Advanced" msgstr "Avanzado" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3812 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Image Quality" msgstr "Calidad de imagen" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3816 +#: ../gtk/gtkprintunixdialog.c:3817 msgid "Color" msgstr "Color" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3821 +#: ../gtk/gtkprintunixdialog.c:3822 msgid "Finishing" msgstr "Terminando" -#: ../gtk/gtkprintunixdialog.c:3831 +#: ../gtk/gtkprintunixdialog.c:3832 msgid "Some of the settings in the dialog conflict" msgstr "Algunos de los ajustes del diálogo están en conflicto" -#: ../gtk/gtkprintunixdialog.c:3854 +#: ../gtk/gtkprintunixdialog.c:3855 msgid "Print" msgstr "Imprimir" -#: ../gtk/gtkrc.c:947 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Imposible encontrar un archivo imagen en pixmap_path: «%s»" @@ -1957,36 +2052,36 @@ msgstr "Esta función no está implementada para los widgets de la clase «%s»" msgid "Select which type of documents are shown" msgstr "Seleccionar qué tipos de documentos se muestran" -#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "No se encontró ningún elementos para la URI «%s»" -#: ../gtk/gtkrecentchooserdefault.c:1297 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "Filtro sin título" -#: ../gtk/gtkrecentchooserdefault.c:1650 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "No se pudo quitar el elemento" -#: ../gtk/gtkrecentchooserdefault.c:1694 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "No se pudo limpiar la lista" -#: ../gtk/gtkrecentchooserdefault.c:1778 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "Copiar _lugar" -#: ../gtk/gtkrecentchooserdefault.c:1791 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "_Quitar de la lista" -#: ../gtk/gtkrecentchooserdefault.c:1800 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "_Limpiar lista" -#: ../gtk/gtkrecentchooserdefault.c:1814 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "Mostrar recursos _privados" @@ -2053,12 +2148,12 @@ msgstr "" "No se encontró ninguna aplicación registrada con el nombre «%s» para el " "elemento con el URI «%s»" -#: ../gtk/gtkspinner.c:326 +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Marcador incrementable" -#: ../gtk/gtkspinner.c:327 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Proporciona una indicación visual del progreso" @@ -2572,7 +2667,7 @@ msgstr "_Reducir" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 msgctxt "switch" msgid "ON" msgstr "❙" @@ -2580,17 +2675,17 @@ msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 msgctxt "switch" msgid "OFF" msgstr "○" -#: ../gtk/gtkswitch.c:943 +#: ../gtk/gtkswitch.c:959 msgctxt "light switch widget" msgid "Switch" msgstr "Interruptor" -#: ../gtk/gtkswitch.c:944 +#: ../gtk/gtkswitch.c:960 msgid "Switches between on and off states" msgstr "Cambia entre los estados encendido y apagado" @@ -2604,108 +2699,108 @@ msgstr "Error desconocido al intentar deserializar %s" msgid "No deserialize function found for format %s" msgstr "No se encontró función de deserialización para el formato %s" -#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Se encontraron tanto «id» como «name» en el elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Se encontró el atributo «%s» dos veces en el elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:851 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "El elemento <%s> tiene el ID inválido «%s»" -#: ../gtk/gtktextbufferserialize.c:861 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "El elemento <%s> no tiene ni un elemento «name» ni un elemento «id»" -#: ../gtk/gtktextbufferserialize.c:948 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "El atributo «%s» se repite dos veces en el mismo elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "El atributo «%s» es inválido en el elemento <%s> en este contexto" -#: ../gtk/gtktextbufferserialize.c:1030 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "La etiqueta «%s» no ha sido definida." -#: ../gtk/gtktextbufferserialize.c:1042 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Se encontró una etiqueta anónima y las etiquetas no se pueden crear." -#: ../gtk/gtktextbufferserialize.c:1053 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "La etiqueta «%s» no existe en el búfer y las etiquetas no se pueden crear." -#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 -#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "El elemento <%s» no se permite debajo de <%s>" -#: ../gtk/gtktextbufferserialize.c:1183 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» no es un tipo de atributo válido" -#: ../gtk/gtktextbufferserialize.c:1191 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» no es un nombre de atributo válido" -#: ../gtk/gtktextbufferserialize.c:1201 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "«%s» no se pudo convertir a un valor de tipo «%s»para el atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1210 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» no es un valor válido para el atributo «%s»" -#: ../gtk/gtktextbufferserialize.c:1295 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "La etiqueta «%s» ya está definida" -#: ../gtk/gtktextbufferserialize.c:1308 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "La etiqueta «%s» tiene prioridad «%s» inválida" -#: ../gtk/gtktextbufferserialize.c:1361 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "" "El elemento más externo en el texto debe ser no <%s>" -#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "Ya se ha especificado un elemento <%s>" -#: ../gtk/gtktextbufferserialize.c:1392 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "Un elemento no puede estar antes de un elemento " -#: ../gtk/gtktextbufferserialize.c:1792 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "Los datos serializados están mal formados" -#: ../gtk/gtktextbufferserialize.c:1870 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -2752,11 +2847,6 @@ msgstr "En_samblador de ancho cero [ZWJ]" msgid "ZWNJ Zero width _non-joiner" msgstr "_No ensamblador de ancho cero [ZWNJ]" -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Imposible encontrar el motor de temas en la ruta al _modulo: «%s»," - #: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" @@ -3804,258 +3894,258 @@ msgstr "Vietnamita (VIQR)" msgid "X Input Method" msgstr "Método de entrada X" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "Nombre de usuario:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "Contraseña:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "" "Se necesita autenticación para imprimir el documento «%s» en la impresora %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Se necesita autenticación para imprimir el documento en %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Se necesita autenticación para obtener los atributos del trabajo «%s»" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "Se necesita autenticación para obtener los atributos de un trabajo" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "" "Se necesita autenticación para obtener los atributos de la impresora %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "Se necesita autenticación para obtener los atributos de una impresora" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "" "Se necesita autenticación para obtener la impresora predeterminada de %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Se necesita autenticación para obtener las impresoras de %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 #, c-format msgid "Authentication is required to get a file from %s" msgstr "Se necesita autenticación para obtener un archivo de %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "Se necesita autenticación en %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "Dominio:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Se necesita autenticación para imprimir el documento «%s»" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "" "Se necesita autenticación para imprimir este documento en la impresora %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "Se necesita autenticación para imprimir este documento" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "A la impresora «%s» le queda poco tóner." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "A la impresora «%s» no le queda tóner." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "A la impresora «%s» le queda poco revelador." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "A la impresora «%s» no le queda revelador." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "A la impresora «%s» le queda poco de, al menos, un cartucho." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "A la impresora «%s» no le queda, al menos, un cartucho." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "La tapa de la impresora «%s» está abierta." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "La puerta de la impresora «%s» está abierta." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "La impresora «%s» tiene poco papel." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "La impresora «%s» no tiene papel." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "La impresora «%s» está actualmente desconectada." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "Existe un problema con la impresora «%s»." #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "Pausado; rechazando trabajos" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "Rechazando trabajos" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "Dos caras" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "Tipo de papel" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "Fuente de papel" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "Bandeja de salida" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "Resolución" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "Prefiltrado GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "Una cara" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "Margen largo (estándar)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "Margen corto (girar)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "Autoseleccionar" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "Predeterminado de la impresora" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "Sólo empotrar tipografías GhostScript" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "Convertir a PS de nivel 1" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "Convertir a PS de nivel 2" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "Sin prefiltrado" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "Miscelánea" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "Urgente" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "Alta" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "Media" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "Baja" @@ -4063,21 +4153,21 @@ msgstr "Baja" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "Páginas por hoja" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "Prioridad del trabajo" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "Información de facturación" @@ -4085,45 +4175,45 @@ msgstr "Información de facturación" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "Ninguna" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "Clasificado" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "Confidencial" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "Secreto" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "Estándar" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "Alto secreto" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "Desclasificado" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "Antes" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "Después" @@ -4131,14 +4221,14 @@ msgstr "Después" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "Imprimir en" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "Imprimir a la hora" @@ -4146,7 +4236,7 @@ msgstr "Imprimir a la hora" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "Personalizado %sx%s" @@ -4161,28 +4251,28 @@ msgstr "salida.%s" msgid "Print to File" msgstr "Imprimir a un archivo" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Páginas por _hoja:" -#: ../modules/printbackends/file/gtkprintbackendfile.c:649 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "Archivo" -#: ../modules/printbackends/file/gtkprintbackendfile.c:659 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "Formato de _salida" @@ -4251,6 +4341,9 @@ msgstr "" "No se ha podido cargar la imagen «%s»: el motivo es desconocido, " "probablemente el archivo gráfico esté corrupto" +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "Imposible encontrar el motor de temas en la ruta al _modulo: «%s»," + #~ msgid "X screen to use" #~ msgstr "Pantalla [screen] X que usar" From f9e685e5c082e4d7b0d02bba5a813b9ece97bdad Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Sat, 8 Jan 2011 17:25:39 +0100 Subject: [PATCH 1267/1463] [Doc] gtk_symbolic_color_resolve()'s props arg can be NULL Document this behavior and add annotations. --- gtk/gtksymboliccolor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtksymboliccolor.c b/gtk/gtksymboliccolor.c index 2345cfa396..ee7b714550 100644 --- a/gtk/gtksymboliccolor.c +++ b/gtk/gtksymboliccolor.c @@ -465,7 +465,8 @@ _shade_color (GdkRGBA *color, /** * gtk_symbolic_color_resolve: * @color: a #GtkSymbolicColor - * @props: #GtkStyleProperties to use when resolving named colors + * @props: (allow-none): #GtkStyleProperties to use when resolving + * named colors, or %NULL * @resolved_color: (out): return location for the resolved color * * If @color is resolvable, @resolved_color will be filled in @@ -473,6 +474,9 @@ _shade_color (GdkRGBA *color, * if @color can't be resolved, it is due to it being defined on * top of a named color that doesn't exist in @props. * + * @props must be non-%NULL if @color was created using + * gtk_symbolic_color_named_new(), but can be omitted in other cases. + * * Returns: %TRUE if the color has been resolved * * Since: 3.0 From e0d393dec88faa35e969224f7824250cbe138395 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Sun, 9 Jan 2011 16:42:40 +0100 Subject: [PATCH 1268/1463] Updated Galician translations --- po-properties/gl.po | 127 ++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 87 deletions(-) diff --git a/po-properties/gl.po b/po-properties/gl.po index fc6ad53e11..1b82960712 100644 --- a/po-properties/gl.po +++ b/po-properties/gl.po @@ -25,8 +25,8 @@ msgstr "" "Project-Id-Version: gtk+-master-po-properties-gl-77816____.merged\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2011-01-06 12:46+0000\n" -"PO-Revision-Date: 2011-01-07 00:11+0100\n" +"POT-Creation-Date: 2011-01-08 09:41+0000\n" +"PO-Revision-Date: 2011-01-09 16:42+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" @@ -42,17 +42,14 @@ msgid "Display" msgstr "Pantalla" #: ../gdk/gdkcursor.c:128 -#| msgid "Cursor" msgid "Cursor type" msgstr "Tipo de cursor" #: ../gdk/gdkcursor.c:129 -#| msgid "Secondary storage type" msgid "Standard cursor type" msgstr "Tipo de cursor estándar" #: ../gdk/gdkcursor.c:137 -#| msgid "Display the cell" msgid "Display of this cursor" msgstr "" @@ -158,12 +155,10 @@ msgid "Device identifier" msgstr "Identificador do dispotitivo" #: ../gdk/x11/gdkdevicemanager-xi2.c:115 -#| msgid "mode" msgid "Opcode" msgstr "Opcode" #: ../gdk/x11/gdkdevicemanager-xi2.c:116 -#| msgid "Event base for XInput events" msgid "Opcode for XInput2 requests" msgstr "Opcode para as solicitudes XInput2" @@ -232,7 +227,6 @@ msgid "Website label" msgstr "Etiqueta do sitio web" #: ../gtk/gtkaboutdialog.c:408 -#| msgid "The URL for the link to the website of the program" msgid "The label for the link to the website of the program" msgstr "A etiqueta para a ligazón do sitio web para este sitio" @@ -644,22 +638,18 @@ msgid "" msgstr "" #: ../gtk/gtkappchooser.c:58 -#| msgid "Font style" msgid "Content type" msgstr "Tipo de contido" #: ../gtk/gtkappchooser.c:59 -#| msgid "The contents of the entry" msgid "The content type used by the open with object" msgstr "O tipo de contido usado polo «abrir con obxecto»" #: ../gtk/gtkappchooserdialog.c:683 -#| msgid "Filter" msgid "GFile" msgstr "GFile" #: ../gtk/gtkappchooserdialog.c:684 -#| msgid "The title of the file chooser dialog." msgid "The GFile used by the app chooser dialog" msgstr "O GFile usado polo diálogo de selección de aplicativo" @@ -668,7 +658,6 @@ msgid "Show default app" msgstr "Mostrar o aplicativo predeterminado" #: ../gtk/gtkappchooserwidget.c:1016 -#| msgid "Whether the widget is the default widget" msgid "Whether the widget should show the default application" msgstr "Indica se o widget debería mostrar o aplicativo predeterminado" @@ -677,10 +666,9 @@ msgid "Show recommended apps" msgstr "Mostrar os aplicativos recomendados" #: ../gtk/gtkappchooserwidget.c:1030 -#, fuzzy #| msgid "Whether images should be shown on buttons" msgid "Whether the widget should show recommended applications" -msgstr "Indica se se deberían mostrar as imaxes nos botóns" +msgstr "Indica se o widget deberían mostrar aplicativos recomendados" #: ../gtk/gtkappchooserwidget.c:1043 msgid "Show fallback apps" @@ -694,27 +682,22 @@ msgstr "" "Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" #: ../gtk/gtkappchooserwidget.c:1056 -#| msgid "Show Tooltips" msgid "Show other apps" msgstr "Mostrar outros aplicativos" #: ../gtk/gtkappchooserwidget.c:1057 -#, fuzzy #| msgid "Whether the widget has the input focus" msgid "Whether the widget should show other applications" -msgstr "Indica se o widget ten o foco de entrada" +msgstr "Indica se o widget deberían mostrar outros aplicativos" #: ../gtk/gtkappchooserwidget.c:1070 -#| msgid "Show Day Names" msgid "Show all apps" msgstr "Mostrar tódolos aplicativos" #: ../gtk/gtkappchooserwidget.c:1071 -#, fuzzy #| msgid "Whether the label widget should fill all available horizontal space" msgid "Whether the widget should show all applications" -msgstr "" -"Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" +msgstr "Indica se o widget deberían mostrar tódolos aplicativos" #: ../gtk/gtkappchooserwidget.c:1084 msgid "Widget's default text" @@ -1225,38 +1208,31 @@ msgid "Space which is inserted between cells" msgstr "Espazo que se introduce entre as celas" #: ../gtk/gtkcellareabox.c:339 -#| msgid "Whether to use the hexpand property" msgid "Whether the cell expands" msgstr "Indica se a cela se expande" #: ../gtk/gtkcellareabox.c:354 -#| msgid "xalign" msgid "Align" msgstr "Aliñar" #: ../gtk/gtkcellareabox.c:355 -#| msgid "Whether the item should start a new row" msgid "Whether cell should align with adjacent rows" msgstr "Indica se a cela debería aliñarse coas filas adxacentes" #: ../gtk/gtkcellareabox.c:371 -#| msgid "Pixel size" msgid "Fixed Size" msgstr "Tamaño fixo" #: ../gtk/gtkcellareabox.c:372 -#, fuzzy #| msgid "Whether the children should all be the same size" msgid "Whether cells should be the same size in all rows" -msgstr "Indica se todos os fillos deben ser do mesmo tamaño" +msgstr "Indica se todas as celas deben ter o mesmo tamaño en todas as filas" #: ../gtk/gtkcellareabox.c:388 -#| msgid "Pack type" msgid "Pack Type" msgstr "Tipo de empaquetado" #: ../gtk/gtkcellareabox.c:389 -#, fuzzy #| msgid "" #| "A GtkPackType indicating whether the child is packed with reference to " #| "the start or end of the parent" @@ -1264,15 +1240,14 @@ msgid "" "A GtkPackType indicating whether the cell is packed with reference to the " "start or end of the cell area" msgstr "" -"Un GtkPackType que indica se o fillo está empaquetado en relación ao inicio " -"ou ao final do pai" +"Un GtkPackType que indica se a cela está empaquetada con referencia ao " +"inicio ou o final da área da cela" #: ../gtk/gtkcellarea.c:773 msgid "Focus Cell" msgstr "Cela engocada" #: ../gtk/gtkcellarea.c:774 -#| msgid "The item which is currently active" msgid "The cell which currently has focus" msgstr "A cela que está enfocada actualmente" @@ -1281,17 +1256,14 @@ msgid "Edited Cell" msgstr "Cela editada" #: ../gtk/gtkcellarea.c:793 -#| msgid "The item which is currently active" msgid "The cell which is currently being edited" msgstr "A cela que está editándose actualmente" #: ../gtk/gtkcellarea.c:811 -#| msgid "Widget" msgid "Edit Widget" msgstr "Widget editada" #: ../gtk/gtkcellarea.c:812 -#| msgid "The current page in the document" msgid "The widget currently editing the edited cell" msgstr "" @@ -1309,17 +1281,14 @@ msgid "Minimum Width" msgstr "Largura mínima" #: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 -#| msgid "Minimum child width" msgid "Minimum cached width" msgstr "" #: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 -#| msgid "Minimum Content Height" msgid "Minimum Height" msgstr "Altura mínima" #: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 -#| msgid "Minimum child height" msgid "Minimum cached height" msgstr "" @@ -1873,7 +1842,7 @@ msgstr "" "parámetro probabelmente non o necesite" #: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 -#: ../gtk/gtkprogressbar.c:207 +#: ../gtk/gtkprogressbar.c:217 msgid "Ellipsize" msgstr "Elipsis" @@ -2123,10 +2092,9 @@ msgstr "Área da cela" #: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 #: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 msgid "The GtkCellArea used to layout cells" -msgstr "" +msgstr "O GtkCellArea usado para dispor celas" #: ../gtk/gtkcellview.c:265 -#| msgid "Style context" msgid "Cell Area Context" msgstr "Contexto da área da cela" @@ -2147,14 +2115,14 @@ msgid "Whether to force cells to be drawn in a sensitive state" msgstr "Indica se se deben debuxar as liñas na visualización en árbore" #: ../gtk/gtkcellview.c:302 -#, fuzzy #| msgid "Model" msgid "Fit Model" -msgstr "Modelo" +msgstr "Arranxar modelo" #: ../gtk/gtkcellview.c:303 msgid "Whether to request enough space for every row in the model" msgstr "" +"Indica se solicitar ou non o espazo suficiente para cada fila no modelo" #: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" @@ -3261,28 +3229,24 @@ msgid "The amount of space between two consecutive columns" msgstr "A cantidade de espazo entre dúas columnas consecutivas" #: ../gtk/gtkgrid.c:1282 -#, fuzzy #| msgid "Homogeneous" msgid "Row Homogeneous" -msgstr "Homoxéneo" +msgstr "Fila homoxénea" #: ../gtk/gtkgrid.c:1283 -#, fuzzy #| msgid "If TRUE, the table cells are all the same width/height" msgid "If TRUE, the rows are all the same height" -msgstr "Se é TRUE, as celas da táboa teñen todas a mesma largura ou altura" +msgstr "Se é TRUE, todas as filas teñen a mesma altura" #: ../gtk/gtkgrid.c:1289 -#, fuzzy #| msgid "Homogeneous" msgid "Column Homogeneous" -msgstr "Homoxéneo" +msgstr "Columnas homoxéneas" #: ../gtk/gtkgrid.c:1290 -#, fuzzy #| msgid "If TRUE, the table cells are all the same width/height" msgid "If TRUE, the columns are all the same width" -msgstr "Se é TRUE, as celas da táboa teñen todas a mesma largura ou altura" +msgstr "Se é TRUE, todas as columnas teñen a mesma largura" #: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 msgid "Left attachment" @@ -3297,17 +3261,15 @@ msgid "Top attachment" msgstr "Anexo superior" #: ../gtk/gtkgrid.c:1304 -#, fuzzy #| msgid "The row number to attach the top of a child widget to" msgid "The row number to attach the top side of a child widget to" -msgstr "O número de filas para anexar encima do widget fillo" +msgstr "O número de filas para anexar na parte superior do widget fillo" #: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:259 msgid "Width" msgstr "Largura" #: ../gtk/gtkgrid.c:1311 -#| msgid "The number of columns in the table" msgid "The number of columns that a child spans" msgstr "O número de columnas nas que se expande un fillo" @@ -3316,7 +3278,6 @@ msgid "Height" msgstr "Altura" #: ../gtk/gtkgrid.c:1318 -#| msgid "The number of rows in the table" msgid "The number of rows that a child spans" msgstr "O número de filas nas que un fillo se expande" @@ -4676,15 +4637,15 @@ msgstr "" msgid "Text to be displayed in the progress bar" msgstr "Texto que se mostrará na barra de progreso" -#: ../gtk/gtkprogressbar.c:185 +#: ../gtk/gtkprogressbar.c:195 msgid "Show text" msgstr "Mostrar texto" -#: ../gtk/gtkprogressbar.c:186 +#: ../gtk/gtkprogressbar.c:196 msgid "Whether the progress is shown as text." msgstr "Indica se o progreso se mostra como texto." -#: ../gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:218 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4692,51 +4653,51 @@ msgstr "" "O lugar preferido para a elipse da cadea, se a barra de progreso non ten " "espazo suficiente para mostrar a cadea completa." -#: ../gtk/gtkprogressbar.c:215 +#: ../gtk/gtkprogressbar.c:225 msgid "X spacing" msgstr "Espazamento X" -#: ../gtk/gtkprogressbar.c:216 +#: ../gtk/gtkprogressbar.c:226 msgid "Extra spacing applied to the width of a progress bar." msgstr "Espazo extra aplicado á largura dunha barra de progreso." -#: ../gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:231 msgid "Y spacing" msgstr "Espazamento Y" -#: ../gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:232 msgid "Extra spacing applied to the height of a progress bar." msgstr "Un espazamento extra aplicado á altura dunha barra de progreso." -#: ../gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:245 msgid "Minimum horizontal bar width" msgstr "Largura horizontal mínima da barra" -#: ../gtk/gtkprogressbar.c:236 +#: ../gtk/gtkprogressbar.c:246 msgid "The minimum horizontal width of the progress bar" msgstr "A largura horizontal mínima da barra de progreso" -#: ../gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:258 msgid "Minimum horizontal bar height" msgstr "Altura horizontal mínima da barra" -#: ../gtk/gtkprogressbar.c:249 +#: ../gtk/gtkprogressbar.c:259 msgid "Minimum horizontal height of the progress bar" msgstr "A altura horizontal mínima da barra de progreso" -#: ../gtk/gtkprogressbar.c:261 +#: ../gtk/gtkprogressbar.c:271 msgid "Minimum vertical bar width" msgstr "Largura vertical mínima da barra" -#: ../gtk/gtkprogressbar.c:262 +#: ../gtk/gtkprogressbar.c:272 msgid "The minimum vertical width of the progress bar" msgstr "A largura vertical mínima da barra de progreso" -#: ../gtk/gtkprogressbar.c:274 +#: ../gtk/gtkprogressbar.c:284 msgid "Minimum vertical bar height" msgstr "Altura vertical mínima da barra" -#: ../gtk/gtkprogressbar.c:275 +#: ../gtk/gtkprogressbar.c:285 msgid "The minimum vertical height of the progress bar" msgstr "A altura vertical mínima da barra de progreso" @@ -5092,9 +5053,10 @@ msgid "" "Vertical adjustment that is shared between the scrollable widget and its " "controller" msgstr "" +"O axuste vertical que é compartido entre o widget desprazábel e o seu " +"controlador" #: ../gtk/gtkscrollable.c:120 -#| msgid "Horizontal Scrollbar Policy" msgid "Horizontal Scrollable Policy" msgstr "Normativa do desprazamento horizontal" @@ -5103,10 +5065,9 @@ msgid "How the size of the content should be determined" msgstr "Como se debe determinar o tamaño do contido" #: ../gtk/gtkscrollable.c:136 -#, fuzzy #| msgid "Vertical Scrollbar Policy" msgid "Vertical Scrollable Policy" -msgstr "Comportamento da barra de desprazamento vertical" +msgstr "Normativa de desprazamento vertical" #: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" @@ -5222,19 +5183,19 @@ msgstr "" "Número de píxeles entre as barras de desprazamentos e a xanela con " "desprazamento" -#: ../gtk/gtkscrolledwindow.c:384 +#: ../gtk/gtkscrolledwindow.c:391 msgid "Minimum Content Width" msgstr "Anchura mínima do contido" -#: ../gtk/gtkscrolledwindow.c:385 +#: ../gtk/gtkscrolledwindow.c:392 msgid "The minimum width that the scrolled window will allocate to its content" msgstr "A anchura mínima que a xanela desprazada reservará para o seu contido" -#: ../gtk/gtkscrolledwindow.c:391 +#: ../gtk/gtkscrolledwindow.c:406 msgid "Minimum Content Height" msgstr "Altura mínima do contido" -#: ../gtk/gtkscrolledwindow.c:392 +#: ../gtk/gtkscrolledwindow.c:407 msgid "" "The minimum height that the scrolled window will allocate to its content" msgstr "A altura mínima que a xanela desprazada reservará para o seu contido" @@ -6014,12 +5975,10 @@ msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext de onde obter o estilo" #: ../gtk/gtkstylecontext.c:541 -#| msgid "Associated device" msgid "The associated GdkScreen" msgstr "O GdkScreen asociado" #: ../gtk/gtkstylecontext.c:547 -#| msgid "Fraction" msgid "Direction" msgstr "Enderezo" @@ -6523,7 +6482,6 @@ msgid "Color with which to draw error-indication underlines" msgstr "Cor coa que debuxar o subliñado de indicación de erros" #: ../gtk/gtkthemingengine.c:249 -#| msgid "Theme Name" msgid "Theming engine name" msgstr "Nome do motor de temas" @@ -6814,12 +6772,10 @@ msgid "Padding that should be put around icons in the tray" msgstr "Separación que poñer ao redor das iconas na bandexa" #: ../gtk/gtktreemenu.c:287 -#| msgid "TreeView Model" msgid "TreeMenu model" msgstr "Modelo TreeMenu" #: ../gtk/gtktreemenu.c:288 -#| msgid "The model for the tree view" msgid "The model for the tree menu" msgstr "O modelo para o menú en árbore" @@ -6829,10 +6785,9 @@ msgstr "Fila da raíz do TreeMenu" #: ../gtk/gtktreemenu.c:311 msgid "The TreeMenu will display children of the specified root" -msgstr "" +msgstr "O TreeMenu mostrará os fillos nunha raíz especificada" #: ../gtk/gtktreemenu.c:344 -#| msgid "Tearoff Title" msgid "Tearoff" msgstr "" @@ -7202,12 +7157,10 @@ msgstr "" "Determina como se debuxa a caixa sombreada ao redor da área de visualización" #: ../gtk/gtkvolumebutton.c:156 -#| msgid "Success color for symbolic icons" msgid "Use symbolic icons" msgstr "Usar iconas simbólicas" #: ../gtk/gtkvolumebutton.c:157 -#| msgid "Warning color for symbolic icons" msgid "Whether to use symbolic icons" msgstr "Indica se usar iconas simbólicas" From 89c8e2af2d6f2c36273d1cadc48653be0a51fe62 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Sun, 9 Jan 2011 21:04:58 +0200 Subject: [PATCH 1269/1463] Updated Hebrew translation --- po/he.po | 901 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 488 insertions(+), 413 deletions(-) diff --git a/po/he.po b/po/he.po index 48fac9b142..8443e6a61e 100644 --- a/po/he.po +++ b/po/he.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-19 09:02+0200\n" -"PO-Revision-Date: 2010-12-19 09:07+0200\n" +"POT-Creation-Date: 2011-01-09 18:54+0200\n" +"PO-Revision-Date: 2011-01-09 21:04+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -20,58 +20,48 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdk.c:115 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Error parsing option --gdk-debug" -#: ../gdk/gdk.c:135 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Error parsing option --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:163 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Program class as used by the window manager" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:164 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "CLASS" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:166 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Program name as used by the window manager" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:167 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NAME" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:169 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "X display to use" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:170 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "DISPLAY" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:172 -msgid "X screen to use" -msgstr "X screen to use" - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:173 -msgid "SCREEN" -msgstr "SCREEN" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:176 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "GDK debugging flags to set" @@ -79,12 +69,12 @@ msgstr "GDK debugging flags to set" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:177 ../gdk/gdk.c:180 ../gtk/gtkmain.c:523 ../gtk/gtkmain.c:526 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "FLAGS" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:179 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "GDK debugging flags to unset" @@ -208,7 +198,7 @@ msgstr "Enter" #: ../gdk/keyname-table.h:3963 msgctxt "keyboard label" msgid "KP_Home" -msgstr "בית" +msgstr "Home" #: ../gdk/keyname-table.h:3964 msgctxt "keyboard label" @@ -276,61 +266,56 @@ msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "Don't batch GDI requests" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Don't use the Wintab API for tablet support" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "Same as --no-wintab" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Do use the Wintab API [default]" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "Size of the palette in 8 bit mode" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "COLORS" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:305 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "%s מתחיל" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:318 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "%s נפתח" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:323 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "פותח פריט אחד" msgstr[1] "פותח %d פריטים" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "Make X calls synchronous" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:105 +#: ../gtk/gtkaboutdialog.c:104 #, c-format msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -#: ../gtk/gtkaboutdialog.c:347 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "רישיון" -#: ../gtk/gtkaboutdialog.c:348 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "רישיון השימוש בתוכנה" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:741 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "_תודות" #. Add the license button -#: ../gtk/gtkaboutdialog.c:754 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_רישיון" -#: ../gtk/gtkaboutdialog.c:959 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "לא ניתן להציג את הקישור" -#: ../gtk/gtkaboutdialog.c:996 +#: ../gtk/gtkaboutdialog.c:994 msgid "Homepage" msgstr "דף הבית" -#: ../gtk/gtkaboutdialog.c:1052 +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "על אודות %s" -#: ../gtk/gtkaboutdialog.c:2370 +#: ../gtk/gtkaboutdialog.c:2372 msgid "Created by" msgstr "נוצר על ידי" -#: ../gtk/gtkaboutdialog.c:2373 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "תועד על ידי" @@ -381,7 +366,7 @@ msgstr "תועד על ידי" msgid "Translated by" msgstr "תורגם על ידי" -#: ../gtk/gtkaboutdialog.c:2389 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "אומנות על ידי" @@ -390,7 +375,7 @@ msgstr "אומנות על ידי" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -400,7 +385,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -410,7 +395,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -420,7 +405,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -430,7 +415,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -440,37 +425,120 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "מטה" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "רווח" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "לוכסן אחורי" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +msgid "Other application..." +msgstr "יישום אחר..." + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "אירע כשל בחיפוש אחר יישומים באינטרנט" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "חיפוש יישומים באינטרנט" + +#: ../gtk/gtkappchooserdialog.c:208 +msgid "Could not run application" +msgstr "לא ניתן להפעיל את היישום" + +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +msgid "Could not find '%s'" +msgstr "לא ניתן למצוא את '%s'" + +#: ../gtk/gtkappchooserdialog.c:224 +msgid "Could not find application" +msgstr "לא ניתן למצוא יישום" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "נא לבחור יישום לפתיחת \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "אין יישומים הזמינים לפתיחת \"%s\"" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "נא לבחור יישום עבור קובצי \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "אין יישומים זמינים לפתיחת קובצי \"%s\"" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" +"יש ללחוץ על \"הצגת יישומים אחרים\", להצגת אפשרויות נוספות, או על \"חיפוש " +"יישומים באינטרנט\" כדי להתקין יישום חדש" + +#: ../gtk/gtkappchooserdialog.c:428 +msgid "Forget association" +msgstr "מחיקת השיוך" + +#: ../gtk/gtkappchooserdialog.c:493 +msgid "Show other applications" +msgstr "הצגת יישומים אחרים" + +#: ../gtk/gtkappchooserdialog.c:511 +msgid "_Open" +msgstr "_פתיחה" + +#: ../gtk/gtkappchooserwidget.c:593 +msgid "Default Application" +msgstr "יישום בררת המחדל" + +#: ../gtk/gtkappchooserwidget.c:729 +msgid "Recommended Applications" +msgstr "היישומים המומלצים" + +#: ../gtk/gtkappchooserwidget.c:743 +msgid "Related Applications" +msgstr "יישומים קשורים" + +#: ../gtk/gtkappchooserwidget.c:756 +msgid "Other Applications" +msgstr "יישומים אחרים" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "סוג הפונקציה שבשורה %d אינו תקין: '%s'" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "מזהה פריט כפול '%s' בשורה %d (לשעבר בשורה %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "רכיב שורש בלתי תקני: '%s'" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "תגית בלתי מטופלת: '%s'" @@ -485,7 +553,7 @@ msgstr "תגית בלתי מטופלת: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:878 +#: ../gtk/gtkcalendar.c:885 msgid "calendar:MY" msgstr "calendar:YM" @@ -493,7 +561,7 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:916 +#: ../gtk/gtkcalendar.c:923 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -502,7 +570,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1848 +#: ../gtk/gtkcalendar.c:1903 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -517,7 +585,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1879 ../gtk/gtkcalendar.c:2564 +#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -533,7 +601,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1911 ../gtk/gtkcalendar.c:2432 +#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -549,7 +617,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2197 +#: ../gtk/gtkcalendar.c:2256 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -557,7 +625,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "כבוי" @@ -566,7 +634,7 @@ msgstr "כבוי" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "בלתי תקני" @@ -575,7 +643,7 @@ msgstr "בלתי תקני" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "מאיץ חדש..." @@ -585,7 +653,7 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 msgid "Pick a Color" msgstr "בחירת צבע" @@ -593,7 +661,7 @@ msgstr "בחירת צבע" msgid "Received invalid color data\n" msgstr "התקבלו נתוני צבע בלתי תקינים\n" -#: ../gtk/gtkcolorsel.c:416 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -601,73 +669,73 @@ msgstr "" "יש לבחור את הצבע הרצוי מהטבעת החיצונית. ניתן לבחור כמה כהה או בהיר יהיה צבע " "זה בעזרת המשולש הפנימי." -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "יש ללחוץ על הטפטפת ואז ללחוץ על צבע כלשהו במסך לבחירת אותו הצבע." -#: ../gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_גוון:" -#: ../gtk/gtkcolorsel.c:450 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "מיקום על גלגל הצבעים." -#: ../gtk/gtkcolorsel.c:452 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_רוויה:" -#: ../gtk/gtkcolorsel.c:453 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "חוזק הצבע." -#: ../gtk/gtkcolorsel.c:454 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_ערך:" -#: ../gtk/gtkcolorsel.c:455 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "בהירות הצבע." -#: ../gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_אדום:" -#: ../gtk/gtkcolorsel.c:457 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "כמות האור האדום בצבע." -#: ../gtk/gtkcolorsel.c:458 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "_ירוק:" -#: ../gtk/gtkcolorsel.c:459 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "כמות האור הירוק בצבע." -#: ../gtk/gtkcolorsel.c:460 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_כחול:" -#: ../gtk/gtkcolorsel.c:461 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "כמות האור הכחול בצבע." -#: ../gtk/gtkcolorsel.c:464 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "_אטימות:" -#: ../gtk/gtkcolorsel.c:471 ../gtk/gtkcolorsel.c:481 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "אטימות הצבע." -#: ../gtk/gtkcolorsel.c:488 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "_שם הצבע:" -#: ../gtk/gtkcolorsel.c:502 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -675,15 +743,15 @@ msgstr "" "ניתן להזין ערך צבע הקסדצימלי בסגנון HTML, או פשוט לכתוב שם צבע באנגלית כמו " "'orange' ברשומה זו." -#: ../gtk/gtkcolorsel.c:532 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_פלטה:" -#: ../gtk/gtkcolorsel.c:561 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "גלגל הצבעים" -#: ../gtk/gtkcolorsel.c:1034 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -692,27 +760,27 @@ msgstr "" "הצבע הקודם שנבחר, להשוואה עם הצבע הנבחר כעת. ניתן לגרור צבע זה לרשומה בפלטה, " "או לבחור צבע זה כנוכחי על־ידי גרירתו לפיסת הצבע השנייה שלצידו." -#: ../gtk/gtkcolorsel.c:1037 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." msgstr "הצבע שנבחר. ניתן לגרור צבע זה לרשומת פלטה כדי לשמור אותו לשימוש בעתיד." -#: ../gtk/gtkcolorsel.c:1042 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "הצבע הקודם שנבחר, להשוואה עם הצבע שנבחר כעת." -#: ../gtk/gtkcolorsel.c:1045 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "הצבע שנבחר." -#: ../gtk/gtkcolorsel.c:1445 +#: ../gtk/gtkcolorsel.c:1444 msgid "_Save color here" msgstr "_שמירת הצבע כאן" -#: ../gtk/gtkcolorsel.c:1653 +#: ../gtk/gtkcolorsel.c:1652 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -735,7 +803,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 msgid "Manage Custom Sizes" msgstr "ניהול גדלים מותאמים" @@ -788,66 +856,66 @@ msgstr "_ימין:" msgid "Paper Margins" msgstr "שולי נייר" -#: ../gtk/gtkentry.c:8807 ../gtk/gtktextview.c:8246 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 msgid "Input _Methods" msgstr "_שיטות קלט" -#: ../gtk/gtkentry.c:8821 ../gtk/gtktextview.c:8260 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 msgid "_Insert Unicode Control Character" msgstr "_הזנת תו בקרה יוניקוד" -#: ../gtk/gtkentry.c:10225 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "ה־Caps Lock וה־Num Lock פעילים" -#: ../gtk/gtkentry.c:10227 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "ה־Num Lock פעיל" -#: ../gtk/gtkentry.c:10229 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "ה־Caps Lock פעיל" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "בחירת קובץ" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "שולחן עבודה" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(ללא)" -#: ../gtk/gtkfilechooserbutton.c:2001 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "אחר..." -#: ../gtk/gtkfilechooserdefault.c:147 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "הזנת שם לתיקייה החדשה" -#: ../gtk/gtkfilechooserdefault.c:946 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "לא ניתן לקבל מידע על הקובץ" -#: ../gtk/gtkfilechooserdefault.c:957 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "לא ניתן להוסיף סימנייה" -#: ../gtk/gtkfilechooserdefault.c:968 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "לא ניתן להסיר את הסימנייה" -#: ../gtk/gtkfilechooserdefault.c:979 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "לא ניתן ליצור את התיקייה" -#: ../gtk/gtkfilechooserdefault.c:992 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -855,18 +923,18 @@ msgstr "" "לא ניתן לייצר את התיקייה מכיוון שקיים קובץ בעל שם דומה. יש לנסות ולבחור שם " "חדש לתיקייה, או לשנות את שם הקובץ." -#: ../gtk/gtkfilechooserdefault.c:1006 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." msgstr "" "ניתן לבחור תיקיות בלבד. הפריט שברחת אינו תיקייה; נא לנסות לבחור בפריט אחר." -#: ../gtk/gtkfilechooserdefault.c:1016 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "שם קובץ לא תקני" -#: ../gtk/gtkfilechooserdefault.c:1026 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "לא ניתן להציג את תוכן התיקייה" @@ -874,194 +942,194 @@ msgstr "לא ניתן להציג את תוכן התיקייה" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1576 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "‏%1$s ב־%2$s" -#: ../gtk/gtkfilechooserdefault.c:1752 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "חיפוש" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "בשימוש לאחרונה" -#: ../gtk/gtkfilechooserdefault.c:2437 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "בחירה בסוגי הקבצים שיוצגו" -#: ../gtk/gtkfilechooserdefault.c:2796 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "הוסף את התיקייה '%s' לסימניות" -#: ../gtk/gtkfilechooserdefault.c:2840 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "הוסף את התיקייה הנוכחית לסימניות" -#: ../gtk/gtkfilechooserdefault.c:2842 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "הוסף את התיקיות הנבחרות לסימניות" -#: ../gtk/gtkfilechooserdefault.c:2880 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "הסרת הסימנייה '%s'" -#: ../gtk/gtkfilechooserdefault.c:2882 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "לא ניתן להסיר את הסימנייה '%s'" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "הסרת הסימנייה הנבחרת" -#: ../gtk/gtkfilechooserdefault.c:3452 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "הסרה" -#: ../gtk/gtkfilechooserdefault.c:3461 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "שינוי שם..." #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3624 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "מקומות" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3681 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_מקומות" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "_הוספה" -#: ../gtk/gtkfilechooserdefault.c:3745 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "הוספת התיקייה הנבחרת לסימניות" -#: ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "_הסרה" -#: ../gtk/gtkfilechooserdefault.c:3892 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "לא ניתן לבחור את הקובץ" -#: ../gtk/gtkfilechooserdefault.c:4067 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "_הוספה לסימניות" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "הצגת קבצים _נסתרים" -#: ../gtk/gtkfilechooserdefault.c:4087 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "הצגת _רוחב העמודה" # hebrew note: "תיקייה" is "folder", but there is no better word for # "directory" -#: ../gtk/gtkfilechooserdefault.c:4313 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "קבצים" -#: ../gtk/gtkfilechooserdefault.c:4364 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "שם" -#: ../gtk/gtkfilechooserdefault.c:4387 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "גודל" -#: ../gtk/gtkfilechooserdefault.c:4401 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "שונה" #. Label -#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_שם:" -#: ../gtk/gtkfilechooserdefault.c:4699 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_דפדוף לתיקיות אחרות" -#: ../gtk/gtkfilechooserdefault.c:4969 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "הזנת שם קובץ" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5012 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "יצירת _תיקייה" -#: ../gtk/gtkfilechooserdefault.c:5022 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_מיקום:" -#: ../gtk/gtkfilechooserdefault.c:5226 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "שמירה ב_תיקייה:" -#: ../gtk/gtkfilechooserdefault.c:5228 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "יצירה ב_תיקייה:" -#: ../gtk/gtkfilechooserdefault.c:6297 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "לא ניתן לקרוא את התוכן של %s" -#: ../gtk/gtkfilechooserdefault.c:6301 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "לא ניתן לקרוא את תכני התיקייה" -#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 -#: ../gtk/gtkfilechooserdefault.c:6607 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "לא ידוע" -#: ../gtk/gtkfilechooserdefault.c:6409 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6411 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "אתמול ב־%H:%M" -#: ../gtk/gtkfilechooserdefault.c:7077 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "לא ניתן לשנות תיקייה כיוון שהיא איננה מקומית" -#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "הקיצור %s כבר קיים" -#: ../gtk/gtkfilechooserdefault.c:7785 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "הקיצור %s אינו קיים" -#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "קובץ בשם \"%s\" כבר קיים. האם ברצונך להחליפו?" -#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "הקובץ כבר קיים ב-\"%s\". החלפתו תגרום לאיבוד תוכנו." -#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 msgid "_Replace" msgstr "ה_חלפה" @@ -1090,21 +1158,21 @@ msgstr "לא ניתן לעגון את %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "נתיב לא תקין" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1104 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "אין התאמה" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1115 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "השלמה יחידה" @@ -1112,13 +1180,13 @@ msgstr "השלמה יחידה" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1131 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "שלם, אבל לא ייחודי" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "משלים..." @@ -1126,7 +1194,7 @@ msgstr "משלים..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "ניתן לבחור קבצים מקומיים בלבד" @@ -1134,14 +1202,14 @@ msgstr "ניתן לבחור קבצים מקומיים בלבד" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "שם המארח אינו מלא; יש לסיימו ב־'/'" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "נתיב לא קיים" @@ -1171,35 +1239,35 @@ msgstr "גופן" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdef ABCDEF אבגדהו" -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:367 msgid "_Family:" msgstr "_משפחה:" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:373 msgid "_Style:" msgstr "_סגנון:" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:379 msgid "Si_ze:" msgstr "_גודל:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:558 +#: ../gtk/gtkfontsel.c:555 msgid "_Preview:" msgstr "_תצוגה מקדימה:" -#: ../gtk/gtkfontsel.c:1658 +#: ../gtk/gtkfontsel.c:1655 msgid "Font Selection" msgstr "בחירת גופן" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "שגיאה בטעינת סמל: %s" @@ -1249,45 +1317,45 @@ msgid "System (%s)" msgstr "מערכת (%s)" #. Open Link -#: ../gtk/gtklabel.c:6249 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_פתיחת קישור" #. Copy Link Address -#: ../gtk/gtklabel.c:6261 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "העתקת כתובת ה_קישור" -#: ../gtk/gtklinkbutton.c:484 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "ה_עתקת כתובת" -#: ../gtk/gtklinkbutton.c:647 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "כתובת לא תקנית" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Load additional GTK+ modules" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:517 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MODULES" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:519 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "Make all warnings fatal" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:522 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "GTK+ debugging flags to set" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:525 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "GTK+ debugging flags to unset" @@ -1296,20 +1364,20 @@ msgstr "GTK+ debugging flags to unset" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:788 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:RTL" -#: ../gtk/gtkmain.c:852 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "Cannot open display: %s" -#: ../gtk/gtkmain.c:916 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "GTK+ Options" -#: ../gtk/gtkmain.c:916 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Show GTK+ Options" @@ -1393,7 +1461,7 @@ msgstr "מעטפת Z" msgid "Cannot end process with PID %d: %s" msgstr "לא ניתן לסיים את התהליך בעל המזהה %d: ‏%s" -#: ../gtk/gtknotebook.c:4914 ../gtk/gtknotebook.c:7571 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "עמוד %u" @@ -1426,7 +1494,7 @@ msgstr "" " מעלה: %s %s\n" " מטה: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 msgid "Manage Custom Sizes..." msgstr "ניהול גדלים _מותאמים..." @@ -1434,7 +1502,7 @@ msgstr "ניהול גדלים _מותאמים..." msgid "_Format for:" msgstr "_תצורה עבור:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 msgid "_Paper size:" msgstr "_גודל הנייר:" @@ -1442,21 +1510,21 @@ msgstr "_גודל הנייר:" msgid "_Orientation:" msgstr "_כיווניות:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 msgid "Page Setup" msgstr "הגדרות עמוד" -#: ../gtk/gtkpathbar.c:158 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "נתיב מעלה" -#: ../gtk/gtkpathbar.c:160 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "נתיב מטה" # hebrew note: "תיקייה" is "folder", but there is no better word for # "directory" -#: ../gtk/gtkpathbar.c:1523 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "שורש מערכת הקבצים" @@ -1480,83 +1548,83 @@ msgstr "שמירה ב_תיקייה:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s משימה מס' %d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "מצב התחלתי" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "בהכנה להדפסה" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "נוצרים נתונים" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "נשלחים נתונים" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "בהמתנה" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "חסימה עקב תקלה" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "בהדפסה" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "הסתיים" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "הסתיים עם שגיאה" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "בהכנה %d" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "בהכנה" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "%d בהדפסה" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "שגיאה ביצירת תצוגה מקדימה" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "הסיבה ההגיונית ביותר שבגללה לא ניתן היה ליצור קובץ זמני." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "שגיאה בשיגור תצוגה מקדימה" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "יישום" @@ -1570,7 +1638,7 @@ msgstr "חסר נייר" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "מופסק" @@ -1615,49 +1683,49 @@ msgstr "Invalid handle to PrintDlgEx" msgid "Unspecified error" msgstr "שגיאה בלתי מוגדרת" -#: ../gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:619 msgid "Getting printer information failed" msgstr "קבלת נתוני המדפסת נכשלה" -#: ../gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1874 msgid "Getting printer information..." msgstr "נתוני המדפסת מתקבלים..." -#: ../gtk/gtkprintunixdialog.c:2140 +#: ../gtk/gtkprintunixdialog.c:2141 msgid "Printer" msgstr "מדפסת" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2150 +#: ../gtk/gtkprintunixdialog.c:2151 msgid "Location" msgstr "מיקום" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2161 +#: ../gtk/gtkprintunixdialog.c:2162 msgid "Status" msgstr "מצב" -#: ../gtk/gtkprintunixdialog.c:2187 +#: ../gtk/gtkprintunixdialog.c:2188 msgid "Range" msgstr "טווח" -#: ../gtk/gtkprintunixdialog.c:2191 +#: ../gtk/gtkprintunixdialog.c:2192 msgid "_All Pages" msgstr "כל ה_דפים" -#: ../gtk/gtkprintunixdialog.c:2198 +#: ../gtk/gtkprintunixdialog.c:2199 msgid "C_urrent Page" msgstr "_הדף הנוכחי" -#: ../gtk/gtkprintunixdialog.c:2208 +#: ../gtk/gtkprintunixdialog.c:2209 msgid "Se_lection" msgstr "_בחירה" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2218 msgid "Pag_es:" msgstr "_דפים:" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintunixdialog.c:2219 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1665,28 +1733,28 @@ msgstr "" "ניתן לציין טווח דפים אחד או יותר,\n" " לדוגמה: 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2228 +#: ../gtk/gtkprintunixdialog.c:2229 msgid "Pages" msgstr "דפים" -#: ../gtk/gtkprintunixdialog.c:2241 +#: ../gtk/gtkprintunixdialog.c:2242 msgid "Copies" msgstr "עותקים" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2246 +#: ../gtk/gtkprintunixdialog.c:2247 msgid "Copie_s:" msgstr "_עותקים:" -#: ../gtk/gtkprintunixdialog.c:2264 +#: ../gtk/gtkprintunixdialog.c:2265 msgid "C_ollate" msgstr "_איסוף" -#: ../gtk/gtkprintunixdialog.c:2272 +#: ../gtk/gtkprintunixdialog.c:2273 msgid "_Reverse" msgstr "_החזרה" -#: ../gtk/gtkprintunixdialog.c:2292 +#: ../gtk/gtkprintunixdialog.c:2293 msgid "General" msgstr "כללי" @@ -1696,168 +1764,168 @@ msgstr "כללי" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "שמאל לימין, מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3026 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "שמאל לימין, מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "ימין לשמאל, מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3027 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "ימין לשמאל, מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "מלמעלה למטה, משמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3028 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "מלמעלה למטה, מימין לשמאל" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "מלמטה למעלה, משמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "מלמטה למעלה, מימין לשמאל" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "סדר דפים" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3062 msgid "Left to right" msgstr "שמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3062 +#: ../gtk/gtkprintunixdialog.c:3063 msgid "Right to left" msgstr "ימין לשמאל" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Top to bottom" msgstr "מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3075 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Bottom to top" msgstr "מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3315 +#: ../gtk/gtkprintunixdialog.c:3316 msgid "Layout" msgstr "פריסה" -#: ../gtk/gtkprintunixdialog.c:3319 +#: ../gtk/gtkprintunixdialog.c:3320 msgid "T_wo-sided:" msgstr "ד_ו־צדדי:" -#: ../gtk/gtkprintunixdialog.c:3334 +#: ../gtk/gtkprintunixdialog.c:3335 msgid "Pages per _side:" msgstr "מספר _עמודים בכל צג:" -#: ../gtk/gtkprintunixdialog.c:3351 +#: ../gtk/gtkprintunixdialog.c:3352 msgid "Page or_dering:" msgstr "_סדר הדפים:" -#: ../gtk/gtkprintunixdialog.c:3367 +#: ../gtk/gtkprintunixdialog.c:3368 msgid "_Only print:" msgstr "ה_דפסה בלבד:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3383 msgid "All sheets" msgstr "כל הדפים" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3384 msgid "Even sheets" msgstr "דפים זוגיים" -#: ../gtk/gtkprintunixdialog.c:3384 +#: ../gtk/gtkprintunixdialog.c:3385 msgid "Odd sheets" msgstr "דפים אי זוגיים" -#: ../gtk/gtkprintunixdialog.c:3387 +#: ../gtk/gtkprintunixdialog.c:3388 msgid "Sc_ale:" msgstr "_התאמה:" -#: ../gtk/gtkprintunixdialog.c:3414 +#: ../gtk/gtkprintunixdialog.c:3415 msgid "Paper" msgstr "נייר" -#: ../gtk/gtkprintunixdialog.c:3418 +#: ../gtk/gtkprintunixdialog.c:3419 msgid "Paper _type:" msgstr "_סוג נייר:" -#: ../gtk/gtkprintunixdialog.c:3433 +#: ../gtk/gtkprintunixdialog.c:3434 msgid "Paper _source:" msgstr "מ_קור נייר:" -#: ../gtk/gtkprintunixdialog.c:3448 +#: ../gtk/gtkprintunixdialog.c:3449 msgid "Output t_ray:" msgstr "_מגש פלט:" -#: ../gtk/gtkprintunixdialog.c:3488 +#: ../gtk/gtkprintunixdialog.c:3489 msgid "Or_ientation:" msgstr "_כיווניות:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3504 msgid "Portrait" msgstr "לאורך" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3505 msgid "Landscape" msgstr "לרוחב" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3506 msgid "Reverse portrait" msgstr "לאורך הפוך" -#: ../gtk/gtkprintunixdialog.c:3506 +#: ../gtk/gtkprintunixdialog.c:3507 msgid "Reverse landscape" msgstr "לרוחב הפוך" -#: ../gtk/gtkprintunixdialog.c:3551 +#: ../gtk/gtkprintunixdialog.c:3552 msgid "Job Details" msgstr "פרטי המשימה" -#: ../gtk/gtkprintunixdialog.c:3557 +#: ../gtk/gtkprintunixdialog.c:3558 msgid "Pri_ority:" msgstr "_עדיפות:" -#: ../gtk/gtkprintunixdialog.c:3572 +#: ../gtk/gtkprintunixdialog.c:3573 msgid "_Billing info:" msgstr "_נתוני חיוב:" -#: ../gtk/gtkprintunixdialog.c:3590 +#: ../gtk/gtkprintunixdialog.c:3591 msgid "Print Document" msgstr "הדפסת מסמך" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3599 +#: ../gtk/gtkprintunixdialog.c:3600 msgid "_Now" msgstr "_כעת" -#: ../gtk/gtkprintunixdialog.c:3610 +#: ../gtk/gtkprintunixdialog.c:3611 msgid "A_t:" msgstr "_ב:" @@ -1865,7 +1933,7 @@ msgstr "_ב:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3616 +#: ../gtk/gtkprintunixdialog.c:3617 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1873,72 +1941,72 @@ msgstr "" "ציון זמן ההדפסה,\n" "לדוגמה: 15:30, 2:35‎ pm,‏ 14:15:20, 11:46:30‎ am,‏ 4‎ pm" -#: ../gtk/gtkprintunixdialog.c:3626 +#: ../gtk/gtkprintunixdialog.c:3627 msgid "Time of print" msgstr "זמן ההדפסה" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3643 msgid "On _hold" msgstr "ב_המתנה" -#: ../gtk/gtkprintunixdialog.c:3643 +#: ../gtk/gtkprintunixdialog.c:3644 msgid "Hold the job until it is explicitly released" msgstr "החזקת המשימה עד שתשוחרר מפורשות" -#: ../gtk/gtkprintunixdialog.c:3663 +#: ../gtk/gtkprintunixdialog.c:3664 msgid "Add Cover Page" msgstr "הוספת עמוד שער" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3672 +#: ../gtk/gtkprintunixdialog.c:3673 msgid "Be_fore:" msgstr "ל_פני:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3690 +#: ../gtk/gtkprintunixdialog.c:3691 msgid "_After:" msgstr "א_חרי:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3708 +#: ../gtk/gtkprintunixdialog.c:3709 msgid "Job" msgstr "משימה" -#: ../gtk/gtkprintunixdialog.c:3774 +#: ../gtk/gtkprintunixdialog.c:3775 msgid "Advanced" msgstr "מתקדם" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3812 +#: ../gtk/gtkprintunixdialog.c:3813 msgid "Image Quality" msgstr "איכות תמונה" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3816 +#: ../gtk/gtkprintunixdialog.c:3817 msgid "Color" msgstr "צבע" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3821 +#: ../gtk/gtkprintunixdialog.c:3822 msgid "Finishing" msgstr "גימור" -#: ../gtk/gtkprintunixdialog.c:3831 +#: ../gtk/gtkprintunixdialog.c:3832 msgid "Some of the settings in the dialog conflict" msgstr "חלק מההגדרות בתיבת הדו־שיח מתנגשות" -#: ../gtk/gtkprintunixdialog.c:3854 +#: ../gtk/gtkprintunixdialog.c:3855 msgid "Print" msgstr "הדפסה" -#: ../gtk/gtkrc.c:871 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "לא ניתן לאתר את קובץ התמונה ב־pixmap_path:‏ \"%s\"" @@ -1953,36 +2021,36 @@ msgstr "This function is not implemented for widgets of class '%s'" msgid "Select which type of documents are shown" msgstr "יש לבחור אילו סוגי מסמכים יוצגו" -#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "לא נמצא פריט עבור הכתובת '%s'" -#: ../gtk/gtkrecentchooserdefault.c:1297 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "מסנן ללא שם" -#: ../gtk/gtkrecentchooserdefault.c:1650 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "לא ניתן להסיר את הפריט" -#: ../gtk/gtkrecentchooserdefault.c:1694 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "לא ניתן לפנות את הרשימה" -#: ../gtk/gtkrecentchooserdefault.c:1778 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "הע_תקת מיקום" -#: ../gtk/gtkrecentchooserdefault.c:1791 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "_הסרה מהרשימה" -#: ../gtk/gtkrecentchooserdefault.c:1800 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "_פינוי הרשימה" -#: ../gtk/gtkrecentchooserdefault.c:1814 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "הצג _משאבים פרטיים" @@ -2047,12 +2115,12 @@ msgstr "לא ניתן למצוא פריט עם כתובת '%s'" msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "לא נמצא יישום הרשום בשם '%s' עבור הפריט בעל הכתובת '%s'" -#: ../gtk/gtkspinner.c:326 +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "הנפשת המתנה" -#: ../gtk/gtkspinner.c:327 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "אספקת חיווי חזותי של התהליך" @@ -2569,7 +2637,7 @@ msgstr "הת_רחקות" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 msgctxt "switch" msgid "ON" msgstr "❙" @@ -2577,17 +2645,17 @@ msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 msgctxt "switch" msgid "OFF" msgstr "○" -#: ../gtk/gtkswitch.c:943 +#: ../gtk/gtkswitch.c:959 msgctxt "light switch widget" msgid "Switch" msgstr "החלפה" -#: ../gtk/gtkswitch.c:944 +#: ../gtk/gtkswitch.c:960 msgid "Switches between on and off states" msgstr "החלפה בין המצבים פעיל ולא פעיל" @@ -2601,107 +2669,107 @@ msgstr "Unknown error when trying to deserialize %s" msgid "No deserialize function found for format %s" msgstr "No deserialize function found for format %s" -#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Both \"id\" and \"name\" were found on the <%s> element" -#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "The attribute \"%s\" was found twice on the <%s> element" -#: ../gtk/gtktextbufferserialize.c:851 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "<%s> element has invalid ID \"%s\"" -#: ../gtk/gtktextbufferserialize.c:861 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> element has neither a \"name\" nor an \"id\" attribute" -#: ../gtk/gtktextbufferserialize.c:948 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Attribute \"%s\" repeated twice on the same <%s> element" -#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Attribute \"%s\" is invalid on <%s> element in this context" -#: ../gtk/gtktextbufferserialize.c:1030 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Tag \"%s\" has not been defined." -#: ../gtk/gtktextbufferserialize.c:1042 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Anonymous tag found and tags can not be created." -#: ../gtk/gtktextbufferserialize.c:1053 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Tag \"%s\" does not exist in buffer and tags can not be created." -#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 -#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Element <%s> is not allowed below <%s>" -#: ../gtk/gtktextbufferserialize.c:1183 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" is not a valid attribute type" -#: ../gtk/gtktextbufferserialize.c:1191 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" is not a valid attribute name" -#: ../gtk/gtktextbufferserialize.c:1201 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1210 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" is not a valid value for attribute \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1295 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "Tag \"%s\" already defined" -#: ../gtk/gtktextbufferserialize.c:1308 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Tag \"%s\" has invalid priority \"%s\"" -#: ../gtk/gtktextbufferserialize.c:1361 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Outermost element in text must be not <%s>" -#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "A <%s> element has already been specified" -#: ../gtk/gtktextbufferserialize.c:1392 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "A element can't occur before a element" -#: ../gtk/gtktextbufferserialize.c:1792 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "Serialized data is malformed" -#: ../gtk/gtktextbufferserialize.c:1870 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -2747,22 +2815,17 @@ msgstr "ZWJ _מצרף ברוחב אפס" msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ _לא מצרף ברוחב אפס" -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "לא ניתן לאתר את מנוע ערכת הנושא הנטען ב־module_path:‏ \"%s\"," - -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "תג פתיחה בלתי צפוי '%s' בשורה %d תו %d" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "מידע תו לא צפוי בשורה %d תו %d" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "ריק" @@ -3796,254 +3859,254 @@ msgstr "ויאטנמית (VIQR)" msgid "X Input Method" msgstr "שיטת הקלט של X" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "שם משתמש:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "סיסמה:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "נדרש אימות כדי להדפיס את המסמך '%s' במדפסת %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "נדרש אימות כדי להדפיס מסמך באמצעות %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "נדרש אימות כדי לקבל את מאפייני המשימה '%s'" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "נדרש אימות כדי לקבל את מאפייני המשימה" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "נדרש אימות כדי לקבל את מאפייני המדפסת %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "נדרש אימות כדי לקבל את מאפייני המדפסת" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "נדרש אימות כדי לקבל את מדפסת ברירת המחדל של %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "נדרש אימות כדי לקבל מדפסות מ־%s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 #, c-format msgid "Authentication is required to get a file from %s" msgstr "נדרש אימות כדי לקבל את הקובץ מ־%s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "%s דורש אימות" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "מתחם:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "נדרש אימות כדי להדפיס את המסמך '%s'" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "נדרש אימות כדי להדפיס מסמך זה למדפסת %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "נדרש אימות כדי להדפיס מסמך זה" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "במדפסת '%s' חסר דיו." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "במדפסת '%s' לא נשאר דיו." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "המדפסת '%s' דלה במתכנתים." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "למדפסת '%s' אזלו המתכנתים." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "למדפסת '%s' כמעט אזל לפחות אחד מחומרי ההדפסה." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "במדפסת '%s' אזל לפחות אחד מחומרי ההדפסה." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "המכסה פתוח במדפסת '%s'." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "הדלת פתוחה במדפסת '%s'." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "במדפסת '%s' חסר נייר." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "במדפסת '%s' אין נייר" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "המדפסת '%s' אינה מקוונת נכון לעכשיו." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "קיימת בעיה במדפסת '%s'." #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "מופסק; דוחה עבודות" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "דוחה עבודות" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "שני צדדים" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "סוג נייר" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "מקור נייר" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "מגש פלט" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "רזולוציה" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "סינון קדם של GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "צד אחד" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "הצד הארוך (תקני)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "הצד הקצר (היפוך)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "בחירה אוטומטית" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "ברירת מחדל עבור המדפסת" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "הטמעת גופני PostScript בלבד" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "המרה ל־PS רמה 1" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "המרה ל־PS רמה 2" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "אין סינון קדם" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "שונות" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "דחוף" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "גבוה" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "בינוני" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "נמוך" @@ -4051,66 +4114,66 @@ msgstr "נמוך" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "מספר העמודים בדף" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "עדיפות המשימה" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "נתוני חיוב" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "ללא" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "מסווג" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "חסוי" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "סודי" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "רגיל" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "סודי ביותר" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "לא מסווג" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "לפני" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "אחרי" @@ -4118,14 +4181,14 @@ msgstr "אחרי" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "זמן הדפסה" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "הדפסה בזמן" @@ -4133,7 +4196,7 @@ msgstr "הדפסה בזמן" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "מותאם אישית %sx%s" @@ -4148,30 +4211,30 @@ msgstr "פלט.%s" msgid "Print to File" msgstr "הדפסה לקובץ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "מספר העמודים ב_דף" # hebrew note: "תיקייה" is "folder", but there is no better word for # "directory" -#: ../modules/printbackends/file/gtkprintbackendfile.c:649 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "קובץ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:659 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "_תצורת הפלט" @@ -4238,6 +4301,18 @@ msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "נכשל בפתיחת התמונה '%s': הסיבה איננה ידועה, כנראה קובץ תמונה פגום" +#~ msgid "X screen to use" +#~ msgstr "X screen to use" + +#~ msgid "SCREEN" +#~ msgstr "SCREEN" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Make X calls synchronous" + +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "לא ניתן לאתר את מנוע ערכת הנושא הנטען ב־module_path:‏ \"%s\"," + #~ msgid "Credits" #~ msgstr "תודות" From 12c4730e6f65bcd72c3335deab798a08b439a410 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 9 Jan 2011 00:16:20 +0100 Subject: [PATCH 1270/1463] Small cleanup in gailtextview code. Fold gail_misc_add_to_attr_set into the only function calling it, which avoids a useless big "switch" and results in much less code. https://bugzilla.gnome.org/show_bug.cgi?id=639030 --- modules/other/gail/gailtextview.c | 139 +++++++++---------- modules/other/gail/libgail-util/gailmisc.c | 113 --------------- modules/other/gail/libgail-util/gailmisc.h | 4 - modules/other/gail/libgail-util/gailutil.def | 1 - 4 files changed, 66 insertions(+), 191 deletions(-) diff --git a/modules/other/gail/gailtextview.c b/modules/other/gail/gailtextview.c index 873509cb5d..776ce8b687 100644 --- a/modules/other/gail/gailtextview.c +++ b/modules/other/gail/gailtextview.c @@ -640,6 +640,16 @@ gail_text_view_get_run_attributes (AtkText *text, start_offset, end_offset); } +static AtkAttributeSet* +add_text_attribute (AtkAttributeSet *attrib_set, AtkTextAttribute attr, gint i) +{ + const gchar *value; + + value = atk_text_attribute_get_value (attr, i); + + return gail_misc_add_attribute (attrib_set, i, g_strdup (value)); +} + static AtkAttributeSet* gail_text_view_get_default_attributes (AtkText *text) { @@ -648,6 +658,7 @@ gail_text_view_get_default_attributes (AtkText *text) GtkTextAttributes *text_attrs; AtkAttributeSet *attrib_set = NULL; PangoFontDescription *font; + gchar *value; widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (text)); if (widget == NULL) @@ -661,96 +672,78 @@ gail_text_view_get_default_attributes (AtkText *text) if (font) { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_STYLE); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STYLE, + pango_font_description_get_style (font)); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_VARIANT); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_VARIANT, + pango_font_description_get_variant (font)); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_STRETCH); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRETCH, + pango_font_description_get_stretch (font)); + + value = g_strdup (pango_font_description_get_family (font)); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FAMILY_NAME, value); + + value = g_strdup_printf ("%d", pango_font_description_get_weight (font)); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_WEIGHT, value); + + value = g_strdup_printf ("%i", pango_font_description_get_size (font) / PANGO_SCALE); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SIZE, value); } - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_JUSTIFICATION); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_JUSTIFICATION, text_attrs->justification); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_DIRECTION, text_attrs->direction); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_WRAP_MODE, text_attrs->wrap_mode); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_EDITABLE, text_attrs->editable); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_INVISIBLE, text_attrs->invisible); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_BG_FULL_HEIGHT, text_attrs->bg_full_height); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_DIRECTION); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_STIPPLE, NULL); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_STIPPLE, NULL); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_WRAP_MODE); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRIKETHROUGH, + text_attrs->appearance.strikethrough); + attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_UNDERLINE, + text_attrs->appearance.underline); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_FG_STIPPLE); + value = g_strdup_printf ("%u,%u,%u", + text_attrs->appearance.bg_color.red, + text_attrs->appearance.bg_color.green, + text_attrs->appearance.bg_color.blue); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_COLOR, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_BG_STIPPLE); + value = g_strdup_printf ("%u,%u,%u", + text_attrs->appearance.fg_color.red, + text_attrs->appearance.fg_color.green, + text_attrs->appearance.fg_color.blue); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_COLOR, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_FG_COLOR); + value = g_strdup_printf ("%g", text_attrs->font_scale); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_SCALE, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_BG_COLOR); + value = g_strdup ((gchar *)(text_attrs->language)); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LANGUAGE, value); - if (font) - { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_FAMILY_NAME); - } + value = g_strdup_printf ("%i", text_attrs->appearance.rise); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RISE, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_LANGUAGE); + value = g_strdup_printf ("%i", text_attrs->pixels_inside_wrap); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP, value); - if (font) - { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_WEIGHT); - } + value = g_strdup_printf ("%i", text_attrs->pixels_below_lines); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_BELOW_LINES, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_SCALE); + value = g_strdup_printf ("%i", text_attrs->pixels_above_lines); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_PIXELS_ABOVE_LINES, value); - if (font) - { - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_SIZE); - } + value = g_strdup_printf ("%i", text_attrs->indent); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_INDENT, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_STRIKETHROUGH); + value = g_strdup_printf ("%i", text_attrs->left_margin); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_LEFT_MARGIN, value); - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_UNDERLINE); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_RISE); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_BG_FULL_HEIGHT); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_PIXELS_BELOW_LINES); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_PIXELS_ABOVE_LINES); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_EDITABLE); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_INVISIBLE); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_INDENT); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_RIGHT_MARGIN); - - attrib_set = gail_misc_add_to_attr_set (attrib_set, text_attrs, - ATK_TEXT_ATTR_LEFT_MARGIN); + value = g_strdup_printf ("%i", text_attrs->right_margin); + attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_RIGHT_MARGIN, value); gtk_text_attributes_unref (text_attrs); return attrib_set; diff --git a/modules/other/gail/libgail-util/gailmisc.c b/modules/other/gail/libgail-util/gailmisc.c index a9291e4d46..7b9cfb5de2 100644 --- a/modules/other/gail/libgail-util/gailmisc.c +++ b/modules/other/gail/libgail-util/gailmisc.c @@ -560,119 +560,6 @@ gail_misc_get_origins (GtkWidget *widget, gdk_window_get_origin (window, x_toplevel, y_toplevel); } -/** - * gail_misc_add_to_attr_set: - * @attrib_set: An #AtkAttributeSet - * @attrs: The #GtkTextAttributes containing the attribute value - * @attr: The #AtkTextAttribute to be added - * - * Gets the value for the AtkTextAttribute from the GtkTextAttributes - * and adds it to the AttributeSet. - * - * Returns: A pointer to the updated #AtkAttributeSet. - **/ -AtkAttributeSet* -gail_misc_add_to_attr_set (AtkAttributeSet *attrib_set, - GtkTextAttributes *attrs, - AtkTextAttribute attr) -{ - gchar *value; - - switch (attr) - { - case ATK_TEXT_ATTR_LEFT_MARGIN: - value = g_strdup_printf ("%i", attrs->left_margin); - break; - case ATK_TEXT_ATTR_RIGHT_MARGIN: - value = g_strdup_printf ("%i", attrs->right_margin); - break; - case ATK_TEXT_ATTR_INDENT: - value = g_strdup_printf ("%i", attrs->indent); - break; - case ATK_TEXT_ATTR_INVISIBLE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->invisible)); - break; - case ATK_TEXT_ATTR_EDITABLE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->editable)); - break; - case ATK_TEXT_ATTR_PIXELS_ABOVE_LINES: - value = g_strdup_printf ("%i", attrs->pixels_above_lines); - break; - case ATK_TEXT_ATTR_PIXELS_BELOW_LINES: - value = g_strdup_printf ("%i", attrs->pixels_below_lines); - break; - case ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP: - value = g_strdup_printf ("%i", attrs->pixels_inside_wrap); - break; - case ATK_TEXT_ATTR_BG_FULL_HEIGHT: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->bg_full_height)); - break; - case ATK_TEXT_ATTR_RISE: - value = g_strdup_printf ("%i", attrs->appearance.rise); - break; - case ATK_TEXT_ATTR_UNDERLINE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.underline)); - break; - case ATK_TEXT_ATTR_STRIKETHROUGH: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->appearance.strikethrough)); - break; - case ATK_TEXT_ATTR_SIZE: - value = g_strdup_printf ("%i", - pango_font_description_get_size (attrs->font) / PANGO_SCALE); - break; - case ATK_TEXT_ATTR_SCALE: - value = g_strdup_printf ("%g", attrs->font_scale); - break; - case ATK_TEXT_ATTR_WEIGHT: - value = g_strdup_printf ("%d", - pango_font_description_get_weight (attrs->font)); - break; - case ATK_TEXT_ATTR_LANGUAGE: - value = g_strdup ((gchar *)(attrs->language)); - break; - case ATK_TEXT_ATTR_FAMILY_NAME: - value = g_strdup (pango_font_description_get_family (attrs->font)); - break; - case ATK_TEXT_ATTR_BG_COLOR: - value = g_strdup_printf ("%u,%u,%u", - attrs->appearance.bg_color.red, - attrs->appearance.bg_color.green, - attrs->appearance.bg_color.blue); - break; - case ATK_TEXT_ATTR_FG_COLOR: - value = g_strdup_printf ("%u,%u,%u", - attrs->appearance.fg_color.red, - attrs->appearance.fg_color.green, - attrs->appearance.fg_color.blue); - break; - case ATK_TEXT_ATTR_WRAP_MODE: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->wrap_mode)); - break; - case ATK_TEXT_ATTR_DIRECTION: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->direction)); - break; - case ATK_TEXT_ATTR_JUSTIFICATION: - value = g_strdup (atk_text_attribute_get_value (attr, attrs->justification)); - break; - case ATK_TEXT_ATTR_STRETCH: - value = g_strdup (atk_text_attribute_get_value (attr, - pango_font_description_get_stretch (attrs->font))); - break; - case ATK_TEXT_ATTR_VARIANT: - value = g_strdup (atk_text_attribute_get_value (attr, - pango_font_description_get_variant (attrs->font))); - break; - case ATK_TEXT_ATTR_STYLE: - value = g_strdup (atk_text_attribute_get_value (attr, - pango_font_description_get_style (attrs->font))); - break; - default: - value = NULL; - break; - } - return gail_misc_add_attribute (attrib_set, attr, value); -} - /** * gail_misc_buffer_get_run_attributes: * @buffer: The #GtkTextBuffer for which the attributes will be obtained diff --git a/modules/other/gail/libgail-util/gailmisc.h b/modules/other/gail/libgail-util/gailmisc.h index f430b3c334..9483755c7b 100644 --- a/modules/other/gail/libgail-util/gailmisc.h +++ b/modules/other/gail/libgail-util/gailmisc.h @@ -67,10 +67,6 @@ void gail_misc_get_origins (GtkWidget *widget, gint *x_toplevel, gint *y_toplevel); -AtkAttributeSet* gail_misc_add_to_attr_set (AtkAttributeSet *attrib_set, - GtkTextAttributes *attrs, - AtkTextAttribute attr); - AtkAttributeSet* gail_misc_buffer_get_run_attributes (GtkTextBuffer *buffer, gint offset, diff --git a/modules/other/gail/libgail-util/gailutil.def b/modules/other/gail/libgail-util/gailutil.def index 2077be15f4..5c74915cb1 100644 --- a/modules/other/gail/libgail-util/gailutil.def +++ b/modules/other/gail/libgail-util/gailutil.def @@ -1,6 +1,5 @@ EXPORTS gail_misc_add_attribute - gail_misc_add_to_attr_set gail_misc_buffer_get_run_attributes gail_misc_get_default_attributes gail_misc_get_extents_from_pango_rectangle From fadca187f2cc1f011937c789edd21909f68d0aa1 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 9 Jan 2011 01:32:49 +0100 Subject: [PATCH 1271/1463] Remove stipple attributes GtkTextView does not support them anymore. https://bugzilla.gnome.org/show_bug.cgi?id=639030 --- modules/other/gail/gailtextview.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/other/gail/gailtextview.c b/modules/other/gail/gailtextview.c index 776ce8b687..00b45b0aa2 100644 --- a/modules/other/gail/gailtextview.c +++ b/modules/other/gail/gailtextview.c @@ -698,9 +698,6 @@ gail_text_view_get_default_attributes (AtkText *text) attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_INVISIBLE, text_attrs->invisible); attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_BG_FULL_HEIGHT, text_attrs->bg_full_height); - attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_FG_STIPPLE, NULL); - attrib_set = gail_misc_add_attribute (attrib_set, ATK_TEXT_ATTR_BG_STIPPLE, NULL); - attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_STRIKETHROUGH, text_attrs->appearance.strikethrough); attrib_set = add_text_attribute (attrib_set, ATK_TEXT_ATTR_UNDERLINE, From ab656b3f7a8a6b77e8e8f2526eb2847ec532b8d6 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 9 Jan 2011 18:10:50 +0100 Subject: [PATCH 1272/1463] Obtain the fg color from the renderer prepare_run must have been called before draw_shape, so we can avoid fiddling the the (deprecated) style and state and just use the color alredy set on the renderer. https://bugzilla.gnome.org/show_bug.cgi?id=639079 --- gtk/gtktextdisplay.c | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) diff --git a/gtk/gtktextdisplay.c b/gtk/gtktextdisplay.c index 782ee14bb1..3d33642b40 100644 --- a/gtk/gtktextdisplay.c +++ b/gtk/gtktextdisplay.c @@ -354,21 +354,6 @@ gtk_text_renderer_draw_shape (PangoRenderer *renderer, int y) { GtkTextRenderer *text_renderer = GTK_TEXT_RENDERER (renderer); - GtkStyle *style; - GdkColor *fg; - - style = gtk_widget_get_style (text_renderer->widget); - if (text_renderer->state == SELECTED) - { - if (gtk_widget_has_focus (text_renderer->widget)) - fg = &style->text[GTK_STATE_SELECTED]; - else - fg = &style->text[GTK_STATE_SELECTED]; - } - else if (text_renderer->state == CURSOR && gtk_widget_has_focus (text_renderer->widget)) - fg = &style->base[GTK_STATE_NORMAL]; - else - fg = &style->text[GTK_STATE_NORMAL]; if (attr->data == NULL) { @@ -377,18 +362,17 @@ gtk_text_renderer_draw_shape (PangoRenderer *renderer, */ GdkRectangle shape_rect; cairo_t *cr; - + shape_rect.x = PANGO_PIXELS (x); shape_rect.y = PANGO_PIXELS (y + attr->logical_rect.y); shape_rect.width = PANGO_PIXELS (x + attr->logical_rect.width) - shape_rect.x; shape_rect.height = PANGO_PIXELS (y + attr->logical_rect.y + attr->logical_rect.height) - shape_rect.y; - + + set_color (text_renderer, PANGO_RENDER_PART_FOREGROUND); + cr = text_renderer->cr; - cairo_save (cr); - cairo_set_line_width (cr, 1.0); - gdk_cairo_set_source_color (cr, fg); cairo_rectangle (cr, shape_rect.x + 0.5, shape_rect.y + 0.5, @@ -403,8 +387,8 @@ gtk_text_renderer_draw_shape (PangoRenderer *renderer, shape_rect.y + 0.5); cairo_stroke (cr); - - cairo_restore (cr); + + unset_color (text_renderer); } else if (GDK_IS_PIXBUF (attr->data)) { From e94b515171bd4700a826e9f5d82c31abb34d2667 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Mon, 10 Jan 2011 00:02:32 +0100 Subject: [PATCH 1273/1463] Updated Galician translations --- po-properties/gl.po | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/po-properties/gl.po b/po-properties/gl.po index 1b82960712..329d0b0883 100644 --- a/po-properties/gl.po +++ b/po-properties/gl.po @@ -26,7 +26,7 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" "POT-Creation-Date: 2011-01-08 09:41+0000\n" -"PO-Revision-Date: 2011-01-09 16:42+0100\n" +"PO-Revision-Date: 2011-01-10 00:02+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "MIME-Version: 1.0\n" @@ -2101,6 +2101,7 @@ msgstr "Contexto da área da cela" #: ../gtk/gtkcellview.c:266 msgid "The GtkCellAreaContext used to compute the geometry of the cell view" msgstr "" +"O GtkCellAreaContext usado para calcular a xeometría da visualización da cela" #: ../gtk/gtkcellview.c:283 #, fuzzy From f506fc3e93df6d701fe141dda39a55b5f2954a83 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:21:06 +0100 Subject: [PATCH 1274/1463] Remove recent GtkStyle usage in GtkWindow GtkStyleContext API is used instead. --- gtk/gtkwindow.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index b92627a679..371e69cca8 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -4889,8 +4889,7 @@ gtk_window_realize (GtkWidget *widget) gtk_widget_set_window (widget, gdk_window); gdk_window_set_user_data (gdk_window, widget); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), gdk_window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), gdk_window); gdk_window_enable_synchronized_configure (gdk_window); return; From e0e36b621f8008569d5ebfab453008f5fd34e7ea Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:26:28 +0100 Subject: [PATCH 1275/1463] Update _gtk_button_paint() arguments to GtkStyleContext The detail strings weren't in use anymore, and the state argument is now a GtkStateFlags. GtkToggleButton has been updated as well. --- gtk/gtkbutton.c | 21 +++++++-------------- gtk/gtkbutton.h | 5 +---- gtk/gtktogglebutton.c | 18 ++++++------------ 3 files changed, 14 insertions(+), 30 deletions(-) diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index 374d7df935..d86ca46528 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -1555,10 +1555,7 @@ _gtk_button_paint (GtkButton *button, cairo_t *cr, int width, int height, - GtkStateType state_type, - GtkShadowType shadow_type, - const gchar *main_detail, - const gchar *default_detail) + GtkStateFlags state) { GtkButtonPrivate *priv = button->priv; GtkWidget *widget; @@ -1571,12 +1568,12 @@ _gtk_button_paint (GtkButton *button, GtkAllocation allocation; GdkWindow *window; GtkStyleContext *context; - GtkStateFlags state; widget = GTK_WIDGET (button); - context = gtk_widget_get_style_context (widget); - state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); gtk_button_get_props (button, &default_border, &default_outside_border, NULL, &interior_focus); gtk_style_context_get_style (context, @@ -1616,9 +1613,6 @@ _gtk_button_paint (GtkButton *button, height -= 2 * (focus_width + focus_pad); } - state = gtk_widget_get_state_flags (widget); - gtk_style_context_set_state (context, state); - if (priv->relief != GTK_RELIEF_NONE || priv->depressed || state & GTK_STATE_FLAG_PRELIGHT) { @@ -1671,6 +1665,8 @@ _gtk_button_paint (GtkButton *button, gtk_border_free (border); } + + gtk_style_context_restore (context); } static gboolean @@ -1678,14 +1674,11 @@ gtk_button_draw (GtkWidget *widget, cairo_t *cr) { GtkButton *button = GTK_BUTTON (widget); - GtkButtonPrivate *priv = button->priv; _gtk_button_paint (button, cr, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget), - gtk_widget_get_state (widget), - priv->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT, - "button", "buttondefault"); + gtk_widget_get_state_flags (widget)); GTK_WIDGET_CLASS (gtk_button_parent_class)->draw (widget, cr); diff --git a/gtk/gtkbutton.h b/gtk/gtkbutton.h index 0bab7e6ae3..2ad602e8d2 100644 --- a/gtk/gtkbutton.h +++ b/gtk/gtkbutton.h @@ -127,10 +127,7 @@ void _gtk_button_paint (GtkButton *button, cairo_t *cr, int width, int height, - GtkStateType state_type, - GtkShadowType shadow_type, - const gchar *main_detail, - const gchar *default_detail); + GtkStateFlags state); G_END_DECLS diff --git a/gtk/gtktogglebutton.c b/gtk/gtktogglebutton.c index 7b8ae49f62..43dbd49a9e 100644 --- a/gtk/gtktogglebutton.c +++ b/gtk/gtktogglebutton.c @@ -471,25 +471,19 @@ gtk_toggle_button_draw (GtkWidget *widget, GtkToggleButtonPrivate *priv = toggle_button->priv; GtkWidget *child = gtk_bin_get_child (GTK_BIN (widget)); GtkButton *button = GTK_BUTTON (widget); - GtkStateType state_type; - GtkShadowType shadow_type; + GtkStateType state; - state_type = gtk_widget_get_state (widget); + state = gtk_widget_get_state_flags (widget); if (priv->inconsistent) - { - if (state_type == GTK_STATE_ACTIVE) - state_type = GTK_STATE_NORMAL; - shadow_type = GTK_SHADOW_ETCHED_IN; - } - else - shadow_type = button->priv->depressed ? GTK_SHADOW_IN : GTK_SHADOW_OUT; + state |= GTK_STATE_FLAG_INCONSISTENT; + else if (button->priv->depressed) + state |= GTK_STATE_FLAG_ACTIVE; _gtk_button_paint (button, cr, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget), - state_type, shadow_type, - "togglebutton", "togglebuttondefault"); + state); if (child) gtk_container_propagate_draw (GTK_CONTAINER (widget), child, cr); From 455c31d815547fce9fce509001ef7419063d4aa0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:30:25 +0100 Subject: [PATCH 1276/1463] Make GtkColorButton use GtkStyleContext --- gtk/gtkcolorbutton.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcolorbutton.c b/gtk/gtkcolorbutton.c index 91e1427110..3fd11cbcb5 100644 --- a/gtk/gtkcolorbutton.c +++ b/gtk/gtkcolorbutton.c @@ -324,7 +324,13 @@ gtk_color_button_draw_cb (GtkWidget *widget, if (!gtk_widget_is_sensitive (GTK_WIDGET (color_button))) { - gdk_cairo_set_source_color (cr, >k_widget_get_style (GTK_WIDGET(color_button))->bg[GTK_STATE_INSENSITIVE]); + GtkStyleContext *context; + GdkRGBA color; + + context = gtk_widget_get_style_context (widget); + gtk_style_context_get_background_color (context, GTK_STATE_FLAG_INSENSITIVE, &color); + + gdk_cairo_set_source_rgba (cr, &color); checkered = gtk_color_button_get_checkered (); cairo_mask (cr, checkered); cairo_pattern_destroy (checkered); From 27c5cc88f8c62f7287d8e3f4078b3adbb2ef7a01 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:31:23 +0100 Subject: [PATCH 1277/1463] Make GtkColorSelection use GtkStyleContext --- gtk/gtkcolorsel.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcolorsel.c b/gtk/gtkcolorsel.c index b817f2e3bb..f60d1e7805 100644 --- a/gtk/gtkcolorsel.c +++ b/gtk/gtkcolorsel.c @@ -1112,11 +1112,15 @@ palette_draw (GtkWidget *drawing_area, cairo_t *cr, gpointer data) { + GtkStyleContext *context; gint focus_width; + GdkRGBA color; - gdk_cairo_set_source_color (cr, >k_widget_get_style (drawing_area)->bg[GTK_STATE_NORMAL]); + context = gtk_widget_get_style_context (drawing_area); + gtk_style_context_get_background_color (context, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_paint (cr); - + if (gtk_widget_has_focus (drawing_area)) { set_focus_line_attributes (drawing_area, cr, &focus_width); From 2f6514ce3415f42690180e09dd35054a16f57d2c Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:37:26 +0100 Subject: [PATCH 1278/1463] Make GtkHSV use GtkStyleContext two custom classes replace the light/dark focus detail strings, it doesn't make much sense to have a GTK_STYLE_CLASS_* for that. --- gtk/gtkcssprovider.c | 8 +++++++ gtk/gtkhsv.c | 55 +++++++++++++++++++++++++++----------------- 2 files changed, 42 insertions(+), 21 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 02c3fff077..aba63afcff 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3837,6 +3837,14 @@ gtk_css_provider_get_default (void) " background-color: @selected_bg_color;\n" " color: @selected_fg_color;\n" "}\n" + "\n" + ".light-area-focus {\n" + " color: #000;\n" + "}\n" + "\n" + ".dark-area-focus {\n" + " color: #fff;\n" + "}\n" "\n"; provider = gtk_css_provider_new (); diff --git a/gtk/gtkhsv.c b/gtk/gtkhsv.c index 507a03d1f8..62356bc35b 100644 --- a/gtk/gtkhsv.c +++ b/gtk/gtkhsv.c @@ -253,8 +253,6 @@ gtk_hsv_realize (GtkWidget *widget) priv->window = gdk_window_new (parent_window, &attr, attr_mask); gdk_window_set_user_data (priv->window, hsv); gdk_window_show (priv->window); - - gtk_widget_style_attach (widget); } static void @@ -997,10 +995,11 @@ paint_triangle (GtkHSV *hsv, gint x_start, x_end; cairo_surface_t *source; gdouble r, g, b; - gchar *detail; gint stride; int width, height; - + GtkStyleContext *context; + GtkStateFlags state; + priv = hsv->priv; width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); @@ -1142,14 +1141,20 @@ paint_triangle (GtkHSV *hsv, b = priv->v; hsv_to_rgb (&r, &g, &b); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_set_state (context, state); + if (INTENSITY (r, g, b) > 0.5) { - detail = "colorwheel_light"; + gtk_style_context_add_class (context, "light-area-focus"); cairo_set_source_rgb (cr, 0., 0., 0.); } else { - detail = "colorwheel_dark"; + gtk_style_context_add_class (context, "dark-area-focus"); cairo_set_source_rgb (cr, 1., 1., 1.); } @@ -1173,15 +1178,14 @@ paint_triangle (GtkHSV *hsv, "focus-padding", &focus_pad, NULL); - gtk_paint_focus (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - widget, detail, - xx - FOCUS_RADIUS - focus_width - focus_pad, - yy - FOCUS_RADIUS - focus_width - focus_pad, - 2 * (FOCUS_RADIUS + focus_width + focus_pad), - 2 * (FOCUS_RADIUS + focus_width + focus_pad)); + gtk_render_focus (context, cr, + xx - FOCUS_RADIUS - focus_width - focus_pad, + yy - FOCUS_RADIUS - focus_width - focus_pad, + 2 * (FOCUS_RADIUS + focus_width + focus_pad), + 2 * (FOCUS_RADIUS + focus_width + focus_pad)); } + + gtk_style_context_restore (context); } /* Paints the contents of the HSV color selector */ @@ -1196,13 +1200,22 @@ gtk_hsv_draw (GtkWidget *widget, paint_triangle (hsv, cr); if (gtk_widget_has_focus (widget) && priv->focus_on_ring) - gtk_paint_focus (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (widget), - widget, NULL, - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); + { + GtkStyleContext *context; + GtkStateFlags state; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_render_focus (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + gtk_style_context_restore (context); + } return FALSE; } From 6fae7c9fa792a18d5c52a813406a9c4db4201187 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:39:12 +0100 Subject: [PATCH 1279/1463] Make GtkFontSelection use GtkStyleContext --- gtk/gtkfontsel.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index 927899f2c4..5353fb9dea 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -151,8 +151,7 @@ static void gtk_font_selection_get_property (GObject *object, static void gtk_font_selection_finalize (GObject *object); static void gtk_font_selection_screen_changed (GtkWidget *widget, GdkScreen *previous_screen); -static void gtk_font_selection_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_font_selection_style_updated (GtkWidget *widget); /* These are the callbacks & related functions. */ static void gtk_font_selection_select_font (GtkTreeSelection *selection, @@ -212,7 +211,7 @@ gtk_font_selection_class_init (GtkFontSelectionClass *klass) gobject_class->get_property = gtk_font_selection_get_property; widget_class->screen_changed = gtk_font_selection_screen_changed; - widget_class->style_set = gtk_font_selection_style_set; + widget_class->style_updated = gtk_font_selection_style_updated; g_object_class_install_property (gobject_class, PROP_FONT_NAME, @@ -655,8 +654,7 @@ gtk_font_selection_screen_changed (GtkWidget *widget, } static void -gtk_font_selection_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_font_selection_style_updated (GtkWidget *widget) { /* Maybe fonts where installed or removed... */ gtk_font_selection_reload_fonts (GTK_FONT_SELECTION (widget)); @@ -1162,7 +1160,7 @@ static void gtk_font_selection_update_preview (GtkFontSelection *fontsel) { GtkFontSelectionPrivate *priv = fontsel->priv; - GtkRcStyle *rc_style; + GtkStyleContext *context; gint new_height; GtkRequisition old_requisition, new_requisition; GtkWidget *preview_entry = priv->preview_entry; @@ -1170,11 +1168,9 @@ gtk_font_selection_update_preview (GtkFontSelection *fontsel) gtk_widget_get_preferred_size (preview_entry, &old_requisition, NULL); - rc_style = gtk_rc_style_new (); - rc_style->font_desc = gtk_font_selection_get_font_description (fontsel); - - gtk_widget_modify_style (preview_entry, rc_style); - g_object_unref (rc_style); + context = gtk_widget_get_style_context (preview_entry); + gtk_widget_override_font (preview_entry, + gtk_font_selection_get_font_description (fontsel)); gtk_widget_get_preferred_size (preview_entry, &new_requisition, NULL); From 4e7326732590e2b41ed2ab1134286fb1e6209b93 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:42:05 +0100 Subject: [PATCH 1280/1463] Make GtkPrintUnixDialog use GtkStyleContext. --- gtk/gtkprintunixdialog.c | 47 +++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/gtk/gtkprintunixdialog.c b/gtk/gtkprintunixdialog.c index 2d61cdac31..d4d1211759 100644 --- a/gtk/gtkprintunixdialog.c +++ b/gtk/gtkprintunixdialog.c @@ -76,8 +76,7 @@ static void gtk_print_unix_dialog_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec); -static void gtk_print_unix_dialog_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_print_unix_dialog_style_updated (GtkWidget *widget); static void populate_dialog (GtkPrintUnixDialog *dialog); static void unschedule_idle_mark_conflicts (GtkPrintUnixDialog *dialog); static void selected_printer_changed (GtkTreeSelection *selection, @@ -291,7 +290,7 @@ gtk_print_unix_dialog_class_init (GtkPrintUnixDialogClass *class) object_class->set_property = gtk_print_unix_dialog_set_property; object_class->get_property = gtk_print_unix_dialog_get_property; - widget_class->style_set = gtk_print_unix_dialog_style_set; + widget_class->style_updated = gtk_print_unix_dialog_style_updated; g_object_class_install_property (object_class, PROP_PAGE_SETUP, @@ -1960,9 +1959,10 @@ paint_page (GtkWidget *widget, gchar *text, gint text_x) { - GtkStyle *style; + GtkStyleContext *context; gint x, y, width, height; gint text_y, linewidth; + GdkRGBA color; x = x_offset * scale; y = y_offset * scale; @@ -1972,13 +1972,18 @@ paint_page (GtkWidget *widget, linewidth = 2; text_y = 21; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); - gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_NORMAL]); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + + gtk_style_context_get_background_color (context, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); - gdk_cairo_set_source_color (cr, &style->text[GTK_STATE_NORMAL]); + gtk_style_context_get_color (context, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_set_line_width (cr, linewidth); cairo_rectangle (cr, x + linewidth/2.0, y + linewidth/2.0, width - linewidth, height - linewidth); cairo_stroke (cr); @@ -1989,6 +1994,8 @@ paint_page (GtkWidget *widget, cairo_set_font_size (cr, (gint)(9 * scale)); cairo_move_to (cr, x + (gint)(text_x * scale), y + (gint)(text_y * scale)); cairo_show_text (cr, text); + + gtk_style_context_restore (context); } static gboolean @@ -2035,10 +2042,9 @@ draw_collate_cb (GtkWidget *widget, } static void -gtk_print_unix_dialog_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_print_unix_dialog_style_updated (GtkWidget *widget) { - GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_set (widget, previous_style); + GTK_WIDGET_CLASS (gtk_print_unix_dialog_parent_class)->style_updated (widget); if (gtk_widget_has_screen (widget)) { @@ -2589,7 +2595,7 @@ draw_page_cb (GtkWidget *widget, GtkPrintUnixDialog *dialog) { GtkPrintUnixDialogPrivate *priv = dialog->priv; - GtkStyle *style; + GtkStyleContext *context; gdouble ratio; gint w, h, tmp, shadow_offset; gint pages_x, pages_y, i, x, y, layout_w, layout_h; @@ -2599,7 +2605,7 @@ draw_page_cb (GtkWidget *widget, PangoLayout *layout; PangoFontDescription *font; gchar *text; - GdkColor *color; + GdkRGBA color; GtkNumberUpLayout number_up_layout; gint start_x, end_x, start_y, end_y; gint dx, dy; @@ -2698,7 +2704,10 @@ draw_page_cb (GtkWidget *widget, pages_y = tmp; } - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); pos_x = (width - w) / 2; pos_y = (height - h) / 2 - 10; @@ -2706,18 +2715,20 @@ draw_page_cb (GtkWidget *widget, shadow_offset = 3; - color = &style->text[GTK_STATE_NORMAL]; - cairo_set_source_rgba (cr, color->red / 65535., color->green / 65535., color->blue / 65535, 0.5); + gtk_style_context_get_color (context, 0, &color); + cairo_set_source_rgba (cr, color.red, color.green, color.blue, 0.5); cairo_rectangle (cr, shadow_offset + 1, shadow_offset + 1, w, h); cairo_fill (cr); - gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_NORMAL]); + gtk_style_context_get_background_color (context, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_rectangle (cr, 1, 1, w, h); cairo_fill (cr); cairo_set_line_width (cr, 1.0); cairo_rectangle (cr, 0.5, 0.5, w + 1, h + 1); - gdk_cairo_set_source_color (cr, &style->text[GTK_STATE_NORMAL]); + gtk_style_context_get_color (context, 0, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_stroke (cr); i = 1; @@ -2985,6 +2996,8 @@ draw_page_cb (GtkWidget *widget, cairo_stroke (cr); } + gtk_style_context_restore (context); + return TRUE; } From 18502518f34312495f580b1e7cb8cda44825eff0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:45:14 +0100 Subject: [PATCH 1281/1463] Make GtkImage use GtkStyleContext --- gtk/gtkimage.c | 87 ++++++++++++++++++++++++-------------------------- 1 file changed, 41 insertions(+), 46 deletions(-) diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 2d8e130f95..dca9566d0a 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -147,7 +147,7 @@ struct _GtkImagePrivate gboolean was_symbolic; gchar *filename; /* Only used with GTK_IMAGE_ANIMATION, GTK_IMAGE_PIXBUF */ - gint last_rendered_state; /* a GtkStateType, with -1 meaning an invalid state, + gint last_rendered_state; /* a GtkStateFlags, with -1 meaning an invalid state, * only used with GTK_IMAGE_GICON, GTK_IMAGE_ICON_NAME */ gint pixel_size; guint need_calc_size : 1; @@ -168,8 +168,7 @@ static void gtk_image_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural); -static void gtk_image_style_set (GtkWidget *widget, - GtkStyle *prev_style); +static void gtk_image_style_updated (GtkWidget *widget); static void gtk_image_screen_changed (GtkWidget *widget, GdkScreen *prev_screen); static void gtk_image_destroy (GtkWidget *widget); @@ -226,7 +225,7 @@ gtk_image_class_init (GtkImageClass *class) widget_class->get_preferred_height = gtk_image_get_preferred_height; widget_class->unmap = gtk_image_unmap; widget_class->unrealize = gtk_image_unrealize; - widget_class->style_set = gtk_image_style_set; + widget_class->style_updated = gtk_image_style_updated; widget_class->screen_changed = gtk_image_screen_changed; g_object_class_install_property (gobject_class, @@ -1391,8 +1390,8 @@ icon_theme_changed (GtkImage *image) } static void -ensure_pixbuf_for_icon_name (GtkImage *image, - GtkStateType state) +ensure_pixbuf_for_icon_name (GtkImage *image, + GtkStateFlags state) { GtkImagePrivate *priv = image->priv; GdkScreen *screen; @@ -1496,8 +1495,8 @@ ensure_pixbuf_for_icon_name (GtkImage *image, } static void -ensure_pixbuf_for_gicon (GtkImage *image, - GtkStateType state) +ensure_pixbuf_for_gicon (GtkImage *image, + GtkStateFlags state) { GtkImagePrivate *priv = image->priv; GdkScreen *screen; @@ -1588,10 +1587,16 @@ gtk_image_draw (GtkWidget *widget, gint xpad, ypad; gfloat xalign, yalign; GdkPixbuf *pixbuf; - GtkStateType state; + GtkStateFlags state; gboolean needs_state_transform; + GtkStyleContext *context; misc = GTK_MISC (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); /* For stock items and icon sets, we lazily calculate * the size; we might get here between a queue_resize() @@ -1609,9 +1614,9 @@ gtk_image_draw (GtkWidget *widget, x = floor (xpad + ((gtk_widget_get_allocated_width (widget) - priv->required_width) * xalign)); y = floor (ypad + ((gtk_widget_get_allocated_height (widget) - priv->required_height) * yalign)); - - needs_state_transform = gtk_widget_get_state (widget) != GTK_STATE_NORMAL; - + + needs_state_transform = state != 0; + switch (priv->storage_type) { @@ -1631,13 +1636,8 @@ gtk_image_draw (GtkWidget *widget, case GTK_IMAGE_ICON_SET: pixbuf = - gtk_icon_set_render_icon (priv->data.icon_set.icon_set, - gtk_widget_get_style (widget), - gtk_widget_get_direction (widget), - gtk_widget_get_state (widget), - priv->icon_size, - widget, - NULL); + gtk_icon_set_render_icon_pixbuf (priv->data.icon_set.icon_set, + context, priv->icon_size); /* already done */ needs_state_transform = FALSE; @@ -1666,10 +1666,9 @@ gtk_image_draw (GtkWidget *widget, break; case GTK_IMAGE_ICON_NAME: - state = gtk_widget_get_state (widget); - if (state == GTK_STATE_INSENSITIVE) + if (state & GTK_STATE_FLAG_INSENSITIVE) { - ensure_pixbuf_for_icon_name (image, GTK_STATE_NORMAL); + ensure_pixbuf_for_icon_name (image, 0); } else { @@ -1686,10 +1685,9 @@ gtk_image_draw (GtkWidget *widget, break; case GTK_IMAGE_GICON: - state = gtk_widget_get_state (widget); - if (state == GTK_STATE_INSENSITIVE) + if (state & GTK_STATE_FLAG_INSENSITIVE) { - ensure_pixbuf_for_gicon (image, GTK_STATE_NORMAL); + ensure_pixbuf_for_gicon (image, 0); } else { @@ -1728,16 +1726,8 @@ gtk_image_draw (GtkWidget *widget, gtk_icon_source_set_size (source, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_icon_source_set_size_wildcarded (source, FALSE); - - rendered = gtk_style_render_icon (gtk_widget_get_style (widget), - source, - gtk_widget_get_direction (widget), - gtk_widget_get_state (widget), - /* arbitrary */ - (GtkIconSize)-1, - widget, - "gtk-image"); + rendered = gtk_render_icon_pixbuf (context, source, (GtkIconSize) -1); gtk_icon_source_free (source); g_object_unref (pixbuf); @@ -1749,6 +1739,8 @@ gtk_image_draw (GtkWidget *widget, g_object_unref (pixbuf); } + + gtk_style_context_restore (context); } return FALSE; @@ -1878,8 +1870,15 @@ gtk_image_calc_size (GtkImage *image) GtkWidget *widget = GTK_WIDGET (image); GtkImagePrivate *priv = image->priv; GdkPixbuf *pixbuf = NULL; + GtkStyleContext *context; + GtkStateFlags state; priv->need_calc_size = 0; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); /* We update stock/icon set on every size request, because * the theme could have affected the size; for other kinds of @@ -1895,21 +1894,16 @@ gtk_image_calc_size (GtkImage *image) break; case GTK_IMAGE_ICON_SET: - pixbuf = gtk_icon_set_render_icon (priv->data.icon_set.icon_set, - gtk_widget_get_style (widget), - gtk_widget_get_direction (widget), - gtk_widget_get_state (widget), - priv->icon_size, - widget, - NULL); + pixbuf = gtk_icon_set_render_icon_pixbuf (priv->data.icon_set.icon_set, + context, priv->icon_size); break; case GTK_IMAGE_ICON_NAME: - ensure_pixbuf_for_icon_name (image, GTK_STATE_NORMAL); + ensure_pixbuf_for_icon_name (image, 0); pixbuf = priv->data.name.pixbuf; if (pixbuf) g_object_ref (pixbuf); break; case GTK_IMAGE_GICON: - ensure_pixbuf_for_gicon (image, GTK_STATE_NORMAL); + ensure_pixbuf_for_gicon (image, 0); pixbuf = priv->data.gicon.pixbuf; if (pixbuf) g_object_ref (pixbuf); @@ -1929,6 +1923,8 @@ gtk_image_calc_size (GtkImage *image) g_object_unref (pixbuf); } + + gtk_style_context_restore (context); } static void @@ -1964,14 +1960,13 @@ gtk_image_get_preferred_height (GtkWidget *widget, } static void -gtk_image_style_set (GtkWidget *widget, - GtkStyle *prev_style) +gtk_image_style_updated (GtkWidget *widget) { GtkImage *image; image = GTK_IMAGE (widget); - GTK_WIDGET_CLASS (gtk_image_parent_class)->style_set (widget, prev_style); + GTK_WIDGET_CLASS (gtk_image_parent_class)->style_updated (widget); icon_theme_changed (image); } From 3dd838fe76c3193c95ed29fc2e9e1a538dd8b907 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 02:46:29 +0100 Subject: [PATCH 1282/1463] Make GtkLayout use GtkStyleContext --- gtk/gtklayout.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index f3dae47139..3cb0a8295d 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -156,8 +156,7 @@ static void gtk_layout_allocate_child (GtkLayout *layout, GtkLayoutChild *child); static void gtk_layout_adjustment_changed (GtkAdjustment *adjustment, GtkLayout *layout); -static void gtk_layout_style_set (GtkWidget *widget, - GtkStyle *old_style); +static void gtk_layout_style_updated (GtkWidget *widget); static void gtk_layout_set_hadjustment_values (GtkLayout *layout); static void gtk_layout_set_vadjustment_values (GtkLayout *layout); @@ -678,7 +677,7 @@ gtk_layout_class_init (GtkLayoutClass *class) widget_class->get_preferred_height = gtk_layout_get_preferred_height; widget_class->size_allocate = gtk_layout_size_allocate; widget_class->draw = gtk_layout_draw; - widget_class->style_set = gtk_layout_style_set; + widget_class->style_updated = gtk_layout_style_updated; container_class->add = gtk_layout_add; container_class->remove = gtk_layout_remove; @@ -888,9 +887,7 @@ gtk_layout_realize (GtkWidget *widget) priv->bin_window = gdk_window_new (window, &attributes, attributes_mask); gdk_window_set_user_data (priv->bin_window, widget); - - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), priv->bin_window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), priv->bin_window); tmp_list = priv->children; while (tmp_list) @@ -903,17 +900,16 @@ gtk_layout_realize (GtkWidget *widget) } static void -gtk_layout_style_set (GtkWidget *widget, - GtkStyle *old_style) +gtk_layout_style_updated (GtkWidget *widget) { GtkLayoutPrivate *priv; - GTK_WIDGET_CLASS (gtk_layout_parent_class)->style_set (widget, old_style); + GTK_WIDGET_CLASS (gtk_layout_parent_class)->style_updated (widget); if (gtk_widget_get_realized (widget)) { priv = GTK_LAYOUT (widget)->priv; - gtk_style_set_background (gtk_widget_get_style (widget), priv->bin_window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), priv->bin_window); } } From e6277d3b82440168e073bc83bf10fceb76d63995 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 03:31:35 +0100 Subject: [PATCH 1283/1463] Add gtk_style_context_cancel_animations() This function takes a region ID and cancels all animations on or beneath that region (as in push/pop_animatable_region). First user of this is GtkWidget itself, so unmapped widgets have looping animations cancelled. Fixes bug #638119, reported by Jesse van den Kieboom. --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkstylecontext.c | 72 ++++++++++++++++++++++++---- gtk/gtkstylecontext.h | 3 ++ gtk/gtkwidget.c | 3 ++ 5 files changed, 71 insertions(+), 9 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 3ae7fa8066..16372a5767 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5547,6 +5547,7 @@ gtk_style_context_lookup_icon_set gtk_style_context_notify_state_change gtk_style_context_pop_animatable_region gtk_style_context_push_animatable_region +gtk_style_context_cancel_animations gtk_style_context_remove_provider gtk_style_context_remove_provider_for_screen gtk_style_context_reset_widgets diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 919ddd4a54..ead590e1a0 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2461,6 +2461,7 @@ gtk_style_context_add_class gtk_style_context_add_provider gtk_style_context_add_provider_for_screen gtk_style_context_add_region +gtk_style_context_cancel_animations gtk_style_context_get gtk_style_context_get_background_color gtk_style_context_get_border diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 162c97136c..3d1b0aa530 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -454,6 +454,12 @@ struct AnimationInfo GtkTimeline *timeline; gpointer region_id; + + /* Region stack (until region_id) at the time of + * rendering, this is used for nested cancellation. + */ + GSList *parent_regions; + GdkWindow *window; GtkStateType state; gboolean target_value; @@ -749,6 +755,7 @@ animation_info_free (AnimationInfo *info) cairo_region_destroy (info->invalidation_region); g_array_free (info->rectangles, TRUE); + g_slist_free (info->parent_regions); g_slice_free (AnimationInfo, info); } @@ -1572,7 +1579,6 @@ context_has_animatable_region (GtkStyleContext *context, gpointer region_id) { GtkStyleContextPrivate *priv; - GSList *r; /* NULL region_id means everything * rendered through the style context @@ -1581,14 +1587,7 @@ context_has_animatable_region (GtkStyleContext *context, return TRUE; priv = context->priv; - - for (r = priv->animation_regions; r; r = r->next) - { - if (r->data == region_id) - return TRUE; - } - - return FALSE; + return g_slist_find (priv->animation_regions, region_id) != NULL; } /** @@ -2919,6 +2918,53 @@ gtk_style_context_notify_state_change (GtkStyleContext *context, _gtk_animation_description_unref (desc); } +/** + * gtk_style_context_cancel_animations: + * @context: a #GtkStyleContext + * @region_id: (allow-none): animatable region to stop, or %NULL. + * See gtk_style_context_push_animatable_region() + * + * Stops all running animations for @region_id and all animatable + * regions underneath. + * + * A %NULL @region_id will stop all ongoing animations in @context, + * when dealing with a #GtkStyleContext obtained through + * gtk_widget_get_style_context(), this is normally done for you + * in all circumstances you would expect all widget to be stopped, + * so this should be only used in complex widgets with different + * animatable regions. + * + * Since: 3.0 + **/ +void +gtk_style_context_cancel_animations (GtkStyleContext *context, + gpointer region_id) +{ + GtkStyleContextPrivate *priv; + AnimationInfo *info; + GSList *l, *node; + + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); + + priv = context->priv; + l = priv->animations; + + while (l) + { + info = l->data; + node = l; + l = l->next; + + if (!region_id || + info->region_id == region_id || + g_slist_find (info->parent_regions, region_id)) + { + priv->animations = g_slist_remove (priv->animations, info); + animation_info_free (info); + } + } +} + /** * gtk_style_context_push_animatable_region: * @context: a #GtkStyleContext @@ -3096,6 +3142,14 @@ store_animation_region (GtkStyleContext *context, rect.height = (gint) height; g_array_append_val (info->rectangles, rect); + + if (!info->parent_regions) + { + GSList *parent_regions; + + parent_regions = g_slist_find (priv->animation_regions, info->region_id); + info->parent_regions = g_slist_copy (parent_regions); + } } } } diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index ab9be702e8..ceedc529c0 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -522,6 +522,9 @@ void gtk_style_context_notify_state_change (GtkStyleContext *context, gpointer region_id, GtkStateType state, gboolean state_value); +void gtk_style_context_cancel_animations (GtkStyleContext *context, + gpointer region_id); + void gtk_style_context_push_animatable_region (GtkStyleContext *context, gpointer region_id); void gtk_style_context_pop_animatable_region (GtkStyleContext *context); diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index b7c3141d0d..f0c56b4361 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4191,6 +4191,9 @@ gtk_widget_unmap (GtkWidget *widget) g_signal_emit (widget, widget_signals[UNMAP], 0); gtk_widget_pop_verify_invariants (widget); + + if (priv->context) + gtk_style_context_cancel_animations (priv->context, NULL); } } From 6f3706ac28abb6e45f4aef9534daa3a6b435c2d0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 03:38:35 +0100 Subject: [PATCH 1284/1463] Make GtkViewport use GtkStyleContext --- gtk/gtkviewport.c | 96 +++++++++++++++++++++++++++++------------------ 1 file changed, 59 insertions(+), 37 deletions(-) diff --git a/gtk/gtkviewport.c b/gtk/gtkviewport.c index 3d6bdf5e73..09e9fd2538 100644 --- a/gtk/gtkviewport.c +++ b/gtk/gtkviewport.c @@ -102,8 +102,7 @@ static void gtk_viewport_size_allocate (GtkWidget *widget, GtkAllocation *allocation); static void gtk_viewport_adjustment_value_changed (GtkAdjustment *adjustment, gpointer data); -static void gtk_viewport_style_set (GtkWidget *widget, - GtkStyle *previous_style); +static void gtk_viewport_style_updated (GtkWidget *widget); static void gtk_viewport_get_preferred_width (GtkWidget *widget, gint *minimum_size, @@ -136,7 +135,7 @@ gtk_viewport_class_init (GtkViewportClass *class) widget_class->unrealize = gtk_viewport_unrealize; widget_class->draw = gtk_viewport_draw; widget_class->size_allocate = gtk_viewport_size_allocate; - widget_class->style_set = gtk_viewport_style_set; + widget_class->style_updated = gtk_viewport_style_updated; widget_class->get_preferred_width = gtk_viewport_get_preferred_width; widget_class->get_preferred_height = gtk_viewport_get_preferred_height; @@ -319,9 +318,11 @@ viewport_get_view_allocation (GtkViewport *viewport, GtkAllocation *view_allocation) { GtkViewportPrivate *priv = viewport->priv; - GtkStyle *style; GtkWidget *widget = GTK_WIDGET (viewport); GtkAllocation allocation; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; guint border_width; gtk_widget_get_allocation (widget, &allocation); @@ -330,15 +331,27 @@ viewport_get_view_allocation (GtkViewport *viewport, view_allocation->x = 0; view_allocation->y = 0; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + if (priv->shadow_type != GTK_SHADOW_NONE) { - style = gtk_widget_get_style (widget); - view_allocation->x = style->xthickness; - view_allocation->y = style->ythickness; + view_allocation->x = border.left; + view_allocation->y = border.top; } - view_allocation->width = MAX (1, allocation.width - view_allocation->x * 2 - border_width * 2); - view_allocation->height = MAX (1, allocation.height - view_allocation->y * 2 - border_width * 2); + view_allocation->x += padding.left; + view_allocation->y += padding.right; + view_allocation->width = MAX (1, allocation.width - padding.left - padding.right - border_width * 2); + view_allocation->height = MAX (1, allocation.height - padding.top - padding.bottom - border_width * 2); + + if (priv->shadow_type != GTK_SHADOW_NONE) + { + view_allocation->width = MAX (1, view_allocation->width - border.left - border.right); + view_allocation->height = MAX (1, view_allocation->height - border.top - border.bottom); + } } /** @@ -660,7 +673,7 @@ gtk_viewport_realize (GtkWidget *widget) GtkAdjustment *vadjustment = gtk_viewport_get_vadjustment (viewport); GtkAllocation allocation; GtkAllocation view_allocation; - GtkStyle *style; + GtkStyleContext *context; GtkWidget *child; GdkWindow *window; GdkWindowAttr attributes; @@ -720,10 +733,9 @@ gtk_viewport_realize (GtkWidget *widget) if (child) gtk_widget_set_parent_window (child, priv->bin_window); - gtk_widget_style_attach (widget); - style = gtk_widget_get_style (widget); - gtk_style_set_background (style, window, GTK_STATE_NORMAL); - gtk_style_set_background (style, priv->bin_window, GTK_STATE_NORMAL); + context = gtk_widget_get_style_context (widget); + gtk_style_context_set_background (context, window); + gtk_style_context_set_background (context, priv->bin_window); gdk_window_show (priv->bin_window); gdk_window_show (priv->view_window); @@ -752,17 +764,21 @@ gtk_viewport_draw (GtkWidget *widget, { GtkViewport *viewport = GTK_VIEWPORT (widget); GtkViewportPrivate *priv = viewport->priv; + GtkStyleContext *context; int x, y; + context = gtk_widget_get_style_context (widget); + if (gtk_cairo_should_draw_window (cr, gtk_widget_get_window (widget))) { - gtk_paint_shadow (gtk_widget_get_style (widget), - cr, - GTK_STATE_NORMAL, priv->shadow_type, - widget, "viewport", - 0, 0, + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_FRAME); + + gtk_render_frame (context, cr, 0, 0, gdk_window_get_width (gtk_widget_get_window (widget)), gdk_window_get_height (gtk_widget_get_window (widget))); + + gtk_style_context_restore (context); } if (gtk_cairo_should_draw_window (cr, priv->view_window)) @@ -783,12 +799,9 @@ gtk_viewport_draw (GtkWidget *widget, if (gtk_cairo_should_draw_window (cr, priv->bin_window)) { gdk_window_get_position (priv->bin_window, &x, &y); - gtk_paint_flat_box (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_NONE, - widget, "viewportbin", - x, y, - gdk_window_get_width (priv->bin_window), - gdk_window_get_height (priv->bin_window)); + gtk_render_background (context, cr, x, y, + gdk_window_get_width (priv->bin_window), + gdk_window_get_height (priv->bin_window)); GTK_WIDGET_CLASS (gtk_viewport_parent_class)->draw (widget, cr); } @@ -911,21 +924,18 @@ gtk_viewport_adjustment_value_changed (GtkAdjustment *adjustment, } static void -gtk_viewport_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_viewport_style_updated (GtkWidget *widget) { if (gtk_widget_get_realized (widget) && gtk_widget_get_has_window (widget)) { - GtkStyle *style; + GtkStyleContext *context; GtkViewport *viewport = GTK_VIEWPORT (widget); GtkViewportPrivate *priv = viewport->priv; - style = gtk_widget_get_style (widget); - gtk_style_set_background (style, priv->bin_window, GTK_STATE_NORMAL); - gtk_style_set_background (style, - gtk_widget_get_window (widget), - gtk_widget_get_state (widget)); + context = gtk_widget_get_style_context (widget); + gtk_style_context_set_background (context, priv->bin_window); + gtk_style_context_set_background (context, gtk_widget_get_window (widget)); } } @@ -938,7 +948,9 @@ gtk_viewport_get_preferred_size (GtkWidget *widget, { GtkViewport *viewport = GTK_VIEWPORT (widget); GtkViewportPrivate *priv = viewport->priv; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; GtkWidget *child; gint child_min, child_nat; gint minimum, natural; @@ -950,15 +962,25 @@ gtk_viewport_get_preferred_size (GtkWidget *widget, */ minimum = gtk_container_get_border_width (GTK_CONTAINER (widget)); + context = gtk_widget_get_style_context (GTK_WIDGET (widget)); + state = gtk_widget_get_state_flags (GTK_WIDGET (widget)); + gtk_style_context_get_padding (context, state, &padding); + if (priv->shadow_type != GTK_SHADOW_NONE) { - style = gtk_widget_get_style (GTK_WIDGET (widget)); + gtk_style_context_get_border (context, state, &border); + if (orientation == GTK_ORIENTATION_HORIZONTAL) - minimum += 2 * style->xthickness; + minimum += border.left + border.right; else - minimum += 2 * style->ythickness; + minimum += border.top + border.bottom; } + if (orientation == GTK_ORIENTATION_HORIZONTAL) + minimum += padding.left + padding.right; + else + minimum += padding.top + padding.bottom; + natural = minimum; if (child && gtk_widget_get_visible (child)) From 5c3b49ab14c8556d269d3a4e5bfb7af6e45fd6db Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 03:41:19 +0100 Subject: [PATCH 1285/1463] Ensure GtkStyleContext is generated on gtk_widget_render_icon_pixbuf() This fixes some warnings seen when this is called early on non yet styled widgets. --- gtk/gtkwidget.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index f0c56b4361..24cc27204a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -9018,23 +9018,20 @@ gtk_widget_render_icon_pixbuf (GtkWidget *widget, const gchar *stock_id, GtkIconSize size) { - GtkWidgetPrivate *priv; + GtkStyleContext *context; GtkIconSet *icon_set; g_return_val_if_fail (GTK_IS_WIDGET (widget), NULL); g_return_val_if_fail (stock_id != NULL, NULL); g_return_val_if_fail (size > GTK_ICON_SIZE_INVALID || size == -1, NULL); - priv = widget->priv; - - gtk_widget_ensure_style (widget); - - icon_set = gtk_style_context_lookup_icon_set (priv->context, stock_id); + context = gtk_widget_get_style_context (widget); + icon_set = gtk_style_context_lookup_icon_set (context, stock_id); if (icon_set == NULL) return NULL; - return gtk_icon_set_render_icon_pixbuf (icon_set, priv->context, size); + return gtk_icon_set_render_icon_pixbuf (icon_set, context, size); } /** From 34a7dbae3b5092215afd217b66b9b038240196ab Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 10 Jan 2011 17:56:51 +0900 Subject: [PATCH 1286/1463] Fixed GtkCellArea to never activate/start editing insensitive cells. Included extension to tests/testtreeedit to show this is working properly. --- gtk/gtkcellarea.c | 3 +++ tests/testtreeedit.c | 64 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 56 insertions(+), 11 deletions(-) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index e859c8d06c..0a94ca54f8 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -3395,6 +3395,9 @@ gtk_cell_area_activate_cell (GtkCellArea *area, priv = area->priv; + if (!gtk_cell_renderer_get_sensitive (renderer)) + return FALSE; + g_object_get (renderer, "mode", &mode, NULL); if (mode == GTK_CELL_RENDERER_MODE_ACTIVATABLE) diff --git a/tests/testtreeedit.c b/tests/testtreeedit.c index 712dad4128..8e0cc32682 100644 --- a/tests/testtreeedit.c +++ b/tests/testtreeedit.c @@ -24,12 +24,14 @@ typedef struct { const gchar *string; gboolean is_editable; + gboolean is_sensitive; gint progress; } ListEntry; enum { STRING_COLUMN, IS_EDITABLE_COLUMN, + IS_SENSITIVE_COLUMN, PIXBUF_COLUMN, LAST_PIXBUF_COLUMN, PROGRESS_COLUMN, @@ -38,11 +40,11 @@ enum { static ListEntry model_strings[] = { - {"A simple string", TRUE, 0 }, - {"Another string!", TRUE, 10 }, - {"Guess what, a third string. This one can't be edited", FALSE, 47 }, - {"And then a fourth string. Neither can this", FALSE, 48 }, - {"Multiline\nFun!", TRUE, 75 }, + {"A simple string", TRUE, TRUE, 0 }, + {"Another string!", TRUE, TRUE, 10 }, + {"Guess what, a third string. This one can't be edited", FALSE, TRUE, 47 }, + {"And then a fourth string. Neither can this", FALSE, TRUE, 48 }, + {"Multiline\nFun!", TRUE, FALSE, 75 }, { NULL } }; @@ -63,6 +65,7 @@ create_model (void) model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_BOOLEAN, + G_TYPE_BOOLEAN, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF, G_TYPE_INT); @@ -74,6 +77,7 @@ create_model (void) gtk_tree_store_set (model, &iter, STRING_COLUMN, model_strings[i].string, IS_EDITABLE_COLUMN, model_strings[i].is_editable, + IS_SENSITIVE_COLUMN, model_strings[i].is_sensitive, PIXBUF_COLUMN, foo, LAST_PIXBUF_COLUMN, bar, PROGRESS_COLUMN, model_strings[i].progress, @@ -84,9 +88,9 @@ create_model (void) } static void -toggled (GtkCellRendererToggle *cell, - gchar *path_string, - gpointer data) +editable_toggled (GtkCellRendererToggle *cell, + gchar *path_string, + gpointer data) { GtkTreeModel *model = GTK_TREE_MODEL (data); GtkTreeIter iter; @@ -102,6 +106,25 @@ toggled (GtkCellRendererToggle *cell, gtk_tree_path_free (path); } +static void +sensitive_toggled (GtkCellRendererToggle *cell, + gchar *path_string, + gpointer data) +{ + GtkTreeModel *model = GTK_TREE_MODEL (data); + GtkTreeIter iter; + GtkTreePath *path = gtk_tree_path_new_from_string (path_string); + gboolean value; + + gtk_tree_model_get_iter (model, &iter, path); + gtk_tree_model_get (model, &iter, IS_SENSITIVE_COLUMN, &value, -1); + + value = !value; + gtk_tree_store_set (GTK_TREE_STORE (model), &iter, IS_SENSITIVE_COLUMN, value, -1); + + gtk_tree_path_free (path); +} + static void edited (GtkCellRendererText *cell, gchar *path_string, @@ -247,7 +270,9 @@ main (gint argc, gchar **argv) renderer = gtk_cell_renderer_pixbuf_new (); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, - "pixbuf", PIXBUF_COLUMN, NULL); + "pixbuf", PIXBUF_COLUMN, + "sensitive", IS_SENSITIVE_COLUMN, + NULL); callback[0].area = area; callback[0].renderer = renderer; @@ -256,6 +281,7 @@ main (gint argc, gchar **argv) gtk_tree_view_column_set_attributes (column, renderer, "text", STRING_COLUMN, "editable", IS_EDITABLE_COLUMN, + "sensitive", IS_SENSITIVE_COLUMN, NULL); callback[1].area = area; callback[1].renderer = renderer; @@ -267,6 +293,7 @@ main (gint argc, gchar **argv) gtk_tree_view_column_set_attributes (column, renderer, "text", STRING_COLUMN, "editable", IS_EDITABLE_COLUMN, + "sensitive", IS_SENSITIVE_COLUMN, NULL); callback[2].area = area; callback[2].renderer = renderer; @@ -279,7 +306,9 @@ main (gint argc, gchar **argv) NULL); gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_set_attributes (column, renderer, - "pixbuf", LAST_PIXBUF_COLUMN, NULL); + "pixbuf", LAST_PIXBUF_COLUMN, + "sensitive", IS_SENSITIVE_COLUMN, + NULL); callback[3].area = area; callback[3].renderer = renderer; @@ -287,7 +316,7 @@ main (gint argc, gchar **argv) renderer = gtk_cell_renderer_toggle_new (); g_signal_connect (renderer, "toggled", - G_CALLBACK (toggled), tree_model); + G_CALLBACK (editable_toggled), tree_model); g_object_set (renderer, "xalign", 0.0, @@ -298,6 +327,19 @@ main (gint argc, gchar **argv) "active", IS_EDITABLE_COLUMN, NULL); + renderer = gtk_cell_renderer_toggle_new (); + g_signal_connect (renderer, "toggled", + G_CALLBACK (sensitive_toggled), tree_model); + + g_object_set (renderer, + "xalign", 0.0, + NULL); + gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view), + -1, "Sensitive", + renderer, + "active", IS_SENSITIVE_COLUMN, + NULL); + renderer = gtk_cell_renderer_progress_new (); gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (tree_view), -1, "Progress", From 1fa280938b62a489317934ea7db8114a649dfc87 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 10 Jan 2011 18:46:51 +0900 Subject: [PATCH 1287/1463] Fixed GtkCellAreaBox to not allocate invisible cells. This was already done for the most part but not taken care of for single cell groups (which is the most common case). --- gtk/gtkcellareabox.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index e54f018fab..44da08dacb 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -866,6 +866,9 @@ get_allocated_cells (GtkCellAreaBox *box, AllocatedCell *cell; gint cell_position, cell_size; + if (!gtk_cell_renderer_get_visible (info->renderer)) + continue; + /* If were not aligned, place the cell after the last cell */ if (info->align) position = cell_position = group_allocs[i].position; From 03975b8e7439bc124a0d4ad3bdaa7f2af1765abb Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 9 Jan 2011 13:10:40 +0900 Subject: [PATCH 1288/1463] Added GtkBuilder support for "menu" child type of GtkMenuToolButton --- .../reference/gtk/tmpl/gtkmenutoolbutton.sgml | 18 ++++++++++ gtk/gtkmenutoolbutton.c | 33 ++++++++++++++++++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/tmpl/gtkmenutoolbutton.sgml b/docs/reference/gtk/tmpl/gtkmenutoolbutton.sgml index c56eab0d76..5326d02498 100644 --- a/docs/reference/gtk/tmpl/gtkmenutoolbutton.sgml +++ b/docs/reference/gtk/tmpl/gtkmenutoolbutton.sgml @@ -16,6 +16,24 @@ A GtkToolItem containing a button with an additional dropdown menu #GtkMenuToolButton. Use gtk_menu_tool_button_new_from_stock() to create a new #GtkMenuToolButton containing a stock item. + +GtkMenuToolButton as GtkBuildable + +The GtkMenuToolButton implementation of the GtkBuildable interface +supports adding a menu by specifying "menu" as the "type" +attribute of a <child> element. + + +A UI definition fragment with menus + + + + + +]]> + + diff --git a/gtk/gtkmenutoolbutton.c b/gtk/gtkmenutoolbutton.c index f657805d70..e63d795317 100644 --- a/gtk/gtkmenutoolbutton.c +++ b/gtk/gtkmenutoolbutton.c @@ -30,6 +30,7 @@ #include "gtkmenu.h" #include "gtkmain.h" #include "gtksizerequest.h" +#include "gtkbuildable.h" #include "gtkprivate.h" #include "gtkintl.h" @@ -49,6 +50,12 @@ static void gtk_menu_tool_button_destroy (GtkWidget *widget); static int menu_deactivate_cb (GtkMenuShell *menu_shell, GtkMenuToolButton *button); +static void gtk_menu_tool_button_buildable_interface_init (GtkBuildableIface *iface); +static void gtk_menu_tool_button_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type); + enum { SHOW_MENU, @@ -63,7 +70,11 @@ enum static gint signals[LAST_SIGNAL]; -G_DEFINE_TYPE (GtkMenuToolButton, gtk_menu_tool_button, GTK_TYPE_TOOL_BUTTON) +static GtkBuildableIface *parent_buildable_iface; + +G_DEFINE_TYPE_WITH_CODE (GtkMenuToolButton, gtk_menu_tool_button, GTK_TYPE_TOOL_BUTTON, + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_menu_tool_button_buildable_interface_init)) static void gtk_menu_tool_button_construct_contents (GtkMenuToolButton *button) @@ -453,6 +464,26 @@ gtk_menu_tool_button_destroy (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_menu_tool_button_parent_class)->destroy (widget); } +static void +gtk_menu_tool_button_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + if (type && strcmp (type, "menu") == 0) + gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (buildable), + GTK_WIDGET (child)); + else + parent_buildable_iface->add_child (buildable, builder, child, type); +} + +static void +gtk_menu_tool_button_buildable_interface_init (GtkBuildableIface *iface) +{ + parent_buildable_iface = g_type_interface_peek_parent (iface); + iface->add_child = gtk_menu_tool_button_buildable_add_child; +} + /** * gtk_menu_tool_button_new: * @icon_widget: (allow-none): a widget that will be used as icon widget, or %NULL From cfecb6bf10ca661301e19aac34047241d735ddce Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 9 Jan 2011 14:06:19 +0900 Subject: [PATCH 1289/1463] Added GtkBuildable support to add "tag" children to GtkTextTagTable. --- gtk/gtktexttagtable.c | 47 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/gtk/gtktexttagtable.c b/gtk/gtktexttagtable.c index b1a99ffd12..ea68ad9ba2 100644 --- a/gtk/gtktexttagtable.c +++ b/gtk/gtktexttagtable.c @@ -28,6 +28,7 @@ #include "gtktexttagtable.h" +#include "gtkbuildable.h" #include "gtktexttagprivate.h" #include "gtkmarshalers.h" #include "gtktextbuffer.h" /* just for the lame notify_will_remove_tag hack */ @@ -44,9 +45,26 @@ * You may wish to begin by reading the text widget * conceptual overview which gives an overview of all the objects and data * types related to the text widget and how they work together. + * + * + * GtkTextTagTables as GtkBuildable + * + * The GtkTextTagTable implementation of the GtkBuildable interface + * supports adding tags by specifying "tag" as the "type" + * attribute of a <child> element. + * + * + * A UI definition fragment specifying tags + * + * + * + * + * + * ]]> + * */ - struct _GtkTextTagTablePrivate { GHashTable *hash; @@ -78,9 +96,17 @@ static void gtk_text_tag_table_get_property (GObject *object, GValue *value, GParamSpec *pspec); +static void gtk_text_tag_table_buildable_interface_init (GtkBuildableIface *iface); +static void gtk_text_tag_table_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type); + static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (GtkTextTagTable, gtk_text_tag_table, G_TYPE_OBJECT) +G_DEFINE_TYPE_WITH_CODE (GtkTextTagTable, gtk_text_tag_table, G_TYPE_OBJECT, + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_text_tag_table_buildable_interface_init)) static void gtk_text_tag_table_class_init (GtkTextTagTableClass *klass) @@ -246,6 +272,23 @@ gtk_text_tag_table_get_property (GObject *object, } } +static void +gtk_text_tag_table_buildable_interface_init (GtkBuildableIface *iface) +{ + iface->add_child = gtk_text_tag_table_buildable_add_child; +} + +static void +gtk_text_tag_table_buildable_add_child (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *type) +{ + if (type && strcmp (type, "tag") == 0) + gtk_text_tag_table_add (GTK_TEXT_TAG_TABLE (buildable), + GTK_TEXT_TAG (child)); +} + /** * gtk_text_tag_table_add: * @table: a #GtkTextTagTable From 2dafbba921ba15908f7b0f45b9f96c305a0ffa42 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 9 Jan 2011 15:25:53 +0900 Subject: [PATCH 1290/1463] Added GtkBuildable support for specifying in GtkComboBoxText. --- gtk/gtkcomboboxtext.c | 232 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 226 insertions(+), 6 deletions(-) diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c index 355e2482cf..00d75d2f80 100644 --- a/gtk/gtkcomboboxtext.c +++ b/gtk/gtkcomboboxtext.c @@ -22,6 +22,10 @@ #include "gtkcombobox.h" #include "gtkcellrenderertext.h" #include "gtkcelllayout.h" +#include "gtkbuildable.h" +#include "gtkbuilderprivate.h" + +#include /** * SECTION:gtkcomboboxtext @@ -44,9 +48,50 @@ * its contents can be retrieved using gtk_combo_box_text_get_active_text(). * The entry itself can be accessed by calling gtk_bin_get_child() on the * combo box. + * + * + * GtkComboBoxText as GtkBuildable + * + * The GtkComboBoxText implementation of the GtkBuildable interface + * supports adding items directly using the <items> element + * and specifying <item> elements for each item. Each <item> + * element supports the regular translation attributes "translatable", + * "context" and "comments". + * + * + * A UI definition fragment specifying GtkComboBoxText items + * + * + * Factory + * Home + * Subway + * + *

+ * ]]>
+ *
+ * */ -G_DEFINE_TYPE (GtkComboBoxText, gtk_combo_box_text, GTK_TYPE_COMBO_BOX); +static void gtk_combo_box_text_buildable_interface_init (GtkBuildableIface *iface); +static gboolean gtk_combo_box_text_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data); + +static void gtk_combo_box_text_buildable_custom_finished (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data); + +static GtkBuildableIface *buildable_parent_iface = NULL; + +G_DEFINE_TYPE_WITH_CODE (GtkComboBoxText, gtk_combo_box_text, GTK_TYPE_COMBO_BOX, + G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE, + gtk_combo_box_text_buildable_interface_init)); static GObject * gtk_combo_box_text_constructor (GType type, @@ -91,6 +136,174 @@ gtk_combo_box_text_class_init (GtkComboBoxTextClass *klass) object_class->constructor = gtk_combo_box_text_constructor; } +static void +gtk_combo_box_text_buildable_interface_init (GtkBuildableIface *iface) +{ + buildable_parent_iface = g_type_interface_peek_parent (iface); + + iface->custom_tag_start = gtk_combo_box_text_buildable_custom_tag_start; + iface->custom_finished = gtk_combo_box_text_buildable_custom_finished; +} + +typedef struct { + GtkBuilder *builder; + GObject *object; + const gchar *domain; + + gchar *context; + gchar *string; + guint translatable : 1; + + guint is_text : 1; +} ItemParserData; + +static void +item_start_element (GMarkupParseContext *context, + const gchar *element_name, + const gchar **names, + const gchar **values, + gpointer user_data, + GError **error) +{ + ItemParserData *data = (ItemParserData*)user_data; + guint i; + + if (strcmp (element_name, "item") == 0) + { + data->is_text = TRUE; + + for (i = 0; names[i]; i++) + { + if (strcmp (names[i], "translatable") == 0) + { + gboolean bval; + + if (!_gtk_builder_boolean_from_string (values[i], &bval, + error)) + return; + + data->translatable = bval; + } + else if (strcmp (names[i], "comments") == 0) + { + /* do nothing, comments are for translators */ + } + else if (strcmp (names[i], "context") == 0) + data->context = g_strdup (values[i]); + else + g_warning ("Unknown custom combo box item attribute: %s", names[i]); + } + } +} + +static void +item_text (GMarkupParseContext *context, + const gchar *text, + gsize text_len, + gpointer user_data, + GError **error) +{ + ItemParserData *data = (ItemParserData*)user_data; + gchar *string; + + if (!data->is_text) + return; + + string = g_strndup (text, text_len); + + if (data->translatable && text_len) + { + gchar *translated; + + /* FIXME: This will not use the domain set in the .ui file, + * since the parser is not telling the builder about the domain. + * However, it will work for gtk_builder_set_translation_domain() calls. + */ + translated = _gtk_builder_parser_translate (data->domain, + data->context, + string); + g_free (string); + string = translated; + } + + data->string = string; +} + +static void +item_end_element (GMarkupParseContext *context, + const gchar *element_name, + gpointer user_data, + GError **error) +{ + ItemParserData *data = (ItemParserData*)user_data; + + /* Append the translated strings */ + if (data->string) + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (data->object), data->string); + + data->translatable = FALSE; + g_free (data->context); + g_free (data->string); + data->context = NULL; + data->string = NULL; + data->is_text = FALSE; +} + +static const GMarkupParser item_parser = + { + item_start_element, + item_end_element, + item_text + }; + +static gboolean +gtk_combo_box_text_buildable_custom_tag_start (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + GMarkupParser *parser, + gpointer *data) +{ + if (buildable_parent_iface->custom_tag_start (buildable, builder, child, + tagname, parser, data)) + return TRUE; + + if (strcmp (tagname, "items") == 0) + { + ItemParserData *parser_data; + + parser_data = g_slice_new0 (ItemParserData); + parser_data->builder = g_object_ref (builder); + parser_data->object = g_object_ref (buildable); + parser_data->domain = gtk_builder_get_translation_domain (builder); + *parser = item_parser; + *data = parser_data; + return TRUE; + } + return FALSE; +} + +static void +gtk_combo_box_text_buildable_custom_finished (GtkBuildable *buildable, + GtkBuilder *builder, + GObject *child, + const gchar *tagname, + gpointer user_data) +{ + ItemParserData *data; + + buildable_parent_iface->custom_finished (buildable, builder, child, + tagname, user_data); + + if (strcmp (tagname, "items") == 0) + { + data = (ItemParserData*)user_data; + + g_object_unref (data->object); + g_object_unref (data->builder); + g_slice_free (ItemParserData, data); + } +} /** * gtk_combo_box_text_new: @@ -265,17 +478,24 @@ gtk_combo_box_text_insert (GtkComboBoxText *combo_box, g_return_if_fail (GTK_IS_COMBO_BOX_TEXT (combo_box)); g_return_if_fail (text != NULL); - if (position < 0) - position = G_MAXINT; - store = GTK_LIST_STORE (gtk_combo_box_get_model (GTK_COMBO_BOX (combo_box))); g_return_if_fail (GTK_IS_LIST_STORE (store)); + text_column = gtk_combo_box_get_entry_text_column (GTK_COMBO_BOX (combo_box)); - g_return_if_fail (text_column >= 0); + + if (gtk_combo_box_get_has_entry (GTK_COMBO_BOX (combo_box))) + g_return_if_fail (text_column >= 0); + else if (text_column < 0) + text_column = 0; + column_type = gtk_tree_model_get_column_type (GTK_TREE_MODEL (store), text_column); g_return_if_fail (column_type == G_TYPE_STRING); - gtk_list_store_insert (store, &iter, position); + if (position < 0) + gtk_list_store_append (store, &iter); + else + gtk_list_store_insert (store, &iter, position); + gtk_list_store_set (store, &iter, text_column, text, -1); if (id != NULL) From 3f911b251618b30ffbfc1ad7a557b51bc61a36fe Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Mon, 10 Jan 2011 22:26:46 +0900 Subject: [PATCH 1291/1463] Fixed GtkEntry to report the proper default value for "primary/secondary-icon-activatable" --- gtk/gtkentry.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 0920037d2b..e7bd3d932b 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -1152,7 +1152,7 @@ gtk_entry_class_init (GtkEntryClass *class) g_param_spec_boolean ("primary-icon-activatable", P_("Primary icon activatable"), P_("Whether the primary icon is activatable"), - FALSE, + TRUE, GTK_PARAM_READWRITE)); /** @@ -1173,7 +1173,7 @@ gtk_entry_class_init (GtkEntryClass *class) g_param_spec_boolean ("secondary-icon-activatable", P_("Secondary icon activatable"), P_("Whether the secondary icon is activatable"), - FALSE, + TRUE, GTK_PARAM_READWRITE)); @@ -7959,7 +7959,7 @@ gtk_entry_get_icon_activatable (GtkEntry *entry, priv = entry->priv; icon_info = priv->icons[icon_pos]; - return (icon_info != NULL && !icon_info->nonactivatable); + return (!icon_info || !icon_info->nonactivatable); } /** From 63bb0c73bcf4d44e5945aedc7e4d49bf606526a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Mon, 10 Jan 2011 13:20:13 +0000 Subject: [PATCH 1292/1463] build: Use mkdir_p instead mkinstalldirs As we don't use mkinstalldirs, $(mkinstalldirs) is simply an alias for $(mkdir_p) --- Makefile.am | 1 - gtk/Makefile.am | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/Makefile.am b/Makefile.am index 729637e2e6..382837057f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,7 +47,6 @@ MAINTAINERCLEANFILES = \ $(srcdir)/install-sh \ $(srcdir)/ltmain.sh \ $(srcdir)/missing \ - $(srcdir)/mkinstalldirs \ $(srcdir)/omf.make \ $(srcdir)/xmldocs.make \ $(srcdir)/gtk-doc.make \ diff --git a/gtk/Makefile.am b/gtk/Makefile.am index a81ea5c674..a231944765 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -907,7 +907,7 @@ endif if USE_QUARTZ install-mac-key-theme: - $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key + $(mkdir_p) $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key $(INSTALL_DATA) $(srcdir)/gtkrc.key.mac $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key/gtkrc uninstall-mac-key-theme: rm -f $(DESTDIR)$(datadir)/themes/Mac/gtk-3.0-key/gtkrc @@ -930,11 +930,11 @@ dist-hook: ../build/win32/vs9/gtk.vcproj # Install a RC file for the default GTK+ theme, and key themes install-data-local: install-ms-lib install-def-file install-mac-key-theme - $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0 + $(mkdir_p) $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0 $(INSTALL_DATA) $(srcdir)/gtkrc.default $(DESTDIR)$(datadir)/themes/Raleigh/gtk-3.0/gtkrc - $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key + $(mkdir_p) $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key $(INSTALL_DATA) $(srcdir)/gtkrc.key.default $(DESTDIR)$(datadir)/themes/Default/gtk-3.0-key/gtkrc - $(mkinstalldirs) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key + $(mkdir_p) $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key $(INSTALL_DATA) $(srcdir)/gtkrc.key.emacs $(DESTDIR)$(datadir)/themes/Emacs/gtk-3.0-key/gtkrc uninstall-local: uninstall-ms-lib uninstall-def-file uninstall-mac-key-theme From f75838535308de0c33b5d714416be40222c4ce74 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 09:47:09 -0500 Subject: [PATCH 1293/1463] Fix doc syntax --- gtk/gtktexttagtable.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtktexttagtable.c b/gtk/gtktexttagtable.c index ea68ad9ba2..d9eb12e46a 100644 --- a/gtk/gtktexttagtable.c +++ b/gtk/gtktexttagtable.c @@ -43,16 +43,16 @@ * @Title: GtkTextTagTable * * You may wish to begin by reading the text widget - * conceptual overview which gives an overview of all the objects and data - * types related to the text widget and how they work together. + * conceptual overview which gives an overview of all the objects and + * data types related to the text widget and how they work together. * * * GtkTextTagTables as GtkBuildable * * The GtkTextTagTable implementation of the GtkBuildable interface - * supports adding tags by specifying "tag" as the "type" + * supports adding tags by specifying "tag" as the "type" * attribute of a <child> element. - * + * * * A UI definition fragment specifying tags * Date: Mon, 10 Jan 2011 10:59:50 -0500 Subject: [PATCH 1294/1463] More doc build fixes Grr, our mixture of xml and plain text in long descriptions is a mess. --- gtk/gtkcomboboxtext.c | 3 ++- gtk/gtktexttagtable.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcomboboxtext.c b/gtk/gtkcomboboxtext.c index 00d75d2f80..60da361f9b 100644 --- a/gtk/gtkcomboboxtext.c +++ b/gtk/gtkcomboboxtext.c @@ -70,7 +70,8 @@ *
* ]]>
*
- * + * + *
*/ static void gtk_combo_box_text_buildable_interface_init (GtkBuildableIface *iface); diff --git a/gtk/gtktexttagtable.c b/gtk/gtktexttagtable.c index d9eb12e46a..3420f4dd1c 100644 --- a/gtk/gtktexttagtable.c +++ b/gtk/gtktexttagtable.c @@ -52,7 +52,7 @@ * The GtkTextTagTable implementation of the GtkBuildable interface * supports adding tags by specifying "tag" as the "type" * attribute of a <child> element. - * + * * * A UI definition fragment specifying tags * * ]]> * + * + * */ struct _GtkTextTagTablePrivate From efd0e6ec1f436d56ba9546c61ee34320630cb475 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 11:49:06 -0500 Subject: [PATCH 1295/1463] Add a setter for GtkWindow.has_user_ref_count This is needed for some language bindings. https://bugzilla.gnome.org/show_bug.cgi?id=638880 --- docs/reference/gtk/gtk3-sections.txt | 37 +++++++++++++++++++++++++++- gtk/gtk.symbols | 1 + gtk/gtkwindow.c | 24 ++++++++++++++++++ gtk/gtkwindow.h | 2 ++ 4 files changed, 63 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 16372a5767..b52ea6a167 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4490,6 +4490,7 @@ gtk_cell_area_context_get_preferred_width_for_height gtk_cell_area_context_get_allocation gtk_cell_area_context_push_preferred_width gtk_cell_area_context_push_preferred_height + GTK_CELL_AREA_CONTEXT GTK_IS_CELL_AREA_CONTEXT @@ -4511,14 +4512,22 @@ gtk_cell_area_box_pack_start gtk_cell_area_box_pack_end gtk_cell_area_box_get_spacing gtk_cell_area_box_set_spacing + GTK_CELL_AREA_BOX GTK_IS_CELL_AREA_BOX GTK_TYPE_CELL_AREA_BOX -gtk_cell_area_box_get_type GTK_CELL_AREA_BOX_CLASS GTK_IS_CELL_AREA_BOX_CLASS GTK_CELL_AREA_BOX_GET_CLASS +GTK_CELL_AREA_BOX_CONTEXT +GTK_CELL_AREA_BOX_CONTEXT_CLASS +GTK_CELL_AREA_BOX_CONTEXT_GET_CLASS +GTK_IS_CELL_AREA_BOX_CONTEXT +GTK_IS_CELL_AREA_BOX_CONTEXT_CLASS + + +gtk_cell_area_box_get_type GtkCellAreaBoxPrivate @@ -4565,6 +4574,8 @@ GTK_CELL_RENDERER_GET_CLASS GtkCellRendererPrivate gtk_cell_renderer_get_type +gtk_cell_renderer_mode_get_type +gtk_cell_renderer_state_get_type
@@ -4728,6 +4739,7 @@ GTK_IS_CELL_RENDERER_ACCEL_CLASS GTK_CELL_RENDERER_ACCEL_GET_CLASS gtk_cell_renderer_accel_get_type +gtk_cell_renderer_accel_mode_get_type GtkCellRendererAccelPrivate
@@ -5270,6 +5282,7 @@ gtk_window_resize_grip_is_visible gtk_window_get_resize_grip_area gtk_window_get_application gtk_window_set_application +gtk_window_set_has_user_ref_count GTK_WINDOW @@ -5513,6 +5526,19 @@ GTK_STYLE_CLASS_MENUITEM GTK_STYLE_CLASS_PROGRESSBAR GTK_STYLE_CLASS_SPINNER GTK_STYLE_CLASS_TOOLBAR +GTK_STYLE_CLASS_DND +GTK_STYLE_CLASS_ERROR +GTK_STYLE_CLASS_EXPANDER +GTK_STYLE_CLASS_FRAME +GTK_STYLE_CLASS_HIGHLIGHT +GTK_STYLE_CLASS_INFO +GTK_STYLE_CLASS_MARK +GTK_STYLE_CLASS_NOTEBOOK +GTK_STYLE_CLASS_QUESTION +GTK_STYLE_CLASS_SCALE +GTK_STYLE_CLASS_SPINBUTTON +GTK_STYLE_CLASS_VIEW +GTK_STYLE_CLASS_WARNING GTK_STYLE_REGION_COLUMN GTK_STYLE_REGION_COLUMN_HEADER GTK_STYLE_REGION_ROW @@ -6901,9 +6927,18 @@ gtk_app_chooser_refresh GTK_TYPE_APP_CHOOSER GTK_APP_CHOOSER GTK_IS_APP_CHOOSER +GTK_APP_CHOOSER_GET_IFACE gtk_app_chooser_get_type +GTK_APP_CHOOSER_ONLINE +GTK_APP_CHOOSER_ONLINE_GET_IFACE +GTK_APP_CHOOSER_ONLINE_PK +GTK_APP_CHOOSER_ONLINE_PK_CLASS +GTK_APP_CHOOSER_ONLINE_PK_GET_CLASS +GTK_IS_APP_CHOOSER_ONLINE +GTK_IS_APP_CHOOSER_ONLINE_PK +GTK_IS_APP_CHOOSER_ONLINE_PK_CLASS
diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index ead590e1a0..3625120374 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3769,6 +3769,7 @@ gtk_window_set_focus_on_map gtk_window_set_geometry_hints gtk_window_set_gravity gtk_window_set_has_resize_grip +gtk_window_set_has_user_ref_count gtk_window_set_icon gtk_window_set_icon_from_file gtk_window_set_icon_list diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 371e69cca8..ca0ad9590a 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -9405,3 +9405,27 @@ _gtk_window_get_wmclass (GtkWindow *window, *wmclass_name = priv->wmclass_name; *wmclass_class = priv->wmclass_class; } + +/** + * gtk_window_set_has_user_ref_count: + * @window: a #GtkWindow + * @setting: the new value + * + * Tells GTK+ whether to drop its extra reference to the window + * when gtk_window_destroy() is called. + * + * This function is only exported for the benefit of language + * bindings which may need to keep the window alive until their + * wrapper object is garbage collected. There is no justification + * for ever calling this function in an application. + * + * Since: 3.0 + */ +void +gtk_window_set_has_user_ref_count (GtkWindow *window, + gboolean setting) +{ + g_return_if_fail (GTK_IS_WINDOW (window)); + + window->priv->has_user_ref_count = setting; +} diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index c38de8c1f8..3820070287 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -220,6 +220,8 @@ void gtk_window_set_modal (GtkWindow *window, gboolean modal); gboolean gtk_window_get_modal (GtkWindow *window); GList* gtk_window_list_toplevels (void); +void gtk_window_set_has_user_ref_count (GtkWindow *window, + gboolean setting); void gtk_window_add_mnemonic (GtkWindow *window, guint keyval, From 5caa2b58cb728b9b86d787de7cf768e53a80bedb Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Sun, 9 Jan 2011 02:46:35 -0600 Subject: [PATCH 1296/1463] Fix remaining usage of g[dk]ktargetlib. This is a follow-up to commit 07d49ee56a4ce86d9d6154e00ff6b10bd3bdc2a4. https://bugzilla.gnome.org/show_bug.cgi?id=639047 --- modules/engines/ms-windows/Makefile.am | 4 +- modules/engines/pixbuf/Makefile.am | 4 +- modules/other/gail/libgail-util/Makefile.am | 4 +- modules/other/gail/tests/Makefile.am | 70 ++++++++++----------- 4 files changed, 41 insertions(+), 41 deletions(-) diff --git a/modules/engines/ms-windows/Makefile.am b/modules/engines/ms-windows/Makefile.am index da7612c93d..161d075af0 100644 --- a/modules/engines/ms-windows/Makefile.am +++ b/modules/engines/ms-windows/Makefile.am @@ -13,8 +13,8 @@ INCLUDES = \ LDADDS = \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gdk/libgdk-3.0.la \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) enginedir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/engines diff --git a/modules/engines/pixbuf/Makefile.am b/modules/engines/pixbuf/Makefile.am index a3e8eef4cd..051d2acde3 100644 --- a/modules/engines/pixbuf/Makefile.am +++ b/modules/engines/pixbuf/Makefile.am @@ -13,8 +13,8 @@ INCLUDES = \ LDADDS = \ $(GTK_DEP_LIBS) \ - $(top_builddir)/gdk/$(gdktargetlib) \ - $(top_builddir)/gtk/$(gtktargetlib) + $(top_builddir)/gdk/libgdk-3.0.la \ + $(top_builddir)/gtk/libgtk-3.0.la enginedir = $(libdir)/gtk-3.0/$(GTK_BINARY_VERSION)/engines diff --git a/modules/other/gail/libgail-util/Makefile.am b/modules/other/gail/libgail-util/Makefile.am index 37e3b2de96..43765d417f 100644 --- a/modules/other/gail/libgail-util/Makefile.am +++ b/modules/other/gail/libgail-util/Makefile.am @@ -64,8 +64,8 @@ libgailutil_3_0_la_CFLAGS = \ $(AM_CFLAGS) libgailutil_3_0_la_LIBADD = \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) libgailutil_3_0_la_LDFLAGS = \ diff --git a/modules/other/gail/tests/Makefile.am b/modules/other/gail/tests/Makefile.am index fdafe787b0..9f94b2ba2e 100644 --- a/modules/other/gail/tests/Makefile.am +++ b/modules/other/gail/tests/Makefile.am @@ -56,7 +56,7 @@ libferret_la_LDFLAGS = \ $(LDFLAGS) libferret_la_LIBADD = \ - $(top_builddir)/gtk/$(gtktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) \ $(GAIL_INET_LIBS) endif @@ -66,8 +66,8 @@ libtestaction_la_SOURCES = \ libtestaction_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -78,8 +78,8 @@ libtestbutton_la_SOURCES = \ libtestbutton_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -90,8 +90,8 @@ libtestcombo_la_SOURCES = \ libtestcombo_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -100,8 +100,8 @@ libtestcomponent_la_SOURCES = \ libtestcomponent_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -110,8 +110,8 @@ libtestimage_la_SOURCES = \ libtestimage_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -122,8 +122,8 @@ libtestmenuitem_la_SOURCES = \ libtestmenuitem_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -134,8 +134,8 @@ libtestnotebook_la_SOURCES = \ libtestnotebook_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -146,8 +146,8 @@ libtestobject_la_SOURCES = \ libtestobject_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -158,8 +158,8 @@ libtestpaned_la_SOURCES = \ libtestpaned_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -170,8 +170,8 @@ libtestprops_la_SOURCES = \ libtestprops_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -180,8 +180,8 @@ libtestselection_la_SOURCES = \ libtestselection_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -190,8 +190,8 @@ libteststatusbar_la_SOURCES = \ libteststatusbar_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -204,8 +204,8 @@ libtesttable_la_SOURCES = \ libtesttable_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -218,8 +218,8 @@ libtesttext_la_SOURCES = \ libtesttext_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -230,8 +230,8 @@ libtesttoplevel_la_SOURCES = \ libtesttoplevel_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -242,8 +242,8 @@ libtesttreetable_la_SOURCES = \ libtesttreetable_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) @@ -252,8 +252,8 @@ libtestvalues_la_SOURCES = \ libtestvalues_la_LDFLAGS = \ -rpath $(moduledir) -module -avoid-version $(no_undefined) \ - $(top_builddir)/gtk/$(gtktargetlib) \ - $(top_builddir)/gdk/$(gdktargetlib) \ + $(top_builddir)/gtk/libgtk-3.0.la \ + $(top_builddir)/gdk/libgdk-3.0.la \ $(GTK_DEP_LIBS) \ $(LDFLAGS) From 845d864a519667c6cf9c97361227ee9567b430cc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 12:06:31 -0500 Subject: [PATCH 1297/1463] add gtknumerable.c to POTFILES.in --- po-properties/POTFILES.in | 1 + 1 file changed, 1 insertion(+) diff --git a/po-properties/POTFILES.in b/po-properties/POTFILES.in index 8d914749b5..6c5e36154d 100644 --- a/po-properties/POTFILES.in +++ b/po-properties/POTFILES.in @@ -129,6 +129,7 @@ gtk/gtkmountoperation.c gtk/gtkmountoperation-stub.c gtk/gtkmountoperation-x11.c gtk/gtknotebook.c +gtk/gtknumerableicon.c gtk/gtkorientable.c gtk/gtkpagesetup.c gtk/gtkpagesetupunixdialog.c From 2290ec6bd8e6670fd630ae36d36612bdcfba72f7 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 9 Jan 2011 22:42:06 +0100 Subject: [PATCH 1298/1463] Port GtkTextDisplay to StyleContext. Use the new StyleContext and StateFlags to draw the text https://bugzilla.gnome.org/show_bug.cgi?id=639105 --- gtk/gtktextdisplay.c | 181 ++++++++++++++++++++++++++++--------------- 1 file changed, 118 insertions(+), 63 deletions(-) diff --git a/gtk/gtktextdisplay.c b/gtk/gtktextdisplay.c index 3d33642b40..a145c0346a 100644 --- a/gtk/gtktextdisplay.c +++ b/gtk/gtktextdisplay.c @@ -118,22 +118,6 @@ struct _GtkTextRendererClass G_DEFINE_TYPE (GtkTextRenderer, _gtk_text_renderer, PANGO_TYPE_RENDERER) -static GdkColor * -text_renderer_get_error_color (GtkTextRenderer *text_renderer) -{ - static const GdkColor red = { 0, 0xffff, 0, 0 }; - - if (!text_renderer->error_color) - gtk_widget_style_get (text_renderer->widget, - "error-underline-color", &text_renderer->error_color, - NULL); - - if (!text_renderer->error_color) - text_renderer->error_color = gdk_color_copy (&red); - - return text_renderer->error_color; -} - static void text_renderer_set_gdk_color (GtkTextRenderer *text_renderer, PangoRenderPart part, @@ -153,7 +137,27 @@ text_renderer_set_gdk_color (GtkTextRenderer *text_renderer, } else pango_renderer_set_color (renderer, part, NULL); - +} + +static void +text_renderer_set_rgba (GtkTextRenderer *text_renderer, + PangoRenderPart part, + GdkRGBA *rgba) +{ + PangoRenderer *renderer = PANGO_RENDERER (text_renderer); + + if (rgba) + { + PangoColor color; + + color.red = CLAMP (rgba->red * 65535. + 0.5, 0, 65535); + color.green = CLAMP (rgba->green * 65535. + 0.5, 0, 65535); + color.blue = CLAMP (rgba->blue * 65535. + 0.5, 0, 65535); + + pango_renderer_set_color (renderer, part, &color); + } + else + pango_renderer_set_color (renderer, part, NULL); } static GtkTextAppearance * @@ -178,9 +182,12 @@ static void gtk_text_renderer_prepare_run (PangoRenderer *renderer, PangoLayoutRun *run) { + GtkStyleContext *context; + GtkStateFlags state; GtkTextRenderer *text_renderer = GTK_TEXT_RENDERER (renderer); - GtkStyle *style; - GdkColor *bg_color, *fg_color, *underline_color; + GdkColor *bg_color = NULL; + GdkRGBA *fg_rgba = NULL; + GdkColor *fg_color = NULL; GtkTextAppearance *appearance; PANGO_RENDERER_CLASS (_gtk_text_renderer_parent_class)->prepare_run (renderer, run); @@ -188,6 +195,10 @@ gtk_text_renderer_prepare_run (PangoRenderer *renderer, appearance = get_item_appearance (run->item); g_assert (appearance != NULL); + context = gtk_widget_get_style_context (text_renderer->widget); + + state = gtk_widget_get_state_flags (text_renderer->widget); + if (appearance->draw_bg && text_renderer->state == NORMAL) bg_color = &appearance->bg_color; else @@ -195,28 +206,58 @@ gtk_text_renderer_prepare_run (PangoRenderer *renderer, text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_BACKGROUND, bg_color); - style = gtk_widget_get_style (text_renderer->widget); if (text_renderer->state == SELECTED) { + state |= GTK_STATE_FLAG_SELECTED; + if (gtk_widget_has_focus (text_renderer->widget)) - fg_color = &style->text[GTK_STATE_SELECTED]; - else - fg_color = &style->text[GTK_STATE_ACTIVE]; + state |= GTK_STATE_FLAG_FOCUSED; + + gtk_style_context_get (context, state, + "color", &fg_rgba, + NULL); } else if (text_renderer->state == CURSOR && gtk_widget_has_focus (text_renderer->widget)) - fg_color = &style->base[GTK_STATE_NORMAL]; + { + gtk_style_context_get (context, state, + "background-color", &fg_rgba, + NULL); + } else fg_color = &appearance->fg_color; - text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_FOREGROUND, fg_color); - text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_STRIKETHROUGH, fg_color); + if (fg_rgba) + { + text_renderer_set_rgba (text_renderer, PANGO_RENDER_PART_FOREGROUND, fg_rgba); + text_renderer_set_rgba (text_renderer, PANGO_RENDER_PART_STRIKETHROUGH,fg_rgba); + } + else + { + text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_FOREGROUND, fg_color); + text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_STRIKETHROUGH, fg_color); + } if (appearance->underline == PANGO_UNDERLINE_ERROR) - underline_color = text_renderer_get_error_color (text_renderer); - else - underline_color = fg_color; + { + if (!text_renderer->error_color) + { + gtk_style_context_get_style (context, + "error-underline-color", &text_renderer->error_color, + NULL); - text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_UNDERLINE, underline_color); + if (!text_renderer->error_color) + { + static const GdkColor red = { 0, 0xffff, 0, 0 }; + text_renderer->error_color = gdk_color_copy (&red); + } + } + + text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_UNDERLINE, text_renderer->error_color); + } + else if (fg_rgba) + text_renderer_set_rgba (text_renderer, PANGO_RENDER_PART_UNDERLINE, fg_rgba); + else + text_renderer_set_gdk_color (text_renderer, PANGO_RENDER_PART_UNDERLINE, fg_color); } static void @@ -458,8 +499,24 @@ text_renderer_begin (GtkTextRenderer *text_renderer, GtkWidget *widget, cairo_t *cr) { + GtkStyleContext *context; + GtkStateFlags state; + GdkRGBA color; + text_renderer->widget = widget; text_renderer->cr = cr; + + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_color (context, state, &color); + + cairo_save (cr); + + gdk_cairo_set_source_rgba (cr, &color); } /* Returns a GSList of (referenced) widgets encountered while drawing. @@ -467,8 +524,15 @@ text_renderer_begin (GtkTextRenderer *text_renderer, static GList * text_renderer_end (GtkTextRenderer *text_renderer) { + GtkStyleContext *context; GList *widgets = text_renderer->widgets; + cairo_restore (text_renderer->cr); + + context = gtk_widget_get_style_context (text_renderer->widget); + + gtk_style_context_restore (context); + text_renderer->widget = NULL; text_renderer->cr = NULL; @@ -483,7 +547,6 @@ text_renderer_end (GtkTextRenderer *text_renderer) return widgets; } - static cairo_region_t * get_selected_clip (GtkTextRenderer *text_renderer, PangoLayout *layout, @@ -525,18 +588,16 @@ render_para (GtkTextRenderer *text_renderer, int selection_start_index, int selection_end_index) { - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; PangoLayout *layout = line_display->layout; int byte_offset = 0; PangoLayoutIter *iter; PangoRectangle layout_logical; int screen_width; - GdkColor *selection; - gint state; + GdkRGBA selection; gboolean first = TRUE; - style = gtk_widget_get_style (text_renderer->widget); - iter = pango_layout_get_iter (layout); pango_layout_iter_get_layout_extents (iter, NULL, &layout_logical); @@ -547,13 +608,14 @@ render_para (GtkTextRenderer *text_renderer, layout_logical.y += line_display->top_margin * PANGO_SCALE; screen_width = line_display->total_width; - - if (gtk_widget_has_focus (text_renderer->widget)) - state = GTK_STATE_SELECTED; - else - state = GTK_STATE_ACTIVE; - selection = &style->base [state]; + context = gtk_widget_get_style_context (text_renderer->widget); + + state = GTK_STATE_FLAG_SELECTED; + if (gtk_widget_has_focus (text_renderer->widget)) + state |= GTK_STATE_FLAG_FOCUSED; + + gtk_style_context_get_background_color (context, state, &selection); do { @@ -598,7 +660,7 @@ render_para (GtkTextRenderer *text_renderer, cairo_t *cr = text_renderer->cr; cairo_save (cr); - gdk_cairo_set_source_color (cr, selection); + gdk_cairo_set_source_rgba (cr, &selection); cairo_rectangle (cr, x + line_display->left_margin, selection_y, screen_width, selection_height); @@ -654,7 +716,7 @@ render_para (GtkTextRenderer *text_renderer, cairo_clip (cr); cairo_region_destroy (clip_region); - gdk_cairo_set_source_color (cr, selection); + gdk_cairo_set_source_rgba (cr, &selection); cairo_rectangle (cr, x + PANGO_PIXELS (line_rect.x), selection_y, @@ -677,7 +739,7 @@ render_para (GtkTextRenderer *text_renderer, { cairo_save (cr); - gdk_cairo_set_source_color (cr, selection); + gdk_cairo_set_source_rgba (cr, &selection); cairo_rectangle (cr, x + line_display->left_margin, selection_y, @@ -701,7 +763,7 @@ render_para (GtkTextRenderer *text_renderer, cairo_save (cr); - gdk_cairo_set_source_color (cr, selection); + gdk_cairo_set_source_rgba (cr, &selection); cairo_rectangle (cr, x + PANGO_PIXELS (line_rect.x) + PANGO_PIXELS (line_rect.width), selection_y, @@ -739,15 +801,15 @@ render_para (GtkTextRenderer *text_renderer, gdk_cairo_set_source_color (cr, &cursor_color); cairo_paint (cr); - /* draw text under the cursor if any */ - if (!line_display->cursor_at_line_end) - { - GtkStateType state; - GtkStyle *style; + /* draw text under the cursor if any */ + if (!line_display->cursor_at_line_end) + { + GdkRGBA color; - style = gtk_widget_get_style (text_renderer->widget); - state = gtk_widget_get_state (text_renderer->widget); - gdk_cairo_set_source_color (cr, &style->base[state]); + state = gtk_widget_get_state_flags (text_renderer->widget); + gtk_style_context_get_background_color (context, state, &color); + + gdk_cairo_set_source_rgba (cr, &color); text_renderer_set_state (text_renderer, CURSOR); @@ -755,8 +817,7 @@ render_para (GtkTextRenderer *text_renderer, line, PANGO_SCALE * x + line_rect.x, PANGO_SCALE * y + baseline); - - } + } cairo_restore (cr); } @@ -795,7 +856,7 @@ gtk_text_layout_draw (GtkTextLayout *layout, GSList *tmp_list; GList *tmp_widgets; GdkRectangle clip; - + g_return_if_fail (GTK_IS_TEXT_LAYOUT (layout)); g_return_if_fail (layout->default_style != NULL); g_return_if_fail (layout->buffer != NULL); @@ -809,10 +870,6 @@ gtk_text_layout_draw (GtkTextLayout *layout, if (line_list == NULL) return; /* nothing on the screen */ - cairo_save (cr); - - gdk_cairo_set_source_color (cr, >k_widget_get_style (widget)->text[gtk_widget_get_state (widget)]); - text_renderer = get_text_renderer (); text_renderer_begin (text_renderer, widget, cr); @@ -934,7 +991,5 @@ gtk_text_layout_draw (GtkTextLayout *layout, g_list_free (tmp_widgets); } - cairo_restore (cr); - g_slist_free (line_list); } From c5a8584c3e33cc9b45d1b3b9baa54f0da5fa4d17 Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Sun, 9 Jan 2011 23:10:47 +0100 Subject: [PATCH 1299/1463] CSS styles for the selection in a TextView. https://bugzilla.gnome.org/show_bug.cgi?id=639106 --- gtk/gtkcssprovider.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index aba63afcff..d7e8259a74 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3647,6 +3647,15 @@ gtk_css_provider_get_default (void) " background-color: @base_color;\n" " color: @text_color;\n" "}\n" + ".view:selected {\n" + " background-color: shade (@bg_color, 0.9);\n" + " color: @fg_color;\n" + "}\n" + "\n" + ".view:selected:focused {\n" + " background-color: @selected_bg_color;\n" + " color: @selected_fg_color;\n" + "}\n" "\n" "GtkTreeView > row {\n" " background-color: @base_color;\n" From 2ec40cac8cacebe8b601e9470d1ebe5fdb277a2b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 20:09:34 +0100 Subject: [PATCH 1300/1463] Make GtkTextUtil use GtkStyleContext. --- gtk/gtktextutil.c | 64 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/gtk/gtktextutil.c b/gtk/gtktextutil.c index 0ef71cf22c..4b8c691641 100644 --- a/gtk/gtktextutil.c +++ b/gtk/gtktextutil.c @@ -208,14 +208,15 @@ _gtk_text_util_create_drag_icon (GtkWidget *widget, gchar *text, gsize len) { - GtkStyle *style; - GtkStateType state; + GtkStyleContext *style_context; + GtkStateFlags state; cairo_surface_t *surface; PangoContext *context; PangoLayout *layout; cairo_t *cr; gint pixmap_height, pixmap_width; gint layout_width, layout_height; + GdkRGBA color; g_return_val_if_fail (widget != NULL, NULL); g_return_val_if_fail (text != NULL, NULL); @@ -238,18 +239,24 @@ _gtk_text_util_create_drag_icon (GtkWidget *widget, pixmap_width = layout_width / PANGO_SCALE + DRAG_ICON_LAYOUT_BORDER * 2; pixmap_height = layout_height / PANGO_SCALE + DRAG_ICON_LAYOUT_BORDER * 2; - style = gtk_widget_get_style (widget); - state = gtk_widget_get_state (widget); + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget), CAIRO_CONTENT_COLOR, pixmap_width + 2, pixmap_height + 2); cr = cairo_create (surface); - gdk_cairo_set_source_color (cr, &style->base [state]); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + + gtk_style_context_get_background_color (style_context, state, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_paint (cr); - gdk_cairo_set_source_color (cr, &style->text [state]); + gtk_style_context_get_color (style_context, state, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_move_to (cr, 1 + DRAG_ICON_LAYOUT_BORDER, 1 + DRAG_ICON_LAYOUT_BORDER); pango_cairo_show_layout (cr, layout); @@ -263,21 +270,37 @@ _gtk_text_util_create_drag_icon (GtkWidget *widget, cairo_surface_set_device_offset (surface, 2, 2); + gtk_style_context_restore (context); + return surface; } static void gtk_text_view_set_attributes_from_style (GtkTextView *text_view, - GtkTextAttributes *values, - GtkStyle *style) + GtkTextAttributes *values) { - values->appearance.bg_color = style->base[GTK_STATE_NORMAL]; - values->appearance.fg_color = style->text[GTK_STATE_NORMAL]; + GtkStyleContext *context; + GdkRGBA bg_color, fg_color; + GtkStateFlags state; + + context = gtk_widget_get_style_context (GTK_WIDGET (text_view)); + state = gtk_widget_get_state_flags (GTK_WIDGET (text_view)); + + gtk_style_context_get_background_color (context, state, &bg_color); + gtk_style_context_get_color (context, state, &fg_color); + + values->appearance.bg_color.red = CLAMP (bg_color.red * 65535. + 0.5, 0, 65535); + values->appearance.bg_color.green = CLAMP (bg_color.green * 65535. + 0.5, 0, 65535); + values->appearance.bg_color.blue = CLAMP (bg_color.blue * 65535. + 0.5, 0, 65535); + + values->appearance.fg_color.red = CLAMP (fg_color.red * 65535. + 0.5, 0, 65535); + values->appearance.fg_color.green = CLAMP (fg_color.green * 65535. + 0.5, 0, 65535); + values->appearance.fg_color.blue = CLAMP (fg_color.blue * 65535. + 0.5, 0, 65535); if (values->font) pango_font_description_free (values->font); - values->font = pango_font_description_copy (style->font_desc); + values->font = pango_font_description_copy (gtk_style_context_get_font (context, state)); } cairo_surface_t * @@ -290,7 +313,9 @@ _gtk_text_util_create_rich_drag_icon (GtkWidget *widget, cairo_surface_t *surface; gint pixmap_height, pixmap_width; gint layout_width, layout_height; - GtkStyle *widget_style; + GtkStyleContext *context; + GtkStateFlags state; + GdkRGBA color; GtkTextBuffer *new_buffer; GtkTextLayout *layout; GtkTextAttributes *style; @@ -303,7 +328,8 @@ _gtk_text_util_create_rich_drag_icon (GtkWidget *widget, g_return_val_if_fail (start != NULL, NULL); g_return_val_if_fail (end != NULL, NULL); - widget_style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); new_buffer = gtk_text_buffer_new (gtk_text_buffer_get_tag_table (buffer)); gtk_text_buffer_get_start_iter (new_buffer, &iter); @@ -331,9 +357,7 @@ _gtk_text_util_create_rich_drag_icon (GtkWidget *widget, if (GTK_IS_TEXT_VIEW (widget)) { - gtk_widget_ensure_style (widget); - gtk_text_view_set_attributes_from_style (GTK_TEXT_VIEW (widget), - style, widget_style); + gtk_text_view_set_attributes_from_style (GTK_TEXT_VIEW (widget), style); layout_width = layout_width - gtk_text_view_get_border_window_size (GTK_TEXT_VIEW (widget), GTK_TEXT_WINDOW_LEFT) @@ -366,7 +390,11 @@ _gtk_text_util_create_rich_drag_icon (GtkWidget *widget, cr = cairo_create (surface); - gdk_cairo_set_source_color (cr, &widget_style->base [gtk_widget_get_state (widget)]); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + + gtk_style_context_get_background_color (context, state, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_paint (cr); cairo_save (cr); @@ -387,6 +415,8 @@ _gtk_text_util_create_rich_drag_icon (GtkWidget *widget, cairo_surface_set_device_offset (surface, 2, 2); + gtk_style_context_restore (context); + return surface; } From d9dab98ad67b98a641c7e94842f821b88b8a83a1 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 20:13:56 +0100 Subject: [PATCH 1301/1463] GtkCssProvider: enable parsing negative GtkBorders this can be used as in regular CSS under some situations, so child items overlap the parent element's border. --- gtk/gtkcssprovider.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index d7e8259a74..2541050e8c 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -2682,14 +2682,14 @@ border_parse_str (const gchar *str, border = gtk_border_new (); SKIP_SPACES (str); - if (!g_ascii_isdigit (*str)) + if (!g_ascii_isdigit (*str) && *str != '-') return border; first = unit_parse_str (str, end_str); str = *end_str; SKIP_SPACES (str); - if (!g_ascii_isdigit (*str)) + if (!g_ascii_isdigit (*str) && *str != '-') { border->left = border->right = border->top = border->bottom = (gint) first; *end_str = (gchar *) str; @@ -2700,7 +2700,7 @@ border_parse_str (const gchar *str, str = *end_str; SKIP_SPACES (str); - if (!g_ascii_isdigit (*str)) + if (!g_ascii_isdigit (*str) && *str != '-') { border->top = border->bottom = (gint) first; border->left = border->right = (gint) second; @@ -2712,7 +2712,7 @@ border_parse_str (const gchar *str, str = *end_str; SKIP_SPACES (str); - if (!g_ascii_isdigit (*str)) + if (!g_ascii_isdigit (*str) && *str != '-') { border->top = (gint) first; border->left = border->right = (gint) second; From 12944d9c2357c146df11d5a5af947291c3e7d0b3 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 20:19:58 +0100 Subject: [PATCH 1302/1463] Do not set any padding for scrolled window children. --- gtk/gtkcssprovider.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 2541050e8c..c214505601 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3620,7 +3620,7 @@ gtk_css_provider_get_default (void) " color: @selected_fg_color;\n" "}\n" "\n" - ".expander {\n" + ".expander, .view.expander {\n" " color: #fff;\n" "}\n" "\n" @@ -3771,6 +3771,10 @@ gtk_css_provider_get_default (void) " border-width: 1;\n" "}\n" "\n" + "GtkScrolledWindow.frame {\n" + " padding: 0;\n" + "}\n" + "\n" ".menu,\n" ".menubar,\n" ".toolbar {\n" From 162380fca5a44c86e0c9709d50aca08579418bc0 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 20:40:37 +0100 Subject: [PATCH 1303/1463] Make GtkCalendar use GtkStyleContext --- gtk/gtkcalendar.c | 449 +++++++++++++++++++++-------------------- gtk/gtkcssprovider.c | 28 +++ gtk/gtkthemingengine.c | 4 +- 3 files changed, 255 insertions(+), 226 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index b1492a55a0..c393d2f50e 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -204,18 +204,6 @@ dates_difference(guint year1, guint mm1, guint dd1, #define SCROLL_DELAY_FACTOR 5 -/* Color usage */ -#define HEADER_FG_COLOR(widget) (& gtk_widget_get_style (widget)->fg[gtk_widget_get_state (widget)]) -#define HEADER_BG_COLOR(widget) (& gtk_widget_get_style (widget)->bg[gtk_widget_get_state (widget)]) -#define SELECTED_BG_COLOR(widget) (& gtk_widget_get_style (widget)->base[gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE]) -#define SELECTED_FG_COLOR(widget) (& gtk_widget_get_style (widget)->text[gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE]) -#define NORMAL_DAY_COLOR(widget) (& gtk_widget_get_style (widget)->text[gtk_widget_get_state (widget)]) -#define PREV_MONTH_COLOR(widget) (& gtk_widget_get_style (widget)->mid[gtk_widget_get_state (widget)]) -#define NEXT_MONTH_COLOR(widget) (& gtk_widget_get_style (widget)->mid[gtk_widget_get_state (widget)]) -#define MARKED_COLOR(widget) (& gtk_widget_get_style (widget)->text[gtk_widget_get_state (widget)]) -#define BACKGROUND_COLOR(widget) (& gtk_widget_get_style (widget)->base[gtk_widget_get_state (widget)]) -#define HIGHLIGHT_BACK_COLOR(widget) (& gtk_widget_get_style (widget)->mid[gtk_widget_get_state (widget)]) - enum { ARROW_YEAR_LEFT, ARROW_YEAR_RIGHT, @@ -260,8 +248,6 @@ static guint gtk_calendar_signals[LAST_SIGNAL] = { 0 }; struct _GtkCalendarPrivate { GtkCalendarDisplayOptions display_flags; - GtkStyle *header_style; - GtkStyle *label_style; GdkColor marked_date_color[31]; GdkWindow *main_win; @@ -374,8 +360,8 @@ static gboolean gtk_calendar_focus_out (GtkWidget *widget, GdkEventFocus *event); static void gtk_calendar_grab_notify (GtkWidget *widget, gboolean was_grabbed); -static void gtk_calendar_state_changed (GtkWidget *widget, - GtkStateType previous_state); +static void gtk_calendar_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state); static gboolean gtk_calendar_query_tooltip (GtkWidget *widget, gint x, gint y, @@ -459,7 +445,7 @@ gtk_calendar_class_init (GtkCalendarClass *class) widget_class->leave_notify_event = gtk_calendar_leave_notify; widget_class->key_press_event = gtk_calendar_key_press; widget_class->scroll_event = gtk_calendar_scroll; - widget_class->state_changed = gtk_calendar_state_changed; + widget_class->state_flags_changed = gtk_calendar_state_flags_changed; widget_class->grab_notify = gtk_calendar_grab_notify; widget_class->focus_out_event = gtk_calendar_focus_out; widget_class->query_tooltip = gtk_calendar_query_tooltip; @@ -1172,12 +1158,16 @@ calendar_left_x_for_column (GtkCalendar *calendar, gint x_left; gint week_width; gint calendar_xsep = calendar_get_xsep (calendar); - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; gint inner_border = calendar_get_inner_border (calendar); + GtkBorder padding; - style = gtk_widget_get_style (GTK_WIDGET (calendar)); + context = gtk_widget_get_style_context (GTK_WIDGET (calendar)); + state = gtk_widget_get_state_flags (GTK_WIDGET (calendar)); + gtk_style_context_get_padding (context, state, &padding); - week_width = priv->week_width + style->xthickness + inner_border; + week_width = priv->week_width + padding.left + inner_border; if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL) { @@ -1226,15 +1216,20 @@ static gint calendar_top_y_for_row (GtkCalendar *calendar, gint row) { - GtkStyle *style; + GtkStyleContext *context; GtkAllocation allocation; gint inner_border = calendar_get_inner_border (calendar); + GtkStateFlags state; + GtkBorder padding; gtk_widget_get_allocation (GTK_WIDGET (calendar), &allocation); - style = gtk_widget_get_style (GTK_WIDGET (calendar)); - + context = gtk_widget_get_style_context (GTK_WIDGET (calendar)); + state = gtk_widget_get_state_flags (GTK_WIDGET (calendar)); + + gtk_style_context_get_padding (context, state, &padding); + return allocation.height - - style->ythickness - inner_border + - padding.top - inner_border - (CALENDAR_MARGIN + (6 - row) * calendar_row_height (calendar)); } @@ -1275,11 +1270,16 @@ calendar_arrow_rectangle (GtkCalendar *calendar, GtkWidget *widget = GTK_WIDGET (calendar); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gboolean year_left; gtk_widget_get_allocation (widget, &allocation); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + + gtk_style_context_get_padding (context, state, &padding); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) year_left = priv->year_before; @@ -1294,14 +1294,14 @@ calendar_arrow_rectangle (GtkCalendar *calendar, { case ARROW_MONTH_LEFT: if (year_left) - rect->x = (allocation.width - 2 * style->xthickness + rect->x = (allocation.width - padding.left - padding.right - (3 + 2 * priv->arrow_width + priv->max_month_width)); else rect->x = 3; break; case ARROW_MONTH_RIGHT: if (year_left) - rect->x = (allocation.width - 2 * style->xthickness + rect->x = (allocation.width - padding.left - padding.right - 3 - priv->arrow_width); else rect->x = (priv->arrow_width + priv->max_month_width); @@ -1310,20 +1310,20 @@ calendar_arrow_rectangle (GtkCalendar *calendar, if (year_left) rect->x = 3; else - rect->x = (allocation.width - 2 * style->xthickness + rect->x = (allocation.width - padding.left - padding.right - (3 + 2 * priv->arrow_width + priv->max_year_width)); break; case ARROW_YEAR_RIGHT: if (year_left) rect->x = (priv->arrow_width + priv->max_year_width); else - rect->x = (allocation.width - 2 * style->xthickness + rect->x = (allocation.width - padding.left - padding.right - 3 - priv->arrow_width); break; } - rect->x += style->xthickness; - rect->y += style->ythickness; + rect->x += padding.left; + rect->y += padding.top; } static void @@ -1591,10 +1591,10 @@ calendar_realize_arrows (GtkCalendar *calendar) priv->arrow_win[i] = gdk_window_new (gtk_widget_get_window (widget), &attributes, attributes_mask); - if (gtk_widget_is_sensitive (widget)) - priv->arrow_state[i] = GTK_STATE_NORMAL; - else - priv->arrow_state[i] = GTK_STATE_INSENSITIVE; + + if (!gtk_widget_is_sensitive (widget)) + priv->arrow_state[i] = GTK_STATE_FLAG_INSENSITIVE; + gdk_window_set_user_data (priv->arrow_win[i], widget); } } @@ -1666,10 +1666,15 @@ gtk_calendar_realize (GtkWidget *widget) GdkWindowAttr attributes; gint attributes_mask; gint inner_border = calendar_get_inner_border (GTK_CALENDAR (widget)); - GtkStyle *style; + GtkStyleContext *context; GtkAllocation allocation; + GtkStateFlags state = 0; + GtkBorder padding; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); - style = gtk_widget_get_style (widget); gtk_widget_get_allocation (widget, &allocation); GTK_WIDGET_CLASS (gtk_calendar_parent_class)->realize (widget); @@ -1681,12 +1686,12 @@ gtk_calendar_realize (GtkWidget *widget) | GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) - attributes.x = priv->week_width + style->ythickness + inner_border; + attributes.x = priv->week_width + padding.left + inner_border; else - attributes.x = style->ythickness + inner_border; + attributes.x = padding.left + inner_border; - attributes.y = priv->header_h + priv->day_name_h + style->ythickness + inner_border; - attributes.width = allocation.width - attributes.x - (style->xthickness + inner_border); + attributes.y = priv->header_h + priv->day_name_h + padding.top + inner_border; + attributes.width = allocation.width - attributes.x - (padding.right + inner_border); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_RTL) attributes.width -= priv->week_width; @@ -1853,7 +1858,9 @@ gtk_calendar_size_request (GtkWidget *widget, { GtkCalendar *calendar = GTK_CALENDAR (widget); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; PangoLayout *layout; PangoRectangle logical_rect; @@ -2046,9 +2053,11 @@ gtk_calendar_size_request (GtkWidget *widget, ? priv->max_week_char_width * 2 + (focus_padding + focus_width) * 2 + calendar_xsep * 2 : 0)); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); - requisition->width = MAX (header_width, main_width + inner_border * 2) + style->xthickness * 2; + requisition->width = MAX (header_width, main_width + inner_border * 2) + padding.left + padding.right; /* * Calculate the requisition height for the widget. @@ -2084,7 +2093,7 @@ gtk_calendar_size_request (GtkWidget *widget, height = priv->header_h + priv->day_name_h + priv->main_h; - requisition->height = height + (style->ythickness + inner_border) * 2; + requisition->height = height + padding.top + padding.bottom + (inner_border * 2); g_object_unref (layout); } @@ -2119,32 +2128,34 @@ gtk_calendar_size_allocate (GtkWidget *widget, { GtkCalendar *calendar = GTK_CALENDAR (widget); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); - GtkStyle *style; - gint xthickness, ythickness; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; guint i; gint inner_border = calendar_get_inner_border (calendar); gint calendar_xsep = calendar_get_xsep (calendar); - style = gtk_widget_get_style (widget); - xthickness = style->xthickness; - ythickness = style->xthickness; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); gtk_widget_set_allocation (widget, allocation); if (priv->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS) { priv->day_width = (priv->min_day_width - * ((allocation->width - (xthickness + inner_border) * 2 + * ((allocation->width - (inner_border * 2) - padding.left - padding.right - (CALENDAR_MARGIN * 2) - (DAY_XSEP * 6) - calendar_xsep * 2)) / (7 * priv->min_day_width + priv->max_week_char_width * 2)); - priv->week_width = ((allocation->width - (xthickness + inner_border) * 2 + priv->week_width = ((allocation->width - (inner_border * 2) - padding.left - padding.right - (CALENDAR_MARGIN * 2) - (DAY_XSEP * 6) - calendar_xsep * 2 ) - priv->day_width * 7 + CALENDAR_MARGIN + calendar_xsep); } else { priv->day_width = (allocation->width - - (xthickness + inner_border) * 2 + - (inner_border * 2) + - padding.left - padding.right - (CALENDAR_MARGIN * 2) - (DAY_XSEP * 6))/7; priv->week_width = 0; @@ -2155,22 +2166,22 @@ gtk_calendar_size_allocate (GtkWidget *widget, if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) gdk_window_move_resize (priv->main_win, allocation->x - + priv->week_width + xthickness + inner_border, + + priv->week_width + padding.left + inner_border, allocation->y + priv->header_h + priv->day_name_h - + (style->ythickness + inner_border), + + (padding.top + inner_border), allocation->width - priv->week_width - - (xthickness + inner_border) * 2, + - (inner_border * 2) - padding.left - padding.right, priv->main_h); else gdk_window_move_resize (priv->main_win, allocation->x - + xthickness + inner_border, + + padding.left + inner_border, allocation->y + priv->header_h + priv->day_name_h - + style->ythickness + inner_border, + + padding.top + inner_border, allocation->width - priv->week_width - - (xthickness + inner_border) * 2, + - (inner_border * 2) - padding.left - padding.right, priv->main_h); for (i = 0 ; i < 4 ; i++) @@ -2200,7 +2211,9 @@ calendar_paint_header (GtkCalendar *calendar, cairo_t *cr) GtkWidget *widget = GTK_WIDGET (calendar); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; char buffer[255]; gint x, y; gint header_width; @@ -2213,10 +2226,12 @@ calendar_paint_header (GtkCalendar *calendar, cairo_t *cr) struct tm *tm; gchar *str; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); cairo_save (cr); - cairo_translate (cr, style->xthickness, style->ythickness); + cairo_translate (cr, padding.left, padding.top); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) year_left = priv->year_before; @@ -2225,19 +2240,16 @@ calendar_paint_header (GtkCalendar *calendar, cairo_t *cr) gtk_widget_get_allocation (widget, &allocation); - header_width = allocation.width - 2 * style->xthickness; + header_width = allocation.width - padding.left - padding.right; max_month_width = priv->max_month_width; max_year_width = priv->max_year_width; - gdk_cairo_set_source_color (cr, HEADER_BG_COLOR (widget)); - cairo_rectangle (cr, 0, 0, header_width, priv->header_h); - cairo_fill (cr); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HEADER); - gtk_paint_shadow (style, cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "calendar", - 0, 0, header_width, priv->header_h); + gtk_render_background (context, cr, 0, 0, header_width, priv->header_h); + gtk_render_frame (context, cr, 0, 0, header_width, priv->header_h); tmp_time = 1; /* Jan 1 1970, 00:00:01 UTC */ tm = gmtime (&tmp_time); @@ -2277,12 +2289,9 @@ calendar_paint_header (GtkCalendar *calendar, cairo_t *cr) else x = header_width - (3 + priv->arrow_width + max_year_width - (max_year_width - logical_rect.width)/2); - - gdk_cairo_set_source_color (cr, HEADER_FG_COLOR (GTK_WIDGET (calendar))); - cairo_move_to (cr, x, y); - pango_cairo_show_layout (cr, layout); - + gtk_render_layout (context, cr, x, y, layout); + /* Draw month */ g_snprintf (buffer, sizeof (buffer), "%s", default_monthname[priv->month]); pango_layout_set_text (layout, buffer, -1); @@ -2301,11 +2310,10 @@ calendar_paint_header (GtkCalendar *calendar, cairo_t *cr) else x = 3 + priv->arrow_width + (max_month_width - logical_rect.width)/2; - cairo_move_to (cr, x, y); - pango_cairo_show_layout (cr, layout); - + gtk_render_layout (context, cr, x, y, layout); g_object_unref (layout); + gtk_style_context_restore (context); cairo_restore (cr); } @@ -2315,7 +2323,9 @@ calendar_paint_day_names (GtkCalendar *calendar, { GtkWidget *widget = GTK_WIDGET (calendar); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkAllocation allocation; char buffer[255]; int day,i; @@ -2329,13 +2339,15 @@ calendar_paint_day_names (GtkCalendar *calendar, gint calendar_xsep = calendar_get_xsep (calendar); gint inner_border = calendar_get_inner_border (calendar); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); cairo_save (cr); cairo_translate (cr, - style->xthickness + inner_border, - priv->header_h + style->ythickness + inner_border); + padding.left + inner_border, + priv->header_h + padding.top + inner_border); gtk_widget_style_get (GTK_WIDGET (widget), "focus-line-width", &focus_width, @@ -2345,37 +2357,33 @@ calendar_paint_day_names (GtkCalendar *calendar, gtk_widget_get_allocation (widget, &allocation); day_width = priv->day_width; - cal_width = allocation.width - (style->xthickness + inner_border) * 2; + cal_width = allocation.width - (inner_border * 2) - padding.left - padding.right; day_wid_sep = day_width + DAY_XSEP; /* * Draw rectangles as inverted background for the labels. */ - gdk_cairo_set_source_color (cr, SELECTED_BG_COLOR (widget)); - cairo_rectangle (cr, - CALENDAR_MARGIN, CALENDAR_MARGIN, - cal_width - CALENDAR_MARGIN * 2, - priv->day_name_h - CALENDAR_MARGIN); - cairo_fill (cr); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HIGHLIGHT); + + gtk_render_background (context, cr, + CALENDAR_MARGIN, CALENDAR_MARGIN, + cal_width - CALENDAR_MARGIN * 2, + priv->day_name_h - CALENDAR_MARGIN); if (priv->display_flags & GTK_CALENDAR_SHOW_WEEK_NUMBERS) - { - cairo_rectangle (cr, - CALENDAR_MARGIN, - priv->day_name_h - calendar_ysep, - priv->week_width - calendar_ysep - CALENDAR_MARGIN, - calendar_ysep); - cairo_fill (cr); - } + gtk_render_background (context, cr, + CALENDAR_MARGIN, + priv->day_name_h - calendar_ysep, + priv->week_width - calendar_ysep - CALENDAR_MARGIN, + calendar_ysep); /* * Write the labels */ - layout = gtk_widget_create_pango_layout (widget, NULL); - gdk_cairo_set_source_color (cr, SELECTED_FG_COLOR (widget)); for (i = 0; i < 7; i++) { if (gtk_widget_get_direction (GTK_WIDGET (calendar)) == GTK_TEXT_DIR_RTL) @@ -2388,19 +2396,20 @@ calendar_paint_day_names (GtkCalendar *calendar, pango_layout_set_text (layout, buffer, -1); pango_layout_get_pixel_extents (layout, NULL, &logical_rect); - cairo_move_to (cr, - (CALENDAR_MARGIN + - + (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ? - (priv->week_width + (priv->week_width ? calendar_xsep : 0)) - : 0) - + day_wid_sep * i - + (day_width - logical_rect.width)/2), - CALENDAR_MARGIN + focus_width + focus_padding + logical_rect.y); - pango_cairo_show_layout (cr, layout); + gtk_render_layout (context, cr, + (CALENDAR_MARGIN + + + (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR ? + (priv->week_width + (priv->week_width ? calendar_xsep : 0)) + : 0) + + day_wid_sep * i + + (day_width - logical_rect.width)/2), + CALENDAR_MARGIN + focus_width + focus_padding + logical_rect.y, + layout); } g_object_unref (layout); + gtk_style_context_restore (context); cairo_restore (cr); } @@ -2410,7 +2419,9 @@ calendar_paint_week_numbers (GtkCalendar *calendar, { GtkWidget *widget = GTK_WIDGET (calendar); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; guint week = 0, year; gint row, x_loc, y_loc; gint day_height; @@ -2423,48 +2434,45 @@ calendar_paint_week_numbers (GtkCalendar *calendar, gint inner_border = calendar_get_inner_border (calendar); gint x, y; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); cairo_save (cr); - y = priv->header_h + priv->day_name_h + (style->ythickness + inner_border); + y = priv->header_h + priv->day_name_h + (padding.top + inner_border); if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) - x = style->xthickness + inner_border; + x = padding.left + inner_border; else - x = gtk_widget_get_allocated_width (widget) - priv->week_width - (style->xthickness + inner_border); + x = gtk_widget_get_allocated_width (widget) - priv->week_width - (padding.right + inner_border); gtk_widget_style_get (GTK_WIDGET (widget), "focus-line-width", &focus_width, "focus-padding", &focus_padding, NULL); - /* - * Draw a rectangle as inverted background for the labels. - */ + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HIGHLIGHT); - gdk_cairo_set_source_color (cr, SELECTED_BG_COLOR (widget)); if (priv->display_flags & GTK_CALENDAR_SHOW_DAY_NAMES) - cairo_rectangle (cr, - x + CALENDAR_MARGIN, - y, - priv->week_width - CALENDAR_MARGIN, - priv->main_h - CALENDAR_MARGIN); + gtk_render_background (context, cr, + x + CALENDAR_MARGIN, y, + priv->week_width - CALENDAR_MARGIN, + priv->main_h - CALENDAR_MARGIN); else - cairo_rectangle (cr, - x + CALENDAR_MARGIN, - y + CALENDAR_MARGIN, - priv->week_width - CALENDAR_MARGIN, - priv->main_h - 2 * CALENDAR_MARGIN); - cairo_fill (cr); + gtk_render_background (context, cr, + x + CALENDAR_MARGIN, + y + CALENDAR_MARGIN, + priv->week_width - CALENDAR_MARGIN, + priv->main_h - 2 * CALENDAR_MARGIN); /* * Write the labels */ layout = gtk_widget_create_pango_layout (widget, NULL); - - gdk_cairo_set_source_color (cr, SELECTED_FG_COLOR (widget)); day_height = calendar_row_height (calendar); + for (row = 0; row < 6; row++) { gboolean result; @@ -2498,12 +2506,12 @@ calendar_paint_week_numbers (GtkCalendar *calendar, - logical_rect.width - calendar_xsep - focus_padding - focus_width); - cairo_move_to (cr, x_loc, y_loc); - pango_cairo_show_layout (cr, layout); + gtk_render_layout (context, cr, x_loc, y_loc, layout); } - + g_object_unref (layout); + gtk_style_context_restore (context); cairo_restore (cr); } @@ -2563,8 +2571,8 @@ calendar_paint_day (GtkCalendar *calendar, { GtkWidget *widget = GTK_WIDGET (calendar); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (calendar); - GtkStyle *style; - GdkColor *text_color; + GtkStyleContext *context; + GtkStateFlags state = 0; gchar *detail; gchar buffer[32]; gint day; @@ -2579,37 +2587,44 @@ calendar_paint_day (GtkCalendar *calendar, g_return_if_fail (row < 6); g_return_if_fail (col < 7); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); day = priv->day[row][col]; show_details = (priv->display_flags & GTK_CALENDAR_SHOW_DETAILS); calendar_day_rectangle (calendar, row, col, &day_rect); - - if (priv->day_month[row][col] == MONTH_PREV) + + gtk_style_context_save (context); + + if (!gtk_widget_get_sensitive (widget)) + state |= GTK_STATE_FLAG_INSENSITIVE; + else { - text_color = PREV_MONTH_COLOR (widget); - } - else if (priv->day_month[row][col] == MONTH_NEXT) - { - text_color = NEXT_MONTH_COLOR (widget); - } - else - { - if (priv->selected_day == day) - { - gdk_cairo_set_source_color (cr, SELECTED_BG_COLOR (widget)); - gdk_cairo_rectangle (cr, &day_rect); - cairo_fill (cr); - } - if (priv->selected_day == day) - text_color = SELECTED_FG_COLOR (widget); - else if (priv->marked_date[day-1]) - text_color = MARKED_COLOR (widget); + if (gtk_widget_has_focus (widget)) + state |= GTK_STATE_FLAG_FOCUSED; + + if (priv->day_month[row][col] == MONTH_PREV || + priv->day_month[row][col] == MONTH_NEXT) + state |= GTK_STATE_FLAG_INCONSISTENT; else - text_color = NORMAL_DAY_COLOR (widget); + { + if (priv->marked_date[day-1]) + state |= GTK_STATE_FLAG_ACTIVE; + + if (priv->selected_day == day) + { + state |= GTK_STATE_FLAG_SELECTED; + + gtk_style_context_set_state (context, state); + gtk_render_background (context, cr, + day_rect.x, day_rect.y, + day_rect.width, day_rect.height); + } + } } + gtk_style_context_set_state (context, state); + /* Translators: this defines whether the day numbers should use * localized digits or the ones used in English (0123...). * @@ -2633,29 +2648,22 @@ calendar_paint_day (GtkCalendar *calendar, x_loc = day_rect.x + (day_rect.width - logical_rect.width) / 2; y_loc = day_rect.y; - gdk_cairo_set_source_color (cr, text_color); - cairo_move_to (cr, x_loc, y_loc); - pango_cairo_show_layout (cr, layout); + gtk_render_layout (context, cr, x_loc, y_loc, layout); if (priv->day_month[row][col] == MONTH_CURRENT && (priv->marked_date[day-1] || (detail && !show_details))) - { - cairo_move_to (cr, x_loc - 1, y_loc); - pango_cairo_show_layout (cr, layout); - } + gtk_render_layout (context, cr, x_loc - 1, y_loc, layout); y_loc += priv->max_day_char_descent; if (priv->detail_func && show_details) { + GdkRGBA color; + cairo_save (cr); - if (priv->selected_day == day) - gdk_cairo_set_source_color (cr, &style->text[GTK_STATE_ACTIVE]); - else if (priv->day_month[row][col] == MONTH_CURRENT) - gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_ACTIVE]); - else - gdk_cairo_set_source_color (cr, &style->base[GTK_STATE_INSENSITIVE]); + gtk_style_context_get_color (context, state, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_set_line_width (cr, 1); cairo_move_to (cr, day_rect.x + 2, y_loc + 0.5); @@ -2702,25 +2710,16 @@ calendar_paint_day (GtkCalendar *calendar, if (gtk_widget_has_focus (widget) && priv->focus_row == row && priv->focus_col == col) - { - GtkStateType state; - - if (priv->selected_day == day) - state = gtk_widget_has_focus (widget) ? GTK_STATE_SELECTED : GTK_STATE_ACTIVE; - else - state = GTK_STATE_NORMAL; - - gtk_paint_focus (style, cr, - state, widget, "calendar-day", - day_rect.x, day_rect.y, - day_rect.width, day_rect.height); - } + gtk_render_focus (context, cr, + day_rect.x, day_rect.y, + day_rect.width, day_rect.height); if (overflow) priv->detail_overflow[row] |= (1 << col); else priv->detail_overflow[row] &= ~(1 << col); + gtk_style_context_restore (context); g_object_unref (layout); g_free (detail); } @@ -2768,9 +2767,10 @@ calendar_paint_arrow (GtkCalendar *calendar, { GtkWidget *widget = GTK_WIDGET (calendar); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); - GtkStyle *style; - gint state; + GtkStyleContext *context; + GtkStateFlags state; GdkRectangle rect; + gdouble angle; if (!priv->arrow_win[arrow]) return; @@ -2779,28 +2779,28 @@ calendar_paint_arrow (GtkCalendar *calendar, cairo_save (cr); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); state = priv->arrow_state[arrow]; - cairo_rectangle (cr, rect.x, rect.y, rect.width, rect.height); - gdk_cairo_set_source_color (cr, &style->bg[state]); - cairo_fill (cr); + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON); + + gtk_render_background (context, cr, + rect.x, rect.y, + rect.width, rect.height); if (arrow == ARROW_MONTH_LEFT || arrow == ARROW_YEAR_LEFT) - gtk_paint_arrow (style, cr, state, - GTK_SHADOW_OUT, widget, "calendar", - GTK_ARROW_LEFT, TRUE, - rect.x + (rect.width - 8) / 2, - rect.y + (rect.height - 8) / 2, - 8, 8); + angle = 3 * (G_PI / 2); else - gtk_paint_arrow (style, cr, state, - GTK_SHADOW_OUT, widget, "calendar", - GTK_ARROW_RIGHT, TRUE, - rect.x + (rect.width - 8) / 2, - rect.y + (rect.height - 8) / 2, - 8, 8); + angle = G_PI / 2; + gtk_render_arrow (context, cr, angle, + rect.x + (rect.width - 8) / 2, + rect.y + (rect.height - 8) / 2, + 8); + + gtk_style_context_restore (context); cairo_restore (cr); } @@ -2814,16 +2814,17 @@ gtk_calendar_draw (GtkWidget *widget, if (gtk_cairo_should_draw_window (cr, gtk_widget_get_window (widget))) { - gdk_cairo_set_source_color (cr, BACKGROUND_COLOR (widget)); - cairo_rectangle (cr, - 0, 0, - gtk_widget_get_allocated_width (widget), - gtk_widget_get_allocated_height (widget)); - cairo_fill (cr); - gtk_paint_shadow (gtk_widget_get_style (widget), cr, - gtk_widget_get_state (widget), GTK_SHADOW_IN, - widget, "calendar", - 0, 0, + GtkStyleContext *context; + + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + + gtk_render_background (context, cr, 0, 0, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + gtk_render_frame (context, cr, 0, 0, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget)); } @@ -3095,25 +3096,25 @@ gtk_calendar_enter_notify (GtkWidget *widget, if (event->window == priv->arrow_win[ARROW_MONTH_LEFT]) { - priv->arrow_state[ARROW_MONTH_LEFT] = GTK_STATE_PRELIGHT; + priv->arrow_state[ARROW_MONTH_LEFT] |= GTK_STATE_FLAG_PRELIGHT; calendar_invalidate_arrow (calendar, ARROW_MONTH_LEFT); } if (event->window == priv->arrow_win[ARROW_MONTH_RIGHT]) { - priv->arrow_state[ARROW_MONTH_RIGHT] = GTK_STATE_PRELIGHT; + priv->arrow_state[ARROW_MONTH_RIGHT] |= GTK_STATE_FLAG_PRELIGHT; calendar_invalidate_arrow (calendar, ARROW_MONTH_RIGHT); } if (event->window == priv->arrow_win[ARROW_YEAR_LEFT]) { - priv->arrow_state[ARROW_YEAR_LEFT] = GTK_STATE_PRELIGHT; + priv->arrow_state[ARROW_YEAR_LEFT] |= GTK_STATE_FLAG_PRELIGHT; calendar_invalidate_arrow (calendar, ARROW_YEAR_LEFT); } if (event->window == priv->arrow_win[ARROW_YEAR_RIGHT]) { - priv->arrow_state[ARROW_YEAR_RIGHT] = GTK_STATE_PRELIGHT; + priv->arrow_state[ARROW_YEAR_RIGHT] |= GTK_STATE_FLAG_PRELIGHT; calendar_invalidate_arrow (calendar, ARROW_YEAR_RIGHT); } @@ -3129,25 +3130,25 @@ gtk_calendar_leave_notify (GtkWidget *widget, if (event->window == priv->arrow_win[ARROW_MONTH_LEFT]) { - priv->arrow_state[ARROW_MONTH_LEFT] = GTK_STATE_NORMAL; + priv->arrow_state[ARROW_MONTH_LEFT] &= ~(GTK_STATE_FLAG_PRELIGHT); calendar_invalidate_arrow (calendar, ARROW_MONTH_LEFT); } if (event->window == priv->arrow_win[ARROW_MONTH_RIGHT]) { - priv->arrow_state[ARROW_MONTH_RIGHT] = GTK_STATE_NORMAL; + priv->arrow_state[ARROW_MONTH_RIGHT] &= ~(GTK_STATE_FLAG_PRELIGHT); calendar_invalidate_arrow (calendar, ARROW_MONTH_RIGHT); } if (event->window == priv->arrow_win[ARROW_YEAR_LEFT]) { - priv->arrow_state[ARROW_YEAR_LEFT] = GTK_STATE_NORMAL; + priv->arrow_state[ARROW_YEAR_LEFT] &= ~(GTK_STATE_FLAG_PRELIGHT); calendar_invalidate_arrow (calendar, ARROW_YEAR_LEFT); } if (event->window == priv->arrow_win[ARROW_YEAR_RIGHT]) { - priv->arrow_state[ARROW_YEAR_RIGHT] = GTK_STATE_NORMAL; + priv->arrow_state[ARROW_YEAR_RIGHT] &= ~(GTK_STATE_FLAG_PRELIGHT); calendar_invalidate_arrow (calendar, ARROW_YEAR_RIGHT); } @@ -3329,8 +3330,8 @@ gtk_calendar_key_press (GtkWidget *widget, ****************************************/ static void -gtk_calendar_state_changed (GtkWidget *widget, - GtkStateType previous_state) +gtk_calendar_state_flags_changed (GtkWidget *widget, + GtkStateFlags previous_state) { GtkCalendar *calendar = GTK_CALENDAR (widget); GtkCalendarPrivate *priv = GTK_CALENDAR_GET_PRIVATE (widget); @@ -3344,9 +3345,9 @@ gtk_calendar_state_changed (GtkWidget *widget, for (i = 0; i < 4; i++) if (gtk_widget_is_sensitive (widget)) - priv->arrow_state[i] = GTK_STATE_NORMAL; + priv->arrow_state[i] &= ~(GTK_STATE_FLAG_INSENSITIVE); else - priv->arrow_state[i] = GTK_STATE_INSENSITIVE; + priv->arrow_state[i] |= GTK_STATE_FLAG_INSENSITIVE; } static void diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index c214505601..871caac8a1 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3858,6 +3858,34 @@ gtk_css_provider_get_default (void) ".dark-area-focus {\n" " color: #fff;\n" "}\n" + "GtkCalendar.view {\n" + " border-width: 1;\n" + " border-style: inset;\n" + " padding: 1;\n" + "}\n" + "\n" + "GtkCalendar.view:inconsistent {\n" + " color: darker (@bg_color);\n" + "}\n" + "\n" + "GtkCalendar.header {\n" + " background-color: @bg_color;\n" + " border-style: outset;\n" + " border-width: 2;\n" + "}\n" + "\n" + "GtkCalendar.highlight {\n" + " border-width: 0;\n" + "}\n" + "\n" + "GtkCalendar.button {\n" + " background-color: @bg_color;\n" + "}\n" + "\n" + "GtkCalendar.button:hover {\n" + " background-color: lighter (@bg_color);\n" + " color: @fg_color;\n" + "}\n" "\n"; provider = gtk_css_provider_new (); diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index da57477c64..f0d93dc220 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -2323,13 +2323,13 @@ gtk_theming_engine_render_layout (GtkThemingEngine *engine, cairo_set_matrix (cr, &cairo_matrix); } else - cairo_translate (cr, x, y); + cairo_move_to (cr, x, y); if (flags & GTK_STATE_FLAG_INSENSITIVE) { cairo_save (cr); cairo_set_source_rgb (cr, 1, 1, 1); - cairo_move_to (cr, 1, 1); + cairo_move_to (cr, x + 1, y + 1); _gtk_pango_fill_layout (cr, layout); cairo_restore (cr); } From de36dda9251f4f60b0be575231974f3ab7bd879e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 20:45:23 +0100 Subject: [PATCH 1304/1463] Add gtk_style_context_scroll_animations() This function will be needed in widgets like GtkTreeView, since gdk_window_scroll() doesn't trigger the usual mechanisms to update the invalidation area, this function is needed together with it. --- docs/reference/gtk/gtk3-sections.txt | 1 + gtk/gtk.symbols | 1 + gtk/gtkstylecontext.c | 70 ++++++++++++++++++++++++++++ gtk/gtkstylecontext.h | 4 ++ 4 files changed, 76 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index b52ea6a167..2646f6e85d 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5574,6 +5574,7 @@ gtk_style_context_notify_state_change gtk_style_context_pop_animatable_region gtk_style_context_push_animatable_region gtk_style_context_cancel_animations +gtk_style_context_scroll_animations gtk_style_context_remove_provider gtk_style_context_remove_provider_for_screen gtk_style_context_reset_widgets diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 3625120374..1f99b02cf0 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2499,6 +2499,7 @@ gtk_style_context_remove_region gtk_style_context_reset_widgets gtk_style_context_restore gtk_style_context_save +gtk_style_context_scroll_animations gtk_style_context_set_background gtk_style_context_set_direction gtk_style_context_set_junction_sides diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 3d1b0aa530..bad7409a90 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2965,6 +2965,76 @@ gtk_style_context_cancel_animations (GtkStyleContext *context, } } +static gboolean +is_parent_of (GdkWindow *parent, + GdkWindow *child) +{ + GtkWidget *child_widget, *parent_widget; + GdkWindow *window; + + gdk_window_get_user_data (child, (gpointer *) &child_widget); + gdk_window_get_user_data (parent, (gpointer *) &parent_widget); + + if (child_widget != parent_widget && + !gtk_widget_is_ancestor (child_widget, parent_widget)) + return FALSE; + + window = child; + + while (window) + { + if (window == parent) + return TRUE; + + window = gdk_window_get_parent (window); + } + + return FALSE; +} + +/** + * gtk_style_context_scroll_animations: + * @context: a #GtkStyleContext + * @window: a #GdkWindow used previously in + * gtk_style_context_notify_state_change() + * @dx: Amount to scroll in the X axis + * @dy: Amount to scroll in the Y axis + * + * This function is analogous to gdk_window_scroll(), and + * should be called together with it so the invalidation + * areas for any ongoing animation are scrolled together + * with it. + * + * Since: 3.0 + **/ +void +gtk_style_context_scroll_animations (GtkStyleContext *context, + GdkWindow *window, + gint dx, + gint dy) +{ + GtkStyleContextPrivate *priv; + AnimationInfo *info; + GSList *l; + + g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); + g_return_if_fail (GDK_IS_WINDOW (window)); + + priv = context->priv; + l = priv->animations; + + while (l) + { + info = l->data; + l = l->next; + + if (info->invalidation_region && + (window == info->window || + is_parent_of (window, info->window))) + cairo_region_translate (info->invalidation_region, dx, dy); + } +} + /** * gtk_style_context_push_animatable_region: * @context: a #GtkStyleContext diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index ceedc529c0..309e2755b5 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -524,6 +524,10 @@ void gtk_style_context_notify_state_change (GtkStyleContext *context, gboolean state_value); void gtk_style_context_cancel_animations (GtkStyleContext *context, gpointer region_id); +void gtk_style_context_scroll_animations (GtkStyleContext *context, + GdkWindow *window, + gint dx, + gint dy); void gtk_style_context_push_animatable_region (GtkStyleContext *context, gpointer region_id); From f605d3d698fd2c3558aa0d0048cd5d89ada1ae98 Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Mon, 10 Jan 2011 21:34:33 +0100 Subject: [PATCH 1305/1463] Bug 639127 - Add missing gdkdisplaymanager-win32.c --- gdk/win32/gdkdisplaymanager-win32.c | 135 ++++++++++++++++++++++++++++ gtk/gtk.symbols | 28 +++--- 2 files changed, 145 insertions(+), 18 deletions(-) create mode 100644 gdk/win32/gdkdisplaymanager-win32.c diff --git a/gdk/win32/gdkdisplaymanager-win32.c b/gdk/win32/gdkdisplaymanager-win32.c new file mode 100644 index 0000000000..3df8d1752e --- /dev/null +++ b/gdk/win32/gdkdisplaymanager-win32.c @@ -0,0 +1,135 @@ +/* GDK - The GIMP Drawing Kit + * gdkdisplaymanager-win32.c + * + * Copyright 2010 Hans Breuer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include "gdkwin32display.h" +#include "gdkwin32displaymanager.h" +#include "gdkprivate-win32.h" + +#include "gdkdisplaymanagerprivate.h" +#include "gdkinternals.h" + +struct _GdkWin32DisplayManager +{ + GdkDisplayManager parent_instance; +}; + +struct _GdkWin32DisplayManagerClass +{ + GdkDisplayManagerClass parent_instance; +}; + +G_DEFINE_TYPE (GdkWin32DisplayManager, gdk_win32_display_manager, GDK_TYPE_DISPLAY_MANAGER) + +static GdkDisplay * +gdk_win32_display_manager_open_display (GdkDisplayManager *manager, + const gchar *name) +{ + return _gdk_win32_display_open (name); +} + +static GSList * +gdk_win32_display_manager_list_displays (GdkDisplayManager *manager) +{ + return g_slist_append (NULL, gdk_display_get_default ()); +} + +static GdkDisplay * +gdk_win32_display_manager_get_default_display (GdkDisplayManager *manager) +{ + return _gdk_win32_display_open (NULL); +} + +static void +gdk_win32_display_manager_set_default_display (GdkDisplayManager *manager, + GdkDisplay *display) +{ + g_assert (gdk_display_get_default () == display); +} + +#include "../gdkkeynames.c" + +static gchar * +gdk_win32_display_manager_get_keyval_name (GdkDisplayManager *manager, + guint keyval) +{ + return _gdk_keyval_name (keyval); +} + +static guint +gdk_win32_display_manager_lookup_keyval (GdkDisplayManager *manager, + const gchar *name) +{ + return _gdk_keyval_from_name (name); +} + +static void +gdk_win32_display_manager_keyval_convert_case (GdkDisplayManager *manager, + guint symbol, + guint *lower, + guint *upper) +{ + /* FIXME implement this */ + if (lower) + *lower = symbol; + if (upper) + *upper = symbol; +} + +static void +gdk_win32_display_manager_init (GdkWin32DisplayManager *manager) +{ + static once = TRUE; + /* relies on displaymanager being a singleton , but our init functions + * call gtk_diplay_maanger_get() again */ + if (once) + { + once = FALSE; + _gdk_win32_windowing_init (); + } +} + +static void +gdk_win32_display_manager_finalize (GObject *object) +{ + g_error ("A GdkWin32DisplayManager object was finalized. This should not happen"); + G_OBJECT_CLASS (gdk_win32_display_manager_parent_class)->finalize (object); +} + +static void +gdk_win32_display_manager_class_init (GdkWin32DisplayManagerClass *class) +{ + GObjectClass *object_class = G_OBJECT_CLASS (class); + GdkDisplayManagerClass *manager_class = GDK_DISPLAY_MANAGER_CLASS (class); + + object_class->finalize = gdk_win32_display_manager_finalize; + + manager_class->open_display = gdk_win32_display_manager_open_display; + manager_class->list_displays = gdk_win32_display_manager_list_displays; + manager_class->set_default_display = gdk_win32_display_manager_set_default_display; + manager_class->get_default_display = gdk_win32_display_manager_get_default_display; + manager_class->atom_intern = _gdk_win32_display_manager_atom_intern; + manager_class->get_atom_name = _gdk_win32_display_manager_get_atom_name; + manager_class->lookup_keyval = gdk_win32_display_manager_lookup_keyval; + manager_class->get_keyval_name = gdk_win32_display_manager_get_keyval_name; + manager_class->keyval_convert_case = gdk_win32_display_manager_keyval_convert_case; +} diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 1f99b02cf0..b625747f2c 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -504,6 +504,8 @@ gtk_cell_renderer_toggle_new gtk_cell_renderer_toggle_set_activatable gtk_cell_renderer_toggle_set_active gtk_cell_renderer_toggle_set_radio +gtk_cell_view_get_desired_height_for_width_of_row +gtk_cell_view_get_desired_width_of_row gtk_cell_view_get_displayed_row gtk_cell_view_get_draw_sensitive gtk_cell_view_get_fit_model @@ -605,7 +607,6 @@ gtk_color_selection_set_has_palette gtk_color_selection_set_previous_alpha gtk_color_selection_set_previous_color gtk_color_selection_set_previous_rgba -gtk_combo_box_cell_layout_get_area gtk_combo_box_get_active gtk_combo_box_get_active_id gtk_combo_box_get_active_iter @@ -1478,7 +1479,6 @@ gtk_menu_item_activate gtk_menu_item_deselect gtk_menu_item_get_accel_path gtk_menu_item_get_label -gtk_menu_item_get_reserve_indicator gtk_menu_item_get_right_justified gtk_menu_item_get_submenu gtk_menu_item_get_type G_GNUC_CONST @@ -1489,7 +1489,6 @@ gtk_menu_item_new_with_mnemonic gtk_menu_item_select gtk_menu_item_set_accel_path gtk_menu_item_set_label -gtk_menu_item_set_reserve_indicator gtk_menu_item_set_right_justified gtk_menu_item_set_submenu gtk_menu_item_set_use_underline @@ -1607,19 +1606,6 @@ gtk_notebook_set_tab_pos gtk_notebook_set_tab_reorderable gtk_notebook_tab_get_type G_GNUC_CONST gtk_number_up_layout_get_type G_GNUC_CONST -gtk_numerable_icon_get_background_gicon -gtk_numerable_icon_get_background_icon_name -gtk_numerable_icon_get_count -gtk_numerable_icon_get_label -gtk_numerable_icon_get_style_context -gtk_numerable_icon_get_type G_GNUC_CONST -gtk_numerable_icon_new -gtk_numerable_icon_new_with_style_context -gtk_numerable_icon_set_background_gicon -gtk_numerable_icon_set_background_icon_name -gtk_numerable_icon_set_count -gtk_numerable_icon_set_label -gtk_numerable_icon_set_style_context gtk_offscreen_window_get_pixbuf gtk_offscreen_window_get_surface gtk_offscreen_window_get_type G_GNUC_CONST @@ -1816,8 +1802,6 @@ gtk_printer_request_details gtk_print_error_get_type G_GNUC_CONST gtk_print_error_quark #ifdef G_OS_UNIX -gtk_printer_set_accepts_pdf -gtk_printer_set_accepts_ps gtk_printer_set_description gtk_printer_set_has_details gtk_printer_set_icon_name @@ -2022,6 +2006,11 @@ gtk_progress_bar_set_pulse_step gtk_progress_bar_set_show_text gtk_progress_bar_set_text gtk_propagate_event +gtk_quit_add +gtk_quit_add_destroy +gtk_quit_add_full +gtk_quit_remove +gtk_quit_remove_by_data gtk_radio_action_get_current_value gtk_radio_action_get_group gtk_radio_action_get_type G_GNUC_CONST @@ -2067,6 +2056,7 @@ gtk_range_get_show_fill_level gtk_range_get_slider_range gtk_range_get_slider_size_fixed gtk_range_get_type G_GNUC_CONST +gtk_range_get_update_policy gtk_range_get_upper_stepper_sensitivity gtk_range_get_value gtk_range_set_adjustment @@ -2080,6 +2070,7 @@ gtk_range_set_range gtk_range_set_restrict_to_fill_level gtk_range_set_show_fill_level gtk_range_set_slider_size_fixed +gtk_range_set_update_policy gtk_range_set_upper_stepper_sensitivity gtk_range_set_value gtk_rc_add_default_file @@ -3414,6 +3405,7 @@ gtk_ui_manager_remove_action_group gtk_ui_manager_remove_ui gtk_ui_manager_set_add_tearoffs gtk_unit_get_type G_GNUC_CONST +gtk_update_type_get_type G_GNUC_CONST gtk_vbox_get_type G_GNUC_CONST gtk_vbox_new gtk_vbutton_box_get_type G_GNUC_CONST From 0a9abb0222a657700da4051fb9c4112c395e15be Mon Sep 17 00:00:00 2001 From: Hans Breuer Date: Mon, 10 Jan 2011 21:35:53 +0100 Subject: [PATCH 1306/1463] [portability] Use G_PI rather than M_PI --- gtk/gtknumerableicon.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/gtknumerableicon.c b/gtk/gtknumerableicon.c index 622d793a27..678abdbf30 100644 --- a/gtk/gtknumerableicon.c +++ b/gtk/gtknumerableicon.c @@ -118,18 +118,18 @@ draw_default_surface (GtkNumerableIcon *self) cr = cairo_create (surface); cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., - DEFAULT_RADIUS, 0., 2 * M_PI); + DEFAULT_RADIUS, 0., 2 * G_PI); gdk_cairo_set_source_rgba (cr, self->priv->background); cairo_fill (cr); cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., - DEFAULT_RADIUS - DEFAULT_BORDER_SIZE, 0., 2 * M_PI); + DEFAULT_RADIUS - DEFAULT_BORDER_SIZE, 0., 2 * G_PI); gdk_cairo_set_source_rgba (cr, self->priv->foreground); cairo_fill (cr); cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., - DEFAULT_RADIUS - 2 * DEFAULT_BORDER_SIZE, 0., 2 * M_PI); + DEFAULT_RADIUS - 2 * DEFAULT_BORDER_SIZE, 0., 2 * G_PI); gdk_cairo_set_source_rgba (cr, self->priv->background); cairo_fill (cr); @@ -157,7 +157,7 @@ draw_from_gradient (cairo_pattern_t *pattern) cairo_pattern_set_matrix (pattern, &matrix); cairo_arc (cr, DEFAULT_SURFACE_SIZE / 2., DEFAULT_SURFACE_SIZE / 2., - DEFAULT_RADIUS, 0., 2 * M_PI); + DEFAULT_RADIUS, 0., 2 * G_PI); cairo_set_source (cr, pattern); cairo_fill (cr); From a67507a53e4c98b2d08e165f18d135010cc3f9df Mon Sep 17 00:00:00 2001 From: Paolo Borelli Date: Mon, 10 Jan 2011 21:34:08 +0100 Subject: [PATCH 1307/1463] Set the proper css class when getting attributes. --- gtk/gtktextview.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 8152d98202..a2fbaac1f6 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -6524,6 +6524,9 @@ gtk_text_view_set_attributes_from_style (GtkTextView *text_view, context = gtk_widget_get_style_context (GTK_WIDGET (text_view)); state = gtk_widget_get_state_flags (GTK_WIDGET (text_view)); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + gtk_style_context_get_background_color (context, state, &bg_color); gtk_style_context_get_color (context, state, &fg_color); @@ -6539,6 +6542,8 @@ gtk_text_view_set_attributes_from_style (GtkTextView *text_view, pango_font_description_free (values->font); values->font = pango_font_description_copy (gtk_style_context_get_font (context, state)); + + gtk_style_context_restore (context); } static void From c94912afd5bcdf70bb94d36fa74db996292f0959 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 22:55:31 +0100 Subject: [PATCH 1308/1463] GtkTextUtil: Fix typo Use the right "context" object around in GtkStyleContext methods. --- gtk/gtktextutil.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtktextutil.c b/gtk/gtktextutil.c index 4b8c691641..1299810ffd 100644 --- a/gtk/gtktextutil.c +++ b/gtk/gtktextutil.c @@ -248,8 +248,8 @@ _gtk_text_util_create_drag_icon (GtkWidget *widget, pixmap_height + 2); cr = cairo_create (surface); - gtk_style_context_save (context); - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VIEW); + gtk_style_context_save (style_context); + gtk_style_context_add_class (style_context, GTK_STYLE_CLASS_VIEW); gtk_style_context_get_background_color (style_context, state, &color); gdk_cairo_set_source_rgba (cr, &color); @@ -270,7 +270,7 @@ _gtk_text_util_create_drag_icon (GtkWidget *widget, cairo_surface_set_device_offset (surface, 2, 2); - gtk_style_context_restore (context); + gtk_style_context_restore (style_context); return surface; } From fa2bfd93f8d44fd079ad91909dd376e9910cd96e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 22:57:31 +0100 Subject: [PATCH 1309/1463] Add gtk_widget_set_device_enabled() This function is a more convenient variant than gtk_widget_set_device_events(), as it will 1) perform changes down a widget hierarchy, to all windows. 1) use the same event mask than gdk_window_get_events() --- docs/reference/gtk/gtk3-sections.txt | 2 + gtk/gtk.symbols | 2 + gtk/gtkwidget.c | 158 ++++++++++++++++++++++++++- gtk/gtkwidget.h | 7 ++ 4 files changed, 168 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index 2646f6e85d..e94fd77b37 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -4975,6 +4975,8 @@ gtk_widget_add_events gtk_widget_set_device_events gtk_widget_get_device_events gtk_widget_add_device_events +gtk_widget_set_device_enabled +gtk_widget_get_device_enabled gtk_widget_get_toplevel gtk_widget_get_ancestor gtk_widget_get_visual diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index b625747f2c..c13442210d 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -3469,6 +3469,7 @@ gtk_widget_get_clipboard gtk_widget_get_composite_name gtk_widget_get_default_direction gtk_widget_get_default_style +gtk_widget_get_device_enabled gtk_widget_get_device_events gtk_widget_get_direction gtk_widget_get_display @@ -3615,6 +3616,7 @@ gtk_widget_set_can_focus gtk_widget_set_child_visible gtk_widget_set_composite_name gtk_widget_set_default_direction +gtk_widget_set_device_enabled gtk_widget_set_device_events gtk_widget_set_direction gtk_widget_set_double_buffered diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 24cc27204a..16fd5117dd 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -663,6 +663,10 @@ static void gtk_widget_set_usize_internal (GtkWidget *widget, static void gtk_widget_add_events_internal (GtkWidget *widget, GdkDevice *device, gint events); +static void gtk_widget_set_device_enabled_internal (GtkWidget *widget, + GdkDevice *device, + gboolean recurse, + gboolean enabled); /* --- variables --- */ static gpointer gtk_widget_parent_class = NULL; @@ -691,6 +695,7 @@ static GQuark quark_has_tooltip = 0; static GQuark quark_tooltip_window = 0; static GQuark quark_visual = 0; static GQuark quark_modifier_style = 0; +static GQuark quark_enabled_devices = 0; GParamSpecPool *_gtk_widget_child_property_pool = NULL; GObjectNotifyContext *_gtk_widget_child_property_notify_context = NULL; @@ -804,6 +809,7 @@ gtk_widget_class_init (GtkWidgetClass *klass) quark_tooltip_window = g_quark_from_static_string ("gtk-tooltip-window"); quark_visual = g_quark_from_static_string ("gtk-widget-visual"); quark_modifier_style = g_quark_from_static_string ("gtk-widget-modifier-style"); + quark_enabled_devices = g_quark_from_static_string ("gtk-widget-enabled-devices"); style_property_spec_pool = g_param_spec_pool_new (FALSE); _gtk_widget_child_property_pool = g_param_spec_pool_new (TRUE); @@ -4222,6 +4228,105 @@ _gtk_widget_enable_device_events (GtkWidget *widget) } } +static GList * +get_widget_windows (GtkWidget *widget) +{ + GList *window_list, *last, *l, *children, *ret; + + if (gtk_widget_get_has_window (widget)) + window_list = g_list_prepend (NULL, gtk_widget_get_window (widget)); + else + window_list = gdk_window_peek_children (gtk_widget_get_window (widget)); + + last = g_list_last (window_list); + ret = NULL; + + for (l = window_list; l; l = l->next) + { + GtkWidget *window_widget; + + gdk_window_get_user_data (l->data, (gpointer *) window_widget); + + if (widget != window_widget) + continue; + + ret = g_list_prepend (ret, l->data); + children = gdk_window_peek_children (GDK_WINDOW (l->data)); + + if (children) + { + last = g_list_concat (last, children); + last = g_list_last (last); + } + } + + g_list_free (window_list); + + return ret; +} + +static void +device_enable_foreach (GtkWidget *widget, + gpointer user_data) +{ + GdkDevice *device = user_data; + gtk_widget_set_device_enabled_internal (widget, device, TRUE, TRUE); +} + +static void +device_disable_foreach (GtkWidget *widget, + gpointer user_data) +{ + GdkDevice *device = user_data; + gtk_widget_set_device_enabled_internal (widget, device, TRUE, FALSE); +} + +static void +gtk_widget_set_device_enabled_internal (GtkWidget *widget, + GdkDevice *device, + gboolean recurse, + gboolean enabled) +{ + GList *window_list, *l; + + window_list = get_widget_windows (widget); + + for (l = window_list; l; l = l->next) + { + GdkEventMask events = 0; + GdkWindow *window; + + window = l->data; + + if (enabled) + events = gdk_window_get_events (window); + + gdk_window_set_device_events (window, device, events); + } + + if (recurse && GTK_IS_CONTAINER (widget)) + { + if (enabled) + gtk_container_forall (GTK_CONTAINER (widget), device_enable_foreach, device); + else + gtk_container_forall (GTK_CONTAINER (widget), device_disable_foreach, device); + } + + g_list_free (window_list); +} + +static void +gtk_widget_update_devices_mask (GtkWidget *widget, + gboolean recurse) +{ + GList *enabled_devices, *l; + + enabled_devices = g_object_get_qdata (G_OBJECT (widget), quark_enabled_devices); + + for (l = enabled_devices; l; l = l->next) + gtk_widget_set_device_enabled_internal (widget, GDK_DEVICE (l->data), recurse, TRUE); +} + /** * gtk_widget_realize: * @widget: a #GtkWidget @@ -4300,6 +4405,7 @@ gtk_widget_realize (GtkWidget *widget) gdk_window_set_support_multidevice (priv->window, TRUE); _gtk_widget_enable_device_events (widget); + gtk_widget_update_devices_mask (widget, TRUE); gtk_widget_pop_verify_invariants (widget); } @@ -9749,6 +9855,53 @@ gtk_widget_set_device_events (GtkWidget *widget, g_hash_table_insert (device_events, device, GUINT_TO_POINTER (events)); } +/** + * gtk_widget_enable_device: + * @widget: a #GtkWidget + * @device: a #GdkDevice + * + * Enables a #GdkDevice to interact with @widget and + * all its children, it does so by descending through + * the #GdkWindow hierarchy and enabling the same mask + * that is has for core events (i.e. the one that + * gdk_window_get_events() returns). + * + * Since: 3.0 + **/ +void +gtk_widget_set_device_enabled (GtkWidget *widget, + GdkDevice *device, + gboolean enabled) +{ + GList *enabled_devices; + + g_return_if_fail (GTK_IS_WIDGET (widget)); + g_return_if_fail (GDK_IS_DEVICE (device)); + + enabled_devices = g_object_get_qdata (G_OBJECT (widget), quark_enabled_devices); + enabled_devices = g_list_append (enabled_devices, device); + + g_object_set_qdata_full (G_OBJECT (widget), quark_enabled_devices, + enabled_devices, (GDestroyNotify) g_list_free);; + + if (gtk_widget_get_realized (widget)) + gtk_widget_set_device_enabled_internal (widget, device, TRUE, enabled); +} + +gboolean +gtk_widget_get_device_enabled (GtkWidget *widget, + GdkDevice *device) +{ + GList *enabled_devices; + + g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE); + g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE); + + enabled_devices = g_object_get_qdata (G_OBJECT (widget), quark_enabled_devices); + + return g_list_find (enabled_devices, device) != NULL; +} + static void gtk_widget_add_events_internal_list (GtkWidget *widget, GdkDevice *device, @@ -9818,7 +9971,10 @@ gtk_widget_add_events (GtkWidget *widget, GINT_TO_POINTER (old_events | events)); if (gtk_widget_get_realized (widget)) - gtk_widget_add_events_internal (widget, NULL, events); + { + gtk_widget_add_events_internal (widget, NULL, events); + gtk_widget_update_devices_mask (widget, FALSE); + } g_object_notify (G_OBJECT (widget), "events"); } diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index a2d4d5bde1..090cc3b544 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -674,6 +674,13 @@ void gtk_widget_set_device_events (GtkWidget *widget, void gtk_widget_add_device_events (GtkWidget *widget, GdkDevice *device, GdkEventMask events); + +void gtk_widget_set_device_enabled (GtkWidget *widget, + GdkDevice *device, + gboolean enabled); +gboolean gtk_widget_get_device_enabled (GtkWidget *widget, + GdkDevice *device); + GtkWidget* gtk_widget_get_toplevel (GtkWidget *widget); GtkWidget* gtk_widget_get_ancestor (GtkWidget *widget, GType widget_type); From e426f76e5797b6a2cc9e26d76bc35e52f687aa8f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:48:22 +0100 Subject: [PATCH 1310/1463] Fix compiler warning. --- gtk/gtkwidget.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 16fd5117dd..d1eee5b432 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4243,9 +4243,9 @@ get_widget_windows (GtkWidget *widget) for (l = window_list; l; l = l->next) { - GtkWidget *window_widget; + GtkWidget *window_widget = NULL; - gdk_window_get_user_data (l->data, (gpointer *) window_widget); + gdk_window_get_user_data (l->data, (gpointer *) &window_widget); if (widget != window_widget) continue; From 42ad651914916c720cb2720559f09afdeb2b7b59 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:11:00 +0100 Subject: [PATCH 1311/1463] Mark gtk_widget_style_attach() as deprecated. This isn't needed anymore. --- gtk/gtkwidget.c | 2 ++ gtk/gtkwidget.h | 3 +-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index d1eee5b432..45b548a054 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -7792,6 +7792,8 @@ gtk_widget_get_parent (GtkWidget *widget) * (finally #GtkWidget) would attach the style itself. * * Since: 2.20 + * + * Deprecated: 3.0. This step is unnecessary with #GtkStyleContext. **/ void gtk_widget_style_attach (GtkWidget *widget) diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index 090cc3b544..269807fea6 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -784,11 +784,10 @@ void gtk_widget_override_cursor (GtkWidget *widget, const GdkRGBA *cursor, const GdkRGBA *secondary_cursor); +#if !defined(GTK_DISABLE_DEPRECATED) || defined(GTK_COMPILATION) void gtk_widget_style_attach (GtkWidget *widget); -#if !defined(GTK_DISABLE_DEPRECATED) || defined(GTK_COMPILATION) - /* Widget styles. */ gboolean gtk_widget_has_rc_style (GtkWidget *widget); From 733cb5e43d10003c78921c69f0675487ae0b032b Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:11:42 +0100 Subject: [PATCH 1312/1463] Cleanup leftover code in gtkplug-x11 This code was part of the GdkDeviceManagerCore hack --- gtk/gtkplug-x11.c | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/gtk/gtkplug-x11.c b/gtk/gtkplug-x11.c index e7d8b4c6a5..4e1a7b1429 100644 --- a/gtk/gtkplug-x11.c +++ b/gtk/gtkplug-x11.c @@ -27,21 +27,6 @@ #include "config.h" -#if 0 -#ifdef XINPUT_2 - -/* Hack to have keyboard events interpreted - * regardless of the default device manager - */ -#define GDK_COMPILATION -#include "x11/gdkdevicemanager-core.h" -#include "x11/gdkdevicemanager-xi2.h" -#include "x11/gdkeventtranslator.h" -#undef GDK_COMPILATION - -#endif /* XINPUT_2 */ -#endif - #include "gtkmain.h" #include "gtkmarshalers.h" #include "gtkplug.h" From d5b0ccacce2179628b22d4f9ce9392625c106a7f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:16:09 +0100 Subject: [PATCH 1313/1463] GtkStyleContext: Do not cancel possibly unstarted transitions It might happen that this overcautious check is done on an animation that didn't have time to gather invalidation rectangles. --- gtk/gtkstylecontext.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index bad7409a90..326364cf45 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3143,13 +3143,8 @@ _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, if (info->invalidation_region) continue; - /* There's not much point in keeping the animation running */ if (info->rectangles->len == 0) - { - priv->animations = g_slist_remove (priv->animations, info); - animation_info_free (info); - continue; - } + continue; info->invalidation_region = cairo_region_create (); _gtk_widget_get_translation_to_window (widget, info->window, &rel_x, &rel_y); From 4c4df23d12169740c819f3f696b23aa38be3a3c5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:23:54 +0100 Subject: [PATCH 1314/1463] GtkThemingEngine: Fix handles rendering The wrong class was being used, so the theming engine didn't match it properly. --- gtk/gtkpaned.c | 4 ++++ gtk/gtkstylecontext.h | 7 +++++++ gtk/gtkthemingengine.c | 4 ++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/gtk/gtkpaned.c b/gtk/gtkpaned.c index 1a7e51e359..6962059dd7 100644 --- a/gtk/gtkpaned.c +++ b/gtk/gtkpaned.c @@ -648,6 +648,7 @@ static void gtk_paned_init (GtkPaned *paned) { GtkPanedPrivate *priv; + GtkStyleContext *context; gtk_widget_set_has_window (GTK_WIDGET (paned), FALSE); gtk_widget_set_can_focus (GTK_WIDGET (paned), TRUE); @@ -684,6 +685,9 @@ 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 diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 309e2755b5..00836d6aa3 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -360,6 +360,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_DND "dnd" +/** + * GTK_STYLE_CLASS_PANE_SEPARATOR: + * + * A CSS class for a pane separator, such as those in #GtkPaned. + */ +#define GTK_STYLE_CLASS_PANE_SEPARATOR "pane-separator" + /** * GTK_STYLE_CLASS_INFO: * diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index f0d93dc220..061d6fbcba 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -2604,7 +2604,7 @@ gtk_theming_engine_render_handle (GtkThemingEngine *engine, cairo_rectangle (cr, x, y, width, height); cairo_fill (cr); - if (gtk_theming_engine_has_class (engine, "grip")) + if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_GRIP)) { GtkJunctionSides sides; gint skip = -1; @@ -2869,7 +2869,7 @@ gtk_theming_engine_render_handle (GtkThemingEngine *engine, cairo_restore (cr); } - else if (gtk_theming_engine_has_class (engine, "paned")) + else if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_PANE_SEPARATOR)) { if (width > height) for (xx = x + width / 2 - 15; xx <= x + width / 2 + 15; xx += 5) From 529fcc84cfa8541378ed0fccc6d3ff4e66a21d85 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:49:21 +0100 Subject: [PATCH 1315/1463] Add missing CSS class defines to gtk3-sections.txt --- docs/reference/gtk/gtk3-sections.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index e94fd77b37..dfba4d3564 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -5528,6 +5528,7 @@ GTK_STYLE_CLASS_MENUITEM GTK_STYLE_CLASS_PROGRESSBAR GTK_STYLE_CLASS_SPINNER GTK_STYLE_CLASS_TOOLBAR +GTK_STYLE_CLASS_PANE_SEPARATOR GTK_STYLE_CLASS_DND GTK_STYLE_CLASS_ERROR GTK_STYLE_CLASS_EXPANDER @@ -5541,6 +5542,8 @@ GTK_STYLE_CLASS_SCALE GTK_STYLE_CLASS_SPINBUTTON GTK_STYLE_CLASS_VIEW GTK_STYLE_CLASS_WARNING +GTK_STYLE_CLASS_HORIZONTAL +GTK_STYLE_CLASS_VERTICAL GTK_STYLE_REGION_COLUMN GTK_STYLE_REGION_COLUMN_HEADER GTK_STYLE_REGION_ROW From 48a4f88ab1d49ad405710ba0908ee31e50a1bc2e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 Jan 2011 23:38:47 +0100 Subject: [PATCH 1316/1463] Mark orientable widgets with the vertical/horizontal css classes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This can be used to theme widgets differently depending on the orientation. Bug 639157, reported by Christian Dywan. --- gtk/gtkorientable.c | 18 ++++++++++++++++++ gtk/gtkstylecontext.h | 14 ++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/gtk/gtkorientable.c b/gtk/gtkorientable.c index dfc0dd6faa..d3627252fb 100644 --- a/gtk/gtkorientable.c +++ b/gtk/gtkorientable.c @@ -80,11 +80,29 @@ void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation) { + GtkStyleContext *context; + g_return_if_fail (GTK_IS_ORIENTABLE (orientable)); g_object_set (orientable, "orientation", orientation, NULL); + + if (GTK_IS_WIDGET (orientable)) + { + context = gtk_widget_get_style_context (GTK_WIDGET (orientable)); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + } } /** diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 00836d6aa3..291b8a77f3 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -399,6 +399,20 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_ERROR "error" +/** + * GTK_STYLE_CLASS_HORIZONTAL: + * + * A widget class for horizontally layered widgets. + */ +#define GTK_STYLE_CLASS_HORIZONTAL "horizontal" + +/** + * GTK_STYLE_CLASS_VERTICAL: + * + * A widget class for vertically layered widgets. + */ +#define GTK_STYLE_CLASS_VERTICAL "vertical" + /* Predefined set of widget regions */ From 9b752aee1a07e2b9a71969ddeb3f560f137b8ce8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 20:33:13 -0500 Subject: [PATCH 1317/1463] Don't use deprecated style api --- demos/gtk-demo/offscreen_window.c | 1 - demos/gtk-demo/offscreen_window2.c | 1 - 2 files changed, 2 deletions(-) diff --git a/demos/gtk-demo/offscreen_window.c b/demos/gtk-demo/offscreen_window.c index 27ff99ef8d..f547f0727d 100644 --- a/demos/gtk-demo/offscreen_window.c +++ b/demos/gtk-demo/offscreen_window.c @@ -290,7 +290,6 @@ gtk_rotated_bin_realize (GtkWidget *widget) g_signal_connect (bin->offscreen_window, "from-embedder", G_CALLBACK (offscreen_window_from_parent), bin); - gtk_widget_style_attach (widget); context = gtk_widget_get_style_context (widget); gtk_style_context_set_background (context, window); gtk_style_context_set_background (context, bin->offscreen_window); diff --git a/demos/gtk-demo/offscreen_window2.c b/demos/gtk-demo/offscreen_window2.c index 96d953dbbe..ee2e595673 100644 --- a/demos/gtk-demo/offscreen_window2.c +++ b/demos/gtk-demo/offscreen_window2.c @@ -228,7 +228,6 @@ gtk_mirror_bin_realize (GtkWidget *widget) g_signal_connect (bin->offscreen_window, "from-embedder", G_CALLBACK (offscreen_window_from_parent), bin); - gtk_widget_style_attach (widget); context = gtk_widget_get_style_context (widget); gtk_style_context_set_background (context, window); gtk_style_context_set_background (context, bin->offscreen_window); From 8f6cd8d86deda769f56690ae20cc9120b8020643 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Granjoux?= Date: Wed, 5 Jan 2011 22:46:51 +0100 Subject: [PATCH 1318/1463] Fix bgo #638017 Crash in gtk_text_view_set_tabs() --- gtk/gtktextview.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index a2fbaac1f6..5bbd28c3a2 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -2344,7 +2344,7 @@ gtk_text_view_set_wrap_mode (GtkTextView *text_view, { priv->wrap_mode = wrap_mode; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->wrap_mode = wrap_mode; gtk_text_layout_default_style_changed (priv->layout); @@ -2404,7 +2404,7 @@ gtk_text_view_set_editable (GtkTextView *text_view, if (setting && gtk_widget_has_focus (GTK_WIDGET (text_view))) gtk_im_context_focus_in (priv->im_context); - if (priv->layout) + if (priv->layout && priv->layout->default_style) { gtk_text_layout_set_overwrite_mode (priv->layout, priv->overwrite_mode && priv->editable); @@ -2455,7 +2455,7 @@ gtk_text_view_set_pixels_above_lines (GtkTextView *text_view, { priv->pixels_above_lines = pixels_above_lines; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->pixels_above_lines = pixels_above_lines; gtk_text_layout_default_style_changed (priv->layout); @@ -2504,7 +2504,7 @@ gtk_text_view_set_pixels_below_lines (GtkTextView *text_view, { priv->pixels_below_lines = pixels_below_lines; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->pixels_below_lines = pixels_below_lines; gtk_text_layout_default_style_changed (priv->layout); @@ -2553,7 +2553,7 @@ gtk_text_view_set_pixels_inside_wrap (GtkTextView *text_view, { priv->pixels_inside_wrap = pixels_inside_wrap; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->pixels_inside_wrap = pixels_inside_wrap; gtk_text_layout_default_style_changed (priv->layout); @@ -2602,7 +2602,7 @@ gtk_text_view_set_justification (GtkTextView *text_view, { priv->justify = justification; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->justification = justification; gtk_text_layout_default_style_changed (priv->layout); @@ -2651,7 +2651,7 @@ gtk_text_view_set_left_margin (GtkTextView *text_view, { priv->left_margin = left_margin; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->left_margin = left_margin; gtk_text_layout_default_style_changed (priv->layout); @@ -2698,7 +2698,7 @@ gtk_text_view_set_right_margin (GtkTextView *text_view, { priv->right_margin = right_margin; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->right_margin = right_margin; gtk_text_layout_default_style_changed (priv->layout); @@ -2747,7 +2747,7 @@ gtk_text_view_set_indent (GtkTextView *text_view, { priv->indent = indent; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->indent = indent; gtk_text_layout_default_style_changed (priv->layout); @@ -2798,7 +2798,7 @@ gtk_text_view_set_tabs (GtkTextView *text_view, priv->tabs = tabs ? pango_tab_array_copy (tabs) : NULL; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { /* some unkosher futzing in internal struct details... */ if (priv->layout->default_style->tabs) @@ -4116,7 +4116,7 @@ gtk_text_view_direction_changed (GtkWidget *widget, { GtkTextViewPrivate *priv = GTK_TEXT_VIEW (widget)->priv; - if (priv->layout) + if (priv->layout && priv->layout->default_style) { priv->layout->default_style->direction = gtk_widget_get_direction (widget); From a9a7eca7f3c4b7803b6112b116ca57b37298b4af Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 22:19:12 -0500 Subject: [PATCH 1319/1463] Update NEWS --- NEWS | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/NEWS b/NEWS index 4624bd8230..ac1e9424b4 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,40 @@ +Overview of Changes from GTK+ 2.99.1 to 2.99.2 +============================================== + +* More widgets are using GtkStyleContext directly: + GtkColorButton, GtkColorSelection, GtkHSV, + GtkFontSelection, GtkPrintUnixDialog, GtkImage, + GtkLayout, GtkViewport, GtkTextDisplay, GtkTextUtil, + GtkCalendar + +* GtkBuilder support has been added for setting menus + on GtkMenuToolButtons and for adding tags to + GtkTextTagTable as well as adding items to + GtkComboBoxText + +* Bug fixes: + 350618 start rubber banding on "white space" + 612918 Support disabling X11 extensions + 635687 problem with pygtk or gtk with gtk.Plug and gtk.Socket... + 638017 GtkTextView: Crash in gtk_text_view_set_tabs() + 638119 GtkSpinner animation not correctly stopped... + 638880 Need a setter for has_user_ref_count + 639030 Small cleanup in gailtextview code. + 639047 Fix remaining usage of g[dk]ktargetlib. + 639079 Obtain the fg color from the renderer + 639105 Port GtkTextDisplay to StyleContext. + 639106 New CSS style misses distinction between "selected focused"... + 639127 Misc Win32 GDK building problems + 639157 GtkOrientable should add/ remove "horizontal" and "vertical"... + +* Translation updates: + British English + Galician + Hebrew + Indonesian + Spanish + + Overview of Changes from GTK+ 2.91.7 to 2.99.0 ============================================== From 6d9191f601d82689f47f9e7b9b906e2efa38db68 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 22:59:13 -0500 Subject: [PATCH 1320/1463] Revert accidental gtk.symbols changes --- gtk/gtk.symbols | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index c13442210d..46f9b7d287 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -504,8 +504,6 @@ gtk_cell_renderer_toggle_new gtk_cell_renderer_toggle_set_activatable gtk_cell_renderer_toggle_set_active gtk_cell_renderer_toggle_set_radio -gtk_cell_view_get_desired_height_for_width_of_row -gtk_cell_view_get_desired_width_of_row gtk_cell_view_get_displayed_row gtk_cell_view_get_draw_sensitive gtk_cell_view_get_fit_model @@ -607,6 +605,7 @@ gtk_color_selection_set_has_palette gtk_color_selection_set_previous_alpha gtk_color_selection_set_previous_color gtk_color_selection_set_previous_rgba +gtk_combo_box_cell_layout_get_area gtk_combo_box_get_active gtk_combo_box_get_active_id gtk_combo_box_get_active_iter @@ -1479,6 +1478,7 @@ gtk_menu_item_activate gtk_menu_item_deselect gtk_menu_item_get_accel_path gtk_menu_item_get_label +gtk_menu_item_get_reserve_indicator gtk_menu_item_get_right_justified gtk_menu_item_get_submenu gtk_menu_item_get_type G_GNUC_CONST @@ -1489,6 +1489,7 @@ gtk_menu_item_new_with_mnemonic gtk_menu_item_select gtk_menu_item_set_accel_path gtk_menu_item_set_label +gtk_menu_item_set_reserve_indicator gtk_menu_item_set_right_justified gtk_menu_item_set_submenu gtk_menu_item_set_use_underline @@ -1606,6 +1607,19 @@ gtk_notebook_set_tab_pos gtk_notebook_set_tab_reorderable gtk_notebook_tab_get_type G_GNUC_CONST gtk_number_up_layout_get_type G_GNUC_CONST +gtk_numerable_icon_get_background_gicon +gtk_numerable_icon_get_background_icon_name +gtk_numerable_icon_get_count +gtk_numerable_icon_get_label +gtk_numerable_icon_get_style_context +gtk_numerable_icon_get_type G_GNUC_CONST +gtk_numerable_icon_new +gtk_numerable_icon_new_with_style_context +gtk_numerable_icon_set_background_gicon +gtk_numerable_icon_set_background_icon_name +gtk_numerable_icon_set_count +gtk_numerable_icon_set_label +gtk_numerable_icon_set_style_context gtk_offscreen_window_get_pixbuf gtk_offscreen_window_get_surface gtk_offscreen_window_get_type G_GNUC_CONST @@ -1802,6 +1816,8 @@ gtk_printer_request_details gtk_print_error_get_type G_GNUC_CONST gtk_print_error_quark #ifdef G_OS_UNIX +gtk_printer_set_accepts_pdf +gtk_printer_set_accepts_ps gtk_printer_set_description gtk_printer_set_has_details gtk_printer_set_icon_name @@ -2006,11 +2022,6 @@ gtk_progress_bar_set_pulse_step gtk_progress_bar_set_show_text gtk_progress_bar_set_text gtk_propagate_event -gtk_quit_add -gtk_quit_add_destroy -gtk_quit_add_full -gtk_quit_remove -gtk_quit_remove_by_data gtk_radio_action_get_current_value gtk_radio_action_get_group gtk_radio_action_get_type G_GNUC_CONST @@ -2056,7 +2067,6 @@ gtk_range_get_show_fill_level gtk_range_get_slider_range gtk_range_get_slider_size_fixed gtk_range_get_type G_GNUC_CONST -gtk_range_get_update_policy gtk_range_get_upper_stepper_sensitivity gtk_range_get_value gtk_range_set_adjustment @@ -2070,7 +2080,6 @@ gtk_range_set_range gtk_range_set_restrict_to_fill_level gtk_range_set_show_fill_level gtk_range_set_slider_size_fixed -gtk_range_set_update_policy gtk_range_set_upper_stepper_sensitivity gtk_range_set_value gtk_rc_add_default_file @@ -3405,7 +3414,6 @@ gtk_ui_manager_remove_action_group gtk_ui_manager_remove_ui gtk_ui_manager_set_add_tearoffs gtk_unit_get_type G_GNUC_CONST -gtk_update_type_get_type G_GNUC_CONST gtk_vbox_get_type G_GNUC_CONST gtk_vbox_new gtk_vbutton_box_get_type G_GNUC_CONST From 62ba85858201152f820cfadda65b5e3e0db62a1d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 10 Jan 2011 23:36:47 -0500 Subject: [PATCH 1321/1463] Bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8eb01b07ae..4ed8a2bb0b 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [99]) -m4_define([gtk_micro_version], [1]) +m4_define([gtk_micro_version], [2]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From 1a79d9939ca2f9561f61c71b01737d2e4efe0a56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 11 Jan 2011 09:31:08 +0000 Subject: [PATCH 1322/1463] docs: question_index: Some documentation fixes --- docs/reference/gtk/question_index.sgml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 8b9c3c0f8c..47ef6039b0 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -675,19 +675,19 @@ How do I change the font of a widget? This has several possible answers, depending on what exactly you want to achieve. One option is gtk_widget_modify_font(). Note that this function can be used to change only the font size, as in the following example: - + PangoFontDesc *font_desc = pango_font_description_new (); pango_font_description_set_size (font_desc, 40); gtk_widget_modify_font (widget, font); pango_font_description_free (font_desc); - + If you want to make the text of a label larger, you can use gtk_label_set_markup(): - + gtk_label_set_markup (label, "<big>big text</big>"); - + This is preferred for many apps because it's a relative size to the user's chosen font size. See g_markup_escape_text() if you are constructing such strings on the fly. @@ -988,7 +988,7 @@ This is not ideal, since it can cause some flickering. Create the cairo context inside the expose handler. If you do this, -gdk_create_cairo() arranges for it to be backed by the double-buffering +gdk_cairo_create() arranges for it to be backed by the double-buffering pixmap. This is the preferred solution, and is used throughout GTK+ itself. From 44f16bfe6db82e27831cc59dc00e368f251298a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 11 Jan 2011 09:35:15 +0000 Subject: [PATCH 1323/1463] docs: question_index: GtkComboBoxEntry no longer exists --- docs/reference/gtk/question_index.sgml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 47ef6039b0..1ebdc7c78d 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -637,7 +637,8 @@ would use a combo box? With GTK+, a #GtkComboBox is the recommended widget to use for this use case. This widget looks like either a combo box or the current option menu, depending -on the current theme. If you need an editable text entry, use #GtkComboBoxEntry. +on the current theme. If you need an editable text entry, use the +#GtkComboBox:has-entry property. From df2a4a6131f760740225aee4ff1cafb3ace8c100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Tue, 11 Jan 2011 09:37:05 +0000 Subject: [PATCH 1324/1463] docs: question_index: Do not reference deprecated API --- docs/reference/gtk/question_index.sgml | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 1ebdc7c78d..2f3b6d3fb5 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -465,7 +465,6 @@ using code like the following: g_object_unref (layout); -Do not use the deprecated #GdkFont and gdk_draw_text(). @@ -498,7 +497,6 @@ pango_layout_get_pixel_size(), using code like the following: g_object_unref (layout); -Do not use the deprecated function gdk_text_width(). @@ -586,9 +584,7 @@ channel will be respected. See tree widget overview — you should use the #GtkTreeView widget. (A list is just a tree with no branches, -so the tree widget is used for lists as well.) Do not use the deprecated -widgets #GtkTree or #GtkCList/#GtkCTree in newly-written code, they are -less flexible and result in an inferior user interface. +so the tree widget is used for lists as well). @@ -601,8 +597,7 @@ less flexible and result in an inferior user interface. See text widget overview — you -should use the #GtkTextView widget. Do not use the deprecated widget #GtkText -in newly-written code, it has a number of problems that are best avoided. +should use the #GtkTextView widget. If you only have a small amount of text, #GtkLabel may also be appropriate From 27ee3fec96c1fa4b2f3d5d4094a999fae478e298 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 11 Jan 2011 10:54:54 +0100 Subject: [PATCH 1325/1463] numerableicon: fix a typo in the gtk-doc annotation --- gtk/gtknumerableicon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtknumerableicon.c b/gtk/gtknumerableicon.c index 678abdbf30..2522102b10 100644 --- a/gtk/gtknumerableicon.c +++ b/gtk/gtknumerableicon.c @@ -889,7 +889,7 @@ gtk_numerable_icon_set_style_context (GtkNumerableIcon *self, * If this method is called and an icon name was already set as * background for the icon, @icon will be used, i.e. the last method * called between gtk_numerable_icon_set_background_gicon() and - * #gtk_numerable_icon_set_background_icon_name() has always priority. + * gtk_numerable_icon_set_background_icon_name() has always priority. * * Since: 3.0 */ From 44da5a0094603b5a07527456e90c211d5936ecd7 Mon Sep 17 00:00:00 2001 From: Milan Bouchet-Valat Date: Sat, 8 Jan 2011 18:11:59 +0100 Subject: [PATCH 1326/1463] Improve docs about GtkStyleContext padding/border/margin GTK_STYLE_PROPERTY_BORDER_WIDTH is of style GtkBorder, not gint. Also make it clearer what the definition and ordering of these 3 properties is. Reorder them in the header to be more logical. --- gtk/gtkstylecontext.c | 3 +++ gtk/gtkstylecontext.h | 31 ++++++++++++++++++++----------- 2 files changed, 23 insertions(+), 11 deletions(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 326364cf45..9d9cdb239c 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3421,6 +3421,7 @@ gtk_style_context_get_border_color (GtkStyleContext *context, * @border: (out): return value for the border settings * * Gets the border for a given state as a #GtkBorder. + * See %GTK_STYLE_PROPERTY_BORDER_WIDTH. * * Since: 3.0 **/ @@ -3460,6 +3461,7 @@ gtk_style_context_get_border (GtkStyleContext *context, * @padding: (out): return value for the padding settings * * Gets the padding for a given state as a #GtkBorder. + * See %GTK_STYLE_PROPERTY_PADDING. * * Since: 3.0 **/ @@ -3499,6 +3501,7 @@ gtk_style_context_get_padding (GtkStyleContext *context, * @margin: (out): return value for the margin settings * * Gets the margin for a given state as a #GtkBorder. + * See %GTK_STYLE_PROPERTY_MARGIN. * * Since: 3.0 **/ diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 291b8a77f3..a2ab473546 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -78,31 +78,40 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_PROPERTY_FONT "font" -/** - * GTK_STYLE_PROPERTY_MARGIN: - * - * A property holding the rendered element's margin as a #GtkBorder. The - * margin is defined as the spacing between the border of the element - * and its surrounding elements. - */ -#define GTK_STYLE_PROPERTY_MARGIN "margin" - /** * GTK_STYLE_PROPERTY_PADDING: * * A property holding the rendered element's padding as a #GtkBorder. The * padding is defined as the spacing between the inner part of the element border - * and its child. + * and its child. It's the innermost spacing property of the padding/border/margin + * series. */ #define GTK_STYLE_PROPERTY_PADDING "padding" /** * GTK_STYLE_PROPERTY_BORDER_WIDTH: * - * A property holding the rendered element's border width in pixels as a #gint. + * A property holding the rendered element's border width in pixels as + * a #GtkBorder. The border is the intermediary spacing property of the + * padding/border/margin series. + * + * gtk_render_frame() uses this property to find out the frame line width, + * so #GtkWidgets rendering frames may need to add up this padding when + * requesting size */ #define GTK_STYLE_PROPERTY_BORDER_WIDTH "border-width" +/** + * GTK_STYLE_PROPERTY_MARGIN: + * + * A property holding the rendered element's margin as a #GtkBorder. The + * margin is defined as the spacing between the border of the element + * and its surrounding elements. It is external to #GtkWidgets's + * size allocations, and the most external spacing property of the + * padding/border/margin series. + */ +#define GTK_STYLE_PROPERTY_MARGIN "margin" + /** * GTK_STYLE_PROPERTY_BORDER_RADIUS: * From 35d361fce9bae17c1d16dadda225df12ea07a34a Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Tue, 11 Jan 2011 16:36:19 +0100 Subject: [PATCH 1327/1463] 2 to 3 migration should say gtk_widget_set_visual --- docs/reference/gtk/migrating-2to3.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index 70d9419f24..d9bb6a3c31 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -704,7 +704,7 @@ g_object_unref (pixbuf); in 'native' surfaces. Therefore, #GdkColormap and related functions have been removed in GTK+ 3, and visuals are used instead. The colormap-handling functions of #GtkWidget (gtk_widget_set_colormap(), - etc) have been removed and gtk_window_set_visual() has been added. + etc) have been removed and gtk_widget_set_visual() has been added. Setting up a translucent window You might have a screen-changed handler like the following @@ -740,7 +740,7 @@ on_alpha_screen_changed (GtkWindow *window, if (visual == NULL) visual = gdk_screen_get_system_visual (screen); - gtk_window_set_visual (window, visual); + gtk_widget_set_visual (window, visual); } From b40dc528f65c2275eb066e2b43ba283a31122d72 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:40:16 +0100 Subject: [PATCH 1328/1463] tests: Remove useless calls to gtk_widget_style_attach() --- tests/cellareascaffold.c | 2 -- tests/gtkoffscreenbox.c | 1 - 2 files changed, 3 deletions(-) diff --git a/tests/cellareascaffold.c b/tests/cellareascaffold.c index c623b20acd..ddd5f2a7c9 100644 --- a/tests/cellareascaffold.c +++ b/tests/cellareascaffold.c @@ -337,8 +337,6 @@ cell_area_scaffold_realize (GtkWidget *widget) priv->event_window = gdk_window_new (window, &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); - - gtk_widget_style_attach (widget); } static void diff --git a/tests/gtkoffscreenbox.c b/tests/gtkoffscreenbox.c index 0afaa0b84d..7aeb82cdfd 100644 --- a/tests/gtkoffscreenbox.c +++ b/tests/gtkoffscreenbox.c @@ -345,7 +345,6 @@ gtk_offscreen_box_realize (GtkWidget *widget) g_signal_connect (offscreen_box->offscreen_window2, "from-embedder", G_CALLBACK (offscreen_window_from_parent2), offscreen_box); - gtk_widget_style_attach (widget); context = gtk_widget_get_style_context (widget); gtk_style_context_set_background (context, window); gtk_style_context_set_background (context, offscreen_box->offscreen_window1); From 7fae37ecd544da77884410971b69c5d481bbea4c Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 6 Jan 2011 21:45:58 +0100 Subject: [PATCH 1329/1463] textview: Move GtkTextAttributes to its own header --- gtk/gtk.h | 1 + gtk/gtktextattributes.h | 166 ++++++++++++++++++++++++++++++++++++++++ gtk/gtktextiter.h | 3 +- gtk/gtktexttag.h | 102 ------------------------ 4 files changed, 169 insertions(+), 103 deletions(-) create mode 100644 gtk/gtktextattributes.h diff --git a/gtk/gtk.h b/gtk/gtk.h index cc08332e90..6f984eab9d 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -189,6 +189,7 @@ #include #include #include +#include #include #include #include diff --git a/gtk/gtktextattributes.h b/gtk/gtktextattributes.h new file mode 100644 index 0000000000..5d43676f18 --- /dev/null +++ b/gtk/gtktextattributes.h @@ -0,0 +1,166 @@ +/* gtktexttag.c - text tag object + * + * Copyright (c) 1992-1994 The Regents of the University of California. + * Copyright (c) 1994-1997 Sun Microsystems, Inc. + * Copyright (c) 2000 Red Hat, Inc. + * Tk -> Gtk port by Havoc Pennington + * + * This software is copyrighted by the Regents of the University of + * California, Sun Microsystems, Inc., and other parties. The + * following terms apply to all files associated with the software + * unless explicitly disclaimed in individual files. + * + * The authors hereby grant permission to use, copy, modify, + * distribute, and license this software and its documentation for any + * purpose, provided that existing copyright notices are retained in + * all copies and that this notice is included verbatim in any + * distributions. No written agreement, license, or royalty fee is + * required for any of the authorized uses. Modifications to this + * software may be copyrighted by their authors and need not follow + * the licensing terms described here, provided that the new terms are + * clearly indicated on the first page of each file where they apply. + * + * IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY + * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL + * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, + * OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND + * NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, + * AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE + * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * GOVERNMENT USE: If you are acquiring this software on behalf of the + * U.S. government, the Government shall have only "Restricted Rights" + * in the software and related documentation as defined in the Federal + * Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you + * are acquiring the software on behalf of the Department of Defense, + * the software shall be classified as "Commercial Computer Software" + * and the Government shall have only "Restricted Rights" as defined + * in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the + * foregoing, the authors grant the U.S. Government and others acting + * in its behalf permission to use and distribute the software in + * accordance with the terms specified in this license. + * + */ + +#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __GTK_TEXT_ATTRIBUTES_H__ +#define __GTK_TEXT_ATTRIBUTES_H__ + + +#include +#include + + +G_BEGIN_DECLS + +typedef struct _GtkTextAttributes GtkTextAttributes; + +#define GTK_TYPE_TEXT_ATTRIBUTES (gtk_text_attributes_get_type ()) + +typedef struct _GtkTextAppearance GtkTextAppearance; + +struct _GtkTextAppearance +{ + /*< public >*/ + GdkColor bg_color; + GdkColor fg_color; + + /* super/subscript rise, can be negative */ + gint rise; + + /*< public >*/ + guint underline : 4; /* PangoUnderline */ + guint strikethrough : 1; + + /* Whether to use background-related values; this is irrelevant for + * the values struct when in a tag, but is used for the composite + * values struct; it's true if any of the tags being composited + * had background stuff set. + */ + guint draw_bg : 1; + + /* These are only used when we are actually laying out and rendering + * a paragraph; not when a GtkTextAppearance is part of a + * GtkTextAttributes. + */ + guint inside_selection : 1; + guint is_text : 1; + + /*< private >*/ + guint padding[4]; +}; + +struct _GtkTextAttributes +{ + /*< private >*/ + guint refcount; + + /*< public >*/ + GtkTextAppearance appearance; + + GtkJustification justification; + GtkTextDirection direction; + + /* Individual chunks of this can be set/unset as a group */ + PangoFontDescription *font; + + gdouble font_scale; + + gint left_margin; + gint right_margin; + gint indent; + + gint pixels_above_lines; + gint pixels_below_lines; + gint pixels_inside_wrap; + + PangoTabArray *tabs; + + GtkWrapMode wrap_mode; /* How to handle wrap-around for this tag. + * Must be GTK_WRAPMODE_CHAR, + * GTK_WRAPMODE_NONE, GTK_WRAPMODE_WORD + */ + + PangoLanguage *language; + + /*< private >*/ + GdkColor *pg_bg_color; + + /*< public >*/ + /* hide the text */ + guint invisible : 1; + + /* Background is fit to full line height rather than + * baseline +/- ascent/descent (font height) + */ + guint bg_full_height : 1; + + /* can edit this text */ + guint editable : 1; + + /*< private >*/ + guint padding[4]; +}; + +GtkTextAttributes* gtk_text_attributes_new (void); +GtkTextAttributes* gtk_text_attributes_copy (GtkTextAttributes *src); +void gtk_text_attributes_copy_values (GtkTextAttributes *src, + GtkTextAttributes *dest); +void gtk_text_attributes_unref (GtkTextAttributes *values); +GtkTextAttributes *gtk_text_attributes_ref (GtkTextAttributes *values); + +GType gtk_text_attributes_get_type (void) G_GNUC_CONST; + + +G_END_DECLS + +#endif + diff --git a/gtk/gtktextiter.h b/gtk/gtktextiter.h index a4187eb8e9..9d636bfd19 100644 --- a/gtk/gtktextiter.h +++ b/gtk/gtktextiter.h @@ -31,8 +31,9 @@ #ifndef __GTK_TEXT_ITER_H__ #define __GTK_TEXT_ITER_H__ -#include +#include #include +#include G_BEGIN_DECLS diff --git a/gtk/gtktexttag.h b/gtk/gtktexttag.h index db7245b3d3..1286b37dd9 100644 --- a/gtk/gtktexttag.h +++ b/gtk/gtktexttag.h @@ -64,8 +64,6 @@ G_BEGIN_DECLS typedef struct _GtkTextIter GtkTextIter; typedef struct _GtkTextTagTable GtkTextTagTable; -typedef struct _GtkTextAttributes GtkTextAttributes; - #define GTK_TYPE_TEXT_TAG (gtk_text_tag_get_type ()) #define GTK_TEXT_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TEXT_TAG, GtkTextTag)) #define GTK_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_TAG, GtkTextTagClass)) @@ -73,8 +71,6 @@ typedef struct _GtkTextAttributes GtkTextAttributes; #define GTK_IS_TEXT_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_TAG)) #define GTK_TEXT_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_TAG, GtkTextTagClass)) -#define GTK_TYPE_TEXT_ATTRIBUTES (gtk_text_attributes_get_type ()) - typedef struct _GtkTextTag GtkTextTag; typedef struct _GtkTextTagPrivate GtkTextTagPrivate; typedef struct _GtkTextTagClass GtkTextTagClass; @@ -112,104 +108,6 @@ gboolean gtk_text_tag_event (GtkTextTag *tag, GdkEvent *event, const GtkTextIter *iter); -/* - * Style object created by folding a set of tags together - */ - -typedef struct _GtkTextAppearance GtkTextAppearance; - -struct _GtkTextAppearance -{ - /*< public >*/ - GdkColor bg_color; - GdkColor fg_color; - - /* super/subscript rise, can be negative */ - gint rise; - - /*< public >*/ - guint underline : 4; /* PangoUnderline */ - guint strikethrough : 1; - - /* Whether to use background-related values; this is irrelevant for - * the values struct when in a tag, but is used for the composite - * values struct; it's true if any of the tags being composited - * had background stuff set. - */ - guint draw_bg : 1; - - /* These are only used when we are actually laying out and rendering - * a paragraph; not when a GtkTextAppearance is part of a - * GtkTextAttributes. - */ - guint inside_selection : 1; - guint is_text : 1; - - /*< private >*/ - guint padding[4]; -}; - -struct _GtkTextAttributes -{ - /*< private >*/ - guint refcount; - - /*< public >*/ - GtkTextAppearance appearance; - - GtkJustification justification; - GtkTextDirection direction; - - /* Individual chunks of this can be set/unset as a group */ - PangoFontDescription *font; - - gdouble font_scale; - - gint left_margin; - gint right_margin; - gint indent; - - gint pixels_above_lines; - gint pixels_below_lines; - gint pixels_inside_wrap; - - PangoTabArray *tabs; - - GtkWrapMode wrap_mode; /* How to handle wrap-around for this tag. - * Must be GTK_WRAPMODE_CHAR, - * GTK_WRAPMODE_NONE, GTK_WRAPMODE_WORD - */ - - PangoLanguage *language; - - /*< private >*/ - GdkColor *pg_bg_color; - - /*< public >*/ - /* hide the text */ - guint invisible : 1; - - /* Background is fit to full line height rather than - * baseline +/- ascent/descent (font height) - */ - guint bg_full_height : 1; - - /* can edit this text */ - guint editable : 1; - - /*< private >*/ - guint padding[4]; -}; - -GtkTextAttributes* gtk_text_attributes_new (void); -GtkTextAttributes* gtk_text_attributes_copy (GtkTextAttributes *src); -void gtk_text_attributes_copy_values (GtkTextAttributes *src, - GtkTextAttributes *dest); -void gtk_text_attributes_unref (GtkTextAttributes *values); -GtkTextAttributes *gtk_text_attributes_ref (GtkTextAttributes *values); - -GType gtk_text_attributes_get_type (void) G_GNUC_CONST; - G_END_DECLS From b43bafff52c4e7b319329455d2dd3af196398a30 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 10 Jan 2011 14:57:39 +0100 Subject: [PATCH 1330/1463] textview: Move text attributes code into its own .c file --- gtk/Makefile.am | 1 + gtk/gtktextattributes.c | 348 ++++++++++++++++++++++++++++++++++++++++ gtk/gtktexttag.c | 295 ---------------------------------- 3 files changed, 349 insertions(+), 295 deletions(-) create mode 100644 gtk/gtktextattributes.c diff --git a/gtk/Makefile.am b/gtk/Makefile.am index a231944765..653e4e0b2f 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -626,6 +626,7 @@ gtk_base_c_sources = \ gtktable.c \ gtktearoffmenuitem.c \ gtktestutils.c \ + gtktextattributes.c \ gtktextbtree.c \ gtktextbuffer.c \ gtktextbufferrichtext.c \ diff --git a/gtk/gtktextattributes.c b/gtk/gtktextattributes.c new file mode 100644 index 0000000000..d2a9c6c3d5 --- /dev/null +++ b/gtk/gtktextattributes.c @@ -0,0 +1,348 @@ +/* gtktextattributes.c - text attributes + * + * Copyright (c) 1992-1994 The Regents of the University of California. + * Copyright (c) 1994-1997 Sun Microsystems, Inc. + * Copyright (c) 2000 Red Hat, Inc. + * Tk -> Gtk port by Havoc Pennington + * + * This software is copyrighted by the Regents of the University of + * California, Sun Microsystems, Inc., and other parties. The + * following terms apply to all files associated with the software + * unless explicitly disclaimed in individual files. + * + * The authors hereby grant permission to use, copy, modify, + * distribute, and license this software and its documentation for any + * purpose, provided that existing copyright notices are retained in + * all copies and that this notice is included verbatim in any + * distributions. No written agreement, license, or royalty fee is + * required for any of the authorized uses. Modifications to this + * software may be copyrighted by their authors and need not follow + * the licensing terms described here, provided that the new terms are + * clearly indicated on the first page of each file where they apply. + * + * IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY + * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL + * DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, + * OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND + * NON-INFRINGEMENT. THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, + * AND THE AUTHORS AND DISTRIBUTORS HAVE NO OBLIGATION TO PROVIDE + * MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + * + * GOVERNMENT USE: If you are acquiring this software on behalf of the + * U.S. government, the Government shall have only "Restricted Rights" + * in the software and related documentation as defined in the Federal + * Acquisition Regulations (FARs) in Clause 52.227.19 (c) (2). If you + * are acquiring the software on behalf of the Department of Defense, + * the software shall be classified as "Commercial Computer Software" + * and the Government shall have only "Restricted Rights" as defined + * in Clause 252.227-7013 (c) (1) of DFARs. Notwithstanding the + * foregoing, the authors grant the U.S. Government and others acting + * in its behalf permission to use and distribute the software in + * accordance with the terms specified in this license. + * + */ + +#include "config.h" + +#include "gtktextattributes.h" + +#include "gtkmainprivate.h" +#include "gtktexttag.h" +#include "gtktexttypes.h" + +/** + * gtk_text_attributes_new: + * + * Creates a #GtkTextAttributes, which describes + * a set of properties on some text. + * + * Return value: a new #GtkTextAttributes + **/ +GtkTextAttributes* +gtk_text_attributes_new (void) +{ + GtkTextAttributes *values; + + values = g_new0 (GtkTextAttributes, 1); + + /* 0 is a valid value for most of the struct */ + + values->refcount = 1; + + values->language = gtk_get_default_language (); + + values->font_scale = 1.0; + + values->editable = TRUE; + + return values; +} + +/** + * gtk_text_attributes_copy: + * @src: a #GtkTextAttributes to be copied + * + * Copies @src and returns a new #GtkTextAttributes. + * + * Return value: a copy of @src + **/ +GtkTextAttributes* +gtk_text_attributes_copy (GtkTextAttributes *src) +{ + GtkTextAttributes *dest; + + dest = gtk_text_attributes_new (); + gtk_text_attributes_copy_values (src, dest); + + return dest; +} + +G_DEFINE_BOXED_TYPE (GtkTextAttributes, gtk_text_attributes, + gtk_text_attributes_ref, + gtk_text_attributes_unref) + +/** + * gtk_text_attributes_copy_values: + * @src: a #GtkTextAttributes + * @dest: another #GtkTextAttributes + * + * Copies the values from @src to @dest so that @dest has the same values + * as @src. Frees existing values in @dest. + **/ +void +gtk_text_attributes_copy_values (GtkTextAttributes *src, + GtkTextAttributes *dest) +{ + guint orig_refcount; + + if (src == dest) + return; + + /* Remove refs */ + + if (dest->font) + pango_font_description_free (dest->font); + + /* Copy */ + orig_refcount = dest->refcount; + + *dest = *src; + + if (src->tabs) + dest->tabs = pango_tab_array_copy (src->tabs); + + dest->language = src->language; + + if (dest->font) + dest->font = pango_font_description_copy (src->font); + + if (src->pg_bg_color) + dest->pg_bg_color = gdk_color_copy (src->pg_bg_color); + + dest->refcount = orig_refcount; +} + +/** + * gtk_text_attributes_ref: + * @values: a #GtkTextAttributes + * + * Increments the reference count on @values. + * + * Returns: the #GtkTextAttributes that were passed in + **/ +GtkTextAttributes * +gtk_text_attributes_ref (GtkTextAttributes *values) +{ + g_return_val_if_fail (values != NULL, NULL); + + values->refcount += 1; + + return values; +} + +/** + * gtk_text_attributes_unref: + * @values: a #GtkTextAttributes + * + * Decrements the reference count on @values, freeing the structure + * if the reference count reaches 0. + **/ +void +gtk_text_attributes_unref (GtkTextAttributes *values) +{ + g_return_if_fail (values != NULL); + g_return_if_fail (values->refcount > 0); + + values->refcount -= 1; + + if (values->refcount == 0) + { + if (values->tabs) + pango_tab_array_free (values->tabs); + + if (values->font) + pango_font_description_free (values->font); + + if (values->pg_bg_color) + gdk_color_free (values->pg_bg_color); + + g_free (values); + } +} + +void +_gtk_text_attributes_fill_from_tags (GtkTextAttributes *dest, + GtkTextTag** tags, + guint n_tags) +{ + guint n = 0; + + guint left_margin_accumulative = 0; + guint right_margin_accumulative = 0; + + while (n < n_tags) + { + GtkTextTag *tag = tags[n]; + GtkTextAttributes *vals = tag->priv->values; + + g_assert (tag->priv->table != NULL); + if (n > 0) + g_assert (tags[n]->priv->priority > tags[n-1]->priv->priority); + + if (tag->priv->bg_color_set) + { + dest->appearance.bg_color = vals->appearance.bg_color; + + dest->appearance.draw_bg = TRUE; + } + if (tag->priv->fg_color_set) + dest->appearance.fg_color = vals->appearance.fg_color; + + if (tag->priv->pg_bg_color_set) + { + dest->pg_bg_color = gdk_color_copy (vals->pg_bg_color); + } + + if (vals->font) + { + if (dest->font) + pango_font_description_merge (dest->font, vals->font, TRUE); + else + dest->font = pango_font_description_copy (vals->font); + } + + /* multiply all the scales together to get a composite */ + if (tag->priv->scale_set) + dest->font_scale *= vals->font_scale; + + if (tag->priv->justification_set) + dest->justification = vals->justification; + + if (vals->direction != GTK_TEXT_DIR_NONE) + dest->direction = vals->direction; + + if (tag->priv->left_margin_set) + { + if (tag->priv->accumulative_margin) + left_margin_accumulative += vals->left_margin; + else + dest->left_margin = vals->left_margin; + } + + if (tag->priv->indent_set) + dest->indent = vals->indent; + + if (tag->priv->rise_set) + dest->appearance.rise = vals->appearance.rise; + + if (tag->priv->right_margin_set) + { + if (tag->priv->accumulative_margin) + right_margin_accumulative += vals->right_margin; + else + dest->right_margin = vals->right_margin; + } + + if (tag->priv->pixels_above_lines_set) + dest->pixels_above_lines = vals->pixels_above_lines; + + if (tag->priv->pixels_below_lines_set) + dest->pixels_below_lines = vals->pixels_below_lines; + + if (tag->priv->pixels_inside_wrap_set) + dest->pixels_inside_wrap = vals->pixels_inside_wrap; + + if (tag->priv->tabs_set) + { + if (dest->tabs) + pango_tab_array_free (dest->tabs); + dest->tabs = pango_tab_array_copy (vals->tabs); + } + + if (tag->priv->wrap_mode_set) + dest->wrap_mode = vals->wrap_mode; + + if (tag->priv->underline_set) + dest->appearance.underline = vals->appearance.underline; + + if (tag->priv->strikethrough_set) + dest->appearance.strikethrough = vals->appearance.strikethrough; + + if (tag->priv->invisible_set) + dest->invisible = vals->invisible; + + if (tag->priv->editable_set) + dest->editable = vals->editable; + + if (tag->priv->bg_full_height_set) + dest->bg_full_height = vals->bg_full_height; + + if (tag->priv->language_set) + dest->language = vals->language; + + ++n; + } + + dest->left_margin += left_margin_accumulative; + dest->right_margin += right_margin_accumulative; +} + +gboolean +_gtk_text_tag_affects_size (GtkTextTag *tag) +{ + GtkTextTagPrivate *priv = tag->priv; + + return + (priv->values->font && pango_font_description_get_set_fields (priv->values->font) != 0) || + priv->scale_set || + priv->justification_set || + priv->left_margin_set || + priv->indent_set || + priv->rise_set || + priv->right_margin_set || + priv->pixels_above_lines_set || + priv->pixels_below_lines_set || + priv->pixels_inside_wrap_set || + priv->tabs_set || + priv->underline_set || + priv->wrap_mode_set || + priv->invisible_set; +} + +gboolean +_gtk_text_tag_affects_nonsize_appearance (GtkTextTag *tag) +{ + GtkTextTagPrivate *priv = tag->priv; + + return + priv->bg_color_set || + priv->fg_color_set || + priv->strikethrough_set || + priv->bg_full_height_set || + priv->pg_bg_color_set; +} diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index 0bd79416f2..9d9e788843 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -1854,298 +1854,3 @@ _gtk_text_tag_array_sort (GtkTextTag** tag_array_p, #endif } -/* - * Attributes - */ - -/** - * gtk_text_attributes_new: - * - * Creates a #GtkTextAttributes, which describes - * a set of properties on some text. - * - * Return value: a new #GtkTextAttributes - **/ -GtkTextAttributes* -gtk_text_attributes_new (void) -{ - GtkTextAttributes *values; - - values = g_new0 (GtkTextAttributes, 1); - - /* 0 is a valid value for most of the struct */ - - values->refcount = 1; - - values->language = gtk_get_default_language (); - - values->font_scale = 1.0; - - values->editable = TRUE; - - return values; -} - -/** - * gtk_text_attributes_copy: - * @src: a #GtkTextAttributes to be copied - * - * Copies @src and returns a new #GtkTextAttributes. - * - * Return value: a copy of @src - **/ -GtkTextAttributes* -gtk_text_attributes_copy (GtkTextAttributes *src) -{ - GtkTextAttributes *dest; - - dest = gtk_text_attributes_new (); - gtk_text_attributes_copy_values (src, dest); - - return dest; -} - -G_DEFINE_BOXED_TYPE (GtkTextAttributes, gtk_text_attributes, - gtk_text_attributes_ref, - gtk_text_attributes_unref) - -/** - * gtk_text_attributes_copy_values: - * @src: a #GtkTextAttributes - * @dest: another #GtkTextAttributes - * - * Copies the values from @src to @dest so that @dest has the same values - * as @src. Frees existing values in @dest. - **/ -void -gtk_text_attributes_copy_values (GtkTextAttributes *src, - GtkTextAttributes *dest) -{ - guint orig_refcount; - - if (src == dest) - return; - - /* Remove refs */ - - if (dest->font) - pango_font_description_free (dest->font); - - /* Copy */ - orig_refcount = dest->refcount; - - *dest = *src; - - if (src->tabs) - dest->tabs = pango_tab_array_copy (src->tabs); - - dest->language = src->language; - - if (dest->font) - dest->font = pango_font_description_copy (src->font); - - if (src->pg_bg_color) - dest->pg_bg_color = gdk_color_copy (src->pg_bg_color); - - dest->refcount = orig_refcount; -} - -/** - * gtk_text_attributes_ref: - * @values: a #GtkTextAttributes - * - * Increments the reference count on @values. - * - * Returns: the #GtkTextAttributes that were passed in - **/ -GtkTextAttributes * -gtk_text_attributes_ref (GtkTextAttributes *values) -{ - g_return_val_if_fail (values != NULL, NULL); - - values->refcount += 1; - - return values; -} - -/** - * gtk_text_attributes_unref: - * @values: a #GtkTextAttributes - * - * Decrements the reference count on @values, freeing the structure - * if the reference count reaches 0. - **/ -void -gtk_text_attributes_unref (GtkTextAttributes *values) -{ - g_return_if_fail (values != NULL); - g_return_if_fail (values->refcount > 0); - - values->refcount -= 1; - - if (values->refcount == 0) - { - if (values->tabs) - pango_tab_array_free (values->tabs); - - if (values->font) - pango_font_description_free (values->font); - - if (values->pg_bg_color) - gdk_color_free (values->pg_bg_color); - - g_free (values); - } -} - -void -_gtk_text_attributes_fill_from_tags (GtkTextAttributes *dest, - GtkTextTag** tags, - guint n_tags) -{ - guint n = 0; - - guint left_margin_accumulative = 0; - guint right_margin_accumulative = 0; - - while (n < n_tags) - { - GtkTextTag *tag = tags[n]; - GtkTextAttributes *vals = tag->priv->values; - - g_assert (tag->priv->table != NULL); - if (n > 0) - g_assert (tags[n]->priv->priority > tags[n-1]->priv->priority); - - if (tag->priv->bg_color_set) - { - dest->appearance.bg_color = vals->appearance.bg_color; - - dest->appearance.draw_bg = TRUE; - } - if (tag->priv->fg_color_set) - dest->appearance.fg_color = vals->appearance.fg_color; - - if (tag->priv->pg_bg_color_set) - { - dest->pg_bg_color = gdk_color_copy (vals->pg_bg_color); - } - - if (vals->font) - { - if (dest->font) - pango_font_description_merge (dest->font, vals->font, TRUE); - else - dest->font = pango_font_description_copy (vals->font); - } - - /* multiply all the scales together to get a composite */ - if (tag->priv->scale_set) - dest->font_scale *= vals->font_scale; - - if (tag->priv->justification_set) - dest->justification = vals->justification; - - if (vals->direction != GTK_TEXT_DIR_NONE) - dest->direction = vals->direction; - - if (tag->priv->left_margin_set) - { - if (tag->priv->accumulative_margin) - left_margin_accumulative += vals->left_margin; - else - dest->left_margin = vals->left_margin; - } - - if (tag->priv->indent_set) - dest->indent = vals->indent; - - if (tag->priv->rise_set) - dest->appearance.rise = vals->appearance.rise; - - if (tag->priv->right_margin_set) - { - if (tag->priv->accumulative_margin) - right_margin_accumulative += vals->right_margin; - else - dest->right_margin = vals->right_margin; - } - - if (tag->priv->pixels_above_lines_set) - dest->pixels_above_lines = vals->pixels_above_lines; - - if (tag->priv->pixels_below_lines_set) - dest->pixels_below_lines = vals->pixels_below_lines; - - if (tag->priv->pixels_inside_wrap_set) - dest->pixels_inside_wrap = vals->pixels_inside_wrap; - - if (tag->priv->tabs_set) - { - if (dest->tabs) - pango_tab_array_free (dest->tabs); - dest->tabs = pango_tab_array_copy (vals->tabs); - } - - if (tag->priv->wrap_mode_set) - dest->wrap_mode = vals->wrap_mode; - - if (tag->priv->underline_set) - dest->appearance.underline = vals->appearance.underline; - - if (tag->priv->strikethrough_set) - dest->appearance.strikethrough = vals->appearance.strikethrough; - - if (tag->priv->invisible_set) - dest->invisible = vals->invisible; - - if (tag->priv->editable_set) - dest->editable = vals->editable; - - if (tag->priv->bg_full_height_set) - dest->bg_full_height = vals->bg_full_height; - - if (tag->priv->language_set) - dest->language = vals->language; - - ++n; - } - - dest->left_margin += left_margin_accumulative; - dest->right_margin += right_margin_accumulative; -} - -gboolean -_gtk_text_tag_affects_size (GtkTextTag *tag) -{ - GtkTextTagPrivate *priv = tag->priv; - - return - (priv->values->font && pango_font_description_get_set_fields (priv->values->font) != 0) || - priv->scale_set || - priv->justification_set || - priv->left_margin_set || - priv->indent_set || - priv->rise_set || - priv->right_margin_set || - priv->pixels_above_lines_set || - priv->pixels_below_lines_set || - priv->pixels_inside_wrap_set || - priv->tabs_set || - priv->underline_set || - priv->wrap_mode_set || - priv->invisible_set; -} - -gboolean -_gtk_text_tag_affects_nonsize_appearance (GtkTextTag *tag) -{ - GtkTextTagPrivate *priv = tag->priv; - - return - priv->bg_color_set || - priv->fg_color_set || - priv->strikethrough_set || - priv->bg_full_height_set || - priv->pg_bg_color_set; -} From 04c773c94d64337568490b024c4206fb5a4f6792 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:04:00 +0100 Subject: [PATCH 1331/1463] gtk: Rename private header to private name gtk/gtkcellareaboxcontext.h -> gtk/gtkcellareaboxcontextprivate.h --- gtk/Makefile.am | 2 +- gtk/gtkcellareabox.c | 2 +- gtk/gtkcellareaboxcontext.c | 2 +- gtk/{gtkcellareaboxcontext.h => gtkcellareaboxcontextprivate.h} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename gtk/{gtkcellareaboxcontext.h => gtkcellareaboxcontextprivate.h} (100%) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 653e4e0b2f..d5e2f7f7be 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -173,7 +173,7 @@ gtk_public_h_sources = \ gtkcellarea.h \ gtkcellareacontext.h \ gtkcellareabox.h \ - gtkcellareaboxcontext.h \ + gtkcellareaboxcontextprivate.h \ gtkcelleditable.h \ gtkcelllayout.h \ gtkcellrenderer.h \ diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index 44da08dacb..b04e5d6228 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -52,7 +52,7 @@ #include "gtkorientable.h" #include "gtkcelllayout.h" #include "gtkcellareabox.h" -#include "gtkcellareaboxcontext.h" +#include "gtkcellareaboxcontextprivate.h" #include "gtktypebuiltins.h" #include "gtkprivate.h" diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index c5e02bda9e..86ce52c236 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -24,7 +24,7 @@ #include "config.h" #include "gtkintl.h" #include "gtkcellareabox.h" -#include "gtkcellareaboxcontext.h" +#include "gtkcellareaboxcontextprivate.h" #include "gtkorientable.h" /* GObjectClass */ diff --git a/gtk/gtkcellareaboxcontext.h b/gtk/gtkcellareaboxcontextprivate.h similarity index 100% rename from gtk/gtkcellareaboxcontext.h rename to gtk/gtkcellareaboxcontextprivate.h From 8899ab3f91d3af4029ff0de2eb1a1519be7d2d92 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:36:39 +0100 Subject: [PATCH 1332/1463] gtk: Remove private GtkCellAreaBoxContext symbols from gtk.symbols --- gtk/gtk.symbols | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index 46f9b7d287..d3bec23c34 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -367,19 +367,6 @@ gtk_cell_area_add_with_properties gtk_cell_area_apply_attributes gtk_cell_area_attribute_connect gtk_cell_area_attribute_disconnect -gtk_cell_area_box_context_copy -gtk_cell_area_box_context_get_group_height -gtk_cell_area_box_context_get_group_height_for_width -gtk_cell_area_box_context_get_group_width -gtk_cell_area_box_context_get_group_width_for_height -gtk_cell_area_box_context_get_heights -gtk_cell_area_box_context_get_orientation_allocs -gtk_cell_area_box_context_get_type -gtk_cell_area_box_context_get_widths -gtk_cell_area_box_context_push_group_height -gtk_cell_area_box_context_push_group_height_for_width -gtk_cell_area_box_context_push_group_width -gtk_cell_area_box_context_push_group_width_for_height gtk_cell_area_box_get_spacing gtk_cell_area_box_get_type G_GNUC_CONST gtk_cell_area_box_init_groups From b30b33998ff8b12176585e0dad0ebd391fd35f8d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:40:35 +0100 Subject: [PATCH 1333/1463] gtk: Prefix GtkCellAreaBoxContext symbols with an underscore They are private. --- gtk/gtkcellareabox.c | 20 ++++---- gtk/gtkcellareaboxcontext.c | 78 +++++++++++++++--------------- gtk/gtkcellareaboxcontextprivate.h | 28 +++++------ 3 files changed, 63 insertions(+), 63 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index b04e5d6228..cc9e8f2983 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -830,7 +830,7 @@ get_allocated_cells (GtkCellAreaBox *box, gint for_size, full_size; gboolean rtl; - group_allocs = gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); + group_allocs = _gtk_cell_area_box_context_get_orientation_allocs (context, &n_allocs); if (!group_allocs) return allocate_cells_manually (box, widget, width, height); @@ -1479,7 +1479,7 @@ gtk_cell_area_box_copy_context (GtkCellArea *area, GtkCellAreaBox *box = GTK_CELL_AREA_BOX (area); GtkCellAreaBoxPrivate *priv = box->priv; GtkCellAreaContext *copy = - (GtkCellAreaContext *)gtk_cell_area_box_context_copy (GTK_CELL_AREA_BOX (area), + (GtkCellAreaContext *)_gtk_cell_area_box_context_copy (GTK_CELL_AREA_BOX (area), GTK_CELL_AREA_BOX_CONTEXT (context)); priv->contexts = g_slist_prepend (priv->contexts, copy); @@ -1564,17 +1564,17 @@ compute_size (GtkCellAreaBox *box, if (orientation == GTK_ORIENTATION_HORIZONTAL) { if (for_size < 0) - gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); + _gtk_cell_area_box_context_push_group_width (context, group->id, group_min_size, group_nat_size); else - gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, + _gtk_cell_area_box_context_push_group_width_for_height (context, group->id, for_size, group_min_size, group_nat_size); } else { if (for_size < 0) - gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); + _gtk_cell_area_box_context_push_group_height (context, group->id, group_min_size, group_nat_size); else - gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, + _gtk_cell_area_box_context_push_group_height_for_width (context, group->id, for_size, group_min_size, group_nat_size); } } @@ -1723,9 +1723,9 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, n_expand_groups = count_expand_groups (box); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) - orientation_sizes = gtk_cell_area_box_context_get_widths (context, &n_groups); + orientation_sizes = _gtk_cell_area_box_context_get_widths (context, &n_groups); else - orientation_sizes = gtk_cell_area_box_context_get_heights (context, &n_groups); + orientation_sizes = _gtk_cell_area_box_context_get_heights (context, &n_groups); /* First start by naturally allocating space among groups of cells */ avail_size -= (n_groups - 1) * priv->spacing; @@ -1779,12 +1779,12 @@ compute_size_for_opposing_orientation (GtkCellAreaBox *box, if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, + _gtk_cell_area_box_context_push_group_height_for_width (context, group_idx, for_size, group_min, group_nat); } else { - gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, + _gtk_cell_area_box_context_push_group_width_for_height (context, group_idx, for_size, group_min, group_nat); } } diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/gtkcellareaboxcontext.c index 86ce52c236..57793c7242 100644 --- a/gtk/gtkcellareaboxcontext.c +++ b/gtk/gtkcellareaboxcontext.c @@ -28,15 +28,15 @@ #include "gtkorientable.h" /* GObjectClass */ -static void gtk_cell_area_box_context_finalize (GObject *object); +static void _gtk_cell_area_box_context_finalize (GObject *object); /* GtkCellAreaContextClass */ -static void gtk_cell_area_box_context_reset (GtkCellAreaContext *context); -static void gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, +static void _gtk_cell_area_box_context_reset (GtkCellAreaContext *context); +static void _gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, gint width, gint *minimum_height, gint *natural_height); -static void gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, +static void _gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, gint height, gint *minimum_width, gint *natural_width); @@ -44,7 +44,7 @@ static void gtk_cell_area_box_context_get_preferred_width_for_height (GtkCe /* Internal functions */ -static void gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, +static void _gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, GtkOrientation orientation, gint for_size, gint *minimum_size, @@ -82,7 +82,7 @@ struct _GtkCellAreaBoxContextPrivate gboolean *align; }; -G_DEFINE_TYPE (GtkCellAreaBoxContext, gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT); +G_DEFINE_TYPE (GtkCellAreaBoxContext, _gtk_cell_area_box_context, GTK_TYPE_CELL_AREA_CONTEXT); static void free_cache_array (GArray *array) @@ -165,7 +165,7 @@ count_expand_groups (GtkCellAreaBoxContext *context) } static void -gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) +_gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) { GtkCellAreaBoxContextPrivate *priv; @@ -184,17 +184,17 @@ gtk_cell_area_box_context_init (GtkCellAreaBoxContext *box_context) } static void -gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) +_gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) { GObjectClass *object_class = G_OBJECT_CLASS (class); GtkCellAreaContextClass *context_class = GTK_CELL_AREA_CONTEXT_CLASS (class); /* GObjectClass */ - object_class->finalize = gtk_cell_area_box_context_finalize; + object_class->finalize = _gtk_cell_area_box_context_finalize; - context_class->reset = gtk_cell_area_box_context_reset; - context_class->get_preferred_height_for_width = gtk_cell_area_box_context_get_preferred_height_for_width; - context_class->get_preferred_width_for_height = gtk_cell_area_box_context_get_preferred_width_for_height; + context_class->reset = _gtk_cell_area_box_context_reset; + context_class->get_preferred_height_for_width = _gtk_cell_area_box_context_get_preferred_height_for_width; + context_class->get_preferred_width_for_height = _gtk_cell_area_box_context_get_preferred_width_for_height; g_type_class_add_private (object_class, sizeof (GtkCellAreaBoxContextPrivate)); } @@ -203,7 +203,7 @@ gtk_cell_area_box_context_class_init (GtkCellAreaBoxContextClass *class) * GObjectClass * *************************************************************/ static void -gtk_cell_area_box_context_finalize (GObject *object) +_gtk_cell_area_box_context_finalize (GObject *object) { GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (object); GtkCellAreaBoxContextPrivate *priv = box_context->priv; @@ -216,14 +216,14 @@ gtk_cell_area_box_context_finalize (GObject *object) g_free (priv->expand); g_free (priv->align); - G_OBJECT_CLASS (gtk_cell_area_box_context_parent_class)->finalize (object); + G_OBJECT_CLASS (_gtk_cell_area_box_context_parent_class)->finalize (object); } /************************************************************* * GtkCellAreaContextClass * *************************************************************/ static void -gtk_cell_area_box_context_reset (GtkCellAreaContext *context) +_gtk_cell_area_box_context_reset (GtkCellAreaContext *context) { GtkCellAreaBoxContext *box_context = GTK_CELL_AREA_BOX_CONTEXT (context); GtkCellAreaBoxContextPrivate *priv = box_context->priv; @@ -248,11 +248,11 @@ gtk_cell_area_box_context_reset (GtkCellAreaContext *context) g_hash_table_remove_all (priv->heights); GTK_CELL_AREA_CONTEXT_CLASS - (gtk_cell_area_box_context_parent_class)->reset (context); + (_gtk_cell_area_box_context_parent_class)->reset (context); } static void -gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, +_gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, GtkOrientation orientation, gint for_size, gint *minimum_size, @@ -324,22 +324,22 @@ gtk_cell_area_box_context_sum (GtkCellAreaBoxContext *context, } static void -gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, +_gtk_cell_area_box_context_get_preferred_height_for_width (GtkCellAreaContext *context, gint width, gint *minimum_height, gint *natural_height) { - gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_VERTICAL, + _gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_VERTICAL, width, minimum_height, natural_height); } static void -gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, +_gtk_cell_area_box_context_get_preferred_width_for_height (GtkCellAreaContext *context, gint height, gint *minimum_width, gint *natural_width) { - gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_HORIZONTAL, + _gtk_cell_area_box_context_sum (GTK_CELL_AREA_BOX_CONTEXT (context), GTK_ORIENTATION_HORIZONTAL, height, minimum_width, natural_width); } @@ -377,7 +377,7 @@ for_size_copy (gpointer key, } GtkCellAreaBoxContext * -gtk_cell_area_box_context_copy (GtkCellAreaBox *box, +_gtk_cell_area_box_context_copy (GtkCellAreaBox *box, GtkCellAreaBoxContext *context) { GtkCellAreaBoxContext *copy; @@ -434,7 +434,7 @@ gtk_cell_area_box_init_groups (GtkCellAreaBoxContext *box_context, } void -gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint minimum_width, gint natural_width) @@ -461,11 +461,11 @@ gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, } if (grew) - gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_HORIZONTAL, -1, NULL, NULL); + _gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_HORIZONTAL, -1, NULL, NULL); } void -gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_width, gint minimum_height, @@ -493,7 +493,7 @@ gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *b } void -gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint minimum_height, gint natural_height) @@ -520,11 +520,11 @@ gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, } if (grew) - gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_VERTICAL, -1, NULL, NULL); + _gtk_cell_area_box_context_sum (box_context, GTK_ORIENTATION_VERTICAL, -1, NULL, NULL); } void -gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_height, gint minimum_width, @@ -552,7 +552,7 @@ gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *bo } void -gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_width, gint *natural_width) @@ -575,7 +575,7 @@ gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, } void -gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_width, gint *minimum_height, @@ -612,7 +612,7 @@ gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box } void -gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_height, gint *natural_height) @@ -635,7 +635,7 @@ gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, } void -gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_height, gint *minimum_width, @@ -672,7 +672,7 @@ gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box } static GtkRequestedSize * -gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_requests (GtkCellAreaBoxContext *box_context, GtkCellAreaBox *area, GtkOrientation orientation, gint for_size, @@ -750,7 +750,7 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, gint extra_size, extra_extra; gint avail_size = size; - sizes = gtk_cell_area_box_context_get_requests (context, area, orientation, for_size, &n_groups); + sizes = _gtk_cell_area_box_context_get_requests (context, area, orientation, for_size, &n_groups); array = get_array (context, orientation, for_size); n_expand_groups = count_expand_groups (context); @@ -814,25 +814,25 @@ allocate_for_orientation (GtkCellAreaBoxContext *context, } GtkRequestedSize * -gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths) { GtkCellAreaBox *area = (GtkCellAreaBox *)gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (box_context)); - return gtk_cell_area_box_context_get_requests (box_context, area, GTK_ORIENTATION_HORIZONTAL, -1, n_widths); + return _gtk_cell_area_box_context_get_requests (box_context, area, GTK_ORIENTATION_HORIZONTAL, -1, n_widths); } GtkRequestedSize * -gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, +_gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, gint *n_heights) { GtkCellAreaBox *area = (GtkCellAreaBox *)gtk_cell_area_context_get_area (GTK_CELL_AREA_CONTEXT (box_context)); - return gtk_cell_area_box_context_get_requests (box_context, area, GTK_ORIENTATION_VERTICAL, -1, n_heights); + return _gtk_cell_area_box_context_get_requests (box_context, area, GTK_ORIENTATION_VERTICAL, -1, n_heights); } GtkCellAreaBoxAllocation * -gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, +_gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, gint *n_allocs) { GtkCellAreaContext *ctx = GTK_CELL_AREA_CONTEXT (context); diff --git a/gtk/gtkcellareaboxcontextprivate.h b/gtk/gtkcellareaboxcontextprivate.h index d586cc341a..b5664ae78b 100644 --- a/gtk/gtkcellareaboxcontextprivate.h +++ b/gtk/gtkcellareaboxcontextprivate.h @@ -35,7 +35,7 @@ G_BEGIN_DECLS -#define GTK_TYPE_CELL_AREA_BOX_CONTEXT (gtk_cell_area_box_context_get_type ()) +#define GTK_TYPE_CELL_AREA_BOX_CONTEXT (_gtk_cell_area_box_context_get_type ()) #define GTK_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContext)) #define GTK_CELL_AREA_BOX_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_CELL_AREA_BOX_CONTEXT, GtkCellAreaBoxContextClass)) #define GTK_IS_CELL_AREA_BOX_CONTEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_CELL_AREA_BOX_CONTEXT)) @@ -59,11 +59,11 @@ struct _GtkCellAreaBoxContextClass }; -GType gtk_cell_area_box_context_get_type (void) G_GNUC_CONST; +GType _gtk_cell_area_box_context_get_type (void) G_GNUC_CONST; /* Create a duplicate of the context */ -GtkCellAreaBoxContext *gtk_cell_area_box_context_copy (GtkCellAreaBox *box, +GtkCellAreaBoxContext *_gtk_cell_area_box_context_copy (GtkCellAreaBox *box, GtkCellAreaBoxContext *box_context); /* Initialize group array dimensions */ @@ -73,54 +73,54 @@ void gtk_cell_area_box_init_groups (GtkCellAreaBoxCo gboolean *align_groups); /* Update cell-group sizes */ -void gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_push_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint minimum_width, gint natural_width); -void gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_push_group_height_for_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_width, gint minimum_height, gint natural_height); -void gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_push_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint minimum_height, gint natural_height); -void gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_push_group_width_for_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_height, gint minimum_width, gint natural_width); /* Fetch cell-group sizes */ -void gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_get_group_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_width, gint *natural_width); -void gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_get_group_height_for_width (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_width, gint *minimum_height, gint *natural_height); -void gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_get_group_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint *minimum_height, gint *natural_height); -void gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, +void _gtk_cell_area_box_context_get_group_width_for_height (GtkCellAreaBoxContext *box_context, gint group_idx, gint for_height, gint *minimum_width, gint *natural_width); -GtkRequestedSize *gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, +GtkRequestedSize *_gtk_cell_area_box_context_get_widths (GtkCellAreaBoxContext *box_context, gint *n_widths); -GtkRequestedSize *gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, +GtkRequestedSize *_gtk_cell_area_box_context_get_heights (GtkCellAreaBoxContext *box_context, gint *n_heights); /* Private context/area interaction */ @@ -131,7 +131,7 @@ typedef struct { } GtkCellAreaBoxAllocation; GtkCellAreaBoxAllocation * -gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, +_gtk_cell_area_box_context_get_orientation_allocs (GtkCellAreaBoxContext *context, gint *n_allocs); G_END_DECLS From a25813cc2403a73047598f59512802bc927edfb6 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:16:44 +0100 Subject: [PATCH 1334/1463] gtk: Add --c-include to gir build --- gtk/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index d5e2f7f7be..148137bb6e 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -971,6 +971,7 @@ Gtk_3_0_gir_SCANNERFLAGS = --warn-all --add-include-path=$(top_builddir)/gdk if USE_X11 Gtk_3_0_gir_SCANNERFLAGS += --add-include-path=$(top_builddir)/gdk/x11 endif +Gtk_3_0_gir_SCANNERFLAGS += --c-include="gtk/gtk.h" Gtk_3_0_gir_INCLUDES = Atk-1.0 Gdk-3.0 Gtk_3_0_gir_CFLAGS = \ $(INCLUDES) \ From 268efbc0ef45089ff1c35425278c265187ca24c7 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:34:01 +0100 Subject: [PATCH 1335/1463] gdk: Add --c-include gdk/gdk.h to Gir build. --- gdk/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 6c16c42a40..33b2d6caff 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -183,7 +183,7 @@ introspection_files = \ gdkenumtypes.h Gdk-3.0.gir: libgdk-3.0.la Makefile -Gdk_3_0_gir_SCANNERFLAGS = --warn-all +Gdk_3_0_gir_SCANNERFLAGS = --warn-all --c-include="gdk/gdk.h" Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0 Gdk_3_0_gir_LIBS = libgdk-3.0.la Gdk_3_0_gir_FILES = $(introspection_files) From 654aca5ccde4cc0c88d5523f603ae3c970d24191 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:34:41 +0100 Subject: [PATCH 1336/1463] gdk: Don't build X11 stuff into Gdk.gir --- gdk/Makefile.am | 2 -- 1 file changed, 2 deletions(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 33b2d6caff..910ddbb9ed 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -239,8 +239,6 @@ GdkX11_3_0_gir_FILES = $(x11_introspection_files) GdkX11_3_0_gir_CFLAGS = $(INCLUDES) -L$(top_builddir)/gdk INTROSPECTION_GIRS += GdkX11-3.0.gir -introspection_files += $(filter-out x11/gdkx.h, $(x11_introspection_files)) - endif # USE_X11 girdir = $(datadir)/gir-1.0 From ebd5f8b10e2287e9b1e13ead0a780573612b9201 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:31:55 +0100 Subject: [PATCH 1337/1463] gdk: Put stub gdkx.h into gdk/ dir This is so we can include gdk/gdkx.h from inside GTK code. --- gdk/Makefile.am | 3 ++- gdk/gdkx.h | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gdk/gdkx.h diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 910ddbb9ed..cc1a54c897 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -107,7 +107,8 @@ gdk_private_headers = \ gdkinternals.h \ gdkintl.h \ gdkkeysprivate.h \ - gdkvisualprivate.h + gdkvisualprivate.h \ + gdkx.h gdk_c_sources = \ gdk.c \ diff --git a/gdk/gdkx.h b/gdk/gdkx.h new file mode 100644 index 0000000000..0f5c246775 --- /dev/null +++ b/gdk/gdkx.h @@ -0,0 +1,33 @@ +/* GDK - The GIMP Drawing Kit + * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +/* + * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS + * file for a list of people on the GTK+ Team. See the ChangeLog + * files for a list of changes. These files are distributed with + * GTK+ at ftp://ftp.gtk.org/pub/gtk/. + */ + +/* This is a cludge to be able to include gdk/gdkx.h from inside the + * GTK source tree. + * Also, this hopefully serves as a warning to new backends to put + * their header into the backend dir from the start. + */ + +#include From b05f54ff73615bd7e94f1f9dc9363e9477114f9b Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 16:34:59 +0100 Subject: [PATCH 1338/1463] x11: Add --c-include for gdk/gdkx.h to Gdk-X11 gir build --- gdk/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index cc1a54c897..cd531e6c6b 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -233,7 +233,7 @@ x11_introspection_files = \ x11/gdkx11window.h GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile -GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk +GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk --c-include="gdk/gdkx.h" GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0 GdkX11_3_0_gir_LIBS = libgdk-3.0.la GdkX11_3_0_gir_FILES = $(x11_introspection_files) From 7e33c009a0aab41d86430f50972d3c59a4eb55a9 Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 11 Jan 2011 17:06:49 +0100 Subject: [PATCH 1339/1463] gdk: Fix typo : Comapny: kludge, with a k --- gdk/gdkx.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkx.h b/gdk/gdkx.h index 0f5c246775..3f474b43c2 100644 --- a/gdk/gdkx.h +++ b/gdk/gdkx.h @@ -24,7 +24,7 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ -/* This is a cludge to be able to include gdk/gdkx.h from inside the +/* This is a kludge to be able to include gdk/gdkx.h from inside the * GTK source tree. * Also, this hopefully serves as a warning to new backends to put * their header into the backend dir from the start. From a606ea62a156015a7a19bb93123ae19ef87e3076 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fridrich=20=C5=A0trba?= Date: Tue, 11 Jan 2011 16:13:34 +0100 Subject: [PATCH 1340/1463] Fix win32 build --- gdk/win32/Makefile.am | 1 + gdk/win32/gdkprivate-win32.h | 1 - gtk/Makefile.am | 4 ++-- gtk/gtk.symbols | 2 +- gtk/gtkappchooserbutton.c | 2 ++ gtk/gtkappchooserwidget.c | 2 ++ gtk/gtkmain.c | 9 ++++++++- gtk/gtkmain.h | 2 +- modules/input/gtkimcontextime.c | 4 ++++ 9 files changed, 21 insertions(+), 6 deletions(-) diff --git a/gdk/win32/Makefile.am b/gdk/win32/Makefile.am index 641ae68208..404ddd6aef 100644 --- a/gdk/win32/Makefile.am +++ b/gdk/win32/Makefile.am @@ -33,6 +33,7 @@ libgdk_win32_la_SOURCES = \ gdkdevice-wintab.c \ gdkdevice-wintab.h \ gdkdisplay-win32.c \ + gdkdisplaymanager-win32.c \ gdkdnd-win32.c \ gdkevents-win32.c \ gdkgeometry-win32.c \ diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h index 6ff1cad424..2889e66cb6 100644 --- a/gdk/win32/gdkprivate-win32.h +++ b/gdk/win32/gdkprivate-win32.h @@ -109,7 +109,6 @@ GdkScreen *GDK_WINDOW_SCREEN(GObject *win); #define GDK_WINDOW_IS_WIN32(win) (GDK_IS_WINDOW_IMPL_WIN32 (win->impl)) typedef struct _GdkColormapPrivateWin32 GdkColormapPrivateWin32; -typedef struct _GdkWin32Cursor GdkWin32Cursor; typedef struct _GdkWin32SingleFont GdkWin32SingleFont; struct _GdkWin32Cursor diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 148137bb6e..06b434b78a 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -894,10 +894,10 @@ libgtk_3_0_la_LIBADD = $(libadd) libgtk_3_0_la_DEPENDENCIES = $(deps) #libgtk_win32_3_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid -#libgtk_win32_3_0_la_LIBADD = $(libadd) -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -#libgtk_win32_3_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32_res) $(deps) if USE_WIN32 +libgtk_3_0_la_LIBADD += -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 +libgtk_3_0_la_DEPENDENCIES += $(gtk_win32_res) $(deps) libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols) endif diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index d3bec23c34..a8aa36e4d7 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -1335,7 +1335,7 @@ gtk_info_bar_set_message_type gtk_info_bar_set_response_sensitive gtk_init gtk_init_check -#ifdef GDK_WINDOWING_WIN32 +#ifdef G_OS_WIN32 gtk_init_abi_check gtk_init_check_abi_check #endif diff --git a/gtk/gtkappchooserbutton.c b/gtk/gtkappchooserbutton.c index 586c74dd9e..df00ae820d 100644 --- a/gtk/gtkappchooserbutton.c +++ b/gtk/gtkappchooserbutton.c @@ -271,7 +271,9 @@ gtk_app_chooser_button_populate (GtkAppChooserButton *self) GIcon *icon; gboolean cycled_recommended; +#ifndef G_OS_WIN32 recommended_apps = g_app_info_get_recommended_for_type (self->priv->content_type); +#endif cycled_recommended = FALSE; for (l = recommended_apps; l != NULL; l = l->next) diff --git a/gtk/gtkappchooserwidget.c b/gtk/gtkappchooserwidget.c index 487f921a1a..6d0c3fa3f3 100644 --- a/gtk/gtkappchooserwidget.c +++ b/gtk/gtkappchooserwidget.c @@ -722,6 +722,7 @@ gtk_app_chooser_widget_real_add_items (GtkAppChooserWidget *self) } } +#ifndef G_OS_WIN32 if (self->priv->show_recommended || self->priv->show_all) { recommended_apps = g_app_info_get_recommended_for_type (self->priv->content_type); @@ -748,6 +749,7 @@ gtk_app_chooser_widget_real_add_items (GtkAppChooserWidget *self) exclude_apps = g_list_concat (exclude_apps, g_list_copy (fallback_apps)); } +#endif if (self->priv->show_other || self->priv->show_all) { diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 63376bfb1f..9a3b0314fa 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -1169,7 +1169,14 @@ gtk_init (int *argc, char ***argv) } } -#ifdef G_PLATFORM_WIN32 +#ifdef G_OS_WIN32 + +/* This is relevant when building with gcc for Windows (MinGW), + * where we want to be struct packing compatible with MSVC, + * i.e. use the -mms-bitfields switch. + * For Cygwin there should be no need to be compatible with MSVC, + * so no need to use G_PLATFORM_WIN32. + */ static void check_sizeof_GtkWindow (size_t sizeof_GtkWindow) diff --git a/gtk/gtkmain.h b/gtk/gtkmain.h index f015568384..99ce6d45ab 100644 --- a/gtk/gtkmain.h +++ b/gtk/gtkmain.h @@ -107,7 +107,7 @@ gboolean gtk_init_with_args (gint *argc, GOptionGroup *gtk_get_option_group (gboolean open_default_display); -#ifdef G_PLATFORM_WIN32 +#ifdef G_OS_WIN32 /* Variants that are used to check for correct struct packing * when building GTK+-using code. diff --git a/modules/input/gtkimcontextime.c b/modules/input/gtkimcontextime.c index d6cdd9b32f..786fb9d40e 100644 --- a/modules/input/gtkimcontextime.c +++ b/modules/input/gtkimcontextime.c @@ -25,6 +25,10 @@ * http://msdn.microsoft.com/library/default.asp?url=/library/en-us/appendix/hh/appendix/imeimes2_35ph.asp */ +#ifdef GTK_DISABLE_DEPRECATED +#undef GTK_DISABLE_DEPRECATED +#endif + #include "gtkimcontextime.h" #include "imm-extra.h" From 5616ad0e19d7a6c8ead5af1f735e401e1596c59f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Tue, 11 Jan 2011 18:10:26 +0100 Subject: [PATCH 1341/1463] [build] Add gtktextattributes.h Commit 7fae37ecd54 factored out GtkTextAttributes, but did not add the new header to the build system. --- gtk/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 06b434b78a..50d7cf35a4 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -305,6 +305,7 @@ gtk_public_h_sources = \ gtktable.h \ gtktearoffmenuitem.h \ gtktestutils.h \ + gtktextattributes.h \ gtktextbuffer.h \ gtktextbufferrichtext.h \ gtktextchild.h \ From f0b05328a65cdc0a18dad2614505a003e14a540b Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 11 Jan 2011 20:40:36 +0200 Subject: [PATCH 1342/1463] Updated Hebrew translation --- po-properties/he.po | 3255 ++++++++++++++++++++++++------------------- 1 file changed, 1797 insertions(+), 1458 deletions(-) diff --git a/po-properties/he.po b/po-properties/he.po index 5a1b8de899..226bb5ac32 100644 --- a/po-properties/he.po +++ b/po-properties/he.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-12-21 12:45+0200\n" -"PO-Revision-Date: 2010-12-21 12:46+0200\n" +"POT-Creation-Date: 2011-01-11 20:38+0200\n" +"PO-Revision-Date: 2011-01-11 20:39+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -16,124 +16,145 @@ msgstr "" "Language: he\n" "X-Generator: KBabel 1.0\n" -#: ../gdk/gdkdevice.c:127 -msgid "Device Display" -msgstr "Device Display" - -#: ../gdk/gdkdevice.c:128 -msgid "Display which the device belongs to" -msgstr "Display which the device belongs to" - -#: ../gdk/gdkdevice.c:142 -msgid "Device manager" -msgstr "Device manager" - -#: ../gdk/gdkdevice.c:143 -msgid "Device manager which the device belongs to" -msgstr "Device manager which the device belongs to" - -#: ../gdk/gdkdevice.c:157 ../gdk/gdkdevice.c:158 -msgid "Device name" -msgstr "Device name" - -#: ../gdk/gdkdevice.c:172 -msgid "Device type" -msgstr "Device type" - -#: ../gdk/gdkdevice.c:173 -msgid "Device role in the device manager" -msgstr "Device role in the device manager" - -#: ../gdk/gdkdevice.c:189 -msgid "Associated device" -msgstr "Associated device" - -#: ../gdk/gdkdevice.c:190 -msgid "Associated pointer or keyboard with this device" -msgstr "Associated pointer or keyboard with this device" - -#: ../gdk/gdkdevice.c:203 -msgid "Input source" -msgstr "Input source" - -#: ../gdk/gdkdevice.c:204 -msgid "Source type for the device" -msgstr "Source type for the device" - -#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 -msgid "Input mode for the device" -msgstr "Input mode for the device" - -#: ../gdk/gdkdevice.c:235 -msgid "Whether the device has a cursor" -msgstr "Whether the device has a cursor" - -#: ../gdk/gdkdevice.c:236 -msgid "Whether there is a visible cursor following device motion" -msgstr "Whether there is a visible cursor following device motion" - -#: ../gdk/gdkdevice.c:250 ../gdk/gdkdevice.c:251 -msgid "Number of axes in the device" -msgstr "Number of axes in the device" - -#: ../gdk/gdkdevicemanager.c:137 +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 msgid "Display" msgstr "Display" -#: ../gdk/gdkdevicemanager.c:138 +#: ../gdk/gdkcursor.c:128 +msgid "Cursor type" +msgstr "Cursor type" + +#: ../gdk/gdkcursor.c:129 +msgid "Standard cursor type" +msgstr "Standard cursor type" + +#: ../gdk/gdkcursor.c:137 +msgid "Display of this cursor" +msgstr "Display of this cursor" + +#: ../gdk/gdkdevice.c:111 +msgid "Device Display" +msgstr "Device Display" + +#: ../gdk/gdkdevice.c:112 +msgid "Display which the device belongs to" +msgstr "Display which the device belongs to" + +#: ../gdk/gdkdevice.c:126 +msgid "Device manager" +msgstr "Device manager" + +#: ../gdk/gdkdevice.c:127 +msgid "Device manager which the device belongs to" +msgstr "Device manager which the device belongs to" + +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 +msgid "Device name" +msgstr "Device name" + +#: ../gdk/gdkdevice.c:156 +msgid "Device type" +msgstr "Device type" + +#: ../gdk/gdkdevice.c:157 +msgid "Device role in the device manager" +msgstr "Device role in the device manager" + +#: ../gdk/gdkdevice.c:173 +msgid "Associated device" +msgstr "Associated device" + +#: ../gdk/gdkdevice.c:174 +msgid "Associated pointer or keyboard with this device" +msgstr "Associated pointer or keyboard with this device" + +#: ../gdk/gdkdevice.c:187 +msgid "Input source" +msgstr "Input source" + +#: ../gdk/gdkdevice.c:188 +msgid "Source type for the device" +msgstr "Source type for the device" + +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 +msgid "Input mode for the device" +msgstr "Input mode for the device" + +#: ../gdk/gdkdevice.c:219 +msgid "Whether the device has a cursor" +msgstr "Whether the device has a cursor" + +#: ../gdk/gdkdevice.c:220 +msgid "Whether there is a visible cursor following device motion" +msgstr "Whether there is a visible cursor following device motion" + +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 +msgid "Number of axes in the device" +msgstr "Number of axes in the device" + +#: ../gdk/gdkdevicemanager.c:147 msgid "Display for the device manager" msgstr "Display for the device manager" -#: ../gdk/gdkdisplaymanager.c:106 +#: ../gdk/gdkdisplaymanager.c:117 msgid "Default Display" msgstr "Default Display" -#: ../gdk/gdkdisplaymanager.c:107 +#: ../gdk/gdkdisplaymanager.c:118 msgid "The default display for GDK" msgstr "The default display for GDK" -#: ../gdk/gdkscreen.c:90 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Font options" -#: ../gdk/gdkscreen.c:91 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "The default font options for the screen" -#: ../gdk/gdkscreen.c:98 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Font resolution" -#: ../gdk/gdkscreen.c:99 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "The resolution for fonts on the screen" -#: ../gdk/gdkwindow.c:393 ../gdk/gdkwindow.c:394 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Cursor" #: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 -#: ../gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" msgstr "Device ID" -#: ../gdk/x11/gdkdevice-xi2.c:113 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" msgstr "Device identifier" -#: ../gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +msgid "Opcode" +msgstr "Opcode" + +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +msgid "Opcode for XInput2 requests" +msgstr "Opcode for XInput2 requests" + +#: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "Event base" -#: ../gdk/x11/gdkdevicemanager-xi.c:86 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" msgstr "Event base for XInput events" -#: ../gtk/gtkaboutdialog.c:277 +#: ../gtk/gtkaboutdialog.c:276 msgid "Program name" msgstr "Program name" -#: ../gtk/gtkaboutdialog.c:278 +#: ../gtk/gtkaboutdialog.c:277 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -141,93 +162,93 @@ msgstr "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" -#: ../gtk/gtkaboutdialog.c:292 +#: ../gtk/gtkaboutdialog.c:291 msgid "Program version" msgstr "Program version" -#: ../gtk/gtkaboutdialog.c:293 +#: ../gtk/gtkaboutdialog.c:292 msgid "The version of the program" msgstr "The version of the program" -#: ../gtk/gtkaboutdialog.c:307 +#: ../gtk/gtkaboutdialog.c:306 msgid "Copyright string" msgstr "Copyright string" -#: ../gtk/gtkaboutdialog.c:308 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright information for the program" msgstr "Copyright information for the program" -#: ../gtk/gtkaboutdialog.c:325 +#: ../gtk/gtkaboutdialog.c:324 msgid "Comments string" msgstr "Comments string" -#: ../gtk/gtkaboutdialog.c:326 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments about the program" msgstr "Comments about the program" -#: ../gtk/gtkaboutdialog.c:376 +#: ../gtk/gtkaboutdialog.c:375 msgid "License Type" msgstr "License Type" -#: ../gtk/gtkaboutdialog.c:377 +#: ../gtk/gtkaboutdialog.c:376 msgid "The license type of the program" msgstr "The license type of the program" -#: ../gtk/gtkaboutdialog.c:393 +#: ../gtk/gtkaboutdialog.c:392 msgid "Website URL" msgstr "Website URL" -#: ../gtk/gtkaboutdialog.c:394 +#: ../gtk/gtkaboutdialog.c:393 msgid "The URL for the link to the website of the program" msgstr "The URL for the link to the website of the program" -#: ../gtk/gtkaboutdialog.c:408 +#: ../gtk/gtkaboutdialog.c:407 msgid "Website label" msgstr "Website label" -#: ../gtk/gtkaboutdialog.c:409 +#: ../gtk/gtkaboutdialog.c:408 msgid "The label for the link to the website of the program" msgstr "The label for the link to the website of the program" -#: ../gtk/gtkaboutdialog.c:425 +#: ../gtk/gtkaboutdialog.c:424 msgid "Authors" msgstr "Authors" -#: ../gtk/gtkaboutdialog.c:426 +#: ../gtk/gtkaboutdialog.c:425 msgid "List of authors of the program" msgstr "List of authors of the program" -#: ../gtk/gtkaboutdialog.c:442 +#: ../gtk/gtkaboutdialog.c:441 msgid "Documenters" msgstr "Documenters" -#: ../gtk/gtkaboutdialog.c:443 +#: ../gtk/gtkaboutdialog.c:442 msgid "List of people documenting the program" msgstr "List of people documenting the program" -#: ../gtk/gtkaboutdialog.c:459 +#: ../gtk/gtkaboutdialog.c:458 msgid "Artists" msgstr "Artists" -#: ../gtk/gtkaboutdialog.c:460 +#: ../gtk/gtkaboutdialog.c:459 msgid "List of people who have contributed artwork to the program" msgstr "List of people who have contributed artwork to the program" -#: ../gtk/gtkaboutdialog.c:477 +#: ../gtk/gtkaboutdialog.c:476 msgid "Translator credits" msgstr "Translator credits" -#: ../gtk/gtkaboutdialog.c:478 +#: ../gtk/gtkaboutdialog.c:477 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Credits to the translators. This string should be marked as translatable" -#: ../gtk/gtkaboutdialog.c:493 +#: ../gtk/gtkaboutdialog.c:492 msgid "Logo" msgstr "Logo" -#: ../gtk/gtkaboutdialog.c:494 +#: ../gtk/gtkaboutdialog.c:493 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -235,40 +256,40 @@ msgstr "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:509 +#: ../gtk/gtkaboutdialog.c:508 msgid "Logo Icon Name" msgstr "Logo Icon Name" -#: ../gtk/gtkaboutdialog.c:510 +#: ../gtk/gtkaboutdialog.c:509 msgid "A named icon to use as the logo for the about box." msgstr "A named icon to use as the logo for the about box." -#: ../gtk/gtkaboutdialog.c:523 +#: ../gtk/gtkaboutdialog.c:522 msgid "Wrap license" msgstr "Wrap license" -#: ../gtk/gtkaboutdialog.c:524 +#: ../gtk/gtkaboutdialog.c:523 msgid "Whether to wrap the license text." msgstr "Whether to wrap the license text." -#: ../gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:187 msgid "Accelerator Closure" msgstr "Accelerator Closure" -#: ../gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:188 msgid "The closure to be monitored for accelerator changes" msgstr "The closure to be monitored for accelerator changes" -#: ../gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:194 msgid "Accelerator Widget" msgstr "Accelerator Widget" -#: ../gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:195 msgid "The widget to be monitored for accelerator changes" msgstr "The widget to be monitored for accelerator changes" #: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 -#: ../gtk/gtktextmark.c:89 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "Name" @@ -276,9 +297,9 @@ msgstr "Name" msgid "A unique name for the action." msgstr "A unique name for the action." -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Label" @@ -310,23 +331,23 @@ msgstr "Stock Icon" msgid "The stock icon displayed in widgets representing this action." msgstr "The stock icon displayed in widgets representing this action." -#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 msgid "GIcon" msgstr "GIcon" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "The GIcon being displayed" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:732 +#: ../gtk/gtkimage.c:309 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Icon Name" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkimage.c:310 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "The name of the icon from the icon theme" @@ -387,7 +408,7 @@ msgid "When TRUE, empty menu proxies for this action are hidden." msgstr "When TRUE, empty menu proxies for this action are hidden." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:941 msgid "Sensitive" msgstr "Sensitive" @@ -396,8 +417,8 @@ msgid "Whether the action is enabled." msgstr "Whether the action is enabled." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 -#: ../gtk/gtkwidget.c:926 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:934 msgid "Visible" msgstr "Visible" @@ -417,11 +438,11 @@ msgstr "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "Always show image" -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "Whether the image will always be shown" @@ -437,76 +458,76 @@ msgstr "Whether the action group is enabled." msgid "Whether the action group is visible." msgstr "Whether the action group is visible." -#: ../gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:289 msgid "Related Action" msgstr "Related Action" -#: ../gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:290 msgid "The action this activatable will activate and receive updates from" msgstr "The action this activatable will activate and receive updates from" -#: ../gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:312 msgid "Use Action Appearance" msgstr "Use Action Appearance" -#: ../gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:313 msgid "Whether to use the related actions appearance properties" msgstr "Whether to use the related actions appearance properties" -#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 +#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 msgid "Value" msgstr "Value" -#: ../gtk/gtkadjustment.c:115 +#: ../gtk/gtkadjustment.c:124 msgid "The value of the adjustment" msgstr "The value of the adjustment" -#: ../gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:140 msgid "Minimum Value" msgstr "Minimum Value" -#: ../gtk/gtkadjustment.c:132 +#: ../gtk/gtkadjustment.c:141 msgid "The minimum value of the adjustment" msgstr "The minimum value of the adjustment" -#: ../gtk/gtkadjustment.c:151 +#: ../gtk/gtkadjustment.c:160 msgid "Maximum Value" msgstr "Maximum Value" -#: ../gtk/gtkadjustment.c:152 +#: ../gtk/gtkadjustment.c:161 msgid "The maximum value of the adjustment" msgstr "The maximum value of the adjustment" -#: ../gtk/gtkadjustment.c:168 +#: ../gtk/gtkadjustment.c:177 msgid "Step Increment" msgstr "Step Increment" -#: ../gtk/gtkadjustment.c:169 +#: ../gtk/gtkadjustment.c:178 msgid "The step increment of the adjustment" msgstr "The step increment of the adjustment" -#: ../gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:194 msgid "Page Increment" msgstr "Page Increment" -#: ../gtk/gtkadjustment.c:186 +#: ../gtk/gtkadjustment.c:195 msgid "The page increment of the adjustment" msgstr "The page increment of the adjustment" -#: ../gtk/gtkadjustment.c:205 +#: ../gtk/gtkadjustment.c:214 msgid "Page Size" msgstr "Page Size" -#: ../gtk/gtkadjustment.c:206 +#: ../gtk/gtkadjustment.c:215 msgid "The page size of the adjustment" msgstr "The page size of the adjustment" -#: ../gtk/gtkalignment.c:127 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "Horizontal alignment" -#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -514,11 +535,11 @@ msgstr "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" -#: ../gtk/gtkalignment.c:137 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "Vertical alignment" -#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -526,11 +547,11 @@ msgstr "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" -#: ../gtk/gtkalignment.c:146 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "Horizontal scale" -#: ../gtk/gtkalignment.c:147 +#: ../gtk/gtkalignment.c:157 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -538,11 +559,11 @@ msgstr "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" -#: ../gtk/gtkalignment.c:155 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "Vertical scale" -#: ../gtk/gtkalignment.c:156 +#: ../gtk/gtkalignment.c:166 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -550,38 +571,114 @@ msgstr "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" -#: ../gtk/gtkalignment.c:173 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "Top Padding" -#: ../gtk/gtkalignment.c:174 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "The padding to insert at the top of the widget." -#: ../gtk/gtkalignment.c:190 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "Bottom Padding" -#: ../gtk/gtkalignment.c:191 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "The padding to insert at the bottom of the widget." -#: ../gtk/gtkalignment.c:207 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "Left Padding" -#: ../gtk/gtkalignment.c:208 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "The padding to insert at the left of the widget." -#: ../gtk/gtkalignment.c:224 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "Right Padding" -#: ../gtk/gtkalignment.c:225 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "The padding to insert at the right of the widget." +#: ../gtk/gtkappchooserbutton.c:538 +msgid "Include an 'Other...' item" +msgstr "Include an 'Other...' item" + +#: ../gtk/gtkappchooserbutton.c:539 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" + +#: ../gtk/gtkappchooser.c:58 +msgid "Content type" +msgstr "Content type" + +#: ../gtk/gtkappchooser.c:59 +msgid "The content type used by the open with object" +msgstr "The content type used by the open with object" + +#: ../gtk/gtkappchooserdialog.c:683 +msgid "GFile" +msgstr "GFile" + +#: ../gtk/gtkappchooserdialog.c:684 +msgid "The GFile used by the app chooser dialog" +msgstr "The GFile used by the app chooser dialog" + +#: ../gtk/gtkappchooserwidget.c:1017 +msgid "Show default app" +msgstr "Show default app" + +#: ../gtk/gtkappchooserwidget.c:1018 +msgid "Whether the widget should show the default application" +msgstr "Whether the widget should show the default application" + +#: ../gtk/gtkappchooserwidget.c:1031 +msgid "Show recommended apps" +msgstr "Show recommended apps" + +#: ../gtk/gtkappchooserwidget.c:1032 +msgid "Whether the widget should show recommended applications" +msgstr "Whether the widget should show recommended applications" + +#: ../gtk/gtkappchooserwidget.c:1045 +msgid "Show fallback apps" +msgstr "Show fallback apps" + +#: ../gtk/gtkappchooserwidget.c:1046 +msgid "Whether the widget should show fallback applications" +msgstr "Whether the widget should show fallback applications" + +#: ../gtk/gtkappchooserwidget.c:1058 +msgid "Show other apps" +msgstr "Show other apps" + +#: ../gtk/gtkappchooserwidget.c:1059 +msgid "Whether the widget should show other applications" +msgstr "Whether the widget should show other applications" + +#: ../gtk/gtkappchooserwidget.c:1072 +msgid "Show all apps" +msgstr "Show all apps" + +#: ../gtk/gtkappchooserwidget.c:1073 +msgid "Whether the widget should show all applications" +msgstr "Whether the widget should show all applications" + +#: ../gtk/gtkappchooserwidget.c:1086 +msgid "Widget's default text" +msgstr "Widget's default text" + +#: ../gtk/gtkappchooserwidget.c:1087 +msgid "The default text appearing when there are no applications" +msgstr "The default text appearing when there are no applications" + #: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Arrow direction" @@ -598,7 +695,7 @@ msgstr "Arrow shadow" msgid "Appearance of the shadow surrounding the arrow" msgstr "Appearance of the shadow surrounding the arrow" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Arrow Scaling" @@ -606,7 +703,7 @@ msgstr "Arrow Scaling" msgid "Amount of space used up by arrow" msgstr "Amount of space used up by arrow" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1129 msgid "Horizontal Alignment" msgstr "Horizontal Alignment" @@ -614,7 +711,7 @@ msgstr "Horizontal Alignment" msgid "X alignment of the child" msgstr "X alignment of the child" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1145 msgid "Vertical Alignment" msgstr "Vertical Alignment" @@ -638,59 +735,59 @@ msgstr "Obey child" msgid "Force aspect ratio to match that of the frame's child" msgstr "Force aspect ratio to match that of the frame's child" -#: ../gtk/gtkassistant.c:327 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "Header Padding" -#: ../gtk/gtkassistant.c:328 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "Number of pixels around the header." -#: ../gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "Content Padding" -#: ../gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "Number of pixels around the content pages." -#: ../gtk/gtkassistant.c:352 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "Page type" -#: ../gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "The type of the assistant page" -#: ../gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "Page title" -#: ../gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "The title of the assistant page" -#: ../gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "Header image" -#: ../gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "Header image for the assistant page" -#: ../gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "Sidebar image" -#: ../gtk/gtkassistant.c:405 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "Sidebar image for the assistant page" -#: ../gtk/gtkassistant.c:420 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "Page complete" -#: ../gtk/gtkassistant.c:421 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "Whether all required fields on the page have been filled out" @@ -750,8 +847,8 @@ msgstr "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:267 +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:640 ../gtk/gtktreeviewcolumn.c:268 msgid "Spacing" msgstr "Spacing" @@ -759,7 +856,7 @@ msgstr "Spacing" msgid "The amount of space between children" msgstr "The amount of space between children" -#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 #: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homogeneous" @@ -768,8 +865,9 @@ msgstr "Homogeneous" msgid "Whether the children should all be the same size" msgstr "Whether the children should all be the same size" -#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Expand" @@ -789,7 +887,7 @@ msgstr "" "Whether extra space given to the child should be allocated to the child or " "used as padding" -#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 msgid "Padding" msgstr "Padding" @@ -801,7 +899,7 @@ msgstr "Extra space to put between the child and its neighbors, in pixels" msgid "Pack type" msgstr "Pack type" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 +#: ../gtk/gtkbox.c:297 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -809,12 +907,12 @@ msgstr "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Position" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 msgid "The index of the child in the parent" msgstr "The index of the child in the parent" @@ -826,7 +924,7 @@ msgstr "Translation Domain" msgid "The translation domain used by gettext" msgstr "The translation domain used by gettext" -#: ../gtk/gtkbutton.c:227 +#: ../gtk/gtkbutton.c:228 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" @@ -834,13 +932,13 @@ msgstr "" "Text of the label widget inside the button, if the button contains a label " "widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 -#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 msgid "Use underline" msgstr "Use underline" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 -#: ../gtk/gtkmenuitem.c:347 +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -848,70 +946,70 @@ msgstr "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" -#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "Use stock" -#: ../gtk/gtkbutton.c:243 +#: ../gtk/gtkbutton.c:244 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "If set, the label is used to pick a stock item instead of being displayed" -#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 #: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Focus on click" -#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Whether the button grabs focus when it is clicked with the mouse" -#: ../gtk/gtkbutton.c:258 +#: ../gtk/gtkbutton.c:259 msgid "Border relief" msgstr "Border relief" -#: ../gtk/gtkbutton.c:259 +#: ../gtk/gtkbutton.c:260 msgid "The border relief style" msgstr "The border relief style" -#: ../gtk/gtkbutton.c:276 +#: ../gtk/gtkbutton.c:277 msgid "Horizontal alignment for child" msgstr "Horizontal alignment for child" -#: ../gtk/gtkbutton.c:295 +#: ../gtk/gtkbutton.c:296 msgid "Vertical alignment for child" msgstr "Vertical alignment for child" -#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "Image widget" -#: ../gtk/gtkbutton.c:313 +#: ../gtk/gtkbutton.c:314 msgid "Child widget to appear next to the button text" msgstr "Child widget to appear next to the button text" -#: ../gtk/gtkbutton.c:327 +#: ../gtk/gtkbutton.c:328 msgid "Image position" msgstr "Image position" -#: ../gtk/gtkbutton.c:328 +#: ../gtk/gtkbutton.c:329 msgid "The position of the image relative to the text" msgstr "The position of the image relative to the text" -#: ../gtk/gtkbutton.c:448 +#: ../gtk/gtkbutton.c:449 msgid "Default Spacing" msgstr "Default Spacing" -#: ../gtk/gtkbutton.c:449 +#: ../gtk/gtkbutton.c:450 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Extra space to add for GTK_CAN_DEFAULT buttons" -#: ../gtk/gtkbutton.c:463 +#: ../gtk/gtkbutton.c:464 msgid "Default Outside Spacing" msgstr "Default Outside Spacing" -#: ../gtk/gtkbutton.c:464 +#: ../gtk/gtkbutton.c:465 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -919,31 +1017,31 @@ msgstr "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" -#: ../gtk/gtkbutton.c:469 +#: ../gtk/gtkbutton.c:470 msgid "Child X Displacement" msgstr "Child X Displacement" -#: ../gtk/gtkbutton.c:470 +#: ../gtk/gtkbutton.c:471 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" "How far in the x direction to move the child when the button is depressed" -#: ../gtk/gtkbutton.c:477 +#: ../gtk/gtkbutton.c:478 msgid "Child Y Displacement" msgstr "Child Y Displacement" -#: ../gtk/gtkbutton.c:478 +#: ../gtk/gtkbutton.c:479 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" "How far in the y direction to move the child when the button is depressed" -#: ../gtk/gtkbutton.c:494 +#: ../gtk/gtkbutton.c:495 msgid "Displace focus" msgstr "Displace focus" -#: ../gtk/gtkbutton.c:495 +#: ../gtk/gtkbutton.c:496 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -951,43 +1049,43 @@ msgstr "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Inner Border" -#: ../gtk/gtkbutton.c:509 +#: ../gtk/gtkbutton.c:510 msgid "Border between button edges and child." msgstr "Border between button edges and child." -#: ../gtk/gtkbutton.c:522 +#: ../gtk/gtkbutton.c:523 msgid "Image spacing" msgstr "Image spacing" -#: ../gtk/gtkbutton.c:523 +#: ../gtk/gtkbutton.c:524 msgid "Spacing in pixels between the image and label" msgstr "Spacing in pixels between the image and label" -#: ../gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:468 msgid "Year" msgstr "Year" -#: ../gtk/gtkcalendar.c:480 +#: ../gtk/gtkcalendar.c:469 msgid "The selected year" msgstr "The selected year" -#: ../gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:482 msgid "Month" msgstr "Month" -#: ../gtk/gtkcalendar.c:494 +#: ../gtk/gtkcalendar.c:483 msgid "The selected month (as a number between 0 and 11)" msgstr "The selected month (as a number between 0 and 11)" -#: ../gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:497 msgid "Day" msgstr "Day" -#: ../gtk/gtkcalendar.c:509 +#: ../gtk/gtkcalendar.c:498 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -995,86 +1093,171 @@ msgstr "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" -#: ../gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:512 msgid "Show Heading" msgstr "Show Heading" -#: ../gtk/gtkcalendar.c:524 +#: ../gtk/gtkcalendar.c:513 msgid "If TRUE, a heading is displayed" msgstr "If TRUE, a heading is displayed" -#: ../gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:527 msgid "Show Day Names" msgstr "Show Day Names" -#: ../gtk/gtkcalendar.c:539 +#: ../gtk/gtkcalendar.c:528 msgid "If TRUE, day names are displayed" msgstr "If TRUE, day names are displayed" -#: ../gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:541 msgid "No Month Change" msgstr "No Month Change" -#: ../gtk/gtkcalendar.c:553 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, the selected month cannot be changed" msgstr "If TRUE, the selected month cannot be changed" -#: ../gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:556 msgid "Show Week Numbers" msgstr "Show Week Numbers" -#: ../gtk/gtkcalendar.c:568 +#: ../gtk/gtkcalendar.c:557 msgid "If TRUE, week numbers are displayed" msgstr "If TRUE, week numbers are displayed" -#: ../gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:572 msgid "Details Width" msgstr "Details Width" -#: ../gtk/gtkcalendar.c:584 +#: ../gtk/gtkcalendar.c:573 msgid "Details width in characters" msgstr "Details width in characters" -#: ../gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:588 msgid "Details Height" msgstr "Details Height" -#: ../gtk/gtkcalendar.c:600 +#: ../gtk/gtkcalendar.c:589 msgid "Details height in rows" msgstr "Details height in rows" -#: ../gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:605 msgid "Show Details" msgstr "Show Details" -#: ../gtk/gtkcalendar.c:617 +#: ../gtk/gtkcalendar.c:606 msgid "If TRUE, details are shown" msgstr "If TRUE, details are shown" -#: ../gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:618 msgid "Inner border" msgstr "Inner border" -#: ../gtk/gtkcalendar.c:630 +#: ../gtk/gtkcalendar.c:619 msgid "Inner border space" msgstr "Inner border space" -#: ../gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:630 msgid "Vertical separation" msgstr "Vertical separation" -#: ../gtk/gtkcalendar.c:642 +#: ../gtk/gtkcalendar.c:631 msgid "Space between day headers and main area" msgstr "Space between day headers and main area" -#: ../gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:642 msgid "Horizontal separation" msgstr "Horizontal separation" -#: ../gtk/gtkcalendar.c:654 +#: ../gtk/gtkcalendar.c:643 msgid "Space between week headers and main area" msgstr "Space between week headers and main area" +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "Space which is inserted between cells" + +#: ../gtk/gtkcellareabox.c:339 +msgid "Whether the cell expands" +msgstr "Whether the cell expands" + +#: ../gtk/gtkcellareabox.c:354 +msgid "Align" +msgstr "Align" + +#: ../gtk/gtkcellareabox.c:355 +msgid "Whether cell should align with adjacent rows" +msgstr "Whether cell should align with adjacent rows" + +#: ../gtk/gtkcellareabox.c:371 +msgid "Fixed Size" +msgstr "Fixed Size" + +#: ../gtk/gtkcellareabox.c:372 +msgid "Whether cells should be the same size in all rows" +msgstr "Whether cells should be the same size in all rows" + +#: ../gtk/gtkcellareabox.c:388 +msgid "Pack Type" +msgstr "Pack Type" + +#: ../gtk/gtkcellareabox.c:389 +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "Focus Cell" + +#: ../gtk/gtkcellarea.c:774 +msgid "The cell which currently has focus" +msgstr "The cell which currently has focus" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "Edited Cell" + +#: ../gtk/gtkcellarea.c:793 +msgid "The cell which is currently being edited" +msgstr "The cell which is currently being edited" + +#: ../gtk/gtkcellarea.c:811 +msgid "Edit Widget" +msgstr "Edit Widget" + +#: ../gtk/gtkcellarea.c:812 +msgid "The widget currently editing the edited cell" +msgstr "The widget currently editing the edited cell" + +#: ../gtk/gtkcellareacontext.c:127 +msgid "Area" +msgstr "Area" + +#: ../gtk/gtkcellareacontext.c:128 +msgid "The Cell Area this context was created for" +msgstr "The Cell Area this context was created for" + +#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "Minimum Width" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +msgid "Minimum cached width" +msgstr "Minimum cached width" + +#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 +msgid "Minimum Height" +msgstr "Minimum Height" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +msgid "Minimum cached height" +msgstr "Minimum cached height" + #: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Editing Canceled" @@ -1083,159 +1266,159 @@ msgstr "Editing Canceled" msgid "Indicates that editing has been canceled" msgstr "Indicates that editing has been canceled" -#: ../gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:137 msgid "Accelerator key" msgstr "Accelerator key" -#: ../gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "The keyval of the accelerator" msgstr "The keyval of the accelerator" -#: ../gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:154 msgid "Accelerator modifiers" msgstr "Accelerator modifiers" -#: ../gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "The modifier mask of the accelerator" msgstr "The modifier mask of the accelerator" -#: ../gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:172 msgid "Accelerator keycode" msgstr "Accelerator keycode" -#: ../gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "The hardware keycode of the accelerator" msgstr "The hardware keycode of the accelerator" -#: ../gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:192 msgid "Accelerator Mode" msgstr "Accelerator Mode" -#: ../gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "The type of accelerators" msgstr "The type of accelerators" -#: ../gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:272 msgid "mode" msgstr "mode" -#: ../gtk/gtkcellrenderer.c:272 +#: ../gtk/gtkcellrenderer.c:273 msgid "Editable mode of the CellRenderer" msgstr "Editable mode of the CellRenderer" -#: ../gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:281 msgid "visible" msgstr "visible" -#: ../gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:282 msgid "Display the cell" msgstr "Display the cell" -#: ../gtk/gtkcellrenderer.c:288 +#: ../gtk/gtkcellrenderer.c:289 msgid "Display the cell sensitive" msgstr "Display the cell sensitive" -#: ../gtk/gtkcellrenderer.c:295 +#: ../gtk/gtkcellrenderer.c:296 msgid "xalign" msgstr "xalign" -#: ../gtk/gtkcellrenderer.c:296 +#: ../gtk/gtkcellrenderer.c:297 msgid "The x-align" msgstr "The x-align" -#: ../gtk/gtkcellrenderer.c:305 +#: ../gtk/gtkcellrenderer.c:306 msgid "yalign" msgstr "yalign" -#: ../gtk/gtkcellrenderer.c:306 +#: ../gtk/gtkcellrenderer.c:307 msgid "The y-align" msgstr "The y-align" -#: ../gtk/gtkcellrenderer.c:315 +#: ../gtk/gtkcellrenderer.c:316 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:316 +#: ../gtk/gtkcellrenderer.c:317 msgid "The xpad" msgstr "The xpad" -#: ../gtk/gtkcellrenderer.c:325 +#: ../gtk/gtkcellrenderer.c:326 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:326 +#: ../gtk/gtkcellrenderer.c:327 msgid "The ypad" msgstr "The ypad" -#: ../gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:336 msgid "width" msgstr "width" -#: ../gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:337 msgid "The fixed width" msgstr "The fixed width" -#: ../gtk/gtkcellrenderer.c:345 +#: ../gtk/gtkcellrenderer.c:346 msgid "height" msgstr "height" -#: ../gtk/gtkcellrenderer.c:346 +#: ../gtk/gtkcellrenderer.c:347 msgid "The fixed height" msgstr "The fixed height" -#: ../gtk/gtkcellrenderer.c:355 +#: ../gtk/gtkcellrenderer.c:356 msgid "Is Expander" msgstr "Is Expander" -#: ../gtk/gtkcellrenderer.c:356 +#: ../gtk/gtkcellrenderer.c:357 msgid "Row has children" msgstr "Row has children" -#: ../gtk/gtkcellrenderer.c:364 +#: ../gtk/gtkcellrenderer.c:365 msgid "Is Expanded" msgstr "Is Expanded" -#: ../gtk/gtkcellrenderer.c:365 +#: ../gtk/gtkcellrenderer.c:366 msgid "Row is an expander row, and is expanded" msgstr "Row is an expander row, and is expanded" -#: ../gtk/gtkcellrenderer.c:372 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color name" msgstr "Cell background color name" -#: ../gtk/gtkcellrenderer.c:373 +#: ../gtk/gtkcellrenderer.c:374 msgid "Cell background color as a string" msgstr "Cell background color as a string" -#: ../gtk/gtkcellrenderer.c:380 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color" msgstr "Cell background color" -#: ../gtk/gtkcellrenderer.c:381 +#: ../gtk/gtkcellrenderer.c:382 msgid "Cell background color as a GdkColor" msgstr "Cell background color as a GdkColor" -#: ../gtk/gtkcellrenderer.c:394 +#: ../gtk/gtkcellrenderer.c:395 msgid "Cell background RGBA color" msgstr "Cell background RGBA color" -#: ../gtk/gtkcellrenderer.c:395 +#: ../gtk/gtkcellrenderer.c:396 msgid "Cell background color as a GdkRGBA" msgstr "Cell background color as a GdkRGBA" -#: ../gtk/gtkcellrenderer.c:402 +#: ../gtk/gtkcellrenderer.c:403 msgid "Editing" msgstr "Editing" -#: ../gtk/gtkcellrenderer.c:403 +#: ../gtk/gtkcellrenderer.c:404 msgid "Whether the cell renderer is currently in editing mode" msgstr "Whether the cell renderer is currently in editing mode" -#: ../gtk/gtkcellrenderer.c:411 +#: ../gtk/gtkcellrenderer.c:412 msgid "Cell background set" msgstr "Cell background set" -#: ../gtk/gtkcellrenderer.c:412 +#: ../gtk/gtkcellrenderer.c:413 msgid "Whether this tag affects the cell background color" msgstr "Whether this tag affects the cell background color" @@ -1255,7 +1438,7 @@ msgstr "Text Column" msgid "A column in the data source model to get the strings from" msgstr "A column in the data source model to get the strings from" -#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 msgid "Has Entry" msgstr "Has Entry" @@ -1287,8 +1470,8 @@ msgstr "Pixbuf Expander Closed" msgid "Pixbuf for closed expander" msgstr "Pixbuf for closed expander" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 -#: ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:251 +#: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "Stock ID" @@ -1296,8 +1479,8 @@ msgstr "Stock ID" msgid "The stock ID of the stock icon to render" msgstr "The stock ID of the stock icon to render" -#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 -#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "Size" @@ -1321,8 +1504,8 @@ msgstr "Follow State" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Whether the rendered pixbuf should be colorized according to the state" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:709 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:326 +#: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Icon" @@ -1332,8 +1515,8 @@ msgstr "Value of the progress bar" #: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 #: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 -#: ../gtk/gtktextbuffer.c:209 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 msgid "Text" msgstr "Text" @@ -1341,7 +1524,7 @@ msgstr "Text" msgid "Text on the progress bar" msgstr "Text on the progress bar" -#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137 msgid "Pulse" msgstr "Pulse" @@ -1374,7 +1557,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "The vertical text alignment, from 0 (top) to 1 (bottom)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:439 +#: ../gtk/gtkrange.c:423 msgid "Inverted" msgstr "Inverted" @@ -1382,12 +1565,12 @@ msgstr "Inverted" msgid "Invert the direction in which the progress bar grows" msgstr "Invert the direction in which the progress bar grows" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Adjustment" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 msgid "The adjustment that holds the value of the spin button" msgstr "The adjustment that holds the value of the spin button" @@ -1395,21 +1578,21 @@ msgstr "The adjustment that holds the value of the spin button" msgid "Climb rate" msgstr "Climb rate" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 msgid "The acceleration rate when you hold down a button" msgstr "The acceleration rate when you hold down a button" #: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 -#: ../gtk/gtkspinbutton.c:247 +#: ../gtk/gtkspinbutton.c:338 msgid "Digits" msgstr "Digits" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 msgid "The number of decimal places to display" msgstr "The number of decimal places to display" -#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1419,11 +1602,11 @@ msgstr "Active" msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Whether the spinner is active (ie. shown) in the cell" -#: ../gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:138 msgid "Pulse of the spinner" msgstr "Pulse of the spinner" -#: ../gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:152 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "The GtkIconSize value that specifies the size of the rendered spinner" @@ -1439,7 +1622,7 @@ msgstr "Markup" msgid "Marked up text to render" msgstr "Marked up text to render" -#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Attributes" @@ -1455,22 +1638,22 @@ msgstr "Single Paragraph Mode" msgid "Whether to keep all text in a single paragraph" msgstr "Whether to keep all text in a single paragraph" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 -#: ../gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:180 msgid "Background color name" msgstr "Background color name" -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 -#: ../gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:181 msgid "Background color as a string" msgstr "Background color as a string" -#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 -#: ../gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:188 msgid "Background color" msgstr "Background color" -#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 msgid "Background color as a GdkColor" msgstr "Background color as a GdkColor" @@ -1478,20 +1661,20 @@ msgstr "Background color as a GdkColor" msgid "Background color as RGBA" msgstr "Background color as RGBA" -#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 msgid "Background color as a GdkRGBA" msgstr "Background color as a GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 msgid "Foreground color name" msgstr "Foreground color name" -#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 msgid "Foreground color as a string" msgstr "Foreground color as a string" -#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 -#: ../gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Foreground color" @@ -1508,70 +1691,70 @@ msgid "Foreground color as a GdkRGBA" msgstr "Foreground color as a GdkRGBA" #: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 +#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 msgid "Editable" msgstr "Editable" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:685 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 +#: ../gtk/gtktextview.c:686 msgid "Whether the text can be modified by the user" msgstr "Whether the text can be modified by the user" #: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 -#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 msgid "Font" msgstr "Font" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Font description as a string, e.g. \"Sans Italic 12\"" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 msgid "Font description as a PangoFontDescription struct" msgstr "Font description as a PangoFontDescription struct" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 msgid "Font family" msgstr "Font family" -#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" #: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 -#: ../gtk/gtktexttag.c:267 +#: ../gtk/gtktexttag.c:269 msgid "Font style" msgstr "Font style" #: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 -#: ../gtk/gtktexttag.c:276 +#: ../gtk/gtktexttag.c:278 msgid "Font variant" msgstr "Font variant" #: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 -#: ../gtk/gtktexttag.c:285 +#: ../gtk/gtktexttag.c:287 msgid "Font weight" msgstr "Font weight" #: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 -#: ../gtk/gtktexttag.c:296 +#: ../gtk/gtktexttag.c:298 msgid "Font stretch" msgstr "Font stretch" #: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 -#: ../gtk/gtktexttag.c:305 +#: ../gtk/gtktexttag.c:307 msgid "Font size" msgstr "Font size" -#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 msgid "Font points" msgstr "Font points" -#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 msgid "Font size in points" msgstr "Font size in points" -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 msgid "Font scale" msgstr "Font scale" @@ -1579,7 +1762,7 @@ msgstr "Font scale" msgid "Font scaling factor" msgstr "Font scaling factor" -#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 msgid "Rise" msgstr "Rise" @@ -1589,23 +1772,23 @@ msgid "" msgstr "" "Offset of text above the baseline (below the baseline if rise is negative)" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 msgid "Strikethrough" msgstr "Strikethrough" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 msgid "Whether to strike through the text" msgstr "Whether to strike through the text" -#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 msgid "Underline" msgstr "Underline" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 msgid "Style of underline for this text" msgstr "Style of underline for this text" -#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 msgid "Language" msgstr "Language" @@ -1619,8 +1802,8 @@ msgstr "" "when rendering the text. If you don't understand this parameter, you " "probably don't need it" -#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 -#: ../gtk/gtkprogressbar.c:207 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:217 msgid "Ellipsize" msgstr "Ellipsize" @@ -1633,15 +1816,15 @@ msgstr "" "have enough room to display the entire string" #: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:719 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Width In Characters" -#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "The desired width of the label, in characters" -#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Maximum Width In Characters" @@ -1649,7 +1832,7 @@ msgstr "Maximum Width In Characters" msgid "The maximum width of the cell, in characters" msgstr "The maximum width of the cell, in characters" -#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 msgid "Wrap mode" msgstr "Wrap mode" @@ -1661,7 +1844,7 @@ msgstr "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" -#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 msgid "Wrap width" msgstr "Wrap width" @@ -1669,7 +1852,7 @@ msgstr "Wrap width" msgid "The width at which the text is wrapped" msgstr "The width at which the text is wrapped" -#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 msgid "Alignment" msgstr "Alignment" @@ -1677,117 +1860,117 @@ msgstr "Alignment" msgid "How to align the lines" msgstr "How to draw the toolbar" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 -#: ../gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:542 msgid "Background set" msgstr "Background set" -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 -#: ../gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:543 msgid "Whether this tag affects the background color" msgstr "Whether this tag affects the background color" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 msgid "Foreground set" msgstr "Foreground set" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 msgid "Whether this tag affects the foreground color" msgstr "Whether this tag affects the foreground color" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 msgid "Editability set" msgstr "Editability set" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 msgid "Whether this tag affects text editability" msgstr "Whether this tag affects text editability" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 msgid "Font family set" msgstr "Font family set" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the font family" msgstr "Whether this tag affects the font family" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 msgid "Font style set" msgstr "Font style set" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 msgid "Whether this tag affects the font style" msgstr "Whether this tag affects the font style" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 msgid "Font variant set" msgstr "Font variant set" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the font variant" msgstr "Whether this tag affects the font variant" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 msgid "Font weight set" msgstr "Font weight set" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects the font weight" msgstr "Whether this tag affects the font weight" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 msgid "Font stretch set" msgstr "Font stretch set" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font stretch" msgstr "Whether this tag affects the font stretch" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 msgid "Font size set" msgstr "Font size set" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font size" msgstr "Whether this tag affects the font size" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 msgid "Font scale set" msgstr "Font scale set" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 msgid "Whether this tag scales the font size by a factor" msgstr "Whether this tag scales the font size by a factor" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 msgid "Rise set" msgstr "Rise set" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 msgid "Whether this tag affects the rise" msgstr "Whether this tag affects the rise" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 msgid "Strikethrough set" msgstr "Strikethrough set" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects strikethrough" msgstr "Whether this tag affects strikethrough" -#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 msgid "Underline set" msgstr "Underline set" -#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects underlining" msgstr "Whether this tag affects underlining" -#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 msgid "Language set" msgstr "Language set" -#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the language the text is rendered as" msgstr "Whether this tag affects the language the text is rendered as" @@ -1844,27 +2027,63 @@ msgid "Indicator size" msgstr "Indicator size" #: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 -#: ../gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "Size of check or radio indicator" -#: ../gtk/gtkcellview.c:213 +#: ../gtk/gtkcellview.c:210 msgid "Background RGBA color" msgstr "Background RGBA color" -#: ../gtk/gtkcellview.c:228 +#: ../gtk/gtkcellview.c:225 msgid "CellView model" msgstr "CellView model" -#: ../gtk/gtkcellview.c:229 +#: ../gtk/gtkcellview.c:226 msgid "The model for cell view" msgstr "The model for cell view" -#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtkiconview.c:762 +#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "Cell Area" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 +#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "The GtkCellArea used to layout cells" + +#: ../gtk/gtkcellview.c:265 +msgid "Cell Area Context" +msgstr "Cell Area Context" + +#: ../gtk/gtkcellview.c:266 +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "The GtkCellAreaContext used to compute the geometry of the cell view" + +#: ../gtk/gtkcellview.c:283 +msgid "Draw Sensitive" +msgstr "Draw Sensitive" + +#: ../gtk/gtkcellview.c:284 +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "Whether to force cells to be drawn in a sensitive state" + +#: ../gtk/gtkcellview.c:302 +msgid "Fit Model" +msgstr "Fit Model" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "Whether to request enough space for every row in the model" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "Indicator Size" -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 msgid "Indicator Spacing" msgstr "Indicator Spacing" @@ -1872,97 +2091,97 @@ msgstr "Indicator Spacing" msgid "Spacing around check or radio indicator" msgstr "Spacing around check or radio indicator" -#: ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "Whether the menu item is checked" -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inconsistent" -#: ../gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "Whether to display an \"inconsistent\" state" -#: ../gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "Draw as radio menu item" -#: ../gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "Whether the menu item looks like a radio menu item" -#: ../gtk/gtkcolorbutton.c:171 +#: ../gtk/gtkcolorbutton.c:170 msgid "Use alpha" msgstr "Use alpha" -#: ../gtk/gtkcolorbutton.c:172 +#: ../gtk/gtkcolorbutton.c:171 msgid "Whether to give the color an alpha value" msgstr "Whether to give the color an alpha value" -#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 #: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Title" -#: ../gtk/gtkcolorbutton.c:187 +#: ../gtk/gtkcolorbutton.c:186 msgid "The title of the color selection dialog" msgstr "The title of the color selection dialog" -#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:339 +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Current Color" -#: ../gtk/gtkcolorbutton.c:202 +#: ../gtk/gtkcolorbutton.c:201 msgid "The selected color" msgstr "The selected color" -#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:346 +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Current Alpha" -#: ../gtk/gtkcolorbutton.c:217 +#: ../gtk/gtkcolorbutton.c:216 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "The selected opacity value (0 fully transparent, 65535 fully opaque)" -#: ../gtk/gtkcolorbutton.c:231 +#: ../gtk/gtkcolorbutton.c:230 msgid "Current RGBA Color" msgstr "Current RGBA Color" -#: ../gtk/gtkcolorbutton.c:232 +#: ../gtk/gtkcolorbutton.c:231 msgid "The selected RGBA color" msgstr "The selected RGBA color" -#: ../gtk/gtkcolorsel.c:325 +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Has Opacity Control" -#: ../gtk/gtkcolorsel.c:326 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "Whether the color selector should allow setting opacity" -#: ../gtk/gtkcolorsel.c:332 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Has palette" -#: ../gtk/gtkcolorsel.c:333 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Whether a palette should be used" -#: ../gtk/gtkcolorsel.c:340 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "The current color" -#: ../gtk/gtkcolorsel.c:347 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "The current opacity value (0 fully transparent, 65535 fully opaque)" -#: ../gtk/gtkcolorsel.c:361 +#: ../gtk/gtkcolorsel.c:360 msgid "Current RGBA" msgstr "Current RGBA" -#: ../gtk/gtkcolorsel.c:362 +#: ../gtk/gtkcolorsel.c:361 msgid "The current RGBA color" msgstr "The current RGBA color" @@ -1998,67 +2217,67 @@ msgstr "Help Button" msgid "The help button of the dialog." msgstr "The help button of the dialog." -#: ../gtk/gtkcombobox.c:737 +#: ../gtk/gtkcombobox.c:663 msgid "ComboBox model" msgstr "ComboBox model" -#: ../gtk/gtkcombobox.c:738 +#: ../gtk/gtkcombobox.c:664 msgid "The model for the combo box" msgstr "The model for the combo box" -#: ../gtk/gtkcombobox.c:755 +#: ../gtk/gtkcombobox.c:681 msgid "Wrap width for laying out the items in a grid" msgstr "Wrap width for laying out the items in a grid" -#: ../gtk/gtkcombobox.c:777 +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 msgid "Row span column" msgstr "Row span column" -#: ../gtk/gtkcombobox.c:778 +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 msgid "TreeModel column containing the row span values" msgstr "TreeModel column containing the row span values" -#: ../gtk/gtkcombobox.c:799 +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 msgid "Column span column" msgstr "Column span column" -#: ../gtk/gtkcombobox.c:800 +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 msgid "TreeModel column containing the column span values" msgstr "TreeModel column containing the column span values" -#: ../gtk/gtkcombobox.c:821 +#: ../gtk/gtkcombobox.c:747 msgid "Active item" msgstr "Active item" -#: ../gtk/gtkcombobox.c:822 +#: ../gtk/gtkcombobox.c:748 msgid "The item which is currently active" msgstr "The item which is currently active" -#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Add tearoffs to menus" -#: ../gtk/gtkcombobox.c:842 +#: ../gtk/gtkcombobox.c:768 msgid "Whether dropdowns should have a tearoff menu item" msgstr "Whether dropdowns should have a tearoff menu item" -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Has Frame" -#: ../gtk/gtkcombobox.c:858 +#: ../gtk/gtkcombobox.c:784 msgid "Whether the combo box draws a frame around the child" msgstr "Whether the combo box draws a frame around the child" -#: ../gtk/gtkcombobox.c:866 +#: ../gtk/gtkcombobox.c:792 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Whether the combo box grabs focus when it is clicked with the mouse" -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 msgid "Tearoff Title" msgstr "Tearoff Title" -#: ../gtk/gtkcombobox.c:882 +#: ../gtk/gtkcombobox.c:808 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" @@ -2066,31 +2285,31 @@ msgstr "" "A title that may be displayed by the window manager when the popup is torn-" "off" -#: ../gtk/gtkcombobox.c:899 +#: ../gtk/gtkcombobox.c:825 msgid "Popup shown" msgstr "Popup shown" -#: ../gtk/gtkcombobox.c:900 +#: ../gtk/gtkcombobox.c:826 msgid "Whether the combo's dropdown is shown" msgstr "Whether the combo's dropdown is shown" -#: ../gtk/gtkcombobox.c:916 +#: ../gtk/gtkcombobox.c:842 msgid "Button Sensitivity" msgstr "Button Sensitivity" -#: ../gtk/gtkcombobox.c:917 +#: ../gtk/gtkcombobox.c:843 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Whether the dropdown button is sensitive when the model is empty" -#: ../gtk/gtkcombobox.c:933 +#: ../gtk/gtkcombobox.c:859 msgid "Whether combo box has an entry" msgstr "Whether combo box has an entry" -#: ../gtk/gtkcombobox.c:948 +#: ../gtk/gtkcombobox.c:874 msgid "Entry Text Column" msgstr "Entry Text Column" -#: ../gtk/gtkcombobox.c:949 +#: ../gtk/gtkcombobox.c:875 msgid "" "The column in the combo box's model to associate with strings from the entry " "if the combo was created with #GtkComboBox:has-entry = %TRUE" @@ -2098,11 +2317,11 @@ msgstr "" "The column in the combo box's model to associate with strings from the entry " "if the combo was created with #GtkComboBox:has-entry = %TRUE" -#: ../gtk/gtkcombobox.c:966 +#: ../gtk/gtkcombobox.c:892 msgid "ID Column" msgstr "ID Column" -#: ../gtk/gtkcombobox.c:967 +#: ../gtk/gtkcombobox.c:893 msgid "" "The column in the combo box's model that provides string IDs for the values " "in the model" @@ -2110,19 +2329,19 @@ msgstr "" "The column in the combo box's model that provides string IDs for the values " "in the model" -#: ../gtk/gtkcombobox.c:982 +#: ../gtk/gtkcombobox.c:908 msgid "Active id" msgstr "Active id" -#: ../gtk/gtkcombobox.c:983 +#: ../gtk/gtkcombobox.c:909 msgid "The value of the id column for the active row" msgstr "The value of the id column for the active row" -#: ../gtk/gtkcombobox.c:998 +#: ../gtk/gtkcombobox.c:924 msgid "Popup Fixed Width" msgstr "Popup Fixed Width" -#: ../gtk/gtkcombobox.c:999 +#: ../gtk/gtkcombobox.c:925 msgid "" "Whether the popup's width should be a fixed width matching the allocated " "width of the combo box" @@ -2130,85 +2349,85 @@ msgstr "" "Whether the popup's width should be a fixed width matching the allocated " "width of the combo box" -#: ../gtk/gtkcombobox.c:1007 +#: ../gtk/gtkcombobox.c:948 msgid "Appears as list" msgstr "Appears as list" -#: ../gtk/gtkcombobox.c:1008 +#: ../gtk/gtkcombobox.c:949 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Whether dropdowns should look like lists rather than menus" -#: ../gtk/gtkcombobox.c:1024 +#: ../gtk/gtkcombobox.c:965 msgid "Arrow Size" msgstr "Arrow Size" -#: ../gtk/gtkcombobox.c:1025 +#: ../gtk/gtkcombobox.c:966 msgid "The minimum size of the arrow in the combo box" msgstr "The minimum size of the arrow in the combo box" -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 -#: ../gtk/gtkviewport.c:154 +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkviewport.c:153 msgid "Shadow type" msgstr "Shadow type" -#: ../gtk/gtkcombobox.c:1041 +#: ../gtk/gtkcombobox.c:982 msgid "Which kind of shadow to draw around the combo box" msgstr "Which kind of shadow to draw around the combo box" -#: ../gtk/gtkcontainer.c:451 +#: ../gtk/gtkcontainer.c:453 msgid "Resize mode" msgstr "Resize mode" -#: ../gtk/gtkcontainer.c:452 +#: ../gtk/gtkcontainer.c:454 msgid "Specify how resize events are handled" msgstr "Specify how resize events are handled" -#: ../gtk/gtkcontainer.c:459 +#: ../gtk/gtkcontainer.c:461 msgid "Border width" msgstr "Border width" -#: ../gtk/gtkcontainer.c:460 +#: ../gtk/gtkcontainer.c:462 msgid "The width of the empty border outside the containers children" msgstr "The width of the empty border outside the containers children" -#: ../gtk/gtkcontainer.c:468 +#: ../gtk/gtkcontainer.c:470 msgid "Child" msgstr "Child" -#: ../gtk/gtkcontainer.c:469 +#: ../gtk/gtkcontainer.c:471 msgid "Can be used to add a new child to the container" msgstr "Can be used to add a new child to the container" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Content area border" -#: ../gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:290 msgid "Width of border around the main dialog area" msgstr "Width of border around the main dialog area" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Content area spacing" -#: ../gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:308 msgid "Spacing between elements of the main dialog area" msgstr "Spacing between elements of the main dialog area" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Button spacing" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Spacing between buttons" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Action area border" -#: ../gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:325 msgid "Width of border around the button area at the bottom of the dialog" msgstr "Width of border around the button area at the bottom of the dialog" @@ -2220,19 +2439,19 @@ msgstr "Text Buffer" msgid "Text buffer object which actually stores entry text" msgstr "Text buffer object which actually stores entry text" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Cursor Position" -#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "The current position of the insertion cursor in chars" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Selection Bound" -#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" @@ -2337,7 +2556,7 @@ msgstr "Whether to truncate multiline pastes to one line." msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "Which kind of shadow to draw around the entry when has-frame is set" -#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 msgid "Overwrite mode" msgstr "Overwrite mode" @@ -2525,11 +2744,11 @@ msgstr "Primary icon tooltip markup" msgid "Secondary icon tooltip markup" msgstr "Secondary icon tooltip markup" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 msgid "IM module" msgstr "IM module" -#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 msgid "Which IM module should be used" msgstr "Which IM module should be used" @@ -2561,83 +2780,75 @@ msgstr "The contents of the buffer" msgid "Length of the text currently in the buffer" msgstr "Length of the text currently in the buffer" -#: ../gtk/gtkentrycompletion.c:267 +#: ../gtk/gtkentrycompletion.c:301 msgid "Completion Model" msgstr "Completion Model" -#: ../gtk/gtkentrycompletion.c:268 +#: ../gtk/gtkentrycompletion.c:302 msgid "The model to find matches in" msgstr "The model to find matches in" -#: ../gtk/gtkentrycompletion.c:274 +#: ../gtk/gtkentrycompletion.c:308 msgid "Minimum Key Length" msgstr "Minimum Key Length" -#: ../gtk/gtkentrycompletion.c:275 +#: ../gtk/gtkentrycompletion.c:309 msgid "Minimum length of the search key in order to look up matches" msgstr "Minimum length of the search key in order to look up matches" -#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:561 msgid "Text column" msgstr "Text column" -#: ../gtk/gtkentrycompletion.c:292 +#: ../gtk/gtkentrycompletion.c:326 msgid "The column of the model containing the strings." msgstr "The column of the model containing the strings." -#: ../gtk/gtkentrycompletion.c:311 +#: ../gtk/gtkentrycompletion.c:345 msgid "Inline completion" msgstr "Inline completion" -#: ../gtk/gtkentrycompletion.c:312 +#: ../gtk/gtkentrycompletion.c:346 msgid "Whether the common prefix should be inserted automatically" msgstr "Whether the common prefix should be inserted automatically" -#: ../gtk/gtkentrycompletion.c:326 +#: ../gtk/gtkentrycompletion.c:360 msgid "Popup completion" msgstr "Popup completion" -#: ../gtk/gtkentrycompletion.c:327 +#: ../gtk/gtkentrycompletion.c:361 msgid "Whether the completions should be shown in a popup window" msgstr "Whether the completions should be shown in a popup window" -#: ../gtk/gtkentrycompletion.c:342 +#: ../gtk/gtkentrycompletion.c:376 msgid "Popup set width" msgstr "Popup set width" -#: ../gtk/gtkentrycompletion.c:343 +#: ../gtk/gtkentrycompletion.c:377 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "If TRUE, the popup window will have the same size as the entry" -#: ../gtk/gtkentrycompletion.c:361 +#: ../gtk/gtkentrycompletion.c:395 msgid "Popup single match" msgstr "Popup single match" -#: ../gtk/gtkentrycompletion.c:362 +#: ../gtk/gtkentrycompletion.c:396 msgid "If TRUE, the popup window will appear for a single match." msgstr "If TRUE, the popup window will appear for a single match." -#: ../gtk/gtkentrycompletion.c:376 +#: ../gtk/gtkentrycompletion.c:410 msgid "Inline selection" msgstr "Inline selection" -#: ../gtk/gtkentrycompletion.c:377 +#: ../gtk/gtkentrycompletion.c:411 msgid "Your description here" msgstr "Your description here" -#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 -msgid "Cell Area" -msgstr "Cell Area" - -#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 -msgid "The GtkCellArea used to layout cells" -msgstr "The GtkCellArea used to layout cells" - -#: ../gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "Visible Window" msgstr "Visible Window" -#: ../gtk/gtkeventbox.c:102 +#: ../gtk/gtkeventbox.c:110 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2645,11 +2856,11 @@ msgstr "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." -#: ../gtk/gtkeventbox.c:108 +#: ../gtk/gtkeventbox.c:116 msgid "Above child" msgstr "Above child" -#: ../gtk/gtkeventbox.c:109 +#: ../gtk/gtkeventbox.c:117 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2657,58 +2868,58 @@ msgstr "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." -#: ../gtk/gtkexpander.c:199 +#: ../gtk/gtkexpander.c:279 msgid "Expanded" msgstr "Expanded" -#: ../gtk/gtkexpander.c:200 +#: ../gtk/gtkexpander.c:280 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Whether the expander has been opened to reveal the child widget" -#: ../gtk/gtkexpander.c:208 +#: ../gtk/gtkexpander.c:288 msgid "Text of the expander's label" msgstr "Text of the expander's label" -#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Use markup" -#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "The text of the label includes XML markup. See pango_parse_markup()" -#: ../gtk/gtkexpander.c:232 +#: ../gtk/gtkexpander.c:312 msgid "Space to put between the label and the child" msgstr "Space to put between the label and the child" -#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 #: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Label widget" -#: ../gtk/gtkexpander.c:242 +#: ../gtk/gtkexpander.c:322 msgid "A widget to display in place of the usual expander label" msgstr "A widget to display in place of the usual expander label" -#: ../gtk/gtkexpander.c:249 +#: ../gtk/gtkexpander.c:329 msgid "Label fill" msgstr "Label fill" -#: ../gtk/gtkexpander.c:250 +#: ../gtk/gtkexpander.c:330 msgid "Whether the label widget should fill all available horizontal space" msgstr "Whether the label widget should fill all available horizontal space" -#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:1190 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Expander Size" -#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:1191 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Size of the expander arrow" -#: ../gtk/gtkexpander.c:266 +#: ../gtk/gtkexpander.c:346 msgid "Spacing around expander arrow" msgstr "Spacing around expander arrow" @@ -2826,19 +3037,19 @@ msgstr "" "Whether a file chooser not in open mode will offer the user to create new " "folders." -#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:632 msgid "X position" msgstr "X position" -#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:633 msgid "X position of child widget" msgstr "X position of child widget" -#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:642 msgid "Y position" msgstr "Y position" -#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:643 msgid "Y position of child widget" msgstr "Y position of child widget" @@ -2846,7 +3057,7 @@ msgstr "Y position of child widget" msgid "The title of the font selection dialog" msgstr "The title of the font selection dialog" -#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:219 msgid "Font name" msgstr "Font name" @@ -2890,67 +3101,131 @@ msgstr "Show size" msgid "Whether selected font size is shown in the label" msgstr "Whether selected font size is shown in the label" -#: ../gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:220 msgid "The string that represents this font" msgstr "The string that represents this font" -#: ../gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:226 msgid "Preview text" msgstr "Preview text" -#: ../gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:227 msgid "The text to display in order to demonstrate the selected font" msgstr "The text to display in order to demonstrate the selected font" -#: ../gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:132 msgid "Text of the frame's label" msgstr "Text of the frame's label" -#: ../gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:139 msgid "Label xalign" msgstr "Label xalign" -#: ../gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:140 msgid "The horizontal alignment of the label" msgstr "The horizontal alignment of the label" -#: ../gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:148 msgid "Label yalign" msgstr "Label yalign" -#: ../gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:149 msgid "The vertical alignment of the label" msgstr "The vertical alignment of the label" -#: ../gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:157 msgid "Frame shadow" msgstr "Frame shadow" -#: ../gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:158 msgid "Appearance of the frame border" msgstr "Appearance of the frame border" -#: ../gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:167 msgid "A widget to display in place of the usual frame label" msgstr "A widget to display in place of the usual frame label" -#: ../gtk/gtkhandlebox.c:189 +#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "Row spacing" + +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "The amount of space between two consecutive rows" + +#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "Column spacing" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "The amount of space between two consecutive columns" + +#: ../gtk/gtkgrid.c:1282 +msgid "Row Homogeneous" +msgstr "Row Homogeneous" + +#: ../gtk/gtkgrid.c:1283 +msgid "If TRUE, the rows are all the same height" +msgstr "If TRUE, the rows are all the same height" + +#: ../gtk/gtkgrid.c:1289 +msgid "Column Homogeneous" +msgstr "Column Homogeneous" + +#: ../gtk/gtkgrid.c:1290 +msgid "If TRUE, the columns are all the same width" +msgstr "If TRUE, the columns are all the same width" + +#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "Left attachment" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "The column number to attach the left side of the child to" + +#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "Top attachment" + +#: ../gtk/gtkgrid.c:1304 +msgid "The row number to attach the top side of a child widget to" +msgstr "The row number to attach the top side of a child widget to" + +#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "Width" + +#: ../gtk/gtkgrid.c:1311 +msgid "The number of columns that a child spans" +msgstr "The number of columns that a child spans" + +#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:667 +msgid "Height" +msgstr "Height" + +#: ../gtk/gtkgrid.c:1318 +msgid "The number of rows that a child spans" +msgstr "The number of rows that a child spans" + +#: ../gtk/gtkhandlebox.c:191 msgid "Appearance of the shadow that surrounds the container" msgstr "Appearance of the shadow that surrounds the container" -#: ../gtk/gtkhandlebox.c:197 +#: ../gtk/gtkhandlebox.c:199 msgid "Handle position" msgstr "Handle position" -#: ../gtk/gtkhandlebox.c:198 +#: ../gtk/gtkhandlebox.c:200 msgid "Position of the handle relative to the child widget" msgstr "Position of the handle relative to the child widget" -#: ../gtk/gtkhandlebox.c:206 +#: ../gtk/gtkhandlebox.c:208 msgid "Snap edge" msgstr "Snap edge" -#: ../gtk/gtkhandlebox.c:207 +#: ../gtk/gtkhandlebox.c:209 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -2958,11 +3233,11 @@ msgstr "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" -#: ../gtk/gtkhandlebox.c:215 +#: ../gtk/gtkhandlebox.c:217 msgid "Snap edge set" msgstr "Snap edge set" -#: ../gtk/gtkhandlebox.c:216 +#: ../gtk/gtkhandlebox.c:218 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -2970,11 +3245,11 @@ msgstr "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" -#: ../gtk/gtkhandlebox.c:223 +#: ../gtk/gtkhandlebox.c:225 msgid "Child Detached" msgstr "Child Detached" -#: ../gtk/gtkhandlebox.c:224 +#: ../gtk/gtkhandlebox.c:226 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -2982,220 +3257,220 @@ msgstr "" "A boolean value indicating whether the handlebox's child is attached or " "detached." -#: ../gtk/gtkiconview.c:580 +#: ../gtk/gtkiconview.c:524 msgid "Selection mode" msgstr "Selection mode" -#: ../gtk/gtkiconview.c:581 +#: ../gtk/gtkiconview.c:525 msgid "The selection mode" msgstr "The selection mode" -#: ../gtk/gtkiconview.c:599 +#: ../gtk/gtkiconview.c:543 msgid "Pixbuf column" msgstr "Pixbuf column" -#: ../gtk/gtkiconview.c:600 +#: ../gtk/gtkiconview.c:544 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Model column used to retrieve the icon pixbuf from" -#: ../gtk/gtkiconview.c:618 +#: ../gtk/gtkiconview.c:562 msgid "Model column used to retrieve the text from" msgstr "Model column used to retrieve the text from" -#: ../gtk/gtkiconview.c:637 +#: ../gtk/gtkiconview.c:581 msgid "Markup column" msgstr "Markup column" -#: ../gtk/gtkiconview.c:638 +#: ../gtk/gtkiconview.c:582 msgid "Model column used to retrieve the text if using Pango markup" msgstr "Model column used to retrieve the text if using Pango markup" -#: ../gtk/gtkiconview.c:645 +#: ../gtk/gtkiconview.c:589 msgid "Icon View Model" msgstr "Icon View Model" -#: ../gtk/gtkiconview.c:646 +#: ../gtk/gtkiconview.c:590 msgid "The model for the icon view" msgstr "The model for the icon view" -#: ../gtk/gtkiconview.c:662 +#: ../gtk/gtkiconview.c:606 msgid "Number of columns" msgstr "Number of columns" -#: ../gtk/gtkiconview.c:663 +#: ../gtk/gtkiconview.c:607 msgid "Number of columns to display" msgstr "Number of columns to display" -#: ../gtk/gtkiconview.c:680 +#: ../gtk/gtkiconview.c:624 msgid "Width for each item" msgstr "Width for each item" -#: ../gtk/gtkiconview.c:681 +#: ../gtk/gtkiconview.c:625 msgid "The width used for each item" msgstr "The width used for each item" -#: ../gtk/gtkiconview.c:697 +#: ../gtk/gtkiconview.c:641 msgid "Space which is inserted between cells of an item" msgstr "Space which is inserted between cells of an item" -#: ../gtk/gtkiconview.c:712 +#: ../gtk/gtkiconview.c:656 msgid "Row Spacing" msgstr "Row Spacing" -#: ../gtk/gtkiconview.c:713 +#: ../gtk/gtkiconview.c:657 msgid "Space which is inserted between grid rows" msgstr "Space which is inserted between grid rows" -#: ../gtk/gtkiconview.c:728 +#: ../gtk/gtkiconview.c:672 msgid "Column Spacing" msgstr "Column Spacing" -#: ../gtk/gtkiconview.c:729 +#: ../gtk/gtkiconview.c:673 msgid "Space which is inserted between grid columns" msgstr "Space which is inserted between grid columns" -#: ../gtk/gtkiconview.c:744 +#: ../gtk/gtkiconview.c:688 msgid "Margin" msgstr "Margin" -#: ../gtk/gtkiconview.c:745 +#: ../gtk/gtkiconview.c:689 msgid "Space which is inserted at the edges of the icon view" msgstr "Space which is inserted at the edges of the icon view" -#: ../gtk/gtkiconview.c:760 +#: ../gtk/gtkiconview.c:704 msgid "Item Orientation" msgstr "Item Orientation" -#: ../gtk/gtkiconview.c:761 +#: ../gtk/gtkiconview.c:705 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" "How the text and icon of each item are positioned relative to each other" -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 -#: ../gtk/gtktreeviewcolumn.c:358 +#: ../gtk/gtkiconview.c:721 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Reorderable" msgstr "Reorderable" -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtkiconview.c:722 ../gtk/gtktreeview.c:1027 msgid "View is reorderable" msgstr "View is reorderable" -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 +#: ../gtk/gtkiconview.c:729 ../gtk/gtktreeview.c:1177 msgid "Tooltip Column" msgstr "Tooltip Column" -#: ../gtk/gtkiconview.c:786 +#: ../gtk/gtkiconview.c:730 msgid "The column in the model containing the tooltip texts for the items" msgstr "The column in the model containing the tooltip texts for the items" -#: ../gtk/gtkiconview.c:803 +#: ../gtk/gtkiconview.c:747 msgid "Item Padding" msgstr "Item Padding" -#: ../gtk/gtkiconview.c:804 +#: ../gtk/gtkiconview.c:748 msgid "Padding around icon view items" msgstr "Padding around icon view items" -#: ../gtk/gtkiconview.c:817 +#: ../gtk/gtkiconview.c:776 msgid "Selection Box Color" msgstr "Selection Box Color" -#: ../gtk/gtkiconview.c:818 +#: ../gtk/gtkiconview.c:777 msgid "Color of the selection box" msgstr "Color of the selection box" -#: ../gtk/gtkiconview.c:824 +#: ../gtk/gtkiconview.c:783 msgid "Selection Box Alpha" msgstr "Selection Box Alpha" -#: ../gtk/gtkiconview.c:825 +#: ../gtk/gtkiconview.c:784 msgid "Opacity of the selection box" msgstr "Opacity of the selection box" -#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "A GdkPixbuf to display" -#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 -#: ../gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:242 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Filename" -#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:243 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Filename to load and display" -#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:252 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "Stock ID for a stock image to display" -#: ../gtk/gtkimage.c:258 +#: ../gtk/gtkimage.c:259 msgid "Icon set" msgstr "Icon set" -#: ../gtk/gtkimage.c:259 +#: ../gtk/gtkimage.c:260 msgid "Icon set to display" msgstr "Icon set to display" -#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 -#: ../gtk/gtktoolpalette.c:1030 +#: ../gtk/gtkimage.c:267 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1031 msgid "Icon size" msgstr "Icon size" -#: ../gtk/gtkimage.c:267 +#: ../gtk/gtkimage.c:268 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "Symbolic size to use for stock icon, icon set or named icon" -#: ../gtk/gtkimage.c:283 +#: ../gtk/gtkimage.c:284 msgid "Pixel size" msgstr "Pixel size" -#: ../gtk/gtkimage.c:284 +#: ../gtk/gtkimage.c:285 msgid "Pixel size to use for named icon" msgstr "Pixel size to use for named icon" -#: ../gtk/gtkimage.c:292 +#: ../gtk/gtkimage.c:293 msgid "Animation" msgstr "Animation" -#: ../gtk/gtkimage.c:293 +#: ../gtk/gtkimage.c:294 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation to display" -#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Storage type" -#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "The representation being used for image data" -#: ../gtk/gtkimagemenuitem.c:149 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Child widget to appear next to the menu text" -#: ../gtk/gtkimagemenuitem.c:164 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" msgstr "Whether to use the label text to create a stock menu item" -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 msgid "Accel Group" msgstr "Accel Group" -#: ../gtk/gtkimagemenuitem.c:198 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "The Accel Group to use for stock accelerator keys" -#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 msgid "Message Type" msgstr "Message Type" -#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 msgid "The type of message" msgstr "The type of message" @@ -3211,28 +3486,29 @@ msgstr "Spacing between elements of the area" msgid "Width of border around the action area" msgstr "Width of border around the action area" -#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:546 +#: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "Screen" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 msgid "The screen where this window will be displayed" msgstr "The screen where this window will be displayed" -#: ../gtk/gtklabel.c:567 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "The text of the label" -#: ../gtk/gtklabel.c:574 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "A list of style attributes to apply to the text of the label" -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 msgid "Justification" msgstr "Justification" -#: ../gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3242,11 +3518,11 @@ msgstr "" "This does NOT affect the alignment of the label within its allocation. See " "GtkMisc::xalign for that" -#: ../gtk/gtklabel.c:604 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Pattern" -#: ../gtk/gtklabel.c:605 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3254,47 +3530,47 @@ msgstr "" "A string with _ characters in positions correspond to characters in the text " "to underline" -#: ../gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Line wrap" -#: ../gtk/gtklabel.c:613 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "If set, wrap lines if the text becomes too wide" -#: ../gtk/gtklabel.c:628 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Line wrap mode" -#: ../gtk/gtklabel.c:629 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "If wrap is set, controls how linewrapping is done" -#: ../gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Selectable" -#: ../gtk/gtklabel.c:637 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Whether the label text can be selected with the mouse" -#: ../gtk/gtklabel.c:643 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Mnemonic key" -#: ../gtk/gtklabel.c:644 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "The mnemonic accelerator key for this label" -#: ../gtk/gtklabel.c:652 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Mnemonic widget" -#: ../gtk/gtklabel.c:653 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "The widget to be activated when the label's mnemonic key is pressed" -#: ../gtk/gtklabel.c:699 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3302,63 +3578,55 @@ msgstr "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" -#: ../gtk/gtklabel.c:740 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Single Line Mode" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Whether the label is in single line mode" -#: ../gtk/gtklabel.c:758 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Angle" -#: ../gtk/gtklabel.c:759 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Angle at which the label is rotated" -#: ../gtk/gtklabel.c:781 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "The desired maximum width of the label, in characters" -#: ../gtk/gtklabel.c:799 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Track visited links" -#: ../gtk/gtklabel.c:800 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Whether visited links should be tracked" -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 -msgid "Width" -msgstr "Width" - -#: ../gtk/gtklayout.c:660 +#: ../gtk/gtklayout.c:659 msgid "The width of the layout" msgstr "The width of the layout" #: ../gtk/gtklayout.c:668 -msgid "Height" -msgstr "Height" - -#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "The height of the layout" -#: ../gtk/gtklinkbutton.c:174 +#: ../gtk/gtklinkbutton.c:173 msgid "URI" msgstr "URI" -#: ../gtk/gtklinkbutton.c:175 +#: ../gtk/gtklinkbutton.c:174 msgid "The URI bound to this button" msgstr "The URI bound to this button" -#: ../gtk/gtklinkbutton.c:189 +#: ../gtk/gtklinkbutton.c:188 msgid "Visited" msgstr "Visited" -#: ../gtk/gtklinkbutton.c:190 +#: ../gtk/gtklinkbutton.c:189 msgid "Whether this link has been visited." msgstr "Whether this link has been visited." @@ -3382,7 +3650,7 @@ msgstr "The child pack direction of the menubar" msgid "Style of bevel around the menubar" msgstr "Style of bevel around the menubar" -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Internal padding" @@ -3390,32 +3658,32 @@ msgstr "Internal padding" msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Amount of border space between the menubar shadow and the menu items" -#: ../gtk/gtkmenu.c:521 +#: ../gtk/gtkmenu.c:517 msgid "The currently selected menu item" msgstr "The currently selected menu item" -#: ../gtk/gtkmenu.c:536 +#: ../gtk/gtkmenu.c:532 msgid "The accel group holding accelerators for the menu" msgstr "The accel group holding accelerators for the menu" -#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 +#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Accel Path" -#: ../gtk/gtkmenu.c:551 +#: ../gtk/gtkmenu.c:547 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "An accel path used to conveniently construct accel paths of child items" -#: ../gtk/gtkmenu.c:567 +#: ../gtk/gtkmenu.c:563 msgid "Attach Widget" msgstr "Attach Widget" -#: ../gtk/gtkmenu.c:568 +#: ../gtk/gtkmenu.c:564 msgid "The widget the menu is attached to" msgstr "The widget the menu is attached to" -#: ../gtk/gtkmenu.c:576 +#: ../gtk/gtkmenu.c:572 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3423,35 +3691,35 @@ msgstr "" "A title that may be displayed by the window manager when this menu is torn-" "off" -#: ../gtk/gtkmenu.c:590 +#: ../gtk/gtkmenu.c:586 msgid "Tearoff State" msgstr "Tearoff State" -#: ../gtk/gtkmenu.c:591 +#: ../gtk/gtkmenu.c:587 msgid "A boolean that indicates whether the menu is torn-off" msgstr "A boolean that indicates whether the menu is torn-off" -#: ../gtk/gtkmenu.c:605 +#: ../gtk/gtkmenu.c:601 msgid "Monitor" msgstr "Monitor" -#: ../gtk/gtkmenu.c:606 +#: ../gtk/gtkmenu.c:602 msgid "The monitor the menu will be popped up on" msgstr "The monitor the menu will be popped up on" -#: ../gtk/gtkmenu.c:612 +#: ../gtk/gtkmenu.c:608 msgid "Vertical Padding" msgstr "Vertical Padding" -#: ../gtk/gtkmenu.c:613 +#: ../gtk/gtkmenu.c:609 msgid "Extra space at the top and bottom of the menu" msgstr "Extra space at the top and bottom of the menu" -#: ../gtk/gtkmenu.c:635 +#: ../gtk/gtkmenu.c:631 msgid "Reserve Toggle Size" msgstr "Reserve Toggle Size" -#: ../gtk/gtkmenu.c:636 +#: ../gtk/gtkmenu.c:632 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" @@ -3459,19 +3727,19 @@ msgstr "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" -#: ../gtk/gtkmenu.c:642 +#: ../gtk/gtkmenu.c:638 msgid "Horizontal Padding" msgstr "Horizontal Padding" -#: ../gtk/gtkmenu.c:643 +#: ../gtk/gtkmenu.c:639 msgid "Extra space at the left and right edges of the menu" msgstr "Extra space at the left and right edges of the menu" -#: ../gtk/gtkmenu.c:651 +#: ../gtk/gtkmenu.c:647 msgid "Vertical Offset" msgstr "Vertical Offset" -#: ../gtk/gtkmenu.c:652 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3479,11 +3747,11 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "vertically" -#: ../gtk/gtkmenu.c:660 +#: ../gtk/gtkmenu.c:656 msgid "Horizontal Offset" msgstr "Horizontal Offset" -#: ../gtk/gtkmenu.c:661 +#: ../gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3491,170 +3759,166 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" -#: ../gtk/gtkmenu.c:669 +#: ../gtk/gtkmenu.c:665 msgid "Double Arrows" msgstr "Double Arrows" -#: ../gtk/gtkmenu.c:670 +#: ../gtk/gtkmenu.c:666 msgid "When scrolling, always show both arrows." msgstr "When scrolling, always show both arrows." -#: ../gtk/gtkmenu.c:683 +#: ../gtk/gtkmenu.c:679 msgid "Arrow Placement" msgstr "Arrow Placement" -#: ../gtk/gtkmenu.c:684 +#: ../gtk/gtkmenu.c:680 msgid "Indicates where scroll arrows should be placed" msgstr "Indicates where scroll arrows should be placed" -#: ../gtk/gtkmenu.c:692 +#: ../gtk/gtkmenu.c:688 msgid "Left Attach" msgstr "Left Attach" -#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 -msgid "The column number to attach the left side of the child to" -msgstr "The column number to attach the left side of the child to" - -#: ../gtk/gtkmenu.c:700 +#: ../gtk/gtkmenu.c:696 msgid "Right Attach" msgstr "Right Attach" -#: ../gtk/gtkmenu.c:701 +#: ../gtk/gtkmenu.c:697 msgid "The column number to attach the right side of the child to" msgstr "The column number to attach the right side of the child to" -#: ../gtk/gtkmenu.c:708 +#: ../gtk/gtkmenu.c:704 msgid "Top Attach" msgstr "Top Attach" -#: ../gtk/gtkmenu.c:709 +#: ../gtk/gtkmenu.c:705 msgid "The row number to attach the top of the child to" msgstr "The row number to attach the top of the child to" -#: ../gtk/gtkmenu.c:716 +#: ../gtk/gtkmenu.c:712 msgid "Bottom Attach" msgstr "Bottom Attach" -#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "The row number to attach the bottom of the child to" -#: ../gtk/gtkmenu.c:731 +#: ../gtk/gtkmenu.c:727 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "Arbitrary constant to scale down the size of the scroll arrow" -#: ../gtk/gtkmenuitem.c:283 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "Right Justified" -#: ../gtk/gtkmenuitem.c:284 +#: ../gtk/gtkmenuitem.c:282 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" "Sets whether the menu item appears justified at the right side of a menu bar" -#: ../gtk/gtkmenuitem.c:298 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "Submenu" -#: ../gtk/gtkmenuitem.c:299 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "The submenu attached to the menu item, or NULL if it has none" -#: ../gtk/gtkmenuitem.c:317 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "Sets the accelerator path of the menu item" -#: ../gtk/gtkmenuitem.c:332 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "The text for the child label" -#: ../gtk/gtkmenuitem.c:395 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "Amount of space used up by arrow, relative to the menu item's font size" -#: ../gtk/gtkmenuitem.c:408 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "Width in Characters" -#: ../gtk/gtkmenuitem.c:409 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "The minimum desired width of the menu item in characters" -#: ../gtk/gtkmenushell.c:381 +#: ../gtk/gtkmenushell.c:363 msgid "Take Focus" msgstr "Take Focus" -#: ../gtk/gtkmenushell.c:382 +#: ../gtk/gtkmenushell.c:364 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "A boolean that determines whether the menu grabs the keyboard focus" -#: ../gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:257 msgid "Menu" msgstr "Menu" -#: ../gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:258 msgid "The dropdown menu" msgstr "The dropdown menu" -#: ../gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:185 msgid "Image/label border" msgstr "Image/label border" -#: ../gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:186 msgid "Width of border around the label and image in the message dialog" msgstr "Width of border around the label and image in the message dialog" -#: ../gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:210 msgid "Message Buttons" msgstr "Message Buttons" -#: ../gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:211 msgid "The buttons shown in the message dialog" msgstr "The buttons shown in the message dialog" -#: ../gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:228 msgid "The primary text of the message dialog" msgstr "The primary text of the message dialog" -#: ../gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:243 msgid "Use Markup" msgstr "Use Markup" -#: ../gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the title includes Pango markup." msgstr "The primary text of the title includes Pango markup." -#: ../gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:258 msgid "Secondary Text" msgstr "Secondary Text" -#: ../gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:259 msgid "The secondary text of the message dialog" msgstr "The secondary text of the message dialog" -#: ../gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:274 msgid "Use Markup in secondary" msgstr "Use Markup in secondary" -#: ../gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text includes Pango markup." msgstr "The secondary text includes Pango markup." -#: ../gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:289 msgid "Image" msgstr "Image" -#: ../gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:290 msgid "The image" msgstr "The image" -#: ../gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:306 msgid "Message area" msgstr "Message area" -#: ../gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:307 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "GtkVBox that holds the dialog's primary and secondary labels" @@ -3706,51 +3970,51 @@ msgstr "Are we showing a dialog" msgid "The screen where this window will be displayed." msgstr "The screen where this window will be displayed." -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:685 msgid "Page" msgstr "Page" -#: ../gtk/gtknotebook.c:693 +#: ../gtk/gtknotebook.c:686 msgid "The index of the current page" msgstr "The index of the current page" -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:694 msgid "Tab Position" msgstr "Tab Position" -#: ../gtk/gtknotebook.c:702 +#: ../gtk/gtknotebook.c:695 msgid "Which side of the notebook holds the tabs" msgstr "Which side of the notebook holds the tabs" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:702 msgid "Show Tabs" msgstr "Show Tabs" -#: ../gtk/gtknotebook.c:710 +#: ../gtk/gtknotebook.c:703 msgid "Whether tabs should be shown" msgstr "Whether tabs should be shown" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:709 msgid "Show Border" msgstr "Show Border" -#: ../gtk/gtknotebook.c:717 +#: ../gtk/gtknotebook.c:710 msgid "Whether the border should be shown" msgstr "Whether the border should be shown" -#: ../gtk/gtknotebook.c:723 +#: ../gtk/gtknotebook.c:716 msgid "Scrollable" msgstr "Scrollable" -#: ../gtk/gtknotebook.c:724 +#: ../gtk/gtknotebook.c:717 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "If TRUE, scroll arrows are added if there are too many tabs to fit" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:723 msgid "Enable Popup" msgstr "Enable Popup" -#: ../gtk/gtknotebook.c:731 +#: ../gtk/gtknotebook.c:724 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3758,128 +4022,164 @@ msgstr "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" -#: ../gtk/gtknotebook.c:745 +#: ../gtk/gtknotebook.c:738 msgid "Group Name" msgstr "Group Name" -#: ../gtk/gtknotebook.c:746 +#: ../gtk/gtknotebook.c:739 msgid "Group name for tab drag and drop" msgstr "Group name for tab drag and drop" -#: ../gtk/gtknotebook.c:753 +#: ../gtk/gtknotebook.c:746 msgid "Tab label" msgstr "Tab label" -#: ../gtk/gtknotebook.c:754 +#: ../gtk/gtknotebook.c:747 msgid "The string displayed on the child's tab label" msgstr "The string displayed on the child's tab label" -#: ../gtk/gtknotebook.c:760 +#: ../gtk/gtknotebook.c:753 msgid "Menu label" msgstr "Menu label" -#: ../gtk/gtknotebook.c:761 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed in the child's menu entry" msgstr "The string displayed in the child's menu entry" -#: ../gtk/gtknotebook.c:774 +#: ../gtk/gtknotebook.c:767 msgid "Tab expand" msgstr "Tab expand" -#: ../gtk/gtknotebook.c:775 +#: ../gtk/gtknotebook.c:768 msgid "Whether to expand the child's tab" msgstr "Whether to expand the child's tab" -#: ../gtk/gtknotebook.c:781 +#: ../gtk/gtknotebook.c:774 msgid "Tab fill" msgstr "Tab fill" -#: ../gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:775 msgid "Whether the child's tab should fill the allocated area" msgstr "Whether the child's tab should fill the allocated area" -#: ../gtk/gtknotebook.c:795 -msgid "Tab pack type" -msgstr "Tab pack type" - -#: ../gtk/gtknotebook.c:802 +#: ../gtk/gtknotebook.c:782 msgid "Tab reorderable" msgstr "Tab reorderable" -#: ../gtk/gtknotebook.c:803 +#: ../gtk/gtknotebook.c:783 msgid "Whether the tab is reorderable by user action" msgstr "Whether the tab is reorderable by user action" -#: ../gtk/gtknotebook.c:809 +#: ../gtk/gtknotebook.c:789 msgid "Tab detachable" msgstr "Tab detachable" -#: ../gtk/gtknotebook.c:810 +#: ../gtk/gtknotebook.c:790 msgid "Whether the tab is detachable" msgstr "Whether the tab is detachable" -#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Secondary backward stepper" -#: ../gtk/gtknotebook.c:826 +#: ../gtk/gtknotebook.c:806 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Display a second backward arrow button on the opposite end of the tab area" -#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Secondary forward stepper" -#: ../gtk/gtknotebook.c:842 +#: ../gtk/gtknotebook.c:822 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Display a second forward arrow button on the opposite end of the tab area" -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Backward stepper" -#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Display the standard backward arrow button" -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Forward stepper" -#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Display the standard forward arrow button" -#: ../gtk/gtknotebook.c:886 +#: ../gtk/gtknotebook.c:866 msgid "Tab overlap" msgstr "Tab overlap" -#: ../gtk/gtknotebook.c:887 +#: ../gtk/gtknotebook.c:867 msgid "Size of tab overlap area" msgstr "Size of tab overlap area" -#: ../gtk/gtknotebook.c:902 +#: ../gtk/gtknotebook.c:882 msgid "Tab curvature" msgstr "Tab curvature" -#: ../gtk/gtknotebook.c:903 +#: ../gtk/gtknotebook.c:883 msgid "Size of tab curvature" msgstr "Size of tab curvature" -#: ../gtk/gtknotebook.c:919 +#: ../gtk/gtknotebook.c:899 msgid "Arrow spacing" msgstr "Arrow spacing" -#: ../gtk/gtknotebook.c:920 +#: ../gtk/gtknotebook.c:900 msgid "Scroll arrow spacing" msgstr "Scroll arrow spacing" -#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 -#: ../gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtknumerableicon.c:652 +msgid "Icon's count" +msgstr "Icon's count" + +#: ../gtk/gtknumerableicon.c:653 +msgid "The count of the emblem currently displayed" +msgstr "The count of the emblem currently displayed" + +#: ../gtk/gtknumerableicon.c:659 +msgid "Icon's label" +msgstr "Icon's label" + +#: ../gtk/gtknumerableicon.c:660 +msgid "The label to be displayed over the icon" +msgstr "The label to be displayed over the icon" + +#: ../gtk/gtknumerableicon.c:666 +msgid "Icon's style context" +msgstr "Icon's style context" + +#: ../gtk/gtknumerableicon.c:667 +msgid "The style context to theme the icon appearance" +msgstr "The style context to theme the icon appearance" + +#: ../gtk/gtknumerableicon.c:673 +msgid "Background icon" +msgstr "Background icon" + +#: ../gtk/gtknumerableicon.c:674 +msgid "The icon for the number emblem background" +msgstr "The icon for the number emblem background" + +#: ../gtk/gtknumerableicon.c:680 +msgid "Background icon name" +msgstr "Background icon name" + +#: ../gtk/gtknumerableicon.c:681 +msgid "The icon name for the number emblem background" +msgstr "The icon name for the number emblem background" + +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" msgstr "Orientation" @@ -3887,73 +4187,73 @@ msgstr "Orientation" msgid "The orientation of the orientable" msgstr "The orientation of the orientable" -#: ../gtk/gtkpaned.c:328 +#: ../gtk/gtkpaned.c:327 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" "Position of paned separator in pixels (0 means all the way to the left/top)" -#: ../gtk/gtkpaned.c:337 +#: ../gtk/gtkpaned.c:336 msgid "Position Set" msgstr "Position Set" -#: ../gtk/gtkpaned.c:338 +#: ../gtk/gtkpaned.c:337 msgid "TRUE if the Position property should be used" msgstr "TRUE if the Position property should be used" -#: ../gtk/gtkpaned.c:344 +#: ../gtk/gtkpaned.c:343 msgid "Handle Size" msgstr "Handle Size" -#: ../gtk/gtkpaned.c:345 +#: ../gtk/gtkpaned.c:344 msgid "Width of handle" msgstr "Width of handle" -#: ../gtk/gtkpaned.c:361 +#: ../gtk/gtkpaned.c:360 msgid "Minimal Position" msgstr "Minimal Position" -#: ../gtk/gtkpaned.c:362 +#: ../gtk/gtkpaned.c:361 msgid "Smallest possible value for the \"position\" property" msgstr "Smallest possible value for the \"position\" property" -#: ../gtk/gtkpaned.c:379 +#: ../gtk/gtkpaned.c:378 msgid "Maximal Position" msgstr "Maximal Position" -#: ../gtk/gtkpaned.c:380 +#: ../gtk/gtkpaned.c:379 msgid "Largest possible value for the \"position\" property" msgstr "Largest possible value for the \"position\" property" -#: ../gtk/gtkpaned.c:397 +#: ../gtk/gtkpaned.c:396 msgid "Resize" msgstr "Resize" -#: ../gtk/gtkpaned.c:398 +#: ../gtk/gtkpaned.c:397 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "If TRUE, the child expands and shrinks along with the paned widget" -#: ../gtk/gtkpaned.c:413 +#: ../gtk/gtkpaned.c:412 msgid "Shrink" msgstr "Shrink" -#: ../gtk/gtkpaned.c:414 +#: ../gtk/gtkpaned.c:413 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "If TRUE, the child can be made smaller than its requisition" -#: ../gtk/gtkplug.c:173 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 msgid "Embedded" msgstr "Embedded" -#: ../gtk/gtkplug.c:174 +#: ../gtk/gtkplug.c:181 msgid "Whether the plug is embedded" msgstr "Whether the plug is embedded" -#: ../gtk/gtkplug.c:188 +#: ../gtk/gtkplug.c:195 msgid "Socket Window" msgstr "Socket Window" -#: ../gtk/gtkplug.c:189 +#: ../gtk/gtkplug.c:196 msgid "The window of the socket the plug is embedded in" msgstr "The window of the socket the plug is embedded in" @@ -4070,7 +4370,7 @@ msgstr "Printer settings" msgid "Page Setup" msgstr "Page Setup" -#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Track Print Status" @@ -4082,51 +4382,51 @@ msgstr "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." -#: ../gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1008 msgid "Default Page Setup" msgstr "Default Page Setup" -#: ../gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1009 msgid "The GtkPageSetup used by default" msgstr "The GtkPageSetup used by default" -#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Print Settings" -#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "The GtkPrintSettings used for initializing the dialog" -#: ../gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1046 msgid "Job Name" msgstr "Job Name" -#: ../gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1047 msgid "A string used for identifying the print job." msgstr "A string used for identifying the print job." -#: ../gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1071 msgid "Number of Pages" msgstr "Number of Pages" -#: ../gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1072 msgid "The number of pages in the document." msgstr "The number of pages in the document." -#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Current Page" -#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "The current page in the document" -#: ../gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1115 msgid "Use full page" msgstr "Use full page" -#: ../gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1116 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" @@ -4134,7 +4434,7 @@ msgstr "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" -#: ../gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1137 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4142,87 +4442,87 @@ msgstr "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." -#: ../gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1154 msgid "Unit" msgstr "Unit" -#: ../gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1155 msgid "The unit in which distances can be measured in the context" msgstr "The unit in which distances can be measured in the context" -#: ../gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1172 msgid "Show Dialog" msgstr "Show Dialog" -#: ../gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1173 msgid "TRUE if a progress dialog is shown while printing." msgstr "TRUE if a progress dialog is shown while printing." -#: ../gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1196 msgid "Allow Async" msgstr "Allow Async" -#: ../gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1197 msgid "TRUE if print process may run asynchronous." msgstr "TRUE if print process may run asynchronous." -#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 msgid "Export filename" msgstr "Export filename" -#: ../gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "Status" -#: ../gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1235 msgid "The status of the print operation" msgstr "The status of the print operation" -#: ../gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1255 msgid "Status String" msgstr "Status String" -#: ../gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1256 msgid "A human-readable description of the status" msgstr "A human-readable description of the status" -#: ../gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1274 msgid "Custom tab label" msgstr "Custom tab label" -#: ../gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1275 msgid "Label for the tab containing custom widgets." msgstr "Label for the tab containing custom widgets." -#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "Support Selection" -#: ../gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1291 msgid "TRUE if the print operation will support print of selection." msgstr "TRUE if the print operation will support print of selection." -#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "Has Selection" -#: ../gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1308 msgid "TRUE if a selection exists." msgstr "TRUE if a selection exists." -#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "Embed Page Setup" -#: ../gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1324 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "TRUE if page setup combos are embedded in GtkPrintDialog" -#: ../gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1345 msgid "Number of Pages To Print" msgstr "Number of Pages To Print" -#: ../gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1346 msgid "The number of pages that will be printed." msgstr "The number of pages that will be printed." @@ -4278,15 +4578,15 @@ msgstr "The fraction of total progress to move the bouncing block when pulsed" msgid "Text to be displayed in the progress bar" msgstr "Text to be displayed in the progress bar" -#: ../gtk/gtkprogressbar.c:185 +#: ../gtk/gtkprogressbar.c:195 msgid "Show text" msgstr "Show text" -#: ../gtk/gtkprogressbar.c:186 +#: ../gtk/gtkprogressbar.c:196 msgid "Whether the progress is shown as text." msgstr "Whether the progress is shown as text." -#: ../gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:218 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4294,51 +4594,51 @@ msgstr "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." -#: ../gtk/gtkprogressbar.c:215 +#: ../gtk/gtkprogressbar.c:225 msgid "X spacing" msgstr "X spacing" -#: ../gtk/gtkprogressbar.c:216 +#: ../gtk/gtkprogressbar.c:226 msgid "Extra spacing applied to the width of a progress bar." msgstr "Extra spacing applied to the width of a progress bar." -#: ../gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:231 msgid "Y spacing" msgstr "Y spacing" -#: ../gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:232 msgid "Extra spacing applied to the height of a progress bar." msgstr "Extra spacing applied to the height of a progress bar." -#: ../gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:245 msgid "Minimum horizontal bar width" msgstr "Minimum horizontal bar width" -#: ../gtk/gtkprogressbar.c:236 +#: ../gtk/gtkprogressbar.c:246 msgid "The minimum horizontal width of the progress bar" msgstr "The minimum horizontal width of the progress bar" -#: ../gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:258 msgid "Minimum horizontal bar height" msgstr "Minimum horizontal bar height" -#: ../gtk/gtkprogressbar.c:249 +#: ../gtk/gtkprogressbar.c:259 msgid "Minimum horizontal height of the progress bar" msgstr "Minimum horizontal height of the progress bar" -#: ../gtk/gtkprogressbar.c:261 +#: ../gtk/gtkprogressbar.c:271 msgid "Minimum vertical bar width" msgstr "Minimum vertical bar width" -#: ../gtk/gtkprogressbar.c:262 +#: ../gtk/gtkprogressbar.c:272 msgid "The minimum vertical width of the progress bar" msgstr "The minimum vertical width of the progress bar" -#: ../gtk/gtkprogressbar.c:274 +#: ../gtk/gtkprogressbar.c:284 msgid "Minimum vertical bar height" msgstr "Minimum vertical bar height" -#: ../gtk/gtkprogressbar.c:275 +#: ../gtk/gtkprogressbar.c:285 msgid "The minimum vertical height of the progress bar" msgstr "The minimum vertical height of the progress bar" @@ -4387,27 +4687,19 @@ msgstr "The radio menu item whose group this widget belongs to." msgid "The radio tool button whose group this button belongs to." msgstr "The radio tool button whose group this button belongs to." -#: ../gtk/gtkrange.c:422 -msgid "Update policy" -msgstr "Update policy" - -#: ../gtk/gtkrange.c:423 -msgid "How the range should be updated on the screen" -msgstr "How the range should be updated on the screen" - -#: ../gtk/gtkrange.c:432 +#: ../gtk/gtkrange.c:416 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "The GtkAdjustment that contains the current value of this range object" -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:424 msgid "Invert direction slider moves to increase range value" msgstr "Invert direction slider moves to increase range value" -#: ../gtk/gtkrange.c:447 +#: ../gtk/gtkrange.c:431 msgid "Lower stepper sensitivity" msgstr "Lower stepper sensitivity" -#: ../gtk/gtkrange.c:448 +#: ../gtk/gtkrange.c:432 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4415,11 +4707,11 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" -#: ../gtk/gtkrange.c:456 +#: ../gtk/gtkrange.c:440 msgid "Upper stepper sensitivity" msgstr "Upper stepper sensitivity" -#: ../gtk/gtkrange.c:457 +#: ../gtk/gtkrange.c:441 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4427,87 +4719,87 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" -#: ../gtk/gtkrange.c:474 +#: ../gtk/gtkrange.c:458 msgid "Show Fill Level" msgstr "Show Fill Level" -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:459 msgid "Whether to display a fill level indicator graphics on trough." msgstr "Whether to display a fill level indicator graphics on trough." -#: ../gtk/gtkrange.c:491 +#: ../gtk/gtkrange.c:475 msgid "Restrict to Fill Level" msgstr "Restrict to Fill Level" -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:476 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Whether to restrict the upper boundary to the fill level." -#: ../gtk/gtkrange.c:507 +#: ../gtk/gtkrange.c:491 msgid "Fill Level" msgstr "Fill Level" -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:492 msgid "The fill level." msgstr "The fill level." -#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 +#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 msgid "Slider Width" msgstr "Slider Width" -#: ../gtk/gtkrange.c:517 +#: ../gtk/gtkrange.c:501 msgid "Width of scrollbar or scale thumb" msgstr "Width of scrollbar or scale thumb" -#: ../gtk/gtkrange.c:524 +#: ../gtk/gtkrange.c:508 msgid "Trough Border" msgstr "Trough Border" -#: ../gtk/gtkrange.c:525 +#: ../gtk/gtkrange.c:509 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Spacing between thumb/steppers and outer trough bevel" -#: ../gtk/gtkrange.c:532 +#: ../gtk/gtkrange.c:516 msgid "Stepper Size" msgstr "Stepper Size" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:517 msgid "Length of step buttons at ends" msgstr "Length of step buttons at ends" -#: ../gtk/gtkrange.c:548 +#: ../gtk/gtkrange.c:532 msgid "Stepper Spacing" msgstr "Stepper Spacing" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:533 msgid "Spacing between step buttons and thumb" msgstr "Spacing between step buttons and thumb" -#: ../gtk/gtkrange.c:556 +#: ../gtk/gtkrange.c:540 msgid "Arrow X Displacement" msgstr "Arrow X Displacement" -#: ../gtk/gtkrange.c:557 +#: ../gtk/gtkrange.c:541 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "How far in the x direction to move the arrow when the button is depressed" -#: ../gtk/gtkrange.c:564 +#: ../gtk/gtkrange.c:548 msgid "Arrow Y Displacement" msgstr "Arrow Y Displacement" -#: ../gtk/gtkrange.c:565 +#: ../gtk/gtkrange.c:549 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "How far in the y direction to move the arrow when the button is depressed" -#: ../gtk/gtkrange.c:583 +#: ../gtk/gtkrange.c:567 msgid "Trough Under Steppers" msgstr "Trough Under Steppers" -#: ../gtk/gtkrange.c:584 +#: ../gtk/gtkrange.c:568 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4515,11 +4807,11 @@ msgstr "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" -#: ../gtk/gtkrange.c:597 +#: ../gtk/gtkrange.c:581 msgid "Arrow scaling" msgstr "Arrow scaling" -#: ../gtk/gtkrange.c:598 +#: ../gtk/gtkrange.c:582 msgid "Arrow scaling with regard to scroll button size" msgstr "Arrow scaling with regard to scroll button size" @@ -4612,25 +4904,25 @@ msgstr "The full path to the file to be used to store and read the list" msgid "The size of the recently used resources list" msgstr "The size of the recently used resources list" -#: ../gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:218 msgid "The value of the scale" msgstr "The value of the scale" -#: ../gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:228 msgid "The icon size" msgstr "The icon size" -#: ../gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:237 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "" "The GtkAdjustment that contains the current value of this scale button object" -#: ../gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:265 msgid "Icons" msgstr "Icons" -#: ../gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:266 msgid "List of icon names" msgstr "List of icon names" @@ -4670,6 +4962,42 @@ msgstr "Value spacing" msgid "Space between value text and the slider/trough area" msgstr "Space between value text and the slider/trough area" +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "Horizontal adjustment" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "Vertical adjustment" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" + +#: ../gtk/gtkscrollable.c:120 +msgid "Horizontal Scrollable Policy" +msgstr "Horizontal Scrollable Policy" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "How the size of the content should be determined" + +#: ../gtk/gtkscrollable.c:136 +msgid "Vertical Scrollable Policy" +msgstr "Vertical Scrollable Policy" + #: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Minimum Slider Length" @@ -4698,43 +5026,43 @@ msgid "" msgstr "" "Display a second forward arrow button on the opposite end of the scrollbar" -#: ../gtk/gtkscrolledwindow.c:295 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "Horizontal Adjustment" -#: ../gtk/gtkscrolledwindow.c:296 +#: ../gtk/gtkscrolledwindow.c:297 msgid "The GtkAdjustment for the horizontal position" msgstr "The GtkAdjustment for the horizontal position" -#: ../gtk/gtkscrolledwindow.c:302 +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "Vertical Adjustment" -#: ../gtk/gtkscrolledwindow.c:303 +#: ../gtk/gtkscrolledwindow.c:304 msgid "The GtkAdjustment for the vertical position" msgstr "The GtkAdjustment for the vertical position" -#: ../gtk/gtkscrolledwindow.c:309 +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "Horizontal Scrollbar Policy" -#: ../gtk/gtkscrolledwindow.c:310 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "When the horizontal scrollbar is displayed" -#: ../gtk/gtkscrolledwindow.c:317 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "Vertical Scrollbar Policy" -#: ../gtk/gtkscrolledwindow.c:318 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "When the vertical scrollbar is displayed" -#: ../gtk/gtkscrolledwindow.c:326 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "Window Placement" -#: ../gtk/gtkscrolledwindow.c:327 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4742,11 +5070,11 @@ msgstr "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." -#: ../gtk/gtkscrolledwindow.c:344 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "Window Placement Set" -#: ../gtk/gtkscrolledwindow.c:345 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4754,44 +5082,44 @@ msgstr "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." -#: ../gtk/gtkscrolledwindow.c:351 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "Shadow Type" -#: ../gtk/gtkscrolledwindow.c:352 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "Style of bevel around the contents" -#: ../gtk/gtkscrolledwindow.c:366 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "Scrollbars within bevel" -#: ../gtk/gtkscrolledwindow.c:367 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "Place scrollbars within the scrolled window's bevel" -#: ../gtk/gtkscrolledwindow.c:373 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "Scrollbar spacing" -#: ../gtk/gtkscrolledwindow.c:374 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Number of pixels between the scrollbars and the scrolled window" -#: ../gtk/gtkscrolledwindow.c:383 +#: ../gtk/gtkscrolledwindow.c:391 msgid "Minimum Content Width" msgstr "Minimum Content Width" -#: ../gtk/gtkscrolledwindow.c:384 +#: ../gtk/gtkscrolledwindow.c:392 msgid "The minimum width that the scrolled window will allocate to its content" msgstr "" "The minimum width that the scrolled window will allocate to its content" -#: ../gtk/gtkscrolledwindow.c:390 +#: ../gtk/gtkscrolledwindow.c:406 msgid "Minimum Content Height" msgstr "Minimum Content Height" -#: ../gtk/gtkscrolledwindow.c:391 +#: ../gtk/gtkscrolledwindow.c:407 msgid "" "The minimum height that the scrolled window will allocate to its content" msgstr "" @@ -4805,11 +5133,11 @@ msgstr "Draw" msgid "Whether the separator is drawn, or just blank" msgstr "Whether the separator is drawn, or just blank" -#: ../gtk/gtksettings.c:285 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Double Click Time" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4817,11 +5145,11 @@ msgstr "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" -#: ../gtk/gtksettings.c:293 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Double Click Distance" -#: ../gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4829,35 +5157,35 @@ msgstr "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Cursor Blink" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "Whether the cursor should blink" -#: ../gtk/gtksettings.c:318 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Cursor Blink Time" -#: ../gtk/gtksettings.c:319 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Length of the cursor blink cycle, in milliseconds" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Cursor Blink Timeout" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Time after which the cursor stops blinking, in seconds" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Split Cursor" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4865,149 +5193,149 @@ msgstr "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" -#: ../gtk/gtksettings.c:354 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Theme Name" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Name of theme RC file to load" -#: ../gtk/gtksettings.c:363 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Icon Theme Name" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Name of icon theme to use" -#: ../gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Fallback Icon Theme Name" -#: ../gtk/gtksettings.c:373 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Name of a icon theme to fall back to" -#: ../gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Key Theme Name" -#: ../gtk/gtksettings.c:382 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Name of key theme RC file to load" -#: ../gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Menu bar accelerator" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Keybinding to activate the menu bar" -#: ../gtk/gtksettings.c:399 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Drag threshold" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "Number of pixels the cursor can move before dragging" -#: ../gtk/gtksettings.c:408 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Font Name" -#: ../gtk/gtksettings.c:409 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Name of default font to use" -#: ../gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Icon Sizes" -#: ../gtk/gtksettings.c:432 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." -#: ../gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "GTK Modules" -#: ../gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "List of currently active GTK modules" -#: ../gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Xft Antialias" -#: ../gtk/gtksettings.c:451 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" -#: ../gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Xft Hinting" -#: ../gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" -#: ../gtk/gtksettings.c:470 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Xft Hint Style" -#: ../gtk/gtksettings.c:471 +#: ../gtk/gtksettings.c:485 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -#: ../gtk/gtksettings.c:480 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:481 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" -#: ../gtk/gtksettings.c:490 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "Xft DPI" -#: ../gtk/gtksettings.c:491 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -#: ../gtk/gtksettings.c:500 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Cursor theme name" -#: ../gtk/gtksettings.c:501 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "Name of the cursor theme to use, or NULL to use the default theme" -#: ../gtk/gtksettings.c:509 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Cursor theme size" -#: ../gtk/gtksettings.c:510 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Size to use for cursors, or 0 to use the default size" -#: ../gtk/gtksettings.c:520 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Alternative button order" -#: ../gtk/gtksettings.c:521 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "Whether buttons in dialogs should use the alternative button order" -#: ../gtk/gtksettings.c:538 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "Alternative sort indicator direction" -#: ../gtk/gtksettings.c:539 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5015,11 +5343,11 @@ msgstr "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" -#: ../gtk/gtksettings.c:547 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Show the 'Input Methods' menu" -#: ../gtk/gtksettings.c:548 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5027,11 +5355,11 @@ msgstr "" "Whether the context menus of entries and text views should offer to change " "the input method" -#: ../gtk/gtksettings.c:556 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Show the 'Insert Unicode Control Character' menu" -#: ../gtk/gtksettings.c:557 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5039,238 +5367,238 @@ msgstr "" "Whether the context menus of entries and text views should offer to insert " "control characters" -#: ../gtk/gtksettings.c:565 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Start timeout" -#: ../gtk/gtksettings.c:566 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "Starting value for timeouts, when button is pressed" -#: ../gtk/gtksettings.c:575 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Repeat timeout" -#: ../gtk/gtksettings.c:576 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "Repeat value for timeouts, when button is pressed" -#: ../gtk/gtksettings.c:585 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Expand timeout" -#: ../gtk/gtksettings.c:586 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "Expand value for timeouts, when a widget is expanding a new region" -#: ../gtk/gtksettings.c:621 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Color scheme" -#: ../gtk/gtksettings.c:622 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "A palette of named colors for use in themes" -#: ../gtk/gtksettings.c:631 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Enable Animations" -#: ../gtk/gtksettings.c:632 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "Whether to enable toolkit-wide animations." -#: ../gtk/gtksettings.c:650 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "Enable Touchscreen Mode" -#: ../gtk/gtksettings.c:651 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "When TRUE, there are no motion notify events delivered on this screen" -#: ../gtk/gtksettings.c:668 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Tooltip timeout" -#: ../gtk/gtksettings.c:669 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Timeout before tooltip is shown" -#: ../gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "Tooltip browse timeout" -#: ../gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "Timeout before tooltip is shown when browse mode is enabled" -#: ../gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "Tooltip browse mode timeout" -#: ../gtk/gtksettings.c:717 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "Timeout after which browse mode is disabled" -#: ../gtk/gtksettings.c:736 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "Keynav Cursor Only" -#: ../gtk/gtksettings.c:737 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "When TRUE, there are only cursor keys available to navigate widgets" -#: ../gtk/gtksettings.c:754 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "Keynav Wrap Around" -#: ../gtk/gtksettings.c:755 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Whether to wrap around when keyboard-navigating widgets" -#: ../gtk/gtksettings.c:775 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "Error Bell" -#: ../gtk/gtksettings.c:776 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "When TRUE, keyboard navigation and other errors will cause a beep" -#: ../gtk/gtksettings.c:793 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "Color Hash" -#: ../gtk/gtksettings.c:794 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "A hash table representation of the color scheme." -#: ../gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Default file chooser backend" -#: ../gtk/gtksettings.c:803 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Name of the GtkFileChooser backend to use by default" -#: ../gtk/gtksettings.c:820 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Default print backend" -#: ../gtk/gtksettings.c:821 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "List of the GtkPrintBackend backends to use by default" -#: ../gtk/gtksettings.c:844 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "Default command to run when displaying a print preview" -#: ../gtk/gtksettings.c:845 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "Command to run when displaying a print preview" -#: ../gtk/gtksettings.c:861 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Enable Mnemonics" -#: ../gtk/gtksettings.c:862 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Whether labels should have mnemonics" -#: ../gtk/gtksettings.c:878 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Enable Accelerators" -#: ../gtk/gtksettings.c:879 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Whether menu items should have accelerators" -#: ../gtk/gtksettings.c:896 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Recent Files Limit" -#: ../gtk/gtksettings.c:897 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Number of recently used files" -#: ../gtk/gtksettings.c:915 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "Default IM module" -#: ../gtk/gtksettings.c:916 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "Which IM module should be used by default" -#: ../gtk/gtksettings.c:934 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "Recent Files Max Age" -#: ../gtk/gtksettings.c:935 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "Maximum age of recently used files, in days" -#: ../gtk/gtksettings.c:944 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "Fontconfig configuration timestamp" -#: ../gtk/gtksettings.c:945 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "Timestamp of current fontconfig configuration" -#: ../gtk/gtksettings.c:967 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Sound Theme Name" -#: ../gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "XDG sound theme name" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:990 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "Audible Input Feedback" -#: ../gtk/gtksettings.c:991 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" msgstr "Whether to play event sounds as feedback to user input" -#: ../gtk/gtksettings.c:1012 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Enable Event Sounds" -#: ../gtk/gtksettings.c:1013 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Whether to play any event sounds at all" -#: ../gtk/gtksettings.c:1028 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Enable Tooltips" -#: ../gtk/gtksettings.c:1029 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Whether tooltips should be shown on widgets" -#: ../gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Toolbar style" -#: ../gtk/gtksettings.c:1043 +#: ../gtk/gtksettings.c:1057 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Whether default toolbars have text only, text and icons, icons only, etc." -#: ../gtk/gtksettings.c:1057 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Toolbar Icon Size" -#: ../gtk/gtksettings.c:1058 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "The size of icons in default toolbars." -#: ../gtk/gtksettings.c:1075 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Auto Mnemonics" -#: ../gtk/gtksettings.c:1076 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5278,59 +5606,59 @@ msgstr "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." -#: ../gtk/gtksettings.c:1101 +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" msgstr "Application prefers a dark theme" -#: ../gtk/gtksettings.c:1102 +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." msgstr "Whether the application prefers to have a dark theme." -#: ../gtk/gtksettings.c:1117 +#: ../gtk/gtksettings.c:1131 msgid "Show button images" msgstr "Show button images" -#: ../gtk/gtksettings.c:1118 +#: ../gtk/gtksettings.c:1132 msgid "Whether images should be shown on buttons" msgstr "Whether images should be shown on buttons" -#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 msgid "Select on focus" msgstr "Select on focus" -#: ../gtk/gtksettings.c:1127 +#: ../gtk/gtksettings.c:1141 msgid "Whether to select the contents of an entry when it is focused" msgstr "Whether to select the contents of an entry when it is focused" -#: ../gtk/gtksettings.c:1144 +#: ../gtk/gtksettings.c:1158 msgid "Password Hint Timeout" msgstr "Password Hint Timeout" -#: ../gtk/gtksettings.c:1145 +#: ../gtk/gtksettings.c:1159 msgid "How long to show the last input character in hidden entries" msgstr "How long to show the last input character in hidden entries" -#: ../gtk/gtksettings.c:1154 +#: ../gtk/gtksettings.c:1168 msgid "Show menu images" msgstr "Show menu images" -#: ../gtk/gtksettings.c:1155 +#: ../gtk/gtksettings.c:1169 msgid "Whether images should be shown in menus" msgstr "Whether images should be shown in menus" -#: ../gtk/gtksettings.c:1163 +#: ../gtk/gtksettings.c:1177 msgid "Delay before drop down menus appear" msgstr "Delay before drop down menus appear" -#: ../gtk/gtksettings.c:1164 +#: ../gtk/gtksettings.c:1178 msgid "Delay before the submenus of a menu bar appear" msgstr "Delay before the submenus of a menu bar appear" -#: ../gtk/gtksettings.c:1181 +#: ../gtk/gtksettings.c:1195 msgid "Scrolled Window Placement" msgstr "Scrolled Window Placement" -#: ../gtk/gtksettings.c:1182 +#: ../gtk/gtksettings.c:1196 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5338,31 +5666,31 @@ msgstr "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." -#: ../gtk/gtksettings.c:1191 +#: ../gtk/gtksettings.c:1205 msgid "Can change accelerators" msgstr "Can change accelerators" -#: ../gtk/gtksettings.c:1192 +#: ../gtk/gtksettings.c:1206 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Whether menu accelerators can be changed by pressing a key over the menu item" -#: ../gtk/gtksettings.c:1200 +#: ../gtk/gtksettings.c:1214 msgid "Delay before submenus appear" msgstr "Delay before submenus appear" -#: ../gtk/gtksettings.c:1201 +#: ../gtk/gtksettings.c:1215 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "Minimum time the pointer must stay over a menu item before the submenu appear" -#: ../gtk/gtksettings.c:1210 +#: ../gtk/gtksettings.c:1224 msgid "Delay before hiding a submenu" msgstr "Delay before hiding a submenu" -#: ../gtk/gtksettings.c:1211 +#: ../gtk/gtksettings.c:1225 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" @@ -5370,40 +5698,40 @@ msgstr "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" -#: ../gtk/gtksettings.c:1221 +#: ../gtk/gtksettings.c:1235 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Whether to select the contents of a selectable label when it is focused" -#: ../gtk/gtksettings.c:1229 +#: ../gtk/gtksettings.c:1243 msgid "Custom palette" msgstr "Custom palette" -#: ../gtk/gtksettings.c:1230 +#: ../gtk/gtksettings.c:1244 msgid "Palette to use in the color selector" msgstr "Palette to use in the color selector" -#: ../gtk/gtksettings.c:1238 +#: ../gtk/gtksettings.c:1252 msgid "IM Preedit style" msgstr "IM Preedit style" -#: ../gtk/gtksettings.c:1239 +#: ../gtk/gtksettings.c:1253 msgid "How to draw the input method preedit string" msgstr "How to draw the input method preedit string" -#: ../gtk/gtksettings.c:1248 +#: ../gtk/gtksettings.c:1262 msgid "IM Status style" msgstr "IM Status style" -#: ../gtk/gtksettings.c:1249 +#: ../gtk/gtksettings.c:1263 msgid "How to draw the input method statusbar" msgstr "How to draw the input method statusbar" -#: ../gtk/gtksizegroup.c:350 +#: ../gtk/gtksizegroup.c:351 msgid "Mode" msgstr "Mode" -#: ../gtk/gtksizegroup.c:351 +#: ../gtk/gtksizegroup.c:352 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" @@ -5411,25 +5739,25 @@ msgstr "" "The directions in which the size group affects the requested sizes of its " "component widgets" -#: ../gtk/gtksizegroup.c:367 +#: ../gtk/gtksizegroup.c:368 msgid "Ignore hidden" msgstr "Ignore hidden" -#: ../gtk/gtksizegroup.c:368 +#: ../gtk/gtksizegroup.c:369 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" "If TRUE, unmapped widgets are ignored when determining the size of the group" -#: ../gtk/gtkspinbutton.c:237 +#: ../gtk/gtkspinbutton.c:328 msgid "Climb Rate" msgstr "Climb Rate" -#: ../gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:348 msgid "Snap to Ticks" msgstr "Snap to Ticks" -#: ../gtk/gtkspinbutton.c:258 +#: ../gtk/gtkspinbutton.c:349 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5437,37 +5765,37 @@ msgstr "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" -#: ../gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:356 msgid "Numeric" msgstr "Numeric" -#: ../gtk/gtkspinbutton.c:266 +#: ../gtk/gtkspinbutton.c:357 msgid "Whether non-numeric characters should be ignored" msgstr "Whether non-numeric characters should be ignored" -#: ../gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:364 msgid "Wrap" msgstr "Wrap" -#: ../gtk/gtkspinbutton.c:274 +#: ../gtk/gtkspinbutton.c:365 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "Whether a spin button should wrap upon reaching its limits" -#: ../gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:372 msgid "Update Policy" msgstr "Update Policy" -#: ../gtk/gtkspinbutton.c:282 +#: ../gtk/gtkspinbutton.c:373 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Whether the spin button should update always, or only when the value is legal" -#: ../gtk/gtkspinbutton.c:291 +#: ../gtk/gtkspinbutton.c:382 msgid "Reads the current value, or sets a new value" msgstr "Reads the current value, or sets a new value" -#: ../gtk/gtkspinbutton.c:300 +#: ../gtk/gtkspinbutton.c:391 msgid "Style of bevel around the spin button" msgstr "Style of bevel around the spin button" @@ -5475,95 +5803,83 @@ msgstr "Style of bevel around the spin button" msgid "Whether the spinner is active" msgstr "Whether the spinner is active" -#: ../gtk/gtkspinner.c:135 -msgid "Number of steps" -msgstr "Number of steps" - -#: ../gtk/gtkspinner.c:136 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." - -#: ../gtk/gtkspinner.c:153 -msgid "Animation duration" -msgstr "Animation duration" - -#: ../gtk/gtkspinner.c:154 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" -"The length of time in milliseconds for the spinner to complete a full loop" - -#: ../gtk/gtkstatusbar.c:181 +#: ../gtk/gtkstatusbar.c:183 msgid "Style of bevel around the statusbar text" msgstr "Style of bevel around the statusbar text" -#: ../gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:262 msgid "The size of the icon" msgstr "The size of the icon" -#: ../gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:272 msgid "The screen where this status icon will be displayed" msgstr "The screen where this status icon will be displayed" -#: ../gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:280 msgid "Whether the status icon is visible" msgstr "Whether the status icon is visible" -#: ../gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:296 msgid "Whether the status icon is embedded" msgstr "Whether the status icon is embedded" -#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 msgid "The orientation of the tray" msgstr "The orientation of the tray" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1042 msgid "Has tooltip" msgstr "Has tooltip" -#: ../gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:340 msgid "Whether this tray icon has a tooltip" msgstr "Whether this tray icon has a tooltip" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1063 msgid "Tooltip Text" msgstr "Tooltip Text" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1064 ../gtk/gtkwidget.c:1085 msgid "The contents of the tooltip for this widget" msgstr "The contents of the tooltip for this widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1084 msgid "Tooltip markup" msgstr "Tooltip markup" -#: ../gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:390 msgid "The contents of the tooltip for this tray icon" msgstr "The contents of the tooltip for this tray icon" -#: ../gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:408 msgid "The title of this tray icon" msgstr "The title of this tray icon" -#: ../gtk/gtkstyle.c:470 +#: ../gtk/gtkstyle.c:468 msgid "Style context" msgstr "Style context" -#: ../gtk/gtkstyle.c:471 +#: ../gtk/gtkstyle.c:469 msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext to get style from" -#: ../gtk/gtkswitch.c:739 +#: ../gtk/gtkstylecontext.c:547 +msgid "The associated GdkScreen" +msgstr "The associated GdkScreen" + +#: ../gtk/gtkstylecontext.c:553 +msgid "Direction" +msgstr "Direction" + +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:220 +msgid "Text direction" +msgstr "Text direction" + +#: ../gtk/gtkswitch.c:744 msgid "Whether the switch is on or off" msgstr "Whether the switch is on or off" -#: ../gtk/gtkswitch.c:773 +#: ../gtk/gtkswitch.c:778 msgid "The minimum width of the handle" msgstr "The minimum width of the handle" @@ -5583,30 +5899,10 @@ msgstr "Columns" msgid "The number of columns in the table" msgstr "The number of columns in the table" -#: ../gtk/gtktable.c:175 -msgid "Row spacing" -msgstr "Row spacing" - -#: ../gtk/gtktable.c:176 -msgid "The amount of space between two consecutive rows" -msgstr "The amount of space between two consecutive rows" - -#: ../gtk/gtktable.c:184 -msgid "Column spacing" -msgstr "Column spacing" - -#: ../gtk/gtktable.c:185 -msgid "The amount of space between two consecutive columns" -msgstr "The amount of space between two consecutive columns" - #: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "If TRUE, the table cells are all the same width/height" -#: ../gtk/gtktable.c:201 -msgid "Left attachment" -msgstr "Left attachment" - #: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Right attachment" @@ -5615,10 +5911,6 @@ msgstr "Right attachment" msgid "The column number to attach the right side of a child widget to" msgstr "The column number to attach the right side of a child widget to" -#: ../gtk/gtktable.c:215 -msgid "Top attachment" -msgstr "Top attachment" - #: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "The row number to attach the top of a child widget to" @@ -5667,51 +5959,51 @@ msgstr "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" -#: ../gtk/gtktextbuffer.c:191 +#: ../gtk/gtktextbuffer.c:192 msgid "Tag Table" msgstr "Tag Table" -#: ../gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "Text Tag Table" -#: ../gtk/gtktextbuffer.c:210 +#: ../gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "Current text of the buffer" -#: ../gtk/gtktextbuffer.c:224 +#: ../gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "Has selection" -#: ../gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "Whether the buffer has some text currently selected" -#: ../gtk/gtktextbuffer.c:241 +#: ../gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "Cursor position" -#: ../gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:243 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" "The position of the insert mark (as offset from the beginning of the buffer)" -#: ../gtk/gtktextbuffer.c:257 +#: ../gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "Copy target list" -#: ../gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:259 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" "The list of targets this buffer supports for clipboard copying and DND source" -#: ../gtk/gtktextbuffer.c:273 +#: ../gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "Paste target list" -#: ../gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5731,23 +6023,23 @@ msgstr "Left gravity" msgid "Whether the mark has left gravity" msgstr "Whether the mark has left gravity" -#: ../gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:170 msgid "Tag name" msgstr "Tag name" -#: ../gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:171 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "Name used to refer to the text tag. NULL for anonymous tags" -#: ../gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:189 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Background color as a (possibly unallocated) GdkColor" -#: ../gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:196 msgid "Background full height" msgstr "Background full height" -#: ../gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:197 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5755,27 +6047,23 @@ msgstr "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" -#: ../gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:213 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Foreground color as a (possibly unallocated) GdkColor" -#: ../gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "Text direction" - -#: ../gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:221 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Text direction, e.g. right-to-left or left-to-right" -#: ../gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:270 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" -#: ../gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:279 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" -#: ../gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:288 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5783,15 +6071,15 @@ msgstr "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" -#: ../gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:299 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" -#: ../gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:308 msgid "Font size in Pango units" msgstr "Font size in Pango units" -#: ../gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:318 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5801,11 +6089,11 @@ msgstr "" "adapts to theme changes etc. so is recommended. Pango predefines some scales " "such as PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 +#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 msgid "Left, right, or center justification" msgstr "Left, right, or center justification" -#: ../gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:357 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5813,31 +6101,31 @@ msgstr "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." -#: ../gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:364 msgid "Left margin" msgstr "Left margin" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 +#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 msgid "Width of the left margin in pixels" msgstr "Width of the left margin in pixels" -#: ../gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:374 msgid "Right margin" msgstr "Right margin" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 +#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 msgid "Width of the right margin in pixels" msgstr "Width of the right margin in pixels" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 +#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 msgid "Indent" msgstr "Indent" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 +#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 msgid "Amount to indent the paragraph, in pixels" msgstr "Amount to indent the paragraph, in pixels" -#: ../gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:397 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -5845,228 +6133,232 @@ msgstr "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" -#: ../gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:406 msgid "Pixels above lines" msgstr "Pixels above lines" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 msgid "Pixels of blank space above paragraphs" msgstr "Pixels of blank space above paragraphs" -#: ../gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:416 msgid "Pixels below lines" msgstr "Pixels below lines" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 +#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 msgid "Pixels of blank space below paragraphs" msgstr "Pixels of blank space below paragraphs" -#: ../gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:426 msgid "Pixels inside wrap" msgstr "Pixels inside wrap" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 +#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Pixels of blank space between wrapped lines in a paragraph" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 +#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Whether to wrap lines never, at word boundaries, or at character boundaries" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 +#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 msgid "Tabs" msgstr "Tabs" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 +#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 msgid "Custom tabs for this text" msgstr "Custom tabs for this text" -#: ../gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:482 msgid "Invisible" msgstr "Invisible" -#: ../gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:483 msgid "Whether this text is hidden." msgstr "Whether this text is hidden." -#: ../gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:497 msgid "Paragraph background color name" msgstr "Paragraph background color name" -#: ../gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:498 msgid "Paragraph background color as a string" msgstr "Paragraph background color as a string" -#: ../gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color" msgstr "Paragraph background color" -#: ../gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Paragraph background color as a (possibly unallocated) GdkColor" -#: ../gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:532 msgid "Margin Accumulates" msgstr "Margin Accumulates" -#: ../gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:533 msgid "Whether left and right margins accumulate." msgstr "Whether left and right margins accumulate." -#: ../gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:546 msgid "Background full height set" msgstr "Background full height set" -#: ../gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:547 msgid "Whether this tag affects background height" msgstr "Whether this tag affects background height" -#: ../gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:586 msgid "Justification set" msgstr "Justification set" -#: ../gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:587 msgid "Whether this tag affects paragraph justification" msgstr "Whether this tag affects paragraph justification" -#: ../gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:594 msgid "Left margin set" msgstr "Left margin set" -#: ../gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the left margin" msgstr "Whether this tag affects the left margin" -#: ../gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:598 msgid "Indent set" msgstr "Indent set" -#: ../gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:599 msgid "Whether this tag affects indentation" msgstr "Whether this tag affects indentation" -#: ../gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:606 msgid "Pixels above lines set" msgstr "Pixels above lines set" -#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the number of pixels above lines" msgstr "Whether this tag affects the number of pixels above lines" -#: ../gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:610 msgid "Pixels below lines set" msgstr "Pixels below lines set" -#: ../gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:614 msgid "Pixels inside wrap set" msgstr "Pixels inside wrap set" -#: ../gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "Whether this tag affects the number of pixels between wrapped lines" -#: ../gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:622 msgid "Right margin set" msgstr "Right margin set" -#: ../gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:623 msgid "Whether this tag affects the right margin" msgstr "Whether this tag affects the right margin" -#: ../gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:630 msgid "Wrap mode set" msgstr "Wrap mode set" -#: ../gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects line wrap mode" msgstr "Whether this tag affects line wrap mode" -#: ../gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:634 msgid "Tabs set" msgstr "Tabs set" -#: ../gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:635 msgid "Whether this tag affects tabs" msgstr "Whether this tag affects tabs" -#: ../gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:638 msgid "Invisible set" msgstr "Invisible set" -#: ../gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects text visibility" msgstr "Whether this tag affects text visibility" -#: ../gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:642 msgid "Paragraph background set" msgstr "Paragraph background set" -#: ../gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:643 msgid "Whether this tag affects the paragraph background color" msgstr "Whether this tag affects the paragraph background color" -#: ../gtk/gtktextview.c:654 +#: ../gtk/gtktextview.c:655 msgid "Pixels Above Lines" msgstr "Pixels Above Lines" -#: ../gtk/gtktextview.c:664 +#: ../gtk/gtktextview.c:665 msgid "Pixels Below Lines" msgstr "Pixels Below Lines" -#: ../gtk/gtktextview.c:674 +#: ../gtk/gtktextview.c:675 msgid "Pixels Inside Wrap" msgstr "Pixels Inside Wrap" -#: ../gtk/gtktextview.c:692 +#: ../gtk/gtktextview.c:693 msgid "Wrap Mode" msgstr "Wrap Mode" -#: ../gtk/gtktextview.c:710 +#: ../gtk/gtktextview.c:711 msgid "Left Margin" msgstr "Left Margin" -#: ../gtk/gtktextview.c:720 +#: ../gtk/gtktextview.c:721 msgid "Right Margin" msgstr "Right Margin" -#: ../gtk/gtktextview.c:748 +#: ../gtk/gtktextview.c:749 msgid "Cursor Visible" msgstr "Cursor Visible" -#: ../gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:750 msgid "If the insertion cursor is shown" msgstr "If the insertion cursor is shown" -#: ../gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:757 msgid "Buffer" msgstr "Buffer" -#: ../gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:758 msgid "The buffer which is displayed" msgstr "The buffer which is displayed" -#: ../gtk/gtktextview.c:765 +#: ../gtk/gtktextview.c:766 msgid "Whether entered text overwrites existing contents" msgstr "Whether entered text overwrites existing contents" -#: ../gtk/gtktextview.c:772 +#: ../gtk/gtktextview.c:773 msgid "Accepts tab" msgstr "Accepts tab" -#: ../gtk/gtktextview.c:773 +#: ../gtk/gtktextview.c:774 msgid "Whether Tab will result in a tab character being entered" msgstr "Whether Tab will result in a tab character being entered" -#: ../gtk/gtktextview.c:808 +#: ../gtk/gtktextview.c:809 msgid "Error underline color" msgstr "Error underline color" -#: ../gtk/gtktextview.c:809 +#: ../gtk/gtktextview.c:810 msgid "Color with which to draw error-indication underlines" msgstr "Color with which to draw error-indication underlines" +#: ../gtk/gtkthemingengine.c:249 +msgid "Theming engine name" +msgstr "Theming engine name" + #: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Create the same proxies as a radio action" @@ -6095,87 +6387,87 @@ msgstr "Draw Indicator" msgid "If the toggle part of the button is displayed" msgstr "If the toggle part of the button is displayed" -#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 msgid "Toolbar Style" msgstr "Toolbar Style" -#: ../gtk/gtktoolbar.c:492 +#: ../gtk/gtktoolbar.c:490 msgid "How to draw the toolbar" msgstr "How to draw the toolbar" -#: ../gtk/gtktoolbar.c:499 +#: ../gtk/gtktoolbar.c:497 msgid "Show Arrow" msgstr "Show Arrow" -#: ../gtk/gtktoolbar.c:500 +#: ../gtk/gtktoolbar.c:498 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "If an arrow should be shown if the toolbar doesn't fit" -#: ../gtk/gtktoolbar.c:521 +#: ../gtk/gtktoolbar.c:519 msgid "Size of icons in this toolbar" msgstr "Size of icons in this toolbar" -#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 msgid "Icon size set" msgstr "Icon size set" -#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 msgid "Whether the icon-size property has been set" msgstr "Whether the icon-size property has been set" -#: ../gtk/gtktoolbar.c:546 +#: ../gtk/gtktoolbar.c:544 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "Whether the item should receive extra space when the toolbar grows" -#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "Whether the item should be the same size as other homogeneous items" -#: ../gtk/gtktoolbar.c:561 +#: ../gtk/gtktoolbar.c:559 msgid "Spacer size" msgstr "Spacer size" -#: ../gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:560 msgid "Size of spacers" msgstr "Size of spacers" -#: ../gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:569 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "Amount of border space between the toolbar shadow and the buttons" -#: ../gtk/gtktoolbar.c:579 +#: ../gtk/gtktoolbar.c:577 msgid "Maximum child expand" msgstr "Maximum child expand" -#: ../gtk/gtktoolbar.c:580 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum amount of space an expandable item will be given" msgstr "Maximum amount of space an expandable item will be given" -#: ../gtk/gtktoolbar.c:588 +#: ../gtk/gtktoolbar.c:586 msgid "Space style" msgstr "Space style" -#: ../gtk/gtktoolbar.c:589 +#: ../gtk/gtktoolbar.c:587 msgid "Whether spacers are vertical lines or just blank" msgstr "Whether spacers are vertical lines or just blank" -#: ../gtk/gtktoolbar.c:596 +#: ../gtk/gtktoolbar.c:594 msgid "Button relief" msgstr "Button relief" -#: ../gtk/gtktoolbar.c:597 +#: ../gtk/gtktoolbar.c:595 msgid "Type of bevel around toolbar buttons" msgstr "Type of bevel around toolbar buttons" -#: ../gtk/gtktoolbar.c:604 +#: ../gtk/gtktoolbar.c:602 msgid "Style of bevel around the toolbar" msgstr "Style of bevel around the toolbar" -#: ../gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:202 msgid "Text to show in the item." msgstr "Text to show in the item." -#: ../gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:209 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6183,39 +6475,39 @@ msgstr "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" -#: ../gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:216 msgid "Widget to use as the item label" msgstr "Widget to use as the item label" -#: ../gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:222 msgid "Stock Id" msgstr "Stock Id" -#: ../gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:223 msgid "The stock icon displayed on the item" msgstr "The stock icon displayed on the item" -#: ../gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:239 msgid "Icon name" msgstr "Icon name" -#: ../gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:240 msgid "The name of the themed icon displayed on the item" msgstr "The name of the themed icon displayed on the item" -#: ../gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:246 msgid "Icon widget" msgstr "Icon widget" -#: ../gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget to display in the item" msgstr "Icon widget to display in the item" -#: ../gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:260 msgid "Icon spacing" msgstr "Icon spacing" -#: ../gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:261 msgid "Spacing in pixels between the icon and label" msgstr "Spacing in pixels between the icon and label" @@ -6287,397 +6579,421 @@ msgstr "Whether the item should start a new row" msgid "Position of the item within this group" msgstr "Position of the item within this group" -#: ../gtk/gtktoolpalette.c:1031 +#: ../gtk/gtktoolpalette.c:1032 msgid "Size of icons in this tool palette" msgstr "Size of icons in this tool palette" -#: ../gtk/gtktoolpalette.c:1061 +#: ../gtk/gtktoolpalette.c:1062 msgid "Style of items in the tool palette" msgstr "Style of items in the tool palette" -#: ../gtk/gtktoolpalette.c:1077 +#: ../gtk/gtktoolpalette.c:1078 msgid "Exclusive" msgstr "Exclusive" -#: ../gtk/gtktoolpalette.c:1078 +#: ../gtk/gtktoolpalette.c:1079 msgid "Whether the item group should be the only expanded at a given time" msgstr "Whether the item group should be the only expanded at a given time" -#: ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktoolpalette.c:1094 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" "Whether the item group should receive extra space when the palette grows" -#: ../gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:135 msgid "Foreground color for symbolic icons" msgstr "Foreground color for symbolic icons" -#: ../gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color" msgstr "Error color" -#: ../gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:143 msgid "Error color for symbolic icons" msgstr "Error color for symbolic icons" -#: ../gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color" msgstr "Warning color" -#: ../gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:151 msgid "Warning color for symbolic icons" msgstr "Warning color for symbolic icons" -#: ../gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color" msgstr "Success color" -#: ../gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:159 msgid "Success color for symbolic icons" msgstr "Success color for symbolic icons" -#: ../gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:167 msgid "Padding that should be put around icons in the tray" msgstr "Padding that should be put around icons in the tray" -#: ../gtk/gtktreemodelsort.c:310 +#: ../gtk/gtktreemenu.c:287 +msgid "TreeMenu model" +msgstr "TreeMenu model" + +#: ../gtk/gtktreemenu.c:288 +msgid "The model for the tree menu" +msgstr "The model for the tree menu" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "TreeMenu root row" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "The TreeMenu will display children of the specified root" + +#: ../gtk/gtktreemenu.c:344 +msgid "Tearoff" +msgstr "Tearoff" + +#: ../gtk/gtktreemenu.c:345 +msgid "Whether the menu has a tearoff item" +msgstr "Whether the menu has a tearoff item" + +#: ../gtk/gtktreemenu.c:361 +msgid "Wrap Width" +msgstr "Wrap Width" + +#: ../gtk/gtktreemenu.c:362 +msgid "Wrap width for laying out items in a grid" +msgstr "Wrap width for laying out items in a grid" + +#: ../gtk/gtktreemodelsort.c:312 msgid "TreeModelSort Model" msgstr "TreeModelSort Model" -#: ../gtk/gtktreemodelsort.c:311 +#: ../gtk/gtktreemodelsort.c:313 msgid "The model for the TreeModelSort to sort" msgstr "The model for the TreeModelSort to sort" -#: ../gtk/gtktreeview.c:988 +#: ../gtk/gtktreeview.c:989 msgid "TreeView Model" msgstr "TreeView Model" -#: ../gtk/gtktreeview.c:989 +#: ../gtk/gtktreeview.c:990 msgid "The model for the tree view" msgstr "The model for the tree view" -#: ../gtk/gtktreeview.c:1001 +#: ../gtk/gtktreeview.c:1002 msgid "Headers Visible" msgstr "Headers Visible" -#: ../gtk/gtktreeview.c:1002 +#: ../gtk/gtktreeview.c:1003 msgid "Show the column header buttons" msgstr "Show the column header buttons" -#: ../gtk/gtktreeview.c:1009 +#: ../gtk/gtktreeview.c:1010 msgid "Headers Clickable" msgstr "Headers Clickable" -#: ../gtk/gtktreeview.c:1010 +#: ../gtk/gtktreeview.c:1011 msgid "Column headers respond to click events" msgstr "Column headers respond to click events" -#: ../gtk/gtktreeview.c:1017 +#: ../gtk/gtktreeview.c:1018 msgid "Expander Column" msgstr "Expander Column" -#: ../gtk/gtktreeview.c:1018 +#: ../gtk/gtktreeview.c:1019 msgid "Set the column for the expander column" msgstr "Set the column for the expander column" -#: ../gtk/gtktreeview.c:1033 +#: ../gtk/gtktreeview.c:1034 msgid "Rules Hint" msgstr "Rules Hint" -#: ../gtk/gtktreeview.c:1034 +#: ../gtk/gtktreeview.c:1035 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "Set a hint to the theme engine to draw rows in alternating colors" -#: ../gtk/gtktreeview.c:1041 +#: ../gtk/gtktreeview.c:1042 msgid "Enable Search" msgstr "Enable Search" -#: ../gtk/gtktreeview.c:1042 +#: ../gtk/gtktreeview.c:1043 msgid "View allows user to search through columns interactively" msgstr "View allows user to search through columns interactively" -#: ../gtk/gtktreeview.c:1049 +#: ../gtk/gtktreeview.c:1050 msgid "Search Column" msgstr "Search Column" -#: ../gtk/gtktreeview.c:1050 +#: ../gtk/gtktreeview.c:1051 msgid "Model column to search through during interactive search" msgstr "Model column to search through during interactive search" -#: ../gtk/gtktreeview.c:1070 +#: ../gtk/gtktreeview.c:1071 msgid "Fixed Height Mode" msgstr "Fixed Height Mode" -#: ../gtk/gtktreeview.c:1071 +#: ../gtk/gtktreeview.c:1072 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "Speeds up GtkTreeView by assuming that all rows have the same height" -#: ../gtk/gtktreeview.c:1091 +#: ../gtk/gtktreeview.c:1092 msgid "Hover Selection" msgstr "Hover Selection" -#: ../gtk/gtktreeview.c:1092 +#: ../gtk/gtktreeview.c:1093 msgid "Whether the selection should follow the pointer" msgstr "Whether the selection should follow the pointer" -#: ../gtk/gtktreeview.c:1111 +#: ../gtk/gtktreeview.c:1112 msgid "Hover Expand" msgstr "Hover Expand" -#: ../gtk/gtktreeview.c:1112 +#: ../gtk/gtktreeview.c:1113 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Whether rows should be expanded/collapsed when the pointer moves over them" -#: ../gtk/gtktreeview.c:1126 +#: ../gtk/gtktreeview.c:1127 msgid "Show Expanders" msgstr "Show Expanders" -#: ../gtk/gtktreeview.c:1127 +#: ../gtk/gtktreeview.c:1128 msgid "View has expanders" msgstr "View has expanders" -#: ../gtk/gtktreeview.c:1141 +#: ../gtk/gtktreeview.c:1142 msgid "Level Indentation" msgstr "Level Indentation" -#: ../gtk/gtktreeview.c:1142 +#: ../gtk/gtktreeview.c:1143 msgid "Extra indentation for each level" msgstr "Extra indentation for each level" -#: ../gtk/gtktreeview.c:1151 +#: ../gtk/gtktreeview.c:1152 msgid "Rubber Banding" msgstr "Rubber Banding" -#: ../gtk/gtktreeview.c:1152 +#: ../gtk/gtktreeview.c:1153 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Whether to enable selection of multiple items by dragging the mouse pointer" -#: ../gtk/gtktreeview.c:1159 +#: ../gtk/gtktreeview.c:1160 msgid "Enable Grid Lines" msgstr "Enable Grid Lines" -#: ../gtk/gtktreeview.c:1160 +#: ../gtk/gtktreeview.c:1161 msgid "Whether grid lines should be drawn in the tree view" msgstr "Whether grid lines should be drawn in the tree view" -#: ../gtk/gtktreeview.c:1168 +#: ../gtk/gtktreeview.c:1169 msgid "Enable Tree Lines" msgstr "Enable Tree Lines" -#: ../gtk/gtktreeview.c:1169 +#: ../gtk/gtktreeview.c:1170 msgid "Whether tree lines should be drawn in the tree view" msgstr "Whether tree lines should be drawn in the tree view" -#: ../gtk/gtktreeview.c:1177 +#: ../gtk/gtktreeview.c:1178 msgid "The column in the model containing the tooltip texts for the rows" msgstr "The column in the model containing the tooltip texts for the rows" -#: ../gtk/gtktreeview.c:1199 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical Separator Width" msgstr "Vertical Separator Width" -#: ../gtk/gtktreeview.c:1200 +#: ../gtk/gtktreeview.c:1201 msgid "Vertical space between cells. Must be an even number" msgstr "Vertical space between cells. Must be an even number" -#: ../gtk/gtktreeview.c:1208 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal Separator Width" msgstr "Horizontal Separator Width" -#: ../gtk/gtktreeview.c:1209 +#: ../gtk/gtktreeview.c:1210 msgid "Horizontal space between cells. Must be an even number" msgstr "Horizontal space between cells. Must be an even number" -#: ../gtk/gtktreeview.c:1217 +#: ../gtk/gtktreeview.c:1218 msgid "Allow Rules" msgstr "Allow Rules" -#: ../gtk/gtktreeview.c:1218 +#: ../gtk/gtktreeview.c:1219 msgid "Allow drawing of alternating color rows" msgstr "Allow drawing of alternating color rows" -#: ../gtk/gtktreeview.c:1224 +#: ../gtk/gtktreeview.c:1225 msgid "Indent Expanders" msgstr "Indent Expanders" -#: ../gtk/gtktreeview.c:1225 +#: ../gtk/gtktreeview.c:1226 msgid "Make the expanders indented" msgstr "Make the expanders indented" -#: ../gtk/gtktreeview.c:1231 +#: ../gtk/gtktreeview.c:1232 msgid "Even Row Color" msgstr "Even Row Color" -#: ../gtk/gtktreeview.c:1232 +#: ../gtk/gtktreeview.c:1233 msgid "Color to use for even rows" msgstr "Color to use for even rows" -#: ../gtk/gtktreeview.c:1238 +#: ../gtk/gtktreeview.c:1239 msgid "Odd Row Color" msgstr "Odd Row Color" -#: ../gtk/gtktreeview.c:1239 +#: ../gtk/gtktreeview.c:1240 msgid "Color to use for odd rows" msgstr "Color to use for odd rows" -#: ../gtk/gtktreeview.c:1245 +#: ../gtk/gtktreeview.c:1246 msgid "Grid line width" msgstr "Grid line width" -#: ../gtk/gtktreeview.c:1246 +#: ../gtk/gtktreeview.c:1247 msgid "Width, in pixels, of the tree view grid lines" msgstr "Width, in pixels, of the tree view grid lines" -#: ../gtk/gtktreeview.c:1252 +#: ../gtk/gtktreeview.c:1253 msgid "Tree line width" msgstr "Tree line width" -#: ../gtk/gtktreeview.c:1253 +#: ../gtk/gtktreeview.c:1254 msgid "Width, in pixels, of the tree view lines" msgstr "Width, in pixels, of the tree view lines" -#: ../gtk/gtktreeview.c:1259 +#: ../gtk/gtktreeview.c:1260 msgid "Grid line pattern" msgstr "Grid line pattern" -#: ../gtk/gtktreeview.c:1260 +#: ../gtk/gtktreeview.c:1261 msgid "Dash pattern used to draw the tree view grid lines" msgstr "Dash pattern used to draw the tree view grid lines" -#: ../gtk/gtktreeview.c:1266 +#: ../gtk/gtktreeview.c:1267 msgid "Tree line pattern" msgstr "Tree line pattern" -#: ../gtk/gtktreeview.c:1267 +#: ../gtk/gtktreeview.c:1268 msgid "Dash pattern used to draw the tree view lines" msgstr "Dash pattern used to draw the tree view lines" -#: ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtktreeviewcolumn.c:244 msgid "Whether to display the column" msgstr "Whether to display the column" -#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 msgid "Resizable" msgstr "Resizable" -#: ../gtk/gtktreeviewcolumn.c:251 +#: ../gtk/gtktreeviewcolumn.c:252 msgid "Column is user-resizable" msgstr "Column is user-resizable" -#: ../gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:260 msgid "Current width of the column" msgstr "Current width of the column" -#: ../gtk/gtktreeviewcolumn.c:268 -msgid "Space which is inserted between cells" -msgstr "Space which is inserted between cells" - -#: ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Sizing" msgstr "Sizing" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:278 msgid "Resize mode of the column" msgstr "Resize mode of the column" -#: ../gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Fixed Width" msgstr "Fixed Width" -#: ../gtk/gtktreeviewcolumn.c:286 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Current fixed width of the column" msgstr "Current fixed width of the column" -#: ../gtk/gtktreeviewcolumn.c:295 -msgid "Minimum Width" -msgstr "Minimum Width" - -#: ../gtk/gtktreeviewcolumn.c:296 +#: ../gtk/gtktreeviewcolumn.c:297 msgid "Minimum allowed width of the column" msgstr "Minimum allowed width of the column" -#: ../gtk/gtktreeviewcolumn.c:305 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum Width" msgstr "Maximum Width" -#: ../gtk/gtktreeviewcolumn.c:306 +#: ../gtk/gtktreeviewcolumn.c:307 msgid "Maximum allowed width of the column" msgstr "Maximum allowed width of the column" -#: ../gtk/gtktreeviewcolumn.c:316 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Title to appear in column header" msgstr "Title to appear in column header" -#: ../gtk/gtktreeviewcolumn.c:324 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Column gets share of extra width allocated to the widget" msgstr "Column gets share of extra width allocated to the widget" -#: ../gtk/gtktreeviewcolumn.c:331 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Clickable" msgstr "Clickable" -#: ../gtk/gtktreeviewcolumn.c:332 +#: ../gtk/gtktreeviewcolumn.c:333 msgid "Whether the header can be clicked" msgstr "Whether the header can be clicked" -#: ../gtk/gtktreeviewcolumn.c:340 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget" msgstr "Widget" -#: ../gtk/gtktreeviewcolumn.c:341 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Widget to put in column header button instead of column title" msgstr "Widget to put in column header button instead of column title" -#: ../gtk/gtktreeviewcolumn.c:349 +#: ../gtk/gtktreeviewcolumn.c:350 msgid "X Alignment of the column header text or widget" msgstr "X Alignment of the column header text or widget" -#: ../gtk/gtktreeviewcolumn.c:359 +#: ../gtk/gtktreeviewcolumn.c:360 msgid "Whether the column can be reordered around the headers" msgstr "Whether the column can be reordered around the headers" -#: ../gtk/gtktreeviewcolumn.c:366 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Sort indicator" msgstr "Sort indicator" -#: ../gtk/gtktreeviewcolumn.c:367 +#: ../gtk/gtktreeviewcolumn.c:368 msgid "Whether to show a sort indicator" msgstr "Whether to show a sort indicator" -#: ../gtk/gtktreeviewcolumn.c:374 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort order" msgstr "Sort order" -#: ../gtk/gtktreeviewcolumn.c:375 +#: ../gtk/gtktreeviewcolumn.c:376 msgid "Sort direction the sort indicator should indicate" msgstr "Sort direction the sort indicator should indicate" -#: ../gtk/gtktreeviewcolumn.c:391 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Sort column ID" msgstr "Sort column ID" -#: ../gtk/gtktreeviewcolumn.c:392 +#: ../gtk/gtktreeviewcolumn.c:393 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "Logical sort column ID this column sorts on when selected for sorting" -#: ../gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "Whether tearoff menu items should be added to menus" -#: ../gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Merged UI definition" -#: ../gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "An XML string describing the merged UI" -#: ../gtk/gtkviewport.c:155 +#: ../gtk/gtkviewport.c:154 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "Determines how the shadowed box around the viewport is drawn" @@ -6689,27 +7005,27 @@ msgstr "Use symbolic icons" msgid "Whether to use symbolic icons" msgstr "Whether to use symbolic icons" -#: ../gtk/gtkwidget.c:893 +#: ../gtk/gtkwidget.c:901 msgid "Widget name" msgstr "Widget name" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:902 msgid "The name of the widget" msgstr "The name of the widget" -#: ../gtk/gtkwidget.c:900 +#: ../gtk/gtkwidget.c:908 msgid "Parent widget" msgstr "Parent widget" -#: ../gtk/gtkwidget.c:901 +#: ../gtk/gtkwidget.c:909 msgid "The parent widget of this widget. Must be a Container widget" msgstr "The parent widget of this widget. Must be a Container widget" -#: ../gtk/gtkwidget.c:908 +#: ../gtk/gtkwidget.c:916 msgid "Width request" msgstr "Width request" -#: ../gtk/gtkwidget.c:909 +#: ../gtk/gtkwidget.c:917 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6717,11 +7033,11 @@ msgstr "" "Override for width request of the widget, or -1 if natural request should be " "used" -#: ../gtk/gtkwidget.c:917 +#: ../gtk/gtkwidget.c:925 msgid "Height request" msgstr "Height request" -#: ../gtk/gtkwidget.c:918 +#: ../gtk/gtkwidget.c:926 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6729,83 +7045,83 @@ msgstr "" "Override for height request of the widget, or -1 if natural request should " "be used" -#: ../gtk/gtkwidget.c:927 +#: ../gtk/gtkwidget.c:935 msgid "Whether the widget is visible" msgstr "Whether the widget is visible" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget responds to input" msgstr "Whether the widget responds to input" -#: ../gtk/gtkwidget.c:940 +#: ../gtk/gtkwidget.c:948 msgid "Application paintable" msgstr "Application paintable" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:949 msgid "Whether the application will paint directly on the widget" msgstr "Whether the application will paint directly on the widget" -#: ../gtk/gtkwidget.c:947 +#: ../gtk/gtkwidget.c:955 msgid "Can focus" msgstr "Can focus" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget can accept the input focus" msgstr "Whether the widget can accept the input focus" -#: ../gtk/gtkwidget.c:954 +#: ../gtk/gtkwidget.c:962 msgid "Has focus" msgstr "Has focus" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget has the input focus" msgstr "Whether the widget has the input focus" -#: ../gtk/gtkwidget.c:961 +#: ../gtk/gtkwidget.c:969 msgid "Is focus" msgstr "Is focus" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Whether the widget is the focus widget within the toplevel" -#: ../gtk/gtkwidget.c:968 +#: ../gtk/gtkwidget.c:976 msgid "Can default" msgstr "Can default" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:977 msgid "Whether the widget can be the default widget" msgstr "Whether the widget can be the default widget" -#: ../gtk/gtkwidget.c:975 +#: ../gtk/gtkwidget.c:983 msgid "Has default" msgstr "Has default" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is the default widget" msgstr "Whether the widget is the default widget" -#: ../gtk/gtkwidget.c:982 +#: ../gtk/gtkwidget.c:990 msgid "Receives default" msgstr "Receives default" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:991 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "If TRUE, the widget will receive the default action when it is focused" -#: ../gtk/gtkwidget.c:989 +#: ../gtk/gtkwidget.c:997 msgid "Composite child" msgstr "Composite child" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:998 msgid "Whether the widget is part of a composite widget" msgstr "Whether the widget is part of a composite widget" -#: ../gtk/gtkwidget.c:996 +#: ../gtk/gtkwidget.c:1004 msgid "Style" msgstr "Style" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:1005 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -6813,175 +7129,175 @@ msgstr "" "The style of the widget, which contains information about how it will look " "(colors etc)" -#: ../gtk/gtkwidget.c:1003 +#: ../gtk/gtkwidget.c:1011 msgid "Events" msgstr "Events" -#: ../gtk/gtkwidget.c:1004 +#: ../gtk/gtkwidget.c:1012 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "The event mask that decides what kind of GdkEvents this widget gets" -#: ../gtk/gtkwidget.c:1011 +#: ../gtk/gtkwidget.c:1019 msgid "No show all" msgstr "No show all" -#: ../gtk/gtkwidget.c:1012 +#: ../gtk/gtkwidget.c:1020 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Whether gtk_widget_show_all() should not affect this widget" -#: ../gtk/gtkwidget.c:1035 +#: ../gtk/gtkwidget.c:1043 msgid "Whether this widget has a tooltip" msgstr "Whether this widget has a tooltip" -#: ../gtk/gtkwidget.c:1091 +#: ../gtk/gtkwidget.c:1099 msgid "Window" msgstr "Window" -#: ../gtk/gtkwidget.c:1092 +#: ../gtk/gtkwidget.c:1100 msgid "The widget's window if it is realized" msgstr "The widget's window if it is realized" -#: ../gtk/gtkwidget.c:1106 +#: ../gtk/gtkwidget.c:1114 msgid "Double Buffered" msgstr "Double Buffered" -#: ../gtk/gtkwidget.c:1107 +#: ../gtk/gtkwidget.c:1115 msgid "Whether the widget is double buffered" msgstr "Whether the widget is double buffered" -#: ../gtk/gtkwidget.c:1122 +#: ../gtk/gtkwidget.c:1130 msgid "How to position in extra horizontal space" msgstr "How to position in extra horizontal space" -#: ../gtk/gtkwidget.c:1138 +#: ../gtk/gtkwidget.c:1146 msgid "How to position in extra vertical space" msgstr "How to position in extra vertical space" -#: ../gtk/gtkwidget.c:1157 +#: ../gtk/gtkwidget.c:1165 msgid "Margin on Left" msgstr "Margin on Left" -#: ../gtk/gtkwidget.c:1158 +#: ../gtk/gtkwidget.c:1166 msgid "Pixels of extra space on the left side" msgstr "Pixels of extra space on the left side" -#: ../gtk/gtkwidget.c:1178 +#: ../gtk/gtkwidget.c:1186 msgid "Margin on Right" msgstr "Margin on Right" -#: ../gtk/gtkwidget.c:1179 +#: ../gtk/gtkwidget.c:1187 msgid "Pixels of extra space on the right side" msgstr "Pixels of extra space on the right side" -#: ../gtk/gtkwidget.c:1199 +#: ../gtk/gtkwidget.c:1207 msgid "Margin on Top" msgstr "Margin on Top" -#: ../gtk/gtkwidget.c:1200 +#: ../gtk/gtkwidget.c:1208 msgid "Pixels of extra space on the top side" msgstr "Pixels of extra space on the top side" -#: ../gtk/gtkwidget.c:1220 +#: ../gtk/gtkwidget.c:1228 msgid "Margin on Bottom" msgstr "Margin on Bottom" -#: ../gtk/gtkwidget.c:1221 +#: ../gtk/gtkwidget.c:1229 msgid "Pixels of extra space on the bottom side" msgstr "Pixels of extra space on the bottom side" -#: ../gtk/gtkwidget.c:1238 +#: ../gtk/gtkwidget.c:1246 msgid "All Margins" msgstr "All Margins" -#: ../gtk/gtkwidget.c:1239 +#: ../gtk/gtkwidget.c:1247 msgid "Pixels of extra space on all four sides" msgstr "Pixels of extra space on all four sides" -#: ../gtk/gtkwidget.c:1272 +#: ../gtk/gtkwidget.c:1280 msgid "Horizontal Expand" msgstr "Horizontal Expand" -#: ../gtk/gtkwidget.c:1273 +#: ../gtk/gtkwidget.c:1281 msgid "Whether widget wants more horizontal space" msgstr "Whether widget wants more horizontal space" -#: ../gtk/gtkwidget.c:1287 +#: ../gtk/gtkwidget.c:1295 msgid "Horizontal Expand Set" msgstr "Horizontal Expand Set" -#: ../gtk/gtkwidget.c:1288 +#: ../gtk/gtkwidget.c:1296 msgid "Whether to use the hexpand property" msgstr "Whether to use the hexpand property" -#: ../gtk/gtkwidget.c:1302 +#: ../gtk/gtkwidget.c:1310 msgid "Vertical Expand" msgstr "Vertical Expand" -#: ../gtk/gtkwidget.c:1303 +#: ../gtk/gtkwidget.c:1311 msgid "Whether widget wants more vertical space" msgstr "Whether widget wants more vertical space" -#: ../gtk/gtkwidget.c:1317 +#: ../gtk/gtkwidget.c:1325 msgid "Vertical Expand Set" msgstr "Vertical Expand Set" -#: ../gtk/gtkwidget.c:1318 +#: ../gtk/gtkwidget.c:1326 msgid "Whether to use the vexpand property" msgstr "Whether to use the vexpand property" -#: ../gtk/gtkwidget.c:1332 +#: ../gtk/gtkwidget.c:1340 msgid "Expand Both" msgstr "Expand Both" -#: ../gtk/gtkwidget.c:1333 +#: ../gtk/gtkwidget.c:1341 msgid "Whether widget wants to expand in both directions" msgstr "Whether widget wants to expand in both directions" -#: ../gtk/gtkwidget.c:2991 +#: ../gtk/gtkwidget.c:3000 msgid "Interior Focus" msgstr "Interior Focus" -#: ../gtk/gtkwidget.c:2992 +#: ../gtk/gtkwidget.c:3001 msgid "Whether to draw the focus indicator inside widgets" msgstr "Whether to draw the focus indicator inside widgets" -#: ../gtk/gtkwidget.c:2998 +#: ../gtk/gtkwidget.c:3007 msgid "Focus linewidth" msgstr "Focus linewidth" -#: ../gtk/gtkwidget.c:2999 +#: ../gtk/gtkwidget.c:3008 msgid "Width, in pixels, of the focus indicator line" msgstr "Width, in pixels, of the focus indicator line" -#: ../gtk/gtkwidget.c:3005 +#: ../gtk/gtkwidget.c:3014 msgid "Focus line dash pattern" msgstr "Focus line dash pattern" -#: ../gtk/gtkwidget.c:3006 +#: ../gtk/gtkwidget.c:3015 msgid "Dash pattern used to draw the focus indicator" msgstr "Dash pattern used to draw the focus indicator" -#: ../gtk/gtkwidget.c:3011 +#: ../gtk/gtkwidget.c:3020 msgid "Focus padding" msgstr "Focus padding" -#: ../gtk/gtkwidget.c:3012 +#: ../gtk/gtkwidget.c:3021 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Width, in pixels, between focus indicator and the widget 'box'" -#: ../gtk/gtkwidget.c:3017 +#: ../gtk/gtkwidget.c:3026 msgid "Cursor color" msgstr "Cursor color" -#: ../gtk/gtkwidget.c:3018 +#: ../gtk/gtkwidget.c:3027 msgid "Color with which to draw insertion cursor" msgstr "Color with which to draw insertion cursor" -#: ../gtk/gtkwidget.c:3023 +#: ../gtk/gtkwidget.c:3032 msgid "Secondary cursor color" msgstr "Secondary cursor color" -#: ../gtk/gtkwidget.c:3024 +#: ../gtk/gtkwidget.c:3033 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -6989,43 +7305,43 @@ msgstr "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" -#: ../gtk/gtkwidget.c:3029 +#: ../gtk/gtkwidget.c:3038 msgid "Cursor line aspect ratio" msgstr "Cursor line aspect ratio" -#: ../gtk/gtkwidget.c:3030 +#: ../gtk/gtkwidget.c:3039 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Aspect ratio with which to draw insertion cursor" -#: ../gtk/gtkwidget.c:3036 +#: ../gtk/gtkwidget.c:3045 msgid "Window dragging" msgstr "Window dragging" -#: ../gtk/gtkwidget.c:3037 +#: ../gtk/gtkwidget.c:3046 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Whether windows can be dragged by clicking on empty areas" -#: ../gtk/gtkwidget.c:3050 +#: ../gtk/gtkwidget.c:3059 msgid "Unvisited Link Color" msgstr "Unvisited Link Color" -#: ../gtk/gtkwidget.c:3051 +#: ../gtk/gtkwidget.c:3060 msgid "Color of unvisited links" msgstr "Color of unvisited links" -#: ../gtk/gtkwidget.c:3064 +#: ../gtk/gtkwidget.c:3073 msgid "Visited Link Color" msgstr "Visited Link Color" -#: ../gtk/gtkwidget.c:3065 +#: ../gtk/gtkwidget.c:3074 msgid "Color of visited links" msgstr "Color of visited links" -#: ../gtk/gtkwidget.c:3079 +#: ../gtk/gtkwidget.c:3088 msgid "Wide Separators" msgstr "Wide Separators" -#: ../gtk/gtkwidget.c:3080 +#: ../gtk/gtkwidget.c:3089 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7033,79 +7349,79 @@ msgstr "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" -#: ../gtk/gtkwidget.c:3094 +#: ../gtk/gtkwidget.c:3103 msgid "Separator Width" msgstr "Separator Width" -#: ../gtk/gtkwidget.c:3095 +#: ../gtk/gtkwidget.c:3104 msgid "The width of separators if wide-separators is TRUE" msgstr "The width of separators if wide-separators is TRUE" -#: ../gtk/gtkwidget.c:3109 +#: ../gtk/gtkwidget.c:3118 msgid "Separator Height" msgstr "Separator Height" -#: ../gtk/gtkwidget.c:3110 +#: ../gtk/gtkwidget.c:3119 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "The height of separators if \"wide-separators\" is TRUE" -#: ../gtk/gtkwidget.c:3124 +#: ../gtk/gtkwidget.c:3133 msgid "Horizontal Scroll Arrow Length" msgstr "Horizontal Scroll Arrow Length" -#: ../gtk/gtkwidget.c:3125 +#: ../gtk/gtkwidget.c:3134 msgid "The length of horizontal scroll arrows" msgstr "The length of horizontal scroll arrows" -#: ../gtk/gtkwidget.c:3139 +#: ../gtk/gtkwidget.c:3148 msgid "Vertical Scroll Arrow Length" msgstr "Vertical Scroll Arrow Length" -#: ../gtk/gtkwidget.c:3140 +#: ../gtk/gtkwidget.c:3149 msgid "The length of vertical scroll arrows" msgstr "The length of vertical scroll arrows" -#: ../gtk/gtkwindow.c:614 +#: ../gtk/gtkwindow.c:603 msgid "Window Type" msgstr "Window Type" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:604 msgid "The type of the window" msgstr "The type of the window" -#: ../gtk/gtkwindow.c:623 +#: ../gtk/gtkwindow.c:612 msgid "Window Title" msgstr "Window Title" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:613 msgid "The title of the window" msgstr "The title of the window" -#: ../gtk/gtkwindow.c:631 +#: ../gtk/gtkwindow.c:620 msgid "Window Role" msgstr "Window Role" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:621 msgid "Unique identifier for the window to be used when restoring a session" msgstr "Unique identifier for the window to be used when restoring a session" -#: ../gtk/gtkwindow.c:648 +#: ../gtk/gtkwindow.c:637 msgid "Startup ID" msgstr "Startup ID" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:638 msgid "Unique startup identifier for the window used by startup-notification" msgstr "Unique startup identifier for the window used by startup-notification" -#: ../gtk/gtkwindow.c:657 +#: ../gtk/gtkwindow.c:646 msgid "If TRUE, users can resize the window" msgstr "If TRUE, users can resize the window" -#: ../gtk/gtkwindow.c:664 +#: ../gtk/gtkwindow.c:653 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:654 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7113,78 +7429,78 @@ msgstr "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" -#: ../gtk/gtkwindow.c:672 +#: ../gtk/gtkwindow.c:661 msgid "Window Position" msgstr "Window Position" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:662 msgid "The initial position of the window" msgstr "The initial position of the window" -#: ../gtk/gtkwindow.c:681 +#: ../gtk/gtkwindow.c:670 msgid "Default Width" msgstr "Default Width" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:671 msgid "The default width of the window, used when initially showing the window" msgstr "" "The default width of the window, used when initially showing the window" -#: ../gtk/gtkwindow.c:691 +#: ../gtk/gtkwindow.c:680 msgid "Default Height" msgstr "Default Height" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:681 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "The default height of the window, used when initially showing the window" -#: ../gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:690 msgid "Destroy with Parent" msgstr "Destroy with Parent" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:691 msgid "If this window should be destroyed when the parent is destroyed" msgstr "If this window should be destroyed when the parent is destroyed" -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:699 msgid "Icon for this window" msgstr "Icon for this window" -#: ../gtk/gtkwindow.c:716 +#: ../gtk/gtkwindow.c:705 msgid "Mnemonics Visible" msgstr "Mnemonics Visible" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:706 msgid "Whether mnemonics are currently visible in this window" msgstr "Whether mnemonics are currently visible in this window" -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:722 msgid "Name of the themed icon for this window" msgstr "Name of the themed icon for this window" -#: ../gtk/gtkwindow.c:748 +#: ../gtk/gtkwindow.c:737 msgid "Is Active" msgstr "Is Active" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:738 msgid "Whether the toplevel is the current active window" msgstr "Whether the toplevel is the current active window" -#: ../gtk/gtkwindow.c:756 +#: ../gtk/gtkwindow.c:745 msgid "Focus in Toplevel" msgstr "Focus in Toplevel" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:746 msgid "Whether the input focus is within this GtkWindow" msgstr "Whether the input focus is within this GtkWindow" -#: ../gtk/gtkwindow.c:764 +#: ../gtk/gtkwindow.c:753 msgid "Type hint" msgstr "Type hint" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:754 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7192,118 +7508,147 @@ msgstr "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." -#: ../gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:762 msgid "Skip taskbar" msgstr "Skip taskbar" -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:763 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE if the window should not be in the task bar." -#: ../gtk/gtkwindow.c:781 +#: ../gtk/gtkwindow.c:770 msgid "Skip pager" msgstr "Skip pager" -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:771 msgid "TRUE if the window should not be in the pager." msgstr "TRUE if the window should not be in the pager." -#: ../gtk/gtkwindow.c:789 +#: ../gtk/gtkwindow.c:778 msgid "Urgent" msgstr "Urgent" -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:779 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE if the window should be brought to the user's attention." -#: ../gtk/gtkwindow.c:804 +#: ../gtk/gtkwindow.c:793 msgid "Accept focus" msgstr "Accept focus" -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:794 msgid "TRUE if the window should receive the input focus." msgstr "TRUE if the window should receive the input focus." -#: ../gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:808 msgid "Focus on map" msgstr "Focus on map" -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:809 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE if the window should receive the input focus when mapped." -#: ../gtk/gtkwindow.c:834 +#: ../gtk/gtkwindow.c:823 msgid "Decorated" msgstr "Decorated" -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:824 msgid "Whether the window should be decorated by the window manager" msgstr "Whether the window should be decorated by the window manager" -#: ../gtk/gtkwindow.c:849 +#: ../gtk/gtkwindow.c:838 msgid "Deletable" msgstr "Deletable" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:839 msgid "Whether the window frame should have a close button" msgstr "Whether the window frame should have a close button" -#: ../gtk/gtkwindow.c:869 +#: ../gtk/gtkwindow.c:858 msgid "Resize grip" msgstr "Resize grip" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:859 msgid "Specifies whether the window should have a resize grip" msgstr "Specifies whether the window should have a resize grip" -#: ../gtk/gtkwindow.c:884 +#: ../gtk/gtkwindow.c:873 msgid "Resize grip is visible" msgstr "Resize grip is visible" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:874 msgid "Specifies whether the window's resize grip is visible." msgstr "Specifies whether the window's resize grip is visible." -#: ../gtk/gtkwindow.c:901 +#: ../gtk/gtkwindow.c:890 msgid "Gravity" msgstr "Gravity" -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:891 msgid "The window gravity of the window" msgstr "The window gravity of the window" -#: ../gtk/gtkwindow.c:919 +#: ../gtk/gtkwindow.c:908 msgid "Transient for Window" msgstr "Transient for Window" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:909 msgid "The transient parent of the dialog" msgstr "The transient parent of the dialog" -#: ../gtk/gtkwindow.c:935 +#: ../gtk/gtkwindow.c:924 msgid "Opacity for Window" msgstr "Opacity for Window" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:925 msgid "The opacity of the window, from 0 to 1" msgstr "The opacity of the window, from 0 to 1" -#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 msgid "Width of resize grip" msgstr "Width of resize grip" -#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 msgid "Height of resize grip" msgstr "Height of resize grip" -#: ../gtk/gtkwindow.c:972 +#: ../gtk/gtkwindow.c:961 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:962 msgid "The GtkApplication for the window" msgstr "The GtkApplication for the window" +#~ msgid "Tab pack type" +#~ msgstr "Tab pack type" + +#~ msgid "Update policy" +#~ msgstr "Update policy" + +#~ msgid "How the range should be updated on the screen" +#~ msgstr "How the range should be updated on the screen" + +#~ msgid "Number of steps" +#~ msgstr "Number of steps" + +#~ msgid "" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." +#~ msgstr "" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." + +#~ msgid "Animation duration" +#~ msgstr "Animation duration" + +#~ msgid "" +#~ "The length of time in milliseconds for the spinner to complete a full loop" +#~ msgstr "" +#~ "The length of time in milliseconds for the spinner to complete a full loop" + #~ msgid "" #~ "The label for the link to the website of the program. If this is not set, " #~ "it defaults to the URL" @@ -7345,12 +7690,6 @@ msgstr "The GtkApplication for the window" #~ msgid "The metric used for the ruler" #~ msgstr "The metric used for the ruler" -#~ msgid "Horizontal adjustment" -#~ msgstr "Horizontal adjustment" - -#~ msgid "Vertical adjustment" -#~ msgstr "Vertical adjustment" - #~ msgid "Whether the statusbar has a grip for resizing the toplevel" #~ msgstr "Whether the statusbar has a grip for resizing the toplevel" From 2f3c3ca7d387f4b7bbe277c60788405b316fdbab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fridrich=20=C5=A0trba?= Date: Tue, 11 Jan 2011 22:45:40 +0100 Subject: [PATCH 1343/1463] Fix windows build from git clean and a minor linking issue --- gtk/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 50d7cf35a4..fc3a86a06f 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -897,8 +897,8 @@ libgtk_3_0_la_DEPENDENCIES = $(deps) #libgtk_win32_3_0_la_LDFLAGS = $(libtool_opts) -Wl,-luuid if USE_WIN32 -libgtk_3_0_la_LIBADD += -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -libgtk_3_0_la_DEPENDENCIES += $(gtk_win32_res) $(deps) +libgtk_3_0_la_LIBADD += -lole32 -lgdi32 -lcomdlg32 -lwinspool -lcomctl32 -luuid +libgtk_3_0_la_DEPENDENCIES += $(gtk_def) $(gtk_win32_res) $(deps) libgtk_target_ldflags = $(gtk_win32_res_ldflag) $(gtk_win32_symbols) endif From 908b41926054cf5bc59605d8b6f4e691d89f6b99 Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Wed, 12 Jan 2011 08:56:41 +0200 Subject: [PATCH 1344/1463] Updated Arabic translation --- po/ar.po | 1034 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 574 insertions(+), 460 deletions(-) diff --git a/po/ar.po b/po/ar.po index d2b87d0563..6454512814 100644 --- a/po/ar.po +++ b/po/ar.po @@ -12,70 +12,60 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-11-13 03:09+0200\n" +"POT-Creation-Date: 2011-01-12 08:54+0200\n" "PO-Revision-Date: 2010-11-13 03:20+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" -"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Virtaal 0.6.1\n" -#: gdk/gdk.c:104 +#: gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "حدث خطأ أثناء تحليل الخيار ‪--gdk-debug‬" -#: gdk/gdk.c:124 +#: gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "حدث خطأ أثناء تحليل الخيار ‪--gdk-no-debug‬" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:152 +#: gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "صنف البرنامج كما يستخدمه مدير النوافذ" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:153 +#: gdk/gdk.c:201 msgid "CLASS" msgstr "صنف" #. Description of --name=NAME in --help output -#: gdk/gdk.c:155 +#: gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "اسم البرنامج كما يستخدمه مدير النوافذ" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:156 +#: gdk/gdk.c:204 msgid "NAME" msgstr "اسم" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: gdk/gdk.c:206 msgid "X display to use" msgstr "مِعراض س ليستخدم" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:159 +#: gdk/gdk.c:207 msgid "DISPLAY" msgstr "مِعراض" -#. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:161 -msgid "X screen to use" -msgstr "شاشة س لتُستخدم" - -#. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:162 -msgid "SCREEN" -msgstr "شاشة" - #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:165 +#: gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "شارات تنقيح ج‌د‌ك+ التي ستضبط" @@ -83,12 +73,12 @@ msgstr "شارات تنقيح ج‌د‌ك+ التي ستضبط" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:166 gdk/gdk.c:169 gtk/gtkmain.c:534 gtk/gtkmain.c:537 +#: gdk/gdk.c:211 gdk/gdk.c:214 gtk/gtkmain.c:570 gtk/gtkmain.c:573 msgid "FLAGS" msgstr "شارات" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:168 +#: gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "شارات تنقيح ج‌د‌ك+ التي ستُصفّر" @@ -278,46 +268,46 @@ msgid "Delete" msgstr "Delete" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "لا ترسل طلبات GDI دفعة واحدة" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "لا تستخدم Wintab API لدعم اللوحة" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "مثل --no-wintab" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "لا تستخدم Wintab API [مبدئي]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "حجم لوح الألوان في نمط 8 بتة" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "ألوان" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "يجري بدء %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "يجري فتح %s" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 +#: gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" @@ -328,63 +318,62 @@ msgstr[3] "يجري فتح %Id عناصر" msgstr[4] "يجري فتح %Id عنصرا" msgstr[5] "يجري فتح %Id عنصر" -#. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:94 -msgid "Make X calls synchronous" -msgstr "اجعل نداءات س متزامنة" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 -#, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +#: gtk/gtkaboutdialog.c:104 +#, fuzzy, c-format +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "يأتي هذا البرنامج دون أي ضمانات على الإطلاق؛ زر %s لمزيد من المعلومات." -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2233 +#: gtk/gtkaboutdialog.c:346 msgid "License" msgstr "الترخيص" -#: gtk/gtkaboutdialog.c:340 +#: gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "ترخيص البرنامج" #. Add the credits button -#: gtk/gtkaboutdialog.c:622 +#: gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "إ_شادات" #. Add the license button -#: gtk/gtkaboutdialog.c:636 +#: gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "ال_ترخيص" -#: gtk/gtkaboutdialog.c:840 +#: gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "تعذّر إظهار الوصلة" -#: gtk/gtkaboutdialog.c:933 +#: gtk/gtkaboutdialog.c:994 +#, fuzzy +msgid "Homepage" +msgstr "Home" + +#: gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "عنْ %s" -#: gtk/gtkaboutdialog.c:2151 -msgid "Credits" -msgstr "إشادات" +#: gtk/gtkaboutdialog.c:2372 +#, fuzzy +msgid "Created by" +msgstr "ان_شئ" -#: gtk/gtkaboutdialog.c:2183 -msgid "Written by" -msgstr "كتَبَهُ" - -#: gtk/gtkaboutdialog.c:2186 +#: gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "وثّقه" -#: gtk/gtkaboutdialog.c:2198 +#: gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "ترجَمَهُ" -#: gtk/gtkaboutdialog.c:2202 +#: gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "جمَّلَهُ" @@ -393,7 +382,7 @@ msgstr "جمَّلَهُ" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:160 +#: gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -403,7 +392,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:166 +#: gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -413,7 +402,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:172 +#: gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -423,7 +412,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:770 +#: gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -433,7 +422,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:783 +#: gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -443,37 +432,128 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: gtk/gtkaccellabel.c:797 +#: gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: gtk/gtkaccellabel.c:813 +#: gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "Space" -#: gtk/gtkaccellabel.c:816 +#: gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: gtk/gtkbuilderparser.c:343 +#: gtk/gtkappchooserbutton.c:259 +#, fuzzy +msgid "Other application..." +msgstr "تطبيق" + +#: gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "" + +#: gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "" + +#: gtk/gtkappchooserdialog.c:208 +#, fuzzy +msgid "Could not run application" +msgstr "تعذّر مسح القائمة" + +#: gtk/gtkappchooserdialog.c:221 +#, fuzzy, c-format +msgid "Could not find '%s'" +msgstr "تعذّر وصْل %s" + +#: gtk/gtkappchooserdialog.c:224 +#, fuzzy +msgid "Could not find application" +msgstr "تعذّر إظهار الوصلة" + +#. Translators: %s is a filename +#: gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "" + +#: gtk/gtkappchooserdialog.c:335 gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "" + +#. Translators: %s is a file type description +#: gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "" + +#: gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "" + +#: gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" + +#: gtk/gtkappchooserdialog.c:428 +#, fuzzy +msgid "Forget association" +msgstr "انس كلمة السر _حالاً" + +#: gtk/gtkappchooserdialog.c:493 +#, fuzzy +msgid "Show other applications" +msgstr "اعرض خيارات ج‌ت‌ك+" + +#: gtk/gtkappchooserdialog.c:511 +#, fuzzy +msgid "_Open" +msgstr "ا_فتح" + +#: gtk/gtkappchooserwidget.c:593 +#, fuzzy +msgid "Default Application" +msgstr "تطبيق" + +#: gtk/gtkappchooserwidget.c:730 +#, fuzzy +msgid "Recommended Applications" +msgstr "تطبيق" + +#: gtk/gtkappchooserwidget.c:744 +#, fuzzy +msgid "Related Applications" +msgstr "تطبيق" + +#: gtk/gtkappchooserwidget.c:758 +#, fuzzy +msgid "Other Applications" +msgstr "تطبيق" + +#: gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "نوع دالة غير سليم في سطر %d: '%s'" -#: gtk/gtkbuilderparser.c:407 +#: gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "معرّف كائن مكرر '%s' في سطر %d (السابق في سطر %d)" -#: gtk/gtkbuilderparser.c:859 +#: gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "عنصر جذري غير سليم: %s" -#: gtk/gtkbuilderparser.c:898 +#: gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "وسم غير معتبر: '%s'" @@ -488,7 +568,7 @@ msgstr "وسم غير معتبر: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:878 +#: gtk/gtkcalendar.c:871 msgid "calendar:MY" msgstr "calendar:MY" @@ -496,7 +576,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:916 +#: gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" msgstr "calendar:week_start:7" @@ -505,7 +585,7 @@ msgstr "calendar:week_start:7" #. * #. * If you don't understand this, leave it as "2000" #. -#: gtk/gtkcalendar.c:1848 +#: gtk/gtkcalendar.c:1910 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -520,7 +600,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:1879 gtk/gtkcalendar.c:2564 +#: gtk/gtkcalendar.c:1941 gtk/gtkcalendar.c:2638 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -536,7 +616,7 @@ msgstr "%Id" #. * digits. That needs support from your system and locale definition #. * too. #. -#: gtk/gtkcalendar.c:1911 gtk/gtkcalendar.c:2432 +#: gtk/gtkcalendar.c:1973 gtk/gtkcalendar.c:2499 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -552,7 +632,7 @@ msgstr "%Id" #. * #. * "%Y" is appropriate for most locales. #. -#: gtk/gtkcalendar.c:2197 +#: gtk/gtkcalendar.c:2268 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -560,7 +640,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: gtk/gtkcellrendereraccel.c:272 +#: gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "معطّل" @@ -569,7 +649,7 @@ msgstr "معطّل" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: gtk/gtkcellrendereraccel.c:282 +#: gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "غير صحيح" @@ -578,7 +658,7 @@ msgstr "غير صحيح" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: gtk/gtkcellrendereraccel.c:417 gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "اختصار جديد..." @@ -588,15 +668,15 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%Id ٪" -#: gtk/gtkcolorbutton.c:188 gtk/gtkcolorbutton.c:473 +#: gtk/gtkcolorbutton.c:187 gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "اختر لونًا" -#: gtk/gtkcolorbutton.c:363 +#: gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "استُلِمت بيانات لون غير سليمة\n" -#: gtk/gtkcolorsel.c:416 +#: gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -604,73 +684,73 @@ msgstr "" "اختر اللون الذي تريده من الحلقة الخارجية. اختر ظلمة أو إضاءة ذلك اللون " "باستخدام المثلث الداخلي." -#: gtk/gtkcolorsel.c:440 +#: gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "انقر القطّارة ثم انقر أيّ لون في أيّ مكان على الشاشة لاختيار ذلك اللون." -#: gtk/gtkcolorsel.c:449 +#: gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "ال_تدرج:" -#: gtk/gtkcolorsel.c:450 +#: gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "الموقع على عجلة الألوان." -#: gtk/gtkcolorsel.c:452 +#: gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "الت_شبع:" -#: gtk/gtkcolorsel.c:453 +#: gtk/gtkcolorsel.c:452 msgid "Intensity of the color." msgstr "كثافة اللون." -#: gtk/gtkcolorsel.c:454 +#: gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "ال_قيمة:" -#: gtk/gtkcolorsel.c:455 +#: gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "سُطوع اللون." -#: gtk/gtkcolorsel.c:456 +#: gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_أحمر:" -#: gtk/gtkcolorsel.c:457 +#: gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "كمية الضوء الأحمر في اللون." -#: gtk/gtkcolorsel.c:458 +#: gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "أ_خضر:" -#: gtk/gtkcolorsel.c:459 +#: gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "كمية الضوء الأخضر في اللون." -#: gtk/gtkcolorsel.c:460 +#: gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "أ_زرق:" -#: gtk/gtkcolorsel.c:461 +#: gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "كمية الضوء الأزرق في اللون." -#: gtk/gtkcolorsel.c:464 +#: gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "ال_عتامة:" -#: gtk/gtkcolorsel.c:471 gtk/gtkcolorsel.c:481 +#: gtk/gtkcolorsel.c:470 gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "شفافية اللون." -#: gtk/gtkcolorsel.c:488 +#: gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "ا_سم اللون:" -#: gtk/gtkcolorsel.c:502 +#: gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -678,15 +758,15 @@ msgstr "" "يمكنك إدخال قيمة لون بالنظام الست عشري و أسلوب HTML، أو اسم لون بكل بساطة " "مثل 'orange' في هذه الخانة." -#: gtk/gtkcolorsel.c:532 +#: gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_لوحة الألوان:" -#: gtk/gtkcolorsel.c:561 +#: gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "عجلة الألوان" -#: gtk/gtkcolorsel.c:1031 +#: gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -695,7 +775,7 @@ msgstr "" "اللون المُختار سابقًا، للمقارنة باللون الذي اخترتَه الآن. يُمكِنك سحب هذا اللون " "لخانة لوحة ألوان، أو جعله كاللون الحالي بسحبه للمربع اللوني." -#: gtk/gtkcolorsel.c:1034 +#: gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -703,21 +783,21 @@ msgstr "" "اللون الذي اخترته. تستطيع سحب هذا اللون إلى خانة لوحة الألوان لحفظه حتى " "تستخدمه مستقبلًا." -#: gtk/gtkcolorsel.c:1039 +#: gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "اللون المختار سابقا، لمقارنته مع اللون الذي تختاره الآن." -#: gtk/gtkcolorsel.c:1042 +#: gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "اللون الذي اخترته." -#: gtk/gtkcolorsel.c:1442 +#: gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "ا_حفظ اللون هنا" -#: gtk/gtkcolorsel.c:1647 +#: gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -740,7 +820,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3240 +#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "أدِر المقاسات المخصّصة" @@ -793,66 +873,66 @@ msgstr "_يمين:" msgid "Paper Margins" msgstr "حواف الورق" -#: gtk/gtkentry.c:8652 gtk/gtktextview.c:8229 +#: gtk/gtkentry.c:8806 gtk/gtktextview.c:8227 msgid "Input _Methods" msgstr "طرق ال_إدخال" -#: gtk/gtkentry.c:8666 gtk/gtktextview.c:8243 +#: gtk/gtkentry.c:8820 gtk/gtktextview.c:8241 msgid "_Insert Unicode Control Character" msgstr "أ_درج محرف تحكم يونيكود" -#: gtk/gtkentry.c:10066 +#: gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "زر الحروف العالية والأرقام مفعل" -#: gtk/gtkentry.c:10068 +#: gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "زر الأرقام مفعّل" -#: gtk/gtkentry.c:10070 +#: gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "زر الحروف العالية مفعّل" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "اختر ملفًا" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1833 +#: gtk/gtkfilechooserbutton.c:63 gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "سطح المكتب" -#: gtk/gtkfilechooserbutton.c:63 +#: gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(لا شيء)" -#: gtk/gtkfilechooserbutton.c:2001 +#: gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "أخرى..." -#: gtk/gtkfilechooserdefault.c:147 +#: gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "اكتب اسما للمجلد الجديد" -#: gtk/gtkfilechooserdefault.c:946 +#: gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "تعذّر جلب معلومات عن الملف" -#: gtk/gtkfilechooserdefault.c:957 +#: gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "تعذّر إضافة علامة" -#: gtk/gtkfilechooserdefault.c:968 +#: gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "تعذّر حذف العلامة" -#: gtk/gtkfilechooserdefault.c:979 +#: gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "تعذّر إنشاء المجلّد" -#: gtk/gtkfilechooserdefault.c:992 +#: gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -860,19 +940,18 @@ msgstr "" "تعذّر إنشاء المجلد بسبب وجود ملف يحمل نفس الاسم. حاول استخدام اسم آخر للمجلد، " "أو غيّر اسم الملف أولا." -#: gtk/gtkfilechooserdefault.c:1006 +#: gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." msgstr "" -"يمكن اختيار المجلدات فقط. العنصر الذي اخترته ليس مجلدا، حاول اختيار عنصر " -"آخر." +"يمكن اختيار المجلدات فقط. العنصر الذي اخترته ليس مجلدا، حاول اختيار عنصر آخر." -#: gtk/gtkfilechooserdefault.c:1016 +#: gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "اسم ملف غير صالح" -#: gtk/gtkfilechooserdefault.c:1026 +#: gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "تعذّر عرض محتويات المجلد." @@ -880,236 +959,236 @@ msgstr "تعذّر عرض محتويات المجلد." #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1576 +#: gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s على %2$s" -#: gtk/gtkfilechooserdefault.c:1752 +#: gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "ابحث" -#: gtk/gtkfilechooserdefault.c:1776 gtk/gtkfilechooserdefault.c:9383 +#: gtk/gtkfilechooserdefault.c:1777 gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "مستخدمة مؤخرا" -#: gtk/gtkfilechooserdefault.c:2430 +#: gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "اختر أنواع الملفات التي ستعرض" -#: gtk/gtkfilechooserdefault.c:2789 +#: gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "أضِف المجلّد '%s' إلى العلامات" -#: gtk/gtkfilechooserdefault.c:2833 +#: gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "أضِف المجلّد الحالي إلى العلامات" -#: gtk/gtkfilechooserdefault.c:2835 +#: gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "أضِف المجلدات المحددة إلى العلامات" -#: gtk/gtkfilechooserdefault.c:2873 +#: gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "احذِف العلامة '%s'" -#: gtk/gtkfilechooserdefault.c:2875 +#: gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "لا يمكن إزالة العلامة '%s'" -#: gtk/gtkfilechooserdefault.c:2882 gtk/gtkfilechooserdefault.c:3747 +#: gtk/gtkfilechooserdefault.c:2890 gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "احذِف العلامة المحددة" -#: gtk/gtkfilechooserdefault.c:3442 +#: gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "احذف" -#: gtk/gtkfilechooserdefault.c:3451 +#: gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "غيّر الاسم..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3614 +#: gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "أماكن" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3671 +#: gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "أ_ماكن" -#: gtk/gtkfilechooserdefault.c:3728 +#: gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "أ_ضف" -#: gtk/gtkfilechooserdefault.c:3735 +#: gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "أضِف المجلد المحدد للعلامات" -#: gtk/gtkfilechooserdefault.c:3740 +#: gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "ا_حذِف" -#: gtk/gtkfilechooserdefault.c:3882 +#: gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "تعذّر اختيار الملف" -#: gtk/gtkfilechooserdefault.c:4057 +#: gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "أ_ضف للعلامات" -#: gtk/gtkfilechooserdefault.c:4070 +#: gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "أظهر الملفات ال_مخفيّة" -#: gtk/gtkfilechooserdefault.c:4077 +#: gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "أظهر _عمود الحجم" -#: gtk/gtkfilechooserdefault.c:4303 +#: gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "ملفات" -#: gtk/gtkfilechooserdefault.c:4354 +#: gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "الا_سم" -#: gtk/gtkfilechooserdefault.c:4377 +#: gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "الحجم" -#: gtk/gtkfilechooserdefault.c:4391 +#: gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "معدّل" #. Label -#: gtk/gtkfilechooserdefault.c:4646 gtk/gtkprinteroptionwidget.c:793 +#: gtk/gtkfilechooserdefault.c:4657 gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "الا_سم:" -#: gtk/gtkfilechooserdefault.c:4689 +#: gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_تصفّح مجلدات أخرى" -#: gtk/gtkfilechooserdefault.c:4959 +#: gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "اكتب اسم ملف" #. Create Folder -#: gtk/gtkfilechooserdefault.c:5002 +#: gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "أنشئ _مجلّدًا" -#: gtk/gtkfilechooserdefault.c:5012 +#: gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "ال_موقع:" -#: gtk/gtkfilechooserdefault.c:5216 +#: gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "احفظ في ال_مجلّد:" -#: gtk/gtkfilechooserdefault.c:5218 +#: gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "أنشئ في ال_مجلّد:" -#: gtk/gtkfilechooserdefault.c:6287 +#: gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "تعذّرت قراءة محتويات %s" -#: gtk/gtkfilechooserdefault.c:6291 +#: gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "تعذّرت قراءة محتويات المجلّد" -#: gtk/gtkfilechooserdefault.c:6384 gtk/gtkfilechooserdefault.c:6452 -#: gtk/gtkfilechooserdefault.c:6597 +#: gtk/gtkfilechooserdefault.c:6393 gtk/gtkfilechooserdefault.c:6461 +#: gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "مجهول" -#: gtk/gtkfilechooserdefault.c:6399 +#: gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%OH:%OM" -#: gtk/gtkfilechooserdefault.c:6401 +#: gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "أمس في %OH:%OM" -#: gtk/gtkfilechooserdefault.c:7067 +#: gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "تعذّر الانتقال إلى المجلّد لأنه غير محلي" -#: gtk/gtkfilechooserdefault.c:7664 gtk/gtkfilechooserdefault.c:7685 +#: gtk/gtkfilechooserdefault.c:7673 gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "الاختصار %s موجود مسبقا" -#: gtk/gtkfilechooserdefault.c:7775 +#: gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "الاختصار %s غير موجود" -#: gtk/gtkfilechooserdefault.c:8036 gtk/gtkprintunixdialog.c:480 +#: gtk/gtkfilechooserdefault.c:8046 gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "هناك ملف باسم \"%s\" موجود حاليا. أتريد استبداله؟" -#: gtk/gtkfilechooserdefault.c:8039 gtk/gtkprintunixdialog.c:484 +#: gtk/gtkfilechooserdefault.c:8049 gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "الملف موجود بالفعل في \"%s\". استبداله سيكتب فوق محتواه." -#: gtk/gtkfilechooserdefault.c:8044 gtk/gtkprintunixdialog.c:491 +#: gtk/gtkfilechooserdefault.c:8054 gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "است_بدِل" -#: gtk/gtkfilechooserdefault.c:8752 +#: gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "تعذّر تشغيل عملية البحث" -#: gtk/gtkfilechooserdefault.c:8753 +#: gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "" "لم يمكن للبرنامج أن ينشئ اتصالا بخادوم الفهرسة. الرجاء التأكد من أنه مشتغل." -#: gtk/gtkfilechooserdefault.c:8767 +#: gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "تعذّر إرسال طلب البحث" -#: gtk/gtkfilechooserdefault.c:8955 +#: gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "ابحث:" -#: gtk/gtkfilechooserdefault.c:9560 +#: gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "تعذّر وصْل %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1172 +#: gtk/gtkfilechooserentry.c:700 gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "مسار غير صحيح" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1104 +#: gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "لا تطابق" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1115 +#: gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "مجرد اكتمال" @@ -1117,13 +1196,13 @@ msgstr "مجرد اكتمال" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1131 +#: gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "مكتمل، لكن ليس فريدا" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1163 +#: gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "يجري الإكمال..." @@ -1131,7 +1210,7 @@ msgstr "يجري الإكمال..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1185 gtk/gtkfilechooserentry.c:1210 +#: gtk/gtkfilechooserentry.c:1191 gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "يتاح اختيار الملفات المحلية فقط" @@ -1139,14 +1218,14 @@ msgstr "يتاح اختيار الملفات المحلية فقط" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1194 +#: gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "اسم مستضيف غير كامل؛ أضف '/' إلى نهايته" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1205 +#: gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "المسار غير موجود" @@ -1174,40 +1253,40 @@ msgstr "الخطّ" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "أبجد هوز حطي كلمن abcdefg ABCDEFG" -#: gtk/gtkfontsel.c:370 +#: gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "ال_عائلة:" -#: gtk/gtkfontsel.c:376 +#: gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "الأ_سلوب:" -#: gtk/gtkfontsel.c:382 +#: gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "ال_حجم:" #. create the text entry widget -#: gtk/gtkfontsel.c:558 +#: gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "_معاينة:" -#: gtk/gtkfontsel.c:1658 +#: gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "اختيار الخط" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "خطأ أثناء تحميل الأيقونة: %s" -#: gtk/gtkicontheme.c:1355 +#: gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1220,12 +1299,12 @@ msgstr "" "يمكنك جلب نسخة من:\n" "\t%s" -#: gtk/gtkicontheme.c:1536 +#: gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "الأيقونة '%s' غير موجودة في السِمة" -#: gtk/gtkicontheme.c:3057 +#: gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "فشل تحميل الأيقونة" @@ -1250,45 +1329,45 @@ msgid "System (%s)" msgstr "النظام (%s)" #. Open Link -#: gtk/gtklabel.c:6214 +#: gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "ا_فتح الوصلة" #. Copy Link Address -#: gtk/gtklabel.c:6226 +#: gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "ا_نسخ عنوان الوصلة" -#: gtk/gtklinkbutton.c:484 +#: gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "ا_نسخ المسار" -#: gtk/gtklinkbutton.c:647 +#: gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "عنوان غير صحيح" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "حمّل وحدات ج‌ت‌ك+ إضافية" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:528 +#: gtk/gtkmain.c:564 msgid "MODULES" msgstr "وحدات" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:530 +#: gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "اجعل جميع التحذيرات قاتلة" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:533 +#: gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "شارات تنقيح ج‌ت‌ك+ التي ستضبط" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:536 +#: gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "شارات تنقيح ج‌ت‌ك+ التي ستُصفّر" @@ -1297,20 +1376,20 @@ msgstr "شارات تنقيح ج‌ت‌ك+ التي ستُصفّر" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:799 +#: gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:RTL" -#: gtk/gtkmain.c:864 +#: gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "غير قادر على فتح العرض: %s" -#: gtk/gtkmain.c:923 +#: gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "خيارات ج‌ت‌ك+" -#: gtk/gtkmain.c:923 +#: gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "اعرض خيارات ج‌ت‌ك+" @@ -1394,7 +1473,7 @@ msgstr "صدفة زِد" msgid "Cannot end process with PID %d: %s" msgstr "تعذّر إنهاء العملية ذات المعرف %d:‏ %s" -#: gtk/gtknotebook.c:4756 gtk/gtknotebook.c:7319 +#: gtk/gtknotebook.c:4817 gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "صفحة %Iu" @@ -1427,7 +1506,7 @@ msgstr "" "فوق: %s %s\n" "تحت: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3291 +#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "أدِر المقاسات المخصّصة..." @@ -1435,7 +1514,7 @@ msgstr "أدِر المقاسات المخصّصة..." msgid "_Format for:" msgstr "_صيغة:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3463 +#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "_مقاس الورقة:" @@ -1443,19 +1522,19 @@ msgstr "_مقاس الورقة:" msgid "_Orientation:" msgstr "الا_تجاه:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3525 +#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "إعداد الصفحة" -#: gtk/gtkpathbar.c:158 +#: gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "المسار العلوي" -#: gtk/gtkpathbar.c:160 +#: gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "المسار السفلي" -#: gtk/gtkpathbar.c:1523 +#: gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "جذر نظام الملفات" @@ -1479,83 +1558,83 @@ msgstr "ا_حفظ في مجلّد:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s مهمّة #%Id" -#: gtk/gtkprintoperation.c:1695 +#: gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "الحالة الأولية" -#: gtk/gtkprintoperation.c:1696 +#: gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "يحضّر للطباعة" -#: gtk/gtkprintoperation.c:1697 +#: gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "يولّد البيانات" -#: gtk/gtkprintoperation.c:1698 +#: gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "يرسل البيانات" -#: gtk/gtkprintoperation.c:1699 +#: gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "ينتظر" -#: gtk/gtkprintoperation.c:1700 +#: gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "متعطّل بسبب مشكلة" -#: gtk/gtkprintoperation.c:1701 +#: gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "يطبع" -#: gtk/gtkprintoperation.c:1702 +#: gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "ينهي" -#: gtk/gtkprintoperation.c:1703 +#: gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "تم مع خطأ" -#: gtk/gtkprintoperation.c:2270 +#: gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "يحضّر %Id" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 +#: gtk/gtkprintoperation.c:2275 gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "يحضّر" -#: gtk/gtkprintoperation.c:2275 +#: gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "يطبع %Id" -#: gtk/gtkprintoperation.c:2932 +#: gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "حدث خطأ أثناء إنشاء معاينة الطباعة" -#: gtk/gtkprintoperation.c:2935 +#: gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "السبب الأكثر احتمالاً هو عدم القدرة على إنشاء ملف مؤقت." -#: gtk/gtkprintoperation-unix.c:297 +#: gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "حدث خطأ أثناء بدء المعاينة" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: gtk/gtkprintoperation-unix.c:477 gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "تطبيق" @@ -1569,7 +1648,7 @@ msgstr "نَفَذ الورق" #. Translators: this is a printer status. #: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "أُلبِث" @@ -1622,41 +1701,41 @@ msgstr "فشل جلب معلومات الطابعة" msgid "Getting printer information..." msgstr "يجلب معلومات الطابعة..." -#: gtk/gtkprintunixdialog.c:2139 +#: gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "الطابعة" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "الموقع" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "الحالة" -#: gtk/gtkprintunixdialog.c:2186 +#: gtk/gtkprintunixdialog.c:2194 msgid "Range" msgstr "المدى" -#: gtk/gtkprintunixdialog.c:2190 +#: gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "_كل الصفحات" -#: gtk/gtkprintunixdialog.c:2197 +#: gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "الصفحة ال_حالية" -#: gtk/gtkprintunixdialog.c:2207 +#: gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "ال_تحديد:" -#: gtk/gtkprintunixdialog.c:2216 +#: gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "_صفحات:" -#: gtk/gtkprintunixdialog.c:2217 +#: gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1664,28 +1743,28 @@ msgstr "" "حدد مدى أو أكثر من أرقام الصفحات،\n" " مثلا: 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "صفحات" -#: gtk/gtkprintunixdialog.c:2240 +#: gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "نُسَخْ" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "نُسَ_خ:" -#: gtk/gtkprintunixdialog.c:2263 +#: gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "_صفحة بصفحة" -#: gtk/gtkprintunixdialog.c:2271 +#: gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "م_قلوب" -#: gtk/gtkprintunixdialog.c:2291 +#: gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "عامّ" @@ -1695,168 +1774,168 @@ msgstr "عامّ" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3024 -#: modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: gtk/gtkprintunixdialog.c:3039 +#: modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "من اليسار لليمين، ومن الأعلى للأسفل" -#: gtk/gtkprintunixdialog.c:3024 -#: modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: gtk/gtkprintunixdialog.c:3039 +#: modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "من اليسار لليمين، ومن الأسفل للأعلى" -#: gtk/gtkprintunixdialog.c:3025 -#: modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: gtk/gtkprintunixdialog.c:3040 +#: modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "من اليمين لليسار، ومن الأعلى للأسفل" -#: gtk/gtkprintunixdialog.c:3025 -#: modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: gtk/gtkprintunixdialog.c:3040 +#: modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "من اليمين لليسار، ومن الأسفل للأعلى" -#: gtk/gtkprintunixdialog.c:3026 -#: modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: gtk/gtkprintunixdialog.c:3041 +#: modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "من الأعلى للأسفل، ومن اليسار لليمين" -#: gtk/gtkprintunixdialog.c:3026 -#: modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: gtk/gtkprintunixdialog.c:3041 +#: modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "من الأعلى للأسفل، ومن اليمين لليسار" -#: gtk/gtkprintunixdialog.c:3027 -#: modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: gtk/gtkprintunixdialog.c:3042 +#: modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "من الأسفل للأعلى، ومن اليسار لليمين" -#: gtk/gtkprintunixdialog.c:3027 -#: modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: gtk/gtkprintunixdialog.c:3042 +#: modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "من الأسفل للأعلى، ومن اليمين لليسار" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3031 gtk/gtkprintunixdialog.c:3044 -#: modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: gtk/gtkprintunixdialog.c:3046 gtk/gtkprintunixdialog.c:3059 +#: modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "ترتيب الصفحات" -#: gtk/gtkprintunixdialog.c:3060 +#: gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "من اليسار لليمين" -#: gtk/gtkprintunixdialog.c:3061 +#: gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "من اليمين لليسار" -#: gtk/gtkprintunixdialog.c:3073 +#: gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "من الأعلى للأسفل" -#: gtk/gtkprintunixdialog.c:3074 +#: gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "من الأسفل للأعلى" -#: gtk/gtkprintunixdialog.c:3314 +#: gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "التصميم" -#: gtk/gtkprintunixdialog.c:3318 +#: gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "ذو _وجهين:" -#: gtk/gtkprintunixdialog.c:3333 +#: gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "الصفحات في كل _جهة:" -#: gtk/gtkprintunixdialog.c:3350 +#: gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "_ترتيب الصفحات:" -#: gtk/gtkprintunixdialog.c:3366 +#: gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "الطباعة _فقط:" #. In enum order -#: gtk/gtkprintunixdialog.c:3381 +#: gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "كل الورقات" -#: gtk/gtkprintunixdialog.c:3382 +#: gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "الورقات الزوجية" -#: gtk/gtkprintunixdialog.c:3383 +#: gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "الورقات الفردية" -#: gtk/gtkprintunixdialog.c:3386 +#: gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "_المقياس:" -#: gtk/gtkprintunixdialog.c:3413 +#: gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "ورق" -#: gtk/gtkprintunixdialog.c:3417 +#: gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "نوع الورق:" -#: gtk/gtkprintunixdialog.c:3432 +#: gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "_مصدر الورق:" -#: gtk/gtkprintunixdialog.c:3447 +#: gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "_لوحة الخرْج:" -#: gtk/gtkprintunixdialog.c:3487 +#: gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "الا_تجاه:" #. In enum order -#: gtk/gtkprintunixdialog.c:3502 +#: gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "طوليّ" -#: gtk/gtkprintunixdialog.c:3503 +#: gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "عرضيّ" -#: gtk/gtkprintunixdialog.c:3504 +#: gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "طوليّ مقلوب" -#: gtk/gtkprintunixdialog.c:3505 +#: gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "عرضيّ مقلوب" -#: gtk/gtkprintunixdialog.c:3550 +#: gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "تفاصيل المهمّة" -#: gtk/gtkprintunixdialog.c:3556 +#: gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "الأو_لوية:" -#: gtk/gtkprintunixdialog.c:3571 +#: gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr " _معلومات الدفع:" -#: gtk/gtkprintunixdialog.c:3589 +#: gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "اطبع المستند" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3598 +#: gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "الآ_ن" -#: gtk/gtkprintunixdialog.c:3609 +#: gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "_في:" @@ -1864,7 +1943,7 @@ msgstr "_في:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3615 +#: gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1872,77 +1951,72 @@ msgstr "" "حدد وقت الطباعة،\n" "مثلا: 15:30، 2:35 م، 14:15:20، 11:46:30 ص، 4 م" -#: gtk/gtkprintunixdialog.c:3625 +#: gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "وقت الطباعة" -#: gtk/gtkprintunixdialog.c:3641 +#: gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "قيد الان_تظار" -#: gtk/gtkprintunixdialog.c:3642 +#: gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" msgstr "احجز المهمّة حتّى تطلق صراحة" -#: gtk/gtkprintunixdialog.c:3662 +#: gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "أضِف صفحة غلاف" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3671 +#: gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "ق_بل:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3689 +#: gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "ب_عد:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3707 +#: gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "مَهمّة" -#: gtk/gtkprintunixdialog.c:3773 +#: gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "متقدّم" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3811 +#: gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" msgstr "جودة الصورة" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3815 +#: gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "اللون" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3820 +#: gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "يجري الإنهاء" -#: gtk/gtkprintunixdialog.c:3830 +#: gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" msgstr "بعض الإعدادات في الحوار تتعارض" -#: gtk/gtkprintunixdialog.c:3853 +#: gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "اطبع" -#: gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "تعذّر العثور على ملف الاحتواء: \"%s\"" - -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "تعذّر إيجاد موقع ملف الصورة في pixmap_path: \"%s\"" @@ -1957,36 +2031,36 @@ msgstr "هذه الوظيفة غير مدعومة للنوع '%s'" msgid "Select which type of documents are shown" msgstr "اختر أنواع المستندات التي ستعرض" -#: gtk/gtkrecentchooserdefault.c:1133 gtk/gtkrecentchooserdefault.c:1170 +#: gtk/gtkrecentchooserdefault.c:1137 gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "لا يوجد عنصر للعنوان '%s'" -#: gtk/gtkrecentchooserdefault.c:1297 +#: gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "مرشّح من دون عنوان" -#: gtk/gtkrecentchooserdefault.c:1650 +#: gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "تعذّر حذف عنصر" -#: gtk/gtkrecentchooserdefault.c:1694 +#: gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "تعذّر مسح القائمة" -#: gtk/gtkrecentchooserdefault.c:1778 +#: gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "ا_نسخ الموقع" -#: gtk/gtkrecentchooserdefault.c:1791 +#: gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "ا_حذف من القائمة" -#: gtk/gtkrecentchooserdefault.c:1800 +#: gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "ا_مسح القائمة" -#: gtk/gtkrecentchooserdefault.c:1814 +#: gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "أظهِر الموارِد ال_خاصة" @@ -2051,12 +2125,12 @@ msgstr "لا يُمكن العثور على عنصر بالعنوان '%s'" msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "" -#: gtk/gtkspinner.c:456 +#: gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "دوّارة" -#: gtk/gtkspinner.c:457 +#: gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "يوفر إشارة مرئية على التقدم" @@ -2564,6 +2638,33 @@ msgctxt "Stock label" msgid "Zoom _Out" msgstr "_بعّد" +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: gtk/gtkswitch.c:304 gtk/gtkswitch.c:353 gtk/gtkswitch.c:544 +msgctxt "switch" +msgid "ON" +msgstr "" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: gtk/gtkswitch.c:312 gtk/gtkswitch.c:354 gtk/gtkswitch.c:560 +msgctxt "switch" +msgid "OFF" +msgstr "" + +#: gtk/gtkswitch.c:959 +#, fuzzy +msgctxt "light switch widget" +msgid "Switch" +msgstr "بوصة" + +#: gtk/gtkswitch.c:960 +msgid "Switches between on and off states" +msgstr "" + #: gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" @@ -2574,106 +2675,106 @@ msgstr "حدث خطأ مجهول عند محاولة فتح %s" msgid "No deserialize function found for format %s" msgstr "لا وظيفة تفكيك موجودة للنوع %s" -#: gtk/gtktextbufferserialize.c:803 gtk/gtktextbufferserialize.c:829 +#: gtk/gtktextbufferserialize.c:800 gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "كلا \"id\" و \"name\" لم يعثر عليهما في العنصر <%s>" -#: gtk/gtktextbufferserialize.c:813 gtk/gtktextbufferserialize.c:839 +#: gtk/gtktextbufferserialize.c:810 gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "الصفة \"%s\" معادة مرتان في نفس العنصر <%s>" -#: gtk/gtktextbufferserialize.c:855 +#: gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "معرّف العنصر <%s> غير صحيح \"%s\"" -#: gtk/gtktextbufferserialize.c:865 +#: gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "العنصر <%s> ليس له لا صفة \"name\" ولا \"id\"" -#: gtk/gtktextbufferserialize.c:952 +#: gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "الصفة \"%s\" مكررة مرتان في نفس العنصر <%s>" -#: gtk/gtktextbufferserialize.c:970 gtk/gtktextbufferserialize.c:995 +#: gtk/gtktextbufferserialize.c:967 gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "الصفة \"%s\" خاطئة في العنصر <%s> في هذا السياق" -#: gtk/gtktextbufferserialize.c:1034 +#: gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "لم يتم تعريف الشّارة \"%s\"." -#: gtk/gtktextbufferserialize.c:1046 +#: gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "وُجِد وسم مجهول و لا يمكن إنشاؤه." -#: gtk/gtktextbufferserialize.c:1057 +#: gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "الوسم \"%s\" غير موجود في النص و لا يمكن إنشاؤه." -#: gtk/gtktextbufferserialize.c:1156 gtk/gtktextbufferserialize.c:1231 -#: gtk/gtktextbufferserialize.c:1336 gtk/gtktextbufferserialize.c:1410 +#: gtk/gtktextbufferserialize.c:1153 gtk/gtktextbufferserialize.c:1228 +#: gtk/gtktextbufferserialize.c:1333 gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "العنصر <%s> غير مسموح به تحت <%s>" -#: gtk/gtktextbufferserialize.c:1187 +#: gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" قيمة غير سليمة لصفة" -#: gtk/gtktextbufferserialize.c:1195 +#: gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" قيمة غير سليمة لاسم صفة" -#: gtk/gtktextbufferserialize.c:1205 +#: gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "لا يمكن تحويل \"%s\" إلى قيمة من نوع \"%s\" للخاصية \"%s\"" -#: gtk/gtktextbufferserialize.c:1214 +#: gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" قيمة غير سليمة لاسم الصفة \"%s\"" -#: gtk/gtktextbufferserialize.c:1299 +#: gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "الوسم \"%s\" معرف مسبقًا" -#: gtk/gtktextbufferserialize.c:1312 +#: gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "الوسم \"%s\" له خاصية غير صالحة \"%s\"" -#: gtk/gtktextbufferserialize.c:1365 +#: gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "العنصر العلوي في نص يجب أن يكون و ليس <%s>" -#: gtk/gtktextbufferserialize.c:1374 gtk/gtktextbufferserialize.c:1390 +#: gtk/gtktextbufferserialize.c:1371 gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "عنصر <%s> تم تحديده بالفعل" -#: gtk/gtktextbufferserialize.c:1396 +#: gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "العنصر لا يمكن أن يظهر قبل العنصر " -#: gtk/gtktextbufferserialize.c:1796 +#: gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "البيانات المرسلة غير صالحة" -#: gtk/gtktextbufferserialize.c:1874 +#: gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "البيانات المرسلة غير صالحة. القسم الأول ليس GTKTEXTBUFFERCONTENTS-0001" @@ -2718,58 +2819,53 @@ msgstr "_واصل صفري العرض (ZWJ)" msgid "ZWNJ Zero width _non-joiner" msgstr "_فاصل صفري العرض (ZWNJ)" -#: gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "تعذّر إيجاد محرّك السِمة في module_path: \"%s\"" - -#: gtk/gtkuimanager.c:1505 +#: gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "وسم بدء غير متوقّع '%s' عند السطر %Id المحرف %Id" -#: gtk/gtkuimanager.c:1595 +#: gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "بيانات محارف غير متوقّعة عند السطر %Id المحرف %Id" -#: gtk/gtkuimanager.c:2427 +#: gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "فارغ" -#: gtk/gtkvolumebutton.c:83 +#: gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "شدة الصوت" -#: gtk/gtkvolumebutton.c:85 +#: gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "يرفع أو يخفض الصوت" -#: gtk/gtkvolumebutton.c:88 +#: gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "يضبط الصوت" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: gtk/gtkvolumebutton.c:181 gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "أخفض الصوت" -#: gtk/gtkvolumebutton.c:96 +#: gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "يخفض الصوت" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: gtk/gtkvolumebutton.c:187 gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "ارفع الصوت" -#: gtk/gtkvolumebutton.c:102 +#: gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "يرفع الصوت" -#: gtk/gtkvolumebutton.c:160 +#: gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "صامت" -#: gtk/gtkvolumebutton.c:164 +#: gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "شدة الصوت القصوى" @@ -2778,7 +2874,7 @@ msgstr "شدة الصوت القصوى" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: gtk/gtkvolumebutton.c:177 +#: gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3629,81 +3725,81 @@ msgstr "فشلت كتابة فهرس المجلدات\n" msgid "Failed to rewrite header\n" msgstr "فشلت إعادة كتابة الترويسة\n" -#: gtk/updateiconcache.c:1463 +#: gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "فشل فتح الملف %s : %s\n" -#: gtk/updateiconcache.c:1471 +#: gtk/updateiconcache.c:1496 gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "فشلت الكتابة في الملف: %s\n" -#: gtk/updateiconcache.c:1507 +#: gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "المخزن المنتج غير صحيح.\n" -#: gtk/updateiconcache.c:1521 +#: gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "تعذّر تغيير اسم %s إلى %s: %s، سيُحذف %s إذن.\n" -#: gtk/updateiconcache.c:1535 +#: gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "تعذّر تغيير اسم %s إلى %s: %s\n" -#: gtk/updateiconcache.c:1545 +#: gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "تعذّر تغيير اسم %s إلى %s: %s.\n" -#: gtk/updateiconcache.c:1572 +#: gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "تم إنشاء ملف الخزن (Cache) بنجاح.\n" -#: gtk/updateiconcache.c:1611 +#: gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "اكتب فوق ملف cache (خزن) موجود، حتى إذا كان محدّثا" -#: gtk/updateiconcache.c:1612 +#: gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "لا تتحقق من وجود index.theme" -#: gtk/updateiconcache.c:1613 +#: gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "لا تضع بيانات الصور في المخزن" -#: gtk/updateiconcache.c:1614 +#: gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "اخرج ملف ترويسة C" -#: gtk/updateiconcache.c:1615 +#: gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "اغلق الخرْج المطنب" -#: gtk/updateiconcache.c:1616 +#: gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "تصحيح مخزن الإيقونات الموجود" -#: gtk/updateiconcache.c:1683 +#: gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "الملفّ غير موجود: %s\n" -#: gtk/updateiconcache.c:1689 +#: gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "مخزن إيقونات غير سليم: %s\n" -#: gtk/updateiconcache.c:1702 +#: gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "لا ملف فهرس للسمة.\n" -#: gtk/updateiconcache.c:1706 +#: gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3767,254 +3863,254 @@ msgstr "فيتنامية (VIQR)" msgid "X Input Method" msgstr "طريقة إدخال س" -#: modules/printbackends/cups/gtkprintbackendcups.c:810 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: modules/printbackends/cups/gtkprintbackendcups.c:814 +#: modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "اسم المستخدم:" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: modules/printbackends/cups/gtkprintbackendcups.c:815 +#: modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "كلمة السر:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: modules/printbackends/cups/gtkprintbackendcups.c:854 +#: modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "الاستيثاق مطلوب لطبع المستند '%s' على الطابعة %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:852 +#: modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "الاستيثاق مطلوب لطبع مستند على %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "الاستيثاق مطلوب لجلب خصائص المهمة '%s'" -#: modules/printbackends/cups/gtkprintbackendcups.c:858 +#: modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "الاستيثاق مطلوب لجلب خصائص المهمة" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "الاستيثاق مطلوب لجلب خصائص الطابعة %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:864 +#: modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "الاستيثاق مطلوب لجلب خصائص الطابعة" -#: modules/printbackends/cups/gtkprintbackendcups.c:867 +#: modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "الاستيثاق مطلوب لمعرفة طابعة %s المبدئية" -#: modules/printbackends/cups/gtkprintbackendcups.c:870 +#: modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "الاستيثاق مطلوب لمعرفة طابعات %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:875 +#: modules/printbackends/cups/gtkprintbackendcups.c:879 #, c-format msgid "Authentication is required to get a file from %s" msgstr "الاستيثاق مطلوب لجلب الملف من %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "الاستيثاق مطلوب على %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "النطاق:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "الاستيثاق مطلوب لطبع المستند '%s'" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "الاستيثاق مطلوب لطبع هذا المستند على الطابعة %s" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "الاستيثاق مطلوب لطبع هذا المستند" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "الطابعة '%s' بها نقص في الحبر." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "نفذ الحبر من الطابعة '%s'." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "مستوى المُظّهِر منخفض في الطابعة '%s'." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "نفذت الطابعة '%s' من المُظّهِر." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "الطابعة '%s' بها نقص في واحد من الأقلام على الأقل." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "نفذ حبر واحد من أقلام الطابعة '%s' على الأقل." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "غطاء الطابعة '%s' مفتوح." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "باب الطابعة '%s' مفتوح." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "الطابعة '%s' بها نقص في الورق." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "نفذ الورق من الطابعة '%s'." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "الطابعة '%s' غير متصلة حاليا." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "هناك مشكلة بالطابعة '%s'." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "إيقاف مؤقت ؛ يجري رفض المهام" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "يجري رفض المهام" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "ذو جانبين" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "نوع الورق" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "مصدر الورق" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "لوحة الخرْج" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "الميز" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "ترشيح مسبق بغوست‌سكربت" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "أحادي الجانب" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "حافة طويلة (قياسي)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "حافة قصيرة (ملفوف)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "اختيار تلقائي" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 #: modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: modules/printbackends/cups/gtkprintbackendcups.c:2807 #: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3305 +#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "مبدئي الطابعة" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "ادمج خطوط غوست‌سكربت فقط" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "حوّل إلى بوستسكربت المستوى ١" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "حوّل إلى بوستسكربت المستوى ٢" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "لا ترشيح مسبق" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "متفرقات" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "عاجِل" -#: modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "عال" -#: modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "متوسط" -#: modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "منخفض" @@ -4022,66 +4118,66 @@ msgstr "منخفض" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3553 +#: modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "الصفحات بكل ورقة" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "أولوية المهمة" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3601 +#: modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "معلومات الدفع" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "لا شيء" -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "مصنّف" -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "سرّي" -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "سر" -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "معياري" -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "سرّي للغاية" -#: modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "غير مصنّف" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3651 +#: modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "قبل" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3666 +#: modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "بعد" @@ -4089,14 +4185,14 @@ msgstr "بعد" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3686 +#: modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "إطبع في" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3697 +#: modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "إطبع في الوقت" @@ -4104,7 +4200,7 @@ msgstr "إطبع في الوقت" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3732 +#: modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "مخصص %sx%s" @@ -4119,28 +4215,28 @@ msgstr "ناتج.%s" msgid "Print to File" msgstr "اطبع إلى ملف" -#: modules/printbackends/file/gtkprintbackendfile.c:578 +#: modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:578 +#: modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "PostScript" -#: modules/printbackends/file/gtkprintbackendfile.c:578 +#: modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:590 +#: modules/printbackends/file/gtkprintbackendfile.c:640 #: modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "الصفحات لكل _ورقة :" -#: modules/printbackends/file/gtkprintbackendfile.c:649 +#: modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "ملف" -#: modules/printbackends/file/gtkprintbackendfile.c:659 +#: modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "صيغة ال_خرْج" @@ -4207,6 +4303,27 @@ msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "فشل تحميل الصورة '%s': السبب مجهول، ربما يكون ملف الصورة تالفًا" +#~ msgid "X screen to use" +#~ msgstr "شاشة س لتُستخدم" + +#~ msgid "SCREEN" +#~ msgstr "شاشة" + +#~ msgid "Make X calls synchronous" +#~ msgstr "اجعل نداءات س متزامنة" + +#~ msgid "Credits" +#~ msgstr "إشادات" + +#~ msgid "Written by" +#~ msgstr "كتَبَهُ" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "تعذّر العثور على ملف الاحتواء: \"%s\"" + +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "تعذّر إيجاد محرّك السِمة في module_path: \"%s\"" + #~ msgid "Error creating folder '%s': %s" #~ msgstr "خطأ أثناء إنشاء المجلد '%s': %s" @@ -4898,9 +5015,6 @@ msgstr "فشل تحميل الصورة '%s': السبب مجهول، ربما ي #~ msgid "_Folder name:" #~ msgstr "ا_سم المجلّد:" -#~ msgid "C_reate" -#~ msgstr "ان_شئ" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "اسم الملف \"%s\" يحوي رموزا غير مسموح باستخدامها في أسماء الملفات" From 6d6b38cf7868e6871eae61f59aeb872d66cdcd0e Mon Sep 17 00:00:00 2001 From: Khaled Hosny Date: Wed, 12 Jan 2011 09:11:04 +0200 Subject: [PATCH 1345/1463] Updated Arabic translation --- po/ar.po | 75 +++++++++++++++++++++++++------------------------------- 1 file changed, 33 insertions(+), 42 deletions(-) diff --git a/po/ar.po b/po/ar.po index 6454512814..074e338d45 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,13 +7,13 @@ # Djihed Afifi , 2006. # Seba Barto , 2006. # Anas Afif Emad , 2008. -# Khaled Hosny , 2006, 2007, 2008, 2009, 2010. +# Khaled Hosny , 2006, 2007, 2008, 2009, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-12 08:54+0200\n" -"PO-Revision-Date: 2010-11-13 03:20+0300\n" +"POT-Creation-Date: 2011-01-12 09:10+0200\n" +"PO-Revision-Date: 2011-01-12 09:10+0300\n" "Last-Translator: Khaled Hosny \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" @@ -322,11 +322,13 @@ msgstr[5] "يجري فتح %Id عنصر" #. * contains the URL of the license. #. #: gtk/gtkaboutdialog.c:104 -#, fuzzy, c-format +#, c-format msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "يأتي هذا البرنامج دون أي ضمانات على الإطلاق؛ زر %s لمزيد من المعلومات." +msgstr "" +"يأتي هذا البرنامج دون أي ضمانات على الإطلاق؛ زر %s لمزيد " +"من المعلومات." #: gtk/gtkaboutdialog.c:346 msgid "License" @@ -351,9 +353,8 @@ msgid "Could not show link" msgstr "تعذّر إظهار الوصلة" #: gtk/gtkaboutdialog.c:994 -#, fuzzy msgid "Homepage" -msgstr "Home" +msgstr "الموقع" #: gtk/gtkaboutdialog.c:1048 #, c-format @@ -361,9 +362,8 @@ msgid "About %s" msgstr "عنْ %s" #: gtk/gtkaboutdialog.c:2372 -#, fuzzy msgid "Created by" -msgstr "ان_شئ" +msgstr "أنشئه" #: gtk/gtkaboutdialog.c:2375 msgid "Documented by" @@ -448,95 +448,87 @@ msgid "Backslash" msgstr "Backslash" #: gtk/gtkappchooserbutton.c:259 -#, fuzzy msgid "Other application..." -msgstr "تطبيق" +msgstr "تطبيق آخر..." #: gtk/gtkappchooserdialog.c:127 msgid "Failed to look for applications online" -msgstr "" +msgstr "فشل البحث عن تطبيق على الإنترنت" #: gtk/gtkappchooserdialog.c:164 msgid "Find applications online" -msgstr "" +msgstr "ابحث عن تطبيق على الإنترنت" #: gtk/gtkappchooserdialog.c:208 -#, fuzzy msgid "Could not run application" -msgstr "تعذّر مسح القائمة" +msgstr "تعذّر تشغيل التّطبيق" #: gtk/gtkappchooserdialog.c:221 -#, fuzzy, c-format +#, c-format msgid "Could not find '%s'" -msgstr "تعذّر وصْل %s" +msgstr "تعذر إيجاد '%s'" #: gtk/gtkappchooserdialog.c:224 -#, fuzzy msgid "Could not find application" -msgstr "تعذّر إظهار الوصلة" +msgstr "تعذّر العثور على تطبيق" #. Translators: %s is a filename #: gtk/gtkappchooserdialog.c:334 #, c-format msgid "Select an application to open \"%s\"" -msgstr "" +msgstr "اختر تطبيقا لفتح \"%s\"" #: gtk/gtkappchooserdialog.c:335 gtk/gtkappchooserwidget.c:644 #, c-format msgid "No applications available to open \"%s\"" -msgstr "" +msgstr "لا توجد أي تطبيقات لفتح \"%s\"" #. Translators: %s is a file type description #: gtk/gtkappchooserdialog.c:341 #, c-format msgid "Select an application for \"%s\" files" -msgstr "" +msgstr "اختر تطبيقا لملفات \"%s\"" #: gtk/gtkappchooserdialog.c:344 #, c-format msgid "No applications available to open \"%s\" files" -msgstr "" +msgstr "لا توجد أي تطبيقات لفتح ملفات \"%s\"" #: gtk/gtkappchooserdialog.c:358 msgid "" "Click \"Show other applications\", for more options, or \"Find applications " "online\" to install a new application" msgstr "" +"انقر على \"أظهر التطبيقات الأخرى\" لمزيد من الخيارات، أو \"ابحث عن تطبيق على " +"الإنترنت\" لتثبيت تطبيق جديد." #: gtk/gtkappchooserdialog.c:428 -#, fuzzy msgid "Forget association" -msgstr "انس كلمة السر _حالاً" +msgstr "انس الارتباط" #: gtk/gtkappchooserdialog.c:493 -#, fuzzy msgid "Show other applications" -msgstr "اعرض خيارات ج‌ت‌ك+" +msgstr "أظهر التطبيقات الأخرى" #: gtk/gtkappchooserdialog.c:511 -#, fuzzy msgid "_Open" msgstr "ا_فتح" #: gtk/gtkappchooserwidget.c:593 -#, fuzzy msgid "Default Application" -msgstr "تطبيق" +msgstr "التطبيق المبدئي" #: gtk/gtkappchooserwidget.c:730 -#, fuzzy msgid "Recommended Applications" -msgstr "تطبيق" +msgstr "التطبيقات المُزكّاة" #: gtk/gtkappchooserwidget.c:744 -#, fuzzy msgid "Related Applications" -msgstr "تطبيق" +msgstr "التطبيقات المتعلقة" #: gtk/gtkappchooserwidget.c:758 -#, fuzzy msgid "Other Applications" -msgstr "تطبيق" +msgstr "التطبيقات الأخرى" #: gtk/gtkbuilderparser.c:342 #, c-format @@ -2123,7 +2115,7 @@ msgstr "لا يُمكن العثور على عنصر بالعنوان '%s'" #: gtk/gtkrecentmanager.c:2437 #, c-format msgid "No registered application with name '%s' for item with URI '%s' found" -msgstr "" +msgstr "لا يوجد أي تطبيق مسجّل بالاسم '%s' لعناصر مسار '%s'" #: gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" @@ -2645,7 +2637,7 @@ msgstr "_بعّد" #: gtk/gtkswitch.c:304 gtk/gtkswitch.c:353 gtk/gtkswitch.c:544 msgctxt "switch" msgid "ON" -msgstr "" +msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state @@ -2653,17 +2645,16 @@ msgstr "" #: gtk/gtkswitch.c:312 gtk/gtkswitch.c:354 gtk/gtkswitch.c:560 msgctxt "switch" msgid "OFF" -msgstr "" +msgstr "○" #: gtk/gtkswitch.c:959 -#, fuzzy msgctxt "light switch widget" msgid "Switch" -msgstr "بوصة" +msgstr "مفتاح" #: gtk/gtkswitch.c:960 msgid "Switches between on and off states" -msgstr "" +msgstr "يبدّل بين حالات الفتح والإغلاق" #: gtk/gtktextbufferrichtext.c:650 #, c-format From 479a08054ba5e17cf35269aa5c8acba19d8a516c Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 12 Jan 2011 13:09:54 +0800 Subject: [PATCH 1346/1463] Update MSVC 2008 Project Files -Update the project files to simplify them a bit after the seperation of GDK-Pixbuf (move GDK-Pixbuf includes into the property sheet, move the linking of Cairo/Pango/PangoCairo into the property sheet)--this is for all DLL/EXE Projects (GDK/GTK/gtk-demo) -Update the GDK-Win32 project as the source files have changed significantly (especially as GDK3 was not compilable on Windows for a while--thanks to Hans Breuer for the help in the process-Bug 639127) -Made up for missed headers in the "install" stage and removed the removed headers in the property sheet -Updated GTK+ .def file generation as an extra macro is needed for that -Updated gdk/Makefile.am for the generation of gdk.vcproj from gdk.vcprojin --- build/win32/vs9/gdk-win32.vcproj | 13 ++++-------- build/win32/vs9/gdk.vcprojin | 9 ++++---- build/win32/vs9/gtk+.vsprops | 35 ++++++++++++++++++++------------ build/win32/vs9/gtk-demo.vcproj | 8 ++++---- build/win32/vs9/gtk.vcprojin | 14 ++++++------- gdk/Makefile.am | 2 +- 6 files changed, 43 insertions(+), 38 deletions(-) diff --git a/build/win32/vs9/gdk-win32.vcproj b/build/win32/vs9/gdk-win32.vcproj index 1d6169cca3..e8d76d0998 100644 --- a/build/win32/vs9/gdk-win32.vcproj +++ b/build/win32/vs9/gdk-win32.vcproj @@ -122,29 +122,24 @@ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > - - + + + - - - - - - - + diff --git a/build/win32/vs9/gdk.vcprojin b/build/win32/vs9/gdk.vcprojin index 60e0edea6d..71a5953636 100644 --- a/build/win32/vs9/gdk.vcprojin +++ b/build/win32/vs9/gdk.vcprojin @@ -42,7 +42,7 @@ /> #include "libgdk.sourcefiles" + diff --git a/build/win32/vs9/gtk+.vsprops b/build/win32/vs9/gtk+.vsprops index ba5f174139..6cfc45b261 100644 --- a/build/win32/vs9/gtk+.vsprops +++ b/build/win32/vs9/gtk+.vsprops @@ -8,13 +8,13 @@ > ' \ ;; \ From f79266092b2a897b714ca9681ab966e3e51636f9 Mon Sep 17 00:00:00 2001 From: Chun-wei Fan Date: Wed, 12 Jan 2011 18:36:05 +0800 Subject: [PATCH 1347/1463] Update MSVC 2008 Project Files -Update the project files to simplify them a bit after the seperation of GDK-Pixbuf (move GDK-Pixbuf includes into the property sheet, move the linking of Cairo/Pango/PangoCairo into the property sheet)--this is for all DLL/EXE Projects (GDK/GTK/gtk-demo) -Update the GDK-Win32 project as the source files have changed significantly (especially as GDK3 was not compilable on Windows for a while--thanks to Hans Breuer for the help in the process-Bug 639127) -Made up for missed headers in the "install" stage and removed the removed headers in the property sheet -Updated GTK+ .def file generation as an extra macro is needed for that -Updated gdk/Makefile.am for the generation of gdk.vcproj from gdk.vcprojin --- build/win32/vs9/gdk-win32.vcproj | 8 ++++---- build/win32/vs9/gdk.vcprojin | 8 ++++---- build/win32/vs9/gtk-demo.vcproj | 8 ++++---- build/win32/vs9/gtk.vcprojin | 10 +++++----- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/build/win32/vs9/gdk-win32.vcproj b/build/win32/vs9/gdk-win32.vcproj index e8d76d0998..ef0fc6e823 100644 --- a/build/win32/vs9/gdk-win32.vcproj +++ b/build/win32/vs9/gdk-win32.vcproj @@ -31,7 +31,7 @@ Date: Wed, 12 Jan 2011 11:36:32 +0100 Subject: [PATCH 1348/1463] stylecontext: Protect the cairo contexts with cairo_save/cairo_restore() We don't want theme engines to mess up the context we are currently drawing with. --- gtk/gtkstylecontext.c | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 9d9cdb239c..12399915f2 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -3613,11 +3613,15 @@ gtk_render_check (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_check (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -3659,11 +3663,15 @@ gtk_render_option (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_option (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -3702,11 +3710,15 @@ gtk_render_arrow (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, size, size); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_arrow (priv->theming_engine, cr, angle, x, y, size); + + cairo_restore (cr); } /** @@ -3749,10 +3761,14 @@ gtk_render_background (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_background (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -3797,10 +3813,14 @@ gtk_render_frame (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_frame (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -3842,10 +3862,14 @@ gtk_render_expander (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_expander (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -3884,10 +3908,14 @@ gtk_render_focus (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_focus (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -3920,6 +3948,8 @@ gtk_render_layout (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + pango_layout_get_extents (layout, &extents, NULL); store_animation_region (context, @@ -3930,6 +3960,8 @@ gtk_render_layout (GtkStyleContext *context, _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_layout (priv->theming_engine, cr, x, y, layout); + + cairo_restore (cr); } /** @@ -3962,8 +3994,12 @@ gtk_render_line (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_line (priv->theming_engine, cr, x0, y0, x1, y1); + + cairo_restore (cr); } /** @@ -4007,10 +4043,14 @@ gtk_render_slider (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_slider (priv->theming_engine, cr, x, y, width, height, orientation); + + cairo_restore (cr); } /** @@ -4067,12 +4107,16 @@ gtk_render_frame_gap (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_frame_gap (priv->theming_engine, cr, x, y, width, height, gap_side, xy0_gap, xy1_gap); + + cairo_restore (cr); } /** @@ -4116,10 +4160,14 @@ gtk_render_extension (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_extension (priv->theming_engine, cr, x, y, width, height, gap_side); + + cairo_restore (cr); } /** @@ -4161,10 +4209,14 @@ gtk_render_handle (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_handle (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** @@ -4201,10 +4253,14 @@ gtk_render_activity (GtkStyleContext *context, priv = context->priv; engine_class = GTK_THEMING_ENGINE_GET_CLASS (priv->theming_engine); + cairo_save (cr); + store_animation_region (context, x, y, width, height); _gtk_theming_engine_set_context (priv->theming_engine, context); engine_class->render_activity (priv->theming_engine, cr, x, y, width, height); + + cairo_restore (cr); } /** From aa1f58b731bfc38992eca2a07368b9907b4995ec Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Wed, 12 Jan 2011 14:33:27 +0100 Subject: [PATCH 1349/1463] _gtk_cell_area_set_cell_data_func_with_proxy: set the proxy when creating a new CellInfo (#637965) --- gtk/gtkcellarea.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index 0a94ca54f8..b9e74ff34b 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -3660,6 +3660,7 @@ _gtk_cell_area_set_cell_data_func_with_proxy (GtkCellArea *area, else { info = cell_info_new ((GtkCellLayoutDataFunc)func, func_data, destroy); + info->proxy = proxy; g_hash_table_insert (priv->cell_info, cell, info); } From 3492b1567de8d042d0a75b1caba01cf1e5b70f63 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 13 Jan 2011 01:12:33 +0900 Subject: [PATCH 1350/1463] Fixed assertions in gtk_cell_renderer_get_aligned_area(). The assertions here were not accounting for the possiblility of zero width visible renderers that are aligned completely to the right (i.e. renderers with no content set for a said row). --- gtk/gtkcellrenderer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk/gtkcellrenderer.c b/gtk/gtkcellrenderer.c index b2ef07b4a5..b5e738a08c 100644 --- a/gtk/gtkcellrenderer.c +++ b/gtk/gtkcellrenderer.c @@ -1658,8 +1658,8 @@ gtk_cell_renderer_get_aligned_area (GtkCellRenderer *cell, klass = GTK_CELL_RENDERER_GET_CLASS (cell); klass->get_aligned_area (cell, widget, flags, cell_area, aligned_area); - g_assert (aligned_area->x >= cell_area->x && aligned_area->x < cell_area->x + cell_area->width); - g_assert (aligned_area->y >= cell_area->y && aligned_area->y < cell_area->y + cell_area->height); + g_assert (aligned_area->x >= cell_area->x && aligned_area->x <= cell_area->x + cell_area->width); + g_assert (aligned_area->y >= cell_area->y && aligned_area->y <= cell_area->y + cell_area->height); g_assert ((aligned_area->x - cell_area->x) + aligned_area->width <= cell_area->width); g_assert ((aligned_area->y - cell_area->y) + aligned_area->height <= cell_area->height); } From 6ff7a8daf2ee769f601879c19adf817eb00d2eb9 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 02:35:19 +0100 Subject: [PATCH 1351/1463] Make GtkToolItemGroup use GtkStyleContext --- gtk/gtkthemingengine.c | 16 +++++-- gtk/gtktoolitemgroup.c | 103 +++++++++++++++++++++-------------------- 2 files changed, 65 insertions(+), 54 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 061d6fbcba..4dc889c00e 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -2029,10 +2029,20 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine, if (!running) progress = (flags & GTK_STATE_FLAG_ACTIVE) ? 1 : 0; - if (is_rtl) - angle = (G_PI) - ((G_PI / 2) * progress); + if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_VERTICAL)) + { + if (is_rtl) + angle = (G_PI) - ((G_PI / 2) * progress); + else + angle = (G_PI / 2) * progress; + } else - angle = (G_PI / 2) * progress; + { + if (is_rtl) + angle = (G_PI / 2) + ((G_PI / 2) * progress); + else + angle = (G_PI / 2) - ((G_PI / 2) * progress); + } interp = progress; diff --git a/gtk/gtktoolitemgroup.c b/gtk/gtktoolitemgroup.c index 47dc71f8cc..e10e351526 100644 --- a/gtk/gtktoolitemgroup.c +++ b/gtk/gtktoolitemgroup.c @@ -84,7 +84,6 @@ struct _GtkToolItemGroupPrivate gboolean animation; gint64 animation_start; GSource *animation_timeout; - GtkExpanderStyle expander_style; gint expander_size; gint header_spacing; PangoEllipsizeMode ellipsize; @@ -266,43 +265,52 @@ gtk_tool_item_group_header_draw_cb (GtkWidget *widget, { GtkToolItemGroup *group = GTK_TOOL_ITEM_GROUP (data); GtkToolItemGroupPrivate* priv = group->priv; - GtkExpanderStyle expander_style; GtkOrientation orientation; gint x, y, width, height; GtkTextDirection direction; + GtkStyleContext *context; + GtkStateFlags state = 0; orientation = gtk_tool_shell_get_orientation (GTK_TOOL_SHELL (group)); - expander_style = priv->expander_style; direction = gtk_widget_get_direction (widget); width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); + context = gtk_widget_get_style_context (widget); + + if (!priv->collapsed) + state |= GTK_STATE_FLAG_ACTIVE; + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER); if (GTK_ORIENTATION_VERTICAL == orientation) { - if (GTK_TEXT_DIR_RTL == direction) - x = width - priv->expander_size / 2; - else - x = priv->expander_size / 2; + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - y = height / 2; + if (GTK_TEXT_DIR_RTL == direction) + x = width; + else + x = 0; + + y = height / 2 - priv->expander_size / 2; } else { - x = width / 2; - y = priv->expander_size / 2; - - /* Unfortunatly gtk_paint_expander() doesn't support rotated drawing - * modes. Luckily the following shady arithmetics produce the desired - * result. */ - expander_style = GTK_EXPANDER_EXPANDED - expander_style; + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + x = width / 2 - priv->expander_size / 2; + y = 0; } - gtk_paint_expander (gtk_widget_get_style (widget), - cr, - gtk_widget_get_state (priv->header), - GTK_WIDGET (group), - "tool-palette-header", x, y, - expander_style); + /* The expander is the only animatable region */ + gtk_style_context_push_animatable_region (context, GUINT_TO_POINTER (1)); + + gtk_render_expander (context, cr, x, y, + priv->expander_size, + priv->expander_size); + + gtk_style_context_pop_animatable_region (context); + gtk_style_context_restore (context); return FALSE; } @@ -382,7 +390,6 @@ gtk_tool_item_group_init (GtkToolItemGroup *group) priv->children = NULL; priv->header_spacing = DEFAULT_HEADER_SPACING; priv->expander_size = DEFAULT_EXPANDER_SIZE; - priv->expander_style = GTK_EXPANDER_EXPANDED; priv->label_widget = gtk_label_new (NULL); gtk_misc_set_alignment (GTK_MISC (priv->label_widget), 0.0, 0.5); @@ -1200,10 +1207,12 @@ gtk_tool_item_group_realize (GtkWidget *widget) GdkDisplay *display; gint attributes_mask; guint border_width; + GtkStyleContext *context; gtk_widget_set_realized (widget, TRUE); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); + context = gtk_widget_get_style_context (widget); gtk_widget_get_allocation (widget, &allocation); @@ -1231,9 +1240,7 @@ gtk_tool_item_group_realize (GtkWidget *widget) gdk_window_set_user_data (window, widget); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), - window, GTK_STATE_NORMAL); + gtk_style_context_set_background (context, window); gtk_container_forall (GTK_CONTAINER (widget), (GtkCallback) gtk_widget_set_parent_window, @@ -1254,11 +1261,10 @@ gtk_tool_item_group_unrealize (GtkWidget *widget) } static void -gtk_tool_item_group_style_set (GtkWidget *widget, - GtkStyle *previous_style) +gtk_tool_item_group_style_updated (GtkWidget *widget) { gtk_tool_item_group_header_adjust_style (GTK_TOOL_ITEM_GROUP (widget)); - GTK_WIDGET_CLASS (gtk_tool_item_group_parent_class)->style_set (widget, previous_style); + GTK_WIDGET_CLASS (gtk_tool_item_group_parent_class)->style_updated (widget); } static void @@ -1573,7 +1579,7 @@ gtk_tool_item_group_class_init (GtkToolItemGroupClass *cls) wclass->size_allocate = gtk_tool_item_group_size_allocate; wclass->realize = gtk_tool_item_group_realize; wclass->unrealize = gtk_tool_item_group_unrealize; - wclass->style_set = gtk_tool_item_group_style_set; + wclass->style_updated = gtk_tool_item_group_style_updated; wclass->screen_changed = gtk_tool_item_group_screen_changed; cclass->add = gtk_tool_item_group_add; @@ -1866,22 +1872,6 @@ gtk_tool_item_group_animation_cb (gpointer data) /* Enque this early to reduce number of expose events. */ gtk_widget_queue_resize_no_redraw (GTK_WIDGET (group)); - /* Figure out current style of the expander arrow. */ - if (priv->collapsed) - { - if (priv->expander_style == GTK_EXPANDER_EXPANDED) - priv->expander_style = GTK_EXPANDER_SEMI_COLLAPSED; - else - priv->expander_style = GTK_EXPANDER_COLLAPSED; - } - else - { - if (priv->expander_style == GTK_EXPANDER_COLLAPSED) - priv->expander_style = GTK_EXPANDER_SEMI_EXPANDED; - else - priv->expander_style = GTK_EXPANDER_EXPANDED; - } - gtk_tool_item_group_force_expose (group); /* Finish animation when done. */ @@ -1921,6 +1911,8 @@ gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group, GTK_WIDGET (group)); if (collapsed != priv->collapsed) { + GtkStyleContext *context; + if (priv->animation) { if (priv->animation_timeout) @@ -1932,14 +1924,23 @@ gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group, g_source_set_callback (priv->animation_timeout, gtk_tool_item_group_animation_cb, group, NULL); - g_source_attach (priv->animation_timeout, NULL); + + context = gtk_widget_get_style_context (gtk_bin_get_child (GTK_BIN (priv->header))); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER); + + gtk_style_context_notify_state_change (context, + gtk_widget_get_window (priv->header), + GUINT_TO_POINTER (1), + GTK_STATE_FLAG_ACTIVE, + !collapsed); + + gtk_style_context_restore (context); } - else - { - priv->expander_style = GTK_EXPANDER_COLLAPSED; - gtk_tool_item_group_force_expose (group); - } + else + gtk_tool_item_group_force_expose (group); priv->collapsed = collapsed; g_object_notify (G_OBJECT (group), "collapsed"); From c42f20efe33473e480a26ed1de8227a2351ff2a4 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 03:00:51 +0100 Subject: [PATCH 1352/1463] Make GtkMenuItem use GtkStyleContext --- gtk/gtkmenuitem.c | 195 ++++++++++++++++++++++++++++------------------ 1 file changed, 118 insertions(+), 77 deletions(-) diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c index 6cfc53e8df..a111db502b 100644 --- a/gtk/gtkmenuitem.c +++ b/gtk/gtkmenuitem.c @@ -594,6 +594,8 @@ get_arrow_size (GtkWidget *widget, GtkWidget *child, gint *size) { + GtkStyleContext *style_context; + GtkStateFlags state; PangoContext *context; PangoFontMetrics *metrics; gfloat arrow_scaling; @@ -605,8 +607,11 @@ get_arrow_size (GtkWidget *widget, NULL); context = gtk_widget_get_pango_context (child); + style_context = gtk_widget_get_style_context (child); + state = gtk_widget_get_state_flags (child); + metrics = pango_context_get_metrics (context, - gtk_widget_get_style (child)->font_desc, + gtk_style_context_get_font (style_context, state), pango_context_get_language (context)); *size = (PANGO_PIXELS (pango_font_metrics_get_ascent (metrics) + @@ -640,14 +645,19 @@ gtk_menu_item_accel_width_foreach (GtkWidget *widget, static gint get_minimum_width (GtkWidget *widget) { + GtkStyleContext *style_context; + GtkStateFlags state; PangoContext *context; PangoFontMetrics *metrics; gint width; gint width_chars; context = gtk_widget_get_pango_context (widget); + style_context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + metrics = pango_context_get_metrics (context, - gtk_widget_get_style (widget)->font_desc, + gtk_style_context_get_font (style_context, state), pango_context_get_language (context)); width = pango_font_metrics_get_approximate_char_width (metrics); @@ -675,6 +685,9 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, GtkPackDirection pack_dir; GtkPackDirection child_pack_dir; gint min_width, nat_width; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; min_width = nat_width = 0; @@ -697,7 +710,14 @@ gtk_menu_item_get_preferred_width (GtkWidget *widget, } border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - min_width = (border_width + gtk_widget_get_style (widget)->xthickness) * 2; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + + min_width = (border_width * 2) + padding.left + padding.right + + border.left + border.right; if ((pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) && (child_pack_dir == GTK_PACK_DIRECTION_LTR || child_pack_dir == GTK_PACK_DIRECTION_RTL)) @@ -763,7 +783,9 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); GtkMenuItemPrivate *priv = menu_item->priv; GtkBin *bin; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; GtkWidget *child; GtkWidget *parent; guint accel_width; @@ -775,7 +797,10 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, min_height = nat_height = 0; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); gtk_widget_style_get (widget, "horizontal-padding", &horizontal_padding, @@ -796,7 +821,7 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, } border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - min_height = (border_width + style->ythickness) * 2; + min_height = (border_width * 2) + padding.top + padding.bottom + border.top + border.bottom; if ((pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) && (child_pack_dir == GTK_PACK_DIRECTION_TTB || child_pack_dir == GTK_PACK_DIRECTION_BTT)) @@ -837,9 +862,9 @@ gtk_menu_item_get_preferred_height (GtkWidget *widget, NULL); if (wide_separators) - min_height += separator_height + style->ythickness; + min_height += separator_height + padding.top + border.top; else - min_height += style->ythickness * 2; + min_height += padding.top + padding.bottom + border.top + border.bottom; nat_height = min_height; } @@ -866,7 +891,9 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); GtkMenuItemPrivate *priv = menu_item->priv; GtkBin *bin; - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; GtkWidget *child; GtkWidget *parent; guint horizontal_padding; @@ -878,7 +905,10 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, min_height = nat_height = 0; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); gtk_widget_style_get (widget, "horizontal-padding", &horizontal_padding, @@ -899,10 +929,10 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, } border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - min_height = (border_width + style->ythickness) * 2; + min_height = (border_width * 2) + padding.top + padding.bottom + border.top + border.bottom; avail_size = for_size; - avail_size -= (border_width + style->xthickness) * 2; + avail_size -= (border_width * 2) + padding.left + padding.right + border.left + border.right; if ((pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) && (child_pack_dir == GTK_PACK_DIRECTION_TTB || child_pack_dir == GTK_PACK_DIRECTION_BTT)) @@ -960,9 +990,9 @@ gtk_menu_item_get_preferred_height_for_width (GtkWidget *widget, NULL); if (wide_separators) - min_height += separator_height + style->ythickness; + min_height += separator_height + padding.top + border.top; else - min_height += style->ythickness * 2; + min_height += padding.top + padding.bottom + border.top + border.bottom; nat_height = min_height; } @@ -1353,28 +1383,42 @@ gtk_menu_item_size_allocate (GtkWidget *widget, child = gtk_bin_get_child (bin); if (child) { - GtkStyle *style; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; guint horizontal_padding; guint border_width; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + gtk_widget_style_get (widget, "horizontal-padding", &horizontal_padding, NULL); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - child_allocation.x = border_width + style->xthickness; - child_allocation.y = border_width + style->ythickness; + child_allocation.x = border_width + padding.left + border.left; + child_allocation.y = border_width + padding.top + border.top; + + child_allocation.width = allocation->width - (border_width * 2) - + padding.left - padding.right - border.left - border.right; + child_allocation.height = allocation->height - (border_width * 2) - + padding.top - padding.bottom - border.top - border.bottom; if ((pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) && (child_pack_dir == GTK_PACK_DIRECTION_LTR || child_pack_dir == GTK_PACK_DIRECTION_RTL)) - child_allocation.x += horizontal_padding; + { + child_allocation.x += horizontal_padding; + child_allocation.width -= 2 * horizontal_padding; + } else if ((pack_dir == GTK_PACK_DIRECTION_TTB || pack_dir == GTK_PACK_DIRECTION_BTT) && (child_pack_dir == GTK_PACK_DIRECTION_TTB || child_pack_dir == GTK_PACK_DIRECTION_BTT)) - child_allocation.y += horizontal_padding; - - child_allocation.width = MAX (1, (gint)allocation->width - child_allocation.x * 2); - child_allocation.height = MAX (1, (gint)allocation->height - child_allocation.y * 2); + { + child_allocation.y += horizontal_padding; + child_allocation.height -= 2 * horizontal_padding; + } if (child_pack_dir == GTK_PACK_DIRECTION_LTR || child_pack_dir == GTK_PACK_DIRECTION_RTL) @@ -1460,8 +1504,6 @@ gtk_menu_item_realize (GtkWidget *widget) priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget), &attributes, attributes_mask); gdk_window_set_user_data (priv->event_window, widget); - - gtk_widget_style_attach (widget); } static void @@ -1523,16 +1565,16 @@ gtk_menu_item_draw (GtkWidget *widget, { GtkMenuItem *menu_item = GTK_MENU_ITEM (widget); GtkMenuItemPrivate *priv = menu_item->priv; - GtkStateType state_type; - GtkShadowType shadow_type, selected_shadow_type; - GtkStyle *style; + GtkStateFlags state; + GtkStyleContext *context; + GtkBorder padding; GtkWidget *child, *parent; GdkWindow *window; gint x, y, w, h, width, height; guint border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - state_type = gtk_widget_get_state (widget); - style = gtk_widget_get_style (widget); + state = gtk_widget_get_state_flags (widget); + context = gtk_widget_get_style_context (widget); window = gtk_widget_get_window (widget); width = gtk_widget_get_allocated_width (widget); height = gtk_widget_get_allocated_height (widget); @@ -1544,18 +1586,16 @@ gtk_menu_item_draw (GtkWidget *widget, child = gtk_bin_get_child (GTK_BIN (menu_item)); parent = gtk_widget_get_parent (widget); - - if (child && state_type == GTK_STATE_PRELIGHT) + + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + + gtk_style_context_get_padding (context, state, &padding); + + if (child && (state & GTK_STATE_FLAG_PRELIGHT)) { - gtk_widget_style_get (widget, - "selected-shadow-type", &selected_shadow_type, - NULL); - gtk_paint_box (style, - cr, - GTK_STATE_PRELIGHT, - selected_shadow_type, - widget, "menuitem", - x, y, w, h); + gtk_render_background (context, cr, x, y, w, h); + gtk_render_frame (context, cr, x, y, w, h); } if (priv->submenu && !GTK_IS_MENU_BAR (parent)) @@ -1564,7 +1604,7 @@ gtk_menu_item_draw (GtkWidget *widget, gint arrow_size; guint horizontal_padding; GtkTextDirection direction; - GtkArrowType arrow_type; + gdouble angle; direction = gtk_widget_get_direction (widget); @@ -1574,29 +1614,20 @@ gtk_menu_item_draw (GtkWidget *widget, get_arrow_size (widget, child, &arrow_size); - shadow_type = GTK_SHADOW_OUT; - if (state_type == GTK_STATE_PRELIGHT) - shadow_type = GTK_SHADOW_IN; - if (direction == GTK_TEXT_DIR_LTR) { arrow_x = x + w - horizontal_padding - arrow_size; - arrow_type = GTK_ARROW_RIGHT; + angle = G_PI / 2; } else { arrow_x = x + horizontal_padding; - arrow_type = GTK_ARROW_LEFT; + angle = (3 * G_PI) / 2; } arrow_y = y + (h - arrow_size) / 2; - gtk_paint_arrow (style, cr, - state_type, shadow_type, - widget, "menuitem", - arrow_type, TRUE, - arrow_x, arrow_y, - arrow_size, arrow_size); + gtk_render_arrow (context, cr, angle, arrow_x, arrow_y, arrow_size); } else if (!child) { @@ -1609,25 +1640,24 @@ gtk_menu_item_draw (GtkWidget *widget, "separator-height", &separator_height, "horizontal-padding", &horizontal_padding, NULL); - if (wide_separators) - gtk_paint_box (style, cr, - GTK_STATE_NORMAL, GTK_SHADOW_ETCHED_OUT, - widget, "hseparator", - horizontal_padding + style->xthickness, - (height - separator_height - style->ythickness) / 2, - width - 2 * (horizontal_padding + style->xthickness), - separator_height); + gtk_render_frame (context, cr, + horizontal_padding + padding.left, + (height - separator_height - padding.top) / 2, + width - (2 * horizontal_padding) - padding.left - padding.right, + separator_height); else - gtk_paint_hline (style, cr, - GTK_STATE_NORMAL, widget, "menuitem", - horizontal_padding + style->xthickness, - width - horizontal_padding - style->xthickness - 1, - (height - style->ythickness) / 2); + gtk_render_line (context, cr, + horizontal_padding + padding.left, + (height - padding.top) / 2, + width - horizontal_padding - padding.right - 1, + (height - padding.top) / 2); } GTK_WIDGET_CLASS (gtk_menu_item_parent_class)->draw (widget, cr); + gtk_style_context_restore (context); + return FALSE; } @@ -1960,7 +1990,10 @@ get_offsets (GtkMenu *menu, { gint vertical_padding; gint horizontal_padding; - + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; + gtk_widget_style_get (GTK_WIDGET (menu), "horizontal-offset", horizontal_offset, "vertical-offset", vertical_offset, @@ -1968,7 +2001,11 @@ get_offsets (GtkMenu *menu, "vertical-padding", &vertical_padding, NULL); - *vertical_offset -= gtk_widget_get_style (GTK_WIDGET (menu))->ythickness; + context = gtk_widget_get_style_context (GTK_WIDGET (menu)); + state = gtk_widget_get_state_flags (GTK_WIDGET (menu)); + gtk_style_context_get_padding (context, state, &padding); + + *vertical_offset -= padding.top; *vertical_offset -= vertical_padding; *horizontal_offset += horizontal_padding; } @@ -1995,8 +2032,10 @@ gtk_menu_item_position_menu (GtkMenu *menu, gint monitor_num; gint horizontal_offset; gint vertical_offset; - gint parent_xthickness; gint available_left, available_right; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder parent_padding; g_return_if_fail (menu != NULL); g_return_if_fail (x != NULL); @@ -2078,7 +2117,9 @@ gtk_menu_item_position_menu (GtkMenu *menu, else parent_menu_item = NULL; - parent_xthickness = gtk_widget_get_style (parent)->xthickness; + context = gtk_widget_get_style_context (parent); + state = gtk_widget_get_state_flags (parent); + gtk_style_context_get_padding (context, state, &parent_padding); if (parent_menu_item && !GTK_MENU (parent)->priv->torn_off) { @@ -2095,24 +2136,24 @@ gtk_menu_item_position_menu (GtkMenu *menu, switch (priv->submenu_direction) { case GTK_DIRECTION_LEFT: - if (tx - twidth - parent_xthickness - horizontal_offset >= monitor.x || + if (tx - twidth - parent_padding.left - horizontal_offset >= monitor.x || available_left >= available_right) - tx -= twidth + parent_xthickness + horizontal_offset; + tx -= twidth + parent_padding.left + horizontal_offset; else { priv->submenu_direction = GTK_DIRECTION_RIGHT; - tx += allocation.width + parent_xthickness + horizontal_offset; + tx += allocation.width + parent_padding.right + horizontal_offset; } break; case GTK_DIRECTION_RIGHT: - if (tx + allocation.width + parent_xthickness + horizontal_offset + twidth <= monitor.x + monitor.width || + if (tx + allocation.width + parent_padding.right + horizontal_offset + twidth <= monitor.x + monitor.width || available_right >= available_left) - tx += allocation.width + parent_xthickness + horizontal_offset; + tx += allocation.width + parent_padding.right + horizontal_offset; else { priv->submenu_direction = GTK_DIRECTION_LEFT; - tx -= twidth + parent_xthickness + horizontal_offset; + tx -= twidth + parent_padding.left + horizontal_offset; } break; } From 7f5349b75a9aa6f74737a8eda2199054534182da Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 03:01:28 +0100 Subject: [PATCH 1353/1463] Make GtkImageMenuItem use GtkStyleContext --- gtk/gtkimagemenuitem.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/gtk/gtkimagemenuitem.c b/gtk/gtkimagemenuitem.c index 39cdb2e847..6d3a2d7119 100644 --- a/gtk/gtkimagemenuitem.c +++ b/gtk/gtkimagemenuitem.c @@ -554,6 +554,9 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, if (priv->image && gtk_widget_get_visible (priv->image)) { gint x, y, offset; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkRequisition child_requisition; GtkAllocation child_allocation; guint horizontal_padding, toggle_spacing; @@ -573,18 +576,20 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, gtk_widget_get_allocation (widget, &widget_allocation); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)); + if (pack_dir == GTK_PACK_DIRECTION_LTR || pack_dir == GTK_PACK_DIRECTION_RTL) { - offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)) + - gtk_widget_get_style (widget)->xthickness; - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == (pack_dir == GTK_PACK_DIRECTION_LTR)) - x = offset + horizontal_padding + + x = offset + horizontal_padding + padding.left + (toggle_size - toggle_spacing - child_requisition.width) / 2; else - x = widget_allocation.width - offset - horizontal_padding - + x = widget_allocation.width - offset - horizontal_padding - padding.right - toggle_size + toggle_spacing + (toggle_size - toggle_spacing - child_requisition.width) / 2; @@ -592,15 +597,12 @@ gtk_image_menu_item_size_allocate (GtkWidget *widget, } else { - offset = gtk_container_get_border_width (GTK_CONTAINER (image_menu_item)) + - gtk_widget_get_style (widget)->ythickness; - if ((gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) == (pack_dir == GTK_PACK_DIRECTION_TTB)) - y = offset + horizontal_padding + + y = offset + horizontal_padding + padding.top + (toggle_size - toggle_spacing - child_requisition.height) / 2; else - y = widget_allocation.height - offset - horizontal_padding - + y = widget_allocation.height - offset - horizontal_padding - padding.bottom - toggle_size + toggle_spacing + (toggle_size - toggle_spacing - child_requisition.height) / 2; From f4714ccae2c5b15ac1d6b96b567613a606171b3d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 03:02:33 +0100 Subject: [PATCH 1354/1463] Make GtkTearoffMenuItem use GtkStyleContext --- gtk/gtktearoffmenuitem.c | 88 ++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 45 deletions(-) diff --git a/gtk/gtktearoffmenuitem.c b/gtk/gtktearoffmenuitem.c index 7774aade1d..23e2cfbc83 100644 --- a/gtk/gtktearoffmenuitem.c +++ b/gtk/gtktearoffmenuitem.c @@ -97,13 +97,18 @@ gtk_tearoff_menu_item_get_preferred_width (GtkWidget *widget, gint *minimum, gint *natural) { - GtkStyle *style; + GtkStyleContext *context; guint border_width; + GtkBorder padding; + GtkStateFlags state; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - *minimum = *natural = (border_width + style->xthickness + BORDER_SPACING) * 2; + + *minimum = *natural = (border_width + BORDER_SPACING) * 2 + padding.left + padding.right; } static void @@ -111,14 +116,19 @@ gtk_tearoff_menu_item_get_preferred_height (GtkWidget *widget, gint *minimum, gint *natural) { - GtkStyle *style; + GtkStyleContext *context; + GtkBorder padding; + GtkStateFlags state; GtkWidget *parent; guint border_width; - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - *minimum = *natural = (border_width + style->ythickness) * 2; + + *minimum = *natural = (border_width * 2) + padding.top + padding.bottom; parent = gtk_widget_get_parent (widget); if (GTK_IS_MENU (parent) && GTK_MENU (parent)->priv->torn_off) @@ -128,8 +138,8 @@ gtk_tearoff_menu_item_get_preferred_height (GtkWidget *widget, } else { - *minimum += style->ythickness + 4; - *natural += style->ythickness + 4; + *minimum += padding.top + 4; + *natural += padding.top + 4; } } @@ -138,22 +148,22 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, cairo_t *cr) { GtkMenuItem *menu_item; - GtkShadowType shadow_type; - GtkStateType state; - GtkStyle *style; + GtkStateFlags state; + GtkStyleContext *context; + GtkBorder padding; gint x, y, width, height; gint right_max; guint border_width; - GtkArrowType arrow_type; GtkTextDirection direction; GtkWidget *parent; GdkWindow *window; + gdouble angle; menu_item = GTK_MENU_ITEM (widget); - style = gtk_widget_get_style (widget); + context = gtk_widget_get_style_context (widget); window = gtk_widget_get_window (widget); direction = gtk_widget_get_direction (widget); - state = gtk_widget_get_state (widget); + state = gtk_widget_get_state_flags (widget); border_width = gtk_container_get_border_width (GTK_CONTAINER (menu_item)); x = border_width; @@ -162,19 +172,14 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, height = gtk_widget_get_allocated_height (widget) - border_width * 2; right_max = x + width; - if (state == GTK_STATE_PRELIGHT) + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + gtk_style_context_get_padding (context, state, &padding); + + if (state & GTK_STATE_FLAG_PRELIGHT) { - gint selected_shadow_type; - - gtk_widget_style_get (widget, - "selected-shadow-type", &selected_shadow_type, - NULL); - gtk_paint_box (style, - cr, - GTK_STATE_PRELIGHT, - selected_shadow_type, - widget, "menuitem", - x, y, width, height); + gtk_render_background (context, cr, x, y, width, height); + gtk_render_frame (context, cr, x, y, width, height); } parent = gtk_widget_get_parent (widget); @@ -182,20 +187,15 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, { gint arrow_x; - if (state == GTK_STATE_PRELIGHT) - shadow_type = GTK_SHADOW_IN; - else - shadow_type = GTK_SHADOW_OUT; - if (menu_item->priv->toggle_size > ARROW_SIZE) { if (direction == GTK_TEXT_DIR_LTR) { arrow_x = x + (menu_item->priv->toggle_size - ARROW_SIZE)/2; - arrow_type = GTK_ARROW_LEFT; + angle = (3 * G_PI) / 2; } else { arrow_x = x + width - menu_item->priv->toggle_size + (menu_item->priv->toggle_size - ARROW_SIZE)/2; - arrow_type = GTK_ARROW_RIGHT; + angle = G_PI / 2; } x += menu_item->priv->toggle_size + BORDER_SPACING; } @@ -204,23 +204,19 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, if (direction == GTK_TEXT_DIR_LTR) { arrow_x = ARROW_SIZE / 2; - arrow_type = GTK_ARROW_LEFT; + angle = (3 * G_PI) / 2; } else { arrow_x = x + width - 2 * ARROW_SIZE + ARROW_SIZE / 2; - arrow_type = GTK_ARROW_RIGHT; + angle = G_PI / 2; } x += 2 * ARROW_SIZE; } - - gtk_paint_arrow (style, cr, - state, shadow_type, - widget, "tearoffmenuitem", - arrow_type, FALSE, - arrow_x, y + height / 2 - 5, - ARROW_SIZE, ARROW_SIZE); + gtk_render_arrow (context, cr, angle, + arrow_x, height / 2 - 5, + ARROW_SIZE); } while (x < right_max) @@ -236,12 +232,14 @@ gtk_tearoff_menu_item_draw (GtkWidget *widget, x2 = MAX (right_max - x - TEAR_LENGTH, 0); } - gtk_paint_hline (style, cr, GTK_STATE_NORMAL, - widget, "tearoffmenuitem", - x1, x2, y + (height - style->ythickness) / 2); + gtk_render_line (context, cr, + x1, y + (height - padding.bottom) / 2, + x2, y + (height - padding.bottom) / 2); x += 2 * TEAR_LENGTH; } + gtk_style_context_restore (context); + return FALSE; } From b7caeb7adbf9dc14cf3ce6733d100eb35c5d381c Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 20:29:08 +0100 Subject: [PATCH 1355/1463] Fix rendering glitch in menu radiobuttons The arcs needed a new subpath. --- gtk/gtkthemingengine.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 4dc889c00e..ac1a462ee6 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1211,6 +1211,8 @@ gtk_theming_engine_render_option (GtkThemingEngine *engine, if (border_style == GTK_BORDER_STYLE_SOLID) { cairo_set_line_width (cr, border_width); + + cairo_new_sub_path (cr); cairo_arc (cr, x + exterior_size / 2., y + exterior_size / 2., @@ -1266,6 +1268,7 @@ gtk_theming_engine_render_option (GtkThemingEngine *engine, pad = MAX (0, (exterior_size - interior_size) / 2); } + cairo_new_sub_path (cr); cairo_arc (cr, x + pad + interior_size / 2., y + pad + interior_size / 2., From 4b61182521a928deadbaff14d3be992d787181c4 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 20:31:57 +0100 Subject: [PATCH 1356/1463] Make GtkCheckMenuItem use GtkStyleContext --- gtk/gtkcheckmenuitem.c | 45 ++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/gtk/gtkcheckmenuitem.c b/gtk/gtkcheckmenuitem.c index d35a793f23..f91a27deda 100644 --- a/gtk/gtkcheckmenuitem.c +++ b/gtk/gtkcheckmenuitem.c @@ -455,8 +455,6 @@ gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, { GtkCheckMenuItemPrivate *priv = check_menu_item->priv; GtkWidget *widget; - GtkStateType state_type; - GtkShadowType shadow_type; gint x, y; widget = GTK_WIDGET (check_menu_item); @@ -464,15 +462,20 @@ gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, if (gtk_widget_is_drawable (widget)) { GtkAllocation allocation; - GtkStyle *style; + GtkStyleContext *context; guint border_width; guint offset; guint toggle_size; guint toggle_spacing; guint horizontal_padding; guint indicator_size; + GtkStateFlags state; + GtkBorder padding; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); - style = gtk_widget_get_style (widget); gtk_widget_get_allocation (widget, &allocation); gtk_widget_style_get (widget, @@ -483,14 +486,14 @@ gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, toggle_size = GTK_MENU_ITEM (check_menu_item)->priv->toggle_size; border_width = gtk_container_get_border_width (GTK_CONTAINER (widget)); - offset = border_width + style->xthickness + 2; + offset = border_width + padding.left + 2; if (gtk_widget_get_direction (widget) == GTK_TEXT_DIR_LTR) { x = offset + horizontal_padding + (toggle_size - toggle_spacing - indicator_size) / 2; } - else + else { x = allocation.width - offset - horizontal_padding - toggle_size + toggle_spacing + @@ -501,37 +504,37 @@ gtk_real_check_menu_item_draw_indicator (GtkCheckMenuItem *check_menu_item, if (priv->active || priv->always_show_toggle || - (gtk_widget_get_state (widget) == GTK_STATE_PRELIGHT)) + (gtk_widget_get_state_flags (widget) & GTK_STATE_FLAG_PRELIGHT)) { GdkWindow *window; window = gtk_widget_get_window (widget); - state_type = gtk_widget_get_state (widget); + gtk_style_context_save (context); if (priv->inconsistent) - shadow_type = GTK_SHADOW_ETCHED_IN; + state |= GTK_STATE_FLAG_INCONSISTENT; else if (priv->active) - shadow_type = GTK_SHADOW_IN; - else - shadow_type = GTK_SHADOW_OUT; + state |= GTK_STATE_FLAG_ACTIVE; if (!gtk_widget_is_sensitive (widget)) - state_type = GTK_STATE_INSENSITIVE; + state |= GTK_STATE_FLAG_INSENSITIVE; + + gtk_style_context_set_state (context, state); if (priv->draw_as_radio) { - gtk_paint_option (style, cr, - state_type, shadow_type, - widget, "option", - x, y, indicator_size, indicator_size); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_RADIO); + gtk_render_option (context, cr, x, y, + indicator_size, indicator_size); } else { - gtk_paint_check (style, cr, - state_type, shadow_type, - widget, "check", - x, y, indicator_size, indicator_size); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_CHECK); + gtk_render_check (context, cr, x, y, + indicator_size, indicator_size); } + + gtk_style_context_restore (context); } } } From 26db0b7276af9eadec4ce422915fd26cc307949d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 20:35:04 +0100 Subject: [PATCH 1357/1463] Make GtkMenu(Shell) use GtkStyleContext The default CSS has also been modified to theme these sensibly --- gtk/gtkcssprovider.c | 34 +++++++++-------- gtk/gtkmenu.c | 91 +++++++++++++++++++++++++++++++++----------- gtk/gtkmenushell.c | 9 +++-- 3 files changed, 93 insertions(+), 41 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 871caac8a1..20206ce490 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3727,14 +3727,16 @@ gtk_css_provider_get_default (void) " background-color: shade (@bg_color, 1.05);\n" "}\n" "\n" - ".check, .radio,\n" + ".check, .radio {\n" + " border-style: solid;\n" + " border-width: 1;\n" + "}\n" + "\n" ".check:active, .radio:active,\n" ".check:hover, .radio:hover {\n" " background-color: @base_color;\n" " border-color: @fg_color;\n" " color: @text_color;\n" - " border-style: solid;\n" - " border-width: 1;\n" "}\n" "\n" ".check:selected, .radio:selected {\n" @@ -3744,11 +3746,8 @@ gtk_css_provider_get_default (void) "\n" ".menu.check, .menu.radio {\n" " color: @fg_color;\n" - "}\n" - "\n" - ".menu:hover {\n" - " background-color: @selected_bg_color;\n" " border-style: none;\n" + " border-width: 0;\n" "}\n" "\n" ".popup {\n" @@ -3783,18 +3782,13 @@ gtk_css_provider_get_default (void) "}\n" "\n" ".menu:hover,\n" - ".menubar:hover {\n" + ".menubar:hover,\n" + ".menu.check:hover,\n" + ".menu.radio:hover {\n" " background-color: @selected_bg_color;\n" " color: @selected_fg_color;\n" "}\n" "\n" - ".menu .check,\n" - ".menu .radio,\n" - ".menu .check:active,\n" - ".menu .radio:active {\n" - " border-style: none;\n" - "}\n" - "\n" "GtkSpinButton.button {\n" " border-width: 1;\n" "}\n" @@ -3886,6 +3880,16 @@ gtk_css_provider_get_default (void) " background-color: lighter (@bg_color);\n" " color: @fg_color;\n" "}\n" + "\n" + ".menu {\n" + " border-width: 1;\n" + " padding: 0;\n" + "}\n" + "\n" + ".menu * {\n" + " border-width: 0;\n" + " padding: 2;\n" + "}\n" "\n"; provider = gtk_css_provider_new (); diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 812756880a..c8c6c64557 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -2334,17 +2334,18 @@ get_menu_border (GtkWidget *widget, { GtkStyleContext *context; GtkStateFlags state; - GtkBorder *border_width; + GtkBorder padding, border_width; context = gtk_widget_get_style_context (widget); state = gtk_widget_get_state_flags (widget); - gtk_style_context_get (context, state, - "border-width", &border_width, - NULL); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border_width); - *border = *border_width; - gtk_border_free (border_width); + border->left = border_width.left + padding.left; + border->right = border_width.right + padding.right; + border->top = border_width.top + padding.top; + border->bottom = border_width.bottom + padding.bottom; } static void @@ -2535,6 +2536,9 @@ calculate_line_heights (GtkMenu *menu, guint **ret_min_heights, guint **ret_nat_heights) { + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; GtkMenuPrivate *priv; GtkMenuShell *menu_shell; GtkWidget *child, *widget; @@ -2561,8 +2565,12 @@ calculate_line_heights (GtkMenu *menu, "horizontal-padding", &horizontal_padding, NULL); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); - avail_width -= (border_width + horizontal_padding + gtk_widget_get_style (widget)->xthickness) * 2; + avail_width -= (border_width + horizontal_padding) * 2 + padding.left + padding.right; for (children = menu_shell->priv->children; children; children = children->next) { @@ -3127,6 +3135,9 @@ gtk_menu_get_preferred_height_for_width (GtkWidget *widget, gint *minimum_size, gint *natural_size) { + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; GtkMenu *menu = GTK_MENU (widget); GtkMenuPrivate *priv = menu->priv; guint *min_heights, *nat_heights; @@ -3137,7 +3148,13 @@ gtk_menu_get_preferred_height_for_width (GtkWidget *widget, gtk_widget_style_get (widget, "vertical-padding", &vertical_padding, NULL); border_width = gtk_container_get_border_width (GTK_CONTAINER (menu)); - min_height = nat_height = (border_width + vertical_padding + gtk_widget_get_style (widget)->ythickness) * 2; + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + + min_height = nat_height = (border_width + vertical_padding) * 2 + + padding.left + padding.right + border.left + border.right; n_heights = calculate_line_heights (menu, for_size, &min_heights, &nat_heights); @@ -3810,6 +3827,9 @@ get_arrows_sensitive_area (GtkMenu *menu, guint vertical_padding; gint win_x, win_y; gint scroll_arrow_height; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; window = gtk_widget_get_window (widget); width = gdk_window_get_width (window); @@ -3821,8 +3841,11 @@ get_arrows_sensitive_area (GtkMenu *menu, "arrow-placement", &arrow_placement, NULL); - border = gtk_container_get_border_width (GTK_CONTAINER (menu)) + - gtk_widget_get_style (widget)->ythickness + vertical_padding; + border = gtk_container_get_border_width (GTK_CONTAINER (menu)) + vertical_padding; + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); gdk_window_get_position (window, &win_x, &win_y); @@ -3834,15 +3857,15 @@ get_arrows_sensitive_area (GtkMenu *menu, upper->x = win_x; upper->y = win_y; upper->width = width; - upper->height = scroll_arrow_height + border; + upper->height = scroll_arrow_height + border + padding.top; } if (lower) { lower->x = win_x; - lower->y = win_y + height - border - scroll_arrow_height; + lower->y = win_y + height - border - padding.bottom - scroll_arrow_height; lower->width = width; - lower->height = scroll_arrow_height + border; + lower->height = scroll_arrow_height + border + padding.bottom; } break; @@ -3852,7 +3875,7 @@ get_arrows_sensitive_area (GtkMenu *menu, upper->x = win_x; upper->y = win_y; upper->width = width / 2; - upper->height = scroll_arrow_height + border; + upper->height = scroll_arrow_height + border + padding.top; } if (lower) @@ -3860,7 +3883,7 @@ get_arrows_sensitive_area (GtkMenu *menu, lower->x = win_x + width / 2; lower->y = win_y; lower->width = width / 2; - lower->height = scroll_arrow_height + border; + lower->height = scroll_arrow_height + border + padding.bottom; } break; @@ -3870,7 +3893,7 @@ get_arrows_sensitive_area (GtkMenu *menu, upper->x = win_x; upper->y = win_y + height - border - scroll_arrow_height; upper->width = width / 2; - upper->height = scroll_arrow_height + border; + upper->height = scroll_arrow_height + border + padding.top; } if (lower) @@ -3878,7 +3901,7 @@ get_arrows_sensitive_area (GtkMenu *menu, lower->x = win_x + width / 2; lower->y = win_y + height - border - scroll_arrow_height; lower->width = width / 2; - lower->height = scroll_arrow_height + border; + lower->height = scroll_arrow_height + border + padding.bottom; } break; } @@ -4977,6 +5000,9 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, { guint vertical_padding; gboolean double_arrows; + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; y = priv->scroll_offset; width = gdk_window_get_width (gtk_widget_get_window (widget)); @@ -4988,8 +5014,12 @@ gtk_menu_scroll_item_visible (GtkMenuShell *menu_shell, double_arrows = get_double_arrows (menu); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + height -= 2 * gtk_container_get_border_width (GTK_CONTAINER (menu)) + - 2 * gtk_widget_get_style (widget)->ythickness + + padding.top + padding.bottom + 2 * vertical_padding; if (child_offset < y) { @@ -5366,12 +5396,20 @@ get_visible_size (GtkMenu *menu) GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET (menu); GtkContainer *container = GTK_CONTAINER (menu); + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding; gint menu_height; gtk_widget_get_allocation (widget, &allocation); - menu_height = (allocation.height - - 2 * (gtk_container_get_border_width (container) - + gtk_widget_get_style (widget)->ythickness)); + + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + + menu_height = (allocation.height - + (2 * gtk_container_get_border_width (container)) - + padding.top - padding.bottom); if (!priv->tearoff_active) { @@ -5437,12 +5475,21 @@ get_menu_height (GtkMenu *menu) GtkMenuPrivate *priv = menu->priv; GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET (menu); + GtkStyleContext *context; + GtkStateFlags state; + GtkBorder padding, border; gint height; gtk_widget_get_allocation (widget, &allocation); + context = gtk_widget_get_style_context (widget); + state = gtk_widget_get_state_flags (widget); + gtk_style_context_get_padding (context, state, &padding); + gtk_style_context_get_border (context, state, &border); + height = allocation.height; - height -= (gtk_container_get_border_width (GTK_CONTAINER (widget)) + gtk_widget_get_style (widget)->ythickness) * 2; + height -= (gtk_container_get_border_width (GTK_CONTAINER (widget)) * 2) + + padding.top + padding.bottom + border.top + border.bottom; if (!priv->tearoff_active) { diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index eef635d83b..1bbbc177be 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -504,6 +504,7 @@ gtk_menu_shell_realize (GtkWidget *widget) GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; + GtkStyleContext *context; gtk_widget_set_realized (widget, TRUE); @@ -531,8 +532,8 @@ gtk_menu_shell_realize (GtkWidget *widget) gtk_widget_set_window (widget, window); gdk_window_set_user_data (window, widget); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), window, GTK_STATE_NORMAL); + context = gtk_widget_get_style_context (widget); + gtk_style_context_set_background (context, window); } void @@ -945,7 +946,7 @@ gtk_menu_shell_enter_notify (GtkWidget *widget, if (event->detail != GDK_NOTIFY_INFERIOR) { - if (gtk_widget_get_state (menu_item) != GTK_STATE_PRELIGHT) + if ((gtk_widget_get_state_flags (menu_item) & GTK_STATE_FLAG_PRELIGHT) == 0) gtk_menu_shell_select_item (menu_shell, menu_item); /* If any mouse button is down, and there is a submenu @@ -1015,7 +1016,7 @@ gtk_menu_shell_leave_notify (GtkWidget *widget, (menu_item->priv->submenu == NULL)) { if ((event->detail != GDK_NOTIFY_INFERIOR) && - (gtk_widget_get_state (GTK_WIDGET (menu_item)) != GTK_STATE_NORMAL)) + (gtk_widget_get_state_flags (GTK_WIDGET (menu_item)) & GTK_STATE_FLAG_PRELIGHT) != 0) { gtk_menu_shell_deselect (menu_shell); } From 8ad724ebcc07a5cd167bfde8c9387a9b8da96fdd Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 22:07:34 +0100 Subject: [PATCH 1358/1463] Deal with the abscence of horizontal/vertical class when rendering an expander --- gtk/gtkthemingengine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index ac1a462ee6..47bb3537a6 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -2032,7 +2032,7 @@ gtk_theming_engine_render_expander (GtkThemingEngine *engine, if (!running) progress = (flags & GTK_STATE_FLAG_ACTIVE) ? 1 : 0; - if (gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_VERTICAL)) + if (!gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_HORIZONTAL)) { if (is_rtl) angle = (G_PI) - ((G_PI / 2) * progress); From efae64be666e7d7489f1a7b8b19d6a9d760a6cda Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 22:28:43 +0100 Subject: [PATCH 1359/1463] Set vertical/horizontal class on all widgets overriding GtkOrientable::orientation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is so g_object_set() on that property leaves widgets' style in a meaningful state. Fully fixes bug 639157. --- gtk/gtkcellareabox.c | 21 +++++++++++++++++++++ gtk/gtkcellview.c | 21 +++++++++++++++++++++ gtk/gtkgrid.c | 13 +++++++++++++ gtk/gtkprogressbar.c | 13 +++++++++++++ gtk/gtkseparator.c | 20 ++++++++++++++++++++ gtk/gtktoolpalette.c | 20 ++++++++++++++++++++ 6 files changed, 108 insertions(+) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index cc9e8f2983..ea3a3c8a8d 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1049,6 +1049,25 @@ gtk_cell_area_box_dispose (GObject *object) G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->dispose (object); } +static void +reset_orientation_style (GtkCellAreaBox *box) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (GTK_WIDGET (box)); + + if (box->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } +} + static void gtk_cell_area_box_set_property (GObject *object, guint prop_id, @@ -1064,6 +1083,8 @@ gtk_cell_area_box_set_property (GObject *object, /* Notify that size needs to be requested again */ reset_contexts (box); + reset_orientation_style (box); + break; case PROP_SPACING: gtk_cell_area_box_set_spacing (box, g_value_get_int (value)); diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 168bf04eae..87c56ed8bc 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -414,6 +414,25 @@ gtk_cell_view_get_property (GObject *object, } } +static void +reset_orientation_style (GtkCellView *view) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (GTK_WIDGET (view)); + + if (view->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } +} + static void gtk_cell_view_set_property (GObject *object, guint param_id, @@ -430,6 +449,8 @@ gtk_cell_view_set_property (GObject *object, view->priv->orientation = g_value_get_enum (value); if (view->priv->context) gtk_cell_area_context_reset (view->priv->context); + + reset_orientation_style (view); break; case PROP_BACKGROUND: { diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c index 3557c16949..525f970df6 100644 --- a/gtk/gtkgrid.c +++ b/gtk/gtkgrid.c @@ -187,10 +187,23 @@ gtk_grid_set_orientation (GtkGrid *grid, GtkOrientation orientation) { GtkGridPrivate *priv = grid->priv; + GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; + context = gtk_widget_get_style_context (GTK_WIDGET (grid)); + + if (grid->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } g_object_notify (G_OBJECT (grid), "orientation"); } diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 3cc366c6a2..9c8fd92e70 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -1204,10 +1204,23 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar, GtkOrientation orientation) { GtkProgressBarPrivate *priv = pbar->priv; + GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; + context = gtk_widget_get_style_context (GTK_WIDGET (pbar)); + + if (pbar->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } if (gtk_widget_is_drawable (GTK_WIDGET (pbar))) gtk_widget_queue_resize (GTK_WIDGET (pbar)); diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c index 1de28a1a58..b30292fc50 100644 --- a/gtk/gtkseparator.c +++ b/gtk/gtkseparator.c @@ -112,6 +112,25 @@ gtk_separator_init (GtkSeparator *separator) private->orientation = GTK_ORIENTATION_HORIZONTAL; } +static void +reset_orientation_style (GtkSeparator *separator) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (GTK_WIDGET (separator)); + + if (separator->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } +} + static void gtk_separator_set_property (GObject *object, guint prop_id, @@ -125,6 +144,7 @@ gtk_separator_set_property (GObject *object, { case PROP_ORIENTATION: private->orientation = g_value_get_enum (value); + reset_orientation_style (separator); gtk_widget_queue_resize (GTK_WIDGET (object)); break; default: diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index e35bf813f8..491cf9e9af 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -233,6 +233,25 @@ gtk_tool_palette_reconfigured (GtkToolPalette *palette) gtk_widget_queue_resize_no_redraw (GTK_WIDGET (palette)); } +static void +reset_orientation_style (GtkToolPalette *palette) +{ + GtkStyleContext *context; + + context = gtk_widget_get_style_context (GTK_WIDGET (palette)); + + if (palette->priv->orientation == GTK_ORIENTATION_VERTICAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } +} + static void gtk_tool_palette_set_property (GObject *object, guint prop_id, @@ -263,6 +282,7 @@ gtk_tool_palette_set_property (GObject *object, if ((guint) g_value_get_enum (value) != palette->priv->orientation) { palette->priv->orientation = g_value_get_enum (value); + reset_orientation_style (palette); gtk_tool_palette_reconfigured (palette); } break; From b6464b6c0a467226057e21d7f35e8afa50321422 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Wed, 12 Jan 2011 19:02:20 +0100 Subject: [PATCH 1360/1463] Add target version handling to gtk-builder-convert When converting to gtk3, replace GtkComboBoxEntry with GtkComboxBox has-entry=True, and remove the has-separator property from GtkDialogs. Bug #639327. --- docs/reference/gtk/gtk-builder-convert.xml | 11 ++++++++ gtk/gtk-builder-convert | 31 ++++++++++++++++++++-- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/docs/reference/gtk/gtk-builder-convert.xml b/docs/reference/gtk/gtk-builder-convert.xml index aa98d5d659..002a73ed5b 100644 --- a/docs/reference/gtk/gtk-builder-convert.xml +++ b/docs/reference/gtk/gtk-builder-convert.xml @@ -14,6 +14,7 @@ gtk-builder-convert --skip-windows +--target-version version --root name input output @@ -37,6 +38,16 @@ its output the file specified as the second argument. -w Convert everything but GtkWindow subclasses. + + --target-version + -t + + + Some widgets and properties are different between GTK+ versions 2.0 and + 3.0, so this option allows to set the desired GTK+ target version. + + + --root -r diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert index 4cae240a66..ed815a5ec3 100755 --- a/gtk/gtk-builder-convert +++ b/gtk/gtk-builder-convert @@ -146,8 +146,9 @@ def copy_properties(node, props, prop_dict): class GtkBuilderConverter(object): - def __init__(self, skip_windows, root): + def __init__(self, skip_windows, target_version, root): self.skip_windows = skip_windows + self.target_version = target_version self.root = root self.root_objects = [] self.objects = {} @@ -295,6 +296,25 @@ class GtkBuilderConverter(object): self._convert_menu(node, popup=True) elif klass in WINDOWS and self.skip_windows: self._remove_window(node) + + if self.target_version == "3.0": + if klass == "GtkComboBoxEntry": + node.setAttribute("class","GtkComboBox") + prop = self._dom.createElement("property") + prop.setAttribute("name", "has-entry") + prop.appendChild(self._dom.createTextNode("True")) + node.appendChild(prop) + elif klass == "GtkDialog": + for child in node.childNodes: + if child.nodeType != Node.ELEMENT_NODE: + continue + if child.tagName != 'property': + continue + if (child.getAttribute("name") not in ("has-separator", "has_separator")): + continue; + node.removeChild(child) + break + self._default_widget_converter(node) def _default_widget_converter(self, node): @@ -732,7 +752,10 @@ def usage(): def main(args): try: opts, args = getopt.getopt(args[1:], "hwr:", - ["help", "skip-windows", "root="]) + ["help", + "skip-windows", + "target-version=", + "root="]) except getopt.GetoptError: usage() return 2 @@ -746,6 +769,7 @@ def main(args): skip_windows = False split = False root = None + target_version = "3.0" for o, a in opts: if o in ("-h", "--help"): usage() @@ -754,8 +778,11 @@ def main(args): root = a elif o in ("-w", "--skip-windows"): skip_windows = True + elif o in ("-t", "--target-version"): + target_version = a conv = GtkBuilderConverter(skip_windows=skip_windows, + target_version=target_version, root=root) conv.parse_file(input_filename) From e2e7075533b003f54ed0852af8595d3ef4f23b01 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 12 Jan 2011 22:55:55 +0100 Subject: [PATCH 1361/1463] Redo patch in efae64b (Set vertical/horizontal class...) Add a _gtk_orientable_set_style_classes() function so all orientation changes to style happen in a single place. --- gtk/gtkcellareabox.c | 20 -------------------- gtk/gtkcellview.c | 21 +-------------------- gtk/gtkgrid.c | 14 +------------- gtk/gtkorientable.c | 41 +++++++++++++++++++++++++---------------- gtk/gtkorientable.h | 3 +++ gtk/gtkprogressbar.c | 14 +------------- gtk/gtkseparator.c | 21 +-------------------- gtk/gtktoolpalette.c | 21 +-------------------- 8 files changed, 33 insertions(+), 122 deletions(-) diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c index ea3a3c8a8d..3779fba923 100644 --- a/gtk/gtkcellareabox.c +++ b/gtk/gtkcellareabox.c @@ -1049,25 +1049,6 @@ gtk_cell_area_box_dispose (GObject *object) G_OBJECT_CLASS (gtk_cell_area_box_parent_class)->dispose (object); } -static void -reset_orientation_style (GtkCellAreaBox *box) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (box)); - - if (box->priv->orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } -} - static void gtk_cell_area_box_set_property (GObject *object, guint prop_id, @@ -1083,7 +1064,6 @@ gtk_cell_area_box_set_property (GObject *object, /* Notify that size needs to be requested again */ reset_contexts (box); - reset_orientation_style (box); break; case PROP_SPACING: diff --git a/gtk/gtkcellview.c b/gtk/gtkcellview.c index 87c56ed8bc..e47d5eac71 100644 --- a/gtk/gtkcellview.c +++ b/gtk/gtkcellview.c @@ -414,25 +414,6 @@ gtk_cell_view_get_property (GObject *object, } } -static void -reset_orientation_style (GtkCellView *view) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (view)); - - if (view->priv->orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } -} - static void gtk_cell_view_set_property (GObject *object, guint param_id, @@ -450,7 +431,7 @@ gtk_cell_view_set_property (GObject *object, if (view->priv->context) gtk_cell_area_context_reset (view->priv->context); - reset_orientation_style (view); + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object)); break; case PROP_BACKGROUND: { diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c index 525f970df6..9e1498d3e2 100644 --- a/gtk/gtkgrid.c +++ b/gtk/gtkgrid.c @@ -187,23 +187,11 @@ gtk_grid_set_orientation (GtkGrid *grid, GtkOrientation orientation) { GtkGridPrivate *priv = grid->priv; - GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; - context = gtk_widget_get_style_context (GTK_WIDGET (grid)); - - if (grid->priv->orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (grid)); g_object_notify (G_OBJECT (grid), "orientation"); } diff --git a/gtk/gtkorientable.c b/gtk/gtkorientable.c index d3627252fb..81fcf6c384 100644 --- a/gtk/gtkorientable.c +++ b/gtk/gtkorientable.c @@ -80,8 +80,6 @@ void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation) { - GtkStyleContext *context; - g_return_if_fail (GTK_IS_ORIENTABLE (orientable)); g_object_set (orientable, @@ -89,20 +87,7 @@ gtk_orientable_set_orientation (GtkOrientable *orientable, NULL); if (GTK_IS_WIDGET (orientable)) - { - context = gtk_widget_get_style_context (GTK_WIDGET (orientable)); - - if (orientation == GTK_ORIENTATION_HORIZONTAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - } + _gtk_orientable_set_style_classes (orientable); } /** @@ -129,3 +114,27 @@ gtk_orientable_get_orientation (GtkOrientable *orientable) return orientation; } + +void +_gtk_orientable_set_style_classes (GtkOrientable *orientable) +{ + GtkStyleContext *context; + GtkOrientation orientation; + + g_return_if_fail (GTK_IS_ORIENTABLE (orientable)); + g_return_if_fail (GTK_IS_WIDGET (orientable)); + + context = gtk_widget_get_style_context (GTK_WIDGET (orientable)); + orientation = gtk_orientable_get_orientation (orientable); + + if (orientation == GTK_ORIENTATION_HORIZONTAL) + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); + } + else + { + gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); + gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); + } +} diff --git a/gtk/gtkorientable.h b/gtk/gtkorientable.h index fa2c85bf08..63ca6e5cd5 100644 --- a/gtk/gtkorientable.h +++ b/gtk/gtkorientable.h @@ -55,6 +55,9 @@ void gtk_orientable_set_orientation (GtkOrientable *orientable, GtkOrientation orientation); GtkOrientation gtk_orientable_get_orientation (GtkOrientable *orientable); +/* Private */ +void _gtk_orientable_set_style_classes (GtkOrientable *orientable); + G_END_DECLS #endif /* __GTK_ORIENTABLE_H__ */ diff --git a/gtk/gtkprogressbar.c b/gtk/gtkprogressbar.c index 9c8fd92e70..821cd8c648 100644 --- a/gtk/gtkprogressbar.c +++ b/gtk/gtkprogressbar.c @@ -1204,23 +1204,11 @@ gtk_progress_bar_set_orientation (GtkProgressBar *pbar, GtkOrientation orientation) { GtkProgressBarPrivate *priv = pbar->priv; - GtkStyleContext *context; if (priv->orientation != orientation) { priv->orientation = orientation; - context = gtk_widget_get_style_context (GTK_WIDGET (pbar)); - - if (pbar->priv->orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (pbar)); if (gtk_widget_is_drawable (GTK_WIDGET (pbar))) gtk_widget_queue_resize (GTK_WIDGET (pbar)); diff --git a/gtk/gtkseparator.c b/gtk/gtkseparator.c index b30292fc50..b48535f7ac 100644 --- a/gtk/gtkseparator.c +++ b/gtk/gtkseparator.c @@ -112,25 +112,6 @@ gtk_separator_init (GtkSeparator *separator) private->orientation = GTK_ORIENTATION_HORIZONTAL; } -static void -reset_orientation_style (GtkSeparator *separator) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (separator)); - - if (separator->priv->orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } -} - static void gtk_separator_set_property (GObject *object, guint prop_id, @@ -144,7 +125,7 @@ gtk_separator_set_property (GObject *object, { case PROP_ORIENTATION: private->orientation = g_value_get_enum (value); - reset_orientation_style (separator); + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object)); gtk_widget_queue_resize (GTK_WIDGET (object)); break; default: diff --git a/gtk/gtktoolpalette.c b/gtk/gtktoolpalette.c index 491cf9e9af..ed3aed282d 100644 --- a/gtk/gtktoolpalette.c +++ b/gtk/gtktoolpalette.c @@ -233,25 +233,6 @@ gtk_tool_palette_reconfigured (GtkToolPalette *palette) gtk_widget_queue_resize_no_redraw (GTK_WIDGET (palette)); } -static void -reset_orientation_style (GtkToolPalette *palette) -{ - GtkStyleContext *context; - - context = gtk_widget_get_style_context (GTK_WIDGET (palette)); - - if (palette->priv->orientation == GTK_ORIENTATION_VERTICAL) - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_VERTICAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_HORIZONTAL); - } - else - { - gtk_style_context_add_class (context, GTK_STYLE_CLASS_HORIZONTAL); - gtk_style_context_remove_class (context, GTK_STYLE_CLASS_VERTICAL); - } -} - static void gtk_tool_palette_set_property (GObject *object, guint prop_id, @@ -282,7 +263,7 @@ gtk_tool_palette_set_property (GObject *object, if ((guint) g_value_get_enum (value) != palette->priv->orientation) { palette->priv->orientation = g_value_get_enum (value); - reset_orientation_style (palette); + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (palette)); gtk_tool_palette_reconfigured (palette); } break; From 6a5d9b0bec147158f9054ff586aa633e393dae95 Mon Sep 17 00:00:00 2001 From: Inaki Larranaga Murgoitio Date: Wed, 12 Jan 2011 23:09:13 +0100 Subject: [PATCH 1362/1463] Updated Basque language --- po/eu.po | 4310 +++++++++++++++++++++++++----------------------------- 1 file changed, 1961 insertions(+), 2349 deletions(-) diff --git a/po/eu.po b/po/eu.po index f9ac9477ea..049bd3ee7d 100644 --- a/po/eu.po +++ b/po/eu.po @@ -1,472 +1,280 @@ -# translation of eu.po to Basque +# translation of eu_to_be_translate.po to Basque # Joseba Bidaurrazaga van Dierdonck , 1999-2000. # Hizkuntza Politikarako Sailburuordetza , 2004. -# Iñaki Larrañaga Murgoitio , 2004, 2005, 2006, 2008, 2009, 2010. +# Iñaki Larrañaga Murgoitio , 2004, 2005, 2006, 2008, 2009, 2010, 2011. # Iñaki Larrañaga Murgoitio , 2007. -# Copyright (C) 1999, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +# Copyright (C) 1999, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. msgid "" msgstr "" -"Project-Id-Version: eu\n" +"Project-Id-Version: eu_to_be_translate\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:41-0400\n" -"PO-Revision-Date: 2010-03-31 12:22+0200\n" +"POT-Creation-Date: 2011-01-12 22:52+0100\n" +"PO-Revision-Date: 2011-01-12 23:08+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" -"Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gdk/gdk.c:103 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Errorea --gdk-debug aukera analizatzean" -#: gdk/gdk.c:123 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Errorea --gdk-no-debug aukera analizatzean" #. Description of --class=CLASS in --help output -#: gdk/gdk.c:151 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Programa-klasea, leiho kudeatzaileak erabiltzen duen bezala" #. Placeholder in --class=CLASS in --help output -#: gdk/gdk.c:152 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "KLASEA" #. Description of --name=NAME in --help output -#: gdk/gdk.c:154 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Programa-izena, leiho kudeatzaileak erabiltzen duen bezala" #. Placeholder in --name=NAME in --help output -#: gdk/gdk.c:155 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "IZENA" #. Description of --display=DISPLAY in --help output -#: gdk/gdk.c:157 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "Erabili beharreko X bistaratzea" #. Placeholder in --display=DISPLAY in --help output -#: gdk/gdk.c:158 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "BISTARATZEA" -#. Description of --screen=SCREEN in --help output -#: gdk/gdk.c:160 -msgid "X screen to use" -msgstr "Erabili beharreko X pantaila" - -#. Placeholder in --screen=SCREEN in --help output -#: gdk/gdk.c:161 -msgid "SCREEN" -msgstr "PANTAILA" - #. Description of --gdk-debug=FLAGS in --help output -#: gdk/gdk.c:164 -#, fuzzy +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" -msgstr "Ezarri beharreko Gtk+ arazketa-banderak" +msgstr "Ezarri beharreko GDK arazketa-banderak" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: gdk/gdk.c:165 gdk/gdk.c:168 gtk/gtkmain.c:533 gtk/gtkmain.c:536 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "BANDERAK" #. Description of --gdk-no-debug=FLAGS in --help output -#: gdk/gdk.c:167 -#, fuzzy +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" -msgstr "Ezarpenetik kendu beharreko Gtk+ arazketa-banderak" - -#: gdk/keyname-table.h:3940 -msgctxt "keyboard label" -msgid "BackSpace" -msgstr "Atzera-tekla" - -#: gdk/keyname-table.h:3941 -msgctxt "keyboard label" -msgid "Tab" -msgstr "Tabulazioa" - -#: gdk/keyname-table.h:3942 -msgctxt "keyboard label" -msgid "Return" -msgstr "Itzuli" - -#: gdk/keyname-table.h:3943 -msgctxt "keyboard label" -msgid "Pause" -msgstr "Pausatu" - -#: gdk/keyname-table.h:3944 -msgctxt "keyboard label" -msgid "Scroll_Lock" -msgstr "Blok. _Korr." - -#: gdk/keyname-table.h:3945 -msgctxt "keyboard label" -msgid "Sys_Req" -msgstr "Sist. _Esk." - -#: gdk/keyname-table.h:3946 -msgctxt "keyboard label" -msgid "Escape" -msgstr "Ihes" - -#: gdk/keyname-table.h:3947 -msgctxt "keyboard label" -msgid "Multi_key" -msgstr "Hainbat _tekla" - -#: gdk/keyname-table.h:3948 -msgctxt "keyboard label" -msgid "Home" -msgstr "Hasiera" - -#: gdk/keyname-table.h:3949 -msgctxt "keyboard label" -msgid "Left" -msgstr "Ezkerrera" - -#: gdk/keyname-table.h:3950 -msgctxt "keyboard label" -msgid "Up" -msgstr "Gora" - -#: gdk/keyname-table.h:3951 -msgctxt "keyboard label" -msgid "Right" -msgstr "Eskuinera" - -#: gdk/keyname-table.h:3952 -msgctxt "keyboard label" -msgid "Down" -msgstr "Behera" - -#: gdk/keyname-table.h:3953 -msgctxt "keyboard label" -msgid "Page_Up" -msgstr "Orri-_gora" - -#: gdk/keyname-table.h:3954 -msgctxt "keyboard label" -msgid "Page_Down" -msgstr "Orri-_behera" - -#: gdk/keyname-table.h:3955 -msgctxt "keyboard label" -msgid "End" -msgstr "Amaiera" - -#: gdk/keyname-table.h:3956 -msgctxt "keyboard label" -msgid "Begin" -msgstr "Hasiera" - -#: gdk/keyname-table.h:3957 -msgctxt "keyboard label" -msgid "Print" -msgstr "Inprimatu" - -#: gdk/keyname-table.h:3958 -msgctxt "keyboard label" -msgid "Insert" -msgstr "Txertatu" - -#: gdk/keyname-table.h:3959 -msgctxt "keyboard label" -msgid "Num_Lock" -msgstr "_Blok. zenb." - -#: gdk/keyname-table.h:3960 -msgctxt "keyboard label" -msgid "KP_Space" -msgstr "TNum. _Zuriunea" - -#: gdk/keyname-table.h:3961 -msgctxt "keyboard label" -msgid "KP_Tab" -msgstr "TNum. _Tabulazioa" - -#: gdk/keyname-table.h:3962 -msgctxt "keyboard label" -msgid "KP_Enter" -msgstr "TNum. _Sartu" - -#: gdk/keyname-table.h:3963 -msgctxt "keyboard label" -msgid "KP_Home" -msgstr "TNum. _Hasiera" - -#: gdk/keyname-table.h:3964 -msgctxt "keyboard label" -msgid "KP_Left" -msgstr "TNum. E_zkerrera" - -#: gdk/keyname-table.h:3965 -msgctxt "keyboard label" -msgid "KP_Up" -msgstr "TNum. _Gora" - -#: gdk/keyname-table.h:3966 -msgctxt "keyboard label" -msgid "KP_Right" -msgstr "TNum. E_skuinera" - -#: gdk/keyname-table.h:3967 -msgctxt "keyboard label" -msgid "KP_Down" -msgstr "TNum. _Behera" - -#: gdk/keyname-table.h:3968 -msgctxt "keyboard label" -msgid "KP_Page_Up" -msgstr "TNum. Orri-_gora" - -#: gdk/keyname-table.h:3969 -msgctxt "keyboard label" -msgid "KP_Prior" -msgstr "TNum. _Aurrekoa" - -#: gdk/keyname-table.h:3970 -msgctxt "keyboard label" -msgid "KP_Page_Down" -msgstr "TNum. Orri-_behera" - -#: gdk/keyname-table.h:3971 -msgctxt "keyboard label" -msgid "KP_Next" -msgstr "TNum. H_urrengoa" - -#: gdk/keyname-table.h:3972 -msgctxt "keyboard label" -msgid "KP_End" -msgstr "TNum. _Amaiera" - -#: gdk/keyname-table.h:3973 -msgctxt "keyboard label" -msgid "KP_Begin" -msgstr "TNum. _Hasiera" - -#: gdk/keyname-table.h:3974 -msgctxt "keyboard label" -msgid "KP_Insert" -msgstr "TNum. _Txertatu" - -#: gdk/keyname-table.h:3975 -msgctxt "keyboard label" -msgid "KP_Delete" -msgstr "TNum. _Ezabatu" - -#: gdk/keyname-table.h:3976 -msgctxt "keyboard label" -msgid "Delete" -msgstr "Ezabatu" +msgstr "Ezarpenetik kendu beharreko GDK arazketa-banderak" #. Description of --sync in --help output -#: gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "Ez jarri GDI eskaerak batch gisa" #. Description of --no-wintab in --help output -#: gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Ez erabili Wintab APIa taulak onartzeko" #. Description of --ignore-wintab in --help output -#: gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "'--no-wintab' bezala ere" #. Description of --use-wintab in --help output -#: gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Erabili Wintab APIa [lehenetsia]" #. Description of --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "8-bit motako paletaren tamaina" #. Placeholder in --max-colors=COLORS in --help output -#: gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "KOLOREAK" -#: gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "'%s' hasieratzen" -#: gdk/x11/gdkapplaunchcontext-x11.c:316 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "'%s' irekitzen" -#: gdk/x11/gdkapplaunchcontext-x11.c:321 -#, c-format -msgid "Opening %d Item" -msgid_plural "Opening %d Items" -msgstr[0] "Elementu %d irekitzen" -msgstr[1] "%d elementu irekitzen" - -#. Description of --sync in --help output -#: gdk/x11/gdkmain-x11.c:96 -msgid "Make X calls synchronous" -msgstr "Bihurtu X dei sinkroniko" - #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: gtk/gtkaboutdialog.c:101 +#: ../gtk/gtkaboutdialog.c:104 #, c-format -msgid "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" +"Programa honek ez du INOLAKO BERMERIK. Xehetasun gehiagorako, bisitatu %s" -#: gtk/gtkaboutdialog.c:339 gtk/gtkaboutdialog.c:2235 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "Lizentzia" -#: gtk/gtkaboutdialog.c:340 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "Programaren lizentzia" #. Add the credits button -#: gtk/gtkaboutdialog.c:621 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "K_redituak" #. Add the license button -#: gtk/gtkaboutdialog.c:635 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_Lizentzia" -#: gtk/gtkaboutdialog.c:839 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "Ezin izan da esteka erakutsi" -#: gtk/gtkaboutdialog.c:932 +#: ../gtk/gtkaboutdialog.c:994 +msgid "Homepage" +msgstr "Webgune nagusia" + +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "%s buruz" -#: gtk/gtkaboutdialog.c:2153 -msgid "Credits" -msgstr "Kredituak" +#: ../gtk/gtkaboutdialog.c:2372 +msgid "Created by" +msgstr "Sortzaileak" -#: gtk/gtkaboutdialog.c:2185 -msgid "Written by" -msgstr "Garapena" - -#: gtk/gtkaboutdialog.c:2188 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "Dokumentazioa" -#: gtk/gtkaboutdialog.c:2200 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "Itzulpena" -#: gtk/gtkaboutdialog.c:2204 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "Marrazki lanak" -#. This is the text that should appear next to menu accelerators -#. * that use the shift key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: gtk/gtkaccellabel.c:160 -msgctxt "keyboard label" -msgid "Shift" -msgstr "Maius" +#: ../gtk/gtkappchooserbutton.c:259 +msgid "Other application..." +msgstr "Beste aplikazioa..." -#. This is the text that should appear next to menu accelerators -#. * that use the control key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: gtk/gtkaccellabel.c:166 -msgctxt "keyboard label" -msgid "Ctrl" -msgstr "Ktrl" +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "Huts egin du lineako aplikazioak bilatzean" -#. This is the text that should appear next to menu accelerators -#. * that use the alt key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: gtk/gtkaccellabel.c:172 -msgctxt "keyboard label" -msgid "Alt" -msgstr "Alt" +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "Bilatu lineako aplikazioak" -#. This is the text that should appear next to menu accelerators -#. * that use the super key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: gtk/gtkaccellabel.c:770 -msgctxt "keyboard label" -msgid "Super" -msgstr "Super" +#: ../gtk/gtkappchooserdialog.c:208 +msgid "Could not run application" +msgstr "Ezin izan da aplikazioa exekutatu" -#. This is the text that should appear next to menu accelerators -#. * that use the hyper key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: gtk/gtkaccellabel.c:783 -msgctxt "keyboard label" -msgid "Hyper" -msgstr "Hiper" +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +msgid "Could not find '%s'" +msgstr "Ezin izan da '%s' aurkitu" -#. This is the text that should appear next to menu accelerators -#. * that use the meta key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: gtk/gtkaccellabel.c:797 -msgctxt "keyboard label" -msgid "Meta" -msgstr "Meta" +#: ../gtk/gtkappchooserdialog.c:224 +msgid "Could not find application" +msgstr "Ezin izan da aplikazioa aurkitu" -#: gtk/gtkaccellabel.c:813 -msgctxt "keyboard label" -msgid "Space" -msgstr "Zuriunea" +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Hautatu aplikazio bat \"%s\" irekitzeko" -#: gtk/gtkaccellabel.c:816 -msgctxt "keyboard label" -msgid "Backslash" -msgstr "Alderantzizko barra" +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "Ez dago aplikaziorik erabilgarri \"%s\" irekitzeko" -#: gtk/gtkbuilderparser.c:343 +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Hautatu aplikazio bat \"%s\" fitxategientzako" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "Ez dago aplikaziorik erabilgarri \"%s\" fitxategiak irekitzeko" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" +"Egin klik \"Erakutsi beste aplikazioak\" gainean aukera gehiagorako, edo " +"\"Bilatu lineako aplikazioak\" aplikazio berri bat instalatzeko" + +#: ../gtk/gtkappchooserdialog.c:428 +msgid "Forget association" +msgstr "Ahaztu esleipena" + +#: ../gtk/gtkappchooserdialog.c:493 +msgid "Show other applications" +msgstr "Erakutsi beste aplikazioak" + +#: ../gtk/gtkappchooserdialog.c:511 +msgid "_Open" +msgstr "_Ireki" + +#: ../gtk/gtkappchooserwidget.c:593 +msgid "Default Application" +msgstr "Aplikazio lehenetsia" + +#: ../gtk/gtkappchooserwidget.c:730 +msgid "Recommended Applications" +msgstr "Gomendatutako aplikazioak" + +#: ../gtk/gtkappchooserwidget.c:744 +msgid "Related Applications" +msgstr "Zerikusia duten aplikazioak" + +#: ../gtk/gtkappchooserwidget.c:758 +msgid "Other Applications" +msgstr "Beste aplikazioak" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Funtzio mota baliogabea %d lerroan: '%s'" -#: gtk/gtkbuilderparser.c:407 -#, fuzzy, c-format +#: ../gtk/gtkbuilderparser.c:406 +#, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "Bikoiztutako '%s' id objektua %d lerroan (aurrez %d lerroan)" +msgstr "Bikoiztutako '%s' ID objektua %d lerroan (aurrez %d lerroan)" -#: gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "Erroko elementu baliogabea: %s" -#: gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "Kudeatu gabeko etiketa: '%s'" @@ -481,7 +289,7 @@ msgstr "Kudeatu gabeko etiketa: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: gtk/gtkcalendar.c:883 +#: ../gtk/gtkcalendar.c:871 msgid "calendar:MY" msgstr "calendar:YM" @@ -489,107 +297,27 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: gtk/gtkcalendar.c:921 +#: ../gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" -#. Translators: This is a text measurement template. -#. * Translate it to the widest year text -#. * -#. * If you don't understand this, leave it as "2000" -#. -#: gtk/gtkcalendar.c:2006 -msgctxt "year measurement template" -msgid "2000" -msgstr "2000" - -#. Translators: this defines whether the day numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: gtk/gtkcalendar.c:2037 gtk/gtkcalendar.c:2719 -#, c-format -msgctxt "calendar:day:digits" -msgid "%d" -msgstr "%d" - -#. Translators: this defines whether the week numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: gtk/gtkcalendar.c:2069 gtk/gtkcalendar.c:2579 -#, c-format -msgctxt "calendar:week:digits" -msgid "%d" -msgstr "%d" - -#. Translators: This dictates how the year is displayed in -#. * gtkcalendar widget. See strftime() manual for the format. -#. * Use only ASCII in the translation. -#. * -#. * Also look for the msgid "2000". -#. * Translate that entry to a year with the widest output of this -#. * msgid. -#. * -#. * "%Y" is appropriate for most locales. -#. -#: gtk/gtkcalendar.c:2361 -msgctxt "calendar year format" -msgid "%Y" -msgstr "%Y" - -#. This label is displayed in a treeview cell displaying -#. * a disabled accelerator key combination. -#. -#: gtk/gtkcellrendereraccel.c:272 -msgctxt "Accelerator" -msgid "Disabled" -msgstr "Desgaituta" - -#. This label is displayed in a treeview cell displaying -#. * an accelerator key combination that is not valid according -#. * to gtk_accelerator_valid(). -#. -#: gtk/gtkcellrendereraccel.c:282 -msgctxt "Accelerator" -msgid "Invalid" -msgstr "Baliogabea" - #. This label is displayed in a treeview cell displaying #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: gtk/gtkcellrendereraccel.c:418 gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "Bizkortzaile berria..." -#: gtk/gtkcellrendererprogress.c:362 gtk/gtkcellrendererprogress.c:452 -#, c-format -msgctxt "progress bar label" -msgid "%d %%" -msgstr "%% %d" - -#: gtk/gtkcolorbutton.c:176 gtk/gtkcolorbutton.c:445 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "Hautatu kolorea" -#: gtk/gtkcolorbutton.c:336 +#: ../gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "Kolore datu baliogabea jaso da\n" -#: gtk/gtkcolorsel.c:384 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." @@ -597,7 +325,7 @@ msgstr "" "Hautatu nahi duzun kolorea kanpoko biribiletik. Hautatu kolore horren " "iluntasuna edo argitasuna barruko triangelua erabiliz" -#: gtk/gtkcolorsel.c:408 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." @@ -605,68 +333,67 @@ msgstr "" "Egin klik tanta-kontagailuan, eta egin klik zure pantailako edozein " "koloretan kolore hori hautatzeko." -#: gtk/gtkcolorsel.c:417 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "_Ñabardura:" -#: gtk/gtkcolorsel.c:418 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "Kolore-gurpileko kokalekua." -#: gtk/gtkcolorsel.c:420 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" msgstr "_Saturazioa:" -#: gtk/gtkcolorsel.c:421 -#, fuzzy +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." -msgstr "Kolorearen gardentasuna." +msgstr "Kolorearen intentsitatea." -#: gtk/gtkcolorsel.c:422 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "_Balioa:" -#: gtk/gtkcolorsel.c:423 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "Kolorearen distira." -#: gtk/gtkcolorsel.c:424 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" msgstr "_Gorria:" -#: gtk/gtkcolorsel.c:425 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "Argi gorriaren kantitatea kolorean." -#: gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" msgstr "Be_rdea:" -#: gtk/gtkcolorsel.c:427 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "Argi berdearen kantitatea kolorean." -#: gtk/gtkcolorsel.c:428 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "_Urdina:" -#: gtk/gtkcolorsel.c:429 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "Argi urdinaren kantitatea kolorean." -#: gtk/gtkcolorsel.c:432 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "_Opakutasuna:" -#: gtk/gtkcolorsel.c:439 gtk/gtkcolorsel.c:449 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "Kolorearen gardentasuna." -#: gtk/gtkcolorsel.c:456 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "Kolorearen i_zena:" -#: gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -674,15 +401,15 @@ msgstr "" "HTML estiloko kolore-balio hamaseitarra sar dezakezu edo bestela kolore " "baten izena, adibidez 'laranja', sarrera honetan." -#: gtk/gtkcolorsel.c:500 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "_Paleta:" -#: gtk/gtkcolorsel.c:529 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "Kolore-gurpila" -#: gtk/gtkcolorsel.c:988 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " @@ -692,7 +419,7 @@ msgstr "" "konparatzeko. Kolore hori paleta-sarrerara arrasta dezakezu edo kolore hori " "uneko kolore gisa hauta dezakezu, koloreen ondoko lagin-multzora arrastatuz." -#: gtk/gtkcolorsel.c:991 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." @@ -700,7 +427,7 @@ msgstr "" "Hautatu duzun kolorea. Kolore hori paleta-sarrerara arrasta dezakezu eta han " "gorde aurrerago erabiltzeko." -#: gtk/gtkcolorsel.c:996 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." @@ -708,15 +435,15 @@ msgstr "" "Aurrez hautatutako kolorea, orain hautatzen ari zaren kolorearekin " "konparatzeko." -#: gtk/gtkcolorsel.c:999 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "Aukeratu duzun kolorea." -#: gtk/gtkcolorsel.c:1396 +#: ../gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "_Gorde kolorea hemen" -#: gtk/gtkcolorsel.c:1601 +#: ../gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -725,7 +452,7 @@ msgstr "" "aldatzeko, arrastatu koloreen lagin-multzoa hona edo egin klik eskuineko " "botoiarekin eta hautatu \"Gorde kolorea hemen.\"" -#: gtk/gtkcolorseldialog.c:189 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "Kolore-hautapena" @@ -735,125 +462,124 @@ msgstr "Kolore-hautapena" #. * Do *not* translate it to "predefinito:mm", if it #. * it isn't default:mm or default:inch it will not work #. -#: gtk/gtkcustompaperunixdialog.c:116 +#: ../gtk/gtkcustompaperunixdialog.c:116 msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: gtk/gtkcustompaperunixdialog.c:374 gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "Kudeatu tamaina pertsonalak" -#: gtk/gtkcustompaperunixdialog.c:534 gtk/gtkpagesetupunixdialog.c:790 +#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 msgid "inch" msgstr "hazbete" -#: gtk/gtkcustompaperunixdialog.c:536 gtk/gtkpagesetupunixdialog.c:788 +#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 msgid "mm" msgstr "mm" -#: gtk/gtkcustompaperunixdialog.c:581 +#: ../gtk/gtkcustompaperunixdialog.c:581 msgid "Margins from Printer..." msgstr "Marjinak inprimagailutik..." -#: gtk/gtkcustompaperunixdialog.c:747 +#: ../gtk/gtkcustompaperunixdialog.c:747 #, c-format msgid "Custom Size %d" msgstr "%d tamaina pertsonalizatua" -#: gtk/gtkcustompaperunixdialog.c:1059 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "_Zabalera:" -#: gtk/gtkcustompaperunixdialog.c:1071 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "_Altuera:" -#: gtk/gtkcustompaperunixdialog.c:1083 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "Paper-tamaina" -#: gtk/gtkcustompaperunixdialog.c:1092 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "_Goian:" -#: gtk/gtkcustompaperunixdialog.c:1104 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "_Behean:" -#: gtk/gtkcustompaperunixdialog.c:1116 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "E_zkerrean:" -#: gtk/gtkcustompaperunixdialog.c:1128 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "E_skuinean:" -#: gtk/gtkcustompaperunixdialog.c:1169 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "Paper-marjinak" -#: gtk/gtkentry.c:8601 gtk/gtktextview.c:8248 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8227 msgid "Input _Methods" msgstr "Sartzeko _metodoak" -#: gtk/gtkentry.c:8615 gtk/gtktextview.c:8262 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8241 msgid "_Insert Unicode Control Character" msgstr "_Txertatu Unicode kontrol-karakterea" -#: gtk/gtkentry.c:10015 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" -msgstr "" +msgstr "Blok. Maius. eta Blok. Zenb. teklak aktibatuta daude" -#: gtk/gtkentry.c:10017 -#, fuzzy +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" -msgstr "Blok.maius. aktibatuta dago" +msgstr "Blok. Zenb. aktibatuta dago" -#: gtk/gtkentry.c:10019 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Blok.maius. aktibatuta dago" #. **************** * #. * Private Macros * #. * **************** -#: gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "Hautatu fitxategia" -#: gtk/gtkfilechooserbutton.c:62 gtk/gtkfilechooserdefault.c:1812 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "Mahaigaina" -#: gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(bat ere ez)" -#: gtk/gtkfilechooserbutton.c:2005 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "Besterik..." -#: gtk/gtkfilechooserdefault.c:148 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "Idatzi karpeta berriaren izena" -#: gtk/gtkfilechooserdefault.c:938 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "Ezin da fitxategiari buruzko informaziorik lortu" -#: gtk/gtkfilechooserdefault.c:949 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "Ezin da laster-marka gehitu" -#: gtk/gtkfilechooserdefault.c:960 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "Ezin izan da laster-marka ezabatu" -#: gtk/gtkfilechooserdefault.c:971 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "Ezin izan da karpeta sortu" -#: gtk/gtkfilechooserdefault.c:984 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -862,11 +588,19 @@ msgstr "" "Saiatu karpeta beste izen batekin sortzen, edo aldatu fitxategiaren izena " "lehenbizi." -#: gtk/gtkfilechooserdefault.c:995 +#: ../gtk/gtkfilechooserdefault.c:1004 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" +"Karpetak soilik hautatu behar dituzu. Hautatu duzun elementua ez da karpeta " +"bat. Saiatu bestelako elementu bat erabiltzen." + +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "Fitxategi-izen baliogabea" -#: gtk/gtkfilechooserdefault.c:1005 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "Karpetaren edukia ezin izan da bistaratu" @@ -874,186 +608,186 @@ msgstr "Karpetaren edukia ezin izan da bistaratu" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: gtk/gtkfilechooserdefault.c:1555 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s, %2$s" -#: gtk/gtkfilechooserdefault.c:1731 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "Bilatu" -#: gtk/gtkfilechooserdefault.c:1755 gtk/gtkfilechooserdefault.c:9289 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Duela gutxi erabilita" -#: gtk/gtkfilechooserdefault.c:2409 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "Hautatu erakutsiko diren fitxategi motak" -#: gtk/gtkfilechooserdefault.c:2768 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Gehitu '%s' karpeta laster-markei" -#: gtk/gtkfilechooserdefault.c:2812 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Gehitu uneko karpeta laster-markei" -#: gtk/gtkfilechooserdefault.c:2814 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Gehitu hautatutako karpetak laster-markei" -#: gtk/gtkfilechooserdefault.c:2852 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "Kendu '%s' laster-marka" -#: gtk/gtkfilechooserdefault.c:2854 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "'%s' laster-marka ezin da kendu" -#: gtk/gtkfilechooserdefault.c:2861 gtk/gtkfilechooserdefault.c:3725 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "Kendu hautatutako laster-marka" -#: gtk/gtkfilechooserdefault.c:3421 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "Kendu" -#: gtk/gtkfilechooserdefault.c:3430 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "Izena aldatu..." #. Accessible object name for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3593 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "Lekuak" #. Column header for the file chooser's shortcuts pane -#: gtk/gtkfilechooserdefault.c:3650 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_Lekuak" -#: gtk/gtkfilechooserdefault.c:3706 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "_Gehitu" -#: gtk/gtkfilechooserdefault.c:3713 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "Gehitu hautatutako karpetak laster-markei" -#: gtk/gtkfilechooserdefault.c:3718 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "_Kendu" -#: gtk/gtkfilechooserdefault.c:3860 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "Ezin izan da fitxategia hautatu" -#: gtk/gtkfilechooserdefault.c:4035 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "_Gehitu laster-markei" -#: gtk/gtkfilechooserdefault.c:4048 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "Erakutsi fitxategi _ezkutuak" -#: gtk/gtkfilechooserdefault.c:4055 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "Erakutsi zutabearen _tamaina" -#: gtk/gtkfilechooserdefault.c:4281 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "Fitxategiak" -#: gtk/gtkfilechooserdefault.c:4332 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "Izena" -#: gtk/gtkfilechooserdefault.c:4355 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "Tamaina" -#: gtk/gtkfilechooserdefault.c:4369 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "Aldatua" #. Label -#: gtk/gtkfilechooserdefault.c:4624 gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Izena:" -#: gtk/gtkfilechooserdefault.c:4667 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_Arakatu beste karpetak" -#: gtk/gtkfilechooserdefault.c:4937 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "Idatzi fitxategi-izena" #. Create Folder -#: gtk/gtkfilechooserdefault.c:4980 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "Sortu karpeta" -#: gtk/gtkfilechooserdefault.c:4990 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_Kokalekua:" -#: gtk/gtkfilechooserdefault.c:5194 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "Gorde _karpetan:" -#: gtk/gtkfilechooserdefault.c:5196 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "Sortu _karpetan:" -#: gtk/gtkfilechooserdefault.c:6248 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "Ezin izan da %s(r)en edukia irakurri" -#: gtk/gtkfilechooserdefault.c:6252 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "Ezin izan da karpetaren edukia irakurri" -#: gtk/gtkfilechooserdefault.c:6345 gtk/gtkfilechooserdefault.c:6413 -#: gtk/gtkfilechooserdefault.c:6558 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "Ezezaguna" -#: gtk/gtkfilechooserdefault.c:6360 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: gtk/gtkfilechooserdefault.c:6362 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "Atzo %H:%M orduan" -#: gtk/gtkfilechooserdefault.c:7028 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "Ezin aldatu karpetara, lokala ez delako." -#: gtk/gtkfilechooserdefault.c:7625 gtk/gtkfilechooserdefault.c:7646 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "%s lasterbidea badago lehendik ere" -#: gtk/gtkfilechooserdefault.c:7736 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "%s lasterbidea ez da existitzen" -#: gtk/gtkfilechooserdefault.c:7997 gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr " \"%s\" izeneko fitxategia badago lehendik. Ordeztea nahi duzu?" -#: gtk/gtkfilechooserdefault.c:8000 gtk/gtkprintunixdialog.c:484 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." @@ -1061,15 +795,15 @@ msgstr "" "\"%s\"(e)n badago fitxategia lehendik. Hau ordeztean bere eduki guztia " "gainidatziko da." -#: gtk/gtkfilechooserdefault.c:8005 gtk/gtkprintunixdialog.c:491 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Ordeztu" -#: gtk/gtkfilechooserdefault.c:8658 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "Ezin izan da bilaketako prozesua abiarazi" -#: gtk/gtkfilechooserdefault.c:8659 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." @@ -1077,36 +811,36 @@ msgstr "" "Programak ezin izan du indexatzaileren daemon-arekin konexiorik sortu. " "Ziurtatu exekutatzen ari dela." -#: gtk/gtkfilechooserdefault.c:8673 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "Ezin izan da bilaketako eskaera bidali" -#: gtk/gtkfilechooserdefault.c:8861 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "Bilatu:" -#: gtk/gtkfilechooserdefault.c:9466 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "Ezin da %s muntatu" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: gtk/gtkfilechooserentry.c:702 gtk/gtkfilechooserentry.c:1169 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "Bide-izen baliogabea" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1101 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "Ez dago bat datorrenik" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: gtk/gtkfilechooserentry.c:1112 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "Osaketa bakarra" @@ -1114,13 +848,13 @@ msgstr "Osaketa bakarra" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: gtk/gtkfilechooserentry.c:1128 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "Osaketa, baina ez bakarra" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: gtk/gtkfilechooserentry.c:1160 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "Osaketa lantzen..." @@ -1128,7 +862,7 @@ msgstr "Osaketa lantzen..." #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: gtk/gtkfilechooserentry.c:1182 gtk/gtkfilechooserentry.c:1207 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "Fitxategi lokalak soilik hauta daitezke" @@ -1136,80 +870,75 @@ msgstr "Fitxategi lokalak soilik hauta daitezke" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: gtk/gtkfilechooserentry.c:1191 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "Ostalari-izena osatu gabea: amaitu '/'-rekin" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: gtk/gtkfilechooserentry.c:1202 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "Bide-izena ez da existitzen" -#: gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "Errorea '%s' karpeta sortzean: %s" - #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: gtk/gtkfilesystem.c:48 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "Fitxategi-sistema" -#: gtk/gtkfontbutton.c:142 gtk/gtkfontbutton.c:266 +#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 msgid "Pick a Font" msgstr "Hautatu letra-tipoa" #. Initialize fields -#: gtk/gtkfontbutton.c:260 +#: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:785 +#: ../gtk/gtkfontbutton.c:785 msgid "Font" msgstr "Letra-tipoa" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "_Familia:" -#: gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "_Estiloa:" -#: gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "Ta_maina:" #. create the text entry widget -#: gtk/gtkfontsel.c:559 +#: ../gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "_Aurrebista:" -#: gtk/gtkfontsel.c:1659 +#: ../gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "Letra-tipoaren hautapena" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "Errorea ikonoa kargatzean: %s" -#: gtk/gtkicontheme.c:1354 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1222,75 +951,59 @@ msgstr "" "Kopia bat hemen lor dezakezu:\n" "\t%s" -#: gtk/gtkicontheme.c:1535 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "'%s' ikonoa ez dago gaian" -#: gtk/gtkicontheme.c:3048 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Huts egin du ikonoa kargatzean" -#: gtk/gtkimmodule.c:526 +#: ../gtk/gtkimmodule.c:526 msgid "Simple" msgstr "Bakuna" -#: gtk/gtkimmulticontext.c:588 -msgctxt "input method menu" -msgid "System" -msgstr "Sistema" - -#: gtk/gtkimmulticontext.c:598 -msgctxt "input method menu" -msgid "None" -msgstr "Bat ere ez" - -#: gtk/gtkimmulticontext.c:681 -#, c-format -msgctxt "input method menu" -msgid "System (%s)" -msgstr "Sistema (%s)" - #. Open Link -#: gtk/gtklabel.c:6202 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "_Ireki esteka" #. Copy Link Address -#: gtk/gtklabel.c:6214 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "Kopiatu _estekaren helbidea" -#: gtk/gtklinkbutton.c:449 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "Kopiatu URLa" -#: gtk/gtklinkbutton.c:601 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "URI baliogabea" #. Description of --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:526 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Kargatu GTK+ modulu gehigarriak" #. Placeholder in --gtk-module=MODULES in --help output -#: gtk/gtkmain.c:527 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MODULUAK" #. Description of --g-fatal-warnings in --help output -#: gtk/gtkmain.c:529 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "Bihurtu abisu guztiak errore larri" #. Description of --gtk-debug=FLAGS in --help output -#: gtk/gtkmain.c:532 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "Ezarri beharreko Gtk+ arazketa-banderak" #. Description of --gtk-no-debug=FLAGS in --help output -#: gtk/gtkmain.c:535 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "Ezarpenetik kendu beharreko Gtk+ arazketa-banderak" @@ -1299,122 +1012,122 @@ msgstr "Ezarpenetik kendu beharreko Gtk+ arazketa-banderak" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: gtk/gtkmain.c:798 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: gtk/gtkmain.c:863 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "Ezin da pantaila ireki: %s" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "GTK+ aukerak" -#: gtk/gtkmain.c:922 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Erakutsi GTK+ aukerak" -#: gtk/gtkmountoperation.c:491 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "_Konektatu" -#: gtk/gtkmountoperation.c:558 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "Konektatu _anonimoki" -#: gtk/gtkmountoperation.c:567 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "Konektatu _erabiltzaile gisa:" -#: gtk/gtkmountoperation.c:605 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "_Erabiltzaile-izena:" -#: gtk/gtkmountoperation.c:610 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "_Domeinua:" -#: gtk/gtkmountoperation.c:616 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "_Pasahitza:" -#: gtk/gtkmountoperation.c:634 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" msgstr "Ahaztu pasahitza _berehala" -#: gtk/gtkmountoperation.c:644 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "Gogoratu pasahitza saioa _amaitu arte" -#: gtk/gtkmountoperation.c:654 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "_Gogoratu beti" -#: gtk/gtkmountoperation.c:883 -#, fuzzy, c-format -msgid "Unknown Application (PID %d)" -msgstr "Aplikazio ezezaguna (%d pid)" - -#: gtk/gtkmountoperation.c:1066 +#: ../gtk/gtkmountoperation.c:883 #, c-format +msgid "Unknown Application (PID %d)" +msgstr "Aplikazio ezezaguna (%d PIDa)" + +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "Ezin da prozesua amaitu" -#: gtk/gtkmountoperation.c:1103 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" msgstr "_Amaitu prozesua" -#: gtk/gtkmountoperation-stub.c:64 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-stub.c:64 +#, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "Ezin da %d pid prozesua hil. Eragiketa ez dago inplementatuta." +msgstr "Ezin da %d PIDdun prozesua hil. Eragiketa ez dago inplementatuta." #. translators: this string is a name for the 'less' command -#: gtk/gtkmountoperation-x11.c:862 +#: ../gtk/gtkmountoperation-x11.c:862 msgid "Terminal Pager" msgstr "Terminaleko orrikatzailea" -#: gtk/gtkmountoperation-x11.c:863 +#: ../gtk/gtkmountoperation-x11.c:863 msgid "Top Command" msgstr "Top komandoa" -#: gtk/gtkmountoperation-x11.c:864 +#: ../gtk/gtkmountoperation-x11.c:864 msgid "Bourne Again Shell" msgstr "Bourne Again Shell" -#: gtk/gtkmountoperation-x11.c:865 +#: ../gtk/gtkmountoperation-x11.c:865 msgid "Bourne Shell" msgstr "Bourne Shell" -#: gtk/gtkmountoperation-x11.c:866 +#: ../gtk/gtkmountoperation-x11.c:866 msgid "Z Shell" msgstr "Z Shell" -#: gtk/gtkmountoperation-x11.c:963 -#, fuzzy, c-format +#: ../gtk/gtkmountoperation-x11.c:963 +#, c-format msgid "Cannot end process with PID %d: %s" -msgstr "Ezin da %d pid prozesua amaitu: %s" +msgstr "Ezin da %d PIDdun prozesua amaitu: %s" -#: gtk/gtknotebook.c:4619 gtk/gtknotebook.c:7170 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "%u. orrialdea" -#: gtk/gtkpagesetup.c:596 gtk/gtkpapersize.c:838 gtk/gtkpapersize.c:880 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 +#: ../gtk/gtkpapersize.c:880 msgid "Not a valid page setup file" msgstr "Ez da orria konfiguratzeko baliozko fitxategia" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "Any Printer" msgstr "Edozein inprimagailu" -#: gtk/gtkpagesetupunixdialog.c:179 +#: ../gtk/gtkpagesetupunixdialog.c:179 msgid "For portable documents" msgstr "Dokumentu eramangarrientzako" -#: gtk/gtkpagesetupunixdialog.c:809 +#: ../gtk/gtkpagesetupunixdialog.c:809 #, c-format msgid "" "Margins:\n" @@ -1429,52 +1142,51 @@ msgstr "" " Goian: %s %s\n" " Behean: %s %s" -#: gtk/gtkpagesetupunixdialog.c:858 gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "Kudeatu tamaina pertsonalizatuak..." -#: gtk/gtkpagesetupunixdialog.c:909 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "_Formatua:" -#: gtk/gtkpagesetupunixdialog.c:931 gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "_Paper-tamaina:" -#: gtk/gtkpagesetupunixdialog.c:962 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "_Orientazioa:" -#: gtk/gtkpagesetupunixdialog.c:1026 gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "Prestatu orrialdea" -#: gtk/gtkpathbar.c:154 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "Goiko bidea" -#: gtk/gtkpathbar.c:156 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "Azpiko bidea" -#: gtk/gtkpathbar.c:1497 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "Erroko fitxategi-sistema" -#: gtk/gtkprintbackend.c:749 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "Autentifikazioa" -#: gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "Ez dago erabilgarri" -#: gtk/gtkprinteroptionwidget.c:794 -#, fuzzy +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" -msgstr "Hautatu fitxategia" +msgstr "Hautatu karpeta" -#: gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "Gorde _karpetan:" @@ -1482,187 +1194,139 @@ msgstr "Gorde _karpetan:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s ataza (%d)" -#: gtk/gtkprintoperation.c:1695 -msgctxt "print operation status" -msgid "Initial state" -msgstr "Hasierako egoera" - -#: gtk/gtkprintoperation.c:1696 -msgctxt "print operation status" -msgid "Preparing to print" -msgstr "inprimatzeko prestatzen" - -#: gtk/gtkprintoperation.c:1697 -msgctxt "print operation status" -msgid "Generating data" -msgstr "Datuak sortzen" - -#: gtk/gtkprintoperation.c:1698 -msgctxt "print operation status" -msgid "Sending data" -msgstr "Datuak bidaltzen" - -#: gtk/gtkprintoperation.c:1699 -msgctxt "print operation status" -msgid "Waiting" -msgstr "Zain" - -#: gtk/gtkprintoperation.c:1700 -msgctxt "print operation status" -msgid "Blocking on issue" -msgstr "Jaulkipenean blokeatuta" - -#: gtk/gtkprintoperation.c:1701 -msgctxt "print operation status" -msgid "Printing" -msgstr "Inprimatzen" - -#: gtk/gtkprintoperation.c:1702 -msgctxt "print operation status" -msgid "Finished" -msgstr "Amaituta" - -#: gtk/gtkprintoperation.c:1703 -msgctxt "print operation status" -msgid "Finished with error" -msgstr "Errorearekin amaituta" - -#: gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "%d prestatzen" -#: gtk/gtkprintoperation.c:2272 gtk/gtkprintoperation.c:2902 -#, c-format +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "Prestatzen" -#: gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "%d inprimatzen" -#: gtk/gtkprintoperation.c:2932 -#, c-format +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "Errorea inprimatzeko aurrebista sortzean" -#: gtk/gtkprintoperation.c:2935 -#, c-format +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "Baliteke aldi baterako fitxategia ezin sortu izatea." -#: gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "Errorea aurrebista abiaraztean" -#: gtk/gtkprintoperation-unix.c:470 gtk/gtkprintoperation-win32.c:1447 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "Aplikazioa" -#: gtk/gtkprintoperation-win32.c:611 +#: ../gtk/gtkprintoperation-win32.c:611 msgid "Printer offline" msgstr "Inprimagailua lineaz kanpo" -#: gtk/gtkprintoperation-win32.c:613 +#: ../gtk/gtkprintoperation-win32.c:613 msgid "Out of paper" msgstr "Paperik ez" #. Translators: this is a printer status. -#: gtk/gtkprintoperation-win32.c:615 -#: modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../gtk/gtkprintoperation-win32.c:615 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "Pausarazita" -#: gtk/gtkprintoperation-win32.c:617 +#: ../gtk/gtkprintoperation-win32.c:617 msgid "Need user intervention" msgstr "Erabiltzailearen laguntza behar da" -#: gtk/gtkprintoperation-win32.c:717 +#: ../gtk/gtkprintoperation-win32.c:717 msgid "Custom size" msgstr "Tamaina pertsonalizatua" -#: gtk/gtkprintoperation-win32.c:1539 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "Ez da inprimagailurik aurkitu" -#: gtk/gtkprintoperation-win32.c:1566 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "CreateDC-ren baliogabeko argumentua" -#: gtk/gtkprintoperation-win32.c:1602 gtk/gtkprintoperation-win32.c:1829 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "Errorea StartDoc-etik" -#: gtk/gtkprintoperation-win32.c:1684 gtk/gtkprintoperation-win32.c:1707 -#: gtk/gtkprintoperation-win32.c:1755 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "Ez dago nahikoa memoria" -#: gtk/gtkprintoperation-win32.c:1760 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "PrintDlgEx-en baliogabeko argumentua" -#: gtk/gtkprintoperation-win32.c:1765 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" msgstr "PrintDlgEx-en baliogabeko erakuslea" -#: gtk/gtkprintoperation-win32.c:1770 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "PrintDlgEx-en baliogabeko kudeatzailea" -#: gtk/gtkprintoperation-win32.c:1775 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" msgstr "Zehaztugabeko errorea" -#: gtk/gtkprintunixdialog.c:618 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Huts egin du inprimagailuaren informazioa lortzean" -#: gtk/gtkprintunixdialog.c:1873 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Inprimagailuaren informazioa lortzen..." -#: gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "Inprimagailua" #. Translators: this is the header for the location column in the print dialog -#: gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "Kokalekua" #. Translators: this is the header for the printer status column in the print dialog -#: gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "Egoera" -#: gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2194 msgid "Range" msgstr "Barrutia" -#: gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "Orrialde _guztiak" -#: gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "_Uneko orrialdea" -#: gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "_Hautapena" -#: gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "_Orrialdeak:" -#: gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1670,28 +1334,28 @@ msgstr "" "Zehaztu orrialdeen barruti bat edo gehiago,\n" "adib. 1-3,7,11" -#: gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "Orrialdeak" -#: gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "Kopiak" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "_Kopiak:" -#: gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "_Alderatu" -#: gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "_Alderantzikatu" -#: gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "Orokorra" @@ -1701,168 +1365,168 @@ msgstr "Orokorra" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3039 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "Ezkerretik eskuinera, goitik behera" -#: gtk/gtkprintunixdialog.c:3017 -#: modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3039 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "Ezkerretik eskuinera, behetik gora" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3040 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "Eskuinetik ezkerrera, goitik behera" -#: gtk/gtkprintunixdialog.c:3018 -#: modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3040 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "Eskuinetik ezkerrera, behetik gora" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3041 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "Goitik behera, ezkerretik eskuinera" -#: gtk/gtkprintunixdialog.c:3019 -#: modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3041 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "Goitik behera, eskuinetik ezkerrera" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "Behetik gora, ezkerretik eskuinera" -#: gtk/gtkprintunixdialog.c:3020 -#: modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "Behetik gora, eskuinetik ezkerrera" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: gtk/gtkprintunixdialog.c:3024 gtk/gtkprintunixdialog.c:3037 -#: modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Orrialdeak ordenatzea" -#: gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "Ezkerretik eskuinera" -#: gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "Eskuinetik ezkerrera" -#: gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "Goitik behera" -#: gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "Behetik gora" -#: gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "Diseinua" -#: gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "_Bi aldetatik:" -#: gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "Orrialdeak _aldeko:" -#: gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "Orrialdeen _ordena:" -#: gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "Inprimatu _soilik:" #. In enum order -#: gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "Orri guztiak" -#: gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "Orri bikoitiak" -#: gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "Orri bakoitiak" -#: gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "E_skala:" -#: gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "Papera" -#: gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "Paper-_mota:" -#: gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "Paper-iturria:" -#: gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "Irteerako _erretilua:" -#: gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "_Orientazioa:" #. In enum order -#: gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "Bertikala" -#: gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "Horizontala" -#: gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "Alderantzizko bertikala" -#: gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "Alderantzizko horizontala" -#: gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "Lanaren xehetasunak" -#: gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "_Lehentasuna:" -#: gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr "_Fakturaren datuak:" -#: gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "Inprimatu dokumentua" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "_Orain" -#: gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "_Noiz:" @@ -1870,7 +1534,7 @@ msgstr "_Noiz:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1878,121 +1542,116 @@ msgstr "" "Zehaztu inprimatze-ordua,\n" "adib. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "Inprimatze-ordua" -#: gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "_Itxaron" -#: gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" msgstr "Mantendu lana esplizitoki askatu arte" -#: gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "Gehitu gainazaleko orria" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "_Aurretik:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "_Ondoren:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "Lana" -#: gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "Aurreratua" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3804 +#: ../gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" msgstr "Irudiaren kalitatea" #. Translators: this will appear as tab label in print dialog. -#: gtk/gtkprintunixdialog.c:3808 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "Kolorea" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "Amaitzen" -#: gtk/gtkprintunixdialog.c:3823 +#: ../gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" msgstr "Elkarrizketa-koadroko ezarpen batzuk gatazkan daude" -#: gtk/gtkprintunixdialog.c:3846 +#: ../gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "Inprimatu" -#: gtk/gtkrc.c:2834 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "Ezin izan da include fitxategi hau aurkitu: \"%s\" " - -#: gtk/gtkrc.c:3470 gtk/gtkrc.c:3473 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Ezin izan da irudi-fitxategia pixmap_path-en aurkitu: \"%s\"" -#: gtk/gtkrecentaction.c:165 gtk/gtkrecentaction.c:173 -#: gtk/gtkrecentchoosermenu.c:615 gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "'%s' klasearen trepeten funtzioa oraindik garatu gabe dago" -#: gtk/gtkrecentchooserdefault.c:482 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "Hautatu erakutsiko diren fitxategi motak" -#: gtk/gtkrecentchooserdefault.c:1138 gtk/gtkrecentchooserdefault.c:1175 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "Ez da'%s' URIaren elementua aurkitu" -#: gtk/gtkrecentchooserdefault.c:1302 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "Izenik gabeko iragazkia" -#: gtk/gtkrecentchooserdefault.c:1655 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "Ezin da elementua kendu" -#: gtk/gtkrecentchooserdefault.c:1699 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "Ezin da zerrenda garbitu" -#: gtk/gtkrecentchooserdefault.c:1783 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "Kopiatu _helbidea" -#: gtk/gtkrecentchooserdefault.c:1796 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "_Kendu zerrendatik" -#: gtk/gtkrecentchooserdefault.c:1805 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "_Garbitu zerrenda" -#: gtk/gtkrecentchooserdefault.c:1819 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "Erakutsi baliabide _pribatuak" @@ -2006,1711 +1665,354 @@ msgstr "Erakutsi baliabide _pribatuak" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "Ez da elementurik aurkitu" -#: gtk/gtkrecentchoosermenu.c:535 gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "Ez da duela gutxi erabilitako '%s' URIaren baliabiderik aurkitu" -#: gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "Ireki '%s'" -#: gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "Elementu ezezaguna" -#. This is the label format that is used for the first 10 items -#. * in a recent files menu. The %d is the number of the item, -#. * the %s is the name of the item. Please keep the _ in front -#. * of the number to give these menu items a mnemonic. -#. -#: gtk/gtkrecentchoosermenu.c:843 -#, c-format -msgctxt "recent menu label" -msgid "_%d. %s" -msgstr "_%d. %s" - -#. This is the format that is used for items in a recent files menu. -#. * The %d is the number of the item, the %s is the name of the item. -#. -#: gtk/gtkrecentchoosermenu.c:848 -#, c-format -msgctxt "recent menu label" -msgid "%d. %s" -msgstr "%d. %s" - -#: gtk/gtkrecentmanager.c:980 gtk/gtkrecentmanager.c:993 -#: gtk/gtkrecentmanager.c:1131 gtk/gtkrecentmanager.c:1141 -#: gtk/gtkrecentmanager.c:1194 gtk/gtkrecentmanager.c:1203 -#: gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "Ezin izan da '%s' URIa duen elementua aurkitu" -#: gtk/gtkspinner.c:456 -msgctxt "throbbing progress animation widget" -msgid "Spinner" -msgstr "Birakaria" +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "" +"Ez da '%s' izenarekin erregistratutako aplikaziorik aurkitu '%s' URIa duen " +"elementuarentzako" -#: gtk/gtkspinner.c:457 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Aurrerapenaren adierazle bisuala eskaintzen du" -#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: gtk/gtkstock.c:313 -msgctxt "Stock label" -msgid "Information" -msgstr "Informazioa" +#: ../gtk/gtkswitch.c:960 +msgid "Switches between on and off states" +msgstr "Aktibatuta eta desaktibatuta egoeren artean aldatzen du" -#: gtk/gtkstock.c:314 -msgctxt "Stock label" -msgid "Warning" -msgstr "Abisua" - -#: gtk/gtkstock.c:315 -msgctxt "Stock label" -msgid "Error" -msgstr "Errorea" - -#: gtk/gtkstock.c:316 -msgctxt "Stock label" -msgid "Question" -msgstr "Galdera" - -#. FIXME these need accelerators when appropriate, and -#. * need the mnemonics to be rationalized -#. -#: gtk/gtkstock.c:321 -msgctxt "Stock label" -msgid "_About" -msgstr "Honi _buruz" - -#: gtk/gtkstock.c:322 -msgctxt "Stock label" -msgid "_Add" -msgstr "_Gehitu" - -#: gtk/gtkstock.c:323 -msgctxt "Stock label" -msgid "_Apply" -msgstr "_Aplikatu" - -#: gtk/gtkstock.c:324 -msgctxt "Stock label" -msgid "_Bold" -msgstr "_Lodia" - -#: gtk/gtkstock.c:325 -msgctxt "Stock label" -msgid "_Cancel" -msgstr "_Utzi" - -#: gtk/gtkstock.c:326 -#, fuzzy -msgctxt "Stock label" -msgid "_CD-ROM" -msgstr "_CD-ROMa" - -#: gtk/gtkstock.c:327 -msgctxt "Stock label" -msgid "_Clear" -msgstr "_Garbitu" - -#: gtk/gtkstock.c:328 -msgctxt "Stock label" -msgid "_Close" -msgstr "It_xi" - -#: gtk/gtkstock.c:329 -msgctxt "Stock label" -msgid "C_onnect" -msgstr "_Konektatu" - -#: gtk/gtkstock.c:330 -msgctxt "Stock label" -msgid "_Convert" -msgstr "_Bihurtu" - -#: gtk/gtkstock.c:331 -msgctxt "Stock label" -msgid "_Copy" -msgstr "_Kopiatu" - -#: gtk/gtkstock.c:332 -msgctxt "Stock label" -msgid "Cu_t" -msgstr "_Ebaki" - -#: gtk/gtkstock.c:333 -msgctxt "Stock label" -msgid "_Delete" -msgstr "_Ezabatu" - -#: gtk/gtkstock.c:334 -msgctxt "Stock label" -msgid "_Discard" -msgstr "_Baztertu" - -#: gtk/gtkstock.c:335 -msgctxt "Stock label" -msgid "_Disconnect" -msgstr "_Deskonektatu" - -#: gtk/gtkstock.c:336 -msgctxt "Stock label" -msgid "_Execute" -msgstr "_Exekutatu" - -#: gtk/gtkstock.c:337 -msgctxt "Stock label" -msgid "_Edit" -msgstr "_Editatu" - -#: gtk/gtkstock.c:338 -#, fuzzy -msgctxt "Stock label" -msgid "_File" -msgstr "_Fitxategiak" - -#: gtk/gtkstock.c:339 -msgctxt "Stock label" -msgid "_Find" -msgstr "_Bilatu" - -#: gtk/gtkstock.c:340 -msgctxt "Stock label" -msgid "Find and _Replace" -msgstr "Bilatu eta _ordeztu" - -#: gtk/gtkstock.c:341 -msgctxt "Stock label" -msgid "_Floppy" -msgstr "_Disketea" - -#: gtk/gtkstock.c:342 -msgctxt "Stock label" -msgid "_Fullscreen" -msgstr "_Pantaila osoa" - -#: gtk/gtkstock.c:343 -msgctxt "Stock label" -msgid "_Leave Fullscreen" -msgstr "_Irten pantaila osotik" - -#. This is a navigation label as in "go to the bottom of the page" -#: gtk/gtkstock.c:345 -msgctxt "Stock label, navigation" -msgid "_Bottom" -msgstr "_Behean" - -#. This is a navigation label as in "go to the first page" -#: gtk/gtkstock.c:347 -msgctxt "Stock label, navigation" -msgid "_First" -msgstr "_Aurrenekora" - -#. This is a navigation label as in "go to the last page" -#: gtk/gtkstock.c:349 -msgctxt "Stock label, navigation" -msgid "_Last" -msgstr "_Azkenera" - -#. This is a navigation label as in "go to the top of the page" -#: gtk/gtkstock.c:351 -msgctxt "Stock label, navigation" -msgid "_Top" -msgstr "_Goian" - -#. This is a navigation label as in "go back" -#: gtk/gtkstock.c:353 -msgctxt "Stock label, navigation" -msgid "_Back" -msgstr "_Atzera" - -#. This is a navigation label as in "go down" -#: gtk/gtkstock.c:355 -msgctxt "Stock label, navigation" -msgid "_Down" -msgstr "_Behera" - -#. This is a navigation label as in "go forward" -#: gtk/gtkstock.c:357 -msgctxt "Stock label, navigation" -msgid "_Forward" -msgstr "A_urrera" - -#. This is a navigation label as in "go up" -#: gtk/gtkstock.c:359 -msgctxt "Stock label, navigation" -msgid "_Up" -msgstr "_Gora" - -#: gtk/gtkstock.c:360 -#, fuzzy -msgctxt "Stock label" -msgid "_Hard Disk" -msgstr "_Disko gogorra" - -#: gtk/gtkstock.c:361 -msgctxt "Stock label" -msgid "_Help" -msgstr "_Laguntza" - -#: gtk/gtkstock.c:362 -msgctxt "Stock label" -msgid "_Home" -msgstr "_Karpeta nagusia" - -#: gtk/gtkstock.c:363 -msgctxt "Stock label" -msgid "Increase Indent" -msgstr "Handitu koska" - -#: gtk/gtkstock.c:364 -msgctxt "Stock label" -msgid "Decrease Indent" -msgstr "Txikitu koska" - -#: gtk/gtkstock.c:365 -msgctxt "Stock label" -msgid "_Index" -msgstr "_Indizea" - -#: gtk/gtkstock.c:366 -msgctxt "Stock label" -msgid "_Information" -msgstr "_Informazioa" - -#: gtk/gtkstock.c:367 -msgctxt "Stock label" -msgid "_Italic" -msgstr "_Etzana" - -#: gtk/gtkstock.c:368 -msgctxt "Stock label" -msgid "_Jump to" -msgstr "_Jauzi hona" - -#. This is about text justification, "centered text" -#: gtk/gtkstock.c:370 -msgctxt "Stock label" -msgid "_Center" -msgstr "_Zentratuta" - -#. This is about text justification -#: gtk/gtkstock.c:372 -msgctxt "Stock label" -msgid "_Fill" -msgstr "_Bete" - -#. This is about text justification, "left-justified text" -#: gtk/gtkstock.c:374 -msgctxt "Stock label" -msgid "_Left" -msgstr "E_zkerrean" - -#. This is about text justification, "right-justified text" -#: gtk/gtkstock.c:376 -msgctxt "Stock label" -msgid "_Right" -msgstr "E_skuinean" - -#. Media label, as in "fast forward" -#: gtk/gtkstock.c:379 -msgctxt "Stock label, media" -msgid "_Forward" -msgstr "A_urrera" - -#. Media label, as in "next song" -#: gtk/gtkstock.c:381 -msgctxt "Stock label, media" -msgid "_Next" -msgstr "_Hurrengoa" - -#. Media label, as in "pause music" -#: gtk/gtkstock.c:383 -msgctxt "Stock label, media" -msgid "P_ause" -msgstr "_Pausatu" - -#. Media label, as in "play music" -#: gtk/gtkstock.c:385 -msgctxt "Stock label, media" -msgid "_Play" -msgstr "_Erreproduzitu" - -#. Media label, as in "previous song" -#: gtk/gtkstock.c:387 -msgctxt "Stock label, media" -msgid "Pre_vious" -msgstr "_Aurrekoa" - -#. Media label -#: gtk/gtkstock.c:389 -msgctxt "Stock label, media" -msgid "_Record" -msgstr "_Grabatu" - -#. Media label -#: gtk/gtkstock.c:391 -msgctxt "Stock label, media" -msgid "R_ewind" -msgstr "_Birbobinatu" - -#. Media label -#: gtk/gtkstock.c:393 -msgctxt "Stock label, media" -msgid "_Stop" -msgstr "_Gelditu" - -#: gtk/gtkstock.c:394 -msgctxt "Stock label" -msgid "_Network" -msgstr "_Sarea" - -#: gtk/gtkstock.c:395 -msgctxt "Stock label" -msgid "_New" -msgstr "_Berria" - -#: gtk/gtkstock.c:396 -msgctxt "Stock label" -msgid "_No" -msgstr "_Ez" - -#: gtk/gtkstock.c:397 -msgctxt "Stock label" -msgid "_OK" -msgstr "_Ados" - -#: gtk/gtkstock.c:398 -msgctxt "Stock label" -msgid "_Open" -msgstr "_Ireki" - -#. Page orientation -#: gtk/gtkstock.c:400 -msgctxt "Stock label" -msgid "Landscape" -msgstr "Horizontala" - -#. Page orientation -#: gtk/gtkstock.c:402 -msgctxt "Stock label" -msgid "Portrait" -msgstr "Bertikala" - -#. Page orientation -#: gtk/gtkstock.c:404 -msgctxt "Stock label" -msgid "Reverse landscape" -msgstr "Alderantzizko horizontala" - -#. Page orientation -#: gtk/gtkstock.c:406 -msgctxt "Stock label" -msgid "Reverse portrait" -msgstr "Alderantzizko bertikala" - -#: gtk/gtkstock.c:407 -msgctxt "Stock label" -msgid "Page Set_up" -msgstr "Prestatu _orrialdea" - -#: gtk/gtkstock.c:408 -msgctxt "Stock label" -msgid "_Paste" -msgstr "_Itsatsi" - -#: gtk/gtkstock.c:409 -msgctxt "Stock label" -msgid "_Preferences" -msgstr "_Hobespenak" - -#: gtk/gtkstock.c:410 -msgctxt "Stock label" -msgid "_Print" -msgstr "I_nprimatu" - -#: gtk/gtkstock.c:411 -msgctxt "Stock label" -msgid "Print Pre_view" -msgstr "Inprimatzeko _aurrebista" - -#: gtk/gtkstock.c:412 -msgctxt "Stock label" -msgid "_Properties" -msgstr "_Propietateak" - -#: gtk/gtkstock.c:413 -msgctxt "Stock label" -msgid "_Quit" -msgstr "Irte_n" - -#: gtk/gtkstock.c:414 -msgctxt "Stock label" -msgid "_Redo" -msgstr "_Berregin" - -#: gtk/gtkstock.c:415 -msgctxt "Stock label" -msgid "_Refresh" -msgstr "_Freskatu" - -#: gtk/gtkstock.c:416 -msgctxt "Stock label" -msgid "_Remove" -msgstr "_Kendu" - -#: gtk/gtkstock.c:417 -msgctxt "Stock label" -msgid "_Revert" -msgstr "_Leheneratu" - -#: gtk/gtkstock.c:418 -msgctxt "Stock label" -msgid "_Save" -msgstr "_Gorde" - -#: gtk/gtkstock.c:419 -msgctxt "Stock label" -msgid "Save _As" -msgstr "Gorde _honela" - -#: gtk/gtkstock.c:420 -msgctxt "Stock label" -msgid "Select _All" -msgstr "Hautatu _denak" - -#: gtk/gtkstock.c:421 -msgctxt "Stock label" -msgid "_Color" -msgstr "_Kolorea" - -#: gtk/gtkstock.c:422 -msgctxt "Stock label" -msgid "_Font" -msgstr "_Letra-tipoa" - -#. Sorting direction -#: gtk/gtkstock.c:424 -msgctxt "Stock label" -msgid "_Ascending" -msgstr "Go_rantz" - -#. Sorting direction -#: gtk/gtkstock.c:426 -msgctxt "Stock label" -msgid "_Descending" -msgstr "Be_herantz" - -#: gtk/gtkstock.c:427 -msgctxt "Stock label" -msgid "_Spell Check" -msgstr "Ortogra_fia-egiaztapena" - -#: gtk/gtkstock.c:428 -msgctxt "Stock label" -msgid "_Stop" -msgstr "_Gelditu" - -#. Font variant -#: gtk/gtkstock.c:430 -msgctxt "Stock label" -msgid "_Strikethrough" -msgstr "_Marratua" - -#: gtk/gtkstock.c:431 -msgctxt "Stock label" -msgid "_Undelete" -msgstr "_Desezabatu" - -#. Font variant -#: gtk/gtkstock.c:433 -msgctxt "Stock label" -msgid "_Underline" -msgstr "_Azpimarratua" - -#: gtk/gtkstock.c:434 -msgctxt "Stock label" -msgid "_Undo" -msgstr "_Desegin" - -#: gtk/gtkstock.c:435 -msgctxt "Stock label" -msgid "_Yes" -msgstr "_Bai" - -#. Zoom -#: gtk/gtkstock.c:437 -msgctxt "Stock label" -msgid "_Normal Size" -msgstr "Tamaina _normala" - -#. Zoom -#: gtk/gtkstock.c:439 -msgctxt "Stock label" -msgid "Best _Fit" -msgstr "_Egokiena" - -#: gtk/gtkstock.c:440 -msgctxt "Stock label" -msgid "Zoom _In" -msgstr "_Zooma handiagotu" - -#: gtk/gtkstock.c:441 -msgctxt "Stock label" -msgid "Zoom _Out" -msgstr "Zooma _txikiagotu" - -#: gtk/gtktextbufferrichtext.c:650 +#: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" msgstr "Errore ezezaguna %s serietik kentzen saiatzean" -#: gtk/gtktextbufferrichtext.c:709 +#: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "Ez da %s formatuaren serietik kentzeko funtziorik aurkitu" -#: gtk/gtktextbufferserialize.c:795 gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Bai \"id\" bai \"name\" aurkitu dira <%s> elementuan" -#: gtk/gtktextbufferserialize.c:805 gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "\"%s\" atributua birritan aurkitu da <%s> elementuan" -#: gtk/gtktextbufferserialize.c:845 -#, fuzzy, c-format +#: ../gtk/gtktextbufferserialize.c:852 +#, c-format msgid "<%s> element has invalid ID \"%s\"" -msgstr "<%s> elementuak \"%s\" id baliogabea du" +msgstr "<%s> elementuak \"%s\" ID baliogabea du" -#: gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> elementuak ez du \"name\" ez \"id\" elementurik" -#: gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "\"%s\" atributua birritan errepikatuta <%s> elementu berean" -#: gtk/gtktextbufferserialize.c:960 gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "\"%s\" atributua ez da baliozkoa <%s> elementuan testuinguru honetan" -#: gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "\"%s\" etiketa ez da definitu." -#: gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Etiketa anonimoa aurkitu da eta etiketak ezin dira sortu." -#: gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "" "\"%s\" etiketa ez da existitzen bufferrean eta etiketak ezin dira sortu." -#: gtk/gtktextbufferserialize.c:1146 gtk/gtktextbufferserialize.c:1221 -#: gtk/gtktextbufferserialize.c:1324 gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Ez da onartzen <%s> elementua <%s>(r)en azpian jartzea" -#: gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" ez da baliozko atributu-mota" -#: gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" ez da baliozko atributu-izena" -#: gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "Ezin izan da \"%s\" bihurtu \"%s\" atributuaren \"%s\" motara" -#: gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" ez da \"%s\" atributuaren baliozko balioa" -#: gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "\"%s\" etiketa lehendik definituta dago" -#: gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "\"%s\" etiketak \"%s\" lehentasun baliogabea du" -#: gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Testuko elementu kanpokoena izen behar du, ez <%s>" -#: gtk/gtktextbufferserialize.c:1362 gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> elementua jadanik zehaztuta dago" -#: gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr " elementua ezin da baino lehenago agertu" -#: gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "Serieko datuak formatu okerra du" -#: gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "Serieko datuak formatu okerra du. Aurreneko atala ez da " "GTKTEXTBUFFERCONTENTS-0001" -#: gtk/gtktextutil.c:60 +#: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" msgstr "LRM _Ezkerretik_eskuinera marka" -#: gtk/gtktextutil.c:61 +#: ../gtk/gtktextutil.c:61 msgid "RLM _Right-to-left mark" msgstr "RLM E_skuinetik_ezkerrera marka" -#: gtk/gtktextutil.c:62 +#: ../gtk/gtktextutil.c:62 msgid "LRE Left-to-right _embedding" msgstr "LRE Ezkerretik_eskuinera ka_psulatzea" -#: gtk/gtktextutil.c:63 +#: ../gtk/gtktextutil.c:63 msgid "RLE Right-to-left e_mbedding" msgstr "RLE Eskuinetik_ezkerrera _kapsulatzea" -#: gtk/gtktextutil.c:64 +#: ../gtk/gtktextutil.c:64 msgid "LRO Left-to-right _override" msgstr "LRO Ezkerretik_eskuinera _gainidaztea" -#: gtk/gtktextutil.c:65 +#: ../gtk/gtktextutil.c:65 msgid "RLO Right-to-left o_verride" msgstr "RLO Eskuinetik_ezkerrera gai_nidaztea" -#: gtk/gtktextutil.c:66 +#: ../gtk/gtktextutil.c:66 msgid "PDF _Pop directional formatting" msgstr "PDF _Formateatze direkzionala agertzea" -#: gtk/gtktextutil.c:67 +#: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" msgstr "ZWS _Zero zabaleraren tartea" -#: gtk/gtktextutil.c:68 +#: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" msgstr "ZWJ Zero zabaleraren _mihiztatzailea" -#: gtk/gtktextutil.c:69 +#: ../gtk/gtktextutil.c:69 msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ Zero zabaleraren ez-mihiztatzailea" -#: gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Ezin izan da gaiaren gailua lokalizatu module_path-en: \"%s\"," - -#: gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "Uste gabeko '%s' hasierako etiketa %d lerroan, %d karakterea" -#: gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "Uste gabeko datu-karakterea %d lerroan, %d karakterea" -#: gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "Hutsik" -#: gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" msgstr "Bolumena" -#: gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "Bolumena igo edo jaisten du" -#: gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "Bolumena doitzen du" -#: gtk/gtkvolumebutton.c:94 gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "Jaitsi bolumena" -#: gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "Bolumena gutxiagotzen du" -#: gtk/gtkvolumebutton.c:100 gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "Igo bolumena" -#: gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "Bolumena handiagotzen du" -#: gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "Mutututa" -#: gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "Bolumen osoa" -#. Translators: this is the percentage of the current volume, -#. * as used in the tooltip, eg. "49 %". -#. * Translate the "%d" to "%Id" if you want to use localised digits, -#. * or otherwise translate the "%d" to "%d". -#. -#: gtk/gtkvolumebutton.c:177 -#, c-format -msgctxt "volume percentage" -msgid "%d %%" -msgstr "%% %d" - -#: gtk/paper_names_offsets.c:4 -msgctxt "paper size" -msgid "asme_f" -msgstr "asme_f" - -#: gtk/paper_names_offsets.c:5 -msgctxt "paper size" -msgid "A0x2" -msgstr "A0x2" - -#: gtk/paper_names_offsets.c:6 -msgctxt "paper size" -msgid "A0" -msgstr "A0" - -#: gtk/paper_names_offsets.c:7 -msgctxt "paper size" -msgid "A0x3" -msgstr "A0x3" - -#: gtk/paper_names_offsets.c:8 -msgctxt "paper size" -msgid "A1" -msgstr "A1" - -#: gtk/paper_names_offsets.c:9 -msgctxt "paper size" -msgid "A10" -msgstr "A10" - -#: gtk/paper_names_offsets.c:10 -msgctxt "paper size" -msgid "A1x3" -msgstr "A1x3" - -#: gtk/paper_names_offsets.c:11 -msgctxt "paper size" -msgid "A1x4" -msgstr "A1x4" - -#: gtk/paper_names_offsets.c:12 -msgctxt "paper size" -msgid "A2" -msgstr "A2" - -#: gtk/paper_names_offsets.c:13 -msgctxt "paper size" -msgid "A2x3" -msgstr "A2x3" - -#: gtk/paper_names_offsets.c:14 -msgctxt "paper size" -msgid "A2x4" -msgstr "A2x4" - -#: gtk/paper_names_offsets.c:15 -msgctxt "paper size" -msgid "A2x5" -msgstr "A2x5" - -#: gtk/paper_names_offsets.c:16 -msgctxt "paper size" -msgid "A3" -msgstr "A3" - -#: gtk/paper_names_offsets.c:17 -msgctxt "paper size" -msgid "A3 Extra" -msgstr "A3 estra" - -#: gtk/paper_names_offsets.c:18 -msgctxt "paper size" -msgid "A3x3" -msgstr "A3x3" - -#: gtk/paper_names_offsets.c:19 -msgctxt "paper size" -msgid "A3x4" -msgstr "A3x4" - -#: gtk/paper_names_offsets.c:20 -msgctxt "paper size" -msgid "A3x5" -msgstr "A3x5" - -#: gtk/paper_names_offsets.c:21 -msgctxt "paper size" -msgid "A3x6" -msgstr "A3x6" - -#: gtk/paper_names_offsets.c:22 -msgctxt "paper size" -msgid "A3x7" -msgstr "A3x7" - -#: gtk/paper_names_offsets.c:23 -msgctxt "paper size" -msgid "A4" -msgstr "A4" - -#: gtk/paper_names_offsets.c:24 -msgctxt "paper size" -msgid "A4 Extra" -msgstr "A4 estra" - -#: gtk/paper_names_offsets.c:25 -msgctxt "paper size" -msgid "A4 Tab" -msgstr "A4 fitxa" - -#: gtk/paper_names_offsets.c:26 -msgctxt "paper size" -msgid "A4x3" -msgstr "A4x3" - -#: gtk/paper_names_offsets.c:27 -msgctxt "paper size" -msgid "A4x4" -msgstr "A4x4" - -#: gtk/paper_names_offsets.c:28 -msgctxt "paper size" -msgid "A4x5" -msgstr "A4x5" - -#: gtk/paper_names_offsets.c:29 -msgctxt "paper size" -msgid "A4x6" -msgstr "A4x6" - -#: gtk/paper_names_offsets.c:30 -msgctxt "paper size" -msgid "A4x7" -msgstr "A4x7" - -#: gtk/paper_names_offsets.c:31 -msgctxt "paper size" -msgid "A4x8" -msgstr "A4x8" - -#: gtk/paper_names_offsets.c:32 -msgctxt "paper size" -msgid "A4x9" -msgstr "A4x9" - -#: gtk/paper_names_offsets.c:33 -msgctxt "paper size" -msgid "A5" -msgstr "A5" - -#: gtk/paper_names_offsets.c:34 -msgctxt "paper size" -msgid "A5 Extra" -msgstr "A5 estra" - -#: gtk/paper_names_offsets.c:35 -msgctxt "paper size" -msgid "A6" -msgstr "A6" - -#: gtk/paper_names_offsets.c:36 -msgctxt "paper size" -msgid "A7" -msgstr "A7" - -#: gtk/paper_names_offsets.c:37 -msgctxt "paper size" -msgid "A8" -msgstr "A8" - -#: gtk/paper_names_offsets.c:38 -msgctxt "paper size" -msgid "A9" -msgstr "A9" - -#: gtk/paper_names_offsets.c:39 -msgctxt "paper size" -msgid "B0" -msgstr "B0" - -#: gtk/paper_names_offsets.c:40 -msgctxt "paper size" -msgid "B1" -msgstr "B1" - -#: gtk/paper_names_offsets.c:41 -msgctxt "paper size" -msgid "B10" -msgstr "B10" - -#: gtk/paper_names_offsets.c:42 -msgctxt "paper size" -msgid "B2" -msgstr "B2" - -#: gtk/paper_names_offsets.c:43 -msgctxt "paper size" -msgid "B3" -msgstr "B3" - -#: gtk/paper_names_offsets.c:44 -msgctxt "paper size" -msgid "B4" -msgstr "B4" - -#: gtk/paper_names_offsets.c:45 -msgctxt "paper size" -msgid "B5" -msgstr "B5" - -#: gtk/paper_names_offsets.c:46 -msgctxt "paper size" -msgid "B5 Extra" -msgstr "B5 estra" - -#: gtk/paper_names_offsets.c:47 -msgctxt "paper size" -msgid "B6" -msgstr "B6" - -#: gtk/paper_names_offsets.c:48 -msgctxt "paper size" -msgid "B6/C4" -msgstr "B6/C4" - -#: gtk/paper_names_offsets.c:49 -msgctxt "paper size" -msgid "B7" -msgstr "B7" - -#: gtk/paper_names_offsets.c:50 -msgctxt "paper size" -msgid "B8" -msgstr "B8" - -#: gtk/paper_names_offsets.c:51 -msgctxt "paper size" -msgid "B9" -msgstr "B9" - -#: gtk/paper_names_offsets.c:52 -msgctxt "paper size" -msgid "C0" -msgstr "C0" - -#: gtk/paper_names_offsets.c:53 -msgctxt "paper size" -msgid "C1" -msgstr "C1" - -#: gtk/paper_names_offsets.c:54 -msgctxt "paper size" -msgid "C10" -msgstr "C10" - -#: gtk/paper_names_offsets.c:55 -msgctxt "paper size" -msgid "C2" -msgstr "C2" - -#: gtk/paper_names_offsets.c:56 -msgctxt "paper size" -msgid "C3" -msgstr "C3" - -#: gtk/paper_names_offsets.c:57 -msgctxt "paper size" -msgid "C4" -msgstr "C4" - -#: gtk/paper_names_offsets.c:58 -msgctxt "paper size" -msgid "C5" -msgstr "C5" - -#: gtk/paper_names_offsets.c:59 -msgctxt "paper size" -msgid "C6" -msgstr "C6" - -#: gtk/paper_names_offsets.c:60 -msgctxt "paper size" -msgid "C6/C5" -msgstr "C6/C5" - -#: gtk/paper_names_offsets.c:61 -msgctxt "paper size" -msgid "C7" -msgstr "C7" - -#: gtk/paper_names_offsets.c:62 -msgctxt "paper size" -msgid "C7/C6" -msgstr "C7/C6" - -#: gtk/paper_names_offsets.c:63 -msgctxt "paper size" -msgid "C8" -msgstr "C8" - -#: gtk/paper_names_offsets.c:64 -msgctxt "paper size" -msgid "C9" -msgstr "C9" - -#: gtk/paper_names_offsets.c:65 -msgctxt "paper size" -msgid "DL Envelope" -msgstr "DL gutun-azala" - -#: gtk/paper_names_offsets.c:66 -msgctxt "paper size" -msgid "RA0" -msgstr "RA0" - -#: gtk/paper_names_offsets.c:67 -msgctxt "paper size" -msgid "RA1" -msgstr "RA1" - -#: gtk/paper_names_offsets.c:68 -msgctxt "paper size" -msgid "RA2" -msgstr "RA2" - -#: gtk/paper_names_offsets.c:69 -msgctxt "paper size" -msgid "SRA0" -msgstr "SRA0" - -#: gtk/paper_names_offsets.c:70 -msgctxt "paper size" -msgid "SRA1" -msgstr "SRA1" - -#: gtk/paper_names_offsets.c:71 -msgctxt "paper size" -msgid "SRA2" -msgstr "SRA2" - -#: gtk/paper_names_offsets.c:72 -msgctxt "paper size" -msgid "JB0" -msgstr "JB0" - -#: gtk/paper_names_offsets.c:73 -msgctxt "paper size" -msgid "JB1" -msgstr "JB1" - -#: gtk/paper_names_offsets.c:74 -msgctxt "paper size" -msgid "JB10" -msgstr "JB10" - -#: gtk/paper_names_offsets.c:75 -msgctxt "paper size" -msgid "JB2" -msgstr "JB2" - -#: gtk/paper_names_offsets.c:76 -msgctxt "paper size" -msgid "JB3" -msgstr "JB3" - -#: gtk/paper_names_offsets.c:77 -msgctxt "paper size" -msgid "JB4" -msgstr "JB4" - -#: gtk/paper_names_offsets.c:78 -msgctxt "paper size" -msgid "JB5" -msgstr "JB5" - -#: gtk/paper_names_offsets.c:79 -msgctxt "paper size" -msgid "JB6" -msgstr "JB6" - -#: gtk/paper_names_offsets.c:80 -msgctxt "paper size" -msgid "JB7" -msgstr "JB7" - -#: gtk/paper_names_offsets.c:81 -msgctxt "paper size" -msgid "JB8" -msgstr "JB8" - -#: gtk/paper_names_offsets.c:82 -msgctxt "paper size" -msgid "JB9" -msgstr "JB9" - -#: gtk/paper_names_offsets.c:83 -msgctxt "paper size" -msgid "jis exec" -msgstr "jis exec" - -#: gtk/paper_names_offsets.c:84 -msgctxt "paper size" -msgid "Choukei 2 Envelope" -msgstr "Choukei 2 gutun-azala" - -#: gtk/paper_names_offsets.c:85 -msgctxt "paper size" -msgid "Choukei 3 Envelope" -msgstr "Choukei 3 gutun-azala" - -#: gtk/paper_names_offsets.c:86 -msgctxt "paper size" -msgid "Choukei 4 Envelope" -msgstr "Choukei 4 gutun-azala" - -#: gtk/paper_names_offsets.c:87 -msgctxt "paper size" -msgid "hagaki (postcard)" -msgstr "hagaki (posta-txartela)" - -#: gtk/paper_names_offsets.c:88 -msgctxt "paper size" -msgid "kahu Envelope" -msgstr "Kahu gutun-azala" - -#: gtk/paper_names_offsets.c:89 -msgctxt "paper size" -msgid "kaku2 Envelope" -msgstr "Kaku2 gutun-azala" - -#: gtk/paper_names_offsets.c:90 -msgctxt "paper size" -msgid "oufuku (reply postcard)" -msgstr "oufuku (erantzuteko posta-txartela)" - -#: gtk/paper_names_offsets.c:91 -msgctxt "paper size" -msgid "you4 Envelope" -msgstr "you4 gutun-azala" - -#: gtk/paper_names_offsets.c:92 -msgctxt "paper size" -msgid "10x11" -msgstr "10x11" - -#: gtk/paper_names_offsets.c:93 -msgctxt "paper size" -msgid "10x13" -msgstr "10x13" - -#: gtk/paper_names_offsets.c:94 -msgctxt "paper size" -msgid "10x14" -msgstr "10x14" - -#: gtk/paper_names_offsets.c:95 gtk/paper_names_offsets.c:96 -msgctxt "paper size" -msgid "10x15" -msgstr "10x15" - -#: gtk/paper_names_offsets.c:97 -msgctxt "paper size" -msgid "11x12" -msgstr "11x12" - -#: gtk/paper_names_offsets.c:98 -msgctxt "paper size" -msgid "11x15" -msgstr "11x15" - -#: gtk/paper_names_offsets.c:99 -msgctxt "paper size" -msgid "12x19" -msgstr "12x19" - -#: gtk/paper_names_offsets.c:100 -msgctxt "paper size" -msgid "5x7" -msgstr "5x7" - -#: gtk/paper_names_offsets.c:101 -msgctxt "paper size" -msgid "6x9 Envelope" -msgstr "6x9 gutun-azala" - -#: gtk/paper_names_offsets.c:102 -msgctxt "paper size" -msgid "7x9 Envelope" -msgstr "7x9 gutun-azala" - -#: gtk/paper_names_offsets.c:103 -msgctxt "paper size" -msgid "9x11 Envelope" -msgstr "9x11 gutun-azala" - -#: gtk/paper_names_offsets.c:104 -msgctxt "paper size" -msgid "a2 Envelope" -msgstr "a2 gutun-azala" - -#: gtk/paper_names_offsets.c:105 -msgctxt "paper size" -msgid "Arch A" -msgstr "Arch A" - -#: gtk/paper_names_offsets.c:106 -msgctxt "paper size" -msgid "Arch B" -msgstr "Arch B" - -#: gtk/paper_names_offsets.c:107 -msgctxt "paper size" -msgid "Arch C" -msgstr "Arch C" - -#: gtk/paper_names_offsets.c:108 -msgctxt "paper size" -msgid "Arch D" -msgstr "Arch D" - -#: gtk/paper_names_offsets.c:109 -msgctxt "paper size" -msgid "Arch E" -msgstr "Arch E" - -#: gtk/paper_names_offsets.c:110 -msgctxt "paper size" -msgid "b-plus" -msgstr "b-plus" - -#: gtk/paper_names_offsets.c:111 -msgctxt "paper size" -msgid "c" -msgstr "c" - -#: gtk/paper_names_offsets.c:112 -msgctxt "paper size" -msgid "c5 Envelope" -msgstr "c5 gutun-azala" - -#: gtk/paper_names_offsets.c:113 -msgctxt "paper size" -msgid "d" -msgstr "d" - -#: gtk/paper_names_offsets.c:114 -msgctxt "paper size" -msgid "e" -msgstr "e" - -#: gtk/paper_names_offsets.c:115 -msgctxt "paper size" -msgid "edp" -msgstr "edp" - -#: gtk/paper_names_offsets.c:116 -msgctxt "paper size" -msgid "European edp" -msgstr "Europako edp" - -#: gtk/paper_names_offsets.c:117 -msgctxt "paper size" -msgid "Executive" -msgstr "Exekutiboa" - -#: gtk/paper_names_offsets.c:118 -msgctxt "paper size" -msgid "f" -msgstr "f" - -#: gtk/paper_names_offsets.c:119 -msgctxt "paper size" -msgid "FanFold European" -msgstr "Europako FanFold" - -#: gtk/paper_names_offsets.c:120 -msgctxt "paper size" -msgid "FanFold US" -msgstr "AEBko FanFold" - -#: gtk/paper_names_offsets.c:121 -msgctxt "paper size" -msgid "FanFold German Legal" -msgstr "Alemaniako FanFold legala" - -#: gtk/paper_names_offsets.c:122 -msgctxt "paper size" -msgid "Government Legal" -msgstr "Gobernuaren legala" - -#: gtk/paper_names_offsets.c:123 -msgctxt "paper size" -msgid "Government Letter" -msgstr "Gobernuaren gutuna" - -#: gtk/paper_names_offsets.c:124 -msgctxt "paper size" -msgid "Index 3x5" -msgstr "Indizea 3x5" - -#: gtk/paper_names_offsets.c:125 -msgctxt "paper size" -msgid "Index 4x6 (postcard)" -msgstr "Indizea 4x6 (posta-txartela)" - -#: gtk/paper_names_offsets.c:126 -msgctxt "paper size" -msgid "Index 4x6 ext" -msgstr "Indizea 4x6 est." - -#: gtk/paper_names_offsets.c:127 -msgctxt "paper size" -msgid "Index 5x8" -msgstr "Indizea 5x8" - -#: gtk/paper_names_offsets.c:128 -msgctxt "paper size" -msgid "Invoice" -msgstr "Faktura" - -#: gtk/paper_names_offsets.c:129 -msgctxt "paper size" -msgid "Tabloid" -msgstr "Tabloidea" - -#: gtk/paper_names_offsets.c:130 -msgctxt "paper size" -msgid "US Legal" -msgstr "US legala" - -#: gtk/paper_names_offsets.c:131 -msgctxt "paper size" -msgid "US Legal Extra" -msgstr "US legala estra" - -#: gtk/paper_names_offsets.c:132 -msgctxt "paper size" -msgid "US Letter" -msgstr "US gutuna" - -#: gtk/paper_names_offsets.c:133 -msgctxt "paper size" -msgid "US Letter Extra" -msgstr "US gutuna estra" - -#: gtk/paper_names_offsets.c:134 -msgctxt "paper size" -msgid "US Letter Plus" -msgstr "US gutuna plus" - -#: gtk/paper_names_offsets.c:135 -msgctxt "paper size" -msgid "Monarch Envelope" -msgstr "Monarka gutun-azala" - -#: gtk/paper_names_offsets.c:136 -msgctxt "paper size" -msgid "#10 Envelope" -msgstr "#10 gutun-azala" - -#: gtk/paper_names_offsets.c:137 -msgctxt "paper size" -msgid "#11 Envelope" -msgstr "#11 gutun-azala" - -#: gtk/paper_names_offsets.c:138 -msgctxt "paper size" -msgid "#12 Envelope" -msgstr "#12 gutun-azala" - -#: gtk/paper_names_offsets.c:139 -msgctxt "paper size" -msgid "#14 Envelope" -msgstr "#14 gutun-azala" - -#: gtk/paper_names_offsets.c:140 -msgctxt "paper size" -msgid "#9 Envelope" -msgstr "#9 gutun-azala" - -#: gtk/paper_names_offsets.c:141 -msgctxt "paper size" -msgid "Personal Envelope" -msgstr "Gutun-azal pertsonala" - -#: gtk/paper_names_offsets.c:142 -msgctxt "paper size" -msgid "Quarto" -msgstr "Laurdena" - -#: gtk/paper_names_offsets.c:143 -msgctxt "paper size" -msgid "Super A" -msgstr "Super A" - -#: gtk/paper_names_offsets.c:144 -msgctxt "paper size" -msgid "Super B" -msgstr "Super B" - -#: gtk/paper_names_offsets.c:145 -msgctxt "paper size" -msgid "Wide Format" -msgstr "Formatu zabala" - -#: gtk/paper_names_offsets.c:146 -msgctxt "paper size" -msgid "Dai-pa-kai" -msgstr "Dai-pa-kai" - -#: gtk/paper_names_offsets.c:147 -msgctxt "paper size" -msgid "Folio" -msgstr "Folioa" - -#: gtk/paper_names_offsets.c:148 -msgctxt "paper size" -msgid "Folio sp" -msgstr "Folioa sp" - -#: gtk/paper_names_offsets.c:149 -msgctxt "paper size" -msgid "Invite Envelope" -msgstr "Gonbidapen gutun-azala" - -#: gtk/paper_names_offsets.c:150 -msgctxt "paper size" -msgid "Italian Envelope" -msgstr "Italiako gutun-azala" - -#: gtk/paper_names_offsets.c:151 -msgctxt "paper size" -msgid "juuro-ku-kai" -msgstr "juuro-ku-kai" - -#: gtk/paper_names_offsets.c:152 -msgctxt "paper size" -msgid "pa-kai" -msgstr "pa-kai" - -#: gtk/paper_names_offsets.c:153 -msgctxt "paper size" -msgid "Postfix Envelope" -msgstr "Postfix gutun-azala" - -#: gtk/paper_names_offsets.c:154 -msgctxt "paper size" -msgid "Small Photo" -msgstr "Argazki txikia" - -#: gtk/paper_names_offsets.c:155 -msgctxt "paper size" -msgid "prc1 Envelope" -msgstr "prc1 gutun-azala" - -#: gtk/paper_names_offsets.c:156 -msgctxt "paper size" -msgid "prc10 Envelope" -msgstr "prc10 gutun-azala" - -#: gtk/paper_names_offsets.c:157 -msgctxt "paper size" -msgid "prc 16k" -msgstr "prc 16k" - -#: gtk/paper_names_offsets.c:158 -msgctxt "paper size" -msgid "prc2 Envelope" -msgstr "prc2 gutun-azala" - -#: gtk/paper_names_offsets.c:159 -msgctxt "paper size" -msgid "prc3 Envelope" -msgstr "prc3 gutun-azala" - -#: gtk/paper_names_offsets.c:160 -msgctxt "paper size" -msgid "prc 32k" -msgstr "prc 32k" - -#: gtk/paper_names_offsets.c:161 -msgctxt "paper size" -msgid "prc4 Envelope" -msgstr "prc4 gutun-azala" - -#: gtk/paper_names_offsets.c:162 -msgctxt "paper size" -msgid "prc5 Envelope" -msgstr "prc5 gutun-azala" - -#: gtk/paper_names_offsets.c:163 -msgctxt "paper size" -msgid "prc6 Envelope" -msgstr "prc6 gutun-azala" - -#: gtk/paper_names_offsets.c:164 -msgctxt "paper size" -msgid "prc7 Envelope" -msgstr "prc7 gutun-azala" - -#: gtk/paper_names_offsets.c:165 -msgctxt "paper size" -msgid "prc8 Envelope" -msgstr "prc8 gutun-azala" - -#: gtk/paper_names_offsets.c:166 -msgctxt "paper size" -msgid "prc9 Envelope" -msgstr "prc9 gutun-azala" - -#: gtk/paper_names_offsets.c:167 -msgctxt "paper size" -msgid "ROC 16k" -msgstr "ROC 16k" - -#: gtk/paper_names_offsets.c:168 -msgctxt "paper size" -msgid "ROC 8k" -msgstr "ROC 8k" - -#: gtk/updateiconcache.c:492 gtk/updateiconcache.c:552 +#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" msgstr "'%s' eta '%s' esteken 'idata' ezberdinak aurkitu dira\n" -#: gtk/updateiconcache.c:1374 +#: ../gtk/updateiconcache.c:1374 #, c-format msgid "Failed to write header\n" msgstr "Huts egin du goiburukoa idaztean\n" -#: gtk/updateiconcache.c:1380 +#: ../gtk/updateiconcache.c:1380 #, c-format msgid "Failed to write hash table\n" msgstr "Huts egin du 'hash' taula idaztean\n" -#: gtk/updateiconcache.c:1386 +#: ../gtk/updateiconcache.c:1386 #, c-format msgid "Failed to write folder index\n" msgstr "Huts egin du karpetaren indizea idaztean\n" -#: gtk/updateiconcache.c:1394 +#: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" msgstr "Huts egin du goiburukoa berridaztean\n" -#: gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "Huts egin du '%s' fitxategia irekitzean: %s\n" -#: gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "Ezin izan da cache fitxategian idatzi: %s\n" -#: gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "Sortutako cache-a baliogabea da.\n" -#: gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s ezin izan da %s izenagatik aldatu: %s, %s kentzen orduan.\n" -#: gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s ezin izan da %s izenagatik aldatu: %s\n" -#: gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s ezin izan da jatorriko %s izenera aldatu: %s\n" -#: gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "Cache fitxategia ongi sortu da.\n" -#: gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "Gainidatzi existitzen den cache-a, nahiz eta eguneratuta egon" -#: gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" msgstr "Ez egiaztatu index.theme dagoen edo ez" -#: gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "Ez txertatu irudiaren daturik cache-an" -#: gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "Kanporatu C goiburuko fitxategia" -#: gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "Desaktibatu hitzez hitzeko irteera" -#: gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" msgstr "Balidatu ikonoen cache-a" -#: gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "Ezin da fitxategia aurkitu: %s\n" -#: gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "Ez da baliozko ikonoen cache-a: %s\n" -#: gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "Ez dago gaiaren indize-fitxategirik.\n" -#: gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" @@ -3720,310 +2022,310 @@ msgstr "" "Ikono-cache bat sortzea nahi baduzu erabili --ignore-theme-index.\n" #. ID -#: modules/input/imam-et.c:454 +#: ../modules/input/imam-et.c:454 msgid "Amharic (EZ+)" msgstr "Amharic (EZ+)" #. ID -#: modules/input/imcedilla.c:92 +#: ../modules/input/imcedilla.c:92 msgid "Cedilla" msgstr "Ze hautsia" #. ID -#: modules/input/imcyrillic-translit.c:217 +#: ../modules/input/imcyrillic-translit.c:217 msgid "Cyrillic (Transliterated)" msgstr "Zirilikoa (Transliteratua)" #. ID -#: modules/input/iminuktitut.c:127 +#: ../modules/input/iminuktitut.c:127 msgid "Inuktitut (Transliterated)" msgstr "Inukitut (Transliteratua)" #. ID -#: modules/input/imipa.c:145 +#: ../modules/input/imipa.c:145 msgid "IPA" msgstr "IPA" #. ID -#: modules/input/immultipress.c:31 +#: ../modules/input/immultipress.c:31 msgid "Multipress" msgstr "Hainbat pultsazio" #. ID -#: modules/input/imthai.c:35 +#: ../modules/input/imthai.c:35 msgid "Thai-Lao" msgstr "Thailandiera-Laosera" #. ID -#: modules/input/imti-er.c:453 +#: ../modules/input/imti-er.c:453 msgid "Tigrigna-Eritrean (EZ+)" msgstr "Tigrigna-Eritrearra (EZ+)" #. ID -#: modules/input/imti-et.c:453 +#: ../modules/input/imti-et.c:453 msgid "Tigrigna-Ethiopian (EZ+)" msgstr "Tigrigna-Etiopiarra (EZ+)" #. ID -#: modules/input/imviqr.c:244 +#: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" msgstr "Vietnamdarra (VIQR)" #. ID -#: modules/input/imxim.c:28 +#: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "X sarrera-metodoa" -#: modules/printbackends/cups/gtkprintbackendcups.c:811 -#: modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "Erabiltzaile-izena:" -#: modules/printbackends/cups/gtkprintbackendcups.c:812 -#: modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "Pasahitza:" -#: modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "Autentifikazioa behar da fitxategia %s(e)tik lortzeko" - -#: modules/printbackends/cups/gtkprintbackendcups.c:854 -#: modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "" "Autentifikazioa behar da '%s' dokumentua '%s' inprimagailuan inprimatzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Autentifikazioa behar da dokumentu bat '%s'(e)n inprimatzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:860 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Autentifikazioa behar da '%s' lanaren atributuak lortzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "Autentifikazioa behar da lan baten atributuak lortzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:866 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Autentifikazioa behar da '%s' inprimagailuaren atributuak lortzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:868 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "Autentifikazioa behar da inprimagailu baten atributuak lortzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:871 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Autentifikazioa behar da %s(r)en inprimagailu lehenetsia lortzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:874 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Autentifikazioa behar da %s(e)tik inprimagailuak lortzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "Autentifikazioa behar da fitxategia %s(e)tik lortzeko" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "Autentifikazioa behar da %s(e)n" -#: modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "Domeinua:" -#: modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Autentifikazioa behar da '%s' dokumentua inprimatzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "" "Autentifikazioa behar da dokumentu hau '%s' inprimagailuan inprimatzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "Autentifikazioa behar da dokumentu hau inprimatzeko" -#: modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "'%s' inprimagailuak toner baxua du." -#: modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "'%s' inprimagailuak ez du tonerrik." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "'%s' inprimagailuak errebelatzaile baxua du." #. Translators: "Developer" like on photo development context -#: modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "'%s' inprimagailuak ez du errebelatzailerik." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "'%s' inprimagailuak gutxienez tinta-kartutxo bat baxua du." #. Translators: "marker" is one color bin of the printer -#: modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "'%s' inprimagailuak gutxienez tinta-kartutxo bat gabe dago." -#: modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "'%s' inprimagailuaren estalkia irekita dago." -#: modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "'%s' inprimagailuaren atea irekita dago." -#: modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "'%s' inprimagailuak paper gutxi du." -#: modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "'%s' inprimagailuak ez du paperik." -#: modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, fuzzy, c-format +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 +#, c-format msgid "Printer '%s' is currently offline." -msgstr "'%s' inprimagailua lineaz kanpo dago." +msgstr "'%s' inprimagailua unean lineaz kanpo dago." -#: modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "Arazoa dago '%s' inprimagailuarekin." #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "Pausarazita; Lanak baztertzen" #. Translators: this is a printer status. -#: modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "Lanak baztertzen" -#: modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "Bi aldetatik" -#: modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "Paper-mota" -#: modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "Paper-iturria" -#: modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "Irteerako erretilua" -#: modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "Bereizmena" -#: modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "GhostScript aurre-iragazketa" -#: modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "Alde batetik" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "Marjina luzea (estandarra)" #. Translators: this is an option of "Two Sided" -#: modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "Marjina laburra (iraulia)" #. Translators: this is an option of "Paper Source" -#: modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "Hautapen automatikoa" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "Inprimagailu lehenetsia" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "Kapsulatutako GhostScript letra-tipoak soilik" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "Bihurtu PS 1. mailara" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "Bihurtu PS 2. mailara" #. Translators: this is an option of "GhostScript" -#: modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "Aurre-iragazketarik gabe" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "Hainbat" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "Presazkoa" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "Altua" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "Tartekoa" -#: modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "Baxua" @@ -4031,66 +2333,66 @@ msgstr "Baxua" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "Orrialde orriko" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "Lanaren lehentasuna" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "Fakturaren datuak" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "Bat ere ez" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "Klasifikatuta" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "Konfidentziala" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "Ezkutukoa" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "Estandarra" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "Ezkutu gorenekoa" -#: modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "Sailkatu gabe" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "Aurretik" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "Ondoren" @@ -4098,14 +2400,14 @@ msgstr "Ondoren" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "Noiz inprimatu" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "Noiz inprimatu" @@ -4113,104 +2415,104 @@ msgstr "Noiz inprimatu" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "%sx%s pertsonalizatua" #. default filename used for print-to-file -#: modules/printbackends/file/gtkprintbackendfile.c:250 +#: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" msgstr "irteera.%s" -#: modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "Inprimatu fitxategian" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: modules/printbackends/file/gtkprintbackendfile.c:582 -#: modules/printbackends/test/gtkprintbackendtest.c:503 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 +#: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "Orrialdeak _orriko:" -#: modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "Fitxategia" -#: modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "_Irteerako formatua" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:395 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 msgid "Print to LPR" msgstr "Inprimatu LPRen" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:421 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 msgid "Pages Per Sheet" msgstr "Orrialde orriko" -#: modules/printbackends/lpr/gtkprintbackendlpr.c:428 +#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 msgid "Command Line" msgstr "Komando-lerroa" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:811 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 msgid "printer offline" msgstr "inprimagailua lineaz kanpo" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:829 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 msgid "ready to print" msgstr "inprimatzeko prest" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:832 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" msgstr "lana prozesatzen" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:836 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" msgstr "pausarazita" #. SUN_BRANDING -#: modules/printbackends/papi/gtkprintbackendpapi.c:839 +#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 msgid "unknown" msgstr "ezezaguna" #. default filename used for print-to-test -#: modules/printbackends/test/gtkprintbackendtest.c:234 +#: ../modules/printbackends/test/gtkprintbackendtest.c:234 #, c-format msgid "test-output.%s" msgstr "irteerako-proba.%s" -#: modules/printbackends/test/gtkprintbackendtest.c:467 +#: ../modules/printbackends/test/gtkprintbackendtest.c:467 msgid "Print to Test Printer" msgstr "Inprimatu probako inprimagailuan" -#: tests/testfilechooser.c:207 +#: ../tests/testfilechooser.c:207 #, c-format msgid "Could not get information for file '%s': %s" msgstr "Ezin izan da %s fitxategirako informaziorik lortu: %s" -#: tests/testfilechooser.c:222 +#: ../tests/testfilechooser.c:222 #, c-format msgid "Failed to open file '%s': %s" msgstr "Ezin izan da '%s' fitxategia ireki: %s" -#: tests/testfilechooser.c:267 +#: ../tests/testfilechooser.c:267 #, c-format msgid "" "Failed to load image '%s': reason not known, probably a corrupt image file" @@ -4218,6 +2520,1319 @@ msgstr "" "Ezin izan da '%s' irudia kargatu: arrazoia ez dakigu, beharbada hondatutako " "irudi-fitxategia izango da" +#~ msgid "X screen to use" +#~ msgstr "Erabili beharreko X pantaila" + +#~ msgid "SCREEN" +#~ msgstr "PANTAILA" + +#~ msgctxt "keyboard label" +#~ msgid "BackSpace" +#~ msgstr "Atzera-tekla" + +#~ msgctxt "keyboard label" +#~ msgid "Tab" +#~ msgstr "Tabulazioa" + +#~ msgctxt "keyboard label" +#~ msgid "Return" +#~ msgstr "Itzuli" + +#~ msgctxt "keyboard label" +#~ msgid "Pause" +#~ msgstr "Pausatu" + +#~ msgctxt "keyboard label" +#~ msgid "Scroll_Lock" +#~ msgstr "Blok. _Korr." + +#~ msgctxt "keyboard label" +#~ msgid "Sys_Req" +#~ msgstr "Sist. _Esk." + +#~ msgctxt "keyboard label" +#~ msgid "Escape" +#~ msgstr "Ihes" + +#~ msgctxt "keyboard label" +#~ msgid "Multi_key" +#~ msgstr "Hainbat _tekla" + +#~ msgctxt "keyboard label" +#~ msgid "Left" +#~ msgstr "Ezkerrera" + +#~ msgctxt "keyboard label" +#~ msgid "Up" +#~ msgstr "Gora" + +#~ msgctxt "keyboard label" +#~ msgid "Right" +#~ msgstr "Eskuinera" + +#~ msgctxt "keyboard label" +#~ msgid "Down" +#~ msgstr "Behera" + +#~ msgctxt "keyboard label" +#~ msgid "Page_Up" +#~ msgstr "Orri-_gora" + +#~ msgctxt "keyboard label" +#~ msgid "Page_Down" +#~ msgstr "Orri-_behera" + +#~ msgctxt "keyboard label" +#~ msgid "End" +#~ msgstr "Amaiera" + +#~ msgctxt "keyboard label" +#~ msgid "Begin" +#~ msgstr "Hasiera" + +#~ msgctxt "keyboard label" +#~ msgid "Print" +#~ msgstr "Inprimatu" + +#~ msgctxt "keyboard label" +#~ msgid "Insert" +#~ msgstr "Txertatu" + +#~ msgctxt "keyboard label" +#~ msgid "Num_Lock" +#~ msgstr "_Blok. zenb." + +#~ msgctxt "keyboard label" +#~ msgid "KP_Space" +#~ msgstr "TNum. _Zuriunea" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Tab" +#~ msgstr "TNum. _Tabulazioa" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Enter" +#~ msgstr "TNum. _Sartu" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Home" +#~ msgstr "TNum. _Hasiera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Left" +#~ msgstr "TNum. E_zkerrera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Up" +#~ msgstr "TNum. _Gora" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Right" +#~ msgstr "TNum. E_skuinera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Down" +#~ msgstr "TNum. _Behera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Page_Up" +#~ msgstr "TNum. Orri-_gora" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Prior" +#~ msgstr "TNum. _Aurrekoa" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Page_Down" +#~ msgstr "TNum. Orri-_behera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Next" +#~ msgstr "TNum. H_urrengoa" + +#~ msgctxt "keyboard label" +#~ msgid "KP_End" +#~ msgstr "TNum. _Amaiera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Begin" +#~ msgstr "TNum. _Hasiera" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Insert" +#~ msgstr "TNum. _Txertatu" + +#~ msgctxt "keyboard label" +#~ msgid "KP_Delete" +#~ msgstr "TNum. _Ezabatu" + +#~ msgctxt "keyboard label" +#~ msgid "Delete" +#~ msgstr "Ezabatu" + +#~ msgid "Opening %d Item" +#~ msgid_plural "Opening %d Items" +#~ msgstr[0] "Elementu %d irekitzen" +#~ msgstr[1] "%d elementu irekitzen" + +#~ msgid "Make X calls synchronous" +#~ msgstr "Bihurtu X dei sinkroniko" + +#~ msgid "Credits" +#~ msgstr "Kredituak" + +#~ msgid "Written by" +#~ msgstr "Garapena" + +#~ msgctxt "keyboard label" +#~ msgid "Shift" +#~ msgstr "Maius" + +#~ msgctxt "keyboard label" +#~ msgid "Ctrl" +#~ msgstr "Ktrl" + +#~ msgctxt "keyboard label" +#~ msgid "Alt" +#~ msgstr "Alt" + +#~ msgctxt "keyboard label" +#~ msgid "Super" +#~ msgstr "Super" + +#~ msgctxt "keyboard label" +#~ msgid "Hyper" +#~ msgstr "Hiper" + +#~ msgctxt "keyboard label" +#~ msgid "Meta" +#~ msgstr "Meta" + +#~ msgctxt "keyboard label" +#~ msgid "Space" +#~ msgstr "Zuriunea" + +#~ msgctxt "keyboard label" +#~ msgid "Backslash" +#~ msgstr "Alderantzizko barra" + +#~ msgctxt "year measurement template" +#~ msgid "2000" +#~ msgstr "2000" + +#~ msgctxt "calendar:day:digits" +#~ msgid "%d" +#~ msgstr "%d" + +#~ msgctxt "calendar:week:digits" +#~ msgid "%d" +#~ msgstr "%d" + +#~ msgctxt "calendar year format" +#~ msgid "%Y" +#~ msgstr "%Y" + +#~ msgctxt "Accelerator" +#~ msgid "Disabled" +#~ msgstr "Desgaituta" + +#~ msgctxt "Accelerator" +#~ msgid "Invalid" +#~ msgstr "Baliogabea" + +#~ msgctxt "progress bar label" +#~ msgid "%d %%" +#~ msgstr "%% %d" + +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "Errorea '%s' karpeta sortzean: %s" + +#~ msgctxt "input method menu" +#~ msgid "System" +#~ msgstr "Sistema" + +#~ msgctxt "input method menu" +#~ msgid "None" +#~ msgstr "Bat ere ez" + +#~ msgctxt "input method menu" +#~ msgid "System (%s)" +#~ msgstr "Sistema (%s)" + +#~ msgctxt "print operation status" +#~ msgid "Initial state" +#~ msgstr "Hasierako egoera" + +#~ msgctxt "print operation status" +#~ msgid "Preparing to print" +#~ msgstr "inprimatzeko prestatzen" + +#~ msgctxt "print operation status" +#~ msgid "Generating data" +#~ msgstr "Datuak sortzen" + +#~ msgctxt "print operation status" +#~ msgid "Sending data" +#~ msgstr "Datuak bidaltzen" + +#~ msgctxt "print operation status" +#~ msgid "Waiting" +#~ msgstr "Zain" + +#~ msgctxt "print operation status" +#~ msgid "Blocking on issue" +#~ msgstr "Jaulkipenean blokeatuta" + +#~ msgctxt "print operation status" +#~ msgid "Printing" +#~ msgstr "Inprimatzen" + +#~ msgctxt "print operation status" +#~ msgid "Finished" +#~ msgstr "Amaituta" + +#~ msgctxt "print operation status" +#~ msgid "Finished with error" +#~ msgstr "Errorearekin amaituta" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "Ezin izan da include fitxategi hau aurkitu: \"%s\" " + +#~ msgctxt "recent menu label" +#~ msgid "_%d. %s" +#~ msgstr "_%d. %s" + +#~ msgctxt "recent menu label" +#~ msgid "%d. %s" +#~ msgstr "%d. %s" + +#~ msgctxt "throbbing progress animation widget" +#~ msgid "Spinner" +#~ msgstr "Birakaria" + +#~ msgctxt "Stock label" +#~ msgid "Information" +#~ msgstr "Informazioa" + +#~ msgctxt "Stock label" +#~ msgid "Warning" +#~ msgstr "Abisua" + +#~ msgctxt "Stock label" +#~ msgid "Error" +#~ msgstr "Errorea" + +#~ msgctxt "Stock label" +#~ msgid "Question" +#~ msgstr "Galdera" + +#~ msgctxt "Stock label" +#~ msgid "_About" +#~ msgstr "Honi _buruz" + +#~ msgctxt "Stock label" +#~ msgid "_Add" +#~ msgstr "_Gehitu" + +#~ msgctxt "Stock label" +#~ msgid "_Apply" +#~ msgstr "_Aplikatu" + +#~ msgctxt "Stock label" +#~ msgid "_Bold" +#~ msgstr "_Lodia" + +#~ msgctxt "Stock label" +#~ msgid "_Cancel" +#~ msgstr "_Utzi" + +#~ msgctxt "Stock label" +#~ msgid "_Clear" +#~ msgstr "_Garbitu" + +#~ msgctxt "Stock label" +#~ msgid "_Close" +#~ msgstr "It_xi" + +#~ msgctxt "Stock label" +#~ msgid "C_onnect" +#~ msgstr "_Konektatu" + +#~ msgctxt "Stock label" +#~ msgid "_Convert" +#~ msgstr "_Bihurtu" + +#~ msgctxt "Stock label" +#~ msgid "_Copy" +#~ msgstr "_Kopiatu" + +#~ msgctxt "Stock label" +#~ msgid "Cu_t" +#~ msgstr "_Ebaki" + +#~ msgctxt "Stock label" +#~ msgid "_Delete" +#~ msgstr "_Ezabatu" + +#~ msgctxt "Stock label" +#~ msgid "_Discard" +#~ msgstr "_Baztertu" + +#~ msgctxt "Stock label" +#~ msgid "_Disconnect" +#~ msgstr "_Deskonektatu" + +#~ msgctxt "Stock label" +#~ msgid "_Execute" +#~ msgstr "_Exekutatu" + +#~ msgctxt "Stock label" +#~ msgid "_Edit" +#~ msgstr "_Editatu" + +#~ msgctxt "Stock label" +#~ msgid "_Find" +#~ msgstr "_Bilatu" + +#~ msgctxt "Stock label" +#~ msgid "Find and _Replace" +#~ msgstr "Bilatu eta _ordeztu" + +#~ msgctxt "Stock label" +#~ msgid "_Floppy" +#~ msgstr "_Disketea" + +#~ msgctxt "Stock label" +#~ msgid "_Fullscreen" +#~ msgstr "_Pantaila osoa" + +#~ msgctxt "Stock label" +#~ msgid "_Leave Fullscreen" +#~ msgstr "_Irten pantaila osotik" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Bottom" +#~ msgstr "_Behean" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_First" +#~ msgstr "_Aurrenekora" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Last" +#~ msgstr "_Azkenera" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Top" +#~ msgstr "_Goian" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Back" +#~ msgstr "_Atzera" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Down" +#~ msgstr "_Behera" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Forward" +#~ msgstr "A_urrera" + +#~ msgctxt "Stock label, navigation" +#~ msgid "_Up" +#~ msgstr "_Gora" + +#~ msgctxt "Stock label" +#~ msgid "_Help" +#~ msgstr "_Laguntza" + +#~ msgctxt "Stock label" +#~ msgid "_Home" +#~ msgstr "_Karpeta nagusia" + +#~ msgctxt "Stock label" +#~ msgid "Increase Indent" +#~ msgstr "Handitu koska" + +#~ msgctxt "Stock label" +#~ msgid "Decrease Indent" +#~ msgstr "Txikitu koska" + +#~ msgctxt "Stock label" +#~ msgid "_Index" +#~ msgstr "_Indizea" + +#~ msgctxt "Stock label" +#~ msgid "_Information" +#~ msgstr "_Informazioa" + +#~ msgctxt "Stock label" +#~ msgid "_Italic" +#~ msgstr "_Etzana" + +#~ msgctxt "Stock label" +#~ msgid "_Jump to" +#~ msgstr "_Jauzi hona" + +#~ msgctxt "Stock label" +#~ msgid "_Center" +#~ msgstr "_Zentratuta" + +#~ msgctxt "Stock label" +#~ msgid "_Fill" +#~ msgstr "_Bete" + +#~ msgctxt "Stock label" +#~ msgid "_Left" +#~ msgstr "E_zkerrean" + +#~ msgctxt "Stock label" +#~ msgid "_Right" +#~ msgstr "E_skuinean" + +#~ msgctxt "Stock label, media" +#~ msgid "_Forward" +#~ msgstr "A_urrera" + +#~ msgctxt "Stock label, media" +#~ msgid "_Next" +#~ msgstr "_Hurrengoa" + +#~ msgctxt "Stock label, media" +#~ msgid "P_ause" +#~ msgstr "_Pausatu" + +#~ msgctxt "Stock label, media" +#~ msgid "_Play" +#~ msgstr "_Erreproduzitu" + +#~ msgctxt "Stock label, media" +#~ msgid "Pre_vious" +#~ msgstr "_Aurrekoa" + +#~ msgctxt "Stock label, media" +#~ msgid "_Record" +#~ msgstr "_Grabatu" + +#~ msgctxt "Stock label, media" +#~ msgid "R_ewind" +#~ msgstr "_Birbobinatu" + +#~ msgctxt "Stock label, media" +#~ msgid "_Stop" +#~ msgstr "_Gelditu" + +#~ msgctxt "Stock label" +#~ msgid "_Network" +#~ msgstr "_Sarea" + +#~ msgctxt "Stock label" +#~ msgid "_New" +#~ msgstr "_Berria" + +#~ msgctxt "Stock label" +#~ msgid "_No" +#~ msgstr "_Ez" + +#~ msgctxt "Stock label" +#~ msgid "_OK" +#~ msgstr "_Ados" + +#~ msgctxt "Stock label" +#~ msgid "Landscape" +#~ msgstr "Horizontala" + +#~ msgctxt "Stock label" +#~ msgid "Portrait" +#~ msgstr "Bertikala" + +#~ msgctxt "Stock label" +#~ msgid "Reverse landscape" +#~ msgstr "Alderantzizko horizontala" + +#~ msgctxt "Stock label" +#~ msgid "Reverse portrait" +#~ msgstr "Alderantzizko bertikala" + +#~ msgctxt "Stock label" +#~ msgid "Page Set_up" +#~ msgstr "Prestatu _orrialdea" + +#~ msgctxt "Stock label" +#~ msgid "_Paste" +#~ msgstr "_Itsatsi" + +#~ msgctxt "Stock label" +#~ msgid "_Preferences" +#~ msgstr "_Hobespenak" + +#~ msgctxt "Stock label" +#~ msgid "_Print" +#~ msgstr "I_nprimatu" + +#~ msgctxt "Stock label" +#~ msgid "Print Pre_view" +#~ msgstr "Inprimatzeko _aurrebista" + +#~ msgctxt "Stock label" +#~ msgid "_Properties" +#~ msgstr "_Propietateak" + +#~ msgctxt "Stock label" +#~ msgid "_Quit" +#~ msgstr "Irte_n" + +#~ msgctxt "Stock label" +#~ msgid "_Redo" +#~ msgstr "_Berregin" + +#~ msgctxt "Stock label" +#~ msgid "_Refresh" +#~ msgstr "_Freskatu" + +#~ msgctxt "Stock label" +#~ msgid "_Remove" +#~ msgstr "_Kendu" + +#~ msgctxt "Stock label" +#~ msgid "_Revert" +#~ msgstr "_Leheneratu" + +#~ msgctxt "Stock label" +#~ msgid "_Save" +#~ msgstr "_Gorde" + +#~ msgctxt "Stock label" +#~ msgid "Save _As" +#~ msgstr "Gorde _honela" + +#~ msgctxt "Stock label" +#~ msgid "Select _All" +#~ msgstr "Hautatu _denak" + +#~ msgctxt "Stock label" +#~ msgid "_Color" +#~ msgstr "_Kolorea" + +#~ msgctxt "Stock label" +#~ msgid "_Font" +#~ msgstr "_Letra-tipoa" + +#~ msgctxt "Stock label" +#~ msgid "_Ascending" +#~ msgstr "Go_rantz" + +#~ msgctxt "Stock label" +#~ msgid "_Descending" +#~ msgstr "Be_herantz" + +#~ msgctxt "Stock label" +#~ msgid "_Spell Check" +#~ msgstr "Ortogra_fia-egiaztapena" + +#~ msgctxt "Stock label" +#~ msgid "_Stop" +#~ msgstr "_Gelditu" + +#~ msgctxt "Stock label" +#~ msgid "_Strikethrough" +#~ msgstr "_Marratua" + +#~ msgctxt "Stock label" +#~ msgid "_Undelete" +#~ msgstr "_Desezabatu" + +#~ msgctxt "Stock label" +#~ msgid "_Underline" +#~ msgstr "_Azpimarratua" + +#~ msgctxt "Stock label" +#~ msgid "_Undo" +#~ msgstr "_Desegin" + +#~ msgctxt "Stock label" +#~ msgid "_Yes" +#~ msgstr "_Bai" + +#~ msgctxt "Stock label" +#~ msgid "_Normal Size" +#~ msgstr "Tamaina _normala" + +#~ msgctxt "Stock label" +#~ msgid "Best _Fit" +#~ msgstr "_Egokiena" + +#~ msgctxt "Stock label" +#~ msgid "Zoom _In" +#~ msgstr "_Zooma handiagotu" + +#~ msgctxt "Stock label" +#~ msgid "Zoom _Out" +#~ msgstr "Zooma _txikiagotu" + +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "Ezin izan da gaiaren gailua lokalizatu module_path-en: \"%s\"," + +#~ msgctxt "volume percentage" +#~ msgid "%d %%" +#~ msgstr "%% %d" + +#~ msgctxt "paper size" +#~ msgid "asme_f" +#~ msgstr "asme_f" + +#~ msgctxt "paper size" +#~ msgid "A0x2" +#~ msgstr "A0x2" + +#~ msgctxt "paper size" +#~ msgid "A0" +#~ msgstr "A0" + +#~ msgctxt "paper size" +#~ msgid "A0x3" +#~ msgstr "A0x3" + +#~ msgctxt "paper size" +#~ msgid "A1" +#~ msgstr "A1" + +#~ msgctxt "paper size" +#~ msgid "A10" +#~ msgstr "A10" + +#~ msgctxt "paper size" +#~ msgid "A1x3" +#~ msgstr "A1x3" + +#~ msgctxt "paper size" +#~ msgid "A1x4" +#~ msgstr "A1x4" + +#~ msgctxt "paper size" +#~ msgid "A2" +#~ msgstr "A2" + +#~ msgctxt "paper size" +#~ msgid "A2x3" +#~ msgstr "A2x3" + +#~ msgctxt "paper size" +#~ msgid "A2x4" +#~ msgstr "A2x4" + +#~ msgctxt "paper size" +#~ msgid "A2x5" +#~ msgstr "A2x5" + +#~ msgctxt "paper size" +#~ msgid "A3" +#~ msgstr "A3" + +#~ msgctxt "paper size" +#~ msgid "A3 Extra" +#~ msgstr "A3 estra" + +#~ msgctxt "paper size" +#~ msgid "A3x3" +#~ msgstr "A3x3" + +#~ msgctxt "paper size" +#~ msgid "A3x4" +#~ msgstr "A3x4" + +#~ msgctxt "paper size" +#~ msgid "A3x5" +#~ msgstr "A3x5" + +#~ msgctxt "paper size" +#~ msgid "A3x6" +#~ msgstr "A3x6" + +#~ msgctxt "paper size" +#~ msgid "A3x7" +#~ msgstr "A3x7" + +#~ msgctxt "paper size" +#~ msgid "A4" +#~ msgstr "A4" + +#~ msgctxt "paper size" +#~ msgid "A4 Extra" +#~ msgstr "A4 estra" + +#~ msgctxt "paper size" +#~ msgid "A4 Tab" +#~ msgstr "A4 fitxa" + +#~ msgctxt "paper size" +#~ msgid "A4x3" +#~ msgstr "A4x3" + +#~ msgctxt "paper size" +#~ msgid "A4x4" +#~ msgstr "A4x4" + +#~ msgctxt "paper size" +#~ msgid "A4x5" +#~ msgstr "A4x5" + +#~ msgctxt "paper size" +#~ msgid "A4x6" +#~ msgstr "A4x6" + +#~ msgctxt "paper size" +#~ msgid "A4x7" +#~ msgstr "A4x7" + +#~ msgctxt "paper size" +#~ msgid "A4x8" +#~ msgstr "A4x8" + +#~ msgctxt "paper size" +#~ msgid "A4x9" +#~ msgstr "A4x9" + +#~ msgctxt "paper size" +#~ msgid "A5" +#~ msgstr "A5" + +#~ msgctxt "paper size" +#~ msgid "A5 Extra" +#~ msgstr "A5 estra" + +#~ msgctxt "paper size" +#~ msgid "A6" +#~ msgstr "A6" + +#~ msgctxt "paper size" +#~ msgid "A7" +#~ msgstr "A7" + +#~ msgctxt "paper size" +#~ msgid "A8" +#~ msgstr "A8" + +#~ msgctxt "paper size" +#~ msgid "A9" +#~ msgstr "A9" + +#~ msgctxt "paper size" +#~ msgid "B0" +#~ msgstr "B0" + +#~ msgctxt "paper size" +#~ msgid "B1" +#~ msgstr "B1" + +#~ msgctxt "paper size" +#~ msgid "B10" +#~ msgstr "B10" + +#~ msgctxt "paper size" +#~ msgid "B2" +#~ msgstr "B2" + +#~ msgctxt "paper size" +#~ msgid "B3" +#~ msgstr "B3" + +#~ msgctxt "paper size" +#~ msgid "B4" +#~ msgstr "B4" + +#~ msgctxt "paper size" +#~ msgid "B5" +#~ msgstr "B5" + +#~ msgctxt "paper size" +#~ msgid "B5 Extra" +#~ msgstr "B5 estra" + +#~ msgctxt "paper size" +#~ msgid "B6" +#~ msgstr "B6" + +#~ msgctxt "paper size" +#~ msgid "B6/C4" +#~ msgstr "B6/C4" + +#~ msgctxt "paper size" +#~ msgid "B7" +#~ msgstr "B7" + +#~ msgctxt "paper size" +#~ msgid "B8" +#~ msgstr "B8" + +#~ msgctxt "paper size" +#~ msgid "B9" +#~ msgstr "B9" + +#~ msgctxt "paper size" +#~ msgid "C0" +#~ msgstr "C0" + +#~ msgctxt "paper size" +#~ msgid "C1" +#~ msgstr "C1" + +#~ msgctxt "paper size" +#~ msgid "C10" +#~ msgstr "C10" + +#~ msgctxt "paper size" +#~ msgid "C2" +#~ msgstr "C2" + +#~ msgctxt "paper size" +#~ msgid "C3" +#~ msgstr "C3" + +#~ msgctxt "paper size" +#~ msgid "C4" +#~ msgstr "C4" + +#~ msgctxt "paper size" +#~ msgid "C5" +#~ msgstr "C5" + +#~ msgctxt "paper size" +#~ msgid "C6" +#~ msgstr "C6" + +#~ msgctxt "paper size" +#~ msgid "C6/C5" +#~ msgstr "C6/C5" + +#~ msgctxt "paper size" +#~ msgid "C7" +#~ msgstr "C7" + +#~ msgctxt "paper size" +#~ msgid "C7/C6" +#~ msgstr "C7/C6" + +#~ msgctxt "paper size" +#~ msgid "C8" +#~ msgstr "C8" + +#~ msgctxt "paper size" +#~ msgid "C9" +#~ msgstr "C9" + +#~ msgctxt "paper size" +#~ msgid "DL Envelope" +#~ msgstr "DL gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "RA0" +#~ msgstr "RA0" + +#~ msgctxt "paper size" +#~ msgid "RA1" +#~ msgstr "RA1" + +#~ msgctxt "paper size" +#~ msgid "RA2" +#~ msgstr "RA2" + +#~ msgctxt "paper size" +#~ msgid "SRA0" +#~ msgstr "SRA0" + +#~ msgctxt "paper size" +#~ msgid "SRA1" +#~ msgstr "SRA1" + +#~ msgctxt "paper size" +#~ msgid "SRA2" +#~ msgstr "SRA2" + +#~ msgctxt "paper size" +#~ msgid "JB0" +#~ msgstr "JB0" + +#~ msgctxt "paper size" +#~ msgid "JB1" +#~ msgstr "JB1" + +#~ msgctxt "paper size" +#~ msgid "JB10" +#~ msgstr "JB10" + +#~ msgctxt "paper size" +#~ msgid "JB2" +#~ msgstr "JB2" + +#~ msgctxt "paper size" +#~ msgid "JB3" +#~ msgstr "JB3" + +#~ msgctxt "paper size" +#~ msgid "JB4" +#~ msgstr "JB4" + +#~ msgctxt "paper size" +#~ msgid "JB5" +#~ msgstr "JB5" + +#~ msgctxt "paper size" +#~ msgid "JB6" +#~ msgstr "JB6" + +#~ msgctxt "paper size" +#~ msgid "JB7" +#~ msgstr "JB7" + +#~ msgctxt "paper size" +#~ msgid "JB8" +#~ msgstr "JB8" + +#~ msgctxt "paper size" +#~ msgid "JB9" +#~ msgstr "JB9" + +#~ msgctxt "paper size" +#~ msgid "jis exec" +#~ msgstr "jis exec" + +#~ msgctxt "paper size" +#~ msgid "Choukei 2 Envelope" +#~ msgstr "Choukei 2 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "Choukei 3 Envelope" +#~ msgstr "Choukei 3 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "Choukei 4 Envelope" +#~ msgstr "Choukei 4 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "hagaki (postcard)" +#~ msgstr "hagaki (posta-txartela)" + +#~ msgctxt "paper size" +#~ msgid "kahu Envelope" +#~ msgstr "Kahu gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "kaku2 Envelope" +#~ msgstr "Kaku2 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "oufuku (reply postcard)" +#~ msgstr "oufuku (erantzuteko posta-txartela)" + +#~ msgctxt "paper size" +#~ msgid "you4 Envelope" +#~ msgstr "you4 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "10x11" +#~ msgstr "10x11" + +#~ msgctxt "paper size" +#~ msgid "10x13" +#~ msgstr "10x13" + +#~ msgctxt "paper size" +#~ msgid "10x14" +#~ msgstr "10x14" + +#~ msgctxt "paper size" +#~ msgid "10x15" +#~ msgstr "10x15" + +#~ msgctxt "paper size" +#~ msgid "11x12" +#~ msgstr "11x12" + +#~ msgctxt "paper size" +#~ msgid "11x15" +#~ msgstr "11x15" + +#~ msgctxt "paper size" +#~ msgid "12x19" +#~ msgstr "12x19" + +#~ msgctxt "paper size" +#~ msgid "5x7" +#~ msgstr "5x7" + +#~ msgctxt "paper size" +#~ msgid "6x9 Envelope" +#~ msgstr "6x9 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "7x9 Envelope" +#~ msgstr "7x9 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "9x11 Envelope" +#~ msgstr "9x11 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "a2 Envelope" +#~ msgstr "a2 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "Arch A" +#~ msgstr "Arch A" + +#~ msgctxt "paper size" +#~ msgid "Arch B" +#~ msgstr "Arch B" + +#~ msgctxt "paper size" +#~ msgid "Arch C" +#~ msgstr "Arch C" + +#~ msgctxt "paper size" +#~ msgid "Arch D" +#~ msgstr "Arch D" + +#~ msgctxt "paper size" +#~ msgid "Arch E" +#~ msgstr "Arch E" + +#~ msgctxt "paper size" +#~ msgid "b-plus" +#~ msgstr "b-plus" + +#~ msgctxt "paper size" +#~ msgid "c" +#~ msgstr "c" + +#~ msgctxt "paper size" +#~ msgid "c5 Envelope" +#~ msgstr "c5 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "d" +#~ msgstr "d" + +#~ msgctxt "paper size" +#~ msgid "e" +#~ msgstr "e" + +#~ msgctxt "paper size" +#~ msgid "edp" +#~ msgstr "edp" + +#~ msgctxt "paper size" +#~ msgid "European edp" +#~ msgstr "Europako edp" + +#~ msgctxt "paper size" +#~ msgid "Executive" +#~ msgstr "Exekutiboa" + +#~ msgctxt "paper size" +#~ msgid "f" +#~ msgstr "f" + +#~ msgctxt "paper size" +#~ msgid "FanFold European" +#~ msgstr "Europako FanFold" + +#~ msgctxt "paper size" +#~ msgid "FanFold US" +#~ msgstr "AEBko FanFold" + +#~ msgctxt "paper size" +#~ msgid "FanFold German Legal" +#~ msgstr "Alemaniako FanFold legala" + +#~ msgctxt "paper size" +#~ msgid "Government Legal" +#~ msgstr "Gobernuaren legala" + +#~ msgctxt "paper size" +#~ msgid "Government Letter" +#~ msgstr "Gobernuaren gutuna" + +#~ msgctxt "paper size" +#~ msgid "Index 3x5" +#~ msgstr "Indizea 3x5" + +#~ msgctxt "paper size" +#~ msgid "Index 4x6 (postcard)" +#~ msgstr "Indizea 4x6 (posta-txartela)" + +#~ msgctxt "paper size" +#~ msgid "Index 4x6 ext" +#~ msgstr "Indizea 4x6 est." + +#~ msgctxt "paper size" +#~ msgid "Index 5x8" +#~ msgstr "Indizea 5x8" + +#~ msgctxt "paper size" +#~ msgid "Invoice" +#~ msgstr "Faktura" + +#~ msgctxt "paper size" +#~ msgid "Tabloid" +#~ msgstr "Tabloidea" + +#~ msgctxt "paper size" +#~ msgid "US Legal" +#~ msgstr "US legala" + +#~ msgctxt "paper size" +#~ msgid "US Legal Extra" +#~ msgstr "US legala estra" + +#~ msgctxt "paper size" +#~ msgid "US Letter" +#~ msgstr "US gutuna" + +#~ msgctxt "paper size" +#~ msgid "US Letter Extra" +#~ msgstr "US gutuna estra" + +#~ msgctxt "paper size" +#~ msgid "US Letter Plus" +#~ msgstr "US gutuna plus" + +#~ msgctxt "paper size" +#~ msgid "Monarch Envelope" +#~ msgstr "Monarka gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "#10 Envelope" +#~ msgstr "#10 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "#11 Envelope" +#~ msgstr "#11 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "#12 Envelope" +#~ msgstr "#12 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "#14 Envelope" +#~ msgstr "#14 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "#9 Envelope" +#~ msgstr "#9 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "Personal Envelope" +#~ msgstr "Gutun-azal pertsonala" + +#~ msgctxt "paper size" +#~ msgid "Quarto" +#~ msgstr "Laurdena" + +#~ msgctxt "paper size" +#~ msgid "Super A" +#~ msgstr "Super A" + +#~ msgctxt "paper size" +#~ msgid "Super B" +#~ msgstr "Super B" + +#~ msgctxt "paper size" +#~ msgid "Wide Format" +#~ msgstr "Formatu zabala" + +#~ msgctxt "paper size" +#~ msgid "Dai-pa-kai" +#~ msgstr "Dai-pa-kai" + +#~ msgctxt "paper size" +#~ msgid "Folio" +#~ msgstr "Folioa" + +#~ msgctxt "paper size" +#~ msgid "Folio sp" +#~ msgstr "Folioa sp" + +#~ msgctxt "paper size" +#~ msgid "Invite Envelope" +#~ msgstr "Gonbidapen gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "Italian Envelope" +#~ msgstr "Italiako gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "juuro-ku-kai" +#~ msgstr "juuro-ku-kai" + +#~ msgctxt "paper size" +#~ msgid "pa-kai" +#~ msgstr "pa-kai" + +#~ msgctxt "paper size" +#~ msgid "Postfix Envelope" +#~ msgstr "Postfix gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "Small Photo" +#~ msgstr "Argazki txikia" + +#~ msgctxt "paper size" +#~ msgid "prc1 Envelope" +#~ msgstr "prc1 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc10 Envelope" +#~ msgstr "prc10 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc 16k" +#~ msgstr "prc 16k" + +#~ msgctxt "paper size" +#~ msgid "prc2 Envelope" +#~ msgstr "prc2 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc3 Envelope" +#~ msgstr "prc3 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc 32k" +#~ msgstr "prc 32k" + +#~ msgctxt "paper size" +#~ msgid "prc4 Envelope" +#~ msgstr "prc4 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc5 Envelope" +#~ msgstr "prc5 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc6 Envelope" +#~ msgstr "prc6 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc7 Envelope" +#~ msgstr "prc7 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc8 Envelope" +#~ msgstr "prc8 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "prc9 Envelope" +#~ msgstr "prc9 gutun-azala" + +#~ msgctxt "paper size" +#~ msgid "ROC 16k" +#~ msgstr "ROC 16k" + +#~ msgctxt "paper size" +#~ msgid "ROC 8k" +#~ msgstr "ROC 8k" + #~ msgid "Gdk debugging flags to set" #~ msgstr "Ezarri beharreko Gdk arazketa-banderak" @@ -4923,9 +4538,6 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "_Karpeta-izena:" -#~ msgid "C_reate" -#~ msgstr "S_ortu" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "" From e3304fe130b17e78be095f9977aea1f1d81b5a1f Mon Sep 17 00:00:00 2001 From: Inaki Larranaga Murgoitio Date: Wed, 12 Jan 2011 23:18:55 +0100 Subject: [PATCH 1363/1463] Updated Basque language --- po/eu.po | 3998 +++++++++++++++++++++++++----------------------------- 1 file changed, 1829 insertions(+), 2169 deletions(-) diff --git a/po/eu.po b/po/eu.po index 049bd3ee7d..7e5711bc8e 100644 --- a/po/eu.po +++ b/po/eu.po @@ -1,4 +1,4 @@ -# translation of eu_to_be_translate.po to Basque +# translation of eu.po to Basque # Joseba Bidaurrazaga van Dierdonck , 1999-2000. # Hizkuntza Politikarako Sailburuordetza , 2004. # Iñaki Larrañaga Murgoitio , 2004, 2005, 2006, 2008, 2009, 2010, 2011. @@ -6,10 +6,10 @@ # Copyright (C) 1999, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. msgid "" msgstr "" -"Project-Id-Version: eu_to_be_translate\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-12 22:52+0100\n" -"PO-Revision-Date: 2011-01-12 23:08+0100\n" +"Project-Id-Version: eu\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" +"POT-Creation-Date: 2011-01-10 22:02+0000\n" +"PO-Revision-Date: 2011-01-12 23:18+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" @@ -77,6 +77,191 @@ msgstr "BANDERAK" msgid "GDK debugging flags to unset" msgstr "Ezarpenetik kendu beharreko GDK arazketa-banderak" +#: ../gdk/keyname-table.h:3940 +msgctxt "keyboard label" +msgid "BackSpace" +msgstr "Atzera-tekla" + +#: ../gdk/keyname-table.h:3941 +msgctxt "keyboard label" +msgid "Tab" +msgstr "Tabulazioa" + +#: ../gdk/keyname-table.h:3942 +msgctxt "keyboard label" +msgid "Return" +msgstr "Itzuli" + +#: ../gdk/keyname-table.h:3943 +msgctxt "keyboard label" +msgid "Pause" +msgstr "Pausatu" + +#: ../gdk/keyname-table.h:3944 +msgctxt "keyboard label" +msgid "Scroll_Lock" +msgstr "Blok. _Korr." + +#: ../gdk/keyname-table.h:3945 +msgctxt "keyboard label" +msgid "Sys_Req" +msgstr "Sist. _Esk." + +#: ../gdk/keyname-table.h:3946 +msgctxt "keyboard label" +msgid "Escape" +msgstr "Ihes" + +#: ../gdk/keyname-table.h:3947 +msgctxt "keyboard label" +msgid "Multi_key" +msgstr "Hainbat _tekla" + +#: ../gdk/keyname-table.h:3948 +msgctxt "keyboard label" +msgid "Home" +msgstr "Hasiera" + +#: ../gdk/keyname-table.h:3949 +msgctxt "keyboard label" +msgid "Left" +msgstr "Ezkerrera" + +#: ../gdk/keyname-table.h:3950 +msgctxt "keyboard label" +msgid "Up" +msgstr "Gora" + +#: ../gdk/keyname-table.h:3951 +msgctxt "keyboard label" +msgid "Right" +msgstr "Eskuinera" + +#: ../gdk/keyname-table.h:3952 +msgctxt "keyboard label" +msgid "Down" +msgstr "Behera" + +#: ../gdk/keyname-table.h:3953 +msgctxt "keyboard label" +msgid "Page_Up" +msgstr "Orri-_gora" + +#: ../gdk/keyname-table.h:3954 +msgctxt "keyboard label" +msgid "Page_Down" +msgstr "Orri-_behera" + +#: ../gdk/keyname-table.h:3955 +msgctxt "keyboard label" +msgid "End" +msgstr "Amaiera" + +#: ../gdk/keyname-table.h:3956 +msgctxt "keyboard label" +msgid "Begin" +msgstr "Hasiera" + +#: ../gdk/keyname-table.h:3957 +msgctxt "keyboard label" +msgid "Print" +msgstr "Inprimatu" + +#: ../gdk/keyname-table.h:3958 +msgctxt "keyboard label" +msgid "Insert" +msgstr "Txertatu" + +#: ../gdk/keyname-table.h:3959 +msgctxt "keyboard label" +msgid "Num_Lock" +msgstr "_Blok. zenb." + +#: ../gdk/keyname-table.h:3960 +msgctxt "keyboard label" +msgid "KP_Space" +msgstr "TNum. _Zuriunea" + +#: ../gdk/keyname-table.h:3961 +msgctxt "keyboard label" +msgid "KP_Tab" +msgstr "TNum. _Tabulazioa" + +#: ../gdk/keyname-table.h:3962 +msgctxt "keyboard label" +msgid "KP_Enter" +msgstr "TNum. _Sartu" + +#: ../gdk/keyname-table.h:3963 +msgctxt "keyboard label" +msgid "KP_Home" +msgstr "TNum. _Hasiera" + +#: ../gdk/keyname-table.h:3964 +msgctxt "keyboard label" +msgid "KP_Left" +msgstr "TNum. E_zkerrera" + +#: ../gdk/keyname-table.h:3965 +msgctxt "keyboard label" +msgid "KP_Up" +msgstr "TNum. _Gora" + +#: ../gdk/keyname-table.h:3966 +msgctxt "keyboard label" +msgid "KP_Right" +msgstr "TNum. E_skuinera" + +#: ../gdk/keyname-table.h:3967 +msgctxt "keyboard label" +msgid "KP_Down" +msgstr "TNum. _Behera" + +#: ../gdk/keyname-table.h:3968 +msgctxt "keyboard label" +msgid "KP_Page_Up" +msgstr "TNum. Orri-_gora" + +#: ../gdk/keyname-table.h:3969 +msgctxt "keyboard label" +msgid "KP_Prior" +msgstr "TNum. _Aurrekoa" + +#: ../gdk/keyname-table.h:3970 +msgctxt "keyboard label" +msgid "KP_Page_Down" +msgstr "TNum. Orri-_behera" + +#: ../gdk/keyname-table.h:3971 +msgctxt "keyboard label" +msgid "KP_Next" +msgstr "TNum. H_urrengoa" + +#: ../gdk/keyname-table.h:3972 +msgctxt "keyboard label" +msgid "KP_End" +msgstr "TNum. _Amaiera" + +#: ../gdk/keyname-table.h:3973 +msgctxt "keyboard label" +msgid "KP_Begin" +msgstr "TNum. _Hasiera" + +#: ../gdk/keyname-table.h:3974 +msgctxt "keyboard label" +msgid "KP_Insert" +msgstr "TNum. _Txertatu" + +#: ../gdk/keyname-table.h:3975 +msgctxt "keyboard label" +msgid "KP_Delete" +msgstr "TNum. _Ezabatu" + +#: ../gdk/keyname-table.h:3976 +msgctxt "keyboard label" +msgid "Delete" +msgstr "Ezabatu" + #. Description of --sync in --help output #: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" @@ -117,6 +302,13 @@ msgstr "'%s' hasieratzen" msgid "Opening %s" msgstr "'%s' irekitzen" +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#, c-format +msgid "Opening %d Item" +msgid_plural "Opening %d Items" +msgstr[0] "Elementu %d irekitzen" +msgstr[1] "%d elementu irekitzen" + #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. @@ -126,8 +318,8 @@ msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -"Programa honek ez du INOLAKO BERMERIK. Xehetasun gehiagorako, bisitatu %s" +"Programa honek ez du INOLAKO BERMERIK. Xehetasun gehiagorako, bisitatu " +"%s" #: ../gtk/gtkaboutdialog.c:346 msgid "License" @@ -152,6 +344,8 @@ msgid "Could not show link" msgstr "Ezin izan da esteka erakutsi" #: ../gtk/gtkaboutdialog.c:994 +#| msgctxt "keyboard label" +#| msgid "Home" msgid "Homepage" msgstr "Webgune nagusia" @@ -161,6 +355,7 @@ msgid "About %s" msgstr "%s buruz" #: ../gtk/gtkaboutdialog.c:2372 +#| msgid "C_reate" msgid "Created by" msgstr "Sortzaileak" @@ -176,7 +371,78 @@ msgstr "Itzulpena" msgid "Artwork by" msgstr "Marrazki lanak" +#. This is the text that should appear next to menu accelerators +#. * that use the shift key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:158 +msgctxt "keyboard label" +msgid "Shift" +msgstr "Maius" + +#. This is the text that should appear next to menu accelerators +#. * that use the control key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:164 +msgctxt "keyboard label" +msgid "Ctrl" +msgstr "Ktrl" + +#. This is the text that should appear next to menu accelerators +#. * that use the alt key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:170 +msgctxt "keyboard label" +msgid "Alt" +msgstr "Alt" + +#. This is the text that should appear next to menu accelerators +#. * that use the super key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:768 +msgctxt "keyboard label" +msgid "Super" +msgstr "Super" + +#. This is the text that should appear next to menu accelerators +#. * that use the hyper key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:781 +msgctxt "keyboard label" +msgid "Hyper" +msgstr "Hiper" + +#. This is the text that should appear next to menu accelerators +#. * that use the meta key. If the text on this key isn't typically +#. * translated on keyboards used for your language, don't translate +#. * this. +#. +#: ../gtk/gtkaccellabel.c:795 +msgctxt "keyboard label" +msgid "Meta" +msgstr "Meta" + +#: ../gtk/gtkaccellabel.c:811 +msgctxt "keyboard label" +msgid "Space" +msgstr "Zuriunea" + +#: ../gtk/gtkaccellabel.c:814 +msgctxt "keyboard label" +msgid "Backslash" +msgstr "Alderantzizko barra" + #: ../gtk/gtkappchooserbutton.c:259 +#| msgid "Application" msgid "Other application..." msgstr "Beste aplikazioa..." @@ -189,15 +455,18 @@ msgid "Find applications online" msgstr "Bilatu lineako aplikazioak" #: ../gtk/gtkappchooserdialog.c:208 +#| msgid "Could not clear list" msgid "Could not run application" msgstr "Ezin izan da aplikazioa exekutatu" #: ../gtk/gtkappchooserdialog.c:221 #, c-format +#| msgid "Could not mount %s" msgid "Could not find '%s'" -msgstr "Ezin izan da '%s' aurkitu" +msgstr "Ezin izan da '%s' aurkitu." #: ../gtk/gtkappchooserdialog.c:224 +#| msgid "Could not show link" msgid "Could not find application" msgstr "Ezin izan da aplikazioa aurkitu" @@ -228,34 +497,42 @@ msgid "" "Click \"Show other applications\", for more options, or \"Find applications " "online\" to install a new application" msgstr "" -"Egin klik \"Erakutsi beste aplikazioak\" gainean aukera gehiagorako, edo " -"\"Bilatu lineako aplikazioak\" aplikazio berri bat instalatzeko" +"Egin klik \"Erakutsi beste aplikazioak\" gainean aukera gehiagorako, " +"edo \"Bilatu lineako aplikazioak\" aplikazio berri bat instalatzeko" #: ../gtk/gtkappchooserdialog.c:428 +#| msgid "Forget password _immediately" msgid "Forget association" msgstr "Ahaztu esleipena" #: ../gtk/gtkappchooserdialog.c:493 +#| msgid "Show GTK+ Options" msgid "Show other applications" msgstr "Erakutsi beste aplikazioak" #: ../gtk/gtkappchooserdialog.c:511 +#| msgctxt "Stock label" +#| msgid "_Open" msgid "_Open" msgstr "_Ireki" #: ../gtk/gtkappchooserwidget.c:593 +#| msgid "Application" msgid "Default Application" msgstr "Aplikazio lehenetsia" -#: ../gtk/gtkappchooserwidget.c:730 +#: ../gtk/gtkappchooserwidget.c:729 +#| msgid "Application" msgid "Recommended Applications" msgstr "Gomendatutako aplikazioak" -#: ../gtk/gtkappchooserwidget.c:744 +#: ../gtk/gtkappchooserwidget.c:743 +#| msgid "Application" msgid "Related Applications" msgstr "Zerikusia duten aplikazioak" -#: ../gtk/gtkappchooserwidget.c:758 +#: ../gtk/gtkappchooserwidget.c:756 +#| msgid "Application" msgid "Other Applications" msgstr "Beste aplikazioak" @@ -267,7 +544,7 @@ msgstr "Funtzio mota baliogabea %d lerroan: '%s'" #: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "Bikoiztutako '%s' ID objektua %d lerroan (aurrez %d lerroan)" +msgstr "Bikoiztutako '%s' ID objektua %d. lerroan (aurrez %d. lerroan)" #: ../gtk/gtkbuilderparser.c:858 #, c-format @@ -301,6 +578,80 @@ msgstr "calendar:YM" msgid "calendar:week_start:0" msgstr "calendar:week_start:1" +#. Translators: This is a text measurement template. +#. * Translate it to the widest year text +#. * +#. * If you don't understand this, leave it as "2000" +#. +#: ../gtk/gtkcalendar.c:1910 +msgctxt "year measurement template" +msgid "2000" +msgstr "2000" + +#. Translators: this defines whether the day numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638 +#, c-format +msgctxt "calendar:day:digits" +msgid "%d" +msgstr "%d" + +#. Translators: this defines whether the week numbers should use +#. * localized digits or the ones used in English (0123...). +#. * +#. * Translate to "%Id" if you want to use localized digits, or +#. * translate to "%d" otherwise. +#. * +#. * Note that translating this doesn't guarantee that you get localized +#. * digits. That needs support from your system and locale definition +#. * too. +#. +#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499 +#, c-format +msgctxt "calendar:week:digits" +msgid "%d" +msgstr "%d" + +#. Translators: This dictates how the year is displayed in +#. * gtkcalendar widget. See strftime() manual for the format. +#. * Use only ASCII in the translation. +#. * +#. * Also look for the msgid "2000". +#. * Translate that entry to a year with the widest output of this +#. * msgid. +#. * +#. * "%Y" is appropriate for most locales. +#. +#: ../gtk/gtkcalendar.c:2268 +msgctxt "calendar year format" +msgid "%Y" +msgstr "%Y" + +#. This label is displayed in a treeview cell displaying +#. * a disabled accelerator key combination. +#. +#: ../gtk/gtkcellrendereraccel.c:271 +msgctxt "Accelerator" +msgid "Disabled" +msgstr "Desgaituta" + +#. This label is displayed in a treeview cell displaying +#. * an accelerator key combination that is not valid according +#. * to gtk_accelerator_valid(). +#. +#: ../gtk/gtkcellrendereraccel.c:281 +msgctxt "Accelerator" +msgid "Invalid" +msgstr "Baliogabea" + #. This label is displayed in a treeview cell displaying #. * an accelerator when the cell is clicked to change the #. * acelerator. @@ -309,6 +660,12 @@ msgstr "calendar:week_start:1" msgid "New accelerator..." msgstr "Bizkortzaile berria..." +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 +#, c-format +msgctxt "progress bar label" +msgid "%d %%" +msgstr "%% %d" + #: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "Hautatu kolorea" @@ -593,8 +950,8 @@ msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." msgstr "" -"Karpetak soilik hautatu behar dituzu. Hautatu duzun elementua ez da karpeta " -"bat. Saiatu bestelako elementu bat erabiltzen." +"Karpetak soilik hautatu behar dituzu. Hautatu duzun elementua ez da " +"karpeta bat. Saiatu bestelako elementu bat erabiltzen." #: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" @@ -789,8 +1146,7 @@ msgstr " \"%s\" izeneko fitxategia badago lehendik. Ordeztea nahi duzu?" #: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format -msgid "" -"The file already exists in \"%s\". Replacing it will overwrite its contents." +msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "\"%s\"(e)n badago fitxategia lehendik. Hau ordeztean bere eduki guztia " "gainidatziko da." @@ -964,6 +1320,22 @@ msgstr "Huts egin du ikonoa kargatzean" msgid "Simple" msgstr "Bakuna" +#: ../gtk/gtkimmulticontext.c:588 +msgctxt "input method menu" +msgid "System" +msgstr "Sistema" + +#: ../gtk/gtkimmulticontext.c:598 +msgctxt "input method menu" +msgid "None" +msgstr "Bat ere ez" + +#: ../gtk/gtkimmulticontext.c:681 +#, c-format +msgctxt "input method menu" +msgid "System (%s)" +msgstr "Sistema (%s)" + #. Open Link #: ../gtk/gtklabel.c:6250 msgid "_Open Link" @@ -1068,7 +1440,7 @@ msgstr "_Gogoratu beti" #: ../gtk/gtkmountoperation.c:883 #, c-format msgid "Unknown Application (PID %d)" -msgstr "Aplikazio ezezaguna (%d PIDa)" +msgstr "Aplikazio ezezaguna (PIDa: %d)" #: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" @@ -1081,7 +1453,7 @@ msgstr "_Amaitu prozesua" #: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "Ezin da %d PIDdun prozesua hil. Eragiketa ez dago inplementatuta." +msgstr "Ezin da %d PID prozesua hil. Eragiketa ez dago inplementatuta." #. translators: this string is a name for the 'less' command #: ../gtk/gtkmountoperation-x11.c:862 @@ -1107,7 +1479,7 @@ msgstr "Z Shell" #: ../gtk/gtkmountoperation-x11.c:963 #, c-format msgid "Cannot end process with PID %d: %s" -msgstr "Ezin da %d PIDdun prozesua amaitu: %s" +msgstr "Ezin da %d PID prozesua amaitu: %s" #: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format @@ -1199,6 +1571,51 @@ msgstr "Gorde _karpetan:" msgid "%s job #%d" msgstr "%s ataza (%d)" +#: ../gtk/gtkprintoperation.c:1698 +msgctxt "print operation status" +msgid "Initial state" +msgstr "Hasierako egoera" + +#: ../gtk/gtkprintoperation.c:1699 +msgctxt "print operation status" +msgid "Preparing to print" +msgstr "inprimatzeko prestatzen" + +#: ../gtk/gtkprintoperation.c:1700 +msgctxt "print operation status" +msgid "Generating data" +msgstr "Datuak sortzen" + +#: ../gtk/gtkprintoperation.c:1701 +msgctxt "print operation status" +msgid "Sending data" +msgstr "Datuak bidaltzen" + +#: ../gtk/gtkprintoperation.c:1702 +msgctxt "print operation status" +msgid "Waiting" +msgstr "Zain" + +#: ../gtk/gtkprintoperation.c:1703 +msgctxt "print operation status" +msgid "Blocking on issue" +msgstr "Jaulkipenean blokeatuta" + +#: ../gtk/gtkprintoperation.c:1704 +msgctxt "print operation status" +msgid "Printing" +msgstr "Inprimatzen" + +#: ../gtk/gtkprintoperation.c:1705 +msgctxt "print operation status" +msgid "Finished" +msgstr "Amaituta" + +#: ../gtk/gtkprintoperation.c:1706 +msgctxt "print operation status" +msgid "Finished with error" +msgstr "Errorearekin amaituta" + #: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" @@ -1683,6 +2100,26 @@ msgstr "Ireki '%s'" msgid "Unknown item" msgstr "Elementu ezezaguna" +#. This is the label format that is used for the first 10 items +#. * in a recent files menu. The %d is the number of the item, +#. * the %s is the name of the item. Please keep the _ in front +#. * of the number to give these menu items a mnemonic. +#. +#: ../gtk/gtkrecentchoosermenu.c:836 +#, c-format +msgctxt "recent menu label" +msgid "_%d. %s" +msgstr "_%d. %s" + +#. This is the format that is used for items in a recent files menu. +#. * The %d is the number of the item, the %s is the name of the item. +#. +#: ../gtk/gtkrecentchoosermenu.c:841 +#, c-format +msgctxt "recent menu label" +msgid "%d. %s" +msgstr "%d. %s" + #: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 #: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 #: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 @@ -1695,13 +2132,545 @@ msgstr "Ezin izan da '%s' URIa duen elementua aurkitu" #, c-format msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "" -"Ez da '%s' izenarekin erregistratutako aplikaziorik aurkitu '%s' URIa duen " -"elementuarentzako" +"Ez da '%s' izenarekin erregistratutako aplikaziorik aurkitu " +"'%s' URIa duen elementuarentzako" + +#: ../gtk/gtkspinner.c:289 +msgctxt "throbbing progress animation widget" +msgid "Spinner" +msgstr "Birakaria" #: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Aurrerapenaren adierazle bisuala eskaintzen du" +#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate +#: ../gtk/gtkstock.c:313 +msgctxt "Stock label" +msgid "Information" +msgstr "Informazioa" + +#: ../gtk/gtkstock.c:314 +msgctxt "Stock label" +msgid "Warning" +msgstr "Abisua" + +#: ../gtk/gtkstock.c:315 +msgctxt "Stock label" +msgid "Error" +msgstr "Errorea" + +#: ../gtk/gtkstock.c:316 +msgctxt "Stock label" +msgid "Question" +msgstr "Galdera" + +#. FIXME these need accelerators when appropriate, and +#. * need the mnemonics to be rationalized +#. +#: ../gtk/gtkstock.c:321 +msgctxt "Stock label" +msgid "_About" +msgstr "Honi _buruz" + +#: ../gtk/gtkstock.c:322 +msgctxt "Stock label" +msgid "_Add" +msgstr "_Gehitu" + +#: ../gtk/gtkstock.c:323 +msgctxt "Stock label" +msgid "_Apply" +msgstr "_Aplikatu" + +#: ../gtk/gtkstock.c:324 +msgctxt "Stock label" +msgid "_Bold" +msgstr "_Lodia" + +#: ../gtk/gtkstock.c:325 +msgctxt "Stock label" +msgid "_Cancel" +msgstr "_Utzi" + +#: ../gtk/gtkstock.c:326 +msgctxt "Stock label" +msgid "_CD-ROM" +msgstr "CD-ROMa" + +#: ../gtk/gtkstock.c:327 +msgctxt "Stock label" +msgid "_Clear" +msgstr "_Garbitu" + +#: ../gtk/gtkstock.c:328 +msgctxt "Stock label" +msgid "_Close" +msgstr "It_xi" + +#: ../gtk/gtkstock.c:329 +msgctxt "Stock label" +msgid "C_onnect" +msgstr "_Konektatu" + +#: ../gtk/gtkstock.c:330 +msgctxt "Stock label" +msgid "_Convert" +msgstr "_Bihurtu" + +#: ../gtk/gtkstock.c:331 +msgctxt "Stock label" +msgid "_Copy" +msgstr "_Kopiatu" + +#: ../gtk/gtkstock.c:332 +msgctxt "Stock label" +msgid "Cu_t" +msgstr "_Ebaki" + +#: ../gtk/gtkstock.c:333 +msgctxt "Stock label" +msgid "_Delete" +msgstr "_Ezabatu" + +#: ../gtk/gtkstock.c:334 +msgctxt "Stock label" +msgid "_Discard" +msgstr "_Baztertu" + +#: ../gtk/gtkstock.c:335 +msgctxt "Stock label" +msgid "_Disconnect" +msgstr "_Deskonektatu" + +#: ../gtk/gtkstock.c:336 +msgctxt "Stock label" +msgid "_Execute" +msgstr "_Exekutatu" + +#: ../gtk/gtkstock.c:337 +msgctxt "Stock label" +msgid "_Edit" +msgstr "_Editatu" + +#: ../gtk/gtkstock.c:338 +msgctxt "Stock label" +msgid "_File" +msgstr "_Fitxategia" + +#: ../gtk/gtkstock.c:339 +msgctxt "Stock label" +msgid "_Find" +msgstr "_Bilatu" + +#: ../gtk/gtkstock.c:340 +msgctxt "Stock label" +msgid "Find and _Replace" +msgstr "Bilatu eta _ordeztu" + +#: ../gtk/gtkstock.c:341 +msgctxt "Stock label" +msgid "_Floppy" +msgstr "_Disketea" + +#: ../gtk/gtkstock.c:342 +msgctxt "Stock label" +msgid "_Fullscreen" +msgstr "_Pantaila osoa" + +#: ../gtk/gtkstock.c:343 +msgctxt "Stock label" +msgid "_Leave Fullscreen" +msgstr "_Irten pantaila osotik" + +#. This is a navigation label as in "go to the bottom of the page" +#: ../gtk/gtkstock.c:345 +msgctxt "Stock label, navigation" +msgid "_Bottom" +msgstr "_Behean" + +#. This is a navigation label as in "go to the first page" +#: ../gtk/gtkstock.c:347 +msgctxt "Stock label, navigation" +msgid "_First" +msgstr "_Aurrenekora" + +#. This is a navigation label as in "go to the last page" +#: ../gtk/gtkstock.c:349 +msgctxt "Stock label, navigation" +msgid "_Last" +msgstr "_Azkenera" + +#. This is a navigation label as in "go to the top of the page" +#: ../gtk/gtkstock.c:351 +msgctxt "Stock label, navigation" +msgid "_Top" +msgstr "_Goian" + +#. This is a navigation label as in "go back" +#: ../gtk/gtkstock.c:353 +msgctxt "Stock label, navigation" +msgid "_Back" +msgstr "_Atzera" + +#. This is a navigation label as in "go down" +#: ../gtk/gtkstock.c:355 +msgctxt "Stock label, navigation" +msgid "_Down" +msgstr "_Behera" + +#. This is a navigation label as in "go forward" +#: ../gtk/gtkstock.c:357 +msgctxt "Stock label, navigation" +msgid "_Forward" +msgstr "A_urrera" + +#. This is a navigation label as in "go up" +#: ../gtk/gtkstock.c:359 +msgctxt "Stock label, navigation" +msgid "_Up" +msgstr "_Gora" + +#: ../gtk/gtkstock.c:360 +msgctxt "Stock label" +msgid "_Hard Disk" +msgstr "_Disko gogorra" + +#: ../gtk/gtkstock.c:361 +msgctxt "Stock label" +msgid "_Help" +msgstr "_Laguntza" + +#: ../gtk/gtkstock.c:362 +msgctxt "Stock label" +msgid "_Home" +msgstr "_Karpeta nagusia" + +#: ../gtk/gtkstock.c:363 +msgctxt "Stock label" +msgid "Increase Indent" +msgstr "Handitu koska" + +#: ../gtk/gtkstock.c:364 +msgctxt "Stock label" +msgid "Decrease Indent" +msgstr "Txikitu koska" + +#: ../gtk/gtkstock.c:365 +msgctxt "Stock label" +msgid "_Index" +msgstr "_Indizea" + +#: ../gtk/gtkstock.c:366 +msgctxt "Stock label" +msgid "_Information" +msgstr "_Informazioa" + +#: ../gtk/gtkstock.c:367 +msgctxt "Stock label" +msgid "_Italic" +msgstr "_Etzana" + +#: ../gtk/gtkstock.c:368 +msgctxt "Stock label" +msgid "_Jump to" +msgstr "_Jauzi hona" + +#. This is about text justification, "centered text" +#: ../gtk/gtkstock.c:370 +msgctxt "Stock label" +msgid "_Center" +msgstr "_Zentratuta" + +#. This is about text justification +#: ../gtk/gtkstock.c:372 +msgctxt "Stock label" +msgid "_Fill" +msgstr "_Bete" + +#. This is about text justification, "left-justified text" +#: ../gtk/gtkstock.c:374 +msgctxt "Stock label" +msgid "_Left" +msgstr "E_zkerrean" + +#. This is about text justification, "right-justified text" +#: ../gtk/gtkstock.c:376 +msgctxt "Stock label" +msgid "_Right" +msgstr "E_skuinean" + +#. Media label, as in "fast forward" +#: ../gtk/gtkstock.c:379 +msgctxt "Stock label, media" +msgid "_Forward" +msgstr "A_urrera" + +#. Media label, as in "next song" +#: ../gtk/gtkstock.c:381 +msgctxt "Stock label, media" +msgid "_Next" +msgstr "_Hurrengoa" + +#. Media label, as in "pause music" +#: ../gtk/gtkstock.c:383 +msgctxt "Stock label, media" +msgid "P_ause" +msgstr "_Pausatu" + +#. Media label, as in "play music" +#: ../gtk/gtkstock.c:385 +msgctxt "Stock label, media" +msgid "_Play" +msgstr "_Erreproduzitu" + +#. Media label, as in "previous song" +#: ../gtk/gtkstock.c:387 +msgctxt "Stock label, media" +msgid "Pre_vious" +msgstr "_Aurrekoa" + +#. Media label +#: ../gtk/gtkstock.c:389 +msgctxt "Stock label, media" +msgid "_Record" +msgstr "_Grabatu" + +#. Media label +#: ../gtk/gtkstock.c:391 +msgctxt "Stock label, media" +msgid "R_ewind" +msgstr "_Birbobinatu" + +#. Media label +#: ../gtk/gtkstock.c:393 +msgctxt "Stock label, media" +msgid "_Stop" +msgstr "_Gelditu" + +#: ../gtk/gtkstock.c:394 +msgctxt "Stock label" +msgid "_Network" +msgstr "_Sarea" + +#: ../gtk/gtkstock.c:395 +msgctxt "Stock label" +msgid "_New" +msgstr "_Berria" + +#: ../gtk/gtkstock.c:396 +msgctxt "Stock label" +msgid "_No" +msgstr "_Ez" + +#: ../gtk/gtkstock.c:397 +msgctxt "Stock label" +msgid "_OK" +msgstr "_Ados" + +#: ../gtk/gtkstock.c:398 +msgctxt "Stock label" +msgid "_Open" +msgstr "_Ireki" + +#. Page orientation +#: ../gtk/gtkstock.c:400 +msgctxt "Stock label" +msgid "Landscape" +msgstr "Horizontala" + +#. Page orientation +#: ../gtk/gtkstock.c:402 +msgctxt "Stock label" +msgid "Portrait" +msgstr "Bertikala" + +#. Page orientation +#: ../gtk/gtkstock.c:404 +msgctxt "Stock label" +msgid "Reverse landscape" +msgstr "Alderantzizko horizontala" + +#. Page orientation +#: ../gtk/gtkstock.c:406 +msgctxt "Stock label" +msgid "Reverse portrait" +msgstr "Alderantzizko bertikala" + +#: ../gtk/gtkstock.c:407 +msgctxt "Stock label" +msgid "Page Set_up" +msgstr "Prestatu _orrialdea" + +#: ../gtk/gtkstock.c:408 +msgctxt "Stock label" +msgid "_Paste" +msgstr "_Itsatsi" + +#: ../gtk/gtkstock.c:409 +msgctxt "Stock label" +msgid "_Preferences" +msgstr "_Hobespenak" + +#: ../gtk/gtkstock.c:410 +msgctxt "Stock label" +msgid "_Print" +msgstr "I_nprimatu" + +#: ../gtk/gtkstock.c:411 +msgctxt "Stock label" +msgid "Print Pre_view" +msgstr "Inprimatzeko _aurrebista" + +#: ../gtk/gtkstock.c:412 +msgctxt "Stock label" +msgid "_Properties" +msgstr "_Propietateak" + +#: ../gtk/gtkstock.c:413 +msgctxt "Stock label" +msgid "_Quit" +msgstr "Irte_n" + +#: ../gtk/gtkstock.c:414 +msgctxt "Stock label" +msgid "_Redo" +msgstr "_Berregin" + +#: ../gtk/gtkstock.c:415 +msgctxt "Stock label" +msgid "_Refresh" +msgstr "_Freskatu" + +#: ../gtk/gtkstock.c:416 +msgctxt "Stock label" +msgid "_Remove" +msgstr "_Kendu" + +#: ../gtk/gtkstock.c:417 +msgctxt "Stock label" +msgid "_Revert" +msgstr "_Leheneratu" + +#: ../gtk/gtkstock.c:418 +msgctxt "Stock label" +msgid "_Save" +msgstr "_Gorde" + +#: ../gtk/gtkstock.c:419 +msgctxt "Stock label" +msgid "Save _As" +msgstr "Gorde _honela" + +#: ../gtk/gtkstock.c:420 +msgctxt "Stock label" +msgid "Select _All" +msgstr "Hautatu _denak" + +#: ../gtk/gtkstock.c:421 +msgctxt "Stock label" +msgid "_Color" +msgstr "_Kolorea" + +#: ../gtk/gtkstock.c:422 +msgctxt "Stock label" +msgid "_Font" +msgstr "_Letra-tipoa" + +#. Sorting direction +#: ../gtk/gtkstock.c:424 +msgctxt "Stock label" +msgid "_Ascending" +msgstr "Go_rantz" + +#. Sorting direction +#: ../gtk/gtkstock.c:426 +msgctxt "Stock label" +msgid "_Descending" +msgstr "Be_herantz" + +#: ../gtk/gtkstock.c:427 +msgctxt "Stock label" +msgid "_Spell Check" +msgstr "Ortogra_fia-egiaztapena" + +#: ../gtk/gtkstock.c:428 +msgctxt "Stock label" +msgid "_Stop" +msgstr "_Gelditu" + +#. Font variant +#: ../gtk/gtkstock.c:430 +msgctxt "Stock label" +msgid "_Strikethrough" +msgstr "_Marratua" + +#: ../gtk/gtkstock.c:431 +msgctxt "Stock label" +msgid "_Undelete" +msgstr "_Desezabatu" + +#. Font variant +#: ../gtk/gtkstock.c:433 +msgctxt "Stock label" +msgid "_Underline" +msgstr "_Azpimarratua" + +#: ../gtk/gtkstock.c:434 +msgctxt "Stock label" +msgid "_Undo" +msgstr "_Desegin" + +#: ../gtk/gtkstock.c:435 +msgctxt "Stock label" +msgid "_Yes" +msgstr "_Bai" + +#. Zoom +#: ../gtk/gtkstock.c:437 +msgctxt "Stock label" +msgid "_Normal Size" +msgstr "Tamaina _normala" + +#. Zoom +#: ../gtk/gtkstock.c:439 +msgctxt "Stock label" +msgid "Best _Fit" +msgstr "_Egokiena" + +#: ../gtk/gtkstock.c:440 +msgctxt "Stock label" +msgid "Zoom _In" +msgstr "_Zooma handiagotu" + +#: ../gtk/gtkstock.c:441 +msgctxt "Stock label" +msgid "Zoom _Out" +msgstr "Zooma _txikiagotu" + +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759❙) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +msgctxt "switch" +msgid "ON" +msgstr "❙" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +msgctxt "switch" +msgid "OFF" +msgstr "○" + +#: ../gtk/gtkswitch.c:959 +#| msgid "inch" +msgctxt "light switch widget" +msgid "Switch" +msgstr "Kommutadorea" + #: ../gtk/gtkswitch.c:960 msgid "Switches between on and off states" msgstr "Aktibatuta eta desaktibatuta egoeren artean aldatzen du" @@ -1758,8 +2727,7 @@ msgstr "Etiketa anonimoa aurkitu da eta etiketak ezin dira sortu." #: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." -msgstr "" -"\"%s\" etiketa ez da existitzen bufferrean eta etiketak ezin dira sortu." +msgstr "\"%s\" etiketa ez da existitzen bufferrean eta etiketak ezin dira sortu." #: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 #: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 @@ -1779,8 +2747,7 @@ msgstr "\"%s\" ez da baliozko atributu-izena" #: ../gtk/gtktextbufferserialize.c:1202 #, c-format -msgid "" -"\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" +msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" msgstr "Ezin izan da \"%s\" bihurtu \"%s\" atributuaren \"%s\" motara" #: ../gtk/gtktextbufferserialize.c:1211 @@ -1817,8 +2784,7 @@ msgid "Serialized data is malformed" msgstr "Serieko datuak formatu okerra du" #: ../gtk/gtktextbufferserialize.c:1871 -msgid "" -"Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" +msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" "Serieko datuak formatu okerra du. Aurreneko atala ez da " "GTKTEXTBUFFERCONTENTS-0001" @@ -1913,6 +2879,837 @@ msgstr "Mutututa" msgid "Full Volume" msgstr "Bolumen osoa" +#. Translators: this is the percentage of the current volume, +#. * as used in the tooltip, eg. "49 %". +#. * Translate the "%d" to "%Id" if you want to use localised digits, +#. * or otherwise translate the "%d" to "%d". +#. +#: ../gtk/gtkvolumebutton.c:264 +#, c-format +msgctxt "volume percentage" +msgid "%d %%" +msgstr "%% %d" + +#: ../gtk/paper_names_offsets.c:4 +msgctxt "paper size" +msgid "asme_f" +msgstr "asme_f" + +#: ../gtk/paper_names_offsets.c:5 +msgctxt "paper size" +msgid "A0x2" +msgstr "A0x2" + +#: ../gtk/paper_names_offsets.c:6 +msgctxt "paper size" +msgid "A0" +msgstr "A0" + +#: ../gtk/paper_names_offsets.c:7 +msgctxt "paper size" +msgid "A0x3" +msgstr "A0x3" + +#: ../gtk/paper_names_offsets.c:8 +msgctxt "paper size" +msgid "A1" +msgstr "A1" + +#: ../gtk/paper_names_offsets.c:9 +msgctxt "paper size" +msgid "A10" +msgstr "A10" + +#: ../gtk/paper_names_offsets.c:10 +msgctxt "paper size" +msgid "A1x3" +msgstr "A1x3" + +#: ../gtk/paper_names_offsets.c:11 +msgctxt "paper size" +msgid "A1x4" +msgstr "A1x4" + +#: ../gtk/paper_names_offsets.c:12 +msgctxt "paper size" +msgid "A2" +msgstr "A2" + +#: ../gtk/paper_names_offsets.c:13 +msgctxt "paper size" +msgid "A2x3" +msgstr "A2x3" + +#: ../gtk/paper_names_offsets.c:14 +msgctxt "paper size" +msgid "A2x4" +msgstr "A2x4" + +#: ../gtk/paper_names_offsets.c:15 +msgctxt "paper size" +msgid "A2x5" +msgstr "A2x5" + +#: ../gtk/paper_names_offsets.c:16 +msgctxt "paper size" +msgid "A3" +msgstr "A3" + +#: ../gtk/paper_names_offsets.c:17 +msgctxt "paper size" +msgid "A3 Extra" +msgstr "A3 estra" + +#: ../gtk/paper_names_offsets.c:18 +msgctxt "paper size" +msgid "A3x3" +msgstr "A3x3" + +#: ../gtk/paper_names_offsets.c:19 +msgctxt "paper size" +msgid "A3x4" +msgstr "A3x4" + +#: ../gtk/paper_names_offsets.c:20 +msgctxt "paper size" +msgid "A3x5" +msgstr "A3x5" + +#: ../gtk/paper_names_offsets.c:21 +msgctxt "paper size" +msgid "A3x6" +msgstr "A3x6" + +#: ../gtk/paper_names_offsets.c:22 +msgctxt "paper size" +msgid "A3x7" +msgstr "A3x7" + +#: ../gtk/paper_names_offsets.c:23 +msgctxt "paper size" +msgid "A4" +msgstr "A4" + +#: ../gtk/paper_names_offsets.c:24 +msgctxt "paper size" +msgid "A4 Extra" +msgstr "A4 estra" + +#: ../gtk/paper_names_offsets.c:25 +msgctxt "paper size" +msgid "A4 Tab" +msgstr "A4 fitxa" + +#: ../gtk/paper_names_offsets.c:26 +msgctxt "paper size" +msgid "A4x3" +msgstr "A4x3" + +#: ../gtk/paper_names_offsets.c:27 +msgctxt "paper size" +msgid "A4x4" +msgstr "A4x4" + +#: ../gtk/paper_names_offsets.c:28 +msgctxt "paper size" +msgid "A4x5" +msgstr "A4x5" + +#: ../gtk/paper_names_offsets.c:29 +msgctxt "paper size" +msgid "A4x6" +msgstr "A4x6" + +#: ../gtk/paper_names_offsets.c:30 +msgctxt "paper size" +msgid "A4x7" +msgstr "A4x7" + +#: ../gtk/paper_names_offsets.c:31 +msgctxt "paper size" +msgid "A4x8" +msgstr "A4x8" + +#: ../gtk/paper_names_offsets.c:32 +msgctxt "paper size" +msgid "A4x9" +msgstr "A4x9" + +#: ../gtk/paper_names_offsets.c:33 +msgctxt "paper size" +msgid "A5" +msgstr "A5" + +#: ../gtk/paper_names_offsets.c:34 +msgctxt "paper size" +msgid "A5 Extra" +msgstr "A5 estra" + +#: ../gtk/paper_names_offsets.c:35 +msgctxt "paper size" +msgid "A6" +msgstr "A6" + +#: ../gtk/paper_names_offsets.c:36 +msgctxt "paper size" +msgid "A7" +msgstr "A7" + +#: ../gtk/paper_names_offsets.c:37 +msgctxt "paper size" +msgid "A8" +msgstr "A8" + +#: ../gtk/paper_names_offsets.c:38 +msgctxt "paper size" +msgid "A9" +msgstr "A9" + +#: ../gtk/paper_names_offsets.c:39 +msgctxt "paper size" +msgid "B0" +msgstr "B0" + +#: ../gtk/paper_names_offsets.c:40 +msgctxt "paper size" +msgid "B1" +msgstr "B1" + +#: ../gtk/paper_names_offsets.c:41 +msgctxt "paper size" +msgid "B10" +msgstr "B10" + +#: ../gtk/paper_names_offsets.c:42 +msgctxt "paper size" +msgid "B2" +msgstr "B2" + +#: ../gtk/paper_names_offsets.c:43 +msgctxt "paper size" +msgid "B3" +msgstr "B3" + +#: ../gtk/paper_names_offsets.c:44 +msgctxt "paper size" +msgid "B4" +msgstr "B4" + +#: ../gtk/paper_names_offsets.c:45 +msgctxt "paper size" +msgid "B5" +msgstr "B5" + +#: ../gtk/paper_names_offsets.c:46 +msgctxt "paper size" +msgid "B5 Extra" +msgstr "B5 estra" + +#: ../gtk/paper_names_offsets.c:47 +msgctxt "paper size" +msgid "B6" +msgstr "B6" + +#: ../gtk/paper_names_offsets.c:48 +msgctxt "paper size" +msgid "B6/C4" +msgstr "B6/C4" + +#: ../gtk/paper_names_offsets.c:49 +msgctxt "paper size" +msgid "B7" +msgstr "B7" + +#: ../gtk/paper_names_offsets.c:50 +msgctxt "paper size" +msgid "B8" +msgstr "B8" + +#: ../gtk/paper_names_offsets.c:51 +msgctxt "paper size" +msgid "B9" +msgstr "B9" + +#: ../gtk/paper_names_offsets.c:52 +msgctxt "paper size" +msgid "C0" +msgstr "C0" + +#: ../gtk/paper_names_offsets.c:53 +msgctxt "paper size" +msgid "C1" +msgstr "C1" + +#: ../gtk/paper_names_offsets.c:54 +msgctxt "paper size" +msgid "C10" +msgstr "C10" + +#: ../gtk/paper_names_offsets.c:55 +msgctxt "paper size" +msgid "C2" +msgstr "C2" + +#: ../gtk/paper_names_offsets.c:56 +msgctxt "paper size" +msgid "C3" +msgstr "C3" + +#: ../gtk/paper_names_offsets.c:57 +msgctxt "paper size" +msgid "C4" +msgstr "C4" + +#: ../gtk/paper_names_offsets.c:58 +msgctxt "paper size" +msgid "C5" +msgstr "C5" + +#: ../gtk/paper_names_offsets.c:59 +msgctxt "paper size" +msgid "C6" +msgstr "C6" + +#: ../gtk/paper_names_offsets.c:60 +msgctxt "paper size" +msgid "C6/C5" +msgstr "C6/C5" + +#: ../gtk/paper_names_offsets.c:61 +msgctxt "paper size" +msgid "C7" +msgstr "C7" + +#: ../gtk/paper_names_offsets.c:62 +msgctxt "paper size" +msgid "C7/C6" +msgstr "C7/C6" + +#: ../gtk/paper_names_offsets.c:63 +msgctxt "paper size" +msgid "C8" +msgstr "C8" + +#: ../gtk/paper_names_offsets.c:64 +msgctxt "paper size" +msgid "C9" +msgstr "C9" + +#: ../gtk/paper_names_offsets.c:65 +msgctxt "paper size" +msgid "DL Envelope" +msgstr "DL gutun-azala" + +#: ../gtk/paper_names_offsets.c:66 +msgctxt "paper size" +msgid "RA0" +msgstr "RA0" + +#: ../gtk/paper_names_offsets.c:67 +msgctxt "paper size" +msgid "RA1" +msgstr "RA1" + +#: ../gtk/paper_names_offsets.c:68 +msgctxt "paper size" +msgid "RA2" +msgstr "RA2" + +#: ../gtk/paper_names_offsets.c:69 +msgctxt "paper size" +msgid "SRA0" +msgstr "SRA0" + +#: ../gtk/paper_names_offsets.c:70 +msgctxt "paper size" +msgid "SRA1" +msgstr "SRA1" + +#: ../gtk/paper_names_offsets.c:71 +msgctxt "paper size" +msgid "SRA2" +msgstr "SRA2" + +#: ../gtk/paper_names_offsets.c:72 +msgctxt "paper size" +msgid "JB0" +msgstr "JB0" + +#: ../gtk/paper_names_offsets.c:73 +msgctxt "paper size" +msgid "JB1" +msgstr "JB1" + +#: ../gtk/paper_names_offsets.c:74 +msgctxt "paper size" +msgid "JB10" +msgstr "JB10" + +#: ../gtk/paper_names_offsets.c:75 +msgctxt "paper size" +msgid "JB2" +msgstr "JB2" + +#: ../gtk/paper_names_offsets.c:76 +msgctxt "paper size" +msgid "JB3" +msgstr "JB3" + +#: ../gtk/paper_names_offsets.c:77 +msgctxt "paper size" +msgid "JB4" +msgstr "JB4" + +#: ../gtk/paper_names_offsets.c:78 +msgctxt "paper size" +msgid "JB5" +msgstr "JB5" + +#: ../gtk/paper_names_offsets.c:79 +msgctxt "paper size" +msgid "JB6" +msgstr "JB6" + +#: ../gtk/paper_names_offsets.c:80 +msgctxt "paper size" +msgid "JB7" +msgstr "JB7" + +#: ../gtk/paper_names_offsets.c:81 +msgctxt "paper size" +msgid "JB8" +msgstr "JB8" + +#: ../gtk/paper_names_offsets.c:82 +msgctxt "paper size" +msgid "JB9" +msgstr "JB9" + +#: ../gtk/paper_names_offsets.c:83 +msgctxt "paper size" +msgid "jis exec" +msgstr "jis exec" + +#: ../gtk/paper_names_offsets.c:84 +msgctxt "paper size" +msgid "Choukei 2 Envelope" +msgstr "Choukei 2 gutun-azala" + +#: ../gtk/paper_names_offsets.c:85 +msgctxt "paper size" +msgid "Choukei 3 Envelope" +msgstr "Choukei 3 gutun-azala" + +#: ../gtk/paper_names_offsets.c:86 +msgctxt "paper size" +msgid "Choukei 4 Envelope" +msgstr "Choukei 4 gutun-azala" + +#: ../gtk/paper_names_offsets.c:87 +msgctxt "paper size" +msgid "hagaki (postcard)" +msgstr "hagaki (posta-txartela)" + +#: ../gtk/paper_names_offsets.c:88 +msgctxt "paper size" +msgid "kahu Envelope" +msgstr "Kahu gutun-azala" + +#: ../gtk/paper_names_offsets.c:89 +msgctxt "paper size" +msgid "kaku2 Envelope" +msgstr "Kaku2 gutun-azala" + +#: ../gtk/paper_names_offsets.c:90 +msgctxt "paper size" +msgid "oufuku (reply postcard)" +msgstr "oufuku (erantzuteko posta-txartela)" + +#: ../gtk/paper_names_offsets.c:91 +msgctxt "paper size" +msgid "you4 Envelope" +msgstr "you4 gutun-azala" + +#: ../gtk/paper_names_offsets.c:92 +msgctxt "paper size" +msgid "10x11" +msgstr "10x11" + +#: ../gtk/paper_names_offsets.c:93 +msgctxt "paper size" +msgid "10x13" +msgstr "10x13" + +#: ../gtk/paper_names_offsets.c:94 +msgctxt "paper size" +msgid "10x14" +msgstr "10x14" + +#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 +msgctxt "paper size" +msgid "10x15" +msgstr "10x15" + +#: ../gtk/paper_names_offsets.c:97 +msgctxt "paper size" +msgid "11x12" +msgstr "11x12" + +#: ../gtk/paper_names_offsets.c:98 +msgctxt "paper size" +msgid "11x15" +msgstr "11x15" + +#: ../gtk/paper_names_offsets.c:99 +msgctxt "paper size" +msgid "12x19" +msgstr "12x19" + +#: ../gtk/paper_names_offsets.c:100 +msgctxt "paper size" +msgid "5x7" +msgstr "5x7" + +#: ../gtk/paper_names_offsets.c:101 +msgctxt "paper size" +msgid "6x9 Envelope" +msgstr "6x9 gutun-azala" + +#: ../gtk/paper_names_offsets.c:102 +msgctxt "paper size" +msgid "7x9 Envelope" +msgstr "7x9 gutun-azala" + +#: ../gtk/paper_names_offsets.c:103 +msgctxt "paper size" +msgid "9x11 Envelope" +msgstr "9x11 gutun-azala" + +#: ../gtk/paper_names_offsets.c:104 +msgctxt "paper size" +msgid "a2 Envelope" +msgstr "a2 gutun-azala" + +#: ../gtk/paper_names_offsets.c:105 +msgctxt "paper size" +msgid "Arch A" +msgstr "Arch A" + +#: ../gtk/paper_names_offsets.c:106 +msgctxt "paper size" +msgid "Arch B" +msgstr "Arch B" + +#: ../gtk/paper_names_offsets.c:107 +msgctxt "paper size" +msgid "Arch C" +msgstr "Arch C" + +#: ../gtk/paper_names_offsets.c:108 +msgctxt "paper size" +msgid "Arch D" +msgstr "Arch D" + +#: ../gtk/paper_names_offsets.c:109 +msgctxt "paper size" +msgid "Arch E" +msgstr "Arch E" + +#: ../gtk/paper_names_offsets.c:110 +msgctxt "paper size" +msgid "b-plus" +msgstr "b-plus" + +#: ../gtk/paper_names_offsets.c:111 +msgctxt "paper size" +msgid "c" +msgstr "c" + +#: ../gtk/paper_names_offsets.c:112 +msgctxt "paper size" +msgid "c5 Envelope" +msgstr "c5 gutun-azala" + +#: ../gtk/paper_names_offsets.c:113 +msgctxt "paper size" +msgid "d" +msgstr "d" + +#: ../gtk/paper_names_offsets.c:114 +msgctxt "paper size" +msgid "e" +msgstr "e" + +#: ../gtk/paper_names_offsets.c:115 +msgctxt "paper size" +msgid "edp" +msgstr "edp" + +#: ../gtk/paper_names_offsets.c:116 +msgctxt "paper size" +msgid "European edp" +msgstr "Europako edp" + +#: ../gtk/paper_names_offsets.c:117 +msgctxt "paper size" +msgid "Executive" +msgstr "Exekutiboa" + +#: ../gtk/paper_names_offsets.c:118 +msgctxt "paper size" +msgid "f" +msgstr "f" + +#: ../gtk/paper_names_offsets.c:119 +msgctxt "paper size" +msgid "FanFold European" +msgstr "Europako FanFold" + +#: ../gtk/paper_names_offsets.c:120 +msgctxt "paper size" +msgid "FanFold US" +msgstr "AEBko FanFold" + +#: ../gtk/paper_names_offsets.c:121 +msgctxt "paper size" +msgid "FanFold German Legal" +msgstr "Alemaniako FanFold legala" + +#: ../gtk/paper_names_offsets.c:122 +msgctxt "paper size" +msgid "Government Legal" +msgstr "Gobernuaren legala" + +#: ../gtk/paper_names_offsets.c:123 +msgctxt "paper size" +msgid "Government Letter" +msgstr "Gobernuaren gutuna" + +#: ../gtk/paper_names_offsets.c:124 +msgctxt "paper size" +msgid "Index 3x5" +msgstr "Indizea 3x5" + +#: ../gtk/paper_names_offsets.c:125 +msgctxt "paper size" +msgid "Index 4x6 (postcard)" +msgstr "Indizea 4x6 (posta-txartela)" + +#: ../gtk/paper_names_offsets.c:126 +msgctxt "paper size" +msgid "Index 4x6 ext" +msgstr "Indizea 4x6 est." + +#: ../gtk/paper_names_offsets.c:127 +msgctxt "paper size" +msgid "Index 5x8" +msgstr "Indizea 5x8" + +#: ../gtk/paper_names_offsets.c:128 +msgctxt "paper size" +msgid "Invoice" +msgstr "Faktura" + +#: ../gtk/paper_names_offsets.c:129 +msgctxt "paper size" +msgid "Tabloid" +msgstr "Tabloidea" + +#: ../gtk/paper_names_offsets.c:130 +msgctxt "paper size" +msgid "US Legal" +msgstr "US legala" + +#: ../gtk/paper_names_offsets.c:131 +msgctxt "paper size" +msgid "US Legal Extra" +msgstr "US legala estra" + +#: ../gtk/paper_names_offsets.c:132 +msgctxt "paper size" +msgid "US Letter" +msgstr "US gutuna" + +#: ../gtk/paper_names_offsets.c:133 +msgctxt "paper size" +msgid "US Letter Extra" +msgstr "US gutuna estra" + +#: ../gtk/paper_names_offsets.c:134 +msgctxt "paper size" +msgid "US Letter Plus" +msgstr "US gutuna plus" + +#: ../gtk/paper_names_offsets.c:135 +msgctxt "paper size" +msgid "Monarch Envelope" +msgstr "Monarka gutun-azala" + +#: ../gtk/paper_names_offsets.c:136 +msgctxt "paper size" +msgid "#10 Envelope" +msgstr "#10 gutun-azala" + +#: ../gtk/paper_names_offsets.c:137 +msgctxt "paper size" +msgid "#11 Envelope" +msgstr "#11 gutun-azala" + +#: ../gtk/paper_names_offsets.c:138 +msgctxt "paper size" +msgid "#12 Envelope" +msgstr "#12 gutun-azala" + +#: ../gtk/paper_names_offsets.c:139 +msgctxt "paper size" +msgid "#14 Envelope" +msgstr "#14 gutun-azala" + +#: ../gtk/paper_names_offsets.c:140 +msgctxt "paper size" +msgid "#9 Envelope" +msgstr "#9 gutun-azala" + +#: ../gtk/paper_names_offsets.c:141 +msgctxt "paper size" +msgid "Personal Envelope" +msgstr "Gutun-azal pertsonala" + +#: ../gtk/paper_names_offsets.c:142 +msgctxt "paper size" +msgid "Quarto" +msgstr "Laurdena" + +#: ../gtk/paper_names_offsets.c:143 +msgctxt "paper size" +msgid "Super A" +msgstr "Super A" + +#: ../gtk/paper_names_offsets.c:144 +msgctxt "paper size" +msgid "Super B" +msgstr "Super B" + +#: ../gtk/paper_names_offsets.c:145 +msgctxt "paper size" +msgid "Wide Format" +msgstr "Formatu zabala" + +#: ../gtk/paper_names_offsets.c:146 +msgctxt "paper size" +msgid "Dai-pa-kai" +msgstr "Dai-pa-kai" + +#: ../gtk/paper_names_offsets.c:147 +msgctxt "paper size" +msgid "Folio" +msgstr "Folioa" + +#: ../gtk/paper_names_offsets.c:148 +msgctxt "paper size" +msgid "Folio sp" +msgstr "Folioa sp" + +#: ../gtk/paper_names_offsets.c:149 +msgctxt "paper size" +msgid "Invite Envelope" +msgstr "Gonbidapen gutun-azala" + +#: ../gtk/paper_names_offsets.c:150 +msgctxt "paper size" +msgid "Italian Envelope" +msgstr "Italiako gutun-azala" + +#: ../gtk/paper_names_offsets.c:151 +msgctxt "paper size" +msgid "juuro-ku-kai" +msgstr "juuro-ku-kai" + +#: ../gtk/paper_names_offsets.c:152 +msgctxt "paper size" +msgid "pa-kai" +msgstr "pa-kai" + +#: ../gtk/paper_names_offsets.c:153 +msgctxt "paper size" +msgid "Postfix Envelope" +msgstr "Postfix gutun-azala" + +#: ../gtk/paper_names_offsets.c:154 +msgctxt "paper size" +msgid "Small Photo" +msgstr "Argazki txikia" + +#: ../gtk/paper_names_offsets.c:155 +msgctxt "paper size" +msgid "prc1 Envelope" +msgstr "prc1 gutun-azala" + +#: ../gtk/paper_names_offsets.c:156 +msgctxt "paper size" +msgid "prc10 Envelope" +msgstr "prc10 gutun-azala" + +#: ../gtk/paper_names_offsets.c:157 +msgctxt "paper size" +msgid "prc 16k" +msgstr "prc 16k" + +#: ../gtk/paper_names_offsets.c:158 +msgctxt "paper size" +msgid "prc2 Envelope" +msgstr "prc2 gutun-azala" + +#: ../gtk/paper_names_offsets.c:159 +msgctxt "paper size" +msgid "prc3 Envelope" +msgstr "prc3 gutun-azala" + +#: ../gtk/paper_names_offsets.c:160 +msgctxt "paper size" +msgid "prc 32k" +msgstr "prc 32k" + +#: ../gtk/paper_names_offsets.c:161 +msgctxt "paper size" +msgid "prc4 Envelope" +msgstr "prc4 gutun-azala" + +#: ../gtk/paper_names_offsets.c:162 +msgctxt "paper size" +msgid "prc5 Envelope" +msgstr "prc5 gutun-azala" + +#: ../gtk/paper_names_offsets.c:163 +msgctxt "paper size" +msgid "prc6 Envelope" +msgstr "prc6 gutun-azala" + +#: ../gtk/paper_names_offsets.c:164 +msgctxt "paper size" +msgid "prc7 Envelope" +msgstr "prc7 gutun-azala" + +#: ../gtk/paper_names_offsets.c:165 +msgctxt "paper size" +msgid "prc8 Envelope" +msgstr "prc8 gutun-azala" + +#: ../gtk/paper_names_offsets.c:166 +msgctxt "paper size" +msgid "prc9 Envelope" +msgstr "prc9 gutun-azala" + +#: ../gtk/paper_names_offsets.c:167 +msgctxt "paper size" +msgid "ROC 16k" +msgstr "ROC 16k" + +#: ../gtk/paper_names_offsets.c:168 +msgctxt "paper size" +msgid "ROC 8k" +msgstr "ROC 8k" + #: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format msgid "different idatas found for symlinked '%s' and '%s'\n" @@ -2090,8 +3887,7 @@ msgstr "Pasahitza:" #: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" -msgstr "" -"Autentifikazioa behar da '%s' dokumentua '%s' inprimagailuan inprimatzeko" +msgstr "Autentifikazioa behar da '%s' dokumentua '%s' inprimagailuan inprimatzeko" #: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format @@ -2148,8 +3944,7 @@ msgstr "Autentifikazioa behar da '%s' dokumentua inprimatzeko" #: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" -msgstr "" -"Autentifikazioa behar da dokumentu hau '%s' inprimagailuan inprimatzeko" +msgstr "Autentifikazioa behar da dokumentu hau '%s' inprimagailuan inprimatzeko" #: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" @@ -2514,2143 +4309,8 @@ msgstr "Ezin izan da '%s' fitxategia ireki: %s" #: ../tests/testfilechooser.c:267 #, c-format -msgid "" -"Failed to load image '%s': reason not known, probably a corrupt image file" +msgid "Failed to load image '%s': reason not known, probably a corrupt image file" msgstr "" "Ezin izan da '%s' irudia kargatu: arrazoia ez dakigu, beharbada hondatutako " "irudi-fitxategia izango da" -#~ msgid "X screen to use" -#~ msgstr "Erabili beharreko X pantaila" - -#~ msgid "SCREEN" -#~ msgstr "PANTAILA" - -#~ msgctxt "keyboard label" -#~ msgid "BackSpace" -#~ msgstr "Atzera-tekla" - -#~ msgctxt "keyboard label" -#~ msgid "Tab" -#~ msgstr "Tabulazioa" - -#~ msgctxt "keyboard label" -#~ msgid "Return" -#~ msgstr "Itzuli" - -#~ msgctxt "keyboard label" -#~ msgid "Pause" -#~ msgstr "Pausatu" - -#~ msgctxt "keyboard label" -#~ msgid "Scroll_Lock" -#~ msgstr "Blok. _Korr." - -#~ msgctxt "keyboard label" -#~ msgid "Sys_Req" -#~ msgstr "Sist. _Esk." - -#~ msgctxt "keyboard label" -#~ msgid "Escape" -#~ msgstr "Ihes" - -#~ msgctxt "keyboard label" -#~ msgid "Multi_key" -#~ msgstr "Hainbat _tekla" - -#~ msgctxt "keyboard label" -#~ msgid "Left" -#~ msgstr "Ezkerrera" - -#~ msgctxt "keyboard label" -#~ msgid "Up" -#~ msgstr "Gora" - -#~ msgctxt "keyboard label" -#~ msgid "Right" -#~ msgstr "Eskuinera" - -#~ msgctxt "keyboard label" -#~ msgid "Down" -#~ msgstr "Behera" - -#~ msgctxt "keyboard label" -#~ msgid "Page_Up" -#~ msgstr "Orri-_gora" - -#~ msgctxt "keyboard label" -#~ msgid "Page_Down" -#~ msgstr "Orri-_behera" - -#~ msgctxt "keyboard label" -#~ msgid "End" -#~ msgstr "Amaiera" - -#~ msgctxt "keyboard label" -#~ msgid "Begin" -#~ msgstr "Hasiera" - -#~ msgctxt "keyboard label" -#~ msgid "Print" -#~ msgstr "Inprimatu" - -#~ msgctxt "keyboard label" -#~ msgid "Insert" -#~ msgstr "Txertatu" - -#~ msgctxt "keyboard label" -#~ msgid "Num_Lock" -#~ msgstr "_Blok. zenb." - -#~ msgctxt "keyboard label" -#~ msgid "KP_Space" -#~ msgstr "TNum. _Zuriunea" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Tab" -#~ msgstr "TNum. _Tabulazioa" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Enter" -#~ msgstr "TNum. _Sartu" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Home" -#~ msgstr "TNum. _Hasiera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Left" -#~ msgstr "TNum. E_zkerrera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Up" -#~ msgstr "TNum. _Gora" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Right" -#~ msgstr "TNum. E_skuinera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Down" -#~ msgstr "TNum. _Behera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Page_Up" -#~ msgstr "TNum. Orri-_gora" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Prior" -#~ msgstr "TNum. _Aurrekoa" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Page_Down" -#~ msgstr "TNum. Orri-_behera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Next" -#~ msgstr "TNum. H_urrengoa" - -#~ msgctxt "keyboard label" -#~ msgid "KP_End" -#~ msgstr "TNum. _Amaiera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Begin" -#~ msgstr "TNum. _Hasiera" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Insert" -#~ msgstr "TNum. _Txertatu" - -#~ msgctxt "keyboard label" -#~ msgid "KP_Delete" -#~ msgstr "TNum. _Ezabatu" - -#~ msgctxt "keyboard label" -#~ msgid "Delete" -#~ msgstr "Ezabatu" - -#~ msgid "Opening %d Item" -#~ msgid_plural "Opening %d Items" -#~ msgstr[0] "Elementu %d irekitzen" -#~ msgstr[1] "%d elementu irekitzen" - -#~ msgid "Make X calls synchronous" -#~ msgstr "Bihurtu X dei sinkroniko" - -#~ msgid "Credits" -#~ msgstr "Kredituak" - -#~ msgid "Written by" -#~ msgstr "Garapena" - -#~ msgctxt "keyboard label" -#~ msgid "Shift" -#~ msgstr "Maius" - -#~ msgctxt "keyboard label" -#~ msgid "Ctrl" -#~ msgstr "Ktrl" - -#~ msgctxt "keyboard label" -#~ msgid "Alt" -#~ msgstr "Alt" - -#~ msgctxt "keyboard label" -#~ msgid "Super" -#~ msgstr "Super" - -#~ msgctxt "keyboard label" -#~ msgid "Hyper" -#~ msgstr "Hiper" - -#~ msgctxt "keyboard label" -#~ msgid "Meta" -#~ msgstr "Meta" - -#~ msgctxt "keyboard label" -#~ msgid "Space" -#~ msgstr "Zuriunea" - -#~ msgctxt "keyboard label" -#~ msgid "Backslash" -#~ msgstr "Alderantzizko barra" - -#~ msgctxt "year measurement template" -#~ msgid "2000" -#~ msgstr "2000" - -#~ msgctxt "calendar:day:digits" -#~ msgid "%d" -#~ msgstr "%d" - -#~ msgctxt "calendar:week:digits" -#~ msgid "%d" -#~ msgstr "%d" - -#~ msgctxt "calendar year format" -#~ msgid "%Y" -#~ msgstr "%Y" - -#~ msgctxt "Accelerator" -#~ msgid "Disabled" -#~ msgstr "Desgaituta" - -#~ msgctxt "Accelerator" -#~ msgid "Invalid" -#~ msgstr "Baliogabea" - -#~ msgctxt "progress bar label" -#~ msgid "%d %%" -#~ msgstr "%% %d" - -#~ msgid "Error creating folder '%s': %s" -#~ msgstr "Errorea '%s' karpeta sortzean: %s" - -#~ msgctxt "input method menu" -#~ msgid "System" -#~ msgstr "Sistema" - -#~ msgctxt "input method menu" -#~ msgid "None" -#~ msgstr "Bat ere ez" - -#~ msgctxt "input method menu" -#~ msgid "System (%s)" -#~ msgstr "Sistema (%s)" - -#~ msgctxt "print operation status" -#~ msgid "Initial state" -#~ msgstr "Hasierako egoera" - -#~ msgctxt "print operation status" -#~ msgid "Preparing to print" -#~ msgstr "inprimatzeko prestatzen" - -#~ msgctxt "print operation status" -#~ msgid "Generating data" -#~ msgstr "Datuak sortzen" - -#~ msgctxt "print operation status" -#~ msgid "Sending data" -#~ msgstr "Datuak bidaltzen" - -#~ msgctxt "print operation status" -#~ msgid "Waiting" -#~ msgstr "Zain" - -#~ msgctxt "print operation status" -#~ msgid "Blocking on issue" -#~ msgstr "Jaulkipenean blokeatuta" - -#~ msgctxt "print operation status" -#~ msgid "Printing" -#~ msgstr "Inprimatzen" - -#~ msgctxt "print operation status" -#~ msgid "Finished" -#~ msgstr "Amaituta" - -#~ msgctxt "print operation status" -#~ msgid "Finished with error" -#~ msgstr "Errorearekin amaituta" - -#~ msgid "Unable to find include file: \"%s\"" -#~ msgstr "Ezin izan da include fitxategi hau aurkitu: \"%s\" " - -#~ msgctxt "recent menu label" -#~ msgid "_%d. %s" -#~ msgstr "_%d. %s" - -#~ msgctxt "recent menu label" -#~ msgid "%d. %s" -#~ msgstr "%d. %s" - -#~ msgctxt "throbbing progress animation widget" -#~ msgid "Spinner" -#~ msgstr "Birakaria" - -#~ msgctxt "Stock label" -#~ msgid "Information" -#~ msgstr "Informazioa" - -#~ msgctxt "Stock label" -#~ msgid "Warning" -#~ msgstr "Abisua" - -#~ msgctxt "Stock label" -#~ msgid "Error" -#~ msgstr "Errorea" - -#~ msgctxt "Stock label" -#~ msgid "Question" -#~ msgstr "Galdera" - -#~ msgctxt "Stock label" -#~ msgid "_About" -#~ msgstr "Honi _buruz" - -#~ msgctxt "Stock label" -#~ msgid "_Add" -#~ msgstr "_Gehitu" - -#~ msgctxt "Stock label" -#~ msgid "_Apply" -#~ msgstr "_Aplikatu" - -#~ msgctxt "Stock label" -#~ msgid "_Bold" -#~ msgstr "_Lodia" - -#~ msgctxt "Stock label" -#~ msgid "_Cancel" -#~ msgstr "_Utzi" - -#~ msgctxt "Stock label" -#~ msgid "_Clear" -#~ msgstr "_Garbitu" - -#~ msgctxt "Stock label" -#~ msgid "_Close" -#~ msgstr "It_xi" - -#~ msgctxt "Stock label" -#~ msgid "C_onnect" -#~ msgstr "_Konektatu" - -#~ msgctxt "Stock label" -#~ msgid "_Convert" -#~ msgstr "_Bihurtu" - -#~ msgctxt "Stock label" -#~ msgid "_Copy" -#~ msgstr "_Kopiatu" - -#~ msgctxt "Stock label" -#~ msgid "Cu_t" -#~ msgstr "_Ebaki" - -#~ msgctxt "Stock label" -#~ msgid "_Delete" -#~ msgstr "_Ezabatu" - -#~ msgctxt "Stock label" -#~ msgid "_Discard" -#~ msgstr "_Baztertu" - -#~ msgctxt "Stock label" -#~ msgid "_Disconnect" -#~ msgstr "_Deskonektatu" - -#~ msgctxt "Stock label" -#~ msgid "_Execute" -#~ msgstr "_Exekutatu" - -#~ msgctxt "Stock label" -#~ msgid "_Edit" -#~ msgstr "_Editatu" - -#~ msgctxt "Stock label" -#~ msgid "_Find" -#~ msgstr "_Bilatu" - -#~ msgctxt "Stock label" -#~ msgid "Find and _Replace" -#~ msgstr "Bilatu eta _ordeztu" - -#~ msgctxt "Stock label" -#~ msgid "_Floppy" -#~ msgstr "_Disketea" - -#~ msgctxt "Stock label" -#~ msgid "_Fullscreen" -#~ msgstr "_Pantaila osoa" - -#~ msgctxt "Stock label" -#~ msgid "_Leave Fullscreen" -#~ msgstr "_Irten pantaila osotik" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Bottom" -#~ msgstr "_Behean" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_First" -#~ msgstr "_Aurrenekora" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Last" -#~ msgstr "_Azkenera" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Top" -#~ msgstr "_Goian" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Back" -#~ msgstr "_Atzera" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Down" -#~ msgstr "_Behera" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Forward" -#~ msgstr "A_urrera" - -#~ msgctxt "Stock label, navigation" -#~ msgid "_Up" -#~ msgstr "_Gora" - -#~ msgctxt "Stock label" -#~ msgid "_Help" -#~ msgstr "_Laguntza" - -#~ msgctxt "Stock label" -#~ msgid "_Home" -#~ msgstr "_Karpeta nagusia" - -#~ msgctxt "Stock label" -#~ msgid "Increase Indent" -#~ msgstr "Handitu koska" - -#~ msgctxt "Stock label" -#~ msgid "Decrease Indent" -#~ msgstr "Txikitu koska" - -#~ msgctxt "Stock label" -#~ msgid "_Index" -#~ msgstr "_Indizea" - -#~ msgctxt "Stock label" -#~ msgid "_Information" -#~ msgstr "_Informazioa" - -#~ msgctxt "Stock label" -#~ msgid "_Italic" -#~ msgstr "_Etzana" - -#~ msgctxt "Stock label" -#~ msgid "_Jump to" -#~ msgstr "_Jauzi hona" - -#~ msgctxt "Stock label" -#~ msgid "_Center" -#~ msgstr "_Zentratuta" - -#~ msgctxt "Stock label" -#~ msgid "_Fill" -#~ msgstr "_Bete" - -#~ msgctxt "Stock label" -#~ msgid "_Left" -#~ msgstr "E_zkerrean" - -#~ msgctxt "Stock label" -#~ msgid "_Right" -#~ msgstr "E_skuinean" - -#~ msgctxt "Stock label, media" -#~ msgid "_Forward" -#~ msgstr "A_urrera" - -#~ msgctxt "Stock label, media" -#~ msgid "_Next" -#~ msgstr "_Hurrengoa" - -#~ msgctxt "Stock label, media" -#~ msgid "P_ause" -#~ msgstr "_Pausatu" - -#~ msgctxt "Stock label, media" -#~ msgid "_Play" -#~ msgstr "_Erreproduzitu" - -#~ msgctxt "Stock label, media" -#~ msgid "Pre_vious" -#~ msgstr "_Aurrekoa" - -#~ msgctxt "Stock label, media" -#~ msgid "_Record" -#~ msgstr "_Grabatu" - -#~ msgctxt "Stock label, media" -#~ msgid "R_ewind" -#~ msgstr "_Birbobinatu" - -#~ msgctxt "Stock label, media" -#~ msgid "_Stop" -#~ msgstr "_Gelditu" - -#~ msgctxt "Stock label" -#~ msgid "_Network" -#~ msgstr "_Sarea" - -#~ msgctxt "Stock label" -#~ msgid "_New" -#~ msgstr "_Berria" - -#~ msgctxt "Stock label" -#~ msgid "_No" -#~ msgstr "_Ez" - -#~ msgctxt "Stock label" -#~ msgid "_OK" -#~ msgstr "_Ados" - -#~ msgctxt "Stock label" -#~ msgid "Landscape" -#~ msgstr "Horizontala" - -#~ msgctxt "Stock label" -#~ msgid "Portrait" -#~ msgstr "Bertikala" - -#~ msgctxt "Stock label" -#~ msgid "Reverse landscape" -#~ msgstr "Alderantzizko horizontala" - -#~ msgctxt "Stock label" -#~ msgid "Reverse portrait" -#~ msgstr "Alderantzizko bertikala" - -#~ msgctxt "Stock label" -#~ msgid "Page Set_up" -#~ msgstr "Prestatu _orrialdea" - -#~ msgctxt "Stock label" -#~ msgid "_Paste" -#~ msgstr "_Itsatsi" - -#~ msgctxt "Stock label" -#~ msgid "_Preferences" -#~ msgstr "_Hobespenak" - -#~ msgctxt "Stock label" -#~ msgid "_Print" -#~ msgstr "I_nprimatu" - -#~ msgctxt "Stock label" -#~ msgid "Print Pre_view" -#~ msgstr "Inprimatzeko _aurrebista" - -#~ msgctxt "Stock label" -#~ msgid "_Properties" -#~ msgstr "_Propietateak" - -#~ msgctxt "Stock label" -#~ msgid "_Quit" -#~ msgstr "Irte_n" - -#~ msgctxt "Stock label" -#~ msgid "_Redo" -#~ msgstr "_Berregin" - -#~ msgctxt "Stock label" -#~ msgid "_Refresh" -#~ msgstr "_Freskatu" - -#~ msgctxt "Stock label" -#~ msgid "_Remove" -#~ msgstr "_Kendu" - -#~ msgctxt "Stock label" -#~ msgid "_Revert" -#~ msgstr "_Leheneratu" - -#~ msgctxt "Stock label" -#~ msgid "_Save" -#~ msgstr "_Gorde" - -#~ msgctxt "Stock label" -#~ msgid "Save _As" -#~ msgstr "Gorde _honela" - -#~ msgctxt "Stock label" -#~ msgid "Select _All" -#~ msgstr "Hautatu _denak" - -#~ msgctxt "Stock label" -#~ msgid "_Color" -#~ msgstr "_Kolorea" - -#~ msgctxt "Stock label" -#~ msgid "_Font" -#~ msgstr "_Letra-tipoa" - -#~ msgctxt "Stock label" -#~ msgid "_Ascending" -#~ msgstr "Go_rantz" - -#~ msgctxt "Stock label" -#~ msgid "_Descending" -#~ msgstr "Be_herantz" - -#~ msgctxt "Stock label" -#~ msgid "_Spell Check" -#~ msgstr "Ortogra_fia-egiaztapena" - -#~ msgctxt "Stock label" -#~ msgid "_Stop" -#~ msgstr "_Gelditu" - -#~ msgctxt "Stock label" -#~ msgid "_Strikethrough" -#~ msgstr "_Marratua" - -#~ msgctxt "Stock label" -#~ msgid "_Undelete" -#~ msgstr "_Desezabatu" - -#~ msgctxt "Stock label" -#~ msgid "_Underline" -#~ msgstr "_Azpimarratua" - -#~ msgctxt "Stock label" -#~ msgid "_Undo" -#~ msgstr "_Desegin" - -#~ msgctxt "Stock label" -#~ msgid "_Yes" -#~ msgstr "_Bai" - -#~ msgctxt "Stock label" -#~ msgid "_Normal Size" -#~ msgstr "Tamaina _normala" - -#~ msgctxt "Stock label" -#~ msgid "Best _Fit" -#~ msgstr "_Egokiena" - -#~ msgctxt "Stock label" -#~ msgid "Zoom _In" -#~ msgstr "_Zooma handiagotu" - -#~ msgctxt "Stock label" -#~ msgid "Zoom _Out" -#~ msgstr "Zooma _txikiagotu" - -#~ msgid "Unable to locate theme engine in module_path: \"%s\"," -#~ msgstr "Ezin izan da gaiaren gailua lokalizatu module_path-en: \"%s\"," - -#~ msgctxt "volume percentage" -#~ msgid "%d %%" -#~ msgstr "%% %d" - -#~ msgctxt "paper size" -#~ msgid "asme_f" -#~ msgstr "asme_f" - -#~ msgctxt "paper size" -#~ msgid "A0x2" -#~ msgstr "A0x2" - -#~ msgctxt "paper size" -#~ msgid "A0" -#~ msgstr "A0" - -#~ msgctxt "paper size" -#~ msgid "A0x3" -#~ msgstr "A0x3" - -#~ msgctxt "paper size" -#~ msgid "A1" -#~ msgstr "A1" - -#~ msgctxt "paper size" -#~ msgid "A10" -#~ msgstr "A10" - -#~ msgctxt "paper size" -#~ msgid "A1x3" -#~ msgstr "A1x3" - -#~ msgctxt "paper size" -#~ msgid "A1x4" -#~ msgstr "A1x4" - -#~ msgctxt "paper size" -#~ msgid "A2" -#~ msgstr "A2" - -#~ msgctxt "paper size" -#~ msgid "A2x3" -#~ msgstr "A2x3" - -#~ msgctxt "paper size" -#~ msgid "A2x4" -#~ msgstr "A2x4" - -#~ msgctxt "paper size" -#~ msgid "A2x5" -#~ msgstr "A2x5" - -#~ msgctxt "paper size" -#~ msgid "A3" -#~ msgstr "A3" - -#~ msgctxt "paper size" -#~ msgid "A3 Extra" -#~ msgstr "A3 estra" - -#~ msgctxt "paper size" -#~ msgid "A3x3" -#~ msgstr "A3x3" - -#~ msgctxt "paper size" -#~ msgid "A3x4" -#~ msgstr "A3x4" - -#~ msgctxt "paper size" -#~ msgid "A3x5" -#~ msgstr "A3x5" - -#~ msgctxt "paper size" -#~ msgid "A3x6" -#~ msgstr "A3x6" - -#~ msgctxt "paper size" -#~ msgid "A3x7" -#~ msgstr "A3x7" - -#~ msgctxt "paper size" -#~ msgid "A4" -#~ msgstr "A4" - -#~ msgctxt "paper size" -#~ msgid "A4 Extra" -#~ msgstr "A4 estra" - -#~ msgctxt "paper size" -#~ msgid "A4 Tab" -#~ msgstr "A4 fitxa" - -#~ msgctxt "paper size" -#~ msgid "A4x3" -#~ msgstr "A4x3" - -#~ msgctxt "paper size" -#~ msgid "A4x4" -#~ msgstr "A4x4" - -#~ msgctxt "paper size" -#~ msgid "A4x5" -#~ msgstr "A4x5" - -#~ msgctxt "paper size" -#~ msgid "A4x6" -#~ msgstr "A4x6" - -#~ msgctxt "paper size" -#~ msgid "A4x7" -#~ msgstr "A4x7" - -#~ msgctxt "paper size" -#~ msgid "A4x8" -#~ msgstr "A4x8" - -#~ msgctxt "paper size" -#~ msgid "A4x9" -#~ msgstr "A4x9" - -#~ msgctxt "paper size" -#~ msgid "A5" -#~ msgstr "A5" - -#~ msgctxt "paper size" -#~ msgid "A5 Extra" -#~ msgstr "A5 estra" - -#~ msgctxt "paper size" -#~ msgid "A6" -#~ msgstr "A6" - -#~ msgctxt "paper size" -#~ msgid "A7" -#~ msgstr "A7" - -#~ msgctxt "paper size" -#~ msgid "A8" -#~ msgstr "A8" - -#~ msgctxt "paper size" -#~ msgid "A9" -#~ msgstr "A9" - -#~ msgctxt "paper size" -#~ msgid "B0" -#~ msgstr "B0" - -#~ msgctxt "paper size" -#~ msgid "B1" -#~ msgstr "B1" - -#~ msgctxt "paper size" -#~ msgid "B10" -#~ msgstr "B10" - -#~ msgctxt "paper size" -#~ msgid "B2" -#~ msgstr "B2" - -#~ msgctxt "paper size" -#~ msgid "B3" -#~ msgstr "B3" - -#~ msgctxt "paper size" -#~ msgid "B4" -#~ msgstr "B4" - -#~ msgctxt "paper size" -#~ msgid "B5" -#~ msgstr "B5" - -#~ msgctxt "paper size" -#~ msgid "B5 Extra" -#~ msgstr "B5 estra" - -#~ msgctxt "paper size" -#~ msgid "B6" -#~ msgstr "B6" - -#~ msgctxt "paper size" -#~ msgid "B6/C4" -#~ msgstr "B6/C4" - -#~ msgctxt "paper size" -#~ msgid "B7" -#~ msgstr "B7" - -#~ msgctxt "paper size" -#~ msgid "B8" -#~ msgstr "B8" - -#~ msgctxt "paper size" -#~ msgid "B9" -#~ msgstr "B9" - -#~ msgctxt "paper size" -#~ msgid "C0" -#~ msgstr "C0" - -#~ msgctxt "paper size" -#~ msgid "C1" -#~ msgstr "C1" - -#~ msgctxt "paper size" -#~ msgid "C10" -#~ msgstr "C10" - -#~ msgctxt "paper size" -#~ msgid "C2" -#~ msgstr "C2" - -#~ msgctxt "paper size" -#~ msgid "C3" -#~ msgstr "C3" - -#~ msgctxt "paper size" -#~ msgid "C4" -#~ msgstr "C4" - -#~ msgctxt "paper size" -#~ msgid "C5" -#~ msgstr "C5" - -#~ msgctxt "paper size" -#~ msgid "C6" -#~ msgstr "C6" - -#~ msgctxt "paper size" -#~ msgid "C6/C5" -#~ msgstr "C6/C5" - -#~ msgctxt "paper size" -#~ msgid "C7" -#~ msgstr "C7" - -#~ msgctxt "paper size" -#~ msgid "C7/C6" -#~ msgstr "C7/C6" - -#~ msgctxt "paper size" -#~ msgid "C8" -#~ msgstr "C8" - -#~ msgctxt "paper size" -#~ msgid "C9" -#~ msgstr "C9" - -#~ msgctxt "paper size" -#~ msgid "DL Envelope" -#~ msgstr "DL gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "RA0" -#~ msgstr "RA0" - -#~ msgctxt "paper size" -#~ msgid "RA1" -#~ msgstr "RA1" - -#~ msgctxt "paper size" -#~ msgid "RA2" -#~ msgstr "RA2" - -#~ msgctxt "paper size" -#~ msgid "SRA0" -#~ msgstr "SRA0" - -#~ msgctxt "paper size" -#~ msgid "SRA1" -#~ msgstr "SRA1" - -#~ msgctxt "paper size" -#~ msgid "SRA2" -#~ msgstr "SRA2" - -#~ msgctxt "paper size" -#~ msgid "JB0" -#~ msgstr "JB0" - -#~ msgctxt "paper size" -#~ msgid "JB1" -#~ msgstr "JB1" - -#~ msgctxt "paper size" -#~ msgid "JB10" -#~ msgstr "JB10" - -#~ msgctxt "paper size" -#~ msgid "JB2" -#~ msgstr "JB2" - -#~ msgctxt "paper size" -#~ msgid "JB3" -#~ msgstr "JB3" - -#~ msgctxt "paper size" -#~ msgid "JB4" -#~ msgstr "JB4" - -#~ msgctxt "paper size" -#~ msgid "JB5" -#~ msgstr "JB5" - -#~ msgctxt "paper size" -#~ msgid "JB6" -#~ msgstr "JB6" - -#~ msgctxt "paper size" -#~ msgid "JB7" -#~ msgstr "JB7" - -#~ msgctxt "paper size" -#~ msgid "JB8" -#~ msgstr "JB8" - -#~ msgctxt "paper size" -#~ msgid "JB9" -#~ msgstr "JB9" - -#~ msgctxt "paper size" -#~ msgid "jis exec" -#~ msgstr "jis exec" - -#~ msgctxt "paper size" -#~ msgid "Choukei 2 Envelope" -#~ msgstr "Choukei 2 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "Choukei 3 Envelope" -#~ msgstr "Choukei 3 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "Choukei 4 Envelope" -#~ msgstr "Choukei 4 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "hagaki (postcard)" -#~ msgstr "hagaki (posta-txartela)" - -#~ msgctxt "paper size" -#~ msgid "kahu Envelope" -#~ msgstr "Kahu gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "kaku2 Envelope" -#~ msgstr "Kaku2 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "oufuku (reply postcard)" -#~ msgstr "oufuku (erantzuteko posta-txartela)" - -#~ msgctxt "paper size" -#~ msgid "you4 Envelope" -#~ msgstr "you4 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "10x11" -#~ msgstr "10x11" - -#~ msgctxt "paper size" -#~ msgid "10x13" -#~ msgstr "10x13" - -#~ msgctxt "paper size" -#~ msgid "10x14" -#~ msgstr "10x14" - -#~ msgctxt "paper size" -#~ msgid "10x15" -#~ msgstr "10x15" - -#~ msgctxt "paper size" -#~ msgid "11x12" -#~ msgstr "11x12" - -#~ msgctxt "paper size" -#~ msgid "11x15" -#~ msgstr "11x15" - -#~ msgctxt "paper size" -#~ msgid "12x19" -#~ msgstr "12x19" - -#~ msgctxt "paper size" -#~ msgid "5x7" -#~ msgstr "5x7" - -#~ msgctxt "paper size" -#~ msgid "6x9 Envelope" -#~ msgstr "6x9 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "7x9 Envelope" -#~ msgstr "7x9 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "9x11 Envelope" -#~ msgstr "9x11 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "a2 Envelope" -#~ msgstr "a2 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "Arch A" -#~ msgstr "Arch A" - -#~ msgctxt "paper size" -#~ msgid "Arch B" -#~ msgstr "Arch B" - -#~ msgctxt "paper size" -#~ msgid "Arch C" -#~ msgstr "Arch C" - -#~ msgctxt "paper size" -#~ msgid "Arch D" -#~ msgstr "Arch D" - -#~ msgctxt "paper size" -#~ msgid "Arch E" -#~ msgstr "Arch E" - -#~ msgctxt "paper size" -#~ msgid "b-plus" -#~ msgstr "b-plus" - -#~ msgctxt "paper size" -#~ msgid "c" -#~ msgstr "c" - -#~ msgctxt "paper size" -#~ msgid "c5 Envelope" -#~ msgstr "c5 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "d" -#~ msgstr "d" - -#~ msgctxt "paper size" -#~ msgid "e" -#~ msgstr "e" - -#~ msgctxt "paper size" -#~ msgid "edp" -#~ msgstr "edp" - -#~ msgctxt "paper size" -#~ msgid "European edp" -#~ msgstr "Europako edp" - -#~ msgctxt "paper size" -#~ msgid "Executive" -#~ msgstr "Exekutiboa" - -#~ msgctxt "paper size" -#~ msgid "f" -#~ msgstr "f" - -#~ msgctxt "paper size" -#~ msgid "FanFold European" -#~ msgstr "Europako FanFold" - -#~ msgctxt "paper size" -#~ msgid "FanFold US" -#~ msgstr "AEBko FanFold" - -#~ msgctxt "paper size" -#~ msgid "FanFold German Legal" -#~ msgstr "Alemaniako FanFold legala" - -#~ msgctxt "paper size" -#~ msgid "Government Legal" -#~ msgstr "Gobernuaren legala" - -#~ msgctxt "paper size" -#~ msgid "Government Letter" -#~ msgstr "Gobernuaren gutuna" - -#~ msgctxt "paper size" -#~ msgid "Index 3x5" -#~ msgstr "Indizea 3x5" - -#~ msgctxt "paper size" -#~ msgid "Index 4x6 (postcard)" -#~ msgstr "Indizea 4x6 (posta-txartela)" - -#~ msgctxt "paper size" -#~ msgid "Index 4x6 ext" -#~ msgstr "Indizea 4x6 est." - -#~ msgctxt "paper size" -#~ msgid "Index 5x8" -#~ msgstr "Indizea 5x8" - -#~ msgctxt "paper size" -#~ msgid "Invoice" -#~ msgstr "Faktura" - -#~ msgctxt "paper size" -#~ msgid "Tabloid" -#~ msgstr "Tabloidea" - -#~ msgctxt "paper size" -#~ msgid "US Legal" -#~ msgstr "US legala" - -#~ msgctxt "paper size" -#~ msgid "US Legal Extra" -#~ msgstr "US legala estra" - -#~ msgctxt "paper size" -#~ msgid "US Letter" -#~ msgstr "US gutuna" - -#~ msgctxt "paper size" -#~ msgid "US Letter Extra" -#~ msgstr "US gutuna estra" - -#~ msgctxt "paper size" -#~ msgid "US Letter Plus" -#~ msgstr "US gutuna plus" - -#~ msgctxt "paper size" -#~ msgid "Monarch Envelope" -#~ msgstr "Monarka gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "#10 Envelope" -#~ msgstr "#10 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "#11 Envelope" -#~ msgstr "#11 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "#12 Envelope" -#~ msgstr "#12 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "#14 Envelope" -#~ msgstr "#14 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "#9 Envelope" -#~ msgstr "#9 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "Personal Envelope" -#~ msgstr "Gutun-azal pertsonala" - -#~ msgctxt "paper size" -#~ msgid "Quarto" -#~ msgstr "Laurdena" - -#~ msgctxt "paper size" -#~ msgid "Super A" -#~ msgstr "Super A" - -#~ msgctxt "paper size" -#~ msgid "Super B" -#~ msgstr "Super B" - -#~ msgctxt "paper size" -#~ msgid "Wide Format" -#~ msgstr "Formatu zabala" - -#~ msgctxt "paper size" -#~ msgid "Dai-pa-kai" -#~ msgstr "Dai-pa-kai" - -#~ msgctxt "paper size" -#~ msgid "Folio" -#~ msgstr "Folioa" - -#~ msgctxt "paper size" -#~ msgid "Folio sp" -#~ msgstr "Folioa sp" - -#~ msgctxt "paper size" -#~ msgid "Invite Envelope" -#~ msgstr "Gonbidapen gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "Italian Envelope" -#~ msgstr "Italiako gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "juuro-ku-kai" -#~ msgstr "juuro-ku-kai" - -#~ msgctxt "paper size" -#~ msgid "pa-kai" -#~ msgstr "pa-kai" - -#~ msgctxt "paper size" -#~ msgid "Postfix Envelope" -#~ msgstr "Postfix gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "Small Photo" -#~ msgstr "Argazki txikia" - -#~ msgctxt "paper size" -#~ msgid "prc1 Envelope" -#~ msgstr "prc1 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc10 Envelope" -#~ msgstr "prc10 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc 16k" -#~ msgstr "prc 16k" - -#~ msgctxt "paper size" -#~ msgid "prc2 Envelope" -#~ msgstr "prc2 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc3 Envelope" -#~ msgstr "prc3 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc 32k" -#~ msgstr "prc 32k" - -#~ msgctxt "paper size" -#~ msgid "prc4 Envelope" -#~ msgstr "prc4 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc5 Envelope" -#~ msgstr "prc5 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc6 Envelope" -#~ msgstr "prc6 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc7 Envelope" -#~ msgstr "prc7 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc8 Envelope" -#~ msgstr "prc8 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "prc9 Envelope" -#~ msgstr "prc9 gutun-azala" - -#~ msgctxt "paper size" -#~ msgid "ROC 16k" -#~ msgstr "ROC 16k" - -#~ msgctxt "paper size" -#~ msgid "ROC 8k" -#~ msgstr "ROC 8k" - -#~ msgid "Gdk debugging flags to set" -#~ msgstr "Ezarri beharreko Gdk arazketa-banderak" - -#~ msgid "Gdk debugging flags to unset" -#~ msgstr "Ezarpenetik kendu beharreko Gdk arazketa-banderak" - -#~ msgid "Image file '%s' contains no data" -#~ msgstr "'%s' irudi-fitxategiak ez du daturik" - -#~ msgid "" -#~ "Failed to load animation '%s': reason not known, probably a corrupt " -#~ "animation file" -#~ msgstr "" -#~ "Ezin izan da '%s' animazioa kargatu: arrazoia ez dakigu, beharbada " -#~ "hondatutako animazio-fitxategia izango da" - -#~ msgid "Unable to load image-loading module: %s: %s" -#~ msgstr "Ezin da irudiak kargatzeko modulua kargatu: %s: %s" - -#~ msgid "" -#~ "Image-loading module %s does not export the proper interface; perhaps " -#~ "it's from a different GTK version?" -#~ msgstr "" -#~ "%s irudiak kargatzeko moduluak ez du interfaze egokia esportatzen; agian " -#~ "beste GTK bertsio batekoa da?" - -#~ msgid "Image type '%s' is not supported" -#~ msgstr "'%s' motako irudia ez dira onartzen" - -#~ msgid "Couldn't recognize the image file format for file '%s'" -#~ msgstr "" -#~ "Ezin izan da ezagutu '%s' fitxategiaren irudi-fitxategiaren formatua " - -#~ msgid "Unrecognized image file format" -#~ msgstr "Irudi-fitxategiaren formatu ezezaguna" - -#~ msgid "Failed to load image '%s': %s" -#~ msgstr "Ezin izan da `%s' irudia kargatu: %s" - -#~ msgid "Error writing to image file: %s" -#~ msgstr "Errorea irudi-fitxategia idaztean: %s" - -#~ msgid "" -#~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "" -#~ "gdk-pixbuf-en bertsio honek ez du irudi-formatu hau gordetzea onartzen: %s" - -#~ msgid "Insufficient memory to save image to callback" -#~ msgstr "Ez dago irudi-fitxategia atzeradeian gordetzeko behar adina memoria" - -#~ msgid "Failed to open temporary file" -#~ msgstr "Huts egin du aldi baterako fitxategia irekitzean" - -#~ msgid "Failed to read from temporary file" -#~ msgstr "Huts egin du aldi baterako fitxategitik irakurtzean" - -#~ msgid "Failed to open '%s' for writing: %s" -#~ msgstr "Ezin izan da `%s' ireki idazteko: %s" - -#~ msgid "" -#~ "Failed to close '%s' while writing image, all data may not have been " -#~ "saved: %s" -#~ msgstr "" -#~ "Ezin izan da '%s' itxi irudia idatzi bitartean, baliteke datu guztiak ez " -#~ "gorde izana: %s" - -#~ msgid "Insufficient memory to save image into a buffer" -#~ msgstr "Ez dago irudi-fitxategia bufferrean gordetzeko behar adina memoria" - -#~ msgid "Error writing to image stream" -#~ msgstr "Errorea irudi-korrontean idaztean" - -#~ msgid "" -#~ "Internal error: Image loader module '%s' failed to complete an operation, " -#~ "but didn't give a reason for the failure" -#~ msgstr "" -#~ "Barne-errorea: '%s' irudi kargatzailearen moduluak ezin izan du eragiketa " -#~ "burutu, baina ez du hutsegitearen arrazoirik eman" - -#~ msgid "Incremental loading of image type '%s' is not supported" -#~ msgstr "'%s' motako irudien kargatze inkrementala ez da onartzen" - -#~ msgid "Image header corrupt" -#~ msgstr "Irudi-goiburua hondatuta" - -#~ msgid "Image format unknown" -#~ msgstr "Irudi-formatu ezezaguna" - -#~ msgid "Image pixel data corrupt" -#~ msgstr "Irudiko pixelen datuak hondatuta" - -#~ msgid "failed to allocate image buffer of %u byte" -#~ msgid_plural "failed to allocate image buffer of %u bytes" -#~ msgstr[0] "huts egin du irudiaren bufferra byte %u-ekin esleitzean" -#~ msgstr[1] "huts egin du irudiaren bufferra %u byte-rekin esleitzean" - -#~ msgid "Unexpected icon chunk in animation" -#~ msgstr "Ustekabeko ikono-zatia animazioan" - -#~ msgid "Unsupported animation type" -#~ msgstr "Onartzen ez den animazio-mota" - -#~ msgid "Invalid header in animation" -#~ msgstr "Goiburu baliogabea animazioan" - -#~ msgid "Not enough memory to load animation" -#~ msgstr "Ez dago animazioa kargatzeko adina memoria" - -#~ msgid "Malformed chunk in animation" -#~ msgstr "Gaizki osatutako zatia animazioan" - -#~ msgid "The ANI image format" -#~ msgstr "ANI irudi-formatua" - -#~ msgid "BMP image has bogus header data" -#~ msgstr "BMP irudiak goiburu-datu akastunak ditu" - -#~ msgid "Not enough memory to load bitmap image" -#~ msgstr "Ez dago bit-mapen irudia kargatzeko adina memoria" - -#~ msgid "BMP image has unsupported header size" -#~ msgstr "BMP irudiaren goiburu-tamaina ez da onartzen" - -#~ msgid "Topdown BMP images cannot be compressed" -#~ msgstr "BMP 'Topdown' irudiak ezin dira konprimatu" - -#~ msgid "Premature end-of-file encountered" -#~ msgstr "Fitxategiaren amaiera uste baino lehen aurkitu da" - -#~ msgid "Couldn't allocate memory for saving BMP file" -#~ msgstr "Ezin izan da BMP fitxategia gordetzeko memoria esleitu" - -#~ msgid "Couldn't write to BMP file" -#~ msgstr "Ezin izan da BMP fitxategia idatzi" - -#~ msgid "The BMP image format" -#~ msgstr "BMP irudi-formatua" - -#~ msgid "Failure reading GIF: %s" -#~ msgstr "Ezin izan da GIF irakurri: %s" - -#~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" -#~ msgstr "" -#~ "GIF fitxategian datu batzuk falta dira (agian nolabait trunkatuta zegoen?)" - -#~ msgid "Internal error in the GIF loader (%s)" -#~ msgstr "Barne-errorea GIF kargatzailean (%s)" - -#~ msgid "Stack overflow" -#~ msgstr "Pila-gainezkatzea" - -#~ msgid "GIF image loader cannot understand this image." -#~ msgstr "GIF irudi kargatzaileak ezin du irudi hau ulertu." - -#~ msgid "Bad code encountered" -#~ msgstr "Kode okerra aurkitu da" - -#~ msgid "Circular table entry in GIF file" -#~ msgstr "Taula-sarrera zirkularra GIF fitxategian" - -#~ msgid "Not enough memory to load GIF file" -#~ msgstr "Ez dago GIF fitxategia kargatzeko adina memoria" - -#~ msgid "Not enough memory to composite a frame in GIF file" -#~ msgstr "Ez dago GIF fitxategian markoa konposatzeko adina memoria" - -#~ msgid "GIF image is corrupt (incorrect LZW compression)" -#~ msgstr "GIF irudia hondatuta dago (LZW konpresio okerra)" - -#~ msgid "File does not appear to be a GIF file" -#~ msgstr "Fitxategiak ez dirudi GIF fitxategia" - -#~ msgid "Version %s of the GIF file format is not supported" -#~ msgstr "GIF fitxategi-formatuaren %s bertsioa ez da onartzen" - -#~ msgid "" -#~ "GIF image has no global colormap, and a frame inside it has no local " -#~ "colormap." -#~ msgstr "" -#~ "GIF irudiak ez du kolore-mapa orokorrik, eta bere barruko markoak ez du " -#~ "kolore-mapa lokalik." - -#~ msgid "GIF image was truncated or incomplete." -#~ msgstr "GIF irudia trunkatuta edo osatu gabe zegoen." - -#~ msgid "The GIF image format" -#~ msgstr "GIF irudi-formatua" - -#~ msgid "Invalid header in icon" -#~ msgstr "Goiburu baliogabea ikonoan" - -#~ msgid "Not enough memory to load icon" -#~ msgstr "Ez dago ikonoa kargatzeko adina memoria" - -#~ msgid "Icon has zero width" -#~ msgstr "Ikonoaren zabalera zero da" - -#~ msgid "Icon has zero height" -#~ msgstr "Ikonoaren altuera zero da" - -#~ msgid "Compressed icons are not supported" -#~ msgstr "Konprimitutako ikonoak ez dira onartzen" - -#~ msgid "Unsupported icon type" -#~ msgstr "Onartzen ez den ikono-mota" - -#~ msgid "Not enough memory to load ICO file" -#~ msgstr "Ez dago ICO fitxategia kargatzeko adina memoria" - -#~ msgid "Image too large to be saved as ICO" -#~ msgstr "Irudia handiegia da ICO gisa gordetzeko" - -#~ msgid "Cursor hotspot outside image" -#~ msgstr "Kurtsorearen puntu-beroa iruditik kanpo" - -#~ msgid "Unsupported depth for ICO file: %d" -#~ msgstr "ICO fitxategiko kolore-sakonera ez da onartzen: %d" - -#~ msgid "The ICO image format" -#~ msgstr "ICO irudi-formatua" - -#~ msgid "Error reading ICNS image: %s" -#~ msgstr "Errorea ICNS irudia irakurtzean: %s" - -#~ msgid "Could not decode ICNS file" -#~ msgstr "Ezin izan da ICNS fitxategia deskodetu" - -#~ msgid "The ICNS image format" -#~ msgstr "ICNS irudi-formatua" - -#~ msgid "Couldn't allocate memory for stream" -#~ msgstr "Ezin izan da korronterako memoria esleitu" - -#~ msgid "Couldn't decode image" -#~ msgstr "Ezin izan da irudia deskodetu" - -#~ msgid "Transformed JPEG2000 has zero width or height" -#~ msgstr "Bihurtutako JPEG2000ren zabalera edo altuera zero da." - -#~ msgid "Image type currently not supported" -#~ msgstr "Irudi mota ez da onartzen" - -#~ msgid "Couldn't allocate memory for color profile" -#~ msgstr "Ezin izan da kolore-profilarentzako memoria esleitu" - -#~ msgid "Insufficient memory to open JPEG 2000 file" -#~ msgstr "Ez dago JPEG 2000 fitxategia irekitzeko behar adina memoria" - -#~ msgid "Couldn't allocate memory to buffer image data" -#~ msgstr "Ezin izan da irudiaren datuen bufferrerako memoriarik esleitu" - -#~ msgid "The JPEG 2000 image format" -#~ msgstr "JPEG 2000 irudi-formatua" - -#~ msgid "Error interpreting JPEG image file (%s)" -#~ msgstr "Errorea JPEG irudi-fitxategia (%s) interpretatzen " - -#~ msgid "" -#~ "Insufficient memory to load image, try exiting some applications to free " -#~ "memory" -#~ msgstr "" -#~ "Ez dago nahikoa memoria irudia kargatzeko, saiatu aplikazio batzuetatik " -#~ "irteten memoria libratzeko" - -#~ msgid "Unsupported JPEG color space (%s)" -#~ msgstr "Onartzen ez den JPEGren kolore-area (%s)" - -#~ msgid "Couldn't allocate memory for loading JPEG file" -#~ msgstr "Ezin izan da JPEG fitxategia kargatzeko memoria esleitu" - -#~ msgid "Transformed JPEG has zero width or height." -#~ msgstr "Bihurtutako JPEGren zabalera edo altuera zero da." - -#~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " -#~ "parsed." -#~ msgstr "" -#~ "JPEG kalitatearen balioak 0 eta 100 artean egon behar du; '%s' balioa " -#~ "ezin izan da analizatu." - -#~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." -#~ msgstr "" -#~ "JPEG kalitatearen balioak 0 eta 100 artean egon behar du; '%d' balioa ez " -#~ "da onartzen." - -#~ msgid "The JPEG image format" -#~ msgstr "JPEG irudi-formatua" - -#~ msgid "Couldn't allocate memory for header" -#~ msgstr "Ezin da goibururako memoria esleitu" - -#~ msgid "Couldn't allocate memory for context buffer" -#~ msgstr "Ezin da testuinguru-bufferrerako memoria esleitu" - -#~ msgid "Image has invalid width and/or height" -#~ msgstr "Irudiak altuera edota zabalera baliogabea du" - -#~ msgid "Image has unsupported bpp" -#~ msgstr "Irudiak onartzen ez den bpp du" - -#~ msgid "Image has unsupported number of %d-bit planes" -#~ msgstr "Irudiak onartu gabeko %d bit plano kopurua du" - -#~ msgid "Couldn't create new pixbuf" -#~ msgstr "Ezin da pixbuf berria sortu" - -#~ msgid "Couldn't allocate memory for line data" -#~ msgstr "Ezin da lerroko datuentzako memoriarik esleitu" - -#~ msgid "Couldn't allocate memory for paletted data" -#~ msgstr "Ezin da paletako datuentzako memoriarik esleitu" - -#~ msgid "Didn't get all lines of PCX image" -#~ msgstr "Ez dira PCX irudiko marra guztiak lortu" - -#~ msgid "No palette found at end of PCX data" -#~ msgstr "PCX datuen amaieran ez da paletarik aurkitu" - -#~ msgid "The PCX image format" -#~ msgstr "PCX irudi-formatua" - -#~ msgid "Bits per channel of PNG image is invalid." -#~ msgstr "PNG irudiaren kanal bakoitzeko bitak baliogabeak dira." - -#~ msgid "Transformed PNG has zero width or height." -#~ msgstr "Bihurtutako PNGren zabalera edo altuera zero da." - -#~ msgid "Bits per channel of transformed PNG is not 8." -#~ msgstr "Bihurtutako PNGren kanal bakoitzeko bitak ez dira 8." - -#~ msgid "Transformed PNG not RGB or RGBA." -#~ msgstr "Bihurtutako PNG ez da RGB edo RGBA." - -#~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." -#~ msgstr "" -#~ "Bihurtutako PNGk duen kanal-kopurua ez da onartzen; 3 edo 4 izan behar " -#~ "ditu." - -#~ msgid "Fatal error in PNG image file: %s" -#~ msgstr "Errore larria PNG irudi-fitxategian: %s" - -#~ msgid "Insufficient memory to load PNG file" -#~ msgstr "Ez dago PNG fitxategia kargatzeko adina memoria" - -#~ msgid "" -#~ "Insufficient memory to store a %ld by %ld image; try exiting some " -#~ "applications to reduce memory usage" -#~ msgstr "" -#~ "Ez dago $2%ld irudiak $1%ld bat gordetzeko adina memoria; saiatu " -#~ "aplikazio batzuetatik irteten memoria-erabilera murrizteko" - -#~ msgid "Fatal error reading PNG image file" -#~ msgstr "Errore larria PNG irudi-fitxategia irakurtzean" - -#~ msgid "Fatal error reading PNG image file: %s" -#~ msgstr "Errore larria PNG irudi-fitxategia irakurtzean: %s" - -#~ msgid "" -#~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." -#~ msgstr "" -#~ "PNGren testu-zatiek gutxienez karaktere 1 eta gehienez 79 eduki behar " -#~ "dituzte." - -#~ msgid "Keys for PNG text chunks must be ASCII characters." -#~ msgstr "PNGren testu-zatien gakoek ASCII karaktereak izan behar dute." - -#~ msgid "Color profile has invalid length %d." -#~ msgstr "Kolore-profilak luzera baliogabea du: %d." - -#~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%s' could " -#~ "not be parsed." -#~ msgstr "" -#~ "PNG konpresioaren balioak 0 eta 9 artean egon behar du; '%s' balioa ezin " -#~ "izan da analizatu." - -#~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%d' is not " -#~ "allowed." -#~ msgstr "" -#~ "PNG konpresioaren balioak 0 eta 9 artean egon behar du; '%d' balioa ez da " -#~ "onartzen." - -#~ msgid "" -#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." -#~ msgstr "" -#~ "PNGren %s testu-zatiaren balioa ezin da ISO-8859-1 kodeketara bihurtu." - -#~ msgid "The PNG image format" -#~ msgstr "PNG irudi-formatua" - -#~ msgid "PNM loader expected to find an integer, but didn't" -#~ msgstr "PNM kargatzaileak osokoa aurkitzea espero zuen, baina ez du aurkitu" - -#~ msgid "PNM file has an incorrect initial byte" -#~ msgstr "PNM fitxategiak hasierako byte okerra du" - -#~ msgid "PNM file is not in a recognized PNM subformat" -#~ msgstr "PNM fitxategiak ez du PNM azpiformatu ezaguna" - -#~ msgid "PNM file has an image width of 0" -#~ msgstr "PNM fitxategiaren irudi-zabalera 0 da" - -#~ msgid "PNM file has an image height of 0" -#~ msgstr "PNM fitxategiaren irudi-altuera 0 da" - -#~ msgid "Maximum color value in PNM file is 0" -#~ msgstr "PNM fitxategian kolorearen gehienezko balioa 0 da" - -#~ msgid "Maximum color value in PNM file is too large" -#~ msgstr "PNM fitxategiko kolorearen gehienezko balioa handiegia da" - -#~ msgid "Raw PNM image type is invalid" -#~ msgstr "PNM irudi-mota gordina baliogabea da" - -#~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "PNM irudi kargatzaileak ez du PNM azpiformatu hau onartzen" - -#~ msgid "Raw PNM formats require exactly one whitespace before sample data" -#~ msgstr "" -#~ "PNM formatu gordinek zuriune bat behar dute lagin-informazioaren aurretik" - -#~ msgid "Cannot allocate memory for loading PNM image" -#~ msgstr "Ezin da PNM irudia kargatzeko memoria esleitu" - -#~ msgid "Insufficient memory to load PNM context struct" -#~ msgstr "Ez dago PNM testuinguru-egitura kargatzeko adina memoria" - -#~ msgid "Unexpected end of PNM image data" -#~ msgstr "PNM irudi-datuen ustekabeko amaiera" - -#~ msgid "Insufficient memory to load PNM file" -#~ msgstr "Ez dago PNM fitxategia kargatzeko behar adina memoria" - -#~ msgid "The PNM/PBM/PGM/PPM image format family" -#~ msgstr "PNM/PBM/PGM/PPM irudi-formatuen familia" - -#~ msgid "Input file descriptor is NULL." -#~ msgstr "Sarrerako fitxategiaren deskriptorea NULL da." - -#~ msgid "Failed to read QTIF header" -#~ msgstr "Huts egin du QTIF goiburukoa irakurtzean" - -#~ msgid "QTIF atom size too large (%d bytes)" -#~ msgstr "QTIF elementuaren tamaina handiegia da (%d byte)" - -#~ msgid "Failed to allocate %d bytes for file read buffer" -#~ msgstr "" -#~ "Huts egin du %d byte esleitzean fitxategia irakurtzeko bufferrarentzako" - -#~ msgid "File error when reading QTIF atom: %s" -#~ msgstr "Fitxategiaren errorea QTIF elementua irakurtzean: %s" - -#~ msgid "Failed to skip the next %d bytes with seek()." -#~ msgstr "Huts egin du hurrengo %d byte saltatzean seek() funtzioarekin." - -#~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "Huts egin du QTIFen testuinguru-egitura esleitzean." - -#~ msgid "Failed to create GdkPixbufLoader object." -#~ msgstr "Huts egin du GdkPixbufLoader objektua sortzean." - -#~ msgid "Failed to find an image data atom." -#~ msgstr "Huts egin du irudiaren datuen elementu bat bilatzean." - -#~ msgid "The QTIF image format" -#~ msgstr "QTIF irudi-formatua" - -#~ msgid "RAS image has bogus header data" -#~ msgstr "RAS irudiak goiburu-datu akastunak ditu" - -#~ msgid "RAS image has unknown type" -#~ msgstr "RAS irudiak mota ezezaguna du" - -#~ msgid "unsupported RAS image variation" -#~ msgstr "onartzen ez den RAS irudi-aldaera" - -#~ msgid "Not enough memory to load RAS image" -#~ msgstr "Ez dago RAS irudia kargatzeko behar adina memoria" - -#~ msgid "The Sun raster image format" -#~ msgstr "Sun bilbe-irudiaren formatua" - -#~ msgid "Cannot allocate memory for IOBuffer struct" -#~ msgstr "Ezin zaio IOBuffer-en egiturari memoria esleitu" - -#~ msgid "Cannot allocate memory for IOBuffer data" -#~ msgstr "Ezin zaie IOBuffer-en datuei memoria esleitu" - -#~ msgid "Cannot realloc IOBuffer data" -#~ msgstr "Ezin dira IOBuffer-en datuak berriro esleitu" - -#~ msgid "Cannot allocate temporary IOBuffer data" -#~ msgstr "Ezin dira IOBuffer-en aldi baterako datuak esleitu" - -#~ msgid "Cannot allocate new pixbuf" -#~ msgstr "Ezin da pixbuf berria esleitu" - -#~ msgid "Image is corrupted or truncated" -#~ msgstr "Irudia trunkatuta edo hondatuta dago" - -#~ msgid "Cannot allocate colormap structure" -#~ msgstr "Ezin da kolore-maparen egitura esleitu" - -#~ msgid "Cannot allocate colormap entries" -#~ msgstr "Ezin dira kolore-maparen sarrerak esleitu" - -#~ msgid "Unexpected bitdepth for colormap entries" -#~ msgstr "Kolore-maparen sarreren ustekabeko bit-sakonera" - -#~ msgid "Cannot allocate TGA header memory" -#~ msgstr "Ezin da TGAren goiburu-memoria esleitu" - -#~ msgid "TGA image has invalid dimensions" -#~ msgstr "TGA irudiak tamaina baliogabeak ditu" - -#~ msgid "TGA image type not supported" -#~ msgstr "TGA irudi-mota ez da onartzen" - -#~ msgid "Cannot allocate memory for TGA context struct" -#~ msgstr "Ezin da TGAren testuinguru-egiturarako memoria esleitu" - -#~ msgid "Excess data in file" -#~ msgstr "Fitxategian datu gehiegi daude" - -#~ msgid "The Targa image format" -#~ msgstr "Targa irudi-formatua" - -#~ msgid "Could not get image width (bad TIFF file)" -#~ msgstr "Ezin izan da irudiaren zabalera lortu (TIFF fitxategi hondatua)" - -#~ msgid "Could not get image height (bad TIFF file)" -#~ msgstr "Ezin izan da irudiaren altuera lortu (TIFF fitxategi hondatua)" - -#~ msgid "Width or height of TIFF image is zero" -#~ msgstr "TIFF irudiaren zabalera edo altuera zero da" - -#~ msgid "Dimensions of TIFF image too large" -#~ msgstr "TIFF irudiaren neurriak handiegiak dira" - -#~ msgid "Insufficient memory to open TIFF file" -#~ msgstr "Ez dago TIFF fitxategia irekitzeko behar adina memoria" - -#~ msgid "Failed to load RGB data from TIFF file" -#~ msgstr "Ezin izan dira RGB datuak kargatu TIFF fitxategitik" - -#~ msgid "Failed to open TIFF image" -#~ msgstr "Ezin izan da TIFF irudia ireki" - -#~ msgid "TIFFClose operation failed" -#~ msgstr "TIFFClose eragiketak huts egin du" - -#~ msgid "Failed to load TIFF image" -#~ msgstr "Ezin izan da TIFF irudia kargatu" - -#~ msgid "Failed to save TIFF image" -#~ msgstr "Ezin izan da TIFF irudia gorde" - -#~ msgid "TIFF compression doesn't refer to a valid codec." -#~ msgstr "TIFF konpresioak ez du baliozko koderik adierazten." - -#~ msgid "Failed to write TIFF data" -#~ msgstr "Ezin izan da TIFF irudia idatzi" - -#~ msgid "Couldn't write to TIFF file" -#~ msgstr "Ezin izan da TIFF fitxategian idatzi" - -#~ msgid "The TIFF image format" -#~ msgstr "TIFF irudi-formatua" - -#~ msgid "Image has zero width" -#~ msgstr "Irudiaren zabalera zero da" - -#~ msgid "Image has zero height" -#~ msgstr "Irudiaren altuera zero da" - -#~ msgid "Not enough memory to load image" -#~ msgstr "Ez dago irudia kargatzeko behar adina memoria" - -#~ msgid "Couldn't save the rest" -#~ msgstr "Ezin izan da gainerakoa gorde" - -#~ msgid "The WBMP image format" -#~ msgstr "WBMP irudi-formatua" - -#~ msgid "Invalid XBM file" -#~ msgstr "XBM fitxategi baliogabea" - -#~ msgid "Insufficient memory to load XBM image file" -#~ msgstr "Ez dago XBM irudi-fitxategia kargatzeko behar adina memoria" - -#~ msgid "Failed to write to temporary file when loading XBM image" -#~ msgstr "Ezin izan da aldi baterako fitxategian idatzi XBM irudia kargatzean" - -#~ msgid "The XBM image format" -#~ msgstr "XBM irudi-formatua" - -#~ msgid "No XPM header found" -#~ msgstr "Ez da XPM goibururik aurkitu" - -#~ msgid "Invalid XPM header" -#~ msgstr "XPM goiburu baliogabea" - -#~ msgid "XPM file has image width <= 0" -#~ msgstr "XPM fitxategiaren irudi-zabalera <= 0 da" - -#~ msgid "XPM file has image height <= 0" -#~ msgstr "XPM fitxategiaren irudi-altuera <= 0 da" - -#~ msgid "XPM has invalid number of chars per pixel" -#~ msgstr "XPMk pixel bakoitzeko karaktere-kopuru baliogabea du" - -#~ msgid "XPM file has invalid number of colors" -#~ msgstr "XPM fitxategiak kolore-kopuru baliogabea du" - -#~ msgid "Cannot allocate memory for loading XPM image" -#~ msgstr "Ezin da XPM irudia kargatzeko memoria esleitu" - -#~ msgid "Cannot read XPM colormap" -#~ msgstr "Ezin da XPMren kolore-mapa irakurri" - -#~ msgid "Failed to write to temporary file when loading XPM image" -#~ msgstr "Ezin izan da aldi baterako fitxategian idatzi XPM irudia kargatzean" - -#~ msgid "The XPM image format" -#~ msgstr "XPM irudi-formatua" - -#~ msgid "The EMF image format" -#~ msgstr "EMF irudi-formatua" - -#~ msgid "Could not allocate memory: %s" -#~ msgstr "Ezin izan da memoria esleitu: %s" - -#~ msgid "Could not create stream: %s" -#~ msgstr "Ezin izan da korrontea sortu: %s" - -#~ msgid "Could not seek stream: %s" -#~ msgstr "Ezin izan da korrontea bilatu: %s" - -#~ msgid "Could not read from stream: %s" -#~ msgstr "Ezin izan da korrontearentzako irakurri: %s" - -#~ msgid "Couldn't load bitmap" -#~ msgstr "Ezin izan da bit-mapa kargatu" - -#~ msgid "Couldn't load metafile" -#~ msgstr "Ezin izan da metafitxategia kargatu" - -#~ msgid "Unsupported image format for GDI+" -#~ msgstr "Onartu gabeko irudi-formatua GDI+entzako" - -#~ msgid "Couldn't save" -#~ msgstr "Ezin izan da gorde" - -#~ msgid "The WMF image format" -#~ msgstr "WMF irudi-formatua" - -#~ msgid "\"Deepness\" of the color." -#~ msgstr "Kolorearen \"intentsitatea\"." - -#~ msgid "Error printing" -#~ msgstr "Errorea inprimatzean" - -#~ msgid "Printer '%s' may not be connected." -#~ msgstr "'%s' inprimagailua ez dirudi konektatuta dagoenik." - -#~ msgid "Folders" -#~ msgstr "Karpetak" - -#~ msgid "Fol_ders" -#~ msgstr "Kar_petak" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "Karpeta ezin da irakurri: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "\"%s\" fitxategia beste makina batean dago (%s izenekoan) eta beharbada " -#~ "ez dago programa honetarako erabilgarri.\n" -#~ "Ziur zaude hautatu nahi duzula?" - -#~ msgid "_New Folder" -#~ msgstr "Kar_peta berria" - -#~ msgid "De_lete File" -#~ msgstr "E_zabatu fitxategia" - -#~ msgid "_Rename File" -#~ msgstr "_Aldatu fitxategi-izena" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "\"%s\" izeneko karpetak fitxategi-izenetan onartzen ez diren ikurrak ditu" - -#~ msgid "New Folder" -#~ msgstr "Karpeta berria" - -#~ msgid "_Folder name:" -#~ msgstr "_Karpeta-izena:" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "" -#~ "\"%s\" fitxategi-izenak fitxategi-izenetan onartzen ez diren ikurrak ditu" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "Errorea '%s' fitxategia ezabatzean: %s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "Benetan \"%s\" fitxategia ezabatu?" - -#~ msgid "Delete File" -#~ msgstr "Ezabatu fitxategia" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "Errorea \"%s\" karpetari izena aldatzean: %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "Errorea \"%s\" fitxategiari izena aldatzean: %s" - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "Errorea fitxategiari \"%s\" izenaren ordez \"%s\" ipintzean: %s" - -#~ msgid "Rename File" -#~ msgstr "Aldatu fitxategi-izena" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "Fitxategiari \"%s\" izena ipini honen ordez:" - -#~ msgid "_Rename" -#~ msgstr "I_zena aldatu" - -#~ msgid "_Selection: " -#~ msgstr "_Hautapena: " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "\"%s\" fitxategi-izena ezin izan da UTF-8 bihurtu (saiatu " -#~ "G_FILENAME_ENCODING ingurune-aldagaia ezartzen): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "Utf-8 baliogabea" - -#~ msgid "Name too long" -#~ msgstr "Izena luzeegia da" - -#~ msgid "Couldn't convert filename" -#~ msgstr "Ezin izan da fitxategi-izena bihurtu" - -#~ msgid "Gamma" -#~ msgstr "Gamma" - -#~ msgid "_Gamma value" -#~ msgstr "_Gamma-balioa" - -#~ msgid "Input" -#~ msgstr "Sarrera" - -#~ msgid "No extended input devices" -#~ msgstr "Ez dago sarrerako gailu hedaturik" - -#~ msgid "_Device:" -#~ msgstr "_Gailua:" - -#~ msgid "Disabled" -#~ msgstr "Desgaituta" - -#~ msgid "Screen" -#~ msgstr "Pantaila" - -#~ msgid "Window" -#~ msgstr "Leihoa" - -#~ msgid "_Mode:" -#~ msgstr "_Modua:" - -#~ msgid "Axes" -#~ msgstr "Ardatzak" - -#~ msgid "Keys" -#~ msgstr "Gakoak" - -#~ msgid "_X:" -#~ msgstr "_X:" - -#~ msgid "_Y:" -#~ msgstr "_Y:" - -#~ msgid "_Pressure:" -#~ msgstr "_Presioa:" - -#~ msgid "X _tilt:" -#~ msgstr "X _okerdura:" - -#~ msgid "Y t_ilt:" -#~ msgstr "Y o_kerdura:" - -#~ msgid "_Wheel:" -#~ msgstr "_Gurpila:" - -#~ msgid "none" -#~ msgstr "bat ere ez" - -#~ msgid "(disabled)" -#~ msgstr "(desgaituta)" - -#~ msgid "(unknown)" -#~ msgstr "(ezezaguna)" - -#~ msgid "Cl_ear" -#~ msgstr "_Garbitu" - -#~ msgid "--- No Tip ---" -#~ msgstr "--- Iradokizunik ez ---" From 49a6e0c2b6b58d130bf0a0f9ceaad2222562df3b Mon Sep 17 00:00:00 2001 From: Inaki Larranaga Murgoitio Date: Wed, 12 Jan 2011 23:20:26 +0100 Subject: [PATCH 1364/1463] Updated Basque language --- po/eu.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po/eu.po b/po/eu.po index 7e5711bc8e..47398980c8 100644 --- a/po/eu.po +++ b/po/eu.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: eu\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" "POT-Creation-Date: 2011-01-10 22:02+0000\n" -"PO-Revision-Date: 2011-01-12 23:18+0100\n" +"PO-Revision-Date: 2011-01-12 23:20+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" "MIME-Version: 1.0\n" @@ -365,7 +365,7 @@ msgstr "Dokumentazioa" #: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" -msgstr "Itzulpena" +msgstr "Itzultzaileak" #: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" From 0c6251d0d2b52cd49d63d7dcb61491f5c810ff33 Mon Sep 17 00:00:00 2001 From: Thomas Wood Date: Tue, 11 Jan 2011 11:34:23 +0000 Subject: [PATCH 1365/1463] switch: allow the user to toggle the switch by clicking on the handle --- gtk/gtkswitch.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index 28a5d8d468..6b9866e167 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -202,6 +202,15 @@ gtk_switch_button_release (GtkWidget *widget, return TRUE; } + /* toggle the switch if the handle was clicked but a drag had not been + * initiated */ + if (!priv->is_dragging && !priv->in_press) + { + gtk_switch_set_active (GTK_SWITCH (widget), !priv->is_active); + + return TRUE; + } + /* dragged toggle */ if (priv->is_dragging) { From 349c3a8839d48cc01d83b1508d76792c90a94026 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 Jan 2011 17:06:27 -0500 Subject: [PATCH 1366/1463] Move enum docs inline Based on a patch by Garrett Regier https://bugzilla.gnome.org/show_bug.cgi?id=617324 --- docs/reference/gtk/tmpl/gtkenums.sgml | 458 -------------------------- gtk/gtkenums.h | 258 +++++++++++++-- 2 files changed, 236 insertions(+), 480 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkenums.sgml diff --git a/docs/reference/gtk/tmpl/gtkenums.sgml b/docs/reference/gtk/tmpl/gtkenums.sgml deleted file mode 100644 index 897821f075..0000000000 --- a/docs/reference/gtk/tmpl/gtkenums.sgml +++ /dev/null @@ -1,458 +0,0 @@ - -Standard Enumerations - - -Public enumerated types used throughout GTK+ - - - - - - - - - - - - - - - - - - - - - - -@GTK_ACCEL_VISIBLE: -@GTK_ACCEL_LOCKED: -@GTK_ACCEL_MASK: - - - -Used to specify the placement of scroll arrows in scrolling menus. - - -@GTK_ARROWS_BOTH: Place one arrow on each end of the menu. -@GTK_ARROWS_START: Place both arrows at the top of the menu. -@GTK_ARROWS_END: Place both arrows at the bottom of the menu. - - - -Used to indicate the direction in which a #GtkArrow should point. - - -@GTK_ARROW_UP: Represents an upward pointing arrow. -@GTK_ARROW_DOWN: Represents a downward pointing arrow. -@GTK_ARROW_LEFT: Represents a left pointing arrow. -@GTK_ARROW_RIGHT: Represents a right pointing arrow. -@GTK_ARROW_NONE: No arrow. Since 2.10. - - - -Denotes the expansion properties that a widget will have when it (or its -parent) is resized. - - -@GTK_EXPAND: the widget should expand to take up any extra space in its -container that has been allocated. -@GTK_SHRINK: the widget should shrink as and when possible. -@GTK_FILL: the widget should fill the space allocated to it. - - - -Used to dictate the style that a #GtkButtonBox uses to layout the buttons it -contains. (See also: #GtkVButtonBox and #GtkHButtonBox). - - -@GTK_BUTTONBOX_SPREAD: Buttons are evenly spread across the box. -@GTK_BUTTONBOX_EDGE: Buttons are placed at the edges of the box. -@GTK_BUTTONBOX_START: Buttons are grouped towards the start of the box, - (on the left for a HBox, or the top for a VBox). -@GTK_BUTTONBOX_END: Buttons are grouped towards the end of the box, - (on the right for a HBox, or the bottom for a VBox). -@GTK_BUTTONBOX_CENTER: Buttons are centered in the box. Since 2.12 - - - -Specifies which corner a child widget should be placed in when packed into -a #GtkScrolledWindow. This is effectively the opposite of where the scroll -bars are placed. - - -@GTK_CORNER_TOP_LEFT: Place the scrollbars on the right and bottom of the -widget (default behaviour). -@GTK_CORNER_BOTTOM_LEFT: Place the scrollbars on the top and right of the -widget. -@GTK_CORNER_TOP_RIGHT: Place the scrollbars on the left and bottom of the -widget. -@GTK_CORNER_BOTTOM_RIGHT: Place the scrollbars on the top and left of the -widget. - - - - - - -@GTK_DELETE_CHARS: -@GTK_DELETE_WORD_ENDS: -@GTK_DELETE_WORDS: -@GTK_DELETE_DISPLAY_LINES: -@GTK_DELETE_DISPLAY_LINE_ENDS: -@GTK_DELETE_PARAGRAPH_ENDS: -@GTK_DELETE_PARAGRAPHS: -@GTK_DELETE_WHITESPACE: - - - - - - -@GTK_DIR_TAB_FORWARD: -@GTK_DIR_TAB_BACKWARD: -@GTK_DIR_UP: -@GTK_DIR_DOWN: -@GTK_DIR_LEFT: -@GTK_DIR_RIGHT: - - - -Used to specify the style of the expanders drawn by a #GtkTreeView. - - -@GTK_EXPANDER_COLLAPSED: The style used for a collapsed subtree. -@GTK_EXPANDER_SEMI_COLLAPSED: Intermediate style used during animation. -@GTK_EXPANDER_SEMI_EXPANDED: Intermediate style used during animation. -@GTK_EXPANDER_EXPANDED: The style used for an expanded subtree. - - - - - - -@GTK_IM_PREEDIT_NOTHING: -@GTK_IM_PREEDIT_CALLBACK: -@GTK_IM_PREEDIT_NONE: - - - - - - -@GTK_IM_STATUS_NOTHING: -@GTK_IM_STATUS_CALLBACK: -@GTK_IM_STATUS_NONE: - - - -Used for justifying the text inside a #GtkLabel widget. (See also -#GtkAlignment). - - -@GTK_JUSTIFY_LEFT: The text is placed at the left edge of the label. -@GTK_JUSTIFY_RIGHT: The text is placed at the right edge of the label. -@GTK_JUSTIFY_CENTER: The text is placed in the center of the label. -@GTK_JUSTIFY_FILL: The text is placed is distributed across the label. - - - - - - -@GTK_MOVEMENT_LOGICAL_POSITIONS: -@GTK_MOVEMENT_VISUAL_POSITIONS: -@GTK_MOVEMENT_WORDS: -@GTK_MOVEMENT_DISPLAY_LINES: -@GTK_MOVEMENT_DISPLAY_LINE_ENDS: -@GTK_MOVEMENT_PARAGRAPHS: -@GTK_MOVEMENT_PARAGRAPH_ENDS: -@GTK_MOVEMENT_PAGES: -@GTK_MOVEMENT_BUFFER_ENDS: -@GTK_MOVEMENT_HORIZONTAL_PAGES: - - - -Represents the orientation of widgets which can be switched between horizontal -and vertical orientation on the fly, like #GtkToolbar. - - -@GTK_ORIENTATION_HORIZONTAL: The widget is in horizontal orientation. -@GTK_ORIENTATION_VERTICAL: The widget is in vertical orientation. - - - -Represents the packing location #GtkBox children. (See: #GtkVBox, -#GtkHBox, and #GtkButtonBox). - - -@GTK_PACK_START: The child is packed into the start of the box -@GTK_PACK_END: The child is packed into the end of the box - - - - - - -@GTK_PATH_PRIO_LOWEST: -@GTK_PATH_PRIO_GTK: -@GTK_PATH_PRIO_APPLICATION: -@GTK_PATH_PRIO_THEME: -@GTK_PATH_PRIO_RC: -@GTK_PATH_PRIO_HIGHEST: - - - - - - -@GTK_PATH_WIDGET: -@GTK_PATH_WIDGET_CLASS: -@GTK_PATH_CLASS: - - - -Determines when a scroll bar will be visible. - - -@GTK_POLICY_ALWAYS: The scrollbar is always visible. -@GTK_POLICY_AUTOMATIC: The scrollbar will appear and disappear as necessary. For example, -when all of a #GtkCList can not be seen. -@GTK_POLICY_NEVER: The scrollbar will never appear. - - - -Describes which edge of a widget a certain feature is positioned at, e.g. the -tabs of a #GtkNotebook, the handle of a #GtkHandleBox or the label of a -#GtkScale. - - -@GTK_POS_LEFT: The feature is at the left edge. -@GTK_POS_RIGHT: The feature is at the right edge. -@GTK_POS_TOP: The feature is at the top edge. -@GTK_POS_BOTTOM: The feature is at the bottom edge. - - - -Indicated the relief to be drawn around a #GtkButton. - - -@GTK_RELIEF_NORMAL: Draw a normal relief. -@GTK_RELIEF_HALF: A half relief. -@GTK_RELIEF_NONE: No relief. - - - - - - -@GTK_RESIZE_PARENT: -@GTK_RESIZE_QUEUE: -@GTK_RESIZE_IMMEDIATE: Deprecated. - - - - - - -@GTK_SCROLL_STEPS: -@GTK_SCROLL_PAGES: -@GTK_SCROLL_ENDS: -@GTK_SCROLL_HORIZONTAL_STEPS: -@GTK_SCROLL_HORIZONTAL_PAGES: -@GTK_SCROLL_HORIZONTAL_ENDS: - - - - - - -@GTK_SCROLL_NONE: -@GTK_SCROLL_JUMP: -@GTK_SCROLL_STEP_BACKWARD: -@GTK_SCROLL_STEP_FORWARD: -@GTK_SCROLL_PAGE_BACKWARD: -@GTK_SCROLL_PAGE_FORWARD: -@GTK_SCROLL_STEP_UP: -@GTK_SCROLL_STEP_DOWN: -@GTK_SCROLL_PAGE_UP: -@GTK_SCROLL_PAGE_DOWN: -@GTK_SCROLL_STEP_LEFT: -@GTK_SCROLL_STEP_RIGHT: -@GTK_SCROLL_PAGE_LEFT: -@GTK_SCROLL_PAGE_RIGHT: -@GTK_SCROLL_START: -@GTK_SCROLL_END: - - - -Used to control what selections users are allowed to make. - - -@GTK_SELECTION_NONE: No selection is possible. -@GTK_SELECTION_SINGLE: Zero or one element may be selected. -@GTK_SELECTION_BROWSE: Exactly one element is selected. In some circumstances, - such as initially or during a search operation, it's possible for no element - to be selected with %GTK_SELECTION_BROWSE. What is really enforced is that - the user can't deselect a currently selected element except by selecting - another element. -@GTK_SELECTION_MULTIPLE: Any number of elements may be selected. - Clicks toggle the state of an item. Any number of elements may be selected. - The Ctrl key may be used to enlarge the selection, and Shift key to select - between the focus and the child pointed to. Some widgets may also allow - Click-drag to select a range of elements. - - - -Used to change the appearance of an outline typically provided by a #GtkFrame. - - -@GTK_SHADOW_NONE: No outline. -@GTK_SHADOW_IN: The outline is bevelled inwards. -@GTK_SHADOW_OUT: The outline is bevelled outwards like a button. -@GTK_SHADOW_ETCHED_IN: The outline has a sunken 3d appearance. -@GTK_SHADOW_ETCHED_OUT: The outline has a raised 3d appearance - - - - - - -@GTK_STATE_NORMAL: -@GTK_STATE_ACTIVE: -@GTK_STATE_PRELIGHT: -@GTK_STATE_SELECTED: -@GTK_STATE_INSENSITIVE: -@GTK_STATE_INCONSISTENT: -@GTK_STATE_FOCUSED: - - - - - - -@GTK_STATE_FLAG_ACTIVE: -@GTK_STATE_FLAG_PRELIGHT: -@GTK_STATE_FLAG_SELECTED: -@GTK_STATE_FLAG_INSENSITIVE: -@GTK_STATE_FLAG_INCONSISTENT: -@GTK_STATE_FLAG_FOCUSED: - - - -Used to customize the appearance of a #GtkToolbar. Note that -setting the toolbar style overrides the user's preferences -for the default toolbar style. Note that if the button has only -a label set and GTK_TOOLBAR_ICONS is used, the label will be -visible, and vice versa. - - -@GTK_TOOLBAR_ICONS: Buttons display only icons in the toolbar. -@GTK_TOOLBAR_TEXT: Buttons display only text labels in the toolbar. -@GTK_TOOLBAR_BOTH: Buttons display text and icons in the toolbar. -@GTK_TOOLBAR_BOTH_HORIZ: Buttons display icons and text alongside each -other, rather than vertically stacked - - - -Used by #GtkRange to control the policy for notifying value changes. - - -@GTK_UPDATE_CONTINUOUS: Notify updates whenever the value changed -@GTK_UPDATE_DISCONTINUOUS: Notify updates when the mouse button has been released -@GTK_UPDATE_DELAYED: Space out updates with a small timeout - - - -Window placement can be influenced using this enumeration. Note that -using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea. -It won't necessarily work well with all window managers or on all windowing systems. - - -@GTK_WIN_POS_NONE: No influence is made on placement. -@GTK_WIN_POS_CENTER: Windows should be placed in the center of the screen. -@GTK_WIN_POS_MOUSE: Windows should be placed at the current mouse position. -@GTK_WIN_POS_CENTER_ALWAYS: Keep window centered as it changes size, etc. -@GTK_WIN_POS_CENTER_ON_PARENT: Center the window on its transient -parent (see gtk_window_set_transient_for()). - - - -A #GtkWindow can be one of these types. Most things you'd consider a -"window" should have type #GTK_WINDOW_TOPLEVEL; windows with this type -are managed by the window manager and have a frame by default (call -gtk_window_set_decorated() to toggle the frame). Windows with type -#GTK_WINDOW_POPUP are ignored by the window manager; window manager -keybindings won't work on them, the window manager won't decorate the -window with a frame, many GTK+ features that rely on the window -manager will not work (e.g. resize grips and -maximization/minimization). #GTK_WINDOW_POPUP is used to implement -widgets such as #GtkMenu or tooltips that you normally don't think of -as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVEL. -In particular, do not use #GTK_WINDOW_POPUP just to turn off -the window borders; use gtk_window_set_decorated() for that. - - -@GTK_WINDOW_TOPLEVEL: A regular window, such as a dialog. -@GTK_WINDOW_POPUP: A special window such as a tooltip. - - - -Determines the direction of a sort. - - -@GTK_SORT_ASCENDING: Sorting is in ascending order. -@GTK_SORT_DESCENDING: Sorting is in descending order. - - - -Gives an indication why a drag operation failed. -The value can by obtained by connecting to the -#GtkWidget::drag-failed signal. - - -@GTK_DRAG_RESULT_SUCCESS: The drag operation was successful -@GTK_DRAG_RESULT_NO_TARGET: No suitable drag target -@GTK_DRAG_RESULT_USER_CANCELLED: The user cancelled the drag operation -@GTK_DRAG_RESULT_TIMEOUT_EXPIRED: The drag operation timed out -@GTK_DRAG_RESULT_GRAB_BROKEN: The pointer or keyboard grab used - for the drag operation was broken -@GTK_DRAG_RESULT_ERROR: The drag operation failed due to some - unspecified error - - - - - - -@GTK_JUNCTION_NONE: -@GTK_JUNCTION_CORNER_TOPLEFT: -@GTK_JUNCTION_CORNER_TOPRIGHT: -@GTK_JUNCTION_CORNER_BOTTOMLEFT: -@GTK_JUNCTION_CORNER_BOTTOMRIGHT: -@GTK_JUNCTION_TOP: -@GTK_JUNCTION_BOTTOM: -@GTK_JUNCTION_LEFT: -@GTK_JUNCTION_RIGHT: - - - - - - -@GTK_BORDER_STYLE_NONE: -@GTK_BORDER_STYLE_SOLID: -@GTK_BORDER_STYLE_INSET: -@GTK_BORDER_STYLE_OUTSET: - - - - - - -@GTK_REGION_EVEN: -@GTK_REGION_ODD: -@GTK_REGION_FIRST: -@GTK_REGION_LAST: -@GTK_REGION_SORTED: - diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 1eb3b9f2b4..d146359c97 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -33,6 +33,14 @@ #include + +/** + * SECTION:gtkenum + * @Short_description: Public enumerated types used throughout GTK+ + * @Title: Standard Enumerations + */ + + G_BEGIN_DECLS /** @@ -64,7 +72,15 @@ typedef enum GTK_ALIGN_CENTER } GtkAlign; -/* Arrow placement */ + +/** + * GtkArrowPlacement: + * @GTK_ARROWS_BOTH: Place one arrow on each end of the menu. + * @GTK_ARROWS_START: Place both arrows at the top of the menu. + * @GTK_ARROWS_END: Place both arrows at the bottom of the menu. + * + * Used to specify the placement of scroll arrows in scrolling menus. + */ typedef enum { GTK_ARROWS_BOTH, @@ -72,7 +88,16 @@ typedef enum GTK_ARROWS_END } GtkArrowPlacement; -/* Arrow types */ +/** + * GtkArrowType + * @GTK_ARROW_UP: Represents an upward pointing arrow. + * @GTK_ARROW_DOWN: Represents a downward pointing arrow. + * @GTK_ARROW_LEFT: Represents a left pointing arrow. + * @GTK_ARROW_RIGHT: Represents a right pointing arrow. + * @GTK_ARROW_NONE: No arrow. Since 2.10. + * + * Used to indicate the direction in which a #GtkArrow should point. + */ typedef enum { GTK_ARROW_UP, @@ -82,7 +107,16 @@ typedef enum GTK_ARROW_NONE } GtkArrowType; -/* Attach options (for tables) */ +/** + * GtkAttachOptions: + * @GTK_EXPAND: the widget should expand to take up any extra space in its + * container that has been allocated. + * @GTK_SHRINK: the widget should shrink as and when possible. + * @GTK_FILL: the widget should fill the space allocated to it. + * + * Denotes the expansion properties that a widget will have when it (or its + * parent) is resized. + */ typedef enum { GTK_EXPAND = 1 << 0, @@ -90,7 +124,20 @@ typedef enum GTK_FILL = 1 << 2 } GtkAttachOptions; -/* Button box styles */ +/** + * GtkButtonBoxStyle: + * @GTK_BUTTONBOX_DEFAULT_STYLE: Default packing. + * @GTK_BUTTONBOX_SPREAD: Buttons are evenly spread across the box. + * @GTK_BUTTONBOX_EDGE: Buttons are placed at the edges of the box. + * @GTK_BUTTONBOX_START: Buttons are grouped towards the start of the box, + * (on the left for a HBox, or the top for a VBox). + * @GTK_BUTTONBOX_END: Buttons are grouped towards the end of the box, + * (on the right for a HBox, or the bottom for a VBox). + * @GTK_BUTTONBOX_CENTER: Buttons are centered in the box. Since 2.12. + * + * Used to dictate the style that a #GtkButtonBox uses to layout the buttons it + * contains. (See also: #GtkVButtonBox and #GtkHButtonBox). + */ typedef enum { GTK_BUTTONBOX_SPREAD = 1, @@ -100,6 +147,7 @@ typedef enum GTK_BUTTONBOX_CENTER } GtkButtonBoxStyle; + typedef enum { GTK_DELETE_CHARS, @@ -125,7 +173,15 @@ typedef enum GTK_DIR_RIGHT } GtkDirectionType; -/* Expander styles */ +/** + * GtkExpanderStyle: + * @GTK_EXPANDER_COLLAPSED: The style used for a collapsed subtree. + * @GTK_EXPANDER_SEMI_COLLAPSED: Intermediate style used during animation. + * @GTK_EXPANDER_SEMI_EXPANDED: Intermediate style used during animation. + * @GTK_EXPANDER_EXPANDED: The style used for an expanded subtree. + * + * Used to specify the style of the expanders drawn by a #GtkTreeView. + */ typedef enum { GTK_EXPANDER_COLLAPSED, @@ -171,7 +227,16 @@ typedef enum GTK_TEXT_DIR_RTL } GtkTextDirection; -/* justification for label and maybe other widgets (text?) */ +/** + * GtkJustification: + * @GTK_JUSTIFY_LEFT: The text is placed at the left edge of the label. + * @GTK_JUSTIFY_RIGHT: The text is placed at the right edge of the label. + * @GTK_JUSTIFY_CENTER: The text is placed in the center of the label. + * @GTK_JUSTIFY_FILL: The text is placed is distributed across the label. + * + * Used for justifying the text inside a #GtkLabel widget. (See also + * #GtkAlignment). + */ typedef enum { GTK_JUSTIFY_LEFT, @@ -245,14 +310,35 @@ typedef enum GTK_SCROLL_HORIZONTAL_ENDS } GtkScrollStep; -/* Orientation for toolbars, etc. */ +/** + * GtkOrientation: + * @GTK_ORIENTATION_HORIZONTAL: The widget is in horizontal orientation. + * @GTK_ORIENTATION_VERTICAL: The widget is in vertical orientation. + * + * Represents the orientation of widgets which can be switched between horizontal + * and vertical orientation on the fly, like #GtkToolbar. + */ typedef enum { GTK_ORIENTATION_HORIZONTAL, GTK_ORIENTATION_VERTICAL } GtkOrientation; -/* Placement type for scrolled window */ +/** + * GtkCornerType: + * @GTK_CORNER_TOP_LEFT: Place the scrollbars on the right and bottom of the + * widget (default behaviour). + * @GTK_CORNER_BOTTOM_LEFT: Place the scrollbars on the top and right of the + * widget. + * @GTK_CORNER_TOP_RIGHT: Place the scrollbars on the left and bottom of the + * widget. + * @GTK_CORNER_BOTTOM_RIGHT: Place the scrollbars on the top and left of the + * widget. + * + * Specifies which corner a child widget should be placed in when packed into + * a #GtkScrolledWindow. This is effectively the opposite of where the scroll + * bars are placed. + */ typedef enum { GTK_CORNER_TOP_LEFT, @@ -261,7 +347,14 @@ typedef enum GTK_CORNER_BOTTOM_RIGHT } GtkCornerType; -/* Packing types (for boxes) */ +/** + * GtkPackType: + * @GTK_PACK_START: The child is packed into the start of the box + * @GTK_PACK_END: The child is packed into the end of the box + * + * Represents the packing location #GtkBox children. (See: #GtkVBox, + * #GtkHBox, and #GtkButtonBox). + */ typedef enum { GTK_PACK_START, @@ -288,7 +381,15 @@ typedef enum GTK_PATH_CLASS } GtkPathType; -/* Scrollbar policy types (for scrolled windows) */ +/** + * GtkPolicyType: + * @GTK_POLICY_ALWAYS: The scrollbar is always visible. + * @GTK_POLICY_AUTOMATIC: The scrollbar will appear and disappear as necessary. For example, + * when all of a #GtkCList can not be seen. + * @GTK_POLICY_NEVER: The scrollbar will never appear. + * + * Determines when a scroll bar will be visible. + */ typedef enum { GTK_POLICY_ALWAYS, @@ -296,6 +397,17 @@ typedef enum GTK_POLICY_NEVER } GtkPolicyType; +/** + * GtkPositionType: + * @GTK_POS_LEFT: The feature is at the left edge. + * @GTK_POS_RIGHT: The feature is at the right edge. + * @GTK_POS_TOP: The feature is at the top edge. + * @GTK_POS_BOTTOM: The feature is at the bottom edge. + * + * Describes which edge of a widget a certain feature is positioned at, e.g. the + * tabs of a #GtkNotebook, the handle of a #GtkHandleBox or the label of a + * #GtkScale. + */ typedef enum { GTK_POS_LEFT, @@ -304,7 +416,14 @@ typedef enum GTK_POS_BOTTOM } GtkPositionType; -/* Style for buttons */ +/** + * GtkReliefStyle: + * @GTK_RELIEF_NORMAL: Draw a normal relief. + * @GTK_RELIEF_HALF: A half relief. + * @GTK_RELIEF_NONE: No relief. + * + * Indicated the relief to be drawn around a #GtkButton. + */ typedef enum { GTK_RELIEF_NORMAL, @@ -312,12 +431,17 @@ typedef enum GTK_RELIEF_NONE } GtkReliefStyle; -/* Resize type */ +/** + * GtkResizeMode: + * @GTK_RESIZE_PARENT: Pass resize request to the parent + * @GTK_RESIZE_QUEUE: Queue resizes on this widget + * @GTK_RESIZE_IMMEDIATE: Resize immediately. Deprecated. + */ typedef enum { - GTK_RESIZE_PARENT, /* Pass resize request to the parent */ - GTK_RESIZE_QUEUE, /* Queue resizes on this widget */ - GTK_RESIZE_IMMEDIATE /* Perform the resizes now */ + GTK_RESIZE_PARENT, + GTK_RESIZE_QUEUE, + GTK_RESIZE_IMMEDIATE } GtkResizeMode; /* scrolling types */ @@ -341,16 +465,42 @@ typedef enum GTK_SCROLL_END } GtkScrollType; -/* list selection modes */ +/** + * GtkSelectionMode: + * @GTK_SELECTION_NONE: No selection is possible. + * @GTK_SELECTION_SINGLE: Zero or one element may be selected. + * @GTK_SELECTION_BROWSE: Exactly one element is selected. In some circumstances, + * such as initially or during a search operation, it's possible for no element + * to be selected with %GTK_SELECTION_BROWSE. What is really enforced is that + * the user can't deselect a currently selected element except by selecting + * another element. + * @GTK_SELECTION_MULTIPLE: Any number of elements may be selected. + * Clicks toggle the state of an item. Any number of elements may be selected. + * The Ctrl key may be used to enlarge the selection, and Shift key to select + * between the focus and the child pointed to. Some widgets may also allow + * Click-drag to select a range of elements. + * @GTK_SELECTION_EXTENDED: Deprecated, behaves identical to %GTK_SELECTION_MULTIPLE. + * + * Used to control what selections users are allowed to make. + */ typedef enum { - GTK_SELECTION_NONE, /* Nothing can be selected */ + GTK_SELECTION_NONE, GTK_SELECTION_SINGLE, GTK_SELECTION_BROWSE, GTK_SELECTION_MULTIPLE } GtkSelectionMode; -/* Shadow types */ +/** + * GtkShadowType: + * @GTK_SHADOW_NONE: No outline. + * @GTK_SHADOW_IN: The outline is bevelled inwards. + * @GTK_SHADOW_OUT: The outline is bevelled outwards like a button. + * @GTK_SHADOW_ETCHED_IN: The outline has a sunken 3d appearance. + * @GTK_SHADOW_ETCHED_OUT: The outline has a raised 3d appearance. + * + * Used to change the appearance of an outline typically provided by a #GtkFrame. + */ typedef enum { GTK_SHADOW_NONE, @@ -392,7 +542,20 @@ typedef enum GTK_STATE_FOCUSED } GtkStateType; -/* Style for toolbars */ +/** + * GtkToolbarStyle: + * @GTK_TOOLBAR_ICONS: Buttons display only icons in the toolbar. + * @GTK_TOOLBAR_TEXT: Buttons display only text labels in the toolbar. + * @GTK_TOOLBAR_BOTH: Buttons display text and icons in the toolbar. + * @GTK_TOOLBAR_BOTH_HORIZ: Buttons display icons and text alongside each + * other, rather than vertically stacked + * + * Used to customize the appearance of a #GtkToolbar. Note that + * setting the toolbar style overrides the user's preferences + * for the default toolbar style. Note that if the button has only + * a label set and GTK_TOOLBAR_ICONS is used, the label will be + * visible, and vice versa. + */ typedef enum { GTK_TOOLBAR_ICONS, @@ -401,7 +564,19 @@ typedef enum GTK_TOOLBAR_BOTH_HORIZ } GtkToolbarStyle; -/* Window position types */ +/** + * GtkWindowPosition: + * @GTK_WIN_POS_NONE: No influence is made on placement. + * @GTK_WIN_POS_CENTER: Windows should be placed in the center of the screen. + * @GTK_WIN_POS_MOUSE: Windows should be placed at the current mouse position. + * @GTK_WIN_POS_CENTER_ALWAYS: Keep window centered as it changes size, etc. + * @GTK_WIN_POS_CENTER_ON_PARENT: Center the window on its transient + * parent (see gtk_window_set_transient_for()). + * + * Window placement can be influenced using this enumeration. Note that + * using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea. + * It won't necessarily work well with all window managers or on all windowing systems. + */ typedef enum { GTK_WIN_POS_NONE, @@ -411,7 +586,25 @@ typedef enum GTK_WIN_POS_CENTER_ON_PARENT } GtkWindowPosition; -/* Window types */ +/** + * GtkWindowType: + * @GTK_WINDOW_TOPLEVEL: A regular window, such as a dialog. + * @GTK_WINDOW_POPUP: A special window such as a tooltip. + * + * A #GtkWindow can be one of these types. Most things you'd consider a + * "window" should have type #GTK_WINDOW_TOPLEVEL; windows with this type + * are managed by the window manager and have a frame by default (call + * gtk_window_set_decorated() to toggle the frame). Windows with type + * #GTK_WINDOW_POPUP are ignored by the window manager; window manager + * keybindings won't work on them, the window manager won't decorate the + * window with a frame, many GTK+ features that rely on the window + * manager will not work (e.g. resize grips and + * maximization/minimization). #GTK_WINDOW_POPUP is used to implement + * widgets such as #GtkMenu or tooltips that you normally don't think of + * as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVEL. + * In particular, do not use #GTK_WINDOW_POPUP just to turn off + * the window borders; use gtk_window_set_decorated() for that. + */ typedef enum { GTK_WINDOW_TOPLEVEL, @@ -427,7 +620,13 @@ typedef enum GTK_WRAP_WORD_CHAR } GtkWrapMode; -/* How to sort */ +/** + * GtkSortType: + * @GTK_SORT_ASCENDING: Sorting is in ascending order. + * @GTK_SORT_DESCENDING: Sorting is in descending order. + * + * Determines the direction of a sort. + */ typedef enum { GTK_SORT_ASCENDING, @@ -533,6 +732,21 @@ typedef enum GTK_TREE_VIEW_GRID_LINES_BOTH } GtkTreeViewGridLines; +/** + * GtkDragResult: + * @GTK_DRAG_RESULT_SUCCESS: The drag operation was successful. + * @GTK_DRAG_RESULT_NO_TARGET: No suitable drag target. + * @GTK_DRAG_RESULT_USER_CANCELLED: The user cancelled the drag operation. + * @GTK_DRAG_RESULT_TIMEOUT_EXPIRED: The drag operation timed out. + * @GTK_DRAG_RESULT_GRAB_BROKEN: The pointer or keyboard grab used + * for the drag operation was broken. + * @GTK_DRAG_RESULT_ERROR: The drag operation failed due to some + * unspecified error. + * + * Gives an indication why a drag operation failed. + * The value can by obtained by connecting to the + * #GtkWidget::drag-failed signal. + */ typedef enum { GTK_DRAG_RESULT_SUCCESS, From 76de8aa7904e44a4effd70ac2abbd5af442bfe2c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 Jan 2011 18:48:20 -0500 Subject: [PATCH 1367/1463] Move GtkTreeModel docs inline --- docs/reference/gtk/tmpl/.gitignore | 2 + docs/reference/gtk/tmpl/gtktreemodel.sgml | 864 -------------- gtk/gtktreemodel.c | 1283 ++++++++++++--------- gtk/gtktreemodel.h | 42 +- 4 files changed, 801 insertions(+), 1390 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtktreemodel.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 95f448ac0c..1249f4db13 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -22,6 +22,7 @@ gtkdrawingarea.sgml gtkeditable.sgml gtkentry.sgml gtkentrybuffer.sgml +gtkenum.sgml gtkeventbox.sgml gtkexpander.sgml gtkfeatures.sgml @@ -71,6 +72,7 @@ gtktoolbar.sgml gtktoolitem.sgml gtktooltip.sgml gtktreednd.sgml +gtktreemodel.sgml gtktreemodelfilter.sgml gtktreeselection.sgml gtktreesortable.sgml diff --git a/docs/reference/gtk/tmpl/gtktreemodel.sgml b/docs/reference/gtk/tmpl/gtktreemodel.sgml deleted file mode 100644 index 07dcd45d0e..0000000000 --- a/docs/reference/gtk/tmpl/gtktreemodel.sgml +++ /dev/null @@ -1,864 +0,0 @@ - -GtkTreeModel - - -The tree interface used by GtkTreeView - - - -The #GtkTreeModel interface defines a generic tree interface for use by -the #GtkTreeView widget. It is an abstract interface, and is designed -to be usable with any appropriate data structure. The programmer just -has to implement this interface on their own data type for it to be -viewable by a #GtkTreeView widget. - - - -The model is represented as a hierarchical tree of strongly-typed, -columned data. In other words, the model can be seen as a tree where -every node has different values depending on which column is being -queried. The type of data found in a column is determined by using the -GType system (ie. #G_TYPE_INT, #GTK_TYPE_BUTTON, #G_TYPE_POINTER, etc.). -The types are homogeneous per column across all nodes. It is important -to note that this interface only provides a way of examining a model and -observing changes. The implementation of each individual model decides -how and if changes are made. - - - -In order to make life simpler for programmers who do not need to write -their own specialized model, two generic models are provided — the -#GtkTreeStore and the #GtkListStore. To use these, the developer simply -pushes data into these models as necessary. These models provide the -data structure as well as all appropriate tree interfaces. As a result, -implementing drag and drop, sorting, and storing data is trivial. For -the vast majority of trees and lists, these two models are sufficient. - - - -Models are accessed on a node/column level of granularity. One can -query for the value of a model at a certain node and a certain column -on that node. There are two structures used to reference a particular -node in a model. They are the #GtkTreePath and the #GtkTreeIter - - -Here, iter is short for iterator - - -Most of the interface consists of operations on a #GtkTreeIter. - - - -A path is essentially a potential node. It is a location on a model -that may or may not actually correspond to a node on a specific model. -The #GtkTreePath struct can be converted into either an array of -unsigned integers or a string. The string form is a list of numbers -separated by a colon. Each number refers to the offset at that level. -Thus, the path 0 refers to the root node and the path -2:4 refers to the fifth child of the third node. - - - -By contrast, a #GtkTreeIter is a reference to a specific node on a -specific model. It is a generic struct with an integer and three -generic pointers. These are filled in by the model in a model-specific -way. One can convert a path to an iterator by calling -gtk_tree_model_get_iter(). These iterators are the primary way of -accessing a model and are similar to the iterators used by -#GtkTextBuffer. They are generally statically allocated on the stack and -only used for a short time. The model interface defines a set of -operations using them for navigating the model. - - - -It is expected that models fill in the iterator with private data. For -example, the #GtkListStore model, which is internally a simple linked -list, stores a list node in one of the pointers. The #GtkTreeModelSort -stores an array and an offset in two of the pointers. Additionally, -there is an integer field. This field is generally filled with a unique -stamp per model. This stamp is for catching errors resulting from using -invalid iterators with a model. - - - -The lifecycle of an iterator can be a little confusing at first. -Iterators are expected to always be valid for as long as the model is -unchanged (and doesn't emit a signal). The model is considered to own -all outstanding iterators and nothing needs to be done to free them from -the user's point of view. Additionally, some models guarantee that an -iterator is valid for as long as the node it refers to is valid (most -notably the #GtkTreeStore and #GtkListStore). Although generally -uninteresting, as one always has to allow for the case where iterators -do not persist beyond a signal, some very important performance -enhancements were made in the sort model. As a result, the -#GTK_TREE_MODEL_ITERS_PERSIST flag was added to indicate this behavior. - - - -To help show some common operation of a model, some examples are -provided. The first example shows three ways of getting the iter at the -location 3:2:5. While the first method shown is easier, -the second is much more common, as you often get paths from callbacks. - - - -Acquiring a <structname>GtkTreeIter</structname> - -/* Three ways of getting the iter pointing to the location - */ -{ - GtkTreePath *path; - GtkTreeIter iter; - GtkTreeIter parent_iter; - - /* get the iterator from a string */ - gtk_tree_model_get_iter_from_string (model, &iter, "3:2:5"); - - /* get the iterator from a path */ - path = gtk_tree_path_new_from_string ("3:2:5"); - gtk_tree_model_get_iter (model, &iter, path); - gtk_tree_path_free (path); - - - /* walk the tree to find the iterator */ - gtk_tree_model_iter_nth_child (model, &iter, NULL, 3); - parent_iter = iter; - gtk_tree_model_iter_nth_child (model, &iter, &parent_iter, 2); - parent_iter = iter; - gtk_tree_model_iter_nth_child (model, &iter, &parent_iter, 5); -} - - - - - -This second example shows a quick way of iterating through a list and -getting a string and an integer from each row. The -populate_model function used below is not shown, as -it is specific to the #GtkListStore. For information on how to write -such a function, see the #GtkListStore documentation. - -Reading data from a <structname>GtkTreeModel</structname> - -enum -{ - STRING_COLUMN, - INT_COLUMN, - N_COLUMNS -}; - -{ - GtkTreeModel *list_store; - GtkTreeIter iter; - gboolean valid; - gint row_count = 0; - - /* make a new list_store */ - list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_INT); - - /* Fill the list store with data */ - populate_model (list_store); - - /* Get the first iter in the list */ - valid = gtk_tree_model_get_iter_first (list_store, &iter); - - while (valid) - { - /* Walk through the list, reading each row */ - gchar *str_data; - gint int_data; - - /* Make sure you terminate calls to gtk_tree_model_get() - * with a '-1' value - */ - gtk_tree_model_get (list_store, &iter, - STRING_COLUMN, &str_data, - INT_COLUMN, &int_data, - -1); - - /* Do something with the data */ - g_print ("Row %d: (%s,%d)\n", row_count, str_data, int_data); - g_free (str_data); - - row_count ++; - valid = gtk_tree_model_iter_next (list_store, &iter); - } -} - - - - - - -#GtkTreeView, #GtkTreeStore, #GtkListStore, GtkTreeDnd, #GtkTreeSortable - - - - - - - - - - - - - - - - - - - -@treemodel: the object which received the signal. -@arg1: -@arg2: - - - - - - -@treemodel: the object which received the signal. -@arg1: - - - - - - -@treemodel: the object which received the signal. -@arg1: -@arg2: - - - - - - -@treemodel: the object which received the signal. -@arg1: -@arg2: - - - - - - -@treemodel: the object which received the signal. -@arg1: -@arg2: -@arg3: - - - -The GtkTreeIter is the primary structure for -accessing a structure. Models are expected to put a unique integer in -the stamp member, and put model-specific -data in the three user_data members. - - -@stamp: A unique stamp to catch invalid iterators -@user_data: Model specific data -@user_data2: Model specific data -@user_data3: Model specific data - - - - - - - - - - - - - - - - - - -@g_iface: -@row_changed: -@row_inserted: -@row_has_child_toggled: -@row_deleted: -@rows_reordered: -@get_flags: -@get_n_columns: -@get_column_type: -@get_iter: -@get_path: -@get_value: -@iter_next: -@iter_children: -@iter_has_child: -@iter_n_children: -@iter_nth_child: -@iter_parent: -@ref_node: -@unref_node: - - - - - - -@model: The #GtkTreeModel currently being iterated -@path: The current #GtkTreePath -@iter: The current #GtkTreeIter -@data: The user data passed to gtk_tree_model_foreach() -@Returns: %TRUE to stop iterating, %FALSE to continue. - - - - -These flags indicate various properties of a #GtkTreeModel. They are -returned by gtk_tree_model_get_flags(), and must be static for the -lifetime of the object. A more complete description of -#GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of this -section. - - -@GTK_TREE_MODEL_ITERS_PERSIST: Iterators survive all signals emitted by the tree. -@GTK_TREE_MODEL_LIST_ONLY: The model is a list only, and never has children - - - - - - -@void: -@Returns: - - - - - - - -@path: -@Returns: - - - - - - - -@first_index: -@Varargs: -@Returns: - - - - - - - -@path: -@Returns: - - - - - - - -@void: -@Returns: - - - - - - - -@path: -@index_: - - - - - - - -@path: -@index_: - - - - - - - -@path: -@Returns: - - - - - - - -@path: -@Returns: - - - - - - - -@path: -@depth: -@Returns: - - - - - - - -@path: - - - - - - - -@path: -@Returns: - - - - - - - -@a: -@b: -@Returns: - - - - - - - -@path: - - - - - - - -@path: -@Returns: - - - - - - - -@path: -@Returns: - - - - - - - -@path: - - - - - - - -@path: -@descendant: -@Returns: - - - - - - - -@path: -@ancestor: -@Returns: - - - - - - - -@model: -@path: -@Returns: - - - - - - - -@proxy: -@model: -@path: -@Returns: - - - - - - - -@reference: -@Returns: - - - - - - - -@reference: -@Returns: - - - - - - - -@reference: -@Returns: - - - - - - - -@reference: - - - - - - - -@reference: -@Returns: - - - - - - - -@proxy: -@path: - - - - - - - -@proxy: -@path: - - - - - - - -@proxy: -@path: -@iter: -@new_order: - - - - - - - -@iter: -@Returns: - - - - - - - -@iter: - - - - - - - -@tree_model: -@Returns: - - - - - - - -@tree_model: -@Returns: - - - - - - - -@tree_model: -@index_: -@Returns: - - - - - - - -@tree_model: -@iter: -@path: -@Returns: - - - - - - - -@tree_model: -@iter: -@path_string: -@Returns: - - - - - - - -@tree_model: -@iter: -@Returns: - - - - - - - -@tree_model: -@iter: -@Returns: - - - - - - - -@tree_model: -@iter: -@column: -@value: - - - - - - - -@tree_model: -@iter: -@Returns: - - - - - - - -@tree_model: -@iter: -@parent: -@Returns: - - - - - - - -@tree_model: -@iter: -@Returns: - - - - - - - -@tree_model: -@iter: -@Returns: - - - - - - - -@tree_model: -@iter: -@parent: -@n: -@Returns: - - - - - - - -@tree_model: -@iter: -@child: -@Returns: - - - - - - - -@tree_model: -@iter: -@Returns: - - - - - - - -@tree_model: -@iter: - - - - - - - -@tree_model: -@iter: - - - - - - - -@tree_model: -@iter: -@Varargs: - - - - - - - -@tree_model: -@iter: -@var_args: - - - - - - - -@model: -@func: -@user_data: - - - - - - - -@tree_model: -@path: -@iter: - - - - - - - -@tree_model: -@path: -@iter: - - - - - - - -@tree_model: -@path: -@iter: - - - - - - - -@tree_model: -@path: - - - - - - - -@tree_model: -@path: -@iter: -@new_order: - - diff --git a/gtk/gtktreemodel.c b/gtk/gtktreemodel.c index 7b6622f468..d99067623b 100644 --- a/gtk/gtktreemodel.c +++ b/gtk/gtktreemodel.c @@ -29,6 +29,175 @@ #include "gtkmarshalers.h" #include "gtkintl.h" +/** + * SECTION:gtktreemodel + * @Title: GtkTreeModel + * @Short_description: The tree interface used by GtkTreeView + * @See_also: #GtkTreeView, #GtkTreeStore, #GtkListStore, + * GtkTreeDnd, + * #GtkTreeSortable + * + * The #GtkTreeModel interface defines a generic tree interface for + * use by the #GtkTreeView widget. It is an abstract interface, and + * is designed to be usable with any appropriate data structure. The + * programmer just has to implement this interface on their own data + * type for it to be viewable by a #GtkTreeView widget. + * + * The model is represented as a hierarchical tree of strongly-typed, + * columned data. In other words, the model can be seen as a tree where + * every node has different values depending on which column is being + * queried. The type of data found in a column is determined by using + * the GType system (ie. #G_TYPE_INT, #GTK_TYPE_BUTTON, #G_TYPE_POINTER, + * etc). The types are homogeneous per column across all nodes. It is + * important to note that this interface only provides a way of examining + * a model and observing changes. The implementation of each individual + * model decides how and if changes are made. + * + * In order to make life simpler for programmers who do not need to + * write their own specialized model, two generic models are provided + * — the #GtkTreeStore and the #GtkListStore. To use these, the + * developer simply pushes data into these models as necessary. These + * models provide the data structure as well as all appropriate tree + * interfaces. As a result, implementing drag and drop, sorting, and + * storing data is trivial. For the vast majority of trees and lists, + * these two models are sufficient. + * + * Models are accessed on a node/column level of granularity. One can + * query for the value of a model at a certain node and a certain + * column on that node. There are two structures used to reference + * a particular node in a model. They are the #GtkTreePath and the + * #GtkTreeIterHere, iter is short + * for iterator. Most of the interface + * consists of operations on a #GtkTreeIter. + * + * A path is essentially a potential node. It is a location on a model + * that may or may not actually correspond to a node on a specific + * model. The #GtkTreePath struct can be converted into either an + * array of unsigned integers or a string. The string form is a list + * of numbers separated by a colon. Each number refers to the offset + * at that level. Thus, the path 0 refers to the root + * node and the path 2:4 refers to the fifth child of + * the third node. + * + * By contrast, a #GtkTreeIter is a reference to a specific node on + * a specific model. It is a generic struct with an integer and three + * generic pointers. These are filled in by the model in a model-specific + * way. One can convert a path to an iterator by calling + * gtk_tree_model_get_iter(). These iterators are the primary way + * of accessing a model and are similar to the iterators used by + * #GtkTextBuffer. They are generally statically allocated on the + * stack and only used for a short time. The model interface defines + * a set of operations using them for navigating the model. + * + * It is expected that models fill in the iterator with private data. + * For example, the #GtkListStore model, which is internally a simple + * linked list, stores a list node in one of the pointers. The + * #GtkTreeModelSort stores an array and an offset in two of the + * pointers. Additionally, there is an integer field. This field is + * generally filled with a unique stamp per model. This stamp is for + * catching errors resulting from using invalid iterators with a model. + * + * The lifecycle of an iterator can be a little confusing at first. + * Iterators are expected to always be valid for as long as the model + * is unchanged (and doesn't emit a signal). The model is considered + * to own all outstanding iterators and nothing needs to be done to + * free them from the user's point of view. Additionally, some models + * guarantee that an iterator is valid for as long as the node it refers + * to is valid (most notably the #GtkTreeStore and #GtkListStore). + * Although generally uninteresting, as one always has to allow for + * the case where iterators do not persist beyond a signal, some very + * important performance enhancements were made in the sort model. + * As a result, the #GTK_TREE_MODEL_ITERS_PERSIST flag was added to + * indicate this behavior. + * + * To help show some common operation of a model, some examples are + * provided. The first example shows three ways of getting the iter at + * the location 3:2:5. While the first method shown is + * easier, the second is much more common, as you often get paths from + * callbacks. + * + * + * Acquiring a <structname>GtkTreeIter</structname> + * + * /* Three ways of getting the iter pointing to the location */ + * GtkTreePath *path; + * GtkTreeIter iter; + * GtkTreeIter parent_iter; + * + * /* get the iterator from a string */ + * gtk_tree_model_get_iter_from_string (model, &iter, "3:2:5"); + * + * /* get the iterator from a path */ + * path = gtk_tree_path_new_from_string ("3:2:5"); + * gtk_tree_model_get_iter (model, &iter, path); + * gtk_tree_path_free (path); + * + * /* walk the tree to find the iterator */ + * gtk_tree_model_iter_nth_child (model, &iter, NULL, 3); + * parent_iter = iter; + * gtk_tree_model_iter_nth_child (model, &iter, &parent_iter, 2); + * parent_iter = iter; + * gtk_tree_model_iter_nth_child (model, &iter, &parent_iter, 5); + * + * + * + * This second example shows a quick way of iterating through a list + * and getting a string and an integer from each row. The + * populate_model function used below is not + * shown, as it is specific to the #GtkListStore. For information on + * how to write such a function, see the #GtkListStore documentation. + * + * + * Reading data from a <structname>GtkTreeModel</structname> + * + * enum + * { + * STRING_COLUMN, + * INT_COLUMN, + * N_COLUMNS + * }; + * + * ... + * + * GtkTreeModel *list_store; + * GtkTreeIter iter; + * gboolean valid; + * gint row_count = 0; + * + * /* make a new list_store */ + * list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_INT); + * + * /* Fill the list store with data */ + * populate_model (list_store); + * + * /* Get the first iter in the list */ + * valid = gtk_tree_model_get_iter_first (list_store, &iter); + * + * while (valid) + * { + * /* Walk through the list, reading each row */ + * gchar *str_data; + * gint int_data; + * + * /* Make sure you terminate calls to gtk_tree_model_get() + * * with a '-1' value + * */ + * gtk_tree_model_get (list_store, &iter, + * STRING_COLUMN, &str_data, + * INT_COLUMN, &int_data, + * -1); + * + * /* Do something with the data */ + * g_print ("Row %d: (%s,%d)\n", row_count, str_data, int_data); + * g_free (str_data); + * + * row_count++; + * valid = gtk_tree_model_iter_next (list_store, &iter); + * } + * + * + * + */ #define INITIALIZE_TREE_ITER(Iter) \ G_STMT_START{ \ @@ -104,19 +273,19 @@ gtk_tree_model_get_type (void) const GTypeInfo tree_model_info = { sizeof (GtkTreeModelIface), /* class_size */ - gtk_tree_model_base_init, /* base_init */ - NULL, /* base_finalize */ - NULL, - NULL, /* class_finalize */ - NULL, /* class_data */ - 0, - 0, /* n_preallocs */ - NULL + gtk_tree_model_base_init, /* base_init */ + NULL, /* base_finalize */ + NULL, + NULL, /* class_finalize */ + NULL, /* class_data */ + 0, + 0, /* n_preallocs */ + NULL }; tree_model_type = - g_type_register_static (G_TYPE_INTERFACE, I_("GtkTreeModel"), - &tree_model_info, 0); + g_type_register_static (G_TYPE_INTERFACE, I_("GtkTreeModel"), + &tree_model_info, 0); g_type_interface_add_prerequisite (tree_model_type, G_TYPE_OBJECT); } @@ -183,10 +352,11 @@ gtk_tree_model_base_init (gpointer g_class) * @path: a #GtkTreePath identifying the new row * @iter: a valid #GtkTreeIter pointing to the new row * - * This signal is emitted when a new row has been inserted in the model. + * This signal is emitted when a new row has been inserted in + * the model. * * Note that the row may still be empty at this point, since - * it is a common pattern to first insert an empty row, and + * it is a common pattern to first insert an empty row, and * then fill it with the desired values. */ closure = g_closure_new_simple (sizeof (GClosure), NULL); @@ -207,8 +377,8 @@ gtk_tree_model_base_init (gpointer g_class) * @path: a #GtkTreePath identifying the row * @iter: a valid #GtkTreeIter pointing to the row * - * This signal is emitted when a row has gotten the first child row or lost - * its last child row. + * This signal is emitted when a row has gotten the first child + * row or lost its last child row. */ tree_model_signals[ROW_HAS_CHILD_TOGGLED] = g_signal_new (I_("row-has-child-toggled"), @@ -231,9 +401,9 @@ gtk_tree_model_base_init (gpointer g_class) * Note that no iterator is passed to the signal handler, * since the row is already deleted. * - * Implementations of GtkTreeModel must emit row-deleted + * Implementations of GtkTreeModel must emit ::row-deleted * before removing the node from its - * internal data structures. This is because models and + * internal data structures. This is because models and * views which access and monitor this model might have * references on the node which need to be released in the * row-deleted handler. @@ -254,14 +424,14 @@ gtk_tree_model_base_init (gpointer g_class) * GtkTreeModel::rows-reordered: * @tree_model: the #GtkTreeModel on which the signal is emitted * @path: a #GtkTreePath identifying the tree node whose children - * have been reordered - * @iter: a valid #GtkTreeIter pointing to the node whose - * @new_order: an array of integers mapping the current position of - * each child to its old position before the re-ordering, - * i.e. @new_order[newpos] = oldpos. + * have been reordered + * @iter: a valid #GtkTreeIter pointing to the node whose + * @new_order: an array of integers mapping the current position + * of each child to its old position before the re-ordering, + * i.e. @new_order[newpos] = oldpos * - * This signal is emitted when the children of a node in the #GtkTreeModel - * have been reordered. + * This signal is emitted when the children of a node in the + * #GtkTreeModel have been reordered. * * Note that this signal is not emitted * when rows are reordered by DND, since this is implemented @@ -295,7 +465,7 @@ row_inserted_marshal (GClosure *closure, void (* row_inserted_callback) (GtkTreeModel *tree_model, GtkTreePath *path, GtkTreeIter *iter) = NULL; - + GObject *model = g_value_get_object (param_values + 0); GtkTreePath *path = (GtkTreePath *)g_value_get_boxed (param_values + 1); GtkTreeIter *iter = (GtkTreeIter *)g_value_get_boxed (param_values + 2); @@ -303,14 +473,14 @@ row_inserted_marshal (GClosure *closure, /* first, we need to update internal row references */ gtk_tree_row_ref_inserted ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING), path, iter); - + /* fetch the interface ->row_inserted implementation */ iface = GTK_TREE_MODEL_GET_IFACE (model); row_inserted_callback = G_STRUCT_MEMBER (gpointer, iface, G_STRUCT_OFFSET (GtkTreeModelIface, row_inserted)); - /* Call that default signal handler, it if has been set */ + /* Call that default signal handler, it if has been set */ if (row_inserted_callback) row_inserted_callback (GTK_TREE_MODEL (model), path, iter); } @@ -325,10 +495,9 @@ row_deleted_marshal (GClosure *closure, { GtkTreeModelIface *iface; void (* row_deleted_callback) (GtkTreeModel *tree_model, - GtkTreePath *path) = NULL; + GtkTreePath *path) = NULL; GObject *model = g_value_get_object (param_values + 0); GtkTreePath *path = (GtkTreePath *)g_value_get_boxed (param_values + 1); - /* first, we need to update internal row references */ gtk_tree_row_ref_deleted ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING), @@ -339,7 +508,7 @@ row_deleted_marshal (GClosure *closure, row_deleted_callback = G_STRUCT_MEMBER (gpointer, iface, G_STRUCT_OFFSET (GtkTreeModelIface, row_deleted)); - + /* Call that default signal handler, it if has been set */ if (row_deleted_callback) row_deleted_callback (GTK_TREE_MODEL (model), path); @@ -358,12 +527,12 @@ rows_reordered_marshal (GClosure *closure, GtkTreePath *path, GtkTreeIter *iter, gint *new_order); - + GObject *model = g_value_get_object (param_values + 0); GtkTreePath *path = (GtkTreePath *)g_value_get_boxed (param_values + 1); GtkTreeIter *iter = (GtkTreeIter *)g_value_get_boxed (param_values + 2); gint *new_order = (gint *)g_value_get_pointer (param_values + 3); - + /* first, we need to update internal row references */ gtk_tree_row_ref_reordered ((RowRefList *)g_object_get_data (model, ROW_REF_DATA_STRING), path, iter, new_order); @@ -382,11 +551,11 @@ rows_reordered_marshal (GClosure *closure, /** * gtk_tree_path_new: * - * Creates a new #GtkTreePath. This structure refers to a row. + * Creates a new #GtkTreePath. + * This structure refers to a row. * * Return value: A newly created #GtkTreePath. - **/ -/* GtkTreePath Operations */ + */ GtkTreePath * gtk_tree_path_new (void) { @@ -400,16 +569,18 @@ gtk_tree_path_new (void) /** * gtk_tree_path_new_from_string: - * @path: The string representation of a path. + * @path: The string representation of a path * - * Creates a new #GtkTreePath initialized to @path. @path is expected to be a - * colon separated list of numbers. For example, the string "10:4:0" would - * create a path of depth 3 pointing to the 11th child of the root node, the 5th - * child of that 11th child, and the 1st child of that 5th child. If an invalid - * path string is passed in, %NULL is returned. + * Creates a new #GtkTreePath initialized to @path. + * + * @path is expected to be a colon separated list of numbers. + * For example, the string "10:4:0" would create a path of depth + * 3 pointing to the 11th child of the root node, the 5th + * child of that 11th child, and the 1st child of that 5th child. + * If an invalid path string is passed in, %NULL is returned. * * Return value: A newly-created #GtkTreePath, or %NULL - **/ + */ GtkTreePath * gtk_tree_path_new_from_string (const gchar *path) { @@ -427,22 +598,22 @@ gtk_tree_path_new_from_string (const gchar *path) { i = strtol (path, &ptr, 10); if (i < 0) - { - g_warning (G_STRLOC ": Negative numbers in path %s passed to gtk_tree_path_new_from_string", orig_path); - gtk_tree_path_free (retval); - return NULL; - } + { + g_warning (G_STRLOC ": Negative numbers in path %s passed to gtk_tree_path_new_from_string", orig_path); + gtk_tree_path_free (retval); + return NULL; + } gtk_tree_path_append_index (retval, i); if (*ptr == '\000') - break; + break; if (ptr == path || *ptr != ':') - { - g_warning (G_STRLOC ": Invalid path %s passed to gtk_tree_path_new_from_string", orig_path); - gtk_tree_path_free (retval); - return NULL; - } + { + g_warning (G_STRLOC ": Invalid path %s passed to gtk_tree_path_new_from_string", orig_path); + gtk_tree_path_free (retval); + return NULL; + } path = ptr + 1; } @@ -456,13 +627,13 @@ gtk_tree_path_new_from_string (const gchar *path) * * Creates a new path with @first_index and @varargs as indices. * - * Return value: A newly created #GtkTreePath. + * Return value: A newly created #GtkTreePath * * Since: 2.2 - **/ + */ GtkTreePath * gtk_tree_path_new_from_indices (gint first_index, - ...) + ...) { int arg; va_list args; @@ -488,11 +659,15 @@ gtk_tree_path_new_from_indices (gint first_index, * gtk_tree_path_to_string: * @path: A #GtkTreePath * - * Generates a string representation of the path. This string is a ':' - * separated list of numbers. For example, "4:10:0:3" would be an acceptable return value for this string. + * Generates a string representation of the path. * - * Return value: A newly-allocated string. Must be freed with g_free(). - **/ + * This string is a ':' separated list of numbers. + * For example, "4:10:0:3" would be an acceptable + * return value for this string. + * + * Return value: A newly-allocated string. + * Must be freed with g_free(). + */ gchar * gtk_tree_path_to_string (GtkTreePath *path) { @@ -508,14 +683,14 @@ gtk_tree_path_to_string (GtkTreePath *path) ptr = retval = g_new0 (gchar, n); end = ptr + n; g_snprintf (retval, end - ptr, "%d", path->indices[0]); - while (*ptr != '\000') + while (*ptr != '\000') ptr++; for (i = 1; i < path->depth; i++) { g_snprintf (ptr, end - ptr, ":%d", path->indices[i]); while (*ptr != '\000') - ptr++; + ptr++; } return retval; @@ -524,10 +699,12 @@ gtk_tree_path_to_string (GtkTreePath *path) /** * gtk_tree_path_new_first: * - * Creates a new #GtkTreePath. The string representation of this path is "0" + * Creates a new #GtkTreePath. * - * Return value: A new #GtkTreePath. - **/ + * The string representation of this path is "0". + * + * Return value: A new #GtkTreePath + */ GtkTreePath * gtk_tree_path_new_first (void) { @@ -541,15 +718,16 @@ gtk_tree_path_new_first (void) /** * gtk_tree_path_append_index: - * @path: A #GtkTreePath. - * @index_: The index. + * @path: a #GtkTreePath + * @index_: the index * - * Appends a new index to a path. As a result, the depth of the path is - * increased. - **/ + * Appends a new index to a path. + * + * As a result, the depth of the path is increased. + */ void gtk_tree_path_append_index (GtkTreePath *path, - gint index) + gint index) { g_return_if_fail (path != NULL); g_return_if_fail (index >= 0); @@ -561,15 +739,16 @@ gtk_tree_path_append_index (GtkTreePath *path, /** * gtk_tree_path_prepend_index: - * @path: A #GtkTreePath. - * @index_: The index. + * @path: a #GtkTreePath + * @index_: the index * - * Prepends a new index to a path. As a result, the depth of the path is - * increased. - **/ + * Prepends a new index to a path. + * + * As a result, the depth of the path is increased. + */ void gtk_tree_path_prepend_index (GtkTreePath *path, - gint index) + gint index) { gint *new_indices; @@ -590,12 +769,12 @@ gtk_tree_path_prepend_index (GtkTreePath *path, /** * gtk_tree_path_get_depth: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * * Returns the current depth of @path. * * Return value: The depth of @path - **/ + */ gint gtk_tree_path_get_depth (GtkTreePath *path) { @@ -606,13 +785,15 @@ gtk_tree_path_get_depth (GtkTreePath *path) /** * gtk_tree_path_get_indices: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * - * Returns the current indices of @path. This is an array of integers, each - * representing a node in a tree. This value should not be freed. + * Returns the current indices of @path. * - * Return value: The current indices, or %NULL. - **/ + * This is an array of integers, each representing a node in a tree. + * This value should not be freed. + * + * Return value: The current indices, or %NULL + */ gint * gtk_tree_path_get_indices (GtkTreePath *path) { @@ -623,22 +804,26 @@ gtk_tree_path_get_indices (GtkTreePath *path) /** * gtk_tree_path_get_indices_with_depth: - * @path: A #GtkTreePath. - * @depth: Number of elements returned in the integer array + * @path: a #GtkTreePath + * @depth: (allow-none): return location for number of elements + * returned in the integer array, or %NULL * * Returns the current indices of @path. + * * This is an array of integers, each representing a node in a tree. * It also returns the number of elements in the array. * The array should not be freed. * - * Return value: (array length=depth) (transfer none): The current indices, or %NULL. + * Return value: (array length=depth) (transfer none): The current + * indices, or %NULL * * Since: 3.0 * * Rename to: gtk_tree_path_get_indices - **/ + */ gint * -gtk_tree_path_get_indices_with_depth (GtkTreePath *path, gint *depth) +gtk_tree_path_get_indices_with_depth (GtkTreePath *path, + gint *depth) { g_return_val_if_fail (path != NULL, NULL); @@ -650,10 +835,10 @@ gtk_tree_path_get_indices_with_depth (GtkTreePath *path, gint *depth) /** * gtk_tree_path_free: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * * Frees @path. - **/ + */ void gtk_tree_path_free (GtkTreePath *path) { @@ -666,12 +851,12 @@ gtk_tree_path_free (GtkTreePath *path) /** * gtk_tree_path_copy: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * * Creates a new #GtkTreePath as a copy of @path. * - * Return value: A new #GtkTreePath. - **/ + * Return value: a new #GtkTreePath + */ GtkTreePath * gtk_tree_path_copy (const GtkTreePath *path) { @@ -692,18 +877,20 @@ G_DEFINE_BOXED_TYPE (GtkTreePath, gtk_tree_path, /** * gtk_tree_path_compare: - * @a: A #GtkTreePath. - * @b: A #GtkTreePath to compare with. + * @a: a #GtkTreePath + * @b: a #GtkTreePath to compare with * - * Compares two paths. If @a appears before @b in a tree, then -1 is returned. - * If @b appears before @a, then 1 is returned. If the two nodes are equal, - * then 0 is returned. + * Compares two paths. * - * Return value: The relative positions of @a and @b - **/ + * If @a appears before @b in a tree, then -1 is returned. + * If @b appears before @a, then 1 is returned. + * If the two nodes are equal, then 0 is returned. + * + * Return value: the relative positions of @a and @b + */ gint gtk_tree_path_compare (const GtkTreePath *a, - const GtkTreePath *b) + const GtkTreePath *b) { gint p = 0, q = 0; @@ -715,7 +902,7 @@ gtk_tree_path_compare (const GtkTreePath *a, do { if (a->indices[p] == b->indices[q]) - continue; + continue; return (a->indices[p] < b->indices[q]?-1:1); } while (++p < a->depth && ++q < b->depth); @@ -732,7 +919,7 @@ gtk_tree_path_compare (const GtkTreePath *a, * Returns %TRUE if @descendant is a descendant of @path. * * Return value: %TRUE if @descendant is contained inside @path - **/ + */ gboolean gtk_tree_path_is_ancestor (GtkTreePath *path, GtkTreePath *descendant) @@ -765,7 +952,7 @@ gtk_tree_path_is_ancestor (GtkTreePath *path, * Returns %TRUE if @path is a descendant of @ancestor. * * Return value: %TRUE if @ancestor contains @path somewhere below it - **/ + */ gboolean gtk_tree_path_is_descendant (GtkTreePath *path, GtkTreePath *ancestor) @@ -793,10 +980,10 @@ gtk_tree_path_is_descendant (GtkTreePath *path, /** * gtk_tree_path_next: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * * Moves the @path to point to the next node at the current depth. - **/ + */ void gtk_tree_path_next (GtkTreePath *path) { @@ -808,13 +995,14 @@ gtk_tree_path_next (GtkTreePath *path) /** * gtk_tree_path_prev: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * - * Moves the @path to point to the previous node at the current depth, - * if it exists. + * Moves the @path to point to the previous node at the + * current depth, if it exists. * - * Return value: %TRUE if @path has a previous node, and the move was made. - **/ + * Return value: %TRUE if @path has a previous node, and + * the move was made + */ gboolean gtk_tree_path_prev (GtkTreePath *path) { @@ -833,12 +1021,12 @@ gtk_tree_path_prev (GtkTreePath *path) /** * gtk_tree_path_up: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * * Moves the @path to point to its parent node, if it has a parent. * - * Return value: %TRUE if @path has a parent, and the move was made. - **/ + * Return value: %TRUE if @path has a parent, and the move was made + */ gboolean gtk_tree_path_up (GtkTreePath *path) { @@ -854,10 +1042,10 @@ gtk_tree_path_up (GtkTreePath *path) /** * gtk_tree_path_down: - * @path: A #GtkTreePath. + * @path: a #GtkTreePath * * Moves @path to point to the first child of the current path. - **/ + */ void gtk_tree_path_down (GtkTreePath *path) { @@ -868,16 +1056,17 @@ gtk_tree_path_down (GtkTreePath *path) /** * gtk_tree_iter_copy: - * @iter: A #GtkTreeIter. + * @iter: a #GtkTreeIter * - * Creates a dynamically allocated tree iterator as a copy of @iter. - * This function is not intended for use in applications, because you - * can just copy the structs by value + * Creates a dynamically allocated tree iterator as a copy of @iter. + * + * This function is not intended for use in applications, + * because you can just copy the structs by value * (GtkTreeIter new_iter = iter;). * You must free this iter with gtk_tree_iter_free(). * - * Return value: a newly-allocated copy of @iter. - **/ + * Return value: a newly-allocated copy of @iter + */ GtkTreeIter * gtk_tree_iter_copy (GtkTreeIter *iter) { @@ -893,11 +1082,12 @@ gtk_tree_iter_copy (GtkTreeIter *iter) /** * gtk_tree_iter_free: - * @iter: A dynamically allocated tree iterator. + * @iter: a dynamically allocated tree iterator * * Frees an iterator that has been allocated by gtk_tree_iter_copy(). + * * This function is mainly used for language bindings. - **/ + */ void gtk_tree_iter_free (GtkTreeIter *iter) { @@ -912,14 +1102,16 @@ G_DEFINE_BOXED_TYPE (GtkTreeIter, gtk_tree_iter, /** * gtk_tree_model_get_flags: - * @tree_model: A #GtkTreeModel. + * @tree_model: a #GtkTreeModel * - * Returns a set of flags supported by this interface. The flags are a bitwise - * combination of #GtkTreeModelFlags. The flags supported should not change - * during the lifecycle of the @tree_model. + * Returns a set of flags supported by this interface. * - * Return value: The flags supported by this interface. - **/ + * The flags are a bitwise combination of #GtkTreeModelFlags. + * The flags supported should not change during the lifetime + * of the @tree_model. + * + * Return value: the flags supported by this interface + */ GtkTreeModelFlags gtk_tree_model_get_flags (GtkTreeModel *tree_model) { @@ -936,12 +1128,12 @@ gtk_tree_model_get_flags (GtkTreeModel *tree_model) /** * gtk_tree_model_get_n_columns: - * @tree_model: A #GtkTreeModel. + * @tree_model: a #GtkTreeModel * * Returns the number of columns supported by @tree_model. * - * Return value: The number of columns. - **/ + * Return value: the number of columns + */ gint gtk_tree_model_get_n_columns (GtkTreeModel *tree_model) { @@ -956,16 +1148,16 @@ gtk_tree_model_get_n_columns (GtkTreeModel *tree_model) /** * gtk_tree_model_get_column_type: - * @tree_model: A #GtkTreeModel. - * @index_: The column index. + * @tree_model: a #GtkTreeModel + * @index_: the column index * * Returns the type of the column. * - * Return value: (transfer none): The type of the column. - **/ + * Return value: (transfer none): the type of the column + */ GType gtk_tree_model_get_column_type (GtkTreeModel *tree_model, - gint index) + gint index) { GtkTreeModelIface *iface; @@ -980,18 +1172,18 @@ gtk_tree_model_get_column_type (GtkTreeModel *tree_model, /** * gtk_tree_model_get_iter: - * @tree_model: A #GtkTreeModel. - * @iter: (out): The uninitialized #GtkTreeIter. - * @path: The #GtkTreePath. + * @tree_model: a #GtkTreeModel + * @iter: (out): the uninitialized #GtkTreeIter + * @path: the #GtkTreePath * * Sets @iter to a valid iterator pointing to @path. * - * Return value: %TRUE, if @iter was set. - **/ + * Return value: %TRUE, if @iter was set + */ gboolean gtk_tree_model_get_iter (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreePath *path) + GtkTreeIter *iter, + GtkTreePath *path) { GtkTreeModelIface *iface; @@ -1010,19 +1202,19 @@ gtk_tree_model_get_iter (GtkTreeModel *tree_model, /** * gtk_tree_model_get_iter_from_string: - * @tree_model: A #GtkTreeModel. - * @iter: (out): An uninitialized #GtkTreeIter. - * @path_string: A string representation of a #GtkTreePath. + * @tree_model: a #GtkTreeModel + * @iter: (out): an uninitialized #GtkTreeIter + * @path_string: a string representation of a #GtkTreePath * * Sets @iter to a valid iterator pointing to @path_string, if it * exists. Otherwise, @iter is left invalid and %FALSE is returned. * - * Return value: %TRUE, if @iter was set. - **/ + * Return value: %TRUE, if @iter was set + */ gboolean gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model, - GtkTreeIter *iter, - const gchar *path_string) + GtkTreeIter *iter, + const gchar *path_string) { gboolean retval; GtkTreePath *path; @@ -1030,30 +1222,33 @@ gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model, g_return_val_if_fail (GTK_IS_TREE_MODEL (tree_model), FALSE); g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (path_string != NULL, FALSE); - + path = gtk_tree_path_new_from_string (path_string); - + g_return_val_if_fail (path != NULL, FALSE); retval = gtk_tree_model_get_iter (tree_model, iter, path); gtk_tree_path_free (path); - + return retval; } /** * gtk_tree_model_get_string_from_iter: - * @tree_model: A #GtkTreeModel. - * @iter: An #GtkTreeIter. + * @tree_model: a #GtkTreeModel + * @iter: a #GtkTreeIter * - * Generates a string representation of the iter. This string is a ':' - * separated list of numbers. For example, "4:10:0:3" would be an - * acceptable return value for this string. + * Generates a string representation of the iter. * - * Return value: A newly-allocated string. Must be freed with g_free(). + * This string is a ':' separated list of numbers. + * For example, "4:10:0:3" would be an acceptable + * return value for this string. + * + * Return value: a newly-allocated string. + * Must be freed with g_free(). * * Since: 2.2 - **/ + */ gchar * gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model, GtkTreeIter *iter) @@ -1076,17 +1271,18 @@ gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model, /** * gtk_tree_model_get_iter_first: - * @tree_model: A #GtkTreeModel. - * @iter: (out): The uninitialized #GtkTreeIter. - * - * Initializes @iter with the first iterator in the tree (the one at the path - * "0") and returns %TRUE. Returns %FALSE if the tree is empty. - * - * Return value: %TRUE, if @iter was set. - **/ + * @tree_model: a #GtkTreeModel + * @iter: (out): the uninitialized #GtkTreeIter + * + * Initializes @iter with the first iterator in the tree + * (the one at the path "0") and returns %TRUE. Returns + * %FALSE if the tree is empty. + * + * Return value: %TRUE, if @iter was set + */ gboolean gtk_tree_model_get_iter_first (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreePath *path; gboolean retval; @@ -1103,17 +1299,18 @@ gtk_tree_model_get_iter_first (GtkTreeModel *tree_model, /** * gtk_tree_model_get_path: - * @tree_model: A #GtkTreeModel. - * @iter: The #GtkTreeIter. + * @tree_model: a #GtkTreeModel + * @iter: the #GtkTreeIter * - * Returns a newly-created #GtkTreePath referenced by @iter. This path should - * be freed with gtk_tree_path_free(). + * Returns a newly-created #GtkTreePath referenced by @iter. * - * Return value: a newly-created #GtkTreePath. - **/ + * This path should be freed with gtk_tree_path_free(). + * + * Return value: a newly-created #GtkTreePath + */ GtkTreePath * gtk_tree_model_get_path (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreeModelIface *iface; @@ -1128,20 +1325,21 @@ gtk_tree_model_get_path (GtkTreeModel *tree_model, /** * gtk_tree_model_get_value: - * @tree_model: A #GtkTreeModel. - * @iter: The #GtkTreeIter. - * @column: The column to lookup the value at. - * @value: (out) (transfer none): An empty #GValue to set. + * @tree_model: a #GtkTreeModel + * @iter: the #GtkTreeIter + * @column: the column to lookup the value at + * @value: (out) (transfer none): an empty #GValue to set * * Initializes and sets @value to that at @column. - * When done with @value, g_value_unset() needs to be called + * + * When done with @value, g_value_unset() needs to be called * to free any allocated memory. */ void gtk_tree_model_get_value (GtkTreeModel *tree_model, - GtkTreeIter *iter, - gint column, - GValue *value) + GtkTreeIter *iter, + gint column, + GValue *value) { GtkTreeModelIface *iface; @@ -1157,17 +1355,19 @@ gtk_tree_model_get_value (GtkTreeModel *tree_model, /** * gtk_tree_model_iter_next: - * @tree_model: A #GtkTreeModel. - * @iter: (in): The #GtkTreeIter. + * @tree_model: a #GtkTreeModel + * @iter: (in): the #GtkTreeIter * - * Sets @iter to point to the node following it at the current level. If there - * is no next @iter, %FALSE is returned and @iter is set to be invalid. + * Sets @iter to point to the node following it at the current level. * - * Return value: %TRUE if @iter has been changed to the next node. - **/ + * If there is no next @iter, %FALSE is returned and @iter is set + * to be invalid. + * + * Return value: %TRUE if @iter has been changed to the next node + */ gboolean gtk_tree_model_iter_next (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreeModelIface *iface; @@ -1206,8 +1406,10 @@ gtk_tree_model_iter_previous_default (GtkTreeModel *tree_model, * @tree_model: a #GtkTreeModel * @iter: (inout): the #GtkTreeIter * - * Sets @iter to point to the previous node at the current level. If there - * is no previous @iter, %FALSE is returned and @iter is set to be invalid. + * Sets @iter to point to the previous node at the current level. + * + * If there is no previous @iter, %FALSE is returned and @iter is + * set to be invalid. * * Return value: %TRUE if @iter has been changed to the previous node * @@ -1235,23 +1437,25 @@ gtk_tree_model_iter_previous (GtkTreeModel *tree_model, /** * gtk_tree_model_iter_children: - * @tree_model: A #GtkTreeModel. - * @iter: (out): The new #GtkTreeIter to be set to the child. - * @parent: (allow-none): The #GtkTreeIter, or %NULL + * @tree_model: a #GtkTreeModel + * @iter: (out): the new #GtkTreeIter to be set to the child + * @parent: (allow-none): the #GtkTreeIter, or %NULL * - * Sets @iter to point to the first child of @parent. If @parent has no - * children, %FALSE is returned and @iter is set to be invalid. @parent - * will remain a valid node after this function has been called. + * Sets @iter to point to the first child of @parent. + * + * If @parent has no children, %FALSE is returned and @iter is + * set to be invalid. @parent will remain a valid node after this + * function has been called. * * If @parent is %NULL returns the first node, equivalent to * gtk_tree_model_get_iter_first (tree_model, iter); * - * Return value: %TRUE, if @child has been set to the first child. - **/ + * Return value: %TRUE, if @child has been set to the first child + */ gboolean gtk_tree_model_iter_children (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *parent) + GtkTreeIter *iter, + GtkTreeIter *parent) { GtkTreeModelIface *iface; @@ -1268,16 +1472,16 @@ gtk_tree_model_iter_children (GtkTreeModel *tree_model, /** * gtk_tree_model_iter_has_child: - * @tree_model: A #GtkTreeModel. - * @iter: The #GtkTreeIter to test for children. + * @tree_model: a #GtkTreeModel + * @iter: the #GtkTreeIter to test for children * * Returns %TRUE if @iter has children, %FALSE otherwise. * - * Return value: %TRUE if @iter has children. - **/ + * Return value: %TRUE if @iter has children + */ gboolean gtk_tree_model_iter_has_child (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreeModelIface *iface; @@ -1292,17 +1496,19 @@ gtk_tree_model_iter_has_child (GtkTreeModel *tree_model, /** * gtk_tree_model_iter_n_children: - * @tree_model: A #GtkTreeModel. - * @iter: (allow-none): The #GtkTreeIter, or %NULL. + * @tree_model: a #GtkTreeModel + * @iter: (allow-none): the #GtkTreeIter, or %NULL * - * Returns the number of children that @iter has. As a special case, if @iter - * is %NULL, then the number of toplevel nodes is returned. + * Returns the number of children that @iter has. * - * Return value: The number of children of @iter. - **/ + * As a special case, if @iter is %NULL, then the number + * of toplevel nodes is returned. + * + * Return value: the number of children of @iter + */ gint gtk_tree_model_iter_n_children (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreeModelIface *iface; @@ -1316,24 +1522,26 @@ gtk_tree_model_iter_n_children (GtkTreeModel *tree_model, /** * gtk_tree_model_iter_nth_child: - * @tree_model: A #GtkTreeModel. - * @iter: (out): The #GtkTreeIter to set to the nth child. - * @parent: (allow-none): The #GtkTreeIter to get the child from, or %NULL. - * @n: Then index of the desired child. + * @tree_model: a #GtkTreeModel + * @iter: (out): the #GtkTreeIter to set to the nth child + * @parent: (allow-none): the #GtkTreeIter to get the child from, or %NULL. + * @n: the index of the desired child * - * Sets @iter to be the child of @parent, using the given index. The first - * index is 0. If @n is too big, or @parent has no children, @iter is set - * to an invalid iterator and %FALSE is returned. @parent will remain a valid - * node after this function has been called. As a special case, if @parent is - * %NULL, then the @nth root node is set. + * Sets @iter to be the child of @parent, using the given index. * - * Return value: %TRUE, if @parent has an @nth child. - **/ + * The first index is 0. If @n is too big, or @parent has no children, + * @iter is set to an invalid iterator and %FALSE is returned. @parent + * will remain a valid node after this function has been called. As a + * special case, if @parent is %NULL, then the @nth root node + * is set. + * + * Return value: %TRUE, if @parent has an @nth child + */ gboolean gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *parent, - gint n) + GtkTreeIter *iter, + GtkTreeIter *parent, + gint n) { GtkTreeModelIface *iface; @@ -1351,28 +1559,30 @@ gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model, /** * gtk_tree_model_iter_parent: - * @tree_model: A #GtkTreeModel - * @iter: (out): The new #GtkTreeIter to set to the parent. - * @child: The #GtkTreeIter. + * @tree_model: a #GtkTreeModel + * @iter: (out): the new #GtkTreeIter to set to the parent + * @child: the #GtkTreeIter * - * Sets @iter to be the parent of @child. If @child is at the toplevel, and - * doesn't have a parent, then @iter is set to an invalid iterator and %FALSE - * is returned. @child will remain a valid node after this function has been + * Sets @iter to be the parent of @child. + * + * If @child is at the toplevel, and doesn't have a parent, then + * @iter is set to an invalid iterator and %FALSE is returned. + * @child will remain a valid node after this function has been * called. * - * Return value: %TRUE, if @iter is set to the parent of @child. - **/ + * Return value: %TRUE, if @iter is set to the parent of @child + */ gboolean gtk_tree_model_iter_parent (GtkTreeModel *tree_model, - GtkTreeIter *iter, - GtkTreeIter *child) + GtkTreeIter *iter, + GtkTreeIter *child) { GtkTreeModelIface *iface; g_return_val_if_fail (GTK_IS_TREE_MODEL (tree_model), FALSE); g_return_val_if_fail (iter != NULL, FALSE); g_return_val_if_fail (child != NULL, FALSE); - + iface = GTK_TREE_MODEL_GET_IFACE (tree_model); g_return_val_if_fail (iface->iter_parent != NULL, FALSE); @@ -1383,25 +1593,28 @@ gtk_tree_model_iter_parent (GtkTreeModel *tree_model, /** * gtk_tree_model_ref_node: - * @tree_model: A #GtkTreeModel. - * @iter: The #GtkTreeIter. + * @tree_model: a #GtkTreeModel + * @iter: the #GtkTreeIter * - * Lets the tree ref the node. This is an optional method for models to - * implement. To be more specific, models may ignore this call as it exists + * Lets the tree ref the node. + * + * This is an optional method for models to implement. + * To be more specific, models may ignore this call as it exists * primarily for performance reasons. - * - * This function is primarily meant as a way for views to let caching model - * know when nodes are being displayed (and hence, whether or not to cache that - * node.) For example, a file-system based model would not want to keep the - * entire file-hierarchy in memory, just the sections that are currently being - * displayed by every current view. * - * A model should be expected to be able to get an iter independent of its - * reffed state. - **/ + * This function is primarily meant as a way for views to let + * caching models know when nodes are being displayed (and hence, + * whether or not to cache that node). For example, a file-system + * based model would not want to keep the entire file-hierarchy in + * memory, just the sections that are currently being displayed by + * every current view. + * + * A model should be expected to be able to get an iter independent + * of its reffed state. + */ void gtk_tree_model_ref_node (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreeModelIface *iface; @@ -1414,19 +1627,21 @@ gtk_tree_model_ref_node (GtkTreeModel *tree_model, /** * gtk_tree_model_unref_node: - * @tree_model: A #GtkTreeModel. - * @iter: The #GtkTreeIter. + * @tree_model: a #GtkTreeModel + * @iter: the #GtkTreeIter * - * Lets the tree unref the node. This is an optional method for models to - * implement. To be more specific, models may ignore this call as it exists - * primarily for performance reasons. + * Lets the tree unref the node. + * + * This is an optional method for models to implement. + * To be more specific, models may ignore this call as it exists + * primarily for performance reasons. For more information on what + * this means, see gtk_tree_model_ref_node(). * - * For more information on what this means, see gtk_tree_model_ref_node(). * Please note that nodes that are deleted are not unreffed. - **/ + */ void gtk_tree_model_unref_node (GtkTreeModel *tree_model, - GtkTreeIter *iter) + GtkTreeIter *iter) { GtkTreeModelIface *iface; @@ -1442,7 +1657,8 @@ gtk_tree_model_unref_node (GtkTreeModel *tree_model, * gtk_tree_model_get: * @tree_model: a #GtkTreeModel * @iter: a row in @tree_model - * @Varargs: pairs of column number and value return locations, terminated by -1 + * @Varargs: pairs of column number and value return locations, + * terminated by -1 * * Gets the value of one or more cells in the row referenced by @iter. * The variable argument list should contain integer column numbers, @@ -1450,17 +1666,17 @@ gtk_tree_model_unref_node (GtkTreeModel *tree_model, * retrieved. The list is terminated by a -1. For example, to get a * value from column 0 with type %G_TYPE_STRING, you would * write: gtk_tree_model_get (model, iter, 0, &place_string_here, -1), - * where place_string_here is a gchar* to be - * filled with the string. + * where place_string_here is a gchar* + * to be filled with the string. * - * Returned values with type %G_TYPE_OBJECT have to be unreferenced, values - * with type %G_TYPE_STRING or %G_TYPE_BOXED have to be freed. Other values are - * passed by value. - **/ + * Returned values with type %G_TYPE_OBJECT have to be unreferenced, + * values with type %G_TYPE_STRING or %G_TYPE_BOXED have to be freed. + * Other values are passed by value. + */ void gtk_tree_model_get (GtkTreeModel *tree_model, - GtkTreeIter *iter, - ...) + GtkTreeIter *iter, + ...) { va_list var_args; @@ -1478,13 +1694,13 @@ gtk_tree_model_get (GtkTreeModel *tree_model, * @iter: a row in @tree_model * @var_args: va_list of column/return location pairs * - * See gtk_tree_model_get(), this version takes a va_list + * See gtk_tree_model_get(), this version takes a va_list * for language bindings to use. - **/ + */ void gtk_tree_model_get_valist (GtkTreeModel *tree_model, GtkTreeIter *iter, - va_list var_args) + va_list var_args) { gint column; @@ -1499,24 +1715,24 @@ gtk_tree_model_get_valist (GtkTreeModel *tree_model, gchar *error = NULL; if (column >= gtk_tree_model_get_n_columns (tree_model)) - { - g_warning ("%s: Invalid column number %d accessed (remember to end your list of columns with a -1)", G_STRLOC, column); - break; - } + { + g_warning ("%s: Invalid column number %d accessed (remember to end your list of columns with a -1)", G_STRLOC, column); + break; + } gtk_tree_model_get_value (GTK_TREE_MODEL (tree_model), iter, column, &value); G_VALUE_LCOPY (&value, var_args, 0, &error); if (error) - { - g_warning ("%s: %s", G_STRLOC, error); - g_free (error); + { + g_warning ("%s: %s", G_STRLOC, error); + g_free (error); - /* we purposely leak the value here, it might not be - * in a sane state if an error condition occoured - */ - break; - } + /* we purposely leak the value here, it might not be + * in a sane state if an error condition occurred + */ + break; + } g_value_unset (&value); @@ -1526,16 +1742,16 @@ gtk_tree_model_get_valist (GtkTreeModel *tree_model, /** * gtk_tree_model_row_changed: - * @tree_model: A #GtkTreeModel - * @path: A #GtkTreePath pointing to the changed row - * @iter: A valid #GtkTreeIter pointing to the changed row - * - * Emits the "row-changed" signal on @tree_model. - **/ + * @tree_model: a #GtkTreeModel + * @path: a #GtkTreePath pointing to the changed row + * @iter: a valid #GtkTreeIter pointing to the changed row + * + * Emits the #GtkTreeModel::row-changed signal on @tree_model. + */ void gtk_tree_model_row_changed (GtkTreeModel *tree_model, - GtkTreePath *path, - GtkTreeIter *iter) + GtkTreePath *path, + GtkTreeIter *iter) { g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (path != NULL); @@ -1546,16 +1762,16 @@ gtk_tree_model_row_changed (GtkTreeModel *tree_model, /** * gtk_tree_model_row_inserted: - * @tree_model: A #GtkTreeModel - * @path: A #GtkTreePath pointing to the inserted row - * @iter: A valid #GtkTreeIter pointing to the inserted row - * - * Emits the "row-inserted" signal on @tree_model - **/ + * @tree_model: a #GtkTreeModel + * @path: a #GtkTreePath pointing to the inserted row + * @iter: a valid #GtkTreeIter pointing to the inserted row + * + * Emits the #GtkTreeModel::row-inserted signal on @tree_model. + */ void gtk_tree_model_row_inserted (GtkTreeModel *tree_model, - GtkTreePath *path, - GtkTreeIter *iter) + GtkTreePath *path, + GtkTreeIter *iter) { g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (path != NULL); @@ -1566,17 +1782,18 @@ gtk_tree_model_row_inserted (GtkTreeModel *tree_model, /** * gtk_tree_model_row_has_child_toggled: - * @tree_model: A #GtkTreeModel - * @path: A #GtkTreePath pointing to the changed row - * @iter: A valid #GtkTreeIter pointing to the changed row - * - * Emits the "row-has-child-toggled" signal on @tree_model. This should be - * called by models after the child state of a node changes. - **/ + * @tree_model: a #GtkTreeModel + * @path: a #GtkTreePath pointing to the changed row + * @iter: a valid #GtkTreeIter pointing to the changed row + * + * Emits the #GtkTreeModel::row-has-child-toggled signal on + * @tree_model. This should be called by models after the child + * state of a node changes. + */ void gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model, - GtkTreePath *path, - GtkTreeIter *iter) + GtkTreePath *path, + GtkTreeIter *iter) { g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (path != NULL); @@ -1587,17 +1804,19 @@ gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model, /** * gtk_tree_model_row_deleted: - * @tree_model: A #GtkTreeModel - * @path: A #GtkTreePath pointing to the previous location of the deleted row. - * - * Emits the "row-deleted" signal on @tree_model. This should be called by - * models after a row has been removed. The location pointed to by @path - * should be the location that the row previously was at. It may not be a - * valid location anymore. - **/ + * @tree_model: a #GtkTreeModel + * @path: a #GtkTreePath pointing to the previous location of + * the deleted row + * + * Emits the #GtkTreeModel::row-deleted signal on @tree_model. + * + * This should be called by models after a row has been removed. + * The location pointed to by @path should be the location that + * the row previously was at. It may not be a valid location anymore. + */ void gtk_tree_model_row_deleted (GtkTreeModel *tree_model, - GtkTreePath *path) + GtkTreePath *path) { g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (path != NULL); @@ -1607,23 +1826,25 @@ gtk_tree_model_row_deleted (GtkTreeModel *tree_model, /** * gtk_tree_model_rows_reordered: - * @tree_model: A #GtkTreeModel - * @path: A #GtkTreePath pointing to the tree node whose children have been - * reordered - * @iter: A valid #GtkTreeIter pointing to the node whose children have been - * reordered, or %NULL if the depth of @path is 0. - * @new_order: an array of integers mapping the current position of each child - * to its old position before the re-ordering, - * i.e. @new_order[newpos] = oldpos. - * - * Emits the "rows-reordered" signal on @tree_model. This should be called by - * models when their rows have been reordered. - **/ + * @tree_model: a #GtkTreeModel + * @path: a #GtkTreePath pointing to the tree node whose children + * have been reordered + * @iter: a valid #GtkTreeIter pointing to the node whose children + * have been reordered, or %NULL if the depth of @path is 0 + * @new_order: an array of integers mapping the current position of + * each child to its old position before the re-ordering, + * i.e. @new_order[newpos] = oldpos + * + * Emits the #GtkTreeModel::rows-reordered signal on @tree_model. + * + * This should be called by models when their rows have been + * reordered. + */ void gtk_tree_model_rows_reordered (GtkTreeModel *tree_model, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order) + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order) { g_return_if_fail (GTK_IS_TREE_MODEL (tree_model)); g_return_if_fail (new_order != NULL); @@ -1634,25 +1855,25 @@ gtk_tree_model_rows_reordered (GtkTreeModel *tree_model, static gboolean gtk_tree_model_foreach_helper (GtkTreeModel *model, - GtkTreeIter *iter, - GtkTreePath *path, - GtkTreeModelForeachFunc func, - gpointer user_data) + GtkTreeIter *iter, + GtkTreePath *path, + GtkTreeModelForeachFunc func, + gpointer user_data) { do { GtkTreeIter child; if ((* func) (model, path, iter, user_data)) - return TRUE; + return TRUE; if (gtk_tree_model_iter_children (model, &child, iter)) - { - gtk_tree_path_down (path); - if (gtk_tree_model_foreach_helper (model, &child, path, func, user_data)) - return TRUE; - gtk_tree_path_up (path); - } + { + gtk_tree_path_down (path); + if (gtk_tree_model_foreach_helper (model, &child, path, func, user_data)) + return TRUE; + gtk_tree_path_up (path); + } gtk_tree_path_next (path); } @@ -1663,18 +1884,19 @@ gtk_tree_model_foreach_helper (GtkTreeModel *model, /** * gtk_tree_model_foreach: - * @model: A #GtkTreeModel - * @func: (scope call): A function to be called on each row - * @user_data: User data to passed to func. + * @model: a #GtkTreeModel + * @func: (scope call): a function to be called on each row + * @user_data: user data to passed to @func * * Calls func on each node in model in a depth-first fashion. - * If @func returns %TRUE, then the tree ceases to be walked, and - * gtk_tree_model_foreach() returns. - **/ + * + * If @func returns %TRUE, then the tree ceases to be walked, + * and gtk_tree_model_foreach() returns. + */ void gtk_tree_model_foreach (GtkTreeModel *model, - GtkTreeModelForeachFunc func, - gpointer user_data) + GtkTreeModelForeachFunc func, + gpointer user_data) { GtkTreePath *path; GtkTreeIter iter; @@ -1699,8 +1921,8 @@ gtk_tree_model_foreach (GtkTreeModel *model, */ static void gtk_tree_row_reference_unref_path (GtkTreePath *path, - GtkTreeModel *model, - gint depth); + GtkTreeModel *model, + gint depth); G_DEFINE_BOXED_TYPE (GtkTreeRowReference, gtk_tree_row_reference, @@ -1727,7 +1949,7 @@ release_row_references (gpointer data) GtkTreeRowReference *reference = tmp_list->data; if (reference->proxy == (GObject *)reference->model) - reference->model = NULL; + reference->model = NULL; reference->proxy = NULL; /* we don't free the reference, users are responsible for that. */ @@ -1741,8 +1963,8 @@ release_row_references (gpointer data) static void gtk_tree_row_ref_inserted (RowRefList *refs, - GtkTreePath *path, - GtkTreeIter *iter) + GtkTreePath *path, + GtkTreeIter *iter) { GSList *tmp_list; @@ -1750,12 +1972,12 @@ gtk_tree_row_ref_inserted (RowRefList *refs, return; /* This function corrects the path stored in the reference to - * account for an insertion. Note that it's called _after_ the insertion - * with the path to the newly-inserted row. Which means that - * the inserted path is in a different "coordinate system" than - * the old path (e.g. if the inserted path was just before the old path, - * then inserted path and old path will be the same, and old path must be - * moved down one). + * account for an insertion. Note that it's called _after_ the + * insertion with the path to the newly-inserted row. Which means + * that the inserted path is in a different "coordinate system" than + * the old path (e.g. if the inserted path was just before the old + * path, then inserted path and old path will be the same, and old + * path must be moved down one). */ tmp_list = refs->list; @@ -1765,27 +1987,27 @@ gtk_tree_row_ref_inserted (RowRefList *refs, GtkTreeRowReference *reference = tmp_list->data; if (reference->path == NULL) - goto done; + goto done; if (reference->path->depth >= path->depth) - { - gint i; - gboolean ancestor = TRUE; + { + gint i; + gboolean ancestor = TRUE; - for (i = 0; i < path->depth - 1; i ++) - { - if (path->indices[i] != reference->path->indices[i]) - { - ancestor = FALSE; - break; - } - } - if (ancestor == FALSE) - goto done; + for (i = 0; i < path->depth - 1; i ++) + { + if (path->indices[i] != reference->path->indices[i]) + { + ancestor = FALSE; + break; + } + } + if (ancestor == FALSE) + goto done; - if (path->indices[path->depth-1] <= reference->path->indices[path->depth-1]) - reference->path->indices[path->depth-1] += 1; - } + if (path->indices[path->depth-1] <= reference->path->indices[path->depth-1]) + reference->path->indices[path->depth-1] += 1; + } done: tmp_list = g_slist_next (tmp_list); } @@ -1793,7 +2015,7 @@ gtk_tree_row_ref_inserted (RowRefList *refs, static void gtk_tree_row_ref_deleted (RowRefList *refs, - GtkTreePath *path) + GtkTreePath *path) { GSList *tmp_list; @@ -1814,36 +2036,36 @@ gtk_tree_row_ref_deleted (RowRefList *refs, GtkTreeRowReference *reference = tmp_list->data; if (reference->path) - { - gint i; + { + gint i; - if (path->depth > reference->path->depth) - goto next; - for (i = 0; i < path->depth - 1; i++) - { - if (path->indices[i] != reference->path->indices[i]) - goto next; - } + if (path->depth > reference->path->depth) + goto next; + for (i = 0; i < path->depth - 1; i++) + { + if (path->indices[i] != reference->path->indices[i]) + goto next; + } - /* We know it affects us. */ - if (path->indices[i] == reference->path->indices[i]) - { - if (reference->path->depth > path->depth) - /* some parent was deleted, trying to unref any node - * between the deleted parent and the node the reference - * is pointing to is bad, as those nodes are already gone. - */ - gtk_tree_row_reference_unref_path (reference->path, reference->model, path->depth - 1); - else - gtk_tree_row_reference_unref_path (reference->path, reference->model, reference->path->depth - 1); - gtk_tree_path_free (reference->path); - reference->path = NULL; - } - else if (path->indices[i] < reference->path->indices[i]) - { - reference->path->indices[path->depth-1]-=1; - } - } + /* We know it affects us. */ + if (path->indices[i] == reference->path->indices[i]) + { + if (reference->path->depth > path->depth) + /* some parent was deleted, trying to unref any node + * between the deleted parent and the node the reference + * is pointing to is bad, as those nodes are already gone. + */ + gtk_tree_row_reference_unref_path (reference->path, reference->model, path->depth - 1); + else + gtk_tree_row_reference_unref_path (reference->path, reference->model, reference->path->depth - 1); + gtk_tree_path_free (reference->path); + reference->path = NULL; + } + else if (path->indices[i] < reference->path->indices[i]) + { + reference->path->indices[path->depth-1]-=1; + } + } next: tmp_list = g_slist_next (tmp_list); @@ -1852,9 +2074,9 @@ next: static void gtk_tree_row_ref_reordered (RowRefList *refs, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order) + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order) { GSList *tmp_list; gint length; @@ -1871,41 +2093,43 @@ gtk_tree_row_ref_reordered (RowRefList *refs, length = gtk_tree_model_iter_n_children (GTK_TREE_MODEL (reference->model), iter); if (length < 2) - return; + return; if ((reference->path) && - (gtk_tree_path_is_ancestor (path, reference->path))) - { - gint ref_depth = gtk_tree_path_get_depth (reference->path); - gint depth = gtk_tree_path_get_depth (path); + (gtk_tree_path_is_ancestor (path, reference->path))) + { + gint ref_depth = gtk_tree_path_get_depth (reference->path); + gint depth = gtk_tree_path_get_depth (path); - if (ref_depth > depth) - { - gint i; - gint *indices = gtk_tree_path_get_indices (reference->path); + if (ref_depth > depth) + { + gint i; + gint *indices = gtk_tree_path_get_indices (reference->path); - for (i = 0; i < length; i++) - { - if (new_order[i] == indices[depth]) - { - indices[depth] = i; - break; - } - } - } - } + for (i = 0; i < length; i++) + { + if (new_order[i] == indices[depth]) + { + indices[depth] = i; + break; + } + } + } + } tmp_list = g_slist_next (tmp_list); } } -/* We do this recursively so that we can unref children nodes before their parent */ +/* We do this recursively so that we can unref children nodes + * before their parent + */ static void gtk_tree_row_reference_unref_path_helper (GtkTreePath *path, - GtkTreeModel *model, - GtkTreeIter *parent_iter, - gint depth, - gint current_depth) + GtkTreeModel *model, + GtkTreeIter *parent_iter, + gint depth, + gint current_depth) { GtkTreeIter iter; @@ -1919,14 +2143,14 @@ gtk_tree_row_reference_unref_path_helper (GtkTreePath *path, static void gtk_tree_row_reference_unref_path (GtkTreePath *path, - GtkTreeModel *model, - gint depth) + GtkTreeModel *model, + gint depth) { GtkTreeIter iter; if (depth <= 0) return; - + gtk_tree_model_iter_nth_child (model, &iter, NULL, path->indices[0]); gtk_tree_row_reference_unref_path_helper (path, model, &iter, depth, 1); gtk_tree_model_unref_node (model, &iter); @@ -1934,16 +2158,18 @@ gtk_tree_row_reference_unref_path (GtkTreePath *path, /** * gtk_tree_row_reference_new: - * @model: A #GtkTreeModel - * @path: A valid #GtkTreePath to monitor - * - * Creates a row reference based on @path. This reference will keep pointing - * to the node pointed to by @path, so long as it exists. It listens to all - * signals emitted by @model, and updates its path appropriately. If @path - * isn't a valid path in @model, then %NULL is returned. - * - * Return value: A newly allocated #GtkTreeRowReference, or %NULL - **/ + * @model: a #GtkTreeModel + * @path: a valid #GtkTreePath to monitor + * + * Creates a row reference based on @path. + * + * This reference will keep pointing to the node pointed to + * by @path, so long as it exists. It listens to all signals + * emitted by @model, and updates its path appropriately. If + * @path isn't a valid path in @model, then %NULL is returned. + * + * Return value: a newly allocated #GtkTreeRowReference, or %NULL + */ GtkTreeRowReference * gtk_tree_row_reference_new (GtkTreeModel *model, GtkTreePath *path) @@ -1954,25 +2180,29 @@ gtk_tree_row_reference_new (GtkTreeModel *model, /* We use the model itself as the proxy object; and call * gtk_tree_row_reference_inserted(), etc, in the * class closure (default handler) marshalers for the signal. - */ + */ return gtk_tree_row_reference_new_proxy (G_OBJECT (model), model, path); } /** * gtk_tree_row_reference_new_proxy: - * @proxy: A proxy #GObject - * @model: A #GtkTreeModel - * @path: A valid #GtkTreePath to monitor - * - * You do not need to use this function. Creates a row reference based on - * @path. This reference will keep pointing to the node pointed to by @path, - * so long as it exists. If @path isn't a valid path in @model, then %NULL is - * returned. However, unlike references created with - * gtk_tree_row_reference_new(), it does not listen to the model for changes. - * The creator of the row reference must do this explicitly using + * @proxy: a proxy #GObject + * @model: a #GtkTreeModel + * @path: a valid #GtkTreePath to monitor + * + * You do not need to use this function. + * + * Creates a row reference based on @path. + * + * This reference will keep pointing to the node pointed to + * by @path, so long as it exists. If @path isn't a valid + * path in @model, then %NULL is returned. However, unlike + * references created with gtk_tree_row_reference_new(), it + * does not listen to the model for changes. The creator of + * the row reference must do this explicitly using * gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(), * gtk_tree_row_reference_reordered(). - * + * * These functions must be called exactly once per proxy when the * corresponding signal on the model is emitted. This single call * updates all row references for that proxy. Since built-in GTK+ @@ -1981,16 +2211,16 @@ gtk_tree_row_reference_new (GtkTreeModel *model, * Further more, passing the same object as @model and @proxy * doesn't work for reasons of internal implementation. * - * This type of row reference is primarily meant by structures that need to - * carefully monitor exactly when a row reference updates itself, and is not - * generally needed by most applications. + * This type of row reference is primarily meant by structures that + * need to carefully monitor exactly when a row reference updates + * itself, and is not generally needed by most applications. * - * Return value: A newly allocated #GtkTreeRowReference, or %NULL - **/ + * Return value: a newly allocated #GtkTreeRowReference, or %NULL + */ GtkTreeRowReference * gtk_tree_row_reference_new_proxy (GObject *proxy, - GtkTreeModel *model, - GtkTreePath *path) + GtkTreeModel *model, + GtkTreePath *path) { GtkTreeRowReference *reference; RowRefList *refs; @@ -2035,7 +2265,7 @@ gtk_tree_row_reference_new_proxy (GObject *proxy, refs->list = NULL; g_object_set_data_full (G_OBJECT (proxy), - I_(ROW_REF_DATA_STRING), + I_(ROW_REF_DATA_STRING), refs, release_row_references); } @@ -2046,13 +2276,13 @@ gtk_tree_row_reference_new_proxy (GObject *proxy, /** * gtk_tree_row_reference_get_path: - * @reference: A #GtkTreeRowReference - * - * Returns a path that the row reference currently points to, or %NULL if the - * path pointed to is no longer valid. - * - * Return value: A current path, or %NULL. - **/ + * @reference: a #GtkTreeRowReference + * + * Returns a path that the row reference currently points to, + * or %NULL if the path pointed to is no longer valid. + * + * Return value: a current path, or %NULL + */ GtkTreePath * gtk_tree_row_reference_get_path (GtkTreeRowReference *reference) { @@ -2069,7 +2299,7 @@ gtk_tree_row_reference_get_path (GtkTreeRowReference *reference) /** * gtk_tree_row_reference_get_model: - * @reference: A #GtkTreeRowReference + * @reference: a #GtkTreeRowReference * * Returns the model that the row reference is monitoring. * @@ -2087,13 +2317,13 @@ gtk_tree_row_reference_get_model (GtkTreeRowReference *reference) /** * gtk_tree_row_reference_valid: - * @reference: (allow-none): A #GtkTreeRowReference, or %NULL - * - * Returns %TRUE if the @reference is non-%NULL and refers to a current valid - * path. - * - * Return value: %TRUE if @reference points to a valid path. - **/ + * @reference: (allow-none): a #GtkTreeRowReference, or %NULL + * + * Returns %TRUE if the @reference is non-%NULL and refers to + * a current valid path. + * + * Return value: %TRUE if @reference points to a valid path + */ gboolean gtk_tree_row_reference_valid (GtkTreeRowReference *reference) { @@ -2107,27 +2337,27 @@ gtk_tree_row_reference_valid (GtkTreeRowReference *reference) /** * gtk_tree_row_reference_copy: * @reference: a #GtkTreeRowReference - * + * * Copies a #GtkTreeRowReference. - * - * Return value: a copy of @reference. + * + * Return value: a copy of @reference * * Since: 2.2 - **/ + */ GtkTreeRowReference * gtk_tree_row_reference_copy (GtkTreeRowReference *reference) { return gtk_tree_row_reference_new_proxy (reference->proxy, - reference->model, - reference->path); + reference->model, + reference->path); } /** * gtk_tree_row_reference_free: - * @reference: (allow-none): A #GtkTreeRowReference, or %NULL - * - * Free's @reference. @reference may be %NULL. - **/ + * @reference: (allow-none): a #GtkTreeRowReference, or %NULL + * + * Free's @reference. @reference may be %NULL + */ void gtk_tree_row_reference_free (GtkTreeRowReference *reference) { @@ -2149,8 +2379,8 @@ gtk_tree_row_reference_free (GtkTreeRowReference *reference) if (refs->list == NULL) { g_object_set_data (G_OBJECT (reference->proxy), - I_(ROW_REF_DATA_STRING), - NULL); + I_(ROW_REF_DATA_STRING), + NULL); } if (reference->path) @@ -2166,15 +2396,16 @@ gtk_tree_row_reference_free (GtkTreeRowReference *reference) /** * gtk_tree_row_reference_inserted: - * @proxy: A #GObject - * @path: The row position that was inserted - * - * Lets a set of row reference created by gtk_tree_row_reference_new_proxy() - * know that the model emitted the "row_inserted" signal. - **/ + * @proxy: a #GObject + * @path: the row position that was inserted + * + * Lets a set of row reference created by + * gtk_tree_row_reference_new_proxy() know that the + * model emitted the #GtkTreeModel::row-inserted signal. + */ void gtk_tree_row_reference_inserted (GObject *proxy, - GtkTreePath *path) + GtkTreePath *path) { g_return_if_fail (G_IS_OBJECT (proxy)); @@ -2183,15 +2414,16 @@ gtk_tree_row_reference_inserted (GObject *proxy, /** * gtk_tree_row_reference_deleted: - * @proxy: A #GObject - * @path: The path position that was deleted - * - * Lets a set of row reference created by gtk_tree_row_reference_new_proxy() - * know that the model emitted the "row_deleted" signal. - **/ + * @proxy: a #GObject + * @path: the path position that was deleted + * + * Lets a set of row reference created by + * gtk_tree_row_reference_new_proxy() know that the + * model emitted the #GtkTreeModel::row-deleted signal. + */ void gtk_tree_row_reference_deleted (GObject *proxy, - GtkTreePath *path) + GtkTreePath *path) { g_return_if_fail (G_IS_OBJECT (proxy)); @@ -2200,19 +2432,20 @@ gtk_tree_row_reference_deleted (GObject *proxy, /** * gtk_tree_row_reference_reordered: - * @proxy: A #GObject - * @path: The parent path of the reordered signal - * @iter: The iter pointing to the parent of the reordered - * @new_order: The new order of rows - * - * Lets a set of row reference created by gtk_tree_row_reference_new_proxy() - * know that the model emitted the "rows_reordered" signal. - **/ + * @proxy: a #GObject + * @path: the parent path of the reordered signal + * @iter: the iter pointing to the parent of the reordered + * @new_order: the new order of rows + * + * Lets a set of row reference created by + * gtk_tree_row_reference_new_proxy() know that the + * model emitted the #GtkTreeModel::rows-reordered signal. + */ void gtk_tree_row_reference_reordered (GObject *proxy, - GtkTreePath *path, - GtkTreeIter *iter, - gint *new_order) + GtkTreePath *path, + GtkTreeIter *iter, + gint *new_order) { g_return_if_fail (G_IS_OBJECT (proxy)); diff --git a/gtk/gtktreemodel.h b/gtk/gtktreemodel.h index b290f83c1e..45bc7cebf4 100644 --- a/gtk/gtktreemodel.h +++ b/gtk/gtktreemodel.h @@ -42,15 +42,55 @@ typedef struct _GtkTreePath GtkTreePath; typedef struct _GtkTreeRowReference GtkTreeRowReference; typedef struct _GtkTreeModel GtkTreeModel; /* Dummy typedef */ typedef struct _GtkTreeModelIface GtkTreeModelIface; + +/** + * GtkTreeModelForeachFunc: + * @model: the #GtkTreeModel being iterated + * @path: the current #GtkTreePath + * @iter: the current #GtkTreeIter + * @data: The user data passed to gtk_tree_model_foreach() + * + * Type of the callback passed to gtk_tree_model_foreach() to + * iterate over the rows in a tree model. + * + * Return value: %TRUE to stop iterating, %FALSE to continue + * + */ typedef gboolean (* GtkTreeModelForeachFunc) (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, gpointer data); - +/** + * GtkTreeModelFlags: + * @GTK_TREE_MODEL_ITERS_PERSIST: iterators survive all signals + * emitted by the tree + * @GTK_TREE_MODEL_LIST_ONLY: the model is a list only, and never + * has children + * + * These flags indicate various properties of a #GtkTreeModel. + * + * They are returned by gtk_tree_model_get_flags(), and must be + * static for the lifetime of the object. A more complete description + * of #GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of + * this section. + */ typedef enum { GTK_TREE_MODEL_ITERS_PERSIST = 1 << 0, GTK_TREE_MODEL_LIST_ONLY = 1 << 1 } GtkTreeModelFlags; +/** + * GtkTreeIter: + * @stamp: a unique stamp to catch invalid iterators + * @user_data: model-specific data + * @user_data2: model-specific data + * @user_data3: model-specific data + * + * The GtkTreeIter is the primary structure + * for accessing a #GtkTreeModel. Models are expected to put a unique + * integer in the stamp member, and put + * model-specific data in the three user_data + * members. + */ struct _GtkTreeIter { gint stamp; From 03344207b9b2951bb51a31ff06fe6910542e6d99 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 Jan 2011 19:06:48 -0500 Subject: [PATCH 1368/1463] Update NEWS --- NEWS | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index ac1e9424b4..42fa6dbce8 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,26 @@ -Overview of Changes from GTK+ 2.99.1 to 2.99.2 +Overview of Changes in GTK+ 2.99.2 +================================== + +* More widget are using GtkStyleContext directly: + GtkToolItemGroup, GtkMenuItem, GtkImageMenuItem, GtkMenu, + GtkTearoffMenuItem, GtkCheckMenuItem, GtkMenuShell + +* gtk-builder-convert now accepts a --target-version option + +* Bug fixes: + 637965 GtkTreeCellDataFunc called with a wrong column arguments + 639127 Misc Win32 GDK building problems + 639157 GtkOrientable should add/remove "horizontal" and "vert... + 639209 Allow toggling the GtkSwitch by clicking the handle + 639286 include gtk/gtktextattributes.h not installed + 639327 gtk-builder-convert needs to convert gtkcomboboxentry... + +* Translation updates: + Arabic + Basque + Hebrew + +Overview of Changes from GTK+ 2.99.0 to 2.99.1 ============================================== * More widgets are using GtkStyleContext directly: From 8709c86944d58098061bbf0413121be3cca29b7b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 Jan 2011 19:56:22 -0500 Subject: [PATCH 1369/1463] bump version --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 4ed8a2bb0b..f81468f811 100644 --- a/configure.ac +++ b/configure.ac @@ -10,7 +10,7 @@ m4_define([gtk_major_version], [2]) m4_define([gtk_minor_version], [99]) -m4_define([gtk_micro_version], [2]) +m4_define([gtk_micro_version], [3]) m4_define([gtk_interface_age], [0]) m4_define([gtk_binary_age], [m4_eval(100 * gtk_minor_version + gtk_micro_version)]) From 290c34b2324a23e01b0957d7a1e0083c9b0f767b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 12 Jan 2011 22:30:08 -0500 Subject: [PATCH 1370/1463] Try harder to find a good display name for paper sizes This was requested in https://bugzilla.gnome.org/show_bug.cgi?id=639186. Also add some tests for GtkPaperSize. --- gtk/gtkpapersize.c | 305 ++++++++++++++++++++++-------------------- gtk/tests/Makefile.am | 7 +- gtk/tests/papersize.c | 128 ++++++++++++++++++ 3 files changed, 290 insertions(+), 150 deletions(-) create mode 100644 gtk/tests/papersize.c diff --git a/gtk/gtkpapersize.c b/gtk/gtkpapersize.c index 7601aba552..8fbcddb373 100644 --- a/gtk/gtkpapersize.c +++ b/gtk/gtkpapersize.c @@ -63,7 +63,7 @@ struct _GtkPaperSize gchar *name; gchar *display_name; gchar *ppd_name; - + gdouble width, height; /* Stored in mm */ gboolean is_custom; }; @@ -80,7 +80,7 @@ lookup_paper_info (const gchar *name) int mid; int cmp; - do + do { mid = (lower + upper) / 2; cmp = strcmp (name, paper_names + standard_names_offsets[mid].name); @@ -89,7 +89,7 @@ lookup_paper_info (const gchar *name) else if (cmp > 0) lower = mid + 1; else - return &standard_names_offsets[mid]; + return &standard_names_offsets[mid]; } while (lower <= upper); @@ -98,15 +98,15 @@ lookup_paper_info (const gchar *name) static gboolean parse_media_size (const gchar *size, - gdouble *width_mm, - gdouble *height_mm) + gdouble *width_mm, + gdouble *height_mm) { const char *p; char *e; double short_dim, long_dim; p = size; - + short_dim = g_ascii_strtod (p, &e); if (p == e || *e != 'x') @@ -133,19 +133,19 @@ parse_media_size (const gchar *size, *width_mm = short_dim; if (height_mm) *height_mm = long_dim; - - return TRUE; + + return TRUE; } static gboolean parse_full_media_size_name (const gchar *full_name, - gchar **name, - gdouble *width_mm, - gdouble *height_mm) + gchar **name, + gdouble *width_mm, + gdouble *height_mm) { const char *p; const char *end_of_name; - + /* From the spec: media-size-self-describing-name = ( class-in "_" size-name "_" short-dim "x" long-dim "in" ) | @@ -170,7 +170,7 @@ parse_full_media_size_name (const gchar *full_name, return FALSE; p++; /* Skip _ */ - + p = strchr (p, '_'); if (p == NULL) return FALSE; @@ -184,20 +184,20 @@ parse_full_media_size_name (const gchar *full_name, if (name) *name = g_strndup (full_name, end_of_name - full_name); - - return TRUE; + + return TRUE; } static GtkPaperSize * gtk_paper_size_new_from_info (const PaperInfo *info) { GtkPaperSize *size; - + size = g_slice_new0 (GtkPaperSize); size->info = info; size->width = info->width; size->height = info->height; - + return size; } @@ -211,7 +211,7 @@ gtk_paper_size_new_from_info (const PaperInfo *info) * * If @name is %NULL, the default paper size is returned, * see gtk_paper_size_get_default(). - * + * * Return value: a new #GtkPaperSize, use gtk_paper_size_free() * to free it * @@ -227,35 +227,44 @@ gtk_paper_size_new (const gchar *name) if (name == NULL) name = gtk_paper_size_get_default (); - + if (parse_full_media_size_name (name, &short_name, &width, &height)) { - size = g_slice_new0 (GtkPaperSize); + info = lookup_paper_info (short_name); + if (info != NULL && info->width == width && info->height == height) + { + size = gtk_paper_size_new_from_info (info); + g_free (short_name); + } + else + { + size = g_slice_new0 (GtkPaperSize); - size->width = width; - size->height = height; - size->name = short_name; - size->display_name = g_strdup (short_name); - if (strncmp (short_name, "custom", 6) == 0) - size->is_custom = TRUE; + size->width = width; + size->height = height; + size->name = short_name; + size->display_name = g_strdup (short_name); + if (strncmp (short_name, "custom", 6) == 0) + size->is_custom = TRUE; + } } else { info = lookup_paper_info (name); if (info != NULL) - size = gtk_paper_size_new_from_info (info); + size = gtk_paper_size_new_from_info (info); else - { - g_warning ("Unknown paper size %s\n", name); - size = g_slice_new0 (GtkPaperSize); - size->name = g_strdup (name); - size->display_name = g_strdup (name); - /* Default to A4 size */ - size->width = 210; - size->height = 297; - } + { + g_warning ("Unknown paper size %s\n", name); + size = g_slice_new0 (GtkPaperSize); + size->name = g_strdup (name); + size->display_name = g_strdup (name); + /* Default to A4 size */ + size->width = 210; + size->height = 297; + } } - + return size; } @@ -265,12 +274,12 @@ gtk_paper_size_new (const gchar *name) * @ppd_display_name: the corresponding human-readable name * @width: the paper width, in points * @height: the paper height in points - * - * Creates a new #GtkPaperSize object by using - * PPD information. - * - * If @ppd_name is not a recognized PPD paper name, - * @ppd_display_name, @width and @height are used to + * + * Creates a new #GtkPaperSize object by using + * PPD information. + * + * If @ppd_name is not a recognized PPD paper name, + * @ppd_display_name, @width and @height are used to * construct a custom #GtkPaperSize object. * * Return value: a new #GtkPaperSize, use gtk_paper_size_free() @@ -280,9 +289,9 @@ gtk_paper_size_new (const gchar *name) */ GtkPaperSize * gtk_paper_size_new_from_ppd (const gchar *ppd_name, - const gchar *ppd_display_name, - gdouble width, - gdouble height) + const gchar *ppd_display_name, + gdouble width, + gdouble height) { char *name; const char *lookup_ppd_name; @@ -291,32 +300,32 @@ gtk_paper_size_new_from_ppd (const gchar *ppd_name, int i; lookup_ppd_name = ppd_name; - + freeme = NULL; /* Strip out Traverse suffix in matching. */ if (g_str_has_suffix (ppd_name, ".Transverse")) { lookup_ppd_name = freeme = - g_strndup (ppd_name, strlen (ppd_name) - strlen (".Transverse")); + g_strndup (ppd_name, strlen (ppd_name) - strlen (".Transverse")); } - + for (i = 0; i < G_N_ELEMENTS(standard_names_offsets); i++) { if (standard_names_offsets[i].ppd_name != -1 && - strcmp (paper_names + standard_names_offsets[i].ppd_name, lookup_ppd_name) == 0) - { - size = gtk_paper_size_new_from_info (&standard_names_offsets[i]); - goto out; - } + strcmp (paper_names + standard_names_offsets[i].ppd_name, lookup_ppd_name) == 0) + { + size = gtk_paper_size_new_from_info (&standard_names_offsets[i]); + goto out; + } } - + for (i = 0; i < G_N_ELEMENTS(extra_ppd_names_offsets); i++) { if (strcmp (paper_names + extra_ppd_names_offsets[i].ppd_name, lookup_ppd_name) == 0) - { - size = gtk_paper_size_new (paper_names + extra_ppd_names_offsets[i].standard_name); - goto out; - } + { + size = gtk_paper_size_new (paper_names + extra_ppd_names_offsets[i].standard_name); + goto out; + } } name = g_strconcat ("ppd_", ppd_name, NULL); @@ -329,57 +338,57 @@ gtk_paper_size_new_from_ppd (const gchar *ppd_name, size->info->ppd_name == -1 || strcmp (paper_names + size->info->ppd_name, ppd_name) != 0) size->ppd_name = g_strdup (ppd_name); - + g_free (freeme); - + return size; } /** * gtk_paper_size_new_custom: - * @name: the paper name + * @name: the paper name * @display_name: the human-readable name * @width: the paper width, in units of @unit * @height: the paper height, in units of @unit * @unit: the unit for @width and @height - * + * * Creates a new #GtkPaperSize object with the * given parameters. - * + * * Return value: a new #GtkPaperSize object, use gtk_paper_size_free() * to free it * * Since: 2.10 */ GtkPaperSize * -gtk_paper_size_new_custom (const gchar *name, - const gchar *display_name, - gdouble width, - gdouble height, - GtkUnit unit) +gtk_paper_size_new_custom (const gchar *name, + const gchar *display_name, + gdouble width, + gdouble height, + GtkUnit unit) { GtkPaperSize *size; g_return_val_if_fail (name != NULL, NULL); g_return_val_if_fail (unit != GTK_UNIT_PIXEL, NULL); size = g_slice_new0 (GtkPaperSize); - + size->name = g_strdup (name); size->display_name = g_strdup (display_name); size->is_custom = TRUE; - + size->width = _gtk_print_convert_to_mm (width, unit); size->height = _gtk_print_convert_to_mm (height, unit); - + return size; } /** * gtk_paper_size_copy: * @other: a #GtkPaperSize - * + * * Copies an existing #GtkPaperSize. - * + * * Return value: a copy of @other * * Since: 2.10 @@ -398,7 +407,7 @@ gtk_paper_size_copy (GtkPaperSize *other) size->display_name = g_strdup (other->display_name); if (other->ppd_name) size->ppd_name = g_strdup (other->ppd_name); - + size->width = other->width; size->height = other->height; size->is_custom = other->is_custom; @@ -409,7 +418,7 @@ gtk_paper_size_copy (GtkPaperSize *other) /** * gtk_paper_size_free: * @size: a #GtkPaperSize - * + * * Free the given #GtkPaperSize object. * * Since: 2.10 @@ -428,23 +437,23 @@ gtk_paper_size_free (GtkPaperSize *size) * gtk_paper_size_is_equal: * @size1: a #GtkPaperSize object * @size2: another #GtkPaperSize object - * + * * Compares two #GtkPaperSize objects. - * - * Return value: %TRUE, if @size1 and @size2 + * + * Return value: %TRUE, if @size1 and @size2 * represent the same paper size * * Since: 2.10 */ gboolean gtk_paper_size_is_equal (GtkPaperSize *size1, - GtkPaperSize *size2) + GtkPaperSize *size2) { if (size1->info != NULL && size2->info != NULL) return size1->info == size2->info; - + return strcmp (gtk_paper_size_get_name (size1), - gtk_paper_size_get_name (size2)) == 0; + gtk_paper_size_get_name (size2)) == 0; } GList * _gtk_load_custom_papers (void); @@ -466,7 +475,7 @@ gtk_paper_size_get_paper_sizes (gboolean include_custom) { GList *list = NULL; guint i; -#ifdef G_OS_UNIX /* _gtk_load_custom_papers() only on Unix so far */ +#ifdef G_OS_UNIX /* _gtk_load_custom_papers() only on Unix so far */ if (include_custom) { GList *page_setups, *l; @@ -500,9 +509,9 @@ gtk_paper_size_get_paper_sizes (gboolean include_custom) /** * gtk_paper_size_get_name: * @size: a #GtkPaperSize object - * + * * Gets the name of the #GtkPaperSize. - * + * * Return value: the name of @size * * Since: 2.10 @@ -519,9 +528,9 @@ gtk_paper_size_get_name (GtkPaperSize *size) /** * gtk_paper_size_get_display_name: * @size: a #GtkPaperSize object - * + * * Gets the human-readable name of the #GtkPaperSize. - * + * * Return value: the human-readable name of @size * * Since: 2.10 @@ -543,10 +552,10 @@ gtk_paper_size_get_display_name (GtkPaperSize *size) /** * gtk_paper_size_get_ppd_name: * @size: a #GtkPaperSize object - * + * * Gets the PPD name of the #GtkPaperSize, which * may be %NULL. - * + * * Return value: the PPD name of @size * * Since: 2.10 @@ -565,17 +574,17 @@ gtk_paper_size_get_ppd_name (GtkPaperSize *size) * gtk_paper_size_get_width: * @size: a #GtkPaperSize object * @unit: the unit for the return value - * - * Gets the paper width of the #GtkPaperSize, in + * + * Gets the paper width of the #GtkPaperSize, in * units of @unit. - * - * Return value: the paper width + * + * Return value: the paper width * * Since: 2.10 */ gdouble -gtk_paper_size_get_width (GtkPaperSize *size, - GtkUnit unit) +gtk_paper_size_get_width (GtkPaperSize *size, + GtkUnit unit) { return _gtk_print_convert_from_mm (size->width, unit); } @@ -584,17 +593,17 @@ gtk_paper_size_get_width (GtkPaperSize *size, * gtk_paper_size_get_height: * @size: a #GtkPaperSize object * @unit: the unit for the return value - * - * Gets the paper height of the #GtkPaperSize, in + * + * Gets the paper height of the #GtkPaperSize, in * units of @unit. - * - * Return value: the paper height + * + * Return value: the paper height * * Since: 2.10 */ gdouble -gtk_paper_size_get_height (GtkPaperSize *size, - GtkUnit unit) +gtk_paper_size_get_height (GtkPaperSize *size, + GtkUnit unit) { return _gtk_print_convert_from_mm (size->height, unit); } @@ -602,9 +611,9 @@ gtk_paper_size_get_height (GtkPaperSize *size, /** * gtk_paper_size_is_custom: * @size: a #GtkPaperSize object - * + * * Returns %TRUE if @size is not a standard paper size. - * + * * Return value: whether @size is a custom paper size. **/ gboolean @@ -619,16 +628,16 @@ gtk_paper_size_is_custom (GtkPaperSize *size) * @width: the new width in units of @unit * @height: the new height in units of @unit * @unit: the unit for @width and @height - * + * * Changes the dimensions of a @size to @width x @height. * * Since: 2.10 */ void -gtk_paper_size_set_size (GtkPaperSize *size, - gdouble width, - gdouble height, - GtkUnit unit) +gtk_paper_size_set_size (GtkPaperSize *size, + gdouble width, + gdouble height, + GtkUnit unit) { g_return_if_fail (size != NULL); g_return_if_fail (size->is_custom); @@ -643,12 +652,12 @@ gtk_paper_size_set_size (GtkPaperSize *size, /** * gtk_paper_size_get_default: * - * Returns the name of the default paper size, which - * depends on the current locale. - * + * Returns the name of the default paper size, which + * depends on the current locale. + * * Return value: the name of the default paper size. The string * is owned by GTK+ and should not be modified. - * + * * Since: 2.10 */ G_CONST_RETURN gchar * @@ -661,10 +670,10 @@ gtk_paper_size_get_default (void) { int width = NL_PAPER_GET (_NL_PAPER_WIDTH); int height = NL_PAPER_GET (_NL_PAPER_HEIGHT); - + if (width == 210 && height == 297) return GTK_PAPER_NAME_A4; - + if (width == 216 && height == 279) return GTK_PAPER_NAME_LETTER; } @@ -701,7 +710,7 @@ gtk_paper_size_get_default (void) * I've taken the actual values used from the OSX page setup dialog. * I'm not sure exactly where they got these values for, but might * correspond to this (from ghostscript docs): - * + * * All DeskJets have 0.5 inches (1.27cm) of unprintable bottom margin, * due to the mechanical arrangement used to grab the paper. Side margins * are approximately 0.25 inches (0.64cm) for U.S. letter paper, and 0.15 @@ -712,16 +721,16 @@ gtk_paper_size_get_default (void) * gtk_paper_size_get_default_top_margin: * @size: a #GtkPaperSize object * @unit: the unit for the return value - * + * * Gets the default top margin for the #GtkPaperSize. - * + * * Return value: the default top margin * * Since: 2.10 */ gdouble -gtk_paper_size_get_default_top_margin (GtkPaperSize *size, - GtkUnit unit) +gtk_paper_size_get_default_top_margin (GtkPaperSize *size, + GtkUnit unit) { gdouble margin; @@ -733,16 +742,16 @@ gtk_paper_size_get_default_top_margin (GtkPaperSize *size, * gtk_paper_size_get_default_bottom_margin: * @size: a #GtkPaperSize object * @unit: the unit for the return value - * + * * Gets the default bottom margin for the #GtkPaperSize. - * + * * Return value: the default bottom margin * * Since: 2.10 */ gdouble -gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, - GtkUnit unit) +gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, + GtkUnit unit) { gdouble margin; const gchar *name; @@ -754,7 +763,7 @@ gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, strcmp (name, "na_legal") == 0 || strcmp (name, "iso_a4") == 0) margin = _gtk_print_convert_to_mm (0.56, GTK_UNIT_INCH); - + return _gtk_print_convert_from_mm (margin, unit); } @@ -762,16 +771,16 @@ gtk_paper_size_get_default_bottom_margin (GtkPaperSize *size, * gtk_paper_size_get_default_left_margin: * @size: a #GtkPaperSize object * @unit: the unit for the return value - * + * * Gets the default left margin for the #GtkPaperSize. - * + * * Return value: the default left margin * * Since: 2.10 */ gdouble -gtk_paper_size_get_default_left_margin (GtkPaperSize *size, - GtkUnit unit) +gtk_paper_size_get_default_left_margin (GtkPaperSize *size, + GtkUnit unit) { gdouble margin; @@ -783,16 +792,16 @@ gtk_paper_size_get_default_left_margin (GtkPaperSize *size, * gtk_paper_size_get_default_right_margin: * @size: a #GtkPaperSize object * @unit: the unit for the return value - * + * * Gets the default right margin for the #GtkPaperSize. - * + * * Return value: the default right margin * * Since: 2.10 */ gdouble -gtk_paper_size_get_default_right_margin (GtkPaperSize *size, - GtkUnit unit) +gtk_paper_size_get_default_right_margin (GtkPaperSize *size, + GtkUnit unit) { gdouble margin; @@ -808,7 +817,7 @@ gtk_paper_size_get_default_right_margin (GtkPaperSize *size, * @error: (allow-none): return location for an error, or %NULL * * Reads a paper size from the group @group_name in the key file - * @key_file. + * @key_file. * * Returns: a new #GtkPaperSize object with the restored * paper size, or %NULL if an error occurred. @@ -817,8 +826,8 @@ gtk_paper_size_get_default_right_margin (GtkPaperSize *size, */ GtkPaperSize * gtk_paper_size_new_from_key_file (GKeyFile *key_file, - const gchar *group_name, - GError **error) + const gchar *group_name, + GError **error) { GtkPaperSize *paper_size = NULL; char *name = NULL, *ppd_name = NULL, *display_name = NULL, *freeme = NULL; @@ -855,11 +864,11 @@ gtk_paper_size_new_from_key_file (GKeyFile *key_file, #undef GET_DOUBLE name = g_key_file_get_string (key_file, group_name, - "Name", NULL); + "Name", NULL); ppd_name = g_key_file_get_string (key_file, group_name, - "PPDName", NULL); + "PPDName", NULL); display_name = g_key_file_get_string (key_file, group_name, - "DisplayName", NULL); + "DisplayName", NULL); /* Fallback for old ~/.gtk-custom-paper entries */ if (!display_name) display_name = g_strdup (name); @@ -871,7 +880,7 @@ gtk_paper_size_new_from_key_file (GKeyFile *key_file, _gtk_print_convert_from_mm (height, GTK_UNIT_POINTS)); else if (name != NULL) paper_size = gtk_paper_size_new_custom (name, display_name, - width, height, GTK_UNIT_MM); + width, height, GTK_UNIT_MM); else { g_set_error_literal (error, @@ -904,8 +913,8 @@ out: */ void gtk_paper_size_to_key_file (GtkPaperSize *size, - GKeyFile *key_file, - const gchar *group_name) + GKeyFile *key_file, + const gchar *group_name) { const char *name, *ppd_name, *display_name; @@ -916,19 +925,19 @@ gtk_paper_size_to_key_file (GtkPaperSize *size, display_name = gtk_paper_size_get_display_name (size); ppd_name = gtk_paper_size_get_ppd_name (size); - if (ppd_name != NULL) + if (ppd_name != NULL) g_key_file_set_string (key_file, group_name, - "PPDName", ppd_name); + "PPDName", ppd_name); else g_key_file_set_string (key_file, group_name, - "Name", name); + "Name", name); - if (display_name) + if (display_name) g_key_file_set_string (key_file, group_name, - "DisplayName", display_name); + "DisplayName", display_name); g_key_file_set_double (key_file, group_name, - "Width", gtk_paper_size_get_width (size, GTK_UNIT_MM)); + "Width", gtk_paper_size_get_width (size, GTK_UNIT_MM)); g_key_file_set_double (key_file, group_name, - "Height", gtk_paper_size_get_height (size, GTK_UNIT_MM)); + "Height", gtk_paper_size_get_height (size, GTK_UNIT_MM)); } diff --git a/gtk/tests/Makefile.am b/gtk/tests/Makefile.am index 008823cf94..f27796fe82 100644 --- a/gtk/tests/Makefile.am +++ b/gtk/tests/Makefile.am @@ -90,7 +90,7 @@ filtermodel_LDADD = $(progs_ldadd) TEST_PROGS += expander expander_SOURCES = expander.c -expander_LDADD = $(progs_ldadd) +expander_LDADD = $(progs_ldadd) TEST_PROGS += action action_SOURCES = action.c @@ -99,8 +99,11 @@ action_LDADD = $(progs_ldadd) TEST_PROGS += stylecontext stylecontext_SOURCES = stylecontext.c stylecontext_LDADD = $(progs_ldadd) -EXTRA_DIST += test.css test.png +EXTRA_DIST += test.css test.png +TEST_PROGS += papersize +papersize_SOURCES = papersize.c +papersize_LDADD = $(progs_ldadd) EXTRA_DIST += \ file-chooser-test-dir/empty \ diff --git a/gtk/tests/papersize.c b/gtk/tests/papersize.c new file mode 100644 index 0000000000..62e7a90e87 --- /dev/null +++ b/gtk/tests/papersize.c @@ -0,0 +1,128 @@ +/* GTK - The GIMP Toolkit + * Copyright (C) 2011 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include + +static void +test_parse (void) +{ + GtkPaperSize *p; + + p = gtk_paper_size_new (GTK_PAPER_NAME_A4); + g_assert (p != NULL); + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 210); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 297); + g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "iso_a4"); + g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "A4"); + g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "A4"); + g_assert (!gtk_paper_size_is_custom (p)); + gtk_paper_size_free (p); + + p = gtk_paper_size_new (GTK_PAPER_NAME_B5); + g_assert (p != NULL); + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 176); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 250); + g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "iso_b5"); + g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "B5"); + g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "ISOB5"); + g_assert (!gtk_paper_size_is_custom (p)); + gtk_paper_size_free (p); + + p = gtk_paper_size_new (GTK_PAPER_NAME_EXECUTIVE); + g_assert (p != NULL); + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 184); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 266); + g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "na_executive"); + g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "Executive"); + g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "Executive"); + g_assert (!gtk_paper_size_is_custom (p)); + gtk_paper_size_free (p); + + p = gtk_paper_size_new ("iso_a4_210x297mm"); + g_assert (p != NULL); + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 210); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 297); + g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "iso_a4"); + g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "A4"); + g_assert_cmpstr (gtk_paper_size_get_ppd_name (p), ==, "A4"); + g_assert (!gtk_paper_size_is_custom (p)); + gtk_paper_size_free (p); + + p = gtk_paper_size_new ("custom_w1_20x30in"); + g_assert (p != NULL); + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_INCH), ==, 20); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_INCH), ==, 30); + g_assert_cmpstr (gtk_paper_size_get_name (p), ==, "custom_w1"); + g_assert_cmpstr (gtk_paper_size_get_display_name (p), ==, "custom_w1"); + g_assert (gtk_paper_size_is_custom (p)); + gtk_paper_size_free (p); +} + +static void +test_compare (void) +{ + GtkPaperSize *a1, *a2, *b, *c; + + a1 = gtk_paper_size_new (GTK_PAPER_NAME_A4); + a2 = gtk_paper_size_new ("iso_a4_210x297mm"); + b = gtk_paper_size_new (GTK_PAPER_NAME_B5); + c = gtk_paper_size_new ("custom_w1_20x30in"); + + g_assert (gtk_paper_size_is_equal (a1, a2)); + g_assert (!gtk_paper_size_is_equal (a1, b)); + g_assert (!gtk_paper_size_is_equal (a1, c)); + g_assert (!gtk_paper_size_is_equal (b, c)); + + gtk_paper_size_free (a1); + gtk_paper_size_free (a2); + gtk_paper_size_free (b); + gtk_paper_size_free (c); +} + +static void +test_units (void) +{ + GtkPaperSize *p; + + p = gtk_paper_size_new (GTK_PAPER_NAME_A4); + + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_MM), ==, 210); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_MM), ==, 297); + + /* compare up to 2 decimals */ + g_assert_cmpint (100 * gtk_paper_size_get_width (p, GTK_UNIT_INCH), ==, 100 * 8.26); + g_assert_cmpint (100 * gtk_paper_size_get_height (p, GTK_UNIT_INCH), ==, 100 * 11.69); + + g_assert_cmpint (gtk_paper_size_get_width (p, GTK_UNIT_POINTS), ==, 595); + g_assert_cmpint (gtk_paper_size_get_height (p, GTK_UNIT_POINTS), ==, 841); + + gtk_paper_size_free (p); +} + +int +main (int argc, char *argv[]) +{ + gtk_test_init (&argc, &argv); + + g_test_add_func ("/paper-size/parse", test_parse); + g_test_add_func ("/paper-size/compare", test_compare); + g_test_add_func ("/paper-size/units", test_units); + + return g_test_run(); +} From 89eb869ecfaa43dfcc9860fc6b2d174beec9ef8c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 13 Jan 2011 17:00:57 +0900 Subject: [PATCH 1371/1463] Avoid crashes calling gdk_window_enable_synchronized_configure() on an offscreen window. Just added gdk_offscreen_window_do_nothing() noop stub in that slot. --- gdk/gdkoffscreenwindow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/gdkoffscreenwindow.c b/gdk/gdkoffscreenwindow.c index a4a0d418a9..fa1518f0d7 100644 --- a/gdk/gdkoffscreenwindow.c +++ b/gdk/gdkoffscreenwindow.c @@ -779,7 +779,7 @@ gdk_offscreen_window_class_init (GdkOffscreenWindowClass *klass) impl_class->set_functions = NULL; impl_class->begin_resize_drag = NULL; impl_class->begin_move_drag = NULL; - impl_class->enable_synchronized_configure = NULL; + impl_class->enable_synchronized_configure = gdk_offscreen_window_do_nothing; impl_class->configure_finished = NULL; impl_class->set_opacity = NULL; impl_class->set_composited = NULL; From cbd313c23727c462ccfd34d455cb13c6fd900593 Mon Sep 17 00:00:00 2001 From: Mahyar Moghimi Date: Thu, 13 Jan 2011 11:35:44 +0330 Subject: [PATCH 1372/1463] correcting on off in gtkswitch according to bugreport:638232 --- po/fa.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/po/fa.po b/po/fa.po index ef9cfab05b..e4e6efbf5e 100644 --- a/po/fa.po +++ b/po/fa.po @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: gtk+ 2.6\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" "POT-Creation-Date: 2010-12-19 09:25+0000\n" -"PO-Revision-Date: 2010-12-19 13:26+0330\n" +"PO-Revision-Date: 2011-01-13 11:34+0330\n" "Last-Translator: Mahyar Moghimi \n" "Language-Team: Persian \n" "MIME-Version: 1.0\n" @@ -2569,7 +2569,7 @@ msgstr "_کوچک نمایی" #: ../gtk/gtkswitch.c:531 msgctxt "switch" msgid "ON" -msgstr "U+2759" +msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state @@ -2579,7 +2579,7 @@ msgstr "U+2759" #: ../gtk/gtkswitch.c:552 msgctxt "switch" msgid "OFF" -msgstr "U+25CB" +msgstr "○" #: ../gtk/gtkswitch.c:943 msgctxt "light switch widget" From eaca2ea5e8be915e79cb9825333e2b210f693ad4 Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Thu, 13 Jan 2011 12:40:46 +0200 Subject: [PATCH 1373/1463] [l10n] Updated Estonian translation --- po-properties/et.po | 2148 +++++++++++++++++++++++++++++-------------- 1 file changed, 1469 insertions(+), 679 deletions(-) diff --git a/po-properties/et.po b/po-properties/et.po index 09a9dd196c..f1d87ac4f2 100644 --- a/po-properties/et.po +++ b/po-properties/et.po @@ -1,13 +1,13 @@ # GTK+ omaduste eesti keele tõlge. # Estonian translation of GTK+-properties. # -# Copyright (C) 1999, 2002-2006 Free Software Foundation, Inc. -# Copyright (C) 2007,2009,2010 The GNOME Project. +# Copyright (C) 1999, 2002–2006 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009–2011 The GNOME Project. # This file is distributed under the same license as the gtk package. # # Lauris Kaplinski , 1999. -# Tõivo Leedjärv , 2002-2004. -# Ivar Smolin , 2005-2007, 2010. +# Tõivo Leedjärv , 2002–2004. +# Ivar Smolin , 2005–2007, 2010, 2011. # Priit Laes , 2006. # Mattias Põldaru , 2009. # @@ -15,8 +15,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-properties HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" -"+&component=general\n" -"POT-Creation-Date: 2009-07-30 14:59+0000\n" +"%2b&component=general\n" +"POT-Creation-Date: 2011-01-10 22:03+0000\n" "PO-Revision-Date: 2010-10-30 11:45+0300\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" @@ -25,60 +25,75 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -msgid "Loop" -msgstr "Korduv" +#, fuzzy +#| msgid "Default Display" +msgid "Display" +msgstr "Kuva" -msgid "Whether the animation should loop when it reaches the end" -msgstr "Kas animatsioonid peavad lõppedes uuesti alustama või mitte" +msgid "Cursor type" +msgstr "Kursori liik" -msgid "Number of Channels" -msgstr "Kanalite arv" +#, fuzzy +msgid "Standard cursor type" +msgstr "Teisene tekst" -msgid "The number of samples per pixel" -msgstr "Näidiste arv piksli kohta" - -msgid "Colorspace" -msgstr "Värviruum" - -msgid "The colorspace in which the samples are interpreted" -msgstr "Värviruum, milles näidiseid tõlgendatakse" - -msgid "Has Alpha" -msgstr "Alfa väärtusega" - -msgid "Whether the pixbuf has an alpha channel" -msgstr "Kas pixbuf'il on alfakanal" - -msgid "Bits per Sample" -msgstr "Bitte näidise kohta" - -msgid "The number of bits per sample" -msgstr "Näidise bittide arv" - -msgid "Width" -msgstr "Laius" - -msgid "The number of columns of the pixbuf" -msgstr "Pixbuf'i tulpade arv" - -msgid "Height" -msgstr "Kõrgus" - -msgid "The number of rows of the pixbuf" -msgstr "Pixbuf'i veergude arv" - -msgid "Rowstride" +msgid "Display of this cursor" msgstr "" -msgid "" -"The number of bytes between the start of a row and the start of the next row" -msgstr "Baitide arv rea ja järgmise rea alguse vahel" +msgid "Device Display" +msgstr "Seadme kuva" -msgid "Pixels" -msgstr "Piksleid" +msgid "Display which the device belongs to" +msgstr "Kuva, mille alla seade kuulub" -msgid "A pointer to the pixel data of the pixbuf" -msgstr "Viit pixbuf'i piksliandmetele" +msgid "Device manager" +msgstr "Seadmehaldur" + +msgid "Device manager which the device belongs to" +msgstr "Seadmehaldur, mille alla seade kuulub" + +msgid "Device name" +msgstr "Seadme nimi" + +msgid "Device type" +msgstr "Seadme liik" + +msgid "Device role in the device manager" +msgstr "Seadme roll seadmehalduris" + +msgid "Associated device" +msgstr "" + +msgid "Associated pointer or keyboard with this device" +msgstr "" + +msgid "Input source" +msgstr "" + +msgid "Source type for the device" +msgstr "" + +#, fuzzy +#| msgid "The model for the icon view" +msgid "Input mode for the device" +msgstr "Ikoonivaate mudel" + +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether the device has a cursor" +msgstr "Kas vidin on sisestamisfookuses või mitte" + +#, fuzzy +msgid "Whether there is a visible cursor following device motion" +msgstr "Kas ikooni suuruse omadus on määratud või mitte" + +#, fuzzy +#| msgid "The number of pages in the document." +msgid "Number of axes in the device" +msgstr "Dokumendis olevate lehekülgede arv." + +msgid "Display for the device manager" +msgstr "" msgid "Default Display" msgstr "Vaikimisi kuva" @@ -86,12 +101,6 @@ msgstr "Vaikimisi kuva" msgid "The default display for GDK" msgstr "GDK vaikimisi kuva" -msgid "Screen" -msgstr "Ekraan" - -msgid "the GdkScreen for the renderer" -msgstr "Renderdaja GdkScreen" - msgid "Font options" msgstr "Kirjatüübi valikud" @@ -104,6 +113,27 @@ msgstr "Fondi eraldusvõime" msgid "The resolution for fonts on the screen" msgstr "Ekraanifontide eraldusvõime" +msgid "Cursor" +msgstr "Kursor" + +msgid "Device ID" +msgstr "Seadme ID" + +msgid "Device identifier" +msgstr "Seadme identifikaator" + +msgid "Opcode" +msgstr "" + +msgid "Opcode for XInput2 requests" +msgstr "" + +msgid "Event base" +msgstr "" + +msgid "Event base for XInput events" +msgstr "" + msgid "Program name" msgstr "Programmi nimi" @@ -132,6 +162,12 @@ msgstr "Kommentaaristring" msgid "Comments about the program" msgstr "Programmi kohta käivad kommentaarid" +msgid "License Type" +msgstr "Litsentsi liik" + +msgid "The license type of the program" +msgstr "Programmi litsentsi liik" + msgid "Website URL" msgstr "Veebisaidi URL" @@ -141,12 +177,10 @@ msgstr "Programmi veebisaidi URL" msgid "Website label" msgstr "Veebisaidi silt" -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"Programmi veebisaidi URL-i silt. Kui seda pole määratud, siis vaikimis on " -"selleks URL ise" +#, fuzzy +#| msgid "The URL for the link to the website of the program" +msgid "The label for the link to the website of the program" +msgstr "Programmi veebisaidi URL" msgid "Authors" msgstr "Autorid" @@ -311,6 +345,13 @@ msgid "" "use)." msgstr "" +msgid "Always show image" +msgstr "" + +#, fuzzy +msgid "Whether the image will always be shown" +msgstr "Kas vidin on nähtav või mitte" + msgid "A name for the action group." msgstr "Tegevuste grupi nimi." @@ -429,6 +470,76 @@ msgstr "Parempoolne polsterdus" msgid "The padding to insert at the right of the widget." msgstr "Vidina paremale poole lisatav polsterdus." +msgid "Include an 'Other...' item" +msgstr "" + +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" + +msgid "Content type" +msgstr "Sisu liik" + +msgid "The content type used by the open with object" +msgstr "" + +msgid "GFile" +msgstr "" + +msgid "The GFile used by the app chooser dialog" +msgstr "" + +msgid "Show default app" +msgstr "" + +#, fuzzy +#| msgid "Whether the widget is the default widget" +msgid "Whether the widget should show the default application" +msgstr "Kas vidin on vaikimisi vidin või mitte" + +msgid "Show recommended apps" +msgstr "" + +#, fuzzy +#| msgid "Whether images should be shown on buttons" +msgid "Whether the widget should show recommended applications" +msgstr "Kas nuppudel näidatakse pilte või mitte" + +msgid "Show fallback apps" +msgstr "" + +#, fuzzy +#| msgid "Whether the widget is the default widget" +msgid "Whether the widget should show fallback applications" +msgstr "Kas vidin on vaikimisi vidin või mitte" + +#, fuzzy +#| msgid "Show Tooltips" +msgid "Show other apps" +msgstr "Vihjete näitamine" + +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether the widget should show other applications" +msgstr "Kas vidin on sisestamisfookuses või mitte" + +#, fuzzy +#| msgid "Show Day Names" +msgid "Show all apps" +msgstr "Päevanimede näitamine" + +#, fuzzy +#| msgid "Whether images should be shown on buttons" +msgid "Whether the widget should show all applications" +msgstr "Kas nuppudel näidatakse pilte või mitte" + +msgid "Widget's default text" +msgstr "" + +msgid "The default text appearing when there are no applications" +msgstr "" + msgid "Arrow direction" msgstr "Noole suund" @@ -541,9 +652,13 @@ msgstr "" msgid "Layout style" msgstr "Paigutuse laad" +#, fuzzy +#| msgid "" +#| "How to layout the buttons in the box. Possible values are default, " +#| "spread, edge, start and end" msgid "" -"How to layout the buttons in the box. Possible values are default, spread, " -"edge, start and end" +"How to lay out the buttons in the box. Possible values are: spread, edge, " +"start and end" msgstr "" "Kuidas nupud kastis asetsevad. Võimalikud väärtused on vaikimisi, kõrvuti, " "serval, alguses ja lõpus" @@ -665,16 +780,20 @@ msgstr "Pildi asukoht teksti suhtes" msgid "Default Spacing" msgstr "" -msgid "Extra space to add for CAN_DEFAULT buttons" +#, fuzzy +#| msgid "Extra space to add for CAN_DEFAULT buttons" +msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "CAN_DEFAULT nuppudele lisatav täiendav ruum" msgid "Default Outside Spacing" msgstr "" +#, fuzzy +#| msgid "Extra space to add for CAN_DEFAULT buttons" msgid "" -"Extra space to add for CAN_DEFAULT buttons that is always drawn outside the " -"border" -msgstr "" +"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " +"the border" +msgstr "CAN_DEFAULT nuppudele lisatav täiendav ruum" msgid "Child X Displacement" msgstr "" @@ -710,12 +829,6 @@ msgstr "Pildi kaugus" msgid "Spacing in pixels between the image and label" msgstr "Pildi ja sildi vahel oleva vahe suurus pikslites" -msgid "Show button images" -msgstr "Nuppude piltide näitamine" - -msgid "Whether images should be shown on buttons" -msgstr "Kas nuppudel näidatakse pilte või mitte" - msgid "Year" msgstr "Aasta" @@ -778,6 +891,152 @@ msgstr "Üksikasjade näitamine" msgid "If TRUE, details are shown" msgstr "Kui märgitud, siis näidatakse üksikasju" +#, fuzzy +#| msgid "Inner Border" +msgid "Inner border" +msgstr "Sisemine ääris" + +#, fuzzy +#| msgid "Inner Border" +msgid "Inner border space" +msgstr "Sisemine ääris" + +#, fuzzy +#| msgid "Vertical padding" +msgid "Vertical separation" +msgstr "Püstine polsterdus" + +#, fuzzy +msgid "Space between day headers and main area" +msgstr "Nuppude vahel olev ruum" + +#, fuzzy +#| msgid "Horizontal padding" +msgid "Horizontal separation" +msgstr "Rõhtne polsterdus" + +#, fuzzy +msgid "Space between week headers and main area" +msgstr "Nuppude vahel olev ruum" + +msgid "Space which is inserted between cells" +msgstr "" + +#, fuzzy +#| msgid "Whether the widget responds to input" +msgid "Whether the cell expands" +msgstr "Kas vidin reageerib sisendile või mitte" + +#, fuzzy +#| msgid "xalign" +msgid "Align" +msgstr "x-joondus" + +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether cell should align with adjacent rows" +msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" + +#, fuzzy +#| msgid "Pixel size" +msgid "Fixed Size" +msgstr "Piksli suurus" + +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether cells should be the same size in all rows" +msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" + +#, fuzzy +#| msgid "Page type" +msgid "Pack Type" +msgstr "Lehekülje liik" + +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" + +msgid "Focus Cell" +msgstr "" + +#, fuzzy +#| msgid "The item which is currently active" +msgid "The cell which currently has focus" +msgstr "Hetkel aktiivne element" + +msgid "Edited Cell" +msgstr "" + +#, fuzzy +#| msgid "The item which is currently active" +msgid "The cell which is currently being edited" +msgstr "Hetkel aktiivne element" + +#, fuzzy +#| msgid "Widget" +msgid "Edit Widget" +msgstr "Vidin" + +#, fuzzy +#| msgid "The current page in the document" +msgid "The widget currently editing the edited cell" +msgstr "Dokumendi käesolev lehekülg" + +msgid "Area" +msgstr "" + +msgid "The Cell Area this context was created for" +msgstr "" + +msgid "Minimum Width" +msgstr "Minimaalne laius" + +#, fuzzy +#| msgid "Minimum child width" +msgid "Minimum cached width" +msgstr "Lapse vähim laius" + +#, fuzzy +#| msgid "Minimum child height" +msgid "Minimum Height" +msgstr "Lapse vähim kõrgus" + +#, fuzzy +#| msgid "Minimum child height" +msgid "Minimum cached height" +msgstr "Lapse vähim kõrgus" + +msgid "Editing Canceled" +msgstr "" + +msgid "Indicates that editing has been canceled" +msgstr "" + +msgid "Accelerator key" +msgstr "Kiirklahv" + +msgid "The keyval of the accelerator" +msgstr "Kiirklahvi väärtus" + +msgid "Accelerator modifiers" +msgstr "Kiirklahvide muuteklahvid" + +msgid "The modifier mask of the accelerator" +msgstr "Kiirklahvide muuteklahvi mask" + +msgid "Accelerator keycode" +msgstr "Kiirklahvi kood" + +msgid "The hardware keycode of the accelerator" +msgstr "Kiirklahvi raudvaraline klahvikood" + +msgid "Accelerator Mode" +msgstr "Kiirklahvide režiim" + +msgid "The type of accelerators" +msgstr "Kiirklahvide liik" + msgid "mode" msgstr "" @@ -853,6 +1112,16 @@ msgstr "Lahtri taustavärv" msgid "Cell background color as a GdkColor" msgstr "Lahtri taustavärv GdkColor vormingus" +#, fuzzy +#| msgid "Cell background color" +msgid "Cell background RGBA color" +msgstr "Lahtri taustavärv" + +#, fuzzy +#| msgid "Cell background color as a GdkColor" +msgid "Cell background color as a GdkRGBA" +msgstr "Lahtri taustavärv GdkColor vormingus" + msgid "Editing" msgstr "" @@ -865,30 +1134,6 @@ msgstr "" msgid "Whether this tag affects the cell background color" msgstr "" -msgid "Accelerator key" -msgstr "Kiirklahv" - -msgid "The keyval of the accelerator" -msgstr "Kiirklahvi väärtus" - -msgid "Accelerator modifiers" -msgstr "Kiirklahvide muuteklahvid" - -msgid "The modifier mask of the accelerator" -msgstr "Kiirklahvide muuteklahvi mask" - -msgid "Accelerator keycode" -msgstr "Kiirklahvi kood" - -msgid "The hardware keycode of the accelerator" -msgstr "Kiirklahvi raudvaraline klahvikood" - -msgid "Accelerator Mode" -msgstr "Kiirklahvide režiim" - -msgid "The type of accelerators" -msgstr "Kiirklahvide liik" - msgid "Model" msgstr "Mudel" @@ -985,16 +1230,18 @@ msgstr "Teksti Y-joondus" msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "Teksti püstjoondus: 0 - ülevalt, 1 - alt." -msgid "Orientation" -msgstr "Asend" +msgid "Inverted" +msgstr "Pööratud" -msgid "Orientation and growth direction of the progress bar" +#, fuzzy +#| msgid "Orientation and growth direction of the progress bar" +msgid "Invert the direction in which the progress bar grows" msgstr "Edenemisriba ja selle kasvamise suund" msgid "Adjustment" msgstr "Joondus" -msgid "The adjustment that holds the value of the spinbutton." +msgid "The adjustment that holds the value of the spin button" msgstr "" msgid "Climb rate" @@ -1009,6 +1256,22 @@ msgstr "Komakohti" msgid "The number of decimal places to display" msgstr "Kuvatavate komakohtade arv" +msgid "Active" +msgstr "Aktiivne" + +#, fuzzy +#| msgid "Whether the selected font style is shown in the label" +msgid "Whether the spinner is active (ie. shown) in the cell" +msgstr "Kas valitud kirjatüübi laadi näidatakse sildil või mitte" + +#, fuzzy +#| msgid "Name of the printer" +msgid "Pulse of the spinner" +msgstr "Printeri nimi" + +msgid "The GtkIconSize value that specifies the size of the rendered spinner" +msgstr "" + msgid "Text to render" msgstr "" @@ -1027,7 +1290,9 @@ msgstr "" msgid "Single Paragraph Mode" msgstr "Ühe lõigu stiil" -msgid "Whether or not to keep all text in a single paragraph" +#, fuzzy +#| msgid "Whether or not to keep all text in a single paragraph" +msgid "Whether to keep all text in a single paragraph" msgstr "Kas kogu teksti hoitakse ühe lõiguna" msgid "Background color name" @@ -1042,6 +1307,16 @@ msgstr "Taustavärv" msgid "Background color as a GdkColor" msgstr "Taustavärv GdkColor väärtusena" +#, fuzzy +#| msgid "Background color name" +msgid "Background color as RGBA" +msgstr "Taustavärvi nimi" + +#, fuzzy +#| msgid "Background color as a GdkColor" +msgid "Background color as a GdkRGBA" +msgstr "Taustavärv GdkColor väärtusena" + msgid "Foreground color name" msgstr "Esiplaanivärvi nimi" @@ -1054,6 +1329,16 @@ msgstr "Esiplaanivärv" msgid "Foreground color as a GdkColor" msgstr "Esiplaanivärv GdkColor väärtusena" +#, fuzzy +#| msgid "Foreground color name" +msgid "Foreground color as RGBA" +msgstr "Esiplaanivärvi nimi" + +#, fuzzy +#| msgid "Foreground color as a GdkColor" +msgid "Foreground color as a GdkRGBA" +msgstr "Esiplaanivärv GdkColor väärtusena" + msgid "Editable" msgstr "Muudetav" @@ -1144,6 +1429,14 @@ msgstr "Laius märkides" msgid "The desired width of the label, in characters" msgstr "Sildi soovitud laius märkides" +msgid "Maximum Width In Characters" +msgstr "Maksimaalne laius märkides" + +#, fuzzy +#| msgid "The desired maximum width of the label, in characters" +msgid "The maximum width of the cell, in characters" +msgstr "Sildi suurim soovitud laius märkides" + msgid "Wrap mode" msgstr "Murdmisrežiim" @@ -1292,12 +1585,47 @@ msgstr "Näidiku suurus" msgid "Size of check or radio indicator" msgstr "Märkeruudu või raadionäidiku suurus" +#, fuzzy +#| msgid "Background color" +msgid "Background RGBA color" +msgstr "Taustavärv" + msgid "CellView model" msgstr "LahtriVaate (CellView) mudel" msgid "The model for cell view" msgstr "Lahtrivaate mudel" +msgid "Cell Area" +msgstr "" + +msgid "The GtkCellArea used to layout cells" +msgstr "" + +msgid "Cell Area Context" +msgstr "" + +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "" + +#, fuzzy +#| msgid "Sensitive" +msgid "Draw Sensitive" +msgstr "Tundlik" + +#, fuzzy +#| msgid "Whether there should be an icon near the item" +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "Kas kirje ligidal peaks olema ikoon või mitte" + +#, fuzzy +#| msgid "Model" +msgid "Fit Model" +msgstr "Mudel" + +msgid "Whether to request enough space for every row in the model" +msgstr "" + msgid "Indicator Size" msgstr "Näidiku suurus" @@ -1307,9 +1635,6 @@ msgstr "Ruum näidiku ümber" msgid "Spacing around check or radio indicator" msgstr "Ruum märkeruudu või raadionäidiku ümber" -msgid "Active" -msgstr "Aktiivne" - msgid "Whether the menu item is checked" msgstr "" @@ -1328,7 +1653,9 @@ msgstr "" msgid "Use alpha" msgstr "Läbipaistvuse kasutamine" -msgid "Whether or not to give the color an alpha value" +#, fuzzy +#| msgid "Whether or not to give the color an alpha value" +msgid "Whether to give the color an alpha value" msgstr "Kas värvus on läbipaistev või mitte" msgid "Title" @@ -1350,6 +1677,16 @@ msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "Läbipaistvuse tase (0 - täiesti läbipaistev, 65535 - täiesti läbipaistmatu)" +#, fuzzy +#| msgid "Current Color" +msgid "Current RGBA Color" +msgstr "Praegune värvus" + +#, fuzzy +#| msgid "The selected color" +msgid "The selected RGBA color" +msgstr "Valitud värvus" + msgid "Has Opacity Control" msgstr "Koos katvuse määramisega" @@ -1370,11 +1707,15 @@ msgstr "" "Praegune katvuse väärtus (0 on täiesti läbipaistev, 65535 on täiesti " "läbipaistmatu)" -msgid "Custom palette" -msgstr "Kohandatud palett" +#, fuzzy +#| msgid "Current Alpha" +msgid "Current RGBA" +msgstr "Praegune läbipaistvus" -msgid "Palette to use in the color selector" -msgstr "Värvusevalikus kasutatav palett" +#, fuzzy +#| msgid "The current color" +msgid "The current RGBA color" +msgstr "Praegune värvus" msgid "Color Selection" msgstr "Värvuse valik" @@ -1400,36 +1741,6 @@ msgstr "Abinupp" msgid "The help button of the dialog." msgstr "Dialoogi abinupp." -msgid "Enable arrow keys" -msgstr "Nooleklahvide lubamine" - -msgid "Whether the arrow keys move through the list of items" -msgstr "Kas nooleklahve saab kasutada kirjete loendis liikumiseks" - -msgid "Always enable arrows" -msgstr "Nooled on alati lubatud" - -msgid "Obsolete property, ignored" -msgstr "Iganenud omadus, mida eiratakse" - -msgid "Case sensitive" -msgstr "Tõstutundlik" - -msgid "Whether list item matching is case sensitive" -msgstr "Kas vastav nimekirja kirje on tõstutundlik või mitte" - -msgid "Allow empty" -msgstr "" - -msgid "Whether an empty value may be entered in this field" -msgstr "" - -msgid "Value in list" -msgstr "" - -msgid "Whether entered values must already be present in the list" -msgstr "" - msgid "ComboBox model" msgstr "" @@ -1494,6 +1805,51 @@ msgstr "Nupu tundlikkus" msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Kas nupp saab selle hiirega klõpsamisel fookuse või mitte" +#, fuzzy +#| msgid "Whether the combo box draws a frame around the child" +msgid "Whether combo box has an entry" +msgstr "Kas valikukast joonistab lapskirje ümber raami või mitte" + +#, fuzzy +#| msgid "Text Column" +msgid "Entry Text Column" +msgstr "Tekstiveerg" + +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" + +#, fuzzy +#| msgid "Columns" +msgid "ID Column" +msgstr "Veerge" + +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "" + +#, fuzzy +#| msgid "Active" +msgid "Active id" +msgstr "Aktiivne" + +#, fuzzy +#| msgid "The name of the icon from the icon theme" +msgid "The value of the id column for the active row" +msgstr "Ikooniteemast pärinev ikooni nimi" + +#, fuzzy +#| msgid "Fixed Width" +msgid "Popup Fixed Width" +msgstr "Fikseeritud laius" + +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "" + msgid "Appears as list" msgstr "" @@ -1530,42 +1886,6 @@ msgstr "" msgid "Can be used to add a new child to the container" msgstr "" -msgid "Curve type" -msgstr "Kaare liik" - -msgid "Is this curve linear, spline interpolated, or free-form" -msgstr "" - -msgid "Minimum X" -msgstr "Väikseim X" - -msgid "Minimum possible value for X" -msgstr "X-i väikseim võimalik väärtus" - -msgid "Maximum X" -msgstr "Suurim X" - -msgid "Maximum possible X value" -msgstr "X-i suurim võimalik väärtus" - -msgid "Minimum Y" -msgstr "Väikseim Y" - -msgid "Minimum possible value for Y" -msgstr "Y-i väikseim võimalik väärtus" - -msgid "Maximum Y" -msgstr "Suurim Y" - -msgid "Maximum possible value for Y" -msgstr "Y-i suurim võimalik väärtus" - -msgid "Has separator" -msgstr "Omab eraldajat" - -msgid "The dialog has a separator bar above its buttons" -msgstr "Kas dialoogil on nuppude kohal eraldaja" - msgid "Content area border" msgstr "Sisupiirkonna ääris" @@ -1697,11 +2017,13 @@ msgstr "Teksti pikkus" msgid "Length of the text currently in the entry" msgstr "" -msgid "Invisible char set" -msgstr "Nähtamatu märk määratud" +#, fuzzy +#| msgid "Invisible character" +msgid "Invisible character set" +msgstr "Nähtamatu märk" #, fuzzy -msgid "Whether the invisible char has been set" +msgid "Whether the invisible character has been set" msgstr "Kas ikooni suuruse omadus on määratud või mitte" msgid "Caps Lock warning" @@ -1876,24 +2198,6 @@ msgstr "Edenemisriba tekst" msgid "Border between text and frame." msgstr "Teksti ja raami vahel asuv ääris." -msgid "State Hint" -msgstr "Olekusvihje" - -msgid "Whether to pass a proper state when drawing shadow or background" -msgstr "" - -msgid "Select on focus" -msgstr "Valimine fokuseerimisel" - -msgid "Whether to select the contents of an entry when it is focused" -msgstr "Kas kirje fokuseerimisel tuleb kirje sisu valida või mitte" - -msgid "Password Hint Timeout" -msgstr "Paroolivihje ajapiirang" - -msgid "How long to show the last input character in hidden entries" -msgstr "" - #, fuzzy msgid "The contents of the buffer" msgstr "Sildi tekst" @@ -1989,6 +2293,16 @@ msgstr "Sildividin" msgid "A widget to display in place of the usual expander label" msgstr "" +#, fuzzy +#| msgid "Label" +msgid "Label fill" +msgstr "Silt" + +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether the label widget should fill all available horizontal space" +msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" + msgid "Expander Size" msgstr "Laiendaja suurus" @@ -1998,18 +2312,24 @@ msgstr "Laiendaja noole suurus" msgid "Spacing around expander arrow" msgstr "Laiendaja noole ümber olev ruum" +msgid "Dialog" +msgstr "Dialoog" + +msgid "The file chooser dialog to use." +msgstr "Failivalimise dialoog." + +msgid "The title of the file chooser dialog." +msgstr "Failivalimise dialoogi pealkiri" + +msgid "The desired width of the button widget, in characters." +msgstr "Nupuvidina soovitud laius märkides" + msgid "Action" msgstr "Tegevus" msgid "The type of operation that the file selector is performing" msgstr "Failivalija poolt teostatava operatsiooni liik." -msgid "File System Backend" -msgstr "Failisüsteemi taustaprogramm" - -msgid "Name of file system backend to use" -msgstr "Kasutatava failisüsteemi taustaprogrammi nimi" - msgid "Filter" msgstr "Filter" @@ -2073,7 +2393,7 @@ msgstr "" #, fuzzy #| msgid "Show file operations" -msgid "Allow folders creation" +msgid "Allow folder creation" msgstr "Näita failitegevusi" #, fuzzy @@ -2087,30 +2407,6 @@ msgstr "" "Kas failivalija peab salvestamisel küsima faili ülekirjutamise kohta " "kinnitust või mitte." -msgid "Dialog" -msgstr "Dialoog" - -msgid "The file chooser dialog to use." -msgstr "Failivalimise dialoog." - -msgid "The title of the file chooser dialog." -msgstr "Failivalimise dialoogi pealkiri" - -msgid "The desired width of the button widget, in characters." -msgstr "Nupuvidina soovitud laius märkides" - -msgid "Filename" -msgstr "Failinimi" - -msgid "The currently selected filename" -msgstr "Hetkel valitud faili nimi" - -msgid "Show file operations" -msgstr "Näita failitegevusi" - -msgid "Whether buttons for creating/manipulating files should be displayed" -msgstr "" - msgid "X position" msgstr "X-asukoht" @@ -2163,9 +2459,6 @@ msgstr "Kas valitud kirjatüübi suurust näidatakse sildil või mitte" msgid "The string that represents this font" msgstr "Seda kirjatüüpi esitav X-string" -msgid "The GdkFont that is currently selected" -msgstr "Hetkel valitud GdkFont" - msgid "Preview text" msgstr "Näidistekst" @@ -2187,9 +2480,6 @@ msgstr "Sildi Y-joondus" msgid "The vertical alignment of the label" msgstr "Sildi püstine joondamine" -msgid "Deprecated property, use shadow_type instead" -msgstr "" - msgid "Frame shadow" msgstr "Raami vari" @@ -2199,6 +2489,68 @@ msgstr "Raami äärise välimus" msgid "A widget to display in place of the usual frame label" msgstr "" +msgid "Row spacing" +msgstr "Ruum ridade vahel" + +msgid "The amount of space between two consecutive rows" +msgstr "Kahe kohakuti oleva rea vahele jäetava ruumi hulk" + +msgid "Column spacing" +msgstr "Ruum veergude vahel" + +msgid "The amount of space between two consecutive columns" +msgstr "Kahe kõrvuti oleva veeru vahele jäetava ruumi hulk" + +#, fuzzy +#| msgid "Homogeneous" +msgid "Row Homogeneous" +msgstr "Homogeenne" + +#, fuzzy +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the rows are all the same height" +msgstr "Kui märgitud, siis on kõik tabeli lahtrid sama kõrguse ja laiusega" + +#, fuzzy +#| msgid "Homogeneous" +msgid "Column Homogeneous" +msgstr "Homogeenne" + +#, fuzzy +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the columns are all the same width" +msgstr "Kui märgitud, siis on kõik tabeli lahtrid sama kõrguse ja laiusega" + +msgid "Left attachment" +msgstr "" + +msgid "The column number to attach the left side of the child to" +msgstr "" + +msgid "Top attachment" +msgstr "" + +#, fuzzy +#| msgid "The padding to insert at the top of the widget." +msgid "The row number to attach the top side of a child widget to" +msgstr "Vidina ülaosale lisatav polsterdus." + +msgid "Width" +msgstr "Laius" + +#, fuzzy +#| msgid "The number of columns in the table" +msgid "The number of columns that a child spans" +msgstr "Tabelis olevate veergude arv" + +msgid "Height" +msgstr "Kõrgus" + +#, fuzzy +#| msgid "The number of rows in the table" +msgid "The number of rows that a child spans" +msgstr "Tabelis olevate ridade arv" + msgid "Appearance of the shadow that surrounds the container" msgstr "Konteineri ümber oleva varju välimus" @@ -2292,6 +2644,11 @@ msgstr "Ääris" msgid "Space which is inserted at the edges of the icon view" msgstr "Ikoonivaate servadele lisatav ruum" +#, fuzzy +#| msgid "Orientation" +msgid "Item Orientation" +msgstr "Asend" + msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" @@ -2308,6 +2665,14 @@ msgstr "Vihjeveerg" msgid "The column in the model containing the tooltip texts for the items" msgstr "Mudelis asuv veerg, mis sisaldab kirjete tekstilisi vihjeid" +#, fuzzy +#| msgid "Bottom Padding" +msgid "Item Padding" +msgstr "Alumine polsterdus" + +msgid "Padding around icon view items" +msgstr "" + msgid "Selection Box Color" msgstr "Valikukasti värv" @@ -2326,23 +2691,8 @@ msgstr "" msgid "A GdkPixbuf to display" msgstr "" -msgid "Pixmap" -msgstr "" - -msgid "A GdkPixmap to display" -msgstr "" - -msgid "Image" -msgstr "Pilt" - -msgid "A GdkImage to display" -msgstr "" - -msgid "Mask" -msgstr "Mask" - -msgid "Mask bitmap to use with GdkImage or GdkPixmap" -msgstr "" +msgid "Filename" +msgstr "Failinimi" msgid "Filename to load and display" msgstr "" @@ -2387,13 +2737,6 @@ msgstr "" msgid "Whether to use the label text to create a stock menu item" msgstr "Kas sildi teksti saab hiirega märkida või mitte" -msgid "Always show image" -msgstr "" - -#, fuzzy -msgid "Whether the image will always be shown" -msgstr "Kas vidin on nähtav või mitte" - #, fuzzy msgid "Accel Group" msgstr "Tegevuste grupp" @@ -2402,12 +2745,6 @@ msgstr "Tegevuste grupp" msgid "The Accel Group to use for stock accelerator keys" msgstr "Vidin kiirendite muutumiste jälgimiseks" -msgid "Show menu images" -msgstr "" - -msgid "Whether images should be shown in menus" -msgstr "" - msgid "Message Type" msgstr "Teate liik" @@ -2426,6 +2763,9 @@ msgstr "Nuppude vahel olev ruum" msgid "Width of border around the action area" msgstr "Ümber peadialoogi piirkonna oleva äärise laius" +msgid "Screen" +msgstr "Ekraan" + msgid "The screen where this window will be displayed" msgstr "" @@ -2499,9 +2839,6 @@ msgstr "Nurk" msgid "Angle at which the label is rotated" msgstr "Nurk, millega silti pööratakse" -msgid "Maximum Width In Characters" -msgstr "Maksimaalne laius märkides" - msgid "The desired maximum width of the label, in characters" msgstr "Sildi suurim soovitud laius märkides" @@ -2511,21 +2848,6 @@ msgstr "Külastatud viitade jälgimine" msgid "Whether visited links should be tracked" msgstr "Kas külastatud viitasid tuleb jälgida või mitte" -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "" - -msgid "Horizontal adjustment" -msgstr "" - -msgid "The GtkAdjustment for the horizontal position" -msgstr "" - -msgid "Vertical adjustment" -msgstr "" - -msgid "The GtkAdjustment for the vertical position" -msgstr "" - msgid "The width of the layout" msgstr "Paigutuse laius" @@ -2544,6 +2866,27 @@ msgstr "Külastatud" msgid "Whether this link has been visited." msgstr "Kas viidatud kohta on külastatud või mitte." +msgid "Pack direction" +msgstr "" + +msgid "The pack direction of the menubar" +msgstr "" + +msgid "Child Pack direction" +msgstr "" + +msgid "The child pack direction of the menubar" +msgstr "" + +msgid "Style of bevel around the menubar" +msgstr "" + +msgid "Internal padding" +msgstr "Sisemine polsterdus" + +msgid "Amount of border space between the menubar shadow and the menu items" +msgstr "Äärise ruum menüüriba varju ja menüükirjete vahel" + msgid "The currently selected menu item" msgstr "Hetkel valitud menüükirje" @@ -2635,9 +2978,6 @@ msgstr "Kerimisnoolte asukohtade määramine" msgid "Left Attach" msgstr "" -msgid "The column number to attach the left side of the child to" -msgstr "" - msgid "Right Attach" msgstr "" @@ -2659,55 +2999,6 @@ msgstr "" msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" -msgid "Can change accelerators" -msgstr "" - -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "" - -msgid "Delay before submenus appear" -msgstr "" - -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "" - -msgid "Delay before hiding a submenu" -msgstr "" - -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "" - -msgid "Pack direction" -msgstr "" - -msgid "The pack direction of the menubar" -msgstr "" - -msgid "Child Pack direction" -msgstr "" - -msgid "The child pack direction of the menubar" -msgstr "" - -msgid "Style of bevel around the menubar" -msgstr "" - -msgid "Internal padding" -msgstr "Sisemine polsterdus" - -msgid "Amount of border space between the menubar shadow and the menu items" -msgstr "Äärise ruum menüüriba varju ja menüükirjete vahel" - -msgid "Delay before drop down menus appear" -msgstr "Viivitus enne rippmenüüde ilmumist" - -msgid "Delay before the submenus of a menu bar appear" -msgstr "Viivitus enne menüüriba alammenüüde ilmumist" - msgid "Right Justified" msgstr "" @@ -2758,13 +3049,6 @@ msgstr "Pildi/sildi ääris" msgid "Width of border around the label and image in the message dialog" msgstr "Sõnumidialoogis oleva pildi või sildi äärise laius" -msgid "Use separator" -msgstr "Eraldaja kasutamine" - -msgid "" -"Whether to put a separator between the message dialog's text and the buttons" -msgstr "Kas teatedialoogi teate ja nuppude vahel peab olema eraldaja" - msgid "Message Buttons" msgstr "Teatenupud" @@ -2792,9 +3076,20 @@ msgstr "" msgid "The secondary text includes Pango markup." msgstr "" +msgid "Image" +msgstr "Pilt" + msgid "The image" msgstr "Pilt" +#, fuzzy +#| msgid "Message Type" +msgid "Message area" +msgstr "Teate liik" + +msgid "GtkVBox that holds the dialog's primary and secondary labels" +msgstr "" + msgid "Y align" msgstr "Y-joondus" @@ -2843,34 +3138,20 @@ msgstr "Sakkide asukoht" msgid "Which side of the notebook holds the tabs" msgstr "Millisel märkmiku küljel sakke hoitakse" -msgid "Tab Border" -msgstr "Saki ääris" - -msgid "Width of the border around the tab labels" -msgstr "Saki sildi ümber oleva äärise laius" - -msgid "Horizontal Tab Border" -msgstr "Saki rõhtne ääris" - -msgid "Width of the horizontal border of tab labels" -msgstr "Sakisildi rõhtsa äärise laius" - -msgid "Vertical Tab Border" -msgstr "Saki püstine ääris" - -msgid "Width of the vertical border of tab labels" -msgstr "Sakisildi püstise äärise laius" - msgid "Show Tabs" msgstr "Sakkide näitamine" -msgid "Whether tabs should be shown or not" +#, fuzzy +#| msgid "Whether tabs should be shown or not" +msgid "Whether tabs should be shown" msgstr "Kas sakke näidatakse või mitte" msgid "Show Border" msgstr "Äärise näitamine" -msgid "Whether the border should be shown or not" +#, fuzzy +#| msgid "Whether the border should be shown or not" +msgid "Whether the border should be shown" msgstr "Kas äärist näidatakse või mitte" msgid "Scrollable" @@ -2891,21 +3172,16 @@ msgstr "" "Kui TÕENE, siis märkmikul parema hiirenupuga klõpsamine avab lehekülje " "vahetamise hüpikmenuu" -msgid "Whether tabs should have homogeneous sizes" -msgstr "Kas sakis peavad olema ühesuurused või mitte" - -msgid "Group ID" +#, fuzzy +#| msgid "Group ID" +msgid "Group Name" msgstr "Grupi ID" -msgid "Group ID for tabs drag and drop" +#, fuzzy +#| msgid "Group ID for tabs drag and drop" +msgid "Group name for tab drag and drop" msgstr "Grupi ID sakkide lohistamiseks" -msgid "Group" -msgstr "Grupp" - -msgid "Group for tabs drag and drop" -msgstr "" - msgid "Tab label" msgstr "Saki silt" @@ -2921,23 +3197,26 @@ msgstr "Alammenüü kirjes näidatav silt" msgid "Tab expand" msgstr "" -msgid "Whether to expand the child's tab or not" -msgstr "" +#, fuzzy +#| msgid "Whether to wrap the license text." +msgid "Whether to expand the child's tab" +msgstr "Kas litsentsi tekstu murtakse või mitte." msgid "Tab fill" msgstr "" -msgid "Whether the child's tab should fill the allocated area or not" -msgstr "" - -msgid "Tab pack type" -msgstr "" +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether the child's tab should fill the allocated area" +msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" msgid "Tab reorderable" msgstr "" -msgid "Whether the tab is reorderable by user action or not" -msgstr "" +#, fuzzy +#| msgid "Whether the tab is detachable" +msgid "Whether the tab is reorderable by user action" +msgstr "Kas sakk on lahtihaagitav või mitte" msgid "Tab detachable" msgstr "Sakk lahtihaagitav" @@ -2989,20 +3268,50 @@ msgstr "" msgid "Scroll arrow spacing" msgstr "" -msgid "User Data" +msgid "Icon's count" msgstr "" -msgid "Anonymous User Data Pointer" +#, fuzzy +#| msgid "The index of the current page" +msgid "The count of the emblem currently displayed" +msgstr "Käesoleva lehe indeks" + +#, fuzzy +#| msgid "Icon Name" +msgid "Icon's label" +msgstr "Ikooni nimi" + +msgid "The label to be displayed over the icon" msgstr "" -msgid "The menu of options" +#, fuzzy +#| msgid "Icon size set" +msgid "Icon's style context" +msgstr "Ikooni suurus määratud" + +msgid "The style context to theme the icon appearance" msgstr "" -msgid "Size of dropdown indicator" +#, fuzzy +#| msgid "Background color" +msgid "Background icon" +msgstr "Taustavärv" + +msgid "The icon for the number emblem background" msgstr "" -msgid "Spacing around indicator" -msgstr "Näidiku ümber olev ruum" +#, fuzzy +#| msgid "Background color name" +msgid "Background icon name" +msgstr "Taustavärvi nimi" + +#, fuzzy +#| msgid "The icon name to use for the printer" +msgid "The icon name for the number emblem background" +msgstr "Printeri jaoks kasutatava ikooni nimi" + +msgid "Orientation" +msgstr "Asend" #, fuzzy msgid "The orientation of the orientable" @@ -3051,8 +3360,10 @@ msgstr "" msgid "Embedded" msgstr "" -msgid "Whether or not the plug is embedded" -msgstr "" +#, fuzzy +#| msgid "Whether or not the status icon is embedded" +msgid "Whether the plug is embedded" +msgstr "Kas olekuikoon on põimitud või mitte" msgid "Socket Window" msgstr "" @@ -3061,10 +3372,6 @@ msgstr "" msgid "The window of the socket the plug is embedded in" msgstr "Kas olekuikoon on põimitud või mitte" -msgid "" -"Whether the preview widget should take up the entire space it is allocated" -msgstr "" - msgid "Name of the printer" msgstr "Printeri nimi" @@ -3252,7 +3559,7 @@ msgstr "" msgid "Has Selection" msgstr "Värvuse valik" -msgid "TRUE if a selecion exists." +msgid "TRUE if a selection exists." msgstr "" #, fuzzy @@ -3262,6 +3569,16 @@ msgstr "Lehekülje sätted" msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" +#, fuzzy +#| msgid "Number of Pages" +msgid "Number of Pages To Print" +msgstr "Lehekülgede arv" + +#, fuzzy +#| msgid "The number of pages in the document." +msgid "The number of pages that will be printed." +msgstr "Dokumendis olevate lehekülgede arv." + msgid "The GtkPageSetup to use" msgstr "" @@ -3271,7 +3588,7 @@ msgstr "Valitud printer" msgid "The GtkPrinter which is selected" msgstr "Valitud GtkPrinter" -msgid "Manual Capabilites" +msgid "Manual Capabilities" msgstr "" msgid "Capabilities the application can handle" @@ -3288,52 +3605,6 @@ msgstr "Kas tegevus on lubatud või mitte." msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" -msgid "Activity mode" -msgstr "" - -msgid "" -"If TRUE, the GtkProgress is in activity mode, meaning that it signals " -"something is happening, but not how much of the activity is finished. This " -"is used when you're doing something but don't know how long it will take." -msgstr "" - -msgid "Show text" -msgstr "Näidata tekstina" - -msgid "Whether the progress is shown as text." -msgstr "Kas edenemisriba näidatakse tekstina." - -msgid "The GtkAdjustment connected to the progress bar (Deprecated)" -msgstr "" - -msgid "Bar style" -msgstr "" - -msgid "Specifies the visual style of the bar in percentage mode (Deprecated)" -msgstr "" - -msgid "Activity Step" -msgstr "" - -msgid "The increment used for each iteration in activity mode (Deprecated)" -msgstr "" - -msgid "Activity Blocks" -msgstr "" - -msgid "" -"The number of blocks which can fit in the progress bar area in activity mode " -"(Deprecated)" -msgstr "" - -msgid "Discrete Blocks" -msgstr "" - -msgid "" -"The number of discrete blocks in a progress bar (when shown in the discrete " -"style)" -msgstr "" - msgid "Fraction" msgstr "" @@ -3349,42 +3620,60 @@ msgstr "" msgid "Text to be displayed in the progress bar" msgstr "" +msgid "Show text" +msgstr "Näidata tekstina" + +msgid "Whether the progress is shown as text." +msgstr "Kas edenemisriba näidatakse tekstina." + msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." msgstr "" -msgid "XSpacing" +#, fuzzy +#| msgid "XSpacing" +msgid "X spacing" msgstr "X-ruum" msgid "Extra spacing applied to the width of a progress bar." msgstr "Kerimisriba laiusele lisatav täiendav ruum." -msgid "YSpacing" +#, fuzzy +#| msgid "YSpacing" +msgid "Y spacing" msgstr "Y-ruum" msgid "Extra spacing applied to the height of a progress bar." msgstr "Kerimisriba kõrgusele lisatav täiendav ruum." -msgid "Min horizontal bar width" +#, fuzzy +#| msgid "Min horizontal bar width" +msgid "Minimum horizontal bar width" msgstr "Rõhtriba vähim laius" msgid "The minimum horizontal width of the progress bar" msgstr "Rõhtsa kerimisriba vähim laius" -msgid "Min horizontal bar height" +#, fuzzy +#| msgid "Min horizontal bar height" +msgid "Minimum horizontal bar height" msgstr "Rõhtriba vähim kõrgus" msgid "Minimum horizontal height of the progress bar" msgstr "Rõhtsa kerimisriba vähim kõrgus" -msgid "Min vertical bar width" +#, fuzzy +#| msgid "Min vertical bar width" +msgid "Minimum vertical bar width" msgstr "Püstriba vähim laius" msgid "The minimum vertical width of the progress bar" msgstr "Püstise kerimisriba vähim laius" -msgid "Min vertical bar height" +#, fuzzy +#| msgid "Min vertical bar height" +msgid "Minimum vertical bar height" msgstr "Püstriba vähim kõrgus" msgid "The minimum vertical height of the progress bar" @@ -3398,6 +3687,9 @@ msgid "" "is the current action of its group." msgstr "" +msgid "Group" +msgstr "Grupp" + msgid "The radio action whose group this action belongs to." msgstr "" @@ -3418,18 +3710,9 @@ msgstr "" msgid "The radio tool button whose group this button belongs to." msgstr "" -msgid "Update policy" -msgstr "" - -msgid "How the range should be updated on the screen" -msgstr "" - msgid "The GtkAdjustment that contains the current value of this range object" msgstr "" -msgid "Inverted" -msgstr "Pööratud" - msgid "Invert direction slider moves to increase range value" msgstr "Kas liuguri suund on pööratud või mitte" @@ -3505,22 +3788,6 @@ msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" -msgid "Draw slider ACTIVE during drag" -msgstr "" - -msgid "" -"With this option set to TRUE, sliders will be drawn ACTIVE and with shadow " -"IN while they are dragged" -msgstr "" - -msgid "Trough Side Details" -msgstr "" - -msgid "" -"When TRUE, the parts of the trough on the two sides of the slider are drawn " -"with different details" -msgstr "" - msgid "Trough Under Steppers" msgstr "" @@ -3600,39 +3867,24 @@ msgstr "Hetkel aktiivne filter ressursivaliku kuva filtreerimiseks" msgid "The full path to the file to be used to store and read the list" msgstr "" -msgid "" -"The maximum number of items to be returned by gtk_recent_manager_get_items()" -msgstr "" - msgid "The size of the recently used resources list" msgstr "" -msgid "Lower" +msgid "The value of the scale" msgstr "" -msgid "Lower limit of ruler" +msgid "The icon size" +msgstr "Ikooni suurus" + +msgid "" +"The GtkAdjustment that contains the current value of this scale button object" msgstr "" -msgid "Upper" -msgstr "" +msgid "Icons" +msgstr "Ikoonid" -msgid "Upper limit of ruler" -msgstr "" - -msgid "Position of mark on the ruler" -msgstr "" - -msgid "Max Size" -msgstr "" - -msgid "Maximum size of the ruler" -msgstr "" - -msgid "Metric" -msgstr "" - -msgid "The metric used for the ruler" -msgstr "" +msgid "List of icon names" +msgstr "Ikooninimede loetelu" msgid "The number of decimal places that are displayed in the value" msgstr "" @@ -3661,21 +3913,34 @@ msgstr "Väärtuse kaugus" msgid "Space between value text and the slider/trough area" msgstr "" -msgid "The value of the scale" +msgid "Horizontal adjustment" msgstr "" -msgid "The icon size" -msgstr "Ikooni suurus" - msgid "" -"The GtkAdjustment that contains the current value of this scale button object" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" msgstr "" -msgid "Icons" -msgstr "Ikoonid" +msgid "Vertical adjustment" +msgstr "" -msgid "List of icon names" -msgstr "Ikooninimede loetelu" +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" + +#, fuzzy +#| msgid "Horizontal scale" +msgid "Horizontal Scrollable Policy" +msgstr "Rõhtskaala" + +msgid "How the size of the content should be determined" +msgstr "" + +#, fuzzy +#| msgid "Vertical scale" +msgid "Vertical Scrollable Policy" +msgstr "Püstskaala" msgid "Minimum Slider Length" msgstr "Liuguri vähim pikkus" @@ -3700,9 +3965,15 @@ msgstr "" msgid "Horizontal Adjustment" msgstr "" +msgid "The GtkAdjustment for the horizontal position" +msgstr "" + msgid "Vertical Adjustment" msgstr "" +msgid "The GtkAdjustment for the vertical position" +msgstr "" + msgid "Horizontal Scrollbar Policy" msgstr "" @@ -3749,12 +4020,21 @@ msgstr "Kerimisriba kaugus" msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Kerimisriba ja keritava akna vahel olevate pikslite arv" -msgid "Scrolled Window Placement" +#, fuzzy +#| msgid "Minimum Width" +msgid "Minimum Content Width" +msgstr "Minimaalne laius" + +msgid "The minimum width that the scrolled window will allocate to its content" msgstr "" +#, fuzzy +#| msgid "Minimum child height" +msgid "Minimum Content Height" +msgstr "Lapse vähim kõrgus" + msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." +"The minimum height that the scrolled window will allocate to its content" msgstr "" msgid "Draw" @@ -4094,6 +4374,123 @@ msgstr "Vihjete lubamine" msgid "Whether tooltips should be shown on widgets" msgstr "Kas vidinate vihjeid näidatakse või mitte" +msgid "Toolbar style" +msgstr "Tööriistarea laad" + +msgid "" +"Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "" +"Näitab, kas vaikimisi on tööriistaribadel ainult tekst, ainult ikoonid või " +"mõlemad, jne." + +#, fuzzy +#| msgid "Toolbar icon size" +msgid "Toolbar Icon Size" +msgstr "Tööriistarea ikooni suurus" + +#, fuzzy +#| msgid "Size of icons in default toolbars" +msgid "The size of icons in default toolbars." +msgstr "Tööriistareal olevate ikoonide vaikimisi suurus" + +#, fuzzy +#| msgid "Enable Mnemonics" +msgid "Auto Mnemonics" +msgstr "Mnemoonilised kiirklahvid" + +msgid "" +"Whether mnemonics should be automatically shown and hidden when the user " +"presses the mnemonic activator." +msgstr "" + +msgid "Application prefers a dark theme" +msgstr "" + +#, fuzzy +msgid "Whether the application prefers to have a dark theme." +msgstr "Kas tegevus on lubatud või mitte." + +msgid "Show button images" +msgstr "Nuppude piltide näitamine" + +msgid "Whether images should be shown on buttons" +msgstr "Kas nuppudel näidatakse pilte või mitte" + +msgid "Select on focus" +msgstr "Valimine fokuseerimisel" + +msgid "Whether to select the contents of an entry when it is focused" +msgstr "Kas kirje fokuseerimisel tuleb kirje sisu valida või mitte" + +msgid "Password Hint Timeout" +msgstr "Paroolivihje ajapiirang" + +msgid "How long to show the last input character in hidden entries" +msgstr "" + +msgid "Show menu images" +msgstr "" + +msgid "Whether images should be shown in menus" +msgstr "" + +msgid "Delay before drop down menus appear" +msgstr "Viivitus enne rippmenüüde ilmumist" + +msgid "Delay before the submenus of a menu bar appear" +msgstr "Viivitus enne menüüriba alammenüüde ilmumist" + +msgid "Scrolled Window Placement" +msgstr "" + +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" + +msgid "Can change accelerators" +msgstr "" + +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "" + +msgid "Delay before submenus appear" +msgstr "" + +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "" + +msgid "Delay before hiding a submenu" +msgstr "" + +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "" + +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "" + +msgid "Custom palette" +msgstr "Kohandatud palett" + +msgid "Palette to use in the color selector" +msgstr "Värvusevalikus kasutatav palett" + +msgid "IM Preedit style" +msgstr "" + +msgid "How to draw the input method preedit string" +msgstr "" + +msgid "IM Status style" +msgstr "" + +msgid "How to draw the input method statusbar" +msgstr "Kuidas peab sisendmeetodi olekuriba joonistama" + msgid "Mode" msgstr "" @@ -4109,9 +4506,6 @@ msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" -msgid "The adjustment that holds the value of the spinbutton" -msgstr "" - msgid "Climb Rate" msgstr "" @@ -4148,11 +4542,9 @@ msgstr "" msgid "Style of bevel around the spin button" msgstr "" -msgid "Has Resize Grip" -msgstr "" - -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "" +#, fuzzy +msgid "Whether the spinner is active" +msgstr "Kas tegevus on lubatud või mitte." msgid "Style of bevel around the statusbar text" msgstr "" @@ -4163,16 +4555,14 @@ msgstr "Ikooni suurus" msgid "The screen where this status icon will be displayed" msgstr "Ekraan, kus seda olekuikooni kuvatakse" -msgid "Blinking" -msgstr "Vilkumine" - -msgid "Whether or not the status icon is blinking" -msgstr "Kas olekuikoon vilgub või mitte" - -msgid "Whether or not the status icon is visible" +#, fuzzy +#| msgid "Whether or not the status icon is visible" +msgid "Whether the status icon is visible" msgstr "Kas olekuikoon on nähtav või mitte" -msgid "Whether or not the status icon is embedded" +#, fuzzy +#| msgid "Whether or not the status icon is embedded" +msgid "Whether the status icon is embedded" msgstr "Kas olekuikoon on põimitud või mitte" msgid "The orientation of the tray" @@ -4199,6 +4589,33 @@ msgstr "Sellele salveikoonile näidatava vihje sisu" msgid "The title of this tray icon" msgstr "Selle salveikooni pealkiri" +msgid "Style context" +msgstr "" + +msgid "GtkStyleContext to get style from" +msgstr "" + +msgid "The associated GdkScreen" +msgstr "" + +#, fuzzy +#| msgid "Text direction" +msgid "Direction" +msgstr "Teksti suund" + +msgid "Text direction" +msgstr "Teksti suund" + +#, fuzzy +#| msgid "Whether the widget responds to input" +msgid "Whether the switch is on or off" +msgstr "Kas vidin reageerib sisendile või mitte" + +#, fuzzy +#| msgid "The minimum vertical width of the progress bar" +msgid "The minimum width of the handle" +msgstr "Püstise kerimisriba vähim laius" + msgid "Rows" msgstr "Ridu" @@ -4211,33 +4628,15 @@ msgstr "Veerge" msgid "The number of columns in the table" msgstr "Tabelis olevate veergude arv" -msgid "Row spacing" -msgstr "Ruum ridade vahel" - -msgid "The amount of space between two consecutive rows" -msgstr "Kahe kohakuti oleva rea vahele jäetava ruumi hulk" - -msgid "Column spacing" -msgstr "Ruum veergude vahel" - -msgid "The amount of space between two consecutive columns" -msgstr "Kahe kõrvuti oleva veeru vahele jäetava ruumi hulk" - msgid "If TRUE, the table cells are all the same width/height" msgstr "Kui märgitud, siis on kõik tabeli lahtrid sama kõrguse ja laiusega" -msgid "Left attachment" -msgstr "" - msgid "Right attachment" msgstr "" msgid "The column number to attach the right side of a child widget to" msgstr "" -msgid "Top attachment" -msgstr "" - msgid "The row number to attach the top of a child widget to" msgstr "" @@ -4276,24 +4675,6 @@ msgstr "" "Alamkirje ülemise ja alumise naaberkirje vahele jäetava täiendava ruumi hulk " "pikslites" -msgid "Horizontal adjustment for the text widget" -msgstr "Tekstividina rõhtjoondus" - -msgid "Vertical adjustment for the text widget" -msgstr "Tekstividina püstjoondus" - -msgid "Line Wrap" -msgstr "Reamurdmine" - -msgid "Whether lines are wrapped at widget edges" -msgstr "Kas vidinate servas murtakse ridu või mitte" - -msgid "Word Wrap" -msgstr "Sõnade murdmine" - -msgid "Whether words are wrapped at widget edges" -msgstr "Kas sõnad murtakse vidina serval või mite" - msgid "Tag Table" msgstr "" @@ -4357,24 +4738,9 @@ msgid "" "of the tagged characters" msgstr "" -msgid "Background stipple mask" -msgstr "" - -msgid "Bitmap to use as a mask when drawing the text background" -msgstr "" - msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "" -msgid "Foreground stipple mask" -msgstr "" - -msgid "Bitmap to use as a mask when drawing the text foreground" -msgstr "" - -msgid "Text direction" -msgstr "Teksti suund" - msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Teksti suund, kas vasakult-paremale või paremalt vasakule" @@ -4490,18 +4856,6 @@ msgstr "" msgid "Whether this tag affects background height" msgstr "" -msgid "Background stipple set" -msgstr "" - -msgid "Whether this tag affects the background stipple" -msgstr "" - -msgid "Foreground stipple set" -msgstr "" - -msgid "Whether this tag affects the foreground stipple" -msgstr "" - msgid "Justification set" msgstr "" @@ -4610,17 +4964,24 @@ msgstr "" msgid "Color with which to draw error-indication underlines" msgstr "" +msgid "Theming engine name" +msgstr "" + msgid "Create the same proxies as a radio action" msgstr "" msgid "Whether the proxies for this action look like radio action proxies" msgstr "" -msgid "If the toggle action should be active in or not" -msgstr "" +#, fuzzy +#| msgid "Whether visited links should be tracked" +msgid "Whether the toggle action should be active" +msgstr "Kas külastatud viitasid tuleb jälgida või mitte" -msgid "If the toggle button should be pressed in or not" -msgstr "" +#, fuzzy +#| msgid "If the toggle part of the button is displayed" +msgid "If the toggle button should be pressed in" +msgstr "Kas nupu sisse/väljalülitamise osa kuvatakse või mitte" msgid "If the toggle button is in an \"in between\" state" msgstr "" @@ -4643,12 +5004,6 @@ msgstr "Noole näitamine" msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Kui tööriistariba ei mahu aknasse, kas siis näidatakse noolt või mitte" -msgid "Tooltips" -msgstr "Vihjed" - -msgid "If the tooltips of the toolbar should be active or not" -msgstr "Kas tööriistariba vihjed peaks olema aktiveeritud või mitte" - msgid "Size of icons in this toolbar" msgstr "Ikoonide suurus sellel tööriistaribal" @@ -4694,21 +5049,6 @@ msgstr "" msgid "Style of bevel around the toolbar" msgstr "" -msgid "Toolbar style" -msgstr "Tööriistarea laad" - -msgid "" -"Whether default toolbars have text only, text and icons, icons only, etc." -msgstr "" -"Näitab, kas vaikimisi on tööriistaribadel ainult tekst, ainult ikoonid või " -"mõlemad, jne." - -msgid "Toolbar icon size" -msgstr "Tööriistarea ikooni suurus" - -msgid "Size of icons in default toolbars" -msgstr "Tööriistareal olevate ikoonide vaikimisi suurus" - msgid "Text to show in the item." msgstr "" @@ -4751,6 +5091,165 @@ msgid "" "show text in GTK_TOOLBAR_BOTH_HORIZ mode" msgstr "" +#, fuzzy +#| msgid "A human-readable description of the status" +msgid "The human-readable title of this item group" +msgstr "Oleku kirjeldus inimloetaval kujul" + +#, fuzzy +#| msgid "Icon widget to display in the item" +msgid "A widget to display in place of the usual label" +msgstr "Ikoonividin kirje kuvamiseks" + +msgid "Collapsed" +msgstr "" + +#, fuzzy +#| msgid "Whether the expander has been opened to reveal the child widget" +msgid "Whether the group has been collapsed and items are hidden" +msgstr "Las laiendaja on lapsvidina näitamiseks avatud või mitte" + +#, fuzzy +#| msgid "Pixel size" +msgid "ellipsize" +msgstr "Piksli suurus" + +msgid "Ellipsize for item group headers" +msgstr "" + +#, fuzzy +#| msgid "Header image" +msgid "Header Relief" +msgstr "Päise pilt" + +#, fuzzy +#| msgid "Show the column header buttons" +msgid "Relief of the group header button" +msgstr "Nuppude kuvamine veerupäises" + +#, fuzzy +#| msgid "Header Padding" +msgid "Header Spacing" +msgstr "Päise polsterdus" + +#, fuzzy +#| msgid "Spacing around expander arrow" +msgid "Spacing between expander arrow and caption" +msgstr "Laiendaja noole ümber olev ruum" + +#, fuzzy +#| msgid "Whether the child should receive extra space when the parent grows" +msgid "Whether the item should receive extra space when the group grows" +msgstr "Kas lapsobjekt saab rohkem ruumi, kui vanemobjekti suurus kasvab" + +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether the item should fill the available space" +msgstr "Kas lapsed peaksid kõik olema sama suurusega või mitte" + +msgid "New Row" +msgstr "" + +#, fuzzy +#| msgid "Whether the items should be displayed with a number" +msgid "Whether the item should start a new row" +msgstr "Kas kirjeid näidatakse koos numbritega või mitte" + +msgid "Position of the item within this group" +msgstr "" + +#, fuzzy +#| msgid "Size of icons in this toolbar" +msgid "Size of icons in this tool palette" +msgstr "Ikoonide suurus sellel tööriistaribal" + +#, fuzzy +#| msgid "Size of icons in this toolbar" +msgid "Style of items in the tool palette" +msgstr "Ikoonide suurus sellel tööriistaribal" + +msgid "Exclusive" +msgstr "" + +#, fuzzy +#| msgid "Whether the items should be displayed with a number" +msgid "Whether the item group should be the only expanded at a given time" +msgstr "Kas kirjeid näidatakse koos numbritega või mitte" + +#, fuzzy +#| msgid "Whether the child should receive extra space when the parent grows" +msgid "" +"Whether the item group should receive extra space when the palette grows" +msgstr "Kas lapsobjekt saab rohkem ruumi, kui vanemobjekti suurus kasvab" + +#, fuzzy +#| msgid "Foreground color as a string" +msgid "Foreground color for symbolic icons" +msgstr "Esiplaanivärv stringina" + +#, fuzzy +#| msgid "Cursor color" +msgid "Error color" +msgstr "Kursori värvus" + +msgid "Error color for symbolic icons" +msgstr "" + +#, fuzzy +#| msgid "Background color" +msgid "Warning color" +msgstr "Taustavärv" + +msgid "Warning color for symbolic icons" +msgstr "" + +#, fuzzy +#| msgid "Cursor color" +msgid "Success color" +msgstr "Kursori värvus" + +msgid "Success color for symbolic icons" +msgstr "" + +#, fuzzy +#| msgid "Whether there should be an icon near the item" +msgid "Padding that should be put around icons in the tray" +msgstr "Kas kirje ligidal peaks olema ikoon või mitte" + +#, fuzzy +#| msgid "The selection mode" +msgid "TreeMenu model" +msgstr "Valikurežiim" + +#, fuzzy +#| msgid "The model for the icon view" +msgid "The model for the tree menu" +msgstr "Ikoonivaate mudel" + +msgid "TreeMenu root row" +msgstr "" + +msgid "The TreeMenu will display children of the specified root" +msgstr "" + +#, fuzzy +#| msgid "Tearoff Title" +msgid "Tearoff" +msgstr "Lahtirebimise pealkiri" + +#, fuzzy +#| msgid "Whether this widget has a tooltip" +msgid "Whether the menu has a tearoff item" +msgstr "Kas sellel vidinal on vihje või mitte" + +#, fuzzy +#| msgid "Wrap width" +msgid "Wrap Width" +msgstr "Murdmise laius" + +msgid "Wrap width for laying out items in a grid" +msgstr "" + msgid "TreeModelSort Model" msgstr "" @@ -4763,12 +5262,6 @@ msgstr "" msgid "The model for the tree view" msgstr "" -msgid "Horizontal Adjustment for the widget" -msgstr "Vidina horisontaalne suund" - -msgid "Vertical Adjustment for the widget" -msgstr "Vidina vertikaalne suund" - msgid "Headers Visible" msgstr "Päised nähtaval" @@ -4894,12 +5387,6 @@ msgstr "Paarituarvulise rea värvus" msgid "Color to use for odd rows" msgstr "Paarituarvuliste ridade joonistamiseks kasutatav värvus" -msgid "Row Ending details" -msgstr "" - -msgid "Enable extended row background theming" -msgstr "" - msgid "Grid line width" msgstr "" @@ -4936,9 +5423,6 @@ msgstr "" msgid "Current width of the column" msgstr "" -msgid "Space which is inserted between cells" -msgstr "" - msgid "Sizing" msgstr "" @@ -4951,9 +5435,6 @@ msgstr "Fikseeritud laius" msgid "Current fixed width of the column" msgstr "Veeru fikseeritud laius" -msgid "Minimum Width" -msgstr "Minimaalne laius" - msgid "Minimum allowed width of the column" msgstr "Veeru minimaalne lubatud laius" @@ -5014,19 +5495,17 @@ msgstr "" msgid "An XML string describing the merged UI" msgstr "" -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "" - -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "" - msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" +msgid "Use symbolic icons" +msgstr "" + +#, fuzzy +#| msgid "Whether to show a sort indicator" +msgid "Whether to use symbolic icons" +msgstr "Kas sortimisnäidikut tuleb näidata või mitte" + msgid "Widget name" msgstr "" @@ -5123,12 +5602,6 @@ msgstr "" msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" -msgid "Extension events" -msgstr "" - -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "" - msgid "No show all" msgstr "" @@ -5148,9 +5621,101 @@ msgid "Double Buffered" msgstr "" #, fuzzy -msgid "Whether or not the widget is double buffered" +msgid "Whether the widget is double buffered" msgstr "Kas vidin on nähtav või mitte" +msgid "How to position in extra horizontal space" +msgstr "" + +msgid "How to position in extra vertical space" +msgstr "" + +#, fuzzy +#| msgid "Margin" +msgid "Margin on Left" +msgstr "Ääris" + +msgid "Pixels of extra space on the left side" +msgstr "" + +msgid "Margin on Right" +msgstr "" + +msgid "Pixels of extra space on the right side" +msgstr "" + +#, fuzzy +#| msgid "Margin" +msgid "Margin on Top" +msgstr "Ääris" + +msgid "Pixels of extra space on the top side" +msgstr "" + +msgid "Margin on Bottom" +msgstr "" + +msgid "Pixels of extra space on the bottom side" +msgstr "" + +#, fuzzy +#| msgid "Margin" +msgid "All Margins" +msgstr "Ääris" + +msgid "Pixels of extra space on all four sides" +msgstr "" + +#, fuzzy +#| msgid "Horizontal padding" +msgid "Horizontal Expand" +msgstr "Rõhtne polsterdus" + +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether widget wants more horizontal space" +msgstr "Kas vidin on sisestamisfookuses või mitte" + +#, fuzzy +#| msgid "Horizontal alignment" +msgid "Horizontal Expand Set" +msgstr "Rõhtjoondus" + +#, fuzzy +#| msgid "Whether to strike through the text" +msgid "Whether to use the hexpand property" +msgstr "Kas tekst on läbi kriipsutatud või mitte" + +#, fuzzy +#| msgid "Vertical padding" +msgid "Vertical Expand" +msgstr "Püstine polsterdus" + +#, fuzzy +#| msgid "Whether the widget is visible" +msgid "Whether widget wants more vertical space" +msgstr "Kas vidin on nähtav või mitte" + +#, fuzzy +#| msgid "Vertical alignment" +msgid "Vertical Expand Set" +msgstr "Püstjoondus" + +#, fuzzy +#| msgid "Whether to wrap the license text." +msgid "Whether to use the vexpand property" +msgstr "Kas litsentsi tekstu murtakse või mitte." + +#, fuzzy +#| msgid "Expand" +msgid "Expand Both" +msgstr "Laiendamine" + +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether widget wants to expand in both directions" +msgstr "Kas vidin on sisestamisfookuses või mitte" + msgid "Interior Focus" msgstr "" @@ -5197,10 +5762,12 @@ msgstr "" msgid "Aspect ratio with which to draw insertion cursor" msgstr "" -msgid "Draw Border" -msgstr "Raami joonistamine" +#, fuzzy +#| msgid "Window Position" +msgid "Window dragging" +msgstr "Akna asukoht" -msgid "Size of areas outside the widget's allocation to draw" +msgid "Whether windows can be dragged by clicking on empty areas" msgstr "" msgid "Unvisited Link Color" @@ -5273,24 +5840,6 @@ msgstr "" "Unikaalne käivitusidentifikaator startup-notification'i poolt kasutatava " "akna jaoks" -msgid "Allow Shrink" -msgstr "" - -#, no-c-format -msgid "" -"If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of the " -"time a bad idea" -msgstr "" -"Kui TÕENE, siis aknal puudub minimaalne suurus. Sättides selle TÕESEKS on " -"99% ulatuses halb idee" - -msgid "Allow Grow" -msgstr "Luba kasvada" - -msgid "If TRUE, users can expand the window beyond its minimum size" -msgstr "" -"Kui TÕENE, siis kasutajad saavad laiendada akent miinimumsuurusest suuremaks" - msgid "If TRUE, users can resize the window" msgstr "Kui TÕENE, siis kasutajad saavad akna suurust muuta" @@ -5332,6 +5881,14 @@ msgstr "Kas see aken hävitatakse, kui tema vanem hävitatakse" msgid "Icon for this window" msgstr "Selle akna ikoon" +#, fuzzy +#| msgid "Mnemonic key" +msgid "Mnemonics Visible" +msgstr "Mnemooniline klahv" + +msgid "Whether mnemonics are currently visible in this window" +msgstr "" + msgid "Name of the themed icon for this window" msgstr "Sellele aknale määratud teemakohane ikoon" @@ -5397,6 +5954,24 @@ msgstr "Kustutatav" msgid "Whether the window frame should have a close button" msgstr "Kas aknaraamil peaks olema sulgemisnupp" +#, fuzzy +#| msgid "Resize mode" +msgid "Resize grip" +msgstr "Suuruse muutmise režiim" + +#, fuzzy +#| msgid "Whether the window frame should have a close button" +msgid "Specifies whether the window should have a resize grip" +msgstr "Kas aknaraamil peaks olema sulgemisnupp" + +msgid "Resize grip is visible" +msgstr "" + +#, fuzzy +#| msgid "Whether the action group is visible." +msgid "Specifies whether the window's resize grip is visible." +msgstr "Kas tegevuste grupp on nähtav või mitte." + msgid "Gravity" msgstr "Külgetõmme" @@ -5415,17 +5990,232 @@ msgstr "Akna läbipaistvus" msgid "The opacity of the window, from 0 to 1" msgstr "Akna läbipaistvus, väärtused vahemikus 0-1" -msgid "IM Preedit style" +msgid "Width of resize grip" msgstr "" -msgid "How to draw the input method preedit string" +msgid "Height of resize grip" msgstr "" -msgid "IM Status style" -msgstr "" +msgid "GtkApplication" +msgstr "GtkApplication" -msgid "How to draw the input method statusbar" -msgstr "Kuidas peab sisendmeetodi olekuriba joonistama" +msgid "The GtkApplication for the window" +msgstr "Akna GtkApplication" + +#~ msgid "Loop" +#~ msgstr "Korduv" + +#~ msgid "Whether the animation should loop when it reaches the end" +#~ msgstr "Kas animatsioonid peavad lõppedes uuesti alustama või mitte" + +#~ msgid "Number of Channels" +#~ msgstr "Kanalite arv" + +#~ msgid "The number of samples per pixel" +#~ msgstr "Näidiste arv piksli kohta" + +#~ msgid "Colorspace" +#~ msgstr "Värviruum" + +#~ msgid "The colorspace in which the samples are interpreted" +#~ msgstr "Värviruum, milles näidiseid tõlgendatakse" + +#~ msgid "Has Alpha" +#~ msgstr "Alfa väärtusega" + +#~ msgid "Whether the pixbuf has an alpha channel" +#~ msgstr "Kas pixbuf'il on alfakanal" + +#~ msgid "Bits per Sample" +#~ msgstr "Bitte näidise kohta" + +#~ msgid "The number of bits per sample" +#~ msgstr "Näidise bittide arv" + +#~ msgid "The number of columns of the pixbuf" +#~ msgstr "Pixbuf'i tulpade arv" + +#~ msgid "The number of rows of the pixbuf" +#~ msgstr "Pixbuf'i veergude arv" + +#~ msgid "" +#~ "The number of bytes between the start of a row and the start of the next " +#~ "row" +#~ msgstr "Baitide arv rea ja järgmise rea alguse vahel" + +#~ msgid "Pixels" +#~ msgstr "Piksleid" + +#~ msgid "A pointer to the pixel data of the pixbuf" +#~ msgstr "Viit pixbuf'i piksliandmetele" + +#~ msgid "the GdkScreen for the renderer" +#~ msgstr "Renderdaja GdkScreen" + +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" +#~ msgstr "" +#~ "Programmi veebisaidi URL-i silt. Kui seda pole määratud, siis vaikimis on " +#~ "selleks URL ise" + +#~ msgid "Enable arrow keys" +#~ msgstr "Nooleklahvide lubamine" + +#~ msgid "Whether the arrow keys move through the list of items" +#~ msgstr "Kas nooleklahve saab kasutada kirjete loendis liikumiseks" + +#~ msgid "Always enable arrows" +#~ msgstr "Nooled on alati lubatud" + +#~ msgid "Obsolete property, ignored" +#~ msgstr "Iganenud omadus, mida eiratakse" + +#~ msgid "Case sensitive" +#~ msgstr "Tõstutundlik" + +#~ msgid "Whether list item matching is case sensitive" +#~ msgstr "Kas vastav nimekirja kirje on tõstutundlik või mitte" + +#~ msgid "Minimum X" +#~ msgstr "Väikseim X" + +#~ msgid "Minimum possible value for X" +#~ msgstr "X-i väikseim võimalik väärtus" + +#~ msgid "Maximum X" +#~ msgstr "Suurim X" + +#~ msgid "Maximum possible X value" +#~ msgstr "X-i suurim võimalik väärtus" + +#~ msgid "Minimum Y" +#~ msgstr "Väikseim Y" + +#~ msgid "Minimum possible value for Y" +#~ msgstr "Y-i väikseim võimalik väärtus" + +#~ msgid "Maximum Y" +#~ msgstr "Suurim Y" + +#~ msgid "Maximum possible value for Y" +#~ msgstr "Y-i suurim võimalik väärtus" + +#~ msgid "Has separator" +#~ msgstr "Omab eraldajat" + +#~ msgid "The dialog has a separator bar above its buttons" +#~ msgstr "Kas dialoogil on nuppude kohal eraldaja" + +#~ msgid "Invisible char set" +#~ msgstr "Nähtamatu märk määratud" + +#~ msgid "State Hint" +#~ msgstr "Olekusvihje" + +#~ msgid "File System Backend" +#~ msgstr "Failisüsteemi taustaprogramm" + +#~ msgid "Name of file system backend to use" +#~ msgstr "Kasutatava failisüsteemi taustaprogrammi nimi" + +#~ msgid "The currently selected filename" +#~ msgstr "Hetkel valitud faili nimi" + +#~ msgid "Show file operations" +#~ msgstr "Näita failitegevusi" + +#~ msgid "The GdkFont that is currently selected" +#~ msgstr "Hetkel valitud GdkFont" + +#~ msgid "Mask" +#~ msgstr "Mask" + +#~ msgid "Use separator" +#~ msgstr "Eraldaja kasutamine" + +#~ msgid "" +#~ "Whether to put a separator between the message dialog's text and the " +#~ "buttons" +#~ msgstr "Kas teatedialoogi teate ja nuppude vahel peab olema eraldaja" + +#~ msgid "Tab Border" +#~ msgstr "Saki ääris" + +#~ msgid "Width of the border around the tab labels" +#~ msgstr "Saki sildi ümber oleva äärise laius" + +#~ msgid "Horizontal Tab Border" +#~ msgstr "Saki rõhtne ääris" + +#~ msgid "Width of the horizontal border of tab labels" +#~ msgstr "Sakisildi rõhtsa äärise laius" + +#~ msgid "Vertical Tab Border" +#~ msgstr "Saki püstine ääris" + +#~ msgid "Width of the vertical border of tab labels" +#~ msgstr "Sakisildi püstise äärise laius" + +#~ msgid "Whether tabs should have homogeneous sizes" +#~ msgstr "Kas sakis peavad olema ühesuurused või mitte" + +#~ msgid "Spacing around indicator" +#~ msgstr "Näidiku ümber olev ruum" + +#~ msgid "Blinking" +#~ msgstr "Vilkumine" + +#~ msgid "Whether or not the status icon is blinking" +#~ msgstr "Kas olekuikoon vilgub või mitte" + +#~ msgid "Horizontal adjustment for the text widget" +#~ msgstr "Tekstividina rõhtjoondus" + +#~ msgid "Vertical adjustment for the text widget" +#~ msgstr "Tekstividina püstjoondus" + +#~ msgid "Line Wrap" +#~ msgstr "Reamurdmine" + +#~ msgid "Whether lines are wrapped at widget edges" +#~ msgstr "Kas vidinate servas murtakse ridu või mitte" + +#~ msgid "Word Wrap" +#~ msgstr "Sõnade murdmine" + +#~ msgid "Whether words are wrapped at widget edges" +#~ msgstr "Kas sõnad murtakse vidina serval või mite" + +#~ msgid "Tooltips" +#~ msgstr "Vihjed" + +#~ msgid "If the tooltips of the toolbar should be active or not" +#~ msgstr "Kas tööriistariba vihjed peaks olema aktiveeritud või mitte" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "Vidina horisontaalne suund" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "Vidina vertikaalne suund" + +#~ msgid "Draw Border" +#~ msgstr "Raami joonistamine" + +#~ msgid "" +#~ "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of " +#~ "the time a bad idea" +#~ msgstr "" +#~ "Kui TÕENE, siis aknal puudub minimaalne suurus. Sättides selle TÕESEKS on " +#~ "99% ulatuses halb idee" + +#~ msgid "Allow Grow" +#~ msgstr "Luba kasvada" + +#~ msgid "If TRUE, users can expand the window beyond its minimum size" +#~ msgstr "" +#~ "Kui TÕENE, siis kasutajad saavad laiendada akent miinimumsuurusest " +#~ "suuremaks" #~ msgid "The orientation of the toolbar" #~ msgstr "Tööriistariba suund" From 66593ef569b75e35444eddd8e6d2f8278bcbdb48 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 13 Jan 2011 21:33:36 +0900 Subject: [PATCH 1374/1463] Added warnings to GtkCellLayout when api is accessed and there is no GtkCellArea to operate on. --- gtk/gtkcelllayout.c | 47 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index c4b9d6f0e8..d5bce4233b 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -93,6 +93,8 @@ #include "gtkbuilderprivate.h" #include "gtkintl.h" +#define warn_no_cell_area(func) \ + g_warning ("%s: Called but no GtkCellArea is available yet", func) typedef GtkCellLayoutIface GtkCellLayoutInterface; G_DEFINE_INTERFACE (GtkCellLayout, gtk_cell_layout, G_TYPE_OBJECT); @@ -134,7 +136,6 @@ gtk_cell_layout_default_init (GtkCellLayoutIface *iface) iface->get_cells = gtk_cell_layout_default_get_cells; } - /* Default implementation is to fall back on an underlying cell area */ static void gtk_cell_layout_default_pack_start (GtkCellLayout *cell_layout, @@ -150,7 +151,10 @@ gtk_cell_layout_default_pack_start (GtkCellLayout *cell_layout, { area = iface->get_area (cell_layout); - gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (area), cell, expand); + if (area) + gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (area), cell, expand); + else + warn_no_cell_area ("GtkCellLayoutIface->pack_start()"); } } @@ -168,7 +172,10 @@ gtk_cell_layout_default_pack_end (GtkCellLayout *cell_layout, { area = iface->get_area (cell_layout); - gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (area), cell, expand); + if (area) + gtk_cell_layout_pack_end (GTK_CELL_LAYOUT (area), cell, expand); + else + warn_no_cell_area ("GtkCellLayoutIface->pack_end()"); } } @@ -184,7 +191,10 @@ gtk_cell_layout_default_clear (GtkCellLayout *cell_layout) { area = iface->get_area (cell_layout); - gtk_cell_layout_clear (GTK_CELL_LAYOUT (area)); + if (area) + gtk_cell_layout_clear (GTK_CELL_LAYOUT (area)); + else + warn_no_cell_area ("GtkCellLayoutIface->clear()"); } } @@ -203,7 +213,10 @@ gtk_cell_layout_default_add_attribute (GtkCellLayout *cell_layout, { area = iface->get_area (cell_layout); - gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); + if (area) + gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (area), cell, attribute, column); + else + warn_no_cell_area ("GtkCellLayoutIface->add_attribute()"); } } @@ -223,9 +236,12 @@ gtk_cell_layout_default_set_cell_data_func (GtkCellLayout *cell_layout, { area = iface->get_area (cell_layout); - _gtk_cell_area_set_cell_data_func_with_proxy (area, cell, - (GFunc)func, func_data, destroy, - cell_layout); + if (area) + _gtk_cell_area_set_cell_data_func_with_proxy (area, cell, + (GFunc)func, func_data, destroy, + cell_layout); + else + warn_no_cell_area ("GtkCellLayoutIface->set_cell_data_func()"); } } @@ -242,7 +258,10 @@ gtk_cell_layout_default_clear_attributes (GtkCellLayout *cell_layout, { area = iface->get_area (cell_layout); - gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); + if (area) + gtk_cell_layout_clear_attributes (GTK_CELL_LAYOUT (area), cell); + else + warn_no_cell_area ("GtkCellLayoutIface->clear_attributes()"); } } @@ -260,7 +279,10 @@ gtk_cell_layout_default_reorder (GtkCellLayout *cell_layout, { area = iface->get_area (cell_layout); - gtk_cell_layout_reorder (GTK_CELL_LAYOUT (area), cell, position); + if (area) + gtk_cell_layout_reorder (GTK_CELL_LAYOUT (area), cell, position); + else + warn_no_cell_area ("GtkCellLayoutIface->reorder()"); } } @@ -276,7 +298,10 @@ gtk_cell_layout_default_get_cells (GtkCellLayout *cell_layout) { area = iface->get_area (cell_layout); - return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + if (area) + return gtk_cell_layout_get_cells (GTK_CELL_LAYOUT (area)); + else + warn_no_cell_area ("GtkCellLayoutIface->get_cells()"); } return NULL; } From 04494c5df0df3c9867ecc1b0116b761e68557c1c Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Thu, 13 Jan 2011 23:02:34 +0900 Subject: [PATCH 1375/1463] Making GtkCellLayout "no cell area yet" warning a g_critical instead. --- gtk/gtkcelllayout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkcelllayout.c b/gtk/gtkcelllayout.c index d5bce4233b..d56747c1c4 100644 --- a/gtk/gtkcelllayout.c +++ b/gtk/gtkcelllayout.c @@ -94,7 +94,7 @@ #include "gtkintl.h" #define warn_no_cell_area(func) \ - g_warning ("%s: Called but no GtkCellArea is available yet", func) + g_critical ("%s: Called but no GtkCellArea is available yet", func) typedef GtkCellLayoutIface GtkCellLayoutInterface; G_DEFINE_INTERFACE (GtkCellLayout, gtk_cell_layout, G_TYPE_OBJECT); From 7e29fc5b421a049c2b88453232eddeefed9f1b7b Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Thu, 13 Jan 2011 16:03:49 +0100 Subject: [PATCH 1376/1463] gtkshow: don't call _get_display() on a NULL GdkScreen gtk_show_uri() is documented to accept a NULL screen to mean the default one. Calling gdk_screen_get_display() on a NULL object will cause segfaults. --- gtk/gtkshow.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtkshow.c b/gtk/gtkshow.c index ac3d1ac974..ad396a27f9 100644 --- a/gtk/gtkshow.c +++ b/gtk/gtkshow.c @@ -63,10 +63,16 @@ gtk_show_uri (GdkScreen *screen, { GdkAppLaunchContext *context; gboolean ret; + GdkDisplay *display; g_return_val_if_fail (uri != NULL, FALSE); - context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen)); + if (screen != NULL) + display = gdk_screen_get_display (screen); + else + display = gdk_display_get_default (); + + context = gdk_display_get_app_launch_context (display); gdk_app_launch_context_set_screen (context, screen); gdk_app_launch_context_set_timestamp (context, timestamp); From df78c9ee66999f235e3ca267ac638abab6602cb4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 13 Jan 2011 21:37:33 -0500 Subject: [PATCH 1377/1463] Add some doc details Mention symbolic color names in gtk_icon_info_load_symbolic_for_context() --- gtk/gtkicontheme.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index a163c9cae8..7a32269f2e 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3254,6 +3254,9 @@ gtk_icon_info_load_symbolic (GtkIconInfo *icon_info, * Loads an icon, modifying it to match the system colors for the foreground, * success, warning and error colors provided. If the icon is not a symbolic * one, the function will return the result from gtk_icon_info_load_icon(). + * This function uses the regular foreground color and the symbolic colors + * with the names "success_color", "warning_color" and "error_color" from + * the context. * * This allows loading symbolic icons that will match the system theme. * From 9d85d87f0561ce2af3c72d7b9bb787b958a97e30 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 13 Jan 2011 22:11:22 -0500 Subject: [PATCH 1378/1463] Move GtkMenuBar docs inline And remove some outdated content. --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkmenubar.sgml | 104 ------------------------ gtk/gtkenums.h | 10 +++ gtk/gtkmenubar.c | 18 ++++ 4 files changed, 29 insertions(+), 104 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkmenubar.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 1249f4db13..ebc9d6b070 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -34,6 +34,7 @@ gtkitemfactory.sgml gtklayout.sgml gtklinkbutton.sgml gtkmain.sgml +gtkmenubar.sgml gtkmessagedialog.sgml gtknotebook.sgml gtkobject.sgml diff --git a/docs/reference/gtk/tmpl/gtkmenubar.sgml b/docs/reference/gtk/tmpl/gtkmenubar.sgml deleted file mode 100644 index 89504630b8..0000000000 --- a/docs/reference/gtk/tmpl/gtkmenubar.sgml +++ /dev/null @@ -1,104 +0,0 @@ - -GtkMenuBar - - -A subclass widget for GtkMenuShell which holds GtkMenuItem widgets - - - -The #GtkMenuBar is a subclass of #GtkMenuShell which contains one to many #GtkMenuItem. The result is a standard menu bar which can hold many menu items. #GtkMenuBar allows for a shadow type to be set for aesthetic purposes. The shadow types are defined in the #gtk_menu_bar_set_shadow_type function. - - - - -#GtkMenuShell, #GtkMenu, #GtkMenuItem - - - - - - - - - - -The #GtkMenuBar struct contains the following fields. (These fields should be considered read-only. They should never be set by an application.) - - - - - - - - - - - - - - - - - - - - - - - - - -Creates the new #GtkMenuBar - - -@void: -@Returns: the #GtkMenuBar - - - - -Determines how widgets should be packed insided menubars and -menuitems contained in menubars. - - -@GTK_PACK_DIRECTION_LTR: Widgets are packed left-to-right. -@GTK_PACK_DIRECTION_RTL: Widgets are packed right-to-left. -@GTK_PACK_DIRECTION_TTB: Widgets are packed top-to-bottom. -@GTK_PACK_DIRECTION_BTT: Widgets are packed bottom-to-top. - - - - - - -@menubar: -@pack_dir: - - - - - - - -@menubar: -@Returns: - - - - - - - -@menubar: -@child_pack_dir: - - - - - - - -@menubar: -@Returns: - - diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index d146359c97..76ea88578f 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -648,6 +648,16 @@ typedef enum GTK_IM_STATUS_NONE } GtkIMStatusStyle; +/** + * GtkPackDirection: + * @GTK_PACK_DIRECTION_LTR: Widgets are packed left-to-right + * @GTK_PACK_DIRECTION_RTL: Widgets are packed right-to-left + * @GTK_PACK_DIRECTION_TTB: Widgets are packed top-to-bottom + * @GTK_PACK_DIRECTION_BTT: Widgets are packed bottom-to-top + * + * Determines how widgets should be packed insided menubars + * and menuitems contained in menubars. + */ typedef enum { GTK_PACK_DIRECTION_LTR, diff --git a/gtk/gtkmenubar.c b/gtk/gtkmenubar.c index 42f2f25819..b35ec0ca89 100644 --- a/gtk/gtkmenubar.c +++ b/gtk/gtkmenubar.c @@ -24,6 +24,17 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkmenubar + * @Title: GtkMenuBar + * @Short_description: A subclass of GtkMenuShell which holds GtkMenuItem widgets + * @See_also: #GtkMenuShell, #GtkMenu, #GtkMenuItem + * + * The #GtkMenuBar is a subclass of #GtkMenuShell which contains one or + * more #GtkMenuItems. The result is a standard menu bar which can hold + * many menu items. + */ + #include "config.h" #include "gtkmenubar.h" @@ -224,6 +235,13 @@ gtk_menu_bar_init (GtkMenuBar *menu_bar) gtk_style_context_add_class (context, GTK_STYLE_CLASS_MENUBAR); } +/** + * gtk_menu_bar_new: + * + * Creates a new #GtkMenuBar + * + * Returns: the new menu bar, as a #GtkWidget + */ GtkWidget* gtk_menu_bar_new (void) { From b23839c7a5ed92959d2badc112d1d4709c1fb64b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 13 Jan 2011 22:19:58 -0500 Subject: [PATCH 1379/1463] Add an example for custom css --- .../reference/gtk/migrating-GtkStyleContext.xml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/reference/gtk/migrating-GtkStyleContext.xml b/docs/reference/gtk/migrating-GtkStyleContext.xml index ef87ab5afc..42ede40768 100644 --- a/docs/reference/gtk/migrating-GtkStyleContext.xml +++ b/docs/reference/gtk/migrating-GtkStyleContext.xml @@ -556,7 +556,24 @@ Typically, the provider will be a #GtkCssProvider, which parse CSS information from a file or from a string. + + Using a custom GtkStyleProvider + + GtkStyleContext *context; + GtkCssProvider *provider; + context = gtk_widget_get_style_context (widget); + provider = gtk_css_provider_new (); + gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (provider), + ".frame1 {\n" + " border-image: url('gradient1.png') 10 10 10 10 stretch;\n" + "}\n", -1, NULL); + gtk_style_context_add_provider (context, + GTK_STYLE_PROVIDER (provider), + GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + g_object_unref (provider); + + Notice that you can also get style information from custom resources by implementing the #GtkStyleProvider interface yourself. This is From 04248fbd396527661d1d6f2faa46be65155c4df1 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 13 Jan 2011 23:10:25 -0500 Subject: [PATCH 1380/1463] Update some outdated content in the question index Based on a patch by Jasper St. Pierre https://bugzilla.gnome.org/show_bug.cgi?id=639494 --- docs/reference/gtk/question_index.sgml | 373 +++++++++++-------------- 1 file changed, 168 insertions(+), 205 deletions(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 2f3b6d3fb5..f807bddb51 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -35,8 +35,8 @@ How do I get started with GTK+? -The GTK+ website offers a -tutorial and a +The GTK+ website offers a +tutorial and a FAQ. More documentation ranging from whitepapers to online books can be found at the GNOME developer's site. @@ -47,7 +47,7 @@ this reference manual for details. -Where can I get help with GTK+, submit a bug report, or make a feature +Where can I get help with GTK+, submit a bug report, or make a feature request? @@ -102,11 +102,11 @@ state (explained in its documentation). -For strings returned from functions, they will be declared "const" (using -#G_CONST_RETURN) if they should not be freed. Non-const strings should be -freed with g_free(). Arrays follow the same rule. (If you find an exception -to the rules, please report a bug to http://bugzilla.gnome.org.) +For strings returned from functions, they will be declared "const" (using +#G_CONST_RETURN) if they should not be freed. Non-const strings should be +freed with g_free(). Arrays follow the same rule. If you find an +undocumented exception to the rules, please report a bug to http://bugzilla.gnome.org. @@ -164,8 +164,8 @@ How do I use GTK+ with threads? -This is covered in the GDK threads -documentation. See also the GThread +This is covered in the GDK threads +documentation. See also the GThread documentation for portable threading primitives. @@ -182,33 +182,37 @@ How do I internationalize a GTK+ program? Most people use GNU gettext, already required in order to install GLib. On a UNIX -or Linux system with gettext installed, type info gettext +or Linux system with gettext installed, type info gettext to read the documentation. -The short checklist on how to use gettext is: call bindtextdomain() so gettext -can find the files containing your translations, call textdomain() to set the -default translation domain, call bind_textdomain_codeset() to request that -all translated strings are returned in UTF-8, then call gettext() to look up -each string to be translated in the default domain. +The short checklist on how to use gettext is: call bindtextdomain() so +gettext can find the files containing your translations, call textdomain() +to set the default translation domain, call bind_textdomain_codeset() to +request that all translated strings are returned in UTF-8, then call +gettext() to look up each string to be translated in the default domain. + + +gi18n.h provides the following shorthand macros for +convenience. Conventionally, people define macros as follows for convenience: - #define _(x) gettext (x) - #define N_(x) x + #define _(x) gettext (x) + #define N_(x) x + #define C_(ctx,x) pgettext (ctx, x) -You use N_() (N stands for no-op) to mark a string for translation in a -context where a function call to gettext() is not allowed, such as in an -array initializer. -You eventually have to call gettext() on the string to actually fetch the -translation. _() both marks the string for translation and actually +You use N_() (N stands for no-op) to mark a string for translation in +a location where a function call to gettext() is not allowed, such as +in an array initializer. +You eventually have to call gettext() on the string to actually fetch +the translation. _() both marks the string for translation and actually translates it. - - -Nowadays, GLib provides the common shorthand macros in the header file -gi18n.h, so you don't have to define them yourself, -just include that header. +The C_() macro (C stands for context) adds an additional context to +the string that is marked for translation, which can help to disambiguate +short strings that might need different translations in different +parts of your program. Code using these macros ends up looking like this: @@ -231,21 +235,21 @@ Code using these macros ends up looking like this: -Libraries using gettext should use dgettext() instead of gettext(), which -allows them to specify the translation domain each time they ask for a -translation. Libraries should also avoid calling textdomain(), since they -will be specifying the domain instead of using the default. For dgettext() -the _() macro can be defined as: - - - #define _(x) dgettext ("MyDomain", x) - - +Libraries using gettext should use dgettext() instead of gettext(), which +allows them to specify the translation domain each time they ask for a +translation. Libraries should also avoid calling textdomain(), since +they will be specifying the domain instead of using the default. -Again, GLib comes with the gi18n-lib.h, saving you the -trouble of defining the macros by hand. The macros in that header expect the -translation domain to be specified by the %GETTEXT_PACKAGE macro. +With the convention that the macro GETTEXT_PACKAGE is +defined to hold your libraries translation domain, +gi18n-lib.h can be included to provide +the following convenience: + + + #define _(x) dgettext (GETTEXT_PACKAGE, x) + + @@ -259,9 +263,9 @@ How do I use non-ASCII characters in GTK+ programs ? -GTK+ uses Unicode (more exactly -UTF-8) for all text. UTF-8 encodes each Unicode codepoint as a sequence of -one to six bytes and has a number of nice properties which make it a good +GTK+ uses Unicode (more exactly +UTF-8) for all text. UTF-8 encodes each Unicode codepoint as a sequence of +one to six bytes and has a number of nice properties which make it a good choice for working with Unicode text in C programs: @@ -271,30 +275,30 @@ ASCII characters are encoded by their familiar ASCII codepoints. ASCII characters never appear as part of any other character. -The zero byte doesn't occur as part of a character, so that UTF-8 strings -can be manipulated with the usual C library functions for handling +The zero byte doesn't occur as part of a character, so that UTF-8 strings +can be manipulated with the usual C library functions for handling zero-terminated strings. -More information about Unicode and UTF-8 can be found in the -UTF-8 and Unicode i +More information about Unicode and UTF-8 can be found in the +UTF-8 and Unicode FAQ for Unix/Linux. GLib provides functions for converting strings between UTF-8 and other encodings, see g_locale_to_utf8() and g_convert(). Text coming from external sources (e.g. files or user input), has to be -converted to UTF-8 before being handed over to GTK+. The following example -writes the content of a IS0-8859-1 encoded text file to +converted to UTF-8 before being handed over to GTK+. The following example +writes the content of a IS0-8859-1 encoded text file to stdout: gchar *text, *utf8_text; gsize length; GError *error = NULL; -if (g_file_get_contents (filename, &text, &length, NULL)) +if (g_file_get_contents (filename, &text, &length, NULL)) { - utf8_text = g_convert (text, length, "UTF-8", "ISO-8859-1", + utf8_text = g_convert (text, length, "UTF-8", "ISO-8859-1", NULL, NULL, &error); if (error != NULL) { @@ -304,7 +308,7 @@ if (g_file_get_contents (filename, &text, &length, NULL)) else g_print (utf8_text); } -else +else fprintf (stderr, "Unable to read file %s\n", filename); @@ -315,36 +319,37 @@ handling non-ASCII content: direct UTF-8 If your editor and compiler are capable of handling UTF-8 encoded sources, -it is very convenient to simply use UTF-8 for string literals, since it allows -you to edit the strings in "wysiwyg". Note that choosing this option may -reduce the portability of your code. +it is very convenient to simply use UTF-8 for string literals, since it +allows you to edit the strings in "wysiwyg". Note that choosing this option +may reduce the portability of your code. escaped UTF-8 -Even if your toolchain can't handle UTF-8 directly, you can still encode string -literals in UTF-8 by using octal or hexadecimal escapes like -\212 or \xa8 to -encode each byte. This is portable, but modifying the escaped strings is not -very convenient. Be careful when mixing hexadecimal escapes with ordinary text; +Even if your toolchain can't handle UTF-8 directly, you can still encode +string literals in UTF-8 by using octal or hexadecimal escapes like +\212 or \xa8 to encode each byte. +This is portable, but modifying the escaped strings is not very convenient. +Be careful when mixing hexadecimal escapes with ordinary text; "\xa8abcd" is a string of length 1 ! runtime conversion -If the string literals can be represented in an encoding which your toolchain -can handle (e.g. IS0-8859-1), you can write your source files in that encoding -and use g_convert() to convert the strings to UTF-8 at runtime. Note that this -has some runtime overhead, so you may want to move the conversion out of inner -loops. +If the string literals can be represented in an encoding which your +toolchain can handle (e.g. IS0-8859-1), you can write your source files +in that encoding and use g_convert() to convert the strings to UTF-8 at +runtime. Note that this has some runtime overhead, so you may want to move +the conversion out of inner loops. -Here is an example showing the three approaches using the copyright sign -© which has Unicode and ISO-8859-1 codepoint 169 and is represented in -UTF-8 by the two bytes 194, 169: +Here is an example showing the three approaches using the copyright sign +© which has Unicode and ISO-8859-1 codepoint 169 and is represented +in UTF-8 by the two bytes 194, 169, or "\302\251" as +a string literal: g_print ("direct UTF-8: ©"); g_print ("escaped UTF-8: \302\251"); @@ -368,9 +373,9 @@ How do I use GTK+ with C++? -There are two ways to approach this. The GTK+ header files use the subset -of C that's also valid C++, so you can simply use the normal GTK+ API -in a C++ program. Alternatively, you can use a "C++ binding" +There are two ways to approach this. The GTK+ header files use the subset +of C that's also valid C++, so you can simply use the normal GTK+ API +in a C++ program. Alternatively, you can use a "C++ binding" such as gtkmm which provides a native C++ API. @@ -380,20 +385,20 @@ connected to signals, not methods. So you will need to use global functions or "static" class functions for signal connections. -Another common issue when using GTK+ directly is that -C++ will not implicitly convert an integer to an enumeration. +Another common issue when using GTK+ directly is that +C++ will not implicitly convert an integer to an enumeration. This comes up when using bitfields; in C you can write the following code: - gdk_window_set_events (gdk_window, + gdk_window_set_events (gdk_window, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); while in C++ you must write: - gdk_window_set_events (gdk_window, + gdk_window_set_events (gdk_window, (GdkEventMask) GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); @@ -427,19 +432,19 @@ How do I load an image or animation from a file? -To load an image file straight into a display widget, use -gtk_image_new_from_file() If the file load fails, -gtk_image_new_from_file() will display no image graphic — to detect -a failed load yourself, use gdk_pixbuf_new_from_file() directly, then -gtk_image_new_from_pixbuf().. +To load an image file straight into a display widget, use +gtk_image_new_from_file() If the file load fails, +gtk_image_new_from_file() will display no image graphic — to detect +a failed load yourself, use gdk_pixbuf_new_from_file() directly, then +gtk_image_new_from_pixbuf().. To load an image for another purpose, use gdk_pixbuf_new_from_file(). To i load an animation, use gdk_pixbuf_animation_new_from_file(). -gdk_pixbuf_animation_new_from_file() can also load non-animated images, so -use it in combination with gdk_pixbuf_animation_is_static_image() to load a -file of unknown type. +gdk_pixbuf_animation_new_from_file() can also load non-animated images, so +use it in combination with gdk_pixbuf_animation_is_static_image() to load a +file of unknown type. -To load an image or animation file asynchronously (without blocking), use +To load an image or animation file asynchronously (without blocking), use #GdkPixbufLoader. @@ -453,14 +458,13 @@ How do I draw text ? -To draw a piece of text, use a Pango layout and gdk_draw_layout(), -using code like the following: +To draw a piece of text, use a Pango layout and gdk_draw_layout(). layout = gtk_widget_create_pango_layout (widget, text); fontdesc = pango_font_description_from_string ("Luxi Mono 12"); - pango_layout_set_font_description (layout, fontdesc); - gdk_draw_layout (..., layout); + pango_layout_set_font_description (layout, fontdesc); + pango_cairo_show_layout (cr, layout); pango_font_description_free (fontdesc); g_object_unref (layout); @@ -485,13 +489,13 @@ How do I measure the size of a piece of text ? -To obtain the size of a piece of text, use a Pango layout and +To obtain the size of a piece of text, use a Pango layout and pango_layout_get_pixel_size(), using code like the following: layout = gtk_widget_create_pango_layout (widget, text); fontdesc = pango_font_description_from_string ("Luxi Mono 12"); - pango_layout_set_font_description (layout, fontdesc); + pango_layout_set_font_description (layout, fontdesc); pango_layout_get_pixel_size (layout, &width, &height); pango_font_description_free (fontdesc); g_object_unref (layout); @@ -510,21 +514,21 @@ section of Pango manua -Why are types not registered if I use their GTK_TYPE_BLAH +Why are types not registered if I use their GTK_TYPE_BLAH macro ? -The GTK_TYPE_BLAH macros are defined as calls to +The GTK_TYPE_BLAH macros are defined as calls to gtk_blah_get_type(), and the _get_type() i functions are declared as %G_GNUC_CONST which allows the compiler to optimize the call away if it appears that the value is not being used. -A common workaround for this problem is to store the result in a volatile +A common workaround for this problem is to store the result in a volatile variable, which keeps the compiler from optimizing the call away. volatile GType dummy = GTK_TYPE_BLAH; @@ -543,7 +547,7 @@ How do I create a transparent toplevel window ? To make a window transparent, it needs to use a visual which supports that. -This is done by getting the RGBA colormap of the screen with +This is done by getting the RGBA colormap of the screen with gdk_screen_get_rgba_colormap() and setting it on the window. Note that gdk_screen_get_rgba_colormap() will return %NULL if transparent windows are not supported on the screen; also note that this may change from @@ -563,8 +567,8 @@ gdk_draw_rgb_32_image(). Note that the presence of an RGBA visual is no guarantee that the -window will actually appear transparent on screen. On X11, this -requires a compositing manager to be running. See +window will actually appear transparent on screen. On X11, this +requires a compositing manager to be running. See gtk_widget_is_composited() for a way to find out if the alpha channel will be respected. @@ -583,7 +587,7 @@ channel will be respected. See tree widget overview — you -should use the #GtkTreeView widget. (A list is just a tree with no branches, +should use the #GtkTreeView widget. (A list is just a tree with no branches, so the tree widget is used for lists as well). @@ -600,8 +604,8 @@ See text widget overview — you should use the #GtkTextView widget. -If you only have a small amount of text, #GtkLabel may also be appropriate -of course. It can be made selectable with gtk_label_set_selectable(). For a +If you only have a small amount of text, #GtkLabel may also be appropriate +of course. It can be made selectable with gtk_label_set_selectable(). For a single-line text entry, see #GtkEntry. @@ -615,8 +619,8 @@ single-line text entry, see #GtkEntry. -#GtkImage can display images in just about any format GTK+ understands. -You can also use #GtkDrawingArea if you need to do something more complex, +#GtkImage can display images in just about any format GTK+ understands. +You can also use #GtkDrawingArea if you need to do something more complex, such as draw text or graphics over the top of the image. @@ -648,17 +652,14 @@ How do I change the color of a widget? -See gtk_widget_modify_fg(), gtk_widget_modify_bg(), gtk_widget_modify_base(), -and gtk_widget_modify_text(). See GTK+ -resource files for more discussion. You can also change widget color -by installing a resource file and parsing it with gtk_rc_add_default_file(). -The advantage of a resource file is that users can then override the -color you've chosen. +See gtk_widget_override_color() and gtk_widget_override_background_color(). +You can also change the appearance of a widget by installing a +custom style provider, see gtk_style_context_add_provider(). -To change the background color for widgets such as #GtkLabel that have -no background, place them in a #GtkEventBox and set the background of the -event box. +To change the background color for widgets such as #GtkLabel that +have no background, place them in a #GtkEventBox and set the background +of the event box. @@ -668,35 +669,38 @@ How do I change the font of a widget? -This has several possible answers, depending on what exactly you want to -achieve. One option is gtk_widget_modify_font(). Note that this function -can be used to change only the font size, as in the following example: +This has several possible answers, depending on what exactly you want to +achieve. One option is gtk_widget_override_font(). PangoFontDesc *font_desc = pango_font_description_new (); pango_font_description_set_size (font_desc, 40); - gtk_widget_modify_font (widget, font); + gtk_widget_override_font (widget, font); pango_font_description_free (font_desc); -If you want to make the text of a label larger, you can use +If you want to make the text of a label larger, you can use gtk_label_set_markup(): gtk_label_set_markup (label, "<big>big text</big>"); -This is preferred for many apps because it's a relative size to the -user's chosen font size. See g_markup_escape_text() if you are +This is preferred for many apps because it's a relative size to the +user's chosen font size. See g_markup_escape_text() if you are constructing such strings on the fly. You can also change the font of a widget by putting - gtk-font-name = "Sans 30" + .my-widget-class { + font: Sans 30; + } -in a resource file and parsing it with gtk_rc_add_default_file(). -The advantage of a resource file is that users can then override the font you -have chosen. See GTK+ resource files -for more discussion. +in a CSS file, loading it with gtk_css_provider_load_from_file(), and +adding the provider with gtk_style_context_add_provider_for_screen(). +To associate this style information with your widget, set a style class +on its #GtkStyleContext using gtk_style_context_add_class(). +The advantage of this approach is that users can then override the font +you have chosen. See the #GtkStyleContext documentation for more discussion. @@ -706,8 +710,9 @@ for more discussion. How do I disable/ghost/desensitize a widget? - In GTK+ a disabled widget is termed "insensitive." See -gtk_widget_set_sensitive(). + +In GTK+ a disabled widget is termed "insensitive." +See gtk_widget_set_sensitive(). @@ -746,14 +751,14 @@ How do I make a text widget display its complete contents in a specific font? -If you use gtk_text_buffer_insert_with_tags() with appropriate tags to select -the font, the inserted text will have the desired appearance, but text typed -in by the user before or after the tagged block will appear in the default -style. +If you use gtk_text_buffer_insert_with_tags() with appropriate tags to +select the font, the inserted text will have the desired appearance, but +text typed in by the user before or after the tagged block will appear in +the default style. -To ensure that all text has the desired appearance, use gtk_widget_modify_font() -to change the default font for the widget. +To ensure that all text has the desired appearance, use +gtk_widget_override_font() to change the default font for the widget. @@ -770,17 +775,17 @@ A good way to keep a text buffer scrolled to the end is to place a mark at the end of the buffer, and give it right gravity. The gravity has the effect that text inserted at the mark gets inserted before, keeping the mark -at the end. +at the end. - + To ensure that the end of the buffer remains visible, use gtk_text_view_scroll_to_mark() to scroll to the mark after inserting new text. -The gtk-demo application contains an example of this technique. +The gtk-demo application contains an example of this technique. @@ -797,25 +802,10 @@ How do I associate some data with a row in the tree? -Remember that the #GtkTreeModel columns don't necessarily have to be displayed. -So you can put non-user-visible data in your model just like any other data, -and retrieve it with gtk_tree_model_get(). See the -tree widget overview. - - - - - - -What's the #GtkTreeView equivalent of gtk_clist_find_row_from_data()? - - - - -As there is no separate data column in the #GtkTreeModel, there's no -built in function to find the iter from data. You can write a custom -searching function to walk the tree and find the data, or use -gtk_tree_model_foreach(). +Remember that the #GtkTreeModel columns don't necessarily have to be +displayed. So you can put non-user-visible data in your model just +like any other data, and retrieve it with gtk_tree_model_get(). +See the tree widget overview. @@ -827,9 +817,9 @@ How do I put an image and some text in the same column? -You can pack more than one #GtkCellRenderer into a single #GtkTreeViewColumn -using gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end(). -So pack both a #GtkCellRendererPixbuf and a #GtkCellRendererText into the +You can pack more than one #GtkCellRenderer into a single #GtkTreeViewColumn +using gtk_tree_view_column_pack_start() or gtk_tree_view_column_pack_end(). +So pack both a #GtkCellRendererPixbuf and a #GtkCellRendererText into the column. @@ -837,15 +827,15 @@ column. -I can set data easily on my #GtkTreeStore/#GtkListStore models using +I can set data easily on my #GtkTreeStore/#GtkListStore models using gtk_list_store_set() and gtk_tree_store_set(), but can't read it back? Both the #GtkTreeStore and the #GtkListStore implement the #GtkTreeModel -interface. Consequentially, the can use any function this interface -implements. The easiest way to read a set of data back is to use +interface. Consequentially, you can use any function this interface +implements. The easiest way to read a set of data back is to use gtk_tree_model_get(). @@ -857,14 +847,14 @@ How do I change the way that numbers are formatted by #GtkTreeView? Use gtk_tree_view_insert_column_with_data_func() -or gtk_tree_view_column_set_cell_data_func() and do the conversion from i -number to string yourself (with, say, g_strdup_printf()). +or gtk_tree_view_column_set_cell_data_func() and do the conversion +from number to string yourself (with, say, g_strdup_printf()). The following example demonstrates this: -enum +enum { DOUBLE_COLUMN, N_COLUMNS @@ -873,11 +863,11 @@ enum GtkListStore *mycolumns; GtkTreeView *treeview; -void +void my_cell_double_to_text (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell, + GtkCellRenderer *cell, GtkTreeModel *tree_model, - GtkTreeIter *iter, + GtkTreeIter *iter, gpointer data) { GtkCellRendererText *cell_text = (GtkCellRendererText *)cell; @@ -892,7 +882,7 @@ my_cell_double_to_text (GtkTreeViewColumn *tree_column, g_free (text); } -void +void set_up_new_columns (GtkTreeView *myview) { GtkCellRendererText *renderer; @@ -908,7 +898,7 @@ set_up_new_columns (GtkTreeView *myview) /* Create a new column that has a title ("Example column"), * uses the above created renderer that will render the double - * value into text from the associated model's rows. + * value into text from the associated model's rows. */ column = gtk_tree_view_column_new (); gtk_tree_view_column_set_title (column, "Example column"); @@ -922,10 +912,10 @@ set_up_new_columns (GtkTreeView *myview) */ /* Set up a custom function that will be called when the column content * is rendered. We use the func_data pointer as an index into our - * model. This is convenient when using multi column lists. + * model. This is convenient when using multi column lists. */ gtk_tree_view_column_set_cell_data_func (column, renderer, - my_cell_double_to_text, + my_cell_double_to_text, (gpointer)DOUBLE_COLUMN, NULL); } @@ -953,42 +943,15 @@ How do I use cairo to draw in GTK+ applications ? -Use gdk_cairo_create() to obtain a cairo context for drawing -on a GDK window or pixmap. See Cairo -Interaction for some more useful functions. - - - - - -I have created a cairo context with gdk_cairo_create(), but when I -later use it, my drawing does not show up. Why is that ? - - - - -All drawing in GTK+ is normally done in an expose handler, and GTK+ -creates a temporary pixmap for double-buffering the drawing. If you -create a cairo context outside the expose handler, it is backed -by the GDK window itself, not the double-buffering pixmap. Consequently, -any drawing you do with that cairo context gets overwritten at the -end of the expose handler, when the double-buffering pixmap is copied -back. +The #GtkWidget::draw signal gets a ready-to-use cairo context +as parameter that you should use. -Possible solutions to this problem are: - - -Turn off double-buffering, with gtk_widget_set_double_buffered(). -This is not ideal, since it can cause some flickering. - - -Create the cairo context inside the expose handler. If you do this, -gdk_cairo_create() arranges for it to be backed by the double-buffering -pixmap. This is the preferred solution, and is used throughout GTK+ -itself. - - +All drawing in GTK+ is normally done in a draw handler, and GTK+ +creates a temporary pixmap for double-buffering the drawing. +It is possible to turn off double-buffering, with +gtk_widget_set_double_buffered(), but this is not ideal, +since it can cause some flickering. @@ -996,7 +959,7 @@ itself. Can I improve the performance of my application by using the -Glitz backend of cairo ? +Glitz or GL backend of cairo ? @@ -1016,7 +979,7 @@ Can I use cairo to draw on a #GdkPixbuf ? No, at least not yet. The cairo image surface does not support the -pixel format used by GdkPixbuf. +pixel format used by GdkPixbuf. From 985b0e57b25f2db06f94ae941d65766079a2a703 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 13 Jan 2011 23:40:47 -0500 Subject: [PATCH 1381/1463] Add a migration guide section about multiple backends --- docs/reference/gtk/migrating-2to3.xml | 43 +++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/reference/gtk/migrating-2to3.xml b/docs/reference/gtk/migrating-2to3.xml index d9bb6a3c31..6022ce7a1b 100644 --- a/docs/reference/gtk/migrating-2to3.xml +++ b/docs/reference/gtk/migrating-2to3.xml @@ -746,6 +746,49 @@ on_alpha_screen_changed (GtkWindow *window,
+
+ Backend-specific code + + In GTK+ 2.x, GDK could only be compiled for one backend at a time, + and the %GDK_WINDOWING_X11 or %GDK_WINDOWING_WIN32 macros could + be used to find out which one you are dealing with: + +#ifdef GDK_WINDOWING_X11 + if (timestamp != GDK_CURRENT_TIME) + gdk_x11_window_set_user_time (gdk_window, timestamp); +#endif +#ifdef GDK_WINDOWING_WIN32 + /* ... win32 specific code ... */ +#endif + + In GTK+ 3, GDK can be built with multiple backends, and currently + used backend has to be determined at runtime, typically using + type-check macros on a #GdkDisplay or #GdkWindow. You still need + to use the #GDK_WINDOWING macros to only compile code referring + to supported backends: + +#ifdef GDK_WINDOWING_X11 + if (GDK_IS_X11_DISPLAY (display)) + { + if (timestamp != GDK_CURRENT_TIME) + gdk_x11_window_set_user_time (gdk_window, timestamp); + } + else +#endif +#ifdef GDK_WINDOWING_WIN32 + if (GDK_IS_WIN32_DISPLAY (display)) + { + /* ... win32 specific code ... */ + } + else +#endif + { + g_warning ("Unsupported GDK backend"); + } + + +
+
The GtkWidget::draw signal From 92c8a3e0e174ef774abe8095436538b36d6b669e Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 13 Jan 2011 23:42:12 -0500 Subject: [PATCH 1382/1463] Remove an overlooked instance of gdk drawing api --- docs/reference/gtk/question_index.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index f807bddb51..9da5c000e6 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -458,7 +458,7 @@ How do I draw text ? -To draw a piece of text, use a Pango layout and gdk_draw_layout(). +To draw a piece of text, use a Pango layout and pango_cairo_show_layout(). layout = gtk_widget_create_pango_layout (widget, text); From 890e4511aaf3ef0ef72328fd7b89440e49de94d2 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 13 Jan 2011 16:30:28 -0500 Subject: [PATCH 1383/1463] GtkContainer: make "handle_border_width" member private Otherwise in introspection we get a naming conflict between the structure member and the method. http://bugzilla.gnome.org/show_bug.cgi?id=639325 --- gtk/gtkcontainer.c | 6 +++--- gtk/gtkcontainer.h | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gtk/gtkcontainer.c b/gtk/gtkcontainer.c index d5135209cd..cd400b3e02 100644 --- a/gtk/gtkcontainer.c +++ b/gtk/gtkcontainer.c @@ -1766,7 +1766,7 @@ gtk_container_adjust_size_request (GtkWidget *widget, container = GTK_CONTAINER (widget); - if (GTK_CONTAINER_GET_CLASS (widget)->handle_border_width) + if (GTK_CONTAINER_GET_CLASS (widget)->_handle_border_width) { int border_width; @@ -1796,7 +1796,7 @@ gtk_container_adjust_size_allocation (GtkWidget *widget, container = GTK_CONTAINER (widget); - if (!GTK_CONTAINER_GET_CLASS (widget)->handle_border_width) + if (!GTK_CONTAINER_GET_CLASS (widget)->_handle_border_width) { parent_class->adjust_size_allocation (widget, orientation, minimum_size, natural_size, allocated_pos, @@ -1859,7 +1859,7 @@ gtk_container_class_handle_border_width (GtkContainerClass *klass) { g_return_if_fail (GTK_IS_CONTAINER_CLASS (klass)); - klass->handle_border_width = TRUE; + klass->_handle_border_width = TRUE; } /** diff --git a/gtk/gtkcontainer.h b/gtk/gtkcontainer.h index 94a8502c8f..2498513dd0 100644 --- a/gtk/gtkcontainer.h +++ b/gtk/gtkcontainer.h @@ -62,8 +62,6 @@ struct _GtkContainerClass { GtkWidgetClass parent_class; - unsigned int handle_border_width : 1; - void (*add) (GtkContainer *container, GtkWidget *widget); void (*remove) (GtkContainer *container, @@ -91,6 +89,11 @@ struct _GtkContainerClass GtkWidgetPath * (*get_path_for_child) (GtkContainer *container, GtkWidget *child); + + /*< private >*/ + + unsigned int _handle_border_width : 1; + /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); From 8ba35bc38192ce3b4527294758cf8edd8fda6a08 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 09:32:26 -0500 Subject: [PATCH 1384/1463] Add --warn-all to introspection scanner args https://bugzilla.gnome.org/show_bug.cgi?id=635287 --- gdk/Makefile.am | 3 ++- gtk/Makefile.am | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index eb6672197f..dcaeb148f5 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -3,7 +3,8 @@ include $(top_srcdir)/Makefile.decl -include $(INTROSPECTION_MAKEFILE) INTROSPECTION_GIRS = INTROSPECTION_SCANNER_ARGS = \ - --add-include-path=../gdk + --add-include-path=../gdk \ + --warn-all INTROSPECTION_COMPILER_ARGS = \ --includedir=$(srcdir) \ --includedir=. diff --git a/gtk/Makefile.am b/gtk/Makefile.am index fc3a86a06f..78957d30da 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -3,7 +3,8 @@ include $(top_srcdir)/Makefile.decl -include $(INTROSPECTION_MAKEFILE) INTROSPECTION_GIRS = INTROSPECTION_SCANNER_ARGS = \ - --add-include-path=../gdk + --add-include-path=../gdk \ + --warn-all INTROSPECTION_COMPILER_ARGS = \ --includedir=$(srcdir) \ --includedir=. \ From 9d14edf760153a9ea38f8e7dd3af995be06f4bfb Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 09:44:10 -0500 Subject: [PATCH 1385/1463] Add --include-uninstalled for the gdk gir https://bugzilla.gnome.org/show_bug.cgi?id=635287 --- gdk/Makefile.am | 8 ++++++-- gtk/Makefile.am | 4 +++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index dcaeb148f5..8cba98d585 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -185,7 +185,8 @@ introspection_files = \ gdkenumtypes.h Gdk-3.0.gir: libgdk-3.0.la Makefile -Gdk_3_0_gir_SCANNERFLAGS = --warn-all --c-include="gdk/gdk.h" +Gdk_3_0_gir_SCANNERFLAGS = \ + --c-include="gdk/gdk.h" Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0 Gdk_3_0_gir_LIBS = libgdk-3.0.la Gdk_3_0_gir_FILES = $(introspection_files) @@ -234,7 +235,10 @@ x11_introspection_files = \ x11/gdkx11window.h GdkX11-3.0.gir: libgdk-3.0.la Gdk-3.0.gir Makefile -GdkX11_3_0_gir_SCANNERFLAGS = --warn-all --strip-prefix=Gdk --c-include="gdk/gdkx.h" +GdkX11_3_0_gir_SCANNERFLAGS = \ + --strip-prefix=Gdk \ + --c-include="gdk/gdkx.h" \ + --include-uninstalled=$(top_builddir)/gdk/Gdk-3.0.gir GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0 GdkX11_3_0_gir_LIBS = libgdk-3.0.la GdkX11_3_0_gir_FILES = $(x11_introspection_files) diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 78957d30da..98f4cbc8e5 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -969,7 +969,9 @@ introspection_files = \ gtktypebuiltins.c Gtk-3.0.gir: $(INTROSPECTION_SCANNER) libgtk-3.0.la $(top_builddir)/gdk/Gdk-3.0.gir Makefile -Gtk_3_0_gir_SCANNERFLAGS = --warn-all --add-include-path=$(top_builddir)/gdk +Gtk_3_0_gir_SCANNERFLAGS = \ + --add-include-path=$(top_builddir)/gdk \ + --include-uninstalled=$(top_builddir)/gdk/Gdk-3.0.gir if USE_X11 Gtk_3_0_gir_SCANNERFLAGS += --add-include-path=$(top_builddir)/gdk/x11 endif From e62b68fe62ce2f0b67ae2ed5a510895156f38c66 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 09:46:11 -0500 Subject: [PATCH 1386/1463] Add EXPORT_PACKAGES for the girs This connects the girs to the pc file names. https://bugzilla.gnome.org/show_bug.cgi?id=635287 --- gdk/Makefile.am | 2 ++ gtk/Makefile.am | 1 + 2 files changed, 3 insertions(+) diff --git a/gdk/Makefile.am b/gdk/Makefile.am index 8cba98d585..b344dfe757 100644 --- a/gdk/Makefile.am +++ b/gdk/Makefile.am @@ -191,6 +191,7 @@ Gdk_3_0_gir_INCLUDES = Gio-2.0 GdkPixbuf-2.0 Pango-1.0 cairo-1.0 Gdk_3_0_gir_LIBS = libgdk-3.0.la Gdk_3_0_gir_FILES = $(introspection_files) Gdk_3_0_gir_CFLAGS = $(INCLUDES) +Gdk_3_0_gir_EXPORT_PACKAGES = gdk-3.0 INTROSPECTION_GIRS += Gdk-3.0.gir if USE_X11 @@ -243,6 +244,7 @@ GdkX11_3_0_gir_INCLUDES = Gio-2.0 Gdk-3.0 GdkPixbuf-2.0 Pango-1.0 xlib-2.0 GdkX11_3_0_gir_LIBS = libgdk-3.0.la GdkX11_3_0_gir_FILES = $(x11_introspection_files) GdkX11_3_0_gir_CFLAGS = $(INCLUDES) -L$(top_builddir)/gdk +GdkX11_3_0_gir_EXPORT_PACKAGES = gdk-x11-3.0 INTROSPECTION_GIRS += GdkX11-3.0.gir endif # USE_X11 diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 98f4cbc8e5..db679bb7f2 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -984,6 +984,7 @@ Gtk_3_0_gir_CFLAGS = \ -DGTK_TEXT_USE_INTERNAL_UNSUPPORTED_API Gtk_3_0_gir_LIBS = libgtk-3.0.la Gtk_3_0_gir_FILES = $(introspection_files) +Gtk_3_0_gir_EXPORT_PACKAGES = gtk+-3.0 INTROSPECTION_GIRS += Gtk-3.0.gir girdir = $(datadir)/gir-1.0 From d0f51577a488d52c4ab85d0f4896278cf097a255 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Fri, 14 Jan 2011 16:49:43 +0100 Subject: [PATCH 1387/1463] Updated Galician translations --- po-properties/gl.po | 583 +++++++++++++++++++++++--------------------- 1 file changed, 302 insertions(+), 281 deletions(-) diff --git a/po-properties/gl.po b/po-properties/gl.po index 329d0b0883..aacc74a2b1 100644 --- a/po-properties/gl.po +++ b/po-properties/gl.po @@ -23,16 +23,15 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-properties-gl-77816____.merged\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" -"%2b&component=general\n" -"POT-Creation-Date: 2011-01-08 09:41+0000\n" -"PO-Revision-Date: 2011-01-10 00:02+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-01-14 16:46+0100\n" +"PO-Revision-Date: 2011-01-14 16:48+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" +"Language: gl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: gl\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" "X-Generator: KBabel 1.11.4\n" @@ -318,7 +317,7 @@ msgstr "Un nome único para a acción." #: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 #: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 -#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1594 msgid "Label" msgstr "Etiqueta" @@ -359,18 +358,18 @@ msgid "GIcon" msgstr "GIcon" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:328 ../gtk/gtkstatusicon.c:245 +#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "A GIcon que se mostra" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:310 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkimage.c:309 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 #: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Nome da icona" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:311 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:310 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "O nome da icona do tema de iconas" @@ -432,7 +431,7 @@ msgstr "" "Cando é TRUE, ocúltanse os proxies de menú baleiro para este aplicativo." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:935 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:941 msgid "Sensitive" msgstr "Sensíbel" @@ -442,7 +441,7 @@ msgstr "Indica se a acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 #: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 -#: ../gtk/gtkwidget.c:928 +#: ../gtk/gtkwidget.c:934 msgid "Visible" msgstr "Visíbel" @@ -627,11 +626,11 @@ msgstr "Recheo á dereita" msgid "The padding to insert at the right of the widget." msgstr "O recheo para introducir á dereita do widget." -#: ../gtk/gtkappchooserbutton.c:536 +#: ../gtk/gtkappchooserbutton.c:538 msgid "Include an 'Other...' item" msgstr "Incluír un elemento «Outro...»" -#: ../gtk/gtkappchooserbutton.c:537 +#: ../gtk/gtkappchooserbutton.c:539 msgid "" "Whether the combobox should include an item that triggers a " "GtkAppChooserDialog" @@ -653,57 +652,53 @@ msgstr "GFile" msgid "The GFile used by the app chooser dialog" msgstr "O GFile usado polo diálogo de selección de aplicativo" -#: ../gtk/gtkappchooserwidget.c:1015 +#: ../gtk/gtkappchooserwidget.c:1017 msgid "Show default app" msgstr "Mostrar o aplicativo predeterminado" -#: ../gtk/gtkappchooserwidget.c:1016 +#: ../gtk/gtkappchooserwidget.c:1018 msgid "Whether the widget should show the default application" msgstr "Indica se o widget debería mostrar o aplicativo predeterminado" -#: ../gtk/gtkappchooserwidget.c:1029 +#: ../gtk/gtkappchooserwidget.c:1031 msgid "Show recommended apps" msgstr "Mostrar os aplicativos recomendados" -#: ../gtk/gtkappchooserwidget.c:1030 -#| msgid "Whether images should be shown on buttons" +#: ../gtk/gtkappchooserwidget.c:1032 msgid "Whether the widget should show recommended applications" msgstr "Indica se o widget deberían mostrar aplicativos recomendados" -#: ../gtk/gtkappchooserwidget.c:1043 +#: ../gtk/gtkappchooserwidget.c:1045 msgid "Show fallback apps" msgstr "Most" -#: ../gtk/gtkappchooserwidget.c:1044 +#: ../gtk/gtkappchooserwidget.c:1046 #, fuzzy -#| msgid "Whether the label widget should fill all available horizontal space" msgid "Whether the widget should show fallback applications" msgstr "" "Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" -#: ../gtk/gtkappchooserwidget.c:1056 +#: ../gtk/gtkappchooserwidget.c:1058 msgid "Show other apps" msgstr "Mostrar outros aplicativos" -#: ../gtk/gtkappchooserwidget.c:1057 -#| msgid "Whether the widget has the input focus" +#: ../gtk/gtkappchooserwidget.c:1059 msgid "Whether the widget should show other applications" msgstr "Indica se o widget deberían mostrar outros aplicativos" -#: ../gtk/gtkappchooserwidget.c:1070 +#: ../gtk/gtkappchooserwidget.c:1072 msgid "Show all apps" msgstr "Mostrar tódolos aplicativos" -#: ../gtk/gtkappchooserwidget.c:1071 -#| msgid "Whether the label widget should fill all available horizontal space" +#: ../gtk/gtkappchooserwidget.c:1073 msgid "Whether the widget should show all applications" msgstr "Indica se o widget deberían mostrar tódolos aplicativos" -#: ../gtk/gtkappchooserwidget.c:1084 +#: ../gtk/gtkappchooserwidget.c:1086 msgid "Widget's default text" msgstr "Texto predeterminado do widget" -#: ../gtk/gtkappchooserwidget.c:1085 +#: ../gtk/gtkappchooserwidget.c:1087 msgid "The default text appearing when there are no applications" msgstr "O texto predeterminado que aparece cando non hai aplicativos" @@ -731,7 +726,7 @@ msgstr "Escalado de frecha" msgid "Amount of space used up by arrow" msgstr "Cantidade de espazo ocupado por frecha" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1123 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1129 msgid "Horizontal Alignment" msgstr "Aliñamento horizontal" @@ -739,7 +734,7 @@ msgstr "Aliñamento horizontal" msgid "X alignment of the child" msgstr "Aliñamento X do fillo" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1139 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1145 msgid "Vertical Alignment" msgstr "Aliñamento vertical" @@ -885,7 +880,7 @@ msgid "The amount of space between children" msgstr "A cantidade de espazo entre os fillos" #: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 -#: ../gtk/gtktoolitemgroup.c:1641 +#: ../gtk/gtktoolitemgroup.c:1647 msgid "Homogeneous" msgstr "Homoxéneo" @@ -894,7 +889,7 @@ msgid "Whether the children should all be the same size" msgstr "Indica se todos os fillos deben ser do mesmo tamaño" #: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 -#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktoolitemgroup.c:1654 ../gtk/gtktoolpalette.c:1094 #: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Expandir" @@ -903,7 +898,7 @@ msgstr "Expandir" msgid "Whether the child should receive extra space when the parent grows" msgstr "Indica se o fillo debe recibir espazo adicional cando o pai crece" -#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1661 msgid "Fill" msgstr "Encher" @@ -937,7 +932,7 @@ msgstr "" "ou ao final do pai" #: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 -#: ../gtk/gtktoolitemgroup.c:1669 +#: ../gtk/gtktoolitemgroup.c:1675 msgid "Position" msgstr "Posición" @@ -1095,27 +1090,27 @@ msgstr "Espazamento da imaxe" msgid "Spacing in pixels between the image and label" msgstr "Espazamento en píxeles entre a imaxe e a etiqueta" -#: ../gtk/gtkcalendar.c:482 +#: ../gtk/gtkcalendar.c:468 msgid "Year" msgstr "Ano" -#: ../gtk/gtkcalendar.c:483 +#: ../gtk/gtkcalendar.c:469 msgid "The selected year" msgstr "O ano seleccionado" -#: ../gtk/gtkcalendar.c:496 +#: ../gtk/gtkcalendar.c:482 msgid "Month" msgstr "Mes" -#: ../gtk/gtkcalendar.c:497 +#: ../gtk/gtkcalendar.c:483 msgid "The selected month (as a number between 0 and 11)" msgstr "O mes seleccionado (como número entre 0 e 11)" -#: ../gtk/gtkcalendar.c:511 +#: ../gtk/gtkcalendar.c:497 msgid "Day" msgstr "Día" -#: ../gtk/gtkcalendar.c:512 +#: ../gtk/gtkcalendar.c:498 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1123,83 +1118,83 @@ msgstr "" "O día seleccionado (como un número entre 1 e 31 ou 0 para anular a selección " "do día seleccionado actualmente)" -#: ../gtk/gtkcalendar.c:526 +#: ../gtk/gtkcalendar.c:512 msgid "Show Heading" msgstr "Mostrar a cabeceira" -#: ../gtk/gtkcalendar.c:527 +#: ../gtk/gtkcalendar.c:513 msgid "If TRUE, a heading is displayed" msgstr "Se é TRUE, móstrase unha cabeceira" -#: ../gtk/gtkcalendar.c:541 +#: ../gtk/gtkcalendar.c:527 msgid "Show Day Names" msgstr "Mostrar os nomes dos días" -#: ../gtk/gtkcalendar.c:542 +#: ../gtk/gtkcalendar.c:528 msgid "If TRUE, day names are displayed" msgstr "Se é TRUE, móstranse os nomes dos días" -#: ../gtk/gtkcalendar.c:555 +#: ../gtk/gtkcalendar.c:541 msgid "No Month Change" msgstr "Sen cambio de mes" -#: ../gtk/gtkcalendar.c:556 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, the selected month cannot be changed" msgstr "Se é TRUE, non será posíbel cambiar o mes seleccionado" -#: ../gtk/gtkcalendar.c:570 +#: ../gtk/gtkcalendar.c:556 msgid "Show Week Numbers" msgstr "Mostrar os números de semana" -#: ../gtk/gtkcalendar.c:571 +#: ../gtk/gtkcalendar.c:557 msgid "If TRUE, week numbers are displayed" msgstr "Se é TRUE, móstranse os números de semana" -#: ../gtk/gtkcalendar.c:586 +#: ../gtk/gtkcalendar.c:572 msgid "Details Width" msgstr "Largura dos detalles" -#: ../gtk/gtkcalendar.c:587 +#: ../gtk/gtkcalendar.c:573 msgid "Details width in characters" msgstr "A largura dos detalles en caracteres" -#: ../gtk/gtkcalendar.c:602 +#: ../gtk/gtkcalendar.c:588 msgid "Details Height" msgstr "Altura dos detalles" -#: ../gtk/gtkcalendar.c:603 +#: ../gtk/gtkcalendar.c:589 msgid "Details height in rows" msgstr "A altura dos detalles en caracteres" -#: ../gtk/gtkcalendar.c:619 +#: ../gtk/gtkcalendar.c:605 msgid "Show Details" msgstr "Mostrar os detalles" -#: ../gtk/gtkcalendar.c:620 +#: ../gtk/gtkcalendar.c:606 msgid "If TRUE, details are shown" msgstr "Se é TRUE móstranse os detalles" -#: ../gtk/gtkcalendar.c:632 +#: ../gtk/gtkcalendar.c:618 msgid "Inner border" msgstr "Bordo interior" -#: ../gtk/gtkcalendar.c:633 +#: ../gtk/gtkcalendar.c:619 msgid "Inner border space" msgstr "Espacio do bordo interior" -#: ../gtk/gtkcalendar.c:644 +#: ../gtk/gtkcalendar.c:630 msgid "Vertical separation" msgstr "Separación vertical" -#: ../gtk/gtkcalendar.c:645 +#: ../gtk/gtkcalendar.c:631 msgid "Space between day headers and main area" msgstr "Espazo entre as cabeceiras de día e o área principal" -#: ../gtk/gtkcalendar.c:656 +#: ../gtk/gtkcalendar.c:642 msgid "Horizontal separation" msgstr "Separación horizontal" -#: ../gtk/gtkcalendar.c:657 +#: ../gtk/gtkcalendar.c:643 msgid "Space between week headers and main area" msgstr "Espazo entre as cabeceiras de semana e o área principal" @@ -1224,7 +1219,6 @@ msgid "Fixed Size" msgstr "Tamaño fixo" #: ../gtk/gtkcellareabox.c:372 -#| msgid "Whether the children should all be the same size" msgid "Whether cells should be the same size in all rows" msgstr "Indica se todas as celas deben ter o mesmo tamaño en todas as filas" @@ -1233,9 +1227,6 @@ msgid "Pack Type" msgstr "Tipo de empaquetado" #: ../gtk/gtkcellareabox.c:389 -#| msgid "" -#| "A GtkPackType indicating whether the child is packed with reference to " -#| "the start or end of the parent" msgid "" "A GtkPackType indicating whether the cell is packed with reference to the " "start or end of the cell area" @@ -1504,7 +1495,7 @@ msgstr "O pixbuf do expansor pechado" msgid "Pixbuf for closed expander" msgstr "O pixbuf para o expansor pechado" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:252 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:251 #: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "ID de inventario" @@ -1538,7 +1529,7 @@ msgstr "Seguir o estado" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica se o pixbuf renderizado debería colorearse de acordo co estado" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:327 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:326 #: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Icona" @@ -1626,7 +1617,7 @@ msgid "The number of decimal places to display" msgstr "O número de lugares decimais que se vai mostrar" #: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 -#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:752 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -2105,18 +2096,15 @@ msgstr "" #: ../gtk/gtkcellview.c:283 #, fuzzy -#| msgid "Sensitive" msgid "Draw Sensitive" msgstr "Sensíbel" #: ../gtk/gtkcellview.c:284 #, fuzzy -#| msgid "Whether tree lines should be drawn in the tree view" msgid "Whether to force cells to be drawn in a sensitive state" msgstr "Indica se se deben debuxar as liñas na visualización en árbore" #: ../gtk/gtkcellview.c:302 -#| msgid "Model" msgid "Fit Model" msgstr "Arranxar modelo" @@ -2419,8 +2407,8 @@ msgid "The minimum size of the arrow in the combo box" msgstr "O tamaño mínimo da frecha no caixa de combinación" #: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 -#: ../gtk/gtkviewport.c:154 +#: ../gtk/gtkmenubar.c:207 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkviewport.c:153 msgid "Shadow type" msgstr "Tipo de sombra" @@ -2955,7 +2943,7 @@ msgid "Space to put between the label and the child" msgstr "Espazo para pór entre a etiqueta e o fillo" #: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 -#: ../gtk/gtktoolitemgroup.c:1595 +#: ../gtk/gtktoolitemgroup.c:1601 msgid "Label widget" msgstr "Widget etiqueta" @@ -2972,12 +2960,12 @@ msgid "Whether the label widget should fill all available horizontal space" msgstr "" "Indica se o widget etiqueta deben encher todo o espazo horizontal dispoñíbel" -#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1629 #: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Tamaño do expansor" -#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1630 #: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Tamaño da frecha do expansor" @@ -3104,19 +3092,19 @@ msgstr "" "Indica se un selector de ficheiros sen estar en modo aberto lle ofrecerá ao " "usuario crear cartafoles novos." -#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:632 msgid "X position" msgstr "Posición X" -#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:633 msgid "X position of child widget" msgstr "Posición X do widget fillo" -#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:642 msgid "Y position" msgstr "Posición Y" -#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:643 msgid "Y position of child widget" msgstr "Posición Y do widget fillo" @@ -3124,7 +3112,7 @@ msgstr "Posición Y do widget fillo" msgid "The title of the font selection dialog" msgstr "O título do diálogo de selección do tipo de letra" -#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:220 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:219 msgid "Font name" msgstr "Nome do tipo de letra" @@ -3168,15 +3156,15 @@ msgstr "Mostrar o tamaño" msgid "Whether selected font size is shown in the label" msgstr "Indica se o tamaño de tipo de letra seleccionado se mostra na etiqueta" -#: ../gtk/gtkfontsel.c:221 +#: ../gtk/gtkfontsel.c:220 msgid "The string that represents this font" msgstr "A cadea que representa este tipo de letra" -#: ../gtk/gtkfontsel.c:227 +#: ../gtk/gtkfontsel.c:226 msgid "Preview text" msgstr "Previsualizar o texto" -#: ../gtk/gtkfontsel.c:228 +#: ../gtk/gtkfontsel.c:227 msgid "The text to display in order to demonstrate the selected font" msgstr "" "O texto que mostrar como exemplo para indicar o tipo de letra seleccionado" @@ -3213,72 +3201,67 @@ msgstr "Aparencia do bordo do marco" msgid "A widget to display in place of the usual frame label" msgstr "Un widget para mostrar en lugar da etiqueta de marco habitual" -#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:175 msgid "Row spacing" msgstr "Espazamento de fila" -#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +#: ../gtk/gtkgrid.c:1270 ../gtk/gtktable.c:176 msgid "The amount of space between two consecutive rows" msgstr "A cantidade de espazo entre dúas filas consecutivas" -#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:184 msgid "Column spacing" msgstr "Espazamento de columna" -#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +#: ../gtk/gtkgrid.c:1277 ../gtk/gtktable.c:185 msgid "The amount of space between two consecutive columns" msgstr "A cantidade de espazo entre dúas columnas consecutivas" -#: ../gtk/gtkgrid.c:1282 -#| msgid "Homogeneous" +#: ../gtk/gtkgrid.c:1283 msgid "Row Homogeneous" msgstr "Fila homoxénea" -#: ../gtk/gtkgrid.c:1283 -#| msgid "If TRUE, the table cells are all the same width/height" +#: ../gtk/gtkgrid.c:1284 msgid "If TRUE, the rows are all the same height" msgstr "Se é TRUE, todas as filas teñen a mesma altura" -#: ../gtk/gtkgrid.c:1289 -#| msgid "Homogeneous" +#: ../gtk/gtkgrid.c:1290 msgid "Column Homogeneous" msgstr "Columnas homoxéneas" -#: ../gtk/gtkgrid.c:1290 -#| msgid "If TRUE, the table cells are all the same width/height" +#: ../gtk/gtkgrid.c:1291 msgid "If TRUE, the columns are all the same width" msgstr "Se é TRUE, todas as columnas teñen a mesma largura" -#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +#: ../gtk/gtkgrid.c:1297 ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "Anexo á esquerda" -#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +#: ../gtk/gtkgrid.c:1298 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "A cantidade de columnas para anexar ao lado esquerdo do fillo" -#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +#: ../gtk/gtkgrid.c:1304 ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "Anexo superior" -#: ../gtk/gtkgrid.c:1304 -#| msgid "The row number to attach the top of a child widget to" +#: ../gtk/gtkgrid.c:1305 msgid "The row number to attach the top side of a child widget to" msgstr "O número de filas para anexar na parte superior do widget fillo" -#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtkgrid.c:1311 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 msgid "Width" msgstr "Largura" -#: ../gtk/gtkgrid.c:1311 +#: ../gtk/gtkgrid.c:1312 msgid "The number of columns that a child spans" msgstr "O número de columnas nas que se expande un fillo" -#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:668 +#: ../gtk/gtkgrid.c:1318 ../gtk/gtklayout.c:667 msgid "Height" msgstr "Altura" -#: ../gtk/gtkgrid.c:1318 +#: ../gtk/gtkgrid.c:1319 msgid "The number of rows that a child spans" msgstr "O número de filas nas que un fillo se expande" @@ -3463,67 +3446,67 @@ msgstr "Alfa da caixa de selección" msgid "Opacity of the selection box" msgstr "Opacidade da caixa de selección" -#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:204 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:205 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "Un GdkPixbuf para mostrar" -#: ../gtk/gtkimage.c:243 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkimage.c:242 ../gtk/gtkrecentmanager.c:294 #: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Nome do ficheiro" -#: ../gtk/gtkimage.c:244 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:243 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Nome de ficheiro para cargar e mostrar" -#: ../gtk/gtkimage.c:253 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:252 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "ID de inventario para unha imaxe de inventario para mostrar" -#: ../gtk/gtkimage.c:260 +#: ../gtk/gtkimage.c:259 msgid "Icon set" msgstr "Definición da icona" -#: ../gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:260 msgid "Icon set to display" msgstr "Definición da icona para mostrar" -#: ../gtk/gtkimage.c:268 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 -#: ../gtk/gtktoolpalette.c:1031 +#: ../gtk/gtkimage.c:267 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1032 msgid "Icon size" msgstr "Tamaño da icona" -#: ../gtk/gtkimage.c:269 +#: ../gtk/gtkimage.c:268 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Tamaño simbólico que usar para a icona de inventario, conxunto de iconas ou " "icona con nome" -#: ../gtk/gtkimage.c:285 +#: ../gtk/gtkimage.c:284 msgid "Pixel size" msgstr "Tamaño do píxel" -#: ../gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:285 msgid "Pixel size to use for named icon" msgstr "Tamaño do píxel que usar para a icona con nome" -#: ../gtk/gtkimage.c:294 +#: ../gtk/gtkimage.c:293 msgid "Animation" msgstr "Animación" -#: ../gtk/gtkimage.c:295 +#: ../gtk/gtkimage.c:294 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation para mostrar" -#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:252 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Tipo de almacenamento" -#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "A representación empregada para as informacións de imaxe" @@ -3566,7 +3549,7 @@ msgid "Width of border around the action area" msgstr "Largura do bordo arredor da área de acción" #: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:540 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:546 #: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "Pantalla" @@ -3685,11 +3668,11 @@ msgstr "Rexistrar as ligazóns visitadas" msgid "Whether visited links should be tracked" msgstr "Indica se as ligazóns visitadas deberían ser rexistradas" -#: ../gtk/gtklayout.c:660 +#: ../gtk/gtklayout.c:659 msgid "The width of the layout" msgstr "A largura da disposición" -#: ../gtk/gtklayout.c:669 +#: ../gtk/gtklayout.c:668 msgid "The height of the layout" msgstr "A altura da disposición" @@ -3709,31 +3692,31 @@ msgstr "Visitada" msgid "Whether this link has been visited." msgstr "Indica se esta ligazón foi visitada." -#: ../gtk/gtkmenubar.c:170 +#: ../gtk/gtkmenubar.c:181 msgid "Pack direction" msgstr "Dirección do empaquetado" -#: ../gtk/gtkmenubar.c:171 +#: ../gtk/gtkmenubar.c:182 msgid "The pack direction of the menubar" msgstr "A dirección do empaquetado da barra de menú" -#: ../gtk/gtkmenubar.c:187 +#: ../gtk/gtkmenubar.c:198 msgid "Child Pack direction" msgstr "Dirección do empaquetado fillo" -#: ../gtk/gtkmenubar.c:188 +#: ../gtk/gtkmenubar.c:199 msgid "The child pack direction of the menubar" msgstr "A dirección do empaquetado fillo da barra de menú" -#: ../gtk/gtkmenubar.c:197 +#: ../gtk/gtkmenubar.c:208 msgid "Style of bevel around the menubar" msgstr "Estilo do bisel ao redor da barra de menús" -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 +#: ../gtk/gtkmenubar.c:215 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Recheo interno" -#: ../gtk/gtkmenubar.c:205 +#: ../gtk/gtkmenubar.c:216 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "" "Cantidade de espazo do bordo entre a sombra da barra de menús e os elementos " @@ -3939,11 +3922,11 @@ msgstr "Obtén o foco" msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Un booleano que determina se o menú captura o foco do teclado" -#: ../gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:257 msgid "Menu" msgstr "Menú" -#: ../gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:258 msgid "The dropdown menu" msgstr "O menú despregábel" @@ -4230,6 +4213,50 @@ msgstr "Espazamento de frechas" msgid "Scroll arrow spacing" msgstr "Espazamento das frechas de desprazamento" +#: ../gtk/gtknumerableicon.c:652 +msgid "Icon's count" +msgstr "Contía de iconas" + +#: ../gtk/gtknumerableicon.c:653 +msgid "The count of the emblem currently displayed" +msgstr "A contía dos emblemas mostrados actualmente" + +#: ../gtk/gtknumerableicon.c:659 +msgid "Icon's label" +msgstr "Etiqueta da icona" + +#: ../gtk/gtknumerableicon.c:660 +msgid "The label to be displayed over the icon" +msgstr "A etiqueta a mostrar sobre a icona" + +#: ../gtk/gtknumerableicon.c:666 +msgid "Icon's style context" +msgstr "Contexto de estilo da icona" + +#: ../gtk/gtknumerableicon.c:667 +#, fuzzy +msgid "The style context to theme the icon appearance" +msgstr "O contexto de estilo para aplicar á aparencia da icona" + +#: ../gtk/gtknumerableicon.c:673 +msgid "Background icon" +msgstr "Icona de fondo" + +#: ../gtk/gtknumerableicon.c:674 +#, fuzzy +msgid "The icon for the number emblem background" +msgstr "A icona para o fondo do número de emblema" + +#: ../gtk/gtknumerableicon.c:680 +#, fuzzy +msgid "Background icon name" +msgstr "Nome da icona de fondo" + +#: ../gtk/gtknumerableicon.c:681 +#, fuzzy +msgid "The icon name for the number emblem background" +msgstr "O nome da icona para o fondo do número de emblema" + #: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 #: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" @@ -4419,7 +4446,7 @@ msgid "Printer settings" msgstr "Configuracións da impresora" #: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 -#: ../gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Configuración da páxina" @@ -4444,11 +4471,11 @@ msgstr "Configuración de páxina predefinida" msgid "The GtkPageSetup used by default" msgstr "A GtkPageSetup que se usa por defecto" -#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Configuracións da impresora" -#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:318 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "Os GtkPrintSettings que se usan para inicializar o diálogo" @@ -4468,11 +4495,11 @@ msgstr "Número de páxinas" msgid "The number of pages in the document." msgstr "O número de páxinas do documento." -#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Páxina actual" -#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:308 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "A páxina actual do documento" @@ -4549,7 +4576,7 @@ msgstr "Etiqueta de separador personalizado" msgid "Label for the tab containing custom widgets." msgstr "Etiqueta para o separador que contén widgets personalizados." -#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "Permite a selección" @@ -4557,7 +4584,7 @@ msgstr "Permite a selección" msgid "TRUE if the print operation will support print of selection." msgstr "TRUE se a operación de impresión permitirá a impresión da selección." -#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "Ten unha selección" @@ -4565,7 +4592,7 @@ msgstr "Ten unha selección" msgid "TRUE if a selection exists." msgstr "TRUE se existe unha selección." -#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "Configuración da páxina incorporada" @@ -4583,35 +4610,35 @@ msgstr "Número de páxinas para imprimir" msgid "The number of pages that will be printed." msgstr "O número de páxinas que serán impresas." -#: ../gtk/gtkprintunixdialog.c:300 +#: ../gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "O GtkPageSetup que usar" -#: ../gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "Impresora seleccionada" -#: ../gtk/gtkprintunixdialog.c:326 +#: ../gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "O GtkPrinter que está seleccionado" -#: ../gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:332 msgid "Manual Capabilities" msgstr "Capacidades manuais" -#: ../gtk/gtkprintunixdialog.c:334 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "Capacidades que o aplicativo pode manipular" -#: ../gtk/gtkprintunixdialog.c:343 +#: ../gtk/gtkprintunixdialog.c:342 msgid "Whether the dialog supports selection" msgstr "Se a caixa de diálogo permite a selección" -#: ../gtk/gtkprintunixdialog.c:351 +#: ../gtk/gtkprintunixdialog.c:350 msgid "Whether the application has a selection" msgstr "Cando o aplicativo ten unha seleccion" -#: ../gtk/gtkprintunixdialog.c:359 +#: ../gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" "TRUE se as caixas de combinación da configuración de páxina están " @@ -4807,7 +4834,7 @@ msgstr "Nivel de recheo" msgid "The fill level." msgstr "O nivel de recheo." -#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 +#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:786 msgid "Slider Width" msgstr "Largura do control desprazábel" @@ -5066,7 +5093,6 @@ msgid "How the size of the content should be determined" msgstr "Como se debe determinar o tamaño do contido" #: ../gtk/gtkscrollable.c:136 -#| msgid "Vertical Scrollbar Policy" msgid "Vertical Scrollable Policy" msgstr "Normativa de desprazamento vertical" @@ -5939,7 +5965,7 @@ msgstr "Indica se a icona de estado está incrustada" msgid "The orientation of the tray" msgstr "A orientación da bandexa" -#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1036 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1042 msgid "Has tooltip" msgstr "Ten indicación" @@ -5947,15 +5973,15 @@ msgstr "Ten indicación" msgid "Whether this tray icon has a tooltip" msgstr "Indica se esta icona de bandexa ten unha indicación" -#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1057 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1063 msgid "Tooltip Text" msgstr "Texto da indicación" -#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1058 ../gtk/gtkwidget.c:1079 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1064 ../gtk/gtkwidget.c:1085 msgid "The contents of the tooltip for this widget" msgstr "Os contidos da indicación para este widget" -#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1078 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1084 msgid "Tooltip markup" msgstr "Marcado das indicacións" @@ -5975,23 +6001,23 @@ msgstr "Contexto do estilo" msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext de onde obter o estilo" -#: ../gtk/gtkstylecontext.c:541 +#: ../gtk/gtkstylecontext.c:547 msgid "The associated GdkScreen" msgstr "O GdkScreen asociado" -#: ../gtk/gtkstylecontext.c:547 +#: ../gtk/gtkstylecontext.c:553 msgid "Direction" msgstr "Enderezo" -#: ../gtk/gtkstylecontext.c:548 ../gtk/gtktexttag.c:220 +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:220 msgid "Text direction" msgstr "Dirección do texto" -#: ../gtk/gtkswitch.c:744 +#: ../gtk/gtkswitch.c:753 msgid "Whether the switch is on or off" msgstr "Indica se o interruptor está acendido ou apagado" -#: ../gtk/gtkswitch.c:778 +#: ../gtk/gtkswitch.c:787 msgid "The minimum width of the handle" msgstr "O ancho mínimo do tirador" @@ -6516,7 +6542,7 @@ msgstr "Debuxar o indicador" msgid "If the toggle part of the button is displayed" msgstr "Se se mostra a parte de activación do botón" -#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1062 msgid "Toolbar Style" msgstr "Estilo da barra de ferramentas" @@ -6536,11 +6562,11 @@ msgstr "Se debe mostrar unha frecha se a barra de ferramentas non encaixa" msgid "Size of icons in this toolbar" msgstr "Tamaño das iconas nesta barra de ferramentas" -#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1048 msgid "Icon size set" msgstr "Definición do tamaño da icona" -#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1049 msgid "Whether the icon-size property has been set" msgstr "Indica se se estabeleceu a propiedade de tamaño da icona" @@ -6550,7 +6576,7 @@ msgstr "" "Indica se o elemento debe recibir espazo adicional cando a barra de " "ferramentas medre" -#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1648 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Indica se o elemento debería ser do mesmo tamaño que outros elementos " @@ -6656,84 +6682,84 @@ msgstr "" "é TRUE, os botóns da barra de ferramentas mostran o texto no modo " "GTK_TOOLBAR_BOTH_HORIZ" -#: ../gtk/gtktoolitemgroup.c:1589 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "The human-readable title of this item group" msgstr "Unha descrición lexíbel por humanos do elemento de grupo" -#: ../gtk/gtktoolitemgroup.c:1596 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "A widget to display in place of the usual label" msgstr "Un widget para mostrar no lugar da etiqueta habitual" -#: ../gtk/gtktoolitemgroup.c:1602 +#: ../gtk/gtktoolitemgroup.c:1608 msgid "Collapsed" msgstr "Recollido" -#: ../gtk/gtktoolitemgroup.c:1603 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "Whether the group has been collapsed and items are hidden" msgstr "Indica se grupo foi contraído e os elementos agochados" -#: ../gtk/gtktoolitemgroup.c:1609 +#: ../gtk/gtktoolitemgroup.c:1615 msgid "ellipsize" msgstr "Elipse" -#: ../gtk/gtktoolitemgroup.c:1610 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Ellipsize for item group headers" msgstr "Elipse para as cabeceiras de grupo do elemento" -#: ../gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1622 msgid "Header Relief" msgstr "Relieve da cabeceira" -#: ../gtk/gtktoolitemgroup.c:1617 +#: ../gtk/gtktoolitemgroup.c:1623 msgid "Relief of the group header button" msgstr "Relieve do botón de cabeceira de grupo" -#: ../gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1638 msgid "Header Spacing" msgstr "Espazamento da cabeceira" -#: ../gtk/gtktoolitemgroup.c:1633 +#: ../gtk/gtktoolitemgroup.c:1639 msgid "Spacing between expander arrow and caption" msgstr "Espazamento entre a frecha expansora e o título" -#: ../gtk/gtktoolitemgroup.c:1649 +#: ../gtk/gtktoolitemgroup.c:1655 msgid "Whether the item should receive extra space when the group grows" msgstr "Indica se o elemento debe recibir espazo adicional cando o grupo medre" -#: ../gtk/gtktoolitemgroup.c:1656 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "Whether the item should fill the available space" msgstr "Indica se o elemento deben encher o espazo dispoñíbel" -#: ../gtk/gtktoolitemgroup.c:1662 +#: ../gtk/gtktoolitemgroup.c:1668 msgid "New Row" msgstr "Nova fila" -#: ../gtk/gtktoolitemgroup.c:1663 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Whether the item should start a new row" msgstr "Indica se os elementos deberían mostrarse nunha nova fila" -#: ../gtk/gtktoolitemgroup.c:1670 +#: ../gtk/gtktoolitemgroup.c:1676 msgid "Position of the item within this group" msgstr "Posición do elemento neste grupo" -#: ../gtk/gtktoolpalette.c:1032 +#: ../gtk/gtktoolpalette.c:1033 msgid "Size of icons in this tool palette" msgstr "Tamaño das iconas nesta paleta de ferramentas" -#: ../gtk/gtktoolpalette.c:1062 +#: ../gtk/gtktoolpalette.c:1063 msgid "Style of items in the tool palette" msgstr "Estilo dos elementos na paleta de ferramentas" -#: ../gtk/gtktoolpalette.c:1078 +#: ../gtk/gtktoolpalette.c:1079 msgid "Exclusive" msgstr "Exclusivo" -#: ../gtk/gtktoolpalette.c:1079 +#: ../gtk/gtktoolpalette.c:1080 msgid "Whether the item group should be the only expanded at a given time" msgstr "" "Indica se o grupo de elementos deberían expandirse só nun momento determinado" -#: ../gtk/gtktoolpalette.c:1094 +#: ../gtk/gtktoolpalette.c:1095 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" @@ -6794,21 +6820,16 @@ msgstr "" #: ../gtk/gtktreemenu.c:345 #, fuzzy -#| msgid "Whether the mark has left gravity" msgid "Whether the menu has a tearoff item" msgstr "Indica se o menú ten un elemento" #: ../gtk/gtktreemenu.c:361 -#, fuzzy -#| msgid "Wrap width" msgid "Wrap Width" -msgstr "Largura de axuste" +msgstr "Axustar largura" #: ../gtk/gtktreemenu.c:362 -#, fuzzy -#| msgid "Wrap width for laying out the items in a grid" msgid "Wrap width for laying out items in a grid" -msgstr "Largura de axuste para distribuír os elementos nunha grade" +msgstr "Axustar a largura para distribuír os elementos nunha grade" #: ../gtk/gtktreemodelsort.c:312 msgid "TreeModelSort Model" @@ -7152,7 +7173,7 @@ msgstr "Definición de IU combinado" msgid "An XML string describing the merged UI" msgstr "Unha cadea XML que describe o IU combinado" -#: ../gtk/gtkviewport.c:155 +#: ../gtk/gtkviewport.c:154 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como se debuxa a caixa sombreada ao redor da área de visualización" @@ -7165,27 +7186,27 @@ msgstr "Usar iconas simbólicas" msgid "Whether to use symbolic icons" msgstr "Indica se usar iconas simbólicas" -#: ../gtk/gtkwidget.c:895 +#: ../gtk/gtkwidget.c:901 msgid "Widget name" msgstr "Nome do widget" -#: ../gtk/gtkwidget.c:896 +#: ../gtk/gtkwidget.c:902 msgid "The name of the widget" msgstr "O nome do widget" -#: ../gtk/gtkwidget.c:902 +#: ../gtk/gtkwidget.c:908 msgid "Parent widget" msgstr "Widget pai" -#: ../gtk/gtkwidget.c:903 +#: ../gtk/gtkwidget.c:909 msgid "The parent widget of this widget. Must be a Container widget" msgstr "O widget pai deste widget. Debe ser un widget contedor" -#: ../gtk/gtkwidget.c:910 +#: ../gtk/gtkwidget.c:916 msgid "Width request" msgstr "Solicitude de largura" -#: ../gtk/gtkwidget.c:911 +#: ../gtk/gtkwidget.c:917 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -7193,11 +7214,11 @@ msgstr "" "Sobrepor a solicitude de largura do widget ou -1 se se debe empregar a " "solicitude normal" -#: ../gtk/gtkwidget.c:919 +#: ../gtk/gtkwidget.c:925 msgid "Height request" msgstr "Solicitude de altura" -#: ../gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:926 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -7205,259 +7226,259 @@ msgstr "" "Sobrepor a solicitude de altura do widget ou -1 se se debe empregar a " "solicitude normal" -#: ../gtk/gtkwidget.c:929 +#: ../gtk/gtkwidget.c:935 msgid "Whether the widget is visible" msgstr "Indica se o widget é visíbel" -#: ../gtk/gtkwidget.c:936 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget responds to input" msgstr "Indica se o widget responde á entrada de datos" -#: ../gtk/gtkwidget.c:942 +#: ../gtk/gtkwidget.c:948 msgid "Application paintable" msgstr "Aplicativo pintábel" -#: ../gtk/gtkwidget.c:943 +#: ../gtk/gtkwidget.c:949 msgid "Whether the application will paint directly on the widget" msgstr "Indica se o aplicativo pintará directamente sobre o widget" -#: ../gtk/gtkwidget.c:949 +#: ../gtk/gtkwidget.c:955 msgid "Can focus" msgstr "Pode enfocar" -#: ../gtk/gtkwidget.c:950 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget can accept the input focus" msgstr "Indica se o widget pode aceptar o foco de entrada" -#: ../gtk/gtkwidget.c:956 +#: ../gtk/gtkwidget.c:962 msgid "Has focus" msgstr "Ten foco" -#: ../gtk/gtkwidget.c:957 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget has the input focus" msgstr "Indica se o widget ten o foco de entrada" -#: ../gtk/gtkwidget.c:963 +#: ../gtk/gtkwidget.c:969 msgid "Is focus" msgstr "É o foco" -#: ../gtk/gtkwidget.c:964 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica se o widget é o widget co foco, dentro do nivel superior" -#: ../gtk/gtkwidget.c:970 +#: ../gtk/gtkwidget.c:976 msgid "Can default" msgstr "Pode ser o predefinido" -#: ../gtk/gtkwidget.c:971 +#: ../gtk/gtkwidget.c:977 msgid "Whether the widget can be the default widget" msgstr "Indica se o widget pode ser o widget predefinido" -#: ../gtk/gtkwidget.c:977 +#: ../gtk/gtkwidget.c:983 msgid "Has default" msgstr "É o predefinido" -#: ../gtk/gtkwidget.c:978 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is the default widget" msgstr "Indica se o widget é o widget predefinido" -#: ../gtk/gtkwidget.c:984 +#: ../gtk/gtkwidget.c:990 msgid "Receives default" msgstr "Recibe o predefinido" -#: ../gtk/gtkwidget.c:985 +#: ../gtk/gtkwidget.c:991 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "Se é TRUE, o widget recibirá a acción predefinida cando estea enfocado" -#: ../gtk/gtkwidget.c:991 +#: ../gtk/gtkwidget.c:997 msgid "Composite child" msgstr "Fillo composto" -#: ../gtk/gtkwidget.c:992 +#: ../gtk/gtkwidget.c:998 msgid "Whether the widget is part of a composite widget" msgstr "Indica se o widget é parte dun widget composto" -#: ../gtk/gtkwidget.c:998 +#: ../gtk/gtkwidget.c:1004 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:999 +#: ../gtk/gtkwidget.c:1005 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" msgstr "" "O estilo do widget, que contén información sobre a aparencia (cores, etc)" -#: ../gtk/gtkwidget.c:1005 +#: ../gtk/gtkwidget.c:1011 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:1006 +#: ../gtk/gtkwidget.c:1012 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "A máscara de eventos que decide que tipo de GdkEvents recibe este widget" -#: ../gtk/gtkwidget.c:1013 +#: ../gtk/gtkwidget.c:1019 msgid "No show all" msgstr "Non mostrar todo" -#: ../gtk/gtkwidget.c:1014 +#: ../gtk/gtkwidget.c:1020 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Indica se o gtk_widget_show_all() non debe afectar a este widget" -#: ../gtk/gtkwidget.c:1037 +#: ../gtk/gtkwidget.c:1043 msgid "Whether this widget has a tooltip" msgstr "Indica se este widget ten unha indicación" -#: ../gtk/gtkwidget.c:1093 +#: ../gtk/gtkwidget.c:1099 msgid "Window" msgstr "Xanela" -#: ../gtk/gtkwidget.c:1094 +#: ../gtk/gtkwidget.c:1100 msgid "The widget's window if it is realized" msgstr "A xanela do widget, se se crea" -#: ../gtk/gtkwidget.c:1108 +#: ../gtk/gtkwidget.c:1114 msgid "Double Buffered" msgstr "Con búfer dobre" -#: ../gtk/gtkwidget.c:1109 +#: ../gtk/gtkwidget.c:1115 msgid "Whether the widget is double buffered" msgstr "Indica se o widget conta ou non con búfer dobre" -#: ../gtk/gtkwidget.c:1124 +#: ../gtk/gtkwidget.c:1130 msgid "How to position in extra horizontal space" msgstr "Como posicionar no espazo horizontal adicional" -#: ../gtk/gtkwidget.c:1140 +#: ../gtk/gtkwidget.c:1146 msgid "How to position in extra vertical space" msgstr "Como posicionar no espazo vertical adicional" -#: ../gtk/gtkwidget.c:1159 +#: ../gtk/gtkwidget.c:1165 msgid "Margin on Left" msgstr "Marxe á esquerda" -#: ../gtk/gtkwidget.c:1160 +#: ../gtk/gtkwidget.c:1166 msgid "Pixels of extra space on the left side" msgstr "Píxeles de espacio adicional na lado esquerda" -#: ../gtk/gtkwidget.c:1180 +#: ../gtk/gtkwidget.c:1186 msgid "Margin on Right" msgstr "Marxe á dereita" -#: ../gtk/gtkwidget.c:1181 +#: ../gtk/gtkwidget.c:1187 msgid "Pixels of extra space on the right side" msgstr "Píxeles de espacio adicional na lado dereita" -#: ../gtk/gtkwidget.c:1201 +#: ../gtk/gtkwidget.c:1207 msgid "Margin on Top" msgstr "Marxe superior" -#: ../gtk/gtkwidget.c:1202 +#: ../gtk/gtkwidget.c:1208 msgid "Pixels of extra space on the top side" msgstr "Píxeles de espacio adicional na lado superior" -#: ../gtk/gtkwidget.c:1222 +#: ../gtk/gtkwidget.c:1228 msgid "Margin on Bottom" msgstr "Marxe inferior" -#: ../gtk/gtkwidget.c:1223 +#: ../gtk/gtkwidget.c:1229 msgid "Pixels of extra space on the bottom side" msgstr "Píxeles de espacio adicional na lado inferior" -#: ../gtk/gtkwidget.c:1240 +#: ../gtk/gtkwidget.c:1246 msgid "All Margins" msgstr "Todos os marxes" -#: ../gtk/gtkwidget.c:1241 +#: ../gtk/gtkwidget.c:1247 msgid "Pixels of extra space on all four sides" msgstr "Píxeles de espacio adicional nos catro lados" -#: ../gtk/gtkwidget.c:1274 +#: ../gtk/gtkwidget.c:1280 msgid "Horizontal Expand" msgstr "Expansión horizontal" -#: ../gtk/gtkwidget.c:1275 +#: ../gtk/gtkwidget.c:1281 msgid "Whether widget wants more horizontal space" msgstr "Indica se o widget quere usar máis espazo horizontal" -#: ../gtk/gtkwidget.c:1289 +#: ../gtk/gtkwidget.c:1295 msgid "Horizontal Expand Set" msgstr "Axuste de expansión horizontal" -#: ../gtk/gtkwidget.c:1290 +#: ../gtk/gtkwidget.c:1296 msgid "Whether to use the hexpand property" msgstr "Indica se se debe usar a propiedade hexpand" -#: ../gtk/gtkwidget.c:1304 +#: ../gtk/gtkwidget.c:1310 msgid "Vertical Expand" msgstr "Expansión vertical" -#: ../gtk/gtkwidget.c:1305 +#: ../gtk/gtkwidget.c:1311 msgid "Whether widget wants more vertical space" msgstr "Indica se o widget quere usar máis espazo vertical" -#: ../gtk/gtkwidget.c:1319 +#: ../gtk/gtkwidget.c:1325 msgid "Vertical Expand Set" msgstr "Axuste de expansión vertical" -#: ../gtk/gtkwidget.c:1320 +#: ../gtk/gtkwidget.c:1326 msgid "Whether to use the vexpand property" msgstr "Indica se se debe usar a propiedade vexpand" -#: ../gtk/gtkwidget.c:1334 +#: ../gtk/gtkwidget.c:1340 msgid "Expand Both" msgstr "Expandir en ambas" -#: ../gtk/gtkwidget.c:1335 +#: ../gtk/gtkwidget.c:1341 msgid "Whether widget wants to expand in both directions" msgstr "Indica se o widget quere expandirse en ámbalas dúas direccións" -#: ../gtk/gtkwidget.c:2994 +#: ../gtk/gtkwidget.c:3000 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:2995 +#: ../gtk/gtkwidget.c:3001 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica se se debuxa o foco indicador dentro dos widgets" -#: ../gtk/gtkwidget.c:3001 +#: ../gtk/gtkwidget.c:3007 msgid "Focus linewidth" msgstr "Enfocar a largura da liña" -#: ../gtk/gtkwidget.c:3002 +#: ../gtk/gtkwidget.c:3008 msgid "Width, in pixels, of the focus indicator line" msgstr "Largura en píxeles da liña indicadora do foco" -#: ../gtk/gtkwidget.c:3008 +#: ../gtk/gtkwidget.c:3014 msgid "Focus line dash pattern" msgstr "Patrón de trazos da liña de foco" -#: ../gtk/gtkwidget.c:3009 +#: ../gtk/gtkwidget.c:3015 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón de trazos empregado para debuxar o indicador de foco" -#: ../gtk/gtkwidget.c:3014 +#: ../gtk/gtkwidget.c:3020 msgid "Focus padding" msgstr "Recheo do foco" -#: ../gtk/gtkwidget.c:3015 +#: ../gtk/gtkwidget.c:3021 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Largura en píxeles entre o indicador de foco e a 'caixa' do widget" -#: ../gtk/gtkwidget.c:3020 +#: ../gtk/gtkwidget.c:3026 msgid "Cursor color" msgstr "Cor do cursor" -#: ../gtk/gtkwidget.c:3021 +#: ../gtk/gtkwidget.c:3027 msgid "Color with which to draw insertion cursor" msgstr "Cor coa que debuxar o cursor de inserción" -#: ../gtk/gtkwidget.c:3026 +#: ../gtk/gtkwidget.c:3032 msgid "Secondary cursor color" msgstr "Cor secundaria do cursor" -#: ../gtk/gtkwidget.c:3027 +#: ../gtk/gtkwidget.c:3033 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7465,43 +7486,43 @@ msgstr "" "Cor coa que debuxar o cursor de inserción secundario cando se edita unha " "mestura de texto de dereita a esquerda e de esquerda a dereita" -#: ../gtk/gtkwidget.c:3032 +#: ../gtk/gtkwidget.c:3038 msgid "Cursor line aspect ratio" msgstr "Proporción de aspecto da liña do cursor" -#: ../gtk/gtkwidget.c:3033 +#: ../gtk/gtkwidget.c:3039 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Proporción de aspecto coa que debuxar o cursor de inserción" -#: ../gtk/gtkwidget.c:3039 +#: ../gtk/gtkwidget.c:3045 msgid "Window dragging" msgstr "Arrastre da xanela" -#: ../gtk/gtkwidget.c:3040 +#: ../gtk/gtkwidget.c:3046 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica se as xanelas se poden arrastrar premendo nas áreas baleiras" -#: ../gtk/gtkwidget.c:3053 +#: ../gtk/gtkwidget.c:3059 msgid "Unvisited Link Color" msgstr "Cor de ligazón non visitada" -#: ../gtk/gtkwidget.c:3054 +#: ../gtk/gtkwidget.c:3060 msgid "Color of unvisited links" msgstr "Cor de ligazóns non visitadas" -#: ../gtk/gtkwidget.c:3067 +#: ../gtk/gtkwidget.c:3073 msgid "Visited Link Color" msgstr "Cor de ligazón visitada" -#: ../gtk/gtkwidget.c:3068 +#: ../gtk/gtkwidget.c:3074 msgid "Color of visited links" msgstr "Cor de ligazóns visitadas" -#: ../gtk/gtkwidget.c:3082 +#: ../gtk/gtkwidget.c:3088 msgid "Wide Separators" msgstr "Separadores largos" -#: ../gtk/gtkwidget.c:3083 +#: ../gtk/gtkwidget.c:3089 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7509,35 +7530,35 @@ msgstr "" "Indica se os separadores teñen unha largura configurábel e se deberían " "debuxarse usando unha caixa en vez dunha liña" -#: ../gtk/gtkwidget.c:3097 +#: ../gtk/gtkwidget.c:3103 msgid "Separator Width" msgstr "Largura do separador" -#: ../gtk/gtkwidget.c:3098 +#: ../gtk/gtkwidget.c:3104 msgid "The width of separators if wide-separators is TRUE" msgstr "A largura dos separadores se «wide-separators» é TRUE" -#: ../gtk/gtkwidget.c:3112 +#: ../gtk/gtkwidget.c:3118 msgid "Separator Height" msgstr "Altura do separador" -#: ../gtk/gtkwidget.c:3113 +#: ../gtk/gtkwidget.c:3119 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "A altura dos separadores se «wide-separators» é TRUE" -#: ../gtk/gtkwidget.c:3127 +#: ../gtk/gtkwidget.c:3133 msgid "Horizontal Scroll Arrow Length" msgstr "Lonxitude da frecha de desprazamento horizontal" -#: ../gtk/gtkwidget.c:3128 +#: ../gtk/gtkwidget.c:3134 msgid "The length of horizontal scroll arrows" msgstr "A lonxitude das frechas de desprazamento horizontal" -#: ../gtk/gtkwidget.c:3142 +#: ../gtk/gtkwidget.c:3148 msgid "Vertical Scroll Arrow Length" msgstr "Lonxitude das frechas de desprazamento vertical" -#: ../gtk/gtkwidget.c:3143 +#: ../gtk/gtkwidget.c:3149 msgid "The length of vertical scroll arrows" msgstr "A lonxitude das frechas de desprazamento vertical" From 6f4adebcef6d47cc00fac17839724959921f7289 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Fri, 14 Jan 2011 16:55:46 +0100 Subject: [PATCH 1388/1463] gtk: render GtkEventBox' background in the right state --- gtk/gtkeventbox.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkeventbox.c b/gtk/gtkeventbox.c index b8492c1125..d2d8c6d39d 100644 --- a/gtk/gtkeventbox.c +++ b/gtk/gtkeventbox.c @@ -595,9 +595,13 @@ gtk_event_box_draw (GtkWidget *widget, GtkStyleContext *context; context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_set_state (context, gtk_widget_get_state_flags (widget)); gtk_render_background (context, cr, 0, 0, gtk_widget_get_allocated_width (widget), gtk_widget_get_allocated_height (widget)); + gtk_style_context_restore (context); } GTK_WIDGET_CLASS (gtk_event_box_parent_class)->draw (widget, cr); From 708357001a8c8dde422e0d4b69c036d7cf70e14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fridrich=20=C5=A0trba?= Date: Fri, 14 Jan 2011 19:49:31 +0100 Subject: [PATCH 1389/1463] make the ms-windows engine compile again --- modules/engines/Makefile.am | 2 +- modules/engines/ms-windows/msw_style.c | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/modules/engines/Makefile.am b/modules/engines/Makefile.am index 5af553f16e..5dce19124a 100644 --- a/modules/engines/Makefile.am +++ b/modules/engines/Makefile.am @@ -5,7 +5,7 @@ wimp = ms-windows endif # the theme engines need to be ported to GtkThemingEngine -# SUBDIRS = $(wimp) pixbuf +SUBDIRS = $(wimp) pixbuf DIST_SUBDIRS = ms-windows pixbuf diff --git a/modules/engines/ms-windows/msw_style.c b/modules/engines/ms-windows/msw_style.c index aabcb0d0d9..ca7d38ff68 100755 --- a/modules/engines/ms-windows/msw_style.c +++ b/modules/engines/ms-windows/msw_style.c @@ -43,6 +43,10 @@ #include "gtk/gtk.h" #include "gtk/gtk.h" +#ifndef GTK_COMPILATION +#define GTK_COMPILATION +#endif +#include "gtk/gtkmenushellprivate.h" #ifdef BUILDING_STANDALONE #include "gdk/gdkwin32.h" @@ -1337,9 +1341,9 @@ draw_arrow (GtkStyle *style, reverse_engineer_stepper_box (widget, arrow_type, &box_x, &box_y, &box_width, &box_height); - if (gtk_range_get_adjustment(&scrollbar->range)->page_size >= - (gtk_range_get_adjustment(&scrollbar->range)->upper - - gtk_range_get_adjustment(&scrollbar->range)->lower)) + if (gtk_adjustment_get_page_size(gtk_range_get_adjustment(&scrollbar->range)) >= + (gtk_adjustment_get_upper(gtk_range_get_adjustment(&scrollbar->range)) - + gtk_adjustment_get_lower(gtk_range_get_adjustment(&scrollbar->range)))) { is_disabled = TRUE; } @@ -1577,7 +1581,7 @@ draw_menu_item (cairo_t *cr, GtkWidget *widget, GtkStyle *style, if (state_type == GTK_STATE_PRELIGHT) { - draw_3d_border (dc, &rect, bar->active); + draw_3d_border (dc, &rect, bar->priv->active); } release_window_dc (&dc_info); @@ -1881,9 +1885,9 @@ draw_box (GtkStyle *style, } else { - if (gtk_range_get_adjustment(&scrollbar->range)->page_size >= - (gtk_range_get_adjustment(&scrollbar->range)->upper - - gtk_range_get_adjustment(&scrollbar->range)->lower)) + if (gtk_adjustment_get_page_size(gtk_range_get_adjustment(&scrollbar->range)) >= + (gtk_adjustment_get_page_size(gtk_range_get_adjustment(&scrollbar->range)) - + gtk_adjustment_get_page_size(gtk_range_get_adjustment(&scrollbar->range)))) { return; } From 35644cab9e2b03f1774e6f1d85e950ffe1a15296 Mon Sep 17 00:00:00 2001 From: Sahran Date: Fri, 14 Jan 2011 22:46:35 +0100 Subject: [PATCH 1390/1463] Added UG translation --- po/ug.po | 1499 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 825 insertions(+), 674 deletions(-) diff --git a/po/ug.po b/po/ug.po index fcce4461ad..f75ef719ff 100644 --- a/po/ug.po +++ b/po/ug.po @@ -1,17 +1,17 @@ -# Uighur translation for gtk+2.0 -# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 -# This file is distributed under the same license as the gtk+2.0 package. -# Ömerjan Tursunqasim , 2008. -# Sahran , 2010 -# +# Uighur translation for gtk+2.0 +# Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 +# This file is distributed under the same license as the gtk+2.0 package. +# Ömerjan Tursunqasim , 2008. +# Sahran , 2010 +# msgid "" msgstr "" "Project-Id-Version: gtk+2.0\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" "2b&component=general\n" -"POT-Creation-Date: 2010-08-03 17:54+0000\n" -"PO-Revision-Date: 2010-08-02 01:02+0600\n" -"Last-Translator: Sahran \n" +"POT-Creation-Date: 2011-01-13 03:31+0000\n" +"PO-Revision-Date: 2010-12-29 11:40+0600\n" +"Last-Translator: Sahran \n" "Language-Team: Uyghur Computer Science Association \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -20,78 +20,68 @@ msgstr "" "X-Launchpad-Export-Date: 2010-05-06 04:15+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../gdk/gdk.c:102 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr " --gdk-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" -#: ../gdk/gdk.c:122 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr " --gdk-no-debug تاللانمىنى يېشىشتە خاتالىق كۆرۈلدى" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:150 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما تۈرى" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:151 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "تۈر" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:153 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "كۆزنەك باشقۇرغۇچ ئىشلەتكەن پروگرامما ئىسمى" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:154 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "ئاتى" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:156 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "X كۆرسىتىش ئېغىزى ئىشلەت" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:157 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "كۆرسەت" -#. Description of --screen=SCREEN in --help output -#: ../gdk/gdk.c:159 -msgid "X screen to use" -msgstr "ئىشلەتكەن X ئېكران " - -#. Placeholder in --screen=SCREEN in --help output -#: ../gdk/gdk.c:160 -msgid "SCREEN" -msgstr "ئېكران" - #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:163 -msgid "Gdk debugging flags to set" -msgstr "Gdk سازلاش تەڭشەك بەلگىسى" +#: ../gdk/gdk.c:210 +msgid "GDK debugging flags to set" +msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" #. Placeholder in --gdk-debug=FLAGS in --help output #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:164 ../gdk/gdk.c:167 ../gtk/gtkmain.c:438 ../gtk/gtkmain.c:441 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "بەلگە" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:166 -msgid "Gdk debugging flags to unset" -msgstr "قالدۇرماقچى بولغان Gdk سازلاش بەلگىسى" +#: ../gdk/gdk.c:213 +msgid "GDK debugging flags to unset" +msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى" #: ../gdk/keyname-table.h:3940 msgctxt "keyboard label" msgid "BackSpace" -msgstr "چىكىنىش كۇنۇپكىسى" +msgstr "چېكىنىش كۇنۇپكىسى" #: ../gdk/keyname-table.h:3941 msgctxt "keyboard label" @@ -131,7 +121,7 @@ msgstr "Multi_key" #: ../gdk/keyname-table.h:3948 msgctxt "keyboard label" msgid "Home" -msgstr "Home" +msgstr "باش بەت" #: ../gdk/keyname-table.h:3949 msgctxt "keyboard label" @@ -151,7 +141,7 @@ msgstr "ئوڭ" #: ../gdk/keyname-table.h:3952 msgctxt "keyboard label" msgid "Down" -msgstr "تۆۋەن" +msgstr "ئاستى يا ئوق" #: ../gdk/keyname-table.h:3953 msgctxt "keyboard label" @@ -274,100 +264,107 @@ msgid "Delete" msgstr "ئۆچۈر" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "GDI ئىلتىماسىنى توپ بىر تەرەپ قىلالمايدۇ" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Wintab API ئىشلەتمەي tablet قوللايدۇ" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "--no-wintab بىلەن ئوخشاش" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Wintab API ئىشلەت [كۆڭۈلدىكى]" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "8 بىتلىق رەڭ تەڭشەش تاختا چوڭلۇقى" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "رەڭ" -#. Description of --sync in --help output -#: ../gdk/x11/gdkmain-x11.c:93 -msgid "Make X calls synchronous" -msgstr "X نى قەدەمداش قىلىپ ئىشلەت" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 #, c-format msgid "Starting %s" msgstr "%s قوزغىلىۋاتىدۇ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:314 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 #, c-format msgid "Opening %s" msgstr "%s نى ئېچىۋاتىدۇ" -#: ../gdk/x11/gdkapplaunchcontext-x11.c:317 +#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 #, c-format msgid "Opening %d Item" msgid_plural "Opening %d Items" msgstr[0] "%d تۈرنى ئېچىۋاتىدۇ" -#: ../gtk/gtkaboutdialog.c:240 -msgid "Could not show link" -msgstr "ئۇلانمىنى كۆرسىتەلمىدى" +#. Translators: this is the license preamble; the string at the end +#. * contains the URL of the license. +#. +#: ../gtk/gtkaboutdialog.c:104 +#, c-format +msgid "" +"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +msgstr "" +"بۇ پروگرامما ھېچقانداق كاپالەت بەرمەيدۇ؛ تەپسىلاتىنى %s " +"زىيارەت قىلىڭ" -#: ../gtk/gtkaboutdialog.c:363 ../gtk/gtkaboutdialog.c:2226 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "ئىجازەتنامە" -#: ../gtk/gtkaboutdialog.c:364 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "پروگراممىنىڭ ئىجازەت كېلىشىمى" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:627 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "تەشەككۈر(_R)" #. Add the license button -#: ../gtk/gtkaboutdialog.c:641 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" -msgstr "ئىجازەت(_L)" +msgstr "ئىجازەتنامە(_L)" -#: ../gtk/gtkaboutdialog.c:900 +#: ../gtk/gtkaboutdialog.c:957 +msgid "Could not show link" +msgstr "ئۇلانمىنى كۆرسىتەلمىدى" + +#: ../gtk/gtkaboutdialog.c:994 +msgid "Homepage" +msgstr "باش بەت" + +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "%s ھەققىدە" -#: ../gtk/gtkaboutdialog.c:2143 -msgid "Credits" -msgstr "تەشەككۈر" +#: ../gtk/gtkaboutdialog.c:2372 +msgid "Created by" +msgstr "قۇرغۇچى" -#: ../gtk/gtkaboutdialog.c:2176 -msgid "Written by" -msgstr "يازغۇچى" - -#: ../gtk/gtkaboutdialog.c:2179 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "پۈتۈكچى" -#: ../gtk/gtkaboutdialog.c:2191 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "تەرجىمان" -#: ../gtk/gtkaboutdialog.c:2195 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "گۈزەل سەنئەت تەھرىرى" @@ -376,7 +373,7 @@ msgstr "گۈزەل سەنئەت تەھرىرى" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:157 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -386,7 +383,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:163 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -396,7 +393,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:169 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -406,7 +403,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:767 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -416,7 +413,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:780 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -426,7 +423,7 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:794 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" @@ -434,32 +431,135 @@ msgstr "Meta" #: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" -msgstr "Space" +msgstr "بوشلۇق" #: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" -msgstr "Backslash" +msgstr "تەتۈر يانتۇ سىزىقBackslash" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +#, fuzzy +#| msgid "Application" +msgid "Other application..." +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:208 +#, fuzzy +#| msgid "Could not clear list" +msgid "Could not run application" +msgstr "تىزىملىكنى تازىلىيالمايدۇ" + +#: ../gtk/gtkappchooserdialog.c:221 +#, fuzzy, c-format +#| msgid "Could not mount %s" +msgid "Could not find '%s'" +msgstr "%s يۈك چۈشۈرەلمىدى " + +#: ../gtk/gtkappchooserdialog.c:224 +#, fuzzy +#| msgid "Could not show link" +msgid "Could not find application" +msgstr "ئۇلانمىنى كۆرسىتەلمىدى" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "" + +#: ../gtk/gtkappchooserdialog.c:428 +#, fuzzy +#| msgid "Forget password _immediately" +msgid "Forget association" +msgstr "ئىمنى دەرھال ئۇنتۇ(_I)" + +#: ../gtk/gtkappchooserdialog.c:493 +#, fuzzy +#| msgid "Show GTK+ Options" +msgid "Show other applications" +msgstr "GTK+ تاللانما كۆرسەت" + +#: ../gtk/gtkappchooserdialog.c:511 +#, fuzzy +#| msgctxt "Stock label" +#| msgid "_Open" +msgid "_Open" +msgstr "ئاچ(_O)" + +#: ../gtk/gtkappchooserwidget.c:593 +#, fuzzy +#| msgid "Application" +msgid "Default Application" +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkappchooserwidget.c:730 +#, fuzzy +#| msgid "Application" +msgid "Recommended Applications" +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkappchooserwidget.c:744 +#, fuzzy +#| msgid "Application" +msgid "Related Applications" +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkappchooserwidget.c:758 +#, fuzzy +#| msgid "Application" +msgid "Other Applications" +msgstr "قوللىنىشچان پروگرامما" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" -msgstr "ئىناۋەتسىز تىپ فونكسىيەسى كۆرۈنگەن قۇر %d: '%s'" +msgstr "ئىناۋەتسىز تىپ فۇنكسىيىسى كۆرۈنگەن قۇر %d: '%s'" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format -msgid "Duplicate object id '%s' on line %d (previously on line %d)" +msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "تەكرار ئوبيېكت id '%s' كۆرۈنگەن قۇر %d (ئىلگىرى كۆرۈنگەن قۇر %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "ئىناۋەتسىز غول ئېلېمېنت: '%s'" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" -msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" +msgstr "بىر تەرەپ قىلىنمىغان بەلگە: %s" #. Translate to calendar:YM if you want years to be displayed #. * before months; otherwise translate to calendar:MY. @@ -471,24 +571,24 @@ msgstr "بىر تەرەپ قىلىنمىغان بەلگە: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:863 +#: ../gtk/gtkcalendar.c:871 msgid "calendar:MY" -msgstr "calendar:MY" +msgstr "يىلنامە:YM" #. Translate to calendar:week_start:0 if you want Sunday to be the #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:901 +#: ../gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" -msgstr "calendar:week_start:0" +msgstr "يىلنامە:week_start:1" #. Translators: This is a text measurement template. #. * Translate it to the widest year text #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1954 +#: ../gtk/gtkcalendar.c:1910 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -503,7 +603,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1985 ../gtk/gtkcalendar.c:2648 +#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -519,7 +619,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:2017 ../gtk/gtkcalendar.c:2511 +#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -535,7 +635,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2299 +#: ../gtk/gtkcalendar.c:2268 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -543,7 +643,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:268 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "چەكلەنگەن" @@ -552,7 +652,7 @@ msgstr "چەكلەنگەن" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:278 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "ئىناۋەتسىز" @@ -561,99 +661,99 @@ msgstr "ئىناۋەتسىز" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:414 ../gtk/gtkcellrendereraccel.c:664 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "يېڭى تېزلەتكۈچ كۇنۇپكا…" -#: ../gtk/gtkcellrendererprogress.c:360 ../gtk/gtkcellrendererprogress.c:450 +#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 #, c-format msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:176 ../gtk/gtkcolorbutton.c:457 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "رەڭ ئال" -#: ../gtk/gtkcolorbutton.c:348 +#: ../gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "ئىناۋەتسىز رەڭ سانلىق مەلۇماتى تاپشۇرۇۋالدى\n" -#: ../gtk/gtkcolorsel.c:354 +#: ../gtk/gtkcolorsel.c:415 msgid "" "Select the color you want from the outer ring. Select the darkness or " "lightness of that color using the inner triangle." msgstr "" -"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ .ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ " -"كۈچلۈكلۈكىنى تاللاڭ." +"سىرتقى ئايلانمىدىن سىزگە لازىملىق رەڭنى تاللاڭ. ئىچكى ئۈچ بۇلۇڭدىن رەڭنىڭ " +"كۈچلۈكلۈكىنى تاللاڭ" -#: ../gtk/gtkcolorsel.c:378 +#: ../gtk/gtkcolorsel.c:439 msgid "" "Click the eyedropper, then click a color anywhere on your screen to select " "that color." msgstr "تېمىتقۇچنى تاق چېكىپ ئاندىن ئېكراننىڭ خالىغان يېرىدىن رەڭ تۇتۇڭ." -#: ../gtk/gtkcolorsel.c:387 +#: ../gtk/gtkcolorsel.c:448 msgid "_Hue:" msgstr "رەڭگى(_H):" -#: ../gtk/gtkcolorsel.c:388 +#: ../gtk/gtkcolorsel.c:449 msgid "Position on the color wheel." msgstr "رەڭ ھالقىسىدىكى ئورنى" -#: ../gtk/gtkcolorsel.c:390 +#: ../gtk/gtkcolorsel.c:451 msgid "_Saturation:" -msgstr "تويۇنۇش دەرىجىسى(_S):" +msgstr "تويۇنۇش دەرىجىسى (_S):" -#: ../gtk/gtkcolorsel.c:391 +#: ../gtk/gtkcolorsel.c:452 msgid "Intensity of the color." -msgstr "رەڭ كۈچلۈكلۈكى." +msgstr "رەڭ يورۇقلۇق دەرىجىسى." -#: ../gtk/gtkcolorsel.c:392 +#: ../gtk/gtkcolorsel.c:453 msgid "_Value:" msgstr "قىممىتى(_V):" -#: ../gtk/gtkcolorsel.c:393 +#: ../gtk/gtkcolorsel.c:454 msgid "Brightness of the color." msgstr "رەڭ يورۇقلۇقى." -#: ../gtk/gtkcolorsel.c:394 +#: ../gtk/gtkcolorsel.c:455 msgid "_Red:" -msgstr "قىزىل(_R):" +msgstr "قىزىل (_R):" -#: ../gtk/gtkcolorsel.c:395 +#: ../gtk/gtkcolorsel.c:456 msgid "Amount of red light in the color." msgstr "رەڭ تەركىبىدىكى قىزىل رەڭ مىقدارى." -#: ../gtk/gtkcolorsel.c:396 +#: ../gtk/gtkcolorsel.c:457 msgid "_Green:" -msgstr "يېشىل(_G):" +msgstr "يېشىل (_G):" -#: ../gtk/gtkcolorsel.c:397 +#: ../gtk/gtkcolorsel.c:458 msgid "Amount of green light in the color." msgstr "رەڭ تەركىبىدىكى يېشىل رەڭ مىقدارى." -#: ../gtk/gtkcolorsel.c:398 +#: ../gtk/gtkcolorsel.c:459 msgid "_Blue:" msgstr "كۆك(_B):" -#: ../gtk/gtkcolorsel.c:399 +#: ../gtk/gtkcolorsel.c:460 msgid "Amount of blue light in the color." msgstr "رەڭ تەركىبىدىكى كۆك رەڭ مىقدارى." -#: ../gtk/gtkcolorsel.c:402 +#: ../gtk/gtkcolorsel.c:463 msgid "Op_acity:" msgstr "سۈزۈكلۈك(_A):" -#: ../gtk/gtkcolorsel.c:409 ../gtk/gtkcolorsel.c:419 +#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 msgid "Transparency of the color." msgstr "رەڭ سۈزۈكلۈكى." -#: ../gtk/gtkcolorsel.c:426 +#: ../gtk/gtkcolorsel.c:487 msgid "Color _name:" msgstr "رەڭ ئاتى(_N):" -#: ../gtk/gtkcolorsel.c:440 +#: ../gtk/gtkcolorsel.c:501 msgid "" "You can enter an HTML-style hexadecimal color value, or simply a color name " "such as 'orange' in this entry." @@ -661,46 +761,47 @@ msgstr "" "سىز بۇ جايغا HTML ئۇسلۇبىدىكى 16 لىك سىستېما رەت نومۇرى ياكى “orange” گە " "ئوخشاش رەڭ ئاتلىرىنى كىرگۈزسىڭىز بولىدۇ." -#: ../gtk/gtkcolorsel.c:470 +#: ../gtk/gtkcolorsel.c:531 msgid "_Palette:" msgstr "رەڭ تاختىسى(_P):" -#: ../gtk/gtkcolorsel.c:499 +#: ../gtk/gtkcolorsel.c:560 msgid "Color Wheel" msgstr "رەڭ ھالقىسى" -#: ../gtk/gtkcolorsel.c:958 +#: ../gtk/gtkcolorsel.c:1033 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now. You can drag this color to a palette entry, or select this color as " "current by dragging it to the other color swatch alongside." msgstr "" "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان. سىز بۇ رەڭنى " -"رەڭ تاللاش تاخسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ " -"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ." +"رەڭ تاللاش تاختىسىغا سۆرەپ ياكى بۇ رەڭنى كېيىنكى رەڭ كاتەكچىسىگە سۆرەپ " +"نۆۋەتتىكى رەڭ قىلىپ بەلگىلىسىڭىز بولىدۇ" -#: ../gtk/gtkcolorsel.c:961 +#: ../gtk/gtkcolorsel.c:1036 msgid "" "The color you've chosen. You can drag this color to a palette entry to save " "it for use in the future." msgstr "" -"سىز تاللىغان رەڭ .سىز بۇ رەڭنى تاللاپ ساقلاپ قويۇپ كىيىن ئىشلەتسىڭىز بولىدۇ." +"سىز تاللىغان رەڭ. سىز بۇ رەڭنى رەڭ تاختىسىغا سۆرەپ ساقلاپ قويۇپ كېيىن " +"ئىشلەتسىڭىز بولىدۇ" -#: ../gtk/gtkcolorsel.c:966 +#: ../gtk/gtkcolorsel.c:1041 msgid "" "The previously-selected color, for comparison to the color you're selecting " "now." msgstr "ئىلگىرى تاللانغان رەڭ، سىزنىڭ ھازىر تاللىغىنىڭىزغا قارىتىلغان." -#: ../gtk/gtkcolorsel.c:969 +#: ../gtk/gtkcolorsel.c:1044 msgid "The color you've chosen." msgstr "سىز تاللىغان رەڭ." -#: ../gtk/gtkcolorsel.c:1382 +#: ../gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "رەڭنى بۇ جايغا ساقلا(_S)" -#: ../gtk/gtkcolorsel.c:1587 +#: ../gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -709,7 +810,7 @@ msgstr "" "ئۆزگەرتىشتە، رەڭنى بۇ جايغا سۆرەڭ ياكى چاشقىنەك ئوڭ توپچىسىنى چەككەندىن " "كېيىن بۇ جايدا «رەڭنى بۇ جايغا ساقلا»نى تاللاڭ." -#: ../gtk/gtkcolorseldialog.c:190 +#: ../gtk/gtkcolorseldialog.c:189 msgid "Color Selection" msgstr "رەڭ تاللاش" @@ -724,7 +825,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3233 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "ئىختىيارى چوڭلۇقنى باشقۇر" @@ -745,349 +846,356 @@ msgstr "پرىنتېر ئارىلىقى…" msgid "Custom Size %d" msgstr "ئىختىيارى چوڭلۇقى %d" -#: ../gtk/gtkcustompaperunixdialog.c:1060 +#: ../gtk/gtkcustompaperunixdialog.c:1059 msgid "_Width:" msgstr "كەڭلىك(_W):" -#: ../gtk/gtkcustompaperunixdialog.c:1072 +#: ../gtk/gtkcustompaperunixdialog.c:1071 msgid "_Height:" msgstr "ئېگىزلىك(_H):" -#: ../gtk/gtkcustompaperunixdialog.c:1084 +#: ../gtk/gtkcustompaperunixdialog.c:1083 msgid "Paper Size" msgstr "قەغەز چوڭلۇقى" -#: ../gtk/gtkcustompaperunixdialog.c:1093 +#: ../gtk/gtkcustompaperunixdialog.c:1092 msgid "_Top:" msgstr "ئۈستى(_T):" -#: ../gtk/gtkcustompaperunixdialog.c:1105 +#: ../gtk/gtkcustompaperunixdialog.c:1104 msgid "_Bottom:" msgstr "ئاستى(_B):" -#: ../gtk/gtkcustompaperunixdialog.c:1117 +#: ../gtk/gtkcustompaperunixdialog.c:1116 msgid "_Left:" msgstr "سول(_L):" -#: ../gtk/gtkcustompaperunixdialog.c:1129 +#: ../gtk/gtkcustompaperunixdialog.c:1128 msgid "_Right:" msgstr "ئوڭ(_R):" -#: ../gtk/gtkcustompaperunixdialog.c:1170 +#: ../gtk/gtkcustompaperunixdialog.c:1169 msgid "Paper Margins" msgstr "قەغەز يان ئارىلىقى" -#: ../gtk/gtkentry.c:8613 ../gtk/gtktextview.c:8258 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8227 msgid "Input _Methods" msgstr "كىرگۈزگۈچ(_M)" -#: ../gtk/gtkentry.c:8627 ../gtk/gtktextview.c:8272 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8241 msgid "_Insert Unicode Control Character" msgstr "يۇنىكودلۇق كونترول بەلگىسى قىستۇر(_I)" -#: ../gtk/gtkentry.c:10022 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" -msgstr "" +msgstr "Caps Lock ۋە Num Lock ئوچۇق" -#: ../gtk/gtkentry.c:10024 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "Num Lock ئوچۇق" -#: ../gtk/gtkentry.c:10026 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Caps Lock ئوچۇق" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "ھۆججەت تاللاڭ" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1837 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" -msgstr "ئۈستەل ئۈستى" +msgstr "ئۈستەلئۈستى" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(يوق)" -#: ../gtk/gtkfilechooserbutton.c:2015 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "باشقا…" #: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" -msgstr "يىڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" +msgstr "يېڭى ھۆججەت قىسقۇچنىڭ ئاتىنى كىرگۈزۈڭ" -#: ../gtk/gtkfilechooserdefault.c:963 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "ھۆججەتكە مۇناسىۋەتلىك ئۇچۇرلارغا ئېرىشكىلى بولمايدۇ" -#: ../gtk/gtkfilechooserdefault.c:974 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "قىسقۇچ قىستۇرالمايدۇ" -#: ../gtk/gtkfilechooserdefault.c:985 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "قىسقۇچنى چىقىرىۋېتەلمەيدۇ" -#: ../gtk/gtkfilechooserdefault.c:996 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "قىسقۇچ قۇرالمايدۇ" -#: ../gtk/gtkfilechooserdefault.c:1009 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." msgstr "" -"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇد. باشقا ئات ئىشلىتىپ " +"قىسقۇچ قۇرالمايدۇ، چۈنكى ئوخشاش ئاتلىق قىسقۇچ مەۋجۇت. باشقا ئات ئىشلىتىپ " "سىناڭ ياكى ھۆججەت ئاتىنى ئۆزگەرتىڭ." -#: ../gtk/gtkfilechooserdefault.c:1020 +#: ../gtk/gtkfilechooserdefault.c:1004 +msgid "" +"You may only select folders. The item that you selected is not a folder; " +"try using a different item." +msgstr "" +"سىز قىسقۇچلا تاللىيالايسىز. سىز تاللىغان تۈر قىسقۇچ ئېمە؛ باشقا تۈرنى " +"ئىشلىتىپ سىناڭ." + +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "ئىناۋەتسىز ھۆججەت ئاتى" -#: ../gtk/gtkfilechooserdefault.c:1030 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" -msgstr "قىسقۇچ مەزمۇنىنى كۆرسىتەلمىدى" +msgstr "قىسقۇچ مەزمۇننى كۆرسىتەلمىدى" #. Translators: the first string is a path and the second string #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1580 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%2$s ئۈستىدىكى %1$s" -#: ../gtk/gtkfilechooserdefault.c:1756 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "ئىزدە" -#: ../gtk/gtkfilechooserdefault.c:1780 ../gtk/gtkfilechooserdefault.c:9295 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "يېقىندا ئىشلەتكەن" -#: ../gtk/gtkfilechooserdefault.c:2420 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "كۆرسىتىلىدىغان ھۆججەت تىپىنى تاللاڭ" -#: ../gtk/gtkfilechooserdefault.c:2779 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "'%s' قىسقۇچنى خەتكۈچكە قوش" -#: ../gtk/gtkfilechooserdefault.c:2823 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "نۆۋەتتىكى قىسقۇچنى خەتكۈچكە قوش" -#: ../gtk/gtkfilechooserdefault.c:2825 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" -#: ../gtk/gtkfilechooserdefault.c:2863 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "'%s' خەتكۈچنى چىقىرىۋەت" -#: ../gtk/gtkfilechooserdefault.c:2865 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "'%s' خەتكۈچنى چىقىرىۋېتەلمىدى." -#: ../gtk/gtkfilechooserdefault.c:2872 ../gtk/gtkfilechooserdefault.c:3736 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "تاللانغان خەتكۈچنى چىقىرىۋەت" -#: ../gtk/gtkfilechooserdefault.c:3432 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "چىقىرىۋەت" -#: ../gtk/gtkfilechooserdefault.c:3441 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "ئات ئۆزگەرت…" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3604 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "ئورۇن" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3661 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" -msgstr "ئورۇن(_R)" +msgstr "ئورۇن(_P)" -#: ../gtk/gtkfilechooserdefault.c:3717 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "قوش(_A)" -#: ../gtk/gtkfilechooserdefault.c:3724 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "تاللانغان قىسقۇچنى خەتكۈچكە قوش" -#: ../gtk/gtkfilechooserdefault.c:3729 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" -msgstr "ئۆچۈر(_R)" +msgstr "چىقىرىۋەت(_R)" -#: ../gtk/gtkfilechooserdefault.c:3864 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" -msgstr "ھۆججەت تاللايالمىدى" +msgstr "ھۆججەت تاللىيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:4039 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "خەتكۈچكە قوش(_A)" -#: ../gtk/gtkfilechooserdefault.c:4052 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "يوشۇرۇن ھۆججەتلەرنى كۆرسەت(_H)" -#: ../gtk/gtkfilechooserdefault.c:4059 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" -msgstr "چوڭلۇق ستونىنى كۆرسەت(_S)" +msgstr "چوڭلۇق ئىستونىنى كۆرسەت(~S)" -#: ../gtk/gtkfilechooserdefault.c:4282 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "ھۆججەتلەر" -#: ../gtk/gtkfilechooserdefault.c:4333 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "ئاتى" -#: ../gtk/gtkfilechooserdefault.c:4356 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "چوڭلۇقى" -#: ../gtk/gtkfilechooserdefault.c:4370 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "ئۆزگەرتكەن" #. Label -#: ../gtk/gtkfilechooserdefault.c:4625 ../gtk/gtkprinteroptionwidget.c:801 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "ئاتى(_N):" -#: ../gtk/gtkfilechooserdefault.c:4668 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "باشقا قىسقۇچقا كۆز يۈگۈرت(_B)" -#: ../gtk/gtkfilechooserdefault.c:4940 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "ھۆججەت ئاتىنى كىرگۈزۈڭ" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:4981 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "قىسقۇچ قۇر(_L)" -#: ../gtk/gtkfilechooserdefault.c:4991 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "ئورنى(_L):" -#: ../gtk/gtkfilechooserdefault.c:5195 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "قىسقۇچقا ساقلا(_F):" -#: ../gtk/gtkfilechooserdefault.c:5197 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "قىسقۇچتا قۇر(_F):" -#: ../gtk/gtkfilechooserdefault.c:6260 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "%s نىڭ مەزمۇنىنى ئوقۇيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:6264 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "قىسقۇچنىڭ مەزمۇنىنى ئوقۇيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:6357 ../gtk/gtkfilechooserdefault.c:6425 -#: ../gtk/gtkfilechooserdefault.c:6570 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "نامەلۇم" -#: ../gtk/gtkfilechooserdefault.c:6372 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H:%M" -#: ../gtk/gtkfilechooserdefault.c:6374 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" -msgstr "ئەتە %H:%M" +msgstr "تۈنۈگۈن %H:%M" -#: ../gtk/gtkfilechooserdefault.c:7040 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "قىسقۇچقا ئۆزگەرتەلمەيدۇ چۈنكى ئۇ يەرلىك قىسقۇچ ئەمەس" -#: ../gtk/gtkfilechooserdefault.c:7637 ../gtk/gtkfilechooserdefault.c:7658 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" -msgstr "%s قىسقا يول مەۋجۇد" +msgstr "%s قىسقا يول مەۋجۇت" -#: ../gtk/gtkfilechooserdefault.c:7748 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" -msgstr "%s قىسقا يول مەۋجۇد ئەمەس" +msgstr "%s قىسقا يول مەۋجۇت ئەمەس" -#: ../gtk/gtkfilechooserdefault.c:8003 ../gtk/gtkprintunixdialog.c:476 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرۇۋېتەمسىز؟" -#: ../gtk/gtkfilechooserdefault.c:8006 ../gtk/gtkprintunixdialog.c:480 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" -"ئىچىدە مەۋجۇت . ھۆججەتنى ئالماشتۇرسا ئىچىدىكى مەزمۇنلار قاپلىنىدۇ “%s”ھۆججەت " -"ئاللىبۇرۇن" +"\"%s\" ئاتلىق ھۆججەت مەۋجۇت. ئۇنى ئالماشتۇرسىڭىز مەزمۇنىنى قاپلىۋېتىدۇ." -#: ../gtk/gtkfilechooserdefault.c:8011 ../gtk/gtkprintunixdialog.c:487 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "ئالماشتۇر(_R)" -#: ../gtk/gtkfilechooserdefault.c:8663 +#: ../gtk/gtkfilechooserdefault.c:8762 msgid "Could not start the search process" msgstr "ئىزدىگۈچنى قوزغىتالمىدى" -#: ../gtk/gtkfilechooserdefault.c:8664 +#: ../gtk/gtkfilechooserdefault.c:8763 msgid "" "The program was not able to create a connection to the indexer daemon. " "Please make sure it is running." msgstr "" "پروگرامما ئىزدىگۈچكە ئۇلىنالمىدى. indexer daemon نىڭ ئىجرا ھالىتىنى جەزملەڭ" -#: ../gtk/gtkfilechooserdefault.c:8678 +#: ../gtk/gtkfilechooserdefault.c:8777 msgid "Could not send the search request" msgstr "ئىزدەش ئىلتىماسىنى يوللىيالمىدى" -#: ../gtk/gtkfilechooserdefault.c:8867 +#: ../gtk/gtkfilechooserdefault.c:8996 msgid "Search:" msgstr "ئىزدە:" -#: ../gtk/gtkfilechooserdefault.c:9471 +#: ../gtk/gtkfilechooserdefault.c:9601 #, c-format msgid "Could not mount %s" msgstr "%s يۈك چۈشۈرەلمىدى " #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:697 ../gtk/gtkfilechooserentry.c:1162 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "ئىناۋەتسىز يول" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1094 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "ماس كېلىدىغىنى يوق" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1105 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "بىردىنبىر تاماملاش" @@ -1095,13 +1203,13 @@ msgstr "بىردىنبىر تاماملاش" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1121 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "تاماملاندى، ئەمما بىردىنبىر ئەمەس" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1153 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "تاماملاۋاتىدۇ…" @@ -1109,7 +1217,7 @@ msgstr "تاماملاۋاتىدۇ…" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1175 ../gtk/gtkfilechooserentry.c:1200 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" @@ -1117,28 +1225,23 @@ msgstr "يەرلىك ھۆججەتنىلا تاللىغىلى بولىدۇ" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1184 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "كومپيۇتېر ئاتى كەمتۈك؛ '/' بىلەن ئاخىرلىشىدۇ " #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1195 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" -msgstr "يول مەۋجۇد ئەمەس." - -#: ../gtk/gtkfilechoosersettings.c:486 -#, c-format -msgid "Error creating folder '%s': %s" -msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" +msgstr "يول مەۋجۇت ئەمەس." #. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are #. * really pointers to GDrive, GVolume or GMount objects. We need an extra #. * token for the fake "File System" volume. So, we'll return a pointer to #. * this particular string. #. -#: ../gtk/gtkfilesystem.c:50 +#: ../gtk/gtkfilesystem.c:48 msgid "File System" msgstr "ھۆججەت سىستېمىسى" @@ -1149,7 +1252,7 @@ msgstr "خەت نۇسخا تاللا" #. Initialize fields #: ../gtk/gtkfontbutton.c:260 msgid "Sans 12" -msgstr "UKIJ Tuz Tom 10" +msgstr "Sans 12" #: ../gtk/gtkfontbutton.c:785 msgid "Font" @@ -1157,40 +1260,40 @@ msgstr "خەت نۇسخا" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "ئائەب پ ت ج چ خ درزژ abcdefghijk ABCDEFGHIJK" -#: ../gtk/gtkfontsel.c:367 +#: ../gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "خەت نۇسخا تۈرى(_F):" -#: ../gtk/gtkfontsel.c:373 +#: ../gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "ئۇسلۇب(_S):" -#: ../gtk/gtkfontsel.c:379 +#: ../gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "چوڭلۇقى(_Z):" #. create the text entry widget -#: ../gtk/gtkfontsel.c:556 +#: ../gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "ئالدىن كۆزەت(_P):" -#: ../gtk/gtkfontsel.c:1660 +#: ../gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "خەت نۇسخا تاللاش" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1419 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "سىنبەلگە يۈكلىگەندە خاتالىق كۆرۈلدى: %s" -#: ../gtk/gtkicontheme.c:1363 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1202,12 +1305,12 @@ msgstr "" "زۆرۈردەك قىلىدۇ. ئۇنىڭ كۆچۈرۈلمە نۇسخىسىنى تۆۋەندىكى ئادرېستىن تاپالايسىز:\n" "%s" -#: ../gtk/gtkicontheme.c:1543 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "'%s' سىنبەلگە باش تېمىدا كۆرۈلمىدى" -#: ../gtk/gtkicontheme.c:3074 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "سىنبەلگە يۈكلىيەلمىدى" @@ -1215,62 +1318,62 @@ msgstr "سىنبەلگە يۈكلىيەلمىدى" msgid "Simple" msgstr "ئاددىي" -#: ../gtk/gtkimmulticontext.c:580 +#: ../gtk/gtkimmulticontext.c:588 msgctxt "input method menu" msgid "System" msgstr "سىستېما" -#: ../gtk/gtkimmulticontext.c:590 +#: ../gtk/gtkimmulticontext.c:598 msgctxt "input method menu" msgid "None" msgstr "يوق" -#: ../gtk/gtkimmulticontext.c:673 +#: ../gtk/gtkimmulticontext.c:681 #, c-format msgctxt "input method menu" msgid "System (%s)" msgstr "سىستېما(%s)" #. Open Link -#: ../gtk/gtklabel.c:6227 +#: ../gtk/gtklabel.c:6250 msgid "_Open Link" msgstr "ئۇلانما ئاچ(_O)" #. Copy Link Address -#: ../gtk/gtklabel.c:6239 +#: ../gtk/gtklabel.c:6262 msgid "Copy _Link Address" msgstr "ئۇلانما مەنزىل كۆچۈر(_L)" -#: ../gtk/gtklinkbutton.c:428 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "URL كۆچۈر" -#: ../gtk/gtklinkbutton.c:586 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "ئىناۋەتسىز URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:431 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "قوشۇمچە GTK+ بۆلىكىنى يۈكلە" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:432 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "بۆلەك" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:434 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "ھەممە ئاگاھلاندۇرۇشنى ئېغىر خاتالىققا ئۆزگەرت" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:437 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "تەڭشەيدىغان GTK+ سازلاش بەلگىسى" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:440 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " @@ -1279,76 +1382,76 @@ msgstr "قالدۇرماقچى بولغان GTK+ سازلاش بەلگىسى " #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:703 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:RTL" -#: ../gtk/gtkmain.c:768 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "ئېكران ئېچىلمىدى: (%s)" -#: ../gtk/gtkmain.c:805 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "GTK+ تاللانما" -#: ../gtk/gtkmain.c:805 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "GTK+ تاللانما كۆرسەت" -#: ../gtk/gtkmountoperation.c:492 +#: ../gtk/gtkmountoperation.c:491 msgid "Co_nnect" msgstr "ئۇلا(_N)" -#: ../gtk/gtkmountoperation.c:559 +#: ../gtk/gtkmountoperation.c:558 msgid "Connect _anonymously" msgstr "ئاتسىز ئۇلىنىش(_A)" -#: ../gtk/gtkmountoperation.c:568 +#: ../gtk/gtkmountoperation.c:567 msgid "Connect as u_ser:" msgstr "ئۇلىنىش سالاھىيىتى(_S):" -#: ../gtk/gtkmountoperation.c:606 +#: ../gtk/gtkmountoperation.c:605 msgid "_Username:" msgstr "ئىشلەتكۈچى ئاتى(_U):" -#: ../gtk/gtkmountoperation.c:611 +#: ../gtk/gtkmountoperation.c:610 msgid "_Domain:" msgstr "دائىرە(_D):" -#: ../gtk/gtkmountoperation.c:617 +#: ../gtk/gtkmountoperation.c:616 msgid "_Password:" msgstr "ئىم(_P):" -#: ../gtk/gtkmountoperation.c:635 +#: ../gtk/gtkmountoperation.c:634 msgid "Forget password _immediately" -msgstr "ئىمنى دەرھال ئۇنۇت(_I)" +msgstr "ئىمنى دەرھال ئۇنتۇ(_I)" -#: ../gtk/gtkmountoperation.c:645 +#: ../gtk/gtkmountoperation.c:644 msgid "Remember password until you _logout" msgstr "تىزىمدىن چىقىشتىن ئىلگىرى ئىمنى ئەستە تۇت(_L)" -#: ../gtk/gtkmountoperation.c:655 +#: ../gtk/gtkmountoperation.c:654 msgid "Remember _forever" msgstr "مەڭگۈ ئەستە تۇت(_F)" -#: ../gtk/gtkmountoperation.c:884 +#: ../gtk/gtkmountoperation.c:883 #, c-format -msgid "Unknown Application (pid %d)" -msgstr "نامەلۇم قوللىنىشچان پروگرامما (pid %d)" +msgid "Unknown Application (PID %d)" +msgstr "نامەلۇم پروگرامما (PID %d)" -#: ../gtk/gtkmountoperation.c:1067 +#: ../gtk/gtkmountoperation.c:1066 msgid "Unable to end process" msgstr "جەرياننى ئاخىرلاشتۇرالمايدۇ" -#: ../gtk/gtkmountoperation.c:1104 +#: ../gtk/gtkmountoperation.c:1103 msgid "_End Process" -msgstr "جەريان ئاخىرلاشتۇر(_E)" +msgstr "جەرياننى ئاخىرلاشتۇر(_E)" #: ../gtk/gtkmountoperation-stub.c:64 #, c-format -msgid "Cannot kill process with pid %d. Operation is not implemented." -msgstr " pid %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." +msgid "Cannot kill process with PID %d. Operation is not implemented." +msgstr "PID %d جەرياننى توختىتالمايدۇ. مەشغۇلاتنى ئىجرا قىلغىلى بولمايدۇ." #. translators: this string is a name for the 'less' command #: ../gtk/gtkmountoperation-x11.c:862 @@ -1373,16 +1476,16 @@ msgstr "Z Shell" #: ../gtk/gtkmountoperation-x11.c:963 #, c-format -msgid "Cannot end process with pid %d: %s" -msgstr "pid %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" +msgid "Cannot end process with PID %d: %s" +msgstr "PID %d جەرياننى ئاخىرلاشتۇرالمايدۇ: %s" -#: ../gtk/gtknotebook.c:4671 ../gtk/gtknotebook.c:7166 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "%u-بەت" -#: ../gtk/gtkpagesetup.c:596 ../gtk/gtkpapersize.c:825 -#: ../gtk/gtkpapersize.c:867 +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:847 +#: ../gtk/gtkpapersize.c:889 msgid "Not a valid page setup file" msgstr "ئىناۋەتلىك بەت تەڭشەك ھۆججىتى ئەمەس" @@ -1409,51 +1512,51 @@ msgstr "" " ئۈستى: %s %s\n" " ئاستى: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3284 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "ئىختىيارى چوڭلۇق باشقۇر…" -#: ../gtk/gtkpagesetupunixdialog.c:910 +#: ../gtk/gtkpagesetupunixdialog.c:909 msgid "_Format for:" msgstr "فورمات(_F):" -#: ../gtk/gtkpagesetupunixdialog.c:932 ../gtk/gtkprintunixdialog.c:3456 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "قەغەز چوڭلۇقى(_P):" -#: ../gtk/gtkpagesetupunixdialog.c:963 +#: ../gtk/gtkpagesetupunixdialog.c:962 msgid "_Orientation:" msgstr "يۆنىلىش(_O):" -#: ../gtk/gtkpagesetupunixdialog.c:1027 ../gtk/gtkprintunixdialog.c:3518 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "بەت تەڭشەك" -#: ../gtk/gtkpathbar.c:151 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "ئۈستۈنكى يول" -#: ../gtk/gtkpathbar.c:153 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "ئاستىنقى يول" -#: ../gtk/gtkpathbar.c:1482 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "ھۆججەت سىستېما غولى" -#: ../gtk/gtkprintbackend.c:745 +#: ../gtk/gtkprintbackend.c:749 msgid "Authentication" msgstr "سالاھىيەت دەلىللەش" -#: ../gtk/gtkprinteroptionwidget.c:694 +#: ../gtk/gtkprinteroptionwidget.c:686 msgid "Not available" msgstr "ئىشلەتكىلى بولمايدۇ" -#: ../gtk/gtkprinteroptionwidget.c:794 +#: ../gtk/gtkprinteroptionwidget.c:786 msgid "Select a folder" -msgstr "مۇندەرىجە تاللاڭ" +msgstr "قىسقۇچ تاللاڭ" -#: ../gtk/gtkprinteroptionwidget.c:813 +#: ../gtk/gtkprinteroptionwidget.c:805 msgid "_Save in folder:" msgstr "قىسقۇچتا ساقلا(_S):" @@ -1461,84 +1564,84 @@ msgstr "قىسقۇچتا ساقلا(_S):" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s نىڭ بېسىش ۋەزىپىسى #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "دەسلەپكى ھالەت" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "بېسىشقا تەييارلىنىۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "سانلىق مەلۇمات ياساۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" -msgstr "ئۇچۇر يوللاۋاتىدۇ" +msgstr "سانلىق مەلۇمات يوللاۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" -msgstr "ساقلاۋاتىدۇ" +msgstr "كۈتۈۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "توسۇلۇش مەسىلىسى" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "بېسىۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "تاماملاندى" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "خاتالىق بىلەن تاماملاندى" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "%d تەييارلاۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" -msgstr "تەييارلىق ھالەت" +msgstr "تەييارلاۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "%d نى بېسىۋاتىدۇ" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "بېسىشنى ئالدىن كۆزىتىش قۇرۇشتا خاتالىق كۆرۈلدى" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." msgstr "" "مۇمكىنچىلىكى يۇقىرى سەۋەب ۋاقىتلىق ھۆججەت قۇرغىلى بولماسلىق بولۇشى مۇمكىن." -#: ../gtk/gtkprintoperation-unix.c:297 +#: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" msgstr "ئالدىن كۆزىتىشنى قوزغىتىشتا خاتالىق كۆرۈلدى" -#: ../gtk/gtkprintoperation-unix.c:470 ../gtk/gtkprintoperation-win32.c:1446 +#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 msgid "Application" msgstr "قوللىنىشچان پروگرامما" @@ -1552,7 +1655,7 @@ msgstr "قەغەز يېتىشمىدى" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "ۋاقىتلىق توختىدى" @@ -1564,82 +1667,82 @@ msgstr "ئىشلەتكۈچىنىڭ مەشغۇلاتىغا موھتاج" msgid "Custom size" msgstr "ئىختىيارى چوڭلۇق" -#: ../gtk/gtkprintoperation-win32.c:1538 +#: ../gtk/gtkprintoperation-win32.c:1539 msgid "No printer found" msgstr "پرىنتېر تېپىلمىدى" -#: ../gtk/gtkprintoperation-win32.c:1565 +#: ../gtk/gtkprintoperation-win32.c:1566 msgid "Invalid argument to CreateDC" msgstr "CreateDC نىڭ پارامېتىرى ئىناۋەتسىز" -#: ../gtk/gtkprintoperation-win32.c:1601 ../gtk/gtkprintoperation-win32.c:1828 +#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 msgid "Error from StartDoc" msgstr "StartDoc دىن خاتالىق كۆرۈلدى" -#: ../gtk/gtkprintoperation-win32.c:1683 ../gtk/gtkprintoperation-win32.c:1706 -#: ../gtk/gtkprintoperation-win32.c:1754 +#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 +#: ../gtk/gtkprintoperation-win32.c:1755 msgid "Not enough free memory" msgstr "يېتەرلىك بوش ئەسلەك يوق." -#: ../gtk/gtkprintoperation-win32.c:1759 +#: ../gtk/gtkprintoperation-win32.c:1760 msgid "Invalid argument to PrintDlgEx" msgstr "PrintDlgEx نىڭ پارامېتىرى ئىناۋەتسىز" -#: ../gtk/gtkprintoperation-win32.c:1764 +#: ../gtk/gtkprintoperation-win32.c:1765 msgid "Invalid pointer to PrintDlgEx" -msgstr "PrintDlgEx نىڭ ئىسترېلكاسى ئىناۋەتسىز" +msgstr "PrintDlgEx نىڭ ئىسترېلكىسى ئىناۋەتسىز" -#: ../gtk/gtkprintoperation-win32.c:1769 +#: ../gtk/gtkprintoperation-win32.c:1770 msgid "Invalid handle to PrintDlgEx" msgstr "PrintDlgEx نىڭ تۇتقۇسى ئىناۋەتسىز" -#: ../gtk/gtkprintoperation-win32.c:1774 +#: ../gtk/gtkprintoperation-win32.c:1775 msgid "Unspecified error" -msgstr "ئېنىقسىز خاتالىق" +msgstr "بەلگىلەنمىگەن خاتالىق" -#: ../gtk/gtkprintunixdialog.c:614 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "پرىنتېر ئۇچۇرىغا ئېرىشەلمىدى" -#: ../gtk/gtkprintunixdialog.c:1869 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "پرىنتېر ئۇچۇرىغا ئېرىشىۋاتىدۇ…" -#: ../gtk/gtkprintunixdialog.c:2139 +#: ../gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "پرىنتېر" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2149 +#: ../gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "ئورنى" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2160 +#: ../gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "ھالىتى" -#: ../gtk/gtkprintunixdialog.c:2186 +#: ../gtk/gtkprintunixdialog.c:2194 msgid "Range" -msgstr "دائىرىسى" +msgstr "دائىرە" -#: ../gtk/gtkprintunixdialog.c:2190 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "ھەممە بەت(_A)" -#: ../gtk/gtkprintunixdialog.c:2197 +#: ../gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "نۆۋەتتىكى بەت(_U)" -#: ../gtk/gtkprintunixdialog.c:2207 +#: ../gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "تاللا(_L)" -#: ../gtk/gtkprintunixdialog.c:2216 +#: ../gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "بەتلەر(_E):" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1647,28 +1750,28 @@ msgstr "" "بىر ياكى كۆپ بەت دائىرە بەلگىلەڭ،\n" "مەسىلەن: 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2227 +#: ../gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "بەتلەر" -#: ../gtk/gtkprintunixdialog.c:2240 +#: ../gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "نۇسخا" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2245 +#: ../gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "نۇسخا سانى(_S):" -#: ../gtk/gtkprintunixdialog.c:2263 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "رەت بويىچە(_O)" -#: ../gtk/gtkprintunixdialog.c:2271 +#: ../gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "ئەكسىچە(_R)" -#: ../gtk/gtkprintunixdialog.c:2291 +#: ../gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "ئادەتتىكى" @@ -1678,168 +1781,168 @@ msgstr "ئادەتتىكى" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3039 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "سولدىن ئوڭغا، ئۈستىدىن ئاستىغا" -#: ../gtk/gtkprintunixdialog.c:3017 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3508 +#: ../gtk/gtkprintunixdialog.c:3039 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "سولدىن ئوڭغا، ئاستىدىن ئۈستىگە" -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3040 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "ئوڭدىن سولغا، ئۈستىدىن ئاستىغا" -#: ../gtk/gtkprintunixdialog.c:3018 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3509 +#: ../gtk/gtkprintunixdialog.c:3040 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "ئوڭدىن سولغا، ئاستىدىن ئۈستىگە" -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3041 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "ئۈستىدىن ئاستىغا، سولدىن ئوڭغا" -#: ../gtk/gtkprintunixdialog.c:3019 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3510 +#: ../gtk/gtkprintunixdialog.c:3041 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "ئۈستىدىن ئاستىغا، ئوڭدىن سولغا" -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "ئاستىدىن ئۈستىگە، سولدىن ئوڭغا" -#: ../gtk/gtkprintunixdialog.c:3020 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3511 +#: ../gtk/gtkprintunixdialog.c:3042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "ئاستىدىن ئۈستىگە، ئوڭدىن سولغا" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3024 ../gtk/gtkprintunixdialog.c:3037 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3543 +#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "بەت تەرتىپى" -#: ../gtk/gtkprintunixdialog.c:3053 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "سولدىن ئوڭغا" -#: ../gtk/gtkprintunixdialog.c:3054 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "ئوڭدىن سولغا" -#: ../gtk/gtkprintunixdialog.c:3066 +#: ../gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "ئۈستىدىن ئاستىغا" -#: ../gtk/gtkprintunixdialog.c:3067 +#: ../gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "ئاستىدىن ئۈستىگە" -#: ../gtk/gtkprintunixdialog.c:3307 +#: ../gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "ئۇسلۇب" -#: ../gtk/gtkprintunixdialog.c:3311 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "قوش يۈزلۈك(_W):" -#: ../gtk/gtkprintunixdialog.c:3326 +#: ../gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "ھەربىر يۈزىنىڭ بەت سانى(_S):" -#: ../gtk/gtkprintunixdialog.c:3343 +#: ../gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "بەت تەرتىپى(_D):" -#: ../gtk/gtkprintunixdialog.c:3359 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "بېسىشلا(_O):" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3374 +#: ../gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "ھەممە ۋاراقلار" -#: ../gtk/gtkprintunixdialog.c:3375 +#: ../gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "تاق ۋاراقلار" -#: ../gtk/gtkprintunixdialog.c:3376 +#: ../gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "جۈپ ۋاراقلار" -#: ../gtk/gtkprintunixdialog.c:3379 +#: ../gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "نىسبەت(_A):" -#: ../gtk/gtkprintunixdialog.c:3406 +#: ../gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "قەغەز" -#: ../gtk/gtkprintunixdialog.c:3410 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "قەغەز تىپى(_T):" -#: ../gtk/gtkprintunixdialog.c:3425 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "قەغەز مەنبەسى(_S):" -#: ../gtk/gtkprintunixdialog.c:3440 +#: ../gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "قەغەز قۇتىسى(_R):" -#: ../gtk/gtkprintunixdialog.c:3480 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "يۆنىلىش(_I):" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3495 +#: ../gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "بوي يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3496 +#: ../gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "توغرا يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3497 +#: ../gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "تەتۈر بوي يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3498 +#: ../gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "تەتۈر توغرا يۆنىلىش" -#: ../gtk/gtkprintunixdialog.c:3543 +#: ../gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "ۋەزىپە تەپسىلاتى" -#: ../gtk/gtkprintunixdialog.c:3549 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "ئالدىنلىق(_O):" -#: ../gtk/gtkprintunixdialog.c:3564 +#: ../gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr "ھەق ھېسابلاش ئۇچۇرى(_B):" -#: ../gtk/gtkprintunixdialog.c:3582 +#: ../gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "پۈتۈك باس" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "دەرھال(_N)" -#: ../gtk/gtkprintunixdialog.c:3602 +#: ../gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "دە(_T):" @@ -1847,7 +1950,7 @@ msgstr "دە(_T):" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3608 +#: ../gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1855,121 +1958,116 @@ msgstr "" "بېسىش ۋاقتى بەلگىلىنىدۇ،\n" " مەسىلەن: 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3618 +#: ../gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "بېسىش ۋاقتى" -#: ../gtk/gtkprintunixdialog.c:3634 +#: ../gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "كۈت(_H)" -#: ../gtk/gtkprintunixdialog.c:3635 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" -msgstr "ۋەزىپىنى ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" +msgstr "ۋەزىپە ئېنىق ئاجرىتىلغانغا قەدەر داۋاملاشتۇر" -#: ../gtk/gtkprintunixdialog.c:3655 +#: ../gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "مۇقاۋا بەت قوش" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "ئالدى(_F):" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3682 +#: ../gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "كەينى(_A):" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3700 +#: ../gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "ۋەزىپە" -#: ../gtk/gtkprintunixdialog.c:3766 +#: ../gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "ئالىي" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3805 +#: ../gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" -msgstr "سۈرەت سۈپەتى" +msgstr "سۈرەت سۈپىتى" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3809 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "رەڭ" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3814 +#: ../gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "تامام" -#: ../gtk/gtkprintunixdialog.c:3824 +#: ../gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" -msgstr "دىئالوگ رامكىسىدىكى بەزى بەلگىلەشتە توقۇنۇش بار" +msgstr "سۆزلىشىش رامكىسىدىكى بەزى تەڭشەكلەردە توقۇنۇش بار" -#: ../gtk/gtkprintunixdialog.c:3847 +#: ../gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "باس" -#: ../gtk/gtkrc.c:2837 -#, c-format -msgid "Unable to find include file: \"%s\"" -msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" - -#: ../gtk/gtkrc.c:3467 ../gtk/gtkrc.c:3470 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "پېكسىل رەسىم يولىدىن رەسىم ھۆججىتى تېپىلمىدى:“%s”" +msgstr "پىكسېل سۈرەت يولىدىن سۈرەت ھۆججىتى تېپىلمىدى:“%s”" #: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 -#: ../gtk/gtkrecentchoosermenu.c:615 ../gtk/gtkrecentchoosermenu.c:623 +#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 #, c-format msgid "This function is not implemented for widgets of class '%s'" msgstr "فۇنكسىيە “%s” تۈردىكى تۇلۇقتا ئەمەلگە ئاشمايدۇ" -#: ../gtk/gtkrecentchooserdefault.c:481 +#: ../gtk/gtkrecentchooserdefault.c:483 msgid "Select which type of documents are shown" msgstr "كۆرسەتمەكچى بولغان پۈتۈك تىپىنى تاللاڭ" -#: ../gtk/gtkrecentchooserdefault.c:1134 ../gtk/gtkrecentchooserdefault.c:1171 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "URI“%s” تۈرنى تاپالمىدى" -#: ../gtk/gtkrecentchooserdefault.c:1298 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "تېمىسىز سۈزگۈچ" -#: ../gtk/gtkrecentchooserdefault.c:1651 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "تۈرنى چىقىرىۋېتەلمەيدۇ" -#: ../gtk/gtkrecentchooserdefault.c:1695 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "تىزىملىكنى تازىلىيالمايدۇ" -#: ../gtk/gtkrecentchooserdefault.c:1779 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "ئورۇن كۆچۈر(_L)" -#: ../gtk/gtkrecentchooserdefault.c:1792 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "تىزىملىكتىن چىقىرىۋەت(_R)" -#: ../gtk/gtkrecentchooserdefault.c:1801 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "تىزىملىكنى تازىلا(_C)" -#: ../gtk/gtkrecentchooserdefault.c:1815 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "شەخسى مەنبەنى كۆرسەت(_P)" @@ -1983,21 +2081,21 @@ msgstr "شەخسى مەنبەنى كۆرسەت(_P)" #. * user appended or prepended custom menu items to the #. * recent chooser menu widget. #. -#: ../gtk/gtkrecentchoosermenu.c:369 +#: ../gtk/gtkrecentchoosermenu.c:362 msgid "No items found" msgstr "تۈر تېپىلمىدى" -#: ../gtk/gtkrecentchoosermenu.c:535 ../gtk/gtkrecentchoosermenu.c:591 +#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 #, c-format msgid "No recently used resource found with URI `%s'" msgstr "يېقىندا ئىشلىتىلگەن مەنبەدىن URI“%s” تېپىلمىدى" -#: ../gtk/gtkrecentchoosermenu.c:802 +#: ../gtk/gtkrecentchoosermenu.c:795 #, c-format msgid "Open '%s'" msgstr "'%s' ئاچ" -#: ../gtk/gtkrecentchoosermenu.c:832 +#: ../gtk/gtkrecentchoosermenu.c:825 msgid "Unknown item" msgstr "نامەلۇم تۈر" @@ -2006,7 +2104,7 @@ msgstr "نامەلۇم تۈر" #. * the %s is the name of the item. Please keep the _ in front #. * of the number to give these menu items a mnemonic. #. -#: ../gtk/gtkrecentchoosermenu.c:843 +#: ../gtk/gtkrecentchoosermenu.c:836 #, c-format msgctxt "recent menu label" msgid "_%d. %s" @@ -2015,26 +2113,31 @@ msgstr "_%d. %s" #. This is the format that is used for items in a recent files menu. #. * The %d is the number of the item, the %s is the name of the item. #. -#: ../gtk/gtkrecentchoosermenu.c:848 +#: ../gtk/gtkrecentchoosermenu.c:841 #, c-format msgctxt "recent menu label" msgid "%d. %s" msgstr "%d. %s" -#: ../gtk/gtkrecentmanager.c:980 ../gtk/gtkrecentmanager.c:993 -#: ../gtk/gtkrecentmanager.c:1131 ../gtk/gtkrecentmanager.c:1141 -#: ../gtk/gtkrecentmanager.c:1194 ../gtk/gtkrecentmanager.c:1203 -#: ../gtk/gtkrecentmanager.c:1218 +#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 +#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 +#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 +#: ../gtk/gtkrecentmanager.c:1237 #, c-format msgid "Unable to find an item with URI '%s'" msgstr "URI '%s' تۈر تېپىلمىدى" -#: ../gtk/gtkspinner.c:457 +#: ../gtk/gtkrecentmanager.c:2437 +#, c-format +msgid "No registered application with name '%s' for item with URI '%s' found" +msgstr "تۈرنىڭ '%s' ئاتلىق خەتلەتكەن پروگراممىسىنىڭ URI '%s' تېپىلمىدى" + +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "مىكرو تەڭشەك" -#: ../gtk/gtkspinner.c:458 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "كۆرۈنمە كۆرسەتكۈچ جەريانى تەمىنلەيدۇ" @@ -2089,13 +2192,13 @@ msgstr "ۋاز كەچ(_C)" #: ../gtk/gtkstock.c:326 msgctxt "Stock label" -msgid "_CD-Rom" -msgstr "_CD-Rom" +msgid "_CD-ROM" +msgstr "_CD-ROM" #: ../gtk/gtkstock.c:327 msgctxt "Stock label" msgid "_Clear" -msgstr "ئۆچۈر(_C)" +msgstr "تازىلا(_C)" #: ../gtk/gtkstock.c:328 msgctxt "Stock label" @@ -2150,7 +2253,7 @@ msgstr "تەھرىر(_E)" #: ../gtk/gtkstock.c:338 msgctxt "Stock label" msgid "_File" -msgstr "" +msgstr "ھۆججەت(_F)" #: ../gtk/gtkstock.c:339 msgctxt "Stock label" @@ -2165,12 +2268,12 @@ msgstr "ئىزدەپ ئالماشتۇر(_R)" #: ../gtk/gtkstock.c:341 msgctxt "Stock label" msgid "_Floppy" -msgstr "يۇمشاق دىسكا(_F)" +msgstr "يۇمشاق دىسكا (_F)" #: ../gtk/gtkstock.c:342 msgctxt "Stock label" msgid "_Fullscreen" -msgstr "پۈتۈن ئېكران(_F)" +msgstr "تولۇق ئېكران( _F)" #: ../gtk/gtkstock.c:343 msgctxt "Stock label" @@ -2199,13 +2302,13 @@ msgstr "ئاخىرقى(_L)" #: ../gtk/gtkstock.c:351 msgctxt "Stock label, navigation" msgid "_Top" -msgstr "بېشى(_F)" +msgstr "ئۈستى(_T)" #. This is a navigation label as in "go back" #: ../gtk/gtkstock.c:353 msgctxt "Stock label, navigation" msgid "_Back" -msgstr "كەينىگە(_B)" +msgstr "كەينى(_B)" #. This is a navigation label as in "go down" #: ../gtk/gtkstock.c:355 @@ -2227,7 +2330,7 @@ msgstr "ئۈستىگە(_U)" #: ../gtk/gtkstock.c:360 msgctxt "Stock label" -msgid "_Harddisk" +msgid "_Hard Disk" msgstr "قاتتىق دىسكا(_H)" #: ../gtk/gtkstock.c:361 @@ -2243,7 +2346,7 @@ msgstr "باش بەت(_H)" #: ../gtk/gtkstock.c:363 msgctxt "Stock label" msgid "Increase Indent" -msgstr "كەڭەيت" +msgstr "كېڭەيت" #: ../gtk/gtkstock.c:364 msgctxt "Stock label" @@ -2263,7 +2366,7 @@ msgstr "ئۇچۇر(_I)" #: ../gtk/gtkstock.c:367 msgctxt "Stock label" msgid "_Italic" -msgstr "يانتۇ(_I)" +msgstr "يانتۇ (_I)" #: ../gtk/gtkstock.c:368 msgctxt "Stock label" @@ -2322,7 +2425,7 @@ msgstr "قوي(_P)" #: ../gtk/gtkstock.c:387 msgctxt "Stock label, media" msgid "Pre_vious" -msgstr "ئالدىنقى(_V)" +msgstr "ئالدىنقى (_V)" #. Media label #: ../gtk/gtkstock.c:389 @@ -2334,13 +2437,13 @@ msgstr "خاتىرىلە(_R)" #: ../gtk/gtkstock.c:391 msgctxt "Stock label, media" msgid "R_ewind" -msgstr "تېز چېكىن(_E)" +msgstr "تىز چېكىن(_E)" #. Media label #: ../gtk/gtkstock.c:393 msgctxt "Stock label, media" msgid "_Stop" -msgstr "توختا(_S)" +msgstr "توختا (&S)" #: ../gtk/gtkstock.c:394 msgctxt "Stock label" @@ -2439,7 +2542,7 @@ msgstr "يېڭىلا(_R)" #: ../gtk/gtkstock.c:416 msgctxt "Stock label" msgid "_Remove" -msgstr "ئۆچۈر(_R)" +msgstr "چىقىرىۋەت(_R)" #: ../gtk/gtkstock.c:417 msgctxt "Stock label" @@ -2491,7 +2594,7 @@ msgstr "ئىملا تەكشۈر(_S)" #: ../gtk/gtkstock.c:428 msgctxt "Stock label" msgid "_Stop" -msgstr "توختا(_S)" +msgstr "توختا (&S)" #. Font variant #: ../gtk/gtkstock.c:430 @@ -2508,7 +2611,7 @@ msgstr "ئەسلىگە كەلتۈر(_U)" #: ../gtk/gtkstock.c:433 msgctxt "Stock label" msgid "_Underline" -msgstr "ئاستى سىزىق(_U)" +msgstr "ئاستى سىزىق (_U)" #: ../gtk/gtkstock.c:434 msgctxt "Stock label" @@ -2524,7 +2627,7 @@ msgstr "ھەئە(_Y)" #: ../gtk/gtkstock.c:437 msgctxt "Stock label" msgid "_Normal Size" -msgstr "ئەسلى چوڭلۇقى(_N)" +msgstr "ئادەتتىكى چوڭلۇقى(_N)" #. Zoom #: ../gtk/gtkstock.c:439 @@ -2540,79 +2643,105 @@ msgstr "چوڭايت(_I)" #: ../gtk/gtkstock.c:441 msgctxt "Stock label" msgid "Zoom _Out" -msgstr "كىچىكلەت(_O) " +msgstr "كىچىكلەت(_O)" + +#. Translators: if the "on" state label requires more than three +#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for +#. * the state +#. +#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553 +msgctxt "switch" +msgid "ON" +msgstr "ئاچ" + +#. Translators: if the "off" state label requires more than three +#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state +#. +#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569 +msgctxt "switch" +msgid "OFF" +msgstr "تاقا" + +#: ../gtk/gtkswitch.c:968 +msgctxt "light switch widget" +msgid "Switch" +msgstr "ئالماشتۇرغۇچ" + +#: ../gtk/gtkswitch.c:969 +msgid "Switches between on and off states" +msgstr "ئېچىش بىلەن تاقاش ھالىتى ئارىسىدا ئالماشتۇرىدۇ" #: ../gtk/gtktextbufferrichtext.c:650 #, c-format msgid "Unknown error when trying to deserialize %s" -msgstr "ئەكسىچە تەرتىپلىگەندە خاتالىق كۆرۈلدى %s" +msgstr "%s ئەكسىچە تەرتىپلىگەندە نامەلۇم خاتالىق كۆرۈلدى" #: ../gtk/gtktextbufferrichtext.c:709 #, c-format msgid "No deserialize function found for format %s" msgstr "%s فورماتتىن ئەكسىچە تەرتىپلەش فۇنكسىيىسى تېپىلمىدى" -#: ../gtk/gtktextbufferserialize.c:795 ../gtk/gtktextbufferserialize.c:821 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "<%s> ئېلېمېنتنىڭ بىرلا ۋاقىتتا تاپقىنى “id”بىلەن“name”" -#: ../gtk/gtktextbufferserialize.c:805 ../gtk/gtktextbufferserialize.c:831 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "<%s> ئېلېمېنت ئىككى قېتىم تاپتى “%s”" -#: ../gtk/gtktextbufferserialize.c:845 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format -msgid "<%s> element has invalid id \"%s\"" -msgstr "<%s> ئېلېمېنتنىڭ id سى “%s” ئىناۋەتسىز " +msgid "<%s> element has invalid ID \"%s\"" +msgstr "<%s> ئېلېمېنتنىڭ ID سى «%s» ئىناۋەتسىز" -#: ../gtk/gtktextbufferserialize.c:855 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "<%s> ئېلېمېنتنىڭ ھەم “name” ھەم “id” خاسلىقى يوق" -#: ../gtk/gtktextbufferserialize.c:942 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "خاسلىق \"%s\" ئوخشاش بىر <%s> ئېلېمېنتتا ئىككى قېتىم تەكرارلاندى " -#: ../gtk/gtktextbufferserialize.c:960 ../gtk/gtktextbufferserialize.c:985 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "بۇ تىل مۇھىتىدا \"%s\" خاسلىق <%s> ئېلېمېنتقا نىسبەتەن ئىناۋەتسىز" -#: ../gtk/gtktextbufferserialize.c:1024 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "“%s” بەلگە ئېنىقلانمىغان." -#: ../gtk/gtktextbufferserialize.c:1036 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "ئاتسىز بەلگە بايقالدى. بەلگە قۇرۇشقا بولمايدۇ" -#: ../gtk/gtktextbufferserialize.c:1047 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "\"%s\"بەلگە يىغلەكتە مەۋجۇت ئەمەس. بەلگە قۇرۇشقا بولمايدۇ." -#: ../gtk/gtktextbufferserialize.c:1146 ../gtk/gtktextbufferserialize.c:1221 -#: ../gtk/gtktextbufferserialize.c:1324 ../gtk/gtktextbufferserialize.c:1398 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "<%s> ئېلېمېنت <%s> ئاستىدا بولۇشقا يول قويۇلمايدۇ" -#: ../gtk/gtktextbufferserialize.c:1177 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "\"%s\" ئىناۋەتلىك خاسلىق تىپى ئەمەس" -#: ../gtk/gtktextbufferserialize.c:1185 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "\"%s\" ئىناۋەتلىك خاسلىق ئاتى ئەمەس" -#: ../gtk/gtktextbufferserialize.c:1195 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" @@ -2620,41 +2749,41 @@ msgstr "" "\"%s\"نى \"%s\" تىپلىق قىممەتكە ئالماشتۇرالمايدۇ، بۇ قىممەت \"%s\" خاسلىققا " "ئىشلىتىلىدۇ" -#: ../gtk/gtktextbufferserialize.c:1204 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "\"%s\" بولسا \"%s\" خاسلىقنىڭ ئىناۋەتلىك قىممىتى ئەمەس" -#: ../gtk/gtktextbufferserialize.c:1289 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "\"%s\" بەلگە ئېنىقلاندى" -#: ../gtk/gtktextbufferserialize.c:1300 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "بەلگە \"%s\" نىڭ ئالدىنلىقى \"%s\" ئىناۋەتسىز" -#: ../gtk/gtktextbufferserialize.c:1353 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "" -"تېكستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" +"تېكىستنىڭ ئەڭ سىرتىدىكى ئېلېمېنت بولىدۇ، <%s> بولمايدۇ" -#: ../gtk/gtktextbufferserialize.c:1362 ../gtk/gtktextbufferserialize.c:1378 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "<%s> ئېلېمېنت بەلگىلەندى" -#: ../gtk/gtktextbufferserialize.c:1384 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr " ئېلېمېنتى نىڭ ئالدىدا كۆرۈلمەيدۇ" -#: ../gtk/gtktextbufferserialize.c:1784 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "تەرتىپلەشكەن سانلىق مەلۇمات فورماتى خاتا" -#: ../gtk/gtktextbufferserialize.c:1862 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" @@ -2691,7 +2820,7 @@ msgstr "PDF قاڭقىش يۆنىلىش فورماتى(_P)" #: ../gtk/gtktextutil.c:67 msgid "ZWS _Zero width space" -msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق(_Z)" +msgstr "ZWS نۆل كەڭلىكتىكى بوشلۇق (_Z)" #: ../gtk/gtktextutil.c:68 msgid "ZWJ Zero width _joiner" @@ -2701,58 +2830,53 @@ msgstr "ZWJ نۆل كەڭلىكتىكى ئۇلاش بەلگىسى(_J)" msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ نۆل كەڭلىكتىكى ئۇلىماسلىق بەلگىسى (_N)" -#: ../gtk/gtkthemes.c:71 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" - -#: ../gtk/gtkuimanager.c:1505 +#: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" msgstr "'%s' ئويلىشىلمىغان باشلاش بەلگىسى %d -قۇر %d -ھەرپتە" -#: ../gtk/gtkuimanager.c:1595 +#: ../gtk/gtkuimanager.c:1596 #, c-format msgid "Unexpected character data on line %d char %d" msgstr "%d- قۇر %d -ھەرپتە ئويلىشىلمىغان بەلگە بار" -#: ../gtk/gtkuimanager.c:2427 +#: ../gtk/gtkuimanager.c:2428 msgid "Empty" msgstr "بوش" -#: ../gtk/gtkvolumebutton.c:83 +#: ../gtk/gtkvolumebutton.c:170 msgid "Volume" -msgstr "قىممەت" +msgstr "ئەن" -#: ../gtk/gtkvolumebutton.c:85 +#: ../gtk/gtkvolumebutton.c:172 msgid "Turns volume down or up" msgstr "ئاۋازنى يۇقىرىلات ياكى تۆۋەنلەت" -#: ../gtk/gtkvolumebutton.c:88 +#: ../gtk/gtkvolumebutton.c:175 msgid "Adjusts the volume" msgstr "ئاۋاز تەڭشىكى" -#: ../gtk/gtkvolumebutton.c:94 ../gtk/gtkvolumebutton.c:97 +#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 msgid "Volume Down" msgstr "ئاۋازنى تۆۋەنلەت" -#: ../gtk/gtkvolumebutton.c:96 +#: ../gtk/gtkvolumebutton.c:183 msgid "Decreases the volume" msgstr "ئاۋازنى كېمەيت" -#: ../gtk/gtkvolumebutton.c:100 ../gtk/gtkvolumebutton.c:103 +#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 msgid "Volume Up" msgstr "ئاۋازنى يۇقىرىلات" -#: ../gtk/gtkvolumebutton.c:102 +#: ../gtk/gtkvolumebutton.c:189 msgid "Increases the volume" msgstr "ئاۋازنى ئاشۇر" -#: ../gtk/gtkvolumebutton.c:160 +#: ../gtk/gtkvolumebutton.c:247 msgid "Muted" msgstr "ئۈنسىز" -#: ../gtk/gtkvolumebutton.c:164 +#: ../gtk/gtkvolumebutton.c:251 msgid "Full Volume" msgstr "ئەڭ يۇقىرى ئاۋاز" @@ -2761,7 +2885,7 @@ msgstr "ئەڭ يۇقىرى ئاۋاز" #. * Translate the "%d" to "%Id" if you want to use localised digits, #. * or otherwise translate the "%d" to "%d". #. -#: ../gtk/gtkvolumebutton.c:177 +#: ../gtk/gtkvolumebutton.c:264 #, c-format msgctxt "volume percentage" msgid "%d %%" @@ -3075,7 +3199,7 @@ msgstr "C9" #: ../gtk/paper_names_offsets.c:65 msgctxt "paper size" msgid "DL Envelope" -msgstr "DL لىپاپا" +msgstr "DL لېپاپ" #: ../gtk/paper_names_offsets.c:66 msgctxt "paper size" @@ -3170,17 +3294,17 @@ msgstr "jis exec" #: ../gtk/paper_names_offsets.c:84 msgctxt "paper size" msgid "Choukei 2 Envelope" -msgstr "Choukei 2 لىپاپ" +msgstr "Choukei 2 لېپاپ" #: ../gtk/paper_names_offsets.c:85 msgctxt "paper size" msgid "Choukei 3 Envelope" -msgstr "Choukei 3 لىپاپ" +msgstr "Choukei 3 لېپاپ" #: ../gtk/paper_names_offsets.c:86 msgctxt "paper size" msgid "Choukei 4 Envelope" -msgstr "houkei 4 لىپاپ" +msgstr "houkei 4 لېپاپ" #: ../gtk/paper_names_offsets.c:87 msgctxt "paper size" @@ -3190,12 +3314,12 @@ msgstr "hagaki (پوچتا كارتىسى)" #: ../gtk/paper_names_offsets.c:88 msgctxt "paper size" msgid "kahu Envelope" -msgstr "kahu لىپاپ" +msgstr "kahu لېپاپ" #: ../gtk/paper_names_offsets.c:89 msgctxt "paper size" msgid "kaku2 Envelope" -msgstr "kaku2 لىپاپ" +msgstr "kaku2 لېپاپ" #: ../gtk/paper_names_offsets.c:90 msgctxt "paper size" @@ -3205,7 +3329,7 @@ msgstr "oufuku (جاۋاب پوچتا كارتىسى)" #: ../gtk/paper_names_offsets.c:91 msgctxt "paper size" msgid "you4 Envelope" -msgstr "you4 لىپاپ" +msgstr "you4 لېپاپ" #: ../gtk/paper_names_offsets.c:92 msgctxt "paper size" @@ -3250,22 +3374,22 @@ msgstr "5x7" #: ../gtk/paper_names_offsets.c:101 msgctxt "paper size" msgid "6x9 Envelope" -msgstr "6x9 لىپاپ" +msgstr "6x9 لېپاپ" #: ../gtk/paper_names_offsets.c:102 msgctxt "paper size" msgid "7x9 Envelope" -msgstr "7x9 لىپاپ" +msgstr "7x9 لېپاپ" #: ../gtk/paper_names_offsets.c:103 msgctxt "paper size" msgid "9x11 Envelope" -msgstr "9x11 لىپاپ" +msgstr "9x11 لېپاپ" #: ../gtk/paper_names_offsets.c:104 msgctxt "paper size" msgid "a2 Envelope" -msgstr "a2 لىپاپ" +msgstr "a2 لېپاپ" #: ../gtk/paper_names_offsets.c:105 msgctxt "paper size" @@ -3305,7 +3429,7 @@ msgstr "c" #: ../gtk/paper_names_offsets.c:112 msgctxt "paper size" msgid "c5 Envelope" -msgstr "c5 لىپاپ" +msgstr "c5 لېپاپ" #: ../gtk/paper_names_offsets.c:113 msgctxt "paper size" @@ -3325,7 +3449,7 @@ msgstr "edp" #: ../gtk/paper_names_offsets.c:116 msgctxt "paper size" msgid "European edp" -msgstr "ياۋرۇپا edp" +msgstr "ياۋروپا edp" #: ../gtk/paper_names_offsets.c:117 msgctxt "paper size" @@ -3340,7 +3464,7 @@ msgstr "f" #: ../gtk/paper_names_offsets.c:119 msgctxt "paper size" msgid "FanFold European" -msgstr "FanFold ياۋرۇپا" +msgstr "FanFold ياۋروپا" #: ../gtk/paper_names_offsets.c:120 msgctxt "paper size" @@ -3405,52 +3529,52 @@ msgstr "ئا ق ش قانۇنى زىيادە چوڭ" #: ../gtk/paper_names_offsets.c:132 msgctxt "paper size" msgid "US Letter" -msgstr "ئا ق ش لىپاپىسى" +msgstr "ئا ق ش لېپاپى" #: ../gtk/paper_names_offsets.c:133 msgctxt "paper size" msgid "US Letter Extra" -msgstr "ئا ق ش لىپاپىسى زىيادە چوڭ" +msgstr "ئا ق ش لېپاپى زىيادە چوڭ" #: ../gtk/paper_names_offsets.c:134 msgctxt "paper size" msgid "US Letter Plus" -msgstr "ئا ق ش لىپاپىسى چوڭ" +msgstr "ئا ق ش لېپاپى چوڭ" #: ../gtk/paper_names_offsets.c:135 msgctxt "paper size" msgid "Monarch Envelope" -msgstr "Monarch لىپاپ" +msgstr "Monarch لېپاپ" #: ../gtk/paper_names_offsets.c:136 msgctxt "paper size" msgid "#10 Envelope" -msgstr "#10 لىپاپ" +msgstr "#10 لېپاپ" #: ../gtk/paper_names_offsets.c:137 msgctxt "paper size" msgid "#11 Envelope" -msgstr "#11 لىپاپ" +msgstr "#11 لېپاپ" #: ../gtk/paper_names_offsets.c:138 msgctxt "paper size" msgid "#12 Envelope" -msgstr "#12 لىپاپ" +msgstr "#12 لېپاپ" #: ../gtk/paper_names_offsets.c:139 msgctxt "paper size" msgid "#14 Envelope" -msgstr "#14 لىپاپ" +msgstr "#14 لېپاپ" #: ../gtk/paper_names_offsets.c:140 msgctxt "paper size" msgid "#9 Envelope" -msgstr "#9 لىپاپ" +msgstr "#9 لېپاپ" #: ../gtk/paper_names_offsets.c:141 msgctxt "paper size" msgid "Personal Envelope" -msgstr "شەخسىي لىپاپ" +msgstr "شەخسىي لېپاپ" #: ../gtk/paper_names_offsets.c:142 msgctxt "paper size" @@ -3490,12 +3614,12 @@ msgstr "Folio sp" #: ../gtk/paper_names_offsets.c:149 msgctxt "paper size" msgid "Invite Envelope" -msgstr "تەكلىپ لىپاپ" +msgstr "تەكلىپ لېپاپ" #: ../gtk/paper_names_offsets.c:150 msgctxt "paper size" msgid "Italian Envelope" -msgstr "ئىتالىيە لىپاپىسى" +msgstr "ئىتالىيە لېپاپى" #: ../gtk/paper_names_offsets.c:151 msgctxt "paper size" @@ -3510,7 +3634,7 @@ msgstr "pa-kai" #: ../gtk/paper_names_offsets.c:153 msgctxt "paper size" msgid "Postfix Envelope" -msgstr "Postfix لىپاپ" +msgstr "Postfix لېپاپ" #: ../gtk/paper_names_offsets.c:154 msgctxt "paper size" @@ -3520,12 +3644,12 @@ msgstr "كىچىك سۈرەت" #: ../gtk/paper_names_offsets.c:155 msgctxt "paper size" msgid "prc1 Envelope" -msgstr "prc1 شەخسىي لىپاپ" +msgstr "prc1 شەخسىي لېپاپ" #: ../gtk/paper_names_offsets.c:156 msgctxt "paper size" msgid "prc10 Envelope" -msgstr "ج خ ج 10 لىپاپ" +msgstr "ج خ ج 10 لېپاپ" #: ../gtk/paper_names_offsets.c:157 msgctxt "paper size" @@ -3535,12 +3659,12 @@ msgstr "ج خ ج 16 كەسلەم" #: ../gtk/paper_names_offsets.c:158 msgctxt "paper size" msgid "prc2 Envelope" -msgstr "ج خ ج 2 لىپاپ" +msgstr "ج خ ج 2 لېپاپ" #: ../gtk/paper_names_offsets.c:159 msgctxt "paper size" msgid "prc3 Envelope" -msgstr "ج خ ج 3 لىپاپ" +msgstr "ج خ ج 3 لېپاپ" #: ../gtk/paper_names_offsets.c:160 msgctxt "paper size" @@ -3550,42 +3674,42 @@ msgstr "ج خ ج 32 كەسلەم" #: ../gtk/paper_names_offsets.c:161 msgctxt "paper size" msgid "prc4 Envelope" -msgstr "ج خ ج 4 لىپاپ" +msgstr "ج خ ج 4 لېپاپ" #: ../gtk/paper_names_offsets.c:162 msgctxt "paper size" msgid "prc5 Envelope" -msgstr "ج خ ج 5 لىپاپ" +msgstr "ج خ ج 5 لېپاپ" #: ../gtk/paper_names_offsets.c:163 msgctxt "paper size" msgid "prc6 Envelope" -msgstr "ج خ ج 6 لىپاپ" +msgstr "ج خ ج 6 لېپاپ" #: ../gtk/paper_names_offsets.c:164 msgctxt "paper size" msgid "prc7 Envelope" -msgstr "ج خ ج 7 لىپاپ" +msgstr "ج خ ج 7 لېپاپ" #: ../gtk/paper_names_offsets.c:165 msgctxt "paper size" msgid "prc8 Envelope" -msgstr "ج خ ج 8 لىپاپ" +msgstr "ج خ ج 8 لېپاپ" #: ../gtk/paper_names_offsets.c:166 msgctxt "paper size" msgid "prc9 Envelope" -msgstr "ج خ ج 9 لىپاپ" +msgstr "ج خ ج 8 لېپاپ" #: ../gtk/paper_names_offsets.c:167 msgctxt "paper size" msgid "ROC 16k" -msgstr "ج م 16 كەسلەم" +msgstr "ج خ ج 16 كەسلەم" #: ../gtk/paper_names_offsets.c:168 msgctxt "paper size" msgid "ROC 8k" -msgstr "ج م 8 كەسلەم" +msgstr "ج خ ج 8 كەسلەم" #: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 #, c-format @@ -3610,90 +3734,90 @@ msgstr "قىسقۇچ ئىندېكسقا يازالمىدى\n" #: ../gtk/updateiconcache.c:1394 #, c-format msgid "Failed to rewrite header\n" -msgstr "باشىغا قايتا يازالمىدى\n" +msgstr "بېشىغا قايتا يازالمىدى\n" -#: ../gtk/updateiconcache.c:1463 +#: ../gtk/updateiconcache.c:1488 #, c-format msgid "Failed to open file %s : %s\n" msgstr "%s ھۆججەتنى ئاچالمىدى: %s\n" -#: ../gtk/updateiconcache.c:1471 +#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 #, c-format msgid "Failed to write cache file: %s\n" msgstr "غەملەك ھۆججىتىگە يازالمىدى: %s\n" -#: ../gtk/updateiconcache.c:1507 +#: ../gtk/updateiconcache.c:1537 #, c-format msgid "The generated cache was invalid.\n" msgstr "قۇرغان غەملەك ئىناۋەتسىز.\n" -#: ../gtk/updateiconcache.c:1521 +#: ../gtk/updateiconcache.c:1551 #, c-format msgid "Could not rename %s to %s: %s, removing %s then.\n" msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s، %s چىقىرىۋاتىدۇ\n" -#: ../gtk/updateiconcache.c:1535 +#: ../gtk/updateiconcache.c:1565 #, c-format msgid "Could not rename %s to %s: %s\n" msgstr "%s نى %s غا ئات ئۆزگەرتەلمىدى:%s\n" -#: ../gtk/updateiconcache.c:1545 +#: ../gtk/updateiconcache.c:1575 #, c-format msgid "Could not rename %s back to %s: %s.\n" msgstr "%s نى %s غا قايتۇرۇپ ئات ئۆزگەرتەلمىدى:%s\n" -#: ../gtk/updateiconcache.c:1572 +#: ../gtk/updateiconcache.c:1602 #, c-format msgid "Cache file created successfully.\n" msgstr "غەملەك ھۆججىتى مۇۋەپپەقىيەتلىك قۇرۇلدى.\n" -#: ../gtk/updateiconcache.c:1611 +#: ../gtk/updateiconcache.c:1641 msgid "Overwrite an existing cache, even if up to date" msgstr "نۆۋەتتىكى غەملەك ئەڭ يېڭى بولسىمۇ قاپلىۋەت" -#: ../gtk/updateiconcache.c:1612 +#: ../gtk/updateiconcache.c:1642 msgid "Don't check for the existence of index.theme" -msgstr "مەۋجۇد index.theme نى تەكشۈرمە" +msgstr "مەۋجۇت index.theme نى تەكشۈرمە" -#: ../gtk/updateiconcache.c:1613 +#: ../gtk/updateiconcache.c:1643 msgid "Don't include image data in the cache" msgstr "غەملەكتە سۈرەت سانلىق مەلۇماتىنى ساقلىما" -#: ../gtk/updateiconcache.c:1614 +#: ../gtk/updateiconcache.c:1644 msgid "Output a C header file" msgstr "C باش ھۆججەتنى چىقار" -#: ../gtk/updateiconcache.c:1615 +#: ../gtk/updateiconcache.c:1645 msgid "Turn off verbose output" msgstr "تەپسىلىي چىقىرىشنى ياپ" -#: ../gtk/updateiconcache.c:1616 +#: ../gtk/updateiconcache.c:1646 msgid "Validate existing icon cache" -msgstr "مەۋجۇد سىنبەلگە غەملىكىنى دەلىللە" +msgstr "مەۋجۇت سىنبەلگە غەملىكىنى دەلىللە" -#: ../gtk/updateiconcache.c:1683 +#: ../gtk/updateiconcache.c:1713 #, c-format msgid "File not found: %s\n" msgstr "ھۆججەتنى تاپالمىدى: %s\n" -#: ../gtk/updateiconcache.c:1689 +#: ../gtk/updateiconcache.c:1719 #, c-format msgid "Not a valid icon cache: %s\n" msgstr "ئىناۋەتلىك سىنبەلگە غەملەك ئەمەس: %s\n" -#: ../gtk/updateiconcache.c:1702 +#: ../gtk/updateiconcache.c:1732 #, c-format msgid "No theme index file.\n" msgstr "باش تېما ئىندېكس ھۆججىتى يوق.\n" -#: ../gtk/updateiconcache.c:1706 +#: ../gtk/updateiconcache.c:1736 #, c-format msgid "" "No theme index file in '%s'.\n" "If you really want to create an icon cache here, use --ignore-theme-index.\n" msgstr "" "“%s دا باش تېما ئىندېكس ھۆججىتى يوق.\n" -"ئەگەر بۇ جايغا راستىنلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-" +"ئەگەر بۇ جايغا راستىنىلا سىنبەلگە غەملەك قۇرماقچى بولسىڭىز --ignore-theme-" "index ئىشلىتىڭ\n" #. ID @@ -3744,30 +3868,25 @@ msgstr "تىگرىگنا-ئېفىئوپىيە(EZ+)" #. ID #: ../modules/input/imviqr.c:244 msgid "Vietnamese (VIQR)" -msgstr "ۋيېتنامچە(VIQR)" +msgstr "ۋيېتنامچە(TCVN)" #. ID #: ../modules/input/imxim.c:28 msgid "X Input Method" msgstr "X كىرگۈزگۈچ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "ئىشلەتكۈچى ئاتى:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:812 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "ئىم:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" - #: ../modules/printbackends/cups/gtkprintbackendcups.c:854 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "باسىدىغان '%s' پۈتۈكنى %s پرىنتېردا بېسىشتا دەلىللەش لازىم" @@ -3805,200 +3924,205 @@ msgstr "%s نىڭ كۆڭۈلدىكى پرىنتېرىغا ئېرىشىشتە د msgid "Authentication is required to get printers from %s" msgstr "%s دىن پرىنتېرغا ئېرىشىشتە دەلىللەش لازىم" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 +#, c-format +msgid "Authentication is required to get a file from %s" +msgstr "%s دىن ھۆججەتكە ئېرىشىشتە دەلىللەش لازىم" + +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "%s دا دەلىللەش لازىم" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "دائىرە:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "%s دا پۈتۈك بېسىشتا دەلىللەش لازىم" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "بۇ پۈتۈكنى %s دا بېسىشتا دەلىللەش لازىم" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "بۇ پۈتۈكنى بېسىشتا دەلىللەش لازىم" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "'%s' پرىنتېرنىڭ سىياھى ئاز." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "'%s' پرىنتېرنىڭ سىياھى قالمىغان." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى ئاز" #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "'%s' پرىنتېر روشەنلەشتۈرۈش خۇرۇچى قالمىغان." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى ئاز." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "'%s' پرىنتېرنىڭ ئاز دېگەندە بىر رەڭ قۇتىسىنىڭ سىياھى تۈگىگەن." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "'%s' پرىنتېرنىڭ قاپقىقى ئوچۇق." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "'%s' پرىنتېرنىڭ ئىشىكى ئوچۇق." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "'%s' پرىنتېرنىڭ قەغىزى قالمىغان." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "'%s' پرىنتېردا قەغەز كەم." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format -msgid "Printer '%s' is currently off-line." -msgstr "'%s' پرىنتېر نۆۋەتتە تورسىز." +msgid "Printer '%s' is currently offline." +msgstr "'%s' پرىنتېر نۆۋەتتە توردا يوق." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "'%s' پرىنتېردا مەسىلە بار." #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" -msgstr "ۋاقىتلىق توختىلدى؛ ۋەزىپىنى رەت قىلىدۇ" +msgstr "ۋاقىتلىق توختىتىلدى؛ ۋەزىپىنى رەت قىلىدۇ" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "ۋەزىپىنى رەت قىلىدۇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "قوش يۈزلۈك" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "قەغەز تىپى" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "قەغەز مەنبەسى" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "قەغەز چىقارغۇچ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "ئېنىقلىق" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "GhostScript ئالدىن سۈزگۈچ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "تاق تەرەپلىك" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "ئۇزۇن يان (ئۆلچەملىك)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "قىسقا يان (ئۆرۈ)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "ئۆزلۈكىدىن تاللا" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3295 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" -msgstr "ئالدىن تەڭشەلگەن پرىنتېر" +msgstr "پرىنتېر كۆڭۈلدىكى" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "GhostScript خەت نۇسخىنىلا سىڭدۈر" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "PS دەرىجە 1 گە ئايلاندۇر" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "PS دەرىجە 2 گە ئايلاندۇر" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "ئالدىن سۈزگۈچ يوق" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "باشقىلار" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "جىددىي" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "يۇقىرى" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "ئوتتۇرا" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3503 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "تۆۋەن" @@ -4006,66 +4130,66 @@ msgstr "تۆۋەن" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3527 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "ھەر ۋاراق بەت سانى" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3564 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "ۋەزىپە ئالدىنلىق" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3575 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "ھەق ھېسابلاش ئۇچۇرى" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "يوق" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "تۈرگە ئايرىلغان" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "مەخپىي" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "سىر" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "ئۆلچەملىك" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "قەتئىي مەخپىي" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" -msgstr "بۆلۈنمىگەن" +msgstr "تۈرگە ئايرىلمىغان" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3625 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "ئاۋۋال" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3640 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "داۋامى" @@ -4073,14 +4197,14 @@ msgstr "داۋامى" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3660 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "باسىدۇ" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3671 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" @@ -4088,7 +4212,7 @@ msgstr "بەلگىلەنگەن ۋاقىتتا باسىدۇ" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3706 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "ئىختىيارى %sx%s" @@ -4097,34 +4221,34 @@ msgstr "ئىختىيارى %sx%s" #: ../modules/printbackends/file/gtkprintbackendfile.c:250 #, c-format msgid "output.%s" -msgstr "چىقىش.%s" +msgstr "output.%s" -#: ../modules/printbackends/file/gtkprintbackendfile.c:493 +#: ../modules/printbackends/file/gtkprintbackendfile.c:501 msgid "Print to File" msgstr "ھۆججەتكە باس" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:570 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:582 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "ھەر ۋاراق بەت سانى(_S):" -#: ../modules/printbackends/file/gtkprintbackendfile.c:641 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "ھۆججەت" -#: ../modules/printbackends/file/gtkprintbackendfile.c:651 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "چىقىرىش فورماتى(_O)" @@ -4153,12 +4277,12 @@ msgstr "بېسىشقا تەييار" #. SUN_BRANDING #: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 msgid "processing job" -msgstr "ۋەزىپىنى بىر تەرپ قىلىۋاتىدۇ" +msgstr "ۋەزىپىنى بىر تەرەپ قىلىۋاتىدۇ" #. SUN_BRANDING #: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 msgid "paused" -msgstr "ۋاقىتلىق توختىتىلدى" +msgstr "ۋاقىتلىق توختىدى" #. SUN_BRANDING #: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 @@ -4193,8 +4317,38 @@ msgstr "" "'%s' سۈرەتنى يۈكلىيەلمىدى. سەۋەبى ئېنىق ئەمەس بۇ ھۆججەت بۇزۇلۇپ كەتكەن " "بولۇشى مۇمكىن" +#~ msgid "Unable to locate theme engine in module_path: \"%s\"," +#~ msgstr "بۆلەك يولىدا باش تېما ماتورى تېپىلمىدى: “%s”،" + +#~ msgid "X screen to use" +#~ msgstr "ئىشلەتكەن X ئېكران " + +#~ msgid "SCREEN" +#~ msgstr "ئېكران" + +#~ msgid "Gdk debugging flags to set" +#~ msgstr "Gdk سازلاش تەڭشەك بەلگىسى" + +#~ msgid "Gdk debugging flags to unset" +#~ msgstr "قالدۇرماقچى بولغان Gdk سازلاش بەلگىسى" + +#~ msgid "Make X calls synchronous" +#~ msgstr "X نى قەدەمداش قىلىپ ئىشلەت" + +#~ msgid "Credits" +#~ msgstr "تەشەككۈر" + +#~ msgid "Written by" +#~ msgstr "يازغۇچى" + +#~ msgid "Error creating folder '%s': %s" +#~ msgstr "قىسقۇچ قۇرغاندا خاتالىق كۆرۈلدى'%s' : %s" + +#~ msgid "Unable to find include file: \"%s\"" +#~ msgstr "ئىچىدىكى ھۆججەتنى تاپالمىدى:\"%s\"" + #~ msgid "Image file '%s' contains no data" -#~ msgstr "'%s' سۈرەت ھۆججەتتە ھىچقانداق سانلىق مەلۇمات يوق" +#~ msgstr "'%s' سۈرەت ھۆججەتتە ھېچقانداق سانلىق مەلۇمات يوق" #~ msgid "" #~ "Failed to load animation '%s': reason not known, probably a corrupt " @@ -4352,7 +4506,7 @@ msgstr "" #~ msgstr "GIF ھۆججەتتىكى بىر كاندۇكنى ھاسىل قىلىشقا يېتەرلىك ئەسلەك يوق" #~ msgid "GIF image is corrupt (incorrect LZW compression)" -#~ msgstr "GIF سۈرەت بۇزۇلغان(ناتوغرا LZW پىرىس شەكلى)" +#~ msgstr "GIF سۈرەت بۇزۇلغان(ناتوغرا LZW پرېس شەكلى)" #~ msgid "File does not appear to be a GIF file" #~ msgstr "ھۆججەت GIF ھۆججەت ئەمەستەك تۇرىدۇ" @@ -4462,13 +4616,13 @@ msgstr "" #~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " #~ "parsed." #~ msgstr "" -#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%s' قىممەتنى تەھلىل " +#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بولۇشى كېرەك. '%s' قىممەتنى تەھلىل " #~ "قىلالمىدى" #~ msgid "" #~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." #~ msgstr "" -#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بۆلۇشى كېرەك. '%d' قىممەتنى " +#~ "JPEG نىڭ سۈپىتى چوقۇم 0 دىن 100 گىچە بولۇشى كېرەك. '%d' قىممەتنى " #~ "ئىشلىتىشكە يول قويۇلمايدۇ." #~ msgid "The JPEG image format" @@ -4478,7 +4632,7 @@ msgstr "" #~ msgstr "ھۆججەت بېشىغا ئەسلەك تەقسىملىيەلمىدى" #~ msgid "Couldn't allocate memory for context buffer" -#~ msgstr "كونتېكست يىغلەككە ئەسلەك تەقسىملىيەلمىدى" +#~ msgstr "كونتېكىست يىغلەككە ئەسلەك تەقسىملىيەلمىدى" #~ msgid "Image has invalid width and/or height" #~ msgstr "سۈرەتنىڭ كەڭلىكى ۋە ياكى ئۇزۇنلۇقى ئىناۋەتسىز" @@ -4490,7 +4644,7 @@ msgstr "" #~ msgstr "سۈرەتتە قوللىمايدىغان %d بىتلىق رەڭ تەخسىسى بار " #~ msgid "Couldn't create new pixbuf" -#~ msgstr "يىڭى پىكسېل يىغلەك قۇرالمايدۇ" +#~ msgstr "يېڭى پىكسېل يىغلەك قۇرالمايدۇ" #~ msgid "Couldn't allocate memory for line data" #~ msgstr "سىزىقلىق سانلىق مەلۇماتقا ئەسلەك تەقسىملىيەلمەيدۇ" @@ -4548,7 +4702,7 @@ msgstr "" #~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى 1-79 غىچە بولۇشى كېرەك " #~ msgid "Keys for PNG text chunks must be ASCII characters." -#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى ASCII چوقۇم بۆلۇشى كېرەك" +#~ msgstr "PNG يېزىق رامكىسىنىڭ ھالقىلىق سۆزى ASCII چوقۇم بولۇشى كېرەك" #~ msgid "Color profile has invalid length %d." #~ msgstr "رەڭ سەپلىمە ھۆججىتىنىڭ ئۇزۇنلۇقى %d ئىناۋەتسىز." @@ -4557,7 +4711,7 @@ msgstr "" #~ "PNG compression level must be a value between 0 and 9; value '%s' could " #~ "not be parsed." #~ msgstr "" -#~ "PNG پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بۆلۇشى كېرەك؛ ئانالىز قىلىنمايدىغان " +#~ "PNG پرېسلاش دەرىجىسى چوقۇم 9-0 گىچە بولۇشى كېرەك؛ ئانالىز قىلىنمايدىغان " #~ "قىممەت %s ." #~ msgid "" @@ -4600,7 +4754,7 @@ msgstr "" #~ msgstr "ئەسلىدىكى PNM سۈرەتنىڭ تىپى ئىناۋەتسىز" #~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "PNM يۈكلەش پروگرامماسى بۇ خىل PNM تارماق فورماتنى قوللىمايدۇ" +#~ msgstr "PNM يۈكلەش پروگراممىسى بۇ خىل PNM تارماق فورماتنى قوللىمايدۇ" #~ msgid "Raw PNM formats require exactly one whitespace before sample data" #~ msgstr "" @@ -4625,7 +4779,7 @@ msgstr "" #~ msgstr "كىرگۈزگەن ھۆججەت چۈشەندۈرۈشى NULL." #~ msgid "Failed to read QTIF header" -#~ msgstr " QTIF باشىنى ئوقۇيالمىدى" +#~ msgstr " QTIF بېشىنى ئوقۇيالمىدى" #~ msgid "QTIF atom size too large (%d bytes)" #~ msgstr "QTIF ئاتوم چوڭلۇقى بەك چوڭ (%d بايت)" @@ -4679,7 +4833,7 @@ msgstr "" #~ msgstr "IOBuffer ئۈچۈن ۋاقىتلىق ئەسلەك تەقسىملىيەلمەيدۇ" #~ msgid "Cannot allocate new pixbuf" -#~ msgstr "يىڭى پېكسىللىق يىغلەكنى تەقسىملىيەلمەيدۇ" +#~ msgstr "يېڭى پىكسېللىق يىغلەكنى تەقسىملىيەلمەيدۇ" #~ msgid "Image is corrupted or truncated" #~ msgstr "سۈرەت بۇزۇلغان ياكى كېسىلگەن" @@ -4724,7 +4878,7 @@ msgstr "" #~ msgstr "TIFF سۈرەت ئۆلچىمى بەك چوڭ " #~ msgid "Insufficient memory to open TIFF file" -#~ msgstr "TIFFھۆججەتنى ئىچىشقا يېتەرلىك ئەسلەك يوق" +#~ msgstr "TIFFھۆججەتنى ئىچىشكە يېتەرلىك ئەسلەك يوق" #~ msgid "Failed to load RGB data from TIFF file" #~ msgstr "TIFF ھۆججەتتىكى RGB سانلىق مەلۇماتلارنى يۈكلىيەلمىدى" @@ -4742,7 +4896,7 @@ msgstr "" #~ msgstr "TIFF سۈرەتنى ساقلىيالمىدى" #~ msgid "TIFF compression doesn't refer to a valid codec." -#~ msgstr "TIFF پىرىسلاش ئىناۋەتلىك كودلاشتىن پايدىلىنالمىدى." +#~ msgstr "TIFF پرېسلاش ئىناۋەتلىك كودلاشتىن پايدىلىنالمىدى." #~ msgid "Failed to write TIFF data" #~ msgstr "TIFF سانلىق مەلۇماتقا يازالمىدى" @@ -4763,7 +4917,7 @@ msgstr "" #~ msgstr "سۈرەت يۈكلەشكە يېتەرلىك ئەسلەك يوق" #~ msgid "Couldn't save the rest" -#~ msgstr "قالغان قىسمىنى ساقلايالمايدۇ" +#~ msgstr "قالغان قىسمىنى ساقلىيالمايدۇ" #~ msgid "The WBMP image format" #~ msgstr "WBMP سۈرەت فورماتى" @@ -4793,7 +4947,7 @@ msgstr "" #~ msgstr "XPM ھۆججەت سۈرەت ئېگىزلىكى <= 0" #~ msgid "XPM has invalid number of chars per pixel" -#~ msgstr "XPM ھەربىر پېكسىل ئىگىلىگەن بىت سانى ئىناۋەتسىز" +#~ msgstr "XPM ھەربىر پىكسېل ئىگىلىگەن بىت سانى ئىناۋەتسىز" #~ msgid "XPM file has invalid number of colors" #~ msgstr "XPM ھۆججەت رەسىم رەڭ سانى توغرا ئەمەس" @@ -4859,10 +5013,10 @@ msgstr "" #~ msgstr "" #~ "ھۆججەت \"%s\" باشقا بىر (%s ئاتلىق)مۇلازىمېتىردا، مەزكۇر پروگرامما " #~ "زىيارەت قىلالماسلىقى مۇمكىن. \n" -#~ "ئۇنى راستىنلا تاللامسىز؟" +#~ "ئۇنى راستىنىلا تاللامسىز؟" #~ msgid "_New Folder" -#~ msgstr "يىڭى قىسقۇچ(_N)" +#~ msgstr "يېڭى قىسقۇچ(_N)" #~ msgid "De_lete File" #~ msgstr "ھۆججەت ئۆچۈر(_L)" @@ -4873,7 +5027,7 @@ msgstr "" #~ msgid "" #~ "The folder name \"%s\" contains symbols that are not allowed in filenames" #~ msgstr "" -#~ "\"%s\" قىسقۇچ ئاتىدا ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە " +#~ "\"%s\" قىسقۇچ ئاتىدا ھۆججەت ئاتىدا مەۋجۇت بولۇشقا يول قويۇلمايدىغان بەلگە " #~ "بار" #~ msgid "New Folder" @@ -4882,12 +5036,9 @@ msgstr "" #~ msgid "_Folder name:" #~ msgstr "قىسقۇچ ئاتى(_F):" -#~ msgid "C_reate" -#~ msgstr "قۇر(_R)" - #~ msgid "" #~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇد بولۇشقا يول قويۇلمايدىغان بەلگە بار" +#~ msgstr "\"%s\" ھۆججەت ئاتىدا مەۋجۇت بولۇشقا يول قويۇلمايدىغان بەلگە بار" #~ msgid "Error deleting file '%s': %s" #~ msgstr "'%s' ھۆججەتنى ئۆچۈرگەندە خاتالىق كۆرۈلدى:%s" From 06864ba656fb1ac87540c5008280f4250e83355b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 16:40:13 -0500 Subject: [PATCH 1391/1463] Move GtkMenuShell docs inline --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkmenushell.sgml | 224 ---------------------- gtk/gtkenums.h | 10 +- gtk/gtkmenushell.c | 115 +++++++++++ 4 files changed, 125 insertions(+), 225 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkmenushell.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index ebc9d6b070..1cea81d52d 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -35,6 +35,7 @@ gtklayout.sgml gtklinkbutton.sgml gtkmain.sgml gtkmenubar.sgml +gtkmenushell.sgml gtkmessagedialog.sgml gtknotebook.sgml gtkobject.sgml diff --git a/docs/reference/gtk/tmpl/gtkmenushell.sgml b/docs/reference/gtk/tmpl/gtkmenushell.sgml deleted file mode 100644 index 2153098b23..0000000000 --- a/docs/reference/gtk/tmpl/gtkmenushell.sgml +++ /dev/null @@ -1,224 +0,0 @@ - -GtkMenuShell - - -A base class for menu objects - - - -A #GtkMenuShell is the abstract base class used to derive the -#GtkMenu and #GtkMenuBar subclasses. - - - -A #GtkMenuShell is a container of #GtkMenuItem objects arranged in a -list which can be navigated, selected, and activated by the user to perform -application functions. A #GtkMenuItem can have a submenu associated with it, -allowing for nested hierarchical menus. - - - - - - - - - - - - - - - -The #GtkMenuShell-struct struct contains the following fields. -(These fields should be considered read-only. They should never be set by -an application.) - - - - - - -#GList *children; -The list of #GtkMenuItem objects contained by this #GtkMenuShell. - - - - - - - - -An action signal that activates the current menu item within the menu -shell. - - -@menushell: the object which received the signal. -@force_hide: if TRUE, hide the menu after activating the menu item. - - - -An action signal which cancels the selection within the menu shell. -Causes the GtkMenuShell::selection-done signal to be emitted. - - -@menushell: the object which received the signal. - - - - - - -@menushell: the object which received the signal. -@arg1: - - - -This signal is emitted when a menu shell is deactivated. - - -@menushell: the object which received the signal. - - - -An action signal which moves the current menu item in the direction -specified by @direction. - - -@menushell: the object which received the signal. -@direction: the direction to move. - - - - - - -@menushell: the object which received the signal. -@arg1: -@Returns: - - - -This signal is emitted when a selection has been completed within a menu -shell. - - -@menushell: the object which received the signal. - - - - - - - - -Adds a new #GtkMenuItem to the end of the menu shell's item list. - - -@menu_shell: a #GtkMenuShell. -@child: The #GtkMenuItem to add. - - - - -Adds a new #GtkMenuItem to the beginning of the menu shell's item list. - - -@menu_shell: a #GtkMenuShell. -@child: The #GtkMenuItem to add. - - - - -Adds a new #GtkMenuItem to the menu shell's item list at the position -indicated by @position. - - -@menu_shell: a #GtkMenuShell. -@child: The #GtkMenuItem to add. -@position: The position in the item list where @child is added. -Positions are numbered from 0 to n-1. - - - - -Deactivates the menu shell. Typically this results in the menu shell -being erased from the screen. - - -@menu_shell: a #GtkMenuShell. - - - - -Selects the menu item from the menu shell. - - -@menu_shell: a #GtkMenuShell. -@menu_item: The #GtkMenuItem to select. - - - - - - - -@menu_shell: -@search_sensitive: - - - - -Deselects the currently selected item from the menu shell, if any. - - -@menu_shell: a #GtkMenuShell. - - - - -Activates the menu item within the menu shell. - - -@menu_shell: a #GtkMenuShell. -@menu_item: The #GtkMenuItem to activate. -@force_deactivate: If TRUE, force the deactivation of the menu shell -after the menu item is activated. - - - - - - - -@menu_shell: - - - - - - - -@menu_shell: -@take_focus: - - - - - - - -@menu_shell: -@Returns: - - - - -An enumeration representing directional movements within a menu. - - -@GTK_MENU_DIR_PARENT: To the parent menu shell. -@GTK_MENU_DIR_CHILD: To the submenu, if any, associated with the item. -@GTK_MENU_DIR_NEXT: To the next menu item. -@GTK_MENU_DIR_PREV: To the previous menu item. - diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 76ea88578f..e62e43e107 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -245,7 +245,15 @@ typedef enum GTK_JUSTIFY_FILL } GtkJustification; -/* Menu keyboard movement types */ +/** + * GtkMenuDirectionType: + * @GTK_MENU_DIR_PARENT: To the parent menu shell + * @GTK_MENU_DIR_CHILD: To the submenu, if any, associated with the item + * @GTK_MENU_DIR_NEXT: To the next menu item + * @GTK_MENU_DIR_PREV: To the previous menu item + * + * An enumeration representing directional movements within a menu. + */ typedef enum { GTK_MENU_DIR_PARENT, diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c index 1bbbc177be..172b5766c0 100644 --- a/gtk/gtkmenushell.c +++ b/gtk/gtkmenushell.c @@ -24,6 +24,19 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkmenushell + * @Title: GtkMenuShell + * @Short_description: A base class for menu objects + * + * A #GtkMenuShell is the abstract base class used to derive the + * #GtkMenu and #GtkMenuBar subclasses. + * + * A #GtkMenuShell is a container of #GtkMenuItem objects arranged + * in a list which can be navigated, selected, and activated by the + * user to perform application functions. A #GtkMenuItem can have a + * submenu associated with it, allowing for nested hierarchical menus. + */ #include "config.h" #include "gtkbindings.h" @@ -231,6 +244,12 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) klass->insert = gtk_menu_shell_real_insert; klass->move_selected = gtk_menu_shell_real_move_selected; + /** + * GtkMenuShell::deactivate: + * @menushell: the object which received the signal + * + * This signal is emitted when a menu shell is deactivated. + */ menu_shell_signals[DEACTIVATE] = g_signal_new (I_("deactivate"), G_OBJECT_CLASS_TYPE (object_class), @@ -240,6 +259,13 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + /** + * GtkMenuShell::selection-done: + * @menushell: the object which received the signal + * + * This signal is emitted when a selection has been + * completed within a menu shell. + */ menu_shell_signals[SELECTION_DONE] = g_signal_new (I_("selection-done"), G_OBJECT_CLASS_TYPE (object_class), @@ -249,6 +275,14 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + /** + * GtkMenuShell::move-current: + * @menushell: the object which received the signal + * @direction: the direction to move + * + * An keybinding signal which moves the current menu item + * in the direction specified by @direction. + */ menu_shell_signals[MOVE_CURRENT] = g_signal_new (I_("move-current"), G_OBJECT_CLASS_TYPE (object_class), @@ -259,6 +293,14 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) G_TYPE_NONE, 1, GTK_TYPE_MENU_DIRECTION_TYPE); + /** + * GtkMenuShell::activate-current: + * @menushell: the object which received the signal + * @force_hide: if %TRUE, hide the menu after activating the menu item + * + * An action signal that activates the current menu item within + * the menu shell. + */ menu_shell_signals[ACTIVATE_CURRENT] = g_signal_new (I_("activate-current"), G_OBJECT_CLASS_TYPE (object_class), @@ -269,6 +311,13 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) G_TYPE_NONE, 1, G_TYPE_BOOLEAN); + /** + * GtkMenuShell::cancel: + * @menushell: the object which received the signal + * + * An action signal which cancels the selection within the menu shell. + * Causes the #GtkMenuShell::selection-done signal to be emitted. + */ menu_shell_signals[CANCEL] = g_signal_new (I_("cancel"), G_OBJECT_CLASS_TYPE (object_class), @@ -278,6 +327,14 @@ gtk_menu_shell_class_init (GtkMenuShellClass *klass) _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); + /** + * GtkMenuShell::cycle-focus: + * @menushell: the object which received the signal + * @direction: the direction to cycle in + * + * A keybinding signal which moves the focus in the + * given @direction. + */ menu_shell_signals[CYCLE_FOCUS] = g_signal_new_class_handler (I_("cycle-focus"), G_OBJECT_CLASS_TYPE (object_class), @@ -447,6 +504,14 @@ gtk_menu_shell_dispose (GObject *object) G_OBJECT_CLASS (gtk_menu_shell_parent_class)->dispose (object); } +/** + * gtk_menu_shell_append: + * @menu_shell: a #GtkMenuShell + * @child: The #GtkMenuItem to add + * + * Adds a new #GtkMenuItem to the end of the menu shell's + * item list. + */ void gtk_menu_shell_append (GtkMenuShell *menu_shell, GtkWidget *child) @@ -454,6 +519,14 @@ gtk_menu_shell_append (GtkMenuShell *menu_shell, gtk_menu_shell_insert (menu_shell, child, -1); } +/** + * gtk_menu_shell_prepend: + * @menu_shell: a #GtkMenuShell + * @child: The #GtkMenuItem to add + * + * Adds a new #GtkMenuItem to the beginning of the menu shell's + * item list. + */ void gtk_menu_shell_prepend (GtkMenuShell *menu_shell, GtkWidget *child) @@ -461,6 +534,16 @@ gtk_menu_shell_prepend (GtkMenuShell *menu_shell, gtk_menu_shell_insert (menu_shell, child, 0); } +/** + * gtk_menu_shell_insert: + * @menu_shell: a #GtkMenuShell + * @child: The #GtkMenuItem to add + * @position: The position in the item list where @child + * is added. Positions are numbered from 0 to n-1 + * + * Adds a new #GtkMenuItem to the menu shell's item list + * at the position indicated by @position. + */ void gtk_menu_shell_insert (GtkMenuShell *menu_shell, GtkWidget *child, @@ -489,6 +572,15 @@ gtk_menu_shell_real_insert (GtkMenuShell *menu_shell, gtk_widget_set_parent (child, GTK_WIDGET (menu_shell)); } +/** + * gtk_menu_shell_deactivate: + * @menu_shell: a #GtkMenuShell + * + * Deactivates the menu shell. + * + * Typically this results in the menu shell being erased + * from the screen. + */ void gtk_menu_shell_deactivate (GtkMenuShell *menu_shell) { @@ -1173,6 +1265,13 @@ gtk_menu_shell_get_item (GtkMenuShell *menu_shell, /* Handlers for action signals */ +/** + * gtk_menu_shell_select_item: + * @menu_shell: a #GtkMenuShell + * @menu_item: The #GtkMenuItem to select + * + * Selects the menu item from the menu shell. + */ void gtk_menu_shell_select_item (GtkMenuShell *menu_shell, GtkWidget *menu_item) @@ -1232,6 +1331,13 @@ gtk_menu_shell_real_select_item (GtkMenuShell *menu_shell, gtk_widget_activate (priv->active_menu_item); } +/** + * gtk_menu_shell_deselect: + * @menu_shell: a #GtkMenuShell + * + * Deselects the currently selected item from the menu shell, + * if any. + */ void gtk_menu_shell_deselect (GtkMenuShell *menu_shell) { @@ -1247,6 +1353,15 @@ gtk_menu_shell_deselect (GtkMenuShell *menu_shell) } } +/** + * gtk_menu_shell_activate_item: + * @menu_shell: a #GtkMenuShell + * @menu_item: the #GtkMenuItem to activate + * @force_deactivate: if %TRUE, force the deactivation of the + * menu shell after the menu item is activated + * + * Activates the menu item within the menu shell. + */ void gtk_menu_shell_activate_item (GtkMenuShell *menu_shell, GtkWidget *menu_item, From 6cf78a12c1e179b2d5eef4f045e242ceae475709 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 17:49:48 -0500 Subject: [PATCH 1392/1463] Move GtkTextTag docs inline --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtktexttag.sgml | 498 ------------------------ gtk/gtkenums.h | 13 +- gtk/gtktextattributes.h | 8 + gtk/gtktexttag.c | 16 + 5 files changed, 37 insertions(+), 499 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtktexttag.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 1cea81d52d..2d8d06735a 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -67,6 +67,7 @@ gtkstatusbar.sgml gtkstyle.sgml gtktesting.sgml gtktextiter.sgml +gtktexttag.sgml gtktexttagtable.sgml gtktextview.sgml gtktoggleaction.sgml diff --git a/docs/reference/gtk/tmpl/gtktexttag.sgml b/docs/reference/gtk/tmpl/gtktexttag.sgml deleted file mode 100644 index 85203a04d9..0000000000 --- a/docs/reference/gtk/tmpl/gtktexttag.sgml +++ /dev/null @@ -1,498 +0,0 @@ - -GtkTextTag - - -A tag that can be applied to text in a GtkTextBuffer - - - -You may wish to begin by reading the text widget -conceptual overview which gives an overview of all the objects and data -types related to the text widget and how they work together. - - - -Tags should be in the #GtkTextTagTable for a given #GtkTextBuffer -before using them with that buffer. - - - -gtk_text_buffer_create_tag() is the best way to create tags. -See gtk-demo for numerous examples. - - - -The "invisible" property was not implemented for GTK+ 2.0. -It is working (with minor issues) since 2.8. - - - - - - - - - - - - - - - - - - - - - - - - -@texttag: the object which received the signal. -@arg1: -@event: -@arg2: -@Returns: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Describes a type of line wrapping. - - -@GTK_WRAP_NONE: do not wrap lines; just make the text area wider -@GTK_WRAP_CHAR: wrap text, breaking lines anywhere the cursor can - appear (between characters, usually - if you want to - be technical, between graphemes, see - pango_get_log_attrs()) -@GTK_WRAP_WORD: wrap text, breaking lines in between words -@GTK_WRAP_WORD_CHAR: wrap text, breaking lines in between words, or if - that is not enough, also between graphemes. - - - -Using #GtkTextAttributes directly should rarely be necessary. It's -primarily useful with gtk_text_iter_get_attributes(). As with most -GTK+ structs, the fields in this struct should only be read, never -modified directly. - - -@appearance: pointer to sub-struct containing certain attributes -@justification: -@direction: -@font: -@font_scale: -@left_margin: -@indent: -@right_margin: -@pixels_above_lines: -@pixels_below_lines: -@pixels_inside_wrap: -@tabs: -@wrap_mode: -@language: -@invisible: -@bg_full_height: -@editable: - - - - - - -@name: -@Returns: - - - - - - - -@tag: -@Returns: - - - - - - - -@tag: -@priority: - - - - - - - -@tag: -@event_object: -@event: -@iter: -@Returns: - - - - - - - -@bg_color: -@fg_color: -@rise: -@underline: -@strikethrough: -@draw_bg: -@inside_selection: -@is_text: - - - - - - -@void: -@Returns: - - - - - - - -@src: -@Returns: - - - - - - - -@src: -@dest: - - - - - - - -@values: - - - - - - - -@values: -@Returns: - - diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index e62e43e107..78ea40c98d 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -619,7 +619,18 @@ typedef enum GTK_WINDOW_POPUP } GtkWindowType; -/* Text wrap */ +/** + * GtkWrapMode: + * @GTK_WRAP_NONE: do not wrap lines; just make the text area wider + * @GTK_WRAP_CHAR: wrap text, breaking lines anywhere the cursor can + * appear (between characters, usually - if you want to be technical, + * between graphemes, see pango_get_log_attrs()) + * @GTK_WRAP_WORD: wrap text, breaking lines in between words + * @GTK_WRAP_WORD_CHAR: wrap text, breaking lines in between words, or if + * that is not enough, also between graphemes + * + * Describes a type of line wrapping. + */ typedef enum { GTK_WRAP_NONE, diff --git a/gtk/gtktextattributes.h b/gtk/gtktextattributes.h index 5d43676f18..aa7d6f8aa8 100644 --- a/gtk/gtktextattributes.h +++ b/gtk/gtktextattributes.h @@ -67,6 +67,14 @@ typedef struct _GtkTextAttributes GtkTextAttributes; typedef struct _GtkTextAppearance GtkTextAppearance; +/** + * GtkTextAttributes: + * + * Using #GtkTextAttributes directly should rarely be necessary. + * It's primarily useful with gtk_text_iter_get_attributes(). + * As with most GTK+ structs, the fields in this struct should only + * be read, never modified directly. + */ struct _GtkTextAppearance { /*< public >*/ diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index 9d9e788843..bae882638c 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -47,6 +47,22 @@ * */ +/** + * SECTION:GtkTextTag + * @Title: GtkTextTag + * @Short_description: A tag that can be applied to text in a GtkTextBuffer + * + * You may wish to begin by reading the text widget + * conceptual overview which gives an overview of all the objects and + * data types related to the text widget and how they work together. + * + * Tags should be in the #GtkTextTagTable for a given #GtkTextBuffer + * before using them with that buffer. + * + * gtk_text_buffer_create_tag() is the best way to create tags. + * See gtk3-demo for numerous examples. + */ + #include "config.h" #include From 00a3685f416b531b0bf4a21213caf08e647c0970 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 18:39:01 -0500 Subject: [PATCH 1393/1463] Move GtkPrintJob docs inline --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkprintjob.sgml | 186 ----------------------- gtk/gtkprintjob.c | 15 ++ gtk/gtkprintjob.h | 10 ++ 4 files changed, 26 insertions(+), 186 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkprintjob.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 2d8d06735a..9f143317e7 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -45,6 +45,7 @@ gtkpagesetupunixdialog.sgml gtkpaned.sgml gtkpapersize.sgml gtkprinter.sgml +gtkprintjob.sgml gtkprogressbar.sgml gtkradioaction.sgml gtkradiobutton.sgml diff --git a/docs/reference/gtk/tmpl/gtkprintjob.sgml b/docs/reference/gtk/tmpl/gtkprintjob.sgml deleted file mode 100644 index 09d2681327..0000000000 --- a/docs/reference/gtk/tmpl/gtkprintjob.sgml +++ /dev/null @@ -1,186 +0,0 @@ - -GtkPrintJob - - -Represents a print job - - - -A #GtkPrintJob object represents a job that is sent to a -printer. You only need to deal directly with print jobs if -you use the non-portable #GtkPrintUnixDialog API. - - -Use gtk_print_job_get_surface() to obtain the cairo surface -onto which the pages must be drawn. Use gtk_print_job_send() -to send the finished job to the printer. If you don't use cairo -#GtkPrintJob also supports printing of manually generated postscript, -via gtk_print_job_set_source_file(). - - - - - -Printing support was added in GTK+ 2.10. - - - - - - - - - - - - - - - -The GtkPrintJob struct contains only private members -and should not be directly accessed. - - - - - - - - -@printjob: the object which received the signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - -The type of callback that is passed to gtk_print_job_send(). -It is called when the print job has been completely sent. - - -@print_job: the #GtkPrintJob -@user_data: user data that has been passed to gtk_print_job_send() -@error: a #GError that contains error information if the sending - of the print job failed, otherwise %NULL - - - - - - - -@title: -@printer: -@settings: -@page_setup: -@Returns: - - - - - - - -@job: -@Returns: - - - - - - - -@job: -@Returns: - - - - - - - -@job: -@Returns: - - - - - - - -@job: -@Returns: - - - - - - - -@job: -@filename: -@error: -@Returns: - - - - - - - -@job: -@error: -@Returns: - - - - - - - -@job: -@callback: -@user_data: -@dnotify: - - - - - - - -@job: -@track_status: - - - - - - - -@job: -@Returns: - - diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c index d96af1ed48..d37e1221a9 100644 --- a/gtk/gtkprintjob.c +++ b/gtk/gtkprintjob.c @@ -17,6 +17,21 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtkprintjob + * @Title: GtkPrintJob + * @Short_description: Represents a print job + * + * A #GtkPrintJob object represents a job that is sent to a + * printer. You only need to deal directly with print jobs if + * you use the non-portable #GtkPrintUnixDialog API. + * + * Use gtk_print_job_get_surface() to obtain the cairo surface + * onto which the pages must be drawn. Use gtk_print_job_send() + * to send the finished job to the printer. If you don't use cairo + * #GtkPrintJob also supports printing of manually generated postscript, + * via gtk_print_job_set_source_file(). + */ #include "config.h" #include #include diff --git a/gtk/gtkprintjob.h b/gtk/gtkprintjob.h index 89668a5c7e..d09004a63f 100644 --- a/gtk/gtkprintjob.h +++ b/gtk/gtkprintjob.h @@ -42,6 +42,16 @@ typedef struct _GtkPrintJob GtkPrintJob; typedef struct _GtkPrintJobClass GtkPrintJobClass; typedef struct _GtkPrintJobPrivate GtkPrintJobPrivate; +/** + * GtkPrintJobCompleteFunc: + * @print_job: the #GtkPrintJob + * @user_data: user data that has been passed to gtk_print_job_send() + * @error: a #GError that contains error information if the sending + * of the print job failed, otherwise %NULL + * + * The type of callback that is passed to gtk_print_job_send(). + * It is called when the print job has been completely sent. + */ typedef void (*GtkPrintJobCompleteFunc) (GtkPrintJob *print_job, gpointer user_data, const GError *error); From abc8ac1a8bccf1ad187b55e35e81de1f9eae4785 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 19:20:56 -0500 Subject: [PATCH 1394/1463] Move GtkSelection docs inline At the same time, move private selection API to gtkselectionprivate.h --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkselection.sgml | 542 ---------------------- gtk/gtkmain.c | 2 +- gtk/gtkselection.c | 26 ++ gtk/gtkselection.h | 156 +++---- gtk/gtkselectionprivate.h | 37 ++ gtk/gtktextview.c | 1 + gtk/gtkwidget.c | 2 +- 8 files changed, 138 insertions(+), 629 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkselection.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 9f143317e7..dc9c131e6f 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -60,6 +60,7 @@ gtkscale.sgml gtkscalebutton.sgml gtkscrollbar.sgml gtkscrolledwindow.sgml +gtkselection.sgml gtkseparator.sgml gtkseparatormenuitem.sgml gtkseparatortoolitem.sgml diff --git a/docs/reference/gtk/tmpl/gtkselection.sgml b/docs/reference/gtk/tmpl/gtkselection.sgml deleted file mode 100644 index 4d6542d720..0000000000 --- a/docs/reference/gtk/tmpl/gtkselection.sgml +++ /dev/null @@ -1,542 +0,0 @@ - -Selections - - -Functions for handling inter-process communication via selections - - - - -The selection mechanism provides the basis for different types -of communication between processes. In particular, drag and drop and -#GtkClipboard work via selections. You will very seldom or -never need to use most of the functions in this section directly; -#GtkClipboard provides a nicer interface to the same functionality. - - -Some of the datatypes defined this section are used in -the #GtkClipboard and drag-and-drop API's as well. The -#GtkTargetEntry structure and #GtkTargetList objects represent -lists of data types that are supported when sending or -receiving data. The #GtkSelectionData object is used to -store a chunk of data along with the data type and other -associated information. - - - - - - - -#GtkWidget -Much of the operation of selections happens via - signals for #GtkWidget. In particular, if you are - using the functions in this section, you may need - to pay attention to ::selection_get, - ::selection_received, and :selection_clear_event - signals. - - - - - - - - - - - - - - -A #GtkTargetEntry structure represents a single type of -data than can be supplied for by a widget for a selection -or for supplied or received during drag-and-drop. It -contains a string representing the drag type, a flags -field (used only for drag and drop - see #GtkTargetFlags), -and an application assigned integer ID. The integer -ID will later be passed as a signal parameter for signals -like "selection_get". It allows the application to identify -the target type without extensive string compares. - - -@target: -@flags: -@info: - - - -A #GtkTargetList structure is a reference counted list -of #GtkTargetPair. It is used to represent the same -information as a table of #GtkTargetEntry, but in -an efficient form. This structure should be treated as -opaque. - - -@list: -@ref_count: - - - -Internally used structure in the drag-and-drop and -selection handling code. - - -@target: -@flags: -@info: - - - - - - -@target: -@flags: -@info: -@Returns: - - - - - - - -@data: -@Returns: - - - - - - - -@data: - - - - - - -@targets: -@ntargets: -@Returns: - - - - - - -@list: -@Returns: - - - - - - -@list: - - - - - - -@list: -@target: -@flags: -@info: - - - - - - -@list: -@targets: -@ntargets: - - - - - - - -@list: -@info: - - - - - - - -@list: -@info: -@writable: - - - - - - - -@list: -@info: - - - - - - - -@list: -@info: -@deserializable: -@buffer: - - - - - - -@list: -@target: - - - - - - -@list: -@target: -@info: -@Returns: - - - - - - - -@targets: -@n_targets: - - - - - - - -@list: -@n_targets: -@Returns: - - - - - - -@widget: -@selection: -@time_: -@Returns: - - - - - - - -@display: -@widget: -@selection: -@time_: -@Returns: - - - - - - -@widget: -@selection: -@target: -@info: - - - - - - -@widget: -@selection: -@targets: -@ntargets: - - - - - - - -@widget: -@selection: - - - - - - -@widget: -@selection: -@target: -@time_: -@Returns: x - - - - - - -@selection_data: -@type: -@format: -@data: -@length: - - - - - - - -@selection_data: -@str: -@len: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@pixbuf: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@uris: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@targets: -@n_atoms: -@Returns: - - - - - - - -@selection_data: -@writable: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@buffer: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@selection_data: -@Returns: - - - - - - - -@targets: -@n_targets: -@writable: -@Returns: - - - - - - - -@targets: -@n_targets: -@Returns: - - - - - - - -@targets: -@n_targets: -@Returns: - - - - - - - -@targets: -@n_targets: -@buffer: -@Returns: - - - - - - -@widget: - - - - - - -@data: -@Returns: - - - - - - -@data: - - diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index 9a3b0314fa..799db27935 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -122,7 +122,7 @@ #include "gtkmodules.h" #include "gtkrc.h" #include "gtkrecentmanager.h" -#include "gtkselection.h" +#include "gtkselectionprivate.h" #include "gtksettingsprivate.h" #include "gtkwidgetprivate.h" #include "gtkwindowprivate.h" diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 06aa14678a..4063bb2d05 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -51,6 +51,32 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkselection + * @Title: Selections + * @Short_description: Functions for handling inter-process communication + * via selections + * @See_also: #GtkWidget - Much of the operation of selections happens via + * signals for #GtkWidget. In particular, if you are using the functions + * in this section, you may need to pay attention to + * #GtkWidget::selection-get, #GtkWidget::selection-received and + * #GtkWidget::selection-clear-event signals + * + * The selection mechanism provides the basis for different types + * of communication between processes. In particular, drag and drop and + * #GtkClipboard work via selections. You will very seldom or + * never need to use most of the functions in this section directly; + * #GtkClipboard provides a nicer interface to the same functionality. + * + * Some of the datatypes defined this section are used in + * the #GtkClipboard and drag-and-drop API's as well. The + * #GtkTargetEntry structure and #GtkTargetList objects represent + * lists of data types that are supported when sending or + * receiving data. The #GtkSelectionData object is used to + * store a chunk of data along with the data type and other + * associated information. + */ + #include "config.h" #include "gtkselection.h" diff --git a/gtk/gtkselection.h b/gtk/gtkselection.h index 6b409bb8a0..bb3337da35 100644 --- a/gtk/gtkselection.h +++ b/gtk/gtkselection.h @@ -31,19 +31,39 @@ #ifndef __GTK_SELECTION_H__ #define __GTK_SELECTION_H__ - #include #include - G_BEGIN_DECLS -typedef struct _GtkTargetList GtkTargetList; -typedef struct _GtkTargetEntry GtkTargetEntry; +/** + * GtkTargetList: + * + * A #GtkTargetList structure is a reference counted list + * of #GtkTargetPair. It is used to represent the same + * information as a table of #GtkTargetEntry, but in + * an efficient form. This structure should be treated as + * opaque. + */ +typedef struct _GtkTargetList GtkTargetList; +typedef struct _GtkTargetEntry GtkTargetEntry; #define GTK_TYPE_SELECTION_DATA (gtk_selection_data_get_type ()) #define GTK_TYPE_TARGET_LIST (gtk_target_list_get_type ()) +/** + * GtkTargetEntry: + * @target: a string representation of the target type + * @flags: #GtkTargetFlags for DND + * @info: an application-assigned integer ID which will + * get passed as a parater to e.g the #GtkWiget::selection-get + * signal. It allows the application to identify the target + * type without extensive string compares. + * + * A #GtkTargetEntry structure represents a single type of + * data than can be supplied for by a widget for a selection + * or for supplied or received during drag-and-drop. + */ struct _GtkTargetEntry { gchar *target; @@ -51,32 +71,15 @@ struct _GtkTargetEntry guint info; }; -/* These structures not public, and are here only for the convenience of - * gtkdnd.c - */ - -typedef struct _GtkTargetPair GtkTargetPair; - -/* This structure is a list of destinations, and associated guint id's */ -struct _GtkTargetList { - GList *list; - guint ref_count; -}; - -struct _GtkTargetPair { - GdkAtom target; - guint flags; - guint info; -}; - +GType gtk_target_list_get_type (void) G_GNUC_CONST; GtkTargetList *gtk_target_list_new (const GtkTargetEntry *targets, - guint ntargets); + guint ntargets); GtkTargetList *gtk_target_list_ref (GtkTargetList *list); void gtk_target_list_unref (GtkTargetList *list); void gtk_target_list_add (GtkTargetList *list, - GdkAtom target, - guint flags, - guint info); + GdkAtom target, + guint flags, + guint info); void gtk_target_list_add_text_targets (GtkTargetList *list, guint info); void gtk_target_list_add_rich_text_targets (GtkTargetList *list, @@ -89,43 +92,42 @@ void gtk_target_list_add_image_targets (GtkTargetList *list, void gtk_target_list_add_uri_targets (GtkTargetList *list, guint info); void gtk_target_list_add_table (GtkTargetList *list, - const GtkTargetEntry *targets, - guint ntargets); + const GtkTargetEntry *targets, + guint ntargets); void gtk_target_list_remove (GtkTargetList *list, - GdkAtom target); + GdkAtom target); gboolean gtk_target_list_find (GtkTargetList *list, - GdkAtom target, - guint *info); + GdkAtom target, + guint *info); GtkTargetEntry * gtk_target_table_new_from_list (GtkTargetList *list, gint *n_targets); void gtk_target_table_free (GtkTargetEntry *targets, gint n_targets); -/* Public interface */ - gboolean gtk_selection_owner_set (GtkWidget *widget, - GdkAtom selection, - guint32 time_); + GdkAtom selection, + guint32 time_); gboolean gtk_selection_owner_set_for_display (GdkDisplay *display, - GtkWidget *widget, - GdkAtom selection, - guint32 time_); + GtkWidget *widget, + GdkAtom selection, + guint32 time_); void gtk_selection_add_target (GtkWidget *widget, - GdkAtom selection, - GdkAtom target, - guint info); + GdkAtom selection, + GdkAtom target, + guint info); void gtk_selection_add_targets (GtkWidget *widget, - GdkAtom selection, - const GtkTargetEntry *targets, - guint ntargets); + GdkAtom selection, + const GtkTargetEntry *targets, + guint ntargets); void gtk_selection_clear_targets (GtkWidget *widget, - GdkAtom selection); + GdkAtom selection); gboolean gtk_selection_convert (GtkWidget *widget, - GdkAtom selection, - GdkAtom target, - guint32 time_); + GdkAtom selection, + GdkAtom target, + guint32 time_); +void gtk_selection_remove_all (GtkWidget *widget); GdkAtom gtk_selection_data_get_selection (const GtkSelectionData *selection_data); GdkAtom gtk_selection_data_get_target (const GtkSelectionData *selection_data); @@ -140,68 +142,52 @@ const guchar *gtk_selection_data_get_data_with_length GdkDisplay *gtk_selection_data_get_display (const GtkSelectionData *selection_data); void gtk_selection_data_set (GtkSelectionData *selection_data, - GdkAtom type, - gint format, - const guchar *data, - gint length); + GdkAtom type, + gint format, + const guchar *data, + gint length); gboolean gtk_selection_data_set_text (GtkSelectionData *selection_data, - const gchar *str, - gint len); + const gchar *str, + gint len); guchar * gtk_selection_data_get_text (const GtkSelectionData *selection_data); gboolean gtk_selection_data_set_pixbuf (GtkSelectionData *selection_data, - GdkPixbuf *pixbuf); + GdkPixbuf *pixbuf); GdkPixbuf *gtk_selection_data_get_pixbuf (const GtkSelectionData *selection_data); gboolean gtk_selection_data_set_uris (GtkSelectionData *selection_data, - gchar **uris); + gchar **uris); gchar **gtk_selection_data_get_uris (const GtkSelectionData *selection_data); gboolean gtk_selection_data_get_targets (const GtkSelectionData *selection_data, - GdkAtom **targets, - gint *n_atoms); + GdkAtom **targets, + gint *n_atoms); gboolean gtk_selection_data_targets_include_text (const GtkSelectionData *selection_data); gboolean gtk_selection_data_targets_include_rich_text (const GtkSelectionData *selection_data, GtkTextBuffer *buffer); gboolean gtk_selection_data_targets_include_image (const GtkSelectionData *selection_data, - gboolean writable); + gboolean writable); gboolean gtk_selection_data_targets_include_uri (const GtkSelectionData *selection_data); gboolean gtk_targets_include_text (GdkAtom *targets, - gint n_targets); + gint n_targets); gboolean gtk_targets_include_rich_text (GdkAtom *targets, - gint n_targets, + gint n_targets, GtkTextBuffer *buffer); gboolean gtk_targets_include_image (GdkAtom *targets, - gint n_targets, - gboolean writable); + gint n_targets, + gboolean writable); gboolean gtk_targets_include_uri (GdkAtom *targets, - gint n_targets); + gint n_targets); -/* Called when a widget is destroyed */ - -void gtk_selection_remove_all (GtkWidget *widget); - -/* Event handlers */ -gboolean _gtk_selection_clear (GtkWidget *widget, - GdkEventSelection *event); -gboolean _gtk_selection_request (GtkWidget *widget, - GdkEventSelection *event); -gboolean _gtk_selection_incr_event (GdkWindow *window, - GdkEventProperty *event); -gboolean _gtk_selection_notify (GtkWidget *widget, - GdkEventSelection *event); -gboolean _gtk_selection_property_notify (GtkWidget *widget, - GdkEventProperty *event); GType gtk_selection_data_get_type (void) G_GNUC_CONST; GtkSelectionData *gtk_selection_data_copy (const GtkSelectionData *data); -void gtk_selection_data_free (GtkSelectionData *data); +void gtk_selection_data_free (GtkSelectionData *data); GType gtk_target_entry_get_type (void) G_GNUC_CONST; - -GtkTargetEntry *gtk_target_entry_new (const char *target, guint flags, guint info); +GtkTargetEntry *gtk_target_entry_new (const gchar *target, + guint flags, + guint info); GtkTargetEntry *gtk_target_entry_copy (GtkTargetEntry *data); -void gtk_target_entry_free (GtkTargetEntry *data); - -GType gtk_target_list_get_type (void) G_GNUC_CONST; +void gtk_target_entry_free (GtkTargetEntry *data); G_END_DECLS diff --git a/gtk/gtkselectionprivate.h b/gtk/gtkselectionprivate.h index 831753fd33..0b965f508e 100644 --- a/gtk/gtkselectionprivate.h +++ b/gtk/gtkselectionprivate.h @@ -28,6 +28,13 @@ * sent. */ +#ifndef __GTK_SELECTIONPRIVATE_H__ +#define __GTK_SELECTIONPRIVATE_H__ + +#include "gtkselection.h" + +G_BEGIN_DECLS + struct _GtkSelectionData { GdkAtom selection; @@ -38,3 +45,33 @@ struct _GtkSelectionData gint length; GdkDisplay *display; }; + +struct _GtkTargetList +{ + GList *list; + guint ref_count; + }; + +typedef struct _GtkTargetPair GtkTargetPair; +struct _GtkTargetPair +{ + GdkAtom target; + guint flags; + guint info; +}; + + +gboolean _gtk_selection_clear (GtkWidget *widget, + GdkEventSelection *event); +gboolean _gtk_selection_request (GtkWidget *widget, + GdkEventSelection *event); +gboolean _gtk_selection_incr_event (GdkWindow *window, + GdkEventProperty *event); +gboolean _gtk_selection_notify (GtkWidget *widget, + GdkEventSelection *event); +gboolean _gtk_selection_property_notify (GtkWidget *widget, + GdkEventProperty *event); + +G_END_DECLS + +#endif /* __GTK_SELECTIONPRIVATE_H__ */ diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 5bbd28c3a2..f06250c406 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -40,6 +40,7 @@ #include "gtkmenuitem.h" #include "gtkseparatormenuitem.h" #include "gtksettings.h" +#include "gtkselectionprivate.h" #include "gtkstock.h" #include "gtktextbufferrichtext.h" #include "gtktextdisplay.h" diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 45b548a054..7be064828a 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -42,7 +42,7 @@ #include "gtkmainprivate.h" #include "gtkmarshalers.h" #include "gtkrc.h" -#include "gtkselection.h" +#include "gtkselectionprivate.h" #include "gtksettingsprivate.h" #include "gtksizegroup-private.h" #include "gtkwidget.h" From d8d31c60cab5af8a8749767f49ce8dfde5f037f9 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 19:35:34 -0500 Subject: [PATCH 1395/1463] Drop never-updated revision attributes --- docs/reference/gtk/building.sgml | 2 +- docs/reference/gtk/compiling.sgml | 2 +- docs/reference/gtk/other_software.sgml | 2 +- docs/reference/gtk/resources.sgml | 2 +- docs/reference/gtk/text_widget.sgml | 2 +- docs/reference/gtk/tree_widget.sgml | 2 +- docs/reference/gtk/windows.sgml | 2 +- docs/reference/gtk/x11.sgml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/reference/gtk/building.sgml b/docs/reference/gtk/building.sgml index 767ebacd68..ac9e3483f0 100644 --- a/docs/reference/gtk/building.sgml +++ b/docs/reference/gtk/building.sgml @@ -2,7 +2,7 @@ - + Compiling the GTK+ libraries 3 diff --git a/docs/reference/gtk/compiling.sgml b/docs/reference/gtk/compiling.sgml index 146376545a..7382f5c4cd 100644 --- a/docs/reference/gtk/compiling.sgml +++ b/docs/reference/gtk/compiling.sgml @@ -2,7 +2,7 @@ - + Compiling GTK+ Applications 3 diff --git a/docs/reference/gtk/other_software.sgml b/docs/reference/gtk/other_software.sgml index 052f6c6e27..4b413a2b45 100644 --- a/docs/reference/gtk/other_software.sgml +++ b/docs/reference/gtk/other_software.sgml @@ -2,7 +2,7 @@ - + Mixing GTK+ with other software 3 diff --git a/docs/reference/gtk/resources.sgml b/docs/reference/gtk/resources.sgml index c051f6cce1..4abcac5dcf 100644 --- a/docs/reference/gtk/resources.sgml +++ b/docs/reference/gtk/resources.sgml @@ -2,7 +2,7 @@ - + Mailing lists and bug reports 3 diff --git a/docs/reference/gtk/text_widget.sgml b/docs/reference/gtk/text_widget.sgml index f425a8b702..aaf04e36a8 100644 --- a/docs/reference/gtk/text_widget.sgml +++ b/docs/reference/gtk/text_widget.sgml @@ -2,7 +2,7 @@ - + Text Widget Overview 3 diff --git a/docs/reference/gtk/tree_widget.sgml b/docs/reference/gtk/tree_widget.sgml index bdd707d2a0..8a3f096b07 100644 --- a/docs/reference/gtk/tree_widget.sgml +++ b/docs/reference/gtk/tree_widget.sgml @@ -2,7 +2,7 @@ - + Tree and List Widget Overview 3 diff --git a/docs/reference/gtk/windows.sgml b/docs/reference/gtk/windows.sgml index f5918a18a4..7b3402e6e2 100644 --- a/docs/reference/gtk/windows.sgml +++ b/docs/reference/gtk/windows.sgml @@ -2,7 +2,7 @@ - + Using GTK+ on Windows 3 diff --git a/docs/reference/gtk/x11.sgml b/docs/reference/gtk/x11.sgml index e75bd2774b..0fede1b7fe 100644 --- a/docs/reference/gtk/x11.sgml +++ b/docs/reference/gtk/x11.sgml @@ -2,7 +2,7 @@ - + Using GTK+ on the X Window System 3 From 1cba79677cb8e9023a2a25568f6447bdc55747dc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 20:01:05 -0500 Subject: [PATCH 1396/1463] Add --enable-gtk2-dependency option This can be used to suppress building of gtk-update-icon-cache in favor of using a preexisting version. Based on a patch by Colin Walters, https://bugzilla.gnome.org/show_bug.cgi?id=639471 --- configure.ac | 11 ++++++++++- docs/reference/gtk/building.sgml | 18 ++++++++++++++++++ gtk/Makefile.am | 14 +++++++++----- 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index f81468f811..d6bfe474de 100644 --- a/configure.ac +++ b/configure.ac @@ -242,6 +242,13 @@ AC_ARG_ENABLE(rebuilds, [disable all source autogeneration rules])],, [enable_rebuilds=yes]) +AC_ARG_ENABLE(gtk2-dependency, + AC_HELP_STRING([--enable-gtk2-dependency], + [Do not build gtk-update-icon-cache and other shared tools]),, + [enable_gtk2_dependency=no]) + +AM_CONDITIONAL(BUILD_ICON_CACHE, [test "x$enable_gtk2_dependency" = xno]) + AC_ARG_ENABLE(xkb, [AC_HELP_STRING([--enable-xkb], [support XKB extension [default=maybe]])],, @@ -875,13 +882,15 @@ dnl Look for a host system's gdk-pixbuf-csource if we are cross-compiling AM_CONDITIONAL(CROSS_COMPILING, test $cross_compiling = yes) -if test $cross_compiling = yes; then +if test "x$cross_compiling" = xyes || test "x$enable_gtk2_dependency" = xyes; then AC_PATH_PROG(GTK_UPDATE_ICON_CACHE, gtk-update-icon-cache, no) if test x$GTK_UPDATE_ICON_CACHE = xno; then REBUILD_PNGS=# fi fi +AM_CONDITIONAL(USE_EXTERNAL_ICON_CACHE, [test "x$cross_compiling" = xyes || test "x$enable_gtk2_dependency" = xyes]) + AC_PATH_PROG(GDK_PIXBUF_CSOURCE, gdk-pixbuf-csource, no) if test ! -f $srcdir/gtk/gtkbuiltincache.h && diff --git a/docs/reference/gtk/building.sgml b/docs/reference/gtk/building.sgml index ac9e3483f0..70802e53c9 100644 --- a/docs/reference/gtk/building.sgml +++ b/docs/reference/gtk/building.sgml @@ -363,6 +363,10 @@ How to compile GTK+ itself --enable-introspection=[no/auto/yes] + + --enable-gtk2-dependency + --disable-gtk2-dependency + @@ -559,6 +563,7 @@ How to compile GTK+ itself supported backends are the quartz backend for OS X. + <systemitem>--enable-introspection</systemitem> @@ -567,6 +572,19 @@ How to compile GTK+ itself The default is 'auto'. + + + <systemitem>--enable-gtk2-dependency</systemitem> or + <systemitem>--disable-gtk2-dependency</systemitem> + + + Whether to rely on an exiting gtk-update-icon-cache utility + instead of building our own. Distributions which are shipping + both GTK+ 2.x and GTK+ 3 may want to use this option to + avoid file conflicts between these packages. + The default is to build gtk-update-icon-cache. + + diff --git a/gtk/Makefile.am b/gtk/Makefile.am index db679bb7f2..00739174cf 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -1000,8 +1000,11 @@ endif # Installed tools # bin_PROGRAMS = \ - gtk-query-immodules-3.0 \ - gtk-update-icon-cache + gtk-query-immodules-3.0 + +if BUILD_ICON_CACHE +bin_PROGRAMS += gtk-update-icon-cache +endif bin_SCRIPTS = gtk-builder-convert @@ -1042,8 +1045,10 @@ gtk_query_immodules_3_0_DEPENDENCIES = $(DEPS) gtk_query_immodules_3_0_LDADD = $(LDADDS) gtk_query_immodules_3_0_SOURCES = queryimmodules.c +if BUILD_ICON_CACHE gtk_update_icon_cache_LDADD = $(GDK_PIXBUF_LIBS) gtk_update_icon_cache_SOURCES = updateiconcache.c +endif .PHONY: files test test-debug @@ -1336,11 +1341,10 @@ stamp-icons: $(STOCK_ICONS) ) done \ && touch stamp-icons -if CROSS_COMPILING +if USE_EXTERNAL_ICON_CACHE gtk_update_icon_cache_program = $(GTK_UPDATE_ICON_CACHE) else -gtk_update_icon_cache_program = \ - ./gtk-update-icon-cache +gtk_update_icon_cache_program = ./gtk-update-icon-cache endif gtkbuiltincache.h: @REBUILD@ stamp-icons From 8f6a8441a24b40003b8ec4128931fb2601bc0d30 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 20:24:26 -0500 Subject: [PATCH 1397/1463] Implement the editing-canceled property in GtkCellEditableEventBox https://bugzilla.gnome.org/show_bug.cgi?id=639455 --- gtk/gtkcellrendereraccel.c | 224 +++++++++++++++++++++++-------------- 1 file changed, 140 insertions(+), 84 deletions(-) diff --git a/gtk/gtkcellrendereraccel.c b/gtk/gtkcellrendereraccel.c index cbd4b3573c..04d5d6de08 100644 --- a/gtk/gtkcellrendereraccel.c +++ b/gtk/gtkcellrendereraccel.c @@ -167,14 +167,14 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class) * Since: 2.10 */ g_object_class_install_property (object_class, - PROP_KEYCODE, - g_param_spec_uint ("keycode", - P_("Accelerator keycode"), - P_("The hardware keycode of the accelerator"), - 0, - G_MAXINT, - 0, - GTK_PARAM_READWRITE)); + PROP_KEYCODE, + g_param_spec_uint ("keycode", + P_("Accelerator keycode"), + P_("The hardware keycode of the accelerator"), + 0, + G_MAXINT, + 0, + GTK_PARAM_READWRITE)); /** * GtkCellRendererAccel:accel-mode: @@ -189,11 +189,11 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class) g_object_class_install_property (object_class, PROP_ACCEL_MODE, g_param_spec_enum ("accel-mode", - P_("Accelerator Mode"), - P_("The type of accelerators"), - GTK_TYPE_CELL_RENDERER_ACCEL_MODE, - GTK_CELL_RENDERER_ACCEL_MODE_GTK, - GTK_PARAM_READWRITE)); + P_("Accelerator Mode"), + P_("The type of accelerators"), + GTK_TYPE_CELL_RENDERER_ACCEL_MODE, + GTK_CELL_RENDERER_ACCEL_MODE_GTK, + GTK_PARAM_READWRITE)); /** * GtkCellRendererAccel::accel-edited: @@ -208,16 +208,16 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class) * Since: 2.10 */ signals[ACCEL_EDITED] = g_signal_new (I_("accel-edited"), - GTK_TYPE_CELL_RENDERER_ACCEL, - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkCellRendererAccelClass, accel_edited), - NULL, NULL, - _gtk_marshal_VOID__STRING_UINT_FLAGS_UINT, - G_TYPE_NONE, 4, - G_TYPE_STRING, - G_TYPE_UINT, - GDK_TYPE_MODIFIER_TYPE, - G_TYPE_UINT); + GTK_TYPE_CELL_RENDERER_ACCEL, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkCellRendererAccelClass, accel_edited), + NULL, NULL, + _gtk_marshal_VOID__STRING_UINT_FLAGS_UINT, + G_TYPE_NONE, 4, + G_TYPE_STRING, + G_TYPE_UINT, + GDK_TYPE_MODIFIER_TYPE, + G_TYPE_UINT); /** * GtkCellRendererAccel::accel-cleared: @@ -229,13 +229,13 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class) * Since: 2.10 */ signals[ACCEL_CLEARED] = g_signal_new (I_("accel-cleared"), - GTK_TYPE_CELL_RENDERER_ACCEL, - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET (GtkCellRendererAccelClass, accel_cleared), - NULL, NULL, - g_cclosure_marshal_VOID__STRING, - G_TYPE_NONE, 1, - G_TYPE_STRING); + GTK_TYPE_CELL_RENDERER_ACCEL, + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (GtkCellRendererAccelClass, accel_cleared), + NULL, NULL, + g_cclosure_marshal_VOID__STRING, + G_TYPE_NONE, 1, + G_TYPE_STRING); g_type_class_add_private (cell_accel_class, sizeof (GtkCellRendererAccelPrivate)); } @@ -258,9 +258,9 @@ gtk_cell_renderer_accel_new (void) static gchar * convert_keysym_state_to_string (GtkCellRendererAccel *accel, - guint keysym, + guint keysym, GdkModifierType mask, - guint keycode) + guint keycode) { GtkCellRendererAccelPrivate *priv = accel->priv; @@ -283,24 +283,24 @@ convert_keysym_state_to_string (GtkCellRendererAccel *accel, return gtk_accelerator_get_label (keysym, mask); } else - { - gchar *name; + { + gchar *name; - name = gtk_accelerator_get_label (keysym, mask); - if (name == NULL) - name = gtk_accelerator_name (keysym, mask); + name = gtk_accelerator_get_label (keysym, mask); + if (name == NULL) + name = gtk_accelerator_name (keysym, mask); - if (keysym == 0) - { - gchar *tmp; + if (keysym == 0) + { + gchar *tmp; - tmp = name; - name = g_strdup_printf ("%s0x%02x", tmp, keycode); - g_free (tmp); - } + tmp = name; + name = g_strdup_printf ("%s0x%02x", tmp, keycode); + g_free (tmp); + } - return name; - } + return name; + } } } @@ -349,36 +349,36 @@ gtk_cell_renderer_accel_set_property (GObject *object, { case PROP_ACCEL_KEY: { - guint accel_key = g_value_get_uint (value); + guint accel_key = g_value_get_uint (value); - if (priv->accel_key != accel_key) - { - priv->accel_key = accel_key; - changed = TRUE; - } + if (priv->accel_key != accel_key) + { + priv->accel_key = accel_key; + changed = TRUE; + } } break; case PROP_ACCEL_MODS: { - guint accel_mods = g_value_get_flags (value); + guint accel_mods = g_value_get_flags (value); - if (priv->accel_mods != accel_mods) - { - priv->accel_mods = accel_mods; - changed = TRUE; - } + if (priv->accel_mods != accel_mods) + { + priv->accel_mods = accel_mods; + changed = TRUE; + } } break; case PROP_KEYCODE: { - guint keycode = g_value_get_uint (value); + guint keycode = g_value_get_uint (value); - if (priv->keycode != keycode) - { - priv->keycode = keycode; - changed = TRUE; - } + if (priv->keycode != keycode) + { + priv->keycode = keycode; + changed = TRUE; + } } break; @@ -451,10 +451,10 @@ grab_key_callback (GtkWidget *widget, cleared = FALSE; gdk_keymap_translate_keyboard_state (gdk_keymap_get_for_display (display), - event->hardware_keycode, + event->hardware_keycode, event->state, event->group, - NULL, NULL, NULL, &consumed_modifiers); + NULL, NULL, NULL, &consumed_modifiers); accel_key = gdk_keyval_to_lower (event->keyval); if (accel_key == GDK_KEY_ISO_Left_Tab) @@ -475,26 +475,26 @@ grab_key_callback (GtkWidget *widget, if (accel_mods == 0) { switch (event->keyval) - { - case GDK_KEY_Escape: - goto out; /* cancel */ - case GDK_KEY_BackSpace: - /* clear the accelerator on Backspace */ - cleared = TRUE; - goto out; - default: - break; - } + { + case GDK_KEY_Escape: + goto out; /* cancel */ + case GDK_KEY_BackSpace: + /* clear the accelerator on Backspace */ + cleared = TRUE; + goto out; + default: + break; + } } if (priv->accel_mode == GTK_CELL_RENDERER_ACCEL_MODE_GTK) { if (!gtk_accelerator_valid (accel_key, accel_mods)) - { - gtk_widget_error_bell (widget); + { + gtk_widget_error_bell (widget); - return TRUE; - } + return TRUE; + } } edited = TRUE; @@ -515,7 +515,7 @@ grab_key_callback (GtkWidget *widget, if (edited) g_signal_emit (accel, signals[ACCEL_EDITED], 0, path, - accel_key, accel_mods, event->hardware_keycode); + accel_key, accel_mods, event->hardware_keycode); else if (cleared) g_signal_emit (accel, signals[ACCEL_CLEARED], 0, path); @@ -544,7 +544,7 @@ ungrab_stuff (GtkWidget *widget, static void _gtk_cell_editable_event_box_start_editing (GtkCellEditable *cell_editable, - GdkEvent *event) + GdkEvent *event) { /* do nothing, because we are pointless */ } @@ -555,17 +555,73 @@ _gtk_cell_editable_event_box_cell_editable_init (GtkCellEditableIface *iface) iface->start_editing = _gtk_cell_editable_event_box_start_editing; } -typedef GtkEventBox GtkCellEditableEventBox; -typedef GtkEventBoxClass GtkCellEditableEventBoxClass; +typedef struct _GtkCellEditableEventBox GtkCellEditableEventBox; +typedef GtkEventBoxClass GtkCellEditableEventBoxClass; + +struct _GtkCellEditableEventBox +{ + GtkEventBox box; + gboolean editing_canceled; +}; G_DEFINE_TYPE_WITH_CODE (GtkCellEditableEventBox, _gtk_cell_editable_event_box, GTK_TYPE_EVENT_BOX, { \ G_IMPLEMENT_INTERFACE (GTK_TYPE_CELL_EDITABLE, _gtk_cell_editable_event_box_cell_editable_init) \ }) +enum { + PROP_ZERO, + PROP_EDITING_CANCELED +}; + +static void +gtk_cell_editable_event_box_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + GtkCellEditableEventBox *box = (GtkCellEditableEventBox*)object; + + switch (prop_id) + { + case PROP_EDITING_CANCELED: + box->editing_canceled = g_value_get_boolean (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +gtk_cell_editable_event_box_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + GtkCellEditableEventBox *box = (GtkCellEditableEventBox*)object; + + switch (prop_id) + { + case PROP_EDITING_CANCELED: + g_value_set_boolean (value, box->editing_canceled); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} static void _gtk_cell_editable_event_box_class_init (GtkCellEditableEventBoxClass *class) { + GObjectClass *gobject_class = G_OBJECT_CLASS (class); + + gobject_class->set_property = gtk_cell_editable_event_box_set_property; + gobject_class->get_property = gtk_cell_editable_event_box_get_property; + + g_object_class_override_property (gobject_class, + PROP_EDITING_CANCELED, + "editing-canceled"); } static void From d790fd4fdd3ea36c9ec38f6dd9b648487b9bfac7 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 20:45:53 -0500 Subject: [PATCH 1398/1463] Update information about visuals Based on a patch by Jasper St. Pierre, https://bugzilla.gnome.org/show_bug.cgi?id=639520 --- docs/reference/gtk/question_index.sgml | 27 +++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/docs/reference/gtk/question_index.sgml b/docs/reference/gtk/question_index.sgml index 9da5c000e6..b633a48f4d 100644 --- a/docs/reference/gtk/question_index.sgml +++ b/docs/reference/gtk/question_index.sgml @@ -547,23 +547,24 @@ How do I create a transparent toplevel window ? To make a window transparent, it needs to use a visual which supports that. -This is done by getting the RGBA colormap of the screen with -gdk_screen_get_rgba_colormap() and setting it on the window. Note that -gdk_screen_get_rgba_colormap() will return %NULL if transparent windows -are not supported on the screen; also note that this may change from -screen to screen, so it needs to be repeated whenever the window is moved -to a different screen. +This is done by getting the RGBA visual of the screen with +gdk_screen_get_rgba_visual() and setting it on the window. Note that +gdk_screen_get_rgba_visual() will return %NULL if transparent windows +are not supported on the screen, you should fall back to +gdk_screen_get_system_visual() in that case. Additionally, note that this +will change from screen to screen, so it needs to be repeated whenever the +window is moved to a different screen. -GdkColormap *colormap; +GdkVisual *visual; -colormap = gdk_screen_get_rgba_colormap (screen); -if (!colormap) - colormap = gdk_screen_get_rgb_colormap (screen); +visual = gdk_screen_get_rgba_visual (screen); +if (visual == NULL) + visual = gdk_screen_get_system_visual (screen); -gtk_widget_set_colormap (widget, colormap); +gtk_widget_set_visual (GTK_WIDGET (window), visual); -One possibility to fill the alpha channel on the window is to use -gdk_draw_rgb_32_image(). +To fill the alpha channel on the window simply use cairos +RGBA drawing capabilities. Note that the presence of an RGBA visual is no guarantee that the From 867dc0bd0d349f4e73fab6fc8bfb141e61e4139c Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 21:15:06 -0500 Subject: [PATCH 1399/1463] Avoid a critical warning during tab DND https://bugzilla.gnome.org/show_bug.cgi?id=639380 --- gtk/gtkstylecontext.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 12399915f2..8e01b9c0b4 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -4095,7 +4095,7 @@ gtk_render_frame_gap (GtkStyleContext *context, g_return_if_fail (cr != NULL); g_return_if_fail (width > 0); g_return_if_fail (height > 0); - g_return_if_fail (xy0_gap < xy1_gap); + g_return_if_fail (xy0_gap <= xy1_gap); g_return_if_fail (xy0_gap >= 0); if (gap_side == GTK_POS_LEFT || From 8e420bca02f5bdc88a43b3e23c4e9fb017f38164 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 14 Jan 2011 23:51:41 -0500 Subject: [PATCH 1400/1463] Unify handling of prelighted icons Make GtkEntry use gtk_render_icon_pixbuf for rendering the icons, and move the working icon prelighting code from GtkEntry to GtkThemingEngine. https://bugzilla.gnome.org/show_bug.cgi?id=636691 --- gtk/gtkentry.c | 89 +++++++++--------------------------------- gtk/gtkthemingengine.c | 52 +++++++++++++++++++++++- 2 files changed, 69 insertions(+), 72 deletions(-) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index e7bd3d932b..bb207310f1 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3242,55 +3242,6 @@ gtk_entry_size_allocate (GtkWidget *widget, } } -/* Kudos to the gnome-panel guys. */ -static void -colorshift_pixbuf (GdkPixbuf *dest, - GdkPixbuf *src, - gint shift) -{ - gint i, j; - gint width, height, has_alpha, src_rowstride, dest_rowstride; - guchar *target_pixels; - guchar *original_pixels; - guchar *pix_src; - guchar *pix_dest; - int val; - guchar r, g, b; - - has_alpha = gdk_pixbuf_get_has_alpha (src); - width = gdk_pixbuf_get_width (src); - height = gdk_pixbuf_get_height (src); - src_rowstride = gdk_pixbuf_get_rowstride (src); - dest_rowstride = gdk_pixbuf_get_rowstride (dest); - original_pixels = gdk_pixbuf_get_pixels (src); - target_pixels = gdk_pixbuf_get_pixels (dest); - - for (i = 0; i < height; i++) - { - pix_dest = target_pixels + i * dest_rowstride; - pix_src = original_pixels + i * src_rowstride; - - for (j = 0; j < width; j++) - { - r = *(pix_src++); - g = *(pix_src++); - b = *(pix_src++); - - val = r + shift; - *(pix_dest++) = CLAMP (val, 0, 255); - - val = g + shift; - *(pix_dest++) = CLAMP (val, 0, 255); - - val = b + shift; - *(pix_dest++) = CLAMP (val, 0, 255); - - if (has_alpha) - *(pix_dest++) = *(pix_src++); - } - } -} - static gboolean should_prelight (GtkEntry *entry, GtkEntryIconPosition icon_pos) @@ -3299,7 +3250,7 @@ should_prelight (GtkEntry *entry, EntryIconInfo *icon_info = priv->icons[icon_pos]; gboolean prelight; - if (!icon_info) + if (!icon_info) return FALSE; if (icon_info->nonactivatable && icon_info->target_list == NULL) @@ -3325,6 +3276,9 @@ draw_icon (GtkWidget *widget, EntryIconInfo *icon_info = priv->icons[icon_pos]; GdkPixbuf *pixbuf; gint x, y, width, height; + GtkStyleContext *context; + GtkIconSource *icon_source; + GtkStateFlags state; if (!icon_info) return; @@ -3360,28 +3314,23 @@ draw_icon (GtkWidget *widget, x = (width - gdk_pixbuf_get_width (pixbuf)) / 2; y = (height - gdk_pixbuf_get_height (pixbuf)) / 2; - if (!gtk_widget_is_sensitive (widget) || - icon_info->insensitive) - { - GdkPixbuf *temp_pixbuf; + icon_source = gtk_icon_source_new (); + gtk_icon_source_set_pixbuf (icon_source, pixbuf); + gtk_icon_source_set_state_wildcarded (icon_source, TRUE); - temp_pixbuf = gdk_pixbuf_copy (pixbuf); - gdk_pixbuf_saturate_and_pixelate (pixbuf, - temp_pixbuf, - 0.8f, - TRUE); - g_object_unref (pixbuf); - pixbuf = temp_pixbuf; - } + state = 0; + if (!gtk_widget_is_sensitive (widget) || icon_info->insensitive) + state |= GTK_STATE_FLAG_INSENSITIVE; else if (icon_info->prelight) - { - GdkPixbuf *temp_pixbuf; + state |= GTK_STATE_FLAG_PRELIGHT; - temp_pixbuf = gdk_pixbuf_copy (pixbuf); - colorshift_pixbuf (temp_pixbuf, pixbuf, 30); - g_object_unref (pixbuf); - pixbuf = temp_pixbuf; - } + context = gtk_widget_get_style_context (widget); + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + pixbuf = gtk_render_icon_pixbuf (context, icon_source, (GtkIconSize)-1); + gtk_style_context_restore (context); + + gtk_icon_source_free (icon_source); gdk_cairo_set_source_pixbuf (cr, pixbuf, x, y); cairo_paint (cr); @@ -6671,7 +6620,7 @@ gtk_entry_ensure_pixbuf (GtkEntry *entry, { icon_theme = gtk_icon_theme_get_for_screen (screen); settings = gtk_settings_get_for_screen (screen); - + gtk_icon_size_lookup_for_settings (settings, GTK_ICON_SIZE_MENU, &width, &height); diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index 47bb3537a6..e2e78e4a92 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -3017,6 +3017,55 @@ lookup_icon_size (GtkThemingEngine *engine, return gtk_icon_size_lookup_for_settings (settings, size, width, height); } +/* Kudos to the gnome-panel guys. */ +static void +colorshift_pixbuf (GdkPixbuf *src, + GdkPixbuf *dest, + gint shift) +{ + gint i, j; + gint width, height, has_alpha, src_rowstride, dest_rowstride; + guchar *target_pixels; + guchar *original_pixels; + guchar *pix_src; + guchar *pix_dest; + int val; + guchar r, g, b; + + has_alpha = gdk_pixbuf_get_has_alpha (src); + width = gdk_pixbuf_get_width (src); + height = gdk_pixbuf_get_height (src); + src_rowstride = gdk_pixbuf_get_rowstride (src); + dest_rowstride = gdk_pixbuf_get_rowstride (dest); + original_pixels = gdk_pixbuf_get_pixels (src); + target_pixels = gdk_pixbuf_get_pixels (dest); + + for (i = 0; i < height; i++) + { + pix_dest = target_pixels + i * dest_rowstride; + pix_src = original_pixels + i * src_rowstride; + + for (j = 0; j < width; j++) + { + r = *(pix_src++); + g = *(pix_src++); + b = *(pix_src++); + + val = r + shift; + *(pix_dest++) = CLAMP (val, 0, 255); + + val = g + shift; + *(pix_dest++) = CLAMP (val, 0, 255); + + val = b + shift; + *(pix_dest++) = CLAMP (val, 0, 255); + + if (has_alpha) + *(pix_dest++) = *(pix_src++); + } + } +} + static GdkPixbuf * gtk_theming_engine_render_icon_pixbuf (GtkThemingEngine *engine, const GtkIconSource *source, @@ -3063,8 +3112,7 @@ gtk_theming_engine_render_icon_pixbuf (GtkThemingEngine *engine, else if (state & GTK_STATE_FLAG_PRELIGHT) { stated = gdk_pixbuf_copy (scaled); - gdk_pixbuf_saturate_and_pixelate (scaled, stated, - 1.2, FALSE); + colorshift_pixbuf (scaled, stated, 30); g_object_unref (scaled); } else From ccc3d874ef34593088b6bcf33a38580d64153063 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 15 Jan 2011 00:08:39 -0500 Subject: [PATCH 1401/1463] Add accessors for GtkRange::round-digits Patch by Christian Dywan, https://bugzilla.gnome.org/show_bug.cgi?id=351755 --- docs/reference/gtk/gtk3-sections.txt | 4 +- gtk/gtk.symbols | 2 + gtk/gtkrange.c | 77 ++++++++++++++++++++++++---- gtk/gtkrange.h | 7 +-- gtk/gtkscale.c | 8 +-- 5 files changed, 81 insertions(+), 17 deletions(-) diff --git a/docs/reference/gtk/gtk3-sections.txt b/docs/reference/gtk/gtk3-sections.txt index dfba4d3564..8134a01b86 100644 --- a/docs/reference/gtk/gtk3-sections.txt +++ b/docs/reference/gtk/gtk3-sections.txt @@ -2482,9 +2482,11 @@ gtk_range_set_adjustment gtk_range_get_inverted gtk_range_set_inverted gtk_range_get_value +gtk_range_set_value gtk_range_set_increments gtk_range_set_range -gtk_range_set_value +gtk_range_get_round_digits +gtk_range_set_round_digits GtkSensitivityType gtk_range_set_lower_stepper_sensitivity gtk_range_get_lower_stepper_sensitivity diff --git a/gtk/gtk.symbols b/gtk/gtk.symbols index a8aa36e4d7..8aefc9b34f 100644 --- a/gtk/gtk.symbols +++ b/gtk/gtk.symbols @@ -2050,6 +2050,7 @@ gtk_range_get_lower_stepper_sensitivity gtk_range_get_min_slider_size gtk_range_get_range_rect gtk_range_get_restrict_to_fill_level +gtk_range_get_round_digits gtk_range_get_show_fill_level gtk_range_get_slider_range gtk_range_get_slider_size_fixed @@ -2065,6 +2066,7 @@ gtk_range_set_lower_stepper_sensitivity gtk_range_set_min_slider_size gtk_range_set_range gtk_range_set_restrict_to_fill_level +gtk_range_set_round_digits gtk_range_set_show_fill_level gtk_range_set_slider_size_fixed gtk_range_set_upper_stepper_sensitivity diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 4c8d4289df..2ad0357653 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -151,7 +151,8 @@ enum { PROP_UPPER_STEPPER_SENSITIVITY, PROP_SHOW_FILL_LEVEL, PROP_RESTRICT_TO_FILL_LEVEL, - PROP_FILL_LEVEL + PROP_FILL_LEVEL, + PROP_ROUND_DIGITS }; enum { @@ -376,7 +377,7 @@ gtk_range_class_init (GtkRangeClass *class) * @returns: %TRUE to prevent other handlers from being invoked for the * signal, %FALSE to propagate the signal further * - * The ::change-value signal is emitted when a scroll action is + * The #GtkRange::change-value signal is emitted when a scroll action is * performed on a range. It allows an application to determine the * type of scroll event that occurred and the resultant new value. * The application can handle the event itself and return %TRUE to @@ -385,12 +386,12 @@ gtk_range_class_init (GtkRangeClass *class) * reached. * * The value parameter is unrounded. An application that overrides - * the ::change-value signal is responsible for clamping the value to - * the desired number of decimal digits; the default GTK+ handler - * clamps the value based on @range->round_digits. + * the GtkRange::change-value signal is responsible for clamping the + * value to the desired number of decimal digits; the default GTK+ + * handler clamps the value based on #GtkRange:round-digits. * * It is not possible to use delayed update policies in an overridden - * ::change-value handler. + * #GtkRange::change-value handler. * * Since: 2.6 */ @@ -495,6 +496,24 @@ gtk_range_class_init (GtkRangeClass *class) G_MAXDOUBLE, GTK_PARAM_READWRITE)); + /** + * GtkRange:round-digits: + * + * The number of digits to round the value to when + * it changes, or -1. See #GtkRange::change-value. + * + * Since: 2.24 + */ + g_object_class_install_property (gobject_class, + PROP_ROUND_DIGITS, + g_param_spec_int ("round-digits", + P_("Round Digits"), + P_("The number of widgets to round the value to."), + -1, + G_MAXINT, + -1, + GTK_PARAM_READWRITE)); + gtk_widget_class_install_style_property (widget_class, g_param_spec_int ("slider-width", P_("Slider Width"), @@ -629,6 +648,9 @@ gtk_range_set_property (GObject *object, case PROP_FILL_LEVEL: gtk_range_set_fill_level (range, g_value_get_double (value)); break; + case PROP_ROUND_DIGITS: + gtk_range_set_round_digits (range, g_value_get_int (value)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -670,6 +692,9 @@ gtk_range_get_property (GObject *object, case PROP_FILL_LEVEL: g_value_set_double (value, gtk_range_get_fill_level (range)); break; + case PROP_ROUND_DIGITS: + g_value_set_int (value, gtk_range_get_round_digits (range)); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -2895,7 +2920,7 @@ gtk_range_adjustment_value_changed (GtkAdjustment *adjustment, 181, force_repaint, range, NULL); } - + /* Note that we don't round off to priv->round_digits here. * that's because it's really broken to change a value * in response to a change signal on that value; round_digits @@ -4055,11 +4080,45 @@ _gtk_range_get_stop_positions (GtkRange *range, return priv->n_marks; } +/** + * gtk_range_set_round_digits: + * @range: a #GtkRange + * @round_digits: the precision in digits, or -1 + * + * Sets the number of digits to round the value to when + * it changes. See #GtkRange::change-value. + * + * Since: 2.24 + */ void -_gtk_range_set_round_digits (GtkRange *range, - gint round_digits) +gtk_range_set_round_digits (GtkRange *range, + gint round_digits) { + g_return_if_fail (GTK_IS_RANGE (range)); + g_return_if_fail (round_digits >= -1); + range->priv->round_digits = round_digits; + + g_object_notify (G_OBJECT (range), "round-digits"); +} + +/** + * gtk_range_get_round_digits: + * @range: a #GtkRange + * + * Gets the number of digits to round the value to when + * it changes. See #GtkRange::change-value. + * + * Return value: the number of digits to round to + * + * Since: 2.24 + */ +gint +gtk_range_get_round_digits (GtkRange *range) +{ + g_return_val_if_fail (GTK_IS_RANGE (range), -1); + + return range->priv->round_digits; } void diff --git a/gtk/gtkrange.h b/gtk/gtkrange.h index 92ac96fa16..7c01ab21d7 100644 --- a/gtk/gtkrange.h +++ b/gtk/gtkrange.h @@ -143,6 +143,9 @@ gboolean gtk_range_get_restrict_to_fill_level (GtkRange *range void gtk_range_set_fill_level (GtkRange *range, gdouble fill_level); gdouble gtk_range_get_fill_level (GtkRange *range); +void gtk_range_set_round_digits (GtkRange *range, + gint round_digits); +gint gtk_range_get_round_digits (GtkRange *range); /* internal API */ gdouble _gtk_range_get_wheel_delta (GtkRange *range, @@ -152,9 +155,7 @@ void _gtk_range_set_stop_values (GtkRange *range gdouble *values, gint n_values); gint _gtk_range_get_stop_positions (GtkRange *range, - gint **values); -void _gtk_range_set_round_digits (GtkRange *range, - gint round_digits); + gint **values); void _gtk_range_set_steppers (GtkRange *range, gboolean has_a, gboolean has_b, diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index b34167a2c7..486e64722e 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -443,7 +443,7 @@ gtk_scale_init (GtkScale *scale) priv->draw_value = TRUE; priv->value_pos = GTK_POS_TOP; priv->digits = 1; - _gtk_range_set_round_digits (range, priv->digits); + gtk_range_set_round_digits (range, priv->digits); gtk_scale_orientation_notify (range, NULL); g_signal_connect (scale, "notify::orientation", @@ -613,7 +613,7 @@ gtk_scale_set_digits (GtkScale *scale, { priv->digits = digits; if (priv->draw_value) - _gtk_range_set_round_digits (range, digits); + gtk_range_set_round_digits (range, digits); _gtk_scale_clear_layout (scale); gtk_widget_queue_resize (GTK_WIDGET (scale)); @@ -662,9 +662,9 @@ gtk_scale_set_draw_value (GtkScale *scale, { priv->draw_value = draw_value; if (draw_value) - _gtk_range_set_round_digits (GTK_RANGE (scale), priv->digits); + gtk_range_set_round_digits (GTK_RANGE (scale), priv->digits); else - _gtk_range_set_round_digits (GTK_RANGE (scale), -1); + gtk_range_set_round_digits (GTK_RANGE (scale), -1); _gtk_scale_clear_layout (scale); From cc92d6da03944357090c6442a87f6b7828ad5868 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 15 Jan 2011 00:16:51 -0500 Subject: [PATCH 1402/1463] Fix a typo --- gtk/gtkrange.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 2ad0357653..91431e12cc 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -508,7 +508,7 @@ gtk_range_class_init (GtkRangeClass *class) PROP_ROUND_DIGITS, g_param_spec_int ("round-digits", P_("Round Digits"), - P_("The number of widgets to round the value to."), + P_("The number of digits to round the value to."), -1, G_MAXINT, -1, From 22876d789ce2c9f2afdc5c5a387e495844546304 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 15 Jan 2011 00:39:29 -0500 Subject: [PATCH 1403/1463] Fix a typo --- gtk/gtktexttag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktexttag.c b/gtk/gtktexttag.c index bae882638c..1a653b3b53 100644 --- a/gtk/gtktexttag.c +++ b/gtk/gtktexttag.c @@ -48,7 +48,7 @@ */ /** - * SECTION:GtkTextTag + * SECTION:gtktexttag * @Title: GtkTextTag * @Short_description: A tag that can be applied to text in a GtkTextBuffer * From 4392c0e9b585856d1db4ba5c3bba435e051222c9 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Wed, 12 Jan 2011 10:54:24 +0100 Subject: [PATCH 1404/1463] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20t?= =?UTF-8?q?ranslation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 833 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 451 insertions(+), 382 deletions(-) diff --git a/po/nb.po b/po/nb.po index f38781f2dd..58b138297e 100644 --- a/po/nb.po +++ b/po/nb.po @@ -6,61 +6,60 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ 2.92.x\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." -"cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2010-12-24 02:57+0000\n" -"PO-Revision-Date: 2010-12-30 20:35+0100\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2011-01-12 10:50+0100\n" +"PO-Revision-Date: 2011-01-12 10:54+0100\n" "Last-Translator: Torstein Adolf Winterseth \n" "Language-Team: Norwegian Nynorsk \n" +"Language: nn\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" -"Language: nn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.1\n" -#: ../gdk/gdk.c:155 +#: ../gdk/gdk.c:152 #, c-format msgid "Error parsing option --gdk-debug" msgstr "Feil ved lesing av flagg --gdk-debug" -#: ../gdk/gdk.c:175 +#: ../gdk/gdk.c:172 #, c-format msgid "Error parsing option --gdk-no-debug" msgstr "Feil ved lesing av flagg --gdk-no-debug" #. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:203 +#: ../gdk/gdk.c:200 msgid "Program class as used by the window manager" msgstr "Programklasse som brukes av vindushåndtereren" #. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:204 +#: ../gdk/gdk.c:201 msgid "CLASS" msgstr "KLASSE" #. Description of --name=NAME in --help output -#: ../gdk/gdk.c:206 +#: ../gdk/gdk.c:203 msgid "Program name as used by the window manager" msgstr "Programnavn som brukes av vindushåndtereren" #. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:207 +#: ../gdk/gdk.c:204 msgid "NAME" msgstr "NAVN" #. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:209 +#: ../gdk/gdk.c:206 msgid "X display to use" msgstr "X-skjerm som skal brukes" #. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:210 +#: ../gdk/gdk.c:207 msgid "DISPLAY" msgstr "SKJERM" #. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:213 +#: ../gdk/gdk.c:210 msgid "GDK debugging flags to set" msgstr "Feilsøkingsflagg som skal settes for GDK" @@ -68,12 +67,12 @@ msgstr "Feilsøkingsflagg som skal settes for GDK" #. Placeholder in --gdk-no-debug=FLAGS in --help output #. Placeholder in --gtk-debug=FLAGS in --help output #. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:214 ../gdk/gdk.c:217 ../gtk/gtkmain.c:522 ../gtk/gtkmain.c:525 +#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 msgid "FLAGS" msgstr "FLAGG" #. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:216 +#: ../gdk/gdk.c:213 msgid "GDK debugging flags to unset" msgstr "Feilsøkingsflagg som skal fjernes for GDK" @@ -263,32 +262,32 @@ msgid "Delete" msgstr "Slett" #. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:54 +#: ../gdk/win32/gdkmain-win32.c:55 msgid "Don't batch GDI requests" msgstr "Ikke send flere GDI-forespørsler sammen" #. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:56 +#: ../gdk/win32/gdkmain-win32.c:57 msgid "Don't use the Wintab API for tablet support" msgstr "Ikke bruk Wintab-APIet for støtte for tablet" #. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:58 +#: ../gdk/win32/gdkmain-win32.c:59 msgid "Same as --no-wintab" msgstr "Samme som --no-wintab" #. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:60 +#: ../gdk/win32/gdkmain-win32.c:61 msgid "Do use the Wintab API [default]" msgstr "Ikke bruk Wintab-API [forvalgt]" #. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:62 +#: ../gdk/win32/gdkmain-win32.c:63 msgid "Size of the palette in 8 bit mode" msgstr "Størrelse på paletten i 8-bits modus" #. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 +#: ../gdk/win32/gdkmain-win32.c:64 msgid "COLORS" msgstr "FARGER" @@ -312,59 +311,59 @@ msgstr[1] "Åpner %d oppføringer" #. Translators: this is the license preamble; the string at the end #. * contains the URL of the license. #. -#: ../gtk/gtkaboutdialog.c:105 +#: ../gtk/gtkaboutdialog.c:104 #, c-format msgid "" "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" msgstr "" -"Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk %" -"s for detaljer" +"Dette programmet kommer UTEN NOEN SOM HELST GARANTI; besøk " +"%s for detaljer" -#: ../gtk/gtkaboutdialog.c:347 +#: ../gtk/gtkaboutdialog.c:346 msgid "License" msgstr "Lisens" -#: ../gtk/gtkaboutdialog.c:348 +#: ../gtk/gtkaboutdialog.c:347 msgid "The license of the program" msgstr "Programmets lisens" #. Add the credits button -#: ../gtk/gtkaboutdialog.c:740 +#: ../gtk/gtkaboutdialog.c:739 msgid "C_redits" msgstr "Bid_ragsytere" #. Add the license button -#: ../gtk/gtkaboutdialog.c:753 +#: ../gtk/gtkaboutdialog.c:752 msgid "_License" msgstr "_Lisens" -#: ../gtk/gtkaboutdialog.c:958 +#: ../gtk/gtkaboutdialog.c:957 msgid "Could not show link" msgstr "Klarte ikke å vise lenke" -#: ../gtk/gtkaboutdialog.c:995 +#: ../gtk/gtkaboutdialog.c:994 msgid "Homepage" msgstr "Hjemmeside" -#: ../gtk/gtkaboutdialog.c:1049 +#: ../gtk/gtkaboutdialog.c:1048 #, c-format msgid "About %s" msgstr "Om %s" -#: ../gtk/gtkaboutdialog.c:2371 +#: ../gtk/gtkaboutdialog.c:2372 msgid "Created by" msgstr "Laget av" -#: ../gtk/gtkaboutdialog.c:2374 +#: ../gtk/gtkaboutdialog.c:2375 msgid "Documented by" msgstr "Dokumentert av" -#: ../gtk/gtkaboutdialog.c:2384 +#: ../gtk/gtkaboutdialog.c:2385 msgid "Translated by" msgstr "Oversatt av" -#: ../gtk/gtkaboutdialog.c:2389 +#: ../gtk/gtkaboutdialog.c:2390 msgid "Artwork by" msgstr "Grafikk av" @@ -373,7 +372,7 @@ msgstr "Grafikk av" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:160 +#: ../gtk/gtkaccellabel.c:158 msgctxt "keyboard label" msgid "Shift" msgstr "Shift" @@ -383,7 +382,7 @@ msgstr "Shift" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:166 +#: ../gtk/gtkaccellabel.c:164 msgctxt "keyboard label" msgid "Ctrl" msgstr "Ctrl" @@ -393,7 +392,7 @@ msgstr "Ctrl" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:172 +#: ../gtk/gtkaccellabel.c:170 msgctxt "keyboard label" msgid "Alt" msgstr "Alt" @@ -403,7 +402,7 @@ msgstr "Alt" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:770 +#: ../gtk/gtkaccellabel.c:768 msgctxt "keyboard label" msgid "Super" msgstr "Super" @@ -413,7 +412,7 @@ msgstr "Super" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:783 +#: ../gtk/gtkaccellabel.c:781 msgctxt "keyboard label" msgid "Hyper" msgstr "Hyper" @@ -423,37 +422,118 @@ msgstr "Hyper" #. * translated on keyboards used for your language, don't translate #. * this. #. -#: ../gtk/gtkaccellabel.c:797 +#: ../gtk/gtkaccellabel.c:795 msgctxt "keyboard label" msgid "Meta" msgstr "Meta" -#: ../gtk/gtkaccellabel.c:813 +#: ../gtk/gtkaccellabel.c:811 msgctxt "keyboard label" msgid "Space" msgstr "Mellomrom" -#: ../gtk/gtkaccellabel.c:816 +#: ../gtk/gtkaccellabel.c:814 msgctxt "keyboard label" msgid "Backslash" msgstr "Backslash" -#: ../gtk/gtkbuilderparser.c:343 +#: ../gtk/gtkappchooserbutton.c:259 +msgid "Other application..." +msgstr "Annet program..." + +#: ../gtk/gtkappchooserdialog.c:127 +msgid "Failed to look for applications online" +msgstr "Klarte ikke å se etter programmer på nettet" + +#: ../gtk/gtkappchooserdialog.c:164 +msgid "Find applications online" +msgstr "Finn programmer på nettet" + +#: ../gtk/gtkappchooserdialog.c:208 +msgid "Could not run application" +msgstr "Klarte ikke å kjøre programmet" + +#: ../gtk/gtkappchooserdialog.c:221 +#, c-format +msgid "Could not find '%s'" +msgstr "Klarte ikke å finne «%s»" + +#: ../gtk/gtkappchooserdialog.c:224 +msgid "Could not find application" +msgstr "Klarte ikke å finne programmet" + +#. Translators: %s is a filename +#: ../gtk/gtkappchooserdialog.c:334 +#, c-format +msgid "Select an application to open \"%s\"" +msgstr "Velg et program å åpne «%s» i" + +#: ../gtk/gtkappchooserdialog.c:335 ../gtk/gtkappchooserwidget.c:644 +#, c-format +msgid "No applications available to open \"%s\"" +msgstr "Ingen tilgjengelige programmer for åpning av «%s»" + +#. Translators: %s is a file type description +#: ../gtk/gtkappchooserdialog.c:341 +#, c-format +msgid "Select an application for \"%s\" files" +msgstr "Velg et program for «%s»-filer" + +#: ../gtk/gtkappchooserdialog.c:344 +#, c-format +msgid "No applications available to open \"%s\" files" +msgstr "Ingen tilgjengelige programmer for åpning av «%s»-filer" + +#: ../gtk/gtkappchooserdialog.c:358 +msgid "" +"Click \"Show other applications\", for more options, or \"Find applications " +"online\" to install a new application" +msgstr "Klikk på «Vis andre programmer» for flere alternativer, eller «Finn programmer på nettet» for å installere et nytt program" + +#: ../gtk/gtkappchooserdialog.c:428 +msgid "Forget association" +msgstr "Glem kobling" + +#: ../gtk/gtkappchooserdialog.c:493 +msgid "Show other applications" +msgstr "Vis andre programmer" + +#: ../gtk/gtkappchooserdialog.c:511 +msgid "_Open" +msgstr "_Åpne" + +#: ../gtk/gtkappchooserwidget.c:593 +msgid "Default Application" +msgstr "Forvalgt program" + +#: ../gtk/gtkappchooserwidget.c:730 +msgid "Recommended Applications" +msgstr "Anbefalte programmer" + +#: ../gtk/gtkappchooserwidget.c:744 +msgid "Related Applications" +msgstr "Relaterte programmer" + +#: ../gtk/gtkappchooserwidget.c:758 +msgid "Other Applications" +msgstr "Andre programmer" + +#: ../gtk/gtkbuilderparser.c:342 #, c-format msgid "Invalid type function on line %d: '%s'" msgstr "Ugyldig type funksjon på linje %d: «%s»" -#: ../gtk/gtkbuilderparser.c:407 +#: ../gtk/gtkbuilderparser.c:406 #, c-format msgid "Duplicate object ID '%s' on line %d (previously on line %d)" msgstr "Duplisert objekt-ID «%s» på linje %d (tidligere på linje %d)" -#: ../gtk/gtkbuilderparser.c:859 +#: ../gtk/gtkbuilderparser.c:858 #, c-format msgid "Invalid root element: '%s'" msgstr "Ugyldig rotelement: «%s»" -#: ../gtk/gtkbuilderparser.c:898 +#: ../gtk/gtkbuilderparser.c:897 #, c-format msgid "Unhandled tag: '%s'" msgstr "Uhåndtert tag «%s»" @@ -468,7 +548,7 @@ msgstr "Uhåndtert tag «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:882 +#: ../gtk/gtkcalendar.c:871 msgid "calendar:MY" msgstr "calendar:MY" @@ -476,7 +556,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:920 +#: ../gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -485,7 +565,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1900 +#: ../gtk/gtkcalendar.c:1910 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -500,7 +580,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1931 ../gtk/gtkcalendar.c:2620 +#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -516,7 +596,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1963 ../gtk/gtkcalendar.c:2488 +#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -532,7 +612,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2253 +#: ../gtk/gtkcalendar.c:2268 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -540,7 +620,7 @@ msgstr "%Y" #. This label is displayed in a treeview cell displaying #. * a disabled accelerator key combination. #. -#: ../gtk/gtkcellrendereraccel.c:272 +#: ../gtk/gtkcellrendereraccel.c:271 msgctxt "Accelerator" msgid "Disabled" msgstr "Slått av" @@ -549,7 +629,7 @@ msgstr "Slått av" #. * an accelerator key combination that is not valid according #. * to gtk_accelerator_valid(). #. -#: ../gtk/gtkcellrendereraccel.c:282 +#: ../gtk/gtkcellrendereraccel.c:281 msgctxt "Accelerator" msgid "Invalid" msgstr "Ugyldig" @@ -558,7 +638,7 @@ msgstr "Ugyldig" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:418 ../gtk/gtkcellrendereraccel.c:675 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 msgid "New accelerator..." msgstr "Ny hurtigtast …" @@ -568,11 +648,11 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:188 ../gtk/gtkcolorbutton.c:477 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "Velg en farge" -#: ../gtk/gtkcolorbutton.c:366 +#: ../gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "Mottok ugyldige fargedata\n" @@ -696,11 +776,11 @@ msgstr "Tidligere valgt farge. For sammenligning med fargen du velger nå." msgid "The color you've chosen." msgstr "Fargen du har valgt." -#: ../gtk/gtkcolorsel.c:1444 +#: ../gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "_Lagre fargen her" -#: ../gtk/gtkcolorsel.c:1652 +#: ../gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -724,7 +804,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3241 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "Håndter egendefinerte størrelser" @@ -777,66 +857,66 @@ msgstr "Høy_re:" msgid "Paper Margins" msgstr "Papirmarger" -#: ../gtk/gtkentry.c:8809 ../gtk/gtktextview.c:8246 +#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8227 msgid "Input _Methods" msgstr "Inndata_metoder" -#: ../gtk/gtkentry.c:8823 ../gtk/gtktextview.c:8260 +#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8241 msgid "_Insert Unicode Control Character" msgstr "Sett _inn Unicode kontrolltegn" -#: ../gtk/gtkentry.c:10227 +#: ../gtk/gtkentry.c:10224 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock og Num Lock er på" -#: ../gtk/gtkentry.c:10229 +#: ../gtk/gtkentry.c:10226 msgid "Num Lock is on" msgstr "Num Lock er på" -#: ../gtk/gtkentry.c:10231 +#: ../gtk/gtkentry.c:10228 msgid "Caps Lock is on" msgstr "Caps Lock er på" #. **************** * #. * Private Macros * #. * **************** -#: ../gtk/gtkfilechooserbutton.c:61 +#: ../gtk/gtkfilechooserbutton.c:62 msgid "Select A File" msgstr "Velg en fil" -#: ../gtk/gtkfilechooserbutton.c:62 ../gtk/gtkfilechooserdefault.c:1833 +#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" msgstr "Skrivebord" -#: ../gtk/gtkfilechooserbutton.c:63 +#: ../gtk/gtkfilechooserbutton.c:64 msgid "(None)" msgstr "(Ingen)" -#: ../gtk/gtkfilechooserbutton.c:2001 +#: ../gtk/gtkfilechooserbutton.c:1999 msgid "Other..." msgstr "Annet …" -#: ../gtk/gtkfilechooserdefault.c:147 +#: ../gtk/gtkfilechooserdefault.c:146 msgid "Type name of new folder" msgstr "Skriv inn navn på ny mappe" -#: ../gtk/gtkfilechooserdefault.c:946 +#: ../gtk/gtkfilechooserdefault.c:944 msgid "Could not retrieve information about the file" msgstr "Klarte ikke å hente informasjon om filen" -#: ../gtk/gtkfilechooserdefault.c:957 +#: ../gtk/gtkfilechooserdefault.c:955 msgid "Could not add a bookmark" msgstr "Klarte ikke å legge til bokmerke" -#: ../gtk/gtkfilechooserdefault.c:968 +#: ../gtk/gtkfilechooserdefault.c:966 msgid "Could not remove bookmark" msgstr "Klarte ikke å fjerne bokmerke" -#: ../gtk/gtkfilechooserdefault.c:979 +#: ../gtk/gtkfilechooserdefault.c:977 msgid "The folder could not be created" msgstr "Klarte ikke å lage mappen" -#: ../gtk/gtkfilechooserdefault.c:992 +#: ../gtk/gtkfilechooserdefault.c:990 msgid "" "The folder could not be created, as a file with the same name already " "exists. Try using a different name for the folder, or rename the file first." @@ -844,7 +924,7 @@ msgstr "" "Klarte ikke å lage mappen på grunn av at det allerede eksisterer en fil med " "samme navn. Bruk et annet navn for mappen eller gi et nytt navn til filen." -#: ../gtk/gtkfilechooserdefault.c:1006 +#: ../gtk/gtkfilechooserdefault.c:1004 msgid "" "You may only select folders. The item that you selected is not a folder; " "try using a different item." @@ -852,11 +932,11 @@ msgstr "" "Du kan kun velge mapper. Oppføringen du valgte er ikke en mappe. Prøv å " "bruke en annen oppføring." -#: ../gtk/gtkfilechooserdefault.c:1016 +#: ../gtk/gtkfilechooserdefault.c:1014 msgid "Invalid file name" msgstr "Ugyldig filnavn" -#: ../gtk/gtkfilechooserdefault.c:1026 +#: ../gtk/gtkfilechooserdefault.c:1024 msgid "The folder contents could not be displayed" msgstr "Mappeinholdet kunne ikke vises" @@ -864,176 +944,176 @@ msgstr "Mappeinholdet kunne ikke vises" #. * is a hostname. Nautilus and the panel contain the same string #. * to translate. #. -#: ../gtk/gtkfilechooserdefault.c:1576 +#: ../gtk/gtkfilechooserdefault.c:1577 #, c-format msgid "%1$s on %2$s" msgstr "%1$s på %2$s" -#: ../gtk/gtkfilechooserdefault.c:1752 +#: ../gtk/gtkfilechooserdefault.c:1753 msgid "Search" msgstr "Søk" -#: ../gtk/gtkfilechooserdefault.c:1776 ../gtk/gtkfilechooserdefault.c:9424 +#: ../gtk/gtkfilechooserdefault.c:1777 ../gtk/gtkfilechooserdefault.c:9424 msgid "Recently Used" msgstr "Sist brukt" -#: ../gtk/gtkfilechooserdefault.c:2437 +#: ../gtk/gtkfilechooserdefault.c:2438 msgid "Select which types of files are shown" msgstr "Velg hvilke filtyper som skal vises" -#: ../gtk/gtkfilechooserdefault.c:2796 +#: ../gtk/gtkfilechooserdefault.c:2797 #, c-format msgid "Add the folder '%s' to the bookmarks" msgstr "Legg til mappe «%s» i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:2840 +#: ../gtk/gtkfilechooserdefault.c:2841 #, c-format msgid "Add the current folder to the bookmarks" msgstr "Legg til aktiv mappe i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:2842 +#: ../gtk/gtkfilechooserdefault.c:2843 #, c-format msgid "Add the selected folders to the bookmarks" msgstr "Legg til valgte mapper i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:2880 +#: ../gtk/gtkfilechooserdefault.c:2881 #, c-format msgid "Remove the bookmark '%s'" msgstr "Fjern bokmerke «%s»" -#: ../gtk/gtkfilechooserdefault.c:2882 +#: ../gtk/gtkfilechooserdefault.c:2883 #, c-format msgid "Bookmark '%s' cannot be removed" msgstr "Bokmerke «%s» kan ikke fjernes" -#: ../gtk/gtkfilechooserdefault.c:2889 ../gtk/gtkfilechooserdefault.c:3757 +#: ../gtk/gtkfilechooserdefault.c:2890 ../gtk/gtkfilechooserdefault.c:3758 msgid "Remove the selected bookmark" msgstr "Fjern valgt bokmerke" -#: ../gtk/gtkfilechooserdefault.c:3452 +#: ../gtk/gtkfilechooserdefault.c:3453 msgid "Remove" msgstr "Fjern" -#: ../gtk/gtkfilechooserdefault.c:3461 +#: ../gtk/gtkfilechooserdefault.c:3462 msgid "Rename..." msgstr "Gi nytt navn …" #. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3624 +#: ../gtk/gtkfilechooserdefault.c:3625 msgid "Places" msgstr "Steder" #. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3681 +#: ../gtk/gtkfilechooserdefault.c:3682 msgid "_Places" msgstr "_Steder" -#: ../gtk/gtkfilechooserdefault.c:3738 +#: ../gtk/gtkfilechooserdefault.c:3739 msgid "_Add" msgstr "_Legg til" -#: ../gtk/gtkfilechooserdefault.c:3745 +#: ../gtk/gtkfilechooserdefault.c:3746 msgid "Add the selected folder to the Bookmarks" msgstr "Legg til valgt mappe i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:3750 +#: ../gtk/gtkfilechooserdefault.c:3751 msgid "_Remove" msgstr "Fje_rn" -#: ../gtk/gtkfilechooserdefault.c:3892 +#: ../gtk/gtkfilechooserdefault.c:3893 msgid "Could not select file" msgstr "Klarte ikke å merke filen" -#: ../gtk/gtkfilechooserdefault.c:4067 +#: ../gtk/gtkfilechooserdefault.c:4068 msgid "_Add to Bookmarks" msgstr "L_egg til i bokmerker" -#: ../gtk/gtkfilechooserdefault.c:4080 +#: ../gtk/gtkfilechooserdefault.c:4081 msgid "Show _Hidden Files" msgstr "Vis sk_julte filer" -#: ../gtk/gtkfilechooserdefault.c:4087 +#: ../gtk/gtkfilechooserdefault.c:4088 msgid "Show _Size Column" msgstr "Vis kolonne for _størrelse" -#: ../gtk/gtkfilechooserdefault.c:4313 +#: ../gtk/gtkfilechooserdefault.c:4314 msgid "Files" msgstr "Filer" -#: ../gtk/gtkfilechooserdefault.c:4364 +#: ../gtk/gtkfilechooserdefault.c:4365 msgid "Name" msgstr "Navn" -#: ../gtk/gtkfilechooserdefault.c:4387 +#: ../gtk/gtkfilechooserdefault.c:4388 msgid "Size" msgstr "Størrelse" -#: ../gtk/gtkfilechooserdefault.c:4401 +#: ../gtk/gtkfilechooserdefault.c:4402 msgid "Modified" msgstr "Endret" #. Label -#: ../gtk/gtkfilechooserdefault.c:4656 ../gtk/gtkprinteroptionwidget.c:793 +#: ../gtk/gtkfilechooserdefault.c:4657 ../gtk/gtkprinteroptionwidget.c:793 msgid "_Name:" msgstr "_Navn:" -#: ../gtk/gtkfilechooserdefault.c:4699 +#: ../gtk/gtkfilechooserdefault.c:4700 msgid "_Browse for other folders" msgstr "_Se gjennom andre mapper" -#: ../gtk/gtkfilechooserdefault.c:4969 +#: ../gtk/gtkfilechooserdefault.c:4970 msgid "Type a file name" msgstr "Skriv et filnavn" #. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5012 +#: ../gtk/gtkfilechooserdefault.c:5013 msgid "Create Fo_lder" msgstr "Opprett _mappe" -#: ../gtk/gtkfilechooserdefault.c:5022 +#: ../gtk/gtkfilechooserdefault.c:5023 msgid "_Location:" msgstr "_Adresse:" -#: ../gtk/gtkfilechooserdefault.c:5226 +#: ../gtk/gtkfilechooserdefault.c:5227 msgid "Save in _folder:" msgstr "Lagre i _mappe:" -#: ../gtk/gtkfilechooserdefault.c:5228 +#: ../gtk/gtkfilechooserdefault.c:5229 msgid "Create in _folder:" msgstr "Opprett i _mappe:" -#: ../gtk/gtkfilechooserdefault.c:6297 +#: ../gtk/gtkfilechooserdefault.c:6296 #, c-format msgid "Could not read the contents of %s" msgstr "Klarte ikke å lese innholdet av %s" -#: ../gtk/gtkfilechooserdefault.c:6301 +#: ../gtk/gtkfilechooserdefault.c:6300 msgid "Could not read the contents of the folder" msgstr "Klarte ikke å lese innholdet i mappen" -#: ../gtk/gtkfilechooserdefault.c:6394 ../gtk/gtkfilechooserdefault.c:6462 -#: ../gtk/gtkfilechooserdefault.c:6607 +#: ../gtk/gtkfilechooserdefault.c:6393 ../gtk/gtkfilechooserdefault.c:6461 +#: ../gtk/gtkfilechooserdefault.c:6606 msgid "Unknown" msgstr "Ukjent" -#: ../gtk/gtkfilechooserdefault.c:6409 +#: ../gtk/gtkfilechooserdefault.c:6408 msgid "%H:%M" msgstr "%H.%M" -#: ../gtk/gtkfilechooserdefault.c:6411 +#: ../gtk/gtkfilechooserdefault.c:6410 msgid "Yesterday at %H:%M" msgstr "I går kl. %H.%M" -#: ../gtk/gtkfilechooserdefault.c:7077 +#: ../gtk/gtkfilechooserdefault.c:7076 msgid "Cannot change to folder because it is not local" msgstr "Kan ikke gå til mappen fordi den ikke er lokal" -#: ../gtk/gtkfilechooserdefault.c:7674 ../gtk/gtkfilechooserdefault.c:7695 +#: ../gtk/gtkfilechooserdefault.c:7673 ../gtk/gtkfilechooserdefault.c:7694 #, c-format msgid "Shortcut %s already exists" msgstr "Snarvei %s eksisterer allerede" -#: ../gtk/gtkfilechooserdefault.c:7785 +#: ../gtk/gtkfilechooserdefault.c:7784 #, c-format msgid "Shortcut %s does not exist" msgstr "Snarvei %s eksisterer ikke" @@ -1082,21 +1162,21 @@ msgstr "Klarte ikke å montere %s" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:702 ../gtk/gtkfilechooserentry.c:1172 +#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 msgid "Invalid path" msgstr "Ugyldig sti" #. translators: this text is shown when there are no completions #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1104 +#: ../gtk/gtkfilechooserentry.c:1110 msgid "No match" msgstr "Ingen treff" #. translators: this text is shown when there is exactly one completion #. * for something the user typed in a file chooser entry #. -#: ../gtk/gtkfilechooserentry.c:1115 +#: ../gtk/gtkfilechooserentry.c:1121 msgid "Sole completion" msgstr "Eneste fullføring" @@ -1104,13 +1184,13 @@ msgstr "Eneste fullføring" #. * entry is a complete filename, but could be continued to find #. * a longer match #. -#: ../gtk/gtkfilechooserentry.c:1131 +#: ../gtk/gtkfilechooserentry.c:1137 msgid "Complete, but not unique" msgstr "Fullført men ikke unik" #. Translators: this text is shown while the system is searching #. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1163 +#: ../gtk/gtkfilechooserentry.c:1169 msgid "Completing..." msgstr "Fullfører …" @@ -1118,7 +1198,7 @@ msgstr "Fullfører …" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user enters something like #. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1185 ../gtk/gtkfilechooserentry.c:1210 +#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 msgid "Only local files may be selected" msgstr "Du kan kun velge lokale filer" @@ -1126,14 +1206,14 @@ msgstr "Du kan kun velge lokale filer" #. Translators: this is shown in the feedback for Tab-completion in a #. * file chooser's text entry when the user hasn't entered the first '/' #. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1194 +#: ../gtk/gtkfilechooserentry.c:1200 msgid "Incomplete hostname; end it with '/'" msgstr "Ikke fullstendig vertsnavn; avslutt med «/»" #. Translators: this is shown in the feedback for Tab-completion in a file #. * chooser's text entry when the user enters a path that does not exist #. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1205 +#: ../gtk/gtkfilechooserentry.c:1211 msgid "Path does not exist" msgstr "Stien eksisterer ikke" @@ -1161,40 +1241,40 @@ msgstr "Skrift" #. This is the default text shown in the preview entry, though the user #. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:103 +#: ../gtk/gtkfontsel.c:100 msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghijk ABCDEFGHIJK" -#: ../gtk/gtkfontsel.c:370 +#: ../gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "_Familie:" -#: ../gtk/gtkfontsel.c:376 +#: ../gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "_Stil:" -#: ../gtk/gtkfontsel.c:382 +#: ../gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "St_ørrelse:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:558 +#: ../gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "_Forhåndsvisning:" -#: ../gtk/gtkfontsel.c:1658 +#: ../gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "Valg av skrift" #. Remove this icon source so we don't keep trying to #. * load it. #. -#: ../gtk/gtkiconfactory.c:1356 +#: ../gtk/gtkiconfactory.c:1358 #, c-format msgid "Error loading icon: %s" msgstr "Feil under lasting av ikon: %s" -#: ../gtk/gtkicontheme.c:1351 +#: ../gtk/gtkicontheme.c:1352 #, c-format msgid "" "Could not find the icon '%s'. The '%s' theme\n" @@ -1207,12 +1287,12 @@ msgstr "" "Du kan finne en kopi av det på:\n" "\t%s" -#: ../gtk/gtkicontheme.c:1532 +#: ../gtk/gtkicontheme.c:1533 #, c-format msgid "Icon '%s' not present in theme" msgstr "Ikon «%s» er ikke tilstede i tema" -#: ../gtk/gtkicontheme.c:3053 +#: ../gtk/gtkicontheme.c:3054 msgid "Failed to load icon" msgstr "Feil under lasting av ikon" @@ -1246,36 +1326,36 @@ msgstr "_Åpne lenke" msgid "Copy _Link Address" msgstr "Kopier _lenkas adresse" -#: ../gtk/gtklinkbutton.c:484 +#: ../gtk/gtklinkbutton.c:482 msgid "Copy URL" msgstr "Kopier URL" -#: ../gtk/gtklinkbutton.c:647 +#: ../gtk/gtklinkbutton.c:645 msgid "Invalid URI" msgstr "Ugyldig URI" #. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:515 +#: ../gtk/gtkmain.c:563 msgid "Load additional GTK+ modules" msgstr "Last tilleggsmoduler for GTK+" #. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:516 +#: ../gtk/gtkmain.c:564 msgid "MODULES" msgstr "MODULER" #. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:518 +#: ../gtk/gtkmain.c:566 msgid "Make all warnings fatal" msgstr "La alle advarsler være fatale" #. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:521 +#: ../gtk/gtkmain.c:569 msgid "GTK+ debugging flags to set" msgstr "Feilsøkingsflagg som skal settes for GTK+" #. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:524 +#: ../gtk/gtkmain.c:572 msgid "GTK+ debugging flags to unset" msgstr "Feilsøkingsflagg som skal fjernes for GTK+" @@ -1284,20 +1364,20 @@ msgstr "Feilsøkingsflagg som skal fjernes for GTK+" #. * Do *not* translate it to "predefinito:LTR", if it #. * it isn't default:LTR or default:RTL it will not work #. -#: ../gtk/gtkmain.c:787 +#: ../gtk/gtkmain.c:835 msgid "default:LTR" msgstr "default:LTR" -#: ../gtk/gtkmain.c:851 +#: ../gtk/gtkmain.c:899 #, c-format msgid "Cannot open display: %s" msgstr "Kan ikke åpne skjerm: %s" -#: ../gtk/gtkmain.c:915 +#: ../gtk/gtkmain.c:965 msgid "GTK+ Options" msgstr "Alternativer for GTK+" -#: ../gtk/gtkmain.c:915 +#: ../gtk/gtkmain.c:965 msgid "Show GTK+ Options" msgstr "Vis alternativer for GTK+" @@ -1353,7 +1433,8 @@ msgstr "A_vslutt prosess" #: ../gtk/gtkmountoperation-stub.c:64 #, c-format msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "Kan ikke terminere prosess med PID %d. Operasjonen er ikke implementert." +msgstr "" +"Kan ikke terminere prosess med PID %d. Operasjonen er ikke implementert." #. translators: this string is a name for the 'less' command #: ../gtk/gtkmountoperation-x11.c:862 @@ -1381,7 +1462,7 @@ msgstr "Z Shell" msgid "Cannot end process with PID %d: %s" msgstr "Kan ikke avslutte prosess med PID %d: %s" -#: ../gtk/gtknotebook.c:4910 ../gtk/gtknotebook.c:7567 +#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 #, c-format msgid "Page %u" msgstr "Side %u" @@ -1414,7 +1495,7 @@ msgstr "" " Topp: %s %s\n" " Bunn: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3292 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "Håndter egendefinerte størrelser …" @@ -1422,7 +1503,7 @@ msgstr "Håndter egendefinerte størrelser …" msgid "_Format for:" msgstr "_Format for:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3464 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "_Papirstørrelse:" @@ -1430,19 +1511,19 @@ msgstr "_Papirstørrelse:" msgid "_Orientation:" msgstr "_Orientering:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3526 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "Sideoppsett" -#: ../gtk/gtkpathbar.c:158 +#: ../gtk/gtkpathbar.c:157 msgid "Up Path" msgstr "Opp sti" -#: ../gtk/gtkpathbar.c:160 +#: ../gtk/gtkpathbar.c:159 msgid "Down Path" msgstr "Ned sti" -#: ../gtk/gtkpathbar.c:1523 +#: ../gtk/gtkpathbar.c:1519 msgid "File System Root" msgstr "Filsystemrot" @@ -1466,77 +1547,78 @@ msgstr "_Lagre i mappe:" #. * jobs. %s gets replaced by the application name, %d gets replaced #. * by the job number. #. -#: ../gtk/gtkprintoperation.c:190 +#: ../gtk/gtkprintoperation.c:193 #, c-format msgid "%s job #%d" msgstr "%s jobb #%d" -#: ../gtk/gtkprintoperation.c:1695 +#: ../gtk/gtkprintoperation.c:1698 msgctxt "print operation status" msgid "Initial state" msgstr "Starttilstand" -#: ../gtk/gtkprintoperation.c:1696 +#: ../gtk/gtkprintoperation.c:1699 msgctxt "print operation status" msgid "Preparing to print" msgstr "Forbereder utskrift" -#: ../gtk/gtkprintoperation.c:1697 +#: ../gtk/gtkprintoperation.c:1700 msgctxt "print operation status" msgid "Generating data" msgstr "Genererer data" -#: ../gtk/gtkprintoperation.c:1698 +#: ../gtk/gtkprintoperation.c:1701 msgctxt "print operation status" msgid "Sending data" msgstr "Sender data" -#: ../gtk/gtkprintoperation.c:1699 +#: ../gtk/gtkprintoperation.c:1702 msgctxt "print operation status" msgid "Waiting" msgstr "Venter" -#: ../gtk/gtkprintoperation.c:1700 +#: ../gtk/gtkprintoperation.c:1703 msgctxt "print operation status" msgid "Blocking on issue" msgstr "Blokkert pga hendelse" -#: ../gtk/gtkprintoperation.c:1701 +#: ../gtk/gtkprintoperation.c:1704 msgctxt "print operation status" msgid "Printing" msgstr "Skriver ut" -#: ../gtk/gtkprintoperation.c:1702 +#: ../gtk/gtkprintoperation.c:1705 msgctxt "print operation status" msgid "Finished" msgstr "Fullført" -#: ../gtk/gtkprintoperation.c:1703 +#: ../gtk/gtkprintoperation.c:1706 msgctxt "print operation status" msgid "Finished with error" msgstr "Fullført med feil" -#: ../gtk/gtkprintoperation.c:2270 +#: ../gtk/gtkprintoperation.c:2273 #, c-format msgid "Preparing %d" msgstr "Forbereder %d" -#: ../gtk/gtkprintoperation.c:2272 ../gtk/gtkprintoperation.c:2902 +#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 msgid "Preparing" msgstr "Forbereder" -#: ../gtk/gtkprintoperation.c:2275 +#: ../gtk/gtkprintoperation.c:2278 #, c-format msgid "Printing %d" msgstr "Skriver ut %d" -#: ../gtk/gtkprintoperation.c:2932 +#: ../gtk/gtkprintoperation.c:2935 msgid "Error creating print preview" msgstr "Feil under oppretting av forhåndsvisning for utskrift" -#: ../gtk/gtkprintoperation.c:2935 +#: ../gtk/gtkprintoperation.c:2938 msgid "The most probable reason is that a temporary file could not be created." -msgstr "Den mest sannsynlige årsaken er at en midlertidig fil ikke kunne lages." +msgstr "" +"Den mest sannsynlige årsaken er at en midlertidig fil ikke kunne lages." #: ../gtk/gtkprintoperation-unix.c:304 msgid "Error launching preview" @@ -1556,7 +1638,7 @@ msgstr "Tom for papir" #. Translators: this is a printer status. #: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1998 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 msgid "Paused" msgstr "Pause" @@ -1609,41 +1691,41 @@ msgstr "Klarte ikke å hente informasjon om skriveren" msgid "Getting printer information..." msgstr "Henter informasjon om skriver …" -#: ../gtk/gtkprintunixdialog.c:2140 +#: ../gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "Skriver" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2150 +#: ../gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "Adresse" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2161 +#: ../gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "Status" -#: ../gtk/gtkprintunixdialog.c:2187 +#: ../gtk/gtkprintunixdialog.c:2194 msgid "Range" msgstr "Område" -#: ../gtk/gtkprintunixdialog.c:2191 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "Alle sider" -#: ../gtk/gtkprintunixdialog.c:2198 +#: ../gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "D_enne siden" -#: ../gtk/gtkprintunixdialog.c:2208 +#: ../gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "Utva_lg" -#: ../gtk/gtkprintunixdialog.c:2217 +#: ../gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "Sid_er:" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1651,28 +1733,28 @@ msgstr "" "Oppgi en ett eller flere sideområder,\n" " f.eks 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2228 +#: ../gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "Sider" -#: ../gtk/gtkprintunixdialog.c:2241 +#: ../gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "Kopier" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2246 +#: ../gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "_Kopier:" -#: ../gtk/gtkprintunixdialog.c:2264 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "S_lå sammen" -#: ../gtk/gtkprintunixdialog.c:2272 +#: ../gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "_Omvendt" -#: ../gtk/gtkprintunixdialog.c:2292 +#: ../gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "Generelt" @@ -1682,168 +1764,168 @@ msgstr "Generelt" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3039 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "Venstre til høyre, topp til bunn" -#: ../gtk/gtkprintunixdialog.c:3025 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3534 +#: ../gtk/gtkprintunixdialog.c:3039 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "Venstre til høyre, bunn til topp" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3040 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "Høyre til venstre, topp til bunn" -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3535 +#: ../gtk/gtkprintunixdialog.c:3040 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "Høyre til venstre, bunn til topp" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3041 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "Topp til bunn, venstre til høyre" -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3536 +#: ../gtk/gtkprintunixdialog.c:3041 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "Topp til bunn, høyre til venstre" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "Bunn til topp, venstre til høyre" -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3537 +#: ../gtk/gtkprintunixdialog.c:3042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "Bunn til topp, høyre til venstre" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3032 ../gtk/gtkprintunixdialog.c:3045 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3569 +#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Siderekkefølge" -#: ../gtk/gtkprintunixdialog.c:3061 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "Venstre til høyre" -#: ../gtk/gtkprintunixdialog.c:3062 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "Høyre til venstre" -#: ../gtk/gtkprintunixdialog.c:3074 +#: ../gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "Topp til bunn" -#: ../gtk/gtkprintunixdialog.c:3075 +#: ../gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "Bunn til topp" -#: ../gtk/gtkprintunixdialog.c:3315 +#: ../gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "Utforming" -#: ../gtk/gtkprintunixdialog.c:3319 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "T_osidig:" -#: ../gtk/gtkprintunixdialog.c:3334 +#: ../gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "Ark per _side:" -#: ../gtk/gtkprintunixdialog.c:3351 +#: ../gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "Si_derekkefølge:" -#: ../gtk/gtkprintunixdialog.c:3367 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "K_un skriv ut:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3382 +#: ../gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "Alle ark" -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "Like ark" -#: ../gtk/gtkprintunixdialog.c:3384 +#: ../gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "Ulike ark" -#: ../gtk/gtkprintunixdialog.c:3387 +#: ../gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "Sk_aler:" -#: ../gtk/gtkprintunixdialog.c:3414 +#: ../gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "Papir" -#: ../gtk/gtkprintunixdialog.c:3418 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "Papir_type:" -#: ../gtk/gtkprintunixdialog.c:3433 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "Papi_rkilde:" -#: ../gtk/gtkprintunixdialog.c:3448 +#: ../gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "U_tskuff:" -#: ../gtk/gtkprintunixdialog.c:3488 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "Or_ientering:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3503 +#: ../gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "Portrett" -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "Landskap" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "Omvendt portrett" -#: ../gtk/gtkprintunixdialog.c:3506 +#: ../gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "Omvendt landskap" -#: ../gtk/gtkprintunixdialog.c:3551 +#: ../gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "Detaljer for jobb" -#: ../gtk/gtkprintunixdialog.c:3557 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "Pri_oritet:" -#: ../gtk/gtkprintunixdialog.c:3572 +#: ../gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr "_Faktureringsinformasjon:" -#: ../gtk/gtkprintunixdialog.c:3590 +#: ../gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "Skriv ut dokument" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3599 +#: ../gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "_Nå" -#: ../gtk/gtkprintunixdialog.c:3610 +#: ../gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "_Tid:" @@ -1851,7 +1933,7 @@ msgstr "_Tid:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3616 +#: ../gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1859,72 +1941,72 @@ msgstr "" "Oppgi klokkeslett for utskrift.\n" " f.eks 15.30, 2.35 pm, 14.15.20, 11.46.30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3626 +#: ../gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "Tid for utskrift" -#: ../gtk/gtkprintunixdialog.c:3642 +#: ../gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "På _vent" -#: ../gtk/gtkprintunixdialog.c:3643 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" msgstr "Sett jobben på vent inntil den er eksplisitt aktivert" -#: ../gtk/gtkprintunixdialog.c:3663 +#: ../gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "Legg til omslag" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3672 +#: ../gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "_Før:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3690 +#: ../gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "_Etter:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3708 +#: ../gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "Jobb" -#: ../gtk/gtkprintunixdialog.c:3774 +#: ../gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "Avansert" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3812 +#: ../gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" msgstr "Bildekvalitet" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3816 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "Farge" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3821 +#: ../gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "Fullfører" -#: ../gtk/gtkprintunixdialog.c:3831 +#: ../gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" msgstr "Noen innstillinger i dialogen er i konflikt" -#: ../gtk/gtkprintunixdialog.c:3854 +#: ../gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "Skriv ut" -#: ../gtk/gtkrc.c:947 +#: ../gtk/gtkrc.c:946 #, c-format msgid "Unable to locate image file in pixmap_path: \"%s\"" msgstr "Klarte ikke å finne bildefil i pixmap_path: «%s»" @@ -1939,36 +2021,36 @@ msgstr "Denne funksjonen er ikke implementert for komponenter av klasse «%s»" msgid "Select which type of documents are shown" msgstr "Velg hvilke dokumenttyper som skal vises" -#: ../gtk/gtkrecentchooserdefault.c:1133 ../gtk/gtkrecentchooserdefault.c:1170 +#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 #, c-format msgid "No item for URI '%s' found" msgstr "Ingen oppføring funnet for URI «%s»" -#: ../gtk/gtkrecentchooserdefault.c:1297 +#: ../gtk/gtkrecentchooserdefault.c:1301 msgid "Untitled filter" msgstr "Filter uten tittel" -#: ../gtk/gtkrecentchooserdefault.c:1650 +#: ../gtk/gtkrecentchooserdefault.c:1654 msgid "Could not remove item" msgstr "Klarte ikke å fjerne oppføring" -#: ../gtk/gtkrecentchooserdefault.c:1694 +#: ../gtk/gtkrecentchooserdefault.c:1698 msgid "Could not clear list" msgstr "Klarte ikke tømme listen" -#: ../gtk/gtkrecentchooserdefault.c:1778 +#: ../gtk/gtkrecentchooserdefault.c:1782 msgid "Copy _Location" msgstr "Kopier _adresse" -#: ../gtk/gtkrecentchooserdefault.c:1791 +#: ../gtk/gtkrecentchooserdefault.c:1795 msgid "_Remove From List" msgstr "Fje_rn fra listen" -#: ../gtk/gtkrecentchooserdefault.c:1800 +#: ../gtk/gtkrecentchooserdefault.c:1804 msgid "_Clear List" msgstr "_Tøm listen" -#: ../gtk/gtkrecentchooserdefault.c:1814 +#: ../gtk/gtkrecentchooserdefault.c:1818 msgid "Show _Private Resources" msgstr "Vis _private ressurser" @@ -2034,12 +2116,12 @@ msgid "No registered application with name '%s' for item with URI '%s' found" msgstr "" "Ingen registrerte programmer med navn «%s» funnet for oppføring med URI «%s»" -#: ../gtk/gtkspinner.c:326 +#: ../gtk/gtkspinner.c:289 msgctxt "throbbing progress animation widget" msgid "Spinner" msgstr "Spinner" -#: ../gtk/gtkspinner.c:327 +#: ../gtk/gtkspinner.c:290 msgid "Provides visual indication of progress" msgstr "Gir visuell indikasjon av framdrift" @@ -2551,7 +2633,7 @@ msgstr "Zoom _ut" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:296 ../gtk/gtkswitch.c:339 ../gtk/gtkswitch.c:531 +#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 msgctxt "switch" msgid "ON" msgstr "PÅ" @@ -2559,17 +2641,17 @@ msgstr "PÅ" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:340 ../gtk/gtkswitch.c:552 +#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 msgctxt "switch" msgid "OFF" msgstr "AV" -#: ../gtk/gtkswitch.c:943 +#: ../gtk/gtkswitch.c:959 msgctxt "light switch widget" msgid "Switch" msgstr "Bryter" -#: ../gtk/gtkswitch.c:944 +#: ../gtk/gtkswitch.c:960 msgid "Switches between on and off states" msgstr "Bytter mellom av/på tilstand" @@ -2583,111 +2665,112 @@ msgstr "Ukjent feil ved forsøk på å deserialisere %s" msgid "No deserialize function found for format %s" msgstr "Ingen de-serialiseringsfunksjon funnet for format %s" -#: ../gtk/gtktextbufferserialize.c:799 ../gtk/gtktextbufferserialize.c:825 +#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 #, c-format msgid "Both \"id\" and \"name\" were found on the <%s> element" msgstr "Både «id» og «name» ble finnet i element <%s>" -#: ../gtk/gtktextbufferserialize.c:809 ../gtk/gtktextbufferserialize.c:835 +#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 #, c-format msgid "The attribute \"%s\" was found twice on the <%s> element" msgstr "Attributten «%s» ble funnet to ganger på element <%s>" -#: ../gtk/gtktextbufferserialize.c:851 +#: ../gtk/gtktextbufferserialize.c:852 #, c-format msgid "<%s> element has invalid ID \"%s\"" msgstr "Element <%s> har ugyldig ID «%s»" -#: ../gtk/gtktextbufferserialize.c:861 +#: ../gtk/gtktextbufferserialize.c:862 #, c-format msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" msgstr "Element <%s> har ikke et «name»- eller «id»-element" -#: ../gtk/gtktextbufferserialize.c:948 +#: ../gtk/gtktextbufferserialize.c:949 #, c-format msgid "Attribute \"%s\" repeated twice on the same <%s> element" msgstr "Attributt «%s» gjentatt to ganger på samme <%s>-element" -#: ../gtk/gtktextbufferserialize.c:966 ../gtk/gtktextbufferserialize.c:991 +#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 #, c-format msgid "Attribute \"%s\" is invalid on <%s> element in this context" msgstr "Attributt «%s» er ugyldig på <%s>-element i denne konteksten" -#: ../gtk/gtktextbufferserialize.c:1030 +#: ../gtk/gtktextbufferserialize.c:1031 #, c-format msgid "Tag \"%s\" has not been defined." msgstr "Tagg «%s» er ikke definert." -#: ../gtk/gtktextbufferserialize.c:1042 +#: ../gtk/gtktextbufferserialize.c:1043 msgid "Anonymous tag found and tags can not be created." msgstr "Anonym tagg funnet og tagger kan ikke opprettes." -#: ../gtk/gtktextbufferserialize.c:1053 +#: ../gtk/gtktextbufferserialize.c:1054 #, c-format msgid "Tag \"%s\" does not exist in buffer and tags can not be created." msgstr "Tagg «%s» eksisterer ikke i bufferen og tagger kan ikke opprettes." -#: ../gtk/gtktextbufferserialize.c:1152 ../gtk/gtktextbufferserialize.c:1227 -#: ../gtk/gtktextbufferserialize.c:1332 ../gtk/gtktextbufferserialize.c:1406 +#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 +#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 #, c-format msgid "Element <%s> is not allowed below <%s>" msgstr "Element <%s> er ikke tillatt under <%s>" -#: ../gtk/gtktextbufferserialize.c:1183 +#: ../gtk/gtktextbufferserialize.c:1184 #, c-format msgid "\"%s\" is not a valid attribute type" msgstr "«%s» er ikke en gyldig type attributt" -#: ../gtk/gtktextbufferserialize.c:1191 +#: ../gtk/gtktextbufferserialize.c:1192 #, c-format msgid "\"%s\" is not a valid attribute name" msgstr "«%s» er ikke et gyldig attributtnavn" -#: ../gtk/gtktextbufferserialize.c:1201 +#: ../gtk/gtktextbufferserialize.c:1202 #, c-format msgid "" "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "«%s» kunne ikke konverteres til en verdi av type «%s» for attributt «%s»" +msgstr "" +"«%s» kunne ikke konverteres til en verdi av type «%s» for attributt «%s»" -#: ../gtk/gtktextbufferserialize.c:1210 +#: ../gtk/gtktextbufferserialize.c:1211 #, c-format msgid "\"%s\" is not a valid value for attribute \"%s\"" msgstr "«%s» er ikke en gyldig verdi for attributt «%s»" -#: ../gtk/gtktextbufferserialize.c:1295 +#: ../gtk/gtktextbufferserialize.c:1296 #, c-format msgid "Tag \"%s\" already defined" msgstr "Tagg «%s» er allerede definert" -#: ../gtk/gtktextbufferserialize.c:1308 +#: ../gtk/gtktextbufferserialize.c:1309 #, c-format msgid "Tag \"%s\" has invalid priority \"%s\"" msgstr "Tagg «%s» har ugyldig prioritet «%s»" -#: ../gtk/gtktextbufferserialize.c:1361 +#: ../gtk/gtktextbufferserialize.c:1362 #, c-format msgid "Outermost element in text must be not <%s>" msgstr "Det ytterste elementet i en tekst må være ikke <%s>" -#: ../gtk/gtktextbufferserialize.c:1370 ../gtk/gtktextbufferserialize.c:1386 +#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 #, c-format msgid "A <%s> element has already been specified" msgstr "Et element <%s> er allerede spesifisert" -#: ../gtk/gtktextbufferserialize.c:1392 +#: ../gtk/gtktextbufferserialize.c:1393 msgid "A element can't occur before a element" msgstr "Et -element kan ikke brukes før et -element" -#: ../gtk/gtktextbufferserialize.c:1792 +#: ../gtk/gtktextbufferserialize.c:1793 msgid "Serialized data is malformed" msgstr "Serialiserte data har feil utforming" -#: ../gtk/gtktextbufferserialize.c:1870 +#: ../gtk/gtktextbufferserialize.c:1871 msgid "" "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" msgstr "" -"Serialiserte data er feilutformet.Første del er ikke GTKTEXTBUFFERCONTENTS-" -"0001" +"Serialiserte data er feilutformet.Første del er ikke " +"GTKTEXTBUFFERCONTENTS-0001" #: ../gtk/gtktextutil.c:60 msgid "LRM _Left-to-right mark" @@ -2729,11 +2812,6 @@ msgstr "ZWJ Zero width _joiner" msgid "ZWNJ Zero width _non-joiner" msgstr "ZWNJ Zero width _non-joiner" -#: ../gtk/gtkthemes.c:72 -#, c-format -msgid "Unable to locate theme engine in module_path: \"%s\"," -msgstr "Klarte ikke å finne temamotor i module_path: «%s»." - #: ../gtk/gtkuimanager.c:1506 #, c-format msgid "Unexpected start tag '%s' on line %d char %d" @@ -3778,254 +3856,254 @@ msgstr "Vietnamesisk (VIQR)" msgid "X Input Method" msgstr "X-inndatametode" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:810 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1020 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 msgid "Username:" msgstr "Brukernavn:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:811 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1029 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 msgid "Password:" msgstr "Passord:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:850 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1042 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 #, c-format msgid "Authentication is required to print document '%s' on printer %s" msgstr "Autentisering kreves for å skrive ut dokument «%s» på skriver %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:852 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 #, c-format msgid "Authentication is required to print a document on %s" msgstr "Autentisering kreves for å skrive ut et dokument på %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 #, c-format msgid "Authentication is required to get attributes of job '%s'" msgstr "Autentisering kreves for å hente attributter for jobb «%s»" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:858 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 msgid "Authentication is required to get attributes of a job" msgstr "Autentisering kreves for å hente attributter for en jobb" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 #, c-format msgid "Authentication is required to get attributes of printer %s" msgstr "Autentisering kreves for å hente attributter for skriver %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:864 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 msgid "Authentication is required to get attributes of a printer" msgstr "Autentisering kreves for å hente attributter for en skriver" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:867 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 #, c-format msgid "Authentication is required to get default printer of %s" msgstr "Autentisering kreves for å hente forvalgt skriver for %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:870 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 #, c-format msgid "Authentication is required to get printers from %s" msgstr "Autentisering kreves for å hente skrivere fra %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:875 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 #, c-format msgid "Authentication is required to get a file from %s" msgstr "Autentisering kreves for å hente en fil fra %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:877 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 #, c-format msgid "Authentication is required on %s" msgstr "Autentisering kreves på %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1014 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 msgid "Domain:" msgstr "Domene:" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1044 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 #, c-format msgid "Authentication is required to print document '%s'" msgstr "Autentisering kreves for å skrive ut dokument «%s»" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1049 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 #, c-format msgid "Authentication is required to print this document on printer %s" msgstr "Autentisering kreves for å skrive ut dette dokumentet på skriver %s" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1051 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 msgid "Authentication is required to print this document" msgstr "Autentisering kreves for å skrive ut dette dokumentet" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1672 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 #, c-format msgid "Printer '%s' is low on toner." msgstr "Skriver «%s» har lite toner." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1673 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 #, c-format msgid "Printer '%s' has no toner left." msgstr "Skriver «%s» er tom for toner." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1675 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 #, c-format msgid "Printer '%s' is low on developer." msgstr "Skriver «%s» har lite framkallingsmiddel." #. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 #, c-format msgid "Printer '%s' is out of developer." msgstr "Skriver «%s» er tom for framkallingsmiddel." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 #, c-format msgid "Printer '%s' is low on at least one marker supply." msgstr "Skriver «%s» har minst en tonerkassett som snart er tom." #. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 #, c-format msgid "Printer '%s' is out of at least one marker supply." msgstr "Skriver «%s» har minst en tom tonerkassett." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1682 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 #, c-format msgid "The cover is open on printer '%s'." msgstr "Lokket er åpent på skriver «%s»." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 #, c-format msgid "The door is open on printer '%s'." msgstr "Døren er åpen på skriver «%s»." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1684 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 #, c-format msgid "Printer '%s' is low on paper." msgstr "Skriver «%s» har lite papir." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 #, c-format msgid "Printer '%s' is out of paper." msgstr "Skriver «%s» er tom for papir." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 #, c-format msgid "Printer '%s' is currently offline." msgstr "Skriver «%s» er frakoblet for tiden." -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 #, c-format msgid "There is a problem on printer '%s'." msgstr "Det er et problem med skriver «%s»." #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1995 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 msgid "Paused ; Rejecting Jobs" msgstr "Satt på pause. Avviser jobber" #. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2001 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 msgid "Rejecting Jobs" msgstr "Avviser jobber" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2777 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 msgid "Two Sided" msgstr "Tosidig" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2778 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 msgid "Paper Type" msgstr "Papirtype" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2779 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 msgid "Paper Source" msgstr "Papirkilde" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2780 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 msgid "Output Tray" msgstr "Utskuff" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 msgid "Resolution" msgstr "Oppløsning" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 msgid "GhostScript pre-filtering" msgstr "Forhåndsfiltrering med GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2791 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 msgid "One Sided" msgstr "Ensidig" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2793 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 msgid "Long Edge (Standard)" msgstr "Lang kant (standard)" #. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 msgid "Short Edge (Flip)" msgstr "Kort kant (vend)" #. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 msgid "Auto Select" msgstr "Velg automatisk" #. Translators: this is an option of "Paper Source" #. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 #: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3305 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 msgid "Printer Default" msgstr "Forvalg for skriver" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 msgid "Embed GhostScript fonts only" msgstr "Bygg kun inn GhostScript-skrifter" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 msgid "Convert to PS level 1" msgstr "Konverter til PS nivå 1" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 msgid "Convert to PS level 2" msgstr "Konverter til PS nivå 2" #. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 msgid "No pre-filtering" msgstr "Ingen forhåndsfiltrering" #. Translators: "Miscellaneous" is the label for a button, that opens #. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2826 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 msgid "Miscellaneous" msgstr "Forskjellig" #. Translators: These strings name the possible values of the #. * job priority option in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Urgent" msgstr "Haster" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "High" msgstr "Høy" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Medium" msgstr "Middels" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3529 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 msgid "Low" msgstr "Lav" @@ -4033,66 +4111,66 @@ msgstr "Lav" #. Translators, this string is used to label the pages-per-sheet option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3553 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 msgid "Pages per Sheet" msgstr "Sider per ark" #. Translators, this string is used to label the job priority option #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3590 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 msgid "Job Priority" msgstr "Prioritet for jobb" #. Translators, this string is used to label the billing info entry #. * in the print dialog #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3601 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 msgid "Billing Info" msgstr "Faktureringsinformasjon:" #. Translators, these strings are names for various 'standard' cover #. * pages that the printing system may support. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "None" msgstr "Ingen" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Classified" msgstr "Klassifisert" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Confidential" msgstr "Konfidensiell" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Secret" msgstr "Hemmelig" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Standard" msgstr "Vanlig" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Top Secret" msgstr "Topphemmelig" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3616 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 msgid "Unclassified" msgstr "Ikke klassifisert" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3651 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 msgid "Before" msgstr "Før" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3666 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 msgid "After" msgstr "Etter" @@ -4100,14 +4178,14 @@ msgstr "Etter" #. * a print job is printed. Possible values are 'now', a specified time, #. * or 'on hold' #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3686 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 msgid "Print at" msgstr "Tidspunkt for utskrift" #. Translators: this is the name of the option that allows the user #. * to specify a time when a print job will be printed. #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3697 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 msgid "Print at time" msgstr "Tidspunkt for utskrift" @@ -4115,7 +4193,7 @@ msgstr "Tidspunkt for utskrift" #. * size. The two placeholders are replaced with the width and height #. * in points. E.g: "Custom 230.4x142.9" #. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3732 +#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 #, c-format msgid "Custom %sx%s" msgstr "Egendefinert %s×%s" @@ -4130,28 +4208,28 @@ msgstr "utfil.%s" msgid "Print to File" msgstr "Skriv ut til fil" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "PDF" msgstr "PDF" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "Postscript" msgstr "Postscript" -#: ../modules/printbackends/file/gtkprintbackendfile.c:578 +#: ../modules/printbackends/file/gtkprintbackendfile.c:627 msgid "SVG" msgstr "SVG" -#: ../modules/printbackends/file/gtkprintbackendfile.c:590 +#: ../modules/printbackends/file/gtkprintbackendfile.c:640 #: ../modules/printbackends/test/gtkprintbackendtest.c:503 msgid "Pages per _sheet:" msgstr "_Sider per ark:" -#: ../modules/printbackends/file/gtkprintbackendfile.c:649 +#: ../modules/printbackends/file/gtkprintbackendfile.c:699 msgid "File" msgstr "Fil" -#: ../modules/printbackends/file/gtkprintbackendfile.c:659 +#: ../modules/printbackends/file/gtkprintbackendfile.c:709 msgid "_Output format" msgstr "F_ormat" @@ -4219,12 +4297,3 @@ msgid "" msgstr "" "Feil under lasting av bilde «%s»: årsak ikke kjent, sannsynligvis korrupt " "bildefil" - -#~ msgid "X screen to use" -#~ msgstr "X-skjerm som skal brukes" - -#~ msgid "SCREEN" -#~ msgstr "SKJERM" - -#~ msgid "Make X calls synchronous" -#~ msgstr "Gjør kall til X-bibliotekene synkrone" From 77ad5096a9938e3348e4fea9583e464af580d17d Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Sat, 15 Jan 2011 12:07:46 +0100 Subject: [PATCH 1405/1463] Add missing files --- po/POTFILES.in | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/po/POTFILES.in b/po/POTFILES.in index d89eb7375d..a57514ba91 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,6 +1,8 @@ # Files from the Gtk distribution which have already been # marked to allow runtime translation of messages gdk/gdk.c +gdk/gdkapplaunchcontext.c +gdk/gdkcursor.c gdk/gdkdevice.c gdk/gdkdevicemanager.c gdk/gdkdisplaymanager.c @@ -13,6 +15,7 @@ gdk/x11/gdkapplaunchcontext-x11.c gdk/x11/gdkdevice-xi.c gdk/x11/gdkdevice-xi2.c gdk/x11/gdkdevicemanager-xi.c +gdk/x11/gdkdevicemanager-xi2.c gdk/x11/gdkmain-x11.c gtk/gtkaboutdialog.c gtk/gtkaccelgroup.c @@ -27,6 +30,7 @@ gtk/gtkalignment.c gtk/gtkarrow.c gtk/gtkaspectframe.c gtk/gtkanimationdescription.c +gtk/gtkappchooser.c gtk/gtkappchooserbutton.c gtk/gtkappchooserdialog.c gtk/gtkappchooserwidget.c @@ -40,6 +44,9 @@ gtk/gtkbuilder.c gtk/gtkbuilderparser.c gtk/gtkbutton.c gtk/gtkcalendar.c +gtk/gtkcellarea.c +gtk/gtkcellareabox.c +gtk/gtkcellareacontext.c gtk/gtkcelleditable.c gtk/gtkcelllayout.c gtk/gtkcellrendereraccel.c @@ -87,6 +94,7 @@ gtk/gtkfixed.c gtk/gtkfontbutton.c gtk/gtkfontsel.c gtk/gtkframe.c +gtk/gtkgrid.c gtk/gtkhandlebox.c gtk/gtkhbbox.c gtk/gtkhbox.c @@ -124,6 +132,7 @@ gtk/gtkmountoperation.c gtk/gtkmountoperation-stub.c gtk/gtkmountoperation-x11.c gtk/gtknotebook.c +gtk/gtknumerableicon.c gtk/gtkorientable.c gtk/gtkpagesetup.c gtk/gtkpagesetupunixdialog.c @@ -154,6 +163,7 @@ gtk/gtkrecentchoosermenu.c gtk/gtkrecentmanager.c gtk/gtkscalebutton.c gtk/gtkscale.c +gtk/gtkscrollable.c gtk/gtkscrollbar.c gtk/gtkscrolledwindow.c gtk/gtkselection.c From fed55eaf36646f1fa8655267f36ffbc7e17d6e95 Mon Sep 17 00:00:00 2001 From: Kjartan Maraas Date: Sat, 15 Jan 2011 12:08:06 +0100 Subject: [PATCH 1406/1463] =?UTF-8?q?Updated=20Norwegian=20bokm=C3=A5l=20t?= =?UTF-8?q?ranslation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- po/nb.po | 41 ++++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/po/nb.po b/po/nb.po index 58b138297e..c7f6cf5892 100644 --- a/po/nb.po +++ b/po/nb.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+ 2.92.x\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-12 10:50+0100\n" -"PO-Revision-Date: 2011-01-12 10:54+0100\n" +"POT-Creation-Date: 2011-01-15 12:07+0100\n" +"PO-Revision-Date: 2011-01-15 12:07+0100\n" "Last-Translator: Torstein Adolf Winterseth \n" "Language-Team: Norwegian Nynorsk \n" "Language: nn\n" @@ -488,7 +488,9 @@ msgstr "Ingen tilgjengelige programmer for åpning av «%s»-filer" msgid "" "Click \"Show other applications\", for more options, or \"Find applications " "online\" to install a new application" -msgstr "Klikk på «Vis andre programmer» for flere alternativer, eller «Finn programmer på nettet» for å installere et nytt program" +msgstr "" +"Klikk på «Vis andre programmer» for flere alternativer, eller «Finn " +"programmer på nettet» for å installere et nytt program" #: ../gtk/gtkappchooserdialog.c:428 msgid "Forget association" @@ -638,7 +640,7 @@ msgstr "Ugyldig" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:730 msgid "New accelerator..." msgstr "Ny hurtigtast …" @@ -857,23 +859,23 @@ msgstr "Høy_re:" msgid "Paper Margins" msgstr "Papirmarger" -#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8227 +#: ../gtk/gtkentry.c:8755 ../gtk/gtktextview.c:8228 msgid "Input _Methods" msgstr "Inndata_metoder" -#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8241 +#: ../gtk/gtkentry.c:8769 ../gtk/gtktextview.c:8242 msgid "_Insert Unicode Control Character" msgstr "Sett _inn Unicode kontrolltegn" -#: ../gtk/gtkentry.c:10224 +#: ../gtk/gtkentry.c:10173 msgid "Caps Lock and Num Lock are on" msgstr "Caps Lock og Num Lock er på" -#: ../gtk/gtkentry.c:10226 +#: ../gtk/gtkentry.c:10175 msgid "Num Lock is on" msgstr "Num Lock er på" -#: ../gtk/gtkentry.c:10228 +#: ../gtk/gtkentry.c:10177 msgid "Caps Lock is on" msgstr "Caps Lock er på" @@ -1467,8 +1469,17 @@ msgstr "Kan ikke avslutte prosess med PID %d: %s" msgid "Page %u" msgstr "Side %u" -#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 -#: ../gtk/gtkpapersize.c:880 +#. Translators: the format here is used to build the string that will be rendered +#. * in the number emblem. +#. +#: ../gtk/gtknumerableicon.c:481 +#, c-format +msgctxt "Number format" +msgid "%d" +msgstr "%d" + +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:847 +#: ../gtk/gtkpapersize.c:889 msgid "Not a valid page setup file" msgstr "Ikke en gyldig fil for sideoppsett" @@ -2633,7 +2644,7 @@ msgstr "Zoom _ut" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553 msgctxt "switch" msgid "ON" msgstr "PÅ" @@ -2641,17 +2652,17 @@ msgstr "PÅ" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569 msgctxt "switch" msgid "OFF" msgstr "AV" -#: ../gtk/gtkswitch.c:959 +#: ../gtk/gtkswitch.c:968 msgctxt "light switch widget" msgid "Switch" msgstr "Bryter" -#: ../gtk/gtkswitch.c:960 +#: ../gtk/gtkswitch.c:969 msgid "Switches between on and off states" msgstr "Bytter mellom av/på tilstand" From ac61edb9fce0cbd1de6fcce6b76bbabfd2edaef1 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sat, 15 Jan 2011 21:34:49 +0900 Subject: [PATCH 1407/1463] Avoid calling gtk_widget_is_visible(NULL) in _gtk_notebook_get_tab_flags(). The tab can be NULL here when GtkNotebook:show-tabs is FALSE. --- gtk/gtknotebook.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtknotebook.c b/gtk/gtknotebook.c index 0d9d9fad46..e94518d29c 100644 --- a/gtk/gtknotebook.c +++ b/gtk/gtknotebook.c @@ -1901,7 +1901,7 @@ _gtk_notebook_get_tab_flags (GtkNotebook *notebook, { GtkNotebookPage *p = pages->data; - if (!gtk_widget_get_visible (p->tab_label)) + if (!p->tab_label || !gtk_widget_get_visible (p->tab_label)) continue; i++; From 46f099441790de5068dfb432256924188f2ddbe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jard=C3=B3n?= Date: Wed, 12 Jan 2011 13:17:34 +0000 Subject: [PATCH 1408/1463] docs: gtkwidget: Add some "Since: 3.0" --- gtk/gtkwidget.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 7be064828a..325788b943 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -4468,6 +4468,8 @@ gtk_widget_unrealize (GtkWidget *widget) * Normally you would only use this function in widget * implementations. You might also use it to schedule a redraw of a * #GtkDrawingArea or some portion thereof. + * + * Since: 3.0 **/ void gtk_widget_queue_draw_region (GtkWidget *widget, @@ -5607,6 +5609,8 @@ gtk_cairo_set_event (cairo_t *cr, * use "else if" statements to check which window should be drawn. * * Returns: %TRUE if @window should be drawn + * + * Since: 3.0 **/ gboolean gtk_cairo_should_draw_window (cairo_t *cr, @@ -5681,6 +5685,8 @@ _gtk_widget_draw_internal (GtkWidget *widget, * Special purpose widgets may contain special code for * rendering to the screen and might appear differently on screen * and when rendered using gtk_widget_draw(). + * + * Since: 3.0 **/ void gtk_widget_draw (GtkWidget *widget, @@ -5832,6 +5838,8 @@ _gtk_widget_get_translation_to_window (GtkWidget *widget, * preparing an expose event to be emitted with the #GtkWidget::draw * signal. It is intended to help porting multiwindow widgets from * GTK+ 2 to the rendering architecture of GTK+ 3. + * + * Since: 3.0 **/ void gtk_cairo_transform_to_window (cairo_t *cr, From 9f78fd22bcace7594a0754a99a0f0795acf93309 Mon Sep 17 00:00:00 2001 From: Inaki Larranaga Murgoitio Date: Sat, 15 Jan 2011 18:17:38 +0100 Subject: [PATCH 1409/1463] Updated Basque language --- po-properties/eu.po | 5334 +++++++++++++++++++++---------------------- 1 file changed, 2624 insertions(+), 2710 deletions(-) diff --git a/po-properties/eu.po b/po-properties/eu.po index f116a6d7bb..fd503ed91e 100644 --- a/po-properties/eu.po +++ b/po-properties/eu.po @@ -1,162 +1,172 @@ -# translation of eu.po to Basque +# translation of eu2.po to Basque # Hizkuntza Politikarako Sailburuordetza , 2005. -# Iñaki Larrañaga Murgoitio , 2006, 2008, 2009, 2010. +# Iñaki Larrañaga Murgoitio , 2006, 2008, 2009, 2010, 2011. # Iñaki Larrañaga Murgoitio , 2007. msgid "" msgstr "" -"Project-Id-Version: eu\n" +"Project-Id-Version: eu2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-10-01 15:54-0400\n" -"PO-Revision-Date: 2010-03-27 13:46+0100\n" +"POT-Creation-Date: 2011-01-15 18:15+0100\n" +"PO-Revision-Date: 2011-01-15 18:17+0100\n" "Last-Translator: Iñaki Larrañaga Murgoitio \n" "Language-Team: Basque \n" -"Language: eu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Language: eu\n" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "\n" # -#: gdk/gdkdevice.c:97 -#, fuzzy -msgid "Device Display" -msgstr "Bistaratze lehenetsia" - -#: gdk/gdkdevice.c:98 -#, fuzzy -msgid "Display which the device belongs to" -msgstr "Bistaratu gelaxka sentikorra" - -#: gdk/gdkdevice.c:112 -#, fuzzy -msgid "Device manager" -msgstr "Azkenen kudeatzailea" - -#: gdk/gdkdevice.c:113 -msgid "Device manager which the device belongs to" -msgstr "" - -# -#: gdk/gdkdevice.c:127 gdk/gdkdevice.c:128 -#, fuzzy -msgid "Device name" -msgstr "Trepeta-izena" - -# -#: gdk/gdkdevice.c:142 -#, fuzzy -msgid "Device type" -msgstr "Kurba-mota" - -#: gdk/gdkdevice.c:143 -msgid "Device role in the device manager" -msgstr "" - -#: gdk/gdkdevice.c:159 -msgid "Associated device" -msgstr "" - -#: gdk/gdkdevice.c:160 -msgid "Associated pointer or keyboard with this device" -msgstr "" - -#: gdk/gdkdevice.c:173 -msgid "Input source" -msgstr "" - -#: gdk/gdkdevice.c:174 -#, fuzzy -msgid "Source type for the device" -msgstr "Zuhaitz-ikuspegirako modeloa" - -#: gdk/gdkdevice.c:189 gdk/gdkdevice.c:190 -#, fuzzy -msgid "Input mode for the device" -msgstr "Zuhaitz-ikuspegirako modeloa" - -#: gdk/gdkdevice.c:205 -#, fuzzy -msgid "Whether the device has a cursor" -msgstr "Trepetak sarrera-fokua duen ala ez adierazten du" - -#: gdk/gdkdevice.c:206 -#, fuzzy -msgid "Whether there is a visible cursor following device motion" -msgstr "Karaktereen ikusezintasuna ezarri den edo ez" - -#: gdk/gdkdevice.c:220 gdk/gdkdevice.c:221 -#, fuzzy -msgid "Number of axes in the device" -msgstr "Dokumentuaren orrialde kopurua." - -# -#: gdk/gdkdevicemanager.c:134 -#, fuzzy +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 msgid "Display" -msgstr "Bistaratze lehenetsia" - -#: gdk/gdkdevicemanager.c:135 -#, fuzzy -msgid "Display for the device manager" -msgstr "Bistaratu gelaxka" +msgstr "Bistaratu" # -#: gdk/gdkdisplaymanager.c:102 +#: ../gdk/gdkcursor.c:128 +msgid "Cursor type" +msgstr "Kurtsore mota" + +#: ../gdk/gdkcursor.c:129 +msgid "Standard cursor type" +msgstr "Kurtsore mota estandarra" + +#: ../gdk/gdkcursor.c:137 +msgid "Display of this cursor" +msgstr "Bistaratu kurtsore hau" + +# +#: ../gdk/gdkdevice.c:111 +msgid "Device Display" +msgstr "Gailuaren pantaila" + +#: ../gdk/gdkdevice.c:112 +msgid "Display which the device belongs to" +msgstr "Gailuari dagokion pantaila" + +#: ../gdk/gdkdevice.c:126 +msgid "Device manager" +msgstr "Gailuen kudeatzailea" + +#: ../gdk/gdkdevice.c:127 +msgid "Device manager which the device belongs to" +msgstr "Gailuen kudeatzailea (gailua horren mendeko dena)" + +# +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 +msgid "Device name" +msgstr "Gailuaren izena" + +# +#: ../gdk/gdkdevice.c:156 +msgid "Device type" +msgstr "Gailu mota" + +#: ../gdk/gdkdevice.c:157 +msgid "Device role in the device manager" +msgstr "Gailuaren betekizuna gailuen kudeatzailean" + +#: ../gdk/gdkdevice.c:173 +msgid "Associated device" +msgstr "Esleitutako gailua" + +#: ../gdk/gdkdevice.c:174 +msgid "Associated pointer or keyboard with this device" +msgstr "Gailu honekin esleitutako erakusle edo teklatua" + +#: ../gdk/gdkdevice.c:187 +msgid "Input source" +msgstr "Sarrerako iturburua" + +#: ../gdk/gdkdevice.c:188 +msgid "Source type for the device" +msgstr "Gailuaren iturburu mota" + +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 +msgid "Input mode for the device" +msgstr "Gailuaren sarrera modua" + +#: ../gdk/gdkdevice.c:219 +msgid "Whether the device has a cursor" +msgstr "Gailuak kurtsore bat duen edo ez" + +#: ../gdk/gdkdevice.c:220 +msgid "Whether there is a visible cursor following device motion" +msgstr "Gailuaren mugimenduari jarraitzen dion kurtsore ikusgai bat dagoen edo ez" + +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 +msgid "Number of axes in the device" +msgstr "Ardatz kopurua gailuan" + +#: ../gdk/gdkdevicemanager.c:147 +msgid "Display for the device manager" +msgstr "Gailuen kudeatzailearen pantaila" + +# +#: ../gdk/gdkdisplaymanager.c:117 msgid "Default Display" msgstr "Bistaratze lehenetsia" -#: gdk/gdkdisplaymanager.c:103 +#: ../gdk/gdkdisplaymanager.c:118 msgid "The default display for GDK" msgstr "GDKren bistaratze lehenetsia" # -#: gdk/gdkscreen.c:72 +#: ../gdk/gdkscreen.c:89 msgid "Font options" msgstr "Letra-tipoaren aukerak" -#: gdk/gdkscreen.c:73 +#: ../gdk/gdkscreen.c:90 msgid "The default font options for the screen" msgstr "Pantailako letra-tipo lehenetsiaren aukerak" # -#: gdk/gdkscreen.c:80 +#: ../gdk/gdkscreen.c:97 msgid "Font resolution" msgstr "Letra-tipoaren bereizmena" -#: gdk/gdkscreen.c:81 +#: ../gdk/gdkscreen.c:98 msgid "The resolution for fonts on the screen" msgstr "Pantailako letra-tipoaren bereizmena" # -#: gdk/gdkwindow.c:392 gdk/gdkwindow.c:393 +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 msgid "Cursor" msgstr "Kurtsorea" -#: gdk/x11/gdkdevice-xi.c:132 gdk/x11/gdkdevice-xi.c:133 -#: gdk/x11/gdkdevice-xi2.c:111 +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 msgid "Device ID" -msgstr "" +msgstr "Gailuaren IDa" -#: gdk/x11/gdkdevice-xi2.c:112 +#: ../gdk/x11/gdkdevice-xi2.c:124 msgid "Device identifier" -msgstr "" +msgstr "Gailuaren identifikatzailea" -#: gdk/x11/gdkdevicemanager-xi.c:84 -#, fuzzy +# +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +msgid "Opcode" +msgstr "Eragiketa-kodea" + +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +msgid "Opcode for XInput2 requests" +msgstr "Eragiketa-kodea XInput2 eskaerentzako" + +#: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" -msgstr "Gertaerak" +msgstr "Gertaeraren oinarria" -#: gdk/x11/gdkdevicemanager-xi.c:85 +#: ../gdk/x11/gdkdevicemanager-xi.c:96 msgid "Event base for XInput events" -msgstr "" +msgstr "Gertaeren oinarria XInput gertaerentzako" -#: gtk/gtkaboutdialog.c:269 +#: ../gtk/gtkaboutdialog.c:276 msgid "Program name" msgstr "Programa-izena" -#: gtk/gtkaboutdialog.c:270 +#: ../gtk/gtkaboutdialog.c:277 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -164,98 +174,91 @@ msgstr "" "Programaren izena. Ez badago ezarrita, g_get_application_name() jarriko da " "lehenetsi gisa." -#: gtk/gtkaboutdialog.c:284 +#: ../gtk/gtkaboutdialog.c:291 msgid "Program version" msgstr "Programa-bertsioa" -#: gtk/gtkaboutdialog.c:285 +#: ../gtk/gtkaboutdialog.c:292 msgid "The version of the program" msgstr "Programaren bertsioa" -#: gtk/gtkaboutdialog.c:299 +#: ../gtk/gtkaboutdialog.c:306 msgid "Copyright string" msgstr "Copyright-aren katea" -#: gtk/gtkaboutdialog.c:300 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright information for the program" msgstr "Programaren Copyright informazioa" -#: gtk/gtkaboutdialog.c:317 +#: ../gtk/gtkaboutdialog.c:324 msgid "Comments string" msgstr "Iruzkin-katea" -#: gtk/gtkaboutdialog.c:318 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments about the program" msgstr "Programari buruzko iruzkinak" -#: gtk/gtkaboutdialog.c:368 -#, fuzzy +#: ../gtk/gtkaboutdialog.c:375 msgid "License Type" -msgstr "Mezu-mota" +msgstr "Lizentzia mota" -#: gtk/gtkaboutdialog.c:369 -#, fuzzy +#: ../gtk/gtkaboutdialog.c:376 msgid "The license type of the program" -msgstr "Programaren bertsioa" +msgstr "Programaren lizentzia mota" -#: gtk/gtkaboutdialog.c:385 +#: ../gtk/gtkaboutdialog.c:392 msgid "Website URL" msgstr "Web gunearen URLa" -#: gtk/gtkaboutdialog.c:386 +#: ../gtk/gtkaboutdialog.c:393 msgid "The URL for the link to the website of the program" msgstr "Programaren web gunearen estekaren URLa" -#: gtk/gtkaboutdialog.c:401 +#: ../gtk/gtkaboutdialog.c:407 msgid "Website label" msgstr "Web guneko etiketa" -#: gtk/gtkaboutdialog.c:402 -msgid "" -"The label for the link to the website of the program. If this is not set, it " -"defaults to the URL" -msgstr "" -"Programaren web gunearen estekarentzako etiketa. Ez bada ezartzen, " -"lehenetsitako URLa erabiliko da." +#: ../gtk/gtkaboutdialog.c:408 +msgid "The label for the link to the website of the program" +msgstr "Etiketa programaren webgunearen estekarentzako" -#: gtk/gtkaboutdialog.c:418 +#: ../gtk/gtkaboutdialog.c:424 msgid "Authors" msgstr "Egileak" -#: gtk/gtkaboutdialog.c:419 +#: ../gtk/gtkaboutdialog.c:425 msgid "List of authors of the program" msgstr "Programaren egileen zerrenda" -#: gtk/gtkaboutdialog.c:435 +#: ../gtk/gtkaboutdialog.c:441 msgid "Documenters" msgstr "Dokumentalistak" -#: gtk/gtkaboutdialog.c:436 +#: ../gtk/gtkaboutdialog.c:442 msgid "List of people documenting the program" msgstr "Programarako informazioa bildu duten pertsonen zerrenda" -#: gtk/gtkaboutdialog.c:452 +#: ../gtk/gtkaboutdialog.c:458 msgid "Artists" msgstr "Artistak" -#: gtk/gtkaboutdialog.c:453 +#: ../gtk/gtkaboutdialog.c:459 msgid "List of people who have contributed artwork to the program" msgstr "Programako artelanak egin dituzten pertsonen zerrenda" -#: gtk/gtkaboutdialog.c:470 +#: ../gtk/gtkaboutdialog.c:476 msgid "Translator credits" msgstr "Itzultzaileen kredituak" -#: gtk/gtkaboutdialog.c:471 -msgid "" -"Credits to the translators. This string should be marked as translatable" +#: ../gtk/gtkaboutdialog.c:477 +msgid "Credits to the translators. This string should be marked as translatable" msgstr "Itzultzaileen kredituak. Kate haut itzulgai gisa markatu behar da" -#: gtk/gtkaboutdialog.c:486 +#: ../gtk/gtkaboutdialog.c:492 msgid "Logo" msgstr "Logotipoa" -#: gtk/gtkaboutdialog.c:487 +#: ../gtk/gtkaboutdialog.c:493 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -263,110 +266,111 @@ msgstr "" "'Honi buruzko' kutxaren logotipoa. Ez bada ezartzen, " "gtk_window_get_default_icon_list() erabiliko da lehenetsi gisa." -#: gtk/gtkaboutdialog.c:502 +#: ../gtk/gtkaboutdialog.c:508 msgid "Logo Icon Name" msgstr "Logotipoaren ikonoaren izena" -#: gtk/gtkaboutdialog.c:503 +#: ../gtk/gtkaboutdialog.c:509 msgid "A named icon to use as the logo for the about box." msgstr "'Honi buruz' kutxako logotipoan erabiliko den izendun ikonoa" # -#: gtk/gtkaboutdialog.c:516 +#: ../gtk/gtkaboutdialog.c:522 msgid "Wrap license" msgstr "Saltatu lizentzia" -#: gtk/gtkaboutdialog.c:517 +#: ../gtk/gtkaboutdialog.c:523 msgid "Whether to wrap the license text." msgstr "Lizentziako testua saltatuko den edo ez." -#: gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:187 msgid "Accelerator Closure" msgstr "Bizkortzailea ixtea" -#: gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:188 msgid "The closure to be monitored for accelerator changes" msgstr "Bizkortzailearen aldaketentzat kontrolatu beharreko itxiera" -#: gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:194 msgid "Accelerator Widget" msgstr "Bizkortzailearen trepeta" -#: gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:195 msgid "The widget to be monitored for accelerator changes" msgstr "Bizkortzailearen aldaketentzat kontrolatu beharreko trepeta" # -#: gtk/gtkaction.c:222 gtk/gtkactiongroup.c:228 gtk/gtkprinter.c:125 -#: gtk/gtktextmark.c:89 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "Izena" -#: gtk/gtkaction.c:223 +#: ../gtk/gtkaction.c:223 msgid "A unique name for the action." msgstr "Ekintza honentzako izen bakarra." -#: gtk/gtkaction.c:241 gtk/gtkbutton.c:238 gtk/gtkexpander.c:209 -#: gtk/gtkframe.c:130 gtk/gtklabel.c:549 gtk/gtkmenuitem.c:333 -#: gtk/gtktoolbutton.c:202 gtk/gtktoolitemgroup.c:1571 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1594 msgid "Label" msgstr "Etiketa" -#: gtk/gtkaction.c:242 +#: ../gtk/gtkaction.c:242 msgid "The label used for menu items and buttons that activate this action." msgstr "" "Ekintza hau aktibatzen duten menu-elementuetarako eta botoietarako " "erabiltzen den etiketa." -#: gtk/gtkaction.c:258 +#: ../gtk/gtkaction.c:258 msgid "Short label" msgstr "Etiketa laburra" -#: gtk/gtkaction.c:259 +#: ../gtk/gtkaction.c:259 msgid "A shorter label that may be used on toolbar buttons." msgstr "Tresna-barraren botoietan erabil daitekeen etiketa laburragoa." -#: gtk/gtkaction.c:267 +#: ../gtk/gtkaction.c:267 msgid "Tooltip" msgstr "Argibidea" -#: gtk/gtkaction.c:268 +#: ../gtk/gtkaction.c:268 msgid "A tooltip for this action." msgstr "Ekintza honetarako argibidea." -#: gtk/gtkaction.c:283 +#: ../gtk/gtkaction.c:283 msgid "Stock Icon" msgstr "Oinarri-ikonoa" -#: gtk/gtkaction.c:284 +#: ../gtk/gtkaction.c:284 msgid "The stock icon displayed in widgets representing this action." msgstr "Ekintza hau adierazten duten trepetetan bistaratutako oinarri-ikonoa." # -#: gtk/gtkaction.c:304 gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 msgid "GIcon" msgstr "GIcon" -#: gtk/gtkaction.c:305 gtk/gtkcellrendererpixbuf.c:215 gtk/gtkimage.c:320 -#: gtk/gtkstatusicon.c:253 +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "GIcon bistaratuta" -#: gtk/gtkaction.c:325 gtk/gtkcellrendererpixbuf.c:180 gtk/gtkimage.c:302 -#: gtk/gtkprinter.c:174 gtk/gtkstatusicon.c:236 gtk/gtkwindow.c:685 +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:309 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Ikono-izena" -#: gtk/gtkaction.c:326 gtk/gtkcellrendererpixbuf.c:181 gtk/gtkimage.c:303 -#: gtk/gtkstatusicon.c:237 +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:310 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "Ikono-gaiko ikonoaren izena" -#: gtk/gtkaction.c:333 gtk/gtktoolitem.c:186 +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 msgid "Visible when horizontal" msgstr "Ikusgai horizontal dagoenean" -#: gtk/gtkaction.c:334 gtk/gtktoolitem.c:187 +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 msgid "" "Whether the toolbar item is visible when the toolbar is in a horizontal " "orientation." @@ -374,11 +378,11 @@ msgstr "" "Tresna-barra horizontal dagoenean tresna-barrako elementua ikusgai dagoen " "ala ez adierazten du." -#: gtk/gtkaction.c:349 +#: ../gtk/gtkaction.c:349 msgid "Visible when overflown" msgstr "Ikusgai gainezka egitean" -#: gtk/gtkaction.c:350 +#: ../gtk/gtkaction.c:350 msgid "" "When TRUE, toolitem proxies for this action are represented in the toolbar " "overflow menu." @@ -386,11 +390,11 @@ msgstr "" "TRUE (egia) denean, menuen proxy-ak tresna-barrako gainezkako menuan " "adierazten dira." -#: gtk/gtkaction.c:357 gtk/gtktoolitem.c:193 +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 msgid "Visible when vertical" msgstr "Ikusgai bertikal dagoenean" -#: gtk/gtkaction.c:358 gtk/gtktoolitem.c:194 +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 msgid "" "Whether the toolbar item is visible when the toolbar is in a vertical " "orientation." @@ -398,11 +402,11 @@ msgstr "" "Tresna-barra bertikal dagoenean tresna-barrako elementua ikusgai dagoen ala " "ez adierazten du." -#: gtk/gtkaction.c:365 gtk/gtktoolitem.c:200 +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 msgid "Is important" msgstr "Garrantzitsua da" -#: gtk/gtkaction.c:366 +#: ../gtk/gtkaction.c:366 msgid "" "Whether the action is considered important. When TRUE, toolitem proxies for " "this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." @@ -411,39 +415,39 @@ msgstr "" "honetako toolitem proxy-ek testua GTK_TOOLBAR_BOTH_HORIZ moduan adierazten " "dute." -#: gtk/gtkaction.c:374 +#: ../gtk/gtkaction.c:374 msgid "Hide if empty" msgstr "Ezkutatu hutsa badago" -#: gtk/gtkaction.c:375 +#: ../gtk/gtkaction.c:375 msgid "When TRUE, empty menu proxies for this action are hidden." -msgstr "" -"TRUE (egia) denean, ekintza honetako menu hutseko proxy-ak ezkutatuta daude." +msgstr "TRUE (egia) denean, ekintza honetako menu hutseko proxy-ak ezkutatuta daude." -#: gtk/gtkaction.c:381 gtk/gtkactiongroup.c:235 gtk/gtkcellrenderer.c:242 -#: gtk/gtkwidget.c:754 +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:941 msgid "Sensitive" msgstr "Sentikorra" -#: gtk/gtkaction.c:382 +#: ../gtk/gtkaction.c:382 msgid "Whether the action is enabled." msgstr "Ekintza gaituta dagoen ala ez adierazten du." # -#: gtk/gtkaction.c:388 gtk/gtkactiongroup.c:242 gtk/gtkstatusicon.c:287 -#: gtk/gtktreeviewcolumn.c:195 gtk/gtkwidget.c:747 +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:934 msgid "Visible" msgstr "Ikusgai" -#: gtk/gtkaction.c:389 +#: ../gtk/gtkaction.c:389 msgid "Whether the action is visible." msgstr "Ekintza ikusgai dagoen ala ez adierazten du." -#: gtk/gtkaction.c:395 +#: ../gtk/gtkaction.c:395 msgid "Action Group" msgstr "Ekintza-taldea" -#: gtk/gtkaction.c:396 +#: ../gtk/gtkaction.c:396 msgid "" "The GtkActionGroup this GtkAction is associated with, or NULL (for internal " "use)." @@ -451,101 +455,101 @@ msgstr "" "GtkAction honekin lotuta dagoen GtkActionGroup, edo NULL (barne-" "erabilerarako)." -#: gtk/gtkaction.c:414 gtk/gtkimagemenuitem.c:172 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "Erakutsi beti irudia" -#: gtk/gtkaction.c:415 gtk/gtkimagemenuitem.c:173 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "Irudia beti erakutsiko den ala ez adierazten du" -#: gtk/gtkactiongroup.c:229 +#: ../gtk/gtkactiongroup.c:229 msgid "A name for the action group." msgstr "Ekintza-talderako izena." -#: gtk/gtkactiongroup.c:236 +#: ../gtk/gtkactiongroup.c:236 msgid "Whether the action group is enabled." msgstr "Ekintza-taldea gaituta dagoen ala ez adierazten du." -#: gtk/gtkactiongroup.c:243 +#: ../gtk/gtkactiongroup.c:243 msgid "Whether the action group is visible." msgstr "Ekintza-taldea ikusgai dagoen ala ez adierazten du." # -#: gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:289 msgid "Related Action" msgstr "Dagokion ekintza" -#: gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:290 msgid "The action this activatable will activate and receive updates from" msgstr "" "Aktibagarri honek aktibatuko duen ekintza eta bertatik jasoko dituen " "eguneraketak" -#: gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:312 msgid "Use Action Appearance" msgstr "Erabili ekintzaren itxura" -#: gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:313 msgid "Whether to use the related actions appearance properties" msgstr "Dagokien ekintzen itxuraren propietateak erabili edo ez" # -#: gtk/gtkadjustment.c:93 gtk/gtkcellrendererprogress.c:126 -#: gtk/gtkscalebutton.c:220 gtk/gtkspinbutton.c:289 +#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 msgid "Value" msgstr "Balioa" -#: gtk/gtkadjustment.c:94 +#: ../gtk/gtkadjustment.c:124 msgid "The value of the adjustment" msgstr "Doikuntzaren balioa" -#: gtk/gtkadjustment.c:110 +#: ../gtk/gtkadjustment.c:140 msgid "Minimum Value" msgstr "Balio minimoa" -#: gtk/gtkadjustment.c:111 +#: ../gtk/gtkadjustment.c:141 msgid "The minimum value of the adjustment" msgstr "Doikuntzaren balio minimoa" -#: gtk/gtkadjustment.c:130 +#: ../gtk/gtkadjustment.c:160 msgid "Maximum Value" msgstr "Balio maximoa" -#: gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:161 msgid "The maximum value of the adjustment" msgstr "Doikuntzaren balio maximoa" -#: gtk/gtkadjustment.c:147 +#: ../gtk/gtkadjustment.c:177 msgid "Step Increment" msgstr "Urrats-gehikuntza" -#: gtk/gtkadjustment.c:148 +#: ../gtk/gtkadjustment.c:178 msgid "The step increment of the adjustment" msgstr "Doikuntzaren urrats-gehikuntza" -#: gtk/gtkadjustment.c:164 +#: ../gtk/gtkadjustment.c:194 msgid "Page Increment" msgstr "Orri-gehikuntza" -#: gtk/gtkadjustment.c:165 +#: ../gtk/gtkadjustment.c:195 msgid "The page increment of the adjustment" msgstr "Doikuntzaren orri-gehikuntza" # -#: gtk/gtkadjustment.c:184 +#: ../gtk/gtkadjustment.c:214 msgid "Page Size" msgstr "Orrialde-tamaina" -#: gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:215 msgid "The page size of the adjustment" msgstr "Doikuntzaren orrialde-tamaina" -#: gtk/gtkalignment.c:123 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "Lerrokatze horizontala" -#: gtk/gtkalignment.c:124 gtk/gtkbutton.c:289 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -553,11 +557,11 @@ msgstr "" "Umearen kokaleku horizontala leku erabilgarrian. 0.0 ezkerrean lerrokatzea " "da, 1.0 eskuinean" -#: gtk/gtkalignment.c:133 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "Lerrokatze bertikala" -#: gtk/gtkalignment.c:134 gtk/gtkbutton.c:308 +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -566,11 +570,11 @@ msgstr "" "behean lerrokatzea" # -#: gtk/gtkalignment.c:142 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "Eskala horizontala" -#: gtk/gtkalignment.c:143 +#: ../gtk/gtkalignment.c:157 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -579,11 +583,11 @@ msgstr "" "umeak zenbat erabili behar duen adierazten du. 0.0 'bat ere ez' da, eta 1.0 " "'dena'." -#: gtk/gtkalignment.c:151 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "Eskala bertikala" -#: gtk/gtkalignment.c:152 +#: ../gtk/gtkalignment.c:166 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -591,203 +595,278 @@ msgstr "" "Erabilgarri dagoen leku bertikala umeak behar duena baino handiagoa bada, " "harrak zenbat erabili behar duen. 0.0k bat ere ez esan nahi du eta 1.0k dena." -#: gtk/gtkalignment.c:169 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "Goiko betegarria" -#: gtk/gtkalignment.c:170 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "Trepetaren goialdean txertatzeko betegarria." -#: gtk/gtkalignment.c:186 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "Beheko betegarria" -#: gtk/gtkalignment.c:187 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "Trepetaren behealdean txertatzeko betegarria." -#: gtk/gtkalignment.c:203 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "Ezkerreko betegarria" -#: gtk/gtkalignment.c:204 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "Trepetaren ezkerrean txertatzeko betegarria." -#: gtk/gtkalignment.c:220 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "Eskuineko betegarria" -#: gtk/gtkalignment.c:221 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "Trepetaren eskuinean txertatzeko betegarria." +#: ../gtk/gtkappchooserbutton.c:538 +msgid "Include an 'Other...' item" +msgstr "Sartu 'Bestelakoa...' elementu bat" + +#: ../gtk/gtkappchooserbutton.c:539 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" +"Konbinazio-koadroak 'GtkAppChooserDialog' abiarazten duen elementu bat eduki " +"behar duen edo ez" + +#: ../gtk/gtkappchooser.c:58 +msgid "Content type" +msgstr "Eduki mota" + +#: ../gtk/gtkappchooser.c:59 +msgid "The content type used by the open with object" +msgstr "'Ireki objektuarekin' erabilitako eduki mota" + +#: ../gtk/gtkappchooserdialog.c:683 +msgid "GFile" +msgstr "GFile" + +#: ../gtk/gtkappchooserdialog.c:684 +msgid "The GFile used by the app chooser dialog" +msgstr "Aplikazioaren aukeratzailearen elkarrizketa-koadroak erabilitako GFile" + +#: ../gtk/gtkappchooserwidget.c:1017 +msgid "Show default app" +msgstr "Erakutsi aplikazio lehenetsia" + +#: ../gtk/gtkappchooserwidget.c:1018 +msgid "Whether the widget should show the default application" +msgstr "Trepetak aplikazio lehenetsia erakutsi behar duen edo ez" + +#: ../gtk/gtkappchooserwidget.c:1031 +msgid "Show recommended apps" +msgstr "Erakutsi gomendatutako aplikazioak" + +#: ../gtk/gtkappchooserwidget.c:1032 +msgid "Whether the widget should show recommended applications" +msgstr "Trepetak gomendatutako aplikazioak erakutsi behar dituen edo ez" + +#: ../gtk/gtkappchooserwidget.c:1045 +msgid "Show fallback apps" +msgstr "Erakutsi ordezko aplikazioak" + +#: ../gtk/gtkappchooserwidget.c:1046 +msgid "Whether the widget should show fallback applications" +msgstr "Trepetak ordezko aplikazioak erakutsi behar dituen edo ez" + +#: ../gtk/gtkappchooserwidget.c:1058 +msgid "Show other apps" +msgstr "Erakutsi beste aplikazioak" + +#: ../gtk/gtkappchooserwidget.c:1059 +msgid "Whether the widget should show other applications" +msgstr "Trepetak beste aplikazioak erakutsi behar dituen edo ez" + +#: ../gtk/gtkappchooserwidget.c:1072 +msgid "Show all apps" +msgstr "Erakutsi aplikazio guztiak" + +#: ../gtk/gtkappchooserwidget.c:1073 +msgid "Whether the widget should show all applications" +msgstr "Trepetak aplikazio guztiak erakutsi behar dituen edo ez" + +#: ../gtk/gtkappchooserwidget.c:1086 +msgid "Widget's default text" +msgstr "Trepetaren testu lehenetsia" + +#: ../gtk/gtkappchooserwidget.c:1087 +msgid "The default text appearing when there are no applications" +msgstr "Aplikaziorik ez dagoenean agertuko den testu lehenetsia" + # -#: gtk/gtkarrow.c:110 +#: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Geziaren noranzkoa" -#: gtk/gtkarrow.c:111 +#: ../gtk/gtkarrow.c:111 msgid "The direction the arrow should point" msgstr "Geziak seinalatu behar duen noranzkoa" -#: gtk/gtkarrow.c:119 +#: ../gtk/gtkarrow.c:119 msgid "Arrow shadow" msgstr "Gezi-itzala" -#: gtk/gtkarrow.c:120 +#: ../gtk/gtkarrow.c:120 msgid "Appearance of the shadow surrounding the arrow" msgstr "Gezia inguratzen duen itzalaren itxura" # -#: gtk/gtkarrow.c:127 gtk/gtkmenu.c:735 gtk/gtkmenuitem.c:396 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Gezia eskalatzea" -#: gtk/gtkarrow.c:128 +#: ../gtk/gtkarrow.c:128 msgid "Amount of space used up by arrow" msgstr "Geziak erabiltzen duen leku kopurua" -#: gtk/gtkaspectframe.c:109 gtk/gtkwidget.c:950 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1129 msgid "Horizontal Alignment" msgstr "Lerrokatze horizontala" -#: gtk/gtkaspectframe.c:110 +#: ../gtk/gtkaspectframe.c:110 msgid "X alignment of the child" msgstr "Umearen X lerrokatzea" -#: gtk/gtkaspectframe.c:116 gtk/gtkwidget.c:966 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1145 msgid "Vertical Alignment" msgstr "Lerrokatze bertikala" -#: gtk/gtkaspectframe.c:117 +#: ../gtk/gtkaspectframe.c:117 msgid "Y alignment of the child" msgstr "Umearen Y lerrokatzea" -#: gtk/gtkaspectframe.c:123 +#: ../gtk/gtkaspectframe.c:123 msgid "Ratio" msgstr "Erlazioa" -#: gtk/gtkaspectframe.c:124 +#: ../gtk/gtkaspectframe.c:124 msgid "Aspect ratio if obey_child is FALSE" msgstr "Aspektu-erlazioa obey_child FALTSUA bada" -#: gtk/gtkaspectframe.c:130 +#: ../gtk/gtkaspectframe.c:130 msgid "Obey child" msgstr "Umeari obeditu" -#: gtk/gtkaspectframe.c:131 +#: ../gtk/gtkaspectframe.c:131 msgid "Force aspect ratio to match that of the frame's child" msgstr "Behartu aspektu-erlazioa markoaren umearekin bat etor dadin" -#: gtk/gtkassistant.c:310 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "Goiburuko betegarria" -#: gtk/gtkassistant.c:311 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "Goiburuaren inguruko pixel kopurua." -#: gtk/gtkassistant.c:318 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "Edukiaren betegarria" -#: gtk/gtkassistant.c:319 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "Edukiaren orrialdeen inguruko pixel kopurua." -#: gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "Orrialde mota" -#: gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "Laguntzako orrialde mota" # -#: gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "Orrialdearen titulua" -#: gtk/gtkassistant.c:354 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "Laguntzako orrialdearen titulua" -#: gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "Goiburuko irudia" -#: gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "Laguntzako orrialdearen goiburuko irudia" -#: gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "Albo-panelaren irudia" -#: gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "Laguntzako orrialdearen albo-panelaren irudia" -#: gtk/gtkassistant.c:403 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "Orrialdea osatu da" -#: gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "Orrialdean beharrezko eremu guztiak bete diren edo ez" -#: gtk/gtkbbox.c:135 +#: ../gtk/gtkbbox.c:152 msgid "Minimum child width" msgstr "Umearen gutxieneko zabalera" -#: gtk/gtkbbox.c:136 +#: ../gtk/gtkbbox.c:153 msgid "Minimum width of buttons inside the box" msgstr "Laukiaren barruan botoiek duten gutxieneko zabalera" -#: gtk/gtkbbox.c:144 +#: ../gtk/gtkbbox.c:161 msgid "Minimum child height" msgstr "Umearen gutxieneko altuera" -#: gtk/gtkbbox.c:145 +#: ../gtk/gtkbbox.c:162 msgid "Minimum height of buttons inside the box" msgstr "Laukiaren barruan botoiek duten gutxieneko altuera" -#: gtk/gtkbbox.c:153 +#: ../gtk/gtkbbox.c:170 msgid "Child internal width padding" msgstr "Umearen barneko zabaleraren betegarria" -#: gtk/gtkbbox.c:154 +#: ../gtk/gtkbbox.c:171 msgid "Amount to increase child's size on either side" msgstr "Umearen tamaina bi alboetan handitzeko kopurua" -#: gtk/gtkbbox.c:162 +#: ../gtk/gtkbbox.c:179 msgid "Child internal height padding" msgstr "Umearen barneko altueraren betegarria" -#: gtk/gtkbbox.c:163 +#: ../gtk/gtkbbox.c:180 msgid "Amount to increase child's size on the top and bottom" msgstr "Umearen tamaina goian eta behean handitzeko kopurua" -#: gtk/gtkbbox.c:171 +#: ../gtk/gtkbbox.c:188 msgid "Layout style" msgstr "Diseinuaren estiloa" -#: gtk/gtkbbox.c:172 -#, fuzzy +#: ../gtk/gtkbbox.c:189 msgid "" "How to lay out the buttons in the box. Possible values are: spread, edge, " "start and end" msgstr "" -"Botoiak laukian nola antolatuko diren. Hauek dira balio posibleak: " -"lehenetsia, zabalduta, ertzean, hasieran eta amaieran" +"Botoiak laukian nola antolatuko diren. Hauek dira balio posibleak: spread " +"(zabalduta), edge (ertzean), start (hasieran) eta end (amaieran)" -#: gtk/gtkbbox.c:180 +#: ../gtk/gtkbbox.c:197 msgid "Secondary" msgstr "Bigarren mailakoa" -#: gtk/gtkbbox.c:181 +#: ../gtk/gtkbbox.c:198 msgid "" "If TRUE, the child appears in a secondary group of children, suitable for, e." "g., help buttons" @@ -796,41 +875,42 @@ msgstr "" "laguntza-botoietarako egoki" # -#: gtk/gtkbox.c:227 gtk/gtkexpander.c:233 gtk/gtkiconview.c:666 -#: gtk/gtktreeviewcolumn.c:220 +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:640 ../gtk/gtktreeviewcolumn.c:268 msgid "Spacing" msgstr "Tartea" -#: gtk/gtkbox.c:228 +#: ../gtk/gtkbox.c:242 msgid "The amount of space between children" msgstr "Umeen arteko tarte-kopurua" -#: gtk/gtkbox.c:237 gtk/gtktable.c:184 gtk/gtktoolbar.c:527 -#: gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 +#: ../gtk/gtktoolitemgroup.c:1647 msgid "Homogeneous" msgstr "Homogeneoa" -#: gtk/gtkbox.c:238 +#: ../gtk/gtkbox.c:252 msgid "Whether the children should all be the same size" msgstr "Ume guztiek tamaina bera eduki behar duten ala ez adierazten du" -#: gtk/gtkbox.c:254 gtk/gtktoolbar.c:519 gtk/gtktoolitemgroup.c:1631 -#: gtk/gtktoolpalette.c:1065 gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1654 ../gtk/gtktoolpalette.c:1094 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Zabaldu" -#: gtk/gtkbox.c:255 +#: ../gtk/gtkbox.c:269 msgid "Whether the child should receive extra space when the parent grows" msgstr "" "Gurasoa handitzean, umeak beste tarte bat jaso behar duen ala ez adierazten " "du" # -#: gtk/gtkbox.c:271 gtk/gtktoolitemgroup.c:1638 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1661 msgid "Fill" msgstr "Bete" -#: gtk/gtkbox.c:272 +#: ../gtk/gtkbox.c:282 msgid "" "Whether extra space given to the child should be allocated to the child or " "used as padding" @@ -838,21 +918,21 @@ msgstr "" "Umeari emandako beste tartea umeari esleitu behar zaion ala tarte betegarri " "gisa erabili behar den adierazten du" -#: gtk/gtkbox.c:279 gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 msgid "Padding" msgstr "Betegarria" -#: gtk/gtkbox.c:280 +#: ../gtk/gtkbox.c:290 msgid "Extra space to put between the child and its neighbors, in pixels" msgstr "" "Umearen eta haren ingurukoen artean jarri beharreko tarte osagarria, " "pixeletan" -#: gtk/gtkbox.c:286 +#: ../gtk/gtkbox.c:296 msgid "Pack type" msgstr "Pakete-mota" -#: gtk/gtkbox.c:287 gtk/gtknotebook.c:692 +#: ../gtk/gtkbox.c:297 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -860,36 +940,36 @@ msgstr "" "Umea gurasoaren hasierari edo amaierari erreferentzia eginez paketatu den " "adierazten duen GtkPackType" -#: gtk/gtkbox.c:293 gtk/gtknotebook.c:670 gtk/gtkpaned.c:270 -#: gtk/gtkruler.c:158 gtk/gtktoolitemgroup.c:1652 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 +#: ../gtk/gtktoolitemgroup.c:1675 msgid "Position" msgstr "Kokalekua" -#: gtk/gtkbox.c:294 gtk/gtknotebook.c:671 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 msgid "The index of the child in the parent" msgstr "Umearen indizea gurasoan" -#: gtk/gtkbuilder.c:315 +#: ../gtk/gtkbuilder.c:314 msgid "Translation Domain" msgstr "Itzulpenaren domeinua" -#: gtk/gtkbuilder.c:316 +#: ../gtk/gtkbuilder.c:315 msgid "The translation domain used by gettext" msgstr "Gettext-ek erabiltzen duen itzulpenaren domeinua" -#: gtk/gtkbutton.c:239 +#: ../gtk/gtkbutton.c:228 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" msgstr "Etiketa-trepetaren testua botoi barruan, botoiak etiketa-trepeta badu" -#: gtk/gtkbutton.c:246 gtk/gtkexpander.c:217 gtk/gtklabel.c:570 -#: gtk/gtkmenuitem.c:348 gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 msgid "Use underline" msgstr "Erabili azpimarra" -#: gtk/gtkbutton.c:247 gtk/gtkexpander.c:218 gtk/gtklabel.c:571 -#: gtk/gtkmenuitem.c:349 +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -897,73 +977,72 @@ msgstr "" "Ezartzen bada, testuko azpimarrak adierazten du hurrengo karakterea tekla " "bizkortzaile mnemoteknikorako erabili behar dela" -#: gtk/gtkbutton.c:254 gtk/gtkimagemenuitem.c:153 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "Erabili oinarria" -#: gtk/gtkbutton.c:255 -msgid "" -"If set, the label is used to pick a stock item instead of being displayed" +#: ../gtk/gtkbutton.c:244 +msgid "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "Ezartzen bada, etiketa oinarriko elementu bat hautatzeko erabiltzen da, " "bistaratu ordez" -#: gtk/gtkbutton.c:262 gtk/gtkcombobox.c:811 gtk/gtkfilechooserbutton.c:385 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 +#: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Fokua klik egindakoan" -#: gtk/gtkbutton.c:263 gtk/gtkfilechooserbutton.c:386 +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" -msgstr "" -"Botoiak saguaren klik egindakoan fokua hartzen duen ala ez adierazten du" +msgstr "Botoiak saguaren klik egindakoan fokua hartzen duen ala ez adierazten du" -#: gtk/gtkbutton.c:270 +#: ../gtk/gtkbutton.c:259 msgid "Border relief" msgstr "Ertzaren erliebea" -#: gtk/gtkbutton.c:271 +#: ../gtk/gtkbutton.c:260 msgid "The border relief style" msgstr "Ertzaren erliebearen estiloa" -#: gtk/gtkbutton.c:288 +#: ../gtk/gtkbutton.c:277 msgid "Horizontal alignment for child" msgstr "Umearentzako lerrokatze horizontala" -#: gtk/gtkbutton.c:307 +#: ../gtk/gtkbutton.c:296 msgid "Vertical alignment for child" msgstr "Umearentzako lerrokatze bertikala" # -#: gtk/gtkbutton.c:324 gtk/gtkimagemenuitem.c:138 +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "Ikono-trepeta" -#: gtk/gtkbutton.c:325 +#: ../gtk/gtkbutton.c:314 msgid "Child widget to appear next to the button text" msgstr "Menuaren testuaren ondoan agertu beharreko trepeta umea" -#: gtk/gtkbutton.c:339 +#: ../gtk/gtkbutton.c:328 msgid "Image position" msgstr "Irudiaren posizioa" -#: gtk/gtkbutton.c:340 +#: ../gtk/gtkbutton.c:329 msgid "The position of the image relative to the text" msgstr "Irudiaren posizioa, testuarekiko erlatiboa" # -#: gtk/gtkbutton.c:460 +#: ../gtk/gtkbutton.c:449 msgid "Default Spacing" msgstr "Tarte lehenetsia" -#: gtk/gtkbutton.c:461 +#: ../gtk/gtkbutton.c:450 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "GTK_CAN_DEFAULT botoiei gehitzeko tarte osagarria" -#: gtk/gtkbutton.c:475 +#: ../gtk/gtkbutton.c:464 msgid "Default Outside Spacing" msgstr "Kanpoko tarte lehenetsia" -#: gtk/gtkbutton.c:476 +#: ../gtk/gtkbutton.c:465 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -971,29 +1050,27 @@ msgstr "" "GTK_CAN_DEFAULT botoiei gehitzeko tarte osagarria, beti ertzetik kanpo " "marraztuta dagoena" -#: gtk/gtkbutton.c:481 +#: ../gtk/gtkbutton.c:470 msgid "Child X Displacement" msgstr "Umearen X desplazamendua" -#: gtk/gtkbutton.c:482 -msgid "" -"How far in the x direction to move the child when the button is depressed" +#: ../gtk/gtkbutton.c:471 +msgid "How far in the x direction to move the child when the button is depressed" msgstr "Umea noraino eraman behar den x norabidean, botoia askatutakoan" -#: gtk/gtkbutton.c:489 +#: ../gtk/gtkbutton.c:478 msgid "Child Y Displacement" msgstr "Umearen Y desplazamendua" -#: gtk/gtkbutton.c:490 -msgid "" -"How far in the y direction to move the child when the button is depressed" +#: ../gtk/gtkbutton.c:479 +msgid "How far in the y direction to move the child when the button is depressed" msgstr "Umea noraino eraman behar den y norabidean, botoia askatutakoan" -#: gtk/gtkbutton.c:506 +#: ../gtk/gtkbutton.c:495 msgid "Displace focus" msgstr "Fokuaren desplazamendua" -#: gtk/gtkbutton.c:507 +#: ../gtk/gtkbutton.c:496 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -1001,51 +1078,43 @@ msgstr "" "child_displacement_x/_y propietateak foku-laukian ere eragingo duen ala ez " "adierazten du" -#: gtk/gtkbutton.c:520 gtk/gtkentry.c:696 gtk/gtkentry.c:1741 +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Barneko ertza" -#: gtk/gtkbutton.c:521 +#: ../gtk/gtkbutton.c:510 msgid "Border between button edges and child." msgstr "Botoi-ertzaren eta umearen arteko ertza." -#: gtk/gtkbutton.c:534 +#: ../gtk/gtkbutton.c:523 msgid "Image spacing" msgstr "Irudi-tartea" -#: gtk/gtkbutton.c:535 +#: ../gtk/gtkbutton.c:524 msgid "Spacing in pixels between the image and label" msgstr "irudiaren eta etiketaren arteko tartea (pixeletan)" -#: gtk/gtkbutton.c:549 -msgid "Show button images" -msgstr "Erakutsi botoien irudiak" - -#: gtk/gtkbutton.c:550 -msgid "Whether images should be shown on buttons" -msgstr "Irudiak botoietan erakutsi behar diren ala ez adierazten du" - -#: gtk/gtkcalendar.c:478 +#: ../gtk/gtkcalendar.c:468 msgid "Year" msgstr "Urtea" -#: gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:469 msgid "The selected year" msgstr "Hautatutako urtea" -#: gtk/gtkcalendar.c:492 +#: ../gtk/gtkcalendar.c:482 msgid "Month" msgstr "Hila" -#: gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:483 msgid "The selected month (as a number between 0 and 11)" msgstr "Hautatutako hila (0 eta 11 arteko zenbakia)" -#: gtk/gtkcalendar.c:507 +#: ../gtk/gtkcalendar.c:497 msgid "Day" msgstr "Eguna" -#: gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:498 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1054,366 +1123,459 @@ msgstr "" "desautatzeko)" # -#: gtk/gtkcalendar.c:522 +#: ../gtk/gtkcalendar.c:512 msgid "Show Heading" msgstr "Erakutsi izenburua" -#: gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:513 msgid "If TRUE, a heading is displayed" msgstr "TRUE (egia) bada, izenburu bat bistaratuko da" -#: gtk/gtkcalendar.c:537 +#: ../gtk/gtkcalendar.c:527 msgid "Show Day Names" msgstr "Erakutsi egunen izenak" -#: gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:528 msgid "If TRUE, day names are displayed" msgstr "TRUE (egia) bada, egunen izenak bistaratuko dira" -#: gtk/gtkcalendar.c:551 +#: ../gtk/gtkcalendar.c:541 msgid "No Month Change" msgstr "Ezin da hila aldatu" -#: gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, the selected month cannot be changed" msgstr "TRUE (egia) bada, hautatutako hila ezin da aldatu" -#: gtk/gtkcalendar.c:566 +#: ../gtk/gtkcalendar.c:556 msgid "Show Week Numbers" msgstr "Erakutsi asteen zenbakiak" -#: gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:557 msgid "If TRUE, week numbers are displayed" msgstr "TRUE (egia) bada, asteen zenbakiak bistaratuko dira" -#: gtk/gtkcalendar.c:582 +#: ../gtk/gtkcalendar.c:572 msgid "Details Width" msgstr "Zabaleraren xehetasunak" -#: gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:573 msgid "Details width in characters" msgstr "Zabaleraren xehetasuna karakteretan" -#: gtk/gtkcalendar.c:598 +#: ../gtk/gtkcalendar.c:588 msgid "Details Height" msgstr "Altueraren xehetasunak" -#: gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:589 msgid "Details height in rows" msgstr "Altueraren xehetasuna karakteretan" -#: gtk/gtkcalendar.c:615 +#: ../gtk/gtkcalendar.c:605 msgid "Show Details" msgstr "Erakutsi xehetasunak" -#: gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:606 msgid "If TRUE, details are shown" msgstr "TRUE (egia) bada, xehetasunak bistaratuko dira" -#: gtk/gtkcalendar.c:628 -#, fuzzy +#: ../gtk/gtkcalendar.c:618 msgid "Inner border" msgstr "Barneko ertza" -#: gtk/gtkcalendar.c:629 -#, fuzzy +#: ../gtk/gtkcalendar.c:619 msgid "Inner border space" -msgstr "Barneko ertza" +msgstr "Barneko ertzaren espazioa" -#: gtk/gtkcalendar.c:640 -#, fuzzy +#: ../gtk/gtkcalendar.c:630 msgid "Vertical separation" -msgstr "Aukera bertikalak" +msgstr "Bereizle bertikala" -#: gtk/gtkcalendar.c:641 -#, fuzzy +#: ../gtk/gtkcalendar.c:631 msgid "Space between day headers and main area" -msgstr "Zabaltzailearen geziaren eta epigrafearen arteko tartea" +msgstr "Eguneko goiburuen eta area nagusiaren arteko tartea" # -#: gtk/gtkcalendar.c:652 -#, fuzzy +#: ../gtk/gtkcalendar.c:642 msgid "Horizontal separation" -msgstr "Aukera horizontalak" +msgstr "Bereizle horizontala" -#: gtk/gtkcalendar.c:653 -#, fuzzy +#: ../gtk/gtkcalendar.c:643 msgid "Space between week headers and main area" -msgstr "Elkarrizketa-koadro nagusiko areako elementuen arteko tartea" +msgstr "Asteko goiburuen eta area nagusiaren arteko tartea" -#: gtk/gtkcelleditable.c:53 +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "Gelaxken artean txertatuko den tartea" + +#: ../gtk/gtkcellareabox.c:339 +msgid "Whether the cell expands" +msgstr "Gelaxkak zabaldu edo ez" + +# +#: ../gtk/gtkcellareabox.c:354 +msgid "Align" +msgstr "Lerrokatu" + +#: ../gtk/gtkcellareabox.c:355 +msgid "Whether cell should align with adjacent rows" +msgstr "Gelaxka aldameneko errenkadarekin lerrokatuko den edo ez" + +# +#: ../gtk/gtkcellareabox.c:371 +msgid "Fixed Size" +msgstr "Finkatutako tamaina" + +#: ../gtk/gtkcellareabox.c:372 +msgid "Whether cells should be the same size in all rows" +msgstr "Gelaxkek tamaina bera eduki behar duten errenkada guztietan edo ez" + +#: ../gtk/gtkcellareabox.c:388 +msgid "Pack Type" +msgstr "Pakete mota" + +#: ../gtk/gtkcellareabox.c:389 +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" +"Gelaxkaren arearen hasierari edo amaierari erreferentzia eginez gelaxka " +"paketatu den edo ez adierazten duen GtkPackType" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "Fokudun gelaxka" + +#: ../gtk/gtkcellarea.c:774 +msgid "The cell which currently has focus" +msgstr "Unean fokua aktibatuta daukan gelaxka" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "Editatutako gelaxka" + +#: ../gtk/gtkcellarea.c:793 +msgid "The cell which is currently being edited" +msgstr "Unean editatzen ari den gelaxka" + +# +#: ../gtk/gtkcellarea.c:811 +msgid "Edit Widget" +msgstr "Editatu trepeta" + +#: ../gtk/gtkcellarea.c:812 +msgid "The widget currently editing the edited cell" +msgstr "Editatutako gelaxka unean editatzen duen trepeta" + +#: ../gtk/gtkcellareacontext.c:127 +msgid "Area" +msgstr "Area" + +#: ../gtk/gtkcellareacontext.c:128 +msgid "The Cell Area this context was created for" +msgstr "Gelaxkaren area (testuinguru hau sortu zaiona)" + +#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "Gutxieneko zabalera" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +msgid "Minimum cached width" +msgstr "Cachean gordetako gutxieneko zabalera" + +#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 +msgid "Minimum Height" +msgstr "Gutxieneko altuera" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +msgid "Minimum cached height" +msgstr "Cachean gordetako gutxieneko altuera" + +#: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Edizioa bertan behera utzita" -#: gtk/gtkcelleditable.c:54 +#: ../gtk/gtkcelleditable.c:54 msgid "Indicates that editing has been canceled" msgstr "Edizioa bertan behera utzi dela adierazten du" -#: gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:137 msgid "Accelerator key" msgstr "Tekla bizkortzailea" -#: gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "The keyval of the accelerator" msgstr "Bizkortzailearen balioa" -#: gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:154 msgid "Accelerator modifiers" msgstr "Bizkortzailearen aldatzaileak" -#: gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "The modifier mask of the accelerator" msgstr "Bizkortzailearen aldatzaile-maskara" -#: gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:172 msgid "Accelerator keycode" msgstr "Bizkortzailearen kodea" -#: gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "The hardware keycode of the accelerator" msgstr "Bizkortzailearen hardwareko kodea" -#: gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:192 msgid "Accelerator Mode" msgstr "Bizkortzaile modua" -#: gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "The type of accelerators" msgstr "Bizkortzaile motak" # -#: gtk/gtkcellrenderer.c:226 +#: ../gtk/gtkcellrenderer.c:272 msgid "mode" msgstr "modua" -#: gtk/gtkcellrenderer.c:227 +#: ../gtk/gtkcellrenderer.c:273 msgid "Editable mode of the CellRenderer" msgstr "CellRenderer-en modu editagarria" # -#: gtk/gtkcellrenderer.c:235 +#: ../gtk/gtkcellrenderer.c:281 msgid "visible" msgstr "ikusgai" -#: gtk/gtkcellrenderer.c:236 +#: ../gtk/gtkcellrenderer.c:282 msgid "Display the cell" msgstr "Bistaratu gelaxka" -#: gtk/gtkcellrenderer.c:243 +#: ../gtk/gtkcellrenderer.c:289 msgid "Display the cell sensitive" msgstr "Bistaratu gelaxka sentikorra" # -#: gtk/gtkcellrenderer.c:250 +#: ../gtk/gtkcellrenderer.c:296 msgid "xalign" msgstr "xalign" -#: gtk/gtkcellrenderer.c:251 +#: ../gtk/gtkcellrenderer.c:297 msgid "The x-align" msgstr "x lerrokatzea" -#: gtk/gtkcellrenderer.c:260 +#: ../gtk/gtkcellrenderer.c:306 msgid "yalign" msgstr "yalign" -#: gtk/gtkcellrenderer.c:261 +#: ../gtk/gtkcellrenderer.c:307 msgid "The y-align" msgstr "y lerrokatzea" -#: gtk/gtkcellrenderer.c:270 +#: ../gtk/gtkcellrenderer.c:316 msgid "xpad" msgstr "xpad" -#: gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:317 msgid "The xpad" msgstr "x betegarria" -#: gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:326 msgid "ypad" msgstr "ypad" -#: gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:327 msgid "The ypad" msgstr "y betegarria" # -#: gtk/gtkcellrenderer.c:290 +#: ../gtk/gtkcellrenderer.c:336 msgid "width" msgstr "zabalera" # -#: gtk/gtkcellrenderer.c:291 +#: ../gtk/gtkcellrenderer.c:337 msgid "The fixed width" msgstr "zabalera finkoa" # -#: gtk/gtkcellrenderer.c:300 +#: ../gtk/gtkcellrenderer.c:346 msgid "height" msgstr "altuera" -#: gtk/gtkcellrenderer.c:301 +#: ../gtk/gtkcellrenderer.c:347 msgid "The fixed height" msgstr "Altuera finkoa" -#: gtk/gtkcellrenderer.c:310 +#: ../gtk/gtkcellrenderer.c:356 msgid "Is Expander" msgstr "Zabaltzailea da" -#: gtk/gtkcellrenderer.c:311 +#: ../gtk/gtkcellrenderer.c:357 msgid "Row has children" msgstr "Errenkadak umeak ditu" -#: gtk/gtkcellrenderer.c:319 +#: ../gtk/gtkcellrenderer.c:365 msgid "Is Expanded" msgstr "Zabaltzailea da" -#: gtk/gtkcellrenderer.c:320 +#: ../gtk/gtkcellrenderer.c:366 msgid "Row is an expander row, and is expanded" msgstr "Errenkada errenkada zabaltzailea da eta zabalduta dago" -#: gtk/gtkcellrenderer.c:327 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color name" msgstr "Gelaxkaren atzeko planoaren kolore-izena" -#: gtk/gtkcellrenderer.c:328 +#: ../gtk/gtkcellrenderer.c:374 msgid "Cell background color as a string" msgstr "Gelaxkaren atzeko planoaren kolorea kate gisa" -#: gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color" msgstr "Gelaxkaren atzeko planoaren kolorea" -#: gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:382 msgid "Cell background color as a GdkColor" msgstr "Gelaxkaren atzeko planoaren kolorea GdkColor gisa" -#: gtk/gtkcellrenderer.c:343 +#: ../gtk/gtkcellrenderer.c:395 +msgid "Cell background RGBA color" +msgstr "Gelaxkaren atzeko planoaren GBUA kolorea" + +#: ../gtk/gtkcellrenderer.c:396 +msgid "Cell background color as a GdkRGBA" +msgstr "Gelaxkaren atzeko planoaren kolorea GdkRGBA gisa" + +#: ../gtk/gtkcellrenderer.c:403 msgid "Editing" msgstr "Edizioa" -#: gtk/gtkcellrenderer.c:344 +#: ../gtk/gtkcellrenderer.c:404 msgid "Whether the cell renderer is currently in editing mode" msgstr "Gelaxka errendatzea edizio moduan dagoen ala ez adierazten du" -#: gtk/gtkcellrenderer.c:352 +#: ../gtk/gtkcellrenderer.c:412 msgid "Cell background set" msgstr "Gelaxkaren atzeko planoaren ezarpena" -#: gtk/gtkcellrenderer.c:353 +#: ../gtk/gtkcellrenderer.c:413 msgid "Whether this tag affects the cell background color" msgstr "" "Etiketa honek gelaxkaren atzeko planoaren koloreari eragiten dion ala ez " "adierazten du" # -#: gtk/gtkcellrenderercombo.c:110 +#: ../gtk/gtkcellrenderercombo.c:109 msgid "Model" msgstr "Modeloa" -#: gtk/gtkcellrenderercombo.c:111 +#: ../gtk/gtkcellrenderercombo.c:110 msgid "The model containing the possible values for the combo box" msgstr "Konbinazio-koadroaren balio posibleak dituen modeloa" -#: gtk/gtkcellrenderercombo.c:133 gtk/gtkcomboboxentry.c:104 +#: ../gtk/gtkcellrenderercombo.c:132 msgid "Text Column" msgstr "Testu-zutabea" -#: gtk/gtkcellrenderercombo.c:134 gtk/gtkcomboboxentry.c:105 +#: ../gtk/gtkcellrenderercombo.c:133 msgid "A column in the data source model to get the strings from" msgstr "Kateak datu-iturburuen modeloko zein zutabetik hartu behar diren" -#: gtk/gtkcellrenderercombo.c:151 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 msgid "Has Entry" msgstr "Sarrera du" -#: gtk/gtkcellrenderercombo.c:152 +#: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" msgstr "FALSE bada, ez du hautatutakoak ez diren kateak sartzen uzten" -#: gtk/gtkcellrendererpixbuf.c:120 +#: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" msgstr "Pixbuf objektua" -#: gtk/gtkcellrendererpixbuf.c:121 +#: ../gtk/gtkcellrendererpixbuf.c:121 msgid "The pixbuf to render" msgstr "Errendatzeko pixbuf-a" -#: gtk/gtkcellrendererpixbuf.c:128 +#: ../gtk/gtkcellrendererpixbuf.c:128 msgid "Pixbuf Expander Open" msgstr "Pixbuf zabaltzailea irekita" -#: gtk/gtkcellrendererpixbuf.c:129 +#: ../gtk/gtkcellrendererpixbuf.c:129 msgid "Pixbuf for open expander" msgstr "Irekitako zabaltzailearen pixbuf-a" -#: gtk/gtkcellrendererpixbuf.c:136 +#: ../gtk/gtkcellrendererpixbuf.c:136 msgid "Pixbuf Expander Closed" msgstr "Pixbuf zabaltzailea itxita" -#: gtk/gtkcellrendererpixbuf.c:137 +#: ../gtk/gtkcellrendererpixbuf.c:137 msgid "Pixbuf for closed expander" msgstr "Itxitako zabaltzailearen pixbuf-a" -#: gtk/gtkcellrendererpixbuf.c:144 gtk/gtkimage.c:244 gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:251 +#: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "Oinarri-IDa" -#: gtk/gtkcellrendererpixbuf.c:145 +#: ../gtk/gtkcellrendererpixbuf.c:145 msgid "The stock ID of the stock icon to render" msgstr "Errendatu behar den oinarri-ikonoaren oinarri-IDa" # -#: gtk/gtkcellrendererpixbuf.c:152 gtk/gtkcellrendererspinner.c:153 -#: gtk/gtkrecentmanager.c:305 gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "Tamaina" -#: gtk/gtkcellrendererpixbuf.c:153 +#: ../gtk/gtkcellrendererpixbuf.c:153 msgid "The GtkIconSize value that specifies the size of the rendered icon" msgstr "Errendatutako ikonoaren tamaina zehazten duen GtkIconSize-(r)en balioa" -#: gtk/gtkcellrendererpixbuf.c:162 +#: ../gtk/gtkcellrendererpixbuf.c:162 msgid "Detail" msgstr "Xehetasunak" -#: gtk/gtkcellrendererpixbuf.c:163 +#: ../gtk/gtkcellrendererpixbuf.c:163 msgid "Render detail to pass to the theme engine" msgstr "Errendatu gaiaren motorrera pasatzeko xehetasunak " -#: gtk/gtkcellrendererpixbuf.c:196 +#: ../gtk/gtkcellrendererpixbuf.c:196 msgid "Follow State" msgstr "Hurrengo egoera" -#: gtk/gtkcellrendererpixbuf.c:197 +#: ../gtk/gtkcellrendererpixbuf.c:197 msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "" "Errendatutako 'pixbuf'a egoerarekin bat koloreztatuko den ala ez adierazten " "du" # -#: gtk/gtkcellrendererpixbuf.c:214 gtk/gtkimage.c:319 gtk/gtkwindow.c:662 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:326 +#: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Ikonoa" -#: gtk/gtkcellrendererprogress.c:127 +#: ../gtk/gtkcellrendererprogress.c:127 msgid "Value of the progress bar" msgstr "Progresio-barraren balioa" -#: gtk/gtkcellrendererprogress.c:144 gtk/gtkcellrenderertext.c:231 -#: gtk/gtkentry.c:739 gtk/gtkentrybuffer.c:352 gtk/gtkmessagedialog.c:226 -#: gtk/gtkprogressbar.c:150 gtk/gtktextbuffer.c:210 +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 msgid "Text" msgstr "Testua" -#: gtk/gtkcellrendererprogress.c:145 +#: ../gtk/gtkcellrendererprogress.c:145 msgid "Text on the progress bar" msgstr "Progresio-barraren testua" -#: gtk/gtkcellrendererprogress.c:168 gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137 msgid "Pulse" msgstr "Pultsua" -#: gtk/gtkcellrendererprogress.c:169 +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" "Set this to positive values to indicate that some progress is made, but you " "don't know how much." @@ -1421,11 +1583,11 @@ msgstr "" "Ezarri balio positiboekin zehaztasunik gabeko progresio batzuk burutu direla " "adierazteko." -#: gtk/gtkcellrendererprogress.c:185 +#: ../gtk/gtkcellrendererprogress.c:185 msgid "Text x alignment" msgstr "Testuaren x lerrokatzea" -#: gtk/gtkcellrendererprogress.c:186 +#: ../gtk/gtkcellrendererprogress.c:186 msgid "" "The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -1433,242 +1595,258 @@ msgstr "" "Lerrokatze horizontala, 0tik (ezkerretik) 1era (eskuinera). Alderantziz RTL " "diseinuetan." -#: gtk/gtkcellrendererprogress.c:202 +#: ../gtk/gtkcellrendererprogress.c:202 msgid "Text y alignment" msgstr "Testuaren y lerrokatzea" -#: gtk/gtkcellrendererprogress.c:203 +#: ../gtk/gtkcellrendererprogress.c:203 msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "Lerrokatze bertikala, 0tik (goian) 1era (behean)." -#: gtk/gtkcellrendererprogress.c:214 gtk/gtkprogressbar.c:126 -#: gtk/gtkrange.c:427 +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:424 msgid "Inverted" msgstr "Alderantzikatuta" -#: gtk/gtkcellrendererprogress.c:215 gtk/gtkprogressbar.c:127 -#, fuzzy +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 msgid "Invert the direction in which the progress bar grows" -msgstr "Progresio-barraren orientazioa eta hazte-norabidea" +msgstr "Alderantzikatu aurrerapen-barraren hazte-norabidea" -#: gtk/gtkcellrendererspin.c:91 gtk/gtkrange.c:419 gtk/gtkscalebutton.c:239 -#: gtk/gtkspinbutton.c:228 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:416 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Doitzea" -#: gtk/gtkcellrendererspin.c:92 gtk/gtkspinbutton.c:229 -#, fuzzy +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 msgid "The adjustment that holds the value of the spin button" msgstr "Biratze-botoiaren balioa duen doitzea" -#: gtk/gtkcellrendererspin.c:107 +#: ../gtk/gtkcellrendererspin.c:107 msgid "Climb rate" msgstr "Igoera-abiadura" -#: gtk/gtkcellrendererspin.c:108 gtk/gtkspinbutton.c:237 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 msgid "The acceleration rate when you hold down a button" msgstr "Azelerazio-abiadura botoia sakatzean" -#: gtk/gtkcellrendererspin.c:121 gtk/gtkscale.c:244 gtk/gtkspinbutton.c:246 +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:338 msgid "Digits" msgstr "Digituak" -#: gtk/gtkcellrendererspin.c:122 gtk/gtkspinbutton.c:247 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 msgid "The number of decimal places to display" msgstr "Bistaratu beharreko hamartarren kopurua" -#: gtk/gtkcellrendererspinner.c:119 gtk/gtkcheckmenuitem.c:105 -#: gtk/gtkmenu.c:525 gtk/gtkspinner.c:131 gtk/gtktoggleaction.c:133 -#: gtk/gtktogglebutton.c:115 gtk/gtktoggletoolbutton.c:112 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:752 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" msgstr "Aktibo" -#: gtk/gtkcellrendererspinner.c:120 +#: ../gtk/gtkcellrendererspinner.c:120 msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "Birakaria gelaxkan aktibatuta dagoen (bistaratua alegia) edo ez" -#: gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:138 msgid "Pulse of the spinner" msgstr "Birakariaren taupada" -#: gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:152 msgid "The GtkIconSize value that specifies the size of the rendered spinner" -msgstr "" -"Errendatutako birakariaren tamaina zehazten duen GtkIconSize-ren balioa" +msgstr "Errendatutako birakariaren tamaina zehazten duen GtkIconSize-ren balioa" -#: gtk/gtkcellrenderertext.c:232 +#: ../gtk/gtkcellrenderertext.c:256 msgid "Text to render" msgstr "Errendatu beharreko testua" -#: gtk/gtkcellrenderertext.c:239 +#: ../gtk/gtkcellrenderertext.c:263 msgid "Markup" msgstr "Markaketa" -#: gtk/gtkcellrenderertext.c:240 +#: ../gtk/gtkcellrenderertext.c:264 msgid "Marked up text to render" msgstr "Errendatu beharreko testu markatua" -#: gtk/gtkcellrenderertext.c:247 gtk/gtklabel.c:556 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Atributuak" -#: gtk/gtkcellrenderertext.c:248 +#: ../gtk/gtkcellrenderertext.c:272 msgid "A list of style attributes to apply to the text of the renderer" msgstr "Errendatzaileko testuari aplikatu beharreko estilo-atributuen zerrenda" -#: gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkcellrenderertext.c:279 msgid "Single Paragraph Mode" msgstr "Paragrafo bakarreko modua" -#: gtk/gtkcellrenderertext.c:256 -#, fuzzy +#: ../gtk/gtkcellrenderertext.c:280 msgid "Whether to keep all text in a single paragraph" msgstr "Testu osoa paragrafo bakar batean mantenduko den ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:264 gtk/gtkcellview.c:178 gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:196 msgid "Background color name" msgstr "Atzeko planoaren kolore-izena" -#: gtk/gtkcellrenderertext.c:265 gtk/gtkcellview.c:179 gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:197 msgid "Background color as a string" msgstr "Atzeko planoaren kolorea kate gisa" -#: gtk/gtkcellrenderertext.c:272 gtk/gtkcellview.c:185 gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:204 msgid "Background color" msgstr "Atzeko planoaren kolorea" -#: gtk/gtkcellrenderertext.c:273 gtk/gtkcellview.c:186 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 msgid "Background color as a GdkColor" msgstr "Atzeko planoaren kolorea GdkColor gisa" -#: gtk/gtkcellrenderertext.c:280 gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:311 +msgid "Background color as RGBA" +msgstr "Atzeko planoaren kolorea GBUA gisa" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 +msgid "Background color as a GdkRGBA" +msgstr "Atzeko planoaren kolorea GdkRGBA gisa" + +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:220 msgid "Foreground color name" msgstr "Aurreko planoaren kolore-izena" -#: gtk/gtkcellrenderertext.c:281 gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:221 msgid "Foreground color as a string" msgstr "Aurreko planoaren kolorea kate gisa" -#: gtk/gtkcellrenderertext.c:288 gtk/gtktexttag.c:210 -#: gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Aurreko planoko kolorea" -#: gtk/gtkcellrenderertext.c:289 +#: ../gtk/gtkcellrenderertext.c:327 msgid "Foreground color as a GdkColor" msgstr "Aurreko planoaren kolorea GdkColor gisa" +#: ../gtk/gtkcellrenderertext.c:341 +msgid "Foreground color as RGBA" +msgstr "Aurreko planoaren kolorea GBUA gisa" + +#: ../gtk/gtkcellrenderertext.c:342 +msgid "Foreground color as a GdkRGBA" +msgstr "Aurreko planoaren kolorea GdkRGBA gisa" + # -#: gtk/gtkcellrenderertext.c:297 gtk/gtkentry.c:663 gtk/gtktexttag.c:227 -#: gtk/gtktextview.c:668 +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktextview.c:686 msgid "Editable" msgstr "Editagarria" -#: gtk/gtkcellrenderertext.c:298 gtk/gtktexttag.c:228 gtk/gtktextview.c:669 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:246 +#: ../gtk/gtktextview.c:687 msgid "Whether the text can be modified by the user" msgstr "Erabiltzaileak testua alda dezakeen ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:305 gtk/gtkcellrenderertext.c:313 -#: gtk/gtktexttag.c:243 gtk/gtktexttag.c:251 +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:261 ../gtk/gtktexttag.c:269 msgid "Font" msgstr "Letra-tipoa" -#: gtk/gtkcellrenderertext.c:306 gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:262 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Letra-tipoaren azalpena kate gisa; adibidez, \"Sans Italic 12\"" -#: gtk/gtkcellrenderertext.c:314 gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:270 msgid "Font description as a PangoFontDescription struct" msgstr "Letra-tipoaren azalpena PangoFontDescription-en egitura gisa" # -#: gtk/gtkcellrenderertext.c:322 gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:277 msgid "Font family" msgstr "Letra-tipoen familia" -#: gtk/gtkcellrenderertext.c:323 gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:278 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" -msgstr "" -"Letra-tipoen familien izena; adibidez, Sans, Helvetica, Times, Monospace" +msgstr "Letra-tipoen familien izena; adibidez, Sans, Helvetica, Times, Monospace" -#: gtk/gtkcellrenderertext.c:330 gtk/gtkcellrenderertext.c:331 -#: gtk/gtktexttag.c:267 +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:285 msgid "Font style" msgstr "Letra-tipoaren estiloa" -#: gtk/gtkcellrenderertext.c:339 gtk/gtkcellrenderertext.c:340 -#: gtk/gtktexttag.c:276 +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:294 msgid "Font variant" msgstr "Letra-tipoaren aldaera" # -#: gtk/gtkcellrenderertext.c:348 gtk/gtkcellrenderertext.c:349 -#: gtk/gtktexttag.c:285 +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:303 msgid "Font weight" msgstr "Letraren zabalera" # -#: gtk/gtkcellrenderertext.c:358 gtk/gtkcellrenderertext.c:359 -#: gtk/gtktexttag.c:296 +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:314 msgid "Font stretch" msgstr "Letra-tipo tiratua" -#: gtk/gtkcellrenderertext.c:367 gtk/gtkcellrenderertext.c:368 -#: gtk/gtktexttag.c:305 +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:323 msgid "Font size" msgstr "Letra-tamaina" # -#: gtk/gtkcellrenderertext.c:377 gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:343 msgid "Font points" msgstr "Letraren puntuak" -#: gtk/gtkcellrenderertext.c:378 gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:344 msgid "Font size in points" msgstr "Letra-tamaina puntutan" # -#: gtk/gtkcellrenderertext.c:387 gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:333 msgid "Font scale" msgstr "Letra-tipoaren eskala" -#: gtk/gtkcellrenderertext.c:388 +#: ../gtk/gtkcellrenderertext.c:441 msgid "Font scaling factor" msgstr "Letra-tipoa eskalatzeko faktorea" # -#: gtk/gtkcellrenderertext.c:397 gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:412 msgid "Rise" msgstr "Goratzea" -#: gtk/gtkcellrenderertext.c:398 -msgid "" -"Offset of text above the baseline (below the baseline if rise is negative)" +#: ../gtk/gtkcellrenderertext.c:451 +msgid "Offset of text above the baseline (below the baseline if rise is negative)" msgstr "" "Testuaren desplazamendua oinarri-lerroaren gainetik (oinarri-lerroaren " "azpitik goratzea negatiboa bada)" -#: gtk/gtkcellrenderertext.c:409 gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:452 msgid "Strikethrough" msgstr "Marratua" -#: gtk/gtkcellrenderertext.c:410 gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:453 msgid "Whether to strike through the text" msgstr "Testua marratuko den ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:417 gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:460 msgid "Underline" msgstr "Azpimarra" -#: gtk/gtkcellrenderertext.c:418 gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:461 msgid "Style of underline for this text" msgstr "Testu honen azpimarra-estiloa" -#: gtk/gtkcellrenderertext.c:426 gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:372 msgid "Language" msgstr "Hizkuntza" -#: gtk/gtkcellrenderertext.c:427 +#: ../gtk/gtkcellrenderertext.c:480 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If you don't understand this parameter, you " @@ -1678,11 +1856,12 @@ msgstr "" "dezake testua bihurtzean. Parametro hori ulertzen ez baduzu, beharbada ez " "duzu beharko" -#: gtk/gtkcellrenderertext.c:447 gtk/gtklabel.c:681 gtk/gtkprogressbar.c:180 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:217 msgid "Ellipsize" msgstr "Elipsi gisa" -#: gtk/gtkcellrenderertext.c:448 +#: ../gtk/gtkcellrenderertext.c:501 msgid "" "The preferred place to ellipsize the string, if the cell renderer does not " "have enough room to display the entire string" @@ -1690,30 +1869,29 @@ msgstr "" "Katea elipsi gisa jartzeko lekurik egokiena, errendatutako gelaxkak ez badu " "nahikoa toki kate osoa bistaratzeko." -#: gtk/gtkcellrenderertext.c:467 gtk/gtkfilechooserbutton.c:413 -#: gtk/gtklabel.c:702 +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Zabalera karakteretan" -#: gtk/gtkcellrenderertext.c:468 gtk/gtklabel.c:703 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "Etiketaren zabalera (karakteretan)" -#: gtk/gtkcellrenderertext.c:492 gtk/gtklabel.c:763 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Zabalera maximoa karakteretan" -#: gtk/gtkcellrenderertext.c:493 -#, fuzzy +#: ../gtk/gtkcellrenderertext.c:546 msgid "The maximum width of the cell, in characters" -msgstr "Etiketaren zabalera maximoa, karaktereetan" +msgstr "Gelaxkaren gehienezko zabalera, karaktereetan" # -#: gtk/gtkcellrenderertext.c:511 gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:469 msgid "Wrap mode" msgstr "Itzulbiratze-modua" -#: gtk/gtkcellrenderertext.c:512 +#: ../gtk/gtkcellrenderertext.c:565 msgid "" "How to break the string into multiple lines, if the cell renderer does not " "have enough room to display the entire string" @@ -1722,574 +1900,661 @@ msgstr "" "toki kate osoa bistaratzeko." # -#: gtk/gtkcellrenderertext.c:531 gtk/gtkcombobox.c:700 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 msgid "Wrap width" msgstr "Doitze-zabalera" -#: gtk/gtkcellrenderertext.c:532 +#: ../gtk/gtkcellrenderertext.c:585 msgid "The width at which the text is wrapped" msgstr "Testua itzulbiratzeko zabalera" -#: gtk/gtkcellrenderertext.c:552 gtk/gtktreeviewcolumn.c:301 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 msgid "Alignment" msgstr "Lerrokatzea" -#: gtk/gtkcellrenderertext.c:553 +#: ../gtk/gtkcellrenderertext.c:606 msgid "How to align the lines" msgstr "Marrak nola lerrokatu" -#: gtk/gtkcellrenderertext.c:565 gtk/gtkcellview.c:208 gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:558 msgid "Background set" msgstr "Atzeko planoaren ezarpena" -#: gtk/gtkcellrenderertext.c:566 gtk/gtkcellview.c:209 gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the background color" -msgstr "" -"Etiketa honek atzeko planoaren koloreari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek atzeko planoaren koloreari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:569 gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:566 msgid "Foreground set" msgstr "Aurreko planoaren ezarpena" -#: gtk/gtkcellrenderertext.c:570 gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the foreground color" -msgstr "" -"Etiketa honek aurreko planoaren koloreari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek aurreko planoaren koloreari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:573 gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:570 msgid "Editability set" msgstr "Editagarritasunaren ezarpena" -#: gtk/gtkcellrenderertext.c:574 gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects text editability" -msgstr "" -"Etiketa honek testuaren editagarritasunari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek testuaren editagarritasunari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:577 gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:574 msgid "Font family set" msgstr "Letra-tipoen familiaren ezarpena" -#: gtk/gtkcellrenderertext.c:578 gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font family" -msgstr "" -"Etiketa honek letra-tipoen familiari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek letra-tipoen familiari eragiten dion ala ez adierazten du" # -#: gtk/gtkcellrenderertext.c:581 gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:578 msgid "Font style set" msgstr "Letra-tipoen estiloaren ezarpena" -#: gtk/gtkcellrenderertext.c:582 gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font style" msgstr "Etiketa honek letra-estiloari eragingo dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:585 gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:582 msgid "Font variant set" msgstr "Letra-tipoen aldaeraren ezarpena" -#: gtk/gtkcellrenderertext.c:586 gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:583 msgid "Whether this tag affects the font variant" -msgstr "" -"Etiketa honek letra-tipoen aldaerari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek letra-tipoen aldaerari eragiten dion ala ez adierazten du" # -#: gtk/gtkcellrenderertext.c:589 gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:586 msgid "Font weight set" msgstr "Letraren zabaleraren ezarpena" -#: gtk/gtkcellrenderertext.c:590 gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:587 msgid "Whether this tag affects the font weight" msgstr "Etiketa honek letraren zabalerari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:593 gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:590 msgid "Font stretch set" msgstr "Letra-tipo tiratuaren ezarpena" -#: gtk/gtkcellrenderertext.c:594 gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the font stretch" -msgstr "" -"Etiketa honek letra-tipoaren luzatzeari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek letra-tipoaren luzatzeari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:597 gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:594 msgid "Font size set" msgstr "Letra-tamainaren ezarpena" -#: gtk/gtkcellrenderertext.c:598 gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the font size" msgstr "Etiketa honek letra-tamainari eragingo dion ala ez adierazten du" # -#: gtk/gtkcellrenderertext.c:601 gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:598 msgid "Font scale set" msgstr "Letra-tipoaren eskalaren ezarpena" -#: gtk/gtkcellrenderertext.c:602 gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:599 msgid "Whether this tag scales the font size by a factor" msgstr "" "Etiketa honek faktore batez letraren tamaina eskalatzen duen ala ez " "adierazten du" -#: gtk/gtkcellrenderertext.c:605 gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:618 msgid "Rise set" msgstr "Goratzearen ezarpena " -#: gtk/gtkcellrenderertext.c:606 gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects the rise" msgstr "Etiketa honek goratzeari eragingo dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:609 gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:634 msgid "Strikethrough set" msgstr "Marratuaren ezarpena" -#: gtk/gtkcellrenderertext.c:610 gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:635 msgid "Whether this tag affects strikethrough" msgstr "Etiketa honek marratuari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:613 gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:642 msgid "Underline set" msgstr "Azpimarraren ezarpena" -#: gtk/gtkcellrenderertext.c:614 gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:643 msgid "Whether this tag affects underlining" msgstr "Etiketa honek azpimarrari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:617 gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:606 msgid "Language set" msgstr "Hizkuntzaren ezarpena" -#: gtk/gtkcellrenderertext.c:618 gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:607 msgid "Whether this tag affects the language the text is rendered as" msgstr "" "Etiketa honek testua errendatzen den hizkuntzari eragiten dion ala ez " "adierazten du" -#: gtk/gtkcellrenderertext.c:621 +#: ../gtk/gtkcellrenderertext.c:674 msgid "Ellipsize set" msgstr "Elipsi multzoa" -#: gtk/gtkcellrenderertext.c:622 +#: ../gtk/gtkcellrenderertext.c:675 msgid "Whether this tag affects the ellipsize mode" -msgstr "" -"Etiketa honek elipsi sortzearen moduari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek elipsi sortzearen moduari eragiten dion ala ez adierazten du" -#: gtk/gtkcellrenderertext.c:625 +#: ../gtk/gtkcellrenderertext.c:678 msgid "Align set" msgstr "Lerrokatzea ezarri" -#: gtk/gtkcellrenderertext.c:626 +#: ../gtk/gtkcellrenderertext.c:679 msgid "Whether this tag affects the alignment mode" msgstr "Etiketa honek lerrokatze moduari eragiten dion ala ez" -#: gtk/gtkcellrenderertoggle.c:128 +#: ../gtk/gtkcellrenderertoggle.c:128 msgid "Toggle state" msgstr "Aktibatze-egoera" -#: gtk/gtkcellrenderertoggle.c:129 +#: ../gtk/gtkcellrenderertoggle.c:129 msgid "The toggle state of the button" msgstr "Botoia aktibatuta dagoen ala ez" -#: gtk/gtkcellrenderertoggle.c:136 +#: ../gtk/gtkcellrenderertoggle.c:136 msgid "Inconsistent state" msgstr "Sendotasunik gabeko egoera" -#: gtk/gtkcellrenderertoggle.c:137 +#: ../gtk/gtkcellrenderertoggle.c:137 msgid "The inconsistent state of the button" msgstr "Botoiaren sendotasunik gabeko egoera" -#: gtk/gtkcellrenderertoggle.c:144 +#: ../gtk/gtkcellrenderertoggle.c:144 msgid "Activatable" msgstr "Aktibagarritasuna" -#: gtk/gtkcellrenderertoggle.c:145 +#: ../gtk/gtkcellrenderertoggle.c:145 msgid "The toggle button can be activated" msgstr "Txandakatze-botoia aktiba daiteke" -#: gtk/gtkcellrenderertoggle.c:152 +#: ../gtk/gtkcellrenderertoggle.c:152 msgid "Radio state" msgstr "Aukera-egoera" -#: gtk/gtkcellrenderertoggle.c:153 +#: ../gtk/gtkcellrenderertoggle.c:153 msgid "Draw the toggle button as a radio button" msgstr "Marraztu txandakatze-botoia aukera-botoi gisa" -#: gtk/gtkcellrenderertoggle.c:160 +#: ../gtk/gtkcellrenderertoggle.c:160 msgid "Indicator size" msgstr "Adierazlearen tamaina" -#: gtk/gtkcellrenderertoggle.c:161 gtk/gtkcheckbutton.c:72 -#: gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "Kontrol-laukiaren edo aukera-adierazlearen tamaina" -#: gtk/gtkcellview.c:200 +#: ../gtk/gtkcellview.c:210 +msgid "Background RGBA color" +msgstr "Atzeko planoaren GBUA kolorea" + +#: ../gtk/gtkcellview.c:225 msgid "CellView model" msgstr "CellView modeloa" -#: gtk/gtkcellview.c:201 +#: ../gtk/gtkcellview.c:226 msgid "The model for cell view" msgstr "Gelaxka-ikustailearen modeloa" -#: gtk/gtkcheckbutton.c:71 gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtkiconview.c:762 +#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "Gelaxkaren area" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 +#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "Gelaxkak diseinatzeko erabilitako GtkCellArea" + +#: ../gtk/gtkcellview.c:265 +msgid "Cell Area Context" +msgstr "Gelaxkaren arearen testuingurua" + +#: ../gtk/gtkcellview.c:266 +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "Gelaxkaren ikuspegiaren geometria kalkulatzeko erabilitako GtkCellAreaContext" + +#: ../gtk/gtkcellview.c:283 +msgid "Draw Sensitive" +msgstr "Marrazketa sentikorra" + +#: ../gtk/gtkcellview.c:284 +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "Gelaxkak modu sentikorrean marraztea derrigortu edo ez" + +# +#: ../gtk/gtkcellview.c:302 +msgid "Fit Model" +msgstr "Doitu eredua" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "Ereduan errenkada bakoitzarentzako nahiko leku eskatu edo ez" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "Adierazlearen tamaina" -#: gtk/gtkcheckbutton.c:79 gtk/gtkexpander.c:267 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 msgid "Indicator Spacing" msgstr "Adierazlearen tartea" -#: gtk/gtkcheckbutton.c:80 +#: ../gtk/gtkcheckbutton.c:86 msgid "Spacing around check or radio indicator" msgstr "Kontrol-laukiaren edo aukera-adierazlearen inguruko tartea" -#: gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "Menu-elementuak hautamarka duen ala ez adierazten du" # -#: gtk/gtkcheckmenuitem.c:113 gtk/gtktogglebutton.c:123 +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Sendotasunik gabea" -#: gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "\"sendotasunik gabeko\" egoera bistaratuko den ala ez adierazten du" -#: gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "Marraztu aukera ugariko menu-elementu gisa" -#: gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "" "Menu-elementuak aukera ugariko menu-elementuaren itxura duen ala ez " "adierazten du" -#: gtk/gtkcolorbutton.c:159 +#: ../gtk/gtkcolorbutton.c:170 msgid "Use alpha" msgstr "Erabili alfa" -#: gtk/gtkcolorbutton.c:160 -#, fuzzy +#: ../gtk/gtkcolorbutton.c:171 msgid "Whether to give the color an alpha value" -msgstr "Koloreari alfa balioa emango zaion ala ez adierazten du" +msgstr "Koloreari alfa balioa emango zaion edo ez" # -#: gtk/gtkcolorbutton.c:174 gtk/gtkfilechooserbutton.c:399 -#: gtk/gtkfontbutton.c:140 gtk/gtkprintjob.c:115 gtk/gtkstatusicon.c:415 -#: gtk/gtktreeviewcolumn.c:268 +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:141 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Izenburua" -#: gtk/gtkcolorbutton.c:175 +#: ../gtk/gtkcolorbutton.c:186 msgid "The title of the color selection dialog" msgstr "Kolorea hautatzeko elkarrizketa-koadroaren izenburua" -#: gtk/gtkcolorbutton.c:189 gtk/gtkcolorsel.c:323 +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Uneko kolorea" -#: gtk/gtkcolorbutton.c:190 +#: ../gtk/gtkcolorbutton.c:201 msgid "The selected color" msgstr "Hautatutako kolorea" -#: gtk/gtkcolorbutton.c:204 gtk/gtkcolorsel.c:330 +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Uneko alfa" -#: gtk/gtkcolorbutton.c:205 +#: ../gtk/gtkcolorbutton.c:216 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "Hautatutako opakutasun-balioa (0 guztiz gardena, 65535 guztiz opakua)" -#: gtk/gtkcolorsel.c:309 +#: ../gtk/gtkcolorbutton.c:230 +msgid "Current RGBA Color" +msgstr "Uneko GBUA kolorea" + +#: ../gtk/gtkcolorbutton.c:231 +msgid "The selected RGBA color" +msgstr "Hautatutako GBUA kolorea" + +#: ../gtk/gtkcolorsel.c:324 msgid "Has Opacity Control" msgstr "Opakutasun-kontrola du" -#: gtk/gtkcolorsel.c:310 +#: ../gtk/gtkcolorsel.c:325 msgid "Whether the color selector should allow setting opacity" msgstr "" "Kolore-hautatzaileak opakutasuna ezartzeko baimena eman behar duen ala ez " "adierazten du" -#: gtk/gtkcolorsel.c:316 +#: ../gtk/gtkcolorsel.c:331 msgid "Has palette" msgstr "Paleta dauka" -#: gtk/gtkcolorsel.c:317 +#: ../gtk/gtkcolorsel.c:332 msgid "Whether a palette should be used" msgstr "Paleta erabili behar den ala ez adierazten du" -#: gtk/gtkcolorsel.c:324 +#: ../gtk/gtkcolorsel.c:339 msgid "The current color" msgstr "Uneko kolorea" -#: gtk/gtkcolorsel.c:331 +#: ../gtk/gtkcolorsel.c:346 msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" msgstr "Uneko opakutasun-balioa (0 guztiz gardena, 65535 guztiz opakua)" -#: gtk/gtkcolorsel.c:345 -msgid "Custom palette" -msgstr "Paleta pertsonalizatua" +#: ../gtk/gtkcolorsel.c:360 +msgid "Current RGBA" +msgstr "Uneko GBUA" -#: gtk/gtkcolorsel.c:346 -msgid "Palette to use in the color selector" -msgstr "Kolore-hautatzailean erabili beharreko paleta" +#: ../gtk/gtkcolorsel.c:361 +msgid "The current RGBA color" +msgstr "Uneko GBUA kolorea" -#: gtk/gtkcolorseldialog.c:110 +#: ../gtk/gtkcolorseldialog.c:110 msgid "Color Selection" msgstr "Kolore hautapena" -#: gtk/gtkcolorseldialog.c:111 +#: ../gtk/gtkcolorseldialog.c:111 msgid "The color selection embedded in the dialog." msgstr "Kolore hautapena elkarrizketa-koadroan kapsulatuta dago." -#: gtk/gtkcolorseldialog.c:117 +#: ../gtk/gtkcolorseldialog.c:117 msgid "OK Button" msgstr "Ados botoia" -#: gtk/gtkcolorseldialog.c:118 +#: ../gtk/gtkcolorseldialog.c:118 msgid "The OK button of the dialog." msgstr "Elkarrizketa-koadroan agertzen den Ados botoia." -#: gtk/gtkcolorseldialog.c:124 +#: ../gtk/gtkcolorseldialog.c:124 msgid "Cancel Button" msgstr "Utzi botoia" -#: gtk/gtkcolorseldialog.c:125 +#: ../gtk/gtkcolorseldialog.c:125 msgid "The cancel button of the dialog." msgstr "Elkarrizketa-koadroan agertzen den Utzi botoia." -#: gtk/gtkcolorseldialog.c:131 +#: ../gtk/gtkcolorseldialog.c:131 msgid "Help Button" msgstr "Laguntza botoia" -#: gtk/gtkcolorseldialog.c:132 +#: ../gtk/gtkcolorseldialog.c:132 msgid "The help button of the dialog." msgstr "Elkarrizketa-koadroan agertzen den Laguntza botoia." -#: gtk/gtkcombobox.c:683 +#: ../gtk/gtkcombobox.c:663 msgid "ComboBox model" msgstr "Konbinazio-koadroaren modeloa" -#: gtk/gtkcombobox.c:684 +#: ../gtk/gtkcombobox.c:664 msgid "The model for the combo box" msgstr "Konbinazio-koadroa zein modelotakoa den" -#: gtk/gtkcombobox.c:701 +#: ../gtk/gtkcombobox.c:681 msgid "Wrap width for laying out the items in a grid" msgstr "Sareta bateko elementuak diseinatzeko doitze-zabalera" # -#: gtk/gtkcombobox.c:723 +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 msgid "Row span column" msgstr "Errenkada-hedaduraren zutabea" -#: gtk/gtkcombobox.c:724 +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 msgid "TreeModel column containing the row span values" msgstr "Errenkada-hedaduraren balioak dituen TreeModel zutabea" -#: gtk/gtkcombobox.c:745 +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 msgid "Column span column" msgstr "Zutabe-hedaduraren zutabea" -#: gtk/gtkcombobox.c:746 +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 msgid "TreeModel column containing the column span values" msgstr "Zutabe-hedaduraren balioak dituen TreeModel zutabea" -#: gtk/gtkcombobox.c:767 +#: ../gtk/gtkcombobox.c:747 msgid "Active item" msgstr "Elementu aktiboa" -#: gtk/gtkcombobox.c:768 +#: ../gtk/gtkcombobox.c:748 msgid "The item which is currently active" msgstr "Unean aktibatuta dagoen elementua" -#: gtk/gtkcombobox.c:787 gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Gehitu askagarriak menuei" -#: gtk/gtkcombobox.c:788 +#: ../gtk/gtkcombobox.c:768 msgid "Whether dropdowns should have a tearoff menu item" msgstr "" "Goitibeherako menuek askagarri bat eduki dezaketen menuko elementu gisa ala " "ez adierazten du" -#: gtk/gtkcombobox.c:803 gtk/gtkentry.c:688 +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Markoa dauka" -#: gtk/gtkcombobox.c:804 +#: ../gtk/gtkcombobox.c:784 msgid "Whether the combo box draws a frame around the child" msgstr "" "Konbinazio-koadroko goitibeherako menuek umearen inguruan markoa marraztu " "behar duten ala ez adierazten du" -#: gtk/gtkcombobox.c:812 +#: ../gtk/gtkcombobox.c:792 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "" "Konbinazio-koadroko goitibeherako menuek fokoa hartzen duten (bertan " "saguarekin klik egitean) ala ez adierazten du" -#: gtk/gtkcombobox.c:827 gtk/gtkmenu.c:580 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 msgid "Tearoff Title" msgstr "Askagarriaren izenburua" -#: gtk/gtkcombobox.c:828 +#: ../gtk/gtkcombobox.c:808 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "Leiho-kudeatzaileak bistara dezakeen izenburua laster-leihoa kentzean" -#: gtk/gtkcombobox.c:845 +#: ../gtk/gtkcombobox.c:825 msgid "Popup shown" msgstr "Laster-leihoa erakutsita" -#: gtk/gtkcombobox.c:846 +#: ../gtk/gtkcombobox.c:826 msgid "Whether the combo's dropdown is shown" msgstr "Goitibeherako konbinazioa erakutsi edo ez" -#: gtk/gtkcombobox.c:862 +#: ../gtk/gtkcombobox.c:842 msgid "Button Sensitivity" msgstr "Botoiaren sentikortasuna" -#: gtk/gtkcombobox.c:863 +#: ../gtk/gtkcombobox.c:843 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "" "Modeloa hutsik dagoenean goitibeherako botoia sentikorra izango den ala ez " "adierazten du" -#: gtk/gtkcombobox.c:870 +#: ../gtk/gtkcombobox.c:859 +msgid "Whether combo box has an entry" +msgstr "Konbinazio-koadroak sarrera bat duen edo ez adierazten du" + +#: ../gtk/gtkcombobox.c:874 +msgid "Entry Text Column" +msgstr "Sarrerako testu-zutabea" + +#: ../gtk/gtkcombobox.c:875 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" +"Konbinazio-koadroaren ereduko zutabea sarrerako kateekin esleitzeko, baldin " +"eta konbinazio-koadroa '#GtkComboBox:has-entry = %TRUE'-rekin sortu bazen" + +#: ../gtk/gtkcombobox.c:892 +msgid "ID Column" +msgstr "ID zutabea" + +#: ../gtk/gtkcombobox.c:893 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "Konbinazio-koadroaren ereduko zutabea (ereduko balioen ID kateak eskaintzeko)" + +#: ../gtk/gtkcombobox.c:908 +msgid "Active id" +msgstr "ID aktiboa" + +#: ../gtk/gtkcombobox.c:909 +msgid "The value of the id column for the active row" +msgstr "Errenkada aktiboaren ID zutabearen balioa" + +# +#: ../gtk/gtkcombobox.c:924 +msgid "Popup Fixed Width" +msgstr "Laster-menuaren zabalera finkoa" + +#: ../gtk/gtkcombobox.c:925 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "" +"Leiho gainerakorraren zabalera konbinazio-koadroaren zabalerarekin bat " +"datorren finkatutako zabalera izan behar duen edo ez" + +#: ../gtk/gtkcombobox.c:948 msgid "Appears as list" msgstr "Zerrenda gisa agertzen da" -#: gtk/gtkcombobox.c:871 +#: ../gtk/gtkcombobox.c:949 msgid "Whether dropdowns should look like lists rather than menus" msgstr "" "Konbinazio-koadroko goitibeherako menuek menu-itxura baino zerrenda-itxura " "gehiago eduki behar duten ala ez adierazten du" # -#: gtk/gtkcombobox.c:887 +#: ../gtk/gtkcombobox.c:965 msgid "Arrow Size" msgstr "Geziaren tamaina" -#: gtk/gtkcombobox.c:888 +#: ../gtk/gtkcombobox.c:966 msgid "The minimum size of the arrow in the combo box" msgstr "Geziaren gutxiengo tamaina konbinazio-koadroan" -#: gtk/gtkcombobox.c:903 gtk/gtkentry.c:788 gtk/gtkhandlebox.c:182 -#: gtk/gtkmenubar.c:189 gtk/gtkstatusbar.c:244 gtk/gtktoolbar.c:577 -#: gtk/gtkviewport.c:158 +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:207 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkviewport.c:153 msgid "Shadow type" msgstr "Itzal-mota" -#: gtk/gtkcombobox.c:904 +#: ../gtk/gtkcombobox.c:982 msgid "Which kind of shadow to draw around the combo box" msgstr "Konbinazio-koadroaren inguruan marraztuko den itzal mota" # -#: gtk/gtkcontainer.c:259 +#: ../gtk/gtkcontainer.c:453 msgid "Resize mode" msgstr "Tamaina aldatzeko modua" -#: gtk/gtkcontainer.c:260 +#: ../gtk/gtkcontainer.c:454 msgid "Specify how resize events are handled" msgstr "Tamaina-aldatzeak nola kudeatzen diren adierazten du" # -#: gtk/gtkcontainer.c:267 +#: ../gtk/gtkcontainer.c:461 msgid "Border width" msgstr "Ertzaren zabalera" -#: gtk/gtkcontainer.c:268 +#: ../gtk/gtkcontainer.c:462 msgid "The width of the empty border outside the containers children" msgstr "Edukiontzi umeen kanpoko ertz hutsaren zabalera" -#: gtk/gtkcontainer.c:276 +#: ../gtk/gtkcontainer.c:470 msgid "Child" msgstr "Umea" -#: gtk/gtkcontainer.c:277 +#: ../gtk/gtkcontainer.c:471 msgid "Can be used to add a new child to the container" msgstr "Edukiontziari beste ume bat gehitzeko erabil daiteke" -#: gtk/gtkdialog.c:165 gtk/gtkinfobar.c:430 +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Edukiaren arearen ertza" -#: gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:290 msgid "Width of border around the main dialog area" msgstr "Ertzak elkarrizketa-area nagusiaren inguruan duen zabalera" -#: gtk/gtkdialog.c:183 gtk/gtkinfobar.c:447 +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Edukiaren arearen tartea" -#: gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:308 msgid "Spacing between elements of the main dialog area" msgstr "Elkarrizketa-koadro nagusiko areako elementuen arteko tartea" -#: gtk/gtkdialog.c:191 gtk/gtkinfobar.c:463 +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Botoien tartea" -#: gtk/gtkdialog.c:192 gtk/gtkinfobar.c:464 +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Botoien arteko tartea" -#: gtk/gtkdialog.c:200 gtk/gtkinfobar.c:479 +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Ekintza-arearen ertza" -#: gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:325 msgid "Width of border around the button area at the bottom of the dialog" -msgstr "" -"Elkarrizketa-koadroaren behealdeko botoi-arearen inguruko ertzaren zabalera" +msgstr "Elkarrizketa-koadroaren behealdeko botoi-arearen inguruko ertzaren zabalera" -#: gtk/gtkentry.c:635 +#: ../gtk/gtkentry.c:726 msgid "Text Buffer" msgstr "Testuaren bufferra" -#: gtk/gtkentry.c:636 +#: ../gtk/gtkentry.c:727 msgid "Text buffer object which actually stores entry text" msgstr "Testu-bufferra objektua (sarrerako testua gordetzen duena)" # -#: gtk/gtkentry.c:643 gtk/gtklabel.c:644 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Kurtsorearen posizioa" -#: gtk/gtkentry.c:644 gtk/gtklabel.c:645 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "Txertatze-kurtsorearen uneko posizioa karakteretan" # -#: gtk/gtkentry.c:653 gtk/gtklabel.c:654 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Hautapen-muga" -#: gtk/gtkentry.c:654 gtk/gtklabel.c:655 -msgid "" -"The position of the opposite end of the selection from the cursor in chars" +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 +msgid "The position of the opposite end of the selection from the cursor in chars" msgstr "Hautapenaren kontrako bukaera kurtsoretik zenbat karakteretara dagoen." -#: gtk/gtkentry.c:664 +#: ../gtk/gtkentry.c:755 msgid "Whether the entry contents can be edited" msgstr "Sarreraren edukia edita daitekeen ala ez adierazten du" -#: gtk/gtkentry.c:671 gtk/gtkentrybuffer.c:382 +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 msgid "Maximum length" msgstr "Gehienezko luzera" -#: gtk/gtkentry.c:672 gtk/gtkentrybuffer.c:383 +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 msgid "Maximum number of characters for this entry. Zero if no maximum" -msgstr "" -"Sarrera honen gehienezko karaktere-kopurua. Gehienezkorik ez badago, zero" +msgstr "Sarrera honen gehienezko karaktere-kopurua. Gehienezkorik ez badago, zero" -#: gtk/gtkentry.c:680 +#: ../gtk/gtkentry.c:771 msgid "Visibility" msgstr "Ikusgaitasuna" -#: gtk/gtkentry.c:681 +#: ../gtk/gtkentry.c:772 msgid "" "FALSE displays the \"invisible char\" instead of the actual text (password " "mode)" @@ -2297,32 +2562,31 @@ msgstr "" "FALTSUAk \"karaktere ikusezina\" bistaratzen du uneko testuaren ordez " "(pasahitz-modua)" -#: gtk/gtkentry.c:689 +#: ../gtk/gtkentry.c:780 msgid "FALSE removes outside bevel from entry" msgstr "FALTSUAk kanpoko alaka kentzen du sarreratik" -#: gtk/gtkentry.c:697 -msgid "" -"Border between text and frame. Overrides the inner-border style property" +#: ../gtk/gtkentry.c:788 +msgid "Border between text and frame. Overrides the inner-border style property" msgstr "" "Testua eta markoaren arteko ertza. 'Barneko ertza' propietateari jaramonik " "ez zaio egingo" -#: gtk/gtkentry.c:704 gtk/gtkentry.c:1270 +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 msgid "Invisible character" msgstr "Karaktere ikusezina" -#: gtk/gtkentry.c:705 gtk/gtkentry.c:1271 +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 msgid "The character to use when masking entry contents (in \"password mode\")" msgstr "" "Sarreraren edukia maskaratzean erabili beharreko karakterea (\"pasahitz-" "moduan\")" -#: gtk/gtkentry.c:712 +#: ../gtk/gtkentry.c:803 msgid "Activates default" msgstr "Lehenetsia aktibatzen du" -#: gtk/gtkentry.c:713 +#: ../gtk/gtkentry.c:804 msgid "" "Whether to activate the default widget (such as the default button in a " "dialog) when Enter is pressed" @@ -2330,33 +2594,33 @@ msgstr "" "Sartu botoia sakatutakoan, trepeta lehenetsia aktibatuko den ala ez " "adierazten du (adibidez, elkarrizketa-koadroko botoi lehenetsia)" -#: gtk/gtkentry.c:719 +#: ../gtk/gtkentry.c:810 msgid "Width in chars" msgstr "Zabalera karakteretan" -#: gtk/gtkentry.c:720 +#: ../gtk/gtkentry.c:811 msgid "Number of characters to leave space for in the entry" msgstr "Sarreran zenbat karaktererentzako tartea utzi behar den " # -#: gtk/gtkentry.c:729 +#: ../gtk/gtkentry.c:820 msgid "Scroll offset" msgstr "Korritze-desplazamendua" -#: gtk/gtkentry.c:730 +#: ../gtk/gtkentry.c:821 msgid "Number of pixels of the entry scrolled off the screen to the left" msgstr "Sarrerako pixel-kopurua pantailan ezkerrera korrituta " -#: gtk/gtkentry.c:740 +#: ../gtk/gtkentry.c:831 msgid "The contents of the entry" msgstr "Sarreraren edukia" # -#: gtk/gtkentry.c:755 gtk/gtkmisc.c:81 +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 msgid "X align" msgstr "X lerrokatzea" -#: gtk/gtkentry.c:756 gtk/gtkmisc.c:82 +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 msgid "" "The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " "layouts." @@ -2365,69 +2629,66 @@ msgstr "" "diseinuetan" # -#: gtk/gtkentry.c:772 +#: ../gtk/gtkentry.c:863 msgid "Truncate multiline" msgstr "Trunkatu lerro-anitzak" -#: gtk/gtkentry.c:773 +#: ../gtk/gtkentry.c:864 msgid "Whether to truncate multiline pastes to one line." msgstr "Lerro-anitzeko itsatsiak lerro bakarrean trunkatu edo ez" -#: gtk/gtkentry.c:789 +#: ../gtk/gtkentry.c:880 msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "Sarreraren inguruan marraztuko den itzal mota 'markoa du' ezartzean" -#: gtk/gtkentry.c:804 gtk/gtktextview.c:748 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:766 msgid "Overwrite mode" msgstr "Gainidazteko modua" -#: gtk/gtkentry.c:805 +#: ../gtk/gtkentry.c:896 msgid "Whether new text overwrites existing text" -msgstr "" -"Testu berriak lehendik dagoen testua gainidazten duen ala ez adierazten du" +msgstr "Testu berriak lehendik dagoen testua gainidazten duen ala ez adierazten du" -#: gtk/gtkentry.c:819 gtk/gtkentrybuffer.c:367 +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 msgid "Text length" msgstr "Testuaren luzera" -#: gtk/gtkentry.c:820 +#: ../gtk/gtkentry.c:911 msgid "Length of the text currently in the entry" msgstr "Uneko testuaren luzera sarreran" -#: gtk/gtkentry.c:835 -#, fuzzy +#: ../gtk/gtkentry.c:926 msgid "Invisible character set" -msgstr "Karaktere ikusezina" +msgstr "Karaktere ikusezina ezarrita" -#: gtk/gtkentry.c:836 -#, fuzzy +#: ../gtk/gtkentry.c:927 msgid "Whether the invisible character has been set" msgstr "Karaktereen ikusezintasuna ezarri den edo ez" -#: gtk/gtkentry.c:854 +#: ../gtk/gtkentry.c:945 msgid "Caps Lock warning" msgstr "Blok.maius. abisua" -#: gtk/gtkentry.c:855 +#: ../gtk/gtkentry.c:946 msgid "Whether password entries will show a warning when Caps Lock is on" msgstr "" "Pasahitzen sarrerek abisua erakutsi behar duten maiuskulak blokeatuta " "daudenean edo ez." # -#: gtk/gtkentry.c:869 +#: ../gtk/gtkentry.c:960 msgid "Progress Fraction" msgstr "Progresioaren frakzioa" -#: gtk/gtkentry.c:870 +#: ../gtk/gtkentry.c:961 msgid "The current fraction of the task that's been completed" msgstr "Atazaren amaitutako uneko frakzioa" -#: gtk/gtkentry.c:887 +#: ../gtk/gtkentry.c:978 msgid "Progress Pulse Step" msgstr "Progresioaren pultsuaren urratsa" -#: gtk/gtkentry.c:888 +#: ../gtk/gtkentry.c:979 msgid "" "The fraction of total entry width to move the progress bouncing block for " "each call to gtk_entry_progress_pulse()" @@ -2435,271 +2696,250 @@ msgstr "" "Sarreraren zabalera osoaren frakzioa progresioaren itzulerako blokea " "mugitzeko gtk_entry_progress_pulse() funtzioaren dei bakoitzagatik" -#: gtk/gtkentry.c:904 +#: ../gtk/gtkentry.c:995 msgid "Primary pixbuf" msgstr "Pixbuf nagusia" -#: gtk/gtkentry.c:905 +#: ../gtk/gtkentry.c:996 msgid "Primary pixbuf for the entry" msgstr "Sarreraren pixbuf nagusia" -#: gtk/gtkentry.c:919 +#: ../gtk/gtkentry.c:1010 msgid "Secondary pixbuf" msgstr "Bigarren mailako pixbuf-a" -#: gtk/gtkentry.c:920 +#: ../gtk/gtkentry.c:1011 msgid "Secondary pixbuf for the entry" msgstr "Sarreraren bigarren mailako pixbuf-a" -#: gtk/gtkentry.c:934 +#: ../gtk/gtkentry.c:1025 msgid "Primary stock ID" msgstr "Oinarri-ID nagusia" -#: gtk/gtkentry.c:935 +#: ../gtk/gtkentry.c:1026 msgid "Stock ID for primary icon" msgstr "Ikono nagusiarentzako oinarri-IDa" -#: gtk/gtkentry.c:949 +#: ../gtk/gtkentry.c:1040 msgid "Secondary stock ID" msgstr "Bigarren mailako oinarri-IDa" -#: gtk/gtkentry.c:950 +#: ../gtk/gtkentry.c:1041 msgid "Stock ID for secondary icon" msgstr "Bigarren mailako ikonoarentzako oinarri-IDa" -#: gtk/gtkentry.c:964 +#: ../gtk/gtkentry.c:1055 msgid "Primary icon name" msgstr "Ikono-izen nagusia" -#: gtk/gtkentry.c:965 +#: ../gtk/gtkentry.c:1056 msgid "Icon name for primary icon" msgstr "Ikono nagusiarentzako ikono-izena" -#: gtk/gtkentry.c:979 +#: ../gtk/gtkentry.c:1070 msgid "Secondary icon name" msgstr "Bigarren mailako ikono-izena" -#: gtk/gtkentry.c:980 +#: ../gtk/gtkentry.c:1071 msgid "Icon name for secondary icon" msgstr "Bigarren mailako ikonoarentzako ikono-izena" -#: gtk/gtkentry.c:994 +#: ../gtk/gtkentry.c:1085 msgid "Primary GIcon" msgstr "GIcon nagusia" -#: gtk/gtkentry.c:995 +#: ../gtk/gtkentry.c:1086 msgid "GIcon for primary icon" msgstr "Ikono nagusiarentzako GIcon" -#: gtk/gtkentry.c:1009 +#: ../gtk/gtkentry.c:1100 msgid "Secondary GIcon" msgstr "Bigarren mailako GIcon" -#: gtk/gtkentry.c:1010 +#: ../gtk/gtkentry.c:1101 msgid "GIcon for secondary icon" msgstr "Bigarren mailako ikonoarentzako GIcon" # -#: gtk/gtkentry.c:1024 +#: ../gtk/gtkentry.c:1115 msgid "Primary storage type" msgstr "Biltegi mota nagusia" -#: gtk/gtkentry.c:1025 +#: ../gtk/gtkentry.c:1116 msgid "The representation being used for primary icon" msgstr "Ikono nagusientzat erabiltzen den adierazpidea" -#: gtk/gtkentry.c:1040 +#: ../gtk/gtkentry.c:1131 msgid "Secondary storage type" msgstr "Bigarren mailako biltegi mota" -#: gtk/gtkentry.c:1041 +#: ../gtk/gtkentry.c:1132 msgid "The representation being used for secondary icon" msgstr "Bigarren mailako ikonoentzat erabiltzen den adierazpidea" -#: gtk/gtkentry.c:1062 +#: ../gtk/gtkentry.c:1153 msgid "Primary icon activatable" msgstr "Ikono nagusia aktibagarria" -#: gtk/gtkentry.c:1063 +#: ../gtk/gtkentry.c:1154 msgid "Whether the primary icon is activatable" msgstr "Ikono nagusia aktibagarria den edo ez" -#: gtk/gtkentry.c:1083 +#: ../gtk/gtkentry.c:1174 msgid "Secondary icon activatable" msgstr "Bigarren mailako ikonoa aktibagarria" -#: gtk/gtkentry.c:1084 +#: ../gtk/gtkentry.c:1175 msgid "Whether the secondary icon is activatable" msgstr "Bigarren mailako ikonoa aktibagarria den edo ez" -#: gtk/gtkentry.c:1106 +#: ../gtk/gtkentry.c:1197 msgid "Primary icon sensitive" msgstr "Ikono nagusia sentikorra" -#: gtk/gtkentry.c:1107 +#: ../gtk/gtkentry.c:1198 msgid "Whether the primary icon is sensitive" msgstr "Ikono nagusia sentikorra den edo ez" -#: gtk/gtkentry.c:1128 +#: ../gtk/gtkentry.c:1219 msgid "Secondary icon sensitive" msgstr "Bigarren mailako ikonoa sentikorra" -#: gtk/gtkentry.c:1129 +#: ../gtk/gtkentry.c:1220 msgid "Whether the secondary icon is sensitive" msgstr "Bigarren mailako ikonoa sentikorra den edo ez" -#: gtk/gtkentry.c:1145 +#: ../gtk/gtkentry.c:1236 msgid "Primary icon tooltip text" msgstr "Ikono nagusiaren argibidearen testua" -#: gtk/gtkentry.c:1146 gtk/gtkentry.c:1182 +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 msgid "The contents of the tooltip on the primary icon" msgstr "Ikono nagusiaren argibidearen edukia" -#: gtk/gtkentry.c:1162 +#: ../gtk/gtkentry.c:1253 msgid "Secondary icon tooltip text" msgstr "Bigarren mailako ikonoaren argibidearen testua" -#: gtk/gtkentry.c:1163 gtk/gtkentry.c:1201 +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 msgid "The contents of the tooltip on the secondary icon" msgstr "Bigarren mailako ikonoaren argibidearen edukia" -#: gtk/gtkentry.c:1181 +#: ../gtk/gtkentry.c:1272 msgid "Primary icon tooltip markup" msgstr "Ikono nagusiaren argibidearen markaketa" -#: gtk/gtkentry.c:1200 +#: ../gtk/gtkentry.c:1291 msgid "Secondary icon tooltip markup" msgstr "Bigarren mailako ikonoaren argibidearen markaketa" -#: gtk/gtkentry.c:1220 gtk/gtktextview.c:776 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:794 msgid "IM module" msgstr "BM modulua" -#: gtk/gtkentry.c:1221 gtk/gtktextview.c:777 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:795 msgid "Which IM module should be used" msgstr "Zein BM modulu erabiliko den" # -#: gtk/gtkentry.c:1235 +#: ../gtk/gtkentry.c:1326 msgid "Icon Prelight" msgstr "Ikono argitua" -#: gtk/gtkentry.c:1236 +#: ../gtk/gtkentry.c:1327 msgid "Whether activatable icons should prelight when hovered" -msgstr "" -"Ikono aktibagarriak argitu behar diren sagua gainetik igarotzean edo ez" +msgstr "Ikono aktibagarriak argitu behar diren sagua gainetik igarotzean edo ez" -#: gtk/gtkentry.c:1249 +#: ../gtk/gtkentry.c:1340 msgid "Progress Border" msgstr "Progresioaren ertza" -#: gtk/gtkentry.c:1250 +#: ../gtk/gtkentry.c:1341 msgid "Border around the progress bar" msgstr "Progresio-barraren inguruko ertza" -#: gtk/gtkentry.c:1742 +#: ../gtk/gtkentry.c:1833 msgid "Border between text and frame." msgstr "Testu eta markoaren arteko ertza." -# -#: gtk/gtkentry.c:1747 gtk/gtklabel.c:903 -msgid "Select on focus" -msgstr "Hautatu enfokatzean" - -#: gtk/gtkentry.c:1748 -msgid "Whether to select the contents of an entry when it is focused" -msgstr "Enfokatzean, sarreraren edukia hautatuko den ala ez adierazten du" - -#: gtk/gtkentry.c:1762 -msgid "Password Hint Timeout" -msgstr "Pasahitzaren gonbitearen denbora-muga" - -#: gtk/gtkentry.c:1763 -msgid "How long to show the last input character in hidden entries" -msgstr "" -"Zenbat denboran erakutsiko den idatzitako azken karakterea ezkutuko " -"sarreretan" - -#: gtk/gtkentrybuffer.c:353 +#: ../gtk/gtkentrybuffer.c:353 msgid "The contents of the buffer" msgstr "Bufferraren edukia" -#: gtk/gtkentrybuffer.c:368 +#: ../gtk/gtkentrybuffer.c:368 msgid "Length of the text currently in the buffer" msgstr "Bufferreko uneko testuaren luzera" -#: gtk/gtkentrycompletion.c:280 +#: ../gtk/gtkentrycompletion.c:301 msgid "Completion Model" msgstr "Osatze-eredua" -#: gtk/gtkentrycompletion.c:281 +#: ../gtk/gtkentrycompletion.c:302 msgid "The model to find matches in" msgstr "Berdinak direnak bilatzeko eredua" -#: gtk/gtkentrycompletion.c:287 +#: ../gtk/gtkentrycompletion.c:308 msgid "Minimum Key Length" msgstr "Gakoaren gutxieneko luzera" -#: gtk/gtkentrycompletion.c:288 +#: ../gtk/gtkentrycompletion.c:309 msgid "Minimum length of the search key in order to look up matches" msgstr "Bilaketa-gakoaren gutxieneko luzera berdinak direnak bilatzeko" -#: gtk/gtkentrycompletion.c:304 gtk/gtkiconview.c:587 +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:561 msgid "Text column" msgstr "Testu-zutabea" -#: gtk/gtkentrycompletion.c:305 +#: ../gtk/gtkentrycompletion.c:326 msgid "The column of the model containing the strings." msgstr "Kateak dauzkan modeloaren zutabea." -#: gtk/gtkentrycompletion.c:324 +#: ../gtk/gtkentrycompletion.c:345 msgid "Inline completion" msgstr "Lineako osaketa" -#: gtk/gtkentrycompletion.c:325 +#: ../gtk/gtkentrycompletion.c:346 msgid "Whether the common prefix should be inserted automatically" msgstr "Aurrizki arruntak automatikoki txertatuko diren ala ez adierazten du" -#: gtk/gtkentrycompletion.c:339 +#: ../gtk/gtkentrycompletion.c:360 msgid "Popup completion" msgstr "Laster-leiho osaketa" -#: gtk/gtkentrycompletion.c:340 +#: ../gtk/gtkentrycompletion.c:361 msgid "Whether the completions should be shown in a popup window" msgstr "Osaketak laster-leihoan erakutsiko diren ala ez adierazten du" -#: gtk/gtkentrycompletion.c:355 +#: ../gtk/gtkentrycompletion.c:376 msgid "Popup set width" msgstr "Laster-leihoak zabalera ezarri" -#: gtk/gtkentrycompletion.c:356 +#: ../gtk/gtkentrycompletion.c:377 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "TRUE bada, laster-leihoak sarreraren tamaina berdina izango du" -#: gtk/gtkentrycompletion.c:374 +#: ../gtk/gtkentrycompletion.c:395 msgid "Popup single match" msgstr "Agertarazi bat-etortze bakuna" -#: gtk/gtkentrycompletion.c:375 +#: ../gtk/gtkentrycompletion.c:396 msgid "If TRUE, the popup window will appear for a single match." -msgstr "" -"TRUE bada, laster-leihoa agertuko da konparazioan bat datorren bakunarentzat" +msgstr "TRUE bada, laster-leihoa agertuko da konparazioan bat datorren bakunarentzat" -#: gtk/gtkentrycompletion.c:389 +#: ../gtk/gtkentrycompletion.c:410 msgid "Inline selection" msgstr "Lineako hautapena" -#: gtk/gtkentrycompletion.c:390 +#: ../gtk/gtkentrycompletion.c:411 msgid "Your description here" msgstr "Zure azalpena hemen" # -#: gtk/gtkeventbox.c:93 +#: ../gtk/gtkeventbox.c:109 msgid "Visible Window" msgstr "Leihoa ikusgai" -#: gtk/gtkeventbox.c:94 +#: ../gtk/gtkeventbox.c:110 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2707,11 +2947,11 @@ msgstr "" "Gertaera-koadroa ikusgai dagoen edo, alderantziz, ikusezin dagoen eta " "gertaerak geldiarazteko bakarrik erabiltzen den adierazten du." -#: gtk/gtkeventbox.c:100 +#: ../gtk/gtkeventbox.c:116 msgid "Above child" msgstr "Umearen gainean" -#: gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:117 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2719,168 +2959,167 @@ msgstr "" "Gertaera-koadroko gertaerak geldiarazteko leihoa trepeta umearen leihoaren " "gainean edo azpian dagoen adierazten du." -#: gtk/gtkexpander.c:201 +#: ../gtk/gtkexpander.c:279 msgid "Expanded" msgstr "Zabalduta" -#: gtk/gtkexpander.c:202 +#: ../gtk/gtkexpander.c:280 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Zabaltzailea trepeta umea erakusteko ireki den ala ez adierazten du" -#: gtk/gtkexpander.c:210 +#: ../gtk/gtkexpander.c:288 msgid "Text of the expander's label" msgstr "Zabaltzailearen etiketako testua" -#: gtk/gtkexpander.c:225 gtk/gtklabel.c:563 +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Erabili markaketa" -#: gtk/gtkexpander.c:226 gtk/gtklabel.c:564 +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "Etiketako testuak XML markaketa dauka. Ikus pango_parse_markup()" -#: gtk/gtkexpander.c:234 +#: ../gtk/gtkexpander.c:312 msgid "Space to put between the label and the child" msgstr "Etiketaren eta umearen artean jarri beharreko tartea" -#: gtk/gtkexpander.c:243 gtk/gtkframe.c:165 gtk/gtktoolbutton.c:216 -#: gtk/gtktoolitemgroup.c:1578 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 +#: ../gtk/gtktoolitemgroup.c:1601 msgid "Label widget" msgstr "Etiketa-trepeta" -#: gtk/gtkexpander.c:244 +#: ../gtk/gtkexpander.c:322 msgid "A widget to display in place of the usual expander label" msgstr "Ohiko zabaltzaile-etiketaren ordez bistaratu beharreko trepeta" -#: gtk/gtkexpander.c:251 -#, fuzzy +#: ../gtk/gtkexpander.c:329 msgid "Label fill" -msgstr "Fitxa betetzea" +msgstr "Etiketa betetzea" -#: gtk/gtkexpander.c:252 -#, fuzzy +#: ../gtk/gtkexpander.c:330 msgid "Whether the label widget should fill all available horizontal space" -msgstr "Elementuak tarte erabilgarria beteko duen edo ez adierazten du" +msgstr "" +"Etiketaren trepetak tarte horizontal erabilgarri guztia beteko duen edo ez " +"adierazten du" -#: gtk/gtkexpander.c:258 gtk/gtktoolitemgroup.c:1606 gtk/gtktreeview.c:776 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1629 +#: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Zabaltzailearen tamaina" -#: gtk/gtkexpander.c:259 gtk/gtktoolitemgroup.c:1607 gtk/gtktreeview.c:777 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1630 +#: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Zabaltzailearen geziaren tamaina" -#: gtk/gtkexpander.c:268 +#: ../gtk/gtkexpander.c:346 msgid "Spacing around expander arrow" msgstr "Zabaltzailearen geziaren inguruko tartea" -#: gtk/gtkfilechooserbutton.c:368 +#: ../gtk/gtkfilechooserbutton.c:366 msgid "Dialog" msgstr "Elkarrizketa-koadroa" -#: gtk/gtkfilechooserbutton.c:369 +#: ../gtk/gtkfilechooserbutton.c:367 msgid "The file chooser dialog to use." msgstr "Fitxategiak aukeratzeko erabiliko den elkarrizketa-koadroa." -#: gtk/gtkfilechooserbutton.c:400 +#: ../gtk/gtkfilechooserbutton.c:398 msgid "The title of the file chooser dialog." -msgstr "" -"Elkarrizketa-koadroaren titulua (fitxategiak aukeratzeko erabiliko dena)" +msgstr "Elkarrizketa-koadroaren titulua (fitxategiak aukeratzeko erabiliko dena)" -#: gtk/gtkfilechooserbutton.c:414 +#: ../gtk/gtkfilechooserbutton.c:412 msgid "The desired width of the button widget, in characters." msgstr "Botoi-trepetak edukiko duen zabalera, karaktereetan." # -#: gtk/gtkfilechooser.c:740 +#: ../gtk/gtkfilechooser.c:740 msgid "Action" msgstr "Ekintza" -#: gtk/gtkfilechooser.c:741 +#: ../gtk/gtkfilechooser.c:741 msgid "The type of operation that the file selector is performing" msgstr "Fitxategi-hautatzailea egiten ari den eragiketa-mota" -#: gtk/gtkfilechooser.c:747 gtk/gtkrecentchooser.c:264 +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 msgid "Filter" msgstr "Iragazkia" -#: gtk/gtkfilechooser.c:748 +#: ../gtk/gtkfilechooser.c:748 msgid "The current filter for selecting which files are displayed" msgstr "Zein fitxategi bistaratuko diren hautatzeko uneko iragazkia" -#: gtk/gtkfilechooser.c:753 +#: ../gtk/gtkfilechooser.c:753 msgid "Local Only" msgstr "Lokalak bakarrik" -#: gtk/gtkfilechooser.c:754 +#: ../gtk/gtkfilechooser.c:754 msgid "Whether the selected file(s) should be limited to local file: URLs" msgstr "" "Hautatutako fitxategiek lokalak, hau da, URLak, izan behar duten ala ez " "adierazten du" # -#: gtk/gtkfilechooser.c:759 +#: ../gtk/gtkfilechooser.c:759 msgid "Preview widget" msgstr "Aurrebista-trepeta" -#: gtk/gtkfilechooser.c:760 +#: ../gtk/gtkfilechooser.c:760 msgid "Application supplied widget for custom previews." -msgstr "" -"Aplikazioak aurrebista pertsonalizatuak ikusteko trepeta eskaintzen du." +msgstr "Aplikazioak aurrebista pertsonalizatuak ikusteko trepeta eskaintzen du." # -#: gtk/gtkfilechooser.c:765 +#: ../gtk/gtkfilechooser.c:765 msgid "Preview Widget Active" msgstr "Aurrebista-trepeta aktibatuta" -#: gtk/gtkfilechooser.c:766 -msgid "" -"Whether the application supplied widget for custom previews should be shown." +#: ../gtk/gtkfilechooser.c:766 +msgid "Whether the application supplied widget for custom previews should be shown." msgstr "" "Aurrebista pertsonalizatuak erakusteko aplikazioak eskainitako trepeta " "erakutsi beharko litzatekeen ala ez adierazten du." # -#: gtk/gtkfilechooser.c:771 +#: ../gtk/gtkfilechooser.c:771 msgid "Use Preview Label" msgstr "Erabili aurrebista-etiketa" -#: gtk/gtkfilechooser.c:772 +#: ../gtk/gtkfilechooser.c:772 msgid "Whether to display a stock label with the name of the previewed file." msgstr "" "Stock-etiketa aurrebistan erakutsitako fitxategiaren izenarekin bistaratuko " "den ala ez adierazten du." -#: gtk/gtkfilechooser.c:777 +#: ../gtk/gtkfilechooser.c:777 msgid "Extra widget" msgstr "Aukera osagarrien trepeta" -#: gtk/gtkfilechooser.c:778 +#: ../gtk/gtkfilechooser.c:778 msgid "Application supplied widget for extra options." msgstr "Aplikazioak aukera osagarrietarako trepeta eskaintzen du." # -#: gtk/gtkfilechooser.c:783 gtk/gtkrecentchooser.c:203 +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 msgid "Select Multiple" msgstr "Hautatu hainbat" -#: gtk/gtkfilechooser.c:784 +#: ../gtk/gtkfilechooser.c:784 msgid "Whether to allow multiple files to be selected" msgstr "Hainbat fitxategi hautatzen utziko duen ala ez adierazten du" -#: gtk/gtkfilechooser.c:790 +#: ../gtk/gtkfilechooser.c:790 msgid "Show Hidden" msgstr "Erakutsi ezkutukoa" -#: gtk/gtkfilechooser.c:791 +#: ../gtk/gtkfilechooser.c:791 msgid "Whether the hidden files and folders should be displayed" msgstr "Ezkutuko fitxategiak eta karpetak bistaratu behar diren edo ez" -#: gtk/gtkfilechooser.c:806 +#: ../gtk/gtkfilechooser.c:806 msgid "Do overwrite confirmation" msgstr "Eskatu berrespena gainidaztean" -#: gtk/gtkfilechooser.c:807 +#: ../gtk/gtkfilechooser.c:807 msgid "" "Whether a file chooser in save mode will present an overwrite confirmation " "dialog if necessary." @@ -2888,12 +3127,11 @@ msgstr "" "Fitxategi-aukeratzaileak (gordetzeko moduan) gainidazteko berrespena " "eskatzen duen elkarrizketa-koadroa erakutsi edo ez" -#: gtk/gtkfilechooser.c:823 -#, fuzzy +#: ../gtk/gtkfilechooser.c:823 msgid "Allow folder creation" msgstr "Baimendu karpetak sortzea" -#: gtk/gtkfilechooser.c:824 +#: ../gtk/gtkfilechooser.c:824 msgid "" "Whether a file chooser not in open mode will offer the user to create new " "folders." @@ -2901,139 +3139,205 @@ msgstr "" "Fitxategi-aukeratzaileak (ez-irekitzeko moduan) erabiltzaileari karpeta " "berriak sortzeko aukera eskainiko dion edo ez." -#: gtk/gtkfixed.c:98 gtk/gtklayout.c:605 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:632 msgid "X position" msgstr "X kokalekua" -#: gtk/gtkfixed.c:99 gtk/gtklayout.c:606 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:633 msgid "X position of child widget" msgstr "trepeta umearen X kokalekua" -#: gtk/gtkfixed.c:108 gtk/gtklayout.c:615 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:642 msgid "Y position" msgstr "Y kokalekua" -#: gtk/gtkfixed.c:109 gtk/gtklayout.c:616 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:643 msgid "Y position of child widget" msgstr "trepeta umearen Y kokalekua" -#: gtk/gtkfontbutton.c:141 +#: ../gtk/gtkfontbutton.c:141 msgid "The title of the font selection dialog" msgstr "Letra-tipoa hautatzeko elkarrizketa-koadroaren izenburua" # -#: gtk/gtkfontbutton.c:156 gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:219 msgid "Font name" msgstr "Letra-tipoaren izena" -#: gtk/gtkfontbutton.c:157 +#: ../gtk/gtkfontbutton.c:157 msgid "The name of the selected font" msgstr "Hautatutako letra-tipoaren izena" -#: gtk/gtkfontbutton.c:158 +#: ../gtk/gtkfontbutton.c:158 msgid "Sans 12" msgstr "Sans 12" -#: gtk/gtkfontbutton.c:173 +#: ../gtk/gtkfontbutton.c:173 msgid "Use font in label" msgstr "Erabili etiketako letra-tipoa" -#: gtk/gtkfontbutton.c:174 +#: ../gtk/gtkfontbutton.c:174 msgid "Whether the label is drawn in the selected font" -msgstr "" -"Etiketa hautatutako letra-tipoan marraztuta dagoen ala ez adierazten du" +msgstr "Etiketa hautatutako letra-tipoan marraztuta dagoen ala ez adierazten du" -#: gtk/gtkfontbutton.c:189 +#: ../gtk/gtkfontbutton.c:189 msgid "Use size in label" msgstr "Erabili etiketako tamaina" -#: gtk/gtkfontbutton.c:190 +#: ../gtk/gtkfontbutton.c:190 msgid "Whether the label is drawn with the selected font size" msgstr "Etiketa hautatutako tamainan marraztuta dagoen ala ez adierazten du" -#: gtk/gtkfontbutton.c:206 +#: ../gtk/gtkfontbutton.c:206 msgid "Show style" msgstr "Erakutsi estiloa" -#: gtk/gtkfontbutton.c:207 +#: ../gtk/gtkfontbutton.c:207 msgid "Whether the selected font style is shown in the label" msgstr "" "Hautatutako letra-tipoaren estiloa etiketan erakusten den ala ez adierazten " "du" -#: gtk/gtkfontbutton.c:222 +#: ../gtk/gtkfontbutton.c:222 msgid "Show size" msgstr "Erakutsi tamaina" -#: gtk/gtkfontbutton.c:223 +#: ../gtk/gtkfontbutton.c:223 msgid "Whether selected font size is shown in the label" msgstr "" "Hautatutako letra-tipoaren tamaina etiketan erakusten den ala ez adierazten " "du" -#: gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:220 msgid "The string that represents this font" msgstr "Letra-tipo hau adierazten duen katea" # -#: gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:226 msgid "Preview text" msgstr "Testuaren aurrebista" -#: gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:227 msgid "The text to display in order to demonstrate the selected font" msgstr "Hautatutako letra-tipoa erakusteko bistaratu beharreko testua" -#: gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:132 msgid "Text of the frame's label" msgstr "Markoaren etiketako testua" # -#: gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:139 msgid "Label xalign" msgstr "Etiketaren xalign" -#: gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:140 msgid "The horizontal alignment of the label" msgstr "Etiketaren lerrokatze horizontala" -#: gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:148 msgid "Label yalign" msgstr "Etiketaren yalign" -#: gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:149 msgid "The vertical alignment of the label" msgstr "Etiketaren lerrokatze bertikala" -#: gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:157 msgid "Frame shadow" msgstr "Markoaren itzala" -#: gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:158 msgid "Appearance of the frame border" msgstr "Markoaren ertzaren itxura" -#: gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:167 msgid "A widget to display in place of the usual frame label" msgstr "Ohiko marko-etiketaren ordez bistaratu beharreko trepeta" -#: gtk/gtkhandlebox.c:183 +# +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "Errenkaden tartea" + +#: ../gtk/gtkgrid.c:1270 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "Elkarren segidako bi errenkaden arteko lekua" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "Zutabeen tartea" + +#: ../gtk/gtkgrid.c:1277 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "Elkarren segidako bi zutaberen arteko lekua" + +#: ../gtk/gtkgrid.c:1283 +msgid "Row Homogeneous" +msgstr "Errenkada homogeneoak" + +#: ../gtk/gtkgrid.c:1284 +msgid "If TRUE, the rows are all the same height" +msgstr "TRUE (EGIA) bada, errenkada guztiek altuera berdina daukate" + +#: ../gtk/gtkgrid.c:1290 +msgid "Column Homogeneous" +msgstr "Zutabe homogeneoak" + +#: ../gtk/gtkgrid.c:1291 +msgid "If TRUE, the columns are all the same width" +msgstr "TRUE (EGIA) bada, zutabe guztiek zabalera berdina daukate" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "Ezkerreko eranskina" + +#: ../gtk/gtkgrid.c:1298 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "Umearen ezkerreko aldean erantsi beharreko zutabeen kopurua" + +#: ../gtk/gtkgrid.c:1304 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "Goiko eranskina" + +#: ../gtk/gtkgrid.c:1305 +msgid "The row number to attach the top side of a child widget to" +msgstr "Trepeta umearen goian erantsi beharreko errenkaden kopurua" + +# +#: ../gtk/gtkgrid.c:1311 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "Zabalera" + +#: ../gtk/gtkgrid.c:1312 +msgid "The number of columns that a child spans" +msgstr "Ume batek zabaltzen duen zutabeen kopurua" + +# +#: ../gtk/gtkgrid.c:1318 ../gtk/gtklayout.c:667 +msgid "Height" +msgstr "Altuera" + +#: ../gtk/gtkgrid.c:1319 +msgid "The number of rows that a child spans" +msgstr "Ume batek zabaltzen duen errenkaden kopurua" + +#: ../gtk/gtkhandlebox.c:191 msgid "Appearance of the shadow that surrounds the container" msgstr "Edukiontzia inguratzen duen itzalaren itxura" -#: gtk/gtkhandlebox.c:191 +#: ../gtk/gtkhandlebox.c:199 msgid "Handle position" msgstr "Heldulekuaren posizioa" -#: gtk/gtkhandlebox.c:192 +#: ../gtk/gtkhandlebox.c:200 msgid "Position of the handle relative to the child widget" msgstr "Trepeta umeari dagokion heldulekuaren posizioa" -#: gtk/gtkhandlebox.c:200 +#: ../gtk/gtkhandlebox.c:208 msgid "Snap edge" msgstr "Egokitu ertza" -#: gtk/gtkhandlebox.c:201 +#: ../gtk/gtkhandlebox.c:209 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -3041,11 +3345,11 @@ msgstr "" "Helduleku-laukia atrakatzeko atrakatze-puntuarekin lerrokatuta dagoen " "helduleku-laukiaren aldea" -#: gtk/gtkhandlebox.c:209 +#: ../gtk/gtkhandlebox.c:217 msgid "Snap edge set" msgstr "Ertz-egokitzearen ezarpena" -#: gtk/gtkhandlebox.c:210 +#: ../gtk/gtkhandlebox.c:218 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -3053,291 +3357,282 @@ msgstr "" "snap_edge propietatearen balioa edo handle_position-etik eratorritako balioa " "erabiliko den adierazten du" -#: gtk/gtkhandlebox.c:217 +#: ../gtk/gtkhandlebox.c:225 msgid "Child Detached" msgstr "Umea askatuta" -#: gtk/gtkhandlebox.c:218 +#: ../gtk/gtkhandlebox.c:226 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." -msgstr "" -"Balio boolearrak zera adierazten du: umea erantsita edo askatuta dagoen." +msgstr "Balio boolearrak zera adierazten du: umea erantsita edo askatuta dagoen." -#: gtk/gtkiconview.c:550 +#: ../gtk/gtkiconview.c:524 msgid "Selection mode" msgstr "Hautapen modua" -#: gtk/gtkiconview.c:551 +#: ../gtk/gtkiconview.c:525 msgid "The selection mode" msgstr "Hautatzeko modua" -#: gtk/gtkiconview.c:569 +#: ../gtk/gtkiconview.c:543 msgid "Pixbuf column" msgstr "Pixbuf-zutabea" -#: gtk/gtkiconview.c:570 +#: ../gtk/gtkiconview.c:544 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Pixbuf-aren ikonoa eskuratzeko erabiliko de zubate-modeloa" -#: gtk/gtkiconview.c:588 +#: ../gtk/gtkiconview.c:562 msgid "Model column used to retrieve the text from" msgstr "Testua eskuratzeko erabiliko den zutabe-modeloa" -#: gtk/gtkiconview.c:607 +#: ../gtk/gtkiconview.c:581 msgid "Markup column" msgstr "Markaketa-zutabea" -#: gtk/gtkiconview.c:608 +#: ../gtk/gtkiconview.c:582 msgid "Model column used to retrieve the text if using Pango markup" msgstr "" "Testua eskuratzeko erabiliko den zutabe-modeloa, Pango markaketa erabiltzen " "bada" # -#: gtk/gtkiconview.c:615 +#: ../gtk/gtkiconview.c:589 msgid "Icon View Model" msgstr "Ikono-ikustaile modeloa" -#: gtk/gtkiconview.c:616 +#: ../gtk/gtkiconview.c:590 msgid "The model for the icon view" msgstr "Ikono-ikustailearen modeloa" -#: gtk/gtkiconview.c:632 +#: ../gtk/gtkiconview.c:606 msgid "Number of columns" msgstr "Zutabe kopurua" -#: gtk/gtkiconview.c:633 +#: ../gtk/gtkiconview.c:607 msgid "Number of columns to display" msgstr "Bistaratuko diren zutabeen kopurua" -#: gtk/gtkiconview.c:650 +#: ../gtk/gtkiconview.c:624 msgid "Width for each item" msgstr "Elementu bakoitzaren zabalera" -#: gtk/gtkiconview.c:651 +#: ../gtk/gtkiconview.c:625 msgid "The width used for each item" msgstr "Elementu bakoitzean erabiliko den zabalera" -#: gtk/gtkiconview.c:667 +#: ../gtk/gtkiconview.c:641 msgid "Space which is inserted between cells of an item" msgstr "Elementu bateko gelaxken artean txertatuko den tartea" # -#: gtk/gtkiconview.c:682 +#: ../gtk/gtkiconview.c:656 msgid "Row Spacing" msgstr "Errenkada-tartea" -#: gtk/gtkiconview.c:683 +#: ../gtk/gtkiconview.c:657 msgid "Space which is inserted between grid rows" msgstr "Saretako errenkaden artean txertatuko den tartea" -#: gtk/gtkiconview.c:698 +#: ../gtk/gtkiconview.c:672 msgid "Column Spacing" msgstr "Zutabe-tartea" -#: gtk/gtkiconview.c:699 +#: ../gtk/gtkiconview.c:673 msgid "Space which is inserted between grid columns" msgstr "Saretako zutabeen artean txertatuko den tartea" -#: gtk/gtkiconview.c:714 +#: ../gtk/gtkiconview.c:688 msgid "Margin" msgstr "Marjina" -#: gtk/gtkiconview.c:715 +#: ../gtk/gtkiconview.c:689 msgid "Space which is inserted at the edges of the icon view" msgstr "Ikono-ikustailearen ertzetan txertatuko den tartea" -#: gtk/gtkiconview.c:730 -#, fuzzy +#: ../gtk/gtkiconview.c:704 msgid "Item Orientation" -msgstr "Orientazioa" +msgstr "Elementuaren orientazioa" -#: gtk/gtkiconview.c:731 -msgid "" -"How the text and icon of each item are positioned relative to each other" -msgstr "" -"Elementu bakoitzaren testua eta ikonoa elkarrekiko erlatiboki nola kokatu" +#: ../gtk/gtkiconview.c:705 +msgid "How the text and icon of each item are positioned relative to each other" +msgstr "Elementu bakoitzaren testua eta ikonoa elkarrekiko erlatiboki nola kokatu" -#: gtk/gtkiconview.c:747 gtk/gtktreeview.c:611 gtk/gtktreeviewcolumn.c:311 +#: ../gtk/gtkiconview.c:721 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Reorderable" msgstr "Berrantolagarria" -#: gtk/gtkiconview.c:748 gtk/gtktreeview.c:612 +#: ../gtk/gtkiconview.c:722 ../gtk/gtktreeview.c:1027 msgid "View is reorderable" msgstr "Ikuspegia berrantolagarria da" -#: gtk/gtkiconview.c:755 gtk/gtktreeview.c:762 +#: ../gtk/gtkiconview.c:729 ../gtk/gtktreeview.c:1177 msgid "Tooltip Column" msgstr "Argibidearen zutabea" -#: gtk/gtkiconview.c:756 +#: ../gtk/gtkiconview.c:730 msgid "The column in the model containing the tooltip texts for the items" msgstr "Elementuen argibideak dituen modeloaren zutabea." -#: gtk/gtkiconview.c:773 +#: ../gtk/gtkiconview.c:747 msgid "Item Padding" msgstr "Elementu betegarria" -#: gtk/gtkiconview.c:774 +#: ../gtk/gtkiconview.c:748 msgid "Padding around icon view items" msgstr "Ikonoen ikuspegiko elementuen arteko betegarria" # -#: gtk/gtkiconview.c:783 +#: ../gtk/gtkiconview.c:776 msgid "Selection Box Color" msgstr "Hautapen-koadroaren kolorea" -#: gtk/gtkiconview.c:784 +#: ../gtk/gtkiconview.c:777 msgid "Color of the selection box" msgstr "Hautapen-koadroaren kolorea" # -#: gtk/gtkiconview.c:790 +#: ../gtk/gtkiconview.c:783 msgid "Selection Box Alpha" msgstr "Alfaren hautapen-koadroa" -#: gtk/gtkiconview.c:791 +#: ../gtk/gtkiconview.c:784 msgid "Opacity of the selection box" msgstr "Hautapen-koadroaren opakutasuna" -#: gtk/gtkimage.c:227 gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: gtk/gtkimage.c:228 gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "Bistaratu beharreko GdkPixbuf-a" # -#: gtk/gtkimage.c:235 gtk/gtkrecentmanager.c:290 gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:242 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Fitxategi-izena" -#: gtk/gtkimage.c:236 gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:243 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Kargatu eta bistaratu beharreko fitxategi-izena" -#: gtk/gtkimage.c:245 gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:252 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "Bistaratu behar den stock-irudiaren stock-IDa" # -#: gtk/gtkimage.c:252 +#: ../gtk/gtkimage.c:259 msgid "Icon set" msgstr "Ikonoaren ezarpena" -#: gtk/gtkimage.c:253 +#: ../gtk/gtkimage.c:260 msgid "Icon set to display" msgstr "Bistaratu beharreko ikonoa" # -#: gtk/gtkimage.c:260 gtk/gtkscalebutton.c:230 gtk/gtktoolbar.c:494 -#: gtk/gtktoolpalette.c:1003 +#: ../gtk/gtkimage.c:267 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1032 msgid "Icon size" msgstr "Ikonoaren tamaina" -#: gtk/gtkimage.c:261 +#: ../gtk/gtkimage.c:268 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Stock-ikonoarentzat, ikono-multzoarentzat edo izendun ikonoarentzat erabili " "beharreko tamaina sinbolikoa" # -#: gtk/gtkimage.c:277 +#: ../gtk/gtkimage.c:284 msgid "Pixel size" msgstr "Pixel-tamaina" -#: gtk/gtkimage.c:278 +#: ../gtk/gtkimage.c:285 msgid "Pixel size to use for named icon" msgstr "Izendun ikonoan erabiliko den pixel-tamaina" # -#: gtk/gtkimage.c:286 +#: ../gtk/gtkimage.c:293 msgid "Animation" msgstr "Animazioa" -#: gtk/gtkimage.c:287 +#: ../gtk/gtkimage.c:294 msgid "GdkPixbufAnimation to display" msgstr "Bistaratu beharreko GdkPixbufAnimation " # -#: gtk/gtkimage.c:327 gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Biltegi-mota" -#: gtk/gtkimage.c:328 gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "Irudien datuentzat erabiltzen den adierazpidea" -#: gtk/gtkimagemenuitem.c:139 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Menuaren testuaren ondoan agertu beharreko trepeta umea" -#: gtk/gtkimagemenuitem.c:154 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" msgstr "" "Etiketako testua erabiliko den oinarriko menu-elementua sortzeko ala ez " "adierazten du" -#: gtk/gtkimagemenuitem.c:187 gtk/gtkmenu.c:540 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 msgid "Accel Group" msgstr "Bizkortzaile-taldea" -#: gtk/gtkimagemenuitem.c:188 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "Oinarriko tekla bizkortzaileentzat erabiliko den bizkortzaile-taldea" -#: gtk/gtkimagemenuitem.c:193 -msgid "Show menu images" -msgstr "Erakutsi menuko irudiak" - -#: gtk/gtkimagemenuitem.c:194 -msgid "Whether images should be shown in menus" -msgstr "Irudiak menuetan erakutsi behar diren ala ez adierazten du" - -#: gtk/gtkinfobar.c:375 gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 msgid "Message Type" msgstr "Mezu-mota" -#: gtk/gtkinfobar.c:376 gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 msgid "The type of message" msgstr "Mezuaren mota" -#: gtk/gtkinfobar.c:431 +#: ../gtk/gtkinfobar.c:435 msgid "Width of border around the content area" msgstr "Ertzak edukiaren arearen inguruko ertzaren zabalera" -#: gtk/gtkinfobar.c:448 +#: ../gtk/gtkinfobar.c:452 msgid "Spacing between elements of the area" msgstr "Areako elementuen arteko tartea" -#: gtk/gtkinfobar.c:480 +#: ../gtk/gtkinfobar.c:484 msgid "Width of border around the action area" msgstr "Ekintzaren arearen inguruko ertzaren zabalera" -#: gtk/gtkinvisible.c:89 gtk/gtkmountoperation.c:175 gtk/gtkstatusicon.c:279 -#: gtk/gtkwindow.c:693 +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:546 +#: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "Pantaila" -#: gtk/gtkinvisible.c:90 gtk/gtkwindow.c:694 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 msgid "The screen where this window will be displayed" msgstr "Leiho hau bistaratuko den pantaila" -#: gtk/gtklabel.c:550 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "Etiketako testua" -#: gtk/gtklabel.c:557 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "Etiketako testuari aplikatu beharreko estilo-atributuen zerrenda" -#: gtk/gtklabel.c:578 gtk/gtktexttag.c:335 gtk/gtktextview.c:685 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:353 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "Justifikazioa" -#: gtk/gtklabel.c:579 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3347,11 +3642,11 @@ msgstr "" "eragiten bere esleipenaren barruko etiketaren lerrokatzeari. Ikus GtkMisc::" "xalign horretarako" -#: gtk/gtklabel.c:587 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Eredua" -#: gtk/gtklabel.c:588 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3359,51 +3654,49 @@ msgstr "" "_ karaktereak dauzkan katea, azpimarratu beharreko testuko karaktereei " "dagozkien kokalekutan" -#: gtk/gtklabel.c:595 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Lerro-itzulbira" -#: gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "Ezarrita badago, testua zabalegia bada lerroak itzulbiratu egingo dira" -#: gtk/gtklabel.c:611 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Lerro-itzulbira modua" -#: gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" -msgstr "" -"Itzulbira ezartzen bada lerro-itzulbira nola egiten den kontrolatuko du" +msgstr "Itzulbira ezartzen bada lerro-itzulbira nola egiten den kontrolatuko du" # -#: gtk/gtklabel.c:619 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Hautagarria" -#: gtk/gtklabel.c:620 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Etiketako testua saguarekin hauta daitekeen ala ez adierazten du" -#: gtk/gtklabel.c:626 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Tekla mnemoteknikoa" -#: gtk/gtklabel.c:627 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "Etiketa honen tekla bizkortzaile mnemoteknikoa" # -#: gtk/gtklabel.c:635 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Trepeta mnemoteknikoa" -#: gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" -msgstr "" -"Etiketako tekla mnemoteknikoa sakatuta dagoenean aktibatuko den trepeta" +msgstr "Etiketako tekla mnemoteknikoa sakatuta dagoenean aktibatuko den trepeta" -#: gtk/gtklabel.c:682 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3411,188 +3704,149 @@ msgstr "" "Katea elipsi gisa jartzeko lekua, etiketak ez badu nahikoa toki kate osoa " "bistaratzeko." -#: gtk/gtklabel.c:723 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Lerro bakarreko modua" -#: gtk/gtklabel.c:724 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Etiketa lerro bakarreko moduan dagoen ala ez adierazten du" -#: gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Angelua" -#: gtk/gtklabel.c:742 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Etiketa biratuko den angelua" -#: gtk/gtklabel.c:764 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "Etiketaren zabalera maximoa, karaktereetan" -#: gtk/gtklabel.c:782 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Jarraitu bisitatutako estekak" -#: gtk/gtklabel.c:783 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Bisitatutako estekak jarraituko diren edo ez" -#: gtk/gtklabel.c:904 -msgid "Whether to select the contents of a selectable label when it is focused" -msgstr "Enfokatzean, sarreraren edukia hautatuko den edo ez" - -# -#: gtk/gtklayout.c:625 gtk/gtkviewport.c:142 -msgid "Horizontal adjustment" -msgstr "Doitze horizontala" - -#: gtk/gtklayout.c:626 gtk/gtkscrolledwindow.c:244 -msgid "The GtkAdjustment for the horizontal position" -msgstr "Posizio horizontalaren GtkAdjustment" - -#: gtk/gtklayout.c:633 gtk/gtkviewport.c:150 -msgid "Vertical adjustment" -msgstr "Doitze bertikala" - -#: gtk/gtklayout.c:634 gtk/gtkscrolledwindow.c:251 -msgid "The GtkAdjustment for the vertical position" -msgstr "Posizio bertikalaren GtkAdjustment" - -# -#: gtk/gtklayout.c:641 gtk/gtktreeviewcolumn.c:211 -msgid "Width" -msgstr "Zabalera" - -#: gtk/gtklayout.c:642 +#: ../gtk/gtklayout.c:659 msgid "The width of the layout" msgstr "Diseinuaren zabalera" -# -#: gtk/gtklayout.c:650 -msgid "Height" -msgstr "Altuera" - -#: gtk/gtklayout.c:651 +#: ../gtk/gtklayout.c:668 msgid "The height of the layout" msgstr "Diseinuaren altuera" -#: gtk/gtklinkbutton.c:162 +#: ../gtk/gtklinkbutton.c:173 msgid "URI" msgstr "URIa" -#: gtk/gtklinkbutton.c:163 +#: ../gtk/gtklinkbutton.c:174 msgid "The URI bound to this button" msgstr "Botoi honi lotutako URIa" # -#: gtk/gtklinkbutton.c:177 +#: ../gtk/gtklinkbutton.c:188 msgid "Visited" msgstr "Bisitatua" -#: gtk/gtklinkbutton.c:178 +#: ../gtk/gtklinkbutton.c:189 msgid "Whether this link has been visited." msgstr "Esteka hau bisitatua izan den ala ez." # -#: gtk/gtkmenubar.c:163 +#: ../gtk/gtkmenubar.c:181 msgid "Pack direction" msgstr "Paketatze norabidea" -#: gtk/gtkmenubar.c:164 +#: ../gtk/gtkmenubar.c:182 msgid "The pack direction of the menubar" msgstr "Menu-barrako paketatzearen norabidea" -#: gtk/gtkmenubar.c:180 +#: ../gtk/gtkmenubar.c:198 msgid "Child Pack direction" msgstr "Paketatze norabide umea" -#: gtk/gtkmenubar.c:181 +#: ../gtk/gtkmenubar.c:199 msgid "The child pack direction of the menubar" msgstr "Menu-barrako paketatze norabide umea" -#: gtk/gtkmenubar.c:190 +#: ../gtk/gtkmenubar.c:208 msgid "Style of bevel around the menubar" msgstr "Menu-barraren inguruko alaka-estiloa" -#: gtk/gtkmenubar.c:197 gtk/gtktoolbar.c:544 +#: ../gtk/gtkmenubar.c:215 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Barneko tarte betegarria" -#: gtk/gtkmenubar.c:198 +#: ../gtk/gtkmenubar.c:216 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Menu-barraren itzalaren eta menuko elementuen arteko ertzen espazioa" -#: gtk/gtkmenubar.c:205 -msgid "Delay before drop down menus appear" -msgstr "Goitibeherako menuak agertu aurreko atzerapena" - -#: gtk/gtkmenubar.c:206 -msgid "Delay before the submenus of a menu bar appear" -msgstr "Menu-barrako azpimenuak agertu aurreko atzerapena" - -#: gtk/gtkmenu.c:526 +#: ../gtk/gtkmenu.c:517 msgid "The currently selected menu item" msgstr "Unean hautatutako menu-elementua" -#: gtk/gtkmenu.c:541 +#: ../gtk/gtkmenu.c:532 msgid "The accel group holding accelerators for the menu" msgstr "Bizkortzaile-taldea menuaren bizkortzaileak dituenak" -#: gtk/gtkmenu.c:555 gtk/gtkmenuitem.c:318 +#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Bizkortzaile-bidea" -#: gtk/gtkmenu.c:556 +#: ../gtk/gtkmenu.c:547 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "ume-elementuen bizkortzaile-bideak eraikitzeko erabiliko den bizkortzaile-" "bidea" -#: gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:563 msgid "Attach Widget" msgstr "Erantsi trepeta" -#: gtk/gtkmenu.c:573 +#: ../gtk/gtkmenu.c:564 msgid "The widget the menu is attached to" msgstr "Trepeta erantsita duen menua" -#: gtk/gtkmenu.c:581 +#: ../gtk/gtkmenu.c:572 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" msgstr "Menu hau bereiztean leiho-kudeatzaileak bistara dezakeen izenburua" -#: gtk/gtkmenu.c:595 +#: ../gtk/gtkmenu.c:586 msgid "Tearoff State" msgstr "Askagarri-egoera" -#: gtk/gtkmenu.c:596 +#: ../gtk/gtkmenu.c:587 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Menua askatzen den ala ez adierazten duen balio boolearra" -#: gtk/gtkmenu.c:610 +#: ../gtk/gtkmenu.c:601 msgid "Monitor" msgstr "Monitorea" -#: gtk/gtkmenu.c:611 +#: ../gtk/gtkmenu.c:602 msgid "The monitor the menu will be popped up on" msgstr "Menua bistaratuko den monitorea" -#: gtk/gtkmenu.c:617 +#: ../gtk/gtkmenu.c:608 msgid "Vertical Padding" msgstr "Betegarri bertikala" -#: gtk/gtkmenu.c:618 +#: ../gtk/gtkmenu.c:609 msgid "Extra space at the top and bottom of the menu" msgstr "Menuaren goian eta behean tarte osagarria" -#: gtk/gtkmenu.c:640 +#: ../gtk/gtkmenu.c:631 msgid "Reserve Toggle Size" msgstr "Gorde txandakatzeko tamaina" -#: gtk/gtkmenu.c:641 +#: ../gtk/gtkmenu.c:632 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" @@ -3600,342 +3854,294 @@ msgstr "" "Menuek txandakatzeko eta ikonoentzako lekua gordeko duten edo ez adierazten " "duen balio boolearra" -#: gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:638 msgid "Horizontal Padding" msgstr "Tarte betegarri horizontala" -#: gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:639 msgid "Extra space at the left and right edges of the menu" msgstr "Menuaren ezkerreko eta eskuineko ertzen tarte osagarria" -#: gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:647 msgid "Vertical Offset" msgstr "Desplazamendu bertikala" -#: gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" -msgstr "" -"Menua azpimenua bada, desplaza ezazu menua bertikalki, horrenbeste pixelez" +msgstr "Menua azpimenua bada, desplaza ezazu menua bertikalki, horrenbeste pixelez" # -#: gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:656 msgid "Horizontal Offset" msgstr "Desplazamendu horizontala" -#: gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" -msgstr "" -"Menua azpimenua bada, desplaza ezazu menua horizontalki, horrenbeste pixelez" +msgstr "Menua azpimenua bada, desplaza ezazu menua horizontalki, horrenbeste pixelez" -#: gtk/gtkmenu.c:674 +#: ../gtk/gtkmenu.c:665 msgid "Double Arrows" msgstr "Gezi bikoitzak" -#: gtk/gtkmenu.c:675 +#: ../gtk/gtkmenu.c:666 msgid "When scrolling, always show both arrows." msgstr "Korritzean beti erakutsi bi geziak" # -#: gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:679 msgid "Arrow Placement" msgstr "Gezien kokalekua" -#: gtk/gtkmenu.c:689 +#: ../gtk/gtkmenu.c:680 msgid "Indicates where scroll arrows should be placed" msgstr "Korritze-geziak non kokatu behar diren adierazten du" -#: gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:688 msgid "Left Attach" msgstr "Erantsi ezkerrean" -#: gtk/gtkmenu.c:698 gtk/gtktable.c:193 -msgid "The column number to attach the left side of the child to" -msgstr "Umearen ezkerreko aldean erantsi beharreko zutabeen kopurua" - -#: gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:696 msgid "Right Attach" msgstr "Erantsi eskuinean" -#: gtk/gtkmenu.c:706 +#: ../gtk/gtkmenu.c:697 msgid "The column number to attach the right side of the child to" msgstr "Umearen eskuineko aldean erantsi beharreko zutabe-kopurua" -#: gtk/gtkmenu.c:713 +#: ../gtk/gtkmenu.c:704 msgid "Top Attach" msgstr "Erantsi goian" -#: gtk/gtkmenu.c:714 +#: ../gtk/gtkmenu.c:705 msgid "The row number to attach the top of the child to" msgstr "Umearen goialdean erantsi beharreko errenkada-kopurua" -#: gtk/gtkmenu.c:721 +#: ../gtk/gtkmenu.c:712 msgid "Bottom Attach" msgstr "Erantsi behean" -#: gtk/gtkmenu.c:722 gtk/gtktable.c:214 +#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "Umearen behean erantsi beharreko errenkaden kopurua" -#: gtk/gtkmenu.c:736 +#: ../gtk/gtkmenu.c:727 msgid "Arbitrary constant to scale down the size of the scroll arrow" -msgstr "" -"Konstante arbitrarioa korritze-geziaren tamainaren eskala txikiagotzeko" +msgstr "Konstante arbitrarioa korritze-geziaren tamainaren eskala txikiagotzeko" -#: gtk/gtkmenu.c:823 -msgid "Can change accelerators" -msgstr "Bizkortzaileak alda daitezke" - -#: gtk/gtkmenu.c:824 -msgid "" -"Whether menu accelerators can be changed by pressing a key over the menu item" -msgstr "" -"Tekla menu-elementuan sakatzean menu-bizkortzailea alda daitekeen ala ez " -"adierazten du" - -#: gtk/gtkmenu.c:829 -msgid "Delay before submenus appear" -msgstr "Azpimenuak agertu aurreko atzerapena" - -#: gtk/gtkmenu.c:830 -msgid "" -"Minimum time the pointer must stay over a menu item before the submenu appear" -msgstr "" -"Azpimenua agertzeko erakusleak menu-elementu baten gainean gutxienez zenbat " -"denbora egon behar duen" - -#: gtk/gtkmenu.c:837 -msgid "Delay before hiding a submenu" -msgstr "Azpimenua ezkutatu aurreko atzerapena" - -#: gtk/gtkmenu.c:838 -msgid "" -"The time before hiding a submenu when the pointer is moving towards the " -"submenu" -msgstr "Erakuslea azpimenurantz mugitzean azpimenua ezkutatu aurreko denbora" - -#: gtk/gtkmenuitem.c:285 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "Eskuinean lerrokatuta" -#: gtk/gtkmenuitem.c:286 -msgid "" -"Sets whether the menu item appears justified at the right side of a menu bar" +#: ../gtk/gtkmenuitem.c:282 +msgid "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" "Menuko elementuak menu-barraren eskuineko aldean justifikatuta agertuko " "diren edo ez ezartzen du" -#: gtk/gtkmenuitem.c:300 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "Azpimenua" -#: gtk/gtkmenuitem.c:301 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "Menuko elementuari erantsitako azpimenua, edo NULL ez badu ezer" -#: gtk/gtkmenuitem.c:319 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "Menuko elementuaren bizkortzaile-bidea ezartzen du" -#: gtk/gtkmenuitem.c:334 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "Etiketa umearen testua" -#: gtk/gtkmenuitem.c:397 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "Geziak erabiltzen duen leku kopurua, menuko elementuen letra-tamainarekiko " "erlatiboa" -#: gtk/gtkmenuitem.c:410 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "Zabalera karakteretan" -#: gtk/gtkmenuitem.c:411 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "Menuko elementuaren gutxieneko zabalera (karakteretan)" -#: gtk/gtkmenushell.c:379 +#: ../gtk/gtkmenushell.c:420 msgid "Take Focus" msgstr "Hartu fokua" -#: gtk/gtkmenushell.c:380 +#: ../gtk/gtkmenushell.c:421 msgid "A boolean that determines whether the menu grabs the keyboard focus" -msgstr "" -"Menuak teklatuaren fokua hartuko duen ala ez zehazten duen balio boolearra" +msgstr "Menuak teklatuaren fokua hartuko duen ala ez zehazten duen balio boolearra" -#: gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:257 msgid "Menu" msgstr "Menua" -#: gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:258 msgid "The dropdown menu" msgstr "Goitibeherako menua" -#: gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:185 msgid "Image/label border" msgstr "Irudiaren/etiketaren ertza" -#: gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:186 msgid "Width of border around the label and image in the message dialog" -msgstr "" -"Elkarrizketa-koadroko etiketaren eta irudiaren inguruko ertzaren zabalera" +msgstr "Elkarrizketa-koadroko etiketaren eta irudiaren inguruko ertzaren zabalera" -#: gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:210 msgid "Message Buttons" msgstr "Mezuko botoiak" -#: gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:211 msgid "The buttons shown in the message dialog" msgstr "Mezuaren elkarrizketa-koadroan agertzen diren botoiak" -#: gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:228 msgid "The primary text of the message dialog" msgstr "Mezuaren elkarrizketa-koadroaren testu nagusia" -#: gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:243 msgid "Use Markup" msgstr "Erabili markaketa" -#: gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the title includes Pango markup." msgstr "Tituluaren testu nagusiak Pango markaketa dauka." -#: gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:258 msgid "Secondary Text" msgstr "Bigarren mailako testua" -#: gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:259 msgid "The secondary text of the message dialog" msgstr "Mezuaren elkarrizketa-koadroaren 2. mailako testua" -#: gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:274 msgid "Use Markup in secondary" msgstr "Erabili markaketa 2. mailan" -#: gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text includes Pango markup." msgstr "2. mailako testuak Pango markaketa dauka." # -#: gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:289 msgid "Image" msgstr "Irudia" -#: gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:290 msgid "The image" msgstr "Irudia" -#: gtk/gtkmessagedialog.c:305 -#, fuzzy +#: ../gtk/gtkmessagedialog.c:306 msgid "Message area" -msgstr "Mezu-mota" +msgstr "Mezuaren area" -#: gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:307 msgid "GtkVBox that holds the dialog's primary and secondary labels" -msgstr "" +msgstr "Elkarrizketa-koadroaren lehen eta bigarren mailako etiketak dituen GtkVBox" # -#: gtk/gtkmisc.c:91 +#: ../gtk/gtkmisc.c:91 msgid "Y align" msgstr "Y lerrokatzea" -#: gtk/gtkmisc.c:92 +#: ../gtk/gtkmisc.c:92 msgid "The vertical alignment, from 0 (top) to 1 (bottom)" msgstr "Lerrokatze bertikala, 0tik (goian) 1era (behean)" -#: gtk/gtkmisc.c:101 +#: ../gtk/gtkmisc.c:101 msgid "X pad" msgstr "X betegarria" -#: gtk/gtkmisc.c:102 -msgid "" -"The amount of space to add on the left and right of the widget, in pixels" +#: ../gtk/gtkmisc.c:102 +msgid "The amount of space to add on the left and right of the widget, in pixels" msgstr "Trepetaren ezkerrean eta eskuinean gehitu beharreko lekua, pixeletan" -#: gtk/gtkmisc.c:111 +#: ../gtk/gtkmisc.c:111 msgid "Y pad" msgstr "Y betegarria" -#: gtk/gtkmisc.c:112 -msgid "" -"The amount of space to add on the top and bottom of the widget, in pixels" +#: ../gtk/gtkmisc.c:112 +msgid "The amount of space to add on the top and bottom of the widget, in pixels" msgstr "Trepetaren goian eta behean gehitu beharreko lekua, pixeletan" -#: gtk/gtkmountoperation.c:159 +#: ../gtk/gtkmountoperation.c:159 msgid "Parent" msgstr "Gurasoa" -#: gtk/gtkmountoperation.c:160 +#: ../gtk/gtkmountoperation.c:160 msgid "The parent window" msgstr "Guraso-leihoa" # -#: gtk/gtkmountoperation.c:167 +#: ../gtk/gtkmountoperation.c:167 msgid "Is Showing" msgstr "Bistaratua" -#: gtk/gtkmountoperation.c:168 +#: ../gtk/gtkmountoperation.c:168 msgid "Are we showing a dialog" msgstr "Elkarrizketa-koadro bat erakusten ari al gara" -#: gtk/gtkmountoperation.c:176 +#: ../gtk/gtkmountoperation.c:176 msgid "The screen where this window will be displayed." msgstr "Leiho hau bistaratuko den pantaila." # -#: gtk/gtknotebook.c:595 +#: ../gtk/gtknotebook.c:685 msgid "Page" msgstr "Orrialdea" -#: gtk/gtknotebook.c:596 +#: ../gtk/gtknotebook.c:686 msgid "The index of the current page" msgstr "Uneko orrialdearen indizea" -#: gtk/gtknotebook.c:604 +#: ../gtk/gtknotebook.c:694 msgid "Tab Position" msgstr "Fitxen kokalekua" -#: gtk/gtknotebook.c:605 +#: ../gtk/gtknotebook.c:695 msgid "Which side of the notebook holds the tabs" msgstr "Ohar-koadernoaren zein aldetan dauden fitxak" -#: gtk/gtknotebook.c:612 +#: ../gtk/gtknotebook.c:702 msgid "Show Tabs" msgstr "Erakutsi fitxak" -#: gtk/gtknotebook.c:613 -#, fuzzy +#: ../gtk/gtknotebook.c:703 msgid "Whether tabs should be shown" msgstr "Fitxak erakutsi behar diren ala ez adierazten du" -#: gtk/gtknotebook.c:619 +#: ../gtk/gtknotebook.c:709 msgid "Show Border" msgstr "Erakutsi ertza" -#: gtk/gtknotebook.c:620 -#, fuzzy +#: ../gtk/gtknotebook.c:710 msgid "Whether the border should be shown" msgstr "Ertza erakutsi behar den ala ez adierazten du" # -#: gtk/gtknotebook.c:626 +#: ../gtk/gtknotebook.c:716 msgid "Scrollable" msgstr "Korrigarria" -#: gtk/gtknotebook.c:627 +#: ../gtk/gtknotebook.c:717 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" -msgstr "" -"TRUE (egia) bada, korritze-geziak gehitzen dira fitxa gehiegi daudenean" +msgstr "TRUE (egia) bada, korritze-geziak gehitzen dira fitxa gehiegi daudenean" -#: gtk/gtknotebook.c:633 +#: ../gtk/gtknotebook.c:723 msgid "Enable Popup" msgstr "Gaitu laster-leihoa" -#: gtk/gtknotebook.c:634 +#: ../gtk/gtknotebook.c:724 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3943,338 +4149,368 @@ msgstr "" "TRUE (egia) bada, ohar-koadernoan saguaren eskuineko botoia sakatuz orrialde " "batera joateko menua agertuko da" -#: gtk/gtknotebook.c:648 -#, fuzzy +#: ../gtk/gtknotebook.c:738 msgid "Group Name" -msgstr "Taldearen IDa" +msgstr "Taldearen izena" -#: gtk/gtknotebook.c:649 -#, fuzzy +#: ../gtk/gtknotebook.c:739 msgid "Group name for tab drag and drop" -msgstr "Taldea fitxak arrastatu eta jaregiteko" +msgstr "Taldearen izena fitxak arrastatu eta jaregiteko" -#: gtk/gtknotebook.c:656 +#: ../gtk/gtknotebook.c:746 msgid "Tab label" msgstr "Fitxa-etiketa" -#: gtk/gtknotebook.c:657 +#: ../gtk/gtknotebook.c:747 msgid "The string displayed on the child's tab label" msgstr "Fitxa-umearen etiketan bistaratuko den katea" -#: gtk/gtknotebook.c:663 +#: ../gtk/gtknotebook.c:753 msgid "Menu label" msgstr "Menuaren etiketa" -#: gtk/gtknotebook.c:664 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed in the child's menu entry" msgstr "Menu-umearen sarreran umean bistaratuko den katea" -#: gtk/gtknotebook.c:677 +#: ../gtk/gtknotebook.c:767 msgid "Tab expand" msgstr "Fitxa zabaltzea" -#: gtk/gtknotebook.c:678 -#, fuzzy +#: ../gtk/gtknotebook.c:768 msgid "Whether to expand the child's tab" msgstr "Umearen fitxa zabalduko den ala ez adierazten du" -#: gtk/gtknotebook.c:684 +#: ../gtk/gtknotebook.c:774 msgid "Tab fill" msgstr "Fitxa betetzea" -#: gtk/gtknotebook.c:685 -#, fuzzy +#: ../gtk/gtknotebook.c:775 msgid "Whether the child's tab should fill the allocated area" msgstr "Fitxa-umeak esleitutako area beteko duen ala ez adierazten du" -#: gtk/gtknotebook.c:691 -msgid "Tab pack type" -msgstr "Fitxaren pakete-mota" - -#: gtk/gtknotebook.c:698 +#: ../gtk/gtknotebook.c:782 msgid "Tab reorderable" msgstr "Fitxa berrantolagarria" -#: gtk/gtknotebook.c:699 -#, fuzzy +#: ../gtk/gtknotebook.c:783 msgid "Whether the tab is reorderable by user action" msgstr "Fitxa berrantola daitekeen erabiltzailearen ekintzaren ondorioz edo ez" -#: gtk/gtknotebook.c:705 +#: ../gtk/gtknotebook.c:789 msgid "Tab detachable" msgstr "Fitxa desmuntagarria" -#: gtk/gtknotebook.c:706 +#: ../gtk/gtknotebook.c:790 msgid "Whether the tab is detachable" msgstr "Fitxa desmunta daitekeen edo ez" -#: gtk/gtknotebook.c:721 gtk/gtkscrollbar.c:80 +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Bigarren mailako atzeranzko gezia" -#: gtk/gtknotebook.c:722 -msgid "" -"Display a second backward arrow button on the opposite end of the tab area" +#: ../gtk/gtknotebook.c:806 +msgid "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Bigarren atzera-geziaren botoia bistaratzen du etiketa-arearen kontrako " "bukaeran" -#: gtk/gtknotebook.c:737 gtk/gtkscrollbar.c:87 +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Bigarren mailako aurreranzko gezia" -#: gtk/gtknotebook.c:738 -msgid "" -"Display a second forward arrow button on the opposite end of the tab area" +#: ../gtk/gtknotebook.c:822 +msgid "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Bigarren aurrera-geziaren botoia bistaratzen du etiketa-arearen kontrako " "bukaeran" -#: gtk/gtknotebook.c:752 gtk/gtkscrollbar.c:66 +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Atzeranzko gezia" -#: gtk/gtknotebook.c:753 gtk/gtkscrollbar.c:67 +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Atzera-geziaren botoi estandarra bistaratzen du" -#: gtk/gtknotebook.c:767 gtk/gtkscrollbar.c:73 +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Aurreranzko gezia" -#: gtk/gtknotebook.c:768 gtk/gtkscrollbar.c:74 +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Aurrera-geziaren botoi estandarra bistaratzen du" -#: gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:866 msgid "Tab overlap" msgstr "Fitxa gainjartzea" -#: gtk/gtknotebook.c:783 +#: ../gtk/gtknotebook.c:867 msgid "Size of tab overlap area" msgstr "Fitxa gainjarriaren arearen tamaina" -#: gtk/gtknotebook.c:798 +#: ../gtk/gtknotebook.c:882 msgid "Tab curvature" msgstr "Fitxa-kurbatura" -#: gtk/gtknotebook.c:799 +#: ../gtk/gtknotebook.c:883 msgid "Size of tab curvature" msgstr "Fitxa-kurbaturaren tamaina" # -#: gtk/gtknotebook.c:815 +#: ../gtk/gtknotebook.c:899 msgid "Arrow spacing" msgstr "Gezien tartea" # -#: gtk/gtknotebook.c:816 +#: ../gtk/gtknotebook.c:900 msgid "Scroll arrow spacing" msgstr "Korritze-gezien tartea" -#: gtk/gtkorientable.c:63 gtk/gtkstatusicon.c:319 gtk/gtktrayicon-x11.c:124 +# +#: ../gtk/gtknumerableicon.c:652 +msgid "Icon's count" +msgstr "Ikonoaren zenbatzailea" + +#: ../gtk/gtknumerableicon.c:653 +msgid "The count of the emblem currently displayed" +msgstr "Unean bistaratutako ikurren kopurua" + +#: ../gtk/gtknumerableicon.c:659 +msgid "Icon's label" +msgstr "Ikonoaren etiketa" + +#: ../gtk/gtknumerableicon.c:660 +msgid "The label to be displayed over the icon" +msgstr "Ikonoaren gainean bistaratuko den etiketa" + +# +#: ../gtk/gtknumerableicon.c:666 +msgid "Icon's style context" +msgstr "Ikonoaren estiloaren testuingurua" + +#: ../gtk/gtknumerableicon.c:667 +msgid "The style context to theme the icon appearance" +msgstr "Estiloaren testuingurua ikonoaren itxura janzteko" + +#: ../gtk/gtknumerableicon.c:673 +msgid "Background icon" +msgstr "Atzeko planoaren ikonoa" + +#: ../gtk/gtknumerableicon.c:674 +msgid "The icon for the number emblem background" +msgstr "Zenbakiaren ikurraren atzeko planoaren ikonoa" + +#: ../gtk/gtknumerableicon.c:680 +msgid "Background icon name" +msgstr "Atzeko planoaren ikonoaren izena" + +#: ../gtk/gtknumerableicon.c:681 +msgid "The icon name for the number emblem background" +msgstr "Zenbaki-ikurraren atzeko planoan erabiliko den ikonoaren izena" + +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" msgstr "Orientazioa" -#: gtk/gtkorientable.c:64 +#: ../gtk/gtkorientable.c:64 msgid "The orientation of the orientable" msgstr "Orientagarriaren orientazioa" -#: gtk/gtkpaned.c:271 -msgid "" -"Position of paned separator in pixels (0 means all the way to the left/top)" -msgstr "" -"Panel-bereizlearen kokalekua pixeletan (0k ezkerrean/goian esan nahi du)" +#: ../gtk/gtkpaned.c:327 +msgid "Position of paned separator in pixels (0 means all the way to the left/top)" +msgstr "Panel-bereizlearen kokalekua pixeletan (0k ezkerrean/goian esan nahi du)" -#: gtk/gtkpaned.c:280 +#: ../gtk/gtkpaned.c:336 msgid "Position Set" msgstr "Kokalekuaren ezarpena" -#: gtk/gtkpaned.c:281 +#: ../gtk/gtkpaned.c:337 msgid "TRUE if the Position property should be used" msgstr "TRUE (egia) 'Kokalekua' propietatea erabili behar bada" # -#: gtk/gtkpaned.c:287 +#: ../gtk/gtkpaned.c:343 msgid "Handle Size" msgstr "Heldulekuaren tamaina" -#: gtk/gtkpaned.c:288 +#: ../gtk/gtkpaned.c:344 msgid "Width of handle" msgstr "Heldulekuaren zabalera" -#: gtk/gtkpaned.c:304 +#: ../gtk/gtkpaned.c:360 msgid "Minimal Position" msgstr "Gutxieneko kokalekua" -#: gtk/gtkpaned.c:305 +#: ../gtk/gtkpaned.c:361 msgid "Smallest possible value for the \"position\" property" msgstr "\"kokalekua\" propietatearen ahalik eta balio txikiena" -#: gtk/gtkpaned.c:322 +#: ../gtk/gtkpaned.c:378 msgid "Maximal Position" msgstr "Gehienezko balioa" -#: gtk/gtkpaned.c:323 +#: ../gtk/gtkpaned.c:379 msgid "Largest possible value for the \"position\" property" msgstr "\"kokalekua\" propietatearen ahalik eta balio handiena" # -#: gtk/gtkpaned.c:340 +#: ../gtk/gtkpaned.c:396 msgid "Resize" msgstr "Aldatu tamaina" -#: gtk/gtkpaned.c:341 +#: ../gtk/gtkpaned.c:397 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "" "TRUE (egia) bada, umea zabaldu eta txikitu egiten da panelean dagoen " "trepetarekin batera" -#: gtk/gtkpaned.c:356 +#: ../gtk/gtkpaned.c:412 msgid "Shrink" msgstr "Txikitu" -#: gtk/gtkpaned.c:357 +#: ../gtk/gtkpaned.c:413 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "TRUE (egia) bada, umea eskakizunak baino txikiagoa egin daiteke" -#: gtk/gtkplug.c:171 gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 msgid "Embedded" msgstr "Kapsulatuta" -#: gtk/gtkplug.c:172 -#, fuzzy +#: ../gtk/gtkplug.c:181 msgid "Whether the plug is embedded" msgstr "Konektorea kapsulatuta dagoen edo ez" -#: gtk/gtkplug.c:186 +#: ../gtk/gtkplug.c:195 msgid "Socket Window" msgstr "Socket-aren leihoa" -#: gtk/gtkplug.c:187 +#: ../gtk/gtkplug.c:196 msgid "The window of the socket the plug is embedded in" msgstr "Konektorea kapsulatuta dagoen socket-aren leihoa" -#: gtk/gtkprinter.c:126 +#: ../gtk/gtkprinter.c:126 msgid "Name of the printer" msgstr "Inprimagailuaren izena" -#: gtk/gtkprinter.c:132 +#: ../gtk/gtkprinter.c:132 msgid "Backend" msgstr "Motorra" -#: gtk/gtkprinter.c:133 +#: ../gtk/gtkprinter.c:133 msgid "Backend for the printer" msgstr "Inprimagailuaren motorra" -#: gtk/gtkprinter.c:139 +#: ../gtk/gtkprinter.c:139 msgid "Is Virtual" msgstr "Birtuala da" -#: gtk/gtkprinter.c:140 +#: ../gtk/gtkprinter.c:140 msgid "FALSE if this represents a real hardware printer" msgstr "FALTSUA honek egiazko inprimagailu-hardwarea adierazten badu" -#: gtk/gtkprinter.c:146 +#: ../gtk/gtkprinter.c:146 msgid "Accepts PDF" msgstr "PDF onartzen du" -#: gtk/gtkprinter.c:147 +#: ../gtk/gtkprinter.c:147 msgid "TRUE if this printer can accept PDF" msgstr "EGIA inprimagailuak PDF onartzen badu" -#: gtk/gtkprinter.c:153 +#: ../gtk/gtkprinter.c:153 msgid "Accepts PostScript" msgstr "PostScript onartzen du" -#: gtk/gtkprinter.c:154 +#: ../gtk/gtkprinter.c:154 msgid "TRUE if this printer can accept PostScript" msgstr "EGIA inprimagailuak PostScript onartzen badu" -#: gtk/gtkprinter.c:160 +#: ../gtk/gtkprinter.c:160 msgid "State Message" msgstr "Mezuaren egoera" -#: gtk/gtkprinter.c:161 +#: ../gtk/gtkprinter.c:161 msgid "String giving the current state of the printer" msgstr "Inprimagailuaren uneko egoera azaltzen duen esaldia" # -#: gtk/gtkprinter.c:167 +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "Kokalekua" -#: gtk/gtkprinter.c:168 +#: ../gtk/gtkprinter.c:168 msgid "The location of the printer" msgstr "Inprimagailuaren kokalekua" -#: gtk/gtkprinter.c:175 +#: ../gtk/gtkprinter.c:175 msgid "The icon name to use for the printer" msgstr "Inprimagailuan erabiliko den ikonoaren izena" -#: gtk/gtkprinter.c:181 +#: ../gtk/gtkprinter.c:181 msgid "Job Count" msgstr "Lan kopurua" -#: gtk/gtkprinter.c:182 +#: ../gtk/gtkprinter.c:182 msgid "Number of jobs queued in the printer" msgstr "Inprimagailuaren ilaran dagoen lan kopurua" -#: gtk/gtkprinter.c:200 +#: ../gtk/gtkprinter.c:200 msgid "Paused Printer" msgstr "Inprimagailua pausarazita" -#: gtk/gtkprinter.c:201 +#: ../gtk/gtkprinter.c:201 msgid "TRUE if this printer is paused" msgstr "EGIA inprimagailua pausarazita badago" -#: gtk/gtkprinter.c:214 +#: ../gtk/gtkprinter.c:214 msgid "Accepting Jobs" msgstr "Lanak onartzen" -#: gtk/gtkprinter.c:215 +#: ../gtk/gtkprinter.c:215 msgid "TRUE if this printer is accepting new jobs" msgstr "EGIA inprimagailuak lan berriak onartzen baditu" # -#: gtk/gtkprinteroptionwidget.c:122 +#: ../gtk/gtkprinteroptionwidget.c:121 msgid "Source option" msgstr "Iturburuaren aukerak" -#: gtk/gtkprinteroptionwidget.c:123 +#: ../gtk/gtkprinteroptionwidget.c:122 msgid "The PrinterOption backing this widget" msgstr "Trepetaren atzean dagoen PrinterOption" -#: gtk/gtkprintjob.c:116 +#: ../gtk/gtkprintjob.c:142 msgid "Title of the print job" msgstr "Inprimatze-lanaren titulua" -#: gtk/gtkprintjob.c:124 +#: ../gtk/gtkprintjob.c:150 msgid "Printer" msgstr "Inprimagailua" -#: gtk/gtkprintjob.c:125 +#: ../gtk/gtkprintjob.c:151 msgid "Printer to print the job to" msgstr "Inprimagailua lanak inprimatzeko" -#: gtk/gtkprintjob.c:133 +#: ../gtk/gtkprintjob.c:159 msgid "Settings" msgstr "Ezarpenak" -#: gtk/gtkprintjob.c:134 +#: ../gtk/gtkprintjob.c:160 msgid "Printer settings" msgstr "Inprimagailuaren ezarpenak" # -#: gtk/gtkprintjob.c:142 gtk/gtkprintjob.c:143 gtk/gtkprintunixdialog.c:298 +#: ../gtk/gtkprintjob.c:168 ../gtk/gtkprintjob.c:169 +#: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Orriaren konfigurazioa" -#: gtk/gtkprintjob.c:151 gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:177 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Inprimatze-egoeraren jarraipena" -#: gtk/gtkprintjob.c:152 +#: ../gtk/gtkprintjob.c:178 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4283,51 +4519,51 @@ msgstr "" "jarraitzen badu inprimatze-datuak inprimagailura edo inprimatze-zerbitzarira " "bidali ondoren." -#: gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1008 msgid "Default Page Setup" msgstr "Orriaren konfigurazio lehenetsia" -#: gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1009 msgid "The GtkPageSetup used by default" msgstr "GtkPageSetup lehenespenez erabilita" -#: gtk/gtkprintoperation.c:1024 gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Inprimatze-ezarpenak" -#: gtk/gtkprintoperation.c:1025 gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "GtkPrintSettings elkarrizketa-koadroa hasieratzeko erabilita" -#: gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1046 msgid "Job Name" msgstr "Lanaren izena" -#: gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1047 msgid "A string used for identifying the print job." msgstr "Inprimatze-lana identifikatzeko erabiliko den esaldia." -#: gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1071 msgid "Number of Pages" msgstr "Orrialde kopurua" -#: gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1072 msgid "The number of pages in the document." msgstr "Dokumentuaren orrialde kopurua." -#: gtk/gtkprintoperation.c:1090 gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Uneko orrialdea" -#: gtk/gtkprintoperation.c:1091 gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "Dokumentuaren uneko orrialdea" -#: gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1115 msgid "Use full page" msgstr "Erabili orrialde osoa" -#: gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1116 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" @@ -4335,7 +4571,7 @@ msgstr "" "EGIA testuinguruaren jatorria orrialdearen ertza izan behar badu eta ez " "irudiaren arearen ertzean" -#: gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1137 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4344,161 +4580,157 @@ msgstr "" "jarraitzen badu inprimatze-datuak inprimagailura edo inprimatze-zerbitzarira " "bidali ondoren." -#: gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1154 msgid "Unit" msgstr "Unitatea" -#: gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1155 msgid "The unit in which distances can be measured in the context" msgstr "Testuinguruaren distantziak neurtzeko unitatea" -#: gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1172 msgid "Show Dialog" msgstr "Erakutsi elkarrizketa-koadroa" -#: gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1173 msgid "TRUE if a progress dialog is shown while printing." msgstr "EGIA progresio-koadroa erakusten bada inprimatzean." -#: gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1196 msgid "Allow Async" msgstr "Baimendu asinkronoa" -#: gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1197 msgid "TRUE if print process may run asynchronous." msgstr "EGIA inprimatze-prozesua asinkronoki exekuta badaiteke" -#: gtk/gtkprintoperation.c:1216 gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 msgid "Export filename" msgstr "Esportatu fitxategi-izena" -#: gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "Egoera" -#: gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1235 msgid "The status of the print operation" msgstr "Inprimatze-eragiketaren egoera" -#: gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1255 msgid "Status String" msgstr "Egoeraren esaldia" -#: gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1256 msgid "A human-readable description of the status" msgstr "Egoeraren azalpena pertsonek irakur ahal izateko" -#: gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1274 msgid "Custom tab label" msgstr "Fitxaren etiketa pertsonalizatua" -#: gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1275 msgid "Label for the tab containing custom widgets." msgstr "Trepeta pertsonalizatuak dituen fitxaren etiketa." -#: gtk/gtkprintoperation.c:1287 gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "Hautapenaren euskarria" -#: gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1291 msgid "TRUE if the print operation will support print of selection." -msgstr "" -"TRUE (egia) inprimatzeko eragiketak hautapena inprimatzea onartzen badu." +msgstr "TRUE (egia) inprimatzeko eragiketak hautapena inprimatzea onartzen badu." -#: gtk/gtkprintoperation.c:1304 gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "Hautapena du" -#: gtk/gtkprintoperation.c:1305 -#, fuzzy +#: ../gtk/gtkprintoperation.c:1308 msgid "TRUE if a selection exists." msgstr "TRUE (egia) hautapena existitzen bada." # -#: gtk/gtkprintoperation.c:1320 gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "Kapsulatutako orriaren konfigurazioa" -#: gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1324 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" "TRUE (egia) orria konfiguratzeko konbinazio-koadroak GtkPrintDialog-en " "kapsulatuta badaude" -#: gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1345 msgid "Number of Pages To Print" msgstr "Orrialde kopurua inprimatzeko" -#: gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1346 msgid "The number of pages that will be printed." msgstr "Inprimatuko diren orrialdeen kopurua." -#: gtk/gtkprintunixdialog.c:299 +#: ../gtk/gtkprintunixdialog.c:299 msgid "The GtkPageSetup to use" msgstr "GtkPageSetup erabiltzeko" -#: gtk/gtkprintunixdialog.c:324 +#: ../gtk/gtkprintunixdialog.c:324 msgid "Selected Printer" msgstr "Hautatutako inprimagailua" -#: gtk/gtkprintunixdialog.c:325 +#: ../gtk/gtkprintunixdialog.c:325 msgid "The GtkPrinter which is selected" msgstr "Hautatutako GtkPrinter" -#: gtk/gtkprintunixdialog.c:332 -#, fuzzy +#: ../gtk/gtkprintunixdialog.c:332 msgid "Manual Capabilities" msgstr "Eskuzko gaitasunak" -#: gtk/gtkprintunixdialog.c:333 +#: ../gtk/gtkprintunixdialog.c:333 msgid "Capabilities the application can handle" msgstr "Aplikazioak kudea ditzakeen gaitasunak" -#: gtk/gtkprintunixdialog.c:342 +#: ../gtk/gtkprintunixdialog.c:342 msgid "Whether the dialog supports selection" msgstr "Elkarrizketa-koadroak hautapena onartzen duen edo ez" -#: gtk/gtkprintunixdialog.c:350 +#: ../gtk/gtkprintunixdialog.c:350 msgid "Whether the application has a selection" msgstr "Aplikazioak hautapen bat duen edo ez" -#: gtk/gtkprintunixdialog.c:358 +#: ../gtk/gtkprintunixdialog.c:358 msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" msgstr "" "TRUE (egia) orria konfiguratzeko konbinazio-koadroak GtkPrintUnixDialog-en " "kapsulatuta badaude" # -#: gtk/gtkprogressbar.c:134 +#: ../gtk/gtkprogressbar.c:161 msgid "Fraction" msgstr "Frakzioa" -#: gtk/gtkprogressbar.c:135 +#: ../gtk/gtkprogressbar.c:162 msgid "The fraction of total work that has been completed" msgstr "Amaitu den lan guztiaren frakzioa" -#: gtk/gtkprogressbar.c:142 +#: ../gtk/gtkprogressbar.c:169 msgid "Pulse Step" msgstr "Pultsuaren urratsa" -#: gtk/gtkprogressbar.c:143 +#: ../gtk/gtkprogressbar.c:170 msgid "The fraction of total progress to move the bouncing block when pulsed" -msgstr "" -"Sakatutakoan errebote-blokeak egin beharreko progresio osoaren frakzioa" +msgstr "Sakatutakoan errebote-blokeak egin beharreko progresio osoaren frakzioa" -#: gtk/gtkprogressbar.c:151 +#: ../gtk/gtkprogressbar.c:178 msgid "Text to be displayed in the progress bar" msgstr "Progresio-barran bistaratu beharreko testua" -#: gtk/gtkprogressbar.c:158 +#: ../gtk/gtkprogressbar.c:195 msgid "Show text" msgstr "Erakutsi testua" -#: gtk/gtkprogressbar.c:159 +#: ../gtk/gtkprogressbar.c:196 msgid "Whether the progress is shown as text." msgstr "Progresioa testu gisa erakutsiko den ala ez adierazten du" -#: gtk/gtkprogressbar.c:181 +#: ../gtk/gtkprogressbar.c:218 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4507,66 +4739,60 @@ msgstr "" "osoa bistaratzeko." # -#: gtk/gtkprogressbar.c:188 -#, fuzzy +#: ../gtk/gtkprogressbar.c:225 msgid "X spacing" -msgstr "XTartea" +msgstr "X tartea" -#: gtk/gtkprogressbar.c:189 +#: ../gtk/gtkprogressbar.c:226 msgid "Extra spacing applied to the width of a progress bar." msgstr "Progresio-barraren zabalerari aplikatutako tarte gehigarria." # -#: gtk/gtkprogressbar.c:194 -#, fuzzy +#: ../gtk/gtkprogressbar.c:231 msgid "Y spacing" -msgstr "YTartea" +msgstr "Y tartea" -#: gtk/gtkprogressbar.c:195 +#: ../gtk/gtkprogressbar.c:232 msgid "Extra spacing applied to the height of a progress bar." msgstr "Progresio-barraren altuerari aplikatutako tarte gehigarria." -#: gtk/gtkprogressbar.c:208 -#, fuzzy +#: ../gtk/gtkprogressbar.c:245 msgid "Minimum horizontal bar width" msgstr "Barra horizontalaren gutxieneko zabalera" -#: gtk/gtkprogressbar.c:209 +#: ../gtk/gtkprogressbar.c:246 msgid "The minimum horizontal width of the progress bar" msgstr "Progresio-barraren gutxieneko zabalera horizontala" -#: gtk/gtkprogressbar.c:221 -#, fuzzy +#: ../gtk/gtkprogressbar.c:258 msgid "Minimum horizontal bar height" msgstr "Barra horizontalaren gutxieneko altuera" -#: gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:259 msgid "Minimum horizontal height of the progress bar" msgstr "Progresio-barraren gutxieneko altuera horizontala" -#: gtk/gtkprogressbar.c:234 -#, fuzzy +#: ../gtk/gtkprogressbar.c:271 msgid "Minimum vertical bar width" msgstr "Barra bertikalaren gutxieneko zabalera" -#: gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:272 msgid "The minimum vertical width of the progress bar" msgstr "Progresio-barraren gutxieneko zabalera bertikala" -#: gtk/gtkprogressbar.c:247 -#, fuzzy +#: ../gtk/gtkprogressbar.c:284 msgid "Minimum vertical bar height" msgstr "Barra bertikalaren gutxieneko altuera" -#: gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:285 msgid "The minimum vertical height of the progress bar" msgstr "Progresio-barraren gutxieneko altuera bertikala" -#: gtk/gtkradioaction.c:118 +#: ../gtk/gtkradioaction.c:118 msgid "The value" msgstr "Balioa" -#: gtk/gtkradioaction.c:119 +#: ../gtk/gtkradioaction.c:119 msgid "" "The value returned by gtk_radio_action_get_current_value() when this action " "is the current action of its group." @@ -4574,20 +4800,20 @@ msgstr "" "Ekintza hau bere taldeko uneko ekintza denean, " "gtk_radio_action_get_current_value()-k itzultzen duen balioa." -#: gtk/gtkradioaction.c:135 gtk/gtkradiobutton.c:160 -#: gtk/gtkradiomenuitem.c:373 gtk/gtkradiotoolbutton.c:65 +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 msgid "Group" msgstr "Elkartu" -#: gtk/gtkradioaction.c:136 +#: ../gtk/gtkradioaction.c:136 msgid "The radio action whose group this action belongs to." msgstr "Ekintza honen taldeari dagokion aukera-botoien bidezko ekintza." -#: gtk/gtkradioaction.c:151 +#: ../gtk/gtkradioaction.c:151 msgid "The current value" msgstr "Uneko balioa" -#: gtk/gtkradioaction.c:152 +#: ../gtk/gtkradioaction.c:152 msgid "" "The value property of the currently active member of the group to which this " "action belongs." @@ -4595,410 +4821,408 @@ msgstr "" "Ekintza hau dagokion uneko aktibo dagoen taldeko kidearen propietatearen " "balioa." -#: gtk/gtkradiobutton.c:161 +#: ../gtk/gtkradiobutton.c:164 msgid "The radio button whose group this widget belongs to." msgstr "Aukera-botoia (taldeari dagokion trepeta hau)." -#: gtk/gtkradiomenuitem.c:374 +#: ../gtk/gtkradiomenuitem.c:374 msgid "The radio menu item whose group this widget belongs to." msgstr "Aukera-menuko elementua (taldeari dagokion trepeta hau)." -#: gtk/gtkradiotoolbutton.c:66 +#: ../gtk/gtkradiotoolbutton.c:66 msgid "The radio tool button whose group this button belongs to." msgstr "Aukera-tresnaren botoia (taldeari dagokion botoi hau)." -#: gtk/gtkrange.c:410 -msgid "Update policy" -msgstr "Eguneratze-politika" - -#: gtk/gtkrange.c:411 -msgid "How the range should be updated on the screen" -msgstr "Barrutia pantailan nola eguneratu behar den" - -#: gtk/gtkrange.c:420 +#: ../gtk/gtkrange.c:417 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "Barruti-objektu honen uneko balioa duen GtkAdjustment " -#: gtk/gtkrange.c:428 +#: ../gtk/gtkrange.c:425 msgid "Invert direction slider moves to increase range value" -msgstr "" -"Graduatzailea mugitzen den norabidea alderantzikatu barruti-balioa handitzeko" +msgstr "Graduatzailea mugitzen den norabidea alderantzikatu barruti-balioa handitzeko" -#: gtk/gtkrange.c:435 +#: ../gtk/gtkrange.c:432 msgid "Lower stepper sensitivity" msgstr "Beheranzko geziaren sentikortasuna" -#: gtk/gtkrange.c:436 +#: ../gtk/gtkrange.c:433 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" -msgstr "" -"Beheko zatira egokitzeko bideratzen duen geziaren sentikortasun politika" +msgstr "Beheko zatira egokitzeko bideratzen duen geziaren sentikortasun politika" -#: gtk/gtkrange.c:444 +#: ../gtk/gtkrange.c:441 msgid "Upper stepper sensitivity" msgstr "Goiko geziaren sentikortasuna" -#: gtk/gtkrange.c:445 +#: ../gtk/gtkrange.c:442 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" -msgstr "" -"Goiko zatira egokitzeko bideratzen duen geziaren sentikortasun politika" +msgstr "Goiko zatira egokitzeko bideratzen duen geziaren sentikortasun politika" -#: gtk/gtkrange.c:462 +#: ../gtk/gtkrange.c:459 msgid "Show Fill Level" msgstr "Erakutsi betegarri-maila" -#: gtk/gtkrange.c:463 +#: ../gtk/gtkrange.c:460 msgid "Whether to display a fill level indicator graphics on trough." -msgstr "" -"Betegarriaren mailaren adierazlea erakutsi edo ez betetzen ari den bitartean." +msgstr "Betegarriaren mailaren adierazlea erakutsi edo ez betetzen ari den bitartean." -#: gtk/gtkrange.c:479 +#: ../gtk/gtkrange.c:476 msgid "Restrict to Fill Level" msgstr "Murriztu betegarriaren mailara" -#: gtk/gtkrange.c:480 +#: ../gtk/gtkrange.c:477 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Betegarri-mailaren goiko muga murriztu behar den edo ez." -#: gtk/gtkrange.c:495 +#: ../gtk/gtkrange.c:492 msgid "Fill Level" msgstr "Betegarri-maila" -#: gtk/gtkrange.c:496 +#: ../gtk/gtkrange.c:493 msgid "The fill level." msgstr "Betegarriaren maila." +#: ../gtk/gtkrange.c:510 +msgid "Round Digits" +msgstr "Biribildu digituak" + +#: ../gtk/gtkrange.c:511 +msgid "The number of digits to round the value to." +msgstr "Digitu kopurua balioa horra biribiltzeko" + # -#: gtk/gtkrange.c:504 +#: ../gtk/gtkrange.c:519 ../gtk/gtkswitch.c:786 msgid "Slider Width" msgstr "Graduatzailearen zabalera" -#: gtk/gtkrange.c:505 +#: ../gtk/gtkrange.c:520 msgid "Width of scrollbar or scale thumb" msgstr "Korritze-barraren edo eskalaren zabalera" -#: gtk/gtkrange.c:512 +#: ../gtk/gtkrange.c:527 msgid "Trough Border" msgstr "Kanalaren ertza" -#: gtk/gtkrange.c:513 +#: ../gtk/gtkrange.c:528 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Koadroen/gezien eta ertzaren arteko tartea" -#: gtk/gtkrange.c:520 +#: ../gtk/gtkrange.c:535 msgid "Stepper Size" msgstr "Geziaren tamaina" -#: gtk/gtkrange.c:521 +#: ../gtk/gtkrange.c:536 msgid "Length of step buttons at ends" msgstr "Urrats-botoien bukaerako luzera" # -#: gtk/gtkrange.c:536 +#: ../gtk/gtkrange.c:551 msgid "Stepper Spacing" msgstr "Geziaren tartea" -#: gtk/gtkrange.c:537 +#: ../gtk/gtkrange.c:552 msgid "Spacing between step buttons and thumb" msgstr "Botoien eta kurtsorearen arteko tartea" # -#: gtk/gtkrange.c:544 +#: ../gtk/gtkrange.c:559 msgid "Arrow X Displacement" msgstr "Geziaren X desplazamendua" -#: gtk/gtkrange.c:545 -msgid "" -"How far in the x direction to move the arrow when the button is depressed" +#: ../gtk/gtkrange.c:560 +msgid "How far in the x direction to move the arrow when the button is depressed" msgstr "Gezia noraino eraman behar den x norabidean, botoia sakatutakoan" # -#: gtk/gtkrange.c:552 +#: ../gtk/gtkrange.c:567 msgid "Arrow Y Displacement" msgstr "Geziaren Y desplazamendua" -#: gtk/gtkrange.c:553 -msgid "" -"How far in the y direction to move the arrow when the button is depressed" +#: ../gtk/gtkrange.c:568 +msgid "How far in the y direction to move the arrow when the button is depressed" msgstr "Gezia noraino eraman behar den y norabidean, botoia sakatutakoan" -#: gtk/gtkrange.c:571 +#: ../gtk/gtkrange.c:586 msgid "Trough Under Steppers" msgstr "Kanala gezi azpian" -#: gtk/gtkrange.c:572 +#: ../gtk/gtkrange.c:587 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" msgstr "Barruti osorako marraztu edo desplazamenduko geziak eta tarteak kendu" # -#: gtk/gtkrange.c:585 +#: ../gtk/gtkrange.c:600 msgid "Arrow scaling" msgstr "Gezia eskalatzea" -#: gtk/gtkrange.c:586 +#: ../gtk/gtkrange.c:601 msgid "Arrow scaling with regard to scroll button size" msgstr "Gezia eskalatzea korritze botoiaren tamainarekiko" -#: gtk/gtkrecentaction.c:635 gtk/gtkrecentchoosermenu.c:252 +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 msgid "Show Numbers" msgstr "Erakutsi zenbakiak" -#: gtk/gtkrecentaction.c:636 gtk/gtkrecentchoosermenu.c:253 +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 msgid "Whether the items should be displayed with a number" msgstr "Elementuak zenbaki batekin bistaratu behar diren edo ez" -#: gtk/gtkrecentchooser.c:132 +#: ../gtk/gtkrecentchooser.c:132 msgid "Recent Manager" msgstr "Azkenen kudeatzailea" -#: gtk/gtkrecentchooser.c:133 +#: ../gtk/gtkrecentchooser.c:133 msgid "The RecentManager object to use" msgstr "RecentManager objektua erabiltzeko" -#: gtk/gtkrecentchooser.c:147 +#: ../gtk/gtkrecentchooser.c:147 msgid "Show Private" msgstr "Erakutsi pribatua" -#: gtk/gtkrecentchooser.c:148 +#: ../gtk/gtkrecentchooser.c:148 msgid "Whether the private items should be displayed" msgstr "Elementu pribatuak bistaratu behar diren edo ez" -#: gtk/gtkrecentchooser.c:161 +#: ../gtk/gtkrecentchooser.c:161 msgid "Show Tooltips" msgstr "Erakutsi argibideak" -#: gtk/gtkrecentchooser.c:162 +#: ../gtk/gtkrecentchooser.c:162 msgid "Whether there should be a tooltip on the item" msgstr "Elementuan argibidea egon behar duen edo ez" -#: gtk/gtkrecentchooser.c:174 +#: ../gtk/gtkrecentchooser.c:174 msgid "Show Icons" msgstr "Erakutsi ikonoak" -#: gtk/gtkrecentchooser.c:175 +#: ../gtk/gtkrecentchooser.c:175 msgid "Whether there should be an icon near the item" msgstr "Ikonoa elementutik gertu egon behar duen edo ez" -#: gtk/gtkrecentchooser.c:190 +#: ../gtk/gtkrecentchooser.c:190 msgid "Show Not Found" msgstr "Erakutsi ez-aurkituak" -#: gtk/gtkrecentchooser.c:191 +#: ../gtk/gtkrecentchooser.c:191 msgid "Whether the items pointing to unavailable resources should be displayed" msgstr "" "Erabilgarri ez dauden baliabideetara erakusten duten elementuak bistaratu " "edo ez" -#: gtk/gtkrecentchooser.c:204 +#: ../gtk/gtkrecentchooser.c:204 msgid "Whether to allow multiple items to be selected" msgstr "Hainbat elementu hautatzen utziko duen edo ez" -#: gtk/gtkrecentchooser.c:217 +#: ../gtk/gtkrecentchooser.c:217 msgid "Local only" msgstr "Lokalak bakarrik" -#: gtk/gtkrecentchooser.c:218 +#: ../gtk/gtkrecentchooser.c:218 msgid "Whether the selected resource(s) should be limited to local file: URIs" msgstr "" "Hautatutako baliabidea(k) fitxategi lokale(ta)ra mugatu behar den edo ez: " "URIak" -#: gtk/gtkrecentchooser.c:234 +#: ../gtk/gtkrecentchooser.c:234 msgid "Limit" msgstr "Mugatu" -#: gtk/gtkrecentchooser.c:235 +#: ../gtk/gtkrecentchooser.c:235 msgid "The maximum number of items to be displayed" msgstr "Bistaratu beharreko elementuen gehienezko kopurua" -#: gtk/gtkrecentchooser.c:249 +#: ../gtk/gtkrecentchooser.c:249 msgid "Sort Type" msgstr "Ordenatu mota" -#: gtk/gtkrecentchooser.c:250 +#: ../gtk/gtkrecentchooser.c:250 msgid "The sorting order of the items displayed" msgstr "Bistaratutako elementuak nola ordenatuko diren" -#: gtk/gtkrecentchooser.c:265 +#: ../gtk/gtkrecentchooser.c:265 msgid "The current filter for selecting which resources are displayed" msgstr "Zein fitxategi bistaratuko diren hautatzeko uneko iragazkia" -#: gtk/gtkrecentmanager.c:291 +#: ../gtk/gtkrecentmanager.c:295 msgid "The full path to the file to be used to store and read the list" msgstr "" "Zerrenda gordetzeko eta irakurtzeko erabiliko den fitxategiaren bide-izen " "osoa" -#: gtk/gtkrecentmanager.c:306 +#: ../gtk/gtkrecentmanager.c:310 msgid "The size of the recently used resources list" msgstr "Azken aldiz erabilitako baliabideen zerrendaren tamaina" -# -#: gtk/gtkruler.c:138 -msgid "Lower" -msgstr "Behekoa" - -#: gtk/gtkruler.c:139 -msgid "Lower limit of ruler" -msgstr "Erregelaren beheko muga" - -#: gtk/gtkruler.c:148 -msgid "Upper" -msgstr "Goikoa" - -#: gtk/gtkruler.c:149 -msgid "Upper limit of ruler" -msgstr "Erregelaren goiko muga" - -#: gtk/gtkruler.c:159 -msgid "Position of mark on the ruler" -msgstr "Markaren posizioa erregelan" - -# -#: gtk/gtkruler.c:168 -msgid "Max Size" -msgstr "Geh. tamaina" - -#: gtk/gtkruler.c:169 -msgid "Maximum size of the ruler" -msgstr "Erregelaren gehienezko tamaina" - -#: gtk/gtkruler.c:184 -msgid "Metric" -msgstr "Metrotan" - -#: gtk/gtkruler.c:185 -msgid "The metric used for the ruler" -msgstr "Neurria metrotan, erregelan erabiltzeko" - -#: gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:218 msgid "The value of the scale" msgstr "Eskalaren balioa" -#: gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:228 msgid "The icon size" msgstr "Ikonoaren tamaina" -#: gtk/gtkscalebutton.c:240 -msgid "" -"The GtkAdjustment that contains the current value of this scale button object" +#: ../gtk/gtkscalebutton.c:237 +msgid "The GtkAdjustment that contains the current value of this scale button object" msgstr "Eskala-botoi objektu honen uneko balioa duen GtkAdjustment" # -#: gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:265 msgid "Icons" msgstr "Ikonoak" -#: gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:266 msgid "List of icon names" msgstr "Ikonoen izenen zerrenda" -#: gtk/gtkscale.c:245 +#: ../gtk/gtkscale.c:254 msgid "The number of decimal places that are displayed in the value" msgstr "Balioan bistaratzen diren hamartarren kopurua" -#: gtk/gtkscale.c:254 +#: ../gtk/gtkscale.c:263 msgid "Draw Value" msgstr "Marrazkiaren balioa" -#: gtk/gtkscale.c:255 +#: ../gtk/gtkscale.c:264 msgid "Whether the current value is displayed as a string next to the slider" msgstr "" "Uneko balioa graduatzailearen ondoan kate gisa bistaratuko den ala ez " "adierazten du" -#: gtk/gtkscale.c:262 +#: ../gtk/gtkscale.c:271 msgid "Value Position" msgstr "Balioaren posizioa" -#: gtk/gtkscale.c:263 +#: ../gtk/gtkscale.c:272 msgid "The position in which the current value is displayed" msgstr "Uneko balioa zein posiziotan bistaratuko den" -#: gtk/gtkscale.c:270 +#: ../gtk/gtkscale.c:279 msgid "Slider Length" msgstr "Graduatzailearen luzera" -#: gtk/gtkscale.c:271 +#: ../gtk/gtkscale.c:280 msgid "Length of scale's slider" msgstr "Eskala-graduatzailearen luzera" -#: gtk/gtkscale.c:279 +#: ../gtk/gtkscale.c:288 msgid "Value spacing" msgstr "Balioaren tartea" -#: gtk/gtkscale.c:280 +#: ../gtk/gtkscale.c:289 msgid "Space between value text and the slider/trough area" -msgstr "" -"Balio-testuaren eta graduatzailearen/kurtsorearen arearen arteko tartea" +msgstr "Balio-testuaren eta graduatzailearen/kurtsorearen arearen arteko tartea" -#: gtk/gtkscrollbar.c:50 +# +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "Doitze horizontala" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Doiketa horizontala (korritze-trepetaren eta bere kontrolatzailearen artean " +"partekagarria dena)" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "Doitze bertikala" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"Doiketa bertikala (korritze-trepetaren eta bere kontrolatzailearen artean " +"partekagarria dena)" + +# +#: ../gtk/gtkscrollable.c:120 +msgid "Horizontal Scrollable Policy" +msgstr "Korritze-barra horizontalaren politika" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "Edukiaren tamaina nola zehaztu behar den" + +#: ../gtk/gtkscrollable.c:136 +msgid "Vertical Scrollable Policy" +msgstr "Korritze-barra bertikalaren politika" + +#: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Graduatzailearen gutxieneko luzera" -#: gtk/gtkscrollbar.c:51 +#: ../gtk/gtkscrollbar.c:73 msgid "Minimum length of scrollbar slider" msgstr "Korritze-barraren graduatzailearen gutxieneko luzera" -#: gtk/gtkscrollbar.c:59 +#: ../gtk/gtkscrollbar.c:81 msgid "Fixed slider size" msgstr "Graduatzailearen tamaina finkoa" -#: gtk/gtkscrollbar.c:60 +#: ../gtk/gtkscrollbar.c:82 msgid "Don't change slider size, just lock it to the minimum length" msgstr "Ez aldatu graduatzailearen tamaina; blokeatu gutxieneko luzeran" -#: gtk/gtkscrollbar.c:81 -msgid "" -"Display a second backward arrow button on the opposite end of the scrollbar" +#: ../gtk/gtkscrollbar.c:103 +msgid "Display a second backward arrow button on the opposite end of the scrollbar" msgstr "" "Bigarren atzera-geziaren botoia bistaratzen du korritze-barraren kontrako " "bukaeran" -#: gtk/gtkscrollbar.c:88 -msgid "" -"Display a second forward arrow button on the opposite end of the scrollbar" +#: ../gtk/gtkscrollbar.c:110 +msgid "Display a second forward arrow button on the opposite end of the scrollbar" msgstr "" "Bigarren aurrera-geziaren botoia bistaratzen du korritze-barraren kontrako " "bukaeran" # -#: gtk/gtkscrolledwindow.c:243 gtk/gtktreeview.c:571 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "Doitze horizontala" -#: gtk/gtkscrolledwindow.c:250 gtk/gtktreeview.c:579 +#: ../gtk/gtkscrolledwindow.c:297 +msgid "The GtkAdjustment for the horizontal position" +msgstr "Posizio horizontalaren GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "Doitze bertikala" +#: ../gtk/gtkscrolledwindow.c:304 +msgid "The GtkAdjustment for the vertical position" +msgstr "Posizio bertikalaren GtkAdjustment" + # -#: gtk/gtkscrolledwindow.c:257 +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "Korritze-barra horizontalaren politika" -#: gtk/gtkscrolledwindow.c:258 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "Korritze-barra horizontala bistaratzean" -#: gtk/gtkscrolledwindow.c:265 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "Korritze-barra bertikalaren politika" -#: gtk/gtkscrolledwindow.c:266 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "Korritze-barra bertikala bistaratzean" # -#: gtk/gtkscrolledwindow.c:274 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "Leihoaren kokalekua" -#: gtk/gtkscrolledwindow.c:275 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -5007,11 +5231,11 @@ msgstr "" "izango du baldin eta \"window-placement-set\" EGIA bada." # -#: gtk/gtkscrolledwindow.c:292 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "Leihoa kokatzeko ezarpena" -#: gtk/gtkscrolledwindow.c:293 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -5019,58 +5243,61 @@ msgstr "" "Edukien kokalekua korritze-barrekiko zehazteko \"window-placement\" erabili " "behar den edo ez." -#: gtk/gtkscrolledwindow.c:299 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "Itzal-mota" -#: gtk/gtkscrolledwindow.c:300 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "Edukiaren inguruko alaka-estiloa" # -#: gtk/gtkscrolledwindow.c:314 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "Korritze-barra alaken artean" -#: gtk/gtkscrolledwindow.c:315 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "Korritutako leihoaren alaken artean kokatzen du Korritze-barra" # -#: gtk/gtkscrolledwindow.c:321 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "Korritze-barraren tartea" -#: gtk/gtkscrolledwindow.c:322 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "Korritze-barren eta korritutako leihoaren artean dagoen pixel-kopurua" -# -#: gtk/gtkscrolledwindow.c:337 -msgid "Scrolled Window Placement" -msgstr "Korritutako leihoaren kokalekua" +#: ../gtk/gtkscrolledwindow.c:391 +msgid "Minimum Content Width" +msgstr "Edukiaren gutxieneko zabalera" -#: gtk/gtkscrolledwindow.c:338 -msgid "" -"Where the contents of scrolled windows are located with respect to the " -"scrollbars, if not overridden by the scrolled window's own placement." -msgstr "" -"Korritutako leihoen edukiak korritze-barrarekiko kokatuta dauden edo ez, " -"baldin eta ez korritutako leihoaren kokaleku bera ez bada gainjartzen." +#: ../gtk/gtkscrolledwindow.c:392 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "Korritutako leihoak bere edukiari eslei dezaiokeen gutxieneko zabalera" -#: gtk/gtkseparatortoolitem.c:138 +#: ../gtk/gtkscrolledwindow.c:406 +msgid "Minimum Content Height" +msgstr "Edukiaren gutxieneko altuera" + +#: ../gtk/gtkscrolledwindow.c:407 +msgid "The minimum height that the scrolled window will allocate to its content" +msgstr "Korritutako leihoak bere edukiari eslei dezaiokeen gutxieneko altuera" + +#: ../gtk/gtkseparatortoolitem.c:143 msgid "Draw" msgstr "Marraztu" -#: gtk/gtkseparatortoolitem.c:139 +#: ../gtk/gtkseparatortoolitem.c:144 msgid "Whether the separator is drawn, or just blank" msgstr "Bereizlea marraztuta edo hutsik dagoen adierazten du" -#: gtk/gtksettings.c:225 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Klik bikoitzaren denbora" -#: gtk/gtksettings.c:226 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -5078,11 +5305,11 @@ msgstr "" "Klik bikoitza izateko bi kliken artean igaro daitekeen gehienezko denbora " "(milisegundotan)" -#: gtk/gtksettings.c:233 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Klik bikoitzaren distantzia" -#: gtk/gtksettings.c:234 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -5092,37 +5319,37 @@ msgstr "" "denbora (milisegundotan)" # -#: gtk/gtksettings.c:250 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Kurtsorearen keinua" -#: gtk/gtksettings.c:251 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "Kurtsoreak keinu egin behar duen ala ez adierazten du" # -#: gtk/gtksettings.c:258 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Kurtsorearen keinuaren denbora" -#: gtk/gtksettings.c:259 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Kurtsorearen keinu egiteko zikloaren iraupena, milisegundotan" # -#: gtk/gtksettings.c:278 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Kurtsorearen keinuaren denbora" -#: gtk/gtksettings.c:279 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Kurtsorearen keinu egiteari uzteko iraupena, milisegundotan" -#: gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Kurtsore zatitua" -#: gtk/gtksettings.c:287 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -5130,161 +5357,158 @@ msgstr "" "Ezkerretik eskuinera eta eskuinetik ezkerrera doan testu nahasian bi " "kurtsore bistaratu behar diren ala ez adierazten du" -#: gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Gaiaren izena" -#: gtk/gtksettings.c:295 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Kargatu behar den gaiaren RC fitxategiaren izena" -#: gtk/gtksettings.c:303 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Ikonoen gaiaren izena" -#: gtk/gtksettings.c:304 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Erabili beharreko ikonoaren gaiaren izena" -#: gtk/gtksettings.c:312 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Erreserbako ikono-gaiaren izena" -#: gtk/gtksettings.c:313 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Errore-kasuan erabiliko den ikono-gaiaren izena" -#: gtk/gtksettings.c:321 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Gako-gaiaren izena" -#: gtk/gtksettings.c:322 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Kargatu behar den gako-gaiaren RC fitxategiaren izena" -#: gtk/gtksettings.c:330 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Menu-barraren bizkortzailea" -#: gtk/gtksettings.c:331 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Menu-barra aktibatzeko laster-tekla" -#: gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Arrastatu muga" -#: gtk/gtksettings.c:340 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "Kurtsorea zenbat pixel mugi daitekeen jaregin aurretik" # -#: gtk/gtksettings.c:348 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Letra-tipoaren izena" -#: gtk/gtksettings.c:349 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Erabili behar den letra-tipo lehenetsiaren izena" # -#: gtk/gtksettings.c:371 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Ikonoen tamainak" -#: gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Ikono-tamainen zerrenda (gtk-menu=16,16;gtk-button=20,20..." -#: gtk/gtksettings.c:380 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "GTK moduluak" -#: gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "Unean aktibatuta dauden GTK moduluen zerrenda" -#: gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Xft Antialias-a" -#: gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Xft letra-tipoei antialiasing-a aplikatu behar zaien ala ez adierazten du; " "0=ez, 1=bai, -1=lehenetsia" -#: gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Xft Hinting-a" -#: gtk/gtksettings.c:401 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" -"Xft letra-tipoekin hinting-a erabili behar den ala ez adierazten du; 1=bai, " -"-1=lehenetsia" +"Xft letra-tipoekin hinting-a erabili behar den ala ez adierazten du; 1=bai, -" +"1=lehenetsia" -#: gtk/gtksettings.c:410 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Xft hinting-estiloa" -#: gtk/gtksettings.c:411 -msgid "" -"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" -msgstr "" -"Zein hinting-maila erabili behar; bat ere ez, arina, tartekoa, edo osoa" +#: ../gtk/gtksettings.c:485 +msgid "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" +msgstr "Zein hinting-maila erabili behar; bat ere ez, arina, tartekoa, edo osoa" -#: gtk/gtksettings.c:420 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: gtk/gtksettings.c:421 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Azpipixelen antialising-mota; bat ere ez, rgb, bgr, vrgb, vbgr" -#: gtk/gtksettings.c:430 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "Xft DPI" -#: gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" -msgstr "" -"Xft-n bereizmena, 1024 * hazbete/puntuko. -1 balio lehenetsia erabiltzeko" +msgstr "Xft-n bereizmena, 1024 * hazbete/puntuko. -1 balio lehenetsia erabiltzeko" -#: gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Ikonoen gaiaren izena" -#: gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "" "Erabili beharreko kurtsorearen gaiaren izena, edo NULL gai lehenetsia " "erabiltzeko" # -#: gtk/gtksettings.c:449 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Kurtsore-gaiaren tamaina" -#: gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "Tamaina kurtsoreetan erabiltzeko, edo 0 tamaina lehenetsia erabiltzeko" -#: gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Botoien ordena alternatiboa" -#: gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" "Elkarrizketa-koadroetako botoiak bestelako botoien ordena erabiliko duen ala " "ez adierazten du" -#: gtk/gtksettings.c:478 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "Ordena adierazlearen norabide alternatiboa" -#: gtk/gtksettings.c:479 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5293,11 +5517,11 @@ msgstr "" "alderantzikatzen den edo ez lehenetsiarekin konparatuz (behera gorantz " "adierazten du)" -#: gtk/gtksettings.c:487 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Erakutsi 'Sarrerako metodoak' menua" -#: gtk/gtksettings.c:488 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5305,11 +5529,11 @@ msgstr "" "Sarrerako eta testuen ikuspegiko testuinguruko menuak sarrerako metodoa " "aldatzea utzi behar duen edo ez." -#: gtk/gtksettings.c:496 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Erakutsi 'Txertatu Unicode kontroleko karakterea' menua" -#: gtk/gtksettings.c:497 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5317,250 +5541,246 @@ msgstr "" "Sarrerako eta testuen ikuspegiko testuinguruko menuak kontroleko karaktereak " "txertatzea utzi behar duen edo ez." -#: gtk/gtksettings.c:505 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Hasierako denbora-muga" -#: gtk/gtksettings.c:506 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "Denbora-mugen hasierako balioa, botoia sakatzean" -#: gtk/gtksettings.c:515 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Errepikatzeko denbora-muga" -#: gtk/gtksettings.c:516 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "Denbora-mugak errepikatzeko balioa, botoia sakatzean" -#: gtk/gtksettings.c:525 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Zabaltzearen denbora-muga" -#: gtk/gtksettings.c:526 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "Denbora-mugak zabaltzeko balioa, trepeta area berrian zabaltzen denean" -#: gtk/gtksettings.c:561 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Kolore-eskema" -#: gtk/gtksettings.c:562 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "Izendun koloreen paleta gaietan erabiltzeko" # -#: gtk/gtksettings.c:571 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Gaitu animazioak" -#: gtk/gtksettings.c:572 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "Toolkit guztian erabiltzeko animazioak gaitu edo ez" -#: gtk/gtksettings.c:590 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "Gaitu ukitze-pantaila modua" -#: gtk/gtksettings.c:591 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" -msgstr "" -"EGIA bada ez dago mugimenduaren jakinarazpen gertaerarik pantaila honetan" +msgstr "EGIA bada ez dago mugimenduaren jakinarazpen gertaerarik pantaila honetan" -#: gtk/gtksettings.c:608 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Argibideen denbora" -#: gtk/gtksettings.c:609 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Argibidea erakutsiko den denbora" -#: gtk/gtksettings.c:634 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "Arakatzeko argibideen denbora" -#: gtk/gtksettings.c:635 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" "Argibidea erakutsi aurretik igaroko den denbora arakatzeko modua gaitzen " "denean" -#: gtk/gtksettings.c:656 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "Argibideak arakatzeko moduaren denbora" -#: gtk/gtksettings.c:657 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "Denbora arakatzeko modua desgaitzeko" -#: gtk/gtksettings.c:676 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "Teklekin nabigatzeko kurtsorea soilik" -#: gtk/gtksettings.c:677 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" -msgstr "" -"EGIA bada, kurtsore-geziak egongo dira soilik trepeten artean nabigatzeko" +msgstr "EGIA bada, kurtsore-geziak egongo dira soilik trepeten artean nabigatzeko" -#: gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "Itzulbiratu nabigazioko teklatua" -#: gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "Itzulbiratu edo ez trepeten artean teklatuarekin nabigatzeko" -#: gtk/gtksettings.c:715 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "Errore soinua" -#: gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" -msgstr "" -"EGIA bada, nabigazioko teklatuak eta beste erroreek soinua sortuko dute" +msgstr "EGIA bada, nabigazioko teklatuak eta beste erroreek soinua sortuko dute" -#: gtk/gtksettings.c:733 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "Kolorearen hash-a" -#: gtk/gtksettings.c:734 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "Kolore-eskema adierazten duen hash taula." -#: gtk/gtksettings.c:742 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Fitxategi-hautatzailearen motor lehenetsia" -#: gtk/gtksettings.c:743 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Lehenespenez erabili beharreko GtkFileChooser motorraren izena" -#: gtk/gtksettings.c:760 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Inprimatze-motor lehenetsia" -#: gtk/gtksettings.c:761 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Lehenespenez erabili beharreko GtkPrintBackend motorren zerrenda" -#: gtk/gtksettings.c:784 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "Komando lehenetsia inprimatzeko aurrebista bistaratzean exekutatzeko" -#: gtk/gtksettings.c:785 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "Komandoa inprimatzeko aurrebista bistaratzean exekutatzeko" # -#: gtk/gtksettings.c:801 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Gaitu mnemoteknikoa" -#: gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Etiketek mnemoteknikoak eduki behar duten edo ez" -#: gtk/gtksettings.c:818 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Gaitu bizkortzaileak" -#: gtk/gtksettings.c:819 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Menuko elementuek bizkortzaileak edukiko duten edo ez" -#: gtk/gtksettings.c:836 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Fitxategi berrien kopurua" -#: gtk/gtksettings.c:837 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Erabilitako azken fitxategien kopurua" -#: gtk/gtksettings.c:855 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "BM modulu lehenetsia" -#: gtk/gtksettings.c:856 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "Zein BM modulu erabiliko den lehenetsi gisa" -#: gtk/gtksettings.c:874 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "Azken fitxategien geh. antzinatasuna" -#: gtk/gtksettings.c:875 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "Erabilitako azken fitxategien gehienezko antzinatasuna (egunetan)" -#: gtk/gtksettings.c:884 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "Fontconfig-en konfigurazioaren data-zigilua" -#: gtk/gtksettings.c:885 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "Uneko fontconfig-en konfigurazioaren data-zigilua" -#: gtk/gtksettings.c:907 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Soinu gaiaren izena" -#: gtk/gtksettings.c:908 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "XDG soinu gaiaren izena" #. Translators: this means sounds that are played as feedback to user input -#: gtk/gtksettings.c:930 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "Sarrerako berrelikadura entzungarria" -#: gtk/gtksettings.c:931 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" msgstr "" "Erabiltzailearen sarreren aurrean soinuak erreproduzituko duen berrelikadura " "gisa ala ez adierazten du" # -#: gtk/gtksettings.c:952 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Gaitu soinu gertaerak" -#: gtk/gtksettings.c:953 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Gertaeren soinuak erreproduzituko diren ala ez adierazten du" -#: gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Gaitu argibideak" -#: gtk/gtksettings.c:969 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Trepetetan argibideak erakutsiko diren ala ez adierazten du" -#: gtk/gtksettings.c:982 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Tresna-barraren estiloa" -#: gtk/gtksettings.c:983 -msgid "" -"Whether default toolbars have text only, text and icons, icons only, etc." +#: ../gtk/gtksettings.c:1057 +msgid "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Tresna-barra lehenetsiek testua bakarrik duten, testua eta ikonoak, ikonoak " "bakarrik, etab. adierazten du" -#: gtk/gtksettings.c:997 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Tresna-barrako ikonoen tamaina" -#: gtk/gtksettings.c:998 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "Tresna-barra lehenetsietako ikonoen tamaina." # -#: gtk/gtksettings.c:1015 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Mnemotekniko automatikoa" -#: gtk/gtksettings.c:1016 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5568,22 +5788,134 @@ msgstr "" "Erabiltzaileak mnemoteknikoen aktibatzailea sakatzean mnemoteknikoak " "automatikoki erakutsi edo ezkutatuko diren adierazten du." -#: gtk/gtksettings.c:1041 -#, fuzzy +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" -msgstr "Aplikazio margogarria" +msgstr "Aplikazioak gai iluna nahiago" -#: gtk/gtksettings.c:1042 -#, fuzzy +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." -msgstr "Aplikazioak hautapen bat duen edo ez" +msgstr "Aplikazioak gai ilun bat edukitzea nahiago duen edo ez." + +#: ../gtk/gtksettings.c:1131 +msgid "Show button images" +msgstr "Erakutsi botoien irudiak" + +#: ../gtk/gtksettings.c:1132 +msgid "Whether images should be shown on buttons" +msgstr "Irudiak botoietan erakutsi behar diren ala ez adierazten du" # -#: gtk/gtksizegroup.c:341 +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 +msgid "Select on focus" +msgstr "Hautatu enfokatzean" + +#: ../gtk/gtksettings.c:1141 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "Enfokatzean, sarreraren edukia hautatuko den ala ez adierazten du" + +#: ../gtk/gtksettings.c:1158 +msgid "Password Hint Timeout" +msgstr "Pasahitzaren gonbitearen denbora-muga" + +#: ../gtk/gtksettings.c:1159 +msgid "How long to show the last input character in hidden entries" +msgstr "" +"Zenbat denboran erakutsiko den idatzitako azken karakterea ezkutuko " +"sarreretan" + +#: ../gtk/gtksettings.c:1168 +msgid "Show menu images" +msgstr "Erakutsi menuko irudiak" + +#: ../gtk/gtksettings.c:1169 +msgid "Whether images should be shown in menus" +msgstr "Irudiak menuetan erakutsi behar diren ala ez adierazten du" + +#: ../gtk/gtksettings.c:1177 +msgid "Delay before drop down menus appear" +msgstr "Goitibeherako menuak agertu aurreko atzerapena" + +#: ../gtk/gtksettings.c:1178 +msgid "Delay before the submenus of a menu bar appear" +msgstr "Menu-barrako azpimenuak agertu aurreko atzerapena" + +# +#: ../gtk/gtksettings.c:1195 +msgid "Scrolled Window Placement" +msgstr "Korritutako leihoaren kokalekua" + +#: ../gtk/gtksettings.c:1196 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" +"Korritutako leihoen edukiak korritze-barrarekiko kokatuta dauden edo ez, " +"baldin eta ez korritutako leihoaren kokaleku bera ez bada gainjartzen." + +#: ../gtk/gtksettings.c:1205 +msgid "Can change accelerators" +msgstr "Bizkortzaileak alda daitezke" + +#: ../gtk/gtksettings.c:1206 +msgid "Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "" +"Tekla menu-elementuan sakatzean menu-bizkortzailea alda daitekeen ala ez " +"adierazten du" + +#: ../gtk/gtksettings.c:1214 +msgid "Delay before submenus appear" +msgstr "Azpimenuak agertu aurreko atzerapena" + +#: ../gtk/gtksettings.c:1215 +msgid "Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "" +"Azpimenua agertzeko erakusleak menu-elementu baten gainean gutxienez zenbat " +"denbora egon behar duen" + +#: ../gtk/gtksettings.c:1224 +msgid "Delay before hiding a submenu" +msgstr "Azpimenua ezkutatu aurreko atzerapena" + +#: ../gtk/gtksettings.c:1225 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "Erakuslea azpimenurantz mugitzean azpimenua ezkutatu aurreko denbora" + +#: ../gtk/gtksettings.c:1235 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "Enfokatzean, sarreraren edukia hautatuko den edo ez" + +#: ../gtk/gtksettings.c:1243 +msgid "Custom palette" +msgstr "Paleta pertsonalizatua" + +#: ../gtk/gtksettings.c:1244 +msgid "Palette to use in the color selector" +msgstr "Kolore-hautatzailean erabili beharreko paleta" + +#: ../gtk/gtksettings.c:1252 +msgid "IM Preedit style" +msgstr "IM aurreedizioko estiloa" + +#: ../gtk/gtksettings.c:1253 +msgid "How to draw the input method preedit string" +msgstr "Aurreedizioko katearen sarrera-metodoa nola marraztu" + +#: ../gtk/gtksettings.c:1262 +msgid "IM Status style" +msgstr "IM egoeraren estiloa" + +#: ../gtk/gtksettings.c:1263 +msgid "How to draw the input method statusbar" +msgstr "Egoera-barraren sarrera-metodoa nola marraztu" + +# +#: ../gtk/gtksizegroup.c:351 msgid "Mode" msgstr "Modua" -#: gtk/gtksizegroup.c:342 +#: ../gtk/gtksizegroup.c:352 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" @@ -5591,25 +5923,23 @@ msgstr "" "Norabide hauetan, taldearen tamainak osagai-trepetentzat eskatutako tamainei " "eragiten die" -#: gtk/gtksizegroup.c:358 +#: ../gtk/gtksizegroup.c:368 msgid "Ignore hidden" msgstr "Ezikusi egin ezkutukoei" -#: gtk/gtksizegroup.c:359 -msgid "" -"If TRUE, unmapped widgets are ignored when determining the size of the group" -msgstr "" -"EGIA bada ezkutuko trepetak baztertu egingo dira taldearen tamaina zehaztean" +#: ../gtk/gtksizegroup.c:369 +msgid "If TRUE, unmapped widgets are ignored when determining the size of the group" +msgstr "EGIA bada ezkutuko trepetak baztertu egingo dira taldearen tamaina zehaztean" -#: gtk/gtkspinbutton.c:236 +#: ../gtk/gtkspinbutton.c:328 msgid "Climb Rate" msgstr "Igoera-abiadura" -#: gtk/gtkspinbutton.c:256 +#: ../gtk/gtkspinbutton.c:348 msgid "Snap to Ticks" msgstr "Atxiki markei" -#: gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:349 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5617,220 +5947,186 @@ msgstr "" "Balio okerrak automatikoki botoiaren urrats-gehikuntza hurbilenera aldatzen " "diren ala ez adierazten du" -#: gtk/gtkspinbutton.c:264 +#: ../gtk/gtkspinbutton.c:356 msgid "Numeric" msgstr "Zenbakizkoa" -#: gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:357 msgid "Whether non-numeric characters should be ignored" -msgstr "" -"Karaktere ez-zenbakizkoei ez ikusi egin behar zaien ala ez adierazten du" +msgstr "Karaktere ez-zenbakizkoei ez ikusi egin behar zaien ala ez adierazten du" -#: gtk/gtkspinbutton.c:272 +#: ../gtk/gtkspinbutton.c:364 msgid "Wrap" msgstr "Itzulbiratu" -#: gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:365 msgid "Whether a spin button should wrap upon reaching its limits" -msgstr "" -"Botoia bere mugetara iristean itzulbiratu behar den ala ez adierazten du" +msgstr "Botoia bere mugetara iristean itzulbiratu behar den ala ez adierazten du" -#: gtk/gtkspinbutton.c:280 +#: ../gtk/gtkspinbutton.c:372 msgid "Update Policy" msgstr "Eguneratze-politika" -#: gtk/gtkspinbutton.c:281 -msgid "" -"Whether the spin button should update always, or only when the value is legal" +#: ../gtk/gtkspinbutton.c:373 +msgid "Whether the spin button should update always, or only when the value is legal" msgstr "" "Botoia beti eguneratu behar den edo balioa legala denean bakarrik aldatu " "behar den adierazten du" -#: gtk/gtkspinbutton.c:290 +#: ../gtk/gtkspinbutton.c:382 msgid "Reads the current value, or sets a new value" msgstr "Uneko balioa irakurtzen du edo balio berria ezartzen du" -#: gtk/gtkspinbutton.c:299 +#: ../gtk/gtkspinbutton.c:391 msgid "Style of bevel around the spin button" msgstr "Biratze botoiaren inguruko alaka-estiloa" -#: gtk/gtkspinner.c:132 +#: ../gtk/gtkspinner.c:119 msgid "Whether the spinner is active" msgstr "Birakaria aktibo dagoen edo ez" -#: gtk/gtkspinner.c:146 -msgid "Number of steps" -msgstr "Urrats kopurua" - -#: gtk/gtkspinner.c:147 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" -"Urrats kopurua biratzaileak begizta bati bira osoa emateko. Lehenetsi gisa, " -"animazioak ziklo oso bat beteko du segundo batean (ikus #GtkSpinner:cycle-" -"duration)." - -# -#: gtk/gtkspinner.c:162 -msgid "Animation duration" -msgstr "Animazioaren iraupena" - -#: gtk/gtkspinner.c:163 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" -"Denboraren iraupena (milisegundotan) birakariak begiztari bira osoa emateko" - -#: gtk/gtkstatusbar.c:199 -msgid "Has Resize Grip" -msgstr "Tamainaz aldatzeko sareta" - -#: gtk/gtkstatusbar.c:200 -msgid "Whether the statusbar has a grip for resizing the toplevel" -msgstr "" -"Egoera-barrak goi-maila tamainaz aldatzeko sareta duen ala ez adierazten du" - -#: gtk/gtkstatusbar.c:245 +#: ../gtk/gtkstatusbar.c:183 msgid "Style of bevel around the statusbar text" msgstr "Egoera-barrako testuaren inguruko alaka-estiloa" -#: gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:262 msgid "The size of the icon" msgstr "Ikonoaren tamaina" -#: gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:272 msgid "The screen where this status icon will be displayed" msgstr "Egoerako ikono hau bistaratuko den pantaila" -#: gtk/gtkstatusicon.c:288 -#, fuzzy +#: ../gtk/gtkstatusicon.c:280 msgid "Whether the status icon is visible" msgstr "Egoerako ikonoa ikusgai dagoen edo ez" -#: gtk/gtkstatusicon.c:304 -#, fuzzy +#: ../gtk/gtkstatusicon.c:296 msgid "Whether the status icon is embedded" msgstr "Egoerako ikonoa kapsulatuta dagoen edo ez" -#: gtk/gtkstatusicon.c:320 gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 msgid "The orientation of the tray" msgstr "Erretiluaren orientazioa" -#: gtk/gtkstatusicon.c:347 gtk/gtkwidget.c:863 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1042 msgid "Has tooltip" msgstr "Argibidea du" -#: gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:340 msgid "Whether this tray icon has a tooltip" msgstr "Erretiluko ikonoak argibidea duen edo ez" -#: gtk/gtkstatusicon.c:373 gtk/gtkwidget.c:884 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1063 msgid "Tooltip Text" msgstr "Argibidearen testua" -#: gtk/gtkstatusicon.c:374 gtk/gtkwidget.c:885 gtk/gtkwidget.c:906 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1064 ../gtk/gtkwidget.c:1085 msgid "The contents of the tooltip for this widget" msgstr "Trepetaren argibidearen edukia" -#: gtk/gtkstatusicon.c:397 gtk/gtkwidget.c:905 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1084 msgid "Tooltip markup" msgstr "Markaren argibidea" -#: gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:390 msgid "The contents of the tooltip for this tray icon" msgstr "Erretiluko ikonoaren argibidearen edukia" -#: gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:408 msgid "The title of this tray icon" msgstr "Erretiluko ikono honen titulua" -#: gtk/gtktable.c:148 +#: ../gtk/gtkstyle.c:468 +msgid "Style context" +msgstr "Estiloaren testuingurua" + +#: ../gtk/gtkstyle.c:469 +msgid "GtkStyleContext to get style from" +msgstr "GtkStyleContext (hortik estiloa eskuratzeko)" + +#: ../gtk/gtkstylecontext.c:547 +msgid "The associated GdkScreen" +msgstr "Esleitutako GdkScreen" + +# +#: ../gtk/gtkstylecontext.c:553 +msgid "Direction" +msgstr "Norabidea" + +# +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:236 +msgid "Text direction" +msgstr "Testuaren norabidea" + +#: ../gtk/gtkswitch.c:753 +msgid "Whether the switch is on or off" +msgstr "Kommutadorea piztuta edo itzalita dagoen adierazten du" + +#: ../gtk/gtkswitch.c:787 +msgid "The minimum width of the handle" +msgstr "Heldulekuaren gutxieneko zabalera" + +#: ../gtk/gtktable.c:157 msgid "Rows" msgstr "Errenkadak" -#: gtk/gtktable.c:149 +#: ../gtk/gtktable.c:158 msgid "The number of rows in the table" msgstr "Taulako errenkaden kopurua" -#: gtk/gtktable.c:157 +#: ../gtk/gtktable.c:166 msgid "Columns" msgstr "Zutabeak" -#: gtk/gtktable.c:158 +#: ../gtk/gtktable.c:167 msgid "The number of columns in the table" msgstr "Taulako zutabeen kopurua" -# -#: gtk/gtktable.c:166 -msgid "Row spacing" -msgstr "Errenkaden tartea" - -#: gtk/gtktable.c:167 -msgid "The amount of space between two consecutive rows" -msgstr "Elkarren segidako bi errenkaden arteko lekua" - -#: gtk/gtktable.c:175 -msgid "Column spacing" -msgstr "Zutabeen tartea" - -#: gtk/gtktable.c:176 -msgid "The amount of space between two consecutive columns" -msgstr "Elkarren segidako bi zutaberen arteko lekua" - -#: gtk/gtktable.c:185 +#: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "" "EGIA bada, horrek esan nahi du taulako gelaxka guztiek zabalera eta altuera " "bera dutela" -#: gtk/gtktable.c:192 -msgid "Left attachment" -msgstr "Ezkerreko eranskina" - -#: gtk/gtktable.c:199 +#: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Eskuineko eranskina" -#: gtk/gtktable.c:200 +#: ../gtk/gtktable.c:209 msgid "The column number to attach the right side of a child widget to" msgstr "Trepeta umearen eskuineko aldean erantsi beharreko zutabe-kopurua" -#: gtk/gtktable.c:206 -msgid "Top attachment" -msgstr "Goiko eranskina" - -#: gtk/gtktable.c:207 +#: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "Trepeta umearen goian erantsi beharreko errenkaden kopurua" -#: gtk/gtktable.c:213 +#: ../gtk/gtktable.c:222 msgid "Bottom attachment" msgstr "Beheko eranskina" # -#: gtk/gtktable.c:220 +#: ../gtk/gtktable.c:229 msgid "Horizontal options" msgstr "Aukera horizontalak" -#: gtk/gtktable.c:221 +#: ../gtk/gtktable.c:230 msgid "Options specifying the horizontal behaviour of the child" msgstr "Umearen portaera horizontala zehazten duten aukerak" -#: gtk/gtktable.c:227 +#: ../gtk/gtktable.c:236 msgid "Vertical options" msgstr "Aukera bertikalak" -#: gtk/gtktable.c:228 +#: ../gtk/gtktable.c:237 msgid "Options specifying the vertical behaviour of the child" msgstr "Umearen portaera bertikala zehazten duten aukerak" -#: gtk/gtktable.c:234 +#: ../gtk/gtktable.c:243 msgid "Horizontal padding" msgstr "Tarte betegarri horizontala" -#: gtk/gtktable.c:235 +#: ../gtk/gtktable.c:244 msgid "" "Extra space to put between the child and its left and right neighbors, in " "pixels" @@ -5838,11 +6134,11 @@ msgstr "" "Umearen eta haren ezkerreko eta eskuineko auzoen artean jarri beharreko " "tarte estra, pixeletan" -#: gtk/gtktable.c:241 +#: ../gtk/gtktable.c:250 msgid "Vertical padding" msgstr "Tarte betegarri bertikala" -#: gtk/gtktable.c:242 +#: ../gtk/gtktable.c:251 msgid "" "Extra space to put between the child and its upper and lower neighbors, in " "pixels" @@ -5850,53 +6146,50 @@ msgstr "" "Umearen eta haren goiko eta beheko auzoen artean jarri beharreko tarte " "estra, pixeletan" -#: gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:192 msgid "Tag Table" msgstr "Etiketa-taula" -#: gtk/gtktextbuffer.c:193 +#: ../gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "Testu-etiketen taula" -#: gtk/gtktextbuffer.c:211 +#: ../gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "Bufferreko uneko testua" -#: gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "Hautapena du" -#: gtk/gtktextbuffer.c:226 +#: ../gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "Bufferrak unean testurik hautatuta duen edo ez" # -#: gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "Kurtsorearen posizioa" -#: gtk/gtktextbuffer.c:243 -msgid "" -"The position of the insert mark (as offset from the beginning of the buffer)" -msgstr "" -"Txertatze-markaren kokalekua (desplazamendu gisa bufferraren hasieratik)" +#: ../gtk/gtktextbuffer.c:243 +msgid "The position of the insert mark (as offset from the beginning of the buffer)" +msgstr "Txertatze-markaren kokalekua (desplazamendu gisa bufferraren hasieratik)" -#: gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "Kopia-helburuen zerrenda" -#: gtk/gtktextbuffer.c:259 -msgid "" -"The list of targets this buffer supports for clipboard copying and DND source" +#: ../gtk/gtktextbuffer.c:259 +msgid "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" "Buffer honek onartzen dituen helburuen zerrenda arbeletik kopiatzeko eta " "DNDren iturburua" -#: gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "Itsaste-helburuen zerrenda" -#: gtk/gtktextbuffer.c:275 +#: ../gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5904,37 +6197,35 @@ msgstr "" "Buffer honek onartzen dituen helburuen zerrenda arbeletik itsasteko eta " "DNDren helburua" -#: gtk/gtktextmark.c:90 +#: ../gtk/gtktextmark.c:90 msgid "Mark name" msgstr "Markatu izena" -#: gtk/gtktextmark.c:97 +#: ../gtk/gtktextmark.c:97 msgid "Left gravity" msgstr "Ezker-grabitatea" -#: gtk/gtktextmark.c:98 +#: ../gtk/gtktextmark.c:98 msgid "Whether the mark has left gravity" msgstr "Markak ezker-grabitatea duen edo ez" -#: gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:186 msgid "Tag name" msgstr "Etiketa-izena" -#: gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:187 msgid "Name used to refer to the text tag. NULL for anonymous tags" -msgstr "" -"Testu-etiketa aipatzeko erabiltzen den izena. NULUA etiketa anonimoentzat" +msgstr "Testu-etiketa aipatzeko erabiltzen den izena. NULUA etiketa anonimoentzat" -#: gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:205 msgid "Background color as a (possibly unallocated) GdkColor" -msgstr "" -"Atzeko planoaren kolorea GdkColor gisa (baliteke esleitu gabea izatea) " +msgstr "Atzeko planoaren kolorea GdkColor gisa (baliteke esleitu gabea izatea) " -#: gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:212 msgid "Background full height" msgstr "Atzeko planoaren altuera osoa" -#: gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:213 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5942,31 +6233,23 @@ msgstr "" "Atzeko planoaren koloreak lerroaren altuera osoa betetzen duen edo " "etiketatutako karaktereen altuera bakarrik adierazten duen" -#: gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:229 msgid "Foreground color as a (possibly unallocated) GdkColor" -msgstr "" -"Aurreko planoaren kolorea GdkColor gisa (baliteke esleitu gabea izatea) " +msgstr "Aurreko planoaren kolorea GdkColor gisa (baliteke esleitu gabea izatea) " -# -#: gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "Testuaren norabidea" - -#: gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:237 msgid "Text direction, e.g. right-to-left or left-to-right" -msgstr "" -"Testuaren norabidea; adibidez, eskuinetik ezkerrera edo ezkerretik eskuinera" +msgstr "Testuaren norabidea; adibidez, eskuinetik ezkerrera edo ezkerretik eskuinera" -#: gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:286 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Letra-tipoaren estiloa PangoStyle gisa; adibidez, PANGO_STYLE_ITALIC" -#: gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:295 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" -msgstr "" -"Letra-tipoaren aldaera PangoVariant gisa; adibidez, PANGO_VARIANT_SMALL_CAPS" +msgstr "Letra-tipoaren aldaera PangoVariant gisa; adibidez, PANGO_VARIANT_SMALL_CAPS" -#: gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:304 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5974,16 +6257,15 @@ msgstr "" "Letra-tipoaren pisua osoko gisa, ikus aurrez definitutako balioak " "PangoWeight-en; adibidez, PANGO_WEIGHT_BOLD" -#: gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:315 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" -msgstr "" -"Letra-tipo tiratua PangoStretch gisa; adibidez, PANGO_STRETCH_CONDENSED" +msgstr "Letra-tipo tiratua PangoStretch gisa; adibidez, PANGO_STRETCH_CONDENSED" -#: gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:324 msgid "Font size in Pango units" msgstr "Letra-tipoaren tamaina Pango unitatetan" -#: gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:334 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5994,11 +6276,11 @@ msgstr "" "denez, gomendagarria da. Pango-k zenbait eskala aurrez definitzen ditu; " "adibidez, PANGO_SCALE_X_LARGE." -#: gtk/gtktexttag.c:336 gtk/gtktextview.c:686 +#: ../gtk/gtktexttag.c:354 ../gtk/gtktextview.c:704 msgid "Left, right, or center justification" msgstr "Ezkerreko, eskuineko edo erdiko justifikazioa" -#: gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:373 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -6006,31 +6288,31 @@ msgstr "" "Testu honetako hizkuntza ISOren kode gisa dago. Pango-k laguntza gisa erabil " "dezake testua bihurtzean. Ez bada ezartzen, lehenetsitakoa erabiliko da." -#: gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:380 msgid "Left margin" msgstr "Ezkerreko marjina" -#: gtk/gtktexttag.c:363 gtk/gtktextview.c:695 +#: ../gtk/gtktexttag.c:381 ../gtk/gtktextview.c:713 msgid "Width of the left margin in pixels" msgstr "Ezkerreko marjinaren zabalera pixeletan" -#: gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:390 msgid "Right margin" msgstr "Eskuineko marjina" -#: gtk/gtktexttag.c:373 gtk/gtktextview.c:705 +#: ../gtk/gtktexttag.c:391 ../gtk/gtktextview.c:723 msgid "Width of the right margin in pixels" msgstr "Eskuineko marjinaren zabalera pixeletan" -#: gtk/gtktexttag.c:383 gtk/gtktextview.c:714 +#: ../gtk/gtktexttag.c:401 ../gtk/gtktextview.c:732 msgid "Indent" msgstr "Koska" -#: gtk/gtktexttag.c:384 gtk/gtktextview.c:715 +#: ../gtk/gtktexttag.c:402 ../gtk/gtktextview.c:733 msgid "Amount to indent the paragraph, in pixels" msgstr "Paragrafoa koskatzeko pixel-kopurua" -#: gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:413 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -6038,363 +6320,360 @@ msgstr "" "Testuaren desplazamendua oinarri-lerroaren gainetik (oinarri-lerroaren " "azpitik goratzea negatiboa bada), Pango unitateetan" -#: gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:422 msgid "Pixels above lines" msgstr "Lerroen gaineko pixelak" -#: gtk/gtktexttag.c:405 gtk/gtktextview.c:639 +#: ../gtk/gtktexttag.c:423 ../gtk/gtktextview.c:657 msgid "Pixels of blank space above paragraphs" msgstr "Paragrafoen gaineko zuriuneen pixelak" -#: gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:432 msgid "Pixels below lines" msgstr "Lerroen azpiko pixelak" -#: gtk/gtktexttag.c:415 gtk/gtktextview.c:649 +#: ../gtk/gtktexttag.c:433 ../gtk/gtktextview.c:667 msgid "Pixels of blank space below paragraphs" msgstr "Paragrafoen azpiko zuriuneen pixelak" -#: gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:442 msgid "Pixels inside wrap" msgstr "Itzulbiratzearen barruko pixelak" -#: gtk/gtktexttag.c:425 gtk/gtktextview.c:659 +#: ../gtk/gtktexttag.c:443 ../gtk/gtktextview.c:677 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Paragrafoko itzulbiratzeen arteko zuriuneen pixelak" -#: gtk/gtktexttag.c:452 gtk/gtktextview.c:677 -msgid "" -"Whether to wrap lines never, at word boundaries, or at character boundaries" +#: ../gtk/gtktexttag.c:470 ../gtk/gtktextview.c:695 +msgid "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Lerroak noiz itzulbiratu behar diren adierazten du: inoiz ez, hitzen mugetan " "edo karaktereen mugetan" -#: gtk/gtktexttag.c:461 gtk/gtktextview.c:724 +#: ../gtk/gtktexttag.c:479 ../gtk/gtktextview.c:742 msgid "Tabs" msgstr "Tabuladoreak" -#: gtk/gtktexttag.c:462 gtk/gtktextview.c:725 +#: ../gtk/gtktexttag.c:480 ../gtk/gtktextview.c:743 msgid "Custom tabs for this text" msgstr "Pertsonalizatu testu honen tabuladoreak" -#: gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:498 msgid "Invisible" msgstr "Ikusezina" -#: gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:499 msgid "Whether this text is hidden." msgstr "Testu hau ezkutukoa den edo ez" -#: gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color name" msgstr "Paragrafoaren atzeko planoaren kolore-izena" -#: gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a string" msgstr "Paragrafoaren atzeko planoaren kolorea kate gisa" -#: gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:529 msgid "Paragraph background color" msgstr "Paragrafoaren atzeko planoaren kolorea" -#: gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:530 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "" "Paragrafoaren atzeko planoaren kolorea GdkColor gisa (baliteke esleitu gabea " "izatea) " -#: gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:548 msgid "Margin Accumulates" msgstr "Marjinen pilaketa" -#: gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:549 msgid "Whether left and right margins accumulate." msgstr "Ezkerreko eta eskuineko marjinak pilatu edo ez" -#: gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:562 msgid "Background full height set" msgstr "Atzeko planoaren altuera osoaren ezarpena" -#: gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:563 msgid "Whether this tag affects background height" -msgstr "" -"Etiketa honek atzeko planoaren altuerari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek atzeko planoaren altuerari eragiten dion ala ez adierazten du" -#: gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:602 msgid "Justification set" msgstr "Justifikazioaren ezarpena" -#: gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:603 msgid "Whether this tag affects paragraph justification" msgstr "" "Etiketa honek paragrafoaren justifikazioari eragiten dion ala ez adierazten " "du" -#: gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:610 msgid "Left margin set" msgstr "Ezkerreko marjinaren ezarpena" -#: gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the left margin" msgstr "Etiketa honek ezkerreko marjinari eragiten dion ala ez adierazten du" -#: gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:614 msgid "Indent set" msgstr "Koskaren ezarpena" -#: gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects indentation" msgstr "Etiketa honek koskari eragiten dion ala ez adierazten du" -#: gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:622 msgid "Pixels above lines set" msgstr "Lerroen gaineko pixelen ezarpena" -#: gtk/gtktexttag.c:605 gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:623 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects the number of pixels above lines" msgstr "" "Etiketa honek lerroen gaineko pixel-kopuruari eragiten dion ala ez " "adierazten du" -#: gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:626 msgid "Pixels below lines set" msgstr "Lerroen azpiko pixelen ezarpena" -#: gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:630 msgid "Pixels inside wrap set" msgstr "Itzulbiratzearen barruko pixelen ezarpena" -#: gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "" "Etiketa honek itzulbiratutako lerroen arteko pixel-kopuruari eragiten dion " "ala ez adierazten du" -#: gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:638 msgid "Right margin set" msgstr "Eskuineko marjinaren ezarpena" -#: gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects the right margin" msgstr "Etiketa honek eskuineko marjinari eragiten dion ala ez adierazten du" # -#: gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:646 msgid "Wrap mode set" msgstr "Itzulbiratze-moduaren ezarpena" -#: gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:647 msgid "Whether this tag affects line wrap mode" -msgstr "" -"Etiketa honek lerroen itzulbiratze-moduari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek lerroen itzulbiratze-moduari eragiten dion ala ez adierazten du" -#: gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:650 msgid "Tabs set" msgstr "Tabuladoreen ezarpena" -#: gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:651 msgid "Whether this tag affects tabs" msgstr "Etiketa honek tabuladoreei eragiten dien ala ez adierazten du" -#: gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:654 msgid "Invisible set" msgstr "Ikusezintasunaren ezarpena" -#: gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:655 msgid "Whether this tag affects text visibility" -msgstr "" -"Etiketa honek testuaren ikusgaitasunari eragiten dion ala ez adierazten du" +msgstr "Etiketa honek testuaren ikusgaitasunari eragiten dion ala ez adierazten du" -#: gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:658 msgid "Paragraph background set" msgstr "Paragrafoaren atzeko planoaren ezarpena" -#: gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:659 msgid "Whether this tag affects the paragraph background color" -msgstr "" -"Etiketa honek paragrafoaren atzeko planoaren koloreari eragiten dion ala ez" +msgstr "Etiketa honek paragrafoaren atzeko planoaren koloreari eragiten dion ala ez" -#: gtk/gtktextview.c:638 +#: ../gtk/gtktextview.c:656 msgid "Pixels Above Lines" msgstr "Lerroen gaineko pixelak" -#: gtk/gtktextview.c:648 +#: ../gtk/gtktextview.c:666 msgid "Pixels Below Lines" msgstr "Lerroen azpiko pixelak" -#: gtk/gtktextview.c:658 +#: ../gtk/gtktextview.c:676 msgid "Pixels Inside Wrap" msgstr "Itzulbiratzearen barruko pixelak" # -#: gtk/gtktextview.c:676 +#: ../gtk/gtktextview.c:694 msgid "Wrap Mode" msgstr "Itzulbiratze-modua" -#: gtk/gtktextview.c:694 +#: ../gtk/gtktextview.c:712 msgid "Left Margin" msgstr "Ezkerreko marjina" -#: gtk/gtktextview.c:704 +#: ../gtk/gtktextview.c:722 msgid "Right Margin" msgstr "Eskuineko marjina" # -#: gtk/gtktextview.c:732 +#: ../gtk/gtktextview.c:750 msgid "Cursor Visible" msgstr "Kurtsorea ikusgai" -#: gtk/gtktextview.c:733 +#: ../gtk/gtktextview.c:751 msgid "If the insertion cursor is shown" msgstr "Txertatze-kurtsorea agertzen bada" -#: gtk/gtktextview.c:740 +#: ../gtk/gtktextview.c:758 msgid "Buffer" msgstr "Bufferra" -#: gtk/gtktextview.c:741 +#: ../gtk/gtktextview.c:759 msgid "The buffer which is displayed" msgstr "Bistaratutako bufferra" -#: gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:767 msgid "Whether entered text overwrites existing contents" msgstr "" "Sartutako testuak lehendik dauden edukiak gainidazten dituen ala ez " "adierazten du" -#: gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:774 msgid "Accepts tab" msgstr "Tabulazio-marka onartzen du" -#: gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:775 msgid "Whether Tab will result in a tab character being entered" msgstr "Tabuladoreak tabulazio-marka sartzea eragiten duen adierazten du" -#: gtk/gtktextview.c:786 +#: ../gtk/gtktextview.c:810 msgid "Error underline color" msgstr "Errore-azpimarren kolorea" -#: gtk/gtktextview.c:787 +#: ../gtk/gtktextview.c:811 msgid "Color with which to draw error-indication underlines" msgstr "Errorea adierazteko azpimarrak zein koloretakoa izan behar duen" -#: gtk/gtktoggleaction.c:118 +#: ../gtk/gtkthemingengine.c:249 +msgid "Theming engine name" +msgstr "Gai-motorraren izena" + +#: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Sortu aukera-botoien bidezko ekintzaren proxy berak" -#: gtk/gtktoggleaction.c:119 +#: ../gtk/gtktoggleaction.c:119 msgid "Whether the proxies for this action look like radio action proxies" msgstr "" "Ekintza honen proxy-ek aukera-botoien bidezko ekintzen proxy-en itxura duten " "adierazten du" -#: gtk/gtktoggleaction.c:134 -#, fuzzy +#: ../gtk/gtktoggleaction.c:134 msgid "Whether the toggle action should be active" -msgstr "Txandakatze-botoiak aktibatuta egon behar duen edo ez" +msgstr "Txandakatzailearen ekintza aktibatuta egon behar duen edo ez" -#: gtk/gtktogglebutton.c:116 gtk/gtktoggletoolbutton.c:113 -#, fuzzy +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 msgid "If the toggle button should be pressed in" msgstr "Txandakatze-botoiak sakatuta egon behar duen ala ez" -#: gtk/gtktogglebutton.c:124 +#: ../gtk/gtktogglebutton.c:134 msgid "If the toggle button is in an \"in between\" state" msgstr "Txandakatze-botoia \"tarteko\" egoeran dagoen" -#: gtk/gtktogglebutton.c:131 +#: ../gtk/gtktogglebutton.c:141 msgid "Draw Indicator" msgstr "Marrazki-adierazlea" -#: gtk/gtktogglebutton.c:132 +#: ../gtk/gtktogglebutton.c:142 msgid "If the toggle part of the button is displayed" msgstr "Botoiaren txandakatze-aldea bistaratuta dagoen" -#: gtk/gtktoolbar.c:465 gtk/gtktoolpalette.c:1033 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1062 msgid "Toolbar Style" msgstr "Tresna-barraren estiloa" -#: gtk/gtktoolbar.c:466 +#: ../gtk/gtktoolbar.c:490 msgid "How to draw the toolbar" msgstr "Tresna-barra nola marraztu" -#: gtk/gtktoolbar.c:473 +#: ../gtk/gtktoolbar.c:497 msgid "Show Arrow" msgstr "Erakutsi gezia" -#: gtk/gtktoolbar.c:474 +#: ../gtk/gtktoolbar.c:498 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "Gezia erakutsi behar den tresna-barra kabitzen ez denean" -#: gtk/gtktoolbar.c:495 +#: ../gtk/gtktoolbar.c:519 msgid "Size of icons in this toolbar" msgstr "Tresna-barrako ikonoen tamaina" -#: gtk/gtktoolbar.c:510 gtk/gtktoolpalette.c:1019 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1048 msgid "Icon size set" msgstr "Ikono-tamainaren ezarpena" -#: gtk/gtktoolbar.c:511 gtk/gtktoolpalette.c:1020 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1049 msgid "Whether the icon-size property has been set" msgstr "Ikono-tamainaren propietatea ezarri den edo ez" -#: gtk/gtktoolbar.c:520 +#: ../gtk/gtktoolbar.c:544 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "" "Tresna-barra haztean, elementuak beste tarte bat eduki behar duen ala ez " "adierazten du" -#: gtk/gtktoolbar.c:528 gtk/gtktoolitemgroup.c:1625 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1648 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Elementuak beste elementu homogeneoen tamaina bera eduki behar duen ala ez " "adierazten du" -#: gtk/gtktoolbar.c:535 +#: ../gtk/gtktoolbar.c:559 msgid "Spacer size" msgstr "Zuriune-tamaina" -#: gtk/gtktoolbar.c:536 +#: ../gtk/gtktoolbar.c:560 msgid "Size of spacers" msgstr "Zuriuneen tamaina" -#: gtk/gtktoolbar.c:545 +#: ../gtk/gtktoolbar.c:569 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "Tresna-barraren itzalaren eta botoien arteko ertzen leku-kantitatea" -#: gtk/gtktoolbar.c:553 +#: ../gtk/gtktoolbar.c:577 msgid "Maximum child expand" msgstr "Umearen gehienezko zabalera" -#: gtk/gtktoolbar.c:554 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum amount of space an expandable item will be given" msgstr "Elementu zabalgarri batek eman dezakeen gehienezko leku-kopurua" -#: gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:586 msgid "Space style" msgstr "Zuriunearen estiloa" -#: gtk/gtktoolbar.c:563 +#: ../gtk/gtktoolbar.c:587 msgid "Whether spacers are vertical lines or just blank" msgstr "Zuriuneak lerro bertikalak edo zuriak bakarrik diren adierazten du" -#: gtk/gtktoolbar.c:570 +#: ../gtk/gtktoolbar.c:594 msgid "Button relief" msgstr "Botoiaren erliebea" -#: gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:595 msgid "Type of bevel around toolbar buttons" msgstr "Tresna-barraren botoien inguruko alaka-mota" -#: gtk/gtktoolbar.c:578 +#: ../gtk/gtktoolbar.c:602 msgid "Style of bevel around the toolbar" msgstr "Tresna-barraren inguruko alaka-estiloa" -#: gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:202 msgid "Text to show in the item." msgstr "Elementuan erakutsi beharreko testua." -#: gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:209 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6403,45 +6682,45 @@ msgstr "" "karakterea tekla bizkortzaile mnemoteknikorako erabili behar dela " "gainezkatze menuan." -#: gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:216 msgid "Widget to use as the item label" msgstr "Elementu-etiketa gisa erabili beharreko trepeta" -#: gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:222 msgid "Stock Id" msgstr "Stock-ID-a" -#: gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:223 msgid "The stock icon displayed on the item" msgstr "Elementuan bistaratutako stock-ikonoa" -#: gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:239 msgid "Icon name" msgstr "Ikono-izena" -#: gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:240 msgid "The name of the themed icon displayed on the item" msgstr "Elementuan bistaratutako ikono-gaiaren izena" # -#: gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:246 msgid "Icon widget" msgstr "Ikono-trepeta" -#: gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget to display in the item" msgstr "Elementuan bistaratu beharreko ikono-trepeta" # -#: gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:260 msgid "Icon spacing" msgstr "Ikono-tartea" -#: gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:261 msgid "Spacing in pixels between the icon and label" msgstr "Ikono eta etiketaren arteko tartea (pixeletan)" -#: gtk/gtktoolitem.c:201 +#: ../gtk/gtktoolitem.c:210 msgid "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" @@ -6450,529 +6729,528 @@ msgstr "" "bada, tresna-barrako botoiek testua GTK_TOOLBAR_BOTH_HORIZ moduan adierazten " "dute" -#: gtk/gtktoolitemgroup.c:1572 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "The human-readable title of this item group" msgstr "Elementuen talde honen titulua pertsonek irakur ahal izateko" -#: gtk/gtktoolitemgroup.c:1579 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "A widget to display in place of the usual label" msgstr "Trepeta ohiko etiketaren ordez bistaratzeko" -#: gtk/gtktoolitemgroup.c:1585 +#: ../gtk/gtktoolitemgroup.c:1608 msgid "Collapsed" msgstr "Tolestuta" -#: gtk/gtktoolitemgroup.c:1586 -#, fuzzy +#: ../gtk/gtktoolitemgroup.c:1609 msgid "Whether the group has been collapsed and items are hidden" msgstr "Taldea tolestu egin den eta elementuak ezkutatu diren edo ez" -#: gtk/gtktoolitemgroup.c:1592 +#: ../gtk/gtktoolitemgroup.c:1615 msgid "ellipsize" msgstr "elipsi gisa" -#: gtk/gtktoolitemgroup.c:1593 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Ellipsize for item group headers" msgstr "Elementuen taldearen goiburuentzako elipsia" -#: gtk/gtktoolitemgroup.c:1599 +#: ../gtk/gtktoolitemgroup.c:1622 msgid "Header Relief" msgstr "Goiburuko erliebea" -#: gtk/gtktoolitemgroup.c:1600 +#: ../gtk/gtktoolitemgroup.c:1623 msgid "Relief of the group header button" msgstr "Taldearen goiburuko botoiaren erliebea" -#: gtk/gtktoolitemgroup.c:1615 +#: ../gtk/gtktoolitemgroup.c:1638 msgid "Header Spacing" msgstr "Goiburuko tartea" -#: gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1639 msgid "Spacing between expander arrow and caption" msgstr "Zabaltzailearen geziaren eta epigrafearen arteko tartea" -#: gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1655 msgid "Whether the item should receive extra space when the group grows" msgstr "" "Taldea haztean, elementuak beste tarte bat eduki behar duen ala ez " "adierazten du" -#: gtk/gtktoolitemgroup.c:1639 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "Whether the item should fill the available space" msgstr "Elementuak tarte erabilgarria beteko duen edo ez adierazten du" -#: gtk/gtktoolitemgroup.c:1645 +#: ../gtk/gtktoolitemgroup.c:1668 msgid "New Row" msgstr "Errenkada berria" -#: gtk/gtktoolitemgroup.c:1646 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Whether the item should start a new row" msgstr "Elementuak errenkada berri bat hasi behar duen edo ez adierazten du" -#: gtk/gtktoolitemgroup.c:1653 +#: ../gtk/gtktoolitemgroup.c:1676 msgid "Position of the item within this group" msgstr "Elementuaren posizioa talde honetan" -#: gtk/gtktoolpalette.c:1004 +#: ../gtk/gtktoolpalette.c:1033 msgid "Size of icons in this tool palette" msgstr "Tresnen paleta honetako ikonoen tamaina" -#: gtk/gtktoolpalette.c:1034 +#: ../gtk/gtktoolpalette.c:1063 msgid "Style of items in the tool palette" msgstr "Tresnen paletako elementuen estiloa" -#: gtk/gtktoolpalette.c:1050 +#: ../gtk/gtktoolpalette.c:1079 msgid "Exclusive" msgstr "Esklusiboa" -#: gtk/gtktoolpalette.c:1051 +#: ../gtk/gtktoolpalette.c:1080 msgid "Whether the item group should be the only expanded at a given time" msgstr "Elementuen taldea zehaztutako orduan soilik zabalduko den edo ez" -#: gtk/gtktoolpalette.c:1066 -msgid "" -"Whether the item group should receive extra space when the palette grows" +#: ../gtk/gtktoolpalette.c:1095 +msgid "Whether the item group should receive extra space when the palette grows" msgstr "" "Paleta haztean, elementuen taldeak beste tarte bat eduki behar duen ala ez " "adierazten du" -#: gtk/gtktrayicon-x11.c:134 -#, fuzzy +#: ../gtk/gtktrayicon-x11.c:135 msgid "Foreground color for symbolic icons" -msgstr "Aurreko planoaren kolorea kate gisa" +msgstr "Aurreko planoaren kolorea ikono sinbolikoentzako" -#: gtk/gtktrayicon-x11.c:141 -#, fuzzy +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color" -msgstr "Kurtsorearen kolorea" +msgstr "Errorearen kolorea" -#: gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:143 msgid "Error color for symbolic icons" -msgstr "" +msgstr "Ikono sinbolikoen erroreen kolorea" -#: gtk/gtktrayicon-x11.c:149 -#, fuzzy +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color" -msgstr "Atzeko planoaren kolorea" +msgstr "Abisuaren kolorea" -#: gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:151 msgid "Warning color for symbolic icons" -msgstr "" +msgstr "Ikono sinbolikoen abisuen kolorea" -#: gtk/gtktrayicon-x11.c:157 -#, fuzzy +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color" -msgstr "Kurtsorearen kolorea" +msgstr "Ongi burututakoaren kolorea" -#: gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:159 msgid "Success color for symbolic icons" -msgstr "" +msgstr "Ikono sinbolikoen ongi burututakoen kolorea" -#: gtk/gtktrayicon-x11.c:166 -#, fuzzy +#: ../gtk/gtktrayicon-x11.c:167 msgid "Padding that should be put around icons in the tray" -msgstr "Ikonoa elementutik gertu egon behar duen edo ez" +msgstr "Betegarria (erretiluko ikonoaren inguruan jarri beharko litzatekeena)" -#: gtk/gtktreemodelsort.c:278 +#: ../gtk/gtktreemenu.c:287 +msgid "TreeMenu model" +msgstr "ZuhaitzMenua modeloa" + +#: ../gtk/gtktreemenu.c:288 +msgid "The model for the tree menu" +msgstr "Zuhaitz-menuaren modeloa" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "ZuhaitzMenuaren erroko errenkada" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "ZuhaitzMenuak zehaztutako erroaren umeak bistaratuko ditu" + +#: ../gtk/gtktreemenu.c:344 +msgid "Tearoff" +msgstr "Askagarria" + +#: ../gtk/gtktreemenu.c:345 +msgid "Whether the menu has a tearoff item" +msgstr "Menuak elementu askagarria duen edo ez" + +# +#: ../gtk/gtktreemenu.c:361 +msgid "Wrap Width" +msgstr "Doitze-zabalera" + +#: ../gtk/gtktreemenu.c:362 +msgid "Wrap width for laying out items in a grid" +msgstr "Sareta bateko elementuak diseinatzeko doitze-zabalera" + +#: ../gtk/gtktreemodelsort.c:312 msgid "TreeModelSort Model" msgstr "TreeModelSort modeloa" -#: gtk/gtktreemodelsort.c:279 +#: ../gtk/gtktreemodelsort.c:313 msgid "The model for the TreeModelSort to sort" msgstr "Ordenatzeko TreeModelSort-en modeloa" -#: gtk/gtktreeview.c:563 +#: ../gtk/gtktreeview.c:989 msgid "TreeView Model" msgstr "TreeView modeloa" -#: gtk/gtktreeview.c:564 +#: ../gtk/gtktreeview.c:990 msgid "The model for the tree view" msgstr "Zuhaitz-ikuspegirako modeloa" -#: gtk/gtktreeview.c:572 -msgid "Horizontal Adjustment for the widget" -msgstr "Trepetaren doitze horizontala" - -#: gtk/gtktreeview.c:580 -msgid "Vertical Adjustment for the widget" -msgstr "Trepetaren doitze bertikala" - -#: gtk/gtktreeview.c:587 +#: ../gtk/gtktreeview.c:1002 msgid "Headers Visible" msgstr "Goiburu ikusgaiak" -#: gtk/gtktreeview.c:588 +#: ../gtk/gtktreeview.c:1003 msgid "Show the column header buttons" msgstr "Zutabearen goiburuko botoiak erakusten ditu" -#: gtk/gtktreeview.c:595 +#: ../gtk/gtktreeview.c:1010 msgid "Headers Clickable" msgstr "Goiburu klikagarriak" -#: gtk/gtktreeview.c:596 +#: ../gtk/gtktreeview.c:1011 msgid "Column headers respond to click events" msgstr "Zutabeko goiburuek klik-ei erantzuten diete" -#: gtk/gtktreeview.c:603 +#: ../gtk/gtktreeview.c:1018 msgid "Expander Column" msgstr "Zabaltzailearen zutabea" -#: gtk/gtktreeview.c:604 +#: ../gtk/gtktreeview.c:1019 msgid "Set the column for the expander column" msgstr "Ezarri zabaltzailearen zutabearentzako zutabea" -#: gtk/gtktreeview.c:619 +#: ../gtk/gtktreeview.c:1034 msgid "Rules Hint" msgstr "Arauen aholkua" -#: gtk/gtktreeview.c:620 +#: ../gtk/gtktreeview.c:1035 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" "Gaiaren motorrarentzat aholku bat ezartzen du, errenkadak hainbat kolorez " "marrazteko" -#: gtk/gtktreeview.c:627 +#: ../gtk/gtktreeview.c:1042 msgid "Enable Search" msgstr "Gaitu bilaketa" -#: gtk/gtktreeview.c:628 +#: ../gtk/gtktreeview.c:1043 msgid "View allows user to search through columns interactively" msgstr "" "Ikuspegiak erabiltzailearen zutabeetan barrena interaktiboki bilatzeko " "baimena ematen dio" -#: gtk/gtktreeview.c:635 +#: ../gtk/gtktreeview.c:1050 msgid "Search Column" msgstr "Bilaketa-zutabea" -#: gtk/gtktreeview.c:636 +#: ../gtk/gtktreeview.c:1051 msgid "Model column to search through during interactive search" msgstr "Bilaketa interaktiboan bilaketa egiteko zutabe-eredua" -#: gtk/gtktreeview.c:656 +#: ../gtk/gtktreeview.c:1071 msgid "Fixed Height Mode" msgstr "Altuera finkoko modua" -#: gtk/gtktreeview.c:657 +#: ../gtk/gtktreeview.c:1072 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" -msgstr "" -"GtkTreeView azkartzen du, errenkada guztiek altuera bera dutela suposatuz" +msgstr "GtkTreeView azkartzen du, errenkada guztiek altuera bera dutela suposatuz" -#: gtk/gtktreeview.c:677 +#: ../gtk/gtktreeview.c:1092 msgid "Hover Selection" msgstr "Nabarmendutakoa hautatzea" -#: gtk/gtktreeview.c:678 +#: ../gtk/gtktreeview.c:1093 msgid "Whether the selection should follow the pointer" msgstr "Hautapenak erakusleari jarraituko dion ala ez adierazten du" -#: gtk/gtktreeview.c:697 +#: ../gtk/gtktreeview.c:1112 msgid "Hover Expand" msgstr "Nabarmendutakoa zabaltzea" -#: gtk/gtktreeview.c:698 -msgid "" -"Whether rows should be expanded/collapsed when the pointer moves over them" +#: ../gtk/gtktreeview.c:1113 +msgid "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "Errenkadak zabalduko/tolestuko diren ala ez adierazten du" -#: gtk/gtktreeview.c:712 +#: ../gtk/gtktreeview.c:1127 msgid "Show Expanders" msgstr "Erakutsi zabaltzaileak" -#: gtk/gtktreeview.c:713 +#: ../gtk/gtktreeview.c:1128 msgid "View has expanders" msgstr "Ikuspegiak zabaltzaileak ditu" -#: gtk/gtktreeview.c:727 +#: ../gtk/gtktreeview.c:1142 msgid "Level Indentation" msgstr "Koska-maila" -#: gtk/gtktreeview.c:728 +#: ../gtk/gtktreeview.c:1143 msgid "Extra indentation for each level" msgstr "Maila bakoitzaren koska estra" -#: gtk/gtktreeview.c:737 +#: ../gtk/gtktreeview.c:1152 msgid "Rubber Banding" msgstr "Goma-banda" -#: gtk/gtktreeview.c:738 -msgid "" -"Whether to enable selection of multiple items by dragging the mouse pointer" +#: ../gtk/gtktreeview.c:1153 +msgid "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Hainbat elementu hautatzen utziko duen edo ez saguaren erakuslearekin " "arrastatzean" -#: gtk/gtktreeview.c:745 +#: ../gtk/gtktreeview.c:1160 msgid "Enable Grid Lines" msgstr "Gaitu saretako marrak" -#: gtk/gtktreeview.c:746 +#: ../gtk/gtktreeview.c:1161 msgid "Whether grid lines should be drawn in the tree view" msgstr "Saretako marrak zuhaitzaren ikuspegian marraztuko diren edo ez" -#: gtk/gtktreeview.c:754 +#: ../gtk/gtktreeview.c:1169 msgid "Enable Tree Lines" msgstr "Gaitu zuhaitz-marrak" -#: gtk/gtktreeview.c:755 +#: ../gtk/gtktreeview.c:1170 msgid "Whether tree lines should be drawn in the tree view" msgstr "Zuhaitz-marrak zuhaitzaren ikuspegian marraztu edo ez" -#: gtk/gtktreeview.c:763 +#: ../gtk/gtktreeview.c:1178 msgid "The column in the model containing the tooltip texts for the rows" msgstr "Errenkaden argibideak dauzkan modeloaren zutabea" -#: gtk/gtktreeview.c:785 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical Separator Width" msgstr "Bereizle bertikalaren zabalera" -#: gtk/gtktreeview.c:786 +#: ../gtk/gtktreeview.c:1201 msgid "Vertical space between cells. Must be an even number" msgstr "Gelaxken arteko zuriune bertikala. Zenbaki bikoitia izan behar du" -#: gtk/gtktreeview.c:794 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal Separator Width" msgstr "Bereizle horizontalaren zabalera" -#: gtk/gtktreeview.c:795 +#: ../gtk/gtktreeview.c:1210 msgid "Horizontal space between cells. Must be an even number" msgstr "Gelaxken arteko zuriune horizontala. Zenbaki bikoitia izan behar du" -#: gtk/gtktreeview.c:803 +#: ../gtk/gtktreeview.c:1218 msgid "Allow Rules" msgstr "Arauak onartzen dira" -#: gtk/gtktreeview.c:804 +#: ../gtk/gtktreeview.c:1219 msgid "Allow drawing of alternating color rows" msgstr "Hainbat koloretako errenkadak marraztea onartzen da" -#: gtk/gtktreeview.c:810 +#: ../gtk/gtktreeview.c:1225 msgid "Indent Expanders" msgstr "Koskatu zabaltzaileak" -#: gtk/gtktreeview.c:811 +#: ../gtk/gtktreeview.c:1226 msgid "Make the expanders indented" msgstr "Zabaltzaileei koska jartzen die" -#: gtk/gtktreeview.c:817 +#: ../gtk/gtktreeview.c:1232 msgid "Even Row Color" msgstr "Errenkada bikoitiaren kolorea" -#: gtk/gtktreeview.c:818 +#: ../gtk/gtktreeview.c:1233 msgid "Color to use for even rows" msgstr "Errenkada bikoitietan erabili beharreko kolorea" -#: gtk/gtktreeview.c:824 +#: ../gtk/gtktreeview.c:1239 msgid "Odd Row Color" msgstr "Errenkada bakoitien kolorea" -#: gtk/gtktreeview.c:825 +#: ../gtk/gtktreeview.c:1240 msgid "Color to use for odd rows" msgstr "Errenkada bakoitietan erabili beharreko kolorea" -#: gtk/gtktreeview.c:831 +#: ../gtk/gtktreeview.c:1246 msgid "Grid line width" msgstr "Saretako marren zabalera" -#: gtk/gtktreeview.c:832 +#: ../gtk/gtktreeview.c:1247 msgid "Width, in pixels, of the tree view grid lines" msgstr "Zuhaitz ikuspegiko saretako marren zabalera, pixeletan" # -#: gtk/gtktreeview.c:838 +#: ../gtk/gtktreeview.c:1253 msgid "Tree line width" msgstr "Zuhaitz-marren zabalera" -#: gtk/gtktreeview.c:839 +#: ../gtk/gtktreeview.c:1254 msgid "Width, in pixels, of the tree view lines" msgstr "Zuhaitz ikuspegiko marren zabalera, pixeletan" -#: gtk/gtktreeview.c:845 +#: ../gtk/gtktreeview.c:1260 msgid "Grid line pattern" msgstr "Sareta-marren eredua" -#: gtk/gtktreeview.c:846 +#: ../gtk/gtktreeview.c:1261 msgid "Dash pattern used to draw the tree view grid lines" msgstr "Marra etenaren eredua zuhaitz ikuspegiko saretako marrak marrazteko" -#: gtk/gtktreeview.c:852 +#: ../gtk/gtktreeview.c:1267 msgid "Tree line pattern" msgstr "Zuhaitz-marren eredua" -#: gtk/gtktreeview.c:853 +#: ../gtk/gtktreeview.c:1268 msgid "Dash pattern used to draw the tree view lines" msgstr "Marra etenaren eredua zuhaitz ikuspegiko marrak marrazteko" -#: gtk/gtktreeviewcolumn.c:196 +#: ../gtk/gtktreeviewcolumn.c:244 msgid "Whether to display the column" msgstr "Zutabea bistaratu behar den ala ez adierazten du" # -#: gtk/gtktreeviewcolumn.c:203 gtk/gtkwindow.c:609 +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 msgid "Resizable" msgstr "Neurriz alda daiteke" -#: gtk/gtktreeviewcolumn.c:204 +#: ../gtk/gtktreeviewcolumn.c:252 msgid "Column is user-resizable" msgstr "Erabiltzaileak zutabea neurriz alda dezake" -#: gtk/gtktreeviewcolumn.c:212 +#: ../gtk/gtktreeviewcolumn.c:260 msgid "Current width of the column" msgstr "Zutabearen uneko zabalera" -#: gtk/gtktreeviewcolumn.c:221 -msgid "Space which is inserted between cells" -msgstr "Gelaxken artean txertatuko den tartea" - -#: gtk/gtktreeviewcolumn.c:229 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Sizing" msgstr "Neurriak ezartzea" -#: gtk/gtktreeviewcolumn.c:230 +#: ../gtk/gtktreeviewcolumn.c:278 msgid "Resize mode of the column" msgstr "Zutabearen tamainaz aldatzeko modua" # -#: gtk/gtktreeviewcolumn.c:238 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Fixed Width" msgstr "Zabalera finkoa" -#: gtk/gtktreeviewcolumn.c:239 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Current fixed width of the column" msgstr "Zutabearen uneko zabalera finkoa" -#: gtk/gtktreeviewcolumn.c:248 -msgid "Minimum Width" -msgstr "Gutxieneko zabalera" - -#: gtk/gtktreeviewcolumn.c:249 +#: ../gtk/gtktreeviewcolumn.c:297 msgid "Minimum allowed width of the column" msgstr "Zutabearen baimendutako gutxieneko zabalera" -#: gtk/gtktreeviewcolumn.c:258 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum Width" msgstr "Gehienezko zabalera" -#: gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:307 msgid "Maximum allowed width of the column" msgstr "Zutabearen baimendutako gehienezko zabalera" -#: gtk/gtktreeviewcolumn.c:269 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Title to appear in column header" msgstr "Zutabearen goiburuan azaldu beharreko izenburua" -#: gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Column gets share of extra width allocated to the widget" msgstr "Trepetari esleitutako zabaleraren zati gehigarria lortzen du zutabeak" -#: gtk/gtktreeviewcolumn.c:284 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Clickable" msgstr "Klikagarria" -#: gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:333 msgid "Whether the header can be clicked" msgstr "Goiburua klikagarria den ala ez adierazten du" # -#: gtk/gtktreeviewcolumn.c:293 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget" msgstr "Trepeta" -#: gtk/gtktreeviewcolumn.c:294 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Widget to put in column header button instead of column title" msgstr "" "Zutabearen goiburuko botoian zutabearen izenburuaren ordez ezarri beharreko " "trepeta " -#: gtk/gtktreeviewcolumn.c:302 +#: ../gtk/gtktreeviewcolumn.c:350 msgid "X Alignment of the column header text or widget" msgstr "Zutabearen goiburuko testuaren edo trepetaren X lerrokatzea" -#: gtk/gtktreeviewcolumn.c:312 +#: ../gtk/gtktreeviewcolumn.c:360 msgid "Whether the column can be reordered around the headers" msgstr "Zutabea goiburuen inguruan berrantola daitekeen ala ez adierazten du" -#: gtk/gtktreeviewcolumn.c:319 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Sort indicator" msgstr "Ordenaren adierazlea" -#: gtk/gtktreeviewcolumn.c:320 +#: ../gtk/gtktreeviewcolumn.c:368 msgid "Whether to show a sort indicator" msgstr "Ordenaren adierazlea erakutsi behar den ala ez adierazten du" -#: gtk/gtktreeviewcolumn.c:327 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort order" msgstr "Ordenazioa" -#: gtk/gtktreeviewcolumn.c:328 +#: ../gtk/gtktreeviewcolumn.c:376 msgid "Sort direction the sort indicator should indicate" msgstr "Adierazleak adierazi behar duen ordenazio-norabidea" -#: gtk/gtktreeviewcolumn.c:344 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Sort column ID" msgstr "Ordenatu ID zutabea" -#: gtk/gtktreeviewcolumn.c:345 +#: ../gtk/gtktreeviewcolumn.c:393 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" "Zutabe honek (ordenatzeko hautatzean) ordenatzen duen ID zutabearen ordena " "logikoa" -#: gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" -msgstr "" -"Menuei menu-elementu askagarriak gehitu behar zaizkien ala ez adierazten du" +msgstr "Menuei menu-elementu askagarriak gehitu behar zaizkien ala ez adierazten du" -#: gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Batutako UI definizioa" -#: gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "Batutako UI azaltzen duen XML katea" -#: gtk/gtkviewport.c:143 -msgid "" -"The GtkAdjustment that determines the values of the horizontal position for " -"this viewport" -msgstr "" -"Leihatila honen posizio horizontalaren balioak zehazten dituen GtkAdjustment" - -#: gtk/gtkviewport.c:151 -msgid "" -"The GtkAdjustment that determines the values of the vertical position for " -"this viewport" -msgstr "" -"Leihatila honen posizio bertikalaren balioak zehazten dituen GtkAdjustment" - -#: gtk/gtkviewport.c:159 +#: ../gtk/gtkviewport.c:154 msgid "Determines how the shadowed box around the viewport is drawn" -msgstr "" -"Leihatilaren inguruko lauki itzaleztatua nola marrazten den zehazten du" +msgstr "Leihatilaren inguruko lauki itzaleztatua nola marrazten den zehazten du" + +#: ../gtk/gtkvolumebutton.c:156 +msgid "Use symbolic icons" +msgstr "Erabili ikono sinbolikoak" + +#: ../gtk/gtkvolumebutton.c:157 +msgid "Whether to use symbolic icons" +msgstr "Ikono sinbolikoak erabiliko diren edo ez adierazten du" # -#: gtk/gtkwidget.c:714 +#: ../gtk/gtkwidget.c:901 msgid "Widget name" msgstr "Trepeta-izena" -#: gtk/gtkwidget.c:715 +#: ../gtk/gtkwidget.c:902 msgid "The name of the widget" msgstr "Trepetaren izena" # -#: gtk/gtkwidget.c:721 +#: ../gtk/gtkwidget.c:908 msgid "Parent widget" msgstr "Trepeta gurasoa" -#: gtk/gtkwidget.c:722 +#: ../gtk/gtkwidget.c:909 msgid "The parent widget of this widget. Must be a Container widget" msgstr "Trepeta honen trepeta gurasoa. Edukiontzi-trepeta izan behar du" -#: gtk/gtkwidget.c:729 +#: ../gtk/gtkwidget.c:916 msgid "Width request" msgstr "Zabalera-eskaera" -#: gtk/gtkwidget.c:730 +#: ../gtk/gtkwidget.c:917 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6980,11 +7258,11 @@ msgstr "" "Gainidatzi trepetaren zabalera-eskaera, edo -1 eskaera naturala erabili " "behar bada" -#: gtk/gtkwidget.c:738 +#: ../gtk/gtkwidget.c:925 msgid "Height request" msgstr "Altuera-eskaera" -#: gtk/gtkwidget.c:739 +#: ../gtk/gtkwidget.c:926 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6992,242 +7270,262 @@ msgstr "" "Gainidatzi trepetaren altuera-eskaera, edo -1 eskaera naturala erabili behar " "bada" -#: gtk/gtkwidget.c:748 +#: ../gtk/gtkwidget.c:935 msgid "Whether the widget is visible" msgstr "Trepeta ikusgai dagoen ala ez adierazten du" -#: gtk/gtkwidget.c:755 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget responds to input" msgstr "Trepetak sarrerari erantzuten dion ala ez adierazten du" -#: gtk/gtkwidget.c:761 +#: ../gtk/gtkwidget.c:948 msgid "Application paintable" msgstr "Aplikazio margogarria" -#: gtk/gtkwidget.c:762 +#: ../gtk/gtkwidget.c:949 msgid "Whether the application will paint directly on the widget" msgstr "Aplikazioak zuzenean trepetan margotuko duen ala ez adierazten du" -#: gtk/gtkwidget.c:768 +#: ../gtk/gtkwidget.c:955 msgid "Can focus" msgstr "Enfoka dezake" -#: gtk/gtkwidget.c:769 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget can accept the input focus" msgstr "Trepetak sarrera-fokua onar dezakeen ala ez adierazten du" -#: gtk/gtkwidget.c:775 +#: ../gtk/gtkwidget.c:962 msgid "Has focus" msgstr "Fokua du" -#: gtk/gtkwidget.c:776 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget has the input focus" msgstr "Trepetak sarrera-fokua duen ala ez adierazten du" -#: gtk/gtkwidget.c:782 +#: ../gtk/gtkwidget.c:969 msgid "Is focus" msgstr "Fokua da" -#: gtk/gtkwidget.c:783 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Trepeta goi-mailakoaren barruan foku-trepeta den ala ez adierazten du" # -#: gtk/gtkwidget.c:789 +#: ../gtk/gtkwidget.c:976 msgid "Can default" msgstr "Lehenetsia izan daiteke" -#: gtk/gtkwidget.c:790 +#: ../gtk/gtkwidget.c:977 msgid "Whether the widget can be the default widget" msgstr "Trepeta trepeta lehenetsia izan daitekeen ala ez adierazten du" # -#: gtk/gtkwidget.c:796 +#: ../gtk/gtkwidget.c:983 msgid "Has default" msgstr "Lehenetsia dauka" -#: gtk/gtkwidget.c:797 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is the default widget" msgstr "Trepeta trepeta lehenetsia den ala ez adierazten du" -#: gtk/gtkwidget.c:803 +#: ../gtk/gtkwidget.c:990 msgid "Receives default" msgstr "Lehenetsia jasotzen du" -#: gtk/gtkwidget.c:804 +#: ../gtk/gtkwidget.c:991 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "TRUE (egia) bada, trepetak ekintza lehenetsia jasoko du enfokatutakoan" -#: gtk/gtkwidget.c:810 +#: ../gtk/gtkwidget.c:997 msgid "Composite child" msgstr "Ume konposatua" -#: gtk/gtkwidget.c:811 +#: ../gtk/gtkwidget.c:998 msgid "Whether the widget is part of a composite widget" msgstr "Trepeta trepeta konposatu baten parte den ala ez adierazten du" -#: gtk/gtkwidget.c:817 +#: ../gtk/gtkwidget.c:1004 msgid "Style" msgstr "Estiloa" -#: gtk/gtkwidget.c:818 +#: ../gtk/gtkwidget.c:1005 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" -msgstr "" -"Trepetaren estiloa, zein itxura edukiko duen azaltzen duena (koloreak, etab.)" +msgstr "Trepetaren estiloa, zein itxura edukiko duen azaltzen duena (koloreak, etab.)" -#: gtk/gtkwidget.c:824 +#: ../gtk/gtkwidget.c:1011 msgid "Events" msgstr "Gertaerak" -#: gtk/gtkwidget.c:825 +#: ../gtk/gtkwidget.c:1012 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "Trepeta honek zein motatako GdkEvents eskuratuko duen erabakitzen duen " "gertaera-maskara" -#: gtk/gtkwidget.c:832 -msgid "Extension events" -msgstr "Luzapen-gertaerak" - -#: gtk/gtkwidget.c:833 -msgid "The mask that decides what kind of extension events this widget gets" -msgstr "" -"Trepeta honek zein motatako luzapen-gertaerak eskuratuko dituen erabakitzen " -"duen maskara" - -#: gtk/gtkwidget.c:840 +#: ../gtk/gtkwidget.c:1019 msgid "No show all" msgstr "Ez erakutsi dena" -#: gtk/gtkwidget.c:841 +#: ../gtk/gtkwidget.c:1020 msgid "Whether gtk_widget_show_all() should not affect this widget" -msgstr "" -"gtk_widget_show_all()-ek trepeta honi ez dion eragingo ala bai adierazten du" +msgstr "gtk_widget_show_all()-ek trepeta honi ez dion eragingo ala bai adierazten du" -#: gtk/gtkwidget.c:864 +#: ../gtk/gtkwidget.c:1043 msgid "Whether this widget has a tooltip" msgstr "Trepetak argibidea duen edo ez" # -#: gtk/gtkwidget.c:920 +#: ../gtk/gtkwidget.c:1099 msgid "Window" msgstr "Leihoa" -#: gtk/gtkwidget.c:921 +#: ../gtk/gtkwidget.c:1100 msgid "The widget's window if it is realized" msgstr "Trepetaren leihoa egiten bada" -#: gtk/gtkwidget.c:935 +#: ../gtk/gtkwidget.c:1114 msgid "Double Buffered" msgstr "Buffer bikoitza" -#: gtk/gtkwidget.c:936 -#, fuzzy +#: ../gtk/gtkwidget.c:1115 msgid "Whether the widget is double buffered" msgstr "Trepeta buffer bikoitzarekin dagoen edo ez" -#: gtk/gtkwidget.c:951 +#: ../gtk/gtkwidget.c:1130 msgid "How to position in extra horizontal space" -msgstr "" +msgstr "Nola kokatu leku horizontal gehigarrian" -#: gtk/gtkwidget.c:967 +#: ../gtk/gtkwidget.c:1146 msgid "How to position in extra vertical space" -msgstr "" +msgstr "Nola kokatu leku bertikal gehigarrian" -#: gtk/gtkwidget.c:986 -#, fuzzy +#: ../gtk/gtkwidget.c:1165 msgid "Margin on Left" -msgstr "Marjina" +msgstr "Marjina ezkerrean" -#: gtk/gtkwidget.c:987 +#: ../gtk/gtkwidget.c:1166 msgid "Pixels of extra space on the left side" -msgstr "" +msgstr "Leku gehigarriaren pixelak ezkerreko alboan" -#: gtk/gtkwidget.c:1007 +#: ../gtk/gtkwidget.c:1186 msgid "Margin on Right" -msgstr "" +msgstr "Marjina eskuinean" -#: gtk/gtkwidget.c:1008 -#, fuzzy +#: ../gtk/gtkwidget.c:1187 msgid "Pixels of extra space on the right side" -msgstr "Paragrafoen gaineko zuriuneen pixelak" +msgstr "Eskuin aldeko tarte gehigarriaren pixelak" -#: gtk/gtkwidget.c:1028 -#, fuzzy +#: ../gtk/gtkwidget.c:1207 msgid "Margin on Top" -msgstr "Marjina" +msgstr "Marjina goian" -#: gtk/gtkwidget.c:1029 -#, fuzzy +#: ../gtk/gtkwidget.c:1208 msgid "Pixels of extra space on the top side" -msgstr "Paragrafoen gaineko zuriuneen pixelak" +msgstr "Goi aldeko tarte gehigarriaren pixelak" -#: gtk/gtkwidget.c:1049 +#: ../gtk/gtkwidget.c:1228 msgid "Margin on Bottom" -msgstr "" +msgstr "Marjina behean" -#: gtk/gtkwidget.c:1050 +#: ../gtk/gtkwidget.c:1229 msgid "Pixels of extra space on the bottom side" -msgstr "" +msgstr "Leku gehigarriaren pixelak beheko alboan" -#: gtk/gtkwidget.c:1067 -#, fuzzy +#: ../gtk/gtkwidget.c:1246 msgid "All Margins" -msgstr "Marjina" +msgstr "Marjina guztiak" -#: gtk/gtkwidget.c:1068 +#: ../gtk/gtkwidget.c:1247 msgid "Pixels of extra space on all four sides" -msgstr "" +msgstr "Leku gehigarriaren pixelak lau alboetan" -#: gtk/gtkwidget.c:2741 +#: ../gtk/gtkwidget.c:1280 +msgid "Horizontal Expand" +msgstr "Betegarri horizontala" + +#: ../gtk/gtkwidget.c:1281 +msgid "Whether widget wants more horizontal space" +msgstr "Trepetak tarte horizontal gehiago nahi duen edo ez" + +#: ../gtk/gtkwidget.c:1295 +msgid "Horizontal Expand Set" +msgstr "Betegarri horizontala ezarrita" + +#: ../gtk/gtkwidget.c:1296 +msgid "Whether to use the hexpand property" +msgstr "'hexpand' (betegarri horizontala) propietatea erabiliko den edo ez" + +#: ../gtk/gtkwidget.c:1310 +msgid "Vertical Expand" +msgstr "Betegarri bertikala" + +#: ../gtk/gtkwidget.c:1311 +msgid "Whether widget wants more vertical space" +msgstr "Trepetak tarte bertikal gehiago nahi duen edo ez" + +#: ../gtk/gtkwidget.c:1325 +msgid "Vertical Expand Set" +msgstr "Betegarri bertikala ezarrita" + +#: ../gtk/gtkwidget.c:1326 +msgid "Whether to use the vexpand property" +msgstr "'vexpand' (betegarri bertikala) propietatea erabiliko den edo ez" + +#: ../gtk/gtkwidget.c:1340 +msgid "Expand Both" +msgstr "Zabaldu biak" + +#: ../gtk/gtkwidget.c:1341 +msgid "Whether widget wants to expand in both directions" +msgstr "Trepetak bi norabideetan zabaltzea nahi duen edo ez" + +#: ../gtk/gtkwidget.c:3000 msgid "Interior Focus" msgstr "Barneko fokua" -#: gtk/gtkwidget.c:2742 +#: ../gtk/gtkwidget.c:3001 msgid "Whether to draw the focus indicator inside widgets" -msgstr "" -"Foku-adierazlea trepeten barruan marraztu behar den ala ez adierazten du" +msgstr "Foku-adierazlea trepeten barruan marraztu behar den ala ez adierazten du" -#: gtk/gtkwidget.c:2748 +#: ../gtk/gtkwidget.c:3007 msgid "Focus linewidth" msgstr "Enfokatu lerroaren zabalera" -#: gtk/gtkwidget.c:2749 +#: ../gtk/gtkwidget.c:3008 msgid "Width, in pixels, of the focus indicator line" msgstr "Foku-adierazlearen lerroaren zabalera, pixeletan" -#: gtk/gtkwidget.c:2755 +#: ../gtk/gtkwidget.c:3014 msgid "Focus line dash pattern" msgstr "Enfokatu marra etenaren eredua" -#: gtk/gtkwidget.c:2756 +#: ../gtk/gtkwidget.c:3015 msgid "Dash pattern used to draw the focus indicator" msgstr "Marra etenaren eredua foku-adierazlea marrazteko erabiltzen da" -#: gtk/gtkwidget.c:2761 +#: ../gtk/gtkwidget.c:3020 msgid "Focus padding" msgstr "Fokuaren tarte betegarria" -#: gtk/gtkwidget.c:2762 +#: ../gtk/gtkwidget.c:3021 msgid "Width, in pixels, between focus indicator and the widget 'box'" -msgstr "" -"Foku-adierazlearen eta trepetako 'laukia'ren arteko zabalera, pixeletan" +msgstr "Foku-adierazlearen eta trepetako 'laukia'ren arteko zabalera, pixeletan" -#: gtk/gtkwidget.c:2767 +#: ../gtk/gtkwidget.c:3026 msgid "Cursor color" msgstr "Kurtsorearen kolorea" -#: gtk/gtkwidget.c:2768 +#: ../gtk/gtkwidget.c:3027 msgid "Color with which to draw insertion cursor" msgstr "Txertatze-kurtsorea marrazteko kolorea" -#: gtk/gtkwidget.c:2773 +#: ../gtk/gtkwidget.c:3032 msgid "Secondary cursor color" msgstr "Kurtsorearen bigarren mailako kolorea" -#: gtk/gtkwidget.c:2774 +#: ../gtk/gtkwidget.c:3033 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7235,46 +7533,45 @@ msgstr "" "Eskuinetik ezkerrera eta ezkerretik eskuinera doan testu nahasia editatzean, " "bigarren txertatze-kurtsorea marrazteko kolorea" -#: gtk/gtkwidget.c:2779 +#: ../gtk/gtkwidget.c:3038 msgid "Cursor line aspect ratio" msgstr "Kurtsore-lerroaren aspektu-erlazioa" -#: gtk/gtkwidget.c:2780 +#: ../gtk/gtkwidget.c:3039 msgid "Aspect ratio with which to draw insertion cursor" msgstr "Txertatze-kurtsorea marrazteko aspektu-erlazioa" -#: gtk/gtkwidget.c:2786 -#, fuzzy +#: ../gtk/gtkwidget.c:3045 msgid "Window dragging" -msgstr "Leihoaren kokalekua" +msgstr "Leihoa arrastatzea" -#: gtk/gtkwidget.c:2787 +#: ../gtk/gtkwidget.c:3046 msgid "Whether windows can be dragged by clicking on empty areas" -msgstr "" +msgstr "Area hutsetan klik eginez leihoak arrasta daitekeen edo ez" # -#: gtk/gtkwidget.c:2800 +#: ../gtk/gtkwidget.c:3059 msgid "Unvisited Link Color" msgstr "Bisitatu gabeko estekaren kolorea" -#: gtk/gtkwidget.c:2801 +#: ../gtk/gtkwidget.c:3060 msgid "Color of unvisited links" msgstr "Bisitatu ez diren esteken kolorea" # -#: gtk/gtkwidget.c:2814 +#: ../gtk/gtkwidget.c:3073 msgid "Visited Link Color" msgstr "Bisitatutako esteken kolorea" -#: gtk/gtkwidget.c:2815 +#: ../gtk/gtkwidget.c:3074 msgid "Color of visited links" msgstr "Bisitatu diren estekan kolorea" -#: gtk/gtkwidget.c:2829 +#: ../gtk/gtkwidget.c:3088 msgid "Wide Separators" msgstr "Bereizle zabalak" -#: gtk/gtkwidget.c:2830 +#: ../gtk/gtkwidget.c:3089 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7282,86 +7579,85 @@ msgstr "" "Bereizleen zabalera konfiguragarriak diren edo ez, eta marra erabili " "beharrean kutxa bat erabili marraztu behar diren edo ez" -#: gtk/gtkwidget.c:2844 +#: ../gtk/gtkwidget.c:3103 msgid "Separator Width" msgstr "Bereizlearen zabalera" -#: gtk/gtkwidget.c:2845 +#: ../gtk/gtkwidget.c:3104 msgid "The width of separators if wide-separators is TRUE" msgstr "Bereizleen zabalera 'bereizle zabalak' EGIA gisa ezarrita egonez gero" -#: gtk/gtkwidget.c:2859 +#: ../gtk/gtkwidget.c:3118 msgid "Separator Height" msgstr "Bereizlearen altuera" -#: gtk/gtkwidget.c:2860 +#: ../gtk/gtkwidget.c:3119 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "Bereizleen altuera 'bereizle zabalak' EGIA gisa ezarrita egonez gero" # -#: gtk/gtkwidget.c:2874 +#: ../gtk/gtkwidget.c:3133 msgid "Horizontal Scroll Arrow Length" msgstr "Korritze horizontaleko geziaren luzera" -#: gtk/gtkwidget.c:2875 +#: ../gtk/gtkwidget.c:3134 msgid "The length of horizontal scroll arrows" msgstr "Korritze horizontaleko gezien luzera" -#: gtk/gtkwidget.c:2889 +#: ../gtk/gtkwidget.c:3148 msgid "Vertical Scroll Arrow Length" msgstr "Korritze bertikaleko geziaren luzera" -#: gtk/gtkwidget.c:2890 +#: ../gtk/gtkwidget.c:3149 msgid "The length of vertical scroll arrows" msgstr "Korritze bertikaleko gezien luzera" # -#: gtk/gtkwindow.c:567 +#: ../gtk/gtkwindow.c:603 msgid "Window Type" msgstr "Leiho-mota" -#: gtk/gtkwindow.c:568 +#: ../gtk/gtkwindow.c:604 msgid "The type of the window" msgstr "Leihoa zein motatakoa den" # -#: gtk/gtkwindow.c:576 +#: ../gtk/gtkwindow.c:612 msgid "Window Title" msgstr "Leihoaren titulua" -#: gtk/gtkwindow.c:577 +#: ../gtk/gtkwindow.c:613 msgid "The title of the window" msgstr "Leihoaren izenburua" # -#: gtk/gtkwindow.c:584 +#: ../gtk/gtkwindow.c:620 msgid "Window Role" msgstr "Leihoaren funtzioa" -#: gtk/gtkwindow.c:585 +#: ../gtk/gtkwindow.c:621 msgid "Unique identifier for the window to be used when restoring a session" -msgstr "" -"Saio bat leheneratzean leihorako erabili beharreko identifikatzaile bakarra" +msgstr "Saio bat leheneratzean leihorako erabili beharreko identifikatzaile bakarra" -#: gtk/gtkwindow.c:601 +#: ../gtk/gtkwindow.c:637 msgid "Startup ID" msgstr "Abioko IDa" -#: gtk/gtkwindow.c:602 +#: ../gtk/gtkwindow.c:638 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Abioko jakinarazpenak erabiltzen duen leihoaren abioko identifikatzaile " "bakarra" -#: gtk/gtkwindow.c:610 +#: ../gtk/gtkwindow.c:646 msgid "If TRUE, users can resize the window" msgstr "TRUE (egia) bada, erabiltzaileek leihoaren tamaina alda dezakete" -#: gtk/gtkwindow.c:617 +#: ../gtk/gtkwindow.c:653 msgid "Modal" msgstr "Modala" -#: gtk/gtkwindow.c:618 +#: ../gtk/gtkwindow.c:654 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7369,80 +7665,77 @@ msgstr "" "TRUE (egia) bada, leihoa modala da (beste leihoak ezin dira erabili hau " "gainean dagoen bitartean)" -#: gtk/gtkwindow.c:625 +#: ../gtk/gtkwindow.c:661 msgid "Window Position" msgstr "Leihoaren kokalekua" -#: gtk/gtkwindow.c:626 +#: ../gtk/gtkwindow.c:662 msgid "The initial position of the window" msgstr "Leihoaren hasierako kokalekua" -#: gtk/gtkwindow.c:634 +#: ../gtk/gtkwindow.c:670 msgid "Default Width" msgstr "Zabalera lehenetsia" -#: gtk/gtkwindow.c:635 +#: ../gtk/gtkwindow.c:671 msgid "The default width of the window, used when initially showing the window" -msgstr "" -"Leihoaren zabalera lehenetsia, hasieran leihoa erakustean erabiltzen dena" +msgstr "Leihoaren zabalera lehenetsia, hasieran leihoa erakustean erabiltzen dena" -#: gtk/gtkwindow.c:644 +#: ../gtk/gtkwindow.c:680 msgid "Default Height" msgstr "Altuera lehenetsia" -#: gtk/gtkwindow.c:645 -msgid "" -"The default height of the window, used when initially showing the window" -msgstr "" -"Leihoaren altuera lehenetsia, hasieran leihoa erakustean erabiltzen dena" +#: ../gtk/gtkwindow.c:681 +msgid "The default height of the window, used when initially showing the window" +msgstr "Leihoaren altuera lehenetsia, hasieran leihoa erakustean erabiltzen dena" -#: gtk/gtkwindow.c:654 +#: ../gtk/gtkwindow.c:690 msgid "Destroy with Parent" msgstr "Deuseztatu gurasoarekin" -#: gtk/gtkwindow.c:655 +#: ../gtk/gtkwindow.c:691 msgid "If this window should be destroyed when the parent is destroyed" msgstr "" "Gurasoa deuseztatzean, leiho hau ere deuseztatu behar den ala ez adierazten " "du" -#: gtk/gtkwindow.c:663 +#: ../gtk/gtkwindow.c:699 msgid "Icon for this window" msgstr "Leiho honen ikonoa" -#: gtk/gtkwindow.c:669 +#: ../gtk/gtkwindow.c:705 msgid "Mnemonics Visible" msgstr "Mnemoteknikoak ikusgai" -#: gtk/gtkwindow.c:670 +#: ../gtk/gtkwindow.c:706 msgid "Whether mnemonics are currently visible in this window" msgstr "Leiho honetan mnemoteknikoak ikusgai dauden edo ez adierazten du" -#: gtk/gtkwindow.c:686 +#: ../gtk/gtkwindow.c:722 msgid "Name of the themed icon for this window" msgstr "Leiho honen ikono-gaiaren izena" -#: gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:737 msgid "Is Active" msgstr "Aktibo dago" -#: gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:738 msgid "Whether the toplevel is the current active window" msgstr "Goi-maila unean aktibo dagoen leihoa den ala ez adierazten du" -#: gtk/gtkwindow.c:709 +#: ../gtk/gtkwindow.c:745 msgid "Focus in Toplevel" msgstr "Fokua goi-mailan" -#: gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:746 msgid "Whether the input focus is within this GtkWindow" msgstr "Sarrera-fokua GtkWindow honen barruan dagoen ala ez adierazten du" -#: gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:753 msgid "Type hint" msgstr "Motari buruzko arrastoa" -#: gtk/gtkwindow.c:718 +#: ../gtk/gtkwindow.c:754 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7450,495 +7743,116 @@ msgstr "" "Mahai-gaineko inguruneari hau zein leiho-mota den eta nola tratatu behar den " "ulertzen laguntzeko informazio laburra." -#: gtk/gtkwindow.c:726 +#: ../gtk/gtkwindow.c:762 msgid "Skip taskbar" msgstr "Saltatu ataza-barra" -#: gtk/gtkwindow.c:727 +#: ../gtk/gtkwindow.c:763 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE (egia) leihoak ataza-barran egon behar ez badu." -#: gtk/gtkwindow.c:734 +#: ../gtk/gtkwindow.c:770 msgid "Skip pager" msgstr "Saltatu orrikatzailea" -#: gtk/gtkwindow.c:735 +#: ../gtk/gtkwindow.c:771 msgid "TRUE if the window should not be in the pager." msgstr "TRUE (egia) leihoak orrikatzailean egon behar ez badu." -#: gtk/gtkwindow.c:742 +#: ../gtk/gtkwindow.c:778 msgid "Urgent" msgstr "Berehalakoa" -#: gtk/gtkwindow.c:743 +#: ../gtk/gtkwindow.c:779 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE (egia) leihoak erabiltzailearen atentzioa erakarri behar badu." -#: gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:793 msgid "Accept focus" msgstr "Onartu fokua" -#: gtk/gtkwindow.c:758 +#: ../gtk/gtkwindow.c:794 msgid "TRUE if the window should receive the input focus." msgstr "TRUE (egia) leihoak sarrera-fokua jaso behar badu." -#: gtk/gtkwindow.c:772 +#: ../gtk/gtkwindow.c:808 msgid "Focus on map" msgstr "Fokua klik egindakoan" -#: gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:809 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE (egia) leihoak sarrera-fokua jaso behar badu." -#: gtk/gtkwindow.c:787 +#: ../gtk/gtkwindow.c:823 msgid "Decorated" msgstr "Apainduta" -#: gtk/gtkwindow.c:788 +#: ../gtk/gtkwindow.c:824 msgid "Whether the window should be decorated by the window manager" msgstr "Leihoa leiho-kudeatzaileak apaindu behar lukeen ala ez adierazten du" # -#: gtk/gtkwindow.c:802 +#: ../gtk/gtkwindow.c:838 msgid "Deletable" msgstr "Ezabagarria" -#: gtk/gtkwindow.c:803 +#: ../gtk/gtkwindow.c:839 msgid "Whether the window frame should have a close button" msgstr "Leiho-markoak ixteko botoia eduki behar duen edo ez" -#: gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:858 +msgid "Resize grip" +msgstr "Tamainaz aldatzeko heldulekua" + +#: ../gtk/gtkwindow.c:859 +msgid "Specifies whether the window should have a resize grip" +msgstr "Leihoak tamainaz aldatzeko heldulekua eduki behar duen edo ez" + +#: ../gtk/gtkwindow.c:873 +msgid "Resize grip is visible" +msgstr "Tamaina aldatzeko heldulekua ikusgai dago" + +#: ../gtk/gtkwindow.c:874 +msgid "Specifies whether the window's resize grip is visible." +msgstr "Leihoa tamainaz aldatzeko heldulekua ikusgai dagoen ala ez zehazten du." + +#: ../gtk/gtkwindow.c:890 msgid "Gravity" msgstr "Grabitatea" -#: gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:891 msgid "The window gravity of the window" msgstr "Leihoaren leiho-grabitatea" -#: gtk/gtkwindow.c:837 +#: ../gtk/gtkwindow.c:908 msgid "Transient for Window" msgstr "Leihoaren trantsizioa" -#: gtk/gtkwindow.c:838 +#: ../gtk/gtkwindow.c:909 msgid "The transient parent of the dialog" msgstr "Elkarrizketa-koadroaren gurasoaren trantsizioa" -#: gtk/gtkwindow.c:853 +#: ../gtk/gtkwindow.c:924 msgid "Opacity for Window" msgstr "Leihoaren opakutasuna" -#: gtk/gtkwindow.c:854 +#: ../gtk/gtkwindow.c:925 msgid "The opacity of the window, from 0 to 1" msgstr "Leihoaren opakutasuna, 0 eta 1 artekoa" -#: modules/input/gtkimcontextxim.c:334 -msgid "IM Preedit style" -msgstr "IM aurreedizioko estiloa" +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 +msgid "Width of resize grip" +msgstr "Tamaina aldatzeko heldulekuaren zabalera" -#: modules/input/gtkimcontextxim.c:335 -msgid "How to draw the input method preedit string" -msgstr "Aurreedizioko katearen sarrera-metodoa nola marraztu" +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 +msgid "Height of resize grip" +msgstr "Tamainaz aldatzeko heldulekuaren altuera" -#: modules/input/gtkimcontextxim.c:343 -msgid "IM Status style" -msgstr "IM egoeraren estiloa" +#: ../gtk/gtkwindow.c:961 +msgid "GtkApplication" +msgstr "GtkApplication" -#: modules/input/gtkimcontextxim.c:344 -msgid "How to draw the input method statusbar" -msgstr "Egoera-barraren sarrera-metodoa nola marraztu" +#: ../gtk/gtkwindow.c:962 +msgid "The GtkApplication for the window" +msgstr "Leihoaren GtkApplication" -#~ msgid "Loop" -#~ msgstr "Begizta" - -#~ msgid "Whether the animation should loop when it reaches the end" -#~ msgstr "Animazioa begizta batean errepikatuko den amaierara iristean edo ez" - -#~ msgid "Number of Channels" -#~ msgstr "Kanal-kopurua" - -#~ msgid "The number of samples per pixel" -#~ msgstr "Pixel bakoitzeko lagin-kopurua" - -#~ msgid "Colorspace" -#~ msgstr "Kolore-eskala" - -#~ msgid "The colorspace in which the samples are interpreted" -#~ msgstr "Laginak interpretatzen diren kolore-eskala" - -#~ msgid "Has Alpha" -#~ msgstr "Alfa dauka" - -#~ msgid "Whether the pixbuf has an alpha channel" -#~ msgstr "pixbuf-ek alfa kanala duen ala ez adierazten du" - -#~ msgid "Bits per Sample" -#~ msgstr "Lagin bakoitzeko bitak" - -#~ msgid "The number of bits per sample" -#~ msgstr "Lagin bakoitzeko bit-kopurua" - -#~ msgid "The number of columns of the pixbuf" -#~ msgstr "pixbuf-eko zutabe-kopurua" - -#~ msgid "The number of rows of the pixbuf" -#~ msgstr "pixbuf-eko errenkada-kopurua" - -#~ msgid "Rowstride" -#~ msgstr "Errenkada-luzera" - -#~ msgid "" -#~ "The number of bytes between the start of a row and the start of the next " -#~ "row" -#~ msgstr "" -#~ "Errenkada baten hasieratik hurrengo errenkadaren hasierara arte dagoen " -#~ "byte-kopurua" - -#~ msgid "Pixels" -#~ msgstr "Pixeletan" - -#~ msgid "A pointer to the pixel data of the pixbuf" -#~ msgstr "pixbuf-eko pixel-datuetarako erakuslea" - -#~ msgid "the GdkScreen for the renderer" -#~ msgstr "GdkScreen errendatzailearentzako" - -#~ msgid "The adjustment that holds the value of the spinbutton." -#~ msgstr "Biratze-botoiaren balioa duen doitzea." - -#~ msgid "Has separator" -#~ msgstr "Bereizlea dauka" - -#~ msgid "The dialog has a separator bar above its buttons" -#~ msgstr "Elkarrizketa-koadroak barra bereizlea du botoien gainean" - -#~ msgid "Invisible char set" -#~ msgstr "Karaktere-multzo ikusezina" - -#~ msgid "State Hint" -#~ msgstr "Egoeraren iradokizuna" - -#~ msgid "Whether to pass a proper state when drawing shadow or background" -#~ msgstr "Dagokion egoera pasatu itzala edo atzeko planoa marraztean ala ez" - -#~ msgid "The GdkFont that is currently selected" -#~ msgstr "GdkFont jadanik hautatuta dago" - -#~ msgid "Deprecated property, use shadow_type instead" -#~ msgstr "Propietate zaharkitua, erabili itzal-mota horren ordez" - -# -#~ msgid "Pixmap" -#~ msgstr "Pixmap" - -#~ msgid "A GdkPixmap to display" -#~ msgstr "Bistaratu beharreko GdkPixmap-a" - -#~ msgid "A GdkImage to display" -#~ msgstr "Bistaratu beharreko GdkImage-a" - -#~ msgid "Mask" -#~ msgstr "Maskaratu" - -#~ msgid "Mask bitmap to use with GdkImage or GdkPixmap" -#~ msgstr "" -#~ "Maskaratu GdkImage-rekin edo GdkPixmap-arekin erabili beharreko bitmap-a" - -#~ msgid "Use separator" -#~ msgstr "Erabili bereizlea" - -#~ msgid "" -#~ "Whether to put a separator between the message dialog's text and the " -#~ "buttons" -#~ msgstr "" -#~ "Mezuaren elkarrizketa-koadroaren testuaren eta botoien artean bereizlea " -#~ "jarri behar den ala ez adierazten du" - -#~ msgid "Activity mode" -#~ msgstr "Jarduera-modua" - -#~ msgid "" -#~ "If TRUE, the GtkProgress is in activity mode, meaning that it signals " -#~ "something is happening, but not how much of the activity is finished. " -#~ "This is used when you're doing something but don't know how long it will " -#~ "take." -#~ msgstr "" -#~ "EGIA bada, GtkProgress jarduera-moduan egongo da; horrek esan nahi du " -#~ "zerbait gertatzen ari dela adieraziko duela, baina ez jarduera " -#~ "zenbateraino dagoen bukatuta. Hori erabiltzen da zerbait egiten ari " -#~ "zarenean eta horretan zenbat denbora emango duzun ez dakizunean." - -#~ msgid "Draw slider ACTIVE during drag" -#~ msgstr "Marraztu graduatzaile AKTIBOA arrastatzean" - -#~ msgid "" -#~ "With this option set to TRUE, sliders will be drawn ACTIVE and with " -#~ "shadow IN while they are dragged" -#~ msgstr "" -#~ "Aukera hau EGIA balioa edukiz gero graduatzaileak AKTIBOKI marraztu " -#~ "egingo dira bere itzala BARRUAN duela arrastatzen diren heinean" - -#~ msgid "Trough Side Details" -#~ msgstr "Kanalaren alboko xehetasunak" - -#~ msgid "" -#~ "When TRUE, the parts of the trough on the two sides of the slider are " -#~ "drawn with different details" -#~ msgstr "" -#~ "EGIA denean, kanalaren zatiak graduatzailearen bi alboetan xehetasun " -#~ "desberdinekin marrazten dira" - -#~ msgid "" -#~ "The maximum number of items to be returned by gtk_recent_manager_get_items" -#~ "()" -#~ msgstr "" -#~ "gtk_recent_manager_get_items() funtzioak itzulitako gehienezko elementu-" -#~ "kopurua" - -#~ msgid "Blinking" -#~ msgstr "Keinukaria" - -#~ msgid "Whether or not the status icon is blinking" -#~ msgstr "Egoerako ikonoa keinuka ari den edo ez" - -#~ msgid "Background stipple mask" -#~ msgstr "Atzeko planoaren maskara puntukatua" - -#~ msgid "Bitmap to use as a mask when drawing the text background" -#~ msgstr "" -#~ "Testuaren atzeko planoa marraztean maskara gisa erabili beharreko bit-mapa" - -#~ msgid "Foreground stipple mask" -#~ msgstr "Aurreko planoaren maskara puntukatua" - -#~ msgid "Bitmap to use as a mask when drawing the text foreground" -#~ msgstr "" -#~ "Testuaren aurreko planoa marraztean maskara gisa erabili beharreko bit-" -#~ "mapa" - -#~ msgid "Background stipple set" -#~ msgstr "Atzeko planoaren puntuen ezarpena" - -#~ msgid "Whether this tag affects the background stipple" -#~ msgstr "" -#~ "Etiketa honek atzeko planoaren puntuei eragiten dien ala ez adierazten du" - -#~ msgid "Foreground stipple set" -#~ msgstr "Aurreko planoaren puntuen ezarpena" - -#~ msgid "Whether this tag affects the foreground stipple" -#~ msgstr "" -#~ "Etiketa honek aurreko planoaren puntuei eragiten dien ala ez adierazten du" - -#~ msgid "Row Ending details" -#~ msgstr "Errenkada amaierako xehetasunak" - -#~ msgid "Enable extended row background theming" -#~ msgstr "Gaitu zabaldutako errenkaden atzeko planoko gaia" - -#~ msgid "Draw Border" -#~ msgstr "Marraztu ertza" - -#~ msgid "Size of areas outside the widget's allocation to draw" -#~ msgstr "Trepetaren marrazteko gunearen kanpoko arearen tamaina" - -#~ msgid "Allow Shrink" -#~ msgstr "Baimendu uzkurtzea" - -#~ msgid "" -#~ "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of " -#~ "the time a bad idea" -#~ msgstr "" -#~ "TRUE (egia) bada, leihoak ez du gutxieneko tamainarik. Hori TRUE (egia) " -#~ "jartzea ia beti ideia txarra izaten da" - -#~ msgid "Allow Grow" -#~ msgstr "Baimendu handitzea" - -#~ msgid "If TRUE, users can expand the window beyond its minimum size" -#~ msgstr "" -#~ "TRUE (egia) bada, erabiltzaileek leihoa gutxieneko tamainatik gora zabal " -#~ "dezakete" - -#~ msgid "Enable arrow keys" -#~ msgstr "Gaitu gezi-teklak" - -#~ msgid "Whether the arrow keys move through the list of items" -#~ msgstr "" -#~ "Gezi-teklak elementu-zerrendan zehar mugitzen diren ala ez adierazten du" - -#~ msgid "Always enable arrows" -#~ msgstr "Gaitu beti geziak" - -#~ msgid "Obsolete property, ignored" -#~ msgstr "Propietate zaharkitua, ez ikusi egin" - -#~ msgid "Case sensitive" -#~ msgstr "Maiuskula/minuskula" - -#~ msgid "Whether list item matching is case sensitive" -#~ msgstr "" -#~ "Bat datozen elementuen zerrendan maiuskulak eta minuskulak kontuan " -#~ "hartzen dituen adierazten du" - -#~ msgid "Allow empty" -#~ msgstr "Onartu hutsik" - -#~ msgid "Whether an empty value may be entered in this field" -#~ msgstr "Balio huts bat eremu honetan sar daitekeen ala ez adierazten du" - -#~ msgid "Value in list" -#~ msgstr "Zerrendako balioa" - -#~ msgid "Whether entered values must already be present in the list" -#~ msgstr "Sartutako balioek zerrendan egon behar duten ala ez adierazten du" - -#~ msgid "Is this curve linear, spline interpolated, or free-form" -#~ msgstr "Kurba hau lineala, spline-rekin interpolatua edo forma librekoa den" - -#~ msgid "Minimum X" -#~ msgstr "X minimoa" - -#~ msgid "Minimum possible value for X" -#~ msgstr "Xek izan dezakeen balio minimoa" - -#~ msgid "Maximum X" -#~ msgstr "X maximoa" - -#~ msgid "Maximum possible X value" -#~ msgstr "Xek izan dezakeen balio maximoa" - -#~ msgid "Minimum Y" -#~ msgstr "Y minimoa" - -#~ msgid "Minimum possible value for Y" -#~ msgstr "Yk izan dezakeen balio minimoa" - -#~ msgid "Maximum Y" -#~ msgstr "Y maximoa" - -#~ msgid "Maximum possible value for Y" -#~ msgstr "Yk izan dezakeen balio maximoa" - -#~ msgid "File System Backend" -#~ msgstr "Fitxategi-sistemaren motorra" - -#~ msgid "Name of file system backend to use" -#~ msgstr "Erabili beharreko fitxategi-sistemaren motorraren izena" - -#~ msgid "The currently selected filename" -#~ msgstr "Unean hautatutako fitxategi-izena" - -#~ msgid "Show file operations" -#~ msgstr "Erakutsi fitxategi-eragiketak" - -#~ msgid "Whether buttons for creating/manipulating files should be displayed" -#~ msgstr "" -#~ "Fitxategiak sortzeko/manipulatzeko botoiak bistaratu behar diren ala ez " -#~ "adierazten du" - -#~ msgid "Tab Border" -#~ msgstr "Fitxaren ertza" - -#~ msgid "Width of the border around the tab labels" -#~ msgstr "Fitxa-etiketen inguruko ertzaren zabalera" - -# -#~ msgid "Horizontal Tab Border" -#~ msgstr "Fitxaren ertz horizontala" - -#~ msgid "Width of the horizontal border of tab labels" -#~ msgstr "Fitxa-etiketen ertz horizontalaren zabalera" - -#~ msgid "Vertical Tab Border" -#~ msgstr "Fitxaren ertz bertikala" - -#~ msgid "Width of the vertical border of tab labels" -#~ msgstr "Fitxa-etiketen ertz bertikalaren zabalera" - -#~ msgid "Whether tabs should have homogeneous sizes" -#~ msgstr "Fitxek tamaina homogeneoa eduki behar duten ala ez adierazten du" - -#~ msgid "Group ID for tabs drag and drop" -#~ msgstr "Taldearen IDa fitxak arrastatu eta jaregiteko" - -#~ msgid "User Data" -#~ msgstr "Erabiltzailearen datuak" - -#~ msgid "Anonymous User Data Pointer" -#~ msgstr "Erabiltzaile anonimoaren datuen erakuslea" - -#~ msgid "The menu of options" -#~ msgstr "Aukeren menua" - -#~ msgid "Size of dropdown indicator" -#~ msgstr "Goitibeherako adierazlearen tamaina" - -#~ msgid "Spacing around indicator" -#~ msgstr "Adierazlearen inguruko tartea" - -#~ msgid "" -#~ "Whether the preview widget should take up the entire space it is allocated" -#~ msgstr "" -#~ "Aurrebistako trepetak esleitu zaion leku guztia hartu behar duen ala ez " -#~ "adierazten du" - -#~ msgid "The GtkAdjustment connected to the progress bar (Deprecated)" -#~ msgstr "GtkAdjustment progresio-barrarekin konektatuta (zaharkitua)" - -#~ msgid "Bar style" -#~ msgstr "Barra-estiloa" - -#~ msgid "" -#~ "Specifies the visual style of the bar in percentage mode (Deprecated)" -#~ msgstr "Barraren estilo bisuala zehazten du ehuneko-moduan (zaharkitua)" - -#~ msgid "Activity Step" -#~ msgstr "Jarduera-urratsa" - -#~ msgid "The increment used for each iteration in activity mode (Deprecated)" -#~ msgstr "" -#~ "Jarduera-moduan iterazio bakoitzerako erabilitako gehikuntza (zaharkitua)" - -#~ msgid "Activity Blocks" -#~ msgstr "Jarduera-blokeak" - -#~ msgid "" -#~ "The number of blocks which can fit in the progress bar area in activity " -#~ "mode (Deprecated)" -#~ msgstr "" -#~ "Progresio-barraren arean jarduera-moduan doi daitezkeen blokeen kopurua " -#~ "(zaharkitua)" - -#~ msgid "Discrete Blocks" -#~ msgstr "Bloke diskretuak" - -#~ msgid "" -#~ "The number of discrete blocks in a progress bar (when shown in the " -#~ "discrete style)" -#~ msgstr "" -#~ "Progresio-barrako bloke diskretuen kopurua (estilo diskretuan erakusten " -#~ "direnean)" - -#~ msgid "Horizontal adjustment for the text widget" -#~ msgstr "Testu-trepetaren doitze horizontala" - -#~ msgid "Vertical adjustment for the text widget" -#~ msgstr "Testu-trepetaren doitze bertikala" - -#~ msgid "Line Wrap" -#~ msgstr "Lerro-itzulbira" - -#~ msgid "Whether lines are wrapped at widget edges" -#~ msgstr "Lerroak trepetaren ertzetara doitzen diren ala ez adierazten du" - -#~ msgid "Word Wrap" -#~ msgstr "Doitu hitzak" - -#~ msgid "Whether words are wrapped at widget edges" -#~ msgstr "Hitzak trepetaren ertzetara doitzen diren ala ez adierazten du" - -#~ msgid "Tooltips" -#~ msgstr "Argibidea" - -#~ msgid "If the tooltips of the toolbar should be active or not" -#~ msgstr "Tresna-barrako argibideak aktibatuko diren ala ez adierazten du" From 85fe2ce17f7790cb856eba4953d420bb0158f4e0 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Sat, 15 Jan 2011 15:26:12 -0600 Subject: [PATCH 1410/1463] Gtk{List,Tree}Store: Fix GI array annotations --- gtk/gtkliststore.c | 6 +++--- gtk/gtktreestore.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gtk/gtkliststore.c b/gtk/gtkliststore.c index 4d9c1ddb1c..d8ab6be31f 100644 --- a/gtk/gtkliststore.c +++ b/gtk/gtkliststore.c @@ -1533,7 +1533,7 @@ gtk_list_store_reorder_func (GSequenceIter *a, /** * gtk_list_store_reorder: * @store: A #GtkListStore. - * @new_order: an array of integers mapping the new position of each child + * @new_order: (array): an array of integers mapping the new position of each child * to its old position before the re-ordering, * i.e. @new_order[newpos] = oldpos. * @@ -2100,8 +2100,8 @@ gtk_list_store_insert_with_values (GtkListStore *list_store, * @list_store: A #GtkListStore * @iter: (out) (allow-none): An unset #GtkTreeIter to set to the new row, or %NULL. * @position: position to insert the new row - * @columns: an array of column numbers - * @values: an array of GValues + * @columns: (array length=n_values): an array of column numbers + * @values: (array length=n_values): an array of GValues * @n_values: the length of the @columns and @values arrays * * A variant of gtk_list_store_insert_with_values() which diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c index d9a76a9e38..4a4fd81050 100644 --- a/gtk/gtktreestore.c +++ b/gtk/gtktreestore.c @@ -1576,8 +1576,8 @@ gtk_tree_store_insert_with_values (GtkTreeStore *tree_store, * @iter: (out) (allow-none): An unset #GtkTreeIter to set the new row, or %NULL. * @parent: (allow-none): A valid #GtkTreeIter, or %NULL * @position: position to insert the new row - * @columns: an array of column numbers - * @values: an array of GValues + * @columns: (array length=n_values): an array of column numbers + * @values: (array length=n_values): an array of GValues * @n_values: the length of the @columns and @values arrays * * A variant of gtk_tree_store_insert_with_values() which takes @@ -2248,7 +2248,7 @@ gtk_tree_store_reorder_func (gconstpointer a, * gtk_tree_store_reorder: * @tree_store: A #GtkTreeStore. * @parent: A #GtkTreeIter. - * @new_order: an array of integers mapping the new position of each child + * @new_order: (array): an array of integers mapping the new position of each child * to its old position before the re-ordering, * i.e. @new_order[newpos] = oldpos. * From 27e8df0c2c0c7705d69882edad3753b446eb9331 Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Sun, 16 Jan 2011 10:25:22 +0200 Subject: [PATCH 1411/1463] [l10n] Updated Estonian translation --- po-properties/et.po | 109 +++++++++++++++----------------------------- 1 file changed, 38 insertions(+), 71 deletions(-) diff --git a/po-properties/et.po b/po-properties/et.po index f1d87ac4f2..db4028e441 100644 --- a/po-properties/et.po +++ b/po-properties/et.po @@ -16,8 +16,8 @@ msgstr "" "Project-Id-Version: gtk+-properties HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2011-01-10 22:03+0000\n" -"PO-Revision-Date: 2010-10-30 11:45+0300\n" +"POT-Creation-Date: 2011-01-15 05:40+0000\n" +"PO-Revision-Date: 2011-01-15 16:02+0200\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" @@ -68,29 +68,22 @@ msgid "Associated pointer or keyboard with this device" msgstr "" msgid "Input source" -msgstr "" +msgstr "Sisendallikas" msgid "Source type for the device" -msgstr "" +msgstr "Selle seadme sisendallika liik" -#, fuzzy -#| msgid "The model for the icon view" msgid "Input mode for the device" -msgstr "Ikoonivaate mudel" +msgstr "Seadme sisendrežiim" -#, fuzzy -#| msgid "Whether the widget has the input focus" msgid "Whether the device has a cursor" -msgstr "Kas vidin on sisestamisfookuses või mitte" +msgstr "Kas seadmel on kursor või mitte" -#, fuzzy msgid "Whether there is a visible cursor following device motion" -msgstr "Kas ikooni suuruse omadus on määratud või mitte" +msgstr "Kas seadmel on selle liikumist järgiv nähtav kursor või mitte" -#, fuzzy -#| msgid "The number of pages in the document." msgid "Number of axes in the device" -msgstr "Dokumendis olevate lehekülgede arv." +msgstr "Seadme telgede arv" msgid "Display for the device manager" msgstr "" @@ -891,8 +884,6 @@ msgstr "Üksikasjade näitamine" msgid "If TRUE, details are shown" msgstr "Kui märgitud, siis näidatakse üksikasju" -#, fuzzy -#| msgid "Inner Border" msgid "Inner border" msgstr "Sisemine ääris" @@ -901,19 +892,15 @@ msgstr "Sisemine ääris" msgid "Inner border space" msgstr "Sisemine ääris" -#, fuzzy -#| msgid "Vertical padding" msgid "Vertical separation" -msgstr "Püstine polsterdus" +msgstr "" #, fuzzy msgid "Space between day headers and main area" msgstr "Nuppude vahel olev ruum" -#, fuzzy -#| msgid "Horizontal padding" msgid "Horizontal separation" -msgstr "Rõhtne polsterdus" +msgstr "" #, fuzzy msgid "Space between week headers and main area" @@ -1112,10 +1099,8 @@ msgstr "Lahtri taustavärv" msgid "Cell background color as a GdkColor" msgstr "Lahtri taustavärv GdkColor vormingus" -#, fuzzy -#| msgid "Cell background color" msgid "Cell background RGBA color" -msgstr "Lahtri taustavärv" +msgstr "Lahtri RGBA-taustavärv" #, fuzzy #| msgid "Cell background color as a GdkColor" @@ -1307,15 +1292,11 @@ msgstr "Taustavärv" msgid "Background color as a GdkColor" msgstr "Taustavärv GdkColor väärtusena" -#, fuzzy -#| msgid "Background color name" msgid "Background color as RGBA" -msgstr "Taustavärvi nimi" +msgstr "Taustavärv RGBA vormingus" -#, fuzzy -#| msgid "Background color as a GdkColor" msgid "Background color as a GdkRGBA" -msgstr "Taustavärv GdkColor väärtusena" +msgstr "Taustavärv GdkRGBA väärtusena" msgid "Foreground color name" msgstr "Esiplaanivärvi nimi" @@ -1329,15 +1310,11 @@ msgstr "Esiplaanivärv" msgid "Foreground color as a GdkColor" msgstr "Esiplaanivärv GdkColor väärtusena" -#, fuzzy -#| msgid "Foreground color name" msgid "Foreground color as RGBA" -msgstr "Esiplaanivärvi nimi" +msgstr "Esiplaanivärv RGBA vormingus" -#, fuzzy -#| msgid "Foreground color as a GdkColor" msgid "Foreground color as a GdkRGBA" -msgstr "Esiplaanivärv GdkColor väärtusena" +msgstr "Esiplaanivärv GdkRGBA väärtusena" msgid "Editable" msgstr "Muudetav" @@ -1585,10 +1562,8 @@ msgstr "Näidiku suurus" msgid "Size of check or radio indicator" msgstr "Märkeruudu või raadionäidiku suurus" -#, fuzzy -#| msgid "Background color" msgid "Background RGBA color" -msgstr "Taustavärv" +msgstr "RGBA-taustavärv" msgid "CellView model" msgstr "LahtriVaate (CellView) mudel" @@ -1677,15 +1652,11 @@ msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "Läbipaistvuse tase (0 - täiesti läbipaistev, 65535 - täiesti läbipaistmatu)" -#, fuzzy -#| msgid "Current Color" msgid "Current RGBA Color" -msgstr "Praegune värvus" +msgstr "Praegune RGBA-värvus" -#, fuzzy -#| msgid "The selected color" msgid "The selected RGBA color" -msgstr "Valitud värvus" +msgstr "Valitud RGBA-värvus" msgid "Has Opacity Control" msgstr "Koos katvuse määramisega" @@ -1707,15 +1678,11 @@ msgstr "" "Praegune katvuse väärtus (0 on täiesti läbipaistev, 65535 on täiesti " "läbipaistmatu)" -#, fuzzy -#| msgid "Current Alpha" msgid "Current RGBA" -msgstr "Praegune läbipaistvus" +msgstr "Praegune RGBA" -#, fuzzy -#| msgid "The current color" msgid "The current RGBA color" -msgstr "Praegune värvus" +msgstr "Praegune RGBA-värvus" msgid "Color Selection" msgstr "Värvuse valik" @@ -2530,10 +2497,8 @@ msgstr "" msgid "Top attachment" msgstr "" -#, fuzzy -#| msgid "The padding to insert at the top of the widget." msgid "The row number to attach the top side of a child widget to" -msgstr "Vidina ülaosale lisatav polsterdus." +msgstr "" msgid "Width" msgstr "Laius" @@ -2644,10 +2609,8 @@ msgstr "Ääris" msgid "Space which is inserted at the edges of the icon view" msgstr "Ikoonivaate servadele lisatav ruum" -#, fuzzy -#| msgid "Orientation" msgid "Item Orientation" -msgstr "Asend" +msgstr "" msgid "" "How the text and icon of each item are positioned relative to each other" @@ -2665,10 +2628,8 @@ msgstr "Vihjeveerg" msgid "The column in the model containing the tooltip texts for the items" msgstr "Mudelis asuv veerg, mis sisaldab kirjete tekstilisi vihjeid" -#, fuzzy -#| msgid "Bottom Padding" msgid "Item Padding" -msgstr "Alumine polsterdus" +msgstr "" msgid "Padding around icon view items" msgstr "" @@ -2882,7 +2843,7 @@ msgid "Style of bevel around the menubar" msgstr "" msgid "Internal padding" -msgstr "Sisemine polsterdus" +msgstr "Sisepolsterdus" msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Äärise ruum menüüriba varju ja menüükirjete vahel" @@ -3750,6 +3711,16 @@ msgstr "" msgid "The fill level." msgstr "" +#, fuzzy +#| msgid "Digits" +msgid "Round Digits" +msgstr "Komakohti" + +#, fuzzy +#| msgid "The number of pages in the document." +msgid "The number of digits to round the value to." +msgstr "Dokumendis olevate lehekülgede arv." + msgid "Slider Width" msgstr "Liuguri laius" @@ -4656,7 +4627,7 @@ msgid "Options specifying the vertical behaviour of the child" msgstr "" msgid "Horizontal padding" -msgstr "Rõhtne polsterdus" +msgstr "Rõhtpolsterdus" msgid "" "Extra space to put between the child and its left and right neighbors, in " @@ -4666,7 +4637,7 @@ msgstr "" "hulk pikslites" msgid "Vertical padding" -msgstr "Püstine polsterdus" +msgstr "Püstpolsterdus" msgid "" "Extra space to put between the child and its upper and lower neighbors, in " @@ -5666,10 +5637,8 @@ msgstr "Ääris" msgid "Pixels of extra space on all four sides" msgstr "" -#, fuzzy -#| msgid "Horizontal padding" msgid "Horizontal Expand" -msgstr "Rõhtne polsterdus" +msgstr "" #, fuzzy #| msgid "Whether the widget has the input focus" @@ -5686,10 +5655,8 @@ msgstr "Rõhtjoondus" msgid "Whether to use the hexpand property" msgstr "Kas tekst on läbi kriipsutatud või mitte" -#, fuzzy -#| msgid "Vertical padding" msgid "Vertical Expand" -msgstr "Püstine polsterdus" +msgstr "" #, fuzzy #| msgid "Whether the widget is visible" From f793626a530a17fa89b20ae973d754f0f3d6985e Mon Sep 17 00:00:00 2001 From: Ivar Smolin Date: Sun, 16 Jan 2011 10:25:57 +0200 Subject: [PATCH 1412/1463] [l10n] Updated Estonian translation --- po/et.po | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/po/et.po b/po/et.po index 66ebd5031c..77fac01f4b 100644 --- a/po/et.po +++ b/po/et.po @@ -16,8 +16,8 @@ msgstr "" "Project-Id-Version: gtk+ MASTER\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2011-01-05 14:44+0000\n" -"PO-Revision-Date: 2011-01-05 17:06+0200\n" +"POT-Creation-Date: 2011-01-15 11:09+0000\n" +"PO-Revision-Date: 2011-01-15 15:48+0200\n" "Last-Translator: Ivar Smolin \n" "Language-Team: Estonian \n" "MIME-Version: 1.0\n" @@ -382,7 +382,7 @@ msgstr "Rakendust pole võimalik käivitada" #, c-format msgid "Could not find '%s'" -msgstr "" +msgstr "Rakendust \"%s\" pole võimalik leida" msgid "Could not find application" msgstr "Rakendust pole võimalik leida" @@ -1199,6 +1199,14 @@ msgstr "Protsessi PID-iga %d pole võimalik lõpetada: %s" msgid "Page %u" msgstr "Lehekülg %u" +#. Translators: the format here is used to build the string that will be rendered +#. * in the number emblem. +#. +#, c-format +msgctxt "Number format" +msgid "%d" +msgstr "%d" + msgid "Not a valid page setup file" msgstr "Pole korrektne lehekülje sätete fail" From 4a5c435e9a0906220060439db5e8b83ea1d04cb2 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 16 Jan 2011 18:15:07 +0900 Subject: [PATCH 1413/1463] Plugging memory leak in GtkCellArea (free ->style_detail at finalize time). --- gtk/gtkcellarea.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c index b9e74ff34b..2175f5078e 100644 --- a/gtk/gtkcellarea.c +++ b/gtk/gtkcellarea.c @@ -905,6 +905,7 @@ gtk_cell_area_finalize (GObject *object) g_hash_table_destroy (priv->focus_siblings); g_free (priv->current_path); + g_free (priv->style_detail); G_OBJECT_CLASS (gtk_cell_area_parent_class)->finalize (object); } From c35fb706bddd5e76dfec2964d67f3aa1ba5a169b Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 16 Jan 2011 20:17:52 +0900 Subject: [PATCH 1414/1463] Plugged memory leak in gtk_style_finalize (destroy the ->background[] patterns). --- gtk/gtkstyle.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gtk/gtkstyle.c b/gtk/gtkstyle.c index f9abf8d9c3..9fd3bfbe6f 100644 --- a/gtk/gtkstyle.c +++ b/gtk/gtkstyle.c @@ -513,6 +513,7 @@ gtk_style_finalize (GObject *object) { GtkStyle *style = GTK_STYLE (object); GtkStylePrivate *priv = GTK_STYLE_GET_PRIVATE (style); + gint i; g_return_if_fail (style->attach_count == 0); @@ -559,6 +560,12 @@ gtk_style_finalize (GObject *object) g_object_unref (priv->context); } + for (i = 0; i < 5; i++) + { + if (style->background[i]) + cairo_pattern_destroy (style->background[i]); + } + G_OBJECT_CLASS (gtk_style_parent_class)->finalize (object); } From 9438107bff6490e4105a515750447b8d99f22cdb Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 16 Jan 2011 20:52:43 +0900 Subject: [PATCH 1415/1463] Plugged leak in gtkcssprovider.c SelectorStyleInfo structs were never freed. --- gtk/gtkcssprovider.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 20206ce490..f154d162f9 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -970,6 +970,8 @@ selector_style_info_free (SelectorStyleInfo *info) if (info->path) selector_path_unref (info->path); + + g_slice_free (SelectorStyleInfo, info); } static void From a530f88234922529c4747c3b972f8ce7e25db4c5 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 16 Jan 2011 21:14:00 +0900 Subject: [PATCH 1416/1463] Plugged leaking PangoFontDescriptions in gtk_modifier_style_set_font(). --- gtk/gtkmodifierstyle.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gtk/gtkmodifierstyle.c b/gtk/gtkmodifierstyle.c index 2cbee61b39..6b2b9a7eb7 100644 --- a/gtk/gtkmodifierstyle.c +++ b/gtk/gtkmodifierstyle.c @@ -221,7 +221,12 @@ gtk_modifier_style_set_font (GtkModifierStyle *style, if ((!old_font && !font_desc) || (old_font && font_desc && pango_font_description_equal (old_font, font_desc))) - return; + { + if (old_font) + pango_font_description_free (old_font); + + return; + } if (font_desc) gtk_style_properties_set (priv->style, 0, @@ -230,6 +235,9 @@ gtk_modifier_style_set_font (GtkModifierStyle *style, else gtk_style_properties_unset_property (priv->style, "font", 0); + if (old_font) + pango_font_description_free (old_font); + g_signal_emit (style, signals[CHANGED], 0); } From d9ebdb7610e147395b1cb08d128a7c4d93ffb4bb Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Sun, 16 Jan 2011 22:47:12 +0900 Subject: [PATCH 1417/1463] Plugged memory leak in gdk_x11_device_manager_xi2_list_devices. This was simply a misplaced 'g_list_copy()'. --- gdk/x11/gdkdevicemanager-xi2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c index 465099f577..c7e8f85565 100644 --- a/gdk/x11/gdkdevicemanager-xi2.c +++ b/gdk/x11/gdkdevicemanager-xi2.c @@ -496,7 +496,7 @@ gdk_x11_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, switch (type) { case GDK_DEVICE_TYPE_MASTER: - list = device_manager_xi2->master_devices; + list = g_list_copy (device_manager_xi2->master_devices); break; case GDK_DEVICE_TYPE_SLAVE: case GDK_DEVICE_TYPE_FLOATING: @@ -519,7 +519,7 @@ gdk_x11_device_manager_xi2_list_devices (GdkDeviceManager *device_manager, g_assert_not_reached (); } - return g_list_copy (list); + return list; } static GdkDevice * From 6893aa9c257ee68dd612dd844b651340111bcb6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=20Di=C3=A9guez?= Date: Sun, 16 Jan 2011 17:14:23 +0100 Subject: [PATCH 1418/1463] Updated Galician translations --- po-properties/gl.po | 372 +++++++++++++++++++++++--------------------- po/gl.po | 223 +++++++++++++------------- 2 files changed, 307 insertions(+), 288 deletions(-) diff --git a/po-properties/gl.po b/po-properties/gl.po index aacc74a2b1..4317123ce3 100644 --- a/po-properties/gl.po +++ b/po-properties/gl.po @@ -24,7 +24,7 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-properties-gl-77816____.merged\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-14 16:46+0100\n" +"POT-Creation-Date: 2011-01-16 17:12+0100\n" "PO-Revision-Date: 2011-01-14 16:48+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" @@ -1582,7 +1582,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "O aliñamento vertical do texto, desde 0 (superior) até 1 (inferior)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:423 +#: ../gtk/gtkrange.c:424 msgid "Inverted" msgstr "Invertido" @@ -1590,7 +1590,7 @@ msgstr "Invertido" msgid "Invert the direction in which the progress bar grows" msgstr "Inverter a dirección na que crece a barra de progreso" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:416 #: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Axuste" @@ -1665,17 +1665,17 @@ msgid "Whether to keep all text in a single paragraph" msgstr "Indica se debe manterse ou non todo o texto nun só parágrafo" #: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 -#: ../gtk/gtktexttag.c:180 +#: ../gtk/gtktexttag.c:196 msgid "Background color name" msgstr "Nome da cor de fondo" #: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 -#: ../gtk/gtktexttag.c:181 +#: ../gtk/gtktexttag.c:197 msgid "Background color as a string" msgstr "Cor de fondo como unha cadea" #: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 -#: ../gtk/gtktexttag.c:188 +#: ../gtk/gtktexttag.c:204 msgid "Background color" msgstr "Cor de fondo" @@ -1691,15 +1691,15 @@ msgstr "Nome do cor de fondo como RGBA" msgid "Background color as a GdkRGBA" msgstr "Cor de fondo como GdkRBGA" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:220 msgid "Foreground color name" msgstr "Nome da cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:221 msgid "Foreground color as a string" msgstr "Cor de primeiro plano como unha cadea" -#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:228 #: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Cor de primeiro plano" @@ -1717,73 +1717,73 @@ msgid "Foreground color as a GdkRGBA" msgstr "Cor de primeiro plano como GdkRGBA" #: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 -#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktextview.c:686 msgid "Editable" msgstr "Editábel" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 -#: ../gtk/gtktextview.c:686 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:246 +#: ../gtk/gtktextview.c:687 msgid "Whether the text can be modified by the user" msgstr "Indica se o usuario pode modificar o texto" #: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 -#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 +#: ../gtk/gtktexttag.c:261 ../gtk/gtktexttag.c:269 msgid "Font" msgstr "Tipo de letra" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:262 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "" "Descrición do tipo de letra como unha cadea, por exemplo \"Sans Italic 12\"" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:270 msgid "Font description as a PangoFontDescription struct" msgstr "Descrición do tipo de letra como unha estrutura PangoFontDescription" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:277 msgid "Font family" msgstr "Familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:278 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "" "Nome da familia do tipo de letra, por exemplo Sans, Helvética, Times ou " "Monospace" #: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 -#: ../gtk/gtktexttag.c:269 +#: ../gtk/gtktexttag.c:285 msgid "Font style" msgstr "Estilo do tipo de letra" #: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 -#: ../gtk/gtktexttag.c:278 +#: ../gtk/gtktexttag.c:294 msgid "Font variant" msgstr "Variante do tipo de letra" #: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 -#: ../gtk/gtktexttag.c:287 +#: ../gtk/gtktexttag.c:303 msgid "Font weight" msgstr "Grosor do tipo de letra" #: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 -#: ../gtk/gtktexttag.c:298 +#: ../gtk/gtktexttag.c:314 msgid "Font stretch" msgstr "Expandir o tipo de letra" #: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 -#: ../gtk/gtktexttag.c:307 +#: ../gtk/gtktexttag.c:323 msgid "Font size" msgstr "Tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:343 msgid "Font points" msgstr "Puntos do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:344 msgid "Font size in points" msgstr "Tamaño do tipo de letra en puntos" -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:333 msgid "Font scale" msgstr "Escala do tipo de letra" @@ -1791,7 +1791,7 @@ msgstr "Escala do tipo de letra" msgid "Font scaling factor" msgstr "Factor de escalado do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:412 msgid "Rise" msgstr "Elevación" @@ -1802,23 +1802,23 @@ msgstr "" "Desprazamento do texto sobre a liña base (por debaixo da liña base se a " "elevación é negativa)" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:452 msgid "Strikethrough" msgstr "Riscado" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:453 msgid "Whether to strike through the text" msgstr "Indica se se risca o texto" -#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:460 msgid "Underline" msgstr "Subliñado" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:461 msgid "Style of underline for this text" msgstr "Estilo de subliñado para este texto" -#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:372 msgid "Language" msgstr "Idioma" @@ -1862,7 +1862,7 @@ msgstr "Largura máxima en caracteres" msgid "The maximum width of the cell, in characters" msgstr "A largura máxima da cela, en caracteres" -#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:469 msgid "Wrap mode" msgstr "Modo de axuste" @@ -1891,116 +1891,116 @@ msgid "How to align the lines" msgstr "Como aliñar as liñas" #: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 -#: ../gtk/gtktexttag.c:542 +#: ../gtk/gtktexttag.c:558 msgid "Background set" msgstr "Definición do fondo" #: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 -#: ../gtk/gtktexttag.c:543 +#: ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the background color" msgstr "Indica se esta marca afecta á cor de fondo" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:566 msgid "Foreground set" msgstr "Definición do primeiro plano" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the foreground color" msgstr "Indica se esta marca afecta á cor de primeiro plano" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:570 msgid "Editability set" msgstr "Definición da editabilidade" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects text editability" msgstr "Indica se esta marca afecta á editabilidade do texto" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:574 msgid "Font family set" msgstr "Definición da familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font family" msgstr "Indica se esta marca afecta á familia do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:578 msgid "Font style set" msgstr "Definición do estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font style" msgstr "Indica se esta marca afecta ao estilo do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:582 msgid "Font variant set" msgstr "Definición da variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:583 msgid "Whether this tag affects the font variant" msgstr "Indica se esta marca afecta á variante do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:586 msgid "Font weight set" msgstr "Definición do grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:587 msgid "Whether this tag affects the font weight" msgstr "Indica se esta marca afecta ao grosor do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:590 msgid "Font stretch set" msgstr "Definición da expansión do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the font stretch" msgstr "Indica se esta marca afecta á expansión do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:594 msgid "Font size set" msgstr "Definición do tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the font size" msgstr "Indica se esta marca afecta ao tamaño do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:598 msgid "Font scale set" msgstr "Definición da escala do tipo de letra" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:599 msgid "Whether this tag scales the font size by a factor" msgstr "Indica se esta etiqueta escala o tamaño do tipo de letra por un factor" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:618 msgid "Rise set" msgstr "Definición da elevación" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects the rise" msgstr "Indica se esta marca afecta á elevación" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:634 msgid "Strikethrough set" msgstr "Definición do riscado" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:635 msgid "Whether this tag affects strikethrough" msgstr "Indica se esta marca afecta ao riscado" -#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:642 msgid "Underline set" msgstr "Definición do subliñado" -#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:643 msgid "Whether this tag affects underlining" msgstr "Indica se esta marca afecta ao subliñado" -#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:606 msgid "Language set" msgstr "Definición do idioma" -#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:607 msgid "Whether this tag affects the language the text is rendered as" msgstr "Indica se esta marca afecta ao idioma en que se renderiza o texto" @@ -2156,7 +2156,7 @@ msgid "Whether to give the color an alpha value" msgstr "Indica se debe dárselle ou non un valor alfa á cor" #: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:141 #: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Título" @@ -2602,7 +2602,7 @@ msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "" "Que tipo de sombra debuxar ao redor da entrada cando has-frame está activado" -#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:766 msgid "Overwrite mode" msgstr "Modo de sobrescritura" @@ -2792,11 +2792,11 @@ msgstr "Marcación da indicación da icona primaria" msgid "Secondary icon tooltip markup" msgstr "Marcación da indicación da icona secundaria" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:794 msgid "IM module" msgstr "Módulo MI" -#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:795 msgid "Which IM module should be used" msgstr "O módulo de MI que se debería usar" @@ -3566,7 +3566,7 @@ msgstr "O texto da etiqueta" msgid "A list of style attributes to apply to the text of the label" msgstr "Unha lista de atributos de estilos para aplicar ao texto da etiqueta" -#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:353 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "Xustificación" @@ -3914,11 +3914,11 @@ msgstr "Largura en caracteres" msgid "The minimum desired width of the menu item in characters" msgstr "A largura mínima desexada do elemento de menú en caracteres" -#: ../gtk/gtkmenushell.c:363 +#: ../gtk/gtkmenushell.c:420 msgid "Take Focus" msgstr "Obtén o foco" -#: ../gtk/gtkmenushell.c:364 +#: ../gtk/gtkmenushell.c:421 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Un booleano que determina se o menú captura o foco do teclado" @@ -4425,36 +4425,36 @@ msgstr "Opción de orixe" msgid "The PrinterOption backing this widget" msgstr "A PrinterOption que serve de apoio para este widget" -#: ../gtk/gtkprintjob.c:127 +#: ../gtk/gtkprintjob.c:142 msgid "Title of the print job" msgstr "Título do traballo de impresión" -#: ../gtk/gtkprintjob.c:135 +#: ../gtk/gtkprintjob.c:150 msgid "Printer" msgstr "Impresora" -#: ../gtk/gtkprintjob.c:136 +#: ../gtk/gtkprintjob.c:151 msgid "Printer to print the job to" msgstr "Impresora na que imprimir o traballo" -#: ../gtk/gtkprintjob.c:144 +#: ../gtk/gtkprintjob.c:159 msgid "Settings" msgstr "Configuracións" -#: ../gtk/gtkprintjob.c:145 +#: ../gtk/gtkprintjob.c:160 msgid "Printer settings" msgstr "Configuracións da impresora" -#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintjob.c:168 ../gtk/gtkprintjob.c:169 #: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Configuración da páxina" -#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 +#: ../gtk/gtkprintjob.c:177 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Seguimento do estado de impresión" -#: ../gtk/gtkprintjob.c:163 +#: ../gtk/gtkprintjob.c:178 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4774,21 +4774,21 @@ msgstr "O elemento do menú de opción a cuxo grupo pertence este widget." msgid "The radio tool button whose group this button belongs to." msgstr "O botón de ferramenta de opción a cuxo grupo pertence este botón." -#: ../gtk/gtkrange.c:416 +#: ../gtk/gtkrange.c:417 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "O GtkAdjustment que contén o valor actual deste intervalo de obxectos" -#: ../gtk/gtkrange.c:424 +#: ../gtk/gtkrange.c:425 msgid "Invert direction slider moves to increase range value" msgstr "" "Inverter a dirección en que se move o control desprazábel para incrementar o " "valor do intervalo" -#: ../gtk/gtkrange.c:431 +#: ../gtk/gtkrange.c:432 msgid "Lower stepper sensitivity" msgstr "Sensibilidade de paso inferior" -#: ../gtk/gtkrange.c:432 +#: ../gtk/gtkrange.c:433 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4796,11 +4796,11 @@ msgstr "" "A política de sensibilidade para o paso que apunta ao lado máis baixo do " "axuste" -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:441 msgid "Upper stepper sensitivity" msgstr "Sensibilidade do paso superior" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:442 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4808,89 +4808,99 @@ msgstr "" "A política de sensibilidade para o paso que apunta ao lado máis alto do " "axuste" -#: ../gtk/gtkrange.c:458 +#: ../gtk/gtkrange.c:459 msgid "Show Fill Level" msgstr "Mostrar nivel de recheo" -#: ../gtk/gtkrange.c:459 +#: ../gtk/gtkrange.c:460 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" "Indica se se debe mostrar o indicador gráfico de nivel de recheo mentres se " "enche." -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:476 msgid "Restrict to Fill Level" msgstr "Restrinxir ao nivel de recheo" -#: ../gtk/gtkrange.c:476 +#: ../gtk/gtkrange.c:477 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Indica se se debe restrinxir o bordo superior ao nivel de recheo." -#: ../gtk/gtkrange.c:491 +#: ../gtk/gtkrange.c:492 msgid "Fill Level" msgstr "Nivel de recheo" -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:493 msgid "The fill level." msgstr "O nivel de recheo." -#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:786 +#: ../gtk/gtkrange.c:510 +#, fuzzy +msgid "Round Digits" +msgstr "Díxitos" + +#: ../gtk/gtkrange.c:511 +#, fuzzy +msgid "The number of digits to round the value to." +msgstr "O número de páxinas do documento." + +#: ../gtk/gtkrange.c:519 ../gtk/gtkswitch.c:786 msgid "Slider Width" msgstr "Largura do control desprazábel" -#: ../gtk/gtkrange.c:501 +#: ../gtk/gtkrange.c:520 msgid "Width of scrollbar or scale thumb" msgstr "Largura da barra de desprazamento ou do indicador de escala" -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:527 msgid "Trough Border" msgstr "Bordo do canal" -#: ../gtk/gtkrange.c:509 +#: ../gtk/gtkrange.c:528 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "" "Espazamento entre o indicador de escala ou os pasos e o bisel do canal " "exterior" -#: ../gtk/gtkrange.c:516 +#: ../gtk/gtkrange.c:535 msgid "Stepper Size" msgstr "Tamaño do paso" -#: ../gtk/gtkrange.c:517 +#: ../gtk/gtkrange.c:536 msgid "Length of step buttons at ends" msgstr "Lonxitude dos botóns de paso nos extremos" -#: ../gtk/gtkrange.c:532 +#: ../gtk/gtkrange.c:551 msgid "Stepper Spacing" msgstr "Espazamento do paso" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:552 msgid "Spacing between step buttons and thumb" msgstr "Espazamento entre os botóns de paso e o indicador de escala" -#: ../gtk/gtkrange.c:540 +#: ../gtk/gtkrange.c:559 msgid "Arrow X Displacement" msgstr "Desprazamento X da frecha" -#: ../gtk/gtkrange.c:541 +#: ../gtk/gtkrange.c:560 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "Até onde se move a frecha na dirección X cando se solta o botón" -#: ../gtk/gtkrange.c:548 +#: ../gtk/gtkrange.c:567 msgid "Arrow Y Displacement" msgstr "Desprazamento Y da frecha" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:568 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "Até onde se move a frecha na dirección Y cando se solta o botón" -#: ../gtk/gtkrange.c:567 +#: ../gtk/gtkrange.c:586 msgid "Trough Under Steppers" msgstr "Canal baixo os pasos" -#: ../gtk/gtkrange.c:568 +#: ../gtk/gtkrange.c:587 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4898,11 +4908,11 @@ msgstr "" "Indica se se debuxa para toda a lonxitude do intervalo ou se exclúe os pasos " "e o espazamento" -#: ../gtk/gtkrange.c:581 +#: ../gtk/gtkrange.c:600 msgid "Arrow scaling" msgstr "Escalado de frecha" -#: ../gtk/gtkrange.c:582 +#: ../gtk/gtkrange.c:601 msgid "Arrow scaling with regard to scroll button size" msgstr "O escalado da frecha con atención ao tamaño do botón de desprazamento" @@ -6009,7 +6019,7 @@ msgstr "O GdkScreen asociado" msgid "Direction" msgstr "Enderezo" -#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:220 +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:236 msgid "Text direction" msgstr "Dirección do texto" @@ -6163,24 +6173,24 @@ msgstr "Gravidade esquerda" msgid "Whether the mark has left gravity" msgstr "Indica se esta marca ten gravidade esquerda" -#: ../gtk/gtktexttag.c:170 +#: ../gtk/gtktexttag.c:186 msgid "Tag name" msgstr "Nome de etiqueta" -#: ../gtk/gtktexttag.c:171 +#: ../gtk/gtktexttag.c:187 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "" "Nome usado para referirse á etiqueta do texto. NULL para etiquetas anónimas" -#: ../gtk/gtktexttag.c:189 +#: ../gtk/gtktexttag.c:205 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Cor de fondo como unha (posibelmente non asignada) GdkColor" -#: ../gtk/gtktexttag.c:196 +#: ../gtk/gtktexttag.c:212 msgid "Background full height" msgstr "Altura completa do fondo" -#: ../gtk/gtktexttag.c:197 +#: ../gtk/gtktexttag.c:213 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -6188,28 +6198,28 @@ msgstr "" "Indica se a cor de fondo enche a altura completa da liña ou só a altura dos " "caracteres etiquetados" -#: ../gtk/gtktexttag.c:213 +#: ../gtk/gtktexttag.c:229 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Cor de primeiro plano como unha (posibelmente non asignada) GdkColor" -#: ../gtk/gtktexttag.c:221 +#: ../gtk/gtktexttag.c:237 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "" "Dirección do texto, por exemplo de dereita a esquerda ou de esquerda a " "dereita" -#: ../gtk/gtktexttag.c:270 +#: ../gtk/gtktexttag.c:286 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "" "Estilo do tipo de letra coma un PangoStyle, por exemplo PANGO_STYLE_ITALIC" -#: ../gtk/gtktexttag.c:279 +#: ../gtk/gtktexttag.c:295 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "" "Variante do tipo de letra coma unha PangoVariant, por exemplo " "PANGO_VARIANT_SMALL_CAPS" -#: ../gtk/gtktexttag.c:288 +#: ../gtk/gtktexttag.c:304 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -6217,17 +6227,17 @@ msgstr "" "Grosor do tipo de letra como un enteiro. Vexa os valores predefinidas en " "PangoWeight; por exemplo PANGO_WEIGHT_BOLD" -#: ../gtk/gtktexttag.c:299 +#: ../gtk/gtktexttag.c:315 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "" "Tipo de letra axustada coma un PangoStretch, por exemplo " "PANGO_STRETCH_CONDENSED" -#: ../gtk/gtktexttag.c:308 +#: ../gtk/gtktexttag.c:324 msgid "Font size in Pango units" msgstr "Tamaño do tipo de letra en unidades Pango" -#: ../gtk/gtktexttag.c:318 +#: ../gtk/gtktexttag.c:334 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -6238,11 +6248,11 @@ msgstr "" "etc., polo que é recomendábel. O Pango define previamente algunhas escalas " "tales como PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 +#: ../gtk/gtktexttag.c:354 ../gtk/gtktextview.c:704 msgid "Left, right, or center justification" msgstr "Xustificación á esquerda, á dereita ou ao centro" -#: ../gtk/gtktexttag.c:357 +#: ../gtk/gtktexttag.c:373 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -6251,31 +6261,31 @@ msgstr "" "como unha axuda ao renderizar o texto. Se non se estabelece este parámetro " "usarase como predefinido o máis apropiado." -#: ../gtk/gtktexttag.c:364 +#: ../gtk/gtktexttag.c:380 msgid "Left margin" msgstr "Marxe esquerda" -#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 +#: ../gtk/gtktexttag.c:381 ../gtk/gtktextview.c:713 msgid "Width of the left margin in pixels" msgstr "Largura da marxe esquerda en píxeles" -#: ../gtk/gtktexttag.c:374 +#: ../gtk/gtktexttag.c:390 msgid "Right margin" msgstr "Marxe dereita" -#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 +#: ../gtk/gtktexttag.c:391 ../gtk/gtktextview.c:723 msgid "Width of the right margin in pixels" msgstr "Largura da marxe dereita en píxeles" -#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 +#: ../gtk/gtktexttag.c:401 ../gtk/gtktextview.c:732 msgid "Indent" msgstr "Sangría" -#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 +#: ../gtk/gtktexttag.c:402 ../gtk/gtktextview.c:733 msgid "Amount to indent the paragraph, in pixels" msgstr "Cantidade en píxeles para a sangría de parágrafo" -#: ../gtk/gtktexttag.c:397 +#: ../gtk/gtktexttag.c:413 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -6283,228 +6293,228 @@ msgstr "" "Desprazamento do texto sobre a liña base (por debaixo da liña base se a " "elevación é negativa) en unidades Pango" -#: ../gtk/gtktexttag.c:406 +#: ../gtk/gtktexttag.c:422 msgid "Pixels above lines" msgstr "Píxeles encima das liñas" -#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 +#: ../gtk/gtktexttag.c:423 ../gtk/gtktextview.c:657 msgid "Pixels of blank space above paragraphs" msgstr "Píxeles de espazo en branco encima do parágrafos" -#: ../gtk/gtktexttag.c:416 +#: ../gtk/gtktexttag.c:432 msgid "Pixels below lines" msgstr "Píxeles debaixo das liñas" -#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 +#: ../gtk/gtktexttag.c:433 ../gtk/gtktextview.c:667 msgid "Pixels of blank space below paragraphs" msgstr "Píxeles de espazo en branco debaixo dos parágrafos" -#: ../gtk/gtktexttag.c:426 +#: ../gtk/gtktexttag.c:442 msgid "Pixels inside wrap" msgstr "Píxeles dentro do axuste" -#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 +#: ../gtk/gtktexttag.c:443 ../gtk/gtktextview.c:677 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Píxeles de espazo en branco entre as liñas axustadas nun parágrafo" -#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 +#: ../gtk/gtktexttag.c:470 ../gtk/gtktextview.c:695 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Indica se nunca se axustan as liñas aos límites de palabra ou aos límites de " "carácter" -#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 +#: ../gtk/gtktexttag.c:479 ../gtk/gtktextview.c:742 msgid "Tabs" msgstr "Separadores" -#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 +#: ../gtk/gtktexttag.c:480 ../gtk/gtktextview.c:743 msgid "Custom tabs for this text" msgstr "Separadores personalizados para este texto" -#: ../gtk/gtktexttag.c:482 +#: ../gtk/gtktexttag.c:498 msgid "Invisible" msgstr "Invisíbel" -#: ../gtk/gtktexttag.c:483 +#: ../gtk/gtktexttag.c:499 msgid "Whether this text is hidden." msgstr "Indica se este texto está oculto." -#: ../gtk/gtktexttag.c:497 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color name" msgstr "Nome da cor de fondo do parágrafo" -#: ../gtk/gtktexttag.c:498 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a string" msgstr "Nome da cor de fondo do parágrafo como unha cadea" -#: ../gtk/gtktexttag.c:513 +#: ../gtk/gtktexttag.c:529 msgid "Paragraph background color" msgstr "Cor de fondo do parágrafo" -#: ../gtk/gtktexttag.c:514 +#: ../gtk/gtktexttag.c:530 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "" "Cor de fondo do parágrafo como unha GdkColor (posibelmente non asignada)" -#: ../gtk/gtktexttag.c:532 +#: ../gtk/gtktexttag.c:548 msgid "Margin Accumulates" msgstr "Acumulación de marxes" -#: ../gtk/gtktexttag.c:533 +#: ../gtk/gtktexttag.c:549 msgid "Whether left and right margins accumulate." msgstr "Indica se as marxes esquerda e dereita son acumulativas." -#: ../gtk/gtktexttag.c:546 +#: ../gtk/gtktexttag.c:562 msgid "Background full height set" msgstr "Definición da altura completa do fondo" -#: ../gtk/gtktexttag.c:547 +#: ../gtk/gtktexttag.c:563 msgid "Whether this tag affects background height" msgstr "Indica se esta marca afecta á altura do fondo" -#: ../gtk/gtktexttag.c:586 +#: ../gtk/gtktexttag.c:602 msgid "Justification set" msgstr "Definición da xustificación" -#: ../gtk/gtktexttag.c:587 +#: ../gtk/gtktexttag.c:603 msgid "Whether this tag affects paragraph justification" msgstr "Indica se esta marca afecta á xustificación do parágrafo" -#: ../gtk/gtktexttag.c:594 +#: ../gtk/gtktexttag.c:610 msgid "Left margin set" msgstr "Definición da marxe esquerda" -#: ../gtk/gtktexttag.c:595 +#: ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the left margin" msgstr "Indica se esta marca afecta á marxe esquerda" -#: ../gtk/gtktexttag.c:598 +#: ../gtk/gtktexttag.c:614 msgid "Indent set" msgstr "Definición da sangría" -#: ../gtk/gtktexttag.c:599 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects indentation" msgstr "Indica se esta marca afecta á sangría" -#: ../gtk/gtktexttag.c:606 +#: ../gtk/gtktexttag.c:622 msgid "Pixels above lines set" msgstr "Definición dos píxeles sobre o conxunto de liñas" -#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 +#: ../gtk/gtktexttag.c:623 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects the number of pixels above lines" msgstr "Indica se esta marca afecta a cantidade de píxeles sobre as liñas" -#: ../gtk/gtktexttag.c:610 +#: ../gtk/gtktexttag.c:626 msgid "Pixels below lines set" msgstr "Definición dos píxeles debaixo do conxunto de liñas" -#: ../gtk/gtktexttag.c:614 +#: ../gtk/gtktexttag.c:630 msgid "Pixels inside wrap set" msgstr "Definición dos píxeles dentro do axuste" -#: ../gtk/gtktexttag.c:615 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "" "Indica se esta marca afecta a cantidade de píxeles entre as liñas axustadas" -#: ../gtk/gtktexttag.c:622 +#: ../gtk/gtktexttag.c:638 msgid "Right margin set" msgstr "Definición da marxe dereita" -#: ../gtk/gtktexttag.c:623 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects the right margin" msgstr "Indica se esta marca afecta á marxe dereita" -#: ../gtk/gtktexttag.c:630 +#: ../gtk/gtktexttag.c:646 msgid "Wrap mode set" msgstr "Definición do modo de axuste" -#: ../gtk/gtktexttag.c:631 +#: ../gtk/gtktexttag.c:647 msgid "Whether this tag affects line wrap mode" msgstr "Indica se esta marca afecta ao modo de axuste de liña" -#: ../gtk/gtktexttag.c:634 +#: ../gtk/gtktexttag.c:650 msgid "Tabs set" msgstr "Definición dos separadores" -#: ../gtk/gtktexttag.c:635 +#: ../gtk/gtktexttag.c:651 msgid "Whether this tag affects tabs" msgstr "Indica se esta marca afecta aos separadores" -#: ../gtk/gtktexttag.c:638 +#: ../gtk/gtktexttag.c:654 msgid "Invisible set" msgstr "Definición de invisíbel" -#: ../gtk/gtktexttag.c:639 +#: ../gtk/gtktexttag.c:655 msgid "Whether this tag affects text visibility" msgstr "Indica se esta marca afecta á visibilidade do texto" -#: ../gtk/gtktexttag.c:642 +#: ../gtk/gtktexttag.c:658 msgid "Paragraph background set" msgstr "Definición do fondo de parágrafo" -#: ../gtk/gtktexttag.c:643 +#: ../gtk/gtktexttag.c:659 msgid "Whether this tag affects the paragraph background color" msgstr "Indica se esta etiqueta afecta á cor de fondo de parágrafo" -#: ../gtk/gtktextview.c:655 +#: ../gtk/gtktextview.c:656 msgid "Pixels Above Lines" msgstr "Píxeles encima das liñas" -#: ../gtk/gtktextview.c:665 +#: ../gtk/gtktextview.c:666 msgid "Pixels Below Lines" msgstr "Píxeles debaixo das liñas" -#: ../gtk/gtktextview.c:675 +#: ../gtk/gtktextview.c:676 msgid "Pixels Inside Wrap" msgstr "Píxeles dentro do axuste" -#: ../gtk/gtktextview.c:693 +#: ../gtk/gtktextview.c:694 msgid "Wrap Mode" msgstr "Modo de axuste" -#: ../gtk/gtktextview.c:711 +#: ../gtk/gtktextview.c:712 msgid "Left Margin" msgstr "Marxe esquerda" -#: ../gtk/gtktextview.c:721 +#: ../gtk/gtktextview.c:722 msgid "Right Margin" msgstr "Marxe dereita" -#: ../gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:750 msgid "Cursor Visible" msgstr "Cursor visíbel" -#: ../gtk/gtktextview.c:750 +#: ../gtk/gtktextview.c:751 msgid "If the insertion cursor is shown" msgstr "Se se mostra o cursor de inserción" -#: ../gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:758 msgid "Buffer" msgstr "Búfer" -#: ../gtk/gtktextview.c:758 +#: ../gtk/gtktextview.c:759 msgid "The buffer which is displayed" msgstr "O búfer que se mostra" -#: ../gtk/gtktextview.c:766 +#: ../gtk/gtktextview.c:767 msgid "Whether entered text overwrites existing contents" msgstr "Indica se o texto introducido sobrescribe os contidos existentes" -#: ../gtk/gtktextview.c:773 +#: ../gtk/gtktextview.c:774 msgid "Accepts tab" msgstr "Acepta tabulación" -#: ../gtk/gtktextview.c:774 +#: ../gtk/gtktextview.c:775 msgid "Whether Tab will result in a tab character being entered" msgstr "Indica se o tabulador resultará nun carácter de tabulación introducido" -#: ../gtk/gtktextview.c:809 +#: ../gtk/gtktextview.c:810 msgid "Error underline color" msgstr "Cor de subliñado de erros" -#: ../gtk/gtktextview.c:810 +#: ../gtk/gtktextview.c:811 msgid "Color with which to draw error-indication underlines" msgstr "Cor coa que debuxar o subliñado de indicación de erros" diff --git a/po/gl.po b/po/gl.po index a8ce7cfe42..a96eafa016 100644 --- a/po/gl.po +++ b/po/gl.po @@ -21,8 +21,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+-master-po-gl-77922___.merged\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-06 23:53+0100\n" -"PO-Revision-Date: 2011-01-06 23:57+0100\n" +"POT-Creation-Date: 2011-01-16 17:11+0100\n" +"PO-Revision-Date: 2011-01-16 17:11+0100\n" "Last-Translator: Fran Diéguez \n" "Language-Team: Galician \n" "Language: gl\n" @@ -522,15 +522,15 @@ msgstr "_Abrir" msgid "Default Application" msgstr "Aplicativo predeterminado" -#: ../gtk/gtkappchooserwidget.c:729 +#: ../gtk/gtkappchooserwidget.c:730 msgid "Recommended Applications" msgstr "Aplicativos recomendados" -#: ../gtk/gtkappchooserwidget.c:743 +#: ../gtk/gtkappchooserwidget.c:744 msgid "Related Applications" msgstr "Aplicativos relacionados" -#: ../gtk/gtkappchooserwidget.c:756 +#: ../gtk/gtkappchooserwidget.c:758 msgid "Other Applications" msgstr "Outros aplicativos" @@ -566,7 +566,7 @@ msgstr "Etiqueta non compatíbel: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:885 +#: ../gtk/gtkcalendar.c:871 msgid "calendar:MY" msgstr "calendar:MY" @@ -574,7 +574,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:923 +#: ../gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -583,7 +583,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1903 +#: ../gtk/gtkcalendar.c:1910 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -598,7 +598,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 +#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -614,7 +614,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 +#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -630,7 +630,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2256 +#: ../gtk/gtkcalendar.c:2268 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -656,7 +656,7 @@ msgstr "Incorrecta" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:730 msgid "New accelerator..." msgstr "Tecla rápida nova..." @@ -666,11 +666,11 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "Seleccione unha cor" -#: ../gtk/gtkcolorbutton.c:366 +#: ../gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "Recibiuse un dato de cor incorrecto\n" @@ -797,11 +797,11 @@ msgstr "" msgid "The color you've chosen." msgstr "A cor que seleccionou." -#: ../gtk/gtkcolorsel.c:1444 +#: ../gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "_Gardar a cor aquí" -#: ../gtk/gtkcolorsel.c:1652 +#: ../gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -825,7 +825,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "Xestionar os tamaños personalizados" @@ -878,23 +878,23 @@ msgstr "_Dereito:" msgid "Paper Margins" msgstr "Marxes do papel" -#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 +#: ../gtk/gtkentry.c:8755 ../gtk/gtktextview.c:8228 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 +#: ../gtk/gtkentry.c:8769 ../gtk/gtktextview.c:8242 msgid "_Insert Unicode Control Character" msgstr "_Inserir un carácter de control Unicode" -#: ../gtk/gtkentry.c:10224 +#: ../gtk/gtkentry.c:10173 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Maiús e Bloq Num estás activados" -#: ../gtk/gtkentry.c:10226 +#: ../gtk/gtkentry.c:10175 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:10228 +#: ../gtk/gtkentry.c:10177 msgid "Caps Lock is on" msgstr "Bloq Maiús está activado" @@ -1139,19 +1139,19 @@ msgstr "O atallo %s xa existe" msgid "Shortcut %s does not exist" msgstr "O atallo %s non existe" -#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Xa existe un ficheiro con nome «%s». Quere substituílo?" -#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "O ficheiro xa existe en «%s». Se o substitúe sobrescribirá os seus contidos." -#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Substituír" @@ -1265,24 +1265,24 @@ msgstr "Tipo de letra" msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdefghi ABCDEFGHI" -#: ../gtk/gtkfontsel.c:367 +#: ../gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "_Familia:" -#: ../gtk/gtkfontsel.c:373 +#: ../gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "_Estilo:" -#: ../gtk/gtkfontsel.c:379 +#: ../gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "_Tamaño:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:555 +#: ../gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "_Previsualización:" -#: ../gtk/gtkfontsel.c:1655 +#: ../gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "Selección do tipo de letra" @@ -1487,8 +1487,17 @@ msgstr "Non é posíbel finalizar o proceso co PID %d: %s" msgid "Page %u" msgstr "Páxina %u" -#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 -#: ../gtk/gtkpapersize.c:880 +#. Translators: the format here is used to build the string that will be rendered +#. * in the number emblem. +#. +#: ../gtk/gtknumerableicon.c:481 +#, c-format +msgctxt "Number format" +msgid "%d" +msgstr "%d" + +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:847 +#: ../gtk/gtkpapersize.c:889 msgid "Not a valid page setup file" msgstr "Non é un ficheiro correcto de configuración de páxina" @@ -1515,7 +1524,7 @@ msgstr "" " Superior: %s %s\n" " Inferior: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "Xestionar tamaños personalizados..." @@ -1523,7 +1532,7 @@ msgstr "Xestionar tamaños personalizados..." msgid "_Format for:" msgstr "_Formato para:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "Tamaño de _papel:" @@ -1531,7 +1540,7 @@ msgstr "Tamaño de _papel:" msgid "_Orientation:" msgstr "_Orientación:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "Configuración de páxina" @@ -1703,49 +1712,49 @@ msgstr "O manipulador non é correcto para PrintDlgEx" msgid "Unspecified error" msgstr "Erro non especificado" -#: ../gtk/gtkprintunixdialog.c:619 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Fallou a obtención de información da impresora" -#: ../gtk/gtkprintunixdialog.c:1874 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Obtención de información da impresora..." -#: ../gtk/gtkprintunixdialog.c:2141 +#: ../gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "Impresora" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2151 +#: ../gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "Localización" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2162 +#: ../gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintunixdialog.c:2188 +#: ../gtk/gtkprintunixdialog.c:2194 msgid "Range" msgstr "Intervalo" -#: ../gtk/gtkprintunixdialog.c:2192 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "Tod_as as páxinas" -#: ../gtk/gtkprintunixdialog.c:2199 +#: ../gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "Páxina act_ual" -#: ../gtk/gtkprintunixdialog.c:2209 +#: ../gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "_Selección" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "Páx_inas:" -#: ../gtk/gtkprintunixdialog.c:2219 +#: ../gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1753,28 +1762,28 @@ msgstr "" "Especificar un ou máis intervalos de páxina,\n" " por ex. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2229 +#: ../gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "Páxinas" -#: ../gtk/gtkprintunixdialog.c:2242 +#: ../gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "Copias" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2247 +#: ../gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "Copia_s:" -#: ../gtk/gtkprintunixdialog.c:2265 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "_Ordenar" -#: ../gtk/gtkprintunixdialog.c:2273 +#: ../gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "In_verter" -#: ../gtk/gtkprintunixdialog.c:2293 +#: ../gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "Xeral" @@ -1784,42 +1793,42 @@ msgstr "Xeral" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3039 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "De esquerda a dereita, de arriba a abaixo" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3039 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "De esquerda a dereita, de abaixo a arriba" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3040 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "De dereita a esquerda, de arriba a abaixo" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3040 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "De dereita a esquerda, de abaixo a arriba" -#: ../gtk/gtkprintunixdialog.c:3028 +#: ../gtk/gtkprintunixdialog.c:3041 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "De arriba a abaixo, de esquerda a dereita" -#: ../gtk/gtkprintunixdialog.c:3028 +#: ../gtk/gtkprintunixdialog.c:3041 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "De arriba a abaixo, de dereita a esquerda" -#: ../gtk/gtkprintunixdialog.c:3029 +#: ../gtk/gtkprintunixdialog.c:3042 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "De abaixo a arriba, de esquerda a dereita" -#: ../gtk/gtkprintunixdialog.c:3029 +#: ../gtk/gtkprintunixdialog.c:3042 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "De arriba a abaixo, de esquerda a dereita" @@ -1827,125 +1836,125 @@ msgstr "De arriba a abaixo, de esquerda a dereita" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Ordenación de páxinas" -#: ../gtk/gtkprintunixdialog.c:3062 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "De esquerda a dereita" -#: ../gtk/gtkprintunixdialog.c:3063 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "De dereita a esquerda" -#: ../gtk/gtkprintunixdialog.c:3075 +#: ../gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "De arriba a abaixo" -#: ../gtk/gtkprintunixdialog.c:3076 +#: ../gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "De abaixo a arriba" -#: ../gtk/gtkprintunixdialog.c:3316 +#: ../gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "Disposición" -#: ../gtk/gtkprintunixdialog.c:3320 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "Polos dous _lados:" -#: ../gtk/gtkprintunixdialog.c:3335 +#: ../gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "Pá_xinas por lado:" -#: ../gtk/gtkprintunixdialog.c:3352 +#: ../gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "Or_denación de páxinas:" -#: ../gtk/gtkprintunixdialog.c:3368 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "Imprimir _só:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "Todas as follas" -#: ../gtk/gtkprintunixdialog.c:3384 +#: ../gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "Follas pares" -#: ../gtk/gtkprintunixdialog.c:3385 +#: ../gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "Follas impares" -#: ../gtk/gtkprintunixdialog.c:3388 +#: ../gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "Esc_ala:" -#: ../gtk/gtkprintunixdialog.c:3415 +#: ../gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "Papel" -#: ../gtk/gtkprintunixdialog.c:3419 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "_Tipo de papel:" -#: ../gtk/gtkprintunixdialog.c:3434 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "_Orixe do papel:" -#: ../gtk/gtkprintunixdialog.c:3449 +#: ../gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "_Bandexa de saída:" -#: ../gtk/gtkprintunixdialog.c:3489 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "Or_ientación:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "Vertical" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "Horizontal" -#: ../gtk/gtkprintunixdialog.c:3506 +#: ../gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "Vertical invertido" -#: ../gtk/gtkprintunixdialog.c:3507 +#: ../gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "Horizontal invertido" -#: ../gtk/gtkprintunixdialog.c:3552 +#: ../gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "Detalles do traballo" -#: ../gtk/gtkprintunixdialog.c:3558 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "Pri_oridade:" -#: ../gtk/gtkprintunixdialog.c:3573 +#: ../gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr "Información de _facturación:" -#: ../gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "Imprimir o documento" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3600 +#: ../gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "_Agora" -#: ../gtk/gtkprintunixdialog.c:3611 +#: ../gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "_En:" @@ -1953,7 +1962,7 @@ msgstr "_En:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3617 +#: ../gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1961,68 +1970,68 @@ msgstr "" "Especifique a hora de impresión,\n" "por exemplo 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3627 +#: ../gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "Tempo de impresión" -#: ../gtk/gtkprintunixdialog.c:3643 +#: ../gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "En e_spera" -#: ../gtk/gtkprintunixdialog.c:3644 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" msgstr "Termar do traballo até que sexa explicitamente liberado" -#: ../gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "Engadir páxina de tapa" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3673 +#: ../gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "An_tes:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3691 +#: ../gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "_Despois:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3709 +#: ../gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "Traballo" -#: ../gtk/gtkprintunixdialog.c:3775 +#: ../gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "Avanzado" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" msgstr "Calidade da imaxe" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3817 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "Cor" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3822 +#: ../gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "Finalizando" -#: ../gtk/gtkprintunixdialog.c:3832 +#: ../gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" msgstr "Algunhas das configuracións do diálogo están en conflito" -#: ../gtk/gtkprintunixdialog.c:3855 +#: ../gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "Imprimir" @@ -2654,7 +2663,7 @@ msgstr "Red_ucir" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553 msgctxt "switch" msgid "ON" msgstr "❙" @@ -2662,17 +2671,17 @@ msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569 msgctxt "switch" msgid "OFF" msgstr "○" -#: ../gtk/gtkswitch.c:959 +#: ../gtk/gtkswitch.c:968 msgctxt "light switch widget" msgid "Switch" msgstr "Interruptor" -#: ../gtk/gtkswitch.c:960 +#: ../gtk/gtkswitch.c:969 msgid "Switches between on and off states" msgstr "Cambia entre os estados acendido e apagado" From 837583eb36c89e1d333eaccd1643e2681e0940bc Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Sun, 16 Jan 2011 19:30:17 +0100 Subject: [PATCH 1419/1463] Updated Spanish translation --- po/es.po | 240 +++++++++++++++++++++++++++---------------------------- 1 file changed, 120 insertions(+), 120 deletions(-) diff --git a/po/es.po b/po/es.po index fc2da662e1..a0c37e1e1c 100644 --- a/po/es.po +++ b/po/es.po @@ -10,15 +10,16 @@ # Juan Manuel García Molina , 2003. # Francisco Javier F. Serrador , 2003 - 2006. # Jorge González , 2007, 2008, 2009, 2010, 2011. +# Daniel Mustieles , 2011. # msgid "" msgstr "" "Project-Id-Version: gtk+.master\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" -"POT-Creation-Date: 2011-01-08 09:40+0000\n" -"PO-Revision-Date: 2011-01-08 13:46+0100\n" -"Last-Translator: Jorge González \n" +"POT-Creation-Date: 2011-01-16 08:26+0000\n" +"PO-Revision-Date: 2011-01-16 19:29+0100\n" +"Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -447,7 +448,6 @@ msgid "Backslash" msgstr "Contrabarra" #: ../gtk/gtkappchooserbutton.c:259 -#| msgid "Application" msgid "Other application..." msgstr "Otra aplicación…" @@ -460,18 +460,15 @@ msgid "Find applications online" msgstr "Buscar aplicaciones en línea" #: ../gtk/gtkappchooserdialog.c:208 -#| msgid "Could not clear list" msgid "Could not run application" msgstr "No se pudo ejecutar la aplicación" #: ../gtk/gtkappchooserdialog.c:221 #, c-format -#| msgid "Could not mount %s" msgid "Could not find '%s'" msgstr "No se pudo encontrar «%s»" #: ../gtk/gtkappchooserdialog.c:224 -#| msgid "Could not show link" msgid "Could not find application" msgstr "No se pudo encontrar la aplicación" @@ -506,38 +503,30 @@ msgstr "" "nueva aplicación, pulsar «Buscar aplicaciones en línea»" #: ../gtk/gtkappchooserdialog.c:428 -#| msgid "Forget password _immediately" msgid "Forget association" msgstr "Olvidar asociación" #: ../gtk/gtkappchooserdialog.c:493 -#| msgid "Show GTK+ Options" msgid "Show other applications" msgstr "Mostrar otras aplicaciones" #: ../gtk/gtkappchooserdialog.c:511 -#| msgctxt "Stock label" -#| msgid "_Open" msgid "_Open" msgstr "_Abrir" #: ../gtk/gtkappchooserwidget.c:593 -#| msgid "Application" msgid "Default Application" msgstr "Aplicación predeterminada" -#: ../gtk/gtkappchooserwidget.c:729 -#| msgid "Application" +#: ../gtk/gtkappchooserwidget.c:730 msgid "Recommended Applications" msgstr "Aplicaciones recomendadas" -#: ../gtk/gtkappchooserwidget.c:743 -#| msgid "Application" +#: ../gtk/gtkappchooserwidget.c:744 msgid "Related Applications" msgstr "Aplicaciones relacionadas" -#: ../gtk/gtkappchooserwidget.c:756 -#| msgid "Application" +#: ../gtk/gtkappchooserwidget.c:758 msgid "Other Applications" msgstr "Otras aplicaciones" @@ -572,7 +561,7 @@ msgstr "Etiqueta no soportada: «%s»" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:885 +#: ../gtk/gtkcalendar.c:871 msgid "calendar:MY" msgstr "calendar:MY" @@ -580,7 +569,7 @@ msgstr "calendar:MY" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:923 +#: ../gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" msgstr "calendar:week_start:1" @@ -589,7 +578,7 @@ msgstr "calendar:week_start:1" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1903 +#: ../gtk/gtkcalendar.c:1910 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -604,7 +593,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 +#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -620,7 +609,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 +#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -636,7 +625,7 @@ msgstr "%Id" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2256 +#: ../gtk/gtkcalendar.c:2268 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -662,7 +651,7 @@ msgstr "No válido" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:730 msgid "New accelerator..." msgstr "Acelerador nuevo…" @@ -672,11 +661,11 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "Escoja un color" -#: ../gtk/gtkcolorbutton.c:366 +#: ../gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "Se recibió un dato de color no válido\n" @@ -803,11 +792,11 @@ msgstr "" msgid "The color you've chosen." msgstr "El color que ha elegido." -#: ../gtk/gtkcolorsel.c:1444 +#: ../gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "_Guardar color aquí" -#: ../gtk/gtkcolorsel.c:1652 +#: ../gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -831,7 +820,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "Gestionar tamaños personalizados" @@ -884,23 +873,23 @@ msgstr "_Derecho:" msgid "Paper Margins" msgstr "Márgenes del papel" -#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 +#: ../gtk/gtkentry.c:8755 ../gtk/gtktextview.c:8228 msgid "Input _Methods" msgstr "_Métodos de entrada" -#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 +#: ../gtk/gtkentry.c:8769 ../gtk/gtktextview.c:8242 msgid "_Insert Unicode Control Character" msgstr "_Insertar un carácter de control Unicode" -#: ../gtk/gtkentry.c:10224 +#: ../gtk/gtkentry.c:10173 msgid "Caps Lock and Num Lock are on" msgstr "Bloq Mayús y Bloq Num están activados" -#: ../gtk/gtkentry.c:10226 +#: ../gtk/gtkentry.c:10175 msgid "Num Lock is on" msgstr "Bloq Num está activado" -#: ../gtk/gtkentry.c:10228 +#: ../gtk/gtkentry.c:10177 msgid "Caps Lock is on" msgstr "Bloq Mayús está activado" @@ -1148,19 +1137,19 @@ msgstr "La combinación %s ya existe" msgid "Shortcut %s does not exist" msgstr "La combinación %s no existe" -#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "Ya existe un archivo llamado «%s». ¿Quiere reemplazarlo?" -#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "" "El archivo ya existe en «%s». Si lo reemplaza sobreescribirá su contenido." -#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "_Reemplazar" @@ -1276,24 +1265,24 @@ msgstr "" "El veloz murciélago hindú comía feliz cardillo y kiwi. La cigüeña tocaba el " "saxofón detrás del palenque de paja." -#: ../gtk/gtkfontsel.c:367 +#: ../gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "_Familia:" -#: ../gtk/gtkfontsel.c:373 +#: ../gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "_Estilo:" -#: ../gtk/gtkfontsel.c:379 +#: ../gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "_Tamaño:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:555 +#: ../gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "_Vista previa:" -#: ../gtk/gtkfontsel.c:1655 +#: ../gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "Selección de tipografías" @@ -1499,8 +1488,19 @@ msgstr "No se puede finalizar el proceso con PID %d: %s" msgid "Page %u" msgstr "Página %u" -#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 -#: ../gtk/gtkpapersize.c:880 +#. Translators: the format here is used to build the string that will be rendered +#. * in the number emblem. +#. +#: ../gtk/gtknumerableicon.c:481 +#, c-format +#| msgctxt "calendar:day:digits" +#| msgid "%d" +msgctxt "Number format" +msgid "%d" +msgstr "%d" + +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:847 +#: ../gtk/gtkpapersize.c:889 msgid "Not a valid page setup file" msgstr "No es un archivo válido de configuración de página" @@ -1527,7 +1527,7 @@ msgstr "" " Superior: %s %s\n" " Inferior: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "Gestión de tamaños personalizados…" @@ -1535,7 +1535,7 @@ msgstr "Gestión de tamaños personalizados…" msgid "_Format for:" msgstr "_Formato para:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "Tamaño del _papel:" @@ -1543,7 +1543,7 @@ msgstr "Tamaño del _papel:" msgid "_Orientation:" msgstr "_Orientación:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "Configuración de página" @@ -1714,49 +1714,49 @@ msgstr "Manipulador inválido a PrintDlgEx" msgid "Unspecified error" msgstr "Error no especificado" -#: ../gtk/gtkprintunixdialog.c:619 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "Falló la obtención de la información de la impresora" -#: ../gtk/gtkprintunixdialog.c:1874 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "Obteniendo la información de la impresora…" -#: ../gtk/gtkprintunixdialog.c:2141 +#: ../gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "Impresora" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2151 +#: ../gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "Lugar" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2162 +#: ../gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintunixdialog.c:2188 +#: ../gtk/gtkprintunixdialog.c:2194 msgid "Range" msgstr "Rango" -#: ../gtk/gtkprintunixdialog.c:2192 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "_Todas las páginas" -#: ../gtk/gtkprintunixdialog.c:2199 +#: ../gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "Página a_ctual" -#: ../gtk/gtkprintunixdialog.c:2209 +#: ../gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "Se_lección" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "Págin_as:" -#: ../gtk/gtkprintunixdialog.c:2219 +#: ../gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1764,28 +1764,28 @@ msgstr "" "Especifique uno o más rangos de páginas,\n" "ej. 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2229 +#: ../gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "Páginas" -#: ../gtk/gtkprintunixdialog.c:2242 +#: ../gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "Copias" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2247 +#: ../gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "_Copias:" -#: ../gtk/gtkprintunixdialog.c:2265 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "_Intercalar" -#: ../gtk/gtkprintunixdialog.c:2273 +#: ../gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "In_vertir" -#: ../gtk/gtkprintunixdialog.c:2293 +#: ../gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "General" @@ -1795,42 +1795,42 @@ msgstr "General" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3039 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "De izquierda a derecha, de arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3039 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "De izquierda a derecha, de abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3040 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "De derecha a izquierda, de arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3040 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "De derecha a izquierda, de abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3028 +#: ../gtk/gtkprintunixdialog.c:3041 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "De arriba a abajo, de izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3028 +#: ../gtk/gtkprintunixdialog.c:3041 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "De arriba a abajo, de derecha a izquierda" -#: ../gtk/gtkprintunixdialog.c:3029 +#: ../gtk/gtkprintunixdialog.c:3042 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "De abajo a arriba, de izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3029 +#: ../gtk/gtkprintunixdialog.c:3042 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "De abajo a arriba, de derecha a izquierda" @@ -1838,125 +1838,125 @@ msgstr "De abajo a arriba, de derecha a izquierda" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "Orden de las hojas" -#: ../gtk/gtkprintunixdialog.c:3062 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "Izquierda a derecha" -#: ../gtk/gtkprintunixdialog.c:3063 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "Derecha a izquierda" -#: ../gtk/gtkprintunixdialog.c:3075 +#: ../gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "De arriba a abajo" -#: ../gtk/gtkprintunixdialog.c:3076 +#: ../gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "De abajo a arriba" -#: ../gtk/gtkprintunixdialog.c:3316 +#: ../gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "Disposición" -#: ../gtk/gtkprintunixdialog.c:3320 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "Por las _dos caras:" -#: ../gtk/gtkprintunixdialog.c:3335 +#: ../gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "Páginas por _hoja:" -#: ../gtk/gtkprintunixdialog.c:3352 +#: ../gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "Or_den de páginas:" -#: ../gtk/gtkprintunixdialog.c:3368 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "_Sólo imprimir:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "Todas las hojas" -#: ../gtk/gtkprintunixdialog.c:3384 +#: ../gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "Hojas pares" -#: ../gtk/gtkprintunixdialog.c:3385 +#: ../gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "Hojas impares" -#: ../gtk/gtkprintunixdialog.c:3388 +#: ../gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "_Escala:" -#: ../gtk/gtkprintunixdialog.c:3415 +#: ../gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "Papel" -#: ../gtk/gtkprintunixdialog.c:3419 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "_Tipo de papel:" -#: ../gtk/gtkprintunixdialog.c:3434 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "_Fuente del papel:" -#: ../gtk/gtkprintunixdialog.c:3449 +#: ../gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "_Bandeja de salida:" -#: ../gtk/gtkprintunixdialog.c:3489 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "Or_ientación:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "Retrato" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "Paisaje" -#: ../gtk/gtkprintunixdialog.c:3506 +#: ../gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "Retrato invertido" -#: ../gtk/gtkprintunixdialog.c:3507 +#: ../gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "Paisaje invertido" -#: ../gtk/gtkprintunixdialog.c:3552 +#: ../gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "Detalles de la tarea" -#: ../gtk/gtkprintunixdialog.c:3558 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "_Prioridad:" -#: ../gtk/gtkprintunixdialog.c:3573 +#: ../gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr "Info de _facturación:" -#: ../gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "Imprimir documento" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3600 +#: ../gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "_Ahora" -#: ../gtk/gtkprintunixdialog.c:3611 +#: ../gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "_En:" @@ -1964,7 +1964,7 @@ msgstr "_En:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3617 +#: ../gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1972,68 +1972,68 @@ msgstr "" "Especifique la hora de impresión,\n" "ej. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" -#: ../gtk/gtkprintunixdialog.c:3627 +#: ../gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "Hora de la impresión" -#: ../gtk/gtkprintunixdialog.c:3643 +#: ../gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "En _espera" -#: ../gtk/gtkprintunixdialog.c:3644 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" msgstr "Retener el trabajo hasta que se libere explícitamente" -#: ../gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "Añadir página de cubierta" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3673 +#: ../gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "An_tes:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3691 +#: ../gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "_Después:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3709 +#: ../gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "Tarea" -#: ../gtk/gtkprintunixdialog.c:3775 +#: ../gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "Avanzado" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" msgstr "Calidad de imagen" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3817 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "Color" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3822 +#: ../gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "Terminando" -#: ../gtk/gtkprintunixdialog.c:3832 +#: ../gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" msgstr "Algunos de los ajustes del diálogo están en conflicto" -#: ../gtk/gtkprintunixdialog.c:3855 +#: ../gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "Imprimir" @@ -2667,7 +2667,7 @@ msgstr "_Reducir" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553 msgctxt "switch" msgid "ON" msgstr "❙" @@ -2675,17 +2675,17 @@ msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569 msgctxt "switch" msgid "OFF" msgstr "○" -#: ../gtk/gtkswitch.c:959 +#: ../gtk/gtkswitch.c:968 msgctxt "light switch widget" msgid "Switch" msgstr "Interruptor" -#: ../gtk/gtkswitch.c:960 +#: ../gtk/gtkswitch.c:969 msgid "Switches between on and off states" msgstr "Cambia entre los estados encendido y apagado" From 477ff06b2540de64805ff79980048fe36c1d6b26 Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Sun, 16 Jan 2011 21:24:39 +0100 Subject: [PATCH 1420/1463] Updated Spanish translation --- po-properties/es.po | 3260 ++++++++++++++++++++++++------------------- 1 file changed, 1852 insertions(+), 1408 deletions(-) diff --git a/po-properties/es.po b/po-properties/es.po index 2eddf86b9a..321e9fbd14 100644 --- a/po-properties/es.po +++ b/po-properties/es.po @@ -11,15 +11,15 @@ # Juan Manuel García Molina , 2003. # Francisco Javier F. Serrador , 2003 - 2006. # Jorge González , 2007, 2008, 2009, 2010. -# Daniel Mustieles , 2010. +# Daniel Mustieles , 2010, 2011. # msgid "" msgstr "" "Project-Id-Version: gtk+-properties.master\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" -"2b&component=general\n" -"POT-Creation-Date: 2010-12-22 04:25+0000\n" -"PO-Revision-Date: 2010-12-22 17:03+0100\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" +"%2b&component=general\n" +"POT-Creation-Date: 2011-01-10 22:03+0000\n" +"PO-Revision-Date: 2011-01-16 13:05+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -29,80 +29,97 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: KBabel 1.11.4\n" -#: ../gdk/gdkdevice.c:96 +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 +msgid "Display" +msgstr "Pantalla" + +#: ../gdk/gdkcursor.c:128 +#| msgid "Cursor" +msgid "Cursor type" +msgstr "Tipo de cursor" + +#: ../gdk/gdkcursor.c:129 +#| msgid "Secondary storage type" +msgid "Standard cursor type" +msgstr "Tipo de cursos estándar" + +#: ../gdk/gdkcursor.c:137 +#, fuzzy +#| msgid "Display the cell" +msgid "Display of this cursor" +msgstr "Mostrar la celda" + +#: ../gdk/gdkdevice.c:111 msgid "Device Display" msgstr "Pantalla del dispositivo" -#: ../gdk/gdkdevice.c:97 +#: ../gdk/gdkdevice.c:112 msgid "Display which the device belongs to" msgstr "Pantalla a la que pertenece el dispositivo" -#: ../gdk/gdkdevice.c:111 +#: ../gdk/gdkdevice.c:126 msgid "Device manager" msgstr "Gestor de dispositivos" -#: ../gdk/gdkdevice.c:112 +#: ../gdk/gdkdevice.c:127 msgid "Device manager which the device belongs to" msgstr "Gestor de dispositivos al que pertenece el dispositivo" -#: ../gdk/gdkdevice.c:126 ../gdk/gdkdevice.c:127 +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 msgid "Device name" msgstr "Nombre del dispositivo" -#: ../gdk/gdkdevice.c:141 +#: ../gdk/gdkdevice.c:156 msgid "Device type" msgstr "Tipo de dispositivo" -#: ../gdk/gdkdevice.c:142 +#: ../gdk/gdkdevice.c:157 msgid "Device role in the device manager" msgstr "Rol del dispositivo en el gestor de dispositivos" -#: ../gdk/gdkdevice.c:158 +#: ../gdk/gdkdevice.c:173 msgid "Associated device" msgstr "Dispositivo asociado" -#: ../gdk/gdkdevice.c:159 +#: ../gdk/gdkdevice.c:174 msgid "Associated pointer or keyboard with this device" msgstr "Dispositivo apuntador o teclado asociado con este dispositivo" -#: ../gdk/gdkdevice.c:172 +#: ../gdk/gdkdevice.c:187 msgid "Input source" msgstr "Fuente de entrada" -#: ../gdk/gdkdevice.c:173 +#: ../gdk/gdkdevice.c:188 msgid "Source type for the device" msgstr "Tipo de la fuente de entrada para el dispositivo" -#: ../gdk/gdkdevice.c:188 ../gdk/gdkdevice.c:189 +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 msgid "Input mode for the device" msgstr "Modo de entrada para el dispositivo" -#: ../gdk/gdkdevice.c:204 +#: ../gdk/gdkdevice.c:219 msgid "Whether the device has a cursor" msgstr "Indica si el dispositivo tiene un cursor" -#: ../gdk/gdkdevice.c:205 +#: ../gdk/gdkdevice.c:220 msgid "Whether there is a visible cursor following device motion" msgstr "" "Indica si existe un cursor disponible siguiendo el movimiento del dispositivo" -#: ../gdk/gdkdevice.c:219 ../gdk/gdkdevice.c:220 +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 msgid "Number of axes in the device" msgstr "Número de ejes en el dispositivo" -#: ../gdk/gdkdevicemanager.c:130 -msgid "Display" -msgstr "Pantalla" - -#: ../gdk/gdkdevicemanager.c:131 +#: ../gdk/gdkdevicemanager.c:147 msgid "Display for the device manager" msgstr "Pantalla para el gestor de dispositivos" -#: ../gdk/gdkdisplaymanager.c:106 +#: ../gdk/gdkdisplaymanager.c:117 msgid "Default Display" msgstr "Visor predeterminado" -#: ../gdk/gdkdisplaymanager.c:107 +#: ../gdk/gdkdisplaymanager.c:118 msgid "The default display for GDK" msgstr "El visor predeterminado para GDK" @@ -135,6 +152,18 @@ msgstr "ID del dispositivo" msgid "Device identifier" msgstr "Identificador del dispositivo" +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +#, fuzzy +#| msgid "mode" +msgid "Opcode" +msgstr "modo" + +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +#, fuzzy +#| msgid "Event base for XInput events" +msgid "Opcode for XInput2 requests" +msgstr "Base de eventos para los eventos XInput" + #: ../gdk/x11/gdkdevicemanager-xi.c:95 msgid "Event base" msgstr "Base del dispositivo" @@ -143,11 +172,11 @@ msgstr "Base del dispositivo" msgid "Event base for XInput events" msgstr "Base de eventos para los eventos XInput" -#: ../gtk/gtkaboutdialog.c:277 +#: ../gtk/gtkaboutdialog.c:276 msgid "Program name" msgstr "Nombre del programa" -#: ../gtk/gtkaboutdialog.c:278 +#: ../gtk/gtkaboutdialog.c:277 msgid "" "The name of the program. If this is not set, it defaults to " "g_get_application_name()" @@ -155,94 +184,93 @@ msgstr "" "El nombre del programa. Si no estuviese establecido, se usará por omisión " "g_get_application_name()" -#: ../gtk/gtkaboutdialog.c:292 +#: ../gtk/gtkaboutdialog.c:291 msgid "Program version" msgstr "Versión del programa" -#: ../gtk/gtkaboutdialog.c:293 +#: ../gtk/gtkaboutdialog.c:292 msgid "The version of the program" msgstr "La versión del programa" -#: ../gtk/gtkaboutdialog.c:307 +#: ../gtk/gtkaboutdialog.c:306 msgid "Copyright string" msgstr "Cadena del copyright" -#: ../gtk/gtkaboutdialog.c:308 +#: ../gtk/gtkaboutdialog.c:307 msgid "Copyright information for the program" msgstr "Información de copyright del programa" -#: ../gtk/gtkaboutdialog.c:325 +#: ../gtk/gtkaboutdialog.c:324 msgid "Comments string" msgstr "Cadena de comentarios" -#: ../gtk/gtkaboutdialog.c:326 +#: ../gtk/gtkaboutdialog.c:325 msgid "Comments about the program" msgstr "Comentarios acerca del programa" -#: ../gtk/gtkaboutdialog.c:376 +#: ../gtk/gtkaboutdialog.c:375 msgid "License Type" msgstr "Tipo de licencia" -#: ../gtk/gtkaboutdialog.c:377 +#: ../gtk/gtkaboutdialog.c:376 msgid "The license type of the program" msgstr "El tipo de licencia del programa" -#: ../gtk/gtkaboutdialog.c:393 +#: ../gtk/gtkaboutdialog.c:392 msgid "Website URL" msgstr "URL del sitio web" -#: ../gtk/gtkaboutdialog.c:394 +#: ../gtk/gtkaboutdialog.c:393 msgid "The URL for the link to the website of the program" msgstr "La URL para el enlace al sitio web del programa" -#: ../gtk/gtkaboutdialog.c:408 +#: ../gtk/gtkaboutdialog.c:407 msgid "Website label" msgstr "Etiqueta del sitio web" -#: ../gtk/gtkaboutdialog.c:409 -#| msgid "The URL for the link to the website of the program" +#: ../gtk/gtkaboutdialog.c:408 msgid "The label for the link to the website of the program" msgstr "La etiqueta para el enlace al sitio web del programa" -#: ../gtk/gtkaboutdialog.c:425 +#: ../gtk/gtkaboutdialog.c:424 msgid "Authors" msgstr "Autores" -#: ../gtk/gtkaboutdialog.c:426 +#: ../gtk/gtkaboutdialog.c:425 msgid "List of authors of the program" msgstr "Lista de autores del programa" -#: ../gtk/gtkaboutdialog.c:442 +#: ../gtk/gtkaboutdialog.c:441 msgid "Documenters" msgstr "Documentadores" -#: ../gtk/gtkaboutdialog.c:443 +#: ../gtk/gtkaboutdialog.c:442 msgid "List of people documenting the program" msgstr "Lista de gente documentando el programa" -#: ../gtk/gtkaboutdialog.c:459 +#: ../gtk/gtkaboutdialog.c:458 msgid "Artists" msgstr "Artistas" -#: ../gtk/gtkaboutdialog.c:460 +#: ../gtk/gtkaboutdialog.c:459 msgid "List of people who have contributed artwork to the program" msgstr "Lista de gente que ha contribuido con trabajo artístico al programa" -#: ../gtk/gtkaboutdialog.c:477 +#: ../gtk/gtkaboutdialog.c:476 msgid "Translator credits" msgstr "Créditos de traducción" -#: ../gtk/gtkaboutdialog.c:478 +#: ../gtk/gtkaboutdialog.c:477 msgid "" "Credits to the translators. This string should be marked as translatable" msgstr "" "Créditos a los traductores. Esta cadena debe etiquetarse como traducible" -#: ../gtk/gtkaboutdialog.c:493 +#: ../gtk/gtkaboutdialog.c:492 msgid "Logo" msgstr "Logotipo" -#: ../gtk/gtkaboutdialog.c:494 +#: ../gtk/gtkaboutdialog.c:493 msgid "" "A logo for the about box. If this is not set, it defaults to " "gtk_window_get_default_icon_list()" @@ -250,41 +278,41 @@ msgstr "" "Un logotipo para la caja «acerca de». Si no se establece, lo predeterminado " "es gtk_window_get_default_icon_list()" -#: ../gtk/gtkaboutdialog.c:509 +#: ../gtk/gtkaboutdialog.c:508 msgid "Logo Icon Name" msgstr "Nombre del icono del logotipo" -#: ../gtk/gtkaboutdialog.c:510 +#: ../gtk/gtkaboutdialog.c:509 msgid "A named icon to use as the logo for the about box." msgstr "" "Un icono con nombre para usar como el logotipo para la caja «Acerca de»." -#: ../gtk/gtkaboutdialog.c:523 +#: ../gtk/gtkaboutdialog.c:522 msgid "Wrap license" msgstr "Ajustar licencia" -#: ../gtk/gtkaboutdialog.c:524 +#: ../gtk/gtkaboutdialog.c:523 msgid "Whether to wrap the license text." msgstr "Indica si se debe ajustar el texto de la licencia." -#: ../gtk/gtkaccellabel.c:189 +#: ../gtk/gtkaccellabel.c:187 msgid "Accelerator Closure" msgstr "Cierre del acelerador" -#: ../gtk/gtkaccellabel.c:190 +#: ../gtk/gtkaccellabel.c:188 msgid "The closure to be monitored for accelerator changes" msgstr "El cierre que monitorizar para cambios en el acelerador" -#: ../gtk/gtkaccellabel.c:196 +#: ../gtk/gtkaccellabel.c:194 msgid "Accelerator Widget" msgstr "Widget acelerador" -#: ../gtk/gtkaccellabel.c:197 +#: ../gtk/gtkaccellabel.c:195 msgid "The widget to be monitored for accelerator changes" msgstr "El widget que monitorizar para cambios en el acelerador" #: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 -#: ../gtk/gtktextmark.c:89 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "Nombre" @@ -292,9 +320,9 @@ msgstr "Nombre" msgid "A unique name for the action." msgstr "Un nombre único para la acción." -#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:226 ../gtk/gtkexpander.c:207 -#: ../gtk/gtkframe.c:130 ../gtk/gtklabel.c:566 ../gtk/gtkmenuitem.c:331 -#: ../gtk/gtktoolbutton.c:202 ../gtk/gtktoolitemgroup.c:1588 +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 msgid "Label" msgstr "Etiqueta" @@ -331,23 +359,23 @@ msgid "The stock icon displayed in widgets representing this action." msgstr "" "El icono de inventario mostrado en los widgets representando esta acción." -#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:252 +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 msgid "GIcon" msgstr "GIcon" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:326 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "El icono mostrado" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:308 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:236 -#: ../gtk/gtkwindow.c:732 +#: ../gtk/gtkimage.c:309 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Nombre del icono" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:309 ../gtk/gtkstatusicon.c:237 +#: ../gtk/gtkimage.c:310 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "El nombre del icono del tema de iconos" @@ -411,7 +439,7 @@ msgstr "" "acción se ocultan." #: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 -#: ../gtk/gtkcellrenderer.c:287 ../gtk/gtkwidget.c:933 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:941 msgid "Sensitive" msgstr "Sensible" @@ -420,8 +448,8 @@ msgid "Whether the action is enabled." msgstr "Indica si la acción está activada." #: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 -#: ../gtk/gtkstatusicon.c:287 ../gtk/gtktreeviewcolumn.c:242 -#: ../gtk/gtkwidget.c:926 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:934 msgid "Visible" msgstr "Visible" @@ -441,11 +469,11 @@ msgstr "" "El GtkActionGroup con el que esta GtkAction está asociada, o NULL (para uso " "interno)." -#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:182 +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 msgid "Always show image" msgstr "Siempre mostrar la imagen" -#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:183 +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 msgid "Whether the image will always be shown" msgstr "Indica si la imagen se mostrará siempre" @@ -461,79 +489,79 @@ msgstr "Indica si el grupo de acción está activado." msgid "Whether the action group is visible." msgstr "Indica si el grupo de acción es visible." -#: ../gtk/gtkactivatable.c:290 +#: ../gtk/gtkactivatable.c:289 msgid "Related Action" msgstr "Acción relacionada" -#: ../gtk/gtkactivatable.c:291 +#: ../gtk/gtkactivatable.c:290 msgid "The action this activatable will activate and receive updates from" msgstr "" "La acción que este activable activará y del que recibirá actualizaciones" -#: ../gtk/gtkactivatable.c:313 +#: ../gtk/gtkactivatable.c:312 msgid "Use Action Appearance" msgstr "Usar apariencia de activación" -#: ../gtk/gtkactivatable.c:314 +#: ../gtk/gtkactivatable.c:313 msgid "Whether to use the related actions appearance properties" msgstr "" "Indica si se deben usar las propiedades de apariencia de acciones " "relacionadas" -#: ../gtk/gtkadjustment.c:114 ../gtk/gtkcellrendererprogress.c:126 -#: ../gtk/gtkscalebutton.c:220 ../gtk/gtkspinbutton.c:290 +#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 msgid "Value" msgstr "Valor" -#: ../gtk/gtkadjustment.c:115 +#: ../gtk/gtkadjustment.c:124 msgid "The value of the adjustment" msgstr "El valor del ajuste" -#: ../gtk/gtkadjustment.c:131 +#: ../gtk/gtkadjustment.c:140 msgid "Minimum Value" msgstr "Valor mínimo" -#: ../gtk/gtkadjustment.c:132 +#: ../gtk/gtkadjustment.c:141 msgid "The minimum value of the adjustment" msgstr "El valor mínimo del ajuste" -#: ../gtk/gtkadjustment.c:151 +#: ../gtk/gtkadjustment.c:160 msgid "Maximum Value" msgstr "Valor máximo" -#: ../gtk/gtkadjustment.c:152 +#: ../gtk/gtkadjustment.c:161 msgid "The maximum value of the adjustment" msgstr "El valor máximo del ajuste" -#: ../gtk/gtkadjustment.c:168 +#: ../gtk/gtkadjustment.c:177 msgid "Step Increment" msgstr "Incremento del paso" -#: ../gtk/gtkadjustment.c:169 +#: ../gtk/gtkadjustment.c:178 msgid "The step increment of the adjustment" msgstr "El incremente del paso del ajuste" -#: ../gtk/gtkadjustment.c:185 +#: ../gtk/gtkadjustment.c:194 msgid "Page Increment" msgstr "Incremento de página" -#: ../gtk/gtkadjustment.c:186 +#: ../gtk/gtkadjustment.c:195 msgid "The page increment of the adjustment" msgstr "El incremento de página del ajuste" -#: ../gtk/gtkadjustment.c:205 +#: ../gtk/gtkadjustment.c:214 msgid "Page Size" msgstr "Tamaño de página" -#: ../gtk/gtkadjustment.c:206 +#: ../gtk/gtkadjustment.c:215 msgid "The page size of the adjustment" msgstr "El tamaño de página del ajuste" -#: ../gtk/gtkalignment.c:127 +#: ../gtk/gtkalignment.c:137 msgid "Horizontal alignment" msgstr "Alineación horizontal" -#: ../gtk/gtkalignment.c:128 ../gtk/gtkbutton.c:277 +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 msgid "" "Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " "right aligned" @@ -541,11 +569,11 @@ msgstr "" "Posición horizontal del hijo en el espacio disponible. 0.0 es alineado a la " "izquierda, 1.0 es alineado a la derecha" -#: ../gtk/gtkalignment.c:137 +#: ../gtk/gtkalignment.c:147 msgid "Vertical alignment" msgstr "Alineación vertical" -#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:296 +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 msgid "" "Vertical position of child in available space. 0.0 is top aligned, 1.0 is " "bottom aligned" @@ -553,11 +581,11 @@ msgstr "" "Posición vertical del hijo en el espacio disponible. 0.0 es alineado arriba, " "1.0 es alineado abajo" -#: ../gtk/gtkalignment.c:146 +#: ../gtk/gtkalignment.c:156 msgid "Horizontal scale" msgstr "Escala horizontal" -#: ../gtk/gtkalignment.c:147 +#: ../gtk/gtkalignment.c:157 msgid "" "If available horizontal space is bigger than needed for the child, how much " "of it to use for the child. 0.0 means none, 1.0 means all" @@ -565,11 +593,11 @@ msgstr "" "Si el espacio horizontal disponible es mayor que el necesario para el hijo, " "cuánto se debe utilizar para el hijo. 0.0 significa nada, 1.0 significa todo" -#: ../gtk/gtkalignment.c:155 +#: ../gtk/gtkalignment.c:165 msgid "Vertical scale" msgstr "Escala vertical" -#: ../gtk/gtkalignment.c:156 +#: ../gtk/gtkalignment.c:166 msgid "" "If available vertical space is bigger than needed for the child, how much of " "it to use for the child. 0.0 means none, 1.0 means all" @@ -577,38 +605,133 @@ msgstr "" "Si el espacio vertical disponible es mayor que el necesario para el hijo, " "cuánto se debe utilizar para el hijo. 0.0 significa nada, 1.0 significa todo" -#: ../gtk/gtkalignment.c:173 +#: ../gtk/gtkalignment.c:183 msgid "Top Padding" msgstr "Separación superior" -#: ../gtk/gtkalignment.c:174 +#: ../gtk/gtkalignment.c:184 msgid "The padding to insert at the top of the widget." msgstr "La separación que introducir por encima del widget." -#: ../gtk/gtkalignment.c:190 +#: ../gtk/gtkalignment.c:200 msgid "Bottom Padding" msgstr "Separación inferior" -#: ../gtk/gtkalignment.c:191 +#: ../gtk/gtkalignment.c:201 msgid "The padding to insert at the bottom of the widget." msgstr "La separación que introducir por debajo del widget." -#: ../gtk/gtkalignment.c:207 +#: ../gtk/gtkalignment.c:217 msgid "Left Padding" msgstr "Separación por la izquierda" -#: ../gtk/gtkalignment.c:208 +#: ../gtk/gtkalignment.c:218 msgid "The padding to insert at the left of the widget." msgstr "La separación que introducir por el lado izquierdo del widget." -#: ../gtk/gtkalignment.c:224 +#: ../gtk/gtkalignment.c:234 msgid "Right Padding" msgstr "Separación por la derecha" -#: ../gtk/gtkalignment.c:225 +#: ../gtk/gtkalignment.c:235 msgid "The padding to insert at the right of the widget." msgstr "La separación que introducir por el lado derecho del widget." +#: ../gtk/gtkappchooserbutton.c:536 +msgid "Include an 'Other...' item" +msgstr "" + +#: ../gtk/gtkappchooserbutton.c:537 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" + +#: ../gtk/gtkappchooser.c:58 +#| msgid "Font style" +msgid "Content type" +msgstr "Tipo de contenido" + +#: ../gtk/gtkappchooser.c:59 +#, fuzzy +#| msgid "The contents of the entry" +msgid "The content type used by the open with object" +msgstr "El contenido de la entrada" + +#: ../gtk/gtkappchooserdialog.c:683 +#| msgid "Filter" +msgid "GFile" +msgstr "GFile" + +#: ../gtk/gtkappchooserdialog.c:684 +#, fuzzy +#| msgid "The title of the file chooser dialog." +msgid "The GFile used by the app chooser dialog" +msgstr "El título del diálogo de selección de archivos." + +#: ../gtk/gtkappchooserwidget.c:1015 +msgid "Show default app" +msgstr "" + +#: ../gtk/gtkappchooserwidget.c:1016 +#| msgid "Whether the widget is the default widget" +msgid "Whether the widget should show the default application" +msgstr "Indica si el widget debería mostrar la aplicación predeterminada" + +#: ../gtk/gtkappchooserwidget.c:1029 +msgid "Show recommended apps" +msgstr "" + +#: ../gtk/gtkappchooserwidget.c:1030 +#, fuzzy +#| msgid "Whether images should be shown on buttons" +msgid "Whether the widget should show recommended applications" +msgstr "Indica si se deben mostrar las imágenes en los botones" + +#: ../gtk/gtkappchooserwidget.c:1043 +msgid "Show fallback apps" +msgstr "" + +#: ../gtk/gtkappchooserwidget.c:1044 +#, fuzzy +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether the widget should show fallback applications" +msgstr "" +"Indica si el widget de etiqueta debería llenar todo el espacio horizontal " +"disponible" + +#: ../gtk/gtkappchooserwidget.c:1056 +#| msgid "Show Tooltips" +msgid "Show other apps" +msgstr "Mostrar otras aplicaciones" + +#: ../gtk/gtkappchooserwidget.c:1057 +#, fuzzy +#| msgid "Whether the widget has the input focus" +msgid "Whether the widget should show other applications" +msgstr "Indica si el widget tiene el foco de entrada" + +#: ../gtk/gtkappchooserwidget.c:1070 +#| msgid "Show Day Names" +msgid "Show all apps" +msgstr "Mostrar todas las aplicaciones" + +#: ../gtk/gtkappchooserwidget.c:1071 +#, fuzzy +#| msgid "Whether the label widget should fill all available horizontal space" +msgid "Whether the widget should show all applications" +msgstr "" +"Indica si el widget de etiqueta debería llenar todo el espacio horizontal " +"disponible" + +#: ../gtk/gtkappchooserwidget.c:1084 +msgid "Widget's default text" +msgstr "" + +#: ../gtk/gtkappchooserwidget.c:1085 +msgid "The default text appearing when there are no applications" +msgstr "" + #: ../gtk/gtkarrow.c:110 msgid "Arrow direction" msgstr "Dirección de la flecha" @@ -625,7 +748,7 @@ msgstr "Sombra de la flecha" msgid "Appearance of the shadow surrounding the arrow" msgstr "Apariencia de la sombra que rodea la flecha" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:730 ../gtk/gtkmenuitem.c:394 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Escalado de flechas" @@ -633,7 +756,7 @@ msgstr "Escalado de flechas" msgid "Amount of space used up by arrow" msgstr "Cantidad de espacio ocupado por flecha" -#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1121 +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1129 msgid "Horizontal Alignment" msgstr "Alineación horizontal" @@ -641,7 +764,7 @@ msgstr "Alineación horizontal" msgid "X alignment of the child" msgstr "Alineación X del hijo" -#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1137 +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1145 msgid "Vertical Alignment" msgstr "Alineación vertical" @@ -665,59 +788,59 @@ msgstr "Obedecer al hijo" msgid "Force aspect ratio to match that of the frame's child" msgstr "Forzar la proporción para que coincida con el hijo del marco" -#: ../gtk/gtkassistant.c:327 +#: ../gtk/gtkassistant.c:326 msgid "Header Padding" msgstr "Separación de la cabecera" -#: ../gtk/gtkassistant.c:328 +#: ../gtk/gtkassistant.c:327 msgid "Number of pixels around the header." msgstr "Número de píxeles alrededor de la cabecera." -#: ../gtk/gtkassistant.c:335 +#: ../gtk/gtkassistant.c:334 msgid "Content Padding" msgstr "Separación del contenido" -#: ../gtk/gtkassistant.c:336 +#: ../gtk/gtkassistant.c:335 msgid "Number of pixels around the content pages." msgstr "Número de píxeles alrededor de las páginas de contenidos." -#: ../gtk/gtkassistant.c:352 +#: ../gtk/gtkassistant.c:351 msgid "Page type" msgstr "Tipo de página" -#: ../gtk/gtkassistant.c:353 +#: ../gtk/gtkassistant.c:352 msgid "The type of the assistant page" msgstr "El tipo de página del asistente" -#: ../gtk/gtkassistant.c:370 +#: ../gtk/gtkassistant.c:369 msgid "Page title" msgstr "Título de página" -#: ../gtk/gtkassistant.c:371 +#: ../gtk/gtkassistant.c:370 msgid "The title of the assistant page" msgstr "El título de la página del asistente" -#: ../gtk/gtkassistant.c:387 +#: ../gtk/gtkassistant.c:386 msgid "Header image" msgstr "Imagen de la cabecera" -#: ../gtk/gtkassistant.c:388 +#: ../gtk/gtkassistant.c:387 msgid "Header image for the assistant page" msgstr "Imagen de la cabecera para la página del asistente" -#: ../gtk/gtkassistant.c:404 +#: ../gtk/gtkassistant.c:403 msgid "Sidebar image" msgstr "Imagen de barra lateral" -#: ../gtk/gtkassistant.c:405 +#: ../gtk/gtkassistant.c:404 msgid "Sidebar image for the assistant page" msgstr "Imagen de barra lateral para la página del asistente" -#: ../gtk/gtkassistant.c:420 +#: ../gtk/gtkassistant.c:419 msgid "Page complete" msgstr "Página completa" -#: ../gtk/gtkassistant.c:421 +#: ../gtk/gtkassistant.c:420 msgid "Whether all required fields on the page have been filled out" msgstr "Indica si todos los campos requeridos en la página se han rellenado" @@ -778,8 +901,8 @@ msgstr "" "Si es TRUE, el hijo aparece en un grupo secundario de hijos, apropiado para, " "por ejemplo, botones de ayuda" -#: ../gtk/gtkbox.c:241 ../gtk/gtkexpander.c:231 ../gtk/gtkiconview.c:696 -#: ../gtk/gtktreeviewcolumn.c:267 +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:640 ../gtk/gtktreeviewcolumn.c:268 msgid "Spacing" msgstr "Espaciado" @@ -787,7 +910,7 @@ msgstr "Espaciado" msgid "The amount of space between children" msgstr "La cantidad de espacio entre hijos" -#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:553 +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 #: ../gtk/gtktoolitemgroup.c:1641 msgid "Homogeneous" msgstr "Homogéneo" @@ -796,8 +919,9 @@ msgstr "Homogéneo" msgid "Whether the children should all be the same size" msgstr "Indica si todos los hijos deben ser del mismo tamaño" -#: ../gtk/gtkbox.c:268 ../gtk/gtktoolbar.c:545 ../gtk/gtktoolitemgroup.c:1648 -#: ../gtk/gtktoolpalette.c:1092 ../gtk/gtktreeviewcolumn.c:323 +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Expandir" @@ -817,7 +941,7 @@ msgstr "" "Indica si el espacio extra dado al hijo debe ser reservado para el en el " "hijo o usado como separación" -#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:165 +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 msgid "Padding" msgstr "Separación" @@ -829,7 +953,7 @@ msgstr "Espacio extra para colocar entre el hijo y sus vecinos, en píxeles" msgid "Pack type" msgstr "Tipo de empaquetado" -#: ../gtk/gtkbox.c:297 ../gtk/gtknotebook.c:796 +#: ../gtk/gtkbox.c:297 msgid "" "A GtkPackType indicating whether the child is packed with reference to the " "start or end of the parent" @@ -837,12 +961,12 @@ msgstr "" "Un GtkPackType que indica si el hijo está empaquetado con referencia al " "inicio o el final del padre" -#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:767 ../gtk/gtkpaned.c:327 +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 #: ../gtk/gtktoolitemgroup.c:1669 msgid "Position" msgstr "Posición" -#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:768 +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 msgid "The index of the child in the parent" msgstr "El índice del hijo en el padre" @@ -854,7 +978,7 @@ msgstr "Dominio de traducción" msgid "The translation domain used by gettext" msgstr "El dominio de traducción que usa gettext" -#: ../gtk/gtkbutton.c:227 +#: ../gtk/gtkbutton.c:228 msgid "" "Text of the label widget inside the button, if the button contains a label " "widget" @@ -862,13 +986,13 @@ msgstr "" "Texto del etiqueta del widget dentro del botón, si el botón contiene una " "etiqueta del widget" -#: ../gtk/gtkbutton.c:234 ../gtk/gtkexpander.c:215 ../gtk/gtklabel.c:587 -#: ../gtk/gtkmenuitem.c:346 ../gtk/gtktoolbutton.c:209 +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 msgid "Use underline" msgstr "Utilizar subrayado" -#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:216 ../gtk/gtklabel.c:588 -#: ../gtk/gtkmenuitem.c:347 +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 msgid "" "If set, an underline in the text indicates the next character should be used " "for the mnemonic accelerator key" @@ -876,71 +1000,71 @@ msgstr "" "Si se establece, un subrayado en el texto indica que el siguiente carácter " "se utiliza como el nemotécnico de la teclas aceleradora" -#: ../gtk/gtkbutton.c:242 ../gtk/gtkimagemenuitem.c:163 +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 msgid "Use stock" msgstr "Usar inventario" -#: ../gtk/gtkbutton.c:243 +#: ../gtk/gtkbutton.c:244 msgid "" "If set, the label is used to pick a stock item instead of being displayed" msgstr "" "Si se selecciona, la etiqueta se utiliza para tomar un elemento del " "inventario en vez de para mostrarse" -#: ../gtk/gtkbutton.c:250 ../gtk/gtkcombobox.c:865 +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 #: ../gtk/gtkfilechooserbutton.c:383 msgid "Focus on click" msgstr "Enfocar al pulsar" -#: ../gtk/gtkbutton.c:251 ../gtk/gtkfilechooserbutton.c:384 +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 msgid "Whether the button grabs focus when it is clicked with the mouse" msgstr "Indica si el botón obtiene el foco al ser pulsado con el ratón" -#: ../gtk/gtkbutton.c:258 +#: ../gtk/gtkbutton.c:259 msgid "Border relief" msgstr "Relieve del borde" -#: ../gtk/gtkbutton.c:259 +#: ../gtk/gtkbutton.c:260 msgid "The border relief style" msgstr "Estilo del relieve del borde" -#: ../gtk/gtkbutton.c:276 +#: ../gtk/gtkbutton.c:277 msgid "Horizontal alignment for child" msgstr "Alineación horizontal para el hijo" -#: ../gtk/gtkbutton.c:295 +#: ../gtk/gtkbutton.c:296 msgid "Vertical alignment for child" msgstr "Alineación vertical para el hijo" -#: ../gtk/gtkbutton.c:312 ../gtk/gtkimagemenuitem.c:148 +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 msgid "Image widget" msgstr "Widget de imagen" -#: ../gtk/gtkbutton.c:313 +#: ../gtk/gtkbutton.c:314 msgid "Child widget to appear next to the button text" msgstr "Widget hijo que aparece al lado del texto del botón" -#: ../gtk/gtkbutton.c:327 +#: ../gtk/gtkbutton.c:328 msgid "Image position" msgstr "Posición de la imagen" -#: ../gtk/gtkbutton.c:328 +#: ../gtk/gtkbutton.c:329 msgid "The position of the image relative to the text" msgstr "Posición de la imagen relativa al texto" -#: ../gtk/gtkbutton.c:448 +#: ../gtk/gtkbutton.c:449 msgid "Default Spacing" msgstr "Espaciado predeterminado" -#: ../gtk/gtkbutton.c:449 +#: ../gtk/gtkbutton.c:450 msgid "Extra space to add for GTK_CAN_DEFAULT buttons" msgstr "Espacio adicional que añadir para los botones CAN_DEFAULT" -#: ../gtk/gtkbutton.c:463 +#: ../gtk/gtkbutton.c:464 msgid "Default Outside Spacing" msgstr "Espaciado exterior predeterminado" -#: ../gtk/gtkbutton.c:464 +#: ../gtk/gtkbutton.c:465 msgid "" "Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " "the border" @@ -948,31 +1072,31 @@ msgstr "" "Espacio adicional que añadir para los botones CAN_DEFAULT que se dibuja " "siempre fuera del borde" -#: ../gtk/gtkbutton.c:469 +#: ../gtk/gtkbutton.c:470 msgid "Child X Displacement" msgstr "Desplazamiento X del hijo" -#: ../gtk/gtkbutton.c:470 +#: ../gtk/gtkbutton.c:471 msgid "" "How far in the x direction to move the child when the button is depressed" msgstr "" "Cuánta distancia en la dirección x se mueve el hijo cuando se suelta el botón" -#: ../gtk/gtkbutton.c:477 +#: ../gtk/gtkbutton.c:478 msgid "Child Y Displacement" msgstr "Desplazamiento Y del hijo" -#: ../gtk/gtkbutton.c:478 +#: ../gtk/gtkbutton.c:479 msgid "" "How far in the y direction to move the child when the button is depressed" msgstr "" "Cuánta distancia en la dirección y se mueve el hijo cuando se suelta el botón" -#: ../gtk/gtkbutton.c:494 +#: ../gtk/gtkbutton.c:495 msgid "Displace focus" msgstr "Desplazar el foco" -#: ../gtk/gtkbutton.c:495 +#: ../gtk/gtkbutton.c:496 msgid "" "Whether the child_displacement_x/_y properties should also affect the focus " "rectangle" @@ -980,43 +1104,43 @@ msgstr "" "Indica si las propiedades child_displacement_x/_y deben afectar también al " "rectángulo del foco" -#: ../gtk/gtkbutton.c:508 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 msgid "Inner Border" msgstr "Borde interior" -#: ../gtk/gtkbutton.c:509 +#: ../gtk/gtkbutton.c:510 msgid "Border between button edges and child." msgstr "Borde entre los bordes del botón y el hijo." -#: ../gtk/gtkbutton.c:522 +#: ../gtk/gtkbutton.c:523 msgid "Image spacing" msgstr "Espaciado de imagen" -#: ../gtk/gtkbutton.c:523 +#: ../gtk/gtkbutton.c:524 msgid "Spacing in pixels between the image and label" msgstr "Espaciado en píxeles entre la imagen y la etiqueta" -#: ../gtk/gtkcalendar.c:479 +#: ../gtk/gtkcalendar.c:468 msgid "Year" msgstr "Año" -#: ../gtk/gtkcalendar.c:480 +#: ../gtk/gtkcalendar.c:469 msgid "The selected year" msgstr "El año seleccionado" -#: ../gtk/gtkcalendar.c:493 +#: ../gtk/gtkcalendar.c:482 msgid "Month" msgstr "Mes" -#: ../gtk/gtkcalendar.c:494 +#: ../gtk/gtkcalendar.c:483 msgid "The selected month (as a number between 0 and 11)" msgstr "El mes seleccionado (como un número entre 0 y 11)" -#: ../gtk/gtkcalendar.c:508 +#: ../gtk/gtkcalendar.c:497 msgid "Day" msgstr "Día" -#: ../gtk/gtkcalendar.c:509 +#: ../gtk/gtkcalendar.c:498 msgid "" "The selected day (as a number between 1 and 31, or 0 to unselect the " "currently selected day)" @@ -1024,86 +1148,195 @@ msgstr "" "El día seleccionado (como un número entre 1 y 31, o 0 para deseleccionar el " "día actualmente seleccionado)" -#: ../gtk/gtkcalendar.c:523 +#: ../gtk/gtkcalendar.c:512 msgid "Show Heading" msgstr "Mostrar cabecera" -#: ../gtk/gtkcalendar.c:524 +#: ../gtk/gtkcalendar.c:513 msgid "If TRUE, a heading is displayed" msgstr "Si es TRUE, se muestra una cabecera" -#: ../gtk/gtkcalendar.c:538 +#: ../gtk/gtkcalendar.c:527 msgid "Show Day Names" msgstr "Mostrar nombres de los días" -#: ../gtk/gtkcalendar.c:539 +#: ../gtk/gtkcalendar.c:528 msgid "If TRUE, day names are displayed" msgstr "Si es TRUE, se muestran los nombres de los días" -#: ../gtk/gtkcalendar.c:552 +#: ../gtk/gtkcalendar.c:541 msgid "No Month Change" msgstr "Sin cambio de mes" -#: ../gtk/gtkcalendar.c:553 +#: ../gtk/gtkcalendar.c:542 msgid "If TRUE, the selected month cannot be changed" msgstr "Si es TRUE, el mes seleccionado no puede cambiarse" -#: ../gtk/gtkcalendar.c:567 +#: ../gtk/gtkcalendar.c:556 msgid "Show Week Numbers" msgstr "Mostrar números de las semanas" -#: ../gtk/gtkcalendar.c:568 +#: ../gtk/gtkcalendar.c:557 msgid "If TRUE, week numbers are displayed" msgstr "Si es TRUE, se muestran los números de las semanas" -#: ../gtk/gtkcalendar.c:583 +#: ../gtk/gtkcalendar.c:572 msgid "Details Width" msgstr "Detalles de la anchura" -#: ../gtk/gtkcalendar.c:584 +#: ../gtk/gtkcalendar.c:573 msgid "Details width in characters" msgstr "Detalla la anchura en los caracteres" -#: ../gtk/gtkcalendar.c:599 +#: ../gtk/gtkcalendar.c:588 msgid "Details Height" msgstr "Detalles de la altura" -#: ../gtk/gtkcalendar.c:600 +#: ../gtk/gtkcalendar.c:589 msgid "Details height in rows" msgstr "Detalla la altura en las filas" -#: ../gtk/gtkcalendar.c:616 +#: ../gtk/gtkcalendar.c:605 msgid "Show Details" msgstr "Mostrar detalles" -#: ../gtk/gtkcalendar.c:617 +#: ../gtk/gtkcalendar.c:606 msgid "If TRUE, details are shown" msgstr "Si es TRUE, se muestran los detalles" -#: ../gtk/gtkcalendar.c:629 +#: ../gtk/gtkcalendar.c:618 msgid "Inner border" msgstr "Borde interior" -#: ../gtk/gtkcalendar.c:630 +#: ../gtk/gtkcalendar.c:619 msgid "Inner border space" msgstr "Espacio del borde interior" -#: ../gtk/gtkcalendar.c:641 +#: ../gtk/gtkcalendar.c:630 msgid "Vertical separation" msgstr "Separación vertical" -#: ../gtk/gtkcalendar.c:642 +#: ../gtk/gtkcalendar.c:631 msgid "Space between day headers and main area" msgstr "Espacio entre las cabeceras del día y el área principal" -#: ../gtk/gtkcalendar.c:653 +#: ../gtk/gtkcalendar.c:642 msgid "Horizontal separation" msgstr "Separación horizontal" -#: ../gtk/gtkcalendar.c:654 +#: ../gtk/gtkcalendar.c:643 msgid "Space between week headers and main area" msgstr "Espacio entre las cabeceras de la semana y el área principal" +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "Espacio que se introduce entre las celdas" + +#: ../gtk/gtkcellareabox.c:339 +#, fuzzy +#| msgid "Whether to use the hexpand property" +msgid "Whether the cell expands" +msgstr "Indica si se debe usar la propiedad hexpand" + +#: ../gtk/gtkcellareabox.c:354 +#| msgid "xalign" +msgid "Align" +msgstr "Alineación" + +#: ../gtk/gtkcellareabox.c:355 +#, fuzzy +#| msgid "Whether the item should start a new row" +msgid "Whether cell should align with adjacent rows" +msgstr "Indica si el elemento debería iniciar una fila nueva" + +#: ../gtk/gtkcellareabox.c:371 +#| msgid "Pixel size" +msgid "Fixed Size" +msgstr "Tamaño dfijo" + +#: ../gtk/gtkcellareabox.c:372 +#, fuzzy +#| msgid "Whether the children should all be the same size" +msgid "Whether cells should be the same size in all rows" +msgstr "Indica si todos los hijos deben ser del mismo tamaño" + +#: ../gtk/gtkcellareabox.c:388 +#| msgid "Pack type" +msgid "Pack Type" +msgstr "Tipo de empaquetado" + +#: ../gtk/gtkcellareabox.c:389 +#, fuzzy +#| msgid "" +#| "A GtkPackType indicating whether the child is packed with reference to " +#| "the start or end of the parent" +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" +"Un GtkPackType que indica si el hijo está empaquetado con referencia al " +"inicio o el final del padre" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "" + +#: ../gtk/gtkcellarea.c:774 +#, fuzzy +#| msgid "The item which is currently active" +msgid "The cell which currently has focus" +msgstr "El elemento que está activo actualmente" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "" + +#: ../gtk/gtkcellarea.c:793 +#, fuzzy +#| msgid "The item which is currently active" +msgid "The cell which is currently being edited" +msgstr "El elemento que está activo actualmente" + +#: ../gtk/gtkcellarea.c:811 +#| msgid "Widget" +msgid "Edit Widget" +msgstr "Editar widget" + +#: ../gtk/gtkcellarea.c:812 +#, fuzzy +#| msgid "The current page in the document" +msgid "The widget currently editing the edited cell" +msgstr "La página actual en el documento" + +#: ../gtk/gtkcellareacontext.c:127 +#| msgid "Cell Area" +msgid "Area" +msgstr "Área" + +#: ../gtk/gtkcellareacontext.c:128 +msgid "The Cell Area this context was created for" +msgstr "" + +#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "Anchura mínimo" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +#| msgid "Minimum child width" +msgid "Minimum cached width" +msgstr "Anchura mínima cacheada" + +#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 +#| msgid "Minimum Content Height" +msgid "Minimum Height" +msgstr "Altura mínima" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +#| msgid "Minimum child height" +msgid "Minimum cached height" +msgstr "Altura mínima cacheada" + #: ../gtk/gtkcelleditable.c:53 msgid "Editing Canceled" msgstr "Edición cancelada" @@ -1112,159 +1345,159 @@ msgstr "Edición cancelada" msgid "Indicates that editing has been canceled" msgstr "Indica que la edición se ha cancelado" -#: ../gtk/gtkcellrendereraccel.c:138 +#: ../gtk/gtkcellrendereraccel.c:137 msgid "Accelerator key" msgstr "Tecla aceleradora" -#: ../gtk/gtkcellrendereraccel.c:139 +#: ../gtk/gtkcellrendereraccel.c:138 msgid "The keyval of the accelerator" msgstr "El valor de la tecla del acelerador" -#: ../gtk/gtkcellrendereraccel.c:155 +#: ../gtk/gtkcellrendereraccel.c:154 msgid "Accelerator modifiers" msgstr "Modificadores del acelerador" -#: ../gtk/gtkcellrendereraccel.c:156 +#: ../gtk/gtkcellrendereraccel.c:155 msgid "The modifier mask of the accelerator" msgstr "La máscara del modificador del acelerador" -#: ../gtk/gtkcellrendereraccel.c:173 +#: ../gtk/gtkcellrendereraccel.c:172 msgid "Accelerator keycode" msgstr "Código de tecla del acelerador" -#: ../gtk/gtkcellrendereraccel.c:174 +#: ../gtk/gtkcellrendereraccel.c:173 msgid "The hardware keycode of the accelerator" msgstr "El código de tecla hardware del acelerador" -#: ../gtk/gtkcellrendereraccel.c:193 +#: ../gtk/gtkcellrendereraccel.c:192 msgid "Accelerator Mode" msgstr "Modo del acelerador" -#: ../gtk/gtkcellrendereraccel.c:194 +#: ../gtk/gtkcellrendereraccel.c:193 msgid "The type of accelerators" msgstr "El tipo de aceleradores" -#: ../gtk/gtkcellrenderer.c:271 +#: ../gtk/gtkcellrenderer.c:272 msgid "mode" msgstr "modo" -#: ../gtk/gtkcellrenderer.c:272 +#: ../gtk/gtkcellrenderer.c:273 msgid "Editable mode of the CellRenderer" msgstr "Modo editable del CellRenderer" -#: ../gtk/gtkcellrenderer.c:280 +#: ../gtk/gtkcellrenderer.c:281 msgid "visible" msgstr "visible" -#: ../gtk/gtkcellrenderer.c:281 +#: ../gtk/gtkcellrenderer.c:282 msgid "Display the cell" msgstr "Mostrar la celda" -#: ../gtk/gtkcellrenderer.c:288 +#: ../gtk/gtkcellrenderer.c:289 msgid "Display the cell sensitive" msgstr "Mostrar la celda sensible" -#: ../gtk/gtkcellrenderer.c:295 +#: ../gtk/gtkcellrenderer.c:296 msgid "xalign" msgstr "xalign" -#: ../gtk/gtkcellrenderer.c:296 +#: ../gtk/gtkcellrenderer.c:297 msgid "The x-align" msgstr "La alineación x" -#: ../gtk/gtkcellrenderer.c:305 +#: ../gtk/gtkcellrenderer.c:306 msgid "yalign" msgstr "yalign" -#: ../gtk/gtkcellrenderer.c:306 +#: ../gtk/gtkcellrenderer.c:307 msgid "The y-align" msgstr "La alineación y" -#: ../gtk/gtkcellrenderer.c:315 +#: ../gtk/gtkcellrenderer.c:316 msgid "xpad" msgstr "xpad" -#: ../gtk/gtkcellrenderer.c:316 +#: ../gtk/gtkcellrenderer.c:317 msgid "The xpad" msgstr "La separación x" -#: ../gtk/gtkcellrenderer.c:325 +#: ../gtk/gtkcellrenderer.c:326 msgid "ypad" msgstr "ypad" -#: ../gtk/gtkcellrenderer.c:326 +#: ../gtk/gtkcellrenderer.c:327 msgid "The ypad" msgstr "La separación y" -#: ../gtk/gtkcellrenderer.c:335 +#: ../gtk/gtkcellrenderer.c:336 msgid "width" msgstr "anchura" -#: ../gtk/gtkcellrenderer.c:336 +#: ../gtk/gtkcellrenderer.c:337 msgid "The fixed width" msgstr "La anchura fija" -#: ../gtk/gtkcellrenderer.c:345 +#: ../gtk/gtkcellrenderer.c:346 msgid "height" msgstr "altura" -#: ../gtk/gtkcellrenderer.c:346 +#: ../gtk/gtkcellrenderer.c:347 msgid "The fixed height" msgstr "La altura fija" -#: ../gtk/gtkcellrenderer.c:355 +#: ../gtk/gtkcellrenderer.c:356 msgid "Is Expander" msgstr "Es expansor" -#: ../gtk/gtkcellrenderer.c:356 +#: ../gtk/gtkcellrenderer.c:357 msgid "Row has children" msgstr "La fila tiene hijos" -#: ../gtk/gtkcellrenderer.c:364 +#: ../gtk/gtkcellrenderer.c:365 msgid "Is Expanded" msgstr "Está expandido" -#: ../gtk/gtkcellrenderer.c:365 +#: ../gtk/gtkcellrenderer.c:366 msgid "Row is an expander row, and is expanded" msgstr "La fila es una fila de expansor, y está expandida" -#: ../gtk/gtkcellrenderer.c:372 +#: ../gtk/gtkcellrenderer.c:373 msgid "Cell background color name" msgstr "Nombre del color de fondo de la celda" -#: ../gtk/gtkcellrenderer.c:373 +#: ../gtk/gtkcellrenderer.c:374 msgid "Cell background color as a string" msgstr "Color de fondo de la celda como una cadena" -#: ../gtk/gtkcellrenderer.c:380 +#: ../gtk/gtkcellrenderer.c:381 msgid "Cell background color" msgstr "Color de fondo de la celda" -#: ../gtk/gtkcellrenderer.c:381 +#: ../gtk/gtkcellrenderer.c:382 msgid "Cell background color as a GdkColor" msgstr "Color de fondo de la celda como GdkColor" -#: ../gtk/gtkcellrenderer.c:394 +#: ../gtk/gtkcellrenderer.c:395 msgid "Cell background RGBA color" msgstr "Color de fondo RGBA de la celda" -#: ../gtk/gtkcellrenderer.c:395 +#: ../gtk/gtkcellrenderer.c:396 msgid "Cell background color as a GdkRGBA" msgstr "Color de fondo de la celda como GdkRGBA" -#: ../gtk/gtkcellrenderer.c:402 +#: ../gtk/gtkcellrenderer.c:403 msgid "Editing" msgstr "Editando" -#: ../gtk/gtkcellrenderer.c:403 +#: ../gtk/gtkcellrenderer.c:404 msgid "Whether the cell renderer is currently in editing mode" msgstr "Indica si la renderización de la celda está en modo de edición" -#: ../gtk/gtkcellrenderer.c:411 +#: ../gtk/gtkcellrenderer.c:412 msgid "Cell background set" msgstr "Establece el fondo de la celda" -#: ../gtk/gtkcellrenderer.c:412 +#: ../gtk/gtkcellrenderer.c:413 msgid "Whether this tag affects the cell background color" msgstr "Indica si esta etiqueta afecta el color de fondo de la celda" @@ -1285,13 +1518,14 @@ msgid "A column in the data source model to get the strings from" msgstr "" "Una columna en el modelo de origen de datos del que se obtienen las cadenas" -#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:932 +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 msgid "Has Entry" msgstr "Tiene entrada" #: ../gtk/gtkcellrenderercombo.c:151 msgid "If FALSE, don't allow to enter strings other than the chosen ones" -msgstr "Si es «FALSE», no permitir introducir cadenas distintas de las elegidas" +msgstr "" +"Si es «FALSE», no permitir introducir cadenas distintas de las elegidas" #: ../gtk/gtkcellrendererpixbuf.c:120 msgid "Pixbuf Object" @@ -1317,8 +1551,8 @@ msgstr "Pixbuf del expansor cerrado" msgid "Pixbuf for closed expander" msgstr "El pixbuf para el expansor cerrado" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:250 -#: ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:251 +#: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "ID del inventario" @@ -1326,8 +1560,8 @@ msgstr "ID del inventario" msgid "The stock ID of the stock icon to render" msgstr "El ID de inventario del icono de inventario a renderizar" -#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:153 -#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:269 +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "Tamaño" @@ -1351,8 +1585,8 @@ msgstr "Seguir estado" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Indica si el pixbuf renderizado debe colorearse de acuerdo al estado" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:325 -#: ../gtk/gtkwindow.c:709 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:326 +#: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Icono" @@ -1362,8 +1596,8 @@ msgstr "Valor de la barra de progreso" #: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 #: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 -#: ../gtk/gtkmessagedialog.c:226 ../gtk/gtkprogressbar.c:177 -#: ../gtk/gtktextbuffer.c:209 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 msgid "Text" msgstr "Texto" @@ -1371,7 +1605,7 @@ msgstr "Texto" msgid "Text on the progress bar" msgstr "Texto en la barra de progreso" -#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:139 +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137 msgid "Pulse" msgstr "Pulso" @@ -1404,7 +1638,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "La alineación vertical del texto, desde 0 (superior) a 1 (inferior)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:439 +#: ../gtk/gtkrange.c:423 msgid "Inverted" msgstr "Invertido" @@ -1412,12 +1646,12 @@ msgstr "Invertido" msgid "Invert the direction in which the progress bar grows" msgstr "Invertir la dirección en la que aumentan las barras de progreso" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:431 -#: ../gtk/gtkscalebutton.c:239 ../gtk/gtkspinbutton.c:229 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Ajuste" -#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:230 +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 msgid "The adjustment that holds the value of the spin button" msgstr "El ajuste que mantiene el valor del botón incrementable" @@ -1425,21 +1659,21 @@ msgstr "El ajuste que mantiene el valor del botón incrementable" msgid "Climb rate" msgstr "Tasa de subida" -#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:238 +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 msgid "The acceleration rate when you hold down a button" msgstr "La tasa de aceleración cuando mantiene apretado un botón" #: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 -#: ../gtk/gtkspinbutton.c:247 +#: ../gtk/gtkspinbutton.c:338 msgid "Digits" msgstr "Dígitos" -#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:248 +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 msgid "The number of decimal places to display" msgstr "El número de lugares decimales que mostrar" -#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:105 -#: ../gtk/gtkmenu.c:520 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:738 +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1450,11 +1684,11 @@ msgid "Whether the spinner is active (ie. shown) in the cell" msgstr "" "Indica si el marcador incrementable está activo (ej. mostrado) en la celda" -#: ../gtk/gtkcellrendererspinner.c:140 +#: ../gtk/gtkcellrendererspinner.c:138 msgid "Pulse of the spinner" msgstr "Pulso del marcador incrementable" -#: ../gtk/gtkcellrendererspinner.c:154 +#: ../gtk/gtkcellrendererspinner.c:152 msgid "The GtkIconSize value that specifies the size of the rendered spinner" msgstr "" "El valor de GTKIconSize que especifica el tamaño del marcador incrementable " @@ -1472,7 +1706,7 @@ msgstr "Marcado" msgid "Marked up text to render" msgstr "Texto resaltado a renderizar" -#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:573 +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 msgid "Attributes" msgstr "Atributos" @@ -1489,22 +1723,22 @@ msgstr "Modo de parágrafo simple" msgid "Whether to keep all text in a single paragraph" msgstr "Indica si se debe mantener todo el texto en un sólo parágrafo" -#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:192 -#: ../gtk/gtktexttag.c:178 +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:180 msgid "Background color name" msgstr "Nombre del color de fondo" -#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:193 -#: ../gtk/gtktexttag.c:179 +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:181 msgid "Background color as a string" msgstr "Color de fondo como una cadena" -#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:199 -#: ../gtk/gtktexttag.c:186 +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:188 msgid "Background color" msgstr "Color de fondo" -#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:200 +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 msgid "Background color as a GdkColor" msgstr "Color de fondo como GdkColor" @@ -1512,20 +1746,20 @@ msgstr "Color de fondo como GdkColor" msgid "Background color as RGBA" msgstr "Nombre del color de fondo como RGBA" -#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:214 +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 msgid "Background color as a GdkRGBA" msgstr "Color de fondo como GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:202 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 msgid "Foreground color name" msgstr "Nombre del color de primer plano" -#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:203 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 msgid "Foreground color as a string" msgstr "Color de primer plano como una cadena" -#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:210 -#: ../gtk/gtktrayicon-x11.c:133 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Color de primer plano" @@ -1542,71 +1776,72 @@ msgid "Foreground color as a GdkRGBA" msgstr "Color de primer plano como GdkRGBA" #: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 -#: ../gtk/gtktexttag.c:227 ../gtk/gtktextview.c:684 +#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 msgid "Editable" msgstr "Editable" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:228 -#: ../gtk/gtktextview.c:685 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 +#: ../gtk/gtktextview.c:686 msgid "Whether the text can be modified by the user" msgstr "Indica si el texto puede modificarse por el usuario" #: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 -#: ../gtk/gtktexttag.c:243 ../gtk/gtktexttag.c:251 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 msgid "Font" msgstr "Tipografía" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:244 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 msgid "Font description as a string, e.g. \"Sans Italic 12\"" -msgstr "Descripción de la tipografía como una cadena, ejemplo: «Sans Italic 12»" +msgstr "" +"Descripción de la tipografía como una cadena, ejemplo: «Sans Italic 12»" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:252 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 msgid "Font description as a PangoFontDescription struct" msgstr "Descripción de la tipografía como una estructura PangoFontDescription" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:259 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 msgid "Font family" msgstr "Familia tipográfica" -#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:260 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "" "Nombre de la familia tipográfica, ej. Sans, Helvética, Times, Monospace" #: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 -#: ../gtk/gtktexttag.c:267 +#: ../gtk/gtktexttag.c:269 msgid "Font style" msgstr "Estilo de la tipografía" #: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 -#: ../gtk/gtktexttag.c:276 +#: ../gtk/gtktexttag.c:278 msgid "Font variant" msgstr "Variante de la tipografía" #: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 -#: ../gtk/gtktexttag.c:285 +#: ../gtk/gtktexttag.c:287 msgid "Font weight" msgstr "Anchura de la tipografía" #: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 -#: ../gtk/gtktexttag.c:296 +#: ../gtk/gtktexttag.c:298 msgid "Font stretch" msgstr "Estiramiento de la tipografía" #: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 -#: ../gtk/gtktexttag.c:305 +#: ../gtk/gtktexttag.c:307 msgid "Font size" msgstr "Tamaño de la tipografía" -#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:325 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 msgid "Font points" msgstr "Puntos de la tipografía" -#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:326 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 msgid "Font size in points" msgstr "Tamaño de la tipografía en puntos" -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:315 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 msgid "Font scale" msgstr "Escala de la tipografía" @@ -1614,7 +1849,7 @@ msgstr "Escala de la tipografía" msgid "Font scaling factor" msgstr "Factor de escalado de la tipografía" -#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:394 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 msgid "Rise" msgstr "Elevar" @@ -1625,23 +1860,23 @@ msgstr "" "Desplazamiento del texto sobre la línea base (por debajo de la línea base la " "elevación es negativa)" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:434 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 msgid "Strikethrough" msgstr "Tachar" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:435 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 msgid "Whether to strike through the text" msgstr "Indica si se tacha el texto" -#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:442 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 msgid "Underline" msgstr "Subrayado" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:443 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 msgid "Style of underline for this text" msgstr "Estilo de subrayado de este texto" -#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:354 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 msgid "Language" msgstr "Idioma" @@ -1655,8 +1890,8 @@ msgstr "" "como una ayuda cuando está renderizando el texto. Si no comprende este " "parámetro probablemente no lo necesite" -#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:698 -#: ../gtk/gtkprogressbar.c:207 +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:217 msgid "Ellipsize" msgstr "Elipsis" @@ -1669,15 +1904,15 @@ msgstr "" "celda no tiene espacio suficiente para mostrar la cadena completa" #: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 -#: ../gtk/gtklabel.c:719 +#: ../gtk/gtklabel.c:720 msgid "Width In Characters" msgstr "Anchura en caracteres" -#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:720 +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 msgid "The desired width of the label, in characters" msgstr "La anchura deseada de la etiqueta, en caracteres" -#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:780 +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 msgid "Maximum Width In Characters" msgstr "Anchura máxima en caracteres" @@ -1685,7 +1920,7 @@ msgstr "Anchura máxima en caracteres" msgid "The maximum width of the cell, in characters" msgstr "La anchura máxima de la celda, en caracteres" -#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:451 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 msgid "Wrap mode" msgstr "Modo de ajuste" @@ -1697,7 +1932,7 @@ msgstr "" "Cómo romper la cadena en líneas múltiples, si el renderizador de la celda no " "tiene suficiente espacio para mostrar la cadena completa" -#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:754 +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 msgid "Wrap width" msgstr "Ajustar anchura" @@ -1705,7 +1940,7 @@ msgstr "Ajustar anchura" msgid "The width at which the text is wrapped" msgstr "La anchura a la que el texto se ajusta" -#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:348 +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 msgid "Alignment" msgstr "Alineación" @@ -1713,118 +1948,118 @@ msgstr "Alineación" msgid "How to align the lines" msgstr "Cómo alinear las líneas" -#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:236 -#: ../gtk/gtktexttag.c:540 +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:542 msgid "Background set" msgstr "Establece el fondo" -#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:237 -#: ../gtk/gtktexttag.c:541 +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:543 msgid "Whether this tag affects the background color" msgstr "Indica si esta etiqueta afecta el color de fondo" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:548 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 msgid "Foreground set" msgstr "Establece el primer plano" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:549 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 msgid "Whether this tag affects the foreground color" msgstr "Indica si esta etiqueta afecta al color de frente" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:552 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 msgid "Editability set" msgstr "Establece la editabilidad" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:553 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 msgid "Whether this tag affects text editability" msgstr "Indica si esta etiqueta afecta la editabilidad del texto" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:556 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 msgid "Font family set" msgstr "Establece familia tipográfica" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:557 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the font family" msgstr "Indica si esta etiqueta afecta a la familia de la tipografía" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:560 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 msgid "Font style set" msgstr "Establece el estilo de la tipografía" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:561 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 msgid "Whether this tag affects the font style" msgstr "Indica si esta etiqueta afecta el estilo de la tipografía" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:564 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 msgid "Font variant set" msgstr "Establece la variante de la tipografía" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:565 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the font variant" msgstr "Indica si esta etiqueta afecta la variante de la tipografía" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:568 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 msgid "Font weight set" msgstr "Establece el peso de la tipografía" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:569 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects the font weight" msgstr "Indica si esta etiqueta afecta el peso de la tipografía" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:572 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 msgid "Font stretch set" msgstr "Establece el ancho de la tipografía" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:573 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font stretch" msgstr "Indica si esta etiqueta afecta el estiramiento de la tipografía" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:576 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 msgid "Font size set" msgstr "Establece el tamaño de tipografía" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:577 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font size" msgstr "Indica si esta etiqueta afecta el tamaño de la tipografía" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:580 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 msgid "Font scale set" msgstr "Establece la escala de la tipografía" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:581 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 msgid "Whether this tag scales the font size by a factor" msgstr "" "Indica si esta etiqueta escala el tamaño de la tipografía por un factor" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:600 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 msgid "Rise set" msgstr "Establece el elevamiento" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:601 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 msgid "Whether this tag affects the rise" msgstr "Indica si esta etiqueta afecta la elevación" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:616 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 msgid "Strikethrough set" msgstr "Establece el tachado" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:617 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects strikethrough" msgstr "Indica si esta etiqueta afecta el tachado" -#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:624 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 msgid "Underline set" msgstr "Establece el subrayado" -#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:625 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects underlining" msgstr "Indica si esta etiqueta afecta el subrayado" -#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:588 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 msgid "Language set" msgstr "Establece el idioma" -#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:589 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the language the text is rendered as" msgstr "Indica si esta etiqueta afecta al idioma en que se renderiza el texto" @@ -1881,27 +2116,72 @@ msgid "Indicator size" msgstr "Tamaño del indicador" #: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 -#: ../gtk/gtkcheckmenuitem.c:129 +#: ../gtk/gtkcheckmenuitem.c:130 msgid "Size of check or radio indicator" msgstr "Tamaño del indicador de radio o de la casilla" -#: ../gtk/gtkcellview.c:213 +#: ../gtk/gtkcellview.c:210 msgid "Background RGBA color" msgstr "Color de fondo RGBA" -#: ../gtk/gtkcellview.c:228 +#: ../gtk/gtkcellview.c:225 msgid "CellView model" msgstr "Modelo CellView" -#: ../gtk/gtkcellview.c:229 +#: ../gtk/gtkcellview.c:226 msgid "The model for cell view" msgstr "El modelo para la vista de celda" -#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:128 +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtkiconview.c:762 +#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "Área de la celda" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 +#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "El GtkCellArea usado para la distribución de las celdas" + +#: ../gtk/gtkcellview.c:265 +#, fuzzy +#| msgid "Cell Area" +msgid "Cell Area Context" +msgstr "Área de la celda" + +#: ../gtk/gtkcellview.c:266 +#, fuzzy +#| msgid "The GtkCellArea used to layout cells" +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "El GtkCellArea usado para la distribución de las celdas" + +#: ../gtk/gtkcellview.c:283 +#, fuzzy +#| msgid "Sensitive" +msgid "Draw Sensitive" +msgstr "Sensible" + +#: ../gtk/gtkcellview.c:284 +#, fuzzy +#| msgid "Whether tree lines should be drawn in the tree view" +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "Indica si deben dibujar las líneas en la vista del árbol" + +#: ../gtk/gtkcellview.c:302 +#| msgid "Model" +msgid "Fit Model" +msgstr "Ajustar al modelo" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 msgid "Indicator Size" msgstr "Tamaño del indicador" -#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:265 +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 msgid "Indicator Spacing" msgstr "Espacio del indicador" @@ -1909,70 +2189,70 @@ msgstr "Espacio del indicador" msgid "Spacing around check or radio indicator" msgstr "Espacio que rodea el indicador de radio o casilla" -#: ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkcheckmenuitem.c:107 msgid "Whether the menu item is checked" msgstr "Indica si el elemento de menú está marcado" -#: ../gtk/gtkcheckmenuitem.c:113 ../gtk/gtktogglebutton.c:133 +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 msgid "Inconsistent" msgstr "Inconsistente" -#: ../gtk/gtkcheckmenuitem.c:114 +#: ../gtk/gtkcheckmenuitem.c:115 msgid "Whether to display an \"inconsistent\" state" msgstr "Indica si se debe mostrar un estado «inconsistente»" -#: ../gtk/gtkcheckmenuitem.c:121 +#: ../gtk/gtkcheckmenuitem.c:122 msgid "Draw as radio menu item" msgstr "Dibujar como un elemento de menú de radio" -#: ../gtk/gtkcheckmenuitem.c:122 +#: ../gtk/gtkcheckmenuitem.c:123 msgid "Whether the menu item looks like a radio menu item" msgstr "" "Indica si la apariencia del elemento de menú es como un elemento de menú de " "radio" -#: ../gtk/gtkcolorbutton.c:171 +#: ../gtk/gtkcolorbutton.c:170 msgid "Use alpha" msgstr "Usar alfa" -#: ../gtk/gtkcolorbutton.c:172 +#: ../gtk/gtkcolorbutton.c:171 msgid "Whether to give the color an alpha value" msgstr "Indica si se debe dar un valor alfa al color" # components/music/nautilus-music-view.c:198 -#: ../gtk/gtkcolorbutton.c:186 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 #: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 -#: ../gtk/gtkstatusicon.c:415 ../gtk/gtktreeviewcolumn.c:315 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Título" -#: ../gtk/gtkcolorbutton.c:187 +#: ../gtk/gtkcolorbutton.c:186 msgid "The title of the color selection dialog" msgstr "El título del diálogo de selección del color" -#: ../gtk/gtkcolorbutton.c:201 ../gtk/gtkcolorsel.c:338 +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 msgid "Current Color" msgstr "Color actual" -#: ../gtk/gtkcolorbutton.c:202 +#: ../gtk/gtkcolorbutton.c:201 msgid "The selected color" msgstr "El color seleccionado" -#: ../gtk/gtkcolorbutton.c:216 ../gtk/gtkcolorsel.c:345 +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 msgid "Current Alpha" msgstr "Alfa actual" -#: ../gtk/gtkcolorbutton.c:217 +#: ../gtk/gtkcolorbutton.c:216 msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" msgstr "" "El valor de opacidad actual (0 es completamente transparente, 65535 es " "completamente opaco)" -#: ../gtk/gtkcolorbutton.c:231 +#: ../gtk/gtkcolorbutton.c:230 msgid "Current RGBA Color" msgstr "Color RGBA actual" -#: ../gtk/gtkcolorbutton.c:232 +#: ../gtk/gtkcolorbutton.c:231 msgid "The selected RGBA color" msgstr "El color RGBA seleccionado" @@ -2042,98 +2322,98 @@ msgstr "Botón Ayuda" msgid "The help button of the dialog." msgstr "El botón Ayuda del diálogo." -#: ../gtk/gtkcombobox.c:737 +#: ../gtk/gtkcombobox.c:663 msgid "ComboBox model" msgstr "Modelo de ComboBox" -#: ../gtk/gtkcombobox.c:738 +#: ../gtk/gtkcombobox.c:664 msgid "The model for the combo box" msgstr "El modelo para el ComboBox" -#: ../gtk/gtkcombobox.c:755 +#: ../gtk/gtkcombobox.c:681 msgid "Wrap width for laying out the items in a grid" msgstr "Ajusta la anchura para distribuir los elementos en una rejilla" -#: ../gtk/gtkcombobox.c:777 +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 msgid "Row span column" msgstr "Fila expande columna" -#: ../gtk/gtkcombobox.c:778 +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 msgid "TreeModel column containing the row span values" msgstr "Columna TreeModel que contiene los valores de expansión de la fila" -#: ../gtk/gtkcombobox.c:799 +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 msgid "Column span column" msgstr "Columna expande columna" -#: ../gtk/gtkcombobox.c:800 +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 msgid "TreeModel column containing the column span values" msgstr "Columna TreeModel que contiene los valores de expansión de columna" -#: ../gtk/gtkcombobox.c:821 +#: ../gtk/gtkcombobox.c:747 msgid "Active item" msgstr "Elemento activo" -#: ../gtk/gtkcombobox.c:822 +#: ../gtk/gtkcombobox.c:748 msgid "The item which is currently active" msgstr "El elemento que está activo actualmente" -#: ../gtk/gtkcombobox.c:841 ../gtk/gtkuimanager.c:224 +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 msgid "Add tearoffs to menus" msgstr "Añadir tiradores a los menús" -#: ../gtk/gtkcombobox.c:842 +#: ../gtk/gtkcombobox.c:768 msgid "Whether dropdowns should have a tearoff menu item" msgstr "Indica si los desplegables deben tener un tirador en el menú" -#: ../gtk/gtkcombobox.c:857 ../gtk/gtkentry.c:779 +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 msgid "Has Frame" msgstr "Tiene marco" -#: ../gtk/gtkcombobox.c:858 +#: ../gtk/gtkcombobox.c:784 msgid "Whether the combo box draws a frame around the child" msgstr "Indica si el ComboBox dibuja un marco alrededor del hijo" -#: ../gtk/gtkcombobox.c:866 +#: ../gtk/gtkcombobox.c:792 msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Indica si el ComboBox obtiene el foco cuando se pulsa con el ratón" -#: ../gtk/gtkcombobox.c:881 ../gtk/gtkmenu.c:575 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 msgid "Tearoff Title" msgstr "Título del tirador" -#: ../gtk/gtkcombobox.c:882 +#: ../gtk/gtkcombobox.c:808 msgid "" "A title that may be displayed by the window manager when the popup is torn-" "off" msgstr "" "Un título que podría mostrar el gestor de ventanas al desprender el emergente" -#: ../gtk/gtkcombobox.c:899 +#: ../gtk/gtkcombobox.c:825 msgid "Popup shown" msgstr "Emergente mostrado" -#: ../gtk/gtkcombobox.c:900 +#: ../gtk/gtkcombobox.c:826 msgid "Whether the combo's dropdown is shown" msgstr "Indica si se muestra el desplegable del combo" -#: ../gtk/gtkcombobox.c:916 +#: ../gtk/gtkcombobox.c:842 msgid "Button Sensitivity" msgstr "Sensibilidad del botón" -#: ../gtk/gtkcombobox.c:917 +#: ../gtk/gtkcombobox.c:843 msgid "Whether the dropdown button is sensitive when the model is empty" msgstr "Indica si el botón desplegable es sensible cunado el modelo está vacío" -#: ../gtk/gtkcombobox.c:933 +#: ../gtk/gtkcombobox.c:859 msgid "Whether combo box has an entry" msgstr "Indica si el ComboBox tiene una entrada" -#: ../gtk/gtkcombobox.c:948 +#: ../gtk/gtkcombobox.c:874 msgid "Entry Text Column" msgstr "Columna de entrada de texto" -#: ../gtk/gtkcombobox.c:949 +#: ../gtk/gtkcombobox.c:875 msgid "" "The column in the combo box's model to associate with strings from the entry " "if the combo was created with #GtkComboBox:has-entry = %TRUE" @@ -2141,11 +2421,11 @@ msgstr "" "La columna en el modelo ce caja combinada para asociar con cadenas de la " "entrada si la caja combinada se creó con #GtkComboBox:has-entry = %TRUE" -#: ../gtk/gtkcombobox.c:966 +#: ../gtk/gtkcombobox.c:892 msgid "ID Column" msgstr "ID de la columna" -#: ../gtk/gtkcombobox.c:967 +#: ../gtk/gtkcombobox.c:893 msgid "" "The column in the combo box's model that provides string IDs for the values " "in the model" @@ -2153,19 +2433,19 @@ msgstr "" "La columna en el modelo ce caja combinada que proporciona los ID de cadenas " "para los valores en el modelo" -#: ../gtk/gtkcombobox.c:982 +#: ../gtk/gtkcombobox.c:908 msgid "Active id" msgstr "ID activo" -#: ../gtk/gtkcombobox.c:983 +#: ../gtk/gtkcombobox.c:909 msgid "The value of the id column for the active row" msgstr "El valor del ID de la columna para la fila activa" -#: ../gtk/gtkcombobox.c:998 +#: ../gtk/gtkcombobox.c:924 msgid "Popup Fixed Width" msgstr "Anchura fija del emergente" -#: ../gtk/gtkcombobox.c:999 +#: ../gtk/gtkcombobox.c:925 msgid "" "Whether the popup's width should be a fixed width matching the allocated " "width of the combo box" @@ -2173,85 +2453,85 @@ msgstr "" "Indica si la anchura del emergente debería ser fija coincidiendo con la " "anchura reservada para la caja combinada" -#: ../gtk/gtkcombobox.c:1007 +#: ../gtk/gtkcombobox.c:948 msgid "Appears as list" msgstr "Aparece como una lista" -#: ../gtk/gtkcombobox.c:1008 +#: ../gtk/gtkcombobox.c:949 msgid "Whether dropdowns should look like lists rather than menus" msgstr "Indica si los desplegables se parecen a listas en lugar de menús" -#: ../gtk/gtkcombobox.c:1024 +#: ../gtk/gtkcombobox.c:965 msgid "Arrow Size" msgstr "Tamaño de la flecha" -#: ../gtk/gtkcombobox.c:1025 +#: ../gtk/gtkcombobox.c:966 msgid "The minimum size of the arrow in the combo box" msgstr "El tamaño mínimo de la flecha en la caja combo" -#: ../gtk/gtkcombobox.c:1040 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:188 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:180 ../gtk/gtktoolbar.c:603 -#: ../gtk/gtkviewport.c:154 +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkviewport.c:153 msgid "Shadow type" msgstr "Tipo de sombra" -#: ../gtk/gtkcombobox.c:1041 +#: ../gtk/gtkcombobox.c:982 msgid "Which kind of shadow to draw around the combo box" msgstr "Qué clase de sombra dibujar alrededor de la caja combo" -#: ../gtk/gtkcontainer.c:451 +#: ../gtk/gtkcontainer.c:453 msgid "Resize mode" msgstr "Modo de redimensión" -#: ../gtk/gtkcontainer.c:452 +#: ../gtk/gtkcontainer.c:454 msgid "Specify how resize events are handled" msgstr "Especifica cómo se manipulan los eventos de redimensionado" -#: ../gtk/gtkcontainer.c:459 +#: ../gtk/gtkcontainer.c:461 msgid "Border width" msgstr "Anchura del borde" -#: ../gtk/gtkcontainer.c:460 +#: ../gtk/gtkcontainer.c:462 msgid "The width of the empty border outside the containers children" msgstr "La anchura del borde vacío fuera de los contenedores hijos" -#: ../gtk/gtkcontainer.c:468 +#: ../gtk/gtkcontainer.c:470 msgid "Child" msgstr "Hijo" -#: ../gtk/gtkcontainer.c:469 +#: ../gtk/gtkcontainer.c:471 msgid "Can be used to add a new child to the container" msgstr "Puede usarse para añadir un hijo nuevo al contenedor" -#: ../gtk/gtkdialog.c:165 ../gtk/gtkinfobar.c:434 +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 msgid "Content area border" msgstr "Borde del área de contenidos" -#: ../gtk/gtkdialog.c:166 +#: ../gtk/gtkdialog.c:290 msgid "Width of border around the main dialog area" msgstr "Anchura del borde alrededor del área principal del diálogo" -#: ../gtk/gtkdialog.c:183 ../gtk/gtkinfobar.c:451 +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 msgid "Content area spacing" msgstr "Separación del área de contenido" -#: ../gtk/gtkdialog.c:184 +#: ../gtk/gtkdialog.c:308 msgid "Spacing between elements of the main dialog area" msgstr "Espacio entre los elementos del área del diálogo principal" -#: ../gtk/gtkdialog.c:191 ../gtk/gtkinfobar.c:467 +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 msgid "Button spacing" msgstr "Espaciado de los botones" -#: ../gtk/gtkdialog.c:192 ../gtk/gtkinfobar.c:468 +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 msgid "Spacing between buttons" msgstr "Espaciado entre los botones" -#: ../gtk/gtkdialog.c:200 ../gtk/gtkinfobar.c:483 +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 msgid "Action area border" msgstr "Borde del área de acción" -#: ../gtk/gtkdialog.c:201 +#: ../gtk/gtkdialog.c:325 msgid "Width of border around the button area at the bottom of the dialog" msgstr "" "Anchura del borde alrededor del área del botón en la parte inferior del " @@ -2265,19 +2545,19 @@ msgstr "Búfer de texto" msgid "Text buffer object which actually stores entry text" msgstr "Objeto de búfer de texto que realmente almacena la entrada de texto" -#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:661 +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 msgid "Cursor Position" msgstr "Posición del cursor" -#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:662 +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 msgid "The current position of the insertion cursor in chars" msgstr "La posición actual del cursor de inserción en caracteres" -#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:671 +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 msgid "Selection Bound" msgstr "Límite de selección" -#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:672 +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 msgid "" "The position of the opposite end of the selection from the cursor in chars" msgstr "" @@ -2388,7 +2668,7 @@ msgstr "" "Qué clase de sombra dibujar alrededor de la entrada cuando has-frame está " "activado" -#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:764 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 msgid "Overwrite mode" msgstr "Modo de sobreescritura" @@ -2579,11 +2859,11 @@ msgstr "Marcado del consejo del icono primario" msgid "Secondary icon tooltip markup" msgstr "Marcado del consejo del icono secundario" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:792 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 msgid "IM module" msgstr "Módulo ME" -#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:793 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 msgid "Which IM module should be used" msgstr "Qué módulo de ME se debe usar" @@ -2617,84 +2897,76 @@ msgstr "El contenido del búfer" msgid "Length of the text currently in the buffer" msgstr "Longitud del texto actualmente en el búfer" -#: ../gtk/gtkentrycompletion.c:267 +#: ../gtk/gtkentrycompletion.c:301 msgid "Completion Model" msgstr "Modelo de completado" -#: ../gtk/gtkentrycompletion.c:268 +#: ../gtk/gtkentrycompletion.c:302 msgid "The model to find matches in" msgstr "El modelo para encontrar coincidencias" -#: ../gtk/gtkentrycompletion.c:274 +#: ../gtk/gtkentrycompletion.c:308 msgid "Minimum Key Length" msgstr "Longitud mínima de clave" -#: ../gtk/gtkentrycompletion.c:275 +#: ../gtk/gtkentrycompletion.c:309 msgid "Minimum length of the search key in order to look up matches" msgstr "Longitud mínima de la clave de búsqueda para buscar coincidencias" -#: ../gtk/gtkentrycompletion.c:291 ../gtk/gtkiconview.c:617 +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:561 msgid "Text column" msgstr "Columna de texto" -#: ../gtk/gtkentrycompletion.c:292 +#: ../gtk/gtkentrycompletion.c:326 msgid "The column of the model containing the strings." msgstr "La columna del modelo que contiene las cadenas." -#: ../gtk/gtkentrycompletion.c:311 +#: ../gtk/gtkentrycompletion.c:345 msgid "Inline completion" msgstr "Completado en línea" -#: ../gtk/gtkentrycompletion.c:312 +#: ../gtk/gtkentrycompletion.c:346 msgid "Whether the common prefix should be inserted automatically" msgstr "Indica si el prefijo común debe insertarse automáticamente" -#: ../gtk/gtkentrycompletion.c:326 +#: ../gtk/gtkentrycompletion.c:360 msgid "Popup completion" msgstr "Emerger el completado" -#: ../gtk/gtkentrycompletion.c:327 +#: ../gtk/gtkentrycompletion.c:361 msgid "Whether the completions should be shown in a popup window" msgstr "Indica si los completados deben mostrarse en una ventana emergente" -#: ../gtk/gtkentrycompletion.c:342 +#: ../gtk/gtkentrycompletion.c:376 msgid "Popup set width" msgstr "El emergente establece la anchura" -#: ../gtk/gtkentrycompletion.c:343 +#: ../gtk/gtkentrycompletion.c:377 msgid "If TRUE, the popup window will have the same size as the entry" msgstr "Si es TRUE, la ventana emergente tendrá el mismo tamaño que la entrada" -#: ../gtk/gtkentrycompletion.c:361 +#: ../gtk/gtkentrycompletion.c:395 msgid "Popup single match" msgstr "Coincidencia simple del emergente" -#: ../gtk/gtkentrycompletion.c:362 +#: ../gtk/gtkentrycompletion.c:396 msgid "If TRUE, the popup window will appear for a single match." msgstr "" "Si es TRUE, la ventana emergente aparecerá para una coincidencia simple." -#: ../gtk/gtkentrycompletion.c:376 +#: ../gtk/gtkentrycompletion.c:410 msgid "Inline selection" msgstr "Selección en línea" -#: ../gtk/gtkentrycompletion.c:377 +#: ../gtk/gtkentrycompletion.c:411 msgid "Your description here" msgstr "Aquí su descripción" -#: ../gtk/gtkentrycompletion.c:392 ../gtk/gtktreeviewcolumn.c:408 -msgid "Cell Area" -msgstr "Área de la celda" - -#: ../gtk/gtkentrycompletion.c:393 ../gtk/gtktreeviewcolumn.c:409 -msgid "The GtkCellArea used to layout cells" -msgstr "El GtkCellArea usado para la distribución de las celdas" - -#: ../gtk/gtkeventbox.c:101 +#: ../gtk/gtkeventbox.c:109 msgid "Visible Window" msgstr "Ventana visible" -#: ../gtk/gtkeventbox.c:102 +#: ../gtk/gtkeventbox.c:110 msgid "" "Whether the event box is visible, as opposed to invisible and only used to " "trap events." @@ -2702,11 +2974,11 @@ msgstr "" "Indica si la caja de eventos es visible, como contraposición a invisible y " "sólo usada para atrapar eventos." -#: ../gtk/gtkeventbox.c:108 +#: ../gtk/gtkeventbox.c:116 msgid "Above child" msgstr "Sobre el hijo" -#: ../gtk/gtkeventbox.c:109 +#: ../gtk/gtkeventbox.c:117 msgid "" "Whether the event-trapping window of the eventbox is above the window of the " "child widget as opposed to below it." @@ -2714,60 +2986,60 @@ msgstr "" "Indica si la ventana atrapadora de eventos de la caja de eventos está por " "encima del widget hijo como oposición debajo de ésta." -#: ../gtk/gtkexpander.c:199 +#: ../gtk/gtkexpander.c:279 msgid "Expanded" msgstr "Expandido" -#: ../gtk/gtkexpander.c:200 +#: ../gtk/gtkexpander.c:280 msgid "Whether the expander has been opened to reveal the child widget" msgstr "Indica si el expansor ha sido abierto para revelar el widget hijo" -#: ../gtk/gtkexpander.c:208 +#: ../gtk/gtkexpander.c:288 msgid "Text of the expander's label" msgstr "Texto de la etiqueta del expansor" -#: ../gtk/gtkexpander.c:223 ../gtk/gtklabel.c:580 +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 msgid "Use markup" msgstr "Usar marcado" -#: ../gtk/gtkexpander.c:224 ../gtk/gtklabel.c:581 +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 msgid "The text of the label includes XML markup. See pango_parse_markup()" msgstr "El texto de la etiqueta incluye marcado XML. Vea pango_parse_markup()" -#: ../gtk/gtkexpander.c:232 +#: ../gtk/gtkexpander.c:312 msgid "Space to put between the label and the child" msgstr "Espacio para colocar entre la etiqueta y el hijo" -#: ../gtk/gtkexpander.c:241 ../gtk/gtkframe.c:165 ../gtk/gtktoolbutton.c:216 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 #: ../gtk/gtktoolitemgroup.c:1595 msgid "Label widget" msgstr "Widget etiqueta" -#: ../gtk/gtkexpander.c:242 +#: ../gtk/gtkexpander.c:322 msgid "A widget to display in place of the usual expander label" msgstr "Un widget para mostrar en lugar de la etiqueta usual del expansor" -#: ../gtk/gtkexpander.c:249 +#: ../gtk/gtkexpander.c:329 msgid "Label fill" msgstr "Relleno de etiqueta" -#: ../gtk/gtkexpander.c:250 +#: ../gtk/gtkexpander.c:330 msgid "Whether the label widget should fill all available horizontal space" msgstr "" "Indica si el widget de etiqueta debería llenar todo el espacio horizontal " "disponible" -#: ../gtk/gtkexpander.c:256 ../gtk/gtktoolitemgroup.c:1623 -#: ../gtk/gtktreeview.c:1190 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Tamaño del expansor" -#: ../gtk/gtkexpander.c:257 ../gtk/gtktoolitemgroup.c:1624 -#: ../gtk/gtktreeview.c:1191 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Tamaño de la flecha del expansor" -#: ../gtk/gtkexpander.c:266 +#: ../gtk/gtkexpander.c:346 msgid "Spacing around expander arrow" msgstr "Espaciado alrededor de la flecha del expansor" @@ -2890,19 +3162,19 @@ msgstr "" "Indica si un selector de archivos en modo distinto a abrir ofrece al usuario " "la posibilidad de crear carpetas nuevas." -#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:633 +#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:632 msgid "X position" msgstr "Posición X" -#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:634 +#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:633 msgid "X position of child widget" msgstr "Posición X del widget hijo" -#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:643 +#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:642 msgid "Y position" msgstr "Posición Y" -#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:644 +#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:643 msgid "Y position of child widget" msgstr "Posición Y del widget hijo" @@ -2910,7 +3182,7 @@ msgstr "Posición Y del widget hijo" msgid "The title of the font selection dialog" msgstr "El título del diálogo de selección de tipografía" -#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:223 +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:219 msgid "Font name" msgstr "Nombre de la tipografía" @@ -2956,67 +3228,145 @@ msgid "Whether selected font size is shown in the label" msgstr "" "Indica si el tamaño de tipografía seleccionado se muestra en la etiqueta" -#: ../gtk/gtkfontsel.c:224 +#: ../gtk/gtkfontsel.c:220 msgid "The string that represents this font" msgstr "La cadena que representa esta tipografía" -#: ../gtk/gtkfontsel.c:230 +#: ../gtk/gtkfontsel.c:226 msgid "Preview text" msgstr "Vista previa del texto" -#: ../gtk/gtkfontsel.c:231 +#: ../gtk/gtkfontsel.c:227 msgid "The text to display in order to demonstrate the selected font" msgstr "El texto que mostrar como demostración de la tipografía seleccionada" -#: ../gtk/gtkframe.c:131 +#: ../gtk/gtkframe.c:132 msgid "Text of the frame's label" msgstr "Texto de la etiqueta del marco" -#: ../gtk/gtkframe.c:138 +#: ../gtk/gtkframe.c:139 msgid "Label xalign" msgstr "xalign de la etiqueta" -#: ../gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:140 msgid "The horizontal alignment of the label" msgstr "La alineación horizontal de la etiqueta" -#: ../gtk/gtkframe.c:147 +#: ../gtk/gtkframe.c:148 msgid "Label yalign" msgstr "yalign de la etiqueta" -#: ../gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:149 msgid "The vertical alignment of the label" msgstr "La alineación vertical de la etiqueta" -#: ../gtk/gtkframe.c:156 +#: ../gtk/gtkframe.c:157 msgid "Frame shadow" msgstr "Sombra del marco" -#: ../gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:158 msgid "Appearance of the frame border" msgstr "Apariencia del borde del marco" -#: ../gtk/gtkframe.c:166 +#: ../gtk/gtkframe.c:167 msgid "A widget to display in place of the usual frame label" msgstr "Un widget a mostrar en lugar de la usual etiqueta del marco" -#: ../gtk/gtkhandlebox.c:189 +#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "Espaciado entre filas" + +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "La cantidad de espacio entre dos filas consecutivas" + +#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "Espaciado de la columna" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "La cantidad de espacio entre dos columnas consecutivas" + +#: ../gtk/gtkgrid.c:1282 +#| msgid "Homogeneous" +msgid "Row Homogeneous" +msgstr "Fila homogénea" + +#: ../gtk/gtkgrid.c:1283 +#, fuzzy +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the rows are all the same height" +msgstr "" +"Si es TRUE, las celdas de la tabla tienen todas de la misma anchura/altura" + +#: ../gtk/gtkgrid.c:1289 +#| msgid "Homogeneous" +msgid "Column Homogeneous" +msgstr "Columna homogénea" + +#: ../gtk/gtkgrid.c:1290 +#, fuzzy +#| msgid "If TRUE, the table cells are all the same width/height" +msgid "If TRUE, the columns are all the same width" +msgstr "" +"Si es TRUE, las celdas de la tabla tienen todas de la misma anchura/altura" + +#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "Acoplado izquierdo" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "El número de columnas que acoplar al lado izquierdo del hijo" + +#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "Acoplado superior" + +#: ../gtk/gtkgrid.c:1304 +#, fuzzy +#| msgid "The row number to attach the top of a child widget to" +msgid "The row number to attach the top side of a child widget to" +msgstr "El número de fila que acoplar a la parte superior de un widget hijo" + +#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "Anchura" + +#: ../gtk/gtkgrid.c:1311 +#, fuzzy +#| msgid "The number of columns in the table" +msgid "The number of columns that a child spans" +msgstr "El número de columnas en la tabla" + +#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:667 +msgid "Height" +msgstr "Altura" + +#: ../gtk/gtkgrid.c:1318 +#, fuzzy +#| msgid "The number of rows in the table" +msgid "The number of rows that a child spans" +msgstr "El número de filas en la tabla" + +#: ../gtk/gtkhandlebox.c:191 msgid "Appearance of the shadow that surrounds the container" msgstr "Apariencia de la sombra que rodea al contenedor" -#: ../gtk/gtkhandlebox.c:197 +#: ../gtk/gtkhandlebox.c:199 msgid "Handle position" msgstr "Posición del tirador" -#: ../gtk/gtkhandlebox.c:198 +#: ../gtk/gtkhandlebox.c:200 msgid "Position of the handle relative to the child widget" msgstr "Posición del tirador relativa al widget hijo" -#: ../gtk/gtkhandlebox.c:206 +#: ../gtk/gtkhandlebox.c:208 msgid "Snap edge" msgstr "Ajustar al borde" -#: ../gtk/gtkhandlebox.c:207 +#: ../gtk/gtkhandlebox.c:209 msgid "" "Side of the handlebox that's lined up with the docking point to dock the " "handlebox" @@ -3024,11 +3374,11 @@ msgstr "" "Lado de la caja manipuladora que está alineada con el punto de anclaje para " "anclar la caja manejadora" -#: ../gtk/gtkhandlebox.c:215 +#: ../gtk/gtkhandlebox.c:217 msgid "Snap edge set" msgstr "Ajuste al borde establecido" -#: ../gtk/gtkhandlebox.c:216 +#: ../gtk/gtkhandlebox.c:218 msgid "" "Whether to use the value from the snap_edge property or a value derived from " "handle_position" @@ -3036,11 +3386,11 @@ msgstr "" "Indica si se debe usar el valor desde la propiedad snap_edge o un valor " "derivado de handle_position" -#: ../gtk/gtkhandlebox.c:223 +#: ../gtk/gtkhandlebox.c:225 msgid "Child Detached" msgstr "Hijo desacoplado" -#: ../gtk/gtkhandlebox.c:224 +#: ../gtk/gtkhandlebox.c:226 msgid "" "A boolean value indicating whether the handlebox's child is attached or " "detached." @@ -3048,226 +3398,226 @@ msgstr "" "Una variable booleana indicando si el hijo del manejador de la caja está " "acoplado o desacoplado." -#: ../gtk/gtkiconview.c:580 +#: ../gtk/gtkiconview.c:524 msgid "Selection mode" msgstr "Modo de selección" -#: ../gtk/gtkiconview.c:581 +#: ../gtk/gtkiconview.c:525 msgid "The selection mode" msgstr "El modo de selección" -#: ../gtk/gtkiconview.c:599 +#: ../gtk/gtkiconview.c:543 msgid "Pixbuf column" msgstr "Columna de pixbuf" -#: ../gtk/gtkiconview.c:600 +#: ../gtk/gtkiconview.c:544 msgid "Model column used to retrieve the icon pixbuf from" msgstr "Columna modelo usada para obtener el pixbuf del icono" -#: ../gtk/gtkiconview.c:618 +#: ../gtk/gtkiconview.c:562 msgid "Model column used to retrieve the text from" msgstr "Columna modelo usada para obtener el texto" -#: ../gtk/gtkiconview.c:637 +#: ../gtk/gtkiconview.c:581 msgid "Markup column" msgstr "Columna de marcado" -#: ../gtk/gtkiconview.c:638 +#: ../gtk/gtkiconview.c:582 msgid "Model column used to retrieve the text if using Pango markup" msgstr "Columna modelo usada para obtener el texto si se usa marcado Pango" -#: ../gtk/gtkiconview.c:645 +#: ../gtk/gtkiconview.c:589 msgid "Icon View Model" msgstr "Modelo de vista de icono" -#: ../gtk/gtkiconview.c:646 +#: ../gtk/gtkiconview.c:590 msgid "The model for the icon view" msgstr "El modelo para la vista de icono" -#: ../gtk/gtkiconview.c:662 +#: ../gtk/gtkiconview.c:606 msgid "Number of columns" msgstr "Número de columnas" -#: ../gtk/gtkiconview.c:663 +#: ../gtk/gtkiconview.c:607 msgid "Number of columns to display" msgstr "El número de columnas que se mostrarán" -#: ../gtk/gtkiconview.c:680 +#: ../gtk/gtkiconview.c:624 msgid "Width for each item" msgstr "Anchura de cada elemento" -#: ../gtk/gtkiconview.c:681 +#: ../gtk/gtkiconview.c:625 msgid "The width used for each item" msgstr "La anchura usada por cada elemento" -#: ../gtk/gtkiconview.c:697 +#: ../gtk/gtkiconview.c:641 msgid "Space which is inserted between cells of an item" msgstr "Espacio que se introduce entre las celdas de un elemento" -#: ../gtk/gtkiconview.c:712 +#: ../gtk/gtkiconview.c:656 msgid "Row Spacing" msgstr "Espaciado entre filas" -#: ../gtk/gtkiconview.c:713 +#: ../gtk/gtkiconview.c:657 msgid "Space which is inserted between grid rows" msgstr "Espacio que se introduce entre las filas de la rejilla" -#: ../gtk/gtkiconview.c:728 +#: ../gtk/gtkiconview.c:672 msgid "Column Spacing" msgstr "Espaciado entre columnas" -#: ../gtk/gtkiconview.c:729 +#: ../gtk/gtkiconview.c:673 msgid "Space which is inserted between grid columns" msgstr "Espacio que se inserta entre las columnas de la rejilla" -#: ../gtk/gtkiconview.c:744 +#: ../gtk/gtkiconview.c:688 msgid "Margin" msgstr "Margen" -#: ../gtk/gtkiconview.c:745 +#: ../gtk/gtkiconview.c:689 msgid "Space which is inserted at the edges of the icon view" msgstr "Espacio que se introduce entre los bordes de la vista de icono" -#: ../gtk/gtkiconview.c:760 +#: ../gtk/gtkiconview.c:704 msgid "Item Orientation" msgstr "Orientación del elemento" -#: ../gtk/gtkiconview.c:761 +#: ../gtk/gtkiconview.c:705 msgid "" "How the text and icon of each item are positioned relative to each other" msgstr "" "Cómo se sitúan el texto y el icono para cada elemento relativo a los demás" -#: ../gtk/gtkiconview.c:777 ../gtk/gtktreeview.c:1025 -#: ../gtk/gtktreeviewcolumn.c:358 +#: ../gtk/gtkiconview.c:721 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 msgid "Reorderable" msgstr "Reordenable" -#: ../gtk/gtkiconview.c:778 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtkiconview.c:722 ../gtk/gtktreeview.c:1027 msgid "View is reorderable" msgstr "La vista es reordenable" -#: ../gtk/gtkiconview.c:785 ../gtk/gtktreeview.c:1176 +#: ../gtk/gtkiconview.c:729 ../gtk/gtktreeview.c:1177 msgid "Tooltip Column" msgstr "Columna de consejo" -#: ../gtk/gtkiconview.c:786 +#: ../gtk/gtkiconview.c:730 msgid "The column in the model containing the tooltip texts for the items" msgstr "" "La columna del modelo que contiene los textos de consejo para los elementos" -#: ../gtk/gtkiconview.c:803 +#: ../gtk/gtkiconview.c:747 msgid "Item Padding" msgstr "Separación del elemento" -#: ../gtk/gtkiconview.c:804 +#: ../gtk/gtkiconview.c:748 msgid "Padding around icon view items" msgstr "Separación alrededor de la vista de iconos" -#: ../gtk/gtkiconview.c:817 +#: ../gtk/gtkiconview.c:776 msgid "Selection Box Color" msgstr "Color de la caja de selección" -#: ../gtk/gtkiconview.c:818 +#: ../gtk/gtkiconview.c:777 msgid "Color of the selection box" msgstr "Color de la caja de selección" -#: ../gtk/gtkiconview.c:824 +#: ../gtk/gtkiconview.c:783 msgid "Selection Box Alpha" msgstr "Alfa de la caja de selección" -#: ../gtk/gtkiconview.c:825 +#: ../gtk/gtkiconview.c:784 msgid "Opacity of the selection box" msgstr "Opacidad de la caja de selección" -#: ../gtk/gtkimage.c:233 ../gtk/gtkstatusicon.c:212 +#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "Un GdkPixbuf para mostrar" -#: ../gtk/gtkimage.c:241 ../gtk/gtkrecentmanager.c:294 -#: ../gtk/gtkstatusicon.c:220 +#: ../gtk/gtkimage.c:242 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Nombre de archivo" -#: ../gtk/gtkimage.c:242 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:243 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Nombre del archivo a cargar y mostrar" -#: ../gtk/gtkimage.c:251 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:252 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "ID de inventario para una imagen de inventario que mostrar" -#: ../gtk/gtkimage.c:258 +#: ../gtk/gtkimage.c:259 msgid "Icon set" msgstr "Conjunto de iconos" -#: ../gtk/gtkimage.c:259 +#: ../gtk/gtkimage.c:260 msgid "Icon set to display" msgstr "Conjunto de iconos para mostrar" -#: ../gtk/gtkimage.c:266 ../gtk/gtkscalebutton.c:230 ../gtk/gtktoolbar.c:520 -#: ../gtk/gtktoolpalette.c:1030 +#: ../gtk/gtkimage.c:267 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1031 msgid "Icon size" msgstr "Tamaño del icono" -#: ../gtk/gtkimage.c:267 +#: ../gtk/gtkimage.c:268 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "" "Tamaño simbólico que usar para el icono de inventario, conjunto de iconos o " "icono nombrado" -#: ../gtk/gtkimage.c:283 +#: ../gtk/gtkimage.c:284 msgid "Pixel size" msgstr "Tamaño del píxel" -#: ../gtk/gtkimage.c:284 +#: ../gtk/gtkimage.c:285 msgid "Pixel size to use for named icon" msgstr "Tamaño de píxel que usar para el icono nombrado" -#: ../gtk/gtkimage.c:292 +#: ../gtk/gtkimage.c:293 msgid "Animation" msgstr "Animación" -#: ../gtk/gtkimage.c:293 +#: ../gtk/gtkimage.c:294 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation para mostrar" -#: ../gtk/gtkimage.c:333 ../gtk/gtkstatusicon.c:260 +#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Tipo de almacenamiento" -#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:261 +#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "La representación empleada para los datos de la imagen" -#: ../gtk/gtkimagemenuitem.c:149 +#: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Widget hijo que aparecerá al lado del texto del menú" -#: ../gtk/gtkimagemenuitem.c:164 +#: ../gtk/gtkimagemenuitem.c:165 msgid "Whether to use the label text to create a stock menu item" msgstr "" "Indica si se debe usar el texto de la etiqueta para crear un elemento del " "menú de stock" -#: ../gtk/gtkimagemenuitem.c:197 ../gtk/gtkmenu.c:535 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 msgid "Accel Group" msgstr "Grupo de aceleración" -#: ../gtk/gtkimagemenuitem.c:198 +#: ../gtk/gtkimagemenuitem.c:199 msgid "The Accel Group to use for stock accelerator keys" msgstr "" "El grupo de aceleración que usar para los aceleradores de teclado de stock" -#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:201 +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 msgid "Message Type" msgstr "Tipo de mensaje" -#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:202 +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 msgid "The type of message" msgstr "El tipo de mensaje" @@ -3283,28 +3633,29 @@ msgstr "Espacio entre los elementos del área" msgid "Width of border around the action area" msgstr "Anchura del borde alrededor del área de acción" -#: ../gtk/gtkinvisible.c:90 ../gtk/gtkmountoperation.c:175 -#: ../gtk/gtkstatusicon.c:279 ../gtk/gtkwindow.c:740 +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:546 +#: ../gtk/gtkwindow.c:729 msgid "Screen" msgstr "Pantalla" -#: ../gtk/gtkinvisible.c:91 ../gtk/gtkwindow.c:741 +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 msgid "The screen where this window will be displayed" msgstr "La pantalla donde se mostrará esta ventana" -#: ../gtk/gtklabel.c:567 +#: ../gtk/gtklabel.c:568 msgid "The text of the label" msgstr "El texto de la etiqueta" -#: ../gtk/gtklabel.c:574 +#: ../gtk/gtklabel.c:575 msgid "A list of style attributes to apply to the text of the label" msgstr "Un lista de atributos de estilos para aplicar al texto de la etiqueta" -#: ../gtk/gtklabel.c:595 ../gtk/gtktexttag.c:335 ../gtk/gtktextview.c:701 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 msgid "Justification" msgstr "Justificación" -#: ../gtk/gtklabel.c:596 +#: ../gtk/gtklabel.c:597 msgid "" "The alignment of the lines in the text of the label relative to each other. " "This does NOT affect the alignment of the label within its allocation. See " @@ -3314,11 +3665,11 @@ msgstr "" "Esto NO afecta la alineación de la etiqueta dentro de su ubicación. Ver " "GtkMisc::xalign para ello" -#: ../gtk/gtklabel.c:604 +#: ../gtk/gtklabel.c:605 msgid "Pattern" msgstr "Patrón" -#: ../gtk/gtklabel.c:605 +#: ../gtk/gtklabel.c:606 msgid "" "A string with _ characters in positions correspond to characters in the text " "to underline" @@ -3326,50 +3677,50 @@ msgstr "" "Un cadena con caracteres _ en posiciones correspondientes a caracteres en el " "texto a subrayar" -#: ../gtk/gtklabel.c:612 +#: ../gtk/gtklabel.c:613 msgid "Line wrap" msgstr "Ajuste de línea" -#: ../gtk/gtklabel.c:613 +#: ../gtk/gtklabel.c:614 msgid "If set, wrap lines if the text becomes too wide" msgstr "" "Si esta definido, ajustar las líneas si el texto se vuelve demasiado ancho" -#: ../gtk/gtklabel.c:628 +#: ../gtk/gtklabel.c:629 msgid "Line wrap mode" msgstr "Modo de ajuste de línea" -#: ../gtk/gtklabel.c:629 +#: ../gtk/gtklabel.c:630 msgid "If wrap is set, controls how linewrapping is done" msgstr "Si se establece el ajuste, controla cómo se hace el ajuste de línea" -#: ../gtk/gtklabel.c:636 +#: ../gtk/gtklabel.c:637 msgid "Selectable" msgstr "Seleccionable" -#: ../gtk/gtklabel.c:637 +#: ../gtk/gtklabel.c:638 msgid "Whether the label text can be selected with the mouse" msgstr "Indica si el texto de la etiqueta puede ser seleccionado con el ratón" -#: ../gtk/gtklabel.c:643 +#: ../gtk/gtklabel.c:644 msgid "Mnemonic key" msgstr "Tecla nemónica" -#: ../gtk/gtklabel.c:644 +#: ../gtk/gtklabel.c:645 msgid "The mnemonic accelerator key for this label" msgstr "La tecla nemotécnica del acelerador para esta etiqueta" -#: ../gtk/gtklabel.c:652 +#: ../gtk/gtklabel.c:653 msgid "Mnemonic widget" msgstr "Widget nemónico" -#: ../gtk/gtklabel.c:653 +#: ../gtk/gtklabel.c:654 msgid "The widget to be activated when the label's mnemonic key is pressed" msgstr "" "El widget que se activará cuando se presione la tecla mnemotécnica de la " "etiqueta" -#: ../gtk/gtklabel.c:699 +#: ../gtk/gtklabel.c:700 msgid "" "The preferred place to ellipsize the string, if the label does not have " "enough room to display the entire string" @@ -3377,63 +3728,55 @@ msgstr "" "El lugar preferido para la elipsis de la cadena, si la etiqueta no tiene " "suficiente espacio para mostrar la cadena completa" -#: ../gtk/gtklabel.c:740 +#: ../gtk/gtklabel.c:741 msgid "Single Line Mode" msgstr "Modo de línea única" -#: ../gtk/gtklabel.c:741 +#: ../gtk/gtklabel.c:742 msgid "Whether the label is in single line mode" msgstr "Indica si la etiqueta está en modo de línea única" -#: ../gtk/gtklabel.c:758 +#: ../gtk/gtklabel.c:759 msgid "Angle" msgstr "Ángulo" -#: ../gtk/gtklabel.c:759 +#: ../gtk/gtklabel.c:760 msgid "Angle at which the label is rotated" msgstr "Ángulo al cual la etiqueta se rota" -#: ../gtk/gtklabel.c:781 +#: ../gtk/gtklabel.c:782 msgid "The desired maximum width of the label, in characters" msgstr "La anchura máxima deseada de la etiqueta, en caracteres" -#: ../gtk/gtklabel.c:799 +#: ../gtk/gtklabel.c:800 msgid "Track visited links" msgstr "Seguir los enlaces visitados" -#: ../gtk/gtklabel.c:800 +#: ../gtk/gtklabel.c:801 msgid "Whether visited links should be tracked" msgstr "Indica si deben seguir los enlaces visitados" -#: ../gtk/gtklayout.c:659 ../gtk/gtktreeviewcolumn.c:258 -msgid "Width" -msgstr "Anchura" - -#: ../gtk/gtklayout.c:660 +#: ../gtk/gtklayout.c:659 msgid "The width of the layout" msgstr "La anchura de la distribución" #: ../gtk/gtklayout.c:668 -msgid "Height" -msgstr "Altura" - -#: ../gtk/gtklayout.c:669 msgid "The height of the layout" msgstr "La altura de la distribución" -#: ../gtk/gtklinkbutton.c:174 +#: ../gtk/gtklinkbutton.c:173 msgid "URI" msgstr "URI" -#: ../gtk/gtklinkbutton.c:175 +#: ../gtk/gtklinkbutton.c:174 msgid "The URI bound to this button" msgstr "El URI asociado a este botón" -#: ../gtk/gtklinkbutton.c:189 +#: ../gtk/gtklinkbutton.c:188 msgid "Visited" msgstr "Visitado" -#: ../gtk/gtklinkbutton.c:190 +#: ../gtk/gtklinkbutton.c:189 msgid "Whether this link has been visited." msgstr "Indica si este enlace se ha visitado." @@ -3457,7 +3800,7 @@ msgstr "La dirección de empaquetado hijo de la barra de menú" msgid "Style of bevel around the menubar" msgstr "Estilo del bisel alrededor de la barra de menús" -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:570 +#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Relleno interno" @@ -3467,33 +3810,33 @@ msgstr "" "Número de espacios del borde entre la sombra de la barra de menús y los " "elementos del menú" -#: ../gtk/gtkmenu.c:521 +#: ../gtk/gtkmenu.c:517 msgid "The currently selected menu item" msgstr "El elemento del menú actualmente seleccionado" -#: ../gtk/gtkmenu.c:536 +#: ../gtk/gtkmenu.c:532 msgid "The accel group holding accelerators for the menu" msgstr "El grupo de aceleración que contiene los aceleradores para el menú" -#: ../gtk/gtkmenu.c:550 ../gtk/gtkmenuitem.c:316 +#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Ruta del acelerador" -#: ../gtk/gtkmenu.c:551 +#: ../gtk/gtkmenu.c:547 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "Una ruta de acelerador usada para construir convenientemente rutas de " "aceleración de elementos hijo" -#: ../gtk/gtkmenu.c:567 +#: ../gtk/gtkmenu.c:563 msgid "Attach Widget" msgstr "Acoplar widget" -#: ../gtk/gtkmenu.c:568 +#: ../gtk/gtkmenu.c:564 msgid "The widget the menu is attached to" msgstr "El menú al que está acoplado el widget" -#: ../gtk/gtkmenu.c:576 +#: ../gtk/gtkmenu.c:572 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3501,54 +3844,54 @@ msgstr "" "Un título que podría mostrarse por el administrador de ventanas cuando este " "menú se desprenda" -#: ../gtk/gtkmenu.c:590 +#: ../gtk/gtkmenu.c:586 msgid "Tearoff State" msgstr "Estado de desprendimiento" -#: ../gtk/gtkmenu.c:591 +#: ../gtk/gtkmenu.c:587 msgid "A boolean that indicates whether the menu is torn-off" msgstr "Un booleano que indica si el menú ha sido desprendido" -#: ../gtk/gtkmenu.c:605 +#: ../gtk/gtkmenu.c:601 msgid "Monitor" msgstr "Monitor" -#: ../gtk/gtkmenu.c:606 +#: ../gtk/gtkmenu.c:602 msgid "The monitor the menu will be popped up on" msgstr "El monitor en el que se mostrará el menú" -#: ../gtk/gtkmenu.c:612 +#: ../gtk/gtkmenu.c:608 msgid "Vertical Padding" msgstr "Separación vertical" -#: ../gtk/gtkmenu.c:613 +#: ../gtk/gtkmenu.c:609 msgid "Extra space at the top and bottom of the menu" msgstr "El espacio adicional en la parte superior e inferior del menú" -#: ../gtk/gtkmenu.c:635 +#: ../gtk/gtkmenu.c:631 msgid "Reserve Toggle Size" msgstr "Reservar tamaño para conmutar" -#: ../gtk/gtkmenu.c:636 +#: ../gtk/gtkmenu.c:632 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" msgstr "" "Un booleano que indica si el menú reserva espacio para conmutadores e iconos" -#: ../gtk/gtkmenu.c:642 +#: ../gtk/gtkmenu.c:638 msgid "Horizontal Padding" msgstr "Separación horizontal" -#: ../gtk/gtkmenu.c:643 +#: ../gtk/gtkmenu.c:639 msgid "Extra space at the left and right edges of the menu" msgstr "El espacio adicional en los bordes derecho e izquierdo del menú" -#: ../gtk/gtkmenu.c:651 +#: ../gtk/gtkmenu.c:647 msgid "Vertical Offset" msgstr "Desplazamiento vertical" -#: ../gtk/gtkmenu.c:652 +#: ../gtk/gtkmenu.c:648 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3556,11 +3899,11 @@ msgstr "" "Cuando el menú es un submenú, colocarlo este número de píxeles de " "desplazamiento vertical" -#: ../gtk/gtkmenu.c:660 +#: ../gtk/gtkmenu.c:656 msgid "Horizontal Offset" msgstr "Desplazamiento horizontal" -#: ../gtk/gtkmenu.c:661 +#: ../gtk/gtkmenu.c:657 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3568,176 +3911,172 @@ msgstr "" "Cuando el menú es un submenú, colocarlo este número de píxeles de " "desplazamiento horizontal" -#: ../gtk/gtkmenu.c:669 +#: ../gtk/gtkmenu.c:665 msgid "Double Arrows" msgstr "Dobles flechas" -#: ../gtk/gtkmenu.c:670 +#: ../gtk/gtkmenu.c:666 msgid "When scrolling, always show both arrows." msgstr "Al desplazar, siempre mostrar ambas flechas." -#: ../gtk/gtkmenu.c:683 +#: ../gtk/gtkmenu.c:679 msgid "Arrow Placement" msgstr "Colocación de flecha" -#: ../gtk/gtkmenu.c:684 +#: ../gtk/gtkmenu.c:680 msgid "Indicates where scroll arrows should be placed" msgstr "Indica si las flechas de desplazamiento se deben colocar" -#: ../gtk/gtkmenu.c:692 +#: ../gtk/gtkmenu.c:688 msgid "Left Attach" msgstr "Acoplar a la izquierda" -#: ../gtk/gtkmenu.c:693 ../gtk/gtktable.c:202 -msgid "The column number to attach the left side of the child to" -msgstr "El número de columnas que acoplar al lado izquierdo del hijo" - -#: ../gtk/gtkmenu.c:700 +#: ../gtk/gtkmenu.c:696 msgid "Right Attach" msgstr "Acoplar a la derecha" -#: ../gtk/gtkmenu.c:701 +#: ../gtk/gtkmenu.c:697 msgid "The column number to attach the right side of the child to" msgstr "El número de columnas que acoplar al lado derecho del hijo" -#: ../gtk/gtkmenu.c:708 +#: ../gtk/gtkmenu.c:704 msgid "Top Attach" msgstr "Acoplamiento superior" -#: ../gtk/gtkmenu.c:709 +#: ../gtk/gtkmenu.c:705 msgid "The row number to attach the top of the child to" msgstr "El número de filas que acoplar por encima del hijo" -#: ../gtk/gtkmenu.c:716 +#: ../gtk/gtkmenu.c:712 msgid "Bottom Attach" msgstr "Acoplamiento inferior" -#: ../gtk/gtkmenu.c:717 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "El número de filas que acoplar por debajo del hijo" -#: ../gtk/gtkmenu.c:731 +#: ../gtk/gtkmenu.c:727 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "" "Constante arbitraria para reducir el escalado del tamaño de la flecha de " "desplazamiento" -#: ../gtk/gtkmenuitem.c:283 +#: ../gtk/gtkmenuitem.c:281 msgid "Right Justified" msgstr "Justificado a la derecha" -#: ../gtk/gtkmenuitem.c:284 +#: ../gtk/gtkmenuitem.c:282 msgid "" "Sets whether the menu item appears justified at the right side of a menu bar" msgstr "" "Establece si el elemento del menú aparece justificado en la parte derecha de " "una barra de menú" -#: ../gtk/gtkmenuitem.c:298 +#: ../gtk/gtkmenuitem.c:296 msgid "Submenu" msgstr "Submenú" -#: ../gtk/gtkmenuitem.c:299 +#: ../gtk/gtkmenuitem.c:297 msgid "The submenu attached to the menu item, or NULL if it has none" msgstr "El submenú acoplado al elemento del menú, o NULL si no tiene ninguno" -#: ../gtk/gtkmenuitem.c:317 +#: ../gtk/gtkmenuitem.c:314 msgid "Sets the accelerator path of the menu item" msgstr "Establece la ruta del acelerador del elemento del menú" -#: ../gtk/gtkmenuitem.c:332 +#: ../gtk/gtkmenuitem.c:329 msgid "The text for the child label" msgstr "El texto para la etiqueta hijo" -#: ../gtk/gtkmenuitem.c:395 +#: ../gtk/gtkmenuitem.c:392 msgid "Amount of space used up by arrow, relative to the menu item's font size" msgstr "" "Cantidad de espacio ocupado por una flecha, relativa al tamaño de tipografía " "del elemento del menú" -#: ../gtk/gtkmenuitem.c:408 +#: ../gtk/gtkmenuitem.c:405 msgid "Width in Characters" msgstr "Anchura en caracteres" -#: ../gtk/gtkmenuitem.c:409 +#: ../gtk/gtkmenuitem.c:406 msgid "The minimum desired width of the menu item in characters" msgstr "La anchura mínima deseada del elemento del menú en caracteres" -#: ../gtk/gtkmenushell.c:381 +#: ../gtk/gtkmenushell.c:363 msgid "Take Focus" msgstr "Toma el foco" -#: ../gtk/gtkmenushell.c:382 +#: ../gtk/gtkmenushell.c:364 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "Un booleano que indica si el menú obtiene el foco del teclado" -#: ../gtk/gtkmenutoolbutton.c:246 +#: ../gtk/gtkmenutoolbutton.c:257 msgid "Menu" msgstr "Menú" -#: ../gtk/gtkmenutoolbutton.c:247 +#: ../gtk/gtkmenutoolbutton.c:258 msgid "The dropdown menu" msgstr "El menú desplegable" -#: ../gtk/gtkmessagedialog.c:184 +#: ../gtk/gtkmessagedialog.c:185 msgid "Image/label border" msgstr "Borde de la imagen/etiqueta" -#: ../gtk/gtkmessagedialog.c:185 +#: ../gtk/gtkmessagedialog.c:186 msgid "Width of border around the label and image in the message dialog" msgstr "" "Anchura del borde alrededor de la etiqueta y la imagen en el diálogo de " "mensajes" -#: ../gtk/gtkmessagedialog.c:209 +#: ../gtk/gtkmessagedialog.c:210 msgid "Message Buttons" msgstr "Botones del mensaje" -#: ../gtk/gtkmessagedialog.c:210 +#: ../gtk/gtkmessagedialog.c:211 msgid "The buttons shown in the message dialog" msgstr "Los botones mostrados en el diálogo de mensaje" -#: ../gtk/gtkmessagedialog.c:227 +#: ../gtk/gtkmessagedialog.c:228 msgid "The primary text of the message dialog" msgstr "El texto primario del diálogo de mensaje" -#: ../gtk/gtkmessagedialog.c:242 +#: ../gtk/gtkmessagedialog.c:243 msgid "Use Markup" msgstr "Usar marcado" -#: ../gtk/gtkmessagedialog.c:243 +#: ../gtk/gtkmessagedialog.c:244 msgid "The primary text of the title includes Pango markup." msgstr "El texto primario del título incluye marcado Pango." -#: ../gtk/gtkmessagedialog.c:257 +#: ../gtk/gtkmessagedialog.c:258 msgid "Secondary Text" msgstr "Texto secundario" -#: ../gtk/gtkmessagedialog.c:258 +#: ../gtk/gtkmessagedialog.c:259 msgid "The secondary text of the message dialog" msgstr "El texto secundario del diálogo de mensaje" -#: ../gtk/gtkmessagedialog.c:273 +#: ../gtk/gtkmessagedialog.c:274 msgid "Use Markup in secondary" msgstr "Usar marcado en el secundario" -#: ../gtk/gtkmessagedialog.c:274 +#: ../gtk/gtkmessagedialog.c:275 msgid "The secondary text includes Pango markup." msgstr "El texto secundario incluye marcado Pango." -#: ../gtk/gtkmessagedialog.c:288 +#: ../gtk/gtkmessagedialog.c:289 msgid "Image" msgstr "Imagen" -#: ../gtk/gtkmessagedialog.c:289 +#: ../gtk/gtkmessagedialog.c:290 msgid "The image" msgstr "La imagen" -#: ../gtk/gtkmessagedialog.c:305 +#: ../gtk/gtkmessagedialog.c:306 msgid "Message area" msgstr "Área de mensajes" -#: ../gtk/gtkmessagedialog.c:306 +#: ../gtk/gtkmessagedialog.c:307 msgid "GtkVBox that holds the dialog's primary and secondary labels" msgstr "GtkVBox que contiene las etiquetas primaria y secundaria del diálogo" @@ -3791,52 +4130,52 @@ msgstr "Estamos mostrando un diálogo" msgid "The screen where this window will be displayed." msgstr "La pantalla donde se mostrará esta ventana." -#: ../gtk/gtknotebook.c:692 +#: ../gtk/gtknotebook.c:685 msgid "Page" msgstr "Página" -#: ../gtk/gtknotebook.c:693 +#: ../gtk/gtknotebook.c:686 msgid "The index of the current page" msgstr "El índice de la página actual" -#: ../gtk/gtknotebook.c:701 +#: ../gtk/gtknotebook.c:694 msgid "Tab Position" msgstr "Posición del tabulador" -#: ../gtk/gtknotebook.c:702 +#: ../gtk/gtknotebook.c:695 msgid "Which side of the notebook holds the tabs" msgstr "Qué lado del cuaderno contiene las solapas" -#: ../gtk/gtknotebook.c:709 +#: ../gtk/gtknotebook.c:702 msgid "Show Tabs" msgstr "Mostrar solapas" -#: ../gtk/gtknotebook.c:710 +#: ../gtk/gtknotebook.c:703 msgid "Whether tabs should be shown" msgstr "Indica si se deben mostrar las solapas" -#: ../gtk/gtknotebook.c:716 +#: ../gtk/gtknotebook.c:709 msgid "Show Border" msgstr "Mostrar borde" -#: ../gtk/gtknotebook.c:717 +#: ../gtk/gtknotebook.c:710 msgid "Whether the border should be shown" msgstr "Indica si se debe mostrar el borde" -#: ../gtk/gtknotebook.c:723 +#: ../gtk/gtknotebook.c:716 msgid "Scrollable" msgstr "Desplazable" -#: ../gtk/gtknotebook.c:724 +#: ../gtk/gtknotebook.c:717 msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" msgstr "" "Si es TRUE, añadir flechas de desplazamiento si no caben todas las solapas" -#: ../gtk/gtknotebook.c:730 +#: ../gtk/gtknotebook.c:723 msgid "Enable Popup" msgstr "Activar emergente" -#: ../gtk/gtknotebook.c:731 +#: ../gtk/gtknotebook.c:724 msgid "" "If TRUE, pressing the right mouse button on the notebook pops up a menu that " "you can use to go to a page" @@ -3844,130 +4183,179 @@ msgstr "" "Si es TRUE, presionando el botón derecho del ratón en el cuaderno emerge un " "menú que puede usar para ir a una página" -#: ../gtk/gtknotebook.c:745 +#: ../gtk/gtknotebook.c:738 msgid "Group Name" msgstr "Nombre del grupo" -#: ../gtk/gtknotebook.c:746 +#: ../gtk/gtknotebook.c:739 msgid "Group name for tab drag and drop" msgstr "Nombre del grupo para el arrastre y suelte de solapas" -#: ../gtk/gtknotebook.c:753 +#: ../gtk/gtknotebook.c:746 msgid "Tab label" msgstr "Etiqueta de la solapa" -#: ../gtk/gtknotebook.c:754 +#: ../gtk/gtknotebook.c:747 msgid "The string displayed on the child's tab label" msgstr "La cadena mostrada en la etiqueta de la solapa hija" -#: ../gtk/gtknotebook.c:760 +#: ../gtk/gtknotebook.c:753 msgid "Menu label" msgstr "Etiqueta de menú" -#: ../gtk/gtknotebook.c:761 +#: ../gtk/gtknotebook.c:754 msgid "The string displayed in the child's menu entry" msgstr "La cadena mostrada en la entrada de menú hija" -#: ../gtk/gtknotebook.c:774 +#: ../gtk/gtknotebook.c:767 msgid "Tab expand" msgstr "Expansión de la solapa" -#: ../gtk/gtknotebook.c:775 +#: ../gtk/gtknotebook.c:768 msgid "Whether to expand the child's tab" msgstr "Indica si se deben expandir la solapas del hijo" -#: ../gtk/gtknotebook.c:781 +#: ../gtk/gtknotebook.c:774 msgid "Tab fill" msgstr "Relleno de la solapa" -#: ../gtk/gtknotebook.c:782 +#: ../gtk/gtknotebook.c:775 msgid "Whether the child's tab should fill the allocated area" msgstr "Indica si se debe rellenar el área asignada de las solapas hijas " -#: ../gtk/gtknotebook.c:795 -msgid "Tab pack type" -msgstr "Tipo de empaquetado de la solapa" - -#: ../gtk/gtknotebook.c:802 +#: ../gtk/gtknotebook.c:782 msgid "Tab reorderable" msgstr "Solapa reordenable" -#: ../gtk/gtknotebook.c:803 +#: ../gtk/gtknotebook.c:783 msgid "Whether the tab is reorderable by user action" msgstr "Indica si la solapa se puede reordenar por una acción del usuario" -#: ../gtk/gtknotebook.c:809 +#: ../gtk/gtknotebook.c:789 msgid "Tab detachable" msgstr "Solapa desprendible" -#: ../gtk/gtknotebook.c:810 +#: ../gtk/gtknotebook.c:790 msgid "Whether the tab is detachable" msgstr "Indica si la solapa es desprendible" -#: ../gtk/gtknotebook.c:825 ../gtk/gtkscrollbar.c:102 +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 msgid "Secondary backward stepper" msgstr "Flecha de retroceso secundaria" -#: ../gtk/gtknotebook.c:826 +#: ../gtk/gtknotebook.c:806 msgid "" "Display a second backward arrow button on the opposite end of the tab area" msgstr "" "Muestra una segunda flecha de retroceso en el extremo opuesto del área de " "solapas" -#: ../gtk/gtknotebook.c:841 ../gtk/gtkscrollbar.c:109 +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 msgid "Secondary forward stepper" msgstr "Flecha de adelanto secundaria" -#: ../gtk/gtknotebook.c:842 +#: ../gtk/gtknotebook.c:822 msgid "" "Display a second forward arrow button on the opposite end of the tab area" msgstr "" "Mostrar una segunda flecha de avance en el extremo opuesto del área de " "solapas" -#: ../gtk/gtknotebook.c:856 ../gtk/gtkscrollbar.c:88 +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 msgid "Backward stepper" msgstr "Flecha de retroceso" -#: ../gtk/gtknotebook.c:857 ../gtk/gtkscrollbar.c:89 +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 msgid "Display the standard backward arrow button" msgstr "Mostrar el botón estándar de flecha de retroceso" -#: ../gtk/gtknotebook.c:871 ../gtk/gtkscrollbar.c:95 +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 msgid "Forward stepper" msgstr "Flecha de avance" -#: ../gtk/gtknotebook.c:872 ../gtk/gtkscrollbar.c:96 +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 msgid "Display the standard forward arrow button" msgstr "Mostrar el botón estándar de flecha de avance" -#: ../gtk/gtknotebook.c:886 +#: ../gtk/gtknotebook.c:866 msgid "Tab overlap" msgstr "Solapamiento de la solapa" -#: ../gtk/gtknotebook.c:887 +#: ../gtk/gtknotebook.c:867 msgid "Size of tab overlap area" msgstr "Tamaño del área de solapamiento de la solapa" -#: ../gtk/gtknotebook.c:902 +#: ../gtk/gtknotebook.c:882 msgid "Tab curvature" msgstr "Curvatura de la solapa" -#: ../gtk/gtknotebook.c:903 +#: ../gtk/gtknotebook.c:883 msgid "Size of tab curvature" msgstr "Tamaño de la curvatura de la solapa" -#: ../gtk/gtknotebook.c:919 +#: ../gtk/gtknotebook.c:899 msgid "Arrow spacing" msgstr "Espaciado de las flechas" -#: ../gtk/gtknotebook.c:920 +#: ../gtk/gtknotebook.c:900 msgid "Scroll arrow spacing" msgstr "Espaciado del desplazamiento de las flechas" -#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:319 -#: ../gtk/gtktrayicon-x11.c:124 +#: ../gtk/gtknumerableicon.c:652 +#, fuzzy +#| msgid "Icon set" +msgid "Icon's count" +msgstr "Conjunto de iconos" + +#: ../gtk/gtknumerableicon.c:653 +#, fuzzy +#| msgid "The index of the current page" +msgid "The count of the emblem currently displayed" +msgstr "El índice de la página actual" + +#: ../gtk/gtknumerableicon.c:659 +#| msgid "Icon Name" +msgid "Icon's label" +msgstr "Etiqueta del icono" + +#: ../gtk/gtknumerableicon.c:660 +#, fuzzy +#| msgid "The stock icon displayed on the item" +msgid "The label to be displayed over the icon" +msgstr "El icono de inventario mostrado en el elemento" + +#: ../gtk/gtknumerableicon.c:666 +#, fuzzy +#| msgid "Style context" +msgid "Icon's style context" +msgstr "Estilo del contexto" + +#: ../gtk/gtknumerableicon.c:667 +msgid "The style context to theme the icon appearance" +msgstr "" + +#: ../gtk/gtknumerableicon.c:673 +#| msgid "Background color" +msgid "Background icon" +msgstr "Icono de fondo" + +#: ../gtk/gtknumerableicon.c:674 +msgid "The icon for the number emblem background" +msgstr "" + +#: ../gtk/gtknumerableicon.c:680 +#| msgid "Background color name" +msgid "Background icon name" +msgstr "Nombre del icono de fondo" + +#: ../gtk/gtknumerableicon.c:681 +#, fuzzy +#| msgid "The icon name to use for the printer" +msgid "The icon name for the number emblem background" +msgstr "El nombre del icono a usar para la impresora" + +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 msgid "Orientation" msgstr "Orientación" @@ -3975,74 +4363,74 @@ msgstr "Orientación" msgid "The orientation of the orientable" msgstr "La orientación del orientable" -#: ../gtk/gtkpaned.c:328 +#: ../gtk/gtkpaned.c:327 msgid "" "Position of paned separator in pixels (0 means all the way to the left/top)" msgstr "" "Posición del separador cada hoja de la ventana en píxeles (0 significa todo " "el trayecto hacia la izquierda/arriba) " -#: ../gtk/gtkpaned.c:337 +#: ../gtk/gtkpaned.c:336 msgid "Position Set" msgstr "Posición establecida" -#: ../gtk/gtkpaned.c:338 +#: ../gtk/gtkpaned.c:337 msgid "TRUE if the Position property should be used" msgstr "TRUE si debe usarse la propiedad «Posición»" -#: ../gtk/gtkpaned.c:344 +#: ../gtk/gtkpaned.c:343 msgid "Handle Size" msgstr "Tamaño del tirador" -#: ../gtk/gtkpaned.c:345 +#: ../gtk/gtkpaned.c:344 msgid "Width of handle" msgstr "Anchura del tirador" -#: ../gtk/gtkpaned.c:361 +#: ../gtk/gtkpaned.c:360 msgid "Minimal Position" msgstr "Posición mínima" -#: ../gtk/gtkpaned.c:362 +#: ../gtk/gtkpaned.c:361 msgid "Smallest possible value for the \"position\" property" msgstr "El valor más pequeño posible para la propiedad \"position\"" -#: ../gtk/gtkpaned.c:379 +#: ../gtk/gtkpaned.c:378 msgid "Maximal Position" msgstr "Posición máxima" -#: ../gtk/gtkpaned.c:380 +#: ../gtk/gtkpaned.c:379 msgid "Largest possible value for the \"position\" property" msgstr "El valor más grande posible para la propiedad \"posicion\"" -#: ../gtk/gtkpaned.c:397 +#: ../gtk/gtkpaned.c:396 msgid "Resize" msgstr "Redimensionar" -#: ../gtk/gtkpaned.c:398 +#: ../gtk/gtkpaned.c:397 msgid "If TRUE, the child expands and shrinks along with the paned widget" msgstr "Si es TRUE, el hijo se expande y encoge junto con el widget dividido" -#: ../gtk/gtkpaned.c:413 +#: ../gtk/gtkpaned.c:412 msgid "Shrink" msgstr "Encoger" -#: ../gtk/gtkpaned.c:414 +#: ../gtk/gtkpaned.c:413 msgid "If TRUE, the child can be made smaller than its requisition" msgstr "Si es TRUE, el hijo puede hacerse más pequeño que sus requisitos" -#: ../gtk/gtkplug.c:177 ../gtk/gtkstatusicon.c:303 +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 msgid "Embedded" msgstr "Empotrado" -#: ../gtk/gtkplug.c:178 +#: ../gtk/gtkplug.c:181 msgid "Whether the plug is embedded" msgstr "Indica si el complemento está empotrado" -#: ../gtk/gtkplug.c:192 +#: ../gtk/gtkplug.c:195 msgid "Socket Window" msgstr "Ventana del socket" -#: ../gtk/gtkplug.c:193 +#: ../gtk/gtkplug.c:196 msgid "The window of the socket the plug is embedded in" msgstr "La ventana del socket en la que el enchufe está empotrado" @@ -4159,7 +4547,7 @@ msgstr "Configuración de la impresora" msgid "Page Setup" msgstr "Configuración de la página" -#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1133 +#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Seguimiento del estado de impresión" @@ -4172,51 +4560,51 @@ msgstr "" "estado después de que los datos de impresión se hayan enviado a la impresora " "o servidor de impresoras." -#: ../gtk/gtkprintoperation.c:1005 +#: ../gtk/gtkprintoperation.c:1008 msgid "Default Page Setup" msgstr "Configuración de la página predeterminada" -#: ../gtk/gtkprintoperation.c:1006 +#: ../gtk/gtkprintoperation.c:1009 msgid "The GtkPageSetup used by default" msgstr "La GtkPageSetup usada por omisión" -#: ../gtk/gtkprintoperation.c:1024 ../gtk/gtkprintunixdialog.c:316 +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:316 msgid "Print Settings" msgstr "Configuración de impresión" -#: ../gtk/gtkprintoperation.c:1025 ../gtk/gtkprintunixdialog.c:317 +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:317 msgid "The GtkPrintSettings used for initializing the dialog" msgstr "Los GtkPrintSettings usados para inicializar el diálogo" -#: ../gtk/gtkprintoperation.c:1043 +#: ../gtk/gtkprintoperation.c:1046 msgid "Job Name" msgstr "Nombre de la tarea" -#: ../gtk/gtkprintoperation.c:1044 +#: ../gtk/gtkprintoperation.c:1047 msgid "A string used for identifying the print job." msgstr "Una cadena usada para identificar la tarea de impresión." -#: ../gtk/gtkprintoperation.c:1068 +#: ../gtk/gtkprintoperation.c:1071 msgid "Number of Pages" msgstr "Número de páginas" -#: ../gtk/gtkprintoperation.c:1069 +#: ../gtk/gtkprintoperation.c:1072 msgid "The number of pages in the document." msgstr "El número de páginas en el documento." -#: ../gtk/gtkprintoperation.c:1090 ../gtk/gtkprintunixdialog.c:306 +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:306 msgid "Current Page" msgstr "Página actual" -#: ../gtk/gtkprintoperation.c:1091 ../gtk/gtkprintunixdialog.c:307 +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:307 msgid "The current page in the document" msgstr "La página actual en el documento" -#: ../gtk/gtkprintoperation.c:1112 +#: ../gtk/gtkprintoperation.c:1115 msgid "Use full page" msgstr "Usar página completa" -#: ../gtk/gtkprintoperation.c:1113 +#: ../gtk/gtkprintoperation.c:1116 msgid "" "TRUE if the origin of the context should be at the corner of the page and " "not the corner of the imageable area" @@ -4224,7 +4612,7 @@ msgstr "" "TRUE si el origen del contexto debe estar en la esquina de la página y no en " "la esquina del área de donde puede aparecer la imagen" -#: ../gtk/gtkprintoperation.c:1134 +#: ../gtk/gtkprintoperation.c:1137 msgid "" "TRUE if the print operation will continue to report on the print job status " "after the print data has been sent to the printer or print server." @@ -4233,89 +4621,89 @@ msgstr "" "impresión después de que los datos de impresión se hayan enviado al servidor " "de impresoras o a la impresora." -#: ../gtk/gtkprintoperation.c:1151 +#: ../gtk/gtkprintoperation.c:1154 msgid "Unit" msgstr "Unidad" -#: ../gtk/gtkprintoperation.c:1152 +#: ../gtk/gtkprintoperation.c:1155 msgid "The unit in which distances can be measured in the context" msgstr "La unidad en la que se pueden medir las distancias en el contexto" -#: ../gtk/gtkprintoperation.c:1169 +#: ../gtk/gtkprintoperation.c:1172 msgid "Show Dialog" msgstr "Mostrar diálogo" -#: ../gtk/gtkprintoperation.c:1170 +#: ../gtk/gtkprintoperation.c:1173 msgid "TRUE if a progress dialog is shown while printing." msgstr "TRUE si se muestra un diálogo de progreso durante la impresión." -#: ../gtk/gtkprintoperation.c:1193 +#: ../gtk/gtkprintoperation.c:1196 msgid "Allow Async" msgstr "Permitir asíncrono" -#: ../gtk/gtkprintoperation.c:1194 +#: ../gtk/gtkprintoperation.c:1197 msgid "TRUE if print process may run asynchronous." msgstr "TRUE si el proceso de impresión puede ejecutarse asíncronamente." -#: ../gtk/gtkprintoperation.c:1216 ../gtk/gtkprintoperation.c:1217 +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 msgid "Export filename" msgstr "Nombre de archivo para exportar" -#: ../gtk/gtkprintoperation.c:1231 +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "Estado" -#: ../gtk/gtkprintoperation.c:1232 +#: ../gtk/gtkprintoperation.c:1235 msgid "The status of the print operation" msgstr "El estado de la operación de impresión" -#: ../gtk/gtkprintoperation.c:1252 +#: ../gtk/gtkprintoperation.c:1255 msgid "Status String" msgstr "Cadena de estado" -#: ../gtk/gtkprintoperation.c:1253 +#: ../gtk/gtkprintoperation.c:1256 msgid "A human-readable description of the status" msgstr "Una descripción leíble por humanos del estado" -#: ../gtk/gtkprintoperation.c:1271 +#: ../gtk/gtkprintoperation.c:1274 msgid "Custom tab label" msgstr "Etiqueta de solapa personalizada" -#: ../gtk/gtkprintoperation.c:1272 +#: ../gtk/gtkprintoperation.c:1275 msgid "Label for the tab containing custom widgets." msgstr "Etiqueta para la solapa que contiene widgets personalizados." -#: ../gtk/gtkprintoperation.c:1287 ../gtk/gtkprintunixdialog.c:341 +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:341 msgid "Support Selection" msgstr "Soportar selección" -#: ../gtk/gtkprintoperation.c:1288 +#: ../gtk/gtkprintoperation.c:1291 msgid "TRUE if the print operation will support print of selection." msgstr "TRUE si la operación de impresión soporta impresión de la selección." -#: ../gtk/gtkprintoperation.c:1304 ../gtk/gtkprintunixdialog.c:349 +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:349 msgid "Has Selection" msgstr "Tiene selección" -#: ../gtk/gtkprintoperation.c:1305 +#: ../gtk/gtkprintoperation.c:1308 msgid "TRUE if a selection exists." msgstr "TRUE si existe una selección." -#: ../gtk/gtkprintoperation.c:1320 ../gtk/gtkprintunixdialog.c:357 +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:357 msgid "Embed Page Setup" msgstr "Configuración de página empotrada" -#: ../gtk/gtkprintoperation.c:1321 +#: ../gtk/gtkprintoperation.c:1324 msgid "TRUE if page setup combos are embedded in GtkPrintDialog" msgstr "" "TRUE si los combos de la configuración de página están empotrados en " "GtkPrintDialog" -#: ../gtk/gtkprintoperation.c:1342 +#: ../gtk/gtkprintoperation.c:1345 msgid "Number of Pages To Print" msgstr "Número de páginas para imprimir" -#: ../gtk/gtkprintoperation.c:1343 +#: ../gtk/gtkprintoperation.c:1346 msgid "The number of pages that will be printed." msgstr "El número de páginas que se imprimirán." @@ -4374,15 +4762,15 @@ msgstr "" msgid "Text to be displayed in the progress bar" msgstr "Texto que se mostrará en la barra de progreso" -#: ../gtk/gtkprogressbar.c:185 +#: ../gtk/gtkprogressbar.c:195 msgid "Show text" msgstr "Mostrar texto" -#: ../gtk/gtkprogressbar.c:186 +#: ../gtk/gtkprogressbar.c:196 msgid "Whether the progress is shown as text." msgstr "Indica si el progreso se muestra como texto." -#: ../gtk/gtkprogressbar.c:208 +#: ../gtk/gtkprogressbar.c:218 msgid "" "The preferred place to ellipsize the string, if the progress bar does not " "have enough room to display the entire string, if at all." @@ -4390,51 +4778,51 @@ msgstr "" "El lugar preferido para la elipsis de la cadena, si la barra de progreso no " "tiene suficiente espacio para mostrar la cadena completa." -#: ../gtk/gtkprogressbar.c:215 +#: ../gtk/gtkprogressbar.c:225 msgid "X spacing" msgstr "Espaciado X" -#: ../gtk/gtkprogressbar.c:216 +#: ../gtk/gtkprogressbar.c:226 msgid "Extra spacing applied to the width of a progress bar." msgstr "Espacio extra aplicado a la anchura de una barra de progreso." -#: ../gtk/gtkprogressbar.c:221 +#: ../gtk/gtkprogressbar.c:231 msgid "Y spacing" msgstr "Espaciado Y" -#: ../gtk/gtkprogressbar.c:222 +#: ../gtk/gtkprogressbar.c:232 msgid "Extra spacing applied to the height of a progress bar." msgstr "Espacio adicional aplicado a la altura >de una barra de progreso." -#: ../gtk/gtkprogressbar.c:235 +#: ../gtk/gtkprogressbar.c:245 msgid "Minimum horizontal bar width" msgstr "Anchura mínima de la barra horizontal" -#: ../gtk/gtkprogressbar.c:236 +#: ../gtk/gtkprogressbar.c:246 msgid "The minimum horizontal width of the progress bar" msgstr "La anchura mínima horizontal de la barra de progreso" -#: ../gtk/gtkprogressbar.c:248 +#: ../gtk/gtkprogressbar.c:258 msgid "Minimum horizontal bar height" msgstr "Altura mínima de la barra horizontal" -#: ../gtk/gtkprogressbar.c:249 +#: ../gtk/gtkprogressbar.c:259 msgid "Minimum horizontal height of the progress bar" msgstr "La altura mínima horizontal de la barra de progreso" -#: ../gtk/gtkprogressbar.c:261 +#: ../gtk/gtkprogressbar.c:271 msgid "Minimum vertical bar width" msgstr "Anchura mínima horizontal de la barra" -#: ../gtk/gtkprogressbar.c:262 +#: ../gtk/gtkprogressbar.c:272 msgid "The minimum vertical width of the progress bar" msgstr "La anchura mínima vertical de la barra de progreso" -#: ../gtk/gtkprogressbar.c:274 +#: ../gtk/gtkprogressbar.c:284 msgid "Minimum vertical bar height" msgstr "Altura mínima vertical de la barra" -#: ../gtk/gtkprogressbar.c:275 +#: ../gtk/gtkprogressbar.c:285 msgid "The minimum vertical height of the progress bar" msgstr "La altura mínima vertical de la barra de progreso" @@ -4483,29 +4871,21 @@ msgstr "El elemento del menú de radio a cuyo grupo pertenece este widget." msgid "The radio tool button whose group this button belongs to." msgstr "La herramienta de botón de radio a cuyo grupo pertenece este widget." -#: ../gtk/gtkrange.c:422 -msgid "Update policy" -msgstr "Política de actualización" - -#: ../gtk/gtkrange.c:423 -msgid "How the range should be updated on the screen" -msgstr "Cómo se debe actualizar el rango en la pantalla" - -#: ../gtk/gtkrange.c:432 +#: ../gtk/gtkrange.c:416 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "El GtkAdjustment que contiene el valor actual de este objeto de rango" -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:424 msgid "Invert direction slider moves to increase range value" msgstr "" "Invierte la dirección en que se mueve el deslizador para incrementar el " "valor del rango" -#: ../gtk/gtkrange.c:447 +#: ../gtk/gtkrange.c:431 msgid "Lower stepper sensitivity" msgstr "Sensibilidad de la flecha inferior" -#: ../gtk/gtkrange.c:448 +#: ../gtk/gtkrange.c:432 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4513,11 +4893,11 @@ msgstr "" "La directiva de sensibilidad del botón de desplazamiento que apunta al lado " "más bajo del ajuste" -#: ../gtk/gtkrange.c:456 +#: ../gtk/gtkrange.c:440 msgid "Upper stepper sensitivity" msgstr "Sensibilidad de la flecha superior" -#: ../gtk/gtkrange.c:457 +#: ../gtk/gtkrange.c:441 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4525,91 +4905,91 @@ msgstr "" "La directiva de sensibilidad del botón de flecha que apunta al lado más alto " "del ajuste" -#: ../gtk/gtkrange.c:474 +#: ../gtk/gtkrange.c:458 msgid "Show Fill Level" msgstr "Mostrar nivel de relleno" -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:459 msgid "Whether to display a fill level indicator graphics on trough." msgstr "" "Indica si se debe mostrar el indicador de nivel de llenado en los gráficos " "mientras se llena." -#: ../gtk/gtkrange.c:491 +#: ../gtk/gtkrange.c:475 msgid "Restrict to Fill Level" msgstr "Restringir al nivel de llenado" -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:476 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Indica si se debe restringir el borde superior al nivel de llenado." -#: ../gtk/gtkrange.c:507 +#: ../gtk/gtkrange.c:491 msgid "Fill Level" msgstr "Nivel de llenado" -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:492 msgid "The fill level." msgstr "El nivel de llenado." -#: ../gtk/gtkrange.c:516 ../gtk/gtkswitch.c:772 +#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 msgid "Slider Width" msgstr "Anchura del deslizador" -#: ../gtk/gtkrange.c:517 +#: ../gtk/gtkrange.c:501 msgid "Width of scrollbar or scale thumb" msgstr "Anchura de la barra de desplazamiento o escala de miniatura" -#: ../gtk/gtkrange.c:524 +#: ../gtk/gtkrange.c:508 msgid "Trough Border" msgstr "Borde del carril" -#: ../gtk/gtkrange.c:525 +#: ../gtk/gtkrange.c:509 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "" "Espaciado entre la marcador/flechas de desplazamiento y el bisel exterior " "del carril" -#: ../gtk/gtkrange.c:532 +#: ../gtk/gtkrange.c:516 msgid "Stepper Size" msgstr "Tamaño del botón de flecha de desplazamiento" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:517 msgid "Length of step buttons at ends" msgstr "Longitud de los botones de flecha en los extremos" -#: ../gtk/gtkrange.c:548 +#: ../gtk/gtkrange.c:532 msgid "Stepper Spacing" msgstr "Espaciado de los botones de flecha de desplazamiento" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:533 msgid "Spacing between step buttons and thumb" msgstr "Espaciado entre los botones de flecha de desplazamiento y el marcador" -#: ../gtk/gtkrange.c:556 +#: ../gtk/gtkrange.c:540 msgid "Arrow X Displacement" msgstr "Desplazamiento de la flecha X" -#: ../gtk/gtkrange.c:557 +#: ../gtk/gtkrange.c:541 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "Distancia en la dirección «X» para mover la flecha cuando se suelta el botón " -#: ../gtk/gtkrange.c:564 +#: ../gtk/gtkrange.c:548 msgid "Arrow Y Displacement" msgstr "Desplazamiento de la flecha Y" -#: ../gtk/gtkrange.c:565 +#: ../gtk/gtkrange.c:549 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "Distancia en la dirección «Y» para mover la flecha cuando se suelta el botón " -#: ../gtk/gtkrange.c:583 +#: ../gtk/gtkrange.c:567 msgid "Trough Under Steppers" msgstr "Carril bajo las flechas de deslizamiento" -#: ../gtk/gtkrange.c:584 +#: ../gtk/gtkrange.c:568 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4617,11 +4997,11 @@ msgstr "" "Indica si se debe dibujar para la longitud completa del rango o excluir las " "flechas de desplazamiento y el espaciado" -#: ../gtk/gtkrange.c:597 +#: ../gtk/gtkrange.c:581 msgid "Arrow scaling" msgstr "Escalado de flechas" -#: ../gtk/gtkrange.c:598 +#: ../gtk/gtkrange.c:582 msgid "Arrow scaling with regard to scroll button size" msgstr "" "Escalado de flechas en consideración con el tamaño del botón de " @@ -4717,26 +5097,26 @@ msgstr "La ruta completa al archivo a usar para almacenar y leer la lista" msgid "The size of the recently used resources list" msgstr "El tamaño de la lista de recursos usados recientemente" -#: ../gtk/gtkscalebutton.c:221 +#: ../gtk/gtkscalebutton.c:218 msgid "The value of the scale" msgstr "El valor de la escala" -#: ../gtk/gtkscalebutton.c:231 +#: ../gtk/gtkscalebutton.c:228 msgid "The icon size" msgstr "El tamaño del icono" -#: ../gtk/gtkscalebutton.c:240 +#: ../gtk/gtkscalebutton.c:237 msgid "" "The GtkAdjustment that contains the current value of this scale button object" msgstr "" "El GtkAdjustment que contiene el valor actual de este objeto de botón de " "escala" -#: ../gtk/gtkscalebutton.c:268 +#: ../gtk/gtkscalebutton.c:265 msgid "Icons" msgstr "Iconos" -#: ../gtk/gtkscalebutton.c:269 +#: ../gtk/gtkscalebutton.c:266 msgid "List of icon names" msgstr "Lista de nombres de iconos" @@ -4777,6 +5157,42 @@ msgstr "Espaciado del valor" msgid "Space between value text and the slider/trough area" msgstr "Espacio entre el texto del valor y el área del deslizador/carril" +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "Ajuste horizontal" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "Ajuste vertical" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" + +#: ../gtk/gtkscrollable.c:120 +#, fuzzy +#| msgid "Horizontal Scrollbar Policy" +msgid "Horizontal Scrollable Policy" +msgstr "Directiva de la barra de desplazamiento horizontal" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "" + +#: ../gtk/gtkscrollable.c:136 +#, fuzzy +#| msgid "Vertical Scrollbar Policy" +msgid "Vertical Scrollable Policy" +msgstr "Directiva de la barra de desplazamiento vertical" + #: ../gtk/gtkscrollbar.c:72 msgid "Minimum Slider Length" msgstr "Longitud mínima del deslizador" @@ -4808,43 +5224,43 @@ msgstr "" "Muestra un botón secundario con flecha de avance en el extremo opuesto de la " "barra de desplazamiento" -#: ../gtk/gtkscrolledwindow.c:295 +#: ../gtk/gtkscrolledwindow.c:296 msgid "Horizontal Adjustment" msgstr "Ajuste horizontal" -#: ../gtk/gtkscrolledwindow.c:296 +#: ../gtk/gtkscrolledwindow.c:297 msgid "The GtkAdjustment for the horizontal position" msgstr "El ajuste GtkAdjustment para la posición horizontal" -#: ../gtk/gtkscrolledwindow.c:302 +#: ../gtk/gtkscrolledwindow.c:303 msgid "Vertical Adjustment" msgstr "Ajuste vertical" -#: ../gtk/gtkscrolledwindow.c:303 +#: ../gtk/gtkscrolledwindow.c:304 msgid "The GtkAdjustment for the vertical position" msgstr "El ajuste GtkAdjustment para la posición vertical" -#: ../gtk/gtkscrolledwindow.c:309 +#: ../gtk/gtkscrolledwindow.c:310 msgid "Horizontal Scrollbar Policy" msgstr "Directiva de la barra de desplazamiento horizontal" -#: ../gtk/gtkscrolledwindow.c:310 +#: ../gtk/gtkscrolledwindow.c:311 msgid "When the horizontal scrollbar is displayed" msgstr "Cuando mostrar la barra de desplazamiento horizontal" -#: ../gtk/gtkscrolledwindow.c:317 +#: ../gtk/gtkscrolledwindow.c:318 msgid "Vertical Scrollbar Policy" msgstr "Directiva de la barra de desplazamiento vertical" -#: ../gtk/gtkscrolledwindow.c:318 +#: ../gtk/gtkscrolledwindow.c:319 msgid "When the vertical scrollbar is displayed" msgstr "Cuando mostrar la barra de desplazamiento vertical" -#: ../gtk/gtkscrolledwindow.c:326 +#: ../gtk/gtkscrolledwindow.c:327 msgid "Window Placement" msgstr "Colocación de la ventana" -#: ../gtk/gtkscrolledwindow.c:327 +#: ../gtk/gtkscrolledwindow.c:328 msgid "" "Where the contents are located with respect to the scrollbars. This property " "only takes effect if \"window-placement-set\" is TRUE." @@ -4852,11 +5268,11 @@ msgstr "" "Dónde se colocan los contenidos respecto a las barras de desplazamiento. " "Esta propiedad sólo tiene efecto si \"window-placement-set\" es TRUE." -#: ../gtk/gtkscrolledwindow.c:344 +#: ../gtk/gtkscrolledwindow.c:345 msgid "Window Placement Set" msgstr "Establece la colocación de la ventana" -#: ../gtk/gtkscrolledwindow.c:345 +#: ../gtk/gtkscrolledwindow.c:346 msgid "" "Whether \"window-placement\" should be used to determine the location of the " "contents with respect to the scrollbars." @@ -4864,46 +5280,46 @@ msgstr "" "Indica si debe usarse \"window-placement\" para determinar el lugar del " "contenido respecto a las barras de desplazamiento." -#: ../gtk/gtkscrolledwindow.c:351 +#: ../gtk/gtkscrolledwindow.c:352 msgid "Shadow Type" msgstr "Tipo de sombra" -#: ../gtk/gtkscrolledwindow.c:352 +#: ../gtk/gtkscrolledwindow.c:353 msgid "Style of bevel around the contents" msgstr "Estilo de bisel alrededor de los contenidos" -#: ../gtk/gtkscrolledwindow.c:366 +#: ../gtk/gtkscrolledwindow.c:367 msgid "Scrollbars within bevel" msgstr "Barras de desplazamiento entre biseles" -#: ../gtk/gtkscrolledwindow.c:367 +#: ../gtk/gtkscrolledwindow.c:368 msgid "Place scrollbars within the scrolled window's bevel" msgstr "" "Ubicar barras de desplazamiento entre el bisel de la ventana desplazada" -#: ../gtk/gtkscrolledwindow.c:373 +#: ../gtk/gtkscrolledwindow.c:374 msgid "Scrollbar spacing" msgstr "Espaciado de la barra de desplazamiento" -#: ../gtk/gtkscrolledwindow.c:374 +#: ../gtk/gtkscrolledwindow.c:375 msgid "Number of pixels between the scrollbars and the scrolled window" msgstr "" "Número de píxeles entre las barras de desplazamiento y la ventana enrollada" -#: ../gtk/gtkscrolledwindow.c:383 +#: ../gtk/gtkscrolledwindow.c:391 msgid "Minimum Content Width" msgstr "Anchura mínima del contenido" -#: ../gtk/gtkscrolledwindow.c:384 +#: ../gtk/gtkscrolledwindow.c:392 msgid "The minimum width that the scrolled window will allocate to its content" msgstr "" "La anchura mínima que la ventana desplazada reservará para su contenido" -#: ../gtk/gtkscrolledwindow.c:390 +#: ../gtk/gtkscrolledwindow.c:406 msgid "Minimum Content Height" msgstr "Altura mínima del contenido" -#: ../gtk/gtkscrolledwindow.c:391 +#: ../gtk/gtkscrolledwindow.c:407 msgid "" "The minimum height that the scrolled window will allocate to its content" msgstr "La altura mínima que la ventana desplazada reservará para su contenido" @@ -4916,11 +5332,11 @@ msgstr "Dibujar" msgid "Whether the separator is drawn, or just blank" msgstr "Indica si el separador se dibuja, o sólo se deja en blanco" -#: ../gtk/gtksettings.c:285 +#: ../gtk/gtksettings.c:299 msgid "Double Click Time" msgstr "Tiempo del doble pulsación" -#: ../gtk/gtksettings.c:286 +#: ../gtk/gtksettings.c:300 msgid "" "Maximum time allowed between two clicks for them to be considered a double " "click (in milliseconds)" @@ -4928,11 +5344,11 @@ msgstr "" "Tiempo máximo permitido entre dos pulsaciones para ser considerados como una " "pulsación doble (en milisegundos)" -#: ../gtk/gtksettings.c:293 +#: ../gtk/gtksettings.c:307 msgid "Double Click Distance" msgstr "Distancia de la pulsación doble" -#: ../gtk/gtksettings.c:294 +#: ../gtk/gtksettings.c:308 msgid "" "Maximum distance allowed between two clicks for them to be considered a " "double click (in pixels)" @@ -4940,35 +5356,35 @@ msgstr "" "Distancia máxima permitida entre dos pulsaciones para ser considerados como " "una pulsación doble (en píxeles)" -#: ../gtk/gtksettings.c:310 +#: ../gtk/gtksettings.c:324 msgid "Cursor Blink" msgstr "Parpadeo del cursor" -#: ../gtk/gtksettings.c:311 +#: ../gtk/gtksettings.c:325 msgid "Whether the cursor should blink" msgstr "Indica si el cursor debe parpadear" -#: ../gtk/gtksettings.c:318 +#: ../gtk/gtksettings.c:332 msgid "Cursor Blink Time" msgstr "Tiempo de parpadeo del cursor" -#: ../gtk/gtksettings.c:319 +#: ../gtk/gtksettings.c:333 msgid "Length of the cursor blink cycle, in milliseconds" msgstr "Longitud del ciclo de parpadeo del cursor, en milisegundos" -#: ../gtk/gtksettings.c:338 +#: ../gtk/gtksettings.c:352 msgid "Cursor Blink Timeout" msgstr "Intervalo de parpadeo del cursor" -#: ../gtk/gtksettings.c:339 +#: ../gtk/gtksettings.c:353 msgid "Time after which the cursor stops blinking, in seconds" msgstr "Tiempo tras el que el cursor para de parpadear, en segundos" -#: ../gtk/gtksettings.c:346 +#: ../gtk/gtksettings.c:360 msgid "Split Cursor" msgstr "Dividir cursor" -#: ../gtk/gtksettings.c:347 +#: ../gtk/gtksettings.c:361 msgid "" "Whether two cursors should be displayed for mixed left-to-right and right-to-" "left text" @@ -4976,161 +5392,161 @@ msgstr "" "Indica si deben mostrarse dos cursores para el texto mezclado de izquierda-a-" "derecha y derecha-a-izquierda" -#: ../gtk/gtksettings.c:354 +#: ../gtk/gtksettings.c:368 msgid "Theme Name" msgstr "Nombre del tema" -#: ../gtk/gtksettings.c:355 +#: ../gtk/gtksettings.c:369 msgid "Name of theme RC file to load" msgstr "Nombre del archivo RC de tema que cargar" -#: ../gtk/gtksettings.c:363 +#: ../gtk/gtksettings.c:377 msgid "Icon Theme Name" msgstr "Nombre del tema de iconos" -#: ../gtk/gtksettings.c:364 +#: ../gtk/gtksettings.c:378 msgid "Name of icon theme to use" msgstr "Nombre del tema de iconos que utilizar" -#: ../gtk/gtksettings.c:372 +#: ../gtk/gtksettings.c:386 msgid "Fallback Icon Theme Name" msgstr "Nombre del tema de iconos de resguardo" -#: ../gtk/gtksettings.c:373 +#: ../gtk/gtksettings.c:387 msgid "Name of a icon theme to fall back to" msgstr "Nombre del tema de iconos que utilizar como resguardo" -#: ../gtk/gtksettings.c:381 +#: ../gtk/gtksettings.c:395 msgid "Key Theme Name" msgstr "Nombre del tema de teclas" -#: ../gtk/gtksettings.c:382 +#: ../gtk/gtksettings.c:396 msgid "Name of key theme RC file to load" msgstr "Nombre del archivo RC de tema de teclas que cargar" -#: ../gtk/gtksettings.c:390 +#: ../gtk/gtksettings.c:404 msgid "Menu bar accelerator" msgstr "Acelerador de la barra de menús" -#: ../gtk/gtksettings.c:391 +#: ../gtk/gtksettings.c:405 msgid "Keybinding to activate the menu bar" msgstr "Combinación de teclas para activar la barra de menús" -#: ../gtk/gtksettings.c:399 +#: ../gtk/gtksettings.c:413 msgid "Drag threshold" msgstr "Umbral del arrastre" -#: ../gtk/gtksettings.c:400 +#: ../gtk/gtksettings.c:414 msgid "Number of pixels the cursor can move before dragging" msgstr "" "Número de píxeles que el cursor puede mover antes de iniciar el arrastre" -#: ../gtk/gtksettings.c:408 +#: ../gtk/gtksettings.c:422 msgid "Font Name" msgstr "Nombre de la tipografía" -#: ../gtk/gtksettings.c:409 +#: ../gtk/gtksettings.c:423 msgid "Name of default font to use" msgstr "Nombre de la tipografía predeterminada a utilizar" -#: ../gtk/gtksettings.c:431 +#: ../gtk/gtksettings.c:445 msgid "Icon Sizes" msgstr "Tamaños de los iconos" -#: ../gtk/gtksettings.c:432 +#: ../gtk/gtksettings.c:446 msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." msgstr "Lista de tamaños de los iconos (gtk-menu=16,16:gtk-button=20,20..." -#: ../gtk/gtksettings.c:440 +#: ../gtk/gtksettings.c:454 msgid "GTK Modules" msgstr "Módulos GTK" -#: ../gtk/gtksettings.c:441 +#: ../gtk/gtksettings.c:455 msgid "List of currently active GTK modules" msgstr "Lista de módulos GTK activos actualmente" -#: ../gtk/gtksettings.c:450 +#: ../gtk/gtksettings.c:464 msgid "Xft Antialias" msgstr "Suavizado Xft" -#: ../gtk/gtksettings.c:451 +#: ../gtk/gtksettings.c:465 msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" msgstr "" -"Indica si se deben suavizar los bordes de las tipografías Xft; 0=no,1=sí, -" -"1=predeterminado" +"Indica si se deben suavizar los bordes de las tipografías Xft; 0=no,1=sí, " +"-1=predeterminado" -#: ../gtk/gtksettings.c:460 +#: ../gtk/gtksettings.c:474 msgid "Xft Hinting" msgstr "Sugerencias Xft" -#: ../gtk/gtksettings.c:461 +#: ../gtk/gtksettings.c:475 msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" msgstr "" "Indica si se deben usar las sugerencias de las tipografías Xft; 0=no, 1 =sí, " "-1=predeterminado" -#: ../gtk/gtksettings.c:470 +#: ../gtk/gtksettings.c:484 msgid "Xft Hint Style" msgstr "Estilo de sugerencias Xft" -#: ../gtk/gtksettings.c:471 +#: ../gtk/gtksettings.c:485 msgid "" "What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" msgstr "Qué grado de sugerencias usar: ninguno, ligero, medio o completo" -#: ../gtk/gtksettings.c:480 +#: ../gtk/gtksettings.c:494 msgid "Xft RGBA" msgstr "Xft RGBA" -#: ../gtk/gtksettings.c:481 +#: ../gtk/gtksettings.c:495 msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" msgstr "Tipo de suavizado de subpíxel: ninguno, rgb, bgr, vrgb, vbgr" -#: ../gtk/gtksettings.c:490 +#: ../gtk/gtksettings.c:504 msgid "Xft DPI" msgstr "PPP Xft (DPI)" -#: ../gtk/gtksettings.c:491 +#: ../gtk/gtksettings.c:505 msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" msgstr "" "Resolución para Xft, en 1024 * puntos/pulgada. -1 para usar el valor " "predeterminado" -#: ../gtk/gtksettings.c:500 +#: ../gtk/gtksettings.c:514 msgid "Cursor theme name" msgstr "Nombre del tema del cursor" -#: ../gtk/gtksettings.c:501 +#: ../gtk/gtksettings.c:515 msgid "Name of the cursor theme to use, or NULL to use the default theme" msgstr "" "Nombre del tema de cursor que utilizar, o NULL para usar el tema " "predeterminado" -#: ../gtk/gtksettings.c:509 +#: ../gtk/gtksettings.c:523 msgid "Cursor theme size" msgstr "Tamaño del tema del cursor" -#: ../gtk/gtksettings.c:510 +#: ../gtk/gtksettings.c:524 msgid "Size to use for cursors, or 0 to use the default size" msgstr "" "Tamaño que se va a usar para los cursores, o 0 para usar el tamaño " "predeterminado" -#: ../gtk/gtksettings.c:520 +#: ../gtk/gtksettings.c:534 msgid "Alternative button order" msgstr "Orden de los botones alternativo" -#: ../gtk/gtksettings.c:521 +#: ../gtk/gtksettings.c:535 msgid "Whether buttons in dialogs should use the alternative button order" msgstr "" "Indica si los botones en los diálogos deben usar un orden de botones " "alternativo" -#: ../gtk/gtksettings.c:538 +#: ../gtk/gtksettings.c:552 msgid "Alternative sort indicator direction" msgstr "Dirección alternativa del indicador de ordenamiento" -#: ../gtk/gtksettings.c:539 +#: ../gtk/gtksettings.c:553 msgid "" "Whether the direction of the sort indicators in list and tree views is " "inverted compared to the default (where down means ascending)" @@ -5139,11 +5555,11 @@ msgstr "" "vista de árbol está invertida en comparación con la predeterminada (donde " "abajo significa ascendente)" -#: ../gtk/gtksettings.c:547 +#: ../gtk/gtksettings.c:561 msgid "Show the 'Input Methods' menu" msgstr "Mostrar el menú de métodos de entrada" -#: ../gtk/gtksettings.c:548 +#: ../gtk/gtksettings.c:562 msgid "" "Whether the context menus of entries and text views should offer to change " "the input method" @@ -5151,11 +5567,11 @@ msgstr "" "Indica si los menús de contexto y las vistas de texto deben ofrecer cambiar " "el método de entrada" -#: ../gtk/gtksettings.c:556 +#: ../gtk/gtksettings.c:570 msgid "Show the 'Insert Unicode Control Character' menu" msgstr "Mostrar el menú «Insertar carácter de control Unicode»" -#: ../gtk/gtksettings.c:557 +#: ../gtk/gtksettings.c:571 msgid "" "Whether the context menus of entries and text views should offer to insert " "control characters" @@ -5163,254 +5579,254 @@ msgstr "" "Indica si los menús de contexto de las estradas y las vistas de texto deben " "ofrecer insertar caracteres de control" -#: ../gtk/gtksettings.c:565 +#: ../gtk/gtksettings.c:579 msgid "Start timeout" msgstr "Tiempo de expiración de inicio" -#: ../gtk/gtksettings.c:566 +#: ../gtk/gtksettings.c:580 msgid "Starting value for timeouts, when button is pressed" msgstr "Valor de inicio para las expiraciones, cuando se pulsa el botón" -#: ../gtk/gtksettings.c:575 +#: ../gtk/gtksettings.c:589 msgid "Repeat timeout" msgstr "Expiración de repetición" -#: ../gtk/gtksettings.c:576 +#: ../gtk/gtksettings.c:590 msgid "Repeat value for timeouts, when button is pressed" msgstr "Valor de repetición para expiraciones, cuando el botón se pulsa" -#: ../gtk/gtksettings.c:585 +#: ../gtk/gtksettings.c:599 msgid "Expand timeout" msgstr "Expiración del expansor" -#: ../gtk/gtksettings.c:586 +#: ../gtk/gtksettings.c:600 msgid "Expand value for timeouts, when a widget is expanding a new region" msgstr "" "Valor de expansión para las expiraciones, cuando un widget está expandiendo " "una región nueva" -#: ../gtk/gtksettings.c:621 +#: ../gtk/gtksettings.c:635 msgid "Color scheme" msgstr "Esquema de color" -#: ../gtk/gtksettings.c:622 +#: ../gtk/gtksettings.c:636 msgid "A palette of named colors for use in themes" msgstr "Una paleta de colores con nombre para usar en los temas" -#: ../gtk/gtksettings.c:631 +#: ../gtk/gtksettings.c:645 msgid "Enable Animations" msgstr "Activar animaciones" -#: ../gtk/gtksettings.c:632 +#: ../gtk/gtksettings.c:646 msgid "Whether to enable toolkit-wide animations." msgstr "Indica si se activan las animaciones para todo el toolkit." -#: ../gtk/gtksettings.c:650 +#: ../gtk/gtksettings.c:664 msgid "Enable Touchscreen Mode" msgstr "Activar modo pantalla táctil" -#: ../gtk/gtksettings.c:651 +#: ../gtk/gtksettings.c:665 msgid "When TRUE, there are no motion notify events delivered on this screen" msgstr "" "Cuando esté a TRUE, no hay eventos de notificación de movimiento entregados " "en esta pantalla" -#: ../gtk/gtksettings.c:668 +#: ../gtk/gtksettings.c:682 msgid "Tooltip timeout" msgstr "Tiempo de expiración del consejo" -#: ../gtk/gtksettings.c:669 +#: ../gtk/gtksettings.c:683 msgid "Timeout before tooltip is shown" msgstr "Tiempo de expiración antes de que se muestre el consejo" -#: ../gtk/gtksettings.c:694 +#: ../gtk/gtksettings.c:708 msgid "Tooltip browse timeout" msgstr "Tiempo de los consejos de navegación" -#: ../gtk/gtksettings.c:695 +#: ../gtk/gtksettings.c:709 msgid "Timeout before tooltip is shown when browse mode is enabled" msgstr "" "Tiempo de expiración antes de que se muestre el consejo cuando el modo de " "navegación está activado" -#: ../gtk/gtksettings.c:716 +#: ../gtk/gtksettings.c:730 msgid "Tooltip browse mode timeout" msgstr "Tiempo de los consejos en modo navegación" -#: ../gtk/gtksettings.c:717 +#: ../gtk/gtksettings.c:731 msgid "Timeout after which browse mode is disabled" msgstr "" "Tiempo de expiración después del cual se desactiva el modo de navegación" -#: ../gtk/gtksettings.c:736 +#: ../gtk/gtksettings.c:750 msgid "Keynav Cursor Only" msgstr "Sólo cursor para navegar con teclas" -#: ../gtk/gtksettings.c:737 +#: ../gtk/gtksettings.c:751 msgid "When TRUE, there are only cursor keys available to navigate widgets" msgstr "" "Cuando sea TRUE, sólo hay teclas de cursos disponibles para navegar por los " "widgets" -#: ../gtk/gtksettings.c:754 +#: ../gtk/gtksettings.c:768 msgid "Keynav Wrap Around" msgstr "Saltar al navegar con el teclado" -#: ../gtk/gtksettings.c:755 +#: ../gtk/gtksettings.c:769 msgid "Whether to wrap around when keyboard-navigating widgets" msgstr "" "Indica si se ha de saltar alrededor cuando se navegue por los widgets con el " "teclado" -#: ../gtk/gtksettings.c:775 +#: ../gtk/gtksettings.c:789 msgid "Error Bell" msgstr "Campana de error" -#: ../gtk/gtksettings.c:776 +#: ../gtk/gtksettings.c:790 msgid "When TRUE, keyboard navigation and other errors will cause a beep" msgstr "" "Cuando sea TRUE, la navegación con el teclado y otros errores causarán un bip" -#: ../gtk/gtksettings.c:793 +#: ../gtk/gtksettings.c:807 msgid "Color Hash" msgstr "Hash del color" -#: ../gtk/gtksettings.c:794 +#: ../gtk/gtksettings.c:808 msgid "A hash table representation of the color scheme." msgstr "Una representación en tabla hash del esquema de color." -#: ../gtk/gtksettings.c:802 +#: ../gtk/gtksettings.c:816 msgid "Default file chooser backend" msgstr "Backend predeterminado del selector de archivos" -#: ../gtk/gtksettings.c:803 +#: ../gtk/gtksettings.c:817 msgid "Name of the GtkFileChooser backend to use by default" msgstr "Nombre del backend predeterminado del GtkFileChooser" -#: ../gtk/gtksettings.c:820 +#: ../gtk/gtksettings.c:834 msgid "Default print backend" msgstr "Backend predeterminado de impresión" -#: ../gtk/gtksettings.c:821 +#: ../gtk/gtksettings.c:835 msgid "List of the GtkPrintBackend backends to use by default" msgstr "Lista de backends GtkPrintBackend para usar por omisión" -#: ../gtk/gtksettings.c:844 +#: ../gtk/gtksettings.c:858 msgid "Default command to run when displaying a print preview" msgstr "" "Comando predeterminado que ejecutar al mostrar una vista previa de impresión" -#: ../gtk/gtksettings.c:845 +#: ../gtk/gtksettings.c:859 msgid "Command to run when displaying a print preview" msgstr "Comando que ejecutar al mostrar una vista previa de impresión" -#: ../gtk/gtksettings.c:861 +#: ../gtk/gtksettings.c:875 msgid "Enable Mnemonics" msgstr "Activar mnemónicos" -#: ../gtk/gtksettings.c:862 +#: ../gtk/gtksettings.c:876 msgid "Whether labels should have mnemonics" msgstr "Indica si las etiquetas deben tener mnemónicos" -#: ../gtk/gtksettings.c:878 +#: ../gtk/gtksettings.c:892 msgid "Enable Accelerators" msgstr "Activar aceleradores" -#: ../gtk/gtksettings.c:879 +#: ../gtk/gtksettings.c:893 msgid "Whether menu items should have accelerators" msgstr "Indica si los elementos del menú deben tener aceleradores" -#: ../gtk/gtksettings.c:896 +#: ../gtk/gtksettings.c:910 msgid "Recent Files Limit" msgstr "Límite de archivos recientes" -#: ../gtk/gtksettings.c:897 +#: ../gtk/gtksettings.c:911 msgid "Number of recently used files" msgstr "Número de archivos usados recientemente" -#: ../gtk/gtksettings.c:915 +#: ../gtk/gtksettings.c:929 msgid "Default IM module" msgstr "Módulo de método de entrada predeterminado" -#: ../gtk/gtksettings.c:916 +#: ../gtk/gtksettings.c:930 msgid "Which IM module should be used by default" msgstr "Qué módulo de método de entrada se debe usar de forma predeterminada" -#: ../gtk/gtksettings.c:934 +#: ../gtk/gtksettings.c:948 msgid "Recent Files Max Age" msgstr "Antigüedad máxima de los archivos recientes" -#: ../gtk/gtksettings.c:935 +#: ../gtk/gtksettings.c:949 msgid "Maximum age of recently used files, in days" msgstr "Máxima antigüedad para los archivos recientemente usados, en días" -#: ../gtk/gtksettings.c:944 +#: ../gtk/gtksettings.c:958 msgid "Fontconfig configuration timestamp" msgstr "Configuración de la marca de tiempo de fontconfig" -#: ../gtk/gtksettings.c:945 +#: ../gtk/gtksettings.c:959 msgid "Timestamp of current fontconfig configuration" msgstr "Marca de tiempo de la configuración actual de fontconfig" -#: ../gtk/gtksettings.c:967 +#: ../gtk/gtksettings.c:981 msgid "Sound Theme Name" msgstr "Nombre del tema de sonido" -#: ../gtk/gtksettings.c:968 +#: ../gtk/gtksettings.c:982 msgid "XDG sound theme name" msgstr "Nombre del tema de sonido XDG" #. Translators: this means sounds that are played as feedback to user input -#: ../gtk/gtksettings.c:990 +#: ../gtk/gtksettings.c:1004 msgid "Audible Input Feedback" msgstr "Contexto de entrada audible" -#: ../gtk/gtksettings.c:991 +#: ../gtk/gtksettings.c:1005 msgid "Whether to play event sounds as feedback to user input" msgstr "" "Indica si se deben reproducir eventos como respuesta a las entradas del " "usuario" -#: ../gtk/gtksettings.c:1012 +#: ../gtk/gtksettings.c:1026 msgid "Enable Event Sounds" msgstr "Activar eventos de sonido" -#: ../gtk/gtksettings.c:1013 +#: ../gtk/gtksettings.c:1027 msgid "Whether to play any event sounds at all" msgstr "Indica si se debe reproducir cualquier evento de sonido" -#: ../gtk/gtksettings.c:1028 +#: ../gtk/gtksettings.c:1042 msgid "Enable Tooltips" msgstr "Activar consejos" -#: ../gtk/gtksettings.c:1029 +#: ../gtk/gtksettings.c:1043 msgid "Whether tooltips should be shown on widgets" msgstr "Indica si se deben mostrar los consejos en los widgets" -#: ../gtk/gtksettings.c:1042 +#: ../gtk/gtksettings.c:1056 msgid "Toolbar style" msgstr "Estilo de la barra de herramientas" -#: ../gtk/gtksettings.c:1043 +#: ../gtk/gtksettings.c:1057 msgid "" "Whether default toolbars have text only, text and icons, icons only, etc." msgstr "" "Indica si las barras de herramientas predeterminadas tienen sólo texto, " "texto e iconos, sólo iconos, etc." -#: ../gtk/gtksettings.c:1057 +#: ../gtk/gtksettings.c:1071 msgid "Toolbar Icon Size" msgstr "Tamaño del icono de la barra de herramientas" -#: ../gtk/gtksettings.c:1058 +#: ../gtk/gtksettings.c:1072 msgid "The size of icons in default toolbars." msgstr "El tamaño de los iconos el las barras de herramientas." -#: ../gtk/gtksettings.c:1075 +#: ../gtk/gtksettings.c:1089 msgid "Auto Mnemonics" msgstr "Mnemónicos automáticos" -#: ../gtk/gtksettings.c:1076 +#: ../gtk/gtksettings.c:1090 msgid "" "Whether mnemonics should be automatically shown and hidden when the user " "presses the mnemonic activator." @@ -5418,63 +5834,63 @@ msgstr "" "Indica si se deben mostrar y ocultar automáticamente los mnemónicos cuando " "el usuario pulsa el activador de mnemónicos." -#: ../gtk/gtksettings.c:1101 +#: ../gtk/gtksettings.c:1115 msgid "Application prefers a dark theme" msgstr "La aplicación prefiere un tema oscuro" -#: ../gtk/gtksettings.c:1102 +#: ../gtk/gtksettings.c:1116 msgid "Whether the application prefers to have a dark theme." msgstr "Indica si la aplicación prefiere un tema oscuro." -#: ../gtk/gtksettings.c:1117 +#: ../gtk/gtksettings.c:1131 msgid "Show button images" msgstr "Mostrar imágenes en los botones" -#: ../gtk/gtksettings.c:1118 +#: ../gtk/gtksettings.c:1132 msgid "Whether images should be shown on buttons" msgstr "Indica si se deben mostrar las imágenes en los botones" -#: ../gtk/gtksettings.c:1126 ../gtk/gtksettings.c:1220 +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 msgid "Select on focus" msgstr "Seleccionar al enfocar" -#: ../gtk/gtksettings.c:1127 +#: ../gtk/gtksettings.c:1141 msgid "Whether to select the contents of an entry when it is focused" msgstr "" "Indica si se deben seleccionar los contenidos de una entrada cuando obtiene " "el foco" -#: ../gtk/gtksettings.c:1144 +#: ../gtk/gtksettings.c:1158 msgid "Password Hint Timeout" msgstr "Tiempo de expiración del hint de contraseña" -#: ../gtk/gtksettings.c:1145 +#: ../gtk/gtksettings.c:1159 msgid "How long to show the last input character in hidden entries" msgstr "" "Indica durante cuánto tiempo mostrar el último carácter en las entradas " "ocultas" -#: ../gtk/gtksettings.c:1154 +#: ../gtk/gtksettings.c:1168 msgid "Show menu images" msgstr "Mostrar imágenes del menú" -#: ../gtk/gtksettings.c:1155 +#: ../gtk/gtksettings.c:1169 msgid "Whether images should be shown in menus" msgstr "Indica si deben mostrarse o no las imágenes en los menús" -#: ../gtk/gtksettings.c:1163 +#: ../gtk/gtksettings.c:1177 msgid "Delay before drop down menus appear" msgstr "Retardo antes de que aparezcan los menús desplegables" -#: ../gtk/gtksettings.c:1164 +#: ../gtk/gtksettings.c:1178 msgid "Delay before the submenus of a menu bar appear" msgstr "Retardo antes de que aparezcan los submenús de una barra de menús" -#: ../gtk/gtksettings.c:1181 +#: ../gtk/gtksettings.c:1195 msgid "Scrolled Window Placement" msgstr "Colocación de la ventana donde se ha desplazado" -#: ../gtk/gtksettings.c:1182 +#: ../gtk/gtksettings.c:1196 msgid "" "Where the contents of scrolled windows are located with respect to the " "scrollbars, if not overridden by the scrolled window's own placement." @@ -5483,33 +5899,33 @@ msgstr "" "respecto a las barras de desplazamiento, si no toma precedencia por el " "propio emplazamiento de la ventana donde se hizo scroll." -#: ../gtk/gtksettings.c:1191 +#: ../gtk/gtksettings.c:1205 msgid "Can change accelerators" msgstr "Puede cambiar aceleradores" -#: ../gtk/gtksettings.c:1192 +#: ../gtk/gtksettings.c:1206 msgid "" "Whether menu accelerators can be changed by pressing a key over the menu item" msgstr "" "Indica si los aceleradores del menú pueden cambiarse pulsando una tecla " "sobre el elemento del menú" -#: ../gtk/gtksettings.c:1200 +#: ../gtk/gtksettings.c:1214 msgid "Delay before submenus appear" msgstr "Retraso antes de que aparezcan los submenús" -#: ../gtk/gtksettings.c:1201 +#: ../gtk/gtksettings.c:1215 msgid "" "Minimum time the pointer must stay over a menu item before the submenu appear" msgstr "" "Tiempo mínimo en que el puntero debe permanecer sobre un elemento de menú " "antes de que el submenú aparezca" -#: ../gtk/gtksettings.c:1210 +#: ../gtk/gtksettings.c:1224 msgid "Delay before hiding a submenu" msgstr "Retraso antes de ocultar un submenú" -#: ../gtk/gtksettings.c:1211 +#: ../gtk/gtksettings.c:1225 msgid "" "The time before hiding a submenu when the pointer is moving towards the " "submenu" @@ -5517,41 +5933,41 @@ msgstr "" "El tiempo antes de ocultar un submenú cuando el puntero se este moviendo " "hacia el submenú" -#: ../gtk/gtksettings.c:1221 +#: ../gtk/gtksettings.c:1235 msgid "Whether to select the contents of a selectable label when it is focused" msgstr "" "Indica si se debe seleccionar el contenido de una etiqueta seleccionable " "cuando obtiene el foco" -#: ../gtk/gtksettings.c:1229 +#: ../gtk/gtksettings.c:1243 msgid "Custom palette" msgstr "Paleta personalizada" -#: ../gtk/gtksettings.c:1230 +#: ../gtk/gtksettings.c:1244 msgid "Palette to use in the color selector" msgstr "Paleta que se usará en el selector de colores" -#: ../gtk/gtksettings.c:1238 +#: ../gtk/gtksettings.c:1252 msgid "IM Preedit style" msgstr "Estilo de preedición del ME" -#: ../gtk/gtksettings.c:1239 +#: ../gtk/gtksettings.c:1253 msgid "How to draw the input method preedit string" msgstr "Cómo dibujar la cadena del método de entrada de preedición" -#: ../gtk/gtksettings.c:1248 +#: ../gtk/gtksettings.c:1262 msgid "IM Status style" msgstr "Estilo del estado ME" -#: ../gtk/gtksettings.c:1249 +#: ../gtk/gtksettings.c:1263 msgid "How to draw the input method statusbar" msgstr "Cómo dibujar el método de entrada de la barra de estado" -#: ../gtk/gtksizegroup.c:350 +#: ../gtk/gtksizegroup.c:351 msgid "Mode" msgstr "Modo" -#: ../gtk/gtksizegroup.c:351 +#: ../gtk/gtksizegroup.c:352 msgid "" "The directions in which the size group affects the requested sizes of its " "component widgets" @@ -5559,26 +5975,26 @@ msgstr "" "Las direcciones en las cuales el tamaño del grupo afecta a los tamaños " "solicitados de sus widgets componentes" -#: ../gtk/gtksizegroup.c:367 +#: ../gtk/gtksizegroup.c:368 msgid "Ignore hidden" msgstr "Ignorar ocultas" -#: ../gtk/gtksizegroup.c:368 +#: ../gtk/gtksizegroup.c:369 msgid "" "If TRUE, unmapped widgets are ignored when determining the size of the group" msgstr "" "Si es TRUE, los widgets no mapeados se ignoran al determinar el tamaño del " "grupo" -#: ../gtk/gtkspinbutton.c:237 +#: ../gtk/gtkspinbutton.c:328 msgid "Climb Rate" msgstr "Tasa de subida" -#: ../gtk/gtkspinbutton.c:257 +#: ../gtk/gtkspinbutton.c:348 msgid "Snap to Ticks" msgstr "Ajustarse a los ticks" -#: ../gtk/gtkspinbutton.c:258 +#: ../gtk/gtkspinbutton.c:349 msgid "" "Whether erroneous values are automatically changed to a spin button's " "nearest step increment" @@ -5586,39 +6002,39 @@ msgstr "" "Indica si los valores erróneos se cambian por el valor más cercano de un " "botón incrementable" -#: ../gtk/gtkspinbutton.c:265 +#: ../gtk/gtkspinbutton.c:356 msgid "Numeric" msgstr "Numérico" -#: ../gtk/gtkspinbutton.c:266 +#: ../gtk/gtkspinbutton.c:357 msgid "Whether non-numeric characters should be ignored" msgstr "Indica si se ignoran los caracteres no numéricos" -#: ../gtk/gtkspinbutton.c:273 +#: ../gtk/gtkspinbutton.c:364 msgid "Wrap" msgstr "Volver al inicio" -#: ../gtk/gtkspinbutton.c:274 +#: ../gtk/gtkspinbutton.c:365 msgid "Whether a spin button should wrap upon reaching its limits" msgstr "" "Indica si un botón giratorio debe volver al inicio al alcanzar sus límites" -#: ../gtk/gtkspinbutton.c:281 +#: ../gtk/gtkspinbutton.c:372 msgid "Update Policy" msgstr "Norma de actualización" -#: ../gtk/gtkspinbutton.c:282 +#: ../gtk/gtkspinbutton.c:373 msgid "" "Whether the spin button should update always, or only when the value is legal" msgstr "" "Indica si el botón incrementable se actualiza siempre, o sólo cuando el " "valor es legal" -#: ../gtk/gtkspinbutton.c:291 +#: ../gtk/gtkspinbutton.c:382 msgid "Reads the current value, or sets a new value" msgstr "Lee el valor actual, o establece un valor nuevo" -#: ../gtk/gtkspinbutton.c:300 +#: ../gtk/gtkspinbutton.c:391 msgid "Style of bevel around the spin button" msgstr "Estilo de bisel alrededor del botón giratorio" @@ -5626,96 +6042,86 @@ msgstr "Estilo de bisel alrededor del botón giratorio" msgid "Whether the spinner is active" msgstr "Indica si el marcador incrementable está activo" -#: ../gtk/gtkspinner.c:135 -msgid "Number of steps" -msgstr "Número de pasos" - -#: ../gtk/gtkspinner.c:136 -msgid "" -"The number of steps for the spinner to complete a full loop. The animation " -"will complete a full cycle in one second by default (see #GtkSpinner:cycle-" -"duration)." -msgstr "" -"El número de pasos para que el marcador incrementable complete una vuelta " -"completa. La animación completará de forma predeterminada un ciclo completo " -"en un segundo (consulte #GtkSpinner:cycle-duration)." - -#: ../gtk/gtkspinner.c:153 -msgid "Animation duration" -msgstr "Duración de la animación" - -#: ../gtk/gtkspinner.c:154 -msgid "" -"The length of time in milliseconds for the spinner to complete a full loop" -msgstr "" -"El tiempo en milisegundos para que el marcador incrementable complete una " -"vuelta completa" - -#: ../gtk/gtkstatusbar.c:181 +#: ../gtk/gtkstatusbar.c:183 msgid "Style of bevel around the statusbar text" msgstr "Estilo del bisel alrededor del texto de la barra de estado" -#: ../gtk/gtkstatusicon.c:270 +#: ../gtk/gtkstatusicon.c:262 msgid "The size of the icon" msgstr "El tamaño del icono" -#: ../gtk/gtkstatusicon.c:280 +#: ../gtk/gtkstatusicon.c:272 msgid "The screen where this status icon will be displayed" msgstr "La pantalla donde se mostrará este icono de estado" -#: ../gtk/gtkstatusicon.c:288 +#: ../gtk/gtkstatusicon.c:280 msgid "Whether the status icon is visible" msgstr "Indica si el icono de estado es visible" -#: ../gtk/gtkstatusicon.c:304 +#: ../gtk/gtkstatusicon.c:296 msgid "Whether the status icon is embedded" msgstr "Indica si el icono de estado está empotrado" -#: ../gtk/gtkstatusicon.c:320 ../gtk/gtktrayicon-x11.c:125 +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 msgid "The orientation of the tray" msgstr "La orientación de la bandeja" -#: ../gtk/gtkstatusicon.c:347 ../gtk/gtkwidget.c:1034 +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1042 msgid "Has tooltip" msgstr "Tiene consejo" -#: ../gtk/gtkstatusicon.c:348 +#: ../gtk/gtkstatusicon.c:340 msgid "Whether this tray icon has a tooltip" msgstr "Indica si el icono de la bandeja tiene un consejo" -#: ../gtk/gtkstatusicon.c:373 ../gtk/gtkwidget.c:1055 +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1063 msgid "Tooltip Text" msgstr "Texto del consejo" -#: ../gtk/gtkstatusicon.c:374 ../gtk/gtkwidget.c:1056 ../gtk/gtkwidget.c:1077 +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1064 ../gtk/gtkwidget.c:1085 msgid "The contents of the tooltip for this widget" msgstr "El contenido de los consejos para este widget" -#: ../gtk/gtkstatusicon.c:397 ../gtk/gtkwidget.c:1076 +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1084 msgid "Tooltip markup" msgstr "Marcado de consejos" -#: ../gtk/gtkstatusicon.c:398 +#: ../gtk/gtkstatusicon.c:390 msgid "The contents of the tooltip for this tray icon" msgstr "El contenido de los consejos para este icono de la bandeja" -#: ../gtk/gtkstatusicon.c:416 +#: ../gtk/gtkstatusicon.c:408 msgid "The title of this tray icon" msgstr "El título de este icono de la bandeja" -#: ../gtk/gtkstyle.c:470 +#: ../gtk/gtkstyle.c:468 msgid "Style context" msgstr "Estilo del contexto" -#: ../gtk/gtkstyle.c:471 +#: ../gtk/gtkstyle.c:469 msgid "GtkStyleContext to get style from" msgstr "GtkStyleContext del que obtener el estilo" -#: ../gtk/gtkswitch.c:739 +#: ../gtk/gtkstylecontext.c:547 +#, fuzzy +#| msgid "Associated device" +msgid "The associated GdkScreen" +msgstr "Dispositivo asociado" + +#: ../gtk/gtkstylecontext.c:553 +#| msgid "Fraction" +msgid "Direction" +msgstr "Dirección" + +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:220 +msgid "Text direction" +msgstr "Dirección del texto" + +#: ../gtk/gtkswitch.c:744 msgid "Whether the switch is on or off" msgstr "Indica si el interruptor está encendido o apagado" -#: ../gtk/gtkswitch.c:773 +#: ../gtk/gtkswitch.c:778 msgid "The minimum width of the handle" msgstr "La anchura mínima del tirador" @@ -5735,31 +6141,11 @@ msgstr "Columnas" msgid "The number of columns in the table" msgstr "El número de columnas en la tabla" -#: ../gtk/gtktable.c:175 -msgid "Row spacing" -msgstr "Espaciado entre filas" - -#: ../gtk/gtktable.c:176 -msgid "The amount of space between two consecutive rows" -msgstr "La cantidad de espacio entre dos filas consecutivas" - -#: ../gtk/gtktable.c:184 -msgid "Column spacing" -msgstr "Espaciado de la columna" - -#: ../gtk/gtktable.c:185 -msgid "The amount of space between two consecutive columns" -msgstr "La cantidad de espacio entre dos columnas consecutivas" - #: ../gtk/gtktable.c:194 msgid "If TRUE, the table cells are all the same width/height" msgstr "" "Si es TRUE, las celdas de la tabla tienen todas de la misma anchura/altura" -#: ../gtk/gtktable.c:201 -msgid "Left attachment" -msgstr "Acoplado izquierdo" - #: ../gtk/gtktable.c:208 msgid "Right attachment" msgstr "Acoplado derecho" @@ -5769,10 +6155,6 @@ msgid "The column number to attach the right side of a child widget to" msgstr "" "El número de columnas que acoplar hacia el lado derecho de un widget hijo" -#: ../gtk/gtktable.c:215 -msgid "Top attachment" -msgstr "Acoplado superior" - #: ../gtk/gtktable.c:216 msgid "The row number to attach the top of a child widget to" msgstr "El número de fila que acoplar a la parte superior de un widget hijo" @@ -5821,53 +6203,53 @@ msgstr "" "Espacio extra que poner entre el hijo y sus vecinos superiores e inferiores, " "en píxeles" -#: ../gtk/gtktextbuffer.c:191 +#: ../gtk/gtktextbuffer.c:192 msgid "Tag Table" msgstr "Tabla de etiquetas" -#: ../gtk/gtktextbuffer.c:192 +#: ../gtk/gtktextbuffer.c:193 msgid "Text Tag Table" msgstr "Tabla de etiquetas de texto" -#: ../gtk/gtktextbuffer.c:210 +#: ../gtk/gtktextbuffer.c:211 msgid "Current text of the buffer" msgstr "Texto actual del búfer" -#: ../gtk/gtktextbuffer.c:224 +#: ../gtk/gtktextbuffer.c:225 msgid "Has selection" msgstr "Tiene selección" -#: ../gtk/gtktextbuffer.c:225 +#: ../gtk/gtktextbuffer.c:226 msgid "Whether the buffer has some text currently selected" msgstr "Indica si el búfer tiene algo de texto actualmente seleccionado" -#: ../gtk/gtktextbuffer.c:241 +#: ../gtk/gtktextbuffer.c:242 msgid "Cursor position" msgstr "Posición del cursor" -#: ../gtk/gtktextbuffer.c:242 +#: ../gtk/gtktextbuffer.c:243 msgid "" "The position of the insert mark (as offset from the beginning of the buffer)" msgstr "" "La posición de la marca de inserción (como un desplazamiento desde el " "principio del búfer)" -#: ../gtk/gtktextbuffer.c:257 +#: ../gtk/gtktextbuffer.c:258 msgid "Copy target list" msgstr "Lista de destinos de la copia" -#: ../gtk/gtktextbuffer.c:258 +#: ../gtk/gtktextbuffer.c:259 msgid "" "The list of targets this buffer supports for clipboard copying and DND source" msgstr "" "La lista de destinos que soporta este búfer para copiar desde el " "portapapeles y el origen del DND" -#: ../gtk/gtktextbuffer.c:273 +#: ../gtk/gtktextbuffer.c:274 msgid "Paste target list" msgstr "Lista de destinos de pegado" -#: ../gtk/gtktextbuffer.c:274 +#: ../gtk/gtktextbuffer.c:275 msgid "" "The list of targets this buffer supports for clipboard pasting and DND " "destination" @@ -5887,25 +6269,25 @@ msgstr "Gravedad izquierda" msgid "Whether the mark has left gravity" msgstr "Indica si la marca tiene gravedad izquierda" -#: ../gtk/gtktexttag.c:168 +#: ../gtk/gtktexttag.c:170 msgid "Tag name" msgstr "Nombre de etiqueta" -#: ../gtk/gtktexttag.c:169 +#: ../gtk/gtktexttag.c:171 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "" "Nombre utilizado para referirse a la etiqueta del texto. NULL para etiquetas " "anónimas" -#: ../gtk/gtktexttag.c:187 +#: ../gtk/gtktexttag.c:189 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Color de fondo como un (posiblemente no asignado) GdkColor" -#: ../gtk/gtktexttag.c:194 +#: ../gtk/gtktexttag.c:196 msgid "Background full height" msgstr "Altura completa del fondo" -#: ../gtk/gtktexttag.c:195 +#: ../gtk/gtktexttag.c:197 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -5913,32 +6295,28 @@ msgstr "" "Indica si el color de fondo rellena el ancho completo de la línea o sólo el " "ancho de los caracteres etiquetados" -#: ../gtk/gtktexttag.c:211 +#: ../gtk/gtktexttag.c:213 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Color de frente como un (posiblemente no asignado) GdkColor" -#: ../gtk/gtktexttag.c:218 -msgid "Text direction" -msgstr "Dirección del texto" - -#: ../gtk/gtktexttag.c:219 +#: ../gtk/gtktexttag.c:221 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "" "Dirección del texto, por ejemplo: de izquierda-a-derecha o de derecha-a-" "izquierda" -#: ../gtk/gtktexttag.c:268 +#: ../gtk/gtktexttag.c:270 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "" "Estilo de la tipografía como un PangoStyle, por ejemplo: PANGO_STYLE_ITALIC" -#: ../gtk/gtktexttag.c:277 +#: ../gtk/gtktexttag.c:279 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "" "Variante de la tipografía como una PangoVariant, por ejemplo: " "PANGO_VARIANT_SMALL_CAPS" -#: ../gtk/gtktexttag.c:286 +#: ../gtk/gtktexttag.c:288 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -5946,17 +6324,17 @@ msgstr "" "Peso de la tipografía como un entero, vea valores predefinidos en " "PangoWeight; por ejemplo: PANGO_WEIGHT_BOLD" -#: ../gtk/gtktexttag.c:297 +#: ../gtk/gtktexttag.c:299 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "" "Ajuste de la tipografía como un PangoStretch, ejemplo: " "PANGO_STRETCH_CONDENSED" -#: ../gtk/gtktexttag.c:306 +#: ../gtk/gtktexttag.c:308 msgid "Font size in Pango units" msgstr "Tamaño de la tipografía en unidades de Pango" -#: ../gtk/gtktexttag.c:316 +#: ../gtk/gtktexttag.c:318 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -5967,11 +6345,11 @@ msgstr "" "tema, etc. por lo cual se recomienda. Pango define previamente algunas " "escalas tales como PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:336 ../gtk/gtktextview.c:702 +#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 msgid "Left, right, or center justification" msgstr "Justificación a la izquierda, derecha o centro" -#: ../gtk/gtktexttag.c:355 +#: ../gtk/gtktexttag.c:357 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -5980,31 +6358,31 @@ msgstr "" "como una ayuda cuando esta renderizando el texto. Si no se establece este " "parámetro se usará por omisión lo más apropiado." -#: ../gtk/gtktexttag.c:362 +#: ../gtk/gtktexttag.c:364 msgid "Left margin" msgstr "Margen izquierdo" -#: ../gtk/gtktexttag.c:363 ../gtk/gtktextview.c:711 +#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 msgid "Width of the left margin in pixels" msgstr "Anchura del margen izquierdo en píxeles" -#: ../gtk/gtktexttag.c:372 +#: ../gtk/gtktexttag.c:374 msgid "Right margin" msgstr "Margen derecho" -#: ../gtk/gtktexttag.c:373 ../gtk/gtktextview.c:721 +#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 msgid "Width of the right margin in pixels" msgstr "Anchura del margen derecho en píxeles" -#: ../gtk/gtktexttag.c:383 ../gtk/gtktextview.c:730 +#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 msgid "Indent" msgstr "Sangrar" -#: ../gtk/gtktexttag.c:384 ../gtk/gtktextview.c:731 +#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 msgid "Amount to indent the paragraph, in pixels" msgstr "Número de píxeles para el sangrado del párrafo" -#: ../gtk/gtktexttag.c:395 +#: ../gtk/gtktexttag.c:397 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -6012,232 +6390,238 @@ msgstr "" "Desplazamiento del texto por encima de la línea base (por debajo de la línea " "base si la elevación es negativa) en unidades Pango" -#: ../gtk/gtktexttag.c:404 +#: ../gtk/gtktexttag.c:406 msgid "Pixels above lines" msgstr "Píxeles encima de las líneas" -#: ../gtk/gtktexttag.c:405 ../gtk/gtktextview.c:655 +#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 msgid "Pixels of blank space above paragraphs" msgstr "Píxeles de espacio en blanco encima de los párrafos" -#: ../gtk/gtktexttag.c:414 +#: ../gtk/gtktexttag.c:416 msgid "Pixels below lines" msgstr "Píxeles debajo de las líneas" -#: ../gtk/gtktexttag.c:415 ../gtk/gtktextview.c:665 +#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 msgid "Pixels of blank space below paragraphs" msgstr "Píxeles de espacio en blanco debajo de los párrafos" -#: ../gtk/gtktexttag.c:424 +#: ../gtk/gtktexttag.c:426 msgid "Pixels inside wrap" msgstr "Píxeles dentro del ajuste" -#: ../gtk/gtktexttag.c:425 ../gtk/gtktextview.c:675 +#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Píxeles de espacio en blanco entre las líneas ajustadas en un párrafo" -#: ../gtk/gtktexttag.c:452 ../gtk/gtktextview.c:693 +#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Indica si deben ajustarse las líneas, a los límites de las palabras, a los " "límites de los caracteres, o nunca" -#: ../gtk/gtktexttag.c:461 ../gtk/gtktextview.c:740 +#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 msgid "Tabs" msgstr "Solapas" -#: ../gtk/gtktexttag.c:462 ../gtk/gtktextview.c:741 +#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 msgid "Custom tabs for this text" msgstr "Pestañas personalizadas para este texto" -#: ../gtk/gtktexttag.c:480 +#: ../gtk/gtktexttag.c:482 msgid "Invisible" msgstr "Invisible" -#: ../gtk/gtktexttag.c:481 +#: ../gtk/gtktexttag.c:483 msgid "Whether this text is hidden." msgstr "Indica si este texto está oculto." -#: ../gtk/gtktexttag.c:495 +#: ../gtk/gtktexttag.c:497 msgid "Paragraph background color name" msgstr "Nombre del color de fondo del parágrafo" -#: ../gtk/gtktexttag.c:496 +#: ../gtk/gtktexttag.c:498 msgid "Paragraph background color as a string" msgstr "Nombre del color de fondo del parágrafo como una cadena" -#: ../gtk/gtktexttag.c:511 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color" msgstr "Color de fondo del parágrafo" -#: ../gtk/gtktexttag.c:512 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "" "Color de fondo del parágrafo como un (posiblemente no asignado) GdkColor" -#: ../gtk/gtktexttag.c:530 +#: ../gtk/gtktexttag.c:532 msgid "Margin Accumulates" msgstr "Acumulación de márgenes" -#: ../gtk/gtktexttag.c:531 +#: ../gtk/gtktexttag.c:533 msgid "Whether left and right margins accumulate." msgstr "Indica si los márgenes izquierdo y derecho son acumulativos." -#: ../gtk/gtktexttag.c:544 +#: ../gtk/gtktexttag.c:546 msgid "Background full height set" msgstr "Establece la altura completa del fondo" -#: ../gtk/gtktexttag.c:545 +#: ../gtk/gtktexttag.c:547 msgid "Whether this tag affects background height" msgstr "Indica si esta etiqueta afecta a la altura del fondo" -#: ../gtk/gtktexttag.c:584 +#: ../gtk/gtktexttag.c:586 msgid "Justification set" msgstr "Justificación establecida" -#: ../gtk/gtktexttag.c:585 +#: ../gtk/gtktexttag.c:587 msgid "Whether this tag affects paragraph justification" msgstr "Indica si esta etiqueta afecta la justificación del párrafo" -#: ../gtk/gtktexttag.c:592 +#: ../gtk/gtktexttag.c:594 msgid "Left margin set" msgstr "Margen izquierdo establecido" -#: ../gtk/gtktexttag.c:593 +#: ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the left margin" msgstr "Indica si esta etiqueta afecta el margen izquierdo" -#: ../gtk/gtktexttag.c:596 +#: ../gtk/gtktexttag.c:598 msgid "Indent set" msgstr "Sangrado establecido" -#: ../gtk/gtktexttag.c:597 +#: ../gtk/gtktexttag.c:599 msgid "Whether this tag affects indentation" msgstr "Indica si esta etiqueta afecta al sangrado" -#: ../gtk/gtktexttag.c:604 +#: ../gtk/gtktexttag.c:606 msgid "Pixels above lines set" msgstr "Píxeles por encima de las líneas establecido" -#: ../gtk/gtktexttag.c:605 ../gtk/gtktexttag.c:609 +#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the number of pixels above lines" msgstr "Indica si esta etiqueta afecta la cantidad de píxeles sobre las líneas" -#: ../gtk/gtktexttag.c:608 +#: ../gtk/gtktexttag.c:610 msgid "Pixels below lines set" msgstr "Píxeles por debajo de las líneas establecido" -#: ../gtk/gtktexttag.c:612 +#: ../gtk/gtktexttag.c:614 msgid "Pixels inside wrap set" msgstr "Píxeles dentro del ajuste establecido" -#: ../gtk/gtktexttag.c:613 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "" "Indica si esta etiqueta afecta la cantidad de píxeles entre las líneas " "ajustadas" -#: ../gtk/gtktexttag.c:620 +#: ../gtk/gtktexttag.c:622 msgid "Right margin set" msgstr "Margen derecho establecido" -#: ../gtk/gtktexttag.c:621 +#: ../gtk/gtktexttag.c:623 msgid "Whether this tag affects the right margin" msgstr "Indica si esta etiqueta afecta el margen derecho" -#: ../gtk/gtktexttag.c:628 +#: ../gtk/gtktexttag.c:630 msgid "Wrap mode set" msgstr "Modo de ajuste establecido" -#: ../gtk/gtktexttag.c:629 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects line wrap mode" msgstr "Indica si esta etiqueta afecta el modo de ajuste de línea" -#: ../gtk/gtktexttag.c:632 +#: ../gtk/gtktexttag.c:634 msgid "Tabs set" msgstr "Tabuladores establecidos" -#: ../gtk/gtktexttag.c:633 +#: ../gtk/gtktexttag.c:635 msgid "Whether this tag affects tabs" msgstr "Indica si esta etiqueta afecta las tabulaciones" -#: ../gtk/gtktexttag.c:636 +#: ../gtk/gtktexttag.c:638 msgid "Invisible set" msgstr "Invisibilidad establecida" -#: ../gtk/gtktexttag.c:637 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects text visibility" msgstr "Indica si esta etiqueta afecta la visibilidad del texto" -#: ../gtk/gtktexttag.c:640 +#: ../gtk/gtktexttag.c:642 msgid "Paragraph background set" msgstr "Fondo de parágrafo establecido" -#: ../gtk/gtktexttag.c:641 +#: ../gtk/gtktexttag.c:643 msgid "Whether this tag affects the paragraph background color" msgstr "Indica si esta etiqueta afecta el color de fondo del parágrafo" -#: ../gtk/gtktextview.c:654 +#: ../gtk/gtktextview.c:655 msgid "Pixels Above Lines" msgstr "Píxeles sobre las líneas" -#: ../gtk/gtktextview.c:664 +#: ../gtk/gtktextview.c:665 msgid "Pixels Below Lines" msgstr "Píxeles por debajo de las líneas" -#: ../gtk/gtktextview.c:674 +#: ../gtk/gtktextview.c:675 msgid "Pixels Inside Wrap" msgstr "Píxeles dentro del ajuste" -#: ../gtk/gtktextview.c:692 +#: ../gtk/gtktextview.c:693 msgid "Wrap Mode" msgstr "Modo de ajuste" -#: ../gtk/gtktextview.c:710 +#: ../gtk/gtktextview.c:711 msgid "Left Margin" msgstr "Margen izquierdo" -#: ../gtk/gtktextview.c:720 +#: ../gtk/gtktextview.c:721 msgid "Right Margin" msgstr "Margen derecho" -#: ../gtk/gtktextview.c:748 +#: ../gtk/gtktextview.c:749 msgid "Cursor Visible" msgstr "Cursor visible" -#: ../gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:750 msgid "If the insertion cursor is shown" msgstr "Si se muestra el cursor de inserción" -#: ../gtk/gtktextview.c:756 +#: ../gtk/gtktextview.c:757 msgid "Buffer" msgstr "Búfer" -#: ../gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:758 msgid "The buffer which is displayed" msgstr "El búfer que se está mostrando" -#: ../gtk/gtktextview.c:765 +#: ../gtk/gtktextview.c:766 msgid "Whether entered text overwrites existing contents" msgstr "Indica si el texto introducido sobreescribe el existente" -#: ../gtk/gtktextview.c:772 +#: ../gtk/gtktextview.c:773 msgid "Accepts tab" msgstr "Acepta tabuladores" -#: ../gtk/gtktextview.c:773 +#: ../gtk/gtktextview.c:774 msgid "Whether Tab will result in a tab character being entered" msgstr "Indica si Tab resultará en la introducción de un carácter tabulador" -#: ../gtk/gtktextview.c:808 +#: ../gtk/gtktextview.c:809 msgid "Error underline color" msgstr "Color de subrayado de errores" -#: ../gtk/gtktextview.c:809 +#: ../gtk/gtktextview.c:810 msgid "Color with which to draw error-indication underlines" msgstr "Color con el que dibujar el subrayado de indicación de errores" +#: ../gtk/gtkthemingengine.c:249 +#, fuzzy +#| msgid "Theme Name" +msgid "Theming engine name" +msgstr "Nombre del tema" + #: ../gtk/gtktoggleaction.c:118 msgid "Create the same proxies as a radio action" msgstr "Crear los mismos proxies como una acción de radio" @@ -6268,93 +6652,93 @@ msgstr "Indicador de dibujo" msgid "If the toggle part of the button is displayed" msgstr "Si se muestra la parte de conmutación del botón" -#: ../gtk/gtktoolbar.c:491 ../gtk/gtktoolpalette.c:1060 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 msgid "Toolbar Style" msgstr "Estilo de la barra de herramientas" -#: ../gtk/gtktoolbar.c:492 +#: ../gtk/gtktoolbar.c:490 msgid "How to draw the toolbar" msgstr "Cómo dibujar la barra de herramientas" -#: ../gtk/gtktoolbar.c:499 +#: ../gtk/gtktoolbar.c:497 msgid "Show Arrow" msgstr "Mostrar flecha" -#: ../gtk/gtktoolbar.c:500 +#: ../gtk/gtktoolbar.c:498 msgid "If an arrow should be shown if the toolbar doesn't fit" msgstr "" "Indica si debe mostrarse una flecha si no cabe la barra de herramientas" -#: ../gtk/gtktoolbar.c:521 +#: ../gtk/gtktoolbar.c:519 msgid "Size of icons in this toolbar" msgstr "Tamaño de los iconos en esta barra de herramientas" -#: ../gtk/gtktoolbar.c:536 ../gtk/gtktoolpalette.c:1046 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 msgid "Icon size set" msgstr "Tamaño del icono establecido" -#: ../gtk/gtktoolbar.c:537 ../gtk/gtktoolpalette.c:1047 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 msgid "Whether the icon-size property has been set" msgstr "Indica si se ha establecido la propiedad de tamaño del icono" -#: ../gtk/gtktoolbar.c:546 +#: ../gtk/gtktoolbar.c:544 msgid "Whether the item should receive extra space when the toolbar grows" msgstr "" "Indica si el elemento debe recibir espacio extra cuando la barra crezca" -#: ../gtk/gtktoolbar.c:554 ../gtk/gtktoolitemgroup.c:1642 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 msgid "Whether the item should be the same size as other homogeneous items" msgstr "" "Indica si el elemento debe ser del mismo tamaño que otros elementos " "homogéneos" -#: ../gtk/gtktoolbar.c:561 +#: ../gtk/gtktoolbar.c:559 msgid "Spacer size" msgstr "Tamaño del espaciador" -#: ../gtk/gtktoolbar.c:562 +#: ../gtk/gtktoolbar.c:560 msgid "Size of spacers" msgstr "Tamaño de los espaciadores" -#: ../gtk/gtktoolbar.c:571 +#: ../gtk/gtktoolbar.c:569 msgid "Amount of border space between the toolbar shadow and the buttons" msgstr "" "Número de espacio del borde entre la sombra de la barra de herramientas y " "los botones" -#: ../gtk/gtktoolbar.c:579 +#: ../gtk/gtktoolbar.c:577 msgid "Maximum child expand" msgstr "Expansión de hijos máxima" -#: ../gtk/gtktoolbar.c:580 +#: ../gtk/gtktoolbar.c:578 msgid "Maximum amount of space an expandable item will be given" msgstr "Cantidad máxima de espacio que se le dará a un elemento expandible" -#: ../gtk/gtktoolbar.c:588 +#: ../gtk/gtktoolbar.c:586 msgid "Space style" msgstr "Estilo del espacio" -#: ../gtk/gtktoolbar.c:589 +#: ../gtk/gtktoolbar.c:587 msgid "Whether spacers are vertical lines or just blank" msgstr "Indica si los espaciadores son líneas verticales o sólo blancos" -#: ../gtk/gtktoolbar.c:596 +#: ../gtk/gtktoolbar.c:594 msgid "Button relief" msgstr "Borde del botón" -#: ../gtk/gtktoolbar.c:597 +#: ../gtk/gtktoolbar.c:595 msgid "Type of bevel around toolbar buttons" msgstr "Tipo de bisel alrededor de los botones de la barra de herramientas" -#: ../gtk/gtktoolbar.c:604 +#: ../gtk/gtktoolbar.c:602 msgid "Style of bevel around the toolbar" msgstr "Estilo del bisel alrededor de la barra de herramientas" -#: ../gtk/gtktoolbutton.c:203 +#: ../gtk/gtktoolbutton.c:202 msgid "Text to show in the item." msgstr "Texto para mostrar en el elemento." -#: ../gtk/gtktoolbutton.c:210 +#: ../gtk/gtktoolbutton.c:209 msgid "" "If set, an underline in the label property indicates that the next character " "should be used for the mnemonic accelerator key in the overflow menu" @@ -6363,39 +6747,39 @@ msgstr "" "siguiente carácter debe utilizarse como el nemotécnico de la combinación de " "teclas en el menú de sobrecarga" -#: ../gtk/gtktoolbutton.c:217 +#: ../gtk/gtktoolbutton.c:216 msgid "Widget to use as the item label" msgstr "Widget a usar como la etiqueta del elemento" -#: ../gtk/gtktoolbutton.c:223 +#: ../gtk/gtktoolbutton.c:222 msgid "Stock Id" msgstr "ID del inventario" -#: ../gtk/gtktoolbutton.c:224 +#: ../gtk/gtktoolbutton.c:223 msgid "The stock icon displayed on the item" msgstr "El icono de inventario mostrado en el elemento" -#: ../gtk/gtktoolbutton.c:240 +#: ../gtk/gtktoolbutton.c:239 msgid "Icon name" msgstr "Nombre del icono" -#: ../gtk/gtktoolbutton.c:241 +#: ../gtk/gtktoolbutton.c:240 msgid "The name of the themed icon displayed on the item" msgstr "El nombre del icono del tema mostrado en el elemento" -#: ../gtk/gtktoolbutton.c:247 +#: ../gtk/gtktoolbutton.c:246 msgid "Icon widget" msgstr "Icono del widget" -#: ../gtk/gtktoolbutton.c:248 +#: ../gtk/gtktoolbutton.c:247 msgid "Icon widget to display in the item" msgstr "Icono del widget pata mostrar en el elemento" -#: ../gtk/gtktoolbutton.c:261 +#: ../gtk/gtktoolbutton.c:260 msgid "Icon spacing" msgstr "Espaciado entre iconos" -#: ../gtk/gtktoolbutton.c:262 +#: ../gtk/gtktoolbutton.c:261 msgid "Spacing in pixels between the icon and label" msgstr "Espaciado en píxeles entre el icono y la etiqueta" @@ -6468,417 +6852,453 @@ msgstr "Indica si el elemento debería iniciar una fila nueva" msgid "Position of the item within this group" msgstr "Posición del elemento en su grupo" -#: ../gtk/gtktoolpalette.c:1031 +#: ../gtk/gtktoolpalette.c:1032 msgid "Size of icons in this tool palette" msgstr "Tamaño de los iconos en esta paleta de herramientas" -#: ../gtk/gtktoolpalette.c:1061 +#: ../gtk/gtktoolpalette.c:1062 msgid "Style of items in the tool palette" msgstr "Estilo de los elementos en la paleta de herramientas" -#: ../gtk/gtktoolpalette.c:1077 +#: ../gtk/gtktoolpalette.c:1078 msgid "Exclusive" msgstr "Exclusivo" -#: ../gtk/gtktoolpalette.c:1078 +#: ../gtk/gtktoolpalette.c:1079 msgid "Whether the item group should be the only expanded at a given time" msgstr "" "Indica si el elemento del grupo deben ser el único expandido en un " "determinado momento" -#: ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktoolpalette.c:1094 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" "Indica si el elemento del grupo debe recibir espacio extra cuando la paleta " "crece" -#: ../gtk/gtktrayicon-x11.c:134 +#: ../gtk/gtktrayicon-x11.c:135 msgid "Foreground color for symbolic icons" msgstr "Color de primer plano para iconos simbólicos" -#: ../gtk/gtktrayicon-x11.c:141 +#: ../gtk/gtktrayicon-x11.c:142 msgid "Error color" msgstr "Color del error" -#: ../gtk/gtktrayicon-x11.c:142 +#: ../gtk/gtktrayicon-x11.c:143 msgid "Error color for symbolic icons" msgstr "Color del error para iconos simbólicos" -#: ../gtk/gtktrayicon-x11.c:149 +#: ../gtk/gtktrayicon-x11.c:150 msgid "Warning color" msgstr "Color de aviso" -#: ../gtk/gtktrayicon-x11.c:150 +#: ../gtk/gtktrayicon-x11.c:151 msgid "Warning color for symbolic icons" msgstr "Color de aviso para iconos simbólicos" -#: ../gtk/gtktrayicon-x11.c:157 +#: ../gtk/gtktrayicon-x11.c:158 msgid "Success color" msgstr "Color del éxito" -#: ../gtk/gtktrayicon-x11.c:158 +#: ../gtk/gtktrayicon-x11.c:159 msgid "Success color for symbolic icons" msgstr "Color del éxito para enlaces simbólicos" -#: ../gtk/gtktrayicon-x11.c:166 +#: ../gtk/gtktrayicon-x11.c:167 msgid "Padding that should be put around icons in the tray" msgstr "Separación que poner alrededor de los iconos en la bandeja" -#: ../gtk/gtktreemodelsort.c:310 +#: ../gtk/gtktreemenu.c:287 +#, fuzzy +#| msgid "TreeView Model" +msgid "TreeMenu model" +msgstr "Modelo TreeView" + +#: ../gtk/gtktreemenu.c:288 +#, fuzzy +#| msgid "The model for the tree view" +msgid "The model for the tree menu" +msgstr "El modelo para la vista de árbol" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "" + +#: ../gtk/gtktreemenu.c:344 +#, fuzzy +#| msgid "Tearoff Title" +msgid "Tearoff" +msgstr "Título del tirador" + +#: ../gtk/gtktreemenu.c:345 +#, fuzzy +#| msgid "Whether the mark has left gravity" +msgid "Whether the menu has a tearoff item" +msgstr "Indica si la marca tiene gravedad izquierda" + +#: ../gtk/gtktreemenu.c:361 +#, fuzzy +#| msgid "Wrap width" +msgid "Wrap Width" +msgstr "Ajustar anchura" + +#: ../gtk/gtktreemenu.c:362 +#, fuzzy +#| msgid "Wrap width for laying out the items in a grid" +msgid "Wrap width for laying out items in a grid" +msgstr "Ajusta la anchura para distribuir los elementos en una rejilla" + +#: ../gtk/gtktreemodelsort.c:312 msgid "TreeModelSort Model" msgstr "Modelo TreeModelSort" -#: ../gtk/gtktreemodelsort.c:311 +#: ../gtk/gtktreemodelsort.c:313 msgid "The model for the TreeModelSort to sort" msgstr "El modelo para el TreeModelSort a ordenar" -#: ../gtk/gtktreeview.c:988 +#: ../gtk/gtktreeview.c:989 msgid "TreeView Model" msgstr "Modelo TreeView" -#: ../gtk/gtktreeview.c:989 +#: ../gtk/gtktreeview.c:990 msgid "The model for the tree view" msgstr "El modelo para la vista de árbol" -#: ../gtk/gtktreeview.c:1001 +#: ../gtk/gtktreeview.c:1002 msgid "Headers Visible" msgstr "Cabeceras visibles" -#: ../gtk/gtktreeview.c:1002 +#: ../gtk/gtktreeview.c:1003 msgid "Show the column header buttons" msgstr "Mostrar botones en los encabezados de columna" -#: ../gtk/gtktreeview.c:1009 +#: ../gtk/gtktreeview.c:1010 msgid "Headers Clickable" msgstr "Cabeceras pulsables" -#: ../gtk/gtktreeview.c:1010 +#: ../gtk/gtktreeview.c:1011 msgid "Column headers respond to click events" msgstr "Las cabeceras de las columnas responden a los eventos de pulsación" -#: ../gtk/gtktreeview.c:1017 +#: ../gtk/gtktreeview.c:1018 msgid "Expander Column" msgstr "Columna expansora" -#: ../gtk/gtktreeview.c:1018 +#: ../gtk/gtktreeview.c:1019 msgid "Set the column for the expander column" msgstr "Define la columna para la columna expansora" -#: ../gtk/gtktreeview.c:1033 +#: ../gtk/gtktreeview.c:1034 msgid "Rules Hint" msgstr "Consejo de las reglas" -#: ../gtk/gtktreeview.c:1034 +#: ../gtk/gtktreeview.c:1035 msgid "Set a hint to the theme engine to draw rows in alternating colors" msgstr "" "Define un consejo para el motor del tema para dibujar las filas con colores " "alternativos" -#: ../gtk/gtktreeview.c:1041 +#: ../gtk/gtktreeview.c:1042 msgid "Enable Search" msgstr "Habilitar búsqueda" -#: ../gtk/gtktreeview.c:1042 +#: ../gtk/gtktreeview.c:1043 msgid "View allows user to search through columns interactively" msgstr "" "La vista permite a los usuarios buscar en forma interactiva a través de las " "columnas" -#: ../gtk/gtktreeview.c:1049 +#: ../gtk/gtktreeview.c:1050 msgid "Search Column" msgstr "Columna de búsqueda" -#: ../gtk/gtktreeview.c:1050 +#: ../gtk/gtktreeview.c:1051 msgid "Model column to search through during interactive search" msgstr "" "Columna modelo para buscar a través de ella en una búsqueda interactiva" -#: ../gtk/gtktreeview.c:1070 +#: ../gtk/gtktreeview.c:1071 msgid "Fixed Height Mode" msgstr "Modo de altura fija" -#: ../gtk/gtktreeview.c:1071 +#: ../gtk/gtktreeview.c:1072 msgid "Speeds up GtkTreeView by assuming that all rows have the same height" msgstr "" "Acelera GtkTreeView asumiendo que todas las filas tienen la misma altura" -#: ../gtk/gtktreeview.c:1091 +#: ../gtk/gtktreeview.c:1092 msgid "Hover Selection" msgstr "Selección al pasar por encima" -#: ../gtk/gtktreeview.c:1092 +#: ../gtk/gtktreeview.c:1093 msgid "Whether the selection should follow the pointer" msgstr "Indica si la selección debe seguir al puntero" -#: ../gtk/gtktreeview.c:1111 +#: ../gtk/gtktreeview.c:1112 msgid "Hover Expand" msgstr "Expandir al poner el cursor encima" -#: ../gtk/gtktreeview.c:1112 +#: ../gtk/gtktreeview.c:1113 msgid "" "Whether rows should be expanded/collapsed when the pointer moves over them" msgstr "" "Indica si las filas deben expandirse/contraerse cuando el puntero se mueve " "sobre ellas" -#: ../gtk/gtktreeview.c:1126 +#: ../gtk/gtktreeview.c:1127 msgid "Show Expanders" msgstr "Mostrar expansores" -#: ../gtk/gtktreeview.c:1127 +#: ../gtk/gtktreeview.c:1128 msgid "View has expanders" msgstr "La vista tiene expansores" -#: ../gtk/gtktreeview.c:1141 +#: ../gtk/gtktreeview.c:1142 msgid "Level Indentation" msgstr "Nivel de sangrado" -#: ../gtk/gtktreeview.c:1142 +#: ../gtk/gtktreeview.c:1143 msgid "Extra indentation for each level" msgstr "Sangría extra para cada nivel" -#: ../gtk/gtktreeview.c:1151 +#: ../gtk/gtktreeview.c:1152 msgid "Rubber Banding" msgstr "Bandas de goma" -#: ../gtk/gtktreeview.c:1152 +#: ../gtk/gtktreeview.c:1153 msgid "" "Whether to enable selection of multiple items by dragging the mouse pointer" msgstr "" "Indica si se debe activar la selección de múltiples elementos arrastrándo el " "puntero del ratón" -#: ../gtk/gtktreeview.c:1159 +#: ../gtk/gtktreeview.c:1160 msgid "Enable Grid Lines" msgstr "Activar líneas de la rejilla" -#: ../gtk/gtktreeview.c:1160 +#: ../gtk/gtktreeview.c:1161 msgid "Whether grid lines should be drawn in the tree view" msgstr "Indica si debe haber un icono cerca del elemento" -#: ../gtk/gtktreeview.c:1168 +#: ../gtk/gtktreeview.c:1169 msgid "Enable Tree Lines" msgstr "Activar líneas del árbol" -#: ../gtk/gtktreeview.c:1169 +#: ../gtk/gtktreeview.c:1170 msgid "Whether tree lines should be drawn in the tree view" msgstr "Indica si deben dibujar las líneas en la vista del árbol" -#: ../gtk/gtktreeview.c:1177 +#: ../gtk/gtktreeview.c:1178 msgid "The column in the model containing the tooltip texts for the rows" msgstr "" "La columna del modelo que contiene los textos de consejo para las filas" -#: ../gtk/gtktreeview.c:1199 +#: ../gtk/gtktreeview.c:1200 msgid "Vertical Separator Width" msgstr "Anchura del separador vertical" -#: ../gtk/gtktreeview.c:1200 +#: ../gtk/gtktreeview.c:1201 msgid "Vertical space between cells. Must be an even number" msgstr "Espacio vertical entre celdas. Debe ser un número par" -#: ../gtk/gtktreeview.c:1208 +#: ../gtk/gtktreeview.c:1209 msgid "Horizontal Separator Width" msgstr "Anchura del separador horizontal" -#: ../gtk/gtktreeview.c:1209 +#: ../gtk/gtktreeview.c:1210 msgid "Horizontal space between cells. Must be an even number" msgstr "Espacio horizontal entre celdas. Debe ser un número par" -#: ../gtk/gtktreeview.c:1217 +#: ../gtk/gtktreeview.c:1218 msgid "Allow Rules" msgstr "Permitir reglas" -#: ../gtk/gtktreeview.c:1218 +#: ../gtk/gtktreeview.c:1219 msgid "Allow drawing of alternating color rows" msgstr "Permitir el dibujado de filas con colores alternativos" -#: ../gtk/gtktreeview.c:1224 +#: ../gtk/gtktreeview.c:1225 msgid "Indent Expanders" msgstr "Sangrar expansores" -#: ../gtk/gtktreeview.c:1225 +#: ../gtk/gtktreeview.c:1226 msgid "Make the expanders indented" msgstr "Crea los expansores sangrados" -#: ../gtk/gtktreeview.c:1231 +#: ../gtk/gtktreeview.c:1232 msgid "Even Row Color" msgstr "Color de la fila par" -#: ../gtk/gtktreeview.c:1232 +#: ../gtk/gtktreeview.c:1233 msgid "Color to use for even rows" msgstr "Color a usar para las filas pares" -#: ../gtk/gtktreeview.c:1238 +#: ../gtk/gtktreeview.c:1239 msgid "Odd Row Color" msgstr "Color de la fila impar" -#: ../gtk/gtktreeview.c:1239 +#: ../gtk/gtktreeview.c:1240 msgid "Color to use for odd rows" msgstr "Color a usar para las filas impares" -#: ../gtk/gtktreeview.c:1245 +#: ../gtk/gtktreeview.c:1246 msgid "Grid line width" msgstr "Anchura de la línea de la rejilla" -#: ../gtk/gtktreeview.c:1246 +#: ../gtk/gtktreeview.c:1247 msgid "Width, in pixels, of the tree view grid lines" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtktreeview.c:1252 +#: ../gtk/gtktreeview.c:1253 msgid "Tree line width" msgstr "Anchura de la línea del árbol" -#: ../gtk/gtktreeview.c:1253 +#: ../gtk/gtktreeview.c:1254 msgid "Width, in pixels, of the tree view lines" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtktreeview.c:1259 +#: ../gtk/gtktreeview.c:1260 msgid "Grid line pattern" msgstr "Patrón de la línea de la rejilla" -#: ../gtk/gtktreeview.c:1260 +#: ../gtk/gtktreeview.c:1261 msgid "Dash pattern used to draw the tree view grid lines" msgstr "" "Patrón de guiones utilizado para dibujar las líneas de rejilla de la vista " "de árbol" -#: ../gtk/gtktreeview.c:1266 +#: ../gtk/gtktreeview.c:1267 msgid "Tree line pattern" msgstr "Patrón de la línea del árbol" -#: ../gtk/gtktreeview.c:1267 +#: ../gtk/gtktreeview.c:1268 msgid "Dash pattern used to draw the tree view lines" msgstr "" "Patrón de guiones utilizado para dibujar las líneas de la vista de árbol" -#: ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtktreeviewcolumn.c:244 msgid "Whether to display the column" msgstr "Indica si se debe mostrar la columna" -#: ../gtk/gtktreeviewcolumn.c:250 ../gtk/gtkwindow.c:656 +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 msgid "Resizable" msgstr "Redimensionable" -#: ../gtk/gtktreeviewcolumn.c:251 +#: ../gtk/gtktreeviewcolumn.c:252 msgid "Column is user-resizable" msgstr "La columna es ajustable por el usuario" -#: ../gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtktreeviewcolumn.c:260 msgid "Current width of the column" msgstr "Anchura actual de la columna" -#: ../gtk/gtktreeviewcolumn.c:268 -msgid "Space which is inserted between cells" -msgstr "Espacio que se introduce entre las celdas" - -#: ../gtk/gtktreeviewcolumn.c:276 +#: ../gtk/gtktreeviewcolumn.c:277 msgid "Sizing" msgstr "Dimensionar" -#: ../gtk/gtktreeviewcolumn.c:277 +#: ../gtk/gtktreeviewcolumn.c:278 msgid "Resize mode of the column" msgstr "Modo de redimensionado de la columna" -#: ../gtk/gtktreeviewcolumn.c:285 +#: ../gtk/gtktreeviewcolumn.c:286 msgid "Fixed Width" msgstr "Anchura fijo" -#: ../gtk/gtktreeviewcolumn.c:286 +#: ../gtk/gtktreeviewcolumn.c:287 msgid "Current fixed width of the column" msgstr "Anchura fijo actual de la columna" -#: ../gtk/gtktreeviewcolumn.c:295 -msgid "Minimum Width" -msgstr "Anchura mínimo" - -#: ../gtk/gtktreeviewcolumn.c:296 +#: ../gtk/gtktreeviewcolumn.c:297 msgid "Minimum allowed width of the column" msgstr "Anchura mínimo permitido de la columna" -#: ../gtk/gtktreeviewcolumn.c:305 +#: ../gtk/gtktreeviewcolumn.c:306 msgid "Maximum Width" msgstr "Anchura máximo" -#: ../gtk/gtktreeviewcolumn.c:306 +#: ../gtk/gtktreeviewcolumn.c:307 msgid "Maximum allowed width of the column" msgstr "Anchura máximo permitido de la columna" -#: ../gtk/gtktreeviewcolumn.c:316 +#: ../gtk/gtktreeviewcolumn.c:317 msgid "Title to appear in column header" msgstr "Título que aparecerá en el encabezado de columna" -#: ../gtk/gtktreeviewcolumn.c:324 +#: ../gtk/gtktreeviewcolumn.c:325 msgid "Column gets share of extra width allocated to the widget" msgstr "" "La columna obtiene compartición de anchura extra asignada para el widget" -#: ../gtk/gtktreeviewcolumn.c:331 +#: ../gtk/gtktreeviewcolumn.c:332 msgid "Clickable" msgstr "Pulsable" -#: ../gtk/gtktreeviewcolumn.c:332 +#: ../gtk/gtktreeviewcolumn.c:333 msgid "Whether the header can be clicked" msgstr "Indica si la cabecera puede ser pulsada" -#: ../gtk/gtktreeviewcolumn.c:340 +#: ../gtk/gtktreeviewcolumn.c:341 msgid "Widget" msgstr "Widget" -#: ../gtk/gtktreeviewcolumn.c:341 +#: ../gtk/gtktreeviewcolumn.c:342 msgid "Widget to put in column header button instead of column title" msgstr "" "Widget a colocar en el botón de la cabecera de la columna en lugar del " "título de la columna" -#: ../gtk/gtktreeviewcolumn.c:349 +#: ../gtk/gtktreeviewcolumn.c:350 msgid "X Alignment of the column header text or widget" msgstr "Alineación X del texto o el widget de la cabecera de la columna" -#: ../gtk/gtktreeviewcolumn.c:359 +#: ../gtk/gtktreeviewcolumn.c:360 msgid "Whether the column can be reordered around the headers" msgstr "Indica si la columna poder ser reordenada alrededor de las cabeceras" -#: ../gtk/gtktreeviewcolumn.c:366 +#: ../gtk/gtktreeviewcolumn.c:367 msgid "Sort indicator" msgstr "Indicador de ordenación" -#: ../gtk/gtktreeviewcolumn.c:367 +#: ../gtk/gtktreeviewcolumn.c:368 msgid "Whether to show a sort indicator" msgstr "Indica si se debe mostrar un indicador de ordenamiento" -#: ../gtk/gtktreeviewcolumn.c:374 +#: ../gtk/gtktreeviewcolumn.c:375 msgid "Sort order" msgstr "Orden de la ordenación" -#: ../gtk/gtktreeviewcolumn.c:375 +#: ../gtk/gtktreeviewcolumn.c:376 msgid "Sort direction the sort indicator should indicate" msgstr "Dirección de ordenación que el indicador deberá indicar" -#: ../gtk/gtktreeviewcolumn.c:391 +#: ../gtk/gtktreeviewcolumn.c:392 msgid "Sort column ID" msgstr "ID de columna de ordenación" -#: ../gtk/gtktreeviewcolumn.c:392 +#: ../gtk/gtktreeviewcolumn.c:393 msgid "Logical sort column ID this column sorts on when selected for sorting" msgstr "" "ID de columna de ordenación lógica que ordena esta columna cuando se " "selecciona para ordenar" -#: ../gtk/gtkuimanager.c:225 +#: ../gtk/gtkuimanager.c:226 msgid "Whether tearoff menu items should be added to menus" msgstr "Indica si deben añadirse tiradores a los menús" -#: ../gtk/gtkuimanager.c:232 +#: ../gtk/gtkuimanager.c:233 msgid "Merged UI definition" msgstr "Definición del IU combinado" -#: ../gtk/gtkuimanager.c:233 +#: ../gtk/gtkuimanager.c:234 msgid "An XML string describing the merged UI" msgstr "Una cadena XML describiendo el IU combinado" -#: ../gtk/gtkviewport.c:155 +#: ../gtk/gtkviewport.c:154 msgid "Determines how the shadowed box around the viewport is drawn" msgstr "" "Determina como es dibujado el marco sombreado alrededor del puerto de visión" @@ -6891,27 +7311,27 @@ msgstr "Usar iconos simbólicos" msgid "Whether to use symbolic icons" msgstr "Indica si se deben usar enlaces simbólicos" -#: ../gtk/gtkwidget.c:893 +#: ../gtk/gtkwidget.c:901 msgid "Widget name" msgstr "Nombre del widget" -#: ../gtk/gtkwidget.c:894 +#: ../gtk/gtkwidget.c:902 msgid "The name of the widget" msgstr "El nombre del widget" -#: ../gtk/gtkwidget.c:900 +#: ../gtk/gtkwidget.c:908 msgid "Parent widget" msgstr "Widget padre" -#: ../gtk/gtkwidget.c:901 +#: ../gtk/gtkwidget.c:909 msgid "The parent widget of this widget. Must be a Container widget" msgstr "El widget padre de este widget. Debe ser un widget contenedor" -#: ../gtk/gtkwidget.c:908 +#: ../gtk/gtkwidget.c:916 msgid "Width request" msgstr "Petición de anchura" -#: ../gtk/gtkwidget.c:909 +#: ../gtk/gtkwidget.c:917 msgid "" "Override for width request of the widget, or -1 if natural request should be " "used" @@ -6919,11 +7339,11 @@ msgstr "" "Sobreescribir el ancho solicitado del widget, o -1 si deber ser utilizado la " "solicitud natural" -#: ../gtk/gtkwidget.c:917 +#: ../gtk/gtkwidget.c:925 msgid "Height request" msgstr "Petición de altura" -#: ../gtk/gtkwidget.c:918 +#: ../gtk/gtkwidget.c:926 msgid "" "Override for height request of the widget, or -1 if natural request should " "be used" @@ -6931,84 +7351,84 @@ msgstr "" "Sobreescribir la altura solicitada del widget, o -1 si deber ser utilizada " "la solicitud natural" -#: ../gtk/gtkwidget.c:927 +#: ../gtk/gtkwidget.c:935 msgid "Whether the widget is visible" msgstr "Indica si el widget es visible" -#: ../gtk/gtkwidget.c:934 +#: ../gtk/gtkwidget.c:942 msgid "Whether the widget responds to input" msgstr "Indica si el widget responde al ingreso" -#: ../gtk/gtkwidget.c:940 +#: ../gtk/gtkwidget.c:948 msgid "Application paintable" msgstr "Pintable por la aplicación" -#: ../gtk/gtkwidget.c:941 +#: ../gtk/gtkwidget.c:949 msgid "Whether the application will paint directly on the widget" msgstr "Indica si la aplicación pintará directamente sobre el widget" -#: ../gtk/gtkwidget.c:947 +#: ../gtk/gtkwidget.c:955 msgid "Can focus" msgstr "Puede enfocar" -#: ../gtk/gtkwidget.c:948 +#: ../gtk/gtkwidget.c:956 msgid "Whether the widget can accept the input focus" msgstr "Indica si el widget puede aceptar el foco de entrada" -#: ../gtk/gtkwidget.c:954 +#: ../gtk/gtkwidget.c:962 msgid "Has focus" msgstr "Tiene foco" -#: ../gtk/gtkwidget.c:955 +#: ../gtk/gtkwidget.c:963 msgid "Whether the widget has the input focus" msgstr "Indica si el widget tiene el foco de entrada" -#: ../gtk/gtkwidget.c:961 +#: ../gtk/gtkwidget.c:969 msgid "Is focus" msgstr "Tiene el foco" -#: ../gtk/gtkwidget.c:962 +#: ../gtk/gtkwidget.c:970 msgid "Whether the widget is the focus widget within the toplevel" msgstr "Indica si el widget es el widget con foco dentro del nivel superior" -#: ../gtk/gtkwidget.c:968 +#: ../gtk/gtkwidget.c:976 msgid "Can default" msgstr "Puede por omisión" -#: ../gtk/gtkwidget.c:969 +#: ../gtk/gtkwidget.c:977 msgid "Whether the widget can be the default widget" msgstr "Indica si el widget puede ser el widget predeterminado" -#: ../gtk/gtkwidget.c:975 +#: ../gtk/gtkwidget.c:983 msgid "Has default" msgstr "Tiene por omisión" -#: ../gtk/gtkwidget.c:976 +#: ../gtk/gtkwidget.c:984 msgid "Whether the widget is the default widget" msgstr "Indica si el widget es el widget predeterminado" -#: ../gtk/gtkwidget.c:982 +#: ../gtk/gtkwidget.c:990 msgid "Receives default" msgstr "Recibe por omisión" -#: ../gtk/gtkwidget.c:983 +#: ../gtk/gtkwidget.c:991 msgid "If TRUE, the widget will receive the default action when it is focused" msgstr "" "Si es TRUE el widget recibirá la acción predeterminada cuando obtiene el foco" -#: ../gtk/gtkwidget.c:989 +#: ../gtk/gtkwidget.c:997 msgid "Composite child" msgstr "Hijo compuesto" -#: ../gtk/gtkwidget.c:990 +#: ../gtk/gtkwidget.c:998 msgid "Whether the widget is part of a composite widget" msgstr "Indica si el widget es parte de un widget compuesto" -#: ../gtk/gtkwidget.c:996 +#: ../gtk/gtkwidget.c:1004 msgid "Style" msgstr "Estilo" -#: ../gtk/gtkwidget.c:997 +#: ../gtk/gtkwidget.c:1005 msgid "" "The style of the widget, which contains information about how it will look " "(colors etc)" @@ -7016,176 +7436,176 @@ msgstr "" "El estilo del widget, que contiene información sobre la apariencia (colores, " "etc)" -#: ../gtk/gtkwidget.c:1003 +#: ../gtk/gtkwidget.c:1011 msgid "Events" msgstr "Eventos" -#: ../gtk/gtkwidget.c:1004 +#: ../gtk/gtkwidget.c:1012 msgid "The event mask that decides what kind of GdkEvents this widget gets" msgstr "" "La máscara de eventos que decide que tipo de GtkEvents recibe este widget" -#: ../gtk/gtkwidget.c:1011 +#: ../gtk/gtkwidget.c:1019 msgid "No show all" msgstr "No mostrar todo" -#: ../gtk/gtkwidget.c:1012 +#: ../gtk/gtkwidget.c:1020 msgid "Whether gtk_widget_show_all() should not affect this widget" msgstr "Indica que gtk_widget_show_all() no debe afectar a este widget" -#: ../gtk/gtkwidget.c:1035 +#: ../gtk/gtkwidget.c:1043 msgid "Whether this widget has a tooltip" msgstr "Indica si el widget tiene un consejo" -#: ../gtk/gtkwidget.c:1091 +#: ../gtk/gtkwidget.c:1099 msgid "Window" msgstr "Ventana" -#: ../gtk/gtkwidget.c:1092 +#: ../gtk/gtkwidget.c:1100 msgid "The widget's window if it is realized" msgstr "La ventana del widget si se realiza" -#: ../gtk/gtkwidget.c:1106 +#: ../gtk/gtkwidget.c:1114 msgid "Double Buffered" msgstr "Búfer doble" -#: ../gtk/gtkwidget.c:1107 +#: ../gtk/gtkwidget.c:1115 msgid "Whether the widget is double buffered" msgstr "Indica si el widget tiene búfer doble" -#: ../gtk/gtkwidget.c:1122 +#: ../gtk/gtkwidget.c:1130 msgid "How to position in extra horizontal space" msgstr "Cómo posicionar en el espacio horizontal adicional" -#: ../gtk/gtkwidget.c:1138 +#: ../gtk/gtkwidget.c:1146 msgid "How to position in extra vertical space" msgstr "Cómo posicionar en el espacio vertical adicional" -#: ../gtk/gtkwidget.c:1157 +#: ../gtk/gtkwidget.c:1165 msgid "Margin on Left" msgstr "Margen a la izquierda" -#: ../gtk/gtkwidget.c:1158 +#: ../gtk/gtkwidget.c:1166 msgid "Pixels of extra space on the left side" msgstr "Píxeles de espacio adicional en la parte izquierda" -#: ../gtk/gtkwidget.c:1178 +#: ../gtk/gtkwidget.c:1186 msgid "Margin on Right" msgstr "Margen a la derecha" -#: ../gtk/gtkwidget.c:1179 +#: ../gtk/gtkwidget.c:1187 msgid "Pixels of extra space on the right side" msgstr "Píxeles de espacio adicional en la parte derecha" -#: ../gtk/gtkwidget.c:1199 +#: ../gtk/gtkwidget.c:1207 msgid "Margin on Top" msgstr "Margen arriba" -#: ../gtk/gtkwidget.c:1200 +#: ../gtk/gtkwidget.c:1208 msgid "Pixels of extra space on the top side" msgstr "Píxeles de espacio adicional en la parte superior" -#: ../gtk/gtkwidget.c:1220 +#: ../gtk/gtkwidget.c:1228 msgid "Margin on Bottom" msgstr "Margen abajo" -#: ../gtk/gtkwidget.c:1221 +#: ../gtk/gtkwidget.c:1229 msgid "Pixels of extra space on the bottom side" msgstr "Píxeles de espacio adicional en la parte inferior" -#: ../gtk/gtkwidget.c:1238 +#: ../gtk/gtkwidget.c:1246 msgid "All Margins" msgstr "Todos los márgenes" -#: ../gtk/gtkwidget.c:1239 +#: ../gtk/gtkwidget.c:1247 msgid "Pixels of extra space on all four sides" msgstr "Píxeles de espacio adicionales en las cuatro partes" -#: ../gtk/gtkwidget.c:1272 +#: ../gtk/gtkwidget.c:1280 msgid "Horizontal Expand" msgstr "Expansión horizontal" -#: ../gtk/gtkwidget.c:1273 +#: ../gtk/gtkwidget.c:1281 msgid "Whether widget wants more horizontal space" msgstr "Indica si el widget quiere usar más espacio horizontal" -#: ../gtk/gtkwidget.c:1287 +#: ../gtk/gtkwidget.c:1295 msgid "Horizontal Expand Set" msgstr "Ajuste de expansión horizontal" -#: ../gtk/gtkwidget.c:1288 +#: ../gtk/gtkwidget.c:1296 msgid "Whether to use the hexpand property" msgstr "Indica si se debe usar la propiedad hexpand" -#: ../gtk/gtkwidget.c:1302 +#: ../gtk/gtkwidget.c:1310 msgid "Vertical Expand" msgstr "Expansión vertial" -#: ../gtk/gtkwidget.c:1303 +#: ../gtk/gtkwidget.c:1311 msgid "Whether widget wants more vertical space" msgstr "Indica si el widget quiere usar más espacio vertical" -#: ../gtk/gtkwidget.c:1317 +#: ../gtk/gtkwidget.c:1325 msgid "Vertical Expand Set" msgstr "Ajuste de expansión vertical" -#: ../gtk/gtkwidget.c:1318 +#: ../gtk/gtkwidget.c:1326 msgid "Whether to use the vexpand property" msgstr "Indica si se debe usar la propiedad vexpand" -#: ../gtk/gtkwidget.c:1332 +#: ../gtk/gtkwidget.c:1340 msgid "Expand Both" msgstr "Expandir en ambas" -#: ../gtk/gtkwidget.c:1333 +#: ../gtk/gtkwidget.c:1341 msgid "Whether widget wants to expand in both directions" msgstr "Indica si el widget quiere expandirse en ambas direcciones" -#: ../gtk/gtkwidget.c:2991 +#: ../gtk/gtkwidget.c:3000 msgid "Interior Focus" msgstr "Foco interior" -#: ../gtk/gtkwidget.c:2992 +#: ../gtk/gtkwidget.c:3001 msgid "Whether to draw the focus indicator inside widgets" msgstr "Indica si se ha de dibujar el indicador del foco dentro de los widgets" -#: ../gtk/gtkwidget.c:2998 +#: ../gtk/gtkwidget.c:3007 msgid "Focus linewidth" msgstr "Dar foco al ancho de línea" -#: ../gtk/gtkwidget.c:2999 +#: ../gtk/gtkwidget.c:3008 msgid "Width, in pixels, of the focus indicator line" msgstr "Anchura, en píxeles, de la línea indicadora del foco" -#: ../gtk/gtkwidget.c:3005 +#: ../gtk/gtkwidget.c:3014 msgid "Focus line dash pattern" msgstr "Dar foco a la línea con patrón punteado" -#: ../gtk/gtkwidget.c:3006 +#: ../gtk/gtkwidget.c:3015 msgid "Dash pattern used to draw the focus indicator" msgstr "Patrón punteado utilizado para dibujar el indicador de foco" -#: ../gtk/gtkwidget.c:3011 +#: ../gtk/gtkwidget.c:3020 msgid "Focus padding" msgstr "Relleno del foco" -#: ../gtk/gtkwidget.c:3012 +#: ../gtk/gtkwidget.c:3021 msgid "Width, in pixels, between focus indicator and the widget 'box'" msgstr "Anchura, en píxeles, entre el indicador de foco y la «caja» del widget" -#: ../gtk/gtkwidget.c:3017 +#: ../gtk/gtkwidget.c:3026 msgid "Cursor color" msgstr "Color del cursor" -#: ../gtk/gtkwidget.c:3018 +#: ../gtk/gtkwidget.c:3027 msgid "Color with which to draw insertion cursor" msgstr "Color con el cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3023 +#: ../gtk/gtkwidget.c:3032 msgid "Secondary cursor color" msgstr "Color secundario del cursor" -#: ../gtk/gtkwidget.c:3024 +#: ../gtk/gtkwidget.c:3033 msgid "" "Color with which to draw the secondary insertion cursor when editing mixed " "right-to-left and left-to-right text" @@ -7193,43 +7613,43 @@ msgstr "" "Color con el cual dibujar el cursor de inserción secundario cuando se esta " "editando una mezcla de texto de derecha-a-izquierda y izquierda-a-derecha" -#: ../gtk/gtkwidget.c:3029 +#: ../gtk/gtkwidget.c:3038 msgid "Cursor line aspect ratio" msgstr "Proporción de la línea del cursor" -#: ../gtk/gtkwidget.c:3030 +#: ../gtk/gtkwidget.c:3039 msgid "Aspect ratio with which to draw insertion cursor" msgstr "La proporción con la cual dibujar el cursor de inserción" -#: ../gtk/gtkwidget.c:3036 +#: ../gtk/gtkwidget.c:3045 msgid "Window dragging" msgstr "Arrastre de ventana" -#: ../gtk/gtkwidget.c:3037 +#: ../gtk/gtkwidget.c:3046 msgid "Whether windows can be dragged by clicking on empty areas" msgstr "Indica si las ventanas se pueden arrastrar pulsando en áreas vacías" -#: ../gtk/gtkwidget.c:3050 +#: ../gtk/gtkwidget.c:3059 msgid "Unvisited Link Color" msgstr "Color del enlace no visitado" -#: ../gtk/gtkwidget.c:3051 +#: ../gtk/gtkwidget.c:3060 msgid "Color of unvisited links" msgstr "Color de los enlaces no visitados" -#: ../gtk/gtkwidget.c:3064 +#: ../gtk/gtkwidget.c:3073 msgid "Visited Link Color" msgstr "Color del enlace visitado" -#: ../gtk/gtkwidget.c:3065 +#: ../gtk/gtkwidget.c:3074 msgid "Color of visited links" msgstr "Color de los enlaces visitados" -#: ../gtk/gtkwidget.c:3079 +#: ../gtk/gtkwidget.c:3088 msgid "Wide Separators" msgstr "Separadores anchos" -#: ../gtk/gtkwidget.c:3080 +#: ../gtk/gtkwidget.c:3089 msgid "" "Whether separators have configurable width and should be drawn using a box " "instead of a line" @@ -7237,81 +7657,81 @@ msgstr "" "Indica si los separadores tienen anchura configurable y deben dibujarse " "usando una caja en lugar de una línea" -#: ../gtk/gtkwidget.c:3094 +#: ../gtk/gtkwidget.c:3103 msgid "Separator Width" msgstr "Anchura del separador" -#: ../gtk/gtkwidget.c:3095 +#: ../gtk/gtkwidget.c:3104 msgid "The width of separators if wide-separators is TRUE" msgstr "La anchura de los separadores si «wide-separators« es TRUE" -#: ../gtk/gtkwidget.c:3109 +#: ../gtk/gtkwidget.c:3118 msgid "Separator Height" msgstr "Altura del separador" -#: ../gtk/gtkwidget.c:3110 +#: ../gtk/gtkwidget.c:3119 msgid "The height of separators if \"wide-separators\" is TRUE" msgstr "La altura de los separadores si «wide-separators» es TRUE" -#: ../gtk/gtkwidget.c:3124 +#: ../gtk/gtkwidget.c:3133 msgid "Horizontal Scroll Arrow Length" msgstr "Longitud de la flecha de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3125 +#: ../gtk/gtkwidget.c:3134 msgid "The length of horizontal scroll arrows" msgstr "La longitud de las flechas de desplazamiento horizontal" -#: ../gtk/gtkwidget.c:3139 +#: ../gtk/gtkwidget.c:3148 msgid "Vertical Scroll Arrow Length" msgstr "Longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwidget.c:3140 +#: ../gtk/gtkwidget.c:3149 msgid "The length of vertical scroll arrows" msgstr "La longitud de las flechas de desplazamiento vertical" -#: ../gtk/gtkwindow.c:614 +#: ../gtk/gtkwindow.c:603 msgid "Window Type" msgstr "Tipo de ventana" -#: ../gtk/gtkwindow.c:615 +#: ../gtk/gtkwindow.c:604 msgid "The type of the window" msgstr "El tipo de la ventana" -#: ../gtk/gtkwindow.c:623 +#: ../gtk/gtkwindow.c:612 msgid "Window Title" msgstr "Título de la ventana" -#: ../gtk/gtkwindow.c:624 +#: ../gtk/gtkwindow.c:613 msgid "The title of the window" msgstr "El título de la ventana" -#: ../gtk/gtkwindow.c:631 +#: ../gtk/gtkwindow.c:620 msgid "Window Role" msgstr "Rol de la ventana" -#: ../gtk/gtkwindow.c:632 +#: ../gtk/gtkwindow.c:621 msgid "Unique identifier for the window to be used when restoring a session" msgstr "" "Identificador único para la ventana para usarlo al restaurar una sesión" -#: ../gtk/gtkwindow.c:648 +#: ../gtk/gtkwindow.c:637 msgid "Startup ID" msgstr "ID de inicio" -#: ../gtk/gtkwindow.c:649 +#: ../gtk/gtkwindow.c:638 msgid "Unique startup identifier for the window used by startup-notification" msgstr "" "Identificador único de inicio para la ventana usado por startup-notification" -#: ../gtk/gtkwindow.c:657 +#: ../gtk/gtkwindow.c:646 msgid "If TRUE, users can resize the window" msgstr "Si es TRUE los usuario pueden redimensionar la ventana" -#: ../gtk/gtkwindow.c:664 +#: ../gtk/gtkwindow.c:653 msgid "Modal" msgstr "Modal" -#: ../gtk/gtkwindow.c:665 +#: ../gtk/gtkwindow.c:654 msgid "" "If TRUE, the window is modal (other windows are not usable while this one is " "up)" @@ -7319,80 +7739,80 @@ msgstr "" "Si es TRUE, esta ventana es modal (no se pueden utilizar otras ventanas " "mientras ésta este encima)" -#: ../gtk/gtkwindow.c:672 +#: ../gtk/gtkwindow.c:661 msgid "Window Position" msgstr "Posición de la ventana" -#: ../gtk/gtkwindow.c:673 +#: ../gtk/gtkwindow.c:662 msgid "The initial position of the window" msgstr "La posición inicial de la ventana" -#: ../gtk/gtkwindow.c:681 +#: ../gtk/gtkwindow.c:670 msgid "Default Width" msgstr "Anchura predeterminada" -#: ../gtk/gtkwindow.c:682 +#: ../gtk/gtkwindow.c:671 msgid "The default width of the window, used when initially showing the window" msgstr "" "El ancho predeterminado de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:691 +#: ../gtk/gtkwindow.c:680 msgid "Default Height" msgstr "Altura predeterminada" -#: ../gtk/gtkwindow.c:692 +#: ../gtk/gtkwindow.c:681 msgid "" "The default height of the window, used when initially showing the window" msgstr "" "La altura predeterminada de la ventana, utilizado cuando se muestra " "inicialmente la ventana" -#: ../gtk/gtkwindow.c:701 +#: ../gtk/gtkwindow.c:690 msgid "Destroy with Parent" msgstr "Destruir con el padre" -#: ../gtk/gtkwindow.c:702 +#: ../gtk/gtkwindow.c:691 msgid "If this window should be destroyed when the parent is destroyed" msgstr "Indica si esta ventana debe ser destruida cuando el padre se destruye" -#: ../gtk/gtkwindow.c:710 +#: ../gtk/gtkwindow.c:699 msgid "Icon for this window" msgstr "Icono para esta ventana" -#: ../gtk/gtkwindow.c:716 +#: ../gtk/gtkwindow.c:705 msgid "Mnemonics Visible" msgstr "Mnemónicos visibles" -#: ../gtk/gtkwindow.c:717 +#: ../gtk/gtkwindow.c:706 msgid "Whether mnemonics are currently visible in this window" msgstr "Indica si los mnemónicos son visibles actualmente en esta ventana" -#: ../gtk/gtkwindow.c:733 +#: ../gtk/gtkwindow.c:722 msgid "Name of the themed icon for this window" msgstr "Nombre del icono del tema para esta ventana" -#: ../gtk/gtkwindow.c:748 +#: ../gtk/gtkwindow.c:737 msgid "Is Active" msgstr "Está activo" -#: ../gtk/gtkwindow.c:749 +#: ../gtk/gtkwindow.c:738 msgid "Whether the toplevel is the current active window" msgstr "Indica si el nivel superior es la ventana activa actual" -#: ../gtk/gtkwindow.c:756 +#: ../gtk/gtkwindow.c:745 msgid "Focus in Toplevel" msgstr "Foco en el nivel superior" -#: ../gtk/gtkwindow.c:757 +#: ../gtk/gtkwindow.c:746 msgid "Whether the input focus is within this GtkWindow" msgstr "Indica si el foco de entrada esta dentro de este GtkWindow" -#: ../gtk/gtkwindow.c:764 +#: ../gtk/gtkwindow.c:753 msgid "Type hint" msgstr "Pista de tipo" -#: ../gtk/gtkwindow.c:765 +#: ../gtk/gtkwindow.c:754 msgid "" "Hint to help the desktop environment understand what kind of window this is " "and how to treat it." @@ -7400,118 +7820,148 @@ msgstr "" "Pista para ayudar al entorno de escritorio a entender qué clase de ventana " "es ésta y cómo tratar con ella." -#: ../gtk/gtkwindow.c:773 +#: ../gtk/gtkwindow.c:762 msgid "Skip taskbar" msgstr "Ignorar barra de tareas" -#: ../gtk/gtkwindow.c:774 +#: ../gtk/gtkwindow.c:763 msgid "TRUE if the window should not be in the task bar." msgstr "TRUE si la ventana no debe estar en la barra de tareas." -#: ../gtk/gtkwindow.c:781 +#: ../gtk/gtkwindow.c:770 msgid "Skip pager" msgstr "Ignorar paginador" -#: ../gtk/gtkwindow.c:782 +#: ../gtk/gtkwindow.c:771 msgid "TRUE if the window should not be in the pager." msgstr "TRUE si la ventana no debe estar en el paginador." -#: ../gtk/gtkwindow.c:789 +#: ../gtk/gtkwindow.c:778 msgid "Urgent" msgstr "Urgente" -#: ../gtk/gtkwindow.c:790 +#: ../gtk/gtkwindow.c:779 msgid "TRUE if the window should be brought to the user's attention." msgstr "TRUE si la ventana debe llamar la atención del usuario." -#: ../gtk/gtkwindow.c:804 +#: ../gtk/gtkwindow.c:793 msgid "Accept focus" msgstr "Aceptar foco" -#: ../gtk/gtkwindow.c:805 +#: ../gtk/gtkwindow.c:794 msgid "TRUE if the window should receive the input focus." msgstr "TRUE si la ventana no debe recibir el foco de entrada." -#: ../gtk/gtkwindow.c:819 +#: ../gtk/gtkwindow.c:808 msgid "Focus on map" msgstr "Foco en el mapa" -#: ../gtk/gtkwindow.c:820 +#: ../gtk/gtkwindow.c:809 msgid "TRUE if the window should receive the input focus when mapped." msgstr "TRUE si la ventana debe recibir el foco de entrada al ser mapeada." -#: ../gtk/gtkwindow.c:834 +#: ../gtk/gtkwindow.c:823 msgid "Decorated" msgstr "Decorado" -#: ../gtk/gtkwindow.c:835 +#: ../gtk/gtkwindow.c:824 msgid "Whether the window should be decorated by the window manager" msgstr "Indica si la ventana debe ser decorada por el gestor de ventanas" -#: ../gtk/gtkwindow.c:849 +#: ../gtk/gtkwindow.c:838 msgid "Deletable" msgstr "Borrable" -#: ../gtk/gtkwindow.c:850 +#: ../gtk/gtkwindow.c:839 msgid "Whether the window frame should have a close button" msgstr "Indica si el marco de la ventana debe tener un botón de cierre" -#: ../gtk/gtkwindow.c:869 +#: ../gtk/gtkwindow.c:858 msgid "Resize grip" msgstr "Redimensionar tirador" -#: ../gtk/gtkwindow.c:870 +#: ../gtk/gtkwindow.c:859 msgid "Specifies whether the window should have a resize grip" msgstr "Especifica si la ventana debe tener un tirador de redimensión" -#: ../gtk/gtkwindow.c:884 +#: ../gtk/gtkwindow.c:873 msgid "Resize grip is visible" msgstr "El tirador de redimensión es visible" -#: ../gtk/gtkwindow.c:885 +#: ../gtk/gtkwindow.c:874 msgid "Specifies whether the window's resize grip is visible." msgstr "Indica si el tirador de redimensión de la ventana es visible." -#: ../gtk/gtkwindow.c:901 +#: ../gtk/gtkwindow.c:890 msgid "Gravity" msgstr "Gravedad" -#: ../gtk/gtkwindow.c:902 +#: ../gtk/gtkwindow.c:891 msgid "The window gravity of the window" msgstr "La gravedad de la ventana" -#: ../gtk/gtkwindow.c:919 +#: ../gtk/gtkwindow.c:908 msgid "Transient for Window" msgstr "Transitorio para la ventana" -#: ../gtk/gtkwindow.c:920 +#: ../gtk/gtkwindow.c:909 msgid "The transient parent of the dialog" msgstr "El padre transitorio del diálogo" -#: ../gtk/gtkwindow.c:935 +#: ../gtk/gtkwindow.c:924 msgid "Opacity for Window" msgstr "Opacidad para la ventana" -#: ../gtk/gtkwindow.c:936 +#: ../gtk/gtkwindow.c:925 msgid "The opacity of the window, from 0 to 1" msgstr "La opacidad de la ventana, desde 0 hasta 1" -#: ../gtk/gtkwindow.c:946 ../gtk/gtkwindow.c:947 +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 msgid "Width of resize grip" msgstr "Anchura del tirador de redimensión" -#: ../gtk/gtkwindow.c:952 ../gtk/gtkwindow.c:953 +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 msgid "Height of resize grip" msgstr "Altura del tirador de redimensión" -#: ../gtk/gtkwindow.c:972 +#: ../gtk/gtkwindow.c:961 msgid "GtkApplication" msgstr "GtkApplication" -#: ../gtk/gtkwindow.c:973 +#: ../gtk/gtkwindow.c:962 msgid "The GtkApplication for the window" msgstr "El GtkApplication para la ventana" +#~ msgid "Tab pack type" +#~ msgstr "Tipo de empaquetado de la solapa" + +#~ msgid "Update policy" +#~ msgstr "Política de actualización" + +#~ msgid "How the range should be updated on the screen" +#~ msgstr "Cómo se debe actualizar el rango en la pantalla" + +#~ msgid "Number of steps" +#~ msgstr "Número de pasos" + +#~ msgid "" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." +#~ msgstr "" +#~ "El número de pasos para que el marcador incrementable complete una vuelta " +#~ "completa. La animación completará de forma predeterminada un ciclo " +#~ "completo en un segundo (consulte #GtkSpinner:cycle-duration)." + +#~ msgid "Animation duration" +#~ msgstr "Duración de la animación" + +#~ msgid "" +#~ "The length of time in milliseconds for the spinner to complete a full loop" +#~ msgstr "" +#~ "El tiempo en milisegundos para que el marcador incrementable complete una " +#~ "vuelta completa" + #~ msgid "" #~ "The label for the link to the website of the program. If this is not set, " #~ "it defaults to the URL" @@ -7554,12 +8004,6 @@ msgstr "El GtkApplication para la ventana" #~ msgid "The metric used for the ruler" #~ msgstr "La métrica de la regla" -#~ msgid "Horizontal adjustment" -#~ msgstr "Ajuste horizontal" - -#~ msgid "Vertical adjustment" -#~ msgstr "Ajuste vertical" - #~ msgid "Horizontal Adjustment for the widget" #~ msgstr "Ajuste horizontal para el widget" From c444ccf53187d87b1197c89a5eb231271ba58d4c Mon Sep 17 00:00:00 2001 From: Daniel Mustieles Date: Sun, 16 Jan 2011 21:25:10 +0100 Subject: [PATCH 1421/1463] Updated Spanish translation --- po-properties/es.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/po-properties/es.po b/po-properties/es.po index 321e9fbd14..88723a63aa 100644 --- a/po-properties/es.po +++ b/po-properties/es.po @@ -19,7 +19,7 @@ msgstr "" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk" "%2b&component=general\n" "POT-Creation-Date: 2011-01-10 22:03+0000\n" -"PO-Revision-Date: 2011-01-16 13:05+0100\n" +"PO-Revision-Date: 2011-01-16 21:25+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Español \n" "MIME-Version: 1.0\n" @@ -1252,7 +1252,7 @@ msgstr "Indica si el elemento debería iniciar una fila nueva" #: ../gtk/gtkcellareabox.c:371 #| msgid "Pixel size" msgid "Fixed Size" -msgstr "Tamaño dfijo" +msgstr "Tamaño fijo" #: ../gtk/gtkcellareabox.c:372 #, fuzzy From e28a2695acdbbe7f6118b402a20b79e789d14873 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 14 Jan 2011 01:09:40 +0100 Subject: [PATCH 1422/1463] Improve progressbars theming. Make progressbar itself have an outset border, and improve spacings. --- gtk/gtkcssprovider.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index f154d162f9..7461fbfdbc 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3697,6 +3697,7 @@ gtk_css_provider_get_default (void) ".trough {\n" " border-style: inset;\n" " border-width: 1;\n" + " padding: 0;\n" "}\n" "\n" ".entry {\n" @@ -3720,6 +3721,8 @@ gtk_css_provider_get_default (void) " background-color: @selected_bg_color;\n" " border-color: shade (@selected_bg_color, 0.7);\n" " color: @selected_fg_color;\n" + " border-style: outset;\n" + " border-width: 1;\n" "}\n" "\n" "GtkCheckButton:hover,\n" From 0e77486e91fe5b0c3cdc2688a6323bb0a27b9641 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 17 Jan 2011 03:54:58 +0100 Subject: [PATCH 1423/1463] Make GtkEntry set the style context state. --- gtk/gtkentry.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index bb207310f1..0b905db13f 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3506,6 +3506,9 @@ gtk_entry_draw (GtkWidget *widget, if (gtk_widget_has_focus (widget)) state |= GTK_STATE_FLAG_FOCUSED; + gtk_style_context_save (context); + gtk_style_context_set_state (context, state); + if (gtk_cairo_should_draw_window (cr, gtk_widget_get_window (widget))) { /* Draw entry_bg, shadow, progress and focus */ @@ -3547,6 +3550,8 @@ gtk_entry_draw (GtkWidget *widget, } } + gtk_style_context_restore (context); + return FALSE; } From 07e62229dacd44d603703192581c36aa244cb774 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 17 Jan 2011 03:55:53 +0100 Subject: [PATCH 1424/1463] Make GtkFrame propagate the "frame" style class to its header label --- gtk/gtkframe.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c index 04950f6fea..5e6e2fc787 100644 --- a/gtk/gtkframe.c +++ b/gtk/gtkframe.c @@ -78,6 +78,8 @@ static void gtk_frame_forall (GtkContainer *container, gboolean include_internals, GtkCallback callback, gpointer callback_data); +static GtkWidgetPath * gtk_frame_get_path_for_child (GtkContainer *container, + GtkWidget *child); static void gtk_frame_compute_child_allocation (GtkFrame *frame, GtkAllocation *child_allocation); @@ -177,6 +179,7 @@ gtk_frame_class_init (GtkFrameClass *class) container_class->remove = gtk_frame_remove; container_class->forall = gtk_frame_forall; + container_class->get_path_for_child = gtk_frame_get_path_for_child; class->compute_child_allocation = gtk_frame_real_compute_child_allocation; @@ -334,6 +337,21 @@ gtk_frame_forall (GtkContainer *container, (* callback) (priv->label_widget, callback_data); } +static GtkWidgetPath * +gtk_frame_get_path_for_child (GtkContainer *container, + GtkWidget *child) +{ + GtkFramePrivate *priv = GTK_FRAME (container)->priv; + GtkWidgetPath *path; + + path = GTK_CONTAINER_CLASS (gtk_frame_parent_class)->get_path_for_child (container, child); + + if (child == priv->label_widget) + gtk_widget_path_iter_add_class (path, -1, GTK_STYLE_CLASS_FRAME); + + return path; +} + /** * gtk_frame_set_label: * @frame: a #GtkFrame From f482d4dc89b9cb75bf1fab539d1f7b065c494baa Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 17 Jan 2011 03:56:47 +0100 Subject: [PATCH 1425/1463] Ensure harder a GtkStyleContext has a theming engine anytime --- gtk/gtkstylecontext.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index 8e01b9c0b4..e36bef4eb7 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -1165,6 +1165,10 @@ style_data_lookup (GtkStyleContext *context) gtk_style_properties_get (data->store, 0, "engine", &priv->theming_engine, NULL); + + if (!priv->theming_engine) + priv->theming_engine = g_object_ref (gtk_theming_engine_load (NULL)); + return data; } From 62fd79b2247eb67fafee19fbeedab7fc52ac8314 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 17 Jan 2011 03:58:45 +0100 Subject: [PATCH 1426/1463] Do not set junction sides to the entry frame in spinbuttons. That's meant to be the outer frame, so no junction sides apply there --- gtk/gtkspinbutton.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c index 65b4e2ee35..5ba8036d47 100644 --- a/gtk/gtkspinbutton.c +++ b/gtk/gtkspinbutton.c @@ -923,11 +923,6 @@ gtk_spin_button_draw (GtkWidget *widget, context = gtk_widget_get_style_context (widget); gtk_style_context_save (context); - if (is_rtl) - gtk_style_context_set_junction_sides (context, GTK_JUNCTION_LEFT); - else - gtk_style_context_set_junction_sides (context, GTK_JUNCTION_RIGHT); - GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->draw (widget, cr); gtk_style_context_restore (context); From 5f43a51a83c7ff7aea1114fb4dda96800cda83d5 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 17 Jan 2011 04:05:44 +0100 Subject: [PATCH 1427/1463] Make gtk_widget_get_path() also add all persistent style classes the widget has. --- gtk/gtkwidget.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 325788b943..40ec6040a8 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -14122,8 +14122,22 @@ gtk_widget_get_path (GtkWidget *widget) gtk_widget_path_iter_set_name (widget->priv->path, pos, widget->priv->name); if (widget->priv->context) - gtk_style_context_set_path (widget->priv->context, - widget->priv->path); + { + GList *classes, *l; + + /* Also add any persistent classes in + * the style context the widget path + */ + classes = gtk_style_context_list_classes (widget->priv->context); + + for (l = classes; l; l = l->next) + gtk_widget_path_iter_add_class (widget->priv->path, pos, l->data); + + gtk_style_context_set_path (widget->priv->context, + widget->priv->path); + + g_list_free (classes); + } } return widget->priv->path; From 2f207ca749c4d705c39062761335458522c803d2 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 17 Jan 2011 04:06:57 +0100 Subject: [PATCH 1428/1463] Make selectors with no explicit state from higher priority GtkStyleProviders override lower ones with a state. This makes overriding information from the themes more intuitive --- gtk/gtkstyleproperties.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c index 5dc088f29e..0052257cbe 100644 --- a/gtk/gtkstyleproperties.c +++ b/gtk/gtkstyleproperties.c @@ -186,7 +186,7 @@ property_data_new (void) } static void -property_data_free (PropertyData *data) +property_data_remove_values (PropertyData *data) { guint i; @@ -200,6 +200,14 @@ property_data_free (PropertyData *data) g_value_unset (&value_data->value); } + if (data->values->len > 0) + g_array_remove_range (data->values, 0, data->values->len); +} + +static void +property_data_free (PropertyData *data) +{ + property_data_remove_values (data); g_array_free (data->values, TRUE); g_slice_free (PropertyData, data); } @@ -1203,6 +1211,16 @@ gtk_style_properties_merge (GtkStyleProperties *props, GValue *value; data = &g_array_index (prop_to_merge->values, ValueData, i); + + if (replace && data->state == GTK_STATE_FLAG_NORMAL && + G_VALUE_TYPE (&data->value) != PANGO_TYPE_FONT_DESCRIPTION) + { + /* Let normal state override all states + * previously set in the original set + */ + property_data_remove_values (prop); + } + value = property_data_get_value (prop, data->state); if (G_VALUE_TYPE (&data->value) == PANGO_TYPE_FONT_DESCRIPTION && From 2bd38dc7f5fe6aa4a555764343469cd22e219575 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Sat, 15 Jan 2011 14:50:24 +0100 Subject: [PATCH 1429/1463] Move GtkFixed docs inline Also remove incorrect documentation of opaque GtkFixed class struct. --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkfixed.sgml | 133 -------------------------- gtk/gtkfixed.c | 74 ++++++++++++++ 3 files changed, 75 insertions(+), 133 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkfixed.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index dc9c131e6f..d8417c904c 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -26,6 +26,7 @@ gtkenum.sgml gtkeventbox.sgml gtkexpander.sgml gtkfeatures.sgml +gtkfixed.sgml gtkhbox.sgml gtkiconview.sgml gtkimcontextsimple.sgml diff --git a/docs/reference/gtk/tmpl/gtkfixed.sgml b/docs/reference/gtk/tmpl/gtkfixed.sgml deleted file mode 100644 index b2366aa2fd..0000000000 --- a/docs/reference/gtk/tmpl/gtkfixed.sgml +++ /dev/null @@ -1,133 +0,0 @@ - -GtkFixed - - -A container which allows you to position widgets at fixed coordinates - - - -The #GtkFixed widget is a container which can place child widgets at fixed -positions and with fixed sizes, given in pixels. #GtkFixed performs no -automatic layout management. - - - -For most applications, you should not use this container! It keeps -you from having to learn about the other GTK+ containers, but it -results in broken applications. -With #GtkFixed, the following things will result in truncated text, -overlapping widgets, and other display bugs: - - -Themes, which may change widget sizes. - - - -Fonts other than the one you used to write the app will of -course change the size of widgets containing text; keep in mind that -users may use a larger font because of difficulty reading the default, -or they may be using Windows or the framebuffer port of GTK+, where -different fonts are available. - - - - -Translation of text into other languages changes its size. Also, -display of non-English text will use a different font in many cases. - - - - - - -In addition, the fixed widget can't properly be mirrored in -right-to-left languages such as Hebrew and Arabic. i.e. normally GTK+ -will flip the interface to put labels to the right of the thing they -label, but it can't do that with #GtkFixed. So your application will -not be usable in right-to-left languages. - - - -Finally, fixed positioning makes it kind of annoying to add/remove GUI -elements, since you have to reposition all the other elements. This is -a long-term maintenance problem for your application. - - - -If you know none of these things are an issue for your application, -and prefer the simplicity of #GtkFixed, by all means use the -widget. But you should be aware of the tradeoffs. - - - - - - - - - - - - - - - -The #GtkFixed-struct struct contains the following fields. -(These fields should be considered read-only. They should never be set by -an application.) - - - - - - -#GList *children; -a list of #GtkFixedChild elements, containing the child widgets and -their positions. - - - - - - - - - - - - - - - - - - -Creates a new #GtkFixed. - - -@void: -@Returns: a new #GtkFixed. - - - - -Adds a widget to a #GtkFixed container at the given position. - - -@fixed: a #GtkFixed. -@widget: the widget to add. -@x: the horizontal position to place the widget at. -@y: the vertical position to place the widget at. - - - - -Moves a child of a #GtkFixed container to the given position. - - -@fixed: a #GtkFixed. -@widget: the child widget. -@x: the horizontal position to move the widget to. -@y: the vertical position to move the widget to. - - diff --git a/gtk/gtkfixed.c b/gtk/gtkfixed.c index d75f599b12..e61f03a625 100644 --- a/gtk/gtkfixed.c +++ b/gtk/gtkfixed.c @@ -24,6 +24,55 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkfixed + * @Short_description: A container which allows you to position + * widgets at fixed coordinates + * @Title: GtkFixed + * + * The #GtkFixed widget is a container which can place child widgets + * at fixed positions and with fixed sizes, given in pixels. #GtkFixed + * performs no automatic layout management. + * + * For most applications, you should not use this container! It keeps + * you from having to learn about the other GTK+ containers, but it + * results in broken applications. With #GtkFixed, the following + * things will result in truncated text, overlapping widgets, and + * other display bugs: + * + * + * Themes, which may change widget sizes. + * + * + * Fonts other than the one you used to write the app will of course + * change the size of widgets containing text; keep in mind that + * users may use a larger font because of difficulty reading the + * default, or they may be using Windows or the framebuffer port of + * GTK+, where different fonts are available. + * + * + * Translation of text into other languages changes its size. Also, + * display of non-English text will use a different font in many + * cases. + * + * + * + * In addition, the fixed widget can't properly be mirrored in + * right-to-left languages such as Hebrew and Arabic. i.e. normally + * GTK+ will flip the interface to put labels to the right of the + * thing they label, but it can't do that with #GtkFixed. So your + * application will not be usable in right-to-left languages. + * + * Finally, fixed positioning makes it kind of annoying to add/remove + * GUI elements, since you have to reposition all the other + * elements. This is a long-term maintenance problem for your + * application. + * + * If you know none of these things are an issue for your application, + * and prefer the simplicity of #GtkFixed, by all means use the + * widget. But you should be aware of the tradeoffs. + */ + #include "config.h" #include "gtkfixed.h" @@ -132,6 +181,13 @@ gtk_fixed_init (GtkFixed *fixed) fixed->priv->children = NULL; } +/** + * gtk_fixed_new: + * + * Creates a new #GtkFixed. + * + * Returns: a new #GtkFixed. + */ GtkWidget* gtk_fixed_new (void) { @@ -158,6 +214,15 @@ get_child (GtkFixed *fixed, return NULL; } +/** + * gtk_fixed_put: + * @fixed: a #GtkFixed. + * @widget: the widget to add. + * @x: the horizontal position to place the widget at. + * @y: the vertical position to place the widget at. + * + * Adds a widget to a #GtkFixed container at the given position. + */ void gtk_fixed_put (GtkFixed *fixed, GtkWidget *widget, @@ -210,6 +275,15 @@ gtk_fixed_move_internal (GtkFixed *fixed, gtk_widget_queue_resize (GTK_WIDGET (fixed)); } +/** + * gtk_fixed_move: + * @fixed: a #GtkFixed. + * @widget: the child widget. + * @x: the horizontal position to move the widget to. + * @y: the vertical position to move the widget to. + * + * Moves a child of a #GtkFixed container to the given position. + */ void gtk_fixed_move (GtkFixed *fixed, GtkWidget *widget, From 4dab3a601d2075e29fa328879c6118c378c5a38f Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Sat, 15 Jan 2011 14:51:11 +0100 Subject: [PATCH 1430/1463] Move GtkMenu docs inline --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkmenu.sgml | 494 --------------------------- gtk/gtkmenu.c | 174 +++++++++- gtk/gtkmenu.h | 39 ++- 4 files changed, 211 insertions(+), 497 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkmenu.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index d8417c904c..1758fee30a 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -35,6 +35,7 @@ gtkitemfactory.sgml gtklayout.sgml gtklinkbutton.sgml gtkmain.sgml +gtkmenu.sgml gtkmenubar.sgml gtkmenushell.sgml gtkmessagedialog.sgml diff --git a/docs/reference/gtk/tmpl/gtkmenu.sgml b/docs/reference/gtk/tmpl/gtkmenu.sgml deleted file mode 100644 index 2ca8386954..0000000000 --- a/docs/reference/gtk/tmpl/gtkmenu.sgml +++ /dev/null @@ -1,494 +0,0 @@ - -GtkMenu - - -A menu widget - - - -A #GtkMenu is a #GtkMenuShell that implements a drop down menu consisting of -a list of #GtkMenuItem objects which can be navigated and activated by the -user to perform application functions. - - - -A #GtkMenu is most commonly dropped down by activating a #GtkMenuItem in a -#GtkMenuBar or popped up by activating a #GtkMenuItem in another #GtkMenu. - - - -A #GtkMenu can also be popped up by activating a #GtkOptionMenu. -Other composite widgets such as the #GtkNotebook can pop up a #GtkMenu -as well. - - - -Applications can display a #GtkMenu as a popup menu by calling the -gtk_menu_popup() function. The example below shows how an application -can pop up a menu when the 3rd mouse button is pressed. - - - -Connecting the popup signal handler. - - /* connect our handler which will popup the menu */ - g_signal_connect_swapped (window, "button_press_event", - G_CALLBACK (my_popup_handler), menu); - - - - -Signal handler which displays a popup menu. - -static gint -my_popup_handler (GtkWidget *widget, GdkEvent *event) -{ - GtkMenu *menu; - GdkEventButton *event_button; - - g_return_val_if_fail (widget != NULL, FALSE); - g_return_val_if_fail (GTK_IS_MENU (widget), FALSE); - g_return_val_if_fail (event != NULL, FALSE); - - /* The "widget" is the menu that was supplied when - * g_signal_connect_swapped() was called. - */ - menu = GTK_MENU (widget); - - if (event->type == GDK_BUTTON_PRESS) - { - event_button = (GdkEventButton *) event; - if (event_button->button == 3) - { - gtk_menu_popup (menu, NULL, NULL, NULL, NULL, - event_button->button, event_button->time); - return TRUE; - } - } - - return FALSE; -} - - - - - - - - - - - - - - - - -The #GtkMenu struct contains private data only, and -should be accessed using the functions below. - - - - - - - - -@menu: the object which received the signal. -@arg1: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Creates a new #GtkMenu. - - -@void: -@Returns: a new #GtkMenu. - - - - - - - -@menu: -@screen: - - - - -Moves a #GtkMenuItem to a new position within the #GtkMenu. - - -@menu: a #GtkMenu. -@child: the #GtkMenuItem to move. -@position: the new position to place @child. Positions are numbered from -0 to n-1. - - - - - - - -@menu: -@child: -@left_attach: -@right_attach: -@top_attach: -@bottom_attach: - - - - - - - -@menu: -@device: -@parent_menu_shell: -@parent_menu_item: -@func: -@data: -@destroy: -@button: -@activate_time: - - - - - -@menu: -@parent_menu_shell: -@parent_menu_item: -@func: -@data: -@button: -@activate_time: - - - - -Set the #GtkAccelGroup which holds global accelerators for the menu. -This accelerator group needs to also be added to all windows that -this menu is being used in with gtk_window_add_accel_group(), in order -for those windows to support all the accelerators contained in this group. - - -@menu: a #GtkMenu. -@accel_group: the #GtkAccelGroup to be associated with the menu. - - - - -Gets the #GtkAccelGroup which holds global accelerators for the menu. -See gtk_menu_set_accel_group(). - - -@menu: a #GtkMenu. -@Returns: the #GtkAccelGroup associated with the menu. - - - - - - - -@menu: -@accel_path: - - - - - - - -@menu: -@Returns: - - - - - - -@menu: -@title: - - - - - - - -@menu: -@Returns: - - - - - - - -@menu: -@monitor_num: - - - - - - - -@menu: -@Returns: - - - - - - - -@menu: -@Returns: - - - - - - - -@menu: -@reserve_toggle_size: - - - - - - - -@menu: -@Returns: - - - - -Removes the menu from the screen. - - -@menu: a #GtkMenu. - - - - -Repositions the menu according to its position function. - - -@menu: a #GtkMenu. - - - - -Returns the selected menu item from the menu. This is used by the -#GtkOptionMenu. - - -@menu: a #GtkMenu. -@Returns: the #GtkMenuItem that was last selected in the menu. If a -selection has not yet been made, the first menu item is selected. - - - - -Selects the specified menu item within the menu. This is used by the -#GtkOptionMenu and should not be used by anyone else. - - -@menu: a #GtkMenu. -@index_: the index of the menu item to select. Index values are from -0 to n-1. - - - - -Changes the tearoff state of the menu. A menu is normally displayed -as drop down menu which persists as long as the menu is active. It can -also be displayed as a tearoff menu which persists until it is closed -or reattached. - - -@menu: a #GtkMenu. -@torn_off: If %TRUE, menu is displayed as a tearoff menu. - - - - -Attaches the menu to the widget and provides a callback function that will -be invoked when the menu calls gtk_menu_detach() during its destruction. - - -@menu: a #GtkMenu. -@attach_widget: the #GtkWidget that the menu will be attached to. -@detacher: the user supplied callback function that will be called when -the menu calls gtk_menu_detach(). - - - - -Detaches the menu from the widget to which it had been attached. -This function will call the callback function, @detacher, provided -when the gtk_menu_attach_to_widget() function was called. - - -@menu: a #GtkMenu. - - - - -Returns the #GtkWidget that the menu is attached to. - - -@menu: a #GtkMenu. -@Returns: the #GtkWidget that the menu is attached to. - - - - - - - -@widget: -@Returns: - - - - -A user function supplied when calling gtk_menu_popup() which controls the -positioning of the menu when it is displayed. The function sets the @x -and @y parameters to the coordinates where the menu is to be drawn. -To make the menu appear on a different monitor than the mouse pointer, -gtk_menu_set_monitor() must be called. - - -@menu: a #GtkMenu. -@x: address of the #gint representing the horizontal position where the -menu shall be drawn. This is an output parameter. -@y: address of the #gint representing the vertical position where the -menu shall be drawn. This is an output parameter. -@push_in: This parameter controls how menus placed outside the monitor are handled. - If this is set to %TRUE and part of the menu is outside the monitor then - GTK+ pushes the window into the visible area, effectively modifying the - popup position. - Note that moving and possibly resizing the menu around will alter the - scroll position to keep the menu items "in place", i.e. at the same monitor - position they would have been without resizing. - In practice, this behavior is only useful for combobox popups or option - menus and cannot be used to simply confine a menu to monitor boundaries. - In that case, changing the scroll offset is not desirable. -@user_data: the data supplied by the user in the gtk_menu_popup() @data -parameter. - - - - -A user function supplied when calling gtk_menu_attach_to_widget() which -will be called when the menu is later detached from the widget. - - -@attach_widget: the #GtkWidget that the menu is being detached from. -@menu: the #GtkMenu being detached. - - diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index c8c6c64557..e1b4ca3f8a 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -24,6 +24,71 @@ * GTK+ at ftp://ftp.gtk.org/pub/gtk/. */ +/** + * SECTION:gtkmenu + * @Short_description: A menu widget + * @Title: GtkMenu + * + * A #GtkMenu is a #GtkMenuShell that implements a drop down menu + * consisting of a list of #GtkMenuItem objects which can be navigated + * and activated by the user to perform application functions. + * + * A #GtkMenu is most commonly dropped down by activating a + * #GtkMenuItem in a #GtkMenuBar or popped up by activating a + * #GtkMenuItem in another #GtkMenu. + * + * A #GtkMenu can also be popped up by activating a #GtkOptionMenu. + * Other composite widgets such as the #GtkNotebook can pop up a + * #GtkMenu as well. + * + * Applications can display a #GtkMenu as a popup menu by calling the + * gtk_menu_popup() function. The example below shows how an application + * can pop up a menu when the 3rd mouse button is pressed. + * + * + * Connecting the popup signal handler. + * + * /* connect our handler which will popup the menu */ + * g_signal_connect_swapped (window, "button_press_event", + * G_CALLBACK (my_popup_handler), menu); + * + * + * + * + * Signal handler which displays a popup menu. + * + * static gint + * my_popup_handler (GtkWidget *widget, GdkEvent *event) + * { + * GtkMenu *menu; + * GdkEventButton *event_button; + * + * g_return_val_if_fail (widget != NULL, FALSE); + * g_return_val_if_fail (GTK_IS_MENU (widget), FALSE); + * g_return_val_if_fail (event != NULL, FALSE); + * + * /* The "widget" is the menu that was supplied when + * * g_signal_connect_swapped() was called. + * */ + * menu = GTK_MENU (widget); + * + * if (event->type == GDK_BUTTON_PRESS) + * { + * event_button = (GdkEventButton *) event; + * if (event_button->button == 3) + * { + * gtk_menu_popup (menu, NULL, NULL, NULL, NULL, + * event_button->button, event_button->time); + * return TRUE; + * } + * } + * + * return FALSE; + * } + * + * + */ + #include "config.h" #include @@ -492,6 +557,11 @@ gtk_menu_class_init (GtkMenuClass *class) menu_shell_class->get_popup_delay = gtk_menu_get_popup_delay; menu_shell_class->move_current = gtk_menu_move_current; + /** + * GtkMenu::move-scroll: + * @menu: a #GtkMenu + * @scroll_type: a #GtkScrollType + */ menu_signals[MOVE_SCROLL] = g_signal_new_class_handler (I_("move-scroll"), G_OBJECT_CLASS_TYPE (gobject_class), @@ -715,7 +785,7 @@ gtk_menu_class_init (GtkMenuClass *class) GTK_PARAM_READWRITE)); /** - * GtkMenu::arrow-scaling + * GtkMenu:arrow-scaling * * Arbitrary constant to scale down the size of the scroll arrow. * @@ -1113,6 +1183,17 @@ attach_widget_screen_changed (GtkWidget *attach_widget, menu_change_screen (menu, gtk_widget_get_screen (attach_widget)); } +/** + * gtk_menu_attach_to_widget: + * @menu: a #GtkMenu + * @attach_widget: the #GtkWidget that the menu will be attached to + * @detacher: the user supplied callback functions that will be called + * when the menu calls gtk_menu_detach() + * + * Attaches the menu to the widget and provides a callback function + * that will be invoked when the menu calls gtk_menu_detach() during + * its destruction. + */ void gtk_menu_attach_to_widget (GtkMenu *menu, GtkWidget *attach_widget, @@ -1164,6 +1245,14 @@ gtk_menu_attach_to_widget (GtkMenu *menu, g_object_notify (G_OBJECT (menu), "attach-widget"); } +/** + * gtk_menu_get_attach_widget: + * @menu: a #GtkMenu + * + * Returns the #GtkWidget that the menu is attached to. + * + * Returns: the #GtkWidget that the menu is attached to + */ GtkWidget* gtk_menu_get_attach_widget (GtkMenu *menu) { @@ -1177,6 +1266,14 @@ gtk_menu_get_attach_widget (GtkMenu *menu) return NULL; } +/** + * gtk_menu_detach: + * @menu: a #GtkMenu + * + * Detaches the menu from the widget to which it had been attached. + * This function will call the callback function, @detacher, provided + * when the gtk_menu_attach_to_widget() function was called. + */ void gtk_menu_detach (GtkMenu *menu) { @@ -1237,6 +1334,13 @@ gtk_menu_remove (GtkContainer *container, menu_queue_resize (menu); } +/** + * gtk_menu_new: + * + * Creates a new #GtkMenu. + * + * Returns: a new #GtkMenu. + */ GtkWidget* gtk_menu_new (void) { @@ -1684,6 +1788,12 @@ gtk_menu_popup (GtkMenu *menu, button, activate_time); } +/** + * gtk_menu_popdown: + * @menu: a #GtkMenu + * + * Removes the menu from the screen. + */ void gtk_menu_popdown (GtkMenu *menu) { @@ -1772,6 +1882,17 @@ gtk_menu_popdown (GtkMenu *menu) menu_grab_transfer_window_destroy (menu); } +/** + * gtk_menu_get_active: + * @menu: a #GtkMenu + * + * Returns the selected menu item from the menu. This is used by the + * #GtkOptionMenu. + * + * Returns: the #GtkMenuItem that was last selected in the menu. If a + * selection has not yet been made, the first menu item is + * selected. + */ GtkWidget* gtk_menu_get_active (GtkMenu *menu) { @@ -1804,6 +1925,15 @@ gtk_menu_get_active (GtkMenu *menu) return priv->old_active_menu_item; } +/** + * gtk_menu_set_active: + * @menu: a #GtkMenu + * @index: the index of the menu item to select. Iindex values are + * from 0 to n-1 + * + * Selects the specified menu item within the menu. This is used by + * the #GtkOptionMenu and should not be used by anyone else. + */ void gtk_menu_set_active (GtkMenu *menu, guint index) @@ -1830,7 +1960,15 @@ gtk_menu_set_active (GtkMenu *menu, /** * gtk_menu_set_accel_group: - * @accel_group: (allow-none): + * @menu: a #GtkMenu + * @accel_group: (allow-none): the #GtkAccelGroup to be associated + * with the menu. + * + * Set the #GtkAccelGroup which holds global accelerators for the + * menu. This accelerator group needs to also be added to all windows + * that this menu is being used in with gtk_window_add_accel_group(), + * in order for those windows to support all the accelerators + * contained in this group. */ void gtk_menu_set_accel_group (GtkMenu *menu, @@ -1850,6 +1988,15 @@ gtk_menu_set_accel_group (GtkMenu *menu, } } +/** + * gtk_menu_get_accel_group: + * @menu a #GtkMenu + * + * Gets the #GtkAccelGroup which holds global accelerators for the + * menu. See gtk_menu_set_accel_group(). + * + * Returns: the #GtkAccelGroup associated with the menu. + */ GtkAccelGroup* gtk_menu_get_accel_group (GtkMenu *menu) { @@ -1978,6 +2125,12 @@ _gtk_menu_refresh_accel_paths (GtkMenu *menu, } } +/** + * gtk_menu_reposition: + * @menu: a #GtkMenu + * + * Repositions the menu according to its position function. + */ void gtk_menu_reposition (GtkMenu *menu) { @@ -2085,6 +2238,16 @@ tearoff_window_destroyed (GtkWidget *widget, gtk_menu_set_tearoff_state (menu, FALSE); } +/** + * gtk_menu_set_tearoff_state: + * @menu: a #GtkMenu + * @torn_off: If %TRUE, menu is displayed as a tearoff menu. + * + * Changes the tearoff state of the menu. A menu is normally + * displayed as drop down menu which persists as long as the menu is + * active. It can also be displayed as a tearoff menu which persists + * until it is closed or reattached. + */ void gtk_menu_set_tearoff_state (GtkMenu *menu, gboolean torn_off) @@ -2254,6 +2417,13 @@ gtk_menu_get_title (GtkMenu *menu) return menu->priv->title; } +/** + * gtk_menu_reorder_child: + * @menu: a #GtkMenu + * @child: the #GtkMenuItem to move + * @position: the new position to place @child. Positions are + * numbered from 0 to n-1. + */ void gtk_menu_reorder_child (GtkMenu *menu, GtkWidget *child, diff --git a/gtk/gtkmenu.h b/gtk/gtkmenu.h index 1c00338334..5f49dfbb47 100644 --- a/gtk/gtkmenu.h +++ b/gtk/gtkmenu.h @@ -50,11 +50,48 @@ typedef struct _GtkMenu GtkMenu; typedef struct _GtkMenuClass GtkMenuClass; typedef struct _GtkMenuPrivate GtkMenuPrivate; +/** + * GtkMenuPositionFunc: + * @menu: a #GtkMenu. + * @x: (out): address of the #gint representing the horizontal + * position where the menu shall be drawn. + * @y: (out): address of the #gint representing the vertical position + * where the menu shall be drawn. This is an output parameter. + * @push_in: (inout): This parameter controls how menus placed outside + * the monitor are handled. If this is set to %TRUE and part of + * the menu is outside the monitor then GTK+ pushes the window + * into the visible area, effectively modifying the popup + * position. Note that moving and possibly resizing the menu + * around will alter the scroll position to keep the menu items + * "in place", i.e. at the same monitor position they would have + * been without resizing. In practice, this behavior is only + * useful for combobox popups or option menus and cannot be used + * to simply confine a menu to monitor boundaries. In that case, + * changing the scroll offset is not desirable. + * @user_data: the data supplied by the user in the gtk_menu_popup() + * @data parameter. + * + * A user function supplied when calling gtk_menu_popup() which + * controls the positioning of the menu when it is displayed. The + * function sets the @x and @y parameters to the coordinates where the + * menu is to be drawn. To make the menu appear on a different + * monitor than the mouse pointer, gtk_menu_set_monitor() must be + * called. + */ typedef void (*GtkMenuPositionFunc) (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data); + +/** + * GtkMenuDetachFunc: + * @attach_widget: the #GtkWidget that the menu is being detached from. + * @menu: the #GtkMenu being detached. + * + * A user function supplied when calling gtk_menu_attach_to_widget() which + * will be called when the menu is later detached from the widget. + */ typedef void (*GtkMenuDetachFunc) (GtkWidget *attach_widget, GtkMenu *menu); @@ -111,7 +148,7 @@ void gtk_menu_popdown (GtkMenu *menu); */ GtkWidget* gtk_menu_get_active (GtkMenu *menu); void gtk_menu_set_active (GtkMenu *menu, - guint index_); + guint index); /* set/get the accelerator group that holds global accelerators (should * be added to the corresponding toplevel with gtk_window_add_accel_group(). From 09d395f629381b33dc9ec520a0393a709b5f6df8 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Sat, 15 Jan 2011 14:50:50 +0100 Subject: [PATCH 1431/1463] Move GtkFileFilter docs inline --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkfilefilter.sgml | 170 --------------------- gtk/gtkfilefilter.c | 24 +++ gtk/gtkfilefilter.h | 35 +++++ 4 files changed, 60 insertions(+), 170 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkfilefilter.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 1758fee30a..e7c14a5afa 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -27,6 +27,7 @@ gtkeventbox.sgml gtkexpander.sgml gtkfeatures.sgml gtkfixed.sgml +gtkfilefilter.sgml gtkhbox.sgml gtkiconview.sgml gtkimcontextsimple.sgml diff --git a/docs/reference/gtk/tmpl/gtkfilefilter.sgml b/docs/reference/gtk/tmpl/gtkfilefilter.sgml deleted file mode 100644 index 4f22a3cca7..0000000000 --- a/docs/reference/gtk/tmpl/gtkfilefilter.sgml +++ /dev/null @@ -1,170 +0,0 @@ - -GtkFileFilter - - -A filter for selecting a file subset - - - -A GtkFileFilter can be used to restrict the files being shown -in a #GtkFileChooser. Files can be filtered based on their name -(with gtk_file_filter_add_pattern()), on their mime type (with -gtk_file_filter_add_mime_type()), or by a custom filter function -(with gtk_file_filter_add_custom()). - - - -Filtering by mime types handles aliasing and subclassing of mime -types; e.g. a filter for text/plain also matches a file with mime -type application/rtf, since application/rtf is a subclass of -text/plain. Note that #GtkFileFilter allows wildcards for the -subtype of a mime type, so you can e.g. filter for image/*. - - - -Normally, filters are used by adding them to a #GtkFileChooser, -see gtk_file_chooser_add_filter(), but it is also possible -to manually use a filter on a file with gtk_file_filter_filter(). - - - - -#GtkFileChooser - - - - - - - - - - -The GtkFileFilter struct contains -only private fields and should not be directly accessed. - - - - - -A GtkFileFilterInfo struct is used -to pass information about the tested file to -gtk_file_filter_filter(). - - -@contains: Flags indicating which of the following fields need - are filled -@filename: the filename of the file being tested -@uri: the URI for the file being tested -@display_name: the string that will be used to display the file - in the file chooser -@mime_type: the mime type of the file - - - -These flags indicate what parts of a #GtkFileFilterInfo struct -are filled or need to be filled. - - -@GTK_FILE_FILTER_FILENAME: the filename of the file being tested -@GTK_FILE_FILTER_URI: the URI for the file being tested -@GTK_FILE_FILTER_DISPLAY_NAME: the string that will be used to - display the file in the file chooser -@GTK_FILE_FILTER_MIME_TYPE: the mime type of the file - - - -The type of function that is used with custom filters, -see gtk_file_filter_add_custom(). - - -@filter_info: a #GtkFileFilterInfo that is filled according - to the @needed flags passed to gtk_file_filter_add_custom() -@data: user data passed to gtk_file_filter_add_custom() -@Returns: %TRUE if the file should be displayed - - - - - - - -@void: -@Returns: - - - - - - - -@filter: -@name: - - - - - - - -@filter: -@Returns: - - - - - - - -@filter: -@mime_type: - - - - - - - -@filter: -@pattern: - - - - - - - -@filter: - - - - - - - -@filter: -@needed: -@func: -@data: -@notify: - - - - - - - -@filter: -@Returns: - - - - - - - -@filter: -@filter_info: -@Returns: - - diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c index 04f3c55cf7..cdfb6cbedf 100644 --- a/gtk/gtkfilefilter.c +++ b/gtk/gtkfilefilter.c @@ -18,6 +18,30 @@ * Boston, MA 02111-1307, USA. */ +/** + * SECTION:gtkfilefilter + * @Short_description: A filter for selecting a file subset + * @Title: GtkFileFilter + * + * A GtkFileFilter can be used to restrict the files being shown in a + * #GtkFileChooser. Files can be filtered based on their name (with + * gtk_file_filter_add_pattern()), on their mime type (with + * gtk_file_filter_add_mime_type()), or by a custom filter function + * (with gtk_file_filter_add_custom()). + * + * Filtering by mime types handles aliasing and subclassing of mime + * types; e.g. a filter for text/plain also matches a file with mime + * type application/rtf, since application/rtf is a subclass of + * text/plain. Note that #GtkFileFilter allows wildcards for the + * subtype of a mime type, so you can e.g. filter for image/*. + * + * Normally, filters are used by adding them to a #GtkFileChooser, + * see gtk_file_chooser_add_filter(), but it is also possible + * to manually use a filter on a file with gtk_file_filter_filter(). + * + * @see_also: #GtkFileChooser + */ + #include "config.h" #include diff --git a/gtk/gtkfilefilter.h b/gtk/gtkfilefilter.h index 7a848e51a5..c566ef17a8 100644 --- a/gtk/gtkfilefilter.h +++ b/gtk/gtkfilefilter.h @@ -36,6 +36,17 @@ G_BEGIN_DECLS typedef struct _GtkFileFilter GtkFileFilter; typedef struct _GtkFileFilterInfo GtkFileFilterInfo; +/** + * GtkFileFilterFlags: + * @GTK_FILE_FILTER_FILENAME: the filename of the file being tested + * @GTK_FILE_FILTER_URI: the URI for the file being tested + * @GTK_FILE_FILTER_DISPLAY_NAME: the string that will be used to + * display the file in the file chooser + * @GTK_FILE_FILTER_MIME_TYPE: the mime type of the file + * + * These flags indicate what parts of a #GtkFileFilterInfo struct + * are filled or need to be filled. + */ typedef enum { GTK_FILE_FILTER_FILENAME = 1 << 0, GTK_FILE_FILTER_URI = 1 << 1, @@ -43,9 +54,33 @@ typedef enum { GTK_FILE_FILTER_MIME_TYPE = 1 << 3 } GtkFileFilterFlags; +/** + * GtkFileFilterFunc: + * @filter_info: a #GtkFileFilterInfo that is filled according + * to the @needed flags passed to gtk_file_filter_add_custom() + * @data: user data passed to gtk_file_filter_add_custom() + * + * The type of function that is used with custom filters, see + * gtk_file_filter_add_custom(). + * + * @Returns: %TRUE if the file should be displayed + */ typedef gboolean (*GtkFileFilterFunc) (const GtkFileFilterInfo *filter_info, gpointer data); +/** + * GtkFileFilterInfo: + * @contains: Flags indicating which of the following fields need + * are filled + * @filename: the filename of the file being tested + * @uri: the URI for the file being tested + * @display_name: the string that will be used to display the file + * in the file chooser + * @mime_type: the mime type of the file + * + * A #GtkFileFilterInfo struct is used to pass information about the + * tested file to gtk_file_filter_filter(). + */ struct _GtkFileFilterInfo { GtkFileFilterFlags contains; From 77ff6992260b19ff04a0823de45142a37532d058 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 17 Jan 2011 09:55:16 -0500 Subject: [PATCH 1432/1463] Drop gtk-builder-convert It will still be shipped in gtk 2.24. --- docs/reference/gtk/Makefile.am | 4 +- docs/reference/gtk/gtk-builder-convert.xml | 72 -- docs/reference/gtk/gtk-docs.sgml | 1 - gtk/Makefile.am | 8 +- gtk/gtk-builder-convert | 799 --------------------- 5 files changed, 3 insertions(+), 881 deletions(-) delete mode 100644 docs/reference/gtk/gtk-builder-convert.xml delete mode 100755 gtk/gtk-builder-convert diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index e166f9131b..74520fc2bf 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -135,7 +135,6 @@ content_files = \ x11.sgml \ gtk-query-immodules-3.0.xml \ gtk-update-icon-cache.xml \ - gtk-builder-convert.xml \ visual_index.xml \ getting_started.xml \ overview.xml @@ -374,8 +373,7 @@ EXTRA_DIST += version.xml.in man_MANS = \ gtk-query-immodules-3.0.1 \ - gtk-update-icon-cache.1 \ - gtk-builder-convert.1 + gtk-update-icon-cache.1 if ENABLE_MAN diff --git a/docs/reference/gtk/gtk-builder-convert.xml b/docs/reference/gtk/gtk-builder-convert.xml deleted file mode 100644 index 002a73ed5b..0000000000 --- a/docs/reference/gtk/gtk-builder-convert.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - -gtk-builder-convert -1 - - - -gtk-builder-convert -Glade file conversion utility - - - - -gtk-builder-convert ---skip-windows ---target-version version ---root name -input -output - - - -Description -gtk-builder-convert converts glade files -into XML files which can be loaded with GtkBuilder. - - -It expects the name of a glade file as the first argument, and writes -its output the file specified as the second argument. - - - -Options - - - --skip-windows - -w - Convert everything but GtkWindow subclasses. - - - --target-version - -t - - - Some widgets and properties are different between GTK+ versions 2.0 and - 3.0, so this option allows to set the desired GTK+ target version. - - - - - --root - -r - Convert only the widget named name - and its children. - - - - -Bugs - -Toolbars are not handled. - - -Support for accessibility is not yet implemented. - - -The script requires a python interpreter to run. - - - - diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index a3344bb664..9f57e97057 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -358,7 +358,6 @@ GTK+ Tools - diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 00739174cf..04bbadd51e 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -1006,8 +1006,6 @@ if BUILD_ICON_CACHE bin_PROGRAMS += gtk-update-icon-cache endif -bin_SCRIPTS = gtk-builder-convert - if OS_WIN32 # Workaround for UAC silliness: programs with "update" in their name @@ -1017,8 +1015,7 @@ if OS_WIN32 GTK_UPDATE_ICON_CACHE_MANIFEST = gtk-update-icon-cache.exe.manifest -bin_SCRIPTS += \ - $(GTK_UPDATE_ICON_CACHE_MANIFEST) +bin_SCRIPTS = $(GTK_UPDATE_ICON_CACHE_MANIFEST) $(GTK_UPDATE_ICON_CACHE_MANIFEST): (echo '' ; \ @@ -1359,11 +1356,10 @@ EXTRA_DIST += \ line-arrow.xbm \ line-wrap.xbm \ tree_plus.xbm \ - tree_minus.xbm \ + tree_minus.xbm \ tree_minus.xpm \ tree_plus.xpm \ gtk.def \ - gtk-builder-convert \ gtk-win32.rc \ gtk-win32.rc.in \ gtkwin32embed.h \ diff --git a/gtk/gtk-builder-convert b/gtk/gtk-builder-convert deleted file mode 100755 index ed815a5ec3..0000000000 --- a/gtk/gtk-builder-convert +++ /dev/null @@ -1,799 +0,0 @@ -#!/usr/bin/env python -# -# Copyright (C) 2006-2008 Async Open Source -# Henrique Romano -# Johan Dahlin -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# TODO: -# Toolbars - -"""Usage: gtk-builder-convert-3.0 [OPTION] [INPUT] [OUTPUT] -Converts Glade files into XML files which can be loaded with GtkBuilder. -The [INPUT] file is - - -w, --skip-windows Convert everything but GtkWindow subclasses. - -r, --root Convert only widget named root and its children - -h, --help display this help and exit - -When OUTPUT is -, write to standard output. - -Examples: - gtk-builder-convert-3.0 preference.glade preferences.ui - -Report bugs to http://bugzilla.gnome.org/.""" - -import getopt -import os -import sys - -from xml.dom import minidom, Node - -DIALOGS = ['GtkDialog', - 'GtkFileChooserDialog', - 'GtkMessageDialog'] -WINDOWS = ['GtkWindow'] + DIALOGS - -# The subprocess is only available in Python 2.4+ -try: - import subprocess - subprocess # pyflakes -except ImportError: - subprocess = None - -def get_child_nodes(node): - assert node.tagName == 'object' - nodes = [] - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName != 'child': - continue - nodes.append(child) - return nodes - -def get_properties(node): - assert node.tagName == 'object' - properties = {} - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName != 'property': - continue - value = child.childNodes[0].data - properties[child.getAttribute('name')] = value - return properties - -def get_property(node, property_name): - assert node.tagName == 'object' - properties = get_properties(node) - return properties.get(property_name) - -def get_property_node(node, property_name): - assert node.tagName == 'object' - properties = {} - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName != 'property': - continue - if child.getAttribute('name') == property_name: - return child - -def get_signal_nodes(node): - assert node.tagName == 'object' - signals = [] - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName == 'signal': - signals.append(child) - return signals - -def get_property_nodes(node): - assert node.tagName == 'object' - properties = [] - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - # FIXME: handle comments - if child.tagName == 'property': - properties.append(child) - return properties - -def get_accelerator_nodes(node): - assert node.tagName == 'object' - accelerators = [] - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName == 'accelerator': - accelerators.append(child) - return accelerators - -def get_object_node(child_node): - assert child_node.tagName == 'child', child_node - nodes = [] - for node in child_node.childNodes: - if node.nodeType != Node.ELEMENT_NODE: - continue - if node.tagName == 'object': - nodes.append(node) - assert len(nodes) == 1, nodes - return nodes[0] - -def copy_properties(node, props, prop_dict): - assert node.tagName == 'object' - for prop_name in props: - child = get_property_node(node, prop_name) - if child is not None: - prop_dict[prop_name] = child - - return node - -class GtkBuilderConverter(object): - - def __init__(self, skip_windows, target_version, root): - self.skip_windows = skip_windows - self.target_version = target_version - self.root = root - self.root_objects = [] - self.objects = {} - - # - # Public API - # - - def parse_file(self, file): - self._dom = minidom.parse(file) - self._parse() - - def parse_buffer(self, buffer): - self._dom = minidom.parseString(buffer) - self._parse() - - def to_xml(self): - xml = self._dom.toprettyxml("", "") - return xml.encode('utf-8') - - # - # Private - # - - def _get_object(self, name): - return self.objects.get(name) - - def _get_objects_by_attr(self, attribute, value): - return [w for w in self._dom.getElementsByTagName("object") - if w.getAttribute(attribute) == value] - - def _create_object(self, obj_class, obj_id, template=None, properties=None): - """ - Creates a new tag. - Optionally a name template can be provided which will be used - to avoid naming collisions. - The properties dictionary can either contain string values or Node - values. If a node is provided the name of the node will be overridden - by the dictionary key. - - @param obj_class: class of the object (class tag) - @param obj_id: identifier of the object (id tag) - @param template: name template to use, for example 'button' - @param properties: dictionary of properties - @type properties: string or Node. - @returns: Newly created node of the object - """ - if template is not None: - count = 1 - while True: - obj_id = template + str(count) - widget = self._get_object(obj_id) - if widget is None: - break - - count += 1 - - obj = self._dom.createElement('object') - obj.setAttribute('class', obj_class) - obj.setAttribute('id', obj_id) - if properties: - for name, value in properties.items(): - if isinstance(value, Node): - # Reuse the node, so translatable and context still will be - # set when converting nodes. See also #509153 - prop = value - else: - prop = self._dom.createElement('property') - prop.appendChild(self._dom.createTextNode(value)) - - prop.setAttribute('name', str(name)) - obj.appendChild(prop) - self.objects[obj_id] = obj - return obj - - def _create_root_object(self, obj_class, template, properties=None): - obj = self._create_object(obj_class, None, template, properties) - self.root_objects.append(obj) - return obj - - def _parse(self): - glade_iface = self._dom.getElementsByTagName("glade-interface") - assert glade_iface, ("Badly formed XML, there is " - "no tag.") - # Rename glade-interface to interface - glade_iface[0].tagName = 'interface' - self._interface = glade_iface[0] - - # Remove glade-interface doc type - for node in self._dom.childNodes: - if node.nodeType == Node.DOCUMENT_TYPE_NODE: - if node.name == 'glade-interface': - self._dom.removeChild(node) - - # Strip unsupported tags - for tag in ['requires', 'requires-version']: - for child in self._dom.getElementsByTagName(tag): - child.parentNode.removeChild(child) - - if self.root: - self._strip_root(self.root) - - # Rename widget to object - objects = self._dom.getElementsByTagName("widget") - for node in objects: - node.tagName = "object" - - for node in objects: - self._convert(node.getAttribute("class"), node) - if self._get_object(node.getAttribute('id')) is not None: - print "WARNING: duplicate id \"" + node.getAttribute('id') + "\"" - self.objects[node.getAttribute('id')] = node - - # Convert Gazpachos UI tag - for node in self._dom.getElementsByTagName("ui"): - self._convert_ui(node) - - # Convert accessibility tag - for node in self._dom.getElementsByTagName("accessibility"): - self._convert_accessibility(node) - - # Output the newly created root objects and sort them - # by attribute id - # FIXME: Use sorted(self.root_objects, - # key=lambda n: n.getAttribute('id'), - # reverse=True): - # when we can depend on python 2.4 or higher - root_objects = self.root_objects[:] - root_objects.sort(lambda a, b: cmp(b.getAttribute('id'), - a.getAttribute('id'))) - for obj in root_objects: - self._interface.childNodes.insert(0, obj) - - def _convert(self, klass, node): - if klass == 'GtkNotebook': - self._packing_prop_to_child_attr(node, "type", "tab") - elif klass in ['GtkExpander', 'GtkFrame']: - self._packing_prop_to_child_attr( - node, "type", "label_item", "label") - elif klass == "GtkMenuBar": - self._convert_menu(node) - elif klass == "GtkMenu": - # Only convert toplevel popups - if node.parentNode == self._interface: - self._convert_menu(node, popup=True) - elif klass in WINDOWS and self.skip_windows: - self._remove_window(node) - - if self.target_version == "3.0": - if klass == "GtkComboBoxEntry": - node.setAttribute("class","GtkComboBox") - prop = self._dom.createElement("property") - prop.setAttribute("name", "has-entry") - prop.appendChild(self._dom.createTextNode("True")) - node.appendChild(prop) - elif klass == "GtkDialog": - for child in node.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName != 'property': - continue - if (child.getAttribute("name") not in ("has-separator", "has_separator")): - continue; - node.removeChild(child) - break - - self._default_widget_converter(node) - - def _default_widget_converter(self, node): - klass = node.getAttribute("class") - for prop in get_property_nodes(node): - prop_name = prop.getAttribute("name") - if prop_name == "sizegroup": - self._convert_sizegroup(node, prop) - elif prop_name == "tooltip" and klass != "GtkAction": - prop.setAttribute("name", "tooltip-text") - elif prop_name in ["response_id", 'response-id']: - # It does not make sense to convert responses when - # we're not going to output dialogs - if self.skip_windows: - continue - object_id = node.getAttribute('id') - response = prop.childNodes[0].data - self._convert_dialog_response(node, object_id, response) - prop.parentNode.removeChild(prop) - elif prop_name == "adjustment": - self._convert_adjustment(prop) - elif prop_name == "items" and klass in ['GtkComboBox', - 'GtkComboBoxEntry']: - self._convert_combobox_items(node, prop) - elif prop_name == "text" and klass == 'GtkTextView': - self._convert_textview_text(prop) - - def _remove_window(self, node): - object_node = get_object_node(get_child_nodes(node)[0]) - parent = node.parentNode - parent.removeChild(node) - parent.appendChild(object_node) - - def _convert_menu(self, node, popup=False): - if node.hasAttribute('constructor'): - return - - uimgr = self._create_root_object('GtkUIManager', - template='uimanager') - - if popup: - name = 'popup' - else: - name = 'menubar' - - menu = self._dom.createElement(name) - menu.setAttribute('name', node.getAttribute('id')) - node.setAttribute('constructor', uimgr.getAttribute('id')) - - for child in get_child_nodes(node): - obj_node = get_object_node(child) - item = self._convert_menuitem(uimgr, obj_node) - menu.appendChild(item) - child.removeChild(obj_node) - child.parentNode.removeChild(child) - - ui = self._dom.createElement('ui') - uimgr.appendChild(ui) - - ui.appendChild(menu) - - def _convert_menuitem(self, uimgr, obj_node): - children = get_child_nodes(obj_node) - name = 'menuitem' - if children: - child_node = children[0] - menu_node = get_object_node(child_node) - # Can be GtkImage, which will take care of later. - if menu_node.getAttribute('class') == 'GtkMenu': - name = 'menu' - - object_class = obj_node.getAttribute('class') - if object_class in ['GtkMenuItem', - 'GtkImageMenuItem', - 'GtkCheckMenuItem', - 'GtkRadioMenuItem']: - menu = self._dom.createElement(name) - elif object_class == 'GtkSeparatorMenuItem': - return self._dom.createElement('separator') - else: - raise NotImplementedError(object_class) - - menu.setAttribute('action', obj_node.getAttribute('id')) - self._add_action_from_menuitem(uimgr, obj_node) - if children: - for child in get_child_nodes(menu_node): - obj_node = get_object_node(child) - item = self._convert_menuitem(uimgr, obj_node) - menu.appendChild(item) - child.removeChild(obj_node) - child.parentNode.removeChild(child) - return menu - - def _menuitem_to_action(self, node, properties): - copy_properties(node, ['label', 'tooltip'], properties) - - def _togglemenuitem_to_action(self, node, properties): - self._menuitem_to_action(node, properties) - copy_properties(node, ['active'], properties) - - def _radiomenuitem_to_action(self, node, properties): - self._togglemenuitem_to_action(node, properties) - copy_properties(node, ['group'], properties) - - def _add_action_from_menuitem(self, uimgr, node): - properties = {} - object_class = node.getAttribute('class') - object_id = node.getAttribute('id') - if object_class == 'GtkMenuItem': - name = 'GtkAction' - self._menuitem_to_action(node, properties) - elif object_class == 'GtkCheckMenuItem': - name = 'GtkToggleAction' - self._togglemenuitem_to_action(node, properties) - elif object_class == 'GtkRadioMenuItem': - name = 'GtkRadioAction' - self._radiomenuitem_to_action(node, properties) - elif object_class == 'GtkImageMenuItem': - name = 'GtkAction' - children = get_child_nodes(node) - if (children and - children[0].getAttribute('internal-child') == 'image'): - image = get_object_node(children[0]) - child = get_property_node(image, 'stock') - if child is not None: - properties['stock_id'] = child - self._menuitem_to_action(node, properties) - elif object_class == 'GtkSeparatorMenuItem': - return - else: - raise NotImplementedError(object_class) - - if get_property(node, 'use_stock') == 'True': - if 'label' in properties: - properties['stock_id'] = properties['label'] - del properties['label'] - - properties['name'] = object_id - action = self._create_object(name, - object_id, - properties=properties) - for signal in get_signal_nodes(node): - signal_name = signal.getAttribute('name') - if signal_name in ['activate', 'toggled']: - action.appendChild(signal) - else: - print 'Unhandled signal %s::%s' % (node.getAttribute('class'), - signal_name) - - if not uimgr.childNodes: - child = self._dom.createElement('child') - uimgr.appendChild(child) - - group = self._create_object('GtkActionGroup', None, - template='actiongroup') - child.appendChild(group) - else: - group = uimgr.childNodes[0].childNodes[0] - - child = self._dom.createElement('child') - group.appendChild(child) - child.appendChild(action) - - for accelerator in get_accelerator_nodes(node): - signal_name = accelerator.getAttribute('signal') - if signal_name != 'activate': - print 'Unhandled accelerator signal for %s::%s' % ( - node.getAttribute('class'), signal_name) - continue - accelerator.removeAttribute('signal') - child.appendChild(accelerator) - - def _convert_sizegroup(self, node, prop): - # This is Gazpacho only - node.removeChild(prop) - obj = self._get_object(prop.childNodes[0].data) - if obj is None: - widgets = self._get_objects_by_attr("class", "GtkSizeGroup") - if widgets: - obj = widgets[-1] - else: - obj = self._create_root_object('GtkSizeGroup', - template='sizegroup') - - widgets = obj.getElementsByTagName("widgets") - if widgets: - assert len(widgets) == 1 - widgets = widgets[0] - else: - widgets = self._dom.createElement("widgets") - obj.appendChild(widgets) - - member = self._dom.createElement("widget") - member.setAttribute("name", node.getAttribute("id")) - widgets.appendChild(member) - - def _convert_dialog_response(self, node, object_name, response): - # 1) Get parent dialog node - while True: - # If we can't find the parent dialog, give up - if node == self._dom: - return - - if (node.tagName == 'object' and - node.getAttribute('class') in DIALOGS): - dialog = node - break - node = node.parentNode - assert node - - # 2) Get dialogs action-widgets tag, create if not found - for child in dialog.childNodes: - if child.nodeType != Node.ELEMENT_NODE: - continue - if child.tagName == 'action-widgets': - actions = child - break - else: - actions = self._dom.createElement("action-widgets") - dialog.appendChild(actions) - - # 3) Add action-widget tag for the response - action = self._dom.createElement("action-widget") - action.setAttribute("response", response) - action.appendChild(self._dom.createTextNode(object_name)) - actions.appendChild(action) - - def _convert_adjustment(self, prop): - properties = {} - if prop.childNodes: - data = prop.childNodes[0].data - value, lower, upper, step, page, page_size = data.split(' ') - properties.update(value=value, - lower=lower, - upper=upper, - step_increment=step, - page_increment=page, - page_size=page_size) - else: - prop.appendChild(self._dom.createTextNode("")) - - adj = self._create_root_object("GtkAdjustment", - template='adjustment', - properties=properties) - prop.childNodes[0].data = adj.getAttribute('id') - - def _convert_combobox_items(self, node, prop): - parent = prop.parentNode - if not prop.childNodes: - parent.removeChild(prop) - return - - translatable_attr = prop.attributes.get('translatable') - translatable = translatable_attr is not None and translatable_attr.value == 'yes' - has_context_attr = prop.attributes.get('context') - has_context = has_context_attr is not None and has_context_attr.value == 'yes' - comments_attr = prop.attributes.get('comments') - comments = comments_attr is not None and comments_attr.value or None - - value = prop.childNodes[0].data - model = self._create_root_object("GtkListStore", - template="model") - - columns = self._dom.createElement('columns') - model.appendChild(columns) - - column = self._dom.createElement('column') - column.setAttribute('type', 'gchararray') - columns.appendChild(column) - - data = self._dom.createElement('data') - model.appendChild(data) - - if value.endswith('\n'): - value = value[:-1] - for item in value.split('\n'): - row = self._dom.createElement('row') - data.appendChild(row) - - col = self._dom.createElement('col') - col.setAttribute('id', '0') - if translatable: - col.setAttribute('translatable', 'yes') - if has_context: - splitting = item.split('|', 1) - if len(splitting) == 2: - context, item = splitting - col.setAttribute('context', context) - if comments is not None: - col.setAttribute('comments', comments) - col.appendChild(self._dom.createTextNode(item)) - row.appendChild(col) - - model_prop = self._dom.createElement('property') - model_prop.setAttribute('name', 'model') - model_prop.appendChild( - self._dom.createTextNode(model.getAttribute('id'))) - parent.appendChild(model_prop) - - parent.removeChild(prop) - - child = self._dom.createElement('child') - node.appendChild(child) - cell_renderer = self._create_object('GtkCellRendererText', None, - template='renderer') - child.appendChild(cell_renderer) - - attributes = self._dom.createElement('attributes') - child.appendChild(attributes) - - attribute = self._dom.createElement('attribute') - attributes.appendChild(attribute) - attribute.setAttribute('name', 'text') - attribute.appendChild(self._dom.createTextNode('0')) - - def _convert_textview_text(self, prop): - if not prop.childNodes: - prop.parentNode.removeChild(prop) - return - - data = prop.childNodes[0].data - if prop.hasAttribute('translatable'): - prop.removeAttribute('translatable') - tbuffer = self._create_root_object("GtkTextBuffer", - template='textbuffer', - properties=dict(text=data)) - prop.childNodes[0].data = tbuffer.getAttribute('id') - prop.setAttribute('name', 'buffer') - - def _packing_prop_to_child_attr(self, node, prop_name, prop_val, - attr_val=None): - for child in get_child_nodes(node): - packing_props = [p for p in child.childNodes if p.nodeName == "packing"] - if not packing_props: - continue - assert len(packing_props) == 1 - packing_prop = packing_props[0] - properties = packing_prop.getElementsByTagName("property") - for prop in properties: - if (prop.getAttribute("name") != prop_name or - prop.childNodes[0].data != prop_val): - continue - packing_prop.removeChild(prop) - child.setAttribute(prop_name, attr_val or prop_val) - if len(properties) == 1: - child.removeChild(packing_prop) - - def _convert_ui(self, node): - cdata = node.childNodes[0] - data = cdata.toxml().strip() - if not data.startswith(""): - return - data = data[9:-3] - child = minidom.parseString(data).childNodes[0] - nodes = child.childNodes[:] - for child_node in nodes: - node.appendChild(child_node) - node.removeChild(cdata) - if not node.hasAttribute("id"): - return - - # Updating references made by widgets - parent_id = node.parentNode.getAttribute("id") - for widget in self._get_objects_by_attr("constructor", - node.getAttribute("id")): - widget.getAttributeNode("constructor").value = parent_id - node.removeAttribute("id") - - def _convert_accessibility(self, node): - objectNode = node.parentNode - parent_id = objectNode.getAttribute("id") - - properties = {} - for node in node.childNodes: - if node.nodeName == 'atkproperty': - node.tagName = 'property' - properties[node.getAttribute('name')] = node - node.parentNode.removeChild(node) - elif node.nodeName == 'atkrelation': - node.tagName = 'relation' - relation_type = node.getAttribute('type') - relation_type = relation_type.replace('_', '-') - node.setAttribute('type', relation_type) - elif node.nodeName == 'atkaction': - node.tagName = 'action' - - if properties: - child = self._dom.createElement('child') - child.setAttribute("internal-child", "accessible") - - atkobject = self._create_object( - "AtkObject", None, - template='a11y-%s' % (parent_id,), - properties=properties) - child.appendChild(atkobject) - objectNode.appendChild(child) - - def _strip_root(self, root_name): - for widget in self._dom.getElementsByTagName("widget"): - if widget.getAttribute('id') == root_name: - break - else: - raise SystemExit("Could not find an object called `%s'" % ( - root_name)) - - for child in self._interface.childNodes[:]: - if child.nodeType != Node.ELEMENT_NODE: - continue - child.parentNode.removeChild(child) - - self._interface.appendChild(widget) - - -def _indent(output): - if not subprocess: - return output - - for directory in os.environ['PATH'].split(os.pathsep): - filename = os.path.join(directory, 'xmllint') - if os.path.exists(filename): - break - else: - return output - - s = subprocess.Popen([filename, '--format', '-'], - stdin=subprocess.PIPE, - stdout=subprocess.PIPE) - s.stdin.write(output) - s.stdin.close() - return s.stdout.read() - -def usage(): - print __doc__ - -def main(args): - try: - opts, args = getopt.getopt(args[1:], "hwr:", - ["help", - "skip-windows", - "target-version=", - "root="]) - except getopt.GetoptError: - usage() - return 2 - - if len(args) != 2: - usage() - return 2 - - input_filename, output_filename = args - - skip_windows = False - split = False - root = None - target_version = "3.0" - for o, a in opts: - if o in ("-h", "--help"): - usage() - sys.exit() - elif o in ("-r", "--root"): - root = a - elif o in ("-w", "--skip-windows"): - skip_windows = True - elif o in ("-t", "--target-version"): - target_version = a - - conv = GtkBuilderConverter(skip_windows=skip_windows, - target_version=target_version, - root=root) - conv.parse_file(input_filename) - - xml = _indent(conv.to_xml()) - if output_filename == "-": - print xml - else: - open(output_filename, 'w').write(xml) - print "Wrote", output_filename - - return 0 - -if __name__ == "__main__": - sys.exit(main(sys.argv)) From 9f895aa3ad2cd03f942d265d0dadb6b0a1b8fb2b Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 17 Jan 2011 09:57:35 -0500 Subject: [PATCH 1433/1463] Make symbolic icons work again Work around https://bugzilla.gnome.org/show_bug.cgi?id=639750 --- gtk/gtkicontheme.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 7a32269f2e..cfce79f743 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -3071,11 +3071,11 @@ gdk_color_to_css (GdkColor *color) static gchar * gdk_rgba_to_css (GdkRGBA *color) { - return g_strdup_printf ("rgba(%d,%d,%d,%f)", + /* drop a for now, since librsvg does not understand rgba() */ + return g_strdup_printf ("rgb(%d,%d,%d)", (gint)(color->red * 255), (gint)(color->green * 255), - (gint)(color->blue * 255), - color->alpha); + (gint)(color->blue * 255)); } static GdkPixbuf * From 234b3b2c6f51709d0127ee93bb925fe7d59d71b5 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Mon, 17 Jan 2011 16:00:52 +0100 Subject: [PATCH 1434/1463] Annotate GtkIconView array arguments --- gtk/gtkiconview.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 47dc4c751a..9e3d98fdff 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -6548,7 +6548,8 @@ gtk_icon_view_drag_data_received (GtkWidget *widget, * gtk_icon_view_enable_model_drag_source: * @icon_view: a #GtkIconTreeView * @start_button_mask: Mask of allowed buttons to start drag - * @targets: the table of targets that the drag will support + * @targets: (array length=n_targets): the table of targets that the drag will + * support * @n_targets: the number of items in @targets * @actions: the bitmask of possible actions for a drag from this * widget @@ -6580,7 +6581,8 @@ gtk_icon_view_enable_model_drag_source (GtkIconView *icon_view, /** * gtk_icon_view_enable_model_drag_dest: * @icon_view: a #GtkIconView - * @targets: the table of targets that the drag will support + * @targets: (array length=n_targets): the table of targets that the drag will + * support * @n_targets: the number of items in @targets * @actions: the bitmask of possible actions for a drag to this * widget From cb0fac73a5ef2704f0e7cfb11a0436feaa4f57f4 Mon Sep 17 00:00:00 2001 From: Garrett Regier Date: Sun, 16 Jan 2011 19:47:34 -0800 Subject: [PATCH 1435/1463] Fix memory leak in gtk_window_group_list_windows --- gtk/gtkwindow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index ca0ad9590a..a5840a2531 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8358,6 +8358,8 @@ gtk_window_group_list_windows (GtkWindowGroup *window_group) group_windows = g_list_prepend (group_windows, window); } + g_list_free (toplevels); + return g_list_reverse (group_windows); } From a29b4c6a51a37b602447b082917a15b97b77b3e5 Mon Sep 17 00:00:00 2001 From: Luca Ferretti Date: Mon, 17 Jan 2011 21:43:33 +0100 Subject: [PATCH 1436/1463] Fix case (s/A/a) in translatable string (Select A Folder) --- gtk/gtkfilechooserbutton.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 670ca89f0a..8463533038 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -59,7 +59,7 @@ * Private Macros * * **************** */ -#define DEFAULT_TITLE N_("Select A File") +#define DEFAULT_TITLE N_("Select a File") #define DESKTOP_DISPLAY_NAME N_("Desktop") #define FALLBACK_DISPLAY_NAME N_("(None)") #define FALLBACK_ICON_NAME "stock_unknown" From 64c79c15a6f391e52a0b42d377675b30cb1740f2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 17 Jan 2011 21:55:13 -0500 Subject: [PATCH 1437/1463] Fix a combo refactor regression https://bugzilla.gnome.org/show_bug.cgi?id=639792 --- gtk/gtktreemenu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index e7ed138b17..a2f1290ca7 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -961,7 +961,7 @@ row_reordered_cb (GtkTreeModel *model, GtkTreeMenuPrivate *priv = menu->priv; gboolean this_menu = FALSE; - if (path == NULL && priv->root == NULL) + if (path == NULL || priv->root == NULL) this_menu = TRUE; else if (priv->root) { @@ -1645,8 +1645,8 @@ _gtk_tree_menu_get_model (GtkTreeMenu *menu) * Since: 3.0 */ void -_gtk_tree_menu_set_root (GtkTreeMenu *menu, - GtkTreePath *path) +_gtk_tree_menu_set_root (GtkTreeMenu *menu, + GtkTreePath *path) { GtkTreeMenuPrivate *priv; From ebb18e65c3f7ff53788102775253dfa8fd02a5b3 Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Tue, 18 Jan 2011 12:56:57 +0200 Subject: [PATCH 1438/1463] Updated Hebrew translation. --- po-properties/he.po | 592 ++++++++++++++++++++++---------------------- po/he.po | 227 +++++++++-------- 2 files changed, 418 insertions(+), 401 deletions(-) diff --git a/po-properties/he.po b/po-properties/he.po index 226bb5ac32..075a7d8dda 100644 --- a/po-properties/he.po +++ b/po-properties/he.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-11 20:38+0200\n" -"PO-Revision-Date: 2011-01-11 20:39+0200\n" +"POT-Creation-Date: 2011-01-18 12:55+0200\n" +"PO-Revision-Date: 2011-01-18 12:56+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -298,8 +298,8 @@ msgid "A unique name for the action." msgstr "A unique name for the action." #: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 -#: ../gtk/gtkframe.c:131 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 -#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1588 +#: ../gtk/gtkframe.c:133 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1594 msgid "Label" msgstr "Label" @@ -695,7 +695,7 @@ msgstr "Arrow shadow" msgid "Appearance of the shadow surrounding the arrow" msgstr "Appearance of the shadow surrounding the arrow" -#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:726 ../gtk/gtkmenuitem.c:391 +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:796 ../gtk/gtkmenuitem.c:391 msgid "Arrow Scaling" msgstr "Arrow Scaling" @@ -857,7 +857,7 @@ msgid "The amount of space between children" msgstr "The amount of space between children" #: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 -#: ../gtk/gtktoolitemgroup.c:1641 +#: ../gtk/gtktoolitemgroup.c:1647 msgid "Homogeneous" msgstr "Homogeneous" @@ -866,7 +866,7 @@ msgid "Whether the children should all be the same size" msgstr "Whether the children should all be the same size" #: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 -#: ../gtk/gtktoolitemgroup.c:1648 ../gtk/gtktoolpalette.c:1093 +#: ../gtk/gtktoolitemgroup.c:1654 ../gtk/gtktoolpalette.c:1094 #: ../gtk/gtktreeviewcolumn.c:324 msgid "Expand" msgstr "Expand" @@ -875,7 +875,7 @@ msgstr "Expand" msgid "Whether the child should receive extra space when the parent grows" msgstr "Whether the child should receive extra space when the parent grows" -#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1655 +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1661 msgid "Fill" msgstr "Fill" @@ -908,7 +908,7 @@ msgstr "" "start or end of the parent" #: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 -#: ../gtk/gtktoolitemgroup.c:1669 +#: ../gtk/gtktoolitemgroup.c:1675 msgid "Position" msgstr "Position" @@ -1557,7 +1557,7 @@ msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." msgstr "The vertical text alignment, from 0 (top) to 1 (bottom)." #: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 -#: ../gtk/gtkrange.c:423 +#: ../gtk/gtkrange.c:424 msgid "Inverted" msgstr "Inverted" @@ -1565,7 +1565,7 @@ msgstr "Inverted" msgid "Invert the direction in which the progress bar grows" msgstr "Invert the direction in which the progress bar grows" -#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:415 +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:416 #: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 msgid "Adjustment" msgstr "Adjustment" @@ -1592,7 +1592,7 @@ msgid "The number of decimal places to display" msgstr "The number of decimal places to display" #: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 -#: ../gtk/gtkmenu.c:516 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:743 +#: ../gtk/gtkmenu.c:586 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:752 #: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 #: ../gtk/gtktoggletoolbutton.c:112 msgid "Active" @@ -1639,17 +1639,17 @@ msgid "Whether to keep all text in a single paragraph" msgstr "Whether to keep all text in a single paragraph" #: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 -#: ../gtk/gtktexttag.c:180 +#: ../gtk/gtktexttag.c:196 msgid "Background color name" msgstr "Background color name" #: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 -#: ../gtk/gtktexttag.c:181 +#: ../gtk/gtktexttag.c:197 msgid "Background color as a string" msgstr "Background color as a string" #: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 -#: ../gtk/gtktexttag.c:188 +#: ../gtk/gtktexttag.c:204 msgid "Background color" msgstr "Background color" @@ -1665,15 +1665,15 @@ msgstr "Background color as RGBA" msgid "Background color as a GdkRGBA" msgstr "Background color as a GdkRGBA" -#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:204 +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:220 msgid "Foreground color name" msgstr "Foreground color name" -#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:205 +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:221 msgid "Foreground color as a string" msgstr "Foreground color as a string" -#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:212 +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:228 #: ../gtk/gtktrayicon-x11.c:134 msgid "Foreground color" msgstr "Foreground color" @@ -1691,70 +1691,70 @@ msgid "Foreground color as a GdkRGBA" msgstr "Foreground color as a GdkRGBA" #: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 -#: ../gtk/gtktexttag.c:229 ../gtk/gtktextview.c:685 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktextview.c:686 msgid "Editable" msgstr "Editable" -#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:230 -#: ../gtk/gtktextview.c:686 +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:246 +#: ../gtk/gtktextview.c:687 msgid "Whether the text can be modified by the user" msgstr "Whether the text can be modified by the user" #: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 -#: ../gtk/gtktexttag.c:245 ../gtk/gtktexttag.c:253 +#: ../gtk/gtktexttag.c:261 ../gtk/gtktexttag.c:269 msgid "Font" msgstr "Font" -#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:246 +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:262 msgid "Font description as a string, e.g. \"Sans Italic 12\"" msgstr "Font description as a string, e.g. \"Sans Italic 12\"" -#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:254 +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:270 msgid "Font description as a PangoFontDescription struct" msgstr "Font description as a PangoFontDescription struct" -#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:261 +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:277 msgid "Font family" msgstr "Font family" -#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:262 +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:278 msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" msgstr "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" #: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 -#: ../gtk/gtktexttag.c:269 +#: ../gtk/gtktexttag.c:285 msgid "Font style" msgstr "Font style" #: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 -#: ../gtk/gtktexttag.c:278 +#: ../gtk/gtktexttag.c:294 msgid "Font variant" msgstr "Font variant" #: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 -#: ../gtk/gtktexttag.c:287 +#: ../gtk/gtktexttag.c:303 msgid "Font weight" msgstr "Font weight" #: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 -#: ../gtk/gtktexttag.c:298 +#: ../gtk/gtktexttag.c:314 msgid "Font stretch" msgstr "Font stretch" #: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 -#: ../gtk/gtktexttag.c:307 +#: ../gtk/gtktexttag.c:323 msgid "Font size" msgstr "Font size" -#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:327 +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:343 msgid "Font points" msgstr "Font points" -#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:328 +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:344 msgid "Font size in points" msgstr "Font size in points" -#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:317 +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:333 msgid "Font scale" msgstr "Font scale" @@ -1762,7 +1762,7 @@ msgstr "Font scale" msgid "Font scaling factor" msgstr "Font scaling factor" -#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:396 +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:412 msgid "Rise" msgstr "Rise" @@ -1772,23 +1772,23 @@ msgid "" msgstr "" "Offset of text above the baseline (below the baseline if rise is negative)" -#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:436 +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:452 msgid "Strikethrough" msgstr "Strikethrough" -#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:437 +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:453 msgid "Whether to strike through the text" msgstr "Whether to strike through the text" -#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:444 +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:460 msgid "Underline" msgstr "Underline" -#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:445 +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:461 msgid "Style of underline for this text" msgstr "Style of underline for this text" -#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:356 +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:372 msgid "Language" msgstr "Language" @@ -1832,7 +1832,7 @@ msgstr "Maximum Width In Characters" msgid "The maximum width of the cell, in characters" msgstr "The maximum width of the cell, in characters" -#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:453 +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:469 msgid "Wrap mode" msgstr "Wrap mode" @@ -1861,116 +1861,116 @@ msgid "How to align the lines" msgstr "How to draw the toolbar" #: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 -#: ../gtk/gtktexttag.c:542 +#: ../gtk/gtktexttag.c:558 msgid "Background set" msgstr "Background set" #: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 -#: ../gtk/gtktexttag.c:543 +#: ../gtk/gtktexttag.c:559 msgid "Whether this tag affects the background color" msgstr "Whether this tag affects the background color" -#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:550 +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:566 msgid "Foreground set" msgstr "Foreground set" -#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:551 +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:567 msgid "Whether this tag affects the foreground color" msgstr "Whether this tag affects the foreground color" -#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:554 +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:570 msgid "Editability set" msgstr "Editability set" -#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:555 +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:571 msgid "Whether this tag affects text editability" msgstr "Whether this tag affects text editability" -#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:558 +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:574 msgid "Font family set" msgstr "Font family set" -#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:559 +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:575 msgid "Whether this tag affects the font family" msgstr "Whether this tag affects the font family" -#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:562 +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:578 msgid "Font style set" msgstr "Font style set" -#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:563 +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:579 msgid "Whether this tag affects the font style" msgstr "Whether this tag affects the font style" -#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:566 +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:582 msgid "Font variant set" msgstr "Font variant set" -#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:567 +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:583 msgid "Whether this tag affects the font variant" msgstr "Whether this tag affects the font variant" -#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:570 +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:586 msgid "Font weight set" msgstr "Font weight set" -#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:571 +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:587 msgid "Whether this tag affects the font weight" msgstr "Whether this tag affects the font weight" -#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:574 +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:590 msgid "Font stretch set" msgstr "Font stretch set" -#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:575 +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:591 msgid "Whether this tag affects the font stretch" msgstr "Whether this tag affects the font stretch" -#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:578 +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:594 msgid "Font size set" msgstr "Font size set" -#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:579 +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:595 msgid "Whether this tag affects the font size" msgstr "Whether this tag affects the font size" -#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:582 +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:598 msgid "Font scale set" msgstr "Font scale set" -#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:583 +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:599 msgid "Whether this tag scales the font size by a factor" msgstr "Whether this tag scales the font size by a factor" -#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:602 +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:618 msgid "Rise set" msgstr "Rise set" -#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:603 +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:619 msgid "Whether this tag affects the rise" msgstr "Whether this tag affects the rise" -#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:618 +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:634 msgid "Strikethrough set" msgstr "Strikethrough set" -#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:619 +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:635 msgid "Whether this tag affects strikethrough" msgstr "Whether this tag affects strikethrough" -#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:626 +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:642 msgid "Underline set" msgstr "Underline set" -#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:627 +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:643 msgid "Whether this tag affects underlining" msgstr "Whether this tag affects underlining" -#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:590 +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:606 msgid "Language set" msgstr "Language set" -#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:591 +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:607 msgid "Whether this tag affects the language the text is rendered as" msgstr "Whether this tag affects the language the text is rendered as" @@ -2120,7 +2120,7 @@ msgid "Whether to give the color an alpha value" msgstr "Whether to give the color an alpha value" #: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 -#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:126 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:141 #: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 msgid "Title" msgstr "Title" @@ -2273,7 +2273,7 @@ msgstr "Whether the combo box draws a frame around the child" msgid "Whether the combo box grabs focus when it is clicked with the mouse" msgstr "Whether the combo box grabs focus when it is clicked with the mouse" -#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:571 +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:641 msgid "Tearoff Title" msgstr "Tearoff Title" @@ -2366,7 +2366,7 @@ msgid "The minimum size of the arrow in the combo box" msgstr "The minimum size of the arrow in the combo box" #: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 -#: ../gtk/gtkmenubar.c:196 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkmenubar.c:207 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 #: ../gtk/gtkviewport.c:153 msgid "Shadow type" msgstr "Shadow type" @@ -2556,7 +2556,7 @@ msgstr "Whether to truncate multiline pastes to one line." msgid "Which kind of shadow to draw around the entry when has-frame is set" msgstr "Which kind of shadow to draw around the entry when has-frame is set" -#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:765 +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:766 msgid "Overwrite mode" msgstr "Overwrite mode" @@ -2744,11 +2744,11 @@ msgstr "Primary icon tooltip markup" msgid "Secondary icon tooltip markup" msgstr "Secondary icon tooltip markup" -#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:793 +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:794 msgid "IM module" msgstr "IM module" -#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:794 +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:795 msgid "Which IM module should be used" msgstr "Which IM module should be used" @@ -2892,8 +2892,8 @@ msgstr "The text of the label includes XML markup. See pango_parse_markup()" msgid "Space to put between the label and the child" msgstr "Space to put between the label and the child" -#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:166 ../gtk/gtktoolbutton.c:215 -#: ../gtk/gtktoolitemgroup.c:1595 +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:168 ../gtk/gtktoolbutton.c:215 +#: ../gtk/gtktoolitemgroup.c:1601 msgid "Label widget" msgstr "Label widget" @@ -2909,12 +2909,12 @@ msgstr "Label fill" msgid "Whether the label widget should fill all available horizontal space" msgstr "Whether the label widget should fill all available horizontal space" -#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1623 +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1629 #: ../gtk/gtktreeview.c:1191 msgid "Expander Size" msgstr "Expander Size" -#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1624 +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1630 #: ../gtk/gtktreeview.c:1192 msgid "Size of the expander arrow" msgstr "Size of the expander arrow" @@ -3037,19 +3037,19 @@ msgstr "" "Whether a file chooser not in open mode will offer the user to create new " "folders." -#: ../gtk/gtkfixed.c:103 ../gtk/gtklayout.c:632 +#: ../gtk/gtkfixed.c:152 ../gtk/gtklayout.c:632 msgid "X position" msgstr "X position" -#: ../gtk/gtkfixed.c:104 ../gtk/gtklayout.c:633 +#: ../gtk/gtkfixed.c:153 ../gtk/gtklayout.c:633 msgid "X position of child widget" msgstr "X position of child widget" -#: ../gtk/gtkfixed.c:111 ../gtk/gtklayout.c:642 +#: ../gtk/gtkfixed.c:160 ../gtk/gtklayout.c:642 msgid "Y position" msgstr "Y position" -#: ../gtk/gtkfixed.c:112 ../gtk/gtklayout.c:643 +#: ../gtk/gtkfixed.c:161 ../gtk/gtklayout.c:643 msgid "Y position of child widget" msgstr "Y position of child widget" @@ -3113,99 +3113,99 @@ msgstr "Preview text" msgid "The text to display in order to demonstrate the selected font" msgstr "The text to display in order to demonstrate the selected font" -#: ../gtk/gtkframe.c:132 +#: ../gtk/gtkframe.c:134 msgid "Text of the frame's label" msgstr "Text of the frame's label" -#: ../gtk/gtkframe.c:139 +#: ../gtk/gtkframe.c:141 msgid "Label xalign" msgstr "Label xalign" -#: ../gtk/gtkframe.c:140 +#: ../gtk/gtkframe.c:142 msgid "The horizontal alignment of the label" msgstr "The horizontal alignment of the label" -#: ../gtk/gtkframe.c:148 +#: ../gtk/gtkframe.c:150 msgid "Label yalign" msgstr "Label yalign" -#: ../gtk/gtkframe.c:149 +#: ../gtk/gtkframe.c:151 msgid "The vertical alignment of the label" msgstr "The vertical alignment of the label" -#: ../gtk/gtkframe.c:157 +#: ../gtk/gtkframe.c:159 msgid "Frame shadow" msgstr "Frame shadow" -#: ../gtk/gtkframe.c:158 +#: ../gtk/gtkframe.c:160 msgid "Appearance of the frame border" msgstr "Appearance of the frame border" -#: ../gtk/gtkframe.c:167 +#: ../gtk/gtkframe.c:169 msgid "A widget to display in place of the usual frame label" msgstr "A widget to display in place of the usual frame label" -#: ../gtk/gtkgrid.c:1268 ../gtk/gtktable.c:175 +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:175 msgid "Row spacing" msgstr "Row spacing" -#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:176 +#: ../gtk/gtkgrid.c:1270 ../gtk/gtktable.c:176 msgid "The amount of space between two consecutive rows" msgstr "The amount of space between two consecutive rows" -#: ../gtk/gtkgrid.c:1275 ../gtk/gtktable.c:184 +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:184 msgid "Column spacing" msgstr "Column spacing" -#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:185 +#: ../gtk/gtkgrid.c:1277 ../gtk/gtktable.c:185 msgid "The amount of space between two consecutive columns" msgstr "The amount of space between two consecutive columns" -#: ../gtk/gtkgrid.c:1282 +#: ../gtk/gtkgrid.c:1283 msgid "Row Homogeneous" msgstr "Row Homogeneous" -#: ../gtk/gtkgrid.c:1283 +#: ../gtk/gtkgrid.c:1284 msgid "If TRUE, the rows are all the same height" msgstr "If TRUE, the rows are all the same height" -#: ../gtk/gtkgrid.c:1289 +#: ../gtk/gtkgrid.c:1290 msgid "Column Homogeneous" msgstr "Column Homogeneous" -#: ../gtk/gtkgrid.c:1290 +#: ../gtk/gtkgrid.c:1291 msgid "If TRUE, the columns are all the same width" msgstr "If TRUE, the columns are all the same width" -#: ../gtk/gtkgrid.c:1296 ../gtk/gtktable.c:201 +#: ../gtk/gtkgrid.c:1297 ../gtk/gtktable.c:201 msgid "Left attachment" msgstr "Left attachment" -#: ../gtk/gtkgrid.c:1297 ../gtk/gtkmenu.c:689 ../gtk/gtktable.c:202 +#: ../gtk/gtkgrid.c:1298 ../gtk/gtkmenu.c:759 ../gtk/gtktable.c:202 msgid "The column number to attach the left side of the child to" msgstr "The column number to attach the left side of the child to" -#: ../gtk/gtkgrid.c:1303 ../gtk/gtktable.c:215 +#: ../gtk/gtkgrid.c:1304 ../gtk/gtktable.c:215 msgid "Top attachment" msgstr "Top attachment" -#: ../gtk/gtkgrid.c:1304 +#: ../gtk/gtkgrid.c:1305 msgid "The row number to attach the top side of a child widget to" msgstr "The row number to attach the top side of a child widget to" -#: ../gtk/gtkgrid.c:1310 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 +#: ../gtk/gtkgrid.c:1311 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 msgid "Width" msgstr "Width" -#: ../gtk/gtkgrid.c:1311 +#: ../gtk/gtkgrid.c:1312 msgid "The number of columns that a child spans" msgstr "The number of columns that a child spans" -#: ../gtk/gtkgrid.c:1317 ../gtk/gtklayout.c:667 +#: ../gtk/gtkgrid.c:1318 ../gtk/gtklayout.c:667 msgid "Height" msgstr "Height" -#: ../gtk/gtkgrid.c:1318 +#: ../gtk/gtkgrid.c:1319 msgid "The number of rows that a child spans" msgstr "The number of rows that a child spans" @@ -3418,7 +3418,7 @@ msgid "Icon set to display" msgstr "Icon set to display" #: ../gtk/gtkimage.c:267 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 -#: ../gtk/gtktoolpalette.c:1031 +#: ../gtk/gtktoolpalette.c:1032 msgid "Icon size" msgstr "Icon size" @@ -3458,7 +3458,7 @@ msgstr "Child widget to appear next to the menu text" msgid "Whether to use the label text to create a stock menu item" msgstr "Whether to use the label text to create a stock menu item" -#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:531 +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:601 msgid "Accel Group" msgstr "Accel Group" @@ -3504,7 +3504,7 @@ msgstr "The text of the label" msgid "A list of style attributes to apply to the text of the label" msgstr "A list of style attributes to apply to the text of the label" -#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:337 ../gtk/gtktextview.c:702 +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:353 ../gtk/gtktextview.c:703 msgid "Justification" msgstr "Justification" @@ -3630,60 +3630,60 @@ msgstr "Visited" msgid "Whether this link has been visited." msgstr "Whether this link has been visited." -#: ../gtk/gtkmenubar.c:170 +#: ../gtk/gtkmenubar.c:181 msgid "Pack direction" msgstr "Pack direction" -#: ../gtk/gtkmenubar.c:171 +#: ../gtk/gtkmenubar.c:182 msgid "The pack direction of the menubar" msgstr "The pack direction of the menubar" -#: ../gtk/gtkmenubar.c:187 +#: ../gtk/gtkmenubar.c:198 msgid "Child Pack direction" msgstr "Child Pack direction" -#: ../gtk/gtkmenubar.c:188 +#: ../gtk/gtkmenubar.c:199 msgid "The child pack direction of the menubar" msgstr "The child pack direction of the menubar" -#: ../gtk/gtkmenubar.c:197 +#: ../gtk/gtkmenubar.c:208 msgid "Style of bevel around the menubar" msgstr "Style of bevel around the menubar" -#: ../gtk/gtkmenubar.c:204 ../gtk/gtktoolbar.c:568 +#: ../gtk/gtkmenubar.c:215 ../gtk/gtktoolbar.c:568 msgid "Internal padding" msgstr "Internal padding" -#: ../gtk/gtkmenubar.c:205 +#: ../gtk/gtkmenubar.c:216 msgid "Amount of border space between the menubar shadow and the menu items" msgstr "Amount of border space between the menubar shadow and the menu items" -#: ../gtk/gtkmenu.c:517 +#: ../gtk/gtkmenu.c:587 msgid "The currently selected menu item" msgstr "The currently selected menu item" -#: ../gtk/gtkmenu.c:532 +#: ../gtk/gtkmenu.c:602 msgid "The accel group holding accelerators for the menu" msgstr "The accel group holding accelerators for the menu" -#: ../gtk/gtkmenu.c:546 ../gtk/gtkmenuitem.c:313 +#: ../gtk/gtkmenu.c:616 ../gtk/gtkmenuitem.c:313 msgid "Accel Path" msgstr "Accel Path" -#: ../gtk/gtkmenu.c:547 +#: ../gtk/gtkmenu.c:617 msgid "An accel path used to conveniently construct accel paths of child items" msgstr "" "An accel path used to conveniently construct accel paths of child items" -#: ../gtk/gtkmenu.c:563 +#: ../gtk/gtkmenu.c:633 msgid "Attach Widget" msgstr "Attach Widget" -#: ../gtk/gtkmenu.c:564 +#: ../gtk/gtkmenu.c:634 msgid "The widget the menu is attached to" msgstr "The widget the menu is attached to" -#: ../gtk/gtkmenu.c:572 +#: ../gtk/gtkmenu.c:642 msgid "" "A title that may be displayed by the window manager when this menu is torn-" "off" @@ -3691,35 +3691,35 @@ msgstr "" "A title that may be displayed by the window manager when this menu is torn-" "off" -#: ../gtk/gtkmenu.c:586 +#: ../gtk/gtkmenu.c:656 msgid "Tearoff State" msgstr "Tearoff State" -#: ../gtk/gtkmenu.c:587 +#: ../gtk/gtkmenu.c:657 msgid "A boolean that indicates whether the menu is torn-off" msgstr "A boolean that indicates whether the menu is torn-off" -#: ../gtk/gtkmenu.c:601 +#: ../gtk/gtkmenu.c:671 msgid "Monitor" msgstr "Monitor" -#: ../gtk/gtkmenu.c:602 +#: ../gtk/gtkmenu.c:672 msgid "The monitor the menu will be popped up on" msgstr "The monitor the menu will be popped up on" -#: ../gtk/gtkmenu.c:608 +#: ../gtk/gtkmenu.c:678 msgid "Vertical Padding" msgstr "Vertical Padding" -#: ../gtk/gtkmenu.c:609 +#: ../gtk/gtkmenu.c:679 msgid "Extra space at the top and bottom of the menu" msgstr "Extra space at the top and bottom of the menu" -#: ../gtk/gtkmenu.c:631 +#: ../gtk/gtkmenu.c:701 msgid "Reserve Toggle Size" msgstr "Reserve Toggle Size" -#: ../gtk/gtkmenu.c:632 +#: ../gtk/gtkmenu.c:702 msgid "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" @@ -3727,19 +3727,19 @@ msgstr "" "A boolean that indicates whether the menu reserves space for toggles and " "icons" -#: ../gtk/gtkmenu.c:638 +#: ../gtk/gtkmenu.c:708 msgid "Horizontal Padding" msgstr "Horizontal Padding" -#: ../gtk/gtkmenu.c:639 +#: ../gtk/gtkmenu.c:709 msgid "Extra space at the left and right edges of the menu" msgstr "Extra space at the left and right edges of the menu" -#: ../gtk/gtkmenu.c:647 +#: ../gtk/gtkmenu.c:717 msgid "Vertical Offset" msgstr "Vertical Offset" -#: ../gtk/gtkmenu.c:648 +#: ../gtk/gtkmenu.c:718 msgid "" "When the menu is a submenu, position it this number of pixels offset " "vertically" @@ -3747,11 +3747,11 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "vertically" -#: ../gtk/gtkmenu.c:656 +#: ../gtk/gtkmenu.c:726 msgid "Horizontal Offset" msgstr "Horizontal Offset" -#: ../gtk/gtkmenu.c:657 +#: ../gtk/gtkmenu.c:727 msgid "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" @@ -3759,51 +3759,51 @@ msgstr "" "When the menu is a submenu, position it this number of pixels offset " "horizontally" -#: ../gtk/gtkmenu.c:665 +#: ../gtk/gtkmenu.c:735 msgid "Double Arrows" msgstr "Double Arrows" -#: ../gtk/gtkmenu.c:666 +#: ../gtk/gtkmenu.c:736 msgid "When scrolling, always show both arrows." msgstr "When scrolling, always show both arrows." -#: ../gtk/gtkmenu.c:679 +#: ../gtk/gtkmenu.c:749 msgid "Arrow Placement" msgstr "Arrow Placement" -#: ../gtk/gtkmenu.c:680 +#: ../gtk/gtkmenu.c:750 msgid "Indicates where scroll arrows should be placed" msgstr "Indicates where scroll arrows should be placed" -#: ../gtk/gtkmenu.c:688 +#: ../gtk/gtkmenu.c:758 msgid "Left Attach" msgstr "Left Attach" -#: ../gtk/gtkmenu.c:696 +#: ../gtk/gtkmenu.c:766 msgid "Right Attach" msgstr "Right Attach" -#: ../gtk/gtkmenu.c:697 +#: ../gtk/gtkmenu.c:767 msgid "The column number to attach the right side of the child to" msgstr "The column number to attach the right side of the child to" -#: ../gtk/gtkmenu.c:704 +#: ../gtk/gtkmenu.c:774 msgid "Top Attach" msgstr "Top Attach" -#: ../gtk/gtkmenu.c:705 +#: ../gtk/gtkmenu.c:775 msgid "The row number to attach the top of the child to" msgstr "The row number to attach the top of the child to" -#: ../gtk/gtkmenu.c:712 +#: ../gtk/gtkmenu.c:782 msgid "Bottom Attach" msgstr "Bottom Attach" -#: ../gtk/gtkmenu.c:713 ../gtk/gtktable.c:223 +#: ../gtk/gtkmenu.c:783 ../gtk/gtktable.c:223 msgid "The row number to attach the bottom of the child to" msgstr "The row number to attach the bottom of the child to" -#: ../gtk/gtkmenu.c:727 +#: ../gtk/gtkmenu.c:797 msgid "Arbitrary constant to scale down the size of the scroll arrow" msgstr "Arbitrary constant to scale down the size of the scroll arrow" @@ -3846,11 +3846,11 @@ msgstr "Width in Characters" msgid "The minimum desired width of the menu item in characters" msgstr "The minimum desired width of the menu item in characters" -#: ../gtk/gtkmenushell.c:363 +#: ../gtk/gtkmenushell.c:420 msgid "Take Focus" msgstr "Take Focus" -#: ../gtk/gtkmenushell.c:364 +#: ../gtk/gtkmenushell.c:421 msgid "A boolean that determines whether the menu grabs the keyboard focus" msgstr "A boolean that determines whether the menu grabs the keyboard focus" @@ -4345,36 +4345,36 @@ msgstr "Source option" msgid "The PrinterOption backing this widget" msgstr "The PrinterOption backing this widget" -#: ../gtk/gtkprintjob.c:127 +#: ../gtk/gtkprintjob.c:142 msgid "Title of the print job" msgstr "Title of the print job" -#: ../gtk/gtkprintjob.c:135 +#: ../gtk/gtkprintjob.c:150 msgid "Printer" msgstr "Printer" -#: ../gtk/gtkprintjob.c:136 +#: ../gtk/gtkprintjob.c:151 msgid "Printer to print the job to" msgstr "Printer to print the job to" -#: ../gtk/gtkprintjob.c:144 +#: ../gtk/gtkprintjob.c:159 msgid "Settings" msgstr "Settings" -#: ../gtk/gtkprintjob.c:145 +#: ../gtk/gtkprintjob.c:160 msgid "Printer settings" msgstr "Printer settings" -#: ../gtk/gtkprintjob.c:153 ../gtk/gtkprintjob.c:154 +#: ../gtk/gtkprintjob.c:168 ../gtk/gtkprintjob.c:169 #: ../gtk/gtkprintunixdialog.c:298 msgid "Page Setup" msgstr "Page Setup" -#: ../gtk/gtkprintjob.c:162 ../gtk/gtkprintoperation.c:1136 +#: ../gtk/gtkprintjob.c:177 ../gtk/gtkprintoperation.c:1136 msgid "Track Print Status" msgstr "Track Print Status" -#: ../gtk/gtkprintjob.c:163 +#: ../gtk/gtkprintjob.c:178 msgid "" "TRUE if the print job will continue to emit status-changed signals after the " "print data has been sent to the printer or print server." @@ -4687,19 +4687,19 @@ msgstr "The radio menu item whose group this widget belongs to." msgid "The radio tool button whose group this button belongs to." msgstr "The radio tool button whose group this button belongs to." -#: ../gtk/gtkrange.c:416 +#: ../gtk/gtkrange.c:417 msgid "The GtkAdjustment that contains the current value of this range object" msgstr "The GtkAdjustment that contains the current value of this range object" -#: ../gtk/gtkrange.c:424 +#: ../gtk/gtkrange.c:425 msgid "Invert direction slider moves to increase range value" msgstr "Invert direction slider moves to increase range value" -#: ../gtk/gtkrange.c:431 +#: ../gtk/gtkrange.c:432 msgid "Lower stepper sensitivity" msgstr "Lower stepper sensitivity" -#: ../gtk/gtkrange.c:432 +#: ../gtk/gtkrange.c:433 msgid "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" @@ -4707,11 +4707,11 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's lower " "side" -#: ../gtk/gtkrange.c:440 +#: ../gtk/gtkrange.c:441 msgid "Upper stepper sensitivity" msgstr "Upper stepper sensitivity" -#: ../gtk/gtkrange.c:441 +#: ../gtk/gtkrange.c:442 msgid "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" @@ -4719,87 +4719,95 @@ msgstr "" "The sensitivity policy for the stepper that points to the adjustment's upper " "side" -#: ../gtk/gtkrange.c:458 +#: ../gtk/gtkrange.c:459 msgid "Show Fill Level" msgstr "Show Fill Level" -#: ../gtk/gtkrange.c:459 +#: ../gtk/gtkrange.c:460 msgid "Whether to display a fill level indicator graphics on trough." msgstr "Whether to display a fill level indicator graphics on trough." -#: ../gtk/gtkrange.c:475 +#: ../gtk/gtkrange.c:476 msgid "Restrict to Fill Level" msgstr "Restrict to Fill Level" -#: ../gtk/gtkrange.c:476 +#: ../gtk/gtkrange.c:477 msgid "Whether to restrict the upper boundary to the fill level." msgstr "Whether to restrict the upper boundary to the fill level." -#: ../gtk/gtkrange.c:491 +#: ../gtk/gtkrange.c:492 msgid "Fill Level" msgstr "Fill Level" -#: ../gtk/gtkrange.c:492 +#: ../gtk/gtkrange.c:493 msgid "The fill level." msgstr "The fill level." -#: ../gtk/gtkrange.c:500 ../gtk/gtkswitch.c:777 +#: ../gtk/gtkrange.c:510 +msgid "Round Digits" +msgstr "Round Digits" + +#: ../gtk/gtkrange.c:511 +msgid "The number of digits to round the value to." +msgstr "The number of digits to round the value to." + +#: ../gtk/gtkrange.c:519 ../gtk/gtkswitch.c:786 msgid "Slider Width" msgstr "Slider Width" -#: ../gtk/gtkrange.c:501 +#: ../gtk/gtkrange.c:520 msgid "Width of scrollbar or scale thumb" msgstr "Width of scrollbar or scale thumb" -#: ../gtk/gtkrange.c:508 +#: ../gtk/gtkrange.c:527 msgid "Trough Border" msgstr "Trough Border" -#: ../gtk/gtkrange.c:509 +#: ../gtk/gtkrange.c:528 msgid "Spacing between thumb/steppers and outer trough bevel" msgstr "Spacing between thumb/steppers and outer trough bevel" -#: ../gtk/gtkrange.c:516 +#: ../gtk/gtkrange.c:535 msgid "Stepper Size" msgstr "Stepper Size" -#: ../gtk/gtkrange.c:517 +#: ../gtk/gtkrange.c:536 msgid "Length of step buttons at ends" msgstr "Length of step buttons at ends" -#: ../gtk/gtkrange.c:532 +#: ../gtk/gtkrange.c:551 msgid "Stepper Spacing" msgstr "Stepper Spacing" -#: ../gtk/gtkrange.c:533 +#: ../gtk/gtkrange.c:552 msgid "Spacing between step buttons and thumb" msgstr "Spacing between step buttons and thumb" -#: ../gtk/gtkrange.c:540 +#: ../gtk/gtkrange.c:559 msgid "Arrow X Displacement" msgstr "Arrow X Displacement" -#: ../gtk/gtkrange.c:541 +#: ../gtk/gtkrange.c:560 msgid "" "How far in the x direction to move the arrow when the button is depressed" msgstr "" "How far in the x direction to move the arrow when the button is depressed" -#: ../gtk/gtkrange.c:548 +#: ../gtk/gtkrange.c:567 msgid "Arrow Y Displacement" msgstr "Arrow Y Displacement" -#: ../gtk/gtkrange.c:549 +#: ../gtk/gtkrange.c:568 msgid "" "How far in the y direction to move the arrow when the button is depressed" msgstr "" "How far in the y direction to move the arrow when the button is depressed" -#: ../gtk/gtkrange.c:567 +#: ../gtk/gtkrange.c:586 msgid "Trough Under Steppers" msgstr "Trough Under Steppers" -#: ../gtk/gtkrange.c:568 +#: ../gtk/gtkrange.c:587 msgid "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" @@ -4807,11 +4815,11 @@ msgstr "" "Whether to draw trough for full length of range or exclude the steppers and " "spacing" -#: ../gtk/gtkrange.c:581 +#: ../gtk/gtkrange.c:600 msgid "Arrow scaling" msgstr "Arrow scaling" -#: ../gtk/gtkrange.c:582 +#: ../gtk/gtkrange.c:601 msgid "Arrow scaling with regard to scroll button size" msgstr "Arrow scaling with regard to scroll button size" @@ -5871,15 +5879,15 @@ msgstr "The associated GdkScreen" msgid "Direction" msgstr "Direction" -#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:220 +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:236 msgid "Text direction" msgstr "Text direction" -#: ../gtk/gtkswitch.c:744 +#: ../gtk/gtkswitch.c:753 msgid "Whether the switch is on or off" msgstr "Whether the switch is on or off" -#: ../gtk/gtkswitch.c:778 +#: ../gtk/gtkswitch.c:787 msgid "The minimum width of the handle" msgstr "The minimum width of the handle" @@ -6023,23 +6031,23 @@ msgstr "Left gravity" msgid "Whether the mark has left gravity" msgstr "Whether the mark has left gravity" -#: ../gtk/gtktexttag.c:170 +#: ../gtk/gtktexttag.c:186 msgid "Tag name" msgstr "Tag name" -#: ../gtk/gtktexttag.c:171 +#: ../gtk/gtktexttag.c:187 msgid "Name used to refer to the text tag. NULL for anonymous tags" msgstr "Name used to refer to the text tag. NULL for anonymous tags" -#: ../gtk/gtktexttag.c:189 +#: ../gtk/gtktexttag.c:205 msgid "Background color as a (possibly unallocated) GdkColor" msgstr "Background color as a (possibly unallocated) GdkColor" -#: ../gtk/gtktexttag.c:196 +#: ../gtk/gtktexttag.c:212 msgid "Background full height" msgstr "Background full height" -#: ../gtk/gtktexttag.c:197 +#: ../gtk/gtktexttag.c:213 msgid "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" @@ -6047,23 +6055,23 @@ msgstr "" "Whether the background color fills the entire line height or only the height " "of the tagged characters" -#: ../gtk/gtktexttag.c:213 +#: ../gtk/gtktexttag.c:229 msgid "Foreground color as a (possibly unallocated) GdkColor" msgstr "Foreground color as a (possibly unallocated) GdkColor" -#: ../gtk/gtktexttag.c:221 +#: ../gtk/gtktexttag.c:237 msgid "Text direction, e.g. right-to-left or left-to-right" msgstr "Text direction, e.g. right-to-left or left-to-right" -#: ../gtk/gtktexttag.c:270 +#: ../gtk/gtktexttag.c:286 msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" msgstr "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" -#: ../gtk/gtktexttag.c:279 +#: ../gtk/gtktexttag.c:295 msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" msgstr "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" -#: ../gtk/gtktexttag.c:288 +#: ../gtk/gtktexttag.c:304 msgid "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" @@ -6071,15 +6079,15 @@ msgstr "" "Font weight as an integer, see predefined values in PangoWeight; for " "example, PANGO_WEIGHT_BOLD" -#: ../gtk/gtktexttag.c:299 +#: ../gtk/gtktexttag.c:315 msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" msgstr "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" -#: ../gtk/gtktexttag.c:308 +#: ../gtk/gtktexttag.c:324 msgid "Font size in Pango units" msgstr "Font size in Pango units" -#: ../gtk/gtktexttag.c:318 +#: ../gtk/gtktexttag.c:334 msgid "" "Font size as a scale factor relative to the default font size. This properly " "adapts to theme changes etc. so is recommended. Pango predefines some scales " @@ -6089,11 +6097,11 @@ msgstr "" "adapts to theme changes etc. so is recommended. Pango predefines some scales " "such as PANGO_SCALE_X_LARGE" -#: ../gtk/gtktexttag.c:338 ../gtk/gtktextview.c:703 +#: ../gtk/gtktexttag.c:354 ../gtk/gtktextview.c:704 msgid "Left, right, or center justification" msgstr "Left, right, or center justification" -#: ../gtk/gtktexttag.c:357 +#: ../gtk/gtktexttag.c:373 msgid "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." @@ -6101,31 +6109,31 @@ msgstr "" "The language this text is in, as an ISO code. Pango can use this as a hint " "when rendering the text. If not set, an appropriate default will be used." -#: ../gtk/gtktexttag.c:364 +#: ../gtk/gtktexttag.c:380 msgid "Left margin" msgstr "Left margin" -#: ../gtk/gtktexttag.c:365 ../gtk/gtktextview.c:712 +#: ../gtk/gtktexttag.c:381 ../gtk/gtktextview.c:713 msgid "Width of the left margin in pixels" msgstr "Width of the left margin in pixels" -#: ../gtk/gtktexttag.c:374 +#: ../gtk/gtktexttag.c:390 msgid "Right margin" msgstr "Right margin" -#: ../gtk/gtktexttag.c:375 ../gtk/gtktextview.c:722 +#: ../gtk/gtktexttag.c:391 ../gtk/gtktextview.c:723 msgid "Width of the right margin in pixels" msgstr "Width of the right margin in pixels" -#: ../gtk/gtktexttag.c:385 ../gtk/gtktextview.c:731 +#: ../gtk/gtktexttag.c:401 ../gtk/gtktextview.c:732 msgid "Indent" msgstr "Indent" -#: ../gtk/gtktexttag.c:386 ../gtk/gtktextview.c:732 +#: ../gtk/gtktexttag.c:402 ../gtk/gtktextview.c:733 msgid "Amount to indent the paragraph, in pixels" msgstr "Amount to indent the paragraph, in pixels" -#: ../gtk/gtktexttag.c:397 +#: ../gtk/gtktexttag.c:413 msgid "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" @@ -6133,225 +6141,225 @@ msgstr "" "Offset of text above the baseline (below the baseline if rise is negative) " "in Pango units" -#: ../gtk/gtktexttag.c:406 +#: ../gtk/gtktexttag.c:422 msgid "Pixels above lines" msgstr "Pixels above lines" -#: ../gtk/gtktexttag.c:407 ../gtk/gtktextview.c:656 +#: ../gtk/gtktexttag.c:423 ../gtk/gtktextview.c:657 msgid "Pixels of blank space above paragraphs" msgstr "Pixels of blank space above paragraphs" -#: ../gtk/gtktexttag.c:416 +#: ../gtk/gtktexttag.c:432 msgid "Pixels below lines" msgstr "Pixels below lines" -#: ../gtk/gtktexttag.c:417 ../gtk/gtktextview.c:666 +#: ../gtk/gtktexttag.c:433 ../gtk/gtktextview.c:667 msgid "Pixels of blank space below paragraphs" msgstr "Pixels of blank space below paragraphs" -#: ../gtk/gtktexttag.c:426 +#: ../gtk/gtktexttag.c:442 msgid "Pixels inside wrap" msgstr "Pixels inside wrap" -#: ../gtk/gtktexttag.c:427 ../gtk/gtktextview.c:676 +#: ../gtk/gtktexttag.c:443 ../gtk/gtktextview.c:677 msgid "Pixels of blank space between wrapped lines in a paragraph" msgstr "Pixels of blank space between wrapped lines in a paragraph" -#: ../gtk/gtktexttag.c:454 ../gtk/gtktextview.c:694 +#: ../gtk/gtktexttag.c:470 ../gtk/gtktextview.c:695 msgid "" "Whether to wrap lines never, at word boundaries, or at character boundaries" msgstr "" "Whether to wrap lines never, at word boundaries, or at character boundaries" -#: ../gtk/gtktexttag.c:463 ../gtk/gtktextview.c:741 +#: ../gtk/gtktexttag.c:479 ../gtk/gtktextview.c:742 msgid "Tabs" msgstr "Tabs" -#: ../gtk/gtktexttag.c:464 ../gtk/gtktextview.c:742 +#: ../gtk/gtktexttag.c:480 ../gtk/gtktextview.c:743 msgid "Custom tabs for this text" msgstr "Custom tabs for this text" -#: ../gtk/gtktexttag.c:482 +#: ../gtk/gtktexttag.c:498 msgid "Invisible" msgstr "Invisible" -#: ../gtk/gtktexttag.c:483 +#: ../gtk/gtktexttag.c:499 msgid "Whether this text is hidden." msgstr "Whether this text is hidden." -#: ../gtk/gtktexttag.c:497 +#: ../gtk/gtktexttag.c:513 msgid "Paragraph background color name" msgstr "Paragraph background color name" -#: ../gtk/gtktexttag.c:498 +#: ../gtk/gtktexttag.c:514 msgid "Paragraph background color as a string" msgstr "Paragraph background color as a string" -#: ../gtk/gtktexttag.c:513 +#: ../gtk/gtktexttag.c:529 msgid "Paragraph background color" msgstr "Paragraph background color" -#: ../gtk/gtktexttag.c:514 +#: ../gtk/gtktexttag.c:530 msgid "Paragraph background color as a (possibly unallocated) GdkColor" msgstr "Paragraph background color as a (possibly unallocated) GdkColor" -#: ../gtk/gtktexttag.c:532 +#: ../gtk/gtktexttag.c:548 msgid "Margin Accumulates" msgstr "Margin Accumulates" -#: ../gtk/gtktexttag.c:533 +#: ../gtk/gtktexttag.c:549 msgid "Whether left and right margins accumulate." msgstr "Whether left and right margins accumulate." -#: ../gtk/gtktexttag.c:546 +#: ../gtk/gtktexttag.c:562 msgid "Background full height set" msgstr "Background full height set" -#: ../gtk/gtktexttag.c:547 +#: ../gtk/gtktexttag.c:563 msgid "Whether this tag affects background height" msgstr "Whether this tag affects background height" -#: ../gtk/gtktexttag.c:586 +#: ../gtk/gtktexttag.c:602 msgid "Justification set" msgstr "Justification set" -#: ../gtk/gtktexttag.c:587 +#: ../gtk/gtktexttag.c:603 msgid "Whether this tag affects paragraph justification" msgstr "Whether this tag affects paragraph justification" -#: ../gtk/gtktexttag.c:594 +#: ../gtk/gtktexttag.c:610 msgid "Left margin set" msgstr "Left margin set" -#: ../gtk/gtktexttag.c:595 +#: ../gtk/gtktexttag.c:611 msgid "Whether this tag affects the left margin" msgstr "Whether this tag affects the left margin" -#: ../gtk/gtktexttag.c:598 +#: ../gtk/gtktexttag.c:614 msgid "Indent set" msgstr "Indent set" -#: ../gtk/gtktexttag.c:599 +#: ../gtk/gtktexttag.c:615 msgid "Whether this tag affects indentation" msgstr "Whether this tag affects indentation" -#: ../gtk/gtktexttag.c:606 +#: ../gtk/gtktexttag.c:622 msgid "Pixels above lines set" msgstr "Pixels above lines set" -#: ../gtk/gtktexttag.c:607 ../gtk/gtktexttag.c:611 +#: ../gtk/gtktexttag.c:623 ../gtk/gtktexttag.c:627 msgid "Whether this tag affects the number of pixels above lines" msgstr "Whether this tag affects the number of pixels above lines" -#: ../gtk/gtktexttag.c:610 +#: ../gtk/gtktexttag.c:626 msgid "Pixels below lines set" msgstr "Pixels below lines set" -#: ../gtk/gtktexttag.c:614 +#: ../gtk/gtktexttag.c:630 msgid "Pixels inside wrap set" msgstr "Pixels inside wrap set" -#: ../gtk/gtktexttag.c:615 +#: ../gtk/gtktexttag.c:631 msgid "Whether this tag affects the number of pixels between wrapped lines" msgstr "Whether this tag affects the number of pixels between wrapped lines" -#: ../gtk/gtktexttag.c:622 +#: ../gtk/gtktexttag.c:638 msgid "Right margin set" msgstr "Right margin set" -#: ../gtk/gtktexttag.c:623 +#: ../gtk/gtktexttag.c:639 msgid "Whether this tag affects the right margin" msgstr "Whether this tag affects the right margin" -#: ../gtk/gtktexttag.c:630 +#: ../gtk/gtktexttag.c:646 msgid "Wrap mode set" msgstr "Wrap mode set" -#: ../gtk/gtktexttag.c:631 +#: ../gtk/gtktexttag.c:647 msgid "Whether this tag affects line wrap mode" msgstr "Whether this tag affects line wrap mode" -#: ../gtk/gtktexttag.c:634 +#: ../gtk/gtktexttag.c:650 msgid "Tabs set" msgstr "Tabs set" -#: ../gtk/gtktexttag.c:635 +#: ../gtk/gtktexttag.c:651 msgid "Whether this tag affects tabs" msgstr "Whether this tag affects tabs" -#: ../gtk/gtktexttag.c:638 +#: ../gtk/gtktexttag.c:654 msgid "Invisible set" msgstr "Invisible set" -#: ../gtk/gtktexttag.c:639 +#: ../gtk/gtktexttag.c:655 msgid "Whether this tag affects text visibility" msgstr "Whether this tag affects text visibility" -#: ../gtk/gtktexttag.c:642 +#: ../gtk/gtktexttag.c:658 msgid "Paragraph background set" msgstr "Paragraph background set" -#: ../gtk/gtktexttag.c:643 +#: ../gtk/gtktexttag.c:659 msgid "Whether this tag affects the paragraph background color" msgstr "Whether this tag affects the paragraph background color" -#: ../gtk/gtktextview.c:655 +#: ../gtk/gtktextview.c:656 msgid "Pixels Above Lines" msgstr "Pixels Above Lines" -#: ../gtk/gtktextview.c:665 +#: ../gtk/gtktextview.c:666 msgid "Pixels Below Lines" msgstr "Pixels Below Lines" -#: ../gtk/gtktextview.c:675 +#: ../gtk/gtktextview.c:676 msgid "Pixels Inside Wrap" msgstr "Pixels Inside Wrap" -#: ../gtk/gtktextview.c:693 +#: ../gtk/gtktextview.c:694 msgid "Wrap Mode" msgstr "Wrap Mode" -#: ../gtk/gtktextview.c:711 +#: ../gtk/gtktextview.c:712 msgid "Left Margin" msgstr "Left Margin" -#: ../gtk/gtktextview.c:721 +#: ../gtk/gtktextview.c:722 msgid "Right Margin" msgstr "Right Margin" -#: ../gtk/gtktextview.c:749 +#: ../gtk/gtktextview.c:750 msgid "Cursor Visible" msgstr "Cursor Visible" -#: ../gtk/gtktextview.c:750 +#: ../gtk/gtktextview.c:751 msgid "If the insertion cursor is shown" msgstr "If the insertion cursor is shown" -#: ../gtk/gtktextview.c:757 +#: ../gtk/gtktextview.c:758 msgid "Buffer" msgstr "Buffer" -#: ../gtk/gtktextview.c:758 +#: ../gtk/gtktextview.c:759 msgid "The buffer which is displayed" msgstr "The buffer which is displayed" -#: ../gtk/gtktextview.c:766 +#: ../gtk/gtktextview.c:767 msgid "Whether entered text overwrites existing contents" msgstr "Whether entered text overwrites existing contents" -#: ../gtk/gtktextview.c:773 +#: ../gtk/gtktextview.c:774 msgid "Accepts tab" msgstr "Accepts tab" -#: ../gtk/gtktextview.c:774 +#: ../gtk/gtktextview.c:775 msgid "Whether Tab will result in a tab character being entered" msgstr "Whether Tab will result in a tab character being entered" -#: ../gtk/gtktextview.c:809 +#: ../gtk/gtktextview.c:810 msgid "Error underline color" msgstr "Error underline color" -#: ../gtk/gtktextview.c:810 +#: ../gtk/gtktextview.c:811 msgid "Color with which to draw error-indication underlines" msgstr "Color with which to draw error-indication underlines" @@ -6387,7 +6395,7 @@ msgstr "Draw Indicator" msgid "If the toggle part of the button is displayed" msgstr "If the toggle part of the button is displayed" -#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1061 +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1062 msgid "Toolbar Style" msgstr "Toolbar Style" @@ -6407,11 +6415,11 @@ msgstr "If an arrow should be shown if the toolbar doesn't fit" msgid "Size of icons in this toolbar" msgstr "Size of icons in this toolbar" -#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1047 +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1048 msgid "Icon size set" msgstr "Icon size set" -#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1048 +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1049 msgid "Whether the icon-size property has been set" msgstr "Whether the icon-size property has been set" @@ -6419,7 +6427,7 @@ msgstr "Whether the icon-size property has been set" msgid "Whether the item should receive extra space when the toolbar grows" msgstr "Whether the item should receive extra space when the toolbar grows" -#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1642 +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1648 msgid "Whether the item should be the same size as other homogeneous items" msgstr "Whether the item should be the same size as other homogeneous items" @@ -6519,83 +6527,83 @@ msgstr "" "Whether the toolbar item is considered important. When TRUE, toolbar buttons " "show text in GTK_TOOLBAR_BOTH_HORIZ mode" -#: ../gtk/gtktoolitemgroup.c:1589 +#: ../gtk/gtktoolitemgroup.c:1595 msgid "The human-readable title of this item group" msgstr "The human-readable title of this item group" -#: ../gtk/gtktoolitemgroup.c:1596 +#: ../gtk/gtktoolitemgroup.c:1602 msgid "A widget to display in place of the usual label" msgstr "A widget to display in place of the usual label" -#: ../gtk/gtktoolitemgroup.c:1602 +#: ../gtk/gtktoolitemgroup.c:1608 msgid "Collapsed" msgstr "Collapsed" -#: ../gtk/gtktoolitemgroup.c:1603 +#: ../gtk/gtktoolitemgroup.c:1609 msgid "Whether the group has been collapsed and items are hidden" msgstr "Whether the group has been collapsed and items are hidden" -#: ../gtk/gtktoolitemgroup.c:1609 +#: ../gtk/gtktoolitemgroup.c:1615 msgid "ellipsize" msgstr "ellipsize" -#: ../gtk/gtktoolitemgroup.c:1610 +#: ../gtk/gtktoolitemgroup.c:1616 msgid "Ellipsize for item group headers" msgstr "Ellipsize for item group headers" -#: ../gtk/gtktoolitemgroup.c:1616 +#: ../gtk/gtktoolitemgroup.c:1622 msgid "Header Relief" msgstr "Header Relief" -#: ../gtk/gtktoolitemgroup.c:1617 +#: ../gtk/gtktoolitemgroup.c:1623 msgid "Relief of the group header button" msgstr "Relief of the group header button" -#: ../gtk/gtktoolitemgroup.c:1632 +#: ../gtk/gtktoolitemgroup.c:1638 msgid "Header Spacing" msgstr "Header Spacing" -#: ../gtk/gtktoolitemgroup.c:1633 +#: ../gtk/gtktoolitemgroup.c:1639 msgid "Spacing between expander arrow and caption" msgstr "Spacing between expander arrow and caption" -#: ../gtk/gtktoolitemgroup.c:1649 +#: ../gtk/gtktoolitemgroup.c:1655 msgid "Whether the item should receive extra space when the group grows" msgstr "Whether the item should receive extra space when the group grows" -#: ../gtk/gtktoolitemgroup.c:1656 +#: ../gtk/gtktoolitemgroup.c:1662 msgid "Whether the item should fill the available space" msgstr "Whether the item should fill the available space" -#: ../gtk/gtktoolitemgroup.c:1662 +#: ../gtk/gtktoolitemgroup.c:1668 msgid "New Row" msgstr "New Row" -#: ../gtk/gtktoolitemgroup.c:1663 +#: ../gtk/gtktoolitemgroup.c:1669 msgid "Whether the item should start a new row" msgstr "Whether the item should start a new row" -#: ../gtk/gtktoolitemgroup.c:1670 +#: ../gtk/gtktoolitemgroup.c:1676 msgid "Position of the item within this group" msgstr "Position of the item within this group" -#: ../gtk/gtktoolpalette.c:1032 +#: ../gtk/gtktoolpalette.c:1033 msgid "Size of icons in this tool palette" msgstr "Size of icons in this tool palette" -#: ../gtk/gtktoolpalette.c:1062 +#: ../gtk/gtktoolpalette.c:1063 msgid "Style of items in the tool palette" msgstr "Style of items in the tool palette" -#: ../gtk/gtktoolpalette.c:1078 +#: ../gtk/gtktoolpalette.c:1079 msgid "Exclusive" msgstr "Exclusive" -#: ../gtk/gtktoolpalette.c:1079 +#: ../gtk/gtktoolpalette.c:1080 msgid "Whether the item group should be the only expanded at a given time" msgstr "Whether the item group should be the only expanded at a given time" -#: ../gtk/gtktoolpalette.c:1094 +#: ../gtk/gtktoolpalette.c:1095 msgid "" "Whether the item group should receive extra space when the palette grows" msgstr "" diff --git a/po/he.po b/po/he.po index 8443e6a61e..2c7249dd90 100644 --- a/po/he.po +++ b/po/he.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-09 18:54+0200\n" -"PO-Revision-Date: 2011-01-09 21:04+0200\n" +"POT-Creation-Date: 2011-01-18 12:54+0200\n" +"PO-Revision-Date: 2011-01-18 12:55+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -511,15 +511,15 @@ msgstr "_פתיחה" msgid "Default Application" msgstr "יישום בררת המחדל" -#: ../gtk/gtkappchooserwidget.c:729 +#: ../gtk/gtkappchooserwidget.c:730 msgid "Recommended Applications" msgstr "היישומים המומלצים" -#: ../gtk/gtkappchooserwidget.c:743 +#: ../gtk/gtkappchooserwidget.c:744 msgid "Related Applications" msgstr "יישומים קשורים" -#: ../gtk/gtkappchooserwidget.c:756 +#: ../gtk/gtkappchooserwidget.c:758 msgid "Other Applications" msgstr "יישומים אחרים" @@ -553,7 +553,7 @@ msgstr "תגית בלתי מטופלת: '%s'" #. * text direction of RTL and specify "calendar:YM", then the year #. * will appear to the right of the month. #. -#: ../gtk/gtkcalendar.c:885 +#: ../gtk/gtkcalendar.c:871 msgid "calendar:MY" msgstr "calendar:YM" @@ -561,7 +561,7 @@ msgstr "calendar:YM" #. * first day of the week to calendar:week_start:1 if you want Monday #. * to be the first day of the week, and so on. #. -#: ../gtk/gtkcalendar.c:923 +#: ../gtk/gtkcalendar.c:909 msgid "calendar:week_start:0" msgstr "calendar:week_start:0" @@ -570,7 +570,7 @@ msgstr "calendar:week_start:0" #. * #. * If you don't understand this, leave it as "2000" #. -#: ../gtk/gtkcalendar.c:1903 +#: ../gtk/gtkcalendar.c:1910 msgctxt "year measurement template" msgid "2000" msgstr "2000" @@ -585,7 +585,7 @@ msgstr "2000" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 +#: ../gtk/gtkcalendar.c:1941 ../gtk/gtkcalendar.c:2638 #, c-format msgctxt "calendar:day:digits" msgid "%d" @@ -601,7 +601,7 @@ msgstr "%d" #. * digits. That needs support from your system and locale definition #. * too. #. -#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 +#: ../gtk/gtkcalendar.c:1973 ../gtk/gtkcalendar.c:2499 #, c-format msgctxt "calendar:week:digits" msgid "%d" @@ -617,7 +617,7 @@ msgstr "%d" #. * #. * "%Y" is appropriate for most locales. #. -#: ../gtk/gtkcalendar.c:2256 +#: ../gtk/gtkcalendar.c:2268 msgctxt "calendar year format" msgid "%Y" msgstr "%Y" @@ -643,7 +643,7 @@ msgstr "בלתי תקני" #. * an accelerator when the cell is clicked to change the #. * acelerator. #. -#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 +#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:730 msgid "New accelerator..." msgstr "מאיץ חדש..." @@ -653,11 +653,11 @@ msgctxt "progress bar label" msgid "%d %%" msgstr "%d %%" -#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 +#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:483 msgid "Pick a Color" msgstr "בחירת צבע" -#: ../gtk/gtkcolorbutton.c:366 +#: ../gtk/gtkcolorbutton.c:372 msgid "Received invalid color data\n" msgstr "התקבלו נתוני צבע בלתי תקינים\n" @@ -776,11 +776,11 @@ msgstr "הצבע הקודם שנבחר, להשוואה עם הצבע שנבחר msgid "The color you've chosen." msgstr "הצבע שנבחר." -#: ../gtk/gtkcolorsel.c:1444 +#: ../gtk/gtkcolorsel.c:1448 msgid "_Save color here" msgstr "_שמירת הצבע כאן" -#: ../gtk/gtkcolorsel.c:1652 +#: ../gtk/gtkcolorsel.c:1656 msgid "" "Click this palette entry to make it the current color. To change this entry, " "drag a color swatch here or right-click it and select \"Save color here.\"" @@ -803,7 +803,7 @@ msgid "default:mm" msgstr "default:mm" #. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 +#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3255 msgid "Manage Custom Sizes" msgstr "ניהול גדלים מותאמים" @@ -856,23 +856,23 @@ msgstr "_ימין:" msgid "Paper Margins" msgstr "שולי נייר" -#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8222 +#: ../gtk/gtkentry.c:8760 ../gtk/gtktextview.c:8228 msgid "Input _Methods" msgstr "_שיטות קלט" -#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8236 +#: ../gtk/gtkentry.c:8774 ../gtk/gtktextview.c:8242 msgid "_Insert Unicode Control Character" msgstr "_הזנת תו בקרה יוניקוד" -#: ../gtk/gtkentry.c:10224 +#: ../gtk/gtkentry.c:10178 msgid "Caps Lock and Num Lock are on" msgstr "ה־Caps Lock וה־Num Lock פעילים" -#: ../gtk/gtkentry.c:10226 +#: ../gtk/gtkentry.c:10180 msgid "Num Lock is on" msgstr "ה־Num Lock פעיל" -#: ../gtk/gtkentry.c:10228 +#: ../gtk/gtkentry.c:10182 msgid "Caps Lock is on" msgstr "ה־Caps Lock פעיל" @@ -880,8 +880,8 @@ msgstr "ה־Caps Lock פעיל" #. * Private Macros * #. * **************** #: ../gtk/gtkfilechooserbutton.c:62 -msgid "Select A File" -msgstr "בחירת קובץ" +msgid "Select a File" +msgstr "נא לבחור קובץ" #: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1834 msgid "Desktop" @@ -1118,18 +1118,18 @@ msgstr "הקיצור %s כבר קיים" msgid "Shortcut %s does not exist" msgstr "הקיצור %s אינו קיים" -#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:481 +#: ../gtk/gtkfilechooserdefault.c:8046 ../gtk/gtkprintunixdialog.c:480 #, c-format msgid "A file named \"%s\" already exists. Do you want to replace it?" msgstr "קובץ בשם \"%s\" כבר קיים. האם ברצונך להחליפו?" -#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:485 +#: ../gtk/gtkfilechooserdefault.c:8049 ../gtk/gtkprintunixdialog.c:484 #, c-format msgid "" "The file already exists in \"%s\". Replacing it will overwrite its contents." msgstr "הקובץ כבר קיים ב-\"%s\". החלפתו תגרום לאיבוד תוכנו." -#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:492 +#: ../gtk/gtkfilechooserdefault.c:8054 ../gtk/gtkprintunixdialog.c:491 msgid "_Replace" msgstr "ה_חלפה" @@ -1243,24 +1243,24 @@ msgstr "גופן" msgid "abcdefghijk ABCDEFGHIJK" msgstr "abcdef ABCDEF אבגדהו" -#: ../gtk/gtkfontsel.c:367 +#: ../gtk/gtkfontsel.c:366 msgid "_Family:" msgstr "_משפחה:" -#: ../gtk/gtkfontsel.c:373 +#: ../gtk/gtkfontsel.c:372 msgid "_Style:" msgstr "_סגנון:" -#: ../gtk/gtkfontsel.c:379 +#: ../gtk/gtkfontsel.c:378 msgid "Si_ze:" msgstr "_גודל:" #. create the text entry widget -#: ../gtk/gtkfontsel.c:555 +#: ../gtk/gtkfontsel.c:554 msgid "_Preview:" msgstr "_תצוגה מקדימה:" -#: ../gtk/gtkfontsel.c:1655 +#: ../gtk/gtkfontsel.c:1651 msgid "Font Selection" msgstr "בחירת גופן" @@ -1466,8 +1466,17 @@ msgstr "לא ניתן לסיים את התהליך בעל המזהה %d: ‏%s" msgid "Page %u" msgstr "עמוד %u" -#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 -#: ../gtk/gtkpapersize.c:880 +#. Translators: the format here is used to build the string that will be rendered +#. * in the number emblem. +#. +#: ../gtk/gtknumerableicon.c:481 +#, c-format +msgctxt "Number format" +msgid "%d" +msgstr "%d" + +#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:847 +#: ../gtk/gtkpapersize.c:889 msgid "Not a valid page setup file" msgstr "קובץ הגדרות עמוד לא תקין" @@ -1494,7 +1503,7 @@ msgstr "" " מעלה: %s %s\n" " מטה: %s %s" -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 +#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3306 msgid "Manage Custom Sizes..." msgstr "ניהול גדלים _מותאמים..." @@ -1502,7 +1511,7 @@ msgstr "ניהול גדלים _מותאמים..." msgid "_Format for:" msgstr "_תצורה עבור:" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 +#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3478 msgid "_Paper size:" msgstr "_גודל הנייר:" @@ -1510,7 +1519,7 @@ msgstr "_גודל הנייר:" msgid "_Orientation:" msgstr "_כיווניות:" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 +#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3540 msgid "Page Setup" msgstr "הגדרות עמוד" @@ -1683,49 +1692,49 @@ msgstr "Invalid handle to PrintDlgEx" msgid "Unspecified error" msgstr "שגיאה בלתי מוגדרת" -#: ../gtk/gtkprintunixdialog.c:619 +#: ../gtk/gtkprintunixdialog.c:618 msgid "Getting printer information failed" msgstr "קבלת נתוני המדפסת נכשלה" -#: ../gtk/gtkprintunixdialog.c:1874 +#: ../gtk/gtkprintunixdialog.c:1873 msgid "Getting printer information..." msgstr "נתוני המדפסת מתקבלים..." -#: ../gtk/gtkprintunixdialog.c:2141 +#: ../gtk/gtkprintunixdialog.c:2147 msgid "Printer" msgstr "מדפסת" #. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2151 +#: ../gtk/gtkprintunixdialog.c:2157 msgid "Location" msgstr "מיקום" #. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2162 +#: ../gtk/gtkprintunixdialog.c:2168 msgid "Status" msgstr "מצב" -#: ../gtk/gtkprintunixdialog.c:2188 +#: ../gtk/gtkprintunixdialog.c:2194 msgid "Range" msgstr "טווח" -#: ../gtk/gtkprintunixdialog.c:2192 +#: ../gtk/gtkprintunixdialog.c:2198 msgid "_All Pages" msgstr "כל ה_דפים" -#: ../gtk/gtkprintunixdialog.c:2199 +#: ../gtk/gtkprintunixdialog.c:2205 msgid "C_urrent Page" msgstr "_הדף הנוכחי" -#: ../gtk/gtkprintunixdialog.c:2209 +#: ../gtk/gtkprintunixdialog.c:2215 msgid "Se_lection" msgstr "_בחירה" -#: ../gtk/gtkprintunixdialog.c:2218 +#: ../gtk/gtkprintunixdialog.c:2224 msgid "Pag_es:" msgstr "_דפים:" -#: ../gtk/gtkprintunixdialog.c:2219 +#: ../gtk/gtkprintunixdialog.c:2225 msgid "" "Specify one or more page ranges,\n" " e.g. 1-3,7,11" @@ -1733,28 +1742,28 @@ msgstr "" "ניתן לציין טווח דפים אחד או יותר,\n" " לדוגמה: 1-3,7,11" -#: ../gtk/gtkprintunixdialog.c:2229 +#: ../gtk/gtkprintunixdialog.c:2235 msgid "Pages" msgstr "דפים" -#: ../gtk/gtkprintunixdialog.c:2242 +#: ../gtk/gtkprintunixdialog.c:2248 msgid "Copies" msgstr "עותקים" #. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2247 +#: ../gtk/gtkprintunixdialog.c:2253 msgid "Copie_s:" msgstr "_עותקים:" -#: ../gtk/gtkprintunixdialog.c:2265 +#: ../gtk/gtkprintunixdialog.c:2271 msgid "C_ollate" msgstr "_איסוף" -#: ../gtk/gtkprintunixdialog.c:2273 +#: ../gtk/gtkprintunixdialog.c:2279 msgid "_Reverse" msgstr "_החזרה" -#: ../gtk/gtkprintunixdialog.c:2293 +#: ../gtk/gtkprintunixdialog.c:2299 msgid "General" msgstr "כללי" @@ -1764,42 +1773,42 @@ msgstr "כללי" #. Translators: These strings name the possible arrangements of #. * multiple pages on a sheet when printing #. -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3039 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, top to bottom" msgstr "שמאל לימין, מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3026 +#: ../gtk/gtkprintunixdialog.c:3039 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 msgid "Left to right, bottom to top" msgstr "שמאל לימין, מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3040 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, top to bottom" msgstr "ימין לשמאל, מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3027 +#: ../gtk/gtkprintunixdialog.c:3040 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 msgid "Right to left, bottom to top" msgstr "ימין לשמאל, מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3028 +#: ../gtk/gtkprintunixdialog.c:3041 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, left to right" msgstr "מלמעלה למטה, משמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3028 +#: ../gtk/gtkprintunixdialog.c:3041 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 msgid "Top to bottom, right to left" msgstr "מלמעלה למטה, מימין לשמאל" -#: ../gtk/gtkprintunixdialog.c:3029 +#: ../gtk/gtkprintunixdialog.c:3042 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, left to right" msgstr "מלמטה למעלה, משמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3029 +#: ../gtk/gtkprintunixdialog.c:3042 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 msgid "Bottom to top, right to left" msgstr "מלמטה למעלה, מימין לשמאל" @@ -1807,125 +1816,125 @@ msgstr "מלמטה למעלה, מימין לשמאל" #. Translators, this string is used to label the option in the print #. * dialog that controls in what order multiple pages are arranged #. -#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 +#: ../gtk/gtkprintunixdialog.c:3046 ../gtk/gtkprintunixdialog.c:3059 #: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 msgid "Page Ordering" msgstr "סדר דפים" -#: ../gtk/gtkprintunixdialog.c:3062 +#: ../gtk/gtkprintunixdialog.c:3075 msgid "Left to right" msgstr "שמאל לימין" -#: ../gtk/gtkprintunixdialog.c:3063 +#: ../gtk/gtkprintunixdialog.c:3076 msgid "Right to left" msgstr "ימין לשמאל" -#: ../gtk/gtkprintunixdialog.c:3075 +#: ../gtk/gtkprintunixdialog.c:3088 msgid "Top to bottom" msgstr "מלמעלה למטה" -#: ../gtk/gtkprintunixdialog.c:3076 +#: ../gtk/gtkprintunixdialog.c:3089 msgid "Bottom to top" msgstr "מלמטה למעלה" -#: ../gtk/gtkprintunixdialog.c:3316 +#: ../gtk/gtkprintunixdialog.c:3329 msgid "Layout" msgstr "פריסה" -#: ../gtk/gtkprintunixdialog.c:3320 +#: ../gtk/gtkprintunixdialog.c:3333 msgid "T_wo-sided:" msgstr "ד_ו־צדדי:" -#: ../gtk/gtkprintunixdialog.c:3335 +#: ../gtk/gtkprintunixdialog.c:3348 msgid "Pages per _side:" msgstr "מספר _עמודים בכל צג:" -#: ../gtk/gtkprintunixdialog.c:3352 +#: ../gtk/gtkprintunixdialog.c:3365 msgid "Page or_dering:" msgstr "_סדר הדפים:" -#: ../gtk/gtkprintunixdialog.c:3368 +#: ../gtk/gtkprintunixdialog.c:3381 msgid "_Only print:" msgstr "ה_דפסה בלבד:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3383 +#: ../gtk/gtkprintunixdialog.c:3396 msgid "All sheets" msgstr "כל הדפים" -#: ../gtk/gtkprintunixdialog.c:3384 +#: ../gtk/gtkprintunixdialog.c:3397 msgid "Even sheets" msgstr "דפים זוגיים" -#: ../gtk/gtkprintunixdialog.c:3385 +#: ../gtk/gtkprintunixdialog.c:3398 msgid "Odd sheets" msgstr "דפים אי זוגיים" -#: ../gtk/gtkprintunixdialog.c:3388 +#: ../gtk/gtkprintunixdialog.c:3401 msgid "Sc_ale:" msgstr "_התאמה:" -#: ../gtk/gtkprintunixdialog.c:3415 +#: ../gtk/gtkprintunixdialog.c:3428 msgid "Paper" msgstr "נייר" -#: ../gtk/gtkprintunixdialog.c:3419 +#: ../gtk/gtkprintunixdialog.c:3432 msgid "Paper _type:" msgstr "_סוג נייר:" -#: ../gtk/gtkprintunixdialog.c:3434 +#: ../gtk/gtkprintunixdialog.c:3447 msgid "Paper _source:" msgstr "מ_קור נייר:" -#: ../gtk/gtkprintunixdialog.c:3449 +#: ../gtk/gtkprintunixdialog.c:3462 msgid "Output t_ray:" msgstr "_מגש פלט:" -#: ../gtk/gtkprintunixdialog.c:3489 +#: ../gtk/gtkprintunixdialog.c:3502 msgid "Or_ientation:" msgstr "_כיווניות:" #. In enum order -#: ../gtk/gtkprintunixdialog.c:3504 +#: ../gtk/gtkprintunixdialog.c:3517 msgid "Portrait" msgstr "לאורך" -#: ../gtk/gtkprintunixdialog.c:3505 +#: ../gtk/gtkprintunixdialog.c:3518 msgid "Landscape" msgstr "לרוחב" -#: ../gtk/gtkprintunixdialog.c:3506 +#: ../gtk/gtkprintunixdialog.c:3519 msgid "Reverse portrait" msgstr "לאורך הפוך" -#: ../gtk/gtkprintunixdialog.c:3507 +#: ../gtk/gtkprintunixdialog.c:3520 msgid "Reverse landscape" msgstr "לרוחב הפוך" -#: ../gtk/gtkprintunixdialog.c:3552 +#: ../gtk/gtkprintunixdialog.c:3565 msgid "Job Details" msgstr "פרטי המשימה" -#: ../gtk/gtkprintunixdialog.c:3558 +#: ../gtk/gtkprintunixdialog.c:3571 msgid "Pri_ority:" msgstr "_עדיפות:" -#: ../gtk/gtkprintunixdialog.c:3573 +#: ../gtk/gtkprintunixdialog.c:3586 msgid "_Billing info:" msgstr "_נתוני חיוב:" -#: ../gtk/gtkprintunixdialog.c:3591 +#: ../gtk/gtkprintunixdialog.c:3604 msgid "Print Document" msgstr "הדפסת מסמך" #. Translators: this is one of the choices for the print at option #. * in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3600 +#: ../gtk/gtkprintunixdialog.c:3613 msgid "_Now" msgstr "_כעת" -#: ../gtk/gtkprintunixdialog.c:3611 +#: ../gtk/gtkprintunixdialog.c:3624 msgid "A_t:" msgstr "_ב:" @@ -1933,7 +1942,7 @@ msgstr "_ב:" #. * You can remove the am/pm values below for your locale if they are not #. * supported. #. -#: ../gtk/gtkprintunixdialog.c:3617 +#: ../gtk/gtkprintunixdialog.c:3630 msgid "" "Specify the time of print,\n" " e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" @@ -1941,68 +1950,68 @@ msgstr "" "ציון זמן ההדפסה,\n" "לדוגמה: 15:30, 2:35‎ pm,‏ 14:15:20, 11:46:30‎ am,‏ 4‎ pm" -#: ../gtk/gtkprintunixdialog.c:3627 +#: ../gtk/gtkprintunixdialog.c:3640 msgid "Time of print" msgstr "זמן ההדפסה" -#: ../gtk/gtkprintunixdialog.c:3643 +#: ../gtk/gtkprintunixdialog.c:3656 msgid "On _hold" msgstr "ב_המתנה" -#: ../gtk/gtkprintunixdialog.c:3644 +#: ../gtk/gtkprintunixdialog.c:3657 msgid "Hold the job until it is explicitly released" msgstr "החזקת המשימה עד שתשוחרר מפורשות" -#: ../gtk/gtkprintunixdialog.c:3664 +#: ../gtk/gtkprintunixdialog.c:3677 msgid "Add Cover Page" msgstr "הוספת עמוד שער" #. Translators, this is the label used for the option in the print #. * dialog that controls the front cover page. #. -#: ../gtk/gtkprintunixdialog.c:3673 +#: ../gtk/gtkprintunixdialog.c:3686 msgid "Be_fore:" msgstr "ל_פני:" #. Translators, this is the label used for the option in the print #. * dialog that controls the back cover page. #. -#: ../gtk/gtkprintunixdialog.c:3691 +#: ../gtk/gtkprintunixdialog.c:3704 msgid "_After:" msgstr "א_חרי:" #. Translators: this is the tab label for the notebook tab containing #. * job-specific options in the print dialog #. -#: ../gtk/gtkprintunixdialog.c:3709 +#: ../gtk/gtkprintunixdialog.c:3722 msgid "Job" msgstr "משימה" -#: ../gtk/gtkprintunixdialog.c:3775 +#: ../gtk/gtkprintunixdialog.c:3788 msgid "Advanced" msgstr "מתקדם" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3813 +#: ../gtk/gtkprintunixdialog.c:3826 msgid "Image Quality" msgstr "איכות תמונה" #. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3817 +#: ../gtk/gtkprintunixdialog.c:3830 msgid "Color" msgstr "צבע" #. Translators: this will appear as tab label in print dialog. #. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3822 +#: ../gtk/gtkprintunixdialog.c:3835 msgid "Finishing" msgstr "גימור" -#: ../gtk/gtkprintunixdialog.c:3832 +#: ../gtk/gtkprintunixdialog.c:3845 msgid "Some of the settings in the dialog conflict" msgstr "חלק מההגדרות בתיבת הדו־שיח מתנגשות" -#: ../gtk/gtkprintunixdialog.c:3855 +#: ../gtk/gtkprintunixdialog.c:3868 msgid "Print" msgstr "הדפסה" @@ -2637,7 +2646,7 @@ msgstr "הת_רחקות" #. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for #. * the state #. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 +#: ../gtk/gtkswitch.c:313 ../gtk/gtkswitch.c:362 ../gtk/gtkswitch.c:553 msgctxt "switch" msgid "ON" msgstr "❙" @@ -2645,17 +2654,17 @@ msgstr "❙" #. Translators: if the "off" state label requires more than three #. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state #. -#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 +#: ../gtk/gtkswitch.c:321 ../gtk/gtkswitch.c:363 ../gtk/gtkswitch.c:569 msgctxt "switch" msgid "OFF" msgstr "○" -#: ../gtk/gtkswitch.c:959 +#: ../gtk/gtkswitch.c:968 msgctxt "light switch widget" msgid "Switch" msgstr "החלפה" -#: ../gtk/gtkswitch.c:960 +#: ../gtk/gtkswitch.c:969 msgid "Switches between on and off states" msgstr "החלפה בין המצבים פעיל ולא פעיל" From b208b9c0e9b6f6d5484e6ae301e6c27cbd0b0d86 Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Tue, 18 Jan 2011 12:32:52 +0100 Subject: [PATCH 1439/1463] Fix GtkIconView GI annotations Add the missing (out) annotations, and a missing allow-none. --- gtk/gtkiconview.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 9e3d98fdff..406a9e55b5 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -1934,8 +1934,8 @@ gtk_icon_view_set_cursor (GtkIconView *icon_view, /** * gtk_icon_view_get_cursor: * @icon_view: A #GtkIconView - * @path: (allow-none): Return location for the current cursor path, or %NULL - * @cell: (allow-none): Return location the current focus cell, or %NULL + * @path: (allow-none) (out): Return location for the current cursor path, or %NULL + * @cell: (allow-none) (out): Return location the current focus cell, or %NULL * * Fills in @path and @cell with the current cursor path and cell. * If the cursor isn't currently set, then *@path will be %NULL. @@ -4274,9 +4274,9 @@ gtk_icon_view_get_path_at_pos (GtkIconView *icon_view, * @icon_view: A #GtkIconView. * @x: The x position to be identified * @y: The y position to be identified - * @path: (allow-none): Return location for the path, or %NULL - * @cell: Return location for the renderer responsible for the cell - * at (@x, @y), or %NULL + * @path: (allow-none) (out): Return location for the path, or %NULL + * @cell: (allow-none) (out): Return location for the renderer responsible for + * the cell at (@x, @y), or %NULL * * Finds the path at the point (@x, @y), relative to bin_window coordinates. * In contrast to gtk_icon_view_get_path_at_pos(), this function also @@ -4585,8 +4585,8 @@ gtk_icon_view_get_tooltip_column (GtkIconView *icon_view) /** * gtk_icon_view_get_visible_range: * @icon_view: A #GtkIconView - * @start_path: (allow-none): Return location for start of region, or %NULL - * @end_path: (allow-none): Return location for end of region, or %NULL + * @start_path: (allow-none) (out): Return location for start of region, or %NULL + * @end_path: (allow-none) (out): Return location for end of region, or %NULL * * Sets @start_path and @end_path to be the first and last visible path. * Note that there may be invisible paths in between. @@ -6718,8 +6718,8 @@ gtk_icon_view_set_drag_dest_item (GtkIconView *icon_view, /** * gtk_icon_view_get_drag_dest_item: * @icon_view: a #GtkIconView - * @path: (allow-none): Return location for the path of the highlighted item, or %NULL. - * @pos: (allow-none): Return location for the drop position, or %NULL + * @path: (allow-none) (out): Return location for the path of the highlighted item, or %NULL. + * @pos: (allow-none) (out): Return location for the drop position, or %NULL * * Gets information about the item that is highlighted for feedback. * @@ -6749,8 +6749,8 @@ gtk_icon_view_get_drag_dest_item (GtkIconView *icon_view, * @icon_view: a #GtkIconView * @drag_x: the position to determine the destination item for * @drag_y: the position to determine the destination item for - * @path: (allow-none): Return location for the path of the item, or %NULL. - * @pos: (allow-none): Return location for the drop position, or %NULL + * @path: (allow-none) (out): Return location for the path of the item, or %NULL. + * @pos: (allow-none) (out): Return location for the drop position, or %NULL * * Determines the destination item for a given position. * From fe687e760e2e33911dfc16e640b4a112ba245bb2 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 18 Jan 2011 09:36:24 -0500 Subject: [PATCH 1440/1463] Add testcases for opening display More precisely, test that we can successfully fail to open a display... --- gdk/tests/Makefile.am | 8 +++-- gdk/tests/display.c | 74 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 gdk/tests/display.c diff --git a/gdk/tests/Makefile.am b/gdk/tests/Makefile.am index 5930f4ca33..5cadc6d35c 100644 --- a/gdk/tests/Makefile.am +++ b/gdk/tests/Makefile.am @@ -24,8 +24,12 @@ gdk_color_SOURCES = gdk-color.c gdk_color_LDADD = $(progs_ldadd) TEST_PROGS += encoding -encoding_SOURCES = encoding.c -encoding_LDADD = $(progs_ldadd) +encoding_SOURCES = encoding.c +encoding_LDADD = $(progs_ldadd) + +TEST_PROGS += display +display_SOURCES = display.c +display_LDADD = $(progs_ldadd) CLEANFILES = \ cairosurface.png \ diff --git a/gdk/tests/display.c b/gdk/tests/display.c new file mode 100644 index 0000000000..79fbcfd254 --- /dev/null +++ b/gdk/tests/display.c @@ -0,0 +1,74 @@ +#include + +#include + +static void +test_unset_display (void) +{ + if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) + { + GdkDisplayManager *manager; + + g_unsetenv ("DISPLAY"); + + g_assert (!gdk_init_check (NULL, NULL)); + manager = gdk_display_manager_get (); + g_assert (manager != NULL); + g_assert (gdk_display_manager_get_default_display (manager) == NULL); + + exit (0); + } + g_test_trap_assert_passed (); + + if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) + { + g_unsetenv ("DISPLAY"); + + gdk_init (NULL, NULL); + + exit (0); + } + g_test_trap_assert_failed (); + g_test_trap_assert_stderr ("*cannot open display*"); +} + +static void +test_bad_display (void) +{ + if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) + { + GdkDisplayManager *manager; + + g_setenv ("DISPLAY", "poo", TRUE); + + g_assert (!gdk_init_check (NULL, NULL)); + manager = gdk_display_manager_get (); + g_assert (manager != NULL); + g_assert (gdk_display_manager_get_default_display (manager) == NULL); + + exit (0); + } + g_test_trap_assert_passed (); + + if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) + { + g_setenv ("DISPLAY", "poo", TRUE); + + gdk_init (NULL, NULL); + + exit (0); + } + g_test_trap_assert_failed (); + g_test_trap_assert_stderr ("*cannot open display*"); +} + +int +main (int argc, char *argv[]) +{ + g_test_init (&argc, &argv, NULL); + + g_test_add_func ("/display/unset-display", test_unset_display); + g_test_add_func ("/display/bad-display", test_bad_display); + + return g_test_run (); +} From bb7662392d68bb504c46eb6c957e2dc5031932c4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 18 Jan 2011 09:36:59 -0500 Subject: [PATCH 1441/1463] Don't set the default display to NULL This was causing segfaults if DISPLAY is unset --- gdk/x11/gdkdisplaymanager-x11.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdk/x11/gdkdisplaymanager-x11.c b/gdk/x11/gdkdisplaymanager-x11.c index dd712d9296..fbd49464de 100644 --- a/gdk/x11/gdkdisplaymanager-x11.c +++ b/gdk/x11/gdkdisplaymanager-x11.c @@ -53,7 +53,7 @@ gdk_x11_display_manager_open_display (GdkDisplayManager *manager, GdkDisplay *display; display = _gdk_x11_display_open (name); - if (manager_x11->default_display == NULL) + if (manager_x11->default_display == NULL && display != NULL) gdk_display_manager_set_default_display (manager, display); return display; From 6095598c39b71bee2ce7d7fd3adc7b00b2338537 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20F=20Bj=C3=B6rklund?= Date: Tue, 18 Jan 2011 09:55:35 -0500 Subject: [PATCH 1442/1463] Consistently use PKG_CONFIG in macros --- m4macros/gtk-3.0.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/m4macros/gtk-3.0.m4 b/m4macros/gtk-3.0.m4 index b24258654f..7d00bc1f6c 100644 --- a/m4macros/gtk-3.0.m4 +++ b/m4macros/gtk-3.0.m4 @@ -27,7 +27,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run AC_PATH_PROG(PKG_CONFIG, pkg-config, no) if test x$PKG_CONFIG != xno ; then - if pkg-config --atleast-pkgconfig-version 0.7 ; then + if $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then : else echo "*** pkg-config too old; version 0.7 or better required." From 34b573b07c13c9f7a4993ee9417a24313d2b6eba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20P=C3=B6lsterl?= Date: Tue, 18 Jan 2011 16:21:10 +0100 Subject: [PATCH 1443/1463] Fixed gtk_calendar_get_date annotations: Added missing (out) --- gtk/gtkcalendar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c index c393d2f50e..50aa3e5f27 100644 --- a/gtk/gtkcalendar.c +++ b/gtk/gtkcalendar.c @@ -3878,9 +3878,9 @@ gtk_calendar_unmark_day (GtkCalendar *calendar, /** * gtk_calendar_get_date: * @calendar: a #GtkCalendar - * @year: (allow-none): location to store the year as a decimal number (e.g. 2011), or %NULL - * @month: (allow-none): location to store the month number (between 0 and 11), or %NULL - * @day: (allow-none): location to store the day number (between 1 and 31), or %NULL + * @year: (out) (allow-none): location to store the year as a decimal number (e.g. 2011), or %NULL + * @month: (out) (allow-none): location to store the month number (between 0 and 11), or %NULL + * @day: (out) (allow-none): location to store the day number (between 1 and 31), or %NULL * * Obtains the selected date from a #GtkCalendar. */ From e6a51e4afbcd1a8424b71c8b7cbf5533d695f366 Mon Sep 17 00:00:00 2001 From: Tristan Van Berkom Date: Wed, 19 Jan 2011 00:41:35 +0900 Subject: [PATCH 1444/1463] More accurate fix for GtkTreeMenu regression. The previous fix rebuilds the root menu unconditionally, this one only rebuilds the root menu if the root path has indeed changed. https://bugzilla.gnome.org/show_bug.cgi?id=639792 --- gtk/gtktreemenu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktreemenu.c b/gtk/gtktreemenu.c index a2f1290ca7..25a0141120 100644 --- a/gtk/gtktreemenu.c +++ b/gtk/gtktreemenu.c @@ -961,7 +961,7 @@ row_reordered_cb (GtkTreeModel *model, GtkTreeMenuPrivate *priv = menu->priv; gboolean this_menu = FALSE; - if (path == NULL || priv->root == NULL) + if (gtk_tree_path_get_depth (path) == 0 && !priv->root) this_menu = TRUE; else if (priv->root) { From 714d9bc4078898bfb9513e5e17c2bb3c935eef5f Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 18 Jan 2011 16:13:00 +0000 Subject: [PATCH 1445/1463] GtkImage: Add "use-fallback" property So that icon-name and GIcon type of GtkImages can use automatic fallback names. --- gtk/gtkimage.c | 44 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index dca9566d0a..8dc74bead9 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -150,9 +150,10 @@ struct _GtkImagePrivate gint last_rendered_state; /* a GtkStateFlags, with -1 meaning an invalid state, * only used with GTK_IMAGE_GICON, GTK_IMAGE_ICON_NAME */ gint pixel_size; - guint need_calc_size : 1; gint required_width; gint required_height; + guint need_calc_size : 1; + guint use_fallback : 1; }; @@ -202,7 +203,8 @@ enum PROP_PIXBUF_ANIMATION, PROP_ICON_NAME, PROP_STORAGE_TYPE, - PROP_GICON + PROP_GICON, + PROP_USE_FALLBACK }; G_DEFINE_TYPE (GtkImage, gtk_image, GTK_TYPE_MISC) @@ -337,6 +339,24 @@ gtk_image_class_init (GtkImageClass *class) GTK_IMAGE_EMPTY, GTK_PARAM_READABLE)); + /** + * GtkImage:use-fallback: + * + * Whether the icon displayed in the GtkImage will use + * standard icon names fallback. The value of this property + * is only relevant for images of type %GTK_IMAGE_ICON_NAME + * and %GTK_IMAGE_GICON. + * + * Since: 3.0 + */ + g_object_class_install_property (gobject_class, + PROP_USE_FALLBACK, + g_param_spec_boolean ("use-fallback", + P_("Use Fallback"), + P_("Whether to use icon names fallback"), + FALSE, + GTK_PARAM_READWRITE)); + g_type_class_add_private (class, sizeof (GtkImagePrivate)); } @@ -433,6 +453,18 @@ gtk_image_set_property (GObject *object, priv->icon_size); break; + case PROP_USE_FALLBACK: + priv->use_fallback = g_value_get_boolean (value); + if (priv->storage_type == GTK_IMAGE_ICON_NAME) + gtk_image_set_from_icon_name (image, + priv->data.name.icon_name, + priv->icon_size); + else if (priv->storage_type == GTK_IMAGE_GICON) + gtk_image_set_from_gicon (image, + priv->data.gicon.icon, + priv->icon_size); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -510,6 +542,10 @@ gtk_image_get_property (GObject *object, case PROP_STORAGE_TYPE: g_value_set_enum (value, priv->storage_type); break; + + case PROP_USE_FALLBACK: + g_value_set_boolean (value, priv->use_fallback); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1408,6 +1444,8 @@ ensure_pixbuf_for_icon_name (GtkImage *image, icon_theme = gtk_icon_theme_get_for_screen (screen); settings = gtk_settings_get_for_screen (screen); flags = GTK_ICON_LOOKUP_USE_BUILTIN; + if (priv->use_fallback) + flags |= GTK_ICON_LOOKUP_GENERIC_FALLBACK; if (priv->data.name.pixbuf == NULL || (priv->was_symbolic && priv->last_rendered_state != state)) { @@ -1512,6 +1550,8 @@ ensure_pixbuf_for_gicon (GtkImage *image, icon_theme = gtk_icon_theme_get_for_screen (screen); settings = gtk_settings_get_for_screen (screen); flags = GTK_ICON_LOOKUP_USE_BUILTIN; + if (priv->use_fallback) + flags |= GTK_ICON_LOOKUP_GENERIC_FALLBACK; if (priv->data.gicon.pixbuf == NULL || (priv->was_symbolic && priv->last_rendered_state != state)) { From 729c82395539897e276f4dec41550de9b2a0db88 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Tue, 18 Jan 2011 06:28:24 +0100 Subject: [PATCH 1446/1463] [GI] Mark callbacks' context parameter with (closure) annotation. --- docs/reference/gtk/tmpl/gtkprintoperation.sgml | 9 +++------ gdk/gdkevents.h | 2 +- gtk/gtkaccelgroup.h | 2 +- gtk/gtkassistant.h | 2 +- gtk/gtkcellarea.h | 4 ++-- gtk/gtkfilefilter.h | 2 +- gtk/gtkprinter.h | 2 +- gtk/gtkprintoperation.h | 11 +++++++++++ gtk/gtktreemodelfilter.h | 4 ++-- gtk/gtktreeselection.h | 4 ++-- gtk/gtktreeview.h | 6 +++--- 11 files changed, 28 insertions(+), 20 deletions(-) diff --git a/docs/reference/gtk/tmpl/gtkprintoperation.sgml b/docs/reference/gtk/tmpl/gtkprintoperation.sgml index 00cc328b35..0b0446026e 100644 --- a/docs/reference/gtk/tmpl/gtkprintoperation.sgml +++ b/docs/reference/gtk/tmpl/gtkprintoperation.sgml @@ -630,14 +630,11 @@ The #GQuark used for #GtkPrintError errors. -The type of function that is passed to gtk_print_run_page_setup_dialog_async(). -This function will be called when the page setup dialog is dismissed, and -also serves as destroy notify for @data. + -@page_setup: the #GtkPageSetup that has been -@data: user data that has been passed to - gtk_print_run_page_setup_dialog_async(). +@page_setup: +@data: diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h index b7e5ed37a2..258be496a1 100644 --- a/gdk/gdkevents.h +++ b/gdk/gdkevents.h @@ -100,7 +100,7 @@ typedef union _GdkEvent GdkEvent; /** * GdkEventFunc: * @event: the #GdkEvent to process. - * @data: user data set when the event handler was installed with + * @data: (closure): user data set when the event handler was installed with * gdk_event_handler_set(). * * Specifies the type of function passed to gdk_event_handler_set() to diff --git a/gtk/gtkaccelgroup.h b/gtk/gtkaccelgroup.h index 5efe4fa87e..3195a91b3e 100644 --- a/gtk/gtkaccelgroup.h +++ b/gtk/gtkaccelgroup.h @@ -71,7 +71,7 @@ typedef gboolean (*GtkAccelGroupActivate) (GtkAccelGroup *accel_group, * GtkAccelGroupFindFunc: * @key: * @closure: - * @data: + * @data: (closure): * * Since: 2.2 */ diff --git a/gtk/gtkassistant.h b/gtk/gtkassistant.h index ea3ae8168d..62f9eadbc2 100644 --- a/gtk/gtkassistant.h +++ b/gtk/gtkassistant.h @@ -111,7 +111,7 @@ struct _GtkAssistantClass /** * GtkAssistantPageFunc: * @current_page: The page number used to calculate the next page. - * @data: user data. + * @data: (closure): user data. * * A function used by gtk_assistant_set_forward_page_func() to know which * is the next page given a current one. It's called both for computing the diff --git a/gtk/gtkcellarea.h b/gtk/gtkcellarea.h index 78d5e95450..2b0f707b9b 100644 --- a/gtk/gtkcellarea.h +++ b/gtk/gtkcellarea.h @@ -62,7 +62,7 @@ typedef struct _GtkCellAreaContext GtkCellAreaContext; /** * GtkCellCallback: * @renderer: the cell renderer to operate on - * @data: user-supplied data + * @data: (closure): user-supplied data * * The type of the callback functions used for iterating over * the cell renderers of a #GtkCellArea, see gtk_cell_area_foreach(). @@ -79,7 +79,7 @@ typedef gboolean (*GtkCellCallback) (GtkCellRenderer *renderer, * provided to gtk_cell_area_foreach_alloc(). * @cell_background: the background area for @renderer inside the * background area provided to gtk_cell_area_foreach_alloc(). - * @data: user-supplied data + * @data: (closure): user-supplied data * * The type of the callback functions used for iterating over the * cell renderers and their allocated areas inside a #GtkCellArea, diff --git a/gtk/gtkfilefilter.h b/gtk/gtkfilefilter.h index c566ef17a8..02e277557d 100644 --- a/gtk/gtkfilefilter.h +++ b/gtk/gtkfilefilter.h @@ -58,7 +58,7 @@ typedef enum { * GtkFileFilterFunc: * @filter_info: a #GtkFileFilterInfo that is filled according * to the @needed flags passed to gtk_file_filter_add_custom() - * @data: user data passed to gtk_file_filter_add_custom() + * @data: (closure): user data passed to gtk_file_filter_add_custom() * * The type of function that is used with custom filters, see * gtk_file_filter_add_custom(). diff --git a/gtk/gtkprinter.h b/gtk/gtkprinter.h index ba7506ad32..f2c18c10c2 100644 --- a/gtk/gtkprinter.h +++ b/gtk/gtkprinter.h @@ -124,7 +124,7 @@ gboolean gtk_printer_get_hard_margins (GtkPrinter *pr /** * GtkPrinterFunc: * @printer: a #GtkPrinter - * @data: user data passed to gtk_enumerate_printers() + * @data: (closure): user data passed to gtk_enumerate_printers() * * The type of function passed to gtk_enumerate_printers(). * Note that you need to ref @printer, if you want to keep diff --git a/gtk/gtkprintoperation.h b/gtk/gtkprintoperation.h index bba15cc632..5c2b2167e8 100644 --- a/gtk/gtkprintoperation.h +++ b/gtk/gtkprintoperation.h @@ -196,6 +196,17 @@ GtkPageSetup *gtk_print_run_page_setup_dialog (GtkWindow GtkPageSetup *page_setup, GtkPrintSettings *settings); +/** + * GtkPageSetupDoneFunc: + * @page_setup: the #GtkPageSetup that has been + * @data: (closure): user data that has been passed to + * gtk_print_run_page_setup_dialog_async(). + * + * The type of function that is passed to + * gtk_print_run_page_setup_dialog_async(). This function will be + * called when the page setup dialog is dismissed, and also serves as + * destroy notify for @data. + */ typedef void (* GtkPageSetupDoneFunc) (GtkPageSetup *page_setup, gpointer data); diff --git a/gtk/gtktreemodelfilter.h b/gtk/gtktreemodelfilter.h index b8c3376886..b887a0ac69 100644 --- a/gtk/gtktreemodelfilter.h +++ b/gtk/gtktreemodelfilter.h @@ -41,7 +41,7 @@ G_BEGIN_DECLS * @model: the child model of the #GtkTreeModelFilter * @iter: a #GtkTreeIter pointing to the row in @model whose visibility * is determined - * @data: user data given to gtk_tree_model_filter_set_visible_func() + * @data: (closure): user data given to gtk_tree_model_filter_set_visible_func() * * A function which decides whether the row indicated by @iter is visible. * @@ -58,7 +58,7 @@ typedef gboolean (* GtkTreeModelFilterVisibleFunc) (GtkTreeModel *model, * @value: A #GValue which is already initialized for with the correct type for * the column @column. * @column: the column whose display value is determined - * @data: user data given to gtk_tree_model_filter_set_modify_func() + * @data: (closure): user data given to gtk_tree_model_filter_set_modify_func() * * A function which calculates display values from raw values in the model. * It must fill @value with the display value for the column @column in the diff --git a/gtk/gtktreeselection.h b/gtk/gtktreeselection.h index 36cfafa7fd..9dfdb9f5d2 100644 --- a/gtk/gtktreeselection.h +++ b/gtk/gtktreeselection.h @@ -44,7 +44,7 @@ typedef struct _GtkTreeSelectionPrivate GtkTreeSelectionPrivate; * @model: A #GtkTreeModel being viewed * @path: The #GtkTreePath of the row in question * @path_currently_selected: %TRUE, if the path is currently selected - * @data: user data + * @data: (closure): user data * * A function used by gtk_tree_selection_set_select_function() to filter * whether or not a row may be selected. It is called whenever a row's @@ -64,7 +64,7 @@ typedef gboolean (* GtkTreeSelectionFunc) (GtkTreeSelection *selection, * @model: The #GtkTreeModel being viewed * @path: The #GtkTreePath of a selected row * @iter: A #GtkTreeIter pointing to a selected row - * @data: user data + * @data: (closure): user data * * A function used by gtk_tree_selection_selected_foreach() to map all * selected rows. It will be called on every selected row in the view. diff --git a/gtk/gtktreeview.h b/gtk/gtktreeview.h index 9e2227b026..80aa134af6 100644 --- a/gtk/gtktreeview.h +++ b/gtk/gtktreeview.h @@ -129,7 +129,7 @@ struct _GtkTreeViewClass * @column: The #GtkTreeViewColumn being dragged * @prev_column: A #GtkTreeViewColumn on one side of @column * @next_column: A #GtkTreeViewColumn on the other side of @column - * @data: user data + * @data: (closure): user data * * Function type for determining whether @column can be dropped in a * particular spot (as determined by @prev_column and @next_column). In @@ -167,7 +167,7 @@ typedef void (* GtkTreeViewMappingFunc) (GtkTreeView *tree_vi * @key: the key string to compare with * @iter: a #GtkTreeIter pointing the row of @model that should be compared * with @key. - * @search_data: user data from gtk_tree_view_set_search_equal_func() + * @search_data: (closure): user data from gtk_tree_view_set_search_equal_func() * * A function used for checking whether a row in @model matches * a search key string entered by the user. Note the return value @@ -186,7 +186,7 @@ typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, * GtkTreeViewRowSeparatorFunc: * @model: the #GtkTreeModel * @iter: a #GtkTreeIter pointing at a row in @model - * @data: user data + * @data: (closure): user data * * Function type for determining whether the row pointed to by @iter should * be rendered as a separator. A common way to implement this is to have a From 204d1fd0a66528310bee3394a5533ce77938e171 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Tue, 18 Jan 2011 06:29:57 +0100 Subject: [PATCH 1447/1463] [GI] Make argument names in vfunc decls consistent with invoker docs --- gtk/gtkcontainer.h | 2 +- gtk/gtkeditable.h | 8 ++++---- gtk/gtktextbuffer.h | 16 ++++++++-------- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gtk/gtkcontainer.h b/gtk/gtkcontainer.h index 2498513dd0..b21e2d827b 100644 --- a/gtk/gtkcontainer.h +++ b/gtk/gtkcontainer.h @@ -72,7 +72,7 @@ struct _GtkContainerClass GtkCallback callback, gpointer callback_data); void (*set_focus_child) (GtkContainer *container, - GtkWidget *widget); + GtkWidget *child); GType (*child_type) (GtkContainer *container); gchar* (*composite_name) (GtkContainer *container, GtkWidget *child); diff --git a/gtk/gtkeditable.h b/gtk/gtkeditable.h index 5ccebce9f3..90849ffaac 100644 --- a/gtk/gtkeditable.h +++ b/gtk/gtkeditable.h @@ -51,8 +51,8 @@ struct _GtkEditableInterface /* signals */ void (* insert_text) (GtkEditable *editable, - const gchar *text, - gint length, + const gchar *new_text, + gint new_text_length, gint *position); void (* delete_text) (GtkEditable *editable, gint start_pos, @@ -61,8 +61,8 @@ struct _GtkEditableInterface /* vtable */ void (* do_insert_text) (GtkEditable *editable, - const gchar *text, - gint length, + const gchar *new_text, + gint new_text_length, gint *position); void (* do_delete_text) (GtkEditable *editable, gint start_pos, diff --git a/gtk/gtktextbuffer.h b/gtk/gtktextbuffer.h index 5e7d9447b0..565d597056 100644 --- a/gtk/gtktextbuffer.h +++ b/gtk/gtktextbuffer.h @@ -83,15 +83,15 @@ struct _GtkTextBufferClass void (* insert_text) (GtkTextBuffer *buffer, GtkTextIter *pos, - const gchar *text, - gint length); + const gchar *new_text, + gint new_text_length); void (* insert_pixbuf) (GtkTextBuffer *buffer, - GtkTextIter *pos, + GtkTextIter *iter, GdkPixbuf *pixbuf); void (* insert_child_anchor) (GtkTextBuffer *buffer, - GtkTextIter *pos, + GtkTextIter *iter, GtkTextChildAnchor *anchor); void (* delete_range) (GtkTextBuffer *buffer, @@ -117,13 +117,13 @@ struct _GtkTextBufferClass void (* apply_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, - const GtkTextIter *start_char, - const GtkTextIter *end_char); + const GtkTextIter *start, + const GtkTextIter *end); void (* remove_tag) (GtkTextBuffer *buffer, GtkTextTag *tag, - const GtkTextIter *start_char, - const GtkTextIter *end_char); + const GtkTextIter *start, + const GtkTextIter *end); /* Called at the start and end of an atomic user action */ void (* begin_user_action) (GtkTextBuffer *buffer); From 6d5cdad56ec7b637438fc2a98c000891dbacef52 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Tue, 18 Jan 2011 06:42:31 +0100 Subject: [PATCH 1448/1463] [GI] Annotate strings holding file paths as (type filename) --- gtk/gtkaccelmap.c | 6 +++--- gtk/gtkfilechooser.c | 41 ++++++++++++++++++++++------------------- gtk/gtkiconfactory.c | 6 +++--- gtk/gtkicontheme.c | 15 ++++++++------- gtk/gtkimage.c | 4 ++-- gtk/gtkpagesetup.c | 6 +++--- gtk/gtkprintjob.c | 2 +- gtk/gtkprintoperation.c | 2 +- gtk/gtkprintsettings.c | 6 +++--- gtk/gtkrc.c | 23 ++++++++++++----------- gtk/gtkstatusicon.c | 4 ++-- gtk/gtkuimanager.c | 2 +- gtk/gtkwindow.c | 4 ++-- 13 files changed, 63 insertions(+), 58 deletions(-) diff --git a/gtk/gtkaccelmap.c b/gtk/gtkaccelmap.c index 2b0fc3d519..26577738f6 100644 --- a/gtk/gtkaccelmap.c +++ b/gtk/gtkaccelmap.c @@ -669,7 +669,7 @@ gtk_accel_map_load_fd (gint fd) /** * gtk_accel_map_load: - * @file_name: a file containing accelerator specifications, + * @file_name: (type filename): a file containing accelerator specifications, * in the GLib file name encoding * * Parses a file previously saved with gtk_accel_map_save() for @@ -780,8 +780,8 @@ gtk_accel_map_save_fd (gint fd) /** * gtk_accel_map_save: - * @file_name: the name of the file to contain accelerator specifications, - * in the GLib file name encoding + * @file_name: (type filename): the name of the file to contain + * accelerator specifications, in the GLib file name encoding * * Saves current accelerator specifications (accelerator path, key * and modifiers) to @file_name. diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c index 898b3d47ec..41f8d1eb48 100644 --- a/gtk/gtkfilechooser.c +++ b/gtk/gtkfilechooser.c @@ -1033,7 +1033,7 @@ gtk_file_chooser_get_create_folders (GtkFileChooser *chooser) * If the file chooser is in folder mode, this function returns the selected * folder. * - * Return value: The currently selected filename, or %NULL + * Return value: (type filename): The currently selected filename, or %NULL * if no file is selected, or the selected file can't * be represented with a local filename. Free with g_free(). * @@ -1061,7 +1061,7 @@ gtk_file_chooser_get_filename (GtkFileChooser *chooser) /** * gtk_file_chooser_set_filename: * @chooser: a #GtkFileChooser - * @filename: the filename to set as current + * @filename: (type filename): the filename to set as current * * Sets @filename as the current filename for the file chooser, by changing * to the file's parent folder and actually selecting the file in list. If @@ -1115,7 +1115,7 @@ gtk_file_chooser_set_filename (GtkFileChooser *chooser, /** * gtk_file_chooser_select_filename: * @chooser: a #GtkFileChooser - * @filename: the filename to select + * @filename: (type filename): the filename to select * * Selects a filename. If the file name isn't in the current * folder of @chooser, then the current folder of @chooser will @@ -1146,7 +1146,7 @@ gtk_file_chooser_select_filename (GtkFileChooser *chooser, /** * gtk_file_chooser_unselect_filename: * @chooser: a #GtkFileChooser - * @filename: the filename to unselect + * @filename: (type filename): the filename to unselect * * Unselects a currently selected filename. If the filename * is not in the current directory, does not exist, or @@ -1201,9 +1201,10 @@ files_to_strings (GSList *files, * folder cannot be represented as local filenames they will be ignored. (See * gtk_file_chooser_get_uris()) * - * Return value: (element-type utf8) (transfer full): a #GSList containing the filenames of all selected - * files and subfolders in the current folder. Free the returned list - * with g_slist_free(), and the filenames with g_free(). + * Return value: (element-type filename) (transfer full): a #GSList + * containing the filenames of all selected files and subfolders in + * the current folder. Free the returned list with g_slist_free(), + * and the filenames with g_free(). * * Since: 2.4 **/ @@ -1226,7 +1227,7 @@ gtk_file_chooser_get_filenames (GtkFileChooser *chooser) /** * gtk_file_chooser_set_current_folder: * @chooser: a #GtkFileChooser - * @filename: the full path of the new current folder + * @filename: (type filename): the full path of the new current folder * * Sets the current folder for @chooser from a local filename. * The user will be shown the full contents of the current folder, @@ -1269,10 +1270,11 @@ gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, * currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the * usual way to get the selection. * - * Return value: the full path of the current folder, or %NULL if the current - * path cannot be represented as a local filename. Free with g_free(). This - * function will also return %NULL if the file chooser was unable to load the - * last folder that was requested from it; for example, as would be for calling + * Return value: (type filename): the full path of the current folder, + * or %NULL if the current path cannot be represented as a local + * filename. Free with g_free(). This function will also return + * %NULL if the file chooser was unable to load the last folder that + * was requested from it; for example, as would be for calling * gtk_file_chooser_set_current_folder() on a nonexistent folder. * * Since: 2.4 @@ -1298,7 +1300,7 @@ gtk_file_chooser_get_current_folder (GtkFileChooser *chooser) /** * gtk_file_chooser_set_current_name: * @chooser: a #GtkFileChooser - * @name: the filename to use, as a UTF-8 string + * @name: (type filename): the filename to use, as a UTF-8 string * * Sets the current name in the file selector, as if entered * by the user. Note that the name passed in here is a UTF-8 @@ -2056,8 +2058,8 @@ _gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, * Gets the filename that should be previewed in a custom preview * widget. See gtk_file_chooser_set_preview_widget(). * - * Return value: the filename to preview, or %NULL if no file - * is selected, or if the selected file cannot be represented + * Return value: (type filename): the filename to preview, or %NULL if + * no file is selected, or if the selected file cannot be represented * as a local filename. Free with g_free() * * Since: 2.4 @@ -2276,7 +2278,7 @@ gtk_file_chooser_get_filter (GtkFileChooser *chooser) /** * gtk_file_chooser_add_shortcut_folder: * @chooser: a #GtkFileChooser - * @folder: filename of the folder to add + * @folder: (type filename): filename of the folder to add * @error: (allow-none): location to store error, or %NULL * * Adds a folder to be displayed with the shortcut folders in a file chooser. @@ -2310,7 +2312,7 @@ gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, /** * gtk_file_chooser_remove_shortcut_folder: * @chooser: a #GtkFileChooser - * @folder: filename of the folder to remove + * @folder: (type filename): filename of the folder to remove * @error: (allow-none): location to store error, or %NULL * * Removes a folder from a file chooser's list of shortcut folders. @@ -2347,8 +2349,9 @@ gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, * Queries the list of shortcut folders in the file chooser, as set by * gtk_file_chooser_add_shortcut_folder(). * - * Return value: (element-type utf8) (transfer full): A list of folder filenames, or %NULL if there are no shortcut - * folders. Free the returned list with g_slist_free(), and the filenames with + * Return value: (element-type filename) (transfer full): A list of + * folder filenames, or %NULL if there are no shortcut folders. Free + * the returned list with g_slist_free(), and the filenames with * g_free(). * * Since: 2.4 diff --git a/gtk/gtkiconfactory.c b/gtk/gtkiconfactory.c index 46744499c8..7b428e4e46 100644 --- a/gtk/gtkiconfactory.c +++ b/gtk/gtkiconfactory.c @@ -2018,7 +2018,7 @@ icon_source_clear (GtkIconSource *source) /** * gtk_icon_source_set_filename: * @source: a #GtkIconSource - * @filename: image file to use + * @filename: (type filename): image file to use * * Sets the name of an image file to use as a base image when creating * icon variants for #GtkIconSet. The filename must be absolute. @@ -2106,8 +2106,8 @@ gtk_icon_source_set_pixbuf (GtkIconSource *source, * filename is not a copy, and should not be modified or expected to * persist beyond the lifetime of the icon source. * - * Return value: image filename. This string must not be modified - * or freed. + * Return value: (type filename): image filename. This string must not + * be modified or freed. */ G_CONST_RETURN gchar* gtk_icon_source_get_filename (const GtkIconSource *source) diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index cfce79f743..442944ed64 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -737,7 +737,9 @@ gtk_icon_theme_set_search_path (GtkIconTheme *icon_theme, /** * gtk_icon_theme_get_search_path: * @icon_theme: a #GtkIconTheme - * @path: (allow-none) (array length=n_elements) (out): location to store a list of icon theme path directories or %NULL + + * @path: (allow-none) (array length=n_elements) (element-type filename) (out): + * location to store a list of icon theme path directories or %NULL . * The stored value should be freed with g_strfreev(). * @n_elements: location to store number of elements * in @path, or %NULL @@ -773,7 +775,7 @@ gtk_icon_theme_get_search_path (GtkIconTheme *icon_theme, /** * gtk_icon_theme_append_search_path: * @icon_theme: a #GtkIconTheme - * @path: directory name to append to the icon path + * @path: (type filename): directory name to append to the icon path * * Appends a directory to the search path. * See gtk_icon_theme_set_search_path(). @@ -802,7 +804,7 @@ gtk_icon_theme_append_search_path (GtkIconTheme *icon_theme, /** * gtk_icon_theme_prepend_search_path: * @icon_theme: a #GtkIconTheme - * @path: directory name to prepend to the icon path + * @path: (type filename): directory name to prepend to the icon path * * Prepends a directory to the search path. * See gtk_icon_theme_set_search_path(). @@ -2697,10 +2699,9 @@ gtk_icon_info_get_base_size (GtkIconInfo *icon_info) * no filename if a builtin icon is returned; in this * case, you should use gtk_icon_info_get_builtin_pixbuf(). * - * Return value: the filename for the icon, or %NULL - * if gtk_icon_info_get_builtin_pixbuf() should - * be used instead. The return value is owned by - * GTK+ and should not be modified or freed. + * Return value: (type filename): the filename for the icon, or %NULL + * if gtk_icon_info_get_builtin_pixbuf() should be used instead. The + * return value is owned by GTK+ and should not be modified or freed. * * Since: 2.4 **/ diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 8dc74bead9..473bb3ade9 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -556,7 +556,7 @@ gtk_image_get_property (GObject *object, /** * gtk_image_new_from_file: - * @filename: a filename + * @filename: (type filename): a filename * * Creates a new #GtkImage displaying the file @filename. If the file * isn't found or can't be loaded, the resulting #GtkImage will @@ -762,7 +762,7 @@ gtk_image_new_from_gicon (GIcon *icon, /** * gtk_image_set_from_file: * @image: a #GtkImage - * @filename: (allow-none): a filename or %NULL + * @filename: (type filename) (allow-none): a filename or %NULL * * See gtk_image_new_from_file() for details. **/ diff --git a/gtk/gtkpagesetup.c b/gtk/gtkpagesetup.c index a00177efd6..0ba69d33fa 100644 --- a/gtk/gtkpagesetup.c +++ b/gtk/gtkpagesetup.c @@ -526,7 +526,7 @@ gtk_page_setup_get_page_height (GtkPageSetup *setup, /** * gtk_page_setup_load_file: * @setup: a #GtkPageSetup - * @file_name: the filename to read the page setup from + * @file_name: (type filename): the filename to read the page setup from * @error: (allow-none): return location for an error, or %NULL * * Reads the page setup from the file @file_name. @@ -560,7 +560,7 @@ gtk_page_setup_load_file (GtkPageSetup *setup, /** * gtk_page_setup_new_from_file: - * @file_name: the filename to read the page setup from + * @file_name: (type filename): the filename to read the page setup from * @error: (allow-none): return location for an error, or %NULL * * Reads the page setup from the file @file_name. Returns a @@ -730,7 +730,7 @@ gtk_page_setup_new_from_key_file (GKeyFile *key_file, /** * gtk_page_setup_to_file: * @setup: a #GtkPageSetup - * @file_name: the file to save to + * @file_name: (type filename): the file to save to * @error: (allow-none): return location for errors, or %NULL * * This function saves the information from @setup to @file_name. diff --git a/gtk/gtkprintjob.c b/gtk/gtkprintjob.c index d37e1221a9..010669303c 100644 --- a/gtk/gtkprintjob.c +++ b/gtk/gtkprintjob.c @@ -422,7 +422,7 @@ gtk_print_job_set_status (GtkPrintJob *job, /** * gtk_print_job_set_source_file: * @job: a #GtkPrintJob - * @filename: the file to be printed + * @filename: (type filename): the file to be printed * @error: return location for errors * * Make the #GtkPrintJob send an existing document to the diff --git a/gtk/gtkprintoperation.c b/gtk/gtkprintoperation.c index 96425ed098..456a6ab7e0 100644 --- a/gtk/gtkprintoperation.c +++ b/gtk/gtkprintoperation.c @@ -1891,7 +1891,7 @@ gtk_print_operation_set_custom_tab_label (GtkPrintOperation *op, /** * gtk_print_operation_set_export_filename: * @op: a #GtkPrintOperation - * @filename: the filename for the exported file + * @filename: (type filename): the filename for the exported file * * Sets up the #GtkPrintOperation to generate a file instead * of showing the print dialog. The indended use of this function diff --git a/gtk/gtkprintsettings.c b/gtk/gtkprintsettings.c index 7507bd71e9..655c971514 100644 --- a/gtk/gtkprintsettings.c +++ b/gtk/gtkprintsettings.c @@ -1676,7 +1676,7 @@ gtk_print_settings_set_output_bin (GtkPrintSettings *settings, /** * gtk_print_settings_load_file: * @settings: a #GtkPrintSettings - * @file_name: the filename to read the settings from + * @file_name: (type filename): the filename to read the settings from * @error: (allow-none): return location for errors, or %NULL * * Reads the print settings from @file_name. If the file could not be loaded @@ -1711,7 +1711,7 @@ gtk_print_settings_load_file (GtkPrintSettings *settings, /** * gtk_print_settings_new_from_file: - * @file_name: the filename to read the settings from + * @file_name: (type filename): the filename to read the settings from * @error: (allow-none): return location for errors, or %NULL * * Reads the print settings from @file_name. Returns a new #GtkPrintSettings @@ -1836,7 +1836,7 @@ gtk_print_settings_new_from_key_file (GKeyFile *key_file, /** * gtk_print_settings_to_file: * @settings: a #GtkPrintSettings - * @file_name: the file to save to + * @file_name: (type filename): the file to save to * @error: (allow-none): return location for errors, or %NULL * * This function saves the print settings from @settings to @file_name. If the diff --git a/gtk/gtkrc.c b/gtk/gtkrc.c index 5e37a5606a..2dc8a50d02 100644 --- a/gtk/gtkrc.c +++ b/gtk/gtkrc.c @@ -250,8 +250,8 @@ gtk_rc_make_default_dir (const gchar *type) /** * gtk_rc_get_im_module_path: - * @returns: a newly-allocated string containing the path in which to - * look for IM modules. + * @returns: (type filename): a newly-allocated string containing the + * path in which to look for IM modules. * * Obtains the path in which to look for IM modules. See the documentation * of the GTK_PATH @@ -271,8 +271,8 @@ gtk_rc_get_im_module_path (void) /** * gtk_rc_get_im_module_file: - * @returns: a newly-allocated string containing the name of the file - * listing the IM modules available for loading + * @returns: (type filename): a newly-allocated string containing the + * name of the file listing the IM modules available for loading * * Obtains the path to the IM modules file. See the documentation * of the GTK_IM_MODULE_FILE @@ -322,7 +322,7 @@ gtk_rc_get_theme_dir (void) * see the docs for GTK_PATH in * . * - * return value: the directory. (Must be freed with g_free()) + * return value: (type filename): the directory. (Must be freed with g_free()) **/ gchar * gtk_rc_get_module_dir (void) @@ -332,8 +332,8 @@ gtk_rc_get_module_dir (void) /** * gtk_rc_add_default_file: - * @filename: the pathname to the file. If @filename is not absolute, it - * is searched in the current directory. + * @filename: (type filename): the pathname to the file. If @filename + * is not absolute, it is searched in the current directory. * * Adds a file to the list of files to be parsed at the * end of gtk_init(). @@ -347,7 +347,8 @@ gtk_rc_add_default_file (const gchar *filename) /** * gtk_rc_set_default_files: - * @filenames: A %NULL-terminated list of filenames. + * @filenames: (array zero-terminated=1) (element-type filename): A + * %NULL-terminated list of filenames. * * Sets the list of files that GTK+ will read at the * end of gtk_init(). @@ -936,7 +937,7 @@ lookup_color (GtkRcStyle *style, * If the file is not found, it outputs a warning message using * g_warning() and returns %NULL. * - * Return value: the filename. + * Return value: (type filename): the filename. **/ gchar* gtk_rc_find_pixmap_in_path (GtkSettings *settings, @@ -955,8 +956,8 @@ gtk_rc_find_pixmap_in_path (GtkSettings *settings, * Searches for a theme engine in the GTK+ search path. This function * is not useful for applications and should not be used. * - * Return value: The filename, if found (must be freed with g_free()), - * otherwise %NULL. + * Return value: (type filename): The filename, if found (must be + * freed with g_free()), otherwise %NULL. **/ gchar* gtk_rc_find_module_in_path (const gchar *module_file) diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index 6e0751edb5..fdc5171f74 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -1185,7 +1185,7 @@ gtk_status_icon_new_from_pixbuf (GdkPixbuf *pixbuf) /** * gtk_status_icon_new_from_file: - * @filename: a filename + * @filename: (type filename): a filename * * Creates a status icon displaying the file @filename. * @@ -1913,7 +1913,7 @@ gtk_status_icon_set_from_pixbuf (GtkStatusIcon *status_icon, /** * gtk_status_icon_set_from_file: * @status_icon: a #GtkStatusIcon - * @filename: a filename + * @filename: (type filename): a filename * * Makes @status_icon display the file @filename. * See gtk_status_icon_new_from_file() for details. diff --git a/gtk/gtkuimanager.c b/gtk/gtkuimanager.c index 7162f77e92..e5e536a401 100644 --- a/gtk/gtkuimanager.c +++ b/gtk/gtkuimanager.c @@ -1700,7 +1700,7 @@ gtk_ui_manager_add_ui_from_string (GtkUIManager *manager, /** * gtk_ui_manager_add_ui_from_file: * @manager: a #GtkUIManager object - * @filename: the name of the file to parse + * @filename: (type filename): the name of the file to parse * @error: return location for an error * * Parses a file containing a UI definition and diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index a5840a2531..55a9d25691 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -3686,7 +3686,7 @@ load_pixbuf_verbosely (const char *filename, /** * gtk_window_set_icon_from_file: * @window: a #GtkWindow - * @filename: location of icon file + * @filename: (type filename): location of icon file * @err: (allow-none): location to store error, or %NULL. * * Sets the icon for @window. @@ -3864,7 +3864,7 @@ gtk_window_get_default_icon_name (void) /** * gtk_window_set_default_icon_from_file: - * @filename: location of icon file + * @filename: (type filename): location of icon file * @err: (allow-none): location to store error, or %NULL. * * Sets an icon to be used as fallback for windows that haven't From fe372ddf5e918a54d7082996fa4bd779e6d0e9f1 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Tue, 18 Jan 2011 09:25:47 +0100 Subject: [PATCH 1449/1463] [GI] Add missing (allow-none) annotations --- gtk/gtkaction.c | 4 ++-- gtk/gtkicontheme.c | 8 ++++---- gtk/gtkradioaction.c | 4 ++-- gtk/gtkrecentaction.c | 8 ++++---- gtk/gtkscale.c | 4 ++-- gtk/gtktoggleaction.c | 4 ++-- gtk/gtktreeviewcolumn.c | 2 +- gtk/gtkwindow.c | 2 +- 8 files changed, 18 insertions(+), 18 deletions(-) diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c index 64b94bfd9d..5514c25e72 100644 --- a/gtk/gtkaction.c +++ b/gtk/gtkaction.c @@ -508,8 +508,8 @@ gtk_action_buildable_get_name (GtkBuildable *buildable) * @name: A unique name for the action * @label: (allow-none): the label displayed in menu items and on buttons, or %NULL * @tooltip: (allow-none): a tooltip for the action, or %NULL - * @stock_id: the stock icon to display in widgets representing the - * action, or %NULL + * @stock_id: (allow-none): the stock icon to display in widgets representing + * the action, or %NULL * * Creates a new #GtkAction object. To add the action to a * #GtkActionGroup and set the accelerator for the action, diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 442944ed64..9035510b72 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -837,8 +837,8 @@ gtk_icon_theme_prepend_search_path (GtkIconTheme *icon_theme, /** * gtk_icon_theme_set_custom_theme: * @icon_theme: a #GtkIconTheme - * @theme_name: name of icon theme to use instead of configured theme, - * or %NULL to unset a previously set custom theme + * @theme_name: (allow-none): name of icon theme to use instead of + * configured theme, or %NULL to unset a previously set custom theme * * Sets the name of the icon theme that the #GtkIconTheme object uses * overriding system configuration. This function cannot be called @@ -1722,8 +1722,8 @@ add_key_to_list (gpointer key, /** * gtk_icon_theme_list_icons: * @icon_theme: a #GtkIconTheme - * @context: a string identifying a particular type of icon, - * or %NULL to list all icons. + * @context: (allow-none): a string identifying a particular type of + * icon, or %NULL to list all icons. * * Lists the icons in the current icon theme. Only a subset * of the icons can be listed by providing a context string. diff --git a/gtk/gtkradioaction.c b/gtk/gtkradioaction.c index 47cb3f4c5c..a71c0d5bde 100644 --- a/gtk/gtkradioaction.c +++ b/gtk/gtkradioaction.c @@ -195,8 +195,8 @@ gtk_radio_action_init (GtkRadioAction *action) * @name: A unique name for the action * @label: (allow-none): The label displayed in menu items and on buttons, or %NULL * @tooltip: (allow-none): A tooltip for this action, or %NULL - * @stock_id: The stock icon to display in widgets representing this - * action, or %NULL + * @stock_id: (allow-none): The stock icon to display in widgets representing + * this action, or %NULL * @value: The value which gtk_radio_action_get_current_value() should * return if this action is selected. * diff --git a/gtk/gtkrecentaction.c b/gtk/gtkrecentaction.c index 5d73594899..015cf9b080 100644 --- a/gtk/gtkrecentaction.c +++ b/gtk/gtkrecentaction.c @@ -672,8 +672,8 @@ gtk_recent_action_init (GtkRecentAction *action) * @name: a unique name for the action * @label: (allow-none): the label displayed in menu items and on buttons, or %NULL * @tooltip: (allow-none): a tooltip for the action, or %NULL - * @stock_id: the stock icon to display in widgets representing the - * action, or %NULL + * @stock_id: (allow-none): the stock icon to display in widgets representing + * the action, or %NULL * * Creates a new #GtkRecentAction object. To add the action to * a #GtkActionGroup and set the accelerator for the action, @@ -704,8 +704,8 @@ gtk_recent_action_new (const gchar *name, * @name: a unique name for the action * @label: (allow-none): the label displayed in menu items and on buttons, or %NULL * @tooltip: (allow-none): a tooltip for the action, or %NULL - * @stock_id: the stock icon to display in widgets representing the - * action, or %NULL + * @stock_id: (allow-none): the stock icon to display in widgets representing + * the action, or %NULL * @manager: (allow-none): a #GtkRecentManager, or %NULL for using the default * #GtkRecentManager * diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index 486e64722e..a44dd9e1da 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -510,8 +510,8 @@ gtk_scale_get_property (GObject *object, /** * gtk_scale_new: * @orientation: the scale's orientation. - * @adjustment: the #GtkAdjustment which sets the range of the scale, or - * %NULL to create a new adjustment. + * @adjustment: (allow-none): the #GtkAdjustment which sets the range + * of the scale, or %NULL to create a new adjustment. * * Creates a new #GtkScale. * diff --git a/gtk/gtktoggleaction.c b/gtk/gtktoggleaction.c index 525d462af0..9dcc83d1e0 100644 --- a/gtk/gtktoggleaction.c +++ b/gtk/gtktoggleaction.c @@ -168,8 +168,8 @@ gtk_toggle_action_init (GtkToggleAction *action) * @name: A unique name for the action * @label: (allow-none): The label displayed in menu items and on buttons, or %NULL * @tooltip: (allow-none): A tooltip for the action, or %NULL - * @stock_id: The stock icon to display in widgets representing the - * action, or %NULL + * @stock_id: (allow-none): The stock icon to display in widgets representing + * the action, or %NULL * * Creates a new #GtkToggleAction object. To add the action to * a #GtkActionGroup and set the accelerator for the action, diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c index eebcf5ecdc..370eb8ab95 100644 --- a/gtk/gtktreeviewcolumn.c +++ b/gtk/gtktreeviewcolumn.c @@ -1770,7 +1770,7 @@ gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column, * gtk_tree_view_column_set_cell_data_func: * @tree_column: A #GtkTreeViewColumn * @cell_renderer: A #GtkCellRenderer - * @func: The #GtkTreeViewColumnFunc to use. + * @func: (allow-none): The #GtkTreeViewColumnFunc to use. * @func_data: The user data for @func. * @destroy: The destroy notification for @func_data * diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 55a9d25691..c16fffbbe3 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -2629,7 +2629,7 @@ gtk_window_release_application (GtkWindow *window) /** * gtk_window_set_application: * @window: a #GtkWindow - * @application: a #GtkApplication, or %NULL + * @application: (allow-none): a #GtkApplication, or %NULL * * Sets or unsets the #GtkApplication associated with the window. * From a1c297a310751892d7540c0b281bb93ec6750549 Mon Sep 17 00:00:00 2001 From: Pavel Holejsovsky Date: Tue, 18 Jan 2011 10:12:38 +0100 Subject: [PATCH 1450/1463] [GI] Cosmetic cleanups of annotations and doc comments This change does not introduce any functionality change, mostly cosmtic cleanups, like re-linebreak when introduced annotations messed up indentation or whitespace errors fixes. --- gdk/gdk.c | 2 +- gdk/gdkcursor.c | 2 +- gdk/gdkkeys.c | 2 +- gtk/gtkaccelgroup.c | 7 +++++-- gtk/gtkaction.c | 3 ++- gtk/gtkbutton.c | 2 +- gtk/gtkdialog.c | 3 ++- gtk/gtkfilechooser.c | 6 +++--- gtk/gtkicontheme.c | 8 ++++---- gtk/gtkiconview.c | 2 +- gtk/gtkimcontextsimple.c | 2 +- gtk/gtkmenu.c | 6 +++--- gtk/gtkradioaction.c | 3 ++- gtk/gtkradiobutton.c | 2 +- gtk/gtkrecentaction.c | 6 ++++-- gtk/gtkstatusicon.c | 16 ++++++++-------- gtk/gtktoggleaction.c | 3 ++- gtk/gtkwindow.c | 6 +++--- 18 files changed, 45 insertions(+), 36 deletions(-) diff --git a/gdk/gdk.c b/gdk/gdk.c index 9bf97e59a8..6bb7f8deea 100644 --- a/gdk/gdk.c +++ b/gdk/gdk.c @@ -777,7 +777,7 @@ gdk_threads_dispatch_free (gpointer data) /** * gdk_threads_add_idle_full: * @priority: the priority of the idle source. Typically this will be in the - * range btweeen #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE + * range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE * @function: function to call * @data: data to pass to @function * @notify: (allow-none): function to call when the idle is removed, or %NULL diff --git a/gdk/gdkcursor.c b/gdk/gdkcursor.c index fe5f38ced7..1418b1bd0a 100644 --- a/gdk/gdkcursor.c +++ b/gdk/gdkcursor.c @@ -355,7 +355,7 @@ gdk_cursor_new_from_pixbuf (GdkDisplay *display, return GDK_DISPLAY_GET_CLASS (display)->get_cursor_for_pixbuf (display, pixbuf, x, y); } -/** +/** * gdk_cursor_get_display: * @cursor: a #GdkCursor. * diff --git a/gdk/gdkkeys.c b/gdk/gdkkeys.c index c992ef5ae1..74993d6c20 100644 --- a/gdk/gdkkeys.c +++ b/gdk/gdkkeys.c @@ -284,7 +284,7 @@ gdk_keyval_is_lower (guint keyval) return FALSE; } -/** +/** * gdk_keymap_get_default: * * Returns the #GdkKeymap attached to the default display. diff --git a/gtk/gtkaccelgroup.c b/gtk/gtkaccelgroup.c index 9e43ccaf7c..560386dd31 100644 --- a/gtk/gtkaccelgroup.c +++ b/gtk/gtkaccelgroup.c @@ -819,8 +819,11 @@ _gtk_accel_group_get_accelerables (GtkAccelGroup *accel_group) * @accel_group: the accelerator group to query * @accel_key: key value of the accelerator * @accel_mods: modifier combination of the accelerator - * @n_entries: (allow-none): location to return the number of entries found, or %NULL - * @returns: (allow-none): an array of @n_entries #GtkAccelGroupEntry elements, or %NULL. The array is owned by GTK+ and must not be freed. + * @n_entries: (allow-none): location to return the number of entries found, + * or %NULL + * @returns: (transfer none) (array length=n_entries): an array of + * @n_entries #GtkAccelGroupEntry elements, or %NULL. The array is + * owned by GTK+ and must not be freed. * * Queries an accelerator group for all entries matching @accel_key and * @accel_mods. diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c index 5514c25e72..c9a644107f 100644 --- a/gtk/gtkaction.c +++ b/gtk/gtkaction.c @@ -506,7 +506,8 @@ gtk_action_buildable_get_name (GtkBuildable *buildable) /** * gtk_action_new: * @name: A unique name for the action - * @label: (allow-none): the label displayed in menu items and on buttons, or %NULL + * @label: (allow-none): the label displayed in menu items and on buttons, + * or %NULL * @tooltip: (allow-none): a tooltip for the action, or %NULL * @stock_id: (allow-none): the stock icon to display in widgets representing * the action, or %NULL diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c index d86ca46528..116bfb7713 100644 --- a/gtk/gtkbutton.c +++ b/gtk/gtkbutton.c @@ -301,7 +301,7 @@ gtk_button_class_init (GtkButtonClass *klass) GTK_PARAM_READWRITE)); /** - * GtkButton::image: + * GtkButton:image: * * The child widget to appear next to the button text. * diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c index 424b2d232e..0aa57773d5 100644 --- a/gtk/gtkdialog.c +++ b/gtk/gtkdialog.c @@ -1131,7 +1131,8 @@ gtk_dialog_run (GtkDialog *dialog) * Gets the widget button that uses the given response ID in the action area * of a dialog. * - * Returns: (transfer none):the @widget button that uses the given @response_id, or %NULL. + * Returns: (transfer none): the @widget button that uses the given + * @response_id, or %NULL. * * Since: 2.20 */ diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c index 41f8d1eb48..da9d7c5e94 100644 --- a/gtk/gtkfilechooser.c +++ b/gtk/gtkfilechooser.c @@ -2447,9 +2447,9 @@ gtk_file_chooser_remove_shortcut_folder_uri (GtkFileChooser *chooser, * Queries the list of shortcut folders in the file chooser, as set by * gtk_file_chooser_add_shortcut_folder_uri(). * - * Return value: (element-type utf8) (transfer full): A list of folder URIs, or %NULL if there are no shortcut - * folders. Free the returned list with g_slist_free(), and the URIs with - * g_free(). + * Return value: (element-type utf8) (transfer full): A list of folder + * URIs, or %NULL if there are no shortcut folders. Free the returned + * list with g_slist_free(), and the URIs with g_free(). * * Since: 2.4 **/ diff --git a/gtk/gtkicontheme.c b/gtk/gtkicontheme.c index 9035510b72..705cc122f7 100644 --- a/gtk/gtkicontheme.c +++ b/gtk/gtkicontheme.c @@ -1793,10 +1793,10 @@ gtk_icon_theme_list_icons (GtkIconTheme *icon_theme, * Gets the list of contexts available within the current * hierarchy of icon themes * - * Return value: (element-type utf8) (transfer full): a #GList list holding the names of all the - * contexts in the theme. You must first free each element - * in the list with g_free(), then free the list itself - * with g_list_free(). + * Return value: (element-type utf8) (transfer full): a #GList list + * holding the names of all the contexts in the theme. You must first + * free each element in the list with g_free(), then free the list + * itself with g_list_free(). * * Since: 2.12 **/ diff --git a/gtk/gtkiconview.c b/gtk/gtkiconview.c index 406a9e55b5..9f89851cf3 100644 --- a/gtk/gtkiconview.c +++ b/gtk/gtkiconview.c @@ -4562,7 +4562,7 @@ gtk_icon_view_set_tooltip_column (GtkIconView *icon_view, g_object_notify (G_OBJECT (icon_view), "tooltip-column"); } -/** +/** * gtk_icon_view_get_tooltip_column: * @icon_view: a #GtkIconView * diff --git a/gtk/gtkimcontextsimple.c b/gtk/gtkimcontextsimple.c index 522b21ea0a..ef724b575c 100644 --- a/gtk/gtkimcontextsimple.c +++ b/gtk/gtkimcontextsimple.c @@ -155,7 +155,7 @@ gtk_im_context_simple_finalize (GObject *obj) G_OBJECT_CLASS (gtk_im_context_simple_parent_class)->finalize (obj); } -/** +/** * gtk_im_context_simple_new: * * Creates a new #GtkIMContextSimple. diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index e1b4ca3f8a..0a125adacc 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -1337,9 +1337,9 @@ gtk_menu_remove (GtkContainer *container, /** * gtk_menu_new: * - * Creates a new #GtkMenu. + * Creates a new #GtkMenu * - * Returns: a new #GtkMenu. + * Returns: a new #GtkMenu */ GtkWidget* gtk_menu_new (void) @@ -1444,7 +1444,7 @@ popup_grab_on_window (GdkWindow *window, /** * gtk_menu_popup_for_device: - * @menu: a #GtkMenu. + * @menu: a #GtkMenu * @device: (allow-none): a #GdkDevice * @parent_menu_shell: (allow-none): the menu shell containing the triggering * menu item, or %NULL diff --git a/gtk/gtkradioaction.c b/gtk/gtkradioaction.c index a71c0d5bde..e225825537 100644 --- a/gtk/gtkradioaction.c +++ b/gtk/gtkradioaction.c @@ -193,7 +193,8 @@ gtk_radio_action_init (GtkRadioAction *action) /** * gtk_radio_action_new: * @name: A unique name for the action - * @label: (allow-none): The label displayed in menu items and on buttons, or %NULL + * @label: (allow-none): The label displayed in menu items and on buttons, + * or %NULL * @tooltip: (allow-none): A tooltip for this action, or %NULL * @stock_id: (allow-none): The stock icon to display in widgets representing * this action, or %NULL diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c index 4044b3ed1d..0eff06f197 100644 --- a/gtk/gtkradiobutton.c +++ b/gtk/gtkradiobutton.c @@ -175,7 +175,7 @@ gtk_radio_button_class_init (GtkRadioButtonClass *class) /** * GtkRadioButton::group-changed: - * @style: the object which received the signal + * @button: the object which received the signal * * Emitted when the group of radio buttons that a radio button belongs * to changes. This is emitted when a radio button switches from diff --git a/gtk/gtkrecentaction.c b/gtk/gtkrecentaction.c index 015cf9b080..8d21ae4830 100644 --- a/gtk/gtkrecentaction.c +++ b/gtk/gtkrecentaction.c @@ -670,7 +670,8 @@ gtk_recent_action_init (GtkRecentAction *action) /** * gtk_recent_action_new: * @name: a unique name for the action - * @label: (allow-none): the label displayed in menu items and on buttons, or %NULL + * @label: (allow-none): the label displayed in menu items and on buttons, + * or %NULL * @tooltip: (allow-none): a tooltip for the action, or %NULL * @stock_id: (allow-none): the stock icon to display in widgets representing * the action, or %NULL @@ -702,7 +703,8 @@ gtk_recent_action_new (const gchar *name, /** * gtk_recent_action_new_for_manager: * @name: a unique name for the action - * @label: (allow-none): the label displayed in menu items and on buttons, or %NULL + * @label: (allow-none): the label displayed in menu items and on buttons, + * or %NULL * @tooltip: (allow-none): a tooltip for the action, or %NULL * @stock_id: (allow-none): the stock icon to display in widgets representing * the action, or %NULL diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c index fdc5171f74..c22b0a87b4 100644 --- a/gtk/gtkstatusicon.c +++ b/gtk/gtkstatusicon.c @@ -2464,14 +2464,14 @@ gtk_status_icon_position_menu (GtkMenu *menu, /** * gtk_status_icon_get_geometry: * @status_icon: a #GtkStatusIcon - * @screen: (out) (transfer none) (allow-none): return location for the screen, or %NULL if the - * information is not needed - * @area: (out) (allow-none): return location for the area occupied by the status - * icon, or %NULL - * @orientation: (out) (allow-none): return location for the orientation of the panel - * in which the status icon is embedded, or %NULL. A panel - * at the top or bottom of the screen is horizontal, a panel - * at the left or right is vertical. + * @screen: (out) (transfer none) (allow-none): return location for + * the screen, or %NULL if the information is not needed + * @area: (out) (allow-none): return location for the area occupied by + * the status icon, or %NULL + * @orientation: (out) (allow-none): return location for the + * orientation of the panel in which the status icon is embedded, + * or %NULL. A panel at the top or bottom of the screen is + * horizontal, a panel at the left or right is vertical. * * Obtains information about the location of the status icon * on screen. This information can be used to e.g. position diff --git a/gtk/gtktoggleaction.c b/gtk/gtktoggleaction.c index 9dcc83d1e0..c36a924cfe 100644 --- a/gtk/gtktoggleaction.c +++ b/gtk/gtktoggleaction.c @@ -166,7 +166,8 @@ gtk_toggle_action_init (GtkToggleAction *action) /** * gtk_toggle_action_new: * @name: A unique name for the action - * @label: (allow-none): The label displayed in menu items and on buttons, or %NULL + * @label: (allow-none): The label displayed in menu items and on buttons, + * or %NULL * @tooltip: (allow-none): A tooltip for the action, or %NULL * @stock_id: (allow-none): The stock icon to display in widgets representing * the action, or %NULL diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index c16fffbbe3..45a11fb177 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -8048,7 +8048,7 @@ gtk_window_begin_move_drag (GtkWindow *window, timestamp); } -/** +/** * gtk_window_set_screen: * @window: a #GtkWindow. * @screen: a #GdkScreen. @@ -8335,8 +8335,8 @@ gtk_window_group_remove_window (GtkWindowGroup *window_group, * * Returns a list of the #GtkWindows that belong to @window_group. * - * Returns: (element-type GtkWidget) (transfer container): A newly-allocated list of - * windows inside the group. + * Returns: (element-type GtkWindow) (transfer container): A + * newly-allocated list of windows inside the group. * * Since: 2.14 **/ From da27cae045fd7cf4f174a02a08d6997b5af9520b Mon Sep 17 00:00:00 2001 From: Yaron Shahrabani Date: Wed, 19 Jan 2011 01:02:39 +0200 Subject: [PATCH 1451/1463] Updated Hebrew translation. --- po-properties/he.po | 55 ++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/po-properties/he.po b/po-properties/he.po index 075a7d8dda..1aaba05d2c 100644 --- a/po-properties/he.po +++ b/po-properties/he.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: gtk+.HEAD.he\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-01-18 12:55+0200\n" -"PO-Revision-Date: 2011-01-18 12:56+0200\n" +"POT-Creation-Date: 2011-01-19 01:01+0200\n" +"PO-Revision-Date: 2011-01-19 01:02+0200\n" "Last-Translator: Yaron Shahrabani \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" @@ -336,18 +336,18 @@ msgid "GIcon" msgstr "GIcon" #: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 -#: ../gtk/gtkimage.c:327 ../gtk/gtkstatusicon.c:245 +#: ../gtk/gtkimage.c:329 ../gtk/gtkstatusicon.c:245 msgid "The GIcon being displayed" msgstr "The GIcon being displayed" #: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 -#: ../gtk/gtkimage.c:309 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkimage.c:311 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 #: ../gtk/gtkwindow.c:721 msgid "Icon Name" msgstr "Icon Name" #: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 -#: ../gtk/gtkimage.c:310 ../gtk/gtkstatusicon.c:229 +#: ../gtk/gtkimage.c:312 ../gtk/gtkstatusicon.c:229 msgid "The name of the icon from the icon theme" msgstr "The name of the icon from the icon theme" @@ -1470,7 +1470,7 @@ msgstr "Pixbuf Expander Closed" msgid "Pixbuf for closed expander" msgstr "Pixbuf for closed expander" -#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:251 +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:253 #: ../gtk/gtkstatusicon.c:220 msgid "Stock ID" msgstr "Stock ID" @@ -1504,7 +1504,7 @@ msgstr "Follow State" msgid "Whether the rendered pixbuf should be colorized according to the state" msgstr "Whether the rendered pixbuf should be colorized according to the state" -#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:326 +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:328 #: ../gtk/gtkwindow.c:698 msgid "Icon" msgstr "Icon" @@ -3388,68 +3388,76 @@ msgstr "Selection Box Alpha" msgid "Opacity of the selection box" msgstr "Opacity of the selection box" -#: ../gtk/gtkimage.c:234 ../gtk/gtkstatusicon.c:204 +#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:204 msgid "Pixbuf" msgstr "Pixbuf" -#: ../gtk/gtkimage.c:235 ../gtk/gtkstatusicon.c:205 +#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:205 msgid "A GdkPixbuf to display" msgstr "A GdkPixbuf to display" -#: ../gtk/gtkimage.c:242 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkimage.c:244 ../gtk/gtkrecentmanager.c:294 #: ../gtk/gtkstatusicon.c:212 msgid "Filename" msgstr "Filename" -#: ../gtk/gtkimage.c:243 ../gtk/gtkstatusicon.c:213 +#: ../gtk/gtkimage.c:245 ../gtk/gtkstatusicon.c:213 msgid "Filename to load and display" msgstr "Filename to load and display" -#: ../gtk/gtkimage.c:252 ../gtk/gtkstatusicon.c:221 +#: ../gtk/gtkimage.c:254 ../gtk/gtkstatusicon.c:221 msgid "Stock ID for a stock image to display" msgstr "Stock ID for a stock image to display" -#: ../gtk/gtkimage.c:259 +#: ../gtk/gtkimage.c:261 msgid "Icon set" msgstr "Icon set" -#: ../gtk/gtkimage.c:260 +#: ../gtk/gtkimage.c:262 msgid "Icon set to display" msgstr "Icon set to display" -#: ../gtk/gtkimage.c:267 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtkimage.c:269 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 #: ../gtk/gtktoolpalette.c:1032 msgid "Icon size" msgstr "Icon size" -#: ../gtk/gtkimage.c:268 +#: ../gtk/gtkimage.c:270 msgid "Symbolic size to use for stock icon, icon set or named icon" msgstr "Symbolic size to use for stock icon, icon set or named icon" -#: ../gtk/gtkimage.c:284 +#: ../gtk/gtkimage.c:286 msgid "Pixel size" msgstr "Pixel size" -#: ../gtk/gtkimage.c:285 +#: ../gtk/gtkimage.c:287 msgid "Pixel size to use for named icon" msgstr "Pixel size to use for named icon" -#: ../gtk/gtkimage.c:293 +#: ../gtk/gtkimage.c:295 msgid "Animation" msgstr "Animation" -#: ../gtk/gtkimage.c:294 +#: ../gtk/gtkimage.c:296 msgid "GdkPixbufAnimation to display" msgstr "GdkPixbufAnimation to display" -#: ../gtk/gtkimage.c:334 ../gtk/gtkstatusicon.c:252 +#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:252 msgid "Storage type" msgstr "Storage type" -#: ../gtk/gtkimage.c:335 ../gtk/gtkstatusicon.c:253 +#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:253 msgid "The representation being used for image data" msgstr "The representation being used for image data" +#: ../gtk/gtkimage.c:355 +msgid "Use Fallback" +msgstr "Use Fallback" + +#: ../gtk/gtkimage.c:356 +msgid "Whether to use icon names fallback" +msgstr "Whether to use icon names fallback" + #: ../gtk/gtkimagemenuitem.c:150 msgid "Child widget to appear next to the menu text" msgstr "Child widget to appear next to the menu text" @@ -7791,9 +7799,6 @@ msgstr "The GtkApplication for the window" #~ msgid "Blinking" #~ msgstr "Blinking" -#~ msgid "Whether the status icon is blinking" -#~ msgstr "Whether the status icon is blinking" - #~ msgid "Row Ending details" #~ msgstr "Row Ending details" From 474ed78b25dddae203bf718e66e10afd4eeb93fc Mon Sep 17 00:00:00 2001 From: A S Alam Date: Wed, 19 Jan 2011 08:40:52 +0530 Subject: [PATCH 1452/1463] update Punjabi Translation --- po/pa.po | 12462 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 7697 insertions(+), 4765 deletions(-) diff --git a/po/pa.po b/po/pa.po index 7faef3e18e..2962ddb603 100644 --- a/po/pa.po +++ b/po/pa.po @@ -1,5138 +1,8070 @@ -# translation of gtk+.HEAD.po to Punjabi -# Copyright (C) 2004 THE gtk+.HEAD'S COPYRIGHT HOLDER -# This file is distributed under the same license as the gtk+.HEAD package. +# translation of gtk+-properties.HEAD.po to Punjabi +# Copyright (C) 2004 THE gtk+-properties.HEAD'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk+-properties.HEAD package. # # Amanpreet Singh Alam , 2004. -# Amanpreet Singh Alam , 2005,2006,2007, 2008, 2009. -# A S Alam , 2009, 2010, 2011. +# A S Alam , 2005, 2006, 2007, 2009, 2010, 2011. +# ASB , 2007. +# Amanpreet Singh Alam , 2009. msgid "" msgstr "" -"Project-Id-Version: gtk+.HEAD\n" -"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2b&component=general\n" -"POT-Creation-Date: 2011-01-05 17:26+0000\n" -"PO-Revision-Date: 2011-01-06 06:50+0530\n" +"Project-Id-Version: gtk+-properties.HEAD\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%" +"2b&component=general\n" +"POT-Creation-Date: 2011-01-18 16:14+0000\n" +"PO-Revision-Date: 2011-01-19 08:40+0530\n" "Last-Translator: A S Alam \n" "Language-Team: Punjabi/Panjabi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: \n" -"X-Generator: Lokalize 1.1\n" +"X-Generator: Lokalize 1.2\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gdk/gdk.c:152 -#, c-format -msgid "Error parsing option --gdk-debug" -msgstr "--gdk-debug ਚੋਣ ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" - -#: ../gdk/gdk.c:172 -#, c-format -msgid "Error parsing option --gdk-no-debug" -msgstr "ਚੋਣ --gdk-no-debug ਪਾਰਸ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" - -#. Description of --class=CLASS in --help output -#: ../gdk/gdk.c:200 -msgid "Program class as used by the window manager" -msgstr "ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਪਰੋਗਰਾਮ ਕਲਾਸ ਦੇ ਤੌਰ ਉੱਤੇ ਵਰਤਿਆ" - -#. Placeholder in --class=CLASS in --help output -#: ../gdk/gdk.c:201 -msgid "CLASS" -msgstr "ਕਲਾਸ" - -#. Description of --name=NAME in --help output -#: ../gdk/gdk.c:203 -msgid "Program name as used by the window manager" -msgstr "ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਪਰੋਗਰਾਮ ਨਾਂ ਦੇ ਤੌਰ ਉੱਤੇ ਇਸਤੇਮਾਲ" - -#. Placeholder in --name=NAME in --help output -#: ../gdk/gdk.c:204 -msgid "NAME" -msgstr "ਨਾਂ" - -#. Description of --display=DISPLAY in --help output -#: ../gdk/gdk.c:206 -msgid "X display to use" -msgstr "ਵਰਤਣ ਲਈ X ਡਿਸਪਲੇਅ" - -#. Placeholder in --display=DISPLAY in --help output -#: ../gdk/gdk.c:207 -msgid "DISPLAY" +#: ../gdk/gdkapplaunchcontext.c:129 ../gdk/gdkcursor.c:136 +#: ../gdk/gdkdevicemanager.c:146 +msgid "Display" msgstr "ਡਿਸਪਲੇਅ" -#. Description of --gdk-debug=FLAGS in --help output -#: ../gdk/gdk.c:210 -msgid "GDK debugging flags to set" -msgstr "ਸੈੱਟ ਕਰਨ ਲਈ GDK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" +#: ../gdk/gdkcursor.c:128 +msgid "Cursor type" +msgstr "ਕਰਸਰ ਕਿਸਮ" -#. Placeholder in --gdk-debug=FLAGS in --help output -#. Placeholder in --gdk-no-debug=FLAGS in --help output -#. Placeholder in --gtk-debug=FLAGS in --help output -#. Placeholder in --gtk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:211 ../gdk/gdk.c:214 ../gtk/gtkmain.c:570 ../gtk/gtkmain.c:573 -msgid "FLAGS" -msgstr "ਫਲੈਗ" +#: ../gdk/gdkcursor.c:129 +msgid "Standard cursor type" +msgstr "ਸੈਕੰਡਰੀ ਕਰਸਰ ਕਿਸਮ" -#. Description of --gdk-no-debug=FLAGS in --help output -#: ../gdk/gdk.c:213 -msgid "GDK debugging flags to unset" -msgstr "ਅਣ-ਸੈੱਟ ਕਰਨ ਲਈ GDK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" +#: ../gdk/gdkcursor.c:137 +msgid "Display of this cursor" +msgstr "ਇਹ ਕਰਸਰ ਵੇਖੋ" -#: ../gdk/keyname-table.h:3940 -msgctxt "keyboard label" -msgid "BackSpace" -msgstr "ਪਿੱਛੇ-ਸਪੇਸ" +#: ../gdk/gdkdevice.c:111 +msgid "Device Display" +msgstr "ਜੰਤਰ ਡਿਸਪਲੇਅ" -#: ../gdk/keyname-table.h:3941 -msgctxt "keyboard label" -msgid "Tab" -msgstr "ਟੈਬ" +#: ../gdk/gdkdevice.c:112 +msgid "Display which the device belongs to" +msgstr "ਡਿਸਪਲੇਅ, ਜਿਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਹੈ" -#: ../gdk/keyname-table.h:3942 -msgctxt "keyboard label" -msgid "Return" -msgstr "ਵਾਪਸ" +#: ../gdk/gdkdevice.c:126 +msgid "Device manager" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ" -#: ../gdk/keyname-table.h:3943 -msgctxt "keyboard label" -msgid "Pause" -msgstr "ਵਿਰਾਮ" +#: ../gdk/gdkdevice.c:127 +msgid "Device manager which the device belongs to" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ, ਜਿਸ ਨਾਲ ਜੰਤਰ ਸਬੰਧਿਤ ਹੈ" -#: ../gdk/keyname-table.h:3944 -msgctxt "keyboard label" -msgid "Scroll_Lock" -msgstr "ਸਕਰੋਲ ਤਾਲਾ(_L)" +#: ../gdk/gdkdevice.c:141 ../gdk/gdkdevice.c:142 +msgid "Device name" +msgstr "ਜੰਤਰ ਨਾਂ" -#: ../gdk/keyname-table.h:3945 -msgctxt "keyboard label" -msgid "Sys_Req" -msgstr "Sys_Req" +#: ../gdk/gdkdevice.c:156 +msgid "Device type" +msgstr "ਜੰਤਰ ਕਿਸਮ" -#: ../gdk/keyname-table.h:3946 -msgctxt "keyboard label" -msgid "Escape" -msgstr "ਇਸਕੇਪ" +#: ../gdk/gdkdevice.c:157 +msgid "Device role in the device manager" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਵਿੱਚ ਜੰਤਰ ਰੋਲ" -#: ../gdk/keyname-table.h:3947 -msgctxt "keyboard label" -msgid "Multi_key" -msgstr "ਬਹੁ-ਕੁੰਜੀ" +#: ../gdk/gdkdevice.c:173 +msgid "Associated device" +msgstr "ਸਬੰਧਿਤ ਜੰਤਰ" -#: ../gdk/keyname-table.h:3948 -msgctxt "keyboard label" -msgid "Home" -msgstr "ਘਰ" +#: ../gdk/gdkdevice.c:174 +msgid "Associated pointer or keyboard with this device" +msgstr "ਇਸ ਜੰਤਰ ਨਾਲ ਸਬੰਧਿਤ ਪੁਆਇੰਟਰ ਜਾਂ ਕੀਬੋਰਡ" -#: ../gdk/keyname-table.h:3949 -msgctxt "keyboard label" -msgid "Left" -msgstr "ਖੱਬੇ" +#: ../gdk/gdkdevice.c:187 +msgid "Input source" +msgstr "ਇੰਪੁੱਟ ਸਰੋਤ" -#: ../gdk/keyname-table.h:3950 -msgctxt "keyboard label" -msgid "Up" -msgstr "ਉੱਤੇ" +#: ../gdk/gdkdevice.c:188 +msgid "Source type for the device" +msgstr "ਜੰਤਰ ਲਈ ਸਰੋਤ ਕਿਸਮ" -#: ../gdk/keyname-table.h:3951 -msgctxt "keyboard label" -msgid "Right" -msgstr "ਸੱਜੇ" +#: ../gdk/gdkdevice.c:203 ../gdk/gdkdevice.c:204 +msgid "Input mode for the device" +msgstr "ਜੰਤਰ ਲਈ ਇੰਪੁੱਟ ਮੋਡ" -#: ../gdk/keyname-table.h:3952 -msgctxt "keyboard label" -msgid "Down" -msgstr "ਹੇਠਾਂ" +#: ../gdk/gdkdevice.c:219 +msgid "Whether the device has a cursor" +msgstr "ਕੀ ਜੰਤਰ ਲਈ ਕਰਸਰ ਹੈ" -#: ../gdk/keyname-table.h:3953 -msgctxt "keyboard label" -msgid "Page_Up" -msgstr "ਸਫ਼ਾ ਥੱਲੇ(_U)" +#: ../gdk/gdkdevice.c:220 +msgid "Whether there is a visible cursor following device motion" +msgstr "ਕੀ ਅੱਗੇ ਦਿੱਤੀ ਜੰਤਰ ਹਲਚਲ ਲਈ ਦਿੱਖ ਕਰਸਰ ਹੈ" -#: ../gdk/keyname-table.h:3954 -msgctxt "keyboard label" -msgid "Page_Down" -msgstr "ਸਫ਼ਾ ਹੇਠਾਂ(_D)" +#: ../gdk/gdkdevice.c:234 ../gdk/gdkdevice.c:235 +msgid "Number of axes in the device" +msgstr "ਜੰਤਰ ਵਿੱਚ ਧੁਰਿਆਂ ਦੀ ਗਿਣਤੀ" -#: ../gdk/keyname-table.h:3955 -msgctxt "keyboard label" -msgid "End" -msgstr "ਅੰਤ" +#: ../gdk/gdkdevicemanager.c:147 +msgid "Display for the device manager" +msgstr "ਜੰਤਰ ਮੈਨੇਜਰ ਲਈ ਡਿਸਪਲੇਅ" -#: ../gdk/keyname-table.h:3956 -msgctxt "keyboard label" -msgid "Begin" -msgstr "ਸ਼ੁਰੂ" +#: ../gdk/gdkdisplaymanager.c:117 +msgid "Default Display" +msgstr "ਡਿਫਾਲਟ ਡਿਸਪਲੇਅ" -#: ../gdk/keyname-table.h:3957 -msgctxt "keyboard label" -msgid "Print" -msgstr "ਛਾਪੋ" +#: ../gdk/gdkdisplaymanager.c:118 +msgid "The default display for GDK" +msgstr "GDK ਲਈ ਡਿਫਾਲਟ ਡਿਸਪਲੇਅ" -#: ../gdk/keyname-table.h:3958 -msgctxt "keyboard label" -msgid "Insert" -msgstr "ਸ਼ਾਮਲ" +#: ../gdk/gdkscreen.c:89 +msgid "Font options" +msgstr "ਫੋਂਟ ਚੋਣਾਂ" -#: ../gdk/keyname-table.h:3959 -msgctxt "keyboard label" -msgid "Num_Lock" -msgstr "ਨਮ ਤਾਲਾ(_L)" +#: ../gdk/gdkscreen.c:90 +msgid "The default font options for the screen" +msgstr "ਸਕਰੀਨ ਲਈ ਡਿਫਾਲਟ ਫੋਂਟ ਚੋਣਾਂ" -#: ../gdk/keyname-table.h:3960 -msgctxt "keyboard label" -msgid "KP_Space" -msgstr "KP_Space" +#: ../gdk/gdkscreen.c:97 +msgid "Font resolution" +msgstr "ਫੋਂਟ ਰੈਜ਼ੋਲੂਸ਼ਨ" -#: ../gdk/keyname-table.h:3961 -msgctxt "keyboard label" -msgid "KP_Tab" -msgstr "KP_Tab" +#: ../gdk/gdkscreen.c:98 +msgid "The resolution for fonts on the screen" +msgstr "ਸਕਰੀਨ ਉੱਤੇ ਫੋਂਟਾਂ ਲਈ ਰੈਜ਼ੋਲੂਸ਼ਨ ਹੈ" -#: ../gdk/keyname-table.h:3962 -msgctxt "keyboard label" -msgid "KP_Enter" -msgstr "KP_Enter" +#: ../gdk/gdkwindow.c:373 ../gdk/gdkwindow.c:374 +msgid "Cursor" +msgstr "ਕਰਸਰ" -#: ../gdk/keyname-table.h:3963 -msgctxt "keyboard label" -msgid "KP_Home" -msgstr "KP_Home" +#: ../gdk/x11/gdkdevice-xi.c:133 ../gdk/x11/gdkdevice-xi.c:134 +#: ../gdk/x11/gdkdevice-xi2.c:123 +msgid "Device ID" +msgstr "ਜੰਤਰ ID" -#: ../gdk/keyname-table.h:3964 -msgctxt "keyboard label" -msgid "KP_Left" -msgstr "KP_Left" +#: ../gdk/x11/gdkdevice-xi2.c:124 +msgid "Device identifier" +msgstr "ਜੰਤਰ ਪਛਾਣਕਰਤਾ" -#: ../gdk/keyname-table.h:3965 -msgctxt "keyboard label" -msgid "KP_Up" -msgstr "KP_Up" +#: ../gdk/x11/gdkdevicemanager-xi2.c:115 +msgid "Opcode" +msgstr "Opcode" -#: ../gdk/keyname-table.h:3966 -msgctxt "keyboard label" -msgid "KP_Right" -msgstr "KP_Right" +#: ../gdk/x11/gdkdevicemanager-xi2.c:116 +msgid "Opcode for XInput2 requests" +msgstr "XInput2 ਈਵੈਂਟ ਲਈ Opcode" -#: ../gdk/keyname-table.h:3967 -msgctxt "keyboard label" -msgid "KP_Down" -msgstr "KP_Down" +#: ../gdk/x11/gdkdevicemanager-xi.c:95 +msgid "Event base" +msgstr "ਈਵੈਂਟ ਬੇਸ" -#: ../gdk/keyname-table.h:3968 -msgctxt "keyboard label" -msgid "KP_Page_Up" -msgstr "KP_Page_Up" +#: ../gdk/x11/gdkdevicemanager-xi.c:96 +msgid "Event base for XInput events" +msgstr "XInput ਈਵੈਂਟ ਲਈ ਈਵੈਂਟ ਬੇਸ" -#: ../gdk/keyname-table.h:3969 -msgctxt "keyboard label" -msgid "KP_Prior" -msgstr "KP_Prior" +#: ../gtk/gtkaboutdialog.c:276 +msgid "Program name" +msgstr "ਪਰੋਗਰਾਮ ਨਾਂ" -#: ../gdk/keyname-table.h:3970 -msgctxt "keyboard label" -msgid "KP_Page_Down" -msgstr "KP_Page_Down" - -#: ../gdk/keyname-table.h:3971 -msgctxt "keyboard label" -msgid "KP_Next" -msgstr "KP_Next" - -#: ../gdk/keyname-table.h:3972 -msgctxt "keyboard label" -msgid "KP_End" -msgstr "KP_End" - -#: ../gdk/keyname-table.h:3973 -msgctxt "keyboard label" -msgid "KP_Begin" -msgstr "KP_Begin" - -#: ../gdk/keyname-table.h:3974 -msgctxt "keyboard label" -msgid "KP_Insert" -msgstr "KP_Insert" - -#: ../gdk/keyname-table.h:3975 -msgctxt "keyboard label" -msgid "KP_Delete" -msgstr "KP_Delete" - -#: ../gdk/keyname-table.h:3976 -msgctxt "keyboard label" -msgid "Delete" -msgstr "ਹਟਾਓ" - -#. Description of --sync in --help output -#: ../gdk/win32/gdkmain-win32.c:55 -msgid "Don't batch GDI requests" -msgstr "GDI ਬੇਨਤੀਆਂ ਨੂੰ ਇੱਕ ਨਾਲ ਨਾ ਕਰੋ" - -#. Description of --no-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:57 -msgid "Don't use the Wintab API for tablet support" -msgstr "Wintab API ਨੂੰ ਟੈਬਲਿਟ ਸਹਿਯੋਗ ਲਈ ਨਾ ਵਰਤੋਂ" - -#. Description of --ignore-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:59 -msgid "Same as --no-wintab" -msgstr "--no-wintab ਵਾਂਗ ਹੀ" - -#. Description of --use-wintab in --help output -#: ../gdk/win32/gdkmain-win32.c:61 -msgid "Do use the Wintab API [default]" -msgstr "Wintab API [ਡਿਫਾਲਟ] ਨੂੰ ਇਸਤੇਮਾਲ ਨਾ ਕਰੋ" - -#. Description of --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:63 -msgid "Size of the palette in 8 bit mode" -msgstr "8 ਬਿੱਟ ਮੋਡ ਵਿੱਚ ਰੰਗ-ਪੱਟੀ ਦਾ ਆਕਾਰ" - -#. Placeholder in --max-colors=COLORS in --help output -#: ../gdk/win32/gdkmain-win32.c:64 -msgid "COLORS" -msgstr "ਰੰਗ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:294 -#, c-format -msgid "Starting %s" -msgstr "%s ਸ਼ੁਰੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:307 -#, c-format -msgid "Opening %s" -msgstr "%s ਖੋਲ੍ਹਿਆ ਜਾ ਸਕਿਆ" - -#: ../gdk/x11/gdkapplaunchcontext-x11.c:312 -#, c-format -msgid "Opening %d Item" -msgid_plural "Opening %d Items" -msgstr[0] "%d ਇਕਾਈ ਖੋਲ੍ਹੀ ਜਾ ਰਹੀ ਹੈ" -msgstr[1] "%d ਇਕਾਈਆਂ ਖੋਲ੍ਹੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" - -#. Translators: this is the license preamble; the string at the end -#. * contains the URL of the license. -#. -#: ../gtk/gtkaboutdialog.c:104 -#, c-format -#| msgid "" -#| "This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" +#: ../gtk/gtkaboutdialog.c:277 msgid "" -"This program comes with ABSOLUTELY NO WARRANTY; for details, visit %s" -msgstr "ਇਹ ਪਰੋਗਰਾਮ ਦੀ *ਕੋਈ ਵੀ ਵਾਰੰਟੀ* ਨਹੀਂ ਹੈ; ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਲਈ,%s ਵੇਖੋ।" - -#: ../gtk/gtkaboutdialog.c:346 -msgid "License" -msgstr "ਲਾਈਸੈਂਸ" - -#: ../gtk/gtkaboutdialog.c:347 -msgid "The license of the program" -msgstr "ਪਰੋਗਰਾਮ ਦਾ ਲਾਈਸੈਂਸ" - -#. Add the credits button -#: ../gtk/gtkaboutdialog.c:739 -msgid "C_redits" -msgstr "ਮਾਣ(_r)" - -#. Add the license button -#: ../gtk/gtkaboutdialog.c:752 -msgid "_License" -msgstr "ਲਾਈਸੈਂਸ(_L)" - -#: ../gtk/gtkaboutdialog.c:957 -msgid "Could not show link" -msgstr "ਲਿੰਕ ਵੇਖਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#: ../gtk/gtkaboutdialog.c:994 -#| msgctxt "keyboard label" -#| msgid "Home" -msgid "Homepage" -msgstr "ਮੁੱਖ ਸਫ਼ਾ" - -#: ../gtk/gtkaboutdialog.c:1048 -#, c-format -msgid "About %s" -msgstr "%s ਬਾਰੇ" - -#: ../gtk/gtkaboutdialog.c:2372 -#| msgid "C_reate" -msgid "Created by" -msgstr "ਬਣਾਇਆ" - -#: ../gtk/gtkaboutdialog.c:2375 -msgid "Documented by" -msgstr "ਦਸਤਾਵੇਜ਼ ਲਿਖੇ" - -#: ../gtk/gtkaboutdialog.c:2385 -msgid "Translated by" -msgstr "ਅਨੁਵਾਦ ਕੀਤਾ" - -#: ../gtk/gtkaboutdialog.c:2390 -msgid "Artwork by" -msgstr "ਕਲਾਕਾਰੀ" - -#. This is the text that should appear next to menu accelerators -#. * that use the shift key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:158 -msgctxt "keyboard label" -msgid "Shift" -msgstr "ਸਿਫਟ" - -#. This is the text that should appear next to menu accelerators -#. * that use the control key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:164 -msgctxt "keyboard label" -msgid "Ctrl" -msgstr "ਕੰਟਰੋਲ" - -#. This is the text that should appear next to menu accelerators -#. * that use the alt key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:170 -msgctxt "keyboard label" -msgid "Alt" -msgstr "ਆਲਟ" - -#. This is the text that should appear next to menu accelerators -#. * that use the super key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:768 -msgctxt "keyboard label" -msgid "Super" -msgstr "ਸੁਪਰ" - -#. This is the text that should appear next to menu accelerators -#. * that use the hyper key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:781 -msgctxt "keyboard label" -msgid "Hyper" -msgstr "ਹਾਈਪਰ" - -#. This is the text that should appear next to menu accelerators -#. * that use the meta key. If the text on this key isn't typically -#. * translated on keyboards used for your language, don't translate -#. * this. -#. -#: ../gtk/gtkaccellabel.c:795 -msgctxt "keyboard label" -msgid "Meta" -msgstr "ਮੇਟਾ" - -#: ../gtk/gtkaccellabel.c:811 -msgctxt "keyboard label" -msgid "Space" -msgstr "ਖਾਲੀ ਥਾਂ" - -#: ../gtk/gtkaccellabel.c:814 -msgctxt "keyboard label" -msgid "Backslash" -msgstr "ਪਿੱਛੇ ਡੰਡਾ" - -#: ../gtk/gtkappchooserbutton.c:251 -#| msgid "Application" -msgid "Other application..." -msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ..." - -#: ../gtk/gtkappchooserdialog.c:115 -msgid "Failed to look for applications online" -msgstr "ਆਨਲਾਈਨ ਐਪਲੀਕੇਸ਼ਨ ਲੱਭਣ ਲਈ ਫੇਲ੍ਹ" - -#: ../gtk/gtkappchooserdialog.c:152 -msgid "Find applications online" -msgstr "ਐਪਲੀਕੇਸ਼ਨ ਆਨਲਾਈਨ ਲੱਭੋ" - -#: ../gtk/gtkappchooserdialog.c:196 -#| msgid "Could not clear list" -msgid "Could not run application" -msgstr "ਐਪਲੀਕੇਸ਼ਨ ਚਲਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" - -#: ../gtk/gtkappchooserdialog.c:209 -#, c-format -#| msgid "Could not mount %s" -msgid "Could not find '%s'" -msgstr "'%s' ਲੱਭੀ ਨਹੀਂ ਜਾ ਸਕੀ" - -#: ../gtk/gtkappchooserdialog.c:212 -#| msgid "Could not show link" -msgid "Could not find application" -msgstr "ਐਪਲੀਕੇਸ਼ਨ ਲੱਭੀ ਨਹੀਂ ਜਾ ਸਕੀ" - -#. Translators: %s is a filename -#: ../gtk/gtkappchooserdialog.c:322 -#, c-format -msgid "Select an application to open \"%s\"" -msgstr "\"%s\" ਖੋਲ੍ਹਣ ਲਈ ਐਪਲੀਕੇਸ਼ਣ ਚੁਣੋ।" - -#: ../gtk/gtkappchooserdialog.c:323 ../gtk/gtkappchooserwidget.c:633 -#, c-format -msgid "No applications available to open \"%s\"" -msgstr "\"%s\" ਖੋਲ੍ਹਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ" - -#. Translators: %s is a file type description -#: ../gtk/gtkappchooserdialog.c:329 -#, c-format -msgid "Select an application for \"%s\" files" -msgstr "\"%s\" ਫਾਇਲਾਂ ਲਈ ਐਪਲੀਕੇਸ਼ਨ ਚੁਣੋ" - -#: ../gtk/gtkappchooserdialog.c:332 -#, c-format -msgid "No applications available to open \"%s\" files" -msgstr "\"%s\" ਫਾਇਲਾਂ ਖੋਲ੍ਹਣ ਲਈ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਉਪਲਬੱਧ ਨਹੀਂ" - -#: ../gtk/gtkappchooserdialog.c:346 -msgid "" -"Click \"Show other applications\", for more options, or \"Find applications " -"online\" to install a new application" +"The name of the program. If this is not set, it defaults to " +"g_get_application_name()" msgstr "" -"ਹੋਰ ਚੋਣਾਂ ਲਈ \"ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖੋ\" ਕਲਿੱਕ ਕਰੋ, ਜਾਂ ਨਵੀਂ ਐਪਲੀਕੇਸ਼ਨ ਇੰਸਟਾਲ ਕਰਨ ਲਈ " -"\"ਐਪਲੀਕੇਸ਼ਨ ਆਨਲਾਈਨ ਲੱਭੋ\"" +"ਪਰੋਗਰਾਮ ਦਾ ਨਾਂ ਹੈ। ਜੇਕਰ ਇਹ ਨਾ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਡਿਫਾਲਟ g_get_application_name() " +"ਹੋਵੇਗਾ।" -#: ../gtk/gtkappchooserdialog.c:416 -#| msgid "Forget password _immediately" -msgid "Forget association" -msgstr "ਸਬੰਧ ਭੁੱਲ ਜਾਓ" +#: ../gtk/gtkaboutdialog.c:291 +msgid "Program version" +msgstr "ਪਰੋਗਰਾਮ ਵਰਜਨ" -#: ../gtk/gtkappchooserdialog.c:481 -#| msgid "Show GTK+ Options" -msgid "Show other applications" -msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" +#: ../gtk/gtkaboutdialog.c:292 +msgid "The version of the program" +msgstr "ਪਰੋਗਰਾਮ ਦਾ ਵਰਜਨ ਹੈ" -#: ../gtk/gtkappchooserdialog.c:499 -#| msgctxt "Stock label" -#| msgid "_Open" -msgid "_Open" -msgstr "ਖੋਲ੍ਹੋ(_O)" +#: ../gtk/gtkaboutdialog.c:306 +msgid "Copyright string" +msgstr "ਕਾਪੀਰਾਈਟ ਲਾਈਨ" -#: ../gtk/gtkappchooserwidget.c:582 -#| msgid "Application" -msgid "Default Application" -msgstr "ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ" +#: ../gtk/gtkaboutdialog.c:307 +msgid "Copyright information for the program" +msgstr "ਪਰੋਗਰਾਮ ਬਾਰੇ ਕਾਪੀਰਾਈਟ ਜਾਣਕਾਰੀ ਹੈ" -#: ../gtk/gtkappchooserwidget.c:718 -#| msgid "Application" -msgid "Recommended Applications" -msgstr "ਸਿਫਾਰਸ਼ੀ ਐਪਲੀਕੇਸ਼ਨ" +#: ../gtk/gtkaboutdialog.c:324 +msgid "Comments string" +msgstr "ਟਿੱਪਣੀ ਲਾਈਨ" -#: ../gtk/gtkappchooserwidget.c:732 -#| msgid "Application" -msgid "Related Applications" -msgstr "ਸਬੰਧਿਤ ਐਪਲੀਕੇਸ਼ਨ" +#: ../gtk/gtkaboutdialog.c:325 +msgid "Comments about the program" +msgstr "ਪਰੋਗਰਾਮ ਬਾਰੇ ਟਿੱਪਣੀ ਹੈ।" -#: ../gtk/gtkappchooserwidget.c:745 -#| msgid "Application" -msgid "Other Applications" -msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ" +#: ../gtk/gtkaboutdialog.c:375 +msgid "License Type" +msgstr "ਲਾਈਸੈਂਸ ਕਿਸਮ" -#: ../gtk/gtkbuilderparser.c:342 -#, c-format -msgid "Invalid type function on line %d: '%s'" -msgstr "ਲਾਈਨ %d ਉੱਤੇ ਗਲਤ ਟਾਈਪ ਫੰਕਸ਼ਨ: '%s'" +#: ../gtk/gtkaboutdialog.c:376 +msgid "The license type of the program" +msgstr "ਪਰੋਗਰਾਮ ਲਈ ਲਾਈਸੈਂਸ ਕਿਸਮ" -#: ../gtk/gtkbuilderparser.c:406 -#, c-format -msgid "Duplicate object ID '%s' on line %d (previously on line %d)" -msgstr "ਲਾਈਨ %2$d ਉੱਤੇ ਡੁਪਲੀਕੇਟ ਆਬਜੈਕਟ ID '%1$s' (ਲਾਈਨ %3$d ਉੱਤੇ ਪਿੱਛੇ)" +#: ../gtk/gtkaboutdialog.c:392 +msgid "Website URL" +msgstr "ਵੈਬਸਾਇਟ URL" -#: ../gtk/gtkbuilderparser.c:858 -#, c-format -msgid "Invalid root element: '%s'" -msgstr "ਗਲਤ root ਐਲੀਮੈਂਟ: '%s'" +#: ../gtk/gtkaboutdialog.c:393 +msgid "The URL for the link to the website of the program" +msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈੱਬ ਸਾਇਟ ਨਾਲ ਸਬੰਧਤ URL ਹੈ" -#: ../gtk/gtkbuilderparser.c:897 -#, c-format -msgid "Unhandled tag: '%s'" -msgstr "ਅਣ-ਹੈਂਡਲ ਟੈਗ: '%s'" +#: ../gtk/gtkaboutdialog.c:407 +msgid "Website label" +msgstr "ਵੈਬਸਾਇਟ ਲੇਬਲ" -#. Translate to calendar:YM if you want years to be displayed -#. * before months; otherwise translate to calendar:MY. -#. * Do *not* translate it to anything else, if it -#. * it isn't calendar:YM or calendar:MY it will not work. -#. * -#. * Note that the ordering described here is logical order, which is -#. * further influenced by BIDI ordering. Thus, if you have a default -#. * text direction of RTL and specify "calendar:YM", then the year -#. * will appear to the right of the month. -#. -#: ../gtk/gtkcalendar.c:885 -msgid "calendar:MY" -msgstr "calendar:MY" +#: ../gtk/gtkaboutdialog.c:408 +msgid "The label for the link to the website of the program" +msgstr "ਪਰੋਗਰਾਮ ਦੀ ਵੈੱਬ ਸਾਇਟ ਨਾਲ ਲਿੰਕ ਲਈ ਲੇਬਲ ਹੈ" -#. Translate to calendar:week_start:0 if you want Sunday to be the -#. * first day of the week to calendar:week_start:1 if you want Monday -#. * to be the first day of the week, and so on. -#. -#: ../gtk/gtkcalendar.c:923 -msgid "calendar:week_start:0" -msgstr "calendar:week_start:1" +#: ../gtk/gtkaboutdialog.c:424 +msgid "Authors" +msgstr "ਲੇਖਕ" -#. Translators: This is a text measurement template. -#. * Translate it to the widest year text -#. * -#. * If you don't understand this, leave it as "2000" -#. -#: ../gtk/gtkcalendar.c:1903 -msgctxt "year measurement template" -msgid "2000" -msgstr "2000" +#: ../gtk/gtkaboutdialog.c:425 +msgid "List of authors of the program" +msgstr "ਪਰੋਗਰਾਮ ਦੇ ਲੇਖਕਾਂ ਦੀ ਲਿਸਟ" -#. Translators: this defines whether the day numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1934 ../gtk/gtkcalendar.c:2623 -#, c-format -msgctxt "calendar:day:digits" -msgid "%d" -msgstr "%Id" +#: ../gtk/gtkaboutdialog.c:441 +msgid "Documenters" +msgstr "ਦਸਤਾਵੇਜ਼ ਲੇਖਕ" -#. Translators: this defines whether the week numbers should use -#. * localized digits or the ones used in English (0123...). -#. * -#. * Translate to "%Id" if you want to use localized digits, or -#. * translate to "%d" otherwise. -#. * -#. * Note that translating this doesn't guarantee that you get localized -#. * digits. That needs support from your system and locale definition -#. * too. -#. -#: ../gtk/gtkcalendar.c:1966 ../gtk/gtkcalendar.c:2491 -#, c-format -msgctxt "calendar:week:digits" -msgid "%d" -msgstr "%Id" +#: ../gtk/gtkaboutdialog.c:442 +msgid "List of people documenting the program" +msgstr "ਪਰੋਗਰਾਮ ਦੇ ਦਸਤਾਵੇਜ਼ ਲਿਖਣ ਵਾਲੇ ਲੇਖਕਾਂ ਦੀ ਲਿਸਟ" -#. Translators: This dictates how the year is displayed in -#. * gtkcalendar widget. See strftime() manual for the format. -#. * Use only ASCII in the translation. -#. * -#. * Also look for the msgid "2000". -#. * Translate that entry to a year with the widest output of this -#. * msgid. -#. * -#. * "%Y" is appropriate for most locales. -#. -#: ../gtk/gtkcalendar.c:2256 -msgctxt "calendar year format" -msgid "%Y" -msgstr "%Y" +#: ../gtk/gtkaboutdialog.c:458 +msgid "Artists" +msgstr "ਕਲਾਕਾਰ" -#. This label is displayed in a treeview cell displaying -#. * a disabled accelerator key combination. -#. -#: ../gtk/gtkcellrendereraccel.c:271 -msgctxt "Accelerator" -msgid "Disabled" -msgstr "ਆਯੋਗ" +#: ../gtk/gtkaboutdialog.c:459 +msgid "List of people who have contributed artwork to the program" +msgstr "ਪਰੋਗਰਾਮ ਵਿੱਚ ਕਲਾਕਾਰੀ ਕਰਨ ਵਾਲੇ ਲੋਕਾਂ ਦੀ ਲਿਸਟ" -#. This label is displayed in a treeview cell displaying -#. * an accelerator key combination that is not valid according -#. * to gtk_accelerator_valid(). -#. -#: ../gtk/gtkcellrendereraccel.c:281 -msgctxt "Accelerator" -msgid "Invalid" -msgstr "ਅਢੁੱਕਵਾਂ" +#: ../gtk/gtkaboutdialog.c:476 +msgid "Translator credits" +msgstr "ਅਨੁਵਾਦ ਮਾਣ" -#. This label is displayed in a treeview cell displaying -#. * an accelerator when the cell is clicked to change the -#. * acelerator. -#. -#: ../gtk/gtkcellrendereraccel.c:417 ../gtk/gtkcellrendereraccel.c:674 -msgid "New accelerator..." -msgstr "ਨਵਾਂ ਪਰਵੇਸ਼ਕ..." - -#: ../gtk/gtkcellrendererprogress.c:362 ../gtk/gtkcellrendererprogress.c:452 -#, c-format -msgctxt "progress bar label" -msgid "%d %%" -msgstr "%d %%" - -#: ../gtk/gtkcolorbutton.c:187 ../gtk/gtkcolorbutton.c:477 -msgid "Pick a Color" -msgstr "ਇੱਕ ਰੰਗ ਚੁਣੋ" - -#: ../gtk/gtkcolorbutton.c:366 -msgid "Received invalid color data\n" -msgstr "ਗਲਤ ਰੰਗ ਡਾਟਾ ਮਿਲਿਆ\n" - -#: ../gtk/gtkcolorsel.c:415 +#: ../gtk/gtkaboutdialog.c:477 msgid "" -"Select the color you want from the outer ring. Select the darkness or " -"lightness of that color using the inner triangle." +"Credits to the translators. This string should be marked as translatable" +msgstr "ਅਨੁਵਾਦ ਕਰਨ ਵਾਲਿਆਂ ਦਾ ਨਾਂ ਹੈ। ਇਹ ਅਨੁਵਾਦ ਯੋਗ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।" + +#: ../gtk/gtkaboutdialog.c:492 +msgid "Logo" +msgstr "ਲੋਗੋ" + +#: ../gtk/gtkaboutdialog.c:493 +msgid "" +"A logo for the about box. If this is not set, it defaults to " +"gtk_window_get_default_icon_list()" msgstr "" -"ਬਾਹਰੀ ਚੱਕਰ ਵਿੱਚ ਰੰਗ, ਜੋ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਨੂੰ ਚੁਣੋ। ਅੰਦਰੂਨੀ ਤਿਕੋਣ ਨਾਲ ਰੰਗ ਦਾ ਗੂੜਾਪਨ ਜਾਂ ਫਿੱਕਾਪਨ " -"ਦਿਓ।" +"ਇਸ ਬਾਰੇ ਬਕਸੇ ਲਈ ਇੱਕ ਲੋਗੋ ਹੈ। ਜੇਕਰ ਇਹ ਨਾ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਮੂਲ " +"gtk_window_get_default_icon_list() ਵਰਤਿਆ ਜਾਵੇਗਾ।" -#: ../gtk/gtkcolorsel.c:439 -msgid "" -"Click the eyedropper, then click a color anywhere on your screen to select " -"that color." -msgstr "ਆਈਡਰਾਪਰ ਦਬਾਉ, ਤਦ ਇੱਕ ਰੰਗ ਚੁਣਨ ਲਈ ਆਪਣੀ ਸਕਰੀਨ ਉੱਤੇ ਕਿਸੇ ਵੀ ਰੰਗ 'ਤੇ ਦਬਾਓ।" +#: ../gtk/gtkaboutdialog.c:508 +msgid "Logo Icon Name" +msgstr "ਲੋਗੋ ਆਈਕਾਨ ਨਾਂ" -#: ../gtk/gtkcolorsel.c:448 -msgid "_Hue:" -msgstr "ਆਭਾ(_H):" +#: ../gtk/gtkaboutdialog.c:509 +msgid "A named icon to use as the logo for the about box." +msgstr "ਇਸ ਬਾਰੇ ਲੋਗੋ ਵਿੱਚ ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਲੋਗੋ ਹੈ।" -#: ../gtk/gtkcolorsel.c:449 -msgid "Position on the color wheel." -msgstr "ਰੰਗ ਚੱਕਰ 'ਤੇ ਟਿਕਾਣਾ ਹੈ।" +#: ../gtk/gtkaboutdialog.c:522 +msgid "Wrap license" +msgstr "ਲਾਈਸੈਂਸ ਸਮੇਟਣਾ" -#: ../gtk/gtkcolorsel.c:451 -msgid "_Saturation:" -msgstr "ਸੰਤ੍ਰਿਪਤ(_S):" +#: ../gtk/gtkaboutdialog.c:523 +msgid "Whether to wrap the license text." +msgstr "ਕੀ ਲਾਈਸੈਂਸ ਟੈਕਸਟ ਨੂੰ ਸਮੇਟਣਾ ਹੈ।" -#: ../gtk/gtkcolorsel.c:452 -msgid "Intensity of the color." -msgstr "ਰੰਗ ਦੀ ਤੀਬਰਤਾ ਹੈ।" +#: ../gtk/gtkaccellabel.c:187 +msgid "Accelerator Closure" +msgstr "ਐਕਸਰਲੇਟਰ ਬੰਦ" -#: ../gtk/gtkcolorsel.c:453 -msgid "_Value:" -msgstr "ਮੁੱਲ(_V):" +#: ../gtk/gtkaccellabel.c:188 +msgid "The closure to be monitored for accelerator changes" +msgstr "ਐਕਸਰਲੇਟਰ ਤਬਦੀਲੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਲਈ ਸਬੰਧ" -#: ../gtk/gtkcolorsel.c:454 -msgid "Brightness of the color." -msgstr "ਰੰਗ ਦੀ ਚਮਕ ਹੈ।" +#: ../gtk/gtkaccellabel.c:194 +msgid "Accelerator Widget" +msgstr "ਐਕਸਰਲੇਟਰ ਵਿਦਗਿਟ" -#: ../gtk/gtkcolorsel.c:455 -msgid "_Red:" -msgstr "ਲਾਲ(_R):" +#: ../gtk/gtkaccellabel.c:195 +msgid "The widget to be monitored for accelerator changes" +msgstr "ਐਕਸਰਲੇਟਰ ਤਬਦੀਲੀਆਂ ਦੀ ਨਿਗਰਾਨੀ ਲਈ ਵਿਦਗਿਟ" -#: ../gtk/gtkcolorsel.c:456 -msgid "Amount of red light in the color." -msgstr "ਰੰਗ ਵਿੱਚ ਲਾਲ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਹੈ।" - -#: ../gtk/gtkcolorsel.c:457 -msgid "_Green:" -msgstr "ਹਰਾ(_G):" - -#: ../gtk/gtkcolorsel.c:458 -msgid "Amount of green light in the color." -msgstr "ਰੰਗ ਵਿੱਚ ਹਰੀ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਹੈ।" - -#: ../gtk/gtkcolorsel.c:459 -msgid "_Blue:" -msgstr "ਨੀਲਾ(_B):" - -#: ../gtk/gtkcolorsel.c:460 -msgid "Amount of blue light in the color." -msgstr "ਰੰਗ ਵਿੱਚ ਨੀਲੀ ਰੋਸ਼ਨੀ ਦੀ ਮਾਤਰਾ ਹੈ।" - -#: ../gtk/gtkcolorsel.c:463 -msgid "Op_acity:" -msgstr "ਧੁੰਦਲਾਪਨ(_a):" - -#: ../gtk/gtkcolorsel.c:470 ../gtk/gtkcolorsel.c:480 -msgid "Transparency of the color." -msgstr "ਰੰਗ ਦੀ ਪਾਰਦਰਸ਼ਤਾ ਹੈ।" - -#: ../gtk/gtkcolorsel.c:487 -msgid "Color _name:" -msgstr "ਰੰਗ ਨਾਂ(_N):" - -#: ../gtk/gtkcolorsel.c:501 -msgid "" -"You can enter an HTML-style hexadecimal color value, or simply a color name " -"such as 'orange' in this entry." -msgstr "" -"ਤੁਸੀਂ ਇਸ ਐਂਟਰੀ ਵਿੱਚ HTML-ਸਟਾਇਲ ਵਾਂਗ ਹੈਕਸਾਡੈਸੀਮਲ ਮੁੱਲ ਵੀ ਦੇ ਸਕਦੇ ਹੋ ਜਾਂ ਰੰਗ ਦਾ ਨਾਂ ਵੀ ਭਰ ਸਕਦੇ " -"ਹੋ, ਜਿਵੇਂ ਕਿ 'ਲਾਲ'।" - -#: ../gtk/gtkcolorsel.c:531 -msgid "_Palette:" -msgstr "ਰੰਗ-ਪੱਟੀ(_P):" - -#: ../gtk/gtkcolorsel.c:560 -msgid "Color Wheel" -msgstr "ਰੰਗ ਚੱਕਰ" - -#: ../gtk/gtkcolorsel.c:1033 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now. You can drag this color to a palette entry, or select this color as " -"current by dragging it to the other color swatch alongside." -msgstr "" -"ਪਹਿਲਾਂ ਚੁਣਿਆ ਰੰਗ, ਮੌਜੂਦਾ ਤੁਹਾਡੇ ਰਾਹੀਂ ਰੰਗ ਦੇ ਮੁਕਾਬਲੇ। ਤੁਸੀਂ ਇਸ ਰੰਗ ਨੂੰ ਰੰਗ-ਪੱਟੀ ਐਂਟਰੀ ਵਿੱਚ ਸੁੱਟ ਸਕਦੇ " -"ਹੋ ਜਾਂ ਇਸ ਰੰਗ ਨੂੰ ਰੰਗ ਸਵਿੱਚ ਵਿੱਚ ਰੱਖ ਸਕਦੇ ਹੋ।" - -#: ../gtk/gtkcolorsel.c:1036 -msgid "" -"The color you've chosen. You can drag this color to a palette entry to save " -"it for use in the future." -msgstr "" -"ਰੰਗ ਜੋ ਤੁਸੀਂ ਚੁਣਿਆ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਰੰਗ-ਪੱਟੀ ਵਿੱਚ ਰੱਖ ਸਕਦੇ ਹੋ ਤਾਂ ਕਿ ਇਸ ਨੂੰ ਭਵਿੱਖ ਵਿੱਚ ਵੀ ਵਰਤਿਆ " -"ਜਾ ਸਕੇ।" - -#: ../gtk/gtkcolorsel.c:1041 -msgid "" -"The previously-selected color, for comparison to the color you're selecting " -"now." -msgstr "ਪਿਛਲਾ ਚੁਣਿਆ ਰੰਗ, ਤੁਹਾਡੇ ਵਲੋਂ ਹੁਣ ਚੁਣੇ ਗਏ ਰੰਗ ਨਾਲ ਤੁਲਨਾ ਕਰਨ ਲਈ।" - -#: ../gtk/gtkcolorsel.c:1044 -msgid "The color you've chosen." -msgstr "ਰੰਗ, ਜੋ ਤੁਸੀਂ ਚੁਣਿਆ" - -#: ../gtk/gtkcolorsel.c:1444 -msgid "_Save color here" -msgstr "ਰੰਗ ਇੱਥੇ ਸੰਭਾਲੋ(_S)" - -#: ../gtk/gtkcolorsel.c:1652 -msgid "" -"Click this palette entry to make it the current color. To change this entry, " -"drag a color swatch here or right-click it and select \"Save color here.\"" -msgstr "" -"ਇਸ ਰੰਗ-ਪੱਟੀ ਐਂਟਰੀ ਨੂੰ ਦਬਾਉ ਤਾਂ ਇਹ ਮੌਜੂਦਾ ਰੰਗ ਬਣ ਜਾਵੇ। ਇਸ ਐਂਟਰੀ ਨੂੰ ਤਬਦੀਲ ਕਰਨ ਲਈ ਇੱਕ ਰੰਗ ਨੂੰ " -"ਇੱਥੇ ਤਬਦੀਲ ਕਰ ਦਿਉ ਜਾਂ ਸੱਜਾ-ਬਟਨ ਦਬਾਉ ਤੇ 'ਰੰਗ ਇੱਥੇ ਸੰਭਾਲੋ' ਨੂੰ ਚੁਣੋ।" - -#: ../gtk/gtkcolorseldialog.c:189 -msgid "Color Selection" -msgstr "ਰੰਗ ਚੋਣ" - -#. Translate to the default units to use for presenting -#. * lengths to the user. Translate to default:inch if you -#. * want inches, otherwise translate to default:mm. -#. * Do *not* translate it to "predefinito:mm", if it -#. * it isn't default:mm or default:inch it will not work -#. -#: ../gtk/gtkcustompaperunixdialog.c:116 -msgid "default:mm" -msgstr "default:mm" - -#. And show the custom paper dialog -#: ../gtk/gtkcustompaperunixdialog.c:374 ../gtk/gtkprintunixdialog.c:3242 -msgid "Manage Custom Sizes" -msgstr "ਕਸਟਮ ਅਕਾਰ ਪਰਬੰਧ" - -#: ../gtk/gtkcustompaperunixdialog.c:534 ../gtk/gtkpagesetupunixdialog.c:790 -msgid "inch" -msgstr "ਇੰਚ" - -#: ../gtk/gtkcustompaperunixdialog.c:536 ../gtk/gtkpagesetupunixdialog.c:788 -msgid "mm" -msgstr "mm" - -#: ../gtk/gtkcustompaperunixdialog.c:581 -msgid "Margins from Printer..." -msgstr "ਪਰਿੰਟਰ ਤੋਂ ਹਾਸ਼ੀਆ..." - -#: ../gtk/gtkcustompaperunixdialog.c:747 -#, c-format -msgid "Custom Size %d" -msgstr "ਕਸਟਮ ਅਕਾਰ %d" - -#: ../gtk/gtkcustompaperunixdialog.c:1059 -msgid "_Width:" -msgstr "ਚੌੜਾਈ(_W):" - -#: ../gtk/gtkcustompaperunixdialog.c:1071 -msgid "_Height:" -msgstr "ਉਚਾਈ(_H):" - -#: ../gtk/gtkcustompaperunixdialog.c:1083 -msgid "Paper Size" -msgstr "ਸਫ਼ਾ ਅਕਾਰ" - -#: ../gtk/gtkcustompaperunixdialog.c:1092 -msgid "_Top:" -msgstr "ਉੱਤੇ(_T):" - -#: ../gtk/gtkcustompaperunixdialog.c:1104 -msgid "_Bottom:" -msgstr "ਹੇਠਾਂ(_B):" - -#: ../gtk/gtkcustompaperunixdialog.c:1116 -msgid "_Left:" -msgstr "ਖੱਬੇ(_L):" - -#: ../gtk/gtkcustompaperunixdialog.c:1128 -msgid "_Right:" -msgstr "ਸੱਜੇ(_R):" - -#: ../gtk/gtkcustompaperunixdialog.c:1169 -msgid "Paper Margins" -msgstr "ਸਫ਼ਾ ਹਾਸ਼ੀਆ" - -#: ../gtk/gtkentry.c:8806 ../gtk/gtktextview.c:8241 -msgid "Input _Methods" -msgstr "ਇੰਪੁੱਟ ਢੰਗ(_M)" - -#: ../gtk/gtkentry.c:8820 ../gtk/gtktextview.c:8255 -msgid "_Insert Unicode Control Character" -msgstr "ਯੂਨੀਕੋਡ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ(_I)" - -#: ../gtk/gtkentry.c:10224 -msgid "Caps Lock and Num Lock are on" -msgstr "ਕੈਪਸ ਲਾਕ ਤੇ ਨਮ ਲਾਕ ਚਾਲੂ ਹਨ" - -#: ../gtk/gtkentry.c:10226 -msgid "Num Lock is on" -msgstr "ਨਮ ਲਾਕ ਚਾਲੂ ਹੈ" - -#: ../gtk/gtkentry.c:10228 -msgid "Caps Lock is on" -msgstr "ਕੈਪਸ ਤਾਲਾ ਚਾਲੂ ਹੈ" - -#. **************** * -#. * Private Macros * -#. * **************** -#: ../gtk/gtkfilechooserbutton.c:62 -msgid "Select A File" -msgstr "ਇੱਕ ਫਾਇਲ ਚੁਣੋ" - -#: ../gtk/gtkfilechooserbutton.c:63 ../gtk/gtkfilechooserdefault.c:1831 -msgid "Desktop" -msgstr "ਡੈਸਕਟਾਪ" - -#: ../gtk/gtkfilechooserbutton.c:64 -msgid "(None)" -msgstr "(ਕੋਈ ਨਹੀਂ)" - -#: ../gtk/gtkfilechooserbutton.c:1999 -msgid "Other..." -msgstr "ਹੋਰ..." - -#: ../gtk/gtkfilechooserdefault.c:146 -msgid "Type name of new folder" -msgstr "ਨਵੇਂ ਫੋਲਡਰ ਦਾ ਨਾਂ ਲਿਖੋ" - -#: ../gtk/gtkfilechooserdefault.c:944 -msgid "Could not retrieve information about the file" -msgstr "ਫਾਇਲ ਬਾਰੇ ਜਾਣਕਾਰੀ ਪਰਾਪਤ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" - -#: ../gtk/gtkfilechooserdefault.c:955 -msgid "Could not add a bookmark" -msgstr "ਬੁੱਕਮਾਰਕ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" - -#: ../gtk/gtkfilechooserdefault.c:966 -msgid "Could not remove bookmark" -msgstr "ਬੁੱਕਮਾਰਕ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#: ../gtk/gtkfilechooserdefault.c:977 -msgid "The folder could not be created" -msgstr "ਫੋਲਡਰ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#: ../gtk/gtkfilechooserdefault.c:990 -msgid "" -"The folder could not be created, as a file with the same name already " -"exists. Try using a different name for the folder, or rename the file first." -msgstr "" -"ਫੋਲਡਰ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ, ਕਿਉਕਿ ਇਸੇ ਨਾਂ ਨਾਲ ਫਾਇਲ ਮੌਜੂਦ ਹੈ। ਫੋਲਡਰ ਲਈ ਵੱਖਰਾ ਨਾਂ ਵਰਤੋਂ ਜਾਂ " -"ਫਾਇਲ ਦਾ ਨਾਂ ਪਹਿਲਾਂ ਬਦਲ ਦਿਓ।" - -#: ../gtk/gtkfilechooserdefault.c:1004 -msgid "" -"You may only select folders. The item that you selected is not a folder; " -"try using a different item." -msgstr "" -"ਤੁਸੀਂ ਸ਼ਾਇਦ ਕੇਵਲ ਫੋਲਡਰ ਹੀ ਚੁਣ ਸਕਦੇ ਹੋ। ਆਈਟਮ, ਜਿਸ ਦੀ ਤੁਸੀਂ ਚੋਣ ਕੀਤੀ ਹੈ, ਫੋਲਡਰ ਨਹੀਂ ਹੈ; ਵੱਖਰੀ " -"ਆਈਟਮ ਦੀ ਚੋਣ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ।" - -#: ../gtk/gtkfilechooserdefault.c:1014 -msgid "Invalid file name" -msgstr "ਗਲਤ ਫਾਇਲ ਨਾਂ" - -#: ../gtk/gtkfilechooserdefault.c:1024 -msgid "The folder contents could not be displayed" -msgstr "ਫੋਲਡਰ ਦੀ ਸਮੱਗਰੀ ਵੇਖਾਈ ਨਹੀਂ ਜਾ ਸਕੀ" - -#. Translators: the first string is a path and the second string -#. * is a hostname. Nautilus and the panel contain the same string -#. * to translate. -#. -#: ../gtk/gtkfilechooserdefault.c:1574 -#, c-format -msgid "%1$s on %2$s" -msgstr "%2$s ਉੱਤੇ %1$s" - -#: ../gtk/gtkfilechooserdefault.c:1750 -msgid "Search" -msgstr "ਖੋਜ" - -#: ../gtk/gtkfilechooserdefault.c:1774 ../gtk/gtkfilechooserdefault.c:9422 -msgid "Recently Used" -msgstr "ਤਾਜ਼ਾ ਵਰਤੇ" - -#: ../gtk/gtkfilechooserdefault.c:2435 -msgid "Select which types of files are shown" -msgstr "ਚੁਣੋ ਕਿ ਕਿਸ ਕਿਸਮ ਦੀਆਂ ਫਾਇਲਾਂ ਵੇਖਾਈਆਂ ਜਾਣ" - -#: ../gtk/gtkfilechooserdefault.c:2794 -#, c-format -msgid "Add the folder '%s' to the bookmarks" -msgstr "ਫੋਲਡਰ '%s' ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" - -#: ../gtk/gtkfilechooserdefault.c:2838 -#, c-format -msgid "Add the current folder to the bookmarks" -msgstr "ਮੌਜੂਦਾ ਫੋਲਡਰ ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" - -#: ../gtk/gtkfilechooserdefault.c:2840 -#, c-format -msgid "Add the selected folders to the bookmarks" -msgstr "ਚੁਣੇ ਫੋਲਡਰਾਂ ਨੂੰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" - -#: ../gtk/gtkfilechooserdefault.c:2878 -#, c-format -msgid "Remove the bookmark '%s'" -msgstr "ਬੁੱਕਮਾਰਕ '%s' ਹਟਾਓ" - -#: ../gtk/gtkfilechooserdefault.c:2880 -#, c-format -msgid "Bookmark '%s' cannot be removed" -msgstr "ਬੁੱਕਮਾਰਕ '%s' ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" - -#: ../gtk/gtkfilechooserdefault.c:2887 ../gtk/gtkfilechooserdefault.c:3755 -msgid "Remove the selected bookmark" -msgstr "ਚੁਣੇ ਬੁੱਕਮਾਰਕ ਹਟਾਓ" - -#: ../gtk/gtkfilechooserdefault.c:3450 -msgid "Remove" -msgstr "ਹਟਾਓ" - -#: ../gtk/gtkfilechooserdefault.c:3459 -msgid "Rename..." -msgstr "...ਨਾਂ-ਬਦਲੋ" - -#. Accessible object name for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3622 -msgid "Places" -msgstr "ਥਾਵਾਂ" - -#. Column header for the file chooser's shortcuts pane -#: ../gtk/gtkfilechooserdefault.c:3679 -msgid "_Places" -msgstr "ਥਾਵਾਂ(_P)" - -#: ../gtk/gtkfilechooserdefault.c:3736 -msgid "_Add" -msgstr "ਸ਼ਾਮਲ(_A)" - -#: ../gtk/gtkfilechooserdefault.c:3743 -msgid "Add the selected folder to the Bookmarks" -msgstr "ਚੁਣਿਆ ਫੋਲਡਰ ਬੁੱਕਮਾਰਕ ਵਿੱਚ ਸ਼ਾਮਲ" - -#: ../gtk/gtkfilechooserdefault.c:3748 -msgid "_Remove" -msgstr "ਹਟਾਓ(_R)" - -#: ../gtk/gtkfilechooserdefault.c:3890 -msgid "Could not select file" -msgstr "ਫਾਇਲ ਚੁਣੀ ਨਹੀਂ ਜਾ ਸਕੀ" - -#: ../gtk/gtkfilechooserdefault.c:4065 -msgid "_Add to Bookmarks" -msgstr "ਬੁੱਕਮਾਰਕ ਸ਼ਾਮਲ(_A)" - -#: ../gtk/gtkfilechooserdefault.c:4078 -msgid "Show _Hidden Files" -msgstr "ਲੁਕਵੀਆਂ ਫਾਇਲਾਂ ਵੇਖੋ(_H)" - -#: ../gtk/gtkfilechooserdefault.c:4085 -msgid "Show _Size Column" -msgstr "ਅਕਾਰ ਕਾਲਮ ਵੇਖੋ(_S)" - -#: ../gtk/gtkfilechooserdefault.c:4311 -msgid "Files" -msgstr "ਫਾਇਲਾਂ" - -#: ../gtk/gtkfilechooserdefault.c:4362 +#: ../gtk/gtkaction.c:222 ../gtk/gtkactiongroup.c:228 ../gtk/gtkprinter.c:125 +#: ../gtk/gtktextmark.c:89 ../gtk/gtkthemingengine.c:248 msgid "Name" msgstr "ਨਾਂ" -#: ../gtk/gtkfilechooserdefault.c:4385 +#: ../gtk/gtkaction.c:223 +msgid "A unique name for the action." +msgstr "ਕਾਰਵਾਈ ਲਈ ਸ਼ਨਾਖਤੀ ਨਾਂ ਹੈ।" + +#: ../gtk/gtkaction.c:241 ../gtk/gtkbutton.c:227 ../gtk/gtkexpander.c:287 +#: ../gtk/gtkframe.c:133 ../gtk/gtklabel.c:567 ../gtk/gtkmenuitem.c:328 +#: ../gtk/gtktoolbutton.c:201 ../gtk/gtktoolitemgroup.c:1594 +msgid "Label" +msgstr "ਲੇਬਲ" + +#: ../gtk/gtkaction.c:242 +msgid "The label used for menu items and buttons that activate this action." +msgstr "" +"ਲੇਬਲ, ਜੋ ਮੇਨੂ ਆਈਟਮਾਂ ਅਤੇ ਬਟਨਾਂ ਲਈ ਵਰਤਿਆ ਜਾਦਾ ਹੈ, ਜੋ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਸਰਗਰਮ ਕਰਦੇ " +"ਹਨ।" + +#: ../gtk/gtkaction.c:258 +msgid "Short label" +msgstr "ਛੋਟਾ ਲੇਬਲ" + +#: ../gtk/gtkaction.c:259 +msgid "A shorter label that may be used on toolbar buttons." +msgstr "ਛੋਟਾ ਲੇਬਲ ਜੋ ਕਿ ਟੂਲਬਾਰ ਦੇ ਬਟਨਾਂ ਲਈ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ " + +#: ../gtk/gtkaction.c:267 +msgid "Tooltip" +msgstr "ਟੂਲ-ਟਿੱਪ" + +#: ../gtk/gtkaction.c:268 +msgid "A tooltip for this action." +msgstr "ਇਸ ਕਾਰਵਾਈ ਲਈ ਇੱਕ ਟਿੱਪ ਸੰਕੇਤ ਹੈ " + +#: ../gtk/gtkaction.c:283 +msgid "Stock Icon" +msgstr "ਸਟਾਕ ਆਈਕਾਨ" + +#: ../gtk/gtkaction.c:284 +msgid "The stock icon displayed in widgets representing this action." +msgstr "ਸਟਾਕ ਆਈਕਾਨ ਇਸ ਕਾਰਵਾਈ ਲਈ ਵਿਦਗਿਟ ਵਿੱਚ ਵਿਖਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkaction.c:304 ../gtk/gtkstatusicon.c:244 +msgid "GIcon" +msgstr "ਗਲਕੋਨ" + +#: ../gtk/gtkaction.c:305 ../gtk/gtkcellrendererpixbuf.c:215 +#: ../gtk/gtkimage.c:329 ../gtk/gtkstatusicon.c:245 +msgid "The GIcon being displayed" +msgstr "ਗਲਕੋਨ ਵੇਖਾਇਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkaction.c:325 ../gtk/gtkcellrendererpixbuf.c:180 +#: ../gtk/gtkimage.c:311 ../gtk/gtkprinter.c:174 ../gtk/gtkstatusicon.c:228 +#: ../gtk/gtkwindow.c:721 +msgid "Icon Name" +msgstr "ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkaction.c:326 ../gtk/gtkcellrendererpixbuf.c:181 +#: ../gtk/gtkimage.c:312 ../gtk/gtkstatusicon.c:229 +msgid "The name of the icon from the icon theme" +msgstr "ਆਈਕਾਨ ਸਰੂਪ ਤੋਂ ਆਈਕਾਨ ਦਾ ਨਾਂ" + +#: ../gtk/gtkaction.c:333 ../gtk/gtktoolitem.c:195 +msgid "Visible when horizontal" +msgstr "ਜਦੋਂ ਲੇਟਵਾਂ ਹੋਵੇ ਤਾਂ ਵੇਖਾਓ" + +#: ../gtk/gtkaction.c:334 ../gtk/gtktoolitem.c:196 +msgid "" +"Whether the toolbar item is visible when the toolbar is in a horizontal " +"orientation." +msgstr "ਕੀ ਟੂਲਬਾਰ ਦੀ ਆਈਟਮ ਉਪਲੱਬਧ ਹੋਵੇ, ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਲੇਟਵੀ ਹਾਲਤ ਵਿੱਚ ਹੋਵੇ " + +#: ../gtk/gtkaction.c:349 +msgid "Visible when overflown" +msgstr "ਜਦੋਂ ਭਰ ਹੋਵੇ ਤਾਂ ਵੇਖਾਓ" + +#: ../gtk/gtkaction.c:350 +msgid "" +"When TRUE, toolitem proxies for this action are represented in the toolbar " +"overflow menu." +msgstr "" +"ਜੇਕਰ ਠੀਕ ਹੈ ਤਾਂ, ਇਸ ਕਾਰਵਾਈ ਲਈ ਟੂਲ-ਆਈਟਮ ਪਰਾਕਸੀ ਨੂੰ ਟੂਲਬਾਰ ਭਰਨ ਮੇਨੂ ਵਿੱਚ ਵਿਖਾਇਆ " +"ਜਾਵੇਗਾ।" + +#: ../gtk/gtkaction.c:357 ../gtk/gtktoolitem.c:202 +msgid "Visible when vertical" +msgstr "ਜਦੋਂ ਲੰਬਕਾਰੀ ਹੋਵੇ ਤਾਂ ਵੇਖਾਓ" + +#: ../gtk/gtkaction.c:358 ../gtk/gtktoolitem.c:203 +msgid "" +"Whether the toolbar item is visible when the toolbar is in a vertical " +"orientation." +msgstr "ਕੀ ਟੂਲਬਾਰ ਦੀ ਆਈਟਮ ਉਪਲੱਬਧ ਹੋਵੇ, ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਲੰਬਕਾਰੀ ਹਾਲਤ ਵਿੱਚ ਹੋਵੇ।" + +#: ../gtk/gtkaction.c:365 ../gtk/gtktoolitem.c:209 +msgid "Is important" +msgstr "ਖਾਸ ਹੈ" + +#: ../gtk/gtkaction.c:366 +msgid "" +"Whether the action is considered important. When TRUE, toolitem proxies for " +"this action show text in GTK_TOOLBAR_BOTH_HORIZ mode." +msgstr "" +"ਕੀ ਕਾਰਵਾਈ ਨੂੰ ਜ਼ਰੂਰੀ ਮੰਨਣਾ ਹੈ ਜੇਕਰ ਹਾਂ ਤਾਂ GTK_TOOLBAR_BOTH_HORIZ ਮੋਡ ਵਿੱਚ " +"ਟੂਲ-ਆਈਟਮ " +"ਪਰਾਕਸੀ ਲਈ ਇਹ ਕਾਰਵਾਈ ਟੈਕਸਟ ਰੂਪੀ ਵੇਖਾਵੇਗੀ।" + +#: ../gtk/gtkaction.c:374 +msgid "Hide if empty" +msgstr "ਜੇ ਖਾਲੀ ਹੈ ਤਾਂ ਉਹਲੇ" + +#: ../gtk/gtkaction.c:375 +msgid "When TRUE, empty menu proxies for this action are hidden." +msgstr "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ ਇਸ ਕਾਰਵਾਈ ਵਿੱਚ ਖਾਲੀ ਲਿਸਟ ਪਰਾਕਸੀਆਂ ਨੂੰ ਉਹਲੇ ਕਰ ਦਿਓ" + +#: ../gtk/gtkaction.c:381 ../gtk/gtkactiongroup.c:235 +#: ../gtk/gtkcellrenderer.c:288 ../gtk/gtkwidget.c:941 +msgid "Sensitive" +msgstr "ਸੰਵੇਦਨਸ਼ੀਲ" + +#: ../gtk/gtkaction.c:382 +msgid "Whether the action is enabled." +msgstr "ਕੀ ਕਾਰਵਾਈ ਯੋਗ ਹੈ" + +#: ../gtk/gtkaction.c:388 ../gtk/gtkactiongroup.c:242 +#: ../gtk/gtkstatusicon.c:279 ../gtk/gtktreeviewcolumn.c:243 +#: ../gtk/gtkwidget.c:934 +msgid "Visible" +msgstr "ਦਿੱਖ" + +#: ../gtk/gtkaction.c:389 +msgid "Whether the action is visible." +msgstr "ਕੀ ਕਾਰਵਾਈ ਦਿੱਸ ਰਹੀ ਹੈ।" + +#: ../gtk/gtkaction.c:395 +msgid "Action Group" +msgstr "ਕਾਰਵਾਈ ਗਰੁੱਪ" + +#: ../gtk/gtkaction.c:396 +msgid "" +"The GtkActionGroup this GtkAction is associated with, or NULL (for internal " +"use)." +msgstr "" +"ਇਹ GtkActionGroup, GtkAction ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ, ਜਾਂ NULL (ਸਿਰਫ ਅੰਦਰੂਨੀ ਵਰਤੋਂ ਲਈ)" + +#: ../gtk/gtkaction.c:414 ../gtk/gtkimagemenuitem.c:183 +msgid "Always show image" +msgstr "ਹਮੇਸ਼ਾਂ ਚਿੱਤਰ ਵੇਖੋ" + +#: ../gtk/gtkaction.c:415 ../gtk/gtkimagemenuitem.c:184 +msgid "Whether the image will always be shown" +msgstr "ਕੀ ਚਿੱਤਰ ਵੇਖਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkactiongroup.c:229 +msgid "A name for the action group." +msgstr "ਕਾਰਵਾਈ ਗਰੁੱਪ ਦਾ ਨਾਂ ਹੈ।" + +#: ../gtk/gtkactiongroup.c:236 +msgid "Whether the action group is enabled." +msgstr "ਕੀ ਕਾਰਵਾਈ ਗਰੁੱਪ ਯੋਗ ਹੈ।" + +#: ../gtk/gtkactiongroup.c:243 +msgid "Whether the action group is visible." +msgstr "ਕੀ ਕਾਰਵਾਈ ਗਰੁੱਪ ਦਿੱਸ ਰਿਹਾ ਹੈ।" + +#: ../gtk/gtkactivatable.c:289 +msgid "Related Action" +msgstr "ਸਬੰਧਿਤ ਕਾਰਵਾਈ" + +#: ../gtk/gtkactivatable.c:290 +msgid "The action this activatable will activate and receive updates from" +msgstr "ਕਾਰਵਾਈ, ਜੋ ਕਿ ਸਰਗਰਮ ਕਰਨ ਹੈ, ਸਰਗਰਮ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਅੱਪਡੇਟ ਲਵੇ" + +#: ../gtk/gtkactivatable.c:312 +msgid "Use Action Appearance" +msgstr "ਕਾਰਵਾਈ ਦਿੱਖ ਵਰਤੋਂ" + +#: ../gtk/gtkactivatable.c:313 +msgid "Whether to use the related actions appearance properties" +msgstr "ਕੀ ਸਬੰਧਿਤ ਕਾਰਵਾਈ ਦਿੱਖ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkadjustment.c:123 ../gtk/gtkcellrendererprogress.c:126 +#: ../gtk/gtkscalebutton.c:217 ../gtk/gtkspinbutton.c:381 +msgid "Value" +msgstr "ਮੁੱਲ" + +#: ../gtk/gtkadjustment.c:124 +msgid "The value of the adjustment" +msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਮੁੱਲ ਹੈ" + +#: ../gtk/gtkadjustment.c:140 +msgid "Minimum Value" +msgstr "ਘੱਟੋ-ਘੱਟ ਮੁੱਲ" + +#: ../gtk/gtkadjustment.c:141 +msgid "The minimum value of the adjustment" +msgstr "ਅਜਡੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਘੱਟੋ-ਘੱਟ ਮੁੱਲ ਹੈ" + +#: ../gtk/gtkadjustment.c:160 +msgid "Maximum Value" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ" + +#: ../gtk/gtkadjustment.c:161 +msgid "The maximum value of the adjustment" +msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਮੁੱਲ ਹੈ" + +#: ../gtk/gtkadjustment.c:177 +msgid "Step Increment" +msgstr "ਸਟੈਪ ਵਾਧਾ" + +#: ../gtk/gtkadjustment.c:178 +msgid "The step increment of the adjustment" +msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਟੈਪ ਵਾਧਾ ਹੈ" + +#: ../gtk/gtkadjustment.c:194 +msgid "Page Increment" +msgstr "ਸਫ਼ਾ ਵਾਧਾ" + +#: ../gtk/gtkadjustment.c:195 +msgid "The page increment of the adjustment" +msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਫ਼ਾ ਵਾਧਾ ਹੈ" + +#: ../gtk/gtkadjustment.c:214 +msgid "Page Size" +msgstr "ਸਫ਼ਾ ਅਕਾਰ" + +#: ../gtk/gtkadjustment.c:215 +msgid "The page size of the adjustment" +msgstr "ਅਡਜੱਸਟਮੈਂਟ ਕਰਨ ਦਾ ਸਫ਼ਾ ਅਕਾਰ ਹੈ" + +#: ../gtk/gtkalignment.c:137 +msgid "Horizontal alignment" +msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" + +#: ../gtk/gtkalignment.c:138 ../gtk/gtkbutton.c:278 +msgid "" +"Horizontal position of child in available space. 0.0 is left aligned, 1.0 is " +"right aligned" +msgstr "" +"ਉਪਲੱਬਧ ਥਾਂ ਵਿੱਚ ਚਲਾਇਡ ਲਈ ਲੇਟਵੀ ਸਥਿਤੀ, ਸਫਬੰਦੀ ਖੱਬੇ 0.0 ਤੇ , ਸੱਜੇ 1.0 ਤੇ " + +#: ../gtk/gtkalignment.c:147 +msgid "Vertical alignment" +msgstr "ਲੰਬਰੂਪੀ ਸਫਬੰਦੀ" + +#: ../gtk/gtkalignment.c:148 ../gtk/gtkbutton.c:297 +msgid "" +"Vertical position of child in available space. 0.0 is top aligned, 1.0 is " +"bottom aligned" +msgstr "" +"ਉਪਲੱਬਧ ਥਾਂ ਵਿੱਚ ਚਲਾਇਡ ਲਈ ਲੰਬਕਾਰੀ ਹਾਲਤ ਸਫਬੰਦੀ ਉਪਰੋਂ 0.0 ਤੇ , ਥੱਲਿਉ1.0 'ਤੇ।" + +#: ../gtk/gtkalignment.c:156 +msgid "Horizontal scale" +msgstr "ਲੇਟਵਾਂ ਸਕੇਲ" + +#: ../gtk/gtkalignment.c:157 +msgid "" +"If available horizontal space is bigger than needed for the child, how much " +"of it to use for the child. 0.0 means none, 1.0 means all" +msgstr "" +"ਜੇਕਰ ਉਪਲੱਬਧ ਲੇਟਵੀ ਥਾਂ ਚਲਾਇਡ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਤੋਂ ਵਧੇਰੇ ਹੋਵੇ ਤਾਂਚਲਾਇਡ ਕਿੰਨੀ ਵਰਤੇ " +"0.0 ਦਾ ਮਤਲਬ ਕੁਝ " +"ਵੀ ਨਹੀ, 1.0 ਸਭ" + +#: ../gtk/gtkalignment.c:165 +msgid "Vertical scale" +msgstr "ਲੰਬਕਾਰੀ ਪੈਮਾਨਾ" + +#: ../gtk/gtkalignment.c:166 +msgid "" +"If available vertical space is bigger than needed for the child, how much of " +"it to use for the child. 0.0 means none, 1.0 means all" +msgstr "" +"ਜੇਕਰ ਉਪਲੱਬਧ ਲੰਬਕਾਰੀ ਥਾਂ ਚਲਾਇਡ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਤੋਂ ਵਧੇਰੇ ਹੋਵੇ ਤਾਂ ਚਲਾਇਡ ਕਿੰਨੀ " +"ਵਰਤੇ 0.0 ਦਾ ਮਤਲਬ " +"ਕੁਝ ਵੀ ਨਹੀ, 1.0 ਸਭ" + +#: ../gtk/gtkalignment.c:183 +msgid "Top Padding" +msgstr "ਉੱਤੇ ਚਿਣੋ" + +#: ../gtk/gtkalignment.c:184 +msgid "The padding to insert at the top of the widget." +msgstr "ਵਿਡਗਿਟ ਦੇ ਉੱਤੇ ਚਿਣ ਦਿਓ" + +#: ../gtk/gtkalignment.c:200 +msgid "Bottom Padding" +msgstr "ਥੱਲੇ ਚਿਣੋ" + +#: ../gtk/gtkalignment.c:201 +msgid "The padding to insert at the bottom of the widget." +msgstr "ਵਿਡਗਿਟ ਦੇ ਹੇਠਾਂ ਚਿਣ ਦਿਓ" + +#: ../gtk/gtkalignment.c:217 +msgid "Left Padding" +msgstr "ਖੱਬੇ ਚਿਣੋ" + +#: ../gtk/gtkalignment.c:218 +msgid "The padding to insert at the left of the widget." +msgstr "ਵਿਡਗਿਟ ਦੇ ਖੱਬੇ ਚਿਣ ਦਿਓ" + +#: ../gtk/gtkalignment.c:234 +msgid "Right Padding" +msgstr "ਸੱਜੇ ਚਿਣੋ" + +#: ../gtk/gtkalignment.c:235 +msgid "The padding to insert at the right of the widget." +msgstr "ਵਿਡਗਿਟ ਦੇ ਸੱਜੇ ਚਿਣ ਦਿਓ" + +#: ../gtk/gtkappchooserbutton.c:538 +msgid "Include an 'Other...' item" +msgstr "'ਹੋਰ...' ਆਈਟਮ ਸਮੇਤ" + +#: ../gtk/gtkappchooserbutton.c:539 +msgid "" +"Whether the combobox should include an item that triggers a " +"GtkAppChooserDialog" +msgstr "" +"ਕੀ ਕੰਬੋਬਾਕਸ ਵਿੱਚ ਆਈਟਮ ਸ਼ਾਮਲ ਕਰਨੀ ਹੈ, ਜੋ ਕਿ GtkAppChooserDialog ਚਾਲੂ ਕਰੇ" + +#: ../gtk/gtkappchooser.c:58 +msgid "Content type" +msgstr "ਸਮੱਗਰੀ ਕਿਸਮ" + +#: ../gtk/gtkappchooser.c:59 +msgid "The content type used by the open with object" +msgstr "ਆਬਜੈਕਟ ਨਾਲ ਖੋਲ੍ਹਣ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਸਮੱਗਰੀ ਕਿਸਮ" + +#: ../gtk/gtkappchooserdialog.c:683 +msgid "GFile" +msgstr "ਜੀਫਾਇਲ" + +#: ../gtk/gtkappchooserdialog.c:684 +msgid "The GFile used by the app chooser dialog" +msgstr "ਫਾਇਲ ਚੋਣਕਾਰ ਡਾਈਲਾਗ ਵਲੋਂ ਵਰਤੀ ਜੀਫਾਇਲ" + +#: ../gtk/gtkappchooserwidget.c:1017 +msgid "Show default app" +msgstr "ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖੋ" + +#: ../gtk/gtkappchooserwidget.c:1018 +msgid "Whether the widget should show the default application" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਡਿਫਾਲਟ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1031 +msgid "Show recommended apps" +msgstr "ਸਿਫਾਰਸ਼ੀ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1032 +msgid "Whether the widget should show recommended applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਸਿਫਾਰਸ਼ੀ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1045 +msgid "Show fallback apps" +msgstr "ਫਾਲਬੈਕ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1046 +msgid "Whether the widget should show fallback applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਫਾਲਬੈਕ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1058 +msgid "Show other apps" +msgstr "ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1059 +msgid "Whether the widget should show other applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਹੋਰ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1072 +msgid "Show all apps" +msgstr "ਸਭ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਓ" + +#: ../gtk/gtkappchooserwidget.c:1073 +msgid "Whether the widget should show all applications" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਸਭ ਐਪਲੀਕੇਸ਼ਨ ਵੇਖਾਏ" + +#: ../gtk/gtkappchooserwidget.c:1086 +msgid "Widget's default text" +msgstr "ਵਿਦਜੈੱਟ ਦਾ ਮੂਲ ਟੈਕਸਟ" + +#: ../gtk/gtkappchooserwidget.c:1087 +msgid "The default text appearing when there are no applications" +msgstr "ਜਦੋਂ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਾ ਹੋਵੇ ਤਾਂ ਵੇਖਾਉਣ ਲਈ ਡਿਫਾਲਟ ਟੈਕਸਟ" + +#: ../gtk/gtkarrow.c:110 +msgid "Arrow direction" +msgstr "ਤੀਰ ਦਿਸ਼ਾ" + +#: ../gtk/gtkarrow.c:111 +msgid "The direction the arrow should point" +msgstr "ਤੀਰ ਦੀ ਦਿਸ਼ਾ ਨਿਸ਼ਾਨਦੇਹੀ ਕਰੇ" + +#: ../gtk/gtkarrow.c:119 +msgid "Arrow shadow" +msgstr "ਤੀਰ ਛਾਂ" + +#: ../gtk/gtkarrow.c:120 +msgid "Appearance of the shadow surrounding the arrow" +msgstr "ਤੀਰ ਦੇ ਆਲੇ ਦੁਆਲੇ ਛਾਂ ਵੇਖਾਓ" + +#: ../gtk/gtkarrow.c:127 ../gtk/gtkmenu.c:796 ../gtk/gtkmenuitem.c:391 +msgid "Arrow Scaling" +msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" + +#: ../gtk/gtkarrow.c:128 +msgid "Amount of space used up by arrow" +msgstr "ਤੀਰ ਵਲੋਂ ਵਰਤੀ ਗਈ ਥਾਂ ਦੀ ਮਾਤਰਾ" + +#: ../gtk/gtkaspectframe.c:109 ../gtk/gtkwidget.c:1129 +msgid "Horizontal Alignment" +msgstr "ਲੇਟਵੀਂ ਸਫਬੰਦੀ" + +#: ../gtk/gtkaspectframe.c:110 +msgid "X alignment of the child" +msgstr "ਚਾਇਲਡ ਦੀ X ਕਤਾਰਬੰਦੀ" + +#: ../gtk/gtkaspectframe.c:116 ../gtk/gtkwidget.c:1145 +msgid "Vertical Alignment" +msgstr "ਲੰਬਕਾਰੀ ਸਫਬੰਦੀ" + +#: ../gtk/gtkaspectframe.c:117 +msgid "Y alignment of the child" +msgstr "ਚਾਇਲਡ ਦੀ Y ਸਫਬੰਦੀ" + +#: ../gtk/gtkaspectframe.c:123 +msgid "Ratio" +msgstr "ਅਨੁਪਾਤ" + +#: ../gtk/gtkaspectframe.c:124 +msgid "Aspect ratio if obey_child is FALSE" +msgstr "ਜੇ obey_child ਗਲਤ ਹੈ ਤਾਂ ਆਕਾਰ-ਅਨੁਪਾਤ" + +#: ../gtk/gtkaspectframe.c:130 +msgid "Obey child" +msgstr "ਉਬੇ-ਚਾਇਲਡ" + +#: ../gtk/gtkaspectframe.c:131 +msgid "Force aspect ratio to match that of the frame's child" +msgstr "ਫਰੇਮ ਦੀ ਚਾਇਲਡ ਨਾਲ ਆਕਾਰ-ਅਨੁਪਾਤ ਨਾਲ ਮਿਲਾਓ" + +#: ../gtk/gtkassistant.c:326 +msgid "Header Padding" +msgstr "ਹੈੱਡਰ ਪੈਡਿੰਗ" + +#: ../gtk/gtkassistant.c:327 +msgid "Number of pixels around the header." +msgstr "ਹੈੱਡਰ ਦੇ ਦੁਆਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" + +#: ../gtk/gtkassistant.c:334 +msgid "Content Padding" +msgstr "ਸਮੱਗਰੀ ਪੈਡਿੰਗ" + +#: ../gtk/gtkassistant.c:335 +msgid "Number of pixels around the content pages." +msgstr "ਸਮੱਗਰੀ ਪੇਜ਼ਾਂ ਦੁਆਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" + +#: ../gtk/gtkassistant.c:351 +msgid "Page type" +msgstr "ਪੇਜ਼ ਕਿਸਮ" + +#: ../gtk/gtkassistant.c:352 +msgid "The type of the assistant page" +msgstr "ਜਾਰੀ ਪੇਜ਼ ਦੀ ਕਿਸਮ ਹੈ" + +#: ../gtk/gtkassistant.c:369 +msgid "Page title" +msgstr "ਸਫ਼ਾ ਟਾਇਟਲ" + +#: ../gtk/gtkassistant.c:370 +msgid "The title of the assistant page" +msgstr "ਜਾਰੀ ਸਫ਼ੇ ਦਾ ਟਾਇਟਲ" + +#: ../gtk/gtkassistant.c:386 +msgid "Header image" +msgstr "ਹੈੱਡਰ ਚਿੱਤਰ" + +#: ../gtk/gtkassistant.c:387 +msgid "Header image for the assistant page" +msgstr "ਸਹਾਇਕ ਸਫ਼ੇ ਲਈ ਹੈੱਡਰ ਚਿੱਤਰ" + +#: ../gtk/gtkassistant.c:403 +msgid "Sidebar image" +msgstr "ਸਾਈਡ-ਬਾਰ ਚਿੱਤਰ" + +#: ../gtk/gtkassistant.c:404 +msgid "Sidebar image for the assistant page" +msgstr "ਸਹਾਇਕ ਸਫ਼ੇ ਲਈ ਬਾਹੀ ਚਿੱਤਰ" + +#: ../gtk/gtkassistant.c:419 +msgid "Page complete" +msgstr "ਸਫ਼ਾ ਪੂਰਾ ਹੋਇਆ" + +#: ../gtk/gtkassistant.c:420 +msgid "Whether all required fields on the page have been filled out" +msgstr "ਕੀ ਸਫ਼ੇ ਉੱਤੇ ਸਭ ਲੋੜੀਦੇ ਖੇਤਰ ਭਰਨੇ ਹਨ" + +#: ../gtk/gtkbbox.c:152 +msgid "Minimum child width" +msgstr "ਘੱਟੋ-ਘੱਟ ਚਾਇਲਡ ਚੌੜਾਈ" + +#: ../gtk/gtkbbox.c:153 +msgid "Minimum width of buttons inside the box" +msgstr "ਡੱਬੇ ਦੇ ਅੰਦਰ ਬਟਨਾਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" + +#: ../gtk/gtkbbox.c:161 +msgid "Minimum child height" +msgstr "ਘੱਟੋ-ਘੱਟ ਚਾਇਲਡ ਉਚਾਈ" + +#: ../gtk/gtkbbox.c:162 +msgid "Minimum height of buttons inside the box" +msgstr "ਡੱਬੇ ਦੇ ਅੰਦਰ ਬਟਨਾਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਉਚਾਈ" + +#: ../gtk/gtkbbox.c:170 +msgid "Child internal width padding" +msgstr "ਚਾਇਲਡ ਦੀ ਅੰਦਰੂਨੀ ਚਿਣਨ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkbbox.c:171 +msgid "Amount to increase child's size on either side" +msgstr "ਚਾਇਲਡ ਦੇ ਆਕਾਰ ਵਿੱਚ ਕਿਸੇ ਵੀ ਪਾਸੇ ਵਾਧੇ ਦੀ ਮਿਣਤੀ" + +#: ../gtk/gtkbbox.c:179 +msgid "Child internal height padding" +msgstr "ਚਾਇਲਡ ਦੀ ਅੰਦਰੂਨੀ ਚਿਣਨ ਦੀ ਉਚਾਈ" + +#: ../gtk/gtkbbox.c:180 +msgid "Amount to increase child's size on the top and bottom" +msgstr "ਚਾਇਲਡ ਦੇ ਆਕਾਰ ਵਿੱਚ ਉੱਪਰ ਅਤੇ ਹੇਠਾਂ ਵਾਲੇ ਪਾਸੇ ਵਾਧੇ ਦੀ ਮਿਣਤੀ" + +#: ../gtk/gtkbbox.c:188 +msgid "Layout style" +msgstr "ਲੇਆਉਟ ਸਟਾਇਲ" + +#: ../gtk/gtkbbox.c:189 +msgid "" +"How to lay out the buttons in the box. Possible values are: spread, edge, " +"start and end" +msgstr "" +"ਡੱਬੇ ਵਿੱਚ ਬਟਨਾਂ ਦਾ ਲੇ-ਆਉਟ ਕਿਵੇਂ ਹੋਵੇ। ਉਪਲੱਬਧ ਮੁੱਲ ਹਨ: ਖਿਲਰਿਆ, ਕਿਨਾਰਾ, ਸ਼ੁਰੂ " +"ਅਤੇ ਅੰਤ" + +#: ../gtk/gtkbbox.c:197 +msgid "Secondary" +msgstr "ਸੈਕੰਡਰੀ" + +#: ../gtk/gtkbbox.c:198 +msgid "" +"If TRUE, the child appears in a secondary group of children, suitable for, e." +"g., help buttons" +msgstr "" +"ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ ਚਾਇਲਡ, ਚਾਇਲਡਰਨ ਦੇ ਗਰੁੱਪ ਦਾ ਸੈਕੰਡਰੀ ਬਣ ਰਹੀ ਜਾਪਦੀ ਹੈ ਜਿਵੇ ਕਿ " +"ਮੱਦਦ ਬਟਨ " + +#: ../gtk/gtkbox.c:241 ../gtk/gtkcellareabox.c:318 ../gtk/gtkexpander.c:311 +#: ../gtk/gtkiconview.c:640 ../gtk/gtktreeviewcolumn.c:268 +msgid "Spacing" +msgstr "ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkbox.c:242 +msgid "The amount of space between children" +msgstr "ਚੈਲਡਰਨ ਵਿੱਚ ਕਿੰਨੀ ਥਾਂ ਹੈ" + +#: ../gtk/gtkbox.c:251 ../gtk/gtktable.c:193 ../gtk/gtktoolbar.c:551 +#: ../gtk/gtktoolitemgroup.c:1647 +msgid "Homogeneous" +msgstr "ਸਮਰੂਪ" + +#: ../gtk/gtkbox.c:252 +msgid "Whether the children should all be the same size" +msgstr "ਕੀ ਚੈਲਰਨ ਇੱਕੋ ਆਕਾਰ ਦੇ ਹੋਣ" + +#: ../gtk/gtkbox.c:268 ../gtk/gtkcellareabox.c:338 ../gtk/gtktoolbar.c:543 +#: ../gtk/gtktoolitemgroup.c:1654 ../gtk/gtktoolpalette.c:1094 +#: ../gtk/gtktreeviewcolumn.c:324 +msgid "Expand" +msgstr "ਫੈਲਾਓ" + +#: ../gtk/gtkbox.c:269 +msgid "Whether the child should receive extra space when the parent grows" +msgstr "ਕੀ ਚਾਇਲਡ ਵੱਖਰੀ ਥਾਂ ਲੈ ਲੈਣ ਜਦੋਂ ਕਿ ਮੂਲ਼ (ਪੇਰੈਨਟ) ਵੱਧ ਰਹੇ ਹੋ" + +#: ../gtk/gtkbox.c:281 ../gtk/gtktoolitemgroup.c:1661 +msgid "Fill" +msgstr "ਭਰੋ" + +#: ../gtk/gtkbox.c:282 +msgid "" +"Whether extra space given to the child should be allocated to the child or " +"used as padding" +msgstr "ਕੀ ਚਾਇਲਡ ਦੀ ਖਾਲੀ ਥਾਂ ਚਾਇਡ ਨੂੰ ਦੇ ਦਿੱਤੀ ਜਾਵੇ ਜਾਂ ਚਿਣਨ ਲਈ ਵਰਤੀ ਜਾਵੇ " + +#: ../gtk/gtkbox.c:289 ../gtk/gtktrayicon-x11.c:166 +msgid "Padding" +msgstr "ਚਿਣਿਆ" + +#: ../gtk/gtkbox.c:290 +msgid "Extra space to put between the child and its neighbors, in pixels" +msgstr "ਵਾਧੂ ਥਾਂ, ਚਾਇਲਡ ਅਤੇ ਗੁਆਢੀ ਵਿੱਚਕਾਰ ਦੇਣ ਲਈ ( ਪਿਕਸਲਾਂ ਵਿੱਚ)" + +#: ../gtk/gtkbox.c:296 +msgid "Pack type" +msgstr "ਪੈਕ ਕਿਸਮ" + +#: ../gtk/gtkbox.c:297 +msgid "" +"A GtkPackType indicating whether the child is packed with reference to the " +"start or end of the parent" +msgstr "" +"ਇਹ GtkPackType ਵੇਖਾ ਰਿਹਾ ਹੈ ਕਿ ਚਲਾਇਡ ਨੂੰ ਪੇਰੈਟ ਦੇ ਸ਼ੁਰੂ ਜ਼ਾਂ ਅਖੀਰ ਵਿੱਚ ਪੈਕ " +"ਕੀਤਾ ਜਾਏ" + +#: ../gtk/gtkbox.c:303 ../gtk/gtknotebook.c:760 ../gtk/gtkpaned.c:326 +#: ../gtk/gtktoolitemgroup.c:1675 +msgid "Position" +msgstr "ਟਿਕਾਣਾ" + +#: ../gtk/gtkbox.c:304 ../gtk/gtknotebook.c:761 +msgid "The index of the child in the parent" +msgstr "ਪੇਰੈਟ ਵਿੱਚ ਚਾਇਲਡ ਦਾ ਇੰਡੈਕਸ" + +#: ../gtk/gtkbuilder.c:314 +msgid "Translation Domain" +msgstr "ਟਰਾਂਸਲੇਟ ਡੋਮੇਨ" + +#: ../gtk/gtkbuilder.c:315 +msgid "The translation domain used by gettext" +msgstr "gettext ਵਲੋਂ ਵਰਤੀ ਟਰਾਂਸਲੇਟ ਡੋਮੇਨ" + +#: ../gtk/gtkbutton.c:228 +msgid "" +"Text of the label widget inside the button, if the button contains a label " +"widget" +msgstr "ਬਟਨ ਵਿੱਚ ਲੇਬਲ ਵਿਦਗਿਟ ਦੇ ਸ਼ਬਦ, ਜੇਕਰ ਬਟਨ ਵਿੱਚ ਲੇਬਲ ਵਿਦਗਿਟ ਹੈ" + +#: ../gtk/gtkbutton.c:235 ../gtk/gtkexpander.c:295 ../gtk/gtklabel.c:588 +#: ../gtk/gtkmenuitem.c:343 ../gtk/gtktoolbutton.c:208 +msgid "Use underline" +msgstr "ਹੇਠਾਂ-ਲਾਈਨ ਵਰਤੋਂ" + +#: ../gtk/gtkbutton.c:236 ../gtk/gtkexpander.c:296 ../gtk/gtklabel.c:589 +#: ../gtk/gtkmenuitem.c:344 +msgid "" +"If set, an underline in the text indicates the next character should be used " +"for the mnemonic accelerator key" +msgstr "" +"ਜੇਕਰ, ਸ਼ਬਦ ਵਿੱਚ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚੀ ਗਈ ਹੈ ਤਾਂ ਇਹ ਅਗਲੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਵੇਗਾ ਕਿ ਉਹ " +"ਕੀ-ਬੋਰਡ ਤੋਂ ਵਰਤਿਆ " +"ਜਾ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkbutton.c:243 ../gtk/gtkimagemenuitem.c:164 +msgid "Use stock" +msgstr "ਸਟਾਕ ਵਰਤੋਂ" + +#: ../gtk/gtkbutton.c:244 +msgid "" +"If set, the label is used to pick a stock item instead of being displayed" +msgstr "ਜੇਕਰ ਸੈੱਟ ਕੀਤਾ ਤਾਂ, ਲੇਬਲ ਸਟਾਕ ਆਈਟਮ ਨੂੰ ਚੁੱਕੇਗਾ ਨਾ ਕਿ ਉਸ ਨੂੰ ਵੇਖਾਵੇਗਾ" + +#: ../gtk/gtkbutton.c:251 ../gtk/gtkcombobox.c:791 +#: ../gtk/gtkfilechooserbutton.c:383 +msgid "Focus on click" +msgstr "ਕਲਿੱਕ 'ਤੇ ਫੋਕਸ" + +#: ../gtk/gtkbutton.c:252 ../gtk/gtkfilechooserbutton.c:384 +msgid "Whether the button grabs focus when it is clicked with the mouse" +msgstr "ਕੀ ਬਟਨ ਫੋਕਸ ਹੋ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਇਹ ਮਾਊਸ ਨਾਲ ਦਬਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkbutton.c:259 +msgid "Border relief" +msgstr "ਹਾਸ਼ੀਏ ਦੀ ਛੋਟ" + +#: ../gtk/gtkbutton.c:260 +msgid "The border relief style" +msgstr "ਬਾਰਡਰ ਛੋਟ ਸਟਾਇਲ" + +#: ../gtk/gtkbutton.c:277 +msgid "Horizontal alignment for child" +msgstr "ਚਾਇਲਡ ਲਈ ਲੇਟਵੀ ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkbutton.c:296 +msgid "Vertical alignment for child" +msgstr "ਚਾਇਲਡ ਲਈ ਲੰਬਕਾਰੀ ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkbutton.c:313 ../gtk/gtkimagemenuitem.c:149 +msgid "Image widget" +msgstr "ਚਿੱਤਰ ਵਿਦਗਿਟ" + +#: ../gtk/gtkbutton.c:314 +msgid "Child widget to appear next to the button text" +msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ, ਬਟਨ ਟੈਕਸਟ ਤੋਂ ਅੱਗੇ ਦਿੱਸਣ ਲਈ" + +#: ../gtk/gtkbutton.c:328 +msgid "Image position" +msgstr "ਚਿੱਤਰ ਸਥਿਤੀ" + +#: ../gtk/gtkbutton.c:329 +msgid "The position of the image relative to the text" +msgstr "ਟੈਕਸਟ ਦੇ ਮੁਤਾਬਕ ਚਿੱਤਰ ਦੀ ਅਨੁਸਾਰੀ ਸਥਿਤੀ" + +#: ../gtk/gtkbutton.c:449 +msgid "Default Spacing" +msgstr "ਮੂਲ ਫਾਸਲਾ" + +#: ../gtk/gtkbutton.c:450 +msgid "Extra space to add for GTK_CAN_DEFAULT buttons" +msgstr "GTK_CAN_DEFAULT ਬਟਨਾਂ ਲਈ ਹੋਰ ਥਾਂ ਸ਼ਾਮਲ ਕੀਤੀ" + +#: ../gtk/gtkbutton.c:464 +msgid "Default Outside Spacing" +msgstr "ਮੂਲ ਬਾਹਰੀ ਖਾਲ਼ੀ ਥਾਂ" + +#: ../gtk/gtkbutton.c:465 +msgid "" +"Extra space to add for GTK_CAN_DEFAULT buttons that is always drawn outside " +"the border" +msgstr "" +"ਬਟਨਾਂ GTK_CAN_DEFAULT ਲਈ ਵੱਖਰੀ ਥਾਂ ਜੋੜੋ, ਹੋ ਕਿ ਹਾਸ਼ੀਏ ਤੋਂ ਹਮੇਸ਼ਾ ਬਾਹਰ ਖਿੱਚੀ " +"ਜਾਵੇ" + +#: ../gtk/gtkbutton.c:470 +msgid "Child X Displacement" +msgstr "ਚਾਇਲਡ X ਹਿਲਾਉਣਾ" + +#: ../gtk/gtkbutton.c:471 +msgid "" +"How far in the x direction to move the child when the button is depressed" +msgstr "ਜਦੋ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ ਚਾਇਲਡ ਨੂੰ X ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿਲਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkbutton.c:478 +msgid "Child Y Displacement" +msgstr "ਚਾਇਲਡ Y ਹਿਲਾਉਣਾ" + +#: ../gtk/gtkbutton.c:479 +msgid "" +"How far in the y direction to move the child when the button is depressed" +msgstr "ਜਦੋ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ ਚਾਇਲਡ ਨੂੰ Y ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿਲਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkbutton.c:495 +msgid "Displace focus" +msgstr "ਫੋਕਸ ਹਿਲਾਓ" + +#: ../gtk/gtkbutton.c:496 +msgid "" +"Whether the child_displacement_x/_y properties should also affect the focus " +"rectangle" +msgstr "ਕੀ child_displacement_x/_y properties ਚਤੁਰਭੁਜ ਫੋਕਸ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtkbutton.c:509 ../gtk/gtkentry.c:787 ../gtk/gtkentry.c:1832 +msgid "Inner Border" +msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtkbutton.c:510 +msgid "Border between button edges and child." +msgstr "ਬਟਨ ਕਿਨਾਰੇ ਅਤੇ ਅਧੀਨ ਵਿੱਚ ਹਾਸ਼ੀਆ ਹੈ।" + +#: ../gtk/gtkbutton.c:523 +msgid "Image spacing" +msgstr "ਚਿੱਤਰ ਫਾਸਲਾ" + +#: ../gtk/gtkbutton.c:524 +msgid "Spacing in pixels between the image and label" +msgstr "ਚਿੱਤਰ ਅਤੇ ਲੇਬਲ ਵਿੱਚ ਫਾਸਲਾ ਪਿਕਸਲ ਵਿੱਚ" + +#: ../gtk/gtkcalendar.c:468 +msgid "Year" +msgstr "ਵਰ੍ਹਾ" + +#: ../gtk/gtkcalendar.c:469 +msgid "The selected year" +msgstr "ਚੁਣਿਆ ਵਰ੍ਹਾ" + +#: ../gtk/gtkcalendar.c:482 +msgid "Month" +msgstr "ਮਹੀਨਾ" + +#: ../gtk/gtkcalendar.c:483 +msgid "The selected month (as a number between 0 and 11)" +msgstr "ਚੁਣਿਆ ਮਹੀਨਾ (ਇੱਕ ਨੰਬਰ 0 ਅਤੇ 11 ਵਿੱਚੋਂ)" + +#: ../gtk/gtkcalendar.c:497 +msgid "Day" +msgstr "ਦਿਨ" + +#: ../gtk/gtkcalendar.c:498 +msgid "" +"The selected day (as a number between 1 and 31, or 0 to unselect the " +"currently selected day)" +msgstr "" +"ਚੁਣਿਆ ਦਿਨ ( ਇੱਕ ਨੰਬਰ 1 ਅਤੇ 31 ਵਿੱਚੋ, ਜਾਂ 0 ਮੌਜੂਦਾ ਚੁਣੇ ਦਿਨ ਨੂੰ ਰੱਦ ਕਰਨ ਲਈ)" + +#: ../gtk/gtkcalendar.c:512 +msgid "Show Heading" +msgstr "ਹੈਡਿੰਗ ਵੇਖਾਓ" + +#: ../gtk/gtkcalendar.c:513 +msgid "If TRUE, a heading is displayed" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਹੈਡਿੰਗ ਦਿੱਸੇਗਾ" + +#: ../gtk/gtkcalendar.c:527 +msgid "Show Day Names" +msgstr "ਦਿਨ ਦੇ ਨਾਂ ਵੇਖਾਓ" + +#: ../gtk/gtkcalendar.c:528 +msgid "If TRUE, day names are displayed" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਦਿਨ ਦਾ ਨਾਂ ਵਿਖਾਈ ਦੇਵੇਗਾ" + +#: ../gtk/gtkcalendar.c:541 +msgid "No Month Change" +msgstr "ਕੋਈ ਮਹੀਨਾ ਨਾ ਬਦਲੋ" + +#: ../gtk/gtkcalendar.c:542 +msgid "If TRUE, the selected month cannot be changed" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਕੋਈ ਮਹੀਨਾ ਨਹੀਂ ਬਦਲ ਸਕੇਗਾ" + +#: ../gtk/gtkcalendar.c:556 +msgid "Show Week Numbers" +msgstr "ਹਫਤਾ ਨੰਬਰ ਵੇਖਾਓ" + +#: ../gtk/gtkcalendar.c:557 +msgid "If TRUE, week numbers are displayed" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਹਫਤੇ ਦਾ ਨੰਬਰ ਦਿੱਸੇਗਾ" + +#: ../gtk/gtkcalendar.c:572 +msgid "Details Width" +msgstr "ਵੇਰਵਾ ਚੌੜਾਈ" + +#: ../gtk/gtkcalendar.c:573 +msgid "Details width in characters" +msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਵੇਰਵਾ ਚੌੜਾਈ" + +#: ../gtk/gtkcalendar.c:588 +msgid "Details Height" +msgstr "ਵੇਰਵਾ ਉਚਾਈ" + +#: ../gtk/gtkcalendar.c:589 +msgid "Details height in rows" +msgstr "ਕਤਾਰਾਂ ਵਿੱਚ ਵੇਰਵੇ ਦੀ ਉਚਾਈ" + +#: ../gtk/gtkcalendar.c:605 +msgid "Show Details" +msgstr "ਵੇਰਵਾ ਵੇਖੋ" + +#: ../gtk/gtkcalendar.c:606 +msgid "If TRUE, details are shown" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਵੇਰਵਾ ਵੇਖੋ" + +#: ../gtk/gtkcalendar.c:618 +msgid "Inner border" +msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtkcalendar.c:619 +msgid "Inner border space" +msgstr "ਅੰਦਰੂਨੀ ਹਾਸ਼ੀਆ ਥਾਂ" + +#: ../gtk/gtkcalendar.c:630 +msgid "Vertical separation" +msgstr "ਲੰਬਕਾਰ ਵੱਖਰੇਵਾਂ" + +#: ../gtk/gtkcalendar.c:631 +msgid "Space between day headers and main area" +msgstr "ਦਿਨ ਹੈੱਡਰ ਤੇ ਮੁੱਖ ਖੇਤਰ ਵਿੱਚ ਥਾਂ" + +#: ../gtk/gtkcalendar.c:642 +msgid "Horizontal separation" +msgstr "ਹਰੀਜੱਟਲ ਵੱਖਰੇਵਾਂ" + +#: ../gtk/gtkcalendar.c:643 +msgid "Space between week headers and main area" +msgstr "ਹਫ਼ਤਾ ਹੈੱਡਰ ਤੇ ਮੁੱਖ ਖੇਤਰ ਵਿੱਚ ਫਾਸਲਾ" + +#: ../gtk/gtkcellareabox.c:319 ../gtk/gtktreeviewcolumn.c:269 +msgid "Space which is inserted between cells" +msgstr "ਸੈੱਲਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਥਾਂ" + +#: ../gtk/gtkcellareabox.c:339 +msgid "Whether the cell expands" +msgstr "ਕੀ ਸੈੱਲ ਫੈਲਾਉਣਾ ਹੈ" + +#: ../gtk/gtkcellareabox.c:354 +msgid "Align" +msgstr "ਇਕਸਾਰ" + +#: ../gtk/gtkcellareabox.c:355 +msgid "Whether cell should align with adjacent rows" +msgstr "ਕੀ ਸੈੱਲ ਗੁਆਂਡੀ ਕਤਾਰਾਂ ਮੁਤਾਬਕ ਇਕਸਾਰ ਹੋਵੇ" + +#: ../gtk/gtkcellareabox.c:371 +msgid "Fixed Size" +msgstr "ਸਥਿਰ ਆਕਾਰ" + +#: ../gtk/gtkcellareabox.c:372 +msgid "Whether cells should be the same size in all rows" +msgstr "ਕੀ ਸੈੱਲ ਸਭ ਕਤਾਰਾਂ ਵਿੱਚ ਇੱਕੋ ਆਕਾਰ ਦੇ ਹੋਣ" + +#: ../gtk/gtkcellareabox.c:388 +msgid "Pack Type" +msgstr "ਪੈਕ ਕਿਸਮ" + +#: ../gtk/gtkcellareabox.c:389 +msgid "" +"A GtkPackType indicating whether the cell is packed with reference to the " +"start or end of the cell area" +msgstr "" +"ਇਹ GtkPackType ਵੇਖਾ ਰਿਹਾ ਹੈ ਕਿ ਸੈੱਲ ਨੂੰ ਸੈੱਲ ਖੇਤਰ ਦੇ ਸ਼ੁਰੂ ਜ਼ਾਂ ਅਖੀਰ ਵਿੱਚ ਪੈਕ " +"ਕੀਤਾ ਜਾਏ" + +#: ../gtk/gtkcellarea.c:773 +msgid "Focus Cell" +msgstr "ਫੋਕਸ ਸੈੱਲ" + +#: ../gtk/gtkcellarea.c:774 +msgid "The cell which currently has focus" +msgstr "ਸੈੱਲ, ਜੋ ਇਸ ਸਮੇਂ ਫੋਕਸ ਹੈ" + +#: ../gtk/gtkcellarea.c:792 +msgid "Edited Cell" +msgstr "ਸੋਧਯੋਗ ਸੈੱਲ" + +#: ../gtk/gtkcellarea.c:793 +msgid "The cell which is currently being edited" +msgstr "ਸੈੱਲ, ਜੋ ਇਸ ਸਮੇਂ ਸੋਧਿਆ ਜਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkcellarea.c:811 +msgid "Edit Widget" +msgstr "ਵਿਦਜੈੱਟ ਸੋਧ" + +#: ../gtk/gtkcellarea.c:812 +msgid "The widget currently editing the edited cell" +msgstr "ਵਿਦਜੈੱਟ, ਜੋ ਸੋਧੇ ਜਾ ਰਹੇ ਸੈੱਲ ਨੂੰ ਬਦਲ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkcellareacontext.c:127 +msgid "Area" +msgstr "ਖੇਤਰ" + +#: ../gtk/gtkcellareacontext.c:128 +msgid "The Cell Area this context was created for" +msgstr "ਸੈੱਲ ਖੇਤਰ, ਜਿਸ ਲਈ ਇਕ ਪਰਸੰਗ ਬਣਾਇਆ ਗਿਆ ਸੀ" + +#: ../gtk/gtkcellareacontext.c:144 ../gtk/gtkcellareacontext.c:163 +#: ../gtk/gtktreeviewcolumn.c:296 +msgid "Minimum Width" +msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" + +#: ../gtk/gtkcellareacontext.c:145 ../gtk/gtkcellareacontext.c:164 +msgid "Minimum cached width" +msgstr "ਘੱਟੋ-ਘੱਟ ਕੈਸ਼ ਕੀਤੀ ਚੌੜਾਈ" + +#: ../gtk/gtkcellareacontext.c:182 ../gtk/gtkcellareacontext.c:201 +msgid "Minimum Height" +msgstr "ਘੱਟੋ-ਘੱਟ ਉਚਾਈ" + +#: ../gtk/gtkcellareacontext.c:183 ../gtk/gtkcellareacontext.c:202 +msgid "Minimum cached height" +msgstr "ਘੱਟੋ-ਘੱਟ ਕੈਸ਼ ਕੀਤੀ ਉਚਾਈ" + +#: ../gtk/gtkcelleditable.c:53 +msgid "Editing Canceled" +msgstr "ਸੋਧ ਰੱਦ ਕੀਤੀ" + +#: ../gtk/gtkcelleditable.c:54 +msgid "Indicates that editing has been canceled" +msgstr "ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਸੋਧਣ ਨੂੰ ਰੱਦ ਕੀਤਾ ਗਿਆ ਹੈ" + +#: ../gtk/gtkcellrendereraccel.c:137 +msgid "Accelerator key" +msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚ" + +#: ../gtk/gtkcellrendereraccel.c:138 +msgid "The keyval of the accelerator" +msgstr "ਐਕਸਰਲੇਟਰ ਲਈ ਸਵਿੱਚ-ਮੁੱਲ" + +#: ../gtk/gtkcellrendereraccel.c:154 +msgid "Accelerator modifiers" +msgstr "ਐਕਸਰਲੇਟਰ ਸੋਧਕ" + +#: ../gtk/gtkcellrendereraccel.c:155 +msgid "The modifier mask of the accelerator" +msgstr "ਐਕਸਰਲੇਟਰ ਲਈ ਸੋਧਕ ਮਾਸਕ" + +#: ../gtk/gtkcellrendereraccel.c:172 +msgid "Accelerator keycode" +msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚ-ਕੋਡ" + +#: ../gtk/gtkcellrendereraccel.c:173 +msgid "The hardware keycode of the accelerator" +msgstr "ਐਕਸਰਲੇਟਰ ਲਈ ਜੰਤਰ ਸਵਿੱਚ-ਕੋਡ" + +#: ../gtk/gtkcellrendereraccel.c:192 +msgid "Accelerator Mode" +msgstr "ਐਕਸਰਲੇਟਰ ਢੰਗ" + +#: ../gtk/gtkcellrendereraccel.c:193 +msgid "The type of accelerators" +msgstr "ਐਕਸਰਲੇਟਰ ਦੀ ਕਿਸਮ" + +#: ../gtk/gtkcellrenderer.c:272 +msgid "mode" +msgstr "ਢੰਗ" + +#: ../gtk/gtkcellrenderer.c:273 +msgid "Editable mode of the CellRenderer" +msgstr "CellRenderer ਦਾ ਸੋਧਣਯੋਗ ਮੋਡ" + +#: ../gtk/gtkcellrenderer.c:281 +msgid "visible" +msgstr "ਦਿੱਖ" + +#: ../gtk/gtkcellrenderer.c:282 +msgid "Display the cell" +msgstr "ਸੈਲ ਵੇਖਾਓ" + +#: ../gtk/gtkcellrenderer.c:289 +msgid "Display the cell sensitive" +msgstr "ਸੈਲ ਸੰਵੇਦਸ਼ੀਲ ਵੇਖਾਓ" + +#: ../gtk/gtkcellrenderer.c:296 +msgid "xalign" +msgstr "x ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkcellrenderer.c:297 +msgid "The x-align" +msgstr "x-ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkcellrenderer.c:306 +msgid "yalign" +msgstr "y ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkcellrenderer.c:307 +msgid "The y-align" +msgstr "y-ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkcellrenderer.c:316 +msgid "xpad" +msgstr "xpad" + +#: ../gtk/gtkcellrenderer.c:317 +msgid "The xpad" +msgstr "xpad" + +#: ../gtk/gtkcellrenderer.c:326 +msgid "ypad" +msgstr "ypad" + +#: ../gtk/gtkcellrenderer.c:327 +msgid "The ypad" +msgstr "ypad" + +#: ../gtk/gtkcellrenderer.c:336 +msgid "width" +msgstr "ਚੌੜਾਈ" + +#: ../gtk/gtkcellrenderer.c:337 +msgid "The fixed width" +msgstr "ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" + +#: ../gtk/gtkcellrenderer.c:346 +msgid "height" +msgstr "ਉਚਾਈ" + +#: ../gtk/gtkcellrenderer.c:347 +msgid "The fixed height" +msgstr "ਨਿਸ਼ਚਿਤ ਉਚਾਈ" + +#: ../gtk/gtkcellrenderer.c:356 +msgid "Is Expander" +msgstr "ਫੈਲਣਯੋਗ ਹੈ" + +#: ../gtk/gtkcellrenderer.c:357 +msgid "Row has children" +msgstr "ਕਤਾਰ ਵਿੱਚ ਚਾਇਲਡਰਨ ਹਨ" + +#: ../gtk/gtkcellrenderer.c:365 +msgid "Is Expanded" +msgstr "ਫੈਲ ਗਿਆ ਹੈ" + +#: ../gtk/gtkcellrenderer.c:366 +msgid "Row is an expander row, and is expanded" +msgstr "ਕਤਾਰ ਇੱਕ ਫੈਲਣਯੋਗ ਕਤਾਰ ਹੈ ਅਤੇ ਫੈਲ ਗਈ ਹੈ" + +#: ../gtk/gtkcellrenderer.c:373 +msgid "Cell background color name" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਦਾ ਨਾਂ" + +#: ../gtk/gtkcellrenderer.c:374 +msgid "Cell background color as a string" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ ਸਤਰ ਵਾਂਗ" + +#: ../gtk/gtkcellrenderer.c:381 +msgid "Cell background color" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ" + +#: ../gtk/gtkcellrenderer.c:382 +msgid "Cell background color as a GdkColor" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkColor ਵਾਂਗ" + +#: ../gtk/gtkcellrenderer.c:395 +msgid "Cell background RGBA color" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ RGBA ਰੰਗ" + +#: ../gtk/gtkcellrenderer.c:396 +msgid "Cell background color as a GdkRGBA" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkRGBA ਵਾਂਗ" + +#: ../gtk/gtkcellrenderer.c:403 +msgid "Editing" +msgstr "ਸੋਧ ਜਾਰੀ" + +#: ../gtk/gtkcellrenderer.c:404 +msgid "Whether the cell renderer is currently in editing mode" +msgstr "ਕੀ ਸੋਧ ਢੰਗ ਵਿੱਚ ਮੌਜੂਦਾ ਸੈੱਲ ਰੈਡਰਿੰਗ ਹੋਵੇ" + +#: ../gtk/gtkcellrenderer.c:412 +msgid "Cell background set" +msgstr "ਸੈਲ ਬੈਕਗਰਾਊਂਡ ਦਿਓ" + +#: ../gtk/gtkcellrenderer.c:413 +msgid "Whether this tag affects the cell background color" +msgstr "ਕੀ ਇਹ ਟੈਗ ਸੈਲ਼ ਦੀ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇਗਾ" + +#: ../gtk/gtkcellrenderercombo.c:109 +msgid "Model" +msgstr "ਮਾਡਲ" + +#: ../gtk/gtkcellrenderercombo.c:110 +msgid "The model containing the possible values for the combo box" +msgstr "ਮਾਡਲ ਕੰਬੋ-ਬਾਕਸ ਲਈ ਸੰਭਵ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" + +#: ../gtk/gtkcellrenderercombo.c:132 +msgid "Text Column" +msgstr "ਟੈਕਸਟ ਕਾਲਮ" + +#: ../gtk/gtkcellrenderercombo.c:133 +msgid "A column in the data source model to get the strings from" +msgstr "ਕਾਲਮ ਡੈਟਾ-ਸਰੋਤ ਮਾਡਲ ਵਿੱਚ ਸਤਰਾਂ ਇਸ ਤੋਂ ਪਰਾਪਤ ਕਰੇਗਾ" + +#: ../gtk/gtkcellrenderercombo.c:150 ../gtk/gtkcombobox.c:858 +msgid "Has Entry" +msgstr "ਇੰਦਰਾਜ਼ ਹੈ" + +#: ../gtk/gtkcellrenderercombo.c:151 +msgid "If FALSE, don't allow to enter strings other than the chosen ones" +msgstr "ਜੇਕਰ ਗਲਤ ਹੋਇਆ ਤਾਂ, ਇਹ ਚੁਣਿਆਂ ਤੋਂ ਬਿਨਾਂ ਸਤਰ ਦੇਣ ਨੂੰ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰੇਗਾ" + +#: ../gtk/gtkcellrendererpixbuf.c:120 +msgid "Pixbuf Object" +msgstr "ਪਿਕਬਫ ਆਬਜੈਕਟ" + +#: ../gtk/gtkcellrendererpixbuf.c:121 +msgid "The pixbuf to render" +msgstr "ਪੇਸ਼ ਕਰਨ ਲਈ ਪਿਕਬੱਫ" + +#: ../gtk/gtkcellrendererpixbuf.c:128 +msgid "Pixbuf Expander Open" +msgstr "ਪਿਕਬੱਪ ਐਕਸਪੈਡਰ ਖੋਲ੍ਹੋ" + +#: ../gtk/gtkcellrendererpixbuf.c:129 +msgid "Pixbuf for open expander" +msgstr "ਖੁੱਲੇ ਐਕਸਪੈਡਰ ਲਈ ਪਿਕਬੱਪ" + +#: ../gtk/gtkcellrendererpixbuf.c:136 +msgid "Pixbuf Expander Closed" +msgstr "ਪਿਕਬੱਪ ਐਕਸਪੈਡਰ ਬੰਦ" + +#: ../gtk/gtkcellrendererpixbuf.c:137 +msgid "Pixbuf for closed expander" +msgstr "ਬੰਦ ਐਕਸਪੈਡਰ ਲਈ ਪਿਕਬੱਪ" + +#: ../gtk/gtkcellrendererpixbuf.c:144 ../gtk/gtkimage.c:253 +#: ../gtk/gtkstatusicon.c:220 +msgid "Stock ID" +msgstr "ਸਟਾਕ ID" + +#: ../gtk/gtkcellrendererpixbuf.c:145 +msgid "The stock ID of the stock icon to render" +msgstr "ਪੇਸ਼ ਕਰਨ ਲਈ ਸਟਾਕ ਆਈਕਾਨ ਦਾ ਸਟਾਕ ID" + +#: ../gtk/gtkcellrendererpixbuf.c:152 ../gtk/gtkcellrendererspinner.c:151 +#: ../gtk/gtkrecentmanager.c:309 ../gtk/gtkstatusicon.c:261 msgid "Size" msgstr "ਅਕਾਰ" -#: ../gtk/gtkfilechooserdefault.c:4399 -msgid "Modified" -msgstr "ਸੋਧੀਆਂ" +#: ../gtk/gtkcellrendererpixbuf.c:153 +msgid "The GtkIconSize value that specifies the size of the rendered icon" +msgstr "GtkIconSize ਮੁੱਲ ਜੋ ਕਿ ਪੇਸ਼ ਆਈਕਾਨ ਦਾ ਆਕਾਰ ਸੈੱਟ ਕਰਦਾ ਹੈ" -#. Label -#: ../gtk/gtkfilechooserdefault.c:4654 ../gtk/gtkprinteroptionwidget.c:793 -msgid "_Name:" -msgstr "ਨਾਂ(_N):" +#: ../gtk/gtkcellrendererpixbuf.c:162 +msgid "Detail" +msgstr "ਵੇਰਵਾ" -#: ../gtk/gtkfilechooserdefault.c:4697 -msgid "_Browse for other folders" -msgstr "ਹੋਰ ਫੋਲਡਰਾਂ ਲਈ ਝਲਕ(_B)" +#: ../gtk/gtkcellrendererpixbuf.c:163 +msgid "Render detail to pass to the theme engine" +msgstr "ਸਰੂਪ ਇੰਜਣ ਨੂੰ ਦੇਣ ਲਈ ਪੇਸ਼ਕਾਰੀ ਵੇਰਵਾ" -#: ../gtk/gtkfilechooserdefault.c:4967 -msgid "Type a file name" -msgstr "ਇੱਕ ਫਾਇਲ ਨਾਂ ਦਿਓ" +#: ../gtk/gtkcellrendererpixbuf.c:196 +msgid "Follow State" +msgstr "ਅੱਗੇ ਹਾਲਤ" -#. Create Folder -#: ../gtk/gtkfilechooserdefault.c:5010 -msgid "Create Fo_lder" -msgstr "ਫੋਲਡਰ ਬਣਾਓ(_l)" +#: ../gtk/gtkcellrendererpixbuf.c:197 +msgid "Whether the rendered pixbuf should be colorized according to the state" +msgstr "ਕੀ ਪੇਸ਼ਕਾਰੀ ਪਿਕਬਫ਼ਰ ਨੂੰ ਹਾਲਤ ਦੇ ਅਨੁਸਾਰ ਰੰਗਦਾਰ ਬਣਾਉਣਾ ਹੈ" -#: ../gtk/gtkfilechooserdefault.c:5020 -msgid "_Location:" -msgstr "ਟਿਕਾਣਾ(_L):" +#: ../gtk/gtkcellrendererpixbuf.c:214 ../gtk/gtkimage.c:328 +#: ../gtk/gtkwindow.c:698 +msgid "Icon" +msgstr "ਆਈਕਾਨ" -#: ../gtk/gtkfilechooserdefault.c:5224 -msgid "Save in _folder:" -msgstr "ਫੋਲਡਰ ਵਿੱਚ ਸੰਭਾਲੋ(_f):" +#: ../gtk/gtkcellrendererprogress.c:127 +msgid "Value of the progress bar" +msgstr "ਤਰੱਕੀ ਪੱਟੀ ਦਾ ਮੁੱਲ" -#: ../gtk/gtkfilechooserdefault.c:5226 -msgid "Create in _folder:" -msgstr "ਫੋਲਡਰ ਵਿੱਚ ਬਣਾਓ(_f):" +#: ../gtk/gtkcellrendererprogress.c:144 ../gtk/gtkcellrenderertext.c:255 +#: ../gtk/gtkentry.c:830 ../gtk/gtkentrybuffer.c:352 +#: ../gtk/gtkmessagedialog.c:227 ../gtk/gtkprogressbar.c:177 +#: ../gtk/gtktextbuffer.c:210 +msgid "Text" +msgstr "ਪਾਠ" -#: ../gtk/gtkfilechooserdefault.c:6294 -#, c-format -msgid "Could not read the contents of %s" -msgstr "%s ਦੀ ਸਮੱਗਰੀ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" +#: ../gtk/gtkcellrendererprogress.c:145 +msgid "Text on the progress bar" +msgstr "ਤਰੱਕੀ ਪੱਟੀ ਉੱਤੇ ਪਾਠ" -#: ../gtk/gtkfilechooserdefault.c:6298 -msgid "Could not read the contents of the folder" -msgstr "ਫੋਲਡਰ ਦੀ ਸਮੱਗਰੀ ਪੜ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ" +#: ../gtk/gtkcellrendererprogress.c:168 ../gtk/gtkcellrendererspinner.c:137 +msgid "Pulse" +msgstr "ਲਹਿਰ" -#: ../gtk/gtkfilechooserdefault.c:6391 ../gtk/gtkfilechooserdefault.c:6459 -#: ../gtk/gtkfilechooserdefault.c:6604 -msgid "Unknown" -msgstr "ਅਣਜਾਣ" - -#: ../gtk/gtkfilechooserdefault.c:6406 -msgid "%H:%M" -msgstr "%H:%M" - -#: ../gtk/gtkfilechooserdefault.c:6408 -msgid "Yesterday at %H:%M" -msgstr "%H:%M ਵਜੇ ਕੱਲ੍ਹ" - -#: ../gtk/gtkfilechooserdefault.c:7074 -msgid "Cannot change to folder because it is not local" -msgstr "ਫੋਲਡਰ ਨੂੰ ਬਦਲਿਆ ਨਹੀਂ ਕਰ ਸਕਿਆ, ਕਿਉਂਕਿ ਇਹ ਲੋਕਲ ਨਹੀਂ ਹੈ" - -#: ../gtk/gtkfilechooserdefault.c:7671 ../gtk/gtkfilechooserdefault.c:7692 -#, c-format -msgid "Shortcut %s already exists" -msgstr "ਸ਼ਾਰਟਕੱਟ %s ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ" - -#: ../gtk/gtkfilechooserdefault.c:7782 -#, c-format -msgid "Shortcut %s does not exist" -msgstr "ਸ਼ਾਰਟਕੱਟ %s ਮੌਜੂਦ ਨਹੀਂ ਹੈ" - -#: ../gtk/gtkfilechooserdefault.c:8044 ../gtk/gtkprintunixdialog.c:481 -#, c-format -msgid "A file named \"%s\" already exists. Do you want to replace it?" -msgstr "ਇੱਕ ਫਾਇਲ ਨਾਂ \"%s\" ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੈ। ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ?" - -#: ../gtk/gtkfilechooserdefault.c:8047 ../gtk/gtkprintunixdialog.c:485 -#, c-format -msgid "The file already exists in \"%s\". Replacing it will overwrite its contents." -msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਹੀ \"%s\" ਵਿੱਚ ਮੌਜੂਦ ਹੈ। ਇਸ ਨੂੰ ਇਸ ਦੇ ਸਭ ਭਾਗਾਂ ਸਮੇਤ ਬਦਲਿਆ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।" - -#: ../gtk/gtkfilechooserdefault.c:8052 ../gtk/gtkprintunixdialog.c:492 -msgid "_Replace" -msgstr "ਬਦਲੋ(_R)" - -#: ../gtk/gtkfilechooserdefault.c:8760 -msgid "Could not start the search process" -msgstr "ਖੋਜ ਕਾਰਵਾਈ ਨੂੰ ਸ਼ੁਰੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" - -#: ../gtk/gtkfilechooserdefault.c:8761 +#: ../gtk/gtkcellrendererprogress.c:169 msgid "" -"The program was not able to create a connection to the indexer daemon. " -"Please make sure it is running." -msgstr "ਪਰੋਗਰਾਮ ਤਤਕਰਾ ਡੈਮਨ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਬਣਾਉਣ ਲਈ ਅਸਫ਼ਲ ਹੈ। ਜਾਂਚ ਲਵੋ ਕਿ ਇਹ ਚੱਲ ਰਹੀ ਹੈ।" +"Set this to positive values to indicate that some progress is made, but you " +"don't know how much." +msgstr "" +"ਇਸ ਲਈ ਧਨਾਤਮਕ ਮੁੱਲ ਦਿਓ, ਜੋ ਕਿ ਕੁਝ ਹੋਈ ਤਰੱਕੀ ਨੂੰ ਵੇਖਾਏ, ਪਰ ਤੁਸੀਂ ਨਹੀਂ ਜਾਣਦੇ ਕਿ " +"ਕਿੰਨੀ।" -#: ../gtk/gtkfilechooserdefault.c:8775 -msgid "Could not send the search request" -msgstr "ਖੋਜ ਮੰਗ ਭੇਜੀ ਨਹੀਂ ਜਾ ਸਕੀ" +#: ../gtk/gtkcellrendererprogress.c:185 +msgid "Text x alignment" +msgstr "ਪਾਠ x -ਸ਼ਫ਼ਬੰਦੀ" -#: ../gtk/gtkfilechooserdefault.c:8994 -msgid "Search:" -msgstr "ਖੋਜ:" +#: ../gtk/gtkcellrendererprogress.c:186 +msgid "" +"The horizontal text alignment, from 0 (left) to 1 (right). Reversed for RTL " +"layouts." +msgstr "" +"ਖਿਤਿਜੀ ਟੈਕਸਟ ਸਫ਼ਬੰਦੀ, 0 (ਖੱਬਿਓ) ਤੋਂ 1 (ਸੱਜੇ) ਹੈ। RTL ਲੇਆਉਟ ਲਈ ਰਾਖਵਾਂ ਹੈ।" -#: ../gtk/gtkfilechooserdefault.c:9599 -#, c-format -msgid "Could not mount %s" -msgstr "%s ਮਾਊਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" +#: ../gtk/gtkcellrendererprogress.c:202 +msgid "Text y alignment" +msgstr "ਪਾਠ y -ਸ਼ਫ਼ਬੰਦੀ" -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry, when the user enters an invalid path. -#: ../gtk/gtkfilechooserentry.c:700 ../gtk/gtkfilechooserentry.c:1178 -msgid "Invalid path" -msgstr "ਗਲਤ ਪਾਥ" +#: ../gtk/gtkcellrendererprogress.c:203 +msgid "The vertical text alignment, from 0 (top) to 1 (bottom)." +msgstr "ਲੰਬਕਾਰੀ ਸ਼ਫ਼ਬੰਦੀ, 0 (ਉਤੋਂ) ਤੋਂ 1 (ਹੇਠਾਂ) ਹੈ।" -#. translators: this text is shown when there are no completions -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1110 -msgid "No match" -msgstr "ਕੋਈ ਮੇਲ ਨਹੀਂ" +#: ../gtk/gtkcellrendererprogress.c:214 ../gtk/gtkprogressbar.c:153 +#: ../gtk/gtkrange.c:424 +msgid "Inverted" +msgstr "ਬਦਲਵਾਂ" -#. translators: this text is shown when there is exactly one completion -#. * for something the user typed in a file chooser entry -#. -#: ../gtk/gtkfilechooserentry.c:1121 -msgid "Sole completion" -msgstr "ਪੂਰਾ ਮੁਕੰਮਲ" +#: ../gtk/gtkcellrendererprogress.c:215 ../gtk/gtkprogressbar.c:154 +msgid "Invert the direction in which the progress bar grows" +msgstr "ਤਰੱਕੀ-ਪੱਟੀ ਦੇ ਵੱਧਣ ਦੀ ਦਿਸ਼ਾ ਨੂੰ ਉਲਟਾ ਕਰੋ" -#. translators: this text is shown when the text in a file chooser -#. * entry is a complete filename, but could be continued to find -#. * a longer match -#. -#: ../gtk/gtkfilechooserentry.c:1137 -msgid "Complete, but not unique" -msgstr "ਪੂਰਾ, ਪਰ ਵਿਲੱਖਣ ਨਹੀਂ" +#: ../gtk/gtkcellrendererspin.c:91 ../gtk/gtkrange.c:416 +#: ../gtk/gtkscalebutton.c:236 ../gtk/gtkspinbutton.c:320 +msgid "Adjustment" +msgstr "ਅਨਕੂਲਤਾ" -#. Translators: this text is shown while the system is searching -#. * for possible completions for filenames in a file chooser entry. -#: ../gtk/gtkfilechooserentry.c:1169 -msgid "Completing..." -msgstr "...ਪੂਰਾ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkcellrendererspin.c:92 ../gtk/gtkspinbutton.c:321 +msgid "The adjustment that holds the value of the spin button" +msgstr "ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਸਪਿਨ-ਬਟਨ ਦਾ ਮੁੱਲ ਰੱਖਦੀ ਹੈ" -#. hostnames in a local_only file chooser? user error -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user enters something like -#. * "sftp://blahblah" in an app that only supports local filenames. -#: ../gtk/gtkfilechooserentry.c:1191 ../gtk/gtkfilechooserentry.c:1216 -msgid "Only local files may be selected" -msgstr "ਕੇਵਲ ਲੋਕਲ ਫਾਇਲਾਂ ਹੀ ਚੁਣੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ" +#: ../gtk/gtkcellrendererspin.c:107 +msgid "Climb rate" +msgstr "ਚੜ੍ਹਨ ਦਰ" -#. Another option is to complete the hostname based on the remote volumes that are mounted -#. Translators: this is shown in the feedback for Tab-completion in a -#. * file chooser's text entry when the user hasn't entered the first '/' -#. * after a hostname and yet hits Tab (such as "sftp://blahblah[Tab]") -#: ../gtk/gtkfilechooserentry.c:1200 -msgid "Incomplete hostname; end it with '/'" -msgstr "ਅਧੂਰਾ ਹੋਸਟ ਨਾਂ, '/' ਨਾਲ ਅੰਤ" +#: ../gtk/gtkcellrendererspin.c:108 ../gtk/gtkspinbutton.c:329 +msgid "The acceleration rate when you hold down a button" +msgstr "ਬਟਨ ਨੂੰ ਦਬਾਕੇ ਰੱਖਣ ਤੇ ਐਕਸਲੇਸ਼ਨ" -#. Translators: this is shown in the feedback for Tab-completion in a file -#. * chooser's text entry when the user enters a path that does not exist -#. * and then hits Tab -#: ../gtk/gtkfilechooserentry.c:1211 -msgid "Path does not exist" -msgstr "ਪਾਥ ਮੌਜੂਦ ਨਹੀਂ" +#: ../gtk/gtkcellrendererspin.c:121 ../gtk/gtkscale.c:253 +#: ../gtk/gtkspinbutton.c:338 +msgid "Digits" +msgstr "ਅੰਕ" -#. The pointers we return for a GtkFileSystemVolume are opaque tokens; they are -#. * really pointers to GDrive, GVolume or GMount objects. We need an extra -#. * token for the fake "File System" volume. So, we'll return a pointer to -#. * this particular string. -#. -#: ../gtk/gtkfilesystem.c:48 -msgid "File System" -msgstr "ਫਾਇਲ ਸਿਸਟਮ" +#: ../gtk/gtkcellrendererspin.c:122 ../gtk/gtkspinbutton.c:339 +msgid "The number of decimal places to display" +msgstr "ਵੇਖਾਉਣ ਲਈ ਦਸ਼ਮਲਵ ਅੰਕਾਂ ਦੀ ਗਿਣਤੀ" -#: ../gtk/gtkfontbutton.c:142 ../gtk/gtkfontbutton.c:266 -msgid "Pick a Font" -msgstr "ਇੱਕ ਫੋਂਟ ਚੁਣੋ" +#: ../gtk/gtkcellrendererspinner.c:119 ../gtk/gtkcheckmenuitem.c:106 +#: ../gtk/gtkmenu.c:586 ../gtk/gtkspinner.c:118 ../gtk/gtkswitch.c:752 +#: ../gtk/gtktoggleaction.c:133 ../gtk/gtktogglebutton.c:125 +#: ../gtk/gtktoggletoolbutton.c:112 +msgid "Active" +msgstr "ਸਰਗਰਮ" -#. Initialize fields -#: ../gtk/gtkfontbutton.c:260 -msgid "Sans 12" -msgstr "Sans ੧੨" +#: ../gtk/gtkcellrendererspinner.c:120 +msgid "Whether the spinner is active (ie. shown) in the cell" +msgstr "ਕੀ ਸੈੱਲ ਵਿੱਚ ਸਪਿੱਨਰ ਐਕਟਿਵ ਹੋਵੇ (ਜਿਵੇਂ ਵੇਖਾਇਆ)" -#: ../gtk/gtkfontbutton.c:785 +#: ../gtk/gtkcellrendererspinner.c:138 +msgid "Pulse of the spinner" +msgstr "ਸਪਿੱਨਰ ਦੀ ਪਲਸ" + +#: ../gtk/gtkcellrendererspinner.c:152 +msgid "The GtkIconSize value that specifies the size of the rendered spinner" +msgstr "GtkIconSize ਮੁੱਲ ਜੋ ਕਿ ਰੈਂਡਰ ਕੀਤੇ ਸਪਿੱਨਰ ਦਾ ਆਕਾਰ ਹੈ" + +#: ../gtk/gtkcellrenderertext.c:256 +msgid "Text to render" +msgstr "ਪੇਸ਼ਕਾਰੀ ਪਾਠ" + +#: ../gtk/gtkcellrenderertext.c:263 +msgid "Markup" +msgstr "ਨਿਸ਼ਾਨਬੱਧ" + +#: ../gtk/gtkcellrenderertext.c:264 +msgid "Marked up text to render" +msgstr "ਪੇਸ਼ਕਾਰੀ ਲਈ ਟੈਕਸਟ ਦੀ ਨਿਸ਼ਾਨਬੰਦੀ" + +#: ../gtk/gtkcellrenderertext.c:271 ../gtk/gtklabel.c:574 +msgid "Attributes" +msgstr "ਗੁਣ" + +#: ../gtk/gtkcellrenderertext.c:272 +msgid "A list of style attributes to apply to the text of the renderer" +msgstr "ਪੇਸ਼ ਕਰਨ ਲਈ ਟੈਕਸਟ ਲਈ ਜਾਰੀ ਸਟਾਇਲ ਗੁਣਾਂ ਦੀ ਲਿਸਟ ਹੈ" + +#: ../gtk/gtkcellrenderertext.c:279 +msgid "Single Paragraph Mode" +msgstr "ਇੱਕ ਪੈਰਾ ਮੋਡ" + +#: ../gtk/gtkcellrenderertext.c:280 +msgid "Whether to keep all text in a single paragraph" +msgstr "ਕੀ ਸਾਰੇ ਟੈਕਸਟ ਨੂੰ ਇੱਕੋ ਪ੍ਹੈਰੇ ਵਿੱਚ ਰੱਖਣਾ ਹੈ" + +#: ../gtk/gtkcellrenderertext.c:288 ../gtk/gtkcellview.c:189 +#: ../gtk/gtktexttag.c:196 +msgid "Background color name" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtkcellrenderertext.c:289 ../gtk/gtkcellview.c:190 +#: ../gtk/gtktexttag.c:197 +msgid "Background color as a string" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ ਸਤਰ ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:296 ../gtk/gtkcellview.c:196 +#: ../gtk/gtktexttag.c:204 +msgid "Background color" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ" + +#: ../gtk/gtkcellrenderertext.c:297 ../gtk/gtkcellview.c:197 +msgid "Background color as a GdkColor" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkColor ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:311 +msgid "Background color as RGBA" +msgstr "RGBA ਵਜੋਂ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtkcellrenderertext.c:312 ../gtk/gtkcellview.c:211 +msgid "Background color as a GdkRGBA" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਇੱਕ GdkRGBA ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:318 ../gtk/gtktexttag.c:220 +msgid "Foreground color name" +msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtkcellrenderertext.c:319 ../gtk/gtktexttag.c:221 +msgid "Foreground color as a string" +msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਇੱਕ ਸਤਰ ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:326 ../gtk/gtktexttag.c:228 +#: ../gtk/gtktrayicon-x11.c:134 +msgid "Foreground color" +msgstr "ਫਾਰਗਰਾਊਂਡ ਰੰਗ" + +#: ../gtk/gtkcellrenderertext.c:327 +msgid "Foreground color as a GdkColor" +msgstr "ਫਾਰਗਰਾਊਂਡ GdkColor ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:341 +msgid "Foreground color as RGBA" +msgstr "RGBA ਵਜੋਂ ਫਾਰਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtkcellrenderertext.c:342 +msgid "Foreground color as a GdkRGBA" +msgstr "ਫਾਰਗਰਾਊਂਡ GdkRGBA ਵਾਂਗ" + +#: ../gtk/gtkcellrenderertext.c:350 ../gtk/gtkentry.c:754 +#: ../gtk/gtktexttag.c:245 ../gtk/gtktextview.c:686 +msgid "Editable" +msgstr "ਸੋਧਯੋਗ" + +#: ../gtk/gtkcellrenderertext.c:351 ../gtk/gtktexttag.c:246 +#: ../gtk/gtktextview.c:687 +msgid "Whether the text can be modified by the user" +msgstr "ਕੀ ਟੈਕਸਟ ਵਰਤਣਵਾਲਾ ਸੋਧ ਸਕੇ ਜਾਂ ਨਾ" + +#: ../gtk/gtkcellrenderertext.c:358 ../gtk/gtkcellrenderertext.c:366 +#: ../gtk/gtktexttag.c:261 ../gtk/gtktexttag.c:269 msgid "Font" -msgstr "ਫੋਂਟ" +msgstr "ਫੋਟ" -#. This is the default text shown in the preview entry, though the user -#. can set it. Remember that some fonts only have capital letters. -#: ../gtk/gtkfontsel.c:100 -msgid "abcdefghijk ABCDEFGHIJK" -msgstr "abcdefghijk ABCDEFGHIJK" +#: ../gtk/gtkcellrenderertext.c:359 ../gtk/gtktexttag.c:262 +msgid "Font description as a string, e.g. \"Sans Italic 12\"" +msgstr "ਫੋਂਟ ਵਰਨਣ ਇੱਕ ਸਤਰ ਦੀ ਤਰਾਂ ਜਿਵੇ ਕਿ \"ਸੇਨਸ਼ ਇਟਾਲਿਕ 12\"" -#: ../gtk/gtkfontsel.c:367 -msgid "_Family:" -msgstr "ਫੈਮਲੀ(_F):" +#: ../gtk/gtkcellrenderertext.c:367 ../gtk/gtktexttag.c:270 +msgid "Font description as a PangoFontDescription struct" +msgstr "ਫੋਂਟ ਦਾ ਵੇਰਵਾ PangoFontDescription ਢਾਚੇ ਵਾਂਗ" -#: ../gtk/gtkfontsel.c:373 -msgid "_Style:" -msgstr "ਸਟਾਇਲ(_S):" +#: ../gtk/gtkcellrenderertext.c:375 ../gtk/gtktexttag.c:277 +msgid "Font family" +msgstr "ਫੋਂਟ ਸਮੂਹ" -#: ../gtk/gtkfontsel.c:379 -msgid "Si_ze:" -msgstr "ਅਕਾਰ(_z):" +#: ../gtk/gtkcellrenderertext.c:376 ../gtk/gtktexttag.c:278 +msgid "Name of the font family, e.g. Sans, Helvetica, Times, Monospace" +msgstr "ਫੋਂਟ ਸਮੂਹ ਦਾ ਨਾਂ, ਜਿਵੇ ਕਿ ਸੰਨਜ, ਟਾਇਮਜ਼, ਮੋਨੋਸਪੇਸ" -#. create the text entry widget -#: ../gtk/gtkfontsel.c:555 -msgid "_Preview:" -msgstr "ਝਲਕ(_P):" +#: ../gtk/gtkcellrenderertext.c:383 ../gtk/gtkcellrenderertext.c:384 +#: ../gtk/gtktexttag.c:285 +msgid "Font style" +msgstr "ਫੋਂਟ ਸਟਾਇਲ" -#: ../gtk/gtkfontsel.c:1655 -msgid "Font Selection" -msgstr "ਫੋਂਟ ਚੋਣ" +#: ../gtk/gtkcellrenderertext.c:392 ../gtk/gtkcellrenderertext.c:393 +#: ../gtk/gtktexttag.c:294 +msgid "Font variant" +msgstr "ਫੋਂਟ ਬਦਲ" -#. Remove this icon source so we don't keep trying to -#. * load it. -#. -#: ../gtk/gtkiconfactory.c:1358 -#, c-format -msgid "Error loading icon: %s" -msgstr "ਆਈਕਾਨ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ: %s" +#: ../gtk/gtkcellrenderertext.c:401 ../gtk/gtkcellrenderertext.c:402 +#: ../gtk/gtktexttag.c:303 +msgid "Font weight" +msgstr "ਫੋਂਟ ਵੇਟ" -#: ../gtk/gtkicontheme.c:1351 -#, c-format +#: ../gtk/gtkcellrenderertext.c:411 ../gtk/gtkcellrenderertext.c:412 +#: ../gtk/gtktexttag.c:314 +msgid "Font stretch" +msgstr "ਫੋਂਟ ਤਣਾਅ" + +#: ../gtk/gtkcellrenderertext.c:420 ../gtk/gtkcellrenderertext.c:421 +#: ../gtk/gtktexttag.c:323 +msgid "Font size" +msgstr "ਫੋਂਟ ਅਕਾਰ" + +#: ../gtk/gtkcellrenderertext.c:430 ../gtk/gtktexttag.c:343 +msgid "Font points" +msgstr "ਫੋਂਟ ਬਿੰਦੂ" + +#: ../gtk/gtkcellrenderertext.c:431 ../gtk/gtktexttag.c:344 +msgid "Font size in points" +msgstr "ਫੋਂਟ ਅਕਾਰ ਪੁਆਇਟ ਵਿੱਚ" + +#: ../gtk/gtkcellrenderertext.c:440 ../gtk/gtktexttag.c:333 +msgid "Font scale" +msgstr "ਫੋਂਟ ਸਕੇਲ" + +#: ../gtk/gtkcellrenderertext.c:441 +msgid "Font scaling factor" +msgstr "ਫੋਂਟ ਸਕੇਲਿੰਗ ਫੈਕਟਰ" + +#: ../gtk/gtkcellrenderertext.c:450 ../gtk/gtktexttag.c:412 +msgid "Rise" +msgstr "ਉਭਰੋ" + +#: ../gtk/gtkcellrenderertext.c:451 msgid "" -"Could not find the icon '%s'. The '%s' theme\n" -"was not found either, perhaps you need to install it.\n" -"You can get a copy from:\n" -"\t%s" -msgstr "" -"ਆਈਕਾਨ '%s' ਨਹੀਂ ਲੱਭਿਆ. ਜਾਂ ਸਰੂਪ '%s'\n" -"ਹੀ ਲੱਭਿਆ, ਜਾਂ ਸ਼ਾਇਦ ਤੁਹਾਨੂੰ ਇਸ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨਾ ਪਵੇ\n" -"ਤੁਸੀਂ ਇਸ ਦੀ ਕਾਪੀ ਇਥੋਂ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ:\n" -"\t%s" +"Offset of text above the baseline (below the baseline if rise is negative)" +msgstr "ਟੈਕਸਟ ਦਾ ਮੁੱਖ-ਸਤਰ ਤੋਂ ਉੱਤੇ ਸੰਤੁਲਨ (ਮੁੱਖ-ਸਤਰ ਤੋਂ ਹੇਠਾਂ ਉਭਾਰ ਰਿਣਾਤਮਕ ਹੈ)" -#: ../gtk/gtkicontheme.c:1532 -#, c-format -msgid "Icon '%s' not present in theme" -msgstr "ਥੀਮ ਵਿੱਚ ਆਈਕਾਨ '%s' ਮੌਜੂਦ ਨਹੀਂ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:462 ../gtk/gtktexttag.c:452 +msgid "Strikethrough" +msgstr "ਵਿੰਨ੍ਹੋ" -#: ../gtk/gtkicontheme.c:3053 -msgid "Failed to load icon" -msgstr "ਆਈਕਾਨ ਲੋਡ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ" +#: ../gtk/gtkcellrenderertext.c:463 ../gtk/gtktexttag.c:453 +msgid "Whether to strike through the text" +msgstr "ਕੀ ਟੈਕਸਟ ਨੂੰ ਵਿੱਚੋਂ ਵਿੰਨ੍ਹਣਾ ਹੈ" -#: ../gtk/gtkimmodule.c:526 -msgid "Simple" -msgstr "ਸੈਂਪਲ" +#: ../gtk/gtkcellrenderertext.c:470 ../gtk/gtktexttag.c:460 +msgid "Underline" +msgstr "ਹੇਠਾਂ ਲਾਈਨ" -#: ../gtk/gtkimmulticontext.c:588 -msgctxt "input method menu" -msgid "System" -msgstr "ਸਿਸਟਮ" +#: ../gtk/gtkcellrenderertext.c:471 ../gtk/gtktexttag.c:461 +msgid "Style of underline for this text" +msgstr "ਇਸ ਟੈਕਸਟ ਦੇ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚਣ ਦਾ ਸਟਾਇਲ" -#: ../gtk/gtkimmulticontext.c:598 -msgctxt "input method menu" -msgid "None" -msgstr "ਕੋਈ ਨਹੀਂ" +#: ../gtk/gtkcellrenderertext.c:479 ../gtk/gtktexttag.c:372 +msgid "Language" +msgstr "ਭਾਸ਼ਾ" -#: ../gtk/gtkimmulticontext.c:681 -#, c-format -msgctxt "input method menu" -msgid "System (%s)" -msgstr "ਸਿਸਟਮ (%s)" - -#. Open Link -#: ../gtk/gtklabel.c:6250 -msgid "_Open Link" -msgstr "ਲਿੰਕ ਖੋਲ੍ਹੋ(_O)" - -#. Copy Link Address -#: ../gtk/gtklabel.c:6262 -msgid "Copy _Link Address" -msgstr "ਲਿੰਕ ਐਡਰੈੱਸ ਕਾਪੀ ਕਰੋ(_L)" - -#: ../gtk/gtklinkbutton.c:482 -msgid "Copy URL" -msgstr "URL ਕਾਪੀ ਕਰੋ" - -#: ../gtk/gtklinkbutton.c:645 -msgid "Invalid URI" -msgstr "ਗਲਤ URI" - -#. Description of --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:563 -msgid "Load additional GTK+ modules" -msgstr "ਵਾਧੂ GTK+ ਮੋਡੀਊਲ ਲੋਡ ਕਰੋ" - -#. Placeholder in --gtk-module=MODULES in --help output -#: ../gtk/gtkmain.c:564 -msgid "MODULES" -msgstr "ਮੋਡੀਊਲ" - -#. Description of --g-fatal-warnings in --help output -#: ../gtk/gtkmain.c:566 -msgid "Make all warnings fatal" -msgstr "ਸਭ ਚੇਤਾਵਨੀਆਂ ਨੂੰ ਘਾਤਕ ਬਣਾਓ" - -#. Description of --gtk-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:569 -msgid "GTK+ debugging flags to set" -msgstr "ਸੈੱਟ ਕਰਨ ਲਈ GTK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" - -#. Description of --gtk-no-debug=FLAGS in --help output -#: ../gtk/gtkmain.c:572 -msgid "GTK+ debugging flags to unset" -msgstr "ਅਣ-ਸੈੱਟ ਕਰਨ ਲਈ GTK+ ਡੀਬੱਗਿੰਗ ਨਿਸ਼ਾਨ" - -#. Translate to default:RTL if you want your widgets -#. * to be RTL, otherwise translate to default:LTR. -#. * Do *not* translate it to "predefinito:LTR", if it -#. * it isn't default:LTR or default:RTL it will not work -#. -#: ../gtk/gtkmain.c:835 -msgid "default:LTR" -msgstr "default:LTR" - -#: ../gtk/gtkmain.c:899 -#, c-format -msgid "Cannot open display: %s" -msgstr "ਦਿੱਖ ਖੋਲ੍ਹੀ ਨਹੀਂ ਜਾ ਸਕੀ: %s" - -#: ../gtk/gtkmain.c:965 -msgid "GTK+ Options" -msgstr "GTK+ ਚੋਣ" - -#: ../gtk/gtkmain.c:965 -msgid "Show GTK+ Options" -msgstr "GTK+ ਚੋਣ ਵੇਖੋ" - -#: ../gtk/gtkmountoperation.c:491 -msgid "Co_nnect" -msgstr "ਕੁਨੈਕਟ ਕਰੋ(_n)" - -#: ../gtk/gtkmountoperation.c:558 -msgid "Connect _anonymously" -msgstr "ਅਗਿਆਤ ਢੰਗ ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ(_a)" - -#: ../gtk/gtkmountoperation.c:567 -msgid "Connect as u_ser:" -msgstr "ਯੂਜ਼ਰ ਵਾਂਗ ਕੁਨੈਕਟ(_s):" - -#: ../gtk/gtkmountoperation.c:605 -msgid "_Username:" -msgstr "ਯੂਜ਼ਰ ਨਾਂ(_U):" - -#: ../gtk/gtkmountoperation.c:610 -msgid "_Domain:" -msgstr "ਡੋਮੇਨ(_D):" - -#: ../gtk/gtkmountoperation.c:616 -msgid "_Password:" -msgstr "ਪਾਸਵਰਡ(_P):" - -#: ../gtk/gtkmountoperation.c:634 -msgid "Forget password _immediately" -msgstr "ਪਾਸਵਰਡ ਤੁਰੰਤ ਭੁੱਲ ਜਾਓ(_i)" - -#: ../gtk/gtkmountoperation.c:644 -msgid "Remember password until you _logout" -msgstr "ਜਦੋਂ ਤੱਕ ਲਾਗਆਉਟ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ ਪਾਸਵਰਡ ਯਾਦ ਰੱਖੋ(_l)" - -#: ../gtk/gtkmountoperation.c:654 -msgid "Remember _forever" -msgstr "ਹਮੇਸ਼ਾਂ ਯਾਦ ਰੱਖੋ(_f)" - -#: ../gtk/gtkmountoperation.c:883 -#, c-format -msgid "Unknown Application (PID %d)" -msgstr "ਅਣਜਾਣ ਐਪਲੀਕੇਸ਼ਨ (PID %d)" - -#: ../gtk/gtkmountoperation.c:1066 -msgid "Unable to end process" -msgstr "ਪਰੋਸੈਸ ਖਤਮ ਕਰਨ ਲਈ ਅਸਮਰੱਥ" - -#: ../gtk/gtkmountoperation.c:1103 -msgid "_End Process" -msgstr "ਪਰੋਸੈਸ ਖਤਮ(_E)" - -#: ../gtk/gtkmountoperation-stub.c:64 -#, c-format -msgid "Cannot kill process with PID %d. Operation is not implemented." -msgstr "PID %d ਵਾਲਾ ਪਰੋਸੈਸ ਖਤਮ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ। ਓਪਰੇਸ਼ਨ ਬਣਾਇਆ ਨਹੀਂ।" - -#. translators: this string is a name for the 'less' command -#: ../gtk/gtkmountoperation-x11.c:862 -msgid "Terminal Pager" -msgstr "ਟਰਮੀਨਲ ਪੇਜ਼ਰ" - -#: ../gtk/gtkmountoperation-x11.c:863 -msgid "Top Command" -msgstr "ਟਾਪ ਕਮਾਂਡ" - -#: ../gtk/gtkmountoperation-x11.c:864 -msgid "Bourne Again Shell" -msgstr "ਬਰਾਊਨ ਅਗੇਨ ਸ਼ੈੱਲ" - -#: ../gtk/gtkmountoperation-x11.c:865 -msgid "Bourne Shell" -msgstr "ਬਰਾਊਨ ਸ਼ੈੱਲ" - -#: ../gtk/gtkmountoperation-x11.c:866 -msgid "Z Shell" -msgstr "Z ਸ਼ੈੱਲ" - -#: ../gtk/gtkmountoperation-x11.c:963 -#, c-format -msgid "Cannot end process with PID %d: %s" -msgstr "PID %d ਨਾਲ ਪਰੋਸੈਸ ਖਤਮ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ: %s" - -#: ../gtk/gtknotebook.c:4817 ../gtk/gtknotebook.c:7392 -#, c-format -msgid "Page %u" -msgstr "ਸਫ਼ਾ %u" - -#: ../gtk/gtkpagesetup.c:648 ../gtk/gtkpapersize.c:838 -#: ../gtk/gtkpapersize.c:880 -msgid "Not a valid page setup file" -msgstr "ਇੱਕ ਠੀਕ ਸਫ਼ਾ ਸੈੱਟਅੱਪ ਫਾਇਲ ਨਹੀਂ" - -#: ../gtk/gtkpagesetupunixdialog.c:179 -msgid "Any Printer" -msgstr "ਕੋਈ ਵੀ ਪਰਿੰਟਰ" - -#: ../gtk/gtkpagesetupunixdialog.c:179 -msgid "For portable documents" -msgstr "ਪੋਰਟੇਬਲ ਡੌਕੂਮੈਂਟਾਂ ਲਈ" - -#: ../gtk/gtkpagesetupunixdialog.c:809 -#, c-format +#: ../gtk/gtkcellrenderertext.c:480 msgid "" -"Margins:\n" -" Left: %s %s\n" -" Right: %s %s\n" -" Top: %s %s\n" -" Bottom: %s %s" +"The language this text is in, as an ISO code. Pango can use this as a hint " +"when rendering the text. If you don't understand this parameter, you " +"probably don't need it" msgstr "" -"ਹਾਸ਼ੀਆ:\n" -" ਖੱਬੇ: %s %s\n" -" ਸੱਜੇ: %s %s\n" -" ਉੱਤੇ: %s %s\n" -" ਹੇਠਾਂ: %s %s" +"ਭਾਸ਼ਾ, ਜਿਸ ਵਿੱਚ ਇਹ ਕੋਡ ਹੈ, ਦਾ ISO ਕੋਡ ਹੈ, ਟੈਕਸਟ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ ਪੈਨਗੋ ਦੀ " +"ਉਦਾਹਰਨ ਲਈ ਜਾ " +"ਸਕਦੀ ਹੈ, ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਨਹੀਂ ਸਮਝ ਸਕੇ ਤਾਂ ਤੁਹਾਨੂੰ ਇਸ ਦੀ ਲੋੜ ਵੀ " +"ਨਹੀਂ ਹੈ " -#: ../gtk/gtkpagesetupunixdialog.c:858 ../gtk/gtkprintunixdialog.c:3293 -msgid "Manage Custom Sizes..." -msgstr "...ਪਸੰਦੀਦਾ ਅਕਾਰ ਪਰਬੰਧ" +#: ../gtk/gtkcellrenderertext.c:500 ../gtk/gtklabel.c:699 +#: ../gtk/gtkprogressbar.c:217 +msgid "Ellipsize" +msgstr "ਅੰਡਕਾਰ-ਅਕਾਰ" -#: ../gtk/gtkpagesetupunixdialog.c:909 -msgid "_Format for:" -msgstr "ਫਾਰਮੈਟ(_F):" +#: ../gtk/gtkcellrenderertext.c:501 +msgid "" +"The preferred place to ellipsize the string, if the cell renderer does not " +"have enough room to display the entire string" +msgstr "" +"ਅੰਡਾਕਾਰ-ਅਕਾਰ ਸਤਰ ਦੀ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਸੈਲ ਕੋਈ ਪੂਰੀ ਸਤਰ ਨੂੰ ਵੇਖਾਉਣ ਲਈ ਲੋੜੀਦੀ " +"ਥਾਂ ਨਾ ਹੋਵੇ" -#: ../gtk/gtkpagesetupunixdialog.c:931 ../gtk/gtkprintunixdialog.c:3465 -msgid "_Paper size:" -msgstr "ਸਫ਼ਾ ਆਕਾਰ(_P):" +#: ../gtk/gtkcellrenderertext.c:520 ../gtk/gtkfilechooserbutton.c:411 +#: ../gtk/gtklabel.c:720 +msgid "Width In Characters" +msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" -#: ../gtk/gtkpagesetupunixdialog.c:962 -msgid "_Orientation:" -msgstr "ਸਥਿਤੀ(_O):" +#: ../gtk/gtkcellrenderertext.c:521 ../gtk/gtklabel.c:721 +msgid "The desired width of the label, in characters" +msgstr "ਲੇਬਲ ਦੀ ਲੋੜੀਦੀ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkpagesetupunixdialog.c:1026 ../gtk/gtkprintunixdialog.c:3527 -msgid "Page Setup" -msgstr "ਸਫ਼ਾ ਸੈੱਟਅੱਪ" +#: ../gtk/gtkcellrenderertext.c:545 ../gtk/gtklabel.c:781 +msgid "Maximum Width In Characters" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkpathbar.c:157 -msgid "Up Path" -msgstr "ਉੱਤੇ ਮਾਰਗ" +#: ../gtk/gtkcellrenderertext.c:546 +msgid "The maximum width of the cell, in characters" +msgstr "ਸੈੱਲ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" -#: ../gtk/gtkpathbar.c:159 -msgid "Down Path" -msgstr "ਹੇਠਾਂ ਮਾਰਗ" +#: ../gtk/gtkcellrenderertext.c:564 ../gtk/gtktexttag.c:469 +msgid "Wrap mode" +msgstr "ਸਮੇਟਣ ਢੰਗ" -#: ../gtk/gtkpathbar.c:1519 -msgid "File System Root" -msgstr "ਫਾਇਲ ਸਿਸਟਮ ਰੂਟ" +#: ../gtk/gtkcellrenderertext.c:565 +msgid "" +"How to break the string into multiple lines, if the cell renderer does not " +"have enough room to display the entire string" +msgstr "" +"ਲਾਈਨਾਂ ਨੂੰ ਬਹੁ-ਲਾਈਨਾਂ ਵਿੱਚ ਕਿਵੇਂ ਵੰਡਿਆ ਜਾਵੇ, ਜੇਕਰ ਸੈਲ ਕੋਲ ਲਾਈਨਾਂ ਨੂੰ ਵਿਖਾਉਣ " +"ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਨਾ " +"ਹੋਵੇ।" -#: ../gtk/gtkprintbackend.c:749 -msgid "Authentication" -msgstr "ਪਰਮਾਣਕਿਤਾ" +#: ../gtk/gtkcellrenderertext.c:584 ../gtk/gtkcombobox.c:680 +msgid "Wrap width" +msgstr "ਚੌੜਾਈ ਨੂੰ ਲੇਪਟੋ" -#: ../gtk/gtkprinteroptionwidget.c:686 -msgid "Not available" -msgstr "ਉਪਲੱਬਧ ਨਹੀਂ" +#: ../gtk/gtkcellrenderertext.c:585 +msgid "The width at which the text is wrapped" +msgstr "ਚੌੜਾਈ, ਜਿਸ ਨਾਲ ਟੈਕਸਟ ਸਮੇਟਿਆ ਜਾਵੇਗਾ" -#: ../gtk/gtkprinteroptionwidget.c:786 -msgid "Select a folder" -msgstr "ਫੋਲਡਰ ਚੁਣੋ" +#: ../gtk/gtkcellrenderertext.c:605 ../gtk/gtktreeviewcolumn.c:349 +msgid "Alignment" +msgstr "ਸ਼ਫਬੰਦੀ" -#: ../gtk/gtkprinteroptionwidget.c:805 -msgid "_Save in folder:" -msgstr "ਫੋਲਡਰ ਵਿੱਚ ਸੰਭਾਲੋ(_S):" +#: ../gtk/gtkcellrenderertext.c:606 +msgid "How to align the lines" +msgstr "ਲਾਈਨਾਂ ਨੂੰ ਇਕਸਾਰ ਕਿਵੇਂ ਕਰਨਾ ਹੈ" -#. translators: this string is the default job title for print -#. * jobs. %s gets replaced by the application name, %d gets replaced -#. * by the job number. -#. -#: ../gtk/gtkprintoperation.c:193 -#, c-format -msgid "%s job #%d" -msgstr "%s ਜਾਬ #%d" +#: ../gtk/gtkcellrenderertext.c:618 ../gtk/gtkcellview.c:312 +#: ../gtk/gtktexttag.c:558 +msgid "Background set" +msgstr "ਬੈਕਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkprintoperation.c:1698 -msgctxt "print operation status" -msgid "Initial state" -msgstr "ਸ਼ੁਰੂਆਤੀ ਹਾਲਤ" +#: ../gtk/gtkcellrenderertext.c:619 ../gtk/gtkcellview.c:313 +#: ../gtk/gtktexttag.c:559 +msgid "Whether this tag affects the background color" +msgstr "ਕੀ ਇਹ ਟੈਗ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:1699 -msgctxt "print operation status" -msgid "Preparing to print" -msgstr "ਛਾਪਣ ਲਈ ਤਿਆਰੀ" +#: ../gtk/gtkcellrenderertext.c:622 ../gtk/gtktexttag.c:566 +msgid "Foreground set" +msgstr "ਫਾਰ-ਗਰਾਊਂਡ ਦਿਓ" -#: ../gtk/gtkprintoperation.c:1700 -msgctxt "print operation status" -msgid "Generating data" -msgstr "ਡਾਟਾ ਤਿਆਰ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:623 ../gtk/gtktexttag.c:567 +msgid "Whether this tag affects the foreground color" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫਾਰ-ਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:1701 -msgctxt "print operation status" -msgid "Sending data" -msgstr "ਡਾਟਾ ਭੇਜਿਆ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:626 ../gtk/gtktexttag.c:570 +msgid "Editability set" +msgstr "ਸੋਧਣਯੋਗਤਾ ਦਿਓ" -#: ../gtk/gtkprintoperation.c:1702 -msgctxt "print operation status" -msgid "Waiting" -msgstr "ਉਡੀਕ ਜਾਰੀ" +#: ../gtk/gtkcellrenderertext.c:627 ../gtk/gtktexttag.c:571 +msgid "Whether this tag affects text editability" +msgstr "ਕੀ ਇਹ ਟੈਕਸਟ ਸੋਧਣਯੋਗਤਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:1703 -msgctxt "print operation status" -msgid "Blocking on issue" -msgstr "ਮੁੱਦੇ ਉੱਤੇ ਰੋਕੋ" +#: ../gtk/gtkcellrenderertext.c:630 ../gtk/gtktexttag.c:574 +msgid "Font family set" +msgstr "ਫੋਂਟ ਸਮੂਹ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation.c:1704 -msgctxt "print operation status" -msgid "Printing" -msgstr "ਛਾਪਿਆ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:631 ../gtk/gtktexttag.c:575 +msgid "Whether this tag affects the font family" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਸਮੂਹ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:1705 -msgctxt "print operation status" -msgid "Finished" -msgstr "ਮੁਕੰਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:634 ../gtk/gtktexttag.c:578 +msgid "Font style set" +msgstr "ਫੋਂਟ ਸਟਾਇਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation.c:1706 -msgctxt "print operation status" -msgid "Finished with error" -msgstr "ਗਲਤੀ ਨਾਲ ਪੂਰਾ ਹੋਇਆ" +#: ../gtk/gtkcellrenderertext.c:635 ../gtk/gtktexttag.c:579 +msgid "Whether this tag affects the font style" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਸਟਾਇਲ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:2273 -#, c-format -msgid "Preparing %d" -msgstr "%d ਲਈ ਤਿਆਰੀ" +#: ../gtk/gtkcellrenderertext.c:638 ../gtk/gtktexttag.c:582 +msgid "Font variant set" +msgstr "ਫੋਂਟ ਬਦਲ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation.c:2275 ../gtk/gtkprintoperation.c:2905 -msgid "Preparing" -msgstr "ਤਿਆਰੀ" +#: ../gtk/gtkcellrenderertext.c:639 ../gtk/gtktexttag.c:583 +msgid "Whether this tag affects the font variant" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਤਬਦੀਲੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:2278 -#, c-format -msgid "Printing %d" -msgstr "%d ਪਰਿੰਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:642 ../gtk/gtktexttag.c:586 +msgid "Font weight set" +msgstr "ਫੋਂਟ ਵੇਟ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation.c:2935 -msgid "Error creating print preview" -msgstr "ਪਰਿੰਟ ਝਲਕ ਬਣਾਉਣ ਦੌਰਾਨ ਗਲਤੀ" +#: ../gtk/gtkcellrenderertext.c:643 ../gtk/gtktexttag.c:587 +msgid "Whether this tag affects the font weight" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਫੈਲਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation.c:2938 -msgid "The most probable reason is that a temporary file could not be created." -msgstr "ਸਭ ਤੋਂ ਵੱਧ ਸੰਭਵਾਨਾ ਹੈ ਕਿ ਆਰਜ਼ੀ ਫਾਇਲ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ।" +#: ../gtk/gtkcellrenderertext.c:646 ../gtk/gtktexttag.c:590 +msgid "Font stretch set" +msgstr "ਫੋਂਟ ਤਣਾਅ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation-unix.c:304 -msgid "Error launching preview" -msgstr "ਝਲਕ ਵੇਖਾਉਣ ਦੌਰਾਨ ਗਲਤੀ" +#: ../gtk/gtkcellrenderertext.c:647 ../gtk/gtktexttag.c:591 +msgid "Whether this tag affects the font stretch" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਤਣਾਅ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-unix.c:477 ../gtk/gtkprintoperation-win32.c:1447 -msgid "Application" -msgstr "ਐਪਲੀਕੇਸ਼ਨ" +#: ../gtk/gtkcellrenderertext.c:650 ../gtk/gtktexttag.c:594 +msgid "Font size set" +msgstr "ਫੋਂਟ ਆਕਾਰ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation-win32.c:611 -msgid "Printer offline" -msgstr "ਪਰਿੰਟਰ ਬੰਦ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:651 ../gtk/gtktexttag.c:595 +msgid "Whether this tag affects the font size" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਆਕਾਰ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-win32.c:613 -msgid "Out of paper" -msgstr "ਪੇਪਰ ਖਤਮ ਹੋ ਗਏ" +#: ../gtk/gtkcellrenderertext.c:654 ../gtk/gtktexttag.c:598 +msgid "Font scale set" +msgstr "ਫੋਂਟ ਸਕੇਲ ਸੈੱਟ ਕਰੋ" -#. Translators: this is a printer status. -#: ../gtk/gtkprintoperation-win32.c:615 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2002 -msgid "Paused" -msgstr "ਵਿਰਾਮ" +#: ../gtk/gtkcellrenderertext.c:655 ../gtk/gtktexttag.c:599 +msgid "Whether this tag scales the font size by a factor" +msgstr "ਕੀ ਇਹ ਟੈਗ ਫੋਂਟ ਅਕਾਰ ਨੂੰ ਗੁਣਾਂਕ ਪੈਮਾਨਾ ਨਾਲ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-win32.c:617 -msgid "Need user intervention" -msgstr "ਯੂਜ਼ਰ ਦੇ ਦਖਲ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:658 ../gtk/gtktexttag.c:618 +msgid "Rise set" +msgstr "ਉਭਾਰਨਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation-win32.c:717 -msgid "Custom size" -msgstr "ਕਸਟਮ ਅਕਾਰ" +#: ../gtk/gtkcellrenderertext.c:659 ../gtk/gtktexttag.c:619 +msgid "Whether this tag affects the rise" +msgstr "ਕੀ ਇਹ ਟੈਗ ਉਭਾਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-win32.c:1539 -msgid "No printer found" -msgstr "ਕੋਈ ਪਰਿੰਟਰ ਨਹੀਂ ਲੱਭਿਆ" +#: ../gtk/gtkcellrenderertext.c:662 ../gtk/gtktexttag.c:634 +msgid "Strikethrough set" +msgstr "ਵਿੰਨ੍ਹਣਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation-win32.c:1566 -msgid "Invalid argument to CreateDC" -msgstr "CreateDC ਲਈ ਗਲਤ ਆਰਗੂਮੈਂਟ" +#: ../gtk/gtkcellrenderertext.c:663 ../gtk/gtktexttag.c:635 +msgid "Whether this tag affects strikethrough" +msgstr "ਕੀ ਇਹ ਟੈਗ ਵਿੰਨ੍ਹਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-win32.c:1602 ../gtk/gtkprintoperation-win32.c:1829 -msgid "Error from StartDoc" -msgstr "StartDoc ਤੋਂ ਗਲਤੀ" +#: ../gtk/gtkcellrenderertext.c:666 ../gtk/gtktexttag.c:642 +msgid "Underline set" +msgstr "ਹੇਠਾਂ ਲਾਈਨ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation-win32.c:1684 ../gtk/gtkprintoperation-win32.c:1707 -#: ../gtk/gtkprintoperation-win32.c:1755 -msgid "Not enough free memory" -msgstr "ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਖਾਲੀ ਨਹੀਂ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:667 ../gtk/gtktexttag.c:643 +msgid "Whether this tag affects underlining" +msgstr "ਕੀ ਇਹ ਟੈਗ ਹੇਠਾਂ ਲਾਈਨ ਖਿੱਚਣ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-win32.c:1760 -msgid "Invalid argument to PrintDlgEx" -msgstr "PrintDlgEx ਲਈ ਗਲਤ ਮੁੱਲ" +#: ../gtk/gtkcellrenderertext.c:670 ../gtk/gtktexttag.c:606 +msgid "Language set" +msgstr "ਭਾਸ਼ਾ ਸੈੱਟ ਕਰੋ" -#: ../gtk/gtkprintoperation-win32.c:1765 -msgid "Invalid pointer to PrintDlgEx" -msgstr "PrintDlgEx ਲਈ ਗਲਤ ਸੰਕੇਤਕ" +#: ../gtk/gtkcellrenderertext.c:671 ../gtk/gtktexttag.c:607 +msgid "Whether this tag affects the language the text is rendered as" +msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਕਸਟ ਪੇਸ਼ ਕਰਨ ਦੀ ਭਾਸ਼ਾ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintoperation-win32.c:1770 -msgid "Invalid handle to PrintDlgEx" -msgstr "PrintDlgEx ਲਈ ਗਲਤ ਹੈਂਡਲ" +#: ../gtk/gtkcellrenderertext.c:674 +msgid "Ellipsize set" +msgstr "ਅੰਡਾਕਾਰ-ਅਕਾਰ ਦਿਓ" -#: ../gtk/gtkprintoperation-win32.c:1775 -msgid "Unspecified error" -msgstr "ਨਾ-ਦੱਸੀ ਗਲਤੀ" +#: ../gtk/gtkcellrenderertext.c:675 +msgid "Whether this tag affects the ellipsize mode" +msgstr "ਕੀ ਅੰਡਾਕਾਰਅਕਾਰ ਢੰਗ ਇਸ ਟੈਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintunixdialog.c:619 -msgid "Getting printer information failed" -msgstr "ਪਰਿੰਟਰ ਲਈ ਜਾਣਕਾਰੀ ਲੈਣ ਲਈ ਫੇਲ੍ਹ" +#: ../gtk/gtkcellrenderertext.c:678 +msgid "Align set" +msgstr "ਸ਼ਫਬੰਦੀ ਸੈੱਟ" -#: ../gtk/gtkprintunixdialog.c:1874 -msgid "Getting printer information..." -msgstr "...ਪਰਿੰਟਰ ਜਾਣਕਾਰੀ ਲਈ ਜਾ ਰਹੀ ਹੈ" +#: ../gtk/gtkcellrenderertext.c:679 +msgid "Whether this tag affects the alignment mode" +msgstr "ਕੀ ਇਹ ਟੈਗ ਅੰਡਾਕਾਰਅਕਾਰ ਢੰਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" -#: ../gtk/gtkprintunixdialog.c:2141 -msgid "Printer" -msgstr "ਪਰਿੰਟਰ" +#: ../gtk/gtkcellrenderertoggle.c:128 +msgid "Toggle state" +msgstr "ਬਦਲਵੀਂ ਹਾਲਤ" -#. Translators: this is the header for the location column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2151 +#: ../gtk/gtkcellrenderertoggle.c:129 +msgid "The toggle state of the button" +msgstr "ਬਟਨ ਦੀ ਬਦਲਵੀ ਹਾਲਤ" + +#: ../gtk/gtkcellrenderertoggle.c:136 +msgid "Inconsistent state" +msgstr "ਅਸੰਗਤ ਹਾਲਤ" + +#: ../gtk/gtkcellrenderertoggle.c:137 +msgid "The inconsistent state of the button" +msgstr "ਬਟਨ ਦੀ ਅਸੰਗਤ ਸਥਿਤੀ" + +#: ../gtk/gtkcellrenderertoggle.c:144 +msgid "Activatable" +msgstr "ਸਰਗਰਮਯੋਗ " + +#: ../gtk/gtkcellrenderertoggle.c:145 +msgid "The toggle button can be activated" +msgstr "ਬਦਲਣਯੋਗ ਬਟਨ ਨੂੰ ਸਰਗਰਮਯੋਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkcellrenderertoggle.c:152 +msgid "Radio state" +msgstr "ਰੇਡੀਉ ਸਥਿਤੀ" + +#: ../gtk/gtkcellrenderertoggle.c:153 +msgid "Draw the toggle button as a radio button" +msgstr "ਬਦਲਣ ਵਾਲੇ ਬਟਨ ਨੂੰ ਰੇਡੀੳ ਬਟਨ ਵਿੱਚ ਤਬਦੀਲ ਕਰੋ" + +#: ../gtk/gtkcellrenderertoggle.c:160 +msgid "Indicator size" +msgstr "ਸੰਕੇਤਕ ਆਕਾਰ" + +#: ../gtk/gtkcellrenderertoggle.c:161 ../gtk/gtkcheckbutton.c:78 +#: ../gtk/gtkcheckmenuitem.c:130 +msgid "Size of check or radio indicator" +msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦਾ ਆਕਾਰ" + +#: ../gtk/gtkcellview.c:210 +msgid "Background RGBA color" +msgstr "ਬੈਕਗਰਾਊਂਡ RGBA ਰੰਗ" + +#: ../gtk/gtkcellview.c:225 +msgid "CellView model" +msgstr "ਸੈੱਲ-ਝਲਕ ਮਾਡਲ" + +#: ../gtk/gtkcellview.c:226 +msgid "The model for cell view" +msgstr "ਸੈੱਲ ਝਲਕ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtkcellview.c:241 ../gtk/gtkcombobox.c:941 +#: ../gtk/gtkentrycompletion.c:426 ../gtk/gtkiconview.c:762 +#: ../gtk/gtktreemenu.c:329 ../gtk/gtktreeviewcolumn.c:409 +msgid "Cell Area" +msgstr "ਸੈੱਲ ਖੇਤਰ" + +#: ../gtk/gtkcellview.c:242 ../gtk/gtkcombobox.c:942 +#: ../gtk/gtkentrycompletion.c:427 ../gtk/gtkiconview.c:763 +#: ../gtk/gtktreemenu.c:330 ../gtk/gtktreeviewcolumn.c:410 +msgid "The GtkCellArea used to layout cells" +msgstr "ਸੈੱਲ ਲੇਆਉਟ ਲਈ ਵਰਤਣ ਵਾਸਤੇ GtkCellArea" + +#: ../gtk/gtkcellview.c:265 +msgid "Cell Area Context" +msgstr "ਸੈੱਲ ਖੇਤਰ ਪਰਸੰਗ" + +#: ../gtk/gtkcellview.c:266 +msgid "The GtkCellAreaContext used to compute the geometry of the cell view" +msgstr "ਸੈੱਲ ਝਲਕ ਦੀ ਜੁਮੈਟਰੀ ਕੱਢਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ GtkCellAreaContext" + +#: ../gtk/gtkcellview.c:283 +msgid "Draw Sensitive" +msgstr "ਸੰਵੇਦਨਸ਼ੀਲ ਬਣਾਓ" + +#: ../gtk/gtkcellview.c:284 +msgid "Whether to force cells to be drawn in a sensitive state" +msgstr "ਕੀ ਸੈੱਲਾਂ ਨੂੰ ਸੰਵੇਦਨਸ਼ੀਲ ਹਾਲਤ ਵਿੱਚ ਬਣਾਉਣ ਲਈ ਮਜ਼ਬੂਰ ਕਰਨਾ ਹੈ" + +#: ../gtk/gtkcellview.c:302 +msgid "Fit Model" +msgstr "ਫਿੱਟ ਮਾਡਲ" + +#: ../gtk/gtkcellview.c:303 +msgid "Whether to request enough space for every row in the model" +msgstr "ਕੀ ਮਾਡਲ ਵਿੱਚ ਹਰੇਕ ਕਤਾਰ ਲਈ ਲੋੜੀਦੀ ਥਾਂ ਦੀ ਮੰਗ ਕਰਨੀ ਹੈ" + +#: ../gtk/gtkcheckbutton.c:77 ../gtk/gtkcheckmenuitem.c:129 +msgid "Indicator Size" +msgstr "ਸੰਕੇਤਕ ਦਾ ਆਕਾਰ" + +#: ../gtk/gtkcheckbutton.c:85 ../gtk/gtkexpander.c:345 +msgid "Indicator Spacing" +msgstr "ਸੰਕੇਤਕ ਦੀ ਥਾਂ" + +#: ../gtk/gtkcheckbutton.c:86 +msgid "Spacing around check or radio indicator" +msgstr "ਚੈਕ ਜਾਂ ਰੇਡੀਓ ਸੰਕੇਤਕ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਥਾਂ" + +#: ../gtk/gtkcheckmenuitem.c:107 +msgid "Whether the menu item is checked" +msgstr "ਕੀ ਮੇਨੂ ਆਈਟਮ ਚੈੱਕ ਹੋ ਜਾਏ" + +#: ../gtk/gtkcheckmenuitem.c:114 ../gtk/gtktogglebutton.c:133 +msgid "Inconsistent" +msgstr "ਅਸੰਗਤ" + +#: ../gtk/gtkcheckmenuitem.c:115 +msgid "Whether to display an \"inconsistent\" state" +msgstr "ਕੀ \"ਅਸੰਗਤ\" ਸਥਿਤੀ ਵੇਖਾਈ ਜਾਏ" + +#: ../gtk/gtkcheckmenuitem.c:122 +msgid "Draw as radio menu item" +msgstr "ਰੇਡੀਓ ਮੇਨੂ ਆਈਟਮ ਬਣਾਓ" + +#: ../gtk/gtkcheckmenuitem.c:123 +msgid "Whether the menu item looks like a radio menu item" +msgstr "ਕੀ ਮੇਨੂ ਆਈਟਮ ਇੱਕ ਰੇਡੀਓ ਮੇਨੂ ਆਈਟਮ ਵਾਂਗ ਲੱਗੇ" + +#: ../gtk/gtkcolorbutton.c:170 +msgid "Use alpha" +msgstr "ਐਲਫਾ ਵਰਤੋ" + +#: ../gtk/gtkcolorbutton.c:171 +msgid "Whether to give the color an alpha value" +msgstr "ਕੀ ਰੰਗ ਨੂੰ ਐਲਫਾ ਮੁੱਲ ਦਿੱਤਾ ਜਾਵੇ ਜਾਂ ਨਾ" + +#: ../gtk/gtkcolorbutton.c:185 ../gtk/gtkfilechooserbutton.c:397 +#: ../gtk/gtkfontbutton.c:140 ../gtk/gtkprintjob.c:141 +#: ../gtk/gtkstatusicon.c:407 ../gtk/gtktreeviewcolumn.c:316 +msgid "Title" +msgstr "ਟਾਈਟਲ" + +#: ../gtk/gtkcolorbutton.c:186 +msgid "The title of the color selection dialog" +msgstr "ਰੰਗ ਚੁਣਨ ਵਾਲੀ ਤਖਤੀ ਦਾ ਟਾਈਟਲ" + +#: ../gtk/gtkcolorbutton.c:200 ../gtk/gtkcolorsel.c:338 +msgid "Current Color" +msgstr "ਮੌਜੂਦਾ ਰੰਗ" + +#: ../gtk/gtkcolorbutton.c:201 +msgid "The selected color" +msgstr "ਚੁਣਿਆ ਰੰਗ" + +#: ../gtk/gtkcolorbutton.c:215 ../gtk/gtkcolorsel.c:345 +msgid "Current Alpha" +msgstr "ਮੌਜੂਦਾ ਐਲਫਾ" + +#: ../gtk/gtkcolorbutton.c:216 +msgid "The selected opacity value (0 fully transparent, 65535 fully opaque)" +msgstr "ਚੁਣਿਆ ਧੁੰਦਲਾਪਨ (0 ਪੂਰੀ ਤਰਾਂ ਪਾਰਦਰਸ਼ੀ , 65535 ਪੂਰੀ ਤਰਾਂ ਧੁੰਦਲਾ)" + +#: ../gtk/gtkcolorbutton.c:230 +msgid "Current RGBA Color" +msgstr "ਮੌਜੂਦਾ RGBA ਰੰਗ" + +#: ../gtk/gtkcolorbutton.c:231 +msgid "The selected RGBA color" +msgstr "ਚੁਣਿਆ RGBA ਰੰਗ" + +#: ../gtk/gtkcolorsel.c:324 +msgid "Has Opacity Control" +msgstr "ਧੁੰਦਲਾਪਨ ਕੰਟਰੋਲ ਹੈ" + +#: ../gtk/gtkcolorsel.c:325 +msgid "Whether the color selector should allow setting opacity" +msgstr "ਕੀ ਰੰਗ ਚੋਣ ਧੁੰਦਕਾਪਨ ਦੀ ਸੈਟਿੰਗ ਵੇਖਾਵੇ" + +#: ../gtk/gtkcolorsel.c:331 +msgid "Has palette" +msgstr "ਰੰਗ-ਪੱਟੀ" + +#: ../gtk/gtkcolorsel.c:332 +msgid "Whether a palette should be used" +msgstr "ਕੀ ਰੰਗ-ਪੱਟੀ ਨੂੰ ਵਰਤਣਾ ਹੈ" + +#: ../gtk/gtkcolorsel.c:339 +msgid "The current color" +msgstr "ਮੌਜੂਦਾ ਰੰਗ" + +#: ../gtk/gtkcolorsel.c:346 +msgid "The current opacity value (0 fully transparent, 65535 fully opaque)" +msgstr "" +"ਮੌਜੂਦਾ ਧੁੰਦਲਾਪਨ ਦਾ ਮੁੱਲ (0 ਪੂਰੀ ਤਰਾਂ ਪਾਰਦਰਸ਼ੀ , 65535 ਪੂਰੀ ਤਰਾਂ ਧੁੰਦਲਾ)" + +#: ../gtk/gtkcolorsel.c:360 +msgid "Current RGBA" +msgstr "ਮੌਜੂਦਾ RGBA" + +#: ../gtk/gtkcolorsel.c:361 +msgid "The current RGBA color" +msgstr "ਮੌਜੂਦਾ RGBA ਰੰਗ" + +#: ../gtk/gtkcolorseldialog.c:110 +msgid "Color Selection" +msgstr "ਰੰਗ ਚੋਣ" + +#: ../gtk/gtkcolorseldialog.c:111 +msgid "The color selection embedded in the dialog." +msgstr "ਡਾਈਲਾਗ ਵਿੱਚ ਰੰਗ ਚੋਣ ਇੰਬੈੱਡ ਹੈ।" + +#: ../gtk/gtkcolorseldialog.c:117 +msgid "OK Button" +msgstr "ਠੀਕ ਹੈ ਬਟਨ" + +#: ../gtk/gtkcolorseldialog.c:118 +msgid "The OK button of the dialog." +msgstr "ਡਾਈਲਾਗ ਦਾ ਠੀਕ ਹੈ ਬਟਨ।" + +#: ../gtk/gtkcolorseldialog.c:124 +msgid "Cancel Button" +msgstr "ਰੱਦ ਕਰੋ ਬਟਨ" + +#: ../gtk/gtkcolorseldialog.c:125 +msgid "The cancel button of the dialog." +msgstr "ਡਾਈਲਾਗ ਦਾ ਰੱਦ ਕਰੋ ਬਟਨ ਹੈ।" + +#: ../gtk/gtkcolorseldialog.c:131 +msgid "Help Button" +msgstr "ਮੱਦਦ ਬਟਨ" + +#: ../gtk/gtkcolorseldialog.c:132 +msgid "The help button of the dialog." +msgstr "ਡਾਈਲਾਗ ਲਈ ਮੱਦਦ ਬਟਨ ਹੈ।" + +#: ../gtk/gtkcombobox.c:663 +msgid "ComboBox model" +msgstr "ਕੰਬੋ-ਬਾਕਸ ਮਾਡਲ" + +#: ../gtk/gtkcombobox.c:664 +msgid "The model for the combo box" +msgstr "ਕੰਬੋ-ਬਾਕਸ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtkcombobox.c:681 +msgid "Wrap width for laying out the items in a grid" +msgstr "ਗਰਿੱਡ ਵਿੱਚ ਆਈਟਮਾਂ ਨੂੰ ਲੇਪਟਣ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkcombobox.c:703 ../gtk/gtktreemenu.c:383 +msgid "Row span column" +msgstr "ਕਤਾਰ ਕਾਲਮ ਦਾ ਫਾਸਲਾ" + +#: ../gtk/gtkcombobox.c:704 ../gtk/gtktreemenu.c:384 +msgid "TreeModel column containing the row span values" +msgstr "ਟਰੀਮਾਡਲ ਕਾਲਮ ਵਿੱਚ ਕਤਾਰਾਂ ਦੇ ਵਿੱਚ ਦੂਰੀ ਦਾ ਮੁੱਲ" + +#: ../gtk/gtkcombobox.c:725 ../gtk/gtktreemenu.c:404 +msgid "Column span column" +msgstr "ਕਾਲਮ ਕਾਲਮ ਵਿੱਚ ਦੂਰੀ" + +#: ../gtk/gtkcombobox.c:726 ../gtk/gtktreemenu.c:405 +msgid "TreeModel column containing the column span values" +msgstr "ਟਰੀਮਾਡਲ ਕਾਲਮ ਵਿੱਚ ਕਾਲਮਾਂ ਦੇ ਵਿੱਚ ਦੂਰੀ ਦਾ ਮੁੱਲ" + +#: ../gtk/gtkcombobox.c:747 +msgid "Active item" +msgstr "ਸਰਗਰਮ ਆਈਟਮ" + +#: ../gtk/gtkcombobox.c:748 +msgid "The item which is currently active" +msgstr "ਆਈਟਮ, ਜੋ ਹੁਣ ਸਰਗਰਮ ਹੈ" + +#: ../gtk/gtkcombobox.c:767 ../gtk/gtkuimanager.c:225 +msgid "Add tearoffs to menus" +msgstr "ਵੱਖ-ਕਰਨ ਨੂੰ ਸੂਚੀ ਵਿੱਚ ਜੋੜੋ" + +#: ../gtk/gtkcombobox.c:768 +msgid "Whether dropdowns should have a tearoff menu item" +msgstr "ਕੀ ਲਟਕਣ ਵਾਲੇ ਵੱਖ ਮੇਨੂ ਆਈਟਮਾਂ ਹੋਣ" + +#: ../gtk/gtkcombobox.c:783 ../gtk/gtkentry.c:779 +msgid "Has Frame" +msgstr "ਫਰੇਮ ਹੈ" + +#: ../gtk/gtkcombobox.c:784 +msgid "Whether the combo box draws a frame around the child" +msgstr "ਕੀ ਕੰਬੋ-ਬਕਸਾ ਚਾਈਲਡ ਦੁਆਲੇ ਫਰੇਮ ਵੇਖਾਓ" + +#: ../gtk/gtkcombobox.c:792 +msgid "Whether the combo box grabs focus when it is clicked with the mouse" +msgstr "ਕੀ ਕੰਬੋ-ਬਕਸ ਫੋਕਸ ਹੋ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਇਹ ਮਾਊਸ ਨਾਲ ਦਬਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkcombobox.c:807 ../gtk/gtkmenu.c:641 +msgid "Tearoff Title" +msgstr "ਟਾਈਟਲ ਨੂੰ ਵੱਖ ਕਰੋ" + +#: ../gtk/gtkcombobox.c:808 +msgid "" +"A title that may be displayed by the window manager when the popup is torn-" +"off" +msgstr "ਜਦੋਂ ਪੋਪਅੱਪ ਵੱਖ ਹੋਵੇ ਤਾਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਵਲੋਂ ਵੇਖਾਇਆ ਜਾਣ ਵਾਲਾ ਇੱਕ ਟਾਈਟਲ" + +#: ../gtk/gtkcombobox.c:825 +msgid "Popup shown" +msgstr "ਪੋਪਅੱਪ ਵੇਖਾਉਣਾ" + +#: ../gtk/gtkcombobox.c:826 +msgid "Whether the combo's dropdown is shown" +msgstr "ਕੀ ਕੰਬੋ ਦੀ ਲਟਕਦੀ ਸੂਚੀ ਵੇਖਾਈ ਜਾਵੇ" + +#: ../gtk/gtkcombobox.c:842 +msgid "Button Sensitivity" +msgstr "ਬਟਨ ਸੰਵਦੇਨਸ਼ੀਲਤਾ" + +#: ../gtk/gtkcombobox.c:843 +msgid "Whether the dropdown button is sensitive when the model is empty" +msgstr "ਜਦੋਂ ਮਾਡਲ ਖਾਲੀ ਹੋਵੇ ਤਾਂ ਲਟਕਦੇ ਬਟਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" + +#: ../gtk/gtkcombobox.c:859 +msgid "Whether combo box has an entry" +msgstr "ਕੀ ਕੰਬੋ-ਬਕਸਾ ਦੀ ਐਂਟਰੀ ਹੈ" + +#: ../gtk/gtkcombobox.c:874 +msgid "Entry Text Column" +msgstr "ਐਂਟਰੀ ਟੈਕਸਟ ਕਾਲਮ" + +#: ../gtk/gtkcombobox.c:875 +msgid "" +"The column in the combo box's model to associate with strings from the entry " +"if the combo was created with #GtkComboBox:has-entry = %TRUE" +msgstr "" +"ਕੰਬੋਬਾਕਸ ਦੇ ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਐਂਟਰੀ ਤੋਂ ਲਾਈਨ ਨਾਲ ਸਬੰਧਿਤ ਹੈ, ਜੇ ਕਾਲਮ ਨੂੰ " +"#GtkComboBox:" +"has-entry = %TRUE ਨਾਲ ਬਣਾਇਆ ਹੋਵੇ" + +#: ../gtk/gtkcombobox.c:892 +msgid "ID Column" +msgstr "ID ਕਾਲਮ" + +#: ../gtk/gtkcombobox.c:893 +msgid "" +"The column in the combo box's model that provides string IDs for the values " +"in the model" +msgstr "ਕੰਬੋਬਾਕਸ ਦੇ ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਮਾਡਲ ਵਿੱਚ ਮੁੱਲ ਲਈ ਲਾਈਨ ID ਦਿੰਦਾ ਹੈ" + +#: ../gtk/gtkcombobox.c:908 +msgid "Active id" +msgstr "ਸਰਗਰਮ id" + +#: ../gtk/gtkcombobox.c:909 +msgid "The value of the id column for the active row" +msgstr "ਐਕਟਿਵ ਕਤਾਰ ਲਈ id ਕਾਲਮ ਦਾ ਮੁੱਲ" + +#: ../gtk/gtkcombobox.c:924 +msgid "Popup Fixed Width" +msgstr "ਪੋਪਅੱਪ ਸਥਿਰ ਚੌੜਾਈ" + +#: ../gtk/gtkcombobox.c:925 +msgid "" +"Whether the popup's width should be a fixed width matching the allocated " +"width of the combo box" +msgstr "ਕੀ ਪੋਪਅੱਪ ਦੀ ਚੌੜਾਈ ਕੰਬੋ ਬਾਕਸ ਦੀ ਦਿੱਤੀ ਗਈ ਚੌੜਾਈ ਦੇ ਮੁਤਾਬਕ ਸਥਿਰ ਹੋਵੇ" + +#: ../gtk/gtkcombobox.c:948 +msgid "Appears as list" +msgstr "ਸੂਚੀ ਦੀ ਦਿੱਸੇ" + +#: ../gtk/gtkcombobox.c:949 +msgid "Whether dropdowns should look like lists rather than menus" +msgstr "ਕੀ ਲਟਕਣ ਹੇਠਾਂ-ਖੁੱਲ੍ਹਣ ਵਾਲਾ ਮੇਨੂ ਦੀ ਤਰਾਂ ਨਾ ਹੋਕੇ ਇੱਕ ਲਿਸਟ ਵਾਂਗ ਦਿੱਸੇ" + +#: ../gtk/gtkcombobox.c:965 +msgid "Arrow Size" +msgstr "ਤੀਰ ਆਕਾਰ" + +#: ../gtk/gtkcombobox.c:966 +msgid "The minimum size of the arrow in the combo box" +msgstr "ਕੰਬੋ ਬਾਕਸ ਵਿੱਚ ਤੀਰ ਦਾ ਘੱਟੋ-ਘੱਟ ਆਕਾਰ ਹੈ।" + +#: ../gtk/gtkcombobox.c:981 ../gtk/gtkentry.c:879 ../gtk/gtkhandlebox.c:190 +#: ../gtk/gtkmenubar.c:207 ../gtk/gtkstatusbar.c:182 ../gtk/gtktoolbar.c:601 +#: ../gtk/gtkviewport.c:153 +msgid "Shadow type" +msgstr "ਛਾਂ ਕਿਸਮ" + +#: ../gtk/gtkcombobox.c:982 +msgid "Which kind of shadow to draw around the combo box" +msgstr "ਕੰਬੋ ਬਾਕਸ ਦੁਆਲੇ ਕਿਸ ਕਿਸਮ ਦੀ ਛਾਂ ਖਿੱਚੀ ਜਾਵੇ" + +#: ../gtk/gtkcontainer.c:453 +msgid "Resize mode" +msgstr "ਮੁੜ-ਅਕਾਰ ਮੋਡ" + +#: ../gtk/gtkcontainer.c:454 +msgid "Specify how resize events are handled" +msgstr "ਦੱਸੋ ਕਿ ਮੁੜ-ਅਕਾਰ ਘਟਨਾ ਨੂੰ ਕਿਵੇਂ ਸੰਭਾਲਿਆ ਜਾਵੇਗਾ" + +#: ../gtk/gtkcontainer.c:461 +msgid "Border width" +msgstr "ਕਿਨਾਰੇ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkcontainer.c:462 +msgid "The width of the empty border outside the containers children" +msgstr "ਕੰਨਟੇਨਰ ਚਲਾਇਡਰਨ ਦੇ ਬਾਹਰ ਖਾਲੀ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkcontainer.c:470 +msgid "Child" +msgstr "ਚਲਾਇਡ" + +#: ../gtk/gtkcontainer.c:471 +msgid "Can be used to add a new child to the container" +msgstr "ਕੰਨਟੇਨਰ ਵਿੱਚ ਨਵਾਂ ਚਲਾਇਡ ਨੂੰ ਜੋੜਨ ਦੇ ਕੰਮ ਆਉਦੀ ਹੈ" + +#: ../gtk/gtkdialog.c:289 ../gtk/gtkinfobar.c:434 +msgid "Content area border" +msgstr "ਸੰਖੇਪ ਖੇਤਰ ਦਾ ਕਿਨਾਰਾ" + +#: ../gtk/gtkdialog.c:290 +msgid "Width of border around the main dialog area" +msgstr "ਮੁੱਲ਼ ਤੱਖਤੀ ਖੇਤਰ ਦੇ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkdialog.c:307 ../gtk/gtkinfobar.c:451 +msgid "Content area spacing" +msgstr "ਸਮੱਗਰੀ ਖੇਤਰ ਥਾਂ" + +#: ../gtk/gtkdialog.c:308 +msgid "Spacing between elements of the main dialog area" +msgstr "ਮੁੱਖ ਡਾਈਲਾਗ ਖੇਤਰ ਦੀਆਂ ਇਕਾਈਆਂ ਵਿੱਚ ਥਾਂ" + +#: ../gtk/gtkdialog.c:315 ../gtk/gtkinfobar.c:467 +msgid "Button spacing" +msgstr "ਬਟਨ ਦੀ ਥਾਂ" + +#: ../gtk/gtkdialog.c:316 ../gtk/gtkinfobar.c:468 +msgid "Spacing between buttons" +msgstr "ਬਟਨਾਂ ਵਿੱਚਕਾਰ ਥਾਂ" + +#: ../gtk/gtkdialog.c:324 ../gtk/gtkinfobar.c:483 +msgid "Action area border" +msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦਾ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtkdialog.c:325 +msgid "Width of border around the button area at the bottom of the dialog" +msgstr "ਤੱਖਤੀ ਦੇ ਹੇਠ ਬਟਨਾਂ ਦੇ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkentry.c:726 +msgid "Text Buffer" +msgstr "ਟੈਕਸਟ ਬਫਰ" + +#: ../gtk/gtkentry.c:727 +msgid "Text buffer object which actually stores entry text" +msgstr "ਟੈਕਸਟ ਬਫ਼ਰ ਆਬਜੈਕਟ, ਜੋ ਕਿ ਅਸਲ ਵਿੱਚ ਐਂਟਰੀ ਟੈਕਸਟ ਸਟੋਰ ਕਰਦਾ ਹੈ" + +#: ../gtk/gtkentry.c:734 ../gtk/gtklabel.c:662 +msgid "Cursor Position" +msgstr "ਕਰਸਰ ਦੀ ਸਥਿਤੀ" + +#: ../gtk/gtkentry.c:735 ../gtk/gtklabel.c:663 +msgid "The current position of the insertion cursor in chars" +msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਦੀ ਮੌਜੂਦਾ ਸਥਿਤੀ" + +#: ../gtk/gtkentry.c:744 ../gtk/gtklabel.c:672 +msgid "Selection Bound" +msgstr "ਚੋਣ ਸੀਮਾ" + +#: ../gtk/gtkentry.c:745 ../gtk/gtklabel.c:673 +msgid "" +"The position of the opposite end of the selection from the cursor in chars" +msgstr "ਕਰਸਰ ਤੋਂ ਚੋਣ ਦੀ ਵਿਰੋਧੀ ਸਿਰਿਆ ਤੱਕ ਦੀ ਸਥਿਤੀ ਅੱਖਰਾਂ ਵਿੱਚ" + +#: ../gtk/gtkentry.c:755 +msgid "Whether the entry contents can be edited" +msgstr "ਕੀ ਇੰਦਰਾਜ਼ ਹਿੱਸੇ ਨੁੰ ਸੋਧਿਆ ਜਾ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkentry.c:762 ../gtk/gtkentrybuffer.c:382 +msgid "Maximum length" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਲੰਬਾਈ" + +#: ../gtk/gtkentry.c:763 ../gtk/gtkentrybuffer.c:383 +msgid "Maximum number of characters for this entry. Zero if no maximum" +msgstr "" +"ਇਸ ਇੰਦਰਾਜ਼ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਅੱਖਰਾਂ ਦੀ ਥਾਂ 0 ਜੇਕਰ ਕੋਈ ਵੱਧ ਤੋਂ ਵੱਧ ਨਹੀਂ ਹੈ " + +#: ../gtk/gtkentry.c:771 +msgid "Visibility" +msgstr "ਵੇਖਣਯੋਗਤਾ" + +#: ../gtk/gtkentry.c:772 +msgid "" +"FALSE displays the \"invisible char\" instead of the actual text (password " +"mode)" +msgstr "ਗਲਤ, ਅਸਲੀ ਸ਼ਬਦਾਂ(ਗੁਪਤ ਕੋਡ) ਦੀ ਬਜਾਏ \"ਲੁਕਵੇ ਅੱਖਰ\" ਵੇਖਾਵੇਗਾ" + +#: ../gtk/gtkentry.c:780 +msgid "FALSE removes outside bevel from entry" +msgstr "ਗਲਤ ਇੰਦਰਾਜ਼ ਵਿਚੋ ਬਾਹਰੀ bevel ਨੂੰ ਹਟਾ ਦੇਵੇਗਾ" + +#: ../gtk/gtkentry.c:788 +msgid "" +"Border between text and frame. Overrides the inner-border style property" +msgstr "" +"ਟੈਕਸਟ ਅਤੇ ਫਰੇਮ ਵਿੱਚ ਹਾਸ਼ੀਆ ਹੈ। ਅੰਦਰੂਨੀ-ਹਾਸ਼ੀਆ ਸਟਾਇਲ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਅਣਡਿੱਠਾ " +"ਕਰਦਾ ਹੈ" + +#: ../gtk/gtkentry.c:795 ../gtk/gtkentry.c:1361 +msgid "Invisible character" +msgstr "ਅਦਿੱਖ ਅੱਖਰ" + +#: ../gtk/gtkentry.c:796 ../gtk/gtkentry.c:1362 +msgid "The character to use when masking entry contents (in \"password mode\")" +msgstr "" +"ਅੱਖਰ, ਜੋ ਕਿ ਇੰਦਰਾਜ਼ ਦੇ ਸ਼ਬਦਾਂ ਨੂੰ ਲੁਕਉਣ ਦੇ ਕੰਮ ਲਈ ਵਰਤਿਆ ਜਾਵੇਗਾ (\"ਗੁਪਤ ਕੋਡ\" " +"ਵਿੱਚ)" + +#: ../gtk/gtkentry.c:803 +msgid "Activates default" +msgstr "ਡਿਫਾਲਟ ਸਰਗਰਮ" + +#: ../gtk/gtkentry.c:804 +msgid "" +"Whether to activate the default widget (such as the default button in a " +"dialog) when Enter is pressed" +msgstr "" +"ਕੀ ਡਿਫਾਲਟ ਵਿਦਗਿਟ ਹੀ ਸਰਗਰਮ ਕਰਨਾ ਹੈ, (ਜਿਵੇਂ ਕਿ ਡਾਈਲਾਗ ਵਿੱਚ ਡਿਫਾਲਟ ਬਟਨ)ਜਦੋ ਕਿ " +"ਐਟਰ ਨੂੰ " +"ਦਬਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkentry.c:810 +msgid "Width in chars" +msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" + +#: ../gtk/gtkentry.c:811 +msgid "Number of characters to leave space for in the entry" +msgstr "ਇੰਦਰਾਜ਼ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਛੱਡਣ ਲਈ ਅੱਖਰਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkentry.c:820 +msgid "Scroll offset" +msgstr "ਸੰਤੁਲਿਤ ਸਕਰੋਲ" + +#: ../gtk/gtkentry.c:821 +msgid "Number of pixels of the entry scrolled off the screen to the left" +msgstr "ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ, ਜੋ ਕਿ ਸਕਰੀਨ ਦੇ ਖੱਬਿਉ ਇੰਦਰਾਜ਼ ਵਿੱਚ ਸੰਤੁਲਿਤ ਸਕਰੋਲ ਹੋਣ" + +#: ../gtk/gtkentry.c:831 +msgid "The contents of the entry" +msgstr "ਐਂਟਰੀ ਦੀ ਸਮੱਗਰੀ" + +#: ../gtk/gtkentry.c:846 ../gtk/gtkmisc.c:81 +msgid "X align" +msgstr "X ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkentry.c:847 ../gtk/gtkmisc.c:82 +msgid "" +"The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL " +"layouts." +msgstr "ਲੇਟਵੀ ਸਫ਼ਬੰਦੀ, 0 (ਖੱਬਿਉ) ਤੋ 1 (ਸੱਜਿਉ) RTL ਲਈ ਉਲਟ ਹੈ।" + +#: ../gtk/gtkentry.c:863 +msgid "Truncate multiline" +msgstr "ਛਾਂਟੀਆਂ ਬਹੁ-ਲਾਈਨਾਂ" + +#: ../gtk/gtkentry.c:864 +msgid "Whether to truncate multiline pastes to one line." +msgstr "ਕੀ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਛਾਂਟੀਆਂ ਬਹੁ-ਲਾਈਨਾਂ ਨੂੰ ਚੇਪਿਆ ਜਾਵੇ।" + +#: ../gtk/gtkentry.c:880 +msgid "Which kind of shadow to draw around the entry when has-frame is set" +msgstr "ਐਂਟਰੀ ਦੁਆਲੇ ਕਿਸ ਕਿਸਮ ਦੀ ਸ਼ੈਡੋ ਬਣਾਉਣੀ ਹੈ, ਜਦੋਂ ਕਿ ਫਰੇਮ ਸੈੱਟ ਹੋਵੇ" + +#: ../gtk/gtkentry.c:895 ../gtk/gtktextview.c:766 +msgid "Overwrite mode" +msgstr "ਉੱਤੇ ਵੇਖਾਉਣ ਦਾ ਢੰਗ" + +#: ../gtk/gtkentry.c:896 +msgid "Whether new text overwrites existing text" +msgstr "ਕੀ ਨਵਾਂ ਟੈਕਸਟ ਪੁਰਾਣੇ ਟੈਕਸਟ ਉੱਤੇ ਲਿਖੇ" + +#: ../gtk/gtkentry.c:910 ../gtk/gtkentrybuffer.c:367 +msgid "Text length" +msgstr "ਟੈਕਸਟ ਲੰਬਾਈ" + +#: ../gtk/gtkentry.c:911 +msgid "Length of the text currently in the entry" +msgstr "ਐਂਟਰੀ ਵਿੱਚ ਮੌਜੂਦ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkentry.c:926 +msgid "Invisible character set" +msgstr "ਅਦਿੱਖ ਅੱਖਰ ਸੈੱਟ" + +#: ../gtk/gtkentry.c:927 +msgid "Whether the invisible character has been set" +msgstr "ਕੀ ਅਦਿੱਖ ਅੱਖਰ ਸੈੱਟ ਕਰਨੇ ਹਨ" + +#: ../gtk/gtkentry.c:945 +msgid "Caps Lock warning" +msgstr "ਕੈਪਸ ਲਾਕ ਚੇਤਾਵਨੀ" + +#: ../gtk/gtkentry.c:946 +msgid "Whether password entries will show a warning when Caps Lock is on" +msgstr "ਕੀ ਜਦੋਂ ਕੈਪਸ ਲਾਕ ਚਾਲੂ ਹੋਵੇ ਤਾਂ ਪਾਸਵਰਡ ਐਂਟਰੀਆਂ ਇੱਕ ਚੇਤਾਵਨੀ ਵੇਖਾਉਣ" + +#: ../gtk/gtkentry.c:960 +msgid "Progress Fraction" +msgstr "ਤਰੱਕੀ ਭਾਗ" + +#: ../gtk/gtkentry.c:961 +msgid "The current fraction of the task that's been completed" +msgstr "ਟਾਸਕ ਦਾ ਮੌਜੂਦਾ ਭਾਗ, ਜੋ ਕਿ ਪੂਰਾ ਹੋ ਗਿਆ" + +#: ../gtk/gtkentry.c:978 +msgid "Progress Pulse Step" +msgstr "ਤਰੱਕੀ ਪਲੱਸ ਸਟੈਪ" + +#: ../gtk/gtkentry.c:979 +msgid "" +"The fraction of total entry width to move the progress bouncing block for " +"each call to gtk_entry_progress_pulse()" +msgstr "" +"ਤਰੱਕੀ ਬਲਾਕ ਹਿਲਾਉਣ ਲਈ ਭਾਗ ਦੀ ਕੁੱਲ ਐਂਟਰੀ ਚੌੜਾਈ, ਜੋ ਕਿ " +"gtk_entry_progress_pulse() ਦੀ " +"ਹਰੇਕ ਕਾਲ ਲਈ ਹੋਵੇ" + +#: ../gtk/gtkentry.c:995 +msgid "Primary pixbuf" +msgstr "ਪ੍ਰਾਇਮਰੀ ਪਿਕਬਫ਼" + +#: ../gtk/gtkentry.c:996 +msgid "Primary pixbuf for the entry" +msgstr "ਐਂਟਰੀ ਲਈ ਪ੍ਰਾਇਮਰੀ ਪਿਕਬਫ਼" + +#: ../gtk/gtkentry.c:1010 +msgid "Secondary pixbuf" +msgstr "ਸੈਕੰਡਰੀ ਪਿਕਬਫ਼" + +#: ../gtk/gtkentry.c:1011 +msgid "Secondary pixbuf for the entry" +msgstr "ਐਂਟਰੀ ਲਈ ਸੈਕੰਡਰੀ ਪਿਕਬਫ਼" + +#: ../gtk/gtkentry.c:1025 +msgid "Primary stock ID" +msgstr "ਪ੍ਰਾਇਮਰੀ ਸਟਾਕ ID" + +#: ../gtk/gtkentry.c:1026 +msgid "Stock ID for primary icon" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ ਸਟਾਕ ID" + +#: ../gtk/gtkentry.c:1040 +msgid "Secondary stock ID" +msgstr "ਸੈਕੰਡਰੀ ਸਟਾਕ ID" + +#: ../gtk/gtkentry.c:1041 +msgid "Stock ID for secondary icon" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ ਸਟਾਕ ID" + +#: ../gtk/gtkentry.c:1055 +msgid "Primary icon name" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkentry.c:1056 +msgid "Icon name for primary icon" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkentry.c:1070 +msgid "Secondary icon name" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkentry.c:1071 +msgid "Icon name for secondary icon" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkentry.c:1085 +msgid "Primary GIcon" +msgstr "ਪ੍ਰਾਇਮਰੀ GIcon" + +#: ../gtk/gtkentry.c:1086 +msgid "GIcon for primary icon" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ GIcon" + +#: ../gtk/gtkentry.c:1100 +msgid "Secondary GIcon" +msgstr "ਸੈਕੰਡਰੀ GIcon" + +#: ../gtk/gtkentry.c:1101 +msgid "GIcon for secondary icon" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ GIcon" + +#: ../gtk/gtkentry.c:1115 +msgid "Primary storage type" +msgstr "ਪ੍ਰਾਇਮਰੀ ਸਟੋਰੇਜ਼ ਟਾਈਪ" + +#: ../gtk/gtkentry.c:1116 +msgid "The representation being used for primary icon" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਲਈ ਨੁਮਾਇੰਦਾ" + +#: ../gtk/gtkentry.c:1131 +msgid "Secondary storage type" +msgstr "ਸੈਕੰਡਰੀ ਸਟੋਰੇਜ਼ ਟਾਈਪ" + +#: ../gtk/gtkentry.c:1132 +msgid "The representation being used for secondary icon" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਨੁਮਾਇੰਦਾ" + +#: ../gtk/gtkentry.c:1153 +msgid "Primary icon activatable" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਯੋਗ" + +#: ../gtk/gtkentry.c:1154 +msgid "Whether the primary icon is activatable" +msgstr "ਕੀ ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਹੋਣਯੋਗ ਹੋਣ" + +#: ../gtk/gtkentry.c:1174 +msgid "Secondary icon activatable" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਹੋਣਯੋਗ" + +#: ../gtk/gtkentry.c:1175 +msgid "Whether the secondary icon is activatable" +msgstr "ਕੀ ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸਰਗਰਮ-ਹੋਣਯੋਗ ਹੋਣ" + +#: ../gtk/gtkentry.c:1197 +msgid "Primary icon sensitive" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ" + +#: ../gtk/gtkentry.c:1198 +msgid "Whether the primary icon is sensitive" +msgstr "ਕੀ ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" + +#: ../gtk/gtkentry.c:1219 +msgid "Secondary icon sensitive" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ" + +#: ../gtk/gtkentry.c:1220 +msgid "Whether the secondary icon is sensitive" +msgstr "ਕੀ ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਸੰਵੇਦਨਸ਼ੀਲ ਹੋਣ" + +#: ../gtk/gtkentry.c:1236 +msgid "Primary icon tooltip text" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ" + +#: ../gtk/gtkentry.c:1237 ../gtk/gtkentry.c:1273 +msgid "The contents of the tooltip on the primary icon" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਦੀ ਸਮੱਗਰੀ" + +#: ../gtk/gtkentry.c:1253 +msgid "Secondary icon tooltip text" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ" + +#: ../gtk/gtkentry.c:1254 ../gtk/gtkentry.c:1292 +msgid "The contents of the tooltip on the secondary icon" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਦੀ ਸਮੱਗਰੀ" + +#: ../gtk/gtkentry.c:1272 +msgid "Primary icon tooltip markup" +msgstr "ਪ੍ਰਾਇਮਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਨਿਸ਼ਾਨਬੱਧ" + +#: ../gtk/gtkentry.c:1291 +msgid "Secondary icon tooltip markup" +msgstr "ਸੈਕੰਡਰੀ ਆਈਕਾਨ ਟੂਲ-ਟਿੱਪ ਨਿਸ਼ਾਨਬੱਧ" + +#: ../gtk/gtkentry.c:1311 ../gtk/gtktextview.c:794 +msgid "IM module" +msgstr "IM ਮੋਡੀਊਲ" + +#: ../gtk/gtkentry.c:1312 ../gtk/gtktextview.c:795 +msgid "Which IM module should be used" +msgstr "ਕਿਹੜਾ IM ਮੋਡੀਊਲ ਵਰਤਿਆ ਜਾਵੇ" + +#: ../gtk/gtkentry.c:1326 +msgid "Icon Prelight" +msgstr "ਆਈਕਾਨ ਪ੍ਰੀ-ਲਾਈਟ" + +#: ../gtk/gtkentry.c:1327 +msgid "Whether activatable icons should prelight when hovered" +msgstr "ਕੀ ਸਰਗਰਮ-ਹੋਣਯੋਗ ਆਈਕਾਨ ਪ੍ਰੀ-ਲਾਈਟ ਕੀਤੇ ਜਾਣ, ਜਦੋਂ ਉੱਤੇ ਇਸ਼ਾਰਾ ਹੋਵੇ" + +#: ../gtk/gtkentry.c:1340 +msgid "Progress Border" +msgstr "ਤਰੱਕੀ ਬਾਰਡਰ" + +#: ../gtk/gtkentry.c:1341 +msgid "Border around the progress bar" +msgstr "ਤਰੱਕੀ ਪੱਟੀ ਦੇ ਦੁਆਲੇ ਬਾਰਡਰ" + +#: ../gtk/gtkentry.c:1833 +msgid "Border between text and frame." +msgstr "ਟੈਕਸਟ ਅਤੇ ਫਰੇਮ ਵਿੱਚ ਬਾਰਡਰ" + +#: ../gtk/gtkentrybuffer.c:353 +msgid "The contents of the buffer" +msgstr "ਬਫ਼ਰ ਦੀ ਸਮੱਗਰੀ" + +#: ../gtk/gtkentrybuffer.c:368 +msgid "Length of the text currently in the buffer" +msgstr "ਬਫ਼ਰ ਵਿੱਚ ਮੌਜੂਦਾ ਟੈਕਸਟ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkentrycompletion.c:301 +msgid "Completion Model" +msgstr "ਪੂਰਤੀ ਮਾਡਲ" + +#: ../gtk/gtkentrycompletion.c:302 +msgid "The model to find matches in" +msgstr "ਮਾਡਲ, ਜਿਸ ਵਿੱਚ ਮੇਲ ਲੱਭਣਾ ਹੈ" + +#: ../gtk/gtkentrycompletion.c:308 +msgid "Minimum Key Length" +msgstr "ਘੱਟੋ-ਘੱਟ ਕੁੰਜੀ ਲੰਬਾਈ" + +#: ../gtk/gtkentrycompletion.c:309 +msgid "Minimum length of the search key in order to look up matches" +msgstr "ਮੇਲ ਲੱਭਣ ਲਈ ਖੋਜ ਕੁੰਜੀ ਦੀ ਘੱਟੋ-ਘੱਟ ਲੰਬਾਈ" + +#: ../gtk/gtkentrycompletion.c:325 ../gtk/gtkiconview.c:561 +msgid "Text column" +msgstr "ਟੈਕਸਟ ਕਾਲਮ" + +#: ../gtk/gtkentrycompletion.c:326 +msgid "The column of the model containing the strings." +msgstr "ਮਾਡਲ ਦੇ ਕਾਲਮ ਵਿੱਚ ਸਤਰਾਂ ਇਸ ਤੋਂ ਪਰਾਪਤ ਕਰੇਗਾ।" + +#: ../gtk/gtkentrycompletion.c:345 +msgid "Inline completion" +msgstr "ਲਾਈਨ ਵਿੱਚ ਪੂਰਨ" + +#: ../gtk/gtkentrycompletion.c:346 +msgid "Whether the common prefix should be inserted automatically" +msgstr "ਕੀ ਆਮ ਅਗੇਤਰ ਆਟੋਮੈਟਿਕ ਹੀ ਜੋੜ ਦਿੱਤਾ ਜਾਵੇ" + +#: ../gtk/gtkentrycompletion.c:360 +msgid "Popup completion" +msgstr "ਪੋਪਅੱਪ ਪੂਰਨ" + +#: ../gtk/gtkentrycompletion.c:361 +msgid "Whether the completions should be shown in a popup window" +msgstr "ਕੀ ਇੱਕ ਪੋਪਅੱਪ ਵਿੰਡੋ ਵਿੱਚ ਪੂਰਨ ਕੀਤਾ ਜਾਵੇ" + +#: ../gtk/gtkentrycompletion.c:376 +msgid "Popup set width" +msgstr "ਪੋਪਅੱਪ ਸੈਟ ਚੌੜਾਈ" + +#: ../gtk/gtkentrycompletion.c:377 +msgid "If TRUE, the popup window will have the same size as the entry" +msgstr "" +"ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਪੋਪਅੱਪ ਵਿੰਡੋ ਨੂੰ ਉਸੇ ਅਕਾਰ ਦੇ ਹੋਵੇਗਾ, ਜਿਸ ਦਾ ਇੰਦਰਾਜ਼ ਹੈ" + +#: ../gtk/gtkentrycompletion.c:395 +msgid "Popup single match" +msgstr "ਪੋਪਅੱਪ ਇੱਕਲਾ ਮੇਲ" + +#: ../gtk/gtkentrycompletion.c:396 +msgid "If TRUE, the popup window will appear for a single match." +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਪੋਪਅੱਪ ਵਿੰਡੋ ਇੱਕ ਇੱਕਲੇ ਮੇਲ ਲਈ ਵਿਖਾਈ ਦੇਵੇਗਾ।" + +#: ../gtk/gtkentrycompletion.c:410 +msgid "Inline selection" +msgstr "ਇਨ-ਲਾਈਨ ਚੋਣ" + +#: ../gtk/gtkentrycompletion.c:411 +msgid "Your description here" +msgstr "ਆਪਣਾ ਵੇਰਵਾ ਇੱਥੇ ਦਿਓ" + +#: ../gtk/gtkeventbox.c:109 +msgid "Visible Window" +msgstr "ਦਿੱਖ ਵਿੰਡੋ" + +#: ../gtk/gtkeventbox.c:110 +msgid "" +"Whether the event box is visible, as opposed to invisible and only used to " +"trap events." +msgstr "" +"ਕੀ ਘਟਨਾ-ਡੱਬਾ ਦਿੱਸਯੋਗ ਹੋਵੇ, ਇਸ ਦੇ ਉਲਟ ਕਿ ਲੁਕਵਾਂ ਅਤੇ ਸਿਰਫ ਘਟਨਾਵਾਂ ਨੂੰ ਫੜੇ ਹੀ" + +#: ../gtk/gtkeventbox.c:116 +msgid "Above child" +msgstr "ਚਲਾਇਡ ਤੋਂ ਉੱਤੇ" + +#: ../gtk/gtkeventbox.c:117 +msgid "" +"Whether the event-trapping window of the eventbox is above the window of the " +"child widget as opposed to below it." +msgstr "" +"ਕੀ ਘਟਨਾ-ਡੱਬੇ ਦਾ ਘਟਨਾ ਫੜਨ ਵਾਲੀ ਵਿੰਡੋ ਚਾਲਇਡ ਵਿਦਗਿਟ ਦੇ ਉੱਤੇ ਹੋਵੇ ,ਇਸ ਦੇ ਉਲਟ ਕਿ " +"ਇਸ ਦੇ ਹੇਠਾਂ" + +#: ../gtk/gtkexpander.c:279 +msgid "Expanded" +msgstr "ਫੈਲਿਆ" + +#: ../gtk/gtkexpander.c:280 +msgid "Whether the expander has been opened to reveal the child widget" +msgstr "ਕੀ ਫੈਲਾਣਵਾਲੇ ਨੂੰ ਚਲਾਇਡ ਵਿਦਗਿਟ ਨੂੰ ਖੋਲ੍ਹਣਾ ਚਾਹੀਦਾ ਹੈ" + +#: ../gtk/gtkexpander.c:288 +msgid "Text of the expander's label" +msgstr "ਫੈਲੇ ਲੇਬਲ ਦਾ ਪਾਠ" + +#: ../gtk/gtkexpander.c:303 ../gtk/gtklabel.c:581 +msgid "Use markup" +msgstr "ਨਿਸ਼ਾਨਬੰਦੀ ਵਰਤੋਂ" + +#: ../gtk/gtkexpander.c:304 ../gtk/gtklabel.c:582 +msgid "The text of the label includes XML markup. See pango_parse_markup()" +msgstr "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਵਿੱਚ XML ਮਾਰਕਅੱਪ ਹੋਵੇ ਵੇਖੋ pango_parse_markup()" + +#: ../gtk/gtkexpander.c:312 +msgid "Space to put between the label and the child" +msgstr "ਲੇਬਲ ਅਤੇ ਚਲਾਇਡ ਵਿੱਚ ਦੇਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkexpander.c:321 ../gtk/gtkframe.c:168 ../gtk/gtktoolbutton.c:215 +#: ../gtk/gtktoolitemgroup.c:1601 +msgid "Label widget" +msgstr "ਲੇਬਲ ਵਿਦਗਿਟ" + +#: ../gtk/gtkexpander.c:322 +msgid "A widget to display in place of the usual expander label" +msgstr "ਵਿਦਗਿਟ, ਆਮ ਫੈਲਾੳ ਲੇਬਲ ਦੀ ਥਾਂ ਵੇਖਾਉ " + +#: ../gtk/gtkexpander.c:329 +msgid "Label fill" +msgstr "ਲੇਬਲ ਭਰੋ" + +#: ../gtk/gtkexpander.c:330 +msgid "Whether the label widget should fill all available horizontal space" +msgstr "ਕੀ ਲੇਬਲ ਵਿਦਜੈੱਟ ਸਭ ਉਪਲੱਬਧ ਹਰੀਜੱਟਲ ਥਾਂ ਨੂੰ ਭਰੇ" + +#: ../gtk/gtkexpander.c:336 ../gtk/gtktoolitemgroup.c:1629 +#: ../gtk/gtktreeview.c:1191 +msgid "Expander Size" +msgstr "ਫੈਲਾ ਦਾ ਅਕਾਰ" + +#: ../gtk/gtkexpander.c:337 ../gtk/gtktoolitemgroup.c:1630 +#: ../gtk/gtktreeview.c:1192 +msgid "Size of the expander arrow" +msgstr "ਫੈਲਾ ਵਾਲੇ ਤੀਰ ਦਾ ਅਕਾਰ" + +#: ../gtk/gtkexpander.c:346 +msgid "Spacing around expander arrow" +msgstr "ਫੈਲਾ ਵਾਲੇ ਤੀਰ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਥਾਂ" + +#: ../gtk/gtkfilechooserbutton.c:366 +msgid "Dialog" +msgstr "ਡਾਈਲਾਗ" + +#: ../gtk/gtkfilechooserbutton.c:367 +msgid "The file chooser dialog to use." +msgstr "ਵਰਤਣ ਲਈ ਫਾਇਲ ਚੋਣਕਾਰ ਵਰਤੋਂ।" + +#: ../gtk/gtkfilechooserbutton.c:398 +msgid "The title of the file chooser dialog." +msgstr "ਫਾਇਲ ਚੋਣਕਾਰ ਡਾਈਲਾਗ ਦਾ ਨਾਂ ਹੈ।" + +#: ../gtk/gtkfilechooserbutton.c:412 +msgid "The desired width of the button widget, in characters." +msgstr "ਬਟਨ ਵਿਦਗਿਟ ਦੀ ਲੋੜੀਦੀ ਚੌਰਾਈ ਅੱਖਰਾਂ ਵਿੱਚ ਹੈ।" + +#: ../gtk/gtkfilechooser.c:740 +msgid "Action" +msgstr "ਕਾਰਵਾਈ" + +#: ../gtk/gtkfilechooser.c:741 +msgid "The type of operation that the file selector is performing" +msgstr "ਕਾਰਵਾਈ ਦੀ ਕਿਸਮ ਜੋ ਕਿ ਫਾਇਲ ਚੋਣਕਾਰ ਕਰ ਰਿਹਾ ਹੈ " + +#: ../gtk/gtkfilechooser.c:747 ../gtk/gtkrecentchooser.c:264 +msgid "Filter" +msgstr "ਫਿਲਟਰ" + +#: ../gtk/gtkfilechooser.c:748 +msgid "The current filter for selecting which files are displayed" +msgstr "ਵੇਖਾਉਣ ਲਈ ਫਾਇਲਾਂ ਦੀ ਚੋਣ ਕਰਨ ਵਾਲਾ ਮੌਜੂਦਾ ਫਿਲਟਰ" + +#: ../gtk/gtkfilechooser.c:753 +msgid "Local Only" +msgstr "ਲੋਕਲ ਹੀ" + +#: ../gtk/gtkfilechooser.c:754 +msgid "Whether the selected file(s) should be limited to local file: URLs" +msgstr "ਕੀ ਚੁਣੀਆਂ ਫਾਇਲਾਂ ਸਿਰਫ ਲੋਕਲ ਹੀ ਹੋਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ : URL" + +#: ../gtk/gtkfilechooser.c:759 +msgid "Preview widget" +msgstr "ਝਲਕ ਵਿਦਗਿਟ" + +#: ../gtk/gtkfilechooser.c:760 +msgid "Application supplied widget for custom previews." +msgstr "ਕਸਟਮ ਝਲਕ ਲਈ ਕਾਰਜ ਵਲੋਂ ਦਿੱਤੇ ਵਿਦਗਿਟ" + +#: ../gtk/gtkfilechooser.c:765 +msgid "Preview Widget Active" +msgstr "ਵਿਦਗਿਟ ਕਾਰਵਾਈ ਦੀ ਝਲਕ" + +#: ../gtk/gtkfilechooser.c:766 +msgid "" +"Whether the application supplied widget for custom previews should be shown." +msgstr "ਕੀ ਸੋਧ ਝਲਕ ਵੇਖਾਉਣ ਲਈ ਕਾਰਜ ਵਿਦਗਿਟ ਦੇਵੇ।" + +#: ../gtk/gtkfilechooser.c:771 +msgid "Use Preview Label" +msgstr "ਝਲਕ ਲੇਬਲ ਵਰਤੋਂ" + +#: ../gtk/gtkfilechooser.c:772 +msgid "Whether to display a stock label with the name of the previewed file." +msgstr "ਕੀ ਝਲਕ ਫਾਇਲਾਂ ਦੇ ਨਾਂ ਨਾਲ ਸਟਾਕ ਲੇਬਲ ਵੀ ਵੇਖਾਇਆ ਜਾਵੇ।" + +#: ../gtk/gtkfilechooser.c:777 +msgid "Extra widget" +msgstr "ਵਾਧੂ ਵਿਦਗਿਟ" + +#: ../gtk/gtkfilechooser.c:778 +msgid "Application supplied widget for extra options." +msgstr "ਹੋਰ ਚੋਣ ਲਈ ਕਾਰਜ ਵਿਦਗਿਟ ਦੇਵੇ " + +#: ../gtk/gtkfilechooser.c:783 ../gtk/gtkrecentchooser.c:203 +msgid "Select Multiple" +msgstr "ਬਹੁ-ਚੋਣ" + +#: ../gtk/gtkfilechooser.c:784 +msgid "Whether to allow multiple files to be selected" +msgstr "ਕੀ ਬਹੁਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਚੋਣ ਦੀ ਇਜ਼ਾਜ਼ਤ ਦੇਣੀ ਹੈ" + +#: ../gtk/gtkfilechooser.c:790 +msgid "Show Hidden" +msgstr "ਲੁਕਵੇਂ ਵੇਖਾਓ" + +#: ../gtk/gtkfilechooser.c:791 +msgid "Whether the hidden files and folders should be displayed" +msgstr "ਕੀ ਲੁਕਵੀਆਂ ਫਾਇਲਾਂ ਅਤੇ ਫੋਲਡਰਾਂ ਨੂੰ ਵੇਖਾਉਣੇ ਹਨ" + +#: ../gtk/gtkfilechooser.c:806 +msgid "Do overwrite confirmation" +msgstr "ਉੱਤੇ ਲਿਖਣ ਪੁਸ਼ਟੀ ਕਰੋ" + +#: ../gtk/gtkfilechooser.c:807 +msgid "" +"Whether a file chooser in save mode will present an overwrite confirmation " +"dialog if necessary." +msgstr "" +"ਕੀ ਸੰਭਾਲਣ ਢੰਗ ਵਿੱਚ ਇੱਕ ਫਾਇਲ ਚੋਣਕਾਰ ਲੋੜ ਪੈਣ ਉੱਤੇ ਇੱਕ ਉੱਪਰ ਲਿਖਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ " +"ਡਾਈਲਾਗ ਵੇਖਾਏ।" + +#: ../gtk/gtkfilechooser.c:823 +msgid "Allow folder creation" +msgstr "ਫੋਲਡਰ ਬਣਾਉਣੇ ਮਨਜ਼ੂਰ" + +#: ../gtk/gtkfilechooser.c:824 +msgid "" +"Whether a file chooser not in open mode will offer the user to create new " +"folders." +msgstr "" +"ਕੀ ਖੋਲ੍ਹੋ ਮੋਡ ਵਿੱਚ ਇੱਕ ਫਾਇਲ ਚੋਣਕਾਰ ਲੋੜ ਪੈਣ ਉੱਤੇ ਯੂਜ਼ਰ ਨੂੰ ਨਵੇਂ ਫੋਲਡਰ ਬਣਾਉਣ ਲਈ " +"ਸਹਾਇਕ ਹੋਵੇ।" + +#: ../gtk/gtkfixed.c:152 ../gtk/gtklayout.c:632 +msgid "X position" +msgstr "X ਟਿਕਾਣਾ" + +#: ../gtk/gtkfixed.c:153 ../gtk/gtklayout.c:633 +msgid "X position of child widget" +msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੀ X ਸਥਿਤੀ" + +#: ../gtk/gtkfixed.c:160 ../gtk/gtklayout.c:642 +msgid "Y position" +msgstr "Y ਟਿਕਾਣਾ" + +#: ../gtk/gtkfixed.c:161 ../gtk/gtklayout.c:643 +msgid "Y position of child widget" +msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੀ Y ਸਥਿਤੀ" + +#: ../gtk/gtkfontbutton.c:141 +msgid "The title of the font selection dialog" +msgstr "ਫੋਂਟ ਚੋਣਕਾਰ ਡਾਈਲਾਗ ਦਾ ਟਾਈਟਲ" + +#: ../gtk/gtkfontbutton.c:156 ../gtk/gtkfontsel.c:219 +msgid "Font name" +msgstr "ਫੋਂਟ ਨਾਂ" + +#: ../gtk/gtkfontbutton.c:157 +msgid "The name of the selected font" +msgstr "ਚੁਣੇ ਫੋਂਟ ਦਾ ਨਾਂ" + +#: ../gtk/gtkfontbutton.c:158 +msgid "Sans 12" +msgstr "ਸਨਸ ੧੨" + +#: ../gtk/gtkfontbutton.c:173 +msgid "Use font in label" +msgstr "ਲੇਬਲ ਵਿੱਚ ਫੋਂਟ ਵਰਤੋਂ" + +#: ../gtk/gtkfontbutton.c:174 +msgid "Whether the label is drawn in the selected font" +msgstr "ਕੀ ਚੁਣੇ ਫੋਟਾਂ ਨਾਲ ਲੇਬਲ ਨੂੰ ਫਿਰ ਬਣਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkfontbutton.c:189 +msgid "Use size in label" +msgstr "ਲੇਬਲ ਵਿੱਚ ਅਕਾਰ ਵਰਤੋਂ" + +#: ../gtk/gtkfontbutton.c:190 +msgid "Whether the label is drawn with the selected font size" +msgstr "ਕੀ ਚੁਣੇ ਫੋਂਟ ਅਕਾਰ ਨਾਲ ਲੇਬਲ ਨੂੰ ਫਿਰ ਬਣਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkfontbutton.c:206 +msgid "Show style" +msgstr "ਸਟਾਇਲ ਵੇਖੋ" + +#: ../gtk/gtkfontbutton.c:207 +msgid "Whether the selected font style is shown in the label" +msgstr "ਕੀ ਚੁਣੇ ਫੋਂਟ ਸਟਾਇਲ ਨਾਲ ਲੇਬਲ ਨੂੰ ਫਿਰ ਬਣਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkfontbutton.c:222 +msgid "Show size" +msgstr "ਅਕਾਰ ਵੇਖੋ" + +#: ../gtk/gtkfontbutton.c:223 +msgid "Whether selected font size is shown in the label" +msgstr "ਕੀ ਚੁਣੇ ਫੋਂਟ ਅਕਾਰ ਨੂੰ ਲੇਬਲ ਵਿੱਚ ਵੇਖਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkfontsel.c:220 +msgid "The string that represents this font" +msgstr "ਇਸ ਫੋਂਟ ਨੂੰ ਵੇਖਾਉਦੀ ਇੱਕ ਲਾਈਨ" + +#: ../gtk/gtkfontsel.c:226 +msgid "Preview text" +msgstr "ਟੈਕਸਟ ਝਲਕ" + +#: ../gtk/gtkfontsel.c:227 +msgid "The text to display in order to demonstrate the selected font" +msgstr "ਚੁਣੇ ਫੋਟਾਂ ਲਈ ਝਲਕ ਵੇਖਾਉਣ ਲਈ ਟੈਕਸਟ" + +#: ../gtk/gtkframe.c:134 +msgid "Text of the frame's label" +msgstr "ਫਰੇਮ ਦੇ ਲੇਬਲ ਦਾ ਸ਼ਬਦ" + +#: ../gtk/gtkframe.c:141 +msgid "Label xalign" +msgstr "ਲੇਬਲ x ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkframe.c:142 +msgid "The horizontal alignment of the label" +msgstr "ਲੇਬਲ ਦੀ ਲੇਟਵੀ ਦਿਸ਼ਾ ਵਿੱਚ ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkframe.c:150 +msgid "Label yalign" +msgstr "ਲੇਬਲ y ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkframe.c:151 +msgid "The vertical alignment of the label" +msgstr "ਲੇਬਲ ਦੀ ਲੰਬਕਾਰੀ ਦਿਸ਼ਾ ਵਿੱਚ ਸਫ਼ਬੰਦੀ" + +#: ../gtk/gtkframe.c:159 +msgid "Frame shadow" +msgstr "ਫਰੇਮ ਛਾਂ" + +#: ../gtk/gtkframe.c:160 +msgid "Appearance of the frame border" +msgstr "ਫਰੇਮ ਦੇ ਹਾਸ਼ੀਏ ਦੀ ਦਿੱਖ" + +#: ../gtk/gtkframe.c:169 +msgid "A widget to display in place of the usual frame label" +msgstr "ਫਾਰਮ ਦੇ ਲੇਬਲ ਲਈ ਥਾਂ ਵੇਖਾਉਣ ਲਈ ਵਿਦਗਿਟ" + +#: ../gtk/gtkgrid.c:1269 ../gtk/gtktable.c:175 +msgid "Row spacing" +msgstr "ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkgrid.c:1270 ../gtk/gtktable.c:176 +msgid "The amount of space between two consecutive rows" +msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਤਾਰਾਂ ਵਿਚਕਾਰ" + +#: ../gtk/gtkgrid.c:1276 ../gtk/gtktable.c:184 +msgid "Column spacing" +msgstr "ਕਾਲਮਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkgrid.c:1277 ../gtk/gtktable.c:185 +msgid "The amount of space between two consecutive columns" +msgstr "ਖਾਲੀ ਥਾਂ, ਦੋ ਲਗਾਤਾਰ ਕਾਲਮਾਂ ਵਿਚਕਾਰ" + +#: ../gtk/gtkgrid.c:1283 +msgid "Row Homogeneous" +msgstr "ਕਤਾਰ ਸਮਰੂਪ" + +#: ../gtk/gtkgrid.c:1284 +msgid "If TRUE, the rows are all the same height" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਭ ਕਤਾਰਾਂ ਇੱਕੋ ਉਚਾਈ ਦੀਆਂ ਹੋਣਗੀਆਂ" + +#: ../gtk/gtkgrid.c:1290 +msgid "Column Homogeneous" +msgstr "ਕਾਲਮ ਸਮਰੂਪ" + +#: ../gtk/gtkgrid.c:1291 +msgid "If TRUE, the columns are all the same width" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਭ ਕਾਲਮ ਇੱਕੋ ਉਚਾਈ ਦੇ ਹੋਣਗੇ" + +#: ../gtk/gtkgrid.c:1297 ../gtk/gtktable.c:201 +msgid "Left attachment" +msgstr "ਖੱਬਾ ਨੱਥੀ" + +#: ../gtk/gtkgrid.c:1298 ../gtk/gtkmenu.c:759 ../gtk/gtktable.c:202 +msgid "The column number to attach the left side of the child to" +msgstr "ਚਲਾਇਡ ਨਾਲ ਖੱਬੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" + +#: ../gtk/gtkgrid.c:1304 ../gtk/gtktable.c:215 +msgid "Top attachment" +msgstr "ਉੱਤੇ ਨੱਥੀ" + +#: ../gtk/gtkgrid.c:1305 +msgid "The row number to attach the top side of a child widget to" +msgstr "ਕਤਾਰ ਗਿਣਤੀ, ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਉੱਪਰ ਸਿਰੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" + +#: ../gtk/gtkgrid.c:1311 ../gtk/gtklayout.c:658 ../gtk/gtktreeviewcolumn.c:259 +msgid "Width" +msgstr "ਚੌੜਾਈ" + +#: ../gtk/gtkgrid.c:1312 +msgid "The number of columns that a child spans" +msgstr "ਚਲਾਈਡ ਸਪੇਨਸ ਲਈ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkgrid.c:1318 ../gtk/gtklayout.c:667 +msgid "Height" +msgstr "ਉਚਾਈ" + +#: ../gtk/gtkgrid.c:1319 +msgid "The number of rows that a child spans" +msgstr "ਚਲਾਈਡ ਸਪੇਨਸ ਲਈ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkhandlebox.c:191 +msgid "Appearance of the shadow that surrounds the container" +msgstr "ਕੰਨਟੇਨਰ ਦੇ ਦੁਆਲੇ ਛਾਂ ਦੀ ਮੌਜੂਦਗੀ" + +#: ../gtk/gtkhandlebox.c:199 +msgid "Handle position" +msgstr "ਸਥਿਤੀ ਨੂੰ ਵੇਖੋ" + +#: ../gtk/gtkhandlebox.c:200 +msgid "Position of the handle relative to the child widget" +msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਅਨੁਸਾਰ ਸੰਭਾਲਣ ਦੀ ਸਥਿਤੀ" + +#: ../gtk/gtkhandlebox.c:208 +msgid "Snap edge" +msgstr "ਕਿਨਾਰੇ ਦਾ ਦਰਿਸ਼" + +#: ../gtk/gtkhandlebox.c:209 +msgid "" +"Side of the handlebox that's lined up with the docking point to dock the " +"handlebox" +msgstr "" +"ਹੈਡਲ-ਡੱਬੇ ਦਾ ਪਾਸਾ ਜੋ ਕਿ ਹੈਡਲ-ਡੱਬੇ ਨਾਲ ਡਾਕ ਅਤੇ ਡਾਕ-ਬਿੰਦੂ ਨਾਲ ਕਤਾਰਬੱਧ ਕੀਤਾ ਹੈ" + +#: ../gtk/gtkhandlebox.c:217 +msgid "Snap edge set" +msgstr "ਕਿਨਾਰਾ ਸਮੂਹ ਦਾ ਦਰਿਸ਼" + +#: ../gtk/gtkhandlebox.c:218 +msgid "" +"Whether to use the value from the snap_edge property or a value derived from " +"handle_position" +msgstr "ਕੀ ਸਨੈਪ-ਕਿਨਾਰੇ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਤੋਂ ਮੁੱਲ ਵਰਤਣਾ ਹੈ ਜਾਂ ਸਥਿਤੀ ਤੋਂ ਬਣਾਉਣਾ ਹੈ" + +#: ../gtk/gtkhandlebox.c:225 +msgid "Child Detached" +msgstr "ਚਲਾਈਡ ਵੱਖ ਕੀਤਾ" + +#: ../gtk/gtkhandlebox.c:226 +msgid "" +"A boolean value indicating whether the handlebox's child is attached or " +"detached." +msgstr "ਬੁਲੀਅਨ ਮੁੱਲ ਵੇਖਾਉਦਾ ਹੈ ਕਿ ਕੀ ਹੈਂਡਲਬਾਕਸ ਦਾ ਚਾਈਲਡ ਅਟੈਚ ਕੀਤਾ ਜਾਂ ਵੱਖ" + +#: ../gtk/gtkiconview.c:524 +msgid "Selection mode" +msgstr "ਚੋਣ ਢੰਗ" + +#: ../gtk/gtkiconview.c:525 +msgid "The selection mode" +msgstr "ਚੋਣ ਢੰਗ" + +#: ../gtk/gtkiconview.c:543 +msgid "Pixbuf column" +msgstr "ਪਿਕਬਫ਼ ਕਾਲਮ" + +#: ../gtk/gtkiconview.c:544 +msgid "Model column used to retrieve the icon pixbuf from" +msgstr "ਆਈਕਾਨ ਪਿਕਬਫ਼ ਤੋਂ ਮਾਡਲ ਕਾਲਮ ਵਰਤਣ ਲਈ" + +#: ../gtk/gtkiconview.c:562 +msgid "Model column used to retrieve the text from" +msgstr "ਟੈਕਸਟ ਤੋਂ ਪਰਾਪਤ ਕਰਨ ਲਈ ਮਾਡਲ ਕਾਲਮ" + +#: ../gtk/gtkiconview.c:581 +msgid "Markup column" +msgstr "ਨਿਸ਼ਾਨਬੰਦੀ ਕਾਲਮ" + +#: ../gtk/gtkiconview.c:582 +msgid "Model column used to retrieve the text if using Pango markup" +msgstr "ਜੇਕਰ ਪੈਂਗੋ ਨਿਸ਼ਾਨ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਜਾਵੇ ਤਾਂ ਮਾਡਲ ਕਾਲਮ ਵਰਤਣ ਲਈ ਪਰਾਪਤ ਪਾਠ" + +#: ../gtk/gtkiconview.c:589 +msgid "Icon View Model" +msgstr "ਆਈਕਾਨ ਵੇਖਣ ਮਾਡਲ" + +#: ../gtk/gtkiconview.c:590 +msgid "The model for the icon view" +msgstr "ਆਈਕਾਨ ਵੇਖਣ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtkiconview.c:606 +msgid "Number of columns" +msgstr "ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkiconview.c:607 +msgid "Number of columns to display" +msgstr "ਵੇਖਾਉਣ ਲਈ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkiconview.c:624 +msgid "Width for each item" +msgstr "ਹਰੇਕ ਆਈਟਮ ਲਈ ਚੌੜਾਈ" + +#: ../gtk/gtkiconview.c:625 +msgid "The width used for each item" +msgstr "ਹਰ ਆਈਟਮ ਲਈ ਵਰਤਨ ਲਈ ਚੌੜਾਈ" + +#: ../gtk/gtkiconview.c:641 +msgid "Space which is inserted between cells of an item" +msgstr "ਇੱਕ ਆਈਟਮ ਦੇ ਸੈੱਲਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkiconview.c:656 +msgid "Row Spacing" +msgstr "ਕਤਾਰ ਫਾਸਲਾ" + +#: ../gtk/gtkiconview.c:657 +msgid "Space which is inserted between grid rows" +msgstr "ਗਰਿੱਡ ਕਤਾਰਾਂ ਵਿੱਚ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkiconview.c:672 +msgid "Column Spacing" +msgstr "ਕਾਲਮ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkiconview.c:673 +msgid "Space which is inserted between grid columns" +msgstr "ਖਾਲੀ ਥਾਂ, ਜੋ ਕਿ ਗਰਿੱਡ ਕਾਲਮ ਵਿੱਚ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ" + +#: ../gtk/gtkiconview.c:688 +msgid "Margin" +msgstr "ਫਾਸਲਾ" + +#: ../gtk/gtkiconview.c:689 +msgid "Space which is inserted at the edges of the icon view" +msgstr "ਆਈਕਾਨ ਝਲਕ ਦੇ ਕਿਨਾਰੇ ਤੇ ਦਿੱਤੀ ਜਾਣ ਵਾਲੀ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkiconview.c:704 +msgid "Item Orientation" +msgstr "ਆਈਟਮ ਸਥਿਤੀ" + +#: ../gtk/gtkiconview.c:705 +msgid "" +"How the text and icon of each item are positioned relative to each other" +msgstr "ਇੱਕ ਆਈਕਾਨ ਲਈ ਉਸਦਾ ਟੈਕਸਟ ਅਤੇ ਆਈਕਾਨ ਨੂੰ ਕਿਵੇਂ ਟਿਕਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtkiconview.c:721 ../gtk/gtktreeview.c:1026 +#: ../gtk/gtktreeviewcolumn.c:359 +msgid "Reorderable" +msgstr "ਮੁੜ-ਕਰਮਯੋਗ" + +#: ../gtk/gtkiconview.c:722 ../gtk/gtktreeview.c:1027 +msgid "View is reorderable" +msgstr "ਮੁੜ-ਕਰਮਯੋਗ ਦੀ ਤਰਾਂ ਵੇਖੋ" + +#: ../gtk/gtkiconview.c:729 ../gtk/gtktreeview.c:1177 +msgid "Tooltip Column" +msgstr "ਟੂਲ-ਟਿੱਪ ਕਾਲਮ" + +#: ../gtk/gtkiconview.c:730 +msgid "The column in the model containing the tooltip texts for the items" +msgstr "ਮਾਡਲ ਦੇ ਕਾਲਮ ਵਿੱਚ , ਜੋ ਕਿ ਆਈਟਮਾਂ ਲਈ ਟੂਲ-ਟਿੱਪ ਲਵੇਗਾ।" + +#: ../gtk/gtkiconview.c:747 +msgid "Item Padding" +msgstr "ਆਈਟਮ ਚਿਣੋ" + +#: ../gtk/gtkiconview.c:748 +msgid "Padding around icon view items" +msgstr "ਆਈਕਾਨ ਝਲਕ ਆਈਟਮਾਂ ਦੁਆਲੇ ਚਿਣੋ" + +#: ../gtk/gtkiconview.c:776 +msgid "Selection Box Color" +msgstr "ਚੋਣ ਬਕਸਾ ਰੰਗ" + +#: ../gtk/gtkiconview.c:777 +msgid "Color of the selection box" +msgstr "ਚੋਣ ਬਕਸੇ ਦਾ ਰੰਗ" + +#: ../gtk/gtkiconview.c:783 +msgid "Selection Box Alpha" +msgstr "ਚੋਣ ਬਕਸਾ ਐਲਫ਼ਾ" + +#: ../gtk/gtkiconview.c:784 +msgid "Opacity of the selection box" +msgstr "ਚੋਣ ਬਕਸੇ ਦਾ ਬਲੌਰੀਪਨ" + +#: ../gtk/gtkimage.c:236 ../gtk/gtkstatusicon.c:204 +msgid "Pixbuf" +msgstr "ਪਿਕਬਫ" + +#: ../gtk/gtkimage.c:237 ../gtk/gtkstatusicon.c:205 +msgid "A GdkPixbuf to display" +msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixbuf" + +#: ../gtk/gtkimage.c:244 ../gtk/gtkrecentmanager.c:294 +#: ../gtk/gtkstatusicon.c:212 +msgid "Filename" +msgstr "ਫਾਇਲ-ਨਾਂ" + +#: ../gtk/gtkimage.c:245 ../gtk/gtkstatusicon.c:213 +msgid "Filename to load and display" +msgstr "ਲੋਡ ਕਰਨ ਅਤੇ ਵੇਖਾਉਣ ਲਈ ਫਾਇਲ-ਨਾਂ" + +#: ../gtk/gtkimage.c:254 ../gtk/gtkstatusicon.c:221 +msgid "Stock ID for a stock image to display" +msgstr "ਸਟਾਕ ਚਿੱਤਰ ਵੇਖਾਉਣ ਲਈ ਸਟਾਕ ID" + +#: ../gtk/gtkimage.c:261 +msgid "Icon set" +msgstr "ਆਈਕਾਨ ਸੈੱਟ" + +#: ../gtk/gtkimage.c:262 +msgid "Icon set to display" +msgstr "ਵੇਖਾਉਣ ਲਈ ਆਈਕਾਨ ਸੈੱਟ" + +#: ../gtk/gtkimage.c:269 ../gtk/gtkscalebutton.c:227 ../gtk/gtktoolbar.c:518 +#: ../gtk/gtktoolpalette.c:1032 +msgid "Icon size" +msgstr "ਆਈਕਾਨ ਆਕਾਰ" + +#: ../gtk/gtkimage.c:270 +msgid "Symbolic size to use for stock icon, icon set or named icon" +msgstr "ਸਟਾਕ ਆਈਕਾਨ, ਆਈਕਾਨ ਸੈਟ ਜਾਂ ਨਾਂ ਆਈਕਾਨ ਲਈ ਲਿੰਕ ਅਕਾਰ" + +#: ../gtk/gtkimage.c:286 +msgid "Pixel size" +msgstr "ਪਿਕਸਲ ਅਕਾਰ" + +#: ../gtk/gtkimage.c:287 +msgid "Pixel size to use for named icon" +msgstr "ਨਾਮੀ ਆਈਕਾਨ ਲਈ ਪਿਕਸਲ ਅਕਾਰ" + +#: ../gtk/gtkimage.c:295 +msgid "Animation" +msgstr "ਸਜੀਵਤਾ" + +#: ../gtk/gtkimage.c:296 +msgid "GdkPixbufAnimation to display" +msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixbufAnimation" + +#: ../gtk/gtkimage.c:336 ../gtk/gtkstatusicon.c:252 +msgid "Storage type" +msgstr "ਸੰਭਾਲਣ ਦੀ ਕਿਸਮ" + +#: ../gtk/gtkimage.c:337 ../gtk/gtkstatusicon.c:253 +msgid "The representation being used for image data" +msgstr "ਚਿੱਤਰ ਡੈਟਾ ਲਈ ਪੇਸ਼ਕਾਰੀ" + +#: ../gtk/gtkimage.c:355 +#| msgid "Use alpha" +msgid "Use Fallback" +msgstr "ਫਾਲਬੈਕ ਵਰਤੋਂ" + +#: ../gtk/gtkimage.c:356 +#| msgid "Whether to use symbolic icons" +msgid "Whether to use icon names fallback" +msgstr "ਕੀ ਫਾਲਬੈਕ ਆਈਕਾਨ ਨਾਂ ਵਰਤਣੇ ਹਨ" + +#: ../gtk/gtkimagemenuitem.c:150 +msgid "Child widget to appear next to the menu text" +msgstr "ਚਲਾਇਡ ਵਿਦਗਿਟ, ਮੇਨੂ ਟੈਕਸਟ ਤੋਂ ਅੱਗੇ ਦਿੱਸਣ ਲਈ" + +#: ../gtk/gtkimagemenuitem.c:165 +msgid "Whether to use the label text to create a stock menu item" +msgstr "ਸਟਾਕ ਮੇਨੂ ਆਈਟਮ ਬਣਾਉਣ ਲਈ ਕੀ ਲੇਬਲ ਟੈਕਸਟ ਵਰਤਣਾ ਹੈ" + +#: ../gtk/gtkimagemenuitem.c:198 ../gtk/gtkmenu.c:601 +msgid "Accel Group" +msgstr "ਅਸੈੱਲ ਗਰੁੱਪ" + +#: ../gtk/gtkimagemenuitem.c:199 +msgid "The Accel Group to use for stock accelerator keys" +msgstr "ਐਕਸਰਲੇਟਰ ਸਵਿੱਚਾਂ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਅਸੈੱਲ ਗਰੁੱਪ" + +#: ../gtk/gtkinfobar.c:379 ../gtk/gtkmessagedialog.c:202 +msgid "Message Type" +msgstr "ਸੁਨੇਹਾ ਕਿਸਮ" + +#: ../gtk/gtkinfobar.c:380 ../gtk/gtkmessagedialog.c:203 +msgid "The type of message" +msgstr "ਸੁਨੇਹੇ ਦੀ ਕਿਸਮ" + +#: ../gtk/gtkinfobar.c:435 +msgid "Width of border around the content area" +msgstr "ਸਮੱਗਰੀ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkinfobar.c:452 +msgid "Spacing between elements of the area" +msgstr "ਖੇਤਰ ਦੇ ਐਲੀਮੈਂਟ ਵਿੱਚ ਥਾਂ" + +#: ../gtk/gtkinfobar.c:484 +msgid "Width of border around the action area" +msgstr "ਕਾਰਵਾਈ ਖੇਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkinvisible.c:89 ../gtk/gtkmountoperation.c:175 +#: ../gtk/gtkstatusicon.c:271 ../gtk/gtkstylecontext.c:546 +#: ../gtk/gtkwindow.c:729 +msgid "Screen" +msgstr "ਸਕਰੀਨ" + +#: ../gtk/gtkinvisible.c:90 ../gtk/gtkwindow.c:730 +msgid "The screen where this window will be displayed" +msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਕਿ ਵਿੰਡੋ ਵੇਖਾਈ ਜਾਵੇਗੀ" + +#: ../gtk/gtklabel.c:568 +msgid "The text of the label" +msgstr "ਲੇਬਲ ਦੇ ਸ਼ਬਦ" + +#: ../gtk/gtklabel.c:575 +msgid "A list of style attributes to apply to the text of the label" +msgstr "ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਤੇ ਲਾਗੂ ਕਰਨ ਲਈ ਸਟਾਇਲ ਗੁਣਾਂ ਦੀ ਲਿਸਟ" + +#: ../gtk/gtklabel.c:596 ../gtk/gtktexttag.c:353 ../gtk/gtktextview.c:703 +msgid "Justification" +msgstr "ਤਰਕਸੰਗਤ ਕਰੋ" + +#: ../gtk/gtklabel.c:597 +msgid "" +"The alignment of the lines in the text of the label relative to each other. " +"This does NOT affect the alignment of the label within its allocation. See " +"GtkMisc::xalign for that" +msgstr "" +"ਲੇਬਲ ਦੇ ਟੈਕਸਟ ਦੀਆਂ ਸਤਰਾਂ ਦੀ ਇੱਕ-ਦੂਰਦੇ ਪ੍ਰਤੀ ਸ਼ਫ਼ਬੰਦੀ ਇਹ ਲੇਬਲ ਦੀ ਉਪਲੱਬਧ ਸਥਿਤੀ " +"ਨੂੰ ਪ੍ਰਭਾਵਿਤ " +"ਨਹੀਂ ਕਰਦੀ ਹੈ। ਇਸ ਦੇ ਲਈGtkMisc::xalign ਨੂੰ ਵੇਖੋ।" + +#: ../gtk/gtklabel.c:605 +msgid "Pattern" +msgstr "ਪੈਟਰਨ" + +#: ../gtk/gtklabel.c:606 +msgid "" +"A string with _ characters in positions correspond to characters in the text " +"to underline" +msgstr "" +"ਕੀ ਸਤਰਾਂ _ ਅੱਖਰਾਂ ਨਾਲ ਜਿੱਥੇ ਕਿ ਉਹਨਾਂ ਦੀ ਸਥਿਤੀ ਹੈ, ਨੂੰ ਸ਼ਬਦਾਂ ਨੂੰ ਹੇਠਾਂ ਲਾਈਨ " +"ਲਾ ਦੇਵੇ" + +#: ../gtk/gtklabel.c:613 +msgid "Line wrap" +msgstr "ਲਾਈਨ ਸਮੇਟੋ" + +#: ../gtk/gtklabel.c:614 +msgid "If set, wrap lines if the text becomes too wide" +msgstr "ਜੇ ਦਿੱਤਾ ਤਾਂ, ਲਾਈਨਾਂ ਨੂੰ ਲੇਪਟਿਆ ਜਾਵੇਗਾ ਜੇਕਰ ਟੈਕਸਟ ਜਿਆਦਾ ਹੀ ਚੌੜਾ ਹੋ ਗਿਆ" + +#: ../gtk/gtklabel.c:629 +msgid "Line wrap mode" +msgstr "ਲਾਈਨ ਲਪੇਟਣ ਮੋਡ" + +#: ../gtk/gtklabel.c:630 +msgid "If wrap is set, controls how linewrapping is done" +msgstr "ਜੇਕਰ ਲਪੇਟਣਾ ਸੈੱਟ ਹੋਵੇ ਤਾਂ ਲਾਈਨ-ਲਪੇਟਣ ਬਾਰੇ ਕੰਟਰੋਲ ਹੋਇਆ" + +#: ../gtk/gtklabel.c:637 +msgid "Selectable" +msgstr "ਚੋਣ-ਯੋਗ" + +#: ../gtk/gtklabel.c:638 +msgid "Whether the label text can be selected with the mouse" +msgstr "ਕੀ ਲੇਬਲ ਦੇ ਸ਼ਬਦ ਮਾਊਸ ਨਾਲ ਚੁਣੇ ਜਾ ਸਕਣ" + +#: ../gtk/gtklabel.c:644 +msgid "Mnemonic key" +msgstr "ਮਨਾਮੈਰਿਕ ਕੀ" + +#: ../gtk/gtklabel.c:645 +msgid "The mnemonic accelerator key for this label" +msgstr "ਇਸ ਲੇਬਲ ਲਈ ਮਨਾਮੈਰਿਕ -ਤੇਜ਼-ਕੀ" + +#: ../gtk/gtklabel.c:653 +msgid "Mnemonic widget" +msgstr "ਮਨਾਮੈਰਿਕ ਵਿਦਗਿਟ" + +#: ../gtk/gtklabel.c:654 +msgid "The widget to be activated when the label's mnemonic key is pressed" +msgstr "ਵਿਦਗਿਟ ਸਰਗਰਮ ਹੋ ਜਾਵੇ ਜਦੋਂ ਕਿ ਲੇਬਲ ਦੀ ਅੰਕੀ ਕੀ ਦਬਾਈ ਜਾਵੇ" + +#: ../gtk/gtklabel.c:700 +msgid "" +"The preferred place to ellipsize the string, if the label does not have " +"enough room to display the entire string" +msgstr "" +"ਅੰਡਾਕਾਰ ਸਤਰ ਲਈ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਲੇਬਲ ਕੋਲ ਲੋੜੀਂਦੀ ਸਤਰ ਵੇਖਾਉਣ ਲਈ ਪੂਰੀ ਥਾਂ ਨਾ " +"ਹੋਵੇ" + +#: ../gtk/gtklabel.c:741 +msgid "Single Line Mode" +msgstr "ਇੱਕਲੀ ਲਾਈਨ ਮੋਡ" + +#: ../gtk/gtklabel.c:742 +msgid "Whether the label is in single line mode" +msgstr "ਕੀ ਲੇਬਲ ਇੱਕ ਇੱਕਲੇ ਲਾਈਨ ਮੋਡ ਵਿੱਚ ਹੋਵੇ" + +#: ../gtk/gtklabel.c:759 +msgid "Angle" +msgstr "ਕੋਣ" + +#: ../gtk/gtklabel.c:760 +msgid "Angle at which the label is rotated" +msgstr "ਕੋਣ, ਜਿਸ ਉੱਤੇ ਲੇਬਲ ਨੂੰ ਘੁੰਮਾਉਣਾ ਹੈ" + +#: ../gtk/gtklabel.c:782 +msgid "The desired maximum width of the label, in characters" +msgstr "ਲੇਬਲ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਲੋੜੀਦੀ ਚੌੜਾਈ, ਅੱਖਰਾਂ ਵਿੱਚ" + +#: ../gtk/gtklabel.c:800 +msgid "Track visited links" +msgstr "ਖੋਲ੍ਹੋ ਲਿੰਕ ਵੇਖੋ" + +#: ../gtk/gtklabel.c:801 +msgid "Whether visited links should be tracked" +msgstr "ਕੀ ਖੋਲ੍ਹੇ ਗਏ ਟਰੈਕਾਂ ਨੂੰ ਟਰੈਕ ਕਰਨਾ ਹੈ" + +#: ../gtk/gtklayout.c:659 +msgid "The width of the layout" +msgstr "ਲੇਆਉਟ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtklayout.c:668 +msgid "The height of the layout" +msgstr "ਲੇਆਉਟ ਦੀ ਉਚਾਈ" + +#: ../gtk/gtklinkbutton.c:173 +msgid "URI" +msgstr "URI" + +#: ../gtk/gtklinkbutton.c:174 +msgid "The URI bound to this button" +msgstr "ਇਸ ਬਟਨ ਲਈ URI ਬਾਊਂਡ" + +#: ../gtk/gtklinkbutton.c:188 +msgid "Visited" +msgstr "ਖੋਲ੍ਹੇ ਗਏ" + +#: ../gtk/gtklinkbutton.c:189 +msgid "Whether this link has been visited." +msgstr "ਕੀ ਇਹ ਲਿੰਕ ਪਹਿਲਾਂ ਖੋਲ੍ਹਿਆ ਗਿਆ ਹੈ।" + +#: ../gtk/gtkmenubar.c:181 +msgid "Pack direction" +msgstr "ਪੈਕ ਦਿਸ਼ਾ" + +#: ../gtk/gtkmenubar.c:182 +msgid "The pack direction of the menubar" +msgstr "ਮੇਨੂ-ਪੱਟੀ ਵਿੱਚ ਪੈਕ ਦੀ ਦਿਸ਼ਾ" + +#: ../gtk/gtkmenubar.c:198 +msgid "Child Pack direction" +msgstr "ਚਾਈਲਡ ਪੈਕ ਦਿਸ਼ਾ" + +#: ../gtk/gtkmenubar.c:199 +msgid "The child pack direction of the menubar" +msgstr "ਮੇਨ-ਪੱਟੀ ਦੀ ਚਾਈਲਡ ਪੈਕ ਦਿਸ਼ਾ" + +#: ../gtk/gtkmenubar.c:208 +msgid "Style of bevel around the menubar" +msgstr "ਮੇਨੂ-ਬਾਰ ਦੇ ਦੁਆਲੇ ਬੀਵਲ ਦਾ ਸਟਾਇਲ" + +#: ../gtk/gtkmenubar.c:215 ../gtk/gtktoolbar.c:568 +msgid "Internal padding" +msgstr "ਅੰਦਰੂਨੀ ਚਿਣਾਈ" + +#: ../gtk/gtkmenubar.c:216 +msgid "Amount of border space between the menubar shadow and the menu items" +msgstr "ਹਾਸ਼ੀਏ ਦੀ ਥਾਂ ਦਾ ਅਕਾਰ ਮੇਨੂ-ਬਾਰ ਦੇ ਪਰਛਾਵੇ ਅਤੇ ਮੇਨੂ ਚੀਜਾਂ ਦੇ ਵਿੱਚਕਾਰ" + +#: ../gtk/gtkmenu.c:587 +msgid "The currently selected menu item" +msgstr "ਮੌਜੂਦਾ ਚੁਣੀ ਮੇਨੂ ਆਈਟਮ ਹੈ।" + +#: ../gtk/gtkmenu.c:602 +msgid "The accel group holding accelerators for the menu" +msgstr "ਮੇਨੂ ਲਈ ਅਸੈੱਲ ਗਰੁੱਪ ਰੱਖਣ ਵਾਲੇ ਐਕਸਰਲੇਟਰ" + +#: ../gtk/gtkmenu.c:616 ../gtk/gtkmenuitem.c:313 +msgid "Accel Path" +msgstr "ਅਸੈੱਲ ਪਾਥ" + +#: ../gtk/gtkmenu.c:617 +msgid "An accel path used to conveniently construct accel paths of child items" +msgstr "ਅਸੈੱਲ ਪਾਥ, ਜੋ ਕਿ ਚਾਈਲਡ ਆਈਟਮਾਂ ਦਾ ਅਸੈਲ ਪਾਥ ਬਣਾਉਣ ਲਈ ਸੌਖਾ ਹੋਵੇ" + +#: ../gtk/gtkmenu.c:633 +msgid "Attach Widget" +msgstr "ਵਿਡਜੈੱਟ ਨੱਥੀ" + +#: ../gtk/gtkmenu.c:634 +msgid "The widget the menu is attached to" +msgstr "ਨੱਥੀ ਕਰਨ ਲਈ ਵਿਡਜੈੱਟ ਮੇਨੂ" + +#: ../gtk/gtkmenu.c:642 +msgid "" +"A title that may be displayed by the window manager when this menu is torn-" +"off" +msgstr "" +"ਜਦੋਂ ਲਿਸਟ ਨੂੰ ਹਟਾਇਆ ਜਾਵੇ ਤਾਂ ਵਿੰਡੋ ਮੈਨੇਜਰ ਦਾ ਉਪਲੱਬਧ ਟਾਇਟਲ, ਜੋ ਕਿ ਦਿੱਸ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkmenu.c:656 +msgid "Tearoff State" +msgstr "ਵੱਖ ਹਾਲਤ" + +#: ../gtk/gtkmenu.c:657 +msgid "A boolean that indicates whether the menu is torn-off" +msgstr "ਇੱਕ ਬੁਲੀਅਨ ਮੁੱਲ, ਜੋ ਕਿ ਮੇਨੂ ਨੂੰ ਵੱਖ ਹੋਣਯੋਗ ਬਣਾਉਦਾ ਹੈ" + +#: ../gtk/gtkmenu.c:671 +msgid "Monitor" +msgstr "ਮਾਨੀਟਰ" + +#: ../gtk/gtkmenu.c:672 +msgid "The monitor the menu will be popped up on" +msgstr "ਮੇਨੂ ਨਿਗਾਰਨ ਖੁੱਲ੍ਹੇਗਾ" + +#: ../gtk/gtkmenu.c:678 +msgid "Vertical Padding" +msgstr "ਲੰਬਕਾਰੀ ਚਿਣੋ" + +#: ../gtk/gtkmenu.c:679 +msgid "Extra space at the top and bottom of the menu" +msgstr "ਮੇਨੂ ਦੇ ਉੱਤੇ ਅਤੇ ਹੇਠਾਂ ਵਾਧੂ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkmenu.c:701 +msgid "Reserve Toggle Size" +msgstr "ਉਲਟ ਟਾਗਲ ਆਕਾਰ" + +#: ../gtk/gtkmenu.c:702 +msgid "" +"A boolean that indicates whether the menu reserves space for toggles and " +"icons" +msgstr "ਇੱਕ ਬੁਲੀਅਨ ਮੁੱਲ, ਜੋ ਕਿ ਮੇਨੂ ਨੂੰ ਟਾਗਲ ਅਤੇ ਆਈਕਾਨ ਲਈ ਮੇਨੂ ਉਲਟ ਥਾਂ ਰੱਖੇ।" + +#: ../gtk/gtkmenu.c:708 +msgid "Horizontal Padding" +msgstr "ਖਿਤਿਜੀ ਚਿਣੋ" + +#: ../gtk/gtkmenu.c:709 +msgid "Extra space at the left and right edges of the menu" +msgstr "ਮੇਨੂ ਦੇ ਉੱਪਰਲੇ ਅਤੇ ਹੇਠਲੇ ਕਿਨਾਰੇ ਉੱਤੇ ਵਾਧੂ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtkmenu.c:717 +msgid "Vertical Offset" +msgstr "ਲੰਬਕਾਰੀ ਆਫਸੈੱਟ" + +#: ../gtk/gtkmenu.c:718 +msgid "" +"When the menu is a submenu, position it this number of pixels offset " +"vertically" +msgstr "" +"ਜਦੋਂ ਮੇਨੂ ਵਿੱਚ ਸਬ-ਮੇਨੂ ਹੋਵੇ ਤਾਂ, ਇਸ ਨੂੰ ਇੰਨੇ ਪਿਕਸਿਲ ਲੰਬਕਾਰ ਦਿਸ਼ਾ ਵਿੱਚ ਸੰਤੁਲਿਤ " +"ਕਰੋ" + +#: ../gtk/gtkmenu.c:726 +msgid "Horizontal Offset" +msgstr "ਲੇਟਵੀ ਆਫਸੈੱਟ" + +#: ../gtk/gtkmenu.c:727 +msgid "" +"When the menu is a submenu, position it this number of pixels offset " +"horizontally" +msgstr "" +"ਜਦੋਂ ਮੇਨੂ ਵਿੱਚ ਸਬ-ਮੇਨੂ ਹੋਵੇ ਤਾਂ, ਇਸ ਨੂੰ ਇੰਨੇ ਪਿਕਸਿਲ ਲੇਟਵੀ ਦਿਸ਼ਾ ਸੰਤੁਲਿਤ ਕਰੋ" + +#: ../gtk/gtkmenu.c:735 +msgid "Double Arrows" +msgstr "ਦੋਹਰੇ ਤੀਰ" + +#: ../gtk/gtkmenu.c:736 +msgid "When scrolling, always show both arrows." +msgstr "ਸਕਰੋਲ ਕਰਨ ਦੌਰਾਨ, ਹਮੇਸ਼ਾ ਦੋਵੇਂ ਤੀਰ ਵੇਖਾਓ।" + +#: ../gtk/gtkmenu.c:749 +msgid "Arrow Placement" +msgstr "ਤੀਰ ਥਾਂ" + +#: ../gtk/gtkmenu.c:750 +msgid "Indicates where scroll arrows should be placed" +msgstr "ਵੇਖਾਉਦਾ ਹੈ ਕਿ ਕਿੱਥੇ ਸਕਰੋਲ ਤੀਰ ਰੱਖੇ ਜਾਣਗੇ" + +#: ../gtk/gtkmenu.c:758 +msgid "Left Attach" +msgstr "ਖੱਬਾ ਜੋੜੋ" + +#: ../gtk/gtkmenu.c:766 +msgid "Right Attach" +msgstr "ਸੱਜੇ ਜੋੜੋ" + +#: ../gtk/gtkmenu.c:767 +msgid "The column number to attach the right side of the child to" +msgstr "ਚਲਾਇਡ ਨਾਲ ਸੱਜੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਕਾਲਮ ਦਾ ਨੰਬਰ" + +#: ../gtk/gtkmenu.c:774 +msgid "Top Attach" +msgstr "ਉੱਤੇ ਜੋੜੋ" + +#: ../gtk/gtkmenu.c:775 +msgid "The row number to attach the top of the child to" +msgstr "ਚਲਾਇਡ ਨਾਲ ਉਪਰਲੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਸਤਰ ਦਾ ਨੰਬਰ" + +#: ../gtk/gtkmenu.c:782 +msgid "Bottom Attach" +msgstr "ਹੇਠਾਂ ਜੋੜੋ" + +#: ../gtk/gtkmenu.c:783 ../gtk/gtktable.c:223 +msgid "The row number to attach the bottom of the child to" +msgstr "ਚਲਾਇਡ ਨਾਲ ਹੇਠਲੇ ਪਾਸੇ ਜੋੜਨ ਲਈ ਸਤਰ ਦਾ ਨੰਬਰ" + +#: ../gtk/gtkmenu.c:797 +msgid "Arbitrary constant to scale down the size of the scroll arrow" +msgstr "ਸਕਰੋਲ ਤੀਰ ਦਾ ਸਾਈਜ਼ ਘਟਾਉਣ ਲਈ ਸਥਿਰ ਅੰਕ" + +#: ../gtk/gtkmenuitem.c:281 +msgid "Right Justified" +msgstr "ਸੱਜੇ ਇਕਸਾਰ" + +#: ../gtk/gtkmenuitem.c:282 +msgid "" +"Sets whether the menu item appears justified at the right side of a menu bar" +msgstr "ਮੇਨ ਬਾਰੇ ਦੇ ਸੱਜੇ ਕੋਨੇ ਉੱਤੇ ਮੇਨੂ ਆਈਟਮ ਵੇਖਾਉਣ ਲਈ ਸੈੱਟ ਕਰੇਗਾ" + +#: ../gtk/gtkmenuitem.c:296 +msgid "Submenu" +msgstr "ਸਬ-ਮੇਨੂ" + +#: ../gtk/gtkmenuitem.c:297 +msgid "The submenu attached to the menu item, or NULL if it has none" +msgstr "ਮੇਨ ਆਈਟਮ ਨਾਲ ਜੁੜਿਆ ਸਬ-ਮੇਨੂ, ਜਾਂ ਕੁਝ ਨਾ ਹੋਣ ਦੇ ਰੂਪ ਵਿੱਚ NULL" + +#: ../gtk/gtkmenuitem.c:314 +msgid "Sets the accelerator path of the menu item" +msgstr "ਮੇਨੂ ਆਈਟਮ ਦਾ ਐਕਸਰਲੇਸ਼ਨ ਪਾਥ ਸੈੱਟ ਕਰਦਾ ਹੈ" + +#: ../gtk/gtkmenuitem.c:329 +msgid "The text for the child label" +msgstr "ਚਾਈਲਡ ਲੇਬਲ ਲਈ ਟੈਕਸਟ" + +#: ../gtk/gtkmenuitem.c:392 +msgid "Amount of space used up by arrow, relative to the menu item's font size" +msgstr "ਤੀਰ ਵਲੋਂ ਮੇਨੂ ਆਈਟਮ ਦੇ ਫੋਂਟ ਸਾਈਜ਼ ਮੁਤਾਬਕ ਵਰਤੀ ਥਾਂ ਦੀ ਮਾਤਰਾ" + +#: ../gtk/gtkmenuitem.c:405 +msgid "Width in Characters" +msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਚੌੜਾਈ" + +#: ../gtk/gtkmenuitem.c:406 +msgid "The minimum desired width of the menu item in characters" +msgstr "ਅੱਖਰਾਂ ਵਿੱਚ ਮੇਨੂ ਆਈਟਮਾਂਂ ਦੀ ਘੱਟੋ-ਘੱਟ ਲੋੜੀਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkmenushell.c:420 +msgid "Take Focus" +msgstr "ਫੋਕਸ ਲਵੋ" + +#: ../gtk/gtkmenushell.c:421 +msgid "A boolean that determines whether the menu grabs the keyboard focus" +msgstr "ਇੱਕ ਬੁਲੀਅਨ, ਜੋ ਕਿ ਮੇਨੂ-ਪੱਟੀ ਵਿੱਚ ਕੀ-ਬੋਰਡ ਫੋਕਸ ਲਵੇ" + +#: ../gtk/gtkmenutoolbutton.c:257 +msgid "Menu" +msgstr "ਮੇਨੂ" + +#: ../gtk/gtkmenutoolbutton.c:258 +msgid "The dropdown menu" +msgstr "ਲਕਟਦਾ ਮੇਨੂ" + +#: ../gtk/gtkmessagedialog.c:185 +msgid "Image/label border" +msgstr "ਚਿੱਤਰ/ਲੇਬਲ ਦਾ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtkmessagedialog.c:186 +msgid "Width of border around the label and image in the message dialog" +msgstr "ਸੁਨੇਹਾ ਤਖਤੀ ਵਿੱਚ ਲੇਬਲ ਅਤੇ ਚਿੱਤਰ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦਾ ਚੌੜਾਈ" + +#: ../gtk/gtkmessagedialog.c:210 +msgid "Message Buttons" +msgstr "ਸੁਨੇਹਾ ਬਟਨ" + +#: ../gtk/gtkmessagedialog.c:211 +msgid "The buttons shown in the message dialog" +msgstr "ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਵਿੱਚ ਬਟਨ ਵੇਖਾਓ" + +#: ../gtk/gtkmessagedialog.c:228 +msgid "The primary text of the message dialog" +msgstr "ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਲਈ ਮੁੱਢਲਾ ਪਾਠ" + +#: ../gtk/gtkmessagedialog.c:243 +msgid "Use Markup" +msgstr "ਮਾਰਕਅੱਪ ਵਰਤੋਂ" + +#: ../gtk/gtkmessagedialog.c:244 +msgid "The primary text of the title includes Pango markup." +msgstr "ਪੈਂਗੋ ਨਿਸ਼ਾਨਬੱਧ ਸਮੇਤ ਟਾਈਟਲ ਦਾ ਮੁੱਢਲਾ ਟੈਕਸਟ ਹੈ।" + +#: ../gtk/gtkmessagedialog.c:258 +msgid "Secondary Text" +msgstr "ਸੈਕੰਡਰੀ ਪਾਠ" + +#: ../gtk/gtkmessagedialog.c:259 +msgid "The secondary text of the message dialog" +msgstr "ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਦਾ ਸੈਕੰਡਰੀ ਪਾਠ" + +#: ../gtk/gtkmessagedialog.c:274 +msgid "Use Markup in secondary" +msgstr "ਸੈਕੰਡਰੀ ਵਿੱਚ ਨਿਸ਼ਾਨਬੱਧ ਵਰਤੋਂ" + +#: ../gtk/gtkmessagedialog.c:275 +msgid "The secondary text includes Pango markup." +msgstr "ਪੈਂਗੋ ਨਿਸ਼ਾਨਬੱਧ ਸਮੇਤ ਸੈਕੰਡਰੀ ਟੈਕਸਟ ਹੈ।" + +#: ../gtk/gtkmessagedialog.c:289 +msgid "Image" +msgstr "ਚਿੱਤਰ" + +#: ../gtk/gtkmessagedialog.c:290 +msgid "The image" +msgstr "ਚਿੱਤਰ" + +#: ../gtk/gtkmessagedialog.c:306 +msgid "Message area" +msgstr "ਸੁਨੇਹਾ ਖੇਤਰ" + +#: ../gtk/gtkmessagedialog.c:307 +msgid "GtkVBox that holds the dialog's primary and secondary labels" +msgstr "GtkVBox ਜੋ ਕਿ ਡਾਈਲਾਗ ਦੇ ਪ੍ਰਾਇਮਰੀ ਤੇ ਸੈਕੰਡਰੀ ਲੇਬਲ ਰੱਖਦਾ ਹੈ" + +#: ../gtk/gtkmisc.c:91 +msgid "Y align" +msgstr "Y ਸ਼ਫ਼ਬੰਦੀ" + +#: ../gtk/gtkmisc.c:92 +msgid "The vertical alignment, from 0 (top) to 1 (bottom)" +msgstr "ਲੰਬਕਾਰੀ ਸ਼ਫ਼ਬੰਦੀ, ਤੋਂ 0 (ਉੱਤੇ) ਤੋਂ 1 (ਹੇਠੋਂ) " + +#: ../gtk/gtkmisc.c:101 +msgid "X pad" +msgstr "X ਚਿਣਨਾ" + +#: ../gtk/gtkmisc.c:102 +msgid "" +"The amount of space to add on the left and right of the widget, in pixels" +msgstr "ਵਿਦਗਿਟ ਦੇ ਖੱਬੇ ਤੇ ਸੱਜੇ ਜੋੜਨ ਲਈ ਖਾਲ਼ੀ ਥਾਂ (ਪਿਕਸਿਲ ਵਿੱਚ)" + +#: ../gtk/gtkmisc.c:111 +msgid "Y pad" +msgstr "Y ਚਿਣਨਾ" + +#: ../gtk/gtkmisc.c:112 +msgid "" +"The amount of space to add on the top and bottom of the widget, in pixels" +msgstr "ਵਿਦਗਿਟ ਦੇ ਉੱਤੇ ਤੇ ਹੇਠਾਂ ਜੋੜਨ ਲਈ ਖਾਲ਼ੀ ਥਾਂ (ਪਿਕਸਿਲ ਵਿੱਚ)" + +#: ../gtk/gtkmountoperation.c:159 +msgid "Parent" +msgstr "ਪੇਰੈਂਟ" + +#: ../gtk/gtkmountoperation.c:160 +msgid "The parent window" +msgstr "ਪੇਰੈਂਟ ਵਿੰਡੋ" + +#: ../gtk/gtkmountoperation.c:167 +msgid "Is Showing" +msgstr "ਵੇਖਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkmountoperation.c:168 +msgid "Are we showing a dialog" +msgstr "ਕੀ ਅਸੀਂ ਡਾਈਲਾਗ ਵੇਖਾ ਰਹੇ ਹਨ" + +#: ../gtk/gtkmountoperation.c:176 +msgid "The screen where this window will be displayed." +msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਇਹ ਵਿੰਡੋ ਵੇਖਾਈ ਜਾਵੇਗੀ।" + +#: ../gtk/gtknotebook.c:685 +msgid "Page" +msgstr "ਸਫ਼ਾ" + +#: ../gtk/gtknotebook.c:686 +msgid "The index of the current page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ੇ ਦਾ ਇੰਡੈਕਸ" + +#: ../gtk/gtknotebook.c:694 +msgid "Tab Position" +msgstr "ਟੈਬ ਦੀ ਸਥਿਤੀ" + +#: ../gtk/gtknotebook.c:695 +msgid "Which side of the notebook holds the tabs" +msgstr "ਨੋਟਬੁੱਕ ਦੇ ਕਿਹੜੇ ਪਾਸੇ ਟੈਬਾਂ ਨੂੰ ਸੰਭਾਲਿਆ ਜਾਵੇ" + +#: ../gtk/gtknotebook.c:702 +msgid "Show Tabs" +msgstr "ਟੈਬਾਂ ਵੇਖਾਓ" + +#: ../gtk/gtknotebook.c:703 +msgid "Whether tabs should be shown" +msgstr "ਕੀ ਟੈਬ ਵੇਖਣੀਆਂ ਹਨ" + +#: ../gtk/gtknotebook.c:709 +msgid "Show Border" +msgstr "ਹਾਸ਼ੀਆ ਵੇਖਾਓ" + +#: ../gtk/gtknotebook.c:710 +msgid "Whether the border should be shown" +msgstr "ਕੀ ਬਾਰਡਰ ਵੇਖਣਾ ਹੈ" + +#: ../gtk/gtknotebook.c:716 +msgid "Scrollable" +msgstr "ਸਲਰੋਲ-ਵੋਗ" + +#: ../gtk/gtknotebook.c:717 +msgid "If TRUE, scroll arrows are added if there are too many tabs to fit" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਸਕਰੋਲ ਤੀਰ ਜੋੜੇ ਜਾਣਗੇ ਜੇਕਰ ਜਿਆਦਾ ਟੈਬਾਂ ਆ ਗਈਆ" + +#: ../gtk/gtknotebook.c:723 +msgid "Enable Popup" +msgstr "ਉਭਾਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ" + +#: ../gtk/gtknotebook.c:724 +msgid "" +"If TRUE, pressing the right mouse button on the notebook pops up a menu that " +"you can use to go to a page" +msgstr "" +"ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਨੋਟ-ਬੁੱਕ ਤੇ ਮਾਊਸ ਦਾ ਸੱਜਾ ਬਟਨ ਦਬਾਉਣ ਨਾਲ ਮੇਨੂ ਆ ਜਾਵੇਗੀ, ਜੋ ਕਿ " +"ਤੁਸੀਂ ਸਫੇ ਤੇ ਜਾਣ " +"ਲਈ ਵਰਤ ਸਕਦੇ ਹੋ " + +#: ../gtk/gtknotebook.c:738 +msgid "Group Name" +msgstr "ਗਰੁੱਪ ਨਾਂ" + +#: ../gtk/gtknotebook.c:739 +msgid "Group name for tab drag and drop" +msgstr "ਟੈਬ ਚੁੱਕਣ ਅਤੇ ਸੁੱਟਣ ਲਈ ਗਰੁੱਪ ਨਾਂ" + +#: ../gtk/gtknotebook.c:746 +msgid "Tab label" +msgstr "ਟੈਬ ਲੇਬਲ" + +#: ../gtk/gtknotebook.c:747 +msgid "The string displayed on the child's tab label" +msgstr "ਚਾਈਲਡ ਦੇ ਟੈਬ ਲੇਬਲ ਉੱਤੇ ਸਤਰ ਵਿਖਾਈ ਜਾਵੇ" + +#: ../gtk/gtknotebook.c:753 +msgid "Menu label" +msgstr "ਮੇਨੂ ਲੇਬਲ" + +#: ../gtk/gtknotebook.c:754 +msgid "The string displayed in the child's menu entry" +msgstr "ਚਾਈਲਡ ਦੀ ਮੇਨੂ ਇੰਦਰਾਜ਼ ਵਿੱਚ ਸਤਰ ਵੇਖਾਓ" + +#: ../gtk/gtknotebook.c:767 +msgid "Tab expand" +msgstr "ਟੈਬ ਫੈਲਾਓ" + +#: ../gtk/gtknotebook.c:768 +msgid "Whether to expand the child's tab" +msgstr "ਕੀ ਚਲਾਇਡ ਟੈਬ ਨੂੰ ਫੈਲਾਉਣਾ ਹੈ" + +#: ../gtk/gtknotebook.c:774 +msgid "Tab fill" +msgstr "ਟੈਬ ਭਰੋ" + +#: ../gtk/gtknotebook.c:775 +msgid "Whether the child's tab should fill the allocated area" +msgstr "ਕੀ ਚਾਈਲਡ ਦੀ ਟੈਬ ਨੂੰ ਦਿੱਤੇ ਖੇਤਰ ਨੂੰ ਭਰਨ ਲਈ ਵਰਤਿਆ ਜਾਵੇ" + +#: ../gtk/gtknotebook.c:782 +msgid "Tab reorderable" +msgstr "ਟੈਬ ਮੁੜ-ਕ੍ਰਮਯੋਗ" + +#: ../gtk/gtknotebook.c:783 +msgid "Whether the tab is reorderable by user action" +msgstr "ਕੀ ਟੈਬ ਯੂਜ਼ਰ ਕਾਰਵਾਈ ਰਾਹੀਂ ਮੁੜ-ਕ੍ਰਮਬੱਧ ਹੋਣ ਯੋਗ ਹੋਵੇ" + +#: ../gtk/gtknotebook.c:789 +msgid "Tab detachable" +msgstr "ਟੈਬ ਵੱਖ ਹੋਣ ਯੋਗ" + +#: ../gtk/gtknotebook.c:790 +msgid "Whether the tab is detachable" +msgstr "ਕੀ ਟੈਬ ਵੱਖ ਹੋਣ ਹੋਵੇ" + +#: ../gtk/gtknotebook.c:805 ../gtk/gtkscrollbar.c:102 +msgid "Secondary backward stepper" +msgstr "ਸੈਕੰਡਰੀ ਪਿੱਛੇਵੱਲ ਜਾਣਵਾਲਾ" + +#: ../gtk/gtknotebook.c:806 +msgid "" +"Display a second backward arrow button on the opposite end of the tab area" +msgstr "ਟੈਬ ਖੇਤਰ ਦੇ ਵਿਰੋਧੀ ਸਿਰੇ ਤੇ ਦੂਜਾ ਪਿੱਛੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਓ" + +#: ../gtk/gtknotebook.c:821 ../gtk/gtkscrollbar.c:109 +msgid "Secondary forward stepper" +msgstr "ਸੈਕੰਡਰੀ ਅੱਗੇਵੱਲ ਜਾਣਵਾਲਾ" + +#: ../gtk/gtknotebook.c:822 +msgid "" +"Display a second forward arrow button on the opposite end of the tab area" +msgstr "ਟੈਬ ਖੇਤਰ ਦੇ ਵਿਰੋਧੀ ਸਿਰੇ ਤੇ ਦੂਜਾ ਅੱਗੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਉ" + +#: ../gtk/gtknotebook.c:836 ../gtk/gtkscrollbar.c:88 +msgid "Backward stepper" +msgstr "ਪਿੱਛੇ ਵੱਲ ਜਾਣਵਾਲਾ" + +#: ../gtk/gtknotebook.c:837 ../gtk/gtkscrollbar.c:89 +msgid "Display the standard backward arrow button" +msgstr "ਮਿਆਰੀ ਪਿੱਛੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਉ" + +#: ../gtk/gtknotebook.c:851 ../gtk/gtkscrollbar.c:95 +msgid "Forward stepper" +msgstr "ਅੱਗੇਵੱਲ ਜਾਣਵਾਲਾ" + +#: ../gtk/gtknotebook.c:852 ../gtk/gtkscrollbar.c:96 +msgid "Display the standard forward arrow button" +msgstr "ਸਟੈਂਡਰਡ ਅੱਗੇ ਜਾਣ ਵਾਲਾ ਤੀਰ ਵੇਖਾਓ" + +#: ../gtk/gtknotebook.c:866 +msgid "Tab overlap" +msgstr "ਟੈਬ ਢਕਣ" + +#: ../gtk/gtknotebook.c:867 +msgid "Size of tab overlap area" +msgstr "ਟੈਬ ਢਕਣ ਖੇਤਰ ਦਾ ਅਕਾਰ" + +#: ../gtk/gtknotebook.c:882 +msgid "Tab curvature" +msgstr "ਟੈਬ ਕਰਵੇਚਰ" + +#: ../gtk/gtknotebook.c:883 +msgid "Size of tab curvature" +msgstr "ਟੈਬ ਕਰਵੇਚਰ ਦਾ ਆਕਾਰ" + +#: ../gtk/gtknotebook.c:899 +msgid "Arrow spacing" +msgstr "ਤੀਰ ਥਾਂ" + +#: ../gtk/gtknotebook.c:900 +msgid "Scroll arrow spacing" +msgstr "ਸਕਰੋਲ ਤੀਰ ਥਾਂ" + +#: ../gtk/gtknumerableicon.c:652 +#| msgid "Icon set" +msgid "Icon's count" +msgstr "ਆਈਕਾਨ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtknumerableicon.c:653 +#| msgid "The index of the current page" +msgid "The count of the emblem currently displayed" +msgstr "ਇਸ ਸਮੇਂ ਵੇਖਾਏ ਜਾ ਰਹੇ ਨਿਸ਼ਾਨਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtknumerableicon.c:659 +#| msgid "Icon Name" +msgid "Icon's label" +msgstr "ਆਈਕਾਨ ਦਾ ਲੇਬਲ" + +#: ../gtk/gtknumerableicon.c:660 +#| msgid "The stock icon displayed on the item" +msgid "The label to be displayed over the icon" +msgstr "ਆਈਕਾਨ ਦੇ ਉੱਤੇ ਵੇਖਾਉਣ ਲਈ ਲੇਬਲ" + +#: ../gtk/gtknumerableicon.c:666 +#| msgid "Style context" +msgid "Icon's style context" +msgstr "ਆਈਕਾਨ ਦਾ ਸਟਾਈਲ ਪਰਸੰਗ" + +#: ../gtk/gtknumerableicon.c:667 +msgid "The style context to theme the icon appearance" +msgstr "ਆਈਕਾਨ ਦਿੱਖ ਲਈ ਥੀਮ ਵਾਸਤੇ ਸਟਾਈਲ ਪਰਸੰਗ" + +#: ../gtk/gtknumerableicon.c:673 +#| msgid "Background color" +msgid "Background icon" +msgstr "ਬੈਕਗਰਾਊਂਡ ਆਈਕਾਨ" + +#: ../gtk/gtknumerableicon.c:674 +msgid "The icon for the number emblem background" +msgstr "ਅੰਕ ਨਿਸ਼ਾਨ ਬੈਕਗਰਾਊਂਡ ਲਈ ਆਈਕਾਨ" + +#: ../gtk/gtknumerableicon.c:680 +#| msgid "Background color name" +msgid "Background icon name" +msgstr "ਬੈਕਗਰਾਊਂਡ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtknumerableicon.c:681 +#| msgid "The icon name to use for the printer" +msgid "The icon name for the number emblem background" +msgstr "ਅੰਕ ਨਿਸ਼ਾਨ ਬੈਕਗਰਾਊਂਡ ਲਈ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkorientable.c:63 ../gtk/gtkstatusicon.c:311 +#: ../gtk/gtktrayicon-x11.c:125 +msgid "Orientation" +msgstr "ਹਾਲਤ" + +#: ../gtk/gtkorientable.c:64 +msgid "The orientation of the orientable" +msgstr "ਸਥਿਤੀ-ਯੋਗ ਦੀ ਸਥਿਤੀ" + +#: ../gtk/gtkpaned.c:327 +msgid "" +"Position of paned separator in pixels (0 means all the way to the left/top)" +msgstr "" +"ਪੈਨਡ ਵੱਖਰੇਵੇ ਦੀ ਸਥਿਤੀ ਪਿਕਸਲ ਵਿੱਚ (0 ਦਾ ਅਰਥ ਹੈ ਸਭ ਪਾਸਿਆ ਤੋਂ ਖੱਬੇ/ਉੱਤੇ ਵੱਲ)" + +#: ../gtk/gtkpaned.c:336 +msgid "Position Set" +msgstr "ਸਥਿਤੀ ਸੈੱਟ" + +#: ../gtk/gtkpaned.c:337 +msgid "TRUE if the Position property should be used" +msgstr "ਸਹੀ ਜੇਕਰ ਸਥਿਤੀ-ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkpaned.c:343 +msgid "Handle Size" +msgstr "ਹੈਡਲ ਅਕਾਰ" + +#: ../gtk/gtkpaned.c:344 +msgid "Width of handle" +msgstr "ਹੈਡਲ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtkpaned.c:360 +msgid "Minimal Position" +msgstr "ਘੱਟੋ-ਘੱਟੋ ਟਿਕਾਣਾ" + +#: ../gtk/gtkpaned.c:361 +msgid "Smallest possible value for the \"position\" property" +msgstr "\"ਟਿਕਾਣਾ\" ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸੰਭਵ ਛੋਟੇ ਤੋਂ ਛੋਟਾ ਮੁੱਲ" + +#: ../gtk/gtkpaned.c:378 +msgid "Maximal Position" +msgstr "ਵੱਡੀ ਤੋਂ ਵੱਡੀ ਟਿਕਾਣਾ" + +#: ../gtk/gtkpaned.c:379 +msgid "Largest possible value for the \"position\" property" +msgstr "\"ਟਿਕਾਣਾ\" ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਸੰਭਵ ਵੱਡੇ ਤੋਂ ਵੱਡਾ ਮੁੱਲ" + +#: ../gtk/gtkpaned.c:396 +msgid "Resize" +msgstr "ਮੁੜ-ਅਕਾਰ" + +#: ../gtk/gtkpaned.c:397 +msgid "If TRUE, the child expands and shrinks along with the paned widget" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਚਲਾਇਡ ਪੈਨਲ ਵਿਦਗਿਟ ਨਾਲ ਫੈਲ਼ ਅਤੇ ਸੁੰਘੜ ਸਕਦਾ ਹੈ " + +#: ../gtk/gtkpaned.c:412 +msgid "Shrink" +msgstr "ਸੁੰਘੜੋ" + +#: ../gtk/gtkpaned.c:413 +msgid "If TRUE, the child can be made smaller than its requisition" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਚਲਾਇਡ ਇਸ ਦੇ ਅਸਲੀ ਅਕਾਰ ਤੋਂ ਛੋਟਾ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkplug.c:180 ../gtk/gtkstatusicon.c:295 +msgid "Embedded" +msgstr "ਸ਼ਾਮਲ ਕੀਤਾ" + +#: ../gtk/gtkplug.c:181 +msgid "Whether the plug is embedded" +msgstr "ਕੀ ਪਲੱਗ ਸ਼ਾਮਲ (ਇੰਬੈੱਡ) ਕੀਤਾ ਜਾਵੇ" + +#: ../gtk/gtkplug.c:195 +msgid "Socket Window" +msgstr "ਸਾਕਟ ਵਿੰਡੋ" + +#: ../gtk/gtkplug.c:196 +msgid "The window of the socket the plug is embedded in" +msgstr "ਇੰਬੈੱਡ ਕੀਤੇ ਪਲੱਗਇ ਦੇ ਸਾਕਟ ਦੀ ਵਿੰਡੋ" + +#: ../gtk/gtkprinter.c:126 +msgid "Name of the printer" +msgstr "ਪਰਿੰਟਰ ਦਾ ਨਾਂ" + +#: ../gtk/gtkprinter.c:132 +msgid "Backend" +msgstr "ਬੈਕਐਂਡ" + +#: ../gtk/gtkprinter.c:133 +msgid "Backend for the printer" +msgstr "ਪਰਿੰਟਰ ਲਈ ਬੈਕਐਂਡ" + +#: ../gtk/gtkprinter.c:139 +msgid "Is Virtual" +msgstr "ਫ਼ਰਜ਼ੀ ਹੈ" + +#: ../gtk/gtkprinter.c:140 +msgid "FALSE if this represents a real hardware printer" +msgstr "ਝੂਠ, ਜੇਕਰ ਇਹ ਇੱਕ ਅਸਲੀ ਹਾਰਡਵੇਅਰ ਪਰਿੰਟਰ ਨੂੰ ਵੇਖਾਉਦਾ ਹੈ" + +#: ../gtk/gtkprinter.c:146 +msgid "Accepts PDF" +msgstr "PDF ਮਨਜ਼ੂਰ" + +#: ../gtk/gtkprinter.c:147 +msgid "TRUE if this printer can accept PDF" +msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਰ PDF ਮਨਜ਼ੂਰ ਕਰਦਾ ਹੋਵੇ" + +#: ../gtk/gtkprinter.c:153 +msgid "Accepts PostScript" +msgstr "ਪੋਸਟਸਕਰਿਪਟ ਮਨਜ਼ੂਰ" + +#: ../gtk/gtkprinter.c:154 +msgid "TRUE if this printer can accept PostScript" +msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਰ ਪੋਸਟ-ਸਕਰਿਪਟ ਮਨਜ਼ੂਰ ਕਰਦਾ ਹੋਵੇ" + +#: ../gtk/gtkprinter.c:160 +msgid "State Message" +msgstr "ਹਾਲਤ ਸੁਨੇਹਾ" + +#: ../gtk/gtkprinter.c:161 +msgid "String giving the current state of the printer" +msgstr "ਪਰਿੰਟਰ ਦੀ ਹਾਲਤ ਦੱਸਣ ਵਾਲੀ ਸਤਰ" + +#: ../gtk/gtkprinter.c:167 msgid "Location" msgstr "ਟਿਕਾਣਾ" -#. Translators: this is the header for the printer status column in the print dialog -#: ../gtk/gtkprintunixdialog.c:2162 +#: ../gtk/gtkprinter.c:168 +msgid "The location of the printer" +msgstr "ਪਰਿੰਟਰ ਦਾ ਟਿਕਾਣਾ" + +#: ../gtk/gtkprinter.c:175 +msgid "The icon name to use for the printer" +msgstr "ਪਰਿੰਟਰ ਵਾਸਤੇ ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtkprinter.c:181 +msgid "Job Count" +msgstr "ਜਾਬ ਗਿਣਤੀ" + +#: ../gtk/gtkprinter.c:182 +msgid "Number of jobs queued in the printer" +msgstr "ਪਰਿੰਟਰ ਵਿੱਚ ਕਤਾਰਬੱਧ ਕੰਮਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkprinter.c:200 +msgid "Paused Printer" +msgstr "ਵਿਰਾਮ ਕੀਤਾ ਪਰਿੰਟਰ" + +#: ../gtk/gtkprinter.c:201 +msgid "TRUE if this printer is paused" +msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਰ ਵਿਰਾਮ ਹੈ" + +#: ../gtk/gtkprinter.c:214 +msgid "Accepting Jobs" +msgstr "ਜਾਬ ਲੈ ਰਿਹਾ" + +#: ../gtk/gtkprinter.c:215 +msgid "TRUE if this printer is accepting new jobs" +msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਰ ਨਵੇਂ ਜਾਬ ਮਨਜ਼ੂਰ ਕਰਦਾ ਹੋਵੇ" + +#: ../gtk/gtkprinteroptionwidget.c:121 +msgid "Source option" +msgstr "ਸਰੋਤ ਚੋਣਾਂ" + +#: ../gtk/gtkprinteroptionwidget.c:122 +msgid "The PrinterOption backing this widget" +msgstr "ਇਹ ਵਿਦਗਿਟ ਲਈ PrinterOption ਬੈਕਿੰਗ ਹੈ" + +#: ../gtk/gtkprintjob.c:142 +msgid "Title of the print job" +msgstr "ਪਰਿੰਟ ਜਾਬ ਦਾ ਟਾਇਟਲ" + +#: ../gtk/gtkprintjob.c:150 +msgid "Printer" +msgstr "ਪਰਿੰਟਰ" + +#: ../gtk/gtkprintjob.c:151 +msgid "Printer to print the job to" +msgstr "ਪਰਿੰਟ ਜਾਬ ਲਈ ਪਰਿੰਟਰ" + +#: ../gtk/gtkprintjob.c:159 +msgid "Settings" +msgstr "ਸੈਟਿੰਗ" + +#: ../gtk/gtkprintjob.c:160 +msgid "Printer settings" +msgstr "ਪਰਿੰਟਰ ਸੈਟਿੰਗ" + +#: ../gtk/gtkprintjob.c:168 ../gtk/gtkprintjob.c:169 +#: ../gtk/gtkprintunixdialog.c:298 +msgid "Page Setup" +msgstr "ਸਫ਼ਾ ਸੈੱਟਅੱਪ" + +#: ../gtk/gtkprintjob.c:177 ../gtk/gtkprintoperation.c:1136 +msgid "Track Print Status" +msgstr "ਪਰਿੰਟ ਹਾਲਤ ਟਰੈਕ" + +#: ../gtk/gtkprintjob.c:178 +msgid "" +"TRUE if the print job will continue to emit status-changed signals after the " +"print data has been sent to the printer or print server." +msgstr "" +"ਸਹੀਂ, ਜੇ ਪਰਿੰਟ ਕਾਰਵਾਈ ਬਦਲਵੇਂ ਹਾਲਤ ਮੁਤਾਬਕ ਸਿੰਗਨਲ ਦਿੰਦਾ ਰਹੇ, ਭਾਵੇਂ ਕਿ ਪਰਿੰਟ " +"ਡਾਟਾ ਪਰਿੰਟਰ ਜਾਂ " +"ਪਰਿੰਟ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾ ਚੁੱਕਿਆ ਹੋਵੇ।" + +#: ../gtk/gtkprintoperation.c:1008 +msgid "Default Page Setup" +msgstr "ਡਿਫਾਲਟ ਸਫ਼ਾ ਸੈੱਟਅੱਪ" + +#: ../gtk/gtkprintoperation.c:1009 +msgid "The GtkPageSetup used by default" +msgstr "ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ GtkPageSetup" + +#: ../gtk/gtkprintoperation.c:1027 ../gtk/gtkprintunixdialog.c:316 +msgid "Print Settings" +msgstr "ਪਰਿੰਟ ਸੈਟਿੰਗ" + +#: ../gtk/gtkprintoperation.c:1028 ../gtk/gtkprintunixdialog.c:317 +msgid "The GtkPrintSettings used for initializing the dialog" +msgstr "ਡਾਈਲਾਗ ਸ਼ੁਰੂ ਕਰਨ ਲਈ GtkPrintSettings" + +#: ../gtk/gtkprintoperation.c:1046 +msgid "Job Name" +msgstr "ਜਾਬ ਨਾਂ" + +#: ../gtk/gtkprintoperation.c:1047 +msgid "A string used for identifying the print job." +msgstr "ਪਰਿੰਟ ਕੰਮ ਦੀ ਪਛਾਣ ਕਰਨ ਲਈ ਇੱਕ ਸਤਰ ਹੈ।" + +#: ../gtk/gtkprintoperation.c:1071 +msgid "Number of Pages" +msgstr "ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkprintoperation.c:1072 +msgid "The number of pages in the document." +msgstr "ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ ਹੈ।" + +#: ../gtk/gtkprintoperation.c:1093 ../gtk/gtkprintunixdialog.c:306 +msgid "Current Page" +msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ" + +#: ../gtk/gtkprintoperation.c:1094 ../gtk/gtkprintunixdialog.c:307 +msgid "The current page in the document" +msgstr "ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਮੌਜੂਦਾ ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkprintoperation.c:1115 +msgid "Use full page" +msgstr "ਪੂਰਾ ਸਫ਼ਾ ਵਰਤੋਂ" + +#: ../gtk/gtkprintoperation.c:1116 +msgid "" +"TRUE if the origin of the context should be at the corner of the page and " +"not the corner of the imageable area" +msgstr "" +"ਸਹੀ, ਜੇ ਪਰਸੰਗ ਦੀ ਸ਼ੁਰੂਆਤ ਸਫ਼ੇ ਦੇ ਕੋਨੇ ਤੋਂ ਹੋਵੇ ਅਤੇ ਚਿੱਤਰ-ਯੋਗ ਖੇਤਰ ਦੇ ਕੋਨੇ ਤੋਂ " +"ਨਹੀਂ" + +#: ../gtk/gtkprintoperation.c:1137 +msgid "" +"TRUE if the print operation will continue to report on the print job status " +"after the print data has been sent to the printer or print server." +msgstr "" +"ਸਹੀਂ, ਜੇ ਪਰਿੰਟ ਓਪਰੇਸ਼ਨ ਪਰਿੰਟ ਜਾਬ ਹਾਲਤ ਬਾਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਰਹੇ, ਭਾਵੇਂ ਕਿ ਪਰਿੰਟ " +"ਡਾਟਾ ਪਰਿੰਟਰ " +"ਜਾਂ ਪਰਿੰਟ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾ ਚੁੱਕਿਆ ਹੋਵੇ।" + +#: ../gtk/gtkprintoperation.c:1154 +msgid "Unit" +msgstr "ਯੂਨਿਟ" + +#: ../gtk/gtkprintoperation.c:1155 +msgid "The unit in which distances can be measured in the context" +msgstr "ਪਰਸੰਗ ਵਿੱਚ ਦੂਰੀ ਮਾਪਣ ਵਾਸਤੇ ਇਕਾਈ" + +#: ../gtk/gtkprintoperation.c:1172 +msgid "Show Dialog" +msgstr "ਡਾਈਲਾਗ ਵੇਖਾਓ" + +#: ../gtk/gtkprintoperation.c:1173 +msgid "TRUE if a progress dialog is shown while printing." +msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟਿੰਗ ਦੌਰਾਨ ਤਰੱਕੀ ਡਾਈਲਾਗ ਵੇਖਾਉਣਾ ਹੈ।" + +#: ../gtk/gtkprintoperation.c:1196 +msgid "Allow Async" +msgstr "ਅਸਮਕਾਲੀ ਵਰਤੋਂ" + +#: ../gtk/gtkprintoperation.c:1197 +msgid "TRUE if print process may run asynchronous." +msgstr "ਸੱਚ, ਜੇਕਰ ਪਰਿੰਟ ਕਾਰਵਾਈ ਅਸਮਕਾਲੀ ਢੰਗ ਨਾਲ ਚੱਲ ਸਕਦਾ ਹੋਵੇ।" + +#: ../gtk/gtkprintoperation.c:1219 ../gtk/gtkprintoperation.c:1220 +msgid "Export filename" +msgstr "ਫਾਇਲ-ਨਾਂ ਐਕਸਪੋਰਟ" + +#: ../gtk/gtkprintoperation.c:1234 msgid "Status" msgstr "ਹਾਲਤ" -#: ../gtk/gtkprintunixdialog.c:2188 -msgid "Range" -msgstr "ਰੇਜ਼" +#: ../gtk/gtkprintoperation.c:1235 +msgid "The status of the print operation" +msgstr "ਪਰਿੰਟਰ ਦੀ ਕਾਰਜਕਾਰੀ ਹਾਲਤ" -#: ../gtk/gtkprintunixdialog.c:2192 -msgid "_All Pages" -msgstr "ਸਭ ਸਫ਼ਾ(_A)" +#: ../gtk/gtkprintoperation.c:1255 +msgid "Status String" +msgstr "ਹਾਲਤ ਸਤਰ" -#: ../gtk/gtkprintunixdialog.c:2199 -msgid "C_urrent Page" -msgstr "ਮੌਜੂਦਾ ਸਫ਼ਾ(_u)" +#: ../gtk/gtkprintoperation.c:1256 +msgid "A human-readable description of the status" +msgstr "ਹਾਲਤ ਦੀ ਪੜ੍ਹਨਯੋਗ ਵੇਰਵਾ" -#: ../gtk/gtkprintunixdialog.c:2209 -msgid "Se_lection" -msgstr "ਚੋਣ(_l): " +#: ../gtk/gtkprintoperation.c:1274 +msgid "Custom tab label" +msgstr "ਮੌਜਦਾ ਟੈਬ ਲੇਬਲ" -#: ../gtk/gtkprintunixdialog.c:2218 -msgid "Pag_es:" -msgstr "ਸਫ਼ਾ(_e):" +#: ../gtk/gtkprintoperation.c:1275 +msgid "Label for the tab containing custom widgets." +msgstr "ਕਸਟਮ ਵਿਦਗਿਟ ਰੱਖਣ ਵਾਲੀ ਟੈਬ ਲਈ ਲੇਬਲ ਹੈ।" -#: ../gtk/gtkprintunixdialog.c:2219 -msgid "" -"Specify one or more page ranges,\n" -" e.g. 1-3,7,11" +#: ../gtk/gtkprintoperation.c:1290 ../gtk/gtkprintunixdialog.c:341 +msgid "Support Selection" +msgstr "ਚੋਣ ਸਹਿਯੋਗ" + +#: ../gtk/gtkprintoperation.c:1291 +msgid "TRUE if the print operation will support print of selection." +msgstr "ਜੇ ਪਰਿੰਟਰ ਕਾਰਵਾਈ ਚੋਣ ਲਈ ਪਰਿੰਟ ਲਈ ਸਹਾਇਕ ਹੋਵੇ ਤਾਂ ਸਹੀਂ।" + +#: ../gtk/gtkprintoperation.c:1307 ../gtk/gtkprintunixdialog.c:349 +msgid "Has Selection" +msgstr "ਚੋਣ ਹੈ" + +#: ../gtk/gtkprintoperation.c:1308 +msgid "TRUE if a selection exists." +msgstr "ਸਹੀ, ਜੇ ਚੋਣ ਮੌਜੂਦ ਹੈ" + +#: ../gtk/gtkprintoperation.c:1323 ../gtk/gtkprintunixdialog.c:357 +msgid "Embed Page Setup" +msgstr "ਵਿੱਚੇ ਸ਼ਾਮਲ ਸਫ਼ਾ ਸੈਟਅੱਪ" + +#: ../gtk/gtkprintoperation.c:1324 +msgid "TRUE if page setup combos are embedded in GtkPrintDialog" +msgstr "ਸਹੀ, ਜੇ ਸਫ਼ਾ ਸੈਟਅੱਪ ਨੂੰ GtkPrintDialog ਵਿੱਚ ਹੀ ਸ਼ਾਮਲ ਰੱਖਣਾ ਹੈ" + +#: ../gtk/gtkprintoperation.c:1345 +msgid "Number of Pages To Print" +msgstr "ਛਾਪਣ ਲਈ ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkprintoperation.c:1346 +msgid "The number of pages that will be printed." +msgstr "ਸਫ਼ਿਆਂ ਦੀ ਗਿਣਤੀ, ਜੋ ਕਿ ਛਾਪੇ ਜਾਣਗੇ।" + +#: ../gtk/gtkprintunixdialog.c:299 +msgid "The GtkPageSetup to use" +msgstr "ਵਰਤਣ ਲਈ GtkPageSetup" + +#: ../gtk/gtkprintunixdialog.c:324 +msgid "Selected Printer" +msgstr "ਚੁਣਿਆ ਪਰਿੰਟਰ" + +#: ../gtk/gtkprintunixdialog.c:325 +msgid "The GtkPrinter which is selected" +msgstr "GtkPrinter, ਜੋ ਕਿ ਚੁਣਿਆ ਹੈ" + +#: ../gtk/gtkprintunixdialog.c:332 +msgid "Manual Capabilities" +msgstr "ਦਸਤੀ ਸਮਰੱਥਾ" + +#: ../gtk/gtkprintunixdialog.c:333 +msgid "Capabilities the application can handle" +msgstr "ਐਪਲੀਕੇਸ਼ਨ ਜੋ ਸਮਰੱਥਾ ਹੈਂਡਲ ਕਰ ਸਕਦੀ ਹੈ" + +#: ../gtk/gtkprintunixdialog.c:342 +msgid "Whether the dialog supports selection" +msgstr "ਕੀ ਡਾਈਲਾਗ ਚੋਣ ਸਹਿਯੋਗ ਦੇਵੇ" + +#: ../gtk/gtkprintunixdialog.c:350 +msgid "Whether the application has a selection" +msgstr "ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਚੋਣ ਦੇਵੇ" + +#: ../gtk/gtkprintunixdialog.c:358 +msgid "TRUE if page setup combos are embedded in GtkPrintUnixDialog" +msgstr "ਸਹੀ, ਜੇ ਸਫ਼ਾ ਸੈਟਅੱਪ GtkPrintUnixDialog ਵਿਚੇ ਹੀ ਸ਼ਾਮਲ ਹੋਵੇ" + +#: ../gtk/gtkprogressbar.c:161 +msgid "Fraction" +msgstr "ਭਾਗ" + +#: ../gtk/gtkprogressbar.c:162 +msgid "The fraction of total work that has been completed" +msgstr "ਕੁੱਲ ਕੰਮ ਦੇ ਹਿੱਸੇ ਜੋ ਕਿ ਪੂਰੇ ਹੋ ਗਏ ਹਨ" + +#: ../gtk/gtkprogressbar.c:169 +msgid "Pulse Step" +msgstr "ਪਲਸ ਸਟੈਪ" + +#: ../gtk/gtkprogressbar.c:170 +msgid "The fraction of total progress to move the bouncing block when pulsed" msgstr "" -"ਇੱਕ ਜਾਂ ਵੱਧ ਸਫ਼ਾ ਰੇਜ਼ ਦਿਓ ਜਿਵੇਂ,\n" -" ੧-੩,੭,੧੧" +"ਕੁੱਲ ਕੰਮ ਦੇ ਹਿੱਸੇ ਜੋ ਕਿ ਜਦੋਂ ਲਹਿਰ ਆਉਦੀ ਹੈ ਤਾਂ ਬਲਾਕ ਨੂੰ ਅੱਗੇ ਖਿਸਕਾਉਦੇ ਹਨ" -#: ../gtk/gtkprintunixdialog.c:2229 -msgid "Pages" -msgstr "ਸਫ਼ੇ" +#: ../gtk/gtkprogressbar.c:178 +msgid "Text to be displayed in the progress bar" +msgstr "ਤਰੱਕੀ-ਪੱਟੀ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਸ਼ਬਦ" -#: ../gtk/gtkprintunixdialog.c:2242 -msgid "Copies" -msgstr "ਕਾਪੀਆਂ" +#: ../gtk/gtkprogressbar.c:195 +msgid "Show text" +msgstr "ਟੈਕਸਟ ਵੇਖੋ" -#. FIXME chpe: too much space between Copies and spinbutton, put those 2 in a hbox and make it span 2 columns -#: ../gtk/gtkprintunixdialog.c:2247 -msgid "Copie_s:" -msgstr "ਕਾਪੀਆਂ(_s):" +#: ../gtk/gtkprogressbar.c:196 +msgid "Whether the progress is shown as text." +msgstr "ਕੀ ਤਰੱਕੀ ਨੂੰ ਸ਼ਬਦ ਵਾਂਗ ਵੇਖਾਇਆ ਜਾਵੇ।" -#: ../gtk/gtkprintunixdialog.c:2265 -msgid "C_ollate" -msgstr "ਸਮੇਟੋ(_o)" - -#: ../gtk/gtkprintunixdialog.c:2273 -msgid "_Reverse" -msgstr "ਉਲਟ(_R)" - -#: ../gtk/gtkprintunixdialog.c:2293 -msgid "General" -msgstr "ਆਮ" - -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing (same as in gtkprintbackendcups.c) -#. -#. Translators: These strings name the possible arrangements of -#. * multiple pages on a sheet when printing -#. -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 -msgid "Left to right, top to bottom" -msgstr "ਖੱਬੇ ਤੋਂ ਸੱਜੇ, ਉੱਤੇ ਤੋਂ ਤਲ" - -#: ../gtk/gtkprintunixdialog.c:3026 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3538 -msgid "Left to right, bottom to top" -msgstr "ਖੱਬੇ ਤੋਂ ਸੱਜੇ, ਤਲ ਤੋਂ ਉੱਤੇ" - -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 -msgid "Right to left, top to bottom" -msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ, ਉੱਤੇ ਤੋਂ ਤਲ" - -#: ../gtk/gtkprintunixdialog.c:3027 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3539 -msgid "Right to left, bottom to top" -msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ, ਤਲ ਤੋਂ ਉੱਤੇ" - -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 -msgid "Top to bottom, left to right" -msgstr "ਉੱਤੇ ਤੋਂ ਹੇਠਾਂ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ" - -#: ../gtk/gtkprintunixdialog.c:3028 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3540 -msgid "Top to bottom, right to left" -msgstr "ਉੱਤੇ ਤੋਂ ਹੇਠਾਂ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ" - -#: ../gtk/gtkprintunixdialog.c:3029 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 -msgid "Bottom to top, left to right" -msgstr "ਤਲ ਤੋਂ ਉੱਤੇ, ਖੱਬੇ ਤੋਂ ਸੱਜੇ" - -#: ../gtk/gtkprintunixdialog.c:3029 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3541 -msgid "Bottom to top, right to left" -msgstr "ਤਲ ਤੋਂ ਉੱਤੇ, ਸੱਜੇ ਤੋਂ ਖੱਬੇ" - -#. Translators, this string is used to label the option in the print -#. * dialog that controls in what order multiple pages are arranged -#. -#: ../gtk/gtkprintunixdialog.c:3033 ../gtk/gtkprintunixdialog.c:3046 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3573 -msgid "Page Ordering" -msgstr "ਸਫ਼ਾ ਕ੍ਰਮ" - -#: ../gtk/gtkprintunixdialog.c:3062 -msgid "Left to right" -msgstr "ਖੱਬੇ ਤੋਂ ਸੱਜੇ" - -#: ../gtk/gtkprintunixdialog.c:3063 -msgid "Right to left" -msgstr "ਸੱਜੇ ਤੋਂ ਖੱਬੇ" - -#: ../gtk/gtkprintunixdialog.c:3075 -msgid "Top to bottom" -msgstr "ਉੱਤੇ ਤੋਂ ਹੇਠਾਂ" - -#: ../gtk/gtkprintunixdialog.c:3076 -msgid "Bottom to top" -msgstr "ਤਲ ਤੋਂ ਉੱਤੇ" - -#: ../gtk/gtkprintunixdialog.c:3316 -msgid "Layout" -msgstr "ਲੇਆਉਟ" - -#: ../gtk/gtkprintunixdialog.c:3320 -msgid "T_wo-sided:" -msgstr "ਦੋ ਪਾਸੀਂ(_w):" - -#: ../gtk/gtkprintunixdialog.c:3335 -msgid "Pages per _side:" -msgstr "ਪ੍ਰਤੀ ਸਾਇਡ ਲਈ ਸਫ਼ਾ(_s):" - -#: ../gtk/gtkprintunixdialog.c:3352 -msgid "Page or_dering:" -msgstr "ਸਫ਼ਾ ਜਾਂ ਡੀਰਿੰਗ(_d):" - -#: ../gtk/gtkprintunixdialog.c:3368 -msgid "_Only print:" -msgstr "ਸਿਰਫ਼ ਪਰਿੰਟ(_O):" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3383 -msgid "All sheets" -msgstr "ਸਭ ਸ਼ੀਟਾਂ" - -#: ../gtk/gtkprintunixdialog.c:3384 -msgid "Even sheets" -msgstr "ਜਿਸਤ ਸ਼ੀਟਾਂ" - -#: ../gtk/gtkprintunixdialog.c:3385 -msgid "Odd sheets" -msgstr "ਟਾਂਕ ਸ਼ੀਟਾਂ" - -#: ../gtk/gtkprintunixdialog.c:3388 -msgid "Sc_ale:" -msgstr "ਸਕੇਲ(_a):" - -#: ../gtk/gtkprintunixdialog.c:3415 -msgid "Paper" -msgstr "ਸਫ਼ਾ" - -#: ../gtk/gtkprintunixdialog.c:3419 -msgid "Paper _type:" -msgstr "ਸਫ਼ਾ ਕਿਸਮ(_t):" - -#: ../gtk/gtkprintunixdialog.c:3434 -msgid "Paper _source:" -msgstr "ਸਫ਼ਾ ਸਰੋਤ(_s):" - -#: ../gtk/gtkprintunixdialog.c:3449 -msgid "Output t_ray:" -msgstr "ਆਉਟਪੁੱਟ ਟਰੇ(_r):" - -#: ../gtk/gtkprintunixdialog.c:3489 -msgid "Or_ientation:" -msgstr "ਸਥਿਤੀ(_i):" - -#. In enum order -#: ../gtk/gtkprintunixdialog.c:3504 -msgid "Portrait" -msgstr "ਪੋਰਟਰੇਟ" - -#: ../gtk/gtkprintunixdialog.c:3505 -msgid "Landscape" -msgstr "ਲੈਂਡਸਕੇਪ" - -#: ../gtk/gtkprintunixdialog.c:3506 -msgid "Reverse portrait" -msgstr "ਉਲਟ ਪੋਰਟਰੇਟ" - -#: ../gtk/gtkprintunixdialog.c:3507 -msgid "Reverse landscape" -msgstr "ਉਲਟ ਲੈਂਡਸਕੇਪ" - -#: ../gtk/gtkprintunixdialog.c:3552 -msgid "Job Details" -msgstr "ਕੰਮ ਵੇਰਵਾ" - -#: ../gtk/gtkprintunixdialog.c:3558 -msgid "Pri_ority:" -msgstr "ਤਰਜੀਹ(_o):" - -#: ../gtk/gtkprintunixdialog.c:3573 -msgid "_Billing info:" -msgstr "ਬਿੱਲ ਜਾਣਕਾਰੀ(_B):" - -#: ../gtk/gtkprintunixdialog.c:3591 -msgid "Print Document" -msgstr "ਦਸਤਾਵੇਜ਼ ਛਾਪੋ" - -#. Translators: this is one of the choices for the print at option -#. * in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3600 -msgid "_Now" -msgstr "ਹੁਣੇ(_N)" - -#: ../gtk/gtkprintunixdialog.c:3611 -msgid "A_t:" -msgstr "ਵਜੇ(_t):" - -#. Translators: Ability to parse the am/pm format depends on actual locale. -#. * You can remove the am/pm values below for your locale if they are not -#. * supported. -#. -#: ../gtk/gtkprintunixdialog.c:3617 +#: ../gtk/gtkprogressbar.c:218 msgid "" -"Specify the time of print,\n" -" e.g. 15:30, 2:35 pm, 14:15:20, 11:46:30 am, 4 pm" +"The preferred place to ellipsize the string, if the progress bar does not " +"have enough room to display the entire string, if at all." msgstr "" -"ਪਰਿੰਟ ਕਰਨ ਦਾ ਸਮਾਂ ਦਿਓ,\n" -" ਜਿਵੇਂ 5:30, 2:35 ਸ਼ਾਮ, 14:15:20, 11:46:30 ਸਵੇਰ, 4 ਸ਼ਾਮ" +"ਅੰਡਕਾਰ-ਅਕਾਰ ਸਤਰ ਲਈ ਪਸੰਦੀਦਾ ਥਾਂ, ਜੇਕਰ ਤਰੱਕੀ ਪੱਟੀ ਲਈ ਪੂਰੀ ਸਤਰ ਵੇਖਾਉਣ ਲਈ ਥਾਂ ਨਾ " +"ਹੋਵੇ।" -#: ../gtk/gtkprintunixdialog.c:3627 -msgid "Time of print" -msgstr "ਪਰਿੰਟ ਦਾ ਸਮਾਂ" +#: ../gtk/gtkprogressbar.c:225 +msgid "X spacing" +msgstr "X ਫਾਸਲਾ" -#: ../gtk/gtkprintunixdialog.c:3643 -msgid "On _hold" -msgstr "ਰੋਕੀ ਰੱਖੋ(_h)" +#: ../gtk/gtkprogressbar.c:226 +msgid "Extra spacing applied to the width of a progress bar." +msgstr "ਇੱਕ ਤਰੱਕੀ ਬਾਰ ਦੀ ਚੌੜਾਈ ਵਿੱਚ ਵਾਧੂ ਥਾਂ ਲਾਗੂ ਕੀਤੀ ਜਾਵੇਗੀ।" -#: ../gtk/gtkprintunixdialog.c:3644 -msgid "Hold the job until it is explicitly released" -msgstr "ਖਾਸ ਤੌਰ ਉੱਤੇ ਜਾਰੀ ਕਰਨ ਤੱਕ ਜਾਬ ਫੜੀ ਰੱਖੋ" +#: ../gtk/gtkprogressbar.c:231 +msgid "Y spacing" +msgstr "Y ਥਾਂ" -#: ../gtk/gtkprintunixdialog.c:3664 -msgid "Add Cover Page" -msgstr "ਕਵਰ ਸਫ਼ਾ ਸ਼ਾਮਲ" +#: ../gtk/gtkprogressbar.c:232 +msgid "Extra spacing applied to the height of a progress bar." +msgstr "ਇੱਕ ਤਰੱਕੀ ਬਾਰ ਦੀ ਉਚਾਈ ਵਿੱਚ ਵਾਧੂ ਥਾਂ ਲਾਗੂ ਕੀਤੀ ਜਾਵੇਗੀ।" -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3673 -msgid "Be_fore:" -msgstr "ਪਹਿਲਾਂ(_f):" +#: ../gtk/gtkprogressbar.c:245 +msgid "Minimum horizontal bar width" +msgstr "ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਬਾਰ ਚੌੜਾਈ" -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../gtk/gtkprintunixdialog.c:3691 -msgid "_After:" -msgstr "ਬਾਅਦ(_A):" +#: ../gtk/gtkprogressbar.c:246 +msgid "The minimum horizontal width of the progress bar" +msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਚੌੜਾਈ" -#. Translators: this is the tab label for the notebook tab containing -#. * job-specific options in the print dialog -#. -#: ../gtk/gtkprintunixdialog.c:3709 -msgid "Job" -msgstr "ਕੰਮ" +#: ../gtk/gtkprogressbar.c:258 +msgid "Minimum horizontal bar height" +msgstr "ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਬਾਰ ਚੌੜਾਈ" -#: ../gtk/gtkprintunixdialog.c:3775 -msgid "Advanced" -msgstr "ਤਕਨੀਕੀ" +#: ../gtk/gtkprogressbar.c:259 +msgid "Minimum horizontal height of the progress bar" +msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਹਰੀਜੱਟਲ ਉਚਾਈ" -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3813 -msgid "Image Quality" -msgstr "ਚਿੱਤਰ ਕੁਆਲਟੀ" +#: ../gtk/gtkprogressbar.c:271 +msgid "Minimum vertical bar width" +msgstr "ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਬਾਰ ਚੌੜਾਈ" -#. Translators: this will appear as tab label in print dialog. -#: ../gtk/gtkprintunixdialog.c:3817 -msgid "Color" -msgstr "ਰੰਗ" +#: ../gtk/gtkprogressbar.c:272 +msgid "The minimum vertical width of the progress bar" +msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਚੌੜਾਈ" -#. Translators: this will appear as tab label in print dialog. -#. It's a typographical term, as in "Binding and finishing" -#: ../gtk/gtkprintunixdialog.c:3822 -msgid "Finishing" -msgstr "ਮੁਕੰਮਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ" +#: ../gtk/gtkprogressbar.c:284 +msgid "Minimum vertical bar height" +msgstr "ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਬਾਰ ਉਚਾਈ" -#: ../gtk/gtkprintunixdialog.c:3832 -msgid "Some of the settings in the dialog conflict" -msgstr "ਡਾਈਲਾਗ ਵਿੱਚ ਕੁਝ ਸੈਟਿੰਗ ਵਿੱਚ ਅਪਵਾਦ ਹੈ" +#: ../gtk/gtkprogressbar.c:285 +msgid "The minimum vertical height of the progress bar" +msgstr "ਤਰੱਕੀ ਬਾਰ ਦੀ ਘੱਟੋ-ਘੱਟ ਵਰਟੀਕਲ ਉਚਾਈ" -#: ../gtk/gtkprintunixdialog.c:3855 -msgid "Print" -msgstr "ਛਾਪੋ" +#: ../gtk/gtkradioaction.c:118 +msgid "The value" +msgstr "ਮੁੱਲ" -#: ../gtk/gtkrc.c:946 -#, c-format -msgid "Unable to locate image file in pixmap_path: \"%s\"" -msgstr "ਪਿਕਸਮੈਪ ਮਾਰਗ ਵਿੱਚ ਚਿੱਤਰ ਫਾਇਲ ਲੱਭਣ ਵਿੱਚ ਅਸਫ਼ਲ: \"%s\"" - -#: ../gtk/gtkrecentaction.c:165 ../gtk/gtkrecentaction.c:173 -#: ../gtk/gtkrecentchoosermenu.c:608 ../gtk/gtkrecentchoosermenu.c:616 -#, c-format -msgid "This function is not implemented for widgets of class '%s'" -msgstr "ਇਹ ਫੰਕਸ਼ਨ ਕਲਾਸ '%s' ਦੇ ਵਿਦਗਿਟ ਲਈ ਬਣਾਇਆ ਨਹੀਂ ਗਿਆ ਹੈ" - -#: ../gtk/gtkrecentchooserdefault.c:483 -msgid "Select which type of documents are shown" -msgstr "ਚੋਣ ਕਰੋ ਕਿ ਕਿਸ ਕਿਸਮ ਦੇ ਦਸਤਾਵੇਜ਼ ਵਿਖਾਏ ਜਾਣ" - -#: ../gtk/gtkrecentchooserdefault.c:1137 ../gtk/gtkrecentchooserdefault.c:1174 -#, c-format -msgid "No item for URI '%s' found" -msgstr "URI '%s' ਲਈ ਕੋਈ ਇਕਾਈ ਨਹੀਂ ਲੱਭੀ" - -#: ../gtk/gtkrecentchooserdefault.c:1301 -msgid "Untitled filter" -msgstr "ਅਣ-ਟਾਇਟਲ ਫਿਲਟਰ" - -#: ../gtk/gtkrecentchooserdefault.c:1654 -msgid "Could not remove item" -msgstr "ਇਕਾਈ ਨੂੰ ਹਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#: ../gtk/gtkrecentchooserdefault.c:1698 -msgid "Could not clear list" -msgstr "ਲਿਸਟ ਸਾਫ਼ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" - -#: ../gtk/gtkrecentchooserdefault.c:1782 -msgid "Copy _Location" -msgstr "ਟਿਕਾਣਾ ਕਾਪੀ ਕਰੋ(_L)" - -#: ../gtk/gtkrecentchooserdefault.c:1795 -msgid "_Remove From List" -msgstr "ਲਿਸਟ ਤੋਂ ਹਟਾਓ(_R)" - -#: ../gtk/gtkrecentchooserdefault.c:1804 -msgid "_Clear List" -msgstr "ਲਿਸਟ ਸਾਫ਼ ਕਰੋ(_C)" - -#: ../gtk/gtkrecentchooserdefault.c:1818 -msgid "Show _Private Resources" -msgstr "ਪ੍ਰਾਈਵੇਟ ਸਰੋਤ ਵੇਖੋ(_P)" - -#. we create a placeholder menuitem, to be used in case -#. * the menu is empty. this placeholder will stay around -#. * for the entire lifetime of the menu, and we just hide it -#. * when it's not used. we have to do this, and do it here, -#. * because we need a marker for the beginning of the recent -#. * items list, so that we can insert the new items at the -#. * right place when idly populating the menu in case the -#. * user appended or prepended custom menu items to the -#. * recent chooser menu widget. -#. -#: ../gtk/gtkrecentchoosermenu.c:362 -msgid "No items found" -msgstr "ਕੋਈ ਆਈਟਮ ਨਹੀਂ ਲੱਭੀ" - -#: ../gtk/gtkrecentchoosermenu.c:528 ../gtk/gtkrecentchoosermenu.c:584 -#, c-format -msgid "No recently used resource found with URI `%s'" -msgstr "URI `%s' ਨਾਲ ਤਾਜ਼ਾ ਵਰਤੇ ਸਰੋਤ ਨਹੀਂ ਲੱਭੇ" - -#: ../gtk/gtkrecentchoosermenu.c:795 -#, c-format -msgid "Open '%s'" -msgstr "'%s' ਖੋਲ੍ਹੋ" - -#: ../gtk/gtkrecentchoosermenu.c:825 -msgid "Unknown item" -msgstr "ਅਣਜਾਣ ਆਈਟਮ" - -#. This is the label format that is used for the first 10 items -#. * in a recent files menu. The %d is the number of the item, -#. * the %s is the name of the item. Please keep the _ in front -#. * of the number to give these menu items a mnemonic. -#. -#: ../gtk/gtkrecentchoosermenu.c:836 -#, c-format -msgctxt "recent menu label" -msgid "_%d. %s" -msgstr "_%d. %s" - -#. This is the format that is used for items in a recent files menu. -#. * The %d is the number of the item, the %s is the name of the item. -#. -#: ../gtk/gtkrecentchoosermenu.c:841 -#, c-format -msgctxt "recent menu label" -msgid "%d. %s" -msgstr "%d. %s" - -#: ../gtk/gtkrecentmanager.c:1000 ../gtk/gtkrecentmanager.c:1013 -#: ../gtk/gtkrecentmanager.c:1150 ../gtk/gtkrecentmanager.c:1160 -#: ../gtk/gtkrecentmanager.c:1213 ../gtk/gtkrecentmanager.c:1222 -#: ../gtk/gtkrecentmanager.c:1237 -#, c-format -msgid "Unable to find an item with URI '%s'" -msgstr "URI '%s' ਨਾਲ ਇੱਕ ਆਈਟਮ ਲੱਭਣ ਲਈ ਅਸਫ਼ਲ" - -#: ../gtk/gtkrecentmanager.c:2437 -#, c-format -msgid "No registered application with name '%s' for item with URI '%s' found" -msgstr "'%s' ਨਾਂ ਨਾਲ '%s' URI ਦੀ ਆਈਟਮ ਲਈ ਕੋਈ ਵੀ ਰਜਿਸਟਰ ਕੀਤੀ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਲੱਭੀ" - -#: ../gtk/gtkspinner.c:326 -msgctxt "throbbing progress animation widget" -msgid "Spinner" -msgstr "ਸਪਿੰਨਰ" - -#: ../gtk/gtkspinner.c:327 -msgid "Provides visual indication of progress" -msgstr "ਤਰੱਕੀ ਲਈ ਦਿੱਖ ਇੰਡੀਕੇਟਰ ਦਿੰਦਾ ਹੈ" - -#. KEEP IN SYNC with gtkiconfactory.c stock icons, when appropriate -#: ../gtk/gtkstock.c:313 -msgctxt "Stock label" -msgid "Information" -msgstr "ਜਾਣਕਾਰੀ" - -#: ../gtk/gtkstock.c:314 -msgctxt "Stock label" -msgid "Warning" -msgstr "ਚੇਤਾਵਨੀ" - -#: ../gtk/gtkstock.c:315 -msgctxt "Stock label" -msgid "Error" -msgstr "ਗਲਤੀ" - -#: ../gtk/gtkstock.c:316 -msgctxt "Stock label" -msgid "Question" -msgstr "ਸਵਾਲ" - -#. FIXME these need accelerators when appropriate, and -#. * need the mnemonics to be rationalized -#. -#: ../gtk/gtkstock.c:321 -msgctxt "Stock label" -msgid "_About" -msgstr "ਇਸ ਬਾਰੇ(_A)" - -#: ../gtk/gtkstock.c:322 -msgctxt "Stock label" -msgid "_Add" -msgstr "ਸ਼ਾਮਲ(_A)" - -#: ../gtk/gtkstock.c:323 -msgctxt "Stock label" -msgid "_Apply" -msgstr "ਲਾਗੂ ਕਰੋ(_A)" - -#: ../gtk/gtkstock.c:324 -msgctxt "Stock label" -msgid "_Bold" -msgstr "ਗੂੜ੍ਹਾ(_B)" - -#: ../gtk/gtkstock.c:325 -msgctxt "Stock label" -msgid "_Cancel" -msgstr "ਰੱਦ ਕਰੋ(_C)" - -#: ../gtk/gtkstock.c:326 -msgctxt "Stock label" -msgid "_CD-ROM" -msgstr "_CD-ROM" - -#: ../gtk/gtkstock.c:327 -msgctxt "Stock label" -msgid "_Clear" -msgstr "ਸਾਫ਼ ਕਰੋ(_C)" - -#: ../gtk/gtkstock.c:328 -msgctxt "Stock label" -msgid "_Close" -msgstr "ਬੰਦ ਕਰੋ(_C)" - -#: ../gtk/gtkstock.c:329 -msgctxt "Stock label" -msgid "C_onnect" -msgstr "ਕੁਨੈਕਟ ਕਰੋ(_o)" - -#: ../gtk/gtkstock.c:330 -msgctxt "Stock label" -msgid "_Convert" -msgstr "ਬਦਲੋ(_C)" - -#: ../gtk/gtkstock.c:331 -msgctxt "Stock label" -msgid "_Copy" -msgstr "ਕਾਪੀ ਕਰੋ(_C)" - -#: ../gtk/gtkstock.c:332 -msgctxt "Stock label" -msgid "Cu_t" -msgstr "ਕੱਟੋ(_t)" - -#: ../gtk/gtkstock.c:333 -msgctxt "Stock label" -msgid "_Delete" -msgstr "ਹਟਾਓ(_D)" - -#: ../gtk/gtkstock.c:334 -msgctxt "Stock label" -msgid "_Discard" -msgstr "ਨਿਕਾਰੋ(_D)" - -#: ../gtk/gtkstock.c:335 -msgctxt "Stock label" -msgid "_Disconnect" -msgstr "ਕੁਨੈਕਸ਼ਨ ਬੰਦ(_D)" - -#: ../gtk/gtkstock.c:336 -msgctxt "Stock label" -msgid "_Execute" -msgstr "ਚਲਾਓ(_E)" - -#: ../gtk/gtkstock.c:337 -msgctxt "Stock label" -msgid "_Edit" -msgstr "ਸੋਧ(_E)" - -#: ../gtk/gtkstock.c:338 -msgctxt "Stock label" -msgid "_File" -msgstr "ਫਾਇਲ(_F)" - -#: ../gtk/gtkstock.c:339 -msgctxt "Stock label" -msgid "_Find" -msgstr "ਖੋਜ(_F)" - -#: ../gtk/gtkstock.c:340 -msgctxt "Stock label" -msgid "Find and _Replace" -msgstr "ਖੋਜੋ ਅਤੇ ਬਦਲੋ(_R)" - -#: ../gtk/gtkstock.c:341 -msgctxt "Stock label" -msgid "_Floppy" -msgstr "ਫਲਾਪੀ(_F)" - -#: ../gtk/gtkstock.c:342 -msgctxt "Stock label" -msgid "_Fullscreen" -msgstr "ਪੂਰੀ ਸਕਰੀਨ(_F)" - -#: ../gtk/gtkstock.c:343 -msgctxt "Stock label" -msgid "_Leave Fullscreen" -msgstr "ਪੂਰੀ ਸਕਰੀਨ ਛੱਡੋ(_L)" - -#. This is a navigation label as in "go to the bottom of the page" -#: ../gtk/gtkstock.c:345 -msgctxt "Stock label, navigation" -msgid "_Bottom" -msgstr "ਹੇਠਾਂ(_B):" - -#. This is a navigation label as in "go to the first page" -#: ../gtk/gtkstock.c:347 -msgctxt "Stock label, navigation" -msgid "_First" -msgstr "ਪਹਿਲਾਂ(_F)" - -#. This is a navigation label as in "go to the last page" -#: ../gtk/gtkstock.c:349 -msgctxt "Stock label, navigation" -msgid "_Last" -msgstr "ਆਖਰੀ(_L)" - -#. This is a navigation label as in "go to the top of the page" -#: ../gtk/gtkstock.c:351 -msgctxt "Stock label, navigation" -msgid "_Top" -msgstr "ਉੱਤੇ(_T)" - -#. This is a navigation label as in "go back" -#: ../gtk/gtkstock.c:353 -msgctxt "Stock label, navigation" -msgid "_Back" -msgstr "ਪਿੱਛੇ(_B)" - -#. This is a navigation label as in "go down" -#: ../gtk/gtkstock.c:355 -msgctxt "Stock label, navigation" -msgid "_Down" -msgstr "ਹੇਠਾਂ(_D)" - -#. This is a navigation label as in "go forward" -#: ../gtk/gtkstock.c:357 -msgctxt "Stock label, navigation" -msgid "_Forward" -msgstr "ਅੱਗੇ(_F)" - -#. This is a navigation label as in "go up" -#: ../gtk/gtkstock.c:359 -msgctxt "Stock label, navigation" -msgid "_Up" -msgstr "ਉੱਤੇ(_U)" - -#: ../gtk/gtkstock.c:360 -msgctxt "Stock label" -msgid "_Hard Disk" -msgstr "ਹਾਰਡ ਡਿਸਕ(_H)" - -#: ../gtk/gtkstock.c:361 -msgctxt "Stock label" -msgid "_Help" -msgstr "ਮੱਦਦ(_H)" - -#: ../gtk/gtkstock.c:362 -msgctxt "Stock label" -msgid "_Home" -msgstr "ਘਰ(_H)" - -#: ../gtk/gtkstock.c:363 -msgctxt "Stock label" -msgid "Increase Indent" -msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਵਧਾਓ" - -#: ../gtk/gtkstock.c:364 -msgctxt "Stock label" -msgid "Decrease Indent" -msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਘਟਾਓ" - -#: ../gtk/gtkstock.c:365 -msgctxt "Stock label" -msgid "_Index" -msgstr "ਇੰਡੈਕਸ(_I)" - -#: ../gtk/gtkstock.c:366 -msgctxt "Stock label" -msgid "_Information" -msgstr "ਜਾਣਕਾਰੀ(_I)" - -#: ../gtk/gtkstock.c:367 -msgctxt "Stock label" -msgid "_Italic" -msgstr "ਤਿਰਛਾ(_I)" - -#: ../gtk/gtkstock.c:368 -msgctxt "Stock label" -msgid "_Jump to" -msgstr "ਜੰਪ(_J)" - -#. This is about text justification, "centered text" -#: ../gtk/gtkstock.c:370 -msgctxt "Stock label" -msgid "_Center" -msgstr "ਬਦਲੋ(_C)" - -#. This is about text justification -#: ../gtk/gtkstock.c:372 -msgctxt "Stock label" -msgid "_Fill" -msgstr "ਫਾਇਲਾਂ(_F)" - -#. This is about text justification, "left-justified text" -#: ../gtk/gtkstock.c:374 -msgctxt "Stock label" -msgid "_Left" -msgstr "ਖੱਬੇ(_L)" - -#. This is about text justification, "right-justified text" -#: ../gtk/gtkstock.c:376 -msgctxt "Stock label" -msgid "_Right" -msgstr "ਸੱਜੇ(_R)" - -#. Media label, as in "fast forward" -#: ../gtk/gtkstock.c:379 -msgctxt "Stock label, media" -msgid "_Forward" -msgstr "ਅੱਗੇ(_F)" - -#. Media label, as in "next song" -#: ../gtk/gtkstock.c:381 -msgctxt "Stock label, media" -msgid "_Next" -msgstr "ਨਵਾਂ(_N)" - -#. Media label, as in "pause music" -#: ../gtk/gtkstock.c:383 -msgctxt "Stock label, media" -msgid "P_ause" -msgstr "ਵਿਰਾਮ(_a)" - -#. Media label, as in "play music" -#: ../gtk/gtkstock.c:385 -msgctxt "Stock label, media" -msgid "_Play" -msgstr "ਚਲਾਓ(_P)" - -#. Media label, as in "previous song" -#: ../gtk/gtkstock.c:387 -msgctxt "Stock label, media" -msgid "Pre_vious" -msgstr "ਪਿੱਛੇ(_v)" - -#. Media label -#: ../gtk/gtkstock.c:389 -msgctxt "Stock label, media" -msgid "_Record" -msgstr "ਰਿਕਾਰਡ(_R)" - -#. Media label -#: ../gtk/gtkstock.c:391 -msgctxt "Stock label, media" -msgid "R_ewind" -msgstr "ਪਿੱਛੇ ਜਾਓ(_e)" - -#. Media label -#: ../gtk/gtkstock.c:393 -msgctxt "Stock label, media" -msgid "_Stop" -msgstr "ਰੋਕੋ(_S)" - -#: ../gtk/gtkstock.c:394 -msgctxt "Stock label" -msgid "_Network" -msgstr "ਨੈੱਟਵਰਕ(_N)" - -#: ../gtk/gtkstock.c:395 -msgctxt "Stock label" -msgid "_New" -msgstr "ਨਵਾਂ(_N)" - -#: ../gtk/gtkstock.c:396 -msgctxt "Stock label" -msgid "_No" -msgstr "ਨਹੀਂ(_N)" - -#: ../gtk/gtkstock.c:397 -msgctxt "Stock label" -msgid "_OK" -msgstr "ਠੀਕ ਹੈ(_O)" - -#: ../gtk/gtkstock.c:398 -msgctxt "Stock label" -msgid "_Open" -msgstr "ਖੋਲ੍ਹੋ(_O)" - -#. Page orientation -#: ../gtk/gtkstock.c:400 -msgctxt "Stock label" -msgid "Landscape" -msgstr "ਲੈਂਡਸਕੇਪ" - -#. Page orientation -#: ../gtk/gtkstock.c:402 -msgctxt "Stock label" -msgid "Portrait" -msgstr "ਪੋਰਟਰੇਟ" - -#. Page orientation -#: ../gtk/gtkstock.c:404 -msgctxt "Stock label" -msgid "Reverse landscape" -msgstr "ਉਲਟ ਲੈਡਸਕੇਪ" - -#. Page orientation -#: ../gtk/gtkstock.c:406 -msgctxt "Stock label" -msgid "Reverse portrait" -msgstr "ਉਲਟ ਪੋਰਟਰੇਟ" - -#: ../gtk/gtkstock.c:407 -msgctxt "Stock label" -msgid "Page Set_up" -msgstr "ਪੇਜ਼ ਸੈਟਅੱਪ(_u)" - -#: ../gtk/gtkstock.c:408 -msgctxt "Stock label" -msgid "_Paste" -msgstr "ਚੇਪੋ(_P)" - -#: ../gtk/gtkstock.c:409 -msgctxt "Stock label" -msgid "_Preferences" -msgstr "ਮੇਰੀ ਪਸੰਦ(_P)" - -#: ../gtk/gtkstock.c:410 -msgctxt "Stock label" -msgid "_Print" -msgstr "ਛਾਪੋ(_P)" - -#: ../gtk/gtkstock.c:411 -msgctxt "Stock label" -msgid "Print Pre_view" -msgstr "ਛਾਪਣ ਝਲਕ(_v)" - -#: ../gtk/gtkstock.c:412 -msgctxt "Stock label" -msgid "_Properties" -msgstr "ਵਿਸ਼ੇਸ਼ਤਾ(_P)" - -#: ../gtk/gtkstock.c:413 -msgctxt "Stock label" -msgid "_Quit" -msgstr "ਬਾਹਰ(_Q)" - -#: ../gtk/gtkstock.c:414 -msgctxt "Stock label" -msgid "_Redo" -msgstr "ਮੁੜ-ਵਾਪਸ(_R)" - -#: ../gtk/gtkstock.c:415 -msgctxt "Stock label" -msgid "_Refresh" -msgstr "ਤਾਜ਼ਾ(_R)" - -#: ../gtk/gtkstock.c:416 -msgctxt "Stock label" -msgid "_Remove" -msgstr "ਹਟਾਓ(_R)" - -#: ../gtk/gtkstock.c:417 -msgctxt "Stock label" -msgid "_Revert" -msgstr "ਪਰਤਾਓ(_R)" - -#: ../gtk/gtkstock.c:418 -msgctxt "Stock label" -msgid "_Save" -msgstr "ਸੰਭਾਲੋ(_S)" - -#: ../gtk/gtkstock.c:419 -msgctxt "Stock label" -msgid "Save _As" -msgstr "ਇੰਜ ਸੰਭਾਲੋ(_A)" - -#: ../gtk/gtkstock.c:420 -msgctxt "Stock label" -msgid "Select _All" -msgstr "ਸਭ ਚੁਣੋ(_A)" - -#: ../gtk/gtkstock.c:421 -msgctxt "Stock label" -msgid "_Color" -msgstr "ਰੰਗ(_C)" - -#: ../gtk/gtkstock.c:422 -msgctxt "Stock label" -msgid "_Font" -msgstr "ਫੋਂਟ(_F)" - -#. Sorting direction -#: ../gtk/gtkstock.c:424 -msgctxt "Stock label" -msgid "_Ascending" -msgstr "ਵਧਦਾ ਕ੍ਰਮ(_A)" - -#. Sorting direction -#: ../gtk/gtkstock.c:426 -msgctxt "Stock label" -msgid "_Descending" -msgstr "ਘੱਟਦਾ ਕ੍ਰਮ(_D)" - -#: ../gtk/gtkstock.c:427 -msgctxt "Stock label" -msgid "_Spell Check" -msgstr "ਸ਼ਬਦ-ਜੋੜ ਚੈੱਕ(_S)" - -#: ../gtk/gtkstock.c:428 -msgctxt "Stock label" -msgid "_Stop" -msgstr "ਰੋਕੋ(_S)" - -#. Font variant -#: ../gtk/gtkstock.c:430 -msgctxt "Stock label" -msgid "_Strikethrough" -msgstr "ਵਿੰਨੋ(_S)" - -#: ../gtk/gtkstock.c:431 -msgctxt "Stock label" -msgid "_Undelete" -msgstr "ਹਟਾਓਣਾ-ਵਾਪਸ(_U)" - -#. Font variant -#: ../gtk/gtkstock.c:433 -msgctxt "Stock label" -msgid "_Underline" -msgstr "ਹੇਠਾਂ ਲਾਈਨ(_U)" - -#: ../gtk/gtkstock.c:434 -msgctxt "Stock label" -msgid "_Undo" -msgstr "ਵਾਪਸ(_U)" - -#: ../gtk/gtkstock.c:435 -msgctxt "Stock label" -msgid "_Yes" -msgstr "ਹਾਂ(_Y)" - -#. Zoom -#: ../gtk/gtkstock.c:437 -msgctxt "Stock label" -msgid "_Normal Size" -msgstr "ਆਮ ਅਕਾਰ(_N)" - -#. Zoom -#: ../gtk/gtkstock.c:439 -msgctxt "Stock label" -msgid "Best _Fit" -msgstr "ਵਧੀਆ ਫਿੱਟ(_F)" - -#: ../gtk/gtkstock.c:440 -msgctxt "Stock label" -msgid "Zoom _In" -msgstr "ਜ਼ੂਮ ਇਨ(_I)" - -#: ../gtk/gtkstock.c:441 -msgctxt "Stock label" -msgid "Zoom _Out" -msgstr "ਜ਼ੂਮ ਆਉਟ(_O)" - -#. Translators: if the "on" state label requires more than three -#. * glyphs then use MEDIUM VERTICAL BAR (U+2759) as the text for -#. * the state -#. -#: ../gtk/gtkswitch.c:304 ../gtk/gtkswitch.c:353 ../gtk/gtkswitch.c:544 -msgctxt "switch" -msgid "ON" -msgstr "ਚਾਲੂ" - -#. Translators: if the "off" state label requires more than three -#. * glyphs then use WHITE CIRCLE (U+25CB) as the text for the state -#. -#: ../gtk/gtkswitch.c:312 ../gtk/gtkswitch.c:354 ../gtk/gtkswitch.c:560 -msgctxt "switch" -msgid "OFF" -msgstr "ਬੰਦ" - -#: ../gtk/gtkswitch.c:959 -#| msgid "inch" -msgctxt "light switch widget" -msgid "Switch" -msgstr "ਬਦਲੋ" - -#: ../gtk/gtkswitch.c:960 -msgid "Switches between on and off states" -msgstr "ਚਾਲੂ ਤੇ ਬੰਦ ਹਾਲਤ ਵਿੱਚ ਬਦਲੋ" - -#: ../gtk/gtktextbufferrichtext.c:650 -#, c-format -msgid "Unknown error when trying to deserialize %s" -msgstr "%s ਡੀਸੀਰੀਅਲਜ਼ ਕਰਨ ਦੌਰਾਨ ਅਣਜਾਣ ਗਲਤੀ" - -#: ../gtk/gtktextbufferrichtext.c:709 -#, c-format -msgid "No deserialize function found for format %s" -msgstr "ਫਾਰਮੈਟ %s ਲਈ ਡੀਸੀਰੀਲਾਇਜ਼ਡ ਫੰਕਸ਼ਨ ਨਹੀਂ ਲੱਭਿਆ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:800 ../gtk/gtktextbufferserialize.c:826 -#, c-format -msgid "Both \"id\" and \"name\" were found on the <%s> element" -msgstr "ਦੋਵੇਂ \"id\" ਅਤੇ \"name\" ਇਕਾਈ <%s> ਲਈ ਲੱਭੇ ਹਨ" - -#: ../gtk/gtktextbufferserialize.c:810 ../gtk/gtktextbufferserialize.c:836 -#, c-format -msgid "The attribute \"%s\" was found twice on the <%s> element" -msgstr "ਗੁਣ \"%s\" ਇਕਾਈ <%s> ਲਈ ਦੋ ਵਾਰ ਲੱਭਿਆ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:852 -#, c-format -msgid "<%s> element has invalid ID \"%s\"" -msgstr "<%s> ਇਕਾਈ ਦਾ ਗਲਤ ID \"%s\" ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:862 -#, c-format -msgid "<%s> element has neither a \"name\" nor an \"id\" attribute" -msgstr "<%s> ਇਕਾਈ ਨਾ ਤਾਂ ਇੱਕ \"name\" ਗੁਣ ਹੈ ਅਤੇ ਨਾ ਹੀ \"id\"" - -#: ../gtk/gtktextbufferserialize.c:949 -#, c-format -msgid "Attribute \"%s\" repeated twice on the same <%s> element" -msgstr "ਗੁਣ \"%s\" ਇਕਾਈ <%s> ਵਾਰ ਦੋ ਵਾਰ ਰਪੀਟ ਕੀਤਾ ਗਿਆ" - -#: ../gtk/gtktextbufferserialize.c:967 ../gtk/gtktextbufferserialize.c:992 -#, c-format -msgid "Attribute \"%s\" is invalid on <%s> element in this context" -msgstr "ਗੁਣ \"%s\" ਇਸ ਸਬੰਧ ਵਿੱਚ <%s> ਇਕਾਈ ਲਈ ਗਲਤ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1031 -#, c-format -msgid "Tag \"%s\" has not been defined." -msgstr "ਟੈਗ \"%s\" ਪ੍ਰਭਾਸ਼ਿਤ ਨਹੀਂ ਹੈ।" - -#: ../gtk/gtktextbufferserialize.c:1043 -msgid "Anonymous tag found and tags can not be created." -msgstr "ਅਗਿਆਤ ਟੈਗ ਲੱਭਿਆ ਹੈ ਅਤੇ ਟੈਗ ਨਹੀਂ ਬਣਾਏ ਜਾ ਸਕਦੇ ਹਨ।" - -#: ../gtk/gtktextbufferserialize.c:1054 -#, c-format -msgid "Tag \"%s\" does not exist in buffer and tags can not be created." -msgstr "ਟੈਗ \"%s\" ਬਫ਼ਰ 'ਚ ਨਹੀਂ ਹੈ ਅਤੇ ਟੈਗ ਬਣਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ ਹੈ।" - -#: ../gtk/gtktextbufferserialize.c:1153 ../gtk/gtktextbufferserialize.c:1228 -#: ../gtk/gtktextbufferserialize.c:1333 ../gtk/gtktextbufferserialize.c:1407 -#, c-format -msgid "Element <%s> is not allowed below <%s>" -msgstr "ਇਕਾਈ <%s> <%s> ਹੇਠਾਂ ਮਨਜ਼ੂਰ ਨਹੀਂ" - -#: ../gtk/gtktextbufferserialize.c:1184 -#, c-format -msgid "\"%s\" is not a valid attribute type" -msgstr "\"%s\" ਇੱਕ ਠੀਕ ਗੁਣ ਕਿਸਮ ਨਹੀਂ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1192 -#, c-format -msgid "\"%s\" is not a valid attribute name" -msgstr "\"%s\" ਇੱਕ ਠੀਕ ਗੁਣ ਨਾਂ ਨਹੀਂ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1202 -#, c-format -msgid "\"%s\" could not be converted to a value of type \"%s\" for attribute \"%s\"" -msgstr "\"%1$s\" \"%3$s\" ਗੁਣ ਲਈ \"%2$s\" ਕਿਸਮ ਦੇ ਮੁੱਲ ਨੂੰ ਬਦਲ ਨਹੀਂ ਸਕਿਆ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1211 -#, c-format -msgid "\"%s\" is not a valid value for attribute \"%s\"" -msgstr "\"%s\" ਗੁਣ \"%s\" ਲਈ ਠੀਕ ਮੁੱਲ ਨਹੀਂ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1296 -#, c-format -msgid "Tag \"%s\" already defined" -msgstr "ਟੈਗ \"%s\" ਪਹਿਲਾਂ ਹੀ ਪ੍ਰਭਾਸ਼ਿਤ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1309 -#, c-format -msgid "Tag \"%s\" has invalid priority \"%s\"" -msgstr "ਟੈਗ \"%s\" ਦੀ ਗਲਤ ਤਰਜੀਹ \"%s\" ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1362 -#, c-format -msgid "Outermost element in text must be not <%s>" -msgstr "ਟੈਕਸਟ ਵਿੱਚ ਬਾਹਰੀ ਇਕਾਈ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਨਾ ਕਿ <%s>" - -#: ../gtk/gtktextbufferserialize.c:1371 ../gtk/gtktextbufferserialize.c:1387 -#, c-format -msgid "A <%s> element has already been specified" -msgstr "ਇੱਕ <%s> ਇਕਾਈ ਪਹਿਲਾਂ ਹੀ ਦੱਸੀ ਜਾ ਚੁੱਕੀ ਹੈ।" - -#: ../gtk/gtktextbufferserialize.c:1393 -msgid "A element can't occur before a element" -msgstr "ਇੱਕ ਇਕਾਈ ਇਕਾਈ ਤੋਂ ਪਹਿਲਾਂ ਨਹੀਂ ਆ ਸਕਦਾ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1793 -msgid "Serialized data is malformed" -msgstr "ਸੀਰੀਲਾਈਜ਼ਡ ਡਾਟਾ ਨਿਕਾਰਾ ਹੈ" - -#: ../gtk/gtktextbufferserialize.c:1871 -msgid "Serialized data is malformed. First section isn't GTKTEXTBUFFERCONTENTS-0001" -msgstr "ਸੀਰੀਲਾਈਜ਼ਡ ਡਾਟਾ ਨਿਕਾਰਾ ਹੈ। ਪਹਿਲਾਂ ਭਾਗ GTKTEXTBUFFERCONTENTS-0001 ਨਹੀਂ ਹੈ" - -#: ../gtk/gtktextutil.c:60 -msgid "LRM _Left-to-right mark" -msgstr "_LRM ਖੱਬੇ ਤੋਂ ਸੱਜਾ ਨਿਸ਼ਾਨ" - -#: ../gtk/gtktextutil.c:61 -msgid "RLM _Right-to-left mark" -msgstr "_RLM ਸੱਜੇ ਤੋਂ ਖੱਬਾ ਨਿਸ਼ਾਨ" - -#: ../gtk/gtktextutil.c:62 -msgid "LRE Left-to-right _embedding" -msgstr "LR_E ਖੱਬੇ ਤੋਂ ਸੱਜਾ ਇੰਬੈਂਡ" - -#: ../gtk/gtktextutil.c:63 -msgid "RLE Right-to-left e_mbedding" -msgstr "RLE ਸੱਜੇ ਤੋਂ ਖੱਬਾ ਇੰਬੈਂਡ(_m)" - -#: ../gtk/gtktextutil.c:64 -msgid "LRO Left-to-right _override" -msgstr "LR_O ਖੱਬੇ ਤੋਂ ਸੱਜਾ ਉੱਤੇ" - -#: ../gtk/gtktextutil.c:65 -msgid "RLO Right-to-left o_verride" -msgstr "RLO ਸੱਜੇ ਤੋਂ ਖੱਬਾ ਉੱਤੇ(_v)" - -#: ../gtk/gtktextutil.c:66 -msgid "PDF _Pop directional formatting" -msgstr "_PDF ਪੋਪ ਦਿਸ਼ਾ ਫਾਰਮੈਟਿੰਗ" - -#: ../gtk/gtktextutil.c:67 -msgid "ZWS _Zero width space" -msgstr "_ZWS ਜ਼ੀਰੋ ਚੌੜਾਈ ਥਾਂ" - -#: ../gtk/gtktextutil.c:68 -msgid "ZWJ Zero width _joiner" -msgstr "ZW_J ਜ਼ੀਰੋ ਚੌੜਾਈ ਜੋੜਕ" - -#: ../gtk/gtktextutil.c:69 -msgid "ZWNJ Zero width _non-joiner" -msgstr "ZW_NJ ਜ਼ੀਰੋ ਚੌੜਾਈ ਨਾ-ਜੋੜਕ" - -#: ../gtk/gtkuimanager.c:1506 -#, c-format -msgid "Unexpected start tag '%s' on line %d char %d" -msgstr "ਲਾਈਨ %2$d ਅੱਖਰ %3$d ਉੱਤੇ ਬੇ-ਲੋੜੀਦਾ ਸ਼ੁਰੂਆਤੀ ਟੈਗ '%1$s'" - -#: ../gtk/gtkuimanager.c:1596 -#, c-format -msgid "Unexpected character data on line %d char %d" -msgstr "ਲਾਈਨ %d ਅੱਖਰ %d ਉੱਤੇ ਬੇ-ਲੋੜੀਦਾ ਅੱਖਰ ਡਾਟਾ" - -#: ../gtk/gtkuimanager.c:2428 -msgid "Empty" -msgstr "ਖਾਲੀ" - -#: ../gtk/gtkvolumebutton.c:170 -msgid "Volume" -msgstr "ਵਾਲੀਅਮ" - -#: ../gtk/gtkvolumebutton.c:172 -msgid "Turns volume down or up" -msgstr "ਵਾਲੀਅਮ ਵਧਾਇਆ ਜਾਂ ਘਟਾਇਆ ਜਾਂਦਾ ਹੈ" - -#: ../gtk/gtkvolumebutton.c:175 -msgid "Adjusts the volume" -msgstr "ਵਾਲੀਅਮ ਅਡਜੱਸਟ ਕਰੋ" - -#: ../gtk/gtkvolumebutton.c:181 ../gtk/gtkvolumebutton.c:184 -msgid "Volume Down" -msgstr "ਆਵਾਜ਼ ਘਟਾਓ" - -#: ../gtk/gtkvolumebutton.c:183 -msgid "Decreases the volume" -msgstr "ਵਾਲੀਅਮ ਘਟਾਓ" - -#: ../gtk/gtkvolumebutton.c:187 ../gtk/gtkvolumebutton.c:190 -msgid "Volume Up" -msgstr "ਆਵਾਜ਼ ਵਧਾਓ" - -#: ../gtk/gtkvolumebutton.c:189 -msgid "Increases the volume" -msgstr "ਵਾਲੀਅਮ ਵਧਾਓ" - -#: ../gtk/gtkvolumebutton.c:247 -msgid "Muted" -msgstr "ਚੁੱਪ ਕੀਤਾ" - -#: ../gtk/gtkvolumebutton.c:251 -msgid "Full Volume" -msgstr "ਪੂਰਾ ਵਾਲੀਅਮ" - -#. Translators: this is the percentage of the current volume, -#. * as used in the tooltip, eg. "49 %". -#. * Translate the "%d" to "%Id" if you want to use localised digits, -#. * or otherwise translate the "%d" to "%d". -#. -#: ../gtk/gtkvolumebutton.c:264 -#, c-format -msgctxt "volume percentage" -msgid "%d %%" -msgstr "%Id %%" - -#: ../gtk/paper_names_offsets.c:4 -msgctxt "paper size" -msgid "asme_f" -msgstr "asme_f" - -#: ../gtk/paper_names_offsets.c:5 -msgctxt "paper size" -msgid "A0x2" -msgstr "A0x2" - -#: ../gtk/paper_names_offsets.c:6 -msgctxt "paper size" -msgid "A0" -msgstr "A0" - -#: ../gtk/paper_names_offsets.c:7 -msgctxt "paper size" -msgid "A0x3" -msgstr "A0x3" - -#: ../gtk/paper_names_offsets.c:8 -msgctxt "paper size" -msgid "A1" -msgstr "A1" - -#: ../gtk/paper_names_offsets.c:9 -msgctxt "paper size" -msgid "A10" -msgstr "A10" - -#: ../gtk/paper_names_offsets.c:10 -msgctxt "paper size" -msgid "A1x3" -msgstr "A1x3" - -#: ../gtk/paper_names_offsets.c:11 -msgctxt "paper size" -msgid "A1x4" -msgstr "A1x4" - -#: ../gtk/paper_names_offsets.c:12 -msgctxt "paper size" -msgid "A2" -msgstr "A2" - -#: ../gtk/paper_names_offsets.c:13 -msgctxt "paper size" -msgid "A2x3" -msgstr "A2x3" - -#: ../gtk/paper_names_offsets.c:14 -msgctxt "paper size" -msgid "A2x4" -msgstr "A2x4" - -#: ../gtk/paper_names_offsets.c:15 -msgctxt "paper size" -msgid "A2x5" -msgstr "A2x5" - -#: ../gtk/paper_names_offsets.c:16 -msgctxt "paper size" -msgid "A3" -msgstr "A3" - -#: ../gtk/paper_names_offsets.c:17 -msgctxt "paper size" -msgid "A3 Extra" -msgstr "A3 ਐਕਸਟਰਾ" - -#: ../gtk/paper_names_offsets.c:18 -msgctxt "paper size" -msgid "A3x3" -msgstr "A3x3" - -#: ../gtk/paper_names_offsets.c:19 -msgctxt "paper size" -msgid "A3x4" -msgstr "A3x4" - -#: ../gtk/paper_names_offsets.c:20 -msgctxt "paper size" -msgid "A3x5" -msgstr "A3x5" - -#: ../gtk/paper_names_offsets.c:21 -msgctxt "paper size" -msgid "A3x6" -msgstr "A3x6" - -#: ../gtk/paper_names_offsets.c:22 -msgctxt "paper size" -msgid "A3x7" -msgstr "A3x7" - -#: ../gtk/paper_names_offsets.c:23 -msgctxt "paper size" -msgid "A4" -msgstr "A4" - -#: ../gtk/paper_names_offsets.c:24 -msgctxt "paper size" -msgid "A4 Extra" -msgstr "A4 ਐਕਸਟਰਾ" - -#: ../gtk/paper_names_offsets.c:25 -msgctxt "paper size" -msgid "A4 Tab" -msgstr "A4 ਟੈਬ" - -#: ../gtk/paper_names_offsets.c:26 -msgctxt "paper size" -msgid "A4x3" -msgstr "A4x3" - -#: ../gtk/paper_names_offsets.c:27 -msgctxt "paper size" -msgid "A4x4" -msgstr "A4x4" - -#: ../gtk/paper_names_offsets.c:28 -msgctxt "paper size" -msgid "A4x5" -msgstr "A4x5" - -#: ../gtk/paper_names_offsets.c:29 -msgctxt "paper size" -msgid "A4x6" -msgstr "A4x6" - -#: ../gtk/paper_names_offsets.c:30 -msgctxt "paper size" -msgid "A4x7" -msgstr "A4x7" - -#: ../gtk/paper_names_offsets.c:31 -msgctxt "paper size" -msgid "A4x8" -msgstr "A4x8" - -#: ../gtk/paper_names_offsets.c:32 -msgctxt "paper size" -msgid "A4x9" -msgstr "A4x9" - -#: ../gtk/paper_names_offsets.c:33 -msgctxt "paper size" -msgid "A5" -msgstr "A5" - -#: ../gtk/paper_names_offsets.c:34 -msgctxt "paper size" -msgid "A5 Extra" -msgstr "A5 ਐਕਸਟਰਾ" - -#: ../gtk/paper_names_offsets.c:35 -msgctxt "paper size" -msgid "A6" -msgstr "A6" - -#: ../gtk/paper_names_offsets.c:36 -msgctxt "paper size" -msgid "A7" -msgstr "A7" - -#: ../gtk/paper_names_offsets.c:37 -msgctxt "paper size" -msgid "A8" -msgstr "A8" - -#: ../gtk/paper_names_offsets.c:38 -msgctxt "paper size" -msgid "A9" -msgstr "A9" - -#: ../gtk/paper_names_offsets.c:39 -msgctxt "paper size" -msgid "B0" -msgstr "B0" - -#: ../gtk/paper_names_offsets.c:40 -msgctxt "paper size" -msgid "B1" -msgstr "B1" - -#: ../gtk/paper_names_offsets.c:41 -msgctxt "paper size" -msgid "B10" -msgstr "B10" - -#: ../gtk/paper_names_offsets.c:42 -msgctxt "paper size" -msgid "B2" -msgstr "B2" - -#: ../gtk/paper_names_offsets.c:43 -msgctxt "paper size" -msgid "B3" -msgstr "B3" - -#: ../gtk/paper_names_offsets.c:44 -msgctxt "paper size" -msgid "B4" -msgstr "B4" - -#: ../gtk/paper_names_offsets.c:45 -msgctxt "paper size" -msgid "B5" -msgstr "B5" - -#: ../gtk/paper_names_offsets.c:46 -msgctxt "paper size" -msgid "B5 Extra" -msgstr "B5 ਐਕਸਟਰਾ" - -#: ../gtk/paper_names_offsets.c:47 -msgctxt "paper size" -msgid "B6" -msgstr "B6" - -#: ../gtk/paper_names_offsets.c:48 -msgctxt "paper size" -msgid "B6/C4" -msgstr "B6/C4" - -#: ../gtk/paper_names_offsets.c:49 -msgctxt "paper size" -msgid "B7" -msgstr "B7" - -#: ../gtk/paper_names_offsets.c:50 -msgctxt "paper size" -msgid "B8" -msgstr "B8" - -#: ../gtk/paper_names_offsets.c:51 -msgctxt "paper size" -msgid "B9" -msgstr "B9" - -#: ../gtk/paper_names_offsets.c:52 -msgctxt "paper size" -msgid "C0" -msgstr "C0" - -#: ../gtk/paper_names_offsets.c:53 -msgctxt "paper size" -msgid "C1" -msgstr "C1" - -#: ../gtk/paper_names_offsets.c:54 -msgctxt "paper size" -msgid "C10" -msgstr "C10" - -#: ../gtk/paper_names_offsets.c:55 -msgctxt "paper size" -msgid "C2" -msgstr "C2" - -#: ../gtk/paper_names_offsets.c:56 -msgctxt "paper size" -msgid "C3" -msgstr "C3" - -#: ../gtk/paper_names_offsets.c:57 -msgctxt "paper size" -msgid "C4" -msgstr "C4" - -#: ../gtk/paper_names_offsets.c:58 -msgctxt "paper size" -msgid "C5" -msgstr "C5" - -#: ../gtk/paper_names_offsets.c:59 -msgctxt "paper size" -msgid "C6" -msgstr "C6" - -#: ../gtk/paper_names_offsets.c:60 -msgctxt "paper size" -msgid "C6/C5" -msgstr "C6/C5" - -#: ../gtk/paper_names_offsets.c:61 -msgctxt "paper size" -msgid "C7" -msgstr "C7" - -#: ../gtk/paper_names_offsets.c:62 -msgctxt "paper size" -msgid "C7/C6" -msgstr "C7/C6" - -#: ../gtk/paper_names_offsets.c:63 -msgctxt "paper size" -msgid "C8" -msgstr "C8" - -#: ../gtk/paper_names_offsets.c:64 -msgctxt "paper size" -msgid "C9" -msgstr "C9" - -#: ../gtk/paper_names_offsets.c:65 -msgctxt "paper size" -msgid "DL Envelope" -msgstr "DL ਲਿਫਾਫ਼ਾ" - -#: ../gtk/paper_names_offsets.c:66 -msgctxt "paper size" -msgid "RA0" -msgstr "RA0" - -#: ../gtk/paper_names_offsets.c:67 -msgctxt "paper size" -msgid "RA1" -msgstr "RA1" - -#: ../gtk/paper_names_offsets.c:68 -msgctxt "paper size" -msgid "RA2" -msgstr "RA2" - -#: ../gtk/paper_names_offsets.c:69 -msgctxt "paper size" -msgid "SRA0" -msgstr "SRA0" - -#: ../gtk/paper_names_offsets.c:70 -msgctxt "paper size" -msgid "SRA1" -msgstr "SRA1" - -#: ../gtk/paper_names_offsets.c:71 -msgctxt "paper size" -msgid "SRA2" -msgstr "SRA2" - -#: ../gtk/paper_names_offsets.c:72 -msgctxt "paper size" -msgid "JB0" -msgstr "JB0" - -#: ../gtk/paper_names_offsets.c:73 -msgctxt "paper size" -msgid "JB1" -msgstr "JB1" - -#: ../gtk/paper_names_offsets.c:74 -msgctxt "paper size" -msgid "JB10" -msgstr "JB10" - -#: ../gtk/paper_names_offsets.c:75 -msgctxt "paper size" -msgid "JB2" -msgstr "JB2" - -#: ../gtk/paper_names_offsets.c:76 -msgctxt "paper size" -msgid "JB3" -msgstr "JB3" - -#: ../gtk/paper_names_offsets.c:77 -msgctxt "paper size" -msgid "JB4" -msgstr "JB4" - -#: ../gtk/paper_names_offsets.c:78 -msgctxt "paper size" -msgid "JB5" -msgstr "JB5" - -#: ../gtk/paper_names_offsets.c:79 -msgctxt "paper size" -msgid "JB6" -msgstr "JB6" - -#: ../gtk/paper_names_offsets.c:80 -msgctxt "paper size" -msgid "JB7" -msgstr "JB7" - -#: ../gtk/paper_names_offsets.c:81 -msgctxt "paper size" -msgid "JB8" -msgstr "JB8" - -#: ../gtk/paper_names_offsets.c:82 -msgctxt "paper size" -msgid "JB9" -msgstr "JB9" - -#: ../gtk/paper_names_offsets.c:83 -msgctxt "paper size" -msgid "jis exec" -msgstr "jis exec" - -#: ../gtk/paper_names_offsets.c:84 -msgctxt "paper size" -msgid "Choukei 2 Envelope" -msgstr "Choukei 2 ਲਿਫ਼ਾਫ਼ਾ" - -#: ../gtk/paper_names_offsets.c:85 -msgctxt "paper size" -msgid "Choukei 3 Envelope" -msgstr "Choukei 3 ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:86 -msgctxt "paper size" -msgid "Choukei 4 Envelope" -msgstr "Choukei 4 ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:87 -msgctxt "paper size" -msgid "hagaki (postcard)" -msgstr "hagaki (ਪੋਸਟਕਾਰਡ)" - -#: ../gtk/paper_names_offsets.c:88 -msgctxt "paper size" -msgid "kahu Envelope" -msgstr "kahu ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:89 -msgctxt "paper size" -msgid "kaku2 Envelope" -msgstr "kaku2 ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:90 -msgctxt "paper size" -msgid "oufuku (reply postcard)" -msgstr "oufuku (ਜਵਾਬੀ ਪੋਸਟਕਾਰਡ)" - -#: ../gtk/paper_names_offsets.c:91 -msgctxt "paper size" -msgid "you4 Envelope" -msgstr "you4 ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:92 -msgctxt "paper size" -msgid "10x11" -msgstr "੧੦x੧੧" - -#: ../gtk/paper_names_offsets.c:93 -msgctxt "paper size" -msgid "10x13" -msgstr "੧੦x੧੩" - -#: ../gtk/paper_names_offsets.c:94 -msgctxt "paper size" -msgid "10x14" -msgstr "੧੦x੧੪" - -#: ../gtk/paper_names_offsets.c:95 ../gtk/paper_names_offsets.c:96 -msgctxt "paper size" -msgid "10x15" -msgstr "੧੦x੧੫" - -#: ../gtk/paper_names_offsets.c:97 -msgctxt "paper size" -msgid "11x12" -msgstr "੧੧x੧੨" - -#: ../gtk/paper_names_offsets.c:98 -msgctxt "paper size" -msgid "11x15" -msgstr "੧੧x੧੫" - -#: ../gtk/paper_names_offsets.c:99 -msgctxt "paper size" -msgid "12x19" -msgstr "੧੨x੧੯" - -#: ../gtk/paper_names_offsets.c:100 -msgctxt "paper size" -msgid "5x7" -msgstr "੫x੭" - -#: ../gtk/paper_names_offsets.c:101 -msgctxt "paper size" -msgid "6x9 Envelope" -msgstr "੬x੯ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:102 -msgctxt "paper size" -msgid "7x9 Envelope" -msgstr "੭x੯ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:103 -msgctxt "paper size" -msgid "9x11 Envelope" -msgstr "੯x੧੧ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:104 -msgctxt "paper size" -msgid "a2 Envelope" -msgstr "a੨ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:105 -msgctxt "paper size" -msgid "Arch A" -msgstr "Arch A" - -#: ../gtk/paper_names_offsets.c:106 -msgctxt "paper size" -msgid "Arch B" -msgstr "Arch B" - -#: ../gtk/paper_names_offsets.c:107 -msgctxt "paper size" -msgid "Arch C" -msgstr "Arch C" - -#: ../gtk/paper_names_offsets.c:108 -msgctxt "paper size" -msgid "Arch D" -msgstr "Arch D" - -#: ../gtk/paper_names_offsets.c:109 -msgctxt "paper size" -msgid "Arch E" -msgstr "Arch E" - -#: ../gtk/paper_names_offsets.c:110 -msgctxt "paper size" -msgid "b-plus" -msgstr "b-plus" - -#: ../gtk/paper_names_offsets.c:111 -msgctxt "paper size" -msgid "c" -msgstr "c" - -#: ../gtk/paper_names_offsets.c:112 -msgctxt "paper size" -msgid "c5 Envelope" -msgstr "c੫ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:113 -msgctxt "paper size" -msgid "d" -msgstr "d" - -#: ../gtk/paper_names_offsets.c:114 -msgctxt "paper size" -msgid "e" -msgstr "e" - -#: ../gtk/paper_names_offsets.c:115 -msgctxt "paper size" -msgid "edp" -msgstr "edp" - -#: ../gtk/paper_names_offsets.c:116 -msgctxt "paper size" -msgid "European edp" -msgstr "ਯੂਰਪੀ edp" - -#: ../gtk/paper_names_offsets.c:117 -msgctxt "paper size" -msgid "Executive" -msgstr "Executive" - -#: ../gtk/paper_names_offsets.c:118 -msgctxt "paper size" -msgid "f" -msgstr "f" - -#: ../gtk/paper_names_offsets.c:119 -msgctxt "paper size" -msgid "FanFold European" -msgstr "FanFold ਯੂਰਪੀ" - -#: ../gtk/paper_names_offsets.c:120 -msgctxt "paper size" -msgid "FanFold US" -msgstr "FanFold US" - -#: ../gtk/paper_names_offsets.c:121 -msgctxt "paper size" -msgid "FanFold German Legal" -msgstr "FanFold ਜਰਮਨ ਲੀਗਲ" - -#: ../gtk/paper_names_offsets.c:122 -msgctxt "paper size" -msgid "Government Legal" -msgstr "ਸਰਕਾਰੀ ਲੀਗਲ" - -#: ../gtk/paper_names_offsets.c:123 -msgctxt "paper size" -msgid "Government Letter" -msgstr "ਸਰਕਾਰੀ ਪੱਤਰ" - -#: ../gtk/paper_names_offsets.c:124 -msgctxt "paper size" -msgid "Index 3x5" -msgstr "ਇੰਡੈਕਸ ੩x੫" - -#: ../gtk/paper_names_offsets.c:125 -msgctxt "paper size" -msgid "Index 4x6 (postcard)" -msgstr "ਇੰਡੈਕਸ ੪x੬ (ਪੋਸਟਕਾਰਡ)" - -#: ../gtk/paper_names_offsets.c:126 -msgctxt "paper size" -msgid "Index 4x6 ext" -msgstr "ਇੰਡੈਕਸ ੪x੬ ext" - -#: ../gtk/paper_names_offsets.c:127 -msgctxt "paper size" -msgid "Index 5x8" -msgstr "ਇੰਡੈਕਸ ੫x੮" - -#: ../gtk/paper_names_offsets.c:128 -msgctxt "paper size" -msgid "Invoice" -msgstr "ਇਨਵਾਈਸ" - -#: ../gtk/paper_names_offsets.c:129 -msgctxt "paper size" -msgid "Tabloid" -msgstr "Tabloid" - -#: ../gtk/paper_names_offsets.c:130 -msgctxt "paper size" -msgid "US Legal" -msgstr "US Legal" - -#: ../gtk/paper_names_offsets.c:131 -msgctxt "paper size" -msgid "US Legal Extra" -msgstr "US ਲੀਗਲ ਵਾਧੂ" - -#: ../gtk/paper_names_offsets.c:132 -msgctxt "paper size" -msgid "US Letter" -msgstr "US ਪੱਤਰ" - -#: ../gtk/paper_names_offsets.c:133 -msgctxt "paper size" -msgid "US Letter Extra" -msgstr "US ਪੱਤਰ ਵਾਧੂ" - -#: ../gtk/paper_names_offsets.c:134 -msgctxt "paper size" -msgid "US Letter Plus" -msgstr "US ਪੱਤਰ ਪਲੱਸ" - -#: ../gtk/paper_names_offsets.c:135 -msgctxt "paper size" -msgid "Monarch Envelope" -msgstr "Monarch ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:136 -msgctxt "paper size" -msgid "#10 Envelope" -msgstr "#੧੦ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:137 -msgctxt "paper size" -msgid "#11 Envelope" -msgstr "#੧੧ ਲਿਫਾਫਾ" - -#: ../gtk/paper_names_offsets.c:138 -msgctxt "paper size" -msgid "#12 Envelope" -msgstr "#੧੨ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:139 -msgctxt "paper size" -msgid "#14 Envelope" -msgstr "#੧੪ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:140 -msgctxt "paper size" -msgid "#9 Envelope" -msgstr "#੯ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:141 -msgctxt "paper size" -msgid "Personal Envelope" -msgstr "ਨਿੱਜੀ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:142 -msgctxt "paper size" -msgid "Quarto" -msgstr "Quarto" - -#: ../gtk/paper_names_offsets.c:143 -msgctxt "paper size" -msgid "Super A" -msgstr "ਸੁਪਰ ਏ" - -#: ../gtk/paper_names_offsets.c:144 -msgctxt "paper size" -msgid "Super B" -msgstr "ਸੁਪਰ ਬੀ" - -#: ../gtk/paper_names_offsets.c:145 -msgctxt "paper size" -msgid "Wide Format" -msgstr "ਚੌੜਾ ਫਾਰਮੈਟ" - -#: ../gtk/paper_names_offsets.c:146 -msgctxt "paper size" -msgid "Dai-pa-kai" -msgstr "Dai-pa-kai" - -#: ../gtk/paper_names_offsets.c:147 -msgctxt "paper size" -msgid "Folio" -msgstr "ਫੋਈਓ" - -#: ../gtk/paper_names_offsets.c:148 -msgctxt "paper size" -msgid "Folio sp" -msgstr "Folio sp" - -#: ../gtk/paper_names_offsets.c:149 -msgctxt "paper size" -msgid "Invite Envelope" -msgstr "ਸੱਦਾ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:150 -msgctxt "paper size" -msgid "Italian Envelope" -msgstr "ਇਤਾਲਵੀ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:151 -msgctxt "paper size" -msgid "juuro-ku-kai" -msgstr "juuro-ku-kai" - -#: ../gtk/paper_names_offsets.c:152 -msgctxt "paper size" -msgid "pa-kai" -msgstr "pa-kai" - -#: ../gtk/paper_names_offsets.c:153 -msgctxt "paper size" -msgid "Postfix Envelope" -msgstr "ਪੋਸਟਫਿਕਸ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:154 -msgctxt "paper size" -msgid "Small Photo" -msgstr "ਛੋਟੀ ਫੋਟੋ" - -#: ../gtk/paper_names_offsets.c:155 -msgctxt "paper size" -msgid "prc1 Envelope" -msgstr "prc੧ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:156 -msgctxt "paper size" -msgid "prc10 Envelope" -msgstr "prc੧੦ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:157 -msgctxt "paper size" -msgid "prc 16k" -msgstr "prc ੧੬k" - -#: ../gtk/paper_names_offsets.c:158 -msgctxt "paper size" -msgid "prc2 Envelope" -msgstr "prc੨ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:159 -msgctxt "paper size" -msgid "prc3 Envelope" -msgstr "prc੩ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:160 -msgctxt "paper size" -msgid "prc 32k" -msgstr "prc ੩੨k" - -#: ../gtk/paper_names_offsets.c:161 -msgctxt "paper size" -msgid "prc4 Envelope" -msgstr "prc੪ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:162 -msgctxt "paper size" -msgid "prc5 Envelope" -msgstr "c੫ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:163 -msgctxt "paper size" -msgid "prc6 Envelope" -msgstr "prc੬ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:164 -msgctxt "paper size" -msgid "prc7 Envelope" -msgstr "prc੭ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:165 -msgctxt "paper size" -msgid "prc8 Envelope" -msgstr "prc੮ ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:166 -msgctxt "paper size" -msgid "prc9 Envelope" -msgstr "prc9 ਲਿਫ਼ਾਫਾ" - -#: ../gtk/paper_names_offsets.c:167 -msgctxt "paper size" -msgid "ROC 16k" -msgstr "ROC ੧੬k" - -#: ../gtk/paper_names_offsets.c:168 -msgctxt "paper size" -msgid "ROC 8k" -msgstr "ROC ੮k" - -#: ../gtk/updateiconcache.c:492 ../gtk/updateiconcache.c:552 -#, c-format -msgid "different idatas found for symlinked '%s' and '%s'\n" -msgstr "symlinked '%s' ਅਤੇ '%s' ਲਈ ਵੱਖਰੇ idatas ਮਿਲੇ\n" - -#: ../gtk/updateiconcache.c:1374 -#, c-format -msgid "Failed to write header\n" -msgstr "ਹੈਡਰ ਲਿਖਣ ਵਿੱਚ ਗਲਤੀ\n" - -#: ../gtk/updateiconcache.c:1380 -#, c-format -msgid "Failed to write hash table\n" -msgstr "ਹੈਂਸ਼ ਟੇਬਲ ਲਿਖਣ ਲਈ ਅਸਫ਼ਲ ਹੈ\n" - -#: ../gtk/updateiconcache.c:1386 -#, c-format -msgid "Failed to write folder index\n" -msgstr "ਫੋਲਡਰ ਇੰਡੈਕਸ ਲਿਖਣ ਦੌਰਾਨ ਫੇਲ੍ਹ\n" - -#: ../gtk/updateiconcache.c:1394 -#, c-format -msgid "Failed to rewrite header\n" -msgstr "ਹੈਂਡਰ ਮੁੜ-ਲਿਖਣ ਦੌਰਾਨ ਗਲਤੀ\n" - -#: ../gtk/updateiconcache.c:1488 -#, c-format -msgid "Failed to open file %s : %s\n" -msgstr "ਫਾਇਲ %s ਖੋਲ੍ਹਣ ਵਿੱਚ ਫੇਲ੍ਹ: %s\n" - -#: ../gtk/updateiconcache.c:1496 ../gtk/updateiconcache.c:1526 -#, c-format -msgid "Failed to write cache file: %s\n" -msgstr "ਫਾਇਲ ਕੈਸ਼ੇ ਲਿਖਣ ਦੌਰਾਨ ਅਸਫ਼ਲ: %s\n" - -#: ../gtk/updateiconcache.c:1537 -#, c-format -msgid "The generated cache was invalid.\n" -msgstr "ਤਿਆਰ ਕੀਤੀ ਕੈਸ਼ੇ ਗਲਤ ਹੈ।\n" - -#: ../gtk/updateiconcache.c:1551 -#, c-format -msgid "Could not rename %s to %s: %s, removing %s then.\n" -msgstr "%s ਦਾ ਨਾਂ %s ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ: %s, ਹੁਣ %s ਨੂੰ ਹਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ।\n" - -#: ../gtk/updateiconcache.c:1565 -#, c-format -msgid "Could not rename %s to %s: %s\n" -msgstr "%s ਦਾ ਨਾਂ %s ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s\n" - -#: ../gtk/updateiconcache.c:1575 -#, c-format -msgid "Could not rename %s back to %s: %s.\n" -msgstr "%s ਦਾ ਨਾਂ ਮੁੜ %s ਬਦਲਿਆ ਨਹੀਂ ਸਕਦਾ ਹੈ: %s\n" - -#: ../gtk/updateiconcache.c:1602 -#, c-format -msgid "Cache file created successfully.\n" -msgstr "ਕੈਸ਼ੇ ਫਾਇਲ ਸਫ਼ਲਤਾਪੂਰਕ ਬਣਾਈ ਗਈ ਹੈ।\n" - -#: ../gtk/updateiconcache.c:1641 -msgid "Overwrite an existing cache, even if up to date" -msgstr "ਇੱਕ ਮੌਜੂਦਾ ਕੈਸ਼ੇ ਉੱਤੇ ਲਿਖੋ, ਭਾਵੇਂ ਅੱਪ-ਟੂ-ਡੇਟ ਹੋਵੇ" - -#: ../gtk/updateiconcache.c:1642 -msgid "Don't check for the existence of index.theme" -msgstr "ਮੌਜੂਦਾ index.theme ਦੀ ਮੌਜੂਦਗੀ ਦੀ ਜਾਂਚ ਨਾ ਕਰੋ" - -#: ../gtk/updateiconcache.c:1643 -msgid "Don't include image data in the cache" -msgstr "ਕੈਸ਼ੇ ਵਿੱਚ ਚਿੱਤਰ ਡਾਟਾ ਸ਼ਾਮਿਲ ਨਾ ਕਰੋ" - -#: ../gtk/updateiconcache.c:1644 -msgid "Output a C header file" -msgstr "ਇੱਕ C header ਫਾਇਲ ਆਉਟਪੁੱਟ" - -#: ../gtk/updateiconcache.c:1645 -msgid "Turn off verbose output" -msgstr "ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਆਉਟਪੁੱਟ ਬੰਦ ਕਰੋ" - -#: ../gtk/updateiconcache.c:1646 -msgid "Validate existing icon cache" -msgstr "ਮੌਜੂਦਾ ਆਈਕਾਨ ਕੈਸ਼ੇ ਦੀ ਵੈਧਤਾ" - -#: ../gtk/updateiconcache.c:1713 -#, c-format -msgid "File not found: %s\n" -msgstr "ਫਾਇਲ ਨਹੀਂ ਲੱਭੀ: %s\n" - -#: ../gtk/updateiconcache.c:1719 -#, c-format -msgid "Not a valid icon cache: %s\n" -msgstr "ਇੱਕ ਠੀਕ ਆਈਕਾਨ ਕੈਸ਼ੇ ਨਹੀਂ ਹੈ: %s\n" - -#: ../gtk/updateiconcache.c:1732 -#, c-format -msgid "No theme index file.\n" -msgstr "ਕੋਈ ਥੀਮ ਇੰਡੈਕਸ ਫਾਇਲ ਨਹੀਂ।\n" - -#: ../gtk/updateiconcache.c:1736 -#, c-format +#: ../gtk/gtkradioaction.c:119 msgid "" -"No theme index file in '%s'.\n" -"If you really want to create an icon cache here, use --ignore-theme-index.\n" +"The value returned by gtk_radio_action_get_current_value() when this action " +"is the current action of its group." msgstr "" -"'%s' ਵਿੱਚ ਕੋਈ ਸਰੂਪ ਇੰਡੈਕਸ ਫਾਇਲ ਨਹੀਂ ਹੈ।\n" -"ਜੇਕਰ ਤੁਸੀਂ ਇੱਥੇ ਆਈਕਾਨ ਕੈਸ਼ੇ ਬਣਾਉਣੀ ਚਾਹੁੰਦੇ ਹੋ ਤਾਂ --ignore-theme-index ਵਰਤੋਂ\n" +"ਇਹ ਕਾਰਵਾਈ ਆਪਣੇ ਗਰੁੱਪ ਦੀ ਮੌਜੂਦਾ ਕਾਰਵਾਈ ਹੈ ਤਾਂ " +"gtk_radio_action_get_current_value() ਨੇ " +"ਵਾਪਿਸ ਕੀਤਾ ਮੁੱਲ" -#. ID -#: ../modules/input/imam-et.c:454 -msgid "Amharic (EZ+)" -msgstr "ਅੰਹਰਿਕ (EZ+)" +#: ../gtk/gtkradioaction.c:135 ../gtk/gtkradiobutton.c:163 +#: ../gtk/gtkradiomenuitem.c:373 ../gtk/gtkradiotoolbutton.c:65 +msgid "Group" +msgstr "ਗਰੁੱਪ" -#. ID -#: ../modules/input/imcedilla.c:92 -msgid "Cedilla" -msgstr "ਕਾਦੀਲਾ" +#: ../gtk/gtkradioaction.c:136 +msgid "The radio action whose group this action belongs to." +msgstr "ਰੇਡੀਓ ਕਾਰਵਾਈ, ਜਿਸ ਗਰੁੱਪ ਨਾਲ ਇਹ ਕਾਰਵਾਈ ਸਬੰਧਤ ਹੈ।" -#. ID -#: ../modules/input/imcyrillic-translit.c:217 -msgid "Cyrillic (Transliterated)" -msgstr "ਸਰਲਿਕ (ਲਿੱਪੀ ਤਬਦੀਲ)" +#: ../gtk/gtkradioaction.c:151 +msgid "The current value" +msgstr "ਮੌਜੂਦਾ ਮੁੱਲ" -#. ID -#: ../modules/input/iminuktitut.c:127 -msgid "Inuktitut (Transliterated)" -msgstr "ਇਨੂਕੀਟੂ (ਲਿੱਪੀ ਤਬਦੀਲ)" +#: ../gtk/gtkradioaction.c:152 +msgid "" +"The value property of the currently active member of the group to which this " +"action belongs." +msgstr "" +"ਗਰੁੱਪ ਦੇ ਮੌਜੂਦਾ ਐਕਟਿਵ ਮੈਂਬਰ ਦੀ ਮੁੱਲ ਵਿਸ਼ੇਸ਼ਤਾ, ਜਿਸ ਨਾਲ ਇਹ ਐਕਸ਼ਨ ਸਬੰਧਿਤ ਹੈ।" -#. ID -#: ../modules/input/imipa.c:145 -msgid "IPA" -msgstr "IPA" +#: ../gtk/gtkradiobutton.c:164 +msgid "The radio button whose group this widget belongs to." +msgstr "ਰੇਡੀਉ ਬਟਨ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ ਜਿਸ ਨਾਲ ਵਿਦਗਿਟ ਸਬੰਧਤ ਹੈ।" -#. ID -#: ../modules/input/immultipress.c:31 -msgid "Multipress" -msgstr "ਮਲਟੀਪਰੈੱਸ" +#: ../gtk/gtkradiomenuitem.c:374 +msgid "The radio menu item whose group this widget belongs to." +msgstr "ਰੇਡੀਉ ਮੇਨੂ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ ਜਿਸ ਨਾਲ ਵਿਦਗਿਟ ਸਬੰਧ ਹੈ।" -#. ID -#: ../modules/input/imthai.c:35 -msgid "Thai-Lao" -msgstr "ਥਾਈ-ਲਾਓ" +#: ../gtk/gtkradiotoolbutton.c:66 +msgid "The radio tool button whose group this button belongs to." +msgstr "ਰੇਡੀਉ ਟੂਲ ਬਟਨ, ਜਦੋਂ ਕਿ ਇਸ ਗਰੁੱਪ ਜਿਸ ਨਾਲ ਬਟਨ ਸਬੰਧਤ ਹੈ।" -#. ID -#: ../modules/input/imti-er.c:453 -msgid "Tigrigna-Eritrean (EZ+)" -msgstr "ਟੀਗਰੋਗਨਾ -ਈਰਟਰੀਨ (EZ+)" +#: ../gtk/gtkrange.c:417 +msgid "The GtkAdjustment that contains the current value of this range object" +msgstr "GtkAdjustment ਜੋ ਕਿ ਰੇਜ਼ ਆਬਜੈਕਟ ਦੀ ਮੌਜੂਦਾ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" -#. ID -#: ../modules/input/imti-et.c:453 -msgid "Tigrigna-Ethiopian (EZ+)" -msgstr "ਟੀਗਰੋਗਨਾ ਈਥੀਨੋਪਿਨ(EZ+)" +#: ../gtk/gtkrange.c:425 +msgid "Invert direction slider moves to increase range value" +msgstr "ਬਦਲਵੀ ਦਿਸ਼ਾ ਵਾਲਾ ਸਲਾਇਡਰ ਰੇਜ਼ ਦਾ ਮੁੱਲ ਵਧਾਉਣ ਲਈ ਹਿੱਲੇ" -#. ID -#: ../modules/input/imviqr.c:244 -msgid "Vietnamese (VIQR)" -msgstr "ਵੀਅਤਨਾਮੀ (VIQR)" +#: ../gtk/gtkrange.c:432 +msgid "Lower stepper sensitivity" +msgstr "ਹੇਠਲੀ ਸਟੈਪਰ ਸੰਵੇਦਨਸ਼ੀਲਤਾ" -#. ID -#: ../modules/input/imxim.c:28 -msgid "X Input Method" -msgstr "X ਇੰਪੁੱਟ ਢੰਗ" +#: ../gtk/gtkrange.c:433 +msgid "" +"The sensitivity policy for the stepper that points to the adjustment's lower " +"side" +msgstr "" +"ਸਟਿੱਪਰ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਪਾਲਸੀ, ਜੋ ਕਿ ਹੇਠਲੇ ਪਾਸੇ ਦੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਪੁਆਇੰਟ ਕਰੇ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:814 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1024 -msgid "Username:" -msgstr "ਯੂਜ਼ਰ ਨਾਂ:" +#: ../gtk/gtkrange.c:441 +msgid "Upper stepper sensitivity" +msgstr "ਉੱਪਰੀ ਸਟੈਪਰ ਸੰਵੇਦਨਸ਼ੀਲਤਾ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:815 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1033 -msgid "Password:" -msgstr "ਪਾਸਵਰਡ:" +#: ../gtk/gtkrange.c:442 +msgid "" +"The sensitivity policy for the stepper that points to the adjustment's upper " +"side" +msgstr "" +"ਸਟਿੱਪਰ ਲਈ ਸੰਵੇਦਨਸ਼ੀਲ ਪਾਲਸੀ, ਜੋ ਕਿ ਉਤਲੇ ਪਾਸੇ ਦੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਪੁਆਇੰਟ ਕਰੇ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:854 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1046 -#, c-format -msgid "Authentication is required to print document '%s' on printer %s" -msgstr "ਪਰਿੰਟਰ %2$s ਉੱਤੇ '%1$s' ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:459 +msgid "Show Fill Level" +msgstr "ਭਰਨ ਲੈਵਲ ਵੇਖਾਓ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:856 -#, c-format -msgid "Authentication is required to print a document on %s" -msgstr "%s ਉੱਤੇ ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:460 +msgid "Whether to display a fill level indicator graphics on trough." +msgstr "ਕੀ ਭਰਨ ਲੈਵਲ ਇੰਡੀਕੇਟਰ ਗਰਾਫਿਕਸ ਰਾਹੀਂ ਵੇਖਾਇਆ ਜਾਵੇ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:860 -#, c-format -msgid "Authentication is required to get attributes of job '%s'" -msgstr "ਜਾਬ '%s' ਦੇ ਗੁਣ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:476 +msgid "Restrict to Fill Level" +msgstr "ਭਰਨ ਲੈਵਲ ਲਈ ਪਾਬੰਦੀ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:862 -msgid "Authentication is required to get attributes of a job" -msgstr "ਜਾਬ ਦੇ ਗੁਣ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:477 +msgid "Whether to restrict the upper boundary to the fill level." +msgstr "ਕੀ ਭਰਨ ਲੈਵਲ ਲਈ ਉਤਲੀ ਸੀਮਾ ਦੀ ਪਾਬੰਦੀ ਹੋਵੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:866 -#, c-format -msgid "Authentication is required to get attributes of printer %s" -msgstr "ਪਰਿੰਟਰ %s ਦੇ ਗੁਣ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:492 +msgid "Fill Level" +msgstr "ਭਰਨ ਲੈਵਲ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:868 -msgid "Authentication is required to get attributes of a printer" -msgstr "ਪਰਿੰਟਦਰ ਦੇ ਗੁਣ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:493 +msgid "The fill level." +msgstr "ਭਰਨ ਲੈਵਲ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:871 -#, c-format -msgid "Authentication is required to get default printer of %s" -msgstr "%s ਲਈ ਡਿਫਾਲਟ ਪਰਿੰਟਰ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:510 +#| msgid "Digits" +msgid "Round Digits" +msgstr "ਪੂਰਨ ਅੰਕ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:874 -#, c-format -msgid "Authentication is required to get printers from %s" -msgstr "%s ਤੋਂ ਪਰਿੰਟਰ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:511 +#| msgid "The number of pages in the document." +msgid "The number of digits to round the value to." +msgstr "ਮੁੱਲ ਪੂਰਾ ਕਰਨ ਲਈ ਅੰਕਾਂ ਦੀ ਗਿਣਤੀ ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:879 -#, c-format -msgid "Authentication is required to get a file from %s" -msgstr "%s ਤੋਂ ਫਾਇਲ ਲੈਣ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:519 ../gtk/gtkswitch.c:786 +msgid "Slider Width" +msgstr "ਸਲਾਇਡਰ ਚੌੜਾਈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:881 -#, c-format -msgid "Authentication is required on %s" -msgstr "%s ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:520 +msgid "Width of scrollbar or scale thumb" +msgstr "ਸਕਰੋਲਬਾਰ ਜਾਂ ਪੈਮਾਨਾ ਥੰਮ ਦੀ ਚੌੜਾਈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1018 -msgid "Domain:" -msgstr "ਡੋਮੇਨ:" +#: ../gtk/gtkrange.c:527 +msgid "Trough Border" +msgstr "ਕੁੰਡ ਦਾ ਹਾਸ਼ੀਆ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1048 -#, c-format -msgid "Authentication is required to print document '%s'" -msgstr "'%s' ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:528 +msgid "Spacing between thumb/steppers and outer trough bevel" +msgstr "ਥੰਬ/ਪਗਕਾਰਾਂ ਅਤੇ trough bevel ਵਿਚ ਫਾਸਲਾ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1053 -#, c-format -msgid "Authentication is required to print this document on printer %s" -msgstr "ਪਰਿੰਟਰ %s ਉੱਤੇ ਇਹ ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:535 +msgid "Stepper Size" +msgstr "ਪਗਕਾਰ ਅਕਾਰ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1055 -msgid "Authentication is required to print this document" -msgstr "ਇਹ ਡੌਕੂਮੈਂਟ ਪਰਿੰਟ ਕਰਨ ਲਈ ਲਈ ਪਰਮਾਣਕਿਤਾ ਦੀ ਲੋੜ ਹੈ" +#: ../gtk/gtkrange.c:536 +msgid "Length of step buttons at ends" +msgstr "ਅਖੀਰ ਤੇ ਪਗ-ਬਟਨ ਦੀ ਲੰਬਾਈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1676 -#, c-format -msgid "Printer '%s' is low on toner." -msgstr "ਪਰਿੰਟਰ '%s' ਦਾ ਟੋਨਰ ਘੱਟ ਗਿਆ ਹੈ।" +#: ../gtk/gtkrange.c:551 +msgid "Stepper Spacing" +msgstr "ਪਗਕਾਰ ਦੀ ਥਾਂ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1677 -#, c-format -msgid "Printer '%s' has no toner left." -msgstr "ਪਰਿੰਟਰ '%s' ਲਈ ਟੋਨਰ ਨਹੀਂ ਬਚਿਆ ਹੈ।" +#: ../gtk/gtkrange.c:552 +msgid "Spacing between step buttons and thumb" +msgstr "ਪਗ-ਬਟਨ ਅਤੇ ਥੰਬ ਵਿੱਚਕਾਰ ਖਾਲੀ ਥਾਂ" -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1679 -#, c-format -msgid "Printer '%s' is low on developer." -msgstr "ਪਰਿੰਟਰ '%s' ਇੱਕ ਖੋਜੀ ਤੋਂ ਘੱਟ ਹੈ।" +#: ../gtk/gtkrange.c:559 +msgid "Arrow X Displacement" +msgstr "ਤੀਰ X ਵਿਸਥਾਪਨ" -#. Translators: "Developer" like on photo development context -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1681 -#, c-format -msgid "Printer '%s' is out of developer." -msgstr "ਪਰਿੰਟਰ '%s' ਇੱਕ ਖੋਜੀ ਤੋਂ ਬਾਹਰ ਹੈ।" +#: ../gtk/gtkrange.c:560 +msgid "" +"How far in the x direction to move the arrow when the button is depressed" +msgstr "ਜਦੋ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ x-ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿੱਲਾਉਣਾ ਹੈ" -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1683 -#, c-format -msgid "Printer '%s' is low on at least one marker supply." -msgstr "ਪਰਿੰਟਰ '%s' ਲਈ ਇੱਕ ਨਿਸ਼ਾਨਬੱਧਕ ਸਪਲਾਈ ਘੱਟ ਹੈ।" +#: ../gtk/gtkrange.c:567 +msgid "Arrow Y Displacement" +msgstr "ਤੀਟ Y ਵਿਸਥਾਪਨ" -#. Translators: "marker" is one color bin of the printer -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1685 -#, c-format -msgid "Printer '%s' is out of at least one marker supply." -msgstr "ਪਰਿੰਟਰ '%s' ਵਿੱਚੋਂ ਇੱਕ ਨਿਸ਼ਾਨਬੱਧਕ ਜਾਰੀ ਨਹੀਂ ਹੈ।" +#: ../gtk/gtkrange.c:568 +msgid "" +"How far in the y direction to move the arrow when the button is depressed" +msgstr "ਜਦੋ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ ਤਾਂ y-ਦਿਸ਼ਾ ਵਿੱਚ ਕਿੰਨਾ ਹਿੱਲਾਉਣਾ ਹੈ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1686 -#, c-format -msgid "The cover is open on printer '%s'." -msgstr "ਪਰਿੰਟਰ '%s' ਦਾ ਢੱਕਣ ਖੁੱਲ੍ਹਾ ਹੈ।" +#: ../gtk/gtkrange.c:586 +msgid "Trough Under Steppers" +msgstr "ਸਟਿੱਪਰ ਦੇ ਹੇਠ ਤੱਕ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1687 -#, c-format -msgid "The door is open on printer '%s'." -msgstr "ਪਰਿੰਟਰ '%s' ਦਾ ਦਰਵਾਜ਼ਾ (ਡੋਰ) ਖੁੱਲ੍ਹਾ ਹੈ।" +#: ../gtk/gtkrange.c:587 +msgid "" +"Whether to draw trough for full length of range or exclude the steppers and " +"spacing" +msgstr "" +"ਕੀ ਪੂਰੀ ਰੇਜ਼ ਦੀ ਲੰਬਾਈ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ ਜਾਂ ਸਟਿੱਪਰ ਅਤੇ ਖਾਲੀ ਥਾਂ ਨੂੰ ਅੱਡ ਰੱਖਣਾ " +"ਹੈ।" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1688 -#, c-format -msgid "Printer '%s' is low on paper." -msgstr "ਪਰਿੰਟਰ '%s' ਉੱਤੇ ਪੇਪਰ ਘੱਟ ਹਨ।" +#: ../gtk/gtkrange.c:600 +msgid "Arrow scaling" +msgstr "ਤੀਰ ਸਕੇਲਿੰਗ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1689 -#, c-format -msgid "Printer '%s' is out of paper." -msgstr "ਪਰਿੰਟਰ '%s' ਲਈ ਪੇਪਰ ਖਤਮ ਹੋ ਗਏ।" +#: ../gtk/gtkrange.c:601 +msgid "Arrow scaling with regard to scroll button size" +msgstr "ਸਕਰੋਲ ਬਟਨ ਸਾਈਜ਼ ਮੁਤਾਬਕ ਤੀਰ ਸਕੇਲ ਕਰੋ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1690 -#, c-format -msgid "Printer '%s' is currently offline." -msgstr "ਪਰਿੰਟਰ '%s' ਹੁਣ ਆਫਲਾਇਨ ਹੈ।" +#: ../gtk/gtkrecentaction.c:635 ../gtk/gtkrecentchoosermenu.c:246 +msgid "Show Numbers" +msgstr "ਗਿਣਤੀ ਵੇਖਾਓ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1691 -#, c-format -msgid "There is a problem on printer '%s'." -msgstr "ਪਰਿੰਟਰ '%s' ਉੱਤੇ ਸਮੱਸਿਆ ਹੈ।" +#: ../gtk/gtkrecentaction.c:636 ../gtk/gtkrecentchoosermenu.c:247 +msgid "Whether the items should be displayed with a number" +msgstr "ਕੀ ਆਈਟਮਾਂ ਨੂੰ ਇੱਕ ਨੰਬਰ ਵਾਂਗ ਵੇਖਾਇਆ ਜਾਵੇ" -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:1999 -msgid "Paused ; Rejecting Jobs" -msgstr "ਵਿਰਾਮ, ਜੌਬ ਰੱਦ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ।" +#: ../gtk/gtkrecentchooser.c:132 +msgid "Recent Manager" +msgstr "ਤਾਜ਼ਾ ਮੈਨੇਜਰ" -#. Translators: this is a printer status. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2005 -msgid "Rejecting Jobs" -msgstr "ਜੌਬ ਰੱਦ ਕੀਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹਨ" +#: ../gtk/gtkrecentchooser.c:133 +msgid "The RecentManager object to use" +msgstr "ਵਰਤਣ ਲਈ ਤਾਜ਼ਾ-ਮੈਨੇਜਰ ਆਬਜੈਕਟ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2781 -msgid "Two Sided" -msgstr "ਦੋ ਪਾਸੀਂ" +#: ../gtk/gtkrecentchooser.c:147 +msgid "Show Private" +msgstr "ਪ੍ਰਾਈਵੇਟ ਵੇਖਾਓ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2782 -msgid "Paper Type" -msgstr "ਪੇਪਰ ਕਿਸਮ" +#: ../gtk/gtkrecentchooser.c:148 +msgid "Whether the private items should be displayed" +msgstr "ਕੀ ਪ੍ਰਾਈਵੇਟ ਆਈਟਠਾਂ ਵੇਖਾਈਆਂ ਜਾਣ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2783 -msgid "Paper Source" -msgstr "ਪੇਪਰ ਸੋਰਸ" +#: ../gtk/gtkrecentchooser.c:161 +msgid "Show Tooltips" +msgstr "ਸੰਦ-ਸੰਕੇਤ ਵੇਖਾਓ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2784 -msgid "Output Tray" -msgstr "ਆਉਟਪੁੱਟ ਟਰੇ" +#: ../gtk/gtkrecentchooser.c:162 +msgid "Whether there should be a tooltip on the item" +msgstr "ਕੀ ਆਈਟਮ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਏ ਜਾਣ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2785 -msgid "Resolution" -msgstr "ਹੱਲ਼" +#: ../gtk/gtkrecentchooser.c:174 +msgid "Show Icons" +msgstr "ਆਈਕਾਨ ਵੇਖਾਓ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2786 -msgid "GhostScript pre-filtering" -msgstr "ਗੋਸਟ-ਸਕ੍ਰਿਪਟ ਪ੍ਰੀਫਿਲਟਰਿੰਗ" +#: ../gtk/gtkrecentchooser.c:175 +msgid "Whether there should be an icon near the item" +msgstr "ਕੀ ਆਈਟਮ ਦੇ ਨਾਲ ਆਈਕਾਨ ਵੇਖਾਇਆ ਜਾਵੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2795 -msgid "One Sided" -msgstr "ਇੱਕ ਪਾਸੇ" +#: ../gtk/gtkrecentchooser.c:190 +msgid "Show Not Found" +msgstr "ਨਹੀਂ ਲੱਭਿਆ ਵੇਖਾਓ" -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2797 -msgid "Long Edge (Standard)" -msgstr "ਲੰਮਾ ਕੋਨਾ (ਸਟੈਂਡਰਡ)" +#: ../gtk/gtkrecentchooser.c:191 +msgid "Whether the items pointing to unavailable resources should be displayed" +msgstr "ਕੀ ਨਾ-ਉਪਲੱਬਧ ਸਰੋਤਾਂ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀਆਂ ਆਈਟਮਾਂ ਵੇਖਾਈਆਂ ਜਾਣ" -#. Translators: this is an option of "Two Sided" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2799 -msgid "Short Edge (Flip)" -msgstr "ਛੋਟਾ ਕੋਨਾ (ਫਲਿੱਪ)" +#: ../gtk/gtkrecentchooser.c:204 +msgid "Whether to allow multiple items to be selected" +msgstr "ਕੀ ਕਈ ਆਈਟਮਾਂ ਦੀ ਚੋਣ ਕਰਨ ਦੀ ਮਨਜ਼ੂਰੀ ਹੈ" -#. Translators: this is an option of "Paper Source" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2801 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2803 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2811 -msgid "Auto Select" -msgstr "ਆਟੋ ਚੋਣ" +#: ../gtk/gtkrecentchooser.c:217 +msgid "Local only" +msgstr "ਸਿਰਫ਼ ਲੋਕਲ ਹੀ" -#. Translators: this is an option of "Paper Source" -#. Translators: this is an option of "Resolution" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2805 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2807 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2809 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2813 -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3309 -msgid "Printer Default" -msgstr "ਪਰਿੰਟਰ ਮੂਲ" +#: ../gtk/gtkrecentchooser.c:218 +msgid "Whether the selected resource(s) should be limited to local file: URIs" +msgstr "ਕੀ ਚੁਣੇ ਸਰੋਤ ਸਿਰਫ਼ ਲੋਕਲ ਫਾਇਲ ਲਈ ਹੀ ਸੀਮਿਤ ਹੋਣ: URI" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2815 -msgid "Embed GhostScript fonts only" -msgstr "ਇੰਬੈੱਡ ਕੀਤੇ ਗੋਸਟਸਕ੍ਰਿਪਟ ਫੋਂਟ ਹੀ" +#: ../gtk/gtkrecentchooser.c:234 +msgid "Limit" +msgstr "ਸੀਮਾ" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2817 -msgid "Convert to PS level 1" -msgstr "PS ਲੈਵਲ ੧ ਲਈ ਬਦਲੋ" +#: ../gtk/gtkrecentchooser.c:235 +msgid "The maximum number of items to be displayed" +msgstr "ਵੇਖਾਉਣ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਆਈਟਮਾਂ ਦੀ ਗਿਣਤੀ" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2819 -msgid "Convert to PS level 2" -msgstr "PS ਲੈਵਲ ੨ ਲਈ ਬਦਲੋ" +#: ../gtk/gtkrecentchooser.c:249 +msgid "Sort Type" +msgstr "ਕ੍ਰਮਬੱਧ ਕਿਸਮ" -#. Translators: this is an option of "GhostScript" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2821 -msgid "No pre-filtering" -msgstr "ਕੋਈ ਪ੍ਰੀ-ਫਿਲਟਰਿੰਗ ਨਹੀਂ" +#: ../gtk/gtkrecentchooser.c:250 +msgid "The sorting order of the items displayed" +msgstr "ਆਈਟਮਾਂ ਵੇਖਾਉਣ ਲਈ ਕ੍ਰਮਬੱਧ ਢੰਗ" -#. Translators: "Miscellaneous" is the label for a button, that opens -#. up an extra panel of settings in a print dialog. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:2830 -msgid "Miscellaneous" -msgstr "ਫੁਟਕਲ" +#: ../gtk/gtkrecentchooser.c:265 +msgid "The current filter for selecting which resources are displayed" +msgstr "ਚੋਣ ਲਈ ਮੌਜੂਦਾ ਫਿਲਟਰ, ਜਿਸ ਨਾਲ ਸਰੋਤ ਵੇਖਾਏ ਜਾਣ" -#. Translators: These strings name the possible values of the -#. * job priority option in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 +#: ../gtk/gtkrecentmanager.c:295 +msgid "The full path to the file to be used to store and read the list" +msgstr "ਸੂਚੀ ਸੰਭਾਲਣ ਅਤੇ ਪੜ੍ਹਨ ਲਈ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਫਾਇਲ ਲਈ ਪੂਰਾ ਮਾਰਗ" + +#: ../gtk/gtkrecentmanager.c:310 +msgid "The size of the recently used resources list" +msgstr "ਇਸ ਸਮੇਂ ਵਰਤੀ ਸਰੋਤ ਸੂਚੀ ਦਾ ਆਕਾਰ" + +#: ../gtk/gtkscalebutton.c:218 +msgid "The value of the scale" +msgstr "ਸਕੇਲ ਦਾ ਮੁੱਲ" + +#: ../gtk/gtkscalebutton.c:228 +msgid "The icon size" +msgstr "ਆਈਕਾਨ ਆਕਾਰ" + +#: ../gtk/gtkscalebutton.c:237 +msgid "" +"The GtkAdjustment that contains the current value of this scale button object" +msgstr "GtkAdjustment, ਜੋ ਕਿ ਇਹ ਸਕੇਲ ਬਟਨ ਆਬਜੈਕਟ ਦੀ ਮੌਜੂਦਾ ਮੁੱਲ ਰੱਖਦਾ ਹੈ" + +#: ../gtk/gtkscalebutton.c:265 +msgid "Icons" +msgstr "ਆਈਕਾਨ" + +#: ../gtk/gtkscalebutton.c:266 +msgid "List of icon names" +msgstr "ਆਈਕਾਨ ਨਾਂ ਦੀ ਲਿਸਟ" + +#: ../gtk/gtkscale.c:254 +msgid "The number of decimal places that are displayed in the value" +msgstr "ਦਸ਼ਮਲਵ ਦੀ ਗਿਣਤੀ ਜੋ ਕਿ ਮੁੱਲ ਵਿੱਚ ਦਿੱਸੇਗੀ" + +#: ../gtk/gtkscale.c:263 +msgid "Draw Value" +msgstr "ਮੁੱਲ ਕੱਢੋ" + +#: ../gtk/gtkscale.c:264 +msgid "Whether the current value is displayed as a string next to the slider" +msgstr "ਕੀ ਮੌਜੂਦਾ ਮੁੱਲ ਪਗਕਾਰ ਤੇ ਅਗਲ਼ੀ ਸਤਰ ਵੇਖਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkscale.c:271 +msgid "Value Position" +msgstr "ਟਿਕਾਣਾ ਮੁੱਲ" + +#: ../gtk/gtkscale.c:272 +msgid "The position in which the current value is displayed" +msgstr "ਟਿਕਾਣਾ ਜਿੱਥੇ ਮੌਜੂਦਾ ਮੁੱਲ ਵੇਖਾ ਰਿਹਾ ਹੈ" + +#: ../gtk/gtkscale.c:279 +msgid "Slider Length" +msgstr "ਪਗਕਾਰ ਲੰਬਾਈ" + +#: ../gtk/gtkscale.c:280 +msgid "Length of scale's slider" +msgstr "ਪੈਮਾਨੇ ਦੇ ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkscale.c:288 +msgid "Value spacing" +msgstr "ਮੁੱਲ ਦੀ ਥਾਂ" + +#: ../gtk/gtkscale.c:289 +msgid "Space between value text and the slider/trough area" +msgstr "ਖਾਲ਼ੀ ਥਾਂ, ਸ਼ਬਦ ਅਤੇ ਪਗਕਾਰ/ਕੁੰਡ ਖੇਤਰ ਵਿੱਚ" + +#: ../gtk/gtkscrollable.c:86 +msgid "Horizontal adjustment" +msgstr "ਲੇਟਵਾਂ ਅਡਜੱਸਟਮੈਂਟ" + +#: ../gtk/gtkscrollable.c:87 +msgid "" +"Horizontal adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"ਹਰੀਜੱਟਲ ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਕਿ ਸਕਰੋਲਯੋਗ ਵਿਦਜੈੱਟ ਤੇ ਇਸ ਦੇ ਕੰਟਰੋਲਰ ਵਿੱਚ ਸਾਂਝੀ ਕੀਤੀ " +"ਜਾਂਦੀ ਹੈ" + +#: ../gtk/gtkscrollable.c:103 +msgid "Vertical adjustment" +msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" + +#: ../gtk/gtkscrollable.c:104 +msgid "" +"Vertical adjustment that is shared between the scrollable widget and its " +"controller" +msgstr "" +"ਵਰਟੀਕਲ ਅਡਜੱਸਟਮੈਂਟ, ਜੋ ਕਿ ਸਕਰੋਲਯੋਗ ਵਿਦਜੈੱਟ ਤੇ ਇਸ ਦੇ ਕੰਟਰੋਲਰ ਵਿੱਚ ਸਾਂਝੀ ਕੀਤੀ " +"ਜਾਂਦੀ ਹੈ" + +#: ../gtk/gtkscrollable.c:120 +msgid "Horizontal Scrollable Policy" +msgstr "ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਪਾਲਸੀ" + +#: ../gtk/gtkscrollable.c:121 ../gtk/gtkscrollable.c:137 +msgid "How the size of the content should be determined" +msgstr "ਸਮੱਗਰੀ ਦਾ ਆਕਾਰ ਕਿਵੇਂ ਜਾਣਿਆ ਜਾਵੇ" + +#: ../gtk/gtkscrollable.c:136 +msgid "Vertical Scrollable Policy" +msgstr "ਵਰਟੀਕਲ ਸਕਰੋਲਯੋਗ ਪਾਲਸੀ" + +#: ../gtk/gtkscrollbar.c:72 +msgid "Minimum Slider Length" +msgstr "ਘੱਟੋ-ਘੱਟ ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkscrollbar.c:73 +msgid "Minimum length of scrollbar slider" +msgstr "ਘੱਟੋ-ਘੱਟ ਸਕਰੋਲਬਾਰ-ਪਗਕਾਰ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkscrollbar.c:81 +msgid "Fixed slider size" +msgstr "ਪਗਕਾਰ ਦਾ ਨਿਸ਼ਚਿਤ ਅਕਾਰ" + +#: ../gtk/gtkscrollbar.c:82 +msgid "Don't change slider size, just lock it to the minimum length" +msgstr "ਪਗਕਾਰ ਦਾ ਅਕਾਰ ਨਾ ਬਦਲੋ, ਸਿਰਫ ਘੱਟੋ-ਘੱਟ ਲੰਬਾਈ ਨਿਸ਼ਚਿਤ ਕਰ ਦਿਓ" + +#: ../gtk/gtkscrollbar.c:103 +msgid "" +"Display a second backward arrow button on the opposite end of the scrollbar" +msgstr "ਸਕਰੋਲਬਾਰ ਦੇ ਉਲਟ ਕਿਨਾਰੇ ਤੇ ਦੂਜਾ ਪਿੱਛੇ ਵਾਲਾ ਤੀਰ-ਬਟਨ ਵੇਖਾਓ" + +#: ../gtk/gtkscrollbar.c:110 +msgid "" +"Display a second forward arrow button on the opposite end of the scrollbar" +msgstr "ਸਕਰੋਲਬਾਰ ਦੇ ਉਲਟ ਕਿਨਾਰੇ ਉੱਤੇ ਦੂਜਾ ਅੱਗੇ ਵਾਲਾ ਤੀਰ-ਬਟਨ ਵੇਖਾਓ" + +#: ../gtk/gtkscrolledwindow.c:296 +msgid "Horizontal Adjustment" +msgstr "ਲੇਟਵੀ ਅਡਜੱਸਟਮੈਂਟ" + +#: ../gtk/gtkscrolledwindow.c:297 +msgid "The GtkAdjustment for the horizontal position" +msgstr "ਲੇਟਵੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:303 +msgid "Vertical Adjustment" +msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ" + +#: ../gtk/gtkscrolledwindow.c:304 +msgid "The GtkAdjustment for the vertical position" +msgstr "ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਲਈ GtkAdjustment" + +#: ../gtk/gtkscrolledwindow.c:310 +msgid "Horizontal Scrollbar Policy" +msgstr "ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਦਾ ਢੰਗ" + +#: ../gtk/gtkscrolledwindow.c:311 +msgid "When the horizontal scrollbar is displayed" +msgstr "ਜਦੋਂ ਲੇਟਵਾਂ ਸਕਰੌਲਬਾਰ ਵਿਖਾਇਆ ਗਿਆ" + +#: ../gtk/gtkscrolledwindow.c:318 +msgid "Vertical Scrollbar Policy" +msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ ਪਾਲਸੀ" + +#: ../gtk/gtkscrolledwindow.c:319 +msgid "When the vertical scrollbar is displayed" +msgstr "ਜਦੋਂ ਲੰਬਕਾਰੀ ਸਕਰੌਲਬਾਰ ਵਿਖਾਇਆ ਗਿਆ" + +#: ../gtk/gtkscrolledwindow.c:327 +msgid "Window Placement" +msgstr "ਵਿੰਡੋ ਟਿਕਾਣਾ" + +#: ../gtk/gtkscrolledwindow.c:328 +msgid "" +"Where the contents are located with respect to the scrollbars. This property " +"only takes effect if \"window-placement-set\" is TRUE." +msgstr "" +"ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਕਿੱਥੇ ਰੱਖਿਆ ਜਾਵੇ। ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ " +"\"window-placement-set\" ਦੇ " +"ਸਹੀਂ ਹੋਣ ਦੀ ਸੂਰਤ ਵਿੱਚ ਹੀ ਪਰਭਾਵੀ ਹੁੰਦੀ ਹੈ।" + +#: ../gtk/gtkscrolledwindow.c:345 +msgid "Window Placement Set" +msgstr "ਵਿੰਡੋ ਟਿਕਾਣਾ ਦਿਓ" + +#: ../gtk/gtkscrolledwindow.c:346 +msgid "" +"Whether \"window-placement\" should be used to determine the location of the " +"contents with respect to the scrollbars." +msgstr "" +"ਕੀ \"window-placement\" ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਸਮੱਗਰੀ ਨੂੰ ਰੱਖਣ ਲਈ ਪਤਾ ਕਰਨ " +"ਵਾਸਤੇ ਵਰਤਿਆ " +"ਜਾਵੇ।" + +#: ../gtk/gtkscrolledwindow.c:352 +msgid "Shadow Type" +msgstr "ਛਾਂ ਕਿਸਮ" + +#: ../gtk/gtkscrolledwindow.c:353 +msgid "Style of bevel around the contents" +msgstr "ਹਿੱਸੇ ਦੁਆਲੇ bevel ਦੀ ਕਿਸਮ" + +#: ../gtk/gtkscrolledwindow.c:367 +msgid "Scrollbars within bevel" +msgstr "ਬੀਵਲ ਨਾਲ ਸਕਰੋਲਬਾਰ" + +#: ../gtk/gtkscrolledwindow.c:368 +msgid "Place scrollbars within the scrolled window's bevel" +msgstr "ਸਕਰੋਲ ਕੀਤੇ ਵਿੰਡੋ ਦੇ ਬੀਵਲ ਵਿੱਚ ਸਕਰੋਲਬਾਰ ਰੱਖੋ" + +#: ../gtk/gtkscrolledwindow.c:374 +msgid "Scrollbar spacing" +msgstr "ਸਕਰੌਲਬਾਰ ਵਿੱਥ" + +#: ../gtk/gtkscrolledwindow.c:375 +msgid "Number of pixels between the scrollbars and the scrolled window" +msgstr "ਸਕਰੌਲਬਾਰ ਅਤੇ ਸਕਰੌਲ ਕੀਤੇ ਵਿੰਡੋ ਵਿਚਕਾਰ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtkscrolledwindow.c:391 +msgid "Minimum Content Width" +msgstr "ਘੱਟੋ-ਘੱਟ ਸਮੱਗਰੀ ਚੌੜਾਈ" + +#: ../gtk/gtkscrolledwindow.c:392 +msgid "The minimum width that the scrolled window will allocate to its content" +msgstr "ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ, ਜੋ ਕਿ ਸਕਰੋਲ ਵਿੰਡੋ ਆਪਣੀ ਸਮੱਗਰੀ ਨੂੰ ਦੇਵੇਗੀ" + +#: ../gtk/gtkscrolledwindow.c:406 +msgid "Minimum Content Height" +msgstr "ਘੱਟੋ-ਘੱਟ ਸਮੱਗਰੀ ਉਚਾਈ" + +#: ../gtk/gtkscrolledwindow.c:407 +msgid "" +"The minimum height that the scrolled window will allocate to its content" +msgstr "ਘੱਟੋ-ਘੱਟ ਉਚਾਈ, ਜੋ ਕਿ ਸਕਰੋਲ ਵਿੰਡੋ ਆਪਣੀ ਸਮੱਗਰੀ ਨੂੰ ਦੇਵੇਗੀ" + +#: ../gtk/gtkseparatortoolitem.c:143 +msgid "Draw" +msgstr "ਉਲੀਕੋ" + +#: ../gtk/gtkseparatortoolitem.c:144 +msgid "Whether the separator is drawn, or just blank" +msgstr "ਵਖਰੇਵਾਂ ਉਲੀਕਿਆ ਜਾਵੇ ਜਾਂ ਸਿਰਫ ਖਾਲੀ ਛੱਡਿਆ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:299 +msgid "Double Click Time" +msgstr "ਦੋ-ਵਾਰ ਦਬਾਉਣ ਦਾ ਸਮਾਂ" + +#: ../gtk/gtksettings.c:300 +msgid "" +"Maximum time allowed between two clicks for them to be considered a double " +"click (in milliseconds)" +msgstr "" +"ਵੱਧ ਤੋਂ ਵੱਧ ਸਮਾਂ, ਪਹਿਲੀ ਤੇ ਦੂਜੀ ਵਾਰ ਦਬਾਉਣ ਵਿਚਕਾਰ ਜੋ ਕਿ ਇਹ ਸਮਝਿਆ ਜਾਵੇ ਕਿ ਇਹ " +"ਦੋ-ਵਾਰ-" +"ਦਬਾਇਆ ਗਿਆ ਹੈ (ਮਿਲੀ-ਸਕਿੰਟਾਂ ਵਿੱਚ)" + +#: ../gtk/gtksettings.c:307 +msgid "Double Click Distance" +msgstr "ਦੋ-ਵਾਰ ਦਬਾਉਣ ਦਾ ਫਾਸਲਾ" + +#: ../gtk/gtksettings.c:308 +msgid "" +"Maximum distance allowed between two clicks for them to be considered a " +"double click (in pixels)" +msgstr "" +"ਦੋ ਦਬਾਉਣ ਵਿਚਕਾਰ ਵੱਧ ਤੋਂ ਵੱਧ ਮੰਨਣਯੋਗ ਦੂਰੀ ਜਿਸ ਨੂੰ ਦੋ-ਵਾਰ-ਦਬਾਇਆ ਜਾਵੇ (ਪਿਕਸਲਾਂ " +"ਵਿੱਚ)" + +#: ../gtk/gtksettings.c:324 +msgid "Cursor Blink" +msgstr "ਕਰਸਰ ਝਪਕਣਾ" + +#: ../gtk/gtksettings.c:325 +msgid "Whether the cursor should blink" +msgstr "ਕੀ ਕਰਸਰ ਝਪਕੇ" + +#: ../gtk/gtksettings.c:332 +msgid "Cursor Blink Time" +msgstr "ਕਰਸਰ ਝਪਕਣ ਦਾ ਸਮਾਂ" + +#: ../gtk/gtksettings.c:333 +msgid "Length of the cursor blink cycle, in milliseconds" +msgstr "ਕਰਸਰ ਝਪਕਣ ਦੇ ਸਮਾਂ ਚੱਕਰ ਦੀ ਲੰਬਾਈ, ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ" + +#: ../gtk/gtksettings.c:352 +msgid "Cursor Blink Timeout" +msgstr "ਕਰਸਰ ਝਪਕਣ ਦਾ ਸਮਾਂ" + +#: ../gtk/gtksettings.c:353 +msgid "Time after which the cursor stops blinking, in seconds" +msgstr "ਸਮਾਂ, ਜਿਸ ਉਪਰੰਤ ਕਰਸਰ ਝਪਕਣਾ ਬੰਦ ਹੋਵੇ, ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ" + +#: ../gtk/gtksettings.c:360 +msgid "Split Cursor" +msgstr "ਕਰਸਰ ਖਿੰਡਾਓ" + +#: ../gtk/gtksettings.c:361 +msgid "" +"Whether two cursors should be displayed for mixed left-to-right and right-to-" +"left text" +msgstr "" +"ਕੀ ਦੋ ਕਰਸਰਾਂ ਵੇਖਾਈਆ ਜਾਣ ਜੋ ਕਿ ਖੱਬੇ ਤੋਂ ਸੱਜੇ ਤੇ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਟੈਕਸਟ ਰੱਲਵੇ ਨੂੰ " +"ਵੇਖਾਉਣ" + +#: ../gtk/gtksettings.c:368 +msgid "Theme Name" +msgstr "ਸਰੂਪ ਨਾਂ" + +#: ../gtk/gtksettings.c:369 +msgid "Name of theme RC file to load" +msgstr "ਲੋਡ ਕਰਨ ਲਈ ਸਰੂਪ RC ਫਾਇਲ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:377 +msgid "Icon Theme Name" +msgstr "ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:378 +msgid "Name of icon theme to use" +msgstr "ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:386 +msgid "Fallback Icon Theme Name" +msgstr "ਵਾਪਸੀ ਆਈਕਾਨ ਸਰੂਪ ਨਾਂ" + +#: ../gtk/gtksettings.c:387 +msgid "Name of a icon theme to fall back to" +msgstr "ਵਾਪਸ ਪਰਤਣ ਲਈ ਇੱਕ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:395 +msgid "Key Theme Name" +msgstr "ਕੀ-ਸਰੂਪ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:396 +msgid "Name of key theme RC file to load" +msgstr "ਲੋਡ ਕਰਨ ਲਈ ਕੀ-ਸਰੂਪ RC ਫਾਇਲ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:404 +msgid "Menu bar accelerator" +msgstr "ਮੇਨੂ-ਪੱਟੀ ਤੇਜ਼" + +#: ../gtk/gtksettings.c:405 +msgid "Keybinding to activate the menu bar" +msgstr "ਮੇਨੂ ਨੂੰ ਸਰਗਰਮ ਕਰਨ ਲਈ ਕੀ-ਬਾਈਡਿੰਗ" + +#: ../gtk/gtksettings.c:413 +msgid "Drag threshold" +msgstr "ਚੁੱਕਣ ਸਮੱਰਥਾ" + +#: ../gtk/gtksettings.c:414 +msgid "Number of pixels the cursor can move before dragging" +msgstr "ਖਿੱਚਣ ਤੋਂ ਪਹਿਲਾਂ ਕਰਸਰ ਕਿੰਨੇ ਪਿਕਸਲ ਹਿੱਲੇ" + +#: ../gtk/gtksettings.c:422 +msgid "Font Name" +msgstr "ਫੋਂਟ-ਨਾਂ" + +#: ../gtk/gtksettings.c:423 +msgid "Name of default font to use" +msgstr "ਵਰਤਣ ਲਈ ਮੂਲ-ਫੋਂਟ ਦਾ ਨਾਂ" + +#: ../gtk/gtksettings.c:445 +msgid "Icon Sizes" +msgstr "ਆਈਕਾਨ ਅਕਾਰ" + +#: ../gtk/gtksettings.c:446 +msgid "List of icon sizes (gtk-menu=16,16:gtk-button=20,20..." +msgstr "ਆਈਕਾਨ ਅਕਾਰ ਦੀ ਸੂਚੀ (gtk-ਸੂਚੀ=16,16;gtk-ਬਟਨ=20,20..." + +#: ../gtk/gtksettings.c:454 +msgid "GTK Modules" +msgstr "GTK ਮੈਡੀਊਲ" + +#: ../gtk/gtksettings.c:455 +msgid "List of currently active GTK modules" +msgstr "ਇਸ ਸਮੇਂ ਸਰਗਰਮ GTK ਮੈਡੀਊਲਾਂ ਦੀ ਸੂਚੀ" + +#: ../gtk/gtksettings.c:464 +msgid "Xft Antialias" +msgstr "Xft ਐਟੀਲਾਈਸਿਕ" + +#: ../gtk/gtksettings.c:465 +msgid "Whether to antialias Xft fonts; 0=no, 1=yes, -1=default" +msgstr "ਕੀ Xft ਫੋਂਟ ਨੂੰ ਐਟੀਲਾਈਸਿਕ ਕਰਨਾ ਹੈ; 0= ਨਹੀ, 1=ਹਾਂ, -1=ਮੂਲ" + +#: ../gtk/gtksettings.c:474 +msgid "Xft Hinting" +msgstr "Xft ਸੰਕੇਤ" + +#: ../gtk/gtksettings.c:475 +msgid "Whether to hint Xft fonts; 0=no, 1=yes, -1=default" +msgstr "ਕੀ ਸੰਕੇਤ ਦੇਣੇ ਹਨ Xft ਫੋਟ; 0=ਨਹੀ, 1=ਹਾਂ, -1=ਮੂਲ" + +#: ../gtk/gtksettings.c:484 +msgid "Xft Hint Style" +msgstr "Xft ਸੰਕੇਤ ਸਟਾਇਲ" + +#: ../gtk/gtksettings.c:485 +msgid "" +"What degree of hinting to use; hintnone, hintslight, hintmedium, or hintfull" +msgstr "ਕਿਸ ਤਰ੍ਹਾਂ ਦੇ ਸੰਕੇਤ ਵਰਤਣੇ ਹਨ ; ਕੋਈ ਨਹੀ, ਥੋੜੇ, ਮੱਧਮ, ਜਾਂ ਲੋੜ ਮੁਤਾਬਕ" + +#: ../gtk/gtksettings.c:494 +msgid "Xft RGBA" +msgstr "Xft RGBA" + +#: ../gtk/gtksettings.c:495 +msgid "Type of subpixel antialiasing; none, rgb, bgr, vrgb, vbgr" +msgstr "ਸਬ-ਪਿਕਸਲ ਐਟੀਲਾਈਸਇੰਗ ਦੀ ਕਿਸਮ; ਕੋਈ ਨਹੀ, rgb, bgr, vrgb, vbgr" + +#: ../gtk/gtksettings.c:504 +msgid "Xft DPI" +msgstr "Xft DPI" + +#: ../gtk/gtksettings.c:505 +msgid "Resolution for Xft, in 1024 * dots/inch. -1 to use default value" +msgstr "Xft ਲਈ ਰੈਜ਼ੋਲੂਸ਼ਨ, 1024 * ਬਿੰਦੂ/ਇੰਚ -1 ਮੂਲ ਮੁੱਲ ਦੇ ਰੂਪ ਵਿੱਚ ਵਰਤੋਂ" + +#: ../gtk/gtksettings.c:514 +msgid "Cursor theme name" +msgstr "ਕਰਸਰ ਸਰੂਪ ਨਾਂ" + +#: ../gtk/gtksettings.c:515 +msgid "Name of the cursor theme to use, or NULL to use the default theme" +msgstr "ਵਰਤਣ ਲਈ ਆਈਕਾਨ ਸਰੂਪ ਦਾ ਨਾਂ, ਜਾਂ ਮੂਲ ਸਰੂਪ ਲਈ NULL" + +#: ../gtk/gtksettings.c:523 +msgid "Cursor theme size" +msgstr "ਕਰਸਰ ਸਰੂਪ ਅਕਾਰ" + +#: ../gtk/gtksettings.c:524 +msgid "Size to use for cursors, or 0 to use the default size" +msgstr "ਵਰਤਣ ਲਈ ਕਰਸਰ ਅਕਾਰ, ਜਾਂ ਮੂਲ ਅਕਾਰ ਲਈ 0 ਦਿਓ" + +#: ../gtk/gtksettings.c:534 +msgid "Alternative button order" +msgstr "ਬਦਲਵਾਂ ਬਟਨ ਕਰਮ" + +#: ../gtk/gtksettings.c:535 +msgid "Whether buttons in dialogs should use the alternative button order" +msgstr "ਕੀ ਡਾਈਲਾਗ ਦੇ ਬਟਨ ਲਈ ਬਦਲਵਾਂ ਬਟਨ ਕਰਮ ਵਰਤਣਾ ਚਾਹੀਦਾ ਹੈ" + +#: ../gtk/gtksettings.c:552 +msgid "Alternative sort indicator direction" +msgstr "ਬਦਲਵੀਂ ਲੜੀਬੱਧ ਸੂਚਕ ਦਿਸ਼ਾ" + +#: ../gtk/gtksettings.c:553 +msgid "" +"Whether the direction of the sort indicators in list and tree views is " +"inverted compared to the default (where down means ascending)" +msgstr "" +"ਕੀ ਲਿਸਟ ਅਤੇ ਟਰੀ ਝਲਕ ਵਿੱਚ ਲੜੀਬੱਧ ਇੰਡੀਕੇਟਰ ਦੀ ਦਿਸ਼ਾ ਡਿਫਾਲਟ ਦੀ ਬਜਾਏ ਉਲਟ ਹੋਵੇ " +"(ਜਿੱਥੇ ਕਿ " +"ਹੇਠਾਂ ਦਾ ਮਤਲਬ ਵੱਧਦਾ ਹੈ)" + +#: ../gtk/gtksettings.c:561 +msgid "Show the 'Input Methods' menu" +msgstr "'ਇੰਪੁੱਟ ਢੰਗ' ਮੇਨੂ ਵੇਖਾਓ" + +#: ../gtk/gtksettings.c:562 +msgid "" +"Whether the context menus of entries and text views should offer to change " +"the input method" +msgstr "ਕੀ ਐਂਟਰੀਆਂ ਦੇ ਸਬੰਧਿਤ ਮੇਨੂ ਅਤੇ ਟੈਕਸਟ ਝਲਕ ਇੰਪੁੱਟ ਢੰਗ ਬਦਲਣ ਨੂੰ ਦਰਸਾਉਣ" + +#: ../gtk/gtksettings.c:570 +msgid "Show the 'Insert Unicode Control Character' menu" +msgstr "'ਯੂਨੀਕੋਡ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰੋ' ਮੇਨੂ ਵੇਖਾਓ" + +#: ../gtk/gtksettings.c:571 +msgid "" +"Whether the context menus of entries and text views should offer to insert " +"control characters" +msgstr "" +"ਕੀ ਐਂਟਰੀਆਂ ਦੇ ਸਬੰਧਿਤ ਮੇਨੂ ਅਤੇ ਟੈਕਸਟ ਝਲਕ ਕੰਟਰੋਲ ਅੱਖਰ ਸ਼ਾਮਲ ਕਰਨ ਨੂੰ ਦਰਸਾਉਣ" + +#: ../gtk/gtksettings.c:579 +msgid "Start timeout" +msgstr "ਸ਼ੁਰੂਆਤੀ ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:580 +msgid "Starting value for timeouts, when button is pressed" +msgstr "ਅੰਤਰਾਲ ਲਈ ਸ਼ੁਰੂਆਤੀ ਮੁੱਲ, ਜਦੋਂ ਕਿ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:589 +msgid "Repeat timeout" +msgstr "ਦੁਹਰਾਉ ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:590 +msgid "Repeat value for timeouts, when button is pressed" +msgstr "ਅੰਤਰਾਲ ਦੁਹਰਾਉਣ ਮੁੱਲ, ਜਦੋਂ ਇੱਕ ਬਟਨ ਨੂੰ ਦਬਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:599 +msgid "Expand timeout" +msgstr "ਫੈਲਾ ਸਮਾਂ-ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:600 +msgid "Expand value for timeouts, when a widget is expanding a new region" +msgstr "" +"ਫੈਲਾਉਣ ਲਈ ਅੰਤਰਾਲ ਦਾ ਮੁੱਲ, ਜਦੋਂ ਕਿ ਇੱਕ ਵਿਦਗਿਟ ਇੱਕ ਨਵੇਂ ਖੇਤਰ ਨੂੰ ਫੈਲਾਉਦਾ ਹੋਵੇ" + +#: ../gtk/gtksettings.c:635 +msgid "Color scheme" +msgstr "ਰੰਗ ਸਕੀਮ" + +#: ../gtk/gtksettings.c:636 +msgid "A palette of named colors for use in themes" +msgstr "ਸਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ ਨਾਮੀ ਰੰਗ ਦੀ ਇੱਕ ਰੰਗ-ਪੱਟੀ" + +#: ../gtk/gtksettings.c:645 +msgid "Enable Animations" +msgstr "ਸਜੀਵਤਾ ਯੋਗ" + +#: ../gtk/gtksettings.c:646 +msgid "Whether to enable toolkit-wide animations." +msgstr "ਕੀ ਟੂਲ-ਕਿੱਟ ਸਜੀਵਤਾ ਯੋਗ" + +#: ../gtk/gtksettings.c:664 +msgid "Enable Touchscreen Mode" +msgstr "ਟੱਚ-ਸਕਰੀਨ ਢੰਗ ਯੋਗ" + +#: ../gtk/gtksettings.c:665 +msgid "When TRUE, there are no motion notify events delivered on this screen" +msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਇਸ ਸਕਰੀਨ ਉੱਤੇ ਕੋਈ ਚੱਲਦੇ ਸੂਚਨਾ ਈਵੈਂਟ ਨਹੀਂ ਦਿੱਤੇ ਜਾਣਗੇ।" + +#: ../gtk/gtksettings.c:682 +msgid "Tooltip timeout" +msgstr "ਟੂਲ-ਟਿੱਪ ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:683 +msgid "Timeout before tooltip is shown" +msgstr "ਟੂਲ-ਟਿੱਪ ਵੇਖਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਮਾਂ" + +#: ../gtk/gtksettings.c:708 +msgid "Tooltip browse timeout" +msgstr "ਟੂਲ-ਟਿੱਪ ਝਲਕ ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:709 +msgid "Timeout before tooltip is shown when browse mode is enabled" +msgstr "ਝਲਕ ਮੋਡ ਯੋਗ ਕਰਨ ਦੌਰਾਨ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਟਾਈਮ-ਆਉਟ" + +#: ../gtk/gtksettings.c:730 +msgid "Tooltip browse mode timeout" +msgstr "ਟੂਲ-ਟਿੱਪ ਝਲਕ ਢੰਗ ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:731 +msgid "Timeout after which browse mode is disabled" +msgstr "ਅੰਤਰਾਲ, ਜਿਸ ਉਪਰੰਤ ਝਲਕ ਢੰਗ ਨੂੰ ਆਯੋਗ ਕਰ ਦਿੱਤਾ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:750 +msgid "Keynav Cursor Only" +msgstr "ਕੀ-ਨੇਵੀ ਕਰਸਰ ਹੀ" + +#: ../gtk/gtksettings.c:751 +msgid "When TRUE, there are only cursor keys available to navigate widgets" +msgstr "" +"ਜਦੋਂ ਸਹੀਂ ਹੋਵੇ ਤਾਂ ਕੇਵਲ ਇਹੀ ਕਰਸਰ ਸਵਿੱਚਾਂ ਹੋਣਗੀਆਂ, ਜੋ ਕਿ ਵਿਦਜੈੱਟ ਨੇਵੀਗੇਟ ਲਈ " +"ਹੋਣਗੀਆਂ" + +#: ../gtk/gtksettings.c:768 +msgid "Keynav Wrap Around" +msgstr "ਕੀ-ਨੇਵੀ ਦੁਆਥੇ ਸਮੇਟਣਾ" + +#: ../gtk/gtksettings.c:769 +msgid "Whether to wrap around when keyboard-navigating widgets" +msgstr "ਕੀ ਪਾਸੇ ਸਮੇਟਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਕੀ-ਬੋਰਡ-ਨੇਵੀਗੇਸ਼ਨ ਵਿਦਗਿਟ ਹੋਵੇ" + +#: ../gtk/gtksettings.c:789 +msgid "Error Bell" +msgstr "ਗਲਤੀ ਘੰਟੀ" + +#: ../gtk/gtksettings.c:790 +msgid "When TRUE, keyboard navigation and other errors will cause a beep" +msgstr "ਜਦੋਂ ਸਹੀਂ ਤਾਂ ਕੀਬੋਰਡ ਨੇਵੀਗੇਸ਼ਨ ਅਤੇ ਹੋਰ ਗਲਤੀਆਂ ਲਈ ਬੀਪ ਹੋਵੇਗੀ" + +#: ../gtk/gtksettings.c:807 +msgid "Color Hash" +msgstr "ਰੰਗ ਹੈਸ਼" + +#: ../gtk/gtksettings.c:808 +msgid "A hash table representation of the color scheme." +msgstr "ਰੰਗ ਸਕੀਮ ਨੂੰ ਇੱਕ ਹੈਸ਼ ਸਾਰਣੀ ਵਿੱਚ ਵੇਖਾਓ।" + +#: ../gtk/gtksettings.c:816 +msgid "Default file chooser backend" +msgstr "ਮੂਲ ਫਾਇਲ ਚੋਣ ਬੈਕਐਂਡ" + +#: ../gtk/gtksettings.c:817 +msgid "Name of the GtkFileChooser backend to use by default" +msgstr "GtkFileChooser ਬੈਕਐਂਡ ਦਾ ਨਾਂ, ਜੋ ਕਿ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਣਾ ਹੈ" + +#: ../gtk/gtksettings.c:834 +msgid "Default print backend" +msgstr "ਮੂਲ ਪਰਿੰਟ ਬੈਕਐਂਡ" + +#: ../gtk/gtksettings.c:835 +msgid "List of the GtkPrintBackend backends to use by default" +msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਰਤਣ ਲਈ GtkPrintBackend ਬੈਕਐਂਡ ਦੀ ਸੂਚੀ" + +#: ../gtk/gtksettings.c:858 +msgid "Default command to run when displaying a print preview" +msgstr "ਇੱਕ ਪਰਿੰਟ ਝਲਕ ਵੇਖਾਉਣ ਸਮੇਂ ਚਲਾਉਣ ਲਈ ਮੂਲ ਕਮਾਂਡ" + +#: ../gtk/gtksettings.c:859 +msgid "Command to run when displaying a print preview" +msgstr "ਇੱਕ ਪਰਿੰਟ ਝਲਕ ਵੇਖਾਉਣ ਦੌਰਾਨ ਚਲਾਉਣ ਲਈ ਕਮਾਂਡ" + +#: ../gtk/gtksettings.c:875 +msgid "Enable Mnemonics" +msgstr "ਨੀਮੋਨੀਸ ਯੋਗ" + +#: ../gtk/gtksettings.c:876 +msgid "Whether labels should have mnemonics" +msgstr "ਕੀ ਲੇਬਲਾਂ ਨਾਲ ਨੀਮੋਨੀਸ ਹੋਣ" + +#: ../gtk/gtksettings.c:892 +msgid "Enable Accelerators" +msgstr "ਐਕਸਰਲੇਟਰ ਯੋਗ" + +#: ../gtk/gtksettings.c:893 +msgid "Whether menu items should have accelerators" +msgstr "ਕੀ ਮੇਨ ਆਈਟਮਾਂ ਵਿੱਚ ਐਕਸਲੇਟਰ ਹੋਣ" + +#: ../gtk/gtksettings.c:910 +msgid "Recent Files Limit" +msgstr "ਤਾਜ਼ਾ ਫਾਇਲ ਲਿਮਟ" + +#: ../gtk/gtksettings.c:911 +msgid "Number of recently used files" +msgstr "ਤਾਜ਼ਾ ਵਰਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtksettings.c:929 +msgid "Default IM module" +msgstr "ਮੂਲ IM ਮੋਡੀਊਲ" + +#: ../gtk/gtksettings.c:930 +msgid "Which IM module should be used by default" +msgstr "ਮੂਲ ਰੂਪ ਵਿੱਚ ਕਿਹੜਾ IM ਮੋਡੀਊਲ ਵਰਤਿਆ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:948 +msgid "Recent Files Max Age" +msgstr "ਤਾਜ਼ਾ ਫਾਇਲਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਉਮਰ" + +#: ../gtk/gtksettings.c:949 +msgid "Maximum age of recently used files, in days" +msgstr "ਦਿਨਾਂ ਵਿੱਚ ਤਾਜ਼ਾ ਵਰਤੀਆਂ ਫਾਇਲਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਉਮਰ" + +#: ../gtk/gtksettings.c:958 +msgid "Fontconfig configuration timestamp" +msgstr "ਫੋਂਟ-ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਟਾਈਮ-ਸਟੈਂਪ" + +#: ../gtk/gtksettings.c:959 +msgid "Timestamp of current fontconfig configuration" +msgstr "ਮੌਜੂਦਾ ਫੋਂਟ-ਸੰਰਚਨਾ ਸੰਰਚਨਾ ਲਈ ਟਾਈਮ-ਸਟੈਂਪ" + +#: ../gtk/gtksettings.c:981 +msgid "Sound Theme Name" +msgstr "ਸਾਊਂਡ ਥੀਮ ਨਾਂ" + +#: ../gtk/gtksettings.c:982 +msgid "XDG sound theme name" +msgstr "XDG ਸਾਊਂਡ ਥੀਮ ਨਾਂ" + +#. Translators: this means sounds that are played as feedback to user input +#: ../gtk/gtksettings.c:1004 +msgid "Audible Input Feedback" +msgstr "ਸੁਣਨਯੋਗ ਇੰਪੁੱਟ ਫੀਡਬੈਕ" + +#: ../gtk/gtksettings.c:1005 +msgid "Whether to play event sounds as feedback to user input" +msgstr "ਕੀ ਯੂਜ਼ਰ ਇੰਪੁੱਟ ਲਈ ਫੀਬੈੱਕ ਵਜੋਂ ਈਵੈਂਟ ਸਾਊਂਡ ਦਿੱਤੀ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:1026 +msgid "Enable Event Sounds" +msgstr "ਈਵੈਂਟ ਸਾਊਂਡ ਯੋਗ" + +#: ../gtk/gtksettings.c:1027 +msgid "Whether to play any event sounds at all" +msgstr "ਕੀ ਸਭ ਲਈ ਕਿਸੇ ਵੀ ਈਵੈਂਟ ਲਈ ਸਾਊਂਡ ਚਲਾਈ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:1042 +msgid "Enable Tooltips" +msgstr "ਟੂਲ-ਟਿੱਪ ਯੋਗ" + +#: ../gtk/gtksettings.c:1043 +msgid "Whether tooltips should be shown on widgets" +msgstr "ਕੀ ਵਿਡਜੈੱਟਾਂ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਵੇਖਾਏ ਜਾਣ" + +#: ../gtk/gtksettings.c:1056 +msgid "Toolbar style" +msgstr "ਟੂਲਬਾਰ ਸਟਾਇਲ" + +#: ../gtk/gtksettings.c:1057 +msgid "" +"Whether default toolbars have text only, text and icons, icons only, etc." +msgstr "ਕੀ ਮੂਲ ਟੂਲਬਾਰ ਲਈ ਸ਼ਬਦ ਹੀ, ਸ਼ਬਦ ਤੇ ਆਈਕਾਨ, ਆਈਕਾਨ ਹੀ ਆਦਿ ਹੋਣ" + +#: ../gtk/gtksettings.c:1071 +msgid "Toolbar Icon Size" +msgstr "ਟੂਲਬਾਰ ਆਈਕਾਨ ਆਕਾਰ" + +#: ../gtk/gtksettings.c:1072 +msgid "The size of icons in default toolbars." +msgstr "ਡਿਫਾਲਟ ਟੂਲਬਾਰ ਵਿੱਚ ਆਈਕਾਨ ਦਾ ਆਕਾਰ ਹੈ।" + +#: ../gtk/gtksettings.c:1089 +msgid "Auto Mnemonics" +msgstr "ਆਟੋ ਨੀਮੋਨੀਸ" + +#: ../gtk/gtksettings.c:1090 +msgid "" +"Whether mnemonics should be automatically shown and hidden when the user " +"presses the mnemonic activator." +msgstr "" +"ਕੀ ਮਨਾਮੈਰਿਕ ਆਟੋਮੈਟਿਕ ਹੀ ਵੇਖਾਏ ਅਤੇ ਓਹਲੇ ਕੀਤੇ ਜਾਣ, ਜਦੋਂ ਯੂਜ਼ਰ ਮਨਾਮੈਰਿਕ ਐਕਟੀਵੇਟਰ " +"ਕੀਤਾ ਜਾਵੇ।" + +#: ../gtk/gtksettings.c:1115 +msgid "Application prefers a dark theme" +msgstr "ਐਪਲੀਕੇਸ਼ਨ ਗੂੜ੍ਹਾ ਥੀਮ ਚਾਹੁੰਦੀ ਹੈ" + +#: ../gtk/gtksettings.c:1116 +msgid "Whether the application prefers to have a dark theme." +msgstr "ਕੀ ਐਪਲੀਕੇਸ਼ਨ ਗੂੜ੍ਹਾ ਥੀਮ ਪਸੰਦ ਕਰੇ" + +#: ../gtk/gtksettings.c:1131 +msgid "Show button images" +msgstr "ਬਟਨ-ਚਿੱਤਰ ਵੇਖਾਓ" + +#: ../gtk/gtksettings.c:1132 +msgid "Whether images should be shown on buttons" +msgstr "ਕੀ ਬਟਨਾਂ ਉੱਤੇ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" + +#: ../gtk/gtksettings.c:1140 ../gtk/gtksettings.c:1234 +msgid "Select on focus" +msgstr "ਫੋਕਸ ਉੱਤੇ ਚੁਣੋ" + +#: ../gtk/gtksettings.c:1141 +msgid "Whether to select the contents of an entry when it is focused" +msgstr "ਕੀ ਇੰਦਰਾਜ਼ ਵਿੱਚਲੇ ਹਿੱਸੇ ਨੂੰ ਚੁਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋ ਜਾਵੇ" + +#: ../gtk/gtksettings.c:1158 +msgid "Password Hint Timeout" +msgstr "ਪਾਸਵਰਡ ਇਸ਼ਾਰਾ ਸਮਾਂ-ਅੰਤਰਾਲ" + +#: ../gtk/gtksettings.c:1159 +msgid "How long to show the last input character in hidden entries" +msgstr "ਲੁਕਵੇਂ ਇੰਦਰਾਜ਼ਾਂ ਵਿੱਚ ਆਖਰੀ ਦਿੱਤੇ ਅੱਖਰ ਨੂੰ ਵੇਖਾਉਣ ਨੂੰ ਕਿੰਨਾ ਸਮਾਂ ਲੱਗੇ" + +#: ../gtk/gtksettings.c:1168 +msgid "Show menu images" +msgstr "ਮੇਨੂ ਚਿੱਤਰ ਵੇਖੋ" + +#: ../gtk/gtksettings.c:1169 +msgid "Whether images should be shown in menus" +msgstr "ਕੀ ਮੇਨੂ ਵਿੱਚ ਚਿੱਤਰ ਵੇਖਾਏ ਜਾਣ" + +#: ../gtk/gtksettings.c:1177 +msgid "Delay before drop down menus appear" +msgstr "ਲਟਕਦੇ ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1178 +msgid "Delay before the submenus of a menu bar appear" +msgstr "ਮੇਨੂ-ਬਾਰ ਦੀ ਸਬ-ਮੇਨੂ ਦੇ ਉਪਲੱਬਧ ਹੋਣ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1195 +msgid "Scrolled Window Placement" +msgstr "ਸਕਰੋਲ ਕੀਤਾ ਵਿੰਡੋ ਟਿਕਾਣਾ" + +#: ../gtk/gtksettings.c:1196 +msgid "" +"Where the contents of scrolled windows are located with respect to the " +"scrollbars, if not overridden by the scrolled window's own placement." +msgstr "" +"ਕੀ ਸਕਰੋਲ ਕੀਤੀਆਂ ਵਿੰਡੋਜ਼ ਦੀ ਸਮੱਗਰੀ ਨੂੰ ਸਕਰੋਲ-ਪੱਟੀ ਦੇ ਮੁਤਾਬਕ ਰੱਖਣਾ ਹੈ, ਜੇ ਨਹੀਂ " +"ਤਾਂ ਸਕਰੋਲ ਕੀਤੀਆਂ " +"ਵਿੰਡੋਜ਼ ਦੀ ਆਪਣੀ ਸਥਿਤੀ ਮੁਤਾਬਕ ਵਰਤੀਆਂ ਜਾਣਗੀਆਂ।" + +#: ../gtk/gtksettings.c:1205 +msgid "Can change accelerators" +msgstr "ਐਕਸਲੇਟਰ ਬਦਲ ਸਕਦੇ ਹਨ" + +#: ../gtk/gtksettings.c:1206 +msgid "" +"Whether menu accelerators can be changed by pressing a key over the menu item" +msgstr "ਕੀ ਮੇਨੂ-ਤੇਜ਼ ਲਿਸਟ ਉੱਤੇ ਇੱਕ ਕੀ ਦਬਾਉਣ ਨਾਲ ਤਬਦੀਲ ਹੋ ਜਾਣ" + +#: ../gtk/gtksettings.c:1214 +msgid "Delay before submenus appear" +msgstr "ਸਬ-ਮੇਨੂ ਦੇ ਉਭੱਰਨ ਵਿੱਚ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1215 +msgid "" +"Minimum time the pointer must stay over a menu item before the submenu appear" +msgstr "" +"ਘੱਟੋ-ਘੱਟ ਸਮਾਂ, ਜਿਸ ਲਈ ਸਬ-ਮੇਨੂ ਦੇ ਖੁੱਲਣ ਤੋਂ ਪਹਿਲਾਂ ਸੰਕੇਤਕ ਮੇਨੂ ਆਈਟਮ ਉੱਤੇ ਹੀ ਰਹੇ" + +#: ../gtk/gtksettings.c:1224 +msgid "Delay before hiding a submenu" +msgstr "ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਵਿੱਚ ਦੇਰੀ" + +#: ../gtk/gtksettings.c:1225 +msgid "" +"The time before hiding a submenu when the pointer is moving towards the " +"submenu" +msgstr "" +"ਸਮਾਂ ਇੱਕ ਸਬ-ਮੇਨੂ ਨੂੰ ਉਹਲੇ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ, ਜਦੋਂ ਕਿ ਸੰਕੇਤਕ ਸਬ-ਮੇਨੂ ਵੱਲ ਆ ਰਿਹਾ " +"ਹੋਵੇ" + +#: ../gtk/gtksettings.c:1235 +msgid "Whether to select the contents of a selectable label when it is focused" +msgstr "ਕੀ ਚੁਣਨਯੋਗ ਲੇਬਲ ਦੀ ਸਮੱਗਰੀ ਚੁਣੀ ਜਾਵੇ, ਜਦੋਂ ਇਹ ਫੋਕਸ ਹੋਵੇ" + +#: ../gtk/gtksettings.c:1243 +msgid "Custom palette" +msgstr "ਰੰਗ-ਪੱਟੀ ਦੀ ਚੋਣ" + +#: ../gtk/gtksettings.c:1244 +msgid "Palette to use in the color selector" +msgstr "ਰੰਗ ਚੋਣ ਵਿੱਚ ਰੰਗ-ਪੱਟੀ ਵਰਤੋਂ" + +#: ../gtk/gtksettings.c:1252 +msgid "IM Preedit style" +msgstr "IM ਪ੍ਰੀ-ਐਡੀਟ ਸਟਾਇਲ" + +#: ../gtk/gtksettings.c:1253 +msgid "How to draw the input method preedit string" +msgstr "ਇੰਪੁੱਟ ਢੰਗ ਪ੍ਰੀ-ਐਡੀਟ ਲਾਈਨ ਨੂੰ ਕਿਸ-ਤਰ੍ਹਾਂ ਬਣਾਏ" + +#: ../gtk/gtksettings.c:1262 +msgid "IM Status style" +msgstr "IM ਹਾਲਤ ਸਟਾਇਲ" + +#: ../gtk/gtksettings.c:1263 +msgid "How to draw the input method statusbar" +msgstr "ਇੰਪੁੱਟ ਢੰਗ ਦੀ ਹਾਲਤ-ਪੱਟੀ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" + +#: ../gtk/gtksizegroup.c:351 +msgid "Mode" +msgstr "ਢੰਗ" + +#: ../gtk/gtksizegroup.c:352 +msgid "" +"The directions in which the size group affects the requested sizes of its " +"component widgets" +msgstr "ਦਿਸ਼ਾ, ਜਿਸ ਅਨੁਸਾਰ ਗਰੁੱਪ ਦਾ ਅਕਾਰ ਇਸ ਦੇ ਭਾਗ ਵਿਦਗਿਟਾਂ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtksizegroup.c:368 +msgid "Ignore hidden" +msgstr "ਲੁਕਵਾਂ ਅਣਡਿੱਠਾ" + +#: ../gtk/gtksizegroup.c:369 +msgid "" +"If TRUE, unmapped widgets are ignored when determining the size of the group" +msgstr "" +"ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਗਰੁੱਪ ਦਾ ਅਕਾਰ ਬਣਾਉਣ ਸਮੇਂ ਲੁਕਵੇਂ ਵਿਦਗਿਟਾਂ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰ " +"ਦਿੱਤਾ ਜਾਵੇਗਾ" + +#: ../gtk/gtkspinbutton.c:328 +msgid "Climb Rate" +msgstr "ਚੜਨ ਗਤੀ" + +#: ../gtk/gtkspinbutton.c:348 +msgid "Snap to Ticks" +msgstr "ਸੰਕੇਤਾਂ ਲਈ ਸਨੈਪ" + +#: ../gtk/gtkspinbutton.c:349 +msgid "" +"Whether erroneous values are automatically changed to a spin button's " +"nearest step increment" +msgstr "ਕੀ ਗਲਤ ਮੁੱਲ ਆਪਣੇ-ਆਪ ਹੀ ਸਪਿਨ-ਬਟਨ ਦੇ ਨਜ਼ਦੀਕੀ ਵਾਧਾ ਮੁੱਲ ਵਿੱਚ ਬਦਲ ਜਾਣ" + +#: ../gtk/gtkspinbutton.c:356 +msgid "Numeric" +msgstr "ਅੰਕੀ" + +#: ../gtk/gtkspinbutton.c:357 +msgid "Whether non-numeric characters should be ignored" +msgstr "ਕੀ ਅੰਕਾਂ ਤੋਂ ਬਿਨਾਂ ਅੱਖਰਾਂ ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਜਾਵੇ" + +#: ../gtk/gtkspinbutton.c:364 +msgid "Wrap" +msgstr "ਲਪੇਟਣਾ" + +#: ../gtk/gtkspinbutton.c:365 +msgid "Whether a spin button should wrap upon reaching its limits" +msgstr "ਕੀ ਸਪਿਨ ਬਟਨ ਨੂੰ ਸਮੇਟਣਾ ਹੈ, ਜਦੋਂ ਕਿ ਇਹ ਆਪਣੀਆ ਸੀਮਾਵਾਂ ਤੇ ਪੁੱਜ ਜਾਵੇ" + +#: ../gtk/gtkspinbutton.c:372 +msgid "Update Policy" +msgstr "ਅੱਪਡੇਟ ਨੀਤੀ" + +#: ../gtk/gtkspinbutton.c:373 +msgid "" +"Whether the spin button should update always, or only when the value is legal" +msgstr "ਕੀ ਸਪਿਨ ਬਟਨ ਹਮੇਸ਼ਾ ਅੱਪਡੇਟ ਹੁੰਦਾ ਰਹੇ, ਜਾਂ ਇਸ ਦਾ ਮੁੱਲ ਸਥਿਰ ਹੈ" + +#: ../gtk/gtkspinbutton.c:382 +msgid "Reads the current value, or sets a new value" +msgstr "ਮੌਜੂਦਾ ਮੁੱਲ ਨੂੰ ਪੜ੍ਹੋ, ਜਾਂ ਨਵਾਂ ਮੁੱਲ ਦਿਓ" + +#: ../gtk/gtkspinbutton.c:391 +msgid "Style of bevel around the spin button" +msgstr "ਸਪੈਨ ਬਟਨ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" + +#: ../gtk/gtkspinner.c:119 +msgid "Whether the spinner is active" +msgstr "ਕੀ ਸਨਿੱਪਰ ਐਕਟਿਵ ਹੋਣ" + +#: ../gtk/gtkstatusbar.c:183 +msgid "Style of bevel around the statusbar text" +msgstr "ਹਾਲਤ-ਪੱਟੀ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" + +#: ../gtk/gtkstatusicon.c:262 +msgid "The size of the icon" +msgstr "ਆਈਕਾਨ ਦਾ ਅਕਾਰ" + +#: ../gtk/gtkstatusicon.c:272 +msgid "The screen where this status icon will be displayed" +msgstr "ਸਕਰੀਨ, ਜਿੱਥੇ ਕਿ ਹਾਲਤ ਆਈਕਾਨ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" + +#: ../gtk/gtkstatusicon.c:280 +msgid "Whether the status icon is visible" +msgstr "ਕੀ ਹਾਲਤ ਆਈਕਾਨ ਵੇਖਾਈ ਦੇਵੇ" + +#: ../gtk/gtkstatusicon.c:296 +msgid "Whether the status icon is embedded" +msgstr "ਕੀ ਹਾਲਤ ਆਈਕਾਨ ਸ਼ਾਮਲ ਕੀਤਾ ਹੋਵੇ" + +#: ../gtk/gtkstatusicon.c:312 ../gtk/gtktrayicon-x11.c:126 +msgid "The orientation of the tray" +msgstr "ਟਰੇ ਦੀ ਸਥਿਤੀ" + +#: ../gtk/gtkstatusicon.c:339 ../gtk/gtkwidget.c:1042 +msgid "Has tooltip" +msgstr "ਟੂਲ-ਟਿੱਪ ਹੋਣ" + +#: ../gtk/gtkstatusicon.c:340 +msgid "Whether this tray icon has a tooltip" +msgstr "ਕੀ ਇਹ ਟਰੇ ਆਈਕਾਨ ਲਈ ਟੂਲ-ਟਿੱਪ ਹੋਵੇ" + +#: ../gtk/gtkstatusicon.c:365 ../gtk/gtkwidget.c:1063 +msgid "Tooltip Text" +msgstr "ਟੂਲ-ਟਿੱਪ ਪਾਠ" + +#: ../gtk/gtkstatusicon.c:366 ../gtk/gtkwidget.c:1064 ../gtk/gtkwidget.c:1085 +msgid "The contents of the tooltip for this widget" +msgstr "ਇਹ ਵਿਦਗਿਟ ਲਈ ਟੂਲ-ਟਿੱਪ ਦੀ ਸਮੱਗਰੀ ਹੈ" + +#: ../gtk/gtkstatusicon.c:389 ../gtk/gtkwidget.c:1084 +msgid "Tooltip markup" +msgstr "ਟੂਲ-ਟਿੱਪ ਮਾਰਕਅੱਪ" + +#: ../gtk/gtkstatusicon.c:390 +msgid "The contents of the tooltip for this tray icon" +msgstr "ਇਸ ਟਰੇ ਆਈਕਾਨ ਲਈ ਟੂਲ-ਟਿੱਪ ਦੀ ਸਮੱਗਰੀ" + +#: ../gtk/gtkstatusicon.c:408 +msgid "The title of this tray icon" +msgstr "ਇਹ ਟਰੇ ਆਈਕਾਨ ਦਾ ਟਾਈਟਲ" + +#: ../gtk/gtkstyle.c:468 +msgid "Style context" +msgstr "ਸਟਾਈਲ ਪਰਸੰਦ" + +#: ../gtk/gtkstyle.c:469 +msgid "GtkStyleContext to get style from" +msgstr "ਇੱਥੋਂ ਸਟਾਈਲ ਲੈਣ ਲਈ GtkStyleContext " + +#: ../gtk/gtkstylecontext.c:547 +msgid "The associated GdkScreen" +msgstr "ਸਬੰਧਤ GdkScreen" + +#: ../gtk/gtkstylecontext.c:553 +msgid "Direction" +msgstr "ਦਿਸ਼ਾ" + +#: ../gtk/gtkstylecontext.c:554 ../gtk/gtktexttag.c:236 +msgid "Text direction" +msgstr "ਟੈਕਸਟ ਦੀ ਦਿਸ਼ਾ" + +#: ../gtk/gtkswitch.c:753 +msgid "Whether the switch is on or off" +msgstr "ਕੀ ਸਵਿੱਚ ਚਾਲੂ ਹੈ ਜਾਂ ਬੰਦ" + +#: ../gtk/gtkswitch.c:787 +msgid "The minimum width of the handle" +msgstr "ਹੈਂਡਲ ਲਈ ਘੱਟੋ-ਘੱਟ ਚੌੜਾਈ" + +#: ../gtk/gtktable.c:157 +msgid "Rows" +msgstr "ਸਤਰਾਂ" + +#: ../gtk/gtktable.c:158 +msgid "The number of rows in the table" +msgstr "ਸਾਰਣੀ ਵਿੱਚ ਸਤਰਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtktable.c:166 +msgid "Columns" +msgstr "ਕਾਲਮ" + +#: ../gtk/gtktable.c:167 +msgid "The number of columns in the table" +msgstr "ਸਾਰਣੀ ਵਿੱਚ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" + +#: ../gtk/gtktable.c:194 +msgid "If TRUE, the table cells are all the same width/height" +msgstr "" +"ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਇਸ ਦਾ ਮਤਲਬ ਇਹ ਹੈ ਕਿ ਸਾਰਣੀ ਦੇ ਸਾਰੇ ਸੈਲ ਇੱਕੋ ਚੌੜਾਈ/ਉਚਾਈ ਹੈ" + +#: ../gtk/gtktable.c:208 +msgid "Right attachment" +msgstr "ਸੱਜਾ ਨੱਥੀ" + +#: ../gtk/gtktable.c:209 +msgid "The column number to attach the right side of a child widget to" +msgstr "ਕਾਲਮ ਗਿਣਤੀ ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਸੱਜੇ ਪਾਸੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" + +#: ../gtk/gtktable.c:216 +msgid "The row number to attach the top of a child widget to" +msgstr "ਕਤਾਰ ਗਿਣਤੀ ਜੋ ਕਿ ਚਲਾਇਡ ਵਿਦਗਿਟ ਦੇ ਸਿਰੇ ਤੇ ਜੋੜੀ ਜਾਵੇਗੀ" + +#: ../gtk/gtktable.c:222 +msgid "Bottom attachment" +msgstr "ਥੱਲੇ ਨੱਥੀ" + +#: ../gtk/gtktable.c:229 +msgid "Horizontal options" +msgstr "ਲੇਟਵੀ ਚੋਣ" + +#: ../gtk/gtktable.c:230 +msgid "Options specifying the horizontal behaviour of the child" +msgstr "ਚੋਣ ਚਲਾਇਡ ਦੇ ਲੇਟਵੇ ਰਵੱਈਏ ਨੂੰ ਸੈੱਟ ਕਰਦੀ ਹੈ" + +#: ../gtk/gtktable.c:236 +msgid "Vertical options" +msgstr "ਲੰਬਕਾਰ ਚੋਣ" + +#: ../gtk/gtktable.c:237 +msgid "Options specifying the vertical behaviour of the child" +msgstr "ਚੋਣ ਚਲਾਇਡ ਦੇ ਲੰਬਕਾਰੀ ਵਿਵਹਾਰ ਨੂੰ ਸੈੱਟ ਕਰਦੀ ਹੈ" + +#: ../gtk/gtktable.c:243 +msgid "Horizontal padding" +msgstr "ਲੇਟਵਾਂ ਚਿਣੋ" + +#: ../gtk/gtktable.c:244 +msgid "" +"Extra space to put between the child and its left and right neighbors, in " +"pixels" +msgstr "ਚਲਾਇਡ ਅਤੇ ਇਸ ਦੇ ਸੱਜੇ ਤੇ ਖੱਬੇ ਗੁਆਢੀਆ ਵਿਚਕਾਰ ਵਾਧੂ ਥਾਂ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" + +#: ../gtk/gtktable.c:250 +msgid "Vertical padding" +msgstr "ਲੰਬਕਾਰੀ ਚਿਣੋ" + +#: ../gtk/gtktable.c:251 +msgid "" +"Extra space to put between the child and its upper and lower neighbors, in " +"pixels" +msgstr "ਚਲਾਇਡ ਅਤੇ ਇਸ ਦੇ ਉੱਤੇਲੇ ਤੇ ਹੇਠਲੇ ਗੁਆਢੀਆ ਵਿਚਕਾਰ ਵਾਧੂ ਥਾਂ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" + +#: ../gtk/gtktextbuffer.c:192 +msgid "Tag Table" +msgstr "ਟੈਗ ਸਾਰਣੀ" + +#: ../gtk/gtktextbuffer.c:193 +msgid "Text Tag Table" +msgstr "ਟੈਕਸਟ ਟੈਗ ਸਾਰਣੀ" + +#: ../gtk/gtktextbuffer.c:211 +msgid "Current text of the buffer" +msgstr "ਬਫ਼ਰ ਦਾ ਮੌਜੂਦਾ ਪਾਠ" + +#: ../gtk/gtktextbuffer.c:225 +msgid "Has selection" +msgstr "ਚੋਣ ਹੈ" + +#: ../gtk/gtktextbuffer.c:226 +msgid "Whether the buffer has some text currently selected" +msgstr "ਕੀ ਬਫ਼ਰ ਵਿੱਚ ਕੁਝ ਟੈਕਸਟ ਇਸ ਸਮੇਂ ਚੁਣਿਆ ਹੈ" + +#: ../gtk/gtktextbuffer.c:242 +msgid "Cursor position" +msgstr "ਕਰਸਰ ਸਥਿਤੀ" + +#: ../gtk/gtktextbuffer.c:243 +msgid "" +"The position of the insert mark (as offset from the beginning of the buffer)" +msgstr "ਸ਼ਾਮਿਲ ਨਿਸ਼ਾਨ ਦੀ ਸਥਿਤੀ (ਬਫ਼ਰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਦੂਰੀ)" + +#: ../gtk/gtktextbuffer.c:258 +msgid "Copy target list" +msgstr "ਨਿਸ਼ਾਨ ਸੂਚੀ ਨਕਲ" + +#: ../gtk/gtktextbuffer.c:259 +msgid "" +"The list of targets this buffer supports for clipboard copying and DND source" +msgstr "" +"ਇਸ ਬਫ਼ਰ ਵਲੋਂ ਸਹਾਇਕ ਟਾਰਗੇਟ ਦੀ ਲਿਸਟ, ਜੋ ਕਿ ਕਲਿੱਪਬੋਰਡ ਕਾਪੀ ਅਤੇ DND ਸਰੋਤ ਲਈ ਹੈ।" + +#: ../gtk/gtktextbuffer.c:274 +msgid "Paste target list" +msgstr "ਨਿਸ਼ਾਨਾ ਸੂਚੀ ਚੇਪੋ" + +#: ../gtk/gtktextbuffer.c:275 +msgid "" +"The list of targets this buffer supports for clipboard pasting and DND " +"destination" +msgstr "" +"ਇਸ ਬਫ਼ਰ ਵਲੋਂ ਸਹਾਇਕ ਟਾਰਗੇਟ ਦੀ ਲਿਸਟ, ਜੋ ਕਿ ਕਲਿੱਪਬੋਰਡ ਚੇਪਣ ਅਤੇ DND ਟਿਕਾਣੇ ਲਈ ਹੈ।" + +#: ../gtk/gtktextmark.c:90 +msgid "Mark name" +msgstr "ਮਾਰਕ ਨਾਂ" + +#: ../gtk/gtktextmark.c:97 +msgid "Left gravity" +msgstr "ਖੱਬੀ ਗਰੇਵਿਟੀ" + +#: ../gtk/gtktextmark.c:98 +msgid "Whether the mark has left gravity" +msgstr "ਕੀ ਮਾਰਕ ਕੋਲ ਖੱਬੀ ਗਰੇਵਿਟੀ ਹੋਵੇ" + +#: ../gtk/gtktexttag.c:186 +msgid "Tag name" +msgstr "ਟੈਗ ਨਾਂ" + +#: ../gtk/gtktexttag.c:187 +msgid "Name used to refer to the text tag. NULL for anonymous tags" +msgstr "ਟੈਕਸਟ ਟੈਗ ਨੂੰ ਲੱਭਣ ਲਈ ਲੌੜੀਦਾ ਨਾਂ NULL ਬੇਪਛਾਣ ਲਈ ਵਰਤੋ" + +#: ../gtk/gtktexttag.c:205 +msgid "Background color as a (possibly unallocated) GdkColor" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸੰਭਵ ਹੋਵੇ (ਨਾ ਵਰਤਿਆ ਗਿਆ) ਤਾਂ GdkColor" + +#: ../gtk/gtktexttag.c:212 +msgid "Background full height" +msgstr "ਬੈਕਗਰਾਊਂਡ ਦੀ ਪੂਰੀ ਉਚਾਈ" + +#: ../gtk/gtktexttag.c:213 +msgid "" +"Whether the background color fills the entire line height or only the height " +"of the tagged characters" +msgstr "" +"ਕੀ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸਤਰ ਦੀ ਪੂਰੀ ਉਚਾਈ ਨੁੰ ਭਰ ਦੇਵੇ ਜਾਂ ਸਿਰਫ ਟੈਗ ਅੱਖਰਾਂ ਦੀ ਉਚਾਈ ਤੱਕ " + +#: ../gtk/gtktexttag.c:229 +msgid "Foreground color as a (possibly unallocated) GdkColor" +msgstr "ਫਾਰਗਰਾਊਂਡ ਦਾ ਰੰਗ ਸੰਭਵ ਹੋਵੇ (ਨਾ ਵਰਤਿਆ ਗਿਆ) ਤਾਂ GdkColor" + +#: ../gtk/gtktexttag.c:237 +msgid "Text direction, e.g. right-to-left or left-to-right" +msgstr "ਟੈਕਸਟ ਦੀ ਦਿਸ਼ਾ, ਜਿਵੇ ਕਿ ਸੱਜੇ-ਤੋ ਖੱਬਾ ਜਾਂ ਖੱਬੇ ਤੋਂ ਸੱਜਾ" + +#: ../gtk/gtktexttag.c:286 +msgid "Font style as a PangoStyle, e.g. PANGO_STYLE_ITALIC" +msgstr "ਪੈਂਨਗੋ-ਸਟਾਇਲ ਵਾਂਗ ਫੋਂਟ ਸਟਾਇਲ ਜਿਵੇਂ ਕਿ PANGO_STYLE_ITALIC" + +#: ../gtk/gtktexttag.c:295 +msgid "Font variant as a PangoVariant, e.g. PANGO_VARIANT_SMALL_CAPS" +msgstr "ਪੈਂਨਗੋ-ਵੈਰੀਐਂਟ ਵਾਂਗ ਫੋਂਟ ਵੈਰੀਐਂਟ ਜਿਵੇਂ ਕਿ PANGO_VARIANT_SMALL_CAPS" + +#: ../gtk/gtktexttag.c:304 +msgid "" +"Font weight as an integer, see predefined values in PangoWeight; for " +"example, PANGO_WEIGHT_BOLD" +msgstr "" +"ਫੋਂਟ ਦਾ ਫੈਲਾ ਇੱਕ ਸੰਖਿਆ ਦੀ ਤਰਾਂ, ਪਹਿਲ਼ਾ ਦਿੱਤੇ ਪੈਨਗੋਵੇਟ ਵੇਖੋ; ਜਿਵੇ ਕਿ " +"PANGO_WEIGHT_BOLD" + +#: ../gtk/gtktexttag.c:315 +msgid "Font stretch as a PangoStretch, e.g. PANGO_STRETCH_CONDENSED" +msgstr "ਫੋਂਟ ਤਣੇ ਪੈਨਗੋ-ਤਣੇ ਵਾਂਗ ਜਿਵੇਂ ਕਿ PANGO_STRETCH_CONDENSED" + +#: ../gtk/gtktexttag.c:324 +msgid "Font size in Pango units" +msgstr "ਫੋਂਟ ਅਕਾਰ ਪੈਨਗੋ-ਇਕਾਈ ਵਿੱਚ" + +#: ../gtk/gtktexttag.c:334 +msgid "" +"Font size as a scale factor relative to the default font size. This properly " +"adapts to theme changes etc. so is recommended. Pango predefines some scales " +"such as PANGO_SCALE_X_LARGE" +msgstr "" +"ਫੋਂਟ ਅਕਾਰ, ਮੂਲ ਫੋਂਟ ਅਕਾਰ ਦੇ ਪੈਮਾਨਾ-ਗੁਣਾਂਕ ਨਾਲ ਇਹ ਵਿਸ਼ੇਸ਼ਤਾ ਸਰੂਪ ਬਦਲਣ ਆਦਿ ਲਈ " +"ਵਰਤੀ ਜਾਦੀ, ਸੋ " +"ਇਸ ਦੀ ਸਿਫਾਰਸ ਕੀਤੀ ਗਈ ਹੈ। ਪੈਨਗੋ ਕੁਝ ਪੈਮਾਨੇ ਪਹਿਲ਼ਾ ਹੀਨਿਰਦਾਰਿਤ ਕਰ ਚੁੱਕਾ ਹੈ , " +"ਜਿਵੇ ਕਿ " +"PANGO_SCALE_X_LARGE" + +#: ../gtk/gtktexttag.c:354 ../gtk/gtktextview.c:704 +msgid "Left, right, or center justification" +msgstr "ਖੱਬੇ, ਸੱਜੇ ਜਾਂ ਵਿੱਚਕਾਰ ਤਰਕਸੰਗਤ ਕਰੋ" + +#: ../gtk/gtktexttag.c:373 +msgid "" +"The language this text is in, as an ISO code. Pango can use this as a hint " +"when rendering the text. If not set, an appropriate default will be used." +msgstr "" +"ਭਾਸ਼ਾ, ਜਿਸ ਵਿੱਚ ਇਹ ਕੋਡ ਹੈ, ਦਾ ISO ਕੋਡ ਹੈ। ਟੈਕਸਟ ਨੂੰ ਪੇਸ਼ ਕਰਨ ਲਈ ਪੈਨਗੋ ਦੀ " +"ਉਦਾਹਰਨ ਲਈ ਜਾ " +"ਸਕਦੀ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਨਹੀਂ ਸਮਝ ਸਕੇ ਤਾਂ, ਤੁਹਾਨੂੰ ਇਸ ਦੀ ਲੋੜ ਵੀ " +"ਨਹੀਂ ਹੈ।" + +#: ../gtk/gtktexttag.c:380 +msgid "Left margin" +msgstr "ਖੱਬਾ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtktexttag.c:381 ../gtk/gtktextview.c:713 +msgid "Width of the left margin in pixels" +msgstr "ਖੱਬੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲਾਂ ਵਿੱਚ" + +#: ../gtk/gtktexttag.c:390 +msgid "Right margin" +msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtktexttag.c:391 ../gtk/gtktextview.c:723 +msgid "Width of the right margin in pixels" +msgstr "ਸੱਜੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲਾਂ ਵਿੱਚ" + +#: ../gtk/gtktexttag.c:401 ../gtk/gtktextview.c:732 +msgid "Indent" +msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ" + +#: ../gtk/gtktexttag.c:402 ../gtk/gtktextview.c:733 +msgid "Amount to indent the paragraph, in pixels" +msgstr "ਪ੍ਹੈਰੇ ਵਿੱਚ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ, ਪਿਕਸਲਾਂ ਵਿੱਚ" + +#: ../gtk/gtktexttag.c:413 +msgid "" +"Offset of text above the baseline (below the baseline if rise is negative) " +"in Pango units" +msgstr "" +"ਬੇਸ-ਲਾਈਨ ਤੋਂ ਉੱਤੇ ਟੈਕਸਟ ਦਾ ਸੰਤੁਲਨ ਪੈਗੋ ਇਕਾਈ ਵਿੱਚ (ਹੇਠਾਂ ਉਭਾਰ ਰਿਣਾਤਮਿਕ ਹੈ)" + +#: ../gtk/gtktexttag.c:422 +msgid "Pixels above lines" +msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉੱਤੇ ਪਿਕਸਲ" + +#: ../gtk/gtktexttag.c:423 ../gtk/gtktextview.c:657 +msgid "Pixels of blank space above paragraphs" +msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਉੱਤੇ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" + +#: ../gtk/gtktexttag.c:432 +msgid "Pixels below lines" +msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਾਂ ਪਿਕਸਲ" + +#: ../gtk/gtktexttag.c:433 ../gtk/gtktextview.c:667 +msgid "Pixels of blank space below paragraphs" +msgstr "ਪ੍ਹੈਰੇ ਤੋਂ ਹੇਠਾਂ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" + +#: ../gtk/gtktexttag.c:442 +msgid "Pixels inside wrap" +msgstr "ਲੇਪਟਣ ਵਿੱਚ ਆਏ ਪਿਕਸਲ" + +#: ../gtk/gtktexttag.c:443 ../gtk/gtktextview.c:677 +msgid "Pixels of blank space between wrapped lines in a paragraph" +msgstr "ਪ੍ਹੈਰੇ ਵਿੱਚ ਲੇਪਟੀਆਂ ਗਈਆਂ ਸਤਰਾਂ ਵਿੱਚ ਖਾਲੀ ਥਾਂ ਦੇ ਪਿਕਸਲ" + +#: ../gtk/gtktexttag.c:470 ../gtk/gtktextview.c:695 +msgid "" +"Whether to wrap lines never, at word boundaries, or at character boundaries" +msgstr "ਕੀ ਲਾਈਨਾਂ ਕਦੇ ਨਹੀਂ ਲੇਪਟਣੀਆਂ ਹਨ, ਨਾ ਸ਼ਬਦ ਦੀ ਹੱਦ ਤੇ ਨਾ ਅੱਖਰਾਂ ਦੀ ਹੱਦ ਤੇ" + +#: ../gtk/gtktexttag.c:479 ../gtk/gtktextview.c:742 +msgid "Tabs" +msgstr "ਟੈਬ" + +#: ../gtk/gtktexttag.c:480 ../gtk/gtktextview.c:743 +msgid "Custom tabs for this text" +msgstr "ਇਸ ਟੈਕਸਟ ਲਈ ਟੈਬਾਂ ਦੀ ਚੋਣ" + +#: ../gtk/gtktexttag.c:498 +msgid "Invisible" +msgstr "ਅਦਿੱਖ" + +#: ../gtk/gtktexttag.c:499 +msgid "Whether this text is hidden." +msgstr "ਕੀ ਇਹ ਟੈਕਸਟ ਲੁਕਵਾਂ ਹੋਵੇ" + +#: ../gtk/gtktexttag.c:513 +msgid "Paragraph background color name" +msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨਾਂ" + +#: ../gtk/gtktexttag.c:514 +msgid "Paragraph background color as a string" +msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸਤਰ ਵਾਂਗ" + +#: ../gtk/gtktexttag.c:529 +msgid "Paragraph background color" +msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ" + +#: ../gtk/gtktexttag.c:530 +msgid "Paragraph background color as a (possibly unallocated) GdkColor" +msgstr "ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਸੰਭਵ ਹੋਵੇ (ਨਾ ਵਰਤਿਆ ਗਿਆ) ਤਾਂ GdkColor" + +#: ../gtk/gtktexttag.c:548 +msgid "Margin Accumulates" +msgstr "ਹਾਸ਼ੀਆ ਇਕਸਾਰ" + +#: ../gtk/gtktexttag.c:549 +msgid "Whether left and right margins accumulate." +msgstr "ਕੀ ਖੱਬਾ ਅਤੇ ਸੱਜਾ ਹਾਸ਼ੀਆ ਇੱਕਠਾ ਹੋਵੇ" + +#: ../gtk/gtktexttag.c:562 +msgid "Background full height set" +msgstr "ਬੈਕਗਰਾਊਂਡ ਪੂਰੀ ਉਚਾਈ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:563 +msgid "Whether this tag affects background height" +msgstr "ਕੀ ਇਹ ਟੈਗ ਬੈਕਗਰਾਊਂਡ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:602 +msgid "Justification set" +msgstr "ਅਨੁਕੂਲ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:603 +msgid "Whether this tag affects paragraph justification" +msgstr "ਕੀ ਇਹ ਟੈਗ ਤਰਕਸੰਗਤ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:610 +msgid "Left margin set" +msgstr "ਖੱਬਾ-ਹਾਸ਼ੀਏ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:611 +msgid "Whether this tag affects the left margin" +msgstr "ਕੀ ਇਹ ਟੈਗ ਅਗਲੇ-ਪਰਦਾ-ਚਿਤਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:614 +msgid "Indent set" +msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:615 +msgid "Whether this tag affects indentation" +msgstr "ਕੀ ਇਹ ਟੈਗ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:622 +msgid "Pixels above lines set" +msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉਪਰਲੇ ਪਿਕਸਲਾਂ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:623 ../gtk/gtktexttag.c:627 +msgid "Whether this tag affects the number of pixels above lines" +msgstr "ਕੀ ਇਹ ਟੈਗ ਸਤਰ ਤੋਂ ਉਪਰਲੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:626 +msgid "Pixels below lines set" +msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਲੇ ਪਿਕਸਲ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:630 +msgid "Pixels inside wrap set" +msgstr "ਪਿਕਸਲ ਅੰਦਰੂਨੀ ਲਪੇਟਣ ਦਿਓ" + +#: ../gtk/gtktexttag.c:631 +msgid "Whether this tag affects the number of pixels between wrapped lines" +msgstr "ਕੀ ਇਹ ਟੈਗ ਸਤਰਾਂ ਵਿੱਚ ਲੇਪਟੇ ਪਿਕਸਲਾਂ ਦੀ ਗਿਣਤੀ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:638 +msgid "Right margin set" +msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ ਦਿਓ" + +#: ../gtk/gtktexttag.c:639 +msgid "Whether this tag affects the right margin" +msgstr "ਕੀ ਇਹ ਟੈਗ ਸੱਜਾ ਹਾਸ਼ੀਏ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:646 +msgid "Wrap mode set" +msgstr "ਲਪੇਟਣ ਮੋਡ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:647 +msgid "Whether this tag affects line wrap mode" +msgstr "ਕੀ ਇਹ ਟੈਗ ਲੇਪਟਣ ਦੀ ਢੰਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:650 +msgid "Tabs set" +msgstr "ਟੈਬ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:651 +msgid "Whether this tag affects tabs" +msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਬਾਂ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:654 +msgid "Invisible set" +msgstr "ਅਦਿੱਖ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktexttag.c:655 +msgid "Whether this tag affects text visibility" +msgstr "ਕੀ ਇਹ ਟੈਗ ਟੈਕਸਟ ਦੀ ਦਿੱਖ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktexttag.c:658 +msgid "Paragraph background set" +msgstr "ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਦਿਓ" + +#: ../gtk/gtktexttag.c:659 +msgid "Whether this tag affects the paragraph background color" +msgstr "ਕੀ ਇਹ ਟੈਗ ਪੈਰਾ ਬੈਕਗਰਾਊਂਡ ਰੰਗ ਨੂੰ ਪਰਭਾਵਿਤ ਕਰੇ" + +#: ../gtk/gtktextview.c:656 +msgid "Pixels Above Lines" +msgstr "ਲਾਈਨਾਂ ਤੋਂ ਉੱਤੇ ਪਿਕਸਲ" + +#: ../gtk/gtktextview.c:666 +msgid "Pixels Below Lines" +msgstr "ਲਾਈਨਾਂ ਤੋਂ ਹੇਠਾਂ ਪਿਕਸਲ" + +#: ../gtk/gtktextview.c:676 +msgid "Pixels Inside Wrap" +msgstr "ਲੇਪਟਣ ਵਿੱਚ ਪਿਕਸਲ" + +#: ../gtk/gtktextview.c:694 +msgid "Wrap Mode" +msgstr "ਲੇਪਟਣ ਮੋਡ" + +#: ../gtk/gtktextview.c:712 +msgid "Left Margin" +msgstr "ਖੱਬਾ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtktextview.c:722 +msgid "Right Margin" +msgstr "ਸੱਜਾ ਹਾਸ਼ੀਆ" + +#: ../gtk/gtktextview.c:750 +msgid "Cursor Visible" +msgstr "ਕਰਸਰ ਅਦਿੱਖ" + +#: ../gtk/gtktextview.c:751 +msgid "If the insertion cursor is shown" +msgstr "ਜੇ ਵਿਚਕਾਰ ਕਰਸਰ ਵੇਖਾਈ ਗਈ ਹੈ" + +#: ../gtk/gtktextview.c:758 +msgid "Buffer" +msgstr "ਬਫਰ" + +#: ../gtk/gtktextview.c:759 +msgid "The buffer which is displayed" +msgstr "ਬਫਰ, ਜੋ ਵੇਖਾਇਆ ਜਾਵੇਗਾ" + +#: ../gtk/gtktextview.c:767 +msgid "Whether entered text overwrites existing contents" +msgstr "ਕੀ ਦਿੱਤਾ ਗਿਆ ਟੈਕਸਟ ਮੌਜੂਦਾ ਹਿੱਸੇ ਨੂੰ ਖਤਮ ਕਰ ਦੇਵੇ" + +#: ../gtk/gtktextview.c:774 +msgid "Accepts tab" +msgstr "ਮਨਜ਼ੂਰ ਟੈਬ" + +#: ../gtk/gtktextview.c:775 +msgid "Whether Tab will result in a tab character being entered" +msgstr "ਕੀ ਟੈਬ ਨਤੀਜਾ ਹੋਵੇ, ਦਿੱਤੇ ਗਏ ਟੈਬ ਅੱਖਰ ਦਾ" + +#: ../gtk/gtktextview.c:810 +msgid "Error underline color" +msgstr "ਗਲਤੀ ਹੇਠ ਰੰਗਦਾਰ ਲਾਈਨ" + +#: ../gtk/gtktextview.c:811 +msgid "Color with which to draw error-indication underlines" +msgstr "ਰੰਗ ਜਿਸ ਨਾਲ ਗਲਤੀ-ਸੰਕੇਤਕ ਲਾਈਨ ਖਿੱਚੀ ਜਾਵੇ" + +#: ../gtk/gtkthemingengine.c:249 +msgid "Theming engine name" +msgstr "ਥੀਮਿੰਗ ਇੰਜਣ ਨਾਂ" + +#: ../gtk/gtktoggleaction.c:118 +msgid "Create the same proxies as a radio action" +msgstr "ਉਸੇਤਰ੍ਹਾਂ ਦੀਆਂ ਪਰਾਕਸੀ ਬਣਾਉ, ਜਿਸਤਰਾਂ ਦੀਆਂ ਰੇਡੀਉ ਕਾਰਵਾਈ ਹੈ" + +#: ../gtk/gtktoggleaction.c:119 +msgid "Whether the proxies for this action look like radio action proxies" +msgstr "ਕੀ ਇਸ ਕਾਰਵਾਈ ਦੀ ਪਰਾਕਸੀ ਰੇਡੀਉ ਕਾਰਵਾਈ ਪਰਾਕਸੀ ਵਾਂਗ ਲੱਗੇ" + +#: ../gtk/gtktoggleaction.c:134 +msgid "Whether the toggle action should be active" +msgstr "ਜੇ ਤਬਦੀਲ ਕਾਰਵਾਈ ਸਰਗਰਮ ਹੋਵੇ" + +#: ../gtk/gtktogglebutton.c:126 ../gtk/gtktoggletoolbutton.c:113 +msgid "If the toggle button should be pressed in" +msgstr "ਕੀ ਬਦਲਵਾਂ ਬਟਨ ਦਬਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtktogglebutton.c:134 +msgid "If the toggle button is in an \"in between\" state" +msgstr "ਕੀ ਬਦਲਵੇ ਬਟਨ \"ਵਿਚਕਾਰਲੀ\" ਸਥਿਤੀ ਵਿੱਚ ਹੈ" + +#: ../gtk/gtktogglebutton.c:141 +msgid "Draw Indicator" +msgstr "ਇੰਡੀਕੇਟਰ ਬਣਾਓ" + +#: ../gtk/gtktogglebutton.c:142 +msgid "If the toggle part of the button is displayed" +msgstr "ਕੀ ਬਟਨ ਦਾ ਬਦਲਵਾਂ ਹਿੱਸਾ ਵੇਖਾਇਆ ਜਾਵੇ" + +#: ../gtk/gtktoolbar.c:489 ../gtk/gtktoolpalette.c:1062 +msgid "Toolbar Style" +msgstr "ਟੂਲਬਾਰ ਸਟਾਇਲ" + +#: ../gtk/gtktoolbar.c:490 +msgid "How to draw the toolbar" +msgstr "ਟੂਲਬਾਰ ਨੂੰ ਕਿਵੇਂ ਬਣਾਉਣਾ ਹੈ" + +#: ../gtk/gtktoolbar.c:497 +msgid "Show Arrow" +msgstr "ਤੀਰ ਵੇਖਾਓ" + +#: ../gtk/gtktoolbar.c:498 +msgid "If an arrow should be shown if the toolbar doesn't fit" +msgstr "ਕੀ ਤੀਰ ਵੇਖਾਇਆ ਜਾਵੇ ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਵਿੱਚ ਸਮਾ ਨਾ ਸਕੇ" + +#: ../gtk/gtktoolbar.c:519 +msgid "Size of icons in this toolbar" +msgstr "ਇਹ ਟੂਲਬਾਰ ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਅਕਾਰ" + +#: ../gtk/gtktoolbar.c:534 ../gtk/gtktoolpalette.c:1048 +msgid "Icon size set" +msgstr "ਆਈਕਾਨ ਅਕਾਰ ਦਿਓ" + +#: ../gtk/gtktoolbar.c:535 ../gtk/gtktoolpalette.c:1049 +msgid "Whether the icon-size property has been set" +msgstr "ਕੀ ਆਈਕਾਨ-ਅਕਾਰ ਵਿਸ਼ੇਸ਼ਤਾ ਦਿੱਤੀ ਜਾਵੇ" + +#: ../gtk/gtktoolbar.c:544 +msgid "Whether the item should receive extra space when the toolbar grows" +msgstr "ਕੀ ਆਈਟਮ ਹੋਰ ਵਾਧੂ ਥਾਂ ਲਵੇ ਜਦੋਂ ਕਿ ਟੂਲਬਾਰ ਫੈਲੇ" + +#: ../gtk/gtktoolbar.c:552 ../gtk/gtktoolitemgroup.c:1648 +msgid "Whether the item should be the same size as other homogeneous items" +msgstr "ਕੀ ਆਈਟਮ ਉਸੇ ਆਕਾਰ ਦੀ ਹੋਵੇ ਜਿਸ ਦੀ ਹੋਰ ਸਮ-ਰੂਪ ਆਈਟਮਾਂ ਹਨ" + +#: ../gtk/gtktoolbar.c:559 +msgid "Spacer size" +msgstr "ਸਪੇਸਰ ਆਕਾਰ" + +#: ../gtk/gtktoolbar.c:560 +msgid "Size of spacers" +msgstr "ਸਪੇਸਰ ਦਾ ਅਕਾਰ" + +#: ../gtk/gtktoolbar.c:569 +msgid "Amount of border space between the toolbar shadow and the buttons" +msgstr "ਟੂਲਬਾਰ ਦੇ ਪਰਛਾਵੇ ਅਤੇ ਬਟਨਾਂ ਵਿਚਕਾਰ ਹਾਸ਼ੀਏ ਦੀ ਥਾਂ ਦੀ ਮਾਤਰਾ" + +#: ../gtk/gtktoolbar.c:577 +msgid "Maximum child expand" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚਾਈਲਡ ਫੈਲਾ" + +#: ../gtk/gtktoolbar.c:578 +msgid "Maximum amount of space an expandable item will be given" +msgstr "ਇੱਕ ਫੈਲਣਯੋਗ ਆਈਟਮ ਨੂੰ ਦਿੱਤਾ ਜਾਣ ਵਾਲਾ ਵੱਧ ਤੋਂ ਵੱਧ ਫਾਸਲਾ" + +#: ../gtk/gtktoolbar.c:586 +msgid "Space style" +msgstr "ਖਾਲੀ ਸਟਾਇਲ" + +#: ../gtk/gtktoolbar.c:587 +msgid "Whether spacers are vertical lines or just blank" +msgstr "ਕੀ ਵੱਖਰਵੇ ਵਿੱਚ ਲੰਬਕਾਰੀ ਲਾਈਨਾਂ ਹੋਣ ਜਾਂ ਸਿਰਫ ਖਾਲੀ ਹੀ ਹੋਵੇ" + +#: ../gtk/gtktoolbar.c:594 +msgid "Button relief" +msgstr "ਬਟਨ ਛੋਟ" + +#: ../gtk/gtktoolbar.c:595 +msgid "Type of bevel around toolbar buttons" +msgstr "ਟੂਲਬਾਰ ਦੁਆਲੇ bevel ਦੀ ਕਿਸਮ" + +#: ../gtk/gtktoolbar.c:602 +msgid "Style of bevel around the toolbar" +msgstr "ਟੂਲਬਾਰ ਦੁਆਲੇ bevel ਦਾ ਸਟਾਇਲ" + +#: ../gtk/gtktoolbutton.c:202 +msgid "Text to show in the item." +msgstr "ਆਈਟਮ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਸ਼ਬਦ" + +#: ../gtk/gtktoolbutton.c:209 +msgid "" +"If set, an underline in the label property indicates that the next character " +"should be used for the mnemonic accelerator key in the overflow menu" +msgstr "" +"ਜੇਕਰ ਸੈੱਟ ਕੀਤਾ ਤਾਂ, ਲੇਬਲ ਵਿਸ਼ੇਸ਼ਤਾ ਵਿੱਚ ਹੇਠ ਲਾਈਨ ਵੇਖਾਵੇਗੀ ਕਿ ਅਗਲਾ ਅੱਖਰ ਮੇਨੂ " +"ਵਿੱਚ ਤੇਜ਼-ਕੀ ਵਲੋਂ " +"ਵਰਤਿਆ ਜਾਵੇਗਾ " + +#: ../gtk/gtktoolbutton.c:216 +msgid "Widget to use as the item label" +msgstr "ਆਈਟਮ ਲੇਬਲ ਦੀ ਤਰ੍ਹਾਂ ਵਰਤਣ ਲਈ ਵਿਦਗਿਟ" + +#: ../gtk/gtktoolbutton.c:222 +msgid "Stock Id" +msgstr "ਸਟਾਕ Id" + +#: ../gtk/gtktoolbutton.c:223 +msgid "The stock icon displayed on the item" +msgstr "ਆਈਟਮ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਸਟਾਕ ਆਈਕਾਨ" + +#: ../gtk/gtktoolbutton.c:239 +msgid "Icon name" +msgstr "ਆਈਕਾਨ ਨਾਂ" + +#: ../gtk/gtktoolbutton.c:240 +msgid "The name of the themed icon displayed on the item" +msgstr "ਆਈਟਮ ਉੱਤੇ ਵੇਖਾਉਣ ਲਈ ਸਰੂਪ ਆਈਕਾਨ ਦਾ ਨਾਂ" + +#: ../gtk/gtktoolbutton.c:246 +msgid "Icon widget" +msgstr "ਆਈਕਾਨ ਵਿਦਗਿਟ" + +#: ../gtk/gtktoolbutton.c:247 +msgid "Icon widget to display in the item" +msgstr "ਆਈਕਾਨ ਵਿਦਗਿਟ, ਆਈਟਮ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ" + +#: ../gtk/gtktoolbutton.c:260 +msgid "Icon spacing" +msgstr "ਆਈਕਾਨ ਫਾਸਲਾ" + +#: ../gtk/gtktoolbutton.c:261 +msgid "Spacing in pixels between the icon and label" +msgstr "ਆਈਕਾਨ ਅਤੇ ਲੇਬਲ ਵਿੱਚ ਪਿਕਸਲ ਅਨੁਸਾਰ ਫਾਸਲਾ" + +#: ../gtk/gtktoolitem.c:210 +msgid "" +"Whether the toolbar item is considered important. When TRUE, toolbar buttons " +"show text in GTK_TOOLBAR_BOTH_HORIZ mode" +msgstr "" +"ਕੀ ਟੂਲਬਾਰ ਦੀ ਆਈਟਮ ਨੂੰ ਖਾਸ ਮੰਨਣਾ ਹੈ ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ ਟੂਲਬਾਰ ਦੇ " +"ਬਟਨGTK_TOOLBAR_BOTH_HORIZ " +"ਮੋਡ ਵਿੱਚ ਸ਼ਬਦ ਵੇਖਾਉਣਗੇ।" + +#: ../gtk/gtktoolitemgroup.c:1595 +msgid "The human-readable title of this item group" +msgstr "ਇਹ ਆਈਟਮ ਗਰੁੱਪ ਦਾ ਪੜ੍ਹਨਯੋਗ ਟਾਈਟਲ" + +#: ../gtk/gtktoolitemgroup.c:1602 +msgid "A widget to display in place of the usual label" +msgstr "ਆਮ ਲੇਬਲ ਦੀ ਥਾਂ ਵੇਖਾਉਣ ਲਈ ਵਿਦਜੈੱਟ" + +#: ../gtk/gtktoolitemgroup.c:1608 +msgid "Collapsed" +msgstr "ਸਮੇਟੇ" + +#: ../gtk/gtktoolitemgroup.c:1609 +msgid "Whether the group has been collapsed and items are hidden" +msgstr "ਕੀ ਗਰੁੱਪ ਸਮੇਟਿਆ ਜਾਵੇ ਅਤੇ ਆਈਟਮਾਂ ਓਹਲੇ ਹੋਣ" + +#: ../gtk/gtktoolitemgroup.c:1615 +msgid "ellipsize" +msgstr "ਅੰਡਕਾਰ-ਅਕਾਰ" + +#: ../gtk/gtktoolitemgroup.c:1616 +msgid "Ellipsize for item group headers" +msgstr "ਆਈਟਮ ਗਰੁੱਪ ਹੈੱਡਰਾਂ ਲਈ ਅੰਡਾਕਾਰ" + +#: ../gtk/gtktoolitemgroup.c:1622 +msgid "Header Relief" +msgstr "ਹੈੱਡਰ ਰੀਲਿਫ਼" + +#: ../gtk/gtktoolitemgroup.c:1623 +msgid "Relief of the group header button" +msgstr "ਗਰੁੱਪ ਹੈੱਡਰ ਬਟਨ ਲਈ ਰੀਲਿਫ਼" + +#: ../gtk/gtktoolitemgroup.c:1638 +msgid "Header Spacing" +msgstr "ਹੈੱਡਰ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtktoolitemgroup.c:1639 +msgid "Spacing between expander arrow and caption" +msgstr "ਐਕਸਪੈਂਡਰ ਤੀਰ ਅਤੇ ਸੁਰਖੀ ਵਿੱਚ ਖਾਲੀ ਥਾਂ" + +#: ../gtk/gtktoolitemgroup.c:1655 +msgid "Whether the item should receive extra space when the group grows" +msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਫੈਲਣ ਦੌਰਾਨ ਵਾਧੂ ਥਾਂ ਲਵੇ" + +#: ../gtk/gtktoolitemgroup.c:1662 +msgid "Whether the item should fill the available space" +msgstr "ਕੀ ਆਈਟਮ ਉਪਲੱਬਧ ਥਾਂ ਭਰੇ" + +#: ../gtk/gtktoolitemgroup.c:1668 +msgid "New Row" +msgstr "ਨਵੀਂ ਕਤਾਰ" + +#: ../gtk/gtktoolitemgroup.c:1669 +msgid "Whether the item should start a new row" +msgstr "ਕੀ ਆਈਟਮ ਨਵੀਂ ਕਤਾਰ ਵਿੱਚ ਸ਼ੁਰੂ ਹੋਵੇ" + +#: ../gtk/gtktoolitemgroup.c:1676 +msgid "Position of the item within this group" +msgstr "ਇਸ ਗਰੁੱਪ ਵਿੱਚ ਆਈਟਮ ਦੀ ਸਥਿਤੀ" + +#: ../gtk/gtktoolpalette.c:1033 +msgid "Size of icons in this tool palette" +msgstr "ਇਸ ਟੂਲ ਪਲੇਅਟ ਵਿੱਚ ਆਈਕਾਨਾਂ ਦਾ ਆਕਾਰ" + +#: ../gtk/gtktoolpalette.c:1063 +msgid "Style of items in the tool palette" +msgstr "ਟੂਲ ਪਲੇਅਟ ਵਿੱਚ ਆਈਟਮਾਂ ਦਾ ਸਟਾਈਲ" + +#: ../gtk/gtktoolpalette.c:1079 +msgid "Exclusive" +msgstr "ਖਾਸ" + +#: ../gtk/gtktoolpalette.c:1080 +msgid "Whether the item group should be the only expanded at a given time" +msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਦਿੱਤੇ ਸਮੇਂ ਦੌਰਾਨ ਹੀ ਫੈਲੇ" + +#: ../gtk/gtktoolpalette.c:1095 +msgid "" +"Whether the item group should receive extra space when the palette grows" +msgstr "ਕੀ ਆਈਟਮ ਗਰੁੱਪ ਪਲੇਅਟ ਫੈਲਣ ਦੌਰਾਨ ਵਾਧੂ ਥਾਂ ਲਵੇ" + +#: ../gtk/gtktrayicon-x11.c:135 +msgid "Foreground color for symbolic icons" +msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਫਾਰਗਰਾਊਂਡ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:142 +msgid "Error color" +msgstr "ਗਲਤੀ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:143 +msgid "Error color for symbolic icons" +msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਗਲਤੀ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:150 +msgid "Warning color" +msgstr "ਚੇਤਾਵਨੀ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:151 +msgid "Warning color for symbolic icons" +msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਚੇਤਾਵਨੀ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:158 +msgid "Success color" +msgstr "ਸਫ਼ਲ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:159 +msgid "Success color for symbolic icons" +msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਲਈ ਸਫ਼ਲ ਰੰਗ" + +#: ../gtk/gtktrayicon-x11.c:167 +msgid "Padding that should be put around icons in the tray" +msgstr "ਪੈਡਿੰਗ, ਜੋ ਕਿ ਟਰੇ ਦੇ ਆਈਕਾਨ ਦੁਆਲੇ ਰੱਖਣੀ ਹੈ" + +#: ../gtk/gtktreemenu.c:287 +msgid "TreeMenu model" +msgstr "ਟਰੀ-ਮੇਨੂ ਮਾਡਲ" + +#: ../gtk/gtktreemenu.c:288 +msgid "The model for the tree menu" +msgstr "ਟਰੀ ਮੇਨੂ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtktreemenu.c:310 +msgid "TreeMenu root row" +msgstr "ਟਰੀਮੇਨੂ ਰੂਟ ਕਤਾਰ" + +#: ../gtk/gtktreemenu.c:311 +msgid "The TreeMenu will display children of the specified root" +msgstr "ਟਰੀਮੇਨੂ ਦਿੱਤੇ ਰੂਟ ਲਈ ਚਲਾਈਡ ਵੇਖਾਏਗਾ" + +#: ../gtk/gtktreemenu.c:344 +msgid "Tearoff" +msgstr "ਵੱਖ ਕਰੋ" + +#: ../gtk/gtktreemenu.c:345 +msgid "Whether the menu has a tearoff item" +msgstr "ਕੀ ਮੇਨੂ ਵਿੱਚ ਵੱਖ ਕਰੋ ਆਈਟਮ ਹੋਵੇ" + +#: ../gtk/gtktreemenu.c:361 +msgid "Wrap Width" +msgstr "ਚੌੜਾਈ ਲਪੇਟੋ" + +#: ../gtk/gtktreemenu.c:362 +msgid "Wrap width for laying out items in a grid" +msgstr "ਗਰਿੱਡ ਵਿੱਚ ਆਈਟਮਾਂ ਨੂੰ ਲਪੇਟਣ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtktreemodelsort.c:312 +msgid "TreeModelSort Model" +msgstr "TreeModelSort ਮਾਡਲ" + +#: ../gtk/gtktreemodelsort.c:313 +msgid "The model for the TreeModelSort to sort" +msgstr "TreeModelSort ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtktreeview.c:989 +msgid "TreeView Model" +msgstr "ਟਰੀ-ਵਿਊ ਮਾਡਲ" + +#: ../gtk/gtktreeview.c:990 +msgid "The model for the tree view" +msgstr "ਟਰੀ-ਵਿਊ ਲਈ ਮਾਡਲ" + +#: ../gtk/gtktreeview.c:1002 +msgid "Headers Visible" +msgstr "ਹੈੱਡਰ ਦਿੱਖ" + +#: ../gtk/gtktreeview.c:1003 +msgid "Show the column header buttons" +msgstr "ਕਾਲਮ ਹੈੱਡਰ ਬਟਨ ਵੇਖਾਓ" + +#: ../gtk/gtktreeview.c:1010 +msgid "Headers Clickable" +msgstr "ਹੈੱਡਰ ਦਬਾਉਣਯੋਗ" + +#: ../gtk/gtktreeview.c:1011 +msgid "Column headers respond to click events" +msgstr "ਦਬਾੳਣ ਦੀ ਕਾਰਵਾਈ ਤੇ ਕਾਲਮ ਹੈੱਡਰ ਜਵਾਬਦੇਹ ਹੋਵੇ" + +#: ../gtk/gtktreeview.c:1018 +msgid "Expander Column" +msgstr "ਫੈਲਣਵਾਲਾ ਕਾਲਮ" + +#: ../gtk/gtktreeview.c:1019 +msgid "Set the column for the expander column" +msgstr "ਫੈਲਣਵਾਲਾ ਕਾਲਮ ਲਈ ਕਾਲਮ ਚੁਣੋ" + +#: ../gtk/gtktreeview.c:1034 +msgid "Rules Hint" +msgstr "ਨਿਯਮ ਇਸ਼ਾਰਾ" + +#: ../gtk/gtktreeview.c:1035 +msgid "Set a hint to the theme engine to draw rows in alternating colors" +msgstr "ਬਦਲਵੇ ਰੰਗ ਵਿੱਚ ਕਤਾਰ ਬਣਾਉਣ ਲਈ ਸਰੂਪ-ਇੰਜਣ ਦੇ ਲਈ ਸੰਕੇਤ ਸੈੱਟ ਕਰੋ" + +#: ../gtk/gtktreeview.c:1042 +msgid "Enable Search" +msgstr "ਖੋਜ ਨੂੰ ਯੋਗ ਕਰੋ" + +#: ../gtk/gtktreeview.c:1043 +msgid "View allows user to search through columns interactively" +msgstr "" +"ਦਰਿਸ਼ ਵਰਤਣਵਾਲਿਆ ਨੂੰ ਕਾਲਮਾਂ ਵਿੱਚ ਪ੍ਰਭਾਵਸ਼ਾਲ਼ੀ ਤਰੀਕੇ ਨਾਲ ਖੋਜ ਕਰਨ ਦਿੰਦਾ ਹੈ" + +#: ../gtk/gtktreeview.c:1050 +msgid "Search Column" +msgstr "ਕਾਲਮ ਖੋਜ" + +#: ../gtk/gtktreeview.c:1051 +msgid "Model column to search through during interactive search" +msgstr "ਦਿਲਖਿੱਚਵੀਂ ਖੋਜ ਦੌਰਾਨ ਮਾਡਲ ਕਾਲਮ ਦੀ ਖੋਜ" + +#: ../gtk/gtktreeview.c:1071 +msgid "Fixed Height Mode" +msgstr "ਨਿਸ਼ਚਿਤ ਉਚਾਈ ਮੋਡ" + +#: ../gtk/gtktreeview.c:1072 +msgid "Speeds up GtkTreeView by assuming that all rows have the same height" +msgstr "ਸਾਰੀਆ ਕਤਾਰਾਂ ਦੀ ਨਿਸ਼ਚਿਤ ਉਚਾਈ ਮੰਨ ਕੇ GtkTreeView ਦੀ ਗਤੀ ਵਧਾਉ " + +#: ../gtk/gtktreeview.c:1092 +msgid "Hover Selection" +msgstr "ਹੋਵਰ ਚੋਣ" + +#: ../gtk/gtktreeview.c:1093 +msgid "Whether the selection should follow the pointer" +msgstr "ਕੀ ਚੋਣ ਸੂਚਕ ਦਾ ਪਿੱਛਾ ਕਰੇ" + +#: ../gtk/gtktreeview.c:1112 +msgid "Hover Expand" +msgstr "ਹੋਵਰ ਫੈਲਾਓ" + +#: ../gtk/gtktreeview.c:1113 +msgid "" +"Whether rows should be expanded/collapsed when the pointer moves over them" +msgstr "ਕੀ ਸੂਚਕ ਕਤਾਰਾਂ ਦੇ ਉੱਪਰ ਹੋਣ ਸਮੇਂ ਸਮੇਟੀਆਂ/ਫੈਲਾਈਆਂ ਜਾਣ" + +#: ../gtk/gtktreeview.c:1127 +msgid "Show Expanders" +msgstr "ਫੈਲਣ ਵਾਲੇ ਵੇਖਾਓ" + +#: ../gtk/gtktreeview.c:1128 +msgid "View has expanders" +msgstr "ਫੈਲਾਉਣ ਵਾਲੇ ਵਾਂਗ ਵੇਖਾਓ" + +#: ../gtk/gtktreeview.c:1142 +msgid "Level Indentation" +msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਦਾ ਲੈਵਲ" + +#: ../gtk/gtktreeview.c:1143 +msgid "Extra indentation for each level" +msgstr "ਹਰੇਕ ਲੈਵਲ ਲਈ ਵਾਧੂ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ" + +#: ../gtk/gtktreeview.c:1152 +msgid "Rubber Banding" +msgstr "ਰਬਰ ਬੈਂਗਿੰਡ" + +#: ../gtk/gtktreeview.c:1153 +msgid "" +"Whether to enable selection of multiple items by dragging the mouse pointer" +msgstr "ਮਾਊਸ ਸੰਕੇਤਕ ਰਾਹੀਂ ਚੁੱਕ ਕੇ ਕਈ ਆਈਟਮਾਂ ਦੀ ਚੋਣ ਨੂੰ ਮਨਜ਼ੂਰ ਕਰਨਾ ਹੈ" + +#: ../gtk/gtktreeview.c:1160 +msgid "Enable Grid Lines" +msgstr "ਗਰਿੱਡ ਲਾਈਨਾਂ ਯੋਗ" + +#: ../gtk/gtktreeview.c:1161 +msgid "Whether grid lines should be drawn in the tree view" +msgstr "ਕੀ ਲੜੀ ਝਲਕ ਵਿੱਚ ਗਰਿੱਡ ਲਾਈਨਾਂ ਵੇਖਾਉਣੀਆਂ ਹਨ" + +#: ../gtk/gtktreeview.c:1169 +msgid "Enable Tree Lines" +msgstr "ਲੜੀ ਲਾਈਨਾਂ ਯੋਗ" + +#: ../gtk/gtktreeview.c:1170 +msgid "Whether tree lines should be drawn in the tree view" +msgstr "ਕੀ ਲੜੀ ਝਲਕ ਵਿੱਚ ਲੜੀ ਲਾਈਨਾਂ ਖਿੱਚੀਆਂ ਜਾਣ" + +#: ../gtk/gtktreeview.c:1178 +msgid "The column in the model containing the tooltip texts for the rows" +msgstr "ਮਾਡਲ ਵਿੱਚ ਕਾਲਮ, ਜੋ ਕਿ ਕਤਾਰਾਂ ਲਈ ਟੂਲ-ਟਿੱਪ ਟੈਕਸਟ ਰੱਖਦਾ ਹੈ" + +#: ../gtk/gtktreeview.c:1200 +msgid "Vertical Separator Width" +msgstr "ਲੰਬਕਾਰੀ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਈ" + +#: ../gtk/gtktreeview.c:1201 +msgid "Vertical space between cells. Must be an even number" +msgstr "ਸੈੱਲ਼ਾਂ ਵਿੱਚਕਾਰ ਲੰਬਕਾਰੀ ਖਾਲੀ ਚੌੜਾਈ, ਜਿਸਤ ਸੰਖਿਆ ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ" + +#: ../gtk/gtktreeview.c:1209 +msgid "Horizontal Separator Width" +msgstr "ਲੇਟਵੇ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ" + +#: ../gtk/gtktreeview.c:1210 +msgid "Horizontal space between cells. Must be an even number" +msgstr "ਸੈੱਲ਼ਾਂ ਵਿੱਚਕਾਰ ਲੇਟਵੀ ਖਾਲੀ ਚੌੜਾਈ, ਜਿਸਤ ਸੰਖਿਆ ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ" + +#: ../gtk/gtktreeview.c:1218 +msgid "Allow Rules" +msgstr "ਰੂਲ ਮਨਜ਼ੂਰ" + +#: ../gtk/gtktreeview.c:1219 +msgid "Allow drawing of alternating color rows" +msgstr "ਬਦਲਵੇ ਰੰਗ ਦੀਆ ਕਤਾਰਾਂ ਬਣਾਉਣ ਨੂੰ ਚਾਲੂ ਕਰੋ" + +#: ../gtk/gtktreeview.c:1225 +msgid "Indent Expanders" +msgstr "ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰੀ ਨੂੰ ਫੈਲਾਓ" + +#: ../gtk/gtktreeview.c:1226 +msgid "Make the expanders indented" +msgstr "ਫੈਲਾਉ ਨੂੰ ਹਾਸ਼ੀਏ ਤੋਂ ਦੂਰ ਬਣਾਓ" + +#: ../gtk/gtktreeview.c:1232 +msgid "Even Row Color" +msgstr "ਜਿਸਤ ਕਤਾਰ ਦਾ ਰੰਗ" + +#: ../gtk/gtktreeview.c:1233 +msgid "Color to use for even rows" +msgstr "ਜਿਸਤ ਕਤਾਰ ਲਈ ਵਰਤਣ ਵਾਲਾ ਰੰਗ" + +#: ../gtk/gtktreeview.c:1239 +msgid "Odd Row Color" +msgstr "ਟਾਂਕ ਕਤਾਰ ਦਾ ਰੰਗ" + +#: ../gtk/gtktreeview.c:1240 +msgid "Color to use for odd rows" +msgstr "ਟਾਂਕ ਕਤਾਰ ਲਈ ਵਰਤਣ ਵਾਲਾ ਰੰਗ" + +#: ../gtk/gtktreeview.c:1246 +msgid "Grid line width" +msgstr "ਗਰਿੱਡ ਲਾਈਨ ਚੌੜਾਈ" + +#: ../gtk/gtktreeview.c:1247 +msgid "Width, in pixels, of the tree view grid lines" +msgstr "ਟਰੀ ਝਲਕ ਗਰਿੱਡ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ ਵਿੱਚ" + +#: ../gtk/gtktreeview.c:1253 +msgid "Tree line width" +msgstr "ਟਰੀ ਲਾਈਨ ਚੌੜਾਈ" + +#: ../gtk/gtktreeview.c:1254 +msgid "Width, in pixels, of the tree view lines" +msgstr "ਲੜੀ ਝਲਕ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ ਪਿਕਸਲ ਵਿੱਚ" + +#: ../gtk/gtktreeview.c:1260 +msgid "Grid line pattern" +msgstr "ਗਰਿੱਡ ਲਾਈਨ ਪੈਟਰਨ" + +#: ../gtk/gtktreeview.c:1261 +msgid "Dash pattern used to draw the tree view grid lines" +msgstr "ਲੜੀ ਝਲਕ ਗਰਿੱਡ ਲਾਈਨਾਂ ਖਿੱਚਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਡੈਸ਼ ਪੈਟਰਨ" + +#: ../gtk/gtktreeview.c:1267 +msgid "Tree line pattern" +msgstr "ਟਰੀ ਲਾਈਨ ਪੈਟਰਨ" + +#: ../gtk/gtktreeview.c:1268 +msgid "Dash pattern used to draw the tree view lines" +msgstr "ਲੜੀ ਝਲਕ ਲਾਈਨਾਂ ਖਿੱਚਣ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਡੈਸ਼ ਪੈਟਰਨ" + +#: ../gtk/gtktreeviewcolumn.c:244 +msgid "Whether to display the column" +msgstr "ਕੀ ਕਾਲਮ ਵੇਖਾਉਣਾ ਹੈ" + +#: ../gtk/gtktreeviewcolumn.c:251 ../gtk/gtkwindow.c:645 +msgid "Resizable" +msgstr "ਮੁੜ-ਆਕਾਰਯੋਗ" + +#: ../gtk/gtktreeviewcolumn.c:252 +msgid "Column is user-resizable" +msgstr "ਕਾਲਮ ਵਰਤਣਵਾਲੇ ਰਾਹੀਂ ਮੁੜ-ਅਕਾਰਯੋਗ ਹੈ" + +#: ../gtk/gtktreeviewcolumn.c:260 +msgid "Current width of the column" +msgstr "ਕਾਲਮ ਦੀ ਮੌਜੂਦਾ ਚੌੜਾਈ" + +#: ../gtk/gtktreeviewcolumn.c:277 +msgid "Sizing" +msgstr "ਅਕਾਰ" + +#: ../gtk/gtktreeviewcolumn.c:278 +msgid "Resize mode of the column" +msgstr "ਕਾਲਮ ਦਾ ਮੁੜ-ਅਕਾਰ ਮੋਡ" + +#: ../gtk/gtktreeviewcolumn.c:286 +msgid "Fixed Width" +msgstr "ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" + +#: ../gtk/gtktreeviewcolumn.c:287 +msgid "Current fixed width of the column" +msgstr "ਕਾਲਮ ਦੀ ਮੌਜੂਦਾ ਨਿਸ਼ਚਿਤ ਚੌੜਾਈ" + +#: ../gtk/gtktreeviewcolumn.c:297 +msgid "Minimum allowed width of the column" +msgstr "ਕਾਲਮ ਦੀ ਘੱਟੋ-ਘੱਟ ਲਾਗੂ ਚੌੜਾਈ" + +#: ../gtk/gtktreeviewcolumn.c:306 +msgid "Maximum Width" +msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਚੌੜਾਈ" + +#: ../gtk/gtktreeviewcolumn.c:307 +msgid "Maximum allowed width of the column" +msgstr "ਕਾਲਮ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ ਲਾਗੂ ਚੌੜਾਈ" + +#: ../gtk/gtktreeviewcolumn.c:317 +msgid "Title to appear in column header" +msgstr "ਕਾਲਮ ਦੇ ਹੈੱਡਰ ਉੱਤੇ ਦਿੱਸਣ ਵਾਲਾ ਕਾਲਮ" + +#: ../gtk/gtktreeviewcolumn.c:325 +msgid "Column gets share of extra width allocated to the widget" +msgstr "ਵਿਦਗਿਟ ਨੂੰ ਦਿੱਤੀ ਗਈ ਵਾਧੂ ਚੌੜਾਈ ਵਿੱਚੋਂ ਕਾਲਮ ਹਿੱਸਾ ਪਰਾਪਤ ਕਰੇ" + +#: ../gtk/gtktreeviewcolumn.c:332 +msgid "Clickable" +msgstr "ਕਲਿੱਕ-ਯੋਗ" + +#: ../gtk/gtktreeviewcolumn.c:333 +msgid "Whether the header can be clicked" +msgstr "ਕੀ ਹੈੱਡਰ ਦਬਾਉਣਯੋਗ ਹੋਵੇ" + +#: ../gtk/gtktreeviewcolumn.c:341 +msgid "Widget" +msgstr "ਵਿਦਗਿਟ" + +#: ../gtk/gtktreeviewcolumn.c:342 +msgid "Widget to put in column header button instead of column title" +msgstr "ਕਾਲਮ ਹੈੱਡਰ ਦੀ ਬਜਾਏ ਕਾਲਮ ਟਾਈਟਲ ਬਟਨ ਲਗਾਉਣ ਲਈ ਵਿਦਗਿਟ" + +#: ../gtk/gtktreeviewcolumn.c:350 +msgid "X Alignment of the column header text or widget" +msgstr "ਕਾਲਮ ਹੈੱਡਰ ਦੇ ਟੈਕਸਟ ਜਾਂ ਵਿਦਗਿਟ ਦੀ X ਸ਼ਫਬੰਦੀ" + +#: ../gtk/gtktreeviewcolumn.c:360 +msgid "Whether the column can be reordered around the headers" +msgstr "ਕੀ ਕਾਲਮ ਹੈੱਡਰ ਦੁਆਲੇ ਮੁੜ-ਕਰਮਬੱਧ ਹੋਣ ਦੇ ਯੋਗ ਹੈ" + +#: ../gtk/gtktreeviewcolumn.c:367 +msgid "Sort indicator" +msgstr "ਕ੍ਰਮ ਇੰਡੀਕੇਟਰ" + +#: ../gtk/gtktreeviewcolumn.c:368 +msgid "Whether to show a sort indicator" +msgstr "ਕੀ ਕ੍ਰਮ ਸੰਕੇਤਕ ਨੂੰ ਵੇਖਾਉਣਾ ਹੈ" + +#: ../gtk/gtktreeviewcolumn.c:375 +msgid "Sort order" +msgstr "ਕ੍ਰਮ ਪੈਟਰਨ" + +#: ../gtk/gtktreeviewcolumn.c:376 +msgid "Sort direction the sort indicator should indicate" +msgstr "ਕ੍ਰਮ ਦਿਸ਼ਾ, ਜੋ ਕਿ ਕ੍ਰਮ ਸੰਕੇਤਕ ਵੇਖਾਵੇ" + +#: ../gtk/gtktreeviewcolumn.c:392 +msgid "Sort column ID" +msgstr "ਲੜੀਬੱਧ ਕਾਲਮ ID" + +#: ../gtk/gtktreeviewcolumn.c:393 +msgid "Logical sort column ID this column sorts on when selected for sorting" +msgstr "ਜਦੋਂ ਲੜੀਬੱਧ ਦੀ ਚੋਣ ਕੀਤੀ ਜਾਵੇ ਤਾਂ ਕਾਲਮ ਲੜੀਬੱਧ ਕਰਨ ਲਈ ਲਾਜ਼ੀਕਲ ਕਾਲਮ ID" + +#: ../gtk/gtkuimanager.c:226 +msgid "Whether tearoff menu items should be added to menus" +msgstr "ਮੇਨੂ ਆਈਟਮ ਨੂੰ ਵੱਖ-ਕਰਨ ਵਾਲਾ ਨੂੰ ਮੇਨੂ ਵਿੱਚ ਜੋੜਨਾ ਹੈ" + +#: ../gtk/gtkuimanager.c:233 +msgid "Merged UI definition" +msgstr "ਰੱਲਗੱਡ UI ਪਰਿਭਾਸ਼ਾ" + +#: ../gtk/gtkuimanager.c:234 +msgid "An XML string describing the merged UI" +msgstr "ਰੱਲਗੱਡ UI ਪਰੀਭਾਸ਼ਾ ਨੂੰ ਦਰਸਾਉਣ ਲਈ XML ਦੀ ਸਤਰ" + +#: ../gtk/gtkviewport.c:154 +msgid "Determines how the shadowed box around the viewport is drawn" +msgstr "ਵਿਊ-ਪੋਰਟ ਦੇ ਦੁਆਲੇ ਪਰਛਾਵਾਂ-ਡੱਬਾ ਕਿਵੇਂ ਖਿੱਚਿਆ ਜਾਵੇਗਾ" + +#: ../gtk/gtkvolumebutton.c:156 +msgid "Use symbolic icons" +msgstr "ਸਿੰਬਲ ਆਈਕਾਨ ਵਰਤੋਂ" + +#: ../gtk/gtkvolumebutton.c:157 +msgid "Whether to use symbolic icons" +msgstr "ਕੀ ਸਿੰਬਲ ਆਈਕਾਨ ਵਰਤਣੇ ਹਨ" + +#: ../gtk/gtkwidget.c:901 +msgid "Widget name" +msgstr "ਵਿਦਗਿਟ ਨਾਂ" + +#: ../gtk/gtkwidget.c:902 +msgid "The name of the widget" +msgstr "ਵਿਦਗਿਟ ਦਾ ਨਾਂ" + +#: ../gtk/gtkwidget.c:908 +msgid "Parent widget" +msgstr "ਪੇਰੈਟ ਵਿਦਗਿਟ" + +#: ../gtk/gtkwidget.c:909 +msgid "The parent widget of this widget. Must be a Container widget" +msgstr "ਇਸ ਵਿਦਗਿਟ ਦਾ ਪੇਰੈਟ ਵਿਦਗਿਟ ਇੱਕ ਕੰਨਟੇਨਰ ਵਿਦਗਿਟ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ " + +#: ../gtk/gtkwidget.c:916 +msgid "Width request" +msgstr "ਵਿਦਗਿਟ ਬੇਨਤੀ" + +#: ../gtk/gtkwidget.c:917 +msgid "" +"Override for width request of the widget, or -1 if natural request should be " +"used" +msgstr "ਵਿਦਗਿਟ ਲਈ ਚੌੜਾਈ ਦੀ ਮੰਗ ਨੂੰ ਉੱਤੇ ਲਿਖ ਦਿਉ, ਜਾਂ -1 ਕੁਦਰਤੀ ਮੰਗ ਹੀ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkwidget.c:925 +msgid "Height request" +msgstr "ਉਚਾਈ ਬੇਨਤੀ" + +#: ../gtk/gtkwidget.c:926 +msgid "" +"Override for height request of the widget, or -1 if natural request should " +"be used" +msgstr "ਵਿਦਗਿਟ ਲਈ ਉਚਾਈ ਦੀ ਮੰਗ ਨੂੰ ਉੱਤੇ ਲਿਖ ਦਿਉ, ਜਾਂ -1 ਕੁਦਰਤੀ ਮੰਗ ਹੀ ਵਰਤਣੀ ਹੈ " + +#: ../gtk/gtkwidget.c:935 +msgid "Whether the widget is visible" +msgstr "ਕੀ ਵਿਦਗਿਟ ਵੇਖਣਯੋਗ ਹੈ" + +#: ../gtk/gtkwidget.c:942 +msgid "Whether the widget responds to input" +msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਨੂੰ ਜਵਾਬਦੇਹ ਹੋਵੇ" + +#: ../gtk/gtkwidget.c:948 +msgid "Application paintable" +msgstr "ਕਾਰਜ ਚਿੱਤਰਯੋਗ" + +#: ../gtk/gtkwidget.c:949 +msgid "Whether the application will paint directly on the widget" +msgstr "ਕੀ ਕਾਰਜ ਵਿਦਗਿਟ ਤੇ ਸਿੱਧਾ ਹੀ ਚਿੱਤਰਕਾਰੀ ਕਰ ਸਕੇ" + +#: ../gtk/gtkwidget.c:955 +msgid "Can focus" +msgstr "ਫੋਕਸ ਹੋ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkwidget.c:956 +msgid "Whether the widget can accept the input focus" +msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਫੋਕਸ ਲਾਗੂ ਕਰ ਸਕੇ" + +#: ../gtk/gtkwidget.c:962 +msgid "Has focus" +msgstr "ਫੋਕਸ ਹੈ" + +#: ../gtk/gtkwidget.c:963 +msgid "Whether the widget has the input focus" +msgstr "ਕੀ ਵਿਦਗਿਟ ਇੰਪੁੱਟ ਫੋਕਸ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਹੈ" + +#: ../gtk/gtkwidget.c:969 +msgid "Is focus" +msgstr "ਫੋਕਸ ਹੈ" + +#: ../gtk/gtkwidget.c:970 +msgid "Whether the widget is the focus widget within the toplevel" +msgstr "ਕੀ ਵਿਦਗਿਟ ਸਿਰੇ ਦੀ ਸਥਿਤੀ ਵਿੱਚ ਵਿਦਗਿਟ ਫੋਕਸ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਹੈ" + +#: ../gtk/gtkwidget.c:976 +msgid "Can default" +msgstr "ਡਿਫਾਲਟ ਹੋ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkwidget.c:977 +msgid "Whether the widget can be the default widget" +msgstr "ਕੀ ਵਿਦਗਿਟ ਮੂਲ ਵਿਦਗਿਟ ਬਣ ਸਕੇ" + +#: ../gtk/gtkwidget.c:983 +msgid "Has default" +msgstr "ਡਿਫਾਲਟ ਹੈ" + +#: ../gtk/gtkwidget.c:984 +msgid "Whether the widget is the default widget" +msgstr "ਕੀ ਵਿਦਗਿਟ ਮੂਲ ਵਿਦਗਿਟ ਹੈ" + +#: ../gtk/gtkwidget.c:990 +msgid "Receives default" +msgstr "ਡਿਫਾਲਟ ਲੈ ਸਕੇ" + +#: ../gtk/gtkwidget.c:991 +msgid "If TRUE, the widget will receive the default action when it is focused" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਵਿਦਗਿਟ ਮੂਲ ਕਾਰਵਾਈ ਕਰੇਗੇ, ਜਦੋਂ ਕਿ ਇਹ ਕੇਦਰਿਤ ਹੋਵੇਗਾ" + +#: ../gtk/gtkwidget.c:997 +msgid "Composite child" +msgstr "ਯੋਗਿਕ ਚਲਾਇਡ" + +#: ../gtk/gtkwidget.c:998 +msgid "Whether the widget is part of a composite widget" +msgstr "ਕੀ ਵਿਦਗਿਟ ਯੋਗਿਕ ਵਿਦਗਿਟ ਦਾ ਹਿੱਸਾ ਹੈ" + +#: ../gtk/gtkwidget.c:1004 +msgid "Style" +msgstr "ਸਟਾਇਲ" + +#: ../gtk/gtkwidget.c:1005 +msgid "" +"The style of the widget, which contains information about how it will look " +"(colors etc)" +msgstr "" +"ਵਿਦਗਿਟ ਦਾ ਸਟਾਇਲ, ਜੋ ਕਿ ਇਹ ਜਾਣਕਾਰੀ ਰੱਖਦਾ ਹੈ ਇਹ ਕਿਸਤਰਾਂ ਦਾ ਦਿੱਸੇਗਾ (ਜਿਵੇਂ ਰੰਗ " +"ਆਦਿ)" + +#: ../gtk/gtkwidget.c:1011 +msgid "Events" +msgstr "ਘਟਨਾਵਾਂ" + +#: ../gtk/gtkwidget.c:1012 +msgid "The event mask that decides what kind of GdkEvents this widget gets" +msgstr "" +"ਘਟਨਾ-ਮਖੌਟਾ, ਜੋ ਕਿ ਇਹ ਸੈੱਟ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਵਿਦਗਿਟ ਕਿਸਤਰ੍ਹਾਂ ਦਾ GdkEvents ਨੂੰ " +"ਪਰਾਪਤ ਕਰਦਾ ਹੈ" + +#: ../gtk/gtkwidget.c:1019 +msgid "No show all" +msgstr "ਸਭ ਨਾ ਵੇਖਾਓ" + +#: ../gtk/gtkwidget.c:1020 +msgid "Whether gtk_widget_show_all() should not affect this widget" +msgstr "ਕੀ gtk_widget_show_all() ਸਾਰੇ ਵਿਦਗਿਟ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਨਾ ਕਰੇ" + +#: ../gtk/gtkwidget.c:1043 +msgid "Whether this widget has a tooltip" +msgstr "ਕੀ ਇਹ ਵਿਦਗਿਟ ਉੱਤੇ ਟੂਲ-ਟਿੱਪ ਹੋਣ" + +#: ../gtk/gtkwidget.c:1099 +msgid "Window" +msgstr "ਵਿੰਡੋ" + +#: ../gtk/gtkwidget.c:1100 +msgid "The widget's window if it is realized" +msgstr "ਜੇ ਮੰਨਿਆ ਜਾਵੇ ਤਾਂ ਵਿਡਜੈੱਟ ਦੀ ਵਿੰਡੋ" + +#: ../gtk/gtkwidget.c:1114 +msgid "Double Buffered" +msgstr "ਦੂਹਰਾ ਬਫਰ" + +#: ../gtk/gtkwidget.c:1115 +msgid "Whether the widget is double buffered" +msgstr "ਕੀ ਵਿਦਗਿਟ ਦੂਹਰਾ ਬਫ਼ਰ ਹੋਵੇ" + +#: ../gtk/gtkwidget.c:1130 +msgid "How to position in extra horizontal space" +msgstr "ਵਾਧੂ ਹਰੀਜੱਟਲ ਥਾਂ ਵਿੱਚ ਸਥਿਤੀ ਕਿਵੇਂ" + +#: ../gtk/gtkwidget.c:1146 +msgid "How to position in extra vertical space" +msgstr "ਵਾਧੂ ਵਰਟੀਕਲ ਥਾਂ ਵਿੱਚ ਸਥਿਤੀ ਕਿਵੇਂ" + +#: ../gtk/gtkwidget.c:1165 +msgid "Margin on Left" +msgstr "ਖੱਬੇ ਤੋਂ ਫਾਸਲਾ" + +#: ../gtk/gtkwidget.c:1166 +msgid "Pixels of extra space on the left side" +msgstr "ਖੱਬੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" + +#: ../gtk/gtkwidget.c:1186 +msgid "Margin on Right" +msgstr "ਸੱਜੇ ਤੋਂ ਫਾਸਲਾ" + +#: ../gtk/gtkwidget.c:1187 +msgid "Pixels of extra space on the right side" +msgstr "ਸੱਜੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" + +#: ../gtk/gtkwidget.c:1207 +msgid "Margin on Top" +msgstr "ਉੱਤੇ ਤੋਂ ਫਾਸਲਾ" + +#: ../gtk/gtkwidget.c:1208 +msgid "Pixels of extra space on the top side" +msgstr "ਉੱਤਲੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" + +#: ../gtk/gtkwidget.c:1228 +msgid "Margin on Bottom" +msgstr "ਹੇਠਾਂ ਤੋਂ ਫਾਸਲਾ" + +#: ../gtk/gtkwidget.c:1229 +msgid "Pixels of extra space on the bottom side" +msgstr "ਹੇਠਲੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" + +#: ../gtk/gtkwidget.c:1246 +msgid "All Margins" +msgstr "ਸਭ ਫਾਸਲੇ" + +#: ../gtk/gtkwidget.c:1247 +msgid "Pixels of extra space on all four sides" +msgstr "ਸਭ ਚਾਰੇ ਪਾਸੇ ਉੱਤੇ ਵਾਧੂ ਥਾਂ ਪਿਕਸਲਾਂ 'ਚ" + +#: ../gtk/gtkwidget.c:1280 +msgid "Horizontal Expand" +msgstr "ਹਰੀਜੱਟਲ ਫੈਲਾਉ" + +#: ../gtk/gtkwidget.c:1281 +msgid "Whether widget wants more horizontal space" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਨੂੰ ਹੋਰ ਹਰੀਜੱਟਲ ਥਾਂ ਚਾਹੀਦੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1295 +msgid "Horizontal Expand Set" +msgstr "ਹਰੀਜੱਟਲ ਫੈਲਾਉ ਸੈੱਟ" + +#: ../gtk/gtkwidget.c:1296 +msgid "Whether to use the hexpand property" +msgstr "ਕੀ ਹੈਕਸਾਪੈਂਡ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1310 +msgid "Vertical Expand" +msgstr "ਵਰਟੀਕਲ ਫੈਲਾਓ" + +#: ../gtk/gtkwidget.c:1311 +msgid "Whether widget wants more vertical space" +msgstr "ਕੀ ਵਿਦਜੈੱਟ ਨੂੰ ਹੋਰ ਵਰਟੀਕਲ ਥਾਂ ਚਾਹੀਦੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1325 +msgid "Vertical Expand Set" +msgstr "ਵਰਟੀਕਲ ਫੈਲਾਉ ਸੈੱਟ" + +#: ../gtk/gtkwidget.c:1326 +msgid "Whether to use the vexpand property" +msgstr "ਕੀ ਵੈਕਸਪੈਂਡ ਵਿਸ਼ੇਸ਼ਤਾ ਵਰਤਣੀ ਹੈ" + +#: ../gtk/gtkwidget.c:1340 +msgid "Expand Both" +msgstr "ਦੋਵੇਂ ਫੈਲਾਓ" + +#: ../gtk/gtkwidget.c:1341 +msgid "Whether widget wants to expand in both directions" +msgstr "ਕੀ ਵਿਦਜੈਟ ਨੂੰ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਫੈਲਣ ਦੀ ਲੋੜ ਹੈ" + +#: ../gtk/gtkwidget.c:3000 +msgid "Interior Focus" +msgstr "ਅੰਦਰੂਨੀ ਫੋਕਸ" + +#: ../gtk/gtkwidget.c:3001 +msgid "Whether to draw the focus indicator inside widgets" +msgstr "ਕੀ ਵਿਦਗਿਟ ਵਿੱਚ ਫੋਕਸ ਸੰਕੇਤਕ ਬਣਾਉਣਾ ਹੈ" + +#: ../gtk/gtkwidget.c:3007 +msgid "Focus linewidth" +msgstr "ਫੋਕਸ ਰੇਖਾ-ਚੌੜਾਈ" + +#: ../gtk/gtkwidget.c:3008 +msgid "Width, in pixels, of the focus indicator line" +msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਲਾਈਨ ਦੀ ਚੌੜਾਈ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" + +#: ../gtk/gtkwidget.c:3014 +msgid "Focus line dash pattern" +msgstr "ਫੋਕਸ ਲਾਈਨ ਡੈਸ ਪੈਟਰਨ" + +#: ../gtk/gtkwidget.c:3015 +msgid "Dash pattern used to draw the focus indicator" +msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਨੂੰ ਬਣਾਉਣ ਲਈ ਡੱਬੀਦਾਰ ਪੈਟਰਨ" + +#: ../gtk/gtkwidget.c:3020 +msgid "Focus padding" +msgstr "ਫੋਕਸ ਪੈਡਿੰਗ" + +#: ../gtk/gtkwidget.c:3021 +msgid "Width, in pixels, between focus indicator and the widget 'box'" +msgstr "ਫੋਕਸ ਸੰਕੇਤਕ ਅਤੇ ਵਿਦਗਿਟ 'ਡੱਬੇ' ਵਿਚਕਾਰ ਦੀ ਚੌੜਾਈ (ਪਿਕਸਲਾਂ ਵਿੱਚ)" + +#: ../gtk/gtkwidget.c:3026 +msgid "Cursor color" +msgstr "ਕਰਸਰ ਰੰਗ" + +#: ../gtk/gtkwidget.c:3027 +msgid "Color with which to draw insertion cursor" +msgstr "ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਬਣਾਉਣ ਵਾਲਾ ਰੰਗ" + +#: ../gtk/gtkwidget.c:3032 +msgid "Secondary cursor color" +msgstr "ਸੈਕੰਡਰੀ ਕਰਸਰ ਰੰਗ" + +#: ../gtk/gtkwidget.c:3033 +msgid "" +"Color with which to draw the secondary insertion cursor when editing mixed " +"right-to-left and left-to-right text" +msgstr "" +"ਰੰਗ, ਜਿਸ ਨਾਲ ਸੈਕੰਡਰੀ ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਬਣਾਈ ਜਾਵੇਗੀ, ਜਦੋਂ ਕਿ ਸੱਜੇ ਤੋਂ ਖੱਬੇ ਤੇ ਖੱਬੇ " +"ਤੋਂ ਸੱਜੇ ਟੈਕਸਟ ਦੇ " +"ਰਲਵੇ ਨੂੰ ਸੋਧਣਾ ਹੈ" + +#: ../gtk/gtkwidget.c:3038 +msgid "Cursor line aspect ratio" +msgstr "ਕਰਸਰ ਲਾਈਨ ਅਕਾਰ ਅਨੁਪਾਤ" + +#: ../gtk/gtkwidget.c:3039 +msgid "Aspect ratio with which to draw insertion cursor" +msgstr "ਵਿਚਕਾਰਲੀ ਕਰਸਰ ਖਿੱਚਣ ਲਈ ਅਕਾਰ ਅਨੁਪਾਤ" + +#: ../gtk/gtkwidget.c:3045 +msgid "Window dragging" +msgstr "ਵਿੰਡੋ ਡਰੈਗਿੰਗ" + +#: ../gtk/gtkwidget.c:3046 +msgid "Whether windows can be dragged by clicking on empty areas" +msgstr "ਕੀ ਵਿੰਡੋ ਨੂੰ ਖਾਲੀ ਖੇਤਰਾਂ 'ਚ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਡਰੈਗ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkwidget.c:3059 +msgid "Unvisited Link Color" +msgstr "ਨਾ-ਖੋਲ੍ਹੇ ਲਿੰਕ ਰੰਗ" + +#: ../gtk/gtkwidget.c:3060 +msgid "Color of unvisited links" +msgstr "ਨਾ-ਖੋਲ੍ਹੇ ਲਿੰਕਾਂ ਦਾ ਰੰਗ ਹੈ" + +#: ../gtk/gtkwidget.c:3073 +msgid "Visited Link Color" +msgstr "ਖੋਲ੍ਹੇ ਲਿੰਕ ਰੰਗ" + +#: ../gtk/gtkwidget.c:3074 +msgid "Color of visited links" +msgstr "ਖੋਲ੍ਹੇ ਗਏ ਲਿੰਕਦਾ ਰੰਗ" + +#: ../gtk/gtkwidget.c:3088 +msgid "Wide Separators" +msgstr "ਖੁੱਲ੍ਹੇ ਵੱਖਰੇਵੇਂ" + +#: ../gtk/gtkwidget.c:3089 +msgid "" +"Whether separators have configurable width and should be drawn using a box " +"instead of a line" +msgstr "" +"ਕੀ ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ ਸੰਰਚਨਾ ਯੋਗ ਹੋਵੇ ਅਤੇ ਇੱਕ ਸਤਰ ਦੀ ਬਜਾਏ ਇੱਕ ਬਕਸਾ ਖਿੱਚਣ ਦੇ ਯੋਗ " +"ਹੋਵੇ" + +#: ../gtk/gtkwidget.c:3103 +msgid "Separator Width" +msgstr "ਵੱਖਰੇਵਾ ਚੌੜਾਈ" + +#: ../gtk/gtkwidget.c:3104 +msgid "The width of separators if wide-separators is TRUE" +msgstr "ਵੱਖਰੇਵੇ ਦੀ ਚੌੜਾਈ, ਜੇਕਰ ਖੁੱਲ੍ਹਾ-ਵੱਖਰੇਵਾ ਸੱਚ ਹੋਵੇ" + +#: ../gtk/gtkwidget.c:3118 +msgid "Separator Height" +msgstr "ਵੱਖਰੇਵਾ ਉਚਾਈ" + +#: ../gtk/gtkwidget.c:3119 +msgid "The height of separators if \"wide-separators\" is TRUE" +msgstr "ਵੱਖਰੇਵੇ ਦੀ ਉਚਾਈ, ਜੇਕਰ \"ਖੁੱਲ੍ਹਾ-ਵੱਖਰੇਵਾ\" ਸੱਚ ਹੋਵੇ" + +#: ../gtk/gtkwidget.c:3133 +msgid "Horizontal Scroll Arrow Length" +msgstr "ਖਿਤਿਜੀ ਸਰਕੋਲ ਤੀਰ ਲੰਬਾਈ" + +#: ../gtk/gtkwidget.c:3134 +msgid "The length of horizontal scroll arrows" +msgstr "ਖਿਤਿਜੀ ਸਕਰੋਲ ਤੀਰਾਂ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkwidget.c:3148 +msgid "Vertical Scroll Arrow Length" +msgstr "ਲੰਬਕਾਰੀ ਸਕਰੋਲ ਤੀਰ ਲੰਬਾਈ" + +#: ../gtk/gtkwidget.c:3149 +msgid "The length of vertical scroll arrows" +msgstr "ਲੰਬਕਾਰੀ ਸਕਰੋਲ ਤੀਰਾਂ ਦੀ ਲੰਬਾਈ" + +#: ../gtk/gtkwindow.c:603 +msgid "Window Type" +msgstr "ਵਿੰਡੋ ਟਾਈਪ" + +#: ../gtk/gtkwindow.c:604 +msgid "The type of the window" +msgstr "ਵਿੰਡੋ ਦੀ ਕਿਸਮ" + +#: ../gtk/gtkwindow.c:612 +msgid "Window Title" +msgstr "ਵਿੰਡੋ ਟਾਈਟਲ" + +#: ../gtk/gtkwindow.c:613 +msgid "The title of the window" +msgstr "ਵਿੰਡੋ ਦਾ ਟਾਈਟਲ" + +#: ../gtk/gtkwindow.c:620 +msgid "Window Role" +msgstr "ਵਿੰਡੋ ਰੂਲ" + +#: ../gtk/gtkwindow.c:621 +msgid "Unique identifier for the window to be used when restoring a session" +msgstr "ਵਿੰਡੋ ਲਈ ਇਕਸਾਰ ਸ਼ਨਾਖਤੀ ਜੋ ਕਿ ਸ਼ੈਸ਼ਨ ਨੁੰ ਮੁੜ-ਸੰਭਾਲਣ ਸਮੇ ਵਰਤਿਆ ਜਾ ਸਕੇ" + +#: ../gtk/gtkwindow.c:637 +msgid "Startup ID" +msgstr "ਸ਼ੁਰੂਆਤੀ ID" + +#: ../gtk/gtkwindow.c:638 +msgid "Unique startup identifier for the window used by startup-notification" +msgstr "" +"ਵਿੰਡੋ ਲਈ ਵਿਲੱਖਣ ਸ਼ੁਰੂਆਤੀ ਸ਼ਨਾਖਤੀ, ਜੋ ਕਿ ਸ਼ੁਰੂਆਤੀ ਸੂਚਨਾ ਵਜੋਂ ਵਰਤਿਆ ਜਾਵੇ।" + +#: ../gtk/gtkwindow.c:646 +msgid "If TRUE, users can resize the window" +msgstr "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਯੂਜ਼ਰ ਵਿੰਡ ਦਾ ਮੁੜ-ਅਕਾਰ ਕਰ ਸਕਦਾ ਹੈ" + +#: ../gtk/gtkwindow.c:653 +msgid "Modal" +msgstr "ਮਾਡਲ" + +#: ../gtk/gtkwindow.c:654 +msgid "" +"If TRUE, the window is modal (other windows are not usable while this one is " +"up)" +msgstr "" +"ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ, ਵਿੰਡੋ ਮਾਡਲ ਹੋਵੇਗੀ (ਹੋਰ ਵਿੰਡੋ ਉਪਲੱਬਧ ਨਹੀਂ ਹੋ ਸਕਣਗੇ, ਜਦੋਂ ਕਿ " +"ਇੱਕ ਨੂੰ ਵਰਤ ਰਹੇ ਹੋ)" + +#: ../gtk/gtkwindow.c:661 +msgid "Window Position" +msgstr "ਵਿੰਡੋ ਸਥਿਤੀ" + +#: ../gtk/gtkwindow.c:662 +msgid "The initial position of the window" +msgstr "ਵਿੰਡੋ ਦੀ ਮੁੱਢਲੀ ਸਥਿਤੀ" + +#: ../gtk/gtkwindow.c:670 +msgid "Default Width" +msgstr "ਮੂਲ ਚੌੜਾਈ" + +#: ../gtk/gtkwindow.c:671 +msgid "The default width of the window, used when initially showing the window" +msgstr "ਵਿੰਡੋ ਦੀ ਡਿਫਾਲਟ ਚੌੜਾਈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਸ਼ੁਰੂ ਵੇਲੇ ਵੇਖਾਈ ਜਾਵੇਗੀ" + +#: ../gtk/gtkwindow.c:680 +msgid "Default Height" +msgstr "ਮੂਲ ਉਚਾਈ" + +#: ../gtk/gtkwindow.c:681 +msgid "" +"The default height of the window, used when initially showing the window" +msgstr "ਵਿੰਡੋ ਦੀ ਡਿਫਾਲਟ ਉਚਾਈ, ਜੋ ਕਿ ਵਿੰਡੋ ਦੇ ਸ਼ੁਰੂ ਵੇਲੇ ਵੇਖਾਈ ਜਾਵੇਗੀ" + +#: ../gtk/gtkwindow.c:690 +msgid "Destroy with Parent" +msgstr "ਪੇਰੈਟ ਨੂੰ ਖਤਮ ਕਰ ਦਿਉ" + +#: ../gtk/gtkwindow.c:691 +msgid "If this window should be destroyed when the parent is destroyed" +msgstr "ਜੇਕਰ ਇਹ ਵਿੰਡੋ ਨੂੰ ਖਤਮ ਕੀਤਾ ਤਾਂ ਪੈਰੈਟ ਵੀ ਖਤਮ ਹੋ ਜਾਏਗਾ" + +#: ../gtk/gtkwindow.c:699 +msgid "Icon for this window" +msgstr "ਇਸ ਵਿੰਡੋ ਲਈ ਆਈਕਾਨ" + +#: ../gtk/gtkwindow.c:705 +msgid "Mnemonics Visible" +msgstr "ਮਨਾਮੈਰਿਕ ਦਿੱਖ" + +#: ../gtk/gtkwindow.c:706 +msgid "Whether mnemonics are currently visible in this window" +msgstr "ਕੀ ਇਸ ਵਿੰਡੋ ਵਿੱਚ ਮਨਾਮੈਰਿਕ ਇਸ ਸਮੇਂ ਉਪਲੱਬਧ ਹੋਵੇ" + +#: ../gtk/gtkwindow.c:722 +msgid "Name of the themed icon for this window" +msgstr "ਇਸ ਵਿੰਡੋ ਲਈ ਥੀਮ ਆਈਕਾਨ ਦਾ ਨਾਂ" + +#: ../gtk/gtkwindow.c:737 +msgid "Is Active" +msgstr "ਸਰਗਰਮ ਹੈ" + +#: ../gtk/gtkwindow.c:738 +msgid "Whether the toplevel is the current active window" +msgstr "ਕੀ ਉੱਤਲਾ ਮੌਜੂਦਾ ਸਰਗਰਮ ਵਿੰਡੋ ਹੈ" + +#: ../gtk/gtkwindow.c:745 +msgid "Focus in Toplevel" +msgstr "ਉਪਰਲੇ ਨੂੰ ਕੇਦਰਿਤ ਕਰੋ" + +#: ../gtk/gtkwindow.c:746 +msgid "Whether the input focus is within this GtkWindow" +msgstr "ਕੀ ਇਸ GtkWindow ਵਿੱਚ ਇੰਪੁੱਟ ਕੇਦਰ ਹੋਵੇ" + +#: ../gtk/gtkwindow.c:753 +msgid "Type hint" +msgstr "ਸੰਕੇਤ ਲਿਖੋ" + +#: ../gtk/gtkwindow.c:754 +msgid "" +"Hint to help the desktop environment understand what kind of window this is " +"and how to treat it." +msgstr "" +"ਸੰਕੇਤ, ਡੈਸਕਟਾਪ ਮਾਹੌਲ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਮੱਦਦ ਕਰਦਾ ਹੈ ਕਿ ਵਿੰਡੋ ਕਿਸ ਕਿਸਮ ਦੀ ਹੈ ਅਤੇ " +"ਇਸ ਨੂੰ ਕਿਵੇਂ " +"ਵਰਤਣਾ ਹੈ।" + +#: ../gtk/gtkwindow.c:762 +msgid "Skip taskbar" +msgstr "ਕਾਰਜ-ਪੱਟੀ ਨੂੰ ਛੱਡੋ" + +#: ../gtk/gtkwindow.c:763 +msgid "TRUE if the window should not be in the task bar." +msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਟਾਸਕਬਾਰ ਵਿੱਚ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" + +#: ../gtk/gtkwindow.c:770 +msgid "Skip pager" +msgstr "ਪੇਜ਼ਰ ਨੂੰ ਛੱਡੋ" + +#: ../gtk/gtkwindow.c:771 +msgid "TRUE if the window should not be in the pager." +msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਪੇਜ਼ਰ ਵਿੱਚ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ" + +#: ../gtk/gtkwindow.c:778 msgid "Urgent" -msgstr "ਜ਼ਰੂਰੀ" +msgstr "ਲਾਜ਼ਮੀ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 -msgid "High" -msgstr "ਉੱਚ" +#: ../gtk/gtkwindow.c:779 +msgid "TRUE if the window should be brought to the user's attention." +msgstr "ਸੱਚ, ਜੇਕਰ ਵਿੰਡੋ ਯੂਜ਼ਰ ਦਾ ਧਿਆਨ ਖਿੱਚੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 -msgid "Medium" -msgstr "ਮੱਧਮ" +#: ../gtk/gtkwindow.c:793 +msgid "Accept focus" +msgstr "ਫੋਕਸ ਮਨਜ਼ੂਰ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3533 -msgid "Low" -msgstr "ਘੱਟ" +#: ../gtk/gtkwindow.c:794 +msgid "TRUE if the window should receive the input focus." +msgstr "ਸਹੀ, ਜੇਕਰ ਵਿੰਡੋ ਇੰਪੁੱਟ ਫੋਕਸ ਲੈ ਸਕੇ।" -#. Cups specific, non-ppd related settings -#. Translators, this string is used to label the pages-per-sheet option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3557 -msgid "Pages per Sheet" -msgstr "ਸਫ਼ੇ ਪ੍ਰਤੀ ਸ਼ੀਟ" +#: ../gtk/gtkwindow.c:808 +msgid "Focus on map" +msgstr "ਨਕਸ਼ੇ ਉੱਤੇ ਫੋਕਸ" -#. Translators, this string is used to label the job priority option -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3594 -msgid "Job Priority" -msgstr "ਕੰਮ ਤਰਜੀਹ" +#: ../gtk/gtkwindow.c:809 +msgid "TRUE if the window should receive the input focus when mapped." +msgstr "ਸੱਚ, ਜੇਕਰ ਵਿੰਡੋ ਇੰਪੁੱਟ ਧਿਆਨ ਲਵੇ, ਜਦੋਂ ਮਿਲਾਇਆ ਗਿਆ ਹੋਵੇ।" -#. Translators, this string is used to label the billing info entry -#. * in the print dialog -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3605 -msgid "Billing Info" -msgstr "ਬਿੱਲ ਜਾਣਕਾਰੀ" +#: ../gtk/gtkwindow.c:823 +msgid "Decorated" +msgstr "ਸਜਾਇਆ" -#. Translators, these strings are names for various 'standard' cover -#. * pages that the printing system may support. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "None" -msgstr "ਕੋਈ ਨਹੀਂ" +#: ../gtk/gtkwindow.c:824 +msgid "Whether the window should be decorated by the window manager" +msgstr "ਕੀ ਵਿੰਡੋ, ਵਿੰਡੋ ਮੈਨੇਜਰ ਰਾਹੀਂ ਸਜਾਈ ਜਾ ਸਕੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "Classified" -msgstr "ਵਰਗੀਕ੍ਰਿਤ" +#: ../gtk/gtkwindow.c:838 +msgid "Deletable" +msgstr "ਵੱਖ-ਹੋਣ ਯੋਗ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "Confidential" -msgstr "ਗੁਪਤ" +#: ../gtk/gtkwindow.c:839 +msgid "Whether the window frame should have a close button" +msgstr "ਕੀ ਵਿੰਡੋ ਫਰੇਮ ਉੱਤੇ ਇੱਕ ਬੰਦ ਕਰਨ ਦਾ ਬਟਨ ਹੋਵੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "Secret" -msgstr "ਖੁਫੀਆ" +#: ../gtk/gtkwindow.c:858 +msgid "Resize grip" +msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "Standard" -msgstr "ਸਟੈਂਡਰਡ" +#: ../gtk/gtkwindow.c:859 +msgid "Specifies whether the window should have a resize grip" +msgstr "ਦੱਸੋ ਕਿ ਕੀ ਵਿੰਡੋ ਕੋਲ ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਹੋਵੇ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "Top Secret" -msgstr "ਉੱਚ ਗੁਪਤ" +#: ../gtk/gtkwindow.c:873 +msgid "Resize grip is visible" +msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਵੇਖੋ" -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3620 -msgid "Unclassified" -msgstr "ਗ਼ੈਰ-ਕਲਾਸੀਫਾਈਡ" +#: ../gtk/gtkwindow.c:874 +msgid "Specifies whether the window's resize grip is visible." +msgstr "ਦੱਸੋ ਕਿ ਕੀ ਵਿੰਡੋ ਦਾ ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦਿੱਖ ਹੋਵੇ।" -#. Translators, this is the label used for the option in the print -#. * dialog that controls the front cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3655 -msgid "Before" -msgstr "ਪਹਿਲਾਂ" +#: ../gtk/gtkwindow.c:890 +msgid "Gravity" +msgstr "ਗਰੇਵਿਟੀ" -#. Translators, this is the label used for the option in the print -#. * dialog that controls the back cover page. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3670 -msgid "After" -msgstr "ਬਾਅਦ" +#: ../gtk/gtkwindow.c:891 +msgid "The window gravity of the window" +msgstr "ਵਿੰਡੋ ਦੀ ਵਿੰਡੋ ਗਰੇਵਿਟੀ" -#. Translators: this is the name of the option that controls when -#. * a print job is printed. Possible values are 'now', a specified time, -#. * or 'on hold' -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3690 -msgid "Print at" -msgstr "ਛਾਪੋ" +#: ../gtk/gtkwindow.c:908 +msgid "Transient for Window" +msgstr "ਵਿੰਡੋ ਲਈ ਟਰਾਂਸੀਨੇਟ" -#. Translators: this is the name of the option that allows the user -#. * to specify a time when a print job will be printed. -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3701 -msgid "Print at time" -msgstr "ਸਮੇਂ ਉੱਤੇ ਪਰਿੰਟ" +#: ../gtk/gtkwindow.c:909 +msgid "The transient parent of the dialog" +msgstr "ਡਾਈਲਾਗ ਦੀ ਟਰਾਂਸਟ ਮੁੱਢਲਾ" -#. Translators: this format is used to display a custom paper -#. * size. The two placeholders are replaced with the width and height -#. * in points. E.g: "Custom 230.4x142.9" -#. -#: ../modules/printbackends/cups/gtkprintbackendcups.c:3736 -#, c-format -msgid "Custom %sx%s" -msgstr "ਕਸਟਮ %sx%s" +#: ../gtk/gtkwindow.c:924 +msgid "Opacity for Window" +msgstr "ਵਿੰਡੋ ਲਈ ਧੁੰਦਲਾਪਨ" -#. default filename used for print-to-file -#: ../modules/printbackends/file/gtkprintbackendfile.c:250 -#, c-format -msgid "output.%s" -msgstr "ਆਉਟਪੁੱਟ.%s" +#: ../gtk/gtkwindow.c:925 +msgid "The opacity of the window, from 0 to 1" +msgstr "ਵਿੰਡੋ ਦਾ ਧੁੰਦਲਾਪਨ, 0 ਤੋਂ 1" -#: ../modules/printbackends/file/gtkprintbackendfile.c:501 -msgid "Print to File" -msgstr "ਫਾਇਲ ਵਿੱਚ ਪਰਿੰਟ ਕਰੋ" +#: ../gtk/gtkwindow.c:935 ../gtk/gtkwindow.c:936 +msgid "Width of resize grip" +msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦੀ ਚੌੜਾਈ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:627 -msgid "PDF" -msgstr "PDF" +#: ../gtk/gtkwindow.c:941 ../gtk/gtkwindow.c:942 +msgid "Height of resize grip" +msgstr "ਮੁੜ-ਆਕਾਰ ਗਰਿੱਪ ਦੀ ਉਚਾਈ" -#: ../modules/printbackends/file/gtkprintbackendfile.c:627 -msgid "Postscript" -msgstr "ਪੋਸਟ-ਸਕ੍ਰਿਪਟ" +#: ../gtk/gtkwindow.c:961 +msgid "GtkApplication" +msgstr "GtkApplication" -#: ../modules/printbackends/file/gtkprintbackendfile.c:627 -msgid "SVG" -msgstr "SVG" +#: ../gtk/gtkwindow.c:962 +msgid "The GtkApplication for the window" +msgstr "ਵਿੰਡੋ ਲਈ GtkApplication" -#: ../modules/printbackends/file/gtkprintbackendfile.c:640 -#: ../modules/printbackends/test/gtkprintbackendtest.c:503 -msgid "Pages per _sheet:" -msgstr "ਹਰੇਕ ਸ਼ੀਟ ਲਈ ਸਫ਼ੇ(_s):" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:699 -msgid "File" -msgstr "ਫਾਇਲ" - -#: ../modules/printbackends/file/gtkprintbackendfile.c:709 -msgid "_Output format" -msgstr "ਆਉਟਪੁੱਟ ਫਾਰਮੈਟ(_O)" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:395 -msgid "Print to LPR" -msgstr "LPR ਲਈ ਪਰਿੰਟ ਕਰੋ" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:421 -msgid "Pages Per Sheet" -msgstr "ਸਫ਼ੇ ਪ੍ਰਤੀ ਸ਼ੀਟ" - -#: ../modules/printbackends/lpr/gtkprintbackendlpr.c:428 -msgid "Command Line" -msgstr "ਕਮਾਂਡ ਲਾਈਨ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:811 -msgid "printer offline" -msgstr "ਪਰਿੰਟਰ ਬੰਦ ਹੈ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:829 -msgid "ready to print" -msgstr "ਛਾਪਣ ਲਈ ਤਿਆਰੀ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:832 -msgid "processing job" -msgstr "ਜਾਬ ਪਰੋਸੈਸ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:836 -msgid "paused" -msgstr "ਵਿਰਾਮ" - -#. SUN_BRANDING -#: ../modules/printbackends/papi/gtkprintbackendpapi.c:839 -msgid "unknown" -msgstr "ਅਣਜਾਣ" - -#. default filename used for print-to-test -#: ../modules/printbackends/test/gtkprintbackendtest.c:234 -#, c-format -msgid "test-output.%s" -msgstr "ਟੈਸਟ-ਆਉਟਪੁੱਟ.%s" - -#: ../modules/printbackends/test/gtkprintbackendtest.c:467 -msgid "Print to Test Printer" -msgstr "ਟੈਸਟ ਪਰਿੰਟਰ ਲਈ ਪਰਿੰਟ ਕਰੋ" - -#: ../tests/testfilechooser.c:207 -#, c-format -msgid "Could not get information for file '%s': %s" -msgstr "ਫਾਇਲ '%s' ਲਈ ਜਾਣਕਾਰੀ ਪਰਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: %s" - -#: ../tests/testfilechooser.c:222 -#, c-format -msgid "Failed to open file '%s': %s" -msgstr "ਫਾਇਲ '%s' ਖੋਲ੍ਹਣ ਵਿੱਚ ਫੇਲ੍ਹ: %s" - -#: ../tests/testfilechooser.c:267 -#, c-format -msgid "Failed to load image '%s': reason not known, probably a corrupt image file" -msgstr "" -"ਚਿੱਤਰ '%s' ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: ਕਾਰਨ ਜਾਣਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ, ਸੰਭਵ ਹੈ ਕਿ ਚਿੱਤਰ ਫਾਇਲ " -"ਨਿਕਾਰਾ ਹੈ" - -#~ msgid "X screen to use" -#~ msgstr "ਵਰਤਣ ਲਈ X ਸਕਰੀਨ" - -#~ msgid "SCREEN" -#~ msgstr "ਸਕਰੀਨ" - -#~ msgid "Make X calls synchronous" -#~ msgstr "X ਕਾਲਾਂ ਸੈਕੋਰਨਸ ਕਰੋ" - -#~ msgid "Credits" -#~ msgstr "ਮਾਣ" - -#~ msgid "Written by" -#~ msgstr "ਲੇਖਕ" - -#~ msgid "Error creating folder '%s': %s" -#~ msgstr "ਫੋਲਡਰ '%s' ਬਣਾਉਣ ਦੌਰਾਨ ਗਲਤੀ: %s" - -#~ msgid "Unable to find include file: \"%s\"" -#~ msgstr "ਸ਼ਾਮਲ ਫਾਇਲ ਲੱਭਣ ਤੋਂ ਅਸਮਰੱਥ: \"%s\"" - -#~ msgid "Unable to locate theme engine in module_path: \"%s\"," -#~ msgstr "ਮੋਡੀਊਲ ਮਾਰਗ ਵਿੱਚ ਸਰੂਪ ਇੰਜਣ ਨੂੰ ਸਥਾਪਤ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: \"%s\"," - -#~ msgid "Gdk debugging flags to set" -#~ msgstr "ਸੈੱਟ ਕਰਨ ਲਈ Gdk ਡੀਬੱਗ ਫਲੈਗ" - -#~ msgid "Gdk debugging flags to unset" -#~ msgstr "ਅਣ-ਸੈੱਟ ਕਰਨ ਲਈ Gdk ਫਲੈਗ" - -#~ msgid "Image file '%s' contains no data" -#~ msgstr "ਚਿੱਤਰ ਫਾਇਲ '%s' ਵਿੱਚ ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਹੈ" +#~ msgid "Number of steps" +#~ msgstr "ਪਗ਼ਾਂ ਦੀ ਗਿਣਤੀ" #~ msgid "" -#~ "Failed to load animation '%s': reason not known, probably a corrupt " -#~ "animation file" +#~ "The number of steps for the spinner to complete a full loop. The " +#~ "animation will complete a full cycle in one second by default (see " +#~ "#GtkSpinner:cycle-duration)." #~ msgstr "" -#~ "ਐਨੀਮੇਸ਼ਨ '%s' ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ: ਕਾਰਨ ਜਾਣਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ ਹੈ, ਸੰਭਵ ਹੈ ਕਿ ਐਨੀਮੇਸ਼ਨ " -#~ "ਫਾਇਲ ਨਿਕਾਰਾ ਹੈ" +#~ "ਪਗ਼ਾਂ ਦੀ ਗਿਣਤੀ, ਜਿਸ ਦੌਰਾਨ ਸਪਿੱਨਰ ਚੱਕਰ ਪੂਰਾ ਕਰੇ। ਐਨੀਮੇਸ਼ਨ ਮੂਲ ਰੂਪ ਵਿੱਚ ਇੱਕ ਸਕਿੰਟ ਵਿੱਚ ਚੱਕਰ " +#~ "ਪੂਰਾ ਕਰਦੀ ਹੈ (see #GtkSpinner:cycle-duration ਵੇਖੋ)।" -#~ msgid "Unable to load image-loading module: %s: %s" -#~ msgstr "ਚਿੱਤਰ- ਲੋਡਕਰਨ-ਮੋਡੀਊਲ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਮੱਰਥ: %s: %s" +#~ msgid "Animation duration" +#~ msgstr "ਐਨੀਮੇਸ਼ਨ ਅੰਤਰਾਲ" #~ msgid "" -#~ "Image-loading module %s does not export the proper interface; perhaps " -#~ "it's from a different GTK version?" +#~ "The length of time in milliseconds for the spinner to complete a full loop" +#~ msgstr "ਸਮੇਂ ਦਾ ਅੰਤਰਾਲ ਮਿਲੀਸਕਿੰਟਾਂ ਵਿੱਚ, ਜਿਸ ਲਈ ਸਪਿਨਰ ਚੱਕਰ ਪੂਰਾ ਕਰੇ" + +#~ msgid "Tab pack type" +#~ msgstr "ਟੈਬ ਪੈਕ ਕਿਸਮ" + +#~ msgid "Update policy" +#~ msgstr "ਅੱਪਡੇਟ ਪਾਲਸੀ" + +#~ msgid "How the range should be updated on the screen" +#~ msgstr "ਸਕਰੀਨ ਤੇ ਰੇਜ਼ ਦਾ ਕਿੰਨੀ ਵਾਰ ਅੱਪਡੇਟ ਕਰਨਾ ਹੈ" + +#~ msgid "" +#~ "The label for the link to the website of the program. If this is not set, " +#~ "it defaults to the URL" #~ msgstr "" -#~ "ਚਿੱਤਰ- ਲੋਡਿੰਗ-ਮੋਡੀਊਲ %s ਢੁੱਕਵਾਂ ਇੰਟਰਫੇਸ ਨਿਰਯਾਤ ਨਹੀਂ ਕਰ ਸਕਦਾ; ਸੰਭਵ ਹੈ ਕਿ ਇਹ ਵੱਖਰੇ GTK " -#~ "ਵਰਜਨ ਤੋਂ ਹੋਵੇ?" +#~ "ਪਰੋਗਰਾਮ ਦੀ ਵੈਬਸਾਇਟ ਨਾਲ ਲਿੰਕ ਦਾ ਲੇਬਲ ਹੈ। ਜੇਕਰ ਇਹ ਨਾਂ ਦਿੱਤਾ ਗਿਆ ਤਾਂ, ਇਹ ਮੂਲ URL ਹੋਵੇਗਾ।" -#~ msgid "Image type '%s' is not supported" -#~ msgstr "ਚਿੱਤਰ ਕਿਸਮ '%s' ਮੱਦਦ-ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੈ" +#~ msgid "Lower" +#~ msgstr "ਹੇਠਲੀ" -#~ msgid "Couldn't recognize the image file format for file '%s'" -#~ msgstr "ਫਾਇਲ '%s' ਲਈ ਚਿੱਤਰ ਫਾਇਲ ਫਾਰਮੈਟ ਦੀ ਪਛਾਣ ਨਾ ਕੀਤੀ ਜਾ ਸਕੀ ਹੈ।" +#~ msgid "Lower limit of ruler" +#~ msgstr "ਪੈਮਾਨੇ ਲਈ ਹੇਠਲੀ ਹੱਦ" -#~ msgid "Unrecognized image file format" -#~ msgstr "ਬੇ-ਪਛਾਣ ਚਿੱਤਰ ਫਾਇਲ ਫਾਰਮੈਟ" +#~ msgid "Upper" +#~ msgstr "ਉੱਤੇਲੀ" -#~ msgid "Failed to load image '%s': %s" -#~ msgstr "ਚਿੱਤਰ '%s' ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਫੇਲ੍ਹ: %s" +#~ msgid "Upper limit of ruler" +#~ msgstr "ਪੈਮਾਨੇ ਲਈ ਉੱਤੇਲੀ ਹੱਦ" -#~ msgid "Error writing to image file: %s" -#~ msgstr "ਚਿੱਤਰ ਫਾਇਲ 'ਤੇ ਲਿਖਣ ਵਿੱਚ ਗਲਤੀ: %s" +#~ msgid "Position of mark on the ruler" +#~ msgstr "ਪੈਮਾਨੇ ਤੇ ਨਿਸ਼ਾਨ ਦੀ ਟਿਕਾਣਾ" + +#~ msgid "Max Size" +#~ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਅਕਾਰ" + +#~ msgid "Maximum size of the ruler" +#~ msgstr "ਪੈਮਾਨ ਦਾ ਵੱਧ ਤੋਂ ਵੱਧ ਅਕਾਰ" + +#~ msgid "Metric" +#~ msgstr "ਮੈਟਰਿਕ" + +#~ msgid "The metric used for the ruler" +#~ msgstr "ਫੁੱਟੇ ਲਈ ਵਰਤਣ ਲਈ ਮੈਟਰਿਕ" + +#~ msgid "Horizontal Adjustment for the widget" +#~ msgstr "ਲੇਟਵੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਵਿਦਗਿਟ" + +#~ msgid "Vertical Adjustment for the widget" +#~ msgstr "ਲੰਬਕਾਰੀ ਅਡਜੱਸਟਮੈਂਟ ਲਈ ਵਿਦਗਿਟ" #~ msgid "" -#~ "This build of gdk-pixbuf does not support saving the image format: %s" -#~ msgstr "gdk-pixbuf ਦਾ ਇਹ ਬਿਲੱਡ, ਚਿੱਤਰ ਫਾਰਮੈਟ ਵਿੱਚ ਸੰਭਾਲਣ ਲਈ ਸਹਾਇਕ ਨਹੀਂ ਹੈ: %s" - -#~ msgid "Insufficient memory to save image to callback" -#~ msgstr "ਚਿੱਤਰ ਨੂੰ ਮੁੜ-ਲਿਆਉਣ ਲਈ ਸੰਭਾਲ ਵਾਸਤੇ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Failed to open temporary file" -#~ msgstr "ਆਰਜ਼ੀ ਫਾਇਲ ਖੋਲ੍ਹਣ ਵਿੱਚ ਫੇਲ੍ਹ" - -#~ msgid "Failed to read from temporary file" -#~ msgstr "ਆਰਜ਼ੀ ਫਾਇਲ ਪੜ੍ਹਨ ਵਿੱਚ ਫੇਲ੍ਹ" - -#~ msgid "Failed to open '%s' for writing: %s" -#~ msgstr "ਲਿਖਣ ਲਈ '%s' ਨੂੰ ਖੋਲ੍ਹਣ ਵਿੱਚ ਅਸਫ਼ਲ: %s" +#~ "The GtkAdjustment that determines the values of the horizontal position " +#~ "for this viewport" +#~ msgstr "ਇਸ ਵਿਊ-ਪੋਰਟ ਲਈ ਲੇਟਵੀ ਸਥਿਤੀ ਦਾ ਮੁੱਲ ਪਤਾ ਕਰਨ ਲਈ GtkAdjustment" #~ msgid "" -#~ "Failed to close '%s' while writing image, all data may not have been " -#~ "saved: %s" +#~ "The GtkAdjustment that determines the values of the vertical position for " +#~ "this viewport" +#~ msgstr "ਇਸ ਵਿਊ-ਪੋਰਟ ਲਈ ਲੰਬਕਾਰੀ ਸਥਿਤੀ ਦਾ ਮੁੱਲ ਪਤਾ ਕਰਨ ਲਈ GtkAdjustment" + +#~ msgid "Extension events" +#~ msgstr "ਹੋਰ ਘਟਨਾਵਾਂ" + +#~ msgid "The mask that decides what kind of extension events this widget gets" #~ msgstr "" -#~ "ਚਿੱਤਰ ਨੂੰ ਲਿਖਣ ਸਮੇ, '%s' ਨੂੰ ਬੰਦ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ, ਸਾਰਾ ਡਾਟਾ ਸੰਭਾਲਣ ਵਿੱਚ ਅਸਫ਼ਲ: %s" +#~ "ਮਖੌਟਾ, ਜੋ ਕਿ ਇਹ ਸੈੱਟ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਵਿਦਗਿਟ ਕਿਸਤਰ੍ਹਾਂ ਦੀਆ ਵਾਧੂ-ਘਟਨਾਵਾਂ ਨੂੰ ਪਰਾਪਤ ਕਰਦਾ ਹੈ" -#~ msgid "Insufficient memory to save image into a buffer" -#~ msgstr "ਚਿੱਤਰ ਨੂੰ ਬਫਰ ਵਿੱਚ ਸੰਭਾਲਣ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" +#~ msgid "Whether the statusbar has a grip for resizing the toplevel" +#~ msgstr "ਕੀ ਹਾਲਤ-ਪੱਟੀ ਉਪਰੀ ਦੇ ਮੁੜ-ਅਕਾਰ ਨੂੰ ਵੇਖੇ" -#~ msgid "Error writing to image stream" -#~ msgstr "ਚਿੱਤਰ ਧਾਰਾ ਲਿਖਣ ਦੌਰਾਨ ਗਲਤੀ" +#~ msgid "the GdkScreen for the renderer" +#~ msgstr "ਰੈਂਡਰਿੰਗ ਲਈ GdkScreen" + +#~ msgid "The adjustment that holds the value of the spinbutton." +#~ msgstr "ਅਨਕੂਲਤਾ, ਜੋ ਕਿ ਸਪਿਨ-ਬਟਨ ਦੇ ਮੁੱਲ ਨੂੰ ਸੰਭਾਲਦੀ ਹੈ।" + +#~ msgid "Has separator" +#~ msgstr "ਵੱਖਰੇਵਾਂ ਕਰਨ ਵਾਲਾ ਹੈ" + +#~ msgid "The dialog has a separator bar above its buttons" +#~ msgstr "ਤਖੱਤੀ ਕੋਲ ਇਸ ਦੇ ਬਟਨਾ ਤੋਂ ਉੱਤੇ ਵੱਖਰੇਵਾਂ-ਪੱਟੀ ਹੋਵੇ" + +#~ msgid "Invisible char set" +#~ msgstr "ਅਦਿੱਖ ਅੱਖਰ ਸੈੱਟ" + +#~ msgid "State Hint" +#~ msgstr "ਹਾਲਤ ਹਿੰਟ" + +#~ msgid "Whether to pass a proper state when drawing shadow or background" +#~ msgstr "ਜਦੋਂ ਸ਼ੈਡੋ ਜਾਂ ਬੈਕਗਰਾਊਂਡ ਬਣਾਈ ਜਾਵੇ ਤਾਂ ਕੀ ਠੀਕ ਹਾਲਤ ਦੇਣੀ ਹੈ" + +#~ msgid "Deprecated property, use shadow_type instead" +#~ msgstr "ਪ੍ਰਤੀਕੂਲ ਵਿਸ਼ੇਸ਼ਤਾ, ਬਜਾਏ ਪਰਛਾਵਾਂ-ਕਿਸਮ ਵਰਤੋਂ" + +#~ msgid "Pixmap" +#~ msgstr "ਪਿਕਪੈਮ" + +#~ msgid "A GdkPixmap to display" +#~ msgstr "ਵੇਖਾਉਣ ਲਈ GdkPixmap" + +#~ msgid "A GdkImage to display" +#~ msgstr "ਵੇਖਾਉਣ ਲਈ GdkImage" + +#~ msgid "Mask" +#~ msgstr "ਮਖੌਟਾ" + +#~ msgid "Mask bitmap to use with GdkImage or GdkPixmap" +#~ msgstr "GdkImage ਜਾਂ GdkPixmap ਨਾਲ ਵਰਤਣ ਲਈ ਬਿੱਟਮੈਪ ਕੱਜ ਦਿਉ" + +#~ msgid "Use separator" +#~ msgstr "ਵੱਖਰੇਵਾਂ ਵਰਤੋਂ" #~ msgid "" -#~ "Internal error: Image loader module '%s' failed to complete an operation, " -#~ "but didn't give a reason for the failure" +#~ "Whether to put a separator between the message dialog's text and the " +#~ "buttons" +#~ msgstr "ਕੀ ਸੁਨੇਹਾ ਡਾਈਲਾਗ ਸ਼ਬਦ ਅਤੇ ਬਟਨਾਂ ਵਿੱਚ ਵੱਖਰੇਵਾਂ ਵਰਤਣਾ ਹੈ" + +#~ msgid "Draw slider ACTIVE during drag" +#~ msgstr "ਸੁੱਟਣ ਦੌਰਾਨ ਸਲਾਇਡਰ ਸਰਗਰਮ ਵੇਖਾਓ" + +#~ msgid "" +#~ "With this option set to TRUE, sliders will be drawn ACTIVE and with " +#~ "shadow IN while they are dragged" #~ msgstr "" -#~ "ਅੰਦਰੂਨੀ ਗਲਤੀ: ਚਿੱਤਰ ਦੀ ਲੋਡਿੰਗ ਸ਼ੁਰੂ ਕਰਨ ਲਈ ਚਿੱਤਰ ਲੋਡਰ ਮੈਡੀਊਲ '%s' ਅਸਫ਼ਲ, ਪਰ ਗਲਤੀ ਦਾ " -#~ "ਕਾਰਨ ਇਹ ਦੱਸ ਨਹੀਂ ਸਕਿਆ।" +#~ "ਇਹ ਚੋਣ ਸਹੀ ਕਰਨ ਨਾਲ, ਸਲਾਈਡਰ ਐਕਟਿਵ ਬਣਾਏ ਜਾਣਗੇ ਅਤੇ ਸ਼ੈਡੋ ਹੋਵੇਗੀ, ਜਦੋਂ ਡਰੈਗ ਕੀਤੇ ਜਾਣਗੇ।" -#~ msgid "Incremental loading of image type '%s' is not supported" -#~ msgstr "ਚਿੱਤਰ ਕਿਸਮ '%s' ਦੀ ਲਗਾਤਾਰ ਲੋਡਿੰਗ ਮੱਦਦ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੈ" - -#~ msgid "Image header corrupt" -#~ msgstr "ਚਿੱਤਰ ਹੈੱਡਰ ਨਿਕਾਰਾ" - -#~ msgid "Image format unknown" -#~ msgstr "ਚਿੱਤਰ ਫਾਰਮੈਟ ਅਣਜਾਣ" - -#~ msgid "Image pixel data corrupt" -#~ msgstr "ਚਿੱਤਰ ਪਿਕਸਲ ਡਾਟਾ ਨਿਕਾਰਾ" - -#~ msgid "failed to allocate image buffer of %u byte" -#~ msgid_plural "failed to allocate image buffer of %u bytes" -#~ msgstr[0] "ਚਿੱਤਰ ਬਫ਼ਰ ਦੇ %u ਬਾਈਟ ਜਾਰੀ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ" -#~ msgstr[1] "ਚਿੱਤਰ ਬਫ਼ਰ ਦੇ %u ਬਾਈਟ ਜਾਰੀ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ" - -#~ msgid "Unexpected icon chunk in animation" -#~ msgstr "ਐਨੀਮੇਸ਼ਨ ਵਿੱਚ ਬੇਲੋੜੀਦਾ ਆਈਕਾਨ" - -#~ msgid "Unsupported animation type" -#~ msgstr "ਬਿਨ-ਮੱਦਦ ਐਨੀਮੇਸ਼ਨ ਕਿਸਮ" - -#~ msgid "Invalid header in animation" -#~ msgstr "ਐਨੀਮੇਸ਼ਨ ਵਿੱਚ ਗਲਤ ਹੈਂਡਰ" - -#~ msgid "Not enough memory to load animation" -#~ msgstr "ਐਨੀਮੇਸ਼ਨ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Malformed chunk in animation" -#~ msgstr "ਐਨੀਮੇਸ਼ਨ ਵਿੱਚ ਨਿਕਾਰਾ ਭਾਗ" - -#~ msgid "The ANI image format" -#~ msgstr "ANI ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "BMP image has bogus header data" -#~ msgstr "BMP ਚਿੱਤਰ ਵਿੱਚ ਜਾਅਲੀ ਹੈਂਡਰ ਡਾਟਾ ਹੈ" - -#~ msgid "Not enough memory to load bitmap image" -#~ msgstr "ਬਿੱਟਮੈਪ ਚਿੱਤਰ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "BMP image has unsupported header size" -#~ msgstr "BMP ਚਿੱਤਰ ਬਿਨ-ਮੱਦਦ ਹੈਂਡਰ ਅਕਾਰ" - -#~ msgid "Topdown BMP images cannot be compressed" -#~ msgstr "ਉੱਤੋਂ-ਹੇਠਾਂ BMP ਚਿੱਤਰ ਕੰਪਰੈੱਸ ਨਹੀਂ ਜਾ ਸਕਦੇ ਹਨ" - -#~ msgid "Premature end-of-file encountered" -#~ msgstr "ਫਾਇਲ ਦਾ ਅਪੂਰਨ ਅੰਤ ਆ ਗਿਆ" - -#~ msgid "Couldn't allocate memory for saving BMP file" -#~ msgstr "BMP ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ ਹੈ" - -#~ msgid "Couldn't write to BMP file" -#~ msgstr "BMP ਫਾਇਲ ਲਿਖੀ ਨਹੀਂ ਜਾ ਸਕੀ" - -#~ msgid "The BMP image format" -#~ msgstr "BMP ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Failure reading GIF: %s" -#~ msgstr "GIF ਪੜ੍ਹਨਾ ਅਸਫ਼ਲ਼: %s" - -#~ msgid "GIF file was missing some data (perhaps it was truncated somehow?)" -#~ msgstr "GIF ਫਾਇਲ ਵਿੱਚ ਕੁਝ ਡਾਟਾ ਗੁੰਮ ਹੈ (ਸਾਇਦ ਇਸ ਵਿੱਚ ਕੁਝ ਕੱਟ-ਵੱਢ ਹੋਈ ਹੈ?)" - -#~ msgid "Internal error in the GIF loader (%s)" -#~ msgstr "GIF ਲੋਡਰ ਵਿੱਚ ਅੰਦਰੂਨੀ ਗਲਤੀ(%s)" - -#~ msgid "Stack overflow" -#~ msgstr "ਸਟਾਕ ਸੀਮਾ ਤੋਂ ਬਾਹਰ" - -#~ msgid "GIF image loader cannot understand this image." -#~ msgstr "GIF ਚਿੱਤਰ ਲੋਡਰ ਇਸ ਚਿੱਤਰ ਨੂੰ ਸਮਝ ਨਹੀਂ ਸਕਿਆ।" - -#~ msgid "Bad code encountered" -#~ msgstr "ਬਾਰ-ਕੋਡ ਮਿਲ ਗਿਆ ਹੈ" - -#~ msgid "Circular table entry in GIF file" -#~ msgstr "GIF ਫਾਇਲ ਵਿੱਚ ਚੱਕਰੀ ਟੇਬਲ ਐਂਟਰੀ" - -#~ msgid "Not enough memory to load GIF file" -#~ msgstr "GIF ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Not enough memory to composite a frame in GIF file" -#~ msgstr "GIF ਫਾਇਲ ਵਿੱਚ ਇੱਕ ਫਰੇਮ ਬਣਾਉਣ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "GIF image is corrupt (incorrect LZW compression)" -#~ msgstr "GIF ਚਿੱਤਰ ਨਕਾਰਾ ਹੈ (ਗਲਤ LZW ਨਪੀੜੀ)" - -#~ msgid "File does not appear to be a GIF file" -#~ msgstr "ਫਾਇਲ ਇੱਕ GIF ਫਾਇਲ ਲੱਗ ਨਹੀਂ ਰਹੀ ਹੈ" - -#~ msgid "Version %s of the GIF file format is not supported" -#~ msgstr "GIF ਫਾਇਲ ਫਾਰਮੈਟ ਦਾ ਵਰਜਨ %s ਮੱਦਦ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੈ" +#~ msgid "Trough Side Details" +#~ msgstr "ਬਾਹੀ ਵੇਰਵੇ ਰਾਹੀਂ" #~ msgid "" -#~ "GIF image has no global colormap, and a frame inside it has no local " -#~ "colormap." +#~ "When TRUE, the parts of the trough on the two sides of the slider are " +#~ "drawn with different details" +#~ msgstr "ਜੇ ਠੀਕ ਸੈੱਟ ਕੀਤਾ ਤਾਂ ਸਲਾਈਡਰ ਦੇ ਦੋਵੇਂ ਪਾਸਿਆਂ ਦੇ ਭਾਗਾਂ ਉੱਤੇ ਵੱਖ ਵੱਖ ਵੇਰਵਾ ਵਾਹਿਆ ਜਾਵੇਗਾ" + +#~| msgid "Position Set" +#~ msgid "Stepper Position Details" +#~ msgstr "ਸਟਿੱਪਰ ਸਥਿਤੀ ਵੇਰਵਾ" + +#~ msgid "" +#~ "When TRUE, the detail string for rendering the steppers is suffixed with " +#~ "position information" #~ msgstr "" -#~ "GIF ਚਿੱਤਰ ਕੋਲ ਗਲੋਬਲ ਰੰਗ-ਨਕਸ਼ਾ ਨਹੀਂ ਅਤੇ ਇਸ ਦੇ ਫਰੇਮ ਅੰਦਰ ਆਪਣਾ ਕੋਈ ਲੋਕਲ ਰੰਗ-ਨਕਸ਼ਾ ਨਹੀਂ ਹੈ।" +#~ "ਜੇ ਸਹੀਂ ਹੈ ਤਾਂ ਸਟਿੱਪਰ ਰੈਡਰ ਕਰਨ ਲਈ ਵੇਰਵਾ ਲਾਈ ਨੂੰ ਸਥਿਤੀ ਜਾਣਕਾਰੀ ਦੇ ਅੱਗੇ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ" -#~ msgid "GIF image was truncated or incomplete." -#~ msgstr "GIF ਚਿੱਤਰ ਦੀ ਕੱਟ-ਵੱਢ ਕੀਤੀ ਗਈ ਹੈ ਜਾਂ ਪੂਰਾ ਨਹੀਂ ਹੈ।" +#~ msgid "Blinking" +#~ msgstr "ਝਪਕਣਾ" -#~ msgid "The GIF image format" -#~ msgstr "GIF ਚਿੱਤਰ ਫਾਰਮੈਟ" +#~ msgid "Whether or not the status icon is blinking" +#~ msgstr "ਕੀ ਹਾਲਤ ਆਈਕਾਨ ਝਪਕਦਾ ਹੋਵੇ ਜਾਂ ਨਾ" -#~ msgid "Invalid header in icon" -#~ msgstr "ਆਈਕਾਨ ਵਿੱਚ ਗਲਤ ਹੈਂਡਰ" +#~ msgid "Background stipple mask" +#~ msgstr "ਬੈਕਗਰਾਊਂਡ ਦੀ ਚਿੱਤਰਕਾਰੀ ਦਾ ਮਖੌਟਾ" -#~ msgid "Not enough memory to load icon" -#~ msgstr "ਆਈਕਾਨ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" +#~ msgid "Bitmap to use as a mask when drawing the text background" +#~ msgstr "ਬਿੱਟਮੈਪ ਜੋ ਕਿ ਮਖੌਟੇ ਦੇ ਤੌਰ ਤੇ ਵਰਤਿਆ ਜਾਵੇ, ਜਦੋਂ ਕਿ ਟੈਕਸਟ ਦੀ ਬੈਕਗਰਾਊਂਡ ਖਿੱਚਣੀ ਹੋਵੇ" -#~ msgid "Icon has zero width" -#~ msgstr "ਆਈਕਾਨ ਦੀ ਸਿਫ਼ਰ ਚੌੜਾਈ" +#~ msgid "Foreground stipple mask" +#~ msgstr "ਫਾਰਗਰਾਊਂਡ ਚਿੱਤਰਕਾਰੀ ਦਾ ਮਖੌਟਾ" -#~ msgid "Icon has zero height" -#~ msgstr "ਆਈਕਾਨ ਦੀ ਸਿਫ਼ਰ ਉਚਾਈ" +#~ msgid "Bitmap to use as a mask when drawing the text foreground" +#~ msgstr "ਬਿੱਟਮੈਪ ਜੋ ਕਿ ਮਖੌਟੇ ਦੇ ਤੌਰ ਤੇ ਵਰਤਿਆ ਜਾਵੇ ਜਦੋਂ ਕਿ ਟੈਕਸਟ ਦੇ ਅੱਗੇ ਖਿੱਚਣਾ ਹੋਵੇ" -#~ msgid "Compressed icons are not supported" -#~ msgstr "ਨਪੀੜੇ ਆਈਕਾਨ ਮੱਦਦ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹਨ" +#~ msgid "Background stipple set" +#~ msgstr "ਬੈਕਗਰਾਊਂਡ-ਚਿਤਰਣ ਸੈੱਟ ਕਰੋ" -#~ msgid "Unsupported icon type" -#~ msgstr "ਬਿਨ-ਮੱਦਦ ਪ੍ਰਾਪਤ ਆਈਕਾਨ ਕਿਸਮ" +#~ msgid "Whether this tag affects the background stipple" +#~ msgstr "ਕੀ ਇਹ ਟੈਗ ਬੈਕਗਰਾਊਂਡ-ਚਿਤਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#~ msgid "Not enough memory to load ICO file" -#~ msgstr "ICO ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" +#~ msgid "Foreground stipple set" +#~ msgstr "ਫਾਰਗਰਾਊਂਡ ਚਿਤਰਨ ਸੈੱਟ ਕਰੋ" -#~ msgid "Image too large to be saved as ICO" -#~ msgstr "ਚਿੱਤਰ ਇੰਨਾ ਵੱਡਾ ਹੈ ਕਿ ਇਸ ਨੂੰ ICO ਦੇ ਤੌਰ ਤੇ ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ" +#~ msgid "Whether this tag affects the foreground stipple" +#~ msgstr "ਕੀ ਇਹ ਟੈਗ ਫਾਰਗਰਾਊਂਡ ਚਿਤਰਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰੇ" -#~ msgid "Cursor hotspot outside image" -#~ msgstr "ਕਰਸਰ ਬਿੰਦੂ ਚਿੱਤਰ ਤੋਂ ਬਾਹਰ" +#~ msgid "Row Ending details" +#~ msgstr "ਕਤਾਰ ਅੰਤ ਵੇਰਵਾ" -#~ msgid "Unsupported depth for ICO file: %d" -#~ msgstr "ICO ਚਿੱਤਰ ਲਈ ਬਿਨ-ਮੱਦਦ ਪ੍ਰਾਪਤ ਡੂੰਘਾਈ: %d" +#~ msgid "Enable extended row background theming" +#~ msgstr "ਫੈਲੀ ਕਤਾਰ ਬੈਕਗਰਾਊਂਡ ਸਰੂਪ ਯੋਗ" -#~ msgid "The ICO image format" -#~ msgstr "ICO ਚਿੱਤਰ ਫਾਰਮੈਟ" +#~ msgid "Draw Border" +#~ msgstr "ਬਾਰਡਰ ਬਣਾਓ" -#~ msgid "Error reading ICNS image: %s" -#~ msgstr "ICNS ਚਿੱਤਰ ਪੜ੍ਹਨ ਦੌਰਾਨ ਗਲਤੀ: %s" +#~ msgid "Size of areas outside the widget's allocation to draw" +#~ msgstr "ਵਿਦਗਿਟ ਦੇ ਜਾਰੀ ਤੋਂ ਬਾਹਰ ਬਣਨ ਵਾਲੇ ਖੇਤਰ ਦਾ ਅਕਾਰ" -#~ msgid "Could not decode ICNS file" -#~ msgstr "ICNS ਫਾਇਲ ਡੀਕੋਡ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" +#~ msgid "Loop" +#~ msgstr "ਲੂਪ" -#~ msgid "The ICNS image format" -#~ msgstr "ICNS ਚਿੱਤਰ ਫਾਰਮੈਟ" +#~ msgid "Whether the animation should loop when it reaches the end" +#~ msgstr "ਜਦੋਂ ਐਨੀਮੇਸ਼ਨ ਖਤਮ ਹੋ ਜਾਵੇ ਤਾਂ ਕੀ ਮੁੜ ਚਾਲੂ ਕਰੇ" -#~ msgid "Couldn't allocate memory for stream" -#~ msgstr "ਸਟਰੀਮ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" +#~ msgid "Number of Channels" +#~ msgstr "ਚੈਨਲਾਂ ਦੀ ਗਿਣਤੀ" -#~ msgid "Couldn't decode image" -#~ msgstr "ਚਿੱਤਰ ਡੀਕੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" +#~ msgid "The number of samples per pixel" +#~ msgstr "ਪ੍ਰਤੀ ਪਿਕਸਲ ਵਿੱਚ ਸੈਂਪਲਾਂ ਦੀ ਗਿਣਤੀ" -#~ msgid "Transformed JPEG2000 has zero width or height" -#~ msgstr "ਤਬਦੀਲ JPEG2000 ਦੀ ਸਿਫ਼ਰ ਚੌੜਾਈ ਜਾਂ ਉਚਾਈ ਹੈ।" +#~ msgid "Colorspace" +#~ msgstr "ਰੰਗ-ਸਪੇਸ" -#~ msgid "Image type currently not supported" -#~ msgstr "ਚਿੱਤਰ ਟਾਈਪ ਹਾਲੇ ਸਹਾਇਕ ਨਹੀਂ ਹੈ" +#~ msgid "The colorspace in which the samples are interpreted" +#~ msgstr "ਰੰਗ ਸਪੇਸ ਜਿਸ ਵਿੱਚ ਕਿ ਸੈਂਪਲ ਵੇਖੇ ਜਾ ਸਕਣਗੇ" -#~ msgid "Couldn't allocate memory for color profile" -#~ msgstr "ਰੰਗ ਪਰੋਫਾਇਲ ਲਈ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ" +#~ msgid "Has Alpha" +#~ msgstr "ਐਲਫਾ ਹੈ" -#~ msgid "Insufficient memory to open JPEG 2000 file" -#~ msgstr "JPEG 2000 ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" +#~ msgid "Whether the pixbuf has an alpha channel" +#~ msgstr "ਕੀ ਪੈਕਸਬਫ ਵਿੱਚ ਐਲਫਾ ਚੈਨਲ ਹੈ" -#~ msgid "Couldn't allocate memory to buffer image data" -#~ msgstr "ਬਫਰ ਚਿੱਤਰ ਡਾਟਾ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ" +#~ msgid "Bits per Sample" +#~ msgstr "ਪ੍ਰਤੀ ਸੈਂਪਲ ਵਿੱਚ ਬਿੱਟ" -#~ msgid "The JPEG 2000 image format" -#~ msgstr "JPEG 2000 ਚਿੱਤਰ ਫਾਰਮੈਟ" +#~ msgid "The number of bits per sample" +#~ msgstr "ਪ੍ਰਤੀ ਸੈਂਪਲ ਵਿੱਚ ਬਿੱਟਾਂ ਦੀ ਗਿਣਤੀ" -#~ msgid "Error interpreting JPEG image file (%s)" -#~ msgstr "JPEG ਚਿੱਤਰ ਫਾਇਲ (%s) ਦੀ ਪੇਸ਼ਕਾਰੀ ਵਿੱਚ ਗਲਤੀ" +#~ msgid "The number of columns of the pixbuf" +#~ msgstr "ਪੈਕਸਬਫ ਵਿੱਚ ਕਾਲਮਾਂ ਦੀ ਗਿਣਤੀ" + +#~ msgid "The number of rows of the pixbuf" +#~ msgstr "ਪੈਕਸਬਫ ਵਿੱਚ ਕਤਾਰਾਂ ਦੀ ਗਿਣਤੀ" + +#~ msgid "Rowstride" +#~ msgstr "ਕਤਾਰਾਂ" #~ msgid "" -#~ "Insufficient memory to load image, try exiting some applications to free " -#~ "memory" +#~ "The number of bytes between the start of a row and the start of the next " +#~ "row" +#~ msgstr "ਇਸ ਕਤਾਰ ਦੇ ਸ਼ੁਰੂ ਅਤੇ ਅਗਲੀ ਕਤਾਰ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਬਿੱਟਾਂ ਦੀ ਗਿਣਤੀ" + +#~ msgid "Pixels" +#~ msgstr "ਪਿਕਸਲ" + +#~ msgid "A pointer to the pixel data of the pixbuf" +#~ msgstr "ਪੈਕਸਬਫ ਵਿੱਚ ਪਿਕਸਲ ਡਾਟਾ ਲਈ ਸੰਕੇਤਕ" + +#~ msgid "The GdkFont that is currently selected" +#~ msgstr "GdkFont ਜੋ ਹੁਣ ਚੁਣੇ ਗਏ ਹਨ" + +#~ msgid "Activity mode" +#~ msgstr "ਐਕਟਵਿਟੀ ਮੋਡ" + +#~ msgid "" +#~ "If TRUE, the GtkProgress is in activity mode, meaning that it signals " +#~ "something is happening, but not how much of the activity is finished. " +#~ "This is used when you're doing something but don't know how long it will " +#~ "take." #~ msgstr "" -#~ "ਚਿੱਤਰ ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ, ਕੁਝ ਕਾਰਜਾਂ ਨੂੰ ਬੰਦ ਕਰਕੇ ਮੈਮੋਰੀ ਖਾਲੀ ਕਰੋ" - -#~ msgid "Unsupported JPEG color space (%s)" -#~ msgstr "JPEG ਰੰਗ ਸਪੇਸ (%s) ਮੱਦਦ ਪ੍ਰਾਪਤ ਨਹੀ" - -#~ msgid "Couldn't allocate memory for loading JPEG file" -#~ msgstr "JPEG ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ" - -#~ msgid "Transformed JPEG has zero width or height." -#~ msgstr "ਤਬਦੀਲ JPEG ਦੀ ਸਿਫ਼ਰ ਚੌੜਾਈ ਜਾਂ ਉਚਾਈ ਹੈ।" +#~ "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ GtkProgress ਸਰਗਰਮ ਹੋਵੇਗਾ , ਇਸ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਇਹ ਸੰਕੇਤ ਤਾਂ ਦੇਵੇਗਾ ਕਿ " +#~ "ਕੁਝ ਹੋ ਰਿਹਾ ਹੈ, ਪਰ ਇਹ ਨਹੀਂ ਦੱਸੇਗਾ ਕਿ ਕਾਰਵਾਈ ਕਿੰਨੀ ਪੂਰੀ ਹੋ ਗਈ ਹੈ ਇਹ ਤਾਂ ਹੀ ਵਰਤਿਆ " +#~ "ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਕਿ ਤੁਸੀਂ ਕੁਝ ਕਰ ਰਹੇ ਹੋ, ਜਿਸ ਦੇ ਪੂਰਾ ਹੋਣ ਦੀ ਜਾਣਕਾਰੀ ਨਹੀਂ ਹੈ।" #~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%s' could not be " -#~ "parsed." +#~ "The maximum number of items to be returned by gtk_recent_manager_get_items" +#~ "()" #~ msgstr "" -#~ "JPEG ਗੁਣ ਦਾ ਮੁੱਲ ੦ ਤੇ ੧੦੦ ਹੋਣਾ ਜ਼ਰੂਰੀ ਹੈ; ਮੁੱਲ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।" +#~ "gtk_recent_manager_get_items() ਰਾਹੀਂ ਵਾਪਿਸ ਕੀਤੀ ਜਾਣ ਵਾਲੀ ਆਈਟਮਾਂ ਦੀ ਵੱਧ ਤੋਂ ਵੱਧ " +#~ "ਗਿਣਤੀ" + +#~ msgid "Allow Shrink" +#~ msgstr "ਸੁੰਘੜਨਾ ਮਨਜ਼ੂਰ" #~ msgid "" -#~ "JPEG quality must be a value between 0 and 100; value '%d' is not allowed." -#~ msgstr "JPEG ਗੁਣ ਦਾ ਮੁੱਲ ੦ ਤੇ ੧੦੦ ਹੋਣਾ ਜ਼ਰੂਰੀ ਹੈ; ਮੁੱਲ '%d' ਦੀ ਮਨਜ਼ੂਰੀ ਨਹੀਂ ਹੈ।" - -#~ msgid "The JPEG image format" -#~ msgstr "JPEG ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Couldn't allocate memory for header" -#~ msgstr "ਹੈਂਡਰ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ" - -#~ msgid "Couldn't allocate memory for context buffer" -#~ msgstr "ਹਿੱਸਾ ਬਫ਼ਰ ਲਈ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ" - -#~ msgid "Image has invalid width and/or height" -#~ msgstr "ਚਿੱਤਰ ਦੀ ਚੌੜਾਈ ਅਤੇ/ਜਾਂ ਉਚਾਈ ਗਲਤ ਹੈ" - -#~ msgid "Image has unsupported bpp" -#~ msgstr "ਚਿੱਤਰ ਵਿੱਚ ਬਿਨ-ਮੱਦਦ ਪ੍ਰਾਪਤ bpp ਹੈ" - -#~ msgid "Image has unsupported number of %d-bit planes" -#~ msgstr "ਚਿੱਤਰ ਵਿੱਚ ਬਿਨ-ਮੱਦਦ ਪ੍ਰਾਪਤ %d-ਬਿੱਟ ਪਲੇਨ ਦੀ ਗਿਣਤੀ ਹੈ" - -#~ msgid "Couldn't create new pixbuf" -#~ msgstr "ਨਵਾਂ ਪਿਕਬਫ਼ ਨਹੀਂ ਬਣਾਇਆ ਜਾ ਸਕਦਾ" - -#~ msgid "Couldn't allocate memory for line data" -#~ msgstr "ਲਾਈਨ ਡਾਟਾ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ" - -#~ msgid "Couldn't allocate memory for paletted data" -#~ msgstr "ਪਲੇਟਡ ਡਾਟਾ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ" - -#~ msgid "Didn't get all lines of PCX image" -#~ msgstr "PCX ਚਿੱਤਰ ਦੀਆਂ ਸਾਰੀਆਂ ਰੇਖਾਵਾਂ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੋਈਆ" - -#~ msgid "No palette found at end of PCX data" -#~ msgstr "PCX ਡਾਟਾ ਦੇ ਅਖੀਰ ਤੇ ਕੋਈ ਪਲੇਟਸ ਨਹੀਂ ਲੱਭਾ" - -#~ msgid "The PCX image format" -#~ msgstr "PCX ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Bits per channel of PNG image is invalid." -#~ msgstr "PNG ਚਿੱਤਰ ਵਿੱਚ ਬਿੱਟ ਪ੍ਰਤੀ ਚੈਨਲ ਗਲਤ ਹੈ" - -#~ msgid "Transformed PNG has zero width or height." -#~ msgstr "ਤਬਦੀਲ PNG ਦੀ ਸਿਫ਼ਰ ਚੌੜਾਈ ਜਾਂ ਉਚਾਈ ਹੈ" - -#~ msgid "Bits per channel of transformed PNG is not 8." -#~ msgstr "PNG ਦੇ ਬਿੱਟ ਪ੍ਰਤੀ ਚੈਨਲ 8 ਨਹੀਂ ਹੈ।" - -#~ msgid "Transformed PNG not RGB or RGBA." -#~ msgstr "ਤਬਦੀਲ PNG RGB ਜਾਂ RGBA ਨਹੀਂ ਹੈ।" - -#~ msgid "Transformed PNG has unsupported number of channels, must be 3 or 4." -#~ msgstr "ਤਬਦੀਲ PNG ਵਿੱਚ ਬਿਨ-ਮੱਦਦ ਪ੍ਰਾਪਤ ਚੈਨਲਾਂ ਦੀ ਗਿਣਤੀ, ਇਹ 3 ਜਾਂ 4 ਹੋਣੀ ਜ਼ਰੂਰੀ ਹੈ।" - -#~ msgid "Fatal error in PNG image file: %s" -#~ msgstr "PNG ਚਿੱਤਰ ਫਾਇਲ ਵਿੱਚ ਘਾਤਕ ਗਲਤੀ: %s" - -#~ msgid "Insufficient memory to load PNG file" -#~ msgstr "PNG ਫਾਇਲ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "" -#~ "Insufficient memory to store a %ld by %ld image; try exiting some " -#~ "applications to reduce memory usage" +#~ "If TRUE, the window has no mimimum size. Setting this to TRUE is 99% of " +#~ "the time a bad idea" #~ msgstr "" -#~ "%ld X %ld ਚਿੱਤਰ ਨੂੰ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ ਕੁਝ ਕਾਰਜ ਬੰਦ ਕਰਕੇ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਨੂੰ " -#~ "ਘੱਟ ਕਰੋ।" +#~ "ਜੇਕਰ ਸੱਚ ਹੈ ਤਾਂ, ਵਿੰਡੋ ਦਾ ਕੋਈ ਘੱਟੋ-ਘੱਟ ਅਕਾਰ ਨਹੀਂ ਹੋਵੇਗਾ ਇਸ ਨੂੰ ਸੱਚ ਕਰਨਾ 99% ਵਾਰੀ ਗਲਤ ਸੋਚ " +#~ "ਹੈ ।" -#~ msgid "Fatal error reading PNG image file" -#~ msgstr "PNG ਚਿੱਤਰ ਫਾਇਲ ਪੜ੍ਹਨ ਵਿੱਚ ਘਾਤਕ ਗਲਤੀ" +#~ msgid "Allow Grow" +#~ msgstr "ਫੈਲਣਾ ਮਨਜ਼ੂਰ" -#~ msgid "Fatal error reading PNG image file: %s" -#~ msgstr "PNG ਚਿੱਤਰ ਫਾਇਲ ਪੜ੍ਹਨ ਵਿੱਚ ਘਾਤਕ ਗਲਤੀ: %s" +#~ msgid "If TRUE, users can expand the window beyond its minimum size" +#~ msgstr "ਜੇਕਰ ਸਹੀ ਹੈ ਤਾਂ, ਯੂਜ਼ਰ ਵਿੰਡੋ ਨੂੰ ਇਸ ਦੇ ਘੱਟੋ-ਘੱਟ ਸੀਮਾ ਤੋਂ ਵੱਧ ਫੈਲਾ ਸਕਦਾ ਹੈ " + +#~ msgid "Enable arrow keys" +#~ msgstr "ਤੀਰ ਸਵਿੱਚਾਂ ਯੋਗ ਕਰੋ" + +#~ msgid "Whether the arrow keys move through the list of items" +#~ msgstr "ਕੀ ਆਈਟਮਾਂ ਦੀ ਲਿਸਟ ਵਿੱਚ ਤੀਰ ਸਵਿੱਚਾਂ ਵਰਤਣੀਆਂ ਹਨ" + +#~ msgid "Always enable arrows" +#~ msgstr "ਹਮੇਸ਼ਾ ਤੀਰ ਯੋਗ ਕਰੋ" + +#~ msgid "Obsolete property, ignored" +#~ msgstr "ਪੁਰਾਣੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਰੱਦ ਕਰੋ" + +#~ msgid "Case sensitive" +#~ msgstr "ਸ਼ਬਦ ਆਕਾਰ ਪ੍ਰਤੀ ਸੰਵੇਦਸ਼ੀਲ" + +#~ msgid "Whether list item matching is case sensitive" +#~ msgstr "ਕੀ ਲਿਸਟ ਆਈਟਮਾਂ ਸ਼ਬਦ ਦੇ ਆਕਾਰ ਨੂੰ ਮੇਲ ਕਰੇ" + +#~ msgid "Allow empty" +#~ msgstr "ਖਾਲੀ ਮਨਜ਼ੂਰ" + +#~ msgid "Whether an empty value may be entered in this field" +#~ msgstr "ਕੀ ਇਸ ਖਾਨੇ ਵਿੱਚ ਖਾਲੀ ਮੁੱਲ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ" + +#~ msgid "Value in list" +#~ msgstr "ਲਿਸਟ ਵਿੱਚ ਮੁੱਲ" + +#~ msgid "Whether entered values must already be present in the list" +#~ msgstr "ਕੀ ਦਿੱਤਾ ਮੁੱਲ ਲਿਸਟ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਹੋ ਸਕਦਾ ਹੈ " + +#~ msgid "Is this curve linear, spline interpolated, or free-form" +#~ msgstr "ਕੀ ਇਹ ਚਾਪ ਸਿੱਧੀ ਹੈ, ਜਾਂ ਬੇਢੰਗੀ ਹੈ" + +#~ msgid "Minimum X" +#~ msgstr "ਘੱਟੋ-ਘੱਟ X" + +#~ msgid "Minimum possible value for X" +#~ msgstr "ਘੱਟੋ-ਘੱਟ ਸੰਭਵ X ਦਾ ਮੁੱਲ" + +#~ msgid "Maximum X" +#~ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ X" + +#~ msgid "Maximum possible X value" +#~ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਸੰਭਵ X ਦਾ ਮੁੱਲ" + +#~ msgid "Minimum Y" +#~ msgstr "ਘੱਟੋ-ਘੱਟ X" + +#~ msgid "Minimum possible value for Y" +#~ msgstr "ਘੱਟੋ-ਘੱਟ ਸੰਭਵ Y ਦਾ ਮੁੱਲ" + +#~ msgid "Maximum Y" +#~ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ Y" + +#~ msgid "Maximum possible value for Y" +#~ msgstr "ਵੱਧ ਤੋਂ ਵੱਧ ਸੰਭਵ Y ਦਾ ਮੁੱਲ" + +#~ msgid "File System Backend" +#~ msgstr "ਫਾਇਲ ਸਿਸਟਮ ਬੈਕਐਡ" + +#~ msgid "Name of file system backend to use" +#~ msgstr "ਵਰਤਣ ਵਾਲੇ ਫਾਇਲ ਸਿਸਟਮ ਬੈਕਐਡ ਦਾ ਨਾਂ" + +#~ msgid "The currently selected filename" +#~ msgstr "ਮੌਜੂਦਾ ਚੁਣਿਆ ਫਾਇਲ-ਨਾਂ" + +#~ msgid "Show file operations" +#~ msgstr "ਫਾਇਲ ਕਾਰਵਾਈ ਵੇਖੋ" + +#~ msgid "Whether buttons for creating/manipulating files should be displayed" +#~ msgstr "ਕੀ ਫਾਇਲਾਂ ਨੂੰ ਬਣਾਉਣ/ਵਰਤਣ ਲਈ ਬਟਨ ਵੇਖਾਏ ਜਾਣ" + +#~ msgid "Tab Border" +#~ msgstr "ਟੈਬ ਹਾਸ਼ੀਆ" + +#~ msgid "Width of the border around the tab labels" +#~ msgstr "ਟੈਬ ਲੇਬਲਾਂ ਦੁਆਲੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#~ msgid "Horizontal Tab Border" +#~ msgstr "ਲੇਟਵਾਂ ਟੈਬ ਹਾਸ਼ੀਆ" + +#~ msgid "Width of the horizontal border of tab labels" +#~ msgstr "ਟੈਬ ਲੇਬਲ ਦਾ ਲੇਟਵੇ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#~ msgid "Vertical Tab Border" +#~ msgstr "ਲੰਬਕਾਰੀ ਟੈਬ ਹਾਸ਼ੀਆ" + +#~ msgid "Width of the vertical border of tab labels" +#~ msgstr "ਟੈਬ ਲੇਬਲ ਦਾ ਲੰਬਕਾਰੀ ਹਾਸ਼ੀਏ ਦੀ ਚੌੜਾਈ" + +#~ msgid "Whether tabs should have homogeneous sizes" +#~ msgstr "ਕੀ ਟੈਬਾਂ ਇਕੋ ਅਕਾਰ ਦੀਆ ਹੋਣ" + +#~ msgid "Group ID for tabs drag and drop" +#~ msgstr "ਟੈਬ ਚੁੱਕਣ ਅਤੇ ਸੁੱਟਣ ਲਈ ਗਰੁੱਪ ID" + +#~ msgid "User Data" +#~ msgstr "ਯੂਜ਼ਰ ਡਾਟਾ" + +#~ msgid "Anonymous User Data Pointer" +#~ msgstr "ਅਗਿਆਤ ਯੂਜ਼ਰ ਡਾਟਾ ਸੰਕੇਤਕ" + +#~ msgid "The menu of options" +#~ msgstr "ਚੋਣ ਦੀ ਮੇਨੂ" + +#~ msgid "Size of dropdown indicator" +#~ msgstr "ਹੇਠ-ਡਿੱਗਣ ਵਾਲੇ ਸੰਕੇਤਕ ਦਾ ਅਕਾਰ" + +#~ msgid "Spacing around indicator" +#~ msgstr "ਸੰਕੇਤਕ ਦੇ ਦੁਆਲੇ ਖਾਲੀ ਥਾਂ" #~ msgid "" -#~ "Keys for PNG text chunks must have at least 1 and at most 79 characters." -#~ msgstr "PNG ਵਿੱਚ ਪਾਠ ਹੋਣ ਲਈ ਅੱਖਰਾਂ ਦੀ ਗਿਣਤੀ ਘੱਟੋ-ਘੱਟੋ ੧ ਅਤੇ ਵੱਧੋ-ਵੱਧ ੭੯ ਹੋ ਸਕਦੀ ਹੈ।" +#~ "Whether the preview widget should take up the entire space it is allocated" +#~ msgstr "ਕੀ ਝਲਕ ਵਿਦਗਿਟ ਸਾਰੀ ਉਪਲੱਬਧ ਥਾਂ ਨੂੰ ਵਰਤ ਲਵੇ" -#~ msgid "Keys for PNG text chunks must be ASCII characters." -#~ msgstr "PNG ਪਾਠ ਲਈ ਅੱਖਰ ASCII ਅੱਖਰ ਹੋਣੇ ਜ਼ਰੂਰੀ ਹਨ" +#~ msgid "The GtkAdjustment connected to the progress bar (Deprecated)" +#~ msgstr "GtkAdjustment ਤਰੱਕੀ-ਪੱਟੀ ਨਾਲ ਜੁੜਿਆ ਹੈ (ਹਟਾਉਣ ਲਈ)" -#~ msgid "Color profile has invalid length %d." -#~ msgstr "ਰੰਗ ਪਰੋਫਾਇਲ ਦੀ ਅਢੁੱਕਵੀਂ ਲੰਬਾਈ %d ਹੈ।" +#~ msgid "Bar style" +#~ msgstr "ਬਾਰ ਸਟਾਇਲ" #~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%s' could " -#~ "not be parsed." +#~ "Specifies the visual style of the bar in percentage mode (Deprecated)" +#~ msgstr "ਬਾਰ ਦੀ ਵੇਖਣ-ਸਟਾਇਲ ਪ੍ਰਤੀਸ਼ਤ ਦੇ ਰੂਪ ਵਿੱਚ ਸੈੱਟ ਕਰੋ (ਬਰਤਰਫ਼)" + +#~ msgid "Activity Step" +#~ msgstr "ਐਕਟਵਿਟੀ ਸਟੈਪ" + +#~ msgid "The increment used for each iteration in activity mode (Deprecated)" +#~ msgstr "ਸਰਗਰਮ ਮੋਡ ਵਿੱਚ ਹਰੇਕ ਦੁਹਰਾਉ ਲਈ ਵਾਧਾ (ਪ੍ਰਤੀਕੂਲ)" + +#~ msgid "Activity Blocks" +#~ msgstr "ਐਕਟਵਿਟੀ ਬਲਾਕ" + +#~ msgid "" +#~ "The number of blocks which can fit in the progress bar area in activity " +#~ "mode (Deprecated)" #~ msgstr "" -#~ "PNG ਨਪੀੜਨ ਪੱਧਰ ਦਾ ਮੁੱਲ 0 ਤੋਂ 9 ਦੇ ਵਿੱਚ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਮੁੱਲ '%s' ਨੂੰ ਪਾਰਸ ਨਹੀਂ ਕੀਤਾ " -#~ "ਜਾ ਸਕਿਆ।" +#~ "ਐਕਟਵਿਟੀ ਮੋਡ ਵਿੱਚ ਤਰੱਕੀ-ਪੱਟੀ ਦੇ ਖੇਤਰ ਵਿੱਚ ਸਮਾ ਸਕਣ ਵਾਲੇ ਬਲਾਕਾਂ ਦੀ ਗਿਣਤੀ (ਪ੍ਰਤੀਕੂਲ)" + +#~ msgid "Discrete Blocks" +#~ msgstr "ਖੰਡਿਤ ਬਲਾਕ" #~ msgid "" -#~ "PNG compression level must be a value between 0 and 9; value '%d' is not " -#~ "allowed." +#~ "The number of discrete blocks in a progress bar (when shown in the " +#~ "discrete style)" #~ msgstr "" -#~ "PNG ਨਪੀੜਨ ਪੱਧਰ ਦਾ ਮੁੱਲ 0 ਤੋਂ 9 ਦੇ ਵਿੱਚ ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਮੁੱਲ '%d' ਮਨਜ਼ੂਰ ਨਹੀਂ ਹੈ।" +#~ "ਸਰਗਰਮੀ ਮੋਡ ਵਿੱਚ ਤਰੱਕੀ-ਪੱਟੀ ਦੇ ਖੇਤਰ ਵਿੱਚ ਸਮਾ ਸਕਣ ਵਾਲੇ ਖੰਡਿਤ ਬਲਾਕਾਂ ਦੀ ਗਿਣਤੀ (ਪ੍ਰਤੀਕੂਲ)" -#~ msgid "" -#~ "Value for PNG text chunk %s cannot be converted to ISO-8859-1 encoding." -#~ msgstr "PNG ਟੈਕਸਟ %s ਦਾ ਮੁੱਲ ਨੂੰ ISO-੮੮੫੯-੧ ਇੰਕੋਡਿੰਗ ਵਿੱਚ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।" +#~ msgid "Horizontal adjustment for the text widget" +#~ msgstr "ਟੈਕਸਟ ਵਿਦਗਿਟ ਲਈ ਲੇਟਵੀ ਅਨਕੂਲਤਾ" -#~ msgid "The PNG image format" -#~ msgstr "PNG ਫਾਇਲ ਫਾਰਮੈਟ" +#~ msgid "Vertical adjustment for the text widget" +#~ msgstr "ਟੈਕਸਟ ਵਿਦਗਿਟ ਲਈ ਲੰਬਕਾਰੀ ਅਨਕੂਲਤਾ" -#~ msgid "PNM loader expected to find an integer, but didn't" -#~ msgstr "PNM ਲੋਡਰ ਲਈ ਪੂਰਨ ਅੰਕ ਲੋੜੀਦਾ ਸੀ, ਪਰ ਮਿਲਿਆ ਨਹੀ" +#~ msgid "Line Wrap" +#~ msgstr "ਸਤਰ ਲੇਪਟੋ" -#~ msgid "PNM file has an incorrect initial byte" -#~ msgstr "PNM ਫਾਇਲ ਵਿੱਚ ਮੁਢਲਾ ਬਾਈਟ ਗਲਤ ਹੈ" +#~ msgid "Whether lines are wrapped at widget edges" +#~ msgstr "ਕੀ ਵਿਦਗਿਟ ਕਿਨਾਰੇ ਤੇ ਸਤਰ ਲੇਪਟੀ ਜਾਏ" -#~ msgid "PNM file is not in a recognized PNM subformat" -#~ msgstr "PNM ਫਾਇਲ ਇੱਕ ਪਛਾਣਯੋਗ PNM ਸਬ-ਫਾਰਮੈਟ ਨਹੀਂ ਹੈ" +#~ msgid "Word Wrap" +#~ msgstr "ਸ਼ਬਦ ਲੇਪਟੋ" -#~ msgid "PNM file has an image width of 0" -#~ msgstr "PNM ਫਾਇਲ ਵਿੱਚ ਚਿੱਤਰ ਦੀ ਚੌੜਾਈ 0 ਹੈ" +#~ msgid "Whether words are wrapped at widget edges" +#~ msgstr "ਕੀ ਵਿਦਗਿਟ ਕਿਨਾਰੇ ਤੇ ਸ਼ਬਦ ਲੇਪਟਿਆ ਜਾਏ" -#~ msgid "PNM file has an image height of 0" -#~ msgstr "PNM ਫਾਇਲ ਵਿੱਚ ਚਿੱਤਰ ਦੀ ਉਚਾਈ 0 ਹੈ" +#~ msgid "Tooltips" +#~ msgstr "ਸੰਦ-ਸੰਕੇਤ" -#~ msgid "Maximum color value in PNM file is 0" -#~ msgstr "PNM ਫਾਇਲ ਵਿੱਚ ਅਧਿਕਤਮ ਰੰਗ ਮੁੱਲ 0 ਹੈ" - -#~ msgid "Maximum color value in PNM file is too large" -#~ msgstr "PNM ਫਾਇਲ ਵਿੱਚ ਅਧਿਕਤਮ ਰੰਗ ਮੁੱਲ ਬਹੁਤ ਜਿਆਦਾ ਹੈ" - -#~ msgid "Raw PNM image type is invalid" -#~ msgstr "ਅਣਘੜ-PNM ਚਿੱਤਰ ਕਿਸਮ ਠੀਕ ਨਹੀਂ ਹੈ" - -#~ msgid "PNM image loader does not support this PNM subformat" -#~ msgstr "PNM ਚਿੱਤਰ ਲੋਡਰ, ਇਸ PNM ਸਬ-ਫਾਰਮੈਟ ਮੱਦਦ ਨਹੀਂ ਦੇ ਰਿਹਾ ਹੈ" - -#~ msgid "Raw PNM formats require exactly one whitespace before sample data" -#~ msgstr "ਅਨਘੜ PNM ਫਾਰਮੈਟ ਲਈ ਇੱਕ ਸੈਂਪਲ ਡਾਟਾ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਸਫੈਦ ਥਾਂ ਲੋੜੀਦੀ ਹੈ" - -#~ msgid "Cannot allocate memory for loading PNM image" -#~ msgstr "PNM ਚਿੱਤਰ ਲੋਡਿੰਗ ਲਈ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕਰ ਸਕਿਆ" - -#~ msgid "Insufficient memory to load PNM context struct" -#~ msgstr "PNM context struct ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Unexpected end of PNM image data" -#~ msgstr "PNM ਚਿੱਤਰ ਡਾਟਾ ਦਾ ਅਨਿਸ਼ਚਿਤ ਅੰਤ" - -#~ msgid "Insufficient memory to load PNM file" -#~ msgstr "PNM ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "The PNM/PBM/PGM/PPM image format family" -#~ msgstr "PNM/PBM/PGM/PPM ਇੱਕ ਚਿੱਤਰ ਫਾਰਮੈਟ ਸਮੂਹ ਹੈ" - -#~ msgid "Input file descriptor is NULL." -#~ msgstr "ਇੰਪੁੱਟ ਫਾਇਲ ਵੇਰਵਾ NULL ਹੈ।" - -#~ msgid "Failed to read QTIF header" -#~ msgstr "QTIF ਹੈੱਡਰ ਪੜ੍ਹਨ ਲਈ ਫੇਲ੍ਹ" - -#~ msgid "QTIF atom size too large (%d bytes)" -#~ msgstr "QTIF ਐਟਮ ਆਕਾਰ ਬਹੁਤ ਵੱਡਾ ਹੈ (%d ਬਾਈਟ)" - -#~ msgid "Failed to allocate %d bytes for file read buffer" -#~ msgstr "ਫਾਇਲ ਬਫ਼ਰ ਦੇ %d ਬਾਈਟ ਜਾਰੀ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ" - -#~ msgid "File error when reading QTIF atom: %s" -#~ msgstr "QTIF ਐਟਮ ਪੜ੍ਹਨ ਦੌਰਾਨ ਫਾਇਲ ਗਲਤੀ: %s" - -#~ msgid "Failed to skip the next %d bytes with seek()." -#~ msgstr "ਅੱਗੇ %d ਬਾਈਟ seek() ਛੱਡਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" - -#~ msgid "Failed to allocate QTIF context structure." -#~ msgstr "QTIF context struct ਲਈ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Failed to create GdkPixbufLoader object." -#~ msgstr "GdkPixbufLoader ਆਬਜੈਕਟ ਬਣਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" - -#~ msgid "Failed to find an image data atom." -#~ msgstr "ਚਿੱਤਰ ਡਾਟਾ ਐਟਮ ਲੱਭਣ ਲਈ ਫੇਲ੍ਹ ਹੈ।" - -#~ msgid "The QTIF image format" -#~ msgstr "QTIF ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "RAS image has bogus header data" -#~ msgstr "RAS ਚਿੱਤਰ ਦਾ ਜਾਅਲੀ ਹੈਂਡਰ ਡਾਟਾ" - -#~ msgid "RAS image has unknown type" -#~ msgstr "RAS ਚਿੱਤਰ ਦੀ ਕਿਸਮ ਅਣਜਾਣ" - -#~ msgid "unsupported RAS image variation" -#~ msgstr "RAS ਚਿੱਤਰ ਪਰਿਵਰਤਨ ਬਿਨ-ਮੱਦਦ" - -#~ msgid "Not enough memory to load RAS image" -#~ msgstr "RAS ਚਿੱਤਰ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "The Sun raster image format" -#~ msgstr "ਸਨ ਰਾਸਟਰ ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Cannot allocate memory for IOBuffer struct" -#~ msgstr "IOBuffer ਢਾਂਚਾ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Cannot allocate memory for IOBuffer data" -#~ msgstr "IOBuffer ਡਾਟਾ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Cannot realloc IOBuffer data" -#~ msgstr "IOBuffer ਡਾਟਾ ਮੁੜ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" - -#~ msgid "Cannot allocate temporary IOBuffer data" -#~ msgstr "IOBuffer ਡਾਟਾ ਲਈ ਆਰਜ਼ੀ ਜਾਰੀ ਨਹੀਂ ਹੋ ਸਕਿਆ" - -#~ msgid "Cannot allocate new pixbuf" -#~ msgstr "ਨਵਾਂ ਪਿਕਬਫ਼ ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" - -#~ msgid "Image is corrupted or truncated" -#~ msgstr "ਚਿੱਤਰ ਨਿਕਾਰਾ ਜਾਂ ਛਾਂਗਿਆ ਹੈ" - -#~ msgid "Cannot allocate colormap structure" -#~ msgstr "ਰੰਗ-ਨਕਸ਼ਾ ਢਾਂਚਾ ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" - -#~ msgid "Cannot allocate colormap entries" -#~ msgstr "ਰੰਗ-ਨਕਸ਼ਾ ਐਂਟਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ" - -#~ msgid "Unexpected bitdepth for colormap entries" -#~ msgstr "ਰੰਗ-ਨਕਸ਼ਾ ਐਂਟਰੀ ਲਈ ਗਲਤ ਬਿੱਟ-ਡੂੰਘਾਈ" - -#~ msgid "Cannot allocate TGA header memory" -#~ msgstr "TGA ਹੈਂਡਰ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਹੋ ਸਕੀ" - -#~ msgid "TGA image has invalid dimensions" -#~ msgstr "TGA ਚਿੱਤਰ ਦਾ ਮਾਪ ਗਲਤ ਹੈ" - -#~ msgid "TGA image type not supported" -#~ msgstr "TGA ਚਿੱਤਰ ਟਾਈਪ ਮੱਦਦ ਪ੍ਰਾਪਤ ਨਹੀਂ ਹੈ" - -#~ msgid "Cannot allocate memory for TGA context struct" -#~ msgstr "TGA context struct ਲਈ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Excess data in file" -#~ msgstr "ਫਾਇਲ ਵਿੱਚ ਵੱਧ ਡਾਟਾ ਹੈ" - -#~ msgid "The Targa image format" -#~ msgstr "ਟਾਰਗ ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Could not get image width (bad TIFF file)" -#~ msgstr "ਚਿੱਤਰ ਦੀ ਚੌੜਾਈ ਮਿਲ ਨਹੀਂ (ਗਲਤ TIFF ਫਾਇਲ)" - -#~ msgid "Could not get image height (bad TIFF file)" -#~ msgstr "ਚਿੱਤਰ ਦੀ ਉਚਾਈ ਮਿਲ ਨਹੀਂ (ਗਲਤ TIFF ਫਾਇਲ)" - -#~ msgid "Width or height of TIFF image is zero" -#~ msgstr "TIFF ਚਿੱਤਰ ਦੀ ਉਚਾਈ ਜਾਂ ਚੌੜਾਈ ਸਿਫ਼ਰ ਹੈ" - -#~ msgid "Dimensions of TIFF image too large" -#~ msgstr "TIFF ਚਿੱਤਰ ਦਾ ਮਾਪ ਬਹੁਤ ਵੱਡਾ ਹੈ" - -#~ msgid "Insufficient memory to open TIFF file" -#~ msgstr "TIFF ਫਾਇਲ ਖੋਲ੍ਹਣ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Failed to load RGB data from TIFF file" -#~ msgstr "TIFF ਫਾਇਲ ਤੋਂ RGB ਡਾਟਾ ਲੋਡ ਕਰਨ ਵਿੱਚ ਅਸਫ਼ਲ" - -#~ msgid "Failed to open TIFF image" -#~ msgstr "TIFF ਫਾਇਲ ਨੂੰ ਖੋਲ੍ਹਣ ਵਿੱਚ ਅਸਫ਼ਲ" - -#~ msgid "TIFFClose operation failed" -#~ msgstr "TIFF ਬੰਦ ਕਰਨ ਦੀ ਕਾਰਵਾਈ ਅਸਫ਼ਲ" - -#~ msgid "Failed to load TIFF image" -#~ msgstr "TIFF ਚਿੱਤਰ ਲੋਡ ਅਸਫ਼ਲ" - -#~ msgid "Failed to save TIFF image" -#~ msgstr "TIFF ਚਿੱਤਰ ਸੰਭਾਲਣ ਲਈ ਅਸਫ਼ਲ" - -#~ msgid "TIFF compression doesn't refer to a valid codec." -#~ msgstr "TIFF ਕੰਪਰੈਸ਼ਨ ਢੁੱਕਵੇਂ codec ਨੂੰ ਨਹੀਂ ਦਰਸਾਉਂਦਾ।" - -#~ msgid "Failed to write TIFF data" -#~ msgstr "TIFF ਡਾਟਾ ਲਿਖਣ ਲਈ ਅਸਫ਼ਲ" - -#~ msgid "Couldn't write to TIFF file" -#~ msgstr "TIFF ਫਾਇਲ ਵਿੱਚ ਲਿਖਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#~ msgid "The TIFF image format" -#~ msgstr "TIFF ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Image has zero width" -#~ msgstr "ਚਿੱਤਰ ਦੀ ਚੌੜਾਈ ਸਿਫ਼ਰ" - -#~ msgid "Image has zero height" -#~ msgstr "ਚਿੱਤਰ ਦੀ ਉਚਾਈ ਸਿਫ਼ਰ" - -#~ msgid "Not enough memory to load image" -#~ msgstr "ਚਿੱਤਰ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Couldn't save the rest" -#~ msgstr "ਬਾਕੀ ਨੂੰ ਸੰਭਾਲ ਨਹੀਂ ਸਕਿਆ" - -#~ msgid "The WBMP image format" -#~ msgstr "WBMP ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Invalid XBM file" -#~ msgstr "ਗਲਤ XBM ਫਾਇਲ" - -#~ msgid "Insufficient memory to load XBM image file" -#~ msgstr "XBM ਚਿੱਤਰ ਫਾਇਲ ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Failed to write to temporary file when loading XBM image" -#~ msgstr "XBM ਚਿੱਤਰ ਲੋਡਿੰਗ ਦੌਰਾਨ ਆਰਜ਼ੀ ਫਾਇਲ ਲਿਖਣ ਵਿੱਚ ਅਸਫ਼ਲ" - -#~ msgid "The XBM image format" -#~ msgstr "XBM ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "No XPM header found" -#~ msgstr "ਕੋਈ XPM ਹੈਂਡਰ ਨਹੀਂ ਲੱਭਾ" - -#~ msgid "Invalid XPM header" -#~ msgstr "ਗਲਤ XPM ਹੈਂਡਰ" - -#~ msgid "XPM file has image width <= 0" -#~ msgstr "XPM ਫਾਇਲ ਵਿੱਚ ਚਿੱਤਰ ਦੀ ਚੌੜਾਈ<= 0" - -#~ msgid "XPM file has image height <= 0" -#~ msgstr "XPM ਫਾਇਲ ਵਿੱਚ ਚਿੱਤਰ ਦੀ ਉਚਾਈ<= 0" - -#~ msgid "XPM has invalid number of chars per pixel" -#~ msgstr "XPM ਵਿੱਚ ਅੱਖਰ ਪ੍ਰਤੀ ਪਿਕਸਲ ਦੀ ਗਿਣਤੀ ਗਲਤ ਹੈ" - -#~ msgid "XPM file has invalid number of colors" -#~ msgstr "XPM ਫਾਇਲ ਵਿੱਚ ਰੰਗ ਦੀ ਗਿਣਤੀ ਗਲਤ ਹੈ" - -#~ msgid "Cannot allocate memory for loading XPM image" -#~ msgstr "XPM ਲੋਡ ਕਰਨ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਨਹੀਂ ਹੈ" - -#~ msgid "Cannot read XPM colormap" -#~ msgstr "XPM ਰੰਗ-ਨਕਸ਼ਾ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#~ msgid "Failed to write to temporary file when loading XPM image" -#~ msgstr "XPM ਚਿੱਤਰ ਦੀ ਲੋਡਿੰਗ ਦੌਰਾਨ ਆਰਜ਼ੀ ਫਾਇਲ ਲਿਖਣ ਵਿੱਚ ਗਲਤੀ" - -#~ msgid "The XPM image format" -#~ msgstr "XPM ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "The EMF image format" -#~ msgstr "EMF ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "Could not allocate memory: %s" -#~ msgstr "ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਜਾਰੀ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ: %s" - -#~ msgid "Could not create stream: %s" -#~ msgstr "ਸਟਰੀਮ ਬਣਾਈ ਨਹੀਂ ਜਾ ਸਕੀ: %s" - -#~ msgid "Could not seek stream: %s" -#~ msgstr "ਸਟਰੀਮ ਲਈ ਨਹੀਂ ਜਾ ਸਕੀ: %s" - -#~ msgid "Could not read from stream: %s" -#~ msgstr "ਸਟਰੀਮ ਤੋਂ ਪੜ੍ਹਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ: %s" - -#~ msgid "Couldn't load bitmap" -#~ msgstr "ਬਿੱਟਮੈਪ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" - -#~ msgid "Couldn't load metafile" -#~ msgstr "ਮੇਟਾਡਾਟਾ ਲੋਡ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ" - -#~ msgid "Unsupported image format for GDI+" -#~ msgstr "GDI+ ਲਈ ਚਿੱਤਰ ਫਾਰਮੈਟ ਗ਼ੈਰ-ਸਹਾਇਕ" - -#~ msgid "Couldn't save" -#~ msgstr "ਸੰਭਾਲਿਆ ਨਹੀਂ ਜਾ ਸਕਿਆ" - -#~ msgid "The WMF image format" -#~ msgstr "WMF ਚਿੱਤਰ ਫਾਰਮੈਟ" - -#~ msgid "\"Deepness\" of the color." -#~ msgstr "ਰੰਗ ਦਾ \"ਗੂੜ੍ਹਾਪਨ\" ਹੈ।" - -#~ msgid "Error printing" -#~ msgstr "ਪਰਿੰਟਿੰਗ ਦੌਰਾਨ ਗਲਤੀ" - -#~ msgid "Printer '%s' may not be connected." -#~ msgstr "ਪਰਿੰਟਰ '%s' ਕੁਨੈਕਟ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।" - -#~ msgid "Folders" -#~ msgstr "ਫੋਲਡਰ" - -#~ msgid "Fol_ders" -#~ msgstr "ਫੋਲਡਰ(_d)" - -#~ msgid "Folder unreadable: %s" -#~ msgstr "ਫੋਲਡਰ ਨਾ-ਪੜ੍ਹਨਯੋਗ: %s" - -#~ msgid "" -#~ "The file \"%s\" resides on another machine (called %s) and may not be " -#~ "available to this program.\n" -#~ "Are you sure that you want to select it?" -#~ msgstr "" -#~ "ਫਾਇਲ \"%s\" ਹੋਰ ਮਸ਼ੀਨ (ਨਾਂ %s) 'ਤੇ ਮੌਜੂਦ ਹੈ ਅਤੇ ਇਸ ਪਰੋਗਰਾਮ ਲਈ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ।\n" -#~ "ਕੀ ਤੁਸੀਂ ਇਸ ਨੂੰ ਚੁਣਨਾ ਚਾਹੁੰਦੇ ਹੋ?" - -#~ msgid "_New Folder" -#~ msgstr "ਨਵਾਂ ਫੋਲਡਰ(_N)" - -#~ msgid "De_lete File" -#~ msgstr "ਫਾਇਲ ਹਟਾਓ(_l)" - -#~ msgid "_Rename File" -#~ msgstr "ਫਾਇਲ ਨਾਂ-ਬਦਲੋ(_R)" - -#~ msgid "" -#~ "The folder name \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "ਫੋਲਡਰ ਨਾਂ \"%s\" ਵਿੱਚ ਉਹ ਨਿਸ਼ਾਨ ਹਨ, ਜੋ ਕਿ ਫਾਇਲ-ਨਾਂ ਵਿੱਚ ਨਹੀਂ ਹੋਣੇ ਚਾਹੀਦੇ" - -#~ msgid "New Folder" -#~ msgstr "ਨਵਾਂ ਫੋਲਡਰ" - -#~ msgid "_Folder name:" -#~ msgstr "ਫੋਲਡਰ ਨਾਂ(_F):" - -#~ msgid "" -#~ "The filename \"%s\" contains symbols that are not allowed in filenames" -#~ msgstr "ਫਾਇਲ ਨਾਂ \"%s\" ਵਿੱਚ ਉਹ ਨਿਸ਼ਾਨ ਹਨ, ਜੋ ਕਿ ਫਾਇਲ ਨਾਂ ਵਿੱਚ ਨਹੀਂ ਹੋ ਸਕਦੇ" - -#~ msgid "Error deleting file '%s': %s" -#~ msgstr "ਫਾਇਲ '%s' ਹਟਾਉਣ ਵਿੱਚ ਗਲਤੀ: %s" - -#~ msgid "Really delete file \"%s\"?" -#~ msgstr "ਕੀ ਫਾਇਲ \"%s\" ਹਟਾਉਣੀ ਹੈ?" - -#~ msgid "Delete File" -#~ msgstr "ਫਾਇਲ ਹਟਾਓ" - -#~ msgid "Error renaming file to \"%s\": %s" -#~ msgstr "ਫਾਇਲ ਨਾਂ \"%s\" ਬਦਲਣ ਵਿੱਚ ਗਲਤੀ: %s" - -#~ msgid "Error renaming file \"%s\": %s" -#~ msgstr "ਫਾਇਲ \"%s\" ਦਾ ਨਾਂ ਬਦਲਣ ਵਿੱਚ ਗਲਤੀ: %s" - -#~ msgid "Error renaming file \"%s\" to \"%s\": %s" -#~ msgstr "ਫਾਇਲ \"%s\" ਦਾ ਨਾਂ \"%s\" ਬਦਲਣ ਵਿੱਚ ਗਲਤੀ: %s" - -#~ msgid "Rename File" -#~ msgstr "ਫਾਇਲ ਨਾਂ-ਬਦਲੋ" - -#~ msgid "Rename file \"%s\" to:" -#~ msgstr "ਫਾਇਲ \"%s\" ਦਾ ਨਾਂ-ਬਦਲੋ:" - -#~ msgid "_Rename" -#~ msgstr "ਨਾਂ-ਬਦਲੋ(_R)" - -#~ msgid "_Selection: " -#~ msgstr "ਚੋਣ(_S): " - -#~ msgid "" -#~ "The filename \"%s\" couldn't be converted to UTF-8. (try setting the " -#~ "environment variable G_FILENAME_ENCODING): %s" -#~ msgstr "" -#~ "ਫਾਇਲ ਨਾਂ \"%s\" ਨੂੰ UTF-8 ਵਿੱਚ ਤਬਦੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ। (ਇੰਵਾਇਰਮਿੰਟ ਵੇਰੀਬਲ " -#~ "G_BROKEN_FILENAMES ਦੇਣ ਦੀ ਕੋਸ਼ਿਸ): %s" - -#~ msgid "Invalid UTF-8" -#~ msgstr "ਗਲਤ UTF-8" - -#~ msgid "Name too long" -#~ msgstr "ਨਾਂ ਬਹੁਤ ਲੰਮਾ ਹੈ" - -#~ msgid "Couldn't convert filename" -#~ msgstr "ਫਾਇਲ-ਨਾਂ ਤਬਦੀਲ ਨਹੀਂ ਹੋ ਸਕਿਆ" - -#~ msgid "Gamma" -#~ msgstr "ਗਾਮਾ" - -#~ msgid "_Gamma value" -#~ msgstr "ਗਾਮਾ ਮੁੱਲ(_G)" - -#~ msgid "Input" -#~ msgstr "ਇੰਪੁੱਟ" - -#~ msgid "No extended input devices" -#~ msgstr "ਕੋਈ ਵਾਧੂ ਇੰਪੁੱਟ ਜੰਤਰ ਨਹੀਂ ਹੈ" - -#~ msgid "_Device:" -#~ msgstr "ਜੰਤਰ(_D):" - -#~ msgid "Disabled" -#~ msgstr "ਆਯੋਗ" - -#~ msgid "Screen" -#~ msgstr "ਸਕਰੀਨ" - -#~ msgid "Window" -#~ msgstr "ਵਿੰਡੋ" - -#~ msgid "_Mode:" -#~ msgstr "ਮੋਡ(_M):" - -#~ msgid "Axes" -#~ msgstr "ਧੁਰੇ" - -#~ msgid "Keys" -#~ msgstr "ਕੁੰਜੀਆਂ" - -#~ msgid "_X:" -#~ msgstr "_X:" - -#~ msgid "_Y:" -#~ msgstr "_Y:" - -#~ msgid "_Pressure:" -#~ msgstr "ਦਬਾਓ(_P):" - -#~ msgid "X _tilt:" -#~ msgstr "X _tilt" - -#~ msgid "Y t_ilt:" -#~ msgstr "Y t_ilt" - -#~ msgid "_Wheel:" -#~ msgstr "ਪਹੀਆ(_W):" - -#~ msgid "none" -#~ msgstr "ਕੋਈ ਨਹੀਂ" - -#~ msgid "(disabled)" -#~ msgstr "(ਆਯੋਗ)" - -#~ msgid "(unknown)" -#~ msgstr "(ਅਣਜਾਣ)" - -#~ msgid "Cl_ear" -#~ msgstr "ਸਾਫ਼ ਕਰੋ(_e)" - -#~ msgid "--- No Tip ---" -#~ msgstr "--- ਸੰਕੇਤ ਨਹੀਂ ---" - -#~ msgid "(Empty)" -#~ msgstr "(ਖਾਲੀ)" - -#, fuzzy -#~ msgid "_Search:" -#~ msgstr "ਖੋਜ(_S):" - -#, fuzzy -#~ msgid "Recently Used" -#~ msgstr "ਤਾਜ਼ਾ ਵਰਤੇ" +#~ msgid "If the tooltips of the toolbar should be active or not" +#~ msgstr "ਕੀ ਟੂਲਬਾਰ ਦੇ ਸੰਦ-ਸੰਕੇਤਾਂ ਨੂੰ ਸਰਗਰਮ ਕੀਤਾ ਜਾਵੇ ਜਾਂ ਨਾ" From 687ac4d4aa11244889da3b2b234b34b45cbb4d0e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 18 Jan 2011 19:39:09 +0100 Subject: [PATCH 1453/1463] Don't displace background for spinbuttons in the theming engine This is a leftover from the older GtkStyle code, this is handled through CSS spacings instead. --- gtk/gtkthemingengine.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gtk/gtkthemingengine.c b/gtk/gtkthemingengine.c index e2e78e4a92..80b02b0e6b 100644 --- a/gtk/gtkthemingengine.c +++ b/gtk/gtkthemingengine.c @@ -1731,15 +1731,6 @@ gtk_theming_engine_render_background (GtkThemingEngine *engine, junction = gtk_theming_engine_get_junction_sides (engine); - if (gtk_theming_engine_has_class (engine, "spinbutton") && - gtk_theming_engine_has_class (engine, "button")) - { - x += 2; - y += 2; - width -= 4; - height -= 4; - } - flags = gtk_theming_engine_get_state (engine); gtk_theming_engine_get (engine, flags, "border-width", &border, From f430a306f78dfaed2a8b10bfc361a75dffb1742e Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 18 Jan 2011 20:02:51 +0100 Subject: [PATCH 1454/1463] Make GtkCheckButton/GtkRadioButton background white again --- gtk/gtkcssprovider.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 7461fbfdbc..89d549226b 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -3735,6 +3735,7 @@ gtk_css_provider_get_default (void) ".check, .radio {\n" " border-style: solid;\n" " border-width: 1;\n" + " background-color: @base_color;\n" "}\n" "\n" ".check:active, .radio:active,\n" From 0c5ceaf757be64372d7a92bb5aa49ae97d25bc1f Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 19 Jan 2011 03:10:12 +0100 Subject: [PATCH 1455/1463] Set horizontal/vertical style classes to GtkRanges --- gtk/gtkrange.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index 91431e12cc..dc4b60a7b2 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -625,6 +625,7 @@ gtk_range_set_property (GObject *object, priv->stepper_detail_quark[2] = 0; priv->stepper_detail_quark[3] = 0; + _gtk_orientable_set_style_classes (GTK_ORIENTABLE (range)); gtk_widget_queue_resize (GTK_WIDGET (range)); break; case PROP_ADJUSTMENT: From 0b7496558d0d4a3f5e2d31b4cbbc9ce20e1d06fc Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Wed, 19 Jan 2011 04:12:08 +0100 Subject: [PATCH 1456/1463] Make GtkCssProvider deal with widget types not being in plain CamelCase MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes bug #Bug 639754, reported by Kjell Ahlstedt. gtkmm doesn't use plain CamelCase for its widget type names, so in order to distinguish widget type names from regions in the CSS parser, the following checks are now done: * if it contains an uppercase letter -> widget class (that should also work for gtkmm) * if it's a string compound by lowercase letters and '-' -> it's a region, checks have been added in gtk_style_context_add_region() and gtk_widget_path_iter_add_region() to ensure this. --- gtk/gtkcssprovider.c | 26 ++++++++++++++++++++++---- gtk/gtkstylecontext.c | 24 ++++++++++++++++++++++++ gtk/gtkstylecontext.h | 2 ++ gtk/gtkwidgetpath.c | 4 ++++ 4 files changed, 52 insertions(+), 4 deletions(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index 89d549226b..ea4530e9b4 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -1711,6 +1711,25 @@ parse_classes (SelectorPath *path, selector_path_prepend_class (path, str); } +static gboolean +is_widget_class_name (const gchar *str) +{ + /* Do a pretty lax check here, not all + * widget class names contain only CamelCase + * (gtkmm widgets don't), but at least part of + * the name will be CamelCase, so check for + * the first uppercase char */ + while (*str) + { + if (g_ascii_isupper (*str)) + return TRUE; + + str++; + } + + return FALSE; +} + static GTokenType parse_selector (GtkCssProvider *css_provider, GScanner *scanner, @@ -1761,7 +1780,7 @@ parse_selector (GtkCssProvider *css_provider, parse_classes (path, pos + 1); } } - else if (g_ascii_isupper (scanner->value.v_identifier[0])) + else if (is_widget_class_name (scanner->value.v_identifier)) { gchar *pos; @@ -1802,7 +1821,7 @@ parse_selector (GtkCssProvider *css_provider, else selector_path_prepend_type (path, scanner->value.v_identifier); } - else if (g_ascii_islower (scanner->value.v_identifier[0])) + else if (_gtk_style_context_check_region_name (scanner->value.v_identifier)) { GtkRegionFlags flags = 0; gchar *region_name; @@ -3313,8 +3332,7 @@ parse_rule (GtkCssProvider *css_provider, return G_TOKEN_IDENTIFIER; } } - else if (prop[0] == '-' && - g_ascii_isupper (prop[1])) + else if (prop[0] == '-') { GValue *val; diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c index e36bef4eb7..0f30fcd3a1 100644 --- a/gtk/gtkstylecontext.c +++ b/gtk/gtkstylecontext.c @@ -2069,6 +2069,26 @@ gtk_style_context_list_regions (GtkStyleContext *context) return classes; } +gboolean +_gtk_style_context_check_region_name (const gchar *str) +{ + g_return_val_if_fail (str != NULL, FALSE); + + if (!g_ascii_islower (str[0])) + return FALSE; + + while (*str) + { + if (*str != '-' && + !g_ascii_islower (*str)) + return FALSE; + + str++; + } + + return TRUE; +} + /** * gtk_style_context_add_region: * @context: a #GtkStyleContext @@ -2095,6 +2115,9 @@ gtk_style_context_list_regions (GtkStyleContext *context) * * would apply to even and odd rows, respectively. * + * Region names must only contain lowercase letters + * and '-', starting always with a lowercase letter. + * * Since: 3.0 **/ void @@ -2109,6 +2132,7 @@ gtk_style_context_add_region (GtkStyleContext *context, g_return_if_fail (GTK_IS_STYLE_CONTEXT (context)); g_return_if_fail (region_name != NULL); + g_return_if_fail (_gtk_style_context_check_region_name (region_name)); priv = context->priv; region_quark = g_quark_from_string (region_name); diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index a2ab473546..42eed4beee 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -595,6 +595,8 @@ const GValue * _gtk_style_context_peek_style_property (GtkStyleContext *context, void _gtk_style_context_invalidate_animation_areas (GtkStyleContext *context); void _gtk_style_context_coalesce_animation_areas (GtkStyleContext *context, GtkWidget *widget); +gboolean _gtk_style_context_check_region_name (const gchar *str); + void gtk_style_context_invalidate (GtkStyleContext *context); void gtk_style_context_reset_widgets (GdkScreen *screen); diff --git a/gtk/gtkwidgetpath.c b/gtk/gtkwidgetpath.c index 6636abdd14..f0ae30ea14 100644 --- a/gtk/gtkwidgetpath.c +++ b/gtk/gtkwidgetpath.c @@ -730,6 +730,9 @@ gtk_widget_path_iter_has_class (const GtkWidgetPath *path, * the hierarchy defined in @path. See * gtk_style_context_add_region(). * + * Region names must only contain lowercase letters + * and '-', starting always with a lowercase letter. + * * Since: 3.0 **/ void @@ -744,6 +747,7 @@ gtk_widget_path_iter_add_region (GtkWidgetPath *path, g_return_if_fail (path != NULL); g_return_if_fail (path->elems->len != 0); g_return_if_fail (name != NULL); + g_return_if_fail (_gtk_style_context_check_region_name (name)); if (pos < 0 || pos > path->elems->len) pos = path->elems->len - 1; From ce1244fdd74d736e81cb12653fdc956146d03ffc Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 18 Jan 2011 21:42:29 -0500 Subject: [PATCH 1457/1463] Add a paragraph explaining events and signals --- docs/reference/gtk/getting_started.xml | 185 +++++++++++++------------ 1 file changed, 98 insertions(+), 87 deletions(-) diff --git a/docs/reference/gtk/getting_started.xml b/docs/reference/gtk/getting_started.xml index 6a021fa870..3698aa5e90 100644 --- a/docs/reference/gtk/getting_started.xml +++ b/docs/reference/gtk/getting_started.xml @@ -12,97 +12,108 @@ Compiling the GTK+ libraries section in this reference. - To begin our introduction to GTK, we'll start with the simplest - program possible. This program will create an empty 200x200 pixel - window: +
+ Basics - - - + To begin our introduction to GTK, we'll start with the simplest + program possible. This program will create an empty 200x200 pixel + window: - - - FIXME: MISSING XINCLUDE CONTENT - - + + + - You can compile the program above with GCC using: - - - gcc `pkg-config --cflags gtk+-3.0` -o window-default window-default.c `pkg-config --libs gtk+-3.0` - - - For more information on how to compile a GTK+ application, please - refer to the Compiling GTK+ Applications - section in this reference. - - All GTK+ applications will, of course, include - gtk/gtk.h, which declares functions, types and - macros required by GTK+ applications. - - Even if GTK+ installs multiple header files, only the - top-level gtk/gtk.h header can be directly included - by third party code. The compiler will abort with an error if any other - header is directly included. - - We then proceed into the main() function of the - application, and we declare a window variable as a pointer - of type #GtkWidget. - - The following line will call gtk_init(), which - is the initialization function for GTK+; this function will set up GTK+, - the type system, the connection to the windowing environment, etc. The - gtk_init() takes as arguments the pointers to the command line arguments - counter and string array; this allows GTK+ to parse specific command line - arguments that control the behavior of GTK+ itself. The parsed arguments - will be removed from the array, leaving the unrecognized ones for your - application to parse. - - For more information on which command line arguments GTK+ - recognizes, please refer to the Running GTK+ - Applications section in this reference. - - The call to gtk_window_new() will create a new #GtkWindow and store - it inside the window variable. The type of the window - is %GTK_WINDOW_TOPLEVEL, which means that the #GtkWindow will be managed - by the windowing system: it will have a frame, a title bar and window - controls, depending on the platform. - - In order to terminate the application when the #GtkWindow is - destroyed, we connect the #GtkWidget::destroy signal to the gtk_main_quit() - function. This function will terminate the GTK+ main loop started by calling - gtk_main() later. The #GtkWidget::destroy signal is emitted when a widget is - destroyed, either by explicitly calling gtk_widget_destroy() or when the - widget is unparented. Top-level #GtkWindows are also destroyed when - the Close window control button is clicked. - - #GtkWidgets are hidden by default. By calling gtk_widget_show() - on a #GtkWidget we are asking GTK+ to set the visibility attribute so that it - can be displayed. All this work is done after the main loop has been - started. - - The last line of interest is the call to gtk_main(). This function will - start the GTK+ main loop and will block the control flow of the - main() until the gtk_main_quit() function is - called. - - The following example is slightly more complex, and tries to - showcase some of the capabilities of GTK+. - - In the long tradition of programming languages and libraries, - it is called Hello, World. - - - - - - - Hello World in GTK+ - - + + FIXME: MISSING XINCLUDE CONTENT - - + + + You can compile the program above with GCC using: + + + gcc `pkg-config --cflags gtk+-3.0` -o window-default window-default.c `pkg-config --libs gtk+-3.0` + + + For more information on how to compile a GTK+ application, please + refer to the Compiling GTK+ Applications + section in this reference. + + All GTK+ applications will, of course, include + gtk/gtk.h, which declares functions, types and + macros required by GTK+ applications. + + Even if GTK+ installs multiple header files, only the + top-level gtk/gtk.h header can be directly included + by third party code. The compiler will abort with an error if any other + header is directly included. + + We then proceed into the main() function of the + application, and we declare a window variable as a pointer + of type #GtkWidget. + + The following line will call gtk_init(), which + is the initialization function for GTK+; this function will set up GTK+, + the type system, the connection to the windowing environment, etc. The + gtk_init() takes as arguments the pointers to the command line arguments + counter and string array; this allows GTK+ to parse specific command line + arguments that control the behavior of GTK+ itself. The parsed arguments + will be removed from the array, leaving the unrecognized ones for your + application to parse. + + For more information on which command line arguments GTK+ + recognizes, please refer to the Running GTK+ + Applications section in this reference. + + The call to gtk_window_new() will create a new #GtkWindow and store + it inside the window variable. The type of the window + is %GTK_WINDOW_TOPLEVEL, which means that the #GtkWindow will be managed + by the windowing system: it will have a frame, a title bar and window + controls, depending on the platform. + + In order to terminate the application when the #GtkWindow is + destroyed, we connect the #GtkWidget::destroy signal to the gtk_main_quit() + function. This function will terminate the GTK+ main loop started by calling + gtk_main() later. The #GtkWidget::destroy signal is emitted when a widget is + destroyed, either by explicitly calling gtk_widget_destroy() or when the + widget is unparented. Top-level #GtkWindows are also destroyed when + the Close window control button is clicked. + + #GtkWidgets are hidden by default. By calling gtk_widget_show() + on a #GtkWidget we are asking GTK+ to set the visibility attribute so that it + can be displayed. All this work is done after the main loop has been + started. + + The last line of interest is the call to gtk_main(). This function will + start the GTK+ main loop and will block the control flow of the + main() until the gtk_main_quit() function is called. + + While the program is running, GTK+ is receiving + events. These are typically input events caused by + the user interacting with your program, but also things like messages from + the window manager or other applications. GTK+ processes these and as a + result, signals may be emitted on your widgets. + Connecting handlers for these signals is how you normally make your + program do something in response to user input. + + The following example is slightly more complex, and tries to + showcase some of the capabilities of GTK+. + + In the long tradition of programming languages and libraries, + it is called Hello, World. + + + + + + + Hello World in GTK+ + + + FIXME: MISSING XINCLUDE CONTENT + + + +
From ceeaf183a11f2abfc487d6381718a2707e65f41d Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 18 Jan 2011 23:01:16 -0500 Subject: [PATCH 1458/1463] Add a packing example to the tutorial --- docs/reference/gtk/getting_started.xml | 31 +++++++++ docs/reference/gtk/images/grid-packing.png | Bin 0 -> 4612 bytes examples/Makefile.am | 2 +- examples/grid-packing.c | 73 +++++++++++++++++++++ 4 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 docs/reference/gtk/images/grid-packing.png create mode 100644 examples/grid-packing.c diff --git a/docs/reference/gtk/getting_started.xml b/docs/reference/gtk/getting_started.xml index 3698aa5e90..aebc5ee42f 100644 --- a/docs/reference/gtk/getting_started.xml +++ b/docs/reference/gtk/getting_started.xml @@ -116,4 +116,35 @@ +
+ Packing + + When creating an application, you'll want to put more than one widget + inside a window. Our first helloworld example only used one widget so we + could simply use a gtk_container_add() call to "pack" the widget into the + window. But when you want to put more than one widget into a window, it + it becomes important to control how each widget is positioned and sized. + This is where packing comes in. + + GTK+ comes with a large variety of layout containers + whose purpose it is to control the layout of the child widgets that are + added to them. See for an overview. + + The following example shows how the GtkGrid container lets you + arrange several buttons: + + + + + + + Packing buttons + + + FIXME: MISSING XINCLUDE CONTENT + + + +
+ diff --git a/docs/reference/gtk/images/grid-packing.png b/docs/reference/gtk/images/grid-packing.png new file mode 100644 index 0000000000000000000000000000000000000000..3dec7d5fcd4d30eb2f6c7021c0d8ed8bf976d4da GIT binary patch literal 4612 zcmZvAcTf{f&~~H<1W`bwO9WJkKj}rJ7lF`ALPtcZfl!1lhGbq?Pr7QUvQ&c1&3FP#7`9-eTghdvH3ot!*;Ts?hv zD7%yZ0H!RkhAPBAZ#zH0-xNCEr`&wrSzcCF#v%xxaeN5Wp>|^e3i1K3EskvLc8-W$ z+b!g^u-*pQXRV^E@(mPpJgE8(BDypxntXtVyRdbz5+UfVyz`Likt@-JiOite|Hs+ zhcZ>Z(e6}GIq5HPkQzy&oZYa5$FMcv>W`dJK#I8u9yoJTs=TE=&gx12leyMM@=RMh zt0}D$eGJr56oPnXMEKS8HCCuq!_Dv`ArV~hO5i>8_3cL2^8z~XBwh%WJ;>xsKZw1; z9=PzRLbj4VOiP;^pi}0WJAXaH23KBD6|vR5kS-NS;hj%0JWKkDH#vTNF1JUyLwTov zbb=T0?i0#n|Bx-iv>;C%um8dFCp?y*%uRJiq+Bweznh`FEib(<#|L?ZUG72zwYqKv zrj9<|;S)dQ{Tvbe-}s+Z8=jfyE&*Qgx7Uw2lgjB+%zfV!jyFj+7&A~$WL7FSx%M3t zqMnbv$}%#s8p-?-EL@4jdPKz`K0K;JNZG<05@7x` zH+gP5O&KUJkVM<0`IGV$bTx{&>U)pw^L=5n3}d?mZSH?iv*`7Tr%!a9`PPgv&T?~O zWB24}X)E(NKo|z|_VK}^{6fm=pd5_{RxV57(^DqvriH&{gCzCGInsTbEn8u5b2gX2 zzP@jDZ?1(c)ZE%D-15dF%U zBdc(Ui;cPdeCUwq;!6W1;9CmO8#jJ-BlxSU2L)e%{;>X5PrI8K#Y=#O27asPZI|tG zPfK3&?fOds(3juno9lj?iQ(Wp$nWycxo4R8aiQ;xwET7E3B{?R8kymOGnX4Uho$tt z{hfWcFi*8H5Uhj%SX&!w2l=~RGe)3$_`}I))QW|Lb)wQIthY4ix~-%66wc;h)t3RV zn#ok^w-SEie7^oi{u(}km%rL>YV`B5PnPhvy&tJVobcwGUSfU(KSo?zz9_3ajM@Ep z8lArD<+JoLwvr`_cztdLn=qAJ@o*ZR*C}V~XU^8HXhVB^@|-kjU!^w;$oN{At6kg0 z*0Tz=84xXTlkIMu&E_`FzblZUqDBFZjf}i2oefFv)#%7dL)rDOfGGhL*wlmhk?z9{ zCS4;q)9Ezu%J2pQ2cGBB$1pt@&PeA|+4{SY8hBirooocYCYH zJ@s}a@?452^BR#sk8EhF?CeQ9IW`VfH}H>srZ}h*7pJTJ8$_pK@Cm_MO^Ck>ZdVeB zjbU7f%77OoV)e&s7PJBuM{+n=ou|X`emk*+(wkodPJT5kI z+(qrtt7A@Rqru_k1Z7w}(g!g$ExaKpEac!d8V=x=LnR}VL4r&DISRK+X0Zvg@Xo

xbl2sh6{LIES^5unf!|1xMIU}BCTT+q4pTxV6u zz^Ts@6K@`zt{xIu2UF%#s}=$xTUyv943V|)QLuhny*S&!;O^0$c(!s#Jai~SKakWU zTvF+yepAO7-Fi3R*RFSZlRo=*Hh_yjW>k85WIO47xsomX@S$7#2!xO}E&<#>IGvc( zpa@YE>M&-|p*=j9Y_QzS(21a+ytV;z=*28x<}-@KmH;znlcMR=_2=jVGL|?TlFKl8 zd#I+$hb0T2og!M6dLcx&d$No+?GjfKPr6cP?>-mAOvld1RjxI3rhV05?EcZn=0s%& z|BHMb1|nAc*g?!(b{!@XU&viUeAJQC3Zer~IOi)P*l{6$D6f!6R}qckGZnLszy{h! zOb`>l_jd&dw4M$nSE_IpY1x%hj--PgKo+>4ZrfZ-5L_2vAi zz_r<5Ts!V95su1)PQSyo>PcT4+dSg;I(`!Ab=Y7e&V5$P*Z+>+QSv%c*Xf@tgo;H% zm+{W@fW!ZfvGhDjfLmHmpbSrWJnkkIe4O`G7U-i$ zEFHVq5>S~XTwSN5HG$XEn4HTP+(1#C21&kZC+#h+wFu$L-k+6sZ(?z*v?cSsEJ$cW zkS*eT`rdqVjA-Xj?b&rI3OA-5>(aOid8A=+X$x)Gcv^(naE1zik(~vo;xPi1sk*#^ zb{?mvYNq~NK@qLO4qarVEdg><*h9kA?<5F&(MB3mUk?|N3{ES8SDjy%LcFeH_9!$Qp1L-iUmfgsWL3XYVA5KyvWR?1Gf zQV#*Tc2=4ONdcqxu?UZO_p^`4I>eOo0KIO2?>OY_8079%SgtwQWG3rb6C5q>04g_J zP}R#hqXLl}=%LW20Ii&1zKza~h1ATPk^Skcy-nQupYt}is=5blB}RhU97llB%h4T% za&g(>rp#8kz%BOC;ryNv(I&}|4Hg+s@IAz)fXobXc(&rxC)LQves+aN;Q~B`nzIE_ zY)+WaquH*`-qdG59kBEEI3-FcChf#J1RgJav5;1Ft<#M?wtHv&(i}ITU|%`kN4{2$ zg41I^27SjKE>B~KV~Zc@%x%bj1Jg%b=)zg9%4%9;P?HZqX=xI1HMXrOWFc4Y@_x0X z+8O^A)8PLRl%SOn@mZ~tQq9;~ z+_S4b?l-}~|JlmlTq)7ZZD_gv`R%18`}Y08O+gkQtEkm8Gg3ocL*gv!X1Uo@H#1AU z9$`(qY*OHQiUt5%SxIERJ=|w4iz>qu$eP}#?*8xSbW&1~+?mQVUYwp?5sfp?o<-s?l>Kv_-eEHwxuqM3rC zLPZT`X?HX_;B3b7V(By>f&Dd3`V|J5md0#QpwLqkPAN6Se3fAZKW+Z2luM>+DIcsD z_{C>!3x~A?*xEjv#eHCEti~tWh`7vOl2R)SQos5i3vIgaaA{7G75@Ot(=ARAn{Kt* zr`*O(4)Kepd3n&A+fy&}jV)f3%oi&Kw|7Vv=I7^;3HNb;IGYbY%o@w}R_zmr)Drf7 zTtaE~J)Mioa=M^(9HH0PHZNaD*u=Jco9E^m6p9ON=;AhoMsJQx{oJe!#Hb_mCom%n z)$~AMu{o~bBKS{?^US-#8|jbSvt#eoC1fR)Jcbb_@%X*$!0qRMMZY8B9Plu^?HD;Y!bIz@BGdQ(S4!X+Whn9 z$F&Z9>j_+_2r`oJ@bKZ9Hd$}>%IT`^(P`w*H0I9lr?+rjO<#Y$$1wO1(>9zsW?V*o zu5IWf^XzF3c_uWO$cmCy?_KBaf4&@r=wEGQVa2|7=jD}%mu9f9m)VFZr2#;DZWtIb zbSoVH(ilD~6BV)VJ_qf7O^`d>45HCx6?I(OTKAPAN6^RP+l2=we&(jOw$=3@^-br| zTvdB}rqGbnTR#W{|23ijM^2uj_e`(iVa&*h)_nsH6X$=P#-QMZzX6M%_HH7w3KhId z!CEzCF>UCou$CZfz!!pP^Ofz6i({1^icbH(D#TQn75(or!3T3wuAj`ke4^2)XhuAu zhr~SXvbUPu^c;JH^-m&*6?;_0_n=>U-?_%W(R*gWZQRo!P2uxm;D&`Bk-wJyxeiFR zO-1AXD3FbmX9ak+>}WBVWCqf1T~yc388Z0h$Czk1O`qWk0qRy!E&ccOh)hA`qLPG0 z3p`tR;WrC33t%a$HZd~#_=hh27tcf@o1KN8qXyObNdEe8^E~fzpPtf8>r5$H#MZ{f zeV^MnNKFI6|DRnQvmMA&CZx8YE&BR9pLM~sG|k!&YhkoOzVpEvr0Dd8KPOIBW;;nm z`E$ipBSDs}vtxP9B)#4NaC2^OaB$1{Z{Dqo4Y&A)g@szyu)~lSj!xz2nK|=6FPadM z#tbRx>G9+YDV_3_olVf|ER1IpwJfbx+&0jT(UYRrQ(Qd-({2EXkHI@$Za^5RFKFKD7%|B5eqN$&Lpn+$yR zha>r51Df#R)ix*jS$`~?*3Fjyi%enUXzQE@`yyRQO#j|nZpSHVRQFi88B&9lNw;b?rA;0V~QIdui*Vl)1b?v?d z+nvmxx3|Hhb7kYbct+m5>6JYo2 zT@-aSG_(u~N7icOX_kNTVZZUjST%)tJD6I@({EoN`^Tf7DwR7VOb1q}I;2NMYyDi_Tv(w4 z#wWrys@y5Uc@J|Sv0spv7ugx!$s47&@`Y3@pY@j(OWtdNyN;BeJvJq?d)xCkaP@2s zGws(NmUPYyz1SGxTKe)_2q6cS5K}>ca!3L{anboEZ1LP=EQk5~EnR(1M#k?Ny6n(r zHywGGw&o5PiX`l`wFT#uUJr{*xR`vK(1dm^Xx(w81HLUDz~3`P64n2uMNw?U2RU + +static void +print_hello (GtkWidget *widget, + gpointer data) +{ + g_print ("Hello World\n"); +} + +int +main (int argc, + char *argv[]) +{ + GtkWidget *window; + GtkWidget *grid; + GtkWidget *button; + + /* This is called in all GTK applications. Arguments are parsed + * from the command line and are returned to the application. + */ + gtk_init (&argc, &argv); + + /* create a new window, and set its title */ + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Grid"); + g_signal_connect (window, "destroy", G_CALLBACK (gtk_main_quit), NULL); + gtk_container_set_border_width (GTK_CONTAINER (window), 10); + + /* Here we construct the container that is going pack our buttons */ + grid = gtk_grid_new (); + + /* Pack the container in the window */ + gtk_container_add (GTK_CONTAINER (window), grid); + + button = gtk_button_new_with_label ("Button 1"); + g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); + + /* Place the first button in the grid cell (0, 0), and make it fill + * just 1 cell horizontally and vertically (ie no spanning) + */ + gtk_grid_attach (GTK_GRID (grid), button, 0, 0, 1, 1); + + button = gtk_button_new_with_label ("Button 2"); + g_signal_connect (button, "clicked", G_CALLBACK (print_hello), NULL); + + /* Place the second button in the grid cell (1, 0), and make it fill + * just 1 cell horizontally and vertically (ie no spanning) + */ + gtk_grid_attach (GTK_GRID (grid), button, 1, 0, 1, 1); + + button = gtk_button_new_with_label ("Quit"); + g_signal_connect (button, "clicked", G_CALLBACK (gtk_main_quit), NULL); + + /* Place the Quit button in the grid cell (0, 1), and make it + * span 2 columns. + */ + gtk_grid_attach (GTK_GRID (grid), button, 0, 1, 2, 1); + + /* Now that we are done packing our widgets, we show them all + * in one go, by calling gtk_widget_show_all() on the window. + * This call recursively calls gtk_widget_show() on all widgets + * that are contained in the window, directly or indirectly. + */ + gtk_widget_show_all (window); + + /* All GTK applications must have a gtk_main(). Control ends here + * and waits for an event to occur (like a key press or a mouse event), + * until gtk_main_quit() is called. + */ + gtk_main (); + + return 0; +} From 80e1340e51855f9fee469bc8dac95abdb7c56da4 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 18 Jan 2011 23:57:17 -0500 Subject: [PATCH 1459/1463] Add a drawing example to the tutorial --- docs/reference/gtk/Makefile.am | 2 + docs/reference/gtk/getting_started.xml | 37 +++++ docs/reference/gtk/images/drawing.png | Bin 0 -> 3686 bytes examples/Makefile.am | 7 +- examples/drawing.c | 200 +++++++++++++++++++++++++ 5 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 docs/reference/gtk/images/drawing.png create mode 100644 examples/drawing.c diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index 74520fc2bf..091f06d7b7 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -328,6 +328,8 @@ HTML_IMAGES = \ $(srcdir)/images/layout-tbrl.png \ $(srcdir)/images/window-default.png \ $(srcdir)/images/hello-world.png \ + $(srcdir)/images/grid-packing.png \ + $(srcdir)/images/drawing.png \ $(srcdir)/images/switch.png \ $(srcdir)/images/linear.png \ $(srcdir)/images/ease.png \ diff --git a/docs/reference/gtk/getting_started.xml b/docs/reference/gtk/getting_started.xml index aebc5ee42f..d47a09f1fd 100644 --- a/docs/reference/gtk/getting_started.xml +++ b/docs/reference/gtk/getting_started.xml @@ -147,4 +147,41 @@ +

+ Drawing + + Many widgets, like buttons, do all their drawing themselves. You + just tell them the label you want to see, and they figure out what font + to use, draw the button outline and focus rectangle, etc. Sometimes, it + is necessary to do some custom drawing. In that case, a #GtkDrawingArea + might be the right widget to use. It offers a canvas on which you can + draw by connecting to the #GtkWidget::draw signal. + + + The contents of a widget often need to be partially or fully redrawn, + e.g. when another window is moved and uncovers part of the widget, or + when tie window containing it is resized. It is also possible to explicitly + cause part or all of the widget to be redrawn, by calling + gtk_widget_queue_draw() or its variants. GTK+ takes care of most of the + details by providing a ready-to-use cairo context to the ::draw signal + handler. + + The following example shows a ::draw signal handler. It is a bit + more complicated than the previous examples, since it also demonstrates + input event handling by means of ::button-press and ::motion-notify + handlers. + + + + + + + Drawing in response to input + + + FIXME: MISSING XINCLUDE CONTENT + + + +
diff --git a/docs/reference/gtk/images/drawing.png b/docs/reference/gtk/images/drawing.png new file mode 100644 index 0000000000000000000000000000000000000000..a5105002ef29cec87fb501edfb68e19c36a7425c GIT binary patch literal 3686 zcmb7HXHb(}uzo{m(gY!tPz<39NRcKrbm{pN0V$DAKtW3A0-+bF(iNmgN1D=m2oR7e zAXPfZhoDpmNb&Ohx_|DUduGnrv$H$T?(FO{vm1*v)TX6^QUL%!tMfqP;kCqG-!w|{ z>(|1cTkBeoda3CcQ(m8!l=d;#IvYmQ4D;xPBgWUp(*baDd*SLJ>SgEY;Na$keu3Eo zcPU?ko$6?)8vEt^%=LF?ddx-WQc8`;9@c-I{f&U&<>r8I!Na=4gy=O)Le-d)?=Uxs zm{L8f9B*hmPP)V|idxp42ok&J-@C+SY{tpza#Pwv(lwbv;Rqxzf>Ot^heM}CVDg+W ze2n4u!VoR@ikC}ubsSM4%R9vLlfBE<(n&lwxt^?waBo1asw~CTB?rr;`McxH%_L

Yi&fe2mfzUiwvmC@T3Si# zy7E>0(I;oQ6IAisk%nx_p^fS-*_N95>izcyrg6Q%fr8m5x0XUfV&|2OT1Qf1aAK2h zHA~3tjp!B5{Z&t=+e`BEQH)QY;y*a2GM+F{lIBltGbQK|G)Kco?g$uHK$Zw*t$VjG zG%`j%e{X|qM>QNB9cRgxGf1a90N7`;tsZ~AX-=71cihCtJu&@EJoqmXkal1;6V)2dLPp{R#MW=08`_;53jtX5s;2%A7ZfRA{a4M$syi_10 z4QY2yy%*1_ExCA;E-0>4Ml5PDIoe9J$`-lM)e-L${E@WJ5qx!#H#RO;AXHtQR;1T$ z_X_M6FhrAMk$m$mFE6E z=GwiMz3%?;r@Z`&?d*Xtavha ze+rK}e5lg75l_Bse!taOL2!*MJN15>Gzqo`M};rFhte(8v0IY!T! zVI92KYmd^`@$*VkiezU2O7g94s`RA$!76bEcH%9a9J0Aw&FB78Y1tA^p0rSxD!(=2 zIRmSyfSXwMn3O&6AaUxnb>XR>!1t5YU2#b;@3gB+J8he}d7a&)S{gIUT6r`Jh{L*p z^~>Z|-*vK5(n}dg)3^^%0Kl}aFwnUJq!Hf$clm#t-CN`0&E|xPfz)z(nMw$ubGv&& zfq+N-L;B+HzW4Ct9{yg)IjhoLuCM9E=(48wUCRlgV;!`aGZd=y(s|I5D z+gxYmK0X0Ia7M}b&hAlIs3a{YXS-=WanJKjkdgk2QKePAcp6bNx{RHv z!N)6vk-_(f>n={RjY}%vN$4Ge5Y67^YR-tIsBxNZ2*15a!#yMK6K9d+T2$ElfJHS&{e4t4J8&mc(LM%ILeu zr9a1M)nqLW?QZ*K+xDVH!A9b(=Fgp6D>E4->SVqEUz4*d$x z`aouuogjUCeZWQU%*TE?rxOf-dt?I3VmKS$oHJ{EXxqVj`Ob0?70qaso9pK}3BM+p zoaH4JFnbkmYd}v=I{Sgo!@F3}j096)4OW*7tF*t->{G>P*}|q`CC$ihrwpugvt%Ms zF5!B%*!&Whi?1)ycJPCBz~%mt&&BT%#;iHx$frt&_^kDnwIY`%Ujxd5O zQwQvIy%nl0`^1_=n5jEi%oD@F0@I}bb@YqB-mH9meb=D}WUx$}rC=8MwH9}ef$btu28;DKk9Zz$@O1+ z&?w+mspzODk7<7w&_Fk6&e>%p=_T})bK|mka}z{L-TCqG4nR+hho^$zFcqVuH*cU!EG!^Oa^lS2 z3)bIXO}oM)EgNdcTIPrcU(8|F0Tp}fyml2A3RBD(De-=_W zbKv(ipv3!q1HQ&0P9)2W=>og8QM|-(S=M>$->M+k8LAhqLzN{F_i55g0#YxMZ;!v2faWtxqJX~3&{k50t zJf;|Z2Ml0KL+BfA8GnVi2OaiHux?!LAK!df!`>NJbRP^Lk|uN8zX;CI&an8WiY)p) z3wbuLV4Xb1tLG~YZtw6?3J7ck0f|f1IdpL;Pd+qK0o`8{h5h`AHiB)%Q4&9_$;ah} z0cbQEVqF}J=5PcO@HF`zhp%PXM%in+UdMWfPxQ`vvqKt8p99jl;vdyx8<-5WlL}pp z*#H2_KhU-sn!-6Rmh-rQvl1jlcMscd^M4{{{r`<$n<6LUk3sQu;}h$iQZ`t7Q079g z6x42t4dGlnSzz!pR7RCcnaWn|L zMt}J6FrpnK3AwNj9Wd@H`byo)4&yA#-uGK5!n5*bW6|KU>|K4M=O6Zt{s9Z|!=?dU zemNFKw#8DYdPLJ;F+ph;C>KHrSluv0o|dewK8`NH17#W`_AKgInst>D0nL3=e- zRn^abq}1X;6Pv-(@}i=mv&|9;Mk)}s<#t1=URD@GeXjWzQV2OqGdT4-{OdrXCVyA!-5(69sUS(z?g-nT8kF&xd9_fG;|DrXpdEZ~2ByZ?o z>*WpLq0x3r*vSewf)$&Rqc1AaD*}>ICg=a!lNJ$35i<-(F&pcS-tGChnY`Ts;|FV~ z+i6jzR#GEfV3OC$A6|YnXUF8%377mbU=7A+k`pOxl4m2Zan@f0hJIXkBa^OBpC z7U_z8{(9sM?^`{tdsr$-=cwm13dT&Kyy}OG%AVG2FoSXPd$lyl+~`4?VSp_P!&A!# z(@SpEsJ&*Q8TkN1kqEWO|8n!1Nntp2f1Occyk9OP6xwYqwLTt7wCyBFb_;4lFN7YI zCi&&DSu-(mUVQu*$KX19OI$aWF4)_fb2!8H^zzE)r!jl}WzXD{*1!O3U6>daukfNX z?%bq`ecB`)r2C<`Jn6Lr&30Z(@!@^d_7#FK354DHXKRAHe1P%IWCr%GVAxn3BJAMoWtPfcH@TdXS>(}^ zw56Yn8gFcncD1(BnOK~~xMqVW?amH2vjS%nE%(}EJ3B3O3}CXSt8j6sBhb_AzDiK|Yv)%o)6BGw2{Z`S;I7+>WB9G3)giI2 z-bUAj+Fu2~Pk-!8x(6x>idOazZg<>-u}&QxQe_Qm>O6e~c?qmEs$6C56Ed&Dmfro^ z-Q^CatoE_Q4Ym1xqRIE}6%I93sNV48i08n$hFnNUx*0iaMEnJdKd0o;o-spTFN%PU MrlCf)nswO!0N{+Y8~^|S literal 0 HcmV?d00001 diff --git a/examples/Makefile.am b/examples/Makefile.am index f4d06bfd41..948d58a213 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -48,4 +48,9 @@ LDADD = \ $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) -noinst_PROGRAMS = hello-world window-default bloatpad grid-packing +noinst_PROGRAMS = \ + hello-world \ + window-default \ + bloatpad \ + grid-packing \ + drawing diff --git a/examples/drawing.c b/examples/drawing.c new file mode 100644 index 0000000000..28f291b8b8 --- /dev/null +++ b/examples/drawing.c @@ -0,0 +1,200 @@ +#include + +/* Surface to store current scribbles */ +static cairo_surface_t *surface = NULL; + +static void +clear_surface (void) +{ + cairo_t *cr; + + cr = cairo_create (surface); + + cairo_set_source_rgb (cr, 1, 1, 1); + cairo_paint (cr); + + cairo_destroy (cr); +} + +/* Create a new surface of the appropriate size to store our scribbles */ +static gboolean +configure_event_cb (GtkWidget *widget, + GdkEventConfigure *event, + gpointer data) +{ + if (surface) + cairo_surface_destroy (surface); + + surface = gdk_window_create_similar_surface (gtk_widget_get_window (widget), + CAIRO_CONTENT_COLOR, + gtk_widget_get_allocated_width (widget), + gtk_widget_get_allocated_height (widget)); + + /* Initialize the surface to white */ + clear_surface (); + + /* We've handled the configure event, no need for further processing. */ + return TRUE; +} + +/* Redraw the screen from the surface. Note that the ::draw + * signal receives a ready-to-be-used cairo_t that is already + * clipped to only draw the exposed areas of the widget + */ +static gboolean +draw_cb (GtkWidget *widget, + cairo_t *cr, + gpointer data) +{ + cairo_set_source_surface (cr, surface, 0, 0); + cairo_paint (cr); + + return FALSE; +} + +/* Draw a rectangle on the surface at the given position */ +static void +draw_brush (GtkWidget *widget, + gdouble x, + gdouble y) +{ + cairo_t *cr; + + /* Paint to the surface, where we store our state */ + cr = cairo_create (surface); + + cairo_rectangle (cr, x - 3, y - 3, 6, 6); + cairo_fill (cr); + + cairo_destroy (cr); + + /* Now invalidate the affected region of the drawing area. */ + gtk_widget_queue_draw_area (widget, x - 3, y - 3, 6, 6); +} + +/* Handle button press events by either drawing a rectangle + * or clearing the surface, depending on which button was pressed. + * The ::button-press signal handler receives a GdkEventButton + * struct which contains this information. + */ +static gboolean +button_press_event_cb (GtkWidget *widget, + GdkEventButton *event, + gpointer data) +{ + /* paranoia check, in case we haven't gotten a configure event */ + if (surface == NULL) + return FALSE; + + if (event->button == 1) + { + draw_brush (widget, event->x, event->y); + } + else if (event->button == 3) + { + clear_surface (); + gtk_widget_queue_draw (widget); + } + + /* We've handled the event, stop processing */ + return TRUE; +} + +/* Handle motion events by continuing to draw if button 1 is + * still held down. The ::motion-notify signal handler receives + * a GdkEventMotion struct which contains this information. + */ +static gboolean +motion_notify_event_cb (GtkWidget *widget, + GdkEventMotion *event, + gpointer data) +{ + int x, y; + GdkModifierType state; + + /* paranoia check, in case we haven't gotten a configure event */ + if (surface == NULL) + return FALSE; + + /* This call is very important; it requests the next motion event. + * If you don't call gdk_window_get_pointer() you'll only get + * a single motion event. The reason is that we specified + * GDK_POINTER_MOTION_HINT_MASK to gtk_widget_set_events(). + * If we hadn't specified that, we could just use event->x, event->y + * as the pointer location. But we'd also get deluged in events. + * By requesting the next event as we handle the current one, + * we avoid getting a huge number of events faster than we + * can cope. + */ + gdk_window_get_pointer (event->window, &x, &y, &state); + + if (state & GDK_BUTTON1_MASK) + draw_brush (widget, x, y); + + /* We've handled it, stop processing */ + return TRUE; +} + +static void +close_window (void) +{ + if (surface) + cairo_surface_destroy (surface); + + gtk_main_quit (); +} + +int +main (int argc, + char *argv[]) +{ + GtkWidget *window; + GtkWidget *frame; + GtkWidget *da; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Drawing Area"); + + g_signal_connect (window, "destroy", G_CALLBACK (close_window), NULL); + + gtk_container_set_border_width (GTK_CONTAINER (window), 8); + + frame = gtk_frame_new (NULL); + gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); + gtk_container_add (GTK_CONTAINER (window), frame); + + da = gtk_drawing_area_new (); + /* set a minimum size */ + gtk_widget_set_size_request (da, 100, 100); + + gtk_container_add (GTK_CONTAINER (frame), da); + + /* Signals used to handle the backing surface */ + g_signal_connect (da, "draw", + G_CALLBACK (draw_cb), NULL); + g_signal_connect (da,"configure-event", + G_CALLBACK (configure_event_cb), NULL); + + /* Event signals */ + g_signal_connect (da, "motion-notify-event", + G_CALLBACK (motion_notify_event_cb), NULL); + g_signal_connect (da, "button-press-event", + G_CALLBACK (button_press_event_cb), NULL); + + /* Ask to receive events the drawing area doesn't normally + * subscribe to. In particular, we need to ask for the + * button press and motion notify events that want to handle. + */ + gtk_widget_set_events (da, gtk_widget_get_events (da) + | GDK_BUTTON_PRESS_MASK + | GDK_POINTER_MOTION_MASK + | GDK_POINTER_MOTION_HINT_MASK); + + gtk_widget_show_all (window); + + gtk_main (); + + return 0; +} From f710cca49d342e43625373bcfae02902753fddb0 Mon Sep 17 00:00:00 2001 From: Trevor Saunders Date: Wed, 19 Jan 2011 15:39:04 +0800 Subject: [PATCH 1460/1463] gail now provides toolkit = gail as an AtkAttribute of all gtk objects. https://bugzilla.gnome.org/show_bug.cgi?id=598952 https://bugzilla.gnome.org/show_bug.cgi?id=638920 --- modules/other/gail/gailwidget.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/modules/other/gail/gailwidget.c b/modules/other/gail/gailwidget.c index c9ce43d9be..08ce42955f 100644 --- a/modules/other/gail/gailwidget.c +++ b/modules/other/gail/gailwidget.c @@ -102,6 +102,7 @@ static void gail_widget_focus_event (AtkObject *obj, static void gail_widget_real_initialize (AtkObject *obj, gpointer data); +static char *gail_widget_get_attributes(AtkObject *obj); static GtkWidget* gail_widget_find_viewport (GtkWidget *widget); static gboolean gail_widget_on_screen (GtkWidget *widget); static gboolean gail_widget_all_parents_visible(GtkWidget *widget); @@ -126,6 +127,7 @@ gail_widget_class_init (GailWidgetClass *klass) class->ref_state_set = gail_widget_ref_state_set; class->get_index_in_parent = gail_widget_get_index_in_parent; class->initialize = gail_widget_real_initialize; + class->get_attributes = gail_widget_get_attributes; } static void @@ -1117,3 +1119,16 @@ static gboolean gail_widget_all_parents_visible (GtkWidget *widget) return result; } + +static char *gail_widget_get_attributes(AtkObject *obj) +{ + AtkAttributeSet *attributes; + AtkAttribute *toolkit = g_malloc(sizeof(AtkAttribute)); + + toolkit->name = g_strdup("toolkit"); + toolkit->value = g_strdup("gail"); + +attributes = g_slist_append(NULL, toolkit); + +return attributes; +} From cbbfe48ee473e428e431f18f83b6a0f708f34618 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20P=C3=B6lsterl?= Date: Wed, 19 Jan 2011 15:09:05 +0100 Subject: [PATCH 1461/1463] [GI] Added missing (transfer none) annotation to gtk_tree_view_get_path_at_pos --- gtk/gtktreeview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 76b748fc1c..d0311b4aa1 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -13412,7 +13412,7 @@ gtk_tree_view_get_bin_window (GtkTreeView *tree_view) * @x: The x position to be identified (relative to bin_window). * @y: The y position to be identified (relative to bin_window). * @path: (out) (allow-none): A pointer to a #GtkTreePath pointer to be filled in, or %NULL - * @column: (out) (allow-none): A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL + * @column: (out) (transfer none) (allow-none): A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL * @cell_x: (out) (allow-none): A pointer where the X coordinate relative to the cell can be placed, or %NULL * @cell_y: (out) (allow-none): A pointer where the Y coordinate relative to the cell can be placed, or %NULL * From d45a0114a500342699b66d0c034d67ad8055f60e Mon Sep 17 00:00:00 2001 From: Martin Pitt Date: Wed, 19 Jan 2011 15:40:46 +0100 Subject: [PATCH 1462/1463] Fix linking of drawing example Commit 80e1340e introduced using a GDK method in examples/drawing.c, so actually link that to GDK. Fixes build failure with --as-needed linker option and gcc 4.5. --- examples/Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/Makefile.am b/examples/Makefile.am index 948d58a213..440197fd0e 100644 --- a/examples/Makefile.am +++ b/examples/Makefile.am @@ -48,6 +48,9 @@ LDADD = \ $(top_builddir)/gtk/libgtk-3.0.la \ $(GTK_DEP_LIBS) +drawing_LDADD = $(LDADD) \ + $(top_builddir)/gdk/libgdk-3.0.la + noinst_PROGRAMS = \ hello-world \ window-default \ From 0a5e8ce685ea2c41bf78bd059d2611f2355dceef Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 19 Jan 2011 12:55:48 -0500 Subject: [PATCH 1463/1463] Mention type vs region ambiguity in the docs --- gtk/gtkcssprovider.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gtk/gtkcssprovider.c b/gtk/gtkcssprovider.c index ea4530e9b4..32d637efd5 100644 --- a/gtk/gtkcssprovider.c +++ b/gtk/gtkcssprovider.c @@ -157,6 +157,12 @@ * style classes they define and see * for a list of all style classes used by GTK+ widgets. * + * + * Note that there is some ambiguity in the selector syntax when it comes + * to differentiation widget class names from regions. GTK+ currently treats + * a string as a widget class name if it contains any uppercase characters + * (which should work for more widgets with names like GtkLabel). + * * * Style classes in selectors * @@ -1718,7 +1724,8 @@ is_widget_class_name (const gchar *str) * widget class names contain only CamelCase * (gtkmm widgets don't), but at least part of * the name will be CamelCase, so check for - * the first uppercase char */ + * the first uppercase char + */ while (*str) { if (g_ascii_isupper (*str))